From 05054f73be73e369f54be0d919eb7201d45d906b Mon Sep 17 00:00:00 2001 From: Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> Date: Thu, 12 Dec 2024 23:08:15 +0100 Subject: [PATCH 01/15] chore(ci): add "publish" GHA --- .github/workflows/publish.yml | 59 +++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 .github/workflows/publish.yml diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..b1d2a7d --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,59 @@ +name: Publish to codemod registry + +on: + push: + branches: ["main"] + paths: ["recipes/**"] + pull_request: + types: [closed] + paths: ["recipes/**"] + branches: ["main"] + +jobs: + publish: + runs-on: ubuntu-latest + + steps: + - name: Checkout Code + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - uses: dorny/paths-filter@v3 + id: filter + name: Filter codemods + with: + list-files: shell + filters: | + codemods: + - '**/.codemodrc.json' + + - name: export files + run: | + echo "Modified files: ${{steps.filter.outputs.codemods_files}}" + echo "CODEMOD_FILES=${{steps.filter.outputs.codemods_files}}" >> $GITHUB_ENV + echo "Modified status: ${{steps.filter.outputs.codemods}}" + echo "CODEMOD_STATUS=${{steps.filter.outputs.codemods}}" >> $GITHUB_ENV + + - uses: actions/setup-node@v4 + with: + node-version: node + cache: 'npm' + - name: Install "codemod" binary + run: npm install codemod + + - name: Run publish codemod + run: | + if [ -n "$CODEMOD_STATUS" ]; then + echo "Modified files: $CODEMOD_FILES" + ROOT_DIR=$(pwd) + for FILE in $CODEMOD_FILES; do + DIR=$(dirname "$FILE") + echo "Checking codemod: $DIR" + cd "$ROOT_DIR/$DIR" + npx codemod publish + echo "Codemod published" + done + else + echo "No codemods found" + fi From 0b396844138db38aa8269b362f9473dcc67b4c05 Mon Sep 17 00:00:00 2001 From: Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> Date: Mon, 16 Dec 2024 22:59:17 +0100 Subject: [PATCH 02/15] fixup!: add bundle generation --- .github/workflows/publish.yml | 12 +++++++----- package.json | 4 ++++ 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index b1d2a7d..a971847 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -5,9 +5,9 @@ on: branches: ["main"] paths: ["recipes/**"] pull_request: - types: [closed] - paths: ["recipes/**"] branches: ["main"] + paths: ["recipes/**"] + types: [closed] jobs: publish: @@ -39,10 +39,11 @@ jobs: with: node-version: node cache: 'npm' - - name: Install "codemod" binary - run: npm install codemod - - name: Run publish codemod + - name: Install dependencies + run: npm ci --include="optional" + + - name: Generate bundle & publish to codemod registry run: | if [ -n "$CODEMOD_STATUS" ]; then echo "Modified files: $CODEMOD_FILES" @@ -51,6 +52,7 @@ jobs: DIR=$(dirname "$FILE") echo "Checking codemod: $DIR" cd "$ROOT_DIR/$DIR" + npx esbuild --bundle --platform=node --outfile=bundle.js npx codemod publish echo "Codemod published" done diff --git a/package.json b/package.json index 3f65281..4eadd58 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,10 @@ "@types/node": "^22.10.1", "typescript": "^5.7.2" }, + "optionalDependencies": { + "codemod": "~0.14.0", + "esbuild": "~0.24.0" + }, "workspaces": [ "./recipes/*" ] From b74a6cb7a3171b9f0e6786025f6f36416be3ac3b Mon Sep 17 00:00:00 2001 From: Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> Date: Sat, 21 Dec 2024 16:25:23 +0100 Subject: [PATCH 03/15] fixup!: add `codemod` & `esbuild` to package-lock --- package-lock.json | 2337 ++++++++++++++++++++++++++++++++++----------- package.json | 4 +- 2 files changed, 1795 insertions(+), 546 deletions(-) diff --git a/package-lock.json b/package-lock.json index c29afda..cd18043 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,10 +11,18 @@ "workspaces": [ "./recipes/*" ], + "dependencies": { + "codemod": "^0.14.2", + "esbuild": "^0.24.2" + }, "devDependencies": { "@biomejs/biome": "^1.9.4", "@types/node": "^22.10.1", "typescript": "^5.7.2" + }, + "optionalDependencies": { + "codemod": "^0.14.2", + "esbuild": "^0.24.2" } }, "node_modules/@ampproject/remapping": { @@ -1051,763 +1059,1660 @@ "yaml": "^2.4.5" } }, - "node_modules/@inquirer/figures": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.8.tgz", - "integrity": "sha512-tKd+jsmhq21AP1LhexC0pPwsCxEhGgAkg28byjJAd+xhmIs8LUX8JbUc3vBf3PhLxWiB5EvyBE5X7JSPAqMAqg==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.24.2.tgz", + "integrity": "sha512-thpVCb/rhxE/BnMLQ7GReQLLN8q9qbHmI55F4489/ByVg2aQaQ6kbcLb6FHkocZzQhxc4gx0sCk0tJkKBFzDhA==", + "cpu": [ + "ppc64" + ], "license": "MIT", + "optional": true, + "os": [ + "aix" + ], "engines": { "node": ">=18" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, + "node_modules/@esbuild/android-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.24.2.tgz", + "integrity": "sha512-tmwl4hJkCfNHwFB3nBa8z1Uy3ypZpxqxfTQOcHX+xRByyYgunVbZ9MzUUfb0RxaHIMnbHagwAxuTL+tnNM+1/Q==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "node_modules/@esbuild/android-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.24.2.tgz", + "integrity": "sha512-cNLgeqCqV8WxfcTIOeL4OAtSmL8JjcN6m09XIgro1Wi7cF4t/THaWEa7eL5CMoMBdjoHOTh/vwTO/o2TRXIyzg==", + "cpu": [ + "arm64" + ], "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" + "node": ">=18" } }, - "node_modules/@isaacs/cliui/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "node_modules/@esbuild/android-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.24.2.tgz", + "integrity": "sha512-B6Q0YQDqMx9D7rvIcsXfmJfvUYLoP722bgfBlO5cGvNVb5V/+Y7nhBE3mHV9OpxBf4eAS2S68KZztiPaWq4XYw==", + "cpu": [ + "x64" + ], "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=18" } }, - "node_modules/@isaacs/cliui/node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "license": "MIT" - }, - "node_modules/@isaacs/cliui/node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.24.2.tgz", + "integrity": "sha512-kj3AnYWc+CekmZnS5IPu9D+HWtUI49hbnyqk0FLEJDbzCIQt7hg7ucF1SQAilhtYpIujfaHr6O0UHlzzSPdOeA==", + "cpu": [ + "arm64" + ], "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.24.2.tgz", + "integrity": "sha512-WeSrmwwHaPkNR5H3yYfowhZcbriGqooyu3zI/3GGpF8AyUdsrrP0X6KumITGA9WOyiJavnGZUwPGvxvwfWPHIA==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=18" } }, - "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.24.2.tgz", + "integrity": "sha512-UN8HXjtJ0k/Mj6a9+5u6+2eZ2ERD7Edt1Q9IZiB5UZAIdPnVKDoG7mdTVGhHJIeEml60JteamR3qhsr1r8gXvg==", + "cpu": [ + "arm64" + ], "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=18" } }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.24.2.tgz", + "integrity": "sha512-TvW7wE/89PYW+IevEJXZ5sF6gJRDY/14hyIGFXdIucxCsbRmLUcjseQu1SyTko+2idmCw94TgyaEZi9HUSOe3Q==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=6.0.0" + "node": ">=18" } }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "node_modules/@esbuild/linux-arm": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.24.2.tgz", + "integrity": "sha512-n0WRM/gWIdU29J57hJyUdIsk0WarGd6To0s+Y+LwvlC55wt+GT/OgkwoXCXvIue1i1sSNWblHEig00GBWiJgfA==", + "cpu": [ + "arm" + ], "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=18" } }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.24.2.tgz", + "integrity": "sha512-7HnAD6074BW43YvvUmE/35Id9/NB7BeX5EoNkK9obndmZBUk8xmJJeU7DwmUeN7tkysslb2eSl6CTrYz6oEMQg==", + "cpu": [ + "arm64" + ], "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=6.0.0" + "node": ">=18" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.24.2.tgz", + "integrity": "sha512-sfv0tGPQhcZOgTKO3oBE9xpHuUqguHvSo4jl+wjnKwFpapx+vUDcawbwPNuBIAYdRAvIDBfZVvXprIj3HA+Ugw==", + "cpu": [ + "ia32" + ], "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@kwsites/file-exists": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", - "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.24.2.tgz", + "integrity": "sha512-CN9AZr8kEndGooS35ntToZLTQLHEjtVB5n7dl8ZcTZMonJ7CCfStrYhrzF97eAecqVbVJ7APOEe18RPI4KLhwQ==", + "cpu": [ + "loong64" + ], "license": "MIT", - "dependencies": { - "debug": "^4.1.1" - } - }, - "node_modules/@kwsites/promise-deferred": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", - "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", - "license": "MIT" - }, - "node_modules/@nodejs-loaders/alias": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@nodejs-loaders/alias/-/alias-1.0.0.tgz", - "integrity": "sha512-n3AbAXik3ecj5VB8eyznDKBGsoT89sEn/Qnxob1/4aBI7wTFtsZmol9opfLIyKAzRhGnRp9RzOWl95mqEAzlyg==", - "license": "ISC", - "dependencies": { - "lodash.get": "^4.4.2" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@octokit/auth-token": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", - "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.24.2.tgz", + "integrity": "sha512-iMkk7qr/wl3exJATwkISxI7kTcmHKE+BlymIAbHO8xanq/TjHaaVThFF6ipWzPHryoFsesNQJPE/3wFJw4+huw==", + "cpu": [ + "mips64el" + ], "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 18" + "node": ">=18" } }, - "node_modules/@octokit/core": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz", - "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.24.2.tgz", + "integrity": "sha512-shsVrgCZ57Vr2L8mm39kO5PPIb+843FStGt7sGGoqiiWYconSxwTiuswC1VJZLCjNiMLAMh34jg4VSEQb+iEbw==", + "cpu": [ + "ppc64" + ], "license": "MIT", - "dependencies": { - "@octokit/auth-token": "^4.0.0", - "@octokit/graphql": "^7.1.0", - "@octokit/request": "^8.3.1", - "@octokit/request-error": "^5.1.0", - "@octokit/types": "^13.0.0", - "before-after-hook": "^2.2.0", - "universal-user-agent": "^6.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 18" + "node": ">=18" } }, - "node_modules/@octokit/endpoint": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz", - "integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.24.2.tgz", + "integrity": "sha512-4eSFWnU9Hhd68fW16GD0TINewo1L6dRrB+oLNNbYyMUAeOD2yCK5KXGK1GH4qD/kT+bTEXjsyTCiJGHPZ3eM9Q==", + "cpu": [ + "riscv64" + ], "license": "MIT", - "dependencies": { - "@octokit/types": "^13.1.0", - "universal-user-agent": "^6.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 18" + "node": ">=18" } }, - "node_modules/@octokit/graphql": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz", - "integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.24.2.tgz", + "integrity": "sha512-S0Bh0A53b0YHL2XEXC20bHLuGMOhFDO6GN4b3YjRLK//Ep3ql3erpNcPlEFed93hsQAjAQDNsvcK+hV90FubSw==", + "cpu": [ + "s390x" + ], "license": "MIT", - "dependencies": { - "@octokit/request": "^8.3.0", - "@octokit/types": "^13.0.0", - "universal-user-agent": "^6.0.0" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">= 18" + "node": ">=18" } }, - "node_modules/@octokit/openapi-types": { - "version": "22.2.0", - "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", - "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", - "license": "MIT" + "node_modules/@esbuild/linux-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.24.2.tgz", + "integrity": "sha512-8Qi4nQcCTbLnK9WoMjdC9NiTG6/E38RNICU6sUNqK0QFxCYgoARqVqxdFmWkdonVsvGqWhmm7MO0jyTqLqwj0Q==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/@octokit/plugin-paginate-rest": { - "version": "11.3.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz", - "integrity": "sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==", + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.24.2.tgz", + "integrity": "sha512-wuLK/VztRRpMt9zyHSazyCVdCXlpHkKm34WUyinD2lzK07FAHTq0KQvZZlXikNWkDGoT6x3TD51jKQ7gMVpopw==", + "cpu": [ + "arm64" + ], "license": "MIT", - "dependencies": { - "@octokit/types": "^13.5.0" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": "5" + "node": ">=18" } }, - "node_modules/@octokit/plugin-request-log": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz", - "integrity": "sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.24.2.tgz", + "integrity": "sha512-VefFaQUc4FMmJuAxmIHgUmfNiLXY438XrL4GDNV1Y1H/RW3qow68xTwjZKfj/+Plp9NANmzbH5R40Meudu8mmw==", + "cpu": [ + "x64" + ], "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": "5" + "node": ">=18" } }, - "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz", - "integrity": "sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA==", + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.24.2.tgz", + "integrity": "sha512-YQbi46SBct6iKnszhSvdluqDmxCJA+Pu280Av9WICNwQmMxV7nLRHZfjQzwbPs3jeWnuAhE9Jy0NrnJ12Oz+0A==", + "cpu": [ + "arm64" + ], "license": "MIT", - "dependencies": { - "@octokit/types": "^13.5.0" - }, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">= 18" - }, - "peerDependencies": { - "@octokit/core": "^5" + "node": ">=18" } }, - "node_modules/@octokit/request": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz", - "integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.24.2.tgz", + "integrity": "sha512-+iDS6zpNM6EnJyWv0bMGLWSWeXGN/HTaF/LXHXHwejGsVi+ooqDfMCCTerNFxEkM3wYVcExkeGXNqshc9iMaOA==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@octokit/endpoint": "^9.0.1", - "@octokit/request-error": "^5.1.0", - "@octokit/types": "^13.1.0", - "universal-user-agent": "^6.0.0" - }, + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": ">= 18" + "node": ">=18" } }, - "node_modules/@octokit/request-error": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz", - "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.24.2.tgz", + "integrity": "sha512-hTdsW27jcktEvpwNHJU4ZwWFGkz2zRJUz8pvddmXPtXDzVKTTINmlmga3ZzwcuMpUvLw7JkLy9QLKyGpD2Yxig==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "@octokit/types": "^13.1.0", - "deprecation": "^2.0.0", - "once": "^1.4.0" - }, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">= 18" + "node": ">=18" } }, - "node_modules/@octokit/rest": { - "version": "20.1.1", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.1.tgz", - "integrity": "sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.24.2.tgz", + "integrity": "sha512-LihEQ2BBKVFLOC9ZItT9iFprsE9tqjDjnbulhHoFxYQtQfai7qfluVODIYxt1PgdoyQkz23+01rzwNwYfutxUQ==", + "cpu": [ + "arm64" + ], "license": "MIT", - "dependencies": { - "@octokit/core": "^5.0.2", - "@octokit/plugin-paginate-rest": "11.3.1", - "@octokit/plugin-request-log": "^4.0.0", - "@octokit/plugin-rest-endpoint-methods": "13.2.2" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 18" + "node": ">=18" } }, - "node_modules/@octokit/types": { - "version": "13.6.2", - "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.6.2.tgz", - "integrity": "sha512-WpbZfZUcZU77DrSW4wbsSgTPfKcp286q3ItaIgvSbBpZJlu6mnYXAkjZz6LVZPXkEvLIM8McanyZejKTYUHipA==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.24.2.tgz", + "integrity": "sha512-q+iGUwfs8tncmFC9pcnD5IvRHAzmbwQ3GPS5/ceCyHdjXubwQWI12MKWSNSMYLJMq23/IUCvJMS76PDqXe1fxA==", + "cpu": [ + "ia32" + ], "license": "MIT", - "dependencies": { - "@octokit/openapi-types": "^22.2.0" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@esbuild/win32-x64": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.24.2.tgz", + "integrity": "sha512-7VTgWzgMGvup6aSqDPLiW5zHaxYJGTO4OokMjIlrCtf+VpEL+cXKtCvg723iguPYI5oaUNdS+/V7OU2gvXVWEg==", + "cpu": [ + "x64" + ], "license": "MIT", "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14" + "node": ">=18" } }, - "node_modules/@sindresorhus/slugify": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.2.1.tgz", - "integrity": "sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==", + "node_modules/@inquirer/figures": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.8.tgz", + "integrity": "sha512-tKd+jsmhq21AP1LhexC0pPwsCxEhGgAkg28byjJAd+xhmIs8LUX8JbUc3vBf3PhLxWiB5EvyBE5X7JSPAqMAqg==", "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", "dependencies": { - "@sindresorhus/transliterate": "^1.0.0", - "escape-string-regexp": "^5.0.0" + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" }, "engines": { "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@sindresorhus/transliterate": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-1.6.0.tgz", - "integrity": "sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==", + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "license": "MIT", - "dependencies": { - "escape-string-regexp": "^5.0.0" - }, "engines": { "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@types/jscodeshift": { - "version": "0.11.11", - "resolved": "https://registry.npmjs.org/@types/jscodeshift/-/jscodeshift-0.11.11.tgz", - "integrity": "sha512-d7CAfFGOupj5qCDqMODXxNz2/NwCv/Lha78ZFbnr6qpk3K98iSB8I+ig9ERE2+EeYML352VMRsjPyOpeA+04eQ==", + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "license": "MIT", - "dependencies": { - "ast-types": "^0.14.1", - "recast": "^0.20.3" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/@types/lodash": { - "version": "4.17.13", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz", - "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==", - "dev": true, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "license": "MIT" }, - "node_modules/@types/lodash.get": { - "version": "4.4.9", - "resolved": "https://registry.npmjs.org/@types/lodash.get/-/lodash.get-4.4.9.tgz", - "integrity": "sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA==", - "dev": true, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "license": "MIT", "dependencies": { - "@types/lodash": "*" - } - }, - "node_modules/@types/node": { - "version": "22.10.2", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz", - "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==", - "license": "MIT", - "dependencies": { - "undici-types": "~6.20.0" - } - }, - "node_modules/@types/node-fetch": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz", - "integrity": "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==", - "license": "MIT", - "dependencies": { - "@types/node": "*", - "form-data": "^4.0.0" - } - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "license": "MIT", - "dependencies": { - "event-target-shim": "^5.0.0" + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=6.5" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/agentkeepalive": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", - "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "license": "MIT", "dependencies": { - "humanize-ms": "^1.2.1" + "ansi-regex": "^6.0.1" }, "engines": { - "node": ">= 8.0.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "license": "MIT", "dependencies": { - "type-fest": "^0.21.3" + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" }, "engines": { - "node": ">=8" + "node": ">=12" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/ansi-escapes/node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.2.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.24" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">=6.0.0" } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "license": "MIT", "engines": { - "node": ">=8" + "node": ">=6.0.0" } }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/@jridgewell/set-array": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": ">=6.0.0" } }, - "node_modules/ast-types": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", - "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.25", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", + "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", "license": "MIT", "dependencies": { - "tslib": "^2.0.1" - }, - "engines": { - "node": ">=4" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", - "license": "MIT" - }, - "node_modules/babel-core": { - "version": "7.0.0-bridge.0", - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", - "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "node_modules/@kwsites/file-exists": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/file-exists/-/file-exists-1.1.1.tgz", + "integrity": "sha512-m9/5YGR18lIwxSFDwfE3oA7bWuq9kdau6ugN4H2rJeyhFQZcG9AgSHkQtSD15a8WvTgfz9aikZMrKPHvbpqFiw==", "license": "MIT", - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "dependencies": { + "debug": "^4.1.1" } }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "node_modules/@kwsites/promise-deferred": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@kwsites/promise-deferred/-/promise-deferred-1.1.1.tgz", + "integrity": "sha512-GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==", "license": "MIT" }, - "node_modules/base-64": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", - "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" + "node_modules/@nodejs-loaders/alias": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@nodejs-loaders/alias/-/alias-1.0.0.tgz", + "integrity": "sha512-n3AbAXik3ecj5VB8eyznDKBGsoT89sEn/Qnxob1/4aBI7wTFtsZmol9opfLIyKAzRhGnRp9RzOWl95mqEAzlyg==", + "license": "ISC", + "dependencies": { + "lodash.get": "^4.4.2" + } }, - "node_modules/before-after-hook": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", - "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", - "license": "Apache-2.0" + "node_modules/@octokit/auth-token": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", + "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "license": "MIT", + "engines": { + "node": ">= 18" + } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "node_modules/@octokit/core": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.0.tgz", + "integrity": "sha512-1LFfa/qnMQvEOAdzlQymH0ulepxbxnCYAKJZfMci/5XJyIHWgEYnDmgnKakbTh7CH2tFQ5O60oYDvns4i9RAIg==", "license": "MIT", "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.1.0", + "@octokit/request": "^8.3.1", + "@octokit/request-error": "^5.1.0", + "@octokit/types": "^13.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/@octokit/endpoint": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.5.tgz", + "integrity": "sha512-ekqR4/+PCLkEBF6qgj8WqJfvDq65RH85OAgrtnVp1mSxaXF03u2xW/hUdweGS5654IlC0wkNYC18Z50tSYTAFw==", "license": "MIT", "dependencies": { - "balanced-match": "^1.0.0" + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" } }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "node_modules/@octokit/graphql": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.0.tgz", + "integrity": "sha512-r+oZUH7aMFui1ypZnAvZmn0KSqAUgE1/tUXIWaqUCa1758ts/Jio84GZuzsvUkme98kv0WFY8//n0J1Z+vsIsQ==", "license": "MIT", "dependencies": { - "fill-range": "^7.1.1" + "@octokit/request": "^8.3.0", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^6.0.0" }, "engines": { - "node": ">=8" + "node": ">= 18" } }, - "node_modules/browserslist": { - "version": "4.24.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", - "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], + "node_modules/@octokit/openapi-types": { + "version": "22.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-22.2.0.tgz", + "integrity": "sha512-QBhVjcUa9W7Wwhm6DBFu6ZZ+1/t/oYxqc2tp81Pi41YNuJinbFRx8B133qVOrAaBbF7D/m0Et6f9/pZt9Rc+tg==", + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "11.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.1.tgz", + "integrity": "sha512-ryqobs26cLtM1kQxqeZui4v8FeznirUsksiA+RYemMPJ7Micju0WSkv50dBksTuZks9O5cg4wp+t8fZ/cLY56g==", "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001669", - "electron-to-chromium": "^1.5.41", - "node-releases": "^2.0.18", - "update-browserslist-db": "^1.1.1" + "@octokit/types": "^13.5.0" }, - "bin": { - "browserslist": "cli.js" + "engines": { + "node": ">= 18" }, + "peerDependencies": { + "@octokit/core": "5" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz", + "integrity": "sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==", + "license": "MIT", "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "5" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.2.tgz", + "integrity": "sha512-EI7kXWidkt3Xlok5uN43suK99VWqc8OaIMktY9d9+RNKl69juoTyxmLoWPIZgJYzi41qj/9zU7G/ljnNOJ5AFA==", "license": "MIT", "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" + "@octokit/types": "^13.5.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "^5" } }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "license": "MIT" + "node_modules/@octokit/request": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.0.tgz", + "integrity": "sha512-9Bb014e+m2TgBeEJGEbdplMVWwPmL1FPtggHQRkV+WVsMggPtEkLKPlcVYm/o8xKLkpJ7B+6N8WfQMtDLX2Dpw==", + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^9.0.1", + "@octokit/request-error": "^5.1.0", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001687", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001687.tgz", - "integrity": "sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" + "node_modules/@octokit/request-error": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.0.tgz", + "integrity": "sha512-GETXfE05J0+7H2STzekpKObFe765O5dlAKUTLNGeH+x47z7JjXHfsHKo5z21D/o/IOZTUEI6nyWyR+bZVP/n5Q==", + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.1.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" + } }, - "node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/@octokit/rest": { + "version": "20.1.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.1.tgz", + "integrity": "sha512-MB4AYDsM5jhIHro/dq4ix1iWTLGToIGk6cWF5L6vanFaMble5jTX/UBQyiv05HsWnwUtY8JrfHy2LWfKwihqMw==", "license": "MIT", "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "@octokit/core": "^5.0.2", + "@octokit/plugin-paginate-rest": "11.3.1", + "@octokit/plugin-request-log": "^4.0.0", + "@octokit/plugin-rest-endpoint-methods": "13.2.2" }, "engines": { - "node": ">=10" + "node": ">= 18" + } + }, + "node_modules/@octokit/types": { + "version": "13.6.2", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.6.2.tgz", + "integrity": "sha512-WpbZfZUcZU77DrSW4wbsSgTPfKcp286q3ItaIgvSbBpZJlu6mnYXAkjZz6LVZPXkEvLIM8McanyZejKTYUHipA==", + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^22.2.0" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@sindresorhus/slugify": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@sindresorhus/slugify/-/slugify-2.2.1.tgz", + "integrity": "sha512-MkngSCRZ8JdSOCHRaYd+D01XhvU3Hjy6MGl06zhOk614hp9EOAp5gIkBeQg7wtmxpitU6eAL4kdiRMcJa2dlrw==", + "license": "MIT", + "dependencies": { + "@sindresorhus/transliterate": "^1.0.0", + "escape-string-regexp": "^5.0.0" + }, + "engines": { + "node": ">=12" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "node_modules/@sindresorhus/transliterate": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@sindresorhus/transliterate/-/transliterate-1.6.0.tgz", + "integrity": "sha512-doH1gimEu3A46VX6aVxpHTeHrytJAG6HgdxntYnCFiIFHEM/ZGpG8KiZGBChchjQmG0XFIBL552kBTjVcMZXwQ==", + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^5.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@types/jscodeshift": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@types/jscodeshift/-/jscodeshift-0.11.11.tgz", + "integrity": "sha512-d7CAfFGOupj5qCDqMODXxNz2/NwCv/Lha78ZFbnr6qpk3K98iSB8I+ig9ERE2+EeYML352VMRsjPyOpeA+04eQ==", + "license": "MIT", + "dependencies": { + "ast-types": "^0.14.1", + "recast": "^0.20.3" + } + }, + "node_modules/@types/lodash": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.13.tgz", + "integrity": "sha512-lfx+dftrEZcdBPczf9d0Qv0x+j/rfNCMuC6OcfXmO8gkfeNAY88PgKUbvG56whcN23gc27yenwF6oJZXGFpYxg==", + "dev": true, "license": "MIT" }, - "node_modules/charenc": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", - "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", - "license": "BSD-3-Clause", - "engines": { - "node": "*" + "node_modules/@types/lodash.get": { + "version": "4.4.9", + "resolved": "https://registry.npmjs.org/@types/lodash.get/-/lodash.get-4.4.9.tgz", + "integrity": "sha512-J5dvW98sxmGnamqf+/aLP87PYXyrha9xIgc2ZlHl6OHMFR2Ejdxep50QfU0abO1+CH6+ugx+8wEUN1toImAinA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/lodash": "*" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/@types/node": { + "version": "22.10.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.2.tgz", + "integrity": "sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/node-fetch": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.12.tgz", + "integrity": "sha512-8nneRWKCg3rMtF69nLQJnOYUcbafYeFSjqkw3jCRLsqkWFlHaoQrr5mXmofFGOx3DKn7UfmBMyov8ySvLRVldA==", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.0" + } + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "license": "MIT", + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-escapes/node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ast-types": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/ast-types/-/ast-types-0.14.2.tgz", + "integrity": "sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.1" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/babel-core": { + "version": "7.0.0-bridge.0", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-7.0.0-bridge.0.tgz", + "integrity": "sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==", + "license": "MIT", + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "license": "MIT" + }, + "node_modules/base-64": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-0.1.0.tgz", + "integrity": "sha512-Y5gU45svrR5tI2Vt/X9GPd3L0HNIKzGu202EjxrXMpuc2V2CiKgemAbUUsqYmZJvPtCXoUKjNZwBJzsNScUbXA==" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "license": "Apache-2.0" + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/blessed": { + "version": "0.1.81", + "resolved": "https://registry.npmjs.org/blessed/-/blessed-0.1.81.tgz", + "integrity": "sha512-LoF5gae+hlmfORcG1M5+5XZi4LBmvlXTzwJWzUlPryN/SJdSflZvROM2TwkT0GMpq7oqT48NRd4GS7BiVBc5OQ==", + "license": "MIT", + "optional": true, + "bin": { + "blessed": "bin/tput.js" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.24.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.2.tgz", + "integrity": "sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001669", + "electron-to-chromium": "^1.5.41", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.1" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "license": "MIT" + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001687", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001687.tgz", + "integrity": "sha512-0S/FDhf4ZiqrTUiQ39dKeUjYRjkv7lOZU1Dgif2rIqrTzX/1wV2hfKu9TOm1IHkdSijfLswxTFzl/cvir+SLSQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "license": "MIT" + }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "license": "BSD-3-Clause", + "engines": { + "node": "*" + } + }, + "node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "license": "ISC", + "optional": true + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "license": "MIT", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "license": "MIT", + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "license": "MIT", + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/codemod": { + "version": "0.14.2", + "resolved": "https://registry.npmjs.org/codemod/-/codemod-0.14.2.tgz", + "integrity": "sha512-Vwo7wja0HSSwP0UN3W0hyP9/3pSej2m74XXkyQRKw9oTbuHdEdvVBxbhj8ObPqbJDb7RSSnXWf3uNj8sBdCc/A==", + "license": "Apache License, Version 2.0", + "optional": true, + "dependencies": { + "@ast-grep/cli": "^0.25.4", + "@ast-grep/napi": "^0.25.4", + "@codemod.com/workflow": "0.0.31", + "@octokit/rest": "^20.0.2", + "blessed": "^0.1.81", + "esbuild": "^0.23.0", + "keytar": "^7.9.0" + }, + "bin": { + "codemod": "dist/index.cjs" + }, + "engines": { + "node": ">=18.5.0" + } + }, + "node_modules/codemod/node_modules/@codemod.com/workflow": { + "version": "0.0.31", + "resolved": "https://registry.npmjs.org/@codemod.com/workflow/-/workflow-0.0.31.tgz", + "integrity": "sha512-8xmbxwjxr6d0ZUm3RS/eQqud2mUGXwQgf2v+YEjwQQVwOse6yShgoFljrg7ujvJlhzymivYloL0T0VSS9YubNw==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@ast-grep/cli": "^0.25.4", + "@ast-grep/napi": "^0.25.4", + "@octokit/rest": "^20.0.2", + "@sindresorhus/slugify": "^2.2.1", + "@types/jscodeshift": "^0.11.6", + "colors-cli": "^1.0.33", + "detect-indent": "^7.0.1", + "detect-newline": "^4.0.1", + "diff": "^5.1.0", + "filenamify": "^6.0.0", + "git-url-parse": "^14.0.0", + "glob": "^10.4.1", + "inquirer": "^9.2.16", + "jscodeshift": "^0.15.0", + "lodash-es": "^4.17.21", + "magic-string": "^0.30.10", + "openai": "4.23.0", + "prettier": "^3.2.5", + "simple-git": "^3.24.0", + "tree-kill": "^1.2.2", + "ts-invariant": "^0.10.3", + "yaml": "^2.4.5" + } + }, + "node_modules/codemod/node_modules/@esbuild/aix-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.1.tgz", + "integrity": "sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/android-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.1.tgz", + "integrity": "sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/android-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.1.tgz", + "integrity": "sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/android-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.1.tgz", + "integrity": "sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/darwin-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.1.tgz", + "integrity": "sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/darwin-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.1.tgz", + "integrity": "sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/freebsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.1.tgz", + "integrity": "sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/freebsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.1.tgz", + "integrity": "sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/linux-arm": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.1.tgz", + "integrity": "sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/linux-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.1.tgz", + "integrity": "sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/linux-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.1.tgz", + "integrity": "sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/linux-loong64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.1.tgz", + "integrity": "sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/linux-mips64el": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.1.tgz", + "integrity": "sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/linux-ppc64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.1.tgz", + "integrity": "sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/linux-riscv64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.1.tgz", + "integrity": "sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/linux-s390x": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.1.tgz", + "integrity": "sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/linux-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.1.tgz", + "integrity": "sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/netbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.1.tgz", + "integrity": "sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/openbsd-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.1.tgz", + "integrity": "sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/openbsd-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.1.tgz", + "integrity": "sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/codemod/node_modules/@esbuild/sunos-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.1.tgz", + "integrity": "sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==", + "cpu": [ + "x64" + ], "license": "MIT", - "dependencies": { - "restore-cursor": "^3.1.0" - }, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "node_modules/codemod/node_modules/@esbuild/win32-arm64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.1.tgz", + "integrity": "sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==", + "cpu": [ + "arm64" + ], "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "node": ">=18" } }, - "node_modules/cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", - "license": "ISC", + "node_modules/codemod/node_modules/@esbuild/win32-ia32": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.1.tgz", + "integrity": "sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">= 12" + "node": ">=18" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "node_modules/codemod/node_modules/@esbuild/win32-x64": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.1.tgz", + "integrity": "sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==", + "cpu": [ + "x64" + ], "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=0.8" + "node": ">=18" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "node_modules/codemod/node_modules/esbuild": { + "version": "0.23.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.1.tgz", + "integrity": "sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==", + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "optional": true, + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=6" + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.23.1", + "@esbuild/android-arm": "0.23.1", + "@esbuild/android-arm64": "0.23.1", + "@esbuild/android-x64": "0.23.1", + "@esbuild/darwin-arm64": "0.23.1", + "@esbuild/darwin-x64": "0.23.1", + "@esbuild/freebsd-arm64": "0.23.1", + "@esbuild/freebsd-x64": "0.23.1", + "@esbuild/linux-arm": "0.23.1", + "@esbuild/linux-arm64": "0.23.1", + "@esbuild/linux-ia32": "0.23.1", + "@esbuild/linux-loong64": "0.23.1", + "@esbuild/linux-mips64el": "0.23.1", + "@esbuild/linux-ppc64": "0.23.1", + "@esbuild/linux-riscv64": "0.23.1", + "@esbuild/linux-s390x": "0.23.1", + "@esbuild/linux-x64": "0.23.1", + "@esbuild/netbsd-x64": "0.23.1", + "@esbuild/openbsd-arm64": "0.23.1", + "@esbuild/openbsd-x64": "0.23.1", + "@esbuild/sunos-x64": "0.23.1", + "@esbuild/win32-arm64": "0.23.1", + "@esbuild/win32-ia32": "0.23.1", + "@esbuild/win32-x64": "0.23.1" } }, "node_modules/color-convert": { @@ -1914,6 +2819,32 @@ } } }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/defaults": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", @@ -2008,6 +2939,57 @@ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "license": "MIT" }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "license": "MIT", + "optional": true, + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/esbuild": { + "version": "0.24.2", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.24.2.tgz", + "integrity": "sha512-+9egpBW8I3CD5XPe0n6BfT5fxLzxrlDzqydF3aviG+9ni1lDC/OvMHcxqEFV0+LANZG5R1bFMWfUrjVsdwxJvA==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.24.2", + "@esbuild/android-arm": "0.24.2", + "@esbuild/android-arm64": "0.24.2", + "@esbuild/android-x64": "0.24.2", + "@esbuild/darwin-arm64": "0.24.2", + "@esbuild/darwin-x64": "0.24.2", + "@esbuild/freebsd-arm64": "0.24.2", + "@esbuild/freebsd-x64": "0.24.2", + "@esbuild/linux-arm": "0.24.2", + "@esbuild/linux-arm64": "0.24.2", + "@esbuild/linux-ia32": "0.24.2", + "@esbuild/linux-loong64": "0.24.2", + "@esbuild/linux-mips64el": "0.24.2", + "@esbuild/linux-ppc64": "0.24.2", + "@esbuild/linux-riscv64": "0.24.2", + "@esbuild/linux-s390x": "0.24.2", + "@esbuild/linux-x64": "0.24.2", + "@esbuild/netbsd-arm64": "0.24.2", + "@esbuild/netbsd-x64": "0.24.2", + "@esbuild/openbsd-arm64": "0.24.2", + "@esbuild/openbsd-x64": "0.24.2", + "@esbuild/sunos-x64": "0.24.2", + "@esbuild/win32-arm64": "0.24.2", + "@esbuild/win32-ia32": "0.24.2", + "@esbuild/win32-x64": "0.24.2" + } + }, "node_modules/escalade": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", @@ -2051,6 +3033,16 @@ "node": ">=6" } }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "license": "(MIT OR WTFPL)", + "optional": true, + "engines": { + "node": ">=6" + } + }, "node_modules/external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", @@ -2197,6 +3189,13 @@ "node": ">= 14" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "license": "MIT", + "optional": true + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -2231,6 +3230,13 @@ "git-up": "^7.0.0" } }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", + "license": "MIT", + "optional": true + }, "node_modules/glob": { "version": "10.4.5", "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", @@ -2342,6 +3348,13 @@ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "license": "ISC" }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", + "license": "ISC", + "optional": true + }, "node_modules/inquirer": { "version": "9.3.7", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.3.7.tgz", @@ -2558,6 +3571,18 @@ "node": ">=6" } }, + "node_modules/keytar": { + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/keytar/-/keytar-7.9.0.tgz", + "integrity": "sha512-VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-addon-api": "^4.3.0", + "prebuild-install": "^7.0.1" + } + }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -2702,6 +3727,19 @@ "node": ">=6" } }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/minimatch": { "version": "9.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", @@ -2717,6 +3755,16 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "license": "MIT", + "optional": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/minipass": { "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", @@ -2726,6 +3774,13 @@ "node": ">=16 || 14 >=14.17" } }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", + "license": "MIT", + "optional": true + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -2741,12 +3796,52 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", + "license": "MIT", + "optional": true + }, "node_modules/neo-async": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "license": "MIT" }, + "node_modules/node-abi": { + "version": "3.71.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.71.0.tgz", + "integrity": "sha512-SZ40vRiy/+wRTf21hxkkEjPJZpARzUMVcJoQse2EF8qkUWbbO2z7vd5oA/H6bVH6SZQ5STGcu0KRDS7biNRfxw==", + "license": "MIT", + "optional": true, + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-abi/node_modules/semver": { + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", + "license": "ISC", + "optional": true, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-4.3.0.tgz", + "integrity": "sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==", + "license": "MIT", + "optional": true + }, "node_modules/node-dir": { "version": "0.1.17", "resolved": "https://registry.npmjs.org/node-dir/-/node-dir-0.1.17.tgz", @@ -3074,6 +4169,33 @@ "node": ">=6" } }, + "node_modules/prebuild-install": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", + "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/prettier": { "version": "3.4.2", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", @@ -3095,6 +4217,33 @@ "integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==", "license": "MIT" }, + "node_modules/pump": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.2.tgz", + "integrity": "sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==", + "license": "MIT", + "optional": true, + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "optional": true, + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, "node_modules/readable-stream": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", @@ -3297,6 +4446,53 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true + }, + "node_modules/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "optional": true, + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, "node_modules/simple-git": { "version": "3.27.0", "resolved": "https://registry.npmjs.org/simple-git/-/simple-git-3.27.0.tgz", @@ -3394,6 +4590,16 @@ "node": ">=8" } }, + "node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -3406,6 +4612,36 @@ "node": ">=8" } }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "license": "MIT", + "optional": true, + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/temp": { "version": "0.8.4", "resolved": "https://registry.npmjs.org/temp/-/temp-0.8.4.tgz", @@ -3481,6 +4717,19 @@ "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", "license": "0BSD" }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, "node_modules/type-fest": { "version": "4.30.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.30.0.tgz", diff --git a/package.json b/package.json index 4eadd58..20edd6a 100644 --- a/package.json +++ b/package.json @@ -30,8 +30,8 @@ "typescript": "^5.7.2" }, "optionalDependencies": { - "codemod": "~0.14.0", - "esbuild": "~0.24.0" + "codemod": "^0.14.2", + "esbuild": "^0.24.2" }, "workspaces": [ "./recipes/*" From bbfd5d61e9d4d9f4e36354ca7e79b6ebb61f9f18 Mon Sep 17 00:00:00 2001 From: Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> Date: Sat, 21 Dec 2024 17:17:58 +0100 Subject: [PATCH 04/15] WIP: create bundle script to facilitate recipe-specific options --- build/bundle.mts | 33 +++++++++++++++++++ .../correct-ts-specifiers/esbuild.config.ts | 8 +++++ 2 files changed, 41 insertions(+) create mode 100644 build/bundle.mts create mode 100644 recipes/correct-ts-specifiers/esbuild.config.ts diff --git a/build/bundle.mts b/build/bundle.mts new file mode 100644 index 0000000..ba815c6 --- /dev/null +++ b/build/bundle.mts @@ -0,0 +1,33 @@ +import path from 'node:path'; +import { cwd } from 'node:process'; + +import { build, type BuildOptions } from 'esbuild'; + + +const pjson = await import(path.join(cwd(), 'package.json'), { with: { type: 'json' } }).then(pluckDefault); +const recipeOptions = await import(path.join(cwd(), 'esbuild.config.ts')) + .then(pluckDefault) + .catch((err) => { + if (err.code !== 'ERR_MODULE_NOT_FOUND') throw err; + return {}; + }); +const options: BuildOptions = { + ...recipeOptions, + bundle: true, + entryPoints: [pjson.main], + loader: { + // '.node': 'file', + }, + outfile: 'bundle.js', + platform: 'node', + target: 'node20', +}; + +console.debug('Generating bundle with options'); +console.debug(options); + +await build(options); + +console.log('Bundle generated successfully'); + +function pluckDefault(mod) { return mod.default } diff --git a/recipes/correct-ts-specifiers/esbuild.config.ts b/recipes/correct-ts-specifiers/esbuild.config.ts new file mode 100644 index 0000000..21df5a5 --- /dev/null +++ b/recipes/correct-ts-specifiers/esbuild.config.ts @@ -0,0 +1,8 @@ +import type { BuildOptions } from 'esbuild'; + + +const opts: BuildOptions = { + format: 'esm', +}; + +export default opts; From 5e87ef5efa65c64ba52abc1ef4a40dd5001d9020 Mon Sep 17 00:00:00 2001 From: Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> Date: Sun, 22 Dec 2024 14:47:15 +0100 Subject: [PATCH 05/15] chore: hoist `spawnPromisified` to repo root --- .../correct-ts-specifiers/test => build}/spawn-promisified.ts | 0 recipes/correct-ts-specifiers/src/logger.test.ts | 2 +- recipes/correct-ts-specifiers/src/workflow.test.ts | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename {recipes/correct-ts-specifiers/test => build}/spawn-promisified.ts (100%) diff --git a/recipes/correct-ts-specifiers/test/spawn-promisified.ts b/build/spawn-promisified.ts similarity index 100% rename from recipes/correct-ts-specifiers/test/spawn-promisified.ts rename to build/spawn-promisified.ts diff --git a/recipes/correct-ts-specifiers/src/logger.test.ts b/recipes/correct-ts-specifiers/src/logger.test.ts index be19420..561d82e 100644 --- a/recipes/correct-ts-specifiers/src/logger.test.ts +++ b/recipes/correct-ts-specifiers/src/logger.test.ts @@ -2,7 +2,7 @@ import assert from 'node:assert/strict'; import { execPath } from 'node:process'; import { describe, it } from 'node:test'; -import { spawnPromisified } from '../test/spawn-promisified.ts'; +import { spawnPromisified } from '../../../build/spawn-promisified.ts'; describe('logger', () => { it('should emit non-error entries to standard out, collated by source module', async (t) => { diff --git a/recipes/correct-ts-specifiers/src/workflow.test.ts b/recipes/correct-ts-specifiers/src/workflow.test.ts index dcb7857..3459dac 100644 --- a/recipes/correct-ts-specifiers/src/workflow.test.ts +++ b/recipes/correct-ts-specifiers/src/workflow.test.ts @@ -4,7 +4,7 @@ import { readFile } from 'node:fs/promises'; import { describe, it } from 'node:test'; import { fileURLToPath } from 'node:url'; -import { spawnPromisified } from '../test/spawn-promisified.ts'; +import { spawnPromisified } from '../../../build/spawn-promisified.ts'; describe('workflow', () => { it('should update bad specifiers and ignore good ones', async (t) => { From d9bdc72e88fd8ff96344c51316f7f23fae675884 Mon Sep 17 00:00:00 2001 From: Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> Date: Sun, 22 Dec 2024 14:48:10 +0100 Subject: [PATCH 06/15] fixup!: package-lock --- package-lock.json | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index cd18043..62c598d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,10 +11,6 @@ "workspaces": [ "./recipes/*" ], - "dependencies": { - "codemod": "^0.14.2", - "esbuild": "^0.24.2" - }, "devDependencies": { "@biomejs/biome": "^1.9.4", "@types/node": "^22.10.1", @@ -3966,9 +3962,9 @@ } }, "node_modules/openai/node_modules/@types/node": { - "version": "18.19.67", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.67.tgz", - "integrity": "sha512-wI8uHusga+0ZugNp0Ol/3BqQfEcCCNfojtO6Oou9iVNGPTL6QNSdnUdqq85fRgIorLhLMuPIKpsN98QE9Nh+KQ==", + "version": "18.19.68", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.68.tgz", + "integrity": "sha512-QGtpFH1vB99ZmTa63K4/FU8twThj4fuVSBkGddTp7uIL/cuoLWIUSL2RcOaigBhfR+hg5pgGkBnkoOxrTVBMKw==", "license": "MIT", "dependencies": { "undici-types": "~5.26.4" From 31526c115ffa9054b1224e02d0f4158f50266613 Mon Sep 17 00:00:00 2001 From: Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> Date: Sun, 22 Dec 2024 14:48:51 +0100 Subject: [PATCH 07/15] switch to script-base bundle & publish --- .github/workflows/publish.yml | 27 ++++---------- build/bundle.mts | 67 +++++++++++++++++++-------------- build/publish.mts | 40 ++++++++++++++++++++ build/publish.spec.mts | 70 +++++++++++++++++++++++++++++++++++ 4 files changed, 157 insertions(+), 47 deletions(-) create mode 100644 build/publish.mts create mode 100644 build/publish.spec.mts diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a971847..c0519b3 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -28,34 +28,23 @@ jobs: codemods: - '**/.codemodrc.json' - - name: export files + - name: Collate updates run: | echo "Modified files: ${{steps.filter.outputs.codemods_files}}" - echo "CODEMOD_FILES=${{steps.filter.outputs.codemods_files}}" >> $GITHUB_ENV echo "Modified status: ${{steps.filter.outputs.codemods}}" - echo "CODEMOD_STATUS=${{steps.filter.outputs.codemods}}" >> $GITHUB_ENV - uses: actions/setup-node@v4 with: - node-version: node + node-version-file: '.nvmrc' cache: 'npm' - name: Install dependencies run: npm ci --include="optional" - name: Generate bundle & publish to codemod registry - run: | - if [ -n "$CODEMOD_STATUS" ]; then - echo "Modified files: $CODEMOD_FILES" - ROOT_DIR=$(pwd) - for FILE in $CODEMOD_FILES; do - DIR=$(dirname "$FILE") - echo "Checking codemod: $DIR" - cd "$ROOT_DIR/$DIR" - npx esbuild --bundle --platform=node --outfile=bundle.js - npx codemod publish - echo "Codemod published" - done - else - echo "No codemods found" - fi + run: >- + node + --experimental-strip=types + --recipes=${{steps.filter.outputs.codemods_files}} + --status=${{steps.filter.outputs.codemods}} + ./build/publish.mts diff --git a/build/bundle.mts b/build/bundle.mts index ba815c6..6a41017 100644 --- a/build/bundle.mts +++ b/build/bundle.mts @@ -1,33 +1,44 @@ import path from 'node:path'; -import { cwd } from 'node:process'; import { build, type BuildOptions } from 'esbuild'; -const pjson = await import(path.join(cwd(), 'package.json'), { with: { type: 'json' } }).then(pluckDefault); -const recipeOptions = await import(path.join(cwd(), 'esbuild.config.ts')) - .then(pluckDefault) - .catch((err) => { - if (err.code !== 'ERR_MODULE_NOT_FOUND') throw err; - return {}; - }); -const options: BuildOptions = { - ...recipeOptions, - bundle: true, - entryPoints: [pjson.main], - loader: { - // '.node': 'file', - }, - outfile: 'bundle.js', - platform: 'node', - target: 'node20', -}; - -console.debug('Generating bundle with options'); -console.debug(options); - -await build(options); - -console.log('Bundle generated successfully'); - -function pluckDefault(mod) { return mod.default } +export const outfile = 'bundle.js'; + +export async function bundle(recipeAbsPath: string) { + const pjson = await import(path.join(recipeAbsPath, 'package.json'), jsonImportAttrs) + .then(pluckDefault); + const recipeOptions = await import(path.join(recipeAbsPath, 'esbuild.config.ts')) + .then(pluckDefault) + .catch(handleImportErr); + const options: BuildOptions = { + ...recipeOptions, + bundle: true, + entryPoints: [pjson.main], + loader: { + // '.node': 'file', + }, + minify: true, + outfile: 'bundle.js', + outdir: recipeAbsPath, + platform: 'node', + sourcemap: 'inline', + target: 'node20', + }; + + console.debug(`Generating bundle for ${pjson.name} with options`); + console.debug(options); + + await build(options); + + console.log(`Bundle for ${pjson.name} generated successfully`); +} + +function pluckDefault(mod) { + return mod.default; +} +function handleImportErr(err: NodeJS.ErrnoException) { + if (err.code !== 'ERR_MODULE_NOT_FOUND') throw err; + return {}; +} +const jsonImportAttrs: ImportCallOptions = { with: { type: 'json' } }; diff --git a/build/publish.mts b/build/publish.mts new file mode 100644 index 0000000..b510059 --- /dev/null +++ b/build/publish.mts @@ -0,0 +1,40 @@ +import path from 'node:path'; +import { argv, cwd, exit } from 'node:process'; +import { parseArgs } from 'node:util'; + +import { publish } from 'codemod'; + +import { bundle, outfile } from './bundle.mts'; + + +const { + recipes, + status, +} = parseArgs({ + args: argv, + options: { + recipes: { type: 'string' }, + status: { type: 'boolean' }, + }, +}).values; +const recipeRelPaths: string[] = recipes?.slice(1, -1).split(' ') ?? []; + +if (!status) throw new Error(`Unexpected status: ${status}`); + +const rootPath = cwd(); + +const n = recipeRelPaths.length; +const publications = new Array(n); +for (let r = n - 1; r > -1; r--) { + const recipeRelPath = recipeRelPaths[r]; + const recipeAbsPath = path.join(rootPath, recipeRelPath); + + publications[r] = bundle[r](recipeAbsPath) + .then(() => publish(path.join(recipeAbsPath, outfile))); +} + +Promise.allSettled(publications) + .then( + () => console.log('Publishing complete'), + () => console.log('Publishing failed'), + ); diff --git a/build/publish.spec.mts b/build/publish.spec.mts new file mode 100644 index 0000000..28984bd --- /dev/null +++ b/build/publish.spec.mts @@ -0,0 +1,70 @@ +import assert from 'node:assert/strict'; +import { execPath } from 'node:process'; +import { + before, + describe, + it, + mock, +} from 'node:test'; + +import { spawnPromisified } from './spawn-promisified.ts'; + + +type Mock = ReturnType['mock']; + +describe('Publishing', () => { + const cwd = '/test'; + let mock__bundle: Mock; + let mock__publish: Mock; + + before(async () => { + const bundle = mock.fn(); + mock__bundle = bundle.mock; + const publish = mock.fn(); + mock__publish = publish.mock; + + mock.module('codemod', { + namedExports: { + publish, + }, + }); + mock.module('./bundle.mts', { + namedExports: { + bundle, + }, + }); + }); + + it('should', async () => { + mock__bundle.mockImplementationOnce(Promise.resolve); + mock__publish.mockImplementationOnce(Promise.resolve); + + const { code, stderr, stdout } = await spawnPromisified( + execPath, + [ + '--no-warnings', + '--experimental-strip-types', + '--recipes=("a" "b")', + '--status=true', + './publish.mts', + ], + { + cwd, + }, + ); + + assert.equal(stderr, ''); + assert.equal(code, 0); + assert.match(stdout, /Publishing complete/); + + assert.deepEqual(mock__bundle.calls, [ + { arguments: [`${cwd}/a`] }, + { arguments: [`${cwd}/b`] }, + ]); + + assert.deepEqual(mock__publish.calls, [ + { arguments: [`${cwd}/a`] }, + { arguments: [`${cwd}/b`] }, + ]); + }); +}); From 330818ff55536410746e1bdd67eb5a22546cfac9 Mon Sep 17 00:00:00 2001 From: Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> Date: Sun, 22 Dec 2024 15:36:49 +0100 Subject: [PATCH 08/15] fixup!: argument position (node quirk) --- .github/workflows/publish.yml | 5 ++-- build/publish.mts | 7 +++--- build/publish.spec.mts | 45 +++++++++++++++-------------------- 3 files changed, 26 insertions(+), 31 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index c0519b3..af5c2ed 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -44,7 +44,8 @@ jobs: - name: Generate bundle & publish to codemod registry run: >- node - --experimental-strip=types + --no-warnings + --experimental-strip-types + ./build/publish.mts --recipes=${{steps.filter.outputs.codemods_files}} --status=${{steps.filter.outputs.codemods}} - ./build/publish.mts diff --git a/build/publish.mts b/build/publish.mts index b510059..56853ce 100644 --- a/build/publish.mts +++ b/build/publish.mts @@ -1,5 +1,5 @@ import path from 'node:path'; -import { argv, cwd, exit } from 'node:process'; +import { argv, cwd } from 'node:process'; import { parseArgs } from 'node:util'; import { publish } from 'codemod'; @@ -11,6 +11,7 @@ const { recipes, status, } = parseArgs({ + allowPositionals: true, args: argv, options: { recipes: { type: 'string' }, @@ -29,12 +30,12 @@ for (let r = n - 1; r > -1; r--) { const recipeRelPath = recipeRelPaths[r]; const recipeAbsPath = path.join(rootPath, recipeRelPath); - publications[r] = bundle[r](recipeAbsPath) + publications[r] = bundle(recipeAbsPath) .then(() => publish(path.join(recipeAbsPath, outfile))); } Promise.allSettled(publications) .then( () => console.log('Publishing complete'), - () => console.log('Publishing failed'), + () => console.error('Publishing failed'), ); diff --git a/build/publish.spec.mts b/build/publish.spec.mts index 28984bd..30002cc 100644 --- a/build/publish.spec.mts +++ b/build/publish.spec.mts @@ -1,5 +1,5 @@ import assert from 'node:assert/strict'; -import { execPath } from 'node:process'; +import { cwd, argv } from 'node:process'; import { before, describe, @@ -7,15 +7,16 @@ import { mock, } from 'node:test'; -import { spawnPromisified } from './spawn-promisified.ts'; - type Mock = ReturnType['mock']; describe('Publishing', () => { - const cwd = '/test'; + const CWD = cwd(); + const outfile = 'out.js'; let mock__bundle: Mock; let mock__publish: Mock; + let mock__consoleErr: Mock; + let mock__consoleLog: Mock; before(async () => { const bundle = mock.fn(); @@ -31,40 +32,32 @@ describe('Publishing', () => { mock.module('./bundle.mts', { namedExports: { bundle, + outfile, }, }); + // mock.method(console, 'error'); + // mock.method(console, 'log'); }); it('should', async () => { - mock__bundle.mockImplementationOnce(Promise.resolve); - mock__publish.mockImplementationOnce(Promise.resolve); + mock__bundle.mockImplementation(async () => { }); + mock__publish.mockImplementation(() => { }); - const { code, stderr, stdout } = await spawnPromisified( - execPath, - [ - '--no-warnings', - '--experimental-strip-types', - '--recipes=("a" "b")', - '--status=true', - './publish.mts', - ], - { - cwd, - }, - ); + argv[2] = '--recipes=("a" "b")'; + argv[3] = '--status'; - assert.equal(stderr, ''); - assert.equal(code, 0); - assert.match(stdout, /Publishing complete/); + await import('./publish.mts'); assert.deepEqual(mock__bundle.calls, [ - { arguments: [`${cwd}/a`] }, - { arguments: [`${cwd}/b`] }, + { arguments: [`${CWD}/a`] }, + { arguments: [`${CWD}/b`] }, ]); assert.deepEqual(mock__publish.calls, [ - { arguments: [`${cwd}/a`] }, - { arguments: [`${cwd}/b`] }, + { arguments: [`${CWD}/a`] }, + { arguments: [`${CWD}/b`] }, ]); + + assert.match(mock__consoleLog.calls[0].arguments[0], /Publishing complete/); }); }); From f8f7787dc901e4a0a3934e4a95d3876f8041e5f9 Mon Sep 17 00:00:00 2001 From: Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> Date: Sun, 22 Dec 2024 23:52:52 +0100 Subject: [PATCH 09/15] fixup!: add `entry` to correct-ts-specifiers config & rename main file --- recipes/correct-ts-specifiers/.codemodrc.json | 1 + recipes/correct-ts-specifiers/package.json | 4 ++-- .../src/{workflow.test.snap.cjs => main.test.snap.cjs} | 0 .../src/{workflow.test.ts => main.test.ts} | 2 +- recipes/correct-ts-specifiers/src/{workflow.ts => main.ts} | 0 5 files changed, 4 insertions(+), 3 deletions(-) rename recipes/correct-ts-specifiers/src/{workflow.test.snap.cjs => main.test.snap.cjs} (100%) rename recipes/correct-ts-specifiers/src/{workflow.test.ts => main.test.ts} (96%) rename recipes/correct-ts-specifiers/src/{workflow.ts => main.ts} (100%) diff --git a/recipes/correct-ts-specifiers/.codemodrc.json b/recipes/correct-ts-specifiers/.codemodrc.json index 81fb80c..24d2579 100644 --- a/recipes/correct-ts-specifiers/.codemodrc.json +++ b/recipes/correct-ts-specifiers/.codemodrc.json @@ -5,6 +5,7 @@ "engine": "workflow", "private": false, "arguments": [], + "entry": "./src/main.ts", "meta": { "git": "https://github.com/nodejs/userland-migrations/tree/main/recipes/correct-ts-specifiers", "tags": [ diff --git a/recipes/correct-ts-specifiers/package.json b/recipes/correct-ts-specifiers/package.json index 3a328c1..598b23b 100644 --- a/recipes/correct-ts-specifiers/package.json +++ b/recipes/correct-ts-specifiers/package.json @@ -3,12 +3,12 @@ "version": "1.0.0-rc.1", "description": "Replace erroneous 'js' or omitted file extensions of import specifiers in TypeScript files.", "type": "module", - "main": "./src/workflow.ts", + "main": "./src/main.ts", "engines": { "node": ">=22.6.0" }, "scripts": { - "start": "node --no-warnings --experimental-import-meta-resolve --experimental-strip-types ./src/workflow.ts", + "start": "node --no-warnings --experimental-import-meta-resolve --experimental-strip-types ./src/main.ts", "test": "node --no-warnings --experimental-import-meta-resolve --experimental-test-module-mocks --experimental-test-snapshots --experimental-strip-types --import='../../build/snapshots.mts' --test --experimental-test-coverage --test-coverage-include='src/**/*' --test-coverage-exclude='**/*.test.ts' './**/*.test.ts'" }, "repository": { diff --git a/recipes/correct-ts-specifiers/src/workflow.test.snap.cjs b/recipes/correct-ts-specifiers/src/main.test.snap.cjs similarity index 100% rename from recipes/correct-ts-specifiers/src/workflow.test.snap.cjs rename to recipes/correct-ts-specifiers/src/main.test.snap.cjs diff --git a/recipes/correct-ts-specifiers/src/workflow.test.ts b/recipes/correct-ts-specifiers/src/main.test.ts similarity index 96% rename from recipes/correct-ts-specifiers/src/workflow.test.ts rename to recipes/correct-ts-specifiers/src/main.test.ts index 3459dac..adc79d6 100644 --- a/recipes/correct-ts-specifiers/src/workflow.test.ts +++ b/recipes/correct-ts-specifiers/src/main.test.ts @@ -16,7 +16,7 @@ describe('workflow', () => { '--no-warnings', '--experimental-strip-types', '--experimental-import-meta-resolve', - '../../workflow.ts', + '../../main.ts', ], { cwd: e2eFixtPath, diff --git a/recipes/correct-ts-specifiers/src/workflow.ts b/recipes/correct-ts-specifiers/src/main.ts similarity index 100% rename from recipes/correct-ts-specifiers/src/workflow.ts rename to recipes/correct-ts-specifiers/src/main.ts From 61c1adcae2d26acb61781fba09ab43ca0c780dc2 Mon Sep 17 00:00:00 2001 From: Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> Date: Mon, 23 Dec 2024 15:01:47 +0100 Subject: [PATCH 10/15] =?UTF-8?q?fixup!:=20rename=20`index.d.ts`=20?= =?UTF-8?q?=E2=86=92=20`types.ts`=20per=20codemod=20limitation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- recipes/correct-ts-specifiers/src/fexists.test.ts | 2 +- recipes/correct-ts-specifiers/src/fexists.ts | 2 +- recipes/correct-ts-specifiers/src/get-not-found-url.ts | 2 +- recipes/correct-ts-specifiers/src/is-dir.ts | 2 +- .../correct-ts-specifiers/src/is-ignorable-specifier.test.ts | 2 +- recipes/correct-ts-specifiers/src/is-ignorable-specifier.ts | 2 +- recipes/correct-ts-specifiers/src/main.ts | 2 +- recipes/correct-ts-specifiers/src/map-imports.test.ts | 2 +- recipes/correct-ts-specifiers/src/map-imports.ts | 2 +- .../src/replace-js-ext-with-ts-ext.test.ts | 2 +- recipes/correct-ts-specifiers/src/replace-js-ext-with-ts-ext.ts | 2 +- recipes/correct-ts-specifiers/src/resolve-specifier.test.ts | 2 +- recipes/correct-ts-specifiers/src/resolve-specifier.ts | 2 +- .../correct-ts-specifiers/src/resolves-to-node-module.test.ts | 2 +- recipes/correct-ts-specifiers/src/resolves-to-node-module.ts | 2 +- recipes/correct-ts-specifiers/src/{index.d.ts => types.ts} | 0 16 files changed, 15 insertions(+), 15 deletions(-) rename recipes/correct-ts-specifiers/src/{index.d.ts => types.ts} (100%) diff --git a/recipes/correct-ts-specifiers/src/fexists.test.ts b/recipes/correct-ts-specifiers/src/fexists.test.ts index 6b67f1a..468f8ce 100644 --- a/recipes/correct-ts-specifiers/src/fexists.test.ts +++ b/recipes/correct-ts-specifiers/src/fexists.test.ts @@ -2,7 +2,7 @@ import assert from 'node:assert/strict'; import { type Mock, afterEach, before, describe, it, mock } from 'node:test'; import { fileURLToPath } from 'node:url'; -import type { FSAbsolutePath } from './index.d.ts'; +import type { FSAbsolutePath } from './types.ts'; type FSAccess = typeof import('node:fs/promises').access; type FExists = typeof import('./fexists.ts').fexists; diff --git a/recipes/correct-ts-specifiers/src/fexists.ts b/recipes/correct-ts-specifiers/src/fexists.ts index a2be240..4cffeed 100644 --- a/recipes/correct-ts-specifiers/src/fexists.ts +++ b/recipes/correct-ts-specifiers/src/fexists.ts @@ -4,7 +4,7 @@ import type { FSAbsolutePath, ResolvedSpecifier, Specifier, -} from './index.d.ts'; +} from './types.ts'; import { resolveSpecifier } from './resolve-specifier.ts'; export function fexists( diff --git a/recipes/correct-ts-specifiers/src/get-not-found-url.ts b/recipes/correct-ts-specifiers/src/get-not-found-url.ts index 7c8a8e6..05f9d0a 100644 --- a/recipes/correct-ts-specifiers/src/get-not-found-url.ts +++ b/recipes/correct-ts-specifiers/src/get-not-found-url.ts @@ -1,6 +1,6 @@ import { pathToFileURL } from 'node:url'; -import type { FSAbsolutePath, ResolvedSpecifier } from './index.d.ts'; +import type { FSAbsolutePath, ResolvedSpecifier } from './types.ts'; export const getNotFoundUrl = (err: NodeJS.ErrnoException & { url?: FSAbsolutePath }) => pathToFileURL(err?.url ?? err.message.split("'")[1])?.href as ResolvedSpecifier; diff --git a/recipes/correct-ts-specifiers/src/is-dir.ts b/recipes/correct-ts-specifiers/src/is-dir.ts index 894664a..b5349d7 100644 --- a/recipes/correct-ts-specifiers/src/is-dir.ts +++ b/recipes/correct-ts-specifiers/src/is-dir.ts @@ -5,7 +5,7 @@ import type { NodeModSpecifier, ResolvedSpecifier, Specifier, -} from './index.d.ts'; +} from './types.ts'; import { resolveSpecifier } from './resolve-specifier.ts'; export async function isDir(parentPath: FSAbsolutePath | ResolvedSpecifier, specifier: Specifier) { diff --git a/recipes/correct-ts-specifiers/src/is-ignorable-specifier.test.ts b/recipes/correct-ts-specifiers/src/is-ignorable-specifier.test.ts index b2a5584..e845df6 100644 --- a/recipes/correct-ts-specifiers/src/is-ignorable-specifier.test.ts +++ b/recipes/correct-ts-specifiers/src/is-ignorable-specifier.test.ts @@ -4,7 +4,7 @@ import { fileURLToPath } from 'node:url'; import { tsExts } from './exts.ts'; import { isIgnorableSpecifier } from './is-ignorable-specifier.ts'; -import type { FSAbsolutePath } from './index.d.ts'; +import type { FSAbsolutePath } from './types.ts'; describe('Is ignorable specifier', () => { const parentPath = '/tmp/test.ts'; diff --git a/recipes/correct-ts-specifiers/src/is-ignorable-specifier.ts b/recipes/correct-ts-specifiers/src/is-ignorable-specifier.ts index 83135c1..eca9bb5 100644 --- a/recipes/correct-ts-specifiers/src/is-ignorable-specifier.ts +++ b/recipes/correct-ts-specifiers/src/is-ignorable-specifier.ts @@ -3,7 +3,7 @@ import { extname, sep } from 'node:path'; import { pathToFileURL } from 'node:url'; import { tsExts } from './exts.ts'; -import type { FSAbsolutePath, ResolvedSpecifier, Specifier } from './index.d.ts'; +import type { FSAbsolutePath, ResolvedSpecifier, Specifier } from './types.ts'; import { resolvesToNodeModule } from './resolves-to-node-module.ts'; import { getNotFoundUrl } from './get-not-found-url.ts'; diff --git a/recipes/correct-ts-specifiers/src/main.ts b/recipes/correct-ts-specifiers/src/main.ts index 872a5bb..1f1e7b2 100644 --- a/recipes/correct-ts-specifiers/src/main.ts +++ b/recipes/correct-ts-specifiers/src/main.ts @@ -4,7 +4,7 @@ import { type Api, api } from '@codemod.com/workflow'; import type { Helpers } from '@codemod.com/workflow/dist/jsFam.d.ts'; import { mapImports } from './map-imports.ts'; -import type { FSAbsolutePath } from './index.d.ts'; +import type { FSAbsolutePath } from './types.ts'; module.register('@nodejs-loaders/alias', import.meta.url); diff --git a/recipes/correct-ts-specifiers/src/map-imports.test.ts b/recipes/correct-ts-specifiers/src/map-imports.test.ts index e267d18..cf21c9b 100644 --- a/recipes/correct-ts-specifiers/src/map-imports.test.ts +++ b/recipes/correct-ts-specifiers/src/map-imports.test.ts @@ -3,7 +3,7 @@ import { type Mock, before, describe, it, mock, afterEach } from 'node:test'; import { fileURLToPath } from 'node:url'; import { dExts } from './exts.ts'; -import type { FSAbsolutePath } from './index.d.ts'; +import type { FSAbsolutePath } from './types.ts'; type Logger = typeof import('./logger.ts').logger; diff --git a/recipes/correct-ts-specifiers/src/map-imports.ts b/recipes/correct-ts-specifiers/src/map-imports.ts index e77494d..89b9bdd 100644 --- a/recipes/correct-ts-specifiers/src/map-imports.ts +++ b/recipes/correct-ts-specifiers/src/map-imports.ts @@ -1,4 +1,4 @@ -import type { FSAbsolutePath, Specifier } from './index.d.ts'; +import type { FSAbsolutePath, Specifier } from './types.ts'; import { fexists } from './fexists.ts'; import { logger } from './logger.ts'; import { isDir } from './is-dir.ts'; diff --git a/recipes/correct-ts-specifiers/src/replace-js-ext-with-ts-ext.test.ts b/recipes/correct-ts-specifiers/src/replace-js-ext-with-ts-ext.test.ts index 04831db..889b91d 100644 --- a/recipes/correct-ts-specifiers/src/replace-js-ext-with-ts-ext.test.ts +++ b/recipes/correct-ts-specifiers/src/replace-js-ext-with-ts-ext.test.ts @@ -4,7 +4,7 @@ import { type Mock, after, afterEach, before, describe, it, mock } from 'node:te import { fileURLToPath } from 'node:url'; import { dExts, jsExts, suspectExts, tsExts } from './exts.ts'; -import type { FSAbsolutePath } from './index.d.ts'; +import type { FSAbsolutePath } from './types.ts'; type MockModuleContext = ReturnType; diff --git a/recipes/correct-ts-specifiers/src/replace-js-ext-with-ts-ext.ts b/recipes/correct-ts-specifiers/src/replace-js-ext-with-ts-ext.ts index 7b04397..5b2e923 100644 --- a/recipes/correct-ts-specifiers/src/replace-js-ext-with-ts-ext.ts +++ b/recipes/correct-ts-specifiers/src/replace-js-ext-with-ts-ext.ts @@ -1,6 +1,6 @@ import { extname } from 'node:path'; -import type { FSAbsolutePath, NodeModSpecifier, ResolvedSpecifier, Specifier } from './index.d.ts'; +import type { FSAbsolutePath, NodeModSpecifier, ResolvedSpecifier, Specifier } from './types.ts'; import { type DExt, type JSExt, type TSExt, extSets, suspectExts } from './exts.ts'; import { fexists } from './fexists.ts'; import { logger } from './logger.ts'; diff --git a/recipes/correct-ts-specifiers/src/resolve-specifier.test.ts b/recipes/correct-ts-specifiers/src/resolve-specifier.test.ts index 512bcbd..8638728 100644 --- a/recipes/correct-ts-specifiers/src/resolve-specifier.test.ts +++ b/recipes/correct-ts-specifiers/src/resolve-specifier.test.ts @@ -2,7 +2,7 @@ import assert from 'node:assert/strict'; import path from 'node:path'; import { describe, it } from 'node:test'; -import type { FSAbsolutePath } from './index.d.ts'; +import type { FSAbsolutePath } from './types.ts'; import { resolveSpecifier } from './resolve-specifier.ts'; describe('Resolve specifier', () => { diff --git a/recipes/correct-ts-specifiers/src/resolve-specifier.ts b/recipes/correct-ts-specifiers/src/resolve-specifier.ts index 03380c3..68c88ed 100644 --- a/recipes/correct-ts-specifiers/src/resolve-specifier.ts +++ b/recipes/correct-ts-specifiers/src/resolve-specifier.ts @@ -7,7 +7,7 @@ import type { NodeModSpecifier, ResolvedSpecifier, Specifier, -} from './index.d.ts'; +} from './types.ts'; /* node:coverage enable */ import { getNotFoundUrl } from './get-not-found-url.ts'; import { resolvesToNodeModule } from './resolves-to-node-module.ts'; diff --git a/recipes/correct-ts-specifiers/src/resolves-to-node-module.test.ts b/recipes/correct-ts-specifiers/src/resolves-to-node-module.test.ts index aaaafc8..efdb77b 100644 --- a/recipes/correct-ts-specifiers/src/resolves-to-node-module.test.ts +++ b/recipes/correct-ts-specifiers/src/resolves-to-node-module.test.ts @@ -2,7 +2,7 @@ import assert from 'node:assert/strict'; import path from 'node:path'; import { describe, it } from 'node:test'; -import type { FSAbsolutePath } from './index.d.ts'; +import type { FSAbsolutePath } from './types.ts'; import { resolvesToNodeModule } from './resolves-to-node-module.ts'; diff --git a/recipes/correct-ts-specifiers/src/resolves-to-node-module.ts b/recipes/correct-ts-specifiers/src/resolves-to-node-module.ts index da8f4f2..98f065b 100644 --- a/recipes/correct-ts-specifiers/src/resolves-to-node-module.ts +++ b/recipes/correct-ts-specifiers/src/resolves-to-node-module.ts @@ -1,7 +1,7 @@ import { isAbsolute } from 'node:path'; import { pathToFileURL } from 'node:url'; -import type { FSAbsolutePath, ResolvedSpecifier } from './index.d.ts'; +import type { FSAbsolutePath, ResolvedSpecifier } from './types.ts'; export function resolvesToNodeModule( resolvedUrl: ResolvedSpecifier, diff --git a/recipes/correct-ts-specifiers/src/index.d.ts b/recipes/correct-ts-specifiers/src/types.ts similarity index 100% rename from recipes/correct-ts-specifiers/src/index.d.ts rename to recipes/correct-ts-specifiers/src/types.ts From a1a1193f5472bb72771a423dce6e965e0e5a7ee9 Mon Sep 17 00:00:00 2001 From: Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> Date: Mon, 23 Dec 2024 15:04:47 +0100 Subject: [PATCH 11/15] =?UTF-8?q?fixup!:=20rename=20`main.ts`=20=E2=86=92?= =?UTF-8?q?=20`index.ts`=20per=20codemod=20limitation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- recipes/correct-ts-specifiers/.codemodrc.json | 2 +- recipes/correct-ts-specifiers/package.json | 4 ++-- .../src/{main.test.snap.cjs => index.test.snap.cjs} | 0 .../correct-ts-specifiers/src/{main.test.ts => index.test.ts} | 2 +- recipes/correct-ts-specifiers/src/{main.ts => index.ts} | 0 5 files changed, 4 insertions(+), 4 deletions(-) rename recipes/correct-ts-specifiers/src/{main.test.snap.cjs => index.test.snap.cjs} (100%) rename recipes/correct-ts-specifiers/src/{main.test.ts => index.test.ts} (97%) rename recipes/correct-ts-specifiers/src/{main.ts => index.ts} (100%) diff --git a/recipes/correct-ts-specifiers/.codemodrc.json b/recipes/correct-ts-specifiers/.codemodrc.json index 24d2579..97ce545 100644 --- a/recipes/correct-ts-specifiers/.codemodrc.json +++ b/recipes/correct-ts-specifiers/.codemodrc.json @@ -5,7 +5,7 @@ "engine": "workflow", "private": false, "arguments": [], - "entry": "./src/main.ts", + "entry": "./src/index.ts", "meta": { "git": "https://github.com/nodejs/userland-migrations/tree/main/recipes/correct-ts-specifiers", "tags": [ diff --git a/recipes/correct-ts-specifiers/package.json b/recipes/correct-ts-specifiers/package.json index 598b23b..243ad9c 100644 --- a/recipes/correct-ts-specifiers/package.json +++ b/recipes/correct-ts-specifiers/package.json @@ -1,9 +1,9 @@ { "name": "correct-ts-specifiers", - "version": "1.0.0-rc.1", + "version": "1.0.0", "description": "Replace erroneous 'js' or omitted file extensions of import specifiers in TypeScript files.", "type": "module", - "main": "./src/main.ts", + "main": "./src/index.ts", "engines": { "node": ">=22.6.0" }, diff --git a/recipes/correct-ts-specifiers/src/main.test.snap.cjs b/recipes/correct-ts-specifiers/src/index.test.snap.cjs similarity index 100% rename from recipes/correct-ts-specifiers/src/main.test.snap.cjs rename to recipes/correct-ts-specifiers/src/index.test.snap.cjs diff --git a/recipes/correct-ts-specifiers/src/main.test.ts b/recipes/correct-ts-specifiers/src/index.test.ts similarity index 97% rename from recipes/correct-ts-specifiers/src/main.test.ts rename to recipes/correct-ts-specifiers/src/index.test.ts index adc79d6..cdcea37 100644 --- a/recipes/correct-ts-specifiers/src/main.test.ts +++ b/recipes/correct-ts-specifiers/src/index.test.ts @@ -16,7 +16,7 @@ describe('workflow', () => { '--no-warnings', '--experimental-strip-types', '--experimental-import-meta-resolve', - '../../main.ts', + '../../index.ts', ], { cwd: e2eFixtPath, diff --git a/recipes/correct-ts-specifiers/src/main.ts b/recipes/correct-ts-specifiers/src/index.ts similarity index 100% rename from recipes/correct-ts-specifiers/src/main.ts rename to recipes/correct-ts-specifiers/src/index.ts From 6549652c68fcef3bfeba2d1860131030c8557697 Mon Sep 17 00:00:00 2001 From: Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> Date: Mon, 23 Dec 2024 18:52:40 +0100 Subject: [PATCH 12/15] fix: esbuild options paths --- build/bundle.mts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/build/bundle.mts b/build/bundle.mts index 6a41017..9d250ca 100644 --- a/build/bundle.mts +++ b/build/bundle.mts @@ -14,13 +14,12 @@ export async function bundle(recipeAbsPath: string) { const options: BuildOptions = { ...recipeOptions, bundle: true, - entryPoints: [pjson.main], + entryPoints: [path.join(recipeAbsPath, pjson.main)], loader: { - // '.node': 'file', + '.node': 'file', }, minify: true, - outfile: 'bundle.js', - outdir: recipeAbsPath, + outfile: path.join(recipeAbsPath, 'bundle.js'), platform: 'node', sourcemap: 'inline', target: 'node20', From c55cf062c42819313963ce5114154be414a316f9 Mon Sep 17 00:00:00 2001 From: Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> Date: Mon, 23 Dec 2024 18:53:39 +0100 Subject: [PATCH 13/15] =?UTF-8?q?switch=20`module.register`=20=E2=86=92=20?= =?UTF-8?q?`module.registerHooks`?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- recipes/correct-ts-specifiers/src/index.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/recipes/correct-ts-specifiers/src/index.ts b/recipes/correct-ts-specifiers/src/index.ts index 1f1e7b2..3f0e718 100644 --- a/recipes/correct-ts-specifiers/src/index.ts +++ b/recipes/correct-ts-specifiers/src/index.ts @@ -6,7 +6,9 @@ import type { Helpers } from '@codemod.com/workflow/dist/jsFam.d.ts'; import { mapImports } from './map-imports.ts'; import type { FSAbsolutePath } from './types.ts'; -module.register('@nodejs-loaders/alias', import.meta.url); +import * as aliasLoader from '@nodejs-loaders/alias'; + +module.registerHooks(aliasLoader); export async function workflow({ contexts, files }: Api) { await files(globPattern).jsFam(processModule); From 405638cde8812edde4214da808daa985c10a6cff Mon Sep 17 00:00:00 2001 From: Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> Date: Sat, 28 Dec 2024 15:12:27 +0100 Subject: [PATCH 14/15] WIP: update publish script --- build/publish.mts | 10 +- recipes/correct-ts-specifiers/.codemodrc.json | 12 +- recipes/correct-ts-specifiers/bundle.js | 1071 +++++++++++++++++ 3 files changed, 1082 insertions(+), 11 deletions(-) create mode 100644 recipes/correct-ts-specifiers/bundle.js diff --git a/build/publish.mts b/build/publish.mts index 56853ce..71b8f02 100644 --- a/build/publish.mts +++ b/build/publish.mts @@ -2,14 +2,14 @@ import path from 'node:path'; import { argv, cwd } from 'node:process'; import { parseArgs } from 'node:util'; -import { publish } from 'codemod'; +// import { publish } from 'codemod'; import { bundle, outfile } from './bundle.mts'; const { recipes, - status, + // status, } = parseArgs({ allowPositionals: true, args: argv, @@ -18,9 +18,9 @@ const { status: { type: 'boolean' }, }, }).values; -const recipeRelPaths: string[] = recipes?.slice(1, -1).split(' ') ?? []; +const recipeRelPaths: string[] = recipes?.split(' ') ?? []; -if (!status) throw new Error(`Unexpected status: ${status}`); +// if (!status) throw new Error(`Unexpected status: ${status}`); const rootPath = cwd(); @@ -31,7 +31,7 @@ for (let r = n - 1; r > -1; r--) { const recipeAbsPath = path.join(rootPath, recipeRelPath); publications[r] = bundle(recipeAbsPath) - .then(() => publish(path.join(recipeAbsPath, outfile))); + // .then(() => publish(path.join(recipeAbsPath, outfile))); } Promise.allSettled(publications) diff --git a/recipes/correct-ts-specifiers/.codemodrc.json b/recipes/correct-ts-specifiers/.codemodrc.json index 97ce545..d4c825c 100644 --- a/recipes/correct-ts-specifiers/.codemodrc.json +++ b/recipes/correct-ts-specifiers/.codemodrc.json @@ -1,18 +1,18 @@ { "$schema": "https://codemod-utils.s3.us-west-1.amazonaws.com/configuration_schema.json", "name": "correct-ts-specifiers", - "version": "1.0.0", + "version": "1.0.2", "engine": "workflow", "private": false, "arguments": [], - "entry": "./src/index.ts", "meta": { - "git": "https://github.com/nodejs/userland-migrations/tree/main/recipes/correct-ts-specifiers", "tags": [ "esm", "import", "node", "typescript" - ] - } -} + ], + "git": "https://github.com/nodejs/userland-migrations/tree/main/recipes/correct-ts-specifiers" + }, + "entry": "./src/index.ts" +} \ No newline at end of file diff --git a/recipes/correct-ts-specifiers/bundle.js b/recipes/correct-ts-specifiers/bundle.js new file mode 100644 index 0000000..b5767d8 --- /dev/null +++ b/recipes/correct-ts-specifiers/bundle.js @@ -0,0 +1,1071 @@ +var O2r=Object.create;var n2e=Object.defineProperty;var v2r=Object.getOwnPropertyDescriptor;var D2r=Object.getOwnPropertyNames;var S2r=Object.getPrototypeOf,$2r=Object.prototype.hasOwnProperty;var Li=(e=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof require<"u"?require:t)[r]}):e)(function(e){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')});var mp=(e,t)=>()=>(e&&(t=e(e=0)),t);var Le=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),x2=(e,t)=>{for(var r in t)n2e(e,r,{get:t[r],enumerable:!0})},Ngt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of D2r(t))!$2r.call(e,i)&&i!==r&&n2e(e,i,{get:()=>t[i],enumerable:!(n=v2r(t,i))||n.enumerable});return e};var Gs=(e,t,r)=>(r=e!=null?O2r(S2r(e)):{},Ngt(t||!e||!e.__esModule?n2e(r,"default",{value:e,enumerable:!0}):r,e)),AR=e=>Ngt(n2e({},"__esModule",{value:!0}),e);var cR={};x2(cR,{__addDisposableResource:()=>abt,__assign:()=>i2e,__asyncDelegator:()=>Jgt,__asyncGenerator:()=>jgt,__asyncValues:()=>Xgt,__await:()=>Ite,__awaiter:()=>zgt,__classPrivateFieldGet:()=>rbt,__classPrivateFieldIn:()=>ibt,__classPrivateFieldSet:()=>nbt,__createBinding:()=>s2e,__decorate:()=>Bgt,__disposeResources:()=>sbt,__esDecorate:()=>Mgt,__exportStar:()=>Ygt,__extends:()=>wgt,__generator:()=>Hgt,__importDefault:()=>tbt,__importStar:()=>ebt,__makeTemplateObject:()=>Zgt,__metadata:()=>Lgt,__param:()=>Igt,__propKey:()=>Ugt,__read:()=>j1t,__rest:()=>Pgt,__rewriteRelativeImportExtension:()=>obt,__runInitializers:()=>Wgt,__setFunctionName:()=>Fgt,__spread:()=>Kgt,__spreadArray:()=>Vgt,__spreadArrays:()=>Ggt,__values:()=>a2e,default:()=>w2r});function wgt(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");G1t(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}function Pgt(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(e);i=0;l--)(R=e[l])&&(s=(i<3?R(s):i>3?R(t,r,s):R(t,r))||s);return i>3&&s&&Object.defineProperty(t,r,s),s}function Igt(e,t){return function(r,n){t(r,n,e)}}function Mgt(e,t,r,n,i,s){function R(S){if(S!==void 0&&typeof S!="function")throw new TypeError("Function expected");return S}for(var l=n.kind,c=l==="getter"?"get":l==="setter"?"set":"value",h=!t&&e?n.static?e:e.prototype:null,_=t||(h?Object.getOwnPropertyDescriptor(h,n.name):{}),f,m=!1,x=r.length-1;x>=0;x--){var y={};for(var A in n)y[A]=A==="access"?{}:n[A];for(var A in n.access)y.access[A]=n.access[A];y.addInitializer=function(S){if(m)throw new TypeError("Cannot add initializers after decoration has completed");s.push(R(S||null))};var D=(0,r[x])(l==="accessor"?{get:_.get,set:_.set}:_[c],y);if(l==="accessor"){if(D===void 0)continue;if(D===null||typeof D!="object")throw new TypeError("Object expected");(f=R(D.get))&&(_.get=f),(f=R(D.set))&&(_.set=f),(f=R(D.init))&&i.unshift(f)}else(f=R(D))&&(l==="field"?i.unshift(f):_[c]=f)}h&&Object.defineProperty(h,n.name,_),m=!0}function Wgt(e,t,r){for(var n=arguments.length>2,i=0;i0&&s[s.length-1])&&(h[0]===6||h[0]===2)){r=0;continue}if(h[0]===3&&(!s||h[1]>s[0]&&h[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function j1t(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s}function Kgt(){for(var e=[],t=0;t1||c(x,A)})},y&&(i[x]=y(i[x])))}function c(x,y){try{h(n[x](y))}catch(A){m(s[0][3],A)}}function h(x){x.value instanceof Ite?Promise.resolve(x.value.v).then(_,f):m(s[0][2],x)}function _(x){c("next",x)}function f(x){c("throw",x)}function m(x,y){x(y),s.shift(),s.length&&c(s[0][0],s[0][1])}}function Jgt(e){var t,r;return t={},n("next"),n("throw",function(i){throw i}),n("return"),t[Symbol.iterator]=function(){return this},t;function n(i,s){t[i]=e[i]?function(R){return(r=!r)?{value:Ite(e[i](R)),done:!1}:s?s(R):R}:s}}function Xgt(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var t=e[Symbol.asyncIterator],r;return t?t.call(e):(e=typeof a2e=="function"?a2e(e):e[Symbol.iterator](),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(s){r[s]=e[s]&&function(R){return new Promise(function(l,c){R=e[s](R),i(l,c,R.done,R.value)})}}function i(s,R,l,c){Promise.resolve(c).then(function(h){s({value:h,done:l})},R)}}function Zgt(e,t){return Object.defineProperty?Object.defineProperty(e,"raw",{value:t}):e.raw=t,e}function ebt(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r=V1t(e),n=0;n{G1t=function(e,t){return G1t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var i in n)Object.prototype.hasOwnProperty.call(n,i)&&(r[i]=n[i])},G1t(e,t)};i2e=function(){return i2e=Object.assign||function(t){for(var r,n=1,i=arguments.length;n{"use strict";Object.defineProperty(Mte,"__esModule",{value:!0});var P2r=(TR(),AR(cR)),J1t="Invariant Violation",Rbt=Object.setPrototypeOf,B2r=Rbt===void 0?function(e,t){return e.__proto__=t,e}:Rbt,ubt=function(e){P2r.__extends(t,e);function t(r){r===void 0&&(r=J1t);var n=e.call(this,typeof r=="number"?J1t+": "+r+" (see https://github.com/apollographql/invariant-packages)":r)||this;return n.framesToPop=1,n.name=J1t,B2r(n,t.prototype),n}return t}(Error);function R2e(e,t){if(!e)throw new ubt(t)}var u2e=["debug","log","warn","error","silent"],X1t=u2e.indexOf("log");function o2e(e){return function(){if(u2e.indexOf(e)>=X1t){var t=console[e]||console.log;return t.apply(console,arguments)}}}(function(e){e.debug=o2e("debug"),e.log=o2e("log"),e.warn=o2e("warn"),e.error=o2e("error")})(R2e||(R2e={}));function I2r(e){var t=u2e[X1t];return X1t=Math.max(0,u2e.indexOf(e)),t}var M2r=R2e;Mte.InvariantError=ubt;Mte.default=M2r;Mte.invariant=R2e;Mte.setVerbosity=I2r});var ept=Le((JJn,lbt)=>{var Wte=1e3,Ute=Wte*60,Fte=Ute*60,JV=Fte*24,W2r=JV*7,U2r=JV*365.25;lbt.exports=function(e,t){t=t||{};var r=typeof e;if(r==="string"&&e.length>0)return F2r(e);if(r==="number"&&isFinite(e))return t.long?z2r(e):L2r(e);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(e))};function F2r(e){if(e=String(e),!(e.length>100)){var t=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(e);if(t){var r=parseFloat(t[1]),n=(t[2]||"ms").toLowerCase();switch(n){case"years":case"year":case"yrs":case"yr":case"y":return r*U2r;case"weeks":case"week":case"w":return r*W2r;case"days":case"day":case"d":return r*JV;case"hours":case"hour":case"hrs":case"hr":case"h":return r*Fte;case"minutes":case"minute":case"mins":case"min":case"m":return r*Ute;case"seconds":case"second":case"secs":case"sec":case"s":return r*Wte;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function L2r(e){var t=Math.abs(e);return t>=JV?Math.round(e/JV)+"d":t>=Fte?Math.round(e/Fte)+"h":t>=Ute?Math.round(e/Ute)+"m":t>=Wte?Math.round(e/Wte)+"s":e+"ms"}function z2r(e){var t=Math.abs(e);return t>=JV?l2e(e,t,JV,"day"):t>=Fte?l2e(e,t,Fte,"hour"):t>=Ute?l2e(e,t,Ute,"minute"):t>=Wte?l2e(e,t,Wte,"second"):e+" ms"}function l2e(e,t,r,n){var i=t>=r*1.5;return Math.round(e/r)+" "+n+(i?"s":"")}});var tpt=Le((XJn,cbt)=>{function H2r(e){r.debug=r,r.default=r,r.coerce=c,r.disable=R,r.enable=i,r.enabled=l,r.humanize=ept(),r.destroy=h,Object.keys(e).forEach(_=>{r[_]=e[_]}),r.names=[],r.skips=[],r.formatters={};function t(_){let f=0;for(let m=0;m<_.length;m++)f=(f<<5)-f+_.charCodeAt(m),f|=0;return r.colors[Math.abs(f)%r.colors.length]}r.selectColor=t;function r(_){let f,m=null,x,y;function A(...D){if(!A.enabled)return;let S=A,P=Number(new Date),M=P-(f||P);S.diff=M,S.prev=f,S.curr=P,f=P,D[0]=r.coerce(D[0]),typeof D[0]!="string"&&D.unshift("%O");let U=0;D[0]=D[0].replace(/%([a-zA-Z%])/g,(F,H)=>{if(F==="%%")return"%";U++;let G=r.formatters[H];if(typeof G=="function"){let ee=D[U];F=G.call(S,ee),D.splice(U,1),U--}return F}),r.formatArgs.call(S,D),(S.log||r.log).apply(S,D)}return A.namespace=_,A.useColors=r.useColors(),A.color=r.selectColor(_),A.extend=n,A.destroy=r.destroy,Object.defineProperty(A,"enabled",{enumerable:!0,configurable:!1,get:()=>m!==null?m:(x!==r.namespaces&&(x=r.namespaces,y=r.enabled(_)),y),set:D=>{m=D}}),typeof r.init=="function"&&r.init(A),A}function n(_,f){let m=r(this.namespace+(typeof f>"u"?":":f)+_);return m.log=this.log,m}function i(_){r.save(_),r.namespaces=_,r.names=[],r.skips=[];let f=(typeof _=="string"?_:"").trim().replace(" ",",").split(",").filter(Boolean);for(let m of f)m[0]==="-"?r.skips.push(m.slice(1)):r.names.push(m)}function s(_,f){let m=0,x=0,y=-1,A=0;for(;m<_.length;)if(x"-"+f)].join(",");return r.enable(""),_}function l(_){for(let f of r.skips)if(s(_,f))return!1;for(let f of r.names)if(s(_,f))return!0;return!1}function c(_){return _ instanceof Error?_.stack||_.message:_}function h(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}cbt.exports=H2r});var Tbt=Le((RA,c2e)=>{RA.formatArgs=K2r;RA.save=G2r;RA.load=V2r;RA.useColors=Y2r;RA.storage=j2r();RA.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();RA.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function Y2r(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function K2r(e){if(e[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+e[0]+(this.useColors?"%c ":" ")+"+"+c2e.exports.humanize(this.diff),!this.useColors)return;let t="color: "+this.color;e.splice(1,0,t,"color: inherit");let r=0,n=0;e[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(r++,i==="%c"&&(n=r))}),e.splice(n,0,t)}RA.log=console.debug||console.log||(()=>{});function G2r(e){try{e?RA.storage.setItem("debug",e):RA.storage.removeItem("debug")}catch{}}function V2r(){let e;try{e=RA.storage.getItem("debug")}catch{}return!e&&typeof process<"u"&&"env"in process&&(e=process.env.DEBUG),e}function j2r(){try{return localStorage}catch{}}c2e.exports=tpt()(RA);var{formatters:J2r}=c2e.exports;J2r.j=function(e){try{return JSON.stringify(e)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}}});var _bt=Le((ZJn,pbt)=>{"use strict";pbt.exports=(e,t=process.argv)=>{let r=e.startsWith("-")?"":e.length===1?"-":"--",n=t.indexOf(r+e),i=t.indexOf("--");return n!==-1&&(i===-1||n{"use strict";var X2r=Li("os"),hbt=Li("tty"),v3=_bt(),{env:k7}=process,_I;v3("no-color")||v3("no-colors")||v3("color=false")||v3("color=never")?_I=0:(v3("color")||v3("colors")||v3("color=true")||v3("color=always"))&&(_I=1);"FORCE_COLOR"in k7&&(k7.FORCE_COLOR==="true"?_I=1:k7.FORCE_COLOR==="false"?_I=0:_I=k7.FORCE_COLOR.length===0?1:Math.min(parseInt(k7.FORCE_COLOR,10),3));function rpt(e){return e===0?!1:{level:e,hasBasic:!0,has256:e>=2,has16m:e>=3}}function npt(e,t){if(_I===0)return 0;if(v3("color=16m")||v3("color=full")||v3("color=truecolor"))return 3;if(v3("color=256"))return 2;if(e&&!t&&_I===void 0)return 0;let r=_I||0;if(k7.TERM==="dumb")return r;if(process.platform==="win32"){let n=X2r.release().split(".");return Number(n[0])>=10&&Number(n[2])>=10586?Number(n[2])>=14931?3:2:1}if("CI"in k7)return["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","GITHUB_ACTIONS","BUILDKITE"].some(n=>n in k7)||k7.CI_NAME==="codeship"?1:r;if("TEAMCITY_VERSION"in k7)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(k7.TEAMCITY_VERSION)?1:0;if(k7.COLORTERM==="truecolor")return 3;if("TERM_PROGRAM"in k7){let n=parseInt((k7.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(k7.TERM_PROGRAM){case"iTerm.app":return n>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(k7.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(k7.TERM)||"COLORTERM"in k7?1:r}function Z2r(e){let t=npt(e,e&&e.isTTY);return rpt(t)}fbt.exports={supportsColor:Z2r,stdout:rpt(npt(!0,hbt.isatty(1))),stderr:rpt(npt(!0,hbt.isatty(2)))}});var xbt=Le((y7,p2e)=>{var e7r=Li("tty"),T2e=Li("util");y7.init=o7r;y7.log=i7r;y7.formatArgs=r7r;y7.save=a7r;y7.load=s7r;y7.useColors=t7r;y7.destroy=T2e.deprecate(()=>{},"Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.");y7.colors=[6,2,3,4,5,1];try{let e=ipt();e&&(e.stderr||e).level>=2&&(y7.colors=[20,21,26,27,32,33,38,39,40,41,42,43,44,45,56,57,62,63,68,69,74,75,76,77,78,79,80,81,92,93,98,99,112,113,128,129,134,135,148,149,160,161,162,163,164,165,166,167,168,169,170,171,172,173,178,179,184,185,196,197,198,199,200,201,202,203,204,205,206,207,208,209,214,215,220,221])}catch{}y7.inspectOpts=Object.keys(process.env).filter(e=>/^debug_/i.test(e)).reduce((e,t)=>{let r=t.substring(6).toLowerCase().replace(/_([a-z])/g,(i,s)=>s.toUpperCase()),n=process.env[t];return/^(yes|on|true|enabled)$/i.test(n)?n=!0:/^(no|off|false|disabled)$/i.test(n)?n=!1:n==="null"?n=null:n=Number(n),e[r]=n,e},{});function t7r(){return"colors"in y7.inspectOpts?!!y7.inspectOpts.colors:e7r.isatty(process.stderr.fd)}function r7r(e){let{namespace:t,useColors:r}=this;if(r){let n=this.color,i="\x1B[3"+(n<8?n:"8;5;"+n),s=` ${i};1m${t} \x1B[0m`;e[0]=s+e[0].split(` +`).join(` +`+s),e.push(i+"m+"+p2e.exports.humanize(this.diff)+"\x1B[0m")}else e[0]=n7r()+t+" "+e[0]}function n7r(){return y7.inspectOpts.hideDate?"":new Date().toISOString()+" "}function i7r(...e){return process.stderr.write(T2e.formatWithOptions(y7.inspectOpts,...e)+` +`)}function a7r(e){e?process.env.DEBUG=e:delete process.env.DEBUG}function s7r(){return process.env.DEBUG}function o7r(e){e.inspectOpts={};let t=Object.keys(y7.inspectOpts);for(let r=0;rt.trim()).join(" ")};dbt.O=function(e){return this.inspectOpts.colors=this.useColors,T2e.inspect(e,this.inspectOpts)}});var spt=Le((tXn,apt)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?apt.exports=Tbt():apt.exports=xbt()});var mbt=Le(uA=>{"use strict";var R7r=uA&&uA.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(uA,"__esModule",{value:!0});var u7r=Li("fs"),l7r=R7r(spt()),Lte=l7r.default("@kwsites/file-exists");function c7r(e,t,r){Lte("checking %s",e);try{let n=u7r.statSync(e);return n.isFile()&&t?(Lte("[OK] path represents a file"),!0):n.isDirectory()&&r?(Lte("[OK] path represents a directory"),!0):(Lte("[FAIL] path represents something other than a file or directory"),!1)}catch(n){if(n.code==="ENOENT")return Lte("[FAIL] path is not accessible: %o",n),!1;throw Lte("[FATAL] %o",n),n}}function T7r(e,t=uA.READABLE){return c7r(e,(t&uA.FILE)>0,(t&uA.FOLDER)>0)}uA.exists=T7r;uA.FILE=1;uA.FOLDER=2;uA.READABLE=uA.FILE+uA.FOLDER});var kbt=Le(_2e=>{"use strict";function p7r(e){for(var t in e)_2e.hasOwnProperty(t)||(_2e[t]=e[t])}Object.defineProperty(_2e,"__esModule",{value:!0});p7r(mbt())});var Rpt=Le(XV=>{"use strict";Object.defineProperty(XV,"__esModule",{value:!0});XV.createDeferred=XV.deferred=void 0;function opt(){let e,t,r="pending";return{promise:new Promise((i,s)=>{e=i,t=s}),done(i){r==="pending"&&(r="resolved",e(i))},fail(i){r==="pending"&&(r="rejected",t(i))},get fulfilled(){return r!=="pending"},get status(){return r}}}XV.deferred=opt;XV.createDeferred=opt;XV.default=opt});var tvt=Le((BXn,evt)=>{evt.exports={colors:["black","red","green","yellow","blue","magenta","cyan","white"],styles:["bold","faint","italic","underline","blink","overline","inverse","conceal","strike"]}});var nvt=Le((IXn,rvt)=>{var kTe=process.argv;rvt.exports=function(){return kTe.indexOf("--no-color")!==-1||kTe.indexOf("--color=false")!==-1?!1:kTe.indexOf("--color")!==-1||kTe.indexOf("--color=true")!==-1||kTe.indexOf("--color=always")!==-1?!0:process.stdout&&!process.stdout.isTTY?!1:process.platform==="win32"||"COLORTERM"in process.env?!0:process.env.TERM==="dumb"?!1:!!/^screen|^xterm|^vt100|color|ansi|cygwin|linux/i.test(process.env.TERM)}()});var ovt=Le($m=>{var svt=tvt(),dI=nvt(),ivt=svt.colors,avt=svt.styles;$m.color={};function Sv(e){this.string=e,this.styles=[],this.fgcolor=null,this.bgcolor=null,this.fgcolor_bt=null,this.bgcolor_bt=null,this.fgcolor_x=null,this.bgcolor_x=null}for(AC=0;AC{var byr=ovt();Rvt=uvt.exports=byr});var fvt=Le((WXn,hvt)=>{"use strict";var _vt=Li("child_process"),cvt=_vt.spawn,Eyr=_vt.exec;hvt.exports=function(e,t,r){if(typeof t=="function"&&r===void 0&&(r=t,t=void 0),e=parseInt(e),Number.isNaN(e)){if(r)return r(new Error("pid must be a number"));throw new Error("pid must be a number")}var n={},i={};switch(n[e]=[],i[e]=1,process.platform){case"win32":Eyr("taskkill /pid "+e+" /T /F",r);break;case"darwin":Xpt(e,n,i,function(s){return cvt("pgrep",["-P",s])},function(){Tvt(n,t,r)});break;default:Xpt(e,n,i,function(s){return cvt("ps",["-o","pid","--no-headers","--ppid",s])},function(){Tvt(n,t,r)});break}};function Tvt(e,t,r){var n={};try{Object.keys(e).forEach(function(i){e[i].forEach(function(s){n[s]||(pvt(s,t),n[s]=1)}),n[i]||(pvt(i,t),n[i]=1)})}catch(i){if(r)return r(i);throw i}if(r)return r()}function pvt(e,t){try{process.kill(parseInt(e,10),t)}catch(r){if(r.code!=="ESRCH")throw r}}function Xpt(e,t,r,n,i){var s=n(e),R="";s.stdout.on("data",function(h){var h=h.toString("ascii");R+=h});var l=function(c){if(delete r[e],c!=0){Object.keys(r).length==0&&i();return}R.match(/\d+/g).forEach(function(h){h=parseInt(h,10),t[e].push(h),t[h]=[],r[h]=1,Xpt(h,t,r,n,i)})};s.on("close",l)}});var yvt=Le((UXn,kvt)=>{"use strict";kvt.exports=xvt;function xvt(e,t,r){e instanceof RegExp&&(e=dvt(e,r)),t instanceof RegExp&&(t=dvt(t,r));var n=mvt(e,t,r);return n&&{start:n[0],end:n[1],pre:r.slice(0,n[0]),body:r.slice(n[0]+e.length,n[1]),post:r.slice(n[1]+t.length)}}function dvt(e,t){var r=t.match(e);return r?r[0]:null}xvt.range=mvt;function mvt(e,t,r){var n,i,s,R,l,c=r.indexOf(e),h=r.indexOf(t,c+1),_=c;if(c>=0&&h>0){if(e===t)return[c,h];for(n=[],s=r.length;_>=0&&!l;)_==c?(n.push(_),c=r.indexOf(e,_+1)):n.length==1?l=[n.pop(),h]:(i=n.pop(),i=0?c:h;n.length&&(l=[s,R])}return l}});var vvt=Le((FXn,Ovt)=>{var qvt=yvt();Ovt.exports=Dyr;var Cvt="\0SLASH"+Math.random()+"\0",Avt="\0OPEN"+Math.random()+"\0",e_t="\0CLOSE"+Math.random()+"\0",gvt="\0COMMA"+Math.random()+"\0",bvt="\0PERIOD"+Math.random()+"\0";function Zpt(e){return parseInt(e,10)==e?parseInt(e,10):e.charCodeAt(0)}function Oyr(e){return e.split("\\\\").join(Cvt).split("\\{").join(Avt).split("\\}").join(e_t).split("\\,").join(gvt).split("\\.").join(bvt)}function vyr(e){return e.split(Cvt).join("\\").split(Avt).join("{").split(e_t).join("}").split(gvt).join(",").split(bvt).join(".")}function Evt(e){if(!e)return[""];var t=[],r=qvt("{","}",e);if(!r)return e.split(",");var n=r.pre,i=r.body,s=r.post,R=n.split(",");R[R.length-1]+="{"+i+"}";var l=Evt(s);return s.length&&(R[R.length-1]+=l.shift(),R.push.apply(R,l)),t.push.apply(t,R),t}function Dyr(e){return e?(e.substr(0,2)==="{}"&&(e="\\{\\}"+e.substr(2)),yTe(Oyr(e),!0).map(vyr)):[]}function Syr(e){return"{"+e+"}"}function $yr(e){return/^-?0\d/.test(e)}function Qyr(e,t){return e<=t}function Nyr(e,t){return e>=t}function yTe(e,t){var r=[],n=qvt("{","}",e);if(!n)return[e];var i=n.pre,s=n.post.length?yTe(n.post,!1):[""];if(/\$$/.test(n.pre))for(var R=0;R=0;if(!_&&!f)return n.post.match(/,.*\}/)?(e=n.pre+"{"+n.body+e_t+n.post,yTe(e)):[e];var m;if(_)m=n.body.split(/\.\./);else if(m=Evt(n.body),m.length===1&&(m=yTe(m[0],!1).map(Syr),m.length===1))return s.map(function(fe){return n.pre+m[0]+fe});var x;if(_){var y=Zpt(m[0]),A=Zpt(m[1]),D=Math.max(m[0].length,m[1].length),S=m.length==3?Math.abs(Zpt(m[2])):1,P=Qyr,M=A0){var G=new Array(H+1).join("0");w<0?F="-"+G+F.slice(1):F=G+F}}x.push(F)}}else{x=[];for(var ee=0;ee{t4r.exports="./ast-grep-napi.darwin-arm64-76HBHTWZ.node"});var Z2e=Le((VZn,ry)=>{var{existsSync:ey,readFileSync:r4r}=Li("fs"),{join:ty}=Li("path"),{platform:hDt,arch:OE}=process,Qu=null,_l=!1,Nm=null;function x_t(){if(!process.report||typeof process.report.getReport!="function")try{let e=Li("child_process").execSync("which ldd").toString().trim();return r4r(e,"utf8").includes("musl")}catch{return!0}else{let{glibcVersionRuntime:e}=process.report.getReport().header;return!e}}switch(hDt){case"android":switch(OE){case"arm64":_l=ey(ty(__dirname,"ast-grep-napi.android-arm64.node"));try{_l?Qu=Li("./ast-grep-napi.android-arm64.node"):Qu=Li("@ast-grep/napi-android-arm64")}catch(e){Nm=e}break;case"arm":_l=ey(ty(__dirname,"ast-grep-napi.android-arm-eabi.node"));try{_l?Qu=Li("./ast-grep-napi.android-arm-eabi.node"):Qu=Li("@ast-grep/napi-android-arm-eabi")}catch(e){Nm=e}break;default:throw new Error(`Unsupported architecture on Android ${OE}`)}break;case"win32":switch(OE){case"x64":_l=ey(ty(__dirname,"ast-grep-napi.win32-x64-msvc.node"));try{_l?Qu=Li("./ast-grep-napi.win32-x64-msvc.node"):Qu=Li("@ast-grep/napi-win32-x64-msvc")}catch(e){Nm=e}break;case"ia32":_l=ey(ty(__dirname,"ast-grep-napi.win32-ia32-msvc.node"));try{_l?Qu=Li("./ast-grep-napi.win32-ia32-msvc.node"):Qu=Li("@ast-grep/napi-win32-ia32-msvc")}catch(e){Nm=e}break;case"arm64":_l=ey(ty(__dirname,"ast-grep-napi.win32-arm64-msvc.node"));try{_l?Qu=Li("./ast-grep-napi.win32-arm64-msvc.node"):Qu=Li("@ast-grep/napi-win32-arm64-msvc")}catch(e){Nm=e}break;default:throw new Error(`Unsupported architecture on Windows: ${OE}`)}break;case"darwin":_l=ey(ty(__dirname,"ast-grep-napi.darwin-universal.node"));try{_l?Qu=Li("./ast-grep-napi.darwin-universal.node"):Qu=Li("@ast-grep/napi-darwin-universal");break}catch{}switch(OE){case"x64":_l=ey(ty(__dirname,"ast-grep-napi.darwin-x64.node"));try{_l?Qu=Li("./ast-grep-napi.darwin-x64.node"):Qu=Li("@ast-grep/napi-darwin-x64")}catch(e){Nm=e}break;case"arm64":_l=ey(ty(__dirname,"ast-grep-napi.darwin-arm64.node"));try{_l?Qu=Li("./ast-grep-napi.darwin-arm64.node"):Qu=_Dt()}catch(e){Nm=e}break;default:throw new Error(`Unsupported architecture on macOS: ${OE}`)}break;case"freebsd":if(OE!=="x64")throw new Error(`Unsupported architecture on FreeBSD: ${OE}`);_l=ey(ty(__dirname,"ast-grep-napi.freebsd-x64.node"));try{_l?Qu=Li("./ast-grep-napi.freebsd-x64.node"):Qu=Li("@ast-grep/napi-freebsd-x64")}catch(e){Nm=e}break;case"linux":switch(OE){case"x64":if(x_t()){_l=ey(ty(__dirname,"ast-grep-napi.linux-x64-musl.node"));try{_l?Qu=Li("./ast-grep-napi.linux-x64-musl.node"):Qu=Li("@ast-grep/napi-linux-x64-musl")}catch(e){Nm=e}}else{_l=ey(ty(__dirname,"ast-grep-napi.linux-x64-gnu.node"));try{_l?Qu=Li("./ast-grep-napi.linux-x64-gnu.node"):Qu=Li("@ast-grep/napi-linux-x64-gnu")}catch(e){Nm=e}}break;case"arm64":if(x_t()){_l=ey(ty(__dirname,"ast-grep-napi.linux-arm64-musl.node"));try{_l?Qu=Li("./ast-grep-napi.linux-arm64-musl.node"):Qu=Li("@ast-grep/napi-linux-arm64-musl")}catch(e){Nm=e}}else{_l=ey(ty(__dirname,"ast-grep-napi.linux-arm64-gnu.node"));try{_l?Qu=Li("./ast-grep-napi.linux-arm64-gnu.node"):Qu=Li("@ast-grep/napi-linux-arm64-gnu")}catch(e){Nm=e}}break;case"arm":_l=ey(ty(__dirname,"ast-grep-napi.linux-arm-gnueabihf.node"));try{_l?Qu=Li("./ast-grep-napi.linux-arm-gnueabihf.node"):Qu=Li("@ast-grep/napi-linux-arm-gnueabihf")}catch(e){Nm=e}break;case"riscv64":if(x_t()){_l=ey(ty(__dirname,"ast-grep-napi.linux-riscv64-musl.node"));try{_l?Qu=Li("./ast-grep-napi.linux-riscv64-musl.node"):Qu=Li("@ast-grep/napi-linux-riscv64-musl")}catch(e){Nm=e}}else{_l=ey(ty(__dirname,"ast-grep-napi.linux-riscv64-gnu.node"));try{_l?Qu=Li("./ast-grep-napi.linux-riscv64-gnu.node"):Qu=Li("@ast-grep/napi-linux-riscv64-gnu")}catch(e){Nm=e}}break;default:throw new Error(`Unsupported architecture on Linux: ${OE}`)}break;default:throw new Error(`Unsupported OS: ${hDt}, architecture: ${OE}`)}if(!Qu)throw Nm||new Error("Failed to load native binding");var{parseFiles:n4r,Lang:i4r,SgNode:a4r,SgRoot:s4r,parse:o4r,parseAsync:R4r,kind:u4r,pattern:l4r,findInFiles:c4r,html:T4r,js:p4r,jsx:_4r,ts:h4r,tsx:f4r,css:d4r}=Qu;ry.exports.parseFiles=n4r;ry.exports.Lang=i4r;ry.exports.SgNode=a4r;ry.exports.SgRoot=s4r;ry.exports.parse=o4r;ry.exports.parseAsync=R4r;ry.exports.kind=u4r;ry.exports.pattern=l4r;ry.exports.findInFiles=c4r;ry.exports.html=T4r;ry.exports.js=p4r;ry.exports.jsx=_4r;ry.exports.ts=h4r;ry.exports.tsx=f4r;ry.exports.css=d4r});var Nu=Le(wm=>{"use strict";var m_t=Symbol.for("yaml.alias"),fDt=Symbol.for("yaml.document"),e7e=Symbol.for("yaml.map"),dDt=Symbol.for("yaml.pair"),k_t=Symbol.for("yaml.scalar"),t7e=Symbol.for("yaml.seq"),_N=Symbol.for("yaml.node.type"),x4r=e=>!!e&&typeof e=="object"&&e[_N]===m_t,m4r=e=>!!e&&typeof e=="object"&&e[_N]===fDt,k4r=e=>!!e&&typeof e=="object"&&e[_N]===e7e,y4r=e=>!!e&&typeof e=="object"&&e[_N]===dDt,xDt=e=>!!e&&typeof e=="object"&&e[_N]===k_t,q4r=e=>!!e&&typeof e=="object"&&e[_N]===t7e;function mDt(e){if(e&&typeof e=="object")switch(e[_N]){case e7e:case t7e:return!0}return!1}function C4r(e){if(e&&typeof e=="object")switch(e[_N]){case m_t:case e7e:case k_t:case t7e:return!0}return!1}var A4r=e=>(xDt(e)||mDt(e))&&!!e.anchor;wm.ALIAS=m_t;wm.DOC=fDt;wm.MAP=e7e;wm.NODE_TYPE=_N;wm.PAIR=dDt;wm.SCALAR=k_t;wm.SEQ=t7e;wm.hasAnchor=A4r;wm.isAlias=x4r;wm.isCollection=mDt;wm.isDocument=m4r;wm.isMap=k4r;wm.isNode=C4r;wm.isPair=y4r;wm.isScalar=xDt;wm.isSeq=q4r});var BTe=Le(y_t=>{"use strict";var m2=Nu(),gC=Symbol("break visit"),kDt=Symbol("skip children"),wv=Symbol("remove node");function r7e(e,t){let r=yDt(t);m2.isDocument(e)?ire(null,e.contents,r,Object.freeze([e]))===wv&&(e.contents=null):ire(null,e,r,Object.freeze([]))}r7e.BREAK=gC;r7e.SKIP=kDt;r7e.REMOVE=wv;function ire(e,t,r,n){let i=qDt(e,t,r,n);if(m2.isNode(i)||m2.isPair(i))return CDt(e,n,i),ire(e,i,r,n);if(typeof i!="symbol"){if(m2.isCollection(t)){n=Object.freeze(n.concat(t));for(let s=0;s{"use strict";var ADt=Nu(),g4r=BTe(),b4r={"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"},E4r=e=>e.replace(/[!,[\]{}]/g,t=>b4r[t]),ITe=class e{constructor(t,r){this.docStart=null,this.docEnd=!1,this.yaml=Object.assign({},e.defaultYaml,t),this.tags=Object.assign({},e.defaultTags,r)}clone(){let t=new e(this.yaml,this.tags);return t.docStart=this.docStart,t}atDocument(){let t=new e(this.yaml,this.tags);switch(this.yaml.version){case"1.1":this.atNextDocument=!0;break;case"1.2":this.atNextDocument=!1,this.yaml={explicit:e.defaultYaml.explicit,version:"1.2"},this.tags=Object.assign({},e.defaultTags);break}return t}add(t,r){this.atNextDocument&&(this.yaml={explicit:e.defaultYaml.explicit,version:"1.1"},this.tags=Object.assign({},e.defaultTags),this.atNextDocument=!1);let n=t.trim().split(/[ \t]+/),i=n.shift();switch(i){case"%TAG":{if(n.length!==2&&(r(0,"%TAG directive should contain exactly two parts"),n.length<2))return!1;let[s,R]=n;return this.tags[s]=R,!0}case"%YAML":{if(this.yaml.explicit=!0,n.length!==1)return r(0,"%YAML directive should contain exactly one part"),!1;let[s]=n;if(s==="1.1"||s==="1.2")return this.yaml.version=s,!0;{let R=/^\d+\.\d+$/.test(s);return r(6,`Unsupported YAML version ${s}`,R),!1}}default:return r(0,`Unknown directive ${i}`,!0),!1}}tagName(t,r){if(t==="!")return"!";if(t[0]!=="!")return r(`Not a valid tag: ${t}`),null;if(t[1]==="<"){let R=t.slice(2,-1);return R==="!"||R==="!!"?(r(`Verbatim tags aren't resolved, so ${t} is invalid.`),null):(t[t.length-1]!==">"&&r("Verbatim tags must end with a >"),R)}let[,n,i]=t.match(/^(.*!)([^!]*)$/s);i||r(`The ${t} tag has no suffix`);let s=this.tags[n];if(s)try{return s+decodeURIComponent(i)}catch(R){return r(String(R)),null}return n==="!"?t:(r(`Could not resolve tag: ${t}`),null)}tagString(t){for(let[r,n]of Object.entries(this.tags))if(t.startsWith(n))return r+E4r(t.substring(n.length));return t[0]==="!"?t:`!<${t}>`}toString(t){let r=this.yaml.explicit?[`%YAML ${this.yaml.version||"1.2"}`]:[],n=Object.entries(this.tags),i;if(t&&n.length>0&&ADt.isNode(t.contents)){let s={};g4r.visit(t.contents,(R,l)=>{ADt.isNode(l)&&l.tag&&(s[l.tag]=!0)}),i=Object.keys(s)}else i=[];for(let[s,R]of n)s==="!!"&&R==="tag:yaml.org,2002:"||(!t||i.some(l=>l.startsWith(R)))&&r.push(`%TAG ${s} ${R}`);return r.join(` +`)}};ITe.defaultYaml={explicit:!1,version:"1.2"};ITe.defaultTags={"!!":"tag:yaml.org,2002:"};gDt.Directives=ITe});var i7e=Le(MTe=>{"use strict";var bDt=Nu(),O4r=BTe();function v4r(e){if(/[\x00-\x19\s,[\]{}]/.test(e)){let r=`Anchor must not contain whitespace or control characters: ${JSON.stringify(e)}`;throw new Error(r)}return!0}function EDt(e){let t=new Set;return O4r.visit(e,{Value(r,n){n.anchor&&t.add(n.anchor)}}),t}function ODt(e,t){for(let r=1;;++r){let n=`${e}${r}`;if(!t.has(n))return n}}function D4r(e,t){let r=[],n=new Map,i=null;return{onAnchor:s=>{r.push(s),i||(i=EDt(e));let R=ODt(t,i);return i.add(R),R},setAnchors:()=>{for(let s of r){let R=n.get(s);if(typeof R=="object"&&R.anchor&&(bDt.isScalar(R.node)||bDt.isCollection(R.node)))R.node.anchor=R.anchor;else{let l=new Error("Failed to resolve repeated object (this should not happen)");throw l.source=s,l}}},sourceObjects:n}}MTe.anchorIsValid=v4r;MTe.anchorNames=EDt;MTe.createNodeAnchors=D4r;MTe.findNewAnchor=ODt});var C_t=Le(vDt=>{"use strict";function WTe(e,t,r,n){if(n&&typeof n=="object")if(Array.isArray(n))for(let i=0,s=n.length;i{"use strict";var S4r=Nu();function DDt(e,t,r){if(Array.isArray(e))return e.map((n,i)=>DDt(n,String(i),r));if(e&&typeof e.toJSON=="function"){if(!r||!S4r.hasAnchor(e))return e.toJSON(t,r);let n={aliasCount:0,count:1,res:void 0};r.anchors.set(e,n),r.onCreate=s=>{n.res=s,delete r.onCreate};let i=e.toJSON(t,r);return r.onCreate&&r.onCreate(i),i}return typeof e=="bigint"&&!r?.keep?Number(e):e}SDt.toJS=DDt});var a7e=Le(QDt=>{"use strict";var $4r=C_t(),$Dt=Nu(),Q4r=yI(),A_t=class{constructor(t){Object.defineProperty(this,$Dt.NODE_TYPE,{value:t})}clone(){let t=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return this.range&&(t.range=this.range.slice()),t}toJS(t,{mapAsMap:r,maxAliasCount:n,onAnchor:i,reviver:s}={}){if(!$Dt.isDocument(t))throw new TypeError("A document argument is required");let R={anchors:new Map,doc:t,keep:!0,mapAsMap:r===!0,mapKeyWarned:!1,maxAliasCount:typeof n=="number"?n:100},l=Q4r.toJS(this,"",R);if(typeof i=="function")for(let{count:c,res:h}of R.anchors.values())i(h,c);return typeof s=="function"?$4r.applyReviver(s,{"":l},"",l):l}};QDt.NodeBase=A_t});var UTe=Le(wDt=>{"use strict";var N4r=i7e(),NDt=BTe(),s7e=Nu(),w4r=a7e(),P4r=yI(),g_t=class extends w4r.NodeBase{constructor(t){super(s7e.ALIAS),this.source=t,Object.defineProperty(this,"tag",{set(){throw new Error("Alias nodes cannot have tags")}})}resolve(t){let r;return NDt.visit(t,{Node:(n,i)=>{if(i===this)return NDt.visit.BREAK;i.anchor===this.source&&(r=i)}}),r}toJSON(t,r){if(!r)return{source:this.source};let{anchors:n,doc:i,maxAliasCount:s}=r,R=this.resolve(i);if(!R){let c=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new ReferenceError(c)}let l=n.get(R);if(l||(P4r.toJS(R,null,r),l=n.get(R)),!l||l.res===void 0){let c="This should not happen: Alias anchor was not resolved?";throw new ReferenceError(c)}if(s>=0&&(l.count+=1,l.aliasCount===0&&(l.aliasCount=o7e(i,R,n)),l.count*l.aliasCount>s)){let c="Excessive alias count indicates a resource exhaustion attack";throw new ReferenceError(c)}return l.res}toString(t,r,n){let i=`*${this.source}`;if(t){if(N4r.anchorIsValid(this.source),t.options.verifyAliasOrder&&!t.anchors.has(this.source)){let s=`Unresolved alias (the anchor must be set before the alias): ${this.source}`;throw new Error(s)}if(t.implicitKey)return`${i} `}return i}};function o7e(e,t,r){if(s7e.isAlias(t)){let n=t.resolve(e),i=r&&n&&r.get(n);return i?i.count*i.aliasCount:0}else if(s7e.isCollection(t)){let n=0;for(let i of t.items){let s=o7e(e,i,r);s>n&&(n=s)}return n}else if(s7e.isPair(t)){let n=o7e(e,t.key,r),i=o7e(e,t.value,r);return Math.max(n,i)}return 1}wDt.Alias=g_t});var hx=Le(b_t=>{"use strict";var B4r=Nu(),I4r=a7e(),M4r=yI(),W4r=e=>!e||typeof e!="function"&&typeof e!="object",qI=class extends I4r.NodeBase{constructor(t){super(B4r.SCALAR),this.value=t}toJSON(t,r){return r?.keep?this.value:M4r.toJS(this.value,t,r)}toString(){return String(this.value)}};qI.BLOCK_FOLDED="BLOCK_FOLDED";qI.BLOCK_LITERAL="BLOCK_LITERAL";qI.PLAIN="PLAIN";qI.QUOTE_DOUBLE="QUOTE_DOUBLE";qI.QUOTE_SINGLE="QUOTE_SINGLE";b_t.Scalar=qI;b_t.isScalarValue=W4r});var FTe=Le(BDt=>{"use strict";var U4r=UTe(),aj=Nu(),PDt=hx(),F4r="tag:yaml.org,2002:";function L4r(e,t,r){if(t){let n=r.filter(s=>s.tag===t),i=n.find(s=>!s.format)??n[0];if(!i)throw new Error(`Tag ${t} not found`);return i}return r.find(n=>n.identify?.(e)&&!n.format)}function z4r(e,t,r){if(aj.isDocument(e)&&(e=e.contents),aj.isNode(e))return e;if(aj.isPair(e)){let f=r.schema[aj.MAP].createNode?.(r.schema,null,r);return f.items.push(e),f}(e instanceof String||e instanceof Number||e instanceof Boolean||typeof BigInt<"u"&&e instanceof BigInt)&&(e=e.valueOf());let{aliasDuplicateObjects:n,onAnchor:i,onTagObj:s,schema:R,sourceObjects:l}=r,c;if(n&&e&&typeof e=="object"){if(c=l.get(e),c)return c.anchor||(c.anchor=i(e)),new U4r.Alias(c.anchor);c={anchor:null,node:null},l.set(e,c)}t?.startsWith("!!")&&(t=F4r+t.slice(2));let h=L4r(e,t,R.tags);if(!h){if(e&&typeof e.toJSON=="function"&&(e=e.toJSON()),!e||typeof e!="object"){let f=new PDt.Scalar(e);return c&&(c.node=f),f}h=e instanceof Map?R[aj.MAP]:Symbol.iterator in Object(e)?R[aj.SEQ]:R[aj.MAP]}s&&(s(h),delete r.onTagObj);let _=h?.createNode?h.createNode(r.schema,e,r):typeof h?.nodeClass?.from=="function"?h.nodeClass.from(r.schema,e,r):new PDt.Scalar(e);return t?_.tag=t:h.default||(_.tag=h.tag),c&&(c.node=_),_}BDt.createNode=z4r});var u7e=Le(R7e=>{"use strict";var H4r=FTe(),Pv=Nu(),Y4r=a7e();function E_t(e,t,r){let n=r;for(let i=t.length-1;i>=0;--i){let s=t[i];if(typeof s=="number"&&Number.isInteger(s)&&s>=0){let R=[];R[s]=n,n=R}else n=new Map([[s,n]])}return H4r.createNode(n,void 0,{aliasDuplicateObjects:!1,keepUndefined:!1,onAnchor:()=>{throw new Error("This should not happen, please report a bug.")},schema:e,sourceObjects:new Map})}var IDt=e=>e==null||typeof e=="object"&&!!e[Symbol.iterator]().next().done,O_t=class extends Y4r.NodeBase{constructor(t,r){super(t),Object.defineProperty(this,"schema",{value:r,configurable:!0,enumerable:!1,writable:!0})}clone(t){let r=Object.create(Object.getPrototypeOf(this),Object.getOwnPropertyDescriptors(this));return t&&(r.schema=t),r.items=r.items.map(n=>Pv.isNode(n)||Pv.isPair(n)?n.clone(t):n),this.range&&(r.range=this.range.slice()),r}addIn(t,r){if(IDt(t))this.add(r);else{let[n,...i]=t,s=this.get(n,!0);if(Pv.isCollection(s))s.addIn(i,r);else if(s===void 0&&this.schema)this.set(n,E_t(this.schema,i,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}deleteIn(t){let[r,...n]=t;if(n.length===0)return this.delete(r);let i=this.get(r,!0);if(Pv.isCollection(i))return i.deleteIn(n);throw new Error(`Expected YAML collection at ${r}. Remaining path: ${n}`)}getIn(t,r){let[n,...i]=t,s=this.get(n,!0);return i.length===0?!r&&Pv.isScalar(s)?s.value:s:Pv.isCollection(s)?s.getIn(i,r):void 0}hasAllNullValues(t){return this.items.every(r=>{if(!Pv.isPair(r))return!1;let n=r.value;return n==null||t&&Pv.isScalar(n)&&n.value==null&&!n.commentBefore&&!n.comment&&!n.tag})}hasIn(t){let[r,...n]=t;if(n.length===0)return this.has(r);let i=this.get(r,!0);return Pv.isCollection(i)?i.hasIn(n):!1}setIn(t,r){let[n,...i]=t;if(i.length===0)this.set(n,r);else{let s=this.get(n,!0);if(Pv.isCollection(s))s.setIn(i,r);else if(s===void 0&&this.schema)this.set(n,E_t(this.schema,i,r));else throw new Error(`Expected YAML collection at ${n}. Remaining path: ${i}`)}}};R7e.Collection=O_t;R7e.collectionFromPath=E_t;R7e.isEmptyPath=IDt});var LTe=Le(l7e=>{"use strict";var K4r=e=>e.replace(/^(?!$)(?: $)?/gm,"#");function v_t(e,t){return/^\n+$/.test(e)?e.substring(1):t?e.replace(/^(?! *$)/gm,t):e}var G4r=(e,t,r)=>e.endsWith(` +`)?v_t(r,t):r.includes(` +`)?` +`+v_t(r,t):(e.endsWith(" ")?"":" ")+r;l7e.indentComment=v_t;l7e.lineComment=G4r;l7e.stringifyComment=K4r});var WDt=Le(zTe=>{"use strict";var V4r="flow",D_t="block",c7e="quoted";function j4r(e,t,r="flow",{indentAtStart:n,lineWidth:i=80,minContentWidth:s=20,onFold:R,onOverflow:l}={}){if(!i||i<0)return e;ii-Math.max(2,s)?h.push(0):f=i-n);let m,x,y=!1,A=-1,D=-1,S=-1;r===D_t&&(A=MDt(e,A,t.length),A!==-1&&(f=A+c));for(let M;M=e[A+=1];){if(r===c7e&&M==="\\"){switch(D=A,e[A+1]){case"x":A+=3;break;case"u":A+=5;break;case"U":A+=9;break;default:A+=1}S=A}if(M===` +`)r===D_t&&(A=MDt(e,A,t.length)),f=A+t.length+c,m=void 0;else{if(M===" "&&x&&x!==" "&&x!==` +`&&x!==" "){let U=e[A+1];U&&U!==" "&&U!==` +`&&U!==" "&&(m=A)}if(A>=f)if(m)h.push(m),f=m+c,m=void 0;else if(r===c7e){for(;x===" "||x===" ";)x=M,M=e[A+=1],y=!0;let U=A>S+1?A-2:D-1;if(_[U])return e;h.push(U),_[U]=!0,f=U+c,m=void 0}else y=!0}x=M}if(y&&l&&l(),h.length===0)return e;R&&R();let P=e.slice(0,h[0]);for(let M=0;M{"use strict";var vE=hx(),CI=WDt(),p7e=(e,t)=>({indentAtStart:t?e.indent.length:e.indentAtStart,lineWidth:e.options.lineWidth,minContentWidth:e.options.minContentWidth}),_7e=e=>/^(%|---|\.\.\.)/m.test(e);function J4r(e,t,r){if(!t||t<0)return!1;let n=t-r,i=e.length;if(i<=n)return!1;for(let s=0,R=0;sn)return!0;if(R=s+1,i-R<=n)return!1}return!0}function HTe(e,t){let r=JSON.stringify(e);if(t.options.doubleQuotedAsJSON)return r;let{implicitKey:n}=t,i=t.options.doubleQuotedMinMultiLineLength,s=t.indent||(_7e(e)?" ":""),R="",l=0;for(let c=0,h=r[c];h;h=r[++c])if(h===" "&&r[c+1]==="\\"&&r[c+2]==="n"&&(R+=r.slice(l,c)+"\\ ",c+=1,l=c,h="\\"),h==="\\")switch(r[c+1]){case"u":{R+=r.slice(l,c);let _=r.substr(c+2,4);switch(_){case"0000":R+="\\0";break;case"0007":R+="\\a";break;case"000b":R+="\\v";break;case"001b":R+="\\e";break;case"0085":R+="\\N";break;case"00a0":R+="\\_";break;case"2028":R+="\\L";break;case"2029":R+="\\P";break;default:_.substr(0,2)==="00"?R+="\\x"+_.substr(2):R+=r.substr(c,6)}c+=5,l=c+1}break;case"n":if(n||r[c+2]==='"'||r.length +`;let f,m;for(m=r.length;m>0;--m){let w=r[m-1];if(w!==` +`&&w!==" "&&w!==" ")break}let x=r.substring(m),y=x.indexOf(` +`);y===-1?f="-":r===x||y!==x.length-1?(f="+",s&&s()):f="",x&&(r=r.slice(0,-x.length),x[x.length-1]===` +`&&(x=x.slice(0,-1)),x=x.replace($_t,`$&${h}`));let A=!1,D,S=-1;for(D=0;D{F=!0});let G=CI.foldFlowLines(`${P}${w}${x}`,h,CI.FOLD_BLOCK,H);if(!F)return`>${U} +${h}${G}`}return r=r.replace(/\n+/g,`$&${h}`),`|${U} +${h}${P}${r}${x}`}function X4r(e,t,r,n){let{type:i,value:s}=e,{actualString:R,implicitKey:l,indent:c,indentStep:h,inFlow:_}=t;if(l&&s.includes(` +`)||_&&/[[\]{},]/.test(s))return sre(s,t);if(!s||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(s))return l||_||!s.includes(` +`)?sre(s,t):T7e(e,t,r,n);if(!l&&!_&&i!==vE.Scalar.PLAIN&&s.includes(` +`))return T7e(e,t,r,n);if(_7e(s)){if(c==="")return t.forceBlockIndent=!0,T7e(e,t,r,n);if(l&&c===h)return sre(s,t)}let f=s.replace(/\n+/g,`$& +${c}`);if(R){let m=A=>A.default&&A.tag!=="tag:yaml.org,2002:str"&&A.test?.test(f),{compat:x,tags:y}=t.doc.schema;if(y.some(m)||x?.some(m))return sre(s,t)}return l?f:CI.foldFlowLines(f,c,CI.FOLD_FLOW,p7e(t,!1))}function Z4r(e,t,r,n){let{implicitKey:i,inFlow:s}=t,R=typeof e.value=="string"?e:Object.assign({},e,{value:String(e.value)}),{type:l}=e;l!==vE.Scalar.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f\u{D800}-\u{DFFF}]/u.test(R.value)&&(l=vE.Scalar.QUOTE_DOUBLE);let c=_=>{switch(_){case vE.Scalar.BLOCK_FOLDED:case vE.Scalar.BLOCK_LITERAL:return i||s?sre(R.value,t):T7e(R,t,r,n);case vE.Scalar.QUOTE_DOUBLE:return HTe(R.value,t);case vE.Scalar.QUOTE_SINGLE:return S_t(R.value,t);case vE.Scalar.PLAIN:return X4r(R,t,r,n);default:return null}},h=c(l);if(h===null){let{defaultKeyType:_,defaultStringType:f}=t.options,m=i&&_||f;if(h=c(m),h===null)throw new Error(`Unsupported default string type ${m}`)}return h}UDt.stringifyString=Z4r});var KTe=Le(Q_t=>{"use strict";var e6r=i7e(),AI=Nu(),t6r=LTe(),r6r=YTe();function n6r(e,t){let r=Object.assign({blockQuote:!0,commentString:t6r.stringifyComment,defaultKeyType:null,defaultStringType:"PLAIN",directives:null,doubleQuotedAsJSON:!1,doubleQuotedMinMultiLineLength:40,falseStr:"false",flowCollectionPadding:!0,indentSeq:!0,lineWidth:80,minContentWidth:20,nullStr:"null",simpleKeys:!1,singleQuote:null,trueStr:"true",verifyAliasOrder:!0},e.schema.toStringOptions,t),n;switch(r.collectionStyle){case"block":n=!1;break;case"flow":n=!0;break;default:n=null}return{anchors:new Set,doc:e,flowCollectionPadding:r.flowCollectionPadding?" ":"",indent:"",indentStep:typeof r.indent=="number"?" ".repeat(r.indent):" ",inFlow:n,options:r}}function i6r(e,t){if(t.tag){let i=e.filter(s=>s.tag===t.tag);if(i.length>0)return i.find(s=>s.format===t.format)??i[0]}let r,n;if(AI.isScalar(t)){n=t.value;let i=e.filter(s=>s.identify?.(n));if(i.length>1){let s=i.filter(R=>R.test);s.length>0&&(i=s)}r=i.find(s=>s.format===t.format)??i.find(s=>!s.format)}else n=t,r=e.find(i=>i.nodeClass&&n instanceof i.nodeClass);if(!r){let i=n?.constructor?.name??typeof n;throw new Error(`Tag not resolved for ${i} value`)}return r}function a6r(e,t,{anchors:r,doc:n}){if(!n.directives)return"";let i=[],s=(AI.isScalar(e)||AI.isCollection(e))&&e.anchor;s&&e6r.anchorIsValid(s)&&(r.add(s),i.push(`&${s}`));let R=e.tag?e.tag:t.default?null:t.tag;return R&&i.push(n.directives.tagString(R)),i.join(" ")}function s6r(e,t,r,n){if(AI.isPair(e))return e.toString(t,r,n);if(AI.isAlias(e)){if(t.doc.directives)return e.toString(t);if(t.resolvedAliases?.has(e))throw new TypeError("Cannot stringify circular structure without alias nodes");t.resolvedAliases?t.resolvedAliases.add(e):t.resolvedAliases=new Set([e]),e=e.resolve(t.doc)}let i,s=AI.isNode(e)?e:t.doc.createNode(e,{onTagObj:c=>i=c});i||(i=i6r(t.doc.schema.tags,s));let R=a6r(s,i,t);R.length>0&&(t.indentAtStart=(t.indentAtStart??0)+R.length+1);let l=typeof i.stringify=="function"?i.stringify(s,t,r,n):AI.isScalar(s)?r6r.stringifyString(s,t,r,n):s.toString(t,r,n);return R?AI.isScalar(s)||l[0]==="{"||l[0]==="["?`${R} ${l}`:`${R} +${t.indent}${l}`:l}Q_t.createStringifyContext=n6r;Q_t.stringify=s6r});var HDt=Le(zDt=>{"use strict";var hN=Nu(),FDt=hx(),LDt=KTe(),GTe=LTe();function o6r({key:e,value:t},r,n,i){let{allNullValues:s,doc:R,indent:l,indentStep:c,options:{commentString:h,indentSeq:_,simpleKeys:f}}=r,m=hN.isNode(e)&&e.comment||null;if(f){if(m)throw new Error("With simple keys, key nodes cannot have comments");if(hN.isCollection(e)||!hN.isNode(e)&&typeof e=="object"){let H="With simple keys, collection cannot be used as a key value";throw new Error(H)}}let x=!f&&(!e||m&&t==null&&!r.inFlow||hN.isCollection(e)||(hN.isScalar(e)?e.type===FDt.Scalar.BLOCK_FOLDED||e.type===FDt.Scalar.BLOCK_LITERAL:typeof e=="object"));r=Object.assign({},r,{allNullValues:!1,implicitKey:!x&&(f||!s),indent:l+c});let y=!1,A=!1,D=LDt.stringify(e,r,()=>y=!0,()=>A=!0);if(!x&&!r.inFlow&&D.length>1024){if(f)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");x=!0}if(r.inFlow){if(s||t==null)return y&&n&&n(),D===""?"?":x?`? ${D}`:D}else if(s&&!f||t==null&&x)return D=`? ${D}`,m&&!y?D+=GTe.lineComment(D,r.indent,h(m)):A&&i&&i(),D;y&&(m=null),x?(m&&(D+=GTe.lineComment(D,r.indent,h(m))),D=`? ${D} +${l}:`):(D=`${D}:`,m&&(D+=GTe.lineComment(D,r.indent,h(m))));let S,P,M;hN.isNode(t)?(S=!!t.spaceBefore,P=t.commentBefore,M=t.comment):(S=!1,P=null,M=null,t&&typeof t=="object"&&(t=R.createNode(t))),r.implicitKey=!1,!x&&!m&&hN.isScalar(t)&&(r.indentAtStart=D.length+1),A=!1,!_&&c.length>=2&&!r.inFlow&&!x&&hN.isSeq(t)&&!t.flow&&!t.tag&&!t.anchor&&(r.indent=r.indent.substring(2));let U=!1,w=LDt.stringify(t,r,()=>U=!0,()=>A=!0),F=" ";if(m||S||P){if(F=S?` +`:"",P){let H=h(P);F+=` +${GTe.indentComment(H,r.indent)}`}w===""&&!r.inFlow?F===` +`&&(F=` + +`):F+=` +${r.indent}`}else if(!x&&hN.isCollection(t)){let H=w[0],G=w.indexOf(` +`),ee=G!==-1,fe=r.inFlow??t.flow??t.items.length===0;if(ee||!fe){let me=!1;if(ee&&(H==="&"||H==="!")){let ve=w.indexOf(" ");H==="&"&&ve!==-1&&ve{"use strict";function R6r(e,...t){e==="debug"&&console.log(...t)}function u6r(e,t){(e==="debug"||e==="warn")&&(typeof process<"u"&&process.emitWarning?process.emitWarning(t):console.warn(t))}N_t.debug=R6r;N_t.warn=u6r});var x7e=Le(d7e=>{"use strict";var VTe=Nu(),YDt=hx(),h7e="<<",f7e={identify:e=>e===h7e||typeof e=="symbol"&&e.description===h7e,default:"key",tag:"tag:yaml.org,2002:merge",test:/^<<$/,resolve:()=>Object.assign(new YDt.Scalar(Symbol(h7e)),{addToJSMap:KDt}),stringify:()=>h7e},l6r=(e,t)=>(f7e.identify(t)||VTe.isScalar(t)&&(!t.type||t.type===YDt.Scalar.PLAIN)&&f7e.identify(t.value))&&e?.doc.schema.tags.some(r=>r.tag===f7e.tag&&r.default);function KDt(e,t,r){if(r=e&&VTe.isAlias(r)?r.resolve(e.doc):r,VTe.isSeq(r))for(let n of r.items)P_t(e,t,n);else if(Array.isArray(r))for(let n of r)P_t(e,t,n);else P_t(e,t,r)}function P_t(e,t,r){let n=e&&VTe.isAlias(r)?r.resolve(e.doc):r;if(!VTe.isMap(n))throw new Error("Merge sources must be maps or map aliases");let i=n.toJSON(null,e,Map);for(let[s,R]of i)t instanceof Map?t.has(s)||t.set(s,R):t instanceof Set?t.add(s):Object.prototype.hasOwnProperty.call(t,s)||Object.defineProperty(t,s,{value:R,writable:!0,enumerable:!0,configurable:!0});return t}d7e.addMergeToJSMap=KDt;d7e.isMergeKey=l6r;d7e.merge=f7e});var I_t=Le(jDt=>{"use strict";var c6r=w_t(),GDt=x7e(),T6r=KTe(),VDt=Nu(),B_t=yI();function p6r(e,t,{key:r,value:n}){if(VDt.isNode(r)&&r.addToJSMap)r.addToJSMap(e,t,n);else if(GDt.isMergeKey(e,r))GDt.addMergeToJSMap(e,t,n);else{let i=B_t.toJS(r,"",e);if(t instanceof Map)t.set(i,B_t.toJS(n,i,e));else if(t instanceof Set)t.add(i);else{let s=_6r(r,i,e),R=B_t.toJS(n,s,e);s in t?Object.defineProperty(t,s,{value:R,writable:!0,enumerable:!0,configurable:!0}):t[s]=R}}return t}function _6r(e,t,r){if(t===null)return"";if(typeof t!="object")return String(t);if(VDt.isNode(e)&&r?.doc){let n=T6r.createStringifyContext(r.doc,{});n.anchors=new Set;for(let s of r.anchors.keys())n.anchors.add(s.anchor);n.inFlow=!0,n.inStringifyKey=!0;let i=e.toString(n);if(!r.mapKeyWarned){let s=JSON.stringify(i);s.length>40&&(s=s.substring(0,36)+'..."'),c6r.warn(r.doc.options.logLevel,`Keys with collection values will be stringified due to JS Object restrictions: ${s}. Set mapAsMap: true to use object keys.`),r.mapKeyWarned=!0}return i}return JSON.stringify(t)}jDt.addPairToJSMap=p6r});var gI=Le(M_t=>{"use strict";var JDt=FTe(),h6r=HDt(),f6r=I_t(),m7e=Nu();function d6r(e,t,r){let n=JDt.createNode(e,void 0,r),i=JDt.createNode(t,void 0,r);return new k7e(n,i)}var k7e=class e{constructor(t,r=null){Object.defineProperty(this,m7e.NODE_TYPE,{value:m7e.PAIR}),this.key=t,this.value=r}clone(t){let{key:r,value:n}=this;return m7e.isNode(r)&&(r=r.clone(t)),m7e.isNode(n)&&(n=n.clone(t)),new e(r,n)}toJSON(t,r){let n=r?.mapAsMap?new Map:{};return f6r.addPairToJSMap(r,n,this)}toString(t,r,n){return t?.doc?h6r.stringifyPair(this,t,r,n):JSON.stringify(this)}};M_t.Pair=k7e;M_t.createPair=d6r});var W_t=Le(ZDt=>{"use strict";var sj=Nu(),XDt=KTe(),y7e=LTe();function x6r(e,t,r){return(t.inFlow??e.flow?k6r:m6r)(e,t,r)}function m6r({comment:e,items:t},r,{blockItemPrefix:n,flowChars:i,itemIndent:s,onChompKeep:R,onComment:l}){let{indent:c,options:{commentString:h}}=r,_=Object.assign({},r,{indent:s,type:null}),f=!1,m=[];for(let y=0;yD=null,()=>f=!0);D&&(S+=y7e.lineComment(S,s,h(D))),f&&D&&(f=!1),m.push(n+S)}let x;if(m.length===0)x=i.start+i.end;else{x=m[0];for(let y=1;yD=null);y_||S.includes(` +`))&&(h=!0),f.push(S),_=f.length}let{start:m,end:x}=r;if(f.length===0)return m+x;if(!h){let y=f.reduce((A,D)=>A+D.length+2,2);h=t.options.lineWidth>0&&y>t.options.lineWidth}if(h){let y=m;for(let A of f)y+=A?` +${s}${i}${A}`:` +`;return`${y} +${i}${x}`}else return`${m}${R}${f.join(" ")}${R}${x}`}function q7e({indent:e,options:{commentString:t}},r,n,i){if(n&&i&&(n=n.replace(/^\n+/,"")),n){let s=y7e.indentComment(t(n),e);r.push(s.trimStart())}}ZDt.stringifyCollection=x6r});var EI=Le(F_t=>{"use strict";var y6r=W_t(),q6r=I_t(),C6r=u7e(),bI=Nu(),C7e=gI(),A6r=hx();function jTe(e,t){let r=bI.isScalar(t)?t.value:t;for(let n of e)if(bI.isPair(n)&&(n.key===t||n.key===r||bI.isScalar(n.key)&&n.key.value===r))return n}var U_t=class extends C6r.Collection{static get tagName(){return"tag:yaml.org,2002:map"}constructor(t){super(bI.MAP,t),this.items=[]}static from(t,r,n){let{keepUndefined:i,replacer:s}=n,R=new this(t),l=(c,h)=>{if(typeof s=="function")h=s.call(r,c,h);else if(Array.isArray(s)&&!s.includes(c))return;(h!==void 0||i)&&R.items.push(C7e.createPair(c,h,n))};if(r instanceof Map)for(let[c,h]of r)l(c,h);else if(r&&typeof r=="object")for(let c of Object.keys(r))l(c,r[c]);return typeof t.sortMapEntries=="function"&&R.items.sort(t.sortMapEntries),R}add(t,r){let n;bI.isPair(t)?n=t:!t||typeof t!="object"||!("key"in t)?n=new C7e.Pair(t,t?.value):n=new C7e.Pair(t.key,t.value);let i=jTe(this.items,n.key),s=this.schema?.sortMapEntries;if(i){if(!r)throw new Error(`Key ${n.key} already set`);bI.isScalar(i.value)&&A6r.isScalarValue(n.value)?i.value.value=n.value:i.value=n.value}else if(s){let R=this.items.findIndex(l=>s(n,l)<0);R===-1?this.items.push(n):this.items.splice(R,0,n)}else this.items.push(n)}delete(t){let r=jTe(this.items,t);return r?this.items.splice(this.items.indexOf(r),1).length>0:!1}get(t,r){let i=jTe(this.items,t)?.value;return(!r&&bI.isScalar(i)?i.value:i)??void 0}has(t){return!!jTe(this.items,t)}set(t,r){this.add(new C7e.Pair(t,r),!0)}toJSON(t,r,n){let i=n?new n:r?.mapAsMap?new Map:{};r?.onCreate&&r.onCreate(i);for(let s of this.items)q6r.addPairToJSMap(r,i,s);return i}toString(t,r,n){if(!t)return JSON.stringify(this);for(let i of this.items)if(!bI.isPair(i))throw new Error(`Map items must all be pairs; found ${JSON.stringify(i)} instead`);return!t.allNullValues&&this.hasAllNullValues(!1)&&(t=Object.assign({},t,{allNullValues:!0})),y6r.stringifyCollection(this,t,{blockItemPrefix:"",flowChars:{start:"{",end:"}"},itemIndent:t.indent||"",onChompKeep:n,onComment:r})}};F_t.YAMLMap=U_t;F_t.findPair=jTe});var ore=Le(tSt=>{"use strict";var g6r=Nu(),eSt=EI(),b6r={collection:"map",default:!0,nodeClass:eSt.YAMLMap,tag:"tag:yaml.org,2002:map",resolve(e,t){return g6r.isMap(e)||t("Expected a mapping for this tag"),e},createNode:(e,t,r)=>eSt.YAMLMap.from(e,t,r)};tSt.map=b6r});var OI=Le(rSt=>{"use strict";var E6r=FTe(),O6r=W_t(),v6r=u7e(),g7e=Nu(),D6r=hx(),S6r=yI(),L_t=class extends v6r.Collection{static get tagName(){return"tag:yaml.org,2002:seq"}constructor(t){super(g7e.SEQ,t),this.items=[]}add(t){this.items.push(t)}delete(t){let r=A7e(t);return typeof r!="number"?!1:this.items.splice(r,1).length>0}get(t,r){let n=A7e(t);if(typeof n!="number")return;let i=this.items[n];return!r&&g7e.isScalar(i)?i.value:i}has(t){let r=A7e(t);return typeof r=="number"&&r=0?t:null}rSt.YAMLSeq=L_t});var Rre=Le(iSt=>{"use strict";var $6r=Nu(),nSt=OI(),Q6r={collection:"seq",default:!0,nodeClass:nSt.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve(e,t){return $6r.isSeq(e)||t("Expected a sequence for this tag"),e},createNode:(e,t,r)=>nSt.YAMLSeq.from(e,t,r)};iSt.seq=Q6r});var JTe=Le(aSt=>{"use strict";var N6r=YTe(),w6r={identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify(e,t,r,n){return t=Object.assign({actualString:!0},t),N6r.stringifyString(e,t,r,n)}};aSt.string=w6r});var b7e=Le(RSt=>{"use strict";var sSt=hx(),oSt={identify:e=>e==null,createNode:()=>new sSt.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>new sSt.Scalar(null),stringify:({source:e},t)=>typeof e=="string"&&oSt.test.test(e)?e:t.options.nullStr};RSt.nullTag=oSt});var z_t=Le(lSt=>{"use strict";var P6r=hx(),uSt={identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:e=>new P6r.Scalar(e[0]==="t"||e[0]==="T"),stringify({source:e,value:t},r){if(e&&uSt.test.test(e)){let n=e[0]==="t"||e[0]==="T";if(t===n)return e}return t?r.options.trueStr:r.options.falseStr}};lSt.boolTag=uSt});var ure=Le(cSt=>{"use strict";function B6r({format:e,minFractionDigits:t,tag:r,value:n}){if(typeof n=="bigint")return String(n);let i=typeof n=="number"?n:Number(n);if(!isFinite(i))return isNaN(i)?".nan":i<0?"-.inf":".inf";let s=JSON.stringify(n);if(!e&&t&&(!r||r==="tag:yaml.org,2002:float")&&/^\d/.test(s)){let R=s.indexOf(".");R<0&&(R=s.length,s+=".");let l=t-(s.length-R-1);for(;l-- >0;)s+="0"}return s}cSt.stringifyNumber=B6r});var Y_t=Le(E7e=>{"use strict";var I6r=hx(),H_t=ure(),M6r={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:H_t.stringifyNumber},W6r={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():H_t.stringifyNumber(e)}},U6r={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.[0-9]+|[0-9]+\.[0-9]*)$/,resolve(e){let t=new I6r.Scalar(parseFloat(e)),r=e.indexOf(".");return r!==-1&&e[e.length-1]==="0"&&(t.minFractionDigits=e.length-r-1),t},stringify:H_t.stringifyNumber};E7e.float=U6r;E7e.floatExp=W6r;E7e.floatNaN=M6r});var G_t=Le(v7e=>{"use strict";var TSt=ure(),O7e=e=>typeof e=="bigint"||Number.isInteger(e),K_t=(e,t,r,{intAsBigInt:n})=>n?BigInt(e):parseInt(e.substring(t),r);function pSt(e,t,r){let{value:n}=e;return O7e(n)&&n>=0?r+n.toString(t):TSt.stringifyNumber(e)}var F6r={identify:e=>O7e(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o[0-7]+$/,resolve:(e,t,r)=>K_t(e,2,8,r),stringify:e=>pSt(e,8,"0o")},L6r={identify:O7e,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:(e,t,r)=>K_t(e,0,10,r),stringify:TSt.stringifyNumber},z6r={identify:e=>O7e(e)&&e>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x[0-9a-fA-F]+$/,resolve:(e,t,r)=>K_t(e,2,16,r),stringify:e=>pSt(e,16,"0x")};v7e.int=L6r;v7e.intHex=z6r;v7e.intOct=F6r});var hSt=Le(_St=>{"use strict";var H6r=ore(),Y6r=b7e(),K6r=Rre(),G6r=JTe(),V6r=z_t(),V_t=Y_t(),j_t=G_t(),j6r=[H6r.map,K6r.seq,G6r.string,Y6r.nullTag,V6r.boolTag,j_t.intOct,j_t.int,j_t.intHex,V_t.floatNaN,V_t.floatExp,V_t.float];_St.schema=j6r});var xSt=Le(dSt=>{"use strict";var J6r=hx(),X6r=ore(),Z6r=Rre();function fSt(e){return typeof e=="bigint"||Number.isInteger(e)}var D7e=({value:e})=>JSON.stringify(e),eqr=[{identify:e=>typeof e=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:e=>e,stringify:D7e},{identify:e=>e==null,createNode:()=>new J6r.Scalar(null),default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:D7e},{identify:e=>typeof e=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true$|^false$/,resolve:e=>e==="true",stringify:D7e},{identify:fSt,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:(e,t,{intAsBigInt:r})=>r?BigInt(e):parseInt(e,10),stringify:({value:e})=>fSt(e)?e.toString():JSON.stringify(e)},{identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:e=>parseFloat(e),stringify:D7e}],tqr={default:!0,tag:"",test:/^/,resolve(e,t){return t(`Unresolved plain scalar ${JSON.stringify(e)}`),e}},rqr=[X6r.map,Z6r.seq].concat(eqr,tqr);dSt.schema=rqr});var X_t=Le(mSt=>{"use strict";var J_t=hx(),nqr=YTe(),iqr={identify:e=>e instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve(e,t){if(typeof Buffer=="function")return Buffer.from(e,"base64");if(typeof atob=="function"){let r=atob(e.replace(/[\n\r]/g,"")),n=new Uint8Array(r.length);for(let i=0;i{"use strict";var S7e=Nu(),Z_t=gI(),aqr=hx(),sqr=OI();function kSt(e,t){if(S7e.isSeq(e))for(let r=0;r1&&t("Each pair must have its own sequence indicator");let i=n.items[0]||new Z_t.Pair(new aqr.Scalar(null));if(n.commentBefore&&(i.key.commentBefore=i.key.commentBefore?`${n.commentBefore} +${i.key.commentBefore}`:n.commentBefore),n.comment){let s=i.value??i.key;s.comment=s.comment?`${n.comment} +${s.comment}`:n.comment}n=i}e.items[r]=S7e.isPair(n)?n:new Z_t.Pair(n)}}else t("Expected a sequence for this tag");return e}function ySt(e,t,r){let{replacer:n}=r,i=new sqr.YAMLSeq(e);i.tag="tag:yaml.org,2002:pairs";let s=0;if(t&&Symbol.iterator in Object(t))for(let R of t){typeof n=="function"&&(R=n.call(t,String(s++),R));let l,c;if(Array.isArray(R))if(R.length===2)l=R[0],c=R[1];else throw new TypeError(`Expected [key, value] tuple: ${R}`);else if(R&&R instanceof Object){let h=Object.keys(R);if(h.length===1)l=h[0],c=R[l];else throw new TypeError(`Expected tuple with one key, not ${h.length} keys`)}else l=R;i.items.push(Z_t.createPair(l,c,r))}return i}var oqr={collection:"seq",default:!1,tag:"tag:yaml.org,2002:pairs",resolve:kSt,createNode:ySt};$7e.createPairs=ySt;$7e.pairs=oqr;$7e.resolvePairs=kSt});var rht=Le(tht=>{"use strict";var qSt=Nu(),eht=yI(),XTe=EI(),Rqr=OI(),CSt=Q7e(),oj=class e extends Rqr.YAMLSeq{constructor(){super(),this.add=XTe.YAMLMap.prototype.add.bind(this),this.delete=XTe.YAMLMap.prototype.delete.bind(this),this.get=XTe.YAMLMap.prototype.get.bind(this),this.has=XTe.YAMLMap.prototype.has.bind(this),this.set=XTe.YAMLMap.prototype.set.bind(this),this.tag=e.tag}toJSON(t,r){if(!r)return super.toJSON(t);let n=new Map;r?.onCreate&&r.onCreate(n);for(let i of this.items){let s,R;if(qSt.isPair(i)?(s=eht.toJS(i.key,"",r),R=eht.toJS(i.value,s,r)):s=eht.toJS(i,"",r),n.has(s))throw new Error("Ordered maps must not include duplicate keys");n.set(s,R)}return n}static from(t,r,n){let i=CSt.createPairs(t,r,n),s=new this;return s.items=i.items,s}};oj.tag="tag:yaml.org,2002:omap";var uqr={collection:"seq",identify:e=>e instanceof Map,nodeClass:oj,default:!1,tag:"tag:yaml.org,2002:omap",resolve(e,t){let r=CSt.resolvePairs(e,t),n=[];for(let{key:i}of r.items)qSt.isScalar(i)&&(n.includes(i.value)?t(`Ordered maps must not include duplicate keys: ${i.value}`):n.push(i.value));return Object.assign(new oj,r)},createNode:(e,t,r)=>oj.from(e,t,r)};tht.YAMLOMap=oj;tht.omap=uqr});var OSt=Le(nht=>{"use strict";var ASt=hx();function gSt({value:e,source:t},r){return t&&(e?bSt:ESt).test.test(t)?t:e?r.options.trueStr:r.options.falseStr}var bSt={identify:e=>e===!0,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>new ASt.Scalar(!0),stringify:gSt},ESt={identify:e=>e===!1,default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/,resolve:()=>new ASt.Scalar(!1),stringify:gSt};nht.falseTag=ESt;nht.trueTag=bSt});var vSt=Le(N7e=>{"use strict";var lqr=hx(),iht=ure(),cqr={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.(?:inf|Inf|INF)|\.nan|\.NaN|\.NAN)$/,resolve:e=>e.slice(-3).toLowerCase()==="nan"?NaN:e[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:iht.stringifyNumber},Tqr={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:[0-9][0-9_]*)?(?:\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:e=>parseFloat(e.replace(/_/g,"")),stringify(e){let t=Number(e.value);return isFinite(t)?t.toExponential():iht.stringifyNumber(e)}},pqr={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.[0-9_]*$/,resolve(e){let t=new lqr.Scalar(parseFloat(e.replace(/_/g,""))),r=e.indexOf(".");if(r!==-1){let n=e.substring(r+1).replace(/_/g,"");n[n.length-1]==="0"&&(t.minFractionDigits=n.length)}return t},stringify:iht.stringifyNumber};N7e.float=pqr;N7e.floatExp=Tqr;N7e.floatNaN=cqr});var SSt=Le(e1e=>{"use strict";var DSt=ure(),ZTe=e=>typeof e=="bigint"||Number.isInteger(e);function w7e(e,t,r,{intAsBigInt:n}){let i=e[0];if((i==="-"||i==="+")&&(t+=1),e=e.substring(t).replace(/_/g,""),n){switch(r){case 2:e=`0b${e}`;break;case 8:e=`0o${e}`;break;case 16:e=`0x${e}`;break}let R=BigInt(e);return i==="-"?BigInt(-1)*R:R}let s=parseInt(e,r);return i==="-"?-1*s:s}function aht(e,t,r){let{value:n}=e;if(ZTe(n)){let i=n.toString(t);return n<0?"-"+r+i.substr(1):r+i}return DSt.stringifyNumber(e)}var _qr={identify:ZTe,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^[-+]?0b[0-1_]+$/,resolve:(e,t,r)=>w7e(e,2,2,r),stringify:e=>aht(e,2,"0b")},hqr={identify:ZTe,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^[-+]?0[0-7_]+$/,resolve:(e,t,r)=>w7e(e,1,8,r),stringify:e=>aht(e,8,"0")},fqr={identify:ZTe,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9][0-9_]*$/,resolve:(e,t,r)=>w7e(e,0,10,r),stringify:DSt.stringifyNumber},dqr={identify:ZTe,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^[-+]?0x[0-9a-fA-F_]+$/,resolve:(e,t,r)=>w7e(e,2,16,r),stringify:e=>aht(e,16,"0x")};e1e.int=fqr;e1e.intBin=_qr;e1e.intHex=dqr;e1e.intOct=hqr});var oht=Le(sht=>{"use strict";var I7e=Nu(),P7e=gI(),B7e=EI(),Rj=class e extends B7e.YAMLMap{constructor(t){super(t),this.tag=e.tag}add(t){let r;I7e.isPair(t)?r=t:t&&typeof t=="object"&&"key"in t&&"value"in t&&t.value===null?r=new P7e.Pair(t.key,null):r=new P7e.Pair(t,null),B7e.findPair(this.items,r.key)||this.items.push(r)}get(t,r){let n=B7e.findPair(this.items,t);return!r&&I7e.isPair(n)?I7e.isScalar(n.key)?n.key.value:n.key:n}set(t,r){if(typeof r!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof r}`);let n=B7e.findPair(this.items,t);n&&!r?this.items.splice(this.items.indexOf(n),1):!n&&r&&this.items.push(new P7e.Pair(t))}toJSON(t,r){return super.toJSON(t,r,Set)}toString(t,r,n){if(!t)return JSON.stringify(this);if(this.hasAllNullValues(!0))return super.toString(Object.assign({},t,{allNullValues:!0}),r,n);throw new Error("Set items must all have null values")}static from(t,r,n){let{replacer:i}=n,s=new this(t);if(r&&Symbol.iterator in Object(r))for(let R of r)typeof i=="function"&&(R=i.call(r,R,R)),s.items.push(P7e.createPair(R,null,n));return s}};Rj.tag="tag:yaml.org,2002:set";var xqr={collection:"map",identify:e=>e instanceof Set,nodeClass:Rj,default:!1,tag:"tag:yaml.org,2002:set",createNode:(e,t,r)=>Rj.from(e,t,r),resolve(e,t){if(I7e.isMap(e)){if(e.hasAllNullValues(!0))return Object.assign(new Rj,e);t("Set items must all have null values")}else t("Expected a mapping for this tag");return e}};sht.YAMLSet=Rj;sht.set=xqr});var uht=Le(M7e=>{"use strict";var mqr=ure();function Rht(e,t){let r=e[0],n=r==="-"||r==="+"?e.substring(1):e,i=R=>t?BigInt(R):Number(R),s=n.replace(/_/g,"").split(":").reduce((R,l)=>R*i(60)+i(l),i(0));return r==="-"?i(-1)*s:s}function $St(e){let{value:t}=e,r=R=>R;if(typeof t=="bigint")r=R=>BigInt(R);else if(isNaN(t)||!isFinite(t))return mqr.stringifyNumber(e);let n="";t<0&&(n="-",t*=r(-1));let i=r(60),s=[t%i];return t<60?s.unshift(0):(t=(t-s[0])/i,s.unshift(t%i),t>=60&&(t=(t-s[0])/i,s.unshift(t))),n+s.map(R=>String(R).padStart(2,"0")).join(":").replace(/000000\d*$/,"")}var kqr={identify:e=>typeof e=="bigint"||Number.isInteger(e),default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+$/,resolve:(e,t,{intAsBigInt:r})=>Rht(e,r),stringify:$St},yqr={identify:e=>typeof e=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*$/,resolve:e=>Rht(e,!1),stringify:$St},QSt={identify:e=>e instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?$"),resolve(e){let t=e.match(QSt.test);if(!t)throw new Error("!!timestamp expects a date, starting with yyyy-mm-dd");let[,r,n,i,s,R,l]=t.map(Number),c=t[7]?Number((t[7]+"00").substr(1,3)):0,h=Date.UTC(r,n-1,i,s||0,R||0,l||0,c),_=t[8];if(_&&_!=="Z"){let f=Rht(_,!1);Math.abs(f)<30&&(f*=60),h-=6e4*f}return new Date(h)},stringify:({value:e})=>e.toISOString().replace(/(T00:00:00)?\.000Z$/,"")};M7e.floatTime=yqr;M7e.intTime=kqr;M7e.timestamp=QSt});var PSt=Le(wSt=>{"use strict";var qqr=ore(),Cqr=b7e(),Aqr=Rre(),gqr=JTe(),bqr=X_t(),NSt=OSt(),lht=vSt(),W7e=SSt(),Eqr=x7e(),Oqr=rht(),vqr=Q7e(),Dqr=oht(),cht=uht(),Sqr=[qqr.map,Aqr.seq,gqr.string,Cqr.nullTag,NSt.trueTag,NSt.falseTag,W7e.intBin,W7e.intOct,W7e.int,W7e.intHex,lht.floatNaN,lht.floatExp,lht.float,bqr.binary,Eqr.merge,Oqr.omap,vqr.pairs,Dqr.set,cht.intTime,cht.floatTime,cht.timestamp];wSt.schema=Sqr});var YSt=Le(_ht=>{"use strict";var WSt=ore(),$qr=b7e(),USt=Rre(),Qqr=JTe(),Nqr=z_t(),Tht=Y_t(),pht=G_t(),wqr=hSt(),Pqr=xSt(),FSt=X_t(),t1e=x7e(),LSt=rht(),zSt=Q7e(),BSt=PSt(),HSt=oht(),U7e=uht(),ISt=new Map([["core",wqr.schema],["failsafe",[WSt.map,USt.seq,Qqr.string]],["json",Pqr.schema],["yaml11",BSt.schema],["yaml-1.1",BSt.schema]]),MSt={binary:FSt.binary,bool:Nqr.boolTag,float:Tht.float,floatExp:Tht.floatExp,floatNaN:Tht.floatNaN,floatTime:U7e.floatTime,int:pht.int,intHex:pht.intHex,intOct:pht.intOct,intTime:U7e.intTime,map:WSt.map,merge:t1e.merge,null:$qr.nullTag,omap:LSt.omap,pairs:zSt.pairs,seq:USt.seq,set:HSt.set,timestamp:U7e.timestamp},Bqr={"tag:yaml.org,2002:binary":FSt.binary,"tag:yaml.org,2002:merge":t1e.merge,"tag:yaml.org,2002:omap":LSt.omap,"tag:yaml.org,2002:pairs":zSt.pairs,"tag:yaml.org,2002:set":HSt.set,"tag:yaml.org,2002:timestamp":U7e.timestamp};function Iqr(e,t,r){let n=ISt.get(t);if(n&&!e)return r&&!n.includes(t1e.merge)?n.concat(t1e.merge):n.slice();let i=n;if(!i)if(Array.isArray(e))i=[];else{let s=Array.from(ISt.keys()).filter(R=>R!=="yaml11").map(R=>JSON.stringify(R)).join(", ");throw new Error(`Unknown schema "${t}"; use one of ${s} or define customTags array`)}if(Array.isArray(e))for(let s of e)i=i.concat(s);else typeof e=="function"&&(i=e(i.slice()));return r&&(i=i.concat(t1e.merge)),i.reduce((s,R)=>{let l=typeof R=="string"?MSt[R]:R;if(!l){let c=JSON.stringify(R),h=Object.keys(MSt).map(_=>JSON.stringify(_)).join(", ");throw new Error(`Unknown custom tag ${c}; use one of ${h}`)}return s.includes(l)||s.push(l),s},[])}_ht.coreKnownTags=Bqr;_ht.getTags=Iqr});var dht=Le(KSt=>{"use strict";var hht=Nu(),Mqr=ore(),Wqr=Rre(),Uqr=JTe(),F7e=YSt(),Fqr=(e,t)=>e.keyt.key?1:0,fht=class e{constructor({compat:t,customTags:r,merge:n,resolveKnownTags:i,schema:s,sortMapEntries:R,toStringDefaults:l}){this.compat=Array.isArray(t)?F7e.getTags(t,"compat"):t?F7e.getTags(null,t):null,this.name=typeof s=="string"&&s||"core",this.knownTags=i?F7e.coreKnownTags:{},this.tags=F7e.getTags(r,this.name,n),this.toStringOptions=l??null,Object.defineProperty(this,hht.MAP,{value:Mqr.map}),Object.defineProperty(this,hht.SCALAR,{value:Uqr.string}),Object.defineProperty(this,hht.SEQ,{value:Wqr.seq}),this.sortMapEntries=typeof R=="function"?R:R===!0?Fqr:null}clone(){let t=Object.create(e.prototype,Object.getOwnPropertyDescriptors(this));return t.tags=this.tags.slice(),t}};KSt.Schema=fht});var VSt=Le(GSt=>{"use strict";var Lqr=Nu(),xht=KTe(),r1e=LTe();function zqr(e,t){let r=[],n=t.directives===!0;if(t.directives!==!1&&e.directives){let c=e.directives.toString(e);c?(r.push(c),n=!0):e.directives.docStart&&(n=!0)}n&&r.push("---");let i=xht.createStringifyContext(e,t),{commentString:s}=i.options;if(e.commentBefore){r.length!==1&&r.unshift("");let c=s(e.commentBefore);r.unshift(r1e.indentComment(c,""))}let R=!1,l=null;if(e.contents){if(Lqr.isNode(e.contents)){if(e.contents.spaceBefore&&n&&r.push(""),e.contents.commentBefore){let _=s(e.contents.commentBefore);r.push(r1e.indentComment(_,""))}i.forceBlockIndent=!!e.comment,l=e.contents.comment}let c=l?void 0:()=>R=!0,h=xht.stringify(e.contents,i,()=>l=null,c);l&&(h+=r1e.lineComment(h,"",s(l))),(h[0]==="|"||h[0]===">")&&r[r.length-1]==="---"?r[r.length-1]=`--- ${h}`:r.push(h)}else r.push(xht.stringify(e.contents,i));if(e.directives?.docEnd)if(e.comment){let c=s(e.comment);c.includes(` +`)?(r.push("..."),r.push(r1e.indentComment(c,""))):r.push(`... ${c}`)}else r.push("...");else{let c=e.comment;c&&R&&(c=c.replace(/^\n+/,"")),c&&((!R||l)&&r[r.length-1]!==""&&r.push(""),r.push(r1e.indentComment(s(c),"")))}return r.join(` +`)+` +`}GSt.stringifyDocument=zqr});var n1e=Le(jSt=>{"use strict";var Hqr=UTe(),lre=u7e(),N3=Nu(),Yqr=gI(),Kqr=yI(),Gqr=dht(),Vqr=VSt(),mht=i7e(),jqr=C_t(),Jqr=FTe(),kht=q_t(),yht=class e{constructor(t,r,n){this.commentBefore=null,this.comment=null,this.errors=[],this.warnings=[],Object.defineProperty(this,N3.NODE_TYPE,{value:N3.DOC});let i=null;typeof r=="function"||Array.isArray(r)?i=r:n===void 0&&r&&(n=r,r=void 0);let s=Object.assign({intAsBigInt:!1,keepSourceTokens:!1,logLevel:"warn",prettyErrors:!0,strict:!0,stringKeys:!1,uniqueKeys:!0,version:"1.2"},n);this.options=s;let{version:R}=s;n?._directives?(this.directives=n._directives.atDocument(),this.directives.yaml.explicit&&(R=this.directives.yaml.version)):this.directives=new kht.Directives({version:R}),this.setSchema(R,n),this.contents=t===void 0?null:this.createNode(t,i,n)}clone(){let t=Object.create(e.prototype,{[N3.NODE_TYPE]:{value:N3.DOC}});return t.commentBefore=this.commentBefore,t.comment=this.comment,t.errors=this.errors.slice(),t.warnings=this.warnings.slice(),t.options=Object.assign({},this.options),this.directives&&(t.directives=this.directives.clone()),t.schema=this.schema.clone(),t.contents=N3.isNode(this.contents)?this.contents.clone(t.schema):this.contents,this.range&&(t.range=this.range.slice()),t}add(t){cre(this.contents)&&this.contents.add(t)}addIn(t,r){cre(this.contents)&&this.contents.addIn(t,r)}createAlias(t,r){if(!t.anchor){let n=mht.anchorNames(this);t.anchor=!r||n.has(r)?mht.findNewAnchor(r||"a",n):r}return new Hqr.Alias(t.anchor)}createNode(t,r,n){let i;if(typeof r=="function")t=r.call({"":t},"",t),i=r;else if(Array.isArray(r)){let D=P=>typeof P=="number"||P instanceof String||P instanceof Number,S=r.filter(D).map(String);S.length>0&&(r=r.concat(S)),i=r}else n===void 0&&r&&(n=r,r=void 0);let{aliasDuplicateObjects:s,anchorPrefix:R,flow:l,keepUndefined:c,onTagObj:h,tag:_}=n??{},{onAnchor:f,setAnchors:m,sourceObjects:x}=mht.createNodeAnchors(this,R||"a"),y={aliasDuplicateObjects:s??!0,keepUndefined:c??!1,onAnchor:f,onTagObj:h,replacer:i,schema:this.schema,sourceObjects:x},A=Jqr.createNode(t,_,y);return l&&N3.isCollection(A)&&(A.flow=!0),m(),A}createPair(t,r,n={}){let i=this.createNode(t,null,n),s=this.createNode(r,null,n);return new Yqr.Pair(i,s)}delete(t){return cre(this.contents)?this.contents.delete(t):!1}deleteIn(t){return lre.isEmptyPath(t)?this.contents==null?!1:(this.contents=null,!0):cre(this.contents)?this.contents.deleteIn(t):!1}get(t,r){return N3.isCollection(this.contents)?this.contents.get(t,r):void 0}getIn(t,r){return lre.isEmptyPath(t)?!r&&N3.isScalar(this.contents)?this.contents.value:this.contents:N3.isCollection(this.contents)?this.contents.getIn(t,r):void 0}has(t){return N3.isCollection(this.contents)?this.contents.has(t):!1}hasIn(t){return lre.isEmptyPath(t)?this.contents!==void 0:N3.isCollection(this.contents)?this.contents.hasIn(t):!1}set(t,r){this.contents==null?this.contents=lre.collectionFromPath(this.schema,[t],r):cre(this.contents)&&this.contents.set(t,r)}setIn(t,r){lre.isEmptyPath(t)?this.contents=r:this.contents==null?this.contents=lre.collectionFromPath(this.schema,Array.from(t),r):cre(this.contents)&&this.contents.setIn(t,r)}setSchema(t,r={}){typeof t=="number"&&(t=String(t));let n;switch(t){case"1.1":this.directives?this.directives.yaml.version="1.1":this.directives=new kht.Directives({version:"1.1"}),n={resolveKnownTags:!1,schema:"yaml-1.1"};break;case"1.2":case"next":this.directives?this.directives.yaml.version=t:this.directives=new kht.Directives({version:t}),n={resolveKnownTags:!0,schema:"core"};break;case null:this.directives&&delete this.directives,n=null;break;default:{let i=JSON.stringify(t);throw new Error(`Expected '1.1', '1.2' or null as first argument, but found: ${i}`)}}if(r.schema instanceof Object)this.schema=r.schema;else if(n)this.schema=new Gqr.Schema(Object.assign(n,r));else throw new Error("With a null YAML version, the { schema: Schema } option is required")}toJS({json:t,jsonArg:r,mapAsMap:n,maxAliasCount:i,onAnchor:s,reviver:R}={}){let l={anchors:new Map,doc:this,keep:!t,mapAsMap:n===!0,mapKeyWarned:!1,maxAliasCount:typeof i=="number"?i:100},c=Kqr.toJS(this.contents,r??"",l);if(typeof s=="function")for(let{count:h,res:_}of l.anchors.values())s(_,h);return typeof R=="function"?jqr.applyReviver(R,{"":c},"",c):c}toJSON(t,r){return this.toJS({json:!0,jsonArg:t,mapAsMap:!1,onAnchor:r})}toString(t={}){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");if("indent"in t&&(!Number.isInteger(t.indent)||Number(t.indent)<=0)){let r=JSON.stringify(t.indent);throw new Error(`"indent" option must be a positive integer, not ${r}`)}return Vqr.stringifyDocument(this,t)}};function cre(e){if(N3.isCollection(e))return!0;throw new Error("Expected a YAML collection as document contents")}jSt.Document=yht});var s1e=Le(a1e=>{"use strict";var i1e=class extends Error{constructor(t,r,n,i){super(),this.name=t,this.code=n,this.message=i,this.pos=r}},qht=class extends i1e{constructor(t,r,n){super("YAMLParseError",t,r,n)}},Cht=class extends i1e{constructor(t,r,n){super("YAMLWarning",t,r,n)}},Xqr=(e,t)=>r=>{if(r.pos[0]===-1)return;r.linePos=r.pos.map(l=>t.linePos(l));let{line:n,col:i}=r.linePos[0];r.message+=` at line ${n}, column ${i}`;let s=i-1,R=e.substring(t.lineStarts[n-1],t.lineStarts[n]).replace(/[\n\r]+$/,"");if(s>=60&&R.length>80){let l=Math.min(s-39,R.length-79);R="\u2026"+R.substring(l),s-=l-1}if(R.length>80&&(R=R.substring(0,79)+"\u2026"),n>1&&/^ *$/.test(R.substring(0,s))){let l=e.substring(t.lineStarts[n-2],t.lineStarts[n-1]);l.length>80&&(l=l.substring(0,79)+`\u2026 +`),R=l+R}if(/[^ ]/.test(R)){let l=1,c=r.linePos[1];c&&c.line===n&&c.col>i&&(l=Math.max(1,Math.min(c.col-i,80-s)));let h=" ".repeat(s)+"^".repeat(l);r.message+=`: + +${R} +${h} +`}};a1e.YAMLError=i1e;a1e.YAMLParseError=qht;a1e.YAMLWarning=Cht;a1e.prettifyError=Xqr});var o1e=Le(JSt=>{"use strict";function Zqr(e,{flow:t,indicator:r,next:n,offset:i,onError:s,parentIndent:R,startOnNewline:l}){let c=!1,h=l,_=l,f="",m="",x=!1,y=!1,A=null,D=null,S=null,P=null,M=null,U=null,w=null;for(let G of e)switch(y&&(G.type!=="space"&&G.type!=="newline"&&G.type!=="comma"&&s(G.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),y=!1),A&&(h&&G.type!=="comment"&&G.type!=="newline"&&s(A,"TAB_AS_INDENT","Tabs are not allowed as indentation"),A=null),G.type){case"space":!t&&(r!=="doc-start"||n?.type!=="flow-collection")&&G.source.includes(" ")&&(A=G),_=!0;break;case"comment":{_||s(G,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let ee=G.source.substring(1)||" ";f?f+=m+ee:f=ee,m="",h=!1;break}case"newline":h?f?f+=G.source:c=!0:m+=G.source,h=!0,x=!0,(D||S)&&(P=G),_=!0;break;case"anchor":D&&s(G,"MULTIPLE_ANCHORS","A node can have at most one anchor"),G.source.endsWith(":")&&s(G.offset+G.source.length-1,"BAD_ALIAS","Anchor ending in : is ambiguous",!0),D=G,w===null&&(w=G.offset),h=!1,_=!1,y=!0;break;case"tag":{S&&s(G,"MULTIPLE_TAGS","A node can have at most one tag"),S=G,w===null&&(w=G.offset),h=!1,_=!1,y=!0;break}case r:(D||S)&&s(G,"BAD_PROP_ORDER",`Anchors and tags must be after the ${G.source} indicator`),U&&s(G,"UNEXPECTED_TOKEN",`Unexpected ${G.source} in ${t??"collection"}`),U=G,h=r==="seq-item-ind"||r==="explicit-key-ind",_=!1;break;case"comma":if(t){M&&s(G,"UNEXPECTED_TOKEN",`Unexpected , in ${t}`),M=G,h=!1,_=!1;break}default:s(G,"UNEXPECTED_TOKEN",`Unexpected ${G.type} token`),h=!1,_=!1}let F=e[e.length-1],H=F?F.offset+F.source.length:i;return y&&n&&n.type!=="space"&&n.type!=="newline"&&n.type!=="comma"&&(n.type!=="scalar"||n.source!=="")&&s(n.offset,"MISSING_CHAR","Tags and anchors must be separated from the next token by white space"),A&&(h&&A.indent<=R||n?.type==="block-map"||n?.type==="block-seq")&&s(A,"TAB_AS_INDENT","Tabs are not allowed as indentation"),{comma:M,found:U,spaceBefore:c,comment:f,hasNewline:x,anchor:D,tag:S,newlineAfterProp:P,end:H,start:w??H}}JSt.resolveProps=Zqr});var L7e=Le(XSt=>{"use strict";function Aht(e){if(!e)return null;switch(e.type){case"alias":case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":if(e.source.includes(` +`))return!0;if(e.end){for(let t of e.end)if(t.type==="newline")return!0}return!1;case"flow-collection":for(let t of e.items){for(let r of t.start)if(r.type==="newline")return!0;if(t.sep){for(let r of t.sep)if(r.type==="newline")return!0}if(Aht(t.key)||Aht(t.value))return!0}return!1;default:return!0}}XSt.containsNewline=Aht});var ght=Le(ZSt=>{"use strict";var eCr=L7e();function tCr(e,t,r){if(t?.type==="flow-collection"){let n=t.end[0];n.indent===e&&(n.source==="]"||n.source==="}")&&eCr.containsNewline(t)&&r(n,"BAD_INDENT","Flow end indicator should be more indented than parent",!0)}}ZSt.flowIndentCheck=tCr});var bht=Le(t$t=>{"use strict";var e$t=Nu();function rCr(e,t,r){let{uniqueKeys:n}=e.options;if(n===!1)return!1;let i=typeof n=="function"?n:(s,R)=>s===R||e$t.isScalar(s)&&e$t.isScalar(R)&&s.value===R.value;return t.some(s=>i(s.key,r))}t$t.mapIncludes=rCr});var o$t=Le(s$t=>{"use strict";var r$t=gI(),nCr=EI(),n$t=o1e(),iCr=L7e(),i$t=ght(),aCr=bht(),a$t="All mapping items must start at the same column";function sCr({composeNode:e,composeEmptyNode:t},r,n,i,s){let R=s?.nodeClass??nCr.YAMLMap,l=new R(r.schema);r.atRoot&&(r.atRoot=!1);let c=n.offset,h=null;for(let _ of n.items){let{start:f,key:m,sep:x,value:y}=_,A=n$t.resolveProps(f,{indicator:"explicit-key-ind",next:m??x?.[0],offset:c,onError:i,parentIndent:n.indent,startOnNewline:!0}),D=!A.found;if(D){if(m&&(m.type==="block-seq"?i(c,"BLOCK_AS_IMPLICIT_KEY","A block sequence may not be used as an implicit map key"):"indent"in m&&m.indent!==n.indent&&i(c,"BAD_INDENT",a$t)),!A.anchor&&!A.tag&&!x){h=A.end,A.comment&&(l.comment?l.comment+=` +`+A.comment:l.comment=A.comment);continue}(A.newlineAfterProp||iCr.containsNewline(m))&&i(m??f[f.length-1],"MULTILINE_IMPLICIT_KEY","Implicit keys need to be on a single line")}else A.found?.indent!==n.indent&&i(c,"BAD_INDENT",a$t);r.atKey=!0;let S=A.end,P=m?e(r,m,A,i):t(r,S,f,null,A,i);r.schema.compat&&i$t.flowIndentCheck(n.indent,m,i),r.atKey=!1,aCr.mapIncludes(r,l.items,P)&&i(S,"DUPLICATE_KEY","Map keys must be unique");let M=n$t.resolveProps(x??[],{indicator:"map-value-ind",next:y,offset:P.range[2],onError:i,parentIndent:n.indent,startOnNewline:!m||m.type==="block-scalar"});if(c=M.end,M.found){D&&(y?.type==="block-map"&&!M.hasNewline&&i(c,"BLOCK_AS_IMPLICIT_KEY","Nested mappings are not allowed in compact mappings"),r.options.strict&&A.start{"use strict";var oCr=OI(),RCr=o1e(),uCr=ght();function lCr({composeNode:e,composeEmptyNode:t},r,n,i,s){let R=s?.nodeClass??oCr.YAMLSeq,l=new R(r.schema);r.atRoot&&(r.atRoot=!1),r.atKey&&(r.atKey=!1);let c=n.offset,h=null;for(let{start:_,value:f}of n.items){let m=RCr.resolveProps(_,{indicator:"seq-item-ind",next:f,offset:c,onError:i,parentIndent:n.indent,startOnNewline:!0});if(!m.found)if(m.anchor||m.tag||f)f&&f.type==="block-seq"?i(m.end,"BAD_INDENT","All sequence items must start at the same column"):i(c,"MISSING_CHAR","Sequence item without - indicator");else{h=m.end,m.comment&&(l.comment=m.comment);continue}let x=f?e(r,f,m,i):t(r,m.end,_,null,m,i);r.schema.compat&&uCr.flowIndentCheck(n.indent,f,i),c=x.range[2],l.items.push(x)}return l.range=[n.offset,c,h??c],l}R$t.resolveBlockSeq=lCr});var Tre=Le(l$t=>{"use strict";function cCr(e,t,r,n){let i="";if(e){let s=!1,R="";for(let l of e){let{source:c,type:h}=l;switch(h){case"space":s=!0;break;case"comment":{r&&!s&&n(l,"MISSING_CHAR","Comments must be separated from other tokens by white space characters");let _=c.substring(1)||" ";i?i+=R+_:i=_,R="";break}case"newline":i&&(R+=c),s=!0;break;default:n(l,"UNEXPECTED_TOKEN",`Unexpected ${h} at node end`)}t+=c.length}}return{comment:i,offset:t}}l$t.resolveEnd=cCr});var _$t=Le(p$t=>{"use strict";var TCr=Nu(),pCr=gI(),c$t=EI(),_Cr=OI(),hCr=Tre(),T$t=o1e(),fCr=L7e(),dCr=bht(),Eht="Block collections are not allowed within flow collections",Oht=e=>e&&(e.type==="block-map"||e.type==="block-seq");function xCr({composeNode:e,composeEmptyNode:t},r,n,i,s){let R=n.start.source==="{",l=R?"flow map":"flow sequence",c=s?.nodeClass??(R?c$t.YAMLMap:_Cr.YAMLSeq),h=new c(r.schema);h.flow=!0;let _=r.atRoot;_&&(r.atRoot=!1),r.atKey&&(r.atKey=!1);let f=n.offset+n.start.source.length;for(let D=0;D0){let D=hCr.resolveEnd(y,A,r.options.strict,i);D.comment&&(h.comment?h.comment+=` +`+D.comment:h.comment=D.comment),h.range=[n.offset,A,D.offset]}else h.range=[n.offset,A,A];return h}p$t.resolveFlowCollection=xCr});var f$t=Le(h$t=>{"use strict";var mCr=Nu(),kCr=hx(),yCr=EI(),qCr=OI(),CCr=o$t(),ACr=u$t(),gCr=_$t();function vht(e,t,r,n,i,s){let R=r.type==="block-map"?CCr.resolveBlockMap(e,t,r,n,s):r.type==="block-seq"?ACr.resolveBlockSeq(e,t,r,n,s):gCr.resolveFlowCollection(e,t,r,n,s),l=R.constructor;return i==="!"||i===l.tagName?(R.tag=l.tagName,R):(i&&(R.tag=i),R)}function bCr(e,t,r,n,i){let s=n.tag,R=s?t.directives.tagName(s.source,m=>i(s,"TAG_RESOLVE_FAILED",m)):null;if(r.type==="block-seq"){let{anchor:m,newlineAfterProp:x}=n,y=m&&s?m.offset>s.offset?m:s:m??s;y&&(!x||x.offsetm.tag===R&&m.collection===l);if(!c){let m=t.schema.knownTags[R];if(m&&m.collection===l)t.schema.tags.push(Object.assign({},m,{default:!1})),c=m;else return m?.collection?i(s,"BAD_COLLECTION_TYPE",`${m.tag} used for ${l} collection, but expects ${m.collection}`,!0):i(s,"TAG_RESOLVE_FAILED",`Unresolved tag: ${R}`,!0),vht(e,t,r,i,R)}let h=vht(e,t,r,i,R,c),_=c.resolve?.(h,m=>i(s,"TAG_RESOLVE_FAILED",m),t.options)??h,f=mCr.isNode(_)?_:new kCr.Scalar(_);return f.range=h.range,f.tag=R,c?.format&&(f.format=c.format),f}h$t.composeCollection=bCr});var Sht=Le(d$t=>{"use strict";var Dht=hx();function ECr(e,t,r){let n=t.offset,i=OCr(t,e.options.strict,r);if(!i)return{value:"",type:null,comment:"",range:[n,n,n]};let s=i.mode===">"?Dht.Scalar.BLOCK_FOLDED:Dht.Scalar.BLOCK_LITERAL,R=t.source?vCr(t.source):[],l=R.length;for(let A=R.length-1;A>=0;--A){let D=R[A][1];if(D===""||D==="\r")l=A;else break}if(l===0){let A=i.chomp==="+"&&R.length>0?` +`.repeat(Math.max(1,R.length-1)):"",D=n+i.length;return t.source&&(D+=t.source.length),{value:A,type:s,comment:i.comment,range:[n,D,D]}}let c=t.indent+i.indent,h=t.offset+i.length,_=0;for(let A=0;Ac&&(c=D.length);else{D.length=l;--A)R[A][0].length>c&&(l=A+1);let f="",m="",x=!1;for(let A=0;A<_;++A)f+=R[A][0].slice(c)+` +`;for(let A=_;Ac||S[0]===" "?(m===" "?m=` +`:!x&&m===` +`&&(m=` + +`),f+=m+D.slice(c)+S,m=` +`,x=!0):S===""?m===` +`?f+=` +`:m=` +`:(f+=m+S,m=" ",x=!1)}switch(i.chomp){case"-":break;case"+":for(let A=l;A{"use strict";var $ht=hx(),DCr=Tre();function SCr(e,t,r){let{offset:n,type:i,source:s,end:R}=e,l,c,h=(m,x,y)=>r(n+m,x,y);switch(i){case"scalar":l=$ht.Scalar.PLAIN,c=$Cr(s,h);break;case"single-quoted-scalar":l=$ht.Scalar.QUOTE_SINGLE,c=QCr(s,h);break;case"double-quoted-scalar":l=$ht.Scalar.QUOTE_DOUBLE,c=NCr(s,h);break;default:return r(e,"UNEXPECTED_TOKEN",`Expected a flow scalar value, but found: ${i}`),{value:"",type:null,comment:"",range:[n,n+s.length,n+s.length]}}let _=n+s.length,f=DCr.resolveEnd(R,_,t,r);return{value:c,type:l,comment:f.comment,range:[n,_,f.offset]}}function $Cr(e,t){let r="";switch(e[0]){case" ":r="a tab character";break;case",":r="flow indicator character ,";break;case"%":r="directive indicator character %";break;case"|":case">":{r=`block scalar indicator ${e[0]}`;break}case"@":case"`":{r=`reserved character ${e[0]}`;break}}return r&&t(0,"BAD_SCALAR_START",`Plain value cannot start with ${r}`),x$t(e)}function QCr(e,t){return(e[e.length-1]!=="'"||e.length===1)&&t(e.length,"MISSING_CHAR","Missing closing 'quote"),x$t(e.slice(1,-1)).replace(/''/g,"'")}function x$t(e){let t,r;try{t=new RegExp(`(.*?)(?s?e.slice(s,n+1):i)}else r+=i}return(e[e.length-1]!=='"'||e.length===1)&&t(e.length,"MISSING_CHAR",'Missing closing "quote'),r}function wCr(e,t){let r="",n=e[t+1];for(;(n===" "||n===" "||n===` +`||n==="\r")&&!(n==="\r"&&e[t+2]!==` +`);)n===` +`&&(r+=` +`),t+=1,n=e[t+1];return r||(r=" "),{fold:r,offset:t}}var PCr={0:"\0",a:"\x07",b:"\b",e:"\x1B",f:"\f",n:` +`,r:"\r",t:" ",v:"\v",N:"\x85",_:"\xA0",L:"\u2028",P:"\u2029"," ":" ",'"':'"',"/":"/","\\":"\\"," ":" "};function BCr(e,t,r,n){let i=e.substr(t,r),R=i.length===r&&/^[0-9a-fA-F]+$/.test(i)?parseInt(i,16):NaN;if(isNaN(R)){let l=e.substr(t-2,r+2);return n(t-2,"BAD_DQ_ESCAPE",`Invalid escape sequence ${l}`),l}return String.fromCodePoint(R)}m$t.resolveFlowScalar=SCr});var q$t=Le(y$t=>{"use strict";var uj=Nu(),k$t=hx(),ICr=Sht(),MCr=Qht();function WCr(e,t,r,n){let{value:i,type:s,comment:R,range:l}=t.type==="block-scalar"?ICr.resolveBlockScalar(e,t,n):MCr.resolveFlowScalar(t,e.options.strict,n),c=r?e.directives.tagName(r.source,f=>n(r,"TAG_RESOLVE_FAILED",f)):null,h;e.options.stringKeys&&e.atKey?h=e.schema[uj.SCALAR]:c?h=UCr(e.schema,i,c,r,n):t.type==="scalar"?h=FCr(e,i,t,n):h=e.schema[uj.SCALAR];let _;try{let f=h.resolve(i,m=>n(r??t,"TAG_RESOLVE_FAILED",m),e.options);_=uj.isScalar(f)?f:new k$t.Scalar(f)}catch(f){let m=f instanceof Error?f.message:String(f);n(r??t,"TAG_RESOLVE_FAILED",m),_=new k$t.Scalar(i)}return _.range=l,_.source=i,s&&(_.type=s),c&&(_.tag=c),h.format&&(_.format=h.format),R&&(_.comment=R),_}function UCr(e,t,r,n,i){if(r==="!")return e[uj.SCALAR];let s=[];for(let l of e.tags)if(!l.collection&&l.tag===r)if(l.default&&l.test)s.push(l);else return l;for(let l of s)if(l.test?.test(t))return l;let R=e.knownTags[r];return R&&!R.collection?(e.tags.push(Object.assign({},R,{default:!1,test:void 0})),R):(i(n,"TAG_RESOLVE_FAILED",`Unresolved tag: ${r}`,r!=="tag:yaml.org,2002:str"),e[uj.SCALAR])}function FCr({atKey:e,directives:t,schema:r},n,i,s){let R=r.tags.find(l=>(l.default===!0||e&&l.default==="key")&&l.test?.test(n))||r[uj.SCALAR];if(r.compat){let l=r.compat.find(c=>c.default&&c.test?.test(n))??r[uj.SCALAR];if(R.tag!==l.tag){let c=t.tagString(R.tag),h=t.tagString(l.tag),_=`Value may be parsed as either ${c} or ${h}`;s(i,"TAG_RESOLVE_FAILED",_,!0)}}return R}y$t.composeScalar=WCr});var A$t=Le(C$t=>{"use strict";function LCr(e,t,r){if(t){r===null&&(r=t.length);for(let n=r-1;n>=0;--n){let i=t[n];switch(i.type){case"space":case"comment":case"newline":e-=i.source.length;continue}for(i=t[++n];i?.type==="space";)e+=i.source.length,i=t[++n];break}}return e}C$t.emptyScalarPosition=LCr});var E$t=Le(wht=>{"use strict";var zCr=UTe(),HCr=Nu(),YCr=f$t(),g$t=q$t(),KCr=Tre(),GCr=A$t(),VCr={composeNode:b$t,composeEmptyNode:Nht};function b$t(e,t,r,n){let i=e.atKey,{spaceBefore:s,comment:R,anchor:l,tag:c}=r,h,_=!0;switch(t.type){case"alias":h=jCr(e,t,n),(l||c)&&n(t,"ALIAS_PROPS","An alias node must not specify any properties");break;case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":case"block-scalar":h=g$t.composeScalar(e,t,c,n),l&&(h.anchor=l.source.substring(1));break;case"block-map":case"block-seq":case"flow-collection":h=YCr.composeCollection(VCr,e,t,r,n),l&&(h.anchor=l.source.substring(1));break;default:{let f=t.type==="error"?t.message:`Unsupported token (type: ${t.type})`;n(t,"UNEXPECTED_TOKEN",f),h=Nht(e,t.offset,void 0,null,r,n),_=!1}}return l&&h.anchor===""&&n(l,"BAD_ALIAS","Anchor cannot be an empty string"),i&&e.options.stringKeys&&(!HCr.isScalar(h)||typeof h.value!="string"||h.tag&&h.tag!=="tag:yaml.org,2002:str")&&n(c??t,"NON_STRING_KEY","With stringKeys, all keys must be strings"),s&&(h.spaceBefore=!0),R&&(t.type==="scalar"&&t.source===""?h.comment=R:h.commentBefore=R),e.options.keepSourceTokens&&_&&(h.srcToken=t),h}function Nht(e,t,r,n,{spaceBefore:i,comment:s,anchor:R,tag:l,end:c},h){let _={type:"scalar",offset:GCr.emptyScalarPosition(t,r,n),indent:-1,source:""},f=g$t.composeScalar(e,_,l,h);return R&&(f.anchor=R.source.substring(1),f.anchor===""&&h(R,"BAD_ALIAS","Anchor cannot be an empty string")),i&&(f.spaceBefore=!0),s&&(f.comment=s,f.range[2]=c),f}function jCr({options:e},{offset:t,source:r,end:n},i){let s=new zCr.Alias(r.substring(1));s.source===""&&i(t,"BAD_ALIAS","Alias cannot be an empty string"),s.source.endsWith(":")&&i(t+r.length-1,"BAD_ALIAS","Alias ending in : is ambiguous",!0);let R=t+r.length,l=KCr.resolveEnd(n,R,e.strict,i);return s.range=[t,R,l.offset],l.comment&&(s.comment=l.comment),s}wht.composeEmptyNode=Nht;wht.composeNode=b$t});var D$t=Le(v$t=>{"use strict";var JCr=n1e(),O$t=E$t(),XCr=Tre(),ZCr=o1e();function e5r(e,t,{offset:r,start:n,value:i,end:s},R){let l=Object.assign({_directives:t},e),c=new JCr.Document(void 0,l),h={atKey:!1,atRoot:!0,directives:c.directives,options:c.options,schema:c.schema},_=ZCr.resolveProps(n,{indicator:"doc-start",next:i??s?.[0],offset:r,onError:R,parentIndent:0,startOnNewline:!0});_.found&&(c.directives.docStart=!0,i&&(i.type==="block-map"||i.type==="block-seq")&&!_.hasNewline&&R(_.end,"MISSING_CHAR","Block collection cannot start on same line with directives-end marker")),c.contents=i?O$t.composeNode(h,i,_,R):O$t.composeEmptyNode(h,_.end,n,null,_,R);let f=c.contents.range[2],m=XCr.resolveEnd(s,f,!1,R);return m.comment&&(c.comment=m.comment),c.range=[r,f,m.offset],c}v$t.composeDoc=e5r});var Bht=Le(Q$t=>{"use strict";var t5r=q_t(),r5r=n1e(),R1e=s1e(),S$t=Nu(),n5r=D$t(),i5r=Tre();function u1e(e){if(typeof e=="number")return[e,e+1];if(Array.isArray(e))return e.length===2?e:[e[0],e[1]];let{offset:t,source:r}=e;return[t,t+(typeof r=="string"?r.length:1)]}function $$t(e){let t="",r=!1,n=!1;for(let i=0;i{let R=u1e(r);s?this.warnings.push(new R1e.YAMLWarning(R,n,i)):this.errors.push(new R1e.YAMLParseError(R,n,i))},this.directives=new t5r.Directives({version:t.version||"1.2"}),this.options=t}decorate(t,r){let{comment:n,afterEmptyLine:i}=$$t(this.prelude);if(n){let s=t.contents;if(r)t.comment=t.comment?`${t.comment} +${n}`:n;else if(i||t.directives.docStart||!s)t.commentBefore=n;else if(S$t.isCollection(s)&&!s.flow&&s.items.length>0){let R=s.items[0];S$t.isPair(R)&&(R=R.key);let l=R.commentBefore;R.commentBefore=l?`${n} +${l}`:n}else{let R=s.commentBefore;s.commentBefore=R?`${n} +${R}`:n}}r?(Array.prototype.push.apply(t.errors,this.errors),Array.prototype.push.apply(t.warnings,this.warnings)):(t.errors=this.errors,t.warnings=this.warnings),this.prelude=[],this.errors=[],this.warnings=[]}streamInfo(){return{comment:$$t(this.prelude).comment,directives:this.directives,errors:this.errors,warnings:this.warnings}}*compose(t,r=!1,n=-1){for(let i of t)yield*this.next(i);yield*this.end(r,n)}*next(t){switch(process.env.LOG_STREAM&&console.dir(t,{depth:null}),t.type){case"directive":this.directives.add(t.source,(r,n,i)=>{let s=u1e(t);s[0]+=r,this.onError(s,"BAD_DIRECTIVE",n,i)}),this.prelude.push(t.source),this.atDirectives=!0;break;case"document":{let r=n5r.composeDoc(this.options,this.directives,t,this.onError);this.atDirectives&&!r.directives.docStart&&this.onError(t,"MISSING_CHAR","Missing directives-end/doc-start indicator line"),this.decorate(r,!1),this.doc&&(yield this.doc),this.doc=r,this.atDirectives=!1;break}case"byte-order-mark":case"space":break;case"comment":case"newline":this.prelude.push(t.source);break;case"error":{let r=t.source?`${t.message}: ${JSON.stringify(t.source)}`:t.message,n=new R1e.YAMLParseError(u1e(t),"UNEXPECTED_TOKEN",r);this.atDirectives||!this.doc?this.errors.push(n):this.doc.errors.push(n);break}case"doc-end":{if(!this.doc){let n="Unexpected doc-end without preceding document";this.errors.push(new R1e.YAMLParseError(u1e(t),"UNEXPECTED_TOKEN",n));break}this.doc.directives.docEnd=!0;let r=i5r.resolveEnd(t.end,t.offset+t.source.length,this.doc.options.strict,this.onError);if(this.decorate(this.doc,!0),r.comment){let n=this.doc.comment;this.doc.comment=n?`${n} +${r.comment}`:r.comment}this.doc.range[2]=r.offset;break}default:this.errors.push(new R1e.YAMLParseError(u1e(t),"UNEXPECTED_TOKEN",`Unsupported token ${t.type}`))}}*end(t=!1,r=-1){if(this.doc)this.decorate(this.doc,!0),yield this.doc,this.doc=null;else if(t){let n=Object.assign({_directives:this.directives},this.options),i=new r5r.Document(void 0,n);this.atDirectives&&this.onError(r,"MISSING_CHAR","Missing directives-end indicator line"),i.range=[0,r,r],this.decorate(i,!1),yield i}}};Q$t.Composer=Pht});var P$t=Le(z7e=>{"use strict";var a5r=Sht(),s5r=Qht(),o5r=s1e(),N$t=YTe();function R5r(e,t=!0,r){if(e){let n=(i,s,R)=>{let l=typeof i=="number"?i:Array.isArray(i)?i[0]:i.offset;if(r)r(l,s,R);else throw new o5r.YAMLParseError([l,l+1],s,R)};switch(e.type){case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return s5r.resolveFlowScalar(e,t,n);case"block-scalar":return a5r.resolveBlockScalar({options:{strict:t}},e,n)}}return null}function u5r(e,t){let{implicitKey:r=!1,indent:n,inFlow:i=!1,offset:s=-1,type:R="PLAIN"}=t,l=N$t.stringifyString({type:R,value:e},{implicitKey:r,indent:n>0?" ".repeat(n):"",inFlow:i,options:{blockQuote:!0,lineWidth:-1}}),c=t.end??[{type:"newline",offset:-1,indent:n,source:` +`}];switch(l[0]){case"|":case">":{let h=l.indexOf(` +`),_=l.substring(0,h),f=l.substring(h+1)+` +`,m=[{type:"block-scalar-header",offset:s,indent:n,source:_}];return w$t(m,c)||m.push({type:"newline",offset:-1,indent:n,source:` +`}),{type:"block-scalar",offset:s,indent:n,props:m,source:f}}case'"':return{type:"double-quoted-scalar",offset:s,indent:n,source:l,end:c};case"'":return{type:"single-quoted-scalar",offset:s,indent:n,source:l,end:c};default:return{type:"scalar",offset:s,indent:n,source:l,end:c}}}function l5r(e,t,r={}){let{afterKey:n=!1,implicitKey:i=!1,inFlow:s=!1,type:R}=r,l="indent"in e?e.indent:null;if(n&&typeof l=="number"&&(l+=2),!R)switch(e.type){case"single-quoted-scalar":R="QUOTE_SINGLE";break;case"double-quoted-scalar":R="QUOTE_DOUBLE";break;case"block-scalar":{let h=e.props[0];if(h.type!=="block-scalar-header")throw new Error("Invalid block scalar header");R=h.source[0]===">"?"BLOCK_FOLDED":"BLOCK_LITERAL";break}default:R="PLAIN"}let c=N$t.stringifyString({type:R,value:t},{implicitKey:i||l===null,indent:l!==null&&l>0?" ".repeat(l):"",inFlow:s,options:{blockQuote:!0,lineWidth:-1}});switch(c[0]){case"|":case">":c5r(e,c);break;case'"':Iht(e,c,"double-quoted-scalar");break;case"'":Iht(e,c,"single-quoted-scalar");break;default:Iht(e,c,"scalar")}}function c5r(e,t){let r=t.indexOf(` +`),n=t.substring(0,r),i=t.substring(r+1)+` +`;if(e.type==="block-scalar"){let s=e.props[0];if(s.type!=="block-scalar-header")throw new Error("Invalid block scalar header");s.source=n,e.source=i}else{let{offset:s}=e,R="indent"in e?e.indent:-1,l=[{type:"block-scalar-header",offset:s,indent:R,source:n}];w$t(l,"end"in e?e.end:void 0)||l.push({type:"newline",offset:-1,indent:R,source:` +`});for(let c of Object.keys(e))c!=="type"&&c!=="offset"&&delete e[c];Object.assign(e,{type:"block-scalar",indent:R,props:l,source:i})}}function w$t(e,t){if(t)for(let r of t)switch(r.type){case"space":case"comment":e.push(r);break;case"newline":return e.push(r),!0}return!1}function Iht(e,t,r){switch(e.type){case"scalar":case"double-quoted-scalar":case"single-quoted-scalar":e.type=r,e.source=t;break;case"block-scalar":{let n=e.props.slice(1),i=t.length;e.props[0].type==="block-scalar-header"&&(i-=e.props[0].source.length);for(let s of n)s.offset+=i;delete e.props,Object.assign(e,{type:r,source:t,end:n});break}case"block-map":case"block-seq":{let i={type:"newline",offset:e.offset+t.length,indent:e.indent,source:` +`};delete e.items,Object.assign(e,{type:r,source:t,end:[i]});break}default:{let n="indent"in e?e.indent:-1,i="end"in e&&Array.isArray(e.end)?e.end.filter(s=>s.type==="space"||s.type==="comment"||s.type==="newline"):[];for(let s of Object.keys(e))s!=="type"&&s!=="offset"&&delete e[s];Object.assign(e,{type:r,indent:n,source:t,end:i})}}}z7e.createScalarToken=u5r;z7e.resolveAsScalar=R5r;z7e.setScalarValue=l5r});var I$t=Le(B$t=>{"use strict";var T5r=e=>"type"in e?Y7e(e):H7e(e);function Y7e(e){switch(e.type){case"block-scalar":{let t="";for(let r of e.props)t+=Y7e(r);return t+e.source}case"block-map":case"block-seq":{let t="";for(let r of e.items)t+=H7e(r);return t}case"flow-collection":{let t=e.start.source;for(let r of e.items)t+=H7e(r);for(let r of e.end)t+=r.source;return t}case"document":{let t=H7e(e);if(e.end)for(let r of e.end)t+=r.source;return t}default:{let t=e.source;if("end"in e&&e.end)for(let r of e.end)t+=r.source;return t}}}function H7e({start:e,key:t,sep:r,value:n}){let i="";for(let s of e)i+=s.source;if(t&&(i+=Y7e(t)),r)for(let s of r)i+=s.source;return n&&(i+=Y7e(n)),i}B$t.stringify=T5r});var F$t=Le(U$t=>{"use strict";var Mht=Symbol("break visit"),p5r=Symbol("skip children"),M$t=Symbol("remove item");function lj(e,t){"type"in e&&e.type==="document"&&(e={start:e.start,value:e.value}),W$t(Object.freeze([]),e,t)}lj.BREAK=Mht;lj.SKIP=p5r;lj.REMOVE=M$t;lj.itemAtPath=(e,t)=>{let r=e;for(let[n,i]of t){let s=r?.[n];if(s&&"items"in s)r=s.items[i];else return}return r};lj.parentCollection=(e,t)=>{let r=lj.itemAtPath(e,t.slice(0,-1)),n=t[t.length-1][0],i=r?.[n];if(i&&"items"in i)return i;throw new Error("Parent collection not found")};function W$t(e,t,r){let n=r(t,e);if(typeof n=="symbol")return n;for(let i of["key","value"]){let s=t[i];if(s&&"items"in s){for(let R=0;R{"use strict";var Wht=P$t(),_5r=I$t(),h5r=F$t(),Uht="\uFEFF",Fht="",Lht="",zht="",f5r=e=>!!e&&"items"in e,d5r=e=>!!e&&(e.type==="scalar"||e.type==="single-quoted-scalar"||e.type==="double-quoted-scalar"||e.type==="block-scalar");function x5r(e){switch(e){case Uht:return"";case Fht:return"";case Lht:return"";case zht:return"";default:return JSON.stringify(e)}}function m5r(e){switch(e){case Uht:return"byte-order-mark";case Fht:return"doc-mode";case Lht:return"flow-error-end";case zht:return"scalar";case"---":return"doc-start";case"...":return"doc-end";case"":case` +`:case`\r +`:return"newline";case"-":return"seq-item-ind";case"?":return"explicit-key-ind";case":":return"map-value-ind";case"{":return"flow-map-start";case"}":return"flow-map-end";case"[":return"flow-seq-start";case"]":return"flow-seq-end";case",":return"comma"}switch(e[0]){case" ":case" ":return"space";case"#":return"comment";case"%":return"directive-line";case"*":return"alias";case"&":return"anchor";case"!":return"tag";case"'":return"single-quoted-scalar";case'"':return"double-quoted-scalar";case"|":case">":return"block-scalar-header"}return null}bC.createScalarToken=Wht.createScalarToken;bC.resolveAsScalar=Wht.resolveAsScalar;bC.setScalarValue=Wht.setScalarValue;bC.stringify=_5r.stringify;bC.visit=h5r.visit;bC.BOM=Uht;bC.DOCUMENT=Fht;bC.FLOW_END=Lht;bC.SCALAR=zht;bC.isCollection=f5r;bC.isScalar=d5r;bC.prettyToken=x5r;bC.tokenType=m5r});var Kht=Le(z$t=>{"use strict";var l1e=K7e();function DE(e){switch(e){case void 0:case" ":case` +`:case"\r":case" ":return!0;default:return!1}}var L$t=new Set("0123456789ABCDEFabcdef"),k5r=new Set("0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz-#;/?:@&=+$_.!~*'()"),G7e=new Set(",[]{}"),y5r=new Set(` ,[]{} +\r `),Hht=e=>!e||y5r.has(e),Yht=class{constructor(){this.atEnd=!1,this.blockScalarIndent=-1,this.blockScalarKeep=!1,this.buffer="",this.flowKey=!1,this.flowLevel=0,this.indentNext=0,this.indentValue=0,this.lineEndPos=null,this.next=null,this.pos=0}*lex(t,r=!1){if(t){if(typeof t!="string")throw TypeError("source is not a string");this.buffer=this.buffer?this.buffer+t:t,this.lineEndPos=null}this.atEnd=!r;let n=this.next??"stream";for(;n&&(r||this.hasChars(1));)n=yield*this.parseNext(n)}atLineEnd(){let t=this.pos,r=this.buffer[t];for(;r===" "||r===" ";)r=this.buffer[++t];return!r||r==="#"||r===` +`?!0:r==="\r"?this.buffer[t+1]===` +`:!1}charAt(t){return this.buffer[this.pos+t]}continueScalar(t){let r=this.buffer[t];if(this.indentNext>0){let n=0;for(;r===" ";)r=this.buffer[++n+t];if(r==="\r"){let i=this.buffer[n+t+1];if(i===` +`||!i&&!this.atEnd)return t+n+1}return r===` +`||n>=this.indentNext||!r&&!this.atEnd?t+n:-1}if(r==="-"||r==="."){let n=this.buffer.substr(t,3);if((n==="---"||n==="...")&&DE(this.buffer[t+3]))return-1}return t}getLine(){let t=this.lineEndPos;return(typeof t!="number"||t!==-1&&tthis.indentValue&&!DE(this.charAt(1))&&(this.indentNext=this.indentValue),yield*this.parseBlockStart()}*parseBlockStart(){let[t,r]=this.peek(2);if(!r&&!this.atEnd)return this.setNext("block-start");if((t==="-"||t==="?"||t===":")&&DE(r)){let n=(yield*this.pushCount(1))+(yield*this.pushSpaces(!0));return this.indentNext=this.indentValue+1,this.indentValue+=n,yield*this.parseBlockStart()}return"doc"}*parseDocument(){yield*this.pushSpaces(!0);let t=this.getLine();if(t===null)return this.setNext("doc");let r=yield*this.pushIndicators();switch(t[r]){case"#":yield*this.pushCount(t.length-r);case void 0:return yield*this.pushNewline(),yield*this.parseLineStart();case"{":case"[":return yield*this.pushCount(1),this.flowKey=!1,this.flowLevel=1,"flow";case"}":case"]":return yield*this.pushCount(1),"doc";case"*":return yield*this.pushUntil(Hht),"doc";case'"':case"'":return yield*this.parseQuotedScalar();case"|":case">":return r+=yield*this.parseBlockScalarHeader(),r+=yield*this.pushSpaces(!0),yield*this.pushCount(t.length-r),yield*this.pushNewline(),yield*this.parseBlockScalar();default:return yield*this.parsePlainScalar()}}*parseFlowCollection(){let t,r,n=-1;do t=yield*this.pushNewline(),t>0?(r=yield*this.pushSpaces(!1),this.indentValue=n=r):r=0,r+=yield*this.pushSpaces(!0);while(t+r>0);let i=this.getLine();if(i===null)return this.setNext("flow");if((n!==-1&&n"0"&&r<="9")this.blockScalarIndent=Number(r)-1;else if(r!=="-")break}return yield*this.pushUntil(r=>DE(r)||r==="#")}*parseBlockScalar(){let t=this.pos-1,r=0,n;e:for(let s=this.pos;n=this.buffer[s];++s)switch(n){case" ":r+=1;break;case` +`:t=s,r=0;break;case"\r":{let R=this.buffer[s+1];if(!R&&!this.atEnd)return this.setNext("block-scalar");if(R===` +`)break}default:break e}if(!n&&!this.atEnd)return this.setNext("block-scalar");if(r>=this.indentNext){this.blockScalarIndent===-1?this.indentNext=r:this.indentNext=this.blockScalarIndent+(this.indentNext===0?1:this.indentNext);do{let s=this.continueScalar(t+1);if(s===-1)break;t=this.buffer.indexOf(` +`,s)}while(t!==-1);if(t===-1){if(!this.atEnd)return this.setNext("block-scalar");t=this.buffer.length}}let i=t+1;for(n=this.buffer[i];n===" ";)n=this.buffer[++i];if(n===" "){for(;n===" "||n===" "||n==="\r"||n===` +`;)n=this.buffer[++i];t=i-1}else if(!this.blockScalarKeep)do{let s=t-1,R=this.buffer[s];R==="\r"&&(R=this.buffer[--s]);let l=s;for(;R===" ";)R=this.buffer[--s];if(R===` +`&&s>=this.pos&&s+1+r>l)t=s;else break}while(!0);return yield l1e.SCALAR,yield*this.pushToIndex(t+1,!0),yield*this.parseLineStart()}*parsePlainScalar(){let t=this.flowLevel>0,r=this.pos-1,n=this.pos-1,i;for(;i=this.buffer[++n];)if(i===":"){let s=this.buffer[n+1];if(DE(s)||t&&G7e.has(s))break;r=n}else if(DE(i)){let s=this.buffer[n+1];if(i==="\r"&&(s===` +`?(n+=1,i=` +`,s=this.buffer[n+1]):r=n),s==="#"||t&&G7e.has(s))break;if(i===` +`){let R=this.continueScalar(n+1);if(R===-1)break;n=Math.max(n,R-2)}}else{if(t&&G7e.has(i))break;r=n}return!i&&!this.atEnd?this.setNext("plain-scalar"):(yield l1e.SCALAR,yield*this.pushToIndex(r+1,!0),t?"flow":"doc")}*pushCount(t){return t>0?(yield this.buffer.substr(this.pos,t),this.pos+=t,t):0}*pushToIndex(t,r){let n=this.buffer.slice(this.pos,t);return n?(yield n,this.pos+=n.length,n.length):(r&&(yield""),0)}*pushIndicators(){switch(this.charAt(0)){case"!":return(yield*this.pushTag())+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"&":return(yield*this.pushUntil(Hht))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators());case"-":case"?":case":":{let t=this.flowLevel>0,r=this.charAt(1);if(DE(r)||t&&G7e.has(r))return t?this.flowKey&&(this.flowKey=!1):this.indentNext=this.indentValue+1,(yield*this.pushCount(1))+(yield*this.pushSpaces(!0))+(yield*this.pushIndicators())}}return 0}*pushTag(){if(this.charAt(1)==="<"){let t=this.pos+2,r=this.buffer[t];for(;!DE(r)&&r!==">";)r=this.buffer[++t];return yield*this.pushToIndex(r===">"?t+1:t,!1)}else{let t=this.pos+1,r=this.buffer[t];for(;r;)if(k5r.has(r))r=this.buffer[++t];else if(r==="%"&&L$t.has(this.buffer[t+1])&&L$t.has(this.buffer[t+2]))r=this.buffer[t+=3];else break;return yield*this.pushToIndex(t,!1)}}*pushNewline(){let t=this.buffer[this.pos];return t===` +`?yield*this.pushCount(1):t==="\r"&&this.charAt(1)===` +`?yield*this.pushCount(2):0}*pushSpaces(t){let r=this.pos-1,n;do n=this.buffer[++r];while(n===" "||t&&n===" ");let i=r-this.pos;return i>0&&(yield this.buffer.substr(this.pos,i),this.pos=r),i}*pushUntil(t){let r=this.pos,n=this.buffer[r];for(;!t(n);)n=this.buffer[++r];return yield*this.pushToIndex(r,!1)}};z$t.Lexer=Yht});var Vht=Le(H$t=>{"use strict";var Ght=class{constructor(){this.lineStarts=[],this.addNewLine=t=>this.lineStarts.push(t),this.linePos=t=>{let r=0,n=this.lineStarts.length;for(;r>1;this.lineStarts[s]{"use strict";var Y$t=K7e(),q5r=Kht();function cj(e,t){for(let r=0;r=0;)switch(e[t].type){case"doc-start":case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":case"newline":break e}for(;e[++t]?.type==="space";);return e.splice(t,e.length)}function G$t(e){if(e.start.type==="flow-seq-start")for(let t of e.items)t.sep&&!t.value&&!cj(t.start,"explicit-key-ind")&&!cj(t.sep,"map-value-ind")&&(t.key&&(t.value=t.key),delete t.key,V$t(t.value)?t.value.end?Array.prototype.push.apply(t.value.end,t.sep):t.value.end=t.sep:Array.prototype.push.apply(t.start,t.sep),delete t.sep)}var jht=class{constructor(t){this.atNewLine=!0,this.atScalar=!1,this.indent=0,this.offset=0,this.onKeyLine=!1,this.stack=[],this.source="",this.type="",this.lexer=new q5r.Lexer,this.onNewLine=t}*parse(t,r=!1){this.onNewLine&&this.offset===0&&this.onNewLine(0);for(let n of this.lexer.lex(t,r))yield*this.next(n);r||(yield*this.end())}*next(t){if(this.source=t,process.env.LOG_TOKENS&&console.log("|",Y$t.prettyToken(t)),this.atScalar){this.atScalar=!1,yield*this.step(),this.offset+=t.length;return}let r=Y$t.tokenType(t);if(r)if(r==="scalar")this.atNewLine=!1,this.atScalar=!0,this.type="scalar";else{switch(this.type=r,yield*this.step(),r){case"newline":this.atNewLine=!0,this.indent=0,this.onNewLine&&this.onNewLine(this.offset+t.length);break;case"space":this.atNewLine&&t[0]===" "&&(this.indent+=t.length);break;case"explicit-key-ind":case"map-value-ind":case"seq-item-ind":this.atNewLine&&(this.indent+=t.length);break;case"doc-mode":case"flow-error-end":return;default:this.atNewLine=!1}this.offset+=t.length}else{let n=`Not a YAML token: ${t}`;yield*this.pop({type:"error",offset:this.offset,message:n,source:t}),this.offset+=t.length}}*end(){for(;this.stack.length>0;)yield*this.pop()}get sourceToken(){return{type:this.type,offset:this.offset,indent:this.indent,source:this.source}}*step(){let t=this.peek(1);if(this.type==="doc-end"&&(!t||t.type!=="doc-end")){for(;this.stack.length>0;)yield*this.pop();this.stack.push({type:"doc-end",offset:this.offset,source:this.source});return}if(!t)return yield*this.stream();switch(t.type){case"document":return yield*this.document(t);case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return yield*this.scalar(t);case"block-scalar":return yield*this.blockScalar(t);case"block-map":return yield*this.blockMap(t);case"block-seq":return yield*this.blockSequence(t);case"flow-collection":return yield*this.flowCollection(t);case"doc-end":return yield*this.documentEnd(t)}yield*this.pop()}peek(t){return this.stack[this.stack.length-t]}*pop(t){let r=t??this.stack.pop();if(!r)yield{type:"error",offset:this.offset,source:"",message:"Tried to pop an empty stack"};else if(this.stack.length===0)yield r;else{let n=this.peek(1);switch(r.type==="block-scalar"?r.indent="indent"in n?n.indent:0:r.type==="flow-collection"&&n.type==="document"&&(r.indent=0),r.type==="flow-collection"&&G$t(r),n.type){case"document":n.value=r;break;case"block-scalar":n.props.push(r);break;case"block-map":{let i=n.items[n.items.length-1];if(i.value){n.items.push({start:[],key:r,sep:[]}),this.onKeyLine=!0;return}else if(i.sep)i.value=r;else{Object.assign(i,{key:r,sep:[]}),this.onKeyLine=!i.explicitKey;return}break}case"block-seq":{let i=n.items[n.items.length-1];i.value?n.items.push({start:[],value:r}):i.value=r;break}case"flow-collection":{let i=n.items[n.items.length-1];!i||i.value?n.items.push({start:[],key:r,sep:[]}):i.sep?i.value=r:Object.assign(i,{key:r,sep:[]});return}default:yield*this.pop(),yield*this.pop(r)}if((n.type==="document"||n.type==="block-map"||n.type==="block-seq")&&(r.type==="block-map"||r.type==="block-seq")){let i=r.items[r.items.length-1];i&&!i.sep&&!i.value&&i.start.length>0&&K$t(i.start)===-1&&(r.indent===0||i.start.every(s=>s.type!=="comment"||s.indent=t.indent){let n=!this.onKeyLine&&this.indent===t.indent,i=n&&(r.sep||r.explicitKey)&&this.type!=="seq-item-ind",s=[];if(i&&r.sep&&!r.value){let R=[];for(let l=0;lt.indent&&(R.length=0);break;default:R.length=0}}R.length>=2&&(s=r.sep.splice(R[1]))}switch(this.type){case"anchor":case"tag":i||r.value?(s.push(this.sourceToken),t.items.push({start:s}),this.onKeyLine=!0):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"explicit-key-ind":!r.sep&&!r.explicitKey?(r.start.push(this.sourceToken),r.explicitKey=!0):i||r.value?(s.push(this.sourceToken),t.items.push({start:s,explicitKey:!0})):this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken],explicitKey:!0}]}),this.onKeyLine=!0;return;case"map-value-ind":if(r.explicitKey)if(r.sep)if(r.value)t.items.push({start:[],key:null,sep:[this.sourceToken]});else if(cj(r.sep,"map-value-ind"))this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:s,key:null,sep:[this.sourceToken]}]});else if(V$t(r.key)&&!cj(r.sep,"newline")){let R=pre(r.start),l=r.key,c=r.sep;c.push(this.sourceToken),delete r.key,delete r.sep,this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:R,key:l,sep:c}]})}else s.length>0?r.sep=r.sep.concat(s,this.sourceToken):r.sep.push(this.sourceToken);else if(cj(r.start,"newline"))Object.assign(r,{key:null,sep:[this.sourceToken]});else{let R=pre(r.start);this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:R,key:null,sep:[this.sourceToken]}]})}else r.sep?r.value||i?t.items.push({start:s,key:null,sep:[this.sourceToken]}):cj(r.sep,"map-value-ind")?this.stack.push({type:"block-map",offset:this.offset,indent:this.indent,items:[{start:[],key:null,sep:[this.sourceToken]}]}):r.sep.push(this.sourceToken):Object.assign(r,{key:null,sep:[this.sourceToken]});this.onKeyLine=!0;return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let R=this.flowScalar(this.type);i||r.value?(t.items.push({start:s,key:R,sep:[]}),this.onKeyLine=!0):r.sep?this.stack.push(R):(Object.assign(r,{key:R,sep:[]}),this.onKeyLine=!0);return}default:{let R=this.startBlockValue(t);if(R){n&&R.type!=="block-seq"&&t.items.push({start:s}),this.stack.push(R);return}}}}yield*this.pop(),yield*this.step()}*blockSequence(t){let r=t.items[t.items.length-1];switch(this.type){case"newline":if(r.value){let n="end"in r.value?r.value.end:void 0;(Array.isArray(n)?n[n.length-1]:void 0)?.type==="comment"?n?.push(this.sourceToken):t.items.push({start:[this.sourceToken]})}else r.start.push(this.sourceToken);return;case"space":case"comment":if(r.value)t.items.push({start:[this.sourceToken]});else{if(this.atIndentedComment(r.start,t.indent)){let i=t.items[t.items.length-2]?.value?.end;if(Array.isArray(i)){Array.prototype.push.apply(i,r.start),i.push(this.sourceToken),t.items.pop();return}}r.start.push(this.sourceToken)}return;case"anchor":case"tag":if(r.value||this.indent<=t.indent)break;r.start.push(this.sourceToken);return;case"seq-item-ind":if(this.indent!==t.indent)break;r.value||cj(r.start,"seq-item-ind")?t.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return}if(this.indent>t.indent){let n=this.startBlockValue(t);if(n){this.stack.push(n);return}}yield*this.pop(),yield*this.step()}*flowCollection(t){let r=t.items[t.items.length-1];if(this.type==="flow-error-end"){let n;do yield*this.pop(),n=this.peek(1);while(n&&n.type==="flow-collection")}else if(t.end.length===0){switch(this.type){case"comma":case"explicit-key-ind":!r||r.sep?t.items.push({start:[this.sourceToken]}):r.start.push(this.sourceToken);return;case"map-value-ind":!r||r.value?t.items.push({start:[],key:null,sep:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):Object.assign(r,{key:null,sep:[this.sourceToken]});return;case"space":case"comment":case"newline":case"anchor":case"tag":!r||r.value?t.items.push({start:[this.sourceToken]}):r.sep?r.sep.push(this.sourceToken):r.start.push(this.sourceToken);return;case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":{let i=this.flowScalar(this.type);!r||r.value?t.items.push({start:[],key:i,sep:[]}):r.sep?this.stack.push(i):Object.assign(r,{key:i,sep:[]});return}case"flow-map-end":case"flow-seq-end":t.end.push(this.sourceToken);return}let n=this.startBlockValue(t);n?this.stack.push(n):(yield*this.pop(),yield*this.step())}else{let n=this.peek(2);if(n.type==="block-map"&&(this.type==="map-value-ind"&&n.indent===t.indent||this.type==="newline"&&!n.items[n.items.length-1].sep))yield*this.pop(),yield*this.step();else if(this.type==="map-value-ind"&&n.type!=="flow-collection"){let i=V7e(n),s=pre(i);G$t(t);let R=t.end.splice(1,t.end.length);R.push(this.sourceToken);let l={type:"block-map",offset:t.offset,indent:t.indent,items:[{start:s,key:t,sep:R}]};this.onKeyLine=!0,this.stack[this.stack.length-1]=l}else yield*this.lineEnd(t)}}flowScalar(t){if(this.onNewLine){let r=this.source.indexOf(` +`)+1;for(;r!==0;)this.onNewLine(this.offset+r),r=this.source.indexOf(` +`,r)+1}return{type:t,offset:this.offset,indent:this.indent,source:this.source}}startBlockValue(t){switch(this.type){case"alias":case"scalar":case"single-quoted-scalar":case"double-quoted-scalar":return this.flowScalar(this.type);case"block-scalar-header":return{type:"block-scalar",offset:this.offset,indent:this.indent,props:[this.sourceToken],source:""};case"flow-map-start":case"flow-seq-start":return{type:"flow-collection",offset:this.offset,indent:this.indent,start:this.sourceToken,items:[],end:[]};case"seq-item-ind":return{type:"block-seq",offset:this.offset,indent:this.indent,items:[{start:[this.sourceToken]}]};case"explicit-key-ind":{this.onKeyLine=!0;let r=V7e(t),n=pre(r);return n.push(this.sourceToken),{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,explicitKey:!0}]}}case"map-value-ind":{this.onKeyLine=!0;let r=V7e(t),n=pre(r);return{type:"block-map",offset:this.offset,indent:this.indent,items:[{start:n,key:null,sep:[this.sourceToken]}]}}}return null}atIndentedComment(t,r){return this.type!=="comment"||this.indent<=r?!1:t.every(n=>n.type==="newline"||n.type==="space")}*documentEnd(t){this.type!=="doc-mode"&&(t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop()))}*lineEnd(t){switch(this.type){case"comma":case"doc-start":case"doc-end":case"flow-seq-end":case"flow-map-end":case"map-value-ind":yield*this.pop(),yield*this.step();break;case"newline":this.onKeyLine=!1;case"space":case"comment":default:t.end?t.end.push(this.sourceToken):t.end=[this.sourceToken],this.type==="newline"&&(yield*this.pop())}}};j$t.Parser=jht});var tQt=Le(T1e=>{"use strict";var J$t=Bht(),C5r=n1e(),c1e=s1e(),A5r=w_t(),g5r=Nu(),b5r=Vht(),X$t=Jht();function Z$t(e){let t=e.prettyErrors!==!1;return{lineCounter:e.lineCounter||t&&new b5r.LineCounter||null,prettyErrors:t}}function E5r(e,t={}){let{lineCounter:r,prettyErrors:n}=Z$t(t),i=new X$t.Parser(r?.addNewLine),s=new J$t.Composer(t),R=Array.from(s.compose(i.parse(e)));if(n&&r)for(let l of R)l.errors.forEach(c1e.prettifyError(e,r)),l.warnings.forEach(c1e.prettifyError(e,r));return R.length>0?R:Object.assign([],{empty:!0},s.streamInfo())}function eQt(e,t={}){let{lineCounter:r,prettyErrors:n}=Z$t(t),i=new X$t.Parser(r?.addNewLine),s=new J$t.Composer(t),R=null;for(let l of s.compose(i.parse(e),!0,e.length))if(!R)R=l;else if(R.options.logLevel!=="silent"){R.errors.push(new c1e.YAMLParseError(l.range.slice(0,2),"MULTIPLE_DOCS","Source contains multiple documents; please use YAML.parseAllDocuments()"));break}return n&&r&&(R.errors.forEach(c1e.prettifyError(e,r)),R.warnings.forEach(c1e.prettifyError(e,r))),R}function O5r(e,t,r){let n;typeof t=="function"?n=t:r===void 0&&t&&typeof t=="object"&&(r=t);let i=eQt(e,r);if(!i)return null;if(i.warnings.forEach(s=>A5r.warn(i.options.logLevel,s)),i.errors.length>0){if(i.options.logLevel!=="silent")throw i.errors[0];i.errors=[]}return i.toJS(Object.assign({reviver:n},r))}function v5r(e,t,r){let n=null;if(typeof t=="function"||Array.isArray(t)?n=t:r===void 0&&t&&(r=t),typeof r=="string"&&(r=r.length),typeof r=="number"){let i=Math.round(r);r=i<1?void 0:i>8?{indent:8}:{indent:i}}if(e===void 0){let{keepUndefined:i}=r??t??{};if(!i)return}return g5r.isDocument(e)&&!n?e.toString(r):new C5r.Document(e,n,r).toString(r)}T1e.parse=O5r;T1e.parseAllDocuments=E5r;T1e.parseDocument=eQt;T1e.stringify=v5r});var J7e=Le(ec=>{"use strict";var D5r=Bht(),S5r=n1e(),$5r=dht(),Xht=s1e(),Q5r=UTe(),vI=Nu(),N5r=gI(),w5r=hx(),P5r=EI(),B5r=OI(),I5r=K7e(),M5r=Kht(),W5r=Vht(),U5r=Jht(),j7e=tQt(),rQt=BTe();ec.Composer=D5r.Composer;ec.Document=S5r.Document;ec.Schema=$5r.Schema;ec.YAMLError=Xht.YAMLError;ec.YAMLParseError=Xht.YAMLParseError;ec.YAMLWarning=Xht.YAMLWarning;ec.Alias=Q5r.Alias;ec.isAlias=vI.isAlias;ec.isCollection=vI.isCollection;ec.isDocument=vI.isDocument;ec.isMap=vI.isMap;ec.isNode=vI.isNode;ec.isPair=vI.isPair;ec.isScalar=vI.isScalar;ec.isSeq=vI.isSeq;ec.Pair=N5r.Pair;ec.Scalar=w5r.Scalar;ec.YAMLMap=P5r.YAMLMap;ec.YAMLSeq=B5r.YAMLSeq;ec.CST=I5r;ec.Lexer=M5r.Lexer;ec.LineCounter=W5r.LineCounter;ec.Parser=U5r.Parser;ec.parse=j7e.parse;ec.parseAllDocuments=j7e.parseAllDocuments;ec.parseDocument=j7e.parseDocument;ec.stringify=j7e.stringify;ec.visit=rQt.visit;ec.visitAsync=rQt.visitAsync});var oQt=Le((hti,sQt)=>{"use strict";var M_={};sQt.exports=M_;function aQt(e){return e<0?-1:1}function K5r(e){return e%1===.5&&!(e&1)?Math.floor(e):Math.round(e)}function DI(e,t){t.unsigned||--e;let r=t.unsigned?0:-Math.pow(2,e),n=Math.pow(2,e)-1,i=t.moduloBitLength?Math.pow(2,t.moduloBitLength):Math.pow(2,e),s=t.moduloBitLength?Math.pow(2,t.moduloBitLength-1):Math.pow(2,e-1);return function(R,l){l||(l={});let c=+R;if(l.enforceRange){if(!Number.isFinite(c))throw new TypeError("Argument is not a finite number");if(c=aQt(c)*Math.floor(Math.abs(c)),cn)throw new TypeError("Argument is not in byte range");return c}if(!isNaN(c)&&l.clamp)return c=K5r(c),cn&&(c=n),c;if(!Number.isFinite(c)||c===0)return 0;if(c=aQt(c)*Math.floor(Math.abs(c)),c=c%i,!t.unsigned&&c>=s)return c-i;if(t.unsigned){if(c<0)c+=i;else if(c===-0)return 0}return c}}M_.void=function(){};M_.boolean=function(e){return!!e};M_.byte=DI(8,{unsigned:!1});M_.octet=DI(8,{unsigned:!0});M_.short=DI(16,{unsigned:!1});M_["unsigned short"]=DI(16,{unsigned:!0});M_.long=DI(32,{unsigned:!1});M_["unsigned long"]=DI(32,{unsigned:!0});M_["long long"]=DI(32,{unsigned:!1,moduloBitLength:64});M_["unsigned long long"]=DI(32,{unsigned:!0,moduloBitLength:64});M_.double=function(e){let t=+e;if(!Number.isFinite(t))throw new TypeError("Argument is not a finite floating-point value");return t};M_["unrestricted double"]=function(e){let t=+e;if(isNaN(t))throw new TypeError("Argument is NaN");return t};M_.float=M_.double;M_["unrestricted float"]=M_["unrestricted double"];M_.DOMString=function(e,t){return t||(t={}),t.treatNullAsEmptyString&&e===null?"":String(e)};M_.ByteString=function(e,t){let r=String(e),n;for(let i=0;(n=r.codePointAt(i))!==void 0;++i)if(n>255)throw new TypeError("Argument is not a valid bytestring");return r};M_.USVString=function(e){let t=String(e),r=t.length,n=[];for(let i=0;i57343)n.push(String.fromCodePoint(s));else if(56320<=s&&s<=57343)n.push(String.fromCodePoint(65533));else if(i===r-1)n.push(String.fromCodePoint(65533));else{let R=t.charCodeAt(i+1);if(56320<=R&&R<=57343){let l=s&1023,c=R&1023;n.push(String.fromCodePoint(65536+1024*l+c)),++i}else n.push(String.fromCodePoint(65533))}}return n.join("")};M_.Date=function(e,t){if(!(e instanceof Date))throw new TypeError("Argument is not a Date object");if(!isNaN(e))return e};M_.RegExp=function(e,t){return e instanceof RegExp||(e=new RegExp(e)),e}});var RQt=Le((fti,SI)=>{"use strict";SI.exports.mixin=function(t,r){let n=Object.getOwnPropertyNames(r);for(let i=0;i{G5r.exports=[[[0,44],"disallowed_STD3_valid"],[[45,46],"valid"],[[47,47],"disallowed_STD3_valid"],[[48,57],"valid"],[[58,64],"disallowed_STD3_valid"],[[65,65],"mapped",[97]],[[66,66],"mapped",[98]],[[67,67],"mapped",[99]],[[68,68],"mapped",[100]],[[69,69],"mapped",[101]],[[70,70],"mapped",[102]],[[71,71],"mapped",[103]],[[72,72],"mapped",[104]],[[73,73],"mapped",[105]],[[74,74],"mapped",[106]],[[75,75],"mapped",[107]],[[76,76],"mapped",[108]],[[77,77],"mapped",[109]],[[78,78],"mapped",[110]],[[79,79],"mapped",[111]],[[80,80],"mapped",[112]],[[81,81],"mapped",[113]],[[82,82],"mapped",[114]],[[83,83],"mapped",[115]],[[84,84],"mapped",[116]],[[85,85],"mapped",[117]],[[86,86],"mapped",[118]],[[87,87],"mapped",[119]],[[88,88],"mapped",[120]],[[89,89],"mapped",[121]],[[90,90],"mapped",[122]],[[91,96],"disallowed_STD3_valid"],[[97,122],"valid"],[[123,127],"disallowed_STD3_valid"],[[128,159],"disallowed"],[[160,160],"disallowed_STD3_mapped",[32]],[[161,167],"valid",[],"NV8"],[[168,168],"disallowed_STD3_mapped",[32,776]],[[169,169],"valid",[],"NV8"],[[170,170],"mapped",[97]],[[171,172],"valid",[],"NV8"],[[173,173],"ignored"],[[174,174],"valid",[],"NV8"],[[175,175],"disallowed_STD3_mapped",[32,772]],[[176,177],"valid",[],"NV8"],[[178,178],"mapped",[50]],[[179,179],"mapped",[51]],[[180,180],"disallowed_STD3_mapped",[32,769]],[[181,181],"mapped",[956]],[[182,182],"valid",[],"NV8"],[[183,183],"valid"],[[184,184],"disallowed_STD3_mapped",[32,807]],[[185,185],"mapped",[49]],[[186,186],"mapped",[111]],[[187,187],"valid",[],"NV8"],[[188,188],"mapped",[49,8260,52]],[[189,189],"mapped",[49,8260,50]],[[190,190],"mapped",[51,8260,52]],[[191,191],"valid",[],"NV8"],[[192,192],"mapped",[224]],[[193,193],"mapped",[225]],[[194,194],"mapped",[226]],[[195,195],"mapped",[227]],[[196,196],"mapped",[228]],[[197,197],"mapped",[229]],[[198,198],"mapped",[230]],[[199,199],"mapped",[231]],[[200,200],"mapped",[232]],[[201,201],"mapped",[233]],[[202,202],"mapped",[234]],[[203,203],"mapped",[235]],[[204,204],"mapped",[236]],[[205,205],"mapped",[237]],[[206,206],"mapped",[238]],[[207,207],"mapped",[239]],[[208,208],"mapped",[240]],[[209,209],"mapped",[241]],[[210,210],"mapped",[242]],[[211,211],"mapped",[243]],[[212,212],"mapped",[244]],[[213,213],"mapped",[245]],[[214,214],"mapped",[246]],[[215,215],"valid",[],"NV8"],[[216,216],"mapped",[248]],[[217,217],"mapped",[249]],[[218,218],"mapped",[250]],[[219,219],"mapped",[251]],[[220,220],"mapped",[252]],[[221,221],"mapped",[253]],[[222,222],"mapped",[254]],[[223,223],"deviation",[115,115]],[[224,246],"valid"],[[247,247],"valid",[],"NV8"],[[248,255],"valid"],[[256,256],"mapped",[257]],[[257,257],"valid"],[[258,258],"mapped",[259]],[[259,259],"valid"],[[260,260],"mapped",[261]],[[261,261],"valid"],[[262,262],"mapped",[263]],[[263,263],"valid"],[[264,264],"mapped",[265]],[[265,265],"valid"],[[266,266],"mapped",[267]],[[267,267],"valid"],[[268,268],"mapped",[269]],[[269,269],"valid"],[[270,270],"mapped",[271]],[[271,271],"valid"],[[272,272],"mapped",[273]],[[273,273],"valid"],[[274,274],"mapped",[275]],[[275,275],"valid"],[[276,276],"mapped",[277]],[[277,277],"valid"],[[278,278],"mapped",[279]],[[279,279],"valid"],[[280,280],"mapped",[281]],[[281,281],"valid"],[[282,282],"mapped",[283]],[[283,283],"valid"],[[284,284],"mapped",[285]],[[285,285],"valid"],[[286,286],"mapped",[287]],[[287,287],"valid"],[[288,288],"mapped",[289]],[[289,289],"valid"],[[290,290],"mapped",[291]],[[291,291],"valid"],[[292,292],"mapped",[293]],[[293,293],"valid"],[[294,294],"mapped",[295]],[[295,295],"valid"],[[296,296],"mapped",[297]],[[297,297],"valid"],[[298,298],"mapped",[299]],[[299,299],"valid"],[[300,300],"mapped",[301]],[[301,301],"valid"],[[302,302],"mapped",[303]],[[303,303],"valid"],[[304,304],"mapped",[105,775]],[[305,305],"valid"],[[306,307],"mapped",[105,106]],[[308,308],"mapped",[309]],[[309,309],"valid"],[[310,310],"mapped",[311]],[[311,312],"valid"],[[313,313],"mapped",[314]],[[314,314],"valid"],[[315,315],"mapped",[316]],[[316,316],"valid"],[[317,317],"mapped",[318]],[[318,318],"valid"],[[319,320],"mapped",[108,183]],[[321,321],"mapped",[322]],[[322,322],"valid"],[[323,323],"mapped",[324]],[[324,324],"valid"],[[325,325],"mapped",[326]],[[326,326],"valid"],[[327,327],"mapped",[328]],[[328,328],"valid"],[[329,329],"mapped",[700,110]],[[330,330],"mapped",[331]],[[331,331],"valid"],[[332,332],"mapped",[333]],[[333,333],"valid"],[[334,334],"mapped",[335]],[[335,335],"valid"],[[336,336],"mapped",[337]],[[337,337],"valid"],[[338,338],"mapped",[339]],[[339,339],"valid"],[[340,340],"mapped",[341]],[[341,341],"valid"],[[342,342],"mapped",[343]],[[343,343],"valid"],[[344,344],"mapped",[345]],[[345,345],"valid"],[[346,346],"mapped",[347]],[[347,347],"valid"],[[348,348],"mapped",[349]],[[349,349],"valid"],[[350,350],"mapped",[351]],[[351,351],"valid"],[[352,352],"mapped",[353]],[[353,353],"valid"],[[354,354],"mapped",[355]],[[355,355],"valid"],[[356,356],"mapped",[357]],[[357,357],"valid"],[[358,358],"mapped",[359]],[[359,359],"valid"],[[360,360],"mapped",[361]],[[361,361],"valid"],[[362,362],"mapped",[363]],[[363,363],"valid"],[[364,364],"mapped",[365]],[[365,365],"valid"],[[366,366],"mapped",[367]],[[367,367],"valid"],[[368,368],"mapped",[369]],[[369,369],"valid"],[[370,370],"mapped",[371]],[[371,371],"valid"],[[372,372],"mapped",[373]],[[373,373],"valid"],[[374,374],"mapped",[375]],[[375,375],"valid"],[[376,376],"mapped",[255]],[[377,377],"mapped",[378]],[[378,378],"valid"],[[379,379],"mapped",[380]],[[380,380],"valid"],[[381,381],"mapped",[382]],[[382,382],"valid"],[[383,383],"mapped",[115]],[[384,384],"valid"],[[385,385],"mapped",[595]],[[386,386],"mapped",[387]],[[387,387],"valid"],[[388,388],"mapped",[389]],[[389,389],"valid"],[[390,390],"mapped",[596]],[[391,391],"mapped",[392]],[[392,392],"valid"],[[393,393],"mapped",[598]],[[394,394],"mapped",[599]],[[395,395],"mapped",[396]],[[396,397],"valid"],[[398,398],"mapped",[477]],[[399,399],"mapped",[601]],[[400,400],"mapped",[603]],[[401,401],"mapped",[402]],[[402,402],"valid"],[[403,403],"mapped",[608]],[[404,404],"mapped",[611]],[[405,405],"valid"],[[406,406],"mapped",[617]],[[407,407],"mapped",[616]],[[408,408],"mapped",[409]],[[409,411],"valid"],[[412,412],"mapped",[623]],[[413,413],"mapped",[626]],[[414,414],"valid"],[[415,415],"mapped",[629]],[[416,416],"mapped",[417]],[[417,417],"valid"],[[418,418],"mapped",[419]],[[419,419],"valid"],[[420,420],"mapped",[421]],[[421,421],"valid"],[[422,422],"mapped",[640]],[[423,423],"mapped",[424]],[[424,424],"valid"],[[425,425],"mapped",[643]],[[426,427],"valid"],[[428,428],"mapped",[429]],[[429,429],"valid"],[[430,430],"mapped",[648]],[[431,431],"mapped",[432]],[[432,432],"valid"],[[433,433],"mapped",[650]],[[434,434],"mapped",[651]],[[435,435],"mapped",[436]],[[436,436],"valid"],[[437,437],"mapped",[438]],[[438,438],"valid"],[[439,439],"mapped",[658]],[[440,440],"mapped",[441]],[[441,443],"valid"],[[444,444],"mapped",[445]],[[445,451],"valid"],[[452,454],"mapped",[100,382]],[[455,457],"mapped",[108,106]],[[458,460],"mapped",[110,106]],[[461,461],"mapped",[462]],[[462,462],"valid"],[[463,463],"mapped",[464]],[[464,464],"valid"],[[465,465],"mapped",[466]],[[466,466],"valid"],[[467,467],"mapped",[468]],[[468,468],"valid"],[[469,469],"mapped",[470]],[[470,470],"valid"],[[471,471],"mapped",[472]],[[472,472],"valid"],[[473,473],"mapped",[474]],[[474,474],"valid"],[[475,475],"mapped",[476]],[[476,477],"valid"],[[478,478],"mapped",[479]],[[479,479],"valid"],[[480,480],"mapped",[481]],[[481,481],"valid"],[[482,482],"mapped",[483]],[[483,483],"valid"],[[484,484],"mapped",[485]],[[485,485],"valid"],[[486,486],"mapped",[487]],[[487,487],"valid"],[[488,488],"mapped",[489]],[[489,489],"valid"],[[490,490],"mapped",[491]],[[491,491],"valid"],[[492,492],"mapped",[493]],[[493,493],"valid"],[[494,494],"mapped",[495]],[[495,496],"valid"],[[497,499],"mapped",[100,122]],[[500,500],"mapped",[501]],[[501,501],"valid"],[[502,502],"mapped",[405]],[[503,503],"mapped",[447]],[[504,504],"mapped",[505]],[[505,505],"valid"],[[506,506],"mapped",[507]],[[507,507],"valid"],[[508,508],"mapped",[509]],[[509,509],"valid"],[[510,510],"mapped",[511]],[[511,511],"valid"],[[512,512],"mapped",[513]],[[513,513],"valid"],[[514,514],"mapped",[515]],[[515,515],"valid"],[[516,516],"mapped",[517]],[[517,517],"valid"],[[518,518],"mapped",[519]],[[519,519],"valid"],[[520,520],"mapped",[521]],[[521,521],"valid"],[[522,522],"mapped",[523]],[[523,523],"valid"],[[524,524],"mapped",[525]],[[525,525],"valid"],[[526,526],"mapped",[527]],[[527,527],"valid"],[[528,528],"mapped",[529]],[[529,529],"valid"],[[530,530],"mapped",[531]],[[531,531],"valid"],[[532,532],"mapped",[533]],[[533,533],"valid"],[[534,534],"mapped",[535]],[[535,535],"valid"],[[536,536],"mapped",[537]],[[537,537],"valid"],[[538,538],"mapped",[539]],[[539,539],"valid"],[[540,540],"mapped",[541]],[[541,541],"valid"],[[542,542],"mapped",[543]],[[543,543],"valid"],[[544,544],"mapped",[414]],[[545,545],"valid"],[[546,546],"mapped",[547]],[[547,547],"valid"],[[548,548],"mapped",[549]],[[549,549],"valid"],[[550,550],"mapped",[551]],[[551,551],"valid"],[[552,552],"mapped",[553]],[[553,553],"valid"],[[554,554],"mapped",[555]],[[555,555],"valid"],[[556,556],"mapped",[557]],[[557,557],"valid"],[[558,558],"mapped",[559]],[[559,559],"valid"],[[560,560],"mapped",[561]],[[561,561],"valid"],[[562,562],"mapped",[563]],[[563,563],"valid"],[[564,566],"valid"],[[567,569],"valid"],[[570,570],"mapped",[11365]],[[571,571],"mapped",[572]],[[572,572],"valid"],[[573,573],"mapped",[410]],[[574,574],"mapped",[11366]],[[575,576],"valid"],[[577,577],"mapped",[578]],[[578,578],"valid"],[[579,579],"mapped",[384]],[[580,580],"mapped",[649]],[[581,581],"mapped",[652]],[[582,582],"mapped",[583]],[[583,583],"valid"],[[584,584],"mapped",[585]],[[585,585],"valid"],[[586,586],"mapped",[587]],[[587,587],"valid"],[[588,588],"mapped",[589]],[[589,589],"valid"],[[590,590],"mapped",[591]],[[591,591],"valid"],[[592,680],"valid"],[[681,685],"valid"],[[686,687],"valid"],[[688,688],"mapped",[104]],[[689,689],"mapped",[614]],[[690,690],"mapped",[106]],[[691,691],"mapped",[114]],[[692,692],"mapped",[633]],[[693,693],"mapped",[635]],[[694,694],"mapped",[641]],[[695,695],"mapped",[119]],[[696,696],"mapped",[121]],[[697,705],"valid"],[[706,709],"valid",[],"NV8"],[[710,721],"valid"],[[722,727],"valid",[],"NV8"],[[728,728],"disallowed_STD3_mapped",[32,774]],[[729,729],"disallowed_STD3_mapped",[32,775]],[[730,730],"disallowed_STD3_mapped",[32,778]],[[731,731],"disallowed_STD3_mapped",[32,808]],[[732,732],"disallowed_STD3_mapped",[32,771]],[[733,733],"disallowed_STD3_mapped",[32,779]],[[734,734],"valid",[],"NV8"],[[735,735],"valid",[],"NV8"],[[736,736],"mapped",[611]],[[737,737],"mapped",[108]],[[738,738],"mapped",[115]],[[739,739],"mapped",[120]],[[740,740],"mapped",[661]],[[741,745],"valid",[],"NV8"],[[746,747],"valid",[],"NV8"],[[748,748],"valid"],[[749,749],"valid",[],"NV8"],[[750,750],"valid"],[[751,767],"valid",[],"NV8"],[[768,831],"valid"],[[832,832],"mapped",[768]],[[833,833],"mapped",[769]],[[834,834],"valid"],[[835,835],"mapped",[787]],[[836,836],"mapped",[776,769]],[[837,837],"mapped",[953]],[[838,846],"valid"],[[847,847],"ignored"],[[848,855],"valid"],[[856,860],"valid"],[[861,863],"valid"],[[864,865],"valid"],[[866,866],"valid"],[[867,879],"valid"],[[880,880],"mapped",[881]],[[881,881],"valid"],[[882,882],"mapped",[883]],[[883,883],"valid"],[[884,884],"mapped",[697]],[[885,885],"valid"],[[886,886],"mapped",[887]],[[887,887],"valid"],[[888,889],"disallowed"],[[890,890],"disallowed_STD3_mapped",[32,953]],[[891,893],"valid"],[[894,894],"disallowed_STD3_mapped",[59]],[[895,895],"mapped",[1011]],[[896,899],"disallowed"],[[900,900],"disallowed_STD3_mapped",[32,769]],[[901,901],"disallowed_STD3_mapped",[32,776,769]],[[902,902],"mapped",[940]],[[903,903],"mapped",[183]],[[904,904],"mapped",[941]],[[905,905],"mapped",[942]],[[906,906],"mapped",[943]],[[907,907],"disallowed"],[[908,908],"mapped",[972]],[[909,909],"disallowed"],[[910,910],"mapped",[973]],[[911,911],"mapped",[974]],[[912,912],"valid"],[[913,913],"mapped",[945]],[[914,914],"mapped",[946]],[[915,915],"mapped",[947]],[[916,916],"mapped",[948]],[[917,917],"mapped",[949]],[[918,918],"mapped",[950]],[[919,919],"mapped",[951]],[[920,920],"mapped",[952]],[[921,921],"mapped",[953]],[[922,922],"mapped",[954]],[[923,923],"mapped",[955]],[[924,924],"mapped",[956]],[[925,925],"mapped",[957]],[[926,926],"mapped",[958]],[[927,927],"mapped",[959]],[[928,928],"mapped",[960]],[[929,929],"mapped",[961]],[[930,930],"disallowed"],[[931,931],"mapped",[963]],[[932,932],"mapped",[964]],[[933,933],"mapped",[965]],[[934,934],"mapped",[966]],[[935,935],"mapped",[967]],[[936,936],"mapped",[968]],[[937,937],"mapped",[969]],[[938,938],"mapped",[970]],[[939,939],"mapped",[971]],[[940,961],"valid"],[[962,962],"deviation",[963]],[[963,974],"valid"],[[975,975],"mapped",[983]],[[976,976],"mapped",[946]],[[977,977],"mapped",[952]],[[978,978],"mapped",[965]],[[979,979],"mapped",[973]],[[980,980],"mapped",[971]],[[981,981],"mapped",[966]],[[982,982],"mapped",[960]],[[983,983],"valid"],[[984,984],"mapped",[985]],[[985,985],"valid"],[[986,986],"mapped",[987]],[[987,987],"valid"],[[988,988],"mapped",[989]],[[989,989],"valid"],[[990,990],"mapped",[991]],[[991,991],"valid"],[[992,992],"mapped",[993]],[[993,993],"valid"],[[994,994],"mapped",[995]],[[995,995],"valid"],[[996,996],"mapped",[997]],[[997,997],"valid"],[[998,998],"mapped",[999]],[[999,999],"valid"],[[1e3,1e3],"mapped",[1001]],[[1001,1001],"valid"],[[1002,1002],"mapped",[1003]],[[1003,1003],"valid"],[[1004,1004],"mapped",[1005]],[[1005,1005],"valid"],[[1006,1006],"mapped",[1007]],[[1007,1007],"valid"],[[1008,1008],"mapped",[954]],[[1009,1009],"mapped",[961]],[[1010,1010],"mapped",[963]],[[1011,1011],"valid"],[[1012,1012],"mapped",[952]],[[1013,1013],"mapped",[949]],[[1014,1014],"valid",[],"NV8"],[[1015,1015],"mapped",[1016]],[[1016,1016],"valid"],[[1017,1017],"mapped",[963]],[[1018,1018],"mapped",[1019]],[[1019,1019],"valid"],[[1020,1020],"valid"],[[1021,1021],"mapped",[891]],[[1022,1022],"mapped",[892]],[[1023,1023],"mapped",[893]],[[1024,1024],"mapped",[1104]],[[1025,1025],"mapped",[1105]],[[1026,1026],"mapped",[1106]],[[1027,1027],"mapped",[1107]],[[1028,1028],"mapped",[1108]],[[1029,1029],"mapped",[1109]],[[1030,1030],"mapped",[1110]],[[1031,1031],"mapped",[1111]],[[1032,1032],"mapped",[1112]],[[1033,1033],"mapped",[1113]],[[1034,1034],"mapped",[1114]],[[1035,1035],"mapped",[1115]],[[1036,1036],"mapped",[1116]],[[1037,1037],"mapped",[1117]],[[1038,1038],"mapped",[1118]],[[1039,1039],"mapped",[1119]],[[1040,1040],"mapped",[1072]],[[1041,1041],"mapped",[1073]],[[1042,1042],"mapped",[1074]],[[1043,1043],"mapped",[1075]],[[1044,1044],"mapped",[1076]],[[1045,1045],"mapped",[1077]],[[1046,1046],"mapped",[1078]],[[1047,1047],"mapped",[1079]],[[1048,1048],"mapped",[1080]],[[1049,1049],"mapped",[1081]],[[1050,1050],"mapped",[1082]],[[1051,1051],"mapped",[1083]],[[1052,1052],"mapped",[1084]],[[1053,1053],"mapped",[1085]],[[1054,1054],"mapped",[1086]],[[1055,1055],"mapped",[1087]],[[1056,1056],"mapped",[1088]],[[1057,1057],"mapped",[1089]],[[1058,1058],"mapped",[1090]],[[1059,1059],"mapped",[1091]],[[1060,1060],"mapped",[1092]],[[1061,1061],"mapped",[1093]],[[1062,1062],"mapped",[1094]],[[1063,1063],"mapped",[1095]],[[1064,1064],"mapped",[1096]],[[1065,1065],"mapped",[1097]],[[1066,1066],"mapped",[1098]],[[1067,1067],"mapped",[1099]],[[1068,1068],"mapped",[1100]],[[1069,1069],"mapped",[1101]],[[1070,1070],"mapped",[1102]],[[1071,1071],"mapped",[1103]],[[1072,1103],"valid"],[[1104,1104],"valid"],[[1105,1116],"valid"],[[1117,1117],"valid"],[[1118,1119],"valid"],[[1120,1120],"mapped",[1121]],[[1121,1121],"valid"],[[1122,1122],"mapped",[1123]],[[1123,1123],"valid"],[[1124,1124],"mapped",[1125]],[[1125,1125],"valid"],[[1126,1126],"mapped",[1127]],[[1127,1127],"valid"],[[1128,1128],"mapped",[1129]],[[1129,1129],"valid"],[[1130,1130],"mapped",[1131]],[[1131,1131],"valid"],[[1132,1132],"mapped",[1133]],[[1133,1133],"valid"],[[1134,1134],"mapped",[1135]],[[1135,1135],"valid"],[[1136,1136],"mapped",[1137]],[[1137,1137],"valid"],[[1138,1138],"mapped",[1139]],[[1139,1139],"valid"],[[1140,1140],"mapped",[1141]],[[1141,1141],"valid"],[[1142,1142],"mapped",[1143]],[[1143,1143],"valid"],[[1144,1144],"mapped",[1145]],[[1145,1145],"valid"],[[1146,1146],"mapped",[1147]],[[1147,1147],"valid"],[[1148,1148],"mapped",[1149]],[[1149,1149],"valid"],[[1150,1150],"mapped",[1151]],[[1151,1151],"valid"],[[1152,1152],"mapped",[1153]],[[1153,1153],"valid"],[[1154,1154],"valid",[],"NV8"],[[1155,1158],"valid"],[[1159,1159],"valid"],[[1160,1161],"valid",[],"NV8"],[[1162,1162],"mapped",[1163]],[[1163,1163],"valid"],[[1164,1164],"mapped",[1165]],[[1165,1165],"valid"],[[1166,1166],"mapped",[1167]],[[1167,1167],"valid"],[[1168,1168],"mapped",[1169]],[[1169,1169],"valid"],[[1170,1170],"mapped",[1171]],[[1171,1171],"valid"],[[1172,1172],"mapped",[1173]],[[1173,1173],"valid"],[[1174,1174],"mapped",[1175]],[[1175,1175],"valid"],[[1176,1176],"mapped",[1177]],[[1177,1177],"valid"],[[1178,1178],"mapped",[1179]],[[1179,1179],"valid"],[[1180,1180],"mapped",[1181]],[[1181,1181],"valid"],[[1182,1182],"mapped",[1183]],[[1183,1183],"valid"],[[1184,1184],"mapped",[1185]],[[1185,1185],"valid"],[[1186,1186],"mapped",[1187]],[[1187,1187],"valid"],[[1188,1188],"mapped",[1189]],[[1189,1189],"valid"],[[1190,1190],"mapped",[1191]],[[1191,1191],"valid"],[[1192,1192],"mapped",[1193]],[[1193,1193],"valid"],[[1194,1194],"mapped",[1195]],[[1195,1195],"valid"],[[1196,1196],"mapped",[1197]],[[1197,1197],"valid"],[[1198,1198],"mapped",[1199]],[[1199,1199],"valid"],[[1200,1200],"mapped",[1201]],[[1201,1201],"valid"],[[1202,1202],"mapped",[1203]],[[1203,1203],"valid"],[[1204,1204],"mapped",[1205]],[[1205,1205],"valid"],[[1206,1206],"mapped",[1207]],[[1207,1207],"valid"],[[1208,1208],"mapped",[1209]],[[1209,1209],"valid"],[[1210,1210],"mapped",[1211]],[[1211,1211],"valid"],[[1212,1212],"mapped",[1213]],[[1213,1213],"valid"],[[1214,1214],"mapped",[1215]],[[1215,1215],"valid"],[[1216,1216],"disallowed"],[[1217,1217],"mapped",[1218]],[[1218,1218],"valid"],[[1219,1219],"mapped",[1220]],[[1220,1220],"valid"],[[1221,1221],"mapped",[1222]],[[1222,1222],"valid"],[[1223,1223],"mapped",[1224]],[[1224,1224],"valid"],[[1225,1225],"mapped",[1226]],[[1226,1226],"valid"],[[1227,1227],"mapped",[1228]],[[1228,1228],"valid"],[[1229,1229],"mapped",[1230]],[[1230,1230],"valid"],[[1231,1231],"valid"],[[1232,1232],"mapped",[1233]],[[1233,1233],"valid"],[[1234,1234],"mapped",[1235]],[[1235,1235],"valid"],[[1236,1236],"mapped",[1237]],[[1237,1237],"valid"],[[1238,1238],"mapped",[1239]],[[1239,1239],"valid"],[[1240,1240],"mapped",[1241]],[[1241,1241],"valid"],[[1242,1242],"mapped",[1243]],[[1243,1243],"valid"],[[1244,1244],"mapped",[1245]],[[1245,1245],"valid"],[[1246,1246],"mapped",[1247]],[[1247,1247],"valid"],[[1248,1248],"mapped",[1249]],[[1249,1249],"valid"],[[1250,1250],"mapped",[1251]],[[1251,1251],"valid"],[[1252,1252],"mapped",[1253]],[[1253,1253],"valid"],[[1254,1254],"mapped",[1255]],[[1255,1255],"valid"],[[1256,1256],"mapped",[1257]],[[1257,1257],"valid"],[[1258,1258],"mapped",[1259]],[[1259,1259],"valid"],[[1260,1260],"mapped",[1261]],[[1261,1261],"valid"],[[1262,1262],"mapped",[1263]],[[1263,1263],"valid"],[[1264,1264],"mapped",[1265]],[[1265,1265],"valid"],[[1266,1266],"mapped",[1267]],[[1267,1267],"valid"],[[1268,1268],"mapped",[1269]],[[1269,1269],"valid"],[[1270,1270],"mapped",[1271]],[[1271,1271],"valid"],[[1272,1272],"mapped",[1273]],[[1273,1273],"valid"],[[1274,1274],"mapped",[1275]],[[1275,1275],"valid"],[[1276,1276],"mapped",[1277]],[[1277,1277],"valid"],[[1278,1278],"mapped",[1279]],[[1279,1279],"valid"],[[1280,1280],"mapped",[1281]],[[1281,1281],"valid"],[[1282,1282],"mapped",[1283]],[[1283,1283],"valid"],[[1284,1284],"mapped",[1285]],[[1285,1285],"valid"],[[1286,1286],"mapped",[1287]],[[1287,1287],"valid"],[[1288,1288],"mapped",[1289]],[[1289,1289],"valid"],[[1290,1290],"mapped",[1291]],[[1291,1291],"valid"],[[1292,1292],"mapped",[1293]],[[1293,1293],"valid"],[[1294,1294],"mapped",[1295]],[[1295,1295],"valid"],[[1296,1296],"mapped",[1297]],[[1297,1297],"valid"],[[1298,1298],"mapped",[1299]],[[1299,1299],"valid"],[[1300,1300],"mapped",[1301]],[[1301,1301],"valid"],[[1302,1302],"mapped",[1303]],[[1303,1303],"valid"],[[1304,1304],"mapped",[1305]],[[1305,1305],"valid"],[[1306,1306],"mapped",[1307]],[[1307,1307],"valid"],[[1308,1308],"mapped",[1309]],[[1309,1309],"valid"],[[1310,1310],"mapped",[1311]],[[1311,1311],"valid"],[[1312,1312],"mapped",[1313]],[[1313,1313],"valid"],[[1314,1314],"mapped",[1315]],[[1315,1315],"valid"],[[1316,1316],"mapped",[1317]],[[1317,1317],"valid"],[[1318,1318],"mapped",[1319]],[[1319,1319],"valid"],[[1320,1320],"mapped",[1321]],[[1321,1321],"valid"],[[1322,1322],"mapped",[1323]],[[1323,1323],"valid"],[[1324,1324],"mapped",[1325]],[[1325,1325],"valid"],[[1326,1326],"mapped",[1327]],[[1327,1327],"valid"],[[1328,1328],"disallowed"],[[1329,1329],"mapped",[1377]],[[1330,1330],"mapped",[1378]],[[1331,1331],"mapped",[1379]],[[1332,1332],"mapped",[1380]],[[1333,1333],"mapped",[1381]],[[1334,1334],"mapped",[1382]],[[1335,1335],"mapped",[1383]],[[1336,1336],"mapped",[1384]],[[1337,1337],"mapped",[1385]],[[1338,1338],"mapped",[1386]],[[1339,1339],"mapped",[1387]],[[1340,1340],"mapped",[1388]],[[1341,1341],"mapped",[1389]],[[1342,1342],"mapped",[1390]],[[1343,1343],"mapped",[1391]],[[1344,1344],"mapped",[1392]],[[1345,1345],"mapped",[1393]],[[1346,1346],"mapped",[1394]],[[1347,1347],"mapped",[1395]],[[1348,1348],"mapped",[1396]],[[1349,1349],"mapped",[1397]],[[1350,1350],"mapped",[1398]],[[1351,1351],"mapped",[1399]],[[1352,1352],"mapped",[1400]],[[1353,1353],"mapped",[1401]],[[1354,1354],"mapped",[1402]],[[1355,1355],"mapped",[1403]],[[1356,1356],"mapped",[1404]],[[1357,1357],"mapped",[1405]],[[1358,1358],"mapped",[1406]],[[1359,1359],"mapped",[1407]],[[1360,1360],"mapped",[1408]],[[1361,1361],"mapped",[1409]],[[1362,1362],"mapped",[1410]],[[1363,1363],"mapped",[1411]],[[1364,1364],"mapped",[1412]],[[1365,1365],"mapped",[1413]],[[1366,1366],"mapped",[1414]],[[1367,1368],"disallowed"],[[1369,1369],"valid"],[[1370,1375],"valid",[],"NV8"],[[1376,1376],"disallowed"],[[1377,1414],"valid"],[[1415,1415],"mapped",[1381,1410]],[[1416,1416],"disallowed"],[[1417,1417],"valid",[],"NV8"],[[1418,1418],"valid",[],"NV8"],[[1419,1420],"disallowed"],[[1421,1422],"valid",[],"NV8"],[[1423,1423],"valid",[],"NV8"],[[1424,1424],"disallowed"],[[1425,1441],"valid"],[[1442,1442],"valid"],[[1443,1455],"valid"],[[1456,1465],"valid"],[[1466,1466],"valid"],[[1467,1469],"valid"],[[1470,1470],"valid",[],"NV8"],[[1471,1471],"valid"],[[1472,1472],"valid",[],"NV8"],[[1473,1474],"valid"],[[1475,1475],"valid",[],"NV8"],[[1476,1476],"valid"],[[1477,1477],"valid"],[[1478,1478],"valid",[],"NV8"],[[1479,1479],"valid"],[[1480,1487],"disallowed"],[[1488,1514],"valid"],[[1515,1519],"disallowed"],[[1520,1524],"valid"],[[1525,1535],"disallowed"],[[1536,1539],"disallowed"],[[1540,1540],"disallowed"],[[1541,1541],"disallowed"],[[1542,1546],"valid",[],"NV8"],[[1547,1547],"valid",[],"NV8"],[[1548,1548],"valid",[],"NV8"],[[1549,1551],"valid",[],"NV8"],[[1552,1557],"valid"],[[1558,1562],"valid"],[[1563,1563],"valid",[],"NV8"],[[1564,1564],"disallowed"],[[1565,1565],"disallowed"],[[1566,1566],"valid",[],"NV8"],[[1567,1567],"valid",[],"NV8"],[[1568,1568],"valid"],[[1569,1594],"valid"],[[1595,1599],"valid"],[[1600,1600],"valid",[],"NV8"],[[1601,1618],"valid"],[[1619,1621],"valid"],[[1622,1624],"valid"],[[1625,1630],"valid"],[[1631,1631],"valid"],[[1632,1641],"valid"],[[1642,1645],"valid",[],"NV8"],[[1646,1647],"valid"],[[1648,1652],"valid"],[[1653,1653],"mapped",[1575,1652]],[[1654,1654],"mapped",[1608,1652]],[[1655,1655],"mapped",[1735,1652]],[[1656,1656],"mapped",[1610,1652]],[[1657,1719],"valid"],[[1720,1721],"valid"],[[1722,1726],"valid"],[[1727,1727],"valid"],[[1728,1742],"valid"],[[1743,1743],"valid"],[[1744,1747],"valid"],[[1748,1748],"valid",[],"NV8"],[[1749,1756],"valid"],[[1757,1757],"disallowed"],[[1758,1758],"valid",[],"NV8"],[[1759,1768],"valid"],[[1769,1769],"valid",[],"NV8"],[[1770,1773],"valid"],[[1774,1775],"valid"],[[1776,1785],"valid"],[[1786,1790],"valid"],[[1791,1791],"valid"],[[1792,1805],"valid",[],"NV8"],[[1806,1806],"disallowed"],[[1807,1807],"disallowed"],[[1808,1836],"valid"],[[1837,1839],"valid"],[[1840,1866],"valid"],[[1867,1868],"disallowed"],[[1869,1871],"valid"],[[1872,1901],"valid"],[[1902,1919],"valid"],[[1920,1968],"valid"],[[1969,1969],"valid"],[[1970,1983],"disallowed"],[[1984,2037],"valid"],[[2038,2042],"valid",[],"NV8"],[[2043,2047],"disallowed"],[[2048,2093],"valid"],[[2094,2095],"disallowed"],[[2096,2110],"valid",[],"NV8"],[[2111,2111],"disallowed"],[[2112,2139],"valid"],[[2140,2141],"disallowed"],[[2142,2142],"valid",[],"NV8"],[[2143,2207],"disallowed"],[[2208,2208],"valid"],[[2209,2209],"valid"],[[2210,2220],"valid"],[[2221,2226],"valid"],[[2227,2228],"valid"],[[2229,2274],"disallowed"],[[2275,2275],"valid"],[[2276,2302],"valid"],[[2303,2303],"valid"],[[2304,2304],"valid"],[[2305,2307],"valid"],[[2308,2308],"valid"],[[2309,2361],"valid"],[[2362,2363],"valid"],[[2364,2381],"valid"],[[2382,2382],"valid"],[[2383,2383],"valid"],[[2384,2388],"valid"],[[2389,2389],"valid"],[[2390,2391],"valid"],[[2392,2392],"mapped",[2325,2364]],[[2393,2393],"mapped",[2326,2364]],[[2394,2394],"mapped",[2327,2364]],[[2395,2395],"mapped",[2332,2364]],[[2396,2396],"mapped",[2337,2364]],[[2397,2397],"mapped",[2338,2364]],[[2398,2398],"mapped",[2347,2364]],[[2399,2399],"mapped",[2351,2364]],[[2400,2403],"valid"],[[2404,2405],"valid",[],"NV8"],[[2406,2415],"valid"],[[2416,2416],"valid",[],"NV8"],[[2417,2418],"valid"],[[2419,2423],"valid"],[[2424,2424],"valid"],[[2425,2426],"valid"],[[2427,2428],"valid"],[[2429,2429],"valid"],[[2430,2431],"valid"],[[2432,2432],"valid"],[[2433,2435],"valid"],[[2436,2436],"disallowed"],[[2437,2444],"valid"],[[2445,2446],"disallowed"],[[2447,2448],"valid"],[[2449,2450],"disallowed"],[[2451,2472],"valid"],[[2473,2473],"disallowed"],[[2474,2480],"valid"],[[2481,2481],"disallowed"],[[2482,2482],"valid"],[[2483,2485],"disallowed"],[[2486,2489],"valid"],[[2490,2491],"disallowed"],[[2492,2492],"valid"],[[2493,2493],"valid"],[[2494,2500],"valid"],[[2501,2502],"disallowed"],[[2503,2504],"valid"],[[2505,2506],"disallowed"],[[2507,2509],"valid"],[[2510,2510],"valid"],[[2511,2518],"disallowed"],[[2519,2519],"valid"],[[2520,2523],"disallowed"],[[2524,2524],"mapped",[2465,2492]],[[2525,2525],"mapped",[2466,2492]],[[2526,2526],"disallowed"],[[2527,2527],"mapped",[2479,2492]],[[2528,2531],"valid"],[[2532,2533],"disallowed"],[[2534,2545],"valid"],[[2546,2554],"valid",[],"NV8"],[[2555,2555],"valid",[],"NV8"],[[2556,2560],"disallowed"],[[2561,2561],"valid"],[[2562,2562],"valid"],[[2563,2563],"valid"],[[2564,2564],"disallowed"],[[2565,2570],"valid"],[[2571,2574],"disallowed"],[[2575,2576],"valid"],[[2577,2578],"disallowed"],[[2579,2600],"valid"],[[2601,2601],"disallowed"],[[2602,2608],"valid"],[[2609,2609],"disallowed"],[[2610,2610],"valid"],[[2611,2611],"mapped",[2610,2620]],[[2612,2612],"disallowed"],[[2613,2613],"valid"],[[2614,2614],"mapped",[2616,2620]],[[2615,2615],"disallowed"],[[2616,2617],"valid"],[[2618,2619],"disallowed"],[[2620,2620],"valid"],[[2621,2621],"disallowed"],[[2622,2626],"valid"],[[2627,2630],"disallowed"],[[2631,2632],"valid"],[[2633,2634],"disallowed"],[[2635,2637],"valid"],[[2638,2640],"disallowed"],[[2641,2641],"valid"],[[2642,2648],"disallowed"],[[2649,2649],"mapped",[2582,2620]],[[2650,2650],"mapped",[2583,2620]],[[2651,2651],"mapped",[2588,2620]],[[2652,2652],"valid"],[[2653,2653],"disallowed"],[[2654,2654],"mapped",[2603,2620]],[[2655,2661],"disallowed"],[[2662,2676],"valid"],[[2677,2677],"valid"],[[2678,2688],"disallowed"],[[2689,2691],"valid"],[[2692,2692],"disallowed"],[[2693,2699],"valid"],[[2700,2700],"valid"],[[2701,2701],"valid"],[[2702,2702],"disallowed"],[[2703,2705],"valid"],[[2706,2706],"disallowed"],[[2707,2728],"valid"],[[2729,2729],"disallowed"],[[2730,2736],"valid"],[[2737,2737],"disallowed"],[[2738,2739],"valid"],[[2740,2740],"disallowed"],[[2741,2745],"valid"],[[2746,2747],"disallowed"],[[2748,2757],"valid"],[[2758,2758],"disallowed"],[[2759,2761],"valid"],[[2762,2762],"disallowed"],[[2763,2765],"valid"],[[2766,2767],"disallowed"],[[2768,2768],"valid"],[[2769,2783],"disallowed"],[[2784,2784],"valid"],[[2785,2787],"valid"],[[2788,2789],"disallowed"],[[2790,2799],"valid"],[[2800,2800],"valid",[],"NV8"],[[2801,2801],"valid",[],"NV8"],[[2802,2808],"disallowed"],[[2809,2809],"valid"],[[2810,2816],"disallowed"],[[2817,2819],"valid"],[[2820,2820],"disallowed"],[[2821,2828],"valid"],[[2829,2830],"disallowed"],[[2831,2832],"valid"],[[2833,2834],"disallowed"],[[2835,2856],"valid"],[[2857,2857],"disallowed"],[[2858,2864],"valid"],[[2865,2865],"disallowed"],[[2866,2867],"valid"],[[2868,2868],"disallowed"],[[2869,2869],"valid"],[[2870,2873],"valid"],[[2874,2875],"disallowed"],[[2876,2883],"valid"],[[2884,2884],"valid"],[[2885,2886],"disallowed"],[[2887,2888],"valid"],[[2889,2890],"disallowed"],[[2891,2893],"valid"],[[2894,2901],"disallowed"],[[2902,2903],"valid"],[[2904,2907],"disallowed"],[[2908,2908],"mapped",[2849,2876]],[[2909,2909],"mapped",[2850,2876]],[[2910,2910],"disallowed"],[[2911,2913],"valid"],[[2914,2915],"valid"],[[2916,2917],"disallowed"],[[2918,2927],"valid"],[[2928,2928],"valid",[],"NV8"],[[2929,2929],"valid"],[[2930,2935],"valid",[],"NV8"],[[2936,2945],"disallowed"],[[2946,2947],"valid"],[[2948,2948],"disallowed"],[[2949,2954],"valid"],[[2955,2957],"disallowed"],[[2958,2960],"valid"],[[2961,2961],"disallowed"],[[2962,2965],"valid"],[[2966,2968],"disallowed"],[[2969,2970],"valid"],[[2971,2971],"disallowed"],[[2972,2972],"valid"],[[2973,2973],"disallowed"],[[2974,2975],"valid"],[[2976,2978],"disallowed"],[[2979,2980],"valid"],[[2981,2983],"disallowed"],[[2984,2986],"valid"],[[2987,2989],"disallowed"],[[2990,2997],"valid"],[[2998,2998],"valid"],[[2999,3001],"valid"],[[3002,3005],"disallowed"],[[3006,3010],"valid"],[[3011,3013],"disallowed"],[[3014,3016],"valid"],[[3017,3017],"disallowed"],[[3018,3021],"valid"],[[3022,3023],"disallowed"],[[3024,3024],"valid"],[[3025,3030],"disallowed"],[[3031,3031],"valid"],[[3032,3045],"disallowed"],[[3046,3046],"valid"],[[3047,3055],"valid"],[[3056,3058],"valid",[],"NV8"],[[3059,3066],"valid",[],"NV8"],[[3067,3071],"disallowed"],[[3072,3072],"valid"],[[3073,3075],"valid"],[[3076,3076],"disallowed"],[[3077,3084],"valid"],[[3085,3085],"disallowed"],[[3086,3088],"valid"],[[3089,3089],"disallowed"],[[3090,3112],"valid"],[[3113,3113],"disallowed"],[[3114,3123],"valid"],[[3124,3124],"valid"],[[3125,3129],"valid"],[[3130,3132],"disallowed"],[[3133,3133],"valid"],[[3134,3140],"valid"],[[3141,3141],"disallowed"],[[3142,3144],"valid"],[[3145,3145],"disallowed"],[[3146,3149],"valid"],[[3150,3156],"disallowed"],[[3157,3158],"valid"],[[3159,3159],"disallowed"],[[3160,3161],"valid"],[[3162,3162],"valid"],[[3163,3167],"disallowed"],[[3168,3169],"valid"],[[3170,3171],"valid"],[[3172,3173],"disallowed"],[[3174,3183],"valid"],[[3184,3191],"disallowed"],[[3192,3199],"valid",[],"NV8"],[[3200,3200],"disallowed"],[[3201,3201],"valid"],[[3202,3203],"valid"],[[3204,3204],"disallowed"],[[3205,3212],"valid"],[[3213,3213],"disallowed"],[[3214,3216],"valid"],[[3217,3217],"disallowed"],[[3218,3240],"valid"],[[3241,3241],"disallowed"],[[3242,3251],"valid"],[[3252,3252],"disallowed"],[[3253,3257],"valid"],[[3258,3259],"disallowed"],[[3260,3261],"valid"],[[3262,3268],"valid"],[[3269,3269],"disallowed"],[[3270,3272],"valid"],[[3273,3273],"disallowed"],[[3274,3277],"valid"],[[3278,3284],"disallowed"],[[3285,3286],"valid"],[[3287,3293],"disallowed"],[[3294,3294],"valid"],[[3295,3295],"disallowed"],[[3296,3297],"valid"],[[3298,3299],"valid"],[[3300,3301],"disallowed"],[[3302,3311],"valid"],[[3312,3312],"disallowed"],[[3313,3314],"valid"],[[3315,3328],"disallowed"],[[3329,3329],"valid"],[[3330,3331],"valid"],[[3332,3332],"disallowed"],[[3333,3340],"valid"],[[3341,3341],"disallowed"],[[3342,3344],"valid"],[[3345,3345],"disallowed"],[[3346,3368],"valid"],[[3369,3369],"valid"],[[3370,3385],"valid"],[[3386,3386],"valid"],[[3387,3388],"disallowed"],[[3389,3389],"valid"],[[3390,3395],"valid"],[[3396,3396],"valid"],[[3397,3397],"disallowed"],[[3398,3400],"valid"],[[3401,3401],"disallowed"],[[3402,3405],"valid"],[[3406,3406],"valid"],[[3407,3414],"disallowed"],[[3415,3415],"valid"],[[3416,3422],"disallowed"],[[3423,3423],"valid"],[[3424,3425],"valid"],[[3426,3427],"valid"],[[3428,3429],"disallowed"],[[3430,3439],"valid"],[[3440,3445],"valid",[],"NV8"],[[3446,3448],"disallowed"],[[3449,3449],"valid",[],"NV8"],[[3450,3455],"valid"],[[3456,3457],"disallowed"],[[3458,3459],"valid"],[[3460,3460],"disallowed"],[[3461,3478],"valid"],[[3479,3481],"disallowed"],[[3482,3505],"valid"],[[3506,3506],"disallowed"],[[3507,3515],"valid"],[[3516,3516],"disallowed"],[[3517,3517],"valid"],[[3518,3519],"disallowed"],[[3520,3526],"valid"],[[3527,3529],"disallowed"],[[3530,3530],"valid"],[[3531,3534],"disallowed"],[[3535,3540],"valid"],[[3541,3541],"disallowed"],[[3542,3542],"valid"],[[3543,3543],"disallowed"],[[3544,3551],"valid"],[[3552,3557],"disallowed"],[[3558,3567],"valid"],[[3568,3569],"disallowed"],[[3570,3571],"valid"],[[3572,3572],"valid",[],"NV8"],[[3573,3584],"disallowed"],[[3585,3634],"valid"],[[3635,3635],"mapped",[3661,3634]],[[3636,3642],"valid"],[[3643,3646],"disallowed"],[[3647,3647],"valid",[],"NV8"],[[3648,3662],"valid"],[[3663,3663],"valid",[],"NV8"],[[3664,3673],"valid"],[[3674,3675],"valid",[],"NV8"],[[3676,3712],"disallowed"],[[3713,3714],"valid"],[[3715,3715],"disallowed"],[[3716,3716],"valid"],[[3717,3718],"disallowed"],[[3719,3720],"valid"],[[3721,3721],"disallowed"],[[3722,3722],"valid"],[[3723,3724],"disallowed"],[[3725,3725],"valid"],[[3726,3731],"disallowed"],[[3732,3735],"valid"],[[3736,3736],"disallowed"],[[3737,3743],"valid"],[[3744,3744],"disallowed"],[[3745,3747],"valid"],[[3748,3748],"disallowed"],[[3749,3749],"valid"],[[3750,3750],"disallowed"],[[3751,3751],"valid"],[[3752,3753],"disallowed"],[[3754,3755],"valid"],[[3756,3756],"disallowed"],[[3757,3762],"valid"],[[3763,3763],"mapped",[3789,3762]],[[3764,3769],"valid"],[[3770,3770],"disallowed"],[[3771,3773],"valid"],[[3774,3775],"disallowed"],[[3776,3780],"valid"],[[3781,3781],"disallowed"],[[3782,3782],"valid"],[[3783,3783],"disallowed"],[[3784,3789],"valid"],[[3790,3791],"disallowed"],[[3792,3801],"valid"],[[3802,3803],"disallowed"],[[3804,3804],"mapped",[3755,3737]],[[3805,3805],"mapped",[3755,3745]],[[3806,3807],"valid"],[[3808,3839],"disallowed"],[[3840,3840],"valid"],[[3841,3850],"valid",[],"NV8"],[[3851,3851],"valid"],[[3852,3852],"mapped",[3851]],[[3853,3863],"valid",[],"NV8"],[[3864,3865],"valid"],[[3866,3871],"valid",[],"NV8"],[[3872,3881],"valid"],[[3882,3892],"valid",[],"NV8"],[[3893,3893],"valid"],[[3894,3894],"valid",[],"NV8"],[[3895,3895],"valid"],[[3896,3896],"valid",[],"NV8"],[[3897,3897],"valid"],[[3898,3901],"valid",[],"NV8"],[[3902,3906],"valid"],[[3907,3907],"mapped",[3906,4023]],[[3908,3911],"valid"],[[3912,3912],"disallowed"],[[3913,3916],"valid"],[[3917,3917],"mapped",[3916,4023]],[[3918,3921],"valid"],[[3922,3922],"mapped",[3921,4023]],[[3923,3926],"valid"],[[3927,3927],"mapped",[3926,4023]],[[3928,3931],"valid"],[[3932,3932],"mapped",[3931,4023]],[[3933,3944],"valid"],[[3945,3945],"mapped",[3904,4021]],[[3946,3946],"valid"],[[3947,3948],"valid"],[[3949,3952],"disallowed"],[[3953,3954],"valid"],[[3955,3955],"mapped",[3953,3954]],[[3956,3956],"valid"],[[3957,3957],"mapped",[3953,3956]],[[3958,3958],"mapped",[4018,3968]],[[3959,3959],"mapped",[4018,3953,3968]],[[3960,3960],"mapped",[4019,3968]],[[3961,3961],"mapped",[4019,3953,3968]],[[3962,3968],"valid"],[[3969,3969],"mapped",[3953,3968]],[[3970,3972],"valid"],[[3973,3973],"valid",[],"NV8"],[[3974,3979],"valid"],[[3980,3983],"valid"],[[3984,3986],"valid"],[[3987,3987],"mapped",[3986,4023]],[[3988,3989],"valid"],[[3990,3990],"valid"],[[3991,3991],"valid"],[[3992,3992],"disallowed"],[[3993,3996],"valid"],[[3997,3997],"mapped",[3996,4023]],[[3998,4001],"valid"],[[4002,4002],"mapped",[4001,4023]],[[4003,4006],"valid"],[[4007,4007],"mapped",[4006,4023]],[[4008,4011],"valid"],[[4012,4012],"mapped",[4011,4023]],[[4013,4013],"valid"],[[4014,4016],"valid"],[[4017,4023],"valid"],[[4024,4024],"valid"],[[4025,4025],"mapped",[3984,4021]],[[4026,4028],"valid"],[[4029,4029],"disallowed"],[[4030,4037],"valid",[],"NV8"],[[4038,4038],"valid"],[[4039,4044],"valid",[],"NV8"],[[4045,4045],"disallowed"],[[4046,4046],"valid",[],"NV8"],[[4047,4047],"valid",[],"NV8"],[[4048,4049],"valid",[],"NV8"],[[4050,4052],"valid",[],"NV8"],[[4053,4056],"valid",[],"NV8"],[[4057,4058],"valid",[],"NV8"],[[4059,4095],"disallowed"],[[4096,4129],"valid"],[[4130,4130],"valid"],[[4131,4135],"valid"],[[4136,4136],"valid"],[[4137,4138],"valid"],[[4139,4139],"valid"],[[4140,4146],"valid"],[[4147,4149],"valid"],[[4150,4153],"valid"],[[4154,4159],"valid"],[[4160,4169],"valid"],[[4170,4175],"valid",[],"NV8"],[[4176,4185],"valid"],[[4186,4249],"valid"],[[4250,4253],"valid"],[[4254,4255],"valid",[],"NV8"],[[4256,4293],"disallowed"],[[4294,4294],"disallowed"],[[4295,4295],"mapped",[11559]],[[4296,4300],"disallowed"],[[4301,4301],"mapped",[11565]],[[4302,4303],"disallowed"],[[4304,4342],"valid"],[[4343,4344],"valid"],[[4345,4346],"valid"],[[4347,4347],"valid",[],"NV8"],[[4348,4348],"mapped",[4316]],[[4349,4351],"valid"],[[4352,4441],"valid",[],"NV8"],[[4442,4446],"valid",[],"NV8"],[[4447,4448],"disallowed"],[[4449,4514],"valid",[],"NV8"],[[4515,4519],"valid",[],"NV8"],[[4520,4601],"valid",[],"NV8"],[[4602,4607],"valid",[],"NV8"],[[4608,4614],"valid"],[[4615,4615],"valid"],[[4616,4678],"valid"],[[4679,4679],"valid"],[[4680,4680],"valid"],[[4681,4681],"disallowed"],[[4682,4685],"valid"],[[4686,4687],"disallowed"],[[4688,4694],"valid"],[[4695,4695],"disallowed"],[[4696,4696],"valid"],[[4697,4697],"disallowed"],[[4698,4701],"valid"],[[4702,4703],"disallowed"],[[4704,4742],"valid"],[[4743,4743],"valid"],[[4744,4744],"valid"],[[4745,4745],"disallowed"],[[4746,4749],"valid"],[[4750,4751],"disallowed"],[[4752,4782],"valid"],[[4783,4783],"valid"],[[4784,4784],"valid"],[[4785,4785],"disallowed"],[[4786,4789],"valid"],[[4790,4791],"disallowed"],[[4792,4798],"valid"],[[4799,4799],"disallowed"],[[4800,4800],"valid"],[[4801,4801],"disallowed"],[[4802,4805],"valid"],[[4806,4807],"disallowed"],[[4808,4814],"valid"],[[4815,4815],"valid"],[[4816,4822],"valid"],[[4823,4823],"disallowed"],[[4824,4846],"valid"],[[4847,4847],"valid"],[[4848,4878],"valid"],[[4879,4879],"valid"],[[4880,4880],"valid"],[[4881,4881],"disallowed"],[[4882,4885],"valid"],[[4886,4887],"disallowed"],[[4888,4894],"valid"],[[4895,4895],"valid"],[[4896,4934],"valid"],[[4935,4935],"valid"],[[4936,4954],"valid"],[[4955,4956],"disallowed"],[[4957,4958],"valid"],[[4959,4959],"valid"],[[4960,4960],"valid",[],"NV8"],[[4961,4988],"valid",[],"NV8"],[[4989,4991],"disallowed"],[[4992,5007],"valid"],[[5008,5017],"valid",[],"NV8"],[[5018,5023],"disallowed"],[[5024,5108],"valid"],[[5109,5109],"valid"],[[5110,5111],"disallowed"],[[5112,5112],"mapped",[5104]],[[5113,5113],"mapped",[5105]],[[5114,5114],"mapped",[5106]],[[5115,5115],"mapped",[5107]],[[5116,5116],"mapped",[5108]],[[5117,5117],"mapped",[5109]],[[5118,5119],"disallowed"],[[5120,5120],"valid",[],"NV8"],[[5121,5740],"valid"],[[5741,5742],"valid",[],"NV8"],[[5743,5750],"valid"],[[5751,5759],"valid"],[[5760,5760],"disallowed"],[[5761,5786],"valid"],[[5787,5788],"valid",[],"NV8"],[[5789,5791],"disallowed"],[[5792,5866],"valid"],[[5867,5872],"valid",[],"NV8"],[[5873,5880],"valid"],[[5881,5887],"disallowed"],[[5888,5900],"valid"],[[5901,5901],"disallowed"],[[5902,5908],"valid"],[[5909,5919],"disallowed"],[[5920,5940],"valid"],[[5941,5942],"valid",[],"NV8"],[[5943,5951],"disallowed"],[[5952,5971],"valid"],[[5972,5983],"disallowed"],[[5984,5996],"valid"],[[5997,5997],"disallowed"],[[5998,6e3],"valid"],[[6001,6001],"disallowed"],[[6002,6003],"valid"],[[6004,6015],"disallowed"],[[6016,6067],"valid"],[[6068,6069],"disallowed"],[[6070,6099],"valid"],[[6100,6102],"valid",[],"NV8"],[[6103,6103],"valid"],[[6104,6107],"valid",[],"NV8"],[[6108,6108],"valid"],[[6109,6109],"valid"],[[6110,6111],"disallowed"],[[6112,6121],"valid"],[[6122,6127],"disallowed"],[[6128,6137],"valid",[],"NV8"],[[6138,6143],"disallowed"],[[6144,6149],"valid",[],"NV8"],[[6150,6150],"disallowed"],[[6151,6154],"valid",[],"NV8"],[[6155,6157],"ignored"],[[6158,6158],"disallowed"],[[6159,6159],"disallowed"],[[6160,6169],"valid"],[[6170,6175],"disallowed"],[[6176,6263],"valid"],[[6264,6271],"disallowed"],[[6272,6313],"valid"],[[6314,6314],"valid"],[[6315,6319],"disallowed"],[[6320,6389],"valid"],[[6390,6399],"disallowed"],[[6400,6428],"valid"],[[6429,6430],"valid"],[[6431,6431],"disallowed"],[[6432,6443],"valid"],[[6444,6447],"disallowed"],[[6448,6459],"valid"],[[6460,6463],"disallowed"],[[6464,6464],"valid",[],"NV8"],[[6465,6467],"disallowed"],[[6468,6469],"valid",[],"NV8"],[[6470,6509],"valid"],[[6510,6511],"disallowed"],[[6512,6516],"valid"],[[6517,6527],"disallowed"],[[6528,6569],"valid"],[[6570,6571],"valid"],[[6572,6575],"disallowed"],[[6576,6601],"valid"],[[6602,6607],"disallowed"],[[6608,6617],"valid"],[[6618,6618],"valid",[],"XV8"],[[6619,6621],"disallowed"],[[6622,6623],"valid",[],"NV8"],[[6624,6655],"valid",[],"NV8"],[[6656,6683],"valid"],[[6684,6685],"disallowed"],[[6686,6687],"valid",[],"NV8"],[[6688,6750],"valid"],[[6751,6751],"disallowed"],[[6752,6780],"valid"],[[6781,6782],"disallowed"],[[6783,6793],"valid"],[[6794,6799],"disallowed"],[[6800,6809],"valid"],[[6810,6815],"disallowed"],[[6816,6822],"valid",[],"NV8"],[[6823,6823],"valid"],[[6824,6829],"valid",[],"NV8"],[[6830,6831],"disallowed"],[[6832,6845],"valid"],[[6846,6846],"valid",[],"NV8"],[[6847,6911],"disallowed"],[[6912,6987],"valid"],[[6988,6991],"disallowed"],[[6992,7001],"valid"],[[7002,7018],"valid",[],"NV8"],[[7019,7027],"valid"],[[7028,7036],"valid",[],"NV8"],[[7037,7039],"disallowed"],[[7040,7082],"valid"],[[7083,7085],"valid"],[[7086,7097],"valid"],[[7098,7103],"valid"],[[7104,7155],"valid"],[[7156,7163],"disallowed"],[[7164,7167],"valid",[],"NV8"],[[7168,7223],"valid"],[[7224,7226],"disallowed"],[[7227,7231],"valid",[],"NV8"],[[7232,7241],"valid"],[[7242,7244],"disallowed"],[[7245,7293],"valid"],[[7294,7295],"valid",[],"NV8"],[[7296,7359],"disallowed"],[[7360,7367],"valid",[],"NV8"],[[7368,7375],"disallowed"],[[7376,7378],"valid"],[[7379,7379],"valid",[],"NV8"],[[7380,7410],"valid"],[[7411,7414],"valid"],[[7415,7415],"disallowed"],[[7416,7417],"valid"],[[7418,7423],"disallowed"],[[7424,7467],"valid"],[[7468,7468],"mapped",[97]],[[7469,7469],"mapped",[230]],[[7470,7470],"mapped",[98]],[[7471,7471],"valid"],[[7472,7472],"mapped",[100]],[[7473,7473],"mapped",[101]],[[7474,7474],"mapped",[477]],[[7475,7475],"mapped",[103]],[[7476,7476],"mapped",[104]],[[7477,7477],"mapped",[105]],[[7478,7478],"mapped",[106]],[[7479,7479],"mapped",[107]],[[7480,7480],"mapped",[108]],[[7481,7481],"mapped",[109]],[[7482,7482],"mapped",[110]],[[7483,7483],"valid"],[[7484,7484],"mapped",[111]],[[7485,7485],"mapped",[547]],[[7486,7486],"mapped",[112]],[[7487,7487],"mapped",[114]],[[7488,7488],"mapped",[116]],[[7489,7489],"mapped",[117]],[[7490,7490],"mapped",[119]],[[7491,7491],"mapped",[97]],[[7492,7492],"mapped",[592]],[[7493,7493],"mapped",[593]],[[7494,7494],"mapped",[7426]],[[7495,7495],"mapped",[98]],[[7496,7496],"mapped",[100]],[[7497,7497],"mapped",[101]],[[7498,7498],"mapped",[601]],[[7499,7499],"mapped",[603]],[[7500,7500],"mapped",[604]],[[7501,7501],"mapped",[103]],[[7502,7502],"valid"],[[7503,7503],"mapped",[107]],[[7504,7504],"mapped",[109]],[[7505,7505],"mapped",[331]],[[7506,7506],"mapped",[111]],[[7507,7507],"mapped",[596]],[[7508,7508],"mapped",[7446]],[[7509,7509],"mapped",[7447]],[[7510,7510],"mapped",[112]],[[7511,7511],"mapped",[116]],[[7512,7512],"mapped",[117]],[[7513,7513],"mapped",[7453]],[[7514,7514],"mapped",[623]],[[7515,7515],"mapped",[118]],[[7516,7516],"mapped",[7461]],[[7517,7517],"mapped",[946]],[[7518,7518],"mapped",[947]],[[7519,7519],"mapped",[948]],[[7520,7520],"mapped",[966]],[[7521,7521],"mapped",[967]],[[7522,7522],"mapped",[105]],[[7523,7523],"mapped",[114]],[[7524,7524],"mapped",[117]],[[7525,7525],"mapped",[118]],[[7526,7526],"mapped",[946]],[[7527,7527],"mapped",[947]],[[7528,7528],"mapped",[961]],[[7529,7529],"mapped",[966]],[[7530,7530],"mapped",[967]],[[7531,7531],"valid"],[[7532,7543],"valid"],[[7544,7544],"mapped",[1085]],[[7545,7578],"valid"],[[7579,7579],"mapped",[594]],[[7580,7580],"mapped",[99]],[[7581,7581],"mapped",[597]],[[7582,7582],"mapped",[240]],[[7583,7583],"mapped",[604]],[[7584,7584],"mapped",[102]],[[7585,7585],"mapped",[607]],[[7586,7586],"mapped",[609]],[[7587,7587],"mapped",[613]],[[7588,7588],"mapped",[616]],[[7589,7589],"mapped",[617]],[[7590,7590],"mapped",[618]],[[7591,7591],"mapped",[7547]],[[7592,7592],"mapped",[669]],[[7593,7593],"mapped",[621]],[[7594,7594],"mapped",[7557]],[[7595,7595],"mapped",[671]],[[7596,7596],"mapped",[625]],[[7597,7597],"mapped",[624]],[[7598,7598],"mapped",[626]],[[7599,7599],"mapped",[627]],[[7600,7600],"mapped",[628]],[[7601,7601],"mapped",[629]],[[7602,7602],"mapped",[632]],[[7603,7603],"mapped",[642]],[[7604,7604],"mapped",[643]],[[7605,7605],"mapped",[427]],[[7606,7606],"mapped",[649]],[[7607,7607],"mapped",[650]],[[7608,7608],"mapped",[7452]],[[7609,7609],"mapped",[651]],[[7610,7610],"mapped",[652]],[[7611,7611],"mapped",[122]],[[7612,7612],"mapped",[656]],[[7613,7613],"mapped",[657]],[[7614,7614],"mapped",[658]],[[7615,7615],"mapped",[952]],[[7616,7619],"valid"],[[7620,7626],"valid"],[[7627,7654],"valid"],[[7655,7669],"valid"],[[7670,7675],"disallowed"],[[7676,7676],"valid"],[[7677,7677],"valid"],[[7678,7679],"valid"],[[7680,7680],"mapped",[7681]],[[7681,7681],"valid"],[[7682,7682],"mapped",[7683]],[[7683,7683],"valid"],[[7684,7684],"mapped",[7685]],[[7685,7685],"valid"],[[7686,7686],"mapped",[7687]],[[7687,7687],"valid"],[[7688,7688],"mapped",[7689]],[[7689,7689],"valid"],[[7690,7690],"mapped",[7691]],[[7691,7691],"valid"],[[7692,7692],"mapped",[7693]],[[7693,7693],"valid"],[[7694,7694],"mapped",[7695]],[[7695,7695],"valid"],[[7696,7696],"mapped",[7697]],[[7697,7697],"valid"],[[7698,7698],"mapped",[7699]],[[7699,7699],"valid"],[[7700,7700],"mapped",[7701]],[[7701,7701],"valid"],[[7702,7702],"mapped",[7703]],[[7703,7703],"valid"],[[7704,7704],"mapped",[7705]],[[7705,7705],"valid"],[[7706,7706],"mapped",[7707]],[[7707,7707],"valid"],[[7708,7708],"mapped",[7709]],[[7709,7709],"valid"],[[7710,7710],"mapped",[7711]],[[7711,7711],"valid"],[[7712,7712],"mapped",[7713]],[[7713,7713],"valid"],[[7714,7714],"mapped",[7715]],[[7715,7715],"valid"],[[7716,7716],"mapped",[7717]],[[7717,7717],"valid"],[[7718,7718],"mapped",[7719]],[[7719,7719],"valid"],[[7720,7720],"mapped",[7721]],[[7721,7721],"valid"],[[7722,7722],"mapped",[7723]],[[7723,7723],"valid"],[[7724,7724],"mapped",[7725]],[[7725,7725],"valid"],[[7726,7726],"mapped",[7727]],[[7727,7727],"valid"],[[7728,7728],"mapped",[7729]],[[7729,7729],"valid"],[[7730,7730],"mapped",[7731]],[[7731,7731],"valid"],[[7732,7732],"mapped",[7733]],[[7733,7733],"valid"],[[7734,7734],"mapped",[7735]],[[7735,7735],"valid"],[[7736,7736],"mapped",[7737]],[[7737,7737],"valid"],[[7738,7738],"mapped",[7739]],[[7739,7739],"valid"],[[7740,7740],"mapped",[7741]],[[7741,7741],"valid"],[[7742,7742],"mapped",[7743]],[[7743,7743],"valid"],[[7744,7744],"mapped",[7745]],[[7745,7745],"valid"],[[7746,7746],"mapped",[7747]],[[7747,7747],"valid"],[[7748,7748],"mapped",[7749]],[[7749,7749],"valid"],[[7750,7750],"mapped",[7751]],[[7751,7751],"valid"],[[7752,7752],"mapped",[7753]],[[7753,7753],"valid"],[[7754,7754],"mapped",[7755]],[[7755,7755],"valid"],[[7756,7756],"mapped",[7757]],[[7757,7757],"valid"],[[7758,7758],"mapped",[7759]],[[7759,7759],"valid"],[[7760,7760],"mapped",[7761]],[[7761,7761],"valid"],[[7762,7762],"mapped",[7763]],[[7763,7763],"valid"],[[7764,7764],"mapped",[7765]],[[7765,7765],"valid"],[[7766,7766],"mapped",[7767]],[[7767,7767],"valid"],[[7768,7768],"mapped",[7769]],[[7769,7769],"valid"],[[7770,7770],"mapped",[7771]],[[7771,7771],"valid"],[[7772,7772],"mapped",[7773]],[[7773,7773],"valid"],[[7774,7774],"mapped",[7775]],[[7775,7775],"valid"],[[7776,7776],"mapped",[7777]],[[7777,7777],"valid"],[[7778,7778],"mapped",[7779]],[[7779,7779],"valid"],[[7780,7780],"mapped",[7781]],[[7781,7781],"valid"],[[7782,7782],"mapped",[7783]],[[7783,7783],"valid"],[[7784,7784],"mapped",[7785]],[[7785,7785],"valid"],[[7786,7786],"mapped",[7787]],[[7787,7787],"valid"],[[7788,7788],"mapped",[7789]],[[7789,7789],"valid"],[[7790,7790],"mapped",[7791]],[[7791,7791],"valid"],[[7792,7792],"mapped",[7793]],[[7793,7793],"valid"],[[7794,7794],"mapped",[7795]],[[7795,7795],"valid"],[[7796,7796],"mapped",[7797]],[[7797,7797],"valid"],[[7798,7798],"mapped",[7799]],[[7799,7799],"valid"],[[7800,7800],"mapped",[7801]],[[7801,7801],"valid"],[[7802,7802],"mapped",[7803]],[[7803,7803],"valid"],[[7804,7804],"mapped",[7805]],[[7805,7805],"valid"],[[7806,7806],"mapped",[7807]],[[7807,7807],"valid"],[[7808,7808],"mapped",[7809]],[[7809,7809],"valid"],[[7810,7810],"mapped",[7811]],[[7811,7811],"valid"],[[7812,7812],"mapped",[7813]],[[7813,7813],"valid"],[[7814,7814],"mapped",[7815]],[[7815,7815],"valid"],[[7816,7816],"mapped",[7817]],[[7817,7817],"valid"],[[7818,7818],"mapped",[7819]],[[7819,7819],"valid"],[[7820,7820],"mapped",[7821]],[[7821,7821],"valid"],[[7822,7822],"mapped",[7823]],[[7823,7823],"valid"],[[7824,7824],"mapped",[7825]],[[7825,7825],"valid"],[[7826,7826],"mapped",[7827]],[[7827,7827],"valid"],[[7828,7828],"mapped",[7829]],[[7829,7833],"valid"],[[7834,7834],"mapped",[97,702]],[[7835,7835],"mapped",[7777]],[[7836,7837],"valid"],[[7838,7838],"mapped",[115,115]],[[7839,7839],"valid"],[[7840,7840],"mapped",[7841]],[[7841,7841],"valid"],[[7842,7842],"mapped",[7843]],[[7843,7843],"valid"],[[7844,7844],"mapped",[7845]],[[7845,7845],"valid"],[[7846,7846],"mapped",[7847]],[[7847,7847],"valid"],[[7848,7848],"mapped",[7849]],[[7849,7849],"valid"],[[7850,7850],"mapped",[7851]],[[7851,7851],"valid"],[[7852,7852],"mapped",[7853]],[[7853,7853],"valid"],[[7854,7854],"mapped",[7855]],[[7855,7855],"valid"],[[7856,7856],"mapped",[7857]],[[7857,7857],"valid"],[[7858,7858],"mapped",[7859]],[[7859,7859],"valid"],[[7860,7860],"mapped",[7861]],[[7861,7861],"valid"],[[7862,7862],"mapped",[7863]],[[7863,7863],"valid"],[[7864,7864],"mapped",[7865]],[[7865,7865],"valid"],[[7866,7866],"mapped",[7867]],[[7867,7867],"valid"],[[7868,7868],"mapped",[7869]],[[7869,7869],"valid"],[[7870,7870],"mapped",[7871]],[[7871,7871],"valid"],[[7872,7872],"mapped",[7873]],[[7873,7873],"valid"],[[7874,7874],"mapped",[7875]],[[7875,7875],"valid"],[[7876,7876],"mapped",[7877]],[[7877,7877],"valid"],[[7878,7878],"mapped",[7879]],[[7879,7879],"valid"],[[7880,7880],"mapped",[7881]],[[7881,7881],"valid"],[[7882,7882],"mapped",[7883]],[[7883,7883],"valid"],[[7884,7884],"mapped",[7885]],[[7885,7885],"valid"],[[7886,7886],"mapped",[7887]],[[7887,7887],"valid"],[[7888,7888],"mapped",[7889]],[[7889,7889],"valid"],[[7890,7890],"mapped",[7891]],[[7891,7891],"valid"],[[7892,7892],"mapped",[7893]],[[7893,7893],"valid"],[[7894,7894],"mapped",[7895]],[[7895,7895],"valid"],[[7896,7896],"mapped",[7897]],[[7897,7897],"valid"],[[7898,7898],"mapped",[7899]],[[7899,7899],"valid"],[[7900,7900],"mapped",[7901]],[[7901,7901],"valid"],[[7902,7902],"mapped",[7903]],[[7903,7903],"valid"],[[7904,7904],"mapped",[7905]],[[7905,7905],"valid"],[[7906,7906],"mapped",[7907]],[[7907,7907],"valid"],[[7908,7908],"mapped",[7909]],[[7909,7909],"valid"],[[7910,7910],"mapped",[7911]],[[7911,7911],"valid"],[[7912,7912],"mapped",[7913]],[[7913,7913],"valid"],[[7914,7914],"mapped",[7915]],[[7915,7915],"valid"],[[7916,7916],"mapped",[7917]],[[7917,7917],"valid"],[[7918,7918],"mapped",[7919]],[[7919,7919],"valid"],[[7920,7920],"mapped",[7921]],[[7921,7921],"valid"],[[7922,7922],"mapped",[7923]],[[7923,7923],"valid"],[[7924,7924],"mapped",[7925]],[[7925,7925],"valid"],[[7926,7926],"mapped",[7927]],[[7927,7927],"valid"],[[7928,7928],"mapped",[7929]],[[7929,7929],"valid"],[[7930,7930],"mapped",[7931]],[[7931,7931],"valid"],[[7932,7932],"mapped",[7933]],[[7933,7933],"valid"],[[7934,7934],"mapped",[7935]],[[7935,7935],"valid"],[[7936,7943],"valid"],[[7944,7944],"mapped",[7936]],[[7945,7945],"mapped",[7937]],[[7946,7946],"mapped",[7938]],[[7947,7947],"mapped",[7939]],[[7948,7948],"mapped",[7940]],[[7949,7949],"mapped",[7941]],[[7950,7950],"mapped",[7942]],[[7951,7951],"mapped",[7943]],[[7952,7957],"valid"],[[7958,7959],"disallowed"],[[7960,7960],"mapped",[7952]],[[7961,7961],"mapped",[7953]],[[7962,7962],"mapped",[7954]],[[7963,7963],"mapped",[7955]],[[7964,7964],"mapped",[7956]],[[7965,7965],"mapped",[7957]],[[7966,7967],"disallowed"],[[7968,7975],"valid"],[[7976,7976],"mapped",[7968]],[[7977,7977],"mapped",[7969]],[[7978,7978],"mapped",[7970]],[[7979,7979],"mapped",[7971]],[[7980,7980],"mapped",[7972]],[[7981,7981],"mapped",[7973]],[[7982,7982],"mapped",[7974]],[[7983,7983],"mapped",[7975]],[[7984,7991],"valid"],[[7992,7992],"mapped",[7984]],[[7993,7993],"mapped",[7985]],[[7994,7994],"mapped",[7986]],[[7995,7995],"mapped",[7987]],[[7996,7996],"mapped",[7988]],[[7997,7997],"mapped",[7989]],[[7998,7998],"mapped",[7990]],[[7999,7999],"mapped",[7991]],[[8e3,8005],"valid"],[[8006,8007],"disallowed"],[[8008,8008],"mapped",[8e3]],[[8009,8009],"mapped",[8001]],[[8010,8010],"mapped",[8002]],[[8011,8011],"mapped",[8003]],[[8012,8012],"mapped",[8004]],[[8013,8013],"mapped",[8005]],[[8014,8015],"disallowed"],[[8016,8023],"valid"],[[8024,8024],"disallowed"],[[8025,8025],"mapped",[8017]],[[8026,8026],"disallowed"],[[8027,8027],"mapped",[8019]],[[8028,8028],"disallowed"],[[8029,8029],"mapped",[8021]],[[8030,8030],"disallowed"],[[8031,8031],"mapped",[8023]],[[8032,8039],"valid"],[[8040,8040],"mapped",[8032]],[[8041,8041],"mapped",[8033]],[[8042,8042],"mapped",[8034]],[[8043,8043],"mapped",[8035]],[[8044,8044],"mapped",[8036]],[[8045,8045],"mapped",[8037]],[[8046,8046],"mapped",[8038]],[[8047,8047],"mapped",[8039]],[[8048,8048],"valid"],[[8049,8049],"mapped",[940]],[[8050,8050],"valid"],[[8051,8051],"mapped",[941]],[[8052,8052],"valid"],[[8053,8053],"mapped",[942]],[[8054,8054],"valid"],[[8055,8055],"mapped",[943]],[[8056,8056],"valid"],[[8057,8057],"mapped",[972]],[[8058,8058],"valid"],[[8059,8059],"mapped",[973]],[[8060,8060],"valid"],[[8061,8061],"mapped",[974]],[[8062,8063],"disallowed"],[[8064,8064],"mapped",[7936,953]],[[8065,8065],"mapped",[7937,953]],[[8066,8066],"mapped",[7938,953]],[[8067,8067],"mapped",[7939,953]],[[8068,8068],"mapped",[7940,953]],[[8069,8069],"mapped",[7941,953]],[[8070,8070],"mapped",[7942,953]],[[8071,8071],"mapped",[7943,953]],[[8072,8072],"mapped",[7936,953]],[[8073,8073],"mapped",[7937,953]],[[8074,8074],"mapped",[7938,953]],[[8075,8075],"mapped",[7939,953]],[[8076,8076],"mapped",[7940,953]],[[8077,8077],"mapped",[7941,953]],[[8078,8078],"mapped",[7942,953]],[[8079,8079],"mapped",[7943,953]],[[8080,8080],"mapped",[7968,953]],[[8081,8081],"mapped",[7969,953]],[[8082,8082],"mapped",[7970,953]],[[8083,8083],"mapped",[7971,953]],[[8084,8084],"mapped",[7972,953]],[[8085,8085],"mapped",[7973,953]],[[8086,8086],"mapped",[7974,953]],[[8087,8087],"mapped",[7975,953]],[[8088,8088],"mapped",[7968,953]],[[8089,8089],"mapped",[7969,953]],[[8090,8090],"mapped",[7970,953]],[[8091,8091],"mapped",[7971,953]],[[8092,8092],"mapped",[7972,953]],[[8093,8093],"mapped",[7973,953]],[[8094,8094],"mapped",[7974,953]],[[8095,8095],"mapped",[7975,953]],[[8096,8096],"mapped",[8032,953]],[[8097,8097],"mapped",[8033,953]],[[8098,8098],"mapped",[8034,953]],[[8099,8099],"mapped",[8035,953]],[[8100,8100],"mapped",[8036,953]],[[8101,8101],"mapped",[8037,953]],[[8102,8102],"mapped",[8038,953]],[[8103,8103],"mapped",[8039,953]],[[8104,8104],"mapped",[8032,953]],[[8105,8105],"mapped",[8033,953]],[[8106,8106],"mapped",[8034,953]],[[8107,8107],"mapped",[8035,953]],[[8108,8108],"mapped",[8036,953]],[[8109,8109],"mapped",[8037,953]],[[8110,8110],"mapped",[8038,953]],[[8111,8111],"mapped",[8039,953]],[[8112,8113],"valid"],[[8114,8114],"mapped",[8048,953]],[[8115,8115],"mapped",[945,953]],[[8116,8116],"mapped",[940,953]],[[8117,8117],"disallowed"],[[8118,8118],"valid"],[[8119,8119],"mapped",[8118,953]],[[8120,8120],"mapped",[8112]],[[8121,8121],"mapped",[8113]],[[8122,8122],"mapped",[8048]],[[8123,8123],"mapped",[940]],[[8124,8124],"mapped",[945,953]],[[8125,8125],"disallowed_STD3_mapped",[32,787]],[[8126,8126],"mapped",[953]],[[8127,8127],"disallowed_STD3_mapped",[32,787]],[[8128,8128],"disallowed_STD3_mapped",[32,834]],[[8129,8129],"disallowed_STD3_mapped",[32,776,834]],[[8130,8130],"mapped",[8052,953]],[[8131,8131],"mapped",[951,953]],[[8132,8132],"mapped",[942,953]],[[8133,8133],"disallowed"],[[8134,8134],"valid"],[[8135,8135],"mapped",[8134,953]],[[8136,8136],"mapped",[8050]],[[8137,8137],"mapped",[941]],[[8138,8138],"mapped",[8052]],[[8139,8139],"mapped",[942]],[[8140,8140],"mapped",[951,953]],[[8141,8141],"disallowed_STD3_mapped",[32,787,768]],[[8142,8142],"disallowed_STD3_mapped",[32,787,769]],[[8143,8143],"disallowed_STD3_mapped",[32,787,834]],[[8144,8146],"valid"],[[8147,8147],"mapped",[912]],[[8148,8149],"disallowed"],[[8150,8151],"valid"],[[8152,8152],"mapped",[8144]],[[8153,8153],"mapped",[8145]],[[8154,8154],"mapped",[8054]],[[8155,8155],"mapped",[943]],[[8156,8156],"disallowed"],[[8157,8157],"disallowed_STD3_mapped",[32,788,768]],[[8158,8158],"disallowed_STD3_mapped",[32,788,769]],[[8159,8159],"disallowed_STD3_mapped",[32,788,834]],[[8160,8162],"valid"],[[8163,8163],"mapped",[944]],[[8164,8167],"valid"],[[8168,8168],"mapped",[8160]],[[8169,8169],"mapped",[8161]],[[8170,8170],"mapped",[8058]],[[8171,8171],"mapped",[973]],[[8172,8172],"mapped",[8165]],[[8173,8173],"disallowed_STD3_mapped",[32,776,768]],[[8174,8174],"disallowed_STD3_mapped",[32,776,769]],[[8175,8175],"disallowed_STD3_mapped",[96]],[[8176,8177],"disallowed"],[[8178,8178],"mapped",[8060,953]],[[8179,8179],"mapped",[969,953]],[[8180,8180],"mapped",[974,953]],[[8181,8181],"disallowed"],[[8182,8182],"valid"],[[8183,8183],"mapped",[8182,953]],[[8184,8184],"mapped",[8056]],[[8185,8185],"mapped",[972]],[[8186,8186],"mapped",[8060]],[[8187,8187],"mapped",[974]],[[8188,8188],"mapped",[969,953]],[[8189,8189],"disallowed_STD3_mapped",[32,769]],[[8190,8190],"disallowed_STD3_mapped",[32,788]],[[8191,8191],"disallowed"],[[8192,8202],"disallowed_STD3_mapped",[32]],[[8203,8203],"ignored"],[[8204,8205],"deviation",[]],[[8206,8207],"disallowed"],[[8208,8208],"valid",[],"NV8"],[[8209,8209],"mapped",[8208]],[[8210,8214],"valid",[],"NV8"],[[8215,8215],"disallowed_STD3_mapped",[32,819]],[[8216,8227],"valid",[],"NV8"],[[8228,8230],"disallowed"],[[8231,8231],"valid",[],"NV8"],[[8232,8238],"disallowed"],[[8239,8239],"disallowed_STD3_mapped",[32]],[[8240,8242],"valid",[],"NV8"],[[8243,8243],"mapped",[8242,8242]],[[8244,8244],"mapped",[8242,8242,8242]],[[8245,8245],"valid",[],"NV8"],[[8246,8246],"mapped",[8245,8245]],[[8247,8247],"mapped",[8245,8245,8245]],[[8248,8251],"valid",[],"NV8"],[[8252,8252],"disallowed_STD3_mapped",[33,33]],[[8253,8253],"valid",[],"NV8"],[[8254,8254],"disallowed_STD3_mapped",[32,773]],[[8255,8262],"valid",[],"NV8"],[[8263,8263],"disallowed_STD3_mapped",[63,63]],[[8264,8264],"disallowed_STD3_mapped",[63,33]],[[8265,8265],"disallowed_STD3_mapped",[33,63]],[[8266,8269],"valid",[],"NV8"],[[8270,8274],"valid",[],"NV8"],[[8275,8276],"valid",[],"NV8"],[[8277,8278],"valid",[],"NV8"],[[8279,8279],"mapped",[8242,8242,8242,8242]],[[8280,8286],"valid",[],"NV8"],[[8287,8287],"disallowed_STD3_mapped",[32]],[[8288,8288],"ignored"],[[8289,8291],"disallowed"],[[8292,8292],"ignored"],[[8293,8293],"disallowed"],[[8294,8297],"disallowed"],[[8298,8303],"disallowed"],[[8304,8304],"mapped",[48]],[[8305,8305],"mapped",[105]],[[8306,8307],"disallowed"],[[8308,8308],"mapped",[52]],[[8309,8309],"mapped",[53]],[[8310,8310],"mapped",[54]],[[8311,8311],"mapped",[55]],[[8312,8312],"mapped",[56]],[[8313,8313],"mapped",[57]],[[8314,8314],"disallowed_STD3_mapped",[43]],[[8315,8315],"mapped",[8722]],[[8316,8316],"disallowed_STD3_mapped",[61]],[[8317,8317],"disallowed_STD3_mapped",[40]],[[8318,8318],"disallowed_STD3_mapped",[41]],[[8319,8319],"mapped",[110]],[[8320,8320],"mapped",[48]],[[8321,8321],"mapped",[49]],[[8322,8322],"mapped",[50]],[[8323,8323],"mapped",[51]],[[8324,8324],"mapped",[52]],[[8325,8325],"mapped",[53]],[[8326,8326],"mapped",[54]],[[8327,8327],"mapped",[55]],[[8328,8328],"mapped",[56]],[[8329,8329],"mapped",[57]],[[8330,8330],"disallowed_STD3_mapped",[43]],[[8331,8331],"mapped",[8722]],[[8332,8332],"disallowed_STD3_mapped",[61]],[[8333,8333],"disallowed_STD3_mapped",[40]],[[8334,8334],"disallowed_STD3_mapped",[41]],[[8335,8335],"disallowed"],[[8336,8336],"mapped",[97]],[[8337,8337],"mapped",[101]],[[8338,8338],"mapped",[111]],[[8339,8339],"mapped",[120]],[[8340,8340],"mapped",[601]],[[8341,8341],"mapped",[104]],[[8342,8342],"mapped",[107]],[[8343,8343],"mapped",[108]],[[8344,8344],"mapped",[109]],[[8345,8345],"mapped",[110]],[[8346,8346],"mapped",[112]],[[8347,8347],"mapped",[115]],[[8348,8348],"mapped",[116]],[[8349,8351],"disallowed"],[[8352,8359],"valid",[],"NV8"],[[8360,8360],"mapped",[114,115]],[[8361,8362],"valid",[],"NV8"],[[8363,8363],"valid",[],"NV8"],[[8364,8364],"valid",[],"NV8"],[[8365,8367],"valid",[],"NV8"],[[8368,8369],"valid",[],"NV8"],[[8370,8373],"valid",[],"NV8"],[[8374,8376],"valid",[],"NV8"],[[8377,8377],"valid",[],"NV8"],[[8378,8378],"valid",[],"NV8"],[[8379,8381],"valid",[],"NV8"],[[8382,8382],"valid",[],"NV8"],[[8383,8399],"disallowed"],[[8400,8417],"valid",[],"NV8"],[[8418,8419],"valid",[],"NV8"],[[8420,8426],"valid",[],"NV8"],[[8427,8427],"valid",[],"NV8"],[[8428,8431],"valid",[],"NV8"],[[8432,8432],"valid",[],"NV8"],[[8433,8447],"disallowed"],[[8448,8448],"disallowed_STD3_mapped",[97,47,99]],[[8449,8449],"disallowed_STD3_mapped",[97,47,115]],[[8450,8450],"mapped",[99]],[[8451,8451],"mapped",[176,99]],[[8452,8452],"valid",[],"NV8"],[[8453,8453],"disallowed_STD3_mapped",[99,47,111]],[[8454,8454],"disallowed_STD3_mapped",[99,47,117]],[[8455,8455],"mapped",[603]],[[8456,8456],"valid",[],"NV8"],[[8457,8457],"mapped",[176,102]],[[8458,8458],"mapped",[103]],[[8459,8462],"mapped",[104]],[[8463,8463],"mapped",[295]],[[8464,8465],"mapped",[105]],[[8466,8467],"mapped",[108]],[[8468,8468],"valid",[],"NV8"],[[8469,8469],"mapped",[110]],[[8470,8470],"mapped",[110,111]],[[8471,8472],"valid",[],"NV8"],[[8473,8473],"mapped",[112]],[[8474,8474],"mapped",[113]],[[8475,8477],"mapped",[114]],[[8478,8479],"valid",[],"NV8"],[[8480,8480],"mapped",[115,109]],[[8481,8481],"mapped",[116,101,108]],[[8482,8482],"mapped",[116,109]],[[8483,8483],"valid",[],"NV8"],[[8484,8484],"mapped",[122]],[[8485,8485],"valid",[],"NV8"],[[8486,8486],"mapped",[969]],[[8487,8487],"valid",[],"NV8"],[[8488,8488],"mapped",[122]],[[8489,8489],"valid",[],"NV8"],[[8490,8490],"mapped",[107]],[[8491,8491],"mapped",[229]],[[8492,8492],"mapped",[98]],[[8493,8493],"mapped",[99]],[[8494,8494],"valid",[],"NV8"],[[8495,8496],"mapped",[101]],[[8497,8497],"mapped",[102]],[[8498,8498],"disallowed"],[[8499,8499],"mapped",[109]],[[8500,8500],"mapped",[111]],[[8501,8501],"mapped",[1488]],[[8502,8502],"mapped",[1489]],[[8503,8503],"mapped",[1490]],[[8504,8504],"mapped",[1491]],[[8505,8505],"mapped",[105]],[[8506,8506],"valid",[],"NV8"],[[8507,8507],"mapped",[102,97,120]],[[8508,8508],"mapped",[960]],[[8509,8510],"mapped",[947]],[[8511,8511],"mapped",[960]],[[8512,8512],"mapped",[8721]],[[8513,8516],"valid",[],"NV8"],[[8517,8518],"mapped",[100]],[[8519,8519],"mapped",[101]],[[8520,8520],"mapped",[105]],[[8521,8521],"mapped",[106]],[[8522,8523],"valid",[],"NV8"],[[8524,8524],"valid",[],"NV8"],[[8525,8525],"valid",[],"NV8"],[[8526,8526],"valid"],[[8527,8527],"valid",[],"NV8"],[[8528,8528],"mapped",[49,8260,55]],[[8529,8529],"mapped",[49,8260,57]],[[8530,8530],"mapped",[49,8260,49,48]],[[8531,8531],"mapped",[49,8260,51]],[[8532,8532],"mapped",[50,8260,51]],[[8533,8533],"mapped",[49,8260,53]],[[8534,8534],"mapped",[50,8260,53]],[[8535,8535],"mapped",[51,8260,53]],[[8536,8536],"mapped",[52,8260,53]],[[8537,8537],"mapped",[49,8260,54]],[[8538,8538],"mapped",[53,8260,54]],[[8539,8539],"mapped",[49,8260,56]],[[8540,8540],"mapped",[51,8260,56]],[[8541,8541],"mapped",[53,8260,56]],[[8542,8542],"mapped",[55,8260,56]],[[8543,8543],"mapped",[49,8260]],[[8544,8544],"mapped",[105]],[[8545,8545],"mapped",[105,105]],[[8546,8546],"mapped",[105,105,105]],[[8547,8547],"mapped",[105,118]],[[8548,8548],"mapped",[118]],[[8549,8549],"mapped",[118,105]],[[8550,8550],"mapped",[118,105,105]],[[8551,8551],"mapped",[118,105,105,105]],[[8552,8552],"mapped",[105,120]],[[8553,8553],"mapped",[120]],[[8554,8554],"mapped",[120,105]],[[8555,8555],"mapped",[120,105,105]],[[8556,8556],"mapped",[108]],[[8557,8557],"mapped",[99]],[[8558,8558],"mapped",[100]],[[8559,8559],"mapped",[109]],[[8560,8560],"mapped",[105]],[[8561,8561],"mapped",[105,105]],[[8562,8562],"mapped",[105,105,105]],[[8563,8563],"mapped",[105,118]],[[8564,8564],"mapped",[118]],[[8565,8565],"mapped",[118,105]],[[8566,8566],"mapped",[118,105,105]],[[8567,8567],"mapped",[118,105,105,105]],[[8568,8568],"mapped",[105,120]],[[8569,8569],"mapped",[120]],[[8570,8570],"mapped",[120,105]],[[8571,8571],"mapped",[120,105,105]],[[8572,8572],"mapped",[108]],[[8573,8573],"mapped",[99]],[[8574,8574],"mapped",[100]],[[8575,8575],"mapped",[109]],[[8576,8578],"valid",[],"NV8"],[[8579,8579],"disallowed"],[[8580,8580],"valid"],[[8581,8584],"valid",[],"NV8"],[[8585,8585],"mapped",[48,8260,51]],[[8586,8587],"valid",[],"NV8"],[[8588,8591],"disallowed"],[[8592,8682],"valid",[],"NV8"],[[8683,8691],"valid",[],"NV8"],[[8692,8703],"valid",[],"NV8"],[[8704,8747],"valid",[],"NV8"],[[8748,8748],"mapped",[8747,8747]],[[8749,8749],"mapped",[8747,8747,8747]],[[8750,8750],"valid",[],"NV8"],[[8751,8751],"mapped",[8750,8750]],[[8752,8752],"mapped",[8750,8750,8750]],[[8753,8799],"valid",[],"NV8"],[[8800,8800],"disallowed_STD3_valid"],[[8801,8813],"valid",[],"NV8"],[[8814,8815],"disallowed_STD3_valid"],[[8816,8945],"valid",[],"NV8"],[[8946,8959],"valid",[],"NV8"],[[8960,8960],"valid",[],"NV8"],[[8961,8961],"valid",[],"NV8"],[[8962,9e3],"valid",[],"NV8"],[[9001,9001],"mapped",[12296]],[[9002,9002],"mapped",[12297]],[[9003,9082],"valid",[],"NV8"],[[9083,9083],"valid",[],"NV8"],[[9084,9084],"valid",[],"NV8"],[[9085,9114],"valid",[],"NV8"],[[9115,9166],"valid",[],"NV8"],[[9167,9168],"valid",[],"NV8"],[[9169,9179],"valid",[],"NV8"],[[9180,9191],"valid",[],"NV8"],[[9192,9192],"valid",[],"NV8"],[[9193,9203],"valid",[],"NV8"],[[9204,9210],"valid",[],"NV8"],[[9211,9215],"disallowed"],[[9216,9252],"valid",[],"NV8"],[[9253,9254],"valid",[],"NV8"],[[9255,9279],"disallowed"],[[9280,9290],"valid",[],"NV8"],[[9291,9311],"disallowed"],[[9312,9312],"mapped",[49]],[[9313,9313],"mapped",[50]],[[9314,9314],"mapped",[51]],[[9315,9315],"mapped",[52]],[[9316,9316],"mapped",[53]],[[9317,9317],"mapped",[54]],[[9318,9318],"mapped",[55]],[[9319,9319],"mapped",[56]],[[9320,9320],"mapped",[57]],[[9321,9321],"mapped",[49,48]],[[9322,9322],"mapped",[49,49]],[[9323,9323],"mapped",[49,50]],[[9324,9324],"mapped",[49,51]],[[9325,9325],"mapped",[49,52]],[[9326,9326],"mapped",[49,53]],[[9327,9327],"mapped",[49,54]],[[9328,9328],"mapped",[49,55]],[[9329,9329],"mapped",[49,56]],[[9330,9330],"mapped",[49,57]],[[9331,9331],"mapped",[50,48]],[[9332,9332],"disallowed_STD3_mapped",[40,49,41]],[[9333,9333],"disallowed_STD3_mapped",[40,50,41]],[[9334,9334],"disallowed_STD3_mapped",[40,51,41]],[[9335,9335],"disallowed_STD3_mapped",[40,52,41]],[[9336,9336],"disallowed_STD3_mapped",[40,53,41]],[[9337,9337],"disallowed_STD3_mapped",[40,54,41]],[[9338,9338],"disallowed_STD3_mapped",[40,55,41]],[[9339,9339],"disallowed_STD3_mapped",[40,56,41]],[[9340,9340],"disallowed_STD3_mapped",[40,57,41]],[[9341,9341],"disallowed_STD3_mapped",[40,49,48,41]],[[9342,9342],"disallowed_STD3_mapped",[40,49,49,41]],[[9343,9343],"disallowed_STD3_mapped",[40,49,50,41]],[[9344,9344],"disallowed_STD3_mapped",[40,49,51,41]],[[9345,9345],"disallowed_STD3_mapped",[40,49,52,41]],[[9346,9346],"disallowed_STD3_mapped",[40,49,53,41]],[[9347,9347],"disallowed_STD3_mapped",[40,49,54,41]],[[9348,9348],"disallowed_STD3_mapped",[40,49,55,41]],[[9349,9349],"disallowed_STD3_mapped",[40,49,56,41]],[[9350,9350],"disallowed_STD3_mapped",[40,49,57,41]],[[9351,9351],"disallowed_STD3_mapped",[40,50,48,41]],[[9352,9371],"disallowed"],[[9372,9372],"disallowed_STD3_mapped",[40,97,41]],[[9373,9373],"disallowed_STD3_mapped",[40,98,41]],[[9374,9374],"disallowed_STD3_mapped",[40,99,41]],[[9375,9375],"disallowed_STD3_mapped",[40,100,41]],[[9376,9376],"disallowed_STD3_mapped",[40,101,41]],[[9377,9377],"disallowed_STD3_mapped",[40,102,41]],[[9378,9378],"disallowed_STD3_mapped",[40,103,41]],[[9379,9379],"disallowed_STD3_mapped",[40,104,41]],[[9380,9380],"disallowed_STD3_mapped",[40,105,41]],[[9381,9381],"disallowed_STD3_mapped",[40,106,41]],[[9382,9382],"disallowed_STD3_mapped",[40,107,41]],[[9383,9383],"disallowed_STD3_mapped",[40,108,41]],[[9384,9384],"disallowed_STD3_mapped",[40,109,41]],[[9385,9385],"disallowed_STD3_mapped",[40,110,41]],[[9386,9386],"disallowed_STD3_mapped",[40,111,41]],[[9387,9387],"disallowed_STD3_mapped",[40,112,41]],[[9388,9388],"disallowed_STD3_mapped",[40,113,41]],[[9389,9389],"disallowed_STD3_mapped",[40,114,41]],[[9390,9390],"disallowed_STD3_mapped",[40,115,41]],[[9391,9391],"disallowed_STD3_mapped",[40,116,41]],[[9392,9392],"disallowed_STD3_mapped",[40,117,41]],[[9393,9393],"disallowed_STD3_mapped",[40,118,41]],[[9394,9394],"disallowed_STD3_mapped",[40,119,41]],[[9395,9395],"disallowed_STD3_mapped",[40,120,41]],[[9396,9396],"disallowed_STD3_mapped",[40,121,41]],[[9397,9397],"disallowed_STD3_mapped",[40,122,41]],[[9398,9398],"mapped",[97]],[[9399,9399],"mapped",[98]],[[9400,9400],"mapped",[99]],[[9401,9401],"mapped",[100]],[[9402,9402],"mapped",[101]],[[9403,9403],"mapped",[102]],[[9404,9404],"mapped",[103]],[[9405,9405],"mapped",[104]],[[9406,9406],"mapped",[105]],[[9407,9407],"mapped",[106]],[[9408,9408],"mapped",[107]],[[9409,9409],"mapped",[108]],[[9410,9410],"mapped",[109]],[[9411,9411],"mapped",[110]],[[9412,9412],"mapped",[111]],[[9413,9413],"mapped",[112]],[[9414,9414],"mapped",[113]],[[9415,9415],"mapped",[114]],[[9416,9416],"mapped",[115]],[[9417,9417],"mapped",[116]],[[9418,9418],"mapped",[117]],[[9419,9419],"mapped",[118]],[[9420,9420],"mapped",[119]],[[9421,9421],"mapped",[120]],[[9422,9422],"mapped",[121]],[[9423,9423],"mapped",[122]],[[9424,9424],"mapped",[97]],[[9425,9425],"mapped",[98]],[[9426,9426],"mapped",[99]],[[9427,9427],"mapped",[100]],[[9428,9428],"mapped",[101]],[[9429,9429],"mapped",[102]],[[9430,9430],"mapped",[103]],[[9431,9431],"mapped",[104]],[[9432,9432],"mapped",[105]],[[9433,9433],"mapped",[106]],[[9434,9434],"mapped",[107]],[[9435,9435],"mapped",[108]],[[9436,9436],"mapped",[109]],[[9437,9437],"mapped",[110]],[[9438,9438],"mapped",[111]],[[9439,9439],"mapped",[112]],[[9440,9440],"mapped",[113]],[[9441,9441],"mapped",[114]],[[9442,9442],"mapped",[115]],[[9443,9443],"mapped",[116]],[[9444,9444],"mapped",[117]],[[9445,9445],"mapped",[118]],[[9446,9446],"mapped",[119]],[[9447,9447],"mapped",[120]],[[9448,9448],"mapped",[121]],[[9449,9449],"mapped",[122]],[[9450,9450],"mapped",[48]],[[9451,9470],"valid",[],"NV8"],[[9471,9471],"valid",[],"NV8"],[[9472,9621],"valid",[],"NV8"],[[9622,9631],"valid",[],"NV8"],[[9632,9711],"valid",[],"NV8"],[[9712,9719],"valid",[],"NV8"],[[9720,9727],"valid",[],"NV8"],[[9728,9747],"valid",[],"NV8"],[[9748,9749],"valid",[],"NV8"],[[9750,9751],"valid",[],"NV8"],[[9752,9752],"valid",[],"NV8"],[[9753,9753],"valid",[],"NV8"],[[9754,9839],"valid",[],"NV8"],[[9840,9841],"valid",[],"NV8"],[[9842,9853],"valid",[],"NV8"],[[9854,9855],"valid",[],"NV8"],[[9856,9865],"valid",[],"NV8"],[[9866,9873],"valid",[],"NV8"],[[9874,9884],"valid",[],"NV8"],[[9885,9885],"valid",[],"NV8"],[[9886,9887],"valid",[],"NV8"],[[9888,9889],"valid",[],"NV8"],[[9890,9905],"valid",[],"NV8"],[[9906,9906],"valid",[],"NV8"],[[9907,9916],"valid",[],"NV8"],[[9917,9919],"valid",[],"NV8"],[[9920,9923],"valid",[],"NV8"],[[9924,9933],"valid",[],"NV8"],[[9934,9934],"valid",[],"NV8"],[[9935,9953],"valid",[],"NV8"],[[9954,9954],"valid",[],"NV8"],[[9955,9955],"valid",[],"NV8"],[[9956,9959],"valid",[],"NV8"],[[9960,9983],"valid",[],"NV8"],[[9984,9984],"valid",[],"NV8"],[[9985,9988],"valid",[],"NV8"],[[9989,9989],"valid",[],"NV8"],[[9990,9993],"valid",[],"NV8"],[[9994,9995],"valid",[],"NV8"],[[9996,10023],"valid",[],"NV8"],[[10024,10024],"valid",[],"NV8"],[[10025,10059],"valid",[],"NV8"],[[10060,10060],"valid",[],"NV8"],[[10061,10061],"valid",[],"NV8"],[[10062,10062],"valid",[],"NV8"],[[10063,10066],"valid",[],"NV8"],[[10067,10069],"valid",[],"NV8"],[[10070,10070],"valid",[],"NV8"],[[10071,10071],"valid",[],"NV8"],[[10072,10078],"valid",[],"NV8"],[[10079,10080],"valid",[],"NV8"],[[10081,10087],"valid",[],"NV8"],[[10088,10101],"valid",[],"NV8"],[[10102,10132],"valid",[],"NV8"],[[10133,10135],"valid",[],"NV8"],[[10136,10159],"valid",[],"NV8"],[[10160,10160],"valid",[],"NV8"],[[10161,10174],"valid",[],"NV8"],[[10175,10175],"valid",[],"NV8"],[[10176,10182],"valid",[],"NV8"],[[10183,10186],"valid",[],"NV8"],[[10187,10187],"valid",[],"NV8"],[[10188,10188],"valid",[],"NV8"],[[10189,10189],"valid",[],"NV8"],[[10190,10191],"valid",[],"NV8"],[[10192,10219],"valid",[],"NV8"],[[10220,10223],"valid",[],"NV8"],[[10224,10239],"valid",[],"NV8"],[[10240,10495],"valid",[],"NV8"],[[10496,10763],"valid",[],"NV8"],[[10764,10764],"mapped",[8747,8747,8747,8747]],[[10765,10867],"valid",[],"NV8"],[[10868,10868],"disallowed_STD3_mapped",[58,58,61]],[[10869,10869],"disallowed_STD3_mapped",[61,61]],[[10870,10870],"disallowed_STD3_mapped",[61,61,61]],[[10871,10971],"valid",[],"NV8"],[[10972,10972],"mapped",[10973,824]],[[10973,11007],"valid",[],"NV8"],[[11008,11021],"valid",[],"NV8"],[[11022,11027],"valid",[],"NV8"],[[11028,11034],"valid",[],"NV8"],[[11035,11039],"valid",[],"NV8"],[[11040,11043],"valid",[],"NV8"],[[11044,11084],"valid",[],"NV8"],[[11085,11087],"valid",[],"NV8"],[[11088,11092],"valid",[],"NV8"],[[11093,11097],"valid",[],"NV8"],[[11098,11123],"valid",[],"NV8"],[[11124,11125],"disallowed"],[[11126,11157],"valid",[],"NV8"],[[11158,11159],"disallowed"],[[11160,11193],"valid",[],"NV8"],[[11194,11196],"disallowed"],[[11197,11208],"valid",[],"NV8"],[[11209,11209],"disallowed"],[[11210,11217],"valid",[],"NV8"],[[11218,11243],"disallowed"],[[11244,11247],"valid",[],"NV8"],[[11248,11263],"disallowed"],[[11264,11264],"mapped",[11312]],[[11265,11265],"mapped",[11313]],[[11266,11266],"mapped",[11314]],[[11267,11267],"mapped",[11315]],[[11268,11268],"mapped",[11316]],[[11269,11269],"mapped",[11317]],[[11270,11270],"mapped",[11318]],[[11271,11271],"mapped",[11319]],[[11272,11272],"mapped",[11320]],[[11273,11273],"mapped",[11321]],[[11274,11274],"mapped",[11322]],[[11275,11275],"mapped",[11323]],[[11276,11276],"mapped",[11324]],[[11277,11277],"mapped",[11325]],[[11278,11278],"mapped",[11326]],[[11279,11279],"mapped",[11327]],[[11280,11280],"mapped",[11328]],[[11281,11281],"mapped",[11329]],[[11282,11282],"mapped",[11330]],[[11283,11283],"mapped",[11331]],[[11284,11284],"mapped",[11332]],[[11285,11285],"mapped",[11333]],[[11286,11286],"mapped",[11334]],[[11287,11287],"mapped",[11335]],[[11288,11288],"mapped",[11336]],[[11289,11289],"mapped",[11337]],[[11290,11290],"mapped",[11338]],[[11291,11291],"mapped",[11339]],[[11292,11292],"mapped",[11340]],[[11293,11293],"mapped",[11341]],[[11294,11294],"mapped",[11342]],[[11295,11295],"mapped",[11343]],[[11296,11296],"mapped",[11344]],[[11297,11297],"mapped",[11345]],[[11298,11298],"mapped",[11346]],[[11299,11299],"mapped",[11347]],[[11300,11300],"mapped",[11348]],[[11301,11301],"mapped",[11349]],[[11302,11302],"mapped",[11350]],[[11303,11303],"mapped",[11351]],[[11304,11304],"mapped",[11352]],[[11305,11305],"mapped",[11353]],[[11306,11306],"mapped",[11354]],[[11307,11307],"mapped",[11355]],[[11308,11308],"mapped",[11356]],[[11309,11309],"mapped",[11357]],[[11310,11310],"mapped",[11358]],[[11311,11311],"disallowed"],[[11312,11358],"valid"],[[11359,11359],"disallowed"],[[11360,11360],"mapped",[11361]],[[11361,11361],"valid"],[[11362,11362],"mapped",[619]],[[11363,11363],"mapped",[7549]],[[11364,11364],"mapped",[637]],[[11365,11366],"valid"],[[11367,11367],"mapped",[11368]],[[11368,11368],"valid"],[[11369,11369],"mapped",[11370]],[[11370,11370],"valid"],[[11371,11371],"mapped",[11372]],[[11372,11372],"valid"],[[11373,11373],"mapped",[593]],[[11374,11374],"mapped",[625]],[[11375,11375],"mapped",[592]],[[11376,11376],"mapped",[594]],[[11377,11377],"valid"],[[11378,11378],"mapped",[11379]],[[11379,11379],"valid"],[[11380,11380],"valid"],[[11381,11381],"mapped",[11382]],[[11382,11383],"valid"],[[11384,11387],"valid"],[[11388,11388],"mapped",[106]],[[11389,11389],"mapped",[118]],[[11390,11390],"mapped",[575]],[[11391,11391],"mapped",[576]],[[11392,11392],"mapped",[11393]],[[11393,11393],"valid"],[[11394,11394],"mapped",[11395]],[[11395,11395],"valid"],[[11396,11396],"mapped",[11397]],[[11397,11397],"valid"],[[11398,11398],"mapped",[11399]],[[11399,11399],"valid"],[[11400,11400],"mapped",[11401]],[[11401,11401],"valid"],[[11402,11402],"mapped",[11403]],[[11403,11403],"valid"],[[11404,11404],"mapped",[11405]],[[11405,11405],"valid"],[[11406,11406],"mapped",[11407]],[[11407,11407],"valid"],[[11408,11408],"mapped",[11409]],[[11409,11409],"valid"],[[11410,11410],"mapped",[11411]],[[11411,11411],"valid"],[[11412,11412],"mapped",[11413]],[[11413,11413],"valid"],[[11414,11414],"mapped",[11415]],[[11415,11415],"valid"],[[11416,11416],"mapped",[11417]],[[11417,11417],"valid"],[[11418,11418],"mapped",[11419]],[[11419,11419],"valid"],[[11420,11420],"mapped",[11421]],[[11421,11421],"valid"],[[11422,11422],"mapped",[11423]],[[11423,11423],"valid"],[[11424,11424],"mapped",[11425]],[[11425,11425],"valid"],[[11426,11426],"mapped",[11427]],[[11427,11427],"valid"],[[11428,11428],"mapped",[11429]],[[11429,11429],"valid"],[[11430,11430],"mapped",[11431]],[[11431,11431],"valid"],[[11432,11432],"mapped",[11433]],[[11433,11433],"valid"],[[11434,11434],"mapped",[11435]],[[11435,11435],"valid"],[[11436,11436],"mapped",[11437]],[[11437,11437],"valid"],[[11438,11438],"mapped",[11439]],[[11439,11439],"valid"],[[11440,11440],"mapped",[11441]],[[11441,11441],"valid"],[[11442,11442],"mapped",[11443]],[[11443,11443],"valid"],[[11444,11444],"mapped",[11445]],[[11445,11445],"valid"],[[11446,11446],"mapped",[11447]],[[11447,11447],"valid"],[[11448,11448],"mapped",[11449]],[[11449,11449],"valid"],[[11450,11450],"mapped",[11451]],[[11451,11451],"valid"],[[11452,11452],"mapped",[11453]],[[11453,11453],"valid"],[[11454,11454],"mapped",[11455]],[[11455,11455],"valid"],[[11456,11456],"mapped",[11457]],[[11457,11457],"valid"],[[11458,11458],"mapped",[11459]],[[11459,11459],"valid"],[[11460,11460],"mapped",[11461]],[[11461,11461],"valid"],[[11462,11462],"mapped",[11463]],[[11463,11463],"valid"],[[11464,11464],"mapped",[11465]],[[11465,11465],"valid"],[[11466,11466],"mapped",[11467]],[[11467,11467],"valid"],[[11468,11468],"mapped",[11469]],[[11469,11469],"valid"],[[11470,11470],"mapped",[11471]],[[11471,11471],"valid"],[[11472,11472],"mapped",[11473]],[[11473,11473],"valid"],[[11474,11474],"mapped",[11475]],[[11475,11475],"valid"],[[11476,11476],"mapped",[11477]],[[11477,11477],"valid"],[[11478,11478],"mapped",[11479]],[[11479,11479],"valid"],[[11480,11480],"mapped",[11481]],[[11481,11481],"valid"],[[11482,11482],"mapped",[11483]],[[11483,11483],"valid"],[[11484,11484],"mapped",[11485]],[[11485,11485],"valid"],[[11486,11486],"mapped",[11487]],[[11487,11487],"valid"],[[11488,11488],"mapped",[11489]],[[11489,11489],"valid"],[[11490,11490],"mapped",[11491]],[[11491,11492],"valid"],[[11493,11498],"valid",[],"NV8"],[[11499,11499],"mapped",[11500]],[[11500,11500],"valid"],[[11501,11501],"mapped",[11502]],[[11502,11505],"valid"],[[11506,11506],"mapped",[11507]],[[11507,11507],"valid"],[[11508,11512],"disallowed"],[[11513,11519],"valid",[],"NV8"],[[11520,11557],"valid"],[[11558,11558],"disallowed"],[[11559,11559],"valid"],[[11560,11564],"disallowed"],[[11565,11565],"valid"],[[11566,11567],"disallowed"],[[11568,11621],"valid"],[[11622,11623],"valid"],[[11624,11630],"disallowed"],[[11631,11631],"mapped",[11617]],[[11632,11632],"valid",[],"NV8"],[[11633,11646],"disallowed"],[[11647,11647],"valid"],[[11648,11670],"valid"],[[11671,11679],"disallowed"],[[11680,11686],"valid"],[[11687,11687],"disallowed"],[[11688,11694],"valid"],[[11695,11695],"disallowed"],[[11696,11702],"valid"],[[11703,11703],"disallowed"],[[11704,11710],"valid"],[[11711,11711],"disallowed"],[[11712,11718],"valid"],[[11719,11719],"disallowed"],[[11720,11726],"valid"],[[11727,11727],"disallowed"],[[11728,11734],"valid"],[[11735,11735],"disallowed"],[[11736,11742],"valid"],[[11743,11743],"disallowed"],[[11744,11775],"valid"],[[11776,11799],"valid",[],"NV8"],[[11800,11803],"valid",[],"NV8"],[[11804,11805],"valid",[],"NV8"],[[11806,11822],"valid",[],"NV8"],[[11823,11823],"valid"],[[11824,11824],"valid",[],"NV8"],[[11825,11825],"valid",[],"NV8"],[[11826,11835],"valid",[],"NV8"],[[11836,11842],"valid",[],"NV8"],[[11843,11903],"disallowed"],[[11904,11929],"valid",[],"NV8"],[[11930,11930],"disallowed"],[[11931,11934],"valid",[],"NV8"],[[11935,11935],"mapped",[27597]],[[11936,12018],"valid",[],"NV8"],[[12019,12019],"mapped",[40863]],[[12020,12031],"disallowed"],[[12032,12032],"mapped",[19968]],[[12033,12033],"mapped",[20008]],[[12034,12034],"mapped",[20022]],[[12035,12035],"mapped",[20031]],[[12036,12036],"mapped",[20057]],[[12037,12037],"mapped",[20101]],[[12038,12038],"mapped",[20108]],[[12039,12039],"mapped",[20128]],[[12040,12040],"mapped",[20154]],[[12041,12041],"mapped",[20799]],[[12042,12042],"mapped",[20837]],[[12043,12043],"mapped",[20843]],[[12044,12044],"mapped",[20866]],[[12045,12045],"mapped",[20886]],[[12046,12046],"mapped",[20907]],[[12047,12047],"mapped",[20960]],[[12048,12048],"mapped",[20981]],[[12049,12049],"mapped",[20992]],[[12050,12050],"mapped",[21147]],[[12051,12051],"mapped",[21241]],[[12052,12052],"mapped",[21269]],[[12053,12053],"mapped",[21274]],[[12054,12054],"mapped",[21304]],[[12055,12055],"mapped",[21313]],[[12056,12056],"mapped",[21340]],[[12057,12057],"mapped",[21353]],[[12058,12058],"mapped",[21378]],[[12059,12059],"mapped",[21430]],[[12060,12060],"mapped",[21448]],[[12061,12061],"mapped",[21475]],[[12062,12062],"mapped",[22231]],[[12063,12063],"mapped",[22303]],[[12064,12064],"mapped",[22763]],[[12065,12065],"mapped",[22786]],[[12066,12066],"mapped",[22794]],[[12067,12067],"mapped",[22805]],[[12068,12068],"mapped",[22823]],[[12069,12069],"mapped",[22899]],[[12070,12070],"mapped",[23376]],[[12071,12071],"mapped",[23424]],[[12072,12072],"mapped",[23544]],[[12073,12073],"mapped",[23567]],[[12074,12074],"mapped",[23586]],[[12075,12075],"mapped",[23608]],[[12076,12076],"mapped",[23662]],[[12077,12077],"mapped",[23665]],[[12078,12078],"mapped",[24027]],[[12079,12079],"mapped",[24037]],[[12080,12080],"mapped",[24049]],[[12081,12081],"mapped",[24062]],[[12082,12082],"mapped",[24178]],[[12083,12083],"mapped",[24186]],[[12084,12084],"mapped",[24191]],[[12085,12085],"mapped",[24308]],[[12086,12086],"mapped",[24318]],[[12087,12087],"mapped",[24331]],[[12088,12088],"mapped",[24339]],[[12089,12089],"mapped",[24400]],[[12090,12090],"mapped",[24417]],[[12091,12091],"mapped",[24435]],[[12092,12092],"mapped",[24515]],[[12093,12093],"mapped",[25096]],[[12094,12094],"mapped",[25142]],[[12095,12095],"mapped",[25163]],[[12096,12096],"mapped",[25903]],[[12097,12097],"mapped",[25908]],[[12098,12098],"mapped",[25991]],[[12099,12099],"mapped",[26007]],[[12100,12100],"mapped",[26020]],[[12101,12101],"mapped",[26041]],[[12102,12102],"mapped",[26080]],[[12103,12103],"mapped",[26085]],[[12104,12104],"mapped",[26352]],[[12105,12105],"mapped",[26376]],[[12106,12106],"mapped",[26408]],[[12107,12107],"mapped",[27424]],[[12108,12108],"mapped",[27490]],[[12109,12109],"mapped",[27513]],[[12110,12110],"mapped",[27571]],[[12111,12111],"mapped",[27595]],[[12112,12112],"mapped",[27604]],[[12113,12113],"mapped",[27611]],[[12114,12114],"mapped",[27663]],[[12115,12115],"mapped",[27668]],[[12116,12116],"mapped",[27700]],[[12117,12117],"mapped",[28779]],[[12118,12118],"mapped",[29226]],[[12119,12119],"mapped",[29238]],[[12120,12120],"mapped",[29243]],[[12121,12121],"mapped",[29247]],[[12122,12122],"mapped",[29255]],[[12123,12123],"mapped",[29273]],[[12124,12124],"mapped",[29275]],[[12125,12125],"mapped",[29356]],[[12126,12126],"mapped",[29572]],[[12127,12127],"mapped",[29577]],[[12128,12128],"mapped",[29916]],[[12129,12129],"mapped",[29926]],[[12130,12130],"mapped",[29976]],[[12131,12131],"mapped",[29983]],[[12132,12132],"mapped",[29992]],[[12133,12133],"mapped",[3e4]],[[12134,12134],"mapped",[30091]],[[12135,12135],"mapped",[30098]],[[12136,12136],"mapped",[30326]],[[12137,12137],"mapped",[30333]],[[12138,12138],"mapped",[30382]],[[12139,12139],"mapped",[30399]],[[12140,12140],"mapped",[30446]],[[12141,12141],"mapped",[30683]],[[12142,12142],"mapped",[30690]],[[12143,12143],"mapped",[30707]],[[12144,12144],"mapped",[31034]],[[12145,12145],"mapped",[31160]],[[12146,12146],"mapped",[31166]],[[12147,12147],"mapped",[31348]],[[12148,12148],"mapped",[31435]],[[12149,12149],"mapped",[31481]],[[12150,12150],"mapped",[31859]],[[12151,12151],"mapped",[31992]],[[12152,12152],"mapped",[32566]],[[12153,12153],"mapped",[32593]],[[12154,12154],"mapped",[32650]],[[12155,12155],"mapped",[32701]],[[12156,12156],"mapped",[32769]],[[12157,12157],"mapped",[32780]],[[12158,12158],"mapped",[32786]],[[12159,12159],"mapped",[32819]],[[12160,12160],"mapped",[32895]],[[12161,12161],"mapped",[32905]],[[12162,12162],"mapped",[33251]],[[12163,12163],"mapped",[33258]],[[12164,12164],"mapped",[33267]],[[12165,12165],"mapped",[33276]],[[12166,12166],"mapped",[33292]],[[12167,12167],"mapped",[33307]],[[12168,12168],"mapped",[33311]],[[12169,12169],"mapped",[33390]],[[12170,12170],"mapped",[33394]],[[12171,12171],"mapped",[33400]],[[12172,12172],"mapped",[34381]],[[12173,12173],"mapped",[34411]],[[12174,12174],"mapped",[34880]],[[12175,12175],"mapped",[34892]],[[12176,12176],"mapped",[34915]],[[12177,12177],"mapped",[35198]],[[12178,12178],"mapped",[35211]],[[12179,12179],"mapped",[35282]],[[12180,12180],"mapped",[35328]],[[12181,12181],"mapped",[35895]],[[12182,12182],"mapped",[35910]],[[12183,12183],"mapped",[35925]],[[12184,12184],"mapped",[35960]],[[12185,12185],"mapped",[35997]],[[12186,12186],"mapped",[36196]],[[12187,12187],"mapped",[36208]],[[12188,12188],"mapped",[36275]],[[12189,12189],"mapped",[36523]],[[12190,12190],"mapped",[36554]],[[12191,12191],"mapped",[36763]],[[12192,12192],"mapped",[36784]],[[12193,12193],"mapped",[36789]],[[12194,12194],"mapped",[37009]],[[12195,12195],"mapped",[37193]],[[12196,12196],"mapped",[37318]],[[12197,12197],"mapped",[37324]],[[12198,12198],"mapped",[37329]],[[12199,12199],"mapped",[38263]],[[12200,12200],"mapped",[38272]],[[12201,12201],"mapped",[38428]],[[12202,12202],"mapped",[38582]],[[12203,12203],"mapped",[38585]],[[12204,12204],"mapped",[38632]],[[12205,12205],"mapped",[38737]],[[12206,12206],"mapped",[38750]],[[12207,12207],"mapped",[38754]],[[12208,12208],"mapped",[38761]],[[12209,12209],"mapped",[38859]],[[12210,12210],"mapped",[38893]],[[12211,12211],"mapped",[38899]],[[12212,12212],"mapped",[38913]],[[12213,12213],"mapped",[39080]],[[12214,12214],"mapped",[39131]],[[12215,12215],"mapped",[39135]],[[12216,12216],"mapped",[39318]],[[12217,12217],"mapped",[39321]],[[12218,12218],"mapped",[39340]],[[12219,12219],"mapped",[39592]],[[12220,12220],"mapped",[39640]],[[12221,12221],"mapped",[39647]],[[12222,12222],"mapped",[39717]],[[12223,12223],"mapped",[39727]],[[12224,12224],"mapped",[39730]],[[12225,12225],"mapped",[39740]],[[12226,12226],"mapped",[39770]],[[12227,12227],"mapped",[40165]],[[12228,12228],"mapped",[40565]],[[12229,12229],"mapped",[40575]],[[12230,12230],"mapped",[40613]],[[12231,12231],"mapped",[40635]],[[12232,12232],"mapped",[40643]],[[12233,12233],"mapped",[40653]],[[12234,12234],"mapped",[40657]],[[12235,12235],"mapped",[40697]],[[12236,12236],"mapped",[40701]],[[12237,12237],"mapped",[40718]],[[12238,12238],"mapped",[40723]],[[12239,12239],"mapped",[40736]],[[12240,12240],"mapped",[40763]],[[12241,12241],"mapped",[40778]],[[12242,12242],"mapped",[40786]],[[12243,12243],"mapped",[40845]],[[12244,12244],"mapped",[40860]],[[12245,12245],"mapped",[40864]],[[12246,12271],"disallowed"],[[12272,12283],"disallowed"],[[12284,12287],"disallowed"],[[12288,12288],"disallowed_STD3_mapped",[32]],[[12289,12289],"valid",[],"NV8"],[[12290,12290],"mapped",[46]],[[12291,12292],"valid",[],"NV8"],[[12293,12295],"valid"],[[12296,12329],"valid",[],"NV8"],[[12330,12333],"valid"],[[12334,12341],"valid",[],"NV8"],[[12342,12342],"mapped",[12306]],[[12343,12343],"valid",[],"NV8"],[[12344,12344],"mapped",[21313]],[[12345,12345],"mapped",[21316]],[[12346,12346],"mapped",[21317]],[[12347,12347],"valid",[],"NV8"],[[12348,12348],"valid"],[[12349,12349],"valid",[],"NV8"],[[12350,12350],"valid",[],"NV8"],[[12351,12351],"valid",[],"NV8"],[[12352,12352],"disallowed"],[[12353,12436],"valid"],[[12437,12438],"valid"],[[12439,12440],"disallowed"],[[12441,12442],"valid"],[[12443,12443],"disallowed_STD3_mapped",[32,12441]],[[12444,12444],"disallowed_STD3_mapped",[32,12442]],[[12445,12446],"valid"],[[12447,12447],"mapped",[12424,12426]],[[12448,12448],"valid",[],"NV8"],[[12449,12542],"valid"],[[12543,12543],"mapped",[12467,12488]],[[12544,12548],"disallowed"],[[12549,12588],"valid"],[[12589,12589],"valid"],[[12590,12592],"disallowed"],[[12593,12593],"mapped",[4352]],[[12594,12594],"mapped",[4353]],[[12595,12595],"mapped",[4522]],[[12596,12596],"mapped",[4354]],[[12597,12597],"mapped",[4524]],[[12598,12598],"mapped",[4525]],[[12599,12599],"mapped",[4355]],[[12600,12600],"mapped",[4356]],[[12601,12601],"mapped",[4357]],[[12602,12602],"mapped",[4528]],[[12603,12603],"mapped",[4529]],[[12604,12604],"mapped",[4530]],[[12605,12605],"mapped",[4531]],[[12606,12606],"mapped",[4532]],[[12607,12607],"mapped",[4533]],[[12608,12608],"mapped",[4378]],[[12609,12609],"mapped",[4358]],[[12610,12610],"mapped",[4359]],[[12611,12611],"mapped",[4360]],[[12612,12612],"mapped",[4385]],[[12613,12613],"mapped",[4361]],[[12614,12614],"mapped",[4362]],[[12615,12615],"mapped",[4363]],[[12616,12616],"mapped",[4364]],[[12617,12617],"mapped",[4365]],[[12618,12618],"mapped",[4366]],[[12619,12619],"mapped",[4367]],[[12620,12620],"mapped",[4368]],[[12621,12621],"mapped",[4369]],[[12622,12622],"mapped",[4370]],[[12623,12623],"mapped",[4449]],[[12624,12624],"mapped",[4450]],[[12625,12625],"mapped",[4451]],[[12626,12626],"mapped",[4452]],[[12627,12627],"mapped",[4453]],[[12628,12628],"mapped",[4454]],[[12629,12629],"mapped",[4455]],[[12630,12630],"mapped",[4456]],[[12631,12631],"mapped",[4457]],[[12632,12632],"mapped",[4458]],[[12633,12633],"mapped",[4459]],[[12634,12634],"mapped",[4460]],[[12635,12635],"mapped",[4461]],[[12636,12636],"mapped",[4462]],[[12637,12637],"mapped",[4463]],[[12638,12638],"mapped",[4464]],[[12639,12639],"mapped",[4465]],[[12640,12640],"mapped",[4466]],[[12641,12641],"mapped",[4467]],[[12642,12642],"mapped",[4468]],[[12643,12643],"mapped",[4469]],[[12644,12644],"disallowed"],[[12645,12645],"mapped",[4372]],[[12646,12646],"mapped",[4373]],[[12647,12647],"mapped",[4551]],[[12648,12648],"mapped",[4552]],[[12649,12649],"mapped",[4556]],[[12650,12650],"mapped",[4558]],[[12651,12651],"mapped",[4563]],[[12652,12652],"mapped",[4567]],[[12653,12653],"mapped",[4569]],[[12654,12654],"mapped",[4380]],[[12655,12655],"mapped",[4573]],[[12656,12656],"mapped",[4575]],[[12657,12657],"mapped",[4381]],[[12658,12658],"mapped",[4382]],[[12659,12659],"mapped",[4384]],[[12660,12660],"mapped",[4386]],[[12661,12661],"mapped",[4387]],[[12662,12662],"mapped",[4391]],[[12663,12663],"mapped",[4393]],[[12664,12664],"mapped",[4395]],[[12665,12665],"mapped",[4396]],[[12666,12666],"mapped",[4397]],[[12667,12667],"mapped",[4398]],[[12668,12668],"mapped",[4399]],[[12669,12669],"mapped",[4402]],[[12670,12670],"mapped",[4406]],[[12671,12671],"mapped",[4416]],[[12672,12672],"mapped",[4423]],[[12673,12673],"mapped",[4428]],[[12674,12674],"mapped",[4593]],[[12675,12675],"mapped",[4594]],[[12676,12676],"mapped",[4439]],[[12677,12677],"mapped",[4440]],[[12678,12678],"mapped",[4441]],[[12679,12679],"mapped",[4484]],[[12680,12680],"mapped",[4485]],[[12681,12681],"mapped",[4488]],[[12682,12682],"mapped",[4497]],[[12683,12683],"mapped",[4498]],[[12684,12684],"mapped",[4500]],[[12685,12685],"mapped",[4510]],[[12686,12686],"mapped",[4513]],[[12687,12687],"disallowed"],[[12688,12689],"valid",[],"NV8"],[[12690,12690],"mapped",[19968]],[[12691,12691],"mapped",[20108]],[[12692,12692],"mapped",[19977]],[[12693,12693],"mapped",[22235]],[[12694,12694],"mapped",[19978]],[[12695,12695],"mapped",[20013]],[[12696,12696],"mapped",[19979]],[[12697,12697],"mapped",[30002]],[[12698,12698],"mapped",[20057]],[[12699,12699],"mapped",[19993]],[[12700,12700],"mapped",[19969]],[[12701,12701],"mapped",[22825]],[[12702,12702],"mapped",[22320]],[[12703,12703],"mapped",[20154]],[[12704,12727],"valid"],[[12728,12730],"valid"],[[12731,12735],"disallowed"],[[12736,12751],"valid",[],"NV8"],[[12752,12771],"valid",[],"NV8"],[[12772,12783],"disallowed"],[[12784,12799],"valid"],[[12800,12800],"disallowed_STD3_mapped",[40,4352,41]],[[12801,12801],"disallowed_STD3_mapped",[40,4354,41]],[[12802,12802],"disallowed_STD3_mapped",[40,4355,41]],[[12803,12803],"disallowed_STD3_mapped",[40,4357,41]],[[12804,12804],"disallowed_STD3_mapped",[40,4358,41]],[[12805,12805],"disallowed_STD3_mapped",[40,4359,41]],[[12806,12806],"disallowed_STD3_mapped",[40,4361,41]],[[12807,12807],"disallowed_STD3_mapped",[40,4363,41]],[[12808,12808],"disallowed_STD3_mapped",[40,4364,41]],[[12809,12809],"disallowed_STD3_mapped",[40,4366,41]],[[12810,12810],"disallowed_STD3_mapped",[40,4367,41]],[[12811,12811],"disallowed_STD3_mapped",[40,4368,41]],[[12812,12812],"disallowed_STD3_mapped",[40,4369,41]],[[12813,12813],"disallowed_STD3_mapped",[40,4370,41]],[[12814,12814],"disallowed_STD3_mapped",[40,44032,41]],[[12815,12815],"disallowed_STD3_mapped",[40,45208,41]],[[12816,12816],"disallowed_STD3_mapped",[40,45796,41]],[[12817,12817],"disallowed_STD3_mapped",[40,46972,41]],[[12818,12818],"disallowed_STD3_mapped",[40,47560,41]],[[12819,12819],"disallowed_STD3_mapped",[40,48148,41]],[[12820,12820],"disallowed_STD3_mapped",[40,49324,41]],[[12821,12821],"disallowed_STD3_mapped",[40,50500,41]],[[12822,12822],"disallowed_STD3_mapped",[40,51088,41]],[[12823,12823],"disallowed_STD3_mapped",[40,52264,41]],[[12824,12824],"disallowed_STD3_mapped",[40,52852,41]],[[12825,12825],"disallowed_STD3_mapped",[40,53440,41]],[[12826,12826],"disallowed_STD3_mapped",[40,54028,41]],[[12827,12827],"disallowed_STD3_mapped",[40,54616,41]],[[12828,12828],"disallowed_STD3_mapped",[40,51452,41]],[[12829,12829],"disallowed_STD3_mapped",[40,50724,51204,41]],[[12830,12830],"disallowed_STD3_mapped",[40,50724,54980,41]],[[12831,12831],"disallowed"],[[12832,12832],"disallowed_STD3_mapped",[40,19968,41]],[[12833,12833],"disallowed_STD3_mapped",[40,20108,41]],[[12834,12834],"disallowed_STD3_mapped",[40,19977,41]],[[12835,12835],"disallowed_STD3_mapped",[40,22235,41]],[[12836,12836],"disallowed_STD3_mapped",[40,20116,41]],[[12837,12837],"disallowed_STD3_mapped",[40,20845,41]],[[12838,12838],"disallowed_STD3_mapped",[40,19971,41]],[[12839,12839],"disallowed_STD3_mapped",[40,20843,41]],[[12840,12840],"disallowed_STD3_mapped",[40,20061,41]],[[12841,12841],"disallowed_STD3_mapped",[40,21313,41]],[[12842,12842],"disallowed_STD3_mapped",[40,26376,41]],[[12843,12843],"disallowed_STD3_mapped",[40,28779,41]],[[12844,12844],"disallowed_STD3_mapped",[40,27700,41]],[[12845,12845],"disallowed_STD3_mapped",[40,26408,41]],[[12846,12846],"disallowed_STD3_mapped",[40,37329,41]],[[12847,12847],"disallowed_STD3_mapped",[40,22303,41]],[[12848,12848],"disallowed_STD3_mapped",[40,26085,41]],[[12849,12849],"disallowed_STD3_mapped",[40,26666,41]],[[12850,12850],"disallowed_STD3_mapped",[40,26377,41]],[[12851,12851],"disallowed_STD3_mapped",[40,31038,41]],[[12852,12852],"disallowed_STD3_mapped",[40,21517,41]],[[12853,12853],"disallowed_STD3_mapped",[40,29305,41]],[[12854,12854],"disallowed_STD3_mapped",[40,36001,41]],[[12855,12855],"disallowed_STD3_mapped",[40,31069,41]],[[12856,12856],"disallowed_STD3_mapped",[40,21172,41]],[[12857,12857],"disallowed_STD3_mapped",[40,20195,41]],[[12858,12858],"disallowed_STD3_mapped",[40,21628,41]],[[12859,12859],"disallowed_STD3_mapped",[40,23398,41]],[[12860,12860],"disallowed_STD3_mapped",[40,30435,41]],[[12861,12861],"disallowed_STD3_mapped",[40,20225,41]],[[12862,12862],"disallowed_STD3_mapped",[40,36039,41]],[[12863,12863],"disallowed_STD3_mapped",[40,21332,41]],[[12864,12864],"disallowed_STD3_mapped",[40,31085,41]],[[12865,12865],"disallowed_STD3_mapped",[40,20241,41]],[[12866,12866],"disallowed_STD3_mapped",[40,33258,41]],[[12867,12867],"disallowed_STD3_mapped",[40,33267,41]],[[12868,12868],"mapped",[21839]],[[12869,12869],"mapped",[24188]],[[12870,12870],"mapped",[25991]],[[12871,12871],"mapped",[31631]],[[12872,12879],"valid",[],"NV8"],[[12880,12880],"mapped",[112,116,101]],[[12881,12881],"mapped",[50,49]],[[12882,12882],"mapped",[50,50]],[[12883,12883],"mapped",[50,51]],[[12884,12884],"mapped",[50,52]],[[12885,12885],"mapped",[50,53]],[[12886,12886],"mapped",[50,54]],[[12887,12887],"mapped",[50,55]],[[12888,12888],"mapped",[50,56]],[[12889,12889],"mapped",[50,57]],[[12890,12890],"mapped",[51,48]],[[12891,12891],"mapped",[51,49]],[[12892,12892],"mapped",[51,50]],[[12893,12893],"mapped",[51,51]],[[12894,12894],"mapped",[51,52]],[[12895,12895],"mapped",[51,53]],[[12896,12896],"mapped",[4352]],[[12897,12897],"mapped",[4354]],[[12898,12898],"mapped",[4355]],[[12899,12899],"mapped",[4357]],[[12900,12900],"mapped",[4358]],[[12901,12901],"mapped",[4359]],[[12902,12902],"mapped",[4361]],[[12903,12903],"mapped",[4363]],[[12904,12904],"mapped",[4364]],[[12905,12905],"mapped",[4366]],[[12906,12906],"mapped",[4367]],[[12907,12907],"mapped",[4368]],[[12908,12908],"mapped",[4369]],[[12909,12909],"mapped",[4370]],[[12910,12910],"mapped",[44032]],[[12911,12911],"mapped",[45208]],[[12912,12912],"mapped",[45796]],[[12913,12913],"mapped",[46972]],[[12914,12914],"mapped",[47560]],[[12915,12915],"mapped",[48148]],[[12916,12916],"mapped",[49324]],[[12917,12917],"mapped",[50500]],[[12918,12918],"mapped",[51088]],[[12919,12919],"mapped",[52264]],[[12920,12920],"mapped",[52852]],[[12921,12921],"mapped",[53440]],[[12922,12922],"mapped",[54028]],[[12923,12923],"mapped",[54616]],[[12924,12924],"mapped",[52280,44256]],[[12925,12925],"mapped",[51452,51032]],[[12926,12926],"mapped",[50864]],[[12927,12927],"valid",[],"NV8"],[[12928,12928],"mapped",[19968]],[[12929,12929],"mapped",[20108]],[[12930,12930],"mapped",[19977]],[[12931,12931],"mapped",[22235]],[[12932,12932],"mapped",[20116]],[[12933,12933],"mapped",[20845]],[[12934,12934],"mapped",[19971]],[[12935,12935],"mapped",[20843]],[[12936,12936],"mapped",[20061]],[[12937,12937],"mapped",[21313]],[[12938,12938],"mapped",[26376]],[[12939,12939],"mapped",[28779]],[[12940,12940],"mapped",[27700]],[[12941,12941],"mapped",[26408]],[[12942,12942],"mapped",[37329]],[[12943,12943],"mapped",[22303]],[[12944,12944],"mapped",[26085]],[[12945,12945],"mapped",[26666]],[[12946,12946],"mapped",[26377]],[[12947,12947],"mapped",[31038]],[[12948,12948],"mapped",[21517]],[[12949,12949],"mapped",[29305]],[[12950,12950],"mapped",[36001]],[[12951,12951],"mapped",[31069]],[[12952,12952],"mapped",[21172]],[[12953,12953],"mapped",[31192]],[[12954,12954],"mapped",[30007]],[[12955,12955],"mapped",[22899]],[[12956,12956],"mapped",[36969]],[[12957,12957],"mapped",[20778]],[[12958,12958],"mapped",[21360]],[[12959,12959],"mapped",[27880]],[[12960,12960],"mapped",[38917]],[[12961,12961],"mapped",[20241]],[[12962,12962],"mapped",[20889]],[[12963,12963],"mapped",[27491]],[[12964,12964],"mapped",[19978]],[[12965,12965],"mapped",[20013]],[[12966,12966],"mapped",[19979]],[[12967,12967],"mapped",[24038]],[[12968,12968],"mapped",[21491]],[[12969,12969],"mapped",[21307]],[[12970,12970],"mapped",[23447]],[[12971,12971],"mapped",[23398]],[[12972,12972],"mapped",[30435]],[[12973,12973],"mapped",[20225]],[[12974,12974],"mapped",[36039]],[[12975,12975],"mapped",[21332]],[[12976,12976],"mapped",[22812]],[[12977,12977],"mapped",[51,54]],[[12978,12978],"mapped",[51,55]],[[12979,12979],"mapped",[51,56]],[[12980,12980],"mapped",[51,57]],[[12981,12981],"mapped",[52,48]],[[12982,12982],"mapped",[52,49]],[[12983,12983],"mapped",[52,50]],[[12984,12984],"mapped",[52,51]],[[12985,12985],"mapped",[52,52]],[[12986,12986],"mapped",[52,53]],[[12987,12987],"mapped",[52,54]],[[12988,12988],"mapped",[52,55]],[[12989,12989],"mapped",[52,56]],[[12990,12990],"mapped",[52,57]],[[12991,12991],"mapped",[53,48]],[[12992,12992],"mapped",[49,26376]],[[12993,12993],"mapped",[50,26376]],[[12994,12994],"mapped",[51,26376]],[[12995,12995],"mapped",[52,26376]],[[12996,12996],"mapped",[53,26376]],[[12997,12997],"mapped",[54,26376]],[[12998,12998],"mapped",[55,26376]],[[12999,12999],"mapped",[56,26376]],[[13e3,13e3],"mapped",[57,26376]],[[13001,13001],"mapped",[49,48,26376]],[[13002,13002],"mapped",[49,49,26376]],[[13003,13003],"mapped",[49,50,26376]],[[13004,13004],"mapped",[104,103]],[[13005,13005],"mapped",[101,114,103]],[[13006,13006],"mapped",[101,118]],[[13007,13007],"mapped",[108,116,100]],[[13008,13008],"mapped",[12450]],[[13009,13009],"mapped",[12452]],[[13010,13010],"mapped",[12454]],[[13011,13011],"mapped",[12456]],[[13012,13012],"mapped",[12458]],[[13013,13013],"mapped",[12459]],[[13014,13014],"mapped",[12461]],[[13015,13015],"mapped",[12463]],[[13016,13016],"mapped",[12465]],[[13017,13017],"mapped",[12467]],[[13018,13018],"mapped",[12469]],[[13019,13019],"mapped",[12471]],[[13020,13020],"mapped",[12473]],[[13021,13021],"mapped",[12475]],[[13022,13022],"mapped",[12477]],[[13023,13023],"mapped",[12479]],[[13024,13024],"mapped",[12481]],[[13025,13025],"mapped",[12484]],[[13026,13026],"mapped",[12486]],[[13027,13027],"mapped",[12488]],[[13028,13028],"mapped",[12490]],[[13029,13029],"mapped",[12491]],[[13030,13030],"mapped",[12492]],[[13031,13031],"mapped",[12493]],[[13032,13032],"mapped",[12494]],[[13033,13033],"mapped",[12495]],[[13034,13034],"mapped",[12498]],[[13035,13035],"mapped",[12501]],[[13036,13036],"mapped",[12504]],[[13037,13037],"mapped",[12507]],[[13038,13038],"mapped",[12510]],[[13039,13039],"mapped",[12511]],[[13040,13040],"mapped",[12512]],[[13041,13041],"mapped",[12513]],[[13042,13042],"mapped",[12514]],[[13043,13043],"mapped",[12516]],[[13044,13044],"mapped",[12518]],[[13045,13045],"mapped",[12520]],[[13046,13046],"mapped",[12521]],[[13047,13047],"mapped",[12522]],[[13048,13048],"mapped",[12523]],[[13049,13049],"mapped",[12524]],[[13050,13050],"mapped",[12525]],[[13051,13051],"mapped",[12527]],[[13052,13052],"mapped",[12528]],[[13053,13053],"mapped",[12529]],[[13054,13054],"mapped",[12530]],[[13055,13055],"disallowed"],[[13056,13056],"mapped",[12450,12497,12540,12488]],[[13057,13057],"mapped",[12450,12523,12501,12449]],[[13058,13058],"mapped",[12450,12531,12506,12450]],[[13059,13059],"mapped",[12450,12540,12523]],[[13060,13060],"mapped",[12452,12491,12531,12464]],[[13061,13061],"mapped",[12452,12531,12481]],[[13062,13062],"mapped",[12454,12457,12531]],[[13063,13063],"mapped",[12456,12473,12463,12540,12489]],[[13064,13064],"mapped",[12456,12540,12459,12540]],[[13065,13065],"mapped",[12458,12531,12473]],[[13066,13066],"mapped",[12458,12540,12512]],[[13067,13067],"mapped",[12459,12452,12522]],[[13068,13068],"mapped",[12459,12521,12483,12488]],[[13069,13069],"mapped",[12459,12525,12522,12540]],[[13070,13070],"mapped",[12460,12525,12531]],[[13071,13071],"mapped",[12460,12531,12510]],[[13072,13072],"mapped",[12462,12460]],[[13073,13073],"mapped",[12462,12491,12540]],[[13074,13074],"mapped",[12461,12517,12522,12540]],[[13075,13075],"mapped",[12462,12523,12480,12540]],[[13076,13076],"mapped",[12461,12525]],[[13077,13077],"mapped",[12461,12525,12464,12521,12512]],[[13078,13078],"mapped",[12461,12525,12513,12540,12488,12523]],[[13079,13079],"mapped",[12461,12525,12527,12483,12488]],[[13080,13080],"mapped",[12464,12521,12512]],[[13081,13081],"mapped",[12464,12521,12512,12488,12531]],[[13082,13082],"mapped",[12463,12523,12476,12452,12525]],[[13083,13083],"mapped",[12463,12525,12540,12493]],[[13084,13084],"mapped",[12465,12540,12473]],[[13085,13085],"mapped",[12467,12523,12490]],[[13086,13086],"mapped",[12467,12540,12509]],[[13087,13087],"mapped",[12469,12452,12463,12523]],[[13088,13088],"mapped",[12469,12531,12481,12540,12512]],[[13089,13089],"mapped",[12471,12522,12531,12464]],[[13090,13090],"mapped",[12475,12531,12481]],[[13091,13091],"mapped",[12475,12531,12488]],[[13092,13092],"mapped",[12480,12540,12473]],[[13093,13093],"mapped",[12487,12471]],[[13094,13094],"mapped",[12489,12523]],[[13095,13095],"mapped",[12488,12531]],[[13096,13096],"mapped",[12490,12494]],[[13097,13097],"mapped",[12494,12483,12488]],[[13098,13098],"mapped",[12495,12452,12484]],[[13099,13099],"mapped",[12497,12540,12475,12531,12488]],[[13100,13100],"mapped",[12497,12540,12484]],[[13101,13101],"mapped",[12496,12540,12524,12523]],[[13102,13102],"mapped",[12500,12450,12473,12488,12523]],[[13103,13103],"mapped",[12500,12463,12523]],[[13104,13104],"mapped",[12500,12467]],[[13105,13105],"mapped",[12499,12523]],[[13106,13106],"mapped",[12501,12449,12521,12483,12489]],[[13107,13107],"mapped",[12501,12451,12540,12488]],[[13108,13108],"mapped",[12502,12483,12471,12455,12523]],[[13109,13109],"mapped",[12501,12521,12531]],[[13110,13110],"mapped",[12504,12463,12479,12540,12523]],[[13111,13111],"mapped",[12506,12477]],[[13112,13112],"mapped",[12506,12491,12498]],[[13113,13113],"mapped",[12504,12523,12484]],[[13114,13114],"mapped",[12506,12531,12473]],[[13115,13115],"mapped",[12506,12540,12472]],[[13116,13116],"mapped",[12505,12540,12479]],[[13117,13117],"mapped",[12509,12452,12531,12488]],[[13118,13118],"mapped",[12508,12523,12488]],[[13119,13119],"mapped",[12507,12531]],[[13120,13120],"mapped",[12509,12531,12489]],[[13121,13121],"mapped",[12507,12540,12523]],[[13122,13122],"mapped",[12507,12540,12531]],[[13123,13123],"mapped",[12510,12452,12463,12525]],[[13124,13124],"mapped",[12510,12452,12523]],[[13125,13125],"mapped",[12510,12483,12495]],[[13126,13126],"mapped",[12510,12523,12463]],[[13127,13127],"mapped",[12510,12531,12471,12519,12531]],[[13128,13128],"mapped",[12511,12463,12525,12531]],[[13129,13129],"mapped",[12511,12522]],[[13130,13130],"mapped",[12511,12522,12496,12540,12523]],[[13131,13131],"mapped",[12513,12460]],[[13132,13132],"mapped",[12513,12460,12488,12531]],[[13133,13133],"mapped",[12513,12540,12488,12523]],[[13134,13134],"mapped",[12516,12540,12489]],[[13135,13135],"mapped",[12516,12540,12523]],[[13136,13136],"mapped",[12518,12450,12531]],[[13137,13137],"mapped",[12522,12483,12488,12523]],[[13138,13138],"mapped",[12522,12521]],[[13139,13139],"mapped",[12523,12500,12540]],[[13140,13140],"mapped",[12523,12540,12502,12523]],[[13141,13141],"mapped",[12524,12512]],[[13142,13142],"mapped",[12524,12531,12488,12466,12531]],[[13143,13143],"mapped",[12527,12483,12488]],[[13144,13144],"mapped",[48,28857]],[[13145,13145],"mapped",[49,28857]],[[13146,13146],"mapped",[50,28857]],[[13147,13147],"mapped",[51,28857]],[[13148,13148],"mapped",[52,28857]],[[13149,13149],"mapped",[53,28857]],[[13150,13150],"mapped",[54,28857]],[[13151,13151],"mapped",[55,28857]],[[13152,13152],"mapped",[56,28857]],[[13153,13153],"mapped",[57,28857]],[[13154,13154],"mapped",[49,48,28857]],[[13155,13155],"mapped",[49,49,28857]],[[13156,13156],"mapped",[49,50,28857]],[[13157,13157],"mapped",[49,51,28857]],[[13158,13158],"mapped",[49,52,28857]],[[13159,13159],"mapped",[49,53,28857]],[[13160,13160],"mapped",[49,54,28857]],[[13161,13161],"mapped",[49,55,28857]],[[13162,13162],"mapped",[49,56,28857]],[[13163,13163],"mapped",[49,57,28857]],[[13164,13164],"mapped",[50,48,28857]],[[13165,13165],"mapped",[50,49,28857]],[[13166,13166],"mapped",[50,50,28857]],[[13167,13167],"mapped",[50,51,28857]],[[13168,13168],"mapped",[50,52,28857]],[[13169,13169],"mapped",[104,112,97]],[[13170,13170],"mapped",[100,97]],[[13171,13171],"mapped",[97,117]],[[13172,13172],"mapped",[98,97,114]],[[13173,13173],"mapped",[111,118]],[[13174,13174],"mapped",[112,99]],[[13175,13175],"mapped",[100,109]],[[13176,13176],"mapped",[100,109,50]],[[13177,13177],"mapped",[100,109,51]],[[13178,13178],"mapped",[105,117]],[[13179,13179],"mapped",[24179,25104]],[[13180,13180],"mapped",[26157,21644]],[[13181,13181],"mapped",[22823,27491]],[[13182,13182],"mapped",[26126,27835]],[[13183,13183],"mapped",[26666,24335,20250,31038]],[[13184,13184],"mapped",[112,97]],[[13185,13185],"mapped",[110,97]],[[13186,13186],"mapped",[956,97]],[[13187,13187],"mapped",[109,97]],[[13188,13188],"mapped",[107,97]],[[13189,13189],"mapped",[107,98]],[[13190,13190],"mapped",[109,98]],[[13191,13191],"mapped",[103,98]],[[13192,13192],"mapped",[99,97,108]],[[13193,13193],"mapped",[107,99,97,108]],[[13194,13194],"mapped",[112,102]],[[13195,13195],"mapped",[110,102]],[[13196,13196],"mapped",[956,102]],[[13197,13197],"mapped",[956,103]],[[13198,13198],"mapped",[109,103]],[[13199,13199],"mapped",[107,103]],[[13200,13200],"mapped",[104,122]],[[13201,13201],"mapped",[107,104,122]],[[13202,13202],"mapped",[109,104,122]],[[13203,13203],"mapped",[103,104,122]],[[13204,13204],"mapped",[116,104,122]],[[13205,13205],"mapped",[956,108]],[[13206,13206],"mapped",[109,108]],[[13207,13207],"mapped",[100,108]],[[13208,13208],"mapped",[107,108]],[[13209,13209],"mapped",[102,109]],[[13210,13210],"mapped",[110,109]],[[13211,13211],"mapped",[956,109]],[[13212,13212],"mapped",[109,109]],[[13213,13213],"mapped",[99,109]],[[13214,13214],"mapped",[107,109]],[[13215,13215],"mapped",[109,109,50]],[[13216,13216],"mapped",[99,109,50]],[[13217,13217],"mapped",[109,50]],[[13218,13218],"mapped",[107,109,50]],[[13219,13219],"mapped",[109,109,51]],[[13220,13220],"mapped",[99,109,51]],[[13221,13221],"mapped",[109,51]],[[13222,13222],"mapped",[107,109,51]],[[13223,13223],"mapped",[109,8725,115]],[[13224,13224],"mapped",[109,8725,115,50]],[[13225,13225],"mapped",[112,97]],[[13226,13226],"mapped",[107,112,97]],[[13227,13227],"mapped",[109,112,97]],[[13228,13228],"mapped",[103,112,97]],[[13229,13229],"mapped",[114,97,100]],[[13230,13230],"mapped",[114,97,100,8725,115]],[[13231,13231],"mapped",[114,97,100,8725,115,50]],[[13232,13232],"mapped",[112,115]],[[13233,13233],"mapped",[110,115]],[[13234,13234],"mapped",[956,115]],[[13235,13235],"mapped",[109,115]],[[13236,13236],"mapped",[112,118]],[[13237,13237],"mapped",[110,118]],[[13238,13238],"mapped",[956,118]],[[13239,13239],"mapped",[109,118]],[[13240,13240],"mapped",[107,118]],[[13241,13241],"mapped",[109,118]],[[13242,13242],"mapped",[112,119]],[[13243,13243],"mapped",[110,119]],[[13244,13244],"mapped",[956,119]],[[13245,13245],"mapped",[109,119]],[[13246,13246],"mapped",[107,119]],[[13247,13247],"mapped",[109,119]],[[13248,13248],"mapped",[107,969]],[[13249,13249],"mapped",[109,969]],[[13250,13250],"disallowed"],[[13251,13251],"mapped",[98,113]],[[13252,13252],"mapped",[99,99]],[[13253,13253],"mapped",[99,100]],[[13254,13254],"mapped",[99,8725,107,103]],[[13255,13255],"disallowed"],[[13256,13256],"mapped",[100,98]],[[13257,13257],"mapped",[103,121]],[[13258,13258],"mapped",[104,97]],[[13259,13259],"mapped",[104,112]],[[13260,13260],"mapped",[105,110]],[[13261,13261],"mapped",[107,107]],[[13262,13262],"mapped",[107,109]],[[13263,13263],"mapped",[107,116]],[[13264,13264],"mapped",[108,109]],[[13265,13265],"mapped",[108,110]],[[13266,13266],"mapped",[108,111,103]],[[13267,13267],"mapped",[108,120]],[[13268,13268],"mapped",[109,98]],[[13269,13269],"mapped",[109,105,108]],[[13270,13270],"mapped",[109,111,108]],[[13271,13271],"mapped",[112,104]],[[13272,13272],"disallowed"],[[13273,13273],"mapped",[112,112,109]],[[13274,13274],"mapped",[112,114]],[[13275,13275],"mapped",[115,114]],[[13276,13276],"mapped",[115,118]],[[13277,13277],"mapped",[119,98]],[[13278,13278],"mapped",[118,8725,109]],[[13279,13279],"mapped",[97,8725,109]],[[13280,13280],"mapped",[49,26085]],[[13281,13281],"mapped",[50,26085]],[[13282,13282],"mapped",[51,26085]],[[13283,13283],"mapped",[52,26085]],[[13284,13284],"mapped",[53,26085]],[[13285,13285],"mapped",[54,26085]],[[13286,13286],"mapped",[55,26085]],[[13287,13287],"mapped",[56,26085]],[[13288,13288],"mapped",[57,26085]],[[13289,13289],"mapped",[49,48,26085]],[[13290,13290],"mapped",[49,49,26085]],[[13291,13291],"mapped",[49,50,26085]],[[13292,13292],"mapped",[49,51,26085]],[[13293,13293],"mapped",[49,52,26085]],[[13294,13294],"mapped",[49,53,26085]],[[13295,13295],"mapped",[49,54,26085]],[[13296,13296],"mapped",[49,55,26085]],[[13297,13297],"mapped",[49,56,26085]],[[13298,13298],"mapped",[49,57,26085]],[[13299,13299],"mapped",[50,48,26085]],[[13300,13300],"mapped",[50,49,26085]],[[13301,13301],"mapped",[50,50,26085]],[[13302,13302],"mapped",[50,51,26085]],[[13303,13303],"mapped",[50,52,26085]],[[13304,13304],"mapped",[50,53,26085]],[[13305,13305],"mapped",[50,54,26085]],[[13306,13306],"mapped",[50,55,26085]],[[13307,13307],"mapped",[50,56,26085]],[[13308,13308],"mapped",[50,57,26085]],[[13309,13309],"mapped",[51,48,26085]],[[13310,13310],"mapped",[51,49,26085]],[[13311,13311],"mapped",[103,97,108]],[[13312,19893],"valid"],[[19894,19903],"disallowed"],[[19904,19967],"valid",[],"NV8"],[[19968,40869],"valid"],[[40870,40891],"valid"],[[40892,40899],"valid"],[[40900,40907],"valid"],[[40908,40908],"valid"],[[40909,40917],"valid"],[[40918,40959],"disallowed"],[[40960,42124],"valid"],[[42125,42127],"disallowed"],[[42128,42145],"valid",[],"NV8"],[[42146,42147],"valid",[],"NV8"],[[42148,42163],"valid",[],"NV8"],[[42164,42164],"valid",[],"NV8"],[[42165,42176],"valid",[],"NV8"],[[42177,42177],"valid",[],"NV8"],[[42178,42180],"valid",[],"NV8"],[[42181,42181],"valid",[],"NV8"],[[42182,42182],"valid",[],"NV8"],[[42183,42191],"disallowed"],[[42192,42237],"valid"],[[42238,42239],"valid",[],"NV8"],[[42240,42508],"valid"],[[42509,42511],"valid",[],"NV8"],[[42512,42539],"valid"],[[42540,42559],"disallowed"],[[42560,42560],"mapped",[42561]],[[42561,42561],"valid"],[[42562,42562],"mapped",[42563]],[[42563,42563],"valid"],[[42564,42564],"mapped",[42565]],[[42565,42565],"valid"],[[42566,42566],"mapped",[42567]],[[42567,42567],"valid"],[[42568,42568],"mapped",[42569]],[[42569,42569],"valid"],[[42570,42570],"mapped",[42571]],[[42571,42571],"valid"],[[42572,42572],"mapped",[42573]],[[42573,42573],"valid"],[[42574,42574],"mapped",[42575]],[[42575,42575],"valid"],[[42576,42576],"mapped",[42577]],[[42577,42577],"valid"],[[42578,42578],"mapped",[42579]],[[42579,42579],"valid"],[[42580,42580],"mapped",[42581]],[[42581,42581],"valid"],[[42582,42582],"mapped",[42583]],[[42583,42583],"valid"],[[42584,42584],"mapped",[42585]],[[42585,42585],"valid"],[[42586,42586],"mapped",[42587]],[[42587,42587],"valid"],[[42588,42588],"mapped",[42589]],[[42589,42589],"valid"],[[42590,42590],"mapped",[42591]],[[42591,42591],"valid"],[[42592,42592],"mapped",[42593]],[[42593,42593],"valid"],[[42594,42594],"mapped",[42595]],[[42595,42595],"valid"],[[42596,42596],"mapped",[42597]],[[42597,42597],"valid"],[[42598,42598],"mapped",[42599]],[[42599,42599],"valid"],[[42600,42600],"mapped",[42601]],[[42601,42601],"valid"],[[42602,42602],"mapped",[42603]],[[42603,42603],"valid"],[[42604,42604],"mapped",[42605]],[[42605,42607],"valid"],[[42608,42611],"valid",[],"NV8"],[[42612,42619],"valid"],[[42620,42621],"valid"],[[42622,42622],"valid",[],"NV8"],[[42623,42623],"valid"],[[42624,42624],"mapped",[42625]],[[42625,42625],"valid"],[[42626,42626],"mapped",[42627]],[[42627,42627],"valid"],[[42628,42628],"mapped",[42629]],[[42629,42629],"valid"],[[42630,42630],"mapped",[42631]],[[42631,42631],"valid"],[[42632,42632],"mapped",[42633]],[[42633,42633],"valid"],[[42634,42634],"mapped",[42635]],[[42635,42635],"valid"],[[42636,42636],"mapped",[42637]],[[42637,42637],"valid"],[[42638,42638],"mapped",[42639]],[[42639,42639],"valid"],[[42640,42640],"mapped",[42641]],[[42641,42641],"valid"],[[42642,42642],"mapped",[42643]],[[42643,42643],"valid"],[[42644,42644],"mapped",[42645]],[[42645,42645],"valid"],[[42646,42646],"mapped",[42647]],[[42647,42647],"valid"],[[42648,42648],"mapped",[42649]],[[42649,42649],"valid"],[[42650,42650],"mapped",[42651]],[[42651,42651],"valid"],[[42652,42652],"mapped",[1098]],[[42653,42653],"mapped",[1100]],[[42654,42654],"valid"],[[42655,42655],"valid"],[[42656,42725],"valid"],[[42726,42735],"valid",[],"NV8"],[[42736,42737],"valid"],[[42738,42743],"valid",[],"NV8"],[[42744,42751],"disallowed"],[[42752,42774],"valid",[],"NV8"],[[42775,42778],"valid"],[[42779,42783],"valid"],[[42784,42785],"valid",[],"NV8"],[[42786,42786],"mapped",[42787]],[[42787,42787],"valid"],[[42788,42788],"mapped",[42789]],[[42789,42789],"valid"],[[42790,42790],"mapped",[42791]],[[42791,42791],"valid"],[[42792,42792],"mapped",[42793]],[[42793,42793],"valid"],[[42794,42794],"mapped",[42795]],[[42795,42795],"valid"],[[42796,42796],"mapped",[42797]],[[42797,42797],"valid"],[[42798,42798],"mapped",[42799]],[[42799,42801],"valid"],[[42802,42802],"mapped",[42803]],[[42803,42803],"valid"],[[42804,42804],"mapped",[42805]],[[42805,42805],"valid"],[[42806,42806],"mapped",[42807]],[[42807,42807],"valid"],[[42808,42808],"mapped",[42809]],[[42809,42809],"valid"],[[42810,42810],"mapped",[42811]],[[42811,42811],"valid"],[[42812,42812],"mapped",[42813]],[[42813,42813],"valid"],[[42814,42814],"mapped",[42815]],[[42815,42815],"valid"],[[42816,42816],"mapped",[42817]],[[42817,42817],"valid"],[[42818,42818],"mapped",[42819]],[[42819,42819],"valid"],[[42820,42820],"mapped",[42821]],[[42821,42821],"valid"],[[42822,42822],"mapped",[42823]],[[42823,42823],"valid"],[[42824,42824],"mapped",[42825]],[[42825,42825],"valid"],[[42826,42826],"mapped",[42827]],[[42827,42827],"valid"],[[42828,42828],"mapped",[42829]],[[42829,42829],"valid"],[[42830,42830],"mapped",[42831]],[[42831,42831],"valid"],[[42832,42832],"mapped",[42833]],[[42833,42833],"valid"],[[42834,42834],"mapped",[42835]],[[42835,42835],"valid"],[[42836,42836],"mapped",[42837]],[[42837,42837],"valid"],[[42838,42838],"mapped",[42839]],[[42839,42839],"valid"],[[42840,42840],"mapped",[42841]],[[42841,42841],"valid"],[[42842,42842],"mapped",[42843]],[[42843,42843],"valid"],[[42844,42844],"mapped",[42845]],[[42845,42845],"valid"],[[42846,42846],"mapped",[42847]],[[42847,42847],"valid"],[[42848,42848],"mapped",[42849]],[[42849,42849],"valid"],[[42850,42850],"mapped",[42851]],[[42851,42851],"valid"],[[42852,42852],"mapped",[42853]],[[42853,42853],"valid"],[[42854,42854],"mapped",[42855]],[[42855,42855],"valid"],[[42856,42856],"mapped",[42857]],[[42857,42857],"valid"],[[42858,42858],"mapped",[42859]],[[42859,42859],"valid"],[[42860,42860],"mapped",[42861]],[[42861,42861],"valid"],[[42862,42862],"mapped",[42863]],[[42863,42863],"valid"],[[42864,42864],"mapped",[42863]],[[42865,42872],"valid"],[[42873,42873],"mapped",[42874]],[[42874,42874],"valid"],[[42875,42875],"mapped",[42876]],[[42876,42876],"valid"],[[42877,42877],"mapped",[7545]],[[42878,42878],"mapped",[42879]],[[42879,42879],"valid"],[[42880,42880],"mapped",[42881]],[[42881,42881],"valid"],[[42882,42882],"mapped",[42883]],[[42883,42883],"valid"],[[42884,42884],"mapped",[42885]],[[42885,42885],"valid"],[[42886,42886],"mapped",[42887]],[[42887,42888],"valid"],[[42889,42890],"valid",[],"NV8"],[[42891,42891],"mapped",[42892]],[[42892,42892],"valid"],[[42893,42893],"mapped",[613]],[[42894,42894],"valid"],[[42895,42895],"valid"],[[42896,42896],"mapped",[42897]],[[42897,42897],"valid"],[[42898,42898],"mapped",[42899]],[[42899,42899],"valid"],[[42900,42901],"valid"],[[42902,42902],"mapped",[42903]],[[42903,42903],"valid"],[[42904,42904],"mapped",[42905]],[[42905,42905],"valid"],[[42906,42906],"mapped",[42907]],[[42907,42907],"valid"],[[42908,42908],"mapped",[42909]],[[42909,42909],"valid"],[[42910,42910],"mapped",[42911]],[[42911,42911],"valid"],[[42912,42912],"mapped",[42913]],[[42913,42913],"valid"],[[42914,42914],"mapped",[42915]],[[42915,42915],"valid"],[[42916,42916],"mapped",[42917]],[[42917,42917],"valid"],[[42918,42918],"mapped",[42919]],[[42919,42919],"valid"],[[42920,42920],"mapped",[42921]],[[42921,42921],"valid"],[[42922,42922],"mapped",[614]],[[42923,42923],"mapped",[604]],[[42924,42924],"mapped",[609]],[[42925,42925],"mapped",[620]],[[42926,42927],"disallowed"],[[42928,42928],"mapped",[670]],[[42929,42929],"mapped",[647]],[[42930,42930],"mapped",[669]],[[42931,42931],"mapped",[43859]],[[42932,42932],"mapped",[42933]],[[42933,42933],"valid"],[[42934,42934],"mapped",[42935]],[[42935,42935],"valid"],[[42936,42998],"disallowed"],[[42999,42999],"valid"],[[43e3,43e3],"mapped",[295]],[[43001,43001],"mapped",[339]],[[43002,43002],"valid"],[[43003,43007],"valid"],[[43008,43047],"valid"],[[43048,43051],"valid",[],"NV8"],[[43052,43055],"disallowed"],[[43056,43065],"valid",[],"NV8"],[[43066,43071],"disallowed"],[[43072,43123],"valid"],[[43124,43127],"valid",[],"NV8"],[[43128,43135],"disallowed"],[[43136,43204],"valid"],[[43205,43213],"disallowed"],[[43214,43215],"valid",[],"NV8"],[[43216,43225],"valid"],[[43226,43231],"disallowed"],[[43232,43255],"valid"],[[43256,43258],"valid",[],"NV8"],[[43259,43259],"valid"],[[43260,43260],"valid",[],"NV8"],[[43261,43261],"valid"],[[43262,43263],"disallowed"],[[43264,43309],"valid"],[[43310,43311],"valid",[],"NV8"],[[43312,43347],"valid"],[[43348,43358],"disallowed"],[[43359,43359],"valid",[],"NV8"],[[43360,43388],"valid",[],"NV8"],[[43389,43391],"disallowed"],[[43392,43456],"valid"],[[43457,43469],"valid",[],"NV8"],[[43470,43470],"disallowed"],[[43471,43481],"valid"],[[43482,43485],"disallowed"],[[43486,43487],"valid",[],"NV8"],[[43488,43518],"valid"],[[43519,43519],"disallowed"],[[43520,43574],"valid"],[[43575,43583],"disallowed"],[[43584,43597],"valid"],[[43598,43599],"disallowed"],[[43600,43609],"valid"],[[43610,43611],"disallowed"],[[43612,43615],"valid",[],"NV8"],[[43616,43638],"valid"],[[43639,43641],"valid",[],"NV8"],[[43642,43643],"valid"],[[43644,43647],"valid"],[[43648,43714],"valid"],[[43715,43738],"disallowed"],[[43739,43741],"valid"],[[43742,43743],"valid",[],"NV8"],[[43744,43759],"valid"],[[43760,43761],"valid",[],"NV8"],[[43762,43766],"valid"],[[43767,43776],"disallowed"],[[43777,43782],"valid"],[[43783,43784],"disallowed"],[[43785,43790],"valid"],[[43791,43792],"disallowed"],[[43793,43798],"valid"],[[43799,43807],"disallowed"],[[43808,43814],"valid"],[[43815,43815],"disallowed"],[[43816,43822],"valid"],[[43823,43823],"disallowed"],[[43824,43866],"valid"],[[43867,43867],"valid",[],"NV8"],[[43868,43868],"mapped",[42791]],[[43869,43869],"mapped",[43831]],[[43870,43870],"mapped",[619]],[[43871,43871],"mapped",[43858]],[[43872,43875],"valid"],[[43876,43877],"valid"],[[43878,43887],"disallowed"],[[43888,43888],"mapped",[5024]],[[43889,43889],"mapped",[5025]],[[43890,43890],"mapped",[5026]],[[43891,43891],"mapped",[5027]],[[43892,43892],"mapped",[5028]],[[43893,43893],"mapped",[5029]],[[43894,43894],"mapped",[5030]],[[43895,43895],"mapped",[5031]],[[43896,43896],"mapped",[5032]],[[43897,43897],"mapped",[5033]],[[43898,43898],"mapped",[5034]],[[43899,43899],"mapped",[5035]],[[43900,43900],"mapped",[5036]],[[43901,43901],"mapped",[5037]],[[43902,43902],"mapped",[5038]],[[43903,43903],"mapped",[5039]],[[43904,43904],"mapped",[5040]],[[43905,43905],"mapped",[5041]],[[43906,43906],"mapped",[5042]],[[43907,43907],"mapped",[5043]],[[43908,43908],"mapped",[5044]],[[43909,43909],"mapped",[5045]],[[43910,43910],"mapped",[5046]],[[43911,43911],"mapped",[5047]],[[43912,43912],"mapped",[5048]],[[43913,43913],"mapped",[5049]],[[43914,43914],"mapped",[5050]],[[43915,43915],"mapped",[5051]],[[43916,43916],"mapped",[5052]],[[43917,43917],"mapped",[5053]],[[43918,43918],"mapped",[5054]],[[43919,43919],"mapped",[5055]],[[43920,43920],"mapped",[5056]],[[43921,43921],"mapped",[5057]],[[43922,43922],"mapped",[5058]],[[43923,43923],"mapped",[5059]],[[43924,43924],"mapped",[5060]],[[43925,43925],"mapped",[5061]],[[43926,43926],"mapped",[5062]],[[43927,43927],"mapped",[5063]],[[43928,43928],"mapped",[5064]],[[43929,43929],"mapped",[5065]],[[43930,43930],"mapped",[5066]],[[43931,43931],"mapped",[5067]],[[43932,43932],"mapped",[5068]],[[43933,43933],"mapped",[5069]],[[43934,43934],"mapped",[5070]],[[43935,43935],"mapped",[5071]],[[43936,43936],"mapped",[5072]],[[43937,43937],"mapped",[5073]],[[43938,43938],"mapped",[5074]],[[43939,43939],"mapped",[5075]],[[43940,43940],"mapped",[5076]],[[43941,43941],"mapped",[5077]],[[43942,43942],"mapped",[5078]],[[43943,43943],"mapped",[5079]],[[43944,43944],"mapped",[5080]],[[43945,43945],"mapped",[5081]],[[43946,43946],"mapped",[5082]],[[43947,43947],"mapped",[5083]],[[43948,43948],"mapped",[5084]],[[43949,43949],"mapped",[5085]],[[43950,43950],"mapped",[5086]],[[43951,43951],"mapped",[5087]],[[43952,43952],"mapped",[5088]],[[43953,43953],"mapped",[5089]],[[43954,43954],"mapped",[5090]],[[43955,43955],"mapped",[5091]],[[43956,43956],"mapped",[5092]],[[43957,43957],"mapped",[5093]],[[43958,43958],"mapped",[5094]],[[43959,43959],"mapped",[5095]],[[43960,43960],"mapped",[5096]],[[43961,43961],"mapped",[5097]],[[43962,43962],"mapped",[5098]],[[43963,43963],"mapped",[5099]],[[43964,43964],"mapped",[5100]],[[43965,43965],"mapped",[5101]],[[43966,43966],"mapped",[5102]],[[43967,43967],"mapped",[5103]],[[43968,44010],"valid"],[[44011,44011],"valid",[],"NV8"],[[44012,44013],"valid"],[[44014,44015],"disallowed"],[[44016,44025],"valid"],[[44026,44031],"disallowed"],[[44032,55203],"valid"],[[55204,55215],"disallowed"],[[55216,55238],"valid",[],"NV8"],[[55239,55242],"disallowed"],[[55243,55291],"valid",[],"NV8"],[[55292,55295],"disallowed"],[[55296,57343],"disallowed"],[[57344,63743],"disallowed"],[[63744,63744],"mapped",[35912]],[[63745,63745],"mapped",[26356]],[[63746,63746],"mapped",[36554]],[[63747,63747],"mapped",[36040]],[[63748,63748],"mapped",[28369]],[[63749,63749],"mapped",[20018]],[[63750,63750],"mapped",[21477]],[[63751,63752],"mapped",[40860]],[[63753,63753],"mapped",[22865]],[[63754,63754],"mapped",[37329]],[[63755,63755],"mapped",[21895]],[[63756,63756],"mapped",[22856]],[[63757,63757],"mapped",[25078]],[[63758,63758],"mapped",[30313]],[[63759,63759],"mapped",[32645]],[[63760,63760],"mapped",[34367]],[[63761,63761],"mapped",[34746]],[[63762,63762],"mapped",[35064]],[[63763,63763],"mapped",[37007]],[[63764,63764],"mapped",[27138]],[[63765,63765],"mapped",[27931]],[[63766,63766],"mapped",[28889]],[[63767,63767],"mapped",[29662]],[[63768,63768],"mapped",[33853]],[[63769,63769],"mapped",[37226]],[[63770,63770],"mapped",[39409]],[[63771,63771],"mapped",[20098]],[[63772,63772],"mapped",[21365]],[[63773,63773],"mapped",[27396]],[[63774,63774],"mapped",[29211]],[[63775,63775],"mapped",[34349]],[[63776,63776],"mapped",[40478]],[[63777,63777],"mapped",[23888]],[[63778,63778],"mapped",[28651]],[[63779,63779],"mapped",[34253]],[[63780,63780],"mapped",[35172]],[[63781,63781],"mapped",[25289]],[[63782,63782],"mapped",[33240]],[[63783,63783],"mapped",[34847]],[[63784,63784],"mapped",[24266]],[[63785,63785],"mapped",[26391]],[[63786,63786],"mapped",[28010]],[[63787,63787],"mapped",[29436]],[[63788,63788],"mapped",[37070]],[[63789,63789],"mapped",[20358]],[[63790,63790],"mapped",[20919]],[[63791,63791],"mapped",[21214]],[[63792,63792],"mapped",[25796]],[[63793,63793],"mapped",[27347]],[[63794,63794],"mapped",[29200]],[[63795,63795],"mapped",[30439]],[[63796,63796],"mapped",[32769]],[[63797,63797],"mapped",[34310]],[[63798,63798],"mapped",[34396]],[[63799,63799],"mapped",[36335]],[[63800,63800],"mapped",[38706]],[[63801,63801],"mapped",[39791]],[[63802,63802],"mapped",[40442]],[[63803,63803],"mapped",[30860]],[[63804,63804],"mapped",[31103]],[[63805,63805],"mapped",[32160]],[[63806,63806],"mapped",[33737]],[[63807,63807],"mapped",[37636]],[[63808,63808],"mapped",[40575]],[[63809,63809],"mapped",[35542]],[[63810,63810],"mapped",[22751]],[[63811,63811],"mapped",[24324]],[[63812,63812],"mapped",[31840]],[[63813,63813],"mapped",[32894]],[[63814,63814],"mapped",[29282]],[[63815,63815],"mapped",[30922]],[[63816,63816],"mapped",[36034]],[[63817,63817],"mapped",[38647]],[[63818,63818],"mapped",[22744]],[[63819,63819],"mapped",[23650]],[[63820,63820],"mapped",[27155]],[[63821,63821],"mapped",[28122]],[[63822,63822],"mapped",[28431]],[[63823,63823],"mapped",[32047]],[[63824,63824],"mapped",[32311]],[[63825,63825],"mapped",[38475]],[[63826,63826],"mapped",[21202]],[[63827,63827],"mapped",[32907]],[[63828,63828],"mapped",[20956]],[[63829,63829],"mapped",[20940]],[[63830,63830],"mapped",[31260]],[[63831,63831],"mapped",[32190]],[[63832,63832],"mapped",[33777]],[[63833,63833],"mapped",[38517]],[[63834,63834],"mapped",[35712]],[[63835,63835],"mapped",[25295]],[[63836,63836],"mapped",[27138]],[[63837,63837],"mapped",[35582]],[[63838,63838],"mapped",[20025]],[[63839,63839],"mapped",[23527]],[[63840,63840],"mapped",[24594]],[[63841,63841],"mapped",[29575]],[[63842,63842],"mapped",[30064]],[[63843,63843],"mapped",[21271]],[[63844,63844],"mapped",[30971]],[[63845,63845],"mapped",[20415]],[[63846,63846],"mapped",[24489]],[[63847,63847],"mapped",[19981]],[[63848,63848],"mapped",[27852]],[[63849,63849],"mapped",[25976]],[[63850,63850],"mapped",[32034]],[[63851,63851],"mapped",[21443]],[[63852,63852],"mapped",[22622]],[[63853,63853],"mapped",[30465]],[[63854,63854],"mapped",[33865]],[[63855,63855],"mapped",[35498]],[[63856,63856],"mapped",[27578]],[[63857,63857],"mapped",[36784]],[[63858,63858],"mapped",[27784]],[[63859,63859],"mapped",[25342]],[[63860,63860],"mapped",[33509]],[[63861,63861],"mapped",[25504]],[[63862,63862],"mapped",[30053]],[[63863,63863],"mapped",[20142]],[[63864,63864],"mapped",[20841]],[[63865,63865],"mapped",[20937]],[[63866,63866],"mapped",[26753]],[[63867,63867],"mapped",[31975]],[[63868,63868],"mapped",[33391]],[[63869,63869],"mapped",[35538]],[[63870,63870],"mapped",[37327]],[[63871,63871],"mapped",[21237]],[[63872,63872],"mapped",[21570]],[[63873,63873],"mapped",[22899]],[[63874,63874],"mapped",[24300]],[[63875,63875],"mapped",[26053]],[[63876,63876],"mapped",[28670]],[[63877,63877],"mapped",[31018]],[[63878,63878],"mapped",[38317]],[[63879,63879],"mapped",[39530]],[[63880,63880],"mapped",[40599]],[[63881,63881],"mapped",[40654]],[[63882,63882],"mapped",[21147]],[[63883,63883],"mapped",[26310]],[[63884,63884],"mapped",[27511]],[[63885,63885],"mapped",[36706]],[[63886,63886],"mapped",[24180]],[[63887,63887],"mapped",[24976]],[[63888,63888],"mapped",[25088]],[[63889,63889],"mapped",[25754]],[[63890,63890],"mapped",[28451]],[[63891,63891],"mapped",[29001]],[[63892,63892],"mapped",[29833]],[[63893,63893],"mapped",[31178]],[[63894,63894],"mapped",[32244]],[[63895,63895],"mapped",[32879]],[[63896,63896],"mapped",[36646]],[[63897,63897],"mapped",[34030]],[[63898,63898],"mapped",[36899]],[[63899,63899],"mapped",[37706]],[[63900,63900],"mapped",[21015]],[[63901,63901],"mapped",[21155]],[[63902,63902],"mapped",[21693]],[[63903,63903],"mapped",[28872]],[[63904,63904],"mapped",[35010]],[[63905,63905],"mapped",[35498]],[[63906,63906],"mapped",[24265]],[[63907,63907],"mapped",[24565]],[[63908,63908],"mapped",[25467]],[[63909,63909],"mapped",[27566]],[[63910,63910],"mapped",[31806]],[[63911,63911],"mapped",[29557]],[[63912,63912],"mapped",[20196]],[[63913,63913],"mapped",[22265]],[[63914,63914],"mapped",[23527]],[[63915,63915],"mapped",[23994]],[[63916,63916],"mapped",[24604]],[[63917,63917],"mapped",[29618]],[[63918,63918],"mapped",[29801]],[[63919,63919],"mapped",[32666]],[[63920,63920],"mapped",[32838]],[[63921,63921],"mapped",[37428]],[[63922,63922],"mapped",[38646]],[[63923,63923],"mapped",[38728]],[[63924,63924],"mapped",[38936]],[[63925,63925],"mapped",[20363]],[[63926,63926],"mapped",[31150]],[[63927,63927],"mapped",[37300]],[[63928,63928],"mapped",[38584]],[[63929,63929],"mapped",[24801]],[[63930,63930],"mapped",[20102]],[[63931,63931],"mapped",[20698]],[[63932,63932],"mapped",[23534]],[[63933,63933],"mapped",[23615]],[[63934,63934],"mapped",[26009]],[[63935,63935],"mapped",[27138]],[[63936,63936],"mapped",[29134]],[[63937,63937],"mapped",[30274]],[[63938,63938],"mapped",[34044]],[[63939,63939],"mapped",[36988]],[[63940,63940],"mapped",[40845]],[[63941,63941],"mapped",[26248]],[[63942,63942],"mapped",[38446]],[[63943,63943],"mapped",[21129]],[[63944,63944],"mapped",[26491]],[[63945,63945],"mapped",[26611]],[[63946,63946],"mapped",[27969]],[[63947,63947],"mapped",[28316]],[[63948,63948],"mapped",[29705]],[[63949,63949],"mapped",[30041]],[[63950,63950],"mapped",[30827]],[[63951,63951],"mapped",[32016]],[[63952,63952],"mapped",[39006]],[[63953,63953],"mapped",[20845]],[[63954,63954],"mapped",[25134]],[[63955,63955],"mapped",[38520]],[[63956,63956],"mapped",[20523]],[[63957,63957],"mapped",[23833]],[[63958,63958],"mapped",[28138]],[[63959,63959],"mapped",[36650]],[[63960,63960],"mapped",[24459]],[[63961,63961],"mapped",[24900]],[[63962,63962],"mapped",[26647]],[[63963,63963],"mapped",[29575]],[[63964,63964],"mapped",[38534]],[[63965,63965],"mapped",[21033]],[[63966,63966],"mapped",[21519]],[[63967,63967],"mapped",[23653]],[[63968,63968],"mapped",[26131]],[[63969,63969],"mapped",[26446]],[[63970,63970],"mapped",[26792]],[[63971,63971],"mapped",[27877]],[[63972,63972],"mapped",[29702]],[[63973,63973],"mapped",[30178]],[[63974,63974],"mapped",[32633]],[[63975,63975],"mapped",[35023]],[[63976,63976],"mapped",[35041]],[[63977,63977],"mapped",[37324]],[[63978,63978],"mapped",[38626]],[[63979,63979],"mapped",[21311]],[[63980,63980],"mapped",[28346]],[[63981,63981],"mapped",[21533]],[[63982,63982],"mapped",[29136]],[[63983,63983],"mapped",[29848]],[[63984,63984],"mapped",[34298]],[[63985,63985],"mapped",[38563]],[[63986,63986],"mapped",[40023]],[[63987,63987],"mapped",[40607]],[[63988,63988],"mapped",[26519]],[[63989,63989],"mapped",[28107]],[[63990,63990],"mapped",[33256]],[[63991,63991],"mapped",[31435]],[[63992,63992],"mapped",[31520]],[[63993,63993],"mapped",[31890]],[[63994,63994],"mapped",[29376]],[[63995,63995],"mapped",[28825]],[[63996,63996],"mapped",[35672]],[[63997,63997],"mapped",[20160]],[[63998,63998],"mapped",[33590]],[[63999,63999],"mapped",[21050]],[[64e3,64e3],"mapped",[20999]],[[64001,64001],"mapped",[24230]],[[64002,64002],"mapped",[25299]],[[64003,64003],"mapped",[31958]],[[64004,64004],"mapped",[23429]],[[64005,64005],"mapped",[27934]],[[64006,64006],"mapped",[26292]],[[64007,64007],"mapped",[36667]],[[64008,64008],"mapped",[34892]],[[64009,64009],"mapped",[38477]],[[64010,64010],"mapped",[35211]],[[64011,64011],"mapped",[24275]],[[64012,64012],"mapped",[20800]],[[64013,64013],"mapped",[21952]],[[64014,64015],"valid"],[[64016,64016],"mapped",[22618]],[[64017,64017],"valid"],[[64018,64018],"mapped",[26228]],[[64019,64020],"valid"],[[64021,64021],"mapped",[20958]],[[64022,64022],"mapped",[29482]],[[64023,64023],"mapped",[30410]],[[64024,64024],"mapped",[31036]],[[64025,64025],"mapped",[31070]],[[64026,64026],"mapped",[31077]],[[64027,64027],"mapped",[31119]],[[64028,64028],"mapped",[38742]],[[64029,64029],"mapped",[31934]],[[64030,64030],"mapped",[32701]],[[64031,64031],"valid"],[[64032,64032],"mapped",[34322]],[[64033,64033],"valid"],[[64034,64034],"mapped",[35576]],[[64035,64036],"valid"],[[64037,64037],"mapped",[36920]],[[64038,64038],"mapped",[37117]],[[64039,64041],"valid"],[[64042,64042],"mapped",[39151]],[[64043,64043],"mapped",[39164]],[[64044,64044],"mapped",[39208]],[[64045,64045],"mapped",[40372]],[[64046,64046],"mapped",[37086]],[[64047,64047],"mapped",[38583]],[[64048,64048],"mapped",[20398]],[[64049,64049],"mapped",[20711]],[[64050,64050],"mapped",[20813]],[[64051,64051],"mapped",[21193]],[[64052,64052],"mapped",[21220]],[[64053,64053],"mapped",[21329]],[[64054,64054],"mapped",[21917]],[[64055,64055],"mapped",[22022]],[[64056,64056],"mapped",[22120]],[[64057,64057],"mapped",[22592]],[[64058,64058],"mapped",[22696]],[[64059,64059],"mapped",[23652]],[[64060,64060],"mapped",[23662]],[[64061,64061],"mapped",[24724]],[[64062,64062],"mapped",[24936]],[[64063,64063],"mapped",[24974]],[[64064,64064],"mapped",[25074]],[[64065,64065],"mapped",[25935]],[[64066,64066],"mapped",[26082]],[[64067,64067],"mapped",[26257]],[[64068,64068],"mapped",[26757]],[[64069,64069],"mapped",[28023]],[[64070,64070],"mapped",[28186]],[[64071,64071],"mapped",[28450]],[[64072,64072],"mapped",[29038]],[[64073,64073],"mapped",[29227]],[[64074,64074],"mapped",[29730]],[[64075,64075],"mapped",[30865]],[[64076,64076],"mapped",[31038]],[[64077,64077],"mapped",[31049]],[[64078,64078],"mapped",[31048]],[[64079,64079],"mapped",[31056]],[[64080,64080],"mapped",[31062]],[[64081,64081],"mapped",[31069]],[[64082,64082],"mapped",[31117]],[[64083,64083],"mapped",[31118]],[[64084,64084],"mapped",[31296]],[[64085,64085],"mapped",[31361]],[[64086,64086],"mapped",[31680]],[[64087,64087],"mapped",[32244]],[[64088,64088],"mapped",[32265]],[[64089,64089],"mapped",[32321]],[[64090,64090],"mapped",[32626]],[[64091,64091],"mapped",[32773]],[[64092,64092],"mapped",[33261]],[[64093,64094],"mapped",[33401]],[[64095,64095],"mapped",[33879]],[[64096,64096],"mapped",[35088]],[[64097,64097],"mapped",[35222]],[[64098,64098],"mapped",[35585]],[[64099,64099],"mapped",[35641]],[[64100,64100],"mapped",[36051]],[[64101,64101],"mapped",[36104]],[[64102,64102],"mapped",[36790]],[[64103,64103],"mapped",[36920]],[[64104,64104],"mapped",[38627]],[[64105,64105],"mapped",[38911]],[[64106,64106],"mapped",[38971]],[[64107,64107],"mapped",[24693]],[[64108,64108],"mapped",[148206]],[[64109,64109],"mapped",[33304]],[[64110,64111],"disallowed"],[[64112,64112],"mapped",[20006]],[[64113,64113],"mapped",[20917]],[[64114,64114],"mapped",[20840]],[[64115,64115],"mapped",[20352]],[[64116,64116],"mapped",[20805]],[[64117,64117],"mapped",[20864]],[[64118,64118],"mapped",[21191]],[[64119,64119],"mapped",[21242]],[[64120,64120],"mapped",[21917]],[[64121,64121],"mapped",[21845]],[[64122,64122],"mapped",[21913]],[[64123,64123],"mapped",[21986]],[[64124,64124],"mapped",[22618]],[[64125,64125],"mapped",[22707]],[[64126,64126],"mapped",[22852]],[[64127,64127],"mapped",[22868]],[[64128,64128],"mapped",[23138]],[[64129,64129],"mapped",[23336]],[[64130,64130],"mapped",[24274]],[[64131,64131],"mapped",[24281]],[[64132,64132],"mapped",[24425]],[[64133,64133],"mapped",[24493]],[[64134,64134],"mapped",[24792]],[[64135,64135],"mapped",[24910]],[[64136,64136],"mapped",[24840]],[[64137,64137],"mapped",[24974]],[[64138,64138],"mapped",[24928]],[[64139,64139],"mapped",[25074]],[[64140,64140],"mapped",[25140]],[[64141,64141],"mapped",[25540]],[[64142,64142],"mapped",[25628]],[[64143,64143],"mapped",[25682]],[[64144,64144],"mapped",[25942]],[[64145,64145],"mapped",[26228]],[[64146,64146],"mapped",[26391]],[[64147,64147],"mapped",[26395]],[[64148,64148],"mapped",[26454]],[[64149,64149],"mapped",[27513]],[[64150,64150],"mapped",[27578]],[[64151,64151],"mapped",[27969]],[[64152,64152],"mapped",[28379]],[[64153,64153],"mapped",[28363]],[[64154,64154],"mapped",[28450]],[[64155,64155],"mapped",[28702]],[[64156,64156],"mapped",[29038]],[[64157,64157],"mapped",[30631]],[[64158,64158],"mapped",[29237]],[[64159,64159],"mapped",[29359]],[[64160,64160],"mapped",[29482]],[[64161,64161],"mapped",[29809]],[[64162,64162],"mapped",[29958]],[[64163,64163],"mapped",[30011]],[[64164,64164],"mapped",[30237]],[[64165,64165],"mapped",[30239]],[[64166,64166],"mapped",[30410]],[[64167,64167],"mapped",[30427]],[[64168,64168],"mapped",[30452]],[[64169,64169],"mapped",[30538]],[[64170,64170],"mapped",[30528]],[[64171,64171],"mapped",[30924]],[[64172,64172],"mapped",[31409]],[[64173,64173],"mapped",[31680]],[[64174,64174],"mapped",[31867]],[[64175,64175],"mapped",[32091]],[[64176,64176],"mapped",[32244]],[[64177,64177],"mapped",[32574]],[[64178,64178],"mapped",[32773]],[[64179,64179],"mapped",[33618]],[[64180,64180],"mapped",[33775]],[[64181,64181],"mapped",[34681]],[[64182,64182],"mapped",[35137]],[[64183,64183],"mapped",[35206]],[[64184,64184],"mapped",[35222]],[[64185,64185],"mapped",[35519]],[[64186,64186],"mapped",[35576]],[[64187,64187],"mapped",[35531]],[[64188,64188],"mapped",[35585]],[[64189,64189],"mapped",[35582]],[[64190,64190],"mapped",[35565]],[[64191,64191],"mapped",[35641]],[[64192,64192],"mapped",[35722]],[[64193,64193],"mapped",[36104]],[[64194,64194],"mapped",[36664]],[[64195,64195],"mapped",[36978]],[[64196,64196],"mapped",[37273]],[[64197,64197],"mapped",[37494]],[[64198,64198],"mapped",[38524]],[[64199,64199],"mapped",[38627]],[[64200,64200],"mapped",[38742]],[[64201,64201],"mapped",[38875]],[[64202,64202],"mapped",[38911]],[[64203,64203],"mapped",[38923]],[[64204,64204],"mapped",[38971]],[[64205,64205],"mapped",[39698]],[[64206,64206],"mapped",[40860]],[[64207,64207],"mapped",[141386]],[[64208,64208],"mapped",[141380]],[[64209,64209],"mapped",[144341]],[[64210,64210],"mapped",[15261]],[[64211,64211],"mapped",[16408]],[[64212,64212],"mapped",[16441]],[[64213,64213],"mapped",[152137]],[[64214,64214],"mapped",[154832]],[[64215,64215],"mapped",[163539]],[[64216,64216],"mapped",[40771]],[[64217,64217],"mapped",[40846]],[[64218,64255],"disallowed"],[[64256,64256],"mapped",[102,102]],[[64257,64257],"mapped",[102,105]],[[64258,64258],"mapped",[102,108]],[[64259,64259],"mapped",[102,102,105]],[[64260,64260],"mapped",[102,102,108]],[[64261,64262],"mapped",[115,116]],[[64263,64274],"disallowed"],[[64275,64275],"mapped",[1396,1398]],[[64276,64276],"mapped",[1396,1381]],[[64277,64277],"mapped",[1396,1387]],[[64278,64278],"mapped",[1406,1398]],[[64279,64279],"mapped",[1396,1389]],[[64280,64284],"disallowed"],[[64285,64285],"mapped",[1497,1460]],[[64286,64286],"valid"],[[64287,64287],"mapped",[1522,1463]],[[64288,64288],"mapped",[1506]],[[64289,64289],"mapped",[1488]],[[64290,64290],"mapped",[1491]],[[64291,64291],"mapped",[1492]],[[64292,64292],"mapped",[1499]],[[64293,64293],"mapped",[1500]],[[64294,64294],"mapped",[1501]],[[64295,64295],"mapped",[1512]],[[64296,64296],"mapped",[1514]],[[64297,64297],"disallowed_STD3_mapped",[43]],[[64298,64298],"mapped",[1513,1473]],[[64299,64299],"mapped",[1513,1474]],[[64300,64300],"mapped",[1513,1468,1473]],[[64301,64301],"mapped",[1513,1468,1474]],[[64302,64302],"mapped",[1488,1463]],[[64303,64303],"mapped",[1488,1464]],[[64304,64304],"mapped",[1488,1468]],[[64305,64305],"mapped",[1489,1468]],[[64306,64306],"mapped",[1490,1468]],[[64307,64307],"mapped",[1491,1468]],[[64308,64308],"mapped",[1492,1468]],[[64309,64309],"mapped",[1493,1468]],[[64310,64310],"mapped",[1494,1468]],[[64311,64311],"disallowed"],[[64312,64312],"mapped",[1496,1468]],[[64313,64313],"mapped",[1497,1468]],[[64314,64314],"mapped",[1498,1468]],[[64315,64315],"mapped",[1499,1468]],[[64316,64316],"mapped",[1500,1468]],[[64317,64317],"disallowed"],[[64318,64318],"mapped",[1502,1468]],[[64319,64319],"disallowed"],[[64320,64320],"mapped",[1504,1468]],[[64321,64321],"mapped",[1505,1468]],[[64322,64322],"disallowed"],[[64323,64323],"mapped",[1507,1468]],[[64324,64324],"mapped",[1508,1468]],[[64325,64325],"disallowed"],[[64326,64326],"mapped",[1510,1468]],[[64327,64327],"mapped",[1511,1468]],[[64328,64328],"mapped",[1512,1468]],[[64329,64329],"mapped",[1513,1468]],[[64330,64330],"mapped",[1514,1468]],[[64331,64331],"mapped",[1493,1465]],[[64332,64332],"mapped",[1489,1471]],[[64333,64333],"mapped",[1499,1471]],[[64334,64334],"mapped",[1508,1471]],[[64335,64335],"mapped",[1488,1500]],[[64336,64337],"mapped",[1649]],[[64338,64341],"mapped",[1659]],[[64342,64345],"mapped",[1662]],[[64346,64349],"mapped",[1664]],[[64350,64353],"mapped",[1658]],[[64354,64357],"mapped",[1663]],[[64358,64361],"mapped",[1657]],[[64362,64365],"mapped",[1700]],[[64366,64369],"mapped",[1702]],[[64370,64373],"mapped",[1668]],[[64374,64377],"mapped",[1667]],[[64378,64381],"mapped",[1670]],[[64382,64385],"mapped",[1671]],[[64386,64387],"mapped",[1677]],[[64388,64389],"mapped",[1676]],[[64390,64391],"mapped",[1678]],[[64392,64393],"mapped",[1672]],[[64394,64395],"mapped",[1688]],[[64396,64397],"mapped",[1681]],[[64398,64401],"mapped",[1705]],[[64402,64405],"mapped",[1711]],[[64406,64409],"mapped",[1715]],[[64410,64413],"mapped",[1713]],[[64414,64415],"mapped",[1722]],[[64416,64419],"mapped",[1723]],[[64420,64421],"mapped",[1728]],[[64422,64425],"mapped",[1729]],[[64426,64429],"mapped",[1726]],[[64430,64431],"mapped",[1746]],[[64432,64433],"mapped",[1747]],[[64434,64449],"valid",[],"NV8"],[[64450,64466],"disallowed"],[[64467,64470],"mapped",[1709]],[[64471,64472],"mapped",[1735]],[[64473,64474],"mapped",[1734]],[[64475,64476],"mapped",[1736]],[[64477,64477],"mapped",[1735,1652]],[[64478,64479],"mapped",[1739]],[[64480,64481],"mapped",[1733]],[[64482,64483],"mapped",[1737]],[[64484,64487],"mapped",[1744]],[[64488,64489],"mapped",[1609]],[[64490,64491],"mapped",[1574,1575]],[[64492,64493],"mapped",[1574,1749]],[[64494,64495],"mapped",[1574,1608]],[[64496,64497],"mapped",[1574,1735]],[[64498,64499],"mapped",[1574,1734]],[[64500,64501],"mapped",[1574,1736]],[[64502,64504],"mapped",[1574,1744]],[[64505,64507],"mapped",[1574,1609]],[[64508,64511],"mapped",[1740]],[[64512,64512],"mapped",[1574,1580]],[[64513,64513],"mapped",[1574,1581]],[[64514,64514],"mapped",[1574,1605]],[[64515,64515],"mapped",[1574,1609]],[[64516,64516],"mapped",[1574,1610]],[[64517,64517],"mapped",[1576,1580]],[[64518,64518],"mapped",[1576,1581]],[[64519,64519],"mapped",[1576,1582]],[[64520,64520],"mapped",[1576,1605]],[[64521,64521],"mapped",[1576,1609]],[[64522,64522],"mapped",[1576,1610]],[[64523,64523],"mapped",[1578,1580]],[[64524,64524],"mapped",[1578,1581]],[[64525,64525],"mapped",[1578,1582]],[[64526,64526],"mapped",[1578,1605]],[[64527,64527],"mapped",[1578,1609]],[[64528,64528],"mapped",[1578,1610]],[[64529,64529],"mapped",[1579,1580]],[[64530,64530],"mapped",[1579,1605]],[[64531,64531],"mapped",[1579,1609]],[[64532,64532],"mapped",[1579,1610]],[[64533,64533],"mapped",[1580,1581]],[[64534,64534],"mapped",[1580,1605]],[[64535,64535],"mapped",[1581,1580]],[[64536,64536],"mapped",[1581,1605]],[[64537,64537],"mapped",[1582,1580]],[[64538,64538],"mapped",[1582,1581]],[[64539,64539],"mapped",[1582,1605]],[[64540,64540],"mapped",[1587,1580]],[[64541,64541],"mapped",[1587,1581]],[[64542,64542],"mapped",[1587,1582]],[[64543,64543],"mapped",[1587,1605]],[[64544,64544],"mapped",[1589,1581]],[[64545,64545],"mapped",[1589,1605]],[[64546,64546],"mapped",[1590,1580]],[[64547,64547],"mapped",[1590,1581]],[[64548,64548],"mapped",[1590,1582]],[[64549,64549],"mapped",[1590,1605]],[[64550,64550],"mapped",[1591,1581]],[[64551,64551],"mapped",[1591,1605]],[[64552,64552],"mapped",[1592,1605]],[[64553,64553],"mapped",[1593,1580]],[[64554,64554],"mapped",[1593,1605]],[[64555,64555],"mapped",[1594,1580]],[[64556,64556],"mapped",[1594,1605]],[[64557,64557],"mapped",[1601,1580]],[[64558,64558],"mapped",[1601,1581]],[[64559,64559],"mapped",[1601,1582]],[[64560,64560],"mapped",[1601,1605]],[[64561,64561],"mapped",[1601,1609]],[[64562,64562],"mapped",[1601,1610]],[[64563,64563],"mapped",[1602,1581]],[[64564,64564],"mapped",[1602,1605]],[[64565,64565],"mapped",[1602,1609]],[[64566,64566],"mapped",[1602,1610]],[[64567,64567],"mapped",[1603,1575]],[[64568,64568],"mapped",[1603,1580]],[[64569,64569],"mapped",[1603,1581]],[[64570,64570],"mapped",[1603,1582]],[[64571,64571],"mapped",[1603,1604]],[[64572,64572],"mapped",[1603,1605]],[[64573,64573],"mapped",[1603,1609]],[[64574,64574],"mapped",[1603,1610]],[[64575,64575],"mapped",[1604,1580]],[[64576,64576],"mapped",[1604,1581]],[[64577,64577],"mapped",[1604,1582]],[[64578,64578],"mapped",[1604,1605]],[[64579,64579],"mapped",[1604,1609]],[[64580,64580],"mapped",[1604,1610]],[[64581,64581],"mapped",[1605,1580]],[[64582,64582],"mapped",[1605,1581]],[[64583,64583],"mapped",[1605,1582]],[[64584,64584],"mapped",[1605,1605]],[[64585,64585],"mapped",[1605,1609]],[[64586,64586],"mapped",[1605,1610]],[[64587,64587],"mapped",[1606,1580]],[[64588,64588],"mapped",[1606,1581]],[[64589,64589],"mapped",[1606,1582]],[[64590,64590],"mapped",[1606,1605]],[[64591,64591],"mapped",[1606,1609]],[[64592,64592],"mapped",[1606,1610]],[[64593,64593],"mapped",[1607,1580]],[[64594,64594],"mapped",[1607,1605]],[[64595,64595],"mapped",[1607,1609]],[[64596,64596],"mapped",[1607,1610]],[[64597,64597],"mapped",[1610,1580]],[[64598,64598],"mapped",[1610,1581]],[[64599,64599],"mapped",[1610,1582]],[[64600,64600],"mapped",[1610,1605]],[[64601,64601],"mapped",[1610,1609]],[[64602,64602],"mapped",[1610,1610]],[[64603,64603],"mapped",[1584,1648]],[[64604,64604],"mapped",[1585,1648]],[[64605,64605],"mapped",[1609,1648]],[[64606,64606],"disallowed_STD3_mapped",[32,1612,1617]],[[64607,64607],"disallowed_STD3_mapped",[32,1613,1617]],[[64608,64608],"disallowed_STD3_mapped",[32,1614,1617]],[[64609,64609],"disallowed_STD3_mapped",[32,1615,1617]],[[64610,64610],"disallowed_STD3_mapped",[32,1616,1617]],[[64611,64611],"disallowed_STD3_mapped",[32,1617,1648]],[[64612,64612],"mapped",[1574,1585]],[[64613,64613],"mapped",[1574,1586]],[[64614,64614],"mapped",[1574,1605]],[[64615,64615],"mapped",[1574,1606]],[[64616,64616],"mapped",[1574,1609]],[[64617,64617],"mapped",[1574,1610]],[[64618,64618],"mapped",[1576,1585]],[[64619,64619],"mapped",[1576,1586]],[[64620,64620],"mapped",[1576,1605]],[[64621,64621],"mapped",[1576,1606]],[[64622,64622],"mapped",[1576,1609]],[[64623,64623],"mapped",[1576,1610]],[[64624,64624],"mapped",[1578,1585]],[[64625,64625],"mapped",[1578,1586]],[[64626,64626],"mapped",[1578,1605]],[[64627,64627],"mapped",[1578,1606]],[[64628,64628],"mapped",[1578,1609]],[[64629,64629],"mapped",[1578,1610]],[[64630,64630],"mapped",[1579,1585]],[[64631,64631],"mapped",[1579,1586]],[[64632,64632],"mapped",[1579,1605]],[[64633,64633],"mapped",[1579,1606]],[[64634,64634],"mapped",[1579,1609]],[[64635,64635],"mapped",[1579,1610]],[[64636,64636],"mapped",[1601,1609]],[[64637,64637],"mapped",[1601,1610]],[[64638,64638],"mapped",[1602,1609]],[[64639,64639],"mapped",[1602,1610]],[[64640,64640],"mapped",[1603,1575]],[[64641,64641],"mapped",[1603,1604]],[[64642,64642],"mapped",[1603,1605]],[[64643,64643],"mapped",[1603,1609]],[[64644,64644],"mapped",[1603,1610]],[[64645,64645],"mapped",[1604,1605]],[[64646,64646],"mapped",[1604,1609]],[[64647,64647],"mapped",[1604,1610]],[[64648,64648],"mapped",[1605,1575]],[[64649,64649],"mapped",[1605,1605]],[[64650,64650],"mapped",[1606,1585]],[[64651,64651],"mapped",[1606,1586]],[[64652,64652],"mapped",[1606,1605]],[[64653,64653],"mapped",[1606,1606]],[[64654,64654],"mapped",[1606,1609]],[[64655,64655],"mapped",[1606,1610]],[[64656,64656],"mapped",[1609,1648]],[[64657,64657],"mapped",[1610,1585]],[[64658,64658],"mapped",[1610,1586]],[[64659,64659],"mapped",[1610,1605]],[[64660,64660],"mapped",[1610,1606]],[[64661,64661],"mapped",[1610,1609]],[[64662,64662],"mapped",[1610,1610]],[[64663,64663],"mapped",[1574,1580]],[[64664,64664],"mapped",[1574,1581]],[[64665,64665],"mapped",[1574,1582]],[[64666,64666],"mapped",[1574,1605]],[[64667,64667],"mapped",[1574,1607]],[[64668,64668],"mapped",[1576,1580]],[[64669,64669],"mapped",[1576,1581]],[[64670,64670],"mapped",[1576,1582]],[[64671,64671],"mapped",[1576,1605]],[[64672,64672],"mapped",[1576,1607]],[[64673,64673],"mapped",[1578,1580]],[[64674,64674],"mapped",[1578,1581]],[[64675,64675],"mapped",[1578,1582]],[[64676,64676],"mapped",[1578,1605]],[[64677,64677],"mapped",[1578,1607]],[[64678,64678],"mapped",[1579,1605]],[[64679,64679],"mapped",[1580,1581]],[[64680,64680],"mapped",[1580,1605]],[[64681,64681],"mapped",[1581,1580]],[[64682,64682],"mapped",[1581,1605]],[[64683,64683],"mapped",[1582,1580]],[[64684,64684],"mapped",[1582,1605]],[[64685,64685],"mapped",[1587,1580]],[[64686,64686],"mapped",[1587,1581]],[[64687,64687],"mapped",[1587,1582]],[[64688,64688],"mapped",[1587,1605]],[[64689,64689],"mapped",[1589,1581]],[[64690,64690],"mapped",[1589,1582]],[[64691,64691],"mapped",[1589,1605]],[[64692,64692],"mapped",[1590,1580]],[[64693,64693],"mapped",[1590,1581]],[[64694,64694],"mapped",[1590,1582]],[[64695,64695],"mapped",[1590,1605]],[[64696,64696],"mapped",[1591,1581]],[[64697,64697],"mapped",[1592,1605]],[[64698,64698],"mapped",[1593,1580]],[[64699,64699],"mapped",[1593,1605]],[[64700,64700],"mapped",[1594,1580]],[[64701,64701],"mapped",[1594,1605]],[[64702,64702],"mapped",[1601,1580]],[[64703,64703],"mapped",[1601,1581]],[[64704,64704],"mapped",[1601,1582]],[[64705,64705],"mapped",[1601,1605]],[[64706,64706],"mapped",[1602,1581]],[[64707,64707],"mapped",[1602,1605]],[[64708,64708],"mapped",[1603,1580]],[[64709,64709],"mapped",[1603,1581]],[[64710,64710],"mapped",[1603,1582]],[[64711,64711],"mapped",[1603,1604]],[[64712,64712],"mapped",[1603,1605]],[[64713,64713],"mapped",[1604,1580]],[[64714,64714],"mapped",[1604,1581]],[[64715,64715],"mapped",[1604,1582]],[[64716,64716],"mapped",[1604,1605]],[[64717,64717],"mapped",[1604,1607]],[[64718,64718],"mapped",[1605,1580]],[[64719,64719],"mapped",[1605,1581]],[[64720,64720],"mapped",[1605,1582]],[[64721,64721],"mapped",[1605,1605]],[[64722,64722],"mapped",[1606,1580]],[[64723,64723],"mapped",[1606,1581]],[[64724,64724],"mapped",[1606,1582]],[[64725,64725],"mapped",[1606,1605]],[[64726,64726],"mapped",[1606,1607]],[[64727,64727],"mapped",[1607,1580]],[[64728,64728],"mapped",[1607,1605]],[[64729,64729],"mapped",[1607,1648]],[[64730,64730],"mapped",[1610,1580]],[[64731,64731],"mapped",[1610,1581]],[[64732,64732],"mapped",[1610,1582]],[[64733,64733],"mapped",[1610,1605]],[[64734,64734],"mapped",[1610,1607]],[[64735,64735],"mapped",[1574,1605]],[[64736,64736],"mapped",[1574,1607]],[[64737,64737],"mapped",[1576,1605]],[[64738,64738],"mapped",[1576,1607]],[[64739,64739],"mapped",[1578,1605]],[[64740,64740],"mapped",[1578,1607]],[[64741,64741],"mapped",[1579,1605]],[[64742,64742],"mapped",[1579,1607]],[[64743,64743],"mapped",[1587,1605]],[[64744,64744],"mapped",[1587,1607]],[[64745,64745],"mapped",[1588,1605]],[[64746,64746],"mapped",[1588,1607]],[[64747,64747],"mapped",[1603,1604]],[[64748,64748],"mapped",[1603,1605]],[[64749,64749],"mapped",[1604,1605]],[[64750,64750],"mapped",[1606,1605]],[[64751,64751],"mapped",[1606,1607]],[[64752,64752],"mapped",[1610,1605]],[[64753,64753],"mapped",[1610,1607]],[[64754,64754],"mapped",[1600,1614,1617]],[[64755,64755],"mapped",[1600,1615,1617]],[[64756,64756],"mapped",[1600,1616,1617]],[[64757,64757],"mapped",[1591,1609]],[[64758,64758],"mapped",[1591,1610]],[[64759,64759],"mapped",[1593,1609]],[[64760,64760],"mapped",[1593,1610]],[[64761,64761],"mapped",[1594,1609]],[[64762,64762],"mapped",[1594,1610]],[[64763,64763],"mapped",[1587,1609]],[[64764,64764],"mapped",[1587,1610]],[[64765,64765],"mapped",[1588,1609]],[[64766,64766],"mapped",[1588,1610]],[[64767,64767],"mapped",[1581,1609]],[[64768,64768],"mapped",[1581,1610]],[[64769,64769],"mapped",[1580,1609]],[[64770,64770],"mapped",[1580,1610]],[[64771,64771],"mapped",[1582,1609]],[[64772,64772],"mapped",[1582,1610]],[[64773,64773],"mapped",[1589,1609]],[[64774,64774],"mapped",[1589,1610]],[[64775,64775],"mapped",[1590,1609]],[[64776,64776],"mapped",[1590,1610]],[[64777,64777],"mapped",[1588,1580]],[[64778,64778],"mapped",[1588,1581]],[[64779,64779],"mapped",[1588,1582]],[[64780,64780],"mapped",[1588,1605]],[[64781,64781],"mapped",[1588,1585]],[[64782,64782],"mapped",[1587,1585]],[[64783,64783],"mapped",[1589,1585]],[[64784,64784],"mapped",[1590,1585]],[[64785,64785],"mapped",[1591,1609]],[[64786,64786],"mapped",[1591,1610]],[[64787,64787],"mapped",[1593,1609]],[[64788,64788],"mapped",[1593,1610]],[[64789,64789],"mapped",[1594,1609]],[[64790,64790],"mapped",[1594,1610]],[[64791,64791],"mapped",[1587,1609]],[[64792,64792],"mapped",[1587,1610]],[[64793,64793],"mapped",[1588,1609]],[[64794,64794],"mapped",[1588,1610]],[[64795,64795],"mapped",[1581,1609]],[[64796,64796],"mapped",[1581,1610]],[[64797,64797],"mapped",[1580,1609]],[[64798,64798],"mapped",[1580,1610]],[[64799,64799],"mapped",[1582,1609]],[[64800,64800],"mapped",[1582,1610]],[[64801,64801],"mapped",[1589,1609]],[[64802,64802],"mapped",[1589,1610]],[[64803,64803],"mapped",[1590,1609]],[[64804,64804],"mapped",[1590,1610]],[[64805,64805],"mapped",[1588,1580]],[[64806,64806],"mapped",[1588,1581]],[[64807,64807],"mapped",[1588,1582]],[[64808,64808],"mapped",[1588,1605]],[[64809,64809],"mapped",[1588,1585]],[[64810,64810],"mapped",[1587,1585]],[[64811,64811],"mapped",[1589,1585]],[[64812,64812],"mapped",[1590,1585]],[[64813,64813],"mapped",[1588,1580]],[[64814,64814],"mapped",[1588,1581]],[[64815,64815],"mapped",[1588,1582]],[[64816,64816],"mapped",[1588,1605]],[[64817,64817],"mapped",[1587,1607]],[[64818,64818],"mapped",[1588,1607]],[[64819,64819],"mapped",[1591,1605]],[[64820,64820],"mapped",[1587,1580]],[[64821,64821],"mapped",[1587,1581]],[[64822,64822],"mapped",[1587,1582]],[[64823,64823],"mapped",[1588,1580]],[[64824,64824],"mapped",[1588,1581]],[[64825,64825],"mapped",[1588,1582]],[[64826,64826],"mapped",[1591,1605]],[[64827,64827],"mapped",[1592,1605]],[[64828,64829],"mapped",[1575,1611]],[[64830,64831],"valid",[],"NV8"],[[64832,64847],"disallowed"],[[64848,64848],"mapped",[1578,1580,1605]],[[64849,64850],"mapped",[1578,1581,1580]],[[64851,64851],"mapped",[1578,1581,1605]],[[64852,64852],"mapped",[1578,1582,1605]],[[64853,64853],"mapped",[1578,1605,1580]],[[64854,64854],"mapped",[1578,1605,1581]],[[64855,64855],"mapped",[1578,1605,1582]],[[64856,64857],"mapped",[1580,1605,1581]],[[64858,64858],"mapped",[1581,1605,1610]],[[64859,64859],"mapped",[1581,1605,1609]],[[64860,64860],"mapped",[1587,1581,1580]],[[64861,64861],"mapped",[1587,1580,1581]],[[64862,64862],"mapped",[1587,1580,1609]],[[64863,64864],"mapped",[1587,1605,1581]],[[64865,64865],"mapped",[1587,1605,1580]],[[64866,64867],"mapped",[1587,1605,1605]],[[64868,64869],"mapped",[1589,1581,1581]],[[64870,64870],"mapped",[1589,1605,1605]],[[64871,64872],"mapped",[1588,1581,1605]],[[64873,64873],"mapped",[1588,1580,1610]],[[64874,64875],"mapped",[1588,1605,1582]],[[64876,64877],"mapped",[1588,1605,1605]],[[64878,64878],"mapped",[1590,1581,1609]],[[64879,64880],"mapped",[1590,1582,1605]],[[64881,64882],"mapped",[1591,1605,1581]],[[64883,64883],"mapped",[1591,1605,1605]],[[64884,64884],"mapped",[1591,1605,1610]],[[64885,64885],"mapped",[1593,1580,1605]],[[64886,64887],"mapped",[1593,1605,1605]],[[64888,64888],"mapped",[1593,1605,1609]],[[64889,64889],"mapped",[1594,1605,1605]],[[64890,64890],"mapped",[1594,1605,1610]],[[64891,64891],"mapped",[1594,1605,1609]],[[64892,64893],"mapped",[1601,1582,1605]],[[64894,64894],"mapped",[1602,1605,1581]],[[64895,64895],"mapped",[1602,1605,1605]],[[64896,64896],"mapped",[1604,1581,1605]],[[64897,64897],"mapped",[1604,1581,1610]],[[64898,64898],"mapped",[1604,1581,1609]],[[64899,64900],"mapped",[1604,1580,1580]],[[64901,64902],"mapped",[1604,1582,1605]],[[64903,64904],"mapped",[1604,1605,1581]],[[64905,64905],"mapped",[1605,1581,1580]],[[64906,64906],"mapped",[1605,1581,1605]],[[64907,64907],"mapped",[1605,1581,1610]],[[64908,64908],"mapped",[1605,1580,1581]],[[64909,64909],"mapped",[1605,1580,1605]],[[64910,64910],"mapped",[1605,1582,1580]],[[64911,64911],"mapped",[1605,1582,1605]],[[64912,64913],"disallowed"],[[64914,64914],"mapped",[1605,1580,1582]],[[64915,64915],"mapped",[1607,1605,1580]],[[64916,64916],"mapped",[1607,1605,1605]],[[64917,64917],"mapped",[1606,1581,1605]],[[64918,64918],"mapped",[1606,1581,1609]],[[64919,64920],"mapped",[1606,1580,1605]],[[64921,64921],"mapped",[1606,1580,1609]],[[64922,64922],"mapped",[1606,1605,1610]],[[64923,64923],"mapped",[1606,1605,1609]],[[64924,64925],"mapped",[1610,1605,1605]],[[64926,64926],"mapped",[1576,1582,1610]],[[64927,64927],"mapped",[1578,1580,1610]],[[64928,64928],"mapped",[1578,1580,1609]],[[64929,64929],"mapped",[1578,1582,1610]],[[64930,64930],"mapped",[1578,1582,1609]],[[64931,64931],"mapped",[1578,1605,1610]],[[64932,64932],"mapped",[1578,1605,1609]],[[64933,64933],"mapped",[1580,1605,1610]],[[64934,64934],"mapped",[1580,1581,1609]],[[64935,64935],"mapped",[1580,1605,1609]],[[64936,64936],"mapped",[1587,1582,1609]],[[64937,64937],"mapped",[1589,1581,1610]],[[64938,64938],"mapped",[1588,1581,1610]],[[64939,64939],"mapped",[1590,1581,1610]],[[64940,64940],"mapped",[1604,1580,1610]],[[64941,64941],"mapped",[1604,1605,1610]],[[64942,64942],"mapped",[1610,1581,1610]],[[64943,64943],"mapped",[1610,1580,1610]],[[64944,64944],"mapped",[1610,1605,1610]],[[64945,64945],"mapped",[1605,1605,1610]],[[64946,64946],"mapped",[1602,1605,1610]],[[64947,64947],"mapped",[1606,1581,1610]],[[64948,64948],"mapped",[1602,1605,1581]],[[64949,64949],"mapped",[1604,1581,1605]],[[64950,64950],"mapped",[1593,1605,1610]],[[64951,64951],"mapped",[1603,1605,1610]],[[64952,64952],"mapped",[1606,1580,1581]],[[64953,64953],"mapped",[1605,1582,1610]],[[64954,64954],"mapped",[1604,1580,1605]],[[64955,64955],"mapped",[1603,1605,1605]],[[64956,64956],"mapped",[1604,1580,1605]],[[64957,64957],"mapped",[1606,1580,1581]],[[64958,64958],"mapped",[1580,1581,1610]],[[64959,64959],"mapped",[1581,1580,1610]],[[64960,64960],"mapped",[1605,1580,1610]],[[64961,64961],"mapped",[1601,1605,1610]],[[64962,64962],"mapped",[1576,1581,1610]],[[64963,64963],"mapped",[1603,1605,1605]],[[64964,64964],"mapped",[1593,1580,1605]],[[64965,64965],"mapped",[1589,1605,1605]],[[64966,64966],"mapped",[1587,1582,1610]],[[64967,64967],"mapped",[1606,1580,1610]],[[64968,64975],"disallowed"],[[64976,65007],"disallowed"],[[65008,65008],"mapped",[1589,1604,1746]],[[65009,65009],"mapped",[1602,1604,1746]],[[65010,65010],"mapped",[1575,1604,1604,1607]],[[65011,65011],"mapped",[1575,1603,1576,1585]],[[65012,65012],"mapped",[1605,1581,1605,1583]],[[65013,65013],"mapped",[1589,1604,1593,1605]],[[65014,65014],"mapped",[1585,1587,1608,1604]],[[65015,65015],"mapped",[1593,1604,1610,1607]],[[65016,65016],"mapped",[1608,1587,1604,1605]],[[65017,65017],"mapped",[1589,1604,1609]],[[65018,65018],"disallowed_STD3_mapped",[1589,1604,1609,32,1575,1604,1604,1607,32,1593,1604,1610,1607,32,1608,1587,1604,1605]],[[65019,65019],"disallowed_STD3_mapped",[1580,1604,32,1580,1604,1575,1604,1607]],[[65020,65020],"mapped",[1585,1740,1575,1604]],[[65021,65021],"valid",[],"NV8"],[[65022,65023],"disallowed"],[[65024,65039],"ignored"],[[65040,65040],"disallowed_STD3_mapped",[44]],[[65041,65041],"mapped",[12289]],[[65042,65042],"disallowed"],[[65043,65043],"disallowed_STD3_mapped",[58]],[[65044,65044],"disallowed_STD3_mapped",[59]],[[65045,65045],"disallowed_STD3_mapped",[33]],[[65046,65046],"disallowed_STD3_mapped",[63]],[[65047,65047],"mapped",[12310]],[[65048,65048],"mapped",[12311]],[[65049,65049],"disallowed"],[[65050,65055],"disallowed"],[[65056,65059],"valid"],[[65060,65062],"valid"],[[65063,65069],"valid"],[[65070,65071],"valid"],[[65072,65072],"disallowed"],[[65073,65073],"mapped",[8212]],[[65074,65074],"mapped",[8211]],[[65075,65076],"disallowed_STD3_mapped",[95]],[[65077,65077],"disallowed_STD3_mapped",[40]],[[65078,65078],"disallowed_STD3_mapped",[41]],[[65079,65079],"disallowed_STD3_mapped",[123]],[[65080,65080],"disallowed_STD3_mapped",[125]],[[65081,65081],"mapped",[12308]],[[65082,65082],"mapped",[12309]],[[65083,65083],"mapped",[12304]],[[65084,65084],"mapped",[12305]],[[65085,65085],"mapped",[12298]],[[65086,65086],"mapped",[12299]],[[65087,65087],"mapped",[12296]],[[65088,65088],"mapped",[12297]],[[65089,65089],"mapped",[12300]],[[65090,65090],"mapped",[12301]],[[65091,65091],"mapped",[12302]],[[65092,65092],"mapped",[12303]],[[65093,65094],"valid",[],"NV8"],[[65095,65095],"disallowed_STD3_mapped",[91]],[[65096,65096],"disallowed_STD3_mapped",[93]],[[65097,65100],"disallowed_STD3_mapped",[32,773]],[[65101,65103],"disallowed_STD3_mapped",[95]],[[65104,65104],"disallowed_STD3_mapped",[44]],[[65105,65105],"mapped",[12289]],[[65106,65106],"disallowed"],[[65107,65107],"disallowed"],[[65108,65108],"disallowed_STD3_mapped",[59]],[[65109,65109],"disallowed_STD3_mapped",[58]],[[65110,65110],"disallowed_STD3_mapped",[63]],[[65111,65111],"disallowed_STD3_mapped",[33]],[[65112,65112],"mapped",[8212]],[[65113,65113],"disallowed_STD3_mapped",[40]],[[65114,65114],"disallowed_STD3_mapped",[41]],[[65115,65115],"disallowed_STD3_mapped",[123]],[[65116,65116],"disallowed_STD3_mapped",[125]],[[65117,65117],"mapped",[12308]],[[65118,65118],"mapped",[12309]],[[65119,65119],"disallowed_STD3_mapped",[35]],[[65120,65120],"disallowed_STD3_mapped",[38]],[[65121,65121],"disallowed_STD3_mapped",[42]],[[65122,65122],"disallowed_STD3_mapped",[43]],[[65123,65123],"mapped",[45]],[[65124,65124],"disallowed_STD3_mapped",[60]],[[65125,65125],"disallowed_STD3_mapped",[62]],[[65126,65126],"disallowed_STD3_mapped",[61]],[[65127,65127],"disallowed"],[[65128,65128],"disallowed_STD3_mapped",[92]],[[65129,65129],"disallowed_STD3_mapped",[36]],[[65130,65130],"disallowed_STD3_mapped",[37]],[[65131,65131],"disallowed_STD3_mapped",[64]],[[65132,65135],"disallowed"],[[65136,65136],"disallowed_STD3_mapped",[32,1611]],[[65137,65137],"mapped",[1600,1611]],[[65138,65138],"disallowed_STD3_mapped",[32,1612]],[[65139,65139],"valid"],[[65140,65140],"disallowed_STD3_mapped",[32,1613]],[[65141,65141],"disallowed"],[[65142,65142],"disallowed_STD3_mapped",[32,1614]],[[65143,65143],"mapped",[1600,1614]],[[65144,65144],"disallowed_STD3_mapped",[32,1615]],[[65145,65145],"mapped",[1600,1615]],[[65146,65146],"disallowed_STD3_mapped",[32,1616]],[[65147,65147],"mapped",[1600,1616]],[[65148,65148],"disallowed_STD3_mapped",[32,1617]],[[65149,65149],"mapped",[1600,1617]],[[65150,65150],"disallowed_STD3_mapped",[32,1618]],[[65151,65151],"mapped",[1600,1618]],[[65152,65152],"mapped",[1569]],[[65153,65154],"mapped",[1570]],[[65155,65156],"mapped",[1571]],[[65157,65158],"mapped",[1572]],[[65159,65160],"mapped",[1573]],[[65161,65164],"mapped",[1574]],[[65165,65166],"mapped",[1575]],[[65167,65170],"mapped",[1576]],[[65171,65172],"mapped",[1577]],[[65173,65176],"mapped",[1578]],[[65177,65180],"mapped",[1579]],[[65181,65184],"mapped",[1580]],[[65185,65188],"mapped",[1581]],[[65189,65192],"mapped",[1582]],[[65193,65194],"mapped",[1583]],[[65195,65196],"mapped",[1584]],[[65197,65198],"mapped",[1585]],[[65199,65200],"mapped",[1586]],[[65201,65204],"mapped",[1587]],[[65205,65208],"mapped",[1588]],[[65209,65212],"mapped",[1589]],[[65213,65216],"mapped",[1590]],[[65217,65220],"mapped",[1591]],[[65221,65224],"mapped",[1592]],[[65225,65228],"mapped",[1593]],[[65229,65232],"mapped",[1594]],[[65233,65236],"mapped",[1601]],[[65237,65240],"mapped",[1602]],[[65241,65244],"mapped",[1603]],[[65245,65248],"mapped",[1604]],[[65249,65252],"mapped",[1605]],[[65253,65256],"mapped",[1606]],[[65257,65260],"mapped",[1607]],[[65261,65262],"mapped",[1608]],[[65263,65264],"mapped",[1609]],[[65265,65268],"mapped",[1610]],[[65269,65270],"mapped",[1604,1570]],[[65271,65272],"mapped",[1604,1571]],[[65273,65274],"mapped",[1604,1573]],[[65275,65276],"mapped",[1604,1575]],[[65277,65278],"disallowed"],[[65279,65279],"ignored"],[[65280,65280],"disallowed"],[[65281,65281],"disallowed_STD3_mapped",[33]],[[65282,65282],"disallowed_STD3_mapped",[34]],[[65283,65283],"disallowed_STD3_mapped",[35]],[[65284,65284],"disallowed_STD3_mapped",[36]],[[65285,65285],"disallowed_STD3_mapped",[37]],[[65286,65286],"disallowed_STD3_mapped",[38]],[[65287,65287],"disallowed_STD3_mapped",[39]],[[65288,65288],"disallowed_STD3_mapped",[40]],[[65289,65289],"disallowed_STD3_mapped",[41]],[[65290,65290],"disallowed_STD3_mapped",[42]],[[65291,65291],"disallowed_STD3_mapped",[43]],[[65292,65292],"disallowed_STD3_mapped",[44]],[[65293,65293],"mapped",[45]],[[65294,65294],"mapped",[46]],[[65295,65295],"disallowed_STD3_mapped",[47]],[[65296,65296],"mapped",[48]],[[65297,65297],"mapped",[49]],[[65298,65298],"mapped",[50]],[[65299,65299],"mapped",[51]],[[65300,65300],"mapped",[52]],[[65301,65301],"mapped",[53]],[[65302,65302],"mapped",[54]],[[65303,65303],"mapped",[55]],[[65304,65304],"mapped",[56]],[[65305,65305],"mapped",[57]],[[65306,65306],"disallowed_STD3_mapped",[58]],[[65307,65307],"disallowed_STD3_mapped",[59]],[[65308,65308],"disallowed_STD3_mapped",[60]],[[65309,65309],"disallowed_STD3_mapped",[61]],[[65310,65310],"disallowed_STD3_mapped",[62]],[[65311,65311],"disallowed_STD3_mapped",[63]],[[65312,65312],"disallowed_STD3_mapped",[64]],[[65313,65313],"mapped",[97]],[[65314,65314],"mapped",[98]],[[65315,65315],"mapped",[99]],[[65316,65316],"mapped",[100]],[[65317,65317],"mapped",[101]],[[65318,65318],"mapped",[102]],[[65319,65319],"mapped",[103]],[[65320,65320],"mapped",[104]],[[65321,65321],"mapped",[105]],[[65322,65322],"mapped",[106]],[[65323,65323],"mapped",[107]],[[65324,65324],"mapped",[108]],[[65325,65325],"mapped",[109]],[[65326,65326],"mapped",[110]],[[65327,65327],"mapped",[111]],[[65328,65328],"mapped",[112]],[[65329,65329],"mapped",[113]],[[65330,65330],"mapped",[114]],[[65331,65331],"mapped",[115]],[[65332,65332],"mapped",[116]],[[65333,65333],"mapped",[117]],[[65334,65334],"mapped",[118]],[[65335,65335],"mapped",[119]],[[65336,65336],"mapped",[120]],[[65337,65337],"mapped",[121]],[[65338,65338],"mapped",[122]],[[65339,65339],"disallowed_STD3_mapped",[91]],[[65340,65340],"disallowed_STD3_mapped",[92]],[[65341,65341],"disallowed_STD3_mapped",[93]],[[65342,65342],"disallowed_STD3_mapped",[94]],[[65343,65343],"disallowed_STD3_mapped",[95]],[[65344,65344],"disallowed_STD3_mapped",[96]],[[65345,65345],"mapped",[97]],[[65346,65346],"mapped",[98]],[[65347,65347],"mapped",[99]],[[65348,65348],"mapped",[100]],[[65349,65349],"mapped",[101]],[[65350,65350],"mapped",[102]],[[65351,65351],"mapped",[103]],[[65352,65352],"mapped",[104]],[[65353,65353],"mapped",[105]],[[65354,65354],"mapped",[106]],[[65355,65355],"mapped",[107]],[[65356,65356],"mapped",[108]],[[65357,65357],"mapped",[109]],[[65358,65358],"mapped",[110]],[[65359,65359],"mapped",[111]],[[65360,65360],"mapped",[112]],[[65361,65361],"mapped",[113]],[[65362,65362],"mapped",[114]],[[65363,65363],"mapped",[115]],[[65364,65364],"mapped",[116]],[[65365,65365],"mapped",[117]],[[65366,65366],"mapped",[118]],[[65367,65367],"mapped",[119]],[[65368,65368],"mapped",[120]],[[65369,65369],"mapped",[121]],[[65370,65370],"mapped",[122]],[[65371,65371],"disallowed_STD3_mapped",[123]],[[65372,65372],"disallowed_STD3_mapped",[124]],[[65373,65373],"disallowed_STD3_mapped",[125]],[[65374,65374],"disallowed_STD3_mapped",[126]],[[65375,65375],"mapped",[10629]],[[65376,65376],"mapped",[10630]],[[65377,65377],"mapped",[46]],[[65378,65378],"mapped",[12300]],[[65379,65379],"mapped",[12301]],[[65380,65380],"mapped",[12289]],[[65381,65381],"mapped",[12539]],[[65382,65382],"mapped",[12530]],[[65383,65383],"mapped",[12449]],[[65384,65384],"mapped",[12451]],[[65385,65385],"mapped",[12453]],[[65386,65386],"mapped",[12455]],[[65387,65387],"mapped",[12457]],[[65388,65388],"mapped",[12515]],[[65389,65389],"mapped",[12517]],[[65390,65390],"mapped",[12519]],[[65391,65391],"mapped",[12483]],[[65392,65392],"mapped",[12540]],[[65393,65393],"mapped",[12450]],[[65394,65394],"mapped",[12452]],[[65395,65395],"mapped",[12454]],[[65396,65396],"mapped",[12456]],[[65397,65397],"mapped",[12458]],[[65398,65398],"mapped",[12459]],[[65399,65399],"mapped",[12461]],[[65400,65400],"mapped",[12463]],[[65401,65401],"mapped",[12465]],[[65402,65402],"mapped",[12467]],[[65403,65403],"mapped",[12469]],[[65404,65404],"mapped",[12471]],[[65405,65405],"mapped",[12473]],[[65406,65406],"mapped",[12475]],[[65407,65407],"mapped",[12477]],[[65408,65408],"mapped",[12479]],[[65409,65409],"mapped",[12481]],[[65410,65410],"mapped",[12484]],[[65411,65411],"mapped",[12486]],[[65412,65412],"mapped",[12488]],[[65413,65413],"mapped",[12490]],[[65414,65414],"mapped",[12491]],[[65415,65415],"mapped",[12492]],[[65416,65416],"mapped",[12493]],[[65417,65417],"mapped",[12494]],[[65418,65418],"mapped",[12495]],[[65419,65419],"mapped",[12498]],[[65420,65420],"mapped",[12501]],[[65421,65421],"mapped",[12504]],[[65422,65422],"mapped",[12507]],[[65423,65423],"mapped",[12510]],[[65424,65424],"mapped",[12511]],[[65425,65425],"mapped",[12512]],[[65426,65426],"mapped",[12513]],[[65427,65427],"mapped",[12514]],[[65428,65428],"mapped",[12516]],[[65429,65429],"mapped",[12518]],[[65430,65430],"mapped",[12520]],[[65431,65431],"mapped",[12521]],[[65432,65432],"mapped",[12522]],[[65433,65433],"mapped",[12523]],[[65434,65434],"mapped",[12524]],[[65435,65435],"mapped",[12525]],[[65436,65436],"mapped",[12527]],[[65437,65437],"mapped",[12531]],[[65438,65438],"mapped",[12441]],[[65439,65439],"mapped",[12442]],[[65440,65440],"disallowed"],[[65441,65441],"mapped",[4352]],[[65442,65442],"mapped",[4353]],[[65443,65443],"mapped",[4522]],[[65444,65444],"mapped",[4354]],[[65445,65445],"mapped",[4524]],[[65446,65446],"mapped",[4525]],[[65447,65447],"mapped",[4355]],[[65448,65448],"mapped",[4356]],[[65449,65449],"mapped",[4357]],[[65450,65450],"mapped",[4528]],[[65451,65451],"mapped",[4529]],[[65452,65452],"mapped",[4530]],[[65453,65453],"mapped",[4531]],[[65454,65454],"mapped",[4532]],[[65455,65455],"mapped",[4533]],[[65456,65456],"mapped",[4378]],[[65457,65457],"mapped",[4358]],[[65458,65458],"mapped",[4359]],[[65459,65459],"mapped",[4360]],[[65460,65460],"mapped",[4385]],[[65461,65461],"mapped",[4361]],[[65462,65462],"mapped",[4362]],[[65463,65463],"mapped",[4363]],[[65464,65464],"mapped",[4364]],[[65465,65465],"mapped",[4365]],[[65466,65466],"mapped",[4366]],[[65467,65467],"mapped",[4367]],[[65468,65468],"mapped",[4368]],[[65469,65469],"mapped",[4369]],[[65470,65470],"mapped",[4370]],[[65471,65473],"disallowed"],[[65474,65474],"mapped",[4449]],[[65475,65475],"mapped",[4450]],[[65476,65476],"mapped",[4451]],[[65477,65477],"mapped",[4452]],[[65478,65478],"mapped",[4453]],[[65479,65479],"mapped",[4454]],[[65480,65481],"disallowed"],[[65482,65482],"mapped",[4455]],[[65483,65483],"mapped",[4456]],[[65484,65484],"mapped",[4457]],[[65485,65485],"mapped",[4458]],[[65486,65486],"mapped",[4459]],[[65487,65487],"mapped",[4460]],[[65488,65489],"disallowed"],[[65490,65490],"mapped",[4461]],[[65491,65491],"mapped",[4462]],[[65492,65492],"mapped",[4463]],[[65493,65493],"mapped",[4464]],[[65494,65494],"mapped",[4465]],[[65495,65495],"mapped",[4466]],[[65496,65497],"disallowed"],[[65498,65498],"mapped",[4467]],[[65499,65499],"mapped",[4468]],[[65500,65500],"mapped",[4469]],[[65501,65503],"disallowed"],[[65504,65504],"mapped",[162]],[[65505,65505],"mapped",[163]],[[65506,65506],"mapped",[172]],[[65507,65507],"disallowed_STD3_mapped",[32,772]],[[65508,65508],"mapped",[166]],[[65509,65509],"mapped",[165]],[[65510,65510],"mapped",[8361]],[[65511,65511],"disallowed"],[[65512,65512],"mapped",[9474]],[[65513,65513],"mapped",[8592]],[[65514,65514],"mapped",[8593]],[[65515,65515],"mapped",[8594]],[[65516,65516],"mapped",[8595]],[[65517,65517],"mapped",[9632]],[[65518,65518],"mapped",[9675]],[[65519,65528],"disallowed"],[[65529,65531],"disallowed"],[[65532,65532],"disallowed"],[[65533,65533],"disallowed"],[[65534,65535],"disallowed"],[[65536,65547],"valid"],[[65548,65548],"disallowed"],[[65549,65574],"valid"],[[65575,65575],"disallowed"],[[65576,65594],"valid"],[[65595,65595],"disallowed"],[[65596,65597],"valid"],[[65598,65598],"disallowed"],[[65599,65613],"valid"],[[65614,65615],"disallowed"],[[65616,65629],"valid"],[[65630,65663],"disallowed"],[[65664,65786],"valid"],[[65787,65791],"disallowed"],[[65792,65794],"valid",[],"NV8"],[[65795,65798],"disallowed"],[[65799,65843],"valid",[],"NV8"],[[65844,65846],"disallowed"],[[65847,65855],"valid",[],"NV8"],[[65856,65930],"valid",[],"NV8"],[[65931,65932],"valid",[],"NV8"],[[65933,65935],"disallowed"],[[65936,65947],"valid",[],"NV8"],[[65948,65951],"disallowed"],[[65952,65952],"valid",[],"NV8"],[[65953,65999],"disallowed"],[[66e3,66044],"valid",[],"NV8"],[[66045,66045],"valid"],[[66046,66175],"disallowed"],[[66176,66204],"valid"],[[66205,66207],"disallowed"],[[66208,66256],"valid"],[[66257,66271],"disallowed"],[[66272,66272],"valid"],[[66273,66299],"valid",[],"NV8"],[[66300,66303],"disallowed"],[[66304,66334],"valid"],[[66335,66335],"valid"],[[66336,66339],"valid",[],"NV8"],[[66340,66351],"disallowed"],[[66352,66368],"valid"],[[66369,66369],"valid",[],"NV8"],[[66370,66377],"valid"],[[66378,66378],"valid",[],"NV8"],[[66379,66383],"disallowed"],[[66384,66426],"valid"],[[66427,66431],"disallowed"],[[66432,66461],"valid"],[[66462,66462],"disallowed"],[[66463,66463],"valid",[],"NV8"],[[66464,66499],"valid"],[[66500,66503],"disallowed"],[[66504,66511],"valid"],[[66512,66517],"valid",[],"NV8"],[[66518,66559],"disallowed"],[[66560,66560],"mapped",[66600]],[[66561,66561],"mapped",[66601]],[[66562,66562],"mapped",[66602]],[[66563,66563],"mapped",[66603]],[[66564,66564],"mapped",[66604]],[[66565,66565],"mapped",[66605]],[[66566,66566],"mapped",[66606]],[[66567,66567],"mapped",[66607]],[[66568,66568],"mapped",[66608]],[[66569,66569],"mapped",[66609]],[[66570,66570],"mapped",[66610]],[[66571,66571],"mapped",[66611]],[[66572,66572],"mapped",[66612]],[[66573,66573],"mapped",[66613]],[[66574,66574],"mapped",[66614]],[[66575,66575],"mapped",[66615]],[[66576,66576],"mapped",[66616]],[[66577,66577],"mapped",[66617]],[[66578,66578],"mapped",[66618]],[[66579,66579],"mapped",[66619]],[[66580,66580],"mapped",[66620]],[[66581,66581],"mapped",[66621]],[[66582,66582],"mapped",[66622]],[[66583,66583],"mapped",[66623]],[[66584,66584],"mapped",[66624]],[[66585,66585],"mapped",[66625]],[[66586,66586],"mapped",[66626]],[[66587,66587],"mapped",[66627]],[[66588,66588],"mapped",[66628]],[[66589,66589],"mapped",[66629]],[[66590,66590],"mapped",[66630]],[[66591,66591],"mapped",[66631]],[[66592,66592],"mapped",[66632]],[[66593,66593],"mapped",[66633]],[[66594,66594],"mapped",[66634]],[[66595,66595],"mapped",[66635]],[[66596,66596],"mapped",[66636]],[[66597,66597],"mapped",[66637]],[[66598,66598],"mapped",[66638]],[[66599,66599],"mapped",[66639]],[[66600,66637],"valid"],[[66638,66717],"valid"],[[66718,66719],"disallowed"],[[66720,66729],"valid"],[[66730,66815],"disallowed"],[[66816,66855],"valid"],[[66856,66863],"disallowed"],[[66864,66915],"valid"],[[66916,66926],"disallowed"],[[66927,66927],"valid",[],"NV8"],[[66928,67071],"disallowed"],[[67072,67382],"valid"],[[67383,67391],"disallowed"],[[67392,67413],"valid"],[[67414,67423],"disallowed"],[[67424,67431],"valid"],[[67432,67583],"disallowed"],[[67584,67589],"valid"],[[67590,67591],"disallowed"],[[67592,67592],"valid"],[[67593,67593],"disallowed"],[[67594,67637],"valid"],[[67638,67638],"disallowed"],[[67639,67640],"valid"],[[67641,67643],"disallowed"],[[67644,67644],"valid"],[[67645,67646],"disallowed"],[[67647,67647],"valid"],[[67648,67669],"valid"],[[67670,67670],"disallowed"],[[67671,67679],"valid",[],"NV8"],[[67680,67702],"valid"],[[67703,67711],"valid",[],"NV8"],[[67712,67742],"valid"],[[67743,67750],"disallowed"],[[67751,67759],"valid",[],"NV8"],[[67760,67807],"disallowed"],[[67808,67826],"valid"],[[67827,67827],"disallowed"],[[67828,67829],"valid"],[[67830,67834],"disallowed"],[[67835,67839],"valid",[],"NV8"],[[67840,67861],"valid"],[[67862,67865],"valid",[],"NV8"],[[67866,67867],"valid",[],"NV8"],[[67868,67870],"disallowed"],[[67871,67871],"valid",[],"NV8"],[[67872,67897],"valid"],[[67898,67902],"disallowed"],[[67903,67903],"valid",[],"NV8"],[[67904,67967],"disallowed"],[[67968,68023],"valid"],[[68024,68027],"disallowed"],[[68028,68029],"valid",[],"NV8"],[[68030,68031],"valid"],[[68032,68047],"valid",[],"NV8"],[[68048,68049],"disallowed"],[[68050,68095],"valid",[],"NV8"],[[68096,68099],"valid"],[[68100,68100],"disallowed"],[[68101,68102],"valid"],[[68103,68107],"disallowed"],[[68108,68115],"valid"],[[68116,68116],"disallowed"],[[68117,68119],"valid"],[[68120,68120],"disallowed"],[[68121,68147],"valid"],[[68148,68151],"disallowed"],[[68152,68154],"valid"],[[68155,68158],"disallowed"],[[68159,68159],"valid"],[[68160,68167],"valid",[],"NV8"],[[68168,68175],"disallowed"],[[68176,68184],"valid",[],"NV8"],[[68185,68191],"disallowed"],[[68192,68220],"valid"],[[68221,68223],"valid",[],"NV8"],[[68224,68252],"valid"],[[68253,68255],"valid",[],"NV8"],[[68256,68287],"disallowed"],[[68288,68295],"valid"],[[68296,68296],"valid",[],"NV8"],[[68297,68326],"valid"],[[68327,68330],"disallowed"],[[68331,68342],"valid",[],"NV8"],[[68343,68351],"disallowed"],[[68352,68405],"valid"],[[68406,68408],"disallowed"],[[68409,68415],"valid",[],"NV8"],[[68416,68437],"valid"],[[68438,68439],"disallowed"],[[68440,68447],"valid",[],"NV8"],[[68448,68466],"valid"],[[68467,68471],"disallowed"],[[68472,68479],"valid",[],"NV8"],[[68480,68497],"valid"],[[68498,68504],"disallowed"],[[68505,68508],"valid",[],"NV8"],[[68509,68520],"disallowed"],[[68521,68527],"valid",[],"NV8"],[[68528,68607],"disallowed"],[[68608,68680],"valid"],[[68681,68735],"disallowed"],[[68736,68736],"mapped",[68800]],[[68737,68737],"mapped",[68801]],[[68738,68738],"mapped",[68802]],[[68739,68739],"mapped",[68803]],[[68740,68740],"mapped",[68804]],[[68741,68741],"mapped",[68805]],[[68742,68742],"mapped",[68806]],[[68743,68743],"mapped",[68807]],[[68744,68744],"mapped",[68808]],[[68745,68745],"mapped",[68809]],[[68746,68746],"mapped",[68810]],[[68747,68747],"mapped",[68811]],[[68748,68748],"mapped",[68812]],[[68749,68749],"mapped",[68813]],[[68750,68750],"mapped",[68814]],[[68751,68751],"mapped",[68815]],[[68752,68752],"mapped",[68816]],[[68753,68753],"mapped",[68817]],[[68754,68754],"mapped",[68818]],[[68755,68755],"mapped",[68819]],[[68756,68756],"mapped",[68820]],[[68757,68757],"mapped",[68821]],[[68758,68758],"mapped",[68822]],[[68759,68759],"mapped",[68823]],[[68760,68760],"mapped",[68824]],[[68761,68761],"mapped",[68825]],[[68762,68762],"mapped",[68826]],[[68763,68763],"mapped",[68827]],[[68764,68764],"mapped",[68828]],[[68765,68765],"mapped",[68829]],[[68766,68766],"mapped",[68830]],[[68767,68767],"mapped",[68831]],[[68768,68768],"mapped",[68832]],[[68769,68769],"mapped",[68833]],[[68770,68770],"mapped",[68834]],[[68771,68771],"mapped",[68835]],[[68772,68772],"mapped",[68836]],[[68773,68773],"mapped",[68837]],[[68774,68774],"mapped",[68838]],[[68775,68775],"mapped",[68839]],[[68776,68776],"mapped",[68840]],[[68777,68777],"mapped",[68841]],[[68778,68778],"mapped",[68842]],[[68779,68779],"mapped",[68843]],[[68780,68780],"mapped",[68844]],[[68781,68781],"mapped",[68845]],[[68782,68782],"mapped",[68846]],[[68783,68783],"mapped",[68847]],[[68784,68784],"mapped",[68848]],[[68785,68785],"mapped",[68849]],[[68786,68786],"mapped",[68850]],[[68787,68799],"disallowed"],[[68800,68850],"valid"],[[68851,68857],"disallowed"],[[68858,68863],"valid",[],"NV8"],[[68864,69215],"disallowed"],[[69216,69246],"valid",[],"NV8"],[[69247,69631],"disallowed"],[[69632,69702],"valid"],[[69703,69709],"valid",[],"NV8"],[[69710,69713],"disallowed"],[[69714,69733],"valid",[],"NV8"],[[69734,69743],"valid"],[[69744,69758],"disallowed"],[[69759,69759],"valid"],[[69760,69818],"valid"],[[69819,69820],"valid",[],"NV8"],[[69821,69821],"disallowed"],[[69822,69825],"valid",[],"NV8"],[[69826,69839],"disallowed"],[[69840,69864],"valid"],[[69865,69871],"disallowed"],[[69872,69881],"valid"],[[69882,69887],"disallowed"],[[69888,69940],"valid"],[[69941,69941],"disallowed"],[[69942,69951],"valid"],[[69952,69955],"valid",[],"NV8"],[[69956,69967],"disallowed"],[[69968,70003],"valid"],[[70004,70005],"valid",[],"NV8"],[[70006,70006],"valid"],[[70007,70015],"disallowed"],[[70016,70084],"valid"],[[70085,70088],"valid",[],"NV8"],[[70089,70089],"valid",[],"NV8"],[[70090,70092],"valid"],[[70093,70093],"valid",[],"NV8"],[[70094,70095],"disallowed"],[[70096,70105],"valid"],[[70106,70106],"valid"],[[70107,70107],"valid",[],"NV8"],[[70108,70108],"valid"],[[70109,70111],"valid",[],"NV8"],[[70112,70112],"disallowed"],[[70113,70132],"valid",[],"NV8"],[[70133,70143],"disallowed"],[[70144,70161],"valid"],[[70162,70162],"disallowed"],[[70163,70199],"valid"],[[70200,70205],"valid",[],"NV8"],[[70206,70271],"disallowed"],[[70272,70278],"valid"],[[70279,70279],"disallowed"],[[70280,70280],"valid"],[[70281,70281],"disallowed"],[[70282,70285],"valid"],[[70286,70286],"disallowed"],[[70287,70301],"valid"],[[70302,70302],"disallowed"],[[70303,70312],"valid"],[[70313,70313],"valid",[],"NV8"],[[70314,70319],"disallowed"],[[70320,70378],"valid"],[[70379,70383],"disallowed"],[[70384,70393],"valid"],[[70394,70399],"disallowed"],[[70400,70400],"valid"],[[70401,70403],"valid"],[[70404,70404],"disallowed"],[[70405,70412],"valid"],[[70413,70414],"disallowed"],[[70415,70416],"valid"],[[70417,70418],"disallowed"],[[70419,70440],"valid"],[[70441,70441],"disallowed"],[[70442,70448],"valid"],[[70449,70449],"disallowed"],[[70450,70451],"valid"],[[70452,70452],"disallowed"],[[70453,70457],"valid"],[[70458,70459],"disallowed"],[[70460,70468],"valid"],[[70469,70470],"disallowed"],[[70471,70472],"valid"],[[70473,70474],"disallowed"],[[70475,70477],"valid"],[[70478,70479],"disallowed"],[[70480,70480],"valid"],[[70481,70486],"disallowed"],[[70487,70487],"valid"],[[70488,70492],"disallowed"],[[70493,70499],"valid"],[[70500,70501],"disallowed"],[[70502,70508],"valid"],[[70509,70511],"disallowed"],[[70512,70516],"valid"],[[70517,70783],"disallowed"],[[70784,70853],"valid"],[[70854,70854],"valid",[],"NV8"],[[70855,70855],"valid"],[[70856,70863],"disallowed"],[[70864,70873],"valid"],[[70874,71039],"disallowed"],[[71040,71093],"valid"],[[71094,71095],"disallowed"],[[71096,71104],"valid"],[[71105,71113],"valid",[],"NV8"],[[71114,71127],"valid",[],"NV8"],[[71128,71133],"valid"],[[71134,71167],"disallowed"],[[71168,71232],"valid"],[[71233,71235],"valid",[],"NV8"],[[71236,71236],"valid"],[[71237,71247],"disallowed"],[[71248,71257],"valid"],[[71258,71295],"disallowed"],[[71296,71351],"valid"],[[71352,71359],"disallowed"],[[71360,71369],"valid"],[[71370,71423],"disallowed"],[[71424,71449],"valid"],[[71450,71452],"disallowed"],[[71453,71467],"valid"],[[71468,71471],"disallowed"],[[71472,71481],"valid"],[[71482,71487],"valid",[],"NV8"],[[71488,71839],"disallowed"],[[71840,71840],"mapped",[71872]],[[71841,71841],"mapped",[71873]],[[71842,71842],"mapped",[71874]],[[71843,71843],"mapped",[71875]],[[71844,71844],"mapped",[71876]],[[71845,71845],"mapped",[71877]],[[71846,71846],"mapped",[71878]],[[71847,71847],"mapped",[71879]],[[71848,71848],"mapped",[71880]],[[71849,71849],"mapped",[71881]],[[71850,71850],"mapped",[71882]],[[71851,71851],"mapped",[71883]],[[71852,71852],"mapped",[71884]],[[71853,71853],"mapped",[71885]],[[71854,71854],"mapped",[71886]],[[71855,71855],"mapped",[71887]],[[71856,71856],"mapped",[71888]],[[71857,71857],"mapped",[71889]],[[71858,71858],"mapped",[71890]],[[71859,71859],"mapped",[71891]],[[71860,71860],"mapped",[71892]],[[71861,71861],"mapped",[71893]],[[71862,71862],"mapped",[71894]],[[71863,71863],"mapped",[71895]],[[71864,71864],"mapped",[71896]],[[71865,71865],"mapped",[71897]],[[71866,71866],"mapped",[71898]],[[71867,71867],"mapped",[71899]],[[71868,71868],"mapped",[71900]],[[71869,71869],"mapped",[71901]],[[71870,71870],"mapped",[71902]],[[71871,71871],"mapped",[71903]],[[71872,71913],"valid"],[[71914,71922],"valid",[],"NV8"],[[71923,71934],"disallowed"],[[71935,71935],"valid"],[[71936,72383],"disallowed"],[[72384,72440],"valid"],[[72441,73727],"disallowed"],[[73728,74606],"valid"],[[74607,74648],"valid"],[[74649,74649],"valid"],[[74650,74751],"disallowed"],[[74752,74850],"valid",[],"NV8"],[[74851,74862],"valid",[],"NV8"],[[74863,74863],"disallowed"],[[74864,74867],"valid",[],"NV8"],[[74868,74868],"valid",[],"NV8"],[[74869,74879],"disallowed"],[[74880,75075],"valid"],[[75076,77823],"disallowed"],[[77824,78894],"valid"],[[78895,82943],"disallowed"],[[82944,83526],"valid"],[[83527,92159],"disallowed"],[[92160,92728],"valid"],[[92729,92735],"disallowed"],[[92736,92766],"valid"],[[92767,92767],"disallowed"],[[92768,92777],"valid"],[[92778,92781],"disallowed"],[[92782,92783],"valid",[],"NV8"],[[92784,92879],"disallowed"],[[92880,92909],"valid"],[[92910,92911],"disallowed"],[[92912,92916],"valid"],[[92917,92917],"valid",[],"NV8"],[[92918,92927],"disallowed"],[[92928,92982],"valid"],[[92983,92991],"valid",[],"NV8"],[[92992,92995],"valid"],[[92996,92997],"valid",[],"NV8"],[[92998,93007],"disallowed"],[[93008,93017],"valid"],[[93018,93018],"disallowed"],[[93019,93025],"valid",[],"NV8"],[[93026,93026],"disallowed"],[[93027,93047],"valid"],[[93048,93052],"disallowed"],[[93053,93071],"valid"],[[93072,93951],"disallowed"],[[93952,94020],"valid"],[[94021,94031],"disallowed"],[[94032,94078],"valid"],[[94079,94094],"disallowed"],[[94095,94111],"valid"],[[94112,110591],"disallowed"],[[110592,110593],"valid"],[[110594,113663],"disallowed"],[[113664,113770],"valid"],[[113771,113775],"disallowed"],[[113776,113788],"valid"],[[113789,113791],"disallowed"],[[113792,113800],"valid"],[[113801,113807],"disallowed"],[[113808,113817],"valid"],[[113818,113819],"disallowed"],[[113820,113820],"valid",[],"NV8"],[[113821,113822],"valid"],[[113823,113823],"valid",[],"NV8"],[[113824,113827],"ignored"],[[113828,118783],"disallowed"],[[118784,119029],"valid",[],"NV8"],[[119030,119039],"disallowed"],[[119040,119078],"valid",[],"NV8"],[[119079,119080],"disallowed"],[[119081,119081],"valid",[],"NV8"],[[119082,119133],"valid",[],"NV8"],[[119134,119134],"mapped",[119127,119141]],[[119135,119135],"mapped",[119128,119141]],[[119136,119136],"mapped",[119128,119141,119150]],[[119137,119137],"mapped",[119128,119141,119151]],[[119138,119138],"mapped",[119128,119141,119152]],[[119139,119139],"mapped",[119128,119141,119153]],[[119140,119140],"mapped",[119128,119141,119154]],[[119141,119154],"valid",[],"NV8"],[[119155,119162],"disallowed"],[[119163,119226],"valid",[],"NV8"],[[119227,119227],"mapped",[119225,119141]],[[119228,119228],"mapped",[119226,119141]],[[119229,119229],"mapped",[119225,119141,119150]],[[119230,119230],"mapped",[119226,119141,119150]],[[119231,119231],"mapped",[119225,119141,119151]],[[119232,119232],"mapped",[119226,119141,119151]],[[119233,119261],"valid",[],"NV8"],[[119262,119272],"valid",[],"NV8"],[[119273,119295],"disallowed"],[[119296,119365],"valid",[],"NV8"],[[119366,119551],"disallowed"],[[119552,119638],"valid",[],"NV8"],[[119639,119647],"disallowed"],[[119648,119665],"valid",[],"NV8"],[[119666,119807],"disallowed"],[[119808,119808],"mapped",[97]],[[119809,119809],"mapped",[98]],[[119810,119810],"mapped",[99]],[[119811,119811],"mapped",[100]],[[119812,119812],"mapped",[101]],[[119813,119813],"mapped",[102]],[[119814,119814],"mapped",[103]],[[119815,119815],"mapped",[104]],[[119816,119816],"mapped",[105]],[[119817,119817],"mapped",[106]],[[119818,119818],"mapped",[107]],[[119819,119819],"mapped",[108]],[[119820,119820],"mapped",[109]],[[119821,119821],"mapped",[110]],[[119822,119822],"mapped",[111]],[[119823,119823],"mapped",[112]],[[119824,119824],"mapped",[113]],[[119825,119825],"mapped",[114]],[[119826,119826],"mapped",[115]],[[119827,119827],"mapped",[116]],[[119828,119828],"mapped",[117]],[[119829,119829],"mapped",[118]],[[119830,119830],"mapped",[119]],[[119831,119831],"mapped",[120]],[[119832,119832],"mapped",[121]],[[119833,119833],"mapped",[122]],[[119834,119834],"mapped",[97]],[[119835,119835],"mapped",[98]],[[119836,119836],"mapped",[99]],[[119837,119837],"mapped",[100]],[[119838,119838],"mapped",[101]],[[119839,119839],"mapped",[102]],[[119840,119840],"mapped",[103]],[[119841,119841],"mapped",[104]],[[119842,119842],"mapped",[105]],[[119843,119843],"mapped",[106]],[[119844,119844],"mapped",[107]],[[119845,119845],"mapped",[108]],[[119846,119846],"mapped",[109]],[[119847,119847],"mapped",[110]],[[119848,119848],"mapped",[111]],[[119849,119849],"mapped",[112]],[[119850,119850],"mapped",[113]],[[119851,119851],"mapped",[114]],[[119852,119852],"mapped",[115]],[[119853,119853],"mapped",[116]],[[119854,119854],"mapped",[117]],[[119855,119855],"mapped",[118]],[[119856,119856],"mapped",[119]],[[119857,119857],"mapped",[120]],[[119858,119858],"mapped",[121]],[[119859,119859],"mapped",[122]],[[119860,119860],"mapped",[97]],[[119861,119861],"mapped",[98]],[[119862,119862],"mapped",[99]],[[119863,119863],"mapped",[100]],[[119864,119864],"mapped",[101]],[[119865,119865],"mapped",[102]],[[119866,119866],"mapped",[103]],[[119867,119867],"mapped",[104]],[[119868,119868],"mapped",[105]],[[119869,119869],"mapped",[106]],[[119870,119870],"mapped",[107]],[[119871,119871],"mapped",[108]],[[119872,119872],"mapped",[109]],[[119873,119873],"mapped",[110]],[[119874,119874],"mapped",[111]],[[119875,119875],"mapped",[112]],[[119876,119876],"mapped",[113]],[[119877,119877],"mapped",[114]],[[119878,119878],"mapped",[115]],[[119879,119879],"mapped",[116]],[[119880,119880],"mapped",[117]],[[119881,119881],"mapped",[118]],[[119882,119882],"mapped",[119]],[[119883,119883],"mapped",[120]],[[119884,119884],"mapped",[121]],[[119885,119885],"mapped",[122]],[[119886,119886],"mapped",[97]],[[119887,119887],"mapped",[98]],[[119888,119888],"mapped",[99]],[[119889,119889],"mapped",[100]],[[119890,119890],"mapped",[101]],[[119891,119891],"mapped",[102]],[[119892,119892],"mapped",[103]],[[119893,119893],"disallowed"],[[119894,119894],"mapped",[105]],[[119895,119895],"mapped",[106]],[[119896,119896],"mapped",[107]],[[119897,119897],"mapped",[108]],[[119898,119898],"mapped",[109]],[[119899,119899],"mapped",[110]],[[119900,119900],"mapped",[111]],[[119901,119901],"mapped",[112]],[[119902,119902],"mapped",[113]],[[119903,119903],"mapped",[114]],[[119904,119904],"mapped",[115]],[[119905,119905],"mapped",[116]],[[119906,119906],"mapped",[117]],[[119907,119907],"mapped",[118]],[[119908,119908],"mapped",[119]],[[119909,119909],"mapped",[120]],[[119910,119910],"mapped",[121]],[[119911,119911],"mapped",[122]],[[119912,119912],"mapped",[97]],[[119913,119913],"mapped",[98]],[[119914,119914],"mapped",[99]],[[119915,119915],"mapped",[100]],[[119916,119916],"mapped",[101]],[[119917,119917],"mapped",[102]],[[119918,119918],"mapped",[103]],[[119919,119919],"mapped",[104]],[[119920,119920],"mapped",[105]],[[119921,119921],"mapped",[106]],[[119922,119922],"mapped",[107]],[[119923,119923],"mapped",[108]],[[119924,119924],"mapped",[109]],[[119925,119925],"mapped",[110]],[[119926,119926],"mapped",[111]],[[119927,119927],"mapped",[112]],[[119928,119928],"mapped",[113]],[[119929,119929],"mapped",[114]],[[119930,119930],"mapped",[115]],[[119931,119931],"mapped",[116]],[[119932,119932],"mapped",[117]],[[119933,119933],"mapped",[118]],[[119934,119934],"mapped",[119]],[[119935,119935],"mapped",[120]],[[119936,119936],"mapped",[121]],[[119937,119937],"mapped",[122]],[[119938,119938],"mapped",[97]],[[119939,119939],"mapped",[98]],[[119940,119940],"mapped",[99]],[[119941,119941],"mapped",[100]],[[119942,119942],"mapped",[101]],[[119943,119943],"mapped",[102]],[[119944,119944],"mapped",[103]],[[119945,119945],"mapped",[104]],[[119946,119946],"mapped",[105]],[[119947,119947],"mapped",[106]],[[119948,119948],"mapped",[107]],[[119949,119949],"mapped",[108]],[[119950,119950],"mapped",[109]],[[119951,119951],"mapped",[110]],[[119952,119952],"mapped",[111]],[[119953,119953],"mapped",[112]],[[119954,119954],"mapped",[113]],[[119955,119955],"mapped",[114]],[[119956,119956],"mapped",[115]],[[119957,119957],"mapped",[116]],[[119958,119958],"mapped",[117]],[[119959,119959],"mapped",[118]],[[119960,119960],"mapped",[119]],[[119961,119961],"mapped",[120]],[[119962,119962],"mapped",[121]],[[119963,119963],"mapped",[122]],[[119964,119964],"mapped",[97]],[[119965,119965],"disallowed"],[[119966,119966],"mapped",[99]],[[119967,119967],"mapped",[100]],[[119968,119969],"disallowed"],[[119970,119970],"mapped",[103]],[[119971,119972],"disallowed"],[[119973,119973],"mapped",[106]],[[119974,119974],"mapped",[107]],[[119975,119976],"disallowed"],[[119977,119977],"mapped",[110]],[[119978,119978],"mapped",[111]],[[119979,119979],"mapped",[112]],[[119980,119980],"mapped",[113]],[[119981,119981],"disallowed"],[[119982,119982],"mapped",[115]],[[119983,119983],"mapped",[116]],[[119984,119984],"mapped",[117]],[[119985,119985],"mapped",[118]],[[119986,119986],"mapped",[119]],[[119987,119987],"mapped",[120]],[[119988,119988],"mapped",[121]],[[119989,119989],"mapped",[122]],[[119990,119990],"mapped",[97]],[[119991,119991],"mapped",[98]],[[119992,119992],"mapped",[99]],[[119993,119993],"mapped",[100]],[[119994,119994],"disallowed"],[[119995,119995],"mapped",[102]],[[119996,119996],"disallowed"],[[119997,119997],"mapped",[104]],[[119998,119998],"mapped",[105]],[[119999,119999],"mapped",[106]],[[12e4,12e4],"mapped",[107]],[[120001,120001],"mapped",[108]],[[120002,120002],"mapped",[109]],[[120003,120003],"mapped",[110]],[[120004,120004],"disallowed"],[[120005,120005],"mapped",[112]],[[120006,120006],"mapped",[113]],[[120007,120007],"mapped",[114]],[[120008,120008],"mapped",[115]],[[120009,120009],"mapped",[116]],[[120010,120010],"mapped",[117]],[[120011,120011],"mapped",[118]],[[120012,120012],"mapped",[119]],[[120013,120013],"mapped",[120]],[[120014,120014],"mapped",[121]],[[120015,120015],"mapped",[122]],[[120016,120016],"mapped",[97]],[[120017,120017],"mapped",[98]],[[120018,120018],"mapped",[99]],[[120019,120019],"mapped",[100]],[[120020,120020],"mapped",[101]],[[120021,120021],"mapped",[102]],[[120022,120022],"mapped",[103]],[[120023,120023],"mapped",[104]],[[120024,120024],"mapped",[105]],[[120025,120025],"mapped",[106]],[[120026,120026],"mapped",[107]],[[120027,120027],"mapped",[108]],[[120028,120028],"mapped",[109]],[[120029,120029],"mapped",[110]],[[120030,120030],"mapped",[111]],[[120031,120031],"mapped",[112]],[[120032,120032],"mapped",[113]],[[120033,120033],"mapped",[114]],[[120034,120034],"mapped",[115]],[[120035,120035],"mapped",[116]],[[120036,120036],"mapped",[117]],[[120037,120037],"mapped",[118]],[[120038,120038],"mapped",[119]],[[120039,120039],"mapped",[120]],[[120040,120040],"mapped",[121]],[[120041,120041],"mapped",[122]],[[120042,120042],"mapped",[97]],[[120043,120043],"mapped",[98]],[[120044,120044],"mapped",[99]],[[120045,120045],"mapped",[100]],[[120046,120046],"mapped",[101]],[[120047,120047],"mapped",[102]],[[120048,120048],"mapped",[103]],[[120049,120049],"mapped",[104]],[[120050,120050],"mapped",[105]],[[120051,120051],"mapped",[106]],[[120052,120052],"mapped",[107]],[[120053,120053],"mapped",[108]],[[120054,120054],"mapped",[109]],[[120055,120055],"mapped",[110]],[[120056,120056],"mapped",[111]],[[120057,120057],"mapped",[112]],[[120058,120058],"mapped",[113]],[[120059,120059],"mapped",[114]],[[120060,120060],"mapped",[115]],[[120061,120061],"mapped",[116]],[[120062,120062],"mapped",[117]],[[120063,120063],"mapped",[118]],[[120064,120064],"mapped",[119]],[[120065,120065],"mapped",[120]],[[120066,120066],"mapped",[121]],[[120067,120067],"mapped",[122]],[[120068,120068],"mapped",[97]],[[120069,120069],"mapped",[98]],[[120070,120070],"disallowed"],[[120071,120071],"mapped",[100]],[[120072,120072],"mapped",[101]],[[120073,120073],"mapped",[102]],[[120074,120074],"mapped",[103]],[[120075,120076],"disallowed"],[[120077,120077],"mapped",[106]],[[120078,120078],"mapped",[107]],[[120079,120079],"mapped",[108]],[[120080,120080],"mapped",[109]],[[120081,120081],"mapped",[110]],[[120082,120082],"mapped",[111]],[[120083,120083],"mapped",[112]],[[120084,120084],"mapped",[113]],[[120085,120085],"disallowed"],[[120086,120086],"mapped",[115]],[[120087,120087],"mapped",[116]],[[120088,120088],"mapped",[117]],[[120089,120089],"mapped",[118]],[[120090,120090],"mapped",[119]],[[120091,120091],"mapped",[120]],[[120092,120092],"mapped",[121]],[[120093,120093],"disallowed"],[[120094,120094],"mapped",[97]],[[120095,120095],"mapped",[98]],[[120096,120096],"mapped",[99]],[[120097,120097],"mapped",[100]],[[120098,120098],"mapped",[101]],[[120099,120099],"mapped",[102]],[[120100,120100],"mapped",[103]],[[120101,120101],"mapped",[104]],[[120102,120102],"mapped",[105]],[[120103,120103],"mapped",[106]],[[120104,120104],"mapped",[107]],[[120105,120105],"mapped",[108]],[[120106,120106],"mapped",[109]],[[120107,120107],"mapped",[110]],[[120108,120108],"mapped",[111]],[[120109,120109],"mapped",[112]],[[120110,120110],"mapped",[113]],[[120111,120111],"mapped",[114]],[[120112,120112],"mapped",[115]],[[120113,120113],"mapped",[116]],[[120114,120114],"mapped",[117]],[[120115,120115],"mapped",[118]],[[120116,120116],"mapped",[119]],[[120117,120117],"mapped",[120]],[[120118,120118],"mapped",[121]],[[120119,120119],"mapped",[122]],[[120120,120120],"mapped",[97]],[[120121,120121],"mapped",[98]],[[120122,120122],"disallowed"],[[120123,120123],"mapped",[100]],[[120124,120124],"mapped",[101]],[[120125,120125],"mapped",[102]],[[120126,120126],"mapped",[103]],[[120127,120127],"disallowed"],[[120128,120128],"mapped",[105]],[[120129,120129],"mapped",[106]],[[120130,120130],"mapped",[107]],[[120131,120131],"mapped",[108]],[[120132,120132],"mapped",[109]],[[120133,120133],"disallowed"],[[120134,120134],"mapped",[111]],[[120135,120137],"disallowed"],[[120138,120138],"mapped",[115]],[[120139,120139],"mapped",[116]],[[120140,120140],"mapped",[117]],[[120141,120141],"mapped",[118]],[[120142,120142],"mapped",[119]],[[120143,120143],"mapped",[120]],[[120144,120144],"mapped",[121]],[[120145,120145],"disallowed"],[[120146,120146],"mapped",[97]],[[120147,120147],"mapped",[98]],[[120148,120148],"mapped",[99]],[[120149,120149],"mapped",[100]],[[120150,120150],"mapped",[101]],[[120151,120151],"mapped",[102]],[[120152,120152],"mapped",[103]],[[120153,120153],"mapped",[104]],[[120154,120154],"mapped",[105]],[[120155,120155],"mapped",[106]],[[120156,120156],"mapped",[107]],[[120157,120157],"mapped",[108]],[[120158,120158],"mapped",[109]],[[120159,120159],"mapped",[110]],[[120160,120160],"mapped",[111]],[[120161,120161],"mapped",[112]],[[120162,120162],"mapped",[113]],[[120163,120163],"mapped",[114]],[[120164,120164],"mapped",[115]],[[120165,120165],"mapped",[116]],[[120166,120166],"mapped",[117]],[[120167,120167],"mapped",[118]],[[120168,120168],"mapped",[119]],[[120169,120169],"mapped",[120]],[[120170,120170],"mapped",[121]],[[120171,120171],"mapped",[122]],[[120172,120172],"mapped",[97]],[[120173,120173],"mapped",[98]],[[120174,120174],"mapped",[99]],[[120175,120175],"mapped",[100]],[[120176,120176],"mapped",[101]],[[120177,120177],"mapped",[102]],[[120178,120178],"mapped",[103]],[[120179,120179],"mapped",[104]],[[120180,120180],"mapped",[105]],[[120181,120181],"mapped",[106]],[[120182,120182],"mapped",[107]],[[120183,120183],"mapped",[108]],[[120184,120184],"mapped",[109]],[[120185,120185],"mapped",[110]],[[120186,120186],"mapped",[111]],[[120187,120187],"mapped",[112]],[[120188,120188],"mapped",[113]],[[120189,120189],"mapped",[114]],[[120190,120190],"mapped",[115]],[[120191,120191],"mapped",[116]],[[120192,120192],"mapped",[117]],[[120193,120193],"mapped",[118]],[[120194,120194],"mapped",[119]],[[120195,120195],"mapped",[120]],[[120196,120196],"mapped",[121]],[[120197,120197],"mapped",[122]],[[120198,120198],"mapped",[97]],[[120199,120199],"mapped",[98]],[[120200,120200],"mapped",[99]],[[120201,120201],"mapped",[100]],[[120202,120202],"mapped",[101]],[[120203,120203],"mapped",[102]],[[120204,120204],"mapped",[103]],[[120205,120205],"mapped",[104]],[[120206,120206],"mapped",[105]],[[120207,120207],"mapped",[106]],[[120208,120208],"mapped",[107]],[[120209,120209],"mapped",[108]],[[120210,120210],"mapped",[109]],[[120211,120211],"mapped",[110]],[[120212,120212],"mapped",[111]],[[120213,120213],"mapped",[112]],[[120214,120214],"mapped",[113]],[[120215,120215],"mapped",[114]],[[120216,120216],"mapped",[115]],[[120217,120217],"mapped",[116]],[[120218,120218],"mapped",[117]],[[120219,120219],"mapped",[118]],[[120220,120220],"mapped",[119]],[[120221,120221],"mapped",[120]],[[120222,120222],"mapped",[121]],[[120223,120223],"mapped",[122]],[[120224,120224],"mapped",[97]],[[120225,120225],"mapped",[98]],[[120226,120226],"mapped",[99]],[[120227,120227],"mapped",[100]],[[120228,120228],"mapped",[101]],[[120229,120229],"mapped",[102]],[[120230,120230],"mapped",[103]],[[120231,120231],"mapped",[104]],[[120232,120232],"mapped",[105]],[[120233,120233],"mapped",[106]],[[120234,120234],"mapped",[107]],[[120235,120235],"mapped",[108]],[[120236,120236],"mapped",[109]],[[120237,120237],"mapped",[110]],[[120238,120238],"mapped",[111]],[[120239,120239],"mapped",[112]],[[120240,120240],"mapped",[113]],[[120241,120241],"mapped",[114]],[[120242,120242],"mapped",[115]],[[120243,120243],"mapped",[116]],[[120244,120244],"mapped",[117]],[[120245,120245],"mapped",[118]],[[120246,120246],"mapped",[119]],[[120247,120247],"mapped",[120]],[[120248,120248],"mapped",[121]],[[120249,120249],"mapped",[122]],[[120250,120250],"mapped",[97]],[[120251,120251],"mapped",[98]],[[120252,120252],"mapped",[99]],[[120253,120253],"mapped",[100]],[[120254,120254],"mapped",[101]],[[120255,120255],"mapped",[102]],[[120256,120256],"mapped",[103]],[[120257,120257],"mapped",[104]],[[120258,120258],"mapped",[105]],[[120259,120259],"mapped",[106]],[[120260,120260],"mapped",[107]],[[120261,120261],"mapped",[108]],[[120262,120262],"mapped",[109]],[[120263,120263],"mapped",[110]],[[120264,120264],"mapped",[111]],[[120265,120265],"mapped",[112]],[[120266,120266],"mapped",[113]],[[120267,120267],"mapped",[114]],[[120268,120268],"mapped",[115]],[[120269,120269],"mapped",[116]],[[120270,120270],"mapped",[117]],[[120271,120271],"mapped",[118]],[[120272,120272],"mapped",[119]],[[120273,120273],"mapped",[120]],[[120274,120274],"mapped",[121]],[[120275,120275],"mapped",[122]],[[120276,120276],"mapped",[97]],[[120277,120277],"mapped",[98]],[[120278,120278],"mapped",[99]],[[120279,120279],"mapped",[100]],[[120280,120280],"mapped",[101]],[[120281,120281],"mapped",[102]],[[120282,120282],"mapped",[103]],[[120283,120283],"mapped",[104]],[[120284,120284],"mapped",[105]],[[120285,120285],"mapped",[106]],[[120286,120286],"mapped",[107]],[[120287,120287],"mapped",[108]],[[120288,120288],"mapped",[109]],[[120289,120289],"mapped",[110]],[[120290,120290],"mapped",[111]],[[120291,120291],"mapped",[112]],[[120292,120292],"mapped",[113]],[[120293,120293],"mapped",[114]],[[120294,120294],"mapped",[115]],[[120295,120295],"mapped",[116]],[[120296,120296],"mapped",[117]],[[120297,120297],"mapped",[118]],[[120298,120298],"mapped",[119]],[[120299,120299],"mapped",[120]],[[120300,120300],"mapped",[121]],[[120301,120301],"mapped",[122]],[[120302,120302],"mapped",[97]],[[120303,120303],"mapped",[98]],[[120304,120304],"mapped",[99]],[[120305,120305],"mapped",[100]],[[120306,120306],"mapped",[101]],[[120307,120307],"mapped",[102]],[[120308,120308],"mapped",[103]],[[120309,120309],"mapped",[104]],[[120310,120310],"mapped",[105]],[[120311,120311],"mapped",[106]],[[120312,120312],"mapped",[107]],[[120313,120313],"mapped",[108]],[[120314,120314],"mapped",[109]],[[120315,120315],"mapped",[110]],[[120316,120316],"mapped",[111]],[[120317,120317],"mapped",[112]],[[120318,120318],"mapped",[113]],[[120319,120319],"mapped",[114]],[[120320,120320],"mapped",[115]],[[120321,120321],"mapped",[116]],[[120322,120322],"mapped",[117]],[[120323,120323],"mapped",[118]],[[120324,120324],"mapped",[119]],[[120325,120325],"mapped",[120]],[[120326,120326],"mapped",[121]],[[120327,120327],"mapped",[122]],[[120328,120328],"mapped",[97]],[[120329,120329],"mapped",[98]],[[120330,120330],"mapped",[99]],[[120331,120331],"mapped",[100]],[[120332,120332],"mapped",[101]],[[120333,120333],"mapped",[102]],[[120334,120334],"mapped",[103]],[[120335,120335],"mapped",[104]],[[120336,120336],"mapped",[105]],[[120337,120337],"mapped",[106]],[[120338,120338],"mapped",[107]],[[120339,120339],"mapped",[108]],[[120340,120340],"mapped",[109]],[[120341,120341],"mapped",[110]],[[120342,120342],"mapped",[111]],[[120343,120343],"mapped",[112]],[[120344,120344],"mapped",[113]],[[120345,120345],"mapped",[114]],[[120346,120346],"mapped",[115]],[[120347,120347],"mapped",[116]],[[120348,120348],"mapped",[117]],[[120349,120349],"mapped",[118]],[[120350,120350],"mapped",[119]],[[120351,120351],"mapped",[120]],[[120352,120352],"mapped",[121]],[[120353,120353],"mapped",[122]],[[120354,120354],"mapped",[97]],[[120355,120355],"mapped",[98]],[[120356,120356],"mapped",[99]],[[120357,120357],"mapped",[100]],[[120358,120358],"mapped",[101]],[[120359,120359],"mapped",[102]],[[120360,120360],"mapped",[103]],[[120361,120361],"mapped",[104]],[[120362,120362],"mapped",[105]],[[120363,120363],"mapped",[106]],[[120364,120364],"mapped",[107]],[[120365,120365],"mapped",[108]],[[120366,120366],"mapped",[109]],[[120367,120367],"mapped",[110]],[[120368,120368],"mapped",[111]],[[120369,120369],"mapped",[112]],[[120370,120370],"mapped",[113]],[[120371,120371],"mapped",[114]],[[120372,120372],"mapped",[115]],[[120373,120373],"mapped",[116]],[[120374,120374],"mapped",[117]],[[120375,120375],"mapped",[118]],[[120376,120376],"mapped",[119]],[[120377,120377],"mapped",[120]],[[120378,120378],"mapped",[121]],[[120379,120379],"mapped",[122]],[[120380,120380],"mapped",[97]],[[120381,120381],"mapped",[98]],[[120382,120382],"mapped",[99]],[[120383,120383],"mapped",[100]],[[120384,120384],"mapped",[101]],[[120385,120385],"mapped",[102]],[[120386,120386],"mapped",[103]],[[120387,120387],"mapped",[104]],[[120388,120388],"mapped",[105]],[[120389,120389],"mapped",[106]],[[120390,120390],"mapped",[107]],[[120391,120391],"mapped",[108]],[[120392,120392],"mapped",[109]],[[120393,120393],"mapped",[110]],[[120394,120394],"mapped",[111]],[[120395,120395],"mapped",[112]],[[120396,120396],"mapped",[113]],[[120397,120397],"mapped",[114]],[[120398,120398],"mapped",[115]],[[120399,120399],"mapped",[116]],[[120400,120400],"mapped",[117]],[[120401,120401],"mapped",[118]],[[120402,120402],"mapped",[119]],[[120403,120403],"mapped",[120]],[[120404,120404],"mapped",[121]],[[120405,120405],"mapped",[122]],[[120406,120406],"mapped",[97]],[[120407,120407],"mapped",[98]],[[120408,120408],"mapped",[99]],[[120409,120409],"mapped",[100]],[[120410,120410],"mapped",[101]],[[120411,120411],"mapped",[102]],[[120412,120412],"mapped",[103]],[[120413,120413],"mapped",[104]],[[120414,120414],"mapped",[105]],[[120415,120415],"mapped",[106]],[[120416,120416],"mapped",[107]],[[120417,120417],"mapped",[108]],[[120418,120418],"mapped",[109]],[[120419,120419],"mapped",[110]],[[120420,120420],"mapped",[111]],[[120421,120421],"mapped",[112]],[[120422,120422],"mapped",[113]],[[120423,120423],"mapped",[114]],[[120424,120424],"mapped",[115]],[[120425,120425],"mapped",[116]],[[120426,120426],"mapped",[117]],[[120427,120427],"mapped",[118]],[[120428,120428],"mapped",[119]],[[120429,120429],"mapped",[120]],[[120430,120430],"mapped",[121]],[[120431,120431],"mapped",[122]],[[120432,120432],"mapped",[97]],[[120433,120433],"mapped",[98]],[[120434,120434],"mapped",[99]],[[120435,120435],"mapped",[100]],[[120436,120436],"mapped",[101]],[[120437,120437],"mapped",[102]],[[120438,120438],"mapped",[103]],[[120439,120439],"mapped",[104]],[[120440,120440],"mapped",[105]],[[120441,120441],"mapped",[106]],[[120442,120442],"mapped",[107]],[[120443,120443],"mapped",[108]],[[120444,120444],"mapped",[109]],[[120445,120445],"mapped",[110]],[[120446,120446],"mapped",[111]],[[120447,120447],"mapped",[112]],[[120448,120448],"mapped",[113]],[[120449,120449],"mapped",[114]],[[120450,120450],"mapped",[115]],[[120451,120451],"mapped",[116]],[[120452,120452],"mapped",[117]],[[120453,120453],"mapped",[118]],[[120454,120454],"mapped",[119]],[[120455,120455],"mapped",[120]],[[120456,120456],"mapped",[121]],[[120457,120457],"mapped",[122]],[[120458,120458],"mapped",[97]],[[120459,120459],"mapped",[98]],[[120460,120460],"mapped",[99]],[[120461,120461],"mapped",[100]],[[120462,120462],"mapped",[101]],[[120463,120463],"mapped",[102]],[[120464,120464],"mapped",[103]],[[120465,120465],"mapped",[104]],[[120466,120466],"mapped",[105]],[[120467,120467],"mapped",[106]],[[120468,120468],"mapped",[107]],[[120469,120469],"mapped",[108]],[[120470,120470],"mapped",[109]],[[120471,120471],"mapped",[110]],[[120472,120472],"mapped",[111]],[[120473,120473],"mapped",[112]],[[120474,120474],"mapped",[113]],[[120475,120475],"mapped",[114]],[[120476,120476],"mapped",[115]],[[120477,120477],"mapped",[116]],[[120478,120478],"mapped",[117]],[[120479,120479],"mapped",[118]],[[120480,120480],"mapped",[119]],[[120481,120481],"mapped",[120]],[[120482,120482],"mapped",[121]],[[120483,120483],"mapped",[122]],[[120484,120484],"mapped",[305]],[[120485,120485],"mapped",[567]],[[120486,120487],"disallowed"],[[120488,120488],"mapped",[945]],[[120489,120489],"mapped",[946]],[[120490,120490],"mapped",[947]],[[120491,120491],"mapped",[948]],[[120492,120492],"mapped",[949]],[[120493,120493],"mapped",[950]],[[120494,120494],"mapped",[951]],[[120495,120495],"mapped",[952]],[[120496,120496],"mapped",[953]],[[120497,120497],"mapped",[954]],[[120498,120498],"mapped",[955]],[[120499,120499],"mapped",[956]],[[120500,120500],"mapped",[957]],[[120501,120501],"mapped",[958]],[[120502,120502],"mapped",[959]],[[120503,120503],"mapped",[960]],[[120504,120504],"mapped",[961]],[[120505,120505],"mapped",[952]],[[120506,120506],"mapped",[963]],[[120507,120507],"mapped",[964]],[[120508,120508],"mapped",[965]],[[120509,120509],"mapped",[966]],[[120510,120510],"mapped",[967]],[[120511,120511],"mapped",[968]],[[120512,120512],"mapped",[969]],[[120513,120513],"mapped",[8711]],[[120514,120514],"mapped",[945]],[[120515,120515],"mapped",[946]],[[120516,120516],"mapped",[947]],[[120517,120517],"mapped",[948]],[[120518,120518],"mapped",[949]],[[120519,120519],"mapped",[950]],[[120520,120520],"mapped",[951]],[[120521,120521],"mapped",[952]],[[120522,120522],"mapped",[953]],[[120523,120523],"mapped",[954]],[[120524,120524],"mapped",[955]],[[120525,120525],"mapped",[956]],[[120526,120526],"mapped",[957]],[[120527,120527],"mapped",[958]],[[120528,120528],"mapped",[959]],[[120529,120529],"mapped",[960]],[[120530,120530],"mapped",[961]],[[120531,120532],"mapped",[963]],[[120533,120533],"mapped",[964]],[[120534,120534],"mapped",[965]],[[120535,120535],"mapped",[966]],[[120536,120536],"mapped",[967]],[[120537,120537],"mapped",[968]],[[120538,120538],"mapped",[969]],[[120539,120539],"mapped",[8706]],[[120540,120540],"mapped",[949]],[[120541,120541],"mapped",[952]],[[120542,120542],"mapped",[954]],[[120543,120543],"mapped",[966]],[[120544,120544],"mapped",[961]],[[120545,120545],"mapped",[960]],[[120546,120546],"mapped",[945]],[[120547,120547],"mapped",[946]],[[120548,120548],"mapped",[947]],[[120549,120549],"mapped",[948]],[[120550,120550],"mapped",[949]],[[120551,120551],"mapped",[950]],[[120552,120552],"mapped",[951]],[[120553,120553],"mapped",[952]],[[120554,120554],"mapped",[953]],[[120555,120555],"mapped",[954]],[[120556,120556],"mapped",[955]],[[120557,120557],"mapped",[956]],[[120558,120558],"mapped",[957]],[[120559,120559],"mapped",[958]],[[120560,120560],"mapped",[959]],[[120561,120561],"mapped",[960]],[[120562,120562],"mapped",[961]],[[120563,120563],"mapped",[952]],[[120564,120564],"mapped",[963]],[[120565,120565],"mapped",[964]],[[120566,120566],"mapped",[965]],[[120567,120567],"mapped",[966]],[[120568,120568],"mapped",[967]],[[120569,120569],"mapped",[968]],[[120570,120570],"mapped",[969]],[[120571,120571],"mapped",[8711]],[[120572,120572],"mapped",[945]],[[120573,120573],"mapped",[946]],[[120574,120574],"mapped",[947]],[[120575,120575],"mapped",[948]],[[120576,120576],"mapped",[949]],[[120577,120577],"mapped",[950]],[[120578,120578],"mapped",[951]],[[120579,120579],"mapped",[952]],[[120580,120580],"mapped",[953]],[[120581,120581],"mapped",[954]],[[120582,120582],"mapped",[955]],[[120583,120583],"mapped",[956]],[[120584,120584],"mapped",[957]],[[120585,120585],"mapped",[958]],[[120586,120586],"mapped",[959]],[[120587,120587],"mapped",[960]],[[120588,120588],"mapped",[961]],[[120589,120590],"mapped",[963]],[[120591,120591],"mapped",[964]],[[120592,120592],"mapped",[965]],[[120593,120593],"mapped",[966]],[[120594,120594],"mapped",[967]],[[120595,120595],"mapped",[968]],[[120596,120596],"mapped",[969]],[[120597,120597],"mapped",[8706]],[[120598,120598],"mapped",[949]],[[120599,120599],"mapped",[952]],[[120600,120600],"mapped",[954]],[[120601,120601],"mapped",[966]],[[120602,120602],"mapped",[961]],[[120603,120603],"mapped",[960]],[[120604,120604],"mapped",[945]],[[120605,120605],"mapped",[946]],[[120606,120606],"mapped",[947]],[[120607,120607],"mapped",[948]],[[120608,120608],"mapped",[949]],[[120609,120609],"mapped",[950]],[[120610,120610],"mapped",[951]],[[120611,120611],"mapped",[952]],[[120612,120612],"mapped",[953]],[[120613,120613],"mapped",[954]],[[120614,120614],"mapped",[955]],[[120615,120615],"mapped",[956]],[[120616,120616],"mapped",[957]],[[120617,120617],"mapped",[958]],[[120618,120618],"mapped",[959]],[[120619,120619],"mapped",[960]],[[120620,120620],"mapped",[961]],[[120621,120621],"mapped",[952]],[[120622,120622],"mapped",[963]],[[120623,120623],"mapped",[964]],[[120624,120624],"mapped",[965]],[[120625,120625],"mapped",[966]],[[120626,120626],"mapped",[967]],[[120627,120627],"mapped",[968]],[[120628,120628],"mapped",[969]],[[120629,120629],"mapped",[8711]],[[120630,120630],"mapped",[945]],[[120631,120631],"mapped",[946]],[[120632,120632],"mapped",[947]],[[120633,120633],"mapped",[948]],[[120634,120634],"mapped",[949]],[[120635,120635],"mapped",[950]],[[120636,120636],"mapped",[951]],[[120637,120637],"mapped",[952]],[[120638,120638],"mapped",[953]],[[120639,120639],"mapped",[954]],[[120640,120640],"mapped",[955]],[[120641,120641],"mapped",[956]],[[120642,120642],"mapped",[957]],[[120643,120643],"mapped",[958]],[[120644,120644],"mapped",[959]],[[120645,120645],"mapped",[960]],[[120646,120646],"mapped",[961]],[[120647,120648],"mapped",[963]],[[120649,120649],"mapped",[964]],[[120650,120650],"mapped",[965]],[[120651,120651],"mapped",[966]],[[120652,120652],"mapped",[967]],[[120653,120653],"mapped",[968]],[[120654,120654],"mapped",[969]],[[120655,120655],"mapped",[8706]],[[120656,120656],"mapped",[949]],[[120657,120657],"mapped",[952]],[[120658,120658],"mapped",[954]],[[120659,120659],"mapped",[966]],[[120660,120660],"mapped",[961]],[[120661,120661],"mapped",[960]],[[120662,120662],"mapped",[945]],[[120663,120663],"mapped",[946]],[[120664,120664],"mapped",[947]],[[120665,120665],"mapped",[948]],[[120666,120666],"mapped",[949]],[[120667,120667],"mapped",[950]],[[120668,120668],"mapped",[951]],[[120669,120669],"mapped",[952]],[[120670,120670],"mapped",[953]],[[120671,120671],"mapped",[954]],[[120672,120672],"mapped",[955]],[[120673,120673],"mapped",[956]],[[120674,120674],"mapped",[957]],[[120675,120675],"mapped",[958]],[[120676,120676],"mapped",[959]],[[120677,120677],"mapped",[960]],[[120678,120678],"mapped",[961]],[[120679,120679],"mapped",[952]],[[120680,120680],"mapped",[963]],[[120681,120681],"mapped",[964]],[[120682,120682],"mapped",[965]],[[120683,120683],"mapped",[966]],[[120684,120684],"mapped",[967]],[[120685,120685],"mapped",[968]],[[120686,120686],"mapped",[969]],[[120687,120687],"mapped",[8711]],[[120688,120688],"mapped",[945]],[[120689,120689],"mapped",[946]],[[120690,120690],"mapped",[947]],[[120691,120691],"mapped",[948]],[[120692,120692],"mapped",[949]],[[120693,120693],"mapped",[950]],[[120694,120694],"mapped",[951]],[[120695,120695],"mapped",[952]],[[120696,120696],"mapped",[953]],[[120697,120697],"mapped",[954]],[[120698,120698],"mapped",[955]],[[120699,120699],"mapped",[956]],[[120700,120700],"mapped",[957]],[[120701,120701],"mapped",[958]],[[120702,120702],"mapped",[959]],[[120703,120703],"mapped",[960]],[[120704,120704],"mapped",[961]],[[120705,120706],"mapped",[963]],[[120707,120707],"mapped",[964]],[[120708,120708],"mapped",[965]],[[120709,120709],"mapped",[966]],[[120710,120710],"mapped",[967]],[[120711,120711],"mapped",[968]],[[120712,120712],"mapped",[969]],[[120713,120713],"mapped",[8706]],[[120714,120714],"mapped",[949]],[[120715,120715],"mapped",[952]],[[120716,120716],"mapped",[954]],[[120717,120717],"mapped",[966]],[[120718,120718],"mapped",[961]],[[120719,120719],"mapped",[960]],[[120720,120720],"mapped",[945]],[[120721,120721],"mapped",[946]],[[120722,120722],"mapped",[947]],[[120723,120723],"mapped",[948]],[[120724,120724],"mapped",[949]],[[120725,120725],"mapped",[950]],[[120726,120726],"mapped",[951]],[[120727,120727],"mapped",[952]],[[120728,120728],"mapped",[953]],[[120729,120729],"mapped",[954]],[[120730,120730],"mapped",[955]],[[120731,120731],"mapped",[956]],[[120732,120732],"mapped",[957]],[[120733,120733],"mapped",[958]],[[120734,120734],"mapped",[959]],[[120735,120735],"mapped",[960]],[[120736,120736],"mapped",[961]],[[120737,120737],"mapped",[952]],[[120738,120738],"mapped",[963]],[[120739,120739],"mapped",[964]],[[120740,120740],"mapped",[965]],[[120741,120741],"mapped",[966]],[[120742,120742],"mapped",[967]],[[120743,120743],"mapped",[968]],[[120744,120744],"mapped",[969]],[[120745,120745],"mapped",[8711]],[[120746,120746],"mapped",[945]],[[120747,120747],"mapped",[946]],[[120748,120748],"mapped",[947]],[[120749,120749],"mapped",[948]],[[120750,120750],"mapped",[949]],[[120751,120751],"mapped",[950]],[[120752,120752],"mapped",[951]],[[120753,120753],"mapped",[952]],[[120754,120754],"mapped",[953]],[[120755,120755],"mapped",[954]],[[120756,120756],"mapped",[955]],[[120757,120757],"mapped",[956]],[[120758,120758],"mapped",[957]],[[120759,120759],"mapped",[958]],[[120760,120760],"mapped",[959]],[[120761,120761],"mapped",[960]],[[120762,120762],"mapped",[961]],[[120763,120764],"mapped",[963]],[[120765,120765],"mapped",[964]],[[120766,120766],"mapped",[965]],[[120767,120767],"mapped",[966]],[[120768,120768],"mapped",[967]],[[120769,120769],"mapped",[968]],[[120770,120770],"mapped",[969]],[[120771,120771],"mapped",[8706]],[[120772,120772],"mapped",[949]],[[120773,120773],"mapped",[952]],[[120774,120774],"mapped",[954]],[[120775,120775],"mapped",[966]],[[120776,120776],"mapped",[961]],[[120777,120777],"mapped",[960]],[[120778,120779],"mapped",[989]],[[120780,120781],"disallowed"],[[120782,120782],"mapped",[48]],[[120783,120783],"mapped",[49]],[[120784,120784],"mapped",[50]],[[120785,120785],"mapped",[51]],[[120786,120786],"mapped",[52]],[[120787,120787],"mapped",[53]],[[120788,120788],"mapped",[54]],[[120789,120789],"mapped",[55]],[[120790,120790],"mapped",[56]],[[120791,120791],"mapped",[57]],[[120792,120792],"mapped",[48]],[[120793,120793],"mapped",[49]],[[120794,120794],"mapped",[50]],[[120795,120795],"mapped",[51]],[[120796,120796],"mapped",[52]],[[120797,120797],"mapped",[53]],[[120798,120798],"mapped",[54]],[[120799,120799],"mapped",[55]],[[120800,120800],"mapped",[56]],[[120801,120801],"mapped",[57]],[[120802,120802],"mapped",[48]],[[120803,120803],"mapped",[49]],[[120804,120804],"mapped",[50]],[[120805,120805],"mapped",[51]],[[120806,120806],"mapped",[52]],[[120807,120807],"mapped",[53]],[[120808,120808],"mapped",[54]],[[120809,120809],"mapped",[55]],[[120810,120810],"mapped",[56]],[[120811,120811],"mapped",[57]],[[120812,120812],"mapped",[48]],[[120813,120813],"mapped",[49]],[[120814,120814],"mapped",[50]],[[120815,120815],"mapped",[51]],[[120816,120816],"mapped",[52]],[[120817,120817],"mapped",[53]],[[120818,120818],"mapped",[54]],[[120819,120819],"mapped",[55]],[[120820,120820],"mapped",[56]],[[120821,120821],"mapped",[57]],[[120822,120822],"mapped",[48]],[[120823,120823],"mapped",[49]],[[120824,120824],"mapped",[50]],[[120825,120825],"mapped",[51]],[[120826,120826],"mapped",[52]],[[120827,120827],"mapped",[53]],[[120828,120828],"mapped",[54]],[[120829,120829],"mapped",[55]],[[120830,120830],"mapped",[56]],[[120831,120831],"mapped",[57]],[[120832,121343],"valid",[],"NV8"],[[121344,121398],"valid"],[[121399,121402],"valid",[],"NV8"],[[121403,121452],"valid"],[[121453,121460],"valid",[],"NV8"],[[121461,121461],"valid"],[[121462,121475],"valid",[],"NV8"],[[121476,121476],"valid"],[[121477,121483],"valid",[],"NV8"],[[121484,121498],"disallowed"],[[121499,121503],"valid"],[[121504,121504],"disallowed"],[[121505,121519],"valid"],[[121520,124927],"disallowed"],[[124928,125124],"valid"],[[125125,125126],"disallowed"],[[125127,125135],"valid",[],"NV8"],[[125136,125142],"valid"],[[125143,126463],"disallowed"],[[126464,126464],"mapped",[1575]],[[126465,126465],"mapped",[1576]],[[126466,126466],"mapped",[1580]],[[126467,126467],"mapped",[1583]],[[126468,126468],"disallowed"],[[126469,126469],"mapped",[1608]],[[126470,126470],"mapped",[1586]],[[126471,126471],"mapped",[1581]],[[126472,126472],"mapped",[1591]],[[126473,126473],"mapped",[1610]],[[126474,126474],"mapped",[1603]],[[126475,126475],"mapped",[1604]],[[126476,126476],"mapped",[1605]],[[126477,126477],"mapped",[1606]],[[126478,126478],"mapped",[1587]],[[126479,126479],"mapped",[1593]],[[126480,126480],"mapped",[1601]],[[126481,126481],"mapped",[1589]],[[126482,126482],"mapped",[1602]],[[126483,126483],"mapped",[1585]],[[126484,126484],"mapped",[1588]],[[126485,126485],"mapped",[1578]],[[126486,126486],"mapped",[1579]],[[126487,126487],"mapped",[1582]],[[126488,126488],"mapped",[1584]],[[126489,126489],"mapped",[1590]],[[126490,126490],"mapped",[1592]],[[126491,126491],"mapped",[1594]],[[126492,126492],"mapped",[1646]],[[126493,126493],"mapped",[1722]],[[126494,126494],"mapped",[1697]],[[126495,126495],"mapped",[1647]],[[126496,126496],"disallowed"],[[126497,126497],"mapped",[1576]],[[126498,126498],"mapped",[1580]],[[126499,126499],"disallowed"],[[126500,126500],"mapped",[1607]],[[126501,126502],"disallowed"],[[126503,126503],"mapped",[1581]],[[126504,126504],"disallowed"],[[126505,126505],"mapped",[1610]],[[126506,126506],"mapped",[1603]],[[126507,126507],"mapped",[1604]],[[126508,126508],"mapped",[1605]],[[126509,126509],"mapped",[1606]],[[126510,126510],"mapped",[1587]],[[126511,126511],"mapped",[1593]],[[126512,126512],"mapped",[1601]],[[126513,126513],"mapped",[1589]],[[126514,126514],"mapped",[1602]],[[126515,126515],"disallowed"],[[126516,126516],"mapped",[1588]],[[126517,126517],"mapped",[1578]],[[126518,126518],"mapped",[1579]],[[126519,126519],"mapped",[1582]],[[126520,126520],"disallowed"],[[126521,126521],"mapped",[1590]],[[126522,126522],"disallowed"],[[126523,126523],"mapped",[1594]],[[126524,126529],"disallowed"],[[126530,126530],"mapped",[1580]],[[126531,126534],"disallowed"],[[126535,126535],"mapped",[1581]],[[126536,126536],"disallowed"],[[126537,126537],"mapped",[1610]],[[126538,126538],"disallowed"],[[126539,126539],"mapped",[1604]],[[126540,126540],"disallowed"],[[126541,126541],"mapped",[1606]],[[126542,126542],"mapped",[1587]],[[126543,126543],"mapped",[1593]],[[126544,126544],"disallowed"],[[126545,126545],"mapped",[1589]],[[126546,126546],"mapped",[1602]],[[126547,126547],"disallowed"],[[126548,126548],"mapped",[1588]],[[126549,126550],"disallowed"],[[126551,126551],"mapped",[1582]],[[126552,126552],"disallowed"],[[126553,126553],"mapped",[1590]],[[126554,126554],"disallowed"],[[126555,126555],"mapped",[1594]],[[126556,126556],"disallowed"],[[126557,126557],"mapped",[1722]],[[126558,126558],"disallowed"],[[126559,126559],"mapped",[1647]],[[126560,126560],"disallowed"],[[126561,126561],"mapped",[1576]],[[126562,126562],"mapped",[1580]],[[126563,126563],"disallowed"],[[126564,126564],"mapped",[1607]],[[126565,126566],"disallowed"],[[126567,126567],"mapped",[1581]],[[126568,126568],"mapped",[1591]],[[126569,126569],"mapped",[1610]],[[126570,126570],"mapped",[1603]],[[126571,126571],"disallowed"],[[126572,126572],"mapped",[1605]],[[126573,126573],"mapped",[1606]],[[126574,126574],"mapped",[1587]],[[126575,126575],"mapped",[1593]],[[126576,126576],"mapped",[1601]],[[126577,126577],"mapped",[1589]],[[126578,126578],"mapped",[1602]],[[126579,126579],"disallowed"],[[126580,126580],"mapped",[1588]],[[126581,126581],"mapped",[1578]],[[126582,126582],"mapped",[1579]],[[126583,126583],"mapped",[1582]],[[126584,126584],"disallowed"],[[126585,126585],"mapped",[1590]],[[126586,126586],"mapped",[1592]],[[126587,126587],"mapped",[1594]],[[126588,126588],"mapped",[1646]],[[126589,126589],"disallowed"],[[126590,126590],"mapped",[1697]],[[126591,126591],"disallowed"],[[126592,126592],"mapped",[1575]],[[126593,126593],"mapped",[1576]],[[126594,126594],"mapped",[1580]],[[126595,126595],"mapped",[1583]],[[126596,126596],"mapped",[1607]],[[126597,126597],"mapped",[1608]],[[126598,126598],"mapped",[1586]],[[126599,126599],"mapped",[1581]],[[126600,126600],"mapped",[1591]],[[126601,126601],"mapped",[1610]],[[126602,126602],"disallowed"],[[126603,126603],"mapped",[1604]],[[126604,126604],"mapped",[1605]],[[126605,126605],"mapped",[1606]],[[126606,126606],"mapped",[1587]],[[126607,126607],"mapped",[1593]],[[126608,126608],"mapped",[1601]],[[126609,126609],"mapped",[1589]],[[126610,126610],"mapped",[1602]],[[126611,126611],"mapped",[1585]],[[126612,126612],"mapped",[1588]],[[126613,126613],"mapped",[1578]],[[126614,126614],"mapped",[1579]],[[126615,126615],"mapped",[1582]],[[126616,126616],"mapped",[1584]],[[126617,126617],"mapped",[1590]],[[126618,126618],"mapped",[1592]],[[126619,126619],"mapped",[1594]],[[126620,126624],"disallowed"],[[126625,126625],"mapped",[1576]],[[126626,126626],"mapped",[1580]],[[126627,126627],"mapped",[1583]],[[126628,126628],"disallowed"],[[126629,126629],"mapped",[1608]],[[126630,126630],"mapped",[1586]],[[126631,126631],"mapped",[1581]],[[126632,126632],"mapped",[1591]],[[126633,126633],"mapped",[1610]],[[126634,126634],"disallowed"],[[126635,126635],"mapped",[1604]],[[126636,126636],"mapped",[1605]],[[126637,126637],"mapped",[1606]],[[126638,126638],"mapped",[1587]],[[126639,126639],"mapped",[1593]],[[126640,126640],"mapped",[1601]],[[126641,126641],"mapped",[1589]],[[126642,126642],"mapped",[1602]],[[126643,126643],"mapped",[1585]],[[126644,126644],"mapped",[1588]],[[126645,126645],"mapped",[1578]],[[126646,126646],"mapped",[1579]],[[126647,126647],"mapped",[1582]],[[126648,126648],"mapped",[1584]],[[126649,126649],"mapped",[1590]],[[126650,126650],"mapped",[1592]],[[126651,126651],"mapped",[1594]],[[126652,126703],"disallowed"],[[126704,126705],"valid",[],"NV8"],[[126706,126975],"disallowed"],[[126976,127019],"valid",[],"NV8"],[[127020,127023],"disallowed"],[[127024,127123],"valid",[],"NV8"],[[127124,127135],"disallowed"],[[127136,127150],"valid",[],"NV8"],[[127151,127152],"disallowed"],[[127153,127166],"valid",[],"NV8"],[[127167,127167],"valid",[],"NV8"],[[127168,127168],"disallowed"],[[127169,127183],"valid",[],"NV8"],[[127184,127184],"disallowed"],[[127185,127199],"valid",[],"NV8"],[[127200,127221],"valid",[],"NV8"],[[127222,127231],"disallowed"],[[127232,127232],"disallowed"],[[127233,127233],"disallowed_STD3_mapped",[48,44]],[[127234,127234],"disallowed_STD3_mapped",[49,44]],[[127235,127235],"disallowed_STD3_mapped",[50,44]],[[127236,127236],"disallowed_STD3_mapped",[51,44]],[[127237,127237],"disallowed_STD3_mapped",[52,44]],[[127238,127238],"disallowed_STD3_mapped",[53,44]],[[127239,127239],"disallowed_STD3_mapped",[54,44]],[[127240,127240],"disallowed_STD3_mapped",[55,44]],[[127241,127241],"disallowed_STD3_mapped",[56,44]],[[127242,127242],"disallowed_STD3_mapped",[57,44]],[[127243,127244],"valid",[],"NV8"],[[127245,127247],"disallowed"],[[127248,127248],"disallowed_STD3_mapped",[40,97,41]],[[127249,127249],"disallowed_STD3_mapped",[40,98,41]],[[127250,127250],"disallowed_STD3_mapped",[40,99,41]],[[127251,127251],"disallowed_STD3_mapped",[40,100,41]],[[127252,127252],"disallowed_STD3_mapped",[40,101,41]],[[127253,127253],"disallowed_STD3_mapped",[40,102,41]],[[127254,127254],"disallowed_STD3_mapped",[40,103,41]],[[127255,127255],"disallowed_STD3_mapped",[40,104,41]],[[127256,127256],"disallowed_STD3_mapped",[40,105,41]],[[127257,127257],"disallowed_STD3_mapped",[40,106,41]],[[127258,127258],"disallowed_STD3_mapped",[40,107,41]],[[127259,127259],"disallowed_STD3_mapped",[40,108,41]],[[127260,127260],"disallowed_STD3_mapped",[40,109,41]],[[127261,127261],"disallowed_STD3_mapped",[40,110,41]],[[127262,127262],"disallowed_STD3_mapped",[40,111,41]],[[127263,127263],"disallowed_STD3_mapped",[40,112,41]],[[127264,127264],"disallowed_STD3_mapped",[40,113,41]],[[127265,127265],"disallowed_STD3_mapped",[40,114,41]],[[127266,127266],"disallowed_STD3_mapped",[40,115,41]],[[127267,127267],"disallowed_STD3_mapped",[40,116,41]],[[127268,127268],"disallowed_STD3_mapped",[40,117,41]],[[127269,127269],"disallowed_STD3_mapped",[40,118,41]],[[127270,127270],"disallowed_STD3_mapped",[40,119,41]],[[127271,127271],"disallowed_STD3_mapped",[40,120,41]],[[127272,127272],"disallowed_STD3_mapped",[40,121,41]],[[127273,127273],"disallowed_STD3_mapped",[40,122,41]],[[127274,127274],"mapped",[12308,115,12309]],[[127275,127275],"mapped",[99]],[[127276,127276],"mapped",[114]],[[127277,127277],"mapped",[99,100]],[[127278,127278],"mapped",[119,122]],[[127279,127279],"disallowed"],[[127280,127280],"mapped",[97]],[[127281,127281],"mapped",[98]],[[127282,127282],"mapped",[99]],[[127283,127283],"mapped",[100]],[[127284,127284],"mapped",[101]],[[127285,127285],"mapped",[102]],[[127286,127286],"mapped",[103]],[[127287,127287],"mapped",[104]],[[127288,127288],"mapped",[105]],[[127289,127289],"mapped",[106]],[[127290,127290],"mapped",[107]],[[127291,127291],"mapped",[108]],[[127292,127292],"mapped",[109]],[[127293,127293],"mapped",[110]],[[127294,127294],"mapped",[111]],[[127295,127295],"mapped",[112]],[[127296,127296],"mapped",[113]],[[127297,127297],"mapped",[114]],[[127298,127298],"mapped",[115]],[[127299,127299],"mapped",[116]],[[127300,127300],"mapped",[117]],[[127301,127301],"mapped",[118]],[[127302,127302],"mapped",[119]],[[127303,127303],"mapped",[120]],[[127304,127304],"mapped",[121]],[[127305,127305],"mapped",[122]],[[127306,127306],"mapped",[104,118]],[[127307,127307],"mapped",[109,118]],[[127308,127308],"mapped",[115,100]],[[127309,127309],"mapped",[115,115]],[[127310,127310],"mapped",[112,112,118]],[[127311,127311],"mapped",[119,99]],[[127312,127318],"valid",[],"NV8"],[[127319,127319],"valid",[],"NV8"],[[127320,127326],"valid",[],"NV8"],[[127327,127327],"valid",[],"NV8"],[[127328,127337],"valid",[],"NV8"],[[127338,127338],"mapped",[109,99]],[[127339,127339],"mapped",[109,100]],[[127340,127343],"disallowed"],[[127344,127352],"valid",[],"NV8"],[[127353,127353],"valid",[],"NV8"],[[127354,127354],"valid",[],"NV8"],[[127355,127356],"valid",[],"NV8"],[[127357,127358],"valid",[],"NV8"],[[127359,127359],"valid",[],"NV8"],[[127360,127369],"valid",[],"NV8"],[[127370,127373],"valid",[],"NV8"],[[127374,127375],"valid",[],"NV8"],[[127376,127376],"mapped",[100,106]],[[127377,127386],"valid",[],"NV8"],[[127387,127461],"disallowed"],[[127462,127487],"valid",[],"NV8"],[[127488,127488],"mapped",[12411,12363]],[[127489,127489],"mapped",[12467,12467]],[[127490,127490],"mapped",[12469]],[[127491,127503],"disallowed"],[[127504,127504],"mapped",[25163]],[[127505,127505],"mapped",[23383]],[[127506,127506],"mapped",[21452]],[[127507,127507],"mapped",[12487]],[[127508,127508],"mapped",[20108]],[[127509,127509],"mapped",[22810]],[[127510,127510],"mapped",[35299]],[[127511,127511],"mapped",[22825]],[[127512,127512],"mapped",[20132]],[[127513,127513],"mapped",[26144]],[[127514,127514],"mapped",[28961]],[[127515,127515],"mapped",[26009]],[[127516,127516],"mapped",[21069]],[[127517,127517],"mapped",[24460]],[[127518,127518],"mapped",[20877]],[[127519,127519],"mapped",[26032]],[[127520,127520],"mapped",[21021]],[[127521,127521],"mapped",[32066]],[[127522,127522],"mapped",[29983]],[[127523,127523],"mapped",[36009]],[[127524,127524],"mapped",[22768]],[[127525,127525],"mapped",[21561]],[[127526,127526],"mapped",[28436]],[[127527,127527],"mapped",[25237]],[[127528,127528],"mapped",[25429]],[[127529,127529],"mapped",[19968]],[[127530,127530],"mapped",[19977]],[[127531,127531],"mapped",[36938]],[[127532,127532],"mapped",[24038]],[[127533,127533],"mapped",[20013]],[[127534,127534],"mapped",[21491]],[[127535,127535],"mapped",[25351]],[[127536,127536],"mapped",[36208]],[[127537,127537],"mapped",[25171]],[[127538,127538],"mapped",[31105]],[[127539,127539],"mapped",[31354]],[[127540,127540],"mapped",[21512]],[[127541,127541],"mapped",[28288]],[[127542,127542],"mapped",[26377]],[[127543,127543],"mapped",[26376]],[[127544,127544],"mapped",[30003]],[[127545,127545],"mapped",[21106]],[[127546,127546],"mapped",[21942]],[[127547,127551],"disallowed"],[[127552,127552],"mapped",[12308,26412,12309]],[[127553,127553],"mapped",[12308,19977,12309]],[[127554,127554],"mapped",[12308,20108,12309]],[[127555,127555],"mapped",[12308,23433,12309]],[[127556,127556],"mapped",[12308,28857,12309]],[[127557,127557],"mapped",[12308,25171,12309]],[[127558,127558],"mapped",[12308,30423,12309]],[[127559,127559],"mapped",[12308,21213,12309]],[[127560,127560],"mapped",[12308,25943,12309]],[[127561,127567],"disallowed"],[[127568,127568],"mapped",[24471]],[[127569,127569],"mapped",[21487]],[[127570,127743],"disallowed"],[[127744,127776],"valid",[],"NV8"],[[127777,127788],"valid",[],"NV8"],[[127789,127791],"valid",[],"NV8"],[[127792,127797],"valid",[],"NV8"],[[127798,127798],"valid",[],"NV8"],[[127799,127868],"valid",[],"NV8"],[[127869,127869],"valid",[],"NV8"],[[127870,127871],"valid",[],"NV8"],[[127872,127891],"valid",[],"NV8"],[[127892,127903],"valid",[],"NV8"],[[127904,127940],"valid",[],"NV8"],[[127941,127941],"valid",[],"NV8"],[[127942,127946],"valid",[],"NV8"],[[127947,127950],"valid",[],"NV8"],[[127951,127955],"valid",[],"NV8"],[[127956,127967],"valid",[],"NV8"],[[127968,127984],"valid",[],"NV8"],[[127985,127991],"valid",[],"NV8"],[[127992,127999],"valid",[],"NV8"],[[128e3,128062],"valid",[],"NV8"],[[128063,128063],"valid",[],"NV8"],[[128064,128064],"valid",[],"NV8"],[[128065,128065],"valid",[],"NV8"],[[128066,128247],"valid",[],"NV8"],[[128248,128248],"valid",[],"NV8"],[[128249,128252],"valid",[],"NV8"],[[128253,128254],"valid",[],"NV8"],[[128255,128255],"valid",[],"NV8"],[[128256,128317],"valid",[],"NV8"],[[128318,128319],"valid",[],"NV8"],[[128320,128323],"valid",[],"NV8"],[[128324,128330],"valid",[],"NV8"],[[128331,128335],"valid",[],"NV8"],[[128336,128359],"valid",[],"NV8"],[[128360,128377],"valid",[],"NV8"],[[128378,128378],"disallowed"],[[128379,128419],"valid",[],"NV8"],[[128420,128420],"disallowed"],[[128421,128506],"valid",[],"NV8"],[[128507,128511],"valid",[],"NV8"],[[128512,128512],"valid",[],"NV8"],[[128513,128528],"valid",[],"NV8"],[[128529,128529],"valid",[],"NV8"],[[128530,128532],"valid",[],"NV8"],[[128533,128533],"valid",[],"NV8"],[[128534,128534],"valid",[],"NV8"],[[128535,128535],"valid",[],"NV8"],[[128536,128536],"valid",[],"NV8"],[[128537,128537],"valid",[],"NV8"],[[128538,128538],"valid",[],"NV8"],[[128539,128539],"valid",[],"NV8"],[[128540,128542],"valid",[],"NV8"],[[128543,128543],"valid",[],"NV8"],[[128544,128549],"valid",[],"NV8"],[[128550,128551],"valid",[],"NV8"],[[128552,128555],"valid",[],"NV8"],[[128556,128556],"valid",[],"NV8"],[[128557,128557],"valid",[],"NV8"],[[128558,128559],"valid",[],"NV8"],[[128560,128563],"valid",[],"NV8"],[[128564,128564],"valid",[],"NV8"],[[128565,128576],"valid",[],"NV8"],[[128577,128578],"valid",[],"NV8"],[[128579,128580],"valid",[],"NV8"],[[128581,128591],"valid",[],"NV8"],[[128592,128639],"valid",[],"NV8"],[[128640,128709],"valid",[],"NV8"],[[128710,128719],"valid",[],"NV8"],[[128720,128720],"valid",[],"NV8"],[[128721,128735],"disallowed"],[[128736,128748],"valid",[],"NV8"],[[128749,128751],"disallowed"],[[128752,128755],"valid",[],"NV8"],[[128756,128767],"disallowed"],[[128768,128883],"valid",[],"NV8"],[[128884,128895],"disallowed"],[[128896,128980],"valid",[],"NV8"],[[128981,129023],"disallowed"],[[129024,129035],"valid",[],"NV8"],[[129036,129039],"disallowed"],[[129040,129095],"valid",[],"NV8"],[[129096,129103],"disallowed"],[[129104,129113],"valid",[],"NV8"],[[129114,129119],"disallowed"],[[129120,129159],"valid",[],"NV8"],[[129160,129167],"disallowed"],[[129168,129197],"valid",[],"NV8"],[[129198,129295],"disallowed"],[[129296,129304],"valid",[],"NV8"],[[129305,129407],"disallowed"],[[129408,129412],"valid",[],"NV8"],[[129413,129471],"disallowed"],[[129472,129472],"valid",[],"NV8"],[[129473,131069],"disallowed"],[[131070,131071],"disallowed"],[[131072,173782],"valid"],[[173783,173823],"disallowed"],[[173824,177972],"valid"],[[177973,177983],"disallowed"],[[177984,178205],"valid"],[[178206,178207],"disallowed"],[[178208,183969],"valid"],[[183970,194559],"disallowed"],[[194560,194560],"mapped",[20029]],[[194561,194561],"mapped",[20024]],[[194562,194562],"mapped",[20033]],[[194563,194563],"mapped",[131362]],[[194564,194564],"mapped",[20320]],[[194565,194565],"mapped",[20398]],[[194566,194566],"mapped",[20411]],[[194567,194567],"mapped",[20482]],[[194568,194568],"mapped",[20602]],[[194569,194569],"mapped",[20633]],[[194570,194570],"mapped",[20711]],[[194571,194571],"mapped",[20687]],[[194572,194572],"mapped",[13470]],[[194573,194573],"mapped",[132666]],[[194574,194574],"mapped",[20813]],[[194575,194575],"mapped",[20820]],[[194576,194576],"mapped",[20836]],[[194577,194577],"mapped",[20855]],[[194578,194578],"mapped",[132380]],[[194579,194579],"mapped",[13497]],[[194580,194580],"mapped",[20839]],[[194581,194581],"mapped",[20877]],[[194582,194582],"mapped",[132427]],[[194583,194583],"mapped",[20887]],[[194584,194584],"mapped",[20900]],[[194585,194585],"mapped",[20172]],[[194586,194586],"mapped",[20908]],[[194587,194587],"mapped",[20917]],[[194588,194588],"mapped",[168415]],[[194589,194589],"mapped",[20981]],[[194590,194590],"mapped",[20995]],[[194591,194591],"mapped",[13535]],[[194592,194592],"mapped",[21051]],[[194593,194593],"mapped",[21062]],[[194594,194594],"mapped",[21106]],[[194595,194595],"mapped",[21111]],[[194596,194596],"mapped",[13589]],[[194597,194597],"mapped",[21191]],[[194598,194598],"mapped",[21193]],[[194599,194599],"mapped",[21220]],[[194600,194600],"mapped",[21242]],[[194601,194601],"mapped",[21253]],[[194602,194602],"mapped",[21254]],[[194603,194603],"mapped",[21271]],[[194604,194604],"mapped",[21321]],[[194605,194605],"mapped",[21329]],[[194606,194606],"mapped",[21338]],[[194607,194607],"mapped",[21363]],[[194608,194608],"mapped",[21373]],[[194609,194611],"mapped",[21375]],[[194612,194612],"mapped",[133676]],[[194613,194613],"mapped",[28784]],[[194614,194614],"mapped",[21450]],[[194615,194615],"mapped",[21471]],[[194616,194616],"mapped",[133987]],[[194617,194617],"mapped",[21483]],[[194618,194618],"mapped",[21489]],[[194619,194619],"mapped",[21510]],[[194620,194620],"mapped",[21662]],[[194621,194621],"mapped",[21560]],[[194622,194622],"mapped",[21576]],[[194623,194623],"mapped",[21608]],[[194624,194624],"mapped",[21666]],[[194625,194625],"mapped",[21750]],[[194626,194626],"mapped",[21776]],[[194627,194627],"mapped",[21843]],[[194628,194628],"mapped",[21859]],[[194629,194630],"mapped",[21892]],[[194631,194631],"mapped",[21913]],[[194632,194632],"mapped",[21931]],[[194633,194633],"mapped",[21939]],[[194634,194634],"mapped",[21954]],[[194635,194635],"mapped",[22294]],[[194636,194636],"mapped",[22022]],[[194637,194637],"mapped",[22295]],[[194638,194638],"mapped",[22097]],[[194639,194639],"mapped",[22132]],[[194640,194640],"mapped",[20999]],[[194641,194641],"mapped",[22766]],[[194642,194642],"mapped",[22478]],[[194643,194643],"mapped",[22516]],[[194644,194644],"mapped",[22541]],[[194645,194645],"mapped",[22411]],[[194646,194646],"mapped",[22578]],[[194647,194647],"mapped",[22577]],[[194648,194648],"mapped",[22700]],[[194649,194649],"mapped",[136420]],[[194650,194650],"mapped",[22770]],[[194651,194651],"mapped",[22775]],[[194652,194652],"mapped",[22790]],[[194653,194653],"mapped",[22810]],[[194654,194654],"mapped",[22818]],[[194655,194655],"mapped",[22882]],[[194656,194656],"mapped",[136872]],[[194657,194657],"mapped",[136938]],[[194658,194658],"mapped",[23020]],[[194659,194659],"mapped",[23067]],[[194660,194660],"mapped",[23079]],[[194661,194661],"mapped",[23e3]],[[194662,194662],"mapped",[23142]],[[194663,194663],"mapped",[14062]],[[194664,194664],"disallowed"],[[194665,194665],"mapped",[23304]],[[194666,194667],"mapped",[23358]],[[194668,194668],"mapped",[137672]],[[194669,194669],"mapped",[23491]],[[194670,194670],"mapped",[23512]],[[194671,194671],"mapped",[23527]],[[194672,194672],"mapped",[23539]],[[194673,194673],"mapped",[138008]],[[194674,194674],"mapped",[23551]],[[194675,194675],"mapped",[23558]],[[194676,194676],"disallowed"],[[194677,194677],"mapped",[23586]],[[194678,194678],"mapped",[14209]],[[194679,194679],"mapped",[23648]],[[194680,194680],"mapped",[23662]],[[194681,194681],"mapped",[23744]],[[194682,194682],"mapped",[23693]],[[194683,194683],"mapped",[138724]],[[194684,194684],"mapped",[23875]],[[194685,194685],"mapped",[138726]],[[194686,194686],"mapped",[23918]],[[194687,194687],"mapped",[23915]],[[194688,194688],"mapped",[23932]],[[194689,194689],"mapped",[24033]],[[194690,194690],"mapped",[24034]],[[194691,194691],"mapped",[14383]],[[194692,194692],"mapped",[24061]],[[194693,194693],"mapped",[24104]],[[194694,194694],"mapped",[24125]],[[194695,194695],"mapped",[24169]],[[194696,194696],"mapped",[14434]],[[194697,194697],"mapped",[139651]],[[194698,194698],"mapped",[14460]],[[194699,194699],"mapped",[24240]],[[194700,194700],"mapped",[24243]],[[194701,194701],"mapped",[24246]],[[194702,194702],"mapped",[24266]],[[194703,194703],"mapped",[172946]],[[194704,194704],"mapped",[24318]],[[194705,194706],"mapped",[140081]],[[194707,194707],"mapped",[33281]],[[194708,194709],"mapped",[24354]],[[194710,194710],"mapped",[14535]],[[194711,194711],"mapped",[144056]],[[194712,194712],"mapped",[156122]],[[194713,194713],"mapped",[24418]],[[194714,194714],"mapped",[24427]],[[194715,194715],"mapped",[14563]],[[194716,194716],"mapped",[24474]],[[194717,194717],"mapped",[24525]],[[194718,194718],"mapped",[24535]],[[194719,194719],"mapped",[24569]],[[194720,194720],"mapped",[24705]],[[194721,194721],"mapped",[14650]],[[194722,194722],"mapped",[14620]],[[194723,194723],"mapped",[24724]],[[194724,194724],"mapped",[141012]],[[194725,194725],"mapped",[24775]],[[194726,194726],"mapped",[24904]],[[194727,194727],"mapped",[24908]],[[194728,194728],"mapped",[24910]],[[194729,194729],"mapped",[24908]],[[194730,194730],"mapped",[24954]],[[194731,194731],"mapped",[24974]],[[194732,194732],"mapped",[25010]],[[194733,194733],"mapped",[24996]],[[194734,194734],"mapped",[25007]],[[194735,194735],"mapped",[25054]],[[194736,194736],"mapped",[25074]],[[194737,194737],"mapped",[25078]],[[194738,194738],"mapped",[25104]],[[194739,194739],"mapped",[25115]],[[194740,194740],"mapped",[25181]],[[194741,194741],"mapped",[25265]],[[194742,194742],"mapped",[25300]],[[194743,194743],"mapped",[25424]],[[194744,194744],"mapped",[142092]],[[194745,194745],"mapped",[25405]],[[194746,194746],"mapped",[25340]],[[194747,194747],"mapped",[25448]],[[194748,194748],"mapped",[25475]],[[194749,194749],"mapped",[25572]],[[194750,194750],"mapped",[142321]],[[194751,194751],"mapped",[25634]],[[194752,194752],"mapped",[25541]],[[194753,194753],"mapped",[25513]],[[194754,194754],"mapped",[14894]],[[194755,194755],"mapped",[25705]],[[194756,194756],"mapped",[25726]],[[194757,194757],"mapped",[25757]],[[194758,194758],"mapped",[25719]],[[194759,194759],"mapped",[14956]],[[194760,194760],"mapped",[25935]],[[194761,194761],"mapped",[25964]],[[194762,194762],"mapped",[143370]],[[194763,194763],"mapped",[26083]],[[194764,194764],"mapped",[26360]],[[194765,194765],"mapped",[26185]],[[194766,194766],"mapped",[15129]],[[194767,194767],"mapped",[26257]],[[194768,194768],"mapped",[15112]],[[194769,194769],"mapped",[15076]],[[194770,194770],"mapped",[20882]],[[194771,194771],"mapped",[20885]],[[194772,194772],"mapped",[26368]],[[194773,194773],"mapped",[26268]],[[194774,194774],"mapped",[32941]],[[194775,194775],"mapped",[17369]],[[194776,194776],"mapped",[26391]],[[194777,194777],"mapped",[26395]],[[194778,194778],"mapped",[26401]],[[194779,194779],"mapped",[26462]],[[194780,194780],"mapped",[26451]],[[194781,194781],"mapped",[144323]],[[194782,194782],"mapped",[15177]],[[194783,194783],"mapped",[26618]],[[194784,194784],"mapped",[26501]],[[194785,194785],"mapped",[26706]],[[194786,194786],"mapped",[26757]],[[194787,194787],"mapped",[144493]],[[194788,194788],"mapped",[26766]],[[194789,194789],"mapped",[26655]],[[194790,194790],"mapped",[26900]],[[194791,194791],"mapped",[15261]],[[194792,194792],"mapped",[26946]],[[194793,194793],"mapped",[27043]],[[194794,194794],"mapped",[27114]],[[194795,194795],"mapped",[27304]],[[194796,194796],"mapped",[145059]],[[194797,194797],"mapped",[27355]],[[194798,194798],"mapped",[15384]],[[194799,194799],"mapped",[27425]],[[194800,194800],"mapped",[145575]],[[194801,194801],"mapped",[27476]],[[194802,194802],"mapped",[15438]],[[194803,194803],"mapped",[27506]],[[194804,194804],"mapped",[27551]],[[194805,194805],"mapped",[27578]],[[194806,194806],"mapped",[27579]],[[194807,194807],"mapped",[146061]],[[194808,194808],"mapped",[138507]],[[194809,194809],"mapped",[146170]],[[194810,194810],"mapped",[27726]],[[194811,194811],"mapped",[146620]],[[194812,194812],"mapped",[27839]],[[194813,194813],"mapped",[27853]],[[194814,194814],"mapped",[27751]],[[194815,194815],"mapped",[27926]],[[194816,194816],"mapped",[27966]],[[194817,194817],"mapped",[28023]],[[194818,194818],"mapped",[27969]],[[194819,194819],"mapped",[28009]],[[194820,194820],"mapped",[28024]],[[194821,194821],"mapped",[28037]],[[194822,194822],"mapped",[146718]],[[194823,194823],"mapped",[27956]],[[194824,194824],"mapped",[28207]],[[194825,194825],"mapped",[28270]],[[194826,194826],"mapped",[15667]],[[194827,194827],"mapped",[28363]],[[194828,194828],"mapped",[28359]],[[194829,194829],"mapped",[147153]],[[194830,194830],"mapped",[28153]],[[194831,194831],"mapped",[28526]],[[194832,194832],"mapped",[147294]],[[194833,194833],"mapped",[147342]],[[194834,194834],"mapped",[28614]],[[194835,194835],"mapped",[28729]],[[194836,194836],"mapped",[28702]],[[194837,194837],"mapped",[28699]],[[194838,194838],"mapped",[15766]],[[194839,194839],"mapped",[28746]],[[194840,194840],"mapped",[28797]],[[194841,194841],"mapped",[28791]],[[194842,194842],"mapped",[28845]],[[194843,194843],"mapped",[132389]],[[194844,194844],"mapped",[28997]],[[194845,194845],"mapped",[148067]],[[194846,194846],"mapped",[29084]],[[194847,194847],"disallowed"],[[194848,194848],"mapped",[29224]],[[194849,194849],"mapped",[29237]],[[194850,194850],"mapped",[29264]],[[194851,194851],"mapped",[149e3]],[[194852,194852],"mapped",[29312]],[[194853,194853],"mapped",[29333]],[[194854,194854],"mapped",[149301]],[[194855,194855],"mapped",[149524]],[[194856,194856],"mapped",[29562]],[[194857,194857],"mapped",[29579]],[[194858,194858],"mapped",[16044]],[[194859,194859],"mapped",[29605]],[[194860,194861],"mapped",[16056]],[[194862,194862],"mapped",[29767]],[[194863,194863],"mapped",[29788]],[[194864,194864],"mapped",[29809]],[[194865,194865],"mapped",[29829]],[[194866,194866],"mapped",[29898]],[[194867,194867],"mapped",[16155]],[[194868,194868],"mapped",[29988]],[[194869,194869],"mapped",[150582]],[[194870,194870],"mapped",[30014]],[[194871,194871],"mapped",[150674]],[[194872,194872],"mapped",[30064]],[[194873,194873],"mapped",[139679]],[[194874,194874],"mapped",[30224]],[[194875,194875],"mapped",[151457]],[[194876,194876],"mapped",[151480]],[[194877,194877],"mapped",[151620]],[[194878,194878],"mapped",[16380]],[[194879,194879],"mapped",[16392]],[[194880,194880],"mapped",[30452]],[[194881,194881],"mapped",[151795]],[[194882,194882],"mapped",[151794]],[[194883,194883],"mapped",[151833]],[[194884,194884],"mapped",[151859]],[[194885,194885],"mapped",[30494]],[[194886,194887],"mapped",[30495]],[[194888,194888],"mapped",[30538]],[[194889,194889],"mapped",[16441]],[[194890,194890],"mapped",[30603]],[[194891,194891],"mapped",[16454]],[[194892,194892],"mapped",[16534]],[[194893,194893],"mapped",[152605]],[[194894,194894],"mapped",[30798]],[[194895,194895],"mapped",[30860]],[[194896,194896],"mapped",[30924]],[[194897,194897],"mapped",[16611]],[[194898,194898],"mapped",[153126]],[[194899,194899],"mapped",[31062]],[[194900,194900],"mapped",[153242]],[[194901,194901],"mapped",[153285]],[[194902,194902],"mapped",[31119]],[[194903,194903],"mapped",[31211]],[[194904,194904],"mapped",[16687]],[[194905,194905],"mapped",[31296]],[[194906,194906],"mapped",[31306]],[[194907,194907],"mapped",[31311]],[[194908,194908],"mapped",[153980]],[[194909,194910],"mapped",[154279]],[[194911,194911],"disallowed"],[[194912,194912],"mapped",[16898]],[[194913,194913],"mapped",[154539]],[[194914,194914],"mapped",[31686]],[[194915,194915],"mapped",[31689]],[[194916,194916],"mapped",[16935]],[[194917,194917],"mapped",[154752]],[[194918,194918],"mapped",[31954]],[[194919,194919],"mapped",[17056]],[[194920,194920],"mapped",[31976]],[[194921,194921],"mapped",[31971]],[[194922,194922],"mapped",[32e3]],[[194923,194923],"mapped",[155526]],[[194924,194924],"mapped",[32099]],[[194925,194925],"mapped",[17153]],[[194926,194926],"mapped",[32199]],[[194927,194927],"mapped",[32258]],[[194928,194928],"mapped",[32325]],[[194929,194929],"mapped",[17204]],[[194930,194930],"mapped",[156200]],[[194931,194931],"mapped",[156231]],[[194932,194932],"mapped",[17241]],[[194933,194933],"mapped",[156377]],[[194934,194934],"mapped",[32634]],[[194935,194935],"mapped",[156478]],[[194936,194936],"mapped",[32661]],[[194937,194937],"mapped",[32762]],[[194938,194938],"mapped",[32773]],[[194939,194939],"mapped",[156890]],[[194940,194940],"mapped",[156963]],[[194941,194941],"mapped",[32864]],[[194942,194942],"mapped",[157096]],[[194943,194943],"mapped",[32880]],[[194944,194944],"mapped",[144223]],[[194945,194945],"mapped",[17365]],[[194946,194946],"mapped",[32946]],[[194947,194947],"mapped",[33027]],[[194948,194948],"mapped",[17419]],[[194949,194949],"mapped",[33086]],[[194950,194950],"mapped",[23221]],[[194951,194951],"mapped",[157607]],[[194952,194952],"mapped",[157621]],[[194953,194953],"mapped",[144275]],[[194954,194954],"mapped",[144284]],[[194955,194955],"mapped",[33281]],[[194956,194956],"mapped",[33284]],[[194957,194957],"mapped",[36766]],[[194958,194958],"mapped",[17515]],[[194959,194959],"mapped",[33425]],[[194960,194960],"mapped",[33419]],[[194961,194961],"mapped",[33437]],[[194962,194962],"mapped",[21171]],[[194963,194963],"mapped",[33457]],[[194964,194964],"mapped",[33459]],[[194965,194965],"mapped",[33469]],[[194966,194966],"mapped",[33510]],[[194967,194967],"mapped",[158524]],[[194968,194968],"mapped",[33509]],[[194969,194969],"mapped",[33565]],[[194970,194970],"mapped",[33635]],[[194971,194971],"mapped",[33709]],[[194972,194972],"mapped",[33571]],[[194973,194973],"mapped",[33725]],[[194974,194974],"mapped",[33767]],[[194975,194975],"mapped",[33879]],[[194976,194976],"mapped",[33619]],[[194977,194977],"mapped",[33738]],[[194978,194978],"mapped",[33740]],[[194979,194979],"mapped",[33756]],[[194980,194980],"mapped",[158774]],[[194981,194981],"mapped",[159083]],[[194982,194982],"mapped",[158933]],[[194983,194983],"mapped",[17707]],[[194984,194984],"mapped",[34033]],[[194985,194985],"mapped",[34035]],[[194986,194986],"mapped",[34070]],[[194987,194987],"mapped",[160714]],[[194988,194988],"mapped",[34148]],[[194989,194989],"mapped",[159532]],[[194990,194990],"mapped",[17757]],[[194991,194991],"mapped",[17761]],[[194992,194992],"mapped",[159665]],[[194993,194993],"mapped",[159954]],[[194994,194994],"mapped",[17771]],[[194995,194995],"mapped",[34384]],[[194996,194996],"mapped",[34396]],[[194997,194997],"mapped",[34407]],[[194998,194998],"mapped",[34409]],[[194999,194999],"mapped",[34473]],[[195e3,195e3],"mapped",[34440]],[[195001,195001],"mapped",[34574]],[[195002,195002],"mapped",[34530]],[[195003,195003],"mapped",[34681]],[[195004,195004],"mapped",[34600]],[[195005,195005],"mapped",[34667]],[[195006,195006],"mapped",[34694]],[[195007,195007],"disallowed"],[[195008,195008],"mapped",[34785]],[[195009,195009],"mapped",[34817]],[[195010,195010],"mapped",[17913]],[[195011,195011],"mapped",[34912]],[[195012,195012],"mapped",[34915]],[[195013,195013],"mapped",[161383]],[[195014,195014],"mapped",[35031]],[[195015,195015],"mapped",[35038]],[[195016,195016],"mapped",[17973]],[[195017,195017],"mapped",[35066]],[[195018,195018],"mapped",[13499]],[[195019,195019],"mapped",[161966]],[[195020,195020],"mapped",[162150]],[[195021,195021],"mapped",[18110]],[[195022,195022],"mapped",[18119]],[[195023,195023],"mapped",[35488]],[[195024,195024],"mapped",[35565]],[[195025,195025],"mapped",[35722]],[[195026,195026],"mapped",[35925]],[[195027,195027],"mapped",[162984]],[[195028,195028],"mapped",[36011]],[[195029,195029],"mapped",[36033]],[[195030,195030],"mapped",[36123]],[[195031,195031],"mapped",[36215]],[[195032,195032],"mapped",[163631]],[[195033,195033],"mapped",[133124]],[[195034,195034],"mapped",[36299]],[[195035,195035],"mapped",[36284]],[[195036,195036],"mapped",[36336]],[[195037,195037],"mapped",[133342]],[[195038,195038],"mapped",[36564]],[[195039,195039],"mapped",[36664]],[[195040,195040],"mapped",[165330]],[[195041,195041],"mapped",[165357]],[[195042,195042],"mapped",[37012]],[[195043,195043],"mapped",[37105]],[[195044,195044],"mapped",[37137]],[[195045,195045],"mapped",[165678]],[[195046,195046],"mapped",[37147]],[[195047,195047],"mapped",[37432]],[[195048,195048],"mapped",[37591]],[[195049,195049],"mapped",[37592]],[[195050,195050],"mapped",[37500]],[[195051,195051],"mapped",[37881]],[[195052,195052],"mapped",[37909]],[[195053,195053],"mapped",[166906]],[[195054,195054],"mapped",[38283]],[[195055,195055],"mapped",[18837]],[[195056,195056],"mapped",[38327]],[[195057,195057],"mapped",[167287]],[[195058,195058],"mapped",[18918]],[[195059,195059],"mapped",[38595]],[[195060,195060],"mapped",[23986]],[[195061,195061],"mapped",[38691]],[[195062,195062],"mapped",[168261]],[[195063,195063],"mapped",[168474]],[[195064,195064],"mapped",[19054]],[[195065,195065],"mapped",[19062]],[[195066,195066],"mapped",[38880]],[[195067,195067],"mapped",[168970]],[[195068,195068],"mapped",[19122]],[[195069,195069],"mapped",[169110]],[[195070,195071],"mapped",[38923]],[[195072,195072],"mapped",[38953]],[[195073,195073],"mapped",[169398]],[[195074,195074],"mapped",[39138]],[[195075,195075],"mapped",[19251]],[[195076,195076],"mapped",[39209]],[[195077,195077],"mapped",[39335]],[[195078,195078],"mapped",[39362]],[[195079,195079],"mapped",[39422]],[[195080,195080],"mapped",[19406]],[[195081,195081],"mapped",[170800]],[[195082,195082],"mapped",[39698]],[[195083,195083],"mapped",[4e4]],[[195084,195084],"mapped",[40189]],[[195085,195085],"mapped",[19662]],[[195086,195086],"mapped",[19693]],[[195087,195087],"mapped",[40295]],[[195088,195088],"mapped",[172238]],[[195089,195089],"mapped",[19704]],[[195090,195090],"mapped",[172293]],[[195091,195091],"mapped",[172558]],[[195092,195092],"mapped",[172689]],[[195093,195093],"mapped",[40635]],[[195094,195094],"mapped",[19798]],[[195095,195095],"mapped",[40697]],[[195096,195096],"mapped",[40702]],[[195097,195097],"mapped",[40709]],[[195098,195098],"mapped",[40719]],[[195099,195099],"mapped",[40726]],[[195100,195100],"mapped",[40763]],[[195101,195101],"mapped",[173568]],[[195102,196605],"disallowed"],[[196606,196607],"disallowed"],[[196608,262141],"disallowed"],[[262142,262143],"disallowed"],[[262144,327677],"disallowed"],[[327678,327679],"disallowed"],[[327680,393213],"disallowed"],[[393214,393215],"disallowed"],[[393216,458749],"disallowed"],[[458750,458751],"disallowed"],[[458752,524285],"disallowed"],[[524286,524287],"disallowed"],[[524288,589821],"disallowed"],[[589822,589823],"disallowed"],[[589824,655357],"disallowed"],[[655358,655359],"disallowed"],[[655360,720893],"disallowed"],[[720894,720895],"disallowed"],[[720896,786429],"disallowed"],[[786430,786431],"disallowed"],[[786432,851965],"disallowed"],[[851966,851967],"disallowed"],[[851968,917501],"disallowed"],[[917502,917503],"disallowed"],[[917504,917504],"disallowed"],[[917505,917505],"disallowed"],[[917506,917535],"disallowed"],[[917536,917631],"disallowed"],[[917632,917759],"disallowed"],[[917760,917999],"ignored"],[[918e3,983037],"disallowed"],[[983038,983039],"disallowed"],[[983040,1048573],"disallowed"],[[1048574,1048575],"disallowed"],[[1048576,1114109],"disallowed"],[[1114110,1114111],"disallowed"]]});var hQt=Le((xti,tme)=>{"use strict";var cQt=Li("punycode"),lQt=uQt(),_re={TRANSITIONAL:0,NONTRANSITIONAL:1};function TQt(e){return e.split("\0").map(function(t){return t.normalize("NFC")}).join("\0")}function pQt(e){for(var t=0,r=lQt.length-1;t<=r;){var n=Math.floor((t+r)/2),i=lQt[n];if(i[0][0]<=e&&i[0][1]>=e)return i;i[0][0]>e?r=n-1:t=n+1}return null}var V5r=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g;function _Qt(e){return e.replace(V5r,"_").length}function j5r(e,t,r){for(var n=!1,i="",s=_Qt(e),R=0;R253||R.length===0)&&(i.error=!0);for(var l=0;l63||s.length===0){i.error=!0;break}}return i.error?null:s.join(".")};tme.exports.toUnicode=function(e,t){var r=eme(e,t,_re.NONTRANSITIONAL);return{domain:r.string,error:r.error}};tme.exports.PROCESSING_OPTIONS=_re});var Bv=Le((mti,pA)=>{"use strict";var hre=Li("punycode"),fQt=hQt(),kQt={ftp:21,file:null,gopher:70,http:80,https:443,ws:80,wss:443},GR=Symbol("failure");function dQt(e){return hre.ucs2.decode(e).length}function xQt(e,t){let r=e[t];return isNaN(r)?void 0:String.fromCodePoint(r)}function p1e(e){return e>=48&&e<=57}function _1e(e){return e>=65&&e<=90||e>=97&&e<=122}function Z5r(e){return _1e(e)||p1e(e)}function SE(e){return p1e(e)||e>=65&&e<=70||e>=97&&e<=102}function mQt(e){return e==="."||e.toLowerCase()==="%2e"}function e9r(e){return e=e.toLowerCase(),e===".."||e==="%2e."||e===".%2e"||e==="%2e%2e"}function t9r(e,t){return _1e(e)&&(t===58||t===124)}function yQt(e){return e.length===2&&_1e(e.codePointAt(0))&&(e[1]===":"||e[1]==="|")}function r9r(e){return e.length===2&&_1e(e.codePointAt(0))&&e[1]===":"}function n9r(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|%|\/|:|\?|@|\[|\\|\]/)!==-1}function i9r(e){return e.search(/\u0000|\u0009|\u000A|\u000D|\u0020|#|\/|:|\?|@|\[|\\|\]/)!==-1}function aft(e){return kQt[e]!==void 0}function k2(e){return aft(e.scheme)}function a9r(e){return kQt[e]}function qQt(e){let t=e.toString(16).toUpperCase();return t.length===1&&(t="0"+t),"%"+t}function s9r(e){let t=new Buffer(e),r="";for(let n=0;n126}var R9r=new Set([32,34,35,60,62,63,96,123,125]);function CQt(e){return rme(e)||R9r.has(e)}var u9r=new Set([47,58,59,61,64,91,92,93,94,124]);function oft(e){return CQt(e)||u9r.has(e)}function _j(e,t){let r=String.fromCodePoint(e);return t(e)?s9r(r):r}function l9r(e){let t=10;return e.length>=2&&e.charAt(0)==="0"&&e.charAt(1).toLowerCase()==="x"?(e=e.substring(2),t=16):e.length>=2&&e.charAt(0)==="0"&&(e=e.substring(1),t=8),e===""?0:(t===10?/[^0-9]/:t===16?/[^0-9A-Fa-f]/:/[^0-7]/).test(e)?GR:parseInt(e,t)}function c9r(e){let t=e.split(".");if(t[t.length-1]===""&&t.length>1&&t.pop(),t.length>4)return e;let r=[];for(let s of t){if(s==="")return e;let R=l9r(s);if(R===GR)return e;r.push(R)}for(let s=0;s255)return GR;if(r[r.length-1]>=Math.pow(256,5-r.length))return GR;let n=r.pop(),i=0;for(let s of r)n+=s*Math.pow(256,3-i),++i;return n}function T9r(e){let t="",r=e;for(let n=1;n<=4;++n)t=String(r%256)+t,n!==4&&(t="."+t),r=Math.floor(r/256);return t}function p9r(e){let t=[0,0,0,0,0,0,0,0],r=0,n=null,i=0;if(e=hre.ucs2.decode(e),e[i]===58){if(e[i+1]!==58)return GR;i+=2,++r,n=r}for(;i6))return GR;let l=0;for(;e[i]!==void 0;){let c=null;if(l>0)if(e[i]===46&&l<4)++i;else return GR;if(!p1e(e[i]))return GR;for(;p1e(e[i]);){let h=parseInt(xQt(e,i));if(c===null)c=h;else{if(c===0)return GR;c=c*10+h}if(c>255)return GR;++i}t[r]=t[r]*256+c,++l,(l===2||l===4)&&++r}if(l!==4)return GR;break}else if(e[i]===58){if(++i,e[i]===void 0)return GR}else if(e[i]!==void 0)return GR;t[r]=s,++r}if(n!==null){let s=r-n;for(r=7;r!==0&&s>0;){let R=t[n+s-1];t[n+s-1]=t[r],t[r]=R,--r,--s}}else if(n===null&&r!==8)return GR;return t}function _9r(e){let t="",n=f9r(e).idx,i=!1;for(let s=0;s<=7;++s)if(!(i&&e[s]===0)){if(i&&(i=!1),n===s){t+=s===0?"::":":",i=!0;continue}t+=e[s].toString(16),s!==7&&(t+=":")}return t}function sft(e,t){if(e[0]==="[")return e[e.length-1]!=="]"?GR:p9r(e.substring(1,e.length-1));if(!t)return h9r(e);let r=o9r(e),n=fQt.toASCII(r,!1,fQt.PROCESSING_OPTIONS.NONTRANSITIONAL,!1);if(n===null||n9r(n))return GR;let i=c9r(n);return typeof i=="number"||i===GR?i:n}function h9r(e){if(i9r(e))return GR;let t="",r=hre.ucs2.decode(e);for(let n=0;nr&&(t=n,r=i),n=null,i=0):(n===null&&(n=s),++i);return i>r&&(t=n,r=i),{idx:t,len:r}}function Rft(e){return typeof e=="number"?T9r(e):e instanceof Array?"["+_9r(e)+"]":e}function d9r(e){return e.replace(/^[\u0000-\u001F\u0020]+|[\u0000-\u001F\u0020]+$/g,"")}function x9r(e){return e.replace(/\u0009|\u000A|\u000D/g,"")}function AQt(e){let t=e.path;t.length!==0&&(e.scheme==="file"&&t.length===1&&k9r(t[0])||t.pop())}function gQt(e){return e.username!==""||e.password!==""}function m9r(e){return e.host===null||e.host===""||e.cannotBeABaseURL||e.scheme==="file"}function k9r(e){return/^[A-Za-z]:$/.test(e)}function W_(e,t,r,n,i){if(this.pointer=0,this.input=e,this.base=t||null,this.encodingOverride=r||"utf-8",this.stateOverride=i,this.url=n,this.failure=!1,this.parseError=!1,!this.url){this.url={scheme:"",username:"",password:"",host:null,port:null,path:[],query:null,fragment:null,cannotBeABaseURL:!1};let R=d9r(this.input);R!==this.input&&(this.parseError=!0),this.input=R}let s=x9r(this.input);for(s!==this.input&&(this.parseError=!0),this.input=s,this.state=i||"scheme start",this.buffer="",this.atFlag=!1,this.arrFlag=!1,this.passwordTokenSeenFlag=!1,this.input=hre.ucs2.decode(this.input);this.pointer<=this.input.length;++this.pointer){let R=this.input[this.pointer],l=isNaN(R)?void 0:String.fromCodePoint(R),c=this["parse "+this.state](R,l);if(c){if(c===GR){this.failure=!0;break}}else break}}W_.prototype["parse scheme start"]=function(t,r){if(_1e(t))this.buffer+=r.toLowerCase(),this.state="scheme";else if(!this.stateOverride)this.state="no scheme",--this.pointer;else return this.parseError=!0,GR;return!0};W_.prototype["parse scheme"]=function(t,r){if(Z5r(t)||t===43||t===45||t===46)this.buffer+=r.toLowerCase();else if(t===58){if(this.stateOverride&&(k2(this.url)&&!aft(this.buffer)||!k2(this.url)&&aft(this.buffer)||(gQt(this.url)||this.url.port!==null)&&this.buffer==="file"||this.url.scheme==="file"&&(this.url.host===""||this.url.host===null))||(this.url.scheme=this.buffer,this.buffer="",this.stateOverride))return!1;this.url.scheme==="file"?((this.input[this.pointer+1]!==47||this.input[this.pointer+2]!==47)&&(this.parseError=!0),this.state="file"):k2(this.url)&&this.base!==null&&this.base.scheme===this.url.scheme?this.state="special relative or authority":k2(this.url)?this.state="special authority slashes":this.input[this.pointer+1]===47?(this.state="path or authority",++this.pointer):(this.url.cannotBeABaseURL=!0,this.url.path.push(""),this.state="cannot-be-a-base-URL path")}else if(!this.stateOverride)this.buffer="",this.state="no scheme",this.pointer=-1;else return this.parseError=!0,GR;return!0};W_.prototype["parse no scheme"]=function(t){return this.base===null||this.base.cannotBeABaseURL&&t!==35?GR:(this.base.cannotBeABaseURL&&t===35?(this.url.scheme=this.base.scheme,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.url.cannotBeABaseURL=!0,this.state="fragment"):this.base.scheme==="file"?(this.state="file",--this.pointer):(this.state="relative",--this.pointer),!0)};W_.prototype["parse special relative or authority"]=function(t){return t===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="relative",--this.pointer),!0};W_.prototype["parse path or authority"]=function(t){return t===47?this.state="authority":(this.state="path",--this.pointer),!0};W_.prototype["parse relative"]=function(t){return this.url.scheme=this.base.scheme,isNaN(t)?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query):t===47?this.state="relative slash":t===63?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):t===35?(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):k2(this.url)&&t===92?(this.parseError=!0,this.state="relative slash"):(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.url.path=this.base.path.slice(0,this.base.path.length-1),this.state="path",--this.pointer),!0};W_.prototype["parse relative slash"]=function(t){return k2(this.url)&&(t===47||t===92)?(t===92&&(this.parseError=!0),this.state="special authority ignore slashes"):t===47?this.state="authority":(this.url.username=this.base.username,this.url.password=this.base.password,this.url.host=this.base.host,this.url.port=this.base.port,this.state="path",--this.pointer),!0};W_.prototype["parse special authority slashes"]=function(t){return t===47&&this.input[this.pointer+1]===47?(this.state="special authority ignore slashes",++this.pointer):(this.parseError=!0,this.state="special authority ignore slashes",--this.pointer),!0};W_.prototype["parse special authority ignore slashes"]=function(t){return t!==47&&t!==92?(this.state="authority",--this.pointer):this.parseError=!0,!0};W_.prototype["parse authority"]=function(t,r){if(t===64){this.parseError=!0,this.atFlag&&(this.buffer="%40"+this.buffer),this.atFlag=!0;let n=dQt(this.buffer);for(let i=0;iMath.pow(2,16)-1)return this.parseError=!0,GR;this.url.port=n===a9r(this.url.scheme)?null:n,this.buffer=""}if(this.stateOverride)return!1;this.state="path start",--this.pointer}else return this.parseError=!0,GR;return!0};var y9r=new Set([47,92,63,35]);W_.prototype["parse file"]=function(t){return this.url.scheme="file",t===47||t===92?(t===92&&(this.parseError=!0),this.state="file slash"):this.base!==null&&this.base.scheme==="file"?isNaN(t)?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query):t===63?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query="",this.state="query"):t===35?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),this.url.query=this.base.query,this.url.fragment="",this.state="fragment"):(this.input.length-this.pointer-1===0||!t9r(t,this.input[this.pointer+1])||this.input.length-this.pointer-1>=2&&!y9r.has(this.input[this.pointer+2])?(this.url.host=this.base.host,this.url.path=this.base.path.slice(),AQt(this.url)):this.parseError=!0,this.state="path",--this.pointer):(this.state="path",--this.pointer),!0};W_.prototype["parse file slash"]=function(t){return t===47||t===92?(t===92&&(this.parseError=!0),this.state="file host"):(this.base!==null&&this.base.scheme==="file"&&(r9r(this.base.path[0])?this.url.path.push(this.base.path[0]):this.url.host=this.base.host),this.state="path",--this.pointer),!0};W_.prototype["parse file host"]=function(t,r){if(isNaN(t)||t===47||t===92||t===63||t===35)if(--this.pointer,!this.stateOverride&&yQt(this.buffer))this.parseError=!0,this.state="path";else if(this.buffer===""){if(this.url.host="",this.stateOverride)return!1;this.state="path start"}else{let n=sft(this.buffer,k2(this.url));if(n===GR)return GR;if(n==="localhost"&&(n=""),this.url.host=n,this.stateOverride)return!1;this.buffer="",this.state="path start"}else this.buffer+=r;return!0};W_.prototype["parse path start"]=function(t){return k2(this.url)?(t===92&&(this.parseError=!0),this.state="path",t!==47&&t!==92&&--this.pointer):!this.stateOverride&&t===63?(this.url.query="",this.state="query"):!this.stateOverride&&t===35?(this.url.fragment="",this.state="fragment"):t!==void 0&&(this.state="path",t!==47&&--this.pointer),!0};W_.prototype["parse path"]=function(t){if(isNaN(t)||t===47||k2(this.url)&&t===92||!this.stateOverride&&(t===63||t===35)){if(k2(this.url)&&t===92&&(this.parseError=!0),e9r(this.buffer)?(AQt(this.url),t!==47&&!(k2(this.url)&&t===92)&&this.url.path.push("")):mQt(this.buffer)&&t!==47&&!(k2(this.url)&&t===92)?this.url.path.push(""):mQt(this.buffer)||(this.url.scheme==="file"&&this.url.path.length===0&&yQt(this.buffer)&&(this.url.host!==""&&this.url.host!==null&&(this.parseError=!0,this.url.host=""),this.buffer=this.buffer[0]+":"),this.url.path.push(this.buffer)),this.buffer="",this.url.scheme==="file"&&(t===void 0||t===63||t===35))for(;this.url.path.length>1&&this.url.path[0]==="";)this.parseError=!0,this.url.path.shift();t===63&&(this.url.query="",this.state="query"),t===35&&(this.url.fragment="",this.state="fragment")}else t===37&&(!SE(this.input[this.pointer+1])||!SE(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=_j(t,CQt);return!0};W_.prototype["parse cannot-be-a-base-URL path"]=function(t){return t===63?(this.url.query="",this.state="query"):t===35?(this.url.fragment="",this.state="fragment"):(!isNaN(t)&&t!==37&&(this.parseError=!0),t===37&&(!SE(this.input[this.pointer+1])||!SE(this.input[this.pointer+2]))&&(this.parseError=!0),isNaN(t)||(this.url.path[0]=this.url.path[0]+_j(t,rme))),!0};W_.prototype["parse query"]=function(t,r){if(isNaN(t)||!this.stateOverride&&t===35){(!k2(this.url)||this.url.scheme==="ws"||this.url.scheme==="wss")&&(this.encodingOverride="utf-8");let n=new Buffer(this.buffer);for(let i=0;i126||n[i]===34||n[i]===35||n[i]===60||n[i]===62?this.url.query+=qQt(n[i]):this.url.query+=String.fromCodePoint(n[i]);this.buffer="",t===35&&(this.url.fragment="",this.state="fragment")}else t===37&&(!SE(this.input[this.pointer+1])||!SE(this.input[this.pointer+2]))&&(this.parseError=!0),this.buffer+=r;return!0};W_.prototype["parse fragment"]=function(t){return isNaN(t)||(t===0?this.parseError=!0:(t===37&&(!SE(this.input[this.pointer+1])||!SE(this.input[this.pointer+2]))&&(this.parseError=!0),this.url.fragment+=_j(t,rme))),!0};function q9r(e,t){let r=e.scheme+":";if(e.host!==null?(r+="//",(e.username!==""||e.password!=="")&&(r+=e.username,e.password!==""&&(r+=":"+e.password),r+="@"),r+=Rft(e.host),e.port!==null&&(r+=":"+e.port)):e.host===null&&e.scheme==="file"&&(r+="//"),e.cannotBeABaseURL)r+=e.path[0];else for(let n of e.path)r+="/"+n;return e.query!==null&&(r+="?"+e.query),!t&&e.fragment!==null&&(r+="#"+e.fragment),r}function C9r(e){let t=e.scheme+"://";return t+=Rft(e.host),e.port!==null&&(t+=":"+e.port),t}pA.exports.serializeURL=q9r;pA.exports.serializeURLOrigin=function(e){switch(e.scheme){case"blob":try{return pA.exports.serializeURLOrigin(pA.exports.parseURL(e.path[0]))}catch{return"null"}case"ftp":case"gopher":case"http":case"https":case"ws":case"wss":return C9r({scheme:e.scheme,host:e.host,port:e.port});case"file":return"file://";default:return"null"}};pA.exports.basicURLParse=function(e,t){t===void 0&&(t={});let r=new W_(e,t.baseURL,t.encodingOverride,t.url,t.stateOverride);return r.failure?"failure":r.url};pA.exports.setTheUsername=function(e,t){e.username="";let r=hre.ucs2.decode(t);for(let n=0;n{"use strict";var U_=Bv();bQt.implementation=class{constructor(t){let r=t[0],n=t[1],i=null;if(n!==void 0&&(i=U_.basicURLParse(n),i==="failure"))throw new TypeError("Invalid base URL");let s=U_.basicURLParse(r,{baseURL:i});if(s==="failure")throw new TypeError("Invalid URL");this._url=s}get href(){return U_.serializeURL(this._url)}set href(t){let r=U_.basicURLParse(t);if(r==="failure")throw new TypeError("Invalid URL");this._url=r}get origin(){return U_.serializeURLOrigin(this._url)}get protocol(){return this._url.scheme+":"}set protocol(t){U_.basicURLParse(t+":",{url:this._url,stateOverride:"scheme start"})}get username(){return this._url.username}set username(t){U_.cannotHaveAUsernamePasswordPort(this._url)||U_.setTheUsername(this._url,t)}get password(){return this._url.password}set password(t){U_.cannotHaveAUsernamePasswordPort(this._url)||U_.setThePassword(this._url,t)}get host(){let t=this._url;return t.host===null?"":t.port===null?U_.serializeHost(t.host):U_.serializeHost(t.host)+":"+U_.serializeInteger(t.port)}set host(t){this._url.cannotBeABaseURL||U_.basicURLParse(t,{url:this._url,stateOverride:"host"})}get hostname(){return this._url.host===null?"":U_.serializeHost(this._url.host)}set hostname(t){this._url.cannotBeABaseURL||U_.basicURLParse(t,{url:this._url,stateOverride:"hostname"})}get port(){return this._url.port===null?"":U_.serializeInteger(this._url.port)}set port(t){U_.cannotHaveAUsernamePasswordPort(this._url)||(t===""?this._url.port=null:U_.basicURLParse(t,{url:this._url,stateOverride:"port"}))}get pathname(){return this._url.cannotBeABaseURL?this._url.path[0]:this._url.path.length===0?"":"/"+this._url.path.join("/")}set pathname(t){this._url.cannotBeABaseURL||(this._url.path=[],U_.basicURLParse(t,{url:this._url,stateOverride:"path start"}))}get search(){return this._url.query===null||this._url.query===""?"":"?"+this._url.query}set search(t){let r=this._url;if(t===""){r.query=null;return}let n=t[0]==="?"?t.substring(1):t;r.query="",U_.basicURLParse(n,{url:r,stateOverride:"query"})}get hash(){return this._url.fragment===null||this._url.fragment===""?"":"#"+this._url.fragment}set hash(t){if(t===""){this._url.fragment=null;return}let r=t[0]==="#"?t.substring(1):t;this._url.fragment="",U_.basicURLParse(r,{url:this._url,stateOverride:"fragment"})}toJSON(){return this.href}}});var DQt=Le((qti,h1e)=>{"use strict";var w3=oQt(),vQt=RQt(),OQt=EQt(),QT=vQt.implSymbol;function g7(e){if(!this||this[QT]||!(this instanceof g7))throw new TypeError("Failed to construct 'URL': Please use the 'new' operator, this DOM object constructor cannot be called as a function.");if(arguments.length<1)throw new TypeError("Failed to construct 'URL': 1 argument required, but only "+arguments.length+" present.");let t=[];for(let r=0;r{"use strict";Iv.URL=DQt().interface;Iv.serializeURL=Bv().serializeURL;Iv.serializeURLOrigin=Bv().serializeURLOrigin;Iv.basicURLParse=Bv().basicURLParse;Iv.setTheUsername=Bv().setTheUsername;Iv.setThePassword=Bv().setThePassword;Iv.serializeHost=Bv().serializeHost;Iv.serializeInteger=Bv().serializeInteger;Iv.parseURL=Bv().parseURL});var LQt=Le((QE,FQt)=>{"use strict";Object.defineProperty(QE,"__esModule",{value:!0});function mre(e){return e&&typeof e=="object"&&"default"in e?e.default:e}var $E=mre(Li("stream")),wQt=mre(Li("http")),ime=mre(Li("url")),PQt=mre(SQt()),A9r=mre(Li("https")),hj=mre(Li("zlib")),g9r=$E.Readable,fN=Symbol("buffer"),uft=Symbol("type"),d1e=class e{constructor(){this[uft]="";let t=arguments[0],r=arguments[1],n=[],i=0;if(t){let R=t,l=Number(R.length);for(let c=0;c1&&arguments[1]!==void 0?arguments[1]:{},n=r.size;let i=n===void 0?0:n;var s=r.timeout;let R=s===void 0?0:s;e==null?e=null:BQt(e)?e=Buffer.from(e.toString()):m1e(e)||Buffer.isBuffer(e)||(Object.prototype.toString.call(e)==="[object ArrayBuffer]"?e=Buffer.from(e):ArrayBuffer.isView(e)?e=Buffer.from(e.buffer,e.byteOffset,e.byteLength):e instanceof $E||(e=Buffer.from(String(e)))),this[xN]={body:e,disturbed:!1,error:null},this.size=i,this.timeout=R,e instanceof $E&&e.on("error",function(l){let c=l.name==="AbortError"?l:new Pm(`Invalid response body while trying to fetch ${t.url}: ${l.message}`,"system",l);t[xN].error=c})}b7.prototype={get body(){return this[xN].body},get bodyUsed(){return this[xN].disturbed},arrayBuffer(){return fre.call(this).then(function(e){return e.buffer.slice(e.byteOffset,e.byteOffset+e.byteLength)})},blob(){let e=this.headers&&this.headers.get("content-type")||"";return fre.call(this).then(function(t){return Object.assign(new d1e([],{type:e.toLowerCase()}),{[fN]:t})})},json(){var e=this;return fre.call(this).then(function(t){try{return JSON.parse(t.toString())}catch(r){return b7.Promise.reject(new Pm(`invalid json response body at ${e.url} reason: ${r.message}`,"invalid-json"))}})},text(){return fre.call(this).then(function(e){return e.toString()})},buffer(){return fre.call(this)},textConverted(){var e=this;return fre.call(this).then(function(t){return b9r(t,e.headers)})}};Object.defineProperties(b7.prototype,{body:{enumerable:!0},bodyUsed:{enumerable:!0},arrayBuffer:{enumerable:!0},blob:{enumerable:!0},json:{enumerable:!0},text:{enumerable:!0}});b7.mixIn=function(e){for(let t of Object.getOwnPropertyNames(b7.prototype))if(!(t in e)){let r=Object.getOwnPropertyDescriptor(b7.prototype,t);Object.defineProperty(e,t,r)}};function fre(){var e=this;if(this[xN].disturbed)return b7.Promise.reject(new TypeError(`body used already for: ${this.url}`));if(this[xN].disturbed=!0,this[xN].error)return b7.Promise.reject(this[xN].error);let t=this.body;if(t===null)return b7.Promise.resolve(Buffer.alloc(0));if(m1e(t)&&(t=t.stream()),Buffer.isBuffer(t))return b7.Promise.resolve(t);if(!(t instanceof $E))return b7.Promise.resolve(Buffer.alloc(0));let r=[],n=0,i=!1;return new b7.Promise(function(s,R){let l;e.timeout&&(l=setTimeout(function(){i=!0,R(new Pm(`Response timeout while trying to fetch ${e.url} (over ${e.timeout}ms)`,"body-timeout"))},e.timeout)),t.on("error",function(c){c.name==="AbortError"?(i=!0,R(c)):R(new Pm(`Invalid response body while trying to fetch ${e.url}: ${c.message}`,"system",c))}),t.on("data",function(c){if(!(i||c===null)){if(e.size&&n+c.length>e.size){i=!0,R(new Pm(`content size at ${e.url} over limit: ${e.size}`,"max-size"));return}n+=c.length,r.push(c)}}),t.on("end",function(){if(!i){clearTimeout(l);try{s(Buffer.concat(r,n))}catch(c){R(new Pm(`Could not create Buffer from response body for ${e.url}: ${c.message}`,"system",c))}}})})}function b9r(e,t){if(typeof pft!="function")throw new Error("The package `encoding` must be installed to use the textConverted() function");let r=t.get("content-type"),n="utf-8",i,s;return r&&(i=/charset=([^;]*)/i.exec(r)),s=e.slice(0,1024).toString(),!i&&s&&(i=/0&&arguments[0]!==void 0?arguments[0]:void 0;if(this[Ud]=Object.create(null),t instanceof e){let r=t.raw(),n=Object.keys(r);for(let i of n)for(let s of r[i])this.append(i,s);return}if(t!=null)if(typeof t=="object"){let r=t[Symbol.iterator];if(r!=null){if(typeof r!="function")throw new TypeError("Header pairs must be iterable");let n=[];for(let i of t){if(typeof i!="object"||typeof i[Symbol.iterator]!="function")throw new TypeError("Each header pair must be iterable");n.push(Array.from(i))}for(let i of n){if(i.length!==2)throw new TypeError("Each header pair must be a name/value tuple");this.append(i[0],i[1])}}else for(let n of Object.keys(t)){let i=t[n];this.append(n,i)}}else throw new TypeError("Provided initializer must be an object")}get(t){t=`${t}`,f1e(t);let r=dre(this[Ud],t);return r===void 0?null:this[Ud][r].join(", ")}forEach(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:void 0,n=hft(this),i=0;for(;i1&&arguments[1]!==void 0?arguments[1]:"key+value";return Object.keys(e[Ud]).sort().map(t==="key"?function(n){return n.toLowerCase()}:t==="value"?function(n){return e[Ud][n].join(", ")}:function(n){return[n.toLowerCase(),e[Ud][n].join(", ")]})}var fft=Symbol("internal");function lft(e,t){let r=Object.create(dft);return r[fft]={target:e,kind:t,index:0},r}var dft=Object.setPrototypeOf({next(){if(!this||Object.getPrototypeOf(this)!==dft)throw new TypeError("Value of `this` is not a HeadersIterator");var e=this[fft];let t=e.target,r=e.kind,n=e.index,i=hft(t,r),s=i.length;return n>=s?{value:void 0,done:!0}:(this[fft].index=n+1,{value:i[n],done:!1})}},Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]())));Object.defineProperty(dft,Symbol.toStringTag,{value:"HeadersIterator",writable:!1,enumerable:!1,configurable:!0});function O9r(e){let t=Object.assign({__proto__:null},e[Ud]),r=dre(e[Ud],"Host");return r!==void 0&&(t[r]=t[r][0]),t}function v9r(e){let t=new B3;for(let r of Object.keys(e))if(!UQt.test(r))if(Array.isArray(e[r]))for(let n of e[r])_ft.test(n)||(t[Ud][r]===void 0?t[Ud][r]=[n]:t[Ud][r].push(n));else _ft.test(e[r])||(t[Ud][r]=[e[r]]);return t}var $I=Symbol("Response internals"),D9r=wQt.STATUS_CODES,P3=class e{constructor(){let t=arguments.length>0&&arguments[0]!==void 0?arguments[0]:null,r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};b7.call(this,t,r);let n=r.status||200,i=new B3(r.headers);if(t!=null&&!i.has("Content-Type")){let s=MQt(t);s&&i.append("Content-Type",s)}this[$I]={url:r.url,status:n,statusText:r.statusText||D9r[n],headers:i,counter:r.counter}}get url(){return this[$I].url||""}get status(){return this[$I].status}get ok(){return this[$I].status>=200&&this[$I].status<300}get redirected(){return this[$I].counter>0}get statusText(){return this[$I].statusText}get headers(){return this[$I].headers}clone(){return new e(IQt(this),{url:this.url,status:this.status,statusText:this.statusText,headers:this.headers,ok:this.ok,redirected:this.redirected})}};b7.mixIn(P3.prototype);Object.defineProperties(P3.prototype,{url:{enumerable:!0},status:{enumerable:!0},ok:{enumerable:!0},redirected:{enumerable:!0},statusText:{enumerable:!0},headers:{enumerable:!0},clone:{enumerable:!0}});Object.defineProperty(P3.prototype,Symbol.toStringTag,{value:"Response",writable:!1,enumerable:!1,configurable:!0});var dN=Symbol("Request internals"),S9r=ime.URL||PQt.URL,$9r=ime.parse,Q9r=ime.format;function cft(e){return/^[a-zA-Z][a-zA-Z\d+\-.]*:/.exec(e)&&(e=new S9r(e).toString()),$9r(e)}var N9r="destroy"in $E.Readable.prototype;function nme(e){return typeof e=="object"&&typeof e[dN]=="object"}function w9r(e){let t=e&&typeof e=="object"&&Object.getPrototypeOf(e);return!!(t&&t.constructor.name==="AbortSignal")}var NI=class e{constructor(t){let r=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},n;nme(t)?n=cft(t.url):(t&&t.href?n=cft(t.href):n=cft(`${t}`),t={});let i=r.method||t.method||"GET";if(i=i.toUpperCase(),(r.body!=null||nme(t)&&t.body!==null)&&(i==="GET"||i==="HEAD"))throw new TypeError("Request with GET/HEAD method cannot have body");let s=r.body!=null?r.body:nme(t)&&t.body!==null?IQt(t):null;b7.call(this,s,{timeout:r.timeout||t.timeout||0,size:r.size||t.size||0});let R=new B3(r.headers||t.headers||{});if(s!=null&&!R.has("Content-Type")){let c=MQt(s);c&&R.append("Content-Type",c)}let l=nme(t)?t.signal:null;if("signal"in r&&(l=r.signal),l!=null&&!w9r(l))throw new TypeError("Expected signal to be an instanceof AbortSignal");this[dN]={method:i,redirect:r.redirect||t.redirect||"follow",headers:R,parsedURL:n,signal:l},this.follow=r.follow!==void 0?r.follow:t.follow!==void 0?t.follow:20,this.compress=r.compress!==void 0?r.compress:t.compress!==void 0?t.compress:!0,this.counter=r.counter||t.counter||0,this.agent=r.agent||t.agent}get method(){return this[dN].method}get url(){return Q9r(this[dN].parsedURL)}get headers(){return this[dN].headers}get redirect(){return this[dN].redirect}get signal(){return this[dN].signal}clone(){return new e(this)}};b7.mixIn(NI.prototype);Object.defineProperty(NI.prototype,Symbol.toStringTag,{value:"Request",writable:!1,enumerable:!1,configurable:!0});Object.defineProperties(NI.prototype,{method:{enumerable:!0},url:{enumerable:!0},headers:{enumerable:!0},redirect:{enumerable:!0},clone:{enumerable:!0},signal:{enumerable:!0}});function P9r(e){let t=e[dN].parsedURL,r=new B3(e[dN].headers);if(r.has("Accept")||r.set("Accept","*/*"),!t.protocol||!t.hostname)throw new TypeError("Only absolute URLs are supported");if(!/^https?:$/.test(t.protocol))throw new TypeError("Only HTTP(S) protocols are supported");if(e.signal&&e.body instanceof $E.Readable&&!N9r)throw new Error("Cancellation of streamed requests with AbortSignal is not supported in node < 8");let n=null;if(e.body==null&&/^(POST|PUT)$/i.test(e.method)&&(n="0"),e.body!=null){let s=WQt(e);typeof s=="number"&&(n=String(s))}n&&r.set("Content-Length",n),r.has("User-Agent")||r.set("User-Agent","node-fetch/1.0 (+https://github.com/bitinn/node-fetch)"),e.compress&&!r.has("Accept-Encoding")&&r.set("Accept-Encoding","gzip,deflate");let i=e.agent;return typeof i=="function"&&(i=i(t)),Object.assign({},t,{method:e.method,headers:O9r(r),agent:i})}function xre(e){Error.call(this,e),this.type="aborted",this.message=e,Error.captureStackTrace(this,this.constructor)}xre.prototype=Object.create(Error.prototype);xre.prototype.constructor=xre;xre.prototype.name="AbortError";var x1e=ime.URL||PQt.URL,NQt=$E.PassThrough,B9r=function(t,r){let n=new x1e(r).hostname,i=new x1e(t).hostname;return n===i||n[n.length-i.length-1]==="."&&n.endsWith(i)},I9r=function(t,r){let n=new x1e(r).protocol,i=new x1e(t).protocol;return n===i};function QI(e,t){if(!QI.Promise)throw new Error("native promise missing, set fetch.Promise to your favorite alternative");return b7.Promise=QI.Promise,new QI.Promise(function(r,n){let i=new NI(e,t),s=P9r(i),R=(s.protocol==="https:"?A9r:wQt).request,l=i.signal,c=null,h=function(){let A=new xre("The user aborted a request.");n(A),i.body&&i.body instanceof $E.Readable&&Tft(i.body,A),!(!c||!c.body)&&c.body.emit("error",A)};if(l&&l.aborted){h();return}let _=function(){h(),x()},f=R(s),m;l&&l.addEventListener("abort",_);function x(){f.abort(),l&&l.removeEventListener("abort",_),clearTimeout(m)}i.timeout&&f.once("socket",function(y){m=setTimeout(function(){n(new Pm(`network timeout at: ${i.url}`,"request-timeout")),x()},i.timeout)}),f.on("error",function(y){n(new Pm(`request to ${i.url} failed, reason: ${y.message}`,"system",y)),c&&c.body&&Tft(c.body,y),x()}),M9r(f,function(y){l&&l.aborted||c&&c.body&&Tft(c.body,y)}),parseInt(process.version.substring(1))<14&&f.on("socket",function(y){y.addListener("close",function(A){let D=y.listenerCount("data")>0;if(c&&D&&!A&&!(l&&l.aborted)){let S=new Error("Premature close");S.code="ERR_STREAM_PREMATURE_CLOSE",c.body.emit("error",S)}})}),f.on("response",function(y){clearTimeout(m);let A=v9r(y.headers);if(QI.isRedirect(y.statusCode)){let U=A.get("Location"),w=null;try{w=U===null?null:new x1e(U,i.url).toString()}catch{if(i.redirect!=="manual"){n(new Pm(`uri requested responds with an invalid redirect URL: ${U}`,"invalid-redirect")),x();return}}switch(i.redirect){case"error":n(new Pm(`uri requested responds with a redirect, redirect mode is set to error: ${i.url}`,"no-redirect")),x();return;case"manual":if(w!==null)try{A.set("Location",w)}catch(H){n(H)}break;case"follow":if(w===null)break;if(i.counter>=i.follow){n(new Pm(`maximum redirect reached at: ${i.url}`,"max-redirect")),x();return}let F={headers:new B3(i.headers),follow:i.follow,counter:i.counter+1,agent:i.agent,compress:i.compress,method:i.method,body:i.body,signal:i.signal,timeout:i.timeout,size:i.size};if(!B9r(i.url,w)||!I9r(i.url,w))for(let H of["authorization","www-authenticate","cookie","cookie2"])F.headers.delete(H);if(y.statusCode!==303&&i.body&&WQt(i)===null){n(new Pm("Cannot follow redirect with body being a readable stream","unsupported-redirect")),x();return}(y.statusCode===303||(y.statusCode===301||y.statusCode===302)&&i.method==="POST")&&(F.method="GET",F.body=void 0,F.headers.delete("content-length")),r(QI(new NI(w,F))),x();return}}y.once("end",function(){l&&l.removeEventListener("abort",_)});let D=y.pipe(new NQt),S={url:i.url,status:y.statusCode,statusText:y.statusMessage,headers:A,size:i.size,timeout:i.timeout,counter:i.counter},P=A.get("Content-Encoding");if(!i.compress||i.method==="HEAD"||P===null||y.statusCode===204||y.statusCode===304){c=new P3(D,S),r(c);return}let M={flush:hj.Z_SYNC_FLUSH,finishFlush:hj.Z_SYNC_FLUSH};if(P=="gzip"||P=="x-gzip"){D=D.pipe(hj.createGunzip(M)),c=new P3(D,S),r(c);return}if(P=="deflate"||P=="x-deflate"){let U=y.pipe(new NQt);U.once("data",function(w){(w[0]&15)===8?D=D.pipe(hj.createInflate()):D=D.pipe(hj.createInflateRaw()),c=new P3(D,S),r(c)}),U.on("end",function(){c||(c=new P3(D,S),r(c))});return}if(P=="br"&&typeof hj.createBrotliDecompress=="function"){D=D.pipe(hj.createBrotliDecompress()),c=new P3(D,S),r(c);return}c=new P3(D,S),r(c)}),E9r(f,i)})}function M9r(e,t){let r;e.on("socket",function(n){r=n}),e.on("response",function(n){let i=n.headers;i["transfer-encoding"]==="chunked"&&!i["content-length"]&&n.once("close",function(s){if(r&&r.listenerCount("data")>0&&!s){let l=new Error("Premature close");l.code="ERR_STREAM_PREMATURE_CLOSE",t(l)}})})}function Tft(e,t){e.destroy?e.destroy(t):(e.emit("error",t),e.end())}QI.isRedirect=function(e){return e===301||e===302||e===303||e===307||e===308};QI.Promise=global.Promise;FQt.exports=QE=QI;Object.defineProperty(QE,"__esModule",{value:!0});QE.default=QE;QE.Headers=B3;QE.Request=NI;QE.Response=P3;QE.FetchError=Pm;QE.AbortError=xre});function _Nt(){}function iy(e){return typeof e=="object"&&e!==null||typeof e=="function"}function hl(e,t){try{Object.defineProperty(e,"name",{value:t,configurable:!0})}catch{}}function y4(e){return new Dft(e)}function Pl(e){return U9r(e)}function p0(e){return F9r(e)}function gN(e,t,r){return W9r.call(e,t,r)}function ny(e,t,r){gN(gN(e,t,r),void 0,hNt)}function zQt(e,t){ny(e,t)}function HQt(e,t){ny(e,void 0,t)}function NE(e,t,r){return gN(e,t,r)}function Cre(e){gN(e,void 0,hNt)}function Eme(e,t,r){if(typeof e!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(e,t,r)}function qj(e,t,r){try{return Pl(Eme(e,t,r))}catch(n){return p0(n)}}function xNt(e,t){e._ownerReadableStream=t,t._reader=e,t._state==="readable"?Cft(e):t._state==="closed"?function(r){Cft(r),qNt(r)}(e):yNt(e,t._storedError)}function mNt(e,t){return XNt(e._ownerReadableStream,t)}function kNt(e){let t=e._ownerReadableStream;t._state==="readable"?Nft(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):function(r,n){yNt(r,n)}(e,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),t._readableStreamController[Qft](),t._reader=void 0,e._ownerReadableStream=void 0}function Are(e){return new TypeError("Cannot "+e+" a stream using a released reader")}function Cft(e){e._closedPromise=y4((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r})}function yNt(e,t){Cft(e),Nft(e,t)}function Nft(e,t){e._closedPromise_reject!==void 0&&(Cre(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function qNt(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0)}function bN(e,t){if(e!==void 0&&typeof(r=e)!="object"&&typeof r!="function")throw new TypeError(`${t} is not an object.`);var r}function wE(e,t){if(typeof e!="function")throw new TypeError(`${t} is not a function.`)}function CNt(e,t){if(!function(r){return typeof r=="object"&&r!==null||typeof r=="function"}(e))throw new TypeError(`${t} is not an object.`)}function EN(e,t,r){if(e===void 0)throw new TypeError(`Parameter ${t} is required in '${r}'.`)}function Aft(e,t,r){if(e===void 0)throw new TypeError(`${t} is required in '${r}'.`)}function wft(e){return Number(e)}function KQt(e){return e===0?0:e}function ANt(e,t){let r=Number.MAX_SAFE_INTEGER,n=Number(e);if(n=KQt(n),!YQt(n))throw new TypeError(`${t} is not a finite number`);if(n=function(i){return KQt(L9r(i))}(n),n<0||n>r)throw new TypeError(`${t} is outside the accepted range of 0 to ${r}, inclusive`);return YQt(n)&&n!==0?n:0}function q1e(e){if(!iy(e)||typeof e.getReader!="function")return!1;try{return typeof e.locked=="boolean"}catch{return!1}}function gNt(e){if(!iy(e)||typeof e.getWriter!="function")return!1;try{return typeof e.locked=="boolean"}catch{return!1}}function bNt(e,t){if(!kj(e))throw new TypeError(`${t} is not a ReadableStream.`)}function ENt(e,t){e._reader._readRequests.push(t)}function Pft(e,t,r){let n=e._reader._readRequests.shift();r?n._closeSteps():n._chunkSteps(t)}function Ome(e){return e._reader._readRequests.length}function ONt(e){let t=e._reader;return t!==void 0&&!!mj(t)}function mj(e){return!!iy(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readRequests")&&e instanceof mN}function vNt(e,t){let r=e._readRequests;e._readRequests=new EC,r.forEach(n=>{n._errorSteps(t)})}function ame(e){return new TypeError(`ReadableStreamDefaultReader.prototype.${e} can only be used on a ReadableStreamDefaultReader`)}function GQt(e){if(!iy(e)||!Object.prototype.hasOwnProperty.call(e,"_asyncIteratorImpl"))return!1;try{return e._asyncIteratorImpl instanceof xme}catch{return!1}}function VQt(e){return new TypeError(`ReadableStreamAsyncIterator.${e} can only be used on a ReadableSteamAsyncIterator`)}function $Nt(e,t,r,n,i){new Uint8Array(e).set(new Uint8Array(r,n,i),t)}function jQt(e){let t=function(r,n,i){if(r.slice)return r.slice(n,i);let s=i-n,R=new ArrayBuffer(s);return $Nt(R,0,r,n,s),R}(e.buffer,e.byteOffset,e.byteOffset+e.byteLength);return new Uint8Array(t)}function gft(e){let t=e._queue.shift();return e._queueTotalSize-=t.size,e._queueTotalSize<0&&(e._queueTotalSize=0),t.value}function Bft(e,t,r){if(typeof(n=r)!="number"||SNt(n)||n<0||r===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");var n;e._queue.push({value:t,size:r}),e._queueTotalSize+=r}function BI(e){e._queue=new EC,e._queueTotalSize=0}function kre(e){return!!iy(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableByteStream")&&e instanceof kN}function xft(e){return!!iy(e)&&!!Object.prototype.hasOwnProperty.call(e,"_associatedReadableByteStreamController")&&e instanceof wI}function yj(e){if(function(r){let n=r._controlledReadableByteStream;return n._state!=="readable"||r._closeRequested||!r._started?!1:!!(ONt(n)&&Ome(n)>0||Mft(n)&&UNt(n)>0||WNt(r)>0)}(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,ny(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,yj(e)),null),r=>(gre(e,r),null))}}function QNt(e){Ift(e),e._pendingPullIntos=new EC}function bft(e,t){let r=!1;e._state==="closed"&&(r=!0);let n=NNt(t);t.readerType==="default"?Pft(e,n,r):function(i,s,R){let l=i._reader._readIntoRequests.shift();R?l._closeSteps(s):l._chunkSteps(s)}(e,n,r)}function NNt(e){let t=e.bytesFilled,r=e.elementSize;return new e.viewConstructor(e.buffer,e.byteOffset,t/r)}function _me(e,t,r,n){e._queue.push({buffer:t,byteOffset:r,byteLength:n}),e._queueTotalSize+=n}function wNt(e,t,r,n){let i;try{i=t.slice(r,r+n)}catch(s){throw gre(e,s),s}_me(e,i,0,n)}function PNt(e,t){t.bytesFilled>0&&wNt(e,t.buffer,t.byteOffset,t.bytesFilled),qre(e)}function BNt(e,t){let r=t.elementSize,n=t.bytesFilled-t.bytesFilled%r,i=Math.min(e._queueTotalSize,t.byteLength-t.bytesFilled),s=t.bytesFilled+i,R=s-s%r,l=i,c=!1;R>n&&(l=R-t.bytesFilled,c=!0);let h=e._queue;for(;l>0;){let _=h.peek(),f=Math.min(l,_.byteLength),m=t.byteOffset+t.bytesFilled;$Nt(t.buffer,m,_.buffer,_.byteOffset,f),_.byteLength===f?h.shift():(_.byteOffset+=f,_.byteLength-=f),e._queueTotalSize-=f,INt(e,f,t),l-=f}return c}function INt(e,t,r){r.bytesFilled+=t}function MNt(e){e._queueTotalSize===0&&e._closeRequested?(mme(e),E1e(e._controlledReadableByteStream)):yj(e)}function Ift(e){e._byobRequest!==null&&(e._byobRequest._associatedReadableByteStreamController=void 0,e._byobRequest._view=null,e._byobRequest=null)}function Eft(e){for(;e._pendingPullIntos.length>0;){if(e._queueTotalSize===0)return;let t=e._pendingPullIntos.peek();BNt(e,t)&&(qre(e),bft(e._controlledReadableByteStream,t))}}function JQt(e,t){let r=e._pendingPullIntos.peek();Ift(e),e._controlledReadableByteStream._state==="closed"?function(n,i){i.readerType==="none"&&qre(n);let s=n._controlledReadableByteStream;if(Mft(s))for(;UNt(s)>0;)bft(s,qre(n))}(e,r):function(n,i,s){if(INt(0,i,s),s.readerType==="none")return PNt(n,s),void Eft(n);if(s.bytesFilled0){let l=s.byteOffset+s.bytesFilled;wNt(n,s.buffer,l-R,R)}s.bytesFilled-=R,bft(n._controlledReadableByteStream,s),Eft(n)}(e,t,r),yj(e)}function qre(e){return e._pendingPullIntos.shift()}function mme(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0}function gre(e,t){let r=e._controlledReadableByteStream;r._state==="readable"&&(QNt(e),BI(e),mme(e),ZNt(r,t))}function XQt(e,t){let r=e._queue.shift();e._queueTotalSize-=r.byteLength,MNt(e);let n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);t._chunkSteps(n)}function WNt(e){let t=e._controlledReadableByteStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function z9r(e,t,r){let n=Object.create(kN.prototype),i,s,R;i=t.start!==void 0?()=>t.start(n):()=>{},s=t.pull!==void 0?()=>t.pull(n):()=>Pl(void 0),R=t.cancel!==void 0?c=>t.cancel(c):()=>Pl(void 0);let l=t.autoAllocateChunkSize;if(l===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");(function(c,h,_,f,m,x,y){h._controlledReadableByteStream=c,h._pullAgain=!1,h._pulling=!1,h._byobRequest=null,h._queue=h._queueTotalSize=void 0,BI(h),h._closeRequested=!1,h._started=!1,h._strategyHWM=x,h._pullAlgorithm=f,h._cancelAlgorithm=m,h._autoAllocateChunkSize=y,h._pendingPullIntos=new EC,c._readableStreamController=h,ny(Pl(_()),()=>(h._started=!0,yj(h),null),A=>(gre(h,A),null))})(e,n,i,s,R,r,l)}function mft(e){return new TypeError(`ReadableStreamBYOBRequest.prototype.${e} can only be used on a ReadableStreamBYOBRequest`)}function k1e(e){return new TypeError(`ReadableByteStreamController.prototype.${e} can only be used on a ReadableByteStreamController`)}function ZQt(e,t){e._reader._readIntoRequests.push(t)}function UNt(e){return e._reader._readIntoRequests.length}function Mft(e){let t=e._reader;return t!==void 0&&!!yre(t)}function yre(e){return!!iy(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readIntoRequests")&&e instanceof yN}function FNt(e,t){let r=e._readIntoRequests;e._readIntoRequests=new EC,r.forEach(n=>{n._errorSteps(t)})}function sme(e){return new TypeError(`ReadableStreamBYOBReader.prototype.${e} can only be used on a ReadableStreamBYOBReader`)}function b1e(e,t){let{highWaterMark:r}=e;if(r===void 0)return t;if(SNt(r)||r<0)throw new RangeError("Invalid highWaterMark");return r}function kme(e){let{size:t}=e;return t||(()=>1)}function yme(e,t){bN(e,t);let r=e?.highWaterMark,n=e?.size;return{highWaterMark:r===void 0?void 0:wft(r),size:n===void 0?void 0:H9r(n,`${t} has member 'size' that`)}}function H9r(e,t){return wE(e,t),r=>wft(e(r))}function Y9r(e,t,r){return wE(e,r),n=>qj(e,t,[n])}function K9r(e,t,r){return wE(e,r),()=>qj(e,t,[])}function G9r(e,t,r){return wE(e,r),n=>Eme(e,t,[n])}function V9r(e,t,r){return wE(e,r),(n,i)=>qj(e,t,[n,i])}function Wv(e){return!!iy(e)&&!!Object.prototype.hasOwnProperty.call(e,"_writableStreamController")&&e instanceof qN}function hme(e){return e._writer!==void 0}function LNt(e,t){var r;if(e._state==="closed"||e._state==="errored")return Pl(void 0);e._writableStreamController._abortReason=t,(r=e._writableStreamController._abortController)===null||r===void 0||r.abort(t);let n=e._state;if(n==="closed"||n==="errored")return Pl(void 0);if(e._pendingAbortRequest!==void 0)return e._pendingAbortRequest._promise;let i=!1;n==="erroring"&&(i=!0,t=void 0);let s=y4((R,l)=>{e._pendingAbortRequest={_promise:void 0,_resolve:R,_reject:l,_reason:t,_wasAlreadyErroring:i}});return e._pendingAbortRequest._promise=s,i||Wft(e,t),s}function zNt(e){let t=e._state;if(t==="closed"||t==="errored")return p0(new TypeError(`The stream (in ${t} state) is not in the writable state and cannot be closed`));let r=y4((s,R)=>{let l={_resolve:s,_reject:R};e._closeRequest=l}),n=e._writer;var i;return n!==void 0&&e._backpressure&&t==="writable"&&Hft(n),Bft(i=e._writableStreamController,YNt,0),vme(i),r}function Oft(e,t){e._state!=="writable"?Uft(e):Wft(e,t)}function Wft(e,t){let r=e._writableStreamController;e._state="erroring",e._storedError=t;let n=e._writer;n!==void 0&&HNt(n,t),!function(i){return!(i._inFlightWriteRequest===void 0&&i._inFlightCloseRequest===void 0)}(e)&&r._started&&Uft(e)}function Uft(e){e._state="errored",e._writableStreamController[dNt]();let t=e._storedError;if(e._writeRequests.forEach(n=>{n._reject(t)}),e._writeRequests=new EC,e._pendingAbortRequest===void 0)return void ome(e);let r=e._pendingAbortRequest;if(e._pendingAbortRequest=void 0,r._wasAlreadyErroring)return r._reject(t),void ome(e);ny(e._writableStreamController[fNt](r._reason),()=>(r._resolve(),ome(e),null),n=>(r._reject(n),ome(e),null))}function PI(e){return e._closeRequest!==void 0||e._inFlightCloseRequest!==void 0}function ome(e){e._closeRequest!==void 0&&(e._closeRequest._reject(e._storedError),e._closeRequest=void 0);let t=e._writer;t!==void 0&&zft(t,e._storedError)}function Fft(e,t){let r=e._writer;r!==void 0&&t!==e._backpressure&&(t?function(n){Dme(n)}(r):Hft(r)),e._backpressure=t}function fj(e){return!!iy(e)&&!!Object.prototype.hasOwnProperty.call(e,"_ownerWritableStream")&&e instanceof Mv}function HNt(e,t){e._readyPromiseState==="pending"?jNt(e,t):function(r,n){vft(r,n)}(e,t)}function kft(e){return!!iy(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledWritableStream")&&e instanceof bre}function qme(e){e._writeAlgorithm=void 0,e._closeAlgorithm=void 0,e._abortAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function KNt(e){return e._strategyHWM-e._queueTotalSize}function vme(e){let t=e._controlledWritableStream;if(!e._started||t._inFlightWriteRequest!==void 0)return;if(t._state==="erroring")return void Uft(t);if(e._queue.length===0)return;let r=e._queue.peek().value;r===YNt?function(n){let i=n._controlledWritableStream;(function(R){R._inFlightCloseRequest=R._closeRequest,R._closeRequest=void 0})(i),gft(n);let s=n._closeAlgorithm();qme(n),ny(s,()=>(function(R){R._inFlightCloseRequest._resolve(void 0),R._inFlightCloseRequest=void 0,R._state==="erroring"&&(R._storedError=void 0,R._pendingAbortRequest!==void 0&&(R._pendingAbortRequest._resolve(),R._pendingAbortRequest=void 0)),R._state="closed";let l=R._writer;l!==void 0&&VNt(l)}(i),null),R=>(function(l,c){l._inFlightCloseRequest._reject(c),l._inFlightCloseRequest=void 0,l._pendingAbortRequest!==void 0&&(l._pendingAbortRequest._reject(c),l._pendingAbortRequest=void 0),Oft(l,c)}(i,R),null))}(e):function(n,i){let s=n._controlledWritableStream;(function(R){R._inFlightWriteRequest=R._writeRequests.shift()})(s),ny(n._writeAlgorithm(i),()=>{(function(l){l._inFlightWriteRequest._resolve(void 0),l._inFlightWriteRequest=void 0})(s);let R=s._state;if(gft(n),!PI(s)&&R==="writable"){let l=Lft(n);Fft(s,l)}return vme(n),null},R=>(s._state==="writable"&&qme(n),function(l,c){l._inFlightWriteRequest._reject(c),l._inFlightWriteRequest=void 0,Oft(l,c)}(s,R),null))}(e,r)}function eNt(e,t){e._controlledWritableStream._state==="writable"&&GNt(e,t)}function Lft(e){return KNt(e)<=0}function GNt(e,t){let r=e._controlledWritableStream;qme(e),Wft(r,t)}function Rme(e){return new TypeError(`WritableStream.prototype.${e} can only be used on a WritableStream`)}function yft(e){return new TypeError(`WritableStreamDefaultController.prototype.${e} can only be used on a WritableStreamDefaultController`)}function dj(e){return new TypeError(`WritableStreamDefaultWriter.prototype.${e} can only be used on a WritableStreamDefaultWriter`)}function y1e(e){return new TypeError("Cannot "+e+" a stream using a released writer")}function fme(e){e._closedPromise=y4((t,r)=>{e._closedPromise_resolve=t,e._closedPromise_reject=r,e._closedPromiseState="pending"})}function tNt(e,t){fme(e),zft(e,t)}function zft(e,t){e._closedPromise_reject!==void 0&&(Cre(e._closedPromise),e._closedPromise_reject(t),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="rejected")}function VNt(e){e._closedPromise_resolve!==void 0&&(e._closedPromise_resolve(void 0),e._closedPromise_resolve=void 0,e._closedPromise_reject=void 0,e._closedPromiseState="resolved")}function Dme(e){e._readyPromise=y4((t,r)=>{e._readyPromise_resolve=t,e._readyPromise_reject=r}),e._readyPromiseState="pending"}function vft(e,t){Dme(e),jNt(e,t)}function rNt(e){Dme(e),Hft(e)}function jNt(e,t){e._readyPromise_reject!==void 0&&(Cre(e._readyPromise),e._readyPromise_reject(t),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="rejected")}function Hft(e){e._readyPromise_resolve!==void 0&&(e._readyPromise_resolve(void 0),e._readyPromise_resolve=void 0,e._readyPromise_reject=void 0,e._readyPromiseState="fulfilled")}function iNt(e,t,r,n,i,s){let R=e.getReader(),l=t.getWriter();kj(e)&&(e._disturbed=!0);let c,h,_,f=!1,m=!1,x="readable",y="writable",A=!1,D=!1,S=y4(M=>{_=M}),P=Promise.resolve(void 0);return y4((M,U)=>{let w;function F(){if(f)return;let Ae=y4((Ue,Ee)=>{(function Me(gt){gt?Ue():gN(function(){return f?Pl(!0):gN(l.ready,()=>gN(R.read(),xt=>!!xt.done||(P=l.write(xt.value),Cre(P),!1)))}(),Me,Ee)})(!1)});Cre(Ae)}function H(){return x="closed",r?me():fe(()=>(Wv(t)&&(A=PI(t),y=t._state),A||y==="closed"?Pl(void 0):y==="erroring"||y==="errored"?p0(h):(A=!0,l.close())),!1,void 0),null}function G(Ae){return f||(x="errored",c=Ae,n?me(!0,Ae):fe(()=>l.abort(Ae),!0,Ae)),null}function ee(Ae){return m||(y="errored",h=Ae,i?me(!0,Ae):fe(()=>R.cancel(Ae),!0,Ae)),null}if(s!==void 0&&(w=()=>{let Ae=s.reason!==void 0?s.reason:new J9r("Aborted","AbortError"),Ue=[];n||Ue.push(()=>y==="writable"?l.abort(Ae):Pl(void 0)),i||Ue.push(()=>x==="readable"?R.cancel(Ae):Pl(void 0)),fe(()=>Promise.all(Ue.map(Ee=>Ee())),!0,Ae)},s.aborted?w():s.addEventListener("abort",w)),kj(e)&&(x=e._state,c=e._storedError),Wv(t)&&(y=t._state,h=t._storedError,A=PI(t)),kj(e)&&Wv(t)&&(D=!0,_()),x==="errored")G(c);else if(y==="erroring"||y==="errored")ee(h);else if(x==="closed")H();else if(A||y==="closed"){let Ae=new TypeError("the destination writable stream closed before all data could be piped to it");i?me(!0,Ae):fe(()=>R.cancel(Ae),!0,Ae)}function fe(Ae,Ue,Ee){function Me(){return y!=="writable"||A?gt():zQt(function(){let xt;return Pl(function Nt(){if(xt!==P)return xt=P,NE(P,Nt,Nt)}())}(),gt),null}function gt(){return Ae?ny(Ae(),()=>ve(Ue,Ee),xt=>ve(!0,xt)):ve(Ue,Ee),null}f||(f=!0,D?Me():zQt(S,Me))}function me(Ae,Ue){fe(void 0,Ae,Ue)}function ve(Ae,Ue){return m=!0,l.releaseLock(),R.releaseLock(),s!==void 0&&s.removeEventListener("abort",w),Ae?U(Ue):M(void 0),null}f||(ny(R.closed,H,G),ny(l.closed,function(){return m||(y="closed"),null},ee)),D?F():pme(()=>{D=!0,_(),F()})})}function X9r(e,t){return function(r){try{return r.getReader({mode:"byob"}).releaseLock(),!0}catch{return!1}}(e)?function(r){let n,i,s,R,l,c=r.getReader(),h=!1,_=!1,f=!1,m=!1,x=!1,y=!1,A=y4(ee=>{l=ee});function D(ee){HQt(ee.closed,fe=>(ee!==c||(s.error(fe),R.error(fe),x&&y||l(void 0)),null))}function S(){h&&(c.releaseLock(),c=r.getReader(),D(c),h=!1),ny(c.read(),ee=>{var fe,me;if(f=!1,m=!1,ee.done)return x||s.close(),y||R.close(),(fe=s.byobRequest)===null||fe===void 0||fe.respond(0),(me=R.byobRequest)===null||me===void 0||me.respond(0),x&&y||l(void 0),null;let ve=ee.value,Ae=ve,Ue=ve;if(!x&&!y)try{Ue=jQt(ve)}catch(Ee){return s.error(Ee),R.error(Ee),l(c.cancel(Ee)),null}return x||s.enqueue(Ae),y||R.enqueue(Ue),_=!1,f?M():m&&U(),null},()=>(_=!1,null))}function P(ee,fe){h||(c.releaseLock(),c=r.getReader({mode:"byob"}),D(c),h=!0);let me=fe?R:s,ve=fe?s:R;ny(c.read(ee),Ae=>{var Ue;f=!1,m=!1;let Ee=fe?y:x,Me=fe?x:y;if(Ae.done){Ee||me.close(),Me||ve.close();let xt=Ae.value;return xt!==void 0&&(Ee||me.byobRequest.respondWithNewView(xt),Me||(Ue=ve.byobRequest)===null||Ue===void 0||Ue.respond(0)),Ee&&Me||l(void 0),null}let gt=Ae.value;if(Me)Ee||me.byobRequest.respondWithNewView(gt);else{let xt;try{xt=jQt(gt)}catch(Nt){return me.error(Nt),ve.error(Nt),l(c.cancel(Nt)),null}Ee||me.byobRequest.respondWithNewView(gt),ve.enqueue(xt)}return _=!1,f?M():m&&U(),null},()=>(_=!1,null))}function M(){if(_)return f=!0,Pl(void 0);_=!0;let ee=s.byobRequest;return ee===null?S():P(ee.view,!1),Pl(void 0)}function U(){if(_)return m=!0,Pl(void 0);_=!0;let ee=R.byobRequest;return ee===null?S():P(ee.view,!0),Pl(void 0)}function w(ee){if(x=!0,n=ee,y){let fe=[n,i],me=c.cancel(fe);l(me)}return A}function F(ee){if(y=!0,i=ee,x){let fe=[n,i],me=c.cancel(fe);l(me)}return A}let H=new fx({type:"bytes",start(ee){s=ee},pull:M,cancel:w}),G=new fx({type:"bytes",start(ee){R=ee},pull:U,cancel:F});return D(c),[H,G]}(e):function(r,n){let i=r.getReader(),s,R,l,c,h,_=!1,f=!1,m=!1,x=!1,y=y4(U=>{h=U});function A(){return _?(f=!0,Pl(void 0)):(_=!0,ny(i.read(),U=>{if(f=!1,U.done)return m||l.close(),x||c.close(),m&&x||h(void 0),null;let w=U.value,F=w,H=w;return m||l.enqueue(F),x||c.enqueue(H),_=!1,f&&A(),null},()=>(_=!1,null)),Pl(void 0))}function D(U){if(m=!0,s=U,x){let w=[s,R],F=i.cancel(w);h(F)}return y}function S(U){if(x=!0,R=U,m){let w=[s,R],F=i.cancel(w);h(F)}return y}let P=new fx({start(U){l=U},pull:A,cancel:D}),M=new fx({start(U){c=U},pull:A,cancel:S});return HQt(i.closed,U=>(l.error(U),c.error(U),m&&x||h(void 0),null)),[P,M]}(e)}function ume(e){return!!iy(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledReadableStream")&&e instanceof CN}function A1e(e){if(function(r){let n=r._controlledReadableStream;return!C1e(r)||!r._started?!1:!!(Ere(n)&&Ome(n)>0||JNt(r)>0)}(e)){if(e._pulling)return void(e._pullAgain=!0);e._pulling=!0,ny(e._pullAlgorithm(),()=>(e._pulling=!1,e._pullAgain&&(e._pullAgain=!1,A1e(e)),null),r=>(g1e(e,r),null))}}function dme(e){e._pullAlgorithm=void 0,e._cancelAlgorithm=void 0,e._strategySizeAlgorithm=void 0}function g1e(e,t){let r=e._controlledReadableStream;r._state==="readable"&&(BI(e),dme(e),ZNt(r,t))}function JNt(e){let t=e._controlledReadableStream._state;return t==="errored"?null:t==="closed"?0:e._strategyHWM-e._queueTotalSize}function C1e(e){return!e._closeRequested&&e._controlledReadableStream._state==="readable"}function Z9r(e,t,r,n){let i=Object.create(CN.prototype),s,R,l;s=t.start!==void 0?()=>t.start(i):()=>{},R=t.pull!==void 0?()=>t.pull(i):()=>Pl(void 0),l=t.cancel!==void 0?c=>t.cancel(c):()=>Pl(void 0),function(c,h,_,f,m,x,y){h._controlledReadableStream=c,h._queue=void 0,h._queueTotalSize=void 0,BI(h),h._started=!1,h._closeRequested=!1,h._pullAgain=!1,h._pulling=!1,h._strategySizeAlgorithm=y,h._strategyHWM=x,h._pullAlgorithm=f,h._cancelAlgorithm=m,c._readableStreamController=h,ny(Pl(_()),()=>(h._started=!0,A1e(h),null),A=>(g1e(h,A),null))}(e,i,s,R,l,r,n)}function lme(e){return new TypeError(`ReadableStreamDefaultController.prototype.${e} can only be used on a ReadableStreamDefaultController`)}function eAr(e,t,r){return wE(e,r),n=>qj(e,t,[n])}function tAr(e,t,r){return wE(e,r),n=>qj(e,t,[n])}function rAr(e,t,r){return wE(e,r),n=>Eme(e,t,[n])}function nAr(e,t){if((e=`${e}`)!="bytes")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamType`);return e}function iAr(e,t){if((e=`${e}`)!="byob")throw new TypeError(`${t} '${e}' is not a valid enumeration value for ReadableStreamReaderMode`);return e}function aNt(e,t){bN(e,t);let r=e?.preventAbort,n=e?.preventCancel,i=e?.preventClose,s=e?.signal;return s!==void 0&&function(R,l){if(!function(c){if(typeof c!="object"||c===null)return!1;try{return typeof c.aborted=="boolean"}catch{return!1}}(R))throw new TypeError(`${l} is not an AbortSignal.`)}(s,`${t} has member 'signal' that`),{preventAbort:!!r,preventCancel:!!n,preventClose:!!i,signal:s}}function aAr(e,t){bN(e,t);let r=e?.readable;Aft(r,"readable","ReadableWritablePair"),function(i,s){if(!q1e(i))throw new TypeError(`${s} is not a ReadableStream.`)}(r,`${t} has member 'readable' that`);let n=e?.writable;return Aft(n,"writable","ReadableWritablePair"),function(i,s){if(!gNt(i))throw new TypeError(`${s} is not a WritableStream.`)}(n,`${t} has member 'writable' that`),{readable:r,writable:n}}function kj(e){return!!iy(e)&&!!Object.prototype.hasOwnProperty.call(e,"_readableStreamController")&&e instanceof fx}function Ere(e){return e._reader!==void 0}function XNt(e,t){if(e._disturbed=!0,e._state==="closed")return Pl(void 0);if(e._state==="errored")return p0(e._storedError);E1e(e);let r=e._reader;if(r!==void 0&&yre(r)){let n=r._readIntoRequests;r._readIntoRequests=new EC,n.forEach(i=>{i._closeSteps(void 0)})}return NE(e._readableStreamController[Sft](t),_Nt)}function E1e(e){e._state="closed";let t=e._reader;if(t!==void 0&&(qNt(t),mj(t))){let r=t._readRequests;t._readRequests=new EC,r.forEach(n=>{n._closeSteps()})}}function ZNt(e,t){e._state="errored",e._storedError=t;let r=e._reader;r!==void 0&&(Nft(r,t),mj(r)?vNt(r,t):FNt(r,t))}function xj(e){return new TypeError(`ReadableStream.prototype.${e} can only be used on a ReadableStream`)}function ewt(e,t){bN(e,t);let r=e?.highWaterMark;return Aft(r,"highWaterMark","QueuingStrategyInit"),{highWaterMark:wft(r)}}function sNt(e){return new TypeError(`ByteLengthQueuingStrategy.prototype.${e} can only be used on a ByteLengthQueuingStrategy`)}function oNt(e){return!!iy(e)&&!!Object.prototype.hasOwnProperty.call(e,"_byteLengthQueuingStrategyHighWaterMark")&&e instanceof O1e}function RNt(e){return new TypeError(`CountQueuingStrategy.prototype.${e} can only be used on a CountQueuingStrategy`)}function uNt(e){return!!iy(e)&&!!Object.prototype.hasOwnProperty.call(e,"_countQueuingStrategyHighWaterMark")&&e instanceof v1e}function sAr(e,t,r){return wE(e,r),n=>qj(e,t,[n])}function oAr(e,t,r){return wE(e,r),n=>Eme(e,t,[n])}function RAr(e,t,r){return wE(e,r),(n,i)=>qj(e,t,[n,i])}function lNt(e){return!!iy(e)&&!!Object.prototype.hasOwnProperty.call(e,"_transformStreamController")&&e instanceof D1e}function Cme(e,t){bme(e,t),Sme(e,t)}function Sme(e,t){nwt(e._transformStreamController),function(r,n){r._writableController.error(n),r._writableState==="writable"&&owt(r,n)}(e,t),e._backpressure&&Ame(e,!1)}function Ame(e,t){e._backpressureChangePromise!==void 0&&e._backpressureChangePromise_resolve(),e._backpressureChangePromise=y4(r=>{e._backpressureChangePromise_resolve=r}),e._backpressure=t}function cme(e){return!!iy(e)&&!!Object.prototype.hasOwnProperty.call(e,"_controlledTransformStream")&&e instanceof AN}function nwt(e){e._transformAlgorithm=void 0,e._flushAlgorithm=void 0}function iwt(e,t){let r=e._controlledTransformStream;if(!gme(r))throw new TypeError("Readable side is not in a state that permits enqueue");try{(function(i,s){i._readablePulling=!1;try{i._readableController.enqueue(s)}catch(R){throw bme(i,R),R}})(r,t)}catch(i){throw Sme(r,i),r._readableStoredError}(function(i){return!function(s){return gme(s)?!!(s._readablePulling||swt(s)>0):!1}(i)})(r)!==r._backpressure&&Ame(r,!0)}function cNt(e,t){return NE(e._transformAlgorithm(t),void 0,r=>{throw Cme(e._controlledTransformStream,r),r})}function Tme(e){return new TypeError(`TransformStreamDefaultController.prototype.${e} can only be used on a TransformStreamDefaultController`)}function TNt(e){return new TypeError(`TransformStream.prototype.${e} can only be used on a TransformStream`)}function gme(e){return!e._readableCloseRequested&&e._readableState==="readable"}function awt(e){e._readableState="closed",e._readableCloseRequested=!0,e._readableController.close()}function bme(e,t){e._readableState==="readable"&&(e._readableState="errored",e._readableStoredError=t),e._readableController.error(t)}function swt(e){return e._readableController.desiredSize}function qft(e,t){e._writableState!=="writable"?Yft(e):owt(e,t)}function owt(e,t){e._writableState="erroring",e._writableStoredError=t,!function(r){return r._writableHasInFlightOperation}(e)&&e._writableStarted&&Yft(e)}function Yft(e){e._writableState="errored"}function pNt(e){e._writableState==="erroring"&&Yft(e)}var xu,hNt,Dft,W9r,U9r,F9r,pme,EC,fNt,dNt,Sft,$ft,Qft,YQt,L9r,mN,xme,DNt,SNt,wI,kN,yN,j9r,qN,Mv,YNt,bre,nNt,J9r,CN,fx,twt,O1e,rwt,v1e,D1e,AN,Rwt=mp(()=>{xu=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol:e=>`Symbol(${e})`;hNt=_Nt;Dft=Promise,W9r=Promise.prototype.then,U9r=Promise.resolve.bind(Dft),F9r=Promise.reject.bind(Dft);pme=e=>{if(typeof queueMicrotask=="function")pme=queueMicrotask;else{let t=Pl(void 0);pme=r=>gN(t,r)}return pme(e)};EC=class{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(t){let r=this._back,n=r;r._elements.length===16383&&(n={_elements:[],_next:void 0}),r._elements.push(t),n!==r&&(this._back=n,r._next=n),++this._size}shift(){let t=this._front,r=t,n=this._cursor,i=n+1,s=t._elements,R=s[n];return i===16384&&(r=t._next,i=0),--this._size,this._cursor=i,t!==r&&(this._front=r),s[n]=void 0,R}forEach(t){let r=this._cursor,n=this._front,i=n._elements;for(;!(r===i.length&&n._next===void 0||r===i.length&&(n=n._next,i=n._elements,r=0,i.length===0));)t(i[r]),++r}peek(){let t=this._front,r=this._cursor;return t._elements[r]}},fNt=xu("[[AbortSteps]]"),dNt=xu("[[ErrorSteps]]"),Sft=xu("[[CancelSteps]]"),$ft=xu("[[PullSteps]]"),Qft=xu("[[ReleaseSteps]]");YQt=Number.isFinite||function(e){return typeof e=="number"&&isFinite(e)},L9r=Math.trunc||function(e){return e<0?Math.ceil(e):Math.floor(e)};mN=class{constructor(t){if(EN(t,1,"ReadableStreamDefaultReader"),bNt(t,"First parameter"),Ere(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");xNt(this,t),this._readRequests=new EC}get closed(){return mj(this)?this._closedPromise:p0(ame("closed"))}cancel(t){return mj(this)?this._ownerReadableStream===void 0?p0(Are("cancel")):mNt(this,t):p0(ame("cancel"))}read(){if(!mj(this))return p0(ame("read"));if(this._ownerReadableStream===void 0)return p0(Are("read from"));let t,r,n=y4((i,s)=>{t=i,r=s});return function(i,s){let R=i._ownerReadableStream;R._disturbed=!0,R._state==="closed"?s._closeSteps():R._state==="errored"?s._errorSteps(R._storedError):R._readableStreamController[$ft](s)}(this,{_chunkSteps:i=>t({value:i,done:!1}),_closeSteps:()=>t({value:void 0,done:!0}),_errorSteps:i=>r(i)}),n}releaseLock(){if(!mj(this))throw ame("releaseLock");this._ownerReadableStream!==void 0&&function(t){kNt(t);let r=new TypeError("Reader was released");vNt(t,r)}(this)}};Object.defineProperties(mN.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),hl(mN.prototype.cancel,"cancel"),hl(mN.prototype.read,"read"),hl(mN.prototype.releaseLock,"releaseLock"),typeof xu.toStringTag=="symbol"&&Object.defineProperty(mN.prototype,xu.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});xme=class{constructor(t,r){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=t,this._preventCancel=r}next(){let t=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?NE(this._ongoingPromise,t,t):t(),this._ongoingPromise}return(t){let r=()=>this._returnSteps(t);return this._ongoingPromise?NE(this._ongoingPromise,r,r):r()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let t=this._reader;return t===void 0?p0(Are("iterate")):gN(t.read(),r=>{var n;return this._ongoingPromise=void 0,r.done&&(this._isFinished=!0,(n=this._reader)===null||n===void 0||n.releaseLock(),this._reader=void 0),r},r=>{var n;throw this._ongoingPromise=void 0,this._isFinished=!0,(n=this._reader)===null||n===void 0||n.releaseLock(),this._reader=void 0,r})}_returnSteps(t){if(this._isFinished)return Promise.resolve({value:t,done:!0});this._isFinished=!0;let r=this._reader;if(r===void 0)return p0(Are("finish iterating"));if(this._reader=void 0,!this._preventCancel){let n=r.cancel(t);return r.releaseLock(),NE(n,()=>({value:t,done:!0}))}return r.releaseLock(),Pl({value:t,done:!0})}},DNt={next(){return GQt(this)?this._asyncIteratorImpl.next():p0(VQt("next"))},return(e){return GQt(this)?this._asyncIteratorImpl.return(e):p0(VQt("return"))}};typeof xu.asyncIterator=="symbol"&&Object.defineProperty(DNt,xu.asyncIterator,{value(){return this},writable:!0,configurable:!0});SNt=Number.isNaN||function(e){return e!=e};wI=class{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!xft(this))throw mft("view");return this._view}respond(t){if(!xft(this))throw mft("respond");if(EN(t,1,"respond"),t=ANt(t,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");this._view.buffer,function(r,n){let i=r._pendingPullIntos.peek();if(r._controlledReadableByteStream._state==="closed"){if(n!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(n===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(i.bytesFilled+n>i.byteLength)throw new RangeError("bytesWritten out of range")}i.buffer=i.buffer,JQt(r,n)}(this._associatedReadableByteStreamController,t)}respondWithNewView(t){if(!xft(this))throw mft("respondWithNewView");if(EN(t,1,"respondWithNewView"),!ArrayBuffer.isView(t))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");t.buffer,function(r,n){let i=r._pendingPullIntos.peek();if(r._controlledReadableByteStream._state==="closed"){if(n.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(n.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(i.byteOffset+i.bytesFilled!==n.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(i.bufferByteLength!==n.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(i.bytesFilled+n.byteLength>i.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let s=n.byteLength;i.buffer=n.buffer,JQt(r,s)}(this._associatedReadableByteStreamController,t)}};Object.defineProperties(wI.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),hl(wI.prototype.respond,"respond"),hl(wI.prototype.respondWithNewView,"respondWithNewView"),typeof xu.toStringTag=="symbol"&&Object.defineProperty(wI.prototype,xu.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});kN=class{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!kre(this))throw k1e("byobRequest");return function(t){if(t._byobRequest===null&&t._pendingPullIntos.length>0){let r=t._pendingPullIntos.peek(),n=new Uint8Array(r.buffer,r.byteOffset+r.bytesFilled,r.byteLength-r.bytesFilled),i=Object.create(wI.prototype);(function(s,R,l){s._associatedReadableByteStreamController=R,s._view=l})(i,t,n),t._byobRequest=i}return t._byobRequest}(this)}get desiredSize(){if(!kre(this))throw k1e("desiredSize");return WNt(this)}close(){if(!kre(this))throw k1e("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let t=this._controlledReadableByteStream._state;if(t!=="readable")throw new TypeError(`The stream (in ${t} state) is not in the readable state and cannot be closed`);(function(r){let n=r._controlledReadableByteStream;if(!(r._closeRequested||n._state!=="readable")){if(r._queueTotalSize>0)return void(r._closeRequested=!0);if(r._pendingPullIntos.length>0&&r._pendingPullIntos.peek().bytesFilled>0){let i=new TypeError("Insufficient bytes to fill elements in the given buffer");throw gre(r,i),i}mme(r),E1e(n)}})(this)}enqueue(t){if(!kre(this))throw k1e("enqueue");if(EN(t,1,"enqueue"),!ArrayBuffer.isView(t))throw new TypeError("chunk must be an array buffer view");if(t.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(t.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let r=this._controlledReadableByteStream._state;if(r!=="readable")throw new TypeError(`The stream (in ${r} state) is not in the readable state and cannot be enqueued to`);(function(n,i){let s=n._controlledReadableByteStream;if(n._closeRequested||s._state!=="readable")return;let R=i.buffer,l=i.byteOffset,c=i.byteLength,h=R;if(n._pendingPullIntos.length>0){let _=n._pendingPullIntos.peek();_.buffer,Ift(n),_.buffer=_.buffer,_.readerType==="none"&&PNt(n,_)}ONt(s)?(function(_){let f=_._controlledReadableByteStream._reader;for(;f._readRequests.length>0;){if(_._queueTotalSize===0)return;XQt(_,f._readRequests.shift())}}(n),Ome(s)===0?_me(n,h,l,c):(n._pendingPullIntos.length>0&&qre(n),Pft(s,new Uint8Array(h,l,c),!1))):Mft(s)?(_me(n,h,l,c),Eft(n)):_me(n,h,l,c),yj(n)})(this,t)}error(t){if(!kre(this))throw k1e("error");gre(this,t)}[Sft](t){QNt(this),BI(this);let r=this._cancelAlgorithm(t);return mme(this),r}[$ft](t){let r=this._controlledReadableByteStream;if(this._queueTotalSize>0)return void XQt(this,t);let n=this._autoAllocateChunkSize;if(n!==void 0){let i;try{i=new ArrayBuffer(n)}catch(R){return void t._errorSteps(R)}let s={buffer:i,bufferByteLength:n,byteOffset:0,byteLength:n,bytesFilled:0,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(s)}ENt(r,t),yj(this)}[Qft](){if(this._pendingPullIntos.length>0){let t=this._pendingPullIntos.peek();t.readerType="none",this._pendingPullIntos=new EC,this._pendingPullIntos.push(t)}}};Object.defineProperties(kN.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),hl(kN.prototype.close,"close"),hl(kN.prototype.enqueue,"enqueue"),hl(kN.prototype.error,"error"),typeof xu.toStringTag=="symbol"&&Object.defineProperty(kN.prototype,xu.toStringTag,{value:"ReadableByteStreamController",configurable:!0});yN=class{constructor(t){if(EN(t,1,"ReadableStreamBYOBReader"),bNt(t,"First parameter"),Ere(t))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!kre(t._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");xNt(this,t),this._readIntoRequests=new EC}get closed(){return yre(this)?this._closedPromise:p0(sme("closed"))}cancel(t){return yre(this)?this._ownerReadableStream===void 0?p0(Are("cancel")):mNt(this,t):p0(sme("cancel"))}read(t){if(!yre(this))return p0(sme("read"));if(!ArrayBuffer.isView(t))return p0(new TypeError("view must be an array buffer view"));if(t.byteLength===0)return p0(new TypeError("view must have non-zero byteLength"));if(t.buffer.byteLength===0)return p0(new TypeError("view's buffer must have non-zero byteLength"));if(t.buffer,this._ownerReadableStream===void 0)return p0(Are("read from"));let r,n,i=y4((s,R)=>{r=s,n=R});return function(s,R,l){let c=s._ownerReadableStream;c._disturbed=!0,c._state==="errored"?l._errorSteps(c._storedError):function(h,_,f){let m=h._controlledReadableByteStream,x=1;_.constructor!==DataView&&(x=_.constructor.BYTES_PER_ELEMENT);let y=_.constructor,A=_.buffer,D={buffer:A,bufferByteLength:A.byteLength,byteOffset:_.byteOffset,byteLength:_.byteLength,bytesFilled:0,elementSize:x,viewConstructor:y,readerType:"byob"};if(h._pendingPullIntos.length>0)return h._pendingPullIntos.push(D),void ZQt(m,f);if(m._state!=="closed"){if(h._queueTotalSize>0){if(BNt(h,D)){let S=NNt(D);return MNt(h),void f._chunkSteps(S)}if(h._closeRequested){let S=new TypeError("Insufficient bytes to fill elements in the given buffer");return gre(h,S),void f._errorSteps(S)}}h._pendingPullIntos.push(D),ZQt(m,f),yj(h)}else{let S=new y(D.buffer,D.byteOffset,0);f._closeSteps(S)}}(c._readableStreamController,R,l)}(this,t,{_chunkSteps:s=>r({value:s,done:!1}),_closeSteps:s=>r({value:s,done:!0}),_errorSteps:s=>n(s)}),i}releaseLock(){if(!yre(this))throw sme("releaseLock");this._ownerReadableStream!==void 0&&function(t){kNt(t);let r=new TypeError("Reader was released");FNt(t,r)}(this)}};Object.defineProperties(yN.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),hl(yN.prototype.cancel,"cancel"),hl(yN.prototype.read,"read"),hl(yN.prototype.releaseLock,"releaseLock"),typeof xu.toStringTag=="symbol"&&Object.defineProperty(yN.prototype,xu.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});j9r=typeof AbortController=="function",qN=class{constructor(t={},r={}){t===void 0?t=null:CNt(t,"First parameter");let n=yme(r,"Second parameter"),i=function(l,c){bN(l,c);let h=l?.abort,_=l?.close,f=l?.start,m=l?.type,x=l?.write;return{abort:h===void 0?void 0:Y9r(h,l,`${c} has member 'abort' that`),close:_===void 0?void 0:K9r(_,l,`${c} has member 'close' that`),start:f===void 0?void 0:G9r(f,l,`${c} has member 'start' that`),write:x===void 0?void 0:V9r(x,l,`${c} has member 'write' that`),type:m}}(t,"First parameter");var s;if((s=this)._state="writable",s._storedError=void 0,s._writer=void 0,s._writableStreamController=void 0,s._writeRequests=new EC,s._inFlightWriteRequest=void 0,s._closeRequest=void 0,s._inFlightCloseRequest=void 0,s._pendingAbortRequest=void 0,s._backpressure=!1,i.type!==void 0)throw new RangeError("Invalid type is specified");let R=kme(n);(function(l,c,h,_){let f=Object.create(bre.prototype),m,x,y,A;m=c.start!==void 0?()=>c.start(f):()=>{},x=c.write!==void 0?D=>c.write(D,f):()=>Pl(void 0),y=c.close!==void 0?()=>c.close():()=>Pl(void 0),A=c.abort!==void 0?D=>c.abort(D):()=>Pl(void 0),function(D,S,P,M,U,w,F,H){S._controlledWritableStream=D,D._writableStreamController=S,S._queue=void 0,S._queueTotalSize=void 0,BI(S),S._abortReason=void 0,S._abortController=function(){if(j9r)return new AbortController}(),S._started=!1,S._strategySizeAlgorithm=H,S._strategyHWM=F,S._writeAlgorithm=M,S._closeAlgorithm=U,S._abortAlgorithm=w;let G=Lft(S);Fft(D,G);let ee=P();ny(Pl(ee),()=>(S._started=!0,vme(S),null),fe=>(S._started=!0,Oft(D,fe),null))}(l,f,m,x,y,A,h,_)})(this,i,b1e(n,1),R)}get locked(){if(!Wv(this))throw Rme("locked");return hme(this)}abort(t){return Wv(this)?hme(this)?p0(new TypeError("Cannot abort a stream that already has a writer")):LNt(this,t):p0(Rme("abort"))}close(){return Wv(this)?hme(this)?p0(new TypeError("Cannot close a stream that already has a writer")):PI(this)?p0(new TypeError("Cannot close an already-closing stream")):zNt(this):p0(Rme("close"))}getWriter(){if(!Wv(this))throw Rme("getWriter");return new Mv(this)}};Object.defineProperties(qN.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),hl(qN.prototype.abort,"abort"),hl(qN.prototype.close,"close"),hl(qN.prototype.getWriter,"getWriter"),typeof xu.toStringTag=="symbol"&&Object.defineProperty(qN.prototype,xu.toStringTag,{value:"WritableStream",configurable:!0});Mv=class{constructor(t){if(EN(t,1,"WritableStreamDefaultWriter"),function(i,s){if(!Wv(i))throw new TypeError(`${s} is not a WritableStream.`)}(t,"First parameter"),hme(t))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=t,t._writer=this;let r=t._state;if(r==="writable")!PI(t)&&t._backpressure?Dme(this):rNt(this),fme(this);else if(r==="erroring")vft(this,t._storedError),fme(this);else if(r==="closed")rNt(this),fme(n=this),VNt(n);else{let i=t._storedError;vft(this,i),tNt(this,i)}var n}get closed(){return fj(this)?this._closedPromise:p0(dj("closed"))}get desiredSize(){if(!fj(this))throw dj("desiredSize");if(this._ownerWritableStream===void 0)throw y1e("desiredSize");return function(t){let r=t._ownerWritableStream,n=r._state;return n==="errored"||n==="erroring"?null:n==="closed"?0:KNt(r._writableStreamController)}(this)}get ready(){return fj(this)?this._readyPromise:p0(dj("ready"))}abort(t){return fj(this)?this._ownerWritableStream===void 0?p0(y1e("abort")):function(r,n){return LNt(r._ownerWritableStream,n)}(this,t):p0(dj("abort"))}close(){if(!fj(this))return p0(dj("close"));let t=this._ownerWritableStream;return t===void 0?p0(y1e("close")):PI(t)?p0(new TypeError("Cannot close an already-closing stream")):zNt(this._ownerWritableStream)}releaseLock(){if(!fj(this))throw dj("releaseLock");this._ownerWritableStream!==void 0&&function(t){let r=t._ownerWritableStream,n=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");HNt(t,n),function(i,s){i._closedPromiseState==="pending"?zft(i,s):function(R,l){tNt(R,l)}(i,s)}(t,n),r._writer=void 0,t._ownerWritableStream=void 0}(this)}write(t){return fj(this)?this._ownerWritableStream===void 0?p0(y1e("write to")):function(r,n){let i=r._ownerWritableStream,s=i._writableStreamController,R=function(h,_){try{return h._strategySizeAlgorithm(_)}catch(f){return eNt(h,f),1}}(s,n);if(i!==r._ownerWritableStream)return p0(y1e("write to"));let l=i._state;if(l==="errored")return p0(i._storedError);if(PI(i)||l==="closed")return p0(new TypeError("The stream is closing or closed and cannot be written to"));if(l==="erroring")return p0(i._storedError);let c=function(h){return y4((_,f)=>{let m={_resolve:_,_reject:f};h._writeRequests.push(m)})}(i);return function(h,_,f){try{Bft(h,_,f)}catch(x){return void eNt(h,x)}let m=h._controlledWritableStream;!PI(m)&&m._state==="writable"&&Fft(m,Lft(h)),vme(h)}(s,n,R),c}(this,t):p0(dj("write"))}};Object.defineProperties(Mv.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),hl(Mv.prototype.abort,"abort"),hl(Mv.prototype.close,"close"),hl(Mv.prototype.releaseLock,"releaseLock"),hl(Mv.prototype.write,"write"),typeof xu.toStringTag=="symbol"&&Object.defineProperty(Mv.prototype,xu.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});YNt={},bre=class{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!kft(this))throw yft("abortReason");return this._abortReason}get signal(){if(!kft(this))throw yft("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(t){if(!kft(this))throw yft("error");this._controlledWritableStream._state==="writable"&&GNt(this,t)}[fNt](t){let r=this._abortAlgorithm(t);return qme(this),r}[dNt](){BI(this)}};Object.defineProperties(bre.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof xu.toStringTag=="symbol"&&Object.defineProperty(bre.prototype,xu.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});nNt=typeof DOMException<"u"?DOMException:void 0,J9r=function(e){if(typeof e!="function"&&typeof e!="object")return!1;try{return new e,!0}catch{return!1}}(nNt)?nNt:function(){let e=function(t,r){this.message=t||"",this.name=r||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return e.prototype=Object.create(Error.prototype),Object.defineProperty(e.prototype,"constructor",{value:e,writable:!0,configurable:!0}),e}();CN=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!ume(this))throw lme("desiredSize");return JNt(this)}close(){if(!ume(this))throw lme("close");if(!C1e(this))throw new TypeError("The stream is not in a state that permits close");(function(t){if(!C1e(t))return;let r=t._controlledReadableStream;t._closeRequested=!0,t._queue.length===0&&(dme(t),E1e(r))})(this)}enqueue(t){if(!ume(this))throw lme("enqueue");if(!C1e(this))throw new TypeError("The stream is not in a state that permits enqueue");return function(r,n){if(!C1e(r))return;let i=r._controlledReadableStream;if(Ere(i)&&Ome(i)>0)Pft(i,n,!1);else{let s;try{s=r._strategySizeAlgorithm(n)}catch(R){throw g1e(r,R),R}try{Bft(r,n,s)}catch(R){throw g1e(r,R),R}}A1e(r)}(this,t)}error(t){if(!ume(this))throw lme("error");g1e(this,t)}[Sft](t){BI(this);let r=this._cancelAlgorithm(t);return dme(this),r}[$ft](t){let r=this._controlledReadableStream;if(this._queue.length>0){let n=gft(this);this._closeRequested&&this._queue.length===0?(dme(this),E1e(r)):A1e(this),t._chunkSteps(n)}else ENt(r,t),A1e(this)}[Qft](){}};Object.defineProperties(CN.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),hl(CN.prototype.close,"close"),hl(CN.prototype.enqueue,"enqueue"),hl(CN.prototype.error,"error"),typeof xu.toStringTag=="symbol"&&Object.defineProperty(CN.prototype,xu.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});fx=class{constructor(t={},r={}){t===void 0?t=null:CNt(t,"First parameter");let n=yme(r,"Second parameter"),i=function(R,l){bN(R,l);let c=R,h=c?.autoAllocateChunkSize,_=c?.cancel,f=c?.pull,m=c?.start,x=c?.type;return{autoAllocateChunkSize:h===void 0?void 0:ANt(h,`${l} has member 'autoAllocateChunkSize' that`),cancel:_===void 0?void 0:eAr(_,c,`${l} has member 'cancel' that`),pull:f===void 0?void 0:tAr(f,c,`${l} has member 'pull' that`),start:m===void 0?void 0:rAr(m,c,`${l} has member 'start' that`),type:x===void 0?void 0:nAr(x,`${l} has member 'type' that`)}}(t,"First parameter");var s;if((s=this)._state="readable",s._reader=void 0,s._storedError=void 0,s._disturbed=!1,i.type==="bytes"){if(n.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");z9r(this,i,b1e(n,0))}else{let R=kme(n);Z9r(this,i,b1e(n,1),R)}}get locked(){if(!kj(this))throw xj("locked");return Ere(this)}cancel(t){return kj(this)?Ere(this)?p0(new TypeError("Cannot cancel a stream that already has a reader")):XNt(this,t):p0(xj("cancel"))}getReader(t){if(!kj(this))throw xj("getReader");return function(r,n){bN(r,n);let i=r?.mode;return{mode:i===void 0?void 0:iAr(i,`${n} has member 'mode' that`)}}(t,"First parameter").mode===void 0?new mN(this):function(r){return new yN(r)}(this)}pipeThrough(t,r={}){if(!q1e(this))throw xj("pipeThrough");EN(t,1,"pipeThrough");let n=aAr(t,"First parameter"),i=aNt(r,"Second parameter");if(this.locked)throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(n.writable.locked)throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");return Cre(iNt(this,n.writable,i.preventClose,i.preventAbort,i.preventCancel,i.signal)),n.readable}pipeTo(t,r={}){if(!q1e(this))return p0(xj("pipeTo"));if(t===void 0)return p0("Parameter 1 is required in 'pipeTo'.");if(!gNt(t))return p0(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let n;try{n=aNt(r,"Second parameter")}catch(i){return p0(i)}return this.locked?p0(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):t.locked?p0(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):iNt(this,t,n.preventClose,n.preventAbort,n.preventCancel,n.signal)}tee(){if(!q1e(this))throw xj("tee");if(this.locked)throw new TypeError("Cannot tee a stream that already has a reader");return X9r(this)}values(t){if(!q1e(this))throw xj("values");return function(r,n){let i=r.getReader(),s=new xme(i,n),R=Object.create(DNt);return R._asyncIteratorImpl=s,R}(this,function(r,n){return bN(r,n),{preventCancel:!!r?.preventCancel}}(t,"First parameter").preventCancel)}};Object.defineProperties(fx.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),hl(fx.prototype.cancel,"cancel"),hl(fx.prototype.getReader,"getReader"),hl(fx.prototype.pipeThrough,"pipeThrough"),hl(fx.prototype.pipeTo,"pipeTo"),hl(fx.prototype.tee,"tee"),hl(fx.prototype.values,"values"),typeof xu.toStringTag=="symbol"&&Object.defineProperty(fx.prototype,xu.toStringTag,{value:"ReadableStream",configurable:!0}),typeof xu.asyncIterator=="symbol"&&Object.defineProperty(fx.prototype,xu.asyncIterator,{value:fx.prototype.values,writable:!0,configurable:!0});twt=e=>e.byteLength;hl(twt,"size");O1e=class{constructor(t){EN(t,1,"ByteLengthQueuingStrategy"),t=ewt(t,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!oNt(this))throw sNt("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!oNt(this))throw sNt("size");return twt}};Object.defineProperties(O1e.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof xu.toStringTag=="symbol"&&Object.defineProperty(O1e.prototype,xu.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});rwt=()=>1;hl(rwt,"size");v1e=class{constructor(t){EN(t,1,"CountQueuingStrategy"),t=ewt(t,"First parameter"),this._countQueuingStrategyHighWaterMark=t.highWaterMark}get highWaterMark(){if(!uNt(this))throw RNt("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!uNt(this))throw RNt("size");return rwt}};Object.defineProperties(v1e.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof xu.toStringTag=="symbol"&&Object.defineProperty(v1e.prototype,xu.toStringTag,{value:"CountQueuingStrategy",configurable:!0});D1e=class{constructor(t={},r={},n={}){t===void 0&&(t=null);let i=yme(r,"Second parameter"),s=yme(n,"Third parameter"),R=function(m,x){bN(m,x);let y=m?.flush,A=m?.readableType,D=m?.start,S=m?.transform,P=m?.writableType;return{flush:y===void 0?void 0:sAr(y,m,`${x} has member 'flush' that`),readableType:A,start:D===void 0?void 0:oAr(D,m,`${x} has member 'start' that`),transform:S===void 0?void 0:RAr(S,m,`${x} has member 'transform' that`),writableType:P}}(t,"First parameter");if(R.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(R.writableType!==void 0)throw new RangeError("Invalid writableType specified");let l=b1e(s,0),c=kme(s),h=b1e(i,1),_=kme(i),f;(function(m,x,y,A,D,S){function P(){return x}function M(G){return function(ee,fe){let me=ee._transformStreamController;return ee._backpressure?NE(ee._backpressureChangePromise,()=>{if((Wv(ee._writable)?ee._writable._state:ee._writableState)==="erroring")throw Wv(ee._writable)?ee._writable._storedError:ee._writableStoredError;return cNt(me,fe)}):cNt(me,fe)}(m,G)}function U(G){return function(ee,fe){return Cme(ee,fe),Pl(void 0)}(m,G)}function w(){return function(G){let ee=G._transformStreamController,fe=ee._flushAlgorithm();return nwt(ee),NE(fe,()=>{if(G._readableState==="errored")throw G._readableStoredError;gme(G)&&awt(G)},me=>{throw Cme(G,me),G._readableStoredError})}(m)}function F(){return function(G){return Ame(G,!1),G._backpressureChangePromise}(m)}function H(G){return Sme(m,G),Pl(void 0)}m._writableState="writable",m._writableStoredError=void 0,m._writableHasInFlightOperation=!1,m._writableStarted=!1,m._writable=function(G,ee,fe,me,ve,Ae,Ue){return new qN({start(Ee){G._writableController=Ee;try{let Me=Ee.signal;Me!==void 0&&Me.addEventListener("abort",()=>{G._writableState==="writable"&&(G._writableState="erroring",Me.reason&&(G._writableStoredError=Me.reason))})}catch{}return NE(ee(),()=>(G._writableStarted=!0,pNt(G),null),Me=>{throw G._writableStarted=!0,qft(G,Me),Me})},write:Ee=>(function(Me){Me._writableHasInFlightOperation=!0}(G),NE(fe(Ee),()=>(function(Me){Me._writableHasInFlightOperation=!1}(G),pNt(G),null),Me=>{throw function(gt,xt){gt._writableHasInFlightOperation=!1,qft(gt,xt)}(G,Me),Me})),close:()=>(function(Ee){Ee._writableHasInFlightOperation=!0}(G),NE(me(),()=>(function(Ee){Ee._writableHasInFlightOperation=!1,Ee._writableState==="erroring"&&(Ee._writableStoredError=void 0),Ee._writableState="closed"}(G),null),Ee=>{throw function(Me,gt){Me._writableHasInFlightOperation=!1,Me._writableState,qft(Me,gt)}(G,Ee),Ee})),abort:Ee=>(G._writableState="errored",G._writableStoredError=Ee,ve(Ee))},{highWaterMark:Ae,size:Ue})}(m,P,M,w,U,y,A),m._readableState="readable",m._readableStoredError=void 0,m._readableCloseRequested=!1,m._readablePulling=!1,m._readable=function(G,ee,fe,me,ve,Ae){return new fx({start:Ue=>(G._readableController=Ue,ee().catch(Ee=>{bme(G,Ee)})),pull:()=>(G._readablePulling=!0,fe().catch(Ue=>{bme(G,Ue)})),cancel:Ue=>(G._readableState="closed",me(Ue))},{highWaterMark:ve,size:Ae})}(m,P,F,H,D,S),m._backpressure=void 0,m._backpressureChangePromise=void 0,m._backpressureChangePromise_resolve=void 0,Ame(m,!0),m._transformStreamController=void 0})(this,y4(m=>{f=m}),h,_,l,c),function(m,x){let y=Object.create(AN.prototype),A,D;A=x.transform!==void 0?S=>x.transform(S,y):S=>{try{return iwt(y,S),Pl(void 0)}catch(P){return p0(P)}},D=x.flush!==void 0?()=>x.flush(y):()=>Pl(void 0),function(S,P,M,U){P._controlledTransformStream=S,S._transformStreamController=P,P._transformAlgorithm=M,P._flushAlgorithm=U}(m,y,A,D)}(this,R),R.start!==void 0?f(R.start(this._transformStreamController)):f(void 0)}get readable(){if(!lNt(this))throw TNt("readable");return this._readable}get writable(){if(!lNt(this))throw TNt("writable");return this._writable}};Object.defineProperties(D1e.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof xu.toStringTag=="symbol"&&Object.defineProperty(D1e.prototype,xu.toStringTag,{value:"TransformStream",configurable:!0});AN=class{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!cme(this))throw Tme("desiredSize");return swt(this._controlledTransformStream)}enqueue(t){if(!cme(this))throw Tme("enqueue");iwt(this,t)}error(t){if(!cme(this))throw Tme("error");var r;r=t,Cme(this._controlledTransformStream,r)}terminate(){if(!cme(this))throw Tme("terminate");(function(t){let r=t._controlledTransformStream;gme(r)&&awt(r);let n=new TypeError("TransformStream terminated");Sme(r,n)})(this)}};Object.defineProperties(AN.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),hl(AN.prototype.enqueue,"enqueue"),hl(AN.prototype.error,"error"),hl(AN.prototype.terminate,"terminate"),typeof xu.toStringTag=="symbol"&&Object.defineProperty(AN.prototype,xu.toStringTag,{value:"TransformStreamDefaultController",configurable:!0})});var Fd,$me=mp(()=>{Fd=e=>typeof e=="function"});async function*uAr(e){let t=e.byteOffset+e.byteLength,r=e.byteOffset;for(;r!==t;){let n=Math.min(t-r,uwt),i=e.buffer.slice(r,r+n);r+=i.byteLength,yield new Uint8Array(i)}}async function*lAr(e){let t=0;for(;t!==e.size;){let n=await e.slice(t,Math.min(e.size,t+uwt)).arrayBuffer();t+=n.byteLength,yield new Uint8Array(n)}}async function*Qme(e,t=!1){for(let r of e)ArrayBuffer.isView(r)?t?yield*uAr(r):yield r:Fd(r.stream)?yield*r.stream():yield*lAr(r)}function*lwt(e,t,r=0,n){n??(n=t);let i=r<0?Math.max(t+r,0):Math.min(r,t),s=n<0?Math.max(t+n,0):Math.min(n,t),R=Math.max(s-i,0),l=0;for(let c of e){if(l>=R)break;let h=ArrayBuffer.isView(c)?c.byteLength:c.size;if(i&&h<=i)i-=h,s-=h;else{let _;ArrayBuffer.isView(c)?(_=c.subarray(i,Math.min(h,s)),l+=_.byteLength):(_=c.slice(i,Math.min(h,s)),l+=_.size),s-=h,i=0,yield _}}}var uwt,cwt=mp(()=>{$me();uwt=65536});var II,Twt,Cj,Nme,S1e,Uv,wme=mp(()=>{Rwt();$me();cwt();II=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Twt=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},Uv=class e{constructor(t=[],r={}){if(Cj.set(this,[]),Nme.set(this,""),S1e.set(this,0),r??(r={}),typeof t!="object"||t===null)throw new TypeError("Failed to construct 'Blob': The provided value cannot be converted to a sequence.");if(!Fd(t[Symbol.iterator]))throw new TypeError("Failed to construct 'Blob': The object must have a callable @@iterator property.");if(typeof r!="object"&&!Fd(r))throw new TypeError("Failed to construct 'Blob': parameter 2 cannot convert to dictionary.");let n=new TextEncoder;for(let s of t){let R;ArrayBuffer.isView(s)?R=new Uint8Array(s.buffer.slice(s.byteOffset,s.byteOffset+s.byteLength)):s instanceof ArrayBuffer?R=new Uint8Array(s.slice(0)):s instanceof e?R=s:R=n.encode(String(s)),Twt(this,S1e,II(this,S1e,"f")+(ArrayBuffer.isView(R)?R.byteLength:R.size),"f"),II(this,Cj,"f").push(R)}let i=r.type===void 0?"":String(r.type);Twt(this,Nme,/^[\x20-\x7E]*$/.test(i)?i:"","f")}static[(Cj=new WeakMap,Nme=new WeakMap,S1e=new WeakMap,Symbol.hasInstance)](t){return!!(t&&typeof t=="object"&&Fd(t.constructor)&&(Fd(t.stream)||Fd(t.arrayBuffer))&&/^(Blob|File)$/.test(t[Symbol.toStringTag]))}get type(){return II(this,Nme,"f")}get size(){return II(this,S1e,"f")}slice(t,r,n){return new e(lwt(II(this,Cj,"f"),this.size,t,r),{type:n})}async text(){let t=new TextDecoder,r="";for await(let n of Qme(II(this,Cj,"f")))r+=t.decode(n,{stream:!0});return r+=t.decode(),r}async arrayBuffer(){let t=new Uint8Array(this.size),r=0;for await(let n of Qme(II(this,Cj,"f")))t.set(n,r),r+=n.length;return t.buffer}stream(){let t=Qme(II(this,Cj,"f"),!0);return new fx({async pull(r){let{value:n,done:i}=await t.next();if(i)return queueMicrotask(()=>r.close());r.enqueue(n)},async cancel(){await t.return()}})}get[Symbol.toStringTag](){return"Blob"}};Object.defineProperties(Uv.prototype,{type:{enumerable:!0},size:{enumerable:!0},slice:{enumerable:!0},stream:{enumerable:!0},text:{enumerable:!0},arrayBuffer:{enumerable:!0}})});var pwt,_wt,Pme,Bme,PE,$1e=mp(()=>{wme();pwt=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},_wt=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},PE=class extends Uv{constructor(t,r,n={}){if(super(t,n),Pme.set(this,void 0),Bme.set(this,0),arguments.length<2)throw new TypeError(`Failed to construct 'File': 2 arguments required, but only ${arguments.length} present.`);pwt(this,Pme,String(r),"f");let i=n.lastModified===void 0?Date.now():Number(n.lastModified);Number.isNaN(i)||pwt(this,Bme,i,"f")}static[(Pme=new WeakMap,Bme=new WeakMap,Symbol.hasInstance)](t){return t instanceof Uv&&t[Symbol.toStringTag]==="File"&&typeof t.name=="string"}get name(){return _wt(this,Pme,"f")}get lastModified(){return _wt(this,Bme,"f")}get webkitRelativePath(){return""}get[Symbol.toStringTag](){return"File"}}});var Kft,Gft=mp(()=>{$1e();Kft=e=>e instanceof PE});var xwt=Le((jti,dwt)=>{"use strict";var _Ar=Li("util"),hAr=ept();dwt.exports=function(e){if(typeof e=="number")return e;var t=hAr(e);if(t===void 0){var r=new Error(_Ar.format("humanize-ms(%j) result undefined",e));console.warn(r.stack)}return t}});var Wme=Le((Jti,mwt)=>{"use strict";mwt.exports={CURRENT_ID:Symbol("agentkeepalive#currentId"),CREATE_ID:Symbol("agentkeepalive#createId"),INIT_SOCKET:Symbol("agentkeepalive#initSocket"),CREATE_HTTPS_CONNECTION:Symbol("agentkeepalive#createHttpsConnection"),SOCKET_CREATED_TIME:Symbol("agentkeepalive#socketCreatedTime"),SOCKET_NAME:Symbol("agentkeepalive#socketName"),SOCKET_REQUEST_COUNT:Symbol("agentkeepalive#socketRequestCount"),SOCKET_REQUEST_FINISHED_COUNT:Symbol("agentkeepalive#socketRequestFinishedCount")}});var tdt=Le((Xti,Cwt)=>{"use strict";var fAr=Li("http").Agent,jft=xwt(),q4=Li("util").debuglog("agentkeepalive"),{INIT_SOCKET:kwt,CURRENT_ID:Ume,CREATE_ID:ywt,SOCKET_CREATED_TIME:qwt,SOCKET_NAME:OC,SOCKET_REQUEST_COUNT:I3,SOCKET_REQUEST_FINISHED_COUNT:zv}=Wme(),Zft=1,Jft=parseInt(process.version.split(".",1)[0].substring(1));Jft>=11&&Jft<=12?Zft=2:Jft>=13&&(Zft=3);function Q1e(e){console.log("[agentkeepalive:deprecated] %s",e)}var edt=class extends fAr{constructor(t){t=t||{},t.keepAlive=t.keepAlive!==!1,t.freeSocketTimeout===void 0&&(t.freeSocketTimeout=4e3),t.keepAliveTimeout&&(Q1e("options.keepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"),t.freeSocketTimeout=t.keepAliveTimeout,delete t.keepAliveTimeout),t.freeSocketKeepAliveTimeout&&(Q1e("options.freeSocketKeepAliveTimeout is deprecated, please use options.freeSocketTimeout instead"),t.freeSocketTimeout=t.freeSocketKeepAliveTimeout,delete t.freeSocketKeepAliveTimeout),t.timeout===void 0&&(t.timeout=Math.max(t.freeSocketTimeout*2,8e3)),t.timeout=jft(t.timeout),t.freeSocketTimeout=jft(t.freeSocketTimeout),t.socketActiveTTL=t.socketActiveTTL?jft(t.socketActiveTTL):0,super(t),this[Ume]=0,this.createSocketCount=0,this.createSocketCountLastCheck=0,this.createSocketErrorCount=0,this.createSocketErrorCountLastCheck=0,this.closeSocketCount=0,this.closeSocketCountLastCheck=0,this.errorSocketCount=0,this.errorSocketCountLastCheck=0,this.requestCount=0,this.requestCountLastCheck=0,this.timeoutSocketCount=0,this.timeoutSocketCountLastCheck=0,this.on("free",r=>{let n=this.calcSocketTimeout(r);n>0&&r.timeout!==n&&r.setTimeout(n)})}get freeSocketKeepAliveTimeout(){return Q1e("agent.freeSocketKeepAliveTimeout is deprecated, please use agent.options.freeSocketTimeout instead"),this.options.freeSocketTimeout}get timeout(){return Q1e("agent.timeout is deprecated, please use agent.options.timeout instead"),this.options.timeout}get socketActiveTTL(){return Q1e("agent.socketActiveTTL is deprecated, please use agent.options.socketActiveTTL instead"),this.options.socketActiveTTL}calcSocketTimeout(t){let r=this.options.freeSocketTimeout,n=this.options.socketActiveTTL;if(n){let i=Date.now()-t[qwt],s=n-i;if(s<=0)return s;r&&s"u"?!0:n<=0?(q4("%s(requests: %s, finished: %s) free but need to destroy by TTL, request count %s, diff is %s",t[OC],t[I3],t[zv],n),!1):(t.timeout!==n&&t.setTimeout(n),!0)}reuseSocket(...t){super.reuseSocket(...t);let r=t[0],n=t[1];n.reusedSocket=!0;let i=this.options.timeout;N1e(r)!==i&&(r.setTimeout(i),q4("%s reset timeout to %sms",r[OC],i)),r[I3]++,q4("%s(requests: %s, finished: %s) reuse on addRequest, timeout %sms",r[OC],r[I3],r[zv],N1e(r))}[ywt](){let t=this[Ume]++;return this[Ume]===Number.MAX_SAFE_INTEGER&&(this[Ume]=0),t}[kwt](t,r){r.timeout&&(N1e(t)||t.setTimeout(r.timeout)),this.options.keepAlive&&t.setNoDelay(!0),this.createSocketCount++,this.options.socketActiveTTL&&(t[qwt]=Date.now()),t[OC]=`sock[${this[ywt]()}#${r._agentKey}]`.split("-----BEGIN",1)[0],t[I3]=1,t[zv]=0,dAr(this,t,r)}createConnection(t,r){let n=!1,i=(R,l)=>{if(!n){if(n=!0,R)return this.createSocketErrorCount++,r(R);this[kwt](l,t),r(R,l)}},s=super.createConnection(t,i);return s&&i(null,s),s}get statusChanged(){let t=this.createSocketCount!==this.createSocketCountLastCheck||this.createSocketErrorCount!==this.createSocketErrorCountLastCheck||this.closeSocketCount!==this.closeSocketCountLastCheck||this.errorSocketCount!==this.errorSocketCountLastCheck||this.timeoutSocketCount!==this.timeoutSocketCountLastCheck||this.requestCount!==this.requestCountLastCheck;return t&&(this.createSocketCountLastCheck=this.createSocketCount,this.createSocketErrorCountLastCheck=this.createSocketErrorCount,this.closeSocketCountLastCheck=this.closeSocketCount,this.errorSocketCountLastCheck=this.errorSocketCount,this.timeoutSocketCountLastCheck=this.timeoutSocketCount,this.requestCountLastCheck=this.requestCount),t}getCurrentStatus(){return{createSocketCount:this.createSocketCount,createSocketErrorCount:this.createSocketErrorCount,closeSocketCount:this.closeSocketCount,errorSocketCount:this.errorSocketCount,timeoutSocketCount:this.timeoutSocketCount,requestCount:this.requestCount,freeSockets:Xft(this.freeSockets),sockets:Xft(this.sockets),requests:Xft(this.requests)}}};function N1e(e){return e.timeout||e._idleTimeout}function dAr(e,t,r){q4("%s create, timeout %sms",t[OC],N1e(t));function n(){if(!t._httpMessage&&t[I3]===1)return;t[zv]++,e.requestCount++,q4("%s(requests: %s, finished: %s) free",t[OC],t[I3],t[zv]);let c=e.getName(r);t.writable&&e.requests[c]&&e.requests[c].length&&(t[I3]++,q4("%s(requests: %s, finished: %s) will be reuse on agent free event",t[OC],t[I3],t[zv]))}t.on("free",n);function i(c){q4("%s(requests: %s, finished: %s) close, isError: %s",t[OC],t[I3],t[zv],c),e.closeSocketCount++}t.on("close",i);function s(){let c=t.listeners("timeout").length,h=N1e(t),_=t._httpMessage,f=_&&_.listeners("timeout").length||0;q4("%s(requests: %s, finished: %s) timeout after %sms, listeners %s, defaultTimeoutListenerCount %s, hasHttpRequest %s, HttpRequest timeoutListenerCount %s",t[OC],t[I3],t[zv],h,c,Zft,!!_,f),q4.enabled&&q4("timeout listeners: %s",t.listeners("timeout").map(x=>x.name).join(", ")),e.timeoutSocketCount++;let m=e.getName(r);if(e.freeSockets[m]&&e.freeSockets[m].indexOf(t)!==-1)t.destroy(),e.removeSocket(t,r),q4("%s is free, destroy quietly",t[OC]);else if(f===0){let x=new Error("Socket timeout");x.code="ERR_SOCKET_TIMEOUT",x.timeout=h,t.destroy(x),e.removeSocket(t,r),q4("%s destroy with timeout error",t[OC])}}t.on("timeout",s);function R(c){let h=t.listeners("error").length;q4("%s(requests: %s, finished: %s) error: %s, listenerCount: %s",t[OC],t[I3],t[zv],c,h),e.errorSocketCount++,h===1&&(q4("%s emit uncaught error event",t[OC]),t.removeListener("error",R),t.emit("error",c))}t.on("error",R);function l(){q4("%s(requests: %s, finished: %s) agentRemove",t[OC],t[I3],t[zv]),t.removeListener("close",i),t.removeListener("error",R),t.removeListener("free",n),t.removeListener("timeout",s),t.removeListener("agentRemove",l)}t.on("agentRemove",l)}Cwt.exports=edt;function Xft(e){let t={};for(let r in e)t[r]=e[r].length;return t}});var bwt=Le((Zti,gwt)=>{"use strict";var rdt=Li("https").Agent,xAr=tdt(),{INIT_SOCKET:mAr,CREATE_HTTPS_CONNECTION:Awt}=Wme(),w1e=class extends xAr{constructor(t){super(t),this.defaultPort=443,this.protocol="https:",this.maxCachedSessions=this.options.maxCachedSessions,this.maxCachedSessions===void 0&&(this.maxCachedSessions=100),this._sessionCache={map:{},list:[]}}createConnection(t,r){let n=this[Awt](t,r);return this[mAr](n,t),n}};w1e.prototype[Awt]=rdt.prototype.createConnection;["getName","_getSession","_cacheSession","_evictSession"].forEach(function(e){typeof rdt.prototype[e]=="function"&&(w1e.prototype[e]=rdt.prototype[e])});gwt.exports=w1e});var Ewt=Le((eri,Fme)=>{"use strict";Fme.exports=tdt();Fme.exports.HttpsAgent=bwt();Fme.exports.constants=Wme()});var Bwt=Le((I1e,B1e)=>{"use strict";Object.defineProperty(I1e,"__esModule",{value:!0});var Qwt=new WeakMap,ndt=new WeakMap;function P1(e){let t=Qwt.get(e);return console.assert(t!=null,"'this' is expected an Event object, but got",e),t}function Owt(e){if(e.passiveListener!=null){typeof console<"u"&&typeof console.error=="function"&&console.error("Unable to preventDefault inside passive event listener invocation.",e.passiveListener);return}e.event.cancelable&&(e.canceled=!0,typeof e.event.preventDefault=="function"&&e.event.preventDefault())}function Ore(e,t){Qwt.set(this,{eventTarget:e,event:t,eventPhase:2,currentTarget:e,canceled:!1,stopped:!1,immediateStopped:!1,passiveListener:null,timeStamp:t.timeStamp||Date.now()}),Object.defineProperty(this,"isTrusted",{value:!1,enumerable:!0});let r=Object.keys(t);for(let n=0;n0){let e=new Array(arguments.length);for(let t=0;t{"use strict";Object.defineProperty(W1e,"__esModule",{value:!0});var adt=Bwt(),MI=class extends adt.EventTarget{constructor(){throw super(),new TypeError("AbortSignal cannot be constructed directly")}get aborted(){let t=Hme.get(this);if(typeof t!="boolean")throw new TypeError(`Expected 'this' to be an 'AbortSignal' object, but got ${this===null?"null":typeof this}`);return t}};adt.defineEventAttribute(MI.prototype,"abort");function EAr(){let e=Object.create(MI.prototype);return adt.EventTarget.call(e),Hme.set(e,!1),e}function OAr(e){Hme.get(e)===!1&&(Hme.set(e,!0),e.dispatchEvent({type:"abort"}))}var Hme=new WeakMap;Object.defineProperties(MI.prototype,{aborted:{enumerable:!0}});typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(MI.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortSignal"});var WI=class{constructor(){Mwt.set(this,EAr())}get signal(){return Iwt(this)}abort(){OAr(Iwt(this))}},Mwt=new WeakMap;function Iwt(e){let t=Mwt.get(e);if(t==null)throw new TypeError(`Expected 'this' to be an 'AbortController' object, but got ${e===null?"null":typeof e}`);return t}Object.defineProperties(WI.prototype,{signal:{enumerable:!0},abort:{enumerable:!0}});typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(WI.prototype,Symbol.toStringTag,{configurable:!0,value:"AbortController"});W1e.AbortController=WI;W1e.AbortSignal=MI;W1e.default=WI;M1e.exports=WI;M1e.exports.AbortController=M1e.exports.default=WI;M1e.exports.AbortSignal=MI});var Hwt=Le((Jme,zwt)=>{(function(e,t){typeof Jme=="object"&&typeof zwt<"u"?t(Jme):typeof define=="function"&&define.amd?define(["exports"],t):(e=typeof globalThis<"u"?globalThis:e||self,t(e.WebStreamsPolyfill={}))})(Jme,function(e){"use strict";function t(){}function r(te){return typeof te=="object"&&te!==null||typeof te=="function"}let n=t;function i(te,_e){try{Object.defineProperty(te,"name",{value:_e,configurable:!0})}catch{}}let s=Promise,R=Promise.prototype.then,l=Promise.reject.bind(s);function c(te){return new s(te)}function h(te){return c(_e=>_e(te))}function _(te){return l(te)}function f(te,_e,je){return R.call(te,_e,je)}function m(te,_e,je){f(f(te,_e,je),void 0,n)}function x(te,_e){m(te,_e)}function y(te,_e){m(te,void 0,_e)}function A(te,_e,je){return f(te,_e,je)}function D(te){f(te,void 0,n)}let S=te=>{if(typeof queueMicrotask=="function")S=queueMicrotask;else{let _e=h(void 0);S=je=>f(_e,je)}return S(te)};function P(te,_e,je){if(typeof te!="function")throw new TypeError("Argument is not a function");return Function.prototype.apply.call(te,_e,je)}function M(te,_e,je){try{return h(P(te,_e,je))}catch(er){return _(er)}}let U=16384;class w{constructor(){this._cursor=0,this._size=0,this._front={_elements:[],_next:void 0},this._back=this._front,this._cursor=0,this._size=0}get length(){return this._size}push(_e){let je=this._back,er=je;je._elements.length===U-1&&(er={_elements:[],_next:void 0}),je._elements.push(_e),er!==je&&(this._back=er,je._next=er),++this._size}shift(){let _e=this._front,je=_e,er=this._cursor,Br=er+1,In=_e._elements,ti=In[er];return Br===U&&(je=_e._next,Br=0),--this._size,this._cursor=Br,_e!==je&&(this._front=je),In[er]=void 0,ti}forEach(_e){let je=this._cursor,er=this._front,Br=er._elements;for(;(je!==Br.length||er._next!==void 0)&&!(je===Br.length&&(er=er._next,Br=er._elements,je=0,Br.length===0));)_e(Br[je]),++je}peek(){let _e=this._front,je=this._cursor;return _e._elements[je]}}let F=Symbol("[[AbortSteps]]"),H=Symbol("[[ErrorSteps]]"),G=Symbol("[[CancelSteps]]"),ee=Symbol("[[PullSteps]]"),fe=Symbol("[[ReleaseSteps]]");function me(te,_e){te._ownerReadableStream=_e,_e._reader=te,_e._state==="readable"?Ee(te):_e._state==="closed"?gt(te):Me(te,_e._storedError)}function ve(te,_e){let je=te._ownerReadableStream;return pT(je,_e)}function Ae(te){let _e=te._ownerReadableStream;_e._state==="readable"?xt(te,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")):Nt(te,new TypeError("Reader was released and can no longer be used to monitor the stream's closedness")),_e._readableStreamController[fe](),_e._reader=void 0,te._ownerReadableStream=void 0}function Ue(te){return new TypeError("Cannot "+te+" a stream using a released reader")}function Ee(te){te._closedPromise=c((_e,je)=>{te._closedPromise_resolve=_e,te._closedPromise_reject=je})}function Me(te,_e){Ee(te),xt(te,_e)}function gt(te){Ee(te),lt(te)}function xt(te,_e){te._closedPromise_reject!==void 0&&(D(te._closedPromise),te._closedPromise_reject(_e),te._closedPromise_resolve=void 0,te._closedPromise_reject=void 0)}function Nt(te,_e){Me(te,_e)}function lt(te){te._closedPromise_resolve!==void 0&&(te._closedPromise_resolve(void 0),te._closedPromise_resolve=void 0,te._closedPromise_reject=void 0)}let at=Number.isFinite||function(te){return typeof te=="number"&&isFinite(te)},_t=Math.trunc||function(te){return te<0?Math.ceil(te):Math.floor(te)};function Ve(te){return typeof te=="object"||typeof te=="function"}function Dt(te,_e){if(te!==void 0&&!Ve(te))throw new TypeError(`${_e} is not an object.`)}function Ut(te,_e){if(typeof te!="function")throw new TypeError(`${_e} is not a function.`)}function pt(te){return typeof te=="object"&&te!==null||typeof te=="function"}function ht(te,_e){if(!pt(te))throw new TypeError(`${_e} is not an object.`)}function He(te,_e,je){if(te===void 0)throw new TypeError(`Parameter ${_e} is required in '${je}'.`)}function jt(te,_e,je){if(te===void 0)throw new TypeError(`${_e} is required in '${je}'.`)}function zr(te){return Number(te)}function Bn(te){return te===0?0:te}function an(te){return Bn(_t(te))}function ri(te,_e){let er=Number.MAX_SAFE_INTEGER,Br=Number(te);if(Br=Bn(Br),!at(Br))throw new TypeError(`${_e} is not a finite number`);if(Br=an(Br),Br<0||Br>er)throw new TypeError(`${_e} is outside the accepted range of 0 to ${er}, inclusive`);return!at(Br)||Br===0?0:Br}function Zr(te,_e){if(!rh(te))throw new TypeError(`${_e} is not a ReadableStream.`)}function bn(te){return new cs(te)}function Zn(te,_e){te._reader._readRequests.push(_e)}function mi(te,_e,je){let Br=te._reader._readRequests.shift();je?Br._closeSteps():Br._chunkSteps(_e)}function Sn(te){return te._reader._readRequests.length}function $i(te){let _e=te._reader;return!(_e===void 0||!Ti(_e))}class cs{constructor(_e){if(He(_e,1,"ReadableStreamDefaultReader"),Zr(_e,"First parameter"),Qx(_e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");me(this,_e),this._readRequests=new w}get closed(){return Ti(this)?this._closedPromise:_(Ma("closed"))}cancel(_e=void 0){return Ti(this)?this._ownerReadableStream===void 0?_(Ue("cancel")):ve(this,_e):_(Ma("cancel"))}read(){if(!Ti(this))return _(Ma("read"));if(this._ownerReadableStream===void 0)return _(Ue("read from"));let _e,je,er=c((In,ti)=>{_e=In,je=ti});return Wi(this,{_chunkSteps:In=>_e({value:In,done:!1}),_closeSteps:()=>_e({value:void 0,done:!0}),_errorSteps:In=>je(In)}),er}releaseLock(){if(!Ti(this))throw Ma("releaseLock");this._ownerReadableStream!==void 0&&Fn(this)}}Object.defineProperties(cs.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),i(cs.prototype.cancel,"cancel"),i(cs.prototype.read,"read"),i(cs.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(cs.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultReader",configurable:!0});function Ti(te){return!r(te)||!Object.prototype.hasOwnProperty.call(te,"_readRequests")?!1:te instanceof cs}function Wi(te,_e){let je=te._ownerReadableStream;je._disturbed=!0,je._state==="closed"?_e._closeSteps():je._state==="errored"?_e._errorSteps(je._storedError):je._readableStreamController[ee](_e)}function Fn(te){Ae(te);let _e=new TypeError("Reader was released");Hi(te,_e)}function Hi(te,_e){let je=te._readRequests;te._readRequests=new w,je.forEach(er=>{er._errorSteps(_e)})}function Ma(te){return new TypeError(`ReadableStreamDefaultReader.prototype.${te} can only be used on a ReadableStreamDefaultReader`)}let mt=Object.getPrototypeOf(Object.getPrototypeOf(async function*(){}).prototype);class ot{constructor(_e,je){this._ongoingPromise=void 0,this._isFinished=!1,this._reader=_e,this._preventCancel=je}next(){let _e=()=>this._nextSteps();return this._ongoingPromise=this._ongoingPromise?A(this._ongoingPromise,_e,_e):_e(),this._ongoingPromise}return(_e){let je=()=>this._returnSteps(_e);return this._ongoingPromise?A(this._ongoingPromise,je,je):je()}_nextSteps(){if(this._isFinished)return Promise.resolve({value:void 0,done:!0});let _e=this._reader,je,er,Br=c((ti,va)=>{je=ti,er=va});return Wi(_e,{_chunkSteps:ti=>{this._ongoingPromise=void 0,S(()=>je({value:ti,done:!1}))},_closeSteps:()=>{this._ongoingPromise=void 0,this._isFinished=!0,Ae(_e),je({value:void 0,done:!0})},_errorSteps:ti=>{this._ongoingPromise=void 0,this._isFinished=!0,Ae(_e),er(ti)}}),Br}_returnSteps(_e){if(this._isFinished)return Promise.resolve({value:_e,done:!0});this._isFinished=!0;let je=this._reader;if(!this._preventCancel){let er=ve(je,_e);return Ae(je),A(er,()=>({value:_e,done:!0}))}return Ae(je),h({value:_e,done:!0})}}let Je={next(){return Pt(this)?this._asyncIteratorImpl.next():_(Zt("next"))},return(te){return Pt(this)?this._asyncIteratorImpl.return(te):_(Zt("return"))}};Object.setPrototypeOf(Je,mt);function Ct(te,_e){let je=bn(te),er=new ot(je,_e),Br=Object.create(Je);return Br._asyncIteratorImpl=er,Br}function Pt(te){if(!r(te)||!Object.prototype.hasOwnProperty.call(te,"_asyncIteratorImpl"))return!1;try{return te._asyncIteratorImpl instanceof ot}catch{return!1}}function Zt(te){return new TypeError(`ReadableStreamAsyncIterator.${te} can only be used on a ReadableSteamAsyncIterator`)}let dr=Number.isNaN||function(te){return te!==te};var vr,ln,Mn;function li(te){return te.slice()}function Pi(te,_e,je,er,Br){new Uint8Array(te).set(new Uint8Array(je,er,Br),_e)}let Ss=te=>(typeof te.transfer=="function"?Ss=_e=>_e.transfer():typeof structuredClone=="function"?Ss=_e=>structuredClone(_e,{transfer:[_e]}):Ss=_e=>_e,Ss(te)),Ca=te=>(typeof te.detached=="boolean"?Ca=_e=>_e.detached:Ca=_e=>_e.byteLength===0,Ca(te));function Jr(te,_e,je){if(te.slice)return te.slice(_e,je);let er=je-_e,Br=new ArrayBuffer(er);return Pi(Br,0,te,_e,er),Br}function Mr(te,_e){let je=te[_e];if(je!=null){if(typeof je!="function")throw new TypeError(`${String(_e)} is not a function`);return je}}function An(te){let _e={[Symbol.iterator]:()=>te.iterator},je=async function*(){return yield*_e}(),er=je.next;return{iterator:je,nextMethod:er,done:!1}}let Ar=(Mn=(vr=Symbol.asyncIterator)!==null&&vr!==void 0?vr:(ln=Symbol.for)===null||ln===void 0?void 0:ln.call(Symbol,"Symbol.asyncIterator"))!==null&&Mn!==void 0?Mn:"@@asyncIterator";function nn(te,_e="sync",je){if(je===void 0)if(_e==="async"){if(je=Mr(te,Ar),je===void 0){let In=Mr(te,Symbol.iterator),ti=nn(te,"sync",In);return An(ti)}}else je=Mr(te,Symbol.iterator);if(je===void 0)throw new TypeError("The object is not iterable");let er=P(je,te,[]);if(!r(er))throw new TypeError("The iterator method must return an object");let Br=er.next;return{iterator:er,nextMethod:Br,done:!1}}function On(te){let _e=P(te.nextMethod,te.iterator,[]);if(!r(_e))throw new TypeError("The iterator.next() method must return an object");return _e}function bi(te){return!!te.done}function ji(te){return te.value}function Ta(te){return!(typeof te!="number"||dr(te)||te<0)}function Bi(te){let _e=Jr(te.buffer,te.byteOffset,te.byteOffset+te.byteLength);return new Uint8Array(_e)}function ws(te){let _e=te._queue.shift();return te._queueTotalSize-=_e.size,te._queueTotalSize<0&&(te._queueTotalSize=0),_e.value}function Xo(te,_e,je){if(!Ta(je)||je===1/0)throw new RangeError("Size must be a finite, non-NaN, non-negative number.");te._queue.push({value:_e,size:je}),te._queueTotalSize+=je}function No(te){return te._queue.peek().value}function Fa(te){te._queue=new w,te._queueTotalSize=0}function wc(te){return te===DataView}function D0(te){return wc(te.constructor)}function _R(te){return wc(te)?1:te.BYTES_PER_ELEMENT}class XR{constructor(){throw new TypeError("Illegal constructor")}get view(){if(!Ce(this))throw uu("view");return this._view}respond(_e){if(!Ce(this))throw uu("respond");if(He(_e,1,"respond"),_e=ri(_e,"First parameter"),this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Ca(this._view.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be used as a response");Qs(this._associatedReadableByteStreamController,_e)}respondWithNewView(_e){if(!Ce(this))throw uu("respondWithNewView");if(He(_e,1,"respondWithNewView"),!ArrayBuffer.isView(_e))throw new TypeError("You can only respond with array buffer views");if(this._associatedReadableByteStreamController===void 0)throw new TypeError("This BYOB request has been invalidated");if(Ca(_e.buffer))throw new TypeError("The given view's buffer has been detached and so cannot be used as a response");S0(this._associatedReadableByteStreamController,_e)}}Object.defineProperties(XR.prototype,{respond:{enumerable:!0},respondWithNewView:{enumerable:!0},view:{enumerable:!0}}),i(XR.prototype.respond,"respond"),i(XR.prototype.respondWithNewView,"respondWithNewView"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(XR.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBRequest",configurable:!0});class Wr{constructor(){throw new TypeError("Illegal constructor")}get byobRequest(){if(!Aa(this))throw rc("byobRequest");return Ru(this)}get desiredSize(){if(!Aa(this))throw rc("desiredSize");return hR(this)}close(){if(!Aa(this))throw rc("close");if(this._closeRequested)throw new TypeError("The stream has already been closed; do not close it again!");let _e=this._controlledReadableByteStream._state;if(_e!=="readable")throw new TypeError(`The stream (in ${_e} state) is not in the readable state and cannot be closed`);B0(this)}enqueue(_e){if(!Aa(this))throw rc("enqueue");if(He(_e,1,"enqueue"),!ArrayBuffer.isView(_e))throw new TypeError("chunk must be an array buffer view");if(_e.byteLength===0)throw new TypeError("chunk must have non-zero byteLength");if(_e.buffer.byteLength===0)throw new TypeError("chunk's buffer must have non-zero byteLength");if(this._closeRequested)throw new TypeError("stream is closed or draining");let je=this._controlledReadableByteStream._state;if(je!=="readable")throw new TypeError(`The stream (in ${je} state) is not in the readable state and cannot be enqueued to`);h0(this,_e)}error(_e=void 0){if(!Aa(this))throw rc("error");o0(this,_e)}[G](_e){$s(this),Fa(this);let je=this._cancelAlgorithm(_e);return P0(this),je}[ee](_e){let je=this._controlledReadableByteStream;if(this._queueTotalSize>0){D2(this,_e);return}let er=this._autoAllocateChunkSize;if(er!==void 0){let Br;try{Br=new ArrayBuffer(er)}catch(ti){_e._errorSteps(ti);return}let In={buffer:Br,bufferByteLength:er,byteOffset:0,byteLength:er,bytesFilled:0,minimumFill:1,elementSize:1,viewConstructor:Uint8Array,readerType:"default"};this._pendingPullIntos.push(In)}Zn(je,_e),Oa(this)}[fe](){if(this._pendingPullIntos.length>0){let _e=this._pendingPullIntos.peek();_e.readerType="none",this._pendingPullIntos=new w,this._pendingPullIntos.push(_e)}}}Object.defineProperties(Wr.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},byobRequest:{enumerable:!0},desiredSize:{enumerable:!0}}),i(Wr.prototype.close,"close"),i(Wr.prototype.enqueue,"enqueue"),i(Wr.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Wr.prototype,Symbol.toStringTag,{value:"ReadableByteStreamController",configurable:!0});function Aa(te){return!r(te)||!Object.prototype.hasOwnProperty.call(te,"_controlledReadableByteStream")?!1:te instanceof Wr}function Ce(te){return!r(te)||!Object.prototype.hasOwnProperty.call(te,"_associatedReadableByteStreamController")?!1:te instanceof XR}function Oa(te){if(!Tn(te))return;if(te._pulling){te._pullAgain=!0;return}te._pulling=!0;let je=te._pullAlgorithm();m(je,()=>(te._pulling=!1,te._pullAgain&&(te._pullAgain=!1,Oa(te)),null),er=>(o0(te,er),null))}function $s(te){nl(te),te._pendingPullIntos=new w}function hn(te,_e){let je=!1;te._state==="closed"&&(je=!0);let er=ro(_e);_e.readerType==="default"?mi(te,er,je):MR(te,er,je)}function ro(te){let _e=te.bytesFilled,je=te.elementSize;return new te.viewConstructor(te.buffer,te.byteOffset,_e/je)}function Ml(te,_e,je,er){te._queue.push({buffer:_e,byteOffset:je,byteLength:er}),te._queueTotalSize+=er}function _o(te,_e,je,er){let Br;try{Br=Jr(_e,je,je+er)}catch(In){throw o0(te,In),In}Ml(te,Br,0,er)}function Mo(te,_e){_e.bytesFilled>0&&_o(te,_e.buffer,_e.byteOffset,_e.bytesFilled),_a(te)}function ZR(te,_e){let je=Math.min(te._queueTotalSize,_e.byteLength-_e.bytesFilled),er=_e.bytesFilled+je,Br=je,In=!1,ti=er%_e.elementSize,va=er-ti;va>=_e.minimumFill&&(Br=va-_e.bytesFilled,In=!0);let io=te._queue;for(;Br>0;){let ss=io.peek(),Ms=Math.min(Br,ss.byteLength),Lo=_e.byteOffset+_e.bytesFilled;Pi(_e.buffer,Lo,ss.buffer,ss.byteOffset,Ms),ss.byteLength===Ms?io.shift():(ss.byteOffset+=Ms,ss.byteLength-=Ms),te._queueTotalSize-=Ms,RR(te,Ms,_e),Br-=Ms}return In}function RR(te,_e,je){je.bytesFilled+=_e}function IR(te){te._queueTotalSize===0&&te._closeRequested?(P0(te),J1(te._controlledReadableByteStream)):Oa(te)}function nl(te){te._byobRequest!==null&&(te._byobRequest._associatedReadableByteStreamController=void 0,te._byobRequest._view=null,te._byobRequest=null)}function u1(te){for(;te._pendingPullIntos.length>0;){if(te._queueTotalSize===0)return;let _e=te._pendingPullIntos.peek();ZR(te,_e)&&(_a(te),hn(te._controlledReadableByteStream,_e))}}function V_(te){let _e=te._controlledReadableByteStream._reader;for(;_e._readRequests.length>0;){if(te._queueTotalSize===0)return;let je=_e._readRequests.shift();D2(te,je)}}function sT(te,_e,je,er){let Br=te._controlledReadableByteStream,In=_e.constructor,ti=_R(In),{byteOffset:va,byteLength:io}=_e,ss=je*ti,Ms;try{Ms=Ss(_e.buffer)}catch(WR){er._errorSteps(WR);return}let Lo={buffer:Ms,bufferByteLength:Ms.byteLength,byteOffset:va,byteLength:io,bytesFilled:0,minimumFill:ss,elementSize:ti,viewConstructor:In,readerType:"byob"};if(te._pendingPullIntos.length>0){te._pendingPullIntos.push(Lo),Or(Br,er);return}if(Br._state==="closed"){let WR=new In(Lo.buffer,Lo.byteOffset,0);er._closeSteps(WR);return}if(te._queueTotalSize>0){if(ZR(te,Lo)){let WR=ro(Lo);IR(te),er._chunkSteps(WR);return}if(te._closeRequested){let WR=new TypeError("Insufficient bytes to fill elements in the given buffer");o0(te,WR),er._errorSteps(WR);return}}te._pendingPullIntos.push(Lo),Or(Br,er),Oa(te)}function Nn(te,_e){_e.readerType==="none"&&_a(te);let je=te._controlledReadableByteStream;if(Bu(je))for(;Ba(je)>0;){let er=_a(te);hn(je,er)}}function vi(te,_e,je){if(RR(te,_e,je),je.readerType==="none"){Mo(te,je),u1(te);return}if(je.bytesFilled0){let Br=je.byteOffset+je.bytesFilled;_o(te,je.buffer,Br-er,er)}je.bytesFilled-=er,hn(te._controlledReadableByteStream,je),u1(te)}function oo(te,_e){let je=te._pendingPullIntos.peek();nl(te),te._controlledReadableByteStream._state==="closed"?Nn(te,je):vi(te,_e,je),Oa(te)}function _a(te){return te._pendingPullIntos.shift()}function Tn(te){let _e=te._controlledReadableByteStream;return _e._state!=="readable"||te._closeRequested||!te._started?!1:!!($i(_e)&&Sn(_e)>0||Bu(_e)&&Ba(_e)>0||hR(te)>0)}function P0(te){te._pullAlgorithm=void 0,te._cancelAlgorithm=void 0}function B0(te){let _e=te._controlledReadableByteStream;if(!(te._closeRequested||_e._state!=="readable")){if(te._queueTotalSize>0){te._closeRequested=!0;return}if(te._pendingPullIntos.length>0){let je=te._pendingPullIntos.peek();if(je.bytesFilled%je.elementSize!==0){let er=new TypeError("Insufficient bytes to fill elements in the given buffer");throw o0(te,er),er}}P0(te),J1(_e)}}function h0(te,_e){let je=te._controlledReadableByteStream;if(te._closeRequested||je._state!=="readable")return;let{buffer:er,byteOffset:Br,byteLength:In}=_e;if(Ca(er))throw new TypeError("chunk's buffer is detached and so cannot be enqueued");let ti=Ss(er);if(te._pendingPullIntos.length>0){let va=te._pendingPullIntos.peek();if(Ca(va.buffer))throw new TypeError("The BYOB request's buffer has been detached and so cannot be filled with an enqueued chunk");nl(te),va.buffer=Ss(va.buffer),va.readerType==="none"&&Mo(te,va)}if($i(je))if(V_(te),Sn(je)===0)Ml(te,ti,Br,In);else{te._pendingPullIntos.length>0&&_a(te);let va=new Uint8Array(ti,Br,In);mi(je,va,!1)}else Bu(je)?(Ml(te,ti,Br,In),u1(te)):Ml(te,ti,Br,In);Oa(te)}function o0(te,_e){let je=te._controlledReadableByteStream;je._state==="readable"&&($s(te),Fa(te),P0(te),by(je,_e))}function D2(te,_e){let je=te._queue.shift();te._queueTotalSize-=je.byteLength,IR(te);let er=new Uint8Array(je.buffer,je.byteOffset,je.byteLength);_e._chunkSteps(er)}function Ru(te){if(te._byobRequest===null&&te._pendingPullIntos.length>0){let _e=te._pendingPullIntos.peek(),je=new Uint8Array(_e.buffer,_e.byteOffset+_e.bytesFilled,_e.byteLength-_e.bytesFilled),er=Object.create(XR.prototype);S2(er,te,je),te._byobRequest=er}return te._byobRequest}function hR(te){let _e=te._controlledReadableByteStream._state;return _e==="errored"?null:_e==="closed"?0:te._strategyHWM-te._queueTotalSize}function Qs(te,_e){let je=te._pendingPullIntos.peek();if(te._controlledReadableByteStream._state==="closed"){if(_e!==0)throw new TypeError("bytesWritten must be 0 when calling respond() on a closed stream")}else{if(_e===0)throw new TypeError("bytesWritten must be greater than 0 when calling respond() on a readable stream");if(je.bytesFilled+_e>je.byteLength)throw new RangeError("bytesWritten out of range")}je.buffer=Ss(je.buffer),oo(te,_e)}function S0(te,_e){let je=te._pendingPullIntos.peek();if(te._controlledReadableByteStream._state==="closed"){if(_e.byteLength!==0)throw new TypeError("The view's length must be 0 when calling respondWithNewView() on a closed stream")}else if(_e.byteLength===0)throw new TypeError("The view's length must be greater than 0 when calling respondWithNewView() on a readable stream");if(je.byteOffset+je.bytesFilled!==_e.byteOffset)throw new RangeError("The region specified by view does not match byobRequest");if(je.bufferByteLength!==_e.buffer.byteLength)throw new RangeError("The buffer of view has different capacity than byobRequest");if(je.bytesFilled+_e.byteLength>je.byteLength)throw new RangeError("The region specified by view is larger than byobRequest");let Br=_e.byteLength;je.buffer=Ss(_e.buffer),oo(te,Br)}function Jm(te,_e,je,er,Br,In,ti){_e._controlledReadableByteStream=te,_e._pullAgain=!1,_e._pulling=!1,_e._byobRequest=null,_e._queue=_e._queueTotalSize=void 0,Fa(_e),_e._closeRequested=!1,_e._started=!1,_e._strategyHWM=In,_e._pullAlgorithm=er,_e._cancelAlgorithm=Br,_e._autoAllocateChunkSize=ti,_e._pendingPullIntos=new w,te._readableStreamController=_e;let va=je();m(h(va),()=>(_e._started=!0,Oa(_e),null),io=>(o0(_e,io),null))}function Wl(te,_e,je){let er=Object.create(Wr.prototype),Br,In,ti;_e.start!==void 0?Br=()=>_e.start(er):Br=()=>{},_e.pull!==void 0?In=()=>_e.pull(er):In=()=>h(void 0),_e.cancel!==void 0?ti=io=>_e.cancel(io):ti=()=>h(void 0);let va=_e.autoAllocateChunkSize;if(va===0)throw new TypeError("autoAllocateChunkSize must be greater than 0");Jm(te,er,Br,In,ti,je,va)}function S2(te,_e,je){te._associatedReadableByteStreamController=_e,te._view=je}function uu(te){return new TypeError(`ReadableStreamBYOBRequest.prototype.${te} can only be used on a ReadableStreamBYOBRequest`)}function rc(te){return new TypeError(`ReadableByteStreamController.prototype.${te} can only be used on a ReadableByteStreamController`)}function il(te,_e){Dt(te,_e);let je=te?.mode;return{mode:je===void 0?void 0:l1(je,`${_e} has member 'mode' that`)}}function l1(te,_e){if(te=`${te}`,te!=="byob")throw new TypeError(`${_e} '${te}' is not a valid enumeration value for ReadableStreamReaderMode`);return te}function f0(te,_e){var je;Dt(te,_e);let er=(je=te?.min)!==null&&je!==void 0?je:1;return{min:ri(er,`${_e} has member 'min' that`)}}function y0(te){return new al(te)}function Or(te,_e){te._reader._readIntoRequests.push(_e)}function MR(te,_e,je){let Br=te._reader._readIntoRequests.shift();je?Br._closeSteps(_e):Br._chunkSteps(_e)}function Ba(te){return te._reader._readIntoRequests.length}function Bu(te){let _e=te._reader;return!(_e===void 0||!I0(_e))}class al{constructor(_e){if(He(_e,1,"ReadableStreamBYOBReader"),Zr(_e,"First parameter"),Qx(_e))throw new TypeError("This stream has already been locked for exclusive reading by another reader");if(!Aa(_e._readableStreamController))throw new TypeError("Cannot construct a ReadableStreamBYOBReader for a stream not constructed with a byte source");me(this,_e),this._readIntoRequests=new w}get closed(){return I0(this)?this._closedPromise:_(c1("closed"))}cancel(_e=void 0){return I0(this)?this._ownerReadableStream===void 0?_(Ue("cancel")):ve(this,_e):_(c1("cancel"))}read(_e,je={}){if(!I0(this))return _(c1("read"));if(!ArrayBuffer.isView(_e))return _(new TypeError("view must be an array buffer view"));if(_e.byteLength===0)return _(new TypeError("view must have non-zero byteLength"));if(_e.buffer.byteLength===0)return _(new TypeError("view's buffer must have non-zero byteLength"));if(Ca(_e.buffer))return _(new TypeError("view's buffer has been detached"));let er;try{er=f0(je,"options")}catch(ss){return _(ss)}let Br=er.min;if(Br===0)return _(new TypeError("options.min must be greater than 0"));if(D0(_e)){if(Br>_e.byteLength)return _(new RangeError("options.min must be less than or equal to view's byteLength"))}else if(Br>_e.length)return _(new RangeError("options.min must be less than or equal to view's length"));if(this._ownerReadableStream===void 0)return _(Ue("read from"));let In,ti,va=c((ss,Ms)=>{In=ss,ti=Ms});return Iu(this,_e,Br,{_chunkSteps:ss=>In({value:ss,done:!1}),_closeSteps:ss=>In({value:ss,done:!0}),_errorSteps:ss=>ti(ss)}),va}releaseLock(){if(!I0(this))throw c1("releaseLock");this._ownerReadableStream!==void 0&&oT(this)}}Object.defineProperties(al.prototype,{cancel:{enumerable:!0},read:{enumerable:!0},releaseLock:{enumerable:!0},closed:{enumerable:!0}}),i(al.prototype.cancel,"cancel"),i(al.prototype.read,"read"),i(al.prototype.releaseLock,"releaseLock"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(al.prototype,Symbol.toStringTag,{value:"ReadableStreamBYOBReader",configurable:!0});function I0(te){return!r(te)||!Object.prototype.hasOwnProperty.call(te,"_readIntoRequests")?!1:te instanceof al}function Iu(te,_e,je,er){let Br=te._ownerReadableStream;Br._disturbed=!0,Br._state==="errored"?er._errorSteps(Br._storedError):sT(Br._readableStreamController,_e,je,er)}function oT(te){Ae(te);let _e=new TypeError("Reader was released");Ul(te,_e)}function Ul(te,_e){let je=te._readIntoRequests;te._readIntoRequests=new w,je.forEach(er=>{er._errorSteps(_e)})}function c1(te){return new TypeError(`ReadableStreamBYOBReader.prototype.${te} can only be used on a ReadableStreamBYOBReader`)}function RT(te,_e){let{highWaterMark:je}=te;if(je===void 0)return _e;if(dr(je)||je<0)throw new RangeError("Invalid highWaterMark");return je}function Fl(te){let{size:_e}=te;return _e||(()=>1)}function M7(te,_e){Dt(te,_e);let je=te?.highWaterMark,er=te?.size;return{highWaterMark:je===void 0?void 0:zr(je),size:er===void 0?void 0:L1(er,`${_e} has member 'size' that`)}}function L1(te,_e){return Ut(te,_e),je=>zr(te(je))}function uT(te,_e){Dt(te,_e);let je=te?.abort,er=te?.close,Br=te?.start,In=te?.type,ti=te?.write;return{abort:je===void 0?void 0:Ax(je,te,`${_e} has member 'abort' that`),close:er===void 0?void 0:W7(er,te,`${_e} has member 'close' that`),start:Br===void 0?void 0:gx(Br,te,`${_e} has member 'start' that`),write:ti===void 0?void 0:Xm(ti,te,`${_e} has member 'write' that`),type:In}}function Ax(te,_e,je){return Ut(te,je),er=>M(te,_e,[er])}function W7(te,_e,je){return Ut(te,je),()=>M(te,_e,[])}function gx(te,_e,je){return Ut(te,je),er=>P(te,_e,[er])}function Xm(te,_e,je){return Ut(te,je),(er,Br)=>M(te,_e,[er,Br])}function Ia(te,_e){if(!NT(te))throw new TypeError(`${_e} is not a WritableStream.`)}function lT(te){if(typeof te!="object"||te===null)return!1;try{return typeof te.aborted=="boolean"}catch{return!1}}let $p=typeof AbortController=="function";function Pc(){if($p)return new AbortController}class cT{constructor(_e={},je={}){_e===void 0?_e=null:ht(_e,"First parameter");let er=M7(je,"Second parameter"),Br=uT(_e,"First parameter");if(Zm(this),Br.type!==void 0)throw new RangeError("Invalid type is specified");let ti=Fl(er),va=RT(er,1);Be(this,Br,va,ti)}get locked(){if(!NT(this))throw R0("locked");return Bc(this)}abort(_e=void 0){return NT(this)?Bc(this)?_(new TypeError("Cannot abort a stream that already has a writer")):H1(this,_e):_(R0("abort"))}close(){return NT(this)?Bc(this)?_(new TypeError("Cannot close a stream that already has a writer")):ql(this)?_(new TypeError("Cannot close an already-closing stream")):Qp(this):_(R0("close"))}getWriter(){if(!NT(this))throw R0("getWriter");return z1(this)}}Object.defineProperties(cT.prototype,{abort:{enumerable:!0},close:{enumerable:!0},getWriter:{enumerable:!0},locked:{enumerable:!0}}),i(cT.prototype.abort,"abort"),i(cT.prototype.close,"close"),i(cT.prototype.getWriter,"getWriter"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(cT.prototype,Symbol.toStringTag,{value:"WritableStream",configurable:!0});function z1(te){return new Cl(te)}function T1(te,_e,je,er,Br=1,In=()=>1){let ti=Object.create(cT.prototype);Zm(ti);let va=Object.create(I.prototype);return Te(ti,va,te,_e,je,er,Br,In),ti}function Zm(te){te._state="writable",te._storedError=void 0,te._writer=void 0,te._writableStreamController=void 0,te._writeRequests=new w,te._inFlightWriteRequest=void 0,te._closeRequest=void 0,te._inFlightCloseRequest=void 0,te._pendingAbortRequest=void 0,te._backpressure=!1}function NT(te){return!r(te)||!Object.prototype.hasOwnProperty.call(te,"_writableStreamController")?!1:te instanceof cT}function Bc(te){return te._writer!==void 0}function H1(te,_e){var je;if(te._state==="closed"||te._state==="errored")return h(void 0);te._writableStreamController._abortReason=_e,(je=te._writableStreamController._abortController)===null||je===void 0||je.abort(_e);let er=te._state;if(er==="closed"||er==="errored")return h(void 0);if(te._pendingAbortRequest!==void 0)return te._pendingAbortRequest._promise;let Br=!1;er==="erroring"&&(Br=!0,_e=void 0);let In=c((ti,va)=>{te._pendingAbortRequest={_promise:void 0,_resolve:ti,_reject:va,_reason:_e,_wasAlreadyErroring:Br}});return te._pendingAbortRequest._promise=In,Br||bx(te,_e),In}function Qp(te){let _e=te._state;if(_e==="closed"||_e==="errored")return _(new TypeError(`The stream (in ${_e} state) is not in the writable state and cannot be closed`));let je=c((Br,In)=>{let ti={_resolve:Br,_reject:In};te._closeRequest=ti}),er=te._writer;return er!==void 0&&te._backpressure&&_e==="writable"&&L7(er),zt(te._writableStreamController),je}function U7(te){return c((je,er)=>{let Br={_resolve:je,_reject:er};te._writeRequests.push(Br)})}function Vd(te,_e){if(te._state==="writable"){bx(te,_e);return}nc(te)}function bx(te,_e){let je=te._writableStreamController;te._state="erroring",te._storedError=_e;let er=te._writer;er!==void 0&&Ic(er,_e),!Ox(te)&&je._started&&nc(te)}function nc(te){te._state="errored",te._writableStreamController[H]();let _e=te._storedError;if(te._writeRequests.forEach(Br=>{Br._reject(_e)}),te._writeRequests=new w,te._pendingAbortRequest===void 0){j_(te);return}let je=te._pendingAbortRequest;if(te._pendingAbortRequest=void 0,je._wasAlreadyErroring){je._reject(_e),j_(te);return}let er=te._writableStreamController[F](je._reason);m(er,()=>(je._resolve(),j_(te),null),Br=>(je._reject(Br),j_(te),null))}function Ex(te){te._inFlightWriteRequest._resolve(void 0),te._inFlightWriteRequest=void 0}function $2(te,_e){te._inFlightWriteRequest._reject(_e),te._inFlightWriteRequest=void 0,Vd(te,_e)}function ek(te){te._inFlightCloseRequest._resolve(void 0),te._inFlightCloseRequest=void 0,te._state==="erroring"&&(te._storedError=void 0,te._pendingAbortRequest!==void 0&&(te._pendingAbortRequest._resolve(),te._pendingAbortRequest=void 0)),te._state="closed";let je=te._writer;je!==void 0&&TT(je)}function Np(te,_e){te._inFlightCloseRequest._reject(_e),te._inFlightCloseRequest=void 0,te._pendingAbortRequest!==void 0&&(te._pendingAbortRequest._reject(_e),te._pendingAbortRequest=void 0),Vd(te,_e)}function ql(te){return!(te._closeRequest===void 0&&te._inFlightCloseRequest===void 0)}function Ox(te){return!(te._inFlightWriteRequest===void 0&&te._inFlightCloseRequest===void 0)}function Q2(te){te._inFlightCloseRequest=te._closeRequest,te._closeRequest=void 0}function vx(te){te._inFlightWriteRequest=te._writeRequests.shift()}function j_(te){te._closeRequest!==void 0&&(te._closeRequest._reject(te._storedError),te._closeRequest=void 0);let _e=te._writer;_e!==void 0&&rk(_e,te._storedError)}function N2(te,_e){let je=te._writer;je!==void 0&&_e!==te._backpressure&&(_e?o5(je):L7(je)),te._backpressure=_e}class Cl{constructor(_e){if(He(_e,1,"WritableStreamDefaultWriter"),Ia(_e,"First parameter"),Bc(_e))throw new TypeError("This stream has already been locked for exclusive writing by another writer");this._ownerWritableStream=_e,_e._writer=this;let je=_e._state;if(je==="writable")!ql(_e)&&_e._backpressure?Pp(this):wT(this),wp(this);else if(je==="erroring")ky(this,_e._storedError),wp(this);else if(je==="closed")wT(this),s5(this);else{let er=_e._storedError;ky(this,er),my(this,er)}}get closed(){return ic(this)?this._closedPromise:_(Ll("closed"))}get desiredSize(){if(!ic(this))throw Ll("desiredSize");if(this._ownerWritableStream===void 0)throw zl("desiredSize");return tk(this)}get ready(){return ic(this)?this._readyPromise:_(Ll("ready"))}abort(_e=void 0){return ic(this)?this._ownerWritableStream===void 0?_(zl("abort")):W4(this,_e):_(Ll("abort"))}close(){if(!ic(this))return _(Ll("close"));let _e=this._ownerWritableStream;return _e===void 0?_(zl("close")):ql(_e)?_(new TypeError("Cannot close an already-closing stream")):ac(this)}releaseLock(){if(!ic(this))throw Ll("releaseLock");this._ownerWritableStream!==void 0&&J_(this)}write(_e=void 0){return ic(this)?this._ownerWritableStream===void 0?_(zl("write to")):Q(this,_e):_(Ll("write"))}}Object.defineProperties(Cl.prototype,{abort:{enumerable:!0},close:{enumerable:!0},releaseLock:{enumerable:!0},write:{enumerable:!0},closed:{enumerable:!0},desiredSize:{enumerable:!0},ready:{enumerable:!0}}),i(Cl.prototype.abort,"abort"),i(Cl.prototype.close,"close"),i(Cl.prototype.releaseLock,"releaseLock"),i(Cl.prototype.write,"write"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Cl.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultWriter",configurable:!0});function ic(te){return!r(te)||!Object.prototype.hasOwnProperty.call(te,"_ownerWritableStream")?!1:te instanceof Cl}function W4(te,_e){let je=te._ownerWritableStream;return H1(je,_e)}function ac(te){let _e=te._ownerWritableStream;return Qp(_e)}function vR(te){let _e=te._ownerWritableStream,je=_e._state;return ql(_e)||je==="closed"?h(void 0):je==="errored"?_(_e._storedError):ac(te)}function F7(te,_e){te._closedPromiseState==="pending"?rk(te,_e):Dx(te,_e)}function Ic(te,_e){te._readyPromiseState==="pending"?nk(te,_e):U4(te,_e)}function tk(te){let _e=te._ownerWritableStream,je=_e._state;return je==="errored"||je==="erroring"?null:je==="closed"?0:_r(_e._writableStreamController)}function J_(te){let _e=te._ownerWritableStream,je=new TypeError("Writer was released and can no longer be used to monitor the stream's closedness");Ic(te,je),F7(te,je),_e._writer=void 0,te._ownerWritableStream=void 0}function Q(te,_e){let je=te._ownerWritableStream,er=je._writableStreamController,Br=Rr(er,_e);if(je!==te._ownerWritableStream)return _(zl("write to"));let In=je._state;if(In==="errored")return _(je._storedError);if(ql(je)||In==="closed")return _(new TypeError("The stream is closing or closed and cannot be written to"));if(In==="erroring")return _(je._storedError);let ti=U7(je);return ei(er,_e,Br),ti}let C={};class I{constructor(){throw new TypeError("Illegal constructor")}get abortReason(){if(!j(this))throw DR("abortReason");return this._abortReason}get signal(){if(!j(this))throw DR("signal");if(this._abortController===void 0)throw new TypeError("WritableStreamDefaultController.prototype.signal is not supported");return this._abortController.signal}error(_e=void 0){if(!j(this))throw DR("error");this._controlledWritableStream._state==="writable"&&no(this,_e)}[F](_e){let je=this._abortAlgorithm(_e);return ct(this),je}[H](){Fa(this)}}Object.defineProperties(I.prototype,{abortReason:{enumerable:!0},signal:{enumerable:!0},error:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(I.prototype,Symbol.toStringTag,{value:"WritableStreamDefaultController",configurable:!0});function j(te){return!r(te)||!Object.prototype.hasOwnProperty.call(te,"_controlledWritableStream")?!1:te instanceof I}function Te(te,_e,je,er,Br,In,ti,va){_e._controlledWritableStream=te,te._writableStreamController=_e,_e._queue=void 0,_e._queueTotalSize=void 0,Fa(_e),_e._abortReason=void 0,_e._abortController=Pc(),_e._started=!1,_e._strategySizeAlgorithm=va,_e._strategyHWM=ti,_e._writeAlgorithm=er,_e._closeAlgorithm=Br,_e._abortAlgorithm=In;let io=Go(_e);N2(te,io);let ss=je(),Ms=h(ss);m(Ms,()=>(_e._started=!0,Si(_e),null),Lo=>(_e._started=!0,Vd(te,Lo),null))}function Be(te,_e,je,er){let Br=Object.create(I.prototype),In,ti,va,io;_e.start!==void 0?In=()=>_e.start(Br):In=()=>{},_e.write!==void 0?ti=ss=>_e.write(ss,Br):ti=()=>h(void 0),_e.close!==void 0?va=()=>_e.close():va=()=>h(void 0),_e.abort!==void 0?io=ss=>_e.abort(ss):io=()=>h(void 0),Te(te,Br,In,ti,va,io,je,er)}function ct(te){te._writeAlgorithm=void 0,te._closeAlgorithm=void 0,te._abortAlgorithm=void 0,te._strategySizeAlgorithm=void 0}function zt(te){Xo(te,C,0),Si(te)}function Rr(te,_e){try{return te._strategySizeAlgorithm(_e)}catch(je){return Ji(te,je),1}}function _r(te){return te._strategyHWM-te._queueTotalSize}function ei(te,_e,je){try{Xo(te,_e,je)}catch(Br){Ji(te,Br);return}let er=te._controlledWritableStream;if(!ql(er)&&er._state==="writable"){let Br=Go(te);N2(er,Br)}Si(te)}function Si(te){let _e=te._controlledWritableStream;if(!te._started||_e._inFlightWriteRequest!==void 0)return;if(_e._state==="erroring"){nc(_e);return}if(te._queue.length===0)return;let er=No(te);er===C?$a(te):ho(te,er)}function Ji(te,_e){te._controlledWritableStream._state==="writable"&&no(te,_e)}function $a(te){let _e=te._controlledWritableStream;Q2(_e),ws(te);let je=te._closeAlgorithm();ct(te),m(je,()=>(ek(_e),null),er=>(Np(_e,er),null))}function ho(te,_e){let je=te._controlledWritableStream;vx(je);let er=te._writeAlgorithm(_e);m(er,()=>{Ex(je);let Br=je._state;if(ws(te),!ql(je)&&Br==="writable"){let In=Go(te);N2(je,In)}return Si(te),null},Br=>(je._state==="writable"&&ct(te),$2(je,Br),null))}function Go(te){return _r(te)<=0}function no(te,_e){let je=te._controlledWritableStream;ct(te),bx(je,_e)}function R0(te){return new TypeError(`WritableStream.prototype.${te} can only be used on a WritableStream`)}function DR(te){return new TypeError(`WritableStreamDefaultController.prototype.${te} can only be used on a WritableStreamDefaultController`)}function Ll(te){return new TypeError(`WritableStreamDefaultWriter.prototype.${te} can only be used on a WritableStreamDefaultWriter`)}function zl(te){return new TypeError("Cannot "+te+" a stream using a released writer")}function wp(te){te._closedPromise=c((_e,je)=>{te._closedPromise_resolve=_e,te._closedPromise_reject=je,te._closedPromiseState="pending"})}function my(te,_e){wp(te),rk(te,_e)}function s5(te){wp(te),TT(te)}function rk(te,_e){te._closedPromise_reject!==void 0&&(D(te._closedPromise),te._closedPromise_reject(_e),te._closedPromise_resolve=void 0,te._closedPromise_reject=void 0,te._closedPromiseState="rejected")}function Dx(te,_e){my(te,_e)}function TT(te){te._closedPromise_resolve!==void 0&&(te._closedPromise_resolve(void 0),te._closedPromise_resolve=void 0,te._closedPromise_reject=void 0,te._closedPromiseState="resolved")}function Pp(te){te._readyPromise=c((_e,je)=>{te._readyPromise_resolve=_e,te._readyPromise_reject=je}),te._readyPromiseState="pending"}function ky(te,_e){Pp(te),nk(te,_e)}function wT(te){Pp(te),L7(te)}function nk(te,_e){te._readyPromise_reject!==void 0&&(D(te._readyPromise),te._readyPromise_reject(_e),te._readyPromise_resolve=void 0,te._readyPromise_reject=void 0,te._readyPromiseState="rejected")}function o5(te){Pp(te)}function U4(te,_e){ky(te,_e)}function L7(te){te._readyPromise_resolve!==void 0&&(te._readyPromise_resolve(void 0),te._readyPromise_resolve=void 0,te._readyPromise_reject=void 0,te._readyPromiseState="fulfilled")}function F4(){if(typeof globalThis<"u")return globalThis;if(typeof self<"u")return self;if(typeof global<"u")return global}let Y1=F4();function Hl(te){if(!(typeof te=="function"||typeof te=="object")||te.name!=="DOMException")return!1;try{return new te,!0}catch{return!1}}function L4(){let te=Y1?.DOMException;return Hl(te)?te:void 0}function z7(){let te=function(je,er){this.message=je||"",this.name=er||"Error",Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)};return i(te,"DOMException"),te.prototype=Object.create(Error.prototype),Object.defineProperty(te.prototype,"constructor",{value:te,writable:!0,configurable:!0}),te}let K1=L4()||z7();function H7(te,_e,je,er,Br,In){let ti=bn(te),va=z1(_e);te._disturbed=!0;let io=!1,ss=h(void 0);return c((Ms,Lo)=>{let WR;if(In!==void 0){if(WR=()=>{let zs=In.reason!==void 0?In.reason:new K1("Aborted","AbortError"),l0=[];er||l0.push(()=>_e._state==="writable"?H1(_e,zs):h(void 0)),Br||l0.push(()=>te._state==="readable"?pT(te,zs):h(void 0)),Fc(()=>Promise.all(l0.map(fR=>fR())),!0,zs)},In.aborted){WR();return}In.addEventListener("abort",WR)}function Yl(){return c((zs,l0)=>{function fR(UT){UT?zs():f(Wp(),fR,l0)}fR(!1)})}function Wp(){return io?h(!0):f(va._readyPromise,()=>c((zs,l0)=>{Wi(ti,{_chunkSteps:fR=>{ss=f(Q(va,fR),void 0,t),zs(!1)},_closeSteps:()=>zs(!0),_errorSteps:l0})}))}if(Rc(te,ti._closedPromise,zs=>(er?WT(!0,zs):Fc(()=>H1(_e,zs),!0,zs),null)),Rc(_e,va._closedPromise,zs=>(Br?WT(!0,zs):Fc(()=>pT(te,zs),!0,zs),null)),Uc(te,ti._closedPromise,()=>(je?WT():Fc(()=>vR(va)),null)),ql(_e)||_e._state==="closed"){let zs=new TypeError("the destination writable stream closed before all data could be piped to it");Br?WT(!0,zs):Fc(()=>pT(te,zs),!0,zs)}D(Yl());function MT(){let zs=ss;return f(ss,()=>zs!==ss?MT():void 0)}function Rc(zs,l0,fR){zs._state==="errored"?fR(zs._storedError):y(l0,fR)}function Uc(zs,l0,fR){zs._state==="closed"?fR():x(l0,fR)}function Fc(zs,l0,fR){if(io)return;io=!0,_e._state==="writable"&&!ql(_e)?x(MT(),UT):UT();function UT(){return m(zs(),()=>X1(l0,fR),_T=>X1(!0,_T)),null}}function WT(zs,l0){io||(io=!0,_e._state==="writable"&&!ql(_e)?x(MT(),()=>X1(zs,l0)):X1(zs,l0))}function X1(zs,l0){return J_(va),Ae(ti),In!==void 0&&In.removeEventListener("abort",WR),zs?Lo(l0):Ms(void 0),null}})}class X_{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!jd(this))throw K7("desiredSize");return Y7(this)}close(){if(!jd(this))throw K7("close");if(!w2(this))throw new TypeError("The stream is not in a state that permits close");PT(this)}enqueue(_e=void 0){if(!jd(this))throw K7("enqueue");if(!w2(this))throw new TypeError("The stream is not in a state that permits enqueue");return Z_(this,_e)}error(_e=void 0){if(!jd(this))throw K7("error");V1(this,_e)}[G](_e){Fa(this);let je=this._cancelAlgorithm(_e);return G1(this),je}[ee](_e){let je=this._controlledReadableStream;if(this._queue.length>0){let er=ws(this);this._closeRequested&&this._queue.length===0?(G1(this),J1(je)):Bp(this),_e._chunkSteps(er)}else Zn(je,_e),Bp(this)}[fe](){}}Object.defineProperties(X_.prototype,{close:{enumerable:!0},enqueue:{enumerable:!0},error:{enumerable:!0},desiredSize:{enumerable:!0}}),i(X_.prototype.close,"close"),i(X_.prototype.enqueue,"enqueue"),i(X_.prototype.error,"error"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(X_.prototype,Symbol.toStringTag,{value:"ReadableStreamDefaultController",configurable:!0});function jd(te){return!r(te)||!Object.prototype.hasOwnProperty.call(te,"_controlledReadableStream")?!1:te instanceof X_}function Bp(te){if(!Ip(te))return;if(te._pulling){te._pullAgain=!0;return}te._pulling=!0;let je=te._pullAlgorithm();m(je,()=>(te._pulling=!1,te._pullAgain&&(te._pullAgain=!1,Bp(te)),null),er=>(V1(te,er),null))}function Ip(te){let _e=te._controlledReadableStream;return!w2(te)||!te._started?!1:!!(Qx(_e)&&Sn(_e)>0||Y7(te)>0)}function G1(te){te._pullAlgorithm=void 0,te._cancelAlgorithm=void 0,te._strategySizeAlgorithm=void 0}function PT(te){if(!w2(te))return;let _e=te._controlledReadableStream;te._closeRequested=!0,te._queue.length===0&&(G1(te),J1(_e))}function Z_(te,_e){if(!w2(te))return;let je=te._controlledReadableStream;if(Qx(je)&&Sn(je)>0)mi(je,_e,!1);else{let er;try{er=te._strategySizeAlgorithm(_e)}catch(Br){throw V1(te,Br),Br}try{Xo(te,_e,er)}catch(Br){throw V1(te,Br),Br}}Bp(te)}function V1(te,_e){let je=te._controlledReadableStream;je._state==="readable"&&(Fa(te),G1(te),by(je,_e))}function Y7(te){let _e=te._controlledReadableStream._state;return _e==="errored"?null:_e==="closed"?0:te._strategyHWM-te._queueTotalSize}function yy(te){return!Ip(te)}function w2(te){let _e=te._controlledReadableStream._state;return!te._closeRequested&&_e==="readable"}function eh(te,_e,je,er,Br,In,ti){_e._controlledReadableStream=te,_e._queue=void 0,_e._queueTotalSize=void 0,Fa(_e),_e._started=!1,_e._closeRequested=!1,_e._pullAgain=!1,_e._pulling=!1,_e._strategySizeAlgorithm=ti,_e._strategyHWM=In,_e._pullAlgorithm=er,_e._cancelAlgorithm=Br,te._readableStreamController=_e;let va=je();m(h(va),()=>(_e._started=!0,Bp(_e),null),io=>(V1(_e,io),null))}function th(te,_e,je,er){let Br=Object.create(X_.prototype),In,ti,va;_e.start!==void 0?In=()=>_e.start(Br):In=()=>{},_e.pull!==void 0?ti=()=>_e.pull(Br):ti=()=>h(void 0),_e.cancel!==void 0?va=io=>_e.cancel(io):va=()=>h(void 0),eh(te,Br,In,ti,va,je,er)}function K7(te){return new TypeError(`ReadableStreamDefaultController.prototype.${te} can only be used on a ReadableStreamDefaultController`)}function f_(te,_e){return Aa(te._readableStreamController)?BT(te):sl(te)}function sl(te,_e){let je=bn(te),er=!1,Br=!1,In=!1,ti=!1,va,io,ss,Ms,Lo,WR=c(Uc=>{Lo=Uc});function Yl(){return er?(Br=!0,h(void 0)):(er=!0,Wi(je,{_chunkSteps:Fc=>{S(()=>{Br=!1;let WT=Fc,X1=Fc;In||Z_(ss._readableStreamController,WT),ti||Z_(Ms._readableStreamController,X1),er=!1,Br&&Yl()})},_closeSteps:()=>{er=!1,In||PT(ss._readableStreamController),ti||PT(Ms._readableStreamController),(!In||!ti)&&Lo(void 0)},_errorSteps:()=>{er=!1}}),h(void 0))}function Wp(Uc){if(In=!0,va=Uc,ti){let Fc=li([va,io]),WT=pT(te,Fc);Lo(WT)}return WR}function MT(Uc){if(ti=!0,io=Uc,In){let Fc=li([va,io]),WT=pT(te,Fc);Lo(WT)}return WR}function Rc(){}return ss=$x(Rc,Yl,Wp),Ms=$x(Rc,Yl,MT),y(je._closedPromise,Uc=>(V1(ss._readableStreamController,Uc),V1(Ms._readableStreamController,Uc),(!In||!ti)&&Lo(void 0),null)),[ss,Ms]}function BT(te){let _e=bn(te),je=!1,er=!1,Br=!1,In=!1,ti=!1,va,io,ss,Ms,Lo,WR=c(zs=>{Lo=zs});function Yl(zs){y(zs._closedPromise,l0=>(zs!==_e||(o0(ss._readableStreamController,l0),o0(Ms._readableStreamController,l0),(!In||!ti)&&Lo(void 0)),null))}function Wp(){I0(_e)&&(Ae(_e),_e=bn(te),Yl(_e)),Wi(_e,{_chunkSteps:l0=>{S(()=>{er=!1,Br=!1;let fR=l0,UT=l0;if(!In&&!ti)try{UT=Bi(l0)}catch(_T){o0(ss._readableStreamController,_T),o0(Ms._readableStreamController,_T),Lo(pT(te,_T));return}In||h0(ss._readableStreamController,fR),ti||h0(Ms._readableStreamController,UT),je=!1,er?Rc():Br&&Uc()})},_closeSteps:()=>{je=!1,In||B0(ss._readableStreamController),ti||B0(Ms._readableStreamController),ss._readableStreamController._pendingPullIntos.length>0&&Qs(ss._readableStreamController,0),Ms._readableStreamController._pendingPullIntos.length>0&&Qs(Ms._readableStreamController,0),(!In||!ti)&&Lo(void 0)},_errorSteps:()=>{je=!1}})}function MT(zs,l0){Ti(_e)&&(Ae(_e),_e=y0(te),Yl(_e));let fR=l0?Ms:ss,UT=l0?ss:Ms;Iu(_e,zs,1,{_chunkSteps:FT=>{S(()=>{er=!1,Br=!1;let Up=l0?ti:In;if(l0?In:ti)Up||S0(fR._readableStreamController,FT);else{let Mu;try{Mu=Bi(FT)}catch(Wu){o0(fR._readableStreamController,Wu),o0(UT._readableStreamController,Wu),Lo(pT(te,Wu));return}Up||S0(fR._readableStreamController,FT),h0(UT._readableStreamController,Mu)}je=!1,er?Rc():Br&&Uc()})},_closeSteps:FT=>{je=!1;let Up=l0?ti:In,Rh=l0?In:ti;Up||B0(fR._readableStreamController),Rh||B0(UT._readableStreamController),FT!==void 0&&(Up||S0(fR._readableStreamController,FT),!Rh&&UT._readableStreamController._pendingPullIntos.length>0&&Qs(UT._readableStreamController,0)),(!Up||!Rh)&&Lo(void 0)},_errorSteps:()=>{je=!1}})}function Rc(){if(je)return er=!0,h(void 0);je=!0;let zs=Ru(ss._readableStreamController);return zs===null?Wp():MT(zs._view,!1),h(void 0)}function Uc(){if(je)return Br=!0,h(void 0);je=!0;let zs=Ru(Ms._readableStreamController);return zs===null?Wp():MT(zs._view,!0),h(void 0)}function Fc(zs){if(In=!0,va=zs,ti){let l0=li([va,io]),fR=pT(te,l0);Lo(fR)}return WR}function WT(zs){if(ti=!0,io=zs,In){let l0=li([va,io]),fR=pT(te,l0);Lo(fR)}return WR}function X1(){}return ss=ik(X1,Rc,Fc),Ms=ik(X1,Uc,WT),Yl(_e),[ss,Ms]}function NA(te){return r(te)&&typeof te.getReader<"u"}function X0(te){return NA(te)?j1(te.getReader()):$0(te)}function $0(te){let _e,je=nn(te,"async"),er=t;function Br(){let ti;try{ti=On(je)}catch(io){return _(io)}let va=h(ti);return A(va,io=>{if(!r(io))throw new TypeError("The promise returned by the iterator.next() method must fulfill with an object");if(bi(io))PT(_e._readableStreamController);else{let Ms=ji(io);Z_(_e._readableStreamController,Ms)}})}function In(ti){let va=je.iterator,io;try{io=Mr(va,"return")}catch(Lo){return _(Lo)}if(io===void 0)return h(void 0);let ss;try{ss=P(io,va,[ti])}catch(Lo){return _(Lo)}let Ms=h(ss);return A(Ms,Lo=>{if(!r(Lo))throw new TypeError("The promise returned by the iterator.return() method must fulfill with an object")})}return _e=$x(er,Br,In,0),_e}function j1(te){let _e,je=t;function er(){let In;try{In=te.read()}catch(ti){return _(ti)}return A(In,ti=>{if(!r(ti))throw new TypeError("The promise returned by the reader.read() method must fulfill with an object");if(ti.done)PT(_e._readableStreamController);else{let va=ti.value;Z_(_e._readableStreamController,va)}})}function Br(In){try{return h(te.cancel(In))}catch(ti){return _(ti)}}return _e=$x(je,er,Br,0),_e}function Jd(te,_e){Dt(te,_e);let je=te,er=je?.autoAllocateChunkSize,Br=je?.cancel,In=je?.pull,ti=je?.start,va=je?.type;return{autoAllocateChunkSize:er===void 0?void 0:ri(er,`${_e} has member 'autoAllocateChunkSize' that`),cancel:Br===void 0?void 0:Xd(Br,je,`${_e} has member 'cancel' that`),pull:In===void 0?void 0:Sx(In,je,`${_e} has member 'pull' that`),start:ti===void 0?void 0:qy(ti,je,`${_e} has member 'start' that`),type:va===void 0?void 0:R5(va,`${_e} has member 'type' that`)}}function Xd(te,_e,je){return Ut(te,je),er=>M(te,_e,[er])}function Sx(te,_e,je){return Ut(te,je),er=>M(te,_e,[er])}function qy(te,_e,je){return Ut(te,je),er=>P(te,_e,[er])}function R5(te,_e){if(te=`${te}`,te!=="bytes")throw new TypeError(`${_e} '${te}' is not a valid enumeration value for ReadableStreamType`);return te}function Cy(te,_e){return Dt(te,_e),{preventCancel:!!te?.preventCancel}}function Ay(te,_e){Dt(te,_e);let je=te?.preventAbort,er=te?.preventCancel,Br=te?.preventClose,In=te?.signal;return In!==void 0&&z4(In,`${_e} has member 'signal' that`),{preventAbort:!!je,preventCancel:!!er,preventClose:!!Br,signal:In}}function z4(te,_e){if(!lT(te))throw new TypeError(`${_e} is not an AbortSignal.`)}function G7(te,_e){Dt(te,_e);let je=te?.readable;jt(je,"readable","ReadableWritablePair"),Zr(je,`${_e} has member 'readable' that`);let er=te?.writable;return jt(er,"writable","ReadableWritablePair"),Ia(er,`${_e} has member 'writable' that`),{readable:je,writable:er}}class sc{constructor(_e={},je={}){_e===void 0?_e=null:ht(_e,"First parameter");let er=M7(je,"Second parameter"),Br=Jd(_e,"First parameter");if(gy(this),Br.type==="bytes"){if(er.size!==void 0)throw new RangeError("The strategy for a byte stream cannot have a size function");let In=RT(er,0);Wl(this,Br,In)}else{let In=Fl(er),ti=RT(er,1);th(this,Br,ti,In)}}get locked(){if(!rh(this))throw Mc("locked");return Qx(this)}cancel(_e=void 0){return rh(this)?Qx(this)?_(new TypeError("Cannot cancel a stream that already has a reader")):pT(this,_e):_(Mc("cancel"))}getReader(_e=void 0){if(!rh(this))throw Mc("getReader");return il(_e,"First parameter").mode===void 0?bn(this):y0(this)}pipeThrough(_e,je={}){if(!rh(this))throw Mc("pipeThrough");He(_e,1,"pipeThrough");let er=G7(_e,"First parameter"),Br=Ay(je,"Second parameter");if(Qx(this))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked ReadableStream");if(Bc(er.writable))throw new TypeError("ReadableStream.prototype.pipeThrough cannot be used on a locked WritableStream");let In=H7(this,er.writable,Br.preventClose,Br.preventAbort,Br.preventCancel,Br.signal);return D(In),er.readable}pipeTo(_e,je={}){if(!rh(this))return _(Mc("pipeTo"));if(_e===void 0)return _("Parameter 1 is required in 'pipeTo'.");if(!NT(_e))return _(new TypeError("ReadableStream.prototype.pipeTo's first argument must be a WritableStream"));let er;try{er=Ay(je,"Second parameter")}catch(Br){return _(Br)}return Qx(this)?_(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked ReadableStream")):Bc(_e)?_(new TypeError("ReadableStream.prototype.pipeTo cannot be used on a locked WritableStream")):H7(this,_e,er.preventClose,er.preventAbort,er.preventCancel,er.signal)}tee(){if(!rh(this))throw Mc("tee");let _e=f_(this);return li(_e)}values(_e=void 0){if(!rh(this))throw Mc("values");let je=Cy(_e,"First parameter");return Ct(this,je.preventCancel)}[Ar](_e){return this.values(_e)}static from(_e){return X0(_e)}}Object.defineProperties(sc,{from:{enumerable:!0}}),Object.defineProperties(sc.prototype,{cancel:{enumerable:!0},getReader:{enumerable:!0},pipeThrough:{enumerable:!0},pipeTo:{enumerable:!0},tee:{enumerable:!0},values:{enumerable:!0},locked:{enumerable:!0}}),i(sc.from,"from"),i(sc.prototype.cancel,"cancel"),i(sc.prototype.getReader,"getReader"),i(sc.prototype.pipeThrough,"pipeThrough"),i(sc.prototype.pipeTo,"pipeTo"),i(sc.prototype.tee,"tee"),i(sc.prototype.values,"values"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(sc.prototype,Symbol.toStringTag,{value:"ReadableStream",configurable:!0}),Object.defineProperty(sc.prototype,Ar,{value:sc.prototype.values,writable:!0,configurable:!0});function $x(te,_e,je,er=1,Br=()=>1){let In=Object.create(sc.prototype);gy(In);let ti=Object.create(X_.prototype);return eh(In,ti,te,_e,je,er,Br),In}function ik(te,_e,je){let er=Object.create(sc.prototype);gy(er);let Br=Object.create(Wr.prototype);return Jm(er,Br,te,_e,je,0,void 0),er}function gy(te){te._state="readable",te._reader=void 0,te._storedError=void 0,te._disturbed=!1}function rh(te){return!r(te)||!Object.prototype.hasOwnProperty.call(te,"_readableStreamController")?!1:te instanceof sc}function Qx(te){return te._reader!==void 0}function pT(te,_e){if(te._disturbed=!0,te._state==="closed")return h(void 0);if(te._state==="errored")return _(te._storedError);J1(te);let je=te._reader;if(je!==void 0&&I0(je)){let Br=je._readIntoRequests;je._readIntoRequests=new w,Br.forEach(In=>{In._closeSteps(void 0)})}let er=te._readableStreamController[G](_e);return A(er,t)}function J1(te){te._state="closed";let _e=te._reader;if(_e!==void 0&&(lt(_e),Ti(_e))){let je=_e._readRequests;_e._readRequests=new w,je.forEach(er=>{er._closeSteps()})}}function by(te,_e){te._state="errored",te._storedError=_e;let je=te._reader;je!==void 0&&(xt(je,_e),Ti(je)?Hi(je,_e):Ul(je,_e))}function Mc(te){return new TypeError(`ReadableStream.prototype.${te} can only be used on a ReadableStream`)}function nh(te,_e){Dt(te,_e);let je=te?.highWaterMark;return jt(je,"highWaterMark","QueuingStrategyInit"),{highWaterMark:zr(je)}}let ak=te=>te.byteLength;i(ak,"size");class Nx{constructor(_e){He(_e,1,"ByteLengthQueuingStrategy"),_e=nh(_e,"First parameter"),this._byteLengthQueuingStrategyHighWaterMark=_e.highWaterMark}get highWaterMark(){if(!Oy(this))throw Ey("highWaterMark");return this._byteLengthQueuingStrategyHighWaterMark}get size(){if(!Oy(this))throw Ey("size");return ak}}Object.defineProperties(Nx.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(Nx.prototype,Symbol.toStringTag,{value:"ByteLengthQueuingStrategy",configurable:!0});function Ey(te){return new TypeError(`ByteLengthQueuingStrategy.prototype.${te} can only be used on a ByteLengthQueuingStrategy`)}function Oy(te){return!r(te)||!Object.prototype.hasOwnProperty.call(te,"_byteLengthQueuingStrategyHighWaterMark")?!1:te instanceof Nx}let vy=()=>1;i(vy,"size");class sk{constructor(_e){He(_e,1,"CountQueuingStrategy"),_e=nh(_e,"First parameter"),this._countQueuingStrategyHighWaterMark=_e.highWaterMark}get highWaterMark(){if(!u0(this))throw ih("highWaterMark");return this._countQueuingStrategyHighWaterMark}get size(){if(!u0(this))throw ih("size");return vy}}Object.defineProperties(sk.prototype,{highWaterMark:{enumerable:!0},size:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(sk.prototype,Symbol.toStringTag,{value:"CountQueuingStrategy",configurable:!0});function ih(te){return new TypeError(`CountQueuingStrategy.prototype.${te} can only be used on a CountQueuingStrategy`)}function u0(te){return!r(te)||!Object.prototype.hasOwnProperty.call(te,"_countQueuingStrategyHighWaterMark")?!1:te instanceof sk}function ah(te,_e){Dt(te,_e);let je=te?.cancel,er=te?.flush,Br=te?.readableType,In=te?.start,ti=te?.transform,va=te?.writableType;return{cancel:je===void 0?void 0:uR(je,te,`${_e} has member 'cancel' that`),flush:er===void 0?void 0:H4(er,te,`${_e} has member 'flush' that`),readableType:Br,start:In===void 0?void 0:IT(In,te,`${_e} has member 'start' that`),transform:ti===void 0?void 0:Zd(ti,te,`${_e} has member 'transform' that`),writableType:va}}function H4(te,_e,je){return Ut(te,je),er=>M(te,_e,[er])}function IT(te,_e,je){return Ut(te,je),er=>P(te,_e,[er])}function Zd(te,_e,je){return Ut(te,je),(er,Br)=>M(te,_e,[er,Br])}function uR(te,_e,je){return Ut(te,je),er=>M(te,_e,[er])}class oc{constructor(_e={},je={},er={}){_e===void 0&&(_e=null);let Br=M7(je,"Second parameter"),In=M7(er,"Third parameter"),ti=ah(_e,"First parameter");if(ti.readableType!==void 0)throw new RangeError("Invalid readableType specified");if(ti.writableType!==void 0)throw new RangeError("Invalid writableType specified");let va=RT(In,0),io=Fl(In),ss=RT(Br,1),Ms=Fl(Br),Lo,WR=c(Yl=>{Lo=Yl});Wc(this,WR,ss,Ms,va,io),K4(this,ti),ti.start!==void 0?Lo(ti.start(this._transformStreamController)):Lo(void 0)}get readable(){if(!Dy(this))throw j7("readable");return this._readable}get writable(){if(!Dy(this))throw j7("writable");return this._writable}}Object.defineProperties(oc.prototype,{readable:{enumerable:!0},writable:{enumerable:!0}}),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(oc.prototype,Symbol.toStringTag,{value:"TransformStream",configurable:!0});function Wc(te,_e,je,er,Br,In){function ti(){return _e}function va(WR){return G4(te,WR)}function io(WR){return V4(te,WR)}function ss(){return ex(te)}te._writable=T1(ti,va,ss,io,je,er);function Ms(){return oh(te)}function Lo(WR){return Qy(te,WR)}te._readable=$x(ti,Ms,Lo,Br,In),te._backpressure=void 0,te._backpressureChangePromise=void 0,te._backpressureChangePromise_resolve=void 0,P2(te,!0),te._transformStreamController=void 0}function Dy(te){return!r(te)||!Object.prototype.hasOwnProperty.call(te,"_transformStreamController")?!1:te instanceof oc}function u5(te,_e){V1(te._readable._readableStreamController,_e),Sy(te,_e)}function Sy(te,_e){sh(te._transformStreamController),Ji(te._writable._writableStreamController,_e),ok(te)}function ok(te){te._backpressure&&P2(te,!1)}function P2(te,_e){te._backpressureChangePromise!==void 0&&te._backpressureChangePromise_resolve(),te._backpressureChangePromise=c(je=>{te._backpressureChangePromise_resolve=je}),te._backpressure=_e}class d_{constructor(){throw new TypeError("Illegal constructor")}get desiredSize(){if(!Rk(this))throw B2("desiredSize");let _e=this._controlledTransformStream._readable._readableStreamController;return Y7(_e)}enqueue(_e=void 0){if(!Rk(this))throw B2("enqueue");wx(this,_e)}error(_e=void 0){if(!Rk(this))throw B2("error");uk(this,_e)}terminate(){if(!Rk(this))throw B2("terminate");V7(this)}}Object.defineProperties(d_.prototype,{enqueue:{enumerable:!0},error:{enumerable:!0},terminate:{enumerable:!0},desiredSize:{enumerable:!0}}),i(d_.prototype.enqueue,"enqueue"),i(d_.prototype.error,"error"),i(d_.prototype.terminate,"terminate"),typeof Symbol.toStringTag=="symbol"&&Object.defineProperty(d_.prototype,Symbol.toStringTag,{value:"TransformStreamDefaultController",configurable:!0});function Rk(te){return!r(te)||!Object.prototype.hasOwnProperty.call(te,"_controlledTransformStream")?!1:te instanceof d_}function Y4(te,_e,je,er,Br){_e._controlledTransformStream=te,te._transformStreamController=_e,_e._transformAlgorithm=je,_e._flushAlgorithm=er,_e._cancelAlgorithm=Br,_e._finishPromise=void 0,_e._finishPromise_resolve=void 0,_e._finishPromise_reject=void 0}function K4(te,_e){let je=Object.create(d_.prototype),er,Br,In;_e.transform!==void 0?er=ti=>_e.transform(ti,je):er=ti=>{try{return wx(je,ti),h(void 0)}catch(va){return _(va)}},_e.flush!==void 0?Br=()=>_e.flush(je):Br=()=>h(void 0),_e.cancel!==void 0?In=ti=>_e.cancel(ti):In=()=>h(void 0),Y4(te,je,er,Br,In)}function sh(te){te._transformAlgorithm=void 0,te._flushAlgorithm=void 0,te._cancelAlgorithm=void 0}function wx(te,_e){let je=te._controlledTransformStream,er=je._readable._readableStreamController;if(!w2(er))throw new TypeError("Readable side is not in a state that permits enqueue");try{Z_(er,_e)}catch(In){throw Sy(je,In),je._readable._storedError}yy(er)!==je._backpressure&&P2(je,!0)}function uk(te,_e){u5(te._controlledTransformStream,_e)}function $y(te,_e){let je=te._transformAlgorithm(_e);return A(je,void 0,er=>{throw u5(te._controlledTransformStream,er),er})}function V7(te){let _e=te._controlledTransformStream,je=_e._readable._readableStreamController;PT(je);let er=new TypeError("TransformStream terminated");Sy(_e,er)}function G4(te,_e){let je=te._transformStreamController;if(te._backpressure){let er=te._backpressureChangePromise;return A(er,()=>{let Br=te._writable;if(Br._state==="erroring")throw Br._storedError;return $y(je,_e)})}return $y(je,_e)}function V4(te,_e){let je=te._transformStreamController;if(je._finishPromise!==void 0)return je._finishPromise;let er=te._readable;je._finishPromise=c((In,ti)=>{je._finishPromise_resolve=In,je._finishPromise_reject=ti});let Br=je._cancelAlgorithm(_e);return sh(je),m(Br,()=>(er._state==="errored"?Mp(je,er._storedError):(V1(er._readableStreamController,_e),lk(je)),null),In=>(V1(er._readableStreamController,In),Mp(je,In),null)),je._finishPromise}function ex(te){let _e=te._transformStreamController;if(_e._finishPromise!==void 0)return _e._finishPromise;let je=te._readable;_e._finishPromise=c((Br,In)=>{_e._finishPromise_resolve=Br,_e._finishPromise_reject=In});let er=_e._flushAlgorithm();return sh(_e),m(er,()=>(je._state==="errored"?Mp(_e,je._storedError):(PT(je._readableStreamController),lk(_e)),null),Br=>(V1(je._readableStreamController,Br),Mp(_e,Br),null)),_e._finishPromise}function oh(te){return P2(te,!1),te._backpressureChangePromise}function Qy(te,_e){let je=te._transformStreamController;if(je._finishPromise!==void 0)return je._finishPromise;let er=te._writable;je._finishPromise=c((In,ti)=>{je._finishPromise_resolve=In,je._finishPromise_reject=ti});let Br=je._cancelAlgorithm(_e);return sh(je),m(Br,()=>(er._state==="errored"?Mp(je,er._storedError):(Ji(er._writableStreamController,_e),ok(te),lk(je)),null),In=>(Ji(er._writableStreamController,In),ok(te),Mp(je,In),null)),je._finishPromise}function B2(te){return new TypeError(`TransformStreamDefaultController.prototype.${te} can only be used on a TransformStreamDefaultController`)}function lk(te){te._finishPromise_resolve!==void 0&&(te._finishPromise_resolve(),te._finishPromise_resolve=void 0,te._finishPromise_reject=void 0)}function Mp(te,_e){te._finishPromise_reject!==void 0&&(D(te._finishPromise),te._finishPromise_reject(_e),te._finishPromise_resolve=void 0,te._finishPromise_reject=void 0)}function j7(te){return new TypeError(`TransformStream.prototype.${te} can only be used on a TransformStream`)}e.ByteLengthQueuingStrategy=Nx,e.CountQueuingStrategy=sk,e.ReadableByteStreamController=Wr,e.ReadableStream=sc,e.ReadableStreamBYOBReader=al,e.ReadableStreamBYOBRequest=XR,e.ReadableStreamDefaultController=X_,e.ReadableStreamDefaultReader=cs,e.TransformStream=oc,e.TransformStreamDefaultController=d_,e.WritableStream=cT,e.WritableStreamDefaultController=I,e.WritableStreamDefaultWriter=Cl})});var Kwt=Le((Ari,Ywt)=>{if(!globalThis.DOMException)try{let{MessageChannel:e}=Li("worker_threads"),t=new e().port1,r=new ArrayBuffer;t.postMessage(r,[r,r])}catch(e){e.constructor.name==="DOMException"&&(globalThis.DOMException=e.constructor)}Ywt.exports=globalThis.DOMException});function BAr(e){if(PAr(e)!=="object")return!1;let t=Object.getPrototypeOf(e);return t==null?!0:(t.constructor&&t.constructor.toString())===Object.toString()}var PAr,Gwt,Vwt=mp(()=>{PAr=e=>Object.prototype.toString.call(e).slice(8,-1).toLowerCase();Gwt=BAr});var ePt={};x2(ePt,{fileFromPath:()=>LAr,fileFromPathSync:()=>FAr,isFile:()=>Kft});import{statSync as IAr,createReadStream as MAr,promises as Jwt}from"fs";import{basename as WAr}from"path";function Zwt(e,{mtimeMs:t,size:r},n,i={}){let s;Gwt(n)?[i,s]=[n,void 0]:s=n;let R=new ldt({path:e,size:r,lastModified:t});return s||(s=R.name),new PE([R],s,{...i,lastModified:R.lastModified})}function FAr(e,t,r={}){let n=IAr(e);return Zwt(e,n,t,r)}async function LAr(e,t,r){let n=await Jwt.stat(e);return Zwt(e,n,t,r)}var Xwt,jwt,vre,bj,Y1e,UAr,ldt,tPt=mp(()=>{Xwt=Gs(Kwt(),1);$1e();Vwt();Gft();jwt=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},vre=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},UAr="The requested file could not be read, typically due to permission problems that have occurred after a reference to a file was acquired.",ldt=class e{constructor(t){bj.set(this,void 0),Y1e.set(this,void 0),jwt(this,bj,t.path,"f"),jwt(this,Y1e,t.start||0,"f"),this.name=WAr(vre(this,bj,"f")),this.size=t.size,this.lastModified=t.lastModified}slice(t,r){return new e({path:vre(this,bj,"f"),lastModified:this.lastModified,size:r-t,start:t})}async*stream(){let{mtimeMs:t}=await Jwt.stat(vre(this,bj,"f"));if(t>this.lastModified)throw new Xwt.default(UAr,"NotReadableError");this.size&&(yield*MAr(vre(this,bj,"f"),{start:vre(this,Y1e,"f"),end:vre(this,Y1e,"f")+this.size-1}))}get[(bj=new WeakMap,Y1e=new WeakMap,Symbol.toStringTag)](){return"File"}}});var vPt=Le((eai,OPt)=>{OPt.exports=function(e){let t=new Set(e[0]),r=t.length,n,i,s;for(n=1;n{"use strict";Object.defineProperty(rpe,"__esModule",{value:!0});rpe.maybeSetModuleExports=void 0;var D3r=(TR(),AR(cR)),S3r=D3r.__importDefault(l_());function $3r(e){var t=e.use(S3r.default),r=t.Type,n=t.builtInTypes,i=n.number;function s(h){return r.from(function(_){return i.check(_)&&_>=h},i+" >= "+h)}var R={null:function(){return null},emptyArray:function(){return[]},false:function(){return!1},true:function(){return!0},undefined:function(){},"use strict":function(){return"use strict"}},l=r.or(n.string,n.number,n.boolean,n.null,n.undefined),c=r.from(function(h){if(h===null)return!0;var _=typeof h;return!(_==="object"||_==="function")},l.toString());return{geq:s,defaults:R,isPrimitive:c}}rpe.default=$3r;function Q3r(e){try{var t=e(),r=t.exports,n=r.default}catch{return}n&&n!==r&&typeof r=="object"&&(Object.assign(n,r,{default:n}),r.__esModule&&Object.defineProperty(n,"__esModule",{value:!0}),t.exports=n)}rpe.maybeSetModuleExports=Q3r});var l_=Le((ape,wPt)=>{"use strict";Object.defineProperty(ape,"__esModule",{value:!0});ape.Def=void 0;var Fre=(TR(),AR(cR)),N3r=Oc(),NPt=Object.prototype,Tke=NPt.toString,M3=NPt.hasOwnProperty,ipe=function(){function e(){}return e.prototype.assert=function(t,r){if(!this.check(t,r)){var n=Ndt(t);throw new Error(n+" does not match type "+this)}return!0},e.prototype.arrayOf=function(){var t=this;return new Qdt(t)},e}(),Qdt=function(e){Fre.__extends(t,e);function t(r){var n=e.call(this)||this;return n.elemType=r,n.kind="ArrayType",n}return t.prototype.toString=function(){return"["+this.elemType+"]"},t.prototype.check=function(r,n){var i=this;return Array.isArray(r)&&r.every(function(s){return i.elemType.check(s,n)})},t}(ipe),DPt=function(e){Fre.__extends(t,e);function t(r){var n=e.call(this)||this;return n.value=r,n.kind="IdentityType",n}return t.prototype.toString=function(){return String(this.value)},t.prototype.check=function(r,n){var i=r===this.value;return!i&&typeof n=="function"&&n(this,r),i},t}(ipe),SPt=function(e){Fre.__extends(t,e);function t(r){var n=e.call(this)||this;return n.fields=r,n.kind="ObjectType",n}return t.prototype.toString=function(){return"{ "+this.fields.join(", ")+" }"},t.prototype.check=function(r,n){return Tke.call(r)===Tke.call({})&&this.fields.every(function(i){return i.type.check(r[i.name],n)})},t}(ipe),$Pt=function(e){Fre.__extends(t,e);function t(r){var n=e.call(this)||this;return n.types=r,n.kind="OrType",n}return t.prototype.toString=function(){return this.types.join(" | ")},t.prototype.check=function(r,n){return this.types.some(function(i){return i.check(r,!!n)})?!0:(typeof n=="function"&&n(this,r),!1)},t}(ipe),npe=function(e){Fre.__extends(t,e);function t(r,n){var i=e.call(this)||this;return i.name=r,i.predicate=n,i.kind="PredicateType",i}return t.prototype.toString=function(){return this.name},t.prototype.check=function(r,n){var i=this.predicate(r,n);return!i&&typeof n=="function"&&n(this,r),i},t}(ipe),cke=function(){function e(t,r){this.type=t,this.typeName=r,this.baseNames=[],this.ownFields=Object.create(null),this.allSupertypes=Object.create(null),this.supertypeList=[],this.allFields=Object.create(null),this.fieldNames=[],this.finalized=!1,this.buildable=!1,this.buildParams=[]}return e.prototype.isSupertypeOf=function(t){if(t instanceof e){if(this.finalized!==!0||t.finalized!==!0)throw new Error("");return M3.call(t.allSupertypes,this.typeName)}else throw new Error(t+" is not a Def")},e.prototype.checkAllFields=function(t,r){var n=this.allFields;if(this.finalized!==!0)throw new Error(""+this.typeName);function i(s){var R=n[s],l=R.type,c=R.getValue(t);return l.check(c,r)}return t!==null&&typeof t=="object"&&Object.keys(n).every(i)},e.prototype.bases=function(){for(var t=[],r=0;r=0)return n[_t];if(typeof at!="string")throw new Error("missing name");return new npe(at,lt)}return new DPt(lt)},def:function(lt){return M3.call(S,lt)?S[lt]:S[lt]=new M(lt)},hasDef:function(lt){return M3.call(S,lt)}},r=[],n=[];function i(lt,at){var _t=Tke.call(at),Ve=new npe(lt,function(Dt){return Tke.call(Dt)===_t});return at&&typeof at.constructor=="function"&&(r.push(at.constructor),n.push(Ve)),Ve}var s=i("string","truthy"),R=i("function",function(){}),l=i("array",[]),c=i("object",{}),h=i("RegExp",/./),_=i("Date",new Date),f=i("number",3),m=i("boolean",!0),x=i("null",null),y=i("undefined",void 0),A=typeof BigInt=="function"?i("BigInt",BigInt(1234)):new npe("BigInt",function(){return!1}),D={string:s,function:R,array:l,object:c,RegExp:h,Date:_,number:f,boolean:m,null:x,undefined:y,BigInt:A},S=Object.create(null);function P(lt){if(lt&&typeof lt=="object"){var at=lt.type;if(typeof at=="string"&&M3.call(S,at)){var _t=S[at];if(_t.finalized)return _t}}return null}var M=function(lt){Fre.__extends(at,lt);function at(_t){var Ve=lt.call(this,new npe(_t,function(Dt,Ut){return Ve.check(Dt,Ut)}),_t)||this;return Ve}return at.prototype.check=function(_t,Ve){if(this.finalized!==!0)throw new Error("prematurely checking unfinalized type "+this.typeName);if(_t===null||typeof _t!="object")return!1;var Dt=P(_t);return Dt?Ve&&Dt===this?this.checkAllFields(_t,Ve):this.isSupertypeOf(Dt)?Ve?Dt.checkAllFields(_t,Ve)&&this.checkAllFields(_t,!1):!0:!1:this.typeName==="SourceLocation"||this.typeName==="Position"?this.checkAllFields(_t,Ve):!1},at.prototype.build=function(){for(var _t=this,Ve=[],Dt=0;Dt=0&&Me(this.typeName)}},at}(cke);function U(lt){if(!M3.call(S,lt))throw new Error("");var at=S[lt];if(at.finalized!==!0)throw new Error("");return at.supertypeList.slice(1)}function w(lt){for(var at={},_t=Object.keys(S),Ve=_t.length,Dt=0;Dt{"use strict";Object.defineProperty(wdt,"__esModule",{value:!0});var P3r=(TR(),AR(cR)),B3r=Oc(),I3r=P3r.__importDefault(l_()),M3r=Object.prototype,pke=M3r.hasOwnProperty;function W3r(e){var t=e.use(I3r.default),r=t.builtInTypes.array,n=t.builtInTypes.number,i=function f(m,x,y){if(!(this instanceof f))throw new Error("Path constructor cannot be invoked without 'new'");if(x){if(!(x instanceof f))throw new Error("")}else x=null,y=null;this.value=m,this.parentPath=x,this.name=y,this.__childCache=null},s=i.prototype;function R(f){return f.__childCache||(f.__childCache=Object.create(null))}function l(f,m){var x=R(f),y=f.getValueProperty(m),A=x[m];return(!pke.call(x,m)||A.value!==y)&&(A=x[m]=new f.constructor(y,f,m)),A}s.getValueProperty=function(m){return this.value[m]},s.get=function(){for(var m=[],x=0;x=0&&(y[f.name=A]=f)}else x[f.name]=f.value,y[f.name]=f;if(x[f.name]!==f.value)throw new Error("");if(f.parentPath.get(f.name)!==f)throw new Error("");return f}return s.replace=function(m){var x=[],y=this.parentPath.value,A=R(this.parentPath),D=arguments.length;if(_(this),r.check(y)){for(var S=y.length,P=h(this.parentPath,D-1,this.name+1),M=[this.name,1],U=0;U{"use strict";Object.defineProperty(Bdt,"__esModule",{value:!0});var U3r=(TR(),AR(cR)),F3r=Oc(),L3r=U3r.__importDefault(l_()),Lre=Object.prototype.hasOwnProperty;function z3r(e){var t=e.use(L3r.default),r=t.Type,n=t.namedTypes,i=n.Node,s=n.Expression,R=t.builtInTypes.array,l=t.builders,c=function U(w,F){if(!(this instanceof U))throw new Error("Scope constructor cannot be invoked without 'new'");_.check(w.value)||h.assert(w.value);var H;if(F){if(!(F instanceof U))throw new Error("");H=F.depth+1}else F=null,H=0;Object.defineProperties(this,{path:{value:w},node:{value:w.value},isGlobal:{value:!F,enumerable:!0},depth:{value:H},parent:{value:F},bindings:{value:{}},types:{value:{}}})},h=r.or(n.Program,n.Function,n.CatchClause),_=r.or(n.Function,n.ClassDeclaration,n.ClassExpression,n.InterfaceDeclaration,n.TSInterfaceDeclaration,n.TypeAlias,n.TSTypeAliasDeclaration),f=r.or(n.TypeParameter,n.TSTypeParameter);c.isEstablishedBy=function(U){return h.check(U)||_.check(U)};var m=c.prototype;m.didScan=!1,m.declares=function(U){return this.scan(),Lre.call(this.bindings,U)},m.declaresType=function(U){return this.scan(),Lre.call(this.types,U)},m.declareTemporary=function(U){if(U){if(!/^[a-z$_]/i.test(U))throw new Error("")}else U="t$";U+=this.depth.toString(36)+"$",this.scan();for(var w=0;this.declares(U+w);)++w;var F=U+w;return this.bindings[F]=t.builders.identifier(F)},m.injectTemporary=function(U,w){U||(U=this.declareTemporary());var F=this.path.get("body");return n.BlockStatement.check(F.value)&&(F=F.get("body")),F.unshift(l.variableDeclaration("var",[l.variableDeclarator(U,w||null)])),U},m.scan=function(U){if(U||!this.didScan){for(var w in this.bindings)delete this.bindings[w];for(var w in this.types)delete this.types[w];x(this.path,this.bindings,this.types),this.didScan=!0}},m.getBindings=function(){return this.scan(),this.bindings},m.getTypes=function(){return this.scan(),this.types};function x(U,w,F){var H=U.value;if(_.check(H)){var G=U.get("typeParameters","params");R.check(G.value)&&G.each(function(ee){M(ee,F)})}h.check(H)&&(n.CatchClause.check(H)?S(U.get("param"),w):y(U,w,F))}function y(U,w,F){var H=U.value;U.parent&&n.FunctionExpression.check(U.parent.node)&&U.parent.node.id&&S(U.parent.get("id"),w),H&&(R.check(H)?U.each(function(G){D(G,w,F)}):n.Function.check(H)?(U.get("params").each(function(G){S(G,w)}),D(U.get("body"),w,F),y(U.get("typeParameters"),w,F)):n.TypeAlias&&n.TypeAlias.check(H)||n.InterfaceDeclaration&&n.InterfaceDeclaration.check(H)||n.TSTypeAliasDeclaration&&n.TSTypeAliasDeclaration.check(H)||n.TSInterfaceDeclaration&&n.TSInterfaceDeclaration.check(H)?P(U.get("id"),F):n.VariableDeclarator.check(H)?(S(U.get("id"),w),D(U.get("init"),w,F)):H.type==="ImportSpecifier"||H.type==="ImportNamespaceSpecifier"||H.type==="ImportDefaultSpecifier"?S(U.get(H.local?"local":H.name?"name":"id"),w):i.check(H)&&!s.check(H)&&t.eachField(H,function(G,ee){var fe=U.get(G);if(!A(fe,ee))throw new Error("");D(fe,w,F)}))}function A(U,w){return!!(U.value===w||Array.isArray(U.value)&&U.value.length===0&&Array.isArray(w)&&w.length===0)}function D(U,w,F){var H=U.value;if(!(!H||s.check(H)))if(n.FunctionDeclaration.check(H)&&H.id!==null)S(U.get("id"),w);else if(n.ClassDeclaration&&n.ClassDeclaration.check(H)&&H.id!==null)S(U.get("id"),w),y(U.get("typeParameters"),w,F);else if(n.InterfaceDeclaration&&n.InterfaceDeclaration.check(H)||n.TSInterfaceDeclaration&&n.TSInterfaceDeclaration.check(H))P(U.get("id"),F);else if(h.check(H)){if(n.CatchClause.check(H)&&n.Identifier.check(H.param)){var G=H.param.name,ee=Lre.call(w,G);y(U.get("body"),w,F),ee||delete w[G]}}else y(U,w,F)}function S(U,w){var F=U.value;n.Pattern.assert(F),n.Identifier.check(F)?Lre.call(w,F.name)?w[F.name].push(U):w[F.name]=[U]:n.AssignmentPattern&&n.AssignmentPattern.check(F)?S(U.get("left"),w):n.ObjectPattern&&n.ObjectPattern.check(F)?U.get("properties").each(function(H){var G=H.value;n.Pattern.check(G)?S(H,w):n.Property.check(G)||n.ObjectProperty&&n.ObjectProperty.check(G)?S(H.get("value"),w):n.SpreadProperty&&n.SpreadProperty.check(G)&&S(H.get("argument"),w)}):n.ArrayPattern&&n.ArrayPattern.check(F)?U.get("elements").each(function(H){var G=H.value;n.Pattern.check(G)?S(H,w):n.SpreadElement&&n.SpreadElement.check(G)&&S(H.get("argument"),w)}):n.PropertyPattern&&n.PropertyPattern.check(F)?S(U.get("pattern"),w):(n.SpreadElementPattern&&n.SpreadElementPattern.check(F)||n.RestElement&&n.RestElement.check(F)||n.SpreadPropertyPattern&&n.SpreadPropertyPattern.check(F))&&S(U.get("argument"),w)}function P(U,w){var F=U.value;n.Pattern.assert(F),n.Identifier.check(F)&&(Lre.call(w,F.name)?w[F.name].push(U):w[F.name]=[U])}function M(U,w){var F=U.value;f.assert(F),Lre.call(w,F.name)?w[F.name].push(U):w[F.name]=[U]}return m.lookup=function(U){for(var w=this;w&&!w.declares(U);w=w.parent);return w},m.lookupType=function(U){for(var w=this;w&&!w.declaresType(U);w=w.parent);return w},m.getGlobalScope=function(){for(var U=this;!U.isGlobal;)U=U.parent;return U},c}Bdt.default=z3r;(0,F3r.maybeSetModuleExports)(function(){return BPt})});var Wdt=Le((Mdt,MPt)=>{"use strict";Object.defineProperty(Mdt,"__esModule",{value:!0});var Idt=(TR(),AR(cR)),H3r=Idt.__importDefault(l_()),Y3r=Idt.__importDefault(Pdt()),K3r=Idt.__importDefault(IPt()),G3r=Oc();function V3r(e){var t=e.use(H3r.default),r=t.namedTypes,n=t.builders,i=t.builtInTypes.number,s=t.builtInTypes.array,R=e.use(Y3r.default),l=e.use(K3r.default),c=function S(P,M,U){if(!(this instanceof S))throw new Error("NodePath constructor cannot be invoked without 'new'");R.call(this,P,M,U)},h=c.prototype=Object.create(R.prototype,{constructor:{value:c,enumerable:!1,writable:!0,configurable:!0}});Object.defineProperties(h,{node:{get:function(){return Object.defineProperty(this,"node",{configurable:!0,value:this._computeNode()}),this.node}},parent:{get:function(){return Object.defineProperty(this,"parent",{configurable:!0,value:this._computeParent()}),this.parent}},scope:{get:function(){return Object.defineProperty(this,"scope",{configurable:!0,value:this._computeScope()}),this.scope}}}),h.replace=function(){return delete this.node,delete this.parent,delete this.scope,R.prototype.replace.apply(this,arguments)},h.prune=function(){var S=this.parent;return this.replace(),A(S)},h._computeNode=function(){var S=this.value;if(r.Node.check(S))return S;var P=this.parentPath;return P&&P.node||null},h._computeParent=function(){var S=this.value,P=this.parentPath;if(!r.Node.check(S)){for(;P&&!r.Node.check(P.value);)P=P.parentPath;P&&(P=P.parentPath)}for(;P&&!r.Node.check(P.value);)P=P.parentPath;return P||null},h._computeScope=function(){var S=this.value,P=this.parentPath,M=P&&P.scope;return r.Node.check(S)&&l.isEstablishedBy(S)&&(M=new l(this,M)),M||null},h.getValueProperty=function(S){return t.getFieldValue(this.value,S)},h.needsParens=function(S){var P=this.parentPath;if(!P)return!1;var M=this.value;if(!r.Expression.check(M)||M.type==="Identifier")return!1;for(;!r.Node.check(P.value);)if(P=P.parentPath,!P)return!1;var U=P.value;switch(M.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return U.type==="MemberExpression"&&this.name==="object"&&U.object===M;case"BinaryExpression":case"LogicalExpression":switch(U.type){case"CallExpression":return this.name==="callee"&&U.callee===M;case"UnaryExpression":case"SpreadElement":case"SpreadProperty":return!0;case"MemberExpression":return this.name==="object"&&U.object===M;case"BinaryExpression":case"LogicalExpression":{var w=M,F=U.operator,H=m[F],G=w.operator,ee=m[G];if(H>ee)return!0;if(H===ee&&this.name==="right"){if(U.right!==w)throw new Error("Nodes must be equal");return!0}}default:return!1}case"SequenceExpression":switch(U.type){case"ForStatement":return!1;case"ExpressionStatement":return this.name!=="expression";default:return!0}case"YieldExpression":switch(U.type){case"BinaryExpression":case"LogicalExpression":case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"CallExpression":case"MemberExpression":case"NewExpression":case"ConditionalExpression":case"YieldExpression":return!0;default:return!1}case"Literal":return U.type==="MemberExpression"&&i.check(M.value)&&this.name==="object"&&U.object===M;case"AssignmentExpression":case"ConditionalExpression":switch(U.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":return this.name==="callee"&&U.callee===M;case"ConditionalExpression":return this.name==="test"&&U.test===M;case"MemberExpression":return this.name==="object"&&U.object===M;default:return!1}default:if(U.type==="NewExpression"&&this.name==="callee"&&U.callee===M)return x(M)}return!!(S!==!0&&!this.canBeFirstInStatement()&&this.firstInStatement())};function _(S){return r.BinaryExpression.check(S)||r.LogicalExpression.check(S)}function f(S){return r.UnaryExpression.check(S)||r.SpreadElement&&r.SpreadElement.check(S)||r.SpreadProperty&&r.SpreadProperty.check(S)}var m={};[["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"]].forEach(function(S,P){S.forEach(function(M){m[M]=P})});function x(S){return r.CallExpression.check(S)?!0:s.check(S)?S.some(x):r.Node.check(S)?t.someField(S,function(P,M){return x(M)}):!1}h.canBeFirstInStatement=function(){var S=this.node;return!r.FunctionExpression.check(S)&&!r.ObjectExpression.check(S)},h.firstInStatement=function(){return y(this)};function y(S){for(var P,M;S.parent;S=S.parent){if(P=S.node,M=S.parent.node,r.BlockStatement.check(M)&&S.parent.name==="body"&&S.name===0){if(M.body[0]!==P)throw new Error("Nodes must be equal");return!0}if(r.ExpressionStatement.check(M)&&S.name==="expression"){if(M.expression!==P)throw new Error("Nodes must be equal");return!0}if(r.SequenceExpression.check(M)&&S.parent.name==="expressions"&&S.name===0){if(M.expressions[0]!==P)throw new Error("Nodes must be equal");continue}if(r.CallExpression.check(M)&&S.name==="callee"){if(M.callee!==P)throw new Error("Nodes must be equal");continue}if(r.MemberExpression.check(M)&&S.name==="object"){if(M.object!==P)throw new Error("Nodes must be equal");continue}if(r.ConditionalExpression.check(M)&&S.name==="test"){if(M.test!==P)throw new Error("Nodes must be equal");continue}if(_(M)&&S.name==="left"){if(M.left!==P)throw new Error("Nodes must be equal");continue}if(r.UnaryExpression.check(M)&&!M.prefix&&S.name==="argument"){if(M.argument!==P)throw new Error("Nodes must be equal");continue}return!1}return!0}function A(S){if(r.VariableDeclaration.check(S.node)){var P=S.get("declarations").value;if(!P||P.length===0)return S.prune()}else if(r.ExpressionStatement.check(S.node)){if(!S.get("expression").value)return S.prune()}else r.IfStatement.check(S.node)&&D(S);return S}function D(S){var P=S.get("test").value,M=S.get("alternate").value,U=S.get("consequent").value;if(!U&&!M){var w=n.expressionStatement(P);S.replace(w)}else if(!U&&M){var F=n.unaryExpression("!",P,!0);r.UnaryExpression.check(P)&&P.operator==="!"&&(F=P.argument),S.get("test").replace(F),S.get("consequent").replace(M),S.get("alternate").replace()}}return c}Mdt.default=V3r;(0,G3r.maybeSetModuleExports)(function(){return MPt})});var FPt=Le((Udt,UPt)=>{"use strict";Object.defineProperty(Udt,"__esModule",{value:!0});var WPt=(TR(),AR(cR)),j3r=WPt.__importDefault(l_()),J3r=WPt.__importDefault(Wdt()),X3r=Oc(),_ke=Object.prototype.hasOwnProperty;function Z3r(e){var t=e.use(j3r.default),r=e.use(J3r.default),n=t.builtInTypes.array,i=t.builtInTypes.object,s=t.builtInTypes.function,R,l=function y(){if(!(this instanceof y))throw new Error("PathVisitor constructor cannot be invoked without 'new'");this._reusableContextStack=[],this._methodNameTable=c(this),this._shouldVisitComments=_ke.call(this._methodNameTable,"Block")||_ke.call(this._methodNameTable,"Line"),this.Context=m(this),this._visiting=!1,this._changeReported=!1};function c(y){var A=Object.create(null);for(var D in y)/^visit[A-Z]/.test(D)&&(A[D.slice(5)]=!0);for(var S=t.computeSupertypeLookupTable(A),P=Object.create(null),M=Object.keys(S),U=M.length,w=0;w{"use strict";Object.defineProperty(Fdt,"__esModule",{value:!0});var egr=(TR(),AR(cR)),tgr=Oc(),rgr=egr.__importDefault(l_());function ngr(e){var t=e.use(rgr.default),r=t.getFieldNames,n=t.getFieldValue,i=t.builtInTypes.array,s=t.builtInTypes.object,R=t.builtInTypes.Date,l=t.builtInTypes.RegExp,c=Object.prototype.hasOwnProperty;function h(y,A,D){return i.check(D)?D.length=0:D=null,f(y,A,D)}h.assert=function(y,A){var D=[];if(!h(y,A,D))if(D.length===0){if(y!==A)throw new Error("Nodes must be equal")}else throw new Error("Nodes differ in the following path: "+D.map(_).join(""))};function _(y){return/[_$a-z][_$a-z0-9]*/i.test(y)?"."+y:"["+JSON.stringify(y)+"]"}function f(y,A,D){return y===A?!0:i.check(y)?m(y,A,D):s.check(y)?x(y,A,D):R.check(y)?R.check(A)&&+y==+A:l.check(y)?l.check(A)&&y.source===A.source&&y.global===A.global&&y.multiline===A.multiline&&y.ignoreCase===A.ignoreCase:y==A}function m(y,A,D){i.assert(y);var S=y.length;if(!i.check(A)||A.length!==S)return D&&D.push("length"),!1;for(var P=0;P{"use strict";Object.defineProperty(Ldt,"__esModule",{value:!0});var spe=(TR(),AR(cR)),igr=spe.__importDefault(l_()),agr=spe.__importDefault(FPt()),sgr=spe.__importDefault(zPt()),ogr=spe.__importDefault(Pdt()),Rgr=spe.__importDefault(Wdt()),ugr=Oc();function lgr(e){var t=cgr(),r=t.use(igr.default);e.forEach(t.use),r.finalize();var n=t.use(agr.default);return{Type:r.Type,builtInTypes:r.builtInTypes,namedTypes:r.namedTypes,builders:r.builders,defineMethod:r.defineMethod,getFieldNames:r.getFieldNames,getFieldValue:r.getFieldValue,eachField:r.eachField,someField:r.someField,getSupertypeNames:r.getSupertypeNames,getBuilderName:r.getBuilderName,astNodesAreEquivalent:t.use(sgr.default),finalize:r.finalize,Path:t.use(ogr.default),NodePath:t.use(Rgr.default),PathVisitor:n,use:t.use,visit:n.visit}}Ldt.default=lgr;function cgr(){var e=[],t=[];function r(i){var s=e.indexOf(i);return s===-1&&(s=e.length,e.push(i),t[s]=i(n)),t[s]}var n={use:r};return n}(0,ugr.maybeSetModuleExports)(function(){return HPt})});var Hdt=Le((zdt,KPt)=>{"use strict";Object.defineProperty(zdt,"__esModule",{value:!0});var Tgr=Oc();function pgr(){return{BinaryOperators:["==","!=","===","!==","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","&","|","^","in","instanceof"],AssignmentOperators:["=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","^=","&="],LogicalOperators:["||","&&"]}}zdt.default=pgr;(0,Tgr.maybeSetModuleExports)(function(){return KPt})});var Kdt=Le((Ydt,GPt)=>{"use strict";Object.defineProperty(Ydt,"__esModule",{value:!0});var _gr=(TR(),AR(cR)),hgr=Oc(),fgr=_gr.__importDefault(Hdt());function dgr(e){var t=e.use(fgr.default);return t.BinaryOperators.indexOf("**")<0&&t.BinaryOperators.push("**"),t.AssignmentOperators.indexOf("**=")<0&&t.AssignmentOperators.push("**="),t}Ydt.default=dgr;(0,hgr.maybeSetModuleExports)(function(){return GPt})});var Vdt=Le((Gdt,VPt)=>{"use strict";Object.defineProperty(Gdt,"__esModule",{value:!0});var xgr=(TR(),AR(cR)),mgr=Oc(),kgr=xgr.__importDefault(Kdt());function ygr(e){var t=e.use(kgr.default);return t.LogicalOperators.indexOf("??")<0&&t.LogicalOperators.push("??"),t}Gdt.default=ygr;(0,mgr.maybeSetModuleExports)(function(){return VPt})});var JPt=Le((jdt,jPt)=>{"use strict";Object.defineProperty(jdt,"__esModule",{value:!0});var qgr=(TR(),AR(cR)),Cgr=Oc(),Agr=qgr.__importDefault(Vdt());function ggr(e){var t=e.use(Agr.default);return t.LogicalOperators.forEach(function(r){var n=r+"=";t.AssignmentOperators.indexOf(n)<0&&t.AssignmentOperators.push(n)}),t}jdt.default=ggr;(0,Cgr.maybeSetModuleExports)(function(){return jPt})});var eBt=Le((Xdt,ZPt)=>{"use strict";Object.defineProperty(Xdt,"__esModule",{value:!0});var Jdt=(TR(),AR(cR)),bgr=Jdt.__importDefault(Hdt()),Egr=Jdt.__importDefault(l_()),XPt=Jdt.__importStar(Oc());function Ogr(e){var t=e.use(Egr.default),r=t.Type,n=r.def,i=r.or,s=e.use(XPt.default),R=s.defaults,l=s.geq,c=e.use(bgr.default),h=c.BinaryOperators,_=c.AssignmentOperators,f=c.LogicalOperators;n("Printable").field("loc",i(n("SourceLocation"),null),R.null,!0),n("Node").bases("Printable").field("type",String).field("comments",i([n("Comment")],null),R.null,!0),n("SourceLocation").field("start",n("Position")).field("end",n("Position")).field("source",i(String,null),R.null),n("Position").field("line",l(1)).field("column",l(0)),n("File").bases("Node").build("program","name").field("program",n("Program")).field("name",i(String,null),R.null),n("Program").bases("Node").build("body").field("body",[n("Statement")]),n("Function").bases("Node").field("id",i(n("Identifier"),null),R.null).field("params",[n("Pattern")]).field("body",n("BlockStatement")).field("generator",Boolean,R.false).field("async",Boolean,R.false),n("Statement").bases("Node"),n("EmptyStatement").bases("Statement").build(),n("BlockStatement").bases("Statement").build("body").field("body",[n("Statement")]),n("ExpressionStatement").bases("Statement").build("expression").field("expression",n("Expression")),n("IfStatement").bases("Statement").build("test","consequent","alternate").field("test",n("Expression")).field("consequent",n("Statement")).field("alternate",i(n("Statement"),null),R.null),n("LabeledStatement").bases("Statement").build("label","body").field("label",n("Identifier")).field("body",n("Statement")),n("BreakStatement").bases("Statement").build("label").field("label",i(n("Identifier"),null),R.null),n("ContinueStatement").bases("Statement").build("label").field("label",i(n("Identifier"),null),R.null),n("WithStatement").bases("Statement").build("object","body").field("object",n("Expression")).field("body",n("Statement")),n("SwitchStatement").bases("Statement").build("discriminant","cases","lexical").field("discriminant",n("Expression")).field("cases",[n("SwitchCase")]).field("lexical",Boolean,R.false),n("ReturnStatement").bases("Statement").build("argument").field("argument",i(n("Expression"),null)),n("ThrowStatement").bases("Statement").build("argument").field("argument",n("Expression")),n("TryStatement").bases("Statement").build("block","handler","finalizer").field("block",n("BlockStatement")).field("handler",i(n("CatchClause"),null),function(){return this.handlers&&this.handlers[0]||null}).field("handlers",[n("CatchClause")],function(){return this.handler?[this.handler]:[]},!0).field("guardedHandlers",[n("CatchClause")],R.emptyArray).field("finalizer",i(n("BlockStatement"),null),R.null),n("CatchClause").bases("Node").build("param","guard","body").field("param",n("Pattern")).field("guard",i(n("Expression"),null),R.null).field("body",n("BlockStatement")),n("WhileStatement").bases("Statement").build("test","body").field("test",n("Expression")).field("body",n("Statement")),n("DoWhileStatement").bases("Statement").build("body","test").field("body",n("Statement")).field("test",n("Expression")),n("ForStatement").bases("Statement").build("init","test","update","body").field("init",i(n("VariableDeclaration"),n("Expression"),null)).field("test",i(n("Expression"),null)).field("update",i(n("Expression"),null)).field("body",n("Statement")),n("ForInStatement").bases("Statement").build("left","right","body").field("left",i(n("VariableDeclaration"),n("Expression"))).field("right",n("Expression")).field("body",n("Statement")),n("DebuggerStatement").bases("Statement").build(),n("Declaration").bases("Statement"),n("FunctionDeclaration").bases("Function","Declaration").build("id","params","body").field("id",n("Identifier")),n("FunctionExpression").bases("Function","Expression").build("id","params","body"),n("VariableDeclaration").bases("Declaration").build("kind","declarations").field("kind",i("var","let","const")).field("declarations",[n("VariableDeclarator")]),n("VariableDeclarator").bases("Node").build("id","init").field("id",n("Pattern")).field("init",i(n("Expression"),null),R.null),n("Expression").bases("Node"),n("ThisExpression").bases("Expression").build(),n("ArrayExpression").bases("Expression").build("elements").field("elements",[i(n("Expression"),null)]),n("ObjectExpression").bases("Expression").build("properties").field("properties",[n("Property")]),n("Property").bases("Node").build("kind","key","value").field("kind",i("init","get","set")).field("key",i(n("Literal"),n("Identifier"))).field("value",n("Expression")),n("SequenceExpression").bases("Expression").build("expressions").field("expressions",[n("Expression")]);var m=i("-","+","!","~","typeof","void","delete");n("UnaryExpression").bases("Expression").build("operator","argument","prefix").field("operator",m).field("argument",n("Expression")).field("prefix",Boolean,R.true);var x=i.apply(void 0,h);n("BinaryExpression").bases("Expression").build("operator","left","right").field("operator",x).field("left",n("Expression")).field("right",n("Expression"));var y=i.apply(void 0,_);n("AssignmentExpression").bases("Expression").build("operator","left","right").field("operator",y).field("left",i(n("Pattern"),n("MemberExpression"))).field("right",n("Expression"));var A=i("++","--");n("UpdateExpression").bases("Expression").build("operator","argument","prefix").field("operator",A).field("argument",n("Expression")).field("prefix",Boolean);var D=i.apply(void 0,f);n("LogicalExpression").bases("Expression").build("operator","left","right").field("operator",D).field("left",n("Expression")).field("right",n("Expression")),n("ConditionalExpression").bases("Expression").build("test","consequent","alternate").field("test",n("Expression")).field("consequent",n("Expression")).field("alternate",n("Expression")),n("NewExpression").bases("Expression").build("callee","arguments").field("callee",n("Expression")).field("arguments",[n("Expression")]),n("CallExpression").bases("Expression").build("callee","arguments").field("callee",n("Expression")).field("arguments",[n("Expression")]),n("MemberExpression").bases("Expression").build("object","property","computed").field("object",n("Expression")).field("property",i(n("Identifier"),n("Expression"))).field("computed",Boolean,function(){var S=this.property.type;return S==="Literal"||S==="MemberExpression"||S==="BinaryExpression"}),n("Pattern").bases("Node"),n("SwitchCase").bases("Node").build("test","consequent").field("test",i(n("Expression"),null)).field("consequent",[n("Statement")]),n("Identifier").bases("Expression","Pattern").build("name").field("name",String).field("optional",Boolean,R.false),n("Literal").bases("Expression").build("value").field("value",i(String,Boolean,null,Number,RegExp,BigInt)),n("Comment").bases("Printable").field("value",String).field("leading",Boolean,R.true).field("trailing",Boolean,R.false)}Xdt.default=Ogr;(0,XPt.maybeSetModuleExports)(function(){return ZPt})});var nBt=Le((ext,rBt)=>{"use strict";Object.defineProperty(ext,"__esModule",{value:!0});var Zdt=(TR(),AR(cR)),vgr=Zdt.__importDefault(eBt()),Dgr=Zdt.__importDefault(l_()),tBt=Zdt.__importStar(Oc());function Sgr(e){e.use(vgr.default);var t=e.use(Dgr.default),r=t.Type.def,n=t.Type.or,i=e.use(tBt.default).defaults;r("Function").field("generator",Boolean,i.false).field("expression",Boolean,i.false).field("defaults",[n(r("Expression"),null)],i.emptyArray).field("rest",n(r("Identifier"),null),i.null),r("RestElement").bases("Pattern").build("argument").field("argument",r("Pattern")).field("typeAnnotation",n(r("TypeAnnotation"),r("TSTypeAnnotation"),null),i.null),r("SpreadElementPattern").bases("Pattern").build("argument").field("argument",r("Pattern")),r("FunctionDeclaration").build("id","params","body","generator","expression").field("id",n(r("Identifier"),null)),r("FunctionExpression").build("id","params","body","generator","expression"),r("ArrowFunctionExpression").bases("Function","Expression").build("params","body","expression").field("id",null,i.null).field("body",n(r("BlockStatement"),r("Expression"))).field("generator",!1,i.false),r("ForOfStatement").bases("Statement").build("left","right","body").field("left",n(r("VariableDeclaration"),r("Pattern"))).field("right",r("Expression")).field("body",r("Statement")),r("YieldExpression").bases("Expression").build("argument","delegate").field("argument",n(r("Expression"),null)).field("delegate",Boolean,i.false),r("GeneratorExpression").bases("Expression").build("body","blocks","filter").field("body",r("Expression")).field("blocks",[r("ComprehensionBlock")]).field("filter",n(r("Expression"),null)),r("ComprehensionExpression").bases("Expression").build("body","blocks","filter").field("body",r("Expression")).field("blocks",[r("ComprehensionBlock")]).field("filter",n(r("Expression"),null)),r("ComprehensionBlock").bases("Node").build("left","right","each").field("left",r("Pattern")).field("right",r("Expression")).field("each",Boolean),r("Property").field("key",n(r("Literal"),r("Identifier"),r("Expression"))).field("value",n(r("Expression"),r("Pattern"))).field("method",Boolean,i.false).field("shorthand",Boolean,i.false).field("computed",Boolean,i.false),r("ObjectProperty").field("shorthand",Boolean,i.false),r("PropertyPattern").bases("Pattern").build("key","pattern").field("key",n(r("Literal"),r("Identifier"),r("Expression"))).field("pattern",r("Pattern")).field("computed",Boolean,i.false),r("ObjectPattern").bases("Pattern").build("properties").field("properties",[n(r("PropertyPattern"),r("Property"))]),r("ArrayPattern").bases("Pattern").build("elements").field("elements",[n(r("Pattern"),null)]),r("SpreadElement").bases("Node").build("argument").field("argument",r("Expression")),r("ArrayExpression").field("elements",[n(r("Expression"),r("SpreadElement"),r("RestElement"),null)]),r("NewExpression").field("arguments",[n(r("Expression"),r("SpreadElement"))]),r("CallExpression").field("arguments",[n(r("Expression"),r("SpreadElement"))]),r("AssignmentPattern").bases("Pattern").build("left","right").field("left",r("Pattern")).field("right",r("Expression")),r("MethodDefinition").bases("Declaration").build("kind","key","value","static").field("kind",n("constructor","method","get","set")).field("key",r("Expression")).field("value",r("Function")).field("computed",Boolean,i.false).field("static",Boolean,i.false);var s=n(r("MethodDefinition"),r("VariableDeclarator"),r("ClassPropertyDefinition"),r("ClassProperty"),r("StaticBlock"));r("ClassProperty").bases("Declaration").build("key").field("key",n(r("Literal"),r("Identifier"),r("Expression"))).field("computed",Boolean,i.false),r("ClassPropertyDefinition").bases("Declaration").build("definition").field("definition",s),r("ClassBody").bases("Declaration").build("body").field("body",[s]),r("ClassDeclaration").bases("Declaration").build("id","body","superClass").field("id",n(r("Identifier"),null)).field("body",r("ClassBody")).field("superClass",n(r("Expression"),null),i.null),r("ClassExpression").bases("Expression").build("id","body","superClass").field("id",n(r("Identifier"),null),i.null).field("body",r("ClassBody")).field("superClass",n(r("Expression"),null),i.null),r("Super").bases("Expression").build(),r("Specifier").bases("Node"),r("ModuleSpecifier").bases("Specifier").field("local",n(r("Identifier"),null),i.null).field("id",n(r("Identifier"),null),i.null).field("name",n(r("Identifier"),null),i.null),r("ImportSpecifier").bases("ModuleSpecifier").build("imported","local").field("imported",r("Identifier")),r("ImportDefaultSpecifier").bases("ModuleSpecifier").build("local"),r("ImportNamespaceSpecifier").bases("ModuleSpecifier").build("local"),r("ImportDeclaration").bases("Declaration").build("specifiers","source","importKind").field("specifiers",[n(r("ImportSpecifier"),r("ImportNamespaceSpecifier"),r("ImportDefaultSpecifier"))],i.emptyArray).field("source",r("Literal")).field("importKind",n("value","type"),function(){return"value"}),r("ExportNamedDeclaration").bases("Declaration").build("declaration","specifiers","source").field("declaration",n(r("Declaration"),null)).field("specifiers",[r("ExportSpecifier")],i.emptyArray).field("source",n(r("Literal"),null),i.null),r("ExportSpecifier").bases("ModuleSpecifier").build("local","exported").field("exported",r("Identifier")),r("ExportDefaultDeclaration").bases("Declaration").build("declaration").field("declaration",n(r("Declaration"),r("Expression"))),r("ExportAllDeclaration").bases("Declaration").build("source").field("source",r("Literal")),r("TaggedTemplateExpression").bases("Expression").build("tag","quasi").field("tag",r("Expression")).field("quasi",r("TemplateLiteral")),r("TemplateLiteral").bases("Expression").build("quasis","expressions").field("quasis",[r("TemplateElement")]).field("expressions",[r("Expression")]),r("TemplateElement").bases("Node").build("value","tail").field("value",{cooked:String,raw:String}).field("tail",Boolean),r("MetaProperty").bases("Expression").build("meta","property").field("meta",r("Identifier")).field("property",r("Identifier"))}ext.default=Sgr;(0,tBt.maybeSetModuleExports)(function(){return rBt})});var sBt=Le((txt,aBt)=>{"use strict";Object.defineProperty(txt,"__esModule",{value:!0});var iBt=(TR(),AR(cR)),$gr=iBt.__importDefault(Kdt()),Qgr=iBt.__importDefault(nBt()),Ngr=Oc();function wgr(e){e.use($gr.default),e.use(Qgr.default)}txt.default=wgr;(0,Ngr.maybeSetModuleExports)(function(){return aBt})});var uBt=Le((nxt,RBt)=>{"use strict";Object.defineProperty(nxt,"__esModule",{value:!0});var rxt=(TR(),AR(cR)),Pgr=rxt.__importDefault(sBt()),Bgr=rxt.__importDefault(l_()),oBt=rxt.__importStar(Oc());function Igr(e){e.use(Pgr.default);var t=e.use(Bgr.default),r=t.Type.def,n=e.use(oBt.default).defaults;r("Function").field("async",Boolean,n.false),r("AwaitExpression").bases("Expression").build("argument").field("argument",r("Expression"))}nxt.default=Igr;(0,oBt.maybeSetModuleExports)(function(){return RBt})});var TBt=Le((axt,cBt)=>{"use strict";Object.defineProperty(axt,"__esModule",{value:!0});var ixt=(TR(),AR(cR)),Mgr=ixt.__importDefault(uBt()),Wgr=ixt.__importDefault(l_()),lBt=ixt.__importStar(Oc());function Ugr(e){e.use(Mgr.default);var t=e.use(Wgr.default),r=t.Type.def,n=t.Type.or,i=e.use(lBt.default).defaults;r("ForOfStatement").field("await",Boolean,i.false),r("SpreadProperty").bases("Node").build("argument").field("argument",r("Expression")),r("ObjectExpression").field("properties",[n(r("Property"),r("SpreadProperty"),r("SpreadElement"))]),r("TemplateElement").field("value",{cooked:n(String,null),raw:String}),r("SpreadPropertyPattern").bases("Pattern").build("argument").field("argument",r("Pattern")),r("ObjectPattern").field("properties",[n(r("PropertyPattern"),r("Property"),r("RestElement"),r("SpreadPropertyPattern"))])}axt.default=Ugr;(0,lBt.maybeSetModuleExports)(function(){return cBt})});var hBt=Le((oxt,_Bt)=>{"use strict";Object.defineProperty(oxt,"__esModule",{value:!0});var sxt=(TR(),AR(cR)),Fgr=sxt.__importDefault(TBt()),Lgr=sxt.__importDefault(l_()),pBt=sxt.__importStar(Oc());function zgr(e){e.use(Fgr.default);var t=e.use(Lgr.default),r=t.Type.def,n=t.Type.or,i=e.use(pBt.default).defaults;r("CatchClause").field("param",n(r("Pattern"),null),i.null)}oxt.default=zgr;(0,pBt.maybeSetModuleExports)(function(){return _Bt})});var xBt=Le((Rxt,dBt)=>{"use strict";Object.defineProperty(Rxt,"__esModule",{value:!0});var hke=(TR(),AR(cR)),Hgr=hke.__importDefault(Vdt()),Ygr=hke.__importDefault(hBt()),Kgr=hke.__importDefault(l_()),fBt=hke.__importStar(Oc());function Ggr(e){e.use(Hgr.default),e.use(Ygr.default);var t=e.use(Kgr.default),r=t.Type.def,n=t.Type.or,i=e.use(fBt.default),s=i.defaults;r("ImportExpression").bases("Expression").build("source").field("source",r("Expression")),r("ExportAllDeclaration").bases("Declaration").build("source","exported").field("source",r("Literal")).field("exported",n(r("Identifier"),null,void 0),s.null),r("ChainElement").bases("Node").field("optional",Boolean,s.false),r("CallExpression").bases("Expression","ChainElement"),r("MemberExpression").bases("Expression","ChainElement"),r("ChainExpression").bases("Expression").build("expression").field("expression",r("ChainElement")),r("OptionalCallExpression").bases("CallExpression").build("callee","arguments","optional").field("optional",Boolean,s.true),r("OptionalMemberExpression").bases("MemberExpression").build("object","property","computed","optional").field("optional",Boolean,s.true)}Rxt.default=Ggr;(0,fBt.maybeSetModuleExports)(function(){return dBt})});var yBt=Le((uxt,kBt)=>{"use strict";Object.defineProperty(uxt,"__esModule",{value:!0});var mBt=(TR(),AR(cR)),Vgr=mBt.__importDefault(JPt()),jgr=mBt.__importDefault(xBt()),Jgr=Oc();function Xgr(e){e.use(Vgr.default),e.use(jgr.default)}uxt.default=Xgr;(0,Jgr.maybeSetModuleExports)(function(){return kBt})});var ABt=Le((lxt,CBt)=>{"use strict";Object.defineProperty(lxt,"__esModule",{value:!0});var qBt=(TR(),AR(cR)),Zgr=qBt.__importDefault(yBt()),ebr=qBt.__importDefault(l_()),tbr=Oc();function rbr(e){e.use(Zgr.default);var t=e.use(ebr.default),r=t.Type.def;r("StaticBlock").bases("Declaration").build("body").field("body",[r("Statement")])}lxt.default=rbr;(0,tbr.maybeSetModuleExports)(function(){return CBt})});var zre=Le((Txt,bBt)=>{"use strict";Object.defineProperty(Txt,"__esModule",{value:!0});var cxt=(TR(),AR(cR)),nbr=cxt.__importDefault(l_()),gBt=cxt.__importStar(Oc()),ibr=cxt.__importDefault(ABt());function abr(e){e.use(ibr.default);var t=e.use(nbr.default),r=t.Type,n=t.Type.def,i=r.or,s=e.use(gBt.default),R=s.defaults;n("AwaitExpression").build("argument","all").field("argument",i(n("Expression"),null)).field("all",Boolean,R.false),n("Decorator").bases("Node").build("expression").field("expression",n("Expression")),n("Property").field("decorators",i([n("Decorator")],null),R.null),n("MethodDefinition").field("decorators",i([n("Decorator")],null),R.null),n("PrivateName").bases("Expression","Pattern").build("id").field("id",n("Identifier")),n("ClassPrivateProperty").bases("ClassProperty").build("key","value").field("key",n("PrivateName")).field("value",i(n("Expression"),null),R.null),n("ImportAttribute").bases("Node").build("key","value").field("key",i(n("Identifier"),n("Literal"))).field("value",n("Expression")),["ImportDeclaration","ExportAllDeclaration","ExportNamedDeclaration"].forEach(function(l){n(l).field("assertions",[n("ImportAttribute")],R.emptyArray)}),n("RecordExpression").bases("Expression").build("properties").field("properties",[i(n("ObjectProperty"),n("ObjectMethod"),n("SpreadElement"))]),n("TupleExpression").bases("Expression").build("elements").field("elements",[i(n("Expression"),n("SpreadElement"),null)]),n("ModuleExpression").bases("Node").build("body").field("body",n("Program"))}Txt.default=abr;(0,gBt.maybeSetModuleExports)(function(){return bBt})});var vBt=Le((_xt,OBt)=>{"use strict";Object.defineProperty(_xt,"__esModule",{value:!0});var pxt=(TR(),AR(cR)),sbr=pxt.__importDefault(zre()),obr=pxt.__importDefault(l_()),EBt=pxt.__importStar(Oc());function Rbr(e){e.use(sbr.default);var t=e.use(obr.default),r=t.Type.def,n=t.Type.or,i=e.use(EBt.default).defaults;r("JSXAttribute").bases("Node").build("name","value").field("name",n(r("JSXIdentifier"),r("JSXNamespacedName"))).field("value",n(r("Literal"),r("JSXExpressionContainer"),r("JSXElement"),r("JSXFragment"),null),i.null),r("JSXIdentifier").bases("Identifier").build("name").field("name",String),r("JSXNamespacedName").bases("Node").build("namespace","name").field("namespace",r("JSXIdentifier")).field("name",r("JSXIdentifier")),r("JSXMemberExpression").bases("MemberExpression").build("object","property").field("object",n(r("JSXIdentifier"),r("JSXMemberExpression"))).field("property",r("JSXIdentifier")).field("computed",Boolean,i.false);var s=n(r("JSXIdentifier"),r("JSXNamespacedName"),r("JSXMemberExpression"));r("JSXSpreadAttribute").bases("Node").build("argument").field("argument",r("Expression"));var R=[n(r("JSXAttribute"),r("JSXSpreadAttribute"))];r("JSXExpressionContainer").bases("Expression").build("expression").field("expression",n(r("Expression"),r("JSXEmptyExpression")));var l=[n(r("JSXText"),r("JSXExpressionContainer"),r("JSXSpreadChild"),r("JSXElement"),r("JSXFragment"),r("Literal"))];r("JSXElement").bases("Expression").build("openingElement","closingElement","children").field("openingElement",r("JSXOpeningElement")).field("closingElement",n(r("JSXClosingElement"),null),i.null).field("children",l,i.emptyArray).field("name",s,function(){return this.openingElement.name},!0).field("selfClosing",Boolean,function(){return this.openingElement.selfClosing},!0).field("attributes",R,function(){return this.openingElement.attributes},!0),r("JSXOpeningElement").bases("Node").build("name","attributes","selfClosing").field("name",s).field("attributes",R,i.emptyArray).field("selfClosing",Boolean,i.false),r("JSXClosingElement").bases("Node").build("name").field("name",s),r("JSXFragment").bases("Expression").build("openingFragment","closingFragment","children").field("openingFragment",r("JSXOpeningFragment")).field("closingFragment",r("JSXClosingFragment")).field("children",l,i.emptyArray),r("JSXOpeningFragment").bases("Node").build(),r("JSXClosingFragment").bases("Node").build(),r("JSXText").bases("Literal").build("value","raw").field("value",String).field("raw",String,function(){return this.value}),r("JSXEmptyExpression").bases("Node").build(),r("JSXSpreadChild").bases("Node").build("expression").field("expression",r("Expression"))}_xt.default=Rbr;(0,EBt.maybeSetModuleExports)(function(){return OBt})});var fxt=Le((hxt,$Bt)=>{"use strict";Object.defineProperty(hxt,"__esModule",{value:!0});var DBt=(TR(),AR(cR)),ubr=DBt.__importDefault(l_()),SBt=DBt.__importStar(Oc());function lbr(e){var t=e.use(ubr.default),r=t.Type.def,n=t.Type.or,i=e.use(SBt.default).defaults,s=n(r("TypeAnnotation"),r("TSTypeAnnotation"),null),R=n(r("TypeParameterDeclaration"),r("TSTypeParameterDeclaration"),null);r("Identifier").field("typeAnnotation",s,i.null),r("ObjectPattern").field("typeAnnotation",s,i.null),r("Function").field("returnType",s,i.null).field("typeParameters",R,i.null),r("ClassProperty").build("key","value","typeAnnotation","static").field("value",n(r("Expression"),null)).field("static",Boolean,i.false).field("typeAnnotation",s,i.null),["ClassDeclaration","ClassExpression"].forEach(function(l){r(l).field("typeParameters",R,i.null).field("superTypeParameters",n(r("TypeParameterInstantiation"),r("TSTypeParameterInstantiation"),null),i.null).field("implements",n([r("ClassImplements")],[r("TSExpressionWithTypeArguments")]),i.emptyArray)})}hxt.default=lbr;(0,SBt.maybeSetModuleExports)(function(){return $Bt})});var xxt=Le((dxt,NBt)=>{"use strict";Object.defineProperty(dxt,"__esModule",{value:!0});var fke=(TR(),AR(cR)),cbr=fke.__importDefault(zre()),Tbr=fke.__importDefault(fxt()),pbr=fke.__importDefault(l_()),QBt=fke.__importStar(Oc());function _br(e){e.use(cbr.default),e.use(Tbr.default);var t=e.use(pbr.default),r=t.Type.def,n=t.Type.or,i=e.use(QBt.default).defaults;r("Flow").bases("Node"),r("FlowType").bases("Flow"),r("AnyTypeAnnotation").bases("FlowType").build(),r("EmptyTypeAnnotation").bases("FlowType").build(),r("MixedTypeAnnotation").bases("FlowType").build(),r("VoidTypeAnnotation").bases("FlowType").build(),r("SymbolTypeAnnotation").bases("FlowType").build(),r("NumberTypeAnnotation").bases("FlowType").build(),r("BigIntTypeAnnotation").bases("FlowType").build(),r("NumberLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),r("NumericLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Number).field("raw",String),r("BigIntLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",null).field("raw",String),r("StringTypeAnnotation").bases("FlowType").build(),r("StringLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",String).field("raw",String),r("BooleanTypeAnnotation").bases("FlowType").build(),r("BooleanLiteralTypeAnnotation").bases("FlowType").build("value","raw").field("value",Boolean).field("raw",String),r("TypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",r("FlowType")),r("NullableTypeAnnotation").bases("FlowType").build("typeAnnotation").field("typeAnnotation",r("FlowType")),r("NullLiteralTypeAnnotation").bases("FlowType").build(),r("NullTypeAnnotation").bases("FlowType").build(),r("ThisTypeAnnotation").bases("FlowType").build(),r("ExistsTypeAnnotation").bases("FlowType").build(),r("ExistentialTypeParam").bases("FlowType").build(),r("FunctionTypeAnnotation").bases("FlowType").build("params","returnType","rest","typeParameters").field("params",[r("FunctionTypeParam")]).field("returnType",r("FlowType")).field("rest",n(r("FunctionTypeParam"),null)).field("typeParameters",n(r("TypeParameterDeclaration"),null)),r("FunctionTypeParam").bases("Node").build("name","typeAnnotation","optional").field("name",n(r("Identifier"),null)).field("typeAnnotation",r("FlowType")).field("optional",Boolean),r("ArrayTypeAnnotation").bases("FlowType").build("elementType").field("elementType",r("FlowType")),r("ObjectTypeAnnotation").bases("FlowType").build("properties","indexers","callProperties").field("properties",[n(r("ObjectTypeProperty"),r("ObjectTypeSpreadProperty"))]).field("indexers",[r("ObjectTypeIndexer")],i.emptyArray).field("callProperties",[r("ObjectTypeCallProperty")],i.emptyArray).field("inexact",n(Boolean,void 0),i.undefined).field("exact",Boolean,i.false).field("internalSlots",[r("ObjectTypeInternalSlot")],i.emptyArray),r("Variance").bases("Node").build("kind").field("kind",n("plus","minus"));var s=n(r("Variance"),"plus","minus",null);r("ObjectTypeProperty").bases("Node").build("key","value","optional").field("key",n(r("Literal"),r("Identifier"))).field("value",r("FlowType")).field("optional",Boolean).field("variance",s,i.null),r("ObjectTypeIndexer").bases("Node").build("id","key","value").field("id",r("Identifier")).field("key",r("FlowType")).field("value",r("FlowType")).field("variance",s,i.null).field("static",Boolean,i.false),r("ObjectTypeCallProperty").bases("Node").build("value").field("value",r("FunctionTypeAnnotation")).field("static",Boolean,i.false),r("QualifiedTypeIdentifier").bases("Node").build("qualification","id").field("qualification",n(r("Identifier"),r("QualifiedTypeIdentifier"))).field("id",r("Identifier")),r("GenericTypeAnnotation").bases("FlowType").build("id","typeParameters").field("id",n(r("Identifier"),r("QualifiedTypeIdentifier"))).field("typeParameters",n(r("TypeParameterInstantiation"),null)),r("MemberTypeAnnotation").bases("FlowType").build("object","property").field("object",r("Identifier")).field("property",n(r("MemberTypeAnnotation"),r("GenericTypeAnnotation"))),r("IndexedAccessType").bases("FlowType").build("objectType","indexType").field("objectType",r("FlowType")).field("indexType",r("FlowType")),r("OptionalIndexedAccessType").bases("FlowType").build("objectType","indexType","optional").field("objectType",r("FlowType")).field("indexType",r("FlowType")).field("optional",Boolean),r("UnionTypeAnnotation").bases("FlowType").build("types").field("types",[r("FlowType")]),r("IntersectionTypeAnnotation").bases("FlowType").build("types").field("types",[r("FlowType")]),r("TypeofTypeAnnotation").bases("FlowType").build("argument").field("argument",r("FlowType")),r("ObjectTypeSpreadProperty").bases("Node").build("argument").field("argument",r("FlowType")),r("ObjectTypeInternalSlot").bases("Node").build("id","value","optional","static","method").field("id",r("Identifier")).field("value",r("FlowType")).field("optional",Boolean).field("static",Boolean).field("method",Boolean),r("TypeParameterDeclaration").bases("Node").build("params").field("params",[r("TypeParameter")]),r("TypeParameterInstantiation").bases("Node").build("params").field("params",[r("FlowType")]),r("TypeParameter").bases("FlowType").build("name","variance","bound","default").field("name",String).field("variance",s,i.null).field("bound",n(r("TypeAnnotation"),null),i.null).field("default",n(r("FlowType"),null),i.null),r("ClassProperty").field("variance",s,i.null),r("ClassImplements").bases("Node").build("id").field("id",r("Identifier")).field("superClass",n(r("Expression"),null),i.null).field("typeParameters",n(r("TypeParameterInstantiation"),null),i.null),r("InterfaceTypeAnnotation").bases("FlowType").build("body","extends").field("body",r("ObjectTypeAnnotation")).field("extends",n([r("InterfaceExtends")],null),i.null),r("InterfaceDeclaration").bases("Declaration").build("id","body","extends").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterDeclaration"),null),i.null).field("body",r("ObjectTypeAnnotation")).field("extends",[r("InterfaceExtends")]),r("DeclareInterface").bases("InterfaceDeclaration").build("id","body","extends"),r("InterfaceExtends").bases("Node").build("id").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterInstantiation"),null),i.null),r("TypeAlias").bases("Declaration").build("id","typeParameters","right").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterDeclaration"),null)).field("right",r("FlowType")),r("DeclareTypeAlias").bases("TypeAlias").build("id","typeParameters","right"),r("OpaqueType").bases("Declaration").build("id","typeParameters","impltype","supertype").field("id",r("Identifier")).field("typeParameters",n(r("TypeParameterDeclaration"),null)).field("impltype",r("FlowType")).field("supertype",n(r("FlowType"),null)),r("DeclareOpaqueType").bases("OpaqueType").build("id","typeParameters","supertype").field("impltype",n(r("FlowType"),null)),r("TypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",r("Expression")).field("typeAnnotation",r("TypeAnnotation")),r("TupleTypeAnnotation").bases("FlowType").build("types").field("types",[r("FlowType")]),r("DeclareVariable").bases("Statement").build("id").field("id",r("Identifier")),r("DeclareFunction").bases("Statement").build("id").field("id",r("Identifier")).field("predicate",n(r("FlowPredicate"),null),i.null),r("DeclareClass").bases("InterfaceDeclaration").build("id"),r("DeclareModule").bases("Statement").build("id","body").field("id",n(r("Identifier"),r("Literal"))).field("body",r("BlockStatement")),r("DeclareModuleExports").bases("Statement").build("typeAnnotation").field("typeAnnotation",r("TypeAnnotation")),r("DeclareExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",n(r("DeclareVariable"),r("DeclareFunction"),r("DeclareClass"),r("FlowType"),r("TypeAlias"),r("DeclareOpaqueType"),r("InterfaceDeclaration"),null)).field("specifiers",[n(r("ExportSpecifier"),r("ExportBatchSpecifier"))],i.emptyArray).field("source",n(r("Literal"),null),i.null),r("DeclareExportAllDeclaration").bases("Declaration").build("source").field("source",n(r("Literal"),null),i.null),r("ImportDeclaration").field("importKind",n("value","type","typeof"),function(){return"value"}),r("FlowPredicate").bases("Flow"),r("InferredPredicate").bases("FlowPredicate").build(),r("DeclaredPredicate").bases("FlowPredicate").build("value").field("value",r("Expression")),r("Function").field("predicate",n(r("FlowPredicate"),null),i.null),r("CallExpression").field("typeArguments",n(null,r("TypeParameterInstantiation")),i.null),r("NewExpression").field("typeArguments",n(null,r("TypeParameterInstantiation")),i.null),r("EnumDeclaration").bases("Declaration").build("id","body").field("id",r("Identifier")).field("body",n(r("EnumBooleanBody"),r("EnumNumberBody"),r("EnumStringBody"),r("EnumSymbolBody"))),r("EnumBooleanBody").build("members","explicitType").field("members",[r("EnumBooleanMember")]).field("explicitType",Boolean),r("EnumNumberBody").build("members","explicitType").field("members",[r("EnumNumberMember")]).field("explicitType",Boolean),r("EnumStringBody").build("members","explicitType").field("members",n([r("EnumStringMember")],[r("EnumDefaultedMember")])).field("explicitType",Boolean),r("EnumSymbolBody").build("members").field("members",[r("EnumDefaultedMember")]),r("EnumBooleanMember").build("id","init").field("id",r("Identifier")).field("init",n(r("Literal"),Boolean)),r("EnumNumberMember").build("id","init").field("id",r("Identifier")).field("init",r("Literal")),r("EnumStringMember").build("id","init").field("id",r("Identifier")).field("init",r("Literal")),r("EnumDefaultedMember").build("id").field("id",r("Identifier"))}dxt.default=_br;(0,QBt.maybeSetModuleExports)(function(){return NBt})});var BBt=Le((kxt,PBt)=>{"use strict";Object.defineProperty(kxt,"__esModule",{value:!0});var mxt=(TR(),AR(cR)),hbr=mxt.__importDefault(zre()),fbr=mxt.__importDefault(l_()),wBt=mxt.__importStar(Oc());function dbr(e){e.use(hbr.default);var t=e.use(fbr.default),r=e.use(wBt.default).defaults,n=t.Type.def,i=t.Type.or;n("VariableDeclaration").field("declarations",[i(n("VariableDeclarator"),n("Identifier"))]),n("Property").field("value",i(n("Expression"),n("Pattern"))),n("ArrayPattern").field("elements",[i(n("Pattern"),n("SpreadElement"),null)]),n("ObjectPattern").field("properties",[i(n("Property"),n("PropertyPattern"),n("SpreadPropertyPattern"),n("SpreadProperty"))]),n("ExportSpecifier").bases("ModuleSpecifier").build("id","name"),n("ExportBatchSpecifier").bases("Specifier").build(),n("ExportDeclaration").bases("Declaration").build("default","declaration","specifiers","source").field("default",Boolean).field("declaration",i(n("Declaration"),n("Expression"),null)).field("specifiers",[i(n("ExportSpecifier"),n("ExportBatchSpecifier"))],r.emptyArray).field("source",i(n("Literal"),null),r.null),n("Block").bases("Comment").build("value","leading","trailing"),n("Line").bases("Comment").build("value","leading","trailing")}kxt.default=dbr;(0,wBt.maybeSetModuleExports)(function(){return PBt})});var Cxt=Le((qxt,MBt)=>{"use strict";Object.defineProperty(qxt,"__esModule",{value:!0});var yxt=(TR(),AR(cR)),xbr=yxt.__importDefault(zre()),mbr=yxt.__importDefault(l_()),IBt=yxt.__importStar(Oc());function kbr(e){var t,r,n,i,s;e.use(xbr.default);var R=e.use(mbr.default),l=e.use(IBt.default).defaults,c=R.Type.def,h=R.Type.or,_=R.builtInTypes.undefined;c("Noop").bases("Statement").build(),c("DoExpression").bases("Expression").build("body").field("body",[c("Statement")]),c("BindExpression").bases("Expression").build("object","callee").field("object",h(c("Expression"),null)).field("callee",c("Expression")),c("ParenthesizedExpression").bases("Expression").build("expression").field("expression",c("Expression")),c("ExportNamespaceSpecifier").bases("Specifier").build("exported").field("exported",c("Identifier")),c("ExportDefaultSpecifier").bases("Specifier").build("exported").field("exported",c("Identifier")),c("CommentBlock").bases("Comment").build("value","leading","trailing"),c("CommentLine").bases("Comment").build("value","leading","trailing"),c("Directive").bases("Node").build("value").field("value",c("DirectiveLiteral")),c("DirectiveLiteral").bases("Node","Expression").build("value").field("value",String,l["use strict"]),c("InterpreterDirective").bases("Node").build("value").field("value",String),c("BlockStatement").bases("Statement").build("body").field("body",[c("Statement")]).field("directives",[c("Directive")],l.emptyArray),c("Program").bases("Node").build("body").field("body",[c("Statement")]).field("directives",[c("Directive")],l.emptyArray).field("interpreter",h(c("InterpreterDirective"),null),l.null);function f(A,D){return A===void 0&&(A=String),["extra",{rawValue:A,raw:String},function(){var P=R.getFieldValue(this,"value");return{rawValue:P,raw:D?D(P):String(P)}}]}(t=c("StringLiteral").bases("Literal").build("value").field("value",String)).field.apply(t,f(String,function(A){return JSON.stringify(A)})),(r=c("NumericLiteral").bases("Literal").build("value").field("value",Number).field("raw",h(String,null),l.null)).field.apply(r,f(Number)),(n=c("BigIntLiteral").bases("Literal").build("value").field("value",h(String,Number))).field.apply(n,f(String,function(A){return A+"n"})),(i=c("DecimalLiteral").bases("Literal").build("value").field("value",String)).field.apply(i,f(String,function(A){return A+"m"})),c("NullLiteral").bases("Literal").build().field("value",null,l.null),c("BooleanLiteral").bases("Literal").build("value").field("value",Boolean),(s=c("RegExpLiteral").bases("Literal").build("pattern","flags").field("pattern",String).field("flags",String).field("value",RegExp,function(){return new RegExp(this.pattern,this.flags)})).field.apply(s,f(h(RegExp,_),function(A){return"/".concat(A.pattern,"/").concat(A.flags||"")})).field("regex",{pattern:String,flags:String},function(){return{pattern:this.pattern,flags:this.flags}});var m=h(c("Property"),c("ObjectMethod"),c("ObjectProperty"),c("SpreadProperty"),c("SpreadElement"));c("ObjectExpression").bases("Expression").build("properties").field("properties",[m]),c("ObjectMethod").bases("Node","Function").build("kind","key","params","body","computed").field("kind",h("method","get","set")).field("key",h(c("Literal"),c("Identifier"),c("Expression"))).field("params",[c("Pattern")]).field("body",c("BlockStatement")).field("computed",Boolean,l.false).field("generator",Boolean,l.false).field("async",Boolean,l.false).field("accessibility",h(c("Literal"),null),l.null).field("decorators",h([c("Decorator")],null),l.null),c("ObjectProperty").bases("Node").build("key","value").field("key",h(c("Literal"),c("Identifier"),c("Expression"))).field("value",h(c("Expression"),c("Pattern"))).field("accessibility",h(c("Literal"),null),l.null).field("computed",Boolean,l.false);var x=h(c("MethodDefinition"),c("VariableDeclarator"),c("ClassPropertyDefinition"),c("ClassProperty"),c("ClassPrivateProperty"),c("ClassMethod"),c("ClassPrivateMethod"),c("ClassAccessorProperty"),c("StaticBlock"));c("ClassBody").bases("Declaration").build("body").field("body",[x]),c("ClassMethod").bases("Declaration","Function").build("kind","key","params","body","computed","static").field("key",h(c("Literal"),c("Identifier"),c("Expression"))),c("ClassPrivateMethod").bases("Declaration","Function").build("key","params","body","kind","computed","static").field("key",c("PrivateName")),c("ClassAccessorProperty").bases("Declaration").build("key","value","decorators","computed","static").field("key",h(c("Literal"),c("Identifier"),c("PrivateName"),c("Expression"))).field("value",h(c("Expression"),null),l.null),["ClassMethod","ClassPrivateMethod"].forEach(function(A){c(A).field("kind",h("get","set","method","constructor"),function(){return"method"}).field("body",c("BlockStatement")).field("access",h("public","private","protected",null),l.null)}),["ClassMethod","ClassPrivateMethod","ClassAccessorProperty"].forEach(function(A){c(A).field("computed",Boolean,l.false).field("static",Boolean,l.false).field("abstract",Boolean,l.false).field("accessibility",h("public","private","protected",null),l.null).field("decorators",h([c("Decorator")],null),l.null).field("definite",Boolean,l.false).field("optional",Boolean,l.false).field("override",Boolean,l.false).field("readonly",Boolean,l.false)});var y=h(c("Property"),c("PropertyPattern"),c("SpreadPropertyPattern"),c("SpreadProperty"),c("ObjectProperty"),c("RestProperty"),c("RestElement"));c("ObjectPattern").bases("Pattern").build("properties").field("properties",[y]).field("decorators",h([c("Decorator")],null),l.null),c("SpreadProperty").bases("Node").build("argument").field("argument",c("Expression")),c("RestProperty").bases("Node").build("argument").field("argument",c("Expression")),c("ForAwaitStatement").bases("Statement").build("left","right","body").field("left",h(c("VariableDeclaration"),c("Expression"))).field("right",c("Expression")).field("body",c("Statement")),c("Import").bases("Expression").build()}qxt.default=kbr;(0,IBt.maybeSetModuleExports)(function(){return MBt})});var UBt=Le((gxt,WBt)=>{"use strict";Object.defineProperty(gxt,"__esModule",{value:!0});var Axt=(TR(),AR(cR)),ybr=Axt.__importDefault(l_()),qbr=Axt.__importDefault(Cxt()),Cbr=Axt.__importDefault(xxt()),Abr=Oc();function gbr(e){var t=e.use(ybr.default),r=t.Type.def;e.use(qbr.default),e.use(Cbr.default),r("V8IntrinsicIdentifier").bases("Expression").build("name").field("name",String),r("TopicReference").bases("Expression").build()}gxt.default=gbr;(0,Abr.maybeSetModuleExports)(function(){return WBt})});var zBt=Le((bxt,LBt)=>{"use strict";Object.defineProperty(bxt,"__esModule",{value:!0});var dke=(TR(),AR(cR)),bbr=dke.__importDefault(Cxt()),Ebr=dke.__importDefault(fxt()),Obr=dke.__importDefault(l_()),FBt=dke.__importStar(Oc());function vbr(e){e.use(bbr.default),e.use(Ebr.default);var t=e.use(Obr.default),r=t.namedTypes,n=t.Type.def,i=t.Type.or,s=e.use(FBt.default).defaults,R=t.Type.from(function(_,f){return!!(r.StringLiteral&&r.StringLiteral.check(_,f)||r.Literal&&r.Literal.check(_,f)&&typeof _.value=="string")},"StringLiteral");n("TSType").bases("Node");var l=i(n("Identifier"),n("TSQualifiedName"));n("TSTypeReference").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("typeName","typeParameters").field("typeName",l),n("TSHasOptionalTypeParameterInstantiation").field("typeParameters",i(n("TSTypeParameterInstantiation"),null),s.null),n("TSHasOptionalTypeParameters").field("typeParameters",i(n("TSTypeParameterDeclaration"),null,void 0),s.null),n("TSHasOptionalTypeAnnotation").field("typeAnnotation",i(n("TSTypeAnnotation"),null),s.null),n("TSQualifiedName").bases("Node").build("left","right").field("left",l).field("right",l),n("TSAsExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",n("Expression")).field("typeAnnotation",n("TSType")).field("extra",i({parenthesized:Boolean},null),s.null),n("TSTypeCastExpression").bases("Expression").build("expression","typeAnnotation").field("expression",n("Expression")).field("typeAnnotation",n("TSType")),n("TSSatisfiesExpression").bases("Expression","Pattern").build("expression","typeAnnotation").field("expression",n("Expression")).field("typeAnnotation",n("TSType")),n("TSNonNullExpression").bases("Expression","Pattern").build("expression").field("expression",n("Expression")),["TSAnyKeyword","TSBigIntKeyword","TSBooleanKeyword","TSNeverKeyword","TSNullKeyword","TSNumberKeyword","TSObjectKeyword","TSStringKeyword","TSSymbolKeyword","TSUndefinedKeyword","TSUnknownKeyword","TSVoidKeyword","TSIntrinsicKeyword","TSThisType"].forEach(function(_){n(_).bases("TSType").build()}),n("TSArrayType").bases("TSType").build("elementType").field("elementType",n("TSType")),n("TSLiteralType").bases("TSType").build("literal").field("literal",i(n("NumericLiteral"),n("StringLiteral"),n("BooleanLiteral"),n("TemplateLiteral"),n("UnaryExpression"),n("BigIntLiteral"))),n("TemplateLiteral").field("expressions",i([n("Expression")],[n("TSType")])),["TSUnionType","TSIntersectionType"].forEach(function(_){n(_).bases("TSType").build("types").field("types",[n("TSType")])}),n("TSConditionalType").bases("TSType").build("checkType","extendsType","trueType","falseType").field("checkType",n("TSType")).field("extendsType",n("TSType")).field("trueType",n("TSType")).field("falseType",n("TSType")),n("TSInferType").bases("TSType").build("typeParameter").field("typeParameter",n("TSTypeParameter")),n("TSParenthesizedType").bases("TSType").build("typeAnnotation").field("typeAnnotation",n("TSType"));var c=[i(n("Identifier"),n("RestElement"),n("ArrayPattern"),n("ObjectPattern"))];["TSFunctionType","TSConstructorType"].forEach(function(_){n(_).bases("TSType","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters").field("parameters",c)}),n("TSDeclareFunction").bases("Declaration","TSHasOptionalTypeParameters").build("id","params","returnType").field("declare",Boolean,s.false).field("async",Boolean,s.false).field("generator",Boolean,s.false).field("id",i(n("Identifier"),null),s.null).field("params",[n("Pattern")]).field("returnType",i(n("TSTypeAnnotation"),n("Noop"),null),s.null),n("TSDeclareMethod").bases("Declaration","TSHasOptionalTypeParameters").build("key","params","returnType").field("async",Boolean,s.false).field("generator",Boolean,s.false).field("params",[n("Pattern")]).field("abstract",Boolean,s.false).field("accessibility",i("public","private","protected",void 0),s.undefined).field("static",Boolean,s.false).field("computed",Boolean,s.false).field("optional",Boolean,s.false).field("key",i(n("Identifier"),n("StringLiteral"),n("NumericLiteral"),n("Expression"))).field("kind",i("get","set","method","constructor"),function(){return"method"}).field("access",i("public","private","protected",void 0),s.undefined).field("decorators",i([n("Decorator")],null),s.null).field("returnType",i(n("TSTypeAnnotation"),n("Noop"),null),s.null),n("TSMappedType").bases("TSType").build("typeParameter","typeAnnotation").field("readonly",i(Boolean,"+","-"),s.false).field("typeParameter",n("TSTypeParameter")).field("optional",i(Boolean,"+","-"),s.false).field("typeAnnotation",i(n("TSType"),null),s.null),n("TSTupleType").bases("TSType").build("elementTypes").field("elementTypes",[i(n("TSType"),n("TSNamedTupleMember"))]),n("TSNamedTupleMember").bases("TSType").build("label","elementType","optional").field("label",n("Identifier")).field("optional",Boolean,s.false).field("elementType",n("TSType")),n("TSRestType").bases("TSType").build("typeAnnotation").field("typeAnnotation",n("TSType")),n("TSOptionalType").bases("TSType").build("typeAnnotation").field("typeAnnotation",n("TSType")),n("TSIndexedAccessType").bases("TSType").build("objectType","indexType").field("objectType",n("TSType")).field("indexType",n("TSType")),n("TSTypeOperator").bases("TSType").build("operator").field("operator",String).field("typeAnnotation",n("TSType")),n("TSTypeAnnotation").bases("Node").build("typeAnnotation").field("typeAnnotation",i(n("TSType"),n("TSTypeAnnotation"))),n("TSIndexSignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",[n("Identifier")]).field("readonly",Boolean,s.false),n("TSPropertySignature").bases("Declaration","TSHasOptionalTypeAnnotation").build("key","typeAnnotation","optional").field("key",n("Expression")).field("computed",Boolean,s.false).field("readonly",Boolean,s.false).field("optional",Boolean,s.false).field("initializer",i(n("Expression"),null),s.null),n("TSMethodSignature").bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("key","parameters","typeAnnotation").field("key",n("Expression")).field("computed",Boolean,s.false).field("optional",Boolean,s.false).field("parameters",c),n("TSTypePredicate").bases("TSTypeAnnotation","TSType").build("parameterName","typeAnnotation","asserts").field("parameterName",i(n("Identifier"),n("TSThisType"))).field("typeAnnotation",i(n("TSTypeAnnotation"),null),s.null).field("asserts",Boolean,s.false),["TSCallSignatureDeclaration","TSConstructSignatureDeclaration"].forEach(function(_){n(_).bases("Declaration","TSHasOptionalTypeParameters","TSHasOptionalTypeAnnotation").build("parameters","typeAnnotation").field("parameters",c)}),n("TSEnumMember").bases("Node").build("id","initializer").field("id",i(n("Identifier"),R)).field("initializer",i(n("Expression"),null),s.null),n("TSTypeQuery").bases("TSType").build("exprName").field("exprName",i(l,n("TSImportType")));var h=i(n("TSCallSignatureDeclaration"),n("TSConstructSignatureDeclaration"),n("TSIndexSignature"),n("TSMethodSignature"),n("TSPropertySignature"));n("TSTypeLiteral").bases("TSType").build("members").field("members",[h]),n("TSTypeParameter").bases("Identifier").build("name","constraint","default").field("name",i(n("Identifier"),String)).field("constraint",i(n("TSType"),void 0),s.undefined).field("default",i(n("TSType"),void 0),s.undefined),n("TSTypeAssertion").bases("Expression","Pattern").build("typeAnnotation","expression").field("typeAnnotation",n("TSType")).field("expression",n("Expression")).field("extra",i({parenthesized:Boolean},null),s.null),n("TSTypeParameterDeclaration").bases("Declaration").build("params").field("params",[n("TSTypeParameter")]),n("TSInstantiationExpression").bases("Expression","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",n("Expression")),n("TSTypeParameterInstantiation").bases("Node").build("params").field("params",[n("TSType")]),n("TSEnumDeclaration").bases("Declaration").build("id","members").field("id",n("Identifier")).field("const",Boolean,s.false).field("declare",Boolean,s.false).field("members",[n("TSEnumMember")]).field("initializer",i(n("Expression"),null),s.null),n("TSTypeAliasDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","typeAnnotation").field("id",n("Identifier")).field("declare",Boolean,s.false).field("typeAnnotation",n("TSType")),n("TSModuleBlock").bases("Node").build("body").field("body",[n("Statement")]),n("TSModuleDeclaration").bases("Declaration").build("id","body").field("id",i(R,l)).field("declare",Boolean,s.false).field("global",Boolean,s.false).field("body",i(n("TSModuleBlock"),n("TSModuleDeclaration"),null),s.null),n("TSImportType").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("argument","qualifier","typeParameters").field("argument",R).field("qualifier",i(l,void 0),s.undefined),n("TSImportEqualsDeclaration").bases("Declaration").build("id","moduleReference").field("id",n("Identifier")).field("isExport",Boolean,s.false).field("moduleReference",i(l,n("TSExternalModuleReference"))),n("TSExternalModuleReference").bases("Declaration").build("expression").field("expression",R),n("TSExportAssignment").bases("Statement").build("expression").field("expression",n("Expression")),n("TSNamespaceExportDeclaration").bases("Declaration").build("id").field("id",n("Identifier")),n("TSInterfaceBody").bases("Node").build("body").field("body",[h]),n("TSExpressionWithTypeArguments").bases("TSType","TSHasOptionalTypeParameterInstantiation").build("expression","typeParameters").field("expression",l),n("TSInterfaceDeclaration").bases("Declaration","TSHasOptionalTypeParameters").build("id","body").field("id",l).field("declare",Boolean,s.false).field("extends",i([n("TSExpressionWithTypeArguments")],null),s.null).field("body",n("TSInterfaceBody")),n("TSParameterProperty").bases("Pattern").build("parameter").field("accessibility",i("public","private","protected",void 0),s.undefined).field("readonly",Boolean,s.false).field("parameter",i(n("Identifier"),n("AssignmentPattern"))),n("ClassProperty").field("access",i("public","private","protected",void 0),s.undefined),n("ClassAccessorProperty").bases("Declaration","TSHasOptionalTypeAnnotation"),n("ClassBody").field("body",[i(n("MethodDefinition"),n("VariableDeclarator"),n("ClassPropertyDefinition"),n("ClassProperty"),n("ClassPrivateProperty"),n("ClassAccessorProperty"),n("ClassMethod"),n("ClassPrivateMethod"),n("StaticBlock"),n("TSDeclareMethod"),h)])}bxt.default=vbr;(0,FBt.maybeSetModuleExports)(function(){return LBt})});var HBt=Le(ope=>{"use strict";Object.defineProperty(ope,"__esModule",{value:!0});ope.namedTypes=void 0;var Dbr;Dbr=ope.namedTypes||(ope.namedTypes={})});var $N=Le(PR=>{"use strict";Object.defineProperty(PR,"__esModule",{value:!0});PR.visit=PR.use=PR.Type=PR.someField=PR.PathVisitor=PR.Path=PR.NodePath=PR.namedTypes=PR.getSupertypeNames=PR.getFieldValue=PR.getFieldNames=PR.getBuilderName=PR.finalize=PR.eachField=PR.defineMethod=PR.builtInTypes=PR.builders=PR.astNodesAreEquivalent=void 0;var Vj=(TR(),AR(cR)),Sbr=Vj.__importDefault(YPt()),$br=Vj.__importDefault(zre()),Qbr=Vj.__importDefault(vBt()),Nbr=Vj.__importDefault(xxt()),wbr=Vj.__importDefault(BBt()),Pbr=Vj.__importDefault(UBt()),Bbr=Vj.__importDefault(zBt()),YBt=HBt();Object.defineProperty(PR,"namedTypes",{enumerable:!0,get:function(){return YBt.namedTypes}});var E7=(0,Sbr.default)([$br.default,Qbr.default,Nbr.default,wbr.default,Pbr.default,Bbr.default]),Ibr=E7.astNodesAreEquivalent,Mbr=E7.builders,Wbr=E7.builtInTypes,Ubr=E7.defineMethod,Fbr=E7.eachField,Lbr=E7.finalize,zbr=E7.getBuilderName,Hbr=E7.getFieldNames,Ybr=E7.getFieldValue,Kbr=E7.getSupertypeNames,Gbr=E7.namedTypes,Vbr=E7.NodePath,jbr=E7.Path,Jbr=E7.PathVisitor,Xbr=E7.someField,Zbr=E7.Type,eEr=E7.use,tEr=E7.visit;PR.astNodesAreEquivalent=Ibr;PR.builders=Mbr;PR.builtInTypes=Wbr;PR.defineMethod=Ubr;PR.eachField=Fbr;PR.finalize=Lbr;PR.getBuilderName=zbr;PR.getFieldNames=Hbr;PR.getFieldValue=Ybr;PR.getSupertypeNames=Kbr;PR.NodePath=Vbr;PR.Path=jbr;PR.PathVisitor=Jbr;PR.someField=Xbr;PR.Type=Zbr;PR.use=eEr;PR.visit=tEr;Object.assign(YBt.namedTypes,Gbr)});var QN=Le((iai,KBt)=>{"use strict";var rEr=process.env.NODE_ENV==="production",Ext="Invariant failed";function nEr(e,t){if(!e){if(rEr)throw new Error(Ext);var r=typeof t=="function"?t():t,n=r?"".concat(Ext,": ").concat(r):Ext;throw new Error(n)}}KBt.exports=nEr});var VBt=Le(Oxt=>{var GBt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");Oxt.encode=function(e){if(0<=e&&e{var jBt=VBt(),vxt=5,JBt=1<>1;return t?-r:r}Dxt.encode=function(t){var r="",n,i=iEr(t);do n=i&XBt,i>>>=vxt,i>0&&(n|=ZBt),r+=jBt.encode(n);while(i>0);return r};Dxt.decode=function(t,r,n){var i=t.length,s=0,R=0,l,c;do{if(r>=i)throw new Error("Expected more digits in base 64 VLQ value.");if(c=jBt.decode(t.charCodeAt(r++)),c===-1)throw new Error("Invalid base64 digit: "+t.charAt(r-1));l=!!(c&ZBt),c&=XBt,s=s+(c<{function sEr(e,t,r){if(t in e)return e[t];if(arguments.length===3)return r;throw new Error('"'+t+'" is a required argument.')}sy.getArg=sEr;var eIt=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,oEr=/^data:.+\,.+$/;function Rpe(e){var t=e.match(eIt);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}sy.urlParse=Rpe;function Hre(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}sy.urlGenerate=Hre;function $xt(e){var t=e,r=Rpe(e);if(r){if(!r.path)return e;t=r.path}for(var n=sy.isAbsolute(t),i=t.split(/\/+/),s,R=0,l=i.length-1;l>=0;l--)s=i[l],s==="."?i.splice(l,1):s===".."?R++:R>0&&(s===""?(i.splice(l+1,R),R=0):(i.splice(l,2),R--));return t=i.join("/"),t===""&&(t=n?"/":"."),r?(r.path=t,Hre(r)):t}sy.normalize=$xt;function tIt(e,t){e===""&&(e="."),t===""&&(t=".");var r=Rpe(t),n=Rpe(e);if(n&&(e=n.path||"/"),r&&!r.scheme)return n&&(r.scheme=n.scheme),Hre(r);if(r||t.match(oEr))return t;if(n&&!n.host&&!n.path)return n.host=t,Hre(n);var i=t.charAt(0)==="/"?t:$xt(e.replace(/\/+$/,"")+"/"+t);return n?(n.path=i,Hre(n)):i}sy.join=tIt;sy.isAbsolute=function(e){return e.charAt(0)==="/"||eIt.test(e)};function REr(e,t){e===""&&(e="."),e=e.replace(/\/$/,"");for(var r=0;t.indexOf(e+"/")!==0;){var n=e.lastIndexOf("/");if(n<0||(e=e.slice(0,n),e.match(/^([^\/]+:\/)?\/*$/)))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)}sy.relative=REr;var rIt=function(){var e=Object.create(null);return!("__proto__"in e)}();function nIt(e){return e}function uEr(e){return iIt(e)?"$"+e:e}sy.toSetString=rIt?nIt:uEr;function lEr(e){return iIt(e)?e.slice(1):e}sy.fromSetString=rIt?nIt:lEr;function iIt(e){if(!e)return!1;var t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(var r=t-10;r>=0;r--)if(e.charCodeAt(r)!==36)return!1;return!0}function cEr(e,t,r){var n=Yre(e.source,t.source);return n!==0||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0||r)||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=e.generatedLine-t.generatedLine,n!==0)?n:Yre(e.name,t.name)}sy.compareByOriginalPositions=cEr;function TEr(e,t,r){var n=e.generatedLine-t.generatedLine;return n!==0||(n=e.generatedColumn-t.generatedColumn,n!==0||r)||(n=Yre(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:Yre(e.name,t.name)}sy.compareByGeneratedPositionsDeflated=TEr;function Yre(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function pEr(e,t){var r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=Yre(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:Yre(e.name,t.name)}sy.compareByGeneratedPositionsInflated=pEr;function _Er(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}sy.parseSourceMapInput=_Er;function hEr(e,t,r){if(t=t||"",e&&(e[e.length-1]!=="/"&&t[0]!=="/"&&(e+="/"),t=e+t),r){var n=Rpe(r);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var i=n.path.lastIndexOf("/");i>=0&&(n.path=n.path.substring(0,i+1))}t=tIt(Hre(n),t)}return $xt(t)}sy.computeSourceURL=hEr});var wxt=Le(aIt=>{var Qxt=Kre(),Nxt=Object.prototype.hasOwnProperty,jj=typeof Map<"u";function NN(){this._array=[],this._set=jj?new Map:Object.create(null)}NN.fromArray=function(t,r){for(var n=new NN,i=0,s=t.length;i=0)return r}else{var n=Qxt.toSetString(t);if(Nxt.call(this._set,n))return this._set[n]}throw new Error('"'+t+'" is not in the set.')};NN.prototype.at=function(t){if(t>=0&&t{var sIt=Kre();function fEr(e,t){var r=e.generatedLine,n=t.generatedLine,i=e.generatedColumn,s=t.generatedColumn;return n>r||n==r&&s>=i||sIt.compareByGeneratedPositionsInflated(e,t)<=0}function xke(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}xke.prototype.unsortedForEach=function(t,r){this._array.forEach(t,r)};xke.prototype.add=function(t){fEr(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))};xke.prototype.toArray=function(){return this._sorted||(this._array.sort(sIt.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};oIt.MappingList=xke});var Pxt=Le(uIt=>{var upe=Sxt(),xx=Kre(),mke=wxt().ArraySet,dEr=RIt().MappingList;function W3(e){e||(e={}),this._file=xx.getArg(e,"file",null),this._sourceRoot=xx.getArg(e,"sourceRoot",null),this._skipValidation=xx.getArg(e,"skipValidation",!1),this._sources=new mke,this._names=new mke,this._mappings=new dEr,this._sourcesContents=null}W3.prototype._version=3;W3.fromSourceMap=function(t){var r=t.sourceRoot,n=new W3({file:t.file,sourceRoot:r});return t.eachMapping(function(i){var s={generated:{line:i.generatedLine,column:i.generatedColumn}};i.source!=null&&(s.source=i.source,r!=null&&(s.source=xx.relative(r,s.source)),s.original={line:i.originalLine,column:i.originalColumn},i.name!=null&&(s.name=i.name)),n.addMapping(s)}),t.sources.forEach(function(i){var s=i;r!==null&&(s=xx.relative(r,i)),n._sources.has(s)||n._sources.add(s);var R=t.sourceContentFor(i);R!=null&&n.setSourceContent(i,R)}),n};W3.prototype.addMapping=function(t){var r=xx.getArg(t,"generated"),n=xx.getArg(t,"original",null),i=xx.getArg(t,"source",null),s=xx.getArg(t,"name",null);this._skipValidation||this._validateMapping(r,n,i,s),i!=null&&(i=String(i),this._sources.has(i)||this._sources.add(i)),s!=null&&(s=String(s),this._names.has(s)||this._names.add(s)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n!=null&&n.line,originalColumn:n!=null&&n.column,source:i,name:s})};W3.prototype.setSourceContent=function(t,r){var n=t;this._sourceRoot!=null&&(n=xx.relative(this._sourceRoot,n)),r!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[xx.toSetString(n)]=r):this._sourcesContents&&(delete this._sourcesContents[xx.toSetString(n)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))};W3.prototype.applySourceMap=function(t,r,n){var i=r;if(r==null){if(t.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);i=t.file}var s=this._sourceRoot;s!=null&&(i=xx.relative(s,i));var R=new mke,l=new mke;this._mappings.unsortedForEach(function(c){if(c.source===i&&c.originalLine!=null){var h=t.originalPositionFor({line:c.originalLine,column:c.originalColumn});h.source!=null&&(c.source=h.source,n!=null&&(c.source=xx.join(n,c.source)),s!=null&&(c.source=xx.relative(s,c.source)),c.originalLine=h.line,c.originalColumn=h.column,h.name!=null&&(c.name=h.name))}var _=c.source;_!=null&&!R.has(_)&&R.add(_);var f=c.name;f!=null&&!l.has(f)&&l.add(f)},this),this._sources=R,this._names=l,t.sources.forEach(function(c){var h=t.sourceContentFor(c);h!=null&&(n!=null&&(c=xx.join(n,c)),s!=null&&(c=xx.relative(s,c)),this.setSourceContent(c,h))},this)};W3.prototype._validateMapping=function(t,r,n,i){if(r&&typeof r.line!="number"&&typeof r.column!="number")throw new Error("original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.");if(!(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!r&&!n&&!i)){if(t&&"line"in t&&"column"in t&&r&&"line"in r&&"column"in r&&t.line>0&&t.column>=0&&r.line>0&&r.column>=0&&n)return;throw new Error("Invalid mapping: "+JSON.stringify({generated:t,source:n,original:r,name:i}))}};W3.prototype._serializeMappings=function(){for(var t=0,r=1,n=0,i=0,s=0,R=0,l="",c,h,_,f,m=this._mappings.toArray(),x=0,y=m.length;x0){if(!xx.compareByGeneratedPositionsInflated(h,m[x-1]))continue;c+=","}c+=upe.encode(h.generatedColumn-t),t=h.generatedColumn,h.source!=null&&(f=this._sources.indexOf(h.source),c+=upe.encode(f-R),R=f,c+=upe.encode(h.originalLine-1-i),i=h.originalLine-1,c+=upe.encode(h.originalColumn-n),n=h.originalColumn,h.name!=null&&(_=this._names.indexOf(h.name),c+=upe.encode(_-s),s=_)),l+=c}return l};W3.prototype._generateSourcesContent=function(t,r){return t.map(function(n){if(!this._sourcesContents)return null;r!=null&&(n=xx.relative(r,n));var i=xx.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,i)?this._sourcesContents[i]:null},this)};W3.prototype.toJSON=function(){var t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t};W3.prototype.toString=function(){return JSON.stringify(this.toJSON())};uIt.SourceMapGenerator=W3});var lIt=Le(Jj=>{Jj.GREATEST_LOWER_BOUND=1;Jj.LEAST_UPPER_BOUND=2;function Bxt(e,t,r,n,i,s){var R=Math.floor((t-e)/2)+e,l=i(r,n[R],!0);return l===0?R:l>0?t-R>1?Bxt(R,t,r,n,i,s):s==Jj.LEAST_UPPER_BOUND?t1?Bxt(e,R,r,n,i,s):s==Jj.LEAST_UPPER_BOUND?R:e<0?-1:e}Jj.search=function(t,r,n,i){if(r.length===0)return-1;var s=Bxt(-1,r.length,t,r,n,i||Jj.GREATEST_LOWER_BOUND);if(s<0)return-1;for(;s-1>=0&&n(r[s],r[s-1],!0)===0;)--s;return s}});var TIt=Le(cIt=>{function Ixt(e,t,r){var n=e[t];e[t]=e[r],e[r]=n}function xEr(e,t){return Math.round(e+Math.random()*(t-e))}function Mxt(e,t,r,n){if(r{var to=Kre(),Wxt=lIt(),Gre=wxt().ArraySet,mEr=Sxt(),lpe=TIt().quickSort;function B1(e,t){var r=e;return typeof e=="string"&&(r=to.parseSourceMapInput(e)),r.sections!=null?new WE(r,t):new Bm(r,t)}B1.fromSourceMap=function(e,t){return Bm.fromSourceMap(e,t)};B1.prototype._version=3;B1.prototype.__generatedMappings=null;Object.defineProperty(B1.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}});B1.prototype.__originalMappings=null;Object.defineProperty(B1.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}});B1.prototype._charIsMappingSeparator=function(t,r){var n=t.charAt(r);return n===";"||n===","};B1.prototype._parseMappings=function(t,r){throw new Error("Subclasses must implement _parseMappings")};B1.GENERATED_ORDER=1;B1.ORIGINAL_ORDER=2;B1.GREATEST_LOWER_BOUND=1;B1.LEAST_UPPER_BOUND=2;B1.prototype.eachMapping=function(t,r,n){var i=r||null,s=n||B1.GENERATED_ORDER,R;switch(s){case B1.GENERATED_ORDER:R=this._generatedMappings;break;case B1.ORIGINAL_ORDER:R=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}var l=this.sourceRoot;R.map(function(c){var h=c.source===null?null:this._sources.at(c.source);return h=to.computeSourceURL(l,h,this._sourceMapURL),{source:h,generatedLine:c.generatedLine,generatedColumn:c.generatedColumn,originalLine:c.originalLine,originalColumn:c.originalColumn,name:c.name===null?null:this._names.at(c.name)}},this).forEach(t,i)};B1.prototype.allGeneratedPositionsFor=function(t){var r=to.getArg(t,"line"),n={source:to.getArg(t,"source"),originalLine:r,originalColumn:to.getArg(t,"column",0)};if(n.source=this._findSourceIndex(n.source),n.source<0)return[];var i=[],s=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",to.compareByOriginalPositions,Wxt.LEAST_UPPER_BOUND);if(s>=0){var R=this._originalMappings[s];if(t.column===void 0)for(var l=R.originalLine;R&&R.originalLine===l;)i.push({line:to.getArg(R,"generatedLine",null),column:to.getArg(R,"generatedColumn",null),lastColumn:to.getArg(R,"lastGeneratedColumn",null)}),R=this._originalMappings[++s];else for(var c=R.originalColumn;R&&R.originalLine===r&&R.originalColumn==c;)i.push({line:to.getArg(R,"generatedLine",null),column:to.getArg(R,"generatedColumn",null),lastColumn:to.getArg(R,"lastGeneratedColumn",null)}),R=this._originalMappings[++s]}return i};kke.SourceMapConsumer=B1;function Bm(e,t){var r=e;typeof e=="string"&&(r=to.parseSourceMapInput(e));var n=to.getArg(r,"version"),i=to.getArg(r,"sources"),s=to.getArg(r,"names",[]),R=to.getArg(r,"sourceRoot",null),l=to.getArg(r,"sourcesContent",null),c=to.getArg(r,"mappings"),h=to.getArg(r,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);R&&(R=to.normalize(R)),i=i.map(String).map(to.normalize).map(function(_){return R&&to.isAbsolute(R)&&to.isAbsolute(_)?to.relative(R,_):_}),this._names=Gre.fromArray(s.map(String),!0),this._sources=Gre.fromArray(i,!0),this._absoluteSources=this._sources.toArray().map(function(_){return to.computeSourceURL(R,_,t)}),this.sourceRoot=R,this.sourcesContent=l,this._mappings=c,this._sourceMapURL=t,this.file=h}Bm.prototype=Object.create(B1.prototype);Bm.prototype.consumer=B1;Bm.prototype._findSourceIndex=function(e){var t=e;if(this.sourceRoot!=null&&(t=to.relative(this.sourceRoot,t)),this._sources.has(t))return this._sources.indexOf(t);var r;for(r=0;r1&&(A.source=l+S[1],l+=S[1],A.originalLine=s+S[2],s=A.originalLine,A.originalLine+=1,A.originalColumn=R+S[3],R=A.originalColumn,S.length>4&&(A.name=c+S[4],c+=S[4])),y.push(A),typeof A.originalLine=="number"&&x.push(A)}lpe(y,to.compareByGeneratedPositionsDeflated),this.__generatedMappings=y,lpe(x,to.compareByOriginalPositions),this.__originalMappings=x};Bm.prototype._findMapping=function(t,r,n,i,s,R){if(t[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+t[n]);if(t[i]<0)throw new TypeError("Column must be greater than or equal to 0, got "+t[i]);return Wxt.search(t,r,s,R)};Bm.prototype.computeColumnSpans=function(){for(var t=0;t=0){var i=this._generatedMappings[n];if(i.generatedLine===r.generatedLine){var s=to.getArg(i,"source",null);s!==null&&(s=this._sources.at(s),s=to.computeSourceURL(this.sourceRoot,s,this._sourceMapURL));var R=to.getArg(i,"name",null);return R!==null&&(R=this._names.at(R)),{source:s,line:to.getArg(i,"originalLine",null),column:to.getArg(i,"originalColumn",null),name:R}}}return{source:null,line:null,column:null,name:null}};Bm.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(t){return t==null}):!1};Bm.prototype.sourceContentFor=function(t,r){if(!this.sourcesContent)return null;var n=this._findSourceIndex(t);if(n>=0)return this.sourcesContent[n];var i=t;this.sourceRoot!=null&&(i=to.relative(this.sourceRoot,i));var s;if(this.sourceRoot!=null&&(s=to.urlParse(this.sourceRoot))){var R=i.replace(/^file:\/\//,"");if(s.scheme=="file"&&this._sources.has(R))return this.sourcesContent[this._sources.indexOf(R)];if((!s.path||s.path=="/")&&this._sources.has("/"+i))return this.sourcesContent[this._sources.indexOf("/"+i)]}if(r)return null;throw new Error('"'+i+'" is not in the SourceMap.')};Bm.prototype.generatedPositionFor=function(t){var r=to.getArg(t,"source");if(r=this._findSourceIndex(r),r<0)return{line:null,column:null,lastColumn:null};var n={source:r,originalLine:to.getArg(t,"line"),originalColumn:to.getArg(t,"column")},i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",to.compareByOriginalPositions,to.getArg(t,"bias",B1.GREATEST_LOWER_BOUND));if(i>=0){var s=this._originalMappings[i];if(s.source===n.source)return{line:to.getArg(s,"generatedLine",null),column:to.getArg(s,"generatedColumn",null),lastColumn:to.getArg(s,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};kke.BasicSourceMapConsumer=Bm;function WE(e,t){var r=e;typeof e=="string"&&(r=to.parseSourceMapInput(e));var n=to.getArg(r,"version"),i=to.getArg(r,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new Gre,this._names=new Gre;var s={line:-1,column:0};this._sections=i.map(function(R){if(R.url)throw new Error("Support for url field in sections not implemented.");var l=to.getArg(R,"offset"),c=to.getArg(l,"line"),h=to.getArg(l,"column");if(c{var kEr=Pxt().SourceMapGenerator,yke=Kre(),yEr=/(\r?\n)/,qEr=10,Vre="$$$isSourceNode$$$";function _A(e,t,r,n,i){this.children=[],this.sourceContents={},this.line=e??null,this.column=t??null,this.source=r??null,this.name=i??null,this[Vre]=!0,n!=null&&this.add(n)}_A.fromStringWithSourceMap=function(t,r,n){var i=new _A,s=t.split(yEr),R=0,l=function(){var m=y(),x=y()||"";return m+x;function y(){return R=0;r--)this.prepend(t[r]);else if(t[Vre]||typeof t=="string")this.children.unshift(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};_A.prototype.walk=function(t){for(var r,n=0,i=this.children.length;n0){for(r=[],n=0;n{qke.SourceMapGenerator=Pxt().SourceMapGenerator;qke.SourceMapConsumer=_It().SourceMapConsumer;qke.SourceNode=fIt().SourceNode});var Vv=Le(i1=>{"use strict";Object.defineProperty(i1,"__esModule",{value:!0});i1.isTrailingCommaEnabled=i1.getParentExportDeclaration=i1.isExportDeclaration=i1.fixFaultyLocations=i1.getTrueLoc=i1.composeSourceMaps=i1.copyPos=i1.comparePos=i1.getUnionOfKeys=i1.getOption=i1.isBrowser=i1.getLineTerminator=void 0;var Lxt=(TR(),AR(cR)),cpe=Lxt.__importDefault(QN()),CEr=Lxt.__importStar($N()),Cke=CEr.namedTypes,xIt=Lxt.__importDefault(Uxt()),dIt=xIt.default.SourceMapConsumer,AEr=xIt.default.SourceMapGenerator,mIt=Object.prototype.hasOwnProperty;function gEr(){return kIt()?` +`:Li("os").EOL||` +`}i1.getLineTerminator=gEr;function kIt(){return typeof window<"u"&&typeof window.document<"u"}i1.isBrowser=kIt;function bEr(e,t,r){return e&&mIt.call(e,t)?e[t]:r}i1.getOption=bEr;function EEr(){for(var e=[],t=0;t{(function(t,r){typeof Tpe=="object"&&typeof zxt=="object"?zxt.exports=r():typeof define=="function"&&define.amd?define([],r):typeof Tpe=="object"?Tpe.esprima=r():t.esprima=r()})(Tpe,function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,r),i.loaded=!0,i.exports}return r.m=e,r.c=t,r.p="",r(0)}([function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(1),i=r(3),s=r(8),R=r(15);function l(m,x,y){var A=null,D=function(G,ee){y&&y(G,ee),A&&A.visit(G,ee)},S=typeof y=="function"?D:null,P=!1;if(x){P=typeof x.comment=="boolean"&&x.comment;var M=typeof x.attachComment=="boolean"&&x.attachComment;(P||M)&&(A=new n.CommentHandler,A.attach=M,x.comment=!0,S=D)}var U=!1;x&&typeof x.sourceType=="string"&&(U=x.sourceType==="module");var w;x&&typeof x.jsx=="boolean"&&x.jsx?w=new i.JSXParser(m,x,S):w=new s.Parser(m,x,S);var F=U?w.parseModule():w.parseScript(),H=F;return P&&A&&(H.comments=A.comments),w.config.tokens&&(H.tokens=w.tokens),w.config.tolerant&&(H.errors=w.errorHandler.errors),H}t.parse=l;function c(m,x,y){var A=x||{};return A.sourceType="module",l(m,A,y)}t.parseModule=c;function h(m,x,y){var A=x||{};return A.sourceType="script",l(m,A,y)}t.parseScript=h;function _(m,x,y){var A=new R.Tokenizer(m,x),D;D=[];try{for(;;){var S=A.getNextToken();if(!S)break;y&&(S=y(S)),D.push(S)}}catch(P){A.errorHandler.tolerate(P)}return A.errorHandler.tolerant&&(D.errors=A.errors()),D}t.tokenize=_;var f=r(2);t.Syntax=f.Syntax,t.version="4.0.1"},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(2),i=function(){function s(){this.attach=!1,this.comments=[],this.stack=[],this.leading=[],this.trailing=[]}return s.prototype.insertInnerComments=function(R,l){if(R.type===n.Syntax.BlockStatement&&R.body.length===0){for(var c=[],h=this.leading.length-1;h>=0;--h){var _=this.leading[h];l.end.offset>=_.start&&(c.unshift(_.comment),this.leading.splice(h,1),this.trailing.splice(h,1))}c.length&&(R.innerComments=c)}},s.prototype.findTrailingComments=function(R){var l=[];if(this.trailing.length>0){for(var c=this.trailing.length-1;c>=0;--c){var h=this.trailing[c];h.start>=R.end.offset&&l.unshift(h.comment)}return this.trailing.length=0,l}var _=this.stack[this.stack.length-1];if(_&&_.node.trailingComments){var f=_.node.trailingComments[0];f&&f.range[0]>=R.end.offset&&(l=_.node.trailingComments,delete _.node.trailingComments)}return l},s.prototype.findLeadingComments=function(R){for(var l=[],c;this.stack.length>0;){var h=this.stack[this.stack.length-1];if(h&&h.start>=R.start.offset)c=h.node,this.stack.pop();else break}if(c){for(var _=c.leadingComments?c.leadingComments.length:0,f=_-1;f>=0;--f){var m=c.leadingComments[f];m.range[1]<=R.start.offset&&(l.unshift(m),c.leadingComments.splice(f,1))}return c.leadingComments&&c.leadingComments.length===0&&delete c.leadingComments,l}for(var f=this.leading.length-1;f>=0;--f){var h=this.leading[f];h.start<=R.start.offset&&(l.unshift(h.comment),this.leading.splice(f,1))}return l},s.prototype.visitNode=function(R,l){if(!(R.type===n.Syntax.Program&&R.body.length>0)){this.insertInnerComments(R,l);var c=this.findTrailingComments(l),h=this.findLeadingComments(l);h.length>0&&(R.leadingComments=h),c.length>0&&(R.trailingComments=c),this.stack.push({node:R,start:l.start.offset})}},s.prototype.visitComment=function(R,l){var c=R.type[0]==="L"?"Line":"Block",h={type:c,value:R.value};if(R.range&&(h.range=R.range),R.loc&&(h.loc=R.loc),this.comments.push(h),this.attach){var _={comment:{type:c,value:R.value,range:[l.start.offset,l.end.offset]},start:l.start.offset};R.loc&&(_.comment.loc=R.loc),R.type=c,this.leading.push(_),this.trailing.push(_)}},s.prototype.visit=function(R,l){R.type==="LineComment"?this.visitComment(R,l):R.type==="BlockComment"?this.visitComment(R,l):this.attach&&this.visitNode(R,l)},s}();t.CommentHandler=i},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Syntax={AssignmentExpression:"AssignmentExpression",AssignmentPattern:"AssignmentPattern",ArrayExpression:"ArrayExpression",ArrayPattern:"ArrayPattern",ArrowFunctionExpression:"ArrowFunctionExpression",AwaitExpression:"AwaitExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ClassBody:"ClassBody",ClassDeclaration:"ClassDeclaration",ClassExpression:"ClassExpression",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExportAllDeclaration:"ExportAllDeclaration",ExportDefaultDeclaration:"ExportDefaultDeclaration",ExportNamedDeclaration:"ExportNamedDeclaration",ExportSpecifier:"ExportSpecifier",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForOfStatement:"ForOfStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",ImportDeclaration:"ImportDeclaration",ImportDefaultSpecifier:"ImportDefaultSpecifier",ImportNamespaceSpecifier:"ImportNamespaceSpecifier",ImportSpecifier:"ImportSpecifier",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",MetaProperty:"MetaProperty",MethodDefinition:"MethodDefinition",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",ObjectPattern:"ObjectPattern",Program:"Program",Property:"Property",RestElement:"RestElement",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SpreadElement:"SpreadElement",Super:"Super",SwitchCase:"SwitchCase",SwitchStatement:"SwitchStatement",TaggedTemplateExpression:"TaggedTemplateExpression",TemplateElement:"TemplateElement",TemplateLiteral:"TemplateLiteral",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement",YieldExpression:"YieldExpression"}},function(e,t,r){"use strict";var n=this&&this.__extends||function(){var x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(y,A){y.__proto__=A}||function(y,A){for(var D in A)A.hasOwnProperty(D)&&(y[D]=A[D])};return function(y,A){x(y,A);function D(){this.constructor=y}y.prototype=A===null?Object.create(A):(D.prototype=A.prototype,new D)}}();Object.defineProperty(t,"__esModule",{value:!0});var i=r(4),s=r(5),R=r(6),l=r(7),c=r(8),h=r(13),_=r(14);h.TokenName[100]="JSXIdentifier",h.TokenName[101]="JSXText";function f(x){var y;switch(x.type){case R.JSXSyntax.JSXIdentifier:var A=x;y=A.name;break;case R.JSXSyntax.JSXNamespacedName:var D=x;y=f(D.namespace)+":"+f(D.name);break;case R.JSXSyntax.JSXMemberExpression:var S=x;y=f(S.object)+"."+f(S.property);break;default:break}return y}var m=function(x){n(y,x);function y(A,D,S){return x.call(this,A,D,S)||this}return y.prototype.parsePrimaryExpression=function(){return this.match("<")?this.parseJSXRoot():x.prototype.parsePrimaryExpression.call(this)},y.prototype.startJSX=function(){this.scanner.index=this.startMarker.index,this.scanner.lineNumber=this.startMarker.line,this.scanner.lineStart=this.startMarker.index-this.startMarker.column},y.prototype.finishJSX=function(){this.nextToken()},y.prototype.reenterJSX=function(){this.startJSX(),this.expectJSX("}"),this.config.tokens&&this.tokens.pop()},y.prototype.createJSXNode=function(){return this.collectComments(),{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},y.prototype.createJSXChildNode=function(){return{index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}},y.prototype.scanXHTMLEntity=function(A){for(var D="&",S=!0,P=!1,M=!1,U=!1;!this.scanner.eof()&&S&&!P;){var w=this.scanner.source[this.scanner.index];if(w===A)break;if(P=w===";",D+=w,++this.scanner.index,!P)switch(D.length){case 2:M=w==="#";break;case 3:M&&(U=w==="x",S=U||i.Character.isDecimalDigit(w.charCodeAt(0)),M=M&&!U);break;default:S=S&&!(M&&!i.Character.isDecimalDigit(w.charCodeAt(0))),S=S&&!(U&&!i.Character.isHexDigit(w.charCodeAt(0)));break}}if(S&&P&&D.length>2){var F=D.substr(1,D.length-2);M&&F.length>1?D=String.fromCharCode(parseInt(F.substr(1),10)):U&&F.length>2?D=String.fromCharCode(parseInt("0"+F.substr(1),16)):!M&&!U&&_.XHTMLEntities[F]&&(D=_.XHTMLEntities[F])}return D},y.prototype.lexJSX=function(){var A=this.scanner.source.charCodeAt(this.scanner.index);if(A===60||A===62||A===47||A===58||A===61||A===123||A===125){var D=this.scanner.source[this.scanner.index++];return{type:7,value:D,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index-1,end:this.scanner.index}}if(A===34||A===39){for(var S=this.scanner.index,P=this.scanner.source[this.scanner.index++],M="";!this.scanner.eof();){var U=this.scanner.source[this.scanner.index++];if(U===P)break;U==="&"?M+=this.scanXHTMLEntity(P):M+=U}return{type:8,value:M,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:S,end:this.scanner.index}}if(A===46){var w=this.scanner.source.charCodeAt(this.scanner.index+1),F=this.scanner.source.charCodeAt(this.scanner.index+2),D=w===46&&F===46?"...":".",S=this.scanner.index;return this.scanner.index+=D.length,{type:7,value:D,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:S,end:this.scanner.index}}if(A===96)return{type:10,value:"",lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:this.scanner.index,end:this.scanner.index};if(i.Character.isIdentifierStart(A)&&A!==92){var S=this.scanner.index;for(++this.scanner.index;!this.scanner.eof();){var U=this.scanner.source.charCodeAt(this.scanner.index);if(i.Character.isIdentifierPart(U)&&U!==92)++this.scanner.index;else if(U===45)++this.scanner.index;else break}var H=this.scanner.source.slice(S,this.scanner.index);return{type:100,value:H,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:S,end:this.scanner.index}}return this.scanner.lex()},y.prototype.nextJSXToken=function(){this.collectComments(),this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;var A=this.lexJSX();return this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.config.tokens&&this.tokens.push(this.convertToken(A)),A},y.prototype.nextJSXText=function(){this.startMarker.index=this.scanner.index,this.startMarker.line=this.scanner.lineNumber,this.startMarker.column=this.scanner.index-this.scanner.lineStart;for(var A=this.scanner.index,D="";!this.scanner.eof();){var S=this.scanner.source[this.scanner.index];if(S==="{"||S==="<")break;++this.scanner.index,D+=S,i.Character.isLineTerminator(S.charCodeAt(0))&&(++this.scanner.lineNumber,S==="\r"&&this.scanner.source[this.scanner.index]===` +`&&++this.scanner.index,this.scanner.lineStart=this.scanner.index)}this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart;var P={type:101,value:D,lineNumber:this.scanner.lineNumber,lineStart:this.scanner.lineStart,start:A,end:this.scanner.index};return D.length>0&&this.config.tokens&&this.tokens.push(this.convertToken(P)),P},y.prototype.peekJSXToken=function(){var A=this.scanner.saveState();this.scanner.scanComments();var D=this.lexJSX();return this.scanner.restoreState(A),D},y.prototype.expectJSX=function(A){var D=this.nextJSXToken();(D.type!==7||D.value!==A)&&this.throwUnexpectedToken(D)},y.prototype.matchJSX=function(A){var D=this.peekJSXToken();return D.type===7&&D.value===A},y.prototype.parseJSXIdentifier=function(){var A=this.createJSXNode(),D=this.nextJSXToken();return D.type!==100&&this.throwUnexpectedToken(D),this.finalize(A,new s.JSXIdentifier(D.value))},y.prototype.parseJSXElementName=function(){var A=this.createJSXNode(),D=this.parseJSXIdentifier();if(this.matchJSX(":")){var S=D;this.expectJSX(":");var P=this.parseJSXIdentifier();D=this.finalize(A,new s.JSXNamespacedName(S,P))}else if(this.matchJSX("."))for(;this.matchJSX(".");){var M=D;this.expectJSX(".");var U=this.parseJSXIdentifier();D=this.finalize(A,new s.JSXMemberExpression(M,U))}return D},y.prototype.parseJSXAttributeName=function(){var A=this.createJSXNode(),D,S=this.parseJSXIdentifier();if(this.matchJSX(":")){var P=S;this.expectJSX(":");var M=this.parseJSXIdentifier();D=this.finalize(A,new s.JSXNamespacedName(P,M))}else D=S;return D},y.prototype.parseJSXStringLiteralAttribute=function(){var A=this.createJSXNode(),D=this.nextJSXToken();D.type!==8&&this.throwUnexpectedToken(D);var S=this.getTokenRaw(D);return this.finalize(A,new l.Literal(D.value,S))},y.prototype.parseJSXExpressionAttribute=function(){var A=this.createJSXNode();this.expectJSX("{"),this.finishJSX(),this.match("}")&&this.tolerateError("JSX attributes must only be assigned a non-empty expression");var D=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(A,new s.JSXExpressionContainer(D))},y.prototype.parseJSXAttributeValue=function(){return this.matchJSX("{")?this.parseJSXExpressionAttribute():this.matchJSX("<")?this.parseJSXElement():this.parseJSXStringLiteralAttribute()},y.prototype.parseJSXNameValueAttribute=function(){var A=this.createJSXNode(),D=this.parseJSXAttributeName(),S=null;return this.matchJSX("=")&&(this.expectJSX("="),S=this.parseJSXAttributeValue()),this.finalize(A,new s.JSXAttribute(D,S))},y.prototype.parseJSXSpreadAttribute=function(){var A=this.createJSXNode();this.expectJSX("{"),this.expectJSX("..."),this.finishJSX();var D=this.parseAssignmentExpression();return this.reenterJSX(),this.finalize(A,new s.JSXSpreadAttribute(D))},y.prototype.parseJSXAttributes=function(){for(var A=[];!this.matchJSX("/")&&!this.matchJSX(">");){var D=this.matchJSX("{")?this.parseJSXSpreadAttribute():this.parseJSXNameValueAttribute();A.push(D)}return A},y.prototype.parseJSXOpeningElement=function(){var A=this.createJSXNode();this.expectJSX("<");var D=this.parseJSXElementName(),S=this.parseJSXAttributes(),P=this.matchJSX("/");return P&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(A,new s.JSXOpeningElement(D,P,S))},y.prototype.parseJSXBoundaryElement=function(){var A=this.createJSXNode();if(this.expectJSX("<"),this.matchJSX("/")){this.expectJSX("/");var D=this.parseJSXElementName();return this.expectJSX(">"),this.finalize(A,new s.JSXClosingElement(D))}var S=this.parseJSXElementName(),P=this.parseJSXAttributes(),M=this.matchJSX("/");return M&&this.expectJSX("/"),this.expectJSX(">"),this.finalize(A,new s.JSXOpeningElement(S,M,P))},y.prototype.parseJSXEmptyExpression=function(){var A=this.createJSXChildNode();return this.collectComments(),this.lastMarker.index=this.scanner.index,this.lastMarker.line=this.scanner.lineNumber,this.lastMarker.column=this.scanner.index-this.scanner.lineStart,this.finalize(A,new s.JSXEmptyExpression)},y.prototype.parseJSXExpressionContainer=function(){var A=this.createJSXNode();this.expectJSX("{");var D;return this.matchJSX("}")?(D=this.parseJSXEmptyExpression(),this.expectJSX("}")):(this.finishJSX(),D=this.parseAssignmentExpression(),this.reenterJSX()),this.finalize(A,new s.JSXExpressionContainer(D))},y.prototype.parseJSXChildren=function(){for(var A=[];!this.scanner.eof();){var D=this.createJSXChildNode(),S=this.nextJSXText();if(S.start0){var U=this.finalize(A.node,new s.JSXElement(A.opening,A.children,A.closing));A=D[D.length-1],A.children.push(U),D.pop()}else break}}return A},y.prototype.parseJSXElement=function(){var A=this.createJSXNode(),D=this.parseJSXOpeningElement(),S=[],P=null;if(!D.selfClosing){var M=this.parseComplexJSXElement({node:A,opening:D,closing:P,children:S});S=M.children,P=M.closing}return this.finalize(A,new s.JSXElement(D,S,P))},y.prototype.parseJSXRoot=function(){this.config.tokens&&this.tokens.pop(),this.startJSX();var A=this.parseJSXElement();return this.finishJSX(),A},y.prototype.isStartOfExpression=function(){return x.prototype.isStartOfExpression.call(this)||this.match("<")},y}(c.Parser);t.JSXParser=m},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r={NonAsciiIdentifierStart:/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]/,NonAsciiIdentifierPart:/[\xAA\xB5\xB7\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1369-\u1371\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFC-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AD\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C4\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF30-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDEC0-\uDEF8]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F]|\uD82C[\uDC00\uDC01]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/};t.Character={fromCodePoint:function(n){return n<65536?String.fromCharCode(n):String.fromCharCode(55296+(n-65536>>10))+String.fromCharCode(56320+(n-65536&1023))},isWhiteSpace:function(n){return n===32||n===9||n===11||n===12||n===160||n>=5760&&[5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8239,8287,12288,65279].indexOf(n)>=0},isLineTerminator:function(n){return n===10||n===13||n===8232||n===8233},isIdentifierStart:function(n){return n===36||n===95||n>=65&&n<=90||n>=97&&n<=122||n===92||n>=128&&r.NonAsciiIdentifierStart.test(t.Character.fromCodePoint(n))},isIdentifierPart:function(n){return n===36||n===95||n>=65&&n<=90||n>=97&&n<=122||n>=48&&n<=57||n===92||n>=128&&r.NonAsciiIdentifierPart.test(t.Character.fromCodePoint(n))},isDecimalDigit:function(n){return n>=48&&n<=57},isHexDigit:function(n){return n>=48&&n<=57||n>=65&&n<=70||n>=97&&n<=102},isOctalDigit:function(n){return n>=48&&n<=55}}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(6),i=function(){function A(D){this.type=n.JSXSyntax.JSXClosingElement,this.name=D}return A}();t.JSXClosingElement=i;var s=function(){function A(D,S,P){this.type=n.JSXSyntax.JSXElement,this.openingElement=D,this.children=S,this.closingElement=P}return A}();t.JSXElement=s;var R=function(){function A(){this.type=n.JSXSyntax.JSXEmptyExpression}return A}();t.JSXEmptyExpression=R;var l=function(){function A(D){this.type=n.JSXSyntax.JSXExpressionContainer,this.expression=D}return A}();t.JSXExpressionContainer=l;var c=function(){function A(D){this.type=n.JSXSyntax.JSXIdentifier,this.name=D}return A}();t.JSXIdentifier=c;var h=function(){function A(D,S){this.type=n.JSXSyntax.JSXMemberExpression,this.object=D,this.property=S}return A}();t.JSXMemberExpression=h;var _=function(){function A(D,S){this.type=n.JSXSyntax.JSXAttribute,this.name=D,this.value=S}return A}();t.JSXAttribute=_;var f=function(){function A(D,S){this.type=n.JSXSyntax.JSXNamespacedName,this.namespace=D,this.name=S}return A}();t.JSXNamespacedName=f;var m=function(){function A(D,S,P){this.type=n.JSXSyntax.JSXOpeningElement,this.name=D,this.selfClosing=S,this.attributes=P}return A}();t.JSXOpeningElement=m;var x=function(){function A(D){this.type=n.JSXSyntax.JSXSpreadAttribute,this.argument=D}return A}();t.JSXSpreadAttribute=x;var y=function(){function A(D,S){this.type=n.JSXSyntax.JSXText,this.value=D,this.raw=S}return A}();t.JSXText=y},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.JSXSyntax={JSXAttribute:"JSXAttribute",JSXClosingElement:"JSXClosingElement",JSXElement:"JSXElement",JSXEmptyExpression:"JSXEmptyExpression",JSXExpressionContainer:"JSXExpressionContainer",JSXIdentifier:"JSXIdentifier",JSXMemberExpression:"JSXMemberExpression",JSXNamespacedName:"JSXNamespacedName",JSXOpeningElement:"JSXOpeningElement",JSXSpreadAttribute:"JSXSpreadAttribute",JSXText:"JSXText"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(2),i=function(){function Jr(Mr){this.type=n.Syntax.ArrayExpression,this.elements=Mr}return Jr}();t.ArrayExpression=i;var s=function(){function Jr(Mr){this.type=n.Syntax.ArrayPattern,this.elements=Mr}return Jr}();t.ArrayPattern=s;var R=function(){function Jr(Mr,An,Ar){this.type=n.Syntax.ArrowFunctionExpression,this.id=null,this.params=Mr,this.body=An,this.generator=!1,this.expression=Ar,this.async=!1}return Jr}();t.ArrowFunctionExpression=R;var l=function(){function Jr(Mr,An,Ar){this.type=n.Syntax.AssignmentExpression,this.operator=Mr,this.left=An,this.right=Ar}return Jr}();t.AssignmentExpression=l;var c=function(){function Jr(Mr,An){this.type=n.Syntax.AssignmentPattern,this.left=Mr,this.right=An}return Jr}();t.AssignmentPattern=c;var h=function(){function Jr(Mr,An,Ar){this.type=n.Syntax.ArrowFunctionExpression,this.id=null,this.params=Mr,this.body=An,this.generator=!1,this.expression=Ar,this.async=!0}return Jr}();t.AsyncArrowFunctionExpression=h;var _=function(){function Jr(Mr,An,Ar){this.type=n.Syntax.FunctionDeclaration,this.id=Mr,this.params=An,this.body=Ar,this.generator=!1,this.expression=!1,this.async=!0}return Jr}();t.AsyncFunctionDeclaration=_;var f=function(){function Jr(Mr,An,Ar){this.type=n.Syntax.FunctionExpression,this.id=Mr,this.params=An,this.body=Ar,this.generator=!1,this.expression=!1,this.async=!0}return Jr}();t.AsyncFunctionExpression=f;var m=function(){function Jr(Mr){this.type=n.Syntax.AwaitExpression,this.argument=Mr}return Jr}();t.AwaitExpression=m;var x=function(){function Jr(Mr,An,Ar){var nn=Mr==="||"||Mr==="&&";this.type=nn?n.Syntax.LogicalExpression:n.Syntax.BinaryExpression,this.operator=Mr,this.left=An,this.right=Ar}return Jr}();t.BinaryExpression=x;var y=function(){function Jr(Mr){this.type=n.Syntax.BlockStatement,this.body=Mr}return Jr}();t.BlockStatement=y;var A=function(){function Jr(Mr){this.type=n.Syntax.BreakStatement,this.label=Mr}return Jr}();t.BreakStatement=A;var D=function(){function Jr(Mr,An){this.type=n.Syntax.CallExpression,this.callee=Mr,this.arguments=An}return Jr}();t.CallExpression=D;var S=function(){function Jr(Mr,An){this.type=n.Syntax.CatchClause,this.param=Mr,this.body=An}return Jr}();t.CatchClause=S;var P=function(){function Jr(Mr){this.type=n.Syntax.ClassBody,this.body=Mr}return Jr}();t.ClassBody=P;var M=function(){function Jr(Mr,An,Ar){this.type=n.Syntax.ClassDeclaration,this.id=Mr,this.superClass=An,this.body=Ar}return Jr}();t.ClassDeclaration=M;var U=function(){function Jr(Mr,An,Ar){this.type=n.Syntax.ClassExpression,this.id=Mr,this.superClass=An,this.body=Ar}return Jr}();t.ClassExpression=U;var w=function(){function Jr(Mr,An){this.type=n.Syntax.MemberExpression,this.computed=!0,this.object=Mr,this.property=An}return Jr}();t.ComputedMemberExpression=w;var F=function(){function Jr(Mr,An,Ar){this.type=n.Syntax.ConditionalExpression,this.test=Mr,this.consequent=An,this.alternate=Ar}return Jr}();t.ConditionalExpression=F;var H=function(){function Jr(Mr){this.type=n.Syntax.ContinueStatement,this.label=Mr}return Jr}();t.ContinueStatement=H;var G=function(){function Jr(){this.type=n.Syntax.DebuggerStatement}return Jr}();t.DebuggerStatement=G;var ee=function(){function Jr(Mr,An){this.type=n.Syntax.ExpressionStatement,this.expression=Mr,this.directive=An}return Jr}();t.Directive=ee;var fe=function(){function Jr(Mr,An){this.type=n.Syntax.DoWhileStatement,this.body=Mr,this.test=An}return Jr}();t.DoWhileStatement=fe;var me=function(){function Jr(){this.type=n.Syntax.EmptyStatement}return Jr}();t.EmptyStatement=me;var ve=function(){function Jr(Mr){this.type=n.Syntax.ExportAllDeclaration,this.source=Mr}return Jr}();t.ExportAllDeclaration=ve;var Ae=function(){function Jr(Mr){this.type=n.Syntax.ExportDefaultDeclaration,this.declaration=Mr}return Jr}();t.ExportDefaultDeclaration=Ae;var Ue=function(){function Jr(Mr,An,Ar){this.type=n.Syntax.ExportNamedDeclaration,this.declaration=Mr,this.specifiers=An,this.source=Ar}return Jr}();t.ExportNamedDeclaration=Ue;var Ee=function(){function Jr(Mr,An){this.type=n.Syntax.ExportSpecifier,this.exported=An,this.local=Mr}return Jr}();t.ExportSpecifier=Ee;var Me=function(){function Jr(Mr){this.type=n.Syntax.ExpressionStatement,this.expression=Mr}return Jr}();t.ExpressionStatement=Me;var gt=function(){function Jr(Mr,An,Ar){this.type=n.Syntax.ForInStatement,this.left=Mr,this.right=An,this.body=Ar,this.each=!1}return Jr}();t.ForInStatement=gt;var xt=function(){function Jr(Mr,An,Ar){this.type=n.Syntax.ForOfStatement,this.left=Mr,this.right=An,this.body=Ar}return Jr}();t.ForOfStatement=xt;var Nt=function(){function Jr(Mr,An,Ar,nn){this.type=n.Syntax.ForStatement,this.init=Mr,this.test=An,this.update=Ar,this.body=nn}return Jr}();t.ForStatement=Nt;var lt=function(){function Jr(Mr,An,Ar,nn){this.type=n.Syntax.FunctionDeclaration,this.id=Mr,this.params=An,this.body=Ar,this.generator=nn,this.expression=!1,this.async=!1}return Jr}();t.FunctionDeclaration=lt;var at=function(){function Jr(Mr,An,Ar,nn){this.type=n.Syntax.FunctionExpression,this.id=Mr,this.params=An,this.body=Ar,this.generator=nn,this.expression=!1,this.async=!1}return Jr}();t.FunctionExpression=at;var _t=function(){function Jr(Mr){this.type=n.Syntax.Identifier,this.name=Mr}return Jr}();t.Identifier=_t;var Ve=function(){function Jr(Mr,An,Ar){this.type=n.Syntax.IfStatement,this.test=Mr,this.consequent=An,this.alternate=Ar}return Jr}();t.IfStatement=Ve;var Dt=function(){function Jr(Mr,An){this.type=n.Syntax.ImportDeclaration,this.specifiers=Mr,this.source=An}return Jr}();t.ImportDeclaration=Dt;var Ut=function(){function Jr(Mr){this.type=n.Syntax.ImportDefaultSpecifier,this.local=Mr}return Jr}();t.ImportDefaultSpecifier=Ut;var pt=function(){function Jr(Mr){this.type=n.Syntax.ImportNamespaceSpecifier,this.local=Mr}return Jr}();t.ImportNamespaceSpecifier=pt;var ht=function(){function Jr(Mr,An){this.type=n.Syntax.ImportSpecifier,this.local=Mr,this.imported=An}return Jr}();t.ImportSpecifier=ht;var He=function(){function Jr(Mr,An){this.type=n.Syntax.LabeledStatement,this.label=Mr,this.body=An}return Jr}();t.LabeledStatement=He;var jt=function(){function Jr(Mr,An){this.type=n.Syntax.Literal,this.value=Mr,this.raw=An}return Jr}();t.Literal=jt;var zr=function(){function Jr(Mr,An){this.type=n.Syntax.MetaProperty,this.meta=Mr,this.property=An}return Jr}();t.MetaProperty=zr;var Bn=function(){function Jr(Mr,An,Ar,nn,On){this.type=n.Syntax.MethodDefinition,this.key=Mr,this.computed=An,this.value=Ar,this.kind=nn,this.static=On}return Jr}();t.MethodDefinition=Bn;var an=function(){function Jr(Mr){this.type=n.Syntax.Program,this.body=Mr,this.sourceType="module"}return Jr}();t.Module=an;var ri=function(){function Jr(Mr,An){this.type=n.Syntax.NewExpression,this.callee=Mr,this.arguments=An}return Jr}();t.NewExpression=ri;var Zr=function(){function Jr(Mr){this.type=n.Syntax.ObjectExpression,this.properties=Mr}return Jr}();t.ObjectExpression=Zr;var bn=function(){function Jr(Mr){this.type=n.Syntax.ObjectPattern,this.properties=Mr}return Jr}();t.ObjectPattern=bn;var Zn=function(){function Jr(Mr,An,Ar,nn,On,bi){this.type=n.Syntax.Property,this.key=An,this.computed=Ar,this.value=nn,this.kind=Mr,this.method=On,this.shorthand=bi}return Jr}();t.Property=Zn;var mi=function(){function Jr(Mr,An,Ar,nn){this.type=n.Syntax.Literal,this.value=Mr,this.raw=An,this.regex={pattern:Ar,flags:nn}}return Jr}();t.RegexLiteral=mi;var Sn=function(){function Jr(Mr){this.type=n.Syntax.RestElement,this.argument=Mr}return Jr}();t.RestElement=Sn;var $i=function(){function Jr(Mr){this.type=n.Syntax.ReturnStatement,this.argument=Mr}return Jr}();t.ReturnStatement=$i;var cs=function(){function Jr(Mr){this.type=n.Syntax.Program,this.body=Mr,this.sourceType="script"}return Jr}();t.Script=cs;var Ti=function(){function Jr(Mr){this.type=n.Syntax.SequenceExpression,this.expressions=Mr}return Jr}();t.SequenceExpression=Ti;var Wi=function(){function Jr(Mr){this.type=n.Syntax.SpreadElement,this.argument=Mr}return Jr}();t.SpreadElement=Wi;var Fn=function(){function Jr(Mr,An){this.type=n.Syntax.MemberExpression,this.computed=!1,this.object=Mr,this.property=An}return Jr}();t.StaticMemberExpression=Fn;var Hi=function(){function Jr(){this.type=n.Syntax.Super}return Jr}();t.Super=Hi;var Ma=function(){function Jr(Mr,An){this.type=n.Syntax.SwitchCase,this.test=Mr,this.consequent=An}return Jr}();t.SwitchCase=Ma;var mt=function(){function Jr(Mr,An){this.type=n.Syntax.SwitchStatement,this.discriminant=Mr,this.cases=An}return Jr}();t.SwitchStatement=mt;var ot=function(){function Jr(Mr,An){this.type=n.Syntax.TaggedTemplateExpression,this.tag=Mr,this.quasi=An}return Jr}();t.TaggedTemplateExpression=ot;var Je=function(){function Jr(Mr,An){this.type=n.Syntax.TemplateElement,this.value=Mr,this.tail=An}return Jr}();t.TemplateElement=Je;var Ct=function(){function Jr(Mr,An){this.type=n.Syntax.TemplateLiteral,this.quasis=Mr,this.expressions=An}return Jr}();t.TemplateLiteral=Ct;var Pt=function(){function Jr(){this.type=n.Syntax.ThisExpression}return Jr}();t.ThisExpression=Pt;var Zt=function(){function Jr(Mr){this.type=n.Syntax.ThrowStatement,this.argument=Mr}return Jr}();t.ThrowStatement=Zt;var dr=function(){function Jr(Mr,An,Ar){this.type=n.Syntax.TryStatement,this.block=Mr,this.handler=An,this.finalizer=Ar}return Jr}();t.TryStatement=dr;var vr=function(){function Jr(Mr,An){this.type=n.Syntax.UnaryExpression,this.operator=Mr,this.argument=An,this.prefix=!0}return Jr}();t.UnaryExpression=vr;var ln=function(){function Jr(Mr,An,Ar){this.type=n.Syntax.UpdateExpression,this.operator=Mr,this.argument=An,this.prefix=Ar}return Jr}();t.UpdateExpression=ln;var Mn=function(){function Jr(Mr,An){this.type=n.Syntax.VariableDeclaration,this.declarations=Mr,this.kind=An}return Jr}();t.VariableDeclaration=Mn;var li=function(){function Jr(Mr,An){this.type=n.Syntax.VariableDeclarator,this.id=Mr,this.init=An}return Jr}();t.VariableDeclarator=li;var Pi=function(){function Jr(Mr,An){this.type=n.Syntax.WhileStatement,this.test=Mr,this.body=An}return Jr}();t.WhileStatement=Pi;var Ss=function(){function Jr(Mr,An){this.type=n.Syntax.WithStatement,this.object=Mr,this.body=An}return Jr}();t.WithStatement=Ss;var Ca=function(){function Jr(Mr,An){this.type=n.Syntax.YieldExpression,this.argument=Mr,this.delegate=An}return Jr}();t.YieldExpression=Ca},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(9),i=r(10),s=r(11),R=r(7),l=r(12),c=r(2),h=r(13),_="ArrowParameterPlaceHolder",f=function(){function m(x,y,A){y===void 0&&(y={}),this.config={range:typeof y.range=="boolean"&&y.range,loc:typeof y.loc=="boolean"&&y.loc,source:null,tokens:typeof y.tokens=="boolean"&&y.tokens,comment:typeof y.comment=="boolean"&&y.comment,tolerant:typeof y.tolerant=="boolean"&&y.tolerant},this.config.loc&&y.source&&y.source!==null&&(this.config.source=String(y.source)),this.delegate=A,this.errorHandler=new i.ErrorHandler,this.errorHandler.tolerant=this.config.tolerant,this.scanner=new l.Scanner(x,this.errorHandler),this.scanner.trackComment=this.config.comment,this.operatorPrecedence={")":0,";":0,",":0,"=":0,"]":0,"||":1,"&&":2,"|":3,"^":4,"&":5,"==":6,"!=":6,"===":6,"!==":6,"<":7,">":7,"<=":7,">=":7,"<<":8,">>":8,">>>":8,"+":9,"-":9,"*":11,"/":11,"%":11},this.lookahead={type:2,value:"",lineNumber:this.scanner.lineNumber,lineStart:0,start:0,end:0},this.hasLineTerminator=!1,this.context={isModule:!1,await:!1,allowIn:!0,allowStrictDirective:!0,allowYield:!0,firstCoverInitializedNameError:null,isAssignmentTarget:!1,isBindingElement:!1,inFunctionBody:!1,inIteration:!1,inSwitch:!1,labelSet:{},strict:!1},this.tokens=[],this.startMarker={index:0,line:this.scanner.lineNumber,column:0},this.lastMarker={index:0,line:this.scanner.lineNumber,column:0},this.nextToken(),this.lastMarker={index:this.scanner.index,line:this.scanner.lineNumber,column:this.scanner.index-this.scanner.lineStart}}return m.prototype.throwError=function(x){for(var y=[],A=1;A0&&this.delegate)for(var y=0;y>="||x===">>>="||x==="&="||x==="^="||x==="|="},m.prototype.isolateCoverGrammar=function(x){var y=this.context.isBindingElement,A=this.context.isAssignmentTarget,D=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var S=x.call(this);return this.context.firstCoverInitializedNameError!==null&&this.throwUnexpectedToken(this.context.firstCoverInitializedNameError),this.context.isBindingElement=y,this.context.isAssignmentTarget=A,this.context.firstCoverInitializedNameError=D,S},m.prototype.inheritCoverGrammar=function(x){var y=this.context.isBindingElement,A=this.context.isAssignmentTarget,D=this.context.firstCoverInitializedNameError;this.context.isBindingElement=!0,this.context.isAssignmentTarget=!0,this.context.firstCoverInitializedNameError=null;var S=x.call(this);return this.context.isBindingElement=this.context.isBindingElement&&y,this.context.isAssignmentTarget=this.context.isAssignmentTarget&&A,this.context.firstCoverInitializedNameError=D||this.context.firstCoverInitializedNameError,S},m.prototype.consumeSemicolon=function(){this.match(";")?this.nextToken():this.hasLineTerminator||(this.lookahead.type!==2&&!this.match("}")&&this.throwUnexpectedToken(this.lookahead),this.lastMarker.index=this.startMarker.index,this.lastMarker.line=this.startMarker.line,this.lastMarker.column=this.startMarker.column)},m.prototype.parsePrimaryExpression=function(){var x=this.createNode(),y,A,D;switch(this.lookahead.type){case 3:(this.context.isModule||this.context.await)&&this.lookahead.value==="await"&&this.tolerateUnexpectedToken(this.lookahead),y=this.matchAsyncFunction()?this.parseFunctionExpression():this.finalize(x,new R.Identifier(this.nextToken().value));break;case 6:case 8:this.context.strict&&this.lookahead.octal&&this.tolerateUnexpectedToken(this.lookahead,s.Messages.StrictOctalLiteral),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,A=this.nextToken(),D=this.getTokenRaw(A),y=this.finalize(x,new R.Literal(A.value,D));break;case 1:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,A=this.nextToken(),D=this.getTokenRaw(A),y=this.finalize(x,new R.Literal(A.value==="true",D));break;case 5:this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,A=this.nextToken(),D=this.getTokenRaw(A),y=this.finalize(x,new R.Literal(null,D));break;case 10:y=this.parseTemplateLiteral();break;case 7:switch(this.lookahead.value){case"(":this.context.isBindingElement=!1,y=this.inheritCoverGrammar(this.parseGroupExpression);break;case"[":y=this.inheritCoverGrammar(this.parseArrayInitializer);break;case"{":y=this.inheritCoverGrammar(this.parseObjectInitializer);break;case"/":case"/=":this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.scanner.index=this.startMarker.index,A=this.nextRegexToken(),D=this.getTokenRaw(A),y=this.finalize(x,new R.RegexLiteral(A.regex,D,A.pattern,A.flags));break;default:y=this.throwUnexpectedToken(this.nextToken())}break;case 4:!this.context.strict&&this.context.allowYield&&this.matchKeyword("yield")?y=this.parseIdentifierName():!this.context.strict&&this.matchKeyword("let")?y=this.finalize(x,new R.Identifier(this.nextToken().value)):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.matchKeyword("function")?y=this.parseFunctionExpression():this.matchKeyword("this")?(this.nextToken(),y=this.finalize(x,new R.ThisExpression)):this.matchKeyword("class")?y=this.parseClassExpression():y=this.throwUnexpectedToken(this.nextToken()));break;default:y=this.throwUnexpectedToken(this.nextToken())}return y},m.prototype.parseSpreadElement=function(){var x=this.createNode();this.expect("...");var y=this.inheritCoverGrammar(this.parseAssignmentExpression);return this.finalize(x,new R.SpreadElement(y))},m.prototype.parseArrayInitializer=function(){var x=this.createNode(),y=[];for(this.expect("[");!this.match("]");)if(this.match(","))this.nextToken(),y.push(null);else if(this.match("...")){var A=this.parseSpreadElement();this.match("]")||(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1,this.expect(",")),y.push(A)}else y.push(this.inheritCoverGrammar(this.parseAssignmentExpression)),this.match("]")||this.expect(",");return this.expect("]"),this.finalize(x,new R.ArrayExpression(y))},m.prototype.parsePropertyMethod=function(x){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var y=this.context.strict,A=this.context.allowStrictDirective;this.context.allowStrictDirective=x.simple;var D=this.isolateCoverGrammar(this.parseFunctionSourceElements);return this.context.strict&&x.firstRestricted&&this.tolerateUnexpectedToken(x.firstRestricted,x.message),this.context.strict&&x.stricted&&this.tolerateUnexpectedToken(x.stricted,x.message),this.context.strict=y,this.context.allowStrictDirective=A,D},m.prototype.parsePropertyMethodFunction=function(){var x=!1,y=this.createNode(),A=this.context.allowYield;this.context.allowYield=!0;var D=this.parseFormalParameters(),S=this.parsePropertyMethod(D);return this.context.allowYield=A,this.finalize(y,new R.FunctionExpression(null,D.params,S,x))},m.prototype.parsePropertyMethodAsyncFunction=function(){var x=this.createNode(),y=this.context.allowYield,A=this.context.await;this.context.allowYield=!1,this.context.await=!0;var D=this.parseFormalParameters(),S=this.parsePropertyMethod(D);return this.context.allowYield=y,this.context.await=A,this.finalize(x,new R.AsyncFunctionExpression(null,D.params,S))},m.prototype.parseObjectPropertyKey=function(){var x=this.createNode(),y=this.nextToken(),A;switch(y.type){case 8:case 6:this.context.strict&&y.octal&&this.tolerateUnexpectedToken(y,s.Messages.StrictOctalLiteral);var D=this.getTokenRaw(y);A=this.finalize(x,new R.Literal(y.value,D));break;case 3:case 1:case 5:case 4:A=this.finalize(x,new R.Identifier(y.value));break;case 7:y.value==="["?(A=this.isolateCoverGrammar(this.parseAssignmentExpression),this.expect("]")):A=this.throwUnexpectedToken(y);break;default:A=this.throwUnexpectedToken(y)}return A},m.prototype.isPropertyKey=function(x,y){return x.type===c.Syntax.Identifier&&x.name===y||x.type===c.Syntax.Literal&&x.value===y},m.prototype.parseObjectProperty=function(x){var y=this.createNode(),A=this.lookahead,D,S=null,P=null,M=!1,U=!1,w=!1,F=!1;if(A.type===3){var H=A.value;this.nextToken(),M=this.match("["),F=!this.hasLineTerminator&&H==="async"&&!this.match(":")&&!this.match("(")&&!this.match("*")&&!this.match(","),S=F?this.parseObjectPropertyKey():this.finalize(y,new R.Identifier(H))}else this.match("*")?this.nextToken():(M=this.match("["),S=this.parseObjectPropertyKey());var G=this.qualifiedPropertyName(this.lookahead);if(A.type===3&&!F&&A.value==="get"&&G)D="get",M=this.match("["),S=this.parseObjectPropertyKey(),this.context.allowYield=!1,P=this.parseGetterMethod();else if(A.type===3&&!F&&A.value==="set"&&G)D="set",M=this.match("["),S=this.parseObjectPropertyKey(),P=this.parseSetterMethod();else if(A.type===7&&A.value==="*"&&G)D="init",M=this.match("["),S=this.parseObjectPropertyKey(),P=this.parseGeneratorMethod(),U=!0;else if(S||this.throwUnexpectedToken(this.lookahead),D="init",this.match(":")&&!F)!M&&this.isPropertyKey(S,"__proto__")&&(x.value&&this.tolerateError(s.Messages.DuplicateProtoProperty),x.value=!0),this.nextToken(),P=this.inheritCoverGrammar(this.parseAssignmentExpression);else if(this.match("("))P=F?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),U=!0;else if(A.type===3){var H=this.finalize(y,new R.Identifier(A.value));if(this.match("=")){this.context.firstCoverInitializedNameError=this.lookahead,this.nextToken(),w=!0;var ee=this.isolateCoverGrammar(this.parseAssignmentExpression);P=this.finalize(y,new R.AssignmentPattern(H,ee))}else w=!0,P=H}else this.throwUnexpectedToken(this.nextToken());return this.finalize(y,new R.Property(D,S,M,P,U,w))},m.prototype.parseObjectInitializer=function(){var x=this.createNode();this.expect("{");for(var y=[],A={value:!1};!this.match("}");)y.push(this.parseObjectProperty(A)),this.match("}")||this.expectCommaSeparator();return this.expect("}"),this.finalize(x,new R.ObjectExpression(y))},m.prototype.parseTemplateHead=function(){n.assert(this.lookahead.head,"Template literal must start with a template head");var x=this.createNode(),y=this.nextToken(),A=y.value,D=y.cooked;return this.finalize(x,new R.TemplateElement({raw:A,cooked:D},y.tail))},m.prototype.parseTemplateElement=function(){this.lookahead.type!==10&&this.throwUnexpectedToken();var x=this.createNode(),y=this.nextToken(),A=y.value,D=y.cooked;return this.finalize(x,new R.TemplateElement({raw:A,cooked:D},y.tail))},m.prototype.parseTemplateLiteral=function(){var x=this.createNode(),y=[],A=[],D=this.parseTemplateHead();for(A.push(D);!D.tail;)y.push(this.parseExpression()),D=this.parseTemplateElement(),A.push(D);return this.finalize(x,new R.TemplateLiteral(A,y))},m.prototype.reinterpretExpressionAsPattern=function(x){switch(x.type){case c.Syntax.Identifier:case c.Syntax.MemberExpression:case c.Syntax.RestElement:case c.Syntax.AssignmentPattern:break;case c.Syntax.SpreadElement:x.type=c.Syntax.RestElement,this.reinterpretExpressionAsPattern(x.argument);break;case c.Syntax.ArrayExpression:x.type=c.Syntax.ArrayPattern;for(var y=0;y")||this.expect("=>"),x={type:_,params:[],async:!1};else{var y=this.lookahead,A=[];if(this.match("..."))x=this.parseRestElement(A),this.expect(")"),this.match("=>")||this.expect("=>"),x={type:_,params:[x],async:!1};else{var D=!1;if(this.context.isBindingElement=!0,x=this.inheritCoverGrammar(this.parseAssignmentExpression),this.match(",")){var S=[];for(this.context.isAssignmentTarget=!1,S.push(x);this.lookahead.type!==2&&this.match(",");){if(this.nextToken(),this.match(")")){this.nextToken();for(var P=0;P")||this.expect("=>"),this.context.isBindingElement=!1;for(var P=0;P")&&(x.type===c.Syntax.Identifier&&x.name==="yield"&&(D=!0,x={type:_,params:[x],async:!1}),!D)){if(this.context.isBindingElement||this.throwUnexpectedToken(this.lookahead),x.type===c.Syntax.SequenceExpression)for(var P=0;P")){for(var U=0;U0){this.nextToken(),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;for(var S=[x,this.lookahead],P=y,M=this.isolateCoverGrammar(this.parseExponentiationExpression),U=[P,A.value,M],w=[D];D=this.binaryPrecedence(this.lookahead),!(D<=0);){for(;U.length>2&&D<=w[w.length-1];){M=U.pop();var F=U.pop();w.pop(),P=U.pop(),S.pop();var H=this.startNode(S[S.length-1]);U.push(this.finalize(H,new R.BinaryExpression(F,P,M)))}U.push(this.nextToken().value),w.push(D),S.push(this.lookahead),U.push(this.isolateCoverGrammar(this.parseExponentiationExpression))}var G=U.length-1;y=U[G];for(var ee=S.pop();G>1;){var fe=S.pop(),me=ee&&ee.lineStart,H=this.startNode(fe,me),F=U[G-1];y=this.finalize(H,new R.BinaryExpression(F,U[G-2],y)),G-=2,ee=fe}}return y},m.prototype.parseConditionalExpression=function(){var x=this.lookahead,y=this.inheritCoverGrammar(this.parseBinaryExpression);if(this.match("?")){this.nextToken();var A=this.context.allowIn;this.context.allowIn=!0;var D=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowIn=A,this.expect(":");var S=this.isolateCoverGrammar(this.parseAssignmentExpression);y=this.finalize(this.startNode(x),new R.ConditionalExpression(y,D,S)),this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1}return y},m.prototype.checkPatternParam=function(x,y){switch(y.type){case c.Syntax.Identifier:this.validateParam(x,y,y.name);break;case c.Syntax.RestElement:this.checkPatternParam(x,y.argument);break;case c.Syntax.AssignmentPattern:this.checkPatternParam(x,y.left);break;case c.Syntax.ArrayPattern:for(var A=0;A")){this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1;var S=x.async,P=this.reinterpretAsCoverFormalsList(x);if(P){this.hasLineTerminator&&this.tolerateUnexpectedToken(this.lookahead),this.context.firstCoverInitializedNameError=null;var M=this.context.strict,U=this.context.allowStrictDirective;this.context.allowStrictDirective=P.simple;var w=this.context.allowYield,F=this.context.await;this.context.allowYield=!0,this.context.await=S;var H=this.startNode(y);this.expect("=>");var G=void 0;if(this.match("{")){var ee=this.context.allowIn;this.context.allowIn=!0,G=this.parseFunctionSourceElements(),this.context.allowIn=ee}else G=this.isolateCoverGrammar(this.parseAssignmentExpression);var fe=G.type!==c.Syntax.BlockStatement;this.context.strict&&P.firstRestricted&&this.throwUnexpectedToken(P.firstRestricted,P.message),this.context.strict&&P.stricted&&this.tolerateUnexpectedToken(P.stricted,P.message),x=S?this.finalize(H,new R.AsyncArrowFunctionExpression(P.params,G,fe)):this.finalize(H,new R.ArrowFunctionExpression(P.params,G,fe)),this.context.strict=M,this.context.allowStrictDirective=U,this.context.allowYield=w,this.context.await=F}}else if(this.matchAssign()){if(this.context.isAssignmentTarget||this.tolerateError(s.Messages.InvalidLHSInAssignment),this.context.strict&&x.type===c.Syntax.Identifier){var me=x;this.scanner.isRestrictedWord(me.name)&&this.tolerateUnexpectedToken(A,s.Messages.StrictLHSAssignment),this.scanner.isStrictModeReservedWord(me.name)&&this.tolerateUnexpectedToken(A,s.Messages.StrictReservedWord)}this.match("=")?this.reinterpretExpressionAsPattern(x):(this.context.isAssignmentTarget=!1,this.context.isBindingElement=!1),A=this.nextToken();var ve=A.value,Ae=this.isolateCoverGrammar(this.parseAssignmentExpression);x=this.finalize(this.startNode(y),new R.AssignmentExpression(ve,x,Ae)),this.context.firstCoverInitializedNameError=null}}return x},m.prototype.parseExpression=function(){var x=this.lookahead,y=this.isolateCoverGrammar(this.parseAssignmentExpression);if(this.match(",")){var A=[];for(A.push(y);this.lookahead.type!==2&&this.match(",");)this.nextToken(),A.push(this.isolateCoverGrammar(this.parseAssignmentExpression));y=this.finalize(this.startNode(x),new R.SequenceExpression(A))}return y},m.prototype.parseStatementListItem=function(){var x;if(this.context.isAssignmentTarget=!0,this.context.isBindingElement=!0,this.lookahead.type===4)switch(this.lookahead.value){case"export":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,s.Messages.IllegalExportDeclaration),x=this.parseExportDeclaration();break;case"import":this.context.isModule||this.tolerateUnexpectedToken(this.lookahead,s.Messages.IllegalImportDeclaration),x=this.parseImportDeclaration();break;case"const":x=this.parseLexicalDeclaration({inFor:!1});break;case"function":x=this.parseFunctionDeclaration();break;case"class":x=this.parseClassDeclaration();break;case"let":x=this.isLexicalDeclaration()?this.parseLexicalDeclaration({inFor:!1}):this.parseStatement();break;default:x=this.parseStatement();break}else x=this.parseStatement();return x},m.prototype.parseBlock=function(){var x=this.createNode();this.expect("{");for(var y=[];!this.match("}");)y.push(this.parseStatementListItem());return this.expect("}"),this.finalize(x,new R.BlockStatement(y))},m.prototype.parseLexicalBinding=function(x,y){var A=this.createNode(),D=[],S=this.parsePattern(D,x);this.context.strict&&S.type===c.Syntax.Identifier&&this.scanner.isRestrictedWord(S.name)&&this.tolerateError(s.Messages.StrictVarName);var P=null;return x==="const"?!this.matchKeyword("in")&&!this.matchContextualKeyword("of")&&(this.match("=")?(this.nextToken(),P=this.isolateCoverGrammar(this.parseAssignmentExpression)):this.throwError(s.Messages.DeclarationMissingInitializer,"const")):(!y.inFor&&S.type!==c.Syntax.Identifier||this.match("="))&&(this.expect("="),P=this.isolateCoverGrammar(this.parseAssignmentExpression)),this.finalize(A,new R.VariableDeclarator(S,P))},m.prototype.parseBindingList=function(x,y){for(var A=[this.parseLexicalBinding(x,y)];this.match(",");)this.nextToken(),A.push(this.parseLexicalBinding(x,y));return A},m.prototype.isLexicalDeclaration=function(){var x=this.scanner.saveState();this.scanner.scanComments();var y=this.scanner.lex();return this.scanner.restoreState(x),y.type===3||y.type===7&&y.value==="["||y.type===7&&y.value==="{"||y.type===4&&y.value==="let"||y.type===4&&y.value==="yield"},m.prototype.parseLexicalDeclaration=function(x){var y=this.createNode(),A=this.nextToken().value;n.assert(A==="let"||A==="const","Lexical declaration must be either let or const");var D=this.parseBindingList(A,x);return this.consumeSemicolon(),this.finalize(y,new R.VariableDeclaration(D,A))},m.prototype.parseBindingRestElement=function(x,y){var A=this.createNode();this.expect("...");var D=this.parsePattern(x,y);return this.finalize(A,new R.RestElement(D))},m.prototype.parseArrayPattern=function(x,y){var A=this.createNode();this.expect("[");for(var D=[];!this.match("]");)if(this.match(","))this.nextToken(),D.push(null);else{if(this.match("...")){D.push(this.parseBindingRestElement(x,y));break}else D.push(this.parsePatternWithDefault(x,y));this.match("]")||this.expect(",")}return this.expect("]"),this.finalize(A,new R.ArrayPattern(D))},m.prototype.parsePropertyPattern=function(x,y){var A=this.createNode(),D=!1,S=!1,P=!1,M,U;if(this.lookahead.type===3){var w=this.lookahead;M=this.parseVariableIdentifier();var F=this.finalize(A,new R.Identifier(w.value));if(this.match("=")){x.push(w),S=!0,this.nextToken();var H=this.parseAssignmentExpression();U=this.finalize(this.startNode(w),new R.AssignmentPattern(F,H))}else this.match(":")?(this.expect(":"),U=this.parsePatternWithDefault(x,y)):(x.push(w),S=!0,U=F)}else D=this.match("["),M=this.parseObjectPropertyKey(),this.expect(":"),U=this.parsePatternWithDefault(x,y);return this.finalize(A,new R.Property("init",M,D,U,P,S))},m.prototype.parseObjectPattern=function(x,y){var A=this.createNode(),D=[];for(this.expect("{");!this.match("}");)D.push(this.parsePropertyPattern(x,y)),this.match("}")||this.expect(",");return this.expect("}"),this.finalize(A,new R.ObjectPattern(D))},m.prototype.parsePattern=function(x,y){var A;return this.match("[")?A=this.parseArrayPattern(x,y):this.match("{")?A=this.parseObjectPattern(x,y):(this.matchKeyword("let")&&(y==="const"||y==="let")&&this.tolerateUnexpectedToken(this.lookahead,s.Messages.LetInLexicalBinding),x.push(this.lookahead),A=this.parseVariableIdentifier(y)),A},m.prototype.parsePatternWithDefault=function(x,y){var A=this.lookahead,D=this.parsePattern(x,y);if(this.match("=")){this.nextToken();var S=this.context.allowYield;this.context.allowYield=!0;var P=this.isolateCoverGrammar(this.parseAssignmentExpression);this.context.allowYield=S,D=this.finalize(this.startNode(A),new R.AssignmentPattern(D,P))}return D},m.prototype.parseVariableIdentifier=function(x){var y=this.createNode(),A=this.nextToken();return A.type===4&&A.value==="yield"?this.context.strict?this.tolerateUnexpectedToken(A,s.Messages.StrictReservedWord):this.context.allowYield||this.throwUnexpectedToken(A):A.type!==3?this.context.strict&&A.type===4&&this.scanner.isStrictModeReservedWord(A.value)?this.tolerateUnexpectedToken(A,s.Messages.StrictReservedWord):(this.context.strict||A.value!=="let"||x!=="var")&&this.throwUnexpectedToken(A):(this.context.isModule||this.context.await)&&A.type===3&&A.value==="await"&&this.tolerateUnexpectedToken(A),this.finalize(y,new R.Identifier(A.value))},m.prototype.parseVariableDeclaration=function(x){var y=this.createNode(),A=[],D=this.parsePattern(A,"var");this.context.strict&&D.type===c.Syntax.Identifier&&this.scanner.isRestrictedWord(D.name)&&this.tolerateError(s.Messages.StrictVarName);var S=null;return this.match("=")?(this.nextToken(),S=this.isolateCoverGrammar(this.parseAssignmentExpression)):D.type!==c.Syntax.Identifier&&!x.inFor&&this.expect("="),this.finalize(y,new R.VariableDeclarator(D,S))},m.prototype.parseVariableDeclarationList=function(x){var y={inFor:x.inFor},A=[];for(A.push(this.parseVariableDeclaration(y));this.match(",");)this.nextToken(),A.push(this.parseVariableDeclaration(y));return A},m.prototype.parseVariableStatement=function(){var x=this.createNode();this.expectKeyword("var");var y=this.parseVariableDeclarationList({inFor:!1});return this.consumeSemicolon(),this.finalize(x,new R.VariableDeclaration(y,"var"))},m.prototype.parseEmptyStatement=function(){var x=this.createNode();return this.expect(";"),this.finalize(x,new R.EmptyStatement)},m.prototype.parseExpressionStatement=function(){var x=this.createNode(),y=this.parseExpression();return this.consumeSemicolon(),this.finalize(x,new R.ExpressionStatement(y))},m.prototype.parseIfClause=function(){return this.context.strict&&this.matchKeyword("function")&&this.tolerateError(s.Messages.StrictFunction),this.parseStatement()},m.prototype.parseIfStatement=function(){var x=this.createNode(),y,A=null;this.expectKeyword("if"),this.expect("(");var D=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),y=this.finalize(this.createNode(),new R.EmptyStatement)):(this.expect(")"),y=this.parseIfClause(),this.matchKeyword("else")&&(this.nextToken(),A=this.parseIfClause())),this.finalize(x,new R.IfStatement(D,y,A))},m.prototype.parseDoWhileStatement=function(){var x=this.createNode();this.expectKeyword("do");var y=this.context.inIteration;this.context.inIteration=!0;var A=this.parseStatement();this.context.inIteration=y,this.expectKeyword("while"),this.expect("(");var D=this.parseExpression();return!this.match(")")&&this.config.tolerant?this.tolerateUnexpectedToken(this.nextToken()):(this.expect(")"),this.match(";")&&this.nextToken()),this.finalize(x,new R.DoWhileStatement(A,D))},m.prototype.parseWhileStatement=function(){var x=this.createNode(),y;this.expectKeyword("while"),this.expect("(");var A=this.parseExpression();if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),y=this.finalize(this.createNode(),new R.EmptyStatement);else{this.expect(")");var D=this.context.inIteration;this.context.inIteration=!0,y=this.parseStatement(),this.context.inIteration=D}return this.finalize(x,new R.WhileStatement(A,y))},m.prototype.parseForStatement=function(){var x=null,y=null,A=null,D=!0,S,P,M=this.createNode();if(this.expectKeyword("for"),this.expect("("),this.match(";"))this.nextToken();else if(this.matchKeyword("var")){x=this.createNode(),this.nextToken();var U=this.context.allowIn;this.context.allowIn=!1;var w=this.parseVariableDeclarationList({inFor:!0});if(this.context.allowIn=U,w.length===1&&this.matchKeyword("in")){var F=w[0];F.init&&(F.id.type===c.Syntax.ArrayPattern||F.id.type===c.Syntax.ObjectPattern||this.context.strict)&&this.tolerateError(s.Messages.ForInOfLoopInitializer,"for-in"),x=this.finalize(x,new R.VariableDeclaration(w,"var")),this.nextToken(),S=x,P=this.parseExpression(),x=null}else w.length===1&&w[0].init===null&&this.matchContextualKeyword("of")?(x=this.finalize(x,new R.VariableDeclaration(w,"var")),this.nextToken(),S=x,P=this.parseAssignmentExpression(),x=null,D=!1):(x=this.finalize(x,new R.VariableDeclaration(w,"var")),this.expect(";"))}else if(this.matchKeyword("const")||this.matchKeyword("let")){x=this.createNode();var H=this.nextToken().value;if(!this.context.strict&&this.lookahead.value==="in")x=this.finalize(x,new R.Identifier(H)),this.nextToken(),S=x,P=this.parseExpression(),x=null;else{var U=this.context.allowIn;this.context.allowIn=!1;var w=this.parseBindingList(H,{inFor:!0});this.context.allowIn=U,w.length===1&&w[0].init===null&&this.matchKeyword("in")?(x=this.finalize(x,new R.VariableDeclaration(w,H)),this.nextToken(),S=x,P=this.parseExpression(),x=null):w.length===1&&w[0].init===null&&this.matchContextualKeyword("of")?(x=this.finalize(x,new R.VariableDeclaration(w,H)),this.nextToken(),S=x,P=this.parseAssignmentExpression(),x=null,D=!1):(this.consumeSemicolon(),x=this.finalize(x,new R.VariableDeclaration(w,H)))}}else{var G=this.lookahead,U=this.context.allowIn;if(this.context.allowIn=!1,x=this.inheritCoverGrammar(this.parseAssignmentExpression),this.context.allowIn=U,this.matchKeyword("in"))(!this.context.isAssignmentTarget||x.type===c.Syntax.AssignmentExpression)&&this.tolerateError(s.Messages.InvalidLHSInForIn),this.nextToken(),this.reinterpretExpressionAsPattern(x),S=x,P=this.parseExpression(),x=null;else if(this.matchContextualKeyword("of"))(!this.context.isAssignmentTarget||x.type===c.Syntax.AssignmentExpression)&&this.tolerateError(s.Messages.InvalidLHSInForLoop),this.nextToken(),this.reinterpretExpressionAsPattern(x),S=x,P=this.parseAssignmentExpression(),x=null,D=!1;else{if(this.match(",")){for(var ee=[x];this.match(",");)this.nextToken(),ee.push(this.isolateCoverGrammar(this.parseAssignmentExpression));x=this.finalize(this.startNode(G),new R.SequenceExpression(ee))}this.expect(";")}}typeof S>"u"&&(this.match(";")||(y=this.parseExpression()),this.expect(";"),this.match(")")||(A=this.parseExpression()));var fe;if(!this.match(")")&&this.config.tolerant)this.tolerateUnexpectedToken(this.nextToken()),fe=this.finalize(this.createNode(),new R.EmptyStatement);else{this.expect(")");var me=this.context.inIteration;this.context.inIteration=!0,fe=this.isolateCoverGrammar(this.parseStatement),this.context.inIteration=me}return typeof S>"u"?this.finalize(M,new R.ForStatement(x,y,A,fe)):D?this.finalize(M,new R.ForInStatement(S,P,fe)):this.finalize(M,new R.ForOfStatement(S,P,fe))},m.prototype.parseContinueStatement=function(){var x=this.createNode();this.expectKeyword("continue");var y=null;if(this.lookahead.type===3&&!this.hasLineTerminator){var A=this.parseVariableIdentifier();y=A;var D="$"+A.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,D)||this.throwError(s.Messages.UnknownLabel,A.name)}return this.consumeSemicolon(),y===null&&!this.context.inIteration&&this.throwError(s.Messages.IllegalContinue),this.finalize(x,new R.ContinueStatement(y))},m.prototype.parseBreakStatement=function(){var x=this.createNode();this.expectKeyword("break");var y=null;if(this.lookahead.type===3&&!this.hasLineTerminator){var A=this.parseVariableIdentifier(),D="$"+A.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,D)||this.throwError(s.Messages.UnknownLabel,A.name),y=A}return this.consumeSemicolon(),y===null&&!this.context.inIteration&&!this.context.inSwitch&&this.throwError(s.Messages.IllegalBreak),this.finalize(x,new R.BreakStatement(y))},m.prototype.parseReturnStatement=function(){this.context.inFunctionBody||this.tolerateError(s.Messages.IllegalReturn);var x=this.createNode();this.expectKeyword("return");var y=!this.match(";")&&!this.match("}")&&!this.hasLineTerminator&&this.lookahead.type!==2||this.lookahead.type===8||this.lookahead.type===10,A=y?this.parseExpression():null;return this.consumeSemicolon(),this.finalize(x,new R.ReturnStatement(A))},m.prototype.parseWithStatement=function(){this.context.strict&&this.tolerateError(s.Messages.StrictModeWith);var x=this.createNode(),y;this.expectKeyword("with"),this.expect("(");var A=this.parseExpression();return!this.match(")")&&this.config.tolerant?(this.tolerateUnexpectedToken(this.nextToken()),y=this.finalize(this.createNode(),new R.EmptyStatement)):(this.expect(")"),y=this.parseStatement()),this.finalize(x,new R.WithStatement(A,y))},m.prototype.parseSwitchCase=function(){var x=this.createNode(),y;this.matchKeyword("default")?(this.nextToken(),y=null):(this.expectKeyword("case"),y=this.parseExpression()),this.expect(":");for(var A=[];!(this.match("}")||this.matchKeyword("default")||this.matchKeyword("case"));)A.push(this.parseStatementListItem());return this.finalize(x,new R.SwitchCase(y,A))},m.prototype.parseSwitchStatement=function(){var x=this.createNode();this.expectKeyword("switch"),this.expect("(");var y=this.parseExpression();this.expect(")");var A=this.context.inSwitch;this.context.inSwitch=!0;var D=[],S=!1;for(this.expect("{");!this.match("}");){var P=this.parseSwitchCase();P.test===null&&(S&&this.throwError(s.Messages.MultipleDefaultsInSwitch),S=!0),D.push(P)}return this.expect("}"),this.context.inSwitch=A,this.finalize(x,new R.SwitchStatement(y,D))},m.prototype.parseLabelledStatement=function(){var x=this.createNode(),y=this.parseExpression(),A;if(y.type===c.Syntax.Identifier&&this.match(":")){this.nextToken();var D=y,S="$"+D.name;Object.prototype.hasOwnProperty.call(this.context.labelSet,S)&&this.throwError(s.Messages.Redeclaration,"Label",D.name),this.context.labelSet[S]=!0;var P=void 0;if(this.matchKeyword("class"))this.tolerateUnexpectedToken(this.lookahead),P=this.parseClassDeclaration();else if(this.matchKeyword("function")){var M=this.lookahead,U=this.parseFunctionDeclaration();this.context.strict?this.tolerateUnexpectedToken(M,s.Messages.StrictFunction):U.generator&&this.tolerateUnexpectedToken(M,s.Messages.GeneratorInLegacyContext),P=U}else P=this.parseStatement();delete this.context.labelSet[S],A=new R.LabeledStatement(D,P)}else this.consumeSemicolon(),A=new R.ExpressionStatement(y);return this.finalize(x,A)},m.prototype.parseThrowStatement=function(){var x=this.createNode();this.expectKeyword("throw"),this.hasLineTerminator&&this.throwError(s.Messages.NewlineAfterThrow);var y=this.parseExpression();return this.consumeSemicolon(),this.finalize(x,new R.ThrowStatement(y))},m.prototype.parseCatchClause=function(){var x=this.createNode();this.expectKeyword("catch"),this.expect("("),this.match(")")&&this.throwUnexpectedToken(this.lookahead);for(var y=[],A=this.parsePattern(y),D={},S=0;S0&&this.tolerateError(s.Messages.BadGetterArity);var S=this.parsePropertyMethod(D);return this.context.allowYield=A,this.finalize(x,new R.FunctionExpression(null,D.params,S,y))},m.prototype.parseSetterMethod=function(){var x=this.createNode(),y=!1,A=this.context.allowYield;this.context.allowYield=!y;var D=this.parseFormalParameters();D.params.length!==1?this.tolerateError(s.Messages.BadSetterArity):D.params[0]instanceof R.RestElement&&this.tolerateError(s.Messages.BadSetterRestParameter);var S=this.parsePropertyMethod(D);return this.context.allowYield=A,this.finalize(x,new R.FunctionExpression(null,D.params,S,y))},m.prototype.parseGeneratorMethod=function(){var x=this.createNode(),y=!0,A=this.context.allowYield;this.context.allowYield=!0;var D=this.parseFormalParameters();this.context.allowYield=!1;var S=this.parsePropertyMethod(D);return this.context.allowYield=A,this.finalize(x,new R.FunctionExpression(null,D.params,S,y))},m.prototype.isStartOfExpression=function(){var x=!0,y=this.lookahead.value;switch(this.lookahead.type){case 7:x=y==="["||y==="("||y==="{"||y==="+"||y==="-"||y==="!"||y==="~"||y==="++"||y==="--"||y==="/"||y==="/=";break;case 4:x=y==="class"||y==="delete"||y==="function"||y==="let"||y==="new"||y==="super"||y==="this"||y==="typeof"||y==="void"||y==="yield";break;default:break}return x},m.prototype.parseYieldExpression=function(){var x=this.createNode();this.expectKeyword("yield");var y=null,A=!1;if(!this.hasLineTerminator){var D=this.context.allowYield;this.context.allowYield=!1,A=this.match("*"),A?(this.nextToken(),y=this.parseAssignmentExpression()):this.isStartOfExpression()&&(y=this.parseAssignmentExpression()),this.context.allowYield=D}return this.finalize(x,new R.YieldExpression(y,A))},m.prototype.parseClassElement=function(x){var y=this.lookahead,A=this.createNode(),D="",S=null,P=null,M=!1,U=!1,w=!1,F=!1;if(this.match("*"))this.nextToken();else{M=this.match("["),S=this.parseObjectPropertyKey();var H=S;if(H.name==="static"&&(this.qualifiedPropertyName(this.lookahead)||this.match("*"))&&(y=this.lookahead,w=!0,M=this.match("["),this.match("*")?this.nextToken():S=this.parseObjectPropertyKey()),y.type===3&&!this.hasLineTerminator&&y.value==="async"){var G=this.lookahead.value;G!==":"&&G!=="("&&G!=="*"&&(F=!0,y=this.lookahead,S=this.parseObjectPropertyKey(),y.type===3&&y.value==="constructor"&&this.tolerateUnexpectedToken(y,s.Messages.ConstructorIsAsync))}}var ee=this.qualifiedPropertyName(this.lookahead);return y.type===3?y.value==="get"&&ee?(D="get",M=this.match("["),S=this.parseObjectPropertyKey(),this.context.allowYield=!1,P=this.parseGetterMethod()):y.value==="set"&&ee&&(D="set",M=this.match("["),S=this.parseObjectPropertyKey(),P=this.parseSetterMethod()):y.type===7&&y.value==="*"&&ee&&(D="init",M=this.match("["),S=this.parseObjectPropertyKey(),P=this.parseGeneratorMethod(),U=!0),!D&&S&&this.match("(")&&(D="init",P=F?this.parsePropertyMethodAsyncFunction():this.parsePropertyMethodFunction(),U=!0),D||this.throwUnexpectedToken(this.lookahead),D==="init"&&(D="method"),M||(w&&this.isPropertyKey(S,"prototype")&&this.throwUnexpectedToken(y,s.Messages.StaticPrototype),!w&&this.isPropertyKey(S,"constructor")&&((D!=="method"||!U||P&&P.generator)&&this.throwUnexpectedToken(y,s.Messages.ConstructorSpecialMethod),x.value?this.throwUnexpectedToken(y,s.Messages.DuplicateConstructor):x.value=!0,D="constructor")),this.finalize(A,new R.MethodDefinition(S,M,P,D,w))},m.prototype.parseClassElementList=function(){var x=[],y={value:!1};for(this.expect("{");!this.match("}");)this.match(";")?this.nextToken():x.push(this.parseClassElement(y));return this.expect("}"),x},m.prototype.parseClassBody=function(){var x=this.createNode(),y=this.parseClassElementList();return this.finalize(x,new R.ClassBody(y))},m.prototype.parseClassDeclaration=function(x){var y=this.createNode(),A=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var D=x&&this.lookahead.type!==3?null:this.parseVariableIdentifier(),S=null;this.matchKeyword("extends")&&(this.nextToken(),S=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var P=this.parseClassBody();return this.context.strict=A,this.finalize(y,new R.ClassDeclaration(D,S,P))},m.prototype.parseClassExpression=function(){var x=this.createNode(),y=this.context.strict;this.context.strict=!0,this.expectKeyword("class");var A=this.lookahead.type===3?this.parseVariableIdentifier():null,D=null;this.matchKeyword("extends")&&(this.nextToken(),D=this.isolateCoverGrammar(this.parseLeftHandSideExpressionAllowCall));var S=this.parseClassBody();return this.context.strict=y,this.finalize(x,new R.ClassExpression(A,D,S))},m.prototype.parseModule=function(){this.context.strict=!0,this.context.isModule=!0,this.scanner.isModule=!0;for(var x=this.createNode(),y=this.parseDirectivePrologues();this.lookahead.type!==2;)y.push(this.parseStatementListItem());return this.finalize(x,new R.Module(y))},m.prototype.parseScript=function(){for(var x=this.createNode(),y=this.parseDirectivePrologues();this.lookahead.type!==2;)y.push(this.parseStatementListItem());return this.finalize(x,new R.Script(y))},m.prototype.parseModuleSpecifier=function(){var x=this.createNode();this.lookahead.type!==8&&this.throwError(s.Messages.InvalidModuleSpecifier);var y=this.nextToken(),A=this.getTokenRaw(y);return this.finalize(x,new R.Literal(y.value,A))},m.prototype.parseImportSpecifier=function(){var x=this.createNode(),y,A;return this.lookahead.type===3?(y=this.parseVariableIdentifier(),A=y,this.matchContextualKeyword("as")&&(this.nextToken(),A=this.parseVariableIdentifier())):(y=this.parseIdentifierName(),A=y,this.matchContextualKeyword("as")?(this.nextToken(),A=this.parseVariableIdentifier()):this.throwUnexpectedToken(this.nextToken())),this.finalize(x,new R.ImportSpecifier(A,y))},m.prototype.parseNamedImports=function(){this.expect("{");for(var x=[];!this.match("}");)x.push(this.parseImportSpecifier()),this.match("}")||this.expect(",");return this.expect("}"),x},m.prototype.parseImportDefaultSpecifier=function(){var x=this.createNode(),y=this.parseIdentifierName();return this.finalize(x,new R.ImportDefaultSpecifier(y))},m.prototype.parseImportNamespaceSpecifier=function(){var x=this.createNode();this.expect("*"),this.matchContextualKeyword("as")||this.throwError(s.Messages.NoAsAfterImportNamespace),this.nextToken();var y=this.parseIdentifierName();return this.finalize(x,new R.ImportNamespaceSpecifier(y))},m.prototype.parseImportDeclaration=function(){this.context.inFunctionBody&&this.throwError(s.Messages.IllegalImportDeclaration);var x=this.createNode();this.expectKeyword("import");var y,A=[];if(this.lookahead.type===8)y=this.parseModuleSpecifier();else{if(this.match("{")?A=A.concat(this.parseNamedImports()):this.match("*")?A.push(this.parseImportNamespaceSpecifier()):this.isIdentifierName(this.lookahead)&&!this.matchKeyword("default")?(A.push(this.parseImportDefaultSpecifier()),this.match(",")&&(this.nextToken(),this.match("*")?A.push(this.parseImportNamespaceSpecifier()):this.match("{")?A=A.concat(this.parseNamedImports()):this.throwUnexpectedToken(this.lookahead))):this.throwUnexpectedToken(this.nextToken()),!this.matchContextualKeyword("from")){var D=this.lookahead.value?s.Messages.UnexpectedToken:s.Messages.MissingFromClause;this.throwError(D,this.lookahead.value)}this.nextToken(),y=this.parseModuleSpecifier()}return this.consumeSemicolon(),this.finalize(x,new R.ImportDeclaration(A,y))},m.prototype.parseExportSpecifier=function(){var x=this.createNode(),y=this.parseIdentifierName(),A=y;return this.matchContextualKeyword("as")&&(this.nextToken(),A=this.parseIdentifierName()),this.finalize(x,new R.ExportSpecifier(y,A))},m.prototype.parseExportDeclaration=function(){this.context.inFunctionBody&&this.throwError(s.Messages.IllegalExportDeclaration);var x=this.createNode();this.expectKeyword("export");var y;if(this.matchKeyword("default"))if(this.nextToken(),this.matchKeyword("function")){var A=this.parseFunctionDeclaration(!0);y=this.finalize(x,new R.ExportDefaultDeclaration(A))}else if(this.matchKeyword("class")){var A=this.parseClassDeclaration(!0);y=this.finalize(x,new R.ExportDefaultDeclaration(A))}else if(this.matchContextualKeyword("async")){var A=this.matchAsyncFunction()?this.parseFunctionDeclaration(!0):this.parseAssignmentExpression();y=this.finalize(x,new R.ExportDefaultDeclaration(A))}else{this.matchContextualKeyword("from")&&this.throwError(s.Messages.UnexpectedToken,this.lookahead.value);var A=this.match("{")?this.parseObjectInitializer():this.match("[")?this.parseArrayInitializer():this.parseAssignmentExpression();this.consumeSemicolon(),y=this.finalize(x,new R.ExportDefaultDeclaration(A))}else if(this.match("*")){if(this.nextToken(),!this.matchContextualKeyword("from")){var D=this.lookahead.value?s.Messages.UnexpectedToken:s.Messages.MissingFromClause;this.throwError(D,this.lookahead.value)}this.nextToken();var S=this.parseModuleSpecifier();this.consumeSemicolon(),y=this.finalize(x,new R.ExportAllDeclaration(S))}else if(this.lookahead.type===4){var A=void 0;switch(this.lookahead.value){case"let":case"const":A=this.parseLexicalDeclaration({inFor:!1});break;case"var":case"class":case"function":A=this.parseStatementListItem();break;default:this.throwUnexpectedToken(this.lookahead)}y=this.finalize(x,new R.ExportNamedDeclaration(A,[],null))}else if(this.matchAsyncFunction()){var A=this.parseFunctionDeclaration();y=this.finalize(x,new R.ExportNamedDeclaration(A,[],null))}else{var P=[],M=null,U=!1;for(this.expect("{");!this.match("}");)U=U||this.matchKeyword("default"),P.push(this.parseExportSpecifier()),this.match("}")||this.expect(",");if(this.expect("}"),this.matchContextualKeyword("from"))this.nextToken(),M=this.parseModuleSpecifier(),this.consumeSemicolon();else if(U){var D=this.lookahead.value?s.Messages.UnexpectedToken:s.Messages.MissingFromClause;this.throwError(D,this.lookahead.value)}else this.consumeSemicolon();y=this.finalize(x,new R.ExportNamedDeclaration(null,P,M))}return y},m}();t.Parser=f},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});function r(n,i){if(!n)throw new Error("ASSERT: "+i)}t.assert=r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var r=function(){function n(){this.errors=[],this.tolerant=!1}return n.prototype.recordError=function(i){this.errors.push(i)},n.prototype.tolerate=function(i){if(this.tolerant)this.recordError(i);else throw i},n.prototype.constructError=function(i,s){var R=new Error(i);try{throw R}catch(l){Object.create&&Object.defineProperty&&(R=Object.create(l),Object.defineProperty(R,"column",{value:s}))}return R},n.prototype.createError=function(i,s,R,l){var c="Line "+s+": "+l,h=this.constructError(c,R);return h.index=i,h.lineNumber=s,h.description=l,h},n.prototype.throwError=function(i,s,R,l){throw this.createError(i,s,R,l)},n.prototype.tolerateError=function(i,s,R,l){var c=this.createError(i,s,R,l);if(this.tolerant)this.recordError(c);else throw c},n}();t.ErrorHandler=r},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.Messages={BadGetterArity:"Getter must not have any formal parameters",BadSetterArity:"Setter must have exactly one formal parameter",BadSetterRestParameter:"Setter function argument must not be a rest parameter",ConstructorIsAsync:"Class constructor may not be an async method",ConstructorSpecialMethod:"Class constructor may not be an accessor",DeclarationMissingInitializer:"Missing initializer in %0 declaration",DefaultRestParameter:"Unexpected token =",DuplicateBinding:"Duplicate binding %0",DuplicateConstructor:"A class may only have one constructor",DuplicateProtoProperty:"Duplicate __proto__ fields are not allowed in object literals",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInLegacyContext:"Generator declarations are not allowed in legacy contexts",IllegalBreak:"Illegal break statement",IllegalContinue:"Illegal continue statement",IllegalExportDeclaration:"Unexpected token",IllegalImportDeclaration:"Unexpected token",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"Illegal return statement",InvalidEscapedReservedWord:"Keyword must not contain escaped characters",InvalidHexEscapeSequence:"Invalid hexadecimal escape sequence",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",InvalidLHSInForLoop:"Invalid left-hand side in for-loop",InvalidModuleSpecifier:"Unexpected token",InvalidRegExp:"Invalid regular expression",LetInLexicalBinding:"let is disallowed as a lexically bound name",MissingFromClause:"Unexpected token",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NewlineAfterThrow:"Illegal newline after throw",NoAsAfterImportNamespace:"Unexpected token",NoCatchOrFinally:"Missing catch or finally after try",ParameterAfterRestParameter:"Rest parameter must be last formal parameter",Redeclaration:"%0 '%1' has already been declared",StaticPrototype:"Classes may not have static property named prototype",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictModeWith:"Strict mode code may not include a with statement",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictReservedWord:"Use of future reserved word in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",TemplateOctalLiteral:"Octal literals are not allowed in template strings.",UnexpectedEOS:"Unexpected end of input",UnexpectedIdentifier:"Unexpected identifier",UnexpectedNumber:"Unexpected number",UnexpectedReserved:"Unexpected reserved word",UnexpectedString:"Unexpected string",UnexpectedTemplate:"Unexpected quasi %0",UnexpectedToken:"Unexpected token %0",UnexpectedTokenIllegal:"Unexpected token ILLEGAL",UnknownLabel:"Undefined label '%0'",UnterminatedRegExp:"Invalid regular expression: missing /"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(9),i=r(4),s=r(11);function R(h){return"0123456789abcdef".indexOf(h.toLowerCase())}function l(h){return"01234567".indexOf(h)}var c=function(){function h(_,f){this.source=_,this.errorHandler=f,this.trackComment=!1,this.isModule=!1,this.length=_.length,this.index=0,this.lineNumber=_.length>0?1:0,this.lineStart=0,this.curlyStack=[]}return h.prototype.saveState=function(){return{index:this.index,lineNumber:this.lineNumber,lineStart:this.lineStart}},h.prototype.restoreState=function(_){this.index=_.index,this.lineNumber=_.lineNumber,this.lineStart=_.lineStart},h.prototype.eof=function(){return this.index>=this.length},h.prototype.throwUnexpectedToken=function(_){return _===void 0&&(_=s.Messages.UnexpectedTokenIllegal),this.errorHandler.throwError(this.index,this.lineNumber,this.index-this.lineStart+1,_)},h.prototype.tolerateUnexpectedToken=function(_){_===void 0&&(_=s.Messages.UnexpectedTokenIllegal),this.errorHandler.tolerateError(this.index,this.lineNumber,this.index-this.lineStart+1,_)},h.prototype.skipSingleLineComment=function(_){var f=[],m,x;for(this.trackComment&&(f=[],m=this.index-_,x={start:{line:this.lineNumber,column:this.index-this.lineStart-_},end:{}});!this.eof();){var y=this.source.charCodeAt(this.index);if(++this.index,i.Character.isLineTerminator(y)){if(this.trackComment){x.end={line:this.lineNumber,column:this.index-this.lineStart-1};var A={multiLine:!1,slice:[m+_,this.index-1],range:[m,this.index-1],loc:x};f.push(A)}return y===13&&this.source.charCodeAt(this.index)===10&&++this.index,++this.lineNumber,this.lineStart=this.index,f}}if(this.trackComment){x.end={line:this.lineNumber,column:this.index-this.lineStart};var A={multiLine:!1,slice:[m+_,this.index],range:[m,this.index],loc:x};f.push(A)}return f},h.prototype.skipMultiLineComment=function(){var _=[],f,m;for(this.trackComment&&(_=[],f=this.index-2,m={start:{line:this.lineNumber,column:this.index-this.lineStart-2},end:{}});!this.eof();){var x=this.source.charCodeAt(this.index);if(i.Character.isLineTerminator(x))x===13&&this.source.charCodeAt(this.index+1)===10&&++this.index,++this.lineNumber,++this.index,this.lineStart=this.index;else if(x===42){if(this.source.charCodeAt(this.index+1)===47){if(this.index+=2,this.trackComment){m.end={line:this.lineNumber,column:this.index-this.lineStart};var y={multiLine:!0,slice:[f+2,this.index-2],range:[f,this.index],loc:m};_.push(y)}return _}++this.index}else++this.index}if(this.trackComment){m.end={line:this.lineNumber,column:this.index-this.lineStart};var y={multiLine:!0,slice:[f+2,this.index],range:[f,this.index],loc:m};_.push(y)}return this.tolerateUnexpectedToken(),_},h.prototype.scanComments=function(){var _;this.trackComment&&(_=[]);for(var f=this.index===0;!this.eof();){var m=this.source.charCodeAt(this.index);if(i.Character.isWhiteSpace(m))++this.index;else if(i.Character.isLineTerminator(m))++this.index,m===13&&this.source.charCodeAt(this.index)===10&&++this.index,++this.lineNumber,this.lineStart=this.index,f=!0;else if(m===47)if(m=this.source.charCodeAt(this.index+1),m===47){this.index+=2;var x=this.skipSingleLineComment(2);this.trackComment&&(_=_.concat(x)),f=!0}else if(m===42){this.index+=2;var x=this.skipMultiLineComment();this.trackComment&&(_=_.concat(x))}else break;else if(f&&m===45)if(this.source.charCodeAt(this.index+1)===45&&this.source.charCodeAt(this.index+2)===62){this.index+=3;var x=this.skipSingleLineComment(3);this.trackComment&&(_=_.concat(x))}else break;else if(m===60&&!this.isModule)if(this.source.slice(this.index+1,this.index+4)==="!--"){this.index+=4;var x=this.skipSingleLineComment(4);this.trackComment&&(_=_.concat(x))}else break;else break}return _},h.prototype.isFutureReservedWord=function(_){switch(_){case"enum":case"export":case"import":case"super":return!0;default:return!1}},h.prototype.isStrictModeReservedWord=function(_){switch(_){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0;default:return!1}},h.prototype.isRestrictedWord=function(_){return _==="eval"||_==="arguments"},h.prototype.isKeyword=function(_){switch(_.length){case 2:return _==="if"||_==="in"||_==="do";case 3:return _==="var"||_==="for"||_==="new"||_==="try"||_==="let";case 4:return _==="this"||_==="else"||_==="case"||_==="void"||_==="with"||_==="enum";case 5:return _==="while"||_==="break"||_==="catch"||_==="throw"||_==="const"||_==="yield"||_==="class"||_==="super";case 6:return _==="return"||_==="typeof"||_==="delete"||_==="switch"||_==="export"||_==="import";case 7:return _==="default"||_==="finally"||_==="extends";case 8:return _==="function"||_==="continue"||_==="debugger";case 10:return _==="instanceof";default:return!1}},h.prototype.codePointAt=function(_){var f=this.source.charCodeAt(_);if(f>=55296&&f<=56319){var m=this.source.charCodeAt(_+1);if(m>=56320&&m<=57343){var x=f;f=(x-55296)*1024+m-56320+65536}}return f},h.prototype.scanHexEscape=function(_){for(var f=_==="u"?4:2,m=0,x=0;x1114111||_!=="}")&&this.throwUnexpectedToken(),i.Character.fromCodePoint(f)},h.prototype.getIdentifier=function(){for(var _=this.index++;!this.eof();){var f=this.source.charCodeAt(this.index);if(f===92)return this.index=_,this.getComplexIdentifier();if(f>=55296&&f<57343)return this.index=_,this.getComplexIdentifier();if(i.Character.isIdentifierPart(f))++this.index;else break}return this.source.slice(_,this.index)},h.prototype.getComplexIdentifier=function(){var _=this.codePointAt(this.index),f=i.Character.fromCodePoint(_);this.index+=f.length;var m;for(_===92&&(this.source.charCodeAt(this.index)!==117&&this.throwUnexpectedToken(),++this.index,this.source[this.index]==="{"?(++this.index,m=this.scanUnicodeCodePointEscape()):(m=this.scanHexEscape("u"),(m===null||m==="\\"||!i.Character.isIdentifierStart(m.charCodeAt(0)))&&this.throwUnexpectedToken()),f=m);!this.eof()&&(_=this.codePointAt(this.index),!!i.Character.isIdentifierPart(_));)m=i.Character.fromCodePoint(_),f+=m,this.index+=m.length,_===92&&(f=f.substr(0,f.length-1),this.source.charCodeAt(this.index)!==117&&this.throwUnexpectedToken(),++this.index,this.source[this.index]==="{"?(++this.index,m=this.scanUnicodeCodePointEscape()):(m=this.scanHexEscape("u"),(m===null||m==="\\"||!i.Character.isIdentifierPart(m.charCodeAt(0)))&&this.throwUnexpectedToken()),f+=m);return f},h.prototype.octalToDecimal=function(_){var f=_!=="0",m=l(_);return!this.eof()&&i.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(f=!0,m=m*8+l(this.source[this.index++]),"0123".indexOf(_)>=0&&!this.eof()&&i.Character.isOctalDigit(this.source.charCodeAt(this.index))&&(m=m*8+l(this.source[this.index++]))),{code:m,octal:f}},h.prototype.scanIdentifier=function(){var _,f=this.index,m=this.source.charCodeAt(f)===92?this.getComplexIdentifier():this.getIdentifier();if(m.length===1?_=3:this.isKeyword(m)?_=4:m==="null"?_=5:m==="true"||m==="false"?_=1:_=3,_!==3&&f+m.length!==this.index){var x=this.index;this.index=f,this.tolerateUnexpectedToken(s.Messages.InvalidEscapedReservedWord),this.index=x}return{type:_,value:m,lineNumber:this.lineNumber,lineStart:this.lineStart,start:f,end:this.index}},h.prototype.scanPunctuator=function(){var _=this.index,f=this.source[this.index];switch(f){case"(":case"{":f==="{"&&this.curlyStack.push("{"),++this.index;break;case".":++this.index,this.source[this.index]==="."&&this.source[this.index+1]==="."&&(this.index+=2,f="...");break;case"}":++this.index,this.curlyStack.pop();break;case")":case";":case",":case"[":case"]":case":":case"?":case"~":++this.index;break;default:f=this.source.substr(this.index,4),f===">>>="?this.index+=4:(f=f.substr(0,3),f==="==="||f==="!=="||f===">>>"||f==="<<="||f===">>="||f==="**="?this.index+=3:(f=f.substr(0,2),f==="&&"||f==="||"||f==="=="||f==="!="||f==="+="||f==="-="||f==="*="||f==="/="||f==="++"||f==="--"||f==="<<"||f===">>"||f==="&="||f==="|="||f==="^="||f==="%="||f==="<="||f===">="||f==="=>"||f==="**"?this.index+=2:(f=this.source[this.index],"<>=!+-*%&|^/".indexOf(f)>=0&&++this.index)))}return this.index===_&&this.throwUnexpectedToken(),{type:7,value:f,lineNumber:this.lineNumber,lineStart:this.lineStart,start:_,end:this.index}},h.prototype.scanHexLiteral=function(_){for(var f="";!this.eof()&&i.Character.isHexDigit(this.source.charCodeAt(this.index));)f+=this.source[this.index++];return f.length===0&&this.throwUnexpectedToken(),i.Character.isIdentifierStart(this.source.charCodeAt(this.index))&&this.throwUnexpectedToken(),{type:6,value:parseInt("0x"+f,16),lineNumber:this.lineNumber,lineStart:this.lineStart,start:_,end:this.index}},h.prototype.scanBinaryLiteral=function(_){for(var f="",m;!this.eof()&&(m=this.source[this.index],!(m!=="0"&&m!=="1"));)f+=this.source[this.index++];return f.length===0&&this.throwUnexpectedToken(),this.eof()||(m=this.source.charCodeAt(this.index),(i.Character.isIdentifierStart(m)||i.Character.isDecimalDigit(m))&&this.throwUnexpectedToken()),{type:6,value:parseInt(f,2),lineNumber:this.lineNumber,lineStart:this.lineStart,start:_,end:this.index}},h.prototype.scanOctalLiteral=function(_,f){var m="",x=!1;for(i.Character.isOctalDigit(_.charCodeAt(0))?(x=!0,m="0"+this.source[this.index++]):++this.index;!this.eof()&&i.Character.isOctalDigit(this.source.charCodeAt(this.index));)m+=this.source[this.index++];return!x&&m.length===0&&this.throwUnexpectedToken(),(i.Character.isIdentifierStart(this.source.charCodeAt(this.index))||i.Character.isDecimalDigit(this.source.charCodeAt(this.index)))&&this.throwUnexpectedToken(),{type:6,value:parseInt(m,8),octal:x,lineNumber:this.lineNumber,lineStart:this.lineStart,start:f,end:this.index}},h.prototype.isImplicitOctalLiteral=function(){for(var _=this.index+1;_=0&&(x=x.replace(/\\u\{([0-9a-fA-F]+)\}|\\u([a-fA-F0-9]{4})/g,function(A,D,S){var P=parseInt(D||S,16);return P>1114111&&y.throwUnexpectedToken(s.Messages.InvalidRegExp),P<=65535?String.fromCharCode(P):m}).replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,m));try{RegExp(x)}catch{this.throwUnexpectedToken(s.Messages.InvalidRegExp)}try{return new RegExp(_,f)}catch{return null}},h.prototype.scanRegExpBody=function(){var _=this.source[this.index];n.assert(_==="/","Regular expression literal must start with a slash");for(var f=this.source[this.index++],m=!1,x=!1;!this.eof();)if(_=this.source[this.index++],f+=_,_==="\\")_=this.source[this.index++],i.Character.isLineTerminator(_.charCodeAt(0))&&this.throwUnexpectedToken(s.Messages.UnterminatedRegExp),f+=_;else if(i.Character.isLineTerminator(_.charCodeAt(0)))this.throwUnexpectedToken(s.Messages.UnterminatedRegExp);else if(m)_==="]"&&(m=!1);else if(_==="/"){x=!0;break}else _==="["&&(m=!0);return x||this.throwUnexpectedToken(s.Messages.UnterminatedRegExp),f.substr(1,f.length-2)},h.prototype.scanRegExpFlags=function(){for(var _="",f="";!this.eof();){var m=this.source[this.index];if(!i.Character.isIdentifierPart(m.charCodeAt(0)))break;if(++this.index,m==="\\"&&!this.eof())if(m=this.source[this.index],m==="u"){++this.index;var x=this.index,y=this.scanHexEscape("u");if(y!==null)for(f+=y,_+="\\u";x=55296&&_<57343&&i.Character.isIdentifierStart(this.codePointAt(this.index))?this.scanIdentifier():this.scanPunctuator()},h}();t.Scanner=c},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.TokenName={},t.TokenName[1]="Boolean",t.TokenName[2]="",t.TokenName[3]="Identifier",t.TokenName[4]="Keyword",t.TokenName[5]="Null",t.TokenName[6]="Numeric",t.TokenName[7]="Punctuator",t.TokenName[8]="String",t.TokenName[9]="RegularExpression",t.TokenName[10]="Template"},function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.XHTMLEntities={quot:'"',amp:"&",apos:"'",gt:">",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02C6",tilde:"\u02DC",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203A",oline:"\u203E",frasl:"\u2044",euro:"\u20AC",image:"\u2111",weierp:"\u2118",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666",lang:"\u27E8",rang:"\u27E9"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(10),i=r(12),s=r(13),R=function(){function c(){this.values=[],this.curly=this.paren=-1}return c.prototype.beforeFunctionExpression=function(h){return["(","{","[","in","typeof","instanceof","new","return","case","delete","throw","void","=","+=","-=","*=","**=","/=","%=","<<=",">>=",">>>=","&=","|=","^=",",","+","-","*","**","/","%","++","--","<<",">>",">>>","&","|","^","!","~","&&","||","?",":","===","==",">=","<=","<",">","!=","!=="].indexOf(h)>=0},c.prototype.isRegexStart=function(){var h=this.values[this.values.length-1],_=h!==null;switch(h){case"this":case"]":_=!1;break;case")":var f=this.values[this.paren-1];_=f==="if"||f==="while"||f==="for"||f==="with";break;case"}":if(_=!1,this.values[this.curly-3]==="function"){var m=this.values[this.curly-4];_=m?!this.beforeFunctionExpression(m):!1}else if(this.values[this.curly-4]==="function"){var m=this.values[this.curly-5];_=m?!this.beforeFunctionExpression(m):!0}break;default:break}return _},c.prototype.push=function(h){h.type===7||h.type===4?(h.value==="{"?this.curly=this.values.length:h.value==="("&&(this.paren=this.values.length),this.values.push(h.value)):this.values.push(null)},c}(),l=function(){function c(h,_){this.errorHandler=new n.ErrorHandler,this.errorHandler.tolerant=_?typeof _.tolerant=="boolean"&&_.tolerant:!1,this.scanner=new i.Scanner(h,this.errorHandler),this.scanner.trackComment=_?typeof _.comment=="boolean"&&_.comment:!1,this.trackRange=_?typeof _.range=="boolean"&&_.range:!1,this.trackLoc=_?typeof _.loc=="boolean"&&_.loc:!1,this.buffer=[],this.reader=new R}return c.prototype.errors=function(){return this.errorHandler.errors},c.prototype.getNextToken=function(){if(this.buffer.length===0){var h=this.scanner.scanComments();if(this.scanner.trackComment)for(var _=0;_{"use strict";Object.defineProperty(bke,"__esModule",{value:!0});bke.parse=void 0;var gke=Vv();function wEr(e,t){var r=[],n=Hxt().parse(e,{loc:!0,locations:!0,comment:!0,onComment:r,range:(0,gke.getOption)(t,"range",!1),tolerant:(0,gke.getOption)(t,"tolerant",!0),tokens:!0,jsx:(0,gke.getOption)(t,"jsx",!1),sourceType:(0,gke.getOption)(t,"sourceType","module")});return Array.isArray(n.comments)||(n.comments=r),n}bke.parse=wEr});var Oke=Le(Eke=>{"use strict";Object.defineProperty(Eke,"__esModule",{value:!0});Eke.normalize=void 0;var PEr=Vv(),Yxt={parser:yIt(),tabWidth:4,useTabs:!1,reuseWhitespace:!0,lineTerminator:(0,PEr.getLineTerminator)(),wrapColumn:74,sourceFileName:null,sourceMapName:null,sourceRoot:null,inputSourceMap:null,range:!1,tolerant:!0,quote:null,trailingComma:!1,arrayBracketSpacing:!1,objectCurlySpacing:!0,arrowParensAlways:!1,flowObjectCommas:!0,tokens:!0},BEr=Yxt.hasOwnProperty;function IEr(e){var t=e||Yxt;function r(n){return BEr.call(t,n)?t[n]:Yxt[n]}return{tabWidth:+r("tabWidth"),useTabs:!!r("useTabs"),reuseWhitespace:!!r("reuseWhitespace"),lineTerminator:r("lineTerminator"),wrapColumn:Math.max(r("wrapColumn"),0),sourceFileName:r("sourceFileName"),sourceMapName:r("sourceMapName"),sourceRoot:r("sourceRoot"),inputSourceMap:r("inputSourceMap"),parser:r("esprima")||r("parser"),range:r("range"),tolerant:r("tolerant"),quote:r("quote"),trailingComma:r("trailingComma"),arrayBracketSpacing:r("arrayBracketSpacing"),objectCurlySpacing:r("objectCurlySpacing"),arrowParensAlways:r("arrowParensAlways"),flowObjectCommas:r("flowObjectCommas"),tokens:!!r("tokens")}}Eke.normalize=IEr});var CIt=Le(Kxt=>{"use strict";Object.defineProperty(Kxt,"__esModule",{value:!0});var MEr=(TR(),AR(cR)),Xj=MEr.__importDefault(QN()),RM=Vv(),WEr=function(){function e(t,r,n){n===void 0&&(n=r),this.sourceLines=t,this.sourceLoc=r,this.targetLoc=n}return e.prototype.slice=function(t,r,n){n===void 0&&(n=t.lastPos());var i=this.sourceLines,s=this.sourceLoc,R=this.targetLoc;function l(c){var h=s[c],_=R[c],f=r;return c==="end"?f=n:(0,Xj.default)(c==="start"),UEr(i,h,t,_,f)}if((0,RM.comparePos)(r,R.start)<=0)if((0,RM.comparePos)(R.end,n)<=0)R={start:oM(R.start,r.line,r.column),end:oM(R.end,r.line,r.column)};else{if((0,RM.comparePos)(n,R.start)<=0)return null;s={start:s.start,end:l("end")},R={start:oM(R.start,r.line,r.column),end:oM(n,r.line,r.column)}}else{if((0,RM.comparePos)(R.end,r)<=0)return null;(0,RM.comparePos)(R.end,n)<=0?(s={start:l("start"),end:s.end},R={start:{line:1,column:0},end:oM(R.end,r.line,r.column)}):(s={start:l("start"),end:l("end")},R={start:{line:1,column:0},end:oM(n,r.line,r.column)})}return new e(this.sourceLines,s,R)},e.prototype.add=function(t,r){return new e(this.sourceLines,this.sourceLoc,{start:qIt(this.targetLoc.start,t,r),end:qIt(this.targetLoc.end,t,r)})},e.prototype.subtract=function(t,r){return new e(this.sourceLines,this.sourceLoc,{start:oM(this.targetLoc.start,t,r),end:oM(this.targetLoc.end,t,r)})},e.prototype.indent=function(t,r,n){if(r===void 0&&(r=!1),n===void 0&&(n=!1),t===0)return this;var i=this.targetLoc,s=i.start.line,R=i.end.line;if(r&&s===1&&R===1)return this;if(i={start:i.start,end:i.end},!r||s>1){var l=i.start.column+t;i.start={line:s,column:n?Math.max(0,l):l}}if(!r||R>1){var c=i.end.column+t;i.end={line:R,column:n?Math.max(0,c):c}}return new e(this.sourceLines,this.sourceLoc,i)},e}();Kxt.default=WEr;function qIt(e,t,r){return{line:e.line+t-1,column:e.line===1?e.column+r:e.column}}function oM(e,t,r){return{line:e.line-t+1,column:e.line===t?e.column-r:e.column}}function UEr(e,t,r,n,i){var s=(0,RM.comparePos)(n,i);if(s===0)return t;var R,l;if(s<0){R=e.skipSpaces(t)||e.lastPos(),l=r.skipSpaces(n)||r.lastPos();var c=i.line-l.line;for(R.line+=c,l.line+=c,c>0?(R.column=0,l.column=0):(0,Xj.default)(c===0);(0,RM.comparePos)(l,i)<0&&r.nextPos(l,!0);)(0,Xj.default)(e.nextPos(R,!0)),(0,Xj.default)(e.charAt(R)===r.charAt(l))}else{R=e.skipSpaces(t,!0)||e.firstPos(),l=r.skipSpaces(n,!0)||r.firstPos();var c=i.line-l.line;for(R.line+=c,l.line+=c,c<0?(R.column=e.getLineLength(R.line),l.column=r.getLineLength(l.line)):(0,Xj.default)(c===0);(0,RM.comparePos)(i,l)<0&&r.prevPos(l,!0);)(0,Xj.default)(e.prevPos(R,!0)),(0,Xj.default)(e.charAt(R)===r.charAt(l))}return R}});var ppe=Le(jv=>{"use strict";Object.defineProperty(jv,"__esModule",{value:!0});jv.concat=jv.fromString=jv.countSpaces=jv.Lines=void 0;var U3=(TR(),AR(cR)),F_=U3.__importDefault(QN()),FEr=U3.__importDefault(Uxt()),gIt=Oke(),AIt=Vv(),LEr=U3.__importDefault(CIt()),Gxt=function(){function e(t,r){r===void 0&&(r=null),this.infos=t,this.mappings=[],this.cachedSourceMap=null,this.cachedTabWidth=void 0,(0,F_.default)(t.length>0),this.length=t.length,this.name=r||null,this.name&&this.mappings.push(new LEr.default(this,{start:this.firstPos(),end:this.lastPos()}))}return e.prototype.toString=function(t){return this.sliceString(this.firstPos(),this.lastPos(),t)},e.prototype.getSourceMap=function(t,r){if(!t)return null;var n=this;function i(l){return l=l||{},l.file=t,r&&(l.sourceRoot=r),l}if(n.cachedSourceMap)return i(n.cachedSourceMap.toJSON());var s=new FEr.default.SourceMapGenerator(i()),R={};return n.mappings.forEach(function(l){for(var c=l.sourceLines.skipSpaces(l.sourceLoc.start)||l.sourceLines.lastPos(),h=n.skipSpaces(l.targetLoc.start)||n.lastPos();(0,AIt.comparePos)(c,l.sourceLoc.end)<0&&(0,AIt.comparePos)(h,l.targetLoc.end)<0;){var _=l.sourceLines.charAt(c),f=n.charAt(h);(0,F_.default)(_===f);var m=l.sourceLines.name;if(s.addMapping({source:m,original:{line:c.line,column:c.column},generated:{line:h.line,column:h.column}}),!Vxt.call(R,m)){var x=l.sourceLines.toString();s.setSourceContent(m,x),R[m]=x}n.nextPos(h,!0),l.sourceLines.nextPos(c,!0)}}),n.cachedSourceMap=s,s.toJSON()},e.prototype.bootstrapCharAt=function(t){(0,F_.default)(typeof t=="object"),(0,F_.default)(typeof t.line=="number"),(0,F_.default)(typeof t.column=="number");var r=t.line,n=t.column,i=this.toString().split(jxt),s=i[r-1];return typeof s>"u"?"":n===s.length&&r=s.length?"":s.charAt(n)},e.prototype.charAt=function(t){(0,F_.default)(typeof t=="object"),(0,F_.default)(typeof t.line=="number"),(0,F_.default)(typeof t.column=="number");var r=t.line,n=t.column,i=this,s=i.infos,R=s[r-1],l=n;if(typeof R>"u"||l<0)return"";var c=this.getIndentAt(r);return l=R.sliceEnd?"":R.line.charAt(l))},e.prototype.stripMargin=function(t,r){if(t===0)return this;if((0,F_.default)(t>0,"negative margin: "+t),r&&this.length===1)return this;var n=new e(this.infos.map(function(s,R){return s.line&&(R>0||!r)&&(s=U3.__assign(U3.__assign({},s),{indent:Math.max(0,s.indent-t)})),s}));if(this.mappings.length>0){var i=n.mappings;(0,F_.default)(i.length===0),this.mappings.forEach(function(s){i.push(s.indent(t,r,!0))})}return n},e.prototype.indent=function(t){if(t===0)return this;var r=new e(this.infos.map(function(i){return i.line&&!i.locked&&(i=U3.__assign(U3.__assign({},i),{indent:i.indent+t})),i}));if(this.mappings.length>0){var n=r.mappings;(0,F_.default)(n.length===0),this.mappings.forEach(function(i){n.push(i.indent(t))})}return r},e.prototype.indentTail=function(t){if(t===0)return this;if(this.length<2)return this;var r=new e(this.infos.map(function(i,s){return s>0&&i.line&&!i.locked&&(i=U3.__assign(U3.__assign({},i),{indent:i.indent+t})),i}));if(this.mappings.length>0){var n=r.mappings;(0,F_.default)(n.length===0),this.mappings.forEach(function(i){n.push(i.indent(t,!0))})}return r},e.prototype.lockIndentTail=function(){return this.length<2?this:new e(this.infos.map(function(t,r){return U3.__assign(U3.__assign({},t),{locked:r>0})}))},e.prototype.getIndentAt=function(t){return(0,F_.default)(t>=1,"no line "+t+" (line numbers start from 1)"),Math.max(this.infos[t-1].indent,0)},e.prototype.guessTabWidth=function(){if(typeof this.cachedTabWidth=="number")return this.cachedTabWidth;for(var t=[],r=0,n=1,i=this.length;n<=i;++n){var s=this.infos[n-1],R=s.line.slice(s.sliceStart,s.sliceEnd);if(!jre(R)){var l=Math.abs(s.indent-r);t[l]=~~t[l]+1,r=s.indent}}for(var c=-1,h=2,_=1;_c&&(c=t[_],h=_);return this.cachedTabWidth=h},e.prototype.startsWithComment=function(){if(this.infos.length===0)return!1;var t=this.infos[0],r=t.sliceStart,n=t.sliceEnd,i=t.line.slice(r,n).trim();return i.length===0||i.slice(0,2)==="//"||i.slice(0,2)==="/*"},e.prototype.isOnlyWhitespace=function(){return jre(this.toString())},e.prototype.isPrecededOnlyByWhitespace=function(t){var r=this.infos[t.line-1],n=Math.max(r.indent,0),i=t.column-n;if(i<=0)return!0;var s=r.sliceStart,R=Math.min(s+i,r.sliceEnd),l=r.line.slice(s,R);return jre(l)},e.prototype.getLineLength=function(t){var r=this.infos[t-1];return this.getIndentAt(t)+r.sliceEnd-r.sliceStart},e.prototype.nextPos=function(t,r){r===void 0&&(r=!1);var n=Math.max(t.line,0),i=Math.max(t.column,0);return i0&&(n.push(n.pop().slice(0,r.column)),n[0]=n[0].slice(t.column)),Dke(n.join(` +`))},e.prototype.slice=function(t,r){if(!r){if(!t)return this;r=this.lastPos()}if(!t)throw new Error("cannot slice with end but not start");var n=this.infos.slice(t.line-1,r.line);t.line===r.line?n[0]=Jre(n[0],t.column,r.column):((0,F_.default)(t.line0){var s=i.mappings;(0,F_.default)(s.length===0),this.mappings.forEach(function(R){var l=R.slice(this,t,r);l&&s.push(l)},this)}return i},e.prototype.bootstrapSliceString=function(t,r,n){return this.slice(t,r).toString(n)},e.prototype.sliceString=function(t,r,n){t===void 0&&(t=this.firstPos()),r===void 0&&(r=this.lastPos());for(var i=(0,gIt.normalize)(n),s=i.tabWidth,R=i.useTabs,l=i.reuseWhitespace,c=i.lineTerminator,h=[],_=t.line;_<=r.line;++_){var f=this.infos[_-1];_===t.line?_===r.line?f=Jre(f,t.column,r.column):f=Jre(f,t.column):_===r.line&&(f=Jre(f,0,r.column));var m=Math.max(f.indent,0),x=f.line.slice(0,f.sliceStart);if(l&&jre(x)&&Jxt(x,s)===m){h.push(f.line.slice(0,f.sliceEnd));continue}var y=0,A=m;R&&(y=Math.floor(m/s),A-=y*s);var D="";y>0&&(D+=new Array(y+1).join(" ")),A>0&&(D+=new Array(A+1).join(" ")),D+=f.line.slice(f.sliceStart,f.sliceEnd),h.push(D)}return h.join(c)},e.prototype.isEmpty=function(){return this.length<2&&this.getLineLength(1)<1},e.prototype.join=function(t){var r=this,n=[],i=[],s;function R(h){if(h!==null){if(s){var _=h.infos[0],f=new Array(_.indent+1).join(" "),m=n.length,x=Math.max(s.indent,0)+s.sliceEnd-s.sliceStart;s.line=s.line.slice(0,s.sliceEnd)+f+_.line.slice(_.sliceStart,_.sliceEnd),s.locked=s.locked||_.locked,s.sliceEnd=s.line.length,h.mappings.length>0&&h.mappings.forEach(function(y){i.push(y.add(m,x))})}else h.mappings.length>0&&i.push.apply(i,h.mappings);h.infos.forEach(function(y,A){(!s||A>0)&&(s=U3.__assign({},y),n.push(s))})}}function l(h,_){_>0&&R(r),R(h)}if(t.map(function(h){var _=Dke(h);return _.isEmpty()?null:_}).forEach(function(h,_){r.isEmpty()?R(h):l(h,_)}),n.length<1)return Zj;var c=new e(n);return c.mappings=i,c},e.prototype.concat=function(){for(var t=[],r=0;r0);var s=Math.ceil(r/t)*t;s===r?r+=t:r=s;break}case 11:case 12:case 13:case 65279:break;case 32:default:r+=1;break}return r}jv.countSpaces=Jxt;var HEr=/^\s*/,jxt=/\u000D\u000A|\u000D(?!\u000A)|\u000A|\u2028|\u2029/;function Dke(e,t){if(e instanceof Gxt)return e;e+="";var r=t&&t.tabWidth,n=e.indexOf(" ")<0,i=!t&&n&&e.length<=zEr;if((0,F_.default)(r||n,`No tab width specified but encountered tabs in string +`+e),i&&Vxt.call(vke,e))return vke[e];var s=new Gxt(e.split(jxt).map(function(R){var l=HEr.exec(R)[0];return{line:R,indent:Jxt(l,r),locked:!1,sliceStart:l.length,sliceEnd:R.length}}),(0,gIt.normalize)(t).sourceFileName);return i&&(vke[e]=s),s}jv.fromString=Dke;function jre(e){return!/\S/.test(e)}function Jre(e,t,r){var n=e.sliceStart,i=e.sliceEnd,s=Math.max(e.indent,0),R=s+i-n;return typeof r>"u"&&(r=R),t=Math.max(t,0),r=Math.min(r,R),r=Math.max(r,t),r=0),(0,F_.default)(n<=i),(0,F_.default)(R===s+i-n),e.indent===s&&e.sliceStart===n&&e.sliceEnd===i?e:{line:e.line,indent:s,locked:!1,sliceStart:n,sliceEnd:i}}function YEr(e){return Zj.join(e)}jv.concat=YEr;var Zj=Dke("")});var e2t=Le(ene=>{"use strict";Object.defineProperty(ene,"__esModule",{value:!0});ene.printComments=ene.attach=void 0;var EIt=(TR(),AR(cR)),Xxt=EIt.__importDefault(QN()),eJ=EIt.__importStar($N()),Zre=eJ.namedTypes,OIt=eJ.builtInTypes.array,KEr=eJ.builtInTypes.object,hpe=ppe(),Xre=Vv(),bIt=new WeakMap;function vIt(e,t,r){if(!e)return r;if((0,Xre.fixFaultyLocations)(e,t),r){if(Zre.Node.check(e)&&Zre.SourceLocation.check(e.loc)){for(var n=r.length-1;n>=0;--n){var i=r[n];if(i&&i.loc&&(0,Xre.comparePos)(i.loc.end,e.loc.start)<=0)break}return r.splice(n+1,0,e),r}}else{var s=bIt.get(e);if(s)return s}var R;if(OIt.check(e))R=Object.keys(e);else if(KEr.check(e))R=eJ.getFieldNames(e);else return r;r||bIt.set(e,r=[]);for(var n=0,l=R.length;n>1,h=n[c];if((0,Xre.comparePos)(h.loc.start,t.loc.start)<=0&&(0,Xre.comparePos)(t.loc.end,h.loc.end)<=0){DIt(t.enclosingNode=h,t,r);return}if((0,Xre.comparePos)(h.loc.end,t.loc.start)<=0){R=h,i=c+1;continue}if((0,Xre.comparePos)(t.loc.end,h.loc.start)<=0){l=h,s=c;continue}throw new Error("Comment location overlaps with node location")}R&&(t.precedingNode=R),l&&(t.followingNode=l)}function GEr(e,t,r){if(OIt.check(e)){var n=[];e.forEach(function(i){i.loc.lines=r,DIt(t,i,r);var s=i.precedingNode,R=i.enclosingNode,l=i.followingNode;if(s&&l){var c=n.length;if(c>0){var h=n[c-1];(0,Xxt.default)(h.precedingNode===i.precedingNode==(h.followingNode===i.followingNode)),h.followingNode!==i.followingNode&&_pe(n,r)}n.push(i)}else if(s)_pe(n,r),$It(s,i);else if(l)_pe(n,r),SIt(l,i);else if(R)_pe(n,r),VEr(R,i);else throw new Error("AST contains no nodes at all?")}),_pe(n,r),e.forEach(function(i){delete i.precedingNode,delete i.enclosingNode,delete i.followingNode})}}ene.attach=GEr;function _pe(e,t){var r=e.length;if(r!==0){for(var n=e[0].precedingNode,i=e[0].followingNode,s=i.loc.start,R=r,l;R>0;--R){l=e[R-1],(0,Xxt.default)(l.precedingNode===n),(0,Xxt.default)(l.followingNode===i);var c=t.sliceString(l.loc.end,s);if(/\S/.test(c))break;s=l.loc.start}for(;R<=r&&(l=e[R])&&(l.type==="Line"||l.type==="CommentLine")&&l.loc.start.column>i.loc.start.column;)++R;if(R){var h=e[R-1].enclosingNode;h?.type==="CallExpression"&&--R}e.forEach(function(_,f){f{"use strict";Object.defineProperty(Ske,"__esModule",{value:!0});Ske.parse=void 0;var t2t=(TR(),AR(cR)),ZEr=t2t.__importDefault(QN()),r2t=t2t.__importStar($N()),eOr=r2t.builders,tOr=r2t.builtInTypes.object,rOr=r2t.builtInTypes.array,nOr=Oke(),iOr=ppe(),aOr=e2t(),wN=t2t.__importStar(Vv());function sOr(e,t){t=(0,nOr.normalize)(t);var r=(0,iOr.fromString)(e,t),n=r.toString({tabWidth:t.tabWidth,reuseWhitespace:!1,useTabs:!1}),i=[],s=t.parser.parse(n,{jsx:!0,loc:!0,locations:!0,range:t.range,comment:!0,onComment:i,tolerant:wN.getOption(t,"tolerant",!0),ecmaVersion:6,sourceType:wN.getOption(t,"sourceType","module")}),R=Array.isArray(s.tokens)?s.tokens:Hxt().tokenize(n,{loc:!0});delete s.tokens,R.forEach(function(_){typeof _.value!="string"&&(_.value=r.sliceString(_.loc.start,_.loc.end))}),Array.isArray(s.comments)&&(i=s.comments,delete s.comments),s.loc?wN.fixFaultyLocations(s,r):s.loc={start:r.firstPos(),end:r.lastPos()},s.loc.lines=r,s.loc.indent=0;var l,c;s.type==="Program"?(c=s,l=eOr.file(s,t.sourceFileName||null),l.loc={start:r.firstPos(),end:r.lastPos(),lines:r,indent:0}):s.type==="File"&&(l=s,c=l.program),t.tokens&&(l.tokens=R);var h=wN.getTrueLoc({type:c.type,loc:c.loc,body:[],comments:i},r);return c.loc.start=h.start,c.loc.end=h.end,(0,aOr.attach)(i,c.body.length?l.program:l,r),new QIt(r,R).copy(l)}Ske.parse=sOr;var QIt=function e(t,r){(0,ZEr.default)(this instanceof e),this.lines=t,this.tokens=r,this.startTokenIndex=0,this.endTokenIndex=r.length,this.indent=0,this.seen=new Map},NIt=QIt.prototype;NIt.copy=function(e){if(this.seen.has(e))return this.seen.get(e);if(rOr.check(e)){var t=new Array(e.length);return this.seen.set(e,t),e.forEach(function(m,x){t[x]=this.copy(m)},this),t}if(!tOr.check(e))return e;wN.fixFaultyLocations(e,this.lines);var r=Object.create(Object.getPrototypeOf(e),{original:{value:e,configurable:!1,enumerable:!1,writable:!0}});this.seen.set(e,r);var n=e.loc,i=this.indent,s=i,R=this.startTokenIndex,l=this.endTokenIndex;n&&((e.type==="Block"||e.type==="Line"||e.type==="CommentBlock"||e.type==="CommentLine"||this.lines.isPrecededOnlyByWhitespace(n.start))&&(s=this.indent=n.start.column),n.lines=this.lines,n.tokens=this.tokens,n.indent=s,this.findTokenRange(n));for(var c=Object.keys(e),h=c.length,_=0;_0;){var t=e.tokens[this.startTokenIndex];if(wN.comparePos(e.start,t.loc.start)<0)--this.startTokenIndex;else break}for(;this.endTokenIndexthis.startTokenIndex;){var t=e.tokens[this.endTokenIndex-1];if(wN.comparePos(e.end,t.loc.end)<0)--this.endTokenIndex;else break}e.end.token=this.endTokenIndex}});var o2t=Le(s2t=>{"use strict";Object.defineProperty(s2t,"__esModule",{value:!0});var a2t=(TR(),AR(cR)),F3=a2t.__importDefault(QN()),fpe=a2t.__importStar($N()),PIt=a2t.__importStar(Vv()),I1=fpe.namedTypes,oOr=fpe.builtInTypes.array,ROr=fpe.builtInTypes.number,n2t={};[["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].forEach(function(e,t){e.forEach(function(r){n2t[r]=t})});var tJ=function e(t){(0,F3.default)(this instanceof e),this.stack=[t]},oy=tJ.prototype;tJ.from=function(e){if(e instanceof tJ)return e.copy();if(e instanceof fpe.NodePath){for(var t=Object.create(tJ.prototype),r=[e.value],n=void 0;n=e.parentPath;e=n)r.push(e.name,n.value);return t.stack=r.reverse(),t}return new tJ(e)};oy.copy=function(){var t=Object.create(tJ.prototype);return t.stack=this.stack.slice(0),t};oy.getName=function(){var t=this.stack,r=t.length;return r>1?t[r-2]:null};oy.getValue=function(){var t=this.stack;return t[t.length-1]};oy.valueIsDuplicate=function(){var e=this.stack,t=e.length-1;return e.lastIndexOf(e[t],t-1)>=0};function BIt(e,t){for(var r=e.stack,n=r.length-1;n>=0;n-=2){var i=r[n];if(I1.Node.check(i)&&--t<0)return i}return null}oy.getNode=function(t){return t===void 0&&(t=0),BIt(this,~~t)};oy.getParentNode=function(t){return t===void 0&&(t=0),BIt(this,~~t+1)};oy.getRootValue=function(){var t=this.stack;return t.length%2===0?t[1]:t[0]};oy.call=function(t){for(var r=this.stack,n=r.length,i=r[n-1],s=arguments.length,R=1;R0){var n=r[t.start.token-1];if(n){var i=this.getRootValue().loc;if(PIt.comparePos(i.start,n.loc.start)<=0)return n}}return null};oy.getNextToken=function(e){e=e||this.getNode();var t=e&&e.loc,r=t&&t.tokens;if(r&&t.end.tokenl)return!0;if(s===l&&n==="right")return(0,F3.default)(r.right===t),!0;break}default:return!1}break;case"SequenceExpression":switch(r.type){case"ReturnStatement":return!1;case"ForStatement":return!1;case"ExpressionStatement":return n!=="expression";default:return!0}case"OptionalIndexedAccessType":return t.optional&&r.type==="IndexedAccessType";case"IntersectionTypeAnnotation":case"UnionTypeAnnotation":return r.type==="NullableTypeAnnotation";case"Literal":return r.type==="MemberExpression"&&ROr.check(t.value)&&n==="object"&&r.object===t;case"NumericLiteral":return r.type==="MemberExpression"&&n==="object"&&r.object===t;case"YieldExpression":case"AwaitExpression":case"AssignmentExpression":case"ConditionalExpression":switch(r.type){case"UnaryExpression":case"SpreadElement":case"SpreadProperty":case"BinaryExpression":case"LogicalExpression":return!0;case"CallExpression":case"NewExpression":return n==="callee"&&r.callee===t;case"ConditionalExpression":return n==="test"&&r.test===t;case"MemberExpression":return n==="object"&&r.object===t;default:return!1}case"ArrowFunctionExpression":return I1.CallExpression.check(r)&&n==="callee"&&r.callee===t||I1.MemberExpression.check(r)&&n==="object"&&r.object===t||I1.TSAsExpression&&I1.TSAsExpression.check(r)&&n==="expression"&&r.expression===t?!0:IIt(r);case"ObjectExpression":if(r.type==="ArrowFunctionExpression"&&n==="body"&&r.body===t)return!0;break;case"TSAsExpression":if(r.type==="ArrowFunctionExpression"&&n==="body"&&r.body===t&&t.expression.type==="ObjectExpression")return!0;break;case"CallExpression":if(n==="declaration"&&I1.ExportDefaultDeclaration.check(r)&&I1.FunctionExpression.check(t.callee))return!0}return r.type==="NewExpression"&&n==="callee"&&r.callee===t?i2t(t):!!(e!==!0&&!this.canBeFirstInStatement()&&this.firstInStatement())};function IIt(e){return I1.BinaryExpression.check(e)||I1.LogicalExpression.check(e)}function i2t(e){return I1.CallExpression.check(e)?!0:oOr.check(e)?e.some(i2t):I1.Node.check(e)?fpe.someField(e,function(t,r){return i2t(r)}):!1}oy.canBeFirstInStatement=function(){var e=this.getNode();return!(I1.FunctionExpression.check(e)||I1.ObjectExpression.check(e)||I1.ClassExpression.check(e))};oy.firstInStatement=function(){for(var e=this.stack,t,r,n,i,s=e.length-1;s>=0;s-=2)if(I1.Node.check(e[s])&&(n=t,i=r,t=e[s-1],r=e[s]),!(!r||!i)){if(I1.BlockStatement.check(r)&&t==="body"&&n===0)return(0,F3.default)(r.body[0]===i),!0;if(I1.ExpressionStatement.check(r)&&n==="expression")return(0,F3.default)(r.expression===i),!0;if(I1.AssignmentExpression.check(r)&&n==="left")return(0,F3.default)(r.left===i),!0;if(I1.ArrowFunctionExpression.check(r)&&n==="body")return(0,F3.default)(r.body===i),!0;if(I1.SequenceExpression.check(r)&&e[s+1]==="expressions"&&n===0){(0,F3.default)(r.expressions[0]===i);continue}if(I1.CallExpression.check(r)&&n==="callee"){(0,F3.default)(r.callee===i);continue}if(I1.MemberExpression.check(r)&&n==="object"){(0,F3.default)(r.object===i);continue}if(I1.ConditionalExpression.check(r)&&n==="test"){(0,F3.default)(r.test===i);continue}if(IIt(r)&&n==="left"){(0,F3.default)(r.left===i);continue}if(I1.UnaryExpression.check(r)&&!r.prefix&&n==="argument"){(0,F3.default)(r.argument===i);continue}return!1}return!0};s2t.default=tJ});var zIt=Le(rne=>{"use strict";Object.defineProperty(rne,"__esModule",{value:!0});rne.getReprinter=rne.Patcher=void 0;var Nke=(TR(),AR(cR)),tne=Nke.__importDefault(QN()),dpe=Nke.__importStar(ppe()),PN=Nke.__importStar($N()),mpe=PN.namedTypes.Printable,MIt=PN.namedTypes.Expression,uOr=PN.namedTypes.ReturnStatement,lOr=PN.namedTypes.SourceLocation,xpe=Vv(),$ke=Nke.__importDefault(o2t()),kpe=PN.builtInTypes.object,R2t=PN.builtInTypes.array,cOr=PN.builtInTypes.string,Qke=/[0-9a-z_$]/i,l2t=function e(t){(0,tne.default)(this instanceof e),(0,tne.default)(t instanceof dpe.Lines);var r=this,n=[];r.replace=function(i,s){cOr.check(s)&&(s=dpe.fromString(s)),n.push({lines:s,start:i.start,end:i.end})},r.get=function(i){i=i||{start:{line:1,column:0},end:{line:t.length,column:t.getLineLength(t.length)}};var s=i.start,R=[];function l(c,h){(0,tne.default)((0,xpe.comparePos)(c,h)<=0),R.push(t.slice(c,h))}return n.sort(function(c,h){return(0,xpe.comparePos)(c.start,h.start)}).forEach(function(c){(0,xpe.comparePos)(s,c.start)>0||(l(s,c.start),R.push(c.lines),s=c.end)}),l(s,i.end),dpe.concat(R)}};rne.Patcher=l2t;var UIt=l2t.prototype;UIt.tryToReprintComments=function(e,t,r){var n=this;if(!e.comments&&!t.comments)return!0;var i=$ke.default.from(e),s=$ke.default.from(t);i.stack.push("comments",WIt(e)),s.stack.push("comments",WIt(t));var R=[],l=LIt(i,s,R);return l&&R.length>0&&R.forEach(function(c){var h=c.oldPath.getValue();(0,tne.default)(h.leading||h.trailing),n.replace(h.loc,r(c.newPath).indentTail(h.loc.indent))}),l};function WIt(e){var t=[];return e.comments&&e.comments.length>0&&e.comments.forEach(function(r){(r.leading||r.trailing)&&t.push(r)}),t}UIt.deleteComments=function(e){if(e.comments){var t=this;e.comments.forEach(function(r){r.leading?t.replace({start:r.loc.start,end:e.loc.lines.skipSpaces(r.loc.end,!1,!1)},""):r.trailing&&t.replace({start:e.loc.lines.skipSpaces(r.loc.start,!0,!1),end:r.loc.end},"")})}};function TOr(e){(0,tne.default)(e instanceof $ke.default);var t=e.getValue();if(mpe.check(t)){var r=t.original,n=r&&r.loc,i=n&&n.lines,s=[];if(!(!i||!hOr(e,s)))return function(R){var l=new l2t(i);s.forEach(function(h){var _=h.newPath.getValue(),f=h.oldPath.getValue();lOr.assert(f.loc,!0);var m=!l.tryToReprintComments(_,f,R);m&&l.deleteComments(f);var x=R(h.newPath,{includeComments:m,avoidRootParens:f.type===_.type&&h.oldPath.hasParens()}).indentTail(f.loc.indent),y=pOr(i,f.loc,x),A=_Or(i,f.loc,x);if(y||A){var D=[];y&&D.push(" "),D.push(x),A&&D.push(" "),x=dpe.concat(D)}l.replace(f.loc,x)});var c=l.get(n).indentTail(-r.loc.indent);return e.needsParens()?dpe.concat(["(",c,")"]):c}}}rne.getReprinter=TOr;function pOr(e,t,r){var n=(0,xpe.copyPos)(t.start),i=e.prevPos(n)&&e.charAt(n),s=r.charAt(r.firstPos());return i&&Qke.test(i)&&s&&Qke.test(s)}function _Or(e,t,r){var n=e.charAt(t.end),i=r.lastPos(),s=r.prevPos(i)&&r.charAt(i);return s&&Qke.test(s)&&n&&Qke.test(n)}function hOr(e,t){var r=e.getValue();mpe.assert(r);var n=r.original;if(mpe.assert(n),(0,tne.default)(t.length===0),r.type!==n.type)return!1;var i=new $ke.default(n),s=u2t(e,i,t);return s||(t.length=0),s}function FIt(e,t,r){var n=e.getValue(),i=t.getValue();return n===i?!0:R2t.check(n)?LIt(e,t,r):kpe.check(n)?fOr(e,t,r):!1}function LIt(e,t,r){var n=e.getValue(),i=t.getValue();if(n===i||e.valueIsDuplicate()||t.valueIsDuplicate())return!0;R2t.assert(n);var s=n.length;if(!(R2t.check(i)&&i.length===s))return!1;for(var R=0;RR)}});var eMt=Le(Wke=>{"use strict";Object.defineProperty(Wke,"__esModule",{value:!0});Wke.Printer=void 0;var ane=(TR(),AR(cR)),UE=ane.__importDefault(QN()),nJ=ane.__importStar($N()),HIt=e2t(),Bke=ane.__importDefault(o2t()),nr=ppe(),dOr=Oke(),xOr=zIt(),Xv=ane.__importStar(Vv()),Ld=nJ.namedTypes,T2t=nJ.builtInTypes.string,mOr=nJ.builtInTypes.object,Mke=function e(t,r){(0,UE.default)(this instanceof e),T2t.assert(t),this.code=t,r&&(mOr.assert(r),this.map=r)},kOr=Mke.prototype,YIt=!1;kOr.toString=function(){return YIt||(console.warn("Deprecation warning: recast.print now returns an object with a .code property. You appear to be treating the object as a string, which might still work but is strongly discouraged."),YIt=!0),this.code};var KIt=new Mke(""),yOr=function e(t){(0,UE.default)(this instanceof e);var r=t&&t.tabWidth;t=(0,dOr.normalize)(t),t.sourceFileName=null;function n(s,R){return s=Object.assign({},s,R),function(l){return i(l,s)}}function i(s,R){if((0,UE.default)(s instanceof Bke.default),R=R||{},R.includeComments)return(0,HIt.printComments)(s,n(R,{includeComments:!1}));var l=t.tabWidth;if(!r){var c=s.getNode().loc;c&&c.lines&&c.lines.guessTabWidth&&(t.tabWidth=c.lines.guessTabWidth())}var h=(0,xOr.getReprinter)(s),_=h?h(i):GIt(s,t,R,n(R,{includeComments:!0,avoidRootParens:!1}));return t.tabWidth=l,_}this.print=function(s){if(!s)return KIt;var R=i(Bke.default.from(s),{includeComments:!0,avoidRootParens:!1});return new Mke(R.toString(t),Xv.composeSourceMaps(t.inputSourceMap,R.getSourceMap(t.sourceMapName,t.sourceRoot)))},this.printGenerically=function(s){if(!s)return KIt;function R(_){return(0,HIt.printComments)(_,function(f){return GIt(f,t,{includeComments:!0,avoidRootParens:!1},R)})}var l=Bke.default.from(s),c=t.reuseWhitespace;t.reuseWhitespace=!1;var h=new Mke(R(l).toString(t));return t.reuseWhitespace=c,h}};Wke.Printer=yOr;function GIt(e,t,r,n){(0,UE.default)(e instanceof Bke.default);var i=e.getValue(),s=[],R=qOr(e,t,n);if(!i||R.isEmpty())return R;var l=!1,c=COr(e,n);return c.isEmpty()?r.avoidRootParens||(l=e.needsParens()):s.push(c),l&&s.unshift("("),s.push(R),l&&s.push(")"),(0,nr.concat)(s)}function qOr(e,t,r){var n=e.getValue();if(!n)return(0,nr.fromString)("");if(typeof n=="string")return(0,nr.fromString)(n,t);Ld.Printable.assert(n);var i=[];switch(n.type){case"File":return e.call(r,"program");case"Program":return n.directives&&e.each(function(dr){i.push(r(dr),`; +`)},"directives"),n.interpreter&&i.push(e.call(r,"interpreter")),i.push(e.call(function(dr){return nne(dr,t,r)},"body")),(0,nr.concat)(i);case"Noop":case"EmptyStatement":return(0,nr.fromString)("");case"ExpressionStatement":return(0,nr.concat)([e.call(r,"expression"),";"]);case"ParenthesizedExpression":return(0,nr.concat)(["(",e.call(r,"expression"),")"]);case"BinaryExpression":case"LogicalExpression":case"AssignmentExpression":return(0,nr.fromString)(" ").join([e.call(r,"left"),n.operator,e.call(r,"right")]);case"AssignmentPattern":return(0,nr.concat)([e.call(r,"left")," = ",e.call(r,"right")]);case"MemberExpression":case"OptionalMemberExpression":{i.push(e.call(r,"object"));var s=e.call(r,"property"),R=nJ.getFieldValue(n,"optional");return n.computed?i.push(R?"?.[":"[",s,"]"):i.push(R?"?.":".",s),(0,nr.concat)(i)}case"ChainExpression":return e.call(r,"expression");case"MetaProperty":return(0,nr.concat)([e.call(r,"meta"),".",e.call(r,"property")]);case"BindExpression":return n.object&&i.push(e.call(r,"object")),i.push("::",e.call(r,"callee")),(0,nr.concat)(i);case"Path":return(0,nr.fromString)(".").join(n.body);case"Identifier":return(0,nr.concat)([(0,nr.fromString)(n.name,t),n.optional?"?":"",e.call(r,"typeAnnotation")]);case"SpreadElement":case"SpreadElementPattern":case"RestProperty":case"SpreadProperty":case"SpreadPropertyPattern":case"ObjectTypeSpreadProperty":case"RestElement":return(0,nr.concat)(["...",e.call(r,"argument"),e.call(r,"typeAnnotation")]);case"FunctionDeclaration":case"FunctionExpression":case"TSDeclareFunction":return n.declare&&i.push("declare "),n.async&&i.push("async "),i.push("function"),n.generator&&i.push("*"),n.id?i.push(" ",e.call(r,"id"),e.call(r,"typeParameters")):n.typeParameters&&i.push(e.call(r,"typeParameters")),i.push("(",Jv(e,t,r),")",e.call(r,"returnType")),n.body&&i.push(" ",e.call(r,"body")),(0,nr.concat)(i);case"ArrowFunctionExpression":return n.async&&i.push("async "),n.typeParameters&&i.push(e.call(r,"typeParameters")),!t.arrowParensAlways&&n.params.length===1&&!n.rest&&n.params[0].type==="Identifier"&&!n.params[0].typeAnnotation&&!n.returnType?i.push(e.call(r,"params",0)):i.push("(",Jv(e,t,r),")",e.call(r,"returnType")),i.push(" => ",e.call(r,"body")),(0,nr.concat)(i);case"MethodDefinition":return c2t(e,t,r);case"YieldExpression":return i.push("yield"),n.delegate&&i.push("*"),n.argument&&i.push(" ",e.call(r,"argument")),(0,nr.concat)(i);case"AwaitExpression":return i.push("await"),n.all&&i.push("*"),n.argument&&i.push(" ",e.call(r,"argument")),(0,nr.concat)(i);case"ModuleExpression":return(0,nr.concat)([`module { +`,e.call(r,"body").indent(t.tabWidth),` +}`]);case"ModuleDeclaration":return i.push("module",e.call(r,"id")),n.source?((0,UE.default)(!n.body),i.push("from",e.call(r,"source"))):i.push(e.call(r,"body")),(0,nr.fromString)(" ").join(i);case"ImportSpecifier":return n.importKind&&n.importKind!=="value"&&i.push(n.importKind+" "),n.imported?(i.push(e.call(r,"imported")),n.local&&n.local.name!==n.imported.name&&i.push(" as ",e.call(r,"local"))):n.id&&(i.push(e.call(r,"id")),n.name&&i.push(" as ",e.call(r,"name"))),(0,nr.concat)(i);case"ExportSpecifier":return n.exportKind&&n.exportKind!=="value"&&i.push(n.exportKind+" "),n.local?(i.push(e.call(r,"local")),n.exported&&n.exported.name!==n.local.name&&i.push(" as ",e.call(r,"exported"))):n.id&&(i.push(e.call(r,"id")),n.name&&i.push(" as ",e.call(r,"name"))),(0,nr.concat)(i);case"ExportBatchSpecifier":return(0,nr.fromString)("*");case"ImportNamespaceSpecifier":return i.push("* as "),n.local?i.push(e.call(r,"local")):n.id&&i.push(e.call(r,"id")),(0,nr.concat)(i);case"ImportDefaultSpecifier":return n.local?e.call(r,"local"):e.call(r,"id");case"TSExportAssignment":return(0,nr.concat)(["export = ",e.call(r,"expression")]);case"ExportDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":return jIt(e,t,r);case"ExportAllDeclaration":return i.push("export *"),n.exported&&i.push(" as ",e.call(r,"exported")),i.push(" from ",e.call(r,"source"),";"),(0,nr.concat)(i);case"TSNamespaceExportDeclaration":return i.push("export as namespace ",e.call(r,"id")),Ike((0,nr.concat)(i));case"ExportNamespaceSpecifier":return(0,nr.concat)(["* as ",e.call(r,"exported")]);case"ExportDefaultSpecifier":return e.call(r,"exported");case"Import":return(0,nr.fromString)("import",t);case"ImportExpression":return(0,nr.concat)(["import(",e.call(r,"source"),")"]);case"ImportDeclaration":{if(i.push("import "),n.importKind&&n.importKind!=="value"&&i.push(n.importKind+" "),n.specifiers&&n.specifiers.length>0){var l=[],c=[];if(e.each(function(dr){var vr=dr.getValue();vr.type==="ImportSpecifier"?c.push(r(dr)):(vr.type==="ImportDefaultSpecifier"||vr.type==="ImportNamespaceSpecifier")&&l.push(r(dr))},"specifiers"),l.forEach(function(dr,vr){vr>0&&i.push(", "),i.push(dr)}),c.length>0){var h=(0,nr.fromString)(", ").join(c);h.getLineLength(1)>t.wrapColumn&&(h=(0,nr.concat)([(0,nr.fromString)(`, +`).join(c).indent(t.tabWidth),","])),l.length>0&&i.push(", "),h.length>1?i.push(`{ +`,h,` +}`):t.objectCurlySpacing?i.push("{ ",h," }"):i.push("{",h,"}")}i.push(" from ")}return i.push(e.call(r,"source"),ZIt(e,t,r),";"),(0,nr.concat)(i)}case"ImportAttribute":return(0,nr.concat)([e.call(r,"key"),": ",e.call(r,"value")]);case"StaticBlock":i.push("static ");case"BlockStatement":{var _=e.call(function(dr){return nne(dr,t,r)},"body");return _.isEmpty()&&(!n.directives||n.directives.length===0)?(i.push("{}"),(0,nr.concat)(i)):(i.push(`{ +`),n.directives&&e.each(function(dr){i.push(Ike(r(dr).indent(t.tabWidth)),n.directives.length>1||!_.isEmpty()?` +`:"")},"directives"),i.push(_.indent(t.tabWidth)),i.push(` +}`),(0,nr.concat)(i))}case"ReturnStatement":{if(i.push("return"),n.argument){var f=e.call(r,"argument");f.startsWithComment()||f.length>1&&Ld.JSXElement&&Ld.JSXElement.check(n.argument)?i.push(` ( +`,f.indent(t.tabWidth),` +)`):i.push(" ",f)}return i.push(";"),(0,nr.concat)(i)}case"CallExpression":case"OptionalCallExpression":return i.push(e.call(r,"callee")),n.typeParameters&&i.push(e.call(r,"typeParameters")),n.typeArguments&&i.push(e.call(r,"typeArguments")),nJ.getFieldValue(n,"optional")&&i.push("?."),i.push(VIt(e,t,r)),(0,nr.concat)(i);case"RecordExpression":i.push("#");case"ObjectExpression":case"ObjectPattern":case"ObjectTypeAnnotation":{var m=n.type==="ObjectTypeAnnotation",x=t.flowObjectCommas?",":m?";":",",y=[],A=!1;m&&(y.push("indexers","callProperties"),n.internalSlots!=null&&y.push("internalSlots")),y.push("properties");var D=0;y.forEach(function(dr){D+=n[dr].length});var S=m&&D===1||D===0,P=n.exact?"{|":"{",M=n.exact?"|}":"}";i.push(S?P:P+` +`);var U=i.length-1,w=0;if(y.forEach(function(dr){e.each(function(vr){var ln=r(vr);S||(ln=ln.indent(t.tabWidth));var Mn=!m&&ln.length>1;Mn&&A&&i.push(` +`),i.push(ln),w0&&i.push(x," "),i.push(F)):i.push(` +`,F.indent(t.tabWidth))}return i.push(S?M:` +`+M),w!==0&&S&&t.objectCurlySpacing&&(i[U]=P+" ",i[i.length-1]=" "+M),n.typeAnnotation&&i.push(e.call(r,"typeAnnotation")),(0,nr.concat)(i)}case"PropertyPattern":return(0,nr.concat)([e.call(r,"key"),": ",e.call(r,"pattern")]);case"ObjectProperty":case"Property":{if(n.method||n.kind==="get"||n.kind==="set")return c2t(e,t,r);if(n.shorthand&&n.value.type==="AssignmentPattern")return e.call(r,"value");var H=e.call(r,"key");return n.computed?i.push("[",H,"]"):i.push(H),(!n.shorthand||n.key.name!==n.value.name)&&i.push(": ",e.call(r,"value")),(0,nr.concat)(i)}case"ClassMethod":case"ObjectMethod":case"ClassPrivateMethod":case"TSDeclareMethod":return c2t(e,t,r);case"PrivateName":return(0,nr.concat)(["#",e.call(r,"id")]);case"Decorator":return(0,nr.concat)(["@",e.call(r,"expression")]);case"TupleExpression":i.push("#");case"ArrayExpression":case"ArrayPattern":{var G=n.elements,ee=G.length,fe=e.map(r,"elements"),me=(0,nr.fromString)(", ").join(fe),ve=me.getLineLength(1)<=t.wrapColumn;return ve?t.arrayBracketSpacing?i.push("[ "):i.push("["):i.push(`[ +`),e.each(function(dr){var vr=dr.getName(),ln=dr.getValue();if(!ln)i.push(",");else{var Mn=fe[vr];ve?vr>0&&i.push(" "):Mn=Mn.indent(t.tabWidth),i.push(Mn),(vr1?i.push((0,nr.fromString)(`, +`).join(Ee).indentTail(n.kind.length+1)):i.push(Ee[0]);var Me=e.getParentNode();return!Ld.ForStatement.check(Me)&&!Ld.ForInStatement.check(Me)&&!(Ld.ForOfStatement&&Ld.ForOfStatement.check(Me))&&!(Ld.ForAwaitStatement&&Ld.ForAwaitStatement.check(Me))&&i.push(";"),(0,nr.concat)(i)}case"VariableDeclarator":return n.init?(0,nr.fromString)(" = ").join([e.call(r,"id"),e.call(r,"init")]):e.call(r,"id");case"WithStatement":return(0,nr.concat)(["with (",e.call(r,"object"),") ",e.call(r,"body")]);case"IfStatement":{var gt=rJ(e.call(r,"consequent"),t);return i.push("if (",e.call(r,"test"),")",gt),n.alternate&&i.push(JIt(gt)?" else":` +else`,rJ(e.call(r,"alternate"),t)),(0,nr.concat)(i)}case"ForStatement":{var xt=e.call(r,"init"),Nt=xt.length>1?`; +`:"; ",lt="for (",at=(0,nr.fromString)(Nt).join([xt,e.call(r,"test"),e.call(r,"update")]).indentTail(lt.length),_t=(0,nr.concat)([lt,at,")"]),Ve=rJ(e.call(r,"body"),t);return i.push(_t),_t.length>1&&(i.push(` +`),Ve=Ve.trimLeft()),i.push(Ve),(0,nr.concat)(i)}case"WhileStatement":return(0,nr.concat)(["while (",e.call(r,"test"),")",rJ(e.call(r,"body"),t)]);case"ForInStatement":return(0,nr.concat)([n.each?"for each (":"for (",e.call(r,"left")," in ",e.call(r,"right"),")",rJ(e.call(r,"body"),t)]);case"ForOfStatement":case"ForAwaitStatement":return i.push("for "),(n.await||n.type==="ForAwaitStatement")&&i.push("await "),i.push("(",e.call(r,"left")," of ",e.call(r,"right"),")",rJ(e.call(r,"body"),t)),(0,nr.concat)(i);case"DoWhileStatement":{var Dt=(0,nr.concat)(["do",rJ(e.call(r,"body"),t)]);return i.push(Dt),JIt(Dt)?i.push(" while"):i.push(` +while`),i.push(" (",e.call(r,"test"),");"),(0,nr.concat)(i)}case"DoExpression":{var Ut=e.call(function(dr){return nne(dr,t,r)},"body");return(0,nr.concat)([`do { +`,Ut.indent(t.tabWidth),` +}`])}case"BreakStatement":return i.push("break"),n.label&&i.push(" ",e.call(r,"label")),i.push(";"),(0,nr.concat)(i);case"ContinueStatement":return i.push("continue"),n.label&&i.push(" ",e.call(r,"label")),i.push(";"),(0,nr.concat)(i);case"LabeledStatement":return(0,nr.concat)([e.call(r,"label"),`: +`,e.call(r,"body")]);case"TryStatement":return i.push("try ",e.call(r,"block")),n.handler?i.push(" ",e.call(r,"handler")):n.handlers&&e.each(function(dr){i.push(" ",r(dr))},"handlers"),n.finalizer&&i.push(" finally ",e.call(r,"finalizer")),(0,nr.concat)(i);case"CatchClause":return i.push("catch "),n.param&&i.push("(",e.call(r,"param")),n.guard&&i.push(" if ",e.call(r,"guard")),n.param&&i.push(") "),i.push(e.call(r,"body")),(0,nr.concat)(i);case"ThrowStatement":return(0,nr.concat)(["throw ",e.call(r,"argument"),";"]);case"SwitchStatement":return(0,nr.concat)(["switch (",e.call(r,"discriminant"),`) { +`,(0,nr.fromString)(` +`).join(e.map(r,"cases")),` +}`]);case"SwitchCase":return n.test?i.push("case ",e.call(r,"test"),":"):i.push("default:"),n.consequent.length>0&&i.push(` +`,e.call(function(dr){return nne(dr,t,r)},"consequent").indent(t.tabWidth)),(0,nr.concat)(i);case"DebuggerStatement":return(0,nr.fromString)("debugger;");case"JSXAttribute":return i.push(e.call(r,"name")),n.value&&i.push("=",e.call(r,"value")),(0,nr.concat)(i);case"JSXIdentifier":return(0,nr.fromString)(n.name,t);case"JSXNamespacedName":return(0,nr.fromString)(":").join([e.call(r,"namespace"),e.call(r,"name")]);case"JSXMemberExpression":return(0,nr.fromString)(".").join([e.call(r,"object"),e.call(r,"property")]);case"JSXSpreadAttribute":return(0,nr.concat)(["{...",e.call(r,"argument"),"}"]);case"JSXSpreadChild":return(0,nr.concat)(["{...",e.call(r,"expression"),"}"]);case"JSXExpressionContainer":return(0,nr.concat)(["{",e.call(r,"expression"),"}"]);case"JSXElement":case"JSXFragment":{var pt="opening"+(n.type==="JSXElement"?"Element":"Fragment"),ht="closing"+(n.type==="JSXElement"?"Element":"Fragment"),He=e.call(r,pt);if(n[pt].selfClosing)return(0,UE.default)(!n[ht],"unexpected "+ht+" element in self-closing "+n.type),He;var jt=(0,nr.concat)(e.map(function(dr){var vr=dr.getValue();if(Ld.Literal.check(vr)&&typeof vr.value=="string"){if(/\S/.test(vr.value))return vr.value.replace(/^\s+/g,"");if(/\n/.test(vr.value))return` +`}return r(dr)},"children")).indentTail(t.tabWidth),zr=e.call(r,ht);return(0,nr.concat)([He,jt,zr])}case"JSXOpeningElement":{i.push("<",e.call(r,"name"));var Bn=e.call(r,"typeParameters");Bn.length&&i.push(Bn);var an=[];e.each(function(dr){an.push(" ",r(dr))},"attributes");var ri=(0,nr.concat)(an),Zr=ri.length>1||ri.getLineLength(1)>t.wrapColumn;return Zr&&(an.forEach(function(dr,vr){dr===" "&&((0,UE.default)(vr%2===0),an[vr]=` +`)}),ri=(0,nr.concat)(an).indentTail(t.tabWidth)),i.push(ri,n.selfClosing?" />":">"),(0,nr.concat)(i)}case"JSXClosingElement":return(0,nr.concat)([""]);case"JSXOpeningFragment":return(0,nr.fromString)("<>");case"JSXClosingFragment":return(0,nr.fromString)("");case"JSXText":return(0,nr.fromString)(n.value,t);case"JSXEmptyExpression":return(0,nr.fromString)("");case"TypeAnnotatedIdentifier":return(0,nr.concat)([e.call(r,"annotation")," ",e.call(r,"identifier")]);case"ClassBody":return n.body.length===0?(0,nr.fromString)("{}"):(0,nr.concat)([`{ +`,e.call(function(dr){return nne(dr,t,r)},"body").indent(t.tabWidth),` +}`]);case"ClassPropertyDefinition":return i.push("static ",e.call(r,"definition")),Ld.MethodDefinition.check(n.definition)||i.push(";"),(0,nr.concat)(i);case"ClassProperty":{n.declare&&i.push("declare ");var bn=n.accessibility||n.access;typeof bn=="string"&&i.push(bn," "),n.static&&i.push("static "),n.abstract&&i.push("abstract "),n.readonly&&i.push("readonly ");var H=e.call(r,"key");return n.computed&&(H=(0,nr.concat)(["[",H,"]"])),n.variance&&(H=(0,nr.concat)([qpe(e,r),H])),i.push(H),n.optional&&i.push("?"),n.definite&&i.push("!"),n.typeAnnotation&&i.push(e.call(r,"typeAnnotation")),n.value&&i.push(" = ",e.call(r,"value")),i.push(";"),(0,nr.concat)(i)}case"ClassPrivateProperty":return n.static&&i.push("static "),i.push(e.call(r,"key")),n.typeAnnotation&&i.push(e.call(r,"typeAnnotation")),n.value&&i.push(" = ",e.call(r,"value")),i.push(";"),(0,nr.concat)(i);case"ClassAccessorProperty":return i.push.apply(i,ane.__spreadArray(ane.__spreadArray([],XIt(n),!1),["accessor "],!1)),n.computed?i.push("[",e.call(r,"key"),"]"):i.push(e.call(r,"key")),n.optional&&i.push("?"),n.definite&&i.push("!"),n.typeAnnotation&&i.push(e.call(r,"typeAnnotation")),n.value&&i.push(" = ",e.call(r,"value")),i.push(";"),(0,nr.concat)(i);case"ClassDeclaration":case"ClassExpression":case"DeclareClass":return n.declare&&i.push("declare "),n.abstract&&i.push("abstract "),i.push("class"),n.id&&i.push(" ",e.call(r,"id")),n.typeParameters&&i.push(e.call(r,"typeParameters")),n.superClass&&i.push(" extends ",e.call(r,"superClass"),e.call(r,"superTypeParameters")),n.extends&&n.extends.length>0&&i.push(" extends ",(0,nr.fromString)(", ").join(e.map(r,"extends"))),n.implements&&n.implements.length>0&&i.push(" implements ",(0,nr.fromString)(", ").join(e.map(r,"implements"))),i.push(" ",e.call(r,"body")),n.type==="DeclareClass"?ype(e,i):(0,nr.concat)(i);case"TemplateElement":return(0,nr.fromString)(n.value.raw,t).lockIndentTail();case"TemplateLiteral":{var Zn=e.map(r,"expressions");return i.push("`"),e.each(function(dr){var vr=dr.getName();i.push(r(dr)),vr0&&i.push(" "):li=li.indent(t.tabWidth),i.push(li),(ln0&&i.push(" extends ",(0,nr.fromString)(", ").join(e.map(r,"extends"))),i.push(" ",e.call(r,"body")),(0,nr.concat)(i);case"DeclareFunction":return ype(e,["function ",e.call(r,"id"),";"]);case"DeclareModule":return ype(e,["module ",e.call(r,"id")," ",e.call(r,"body")]);case"DeclareModuleExports":return ype(e,["module.exports",e.call(r,"typeAnnotation")]);case"DeclareVariable":return ype(e,["var ",e.call(r,"id"),";"]);case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":return(0,nr.concat)(["declare ",jIt(e,t,r)]);case"EnumDeclaration":return(0,nr.concat)(["enum ",e.call(r,"id"),e.call(r,"body")]);case"EnumBooleanBody":case"EnumNumberBody":case"EnumStringBody":case"EnumSymbolBody":return(n.type==="EnumSymbolBody"||n.explicitType)&&i.push(" of ",n.type.slice(4,-4).toLowerCase()),i.push(` { +`,(0,nr.fromString)(` +`).join(e.map(r,"members")).indent(t.tabWidth),` +}`),(0,nr.concat)(i);case"EnumDefaultedMember":return(0,nr.concat)([e.call(r,"id"),","]);case"EnumBooleanMember":case"EnumNumberMember":case"EnumStringMember":return(0,nr.concat)([e.call(r,"id")," = ",e.call(r,"init"),","]);case"InferredPredicate":return(0,nr.fromString)("%checks",t);case"DeclaredPredicate":return(0,nr.concat)(["%checks(",e.call(r,"value"),")"]);case"FunctionTypeAnnotation":{var $i=e.getParentNode(0),cs=!(Ld.ObjectTypeCallProperty.check($i)||Ld.ObjectTypeInternalSlot.check($i)&&$i.method||Ld.DeclareFunction.check(e.getParentNode(2))),Ti=cs&&!Ld.FunctionTypeParam.check($i)&&!Ld.TypeAlias.check($i);Ti&&i.push(": ");var Wi=!!n.typeParameters,Fn=Wi||n.params.length!==1||n.params[0].name;return i.push(Wi?e.call(r,"typeParameters"):"",Fn?"(":"",Jv(e,t,r),Fn?")":""),n.returnType&&i.push(cs?" => ":": ",e.call(r,"returnType")),(0,nr.concat)(i)}case"FunctionTypeParam":{var Hi=e.call(r,"name");return i.push(Hi),n.optional&&i.push("?"),Hi.infos[0].line&&i.push(": "),i.push(e.call(r,"typeAnnotation")),(0,nr.concat)(i)}case"GenericTypeAnnotation":return(0,nr.concat)([e.call(r,"id"),e.call(r,"typeParameters")]);case"DeclareInterface":i.push("declare ");case"InterfaceDeclaration":case"TSInterfaceDeclaration":return n.declare&&i.push("declare "),i.push("interface ",e.call(r,"id"),e.call(r,"typeParameters")," "),n.extends&&n.extends.length>0&&i.push("extends ",(0,nr.fromString)(", ").join(e.map(r,"extends"))," "),n.body&&i.push(e.call(r,"body")),(0,nr.concat)(i);case"ClassImplements":case"InterfaceExtends":return(0,nr.concat)([e.call(r,"id"),e.call(r,"typeParameters")]);case"IntersectionTypeAnnotation":return(0,nr.fromString)(" & ").join(e.map(r,"types"));case"NullableTypeAnnotation":return(0,nr.concat)(["?",e.call(r,"typeAnnotation")]);case"NullLiteralTypeAnnotation":return(0,nr.fromString)("null",t);case"ThisTypeAnnotation":return(0,nr.fromString)("this",t);case"NumberTypeAnnotation":return(0,nr.fromString)("number",t);case"ObjectTypeCallProperty":return e.call(r,"value");case"ObjectTypeIndexer":return n.static&&i.push("static "),i.push(qpe(e,r),"["),n.id&&i.push(e.call(r,"id"),": "),i.push(e.call(r,"key"),"]: ",e.call(r,"value")),(0,nr.concat)(i);case"ObjectTypeProperty":return(0,nr.concat)([qpe(e,r),e.call(r,"key"),n.optional?"?":"",": ",e.call(r,"value")]);case"ObjectTypeInternalSlot":return(0,nr.concat)([n.static?"static ":"","[[",e.call(r,"id"),"]]",n.optional?"?":"",n.value.type!=="FunctionTypeAnnotation"?": ":"",e.call(r,"value")]);case"QualifiedTypeIdentifier":return(0,nr.concat)([e.call(r,"qualification"),".",e.call(r,"id")]);case"StringLiteralTypeAnnotation":return(0,nr.fromString)(Cpe(n.value,t),t);case"NumberLiteralTypeAnnotation":case"NumericLiteralTypeAnnotation":return(0,UE.default)(typeof n.value=="number"),(0,nr.fromString)(JSON.stringify(n.value),t);case"BigIntLiteralTypeAnnotation":return(0,nr.fromString)(n.raw,t);case"StringTypeAnnotation":return(0,nr.fromString)("string",t);case"DeclareTypeAlias":i.push("declare ");case"TypeAlias":return(0,nr.concat)(["type ",e.call(r,"id"),e.call(r,"typeParameters")," = ",e.call(r,"right"),";"]);case"DeclareOpaqueType":i.push("declare ");case"OpaqueType":return i.push("opaque type ",e.call(r,"id"),e.call(r,"typeParameters")),n.supertype&&i.push(": ",e.call(r,"supertype")),n.impltype&&i.push(" = ",e.call(r,"impltype")),i.push(";"),(0,nr.concat)(i);case"TypeCastExpression":return(0,nr.concat)(["(",e.call(r,"expression"),e.call(r,"typeAnnotation"),")"]);case"TypeParameterDeclaration":case"TypeParameterInstantiation":return(0,nr.concat)(["<",(0,nr.fromString)(", ").join(e.map(r,"params")),">"]);case"Variance":return n.kind==="plus"?(0,nr.fromString)("+"):n.kind==="minus"?(0,nr.fromString)("-"):(0,nr.fromString)("");case"TypeParameter":return n.variance&&i.push(qpe(e,r)),i.push(e.call(r,"name")),n.bound&&i.push(e.call(r,"bound")),n.default&&i.push("=",e.call(r,"default")),(0,nr.concat)(i);case"TypeofTypeAnnotation":return(0,nr.concat)([(0,nr.fromString)("typeof ",t),e.call(r,"argument")]);case"IndexedAccessType":case"OptionalIndexedAccessType":return(0,nr.concat)([e.call(r,"objectType"),n.optional?"?.":"","[",e.call(r,"indexType"),"]"]);case"UnionTypeAnnotation":return(0,nr.fromString)(" | ").join(e.map(r,"types"));case"VoidTypeAnnotation":return(0,nr.fromString)("void",t);case"NullTypeAnnotation":return(0,nr.fromString)("null",t);case"SymbolTypeAnnotation":return(0,nr.fromString)("symbol",t);case"BigIntTypeAnnotation":return(0,nr.fromString)("bigint",t);case"TSType":throw new Error("unprintable type: "+JSON.stringify(n.type));case"TSNumberKeyword":return(0,nr.fromString)("number",t);case"TSBigIntKeyword":return(0,nr.fromString)("bigint",t);case"TSObjectKeyword":return(0,nr.fromString)("object",t);case"TSBooleanKeyword":return(0,nr.fromString)("boolean",t);case"TSStringKeyword":return(0,nr.fromString)("string",t);case"TSSymbolKeyword":return(0,nr.fromString)("symbol",t);case"TSAnyKeyword":return(0,nr.fromString)("any",t);case"TSVoidKeyword":return(0,nr.fromString)("void",t);case"TSIntrinsicKeyword":return(0,nr.fromString)("intrinsic",t);case"TSThisType":return(0,nr.fromString)("this",t);case"TSNullKeyword":return(0,nr.fromString)("null",t);case"TSUndefinedKeyword":return(0,nr.fromString)("undefined",t);case"TSUnknownKeyword":return(0,nr.fromString)("unknown",t);case"TSNeverKeyword":return(0,nr.fromString)("never",t);case"TSArrayType":return(0,nr.concat)([e.call(r,"elementType"),"[]"]);case"TSLiteralType":return e.call(r,"literal");case"TSUnionType":return(0,nr.fromString)(" | ").join(e.map(r,"types"));case"TSIntersectionType":return(0,nr.fromString)(" & ").join(e.map(r,"types"));case"TSConditionalType":return i.push(e.call(r,"checkType")," extends ",e.call(r,"extendsType")," ? ",e.call(r,"trueType")," : ",e.call(r,"falseType")),(0,nr.concat)(i);case"TSInferType":return i.push("infer ",e.call(r,"typeParameter")),(0,nr.concat)(i);case"TSParenthesizedType":return(0,nr.concat)(["(",e.call(r,"typeAnnotation"),")"]);case"TSFunctionType":return(0,nr.concat)([e.call(r,"typeParameters"),"(",Jv(e,t,r),") => ",e.call(r,"typeAnnotation","typeAnnotation")]);case"TSConstructorType":return(0,nr.concat)(["new ",e.call(r,"typeParameters"),"(",Jv(e,t,r),") => ",e.call(r,"typeAnnotation","typeAnnotation")]);case"TSMappedType":return i.push(n.readonly?"readonly ":"","[",e.call(r,"typeParameter"),"]",n.optional?"?":""),n.typeAnnotation&&i.push(": ",e.call(r,"typeAnnotation"),";"),(0,nr.concat)([`{ +`,(0,nr.concat)(i).indent(t.tabWidth),` +}`]);case"TSTupleType":return(0,nr.concat)(["[",(0,nr.fromString)(", ").join(e.map(r,"elementTypes")),"]"]);case"TSNamedTupleMember":return i.push(e.call(r,"label")),n.optional&&i.push("?"),i.push(": ",e.call(r,"elementType")),(0,nr.concat)(i);case"TSRestType":return(0,nr.concat)(["...",e.call(r,"typeAnnotation")]);case"TSOptionalType":return(0,nr.concat)([e.call(r,"typeAnnotation"),"?"]);case"TSIndexedAccessType":return(0,nr.concat)([e.call(r,"objectType"),"[",e.call(r,"indexType"),"]"]);case"TSTypeOperator":return(0,nr.concat)([e.call(r,"operator")," ",e.call(r,"typeAnnotation")]);case"TSTypeLiteral":{var Ma=(0,nr.fromString)(` +`).join(e.map(r,"members").map(function(dr){return Ape(dr)!==";"?dr.concat(";"):dr}));return Ma.isEmpty()?(0,nr.fromString)("{}",t):(i.push(`{ +`,Ma.indent(t.tabWidth),` +}`),(0,nr.concat)(i))}case"TSEnumMember":return i.push(e.call(r,"id")),n.initializer&&i.push(" = ",e.call(r,"initializer")),(0,nr.concat)(i);case"TSTypeQuery":return(0,nr.concat)(["typeof ",e.call(r,"exprName")]);case"TSParameterProperty":return n.accessibility&&i.push(n.accessibility," "),n.export&&i.push("export "),n.static&&i.push("static "),n.readonly&&i.push("readonly "),i.push(e.call(r,"parameter")),(0,nr.concat)(i);case"TSTypeReference":return(0,nr.concat)([e.call(r,"typeName"),e.call(r,"typeParameters")]);case"TSQualifiedName":return(0,nr.concat)([e.call(r,"left"),".",e.call(r,"right")]);case"TSAsExpression":case"TSSatisfiesExpression":{var mt=e.call(r,"expression");return i.push(mt,n.type==="TSSatisfiesExpression"?" satisfies ":" as ",e.call(r,"typeAnnotation")),(0,nr.concat)(i)}case"TSTypeCastExpression":return(0,nr.concat)([e.call(r,"expression"),e.call(r,"typeAnnotation")]);case"TSNonNullExpression":return(0,nr.concat)([e.call(r,"expression"),"!"]);case"TSTypeAnnotation":return(0,nr.concat)([": ",e.call(r,"typeAnnotation")]);case"TSIndexSignature":return(0,nr.concat)([n.readonly?"readonly ":"","[",e.map(r,"parameters"),"]",e.call(r,"typeAnnotation")]);case"TSPropertySignature":return i.push(qpe(e,r),n.readonly?"readonly ":""),n.computed?i.push("[",e.call(r,"key"),"]"):i.push(e.call(r,"key")),i.push(n.optional?"?":"",e.call(r,"typeAnnotation")),(0,nr.concat)(i);case"TSMethodSignature":return n.kind==="get"?i.push("get "):n.kind==="set"&&i.push("set "),n.computed?i.push("[",e.call(r,"key"),"]"):i.push(e.call(r,"key")),n.optional&&i.push("?"),i.push(e.call(r,"typeParameters"),"(",Jv(e,t,r),")",e.call(r,"typeAnnotation")),(0,nr.concat)(i);case"TSTypePredicate":return n.asserts&&i.push("asserts "),i.push(e.call(r,"parameterName")),n.typeAnnotation&&i.push(" is ",e.call(r,"typeAnnotation","typeAnnotation")),(0,nr.concat)(i);case"TSCallSignatureDeclaration":return(0,nr.concat)([e.call(r,"typeParameters"),"(",Jv(e,t,r),")",e.call(r,"typeAnnotation")]);case"TSConstructSignatureDeclaration":return n.typeParameters?i.push("new",e.call(r,"typeParameters")):i.push("new "),i.push("(",Jv(e,t,r),")",e.call(r,"typeAnnotation")),(0,nr.concat)(i);case"TSTypeAliasDeclaration":return(0,nr.concat)([n.declare?"declare ":"","type ",e.call(r,"id"),e.call(r,"typeParameters")," = ",e.call(r,"typeAnnotation"),";"]);case"TSTypeParameter":{i.push(e.call(r,"name"));var $i=e.getParentNode(0),ot=Ld.TSMappedType.check($i);return n.constraint&&i.push(ot?" in ":" extends ",e.call(r,"constraint")),n.default&&i.push(" = ",e.call(r,"default")),(0,nr.concat)(i)}case"TSTypeAssertion":return i.push("<",e.call(r,"typeAnnotation"),"> ",e.call(r,"expression")),(0,nr.concat)(i);case"TSTypeParameterDeclaration":case"TSTypeParameterInstantiation":return(0,nr.concat)(["<",(0,nr.fromString)(", ").join(e.map(r,"params")),">"]);case"TSEnumDeclaration":{i.push(n.declare?"declare ":"",n.const?"const ":"","enum ",e.call(r,"id"));var Je=(0,nr.fromString)(`, +`).join(e.map(r,"members"));return Je.isEmpty()?i.push(" {}"):i.push(` { +`,Je.indent(t.tabWidth),` +}`),(0,nr.concat)(i)}case"TSExpressionWithTypeArguments":return(0,nr.concat)([e.call(r,"expression"),e.call(r,"typeParameters")]);case"TSInterfaceBody":{var h=(0,nr.fromString)(` +`).join(e.map(r,"body").map(function(vr){return Ape(vr)!==";"?vr.concat(";"):vr}));return h.isEmpty()?(0,nr.fromString)("{}",t):(0,nr.concat)([`{ +`,h.indent(t.tabWidth),` +}`])}case"TSImportType":return i.push("import(",e.call(r,"argument"),")"),n.qualifier&&i.push(".",e.call(r,"qualifier")),n.typeParameters&&i.push(e.call(r,"typeParameters")),(0,nr.concat)(i);case"TSImportEqualsDeclaration":return n.isExport&&i.push("export "),i.push("import ",e.call(r,"id")," = ",e.call(r,"moduleReference")),Ike((0,nr.concat)(i));case"TSExternalModuleReference":return(0,nr.concat)(["require(",e.call(r,"expression"),")"]);case"TSModuleDeclaration":{var $i=e.getParentNode();if($i.type==="TSModuleDeclaration")i.push(".");else if(n.declare&&i.push("declare "),!n.global){var Ct=n.id.type==="StringLiteral"||n.id.type==="Literal"&&typeof n.id.value=="string";if(Ct)i.push("module ");else if(n.loc&&n.loc.lines&&n.id.loc){var Pt=n.loc.lines.sliceString(n.loc.start,n.id.loc.start);Pt.indexOf("module")>=0?i.push("module "):i.push("namespace ")}else i.push("namespace ")}return i.push(e.call(r,"id")),n.body&&(i.push(" "),i.push(e.call(r,"body"))),(0,nr.concat)(i)}case"TSModuleBlock":{var Zt=e.call(function(dr){return nne(dr,t,r)},"body");return Zt.isEmpty()?i.push("{}"):i.push(`{ +`,Zt.indent(t.tabWidth),` +}`),(0,nr.concat)(i)}case"TSInstantiationExpression":return i.push(e.call(r,"expression"),e.call(r,"typeParameters")),(0,nr.concat)(i);case"V8IntrinsicIdentifier":return(0,nr.concat)(["%",e.call(r,"name")]);case"TopicReference":return(0,nr.fromString)("#");case"ClassHeritage":case"ComprehensionBlock":case"ComprehensionExpression":case"Glob":case"GeneratorExpression":case"LetStatement":case"LetExpression":case"GraphExpression":case"GraphIndexExpression":case"XMLDefaultDeclaration":case"XMLAnyName":case"XMLQualifiedIdentifier":case"XMLFunctionQualifiedIdentifier":case"XMLAttributeSelector":case"XMLFilterExpression":case"XML":case"XMLElement":case"XMLList":case"XMLEscape":case"XMLText":case"XMLStartTag":case"XMLEndTag":case"XMLPointTag":case"XMLName":case"XMLAttribute":case"XMLCdata":case"XMLComment":case"XMLProcessingInstruction":default:debugger;throw new Error("unknown type: "+JSON.stringify(n.type))}}function COr(e,t){var r=[],n=e.getValue();return n.decorators&&n.decorators.length>0&&!Xv.getParentExportDeclaration(e)?e.each(function(i){r.push(t(i),` +`)},"decorators"):Xv.isExportDeclaration(n)&&n.declaration&&n.declaration.decorators&&e.each(function(i){r.push(t(i),` +`)},"declaration","decorators"),(0,nr.concat)(r)}function nne(e,t,r){var n=[],i=!1,s=!1;e.each(function(h){var _=h.getValue();_&&(_.type==="EmptyStatement"&&!(_.comments&&_.comments.length>0)||(Ld.Comment.check(_)?i=!0:Ld.Statement.check(_)?s=!0:T2t.assert(_),n.push({node:_,printed:r(h)})))}),i&&(0,UE.default)(s===!1,"Comments may appear as statements in otherwise empty statement lists, but may not coexist with non-Comment nodes.");var R=null,l=n.length,c=[];return n.forEach(function(h,_){var f=h.printed,m=h.node,x=f.length>1,y=_>0,A=_r.length?n:r}function XIt(e){var t=[];e.declare&&t.push("declare ");var r=e.accessibility||e.access;return typeof r=="string"&&t.push(r," "),e.static&&t.push("static "),e.override&&t.push("override "),e.abstract&&t.push("abstract "),e.readonly&&t.push("readonly "),t}function c2t(e,t,r){var n=e.getNode(),i=n.kind,s=[],R=n.value;Ld.FunctionExpression.check(R)||(R=n),s.push.apply(s,XIt(n)),R.async&&s.push("async "),R.generator&&s.push("*"),(i==="get"||i==="set")&&s.push(i," ");var l=e.call(r,"key");return n.computed&&(l=(0,nr.concat)(["[",l,"]"])),s.push(l),n.optional&&s.push("?"),n===R?(s.push(e.call(r,"typeParameters"),"(",Jv(e,t,r),")",e.call(r,"returnType")),n.body?s.push(" ",e.call(r,"body")):s.push(";")):(s.push(e.call(r,"value","typeParameters"),"(",e.call(function(c){return Jv(c,t,r)},"value"),")",e.call(r,"value","returnType")),R.body?s.push(" ",e.call(r,"value","body")):s.push(";")),(0,nr.concat)(s)}function VIt(e,t,r){var n=e.map(r,"arguments"),i=Xv.isTrailingCommaEnabled(t,"parameters"),s=(0,nr.fromString)(", ").join(n);return s.getLineLength(1)>t.wrapColumn?(s=(0,nr.fromString)(`, +`).join(n),(0,nr.concat)([`( +`,s.indent(t.tabWidth),i?`, +)`:` +)`])):(0,nr.concat)(["(",s,")"])}function Jv(e,t,r){var n=e.getValue(),i,s=[];n.params?(i=n.params,s=e.map(r,"params")):n.parameters&&(i=n.parameters,s=e.map(r,"parameters")),n.defaults&&e.each(function(l){var c=l.getName(),h=s[c];h&&l.getValue()&&(s[c]=(0,nr.concat)([h," = ",r(l)]))},"defaults"),n.rest&&s.push((0,nr.concat)(["...",e.call(r,"rest")]));var R=(0,nr.fromString)(", ").join(s);return R.length>1||R.getLineLength(1)>t.wrapColumn?(R=(0,nr.fromString)(`, +`).join(s),Xv.isTrailingCommaEnabled(t,"parameters")&&!n.rest&&i[i.length-1].type!=="RestElement"?R=(0,nr.concat)([R,`, +`]):R=(0,nr.concat)([R,` +`]),(0,nr.concat)([` +`,R.indent(t.tabWidth)])):R}function ZIt(e,t,r){var n=e.getValue();if(n.assertions&&n.assertions.length>0){var i=[" assert {"],s=e.map(r,"assertions"),R=(0,nr.fromString)(", ").join(s);return R.length>1||R.getLineLength(1)>t.wrapColumn?i.push(` +`,(0,nr.fromString)(`, +`).join(s).indent(t.tabWidth),` +}`):i.push(" ",R," }"),(0,nr.concat)(i)}return(0,nr.fromString)("")}function jIt(e,t,r){var n=e.getValue(),i=["export "];n.exportKind&&n.exportKind==="type"&&(n.declaration||i.push("type "));var s=t.objectCurlySpacing;if(Ld.Declaration.assert(n),(n.default||n.type==="ExportDefaultDeclaration")&&i.push("default "),n.declaration)i.push(e.call(r,"declaration"));else if(n.specifiers){if(n.specifiers.length===1&&n.specifiers[0].type==="ExportBatchSpecifier")i.push("*");else if(n.specifiers.length===0)i.push("{}");else if(n.specifiers[0].type==="ExportDefaultSpecifier"||n.specifiers[0].type==="ExportNamespaceSpecifier"){var R=[],l=[];if(e.each(function(_){var f=_.getValue();f.type==="ExportDefaultSpecifier"||f.type==="ExportNamespaceSpecifier"?R.push(r(_)):l.push(r(_))},"specifiers"),R.forEach(function(_,f){f>0&&i.push(", "),i.push(_)}),l.length>0){var c=(0,nr.fromString)(", ").join(l);c.getLineLength(1)>t.wrapColumn&&(c=(0,nr.concat)([(0,nr.fromString)(`, +`).join(l).indent(t.tabWidth),","])),R.length>0&&i.push(", "),c.length>1?i.push(`{ +`,c,` +}`):t.objectCurlySpacing?i.push("{ ",c," }"):i.push("{",c,"}")}}else i.push(s?"{ ":"{",(0,nr.fromString)(", ").join(e.map(r,"specifiers")),s?" }":"}");n.source&&i.push(" from ",e.call(r,"source"),ZIt(e,t,r))}var h=(0,nr.concat)(i);return Ape(h)!==";"&&!(n.declaration&&(n.declaration.type==="FunctionDeclaration"||n.declaration.type==="ClassDeclaration"||n.declaration.type==="TSModuleDeclaration"||n.declaration.type==="TSInterfaceDeclaration"||n.declaration.type==="TSEnumDeclaration"))&&(h=(0,nr.concat)([h,";"])),h}function ype(e,t){var r=Xv.getParentExportDeclaration(e);return r?(0,UE.default)(r.type==="DeclareExportDeclaration"):t.unshift("declare "),(0,nr.concat)(t)}function qpe(e,t){return e.call(function(r){var n=r.getValue();return n?n==="plus"?(0,nr.fromString)("+"):n==="minus"?(0,nr.fromString)("-"):t(r):(0,nr.fromString)("")},"variance")}function rJ(e,t){return e.length>1?(0,nr.concat)([" ",e]):(0,nr.concat)([` +`,Ike(e).indent(t.tabWidth)])}function Ape(e){var t=e.lastPos();do{var r=e.charAt(t);if(/\S/.test(r))return r}while(e.prevPos(t))}function JIt(e){return Ape(e)==="}"}function wke(e){return e.replace(/['"]/g,function(t){return t==='"'?"'":'"'})}function ine(e){var t=nJ.getFieldValue(e,"value"),r=nJ.getFieldValue(e,"extra");if(r&&typeof r.raw=="string"&&t==r.rawValue)return r.raw;if(e.type==="Literal"){var n=e.raw;if(typeof n=="string"&&t==n)return n}}function Pke(e){return JSON.stringify(e).replace(/[\u2028\u2029]/g,function(t){return"\\u"+t.charCodeAt(0).toString(16)})}function Cpe(e,t){switch(T2t.assert(e),t.quote){case"auto":{var r=Pke(e),n=wke(Pke(wke(e)));return r.length>n.length?n:r}case"single":return wke(Pke(wke(e)));case"double":default:return Pke(e)}}function Ike(e){var t=Ape(e);return!t||` +};`.indexOf(t)<0?(0,nr.concat)([e,";"]):e}});var iJ=Le(DC=>{"use strict";Object.defineProperty(DC,"__esModule",{value:!0});DC.run=DC.prettyPrint=DC.print=DC.visit=DC.types=DC.parse=void 0;var tMt=(TR(),AR(cR)),gOr=tMt.__importDefault(Li("fs")),bOr=tMt.__importStar($N());DC.types=bOr;var rMt=wIt();Object.defineProperty(DC,"parse",{enumerable:!0,get:function(){return rMt.parse}});var nMt=eMt(),EOr=$N();Object.defineProperty(DC,"visit",{enumerable:!0,get:function(){return EOr.visit}});function iMt(e,t){return new nMt.Printer(t).print(e)}DC.print=iMt;function OOr(e,t){return new nMt.Printer(t).printGenerically(e)}DC.prettyPrint=OOr;function vOr(e,t){return DOr(process.argv[2],e,t)}DC.run=vOr;function DOr(e,t,r){gOr.default.readFile(e,"utf-8",function(n,i){if(n){console.error(n);return}$Or(i,t,r)})}function SOr(e){process.stdout.write(e)}function $Or(e,t,r){var n=r&&r.writeback||SOr;t((0,rMt.parse)(e,r),function(i){n(iMt(i,r).code)})}});var sMt=Le((Eai,aMt)=>{aMt.exports=function(e){let t=new Set(e[0]),r,n,i;for(r=1;r{"use strict";var Uke=Li("assert"),RMt=vPt(),p2t=iJ(),QOr=sMt(),aJ=p2t.types,uMt=aJ.namedTypes,_2t=aJ.NodePath,lMt=uMt.Node,Fke=class{constructor(t,r,n){Uke.ok(Array.isArray(t),"Collection is passed an array"),Uke.ok(t.every(i=>i instanceof _2t),"Array contains only paths"),this._parent=r,this.__paths=t,n&&!Array.isArray(n)?n=cMt(n):(!n||Array.isArray(n)&&n.length===0)&&(n=NOr(t)),this._types=n.length===0?pMt:n}filter(t){return new this.constructor(this.__paths.filter(t),this)}forEach(t){return this.__paths.forEach((r,n,i)=>t.call(r,r,n,i)),this}some(t){return this.__paths.some((r,n,i)=>t.call(r,r,n,i))}every(t){return this.__paths.every((r,n,i)=>t.call(r,r,n,i))}map(t,r){let n=[];return this.forEach(function(i){let s=t.apply(i,arguments);if(s!=null){Array.isArray(s)||(s=[s]);for(let R=0;Rt.value)}paths(){return this.__paths}getAST(){return this._parent?this._parent.getAST():this.__paths}toSource(t){return this._parent?this._parent.toSource(t):this.__paths.length===1?p2t.print(this.__paths[0],t).code:this.__paths.map(r=>p2t.print(r,t).code)}at(t){return Lke(this.__paths.slice(t,t===-1?void 0:t+1),this)}get(){let t=this.__paths[0];if(!t)throw Error('You cannot call "get" on a collection with no paths. Instead, check the "length" property first to verify at least 1 path exists.');return t.get.apply(t,arguments)}getTypes(){return this._types}isOfType(t){return!!t&&this._types.indexOf(t.toString())>-1}};function NOr(e){let t=[];if(e.length>0&&lMt.check(e[0].node)){let r=uMt[e[0].node.type];e.length===1||e.every(i=>r.check(i.node))?t=[r.toString()].concat(aJ.getSupertypeNames(r.toString())):t=RMt(e.map(i=>aJ.getSupertypeNames(i.node.type)))}return t}function cMt(e){return e=Array.isArray(e)?e:[e],e=e.map(t=>t.toString()),e.length>1?QOr([e].concat(RMt(e.map(oMt)))):e.concat(oMt(e[0]))}function oMt(e){try{return aJ.getSupertypeNames(e)}catch(t){throw t.message===""?new Error('"'+e+'" is not a known AST node type. Maybe a typo?'):t}}function Lke(e,t,r){return Uke.ok(e.every(n=>n instanceof _2t),"Every element in the array should be a NodePath"),new Fke(e,t,r)}function wOr(e,t,r){return Uke.ok(e.every(n=>lMt.check(n)),"Every element in the array should be a Node"),Lke(e.map(n=>new _2t(n)),t,r)}var Zv=Fke.prototype;function POr(e,t){for(let n in e){if(!e.hasOwnProperty(n))return;if(TMt(n,t)){let i=`There is a conflicting registration for method with name "${n}". +You tried to register an additional method with `;t?i+=`type "${t.toString()}".`:i+="universal type.",i+=` +There are existing registrations for that method with `;let s=Zv[n].typedRegistrations;throw s?i+=`type ${Object.keys(s).join(", ")}.`:i+="universal type.",Error(i)}if(!t)Zv[n]=e[n];else{t=t.toString(),Zv.hasOwnProperty(n)||BOr(n);var r=Zv[n].typedRegistrations;r[t]=e[n],aJ.getSupertypeNames(t).forEach(function(i){r[i]=!1})}}}function BOr(e){if(Zv.hasOwnProperty(e))throw new Error(`Internal Error: "${e}" method is already installed`);let t={};function r(){let n=Object.keys(t);for(let i=0;i{"use strict";var MOr=Object.prototype.hasOwnProperty.call.bind(Object.prototype.hasOwnProperty);function hMt(e,t){return typeof t=="function"?t(e):_Mt(t)&&_Mt(e)?Object.keys(t).every(function(r){return MOr(e,r)&&hMt(e[r],t[r])}):e===t}function _Mt(e){return typeof e=="object"&&e}fMt.exports=hMt});var zke=Le((Dai,dMt)=>{dMt.exports=function(e){let t=!1,r;return function(...n){return t?r:(t=!0,r=e.apply(this,n))}}});var Hke=Le(kMt=>{"use strict";var bpe=gpe(),xMt=h2t(),WOr=zke(),x2t=iJ(),f2t=x2t.types.namedTypes.Node,mMt=x2t.types.namedTypes,UOr={find:function(e,t){let r=[],n="visit"+e,i={};function s(R){(!t||xMt(R.value,t))&&r.push(R),this.traverse(R)}return this.__paths.forEach(function(R,l){let c=this;i[n]=function(h){if(c.__paths[l]===h)this.traverse(h);else return s.call(this,h)},x2t.visit(R,i)},this),bpe.fromPaths(r,this,e)},closestScope:function(){return this.map(e=>e.scope&&e.scope.path)},closest:function(e,t){return this.map(function(r){let n=r.parent;for(;n&&!(e.check(n.value)&&(!t||xMt(n.value,t)));)n=n.parent;return n||null})},getVariableDeclarators:function(e){return this.map(function(t){let r=t.scope;if(!r)return;let n=e.apply(t,arguments);if(!n||(r=r.lookup(n),!r))return;let i=r.getBindings()[n];if(!i)return;let s=bpe.fromPaths(i).closest(mMt.VariableDeclarator);if(s.length===1)return s.paths()[0]},mMt.VariableDeclarator)}};function d2t(e){return Array.isArray(e)?e:[e]}var FOr={replaceWith:function(e){return this.forEach(function(t,r){let n=typeof e=="function"?e.call(t,t,r):e;t.replace.apply(t,d2t(n))})},insertBefore:function(e){return this.forEach(function(t,r){let n=typeof e=="function"?e.call(t,t,r):e;t.insertBefore.apply(t,d2t(n))})},insertAfter:function(e){return this.forEach(function(t,r){let n=typeof e=="function"?e.call(t,t,r):e;t.insertAfter.apply(t,d2t(n))})},remove:function(){return this.forEach(e=>e.prune())}};function LOr(){bpe.registerMethods(UOr,f2t),bpe.registerMethods(FOr,f2t),bpe.setDefaultCollectionType(f2t)}kMt.register=WOr(LOr)});var q2t=Le(y2t=>{"use strict";var m2t=gpe(),zOr=Hke(),HOr=zke(),Yke=iJ(),yMt=Yke.types.astNodesAreEquivalent,qMt=Yke.types.builders,FE=Yke.types.namedTypes,k2t=Yke.types.namedTypes.VariableDeclarator,YOr={findVariableDeclarators:function(e){let t=e?{id:{name:e}}:null;return this.find(k2t,t)}},KOr={requiresModule:function(e){e&&!Array.isArray(e)&&(e=[e]);let t=qMt.identifier("require");return function(r){let n=r.value;return!k2t.check(n)||!FE.CallExpression.check(n.init)||!yMt(n.init.callee,t)?!1:!e||e.some(i=>yMt(n.init.arguments[0],qMt.literal(i)))}}},GOr={renameTo:function(e){return this.forEach(function(t){let n=t.value.id.name,i=t.scope,s=i.path;m2t.fromPaths([s]).find(FE.Identifier,{name:n}).filter(function(R){let l=R.parent.node;return!(FE.MemberExpression.check(l)&&l.property===R.node&&!l.computed||FE.Property.check(l)&&l.key===R.node&&!l.computed||FE.ObjectProperty.check(l)&&l.key===R.node&&!l.computed||FE.ObjectMethod.check(l)&&l.key===R.node&&!l.computed||FE.MethodDefinition.check(l)&&l.key===R.node&&!l.computed||FE.ClassMethod.check(l)&&l.key===R.node&&!l.computed||FE.ClassProperty.check(l)&&l.key===R.node&&!l.computed||FE.JSXAttribute.check(l)&&l.name===R.node&&!l.computed)}).forEach(function(R){let l=R.scope;for(;l&&l!==i;){if(l.declares(n))return;l=l.parent}if(l){let c=R.parent.node;FE.Property.check(c)&&c.shorthand&&!c.method&&R.parent.get("shorthand").replace(!1),R.get("name").replace(e)}})})}};function VOr(){zOr.register(),m2t.registerMethods(YOr),m2t.registerMethods(GOr,k2t)}y2t.register=HOr(VOr);y2t.filters=KOr});var CMt=Le(Kke=>{"use strict";var one=gpe(),jOr=Hke(),JOr=Li("assert"),XOr=zke(),ZOr=iJ(),evr=q2t().filters.requiresModule,sJ=ZOr.types.namedTypes,Rne=sJ.JSXElement,tvr=sJ.JSXAttribute,rvr=sJ.Literal,nvr={findJSXElements:function(e){let t=e&&{openingElement:{name:{name:e}}};return this.find(Rne,t)},findJSXElementsByModuleName:function(e){return JOr.ok(e&&typeof e=="string","findJSXElementsByModuleName(...) needs a name to look for"),this.find(sJ.VariableDeclarator).filter(evr(e)).map(function(t){let r=t.value.id.name;if(r)return one.fromPaths([t]).closestScope().findJSXElements(r).paths()})}},ivr={hasAttributes:function(e){let t=Object.keys(e);return function(n){if(!Rne.check(n.value))return!1;let i=Object.create(null);return n.value.openingElement.attributes.forEach(function(s){!tvr.check(s)||!(s.name.name in e)||(i[s.name.name]=s)}),t.every(function(s){if(!(s in i))return!1;let R=i[s].value,l=e[s],c=R&&(rvr.check(R)?R.value:R.expression);return typeof l=="function"?l(c):String(l)===c})}},hasChildren:function(e){return function(r){return Rne.check(r.value)&&r.value.children.some(n=>Rne.check(n)&&n.openingElement.name.name===e)}}},avr={childNodes:function(){let e=[];return this.forEach(function(t){let r=t.get("children"),n=r.value.length;for(let i=0;i{AMt.exports={Node:Hke(),JSXElement:CMt(),VariableDeclarator:q2t()}});var Bpe=Le(Ppe=>{"use strict";Object.defineProperty(Ppe,"__esModule",{value:!0});function Rvr(e,t){if(e==null)return{};var r={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(t.includes(n))continue;r[n]=e[n]}return r}var tD=class{constructor(t,r,n){this.line=void 0,this.column=void 0,this.index=void 0,this.line=t,this.column=r,this.index=n}},pne=class{constructor(t,r){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=t,this.end=r}};function A4(e,t){let{line:r,column:n,index:i}=e;return new tD(r,n+t,i+t)}var bMt="BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED",uvr={ImportMetaOutsideModule:{message:`import.meta may appear only with 'sourceType: "module"'`,code:bMt},ImportOutsideModule:{message:`'import' and 'export' may appear only with 'sourceType: "module"'`,code:bMt}},EMt={ArrayPattern:"array destructuring pattern",AssignmentExpression:"assignment expression",AssignmentPattern:"assignment expression",ArrowFunctionExpression:"arrow function expression",ConditionalExpression:"conditional expression",CatchClause:"catch clause",ForOfStatement:"for-of statement",ForInStatement:"for-in statement",ForStatement:"for-loop",FormalParameters:"function parameter list",Identifier:"identifier",ImportSpecifier:"import specifier",ImportDefaultSpecifier:"import default specifier",ImportNamespaceSpecifier:"import namespace specifier",ObjectPattern:"object destructuring pattern",ParenthesizedExpression:"parenthesized expression",RestElement:"rest element",UpdateExpression:{true:"prefix operation",false:"postfix operation"},VariableDeclarator:"variable declaration",YieldExpression:"yield expression"},jke=e=>e.type==="UpdateExpression"?EMt.UpdateExpression[`${e.prefix}`]:EMt[e.type],lvr={AccessorIsGenerator:({kind:e})=>`A ${e}ter cannot be a generator.`,ArgumentsInClass:"'arguments' is only allowed in functions and class methods.",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block.",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function.",AwaitBindingIdentifierInStaticBlock:"Can not use 'await' as identifier inside a static block.",AwaitExpressionFormalParameter:"'await' is not allowed in async function parameters.",AwaitUsingNotInAsyncContext:"'await using' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncFunction:"'await' is only allowed within async functions.",BadGetterArity:"A 'get' accessor must not have any formal parameters.",BadSetterArity:"A 'set' accessor must have exactly one formal parameter.",BadSetterRestParameter:"A 'set' accessor function argument must not be a rest parameter.",ConstructorClassField:"Classes may not have a field named 'constructor'.",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'.",ConstructorIsAccessor:"Class constructor may not be an accessor.",ConstructorIsAsync:"Constructor can't be an async function.",ConstructorIsGenerator:"Constructor can't be a generator.",DeclarationMissingInitializer:({kind:e})=>`Missing initializer in ${e} declaration.`,DecoratorArgumentsOutsideParentheses:"Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.",DecoratorsBeforeAfterExport:"Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.",DecoratorSemicolon:"Decorators must not be followed by a semicolon.",DecoratorStaticBlock:"Decorators can't be used with a static block.",DeferImportRequiresNamespace:'Only `import defer * as x from "./module"` is valid.',DeletePrivateField:"Deleting a private field is not allowed.",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class.",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:({exportName:e})=>`\`${e}\` has already been exported. Exported identifiers must be unique.`,DuplicateProto:"Redefinition of __proto__ property.",DuplicateRegExpFlags:"Duplicate regular expression flag.",DynamicImportPhaseRequiresImportExpressions:({phase:e})=>`'import.${e}(...)' can only be parsed when using the 'createImportExpressions' option.`,ElementAfterRest:"Rest element must be last element.",EscapedCharNotAnIdentifier:"Invalid Unicode escape.",ExportBindingIsString:({localName:e,exportName:t})=>`A string literal cannot be used as an exported binding without \`from\`. +- Did you mean \`export { '${e}' as '${t}' } from 'some-module'\`?`,ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'.",ForInOfLoopInitializer:({type:e})=>`'${e==="ForInStatement"?"for-in":"for-of"}' loop variable declaration may not have an initializer.`,ForInUsing:"For-in loop may not start with 'using' declaration.",ForOfAsync:"The left-hand side of a for-of loop may not be 'async'.",ForOfLet:"The left-hand side of a for-of loop may not start with 'let'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:({type:e})=>`Unsyntactic ${e==="BreakStatement"?"break":"continue"}.`,IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list.",IllegalReturn:"'return' outside of function.",ImportAttributesUseAssert:"The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedImportAssert` parser plugin to suppress this error.",ImportBindingIsString:({importName:e})=>`A string literal cannot be used as an imported binding. +- Did you mean \`import { "${e}" as foo }\`?`,ImportCallArity:"`import()` requires exactly one or two arguments.",ImportCallNotNewExpression:"Cannot use new with import(...).",ImportCallSpreadArgument:"`...` is not allowed in `import()`.",ImportJSONBindingNotDefault:"A JSON module can only be imported with `default`.",ImportReflectionHasAssertion:"`import module x` cannot have assertions.",ImportReflectionNotBinding:'Only `import module x from "./module"` is valid.',IncompatibleRegExpUVFlags:"The 'u' and 'v' regular expression flags cannot be enabled at the same time.",InvalidBigIntLiteral:"Invalid BigIntLiteral.",InvalidCodePoint:"Code point out of bounds.",InvalidCoverInitializedName:"Invalid shorthand property initializer.",InvalidDecimal:"Invalid decimal.",InvalidDigit:({radix:e})=>`Expected number in radix ${e}.`,InvalidEscapeSequence:"Bad character escape sequence.",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template.",InvalidEscapedReservedWord:({reservedWord:e})=>`Escape sequence in keyword ${e}.`,InvalidIdentifier:({identifierName:e})=>`Invalid identifier ${e}.`,InvalidLhs:({ancestor:e})=>`Invalid left-hand side in ${jke(e)}.`,InvalidLhsBinding:({ancestor:e})=>`Binding invalid left-hand side in ${jke(e)}.`,InvalidLhsOptionalChaining:({ancestor:e})=>`Invalid optional chaining in the left-hand side of ${jke(e)}.`,InvalidNumber:"Invalid number.",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'.",InvalidOrUnexpectedToken:({unexpected:e})=>`Unexpected character '${e}'.`,InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern.",InvalidPrivateFieldResolution:({identifierName:e})=>`Private name #${e} is not defined.`,InvalidPropertyBindingPattern:"Binding member expression.",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions.",InvalidRestAssignmentPattern:"Invalid rest operator's argument.",LabelRedeclaration:({labelName:e})=>`Label '${e}' is already declared.`,LetInLexicalBinding:"'let' is disallowed as a lexically bound name.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'.",MalformedRegExpFlags:"Invalid regular expression flag.",MissingClassName:"A class name is required.",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon.",MissingPlugin:({missingPlugin:e})=>`This experimental syntax requires enabling the parser plugin: ${e.map(t=>JSON.stringify(t)).join(", ")}.`,MissingOneOfPlugins:({missingPlugin:e})=>`This experimental syntax requires enabling one of the following parser plugin(s): ${e.map(t=>JSON.stringify(t)).join(", ")}.`,MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX.",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators.",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`.",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values.",ModuleAttributesWithDuplicateKeys:({key:e})=>`Duplicate key "${e}" is not allowed in module attributes.`,ModuleExportNameHasLoneSurrogate:({surrogateCharCode:e})=>`An export name cannot include a lone surrogate, found '\\u${e.toString(16)}'.`,ModuleExportUndefined:({localName:e})=>`Export '${e}' is not defined.`,MultipleDefaultsInSwitch:"Multiple default clauses.",NewlineAfterThrow:"Illegal newline after throw.",NoCatchOrFinally:"Missing catch or finally clause.",NumberIdentifier:"Identifier directly after number.",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",ObsoleteAwaitStar:"'await*' has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"Constructors in/after an Optional Chain are not allowed.",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain.",OverrideOnConstructor:"'override' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can't contain getter or setter.",PatternHasMethod:"Object pattern can't contain methods.",PrivateInExpectedIn:({identifierName:e})=>`Private names are only allowed in property accesses (\`obj.#${e}\`) or in \`in\` expressions (\`#${e} in obj\`).`,PrivateNameRedeclaration:({identifierName:e})=>`Duplicate private name #${e}.`,RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",RecordNoProto:"'__proto__' is not allowed in Record expressions.",RestTrailingComma:"Unexpected trailing comma after rest element.",SloppyFunction:"In non-strict mode code, functions can only be declared at top level or inside a block.",SloppyFunctionAnnexB:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",SourcePhaseImportRequiresDefault:'Only `import source x from "./module"` is valid.',StaticPrototype:"Classes may not have static property named prototype.",SuperNotAllowed:"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super.",TrailingDecorator:"Decorators must be attached to a class element.",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder.",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',UnexpectedDigitAfterHash:"Unexpected digit after hash token.",UnexpectedImportExport:"'import' and 'export' may only appear at the top level.",UnexpectedKeyword:({keyword:e})=>`Unexpected keyword '${e}'.`,UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration.",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context.",UnexpectedNewTarget:"`new.target` can only be used in functions or class properties.",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits.",UnexpectedPrivateField:"Unexpected private name.",UnexpectedReservedWord:({reservedWord:e})=>`Unexpected reserved word '${e}'.`,UnexpectedSuper:"'super' is only allowed in object methods and classes.",UnexpectedToken:({expected:e,unexpected:t})=>`Unexpected token${t?` '${t}'.`:""}${e?`, expected "${e}"`:""}`,UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnexpectedUsingDeclaration:"Using declaration cannot appear in the top level when source type is `script`.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration.",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"`import` can only be used in `import()` or `import.meta`.",UnsupportedMetaProperty:({target:e,onlyValidPropertyName:t})=>`The only valid meta property for ${e} is ${e}.${t}.`,UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters.",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties.",UnsupportedSuper:"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",UnterminatedComment:"Unterminated comment.",UnterminatedRegExp:"Unterminated regular expression.",UnterminatedString:"Unterminated string constant.",UnterminatedTemplate:"Unterminated template.",UsingDeclarationExport:"Using declaration cannot be exported.",UsingDeclarationHasBindingPattern:"Using declaration cannot have destructuring patterns.",VarRedeclaration:({identifierName:e})=>`Identifier '${e}' has already been declared.`,YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator.",YieldInParameter:"Yield expression is not allowed in formal parameters.",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0."},cvr={StrictDelete:"Deleting local variable in strict mode.",StrictEvalArguments:({referenceName:e})=>`Assigning to '${e}' in strict mode.`,StrictEvalArgumentsBinding:({bindingName:e})=>`Binding '${e}' in strict mode.`,StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block.",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'.",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode.",StrictWith:"'with' in strict mode."},Tvr=new Set(["ArrowFunctionExpression","AssignmentExpression","ConditionalExpression","YieldExpression"]),pvr={PipeBodyIsTighter:"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.",PipeTopicRequiresHackPipes:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.',PipeTopicUnbound:"Topic reference is unbound; it must be inside a pipe body.",PipeTopicUnconfiguredToken:({token:e})=>`Invalid topic token ${e}. In order to use ${e} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${e}" }.`,PipeTopicUnused:"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",PipeUnparenthesizedBody:({type:e})=>`Hack-style pipe body cannot be an unparenthesized ${jke({type:e})}; please wrap it in parentheses.`,PipelineBodyNoArrow:'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',PipelineBodySequenceExpression:"Pipeline body may not be a comma-separated sequence expression.",PipelineHeadSequenceExpression:"Pipeline head should not be a comma-separated sequence expression.",PipelineTopicUnused:"Pipeline is in topic style but does not use topic reference.",PrimaryTopicNotAllowed:"Topic reference was used in a lexical context without topic binding.",PrimaryTopicRequiresSmartPipeline:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.'},_vr=["message"];function OMt(e,t,r){Object.defineProperty(e,t,{enumerable:!1,configurable:!0,value:r})}function hvr({toMessage:e,code:t,reasonCode:r,syntaxPlugin:n}){let i=r==="MissingPlugin"||r==="MissingOneOfPlugins";{let s={AccessorCannotDeclareThisParameter:"AccesorCannotDeclareThisParameter",AccessorCannotHaveTypeParameters:"AccesorCannotHaveTypeParameters",ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference:"ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference",SetAccessorCannotHaveOptionalParameter:"SetAccesorCannotHaveOptionalParameter",SetAccessorCannotHaveRestParameter:"SetAccesorCannotHaveRestParameter",SetAccessorCannotHaveReturnType:"SetAccesorCannotHaveReturnType"};s[r]&&(r=s[r])}return function s(R,l){let c=new SyntaxError;return c.code=t,c.reasonCode=r,c.loc=R,c.pos=R.index,c.syntaxPlugin=n,i&&(c.missingPlugin=l.missingPlugin),OMt(c,"clone",function(_={}){var f;let{line:m,column:x,index:y}=(f=_.loc)!=null?f:R;return s(new tD(m,x,y),Object.assign({},l,_.details))}),OMt(c,"details",l),Object.defineProperty(c,"message",{configurable:!0,get(){let h=`${e(l)} (${R.line}:${R.column})`;return this.message=h,h},set(h){Object.defineProperty(this,"message",{value:h,writable:!0})}}),c}}function WN(e,t){if(Array.isArray(e))return n=>WN(n,e[0]);let r={};for(let n of Object.keys(e)){let i=e[n],s=typeof i=="string"?{message:()=>i}:typeof i=="function"?{message:i}:i,{message:R}=s,l=Rvr(s,_vr),c=typeof R=="string"?()=>R:R;r[n]=hvr(Object.assign({code:"BABEL_PARSER_SYNTAX_ERROR",reasonCode:n,toMessage:c},t?{syntaxPlugin:t}:{},l))}return r}var Hr=Object.assign({},WN(uvr),WN(lvr),WN(cvr),WN`pipelineOperator`(pvr)),{defineProperty:fvr}=Object,vMt=(e,t)=>{e&&fvr(e,t,{enumerable:!1,value:e[t]})};function Epe(e){return vMt(e.loc.start,"index"),vMt(e.loc.end,"index"),e}var dvr=e=>class extends e{parse(){let r=Epe(super.parse());return this.options.tokens&&(r.tokens=r.tokens.map(Epe)),r}parseRegExpLiteral({pattern:r,flags:n}){let i=null;try{i=new RegExp(r,n)}catch{}let s=this.estreeParseLiteral(i);return s.regex={pattern:r,flags:n},s}parseBigIntLiteral(r){let n;try{n=BigInt(r)}catch{n=null}let i=this.estreeParseLiteral(n);return i.bigint=String(i.value||r),i}parseDecimalLiteral(r){let i=this.estreeParseLiteral(null);return i.decimal=String(i.value||r),i}estreeParseLiteral(r){return this.parseLiteral(r,"Literal")}parseStringLiteral(r){return this.estreeParseLiteral(r)}parseNumericLiteral(r){return this.estreeParseLiteral(r)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(r){return this.estreeParseLiteral(r)}directiveToStmt(r){let n=r.value;delete r.value,n.type="Literal",n.raw=n.extra.raw,n.value=n.extra.expressionValue;let i=r;return i.type="ExpressionStatement",i.expression=n,i.directive=n.extra.rawValue,delete n.extra,i}initFunction(r,n){super.initFunction(r,n),r.expression=!1}checkDeclaration(r){r!=null&&this.isObjectProperty(r)?this.checkDeclaration(r.value):super.checkDeclaration(r)}getObjectOrClassMethodParams(r){return r.value.params}isValidDirective(r){var n;return r.type==="ExpressionStatement"&&r.expression.type==="Literal"&&typeof r.expression.value=="string"&&!((n=r.expression.extra)!=null&&n.parenthesized)}parseBlockBody(r,n,i,s,R){super.parseBlockBody(r,n,i,s,R);let l=r.directives.map(c=>this.directiveToStmt(c));r.body=l.concat(r.body),delete r.directives}pushClassMethod(r,n,i,s,R,l){this.parseMethod(n,i,s,R,l,"ClassMethod",!0),n.typeParameters&&(n.value.typeParameters=n.typeParameters,delete n.typeParameters),r.body.push(n)}parsePrivateName(){let r=super.parsePrivateName();return this.getPluginOption("estree","classFeatures")?this.convertPrivateNameToPrivateIdentifier(r):r}convertPrivateNameToPrivateIdentifier(r){let n=super.getPrivateNameSV(r);return r=r,delete r.id,r.name=n,r.type="PrivateIdentifier",r}isPrivateName(r){return this.getPluginOption("estree","classFeatures")?r.type==="PrivateIdentifier":super.isPrivateName(r)}getPrivateNameSV(r){return this.getPluginOption("estree","classFeatures")?r.name:super.getPrivateNameSV(r)}parseLiteral(r,n){let i=super.parseLiteral(r,n);return i.raw=i.extra.raw,delete i.extra,i}parseFunctionBody(r,n,i=!1){super.parseFunctionBody(r,n,i),r.expression=r.body.type!=="BlockStatement"}parseMethod(r,n,i,s,R,l,c=!1){let h=this.startNode();return h.kind=r.kind,h=super.parseMethod(h,n,i,s,R,l,c),h.type="FunctionExpression",delete h.kind,r.value=h,l==="ClassPrivateMethod"&&(r.computed=!1),this.finishNode(r,"MethodDefinition")}nameIsConstructor(r){return r.type==="Literal"?r.value==="constructor":super.nameIsConstructor(r)}parseClassProperty(...r){let n=super.parseClassProperty(...r);return this.getPluginOption("estree","classFeatures")&&(n.type="PropertyDefinition"),n}parseClassPrivateProperty(...r){let n=super.parseClassPrivateProperty(...r);return this.getPluginOption("estree","classFeatures")&&(n.type="PropertyDefinition",n.computed=!1),n}parseObjectMethod(r,n,i,s,R){let l=super.parseObjectMethod(r,n,i,s,R);return l&&(l.type="Property",l.kind==="method"&&(l.kind="init"),l.shorthand=!1),l}parseObjectProperty(r,n,i,s){let R=super.parseObjectProperty(r,n,i,s);return R&&(R.kind="init",R.type="Property"),R}isValidLVal(r,n,i){return r==="Property"?"value":super.isValidLVal(r,n,i)}isAssignable(r,n){return r!=null&&this.isObjectProperty(r)?this.isAssignable(r.value,n):super.isAssignable(r,n)}toAssignable(r,n=!1){if(r!=null&&this.isObjectProperty(r)){let{key:i,value:s}=r;this.isPrivateName(i)&&this.classScope.usePrivateName(this.getPrivateNameSV(i),i.loc.start),this.toAssignable(s,n)}else super.toAssignable(r,n)}toAssignableObjectExpressionProp(r,n,i){r.type==="Property"&&(r.kind==="get"||r.kind==="set")?this.raise(Hr.PatternHasAccessor,r.key):r.type==="Property"&&r.method?this.raise(Hr.PatternHasMethod,r.key):super.toAssignableObjectExpressionProp(r,n,i)}finishCallExpression(r,n){let i=super.finishCallExpression(r,n);if(i.callee.type==="Import"){var s,R;i.type="ImportExpression",i.source=i.arguments[0],i.options=(s=i.arguments[1])!=null?s:null,i.attributes=(R=i.arguments[1])!=null?R:null,delete i.arguments,delete i.callee}return i}toReferencedArguments(r){r.type!=="ImportExpression"&&super.toReferencedArguments(r)}parseExport(r,n){let i=this.state.lastTokStartLoc,s=super.parseExport(r,n);switch(s.type){case"ExportAllDeclaration":s.exported=null;break;case"ExportNamedDeclaration":s.specifiers.length===1&&s.specifiers[0].type==="ExportNamespaceSpecifier"&&(s.type="ExportAllDeclaration",s.exported=s.specifiers[0].exported,delete s.specifiers);case"ExportDefaultDeclaration":{var R;let{declaration:l}=s;l?.type==="ClassDeclaration"&&((R=l.decorators)==null?void 0:R.length)>0&&l.start===s.start&&this.resetStartLocation(s,i)}break}return s}parseSubscript(r,n,i,s){let R=super.parseSubscript(r,n,i,s);if(s.optionalChainMember){if((R.type==="OptionalMemberExpression"||R.type==="OptionalCallExpression")&&(R.type=R.type.substring(8)),s.stop){let l=this.startNodeAtNode(R);return l.expression=R,this.finishNode(l,"ChainExpression")}}else(R.type==="MemberExpression"||R.type==="CallExpression")&&(R.optional=!1);return R}isOptionalMemberExpression(r){return r.type==="ChainExpression"?r.expression.type==="MemberExpression":super.isOptionalMemberExpression(r)}hasPropertyAsPrivateName(r){return r.type==="ChainExpression"&&(r=r.expression),super.hasPropertyAsPrivateName(r)}isObjectProperty(r){return r.type==="Property"&&r.kind==="init"&&!r.method}isObjectMethod(r){return r.type==="Property"&&(r.method||r.kind==="get"||r.kind==="set")}finishNodeAt(r,n,i){return Epe(super.finishNodeAt(r,n,i))}resetStartLocation(r,n){super.resetStartLocation(r,n),Epe(r)}resetEndLocation(r,n=this.state.lastTokEndLoc){super.resetEndLocation(r,n),Epe(r)}},RJ=class{constructor(t,r){this.token=void 0,this.preserveSpace=void 0,this.token=t,this.preserveSpace=!!r}},vc={brace:new RJ("{"),j_oTag:new RJ("...",!0)};vc.template=new RJ("`",!0);var bR=!0,ts=!0,C2t=!0,Ope=!0,uM=!0,xvr=!0,Zke=class{constructor(t,r={}){this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.label=t,this.keyword=r.keyword,this.beforeExpr=!!r.beforeExpr,this.startsExpr=!!r.startsExpr,this.rightAssociative=!!r.rightAssociative,this.isLoop=!!r.isLoop,this.isAssign=!!r.isAssign,this.prefix=!!r.prefix,this.postfix=!!r.postfix,this.binop=r.binop!=null?r.binop:null,this.updateContext=null}},G2t=new Map;function mu(e,t={}){t.keyword=e;let r=Co(e,t);return G2t.set(e,r),r}function C4(e,t){return Co(e,{beforeExpr:bR,binop:t})}var $pe=-1,IN=[],V2t=[],j2t=[],J2t=[],X2t=[],Z2t=[];function Co(e,t={}){var r,n,i,s;return++$pe,V2t.push(e),j2t.push((r=t.binop)!=null?r:-1),J2t.push((n=t.beforeExpr)!=null?n:!1),X2t.push((i=t.startsExpr)!=null?i:!1),Z2t.push((s=t.prefix)!=null?s:!1),IN.push(new Zke(e,t)),$pe}function gR(e,t={}){var r,n,i,s;return++$pe,G2t.set(e,$pe),V2t.push(e),j2t.push((r=t.binop)!=null?r:-1),J2t.push((n=t.beforeExpr)!=null?n:!1),X2t.push((i=t.startsExpr)!=null?i:!1),Z2t.push((s=t.prefix)!=null?s:!1),IN.push(new Zke("name",t)),$pe}var mvr={bracketL:Co("[",{beforeExpr:bR,startsExpr:ts}),bracketHashL:Co("#[",{beforeExpr:bR,startsExpr:ts}),bracketBarL:Co("[|",{beforeExpr:bR,startsExpr:ts}),bracketR:Co("]"),bracketBarR:Co("|]"),braceL:Co("{",{beforeExpr:bR,startsExpr:ts}),braceBarL:Co("{|",{beforeExpr:bR,startsExpr:ts}),braceHashL:Co("#{",{beforeExpr:bR,startsExpr:ts}),braceR:Co("}"),braceBarR:Co("|}"),parenL:Co("(",{beforeExpr:bR,startsExpr:ts}),parenR:Co(")"),comma:Co(",",{beforeExpr:bR}),semi:Co(";",{beforeExpr:bR}),colon:Co(":",{beforeExpr:bR}),doubleColon:Co("::",{beforeExpr:bR}),dot:Co("."),question:Co("?",{beforeExpr:bR}),questionDot:Co("?."),arrow:Co("=>",{beforeExpr:bR}),template:Co("template"),ellipsis:Co("...",{beforeExpr:bR}),backQuote:Co("`",{startsExpr:ts}),dollarBraceL:Co("${",{beforeExpr:bR,startsExpr:ts}),templateTail:Co("...`",{startsExpr:ts}),templateNonTail:Co("...${",{beforeExpr:bR,startsExpr:ts}),at:Co("@"),hash:Co("#",{startsExpr:ts}),interpreterDirective:Co("#!..."),eq:Co("=",{beforeExpr:bR,isAssign:Ope}),assign:Co("_=",{beforeExpr:bR,isAssign:Ope}),slashAssign:Co("_=",{beforeExpr:bR,isAssign:Ope}),xorAssign:Co("_=",{beforeExpr:bR,isAssign:Ope}),moduloAssign:Co("_=",{beforeExpr:bR,isAssign:Ope}),incDec:Co("++/--",{prefix:uM,postfix:xvr,startsExpr:ts}),bang:Co("!",{beforeExpr:bR,prefix:uM,startsExpr:ts}),tilde:Co("~",{beforeExpr:bR,prefix:uM,startsExpr:ts}),doubleCaret:Co("^^",{startsExpr:ts}),doubleAt:Co("@@",{startsExpr:ts}),pipeline:C4("|>",0),nullishCoalescing:C4("??",1),logicalOR:C4("||",1),logicalAND:C4("&&",2),bitwiseOR:C4("|",3),bitwiseXOR:C4("^",4),bitwiseAND:C4("&",5),equality:C4("==/!=/===/!==",6),lt:C4("/<=/>=",7),gt:C4("/<=/>=",7),relational:C4("/<=/>=",7),bitShift:C4("<>/>>>",8),bitShiftL:C4("<>/>>>",8),bitShiftR:C4("<>/>>>",8),plusMin:Co("+/-",{beforeExpr:bR,binop:9,prefix:uM,startsExpr:ts}),modulo:Co("%",{binop:10,startsExpr:ts}),star:Co("*",{binop:10}),slash:C4("/",10),exponent:Co("**",{beforeExpr:bR,binop:11,rightAssociative:!0}),_in:mu("in",{beforeExpr:bR,binop:7}),_instanceof:mu("instanceof",{beforeExpr:bR,binop:7}),_break:mu("break"),_case:mu("case",{beforeExpr:bR}),_catch:mu("catch"),_continue:mu("continue"),_debugger:mu("debugger"),_default:mu("default",{beforeExpr:bR}),_else:mu("else",{beforeExpr:bR}),_finally:mu("finally"),_function:mu("function",{startsExpr:ts}),_if:mu("if"),_return:mu("return",{beforeExpr:bR}),_switch:mu("switch"),_throw:mu("throw",{beforeExpr:bR,prefix:uM,startsExpr:ts}),_try:mu("try"),_var:mu("var"),_const:mu("const"),_with:mu("with"),_new:mu("new",{beforeExpr:bR,startsExpr:ts}),_this:mu("this",{startsExpr:ts}),_super:mu("super",{startsExpr:ts}),_class:mu("class",{startsExpr:ts}),_extends:mu("extends",{beforeExpr:bR}),_export:mu("export"),_import:mu("import",{startsExpr:ts}),_null:mu("null",{startsExpr:ts}),_true:mu("true",{startsExpr:ts}),_false:mu("false",{startsExpr:ts}),_typeof:mu("typeof",{beforeExpr:bR,prefix:uM,startsExpr:ts}),_void:mu("void",{beforeExpr:bR,prefix:uM,startsExpr:ts}),_delete:mu("delete",{beforeExpr:bR,prefix:uM,startsExpr:ts}),_do:mu("do",{isLoop:C2t,beforeExpr:bR}),_for:mu("for",{isLoop:C2t}),_while:mu("while",{isLoop:C2t}),_as:gR("as",{startsExpr:ts}),_assert:gR("assert",{startsExpr:ts}),_async:gR("async",{startsExpr:ts}),_await:gR("await",{startsExpr:ts}),_defer:gR("defer",{startsExpr:ts}),_from:gR("from",{startsExpr:ts}),_get:gR("get",{startsExpr:ts}),_let:gR("let",{startsExpr:ts}),_meta:gR("meta",{startsExpr:ts}),_of:gR("of",{startsExpr:ts}),_sent:gR("sent",{startsExpr:ts}),_set:gR("set",{startsExpr:ts}),_source:gR("source",{startsExpr:ts}),_static:gR("static",{startsExpr:ts}),_using:gR("using",{startsExpr:ts}),_yield:gR("yield",{startsExpr:ts}),_asserts:gR("asserts",{startsExpr:ts}),_checks:gR("checks",{startsExpr:ts}),_exports:gR("exports",{startsExpr:ts}),_global:gR("global",{startsExpr:ts}),_implements:gR("implements",{startsExpr:ts}),_intrinsic:gR("intrinsic",{startsExpr:ts}),_infer:gR("infer",{startsExpr:ts}),_is:gR("is",{startsExpr:ts}),_mixins:gR("mixins",{startsExpr:ts}),_proto:gR("proto",{startsExpr:ts}),_require:gR("require",{startsExpr:ts}),_satisfies:gR("satisfies",{startsExpr:ts}),_keyof:gR("keyof",{startsExpr:ts}),_readonly:gR("readonly",{startsExpr:ts}),_unique:gR("unique",{startsExpr:ts}),_abstract:gR("abstract",{startsExpr:ts}),_declare:gR("declare",{startsExpr:ts}),_enum:gR("enum",{startsExpr:ts}),_module:gR("module",{startsExpr:ts}),_namespace:gR("namespace",{startsExpr:ts}),_interface:gR("interface",{startsExpr:ts}),_type:gR("type",{startsExpr:ts}),_opaque:gR("opaque",{startsExpr:ts}),name:Co("name",{startsExpr:ts}),placeholder:Co("%%",{startsExpr:!0}),string:Co("string",{startsExpr:ts}),num:Co("num",{startsExpr:ts}),bigint:Co("bigint",{startsExpr:ts}),decimal:Co("decimal",{startsExpr:ts}),regexp:Co("regexp",{startsExpr:ts}),privateName:Co("#name",{startsExpr:ts}),eof:Co("eof"),jsxName:Co("jsxName"),jsxText:Co("jsxText",{beforeExpr:!0}),jsxTagStart:Co("jsxTagStart",{startsExpr:!0}),jsxTagEnd:Co("jsxTagEnd")};function fl(e){return e>=93&&e<=133}function kvr(e){return e<=92}function LE(e){return e>=58&&e<=133}function UMt(e){return e>=58&&e<=137}function yvr(e){return J2t[e]}function O2t(e){return X2t[e]}function qvr(e){return e>=29&&e<=33}function DMt(e){return e>=129&&e<=131}function Cvr(e){return e>=90&&e<=92}function e7t(e){return e>=58&&e<=92}function Avr(e){return e>=39&&e<=59}function gvr(e){return e===34}function bvr(e){return Z2t[e]}function Evr(e){return e>=121&&e<=123}function Ovr(e){return e>=124&&e<=130}function cM(e){return V2t[e]}function Jke(e){return j2t[e]}function vvr(e){return e===57}function eye(e){return e>=24&&e<=25}function BN(e){return IN[e]}IN[8].updateContext=e=>{e.pop()},IN[5].updateContext=IN[7].updateContext=IN[23].updateContext=e=>{e.push(vc.brace)},IN[22].updateContext=e=>{e[e.length-1]===vc.template?e.pop():e.push(vc.template)},IN[143].updateContext=e=>{e.push(vc.j_expr,vc.j_oTag)};var t7t="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",FMt="\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65",Dvr=new RegExp("["+t7t+"]"),Svr=new RegExp("["+t7t+FMt+"]");t7t=FMt=null;var LMt=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],$vr=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239];function v2t(e,t){let r=65536;for(let n=0,i=t.length;ne)return!1;if(r+=t[n+1],r>=e)return!0}return!1}function MN(e){return e<65?e===36:e<=90?!0:e<97?e===95:e<=122?!0:e<=65535?e>=170&&Dvr.test(String.fromCharCode(e)):v2t(e,LMt)}function lne(e){return e<48?e===36:e<58?!0:e<65?!1:e<=90?!0:e<97?e===95:e<=122?!0:e<=65535?e>=170&&Svr.test(String.fromCharCode(e)):v2t(e,LMt)||v2t(e,$vr)}var r7t={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},Qvr=new Set(r7t.keyword),Nvr=new Set(r7t.strict),wvr=new Set(r7t.strictBind);function zMt(e,t){return t&&e==="await"||e==="enum"}function HMt(e,t){return zMt(e,t)||Nvr.has(e)}function YMt(e){return wvr.has(e)}function KMt(e,t){return HMt(e,t)||YMt(e)}function Pvr(e){return Qvr.has(e)}function Bvr(e,t,r){return e===64&&t===64&&MN(r)}var Ivr=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete","implements","interface","let","package","private","protected","public","static","yield","eval","arguments","enum","await"]);function Mvr(e){return Ivr.has(e)}var Qpe=class{constructor(t){this.flags=0,this.names=new Map,this.firstLexicalName="",this.flags=t}},Npe=class{constructor(t,r){this.parser=void 0,this.scopeStack=[],this.inModule=void 0,this.undefinedExports=new Map,this.parser=t,this.inModule=r}get inTopLevel(){return(this.currentScope().flags&1)>0}get inFunction(){return(this.currentVarScopeFlags()&2)>0}get allowSuper(){return(this.currentThisScopeFlags()&16)>0}get allowDirectSuper(){return(this.currentThisScopeFlags()&32)>0}get inClass(){return(this.currentThisScopeFlags()&64)>0}get inClassAndNotInNonArrowFunction(){let t=this.currentThisScopeFlags();return(t&64)>0&&(t&2)===0}get inStaticBlock(){for(let t=this.scopeStack.length-1;;t--){let{flags:r}=this.scopeStack[t];if(r&128)return!0;if(r&451)return!1}}get inNonArrowFunction(){return(this.currentThisScopeFlags()&2)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(t){return new Qpe(t)}enter(t){this.scopeStack.push(this.createScope(t))}exit(){return this.scopeStack.pop().flags}treatFunctionsAsVarInScope(t){return!!(t.flags&130||!this.parser.inModule&&t.flags&1)}declareName(t,r,n){let i=this.currentScope();if(r&8||r&16){this.checkRedeclarationInScope(i,t,r,n);let s=i.names.get(t)||0;r&16?s=s|4:(i.firstLexicalName||(i.firstLexicalName=t),s=s|2),i.names.set(t,s),r&8&&this.maybeExportDefined(i,t)}else if(r&4)for(let s=this.scopeStack.length-1;s>=0&&(i=this.scopeStack[s],this.checkRedeclarationInScope(i,t,r,n),i.names.set(t,(i.names.get(t)||0)|1),this.maybeExportDefined(i,t),!(i.flags&387));--s);this.parser.inModule&&i.flags&1&&this.undefinedExports.delete(t)}maybeExportDefined(t,r){this.parser.inModule&&t.flags&1&&this.undefinedExports.delete(r)}checkRedeclarationInScope(t,r,n,i){this.isRedeclaredInScope(t,r,n)&&this.parser.raise(Hr.VarRedeclaration,i,{identifierName:r})}isRedeclaredInScope(t,r,n){if(!(n&1))return!1;if(n&8)return t.names.has(r);let i=t.names.get(r);return n&16?(i&2)>0||!this.treatFunctionsAsVarInScope(t)&&(i&1)>0:(i&2)>0&&!(t.flags&8&&t.firstLexicalName===r)||!this.treatFunctionsAsVarInScope(t)&&(i&4)>0}checkLocalExport(t){let{name:r}=t;this.scopeStack[0].names.has(r)||this.undefinedExports.set(r,t.loc.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let t=this.scopeStack.length-1;;t--){let{flags:r}=this.scopeStack[t];if(r&387)return r}}currentThisScopeFlags(){for(let t=this.scopeStack.length-1;;t--){let{flags:r}=this.scopeStack[t];if(r&451&&!(r&4))return r}}},D2t=class extends Qpe{constructor(...t){super(...t),this.declareFunctions=new Set}},S2t=class extends Npe{createScope(t){return new D2t(t)}declareName(t,r,n){let i=this.currentScope();if(r&2048){this.checkRedeclarationInScope(i,t,r,n),this.maybeExportDefined(i,t),i.declareFunctions.add(t);return}super.declareName(t,r,n)}isRedeclaredInScope(t,r,n){if(super.isRedeclaredInScope(t,r,n))return!0;if(n&2048&&!t.declareFunctions.has(r)){let i=t.names.get(r);return(i&4)>0||(i&2)>0}return!1}checkLocalExport(t){this.scopeStack[0].declareFunctions.has(t.name)||super.checkLocalExport(t)}},$2t=class{constructor(){this.sawUnambiguousESM=!1,this.ambiguousScriptDifferentAst=!1}sourceToOffsetPos(t){return t+this.startIndex}offsetToSourcePos(t){return t-this.startIndex}hasPlugin(t){if(typeof t=="string")return this.plugins.has(t);{let[r,n]=t;if(!this.hasPlugin(r))return!1;let i=this.plugins.get(r);for(let s of Object.keys(n))if(i?.[s]!==n[s])return!1;return!0}}getPluginOption(t,r){var n;return(n=this.plugins.get(t))==null?void 0:n[r]}};function GMt(e,t){e.trailingComments===void 0?e.trailingComments=t:e.trailingComments.unshift(...t)}function Wvr(e,t){e.leadingComments===void 0?e.leadingComments=t:e.leadingComments.unshift(...t)}function wpe(e,t){e.innerComments===void 0?e.innerComments=t:e.innerComments.unshift(...t)}function vpe(e,t,r){let n=null,i=t.length;for(;n===null&&i>0;)n=t[--i];n===null||n.start>r.start?wpe(e,r.comments):GMt(n,r.comments)}var Q2t=class extends $2t{addComment(t){this.filename&&(t.loc.filename=this.filename);let{commentsLen:r}=this.state;this.comments.length!==r&&(this.comments.length=r),this.comments.push(t),this.state.commentsLen++}processComment(t){let{commentStack:r}=this.state,n=r.length;if(n===0)return;let i=n-1,s=r[i];s.start===t.end&&(s.leadingNode=t,i--);let{start:R}=t;for(;i>=0;i--){let l=r[i],c=l.end;if(c>R)l.containingNode=t,this.finalizeComment(l),r.splice(i,1);else{c===R&&(l.trailingNode=t);break}}}finalizeComment(t){let{comments:r}=t;if(t.leadingNode!==null||t.trailingNode!==null)t.leadingNode!==null&&GMt(t.leadingNode,r),t.trailingNode!==null&&Wvr(t.trailingNode,r);else{let{containingNode:n,start:i}=t;if(this.input.charCodeAt(this.offsetToSourcePos(i)-1)===44)switch(n.type){case"ObjectExpression":case"ObjectPattern":case"RecordExpression":vpe(n,n.properties,t);break;case"CallExpression":case"OptionalCallExpression":vpe(n,n.arguments,t);break;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":vpe(n,n.params,t);break;case"ArrayExpression":case"ArrayPattern":case"TupleExpression":vpe(n,n.elements,t);break;case"ExportNamedDeclaration":case"ImportDeclaration":vpe(n,n.specifiers,t);break;default:wpe(n,r)}else wpe(n,r)}}finalizeRemainingComments(){let{commentStack:t}=this.state;for(let r=t.length-1;r>=0;r--)this.finalizeComment(t[r]);this.state.commentStack=[]}resetPreviousNodeTrailingComments(t){let{commentStack:r}=this.state,{length:n}=r;if(n===0)return;let i=r[n-1];i.leadingNode===t&&(i.leadingNode=null)}resetPreviousIdentifierLeadingComments(t){let{commentStack:r}=this.state,{length:n}=r;n!==0&&(r[n-1].trailingNode===t?r[n-1].trailingNode=null:n>=2&&r[n-2].trailingNode===t&&(r[n-2].trailingNode=null))}takeSurroundingComments(t,r,n){let{commentStack:i}=this.state,s=i.length;if(s===0)return;let R=s-1;for(;R>=0;R--){let l=i[R],c=l.end;if(l.start===n)l.leadingNode=t;else if(c===r)l.trailingNode=t;else if(c0}set strict(t){t?this.flags|=1:this.flags&=-2}init({strictMode:t,sourceType:r,startIndex:n,startLine:i,startColumn:s}){this.strict=t===!1?!1:t===!0?!0:r==="module",this.startIndex=n,this.curLine=i,this.lineStart=-s,this.startLoc=this.endLoc=new tD(i,s,n)}get maybeInArrowParameters(){return(this.flags&2)>0}set maybeInArrowParameters(t){t?this.flags|=2:this.flags&=-3}get inType(){return(this.flags&4)>0}set inType(t){t?this.flags|=4:this.flags&=-5}get noAnonFunctionType(){return(this.flags&8)>0}set noAnonFunctionType(t){t?this.flags|=8:this.flags&=-9}get hasFlowComment(){return(this.flags&16)>0}set hasFlowComment(t){t?this.flags|=16:this.flags&=-17}get isAmbientContext(){return(this.flags&32)>0}set isAmbientContext(t){t?this.flags|=32:this.flags&=-33}get inAbstractClass(){return(this.flags&64)>0}set inAbstractClass(t){t?this.flags|=64:this.flags&=-65}get inDisallowConditionalTypesContext(){return(this.flags&128)>0}set inDisallowConditionalTypesContext(t){t?this.flags|=128:this.flags&=-129}get soloAwait(){return(this.flags&256)>0}set soloAwait(t){t?this.flags|=256:this.flags&=-257}get inFSharpPipelineDirectBody(){return(this.flags&512)>0}set inFSharpPipelineDirectBody(t){t?this.flags|=512:this.flags&=-513}get canStartJSXElement(){return(this.flags&1024)>0}set canStartJSXElement(t){t?this.flags|=1024:this.flags&=-1025}get containsEsc(){return(this.flags&2048)>0}set containsEsc(t){t?this.flags|=2048:this.flags&=-2049}get hasTopLevelAwait(){return(this.flags&4096)>0}set hasTopLevelAwait(t){t?this.flags|=4096:this.flags&=-4097}curPosition(){return new tD(this.curLine,this.pos-this.lineStart,this.pos+this.startIndex)}clone(){let t=new e;return t.flags=this.flags,t.startIndex=this.startIndex,t.curLine=this.curLine,t.lineStart=this.lineStart,t.startLoc=this.startLoc,t.endLoc=this.endLoc,t.errors=this.errors.slice(),t.potentialArrowAt=this.potentialArrowAt,t.noArrowAt=this.noArrowAt.slice(),t.noArrowParamsConversionAt=this.noArrowParamsConversionAt.slice(),t.topicContext=this.topicContext,t.labels=this.labels.slice(),t.commentsLen=this.commentsLen,t.commentStack=this.commentStack.slice(),t.pos=this.pos,t.type=this.type,t.value=this.value,t.start=this.start,t.end=this.end,t.lastTokEndLoc=this.lastTokEndLoc,t.lastTokStartLoc=this.lastTokStartLoc,t.context=this.context.slice(),t.firstInvalidTemplateEscapePos=this.firstInvalidTemplateEscapePos,t.strictErrors=this.strictErrors,t.tokensLength=this.tokensLength,t}},Lvr=function(t){return t>=48&&t<=57},$Mt={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},Vke={bin:e=>e===48||e===49,oct:e=>e>=48&&e<=55,dec:e=>e>=48&&e<=57,hex:e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};function QMt(e,t,r,n,i,s){let R=r,l=n,c=i,h="",_=null,f=r,{length:m}=t;for(;;){if(r>=m){s.unterminated(R,l,c),h+=t.slice(f,r);break}let x=t.charCodeAt(r);if(zvr(e,x,t,r)){h+=t.slice(f,r);break}if(x===92){h+=t.slice(f,r);let y=Hvr(t,r,n,i,e==="template",s);y.ch===null&&!_?_={pos:r,lineStart:n,curLine:i}:h+=y.ch,{pos:r,lineStart:n,curLine:i}=y,f=r}else x===8232||x===8233?(++r,++i,n=r):x===10||x===13?e==="template"?(h+=t.slice(f,r)+` +`,++r,x===13&&t.charCodeAt(r)===10&&++r,++i,f=n=r):s.unterminated(R,l,c):++r}return{pos:r,str:h,firstInvalidLoc:_,lineStart:n,curLine:i,containsInvalid:!!_}}function zvr(e,t,r,n){return e==="template"?t===96||t===36&&r.charCodeAt(n+1)===123:t===(e==="double"?34:39)}function Hvr(e,t,r,n,i,s){let R=!i;t++;let l=h=>({pos:t,ch:h,lineStart:r,curLine:n}),c=e.charCodeAt(t++);switch(c){case 110:return l(` +`);case 114:return l("\r");case 120:{let h;return{code:h,pos:t}=w2t(e,t,r,n,2,!1,R,s),l(h===null?null:String.fromCharCode(h))}case 117:{let h;return{code:h,pos:t}=jMt(e,t,r,n,R,s),l(h===null?null:String.fromCodePoint(h))}case 116:return l(" ");case 98:return l("\b");case 118:return l("\v");case 102:return l("\f");case 13:e.charCodeAt(t)===10&&++t;case 10:r=t,++n;case 8232:case 8233:return l("");case 56:case 57:if(i)return l(null);s.strictNumericEscape(t-1,r,n);default:if(c>=48&&c<=55){let h=t-1,f=/^[0-7]+/.exec(e.slice(h,t+2))[0],m=parseInt(f,8);m>255&&(f=f.slice(0,-1),m=parseInt(f,8)),t+=f.length-1;let x=e.charCodeAt(t);if(f!=="0"||x===56||x===57){if(i)return l(null);s.strictNumericEscape(h,r,n)}return l(String.fromCharCode(m))}return l(String.fromCharCode(c))}}function w2t(e,t,r,n,i,s,R,l){let c=t,h;return{n:h,pos:t}=VMt(e,t,r,n,16,i,s,!1,l,!R),h===null&&(R?l.invalidEscapeSequence(c,r,n):t=c-1),{code:h,pos:t}}function VMt(e,t,r,n,i,s,R,l,c,h){let _=t,f=i===16?$Mt.hex:$Mt.decBinOct,m=i===16?Vke.hex:i===10?Vke.dec:i===8?Vke.oct:Vke.bin,x=!1,y=0;for(let A=0,D=s??1/0;A=97?P=S-97+10:S>=65?P=S-65+10:Lvr(S)?P=S-48:P=1/0,P>=i){if(P<=9&&h)return{n:null,pos:t};if(P<=9&&c.invalidDigit(t,r,n,i))P=0;else if(R)P=0,x=!0;else break}++t,y=y*i+P}return t===_||s!=null&&t-_!==s||x?{n:null,pos:t}:{n:y,pos:t}}function jMt(e,t,r,n,i,s){let R=e.charCodeAt(t),l;if(R===123){if(++t,{code:l,pos:t}=w2t(e,t,r,n,e.indexOf("}",t)-t,!0,i,s),++t,l!==null&&l>1114111)if(i)s.invalidCodePoint(t,r,n);else return{code:null,pos:t}}else({code:l,pos:t}=w2t(e,t,r,n,4,!1,i,s));return{code:l,pos:t}}function Dpe(e,t,r){return new tD(r,e-t,e)}var Yvr=new Set([103,109,115,105,121,117,100,118]),eD=class{constructor(t){let r=t.startIndex||0;this.type=t.type,this.value=t.value,this.start=r+t.start,this.end=r+t.end,this.loc=new pne(t.startLoc,t.endLoc)}},P2t=class extends Q2t{constructor(t,r){super(),this.isLookahead=void 0,this.tokens=[],this.errorHandlers_readInt={invalidDigit:(n,i,s,R)=>this.options.errorRecovery?(this.raise(Hr.InvalidDigit,Dpe(n,i,s),{radix:R}),!0):!1,numericSeparatorInEscapeSequence:this.errorBuilder(Hr.NumericSeparatorInEscapeSequence),unexpectedNumericSeparator:this.errorBuilder(Hr.UnexpectedNumericSeparator)},this.errorHandlers_readCodePoint=Object.assign({},this.errorHandlers_readInt,{invalidEscapeSequence:this.errorBuilder(Hr.InvalidEscapeSequence),invalidCodePoint:this.errorBuilder(Hr.InvalidCodePoint)}),this.errorHandlers_readStringContents_string=Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:(n,i,s)=>{this.recordStrictModeErrors(Hr.StrictNumericEscape,Dpe(n,i,s))},unterminated:(n,i,s)=>{throw this.raise(Hr.UnterminatedString,Dpe(n-1,i,s))}}),this.errorHandlers_readStringContents_template=Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:this.errorBuilder(Hr.StrictNumericEscape),unterminated:(n,i,s)=>{throw this.raise(Hr.UnterminatedTemplate,Dpe(n,i,s))}}),this.state=new N2t,this.state.init(t),this.input=r,this.length=r.length,this.comments=[],this.isLookahead=!1}pushToken(t){this.tokens.length=this.state.tokensLength,this.tokens.push(t),++this.state.tokensLength}next(){this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new eD(this.state)),this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(t){return this.match(t)?(this.next(),!0):!1}match(t){return this.state.type===t}createLookaheadState(t){return{pos:t.pos,value:null,type:t.type,start:t.start,end:t.end,context:[this.curContext()],inType:t.inType,startLoc:t.startLoc,lastTokEndLoc:t.lastTokEndLoc,curLine:t.curLine,lineStart:t.lineStart,curPosition:t.curPosition}}lookahead(){let t=this.state;this.state=this.createLookaheadState(t),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;let r=this.state;return this.state=t,r}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(t){return A2t.lastIndex=t,A2t.test(this.input)?A2t.lastIndex:t}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}nextTokenInLineStart(){return this.nextTokenInLineStartSince(this.state.pos)}nextTokenInLineStartSince(t){return g2t.lastIndex=t,g2t.test(this.input)?g2t.lastIndex:t}lookaheadInLineCharCode(){return this.input.charCodeAt(this.nextTokenInLineStart())}codePointAtPos(t){let r=this.input.charCodeAt(t);if((r&64512)===55296&&++tthis.raise(r,n)),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){if(this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length){this.finishToken(140);return}this.getTokenFromCode(this.codePointAtPos(this.state.pos))}skipBlockComment(t){let r;this.isLookahead||(r=this.state.curPosition());let n=this.state.pos,i=this.input.indexOf(t,n+2);if(i===-1)throw this.raise(Hr.UnterminatedComment,this.state.curPosition());for(this.state.pos=i+t.length,Gke.lastIndex=n+2;Gke.test(this.input)&&Gke.lastIndex<=i;)++this.state.curLine,this.state.lineStart=Gke.lastIndex;if(this.isLookahead)return;let s={type:"CommentBlock",value:this.input.slice(n+2,i),start:this.sourceToOffsetPos(n),end:this.sourceToOffsetPos(i+t.length),loc:new pne(r,this.state.curPosition())};return this.options.tokens&&this.pushToken(s),s}skipLineComment(t){let r=this.state.pos,n;this.isLookahead||(n=this.state.curPosition());let i=this.input.charCodeAt(this.state.pos+=t);if(this.state.post)){let s=this.skipLineComment(3);s!==void 0&&(this.addComment(s),this.options.attachComment&&r.push(s))}else break e}else if(n===60&&!this.inModule&&this.options.annexB){let i=this.state.pos;if(this.input.charCodeAt(i+1)===33&&this.input.charCodeAt(i+2)===45&&this.input.charCodeAt(i+3)===45){let s=this.skipLineComment(4);s!==void 0&&(this.addComment(s),this.options.attachComment&&r.push(s))}else break e}else break e}}if(r.length>0){let n=this.state.pos,i={start:this.sourceToOffsetPos(t),end:this.sourceToOffsetPos(n),comments:r,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(i)}}finishToken(t,r){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();let n=this.state.type;this.state.type=t,this.state.value=r,this.isLookahead||this.updateContext(n)}replaceToken(t){this.state.type=t,this.updateContext()}readToken_numberSign(){if(this.state.pos===0&&this.readToken_interpreter())return;let t=this.state.pos+1,r=this.codePointAtPos(t);if(r>=48&&r<=57)throw this.raise(Hr.UnexpectedDigitAfterHash,this.state.curPosition());if(r===123||r===91&&this.hasPlugin("recordAndTuple")){if(this.expectPlugin("recordAndTuple"),this.getPluginOption("recordAndTuple","syntaxType")==="bar")throw this.raise(r===123?Hr.RecordExpressionHashIncorrectStartSyntaxType:Hr.TupleExpressionHashIncorrectStartSyntaxType,this.state.curPosition());this.state.pos+=2,r===123?this.finishToken(7):this.finishToken(1)}else MN(r)?(++this.state.pos,this.finishToken(139,this.readWord1(r))):r===92?(++this.state.pos,this.finishToken(139,this.readWord1())):this.finishOp(27,1)}readToken_dot(){let t=this.input.charCodeAt(this.state.pos+1);if(t>=48&&t<=57){this.readNumber(!0);return}t===46&&this.input.charCodeAt(this.state.pos+2)===46?(this.state.pos+=3,this.finishToken(21)):(++this.state.pos,this.finishToken(16))}readToken_slash(){this.input.charCodeAt(this.state.pos+1)===61?this.finishOp(31,2):this.finishOp(56,1)}readToken_interpreter(){if(this.state.pos!==0||this.length<2)return!1;let t=this.input.charCodeAt(this.state.pos+1);if(t!==33)return!1;let r=this.state.pos;for(this.state.pos+=1;!cne(t)&&++this.state.pos=48&&r<=57)?(this.state.pos+=2,this.finishToken(18)):(++this.state.pos,this.finishToken(17))}getTokenFromCode(t){switch(t){case 46:this.readToken_dot();return;case 40:++this.state.pos,this.finishToken(10);return;case 41:++this.state.pos,this.finishToken(11);return;case 59:++this.state.pos,this.finishToken(13);return;case 44:++this.state.pos,this.finishToken(12);return;case 91:if(this.hasPlugin("recordAndTuple")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar")throw this.raise(Hr.TupleExpressionBarIncorrectStartSyntaxType,this.state.curPosition());this.state.pos+=2,this.finishToken(2)}else++this.state.pos,this.finishToken(0);return;case 93:++this.state.pos,this.finishToken(3);return;case 123:if(this.hasPlugin("recordAndTuple")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar")throw this.raise(Hr.RecordExpressionBarIncorrectStartSyntaxType,this.state.curPosition());this.state.pos+=2,this.finishToken(6)}else++this.state.pos,this.finishToken(5);return;case 125:++this.state.pos,this.finishToken(8);return;case 58:this.hasPlugin("functionBind")&&this.input.charCodeAt(this.state.pos+1)===58?this.finishOp(15,2):(++this.state.pos,this.finishToken(14));return;case 63:this.readToken_question();return;case 96:this.readTemplateToken();return;case 48:{let r=this.input.charCodeAt(this.state.pos+1);if(r===120||r===88){this.readRadixNumber(16);return}if(r===111||r===79){this.readRadixNumber(8);return}if(r===98||r===66){this.readRadixNumber(2);return}}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:this.readNumber(!1);return;case 34:case 39:this.readString(t);return;case 47:this.readToken_slash();return;case 37:case 42:this.readToken_mult_modulo(t);return;case 124:case 38:this.readToken_pipe_amp(t);return;case 94:this.readToken_caret();return;case 43:case 45:this.readToken_plus_min(t);return;case 60:this.readToken_lt();return;case 62:this.readToken_gt();return;case 61:case 33:this.readToken_eq_excl(t);return;case 126:this.finishOp(36,1);return;case 64:this.readToken_atSign();return;case 35:this.readToken_numberSign();return;case 92:this.readWord();return;default:if(MN(t)){this.readWord(t);return}}throw this.raise(Hr.InvalidOrUnexpectedToken,this.state.curPosition(),{unexpected:String.fromCodePoint(t)})}finishOp(t,r){let n=this.input.slice(this.state.pos,this.state.pos+r);this.state.pos+=r,this.finishToken(t,n)}readRegexp(){let t=this.state.startLoc,r=this.state.start+1,n,i,{pos:s}=this.state;for(;;++s){if(s>=this.length)throw this.raise(Hr.UnterminatedRegExp,A4(t,1));let h=this.input.charCodeAt(s);if(cne(h))throw this.raise(Hr.UnterminatedRegExp,A4(t,1));if(n)n=!1;else{if(h===91)i=!0;else if(h===93&&i)i=!1;else if(h===47&&!i)break;n=h===92}}let R=this.input.slice(r,s);++s;let l="",c=()=>A4(t,s+2-r);for(;s=2&&this.input.charCodeAt(r)===48;if(c){let x=this.input.slice(r,this.state.pos);if(this.recordStrictModeErrors(Hr.StrictOctalLiteral,n),!this.state.strict){let y=x.indexOf("_");y>0&&this.raise(Hr.ZeroDigitNumericSeparator,A4(n,y))}l=c&&!/[89]/.test(x)}let h=this.input.charCodeAt(this.state.pos);if(h===46&&!l&&(++this.state.pos,this.readInt(10),i=!0,h=this.input.charCodeAt(this.state.pos)),(h===69||h===101)&&!l&&(h=this.input.charCodeAt(++this.state.pos),(h===43||h===45)&&++this.state.pos,this.readInt(10)===null&&this.raise(Hr.InvalidOrMissingExponent,n),i=!0,R=!0,h=this.input.charCodeAt(this.state.pos)),h===110&&((i||c)&&this.raise(Hr.InvalidBigIntLiteral,n),++this.state.pos,s=!0),h===109){this.expectPlugin("decimal",this.state.curPosition()),(R||c)&&this.raise(Hr.InvalidDecimal,n),++this.state.pos;var _=!0}if(MN(this.codePointAtPos(this.state.pos)))throw this.raise(Hr.NumberIdentifier,this.state.curPosition());let f=this.input.slice(r,this.state.pos).replace(/[_mn]/g,"");if(s){this.finishToken(136,f);return}if(_){this.finishToken(137,f);return}let m=l?parseInt(f,8):parseFloat(f);this.finishToken(135,m)}readCodePoint(t){let{code:r,pos:n}=jMt(this.input,this.state.pos,this.state.lineStart,this.state.curLine,t,this.errorHandlers_readCodePoint);return this.state.pos=n,r}readString(t){let{str:r,pos:n,curLine:i,lineStart:s}=QMt(t===34?"double":"single",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_string);this.state.pos=n+1,this.state.lineStart=s,this.state.curLine=i,this.finishToken(134,r)}readTemplateContinuation(){this.match(8)||this.unexpected(null,8),this.state.pos--,this.readTemplateToken()}readTemplateToken(){let t=this.input[this.state.pos],{str:r,firstInvalidLoc:n,pos:i,curLine:s,lineStart:R}=QMt("template",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_template);this.state.pos=i+1,this.state.lineStart=R,this.state.curLine=s,n&&(this.state.firstInvalidTemplateEscapePos=new tD(n.curLine,n.pos-n.lineStart,this.sourceToOffsetPos(n.pos))),this.input.codePointAt(i)===96?this.finishToken(24,n?null:t+r+"`"):(this.state.pos++,this.finishToken(25,n?null:t+r+"${"))}recordStrictModeErrors(t,r){let n=r.index;this.state.strict&&!this.state.strictErrors.has(n)?this.raise(t,r):this.state.strictErrors.set(n,[t,r])}readWord1(t){this.state.containsEsc=!1;let r="",n=this.state.pos,i=this.state.pos;for(t!==void 0&&(this.state.pos+=t<=65535?1:2);this.state.pos=0;l--){let c=R[l];if(c.loc.index===s)return R[l]=t(i,n);if(c.loc.indexthis.hasPlugin(r)))throw this.raise(Hr.MissingOneOfPlugins,this.state.startLoc,{missingPlugin:t})}errorBuilder(t){return(r,n,i)=>{this.raise(t,Dpe(r,n,i))}}},B2t=class{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}},I2t=class{constructor(t){this.parser=void 0,this.stack=[],this.undefinedPrivateNames=new Map,this.parser=t}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new B2t)}exit(){let t=this.stack.pop(),r=this.current();for(let[n,i]of Array.from(t.undefinedPrivateNames))r?r.undefinedPrivateNames.has(n)||r.undefinedPrivateNames.set(n,i):this.parser.raise(Hr.InvalidPrivateFieldResolution,i,{identifierName:n})}declarePrivateName(t,r,n){let{privateNames:i,loneAccessors:s,undefinedPrivateNames:R}=this.current(),l=i.has(t);if(r&3){let c=l&&s.get(t);if(c){let h=c&4,_=r&4,f=c&3,m=r&3;l=f===m||h!==_,l||s.delete(t)}else l||s.set(t,r)}l&&this.parser.raise(Hr.PrivateNameRedeclaration,n,{identifierName:t}),i.add(t),R.delete(t)}usePrivateName(t,r){let n;for(n of this.stack)if(n.privateNames.has(t))return;n?n.undefinedPrivateNames.set(t,r):this.parser.raise(Hr.InvalidPrivateFieldResolution,r,{identifierName:t})}},_ne=class{constructor(t=0){this.type=t}canBeArrowParameterDeclaration(){return this.type===2||this.type===1}isCertainlyParameterDeclaration(){return this.type===3}},tye=class extends _ne{constructor(t){super(t),this.declarationErrors=new Map}recordDeclarationError(t,r){let n=r.index;this.declarationErrors.set(n,[t,r])}clearDeclarationError(t){this.declarationErrors.delete(t)}iterateErrors(t){this.declarationErrors.forEach(t)}},M2t=class{constructor(t){this.parser=void 0,this.stack=[new _ne],this.parser=t}enter(t){this.stack.push(t)}exit(){this.stack.pop()}recordParameterInitializerError(t,r){let n=r.loc.start,{stack:i}=this,s=i.length-1,R=i[s];for(;!R.isCertainlyParameterDeclaration();){if(R.canBeArrowParameterDeclaration())R.recordDeclarationError(t,n);else return;R=i[--s]}this.parser.raise(t,n)}recordArrowParameterBindingError(t,r){let{stack:n}=this,i=n[n.length-1],s=r.loc.start;if(i.isCertainlyParameterDeclaration())this.parser.raise(t,s);else if(i.canBeArrowParameterDeclaration())i.recordDeclarationError(t,s);else return}recordAsyncArrowParametersError(t){let{stack:r}=this,n=r.length-1,i=r[n];for(;i.canBeArrowParameterDeclaration();)i.type===2&&i.recordDeclarationError(Hr.AwaitBindingIdentifier,t),i=r[--n]}validateAsPattern(){let{stack:t}=this,r=t[t.length-1];r.canBeArrowParameterDeclaration()&&r.iterateErrors(([n,i])=>{this.parser.raise(n,i);let s=t.length-2,R=t[s];for(;R.canBeArrowParameterDeclaration();)R.clearDeclarationError(i.index),R=t[--s]})}};function Kvr(){return new _ne(3)}function Gvr(){return new tye(1)}function Vvr(){return new tye(2)}function JMt(){return new _ne}var W2t=class{constructor(){this.stacks=[]}enter(t){this.stacks.push(t)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(this.currentFlags()&2)>0}get hasYield(){return(this.currentFlags()&1)>0}get hasReturn(){return(this.currentFlags()&4)>0}get hasIn(){return(this.currentFlags()&8)>0}};function Xke(e,t){return(e?2:0)|(t?1:0)}var U2t=class extends P2t{addExtra(t,r,n,i=!0){if(!t)return;let{extra:s}=t;s==null&&(s={},t.extra=s),i?s[r]=n:Object.defineProperty(s,r,{enumerable:i,value:n})}isContextual(t){return this.state.type===t&&!this.state.containsEsc}isUnparsedContextual(t,r){let n=t+r.length;if(this.input.slice(t,n)===r){let i=this.input.charCodeAt(n);return!(lne(i)||(i&64512)===55296)}return!1}isLookaheadContextual(t){let r=this.nextTokenStart();return this.isUnparsedContextual(r,t)}eatContextual(t){return this.isContextual(t)?(this.next(),!0):!1}expectContextual(t,r){if(!this.eatContextual(t)){if(r!=null)throw this.raise(r,this.state.startLoc);this.unexpected(null,t)}}canInsertSemicolon(){return this.match(140)||this.match(8)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return SMt(this.input,this.offsetToSourcePos(this.state.lastTokEndLoc.index),this.state.start)}hasFollowingLineBreak(){return SMt(this.input,this.state.end,this.nextTokenStart())}isLineTerminator(){return this.eat(13)||this.canInsertSemicolon()}semicolon(t=!0){(t?this.isLineTerminator():this.eat(13))||this.raise(Hr.MissingSemicolon,this.state.lastTokEndLoc)}expect(t,r){this.eat(t)||this.unexpected(r,t)}tryParse(t,r=this.state.clone()){let n={node:null};try{let i=t((s=null)=>{throw n.node=s,n});if(this.state.errors.length>r.errors.length){let s=this.state;return this.state=r,this.state.tokensLength=s.tokensLength,{node:i,error:s.errors[r.errors.length],thrown:!1,aborted:!1,failState:s}}return{node:i,error:null,thrown:!1,aborted:!1,failState:null}}catch(i){let s=this.state;if(this.state=r,i instanceof SyntaxError)return{node:null,error:i,thrown:!0,aborted:!1,failState:s};if(i===n)return{node:n.node,error:null,thrown:!1,aborted:!0,failState:s};throw i}}checkExpressionErrors(t,r){if(!t)return!1;let{shorthandAssignLoc:n,doubleProtoLoc:i,privateKeyLoc:s,optionalParametersLoc:R}=t,l=!!n||!!i||!!R||!!s;if(!r)return l;n!=null&&this.raise(Hr.InvalidCoverInitializedName,n),i!=null&&this.raise(Hr.DuplicateProto,i),s!=null&&this.raise(Hr.UnexpectedPrivateField,s),R!=null&&this.unexpected(R)}isLiteralPropertyName(){return UMt(this.state.type)}isPrivateName(t){return t.type==="PrivateName"}getPrivateNameSV(t){return t.id.name}hasPropertyAsPrivateName(t){return(t.type==="MemberExpression"||t.type==="OptionalMemberExpression")&&this.isPrivateName(t.property)}isObjectProperty(t){return t.type==="ObjectProperty"}isObjectMethod(t){return t.type==="ObjectMethod"}initializeScopes(t=this.options.sourceType==="module"){let r=this.state.labels;this.state.labels=[];let n=this.exportedIdentifiers;this.exportedIdentifiers=new Set;let i=this.inModule;this.inModule=t;let s=this.scope,R=this.getScopeHandler();this.scope=new R(this,t);let l=this.prodParam;this.prodParam=new W2t;let c=this.classScope;this.classScope=new I2t(this);let h=this.expressionScope;return this.expressionScope=new M2t(this),()=>{this.state.labels=r,this.exportedIdentifiers=n,this.inModule=i,this.scope=s,this.prodParam=l,this.classScope=c,this.expressionScope=h}}enterInitialScopes(){let t=0;this.inModule&&(t|=2),this.scope.enter(1),this.prodParam.enter(t)}checkDestructuringPrivate(t){let{privateKeyLoc:r}=t;r!==null&&this.expectPlugin("destructuringPrivate",r)}},Tne=class{constructor(){this.shorthandAssignLoc=null,this.doubleProtoLoc=null,this.privateKeyLoc=null,this.optionalParametersLoc=null}},hne=class{constructor(t,r,n){this.type="",this.start=r,this.end=0,this.loc=new pne(n),t!=null&&t.options.ranges&&(this.range=[r,0]),t!=null&&t.filename&&(this.loc.filename=t.filename)}},n7t=hne.prototype;n7t.__clone=function(){let e=new hne(void 0,this.start,this.loc.start),t=Object.keys(this);for(let r=0,n=t.length;r`Cannot overwrite reserved type ${e}.`,DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement.",EnumBooleanMemberNotInitialized:({memberName:e,enumName:t})=>`Boolean enum members need to be initialized. Use either \`${e} = true,\` or \`${e} = false,\` in enum \`${t}\`.`,EnumDuplicateMemberName:({memberName:e,enumName:t})=>`Enum member names need to be unique, but the name \`${e}\` has already been used before in enum \`${t}\`.`,EnumInconsistentMemberValues:({enumName:e})=>`Enum \`${e}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`,EnumInvalidExplicitType:({invalidEnumType:e,enumName:t})=>`Enum type \`${e}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${t}\`.`,EnumInvalidExplicitTypeUnknownSupplied:({enumName:e})=>`Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${e}\`.`,EnumInvalidMemberInitializerPrimaryType:({enumName:e,memberName:t,explicitType:r})=>`Enum \`${e}\` has type \`${r}\`, so the initializer of \`${t}\` needs to be a ${r} literal.`,EnumInvalidMemberInitializerSymbolType:({enumName:e,memberName:t})=>`Symbol enum members cannot be initialized. Use \`${t},\` in enum \`${e}\`.`,EnumInvalidMemberInitializerUnknownType:({enumName:e,memberName:t})=>`The enum member initializer for \`${t}\` needs to be a literal (either a boolean, number, or string) in enum \`${e}\`.`,EnumInvalidMemberName:({enumName:e,memberName:t,suggestion:r})=>`Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${t}\`, consider using \`${r}\`, in enum \`${e}\`.`,EnumNumberMemberNotInitialized:({enumName:e,memberName:t})=>`Number enum members need to be initialized, e.g. \`${t} = 1\` in enum \`${e}\`.`,EnumStringMemberInconsistentlyInitialized:({enumName:e})=>`String enum members need to consistently either all use initializers, or use no initializers, in enum \`${e}\`.`,GetterMayNotHaveThisParam:"A getter cannot have a `this` parameter.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` or `typeof` keyword.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type.",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions.",InexactVariance:"Explicit inexact syntax cannot have variance.",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`.",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`.",NestedFlowComment:"Cannot have a flow comment inside another flow comment.",PatternIsOptional:Object.assign({message:"A binding pattern parameter cannot be optional in an implementation signature."},{reasonCode:"OptionalBindingPattern"}),SetterMayNotHaveThisParam:"A setter cannot have a `this` parameter.",SpreadVariance:"Spread properties cannot have variance.",ThisParamAnnotationRequired:"A type annotation is required for the `this` parameter.",ThisParamBannedInConstructor:"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",ThisParamMayNotBeOptional:"The `this` parameter cannot be optional.",ThisParamMustBeFirst:"The `this` parameter must be the first function parameter.",ThisParamNoDefault:"The `this` parameter may not have a default value.",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis.",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object.",UnexpectedReservedType:({reservedType:e})=>`Unexpected reserved type ${e}.`,UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new.",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions.",UnexpectedSubtractionOperand:'Unexpected token, expected "number" or "bigint".',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration.",UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.",UnsupportedDeclareExportKind:({unsupportedExportKind:e,suggestion:t})=>`\`declare export ${e}\` is not supported. Use \`${t}\` instead.`,UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module.",UnterminatedFlowComment:"Unterminated flow-comment."});function Zvr(e){return e.type==="DeclareExportAllDeclaration"||e.type==="DeclareExportDeclaration"&&(!e.declaration||e.declaration.type!=="TypeAlias"&&e.declaration.type!=="InterfaceDeclaration")}function NMt(e){return e.importKind==="type"||e.importKind==="typeof"}var eDr={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};function tDr(e,t){let r=[],n=[];for(let i=0;iclass extends e{constructor(...r){super(...r),this.flowPragma=void 0}getScopeHandler(){return S2t}shouldParseTypes(){return this.getPluginOption("flow","all")||this.flowPragma==="flow"}finishToken(r,n){r!==134&&r!==13&&r!==28&&this.flowPragma===void 0&&(this.flowPragma=null),super.finishToken(r,n)}addComment(r){if(this.flowPragma===void 0){let n=rDr.exec(r.value);if(n)if(n[1]==="flow")this.flowPragma="flow";else if(n[1]==="noflow")this.flowPragma="noflow";else throw new Error("Unexpected flow pragma")}super.addComment(r)}flowParseTypeInitialiser(r){let n=this.state.inType;this.state.inType=!0,this.expect(r||14);let i=this.flowParseType();return this.state.inType=n,i}flowParsePredicate(){let r=this.startNode(),n=this.state.startLoc;return this.next(),this.expectContextual(110),this.state.lastTokStartLoc.index>n.index+1&&this.raise(Qo.UnexpectedSpaceBetweenModuloChecks,n),this.eat(10)?(r.value=super.parseExpression(),this.expect(11),this.finishNode(r,"DeclaredPredicate")):this.finishNode(r,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){let r=this.state.inType;this.state.inType=!0,this.expect(14);let n=null,i=null;return this.match(54)?(this.state.inType=r,i=this.flowParsePredicate()):(n=this.flowParseType(),this.state.inType=r,this.match(54)&&(i=this.flowParsePredicate())),[n,i]}flowParseDeclareClass(r){return this.next(),this.flowParseInterfaceish(r,!0),this.finishNode(r,"DeclareClass")}flowParseDeclareFunction(r){this.next();let n=r.id=this.parseIdentifier(),i=this.startNode(),s=this.startNode();this.match(47)?i.typeParameters=this.flowParseTypeParameterDeclaration():i.typeParameters=null,this.expect(10);let R=this.flowParseFunctionTypeParams();return i.params=R.params,i.rest=R.rest,i.this=R._this,this.expect(11),[i.returnType,r.predicate]=this.flowParseTypeAndPredicateInitialiser(),s.typeAnnotation=this.finishNode(i,"FunctionTypeAnnotation"),n.typeAnnotation=this.finishNode(s,"TypeAnnotation"),this.resetEndLocation(n),this.semicolon(),this.scope.declareName(r.id.name,2048,r.id.loc.start),this.finishNode(r,"DeclareFunction")}flowParseDeclare(r,n){if(this.match(80))return this.flowParseDeclareClass(r);if(this.match(68))return this.flowParseDeclareFunction(r);if(this.match(74))return this.flowParseDeclareVariable(r);if(this.eatContextual(127))return this.match(16)?this.flowParseDeclareModuleExports(r):(n&&this.raise(Qo.NestedDeclareModule,this.state.lastTokStartLoc),this.flowParseDeclareModule(r));if(this.isContextual(130))return this.flowParseDeclareTypeAlias(r);if(this.isContextual(131))return this.flowParseDeclareOpaqueType(r);if(this.isContextual(129))return this.flowParseDeclareInterface(r);if(this.match(82))return this.flowParseDeclareExportDeclaration(r,n);this.unexpected()}flowParseDeclareVariable(r){return this.next(),r.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(r.id.name,5,r.id.loc.start),this.semicolon(),this.finishNode(r,"DeclareVariable")}flowParseDeclareModule(r){this.scope.enter(0),this.match(134)?r.id=super.parseExprAtom():r.id=this.parseIdentifier();let n=r.body=this.startNode(),i=n.body=[];for(this.expect(5);!this.match(8);){let l=this.startNode();this.match(83)?(this.next(),!this.isContextual(130)&&!this.match(87)&&this.raise(Qo.InvalidNonTypeImportInDeclareModule,this.state.lastTokStartLoc),super.parseImport(l)):(this.expectContextual(125,Qo.UnsupportedStatementInDeclareModule),l=this.flowParseDeclare(l,!0)),i.push(l)}this.scope.exit(),this.expect(8),this.finishNode(n,"BlockStatement");let s=null,R=!1;return i.forEach(l=>{Zvr(l)?(s==="CommonJS"&&this.raise(Qo.AmbiguousDeclareModuleKind,l),s="ES"):l.type==="DeclareModuleExports"&&(R&&this.raise(Qo.DuplicateDeclareModuleExports,l),s==="ES"&&this.raise(Qo.AmbiguousDeclareModuleKind,l),s="CommonJS",R=!0)}),r.kind=s||"CommonJS",this.finishNode(r,"DeclareModule")}flowParseDeclareExportDeclaration(r,n){if(this.expect(82),this.eat(65))return this.match(68)||this.match(80)?r.declaration=this.flowParseDeclare(this.startNode()):(r.declaration=this.flowParseType(),this.semicolon()),r.default=!0,this.finishNode(r,"DeclareExportDeclaration");if(this.match(75)||this.isLet()||(this.isContextual(130)||this.isContextual(129))&&!n){let i=this.state.value;throw this.raise(Qo.UnsupportedDeclareExportKind,this.state.startLoc,{unsupportedExportKind:i,suggestion:eDr[i]})}if(this.match(74)||this.match(68)||this.match(80)||this.isContextual(131))return r.declaration=this.flowParseDeclare(this.startNode()),r.default=!1,this.finishNode(r,"DeclareExportDeclaration");if(this.match(55)||this.match(5)||this.isContextual(129)||this.isContextual(130)||this.isContextual(131))return r=this.parseExport(r,null),r.type==="ExportNamedDeclaration"&&(r.type="ExportDeclaration",r.default=!1,delete r.exportKind),r.type="Declare"+r.type,r;this.unexpected()}flowParseDeclareModuleExports(r){return this.next(),this.expectContextual(111),r.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(r,"DeclareModuleExports")}flowParseDeclareTypeAlias(r){this.next();let n=this.flowParseTypeAlias(r);return n.type="DeclareTypeAlias",n}flowParseDeclareOpaqueType(r){this.next();let n=this.flowParseOpaqueType(r,!0);return n.type="DeclareOpaqueType",n}flowParseDeclareInterface(r){return this.next(),this.flowParseInterfaceish(r,!1),this.finishNode(r,"DeclareInterface")}flowParseInterfaceish(r,n){if(r.id=this.flowParseRestrictedIdentifier(!n,!0),this.scope.declareName(r.id.name,n?17:8201,r.id.loc.start),this.match(47)?r.typeParameters=this.flowParseTypeParameterDeclaration():r.typeParameters=null,r.extends=[],this.eat(81))do r.extends.push(this.flowParseInterfaceExtends());while(!n&&this.eat(12));if(n){if(r.implements=[],r.mixins=[],this.eatContextual(117))do r.mixins.push(this.flowParseInterfaceExtends());while(this.eat(12));if(this.eatContextual(113))do r.implements.push(this.flowParseInterfaceExtends());while(this.eat(12))}r.body=this.flowParseObjectType({allowStatic:n,allowExact:!1,allowSpread:!1,allowProto:n,allowInexact:!1})}flowParseInterfaceExtends(){let r=this.startNode();return r.id=this.flowParseQualifiedTypeIdentifier(),this.match(47)?r.typeParameters=this.flowParseTypeParameterInstantiation():r.typeParameters=null,this.finishNode(r,"InterfaceExtends")}flowParseInterface(r){return this.flowParseInterfaceish(r,!1),this.finishNode(r,"InterfaceDeclaration")}checkNotUnderscore(r){r==="_"&&this.raise(Qo.UnexpectedReservedUnderscore,this.state.startLoc)}checkReservedType(r,n,i){Xvr.has(r)&&this.raise(i?Qo.AssignReservedType:Qo.UnexpectedReservedType,n,{reservedType:r})}flowParseRestrictedIdentifier(r,n){return this.checkReservedType(this.state.value,this.state.startLoc,n),this.parseIdentifier(r)}flowParseTypeAlias(r){return r.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(r.id.name,8201,r.id.loc.start),this.match(47)?r.typeParameters=this.flowParseTypeParameterDeclaration():r.typeParameters=null,r.right=this.flowParseTypeInitialiser(29),this.semicolon(),this.finishNode(r,"TypeAlias")}flowParseOpaqueType(r,n){return this.expectContextual(130),r.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(r.id.name,8201,r.id.loc.start),this.match(47)?r.typeParameters=this.flowParseTypeParameterDeclaration():r.typeParameters=null,r.supertype=null,this.match(14)&&(r.supertype=this.flowParseTypeInitialiser(14)),r.impltype=null,n||(r.impltype=this.flowParseTypeInitialiser(29)),this.semicolon(),this.finishNode(r,"OpaqueType")}flowParseTypeParameter(r=!1){let n=this.state.startLoc,i=this.startNode(),s=this.flowParseVariance(),R=this.flowParseTypeAnnotatableIdentifier();return i.name=R.name,i.variance=s,i.bound=R.typeAnnotation,this.match(29)?(this.eat(29),i.default=this.flowParseType()):r&&this.raise(Qo.MissingTypeParamDefault,n),this.finishNode(i,"TypeParameter")}flowParseTypeParameterDeclaration(){let r=this.state.inType,n=this.startNode();n.params=[],this.state.inType=!0,this.match(47)||this.match(143)?this.next():this.unexpected();let i=!1;do{let s=this.flowParseTypeParameter(i);n.params.push(s),s.default&&(i=!0),this.match(48)||this.expect(12)}while(!this.match(48));return this.expect(48),this.state.inType=r,this.finishNode(n,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){let r=this.startNode(),n=this.state.inType;r.params=[],this.state.inType=!0,this.expect(47);let i=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.match(48);)r.params.push(this.flowParseType()),this.match(48)||this.expect(12);return this.state.noAnonFunctionType=i,this.expect(48),this.state.inType=n,this.finishNode(r,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){let r=this.startNode(),n=this.state.inType;for(r.params=[],this.state.inType=!0,this.expect(47);!this.match(48);)r.params.push(this.flowParseTypeOrImplicitInstantiation()),this.match(48)||this.expect(12);return this.expect(48),this.state.inType=n,this.finishNode(r,"TypeParameterInstantiation")}flowParseInterfaceType(){let r=this.startNode();if(this.expectContextual(129),r.extends=[],this.eat(81))do r.extends.push(this.flowParseInterfaceExtends());while(this.eat(12));return r.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(r,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(135)||this.match(134)?super.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(r,n,i){return r.static=n,this.lookahead().type===14?(r.id=this.flowParseObjectPropertyKey(),r.key=this.flowParseTypeInitialiser()):(r.id=null,r.key=this.flowParseType()),this.expect(3),r.value=this.flowParseTypeInitialiser(),r.variance=i,this.finishNode(r,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(r,n){return r.static=n,r.id=this.flowParseObjectPropertyKey(),this.expect(3),this.expect(3),this.match(47)||this.match(10)?(r.method=!0,r.optional=!1,r.value=this.flowParseObjectTypeMethodish(this.startNodeAt(r.loc.start))):(r.method=!1,this.eat(17)&&(r.optional=!0),r.value=this.flowParseTypeInitialiser()),this.finishNode(r,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(r){for(r.params=[],r.rest=null,r.typeParameters=null,r.this=null,this.match(47)&&(r.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(10),this.match(78)&&(r.this=this.flowParseFunctionTypeParam(!0),r.this.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)r.params.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(r.rest=this.flowParseFunctionTypeParam(!1)),this.expect(11),r.returnType=this.flowParseTypeInitialiser(),this.finishNode(r,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(r,n){let i=this.startNode();return r.static=n,r.value=this.flowParseObjectTypeMethodish(i),this.finishNode(r,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:r,allowExact:n,allowSpread:i,allowProto:s,allowInexact:R}){let l=this.state.inType;this.state.inType=!0;let c=this.startNode();c.callProperties=[],c.properties=[],c.indexers=[],c.internalSlots=[];let h,_,f=!1;for(n&&this.match(6)?(this.expect(6),h=9,_=!0):(this.expect(5),h=8,_=!1),c.exact=_;!this.match(h);){let x=!1,y=null,A=null,D=this.startNode();if(s&&this.isContextual(118)){let P=this.lookahead();P.type!==14&&P.type!==17&&(this.next(),y=this.state.startLoc,r=!1)}if(r&&this.isContextual(106)){let P=this.lookahead();P.type!==14&&P.type!==17&&(this.next(),x=!0)}let S=this.flowParseVariance();if(this.eat(0))y!=null&&this.unexpected(y),this.eat(0)?(S&&this.unexpected(S.loc.start),c.internalSlots.push(this.flowParseObjectTypeInternalSlot(D,x))):c.indexers.push(this.flowParseObjectTypeIndexer(D,x,S));else if(this.match(10)||this.match(47))y!=null&&this.unexpected(y),S&&this.unexpected(S.loc.start),c.callProperties.push(this.flowParseObjectTypeCallProperty(D,x));else{let P="init";if(this.isContextual(99)||this.isContextual(104)){let U=this.lookahead();UMt(U.type)&&(P=this.state.value,this.next())}let M=this.flowParseObjectTypeProperty(D,x,y,S,P,i,R??!_);M===null?(f=!0,A=this.state.lastTokStartLoc):c.properties.push(M)}this.flowObjectTypeSemicolon(),A&&!this.match(8)&&!this.match(9)&&this.raise(Qo.UnexpectedExplicitInexactInObject,A)}this.expect(h),i&&(c.inexact=f);let m=this.finishNode(c,"ObjectTypeAnnotation");return this.state.inType=l,m}flowParseObjectTypeProperty(r,n,i,s,R,l,c){if(this.eat(21))return this.match(12)||this.match(13)||this.match(8)||this.match(9)?(l?c||this.raise(Qo.InexactInsideExact,this.state.lastTokStartLoc):this.raise(Qo.InexactInsideNonObject,this.state.lastTokStartLoc),s&&this.raise(Qo.InexactVariance,s),null):(l||this.raise(Qo.UnexpectedSpreadType,this.state.lastTokStartLoc),i!=null&&this.unexpected(i),s&&this.raise(Qo.SpreadVariance,s),r.argument=this.flowParseType(),this.finishNode(r,"ObjectTypeSpreadProperty"));{r.key=this.flowParseObjectPropertyKey(),r.static=n,r.proto=i!=null,r.kind=R;let h=!1;return this.match(47)||this.match(10)?(r.method=!0,i!=null&&this.unexpected(i),s&&this.unexpected(s.loc.start),r.value=this.flowParseObjectTypeMethodish(this.startNodeAt(r.loc.start)),(R==="get"||R==="set")&&this.flowCheckGetterSetterParams(r),!l&&r.key.name==="constructor"&&r.value.this&&this.raise(Qo.ThisParamBannedInConstructor,r.value.this)):(R!=="init"&&this.unexpected(),r.method=!1,this.eat(17)&&(h=!0),r.value=this.flowParseTypeInitialiser(),r.variance=s),r.optional=h,this.finishNode(r,"ObjectTypeProperty")}}flowCheckGetterSetterParams(r){let n=r.kind==="get"?0:1,i=r.value.params.length+(r.value.rest?1:0);r.value.this&&this.raise(r.kind==="get"?Qo.GetterMayNotHaveThisParam:Qo.SetterMayNotHaveThisParam,r.value.this),i!==n&&this.raise(r.kind==="get"?Hr.BadGetterArity:Hr.BadSetterArity,r),r.kind==="set"&&r.value.rest&&this.raise(Hr.BadSetterRestParameter,r)}flowObjectTypeSemicolon(){!this.eat(13)&&!this.eat(12)&&!this.match(8)&&!this.match(9)&&this.unexpected()}flowParseQualifiedTypeIdentifier(r,n){var i;(i=r)!=null||(r=this.state.startLoc);let s=n||this.flowParseRestrictedIdentifier(!0);for(;this.eat(16);){let R=this.startNodeAt(r);R.qualification=s,R.id=this.flowParseRestrictedIdentifier(!0),s=this.finishNode(R,"QualifiedTypeIdentifier")}return s}flowParseGenericType(r,n){let i=this.startNodeAt(r);return i.typeParameters=null,i.id=this.flowParseQualifiedTypeIdentifier(r,n),this.match(47)&&(i.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(i,"GenericTypeAnnotation")}flowParseTypeofType(){let r=this.startNode();return this.expect(87),r.argument=this.flowParsePrimaryType(),this.finishNode(r,"TypeofTypeAnnotation")}flowParseTupleType(){let r=this.startNode();for(r.types=[],this.expect(0);this.state.possuper.parseFunctionBody(r,!0,i));return}super.parseFunctionBody(r,!1,i)}parseFunctionBodyAndFinish(r,n,i=!1){if(this.match(14)){let s=this.startNode();[s.typeAnnotation,r.predicate]=this.flowParseTypeAndPredicateInitialiser(),r.returnType=s.typeAnnotation?this.finishNode(s,"TypeAnnotation"):null}return super.parseFunctionBodyAndFinish(r,n,i)}parseStatementLike(r){if(this.state.strict&&this.isContextual(129)){let i=this.lookahead();if(LE(i.type)){let s=this.startNode();return this.next(),this.flowParseInterface(s)}}else if(this.isContextual(126)){let i=this.startNode();return this.next(),this.flowParseEnumDeclaration(i)}let n=super.parseStatementLike(r);return this.flowPragma===void 0&&!this.isValidDirective(n)&&(this.flowPragma=null),n}parseExpressionStatement(r,n,i){if(n.type==="Identifier"){if(n.name==="declare"){if(this.match(80)||fl(this.state.type)||this.match(68)||this.match(74)||this.match(82))return this.flowParseDeclare(r)}else if(fl(this.state.type)){if(n.name==="interface")return this.flowParseInterface(r);if(n.name==="type")return this.flowParseTypeAlias(r);if(n.name==="opaque")return this.flowParseOpaqueType(r,!1)}}return super.parseExpressionStatement(r,n,i)}shouldParseExportDeclaration(){let{type:r}=this.state;return r===126||DMt(r)?!this.state.containsEsc:super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){let{type:r}=this.state;return r===126||DMt(r)?this.state.containsEsc:super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.isContextual(126)){let r=this.startNode();return this.next(),this.flowParseEnumDeclaration(r)}return super.parseExportDefaultExpression()}parseConditional(r,n,i){if(!this.match(17))return r;if(this.state.maybeInArrowParameters){let m=this.lookaheadCharCode();if(m===44||m===61||m===58||m===41)return this.setOptionalParametersError(i),r}this.expect(17);let s=this.state.clone(),R=this.state.noArrowAt,l=this.startNodeAt(n),{consequent:c,failed:h}=this.tryParseConditionalConsequent(),[_,f]=this.getArrowLikeExpressions(c);if(h||f.length>0){let m=[...R];if(f.length>0){this.state=s,this.state.noArrowAt=m;for(let x=0;x1&&this.raise(Qo.AmbiguousConditionalArrow,s.startLoc),h&&_.length===1&&(this.state=s,m.push(_[0].start),this.state.noArrowAt=m,{consequent:c,failed:h}=this.tryParseConditionalConsequent())}return this.getArrowLikeExpressions(c,!0),this.state.noArrowAt=R,this.expect(14),l.test=r,l.consequent=c,l.alternate=this.forwardNoArrowParamsConversionAt(l,()=>this.parseMaybeAssign(void 0,void 0)),this.finishNode(l,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);let r=this.parseMaybeAssignAllowIn(),n=!this.match(14);return this.state.noArrowParamsConversionAt.pop(),{consequent:r,failed:n}}getArrowLikeExpressions(r,n){let i=[r],s=[];for(;i.length!==0;){let R=i.pop();R.type==="ArrowFunctionExpression"&&R.body.type!=="BlockStatement"?(R.typeParameters||!R.returnType?this.finishArrowValidation(R):s.push(R),i.push(R.body)):R.type==="ConditionalExpression"&&(i.push(R.consequent),i.push(R.alternate))}return n?(s.forEach(R=>this.finishArrowValidation(R)),[s,[]]):tDr(s,R=>R.params.every(l=>this.isAssignable(l,!0)))}finishArrowValidation(r){var n;this.toAssignableList(r.params,(n=r.extra)==null?void 0:n.trailingCommaLoc,!1),this.scope.enter(6),super.checkParams(r,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(r,n){let i;return this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(r.start))?(this.state.noArrowParamsConversionAt.push(this.state.start),i=n(),this.state.noArrowParamsConversionAt.pop()):i=n(),i}parseParenItem(r,n){let i=super.parseParenItem(r,n);if(this.eat(17)&&(i.optional=!0,this.resetEndLocation(r)),this.match(14)){let s=this.startNodeAt(n);return s.expression=i,s.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(s,"TypeCastExpression")}return i}assertModuleNodeAllowed(r){r.type==="ImportDeclaration"&&(r.importKind==="type"||r.importKind==="typeof")||r.type==="ExportNamedDeclaration"&&r.exportKind==="type"||r.type==="ExportAllDeclaration"&&r.exportKind==="type"||super.assertModuleNodeAllowed(r)}parseExportDeclaration(r){if(this.isContextual(130)){r.exportKind="type";let n=this.startNode();return this.next(),this.match(5)?(r.specifiers=this.parseExportSpecifiers(!0),super.parseExportFrom(r),null):this.flowParseTypeAlias(n)}else if(this.isContextual(131)){r.exportKind="type";let n=this.startNode();return this.next(),this.flowParseOpaqueType(n,!1)}else if(this.isContextual(129)){r.exportKind="type";let n=this.startNode();return this.next(),this.flowParseInterface(n)}else if(this.isContextual(126)){r.exportKind="value";let n=this.startNode();return this.next(),this.flowParseEnumDeclaration(n)}else return super.parseExportDeclaration(r)}eatExportStar(r){return super.eatExportStar(r)?!0:this.isContextual(130)&&this.lookahead().type===55?(r.exportKind="type",this.next(),this.next(),!0):!1}maybeParseExportNamespaceSpecifier(r){let{startLoc:n}=this.state,i=super.maybeParseExportNamespaceSpecifier(r);return i&&r.exportKind==="type"&&this.unexpected(n),i}parseClassId(r,n,i){super.parseClassId(r,n,i),this.match(47)&&(r.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(r,n,i){let{startLoc:s}=this.state;if(this.isContextual(125)){if(super.parseClassMemberFromModifier(r,n))return;n.declare=!0}super.parseClassMember(r,n,i),n.declare&&(n.type!=="ClassProperty"&&n.type!=="ClassPrivateProperty"&&n.type!=="PropertyDefinition"?this.raise(Qo.DeclareClassElement,s):n.value&&this.raise(Qo.DeclareClassFieldInitializer,n.value))}isIterator(r){return r==="iterator"||r==="asyncIterator"}readIterator(){let r=super.readWord1(),n="@@"+r;(!this.isIterator(r)||!this.state.inType)&&this.raise(Hr.InvalidIdentifier,this.state.curPosition(),{identifierName:n}),this.finishToken(132,n)}getTokenFromCode(r){let n=this.input.charCodeAt(this.state.pos+1);r===123&&n===124?this.finishOp(6,2):this.state.inType&&(r===62||r===60)?this.finishOp(r===62?48:47,1):this.state.inType&&r===63?n===46?this.finishOp(18,2):this.finishOp(17,1):Bvr(r,n,this.input.charCodeAt(this.state.pos+2))?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(r)}isAssignable(r,n){return r.type==="TypeCastExpression"?this.isAssignable(r.expression,n):super.isAssignable(r,n)}toAssignable(r,n=!1){!n&&r.type==="AssignmentExpression"&&r.left.type==="TypeCastExpression"&&(r.left=this.typeCastToParameter(r.left)),super.toAssignable(r,n)}toAssignableList(r,n,i){for(let s=0;s1||!n)&&this.raise(Qo.TypeCastInPattern,R.typeAnnotation)}return r}parseArrayLike(r,n,i,s){let R=super.parseArrayLike(r,n,i,s);return n&&!this.state.maybeInArrowParameters&&this.toReferencedList(R.elements),R}isValidLVal(r,n,i){return r==="TypeCastExpression"||super.isValidLVal(r,n,i)}parseClassProperty(r){return this.match(14)&&(r.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(r)}parseClassPrivateProperty(r){return this.match(14)&&(r.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(r)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(14)||super.isClassProperty()}isNonstaticConstructor(r){return!this.match(14)&&super.isNonstaticConstructor(r)}pushClassMethod(r,n,i,s,R,l){if(n.variance&&this.unexpected(n.variance.loc.start),delete n.variance,this.match(47)&&(n.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(r,n,i,s,R,l),n.params&&R){let c=n.params;c.length>0&&this.isThisParam(c[0])&&this.raise(Qo.ThisParamBannedInConstructor,n)}else if(n.type==="MethodDefinition"&&R&&n.value.params){let c=n.value.params;c.length>0&&this.isThisParam(c[0])&&this.raise(Qo.ThisParamBannedInConstructor,n)}}pushClassPrivateMethod(r,n,i,s){n.variance&&this.unexpected(n.variance.loc.start),delete n.variance,this.match(47)&&(n.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(r,n,i,s)}parseClassSuper(r){if(super.parseClassSuper(r),r.superClass&&this.match(47)&&(r.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual(113)){this.next();let n=r.implements=[];do{let i=this.startNode();i.id=this.flowParseRestrictedIdentifier(!0),this.match(47)?i.typeParameters=this.flowParseTypeParameterInstantiation():i.typeParameters=null,n.push(this.finishNode(i,"ClassImplements"))}while(this.eat(12))}}checkGetterSetterParams(r){super.checkGetterSetterParams(r);let n=this.getObjectOrClassMethodParams(r);if(n.length>0){let i=n[0];this.isThisParam(i)&&r.kind==="get"?this.raise(Qo.GetterMayNotHaveThisParam,i):this.isThisParam(i)&&this.raise(Qo.SetterMayNotHaveThisParam,i)}}parsePropertyNamePrefixOperator(r){r.variance=this.flowParseVariance()}parseObjPropValue(r,n,i,s,R,l,c){r.variance&&this.unexpected(r.variance.loc.start),delete r.variance;let h;this.match(47)&&!l&&(h=this.flowParseTypeParameterDeclaration(),this.match(10)||this.unexpected());let _=super.parseObjPropValue(r,n,i,s,R,l,c);return h&&((_.value||_).typeParameters=h),_}parseFunctionParamType(r){return this.eat(17)&&(r.type!=="Identifier"&&this.raise(Qo.PatternIsOptional,r),this.isThisParam(r)&&this.raise(Qo.ThisParamMayNotBeOptional,r),r.optional=!0),this.match(14)?r.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(r)&&this.raise(Qo.ThisParamAnnotationRequired,r),this.match(29)&&this.isThisParam(r)&&this.raise(Qo.ThisParamNoDefault,r),this.resetEndLocation(r),r}parseMaybeDefault(r,n){let i=super.parseMaybeDefault(r,n);return i.type==="AssignmentPattern"&&i.typeAnnotation&&i.right.startsuper.parseMaybeAssign(r,n),s),!R.error)return R.node;let{context:h}=this.state,_=h[h.length-1];(_===vc.j_oTag||_===vc.j_expr)&&h.pop()}if((i=R)!=null&&i.error||this.match(47)){var l,c;s=s||this.state.clone();let h,_=this.tryParse(m=>{var x;h=this.flowParseTypeParameterDeclaration();let y=this.forwardNoArrowParamsConversionAt(h,()=>{let D=super.parseMaybeAssign(r,n);return this.resetStartLocationFromNode(D,h),D});(x=y.extra)!=null&&x.parenthesized&&m();let A=this.maybeUnwrapTypeCastExpression(y);return A.type!=="ArrowFunctionExpression"&&m(),A.typeParameters=h,this.resetStartLocationFromNode(A,h),y},s),f=null;if(_.node&&this.maybeUnwrapTypeCastExpression(_.node).type==="ArrowFunctionExpression"){if(!_.error&&!_.aborted)return _.node.async&&this.raise(Qo.UnexpectedTypeParameterBeforeAsyncArrowFunction,h),_.node;f=_.node}if((l=R)!=null&&l.node)return this.state=R.failState,R.node;if(f)return this.state=_.failState,f;throw(c=R)!=null&&c.thrown?R.error:_.thrown?_.error:this.raise(Qo.UnexpectedTokenAfterTypeParameter,h)}return super.parseMaybeAssign(r,n)}parseArrow(r){if(this.match(14)){let n=this.tryParse(()=>{let i=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;let s=this.startNode();return[s.typeAnnotation,r.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=i,this.canInsertSemicolon()&&this.unexpected(),this.match(19)||this.unexpected(),s});if(n.thrown)return null;n.error&&(this.state=n.failState),r.returnType=n.node.typeAnnotation?this.finishNode(n.node,"TypeAnnotation"):null}return super.parseArrow(r)}shouldParseArrow(r){return this.match(14)||super.shouldParseArrow(r)}setArrowFunctionParameters(r,n){this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(r.start))?r.params=n:super.setArrowFunctionParameters(r,n)}checkParams(r,n,i,s=!0){if(!(i&&this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(r.start)))){for(let R=0;R0&&this.raise(Qo.ThisParamMustBeFirst,r.params[R]);super.checkParams(r,n,i,s)}}parseParenAndDistinguishExpression(r){return super.parseParenAndDistinguishExpression(r&&!this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start)))}parseSubscripts(r,n,i){if(r.type==="Identifier"&&r.name==="async"&&this.state.noArrowAt.includes(n.index)){this.next();let s=this.startNodeAt(n);s.callee=r,s.arguments=super.parseCallExpressionArguments(11),r=this.finishNode(s,"CallExpression")}else if(r.type==="Identifier"&&r.name==="async"&&this.match(47)){let s=this.state.clone(),R=this.tryParse(c=>this.parseAsyncArrowWithTypeParameters(n)||c(),s);if(!R.error&&!R.aborted)return R.node;let l=this.tryParse(()=>super.parseSubscripts(r,n,i),s);if(l.node&&!l.error)return l.node;if(R.node)return this.state=R.failState,R.node;if(l.node)return this.state=l.failState,l.node;throw R.error||l.error}return super.parseSubscripts(r,n,i)}parseSubscript(r,n,i,s){if(this.match(18)&&this.isLookaheadToken_lt()){if(s.optionalChainMember=!0,i)return s.stop=!0,r;this.next();let R=this.startNodeAt(n);return R.callee=r,R.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(10),R.arguments=this.parseCallExpressionArguments(11),R.optional=!0,this.finishCallExpression(R,!0)}else if(!i&&this.shouldParseTypes()&&this.match(47)){let R=this.startNodeAt(n);R.callee=r;let l=this.tryParse(()=>(R.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(10),R.arguments=super.parseCallExpressionArguments(11),s.optionalChainMember&&(R.optional=!1),this.finishCallExpression(R,s.optionalChainMember)));if(l.node)return l.error&&(this.state=l.failState),l.node}return super.parseSubscript(r,n,i,s)}parseNewCallee(r){super.parseNewCallee(r);let n=null;this.shouldParseTypes()&&this.match(47)&&(n=this.tryParse(()=>this.flowParseTypeParameterInstantiationCallOrNew()).node),r.typeArguments=n}parseAsyncArrowWithTypeParameters(r){let n=this.startNodeAt(r);if(this.parseFunctionParams(n,!1),!!this.parseArrow(n))return super.parseArrowExpression(n,void 0,!0)}readToken_mult_modulo(r){let n=this.input.charCodeAt(this.state.pos+1);if(r===42&&n===47&&this.state.hasFlowComment){this.state.hasFlowComment=!1,this.state.pos+=2,this.nextToken();return}super.readToken_mult_modulo(r)}readToken_pipe_amp(r){let n=this.input.charCodeAt(this.state.pos+1);if(r===124&&n===125){this.finishOp(9,2);return}super.readToken_pipe_amp(r)}parseTopLevel(r,n){let i=super.parseTopLevel(r,n);return this.state.hasFlowComment&&this.raise(Qo.UnterminatedFlowComment,this.state.curPosition()),i}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment()){if(this.state.hasFlowComment)throw this.raise(Qo.NestedFlowComment,this.state.startLoc);this.hasFlowCommentCompletion();let r=this.skipFlowComment();r&&(this.state.pos+=r,this.state.hasFlowComment=!0);return}return super.skipBlockComment(this.state.hasFlowComment?"*-/":"*/")}skipFlowComment(){let{pos:r}=this.state,n=2;for(;[32,9].includes(this.input.charCodeAt(r+n));)n++;let i=this.input.charCodeAt(n+r),s=this.input.charCodeAt(n+r+1);return i===58&&s===58?n+2:this.input.slice(n+r,n+r+12)==="flow-include"?n+12:i===58&&s!==58?n:!1}hasFlowCommentCompletion(){if(this.input.indexOf("*/",this.state.pos)===-1)throw this.raise(Hr.UnterminatedComment,this.state.curPosition())}flowEnumErrorBooleanMemberNotInitialized(r,{enumName:n,memberName:i}){this.raise(Qo.EnumBooleanMemberNotInitialized,r,{memberName:i,enumName:n})}flowEnumErrorInvalidMemberInitializer(r,n){return this.raise(n.explicitType?n.explicitType==="symbol"?Qo.EnumInvalidMemberInitializerSymbolType:Qo.EnumInvalidMemberInitializerPrimaryType:Qo.EnumInvalidMemberInitializerUnknownType,r,n)}flowEnumErrorNumberMemberNotInitialized(r,n){this.raise(Qo.EnumNumberMemberNotInitialized,r,n)}flowEnumErrorStringMemberInconsistentlyInitialized(r,n){this.raise(Qo.EnumStringMemberInconsistentlyInitialized,r,n)}flowEnumMemberInit(){let r=this.state.startLoc,n=()=>this.match(12)||this.match(8);switch(this.state.type){case 135:{let i=this.parseNumericLiteral(this.state.value);return n()?{type:"number",loc:i.loc.start,value:i}:{type:"invalid",loc:r}}case 134:{let i=this.parseStringLiteral(this.state.value);return n()?{type:"string",loc:i.loc.start,value:i}:{type:"invalid",loc:r}}case 85:case 86:{let i=this.parseBooleanLiteral(this.match(85));return n()?{type:"boolean",loc:i.loc.start,value:i}:{type:"invalid",loc:r}}default:return{type:"invalid",loc:r}}}flowEnumMemberRaw(){let r=this.state.startLoc,n=this.parseIdentifier(!0),i=this.eat(29)?this.flowEnumMemberInit():{type:"none",loc:r};return{id:n,init:i}}flowEnumCheckExplicitTypeMismatch(r,n,i){let{explicitType:s}=n;s!==null&&s!==i&&this.flowEnumErrorInvalidMemberInitializer(r,n)}flowEnumMembers({enumName:r,explicitType:n}){let i=new Set,s={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]},R=!1;for(;!this.match(8);){if(this.eat(21)){R=!0;break}let l=this.startNode(),{id:c,init:h}=this.flowEnumMemberRaw(),_=c.name;if(_==="")continue;/^[a-z]/.test(_)&&this.raise(Qo.EnumInvalidMemberName,c,{memberName:_,suggestion:_[0].toUpperCase()+_.slice(1),enumName:r}),i.has(_)&&this.raise(Qo.EnumDuplicateMemberName,c,{memberName:_,enumName:r}),i.add(_);let f={enumName:r,explicitType:n,memberName:_};switch(l.id=c,h.type){case"boolean":{this.flowEnumCheckExplicitTypeMismatch(h.loc,f,"boolean"),l.init=h.value,s.booleanMembers.push(this.finishNode(l,"EnumBooleanMember"));break}case"number":{this.flowEnumCheckExplicitTypeMismatch(h.loc,f,"number"),l.init=h.value,s.numberMembers.push(this.finishNode(l,"EnumNumberMember"));break}case"string":{this.flowEnumCheckExplicitTypeMismatch(h.loc,f,"string"),l.init=h.value,s.stringMembers.push(this.finishNode(l,"EnumStringMember"));break}case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(h.loc,f);case"none":switch(n){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(h.loc,f);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(h.loc,f);break;default:s.defaultedMembers.push(this.finishNode(l,"EnumDefaultedMember"))}}this.match(8)||this.expect(12)}return{members:s,hasUnknownMembers:R}}flowEnumStringMembers(r,n,{enumName:i}){if(r.length===0)return n;if(n.length===0)return r;if(n.length>r.length){for(let s of r)this.flowEnumErrorStringMemberInconsistentlyInitialized(s,{enumName:i});return n}else{for(let s of n)this.flowEnumErrorStringMemberInconsistentlyInitialized(s,{enumName:i});return r}}flowEnumParseExplicitType({enumName:r}){if(!this.eatContextual(102))return null;if(!fl(this.state.type))throw this.raise(Qo.EnumInvalidExplicitTypeUnknownSupplied,this.state.startLoc,{enumName:r});let{value:n}=this.state;return this.next(),n!=="boolean"&&n!=="number"&&n!=="string"&&n!=="symbol"&&this.raise(Qo.EnumInvalidExplicitType,this.state.startLoc,{enumName:r,invalidEnumType:n}),n}flowEnumBody(r,n){let i=n.name,s=n.loc.start,R=this.flowEnumParseExplicitType({enumName:i});this.expect(5);let{members:l,hasUnknownMembers:c}=this.flowEnumMembers({enumName:i,explicitType:R});switch(r.hasUnknownMembers=c,R){case"boolean":return r.explicitType=!0,r.members=l.booleanMembers,this.expect(8),this.finishNode(r,"EnumBooleanBody");case"number":return r.explicitType=!0,r.members=l.numberMembers,this.expect(8),this.finishNode(r,"EnumNumberBody");case"string":return r.explicitType=!0,r.members=this.flowEnumStringMembers(l.stringMembers,l.defaultedMembers,{enumName:i}),this.expect(8),this.finishNode(r,"EnumStringBody");case"symbol":return r.members=l.defaultedMembers,this.expect(8),this.finishNode(r,"EnumSymbolBody");default:{let h=()=>(r.members=[],this.expect(8),this.finishNode(r,"EnumStringBody"));r.explicitType=!1;let _=l.booleanMembers.length,f=l.numberMembers.length,m=l.stringMembers.length,x=l.defaultedMembers.length;if(!_&&!f&&!m&&!x)return h();if(!_&&!f)return r.members=this.flowEnumStringMembers(l.stringMembers,l.defaultedMembers,{enumName:i}),this.expect(8),this.finishNode(r,"EnumStringBody");if(!f&&!m&&_>=x){for(let y of l.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(y.loc.start,{enumName:i,memberName:y.id.name});return r.members=l.booleanMembers,this.expect(8),this.finishNode(r,"EnumBooleanBody")}else if(!_&&!m&&f>=x){for(let y of l.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(y.loc.start,{enumName:i,memberName:y.id.name});return r.members=l.numberMembers,this.expect(8),this.finishNode(r,"EnumNumberBody")}else return this.raise(Qo.EnumInconsistentMemberValues,s,{enumName:i}),h()}}}flowParseEnumDeclaration(r){let n=this.parseIdentifier();return r.id=n,r.body=this.flowEnumBody(this.startNode(),n),this.finishNode(r,"EnumDeclaration")}isLookaheadToken_lt(){let r=this.nextTokenStart();if(this.input.charCodeAt(r)===60){let n=this.input.charCodeAt(r+1);return n!==60&&n!==61}return!1}maybeUnwrapTypeCastExpression(r){return r.type==="TypeCastExpression"?r.expression:r}},iDr={__proto__:null,quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",frac34:"\xBE",iquest:"\xBF",Agrave:"\xC0",Aacute:"\xC1",Acirc:"\xC2",Atilde:"\xC3",Auml:"\xC4",Aring:"\xC5",AElig:"\xC6",Ccedil:"\xC7",Egrave:"\xC8",Eacute:"\xC9",Ecirc:"\xCA",Euml:"\xCB",Igrave:"\xCC",Iacute:"\xCD",Icirc:"\xCE",Iuml:"\xCF",ETH:"\xD0",Ntilde:"\xD1",Ograve:"\xD2",Oacute:"\xD3",Ocirc:"\xD4",Otilde:"\xD5",Ouml:"\xD6",times:"\xD7",Oslash:"\xD8",Ugrave:"\xD9",Uacute:"\xDA",Ucirc:"\xDB",Uuml:"\xDC",Yacute:"\xDD",THORN:"\xDE",szlig:"\xDF",agrave:"\xE0",aacute:"\xE1",acirc:"\xE2",atilde:"\xE3",auml:"\xE4",aring:"\xE5",aelig:"\xE6",ccedil:"\xE7",egrave:"\xE8",eacute:"\xE9",ecirc:"\xEA",euml:"\xEB",igrave:"\xEC",iacute:"\xED",icirc:"\xEE",iuml:"\xEF",eth:"\xF0",ntilde:"\xF1",ograve:"\xF2",oacute:"\xF3",ocirc:"\xF4",otilde:"\xF5",ouml:"\xF6",divide:"\xF7",oslash:"\xF8",ugrave:"\xF9",uacute:"\xFA",ucirc:"\xFB",uuml:"\xFC",yacute:"\xFD",thorn:"\xFE",yuml:"\xFF",OElig:"\u0152",oelig:"\u0153",Scaron:"\u0160",scaron:"\u0161",Yuml:"\u0178",fnof:"\u0192",circ:"\u02C6",tilde:"\u02DC",Alpha:"\u0391",Beta:"\u0392",Gamma:"\u0393",Delta:"\u0394",Epsilon:"\u0395",Zeta:"\u0396",Eta:"\u0397",Theta:"\u0398",Iota:"\u0399",Kappa:"\u039A",Lambda:"\u039B",Mu:"\u039C",Nu:"\u039D",Xi:"\u039E",Omicron:"\u039F",Pi:"\u03A0",Rho:"\u03A1",Sigma:"\u03A3",Tau:"\u03A4",Upsilon:"\u03A5",Phi:"\u03A6",Chi:"\u03A7",Psi:"\u03A8",Omega:"\u03A9",alpha:"\u03B1",beta:"\u03B2",gamma:"\u03B3",delta:"\u03B4",epsilon:"\u03B5",zeta:"\u03B6",eta:"\u03B7",theta:"\u03B8",iota:"\u03B9",kappa:"\u03BA",lambda:"\u03BB",mu:"\u03BC",nu:"\u03BD",xi:"\u03BE",omicron:"\u03BF",pi:"\u03C0",rho:"\u03C1",sigmaf:"\u03C2",sigma:"\u03C3",tau:"\u03C4",upsilon:"\u03C5",phi:"\u03C6",chi:"\u03C7",psi:"\u03C8",omega:"\u03C9",thetasym:"\u03D1",upsih:"\u03D2",piv:"\u03D6",ensp:"\u2002",emsp:"\u2003",thinsp:"\u2009",zwnj:"\u200C",zwj:"\u200D",lrm:"\u200E",rlm:"\u200F",ndash:"\u2013",mdash:"\u2014",lsquo:"\u2018",rsquo:"\u2019",sbquo:"\u201A",ldquo:"\u201C",rdquo:"\u201D",bdquo:"\u201E",dagger:"\u2020",Dagger:"\u2021",bull:"\u2022",hellip:"\u2026",permil:"\u2030",prime:"\u2032",Prime:"\u2033",lsaquo:"\u2039",rsaquo:"\u203A",oline:"\u203E",frasl:"\u2044",euro:"\u20AC",image:"\u2111",weierp:"\u2118",real:"\u211C",trade:"\u2122",alefsym:"\u2135",larr:"\u2190",uarr:"\u2191",rarr:"\u2192",darr:"\u2193",harr:"\u2194",crarr:"\u21B5",lArr:"\u21D0",uArr:"\u21D1",rArr:"\u21D2",dArr:"\u21D3",hArr:"\u21D4",forall:"\u2200",part:"\u2202",exist:"\u2203",empty:"\u2205",nabla:"\u2207",isin:"\u2208",notin:"\u2209",ni:"\u220B",prod:"\u220F",sum:"\u2211",minus:"\u2212",lowast:"\u2217",radic:"\u221A",prop:"\u221D",infin:"\u221E",ang:"\u2220",and:"\u2227",or:"\u2228",cap:"\u2229",cup:"\u222A",int:"\u222B",there4:"\u2234",sim:"\u223C",cong:"\u2245",asymp:"\u2248",ne:"\u2260",equiv:"\u2261",le:"\u2264",ge:"\u2265",sub:"\u2282",sup:"\u2283",nsub:"\u2284",sube:"\u2286",supe:"\u2287",oplus:"\u2295",otimes:"\u2297",perp:"\u22A5",sdot:"\u22C5",lceil:"\u2308",rceil:"\u2309",lfloor:"\u230A",rfloor:"\u230B",lang:"\u2329",rang:"\u232A",loz:"\u25CA",spades:"\u2660",clubs:"\u2663",hearts:"\u2665",diams:"\u2666"},oJ=WN`jsx`({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression.",MissingClosingTagElement:({openingTagName:e})=>`Expected corresponding JSX closing tag for <${e}>.`,MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnexpectedToken:({unexpected:e,HTMLEntity:t})=>`Unexpected token \`${e}\`. Did you mean \`${t}\` or \`{'${e}'}\`?`,UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text.",UnterminatedJsxContent:"Unterminated JSX contents.",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?"});function lM(e){return e?e.type==="JSXOpeningFragment"||e.type==="JSXClosingFragment":!1}function une(e){if(e.type==="JSXIdentifier")return e.name;if(e.type==="JSXNamespacedName")return e.namespace.name+":"+e.name.name;if(e.type==="JSXMemberExpression")return une(e.object)+"."+une(e.property);throw new Error("Node had unexpected type: "+e.type)}var aDr=e=>class extends e{jsxReadToken(){let r="",n=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(oJ.UnterminatedJsxContent,this.state.startLoc);let i=this.input.charCodeAt(this.state.pos);switch(i){case 60:case 123:if(this.state.pos===this.state.start){i===60&&this.state.canStartJSXElement?(++this.state.pos,this.finishToken(143)):super.getTokenFromCode(i);return}r+=this.input.slice(n,this.state.pos),this.finishToken(142,r);return;case 38:r+=this.input.slice(n,this.state.pos),r+=this.jsxReadEntity(),n=this.state.pos;break;case 62:case 125:default:cne(i)?(r+=this.input.slice(n,this.state.pos),r+=this.jsxReadNewLine(!0),n=this.state.pos):++this.state.pos}}}jsxReadNewLine(r){let n=this.input.charCodeAt(this.state.pos),i;return++this.state.pos,n===13&&this.input.charCodeAt(this.state.pos)===10?(++this.state.pos,i=r?` +`:`\r +`):i=String.fromCharCode(n),++this.state.curLine,this.state.lineStart=this.state.pos,i}jsxReadString(r){let n="",i=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(Hr.UnterminatedString,this.state.startLoc);let s=this.input.charCodeAt(this.state.pos);if(s===r)break;s===38?(n+=this.input.slice(i,this.state.pos),n+=this.jsxReadEntity(),i=this.state.pos):cne(s)?(n+=this.input.slice(i,this.state.pos),n+=this.jsxReadNewLine(!1),i=this.state.pos):++this.state.pos}n+=this.input.slice(i,this.state.pos++),this.finishToken(134,n)}jsxReadEntity(){let r=++this.state.pos;if(this.codePointAtPos(this.state.pos)===35){++this.state.pos;let n=10;this.codePointAtPos(this.state.pos)===120&&(n=16,++this.state.pos);let i=this.readInt(n,void 0,!1,"bail");if(i!==null&&this.codePointAtPos(this.state.pos)===59)return++this.state.pos,String.fromCodePoint(i)}else{let n=0,i=!1;for(;n++<10&&this.state.pos1){for(let i=0;i0){if(n&256){let s=!!(n&512),R=(i&4)>0;return s!==R}return!0}return n&128&&(i&8)>0?t.names.get(r)&2?!!(n&1):!1:n&2&&(i&1)>0?!0:super.isRedeclaredInScope(t,r,n)}checkLocalExport(t){let{name:r}=t;if(this.hasImport(r))return;let n=this.scopeStack.length;for(let i=n-1;i>=0;i--){let R=this.scopeStack[i].tsNames.get(r);if((R&1)>0||(R&16)>0)return}super.checkLocalExport(t)}},XMt=e=>e.type==="ParenthesizedExpression"?XMt(e.expression):e,H2t=class extends F2t{toAssignable(t,r=!1){var n,i;let s;switch((t.type==="ParenthesizedExpression"||(n=t.extra)!=null&&n.parenthesized)&&(s=XMt(t),r?s.type==="Identifier"?this.expressionScope.recordArrowParameterBindingError(Hr.InvalidParenthesizedAssignment,t):s.type!=="MemberExpression"&&!this.isOptionalMemberExpression(s)&&this.raise(Hr.InvalidParenthesizedAssignment,t):this.raise(Hr.InvalidParenthesizedAssignment,t)),t.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern";for(let l=0,c=t.properties.length,h=c-1;li.type!=="ObjectMethod"&&(s===n||i.type!=="SpreadElement")&&this.isAssignable(i))}case"ObjectProperty":return this.isAssignable(t.value);case"SpreadElement":return this.isAssignable(t.argument);case"ArrayExpression":return t.elements.every(n=>n===null||this.isAssignable(n));case"AssignmentExpression":return t.operator==="=";case"ParenthesizedExpression":return this.isAssignable(t.expression);case"MemberExpression":case"OptionalMemberExpression":return!r;default:return!1}}toReferencedList(t,r){return t}toReferencedListDeep(t,r){this.toReferencedList(t,r);for(let n of t)n?.type==="ArrayExpression"&&this.toReferencedListDeep(n.elements)}parseSpread(t){let r=this.startNode();return this.next(),r.argument=this.parseMaybeAssignAllowIn(t,void 0),this.finishNode(r,"SpreadElement")}parseRestBinding(){let t=this.startNode();return this.next(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")}parseBindingAtom(){switch(this.state.type){case 0:{let t=this.startNode();return this.next(),t.elements=this.parseBindingList(3,93,1),this.finishNode(t,"ArrayPattern")}case 5:return this.parseObjectLike(8,!0)}return this.parseIdentifier()}parseBindingList(t,r,n){let i=n&1,s=[],R=!0;for(;!this.eat(t);)if(R?R=!1:this.expect(12),i&&this.match(12))s.push(null);else{if(this.eat(t))break;if(this.match(21)){let l=this.parseRestBinding();if((this.hasPlugin("flow")||n&2)&&(l=this.parseFunctionParamType(l)),s.push(l),!this.checkCommaAfterRest(r)){this.expect(t);break}}else{let l=[];for(this.match(26)&&this.hasPlugin("decorators")&&this.raise(Hr.UnsupportedParameterDecorator,this.state.startLoc);this.match(26);)l.push(this.parseDecorator());s.push(this.parseAssignableListItem(n,l))}}return s}parseBindingRestProperty(t){return this.next(),t.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(t,"RestElement")}parseBindingProperty(){let{type:t,startLoc:r}=this.state;if(t===21)return this.parseBindingRestProperty(this.startNode());let n=this.startNode();return t===139?(this.expectPlugin("destructuringPrivate",r),this.classScope.usePrivateName(this.state.value,r),n.key=this.parsePrivateName()):this.parsePropertyName(n),n.method=!1,this.parseObjPropValue(n,r,!1,!1,!0,!1)}parseAssignableListItem(t,r){let n=this.parseMaybeDefault();(this.hasPlugin("flow")||t&2)&&this.parseFunctionParamType(n);let i=this.parseMaybeDefault(n.loc.start,n);return r.length&&(n.decorators=r),i}parseFunctionParamType(t){return t}parseMaybeDefault(t,r){var n,i;if((n=t)!=null||(t=this.state.startLoc),r=(i=r)!=null?i:this.parseBindingAtom(),!this.eat(29))return r;let s=this.startNodeAt(t);return s.left=r,s.right=this.parseMaybeAssignAllowIn(),this.finishNode(s,"AssignmentPattern")}isValidLVal(t,r,n){switch(t){case"AssignmentPattern":return"left";case"RestElement":return"argument";case"ObjectProperty":return"value";case"ParenthesizedExpression":return"expression";case"ArrayPattern":return"elements";case"ObjectPattern":return"properties"}return!1}isOptionalMemberExpression(t){return t.type==="OptionalMemberExpression"}checkLVal(t,r,n=64,i=!1,s=!1,R=!1){var l;let c=t.type;if(this.isObjectMethod(t))return;let h=this.isOptionalMemberExpression(t);if(h||c==="MemberExpression"){h&&(this.expectPlugin("optionalChainingAssign",t.loc.start),r.type!=="AssignmentExpression"&&this.raise(Hr.InvalidLhsOptionalChaining,t,{ancestor:r})),n!==64&&this.raise(Hr.InvalidPropertyBindingPattern,t);return}if(c==="Identifier"){this.checkIdentifier(t,n,s);let{name:A}=t;i&&(i.has(A)?this.raise(Hr.ParamDupe,t):i.add(A));return}let _=this.isValidLVal(c,!(R||(l=t.extra)!=null&&l.parenthesized)&&r.type==="AssignmentExpression",n);if(_===!0)return;if(_===!1){let A=n===64?Hr.InvalidLhs:Hr.InvalidLhsBinding;this.raise(A,t,{ancestor:r});return}let f,m;typeof _=="string"?(f=_,m=c==="ParenthesizedExpression"):[f,m]=_;let x=c==="ArrayPattern"||c==="ObjectPattern"?{type:c}:r,y=t[f];if(Array.isArray(y))for(let A of y)A&&this.checkLVal(A,x,n,i,s,m);else y&&this.checkLVal(y,x,n,i,s,m)}checkIdentifier(t,r,n=!1){this.state.strict&&(n?KMt(t.name,this.inModule):YMt(t.name))&&(r===64?this.raise(Hr.StrictEvalArguments,t,{referenceName:t.name}):this.raise(Hr.StrictEvalArgumentsBinding,t,{bindingName:t.name})),r&8192&&t.name==="let"&&this.raise(Hr.LetInLexicalBinding,t),r&64||this.declareNameFromIdentifier(t,r)}declareNameFromIdentifier(t,r){this.scope.declareName(t.name,r,t.loc.start)}checkToRestConversion(t,r){switch(t.type){case"ParenthesizedExpression":this.checkToRestConversion(t.expression,r);break;case"Identifier":case"MemberExpression":break;case"ArrayExpression":case"ObjectExpression":if(r)break;default:this.raise(Hr.InvalidRestAssignmentPattern,t)}}checkCommaAfterRest(t){return this.match(12)?(this.raise(this.lookaheadCharCode()===t?Hr.RestTrailingComma:Hr.ElementAfterRest,this.state.startLoc),!0):!1}};function sDr(e){if(e==null)throw new Error(`Unexpected ${e} value.`);return e}function wMt(e){if(!e)throw new Error("Assert fail")}var Vs=WN`typescript`({AbstractMethodHasImplementation:({methodName:e})=>`Method '${e}' cannot have an implementation because it is marked abstract.`,AbstractPropertyHasInitializer:({propertyName:e})=>`Property '${e}' cannot have an initializer because it is marked abstract.`,AccessorCannotBeOptional:"An 'accessor' property cannot be declared optional.",AccessorCannotDeclareThisParameter:"'get' and 'set' accessors cannot declare 'this' parameters.",AccessorCannotHaveTypeParameters:"An accessor cannot have type parameters.",ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier.",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier.",ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference:"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareAccessor:({kind:e})=>`'declare' is not allowed in ${e}ters.`,DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:({modifier:e})=>"Accessibility modifier already seen.",DuplicateModifier:({modifier:e})=>`Duplicate modifier: '${e}'.`,EmptyHeritageClauseType:({token:e})=>`'${e}' list cannot be empty.`,EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"'export declare' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use 'import type'.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` modifier",IncompatibleModifiers:({modifiers:e})=>`'${e[0]}' modifier cannot be used with '${e[1]}' modifier.`,IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier.",IndexSignatureHasAccessibility:({modifier:e})=>`Index signatures cannot have an accessibility modifier ('${e}').`,IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier.",IndexSignatureHasOverride:"'override' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier.",InitializerNotAllowedInAmbientContext:"Initializers are not allowed in ambient contexts.",InvalidModifierOnTypeMember:({modifier:e})=>`'${e}' modifier cannot appear on a type member.`,InvalidModifierOnTypeParameter:({modifier:e})=>`'${e}' modifier cannot appear on a type parameter.`,InvalidModifierOnTypeParameterPositions:({modifier:e})=>`'${e}' modifier can only appear on a type parameter of a class, interface or type alias.`,InvalidModifiersOrder:({orderedModifiers:e})=>`'${e[0]}' modifier must precede '${e[1]}' modifier.`,InvalidPropertyAccessAfterInstantiationExpression:"Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MissingInterfaceName:"'interface' declarations must be followed by an identifier.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifer:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",OverrideNotInSubClass:"This member cannot have an 'override' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:({modifier:e})=>`Private elements cannot have an accessibility modifier ('${e}').`,ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccessorCannotHaveOptionalParameter:"A 'set' accessor cannot have an optional parameter.",SetAccessorCannotHaveRestParameter:"A 'set' accessor cannot have rest parameter.",SetAccessorCannotHaveReturnType:"A 'set' accessor cannot have a return type annotation.",SingleTypeParameterWithoutTrailingComma:({typeParameterName:e})=>`Single type parameter ${e} should have a trailing comma. Example usage: <${e},>.`,StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TupleOptionalAfterType:"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",TypeModifierIsUsedInTypeExports:"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.",TypeModifierIsUsedInTypeImports:"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal.",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:({type:e})=>`Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${e}.`});function oDr(e){switch(e){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}function PMt(e){return e==="private"||e==="public"||e==="protected"}function RDr(e){return e==="in"||e==="out"}var uDr=e=>class extends e{constructor(...r){super(...r),this.tsParseInOutModifiers=this.tsParseModifiers.bind(this,{allowedModifiers:["in","out"],disallowedModifiers:["const","public","private","protected","readonly","declare","abstract","override"],errorTemplate:Vs.InvalidModifierOnTypeParameter}),this.tsParseConstModifier=this.tsParseModifiers.bind(this,{allowedModifiers:["const"],disallowedModifiers:["in","out"],errorTemplate:Vs.InvalidModifierOnTypeParameterPositions}),this.tsParseInOutConstModifiers=this.tsParseModifiers.bind(this,{allowedModifiers:["in","out","const"],disallowedModifiers:["public","private","protected","readonly","declare","abstract","override"],errorTemplate:Vs.InvalidModifierOnTypeParameter})}getScopeHandler(){return z2t}tsIsIdentifier(){return fl(this.state.type)}tsTokenCanFollowModifier(){return this.match(0)||this.match(5)||this.match(55)||this.match(21)||this.match(139)||this.isLiteralPropertyName()}tsNextTokenOnSameLineAndCanFollowModifier(){return this.next(),this.hasPrecedingLineBreak()?!1:this.tsTokenCanFollowModifier()}tsNextTokenCanFollowModifier(){return this.match(106)?(this.next(),this.tsTokenCanFollowModifier()):this.tsNextTokenOnSameLineAndCanFollowModifier()}tsParseModifier(r,n){if(!fl(this.state.type)&&this.state.type!==58&&this.state.type!==75)return;let i=this.state.value;if(r.includes(i)){if(n&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return i}}tsParseModifiers({allowedModifiers:r,disallowedModifiers:n,stopOnStartOfClassStaticBlock:i,errorTemplate:s=Vs.InvalidModifierOnTypeMember},R){let l=(h,_,f,m)=>{_===f&&R[m]&&this.raise(Vs.InvalidModifiersOrder,h,{orderedModifiers:[f,m]})},c=(h,_,f,m)=>{(R[f]&&_===m||R[m]&&_===f)&&this.raise(Vs.IncompatibleModifiers,h,{modifiers:[f,m]})};for(;;){let{startLoc:h}=this.state,_=this.tsParseModifier(r.concat(n??[]),i);if(!_)break;PMt(_)?R.accessibility?this.raise(Vs.DuplicateAccessibilityModifier,h,{modifier:_}):(l(h,_,_,"override"),l(h,_,_,"static"),l(h,_,_,"readonly"),R.accessibility=_):RDr(_)?(R[_]&&this.raise(Vs.DuplicateModifier,h,{modifier:_}),R[_]=!0,l(h,_,"in","out")):(hasOwnProperty.call(R,_)?this.raise(Vs.DuplicateModifier,h,{modifier:_}):(l(h,_,"static","readonly"),l(h,_,"static","override"),l(h,_,"override","readonly"),l(h,_,"abstract","override"),c(h,_,"declare","override"),c(h,_,"static","abstract")),R[_]=!0),n!=null&&n.includes(_)&&this.raise(s,h,{modifier:_})}}tsIsListTerminator(r){switch(r){case"EnumMembers":case"TypeMembers":return this.match(8);case"HeritageClauseElement":return this.match(5);case"TupleElementTypes":return this.match(3);case"TypeParametersOrArguments":return this.match(48)}}tsParseList(r,n){let i=[];for(;!this.tsIsListTerminator(r);)i.push(n());return i}tsParseDelimitedList(r,n,i){return sDr(this.tsParseDelimitedListWorker(r,n,!0,i))}tsParseDelimitedListWorker(r,n,i,s){let R=[],l=-1;for(;!this.tsIsListTerminator(r);){l=-1;let c=n();if(c==null)return;if(R.push(c),this.eat(12)){l=this.state.lastTokStartLoc.index;continue}if(this.tsIsListTerminator(r))break;i&&this.expect(12);return}return s&&(s.value=l),R}tsParseBracketedList(r,n,i,s,R){s||(i?this.expect(0):this.expect(47));let l=this.tsParseDelimitedList(r,n,R);return i?this.expect(3):this.expect(48),l}tsParseImportType(){let r=this.startNode();return this.expect(83),this.expect(10),this.match(134)||this.raise(Vs.UnsupportedImportTypeArgument,this.state.startLoc),r.argument=super.parseExprAtom(),this.eat(12)&&!this.match(11)?(r.options=super.parseMaybeAssignAllowIn(),this.eat(12)):r.options=null,this.expect(11),this.eat(16)&&(r.qualifier=this.tsParseEntityName()),this.match(47)&&(r.typeParameters=this.tsParseTypeArguments()),this.finishNode(r,"TSImportType")}tsParseEntityName(r=!0){let n=this.parseIdentifier(r);for(;this.eat(16);){let i=this.startNodeAtNode(n);i.left=n,i.right=this.parseIdentifier(r),n=this.finishNode(i,"TSQualifiedName")}return n}tsParseTypeReference(){let r=this.startNode();return r.typeName=this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.match(47)&&(r.typeParameters=this.tsParseTypeArguments()),this.finishNode(r,"TSTypeReference")}tsParseThisTypePredicate(r){this.next();let n=this.startNodeAtNode(r);return n.parameterName=r,n.typeAnnotation=this.tsParseTypeAnnotation(!1),n.asserts=!1,this.finishNode(n,"TSTypePredicate")}tsParseThisTypeNode(){let r=this.startNode();return this.next(),this.finishNode(r,"TSThisType")}tsParseTypeQuery(){let r=this.startNode();return this.expect(87),this.match(83)?r.exprName=this.tsParseImportType():r.exprName=this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.match(47)&&(r.typeParameters=this.tsParseTypeArguments()),this.finishNode(r,"TSTypeQuery")}tsParseTypeParameter(r){let n=this.startNode();return r(n),n.name=this.tsParseTypeParameterName(),n.constraint=this.tsEatThenParseType(81),n.default=this.tsEatThenParseType(29),this.finishNode(n,"TSTypeParameter")}tsTryParseTypeParameters(r){if(this.match(47))return this.tsParseTypeParameters(r)}tsParseTypeParameters(r){let n=this.startNode();this.match(47)||this.match(143)?this.next():this.unexpected();let i={value:-1};return n.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this,r),!1,!0,i),n.params.length===0&&this.raise(Vs.EmptyTypeParameters,n),i.value!==-1&&this.addExtra(n,"trailingComma",i.value),this.finishNode(n,"TSTypeParameterDeclaration")}tsFillSignature(r,n){let i=r===19,s="parameters",R="typeAnnotation";n.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier),this.expect(10),n[s]=this.tsParseBindingListForSignature(),i?n[R]=this.tsParseTypeOrTypePredicateAnnotation(r):this.match(r)&&(n[R]=this.tsParseTypeOrTypePredicateAnnotation(r))}tsParseBindingListForSignature(){let r=super.parseBindingList(11,41,2);for(let n of r){let{type:i}=n;(i==="AssignmentPattern"||i==="TSParameterProperty")&&this.raise(Vs.UnsupportedSignatureParameterKind,n,{type:i})}return r}tsParseTypeMemberSemicolon(){!this.eat(12)&&!this.isLineTerminator()&&this.expect(13)}tsParseSignatureMember(r,n){return this.tsFillSignature(14,n),this.tsParseTypeMemberSemicolon(),this.finishNode(n,r)}tsIsUnambiguouslyIndexSignature(){return this.next(),fl(this.state.type)?(this.next(),this.match(14)):!1}tsTryParseIndexSignature(r){if(!(this.match(0)&&this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))))return;this.expect(0);let n=this.parseIdentifier();n.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(n),this.expect(3),r.parameters=[n];let i=this.tsTryParseTypeAnnotation();return i&&(r.typeAnnotation=i),this.tsParseTypeMemberSemicolon(),this.finishNode(r,"TSIndexSignature")}tsParsePropertyOrMethodSignature(r,n){this.eat(17)&&(r.optional=!0);let i=r;if(this.match(10)||this.match(47)){n&&this.raise(Vs.ReadonlyForMethodSignature,r);let s=i;s.kind&&this.match(47)&&this.raise(Vs.AccessorCannotHaveTypeParameters,this.state.curPosition()),this.tsFillSignature(14,s),this.tsParseTypeMemberSemicolon();let R="parameters",l="typeAnnotation";if(s.kind==="get")s[R].length>0&&(this.raise(Hr.BadGetterArity,this.state.curPosition()),this.isThisParam(s[R][0])&&this.raise(Vs.AccessorCannotDeclareThisParameter,this.state.curPosition()));else if(s.kind==="set"){if(s[R].length!==1)this.raise(Hr.BadSetterArity,this.state.curPosition());else{let c=s[R][0];this.isThisParam(c)&&this.raise(Vs.AccessorCannotDeclareThisParameter,this.state.curPosition()),c.type==="Identifier"&&c.optional&&this.raise(Vs.SetAccessorCannotHaveOptionalParameter,this.state.curPosition()),c.type==="RestElement"&&this.raise(Vs.SetAccessorCannotHaveRestParameter,this.state.curPosition())}s[l]&&this.raise(Vs.SetAccessorCannotHaveReturnType,s[l])}else s.kind="method";return this.finishNode(s,"TSMethodSignature")}else{let s=i;n&&(s.readonly=!0);let R=this.tsTryParseTypeAnnotation();return R&&(s.typeAnnotation=R),this.tsParseTypeMemberSemicolon(),this.finishNode(s,"TSPropertySignature")}}tsParseTypeMember(){let r=this.startNode();if(this.match(10)||this.match(47))return this.tsParseSignatureMember("TSCallSignatureDeclaration",r);if(this.match(77)){let i=this.startNode();return this.next(),this.match(10)||this.match(47)?this.tsParseSignatureMember("TSConstructSignatureDeclaration",r):(r.key=this.createIdentifier(i,"new"),this.tsParsePropertyOrMethodSignature(r,!1))}this.tsParseModifiers({allowedModifiers:["readonly"],disallowedModifiers:["declare","abstract","private","protected","public","static","override"]},r);let n=this.tsTryParseIndexSignature(r);return n||(super.parsePropertyName(r),!r.computed&&r.key.type==="Identifier"&&(r.key.name==="get"||r.key.name==="set")&&this.tsTokenCanFollowModifier()&&(r.kind=r.key.name,super.parsePropertyName(r)),this.tsParsePropertyOrMethodSignature(r,!!r.readonly))}tsParseTypeLiteral(){let r=this.startNode();return r.members=this.tsParseObjectTypeMembers(),this.finishNode(r,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(5);let r=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(8),r}tsIsStartOfMappedType(){return this.next(),this.eat(53)?this.isContextual(122):(this.isContextual(122)&&this.next(),!this.match(0)||(this.next(),!this.tsIsIdentifier())?!1:(this.next(),this.match(58)))}tsParseMappedType(){let r=this.startNode();this.expect(5),this.match(53)?(r.readonly=this.state.value,this.next(),this.expectContextual(122)):this.eatContextual(122)&&(r.readonly=!0),this.expect(0);{let n=this.startNode();n.name=this.tsParseTypeParameterName(),n.constraint=this.tsExpectThenParseType(58),r.typeParameter=this.finishNode(n,"TSTypeParameter")}return r.nameType=this.eatContextual(93)?this.tsParseType():null,this.expect(3),this.match(53)?(r.optional=this.state.value,this.next(),this.expect(17)):this.eat(17)&&(r.optional=!0),r.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(8),this.finishNode(r,"TSMappedType")}tsParseTupleType(){let r=this.startNode();r.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let n=!1;return r.elementTypes.forEach(i=>{let{type:s}=i;n&&s!=="TSRestType"&&s!=="TSOptionalType"&&!(s==="TSNamedTupleMember"&&i.optional)&&this.raise(Vs.OptionalTypeBeforeRequired,i),n||(n=s==="TSNamedTupleMember"&&i.optional||s==="TSOptionalType")}),this.finishNode(r,"TSTupleType")}tsParseTupleElementType(){let{startLoc:r}=this.state,n=this.eat(21),i,s,R,l,h=LE(this.state.type)?this.lookaheadCharCode():null;if(h===58)i=!0,R=!1,s=this.parseIdentifier(!0),this.expect(14),l=this.tsParseType();else if(h===63){R=!0;let _=this.state.startLoc,f=this.state.value,m=this.tsParseNonArrayType();this.lookaheadCharCode()===58?(i=!0,s=this.createIdentifier(this.startNodeAt(_),f),this.expect(17),this.expect(14),l=this.tsParseType()):(i=!1,l=m,this.expect(17))}else l=this.tsParseType(),R=this.eat(17),i=this.eat(14);if(i){let _;s?(_=this.startNodeAtNode(s),_.optional=R,_.label=s,_.elementType=l,this.eat(17)&&(_.optional=!0,this.raise(Vs.TupleOptionalAfterType,this.state.lastTokStartLoc))):(_=this.startNodeAtNode(l),_.optional=R,this.raise(Vs.InvalidTupleMemberLabel,l),_.label=l,_.elementType=this.tsParseType()),l=this.finishNode(_,"TSNamedTupleMember")}else if(R){let _=this.startNodeAtNode(l);_.typeAnnotation=l,l=this.finishNode(_,"TSOptionalType")}if(n){let _=this.startNodeAt(r);_.typeAnnotation=l,l=this.finishNode(_,"TSRestType")}return l}tsParseParenthesizedType(){let r=this.startNode();return this.expect(10),r.typeAnnotation=this.tsParseType(),this.expect(11),this.finishNode(r,"TSParenthesizedType")}tsParseFunctionOrConstructorType(r,n){let i=this.startNode();return r==="TSConstructorType"&&(i.abstract=!!n,n&&this.next(),this.next()),this.tsInAllowConditionalTypesContext(()=>this.tsFillSignature(19,i)),this.finishNode(i,r)}tsParseLiteralTypeNode(){let r=this.startNode();switch(this.state.type){case 135:case 136:case 134:case 85:case 86:r.literal=super.parseExprAtom();break;default:this.unexpected()}return this.finishNode(r,"TSLiteralType")}tsParseTemplateLiteralType(){let r=this.startNode();return r.literal=super.parseTemplate(!1),this.finishNode(r,"TSLiteralType")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){let r=this.tsParseThisTypeNode();return this.isContextual(116)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(r):r}tsParseNonArrayType(){switch(this.state.type){case 134:case 135:case 136:case 85:case 86:return this.tsParseLiteralTypeNode();case 53:if(this.state.value==="-"){let r=this.startNode(),n=this.lookahead();return n.type!==135&&n.type!==136&&this.unexpected(),r.literal=this.parseMaybeUnary(),this.finishNode(r,"TSLiteralType")}break;case 78:return this.tsParseThisTypeOrThisTypePredicate();case 87:return this.tsParseTypeQuery();case 83:return this.tsParseImportType();case 5:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 10:return this.tsParseParenthesizedType();case 25:case 24:return this.tsParseTemplateLiteralType();default:{let{type:r}=this.state;if(fl(r)||r===88||r===84){let n=r===88?"TSVoidKeyword":r===84?"TSNullKeyword":oDr(this.state.value);if(n!==void 0&&this.lookaheadCharCode()!==46){let i=this.startNode();return this.next(),this.finishNode(i,n)}return this.tsParseTypeReference()}}}this.unexpected()}tsParseArrayTypeOrHigher(){let r=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(3)){let n=this.startNodeAtNode(r);n.elementType=r,this.expect(3),r=this.finishNode(n,"TSArrayType")}else{let n=this.startNodeAtNode(r);n.objectType=r,n.indexType=this.tsParseType(),this.expect(3),r=this.finishNode(n,"TSIndexedAccessType")}return r}tsParseTypeOperator(){let r=this.startNode(),n=this.state.value;return this.next(),r.operator=n,r.typeAnnotation=this.tsParseTypeOperatorOrHigher(),n==="readonly"&&this.tsCheckTypeAnnotationForReadOnly(r),this.finishNode(r,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(r){switch(r.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(Vs.UnexpectedReadonly,r)}}tsParseInferType(){let r=this.startNode();this.expectContextual(115);let n=this.startNode();return n.name=this.tsParseTypeParameterName(),n.constraint=this.tsTryParse(()=>this.tsParseConstraintForInferType()),r.typeParameter=this.finishNode(n,"TSTypeParameter"),this.finishNode(r,"TSInferType")}tsParseConstraintForInferType(){if(this.eat(81)){let r=this.tsInDisallowConditionalTypesContext(()=>this.tsParseType());if(this.state.inDisallowConditionalTypesContext||!this.match(17))return r}}tsParseTypeOperatorOrHigher(){return Evr(this.state.type)&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(115)?this.tsParseInferType():this.tsInAllowConditionalTypesContext(()=>this.tsParseArrayTypeOrHigher())}tsParseUnionOrIntersectionType(r,n,i){let s=this.startNode(),R=this.eat(i),l=[];do l.push(n());while(this.eat(i));return l.length===1&&!R?l[0]:(s.types=l,this.finishNode(s,r))}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),45)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),43)}tsIsStartOfFunctionType(){return this.match(47)?!0:this.match(10)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(fl(this.state.type)||this.match(78))return this.next(),!0;if(this.match(5)){let{errors:r}=this.state,n=r.length;try{return this.parseObjectLike(8,!0),r.length===n}catch{return!1}}if(this.match(0)){this.next();let{errors:r}=this.state,n=r.length;try{return super.parseBindingList(3,93,1),r.length===n}catch{return!1}}return!1}tsIsUnambiguouslyStartOfFunctionType(){return this.next(),!!(this.match(11)||this.match(21)||this.tsSkipParameterStart()&&(this.match(14)||this.match(12)||this.match(17)||this.match(29)||this.match(11)&&(this.next(),this.match(19))))}tsParseTypeOrTypePredicateAnnotation(r){return this.tsInType(()=>{let n=this.startNode();this.expect(r);let i=this.startNode(),s=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(s&&this.match(78)){let c=this.tsParseThisTypeOrThisTypePredicate();return c.type==="TSThisType"?(i.parameterName=c,i.asserts=!0,i.typeAnnotation=null,c=this.finishNode(i,"TSTypePredicate")):(this.resetStartLocationFromNode(c,i),c.asserts=!0),n.typeAnnotation=c,this.finishNode(n,"TSTypeAnnotation")}let R=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!R)return s?(i.parameterName=this.parseIdentifier(),i.asserts=s,i.typeAnnotation=null,n.typeAnnotation=this.finishNode(i,"TSTypePredicate"),this.finishNode(n,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,n);let l=this.tsParseTypeAnnotation(!1);return i.parameterName=R,i.typeAnnotation=l,i.asserts=s,n.typeAnnotation=this.finishNode(i,"TSTypePredicate"),this.finishNode(n,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){if(this.match(14))return this.tsParseTypeOrTypePredicateAnnotation(14)}tsTryParseTypeAnnotation(){if(this.match(14))return this.tsParseTypeAnnotation()}tsTryParseType(){return this.tsEatThenParseType(14)}tsParseTypePredicatePrefix(){let r=this.parseIdentifier();if(this.isContextual(116)&&!this.hasPrecedingLineBreak())return this.next(),r}tsParseTypePredicateAsserts(){if(this.state.type!==109)return!1;let r=this.state.containsEsc;return this.next(),!fl(this.state.type)&&!this.match(78)?!1:(r&&this.raise(Hr.InvalidEscapedReservedWord,this.state.lastTokStartLoc,{reservedWord:"asserts"}),!0)}tsParseTypeAnnotation(r=!0,n=this.startNode()){return this.tsInType(()=>{r&&this.expect(14),n.typeAnnotation=this.tsParseType()}),this.finishNode(n,"TSTypeAnnotation")}tsParseType(){wMt(this.state.inType);let r=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(81))return r;let n=this.startNodeAtNode(r);return n.checkType=r,n.extendsType=this.tsInDisallowConditionalTypesContext(()=>this.tsParseNonConditionalType()),this.expect(17),n.trueType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.expect(14),n.falseType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.finishNode(n,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual(124)&&this.lookahead().type===77}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(77)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(Vs.ReservedTypeAssertion,this.state.startLoc);let r=this.startNode();return r.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?this.tsParseTypeReference():this.tsParseType())),this.expect(48),r.expression=this.parseMaybeUnary(),this.finishNode(r,"TSTypeAssertion")}tsParseHeritageClause(r){let n=this.state.startLoc,i=this.tsParseDelimitedList("HeritageClauseElement",()=>{let s=this.startNode();return s.expression=this.tsParseEntityName(),this.match(47)&&(s.typeParameters=this.tsParseTypeArguments()),this.finishNode(s,"TSExpressionWithTypeArguments")});return i.length||this.raise(Vs.EmptyHeritageClauseType,n,{token:r}),i}tsParseInterfaceDeclaration(r,n={}){if(this.hasFollowingLineBreak())return null;this.expectContextual(129),n.declare&&(r.declare=!0),fl(this.state.type)?(r.id=this.parseIdentifier(),this.checkIdentifier(r.id,130)):(r.id=null,this.raise(Vs.MissingInterfaceName,this.state.startLoc)),r.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers),this.eat(81)&&(r.extends=this.tsParseHeritageClause("extends"));let i=this.startNode();return i.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),r.body=this.finishNode(i,"TSInterfaceBody"),this.finishNode(r,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(r){return r.id=this.parseIdentifier(),this.checkIdentifier(r.id,2),r.typeAnnotation=this.tsInType(()=>{if(r.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutModifiers),this.expect(29),this.isContextual(114)&&this.lookahead().type!==16){let n=this.startNode();return this.next(),this.finishNode(n,"TSIntrinsicKeyword")}return this.tsParseType()}),this.semicolon(),this.finishNode(r,"TSTypeAliasDeclaration")}tsInNoContext(r){let n=this.state.context;this.state.context=[n[0]];try{return r()}finally{this.state.context=n}}tsInType(r){let n=this.state.inType;this.state.inType=!0;try{return r()}finally{this.state.inType=n}}tsInDisallowConditionalTypesContext(r){let n=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!0;try{return r()}finally{this.state.inDisallowConditionalTypesContext=n}}tsInAllowConditionalTypesContext(r){let n=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!1;try{return r()}finally{this.state.inDisallowConditionalTypesContext=n}}tsEatThenParseType(r){if(this.match(r))return this.tsNextThenParseType()}tsExpectThenParseType(r){return this.tsInType(()=>(this.expect(r),this.tsParseType()))}tsNextThenParseType(){return this.tsInType(()=>(this.next(),this.tsParseType()))}tsParseEnumMember(){let r=this.startNode();return r.id=this.match(134)?super.parseStringLiteral(this.state.value):this.parseIdentifier(!0),this.eat(29)&&(r.initializer=super.parseMaybeAssignAllowIn()),this.finishNode(r,"TSEnumMember")}tsParseEnumDeclaration(r,n={}){return n.const&&(r.const=!0),n.declare&&(r.declare=!0),this.expectContextual(126),r.id=this.parseIdentifier(),this.checkIdentifier(r.id,r.const?8971:8459),this.expect(5),r.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(8),this.finishNode(r,"TSEnumDeclaration")}tsParseModuleBlock(){let r=this.startNode();return this.scope.enter(0),this.expect(5),super.parseBlockOrModuleBlockBody(r.body=[],void 0,!0,8),this.scope.exit(),this.finishNode(r,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(r,n=!1){if(r.id=this.parseIdentifier(),n||this.checkIdentifier(r.id,1024),this.eat(16)){let i=this.startNode();this.tsParseModuleOrNamespaceDeclaration(i,!0),r.body=i}else this.scope.enter(256),this.prodParam.enter(0),r.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(r,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(r){return this.isContextual(112)?(r.kind="global",r.global=!0,r.id=this.parseIdentifier()):this.match(134)?(r.kind="module",r.id=super.parseStringLiteral(this.state.value)):this.unexpected(),this.match(5)?(this.scope.enter(256),this.prodParam.enter(0),r.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(r,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(r,n,i){r.isExport=i||!1,r.id=n||this.parseIdentifier(),this.checkIdentifier(r.id,4096),this.expect(29);let s=this.tsParseModuleReference();return r.importKind==="type"&&s.type!=="TSExternalModuleReference"&&this.raise(Vs.ImportAliasHasImportType,s),r.moduleReference=s,this.semicolon(),this.finishNode(r,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual(119)&&this.lookaheadCharCode()===40}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){let r=this.startNode();return this.expectContextual(119),this.expect(10),this.match(134)||this.unexpected(),r.expression=super.parseExprAtom(),this.expect(11),this.sawUnambiguousESM=!0,this.finishNode(r,"TSExternalModuleReference")}tsLookAhead(r){let n=this.state.clone(),i=r();return this.state=n,i}tsTryParseAndCatch(r){let n=this.tryParse(i=>r()||i());if(!(n.aborted||!n.node))return n.error&&(this.state=n.failState),n.node}tsTryParse(r){let n=this.state.clone(),i=r();if(i!==void 0&&i!==!1)return i;this.state=n}tsTryParseDeclare(r){if(this.isLineTerminator())return;let n=this.state.type,i;return this.isContextual(100)&&(n=74,i="let"),this.tsInAmbientContext(()=>{switch(n){case 68:return r.declare=!0,super.parseFunctionStatement(r,!1,!1);case 80:return r.declare=!0,this.parseClass(r,!0,!1);case 126:return this.tsParseEnumDeclaration(r,{declare:!0});case 112:return this.tsParseAmbientExternalModuleDeclaration(r);case 75:case 74:return!this.match(75)||!this.isLookaheadContextual("enum")?(r.declare=!0,this.parseVarStatement(r,i||this.state.value,!0)):(this.expect(75),this.tsParseEnumDeclaration(r,{const:!0,declare:!0}));case 129:{let s=this.tsParseInterfaceDeclaration(r,{declare:!0});if(s)return s}default:if(fl(n))return this.tsParseDeclaration(r,this.state.value,!0,null)}})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0,null)}tsParseExpressionStatement(r,n,i){switch(n.name){case"declare":{let s=this.tsTryParseDeclare(r);return s&&(s.declare=!0),s}case"global":if(this.match(5)){this.scope.enter(256),this.prodParam.enter(0);let s=r;return s.kind="global",r.global=!0,s.id=n,s.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(s,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(r,n.name,!1,i)}}tsParseDeclaration(r,n,i,s){switch(n){case"abstract":if(this.tsCheckLineTerminator(i)&&(this.match(80)||fl(this.state.type)))return this.tsParseAbstractDeclaration(r,s);break;case"module":if(this.tsCheckLineTerminator(i)){if(this.match(134))return this.tsParseAmbientExternalModuleDeclaration(r);if(fl(this.state.type))return r.kind="module",this.tsParseModuleOrNamespaceDeclaration(r)}break;case"namespace":if(this.tsCheckLineTerminator(i)&&fl(this.state.type))return r.kind="namespace",this.tsParseModuleOrNamespaceDeclaration(r);break;case"type":if(this.tsCheckLineTerminator(i)&&fl(this.state.type))return this.tsParseTypeAliasDeclaration(r);break}}tsCheckLineTerminator(r){return r?this.hasFollowingLineBreak()?!1:(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(r){if(!this.match(47))return;let n=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;let i=this.tsTryParseAndCatch(()=>{let s=this.startNodeAt(r);return s.typeParameters=this.tsParseTypeParameters(this.tsParseConstModifier),super.parseFunctionParams(s),s.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(19),s});if(this.state.maybeInArrowParameters=n,!!i)return super.parseArrowExpression(i,null,!0)}tsParseTypeArgumentsInExpression(){if(this.reScan_lt()===47)return this.tsParseTypeArguments()}tsParseTypeArguments(){let r=this.startNode();return r.params=this.tsInType(()=>this.tsInNoContext(()=>(this.expect(47),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),r.params.length===0?this.raise(Vs.EmptyTypeArguments,r):!this.state.inType&&this.curContext()===vc.brace&&this.reScan_lt_gt(),this.expect(48),this.finishNode(r,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){return Ovr(this.state.type)}isExportDefaultSpecifier(){return this.tsIsDeclarationStart()?!1:super.isExportDefaultSpecifier()}parseAssignableListItem(r,n){let i=this.state.startLoc,s={};this.tsParseModifiers({allowedModifiers:["public","private","protected","override","readonly"]},s);let R=s.accessibility,l=s.override,c=s.readonly;!(r&4)&&(R||c||l)&&this.raise(Vs.UnexpectedParameterModifier,i);let h=this.parseMaybeDefault();r&2&&this.parseFunctionParamType(h);let _=this.parseMaybeDefault(h.loc.start,h);if(R||c||l){let f=this.startNodeAt(i);return n.length&&(f.decorators=n),R&&(f.accessibility=R),c&&(f.readonly=c),l&&(f.override=l),_.type!=="Identifier"&&_.type!=="AssignmentPattern"&&this.raise(Vs.UnsupportedParameterPropertyKind,f),f.parameter=_,this.finishNode(f,"TSParameterProperty")}return n.length&&(h.decorators=n),_}isSimpleParameter(r){return r.type==="TSParameterProperty"&&super.isSimpleParameter(r.parameter)||super.isSimpleParameter(r)}tsDisallowOptionalPattern(r){for(let n of r.params)n.type!=="Identifier"&&n.optional&&!this.state.isAmbientContext&&this.raise(Vs.PatternIsOptional,n)}setArrowFunctionParameters(r,n,i){super.setArrowFunctionParameters(r,n,i),this.tsDisallowOptionalPattern(r)}parseFunctionBodyAndFinish(r,n,i=!1){this.match(14)&&(r.returnType=this.tsParseTypeOrTypePredicateAnnotation(14));let s=n==="FunctionDeclaration"?"TSDeclareFunction":n==="ClassMethod"||n==="ClassPrivateMethod"?"TSDeclareMethod":void 0;return s&&!this.match(5)&&this.isLineTerminator()?this.finishNode(r,s):s==="TSDeclareFunction"&&this.state.isAmbientContext&&(this.raise(Vs.DeclareFunctionHasImplementation,r),r.declare)?super.parseFunctionBodyAndFinish(r,s,i):(this.tsDisallowOptionalPattern(r),super.parseFunctionBodyAndFinish(r,n,i))}registerFunctionStatementId(r){!r.body&&r.id?this.checkIdentifier(r.id,1024):super.registerFunctionStatementId(r)}tsCheckForInvalidTypeCasts(r){r.forEach(n=>{n?.type==="TSTypeCastExpression"&&this.raise(Vs.UnexpectedTypeAnnotation,n.typeAnnotation)})}toReferencedList(r,n){return this.tsCheckForInvalidTypeCasts(r),r}parseArrayLike(r,n,i,s){let R=super.parseArrayLike(r,n,i,s);return R.type==="ArrayExpression"&&this.tsCheckForInvalidTypeCasts(R.elements),R}parseSubscript(r,n,i,s){if(!this.hasPrecedingLineBreak()&&this.match(35)){this.state.canStartJSXElement=!1,this.next();let l=this.startNodeAt(n);return l.expression=r,this.finishNode(l,"TSNonNullExpression")}let R=!1;if(this.match(18)&&this.lookaheadCharCode()===60){if(i)return s.stop=!0,r;s.optionalChainMember=R=!0,this.next()}if(this.match(47)||this.match(51)){let l,c=this.tsTryParseAndCatch(()=>{if(!i&&this.atPossibleAsyncArrow(r)){let m=this.tsTryParseGenericAsyncArrowFunction(n);if(m)return m}let h=this.tsParseTypeArgumentsInExpression();if(!h)return;if(R&&!this.match(10)){l=this.state.curPosition();return}if(eye(this.state.type)){let m=super.parseTaggedTemplateExpression(r,n,s);return m.typeParameters=h,m}if(!i&&this.eat(10)){let m=this.startNodeAt(n);return m.callee=r,m.arguments=this.parseCallExpressionArguments(11),this.tsCheckForInvalidTypeCasts(m.arguments),m.typeParameters=h,s.optionalChainMember&&(m.optional=R),this.finishCallExpression(m,s.optionalChainMember)}let _=this.state.type;if(_===48||_===52||_!==10&&O2t(_)&&!this.hasPrecedingLineBreak())return;let f=this.startNodeAt(n);return f.expression=r,f.typeParameters=h,this.finishNode(f,"TSInstantiationExpression")});if(l&&this.unexpected(l,10),c)return c.type==="TSInstantiationExpression"&&(this.match(16)||this.match(18)&&this.lookaheadCharCode()!==40)&&this.raise(Vs.InvalidPropertyAccessAfterInstantiationExpression,this.state.startLoc),c}return super.parseSubscript(r,n,i,s)}parseNewCallee(r){var n;super.parseNewCallee(r);let{callee:i}=r;i.type==="TSInstantiationExpression"&&!((n=i.extra)!=null&&n.parenthesized)&&(r.typeParameters=i.typeParameters,r.callee=i.expression)}parseExprOp(r,n,i){let s;if(Jke(58)>i&&!this.hasPrecedingLineBreak()&&(this.isContextual(93)||(s=this.isContextual(120)))){let R=this.startNodeAt(n);return R.expression=r,R.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?(s&&this.raise(Hr.UnexpectedKeyword,this.state.startLoc,{keyword:"const"}),this.tsParseTypeReference()):this.tsParseType())),this.finishNode(R,s?"TSSatisfiesExpression":"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(R,n,i)}return super.parseExprOp(r,n,i)}checkReservedWord(r,n,i,s){this.state.isAmbientContext||super.checkReservedWord(r,n,i,s)}checkImportReflection(r){super.checkImportReflection(r),r.module&&r.importKind!=="value"&&this.raise(Vs.ImportReflectionHasImportType,r.specifiers[0].loc.start)}checkDuplicateExports(){}isPotentialImportPhase(r){if(super.isPotentialImportPhase(r))return!0;if(this.isContextual(130)){let n=this.lookaheadCharCode();return r?n===123||n===42:n!==61}return!r&&this.isContextual(87)}applyImportPhase(r,n,i,s){super.applyImportPhase(r,n,i,s),n?r.exportKind=i==="type"?"type":"value":r.importKind=i==="type"||i==="typeof"?i:"value"}parseImport(r){if(this.match(134))return r.importKind="value",super.parseImport(r);let n;if(fl(this.state.type)&&this.lookaheadCharCode()===61)return r.importKind="value",this.tsParseImportEqualsDeclaration(r);if(this.isContextual(130)){let i=this.parseMaybeImportPhase(r,!1);if(this.lookaheadCharCode()===61)return this.tsParseImportEqualsDeclaration(r,i);n=super.parseImportSpecifiersAndAfter(r,i)}else n=super.parseImport(r);return n.importKind==="type"&&n.specifiers.length>1&&n.specifiers[0].type==="ImportDefaultSpecifier"&&this.raise(Vs.TypeImportCannotSpecifyDefaultAndNamed,n),n}parseExport(r,n){if(this.match(83)){this.next();let i=r,s=null;return this.isContextual(130)&&this.isPotentialImportPhase(!1)?s=this.parseMaybeImportPhase(i,!1):i.importKind="value",this.tsParseImportEqualsDeclaration(i,s,!0)}else if(this.eat(29)){let i=r;return i.expression=super.parseExpression(),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(i,"TSExportAssignment")}else if(this.eatContextual(93)){let i=r;return this.expectContextual(128),i.id=this.parseIdentifier(),this.semicolon(),this.finishNode(i,"TSNamespaceExportDeclaration")}else return super.parseExport(r,n)}isAbstractClass(){return this.isContextual(124)&&this.lookahead().type===80}parseExportDefaultExpression(){if(this.isAbstractClass()){let r=this.startNode();return this.next(),r.abstract=!0,this.parseClass(r,!0,!0)}if(this.match(129)){let r=this.tsParseInterfaceDeclaration(this.startNode());if(r)return r}return super.parseExportDefaultExpression()}parseVarStatement(r,n,i=!1){let{isAmbientContext:s}=this.state,R=super.parseVarStatement(r,n,i||s);if(!s)return R;for(let{id:l,init:c}of R.declarations)c&&(n!=="const"||l.typeAnnotation?this.raise(Vs.InitializerNotAllowedInAmbientContext,c):cDr(c,this.hasPlugin("estree"))||this.raise(Vs.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference,c));return R}parseStatementContent(r,n){if(this.match(75)&&this.isLookaheadContextual("enum")){let i=this.startNode();return this.expect(75),this.tsParseEnumDeclaration(i,{const:!0})}if(this.isContextual(126))return this.tsParseEnumDeclaration(this.startNode());if(this.isContextual(129)){let i=this.tsParseInterfaceDeclaration(this.startNode());if(i)return i}return super.parseStatementContent(r,n)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}tsHasSomeModifiers(r,n){return n.some(i=>PMt(i)?r.accessibility===i:!!r[i])}tsIsStartOfStaticBlocks(){return this.isContextual(106)&&this.lookaheadCharCode()===123}parseClassMember(r,n,i){let s=["declare","private","public","protected","override","abstract","readonly","static"];this.tsParseModifiers({allowedModifiers:s,disallowedModifiers:["in","out"],stopOnStartOfClassStaticBlock:!0,errorTemplate:Vs.InvalidModifierOnTypeParameterPositions},n);let R=()=>{this.tsIsStartOfStaticBlocks()?(this.next(),this.next(),this.tsHasSomeModifiers(n,s)&&this.raise(Vs.StaticBlockCannotHaveModifier,this.state.curPosition()),super.parseClassStaticBlock(r,n)):this.parseClassMemberWithIsStatic(r,n,i,!!n.static)};n.declare?this.tsInAmbientContext(R):R()}parseClassMemberWithIsStatic(r,n,i,s){let R=this.tsTryParseIndexSignature(n);if(R){r.body.push(R),n.abstract&&this.raise(Vs.IndexSignatureHasAbstract,n),n.accessibility&&this.raise(Vs.IndexSignatureHasAccessibility,n,{modifier:n.accessibility}),n.declare&&this.raise(Vs.IndexSignatureHasDeclare,n),n.override&&this.raise(Vs.IndexSignatureHasOverride,n);return}!this.state.inAbstractClass&&n.abstract&&this.raise(Vs.NonAbstractClassHasAbstractMethod,n),n.override&&(i.hadSuperClass||this.raise(Vs.OverrideNotInSubClass,n)),super.parseClassMemberWithIsStatic(r,n,i,s)}parsePostMemberNameModifiers(r){this.eat(17)&&(r.optional=!0),r.readonly&&this.match(10)&&this.raise(Vs.ClassMethodHasReadonly,r),r.declare&&this.match(10)&&this.raise(Vs.ClassMethodHasDeclare,r)}parseExpressionStatement(r,n,i){return(n.type==="Identifier"?this.tsParseExpressionStatement(r,n,i):void 0)||super.parseExpressionStatement(r,n,i)}shouldParseExportDeclaration(){return this.tsIsDeclarationStart()?!0:super.shouldParseExportDeclaration()}parseConditional(r,n,i){if(!this.state.maybeInArrowParameters||!this.match(17))return super.parseConditional(r,n,i);let s=this.tryParse(()=>super.parseConditional(r,n));return s.node?(s.error&&(this.state=s.failState),s.node):(s.error&&super.setOptionalParametersError(i,s.error),r)}parseParenItem(r,n){let i=super.parseParenItem(r,n);if(this.eat(17)&&(i.optional=!0,this.resetEndLocation(r)),this.match(14)){let s=this.startNodeAt(n);return s.expression=r,s.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(s,"TSTypeCastExpression")}return r}parseExportDeclaration(r){if(!this.state.isAmbientContext&&this.isContextual(125))return this.tsInAmbientContext(()=>this.parseExportDeclaration(r));let n=this.state.startLoc,i=this.eatContextual(125);if(i&&(this.isContextual(125)||!this.shouldParseExportDeclaration()))throw this.raise(Vs.ExpectedAmbientAfterExportDeclare,this.state.startLoc);let R=fl(this.state.type)&&this.tsTryParseExportDeclaration()||super.parseExportDeclaration(r);return R?((R.type==="TSInterfaceDeclaration"||R.type==="TSTypeAliasDeclaration"||i)&&(r.exportKind="type"),i&&(this.resetStartLocation(R,n),R.declare=!0),R):null}parseClassId(r,n,i,s){if((!n||i)&&this.isContextual(113))return;super.parseClassId(r,n,i,r.declare?1024:8331);let R=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);R&&(r.typeParameters=R)}parseClassPropertyAnnotation(r){r.optional||(this.eat(35)?r.definite=!0:this.eat(17)&&(r.optional=!0));let n=this.tsTryParseTypeAnnotation();n&&(r.typeAnnotation=n)}parseClassProperty(r){if(this.parseClassPropertyAnnotation(r),this.state.isAmbientContext&&!(r.readonly&&!r.typeAnnotation)&&this.match(29)&&this.raise(Vs.DeclareClassFieldHasInitializer,this.state.startLoc),r.abstract&&this.match(29)){let{key:n}=r;this.raise(Vs.AbstractPropertyHasInitializer,this.state.startLoc,{propertyName:n.type==="Identifier"&&!r.computed?n.name:`[${this.input.slice(this.offsetToSourcePos(n.start),this.offsetToSourcePos(n.end))}]`})}return super.parseClassProperty(r)}parseClassPrivateProperty(r){return r.abstract&&this.raise(Vs.PrivateElementHasAbstract,r),r.accessibility&&this.raise(Vs.PrivateElementHasAccessibility,r,{modifier:r.accessibility}),this.parseClassPropertyAnnotation(r),super.parseClassPrivateProperty(r)}parseClassAccessorProperty(r){return this.parseClassPropertyAnnotation(r),r.optional&&this.raise(Vs.AccessorCannotBeOptional,r),super.parseClassAccessorProperty(r)}pushClassMethod(r,n,i,s,R,l){let c=this.tsTryParseTypeParameters(this.tsParseConstModifier);c&&R&&this.raise(Vs.ConstructorHasTypeParameters,c);let{declare:h=!1,kind:_}=n;h&&(_==="get"||_==="set")&&this.raise(Vs.DeclareAccessor,n,{kind:_}),c&&(n.typeParameters=c),super.pushClassMethod(r,n,i,s,R,l)}pushClassPrivateMethod(r,n,i,s){let R=this.tsTryParseTypeParameters(this.tsParseConstModifier);R&&(n.typeParameters=R),super.pushClassPrivateMethod(r,n,i,s)}declareClassPrivateMethodInScope(r,n){r.type!=="TSDeclareMethod"&&(r.type==="MethodDefinition"&&!hasOwnProperty.call(r.value,"body")||super.declareClassPrivateMethodInScope(r,n))}parseClassSuper(r){super.parseClassSuper(r),r.superClass&&(this.match(47)||this.match(51))&&(r.superTypeParameters=this.tsParseTypeArgumentsInExpression()),this.eatContextual(113)&&(r.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(r,n,i,s,R,l,c){let h=this.tsTryParseTypeParameters(this.tsParseConstModifier);return h&&(r.typeParameters=h),super.parseObjPropValue(r,n,i,s,R,l,c)}parseFunctionParams(r,n){let i=this.tsTryParseTypeParameters(this.tsParseConstModifier);i&&(r.typeParameters=i),super.parseFunctionParams(r,n)}parseVarId(r,n){super.parseVarId(r,n),r.id.type==="Identifier"&&!this.hasPrecedingLineBreak()&&this.eat(35)&&(r.definite=!0);let i=this.tsTryParseTypeAnnotation();i&&(r.id.typeAnnotation=i,this.resetEndLocation(r.id))}parseAsyncArrowFromCallExpression(r,n){return this.match(14)&&(r.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(r,n)}parseMaybeAssign(r,n){var i,s,R,l,c;let h,_,f;if(this.hasPlugin("jsx")&&(this.match(143)||this.match(47))){if(h=this.state.clone(),_=this.tryParse(()=>super.parseMaybeAssign(r,n),h),!_.error)return _.node;let{context:y}=this.state,A=y[y.length-1];(A===vc.j_oTag||A===vc.j_expr)&&y.pop()}if(!((i=_)!=null&&i.error)&&!this.match(47))return super.parseMaybeAssign(r,n);(!h||h===this.state)&&(h=this.state.clone());let m,x=this.tryParse(y=>{var A,D;m=this.tsParseTypeParameters(this.tsParseConstModifier);let S=super.parseMaybeAssign(r,n);return(S.type!=="ArrowFunctionExpression"||(A=S.extra)!=null&&A.parenthesized)&&y(),((D=m)==null?void 0:D.params.length)!==0&&this.resetStartLocationFromNode(S,m),S.typeParameters=m,S},h);if(!x.error&&!x.aborted)return m&&this.reportReservedArrowTypeParam(m),x.node;if(!_&&(wMt(!this.hasPlugin("jsx")),f=this.tryParse(()=>super.parseMaybeAssign(r,n),h),!f.error))return f.node;if((s=_)!=null&&s.node)return this.state=_.failState,_.node;if(x.node)return this.state=x.failState,m&&this.reportReservedArrowTypeParam(m),x.node;if((R=f)!=null&&R.node)return this.state=f.failState,f.node;throw((l=_)==null?void 0:l.error)||x.error||((c=f)==null?void 0:c.error)}reportReservedArrowTypeParam(r){var n;r.params.length===1&&!r.params[0].constraint&&!((n=r.extra)!=null&&n.trailingComma)&&this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(Vs.ReservedArrowTypeParam,r)}parseMaybeUnary(r,n){return!this.hasPlugin("jsx")&&this.match(47)?this.tsParseTypeAssertion():super.parseMaybeUnary(r,n)}parseArrow(r){if(this.match(14)){let n=this.tryParse(i=>{let s=this.tsParseTypeOrTypePredicateAnnotation(14);return(this.canInsertSemicolon()||!this.match(19))&&i(),s});if(n.aborted)return;n.thrown||(n.error&&(this.state=n.failState),r.returnType=n.node)}return super.parseArrow(r)}parseFunctionParamType(r){this.eat(17)&&(r.optional=!0);let n=this.tsTryParseTypeAnnotation();return n&&(r.typeAnnotation=n),this.resetEndLocation(r),r}isAssignable(r,n){switch(r.type){case"TSTypeCastExpression":return this.isAssignable(r.expression,n);case"TSParameterProperty":return!0;default:return super.isAssignable(r,n)}}toAssignable(r,n=!1){switch(r.type){case"ParenthesizedExpression":this.toAssignableParenthesizedExpression(r,n);break;case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":n?this.expressionScope.recordArrowParameterBindingError(Vs.UnexpectedTypeCastInParameter,r):this.raise(Vs.UnexpectedTypeCastInParameter,r),this.toAssignable(r.expression,n);break;case"AssignmentExpression":!n&&r.left.type==="TSTypeCastExpression"&&(r.left=this.typeCastToParameter(r.left));default:super.toAssignable(r,n)}}toAssignableParenthesizedExpression(r,n){switch(r.expression.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":this.toAssignable(r.expression,n);break;default:super.toAssignable(r,n)}}checkToRestConversion(r,n){switch(r.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":this.checkToRestConversion(r.expression,!1);break;default:super.checkToRestConversion(r,n)}}isValidLVal(r,n,i){switch(r){case"TSTypeCastExpression":return!0;case"TSParameterProperty":return"parameter";case"TSNonNullExpression":case"TSInstantiationExpression":return"expression";case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":return(i!==64||!n)&&["expression",!0];default:return super.isValidLVal(r,n,i)}}parseBindingAtom(){return this.state.type===78?this.parseIdentifier(!0):super.parseBindingAtom()}parseMaybeDecoratorArguments(r){if(this.match(47)||this.match(51)){let n=this.tsParseTypeArgumentsInExpression();if(this.match(10)){let i=super.parseMaybeDecoratorArguments(r);return i.typeParameters=n,i}this.unexpected(null,10)}return super.parseMaybeDecoratorArguments(r)}checkCommaAfterRest(r){return this.state.isAmbientContext&&this.match(12)&&this.lookaheadCharCode()===r?(this.next(),!1):super.checkCommaAfterRest(r)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(35)||this.match(14)||super.isClassProperty()}parseMaybeDefault(r,n){let i=super.parseMaybeDefault(r,n);return i.type==="AssignmentPattern"&&i.typeAnnotation&&i.right.startthis.isAssignable(n,!0)):super.shouldParseArrow(r)}shouldParseAsyncArrow(){return this.match(14)||super.shouldParseAsyncArrow()}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(r){if(this.match(47)||this.match(51)){let n=this.tsTryParseAndCatch(()=>this.tsParseTypeArgumentsInExpression());n&&(r.typeParameters=n)}return super.jsxParseOpeningElementAfterName(r)}getGetterSetterExpectedParamCount(r){let n=super.getGetterSetterExpectedParamCount(r),s=this.getObjectOrClassMethodParams(r)[0];return s&&this.isThisParam(s)?n+1:n}parseCatchClauseParam(){let r=super.parseCatchClauseParam(),n=this.tsTryParseTypeAnnotation();return n&&(r.typeAnnotation=n,this.resetEndLocation(r)),r}tsInAmbientContext(r){let{isAmbientContext:n,strict:i}=this.state;this.state.isAmbientContext=!0,this.state.strict=!1;try{return r()}finally{this.state.isAmbientContext=n,this.state.strict=i}}parseClass(r,n,i){let s=this.state.inAbstractClass;this.state.inAbstractClass=!!r.abstract;try{return super.parseClass(r,n,i)}finally{this.state.inAbstractClass=s}}tsParseAbstractDeclaration(r,n){if(this.match(80))return r.abstract=!0,this.maybeTakeDecorators(n,this.parseClass(r,!0,!1));if(this.isContextual(129)){if(!this.hasFollowingLineBreak())return r.abstract=!0,this.raise(Vs.NonClassMethodPropertyHasAbstractModifer,r),this.tsParseInterfaceDeclaration(r)}else this.unexpected(null,80)}parseMethod(r,n,i,s,R,l,c){let h=super.parseMethod(r,n,i,s,R,l,c);if(h.abstract&&(this.hasPlugin("estree")?!!h.value.body:!!h.body)){let{key:f}=h;this.raise(Vs.AbstractMethodHasImplementation,h,{methodName:f.type==="Identifier"&&!h.computed?f.name:`[${this.input.slice(this.offsetToSourcePos(f.start),this.offsetToSourcePos(f.end))}]`})}return h}tsParseTypeParameterName(){return this.parseIdentifier().name}shouldParseAsAmbientContext(){return!!this.getPluginOption("typescript","dts")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}parseExportSpecifier(r,n,i,s){return!n&&s?(this.parseTypeOnlyImportExportSpecifier(r,!1,i),this.finishNode(r,"ExportSpecifier")):(r.exportKind="value",super.parseExportSpecifier(r,n,i,s))}parseImportSpecifier(r,n,i,s,R){return!n&&s?(this.parseTypeOnlyImportExportSpecifier(r,!0,i),this.finishNode(r,"ImportSpecifier")):(r.importKind="value",super.parseImportSpecifier(r,n,i,s,i?4098:4096))}parseTypeOnlyImportExportSpecifier(r,n,i){let s=n?"imported":"local",R=n?"local":"exported",l=r[s],c,h=!1,_=!0,f=l.loc.start;if(this.isContextual(93)){let x=this.parseIdentifier();if(this.isContextual(93)){let y=this.parseIdentifier();LE(this.state.type)?(h=!0,l=x,c=n?this.parseIdentifier():this.parseModuleExportName(),_=!1):(c=y,_=!1)}else LE(this.state.type)?(_=!1,c=n?this.parseIdentifier():this.parseModuleExportName()):(h=!0,l=x)}else LE(this.state.type)&&(h=!0,n?(l=this.parseIdentifier(!0),this.isContextual(93)||this.checkReservedWord(l.name,l.loc.start,!0,!0)):l=this.parseModuleExportName());h&&i&&this.raise(n?Vs.TypeModifierIsUsedInTypeImports:Vs.TypeModifierIsUsedInTypeExports,f),r[s]=l,r[R]=c;let m=n?"importKind":"exportKind";r[m]=h?"type":"value",_&&this.eatContextual(93)&&(r[R]=n?this.parseIdentifier():this.parseModuleExportName()),r[R]||(r[R]=UN(r[s])),n&&this.checkIdentifier(r[R],h?4098:4096)}};function lDr(e){if(e.type!=="MemberExpression")return!1;let{computed:t,property:r}=e;return t&&r.type!=="StringLiteral"&&(r.type!=="TemplateLiteral"||r.expressions.length>0)?!1:eWt(e.object)}function cDr(e,t){var r;let{type:n}=e;if((r=e.extra)!=null&&r.parenthesized)return!1;if(t){if(n==="Literal"){let{value:i}=e;if(typeof i=="string"||typeof i=="boolean")return!0}}else if(n==="StringLiteral"||n==="BooleanLiteral")return!0;return!!(ZMt(e,t)||TDr(e,t)||n==="TemplateLiteral"&&e.expressions.length===0||lDr(e))}function ZMt(e,t){return t?e.type==="Literal"&&(typeof e.value=="number"||"bigint"in e):e.type==="NumericLiteral"||e.type==="BigIntLiteral"}function TDr(e,t){if(e.type==="UnaryExpression"){let{operator:r,argument:n}=e;if(r==="-"&&ZMt(n,t))return!0}return!1}function eWt(e){return e.type==="Identifier"?!0:e.type!=="MemberExpression"||e.computed?!1:eWt(e.object)}var BMt=WN`placeholders`({ClassNameIsRequired:"A class name is required.",UnexpectedSpace:"Unexpected space in placeholder."}),pDr=e=>class extends e{parsePlaceholder(r){if(this.match(133)){let n=this.startNode();return this.next(),this.assertNoSpace(),n.name=super.parseIdentifier(!0),this.assertNoSpace(),this.expect(133),this.finishPlaceholder(n,r)}}finishPlaceholder(r,n){let i=r;return(!i.expectedNode||!i.type)&&(i=this.finishNode(i,"Placeholder")),i.expectedNode=n,i}getTokenFromCode(r){r===37&&this.input.charCodeAt(this.state.pos+1)===37?this.finishOp(133,2):super.getTokenFromCode(r)}parseExprAtom(r){return this.parsePlaceholder("Expression")||super.parseExprAtom(r)}parseIdentifier(r){return this.parsePlaceholder("Identifier")||super.parseIdentifier(r)}checkReservedWord(r,n,i,s){r!==void 0&&super.checkReservedWord(r,n,i,s)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom()}isValidLVal(r,n,i){return r==="Placeholder"||super.isValidLVal(r,n,i)}toAssignable(r,n){r&&r.type==="Placeholder"&&r.expectedNode==="Expression"?r.expectedNode="Pattern":super.toAssignable(r,n)}chStartsBindingIdentifier(r,n){return!!(super.chStartsBindingIdentifier(r,n)||this.lookahead().type===133)}verifyBreakContinue(r,n){r.label&&r.label.type==="Placeholder"||super.verifyBreakContinue(r,n)}parseExpressionStatement(r,n){var i;if(n.type!=="Placeholder"||(i=n.extra)!=null&&i.parenthesized)return super.parseExpressionStatement(r,n);if(this.match(14)){let R=r;return R.label=this.finishPlaceholder(n,"Identifier"),this.next(),R.body=super.parseStatementOrSloppyAnnexBFunctionDeclaration(),this.finishNode(R,"LabeledStatement")}this.semicolon();let s=r;return s.name=n.name,this.finishPlaceholder(s,"Statement")}parseBlock(r,n,i){return this.parsePlaceholder("BlockStatement")||super.parseBlock(r,n,i)}parseFunctionId(r){return this.parsePlaceholder("Identifier")||super.parseFunctionId(r)}parseClass(r,n,i){let s=n?"ClassDeclaration":"ClassExpression";this.next();let R=this.state.strict,l=this.parsePlaceholder("Identifier");if(l)if(this.match(81)||this.match(133)||this.match(5))r.id=l;else{if(i||!n)return r.id=null,r.body=this.finishPlaceholder(l,"ClassBody"),this.finishNode(r,s);throw this.raise(BMt.ClassNameIsRequired,this.state.startLoc)}else this.parseClassId(r,n,i);return super.parseClassSuper(r),r.body=this.parsePlaceholder("ClassBody")||super.parseClassBody(!!r.superClass,R),this.finishNode(r,s)}parseExport(r,n){let i=this.parsePlaceholder("Identifier");if(!i)return super.parseExport(r,n);let s=r;if(!this.isContextual(98)&&!this.match(12))return s.specifiers=[],s.source=null,s.declaration=this.finishPlaceholder(i,"Declaration"),this.finishNode(s,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");let R=this.startNode();return R.exported=i,s.specifiers=[this.finishNode(R,"ExportDefaultSpecifier")],super.parseExport(s,n)}isExportDefaultSpecifier(){if(this.match(65)){let r=this.nextTokenStart();if(this.isUnparsedContextual(r,"from")&&this.input.startsWith(cM(133),this.nextTokenStartSince(r+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(r,n){var i;return(i=r.specifiers)!=null&&i.length?!0:super.maybeParseExportDefaultSpecifier(r,n)}checkExport(r){let{specifiers:n}=r;n!=null&&n.length&&(r.specifiers=n.filter(i=>i.exported.type==="Placeholder")),super.checkExport(r),r.specifiers=n}parseImport(r){let n=this.parsePlaceholder("Identifier");if(!n)return super.parseImport(r);if(r.specifiers=[],!this.isContextual(98)&&!this.match(12))return r.source=this.finishPlaceholder(n,"StringLiteral"),this.semicolon(),this.finishNode(r,"ImportDeclaration");let i=this.startNodeAtNode(n);return i.local=n,r.specifiers.push(this.finishNode(i,"ImportDefaultSpecifier")),this.eat(12)&&(this.maybeParseStarImportSpecifier(r)||this.parseNamedImportSpecifiers(r)),this.expectContextual(98),r.source=this.parseImportSource(),this.semicolon(),this.finishNode(r,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource()}assertNoSpace(){this.state.start>this.offsetToSourcePos(this.state.lastTokEndLoc.index)&&this.raise(BMt.UnexpectedSpace,this.state.lastTokEndLoc)}},_Dr=e=>class extends e{parseV8Intrinsic(){if(this.match(54)){let r=this.state.startLoc,n=this.startNode();if(this.next(),fl(this.state.type)){let i=this.parseIdentifierName(),s=this.createIdentifier(n,i);if(s.type="V8IntrinsicIdentifier",this.match(10))return s}this.unexpected(r)}}parseExprAtom(r){return this.parseV8Intrinsic()||super.parseExprAtom(r)}},IMt=["minimal","fsharp","hack","smart"],MMt=["^^","@@","^","%","#"];function hDr(e){if(e.has("decorators")){if(e.has("decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");let r=e.get("decorators").decoratorsBeforeExport;if(r!=null&&typeof r!="boolean")throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");let n=e.get("decorators").allowCallParenthesized;if(n!=null&&typeof n!="boolean")throw new Error("'allowCallParenthesized' must be a boolean.")}if(e.has("flow")&&e.has("typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(e.has("placeholders")&&e.has("v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(e.has("pipelineOperator")){var t;let r=e.get("pipelineOperator").proposal;if(!IMt.includes(r)){let i=IMt.map(s=>`"${s}"`).join(", ");throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${i}.`)}let n=((t=e.get("recordAndTuple"))==null?void 0:t.syntaxType)==="hash";if(r==="hack"){if(e.has("placeholders"))throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");if(e.has("v8intrinsic"))throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");let i=e.get("pipelineOperator").topicToken;if(!MMt.includes(i)){let s=MMt.map(R=>`"${R}"`).join(", ");throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${s}.`)}if(i==="#"&&n)throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "hack", topicToken: "#" }]\` and \`${JSON.stringify(["recordAndTuple",e.get("recordAndTuple")])}\`.`)}else if(r==="smart"&&n)throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "smart" }]\` and \`${JSON.stringify(["recordAndTuple",e.get("recordAndTuple")])}\`.`)}if(e.has("moduleAttributes")){if(e.has("deprecatedImportAssert")||e.has("importAssertions"))throw new Error("Cannot combine importAssertions, deprecatedImportAssert and moduleAttributes plugins.");if(e.get("moduleAttributes").version!=="may-2020")throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.")}if(e.has("importAssertions")&&e.has("deprecatedImportAssert"))throw new Error("Cannot combine importAssertions and deprecatedImportAssert plugins.");if(!e.has("deprecatedImportAssert")&&e.has("importAttributes")&&e.get("importAttributes").deprecatedAssertSyntax&&e.set("deprecatedImportAssert",{}),e.has("recordAndTuple")){let r=e.get("recordAndTuple").syntaxType;if(r!=null){let n=["hash","bar"];if(!n.includes(r))throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: "+n.map(i=>`'${i}'`).join(", "))}}if(e.has("asyncDoExpressions")&&!e.has("doExpressions")){let r=new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");throw r.missingPlugins="doExpressions",r}if(e.has("optionalChainingAssign")&&e.get("optionalChainingAssign").version!=="2023-07")throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is '2023-07'.")}var tWt={estree:dvr,jsx:aDr,flow:nDr,typescript:uDr,v8intrinsic:_Dr,placeholders:pDr},fDr=Object.keys(tWt);function dDr(){return{sourceType:"script",sourceFilename:void 0,startIndex:0,startColumn:0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowNewTargetOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createImportExpressions:!1,createParenthesizedExpressions:!1,errorRecovery:!1,attachComment:!0,annexB:!0}}function xDr(e){let t=dDr();if(e==null)return t;if(e.annexB!=null&&e.annexB!==!1)throw new Error("The `annexB` option can only be set to `false`.");for(let r of Object.keys(t))e[r]!=null&&(t[r]=e[r]);if(t.startLine===1)e.startIndex==null&&t.startColumn>0?t.startIndex=t.startColumn:e.startColumn==null&&t.startIndex>0&&(t.startColumn=t.startIndex);else if((e.startColumn==null||e.startIndex==null)&&e.startIndex!=null)throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`.");return t}var Y2t=class extends H2t{checkProto(t,r,n,i){if(t.type==="SpreadElement"||this.isObjectMethod(t)||t.computed||t.shorthand)return;let s=t.key;if((s.type==="Identifier"?s.name:s.value)==="__proto__"){if(r){this.raise(Hr.RecordNoProto,s);return}n.used&&(i?i.doubleProtoLoc===null&&(i.doubleProtoLoc=s.loc.start):this.raise(Hr.DuplicateProto,s)),n.used=!0}}shouldExitDescending(t,r){return t.type==="ArrowFunctionExpression"&&this.offsetToSourcePos(t.start)===r}getExpression(){this.enterInitialScopes(),this.nextToken();let t=this.parseExpression();return this.match(140)||this.unexpected(),this.finalizeRemainingComments(),t.comments=this.comments,t.errors=this.state.errors,this.options.tokens&&(t.tokens=this.tokens),t}parseExpression(t,r){return t?this.disallowInAnd(()=>this.parseExpressionBase(r)):this.allowInAnd(()=>this.parseExpressionBase(r))}parseExpressionBase(t){let r=this.state.startLoc,n=this.parseMaybeAssign(t);if(this.match(12)){let i=this.startNodeAt(r);for(i.expressions=[n];this.eat(12);)i.expressions.push(this.parseMaybeAssign(t));return this.toReferencedList(i.expressions),this.finishNode(i,"SequenceExpression")}return n}parseMaybeAssignDisallowIn(t,r){return this.disallowInAnd(()=>this.parseMaybeAssign(t,r))}parseMaybeAssignAllowIn(t,r){return this.allowInAnd(()=>this.parseMaybeAssign(t,r))}setOptionalParametersError(t,r){var n;t.optionalParametersLoc=(n=r?.loc)!=null?n:this.state.startLoc}parseMaybeAssign(t,r){let n=this.state.startLoc;if(this.isContextual(108)&&this.prodParam.hasYield){let l=this.parseYield();return r&&(l=r.call(this,l,n)),l}let i;t?i=!1:(t=new Tne,i=!0);let{type:s}=this.state;(s===10||fl(s))&&(this.state.potentialArrowAt=this.state.start);let R=this.parseMaybeConditional(t);if(r&&(R=r.call(this,R,n)),qvr(this.state.type)){let l=this.startNodeAt(n),c=this.state.value;if(l.operator=c,this.match(29)){this.toAssignable(R,!0),l.left=R;let h=n.index;t.doubleProtoLoc!=null&&t.doubleProtoLoc.index>=h&&(t.doubleProtoLoc=null),t.shorthandAssignLoc!=null&&t.shorthandAssignLoc.index>=h&&(t.shorthandAssignLoc=null),t.privateKeyLoc!=null&&t.privateKeyLoc.index>=h&&(this.checkDestructuringPrivate(t),t.privateKeyLoc=null)}else l.left=R;return this.next(),l.right=this.parseMaybeAssign(),this.checkLVal(R,this.finishNode(l,"AssignmentExpression")),l}else i&&this.checkExpressionErrors(t,!0);return R}parseMaybeConditional(t){let r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseExprOps(t);return this.shouldExitDescending(i,n)?i:this.parseConditional(i,r,t)}parseConditional(t,r,n){if(this.eat(17)){let i=this.startNodeAt(r);return i.test=t,i.consequent=this.parseMaybeAssignAllowIn(),this.expect(14),i.alternate=this.parseMaybeAssign(),this.finishNode(i,"ConditionalExpression")}return t}parseMaybeUnaryOrPrivate(t){return this.match(139)?this.parsePrivateName():this.parseMaybeUnary(t)}parseExprOps(t){let r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseMaybeUnaryOrPrivate(t);return this.shouldExitDescending(i,n)?i:this.parseExprOp(i,r,-1)}parseExprOp(t,r,n){if(this.isPrivateName(t)){let s=this.getPrivateNameSV(t);(n>=Jke(58)||!this.prodParam.hasIn||!this.match(58))&&this.raise(Hr.PrivateInExpectedIn,t,{identifierName:s}),this.classScope.usePrivateName(s,t.loc.start)}let i=this.state.type;if(Avr(i)&&(this.prodParam.hasIn||!this.match(58))){let s=Jke(i);if(s>n){if(i===39){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return t;this.checkPipelineAtInfixOperator(t,r)}let R=this.startNodeAt(r);R.left=t,R.operator=this.state.value;let l=i===41||i===42,c=i===40;if(c&&(s=Jke(42)),this.next(),i===39&&this.hasPlugin(["pipelineOperator",{proposal:"minimal"}])&&this.state.type===96&&this.prodParam.hasAwait)throw this.raise(Hr.UnexpectedAwaitAfterPipelineBody,this.state.startLoc);R.right=this.parseExprOpRightExpr(i,s);let h=this.finishNode(R,l||c?"LogicalExpression":"BinaryExpression"),_=this.state.type;if(c&&(_===41||_===42)||l&&_===40)throw this.raise(Hr.MixingCoalesceWithLogical,this.state.startLoc);return this.parseExprOp(h,r,n)}}return t}parseExprOpRightExpr(t,r){let n=this.state.startLoc;switch(t){case 39:switch(this.getPluginOption("pipelineOperator","proposal")){case"hack":return this.withTopicBindingContext(()=>this.parseHackPipeBody());case"smart":return this.withTopicBindingContext(()=>{if(this.prodParam.hasYield&&this.isContextual(108))throw this.raise(Hr.PipeBodyIsTighter,this.state.startLoc);return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(t,r),n)});case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(r))}default:return this.parseExprOpBaseRightExpr(t,r)}}parseExprOpBaseRightExpr(t,r){let n=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),n,vvr(t)?r-1:r)}parseHackPipeBody(){var t;let{startLoc:r}=this.state,n=this.parseMaybeAssign();return Tvr.has(n.type)&&!((t=n.extra)!=null&&t.parenthesized)&&this.raise(Hr.PipeUnparenthesizedBody,r,{type:n.type}),this.topicReferenceWasUsedInCurrentContext()||this.raise(Hr.PipeTopicUnused,r),n}checkExponentialAfterUnary(t){this.match(57)&&this.raise(Hr.UnexpectedTokenUnaryExponentiation,t.argument)}parseMaybeUnary(t,r){let n=this.state.startLoc,i=this.isContextual(96);if(i&&this.recordAwaitIfAllowed()){this.next();let c=this.parseAwait(n);return r||this.checkExponentialAfterUnary(c),c}let s=this.match(34),R=this.startNode();if(bvr(this.state.type)){R.operator=this.state.value,R.prefix=!0,this.match(72)&&this.expectPlugin("throwExpressions");let c=this.match(89);if(this.next(),R.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(t,!0),this.state.strict&&c){let h=R.argument;h.type==="Identifier"?this.raise(Hr.StrictDelete,R):this.hasPropertyAsPrivateName(h)&&this.raise(Hr.DeletePrivateField,R)}if(!s)return r||this.checkExponentialAfterUnary(R),this.finishNode(R,"UnaryExpression")}let l=this.parseUpdate(R,s,t);if(i){let{type:c}=this.state;if((this.hasPlugin("v8intrinsic")?O2t(c):O2t(c)&&!this.match(54))&&!this.isAmbiguousAwait())return this.raiseOverwrite(Hr.AwaitNotInAsyncContext,n),this.parseAwait(n)}return l}parseUpdate(t,r,n){if(r){let R=t;return this.checkLVal(R.argument,this.finishNode(R,"UpdateExpression")),t}let i=this.state.startLoc,s=this.parseExprSubscripts(n);if(this.checkExpressionErrors(n,!1))return s;for(;gvr(this.state.type)&&!this.canInsertSemicolon();){let R=this.startNodeAt(i);R.operator=this.state.value,R.prefix=!1,R.argument=s,this.next(),this.checkLVal(s,s=this.finishNode(R,"UpdateExpression"))}return s}parseExprSubscripts(t){let r=this.state.startLoc,n=this.state.potentialArrowAt,i=this.parseExprAtom(t);return this.shouldExitDescending(i,n)?i:this.parseSubscripts(i,r)}parseSubscripts(t,r,n){let i={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(t),stop:!1};do t=this.parseSubscript(t,r,n,i),i.maybeAsyncArrow=!1;while(!i.stop);return t}parseSubscript(t,r,n,i){let{type:s}=this.state;if(!n&&s===15)return this.parseBind(t,r,n,i);if(eye(s))return this.parseTaggedTemplateExpression(t,r,i);let R=!1;if(s===18){if(n&&(this.raise(Hr.OptionalChainingNoNew,this.state.startLoc),this.lookaheadCharCode()===40))return i.stop=!0,t;i.optionalChainMember=R=!0,this.next()}if(!n&&this.match(10))return this.parseCoverCallAndAsyncArrowHead(t,r,i,R);{let l=this.eat(0);return l||R||this.eat(16)?this.parseMember(t,r,i,l,R):(i.stop=!0,t)}}parseMember(t,r,n,i,s){let R=this.startNodeAt(r);return R.object=t,R.computed=i,i?(R.property=this.parseExpression(),this.expect(3)):this.match(139)?(t.type==="Super"&&this.raise(Hr.SuperPrivateField,r),this.classScope.usePrivateName(this.state.value,this.state.startLoc),R.property=this.parsePrivateName()):R.property=this.parseIdentifier(!0),n.optionalChainMember?(R.optional=s,this.finishNode(R,"OptionalMemberExpression")):this.finishNode(R,"MemberExpression")}parseBind(t,r,n,i){let s=this.startNodeAt(r);return s.object=t,this.next(),s.callee=this.parseNoCallExpr(),i.stop=!0,this.parseSubscripts(this.finishNode(s,"BindExpression"),r,n)}parseCoverCallAndAsyncArrowHead(t,r,n,i){let s=this.state.maybeInArrowParameters,R=null;this.state.maybeInArrowParameters=!0,this.next();let l=this.startNodeAt(r);l.callee=t;let{maybeAsyncArrow:c,optionalChainMember:h}=n;c&&(this.expressionScope.enter(Vvr()),R=new Tne),h&&(l.optional=i),i?l.arguments=this.parseCallExpressionArguments(11):l.arguments=this.parseCallExpressionArguments(11,t.type!=="Super",l,R);let _=this.finishCallExpression(l,h);return c&&this.shouldParseAsyncArrow()&&!i?(n.stop=!0,this.checkDestructuringPrivate(R),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),_=this.parseAsyncArrowFromCallExpression(this.startNodeAt(r),_)):(c&&(this.checkExpressionErrors(R,!0),this.expressionScope.exit()),this.toReferencedArguments(_)),this.state.maybeInArrowParameters=s,_}toReferencedArguments(t,r){this.toReferencedListDeep(t.arguments,r)}parseTaggedTemplateExpression(t,r,n){let i=this.startNodeAt(r);return i.tag=t,i.quasi=this.parseTemplate(!0),n.optionalChainMember&&this.raise(Hr.OptionalChainingNoTemplate,r),this.finishNode(i,"TaggedTemplateExpression")}atPossibleAsyncArrow(t){return t.type==="Identifier"&&t.name==="async"&&this.state.lastTokEndLoc.index===t.end&&!this.canInsertSemicolon()&&t.end-t.start===5&&this.offsetToSourcePos(t.start)===this.state.potentialArrowAt}finishCallExpression(t,r){if(t.callee.type==="Import")if(t.arguments.length===0||t.arguments.length>2)this.raise(Hr.ImportCallArity,t);else for(let n of t.arguments)n.type==="SpreadElement"&&this.raise(Hr.ImportCallSpreadArgument,n);return this.finishNode(t,r?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(t,r,n,i){let s=[],R=!0,l=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(t);){if(R)R=!1;else if(this.expect(12),this.match(t)){n&&this.addTrailingCommaExtraToNode(n),this.next();break}s.push(this.parseExprListItem(!1,i,r))}return this.state.inFSharpPipelineDirectBody=l,s}shouldParseAsyncArrow(){return this.match(19)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(t,r){var n;return this.resetPreviousNodeTrailingComments(r),this.expect(19),this.parseArrowExpression(t,r.arguments,!0,(n=r.extra)==null?void 0:n.trailingCommaLoc),r.innerComments&&wpe(t,r.innerComments),r.callee.trailingComments&&wpe(t,r.callee.trailingComments),t}parseNoCallExpr(){let t=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),t,!0)}parseExprAtom(t){let r,n=null,{type:i}=this.state;switch(i){case 79:return this.parseSuper();case 83:return r=this.startNode(),this.next(),this.match(16)?this.parseImportMetaProperty(r):this.match(10)?this.options.createImportExpressions?this.parseImportCall(r):this.finishNode(r,"Import"):(this.raise(Hr.UnsupportedImport,this.state.lastTokStartLoc),this.finishNode(r,"Import"));case 78:return r=this.startNode(),this.next(),this.finishNode(r,"ThisExpression");case 90:return this.parseDo(this.startNode(),!1);case 56:case 31:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case 135:return this.parseNumericLiteral(this.state.value);case 136:return this.parseBigIntLiteral(this.state.value);case 134:return this.parseStringLiteral(this.state.value);case 84:return this.parseNullLiteral();case 85:return this.parseBooleanLiteral(!0);case 86:return this.parseBooleanLiteral(!1);case 10:{let s=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(s)}case 2:case 1:return this.parseArrayLike(this.state.type===2?4:3,!1,!0);case 0:return this.parseArrayLike(3,!0,!1,t);case 6:case 7:return this.parseObjectLike(this.state.type===6?9:8,!1,!0);case 5:return this.parseObjectLike(8,!1,!1,t);case 68:return this.parseFunctionOrFunctionSent();case 26:n=this.parseDecorators();case 80:return this.parseClass(this.maybeTakeDecorators(n,this.startNode()),!1);case 77:return this.parseNewOrNewTarget();case 25:case 24:return this.parseTemplate(!1);case 15:{r=this.startNode(),this.next(),r.object=null;let s=r.callee=this.parseNoCallExpr();if(s.type==="MemberExpression")return this.finishNode(r,"BindExpression");throw this.raise(Hr.UnsupportedBind,s)}case 139:return this.raise(Hr.PrivateInExpectedIn,this.state.startLoc,{identifierName:this.state.value}),this.parsePrivateName();case 33:return this.parseTopicReferenceThenEqualsSign(54,"%");case 32:return this.parseTopicReferenceThenEqualsSign(44,"^");case 37:case 38:return this.parseTopicReference("hack");case 44:case 54:case 27:{let s=this.getPluginOption("pipelineOperator","proposal");if(s)return this.parseTopicReference(s);this.unexpected();break}case 47:{let s=this.input.codePointAt(this.nextTokenStart());MN(s)||s===62?this.expectOnePlugin(["jsx","flow","typescript"]):this.unexpected();break}default:if(i===137)return this.parseDecimalLiteral(this.state.value);if(fl(i)){if(this.isContextual(127)&&this.lookaheadInLineCharCode()===123)return this.parseModuleExpression();let s=this.state.potentialArrowAt===this.state.start,R=this.state.containsEsc,l=this.parseIdentifier();if(!R&&l.name==="async"&&!this.canInsertSemicolon()){let{type:c}=this.state;if(c===68)return this.resetPreviousNodeTrailingComments(l),this.next(),this.parseAsyncFunctionExpression(this.startNodeAtNode(l));if(fl(c))return this.lookaheadCharCode()===61?this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(l)):l;if(c===90)return this.resetPreviousNodeTrailingComments(l),this.parseDo(this.startNodeAtNode(l),!0)}return s&&this.match(19)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(l),[l],!1)):l}else this.unexpected()}}parseTopicReferenceThenEqualsSign(t,r){let n=this.getPluginOption("pipelineOperator","proposal");if(n)return this.state.type=t,this.state.value=r,this.state.pos--,this.state.end--,this.state.endLoc=A4(this.state.endLoc,-1),this.parseTopicReference(n);this.unexpected()}parseTopicReference(t){let r=this.startNode(),n=this.state.startLoc,i=this.state.type;return this.next(),this.finishTopicReference(r,n,t,i)}finishTopicReference(t,r,n,i){if(this.testTopicReferenceConfiguration(n,r,i)){let s=n==="smart"?"PipelinePrimaryTopicReference":"TopicReference";return this.topicReferenceIsAllowedInCurrentContext()||this.raise(n==="smart"?Hr.PrimaryTopicNotAllowed:Hr.PipeTopicUnbound,r),this.registerTopicReference(),this.finishNode(t,s)}else throw this.raise(Hr.PipeTopicUnconfiguredToken,r,{token:cM(i)})}testTopicReferenceConfiguration(t,r,n){switch(t){case"hack":return this.hasPlugin(["pipelineOperator",{topicToken:cM(n)}]);case"smart":return n===27;default:throw this.raise(Hr.PipeTopicRequiresHackPipes,r)}}parseAsyncArrowUnaryFunction(t){this.prodParam.enter(Xke(!0,this.prodParam.hasYield));let r=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(Hr.LineTerminatorBeforeArrow,this.state.curPosition()),this.expect(19),this.parseArrowExpression(t,r,!0)}parseDo(t,r){this.expectPlugin("doExpressions"),r&&this.expectPlugin("asyncDoExpressions"),t.async=r,this.next();let n=this.state.labels;return this.state.labels=[],r?(this.prodParam.enter(2),t.body=this.parseBlock(),this.prodParam.exit()):t.body=this.parseBlock(),this.state.labels=n,this.finishNode(t,"DoExpression")}parseSuper(){let t=this.startNode();return this.next(),this.match(10)&&!this.scope.allowDirectSuper&&!this.options.allowSuperOutsideMethod?this.raise(Hr.SuperNotAllowed,t):!this.scope.allowSuper&&!this.options.allowSuperOutsideMethod&&this.raise(Hr.UnexpectedSuper,t),!this.match(10)&&!this.match(0)&&!this.match(16)&&this.raise(Hr.UnsupportedSuper,t),this.finishNode(t,"Super")}parsePrivateName(){let t=this.startNode(),r=this.startNodeAt(A4(this.state.startLoc,1)),n=this.state.value;return this.next(),t.id=this.createIdentifier(r,n),this.finishNode(t,"PrivateName")}parseFunctionOrFunctionSent(){let t=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(16)){let r=this.createIdentifier(this.startNodeAtNode(t),"function");return this.next(),this.match(103)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected(),this.parseMetaProperty(t,r,"sent")}return this.parseFunction(t)}parseMetaProperty(t,r,n){t.meta=r;let i=this.state.containsEsc;return t.property=this.parseIdentifier(!0),(t.property.name!==n||i)&&this.raise(Hr.UnsupportedMetaProperty,t.property,{target:r.name,onlyValidPropertyName:n}),this.finishNode(t,"MetaProperty")}parseImportMetaProperty(t){let r=this.createIdentifier(this.startNodeAtNode(t),"import");if(this.next(),this.isContextual(101))this.inModule||this.raise(Hr.ImportMetaOutsideModule,r),this.sawUnambiguousESM=!0;else if(this.isContextual(105)||this.isContextual(97)){let n=this.isContextual(105);if(n||this.unexpected(),this.expectPlugin(n?"sourcePhaseImports":"deferredImportEvaluation"),!this.options.createImportExpressions)throw this.raise(Hr.DynamicImportPhaseRequiresImportExpressions,this.state.startLoc,{phase:this.state.value});return this.next(),t.phase=n?"source":"defer",this.parseImportCall(t)}return this.parseMetaProperty(t,r,"meta")}parseLiteralAtNode(t,r,n){return this.addExtra(n,"rawValue",t),this.addExtra(n,"raw",this.input.slice(this.offsetToSourcePos(n.start),this.state.end)),n.value=t,this.next(),this.finishNode(n,r)}parseLiteral(t,r){let n=this.startNode();return this.parseLiteralAtNode(t,r,n)}parseStringLiteral(t){return this.parseLiteral(t,"StringLiteral")}parseNumericLiteral(t){return this.parseLiteral(t,"NumericLiteral")}parseBigIntLiteral(t){return this.parseLiteral(t,"BigIntLiteral")}parseDecimalLiteral(t){return this.parseLiteral(t,"DecimalLiteral")}parseRegExpLiteral(t){let r=this.startNode();return this.addExtra(r,"raw",this.input.slice(this.offsetToSourcePos(r.start),this.state.end)),r.pattern=t.pattern,r.flags=t.flags,this.next(),this.finishNode(r,"RegExpLiteral")}parseBooleanLiteral(t){let r=this.startNode();return r.value=t,this.next(),this.finishNode(r,"BooleanLiteral")}parseNullLiteral(){let t=this.startNode();return this.next(),this.finishNode(t,"NullLiteral")}parseParenAndDistinguishExpression(t){let r=this.state.startLoc,n;this.next(),this.expressionScope.enter(Gvr());let i=this.state.maybeInArrowParameters,s=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;let R=this.state.startLoc,l=[],c=new Tne,h=!0,_,f;for(;!this.match(11);){if(h)h=!1;else if(this.expect(12,c.optionalParametersLoc===null?null:c.optionalParametersLoc),this.match(11)){f=this.state.startLoc;break}if(this.match(21)){let y=this.state.startLoc;if(_=this.state.startLoc,l.push(this.parseParenItem(this.parseRestBinding(),y)),!this.checkCommaAfterRest(41))break}else l.push(this.parseMaybeAssignAllowIn(c,this.parseParenItem))}let m=this.state.lastTokEndLoc;this.expect(11),this.state.maybeInArrowParameters=i,this.state.inFSharpPipelineDirectBody=s;let x=this.startNodeAt(r);return t&&this.shouldParseArrow(l)&&(x=this.parseArrow(x))?(this.checkDestructuringPrivate(c),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(x,l,!1),x):(this.expressionScope.exit(),l.length||this.unexpected(this.state.lastTokStartLoc),f&&this.unexpected(f),_&&this.unexpected(_),this.checkExpressionErrors(c,!0),this.toReferencedListDeep(l,!0),l.length>1?(n=this.startNodeAt(R),n.expressions=l,this.finishNode(n,"SequenceExpression"),this.resetEndLocation(n,m)):n=l[0],this.wrapParenthesis(r,n))}wrapParenthesis(t,r){if(!this.options.createParenthesizedExpressions)return this.addExtra(r,"parenthesized",!0),this.addExtra(r,"parenStart",t.index),this.takeSurroundingComments(r,t.index,this.state.lastTokEndLoc.index),r;let n=this.startNodeAt(t);return n.expression=r,this.finishNode(n,"ParenthesizedExpression")}shouldParseArrow(t){return!this.canInsertSemicolon()}parseArrow(t){if(this.eat(19))return t}parseParenItem(t,r){return t}parseNewOrNewTarget(){let t=this.startNode();if(this.next(),this.match(16)){let r=this.createIdentifier(this.startNodeAtNode(t),"new");this.next();let n=this.parseMetaProperty(t,r,"target");return!this.scope.inNonArrowFunction&&!this.scope.inClass&&!this.options.allowNewTargetOutsideFunction&&this.raise(Hr.UnexpectedNewTarget,n),n}return this.parseNew(t)}parseNew(t){if(this.parseNewCallee(t),this.eat(10)){let r=this.parseExprList(11);this.toReferencedList(r),t.arguments=r}else t.arguments=[];return this.finishNode(t,"NewExpression")}parseNewCallee(t){let r=this.match(83),n=this.parseNoCallExpr();t.callee=n,r&&(n.type==="Import"||n.type==="ImportExpression")&&this.raise(Hr.ImportCallNotNewExpression,n)}parseTemplateElement(t){let{start:r,startLoc:n,end:i,value:s}=this.state,R=r+1,l=this.startNodeAt(A4(n,1));s===null&&(t||this.raise(Hr.InvalidEscapeSequenceTemplate,A4(this.state.firstInvalidTemplateEscapePos,1)));let c=this.match(24),h=c?-1:-2,_=i+h;l.value={raw:this.input.slice(R,_).replace(/\r\n?/g,` +`),cooked:s===null?null:s.slice(1,h)},l.tail=c,this.next();let f=this.finishNode(l,"TemplateElement");return this.resetEndLocation(f,A4(this.state.lastTokEndLoc,h)),f}parseTemplate(t){let r=this.startNode(),n=this.parseTemplateElement(t),i=[n],s=[];for(;!n.tail;)s.push(this.parseTemplateSubstitution()),this.readTemplateContinuation(),i.push(n=this.parseTemplateElement(t));return r.expressions=s,r.quasis=i,this.finishNode(r,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(t,r,n,i){n&&this.expectPlugin("recordAndTuple");let s=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let R=Object.create(null),l=!0,c=this.startNode();for(c.properties=[],this.next();!this.match(t);){if(l)l=!1;else if(this.expect(12),this.match(t)){this.addTrailingCommaExtraToNode(c);break}let _;r?_=this.parseBindingProperty():(_=this.parsePropertyDefinition(i),this.checkProto(_,n,R,i)),n&&!this.isObjectProperty(_)&&_.type!=="SpreadElement"&&this.raise(Hr.InvalidRecordProperty,_),_.shorthand&&this.addExtra(_,"shorthand",!0),c.properties.push(_)}this.next(),this.state.inFSharpPipelineDirectBody=s;let h="ObjectExpression";return r?h="ObjectPattern":n&&(h="RecordExpression"),this.finishNode(c,h)}addTrailingCommaExtraToNode(t){this.addExtra(t,"trailingComma",this.state.lastTokStartLoc.index),this.addExtra(t,"trailingCommaLoc",this.state.lastTokStartLoc,!1)}maybeAsyncOrAccessorProp(t){return!t.computed&&t.key.type==="Identifier"&&(this.isLiteralPropertyName()||this.match(0)||this.match(55))}parsePropertyDefinition(t){let r=[];if(this.match(26))for(this.hasPlugin("decorators")&&this.raise(Hr.UnsupportedPropertyDecorator,this.state.startLoc);this.match(26);)r.push(this.parseDecorator());let n=this.startNode(),i=!1,s=!1,R;if(this.match(21))return r.length&&this.unexpected(),this.parseSpread();r.length&&(n.decorators=r,r=[]),n.method=!1,t&&(R=this.state.startLoc);let l=this.eat(55);this.parsePropertyNamePrefixOperator(n);let c=this.state.containsEsc;if(this.parsePropertyName(n,t),!l&&!c&&this.maybeAsyncOrAccessorProp(n)){let{key:h}=n,_=h.name;_==="async"&&!this.hasPrecedingLineBreak()&&(i=!0,this.resetPreviousNodeTrailingComments(h),l=this.eat(55),this.parsePropertyName(n)),(_==="get"||_==="set")&&(s=!0,this.resetPreviousNodeTrailingComments(h),n.kind=_,this.match(55)&&(l=!0,this.raise(Hr.AccessorIsGenerator,this.state.curPosition(),{kind:_}),this.next()),this.parsePropertyName(n))}return this.parseObjPropValue(n,R,l,i,!1,s,t)}getGetterSetterExpectedParamCount(t){return t.kind==="get"?0:1}getObjectOrClassMethodParams(t){return t.params}checkGetterSetterParams(t){var r;let n=this.getGetterSetterExpectedParamCount(t),i=this.getObjectOrClassMethodParams(t);i.length!==n&&this.raise(t.kind==="get"?Hr.BadGetterArity:Hr.BadSetterArity,t),t.kind==="set"&&((r=i[i.length-1])==null?void 0:r.type)==="RestElement"&&this.raise(Hr.BadSetterRestParameter,t)}parseObjectMethod(t,r,n,i,s){if(s){let R=this.parseMethod(t,r,!1,!1,!1,"ObjectMethod");return this.checkGetterSetterParams(R),R}if(n||r||this.match(10))return i&&this.unexpected(),t.kind="method",t.method=!0,this.parseMethod(t,r,n,!1,!1,"ObjectMethod")}parseObjectProperty(t,r,n,i){if(t.shorthand=!1,this.eat(14))return t.value=n?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowIn(i),this.finishNode(t,"ObjectProperty");if(!t.computed&&t.key.type==="Identifier"){if(this.checkReservedWord(t.key.name,t.key.loc.start,!0,!1),n)t.value=this.parseMaybeDefault(r,UN(t.key));else if(this.match(29)){let s=this.state.startLoc;i!=null?i.shorthandAssignLoc===null&&(i.shorthandAssignLoc=s):this.raise(Hr.InvalidCoverInitializedName,s),t.value=this.parseMaybeDefault(r,UN(t.key))}else t.value=UN(t.key);return t.shorthand=!0,this.finishNode(t,"ObjectProperty")}}parseObjPropValue(t,r,n,i,s,R,l){let c=this.parseObjectMethod(t,n,i,s,R)||this.parseObjectProperty(t,r,s,l);return c||this.unexpected(),c}parsePropertyName(t,r){if(this.eat(0))t.computed=!0,t.key=this.parseMaybeAssignAllowIn(),this.expect(3);else{let{type:n,value:i}=this.state,s;if(LE(n))s=this.parseIdentifier(!0);else switch(n){case 135:s=this.parseNumericLiteral(i);break;case 134:s=this.parseStringLiteral(i);break;case 136:s=this.parseBigIntLiteral(i);break;case 139:{let R=this.state.startLoc;r!=null?r.privateKeyLoc===null&&(r.privateKeyLoc=R):this.raise(Hr.UnexpectedPrivateField,R),s=this.parsePrivateName();break}default:if(n===137){s=this.parseDecimalLiteral(i);break}this.unexpected()}t.key=s,n!==139&&(t.computed=!1)}}initFunction(t,r){t.id=null,t.generator=!1,t.async=r}parseMethod(t,r,n,i,s,R,l=!1){this.initFunction(t,n),t.generator=r,this.scope.enter(18|(l?64:0)|(s?32:0)),this.prodParam.enter(Xke(n,t.generator)),this.parseFunctionParams(t,i);let c=this.parseFunctionBodyAndFinish(t,R,!0);return this.prodParam.exit(),this.scope.exit(),c}parseArrayLike(t,r,n,i){n&&this.expectPlugin("recordAndTuple");let s=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let R=this.startNode();return this.next(),R.elements=this.parseExprList(t,!n,i,R),this.state.inFSharpPipelineDirectBody=s,this.finishNode(R,n?"TupleExpression":"ArrayExpression")}parseArrowExpression(t,r,n,i){this.scope.enter(6);let s=Xke(n,!1);!this.match(5)&&this.prodParam.hasIn&&(s|=8),this.prodParam.enter(s),this.initFunction(t,n);let R=this.state.maybeInArrowParameters;return r&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(t,r,i)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(t,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=R,this.finishNode(t,"ArrowFunctionExpression")}setArrowFunctionParameters(t,r,n){this.toAssignableList(r,n,!1),t.params=r}parseFunctionBodyAndFinish(t,r,n=!1){return this.parseFunctionBody(t,!1,n),this.finishNode(t,r)}parseFunctionBody(t,r,n=!1){let i=r&&!this.match(5);if(this.expressionScope.enter(JMt()),i)t.body=this.parseMaybeAssign(),this.checkParams(t,!1,r,!1);else{let s=this.state.strict,R=this.state.labels;this.state.labels=[],this.prodParam.enter(this.prodParam.currentFlags()|4),t.body=this.parseBlock(!0,!1,l=>{let c=!this.isSimpleParamList(t.params);l&&c&&this.raise(Hr.IllegalLanguageModeDirective,(t.kind==="method"||t.kind==="constructor")&&t.key?t.key.loc.end:t);let h=!s&&this.state.strict;this.checkParams(t,!this.state.strict&&!r&&!n&&!c,r,h),this.state.strict&&t.id&&this.checkIdentifier(t.id,65,h)}),this.prodParam.exit(),this.state.labels=R}this.expressionScope.exit()}isSimpleParameter(t){return t.type==="Identifier"}isSimpleParamList(t){for(let r=0,n=t.length;r10||!Mvr(t))return;if(n&&Pvr(t)){this.raise(Hr.UnexpectedKeyword,r,{keyword:t});return}if((this.state.strict?i?KMt:HMt:zMt)(t,this.inModule)){this.raise(Hr.UnexpectedReservedWord,r,{reservedWord:t});return}else if(t==="yield"){if(this.prodParam.hasYield){this.raise(Hr.YieldBindingIdentifier,r);return}}else if(t==="await"){if(this.prodParam.hasAwait){this.raise(Hr.AwaitBindingIdentifier,r);return}if(this.scope.inStaticBlock){this.raise(Hr.AwaitBindingIdentifierInStaticBlock,r);return}this.expressionScope.recordAsyncArrowParametersError(r)}else if(t==="arguments"&&this.scope.inClassAndNotInNonArrowFunction){this.raise(Hr.ArgumentsInClass,r);return}}recordAwaitIfAllowed(){let t=this.prodParam.hasAwait||this.options.allowAwaitOutsideFunction&&!this.scope.inFunction;return t&&!this.scope.inFunction&&(this.state.hasTopLevelAwait=!0),t}parseAwait(t){let r=this.startNodeAt(t);return this.expressionScope.recordParameterInitializerError(Hr.AwaitExpressionFormalParameter,r),this.eat(55)&&this.raise(Hr.ObsoleteAwaitStar,r),!this.scope.inFunction&&!this.options.allowAwaitOutsideFunction&&(this.isAmbiguousAwait()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(r.argument=this.parseMaybeUnary(null,!0)),this.finishNode(r,"AwaitExpression")}isAmbiguousAwait(){if(this.hasPrecedingLineBreak())return!0;let{type:t}=this.state;return t===53||t===10||t===0||eye(t)||t===102&&!this.state.containsEsc||t===138||t===56||this.hasPlugin("v8intrinsic")&&t===54}parseYield(){let t=this.startNode();this.expressionScope.recordParameterInitializerError(Hr.YieldInParameter,t),this.next();let r=!1,n=null;if(!this.hasPrecedingLineBreak())switch(r=this.eat(55),this.state.type){case 13:case 140:case 8:case 11:case 3:case 9:case 14:case 12:if(!r)break;default:n=this.parseMaybeAssign()}return t.delegate=r,t.argument=n,this.finishNode(t,"YieldExpression")}parseImportCall(t){if(this.next(),t.source=this.parseMaybeAssignAllowIn(),t.options=null,this.eat(12)&&!this.match(11)&&(t.options=this.parseMaybeAssignAllowIn(),this.eat(12)&&!this.match(11))){do this.parseMaybeAssignAllowIn();while(this.eat(12)&&!this.match(11));this.raise(Hr.ImportCallArity,t)}return this.expect(11),this.finishNode(t,"ImportExpression")}checkPipelineAtInfixOperator(t,r){this.hasPlugin(["pipelineOperator",{proposal:"smart"}])&&t.type==="SequenceExpression"&&this.raise(Hr.PipelineHeadSequenceExpression,r)}parseSmartPipelineBodyInStyle(t,r){if(this.isSimpleReference(t)){let n=this.startNodeAt(r);return n.callee=t,this.finishNode(n,"PipelineBareFunction")}else{let n=this.startNodeAt(r);return this.checkSmartPipeTopicBodyEarlyErrors(r),n.expression=t,this.finishNode(n,"PipelineTopicExpression")}}isSimpleReference(t){switch(t.type){case"MemberExpression":return!t.computed&&this.isSimpleReference(t.object);case"Identifier":return!0;default:return!1}}checkSmartPipeTopicBodyEarlyErrors(t){if(this.match(19))throw this.raise(Hr.PipelineBodyNoArrow,this.state.startLoc);this.topicReferenceWasUsedInCurrentContext()||this.raise(Hr.PipelineTopicUnused,t)}withTopicBindingContext(t){let r=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return t()}finally{this.state.topicContext=r}}withSmartMixTopicForbiddingContext(t){if(this.hasPlugin(["pipelineOperator",{proposal:"smart"}])){let r=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null};try{return t()}finally{this.state.topicContext=r}}else return t()}withSoloAwaitPermittingContext(t){let r=this.state.soloAwait;this.state.soloAwait=!0;try{return t()}finally{this.state.soloAwait=r}}allowInAnd(t){let r=this.prodParam.currentFlags();if(8&~r){this.prodParam.enter(r|8);try{return t()}finally{this.prodParam.exit()}}return t()}disallowInAnd(t){let r=this.prodParam.currentFlags();if(8&r){this.prodParam.enter(r&-9);try{return t()}finally{this.prodParam.exit()}}return t()}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}topicReferenceIsAllowedInCurrentContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentContext(){return this.state.topicContext.maxTopicIndex!=null&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(t){let r=this.state.startLoc;this.state.potentialArrowAt=this.state.start;let n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;let i=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),r,t);return this.state.inFSharpPipelineDirectBody=n,i}parseModuleExpression(){this.expectPlugin("moduleBlocks");let t=this.startNode();this.next(),this.match(5)||this.unexpected(null,5);let r=this.startNodeAt(this.state.endLoc);this.next();let n=this.initializeScopes(!0);this.enterInitialScopes();try{t.body=this.parseProgram(r,8,"module")}finally{n()}return this.finishNode(t,"ModuleExpression")}parsePropertyNamePrefixOperator(t){}},b2t={kind:1},mDr={kind:2},kDr=/[\uD800-\uDFFF]/u,E2t=/in(?:stanceof)?/y;function yDr(e,t,r){for(let n=0;n0)for(let[s,R]of Array.from(this.scope.undefinedExports))this.raise(Hr.ModuleExportUndefined,R,{localName:s});this.addExtra(t,"topLevelAwait",this.state.hasTopLevelAwait)}let i;return r===140?i=this.finishNode(t,"Program"):i=this.finishNodeAt(t,"Program",A4(this.state.startLoc,-1)),i}stmtToDirective(t){let r=t;r.type="Directive",r.value=r.expression,delete r.expression;let n=r.value,i=n.value,s=this.input.slice(this.offsetToSourcePos(n.start),this.offsetToSourcePos(n.end)),R=n.value=s.slice(1,-1);return this.addExtra(n,"raw",s),this.addExtra(n,"rawValue",R),this.addExtra(n,"expressionValue",i),n.type="DirectiveLiteral",r}parseInterpreterDirective(){if(!this.match(28))return null;let t=this.startNode();return t.value=this.state.value,this.next(),this.finishNode(t,"InterpreterDirective")}isLet(){return this.isContextual(100)?this.hasFollowingBindingAtom():!1}chStartsBindingIdentifier(t,r){if(MN(t)){if(E2t.lastIndex=r,E2t.test(this.input)){let n=this.codePointAtPos(E2t.lastIndex);if(!lne(n)&&n!==92)return!1}return!0}else return t===92}chStartsBindingPattern(t){return t===91||t===123}hasFollowingBindingAtom(){let t=this.nextTokenStart(),r=this.codePointAtPos(t);return this.chStartsBindingPattern(r)||this.chStartsBindingIdentifier(r,t)}hasInLineFollowingBindingIdentifierOrBrace(){let t=this.nextTokenInLineStart(),r=this.codePointAtPos(t);return r===123||this.chStartsBindingIdentifier(r,t)}startsUsingForOf(){let{type:t,containsEsc:r}=this.lookahead();if(t===102&&!r)return!1;if(fl(t)&&!this.hasFollowingLineBreak())return this.expectPlugin("explicitResourceManagement"),!0}startsAwaitUsing(){let t=this.nextTokenInLineStart();if(this.isUnparsedContextual(t,"using")){t=this.nextTokenInLineStartSince(t+5);let r=this.codePointAtPos(t);if(this.chStartsBindingIdentifier(r,t))return this.expectPlugin("explicitResourceManagement"),!0}return!1}parseModuleItem(){return this.parseStatementLike(15)}parseStatementListItem(){return this.parseStatementLike(6|(!this.options.annexB||this.state.strict?0:8))}parseStatementOrSloppyAnnexBFunctionDeclaration(t=!1){let r=0;return this.options.annexB&&!this.state.strict&&(r|=4,t&&(r|=8)),this.parseStatementLike(r)}parseStatement(){return this.parseStatementLike(0)}parseStatementLike(t){let r=null;return this.match(26)&&(r=this.parseDecorators(!0)),this.parseStatementContent(t,r)}parseStatementContent(t,r){let n=this.state.type,i=this.startNode(),s=!!(t&2),R=!!(t&4),l=t&1;switch(n){case 60:return this.parseBreakContinueStatement(i,!0);case 63:return this.parseBreakContinueStatement(i,!1);case 64:return this.parseDebuggerStatement(i);case 90:return this.parseDoWhileStatement(i);case 91:return this.parseForStatement(i);case 68:if(this.lookaheadCharCode()===46)break;return R||this.raise(this.state.strict?Hr.StrictFunction:this.options.annexB?Hr.SloppyFunctionAnnexB:Hr.SloppyFunction,this.state.startLoc),this.parseFunctionStatement(i,!1,!s&&R);case 80:return s||this.unexpected(),this.parseClass(this.maybeTakeDecorators(r,i),!0);case 69:return this.parseIfStatement(i);case 70:return this.parseReturnStatement(i);case 71:return this.parseSwitchStatement(i);case 72:return this.parseThrowStatement(i);case 73:return this.parseTryStatement(i);case 96:if(!this.state.containsEsc&&this.startsAwaitUsing())return this.recordAwaitIfAllowed()?s||this.raise(Hr.UnexpectedLexicalDeclaration,i):this.raise(Hr.AwaitUsingNotInAsyncContext,i),this.next(),this.parseVarStatement(i,"await using");break;case 107:if(this.state.containsEsc||!this.hasInLineFollowingBindingIdentifierOrBrace())break;return this.expectPlugin("explicitResourceManagement"),!this.scope.inModule&&this.scope.inTopLevel?this.raise(Hr.UnexpectedUsingDeclaration,this.state.startLoc):s||this.raise(Hr.UnexpectedLexicalDeclaration,this.state.startLoc),this.parseVarStatement(i,"using");case 100:{if(this.state.containsEsc)break;let _=this.nextTokenStart(),f=this.codePointAtPos(_);if(f!==91&&(!s&&this.hasFollowingLineBreak()||!this.chStartsBindingIdentifier(f,_)&&f!==123))break}case 75:s||this.raise(Hr.UnexpectedLexicalDeclaration,this.state.startLoc);case 74:{let _=this.state.value;return this.parseVarStatement(i,_)}case 92:return this.parseWhileStatement(i);case 76:return this.parseWithStatement(i);case 5:return this.parseBlock();case 13:return this.parseEmptyStatement(i);case 83:{let _=this.lookaheadCharCode();if(_===40||_===46)break}case 82:{!this.options.allowImportExportEverywhere&&!l&&this.raise(Hr.UnexpectedImportExport,this.state.startLoc),this.next();let _;return n===83?(_=this.parseImport(i),_.type==="ImportDeclaration"&&(!_.importKind||_.importKind==="value")&&(this.sawUnambiguousESM=!0)):(_=this.parseExport(i,r),(_.type==="ExportNamedDeclaration"&&(!_.exportKind||_.exportKind==="value")||_.type==="ExportAllDeclaration"&&(!_.exportKind||_.exportKind==="value")||_.type==="ExportDefaultDeclaration")&&(this.sawUnambiguousESM=!0)),this.assertModuleNodeAllowed(_),_}default:if(this.isAsyncFunction())return s||this.raise(Hr.AsyncFunctionInSingleStatementContext,this.state.startLoc),this.next(),this.parseFunctionStatement(i,!0,!s&&R)}let c=this.state.value,h=this.parseExpression();return fl(n)&&h.type==="Identifier"&&this.eat(14)?this.parseLabeledStatement(i,c,h,t):this.parseExpressionStatement(i,h,r)}assertModuleNodeAllowed(t){!this.options.allowImportExportEverywhere&&!this.inModule&&this.raise(Hr.ImportOutsideModule,t)}decoratorsEnabledBeforeExport(){return this.hasPlugin("decorators-legacy")?!0:this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")!==!1}maybeTakeDecorators(t,r,n){return t&&(r.decorators&&r.decorators.length>0?(typeof this.getPluginOption("decorators","decoratorsBeforeExport")!="boolean"&&this.raise(Hr.DecoratorsBeforeAfterExport,r.decorators[0]),r.decorators.unshift(...t)):r.decorators=t,this.resetStartLocationFromNode(r,t[0]),n&&this.resetStartLocationFromNode(n,r)),r}canHaveLeadingDecorator(){return this.match(80)}parseDecorators(t){let r=[];do r.push(this.parseDecorator());while(this.match(26));if(this.match(82))t||this.unexpected(),this.decoratorsEnabledBeforeExport()||this.raise(Hr.DecoratorExportClass,this.state.startLoc);else if(!this.canHaveLeadingDecorator())throw this.raise(Hr.UnexpectedLeadingDecorator,this.state.startLoc);return r}parseDecorator(){this.expectOnePlugin(["decorators","decorators-legacy"]);let t=this.startNode();if(this.next(),this.hasPlugin("decorators")){let r=this.state.startLoc,n;if(this.match(10)){let i=this.state.startLoc;this.next(),n=this.parseExpression(),this.expect(11),n=this.wrapParenthesis(i,n);let s=this.state.startLoc;t.expression=this.parseMaybeDecoratorArguments(n),this.getPluginOption("decorators","allowCallParenthesized")===!1&&t.expression!==n&&this.raise(Hr.DecoratorArgumentsOutsideParentheses,s)}else{for(n=this.parseIdentifier(!1);this.eat(16);){let i=this.startNodeAt(r);i.object=n,this.match(139)?(this.classScope.usePrivateName(this.state.value,this.state.startLoc),i.property=this.parsePrivateName()):i.property=this.parseIdentifier(!0),i.computed=!1,n=this.finishNode(i,"MemberExpression")}t.expression=this.parseMaybeDecoratorArguments(n)}}else t.expression=this.parseExprSubscripts();return this.finishNode(t,"Decorator")}parseMaybeDecoratorArguments(t){if(this.eat(10)){let r=this.startNodeAtNode(t);return r.callee=t,r.arguments=this.parseCallExpressionArguments(11),this.toReferencedList(r.arguments),this.finishNode(r,"CallExpression")}return t}parseBreakContinueStatement(t,r){return this.next(),this.isLineTerminator()?t.label=null:(t.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(t,r),this.finishNode(t,r?"BreakStatement":"ContinueStatement")}verifyBreakContinue(t,r){let n;for(n=0;nthis.parseStatement()),this.state.labels.pop(),this.expect(92),t.test=this.parseHeaderExpression(),this.eat(13),this.finishNode(t,"DoWhileStatement")}parseForStatement(t){this.next(),this.state.labels.push(b2t);let r=null;if(this.isContextual(96)&&this.recordAwaitIfAllowed()&&(r=this.state.startLoc,this.next()),this.scope.enter(0),this.expect(10),this.match(13))return r!==null&&this.unexpected(r),this.parseFor(t,null);let n=this.isContextual(100);{let c=this.isContextual(96)&&this.startsAwaitUsing(),h=c||this.isContextual(107)&&this.startsUsingForOf(),_=n&&this.hasFollowingBindingAtom()||h;if(this.match(74)||this.match(75)||_){let f=this.startNode(),m;c?(m="await using",this.recordAwaitIfAllowed()||this.raise(Hr.AwaitUsingNotInAsyncContext,this.state.startLoc),this.next()):m=this.state.value,this.next(),this.parseVar(f,!0,m);let x=this.finishNode(f,"VariableDeclaration"),y=this.match(58);return y&&h&&this.raise(Hr.ForInUsing,x),(y||this.isContextual(102))&&x.declarations.length===1?this.parseForIn(t,x,r):(r!==null&&this.unexpected(r),this.parseFor(t,x))}}let i=this.isContextual(95),s=new Tne,R=this.parseExpression(!0,s),l=this.isContextual(102);if(l&&(n&&this.raise(Hr.ForOfLet,R),r===null&&i&&R.type==="Identifier"&&this.raise(Hr.ForOfAsync,R)),l||this.match(58)){this.checkDestructuringPrivate(s),this.toAssignable(R,!0);let c=l?"ForOfStatement":"ForInStatement";return this.checkLVal(R,{type:c}),this.parseForIn(t,R,r)}else this.checkExpressionErrors(s,!0);return r!==null&&this.unexpected(r),this.parseFor(t,R)}parseFunctionStatement(t,r,n){return this.next(),this.parseFunction(t,1|(n?2:0)|(r?8:0))}parseIfStatement(t){return this.next(),t.test=this.parseHeaderExpression(),t.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration(),t.alternate=this.eat(66)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null,this.finishNode(t,"IfStatement")}parseReturnStatement(t){return!this.prodParam.hasReturn&&!this.options.allowReturnOutsideFunction&&this.raise(Hr.IllegalReturn,this.state.startLoc),this.next(),this.isLineTerminator()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")}parseSwitchStatement(t){this.next(),t.discriminant=this.parseHeaderExpression();let r=t.cases=[];this.expect(5),this.state.labels.push(mDr),this.scope.enter(0);let n;for(let i;!this.match(8);)if(this.match(61)||this.match(65)){let s=this.match(61);n&&this.finishNode(n,"SwitchCase"),r.push(n=this.startNode()),n.consequent=[],this.next(),s?n.test=this.parseExpression():(i&&this.raise(Hr.MultipleDefaultsInSwitch,this.state.lastTokStartLoc),i=!0,n.test=null),this.expect(14)}else n?n.consequent.push(this.parseStatementListItem()):this.unexpected();return this.scope.exit(),n&&this.finishNode(n,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(t,"SwitchStatement")}parseThrowStatement(t){return this.next(),this.hasPrecedingLineBreak()&&this.raise(Hr.NewlineAfterThrow,this.state.lastTokEndLoc),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")}parseCatchClauseParam(){let t=this.parseBindingAtom();return this.scope.enter(this.options.annexB&&t.type==="Identifier"?8:0),this.checkLVal(t,{type:"CatchClause"},9),t}parseTryStatement(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.match(62)){let r=this.startNode();this.next(),this.match(10)?(this.expect(10),r.param=this.parseCatchClauseParam(),this.expect(11)):(r.param=null,this.scope.enter(0)),r.body=this.withSmartMixTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),t.handler=this.finishNode(r,"CatchClause")}return t.finalizer=this.eat(67)?this.parseBlock():null,!t.handler&&!t.finalizer&&this.raise(Hr.NoCatchOrFinally,t),this.finishNode(t,"TryStatement")}parseVarStatement(t,r,n=!1){return this.next(),this.parseVar(t,!1,r,n),this.semicolon(),this.finishNode(t,"VariableDeclaration")}parseWhileStatement(t){return this.next(),t.test=this.parseHeaderExpression(),this.state.labels.push(b2t),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.state.labels.pop(),this.finishNode(t,"WhileStatement")}parseWithStatement(t){return this.state.strict&&this.raise(Hr.StrictWith,this.state.startLoc),this.next(),t.object=this.parseHeaderExpression(),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.finishNode(t,"WithStatement")}parseEmptyStatement(t){return this.next(),this.finishNode(t,"EmptyStatement")}parseLabeledStatement(t,r,n,i){for(let R of this.state.labels)R.name===r&&this.raise(Hr.LabelRedeclaration,n,{labelName:r});let s=Cvr(this.state.type)?1:this.match(71)?2:null;for(let R=this.state.labels.length-1;R>=0;R--){let l=this.state.labels[R];if(l.statementStart===t.start)l.statementStart=this.sourceToOffsetPos(this.state.start),l.kind=s;else break}return this.state.labels.push({name:r,kind:s,statementStart:this.sourceToOffsetPos(this.state.start)}),t.body=i&8?this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0):this.parseStatement(),this.state.labels.pop(),t.label=n,this.finishNode(t,"LabeledStatement")}parseExpressionStatement(t,r,n){return t.expression=r,this.semicolon(),this.finishNode(t,"ExpressionStatement")}parseBlock(t=!1,r=!0,n){let i=this.startNode();return t&&this.state.strictErrors.clear(),this.expect(5),r&&this.scope.enter(0),this.parseBlockBody(i,t,!1,8,n),r&&this.scope.exit(),this.finishNode(i,"BlockStatement")}isValidDirective(t){return t.type==="ExpressionStatement"&&t.expression.type==="StringLiteral"&&!t.expression.extra.parenthesized}parseBlockBody(t,r,n,i,s){let R=t.body=[],l=t.directives=[];this.parseBlockOrModuleBlockBody(R,r?l:void 0,n,i,s)}parseBlockOrModuleBlockBody(t,r,n,i,s){let R=this.state.strict,l=!1,c=!1;for(;!this.match(i);){let h=n?this.parseModuleItem():this.parseStatementListItem();if(r&&!c){if(this.isValidDirective(h)){let _=this.stmtToDirective(h);r.push(_),!l&&_.value.value==="use strict"&&(l=!0,this.setStrict(!0));continue}c=!0,this.state.strictErrors.clear()}t.push(h)}s?.call(this,l),R||this.setStrict(!1),this.next()}parseFor(t,r){return t.init=r,this.semicolon(!1),t.test=this.match(13)?null:this.parseExpression(),this.semicolon(!1),t.update=this.match(11)?null:this.parseExpression(),this.expect(11),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,"ForStatement")}parseForIn(t,r,n){let i=this.match(58);return this.next(),i?n!==null&&this.unexpected(n):t.await=n!==null,r.type==="VariableDeclaration"&&r.declarations[0].init!=null&&(!i||!this.options.annexB||this.state.strict||r.kind!=="var"||r.declarations[0].id.type!=="Identifier")&&this.raise(Hr.ForInOfLoopInitializer,r,{type:i?"ForInStatement":"ForOfStatement"}),r.type==="AssignmentPattern"&&this.raise(Hr.InvalidLhs,r,{ancestor:{type:"ForStatement"}}),t.left=r,t.right=i?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(11),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,i?"ForInStatement":"ForOfStatement")}parseVar(t,r,n,i=!1){let s=t.declarations=[];for(t.kind=n;;){let R=this.startNode();if(this.parseVarId(R,n),R.init=this.eat(29)?r?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():null,R.init===null&&!i&&(R.id.type!=="Identifier"&&!(r&&(this.match(58)||this.isContextual(102)))?this.raise(Hr.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:"destructuring"}):(n==="const"||n==="using"||n==="await using")&&!(this.match(58)||this.isContextual(102))&&this.raise(Hr.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:n})),s.push(this.finishNode(R,"VariableDeclarator")),!this.eat(12))break}return t}parseVarId(t,r){let n=this.parseBindingAtom();(r==="using"||r==="await using")&&(n.type==="ArrayPattern"||n.type==="ObjectPattern")&&this.raise(Hr.UsingDeclarationHasBindingPattern,n.loc.start),this.checkLVal(n,{type:"VariableDeclarator"},r==="var"?5:8201),t.id=n}parseAsyncFunctionExpression(t){return this.parseFunction(t,8)}parseFunction(t,r=0){let n=r&2,i=!!(r&1),s=i&&!(r&4),R=!!(r&8);this.initFunction(t,R),this.match(55)&&(n&&this.raise(Hr.GeneratorInSingleStatementContext,this.state.startLoc),this.next(),t.generator=!0),i&&(t.id=this.parseFunctionId(s));let l=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(Xke(R,t.generator)),i||(t.id=this.parseFunctionId()),this.parseFunctionParams(t,!1),this.withSmartMixTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(t,i?"FunctionDeclaration":"FunctionExpression")}),this.prodParam.exit(),this.scope.exit(),i&&!n&&this.registerFunctionStatementId(t),this.state.maybeInArrowParameters=l,t}parseFunctionId(t){return t||fl(this.state.type)?this.parseIdentifier():null}parseFunctionParams(t,r){this.expect(10),this.expressionScope.enter(Kvr()),t.params=this.parseBindingList(11,41,2|(r?4:0)),this.expressionScope.exit()}registerFunctionStatementId(t){t.id&&this.scope.declareName(t.id.name,!this.options.annexB||this.state.strict||t.generator||t.async?this.scope.treatFunctionsAsVar?5:8201:17,t.id.loc.start)}parseClass(t,r,n){this.next();let i=this.state.strict;return this.state.strict=!0,this.parseClassId(t,r,n),this.parseClassSuper(t),t.body=this.parseClassBody(!!t.superClass,i),this.finishNode(t,r?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(29)||this.match(13)||this.match(8)}isClassMethod(){return this.match(10)}nameIsConstructor(t){return t.type==="Identifier"&&t.name==="constructor"||t.type==="StringLiteral"&&t.value==="constructor"}isNonstaticConstructor(t){return!t.computed&&!t.static&&this.nameIsConstructor(t.key)}parseClassBody(t,r){this.classScope.enter();let n={hadConstructor:!1,hadSuperClass:t},i=[],s=this.startNode();if(s.body=[],this.expect(5),this.withSmartMixTopicForbiddingContext(()=>{for(;!this.match(8);){if(this.eat(13)){if(i.length>0)throw this.raise(Hr.DecoratorSemicolon,this.state.lastTokEndLoc);continue}if(this.match(26)){i.push(this.parseDecorator());continue}let R=this.startNode();i.length&&(R.decorators=i,this.resetStartLocationFromNode(R,i[0]),i=[]),this.parseClassMember(s,R,n),R.kind==="constructor"&&R.decorators&&R.decorators.length>0&&this.raise(Hr.DecoratorConstructor,R)}}),this.state.strict=r,this.next(),i.length)throw this.raise(Hr.TrailingDecorator,this.state.startLoc);return this.classScope.exit(),this.finishNode(s,"ClassBody")}parseClassMemberFromModifier(t,r){let n=this.parseIdentifier(!0);if(this.isClassMethod()){let i=r;return i.kind="method",i.computed=!1,i.key=n,i.static=!1,this.pushClassMethod(t,i,!1,!1,!1,!1),!0}else if(this.isClassProperty()){let i=r;return i.computed=!1,i.key=n,i.static=!1,t.body.push(this.parseClassProperty(i)),!0}return this.resetPreviousNodeTrailingComments(n),!1}parseClassMember(t,r,n){let i=this.isContextual(106);if(i){if(this.parseClassMemberFromModifier(t,r))return;if(this.eat(5)){this.parseClassStaticBlock(t,r);return}}this.parseClassMemberWithIsStatic(t,r,n,i)}parseClassMemberWithIsStatic(t,r,n,i){let s=r,R=r,l=r,c=r,h=r,_=s,f=s;if(r.static=i,this.parsePropertyNamePrefixOperator(r),this.eat(55)){_.kind="method";let S=this.match(139);if(this.parseClassElementName(_),S){this.pushClassPrivateMethod(t,R,!0,!1);return}this.isNonstaticConstructor(s)&&this.raise(Hr.ConstructorIsGenerator,s.key),this.pushClassMethod(t,s,!0,!1,!1,!1);return}let m=!this.state.containsEsc&&fl(this.state.type),x=this.parseClassElementName(r),y=m?x.name:null,A=this.isPrivateName(x),D=this.state.startLoc;if(this.parsePostMemberNameModifiers(f),this.isClassMethod()){if(_.kind="method",A){this.pushClassPrivateMethod(t,R,!1,!1);return}let S=this.isNonstaticConstructor(s),P=!1;S&&(s.kind="constructor",n.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(Hr.DuplicateConstructor,x),S&&this.hasPlugin("typescript")&&r.override&&this.raise(Hr.OverrideOnConstructor,x),n.hadConstructor=!0,P=n.hadSuperClass),this.pushClassMethod(t,s,!1,!1,S,P)}else if(this.isClassProperty())A?this.pushClassPrivateProperty(t,c):this.pushClassProperty(t,l);else if(y==="async"&&!this.isLineTerminator()){this.resetPreviousNodeTrailingComments(x);let S=this.eat(55);f.optional&&this.unexpected(D),_.kind="method";let P=this.match(139);this.parseClassElementName(_),this.parsePostMemberNameModifiers(f),P?this.pushClassPrivateMethod(t,R,S,!0):(this.isNonstaticConstructor(s)&&this.raise(Hr.ConstructorIsAsync,s.key),this.pushClassMethod(t,s,S,!0,!1,!1))}else if((y==="get"||y==="set")&&!(this.match(55)&&this.isLineTerminator())){this.resetPreviousNodeTrailingComments(x),_.kind=y;let S=this.match(139);this.parseClassElementName(s),S?this.pushClassPrivateMethod(t,R,!1,!1):(this.isNonstaticConstructor(s)&&this.raise(Hr.ConstructorIsAccessor,s.key),this.pushClassMethod(t,s,!1,!1,!1,!1)),this.checkGetterSetterParams(s)}else if(y==="accessor"&&!this.isLineTerminator()){this.expectPlugin("decoratorAutoAccessors"),this.resetPreviousNodeTrailingComments(x);let S=this.match(139);this.parseClassElementName(l),this.pushClassAccessorProperty(t,h,S)}else this.isLineTerminator()?A?this.pushClassPrivateProperty(t,c):this.pushClassProperty(t,l):this.unexpected()}parseClassElementName(t){let{type:r,value:n}=this.state;if((r===132||r===134)&&t.static&&n==="prototype"&&this.raise(Hr.StaticPrototype,this.state.startLoc),r===139){n==="constructor"&&this.raise(Hr.ConstructorClassPrivateField,this.state.startLoc);let i=this.parsePrivateName();return t.key=i,i}return this.parsePropertyName(t),t.key}parseClassStaticBlock(t,r){var n;this.scope.enter(208);let i=this.state.labels;this.state.labels=[],this.prodParam.enter(0);let s=r.body=[];this.parseBlockOrModuleBlockBody(s,void 0,!1,8),this.prodParam.exit(),this.scope.exit(),this.state.labels=i,t.body.push(this.finishNode(r,"StaticBlock")),(n=r.decorators)!=null&&n.length&&this.raise(Hr.DecoratorStaticBlock,r)}pushClassProperty(t,r){!r.computed&&this.nameIsConstructor(r.key)&&this.raise(Hr.ConstructorClassField,r.key),t.body.push(this.parseClassProperty(r))}pushClassPrivateProperty(t,r){let n=this.parseClassPrivateProperty(r);t.body.push(n),this.classScope.declarePrivateName(this.getPrivateNameSV(n.key),0,n.key.loc.start)}pushClassAccessorProperty(t,r,n){!n&&!r.computed&&this.nameIsConstructor(r.key)&&this.raise(Hr.ConstructorClassField,r.key);let i=this.parseClassAccessorProperty(r);t.body.push(i),n&&this.classScope.declarePrivateName(this.getPrivateNameSV(i.key),0,i.key.loc.start)}pushClassMethod(t,r,n,i,s,R){t.body.push(this.parseMethod(r,n,i,s,R,"ClassMethod",!0))}pushClassPrivateMethod(t,r,n,i){let s=this.parseMethod(r,n,i,!1,!1,"ClassPrivateMethod",!0);t.body.push(s);let R=s.kind==="get"?s.static?6:2:s.kind==="set"?s.static?5:1:0;this.declareClassPrivateMethodInScope(s,R)}declareClassPrivateMethodInScope(t,r){this.classScope.declarePrivateName(this.getPrivateNameSV(t.key),r,t.key.loc.start)}parsePostMemberNameModifiers(t){}parseClassPrivateProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassPrivateProperty")}parseClassProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassProperty")}parseClassAccessorProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassAccessorProperty")}parseInitializer(t){this.scope.enter(80),this.expressionScope.enter(JMt()),this.prodParam.enter(0),t.value=this.eat(29)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(t,r,n,i=8331){if(fl(this.state.type))t.id=this.parseIdentifier(),r&&this.declareNameFromIdentifier(t.id,i);else if(n||!r)t.id=null;else throw this.raise(Hr.MissingClassName,this.state.startLoc)}parseClassSuper(t){t.superClass=this.eat(81)?this.parseExprSubscripts():null}parseExport(t,r){let n=this.parseMaybeImportPhase(t,!0),i=this.maybeParseExportDefaultSpecifier(t,n),s=!i||this.eat(12),R=s&&this.eatExportStar(t),l=R&&this.maybeParseExportNamespaceSpecifier(t),c=s&&(!l||this.eat(12)),h=i||R;if(R&&!l){if(i&&this.unexpected(),r)throw this.raise(Hr.UnsupportedDecoratorExport,t);return this.parseExportFrom(t,!0),this.finishNode(t,"ExportAllDeclaration")}let _=this.maybeParseExportNamedSpecifiers(t);i&&s&&!R&&!_&&this.unexpected(null,5),l&&c&&this.unexpected(null,98);let f;if(h||_){if(f=!1,r)throw this.raise(Hr.UnsupportedDecoratorExport,t);this.parseExportFrom(t,h)}else f=this.maybeParseExportDeclaration(t);if(h||_||f){var m;let x=t;if(this.checkExport(x,!0,!1,!!x.source),((m=x.declaration)==null?void 0:m.type)==="ClassDeclaration")this.maybeTakeDecorators(r,x.declaration,x);else if(r)throw this.raise(Hr.UnsupportedDecoratorExport,t);return this.finishNode(x,"ExportNamedDeclaration")}if(this.eat(65)){let x=t,y=this.parseExportDefaultExpression();if(x.declaration=y,y.type==="ClassDeclaration")this.maybeTakeDecorators(r,y,x);else if(r)throw this.raise(Hr.UnsupportedDecoratorExport,t);return this.checkExport(x,!0,!0),this.finishNode(x,"ExportDefaultDeclaration")}this.unexpected(null,5)}eatExportStar(t){return this.eat(55)}maybeParseExportDefaultSpecifier(t,r){if(r||this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom",r?.loc.start);let n=r||this.parseIdentifier(!0),i=this.startNodeAtNode(n);return i.exported=n,t.specifiers=[this.finishNode(i,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(t){if(this.isContextual(93)){var r,n;(n=(r=t).specifiers)!=null||(r.specifiers=[]);let i=this.startNodeAt(this.state.lastTokStartLoc);return this.next(),i.exported=this.parseModuleExportName(),t.specifiers.push(this.finishNode(i,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(t){if(this.match(5)){let r=t;r.specifiers||(r.specifiers=[]);let n=r.exportKind==="type";return r.specifiers.push(...this.parseExportSpecifiers(n)),r.source=null,r.declaration=null,this.hasPlugin("importAssertions")&&(r.assertions=[]),!0}return!1}maybeParseExportDeclaration(t){return this.shouldParseExportDeclaration()?(t.specifiers=[],t.source=null,this.hasPlugin("importAssertions")&&(t.assertions=[]),t.declaration=this.parseExportDeclaration(t),!0):!1}isAsyncFunction(){if(!this.isContextual(95))return!1;let t=this.nextTokenInLineStart();return this.isUnparsedContextual(t,"function")}parseExportDefaultExpression(){let t=this.startNode();if(this.match(68))return this.next(),this.parseFunction(t,5);if(this.isAsyncFunction())return this.next(),this.next(),this.parseFunction(t,13);if(this.match(80))return this.parseClass(t,!0,!0);if(this.match(26))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")===!0&&this.raise(Hr.DecoratorBeforeExport,this.state.startLoc),this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1),this.startNode()),!0,!0);if(this.match(75)||this.match(74)||this.isLet())throw this.raise(Hr.UnsupportedDefaultExport,this.state.startLoc);let r=this.parseMaybeAssignAllowIn();return this.semicolon(),r}parseExportDeclaration(t){return this.match(80)?this.parseClass(this.startNode(),!0,!1):this.parseStatementListItem()}isExportDefaultSpecifier(){let{type:t}=this.state;if(fl(t)){if(t===95&&!this.state.containsEsc||t===100)return!1;if((t===130||t===129)&&!this.state.containsEsc){let{type:i}=this.lookahead();if(fl(i)&&i!==98||i===5)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(65))return!1;let r=this.nextTokenStart(),n=this.isUnparsedContextual(r,"from");if(this.input.charCodeAt(r)===44||fl(this.state.type)&&n)return!0;if(this.match(65)&&n){let i=this.input.charCodeAt(this.nextTokenStartSince(r+4));return i===34||i===39}return!1}parseExportFrom(t,r){this.eatContextual(98)?(t.source=this.parseImportSource(),this.checkExport(t),this.maybeParseImportAttributes(t),this.checkJSONModuleImport(t)):r&&this.unexpected(),this.semicolon()}shouldParseExportDeclaration(){let{type:t}=this.state;return t===26&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))?(this.getPluginOption("decorators","decoratorsBeforeExport")===!0&&this.raise(Hr.DecoratorBeforeExport,this.state.startLoc),!0):this.isContextual(107)?(this.raise(Hr.UsingDeclarationExport,this.state.startLoc),!0):this.isContextual(96)&&this.startsAwaitUsing()?(this.raise(Hr.UsingDeclarationExport,this.state.startLoc),!0):t===74||t===75||t===68||t===80||this.isLet()||this.isAsyncFunction()}checkExport(t,r,n,i){if(r){var s;if(n){if(this.checkDuplicateExports(t,"default"),this.hasPlugin("exportDefaultFrom")){var R;let l=t.declaration;l.type==="Identifier"&&l.name==="from"&&l.end-l.start===4&&!((R=l.extra)!=null&&R.parenthesized)&&this.raise(Hr.ExportDefaultFromAsIdentifier,l)}}else if((s=t.specifiers)!=null&&s.length)for(let l of t.specifiers){let{exported:c}=l,h=c.type==="Identifier"?c.name:c.value;if(this.checkDuplicateExports(l,h),!i&&l.local){let{local:_}=l;_.type!=="Identifier"?this.raise(Hr.ExportBindingIsString,l,{localName:_.value,exportName:h}):(this.checkReservedWord(_.name,_.loc.start,!0,!1),this.scope.checkLocalExport(_))}}else if(t.declaration){let l=t.declaration;if(l.type==="FunctionDeclaration"||l.type==="ClassDeclaration"){let{id:c}=l;if(!c)throw new Error("Assertion failure");this.checkDuplicateExports(t,c.name)}else if(l.type==="VariableDeclaration")for(let c of l.declarations)this.checkDeclaration(c.id)}}}checkDeclaration(t){if(t.type==="Identifier")this.checkDuplicateExports(t,t.name);else if(t.type==="ObjectPattern")for(let r of t.properties)this.checkDeclaration(r);else if(t.type==="ArrayPattern")for(let r of t.elements)r&&this.checkDeclaration(r);else t.type==="ObjectProperty"?this.checkDeclaration(t.value):t.type==="RestElement"?this.checkDeclaration(t.argument):t.type==="AssignmentPattern"&&this.checkDeclaration(t.left)}checkDuplicateExports(t,r){this.exportedIdentifiers.has(r)&&(r==="default"?this.raise(Hr.DuplicateDefaultExport,t):this.raise(Hr.DuplicateExport,t,{exportName:r})),this.exportedIdentifiers.add(r)}parseExportSpecifiers(t){let r=[],n=!0;for(this.expect(5);!this.eat(8);){if(n)n=!1;else if(this.expect(12),this.eat(8))break;let i=this.isContextual(130),s=this.match(134),R=this.startNode();R.local=this.parseModuleExportName(),r.push(this.parseExportSpecifier(R,s,t,i))}return r}parseExportSpecifier(t,r,n,i){return this.eatContextual(93)?t.exported=this.parseModuleExportName():r?t.exported=Jvr(t.local):t.exported||(t.exported=UN(t.local)),this.finishNode(t,"ExportSpecifier")}parseModuleExportName(){if(this.match(134)){let t=this.parseStringLiteral(this.state.value),r=kDr.exec(t.value);return r&&this.raise(Hr.ModuleExportNameHasLoneSurrogate,t,{surrogateCharCode:r[0].charCodeAt(0)}),t}return this.parseIdentifier(!0)}isJSONModuleImport(t){return t.assertions!=null?t.assertions.some(({key:r,value:n})=>n.value==="json"&&(r.type==="Identifier"?r.name==="type":r.value==="type")):!1}checkImportReflection(t){let{specifiers:r}=t,n=r.length===1?r[0].type:null;if(t.phase==="source")n!=="ImportDefaultSpecifier"&&this.raise(Hr.SourcePhaseImportRequiresDefault,r[0].loc.start);else if(t.phase==="defer")n!=="ImportNamespaceSpecifier"&&this.raise(Hr.DeferImportRequiresNamespace,r[0].loc.start);else if(t.module){var i;n!=="ImportDefaultSpecifier"&&this.raise(Hr.ImportReflectionNotBinding,r[0].loc.start),((i=t.assertions)==null?void 0:i.length)>0&&this.raise(Hr.ImportReflectionHasAssertion,r[0].loc.start)}}checkJSONModuleImport(t){if(this.isJSONModuleImport(t)&&t.type!=="ExportAllDeclaration"){let{specifiers:r}=t;if(r!=null){let n=r.find(i=>{let s;if(i.type==="ExportSpecifier"?s=i.local:i.type==="ImportSpecifier"&&(s=i.imported),s!==void 0)return s.type==="Identifier"?s.name!=="default":s.value!=="default"});n!==void 0&&this.raise(Hr.ImportJSONBindingNotDefault,n.loc.start)}}}isPotentialImportPhase(t){return t?!1:this.isContextual(105)||this.isContextual(97)||this.isContextual(127)}applyImportPhase(t,r,n,i){r||(n==="module"?(this.expectPlugin("importReflection",i),t.module=!0):this.hasPlugin("importReflection")&&(t.module=!1),n==="source"?(this.expectPlugin("sourcePhaseImports",i),t.phase="source"):n==="defer"?(this.expectPlugin("deferredImportEvaluation",i),t.phase="defer"):this.hasPlugin("sourcePhaseImports")&&(t.phase=null))}parseMaybeImportPhase(t,r){if(!this.isPotentialImportPhase(r))return this.applyImportPhase(t,r,null),null;let n=this.parseIdentifier(!0),{type:i}=this.state;return(LE(i)?i!==98||this.lookaheadCharCode()===102:i!==12)?(this.resetPreviousIdentifierLeadingComments(n),this.applyImportPhase(t,r,n.name,n.loc.start),null):(this.applyImportPhase(t,r,null),n)}isPrecedingIdImportPhase(t){let{type:r}=this.state;return fl(r)?r!==98||this.lookaheadCharCode()===102:r!==12}parseImport(t){return this.match(134)?this.parseImportSourceAndAttributes(t):this.parseImportSpecifiersAndAfter(t,this.parseMaybeImportPhase(t,!1))}parseImportSpecifiersAndAfter(t,r){t.specifiers=[];let i=!this.maybeParseDefaultImportSpecifier(t,r)||this.eat(12),s=i&&this.maybeParseStarImportSpecifier(t);return i&&!s&&this.parseNamedImportSpecifiers(t),this.expectContextual(98),this.parseImportSourceAndAttributes(t)}parseImportSourceAndAttributes(t){var r;return(r=t.specifiers)!=null||(t.specifiers=[]),t.source=this.parseImportSource(),this.maybeParseImportAttributes(t),this.checkImportReflection(t),this.checkJSONModuleImport(t),this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.match(134)||this.unexpected(),this.parseExprAtom()}parseImportSpecifierLocal(t,r,n){r.local=this.parseIdentifier(),t.specifiers.push(this.finishImportSpecifier(r,n))}finishImportSpecifier(t,r,n=8201){return this.checkLVal(t.local,{type:r},n),this.finishNode(t,r)}parseImportAttributes(){this.expect(5);let t=[],r=new Set;do{if(this.match(8))break;let n=this.startNode(),i=this.state.value;if(r.has(i)&&this.raise(Hr.ModuleAttributesWithDuplicateKeys,this.state.startLoc,{key:i}),r.add(i),this.match(134)?n.key=this.parseStringLiteral(i):n.key=this.parseIdentifier(!0),this.expect(14),!this.match(134))throw this.raise(Hr.ModuleAttributeInvalidValue,this.state.startLoc);n.value=this.parseStringLiteral(this.state.value),t.push(this.finishNode(n,"ImportAttribute"))}while(this.eat(12));return this.expect(8),t}parseModuleAttributes(){let t=[],r=new Set;do{let n=this.startNode();if(n.key=this.parseIdentifier(!0),n.key.name!=="type"&&this.raise(Hr.ModuleAttributeDifferentFromType,n.key),r.has(n.key.name)&&this.raise(Hr.ModuleAttributesWithDuplicateKeys,n.key,{key:n.key.name}),r.add(n.key.name),this.expect(14),!this.match(134))throw this.raise(Hr.ModuleAttributeInvalidValue,this.state.startLoc);n.value=this.parseStringLiteral(this.state.value),t.push(this.finishNode(n,"ImportAttribute"))}while(this.eat(12));return t}maybeParseImportAttributes(t){let r;var n=!1;if(this.match(76)){if(this.hasPrecedingLineBreak()&&this.lookaheadCharCode()===40)return;this.next(),this.hasPlugin("moduleAttributes")?r=this.parseModuleAttributes():r=this.parseImportAttributes(),n=!0}else this.isContextual(94)&&!this.hasPrecedingLineBreak()?(!this.hasPlugin("deprecatedImportAssert")&&!this.hasPlugin("importAssertions")&&this.raise(Hr.ImportAttributesUseAssert,this.state.startLoc),this.hasPlugin("importAssertions")||this.addExtra(t,"deprecatedAssertSyntax",!0),this.next(),r=this.parseImportAttributes()):r=[];!n&&this.hasPlugin("importAssertions")?t.assertions=r:t.attributes=r}maybeParseDefaultImportSpecifier(t,r){if(r){let n=this.startNodeAtNode(r);return n.local=r,t.specifiers.push(this.finishImportSpecifier(n,"ImportDefaultSpecifier")),!0}else if(LE(this.state.type))return this.parseImportSpecifierLocal(t,this.startNode(),"ImportDefaultSpecifier"),!0;return!1}maybeParseStarImportSpecifier(t){if(this.match(55)){let r=this.startNode();return this.next(),this.expectContextual(93),this.parseImportSpecifierLocal(t,r,"ImportNamespaceSpecifier"),!0}return!1}parseNamedImportSpecifiers(t){let r=!0;for(this.expect(5);!this.eat(8);){if(r)r=!1;else{if(this.eat(14))throw this.raise(Hr.DestructureNamedImport,this.state.startLoc);if(this.expect(12),this.eat(8))break}let n=this.startNode(),i=this.match(134),s=this.isContextual(130);n.imported=this.parseModuleExportName();let R=this.parseImportSpecifier(n,i,t.importKind==="type"||t.importKind==="typeof",s,void 0);t.specifiers.push(R)}}parseImportSpecifier(t,r,n,i,s){if(this.eatContextual(93))t.local=this.parseIdentifier();else{let{imported:R}=t;if(r)throw this.raise(Hr.ImportBindingIsString,t,{importName:R.value});this.checkReservedWord(R.name,t.loc.start,!0,!0),t.local||(t.local=UN(R))}return this.finishImportSpecifier(t,"ImportSpecifier",s)}isThisParam(t){return t.type==="Identifier"&&t.name==="this"}},rye=class extends K2t{constructor(t,r,n){t=xDr(t),super(t,r),this.options=t,this.initializeScopes(),this.plugins=n,this.filename=t.sourceFilename,this.startIndex=t.startIndex}getScopeHandler(){return Npe}parse(){this.enterInitialScopes();let t=this.startNode(),r=this.startNode();return this.nextToken(),t.errors=null,this.parseTopLevel(t,r),t.errors=this.state.errors,t.comments.length=this.state.commentsLen,t}};function qDr(e,t){var r;if(((r=t)==null?void 0:r.sourceType)==="unambiguous"){t=Object.assign({},t);try{t.sourceType="module";let n=Spe(t,e),i=n.parse();if(n.sawUnambiguousESM)return i;if(n.ambiguousScriptDifferentAst)try{return t.sourceType="script",Spe(t,e).parse()}catch{}else i.program.sourceType="script";return i}catch(n){try{return t.sourceType="script",Spe(t,e).parse()}catch{}throw n}}else return Spe(t,e).parse()}function CDr(e,t){let r=Spe(t,e);return r.options.strictMode&&(r.state.strict=!0),r.getExpression()}function ADr(e){let t={};for(let r of Object.keys(e))t[r]=BN(e[r]);return t}var gDr=ADr(mvr);function Spe(e,t){let r=rye,n=new Map;if(e!=null&&e.plugins){for(let i of e.plugins){let s,R;typeof i=="string"?s=i:[s,R]=i,n.has(s)||n.set(s,R||{})}hDr(n),r=bDr(n)}return new r(e,t,n)}var WMt=new Map;function bDr(e){let t=[];for(let i of fDr)e.has(i)&&t.push(i);let r=t.join("|"),n=WMt.get(r);if(!n){n=rye;for(let i of t)n=tWt[i](n);WMt.set(r,n)}return n}Ppe.parse=qDr;Ppe.parseExpression=CDr;Ppe.tokTypes=gDr});var nWt=Le((Fai,rWt)=>{"use strict";var EDr=Bpe(),ODr={sourceType:"module",allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,startLine:1,tokens:!0,plugins:[["flow",{all:!0}],"flowComments","jsx","asyncGenerators","bigInt","classProperties","classPrivateProperties","classPrivateMethods",["decorators",{decoratorsBeforeExport:!1}],"doExpressions","dynamicImport","exportDefaultFrom","exportNamespaceFrom","functionBind","functionSent","importMeta","logicalAssignment","nullishCoalescingOperator","numericSeparator","objectRestSpread","optionalCatchBinding","optionalChaining",["pipelineOperator",{proposal:"minimal"}],"throwExpressions"]};rWt.exports=function(e=ODr){return{parse(t){return EDr.parse(t,e)}}}});var iWt=Le(i7t=>{(function(e){typeof globalThis!="object"&&(this?t():(e.defineProperty(e.prototype,"_T_",{configurable:!0,get:t}),_T_));function t(){var r=this||self;r.globalThis=r,delete e.prototype._T_}})(Object);(function(e){"use strict";var t="loc",r=70416,n=69748,i=163,s=92159,R=43587,l="labeled_statement",c="&=",h="int_of_string",_=110591,f=92909,m=11559,x="regexp",y=43301,A=11703,D=122654,S=255,P="%ni",M=68252,U=232,w=42785,F="declare_variable",H="while",G=66938,ee=70301,fe=124907,me=126515,ve=218,Ae="pattern_identifier",Ue=67643,Ee="export_source",Me=216,gt=64279,xt="Out_of_memory",Nt=113788,lt="comments",at=126624,_t="win32",Ve="object_key_bigint_literal",Dt=185,Ut=123214,pt="constructor",ht=69955,He="import_declaration",jt=68437,zr="Failure",Bn="Unix.Unix_error",an=64255,ri=42539,Zr=110579,bn="export_default_declaration",Zn="jsx_attribute_name",mi=11727,Sn=43002,$i=126500,cs="component_param_pattern",Ti="collect_comments_opt",Wi="match_unary_pattern",Fn="keyof_type",Hi="Invalid binary/octal ",Ma="range",mt=170,ot="false",Je=43798,Ct=", characters ",Pt="object_type_property_getter",Zt=65547,dr=126467,vr=65007,ln="guard",Mn=42237,li=8318,Pi=71215,Ss="object_property_type",Ca="type_alias",Jr=67742,Mr="function_body",An=68111,Ar=120745,nn=71959,On=43880,bi="Match_failure",ji="type_cast",Ta=109,Bi="void",ws="generator",Xo=125124,No=101589,Fa=94179,wc=">>>",D0=70404,_R="optional_indexed_access_type",XR=310,Wr="argument",Aa="object_property",Ce="object_type_property",Oa=67004,$s=42783,hn=68850,ro="@",Ml=43741,_o=43487,Mo="object",ZR="end",RR=126571,IR=71956,nl=208,u1=126566,V_=67702,sT="EEXIST",Nn="this_expression",vi=203,oo=11507,_a=113807,Tn=119893,P0=42735,B0="rest",h0="null_literal",o0="protected",D2=43615,Ru=8231,hR=68149,Qs=73727,S0=72348,Jm=92995,Wl=224,S2=11686,uu=43013,rc="assignment_pattern",il=12329,l1="function_type",f0=192,y0="jsx_element_name",Or=70018,MR="catch_clause_pattern",Ba=126540,Bu="template_literal",al=120654,I0=68497,Iu=67679,oT="readonly_type",Ul=68735,c1="<",RT=": No such file or directory",Fl=66915,M7="!",L1="object_type",uT=43712,Ax=64297,W7=183969,gx=43503,Xm=67591,Ia=65278,lT=67669,$p="for_of_assignment_pattern",Pc="`",cT=11502,z1="catch_body",T1=258,Zm=42191,NT=-744106340,Bc=182,H1=":",Qp="a string",U7=65663,Vd=66978,bx=71947,nc=43519,Ex=71086,$2=125258,ek=12538,Np="expression_or_spread",ql="Printexc.handle_uncaught_exception",Ox=69956,Q2=120122,vx=247,j_=231,N2=" : flags Open_rdonly and Open_wronly are not compatible",Cl="statement_fork_point",ic=710,W4=-692038429,ac="static",vR=55203,F7=64324,Ic=64111,tk="!==",J_=120132,Q=124903,C="class",I=222,j="pattern_number_literal",Te="kind",Be=71903,ct="variable_declarator",zt="typeof_expression",Rr=126627,_r=70084,ei=228,Si=70480,Ji="class_private_field",$a=239,ho=120713,Go=65535,no="private_name",R0=43137,DR="remote_identifier",Ll=70161,zl="label_identifier",wp="src/parser/statement_parser.ml",my=8335,s5=19903,rk=64310,Dx="_",TT="for_init_declaration",Pp="infer",ky=64466,wT=43018,nk="tokens",o5=92735,U4=66954,L7=65473,F4=70285,Y1="sequence",Hl="compare: functional value",L4=69890,z7=1e3,K1=65487,H7=42653,X_="\\\\",jd="%=",Bp="match_member_pattern_base",Ip=72367,G1="function_rest_param",PT="/static/",Z_=124911,V1=65276,Y7=126558,yy=11498,w2=137,eh="export_default_declaration_decl",th="cases",K7=126602,f_="jsx_child",sl="continue",BT=42962,NA="importKind",X0=122,$0="Literal",j1="pattern_object_property_identifier_key",Jd=42508,Xd="in",Sx=55238,qy=67071,R5=70831,Cy=72161,Ay=67462,z4="<<=",G7=43009,sc=66383,$x=67827,ik=72202,gy=69839,rh=66775,Qx="-=",pT=8202,J1=70105,by=120538,Mc="for_in_left_declaration",nh="rendersType",ak=126563,Nx=70708,Ey=126523,Oy=166,vy=202,sk=110951,ih="component",u0=126552,ah=66977,H4=213,IT="enum_member_identifier",Zd=210,uR="enum_bigint_body",oc=">=",Wc=126495,Dy="specifiers",u5=-88,Sy="=",ok=65338,P2="members",d_=309,Rk=123535,Y4=43702,K4=72767,sh="get",wx=126633,uk=126536,$y=94098,V7="types",G4=113663,V4="Internal Error: Found private field in object props",ex="jsx_element",oh=70366,Qy=110959,B2=120655,lk="trailingComments",Mp=24029,j7=-100,te="yield",_e="binding_pattern",je=275,er="typeof_identifier",Br="ENOTEMPTY",In=-104,ti=126468,va=1255,io=120628,ss="pattern_object_property_string_literal_key",Ms=8521,Lo="leadingComments",WR=8204,Yl="@ ",Wp=70319,MT="left",Rc=188,Uc="case",Fc=19967,WT=42622,X1=43492,zs=113770,l0=42774,fR=183,UT=8468,_T="class_implements",FT=126579,Up="string",Rh=211,Mu=-48,Wu=69926,Z1=123213,uc="if_consequent_statement",ep=124927,ck="number",Ny=126546,j4=68119,bg=70726,J4=70750,wA=65489,Eg="SpreadElement",AO="callee",gO=193,Og=70492,PA=71934,BA=164,IA=110580,wy=12320,vg=300,J7="any",Lc="/",ol="type_guard",Z0="body",Au=272,bO=178,tp="pattern",Fp="comment_bounds",EO=297,X7="binding_type_identifier",tx=187,Px="pattern_array_rest_element_pattern",Bx="@])",l5=12543,Dg=11623,Sg="start",OO=67871,p1="interface",rp=8449,MA=67637,c5=42961,T5=120085,p5=126463,WA="alternate",RS=-1053382366,X4=70143,$g="--",Qg=68031,I2="jsx_expression",LT="type_identifier_reference",uh=11647,Z4="proto",lh="identifier",Lp=43696,gu="raw",x_=126529,UA=11564,Py=126557,_5=64911,FA=67592,LA=43493,zA=215,e6=110588,t6=461894857,h5=92927,HA=67861,Ng=119980,r6=43042,By=66965,YA=67391,Tk="computed",Iy="unreachable jsxtext",vO=71167,pk=42559,KA=72966,wg=303,DO=180,GA=197,VA=64319,_k=169,Z7="*",n6=129,hk=66335,f5="meta",d5=43388,i6=94178,zp="optional",Uu="unknown",x5=120121,Pg=123180,m5=8469,jA=68220,Bg="|",k5=43187,Ig=94207,Mg=124895,a6=120513,JA=42527,My=8286,M2=94177,s6="var",ch="component_type_param",Ix=66421,Wg=92991,Ug=68415,rx="comment",zT="match_pattern_array_element",np=244,em="^",XA=173791,SO=136,Fg=42890,ZA="ENOTDIR",y5="??",Lg=43711,zg=66303,fk=113800,e3=42239,Hg=12703,nx="variance_opt",_1="+",Hp=">>>=",Yg="mixed",t3=65613,Kg=73029,Wy=68191,o6="*=",Gg=8487,R6=8477,Yp="toplevel_statement_list",ix="never",q5="do",m_=125,tm=72249,$O="Pervasives.do_at_exit",uS="visit_trailing_comment",W2="jsx_closing_element",hT="jsx_namespaced_name",ax=124908,r3=126651,oe="component_declaration",De=15,nt="interface_type",Et="function_type_return_annotation",lr=64109,Kr=65595,Gn=126560,Qi=110927,fi=65598,si=8488,Ui="`.",Zs=175,lo="package",qs="else",HT=120771,ip=68023,ap="fd ",k_=8238,YT=888960333,Mx=119965,n3=42655,us="match_object_pattern",Zo=11710,Wx=119993,Th="boolean_literal",KT="statement_list",M0="function_param",Rl="match_as_pattern",pn="pattern_object_property_bigint_literal_key",b=69959,z=120485,re=240,de=191456,et="declare_enum",ur=120597,vn=70281,Yi="type_annotation",ls="spread_element",Fu=126544,Kp=120069,h1="key",Ux=43583,lS="out",QO=` +`,Vw="**=",Uy="pattern_object_property_pattern",dk="e",cS=72712,jw="Internal Error: Found object private prop",Jw="ENOENT",TS=-42,xk="jsx_opening_attribute",rm=67646,mk="component_type",y_=64296,NO=43887,Xw="Division_by_zero",oU="EnumDefaultedMember",nm="typeof_member_identifier",kk=43792,im="match_member_pattern_property",Gp="declare_export_declaration_decl",yk=93026,qk="type_annotation_hint",Ck=42887,Vg=43881,pS=43761,wO=8526,_S=287,jg=119,am=43866,hS=72847,Ak=8348,Fr=101,Qn=94026,Yn=72272,Ai="src/parser/flow_lexer.ml",gi=120744,Cs=8191,Hs="implies",eR=255,f1=11711,ul="match_unary_pattern_argument",ll=71235,ph=68116,dR=100,q0="match_expression",GT="enum_body",Fy=1114111,Ly="assignment",u6=71955,Zw=43260,zy="pattern_array_e",l6=126583,xZ="prefix",C5="class_body",Hy="shorthand",eP=171,RU=66256,tP=-97,uU=" =",mZ=94032,lU=42606,cU=71839,rP=120134,nP=55291,TU=92862,pU=43019,_U=126543,PO="function",BO=111355,hU=11389,fU=70753,dU=43249,xU=64829,iP="line",Yy="function_declaration",Ky="undefined",mU="([^/]+)",kZ=110947,kU=70002,yZ="Cygwin",A5="as_expression",c6=12591,aP=64285,sP=2048,yU=73112,oP=126589,qU=225,CU=43259,AU=266,qZ=72817,RP=64318,gU=172,loe=209,g5="match_binding_pattern",_h=" ",hh="import_source",gk="delete",uP="Enum `",bU=126553,lP=67001,Jg="default",Xg=11630,EU=206,T6="enum_bigint_member",p6=67504,cP=67593,TP=113791,OU=69572,_6="typeof_type",b5=212,coe="%i",E5="function_this_param",h6=72329,i3="0x",bk=8239,Zg=75075,CZ=277,Toe=57343,O5="pattern_bigint_literal",f6=12341,AZ=201,IO="hook",MO=": closedir failed",gZ=42959,pP=119970,_P=278,vU=43560,bZ="||=",v5="member_private_name",d6=120570,x6="object_key_identifier",Gy=223,DU="Not_found",poe=230,D5="jsx_element_name_member_expression",fh="string_literal",m6=120596,SU=43807,$U=69687,QU=63743,hP=72192,Vy="member_property",k6=43262,y6="class_declaration",S5="renders*",_oe="%Li",EZ=126578,q6="jsx_attribute",sm=254,q_="empty",dh="label",Ek="object_internal_slot_property_type",jy=120133,fP=43359,U2="predicate",om="??=",OZ=43697,NU=-43,C6="default_opt",$5="the start of a statement",vZ=67826,A6="object_",xh="class_element",Jy=11631,fS=70855,Xy="opaque_type",mh="number_literal",Q5=", ",wU=8319,dS=120004,xS=133,Zy="type_params",kh="pattern_object_rest_property",zc="import",yh=72e3,PU=67413,BU=12343,IU=70080,g6="intersection_type",Al=-36,sp=70005,dP="properties",xP=11679,MU=8483,WU=110587,DZ=43520,N5="computed_key",w5=207,P5="class_identifier",b6="Invalid number ",E6="function_param_pattern",F2=12288,eb=113817,UU=70730,FU=178207,mP=71236,LU=167,B5="object_indexer_property_type",O6=64286,SZ="TypeAnnotation",hoe=220,I5="type_identifier",qh="spread_property",Ch="jsx_attribute_value_expression",v6=126519,kP=70108,mS=126,kS=42999,M5="prototype",a3=" : flags Open_text and Open_binary are not compatible",$Z="**",zU=43823,yP=": Not a directory",D6="render_type",e8=72349,tb="test",WO=43776,HU=92879,YU=11263,QZ=241,NZ=93052,S6="nullable_type",$6=43704,KU=64321,wZ="Property",PZ=72191,BZ=165,qP="instanceof",yS=69247,IZ=302,Rm="name",Fx=126634,CP=8516,AP="typeArguments",gP=71127,Q6="jsx_spread_attribute",N6=66559,GU=44031,VU=43645,d1=8233,x1=71494,jU="opaque",bP=72967,EP=70106,w6="logical",W5="@[%s =@ ",OP="0o",UO=126554,vP=71351,DP=8484,SP=72242,$P=120687,rb=252,qS=183983,CS="%S",Ok="function_this_param_type",t8="decorators",QP=43255,P6="catch_clause",m1="-",L2=67711,MZ=": file descriptor already closed",JU=64311,AS=120539,NP="arguments",wP=73062,PP=173823,XU=42124,ZU=72095,eF=125259,tF=42969,BP=70280,rF=12520,WZ=69749,nF=70066,B6="binary",Ah="for_in_statement",I6=43010,UZ="^=",FZ=126570,M6="for_statement",r8=126584,n8="function_return_annotation",W6=72144,iF=8505,U6="class_expression",F6=120076,aF=69807,sF=40981,oF=-24976191,RF=72768,uF=126550,IP='"',U5="call_type_arg",F5="f",FO="this",s3=126628,lF="===",foe=56320,L5="declare_module_exports",L6=120512,vk=105,z6=119974,cF=71450,TF=71942,pF=195,MP=120629,_F="/=",doe=">>",z5="declare_interface",H5=4096,Y5="pattern_array_rest_element",H6=71338,WP=126520,i8="as_const_expression",K5="Popping lex mode from empty stack",xoe="renders?",LZ=68405,Y6="member",gh="class_extends",z2=12287,o3=126590,UP=66377,R3="async",Lx="pattern_array_element",um=240,LO=69864,nb="readonly",ib=70460,hF=120779,fF=66378,K6="new_",a8=126551,s8="pattern_object_rest_property_pattern",bh="for_statement_init",G6=43595,zZ=293,dF=68296,FP=120712,xF=64217,mF=69295,HZ="||",YZ=";",kF=70461,yF=66939,KZ="collect_comments",GZ=279,V6="generic_type",j6=68295,qF=44002,LP=72162,o8="object_call_property_type",R8=8305,gS=119995,bS="with",u8="class_property",G5="qualification",V5="jsx_attribute_name_namespaced",Eh="if_statement",Oh="typeof_qualified_identifier",j5=238,VZ=65615,jZ=176,op="expression",VT=126559,l8="jsx_attribute_value",vh="<2>",Dh="component_param",c8="Map.bal",ES=132,zP=70412,CF=70440,JZ="<<",AF="finally",gF="v",J5="syntax_opt",Sh="meta_property",J6=12447,bF=67514,HP=12448,T8="object_mapped_type_property",H2="operator",zO="closedir",X5="unary_expression",X6=126588,EF=70851,Z6="export_batch_specifier",lm="renders",OS=226,XZ=73111,ZZ=221,ua="",oa=66927,OF=64967,vF="elements",DF=67640,SF=43754,eq="declare_export_declaration",tq=-26065557,$F=65855,vS="boolean",p8="typeof",Z5=124902,eee=139,tee=65629,ree=224,nee=43123,YP=70449,KP=12735,jT=107,Hc=11719,QF="!=",e9="call_type_args",cm="asserts",_8=-46,u3="namespace",rq="match_pattern",$h="for_of_statement_lhs",h8=126504,GP=69505,VP="for",jP=72703,JP=120127,DS=43471,XP=93047,iee="Undefined_recursive_module",moe=2147483647,t9="template_literal_element",r9="Unexpected ",aee=101631,NF=65497,ZP=68120,f8="import_default_specifier",C_="array",nq="expressions",see=110930,oee=204,n9="while_",Qh="function_rest_param_type",zx=63,l3=77808,Ree="Unexpected token `",d0=114,vo="pattern_object_p",iq=65140,wF=123190,aq="pattern_object_property_number_literal_key",Dk="enum",Sk="conditional_type",Yc=113,JT="array_type",i9="minus",uee=43790,sq="do_while",oq=11567,PF=11694,SS=256,$S=119976,Rq="component_body",fT=111,sx=177976,lee=-56,BF=67644,eB=73439,QS=951901561,tB="?",koe=")",IF=43867,NS=65575,rB=69445,cee="FunctionTypeParam",MF=119996,nB=65019,uq="conditional",lq=11505,Tee=135,pee=71295,WF=12799,UF=67382,cq="type_guard_annotation",Nh="object_key_computed",A_=123,g_="pattern_object_property_key",Tq=119892,FF=67505,LF=66962,pq="with_",_q=43273,hq="interface_declaration",d8="bool",iB=71945,zF="declaration",HF=11519,wS=">",PS=66771,aB="}",YF=8472,_ee=43014,fq="declare_function",C0=127,xR="RestElement",hee=190,fee=8467,dee="module",KF=126522,GF="Sys_blocked_io",a9="jsx_opening_element",wh="object_key_number_literal",s9="|=",yoe="mixins",xee=205,mee=217,VF="if",jF="+=",o9="match_object_pattern_property_key",Ph="match_rest_pattern",Bh="export_named_declaration_specifier",x8="try",BS="_bigarr02",sB=70479,m8="right",k8=245,JF=11718,dq="tuple_labeled_element",R9="TypeParameterInstantiation",kee="mkdir",XF=71999,ZF=870530776,yee="@[",qoe=-908856609,Coe=331416730,qee=11670,eL=66735,tL=43709,oB=43642,RB=67002,rL=69375,xq="function_body_any",mq=119807,Cee="Assert_failure",u9="function_identifier",kq=65479,IS=131,l9="new",Y2="for_of_left_declaration",yq=120084,nL=100343,iL=73030,uB=70452,aL=134,Aee=253,sL=42954,gee=227,c9="jsx_member_expression_object",Ih="class_property_value",qq=120144,oL=66994,HO="set",YO=126498,Cq="tuple_element",Mh="arg_list",Aq=65481,RL=8511,uL=42964,lL=11492,KO=-25,ab=126555,lB=71039,cL="exportKind",gq="program",bq=70187,bee=173,y8="as",Hx=124,MS="visit_leading_comment",Eee=110575,Eq="class_",Oq=72440,TL=67897,Oee=235,vee=8543,Dee=141,T9=120,Wh="match_object_pattern_property",$k=1024,WS=101640,See=1027,Aoe=236,US=246,FS="(",$ee=66511,vq="regexp_literal",Dq=65574,pL=43513,_L=43695,Qee="&&",hL=11558,cB=66503,fL=93071,Sq="pattern_expression",$q=65381,TB=126538,pB=12292,Qq="import_namespace_specifier",Uh="match_statement_case",Nq=67583,dL=120137,xL=69622,mL=120770,kL=71131,sb=8287,ob=110590,yL=65135,qL="Fatal error: exception ",GO=118,VO=181,_B=11687,k1="camlinternalFormat.ml",Rp=72959,CL=249,wq="union_type",p9=8206,Nee=73064,AL=70271,gL=92728,hB=65344,LS=11695,q8="class_decorator",Pq="the end of an expression statement (`;`)",bL=177983,EL=8457,wee=931,Pee=66499,OL=94175,Bee="#",goe=151,Iee="Identifier",Bq="for_in_statement_lhs",Fh="pattern_string_literal",C8=70302,zS=126496,fB=66461,vL=82943,dB=8450,xB=72271,DL=70853,SL="of",Mee="Stack_overflow",mB="hasUnknownMembers",Rb="a",Qk="variable_declarator_pattern",Iq=73061,$L=77711,kB=64317,yB=73097,Mq="enum_declaration",Wq=66966,qB=189,CB=119964,Uq="type_param",Vp=782176664,Tm=65535,QL=-10,Wee=64433,AB=43815,HS=94031,YS=73065,gB=69958,bB="property",A8="jsx_children",Lh="member_property_identifier",Fq=42537,KS="const",GS=70278,Lq="enum_string_member",Nk="local",wk="jsx_element_name_identifier",zq=68223,EB="",OB=119967,vB=119994,DB=66993,Hq="jsx_member_expression_identifier",g8="explicitType",SB=67589,NL=65597,wL="exported",PL=94111,BL=113775,Yq="object_spread_property_type",Kq=64847,Gq="component_identifier",zh="class_implements_interface",_9=162,boe=243,Uee=12783,Fee=`Fatal error: exception %s +`,IL=120093,jO="column",Pk="component_rest_param",Vq=70451,ML=70312,WL=69967,$B=70279,QB=66463,UL=92975,NB=70286,b8="pattern_object_property_computed_key",Hh="object_key_string_literal",jq="jsError",Jq="type_args",Xq=8304,Lee="==",JO=115,K2="declare_component",Zq=120092,FL=43638,LL=66811,zL=43334,HL=66863,YL=77823,zee=143,Yh="optional_call",KL=126562,VS=70162,lc=104,GL=66963,E8="await",jS=70107,lu="0",VL=72250,jL=8507,Eoe=291,JL=100351,JS="AssignmentPattern",Kh="type",Ooe="%u",Gh="function_expression_or_method",XL=43470,voe=242,Doe="camlinternalMod.ml",Vh="match_or_pattern",ZL=72750,ez=69414,tz=65370,jh="syntax",Soe=32752,rz=42963,$oe="End_of_file",nz=12294,iz=8471,Qoe="elementType",az=43782,Noe="++",sz=43641,oz=71944,Rz=126601,uz=78894,lz=-45,O8="null",woe=177,Poe="satisfies",cz=131071,Jh="import_specifier",Xh="class_method",Zh="type_",Tz=126514,pz=8454,Boe="inexact",_z=67807,hz=8525,fz=65470,dz=71352,ef="tuple_spread_element",xz=219,mz="abstract",kz=73458,cc="return",ub=65536,XS=126548,tf="array_element",yz=-253313196,qz=186,ZS="catch",rf="infer_type",Cz=12295,Ioe="Invalid legacy octal ",Az=69762,gz=43311,bz=65437,nf="variable_declaration",Moe=-696510241,af="function_params",Woe=307,Ez=64316,e$=11565,Uoe="infinity",Oz="@]",vz=65908,sf="extends",Dz=66204,Sz=43784,$z=11742,t$=126503,Tc="debugger",Qz=70457,Yx=-86,lb=912068366,Nz=68786,r$="keyof",n$=69415,wz=12686,jp=127343600,of="declare_type_alias",Foe="the",Loe=233,Rf="jsx_element_name_namespaced",Pz=72283,zoe=161,uf="function_param_type",y1=128,Bz=-673950933,i$=126591,Hoe="Sys_error",Iz=74649,Mz=74862,cb="is",Wz=43738,Uz=68479,Yoe=196,a$=70854,lf="enum_boolean_member",cf="match_expression_case",s$=72163,Fz=92783,Koe=281,Tf="component_param_name",Lz=68863,Jp=32768,Goe=2048,zz=64284,Voe="@{",Hz="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",o$=8455,pf="update_expression",Yz=65500,Tb="from",Kz=68447,R$=12592,Gz=92766,joe=">>=",SR=110,Vz=66431,jz=43586,_f="jsx_identifier",Jz=" : file already exists",t0=128,Xz=71958,Zz=66717,hf="enum_boolean_body",eH=64262,Os="id",ff="component_renders_annotation",tH=42888,rH=8584,nH=73008,df="enum_symbol_body",xf="declare_namespace",u$=72713,iH=55215,mf="object_property_value_type",kf="for_in_assignment_pattern",l$=8485,aH=43395,Joe=229,Kx="true",sH=43743,yf="enum_number_member",Xoe=234,oH=72969,Zoe="expected *",gl=102,e0e=200,pb="symbol",v8="source",RH=43714,qf="jsx_fragment",Cf="jsx_attribute_name_identifier",_b="public",uH=43442,Af="pattern_object_property",lH=65786,cH=70783,TH=43713,pH=72160,t0e="*-/",gf="export_named_specifier",bf="arrow_function",_H=122623,c$=70006,r0e="${",hH=43814,Ef="generic_qualified_identifier_type",n0e=199,Of="jsx_spread_child",T$=8489,hb=184,i0e=2047,fH=66955,vf="try_catch",dH=70497,a0e=237,xH=67431,mH=125183,s0e=-602162310,Xp="params",kH="consequent",yH=68029,qH=67829,CH=68095,Df="enum_string_body",AH=93823,gH=68351,bH=65495,Sf="declare_module",$f="body_expression",EH=66175,o0e=191,p$=70441,_$=65141,h$="&",Qf="super_expression",f$=126564,OH=72105,xxe="fs",pc="throw",vH=68287,DH=67839,pm=116,SH=110882,$H=69404,QH=123197,D8=65279,h9="src/parser/type_parser.ml",NH=68115,R0e=259,d$=126547,x$=126556,wH=73055,Nf="member_property_expression",wf="enum_defaulted_member",PH=43071,BH=11726,Pf="component_type_rest_param",IH=68607,Bf="object_key",u0e=160,cu="variance",MH=70655,WH=70414,f9="super",UH=123583,FH=65594,fb="method",LH=73648,db=121,zH=93951,If="pattern_array_element_pattern",HH=43764,YH=42993,m$=120145,KH=74879,GH=168,k$=8486,VH=72001,Mf="tagged_template",Wf="module_ref_literal",jH=65312,S8="implements",JH=43700,XH=120003,l0e="Invalid_argument",Uf=16777215,ZH=83526,y$=69744,q$=12336,Ff="switch_case",c0e=-61,Lf="optional_member",eY=64274,C$=64322,A$=126530,tY=71998,g$=72970,rY=13311,nY=73647,iY=120074,d9="let",zf="expression_statement",Hf="component_type_params",aY=512,sY=69634,oY=67461,RY=123627,uY=64913,T0e="children",p0e="PropertyDefinition",_0e=1026,h0e="%li",Yf="declare_class",lY=43258,Kf="indexed_access_type",f0e=157,cY=124926,Gx=112,TY="b",Gf="predicate_expression",Vf="if_alternate_statement",xb="private",d0e=-594953737,x0e=140,pY="nan",_Y=72103,b$=11735,jf="statement",hY="rmdir",E$=66512,fY="match",m0e=198,dY=11734,Jf="import_named_specifier",xY=69599,mY=68799,kY=194559,Xf="match_array_pattern",k0e=174,Zf="function_",ed="bigint_literal",Ws=248,O$=67638,v$=126539,yY=11557,y0e=214,qY=5760,_c="break",Zp="block",td="match_member_pattern",CY=123565,AY=66815,go="value",q0e=1039100673,gY=69746,bY=70448,EY=74751,rd="init",OY=69551,D$=65548,nd="jsx_member_expression",S$=68096,_m=108,$$=126521,vY=71487,id="match_statement",DY=178205,SY=12548,C0e=" : is a directory",e_=".",$Y=12348,x9=-835925911,Tu="typeParameters",QY=66855,W0="typeAnnotation",$8="bigint",ad="jsx_attribute_value_literal",NY=194,A0e="T_JSX_TEXT",wY=68466,Q$=126537,g0e=67714067,PY=69487,b0e=271,N$="export",BY=43822,w$=126499,IY=55242,sd="member_type_identifier",MY=138,WY=71679,mb=130,UY=12438,FY=119969,P$=12539,LY=119972,E0e=",",zY=71423,HY="index out of bounds",dT=106,m9="%d",O0e="T_RENDERS_QUESTION",B$=120571,I$="returnType",YY=69423,M$=120070,v0e="%",kb=117,D0e=179,KY="EBADF",GY=93759,W$=64325,od="component_params",VY=66517,jY=67423,JY=605857695,XY=43518,S0e=251,Rd="for_of_statement",ZY=71983,$0e="~",eK=12442,hc="switch",tK=66207,U$=126535,Q0e="&&=",rK=69289,nK=71723,ud="generic_identifier_type",iK=126619,ld="object_type_property_setter",aK=70418,N0e="<=",sK=125251,oK=11702,cd="enum_number_body",k9=250,RK=124910,uK=69297,lK=67455,cK=42511,Td="ts_satisfies",w0e=286,TK=68324,F$="an identifier",pK=126534,Kl=103,_K=120126,y9=449540197,yb="declare",hK=68899,fK=126502,pd="function_expression",P0e=142,dK=123135,xK=67967,mK=120487,kK=120686,_d="export_named_declaration",yK=66348,L$=119981,qK=12352,hd="tuple_type",CK=68680,z$="target",fd="call";function p3e(o,T,a,u,p){if(u<=T)for(var d=1;d<=p;d++)a[u+d]=o[T+d];else for(var d=p;d>=1;d--)a[u+d]=o[T+d];return 0}function _3e(o){for(var T=[0];o!==0;){for(var a=o[1],u=1;uo.hi?1:this.hio.mi?1:this.mio.lo?1:this.loa?1:To.mi?1:this.mio.lo?1:this.lo>24),a=-this.hi+(T>>24);return new ta(o,T,a)},ta.prototype.add=function(o){var T=this.lo+o.lo,a=this.mi+o.mi+(T>>24),u=this.hi+o.hi+(a>>24);return new ta(T,a,u)},ta.prototype.sub=function(o){var T=this.lo-o.lo,a=this.mi-o.mi+(T>>24),u=this.hi-o.hi+(a>>24);return new ta(T,a,u)},ta.prototype.mul=function(o){var T=this.lo*o.lo,a=(T*W0e|0)+this.mi*o.lo+this.lo*o.mi,u=(a*W0e|0)+this.hi*o.lo+this.mi*o.mi+this.lo*o.hi;return new ta(T,a,u)},ta.prototype.isZero=function(){return(this.lo|this.mi|this.hi)==0},ta.prototype.isNeg=function(){return this.hi<<16<0},ta.prototype.and=function(o){return new ta(this.lo&o.lo,this.mi&o.mi,this.hi&o.hi)},ta.prototype.or=function(o){return new ta(this.lo|o.lo,this.mi|o.mi,this.hi|o.hi)},ta.prototype.xor=function(o){return new ta(this.lo^o.lo,this.mi^o.mi,this.hi^o.hi)},ta.prototype.shift_left=function(o){return o=o&63,o==0?this:o<24?new ta(this.lo<>24-o,this.hi<>24-o):o<48?new ta(0,this.lo<>48-o):new ta(0,0,this.lo<>o|this.mi<<24-o,this.mi>>o|this.hi<<24-o,this.hi>>o):o<48?new ta(this.mi>>o-24|this.hi<<48-o,this.hi>>o-24,0):new ta(this.hi>>o-48,0,0)},ta.prototype.shift_right=function(o){if(o=o&63,o==0)return this;var T=this.hi<<16>>16;if(o<24)return new ta(this.lo>>o|this.mi<<24-o,this.mi>>o|T<<24-o,this.hi<<16>>o>>>16);var a=this.hi<<16>>31;return o<48?new ta(this.mi>>o-24|this.hi<<48-o,this.hi<<16>>o-24>>16,a&Go):new ta(this.hi<<16>>o-32,a,a)},ta.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23,this.mi=(this.mi<<1|this.lo>>23)&Uf,this.lo=this.lo<<1&Uf},ta.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&Uf,this.mi=(this.mi>>>1|this.hi<<23)&Uf,this.hi=this.hi>>>1},ta.prototype.udivmod=function(o){for(var T=0,a=this.copy(),u=o.copy(),p=new ta(0,0,0);a.ucompare(u)>0;)T++,u.lsl1();for(;T>=0;)T--,p.lsl1(),a.ucompare(u)>=0&&(p.lo++,a=a.sub(u)),u.lsr1();return{quotient:p,modulus:a}},ta.prototype.div=function(o){var T=this;o.isZero()&&F0e();var a=T.hi^o.hi;T.hi&Jp&&(T=T.neg()),o.hi&Jp&&(o=o.neg());var u=T.udivmod(o).quotient;return a&Jp&&(u=u.neg()),u},ta.prototype.mod=function(o){var T=this;o.isZero()&&F0e();var a=T.hi;T.hi&Jp&&(T=T.neg()),o.hi&Jp&&(o=o.neg());var u=T.udivmod(o).modulus;return a&Jp&&(u=u.neg()),u},ta.prototype.toInt=function(){return this.lo|this.mi<<24},ta.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo},ta.prototype.toArray=function(){return[this.hi>>8,this.hi&S,this.mi>>16,this.mi>>8&S,this.mi&S,this.lo>>16,this.lo>>8&S,this.lo&S]},ta.prototype.lo32=function(){return this.lo|(this.mi&S)<<24},ta.prototype.hi32=function(){return this.mi>>>8&Go|this.hi<<16};function m3e(o,T){return new ta(o&Uf,o>>>24&S|(T&Go)<<8,T>>>16&Go)}function bK(o){return o.hi32()}function EK(o){return o.lo32()}function qb(){U0(HY)}var k3e=BS;function hm(o,T,a,u){this.kind=o,this.layout=T,this.dims=a,this.data=u}hm.prototype.caml_custom=k3e,hm.prototype.offset=function(o){var T=0;if(typeof o=="number"&&(o=[o]),o instanceof Array||U0("bigarray.js: invalid offset"),this.dims.length!=o.length&&U0("Bigarray.get/set: bad number of dimensions"),this.layout==0)for(var a=0;a=this.dims[a])&&qb(),T=T*this.dims[a]+o[a];else for(var a=this.dims.length-1;a>=0;a--)(o[a]<1||o[a]>this.dims[a])&&qb(),T=T*this.dims[a]+(o[a]-1);return T},hm.prototype.get=function(o){switch(this.kind){case 7:var T=this.data[o*2+0],a=this.data[o*2+1];return m3e(T,a);case 10:case 11:var u=this.data[o*2+0],p=this.data[o*2+1];return[sm,u,p];default:return this.data[o]}},hm.prototype.set=function(o,T){switch(this.kind){case 7:this.data[o*2+0]=EK(T),this.data[o*2+1]=bK(T);break;case 10:case 11:this.data[o*2+0]=T[1],this.data[o*2+1]=T[2];break;default:this.data[o]=T;break}return 0},hm.prototype.fill=function(o){switch(this.kind){case 7:var T=EK(o),a=bK(o);if(T==a)this.data.fill(T);else for(var u=0;uq)return 1;if(d!=q){if(!T)return NaN;if(d==d)return 1;if(q==q)return-1}}break;case 7:for(var p=0;po.data[p+1])return 1;if(this.data[p]>>>0>>0)return-1;if(this.data[p]>>>0>o.data[p]>>>0)return 1}break;case 2:case 3:case 4:case 5:case 6:case 8:case 9:case 12:for(var p=0;po.data[p])return 1}break}return 0};function C9(o,T,a,u){this.kind=o,this.layout=T,this.dims=a,this.data=u}C9.prototype=new hm,C9.prototype.offset=function(o){return typeof o!="number"&&(o instanceof Array&&o.length==1?o=o[0]:U0("Ml_Bigarray_c_1_1.offset")),(o<0||o>=this.dims[0])&&qb(),o},C9.prototype.get=function(o){return this.data[o]},C9.prototype.set=function(o,T){return this.data[o]=T,0},C9.prototype.fill=function(o){return this.data.fill(o),0};function OK(o,T,a,u){var p=I0e(o);return Y$(a)*p!=u.length&&U0("length doesn't match dims"),T==0&&a.length==1&&p==1?new C9(o,T,a,u):new hm(o,T,a,u)}function L0e(o){return o.slice(1)}function y3e(o,T,a){var u=L0e(a),p=M0e(o,Y$(u));return OK(o,T,u,p)}function Cb(o,T,a){return o.set(o.offset(T),a),0}function Ab(o,T,a){var u=String.fromCharCode;if(T==0&&a<=H5&&a==o.length)return u.apply(null,o);for(var p=ua;0=a.l||a.t==2&&p>=a.c.length))a.c=o.t==4?Ab(o.c,T,p):T==0&&o.c.length==p?o.c:o.c.substr(T,p),a.t=a.c.length==a.l?0:2;else if(a.t==2&&u==a.c.length)a.c+=o.t==4?Ab(o.c,T,p):T==0&&o.c.length==p?o.c:o.c.substr(T,p),a.t=a.c.length==a.l?0:2;else{a.t!=4&&K$(a);var d=o.c,q=a.c;if(o.t==4)if(u<=T)for(var g=0;g=0;g--)q[u+g]=d[T+g];else{for(var O=Math.min(p,d.length-T),g=0;g>=1,o==0)return a;T+=T,u++,u==9&&T.slice(0,1)}}function G$(o){o.t==2?o.c+=A9(o.l-o.c.length,"\0"):o.c=Ab(o.c,0,o.c.length),o.t=0}function vK(o){if(o.length<24){for(var T=0;TC0)return!1;return!0}else return!/[^\x00-\x7f]/.test(o)}function z0e(o){for(var T=ua,a=ua,u,p,d,q,g=0,O=o.length;gaY?(a.substr(0,1),T+=a,a=ua,T+=o.slice(g,B)):a+=o.slice(g,B),B==O)break;g=B}q=1,++g=55295&&q<57344)&&(q=2)):(q=3,++g1114111)&&(q=3)))))),q<4?(g-=q,a+="\uFFFD"):q>Go?a+=String.fromCharCode(55232+(q>>10),foe+(q&1023)):a+=String.fromCharCode(q),a.length>$k&&(a.substr(0,1),T+=a,a=ua)}return T+a}function jx(o,T,a){this.t=o,this.c=T,this.l=a}jx.prototype.toString=function(){switch(this.t){case 9:return this.c;default:G$(this);case 0:if(vK(this.c))return this.t=9,this.c;this.t=8;case 8:return this.c}},jx.prototype.toUtf16=function(){var o=this.toString();return this.t==9?o:z0e(o)},jx.prototype.slice=function(){var o=this.t==4?this.c.slice():this.c;return new jx(this.t,o,this.l)};function H0e(o){return new jx(0,o,o.length)}function A2r(o){return o}function q1(o){return H0e(o)}function dd(o,T,a,u,p){return Vx(q1(o),T,a,u,p),0}function g9(o){return new ta(o[7]<<0|o[6]<<8|o[5]<<16,o[4]<<0|o[3]<<8|o[2]<<16,o[1]<<0|o[0]<<8)}function Lu(o,T){switch(o.t&6){default:if(T>=o.c.length)return 0;case 0:return o.c.charCodeAt(T);case 4:return o.c[T]}}function DK(){U0(HY)}function q3e(o,T){T>>>0>=o.l-7&&DK();for(var a=new Array(8),u=0;u<8;u++)a[7-u]=Lu(o,T+u);return g9(a)}function As(o,T,a){if(a&=S,o.t!=4){if(T==o.c.length)return o.c+=String.fromCharCode(a),T+1==o.l&&(o.t=0),0;K$(o)}return o.c[T]=a,0}function Jx(o,T,a){return T>>>0>=o.l&&DK(),As(o,T,a)}function b9(o){return o.toArray()}function C3e(o,T,a){T>>>0>=o.l-7&&DK();for(var u=b9(a),p=0;p<8;p++)As(o,T+7-p,u[p]);return 0}function xd(o,T){var a=o.l>=0?o.l:o.l=o.length,u=T.length,p=a-u;if(p==0)return o.apply(null,T);if(p<0){var d=o.apply(null,T.slice(0,a));return typeof d!="function"?d:xd(d,T.slice(a))}else{switch(p){case 1:{var d=function(O){for(var B=new Array(u+1),W=0;W>>0>=o.length-1&&qb(),o}function A3e(o){return isFinite(o)?Math.abs(o)>=22250738585072014e-324?0:o!=0?1:2:isNaN(o)?4:3}function g3e(o){return o==k8?1:0}var b3e=Math.log2&&Math.log2(11235582092889474e291)==1020;function E3e(o){if(b3e)return Math.floor(Math.log2(o));var T=0;if(o==0)return-1/0;if(o>=1)for(;o>=2;)o/=2,T++;else for(;o<1;)o*=2,T--;return T}function SK(o){var T=new Float32Array(1);T[0]=o;var a=new Int32Array(T.buffer);return a[0]|0}function xT(o,T,a){return new ta(o,T,a)}function V$(o){if(!isFinite(o))return isNaN(o)?xT(1,0,Soe):o>0?xT(0,0,Soe):xT(0,0,65520);var T=o==0&&1/o==-1/0?Jp:o>=0?0:Jp;T&&(o=-o);var a=E3e(o)+1023;a<=0?(a=0,o/=Math.pow(2,-_0e)):(o/=Math.pow(2,a-See),o<16&&(o*=2,a-=1),a==0&&(o/=2));var u=Math.pow(2,24),p=o|0;o=(o-p)*u;var d=o|0;o=(o-d)*u;var q=o|0;return p=p&De|T|a<<4,xT(q,d,p)}function Y0e(o,T,a){if(o.write(32,T.dims.length),o.write(32,T.kind|T.layout<<8),T.caml_custom==BS)for(var u=0;u>4;if(p==i0e)return T|a|u&De?NaN:u&Jp?-1/0:1/0;var d=Math.pow(2,-24),q=(T*d+a)*d+(u&De);return p>0?(q+=16,q*=Math.pow(2,p-See)):q*=Math.pow(2,-_0e),u&Jp&&(q=-q),q}function pu(o){bu.Failure||(bu.Failure=[Ws,zr,-3]),gK(bu.Failure,o)}function K0e(o,T,a){var u=o.read32s();(u<0||u>16)&&pu("input_value: wrong number of bigarray dimensions");var p=o.read32s(),d=p&S,q=p>>8&1,g=[];if(a==BS)for(var O=0;O>>17,T=V0e(T,461845907),o^=T,o=o<<13|o>>>19,(o+(o<<2)|0)+-430675100|0}function O3e(o,T){return o=Xx(o,EK(T)),o=Xx(o,bK(T)),o}function j0e(o,T){return O3e(o,V$(T))}function J0e(o){var T=Y$(o.dims),a=0;switch(o.kind){case 2:case 3:case 12:T>SS&&(T=SS);var u=0,p=0;for(p=0;p+4<=o.data.length;p+=4)u=o.data[p+0]|o.data[p+1]<<8|o.data[p+2]<<16|o.data[p+3]<<24,a=Xx(a,u);switch(u=0,T&3){case 3:u=o.data[p+2]<<16;case 2:u|=o.data[p+1]<<8;case 1:u|=o.data[p+0],a=Xx(a,u)}break;case 4:case 5:T>t0&&(T=t0);var u=0,p=0;for(p=0;p+2<=o.data.length;p+=2)u=o.data[p+0]|o.data[p+1]<<16,a=Xx(a,u);T&1&&(a=Xx(a,o.data[p]));break;case 6:T>64&&(T=64);for(var p=0;p64&&(T=64);for(var p=0;p32&&(T=32),T*=2;for(var p=0;p64&&(T=64);for(var p=0;p32&&(T=32);for(var p=0;p0?p(T,o,u):p(o,T,u);if(u&&d!=d)return a;if(+d!=+d)return+d;if(d|0)return d|0}return a}function wK(o){return typeof o=="string"&&!/[^\x00-\xff]/.test(o)}function PK(o){return o instanceof jx}function eRe(o){if(typeof o=="number")return z7;if(PK(o))return rb;if(wK(o))return 1252;if(o instanceof Array&&o[0]===o[0]>>>0&&o[0]<=eR){var T=o[0]|0;return T==sm?0:T}else{if(o instanceof String)return rF;if(typeof o=="string")return rF;if(o instanceof Number)return z7;if(o&&o.caml_custom)return va;if(o&&o.compare)return 1256;if(typeof o=="function")return 1247;if(typeof o=="symbol")return 1251}return 1001}function fc(o,T){return oT?1:0}function w3e(o,T){return o.t&6&&G$(o),T.t&6&&G$(T),o.cT.c?1:0}function j$(o,T,a){for(var u=[];;){if(!(a&&o===T)){var p=eRe(o);if(p==k9){o=o[1];continue}var d=eRe(T);if(d==k9){T=T[1];continue}if(p!==d)return p==z7?d==va?Z0e(o,T,-1,a):-1:d==z7?p==va?Z0e(T,o,1,a):1:pT)return 1;if(o!=T){if(!a)return NaN;if(o==o)return 1;if(T==T)return-1}break;case 1001:if(oT)return 1;if(o!=T){if(!a)return NaN;if(o==o)return 1;if(T==T)return-1}break;case 1251:if(o!==T)return a?1:NaN;break;case 1252:var o=o,T=T;if(o!==T){if(oT)return 1}break;case 12520:var o=o.toString(),T=T.toString();if(o!==T){if(oT)return 1}break;case 246:case 254:default:if(g3e(p)){U0("compare: continuation value");break}if(o.length!=T.length)return o.length1&&u.push(o,T,1);break}}if(u.length==0)return 0;var O=u.pop();T=u.pop(),o=u.pop(),O+10)if(T==0&&(a>=o.l||o.t==2&&a>=o.c.length))u==0?(o.c=ua,o.t=2):(o.c=A9(a,String.fromCharCode(u)),o.t=a==o.l?0:2);else for(o.t!=4&&K$(o),a+=T;T0&&T===T||(o=o.replace(/_/g,ua),T=+o,o.length>0&&T===T||/^[+-]?nan$/i.test(o)))return T;var a=/^ *([+-]?)0x([0-9a-f]+)\.?([0-9a-f]*)(p([+-]?[0-9]+))?/i.exec(o);if(a){var u=a[3].replace(/0+$/,ua),p=parseInt(a[1]+a[2]+u,16),d=(a[5]|0)-4*u.length;return T=p*Math.pow(2,d),T}if(/^\+?inf(inity)?$/i.test(o))return 1/0;if(/^-inf(inity)?$/i.test(o))return-1/0;pu("float_of_string")}function IK(o){o=o;var T=o.length;T>31&&U0("format_int: format too long");for(var a={justify:_1,signstyle:m1,filler:_h,alternate:!1,base:0,signedconv:!1,width:0,uppercase:!1,sign:1,prec:-1,conv:F5},u=0;u=0&&p<=9;)a.width=a.width*10+p,u++;u--;break;case".":for(a.prec=0,u++;p=o.charCodeAt(u)-48,p>=0&&p<=9;)a.prec=a.prec*10+p,u++;u--;case"d":case"i":a.signedconv=!0;case"u":a.base=10;break;case"x":a.base=16;break;case"X":a.base=16,a.uppercase=!0;break;case"o":a.base=8;break;case"e":case"f":case"g":a.signedconv=!0,a.conv=p;break;case"E":case"F":case"G":a.signedconv=!0,a.uppercase=!0,a.conv=p.toLowerCase();break}}return a}function MK(o,T){o.uppercase&&(T=T.toUpperCase());var a=T.length;o.signedconv&&(o.sign<0||o.signstyle!=m1)&&a++,o.alternate&&(o.base==8&&(a+=1),o.base==16&&(a+=2));var u=ua;if(o.justify==_1&&o.filler==_h)for(var p=a;p20?(V-=20,W/=Math.pow(10,V),W+=new Array(V+1).join(lu),Y>0&&(W=W+e_+new Array(Y+1).join(lu)),W):W.toFixed(Y)}var u,p=IK(o),d=p.prec<0?6:p.prec;if((T<0||T==0&&1/T==-1/0)&&(p.sign=-1,T=-T),isNaN(T))u=pY,p.filler=_h;else if(!isFinite(T))u="inf",p.filler=_h;else switch(p.conv){case"e":var u=T.toExponential(d),q=u.length;u.charAt(q-3)==dk&&(u=u.slice(0,q-1)+lu+u.slice(q-1));break;case"f":u=a(T,d);break;case"g":d=d||1,u=T.toExponential(d-1);var g=u.indexOf(dk),O=+u.slice(g+1);if(O<-4||T>=1e21||T.toFixed(0).length>d){for(var q=g-1;u.charAt(q)==lu;)q--;u.charAt(q)==e_&&q--,u=u.slice(0,q+1)+u.slice(g),q=u.length,u.charAt(q-3)==dk&&(u=u.slice(0,q-1)+lu+u.slice(q-1));break}else{var B=d;if(O<0)B-=O+1,u=T.toFixed(B);else for(;u=T.toFixed(B),u.length>d+1;)B--;if(B){for(var q=u.length-1;u.charAt(q)==lu;)q--;u.charAt(q)==e_&&q--,u=u.slice(0,q+1)}}break}return MK(p,u)}function X$(o,T){if(o==m9)return ua+T;var a=IK(o);T<0&&(a.signedconv?(a.sign=-1,T=-T):T>>>=0);var u=T.toString(a.base);if(a.prec>=0){a.filler=_h;var p=a.prec-u.length;p>0&&(u=A9(p,lu)+u)}return MK(a,u)}var nRe=0;function md(){return nRe++}function iRe(){return[0]}var Z$=[];function ki(o,T,a){var u=o[1],p=Z$[a];if(p===void 0)for(var d=Z$.length;d>1|1,TaY?(a.substr(0,1),T+=a,a=ua,T+=o.slice(d,g)):a+=o.slice(d,g),g==q)break;d=g}u>6),a+=String.fromCharCode(y1|u&zx)):u<55296||u>=Toe?a+=String.fromCharCode(ree|u>>12,y1|u>>6&zx,y1|u&zx):u>=56319||d+1==q||(p=o.charCodeAt(d+1))Toe?a+="\xEF\xBF\xBD":(d++,u=(u<<10)+p-56613888,a+=String.fromCharCode(re|u>>18,y1|u>>12&zx,y1|u>>6&zx,y1|u&zx)),a.length>$k&&(a.substr(0,1),T+=a,a=ua)}return T+a}function C1(o){return vK(o)?o:W3e(o)}function U3e(o,T,a){if(!isFinite(o))return isNaN(o)?C1(pY):C1(o>0?Uoe:"-infinity");var u=o==0&&1/o==-1/0?1:o>=0?0:1;u&&(o=-o);var p=0;if(o!=0)if(o<1)for(;o<1&&p>-1022;)o*=2,p--;else for(;o>=2;)o/=2,p++;var d=p<0?ua:_1,q=ua;if(u)q=m1;else switch(a){case 43:q=_1;break;case 32:q=_h;break;default:break}if(T>=0&&T<13){var g=Math.pow(2,T*4);o=Math.round(o*g)/g}var O=o.toString(16);if(T>=0){var B=O.indexOf(e_);if(B<0)O+=e_+A9(T,lu);else{var W=B+1+T;O.length>24&Uf,o>>31&Go)}function L3e(o){return o.toInt()}function z3e(o){return+o.isNeg()}function UK(o){return o.neg()}function aRe(o,T){var a=IK(o);a.signedconv&&z3e(T)&&(a.sign=-1,T=UK(T));var u=ua,p=gb(a.base),d="0123456789abcdef";do{var q=T.udivmod(p);T=q.quotient,u=d.charAt(L3e(q.modulus))+u}while(!F3e(T));if(a.prec>=0){a.filler=_h;var g=a.prec-u.length;g>0&&(u=A9(g,lu)+u)}return MK(a,u)}function ii(o){return o.length}function $r(o,T){return o.charCodeAt(T)}function sRe(o,T){return o.add(T)}function oRe(o,T){return o.mul(T)}function FK(o,T){return o.ucompare(T)<0}function RRe(o){var T=0,a=ii(o),u=10,p=1;if(a>0)switch($r(o,T)){case 45:T++,p=-1;break;case 43:T++,p=1;break}if(T+1=48&&o<=57?o-48:o>=65&&o<=90?o-55:o>=97&&o<=X0?o-87:-1}function Q8(o){var T=RRe(o),a=T[0],u=T[1],p=T[2],d=gb(p),q=new ta(Uf,268435455,Go).udivmod(d).quotient,g=$r(o,a),O=eQ(g);(O<0||O>=p)&&pu(h);for(var B=gb(O);;)if(a++,g=$r(o,a),g!=95){if(O=eQ(g),O<0||O>=p)break;FK(q,B)&&pu(h),O=gb(O),B=sRe(oRe(d,B),O),FK(B,O)&&pu(h)}return a!=ii(o)&&pu(h),p==10&&FK(new ta(0,0,Jp),B)&&pu(h),u<0&&(B=UK(B)),B}function uRe(o,T){return o.or(T)}function tQ(o){return o.toFloat()}function mT(o){var T=RRe(o),a=T[0],u=T[1],p=T[2],d=ii(o),q=-1>>>0,g=a=p)&&pu(h);var B=O;for(a++;a=p)break;B=p*B+O,B>q&&pu(h)}return a!=d&&pu(h),B=u*B,p==10&&(B|0)!=B&&pu(h),B|0}function Ei(o){return vK(o)?o:z0e(o)}function H3e(o){for(var T={},a=1;a=0?o.l:o.l=o.length}function K3e(o){return function(){for(var T=Y3e(o),a=new Array(T),u=0;u>>0&&LK(o,US,np)?0:1}function j3e(o){return LK(o,np,k9),0}function J3e(o,T){return+(j$(o,T,!1)<0)}function X3e(o){return o}function Z3e(o,T){return o.get(o.offset(T))}function ege(o,T){return o.xor(T)}function tge(o,T){return o.shift_right_unsigned(T)}function rge(o,T){return o.shift_left(T)}function nQ(o){function T(ge,Ne){return rge(ge,Ne)}function a(ge,Ne){return tge(ge,Ne)}function u(ge,Ne){return uRe(ge,Ne)}function p(ge,Ne){return ege(ge,Ne)}function d(ge,Ne){return sRe(ge,Ne)}function q(ge,Ne){return oRe(ge,Ne)}function g(ge,Ne){return u(T(ge,Ne),a(ge,64-Ne))}function O(ge,Ne){return Z3e(ge,Ne)}function B(ge,Ne,Fe){return Cb(ge,Ne,Fe)}var W=Q8(X3e("0xd1342543de82ef95")),Y=Q8(X3e("0xdaba0b6eb09322e3")),V,xe,ye,Z=o,se=O(Z,0),ae=O(Z,1),ue=O(Z,2),pe=O(Z,3);V=d(ae,ue),V=q(p(V,a(V,32)),Y),V=q(p(V,a(V,32)),Y),V=p(V,a(V,32)),B(Z,1,d(q(ae,W),se));var xe=ue,ye=pe;return ye=p(ye,xe),xe=g(xe,24),xe=p(p(xe,ye),T(ye,16)),ye=g(ye,37),B(Z,2,xe),B(Z,3,ye),V}function fm(a,T){a<0&&qb();var a=a+1|0,u=new Array(a);u[0]=0;for(var p=1;p>>32-W,O)}function a(q,g,O,B,W,Y,V){return T(g&O|~g&B,q,g,W,Y,V)}function u(q,g,O,B,W,Y,V){return T(g&B|O&~B,q,g,W,Y,V)}function p(q,g,O,B,W,Y,V){return T(g^O^B,q,g,W,Y,V)}function d(q,g,O,B,W,Y,V){return T(O^(g|~B),q,g,W,Y,V)}return function(q,g){var O=q[0],B=q[1],W=q[2],Y=q[3];O=a(O,B,W,Y,g[0],7,3614090360),Y=a(Y,O,B,W,g[1],12,3905402710),W=a(W,Y,O,B,g[2],17,606105819),B=a(B,W,Y,O,g[3],22,3250441966),O=a(O,B,W,Y,g[4],7,4118548399),Y=a(Y,O,B,W,g[5],12,1200080426),W=a(W,Y,O,B,g[6],17,2821735955),B=a(B,W,Y,O,g[7],22,4249261313),O=a(O,B,W,Y,g[8],7,1770035416),Y=a(Y,O,B,W,g[9],12,2336552879),W=a(W,Y,O,B,g[10],17,4294925233),B=a(B,W,Y,O,g[11],22,2304563134),O=a(O,B,W,Y,g[12],7,1804603682),Y=a(Y,O,B,W,g[13],12,4254626195),W=a(W,Y,O,B,g[14],17,2792965006),B=a(B,W,Y,O,g[15],22,1236535329),O=u(O,B,W,Y,g[1],5,4129170786),Y=u(Y,O,B,W,g[6],9,3225465664),W=u(W,Y,O,B,g[11],14,643717713),B=u(B,W,Y,O,g[0],20,3921069994),O=u(O,B,W,Y,g[5],5,3593408605),Y=u(Y,O,B,W,g[10],9,38016083),W=u(W,Y,O,B,g[15],14,3634488961),B=u(B,W,Y,O,g[4],20,3889429448),O=u(O,B,W,Y,g[9],5,568446438),Y=u(Y,O,B,W,g[14],9,3275163606),W=u(W,Y,O,B,g[3],14,4107603335),B=u(B,W,Y,O,g[8],20,1163531501),O=u(O,B,W,Y,g[13],5,2850285829),Y=u(Y,O,B,W,g[2],9,4243563512),W=u(W,Y,O,B,g[7],14,1735328473),B=u(B,W,Y,O,g[12],20,2368359562),O=p(O,B,W,Y,g[5],4,4294588738),Y=p(Y,O,B,W,g[8],11,2272392833),W=p(W,Y,O,B,g[11],16,1839030562),B=p(B,W,Y,O,g[14],23,4259657740),O=p(O,B,W,Y,g[1],4,2763975236),Y=p(Y,O,B,W,g[4],11,1272893353),W=p(W,Y,O,B,g[7],16,4139469664),B=p(B,W,Y,O,g[10],23,3200236656),O=p(O,B,W,Y,g[13],4,681279174),Y=p(Y,O,B,W,g[0],11,3936430074),W=p(W,Y,O,B,g[3],16,3572445317),B=p(B,W,Y,O,g[6],23,76029189),O=p(O,B,W,Y,g[9],4,3654602809),Y=p(Y,O,B,W,g[12],11,3873151461),W=p(W,Y,O,B,g[15],16,530742520),B=p(B,W,Y,O,g[2],23,3299628645),O=d(O,B,W,Y,g[0],6,4096336452),Y=d(Y,O,B,W,g[7],10,1126891415),W=d(W,Y,O,B,g[14],15,2878612391),B=d(B,W,Y,O,g[5],21,4237533241),O=d(O,B,W,Y,g[12],6,1700485571),Y=d(Y,O,B,W,g[3],10,2399980690),W=d(W,Y,O,B,g[10],15,4293915773),B=d(B,W,Y,O,g[1],21,2240044497),O=d(O,B,W,Y,g[8],6,1873313359),Y=d(Y,O,B,W,g[15],10,4264355552),W=d(W,Y,O,B,g[6],15,2734768916),B=d(B,W,Y,O,g[13],21,1309151649),O=d(O,B,W,Y,g[4],6,4149444226),Y=d(Y,O,B,W,g[11],10,3174756917),W=d(W,Y,O,B,g[2],15,718787259),B=d(B,W,Y,O,g[9],21,3951481745),q[0]=o(O,q[0]),q[1]=o(B,q[1]),q[2]=o(W,q[2]),q[3]=o(Y,q[3])}}();function ige(o,T,a){var u=o.len&zx,p=0;if(o.len+=a,u){var d=64-u;if(a=64;)o.b8.set(T.subarray(p,p+64),0),iQ(o.w,o.b32),a-=64,p+=64;a&&o.b8.set(T.subarray(p,p+a),0)}function age(o){var T=o.len&zx;if(o.b8[T]=y1,T++,T>56){for(var a=T;a<64;a++)o.b8[a]=0;iQ(o.w,o.b32);for(var a=0;a<56;a++)o.b8[a]=0}else for(var a=T;a<56;a++)o.b8[a]=0;o.b32[14]=o.len<<3,o.b32[15]=o.len>>29&536870911,iQ(o.w,o.b32);for(var u=new Uint8Array(16),p=0;p<4;p++)for(var a=0;a<4;a++)u[p*4+a]=o.w[p]>>8*a&255;return u}function zK(o){return o.t!=4&&K$(o),o.c}function sge(o){return Ab(o,0,o.length)}function oge(o,T,a){var u=nge(),p=zK(o);return ige(u,p.subarray(T,T+a),a),sge(age(u))}function Rge(o,T,a){return oge(q1(o),T,a)}function A1(o){return o.l}function uge(){return 0}function Va(o){gK(bu.Sys_error,o)}var Zx=new Array;function t_(o){var T=Zx[o];return T.opened||Va("Cannot flush a closed channel"),!T.buffer||T.buffer_curr==0||(T.output?T.output(Ab(T.buffer,0,T.buffer_curr)):T.file.write(T.offset,T.buffer,0,T.buffer_curr),T.offset+=T.buffer_curr,T.buffer_curr=0),0}function lRe(){}function g2r(o){for(var T=ii(o),a=new Uint8Array(T),u=0;u1&&u.pop();break;case".":break;case"":break;default:u.push(a[p]);break}return u.unshift(T[0]),u.orig=o,u}var pge=["E2BIG","EACCES","EAGAIN",KY,"EBUSY","ECHILD","EDEADLK","EDOM",sT,"EFAULT","EFBIG","EINTR","EINVAL","EIO","EISDIR","EMFILE","EMLINK","ENAMETOOLONG","ENFILE","ENODEV",Jw,"ENOEXEC","ENOLCK","ENOMEM","ENOSPC","ENOSYS",ZA,Br,"ENOTTY","ENXIO","EPERM","EPIPE","ERANGE","EROFS","ESPIPE","ESRCH","EXDEV","EWOULDBLOCK","EINPROGRESS","EALREADY","ENOTSOCK","EDESTADDRREQ","EMSGSIZE","EPROTOTYPE","ENOPROTOOPT","EPROTONOSUPPORT","ESOCKTNOSUPPORT","EOPNOTSUPP","EPFNOSUPPORT","EAFNOSUPPORT","EADDRINUSE","EADDRNOTAVAIL","ENETDOWN","ENETUNREACH","ENETRESET","ECONNABORTED","ECONNRESET","ENOBUFS","EISCONN","ENOTCONN","ESHUTDOWN","ETOOMANYREFS","ETIMEDOUT","ECONNREFUSED","EHOSTDOWN","EHOSTUNREACH","ELOOP","EOVERFLOW"];function e2(o,T,a,u){var p=pge.indexOf(o);p<0&&(u==null&&(u=-9999),p=[0,u]);var d=[p,C1(T||ua),C1(a||ua)];return d}var TRe={};function dm(o){return TRe[o]}function t2(o,T){throw Pr([0,o].concat(T))}function YK(o){return o instanceof Uint8Array||(o=new Uint8Array(o)),new jx(4,o,o.length)}function pRe(o){Va(o+RT)}function zu(o){this.data=o}zu.prototype=new lRe,zu.prototype.constructor=zu,zu.prototype.truncate=function(o){var T=this.data;this.data=Do(o|0),Vx(T,0,this.data,0,o)},zu.prototype.length=function(){return A1(this.data)},zu.prototype.write=function(o,T,a,u){var p=this.length();if(o+u>=p){var d=Do(o+u),q=this.data;this.data=d,Vx(q,0,this.data,0,p)}return Vx(YK(T),a,this.data,o,u),0},zu.prototype.read=function(o,T,a,u){var p=this.length();if(o+u>=p&&(u=p-o),u){var d=Do(u|0);Vx(this.data,o,d,0,u),T.set(zK(d),a)}return u};function N8(o,T,a){this.file=T,this.name=o,this.flags=a}N8.prototype.err_closed=function(){Va(this.name+MZ)},N8.prototype.length=function(){if(this.file)return this.file.length();this.err_closed()},N8.prototype.write=function(o,T,a,u){if(this.file)return this.file.write(o,T,a,u);this.err_closed()},N8.prototype.read=function(o,T,a,u){if(this.file)return this.file.read(o,T,a,u);this.err_closed()},N8.prototype.close=function(){this.file=void 0};function mR(o,T){this.content={},this.root=o,this.lookupFun=T}mR.prototype.nm=function(o){return this.root+o},mR.prototype.create_dir_if_needed=function(o){for(var T=o.split(Lc),a=ua,u=0;u0&&a>=0&&a+u<=T.length&&T[a+u-1]==10&&u--;var p=Do(u);return Vx(YK(T),a,p,0,u),this.log(p.toUtf16()),0}Va(this.fd+MZ)},Ob.prototype.read=function(o,T,a,u){Va(this.fd+": file descriptor is write only")},Ob.prototype.close=function(){this.log=void 0};function oQ(o,T){return T==null&&(T=aQ.length),aQ[T]=o,T|0}function b2r(o,T,a){for(var u={};T;){switch(T[1]){case 0:u.rdonly=1;break;case 1:u.wronly=1;break;case 2:u.append=1;break;case 3:u.create=1;break;case 4:u.truncate=1;break;case 5:u.excl=1;break;case 6:u.binary=1;break;case 7:u.text=1;break;case 8:u.nonblock=1;break}T=T[2]}u.rdonly&&u.wronly&&Va(o+N2),u.text&&u.binary&&Va(o+a3);var p=_ge(o),d=p.device.open(p.rest,u);return oQ(d,void 0)}(function(){function o(T,a){return bb()?lge(T,a):new Ob(T,a)}oQ(o(0,{rdonly:1,altname:"/dev/stdin",isCharacterDevice:!0}),0),oQ(o(1,{buffered:2,wronly:1,isCharacterDevice:!0}),1),oQ(o(2,{buffered:2,wronly:1,isCharacterDevice:!0}),2)})();function hge(o){var T=aQ[o];T.flags.wronly&&Va(ap+o+" is writeonly");var a=null,u={file:T,offset:T.flags.append?T.length():0,fd:o,opened:!0,out:!1,buffer_curr:0,buffer_max:0,buffer:new Uint8Array(ub),refill:a};return Zx[u.fd]=u,u.fd}function hRe(o){var T=aQ[o];T.flags.rdonly&&Va(ap+o+" is readonly");var a=T.flags.buffered!==void 0?T.flags.buffered:1,u={file:T,offset:T.flags.append?T.length():0,fd:o,opened:!0,out:!0,buffer_curr:0,buffer:new Uint8Array(ub),buffered:a};return Zx[u.fd]=u,u.fd}function fge(){for(var o=0,T=0;Tp.buffer.length){var d=new Uint8Array(p.buffer_curr+T.length);d.set(p.buffer),p.buffer=d}switch(p.buffered){case 0:p.buffer.set(T,p.buffer_curr),p.buffer_curr+=T.length,t_(o);break;case 1:p.buffer.set(T,p.buffer_curr),p.buffer_curr+=T.length,p.buffer_curr>=p.buffer.length&&t_(o);break;case 2:var q=T.lastIndexOf(10);q<0?(p.buffer.set(T,p.buffer_curr),p.buffer_curr+=T.length,p.buffer_curr>=p.buffer.length&&t_(o)):(p.buffer.set(T.subarray(0,q+1),p.buffer_curr),p.buffer_curr+=q+1,t_(o),p.buffer.set(T.subarray(q+1),p.buffer_curr),p.buffer_curr+=T.length-q-1);break}return 0}function xge(o,p,a,u){var p=zK(p);return dge(o,p,a,u)}function KK(o,T,a,u){return xge(o,q1(T),a,u)}function fRe(o,T){var a=String.fromCharCode(T);return KK(o,a,0,1),0}function w8(o,T){return+(j$(o,T,!1)!=0)}function GK(o,T){var a=new Array(T+1);a[0]=o;for(var u=1;u<=T;u++)a[u]=0;return a}function P8(o){return o instanceof Array&&o[0]==o[0]>>>0?o[0]:PK(o)||wK(o)?rb:o instanceof Function||typeof o=="function"?vx:o&&o.caml_custom?eR:z7}function mge(o){var T={};if(o)for(var a=1;a=0?o=p:pu("caml_register_global: cannot locate "+u)}}bu[o+1]=T,a&&(bu[a]=T)}function VK(o,T){return TRe[o]=T,0}function kge(o){return o[2]=nRe++,o}function Qa(o,T){return o===T?1:0}function yge(){U0(HY)}function r0(o,T){return T>>>0>=ii(o)&&yge(),$r(o,T)}function Re(o,T){return 1-Qa(o,T)}function kR(o){return o.t&6&&G$(o),o.c}function qge(){return 2147483647/4|0}var Cge=e.process&&e.process.platform&&e.process.platform==_t?yZ:"Unix";function Age(){return[0,Cge,32,0]}function gge(){U0e(bu.Not_found)}function dRe(o){var T=B0e(Ei(o));return T===void 0&&gge(),C1(T)}function bge(){if(e.crypto){if(e.crypto.getRandomValues){var o=e.crypto.getRandomValues(new Int32Array(4));return[0,o[0],o[1],o[2],o[3]]}else if(e.crypto.randomBytes){var o=new Int32Array(e.crypto.randomBytes(16).buffer);return[0,o[0],o[1],o[2],o[3]]}}var T=new Date().getTime(),a=T^4294967295*Math.random();return[0,a]}function RQ(o){for(var T=1;o&&o.joo_tramp;)o=o.joo_tramp.apply(null,o.joo_args),T++;return o}function x0(o,T){return{joo_tramp:o,joo_args:T}}function ns(o,T){if(T.fun)return o.fun=T.fun,0;if(typeof T=="function")return o.fun=T,0;for(var a=T.length;a--;)o[a]=T[a];return 0}function n0(o){{if(o instanceof Array)return o;var T;return e.RangeError&&o instanceof e.RangeError&&o.message&&o.message.match(/maximum call stack/i)||e.InternalError&&o instanceof e.InternalError&&o.message&&o.message.match(/too much recursion/i)?T=bu.Stack_overflow:o instanceof e.Error&&dm(jq)?T=[0,dm(jq),o]:T=[0,bu.Failure,C1(String(o))],o instanceof e.Error&&(T.js_error=o),T}}function Ege(o){switch(o[2]){case-8:case-11:case-12:return 1;default:return 0}}function Oge(o){var T=ua;if(o[0]==0){if(T+=o[1][1],o.length==3&&o[2][0]==0&&Ege(o[1]))var u=o[2],a=1;else var a=2,u=o;T+=FS;for(var p=a;pa&&(T+=Q5);var d=u[p];typeof d=="number"?T+=d.toString():d instanceof jx||typeof d=="string"?T+=IP+d.toString()+IP:T+=Dx}T+=koe}else o[0]==Ws&&(T+=o[1]);return T}function xRe(o){if(o instanceof Array&&(o[0]==0||o[0]==Ws)){var T=dm(ql);if(T)rQ(T,[o,!1]);else{var a=Oge(o),u=dm($O);if(u&&rQ(u,[0]),console.error(qL+a),o.js_error)throw o.js_error}}else throw o}function vge(){var o=e.process;o&&o.on?o.on("uncaughtException",function(T,a){xRe(T),o.exit(2)}):e.addEventListener&&e.addEventListener("error",function(T){T.error&&xRe(T.error)})}vge();function J(o,T){return(o.l>=0?o.l:o.l=o.length)==1?o(T):xd(o,[T])}function K(o,T,a){return(o.l>=0?o.l:o.l=o.length)==2?o(T,a):xd(o,[T,a])}function sn(o,T,a,u){return(o.l>=0?o.l:o.l=o.length)==3?o(T,a,u):xd(o,[T,a,u])}function jK(o,T,a,u,p){return(o.l>=0?o.l:o.l=o.length)==4?o(T,a,u,p):xd(o,[T,a,u,p])}function JK(o,T,a,u,p,d){return(o.l>=0?o.l:o.l=o.length)==5?o(T,a,u,p,d):xd(o,[T,a,u,p,d])}function vb(o,T,a,u,p,d,q){return(o.l>=0?o.l:o.l=o.length)==6?o(T,a,u,p,d,q):xd(o,[T,a,u,p,d,q])}function Dge(o,T,a,u,p,d,q,g){return(o.l>=0?o.l:o.l=o.length)==7?o(T,a,u,p,d,q,g):xd(o,[T,a,u,p,d,q,g])}var he=void 0,XK=[Ws,xt,-1],mRe=[Ws,Hoe,-2],n_=[Ws,zr,-3],uQ=[Ws,l0e,-4],kd=[Ws,DU,-7],kRe=[Ws,bi,-8],yRe=[Ws,Mee,-9],Wa=[Ws,Cee,-11],Db=[Ws,iee,-12],Sge=[4,0,0,0,[12,45,[4,0,0,0,0]]],ZK=[0,[11,'File "',[2,0,[11,'", line ',[4,0,0,0,[11,Ct,[4,0,0,0,[12,45,[4,0,0,0,[11,": ",[2,0,0]]]]]]]]]],'File "%s", line %d, characters %d-%d: %s'],v9=[0,0,[0,0,0],[0,0,0]],D9=[0,0,0,0,0,1,0,0,0],qRe=[0,"first_leading","last_trailing"],CRe=[0,Mh,C_,tf,JT,bf,i8,A5,Ly,rc,ed,B6,_e,X7,Zp,$f,Th,_c,fd,U5,e9,z1,P6,MR,Eq,C5,y6,q8,xh,U6,gh,P5,_T,zh,Xh,Ji,u8,Ih,rx,Rq,oe,Gq,Dh,Tf,cs,od,ff,Pk,mk,ch,Hf,Pf,N5,uq,Sk,sl,Tc,Yf,K2,et,eq,Gp,fq,z5,Sf,L5,xf,of,F,C6,sq,q_,uR,T6,GT,hf,lf,Mq,wf,IT,cd,yf,Df,Lq,df,Z6,bn,eh,_d,Bh,gf,Ee,op,Np,zf,kf,Mc,Ah,Bq,TT,$p,Y2,Rd,$h,M6,bh,Zf,Mr,xq,Yy,pd,Gh,u9,M0,E6,uf,af,G1,Qh,n8,E5,Ok,l1,Et,ud,Ef,V6,lh,Vf,uc,Eh,zc,He,f8,Jf,Qq,hh,Jh,Kf,rf,p1,hq,nt,g6,q6,Zn,Cf,V5,l8,Ch,ad,f_,A8,W2,ex,y0,wk,D5,Rf,I2,qf,_f,nd,Hq,c9,hT,xk,a9,Q6,Of,Fn,zl,l,w6,Xf,Rl,g5,q0,cf,td,Bp,im,us,Wh,o9,Vh,rq,zT,Ph,id,Uh,Wi,ul,Y6,v5,Vy,Nf,Lh,sd,Sh,Wf,K6,h0,S6,mh,A6,o8,B5,Ek,Bf,Ve,Nh,x6,wh,Hh,T8,Aa,Ss,mf,Yq,L1,Ce,Pt,ld,Xy,Yh,_R,Lf,tp,zy,Lx,If,Y5,Px,O5,Sq,Ae,j,vo,Af,pn,b8,j1,g_,aq,Uy,ss,kh,s8,Fh,U2,Gf,no,gq,oT,vq,DR,D6,cc,Y1,ls,qh,jf,Cl,KT,fh,Qf,hc,Ff,jh,J5,Mf,Bu,t9,Nn,pc,Yp,vf,Td,Cq,dq,ef,hd,Zh,Ca,Yi,qk,Jq,ji,ol,cq,I5,LT,Uq,Zy,zt,er,nm,Oh,_6,X5,wq,pf,nf,ct,Qk,cu,nx,n9,pq,te],i_=[0,0,0];g1(11,Db,iee),g1(10,Wa,Cee),g1(9,[Ws,GF,QL],GF),g1(8,yRe,Mee),g1(7,kRe,bi),g1(6,kd,DU),g1(5,[Ws,Xw,-6],Xw),g1(4,[Ws,$oe,-5],$oe),g1(3,uQ,l0e),g1(2,n_,zr),g1(1,mRe,Hoe),g1(0,XK,xt);function i0(o){if(typeof o=="number")return 0;switch(o[0]){case 0:return[0,i0(o[1])];case 1:return[1,i0(o[1])];case 2:return[2,i0(o[1])];case 3:return[3,i0(o[1])];case 4:return[4,i0(o[1])];case 5:return[5,i0(o[1])];case 6:return[6,i0(o[1])];case 7:return[7,i0(o[1])];case 8:var T=o[1];return[8,T,i0(o[2])];case 9:var a=o[1];return[9,a,a,i0(o[3])];case 10:return[10,i0(o[1])];case 11:return[11,i0(o[1])];case 12:return[12,i0(o[1])];case 13:return[13,i0(o[1])];default:return[14,i0(o[1])]}}function Hu(o,T){if(typeof o=="number")return T;switch(o[0]){case 0:return[0,Hu(o[1],T)];case 1:return[1,Hu(o[1],T)];case 2:return[2,Hu(o[1],T)];case 3:return[3,Hu(o[1],T)];case 4:return[4,Hu(o[1],T)];case 5:return[5,Hu(o[1],T)];case 6:return[6,Hu(o[1],T)];case 7:return[7,Hu(o[1],T)];case 8:var a=o[1];return[8,a,Hu(o[2],T)];case 9:var u=o[2],p=o[1];return[9,p,u,Hu(o[3],T)];case 10:return[10,Hu(o[1],T)];case 11:return[11,Hu(o[1],T)];case 12:return[12,Hu(o[1],T)];case 13:return[13,Hu(o[1],T)];default:return[14,Hu(o[1],T)]}}function Uo(o,T){if(typeof o=="number")return T;switch(o[0]){case 0:return[0,Uo(o[1],T)];case 1:return[1,Uo(o[1],T)];case 2:var a=o[1];return[2,a,Uo(o[2],T)];case 3:var u=o[1];return[3,u,Uo(o[2],T)];case 4:var p=o[3],d=o[2],q=o[1];return[4,q,d,p,Uo(o[4],T)];case 5:var g=o[3],O=o[2],B=o[1];return[5,B,O,g,Uo(o[4],T)];case 6:var W=o[3],Y=o[2],V=o[1];return[6,V,Y,W,Uo(o[4],T)];case 7:var Z=o[3],se=o[2],ae=o[1];return[7,ae,se,Z,Uo(o[4],T)];case 8:var ue=o[3],pe=o[2],xe=o[1];return[8,xe,pe,ue,Uo(o[4],T)];case 9:var ye=o[1];return[9,ye,Uo(o[2],T)];case 10:return[10,Uo(o[1],T)];case 11:var ge=o[1];return[11,ge,Uo(o[2],T)];case 12:var Ne=o[1];return[12,Ne,Uo(o[2],T)];case 13:var Fe=o[2],ze=o[1];return[13,ze,Fe,Uo(o[3],T)];case 14:var ut=o[2],it=o[1];return[14,it,ut,Uo(o[3],T)];case 15:return[15,Uo(o[1],T)];case 16:return[16,Uo(o[1],T)];case 17:var Tt=o[1];return[17,Tt,Uo(o[2],T)];case 18:var Rt=o[1];return[18,Rt,Uo(o[2],T)];case 19:return[19,Uo(o[1],T)];case 20:var kt=o[2],ft=o[1];return[20,ft,kt,Uo(o[3],T)];case 21:var It=o[1];return[21,It,Uo(o[2],T)];case 22:return[22,Uo(o[1],T)];case 23:var dt=o[1];return[23,dt,Uo(o[2],T)];default:var Ot=o[2],At=o[1];return[24,At,Ot,Uo(o[3],T)]}}function Ln(o){throw Pr([0,n_,o],1)}function UR(o){throw Pr([0,uQ,o],1)}function lQ(o){return 0<=o?o:-o|0}var $ge=Kx,Qge=ot;function hi(o,T){var a=ii(o),u=ii(T),p=Do(a+u|0);return dd(o,0,p,0,a),dd(T,0,p,a,u),kR(p)}function pi(o,T){if(!o)return T;var a=o[2],u=o[1];if(!a)return[0,u,T];var p=a[2],d=a[1];if(!p)return[0,u,[0,d,T]];for(var q=[0,p[1],Mp],g=q,O=1,B=p[2];;){if(B){var W=B[2],Y=B[1];if(W){var V=W[2],Z=W[1];if(V){var se=[0,V[1],Mp],ae=V[2];g[1+O]=[0,Y,[0,Z,se]];var g=se,O=1,B=ae;continue}g[1+O]=[0,Y,[0,Z,T]]}else g[1+O]=[0,Y,T]}else g[1+O]=T;return[0,u,[0,d,q]]}}hge(0);var ARe=hRe(1),a_=hRe(2),Nge="output_substring";function Sb(o,T){KK(o,T,0,ii(T))}function gRe(o,T,a,u){return 0<=a&&0<=u&&(ii(T)-u|0)>=a?KK(o,T,a,u):UR(Nge)}function bRe(o){return Sb(a_,o),fRe(a_,10),t_(a_)}var eG=[0,function(o){for(var T=fge(0);;){if(!T)return 0;var a=T[2],u=T[1];try{t_(u)}catch(q){var p=n0(q);if(p[1]!==mRe)throw Pr(p,0)}var T=a}}],ERe=[0,function(o){}];function tG(o){return J(ERe[1],0),J(q9(eG),0)}VK($O,tG);var ORe=Age(0)[1],$b=(4*qge(0)|0)-1|0;function cQ(o,T){return T?[0,J(o,T[1])]:0}function vRe(o){return 25>>0?o:o-32|0}var wge="hd",Pge="tl",Bge="List.iter2";function r2(o){for(var T=0,a=o;;){if(!a)return T;var T=T+1|0,a=a[2]}}function Qb(o){return o?o[1]:Ln(wge)}function DRe(o){return o?o[2]:Ln(Pge)}function S9(o,T){for(var a=o,u=T;;){if(!a)return u;var p=[0,a[1],u],a=a[2],u=p}}function xn(o){return S9(o,0)}function Nb(o){if(!o)return 0;var T=o[1];return pi(T,Nb(o[2]))}function yd(o,T){if(!T)return 0;var a=T[2],u=T[1];if(!a)return[0,o(u),0];for(var p=a[2],d=a[1],q=o(u),g=[0,o(d),Mp],O=g,B=1,W=p;;){if(W){var Y=W[2],V=W[1];if(Y){var Z=Y[2],se=Y[1],ae=o(V),ue=[0,o(se),Mp];O[1+B]=[0,ae,ue];var O=ue,B=1,W=Z;continue}O[1+B]=[0,o(V),0]}else O[1+B]=0;return[0,q,g]}}function TQ(o,T){for(var a=0,u=T;;){if(!u)return a;var p=u[2],a=[0,o(u[1]),a],u=p}}function yR(o,T){for(var a=T;;){if(!a)return 0;var u=a[2];J(o,a[1]);var a=u}}function tR(o,T,a){for(var u=T,p=a;;){if(!p)return u;var d=p[2],u=K(o,u,p[1]),p=d}}function rG(o,T,a){if(!T)return a;var u=T[1];return o(u,rG(o,T[2],a))}function SRe(o,T,a){for(var u=T,p=a;;){if(u){if(p){var d=p[2],q=u[2];o(u[1],p[1]);var u=q,p=d;continue}}else if(!p)return;return UR(Bge)}}function $9(o,T){for(var a=T;;){if(!a)return 0;var u=a[2],p=J(o,a[1]);if(p)return p;var a=u}}function nG(o,T){for(var a=T;;){if(!a)return 0;var u=a[2],p=tRe(a[1],o)===0?1:0;if(p)return p;var a=u}}function wb(o,T){for(var a=T;;){if(!a)return 0;var u=a[2],p=a[1];if(o(p))for(var d=[0,p,Mp],q=d,g=1,O=u;;){if(!O)return q[1+g]=0,d;var B=O[2],W=O[1];if(o(W)){var Y=[0,W,Mp];q[1+g]=Y;var q=Y,g=1,O=B}else var O=B}else var a=u}}var Ige="String.sub / Bytes.sub",Mge="Bytes.blit",Wge="String.blit / Bytes.blit_string";function B8(o,T){var a=Do(o);return M3e(a,0,o,T),a}function $Re(o,T,a){if(0<=T&&0<=a&&(A1(o)-a|0)>=T){var u=Do(a);return Vx(o,T,u,0,a),u}return UR(Ige)}function Q9(o,T,a){return kR($Re(o,T,a))}function QRe(o,T,a,u,p){if(0<=p&&0<=T&&(A1(o)-p|0)>=T&&0<=u&&(A1(a)-p|0)>=u){Vx(o,T,a,u,p);return}return UR(Mge)}function s_(o,T,a,u,p){if(0<=p&&0<=T&&(ii(o)-p|0)>=T&&0<=u&&(A1(a)-p|0)>=u){dd(o,T,a,u,p);return}return UR(Wge)}var Uge="String.concat",Fge=ua;function pQ(o,T){return kR(B8(o,T))}function qR(o,T,a){return kR($Re(q1(o),T,a))}function NRe(o,T){if(!T)return Fge;var a=ii(o);e:{t:{for(var u=0,p=T,d=0;p;){var q=p[1];if(!p[2])break t;var g=(ii(q)+a|0)+u|0,O=p[2],B=u<=g?g:UR(Uge),u=B,p=O}var W=u;break e}var W=ii(q)+u|0}for(var Y=Do(W),V=d,Z=T;;){if(Z){var se=Z[1];if(Z[2]){var ae=Z[2];dd(se,0,Y,V,ii(se)),dd(o,0,Y,V+ii(se)|0,a);var V=(V+ii(se)|0)+a|0,Z=ae;continue}dd(se,0,Y,V,ii(se))}return kR(Y)}}function wRe(o){var T=q1(o);if(A1(T)===0)var a=T;else{var u=A1(T),p=Do(u);Vx(T,0,p,0,u),As(p,0,vRe(Lu(T,0)));var a=p}return kR(a)}function PRe(o,T){var a=ii(o),u=a<=ii(T)?1:0;if(!u)return u;for(var p=0;;){if(p===a)return 1;if($r(T,p)!==$r(o,p))return 0;var p=p+1|0}}function BRe(o,T){var a=[0,0],u=[0,ii(T)],p=ii(T)-1|0;if(p>=0)for(var d=p;;){if($r(T,d)===o){var q=a[1];a[1]=[0,qR(T,d+1|0,(u[1]-d|0)-1|0),q],u[1]=d}var g=d-1|0;if(d===0)break;var d=g}var O=a[1];return[0,qR(T,0,u[1]),O]}function _Q(o,T){return q3e(q1(o),T)}var Lge="Array.blit";function IRe(o,T,a,u,p){if(0<=p&&0<=T&&(o.length-1-p|0)>=T&&0<=u&&(a.length-1-p|0)>=u){p3e(o,T,a,u,p);return}return UR(Lge)}function MRe(o,T){var a=T.length-1-1|0,u=0;if(a>=0)for(var p=u;;){o(T[1+p]);var d=p+1|0;if(a===p)break;var p=d}}function hQ(o,T){var a=T.length-1;if(a===0)return[0];var u=fm(a,o(T[1])),p=a-1|0,d=1;if(p>=1)for(var q=d;;){u[1+q]=o(T[1+q]);var g=q+1|0;if(p===q)break;var q=g}return u}function Pb(o){if(!o)return[0];for(var T=0,a=o,u=o[2],p=o[1];a;)var T=T+1|0,a=a[2];for(var d=fm(T,p),q=1,g=u;;){if(!g)return d;var O=g[2];d[1+q]=g[1];var q=q+1|0,g=O}}function WRe(o){try{var T=[0,Q8(o)];return T}catch(u){var a=n0(u);if(a[1]===n_)return 0;throw Pr(a,0)}}var zge=c8,Hge=c8,Yge=c8,Kge=c8;function iG(o){function T(q){return q?q[5]:0}function a(q,g,O,B){var W=T(q),Y=T(B),V=Y<=W?W+1|0:Y+1|0;return[0,q,g,O,B,V]}function u(q,g,O,B){var W=q?q[5]:0,Y=B?B[5]:0;if((Y+2|0)=Y){var Ne=Y<=W?W+1|0:Y+1|0;return[0,q,g,O,B,Ne]}if(!B)return UR(Kge);var Fe=B[4],ze=B[3],ut=B[2],it=B[1],Tt=T(it);if(Tt<=T(Fe))return a(a(q,g,O,it),ut,ze,Fe);if(!it)return UR(Yge);var Rt=it[3],kt=it[2],ft=it[1],It=a(it[4],ut,ze,Fe);return a(a(q,g,O,ft),kt,Rt,It)}function p(q,g,O){if(!O)return[0,0,q,g,0,1];var B=O[4],W=O[3],Y=O[2],V=O[1],Z=O[5],se=K(o[1],q,Y);if(se===0)return W===g?O:[0,V,q,g,B,Z];if(0<=se){var ae=p(q,g,B);return B===ae?O:u(V,Y,W,ae)}var ue=p(q,g,V);return V===ue?O:u(ue,Y,W,B)}function d(q,g,O){for(var B=g,W=O;;){if(!B)return W;var Y=B[4],V=B[3],Z=B[2],se=q(Z,V,d(q,B[1],W)),B=Y,W=se}}return[0,0,p,,,,,,,,,,,,,,,function(q,g){for(var O=g;;){if(!O)throw Pr(kd,1);var B=O[4],W=O[3],Y=O[1],V=K(o[1],q,O[2]);if(V===0)return W;var Z=0<=V?B:Y,O=Z}},,,,,,,d]}function Bb(o){return[0,0,0]}function Ib(o){o[1]=0,o[2]=0}function I8(o,T){T[1]=[0,o,T[1]],T[2]=T[2]+1|0}function N9(o){var T=o[1];if(!T)return 0;var a=T[1];return o[1]=T[2],o[2]=o[2]-1|0,[0,a]}function w9(o){var T=o[1];return T?[0,T[1]]:0}function URe(o){return[0,0,0,0]}function aG(o){o[1]=0,o[2]=0,o[3]=0}function sG(o,T){var a=[0,o,0],u=T[3];return u?(T[1]=T[1]+1|0,u[2]=a,T[3]=a,0):(T[1]=1,T[2]=a,T[3]=a,0)}var Gge="Buffer.add: cannot grow buffer",Vge="Buffer.add_substring/add_subbytes";function vs(o){var T=1<=o?o:1,a=$b=(a+T|0));)u[1]=2*u[1]|0;$b=0)for(var q=d;;){As(u,q,o(Lu(T,q)));var g=q+1|0;if(p===q)break;var q=g}return u}var Kbe=m9,Gbe="%+d",Vbe="% d",jbe=coe,Jbe="%+i",Xbe="% i",Zbe="%x",eEe="%#x",tEe="%X",rEe="%#X",nEe="%o",iEe="%#o",aEe=Ooe,sEe="%Ld",oEe="%+Ld",REe="% Ld",uEe=_oe,lEe="%+Li",cEe="% Li",TEe="%Lx",pEe="%#Lx",_Ee="%LX",hEe="%#LX",fEe="%Lo",dEe="%#Lo",xEe="%Lu",mEe="%ld",kEe="%+ld",yEe="% ld",qEe=h0e,CEe="%+li",AEe="% li",gEe="%lx",bEe="%#lx",EEe="%lX",OEe="%#lX",vEe="%lo",DEe="%#lo",SEe="%lu",$Ee="%nd",QEe="%+nd",NEe="% nd",wEe=P,PEe="%+ni",BEe="% ni",IEe="%nx",MEe="%#nx",WEe="%nX",UEe="%#nX",FEe="%no",LEe="%#no",zEe="%nu",HEe=[0,Kl],YEe=e_,KEe="neg_infinity",GEe=Uoe,VEe=pY,jEe=[0,k1,1558,4],JEe="Printf: bad conversion %[",XEe=[0,k1,1626,39],ZEe=[0,k1,1649,31],eOe=[0,k1,1650,31],tOe="Printf: bad conversion %_",rOe=Voe,nOe=yee,iOe=Voe,aOe=yee;function fQ(o,T){if(typeof o=="number")return[0,0,T];if(o[0]===0)return[0,[0,o[1],o[2]],T];if(typeof T!="number"&&T[0]===2)return[0,[1,o[1]],T[1]];throw Pr(CR,1)}function Wb(o,T,a){var u=fQ(o,a);if(typeof T!="number")return[0,u[1],[0,T[1]],u[2]];if(!T)return[0,u[1],0,u[2]];var p=u[2];if(typeof p!="number"&&p[0]===2)return[0,u[1],1,p[1]];throw Pr(CR,1)}function fo(o,T){if(typeof o=="number")return[0,0,T];switch(o[0]){case 0:if(typeof T!="number"&&T[0]===0){var a=fo(o[1],T[1]);return[0,[0,a[1]],a[2]]}break;case 1:if(typeof T!="number"&&T[0]===0){var u=fo(o[1],T[1]);return[0,[1,u[1]],u[2]]}break;case 2:var p=o[2],d=fQ(o[1],T),q=d[2],g=d[1];if(typeof q!="number"&&q[0]===1){var O=fo(p,q[1]);return[0,[2,g,O[1]],O[2]]}throw Pr(CR,1);case 3:var B=o[2],W=fQ(o[1],T),Y=W[2],V=W[1];if(typeof Y!="number"&&Y[0]===1){var Z=fo(B,Y[1]);return[0,[3,V,Z[1]],Z[2]]}throw Pr(CR,1);case 4:var se=o[4],ae=o[1],ue=Wb(o[2],o[3],T),pe=ue[3],xe=ue[1];if(typeof pe!="number"&&pe[0]===2){var ye=ue[2],ge=fo(se,pe[1]);return[0,[4,ae,xe,ye,ge[1]],ge[2]]}throw Pr(CR,1);case 5:var Ne=o[4],Fe=o[1],ze=Wb(o[2],o[3],T),ut=ze[3],it=ze[1];if(typeof ut!="number"&&ut[0]===3){var Tt=ze[2],Rt=fo(Ne,ut[1]);return[0,[5,Fe,it,Tt,Rt[1]],Rt[2]]}throw Pr(CR,1);case 6:var kt=o[4],ft=o[1],It=Wb(o[2],o[3],T),dt=It[3],Ot=It[1];if(typeof dt!="number"&&dt[0]===4){var At=It[2],wt=fo(kt,dt[1]);return[0,[6,ft,Ot,At,wt[1]],wt[2]]}throw Pr(CR,1);case 7:var or=o[4],rr=o[1],Jt=Wb(o[2],o[3],T),tr=Jt[3],mr=Jt[1];if(typeof tr!="number"&&tr[0]===5){var Xt=Jt[2],hr=fo(or,tr[1]);return[0,[7,rr,mr,Xt,hr[1]],hr[2]]}throw Pr(CR,1);case 8:var Ge=o[4],Cr=o[1],rt=Wb(o[2],o[3],T),yr=rt[3],sr=rt[1];if(typeof yr!="number"&&yr[0]===6){var Ir=rt[2],Dr=fo(Ge,yr[1]);return[0,[8,Cr,sr,Ir,Dr[1]],Dr[2]]}throw Pr(CR,1);case 9:var on=o[2],cn=fQ(o[1],T),Lr=cn[2],fn=cn[1];if(typeof Lr!="number"&&Lr[0]===7){var rn=fo(on,Lr[1]);return[0,[9,fn,rn[1]],rn[2]]}throw Pr(CR,1);case 10:var vt=fo(o[1],T);return[0,[10,vt[1]],vt[2]];case 11:var qr=o[1],Pe=fo(o[2],T);return[0,[11,qr,Pe[1]],Pe[2]];case 12:var Lt=o[1],Xe=fo(o[2],T);return[0,[12,Lt,Xe[1]],Xe[2]];case 13:if(typeof T!="number"&&T[0]===8){var Mt=T[1],Gt=T[2],Ze=o[3],Xr=o[1];if(w8([0,o[2]],[0,Mt]))throw Pr(CR,1);var qt=fo(Ze,Gt);return[0,[13,Xr,Mt,qt[1]],qt[2]]}break;case 14:if(typeof T!="number"&&T[0]===9){var kn=T[1],Ki=T[3],Qe=o[3],Vt=o[2],We=o[1],Qt=[0,i0(kn)];if(w8([0,i0(Vt)],Qt))throw Pr(CR,1);var gn=fo(Qe,i0(Ki));return[0,[14,We,kn,gn[1]],gn[2]]}break;case 15:if(typeof T!="number"&&T[0]===10){var qn=fo(o[1],T[1]);return[0,[15,qn[1]],qn[2]]}break;case 16:if(typeof T!="number"&&T[0]===11){var gr=fo(o[1],T[1]);return[0,[16,gr[1]],gr[2]]}break;case 17:var wn=o[1],br=fo(o[2],T);return[0,[17,wn,br[1]],br[2]];case 18:var jn=o[2],Rn=o[1];if(Rn[0]===0){var ai=Rn[1],mn=ai[2],Jn=fo(ai[1],T),Oi=Jn[1],Cn=fo(jn,Jn[2]);return[0,[18,[0,[0,Oi,mn]],Cn[1]],Cn[2]]}var Fi=Rn[1],Ri=Fi[2],Da=fo(Fi[1],T),Ha=Da[1],Fs=fo(jn,Da[2]);return[0,[18,[1,[0,Ha,Ri]],Fs[1]],Fs[2]];case 19:if(typeof T!="number"&&T[0]===13){var Ks=fo(o[1],T[1]);return[0,[19,Ks[1]],Ks[2]]}break;case 20:if(typeof T!="number"&&T[0]===1){var Yo=o[2],ra=o[1],we=fo(o[3],T[1]);return[0,[20,ra,Yo,we[1]],we[2]]}break;case 21:if(typeof T!="number"&&T[0]===2){var Ft=o[1],Oe=fo(o[2],T[1]);return[0,[21,Ft,Oe[1]],Oe[2]]}break;case 23:var yt=o[2],yn=o[1];if(typeof yn!="number")switch(yn[0]){case 0:return dc(yn,yt,T);case 1:return dc(yn,yt,T);case 2:return dc(yn,yt,T);case 3:return dc(yn,yt,T);case 4:return dc(yn,yt,T);case 5:return dc(yn,yt,T);case 6:return dc(yn,yt,T);case 7:return dc(yn,yt,T);case 8:return dc([8,yn[1],yn[2]],yt,T);case 9:var tn=yn[1],di=bl(yn[2],yt,T),ui=di[2];return[0,[23,[9,tn,di[1]],ui[1]],ui[2]];case 10:return dc(yn,yt,T);default:return dc(yn,yt,T)}switch(yn){case 0:return dc(yn,yt,T);case 1:return dc(yn,yt,T);case 2:if(typeof T!="number"&&T[0]===14){var _s=fo(yt,T[1]);return[0,[23,2,_s[1]],_s[2]]}throw Pr(CR,1);default:return dc(yn,yt,T)}}throw Pr(CR,1)}function dc(o,T,a){var u=fo(T,a);return[0,[23,o,u[1]],u[2]]}function bl(o,T,a){if(typeof o=="number")return[0,0,fo(T,a)];switch(o[0]){case 0:if(typeof a!="number"&&a[0]===0){var u=bl(o[1],T,a[1]);return[0,[0,u[1]],u[2]]}break;case 1:if(typeof a!="number"&&a[0]===1){var p=bl(o[1],T,a[1]);return[0,[1,p[1]],p[2]]}break;case 2:if(typeof a!="number"&&a[0]===2){var d=bl(o[1],T,a[1]);return[0,[2,d[1]],d[2]]}break;case 3:if(typeof a!="number"&&a[0]===3){var q=bl(o[1],T,a[1]);return[0,[3,q[1]],q[2]]}break;case 4:if(typeof a!="number"&&a[0]===4){var g=bl(o[1],T,a[1]);return[0,[4,g[1]],g[2]]}break;case 5:if(typeof a!="number"&&a[0]===5){var O=bl(o[1],T,a[1]);return[0,[5,O[1]],O[2]]}break;case 6:if(typeof a!="number"&&a[0]===6){var B=bl(o[1],T,a[1]);return[0,[6,B[1]],B[2]]}break;case 7:if(typeof a!="number"&&a[0]===7){var W=bl(o[1],T,a[1]);return[0,[7,W[1]],W[2]]}break;case 8:if(typeof a!="number"&&a[0]===8){var Y=a[1],V=a[2],Z=o[2];if(w8([0,o[1]],[0,Y]))throw Pr(CR,1);var se=bl(Z,T,V);return[0,[8,Y,se[1]],se[2]]}break;case 9:if(typeof a!="number"&&a[0]===9){var ae=a[2],ue=a[1],pe=a[3],xe=o[3],ye=o[2],ge=o[1],Ne=[0,i0(ue)];if(w8([0,i0(ge)],Ne))throw Pr(CR,1);var Fe=[0,i0(ae)];if(w8([0,i0(ye)],Fe))throw Pr(CR,1);var ze=LR(rR(L0(ue),ae)),ut=ze[4];ze[2].call(null,he),ut(he);var it=bl(i0(xe),T,pe),Tt=it[2];return[0,[9,ue,ae,L0(it[1])],Tt]}break;case 10:if(typeof a!="number"&&a[0]===10){var Rt=bl(o[1],T,a[1]);return[0,[10,Rt[1]],Rt[2]]}break;case 11:if(typeof a!="number"&&a[0]===11){var kt=bl(o[1],T,a[1]);return[0,[11,kt[1]],kt[2]]}break;case 13:if(typeof a!="number"&&a[0]===13){var ft=bl(o[1],T,a[1]);return[0,[13,ft[1]],ft[2]]}break;case 14:if(typeof a!="number"&&a[0]===14){var It=bl(o[1],T,a[1]);return[0,[14,It[1]],It[2]]}break}throw Pr(CR,1)}function xc(o,T,a){var u=ii(a),p=0<=T?o:0,d=lQ(T);if(d<=u)return a;var q=p===2?48:32,g=B8(d,q);switch(p){case 0:s_(a,0,g,0,u);break;case 1:s_(a,0,g,d-u|0,u);break;default:e:if(0p){if(p!==32){if(43>p)break e;switch(p+NU|0){case 5:r:if(u<(a+2|0)&&1=(a+1|0))break e;var q=B8(a+1|0,48);return Jx(q,0,p),s_(T,1,q,(a-u|0)+2|0,u-1|0),kR(q)}if(71<=p){if(5>>0)break e}else if(65>p)break e}if(u=0)for(var d=p;;){var q=Lu(T,d);e:{t:{r:{if(32<=q){var g=q-34|0;if(58>>0){if(93<=g)break r}else if(56>>0)break t;var O=1;break e}if(11<=q){if(q===13)break t}else if(8<=q)break t}var O=4;break e}var O=2}a[1]=a[1]+O|0;var B=d+1|0;if(u===d)break;var d=B}if(a[1]===A1(T))var W=T;else{var Y=Do(a[1]);a[1]=0;var V=A1(T)-1|0,Z=0;if(V>=0)for(var se=Z;;){var ae=Lu(T,se);e:{t:{r:{if(35<=ae){if(ae!==92){if(C0<=ae)break r;break t}}else{if(32>ae){if(14<=ae)break r;switch(ae){case 8:As(Y,a[1],92),a[1]++,As(Y,a[1],98);break e;case 9:As(Y,a[1],92),a[1]++,As(Y,a[1],pm);break e;case 10:As(Y,a[1],92),a[1]++,As(Y,a[1],SR);break e;case 13:As(Y,a[1],92),a[1]++,As(Y,a[1],d0);break e;default:break r}}if(34>ae)break t}As(Y,a[1],92),a[1]++,As(Y,a[1],ae);break e}As(Y,a[1],92),a[1]++,As(Y,a[1],48+(ae/dR|0)|0),a[1]++,As(Y,a[1],48+((ae/10|0)%10|0)|0),a[1]++,As(Y,a[1],48+(ae%10|0)|0);break e}As(Y,a[1],ae)}a[1]++;var ue=se+1|0;if(V===se)break;var se=ue}var W=Y}var pe=kR(W),xe=ii(pe),ye=B8(xe+2|0,34);return dd(pe,0,ye,1,xe),kR(ye)}function jRe(o,T){var a=lQ(T),u=HEe[1];switch(o[2]){case 0:var p=gl;break;case 1:var p=Fr;break;case 2:var p=69;break;case 3:var p=Kl;break;case 4:var p=71;break;case 5:var p=u;break;case 6:var p=lc;break;case 7:var p=72;break;default:var p=70}var d=YRe(16);switch(P9(d,37),o[1]){case 0:break;case 1:P9(d,43);break;default:P9(d,32)}return 8<=o[2]&&P9(d,35),P9(d,46),FR(d,ua+a),P9(d,p),GRe(d)}function dQ(o,T){if(13>o)return T;var a=[0,0],u=ii(T)-1|0,p=0;if(u>=0)for(var d=p;;){9>=$r(T,d)+Mu>>>0&&a[1]++;var q=d+1|0;if(u===d)break;var d=q}var g=a[1],O=Do(ii(T)+((g-1|0)/3|0)|0),B=[0,0];function W(pe){Jx(O,B[1],pe),B[1]++}var Y=[0,((g-1|0)%3|0)+1|0],V=ii(T)-1|0,Z=0;if(V>=0)for(var se=Z;;){var ae=$r(T,se);9>>0||(Y[1]===0&&(W(95),Y[1]=3),Y[1]+=-1),W(ae);var ue=se+1|0;if(V===se)break;var se=ue}return kR(O)}function oOe(o,T){switch(o){case 1:var a=Gbe;break;case 2:var a=Vbe;break;case 4:var a=Jbe;break;case 5:var a=Xbe;break;case 6:var a=Zbe;break;case 7:var a=eEe;break;case 8:var a=tEe;break;case 9:var a=rEe;break;case 10:var a=nEe;break;case 11:var a=iEe;break;case 0:case 13:var a=Kbe;break;case 3:case 14:var a=jbe;break;default:var a=aEe}return dQ(o,X$(a,T))}function ROe(o,T){switch(o){case 1:var a=kEe;break;case 2:var a=yEe;break;case 4:var a=CEe;break;case 5:var a=AEe;break;case 6:var a=gEe;break;case 7:var a=bEe;break;case 8:var a=EEe;break;case 9:var a=OEe;break;case 10:var a=vEe;break;case 11:var a=DEe;break;case 0:case 13:var a=mEe;break;case 3:case 14:var a=qEe;break;default:var a=SEe}return dQ(o,X$(a,T))}function uOe(o,T){switch(o){case 1:var a=QEe;break;case 2:var a=NEe;break;case 4:var a=PEe;break;case 5:var a=BEe;break;case 6:var a=IEe;break;case 7:var a=MEe;break;case 8:var a=WEe;break;case 9:var a=UEe;break;case 10:var a=FEe;break;case 11:var a=LEe;break;case 0:case 13:var a=$Ee;break;case 3:case 14:var a=wEe;break;default:var a=zEe}return dQ(o,X$(a,T))}function lOe(o,T){switch(o){case 1:var a=oEe;break;case 2:var a=REe;break;case 4:var a=lEe;break;case 5:var a=cEe;break;case 6:var a=TEe;break;case 7:var a=pEe;break;case 8:var a=_Ee;break;case 9:var a=hEe;break;case 10:var a=fEe;break;case 11:var a=dEe;break;case 0:case 13:var a=sEe;break;case 3:case 14:var a=uEe;break;default:var a=xEe}return dQ(o,aRe(a,T))}function n2(o,T,a){function u(Y){switch(o[1]){case 0:var V=45;break;case 1:var V=43;break;default:var V=32}return U3e(a,T,V)}function p(Y){var V=A3e(a);return V===3?a<0?KEe:GEe:4<=V?VEe:Y}switch(o[2]){case 5:for(var d=WK(jRe(o,T),a),q=0,g=ii(d);;){if(q===g)var O=0;else{var B=r0(d,q)+_8|0;e:{if(23>>0){if(B===55)break e}else if(21>>0)break e;var q=q+1|0;continue}var O=1}var W=O?d:hi(d,YEe);return p(W)}case 6:return u(he);case 7:return kR(Ybe(vRe,q1(u(he))));case 8:return p(u(he));default:return WK(jRe(o,T),a)}}function Ub(o,T,a,u){for(var p=T,d=a,q=u;;){if(typeof q=="number")return p(d);switch(q[0]){case 0:var g=q[1];return function(Xt){return Ts(p,[5,d,Xt],g)};case 1:var O=q[1];return function(Xt){e:{t:{if(40<=Xt){if(Xt===92){var Cr=Wbe;break e}if(C0>Xt)break t}else{if(32<=Xt){if(39>Xt)break t;var Cr=Ube;break e}if(14>Xt)switch(Xt){case 8:var Cr=Fbe;break e;case 9:var Cr=Lbe;break e;case 10:var Cr=zbe;break e;case 13:var Cr=Hbe;break e}}var hr=Do(4);As(hr,0,92),As(hr,1,48+(Xt/dR|0)|0),As(hr,2,48+((Xt/10|0)%10|0)|0),As(hr,3,48+(Xt%10|0)|0);var Cr=kR(hr);break e}var Ge=Do(1);As(Ge,0,Xt);var Cr=kR(Ge)}var rt=ii(Cr),yr=B8(rt+2|0,39);return dd(Cr,0,yr,1,rt),Ts(p,[4,d,kR(yr)],O)};case 2:return hG(p,d,q[2],q[1],function(Xt){return Xt});case 3:return hG(p,d,q[2],q[1],sOe);case 4:return xQ(p,d,q[4],q[2],q[3],oOe,q[1]);case 5:return xQ(p,d,q[4],q[2],q[3],ROe,q[1]);case 6:return xQ(p,d,q[4],q[2],q[3],uOe,q[1]);case 7:return xQ(p,d,q[4],q[2],q[3],lOe,q[1]);case 8:var B=q[4],W=q[3],Y=q[2],V=q[1];if(typeof Y=="number"){if(typeof W=="number")return W?function(Xt,hr){return Ts(p,[4,d,n2(V,Xt,hr)],B)}:function(Xt){return Ts(p,[4,d,n2(V,TG(V),Xt)],B)};var Z=W[1];return function(Xt){return Ts(p,[4,d,n2(V,Z,Xt)],B)}}if(Y[0]===0){var se=Y[2],ae=Y[1];if(typeof W=="number")return W?function(Xt,hr){return Ts(p,[4,d,xc(ae,se,n2(V,Xt,hr))],B)}:function(Xt){return Ts(p,[4,d,xc(ae,se,n2(V,TG(V),Xt))],B)};var ue=W[1];return function(Xt){return Ts(p,[4,d,xc(ae,se,n2(V,ue,Xt))],B)}}var pe=Y[1];if(typeof W=="number")return W?function(Xt,hr,Ge){return Ts(p,[4,d,xc(pe,Xt,n2(V,hr,Ge))],B)}:function(Xt,hr){return Ts(p,[4,d,xc(pe,Xt,n2(V,TG(V),hr))],B)};var xe=W[1];return function(Xt,hr){return Ts(p,[4,d,xc(pe,Xt,n2(V,xe,hr))],B)};case 9:return hG(p,d,q[2],q[1],Mbe);case 10:var d=[7,d],q=q[1];break;case 11:var d=[2,d,q[1]],q=q[2];break;case 12:var d=[3,d,q[1]],q=q[2];break;case 13:var ye=q[3],ge=q[2],Ne=YRe(16);pG(Ne,ge);var Fe=GRe(Ne);return function(Xt){return Ts(p,[4,d,Fe],ye)};case 14:var ze=q[3],ut=q[2];return function(Xt){var hr=Xt[1],Ge=fo(hr,i0(L0(ut)));if(typeof Ge[2]=="number")return Ts(p,d,Uo(Ge[1],ze));throw Pr(CR,1)};case 15:var it=q[1];return function(Xt,hr){return Ts(p,[6,d,function(Ge){return K(Xt,Ge,hr)}],it)};case 16:var Tt=q[1];return function(Xt){return Ts(p,[6,d,Xt],Tt)};case 17:var d=[0,d,q[1]],q=q[2];break;case 18:var Rt=q[1];if(Rt[0]===0){let Xt=d,hr=p,Ge=q[2];var p=function(sr){return Ts(hr,[1,Xt,[0,sr]],Ge)},d=0,q=Rt[1][1]}else{let Xt=d,hr=p,Ge=q[2];var p=function(sr){return Ts(hr,[1,Xt,[1,sr]],Ge)},d=0,q=Rt[1][1]}break;case 19:throw Pr([0,Wa,jEe],1);case 20:var kt=q[3],ft=[8,d,JEe];return function(Xt){return Ts(p,ft,kt)};case 21:var It=q[2];return function(Xt){return Ts(p,[4,d,X$(Ooe,Xt)],It)};case 22:var dt=q[1];return function(Xt){return Ts(p,[5,d,Xt],dt)};case 23:var Ot=q[2],At=q[1];if(typeof At=="number")switch(At){case 0:return o<50?Ro(o+1|0,p,d,Ot):x0(Ro,[0,p,d,Ot]);case 1:return o<50?Ro(o+1|0,p,d,Ot):x0(Ro,[0,p,d,Ot]);case 2:throw Pr([0,Wa,XEe],1);default:return o<50?Ro(o+1|0,p,d,Ot):x0(Ro,[0,p,d,Ot])}switch(At[0]){case 0:return o<50?Ro(o+1|0,p,d,Ot):x0(Ro,[0,p,d,Ot]);case 1:return o<50?Ro(o+1|0,p,d,Ot):x0(Ro,[0,p,d,Ot]);case 2:return o<50?Ro(o+1|0,p,d,Ot):x0(Ro,[0,p,d,Ot]);case 3:return o<50?Ro(o+1|0,p,d,Ot):x0(Ro,[0,p,d,Ot]);case 4:return o<50?Ro(o+1|0,p,d,Ot):x0(Ro,[0,p,d,Ot]);case 5:return o<50?Ro(o+1|0,p,d,Ot):x0(Ro,[0,p,d,Ot]);case 6:return o<50?Ro(o+1|0,p,d,Ot):x0(Ro,[0,p,d,Ot]);case 7:return o<50?Ro(o+1|0,p,d,Ot):x0(Ro,[0,p,d,Ot]);case 8:return o<50?Ro(o+1|0,p,d,Ot):x0(Ro,[0,p,d,Ot]);case 9:var wt=At[2];return o<50?_G(o+1|0,p,d,wt,Ot):x0(_G,[0,p,d,wt,Ot]);case 10:return o<50?Ro(o+1|0,p,d,Ot):x0(Ro,[0,p,d,Ot]);default:return o<50?Ro(o+1|0,p,d,Ot):x0(Ro,[0,p,d,Ot])}default:var or=q[3],rr=q[1],Jt=J(q[2],0);return o<50?fG(o+1|0,p,d,or,rr,Jt):x0(fG,[0,p,d,or,rr,Jt])}}}function Ts(o,T,a){return RQ(Ub(0,o,T,a))}function _G(o,T,a,u,p){if(typeof u=="number")return o<50?Ro(o+1|0,T,a,p):x0(Ro,[0,T,a,p]);switch(u[0]){case 0:var d=u[1];return function(ge){return yT(T,a,d,p)};case 1:var q=u[1];return function(ge){return yT(T,a,q,p)};case 2:var g=u[1];return function(ge){return yT(T,a,g,p)};case 3:var O=u[1];return function(ge){return yT(T,a,O,p)};case 4:var B=u[1];return function(ge){return yT(T,a,B,p)};case 5:var W=u[1];return function(ge){return yT(T,a,W,p)};case 6:var Y=u[1];return function(ge){return yT(T,a,Y,p)};case 7:var V=u[1];return function(ge){return yT(T,a,V,p)};case 8:var Z=u[2];return function(ge){return yT(T,a,Z,p)};case 9:var se=u[3],ae=u[2],ue=rR(L0(u[1]),ae);return function(ge){return yT(T,a,Hu(ue,se),p)};case 10:var pe=u[1];return function(ge,Ne){return yT(T,a,pe,p)};case 11:var xe=u[1];return function(ge){return yT(T,a,xe,p)};case 12:var ye=u[1];return function(ge){return yT(T,a,ye,p)};case 13:throw Pr([0,Wa,ZEe],1);default:throw Pr([0,Wa,eOe],1)}}function yT(o,T,a,u){return RQ(_G(0,o,T,a,u))}function Ro(o,T,a,u){var p=[8,a,tOe];return o<50?Ub(o+1|0,T,p,u):x0(Ub,[0,T,p,u])}function hG(o,T,a,u,p){if(typeof u=="number")return function(O){return Ts(o,[4,T,p(O)],a)};if(u[0]===0){var d=u[2],q=u[1];return function(O){return Ts(o,[4,T,xc(q,d,p(O))],a)}}var g=u[1];return function(O,B){return Ts(o,[4,T,xc(g,O,p(B))],a)}}function xQ(o,T,a,u,p,d,q){if(typeof u=="number"){if(typeof p=="number")return p?function(Z,se){return Ts(o,[4,T,B9(Z,d(q,se))],a)}:function(Z){return Ts(o,[4,T,d(q,Z)],a)};var g=p[1];return function(Z){return Ts(o,[4,T,B9(g,d(q,Z))],a)}}if(u[0]===0){var O=u[2],B=u[1];if(typeof p=="number")return p?function(Z,se){return Ts(o,[4,T,xc(B,O,B9(Z,d(q,se)))],a)}:function(Z){return Ts(o,[4,T,xc(B,O,d(q,Z))],a)};var W=p[1];return function(Z){return Ts(o,[4,T,xc(B,O,B9(W,d(q,Z)))],a)}}var Y=u[1];if(typeof p=="number")return p?function(Z,se,ae){return Ts(o,[4,T,xc(Y,Z,B9(se,d(q,ae)))],a)}:function(Z,se){return Ts(o,[4,T,xc(Y,Z,d(q,se))],a)};var V=p[1];return function(Z,se){return Ts(o,[4,T,xc(Y,Z,B9(V,d(q,se)))],a)}}function fG(o,T,a,u,p,d){if(p){var q=p[1];return function(O){return cOe(T,a,u,q,J(d,O))}}var g=[4,a,d];return o<50?Ub(o+1|0,T,g,u):x0(Ub,[0,T,g,u])}function cOe(o,T,a,u,p){return RQ(fG(0,o,T,a,u,p))}function i2(o,T){for(var a=T;;){if(typeof a=="number")return;switch(a[0]){case 0:var u=a[1],p=VRe(a[2]);return i2(o,u),Sb(o,p);case 1:var d=a[2],q=a[1];if(d[0]===0){var g=d[1];i2(o,q),Sb(o,rOe);var a=g}else{var O=d[1];i2(o,q),Sb(o,nOe);var a=O}break;case 6:var B=a[2];return i2(o,a[1]),J(B,o);case 7:i2(o,a[1]),t_(o);return;case 8:var W=a[2];return i2(o,a[1]),UR(W);case 2:case 4:var Y=a[2];return i2(o,a[1]),Sb(o,Y);default:var V=a[2];i2(o,a[1]),fRe(o,V);return}}}function a2(o,T){for(var a=T;;){if(typeof a=="number")return;switch(a[0]){case 0:var u=a[1],p=VRe(a[2]);return a2(o,u),pa(o,p);case 1:var d=a[2],q=a[1];if(d[0]===0){var g=d[1];a2(o,q),pa(o,iOe);var a=g}else{var O=d[1];a2(o,q),pa(o,aOe);var a=O}break;case 6:var B=a[2];return a2(o,a[1]),pa(o,J(B,0));case 7:var a=a[1];break;case 8:var W=a[2];return a2(o,a[1]),UR(W);case 2:case 4:var Y=a[2];return a2(o,a[1]),pa(o,Y);default:var V=a[2];return a2(o,a[1]),kT(o,V)}}}function JRe(o,T){return Ts(function(a){return i2(o,a),0},0,T[1])}function dG(o){return JRe(a_,o)}function fa(o){return Ts(function(T){var a=vs(64);return a2(a,T),m0(a)},0,o[1])}var xG=[0,0],TOe=e_,pOe=[0,[3,0,0],CS],_Oe=Dx,hOe=[0,[4,0,0,0,0],m9],fOe=ua,dOe=[0,[11,Q5,[2,0,[2,0,0]]],", %s%s"],xOe=[0,[12,40,[2,0,[2,0,[12,41,0]]]],"(%s%s)"],mOe=ua,kOe=ua,yOe=[0,[12,40,[2,0,[12,41,0]]],"(%s)"],qOe="Out of memory",COe="Stack overflow",AOe="Pattern matching failed",gOe="Assertion failed",bOe="Undefined recursive module",EOe="Raised at",OOe="Re-raised at",vOe="Raised by primitive operation at",DOe="Called from",SOe=[0,[12,32,[4,0,0,0,0]]," %d"],$Oe=" (inlined)",QOe=[0,[2,0,[12,32,[2,0,[11,' in file "',[2,0,[12,34,[2,0,[11,", line",[2,0,[11,Ct,Sge]]]]]]]]]],'%s %s in file "%s"%s, line%s, characters %d-%d'],NOe=ua,wOe=[0,[11,"s ",[4,0,0,0,[12,45,[4,0,0,0,0]]]],"s %d-%d"],POe=[0,[2,0,[11," unknown location",0]],"%s unknown location"],BOe=[0,[2,0,[12,10,0]],`%s +`];function mG(o,T){var a=o[1+T];if(!(1-(typeof a=="number"?1:0)))return J(fa(hOe),a);if(P8(a)===rb)return J(fa(pOe),a);if(P8(a)!==Aee)return _Oe;for(var u=WK("%.12g",a),p=0,d=ii(u);;){if(d<=p)return hi(u,TOe);var q=r0(u,p);e:{if(48<=q){if(58>q)break e}else if(q===45)break e;return u}var p=p+1|0}}function XRe(o,T){if(o.length-1<=T)return fOe;var a=XRe(o,T+1|0),u=mG(o,T);return K(fa(dOe),u,a)}function Fb(o){e:{t:{for(var T=q9(xG);T;){r:{var a=T[2],u=T[1];try{var p=J(u,o)}catch{break r}if(p)break t}var T=a}var d=0;break e}var d=[0,p[1]]}if(d)return d[1];if(o===XK)return qOe;if(o===yRe)return COe;if(o[1]===kRe){var q=o[2],g=q[3],O=q[2],B=q[1];return JK(fa(ZK),B,O,g,g+5|0,AOe)}if(o[1]===Wa){var W=o[2],Y=W[3],V=W[2],Z=W[1];return JK(fa(ZK),Z,V,Y,Y+6|0,gOe)}if(o[1]===Db){var se=o[2],ae=se[3],ue=se[2],pe=se[1];return JK(fa(ZK),pe,ue,ae,ae+6|0,bOe)}if(P8(o)===0){var xe=o.length-1,ye=o[1][1];if(2>>0)var ge=XRe(o,2),Ne=mG(o,1),Fe=K(fa(xOe),Ne,ge);else switch(xe){case 0:var Fe=mOe;break;case 1:var Fe=kOe;break;default:var ze=mG(o,1),Fe=J(fa(yOe),ze)}var ut=[0,ye,[0,Fe]]}else var ut=[0,o[1],0];var it=ut[2],Tt=ut[1];return it?hi(Tt,it[1]):Tt}function kG(o,T){var a=P3e(T),u=a.length-1-1|0,p=0;if(u>=0)for(var d=p;;){var q=Wo(a,d)[1+d];let Fe=d;var g=function(ut){return ut?Fe===0?EOe:OOe:Fe===0?vOe:DOe};if(q[0]===0){if(q[3]===q[6])var O=q[3],Y=J(fa(SOe),O);else var B=q[6],W=q[3],Y=K(fa(wOe),W,B);var V=q[7],Z=q[4],se=q[8]?$Oe:NOe,ae=q[2],ue=q[9],pe=g(q[1]),ye=[0,Dge(fa(QOe),pe,ue,ae,se,Y,Z,V)]}else if(q[1])var ye=0;else var xe=g(0),ye=[0,J(fa(POe),xe)];if(ye){var ge=ye[1];J(JRe(o,BOe),ge)}var Ne=d+1|0;if(u===d)break;var d=Ne}}function yG(o){for(;;){var T=q9(xG),a=1-H$(xG,T,[0,o,T]);if(!a)return a}}var IOe=[0,ua,`(Cannot print locations: + bytecode executable program file not found)`,`(Cannot print locations: + bytecode executable program file appears to be corrupt)`,`(Cannot print locations: + bytecode executable program file has wrong magic number)`,`(Cannot print locations: + bytecode executable program file cannot be opened; + -- too many open files. Try running with OCAMLRUNPARAM=b=2)`].slice(),MOe=[0,[11,qL,[2,0,[12,10,0]]],Fee],WOe=[0],UOe="Fatal error: out of memory in uncaught exception handler",FOe=[0,[11,qL,[2,0,[12,10,0]]],Fee],LOe=[0,[11,"Fatal error in uncaught exception handler: exception ",[2,0,[12,10,0]]],`Fatal error in uncaught exception handler: exception %s +`];VK(ql,function(o,T){try{try{var a=T?WOe:iRe(0);try{tG(he)}catch{}try{var u=Fb(o);J(dG(MOe),u),kG(a_,a);var p=uge(0);if(p<0){var d=lQ(p);bRe(Wo(IOe,d)[1+d])}var q=t_(a_),g=q}catch(Z){var O=n0(Z),B=Fb(o);J(dG(FOe),B),kG(a_,a);var W=Fb(O);J(dG(LOe),W),kG(a_,iRe(0));var g=t_(a_)}var Y=g}catch(Z){var V=n0(Z);if(V!==XK)throw Pr(V,0);var Y=bRe(UOe)}return Y}catch{return 0}});var zOe=[Ws,"Stdlib.Fun.Finally_raised",md(0)],HOe="Fun.Finally_raised: ";yG(function(o){return o[1]===zOe?[0,hi(HOe,Fb(o[2]))]:0});var YOe="Digest.BLAKE2: wrong hash size";function qG(o){var T=o[1]<1?1:0,a=T||(64dt){var ft=Ot;continue}var At=dt}else var At=It;var wt=At;break}else var wt=ze;var or=wt-ze|0;return 0<=or?I9(o,[0,sve,or+it|0,ave]):eC(o,[0,Rve,wt+ut|0,ove],o[6]);case 3:var rr=a[2],Jt=a[1];if(o[8]<(o[6]-o[9]|0)){var tr=w9(o[2]);if(tr){var mr=tr[1],Xt=mr[2],hr=mr[1];o[9]=hr-1>>>0&&sue(o,Xt)}else kQ(o)}var Ge=o[9]-Jt|0,Cr=rr===1?1:o[9]=o[14]);)Tue(o,he);return o[13]=iue,oue(o),T&&kQ(o),o[12]=1,o[13]=1,aG(o[28]),gG(o[1]),Ib(o[2]),Ib(o[3]),Ib(o[4]),Ib(o[5]),o[10]=0,o[14]=0,o[9]=o[6],cue(o,0,3)}function EG(o,T,a){var u=o[14]=a)return sn(o[17],fue,0,a);sn(o[17],fue,0,80);var a=a-80|0}}function yve(o){return o[1]===CG?hi(_ve,hi(o[2],pve)):hve}function qve(o){return o[1]===CG?hi(dve,hi(o[2],fve)):xve}function Cve(o){return 0}function Ave(o){return 0}function vG(o,T,a,u,p){var d=URe(he),q=[0,nue,mve,0];sG(q,d);var g=Bb(he);gG(g),I8([0,1,q],g);var O=78,B=Bb(he),W=Bb(he),Y=Bb(he);return[0,g,Bb(he),Y,W,B,O,10,68,O,0,1,1,1,1,Tve,kve,o,T,a,u,p,0,0,yve,qve,Cve,Ave,d]}function due(o,T){var a=vG(o,T,function(u){return 0},function(u){return 0},function(u){return 0});return a[19]=function(u){return OG(a,he)},a[20]=function(u){return M9(a,u)},a[21]=function(u){return M9(a,u)},a}function xue(o){return due(function(T,a,u){return gRe(o,T,a,u)},function(T){return t_(o)})}function DG(o){return due(function(T,a,u){return RG(o,T,a,u)},function(T){return 0})}var SG=aY;function mue(o){return vs(SG)}var kue=mue(he),gve=xue(ARe),bve=xue(a_),Eve=DG(kue),yue=qd(0,mue);Mb(yue,kue),Mb(qd(0,function(o){return DG(M8(yue))}),Eve);function que(o,T,a,u){return RG(M8(o),T,a,u)}function Cue(o,T,a){var u=M8(T),p=u[2];return gRe(o,m0(u),0,p),t_(o),u[2]=0,0}var Aue=qd(0,function(o){return vs(SG)}),gue=qd(0,function(o){return vs(SG)}),bue=qd(0,function(o){var T=vG(function(a,u,p){return que(Aue,a,u,p)},function(a){return Cue(ARe,Aue,he)},function(a){return 0},function(a){return 0},function(a){return 0});return T[19]=function(a){return OG(T,he)},T[20]=function(a){return M9(T,a)},T[21]=function(a){return M9(T,a)},HRe(function(a){return W8(T,he)}),T});Mb(bue,gve);var Eue=qd(0,function(o){var T=vG(function(a,u,p){return que(gue,a,u,p)},function(a){return Cue(a_,gue,he)},function(a){return 0},function(a){return 0},function(a){return 0});return T[19]=function(a){return OG(T,he)},T[20]=function(a){return M9(T,a)},T[21]=function(a){return M9(T,a)},HRe(function(a){return W8(T,he)}),T});Mb(Eue,bve);var Ove="Buffer.sub",vve=[0,0,4],Dve=[0,[11,"invalid box description ",[3,0,0]],"invalid box description %S"],Sve=ua,$ve=ua,Qve=ua,Nve=ua;function Oue(o,T){var a=vs(16),u=DG(a);o(u,T),W8(u,he);var p=a[2];if(2>p)return m0(a);var d=p-2|0,q=1;return 0<=d&&(a[2]-d|0)>=1?Q9(a[1][1],q,d):UR(Ove)}function qT(o,T){if(typeof T!="number"){e:{t:{r:{switch(T[0]){case 0:var a=T[2];if(qT(o,T[1]),typeof a=="number")switch(a){case 0:return Tue(o,he);case 1:return pue(o,he);case 2:return W8(o,he);case 3:var u=o[14]>>0)break;var ze=ze+1|0}break n}var ut=qR(pe,Fe,ze-Fe|0),it=Ne(ze);n:i:{for(var Tt=it;;){if(Tt===ye)break i;var Rt=r0(pe,Tt);if(48<=Rt){if(58<=Rt)break}else if(Rt!==45)break;var Tt=Tt+1|0}break n}if(it===Tt)var kt=0;else try{var ft=mT(qR(pe,it,Tt-it|0)),kt=ft}catch(rn){var It=n0(rn);if(It[1]!==n_)throw Pr(It,0);var kt=ge(he)}Ne(Tt)!==ye&&ge(he);n:{if(Re(ut,ua)&&Re(ut,TY)){if(!Re(ut,"h")){var dt=0;break n}if(!Re(ut,"hov")){var dt=3;break n}if(!Re(ut,"hv")){var dt=2;break n}if(Re(ut,gF)){var dt=ge(he);break n}var dt=1;break n}var dt=4}var xe=[0,kt,dt]}return cue(o,xe[1],xe[2]);case 2:var Ot=T[1];if(typeof Ot!="number"&&Ot[0]===0){var At=Ot[2];if(typeof At!="number"&&At[0]===1){var wt=T[2],or=At[2],rr=Ot[1];break t}}var rt=T[2],yr=Ot;break e;case 3:var Jt=T[1];if(typeof Jt!="number"&&Jt[0]===0){var tr=Jt[2];if(typeof tr!="number"&&tr[0]===1){var mr=T[2],Xt=tr[2],hr=Jt[1];break}}var Dr=T[2],on=Jt;break r;case 4:var Ge=T[1];if(typeof Ge!="number"&&Ge[0]===0){var Cr=Ge[2];if(typeof Cr!="number"&&Cr[0]===1){var wt=T[2],or=Cr[2],rr=Ge[1];break t}}var rt=T[2],yr=Ge;break e;case 5:var sr=T[1];if(typeof sr!="number"&&sr[0]===0){var Ir=sr[2];if(typeof Ir!="number"&&Ir[0]===1){var mr=T[2],Xt=Ir[2],hr=sr[1];break}}var Dr=T[2],on=sr;break r;case 6:var cn=T[2];return qT(o,T[1]),J(cn,o);case 7:return qT(o,T[1]),W8(o,he);default:var Lr=T[2];return qT(o,T[1]),UR(Lr)}return qT(o,hr),EG(o,Xt,pQ(1,mr))}return qT(o,on),zb(o,Dr)}return qT(o,rr),EG(o,or,wt)}return qT(o,yr),hue(o,ii(rt),rt)}}function z0(o){return function(T){return Ts(function(a){return qT(o,a),0},0,T[1])}}var wve="Array.sub",Pve="first domain already spawned",Bve=[0,"camlinternalOO.ml",GZ,50],Ive=[0,Doe,72,5],Mve=[0,Doe,81,2],Wve="/tmp",Uve=e_,Fve=[0,"src/wtf8.ml",65,9],Lve=[0,"src/third-party/sedlex/flow_sedlexing.ml",CL,4],zve="Flow_sedlexing.MalFormed",Hve=vS,Yve=ck,Kve=Up,Gve=pb,Vve=$8,jve=[0,[12,40,[18,[1,[0,[11,vh,0],vh]],[11,"File_key.LibFile",[17,[0,Yl,1,0],0]]]],"(@[<2>File_key.LibFile@ "],Jve=[0,[3,0,0],CS],Xve=[0,[17,0,[12,41,0]],Bx],Zve=[0,[12,40,[18,[1,[0,[11,vh,0],vh]],[11,"File_key.SourceFile",[17,[0,Yl,1,0],0]]]],"(@[<2>File_key.SourceFile@ "],eDe=[0,[3,0,0],CS],tDe=[0,[17,0,[12,41,0]],Bx],rDe=[0,[12,40,[18,[1,[0,[11,vh,0],vh]],[11,"File_key.JsonFile",[17,[0,Yl,1,0],0]]]],"(@[<2>File_key.JsonFile@ "],nDe=[0,[3,0,0],CS],iDe=[0,[17,0,[12,41,0]],Bx],aDe=[0,[12,40,[18,[1,[0,[11,vh,0],vh]],[11,"File_key.ResourceFile",[17,[0,Yl,1,0],0]]]],"(@[<2>File_key.ResourceFile@ "],sDe=[0,[3,0,0],CS],oDe=[0,[17,0,[12,41,0]],Bx],RDe=[0,1],uDe=[0,0],lDe=[0,1],cDe=[0,2],TDe=[0,2],pDe=[0,0],_De=[0,1],hDe=[0,1],fDe=[0,1],dDe=[0,1],xDe=[0,2],mDe=[0,1],kDe=[0,1],yDe=[0,0,0],qDe=[0,0,0],CDe=[0,te,pq,n9,nx,cu,Qk,ct,nf,pf,wq,X5,_6,Oh,nm,er,zt,Zy,Uq,LT,I5,cq,ol,ji,Jq,qk,Yi,Ca,Zh,hd,ef,dq,Cq,Td,vf,Yp,pc,Nn,t9,Bu,Mf,J5,jh,Ff,hc,Qf,fh,KT,Cl,jf,qh,ls,Y1,cc,D6,DR,vq,oT,gq,no,Gf,U2,Fh,s8,kh,ss,Uy,aq,g_,j1,b8,pn,Af,vo,j,Ae,Sq,O5,Px,Y5,If,Lx,zy,tp,Lf,_R,Yh,Xy,ld,Pt,Ce,L1,Yq,mf,Ss,Aa,T8,Hh,wh,x6,Nh,Ve,Bf,Ek,B5,o8,A6,mh,S6,h0,K6,Wf,Sh,sd,Lh,Nf,Vy,v5,Y6,ul,Wi,Uh,id,Ph,zT,rq,Vh,o9,Wh,us,im,Bp,td,cf,q0,g5,Rl,Xf,w6,l,zl,Fn,Of,Q6,a9,xk,hT,c9,Hq,nd,_f,qf,I2,Rf,D5,wk,y0,ex,W2,A8,f_,ad,Ch,l8,V5,Cf,Zn,q6,g6,nt,hq,p1,rf,Kf,Jh,hh,Qq,Jf,f8,He,zc,Eh,uc,Vf,lh,V6,Ef,ud,Et,l1,Ok,E5,n8,Qh,G1,af,uf,E6,M0,u9,Gh,pd,Yy,xq,Mr,Zf,bh,M6,$h,Rd,Y2,$p,TT,Bq,Ah,Mc,kf,zf,Np,op,Ee,gf,Bh,_d,eh,bn,Z6,df,Lq,Df,yf,cd,IT,wf,Mq,lf,hf,GT,T6,uR,q_,sq,C6,F,of,xf,L5,Sf,z5,fq,Gp,eq,et,K2,Yf,Tc,sl,Sk,uq,N5,Pf,Hf,ch,mk,Pk,ff,od,cs,Tf,Dh,Gq,oe,Rq,rx,Ih,u8,Ji,Xh,zh,_T,P5,gh,U6,xh,q8,y6,C5,Eq,MR,P6,z1,e9,U5,fd,_c,Th,$f,Zp,X7,_e,B6,ed,rc,Ly,A5,i8,bf,JT,tf,C_,Mh],ADe=[0,jf,Ch,uf,V6,n8,fd,S6,Nh,I2,nt,$f,qk,Ce,hc,ld,gf,zT,o9,q8,Td,T8,W2,K6,rf,f_,hf,IT,pq,O5,Et,M6,j,a9,xf,Pk,ud,lf,sd,lh,nx,Bq,b8,fq,e9,E6,z1,y0,df,Fh,Ok,$h,Ff,Bf,uc,KT,Wi,hh,GT,Q6,Sh,gh,u8,Lf,Mh,Uy,rq,Dh,ol,x6,kh,nd,zh,L1,U2,Aa,Qh,_R,Lh,Rf,ex,Ef,l,uq,Ca,yf,Bp,Wh,_f,zl,af,Rl,j1,JT,Sf,bn,v5,oT,zy,tf,uR,U5,Y1,cu,s8,et,zt,DR,Eh,ul,B6,bh,Yp,Cf,xh,o8,jh,q_,$p,Yi,te,Fn,vf,eq,aq,_6,If,K2,gq,ed,X5,Ih,Gp,mh,nf,im,A8,A5,ef,g6,wf,kf,Pt,Bh,Of,Y5,Ah,Uq,hd,Gq,Qk,dq,qh,Zy,fh,wq,_T,Kf,Rd,Ji,w6,G1,oe,pf,rx,Uh,A6,hT,ff,rc,Y6,Eq,U6,cs,td,Px,c9,Tf,Vy,zc,cc,er,LT,Qf,Sq,pc,Tc,h0,Vf,Xy,Np,ad,tp,Th,pd,Mq,Jh,Xh,Ee,M0,l8,E5,nm,cd,Gf,Mr,f8,Vh,Df,eh,Hf,B5,ls,Ve,Qq,mf,Af,Zh,wh,ss,Ss,I5,L5,us,MR,z5,X7,Zn,J5,T6,Cq,l1,no,He,Hh,C5,Ek,wk,P5,g5,hq,sq,Jq,C_,ct,C6,P6,ji,F,D5,V5,N5,xk,vo,Wf,q6,Mc,q0,Hq,cq,Bu,Ly,Ph,ch,Ae,i8,_e,op,Lx,Rq,zf,id,Yy,xq,Cl,sl,u9,od,g_,Z6,of,t9,Mf,cf,Zf,_d,Oh,Y2,Xf,Yh,Zp,Jf,y6,qf,Yq,Gh,Yf,D6,Lq,_c,bf,p1,Sk,n9,mk,vq,TT,Pf,pn,Nn,Nf],gDe=Lee,bDe=QF,EDe=lF,ODe=tk,vDe=c1,DDe=N0e,SDe=wS,$De=oc,QDe=JZ,NDe=doe,wDe=wc,PDe=_1,BDe=m1,IDe=Z7,MDe=$Z,WDe=Lc,UDe=v0e,FDe=Bg,LDe=em,zDe=h$,HDe=Xd,YDe=qP,KDe=jF,GDe=Qx,VDe=o6,jDe=Vw,JDe=_F,XDe=jd,ZDe=z4,eSe=joe,tSe=Hp,rSe=s9,nSe=UZ,iSe=c,aSe=om,sSe=Q0e,oSe=bZ,RSe=[0,[18,[1,[0,[11,vh,0],vh]],[11,"{ ",0]],"@[<2>{ "],uSe="Loc.line",lSe=[0,[18,[1,[0,0,ua]],[2,0,[11,uU,[17,[0,Yl,1,0],0]]]],W5],cSe=[0,[4,0,0,0,0],m9],TSe=[0,[17,0,0],Oz],pSe=[0,[12,59,[17,[0,Yl,1,0],0]],";@ "],_Se=jO,hSe=[0,[18,[1,[0,0,ua]],[2,0,[11,uU,[17,[0,Yl,1,0],0]]]],W5],fSe=[0,[4,0,0,0,0],m9],dSe=[0,[17,0,0],Oz],xSe=[0,[17,[0,Yl,1,0],[12,m_,[17,0,0]]],"@ }@]"],mSe=ua,kSe="Object literal may not have data and accessor property with the same name",ySe="Object literal may not have multiple get/set accessors with the same name",qSe="Unexpected token <. Remember, adjacent JSX elements must be wrapped in an enclosing parent tag",CSe="`let [` is ambiguous in this position because it is either a `let` binding pattern, or a member expression.",ASe="Async functions can only be declared at top level or immediately within another function.",gSe="`await` is an invalid identifier in async functions",bSe="`await` is not allowed in async function parameters.",ESe="Computed properties must have a value.",OSe="Constructor can't be an accessor.",vSe="Constructor can't be an async function.",DSe="Constructor can't be a generator.",SSe="It is sufficient for your declare function to just have a Promise return type.",$Se="async is an implementation detail and isn't necessary for your declare function statement. ",QSe="`declare` modifier can only appear on class fields.",NSe="Unexpected token `=`. Initializers are not allowed in a `declare`.",wSe="Unexpected token `=`. Initializers are not allowed in a `declare opaque type`.",PSe="Classes may only have one constructor",BSe="Rest element must be final element of an array pattern",ISe="Cannot export an enum with `export type`, try `export enum E {}` or `module.exports = E;` instead.",MSe="Enum members are separated with `,`. Replace `;` with `,`.",WSe="`const` enums are not supported. Flow Enums are designed to allow for inlining, however the inlining itself needs to be part of the build system (whatever you use) rather than Flow itself.",USe="Expected an object pattern, array pattern, or an identifier but found an expression instead",FSe="Missing comma between export specifiers",LSe="Generators can only be declared at top level or immediately within another function.",zSe="Getter should have zero parameters",HSe="A getter cannot have a `this` parameter.",YSe="Illegal break statement",KSe="Illegal continue statement",GSe="Illegal return statement",VSe="Illegal Unicode escape",jSe="Missing comma between import specifiers",JSe="It cannot be used with `import type` or `import typeof` statements",XSe="The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. ",ZSe="Explicit inexact syntax cannot appear inside an explicit exact object type",e$e="Explicit inexact syntax can only appear inside an object type",t$e="Component params must be an identifier. If you'd like to destructure, you should use `name as {destructure}`",r$e="A bigint literal must be an integer",n$e="JSX value should be either an expression or a quoted JSX text",i$e="Invalid left-hand side in assignment",a$e="Invalid left-hand side in exponentiation expression",s$e="Invalid left-hand side in for-in",o$e="Invalid left-hand side in for-of",R$e="Invalid optional indexed access. Indexed access uses bracket notation. Use the format `T?.[K]`.",u$e="Invalid regular expression",l$e="A bigint literal cannot use exponential notation",c$e="Tuple spread elements cannot be optional.",T$e="Tuple variance annotations can only be used with labeled tuple elements, e.g. `[+foo: number]`",p$e="`typeof` can only be used to get the type of variables.",_$e="JSX attributes must only be assigned a non-empty expression",h$e="Literals cannot be used as shorthand properties.",f$e="Malformed unicode",d$e="`match` argument must not be empty",x$e="`match` argument cannot contain spread elements",m$e="Object pattern can't contain methods",k$e="Expected at least one type parameter.",y$e="Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",q$e="More than one default clause in switch statement",C$e="Illegal newline after throw",A$e="Illegal newline before arrow",g$e="Missing catch or finally after try",b$e="Const must be initialized",E$e="Destructuring assignment must be initialized",O$e="An optional chain may not be used in a `new` expression.",v$e="Template literals may not be used in an optional chain.",D$e="Rest parameter must be final parameter of an argument list",S$e="Private fields may not be deleted.",$$e="Private fields can only be referenced from within a class.",Q$e="Rest property must be final property of an object pattern",N$e="Setter should have exactly one parameter",w$e="A setter cannot have a `this` parameter.",P$e="Catch variable may not be eval or arguments in strict mode",B$e="Delete of an unqualified identifier in strict mode.",I$e="Duplicate data property in object literal not allowed in strict mode",M$e="Function name may not be eval or arguments in strict mode",W$e="Assignment to eval or arguments is not allowed in strict mode",U$e="Postfix increment/decrement may not have eval or arguments operand in strict mode",F$e="Prefix increment/decrement may not have eval or arguments operand in strict mode",L$e="Strict mode code may not include a with statement",z$e="Number literals with leading zeros are not allowed in strict mode.",H$e="Octal literals are not allowed in strict mode.",Y$e="Strict mode function may not have duplicate parameter names",K$e="Parameter name eval or arguments is not allowed in strict mode",G$e='Illegal "use strict" directive in function with non-simple parameter list',V$e="Use of reserved word in strict mode",j$e="Variable name may not be eval or arguments in strict mode",J$e="You may not access a private field through the `super` keyword.",X$e="Flow does not support abstract classes.",Z$e="Flow does not support template literal types.",eQe="A type annotation is required for the `this` parameter.",tQe="Arrow functions cannot have a `this` parameter; arrow functions automatically bind `this` when declared.",rQe="Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",nQe="The `this` parameter cannot be optional.",iQe="The `this` parameter must be the first function parameter.",aQe="A trailing comma is not permitted after the rest element",sQe="Unexpected end of input",oQe="Explicit inexact syntax must come at the end of an object type",RQe="Opaque type aliases are not allowed in untyped mode",uQe="Unexpected proto modifier",lQe="Unexpected reserved word",cQe="Unexpected reserved type",TQe="Spreading a type is only allowed inside an object type",pQe="Unexpected static modifier",_Qe="Unexpected `super` outside of a class method",hQe="`super()` is only valid in a class constructor",fQe="Type aliases are not allowed in untyped mode",dQe="Type annotations are not allowed in untyped mode",xQe="Type declarations are not allowed in untyped mode",mQe="Type exports are not allowed in untyped mode",kQe="Type imports are not allowed in untyped mode",yQe="Interfaces are not allowed in untyped mode",qQe="Unexpected variance sigil",CQe="Found a decorator in an unsupported position.",AQe="Invalid regular expression: missing /",gQe="Unexpected whitespace between `#` and identifier",bQe="`yield` is an invalid identifier in generators",EQe="Yield expression not allowed in formal parameter",OQe=[0,[11,"Duplicate export for `",[2,0,[12,96,0]]],"Duplicate export for `%s`"],vQe=[0,[11,"Private fields may only be declared once. `#",[2,0,[11,"` is declared more than once.",0]]],"Private fields may only be declared once. `#%s` is declared more than once."],DQe=[0,[11,"bigint enum members need to be initialized, e.g. `",[2,0,[11," = 1n,` in enum `",[2,0,[11,Ui,0]]]]],"bigint enum members need to be initialized, e.g. `%s = 1n,` in enum `%s`."],SQe=[0,[11,"Boolean enum members need to be initialized. Use either `",[2,0,[11," = true,` or `",[2,0,[11," = false,` in enum `",[2,0,[11,Ui,0]]]]]]],"Boolean enum members need to be initialized. Use either `%s = true,` or `%s = false,` in enum `%s`."],$Qe=[0,[11,"Enum member names need to be unique, but the name `",[2,0,[11,"` has already been used before in enum `",[2,0,[11,Ui,0]]]]],"Enum member names need to be unique, but the name `%s` has already been used before in enum `%s`."],QQe=[0,[11,uP,[2,0,[11,"` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.",0]]],"Enum `%s` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers."],NQe="The `...` must come at the end of the enum body. Remove the trailing comma.",wQe="The `...` must come after all enum members. Move it to the end of the enum body.",PQe=[0,[11,"Use one of `boolean`, `number`, `string`, `symbol`, or `bigint` in enum `",[2,0,[11,Ui,0]]],"Use one of `boolean`, `number`, `string`, `symbol`, or `bigint` in enum `%s`."],BQe=[0,[11,"Enum type `",[2,0,[11,"` is not valid. ",[2,0,0]]]],"Enum type `%s` is not valid. %s"],IQe=[0,[11,"Supplied enum type is not valid. ",[2,0,0]],"Supplied enum type is not valid. %s"],MQe=[0,[11,"Enum member names and initializers are separated with `=`. Replace `",[2,0,[11,":` with `",[2,0,[11," =`.",0]]]]],"Enum member names and initializers are separated with `=`. Replace `%s:` with `%s =`."],WQe=[0,[11,uP,[2,0,[11,"` has type `",[2,0,[11,"`, so the initializer of `",[2,0,[11,"` needs to be a ",[2,0,[11," literal.",0]]]]]]]]],"Enum `%s` has type `%s`, so the initializer of `%s` needs to be a %s literal."],UQe=[0,[11,"Symbol enum members cannot be initialized. Use `",[2,0,[11,",` in enum `",[2,0,[11,Ui,0]]]]],"Symbol enum members cannot be initialized. Use `%s,` in enum `%s`."],FQe=[0,[11,"The enum member initializer for `",[2,0,[11,"` needs to be a literal (either a boolean, number, or string) in enum `",[2,0,[11,Ui,0]]]]],"The enum member initializer for `%s` needs to be a literal (either a boolean, number, or string) in enum `%s`."],LQe=[0,[11,"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `",[2,0,[11,"`, consider using `",[2,0,[11,"`, in enum `",[2,0,[11,Ui,0]]]]]]],"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%s`, consider using `%s`, in enum `%s`."],zQe=[0,[11,"Number enum members need to be initialized, e.g. `",[2,0,[11," = 1,` in enum `",[2,0,[11,Ui,0]]]]],"Number enum members need to be initialized, e.g. `%s = 1,` in enum `%s`."],HQe=[0,[11,"String enum members need to consistently either all use initializers, or use no initializers, in enum ",[2,0,[12,46,0]]],"String enum members need to consistently either all use initializers, or use no initializers, in enum %s."],YQe=[0,[11,"Expected corresponding JSX closing tag for ",[2,0,0]],"Expected corresponding JSX closing tag for %s"],KQe="immediately within another function.",GQe="In strict mode code, functions can only be declared at top level or ",VQe="inside a block, or as the body of an if statement.",jQe="In non-strict mode code, functions can only be declared at top level, ",JQe="static ",XQe=ua,ZQe="methods",eNe="fields",tNe=Bee,rNe=[0,[11,"Classes may not have ",[2,0,[2,0,[11," named `",[2,0,[11,Ui,0]]]]]],"Classes may not have %s%s named `%s`."],nNe="Components use `renders` instead of `:` to annotate the render type of a component.",iNe=tB,aNe=ua,sNe=[0,[11,"String params require local bindings using `as` renaming. You can use `'",[2,0,[11,"' as ",[2,0,[2,0,[11,": ` ",0]]]]]],"String params require local bindings using `as` renaming. You can use `'%s' as %s%s: ` "],oNe="Remove the period.",RNe="Indexed access uses bracket notation.",uNe=[0,[11,"Invalid indexed access. ",[2,0,[11," Use the format `T[K]`.",0]]],"Invalid indexed access. %s Use the format `T[K]`."],lNe=[0,[11,"Invalid flags supplied to RegExp constructor '",[2,0,[12,39,0]]],"Invalid flags supplied to RegExp constructor '%s'"],cNe=C_,TNe=Mo,pNe=[0,[11,"In match ",[2,0,[11," pattern, the rest must be the last element in the pattern",0]]],"In match %s pattern, the rest must be the last element in the pattern"],_Ne=[0,[11,"JSX element ",[2,0,[11," has no corresponding closing tag.",0]]],"JSX element %s has no corresponding closing tag."],hNe=[0,[11,Ree,[2,0,[11,"`. Parentheses are required to combine `??` with `&&` or `||` expressions.",0]]],"Unexpected token `%s`. Parentheses are required to combine `??` with `&&` or `||` expressions."],fNe=[0,[2,0,[11," '",[2,0,[11,"' has already been declared",0]]]],"%s '%s' has already been declared"],dNe=ua,xNe=o0,mNe=" You can try using JavaScript private fields by prepending `#` to the field name.",kNe=xb,yNe=" Fields and methods are public by default. You can simply omit the `public` keyword.",qNe=_b,CNe=[0,[11,"Flow does not support using `",[2,0,[11,"` in classes.",[2,0,0]]]],"Flow does not support using `%s` in classes.%s"],ANe=[0,[11,"Private fields must be declared before they can be referenced. `#",[2,0,[11,"` has not been declared.",0]]],"Private fields must be declared before they can be referenced. `#%s` has not been declared."],gNe=[0,[11,r9,[2,0,0]],"Unexpected %s"],bNe=[0,[11,Ree,[2,0,[11,"`. Did you mean `",[2,0,[11,"`?",0]]]]],"Unexpected token `%s`. Did you mean `%s`?"],ENe=[0,[11,r9,[2,0,[11,", expected ",[2,0,0]]]],"Unexpected %s, expected %s"],ONe=[0,[11,"Undefined label '",[2,0,[12,39,0]]],"Undefined label '%s'"],vNe="Parse_error.Error",DNe=[0,[0,36,37],[0,48,58],[0,65,91],[0,95,96],[0,97,A_],[0,mt,eP],[0,VO,Bc],[0,fR,hb],[0,qz,tx],[0,f0,zA],[0,Me,vx],[0,Ws,706],[0,ic,722],[0,736,741],[0,748,749],[0,750,751],[0,768,885],[0,886,888],[0,890,894],[0,895,896],[0,902,907],[0,908,909],[0,910,930],[0,wee,1014],[0,1015,1154],[0,1155,1160],[0,1162,1328],[0,1329,1367],[0,1369,1370],[0,1376,1417],[0,1425,1470],[0,1471,1472],[0,1473,1475],[0,1476,1478],[0,1479,1480],[0,1488,1515],[0,1519,1523],[0,1552,1563],[0,1568,1642],[0,1646,1748],[0,1749,1757],[0,1759,1769],[0,1770,1789],[0,1791,1792],[0,1808,1867],[0,1869,1970],[0,1984,2038],[0,2042,2043],[0,2045,2046],[0,sP,2094],[0,2112,2140],[0,2144,2155],[0,2208,2229],[0,2230,2238],[0,2259,2274],[0,2275,2404],[0,2406,2416],[0,2417,2436],[0,2437,2445],[0,2447,2449],[0,2451,2473],[0,2474,2481],[0,2482,2483],[0,2486,2490],[0,2492,2501],[0,2503,2505],[0,2507,2511],[0,2519,2520],[0,2524,2526],[0,2527,2532],[0,2534,2546],[0,2556,2557],[0,2558,2559],[0,2561,2564],[0,2565,2571],[0,2575,2577],[0,2579,2601],[0,2602,2609],[0,2610,2612],[0,2613,2615],[0,2616,2618],[0,2620,2621],[0,2622,2627],[0,2631,2633],[0,2635,2638],[0,2641,2642],[0,2649,2653],[0,2654,2655],[0,2662,2678],[0,2689,2692],[0,2693,2702],[0,2703,2706],[0,2707,2729],[0,2730,2737],[0,2738,2740],[0,2741,2746],[0,2748,2758],[0,2759,2762],[0,2763,2766],[0,2768,2769],[0,2784,2788],[0,2790,2800],[0,2809,2816],[0,2817,2820],[0,2821,2829],[0,2831,2833],[0,2835,2857],[0,2858,2865],[0,2866,2868],[0,2869,2874],[0,2876,2885],[0,2887,2889],[0,2891,2894],[0,2902,2904],[0,2908,2910],[0,2911,2916],[0,2918,2928],[0,2929,2930],[0,2946,2948],[0,2949,2955],[0,2958,2961],[0,2962,2966],[0,2969,2971],[0,2972,2973],[0,2974,2976],[0,2979,2981],[0,2984,2987],[0,2990,3002],[0,3006,3011],[0,3014,3017],[0,3018,3022],[0,3024,3025],[0,3031,3032],[0,3046,3056],[0,3072,3085],[0,3086,3089],[0,3090,3113],[0,3114,3130],[0,3133,3141],[0,3142,3145],[0,3146,3150],[0,3157,3159],[0,3160,3163],[0,3168,3172],[0,3174,3184],[0,3200,3204],[0,3205,3213],[0,3214,3217],[0,3218,3241],[0,3242,3252],[0,3253,3258],[0,3260,3269],[0,3270,3273],[0,3274,3278],[0,3285,3287],[0,3294,3295],[0,3296,3300],[0,3302,3312],[0,3313,3315],[0,3328,3332],[0,3333,3341],[0,3342,3345],[0,3346,3397],[0,3398,3401],[0,3402,3407],[0,3412,3416],[0,3423,3428],[0,3430,3440],[0,3450,3456],[0,3458,3460],[0,3461,3479],[0,3482,3506],[0,3507,3516],[0,3517,3518],[0,3520,3527],[0,3530,3531],[0,3535,3541],[0,3542,3543],[0,3544,3552],[0,3558,3568],[0,3570,3572],[0,3585,3643],[0,3648,3663],[0,3664,3674],[0,3713,3715],[0,3716,3717],[0,3718,3723],[0,3724,3748],[0,3749,3750],[0,3751,3774],[0,3776,3781],[0,3782,3783],[0,3784,3790],[0,3792,3802],[0,3804,3808],[0,3840,3841],[0,3864,3866],[0,3872,3882],[0,3893,3894],[0,3895,3896],[0,3897,3898],[0,3902,3912],[0,3913,3949],[0,3953,3973],[0,3974,3992],[0,3993,4029],[0,4038,4039],[0,H5,4170],[0,4176,4254],[0,4256,4294],[0,4295,4296],[0,4301,4302],[0,4304,4347],[0,4348,4681],[0,4682,4686],[0,4688,4695],[0,4696,4697],[0,4698,4702],[0,4704,4745],[0,4746,4750],[0,4752,4785],[0,4786,4790],[0,4792,4799],[0,4800,4801],[0,4802,4806],[0,4808,4823],[0,4824,4881],[0,4882,4886],[0,4888,4955],[0,4957,4960],[0,4969,4978],[0,4992,5008],[0,5024,5110],[0,5112,5118],[0,5121,5741],[0,5743,qY],[0,5761,5787],[0,5792,5867],[0,5870,5881],[0,5888,5901],[0,5902,5909],[0,5920,5941],[0,5952,5972],[0,5984,5997],[0,5998,6001],[0,6002,6004],[0,6016,6100],[0,6103,6104],[0,6108,6110],[0,6112,6122],[0,6155,6158],[0,6160,6170],[0,6176,6265],[0,6272,6315],[0,6320,6390],[0,6400,6431],[0,6432,6444],[0,6448,6460],[0,6470,6510],[0,6512,6517],[0,6528,6572],[0,6576,6602],[0,6608,6619],[0,6656,6684],[0,6688,6751],[0,6752,6781],[0,6783,6794],[0,6800,6810],[0,6823,6824],[0,6832,6846],[0,6912,6988],[0,6992,7002],[0,7019,7028],[0,7040,7156],[0,7168,7224],[0,7232,7242],[0,7245,7294],[0,7296,7305],[0,7312,7355],[0,7357,7360],[0,7376,7379],[0,7380,7419],[0,7424,7674],[0,7675,7958],[0,7960,7966],[0,7968,8006],[0,8008,8014],[0,8016,8024],[0,8025,8026],[0,8027,8028],[0,8029,8030],[0,8031,8062],[0,8064,8117],[0,8118,8125],[0,8126,8127],[0,8130,8133],[0,8134,8141],[0,8144,8148],[0,8150,8156],[0,8160,8173],[0,8178,8181],[0,8182,8189],[0,WR,p9],[0,8255,8257],[0,8276,8277],[0,R8,8306],[0,wU,8320],[0,8336,8349],[0,8400,8413],[0,8417,8418],[0,8421,8433],[0,dB,8451],[0,o$,8456],[0,8458,UT],[0,m5,8470],[0,YF,8478],[0,DP,l$],[0,k$,Gg],[0,si,T$],[0,8490,8506],[0,8508,8512],[0,8517,8522],[0,wO,8527],[0,8544,8585],[0,11264,11311],[0,11312,11359],[0,11360,11493],[0,11499,11508],[0,11520,hL],[0,m,11560],[0,e$,11566],[0,11568,11624],[0,Jy,11632],[0,uh,11671],[0,11680,_B],[0,11688,LS],[0,11696,A],[0,11704,f1],[0,11712,Hc],[0,11720,mi],[0,11728,b$],[0,11736,11743],[0,11744,11776],[0,12293,12296],[0,12321,q$],[0,12337,12342],[0,12344,12349],[0,12353,12439],[0,12441,HP],[0,12449,P$],[0,12540,12544],[0,12549,R$],[0,12593,12687],[0,12704,12731],[0,12784,12800],[0,13312,19894],[0,19968,40944],[0,40960,42125],[0,42192,42238],[0,42240,42509],[0,42512,42540],[0,42560,42608],[0,42612,WT],[0,42623,42738],[0,42775,42784],[0,42786,42889],[0,42891,42944],[0,42946,42951],[0,kS,43048],[0,43072,43124],[0,43136,43206],[0,43216,43226],[0,43232,43256],[0,CU,Zw],[0,43261,43310],[0,43312,43348],[0,43360,43389],[0,43392,43457],[0,DS,43482],[0,43488,nc],[0,DZ,43575],[0,43584,43598],[0,43600,43610],[0,43616,43639],[0,oB,43715],[0,43739,43742],[0,43744,43760],[0,43762,43767],[0,43777,43783],[0,43785,43791],[0,43793,43799],[0,43808,AB],[0,43816,zU],[0,43824,IF],[0,43868,On],[0,43888,44011],[0,44012,44014],[0,44016,44026],[0,44032,55204],[0,55216,55239],[0,55243,55292],[0,63744,64110],[0,64112,64218],[0,64256,64263],[0,64275,64280],[0,aP,Ax],[0,64298,JU],[0,64312,kB],[0,RP,VA],[0,64320,C$],[0,64323,W$],[0,64326,64434],[0,64467,64830],[0,64848,64912],[0,64914,64968],[0,65008,65020],[0,65024,65040],[0,65056,65072],[0,65075,65077],[0,65101,65104],[0,65136,_$],[0,65142,65277],[0,65296,65306],[0,65313,65339],[0,65343,hB],[0,65345,65371],[0,65382,65471],[0,65474,65480],[0,65482,65488],[0,65490,65496],[0,65498,65501],[0,ub,D$],[0,65549,NS],[0,65576,Kr],[0,65596,fi],[0,65599,65614],[0,65616,65630],[0,65664,65787],[0,65856,65909],[0,66045,66046],[0,66176,66205],[0,66208,66257],[0,66272,66273],[0,66304,66336],[0,66349,66379],[0,66384,66427],[0,66432,66462],[0,66464,66500],[0,66504,E$],[0,66513,66518],[0,66560,66718],[0,66720,66730],[0,66736,66772],[0,66776,66812],[0,66816,66856],[0,66864,66916],[0,67072,67383],[0,67392,67414],[0,67424,67432],[0,67584,67590],[0,FA,cP],[0,67594,O$],[0,67639,67641],[0,BF,67645],[0,67647,67670],[0,67680,67703],[0,67712,67743],[0,67808,$x],[0,67828,67830],[0,67840,67862],[0,67872,67898],[0,67968,68024],[0,68030,68032],[0,S$,68100],[0,68101,68103],[0,68108,ph],[0,68117,ZP],[0,68121,68150],[0,68152,68155],[0,68159,68160],[0,68192,68221],[0,68224,68253],[0,68288,dF],[0,68297,68327],[0,68352,68406],[0,68416,68438],[0,68448,68467],[0,68480,68498],[0,68608,68681],[0,68736,68787],[0,68800,68851],[0,68864,68904],[0,68912,68922],[0,69376,69405],[0,n$,69416],[0,69424,69457],[0,69600,69623],[0,69632,69703],[0,69734,y$],[0,69759,69819],[0,69840,69865],[0,69872,69882],[0,69888,69941],[0,69942,69952],[0,Ox,b],[0,69968,70004],[0,c$,70007],[0,70016,70085],[0,70089,70093],[0,70096,jS],[0,kP,70109],[0,70144,VS],[0,70163,70200],[0,70206,70207],[0,70272,$B],[0,BP,vn],[0,70282,NB],[0,70287,C8],[0,70303,70313],[0,70320,70379],[0,70384,70394],[0,70400,D0],[0,70405,70413],[0,70415,70417],[0,70419,p$],[0,70442,YP],[0,70450,uB],[0,70453,70458],[0,70459,70469],[0,70471,70473],[0,70475,70478],[0,Si,70481],[0,70487,70488],[0,70493,70500],[0,70502,70509],[0,70512,70517],[0,70656,70731],[0,70736,70746],[0,J4,70752],[0,70784,a$],[0,fS,70856],[0,70864,70874],[0,71040,71094],[0,71096,71105],[0,71128,71134],[0,71168,71233],[0,mP,71237],[0,71248,71258],[0,71296,71353],[0,71360,71370],[0,71424,71451],[0,71453,71468],[0,71472,71482],[0,71680,71739],[0,71840,71914],[0,71935,71936],[0,72096,72104],[0,72106,72152],[0,72154,LP],[0,s$,72165],[0,hP,72255],[0,72263,72264],[0,Yn,72346],[0,e8,72350],[0,72384,72441],[0,72704,u$],[0,72714,72759],[0,72760,72769],[0,72784,72794],[0,72818,72848],[0,72850,72872],[0,72873,72887],[0,72960,bP],[0,72968,g$],[0,72971,73015],[0,73018,73019],[0,73020,73022],[0,73023,73032],[0,73040,73050],[0,73056,wP],[0,73063,YS],[0,73066,73103],[0,73104,73106],[0,73107,73113],[0,73120,73130],[0,73440,73463],[0,73728,74650],[0,74752,74863],[0,74880,75076],[0,77824,78895],[0,82944,83527],[0,92160,92729],[0,92736,92767],[0,92768,92778],[0,92880,92910],[0,92912,92917],[0,92928,92983],[0,92992,92996],[0,93008,93018],[0,93027,93048],[0,93053,93072],[0,93760,93824],[0,93952,94027],[0,HS,94088],[0,94095,94112],[0,94176,i6],[0,Fa,94180],[0,94208,100344],[0,100352,101107],[0,110592,110879],[0,110928,110931],[0,110948,110952],[0,110960,111356],[0,113664,113771],[0,113776,113789],[0,113792,113801],[0,113808,113818],[0,113821,113823],[0,119141,119146],[0,119149,119155],[0,119163,119171],[0,119173,119180],[0,119210,119214],[0,119362,119365],[0,119808,Tn],[0,119894,Mx],[0,119966,119968],[0,pP,119971],[0,119973,119975],[0,119977,L$],[0,119982,vB],[0,gS,MF],[0,119997,dS],[0,120005,M$],[0,120071,120075],[0,120077,T5],[0,120086,IL],[0,120094,Q2],[0,120123,JP],[0,120128,jy],[0,rP,120135],[0,120138,m$],[0,120146,120486],[0,120488,a6],[0,120514,AS],[0,120540,B$],[0,120572,ur],[0,120598,MP],[0,120630,B2],[0,120656,$P],[0,120688,ho],[0,120714,Ar],[0,120746,HT],[0,120772,120780],[0,120782,120832],[0,121344,121399],[0,121403,121453],[0,121461,121462],[0,121476,121477],[0,121499,121504],[0,121505,121520],[0,122880,122887],[0,122888,122905],[0,122907,122914],[0,122915,122917],[0,122918,122923],[0,123136,123181],[0,123184,123198],[0,123200,123210],[0,Ut,123215],[0,123584,123642],[0,124928,125125],[0,125136,125143],[0,125184,125260],[0,125264,125274],[0,126464,ti],[0,126469,zS],[0,126497,w$],[0,$i,126501],[0,t$,h8],[0,126505,me],[0,126516,WP],[0,$$,KF],[0,Ey,126524],[0,A$,126531],[0,U$,uk],[0,Q$,TB],[0,v$,Ba],[0,126541,Fu],[0,126545,d$],[0,XS,126549],[0,a8,u0],[0,bU,UO],[0,ab,x$],[0,Py,Y7],[0,VT,Gn],[0,126561,ak],[0,f$,126565],[0,126567,RR],[0,126572,FT],[0,126580,r8],[0,126585,oP],[0,o3,i$],[0,126592,K7],[0,126603,126620],[0,126625,s3],[0,126629,Fx],[0,126635,126652],[0,131072,173783],[0,173824,177973],[0,177984,178206],[0,178208,183970],[0,183984,191457],[0,194560,195102],[0,917760,918e3]],SNe=[0,1,0],$Ne=[0,0,[0,1,0],[0,1,0]],QNe=Foe,NNe="end of input",wNe=Rb,PNe="template literal part",BNe=Rb,INe=x,MNe=Foe,WNe=Rb,UNe=ck,FNe=Rb,LNe=$8,zNe=Rb,HNe=Up,YNe="an",KNe=lh,GNe=_h,VNe=[0,[11,"token `",[2,0,[12,96,0]]],"token `%s`"],jNe="{",JNe=aB,XNe="{|",ZNe="|}",ewe=FS,twe=koe,rwe="[",nwe="]",iwe=YZ,awe=E0e,swe=e_,owe="=>",Rwe="...",uwe=ro,lwe=Bee,cwe=PO,Twe=VF,pwe=Xd,_we=qP,hwe=cc,fwe=hc,dwe=fY,xwe=FO,mwe=pc,kwe=x8,ywe=s6,qwe=H,Cwe=bS,Awe=KS,gwe=d9,bwe=O8,Ewe=ot,Owe=Kx,vwe=_c,Dwe=Uc,Swe=ZS,$we=sl,Qwe=Jg,Nwe=q5,wwe=AF,Pwe=VP,Bwe=C,Iwe=sf,Mwe=ac,Wwe=qs,Uwe=l9,Fwe=gk,Lwe=p8,zwe=Bi,Hwe=Dk,Ywe=N$,Kwe=zc,Gwe=f9,Vwe=S8,jwe=p1,Jwe=lo,Xwe=xb,Zwe=o0,ePe=_b,tPe=te,rPe=Tc,nPe=yb,iPe=Kh,aPe=jU,sPe=SL,oPe=R3,RPe=E8,uPe="%checks",lPe=Hp,cPe=joe,TPe=z4,pPe=UZ,_Pe=s9,hPe=c,fPe=jd,dPe=_F,xPe=o6,mPe=Vw,kPe=Qx,yPe=jF,qPe=om,CPe=Q0e,APe=bZ,gPe=Sy,bPe="?.",EPe=y5,OPe=tB,vPe=H1,DPe=HZ,SPe=Qee,$Pe=Bg,QPe=em,NPe=h$,wPe=Lee,PPe=QF,BPe=lF,IPe=tk,MPe=N0e,WPe=oc,UPe=c1,FPe=wS,LPe=JZ,zPe=doe,HPe=wc,YPe=_1,KPe=m1,GPe=Lc,VPe=Z7,jPe=$Z,JPe=v0e,XPe=M7,ZPe=$0e,eBe=Noe,tBe=$g,rBe=ua,nBe=J7,iBe=Yg,aBe=q_,sBe=ck,oBe=$8,RBe=Up,uBe=Bi,lBe=pb,cBe=Uu,TBe=ix,pBe=Ky,_Be=r$,hBe=nb,fBe=Pp,dBe=cb,xBe=cm,mBe=Hs,kBe=xoe,yBe=S5,qBe=Pc,CBe=Pc,ABe=r0e,gBe=Pc,bBe=Pc,EBe=aB,OBe=aB,vBe=r0e,DBe=Lc,SBe=Lc,$Be=vS,QBe=d8,NBe="T_LCURLY",wBe="T_RCURLY",PBe="T_LCURLYBAR",BBe="T_RCURLYBAR",IBe="T_LPAREN",MBe="T_RPAREN",WBe="T_LBRACKET",UBe="T_RBRACKET",FBe="T_SEMICOLON",LBe="T_COMMA",zBe="T_PERIOD",HBe="T_ARROW",YBe="T_ELLIPSIS",KBe="T_AT",GBe="T_POUND",VBe="T_FUNCTION",jBe="T_IF",JBe="T_IN",XBe="T_INSTANCEOF",ZBe="T_RETURN",eIe="T_SWITCH",tIe="T_MATCH",rIe="T_THIS",nIe="T_THROW",iIe="T_TRY",aIe="T_VAR",sIe="T_WHILE",oIe="T_WITH",RIe="T_CONST",uIe="T_LET",lIe="T_NULL",cIe="T_FALSE",TIe="T_TRUE",pIe="T_BREAK",_Ie="T_CASE",hIe="T_CATCH",fIe="T_CONTINUE",dIe="T_DEFAULT",xIe="T_DO",mIe="T_FINALLY",kIe="T_FOR",yIe="T_CLASS",qIe="T_EXTENDS",CIe="T_STATIC",AIe="T_ELSE",gIe="T_NEW",bIe="T_DELETE",EIe="T_TYPEOF",OIe="T_VOID",vIe="T_ENUM",DIe="T_EXPORT",SIe="T_IMPORT",$Ie="T_SUPER",QIe="T_IMPLEMENTS",NIe="T_INTERFACE",wIe="T_PACKAGE",PIe="T_PRIVATE",BIe="T_PROTECTED",IIe="T_PUBLIC",MIe="T_YIELD",WIe="T_DEBUGGER",UIe="T_DECLARE",FIe="T_TYPE",LIe="T_OPAQUE",zIe="T_OF",HIe="T_ASYNC",YIe="T_AWAIT",KIe="T_CHECKS",GIe="T_RSHIFT3_ASSIGN",VIe="T_RSHIFT_ASSIGN",jIe="T_LSHIFT_ASSIGN",JIe="T_BIT_XOR_ASSIGN",XIe="T_BIT_OR_ASSIGN",ZIe="T_BIT_AND_ASSIGN",eMe="T_MOD_ASSIGN",tMe="T_DIV_ASSIGN",rMe="T_MULT_ASSIGN",nMe="T_EXP_ASSIGN",iMe="T_MINUS_ASSIGN",aMe="T_PLUS_ASSIGN",sMe="T_NULLISH_ASSIGN",oMe="T_AND_ASSIGN",RMe="T_OR_ASSIGN",uMe="T_ASSIGN",lMe="T_PLING_PERIOD",cMe="T_PLING_PLING",TMe="T_PLING",pMe="T_COLON",_Me="T_OR",hMe="T_AND",fMe="T_BIT_OR",dMe="T_BIT_XOR",xMe="T_BIT_AND",mMe="T_EQUAL",kMe="T_NOT_EQUAL",yMe="T_STRICT_EQUAL",qMe="T_STRICT_NOT_EQUAL",CMe="T_LESS_THAN_EQUAL",AMe="T_GREATER_THAN_EQUAL",gMe="T_LESS_THAN",bMe="T_GREATER_THAN",EMe="T_LSHIFT",OMe="T_RSHIFT",vMe="T_RSHIFT3",DMe="T_PLUS",SMe="T_MINUS",$Me="T_DIV",QMe="T_MULT",NMe="T_EXP",wMe="T_MOD",PMe="T_NOT",BMe="T_BIT_NOT",IMe="T_INCR",MMe="T_DECR",WMe="T_EOF",UMe="T_ANY_TYPE",FMe="T_MIXED_TYPE",LMe="T_EMPTY_TYPE",zMe="T_NUMBER_TYPE",HMe="T_BIGINT_TYPE",YMe="T_STRING_TYPE",KMe="T_VOID_TYPE",GMe="T_SYMBOL_TYPE",VMe="T_UNKNOWN_TYPE",jMe="T_NEVER_TYPE",JMe="T_UNDEFINED_TYPE",XMe="T_KEYOF",ZMe="T_READONLY",eWe="T_INFER",tWe="T_IS",rWe="T_ASSERTS",nWe="T_IMPLIES",iWe=O0e,aWe=O0e,sWe="T_NUMBER",oWe="T_BIGINT",RWe="T_STRING",uWe="T_TEMPLATE_PART",lWe="T_IDENTIFIER",cWe="T_REGEXP",TWe="T_INTERPRETER",pWe="T_ERROR",_We="T_JSX_IDENTIFIER",hWe=A0e,fWe=A0e,dWe="T_BOOLEAN_TYPE",xWe="T_NUMBER_SINGLETON_TYPE",mWe="T_BIGINT_SINGLETON_TYPE",kWe=[0,Ai,qB,9],yWe=[0,Ai,EU,9],qWe=t0e,CWe="*/",AWe=t0e,gWe="unreachable line_comment",bWe="unreachable string_quote",EWe="\\",OWe="unreachable template_part",vWe=`\r +`,DWe=QO,SWe="unreachable regexp_class",$We=X_,QWe="unreachable regexp_body",NWe=ua,wWe=ua,PWe=ua,BWe=ua,IWe=Iy,MWe="{'>'}",WWe=wS,UWe="{'}'}",FWe=aB,LWe=i3,zWe=YZ,HWe=h$,YWe=Iy,KWe=i3,GWe=YZ,VWe=h$,jWe="unreachable type_token wholenumber",JWe="unreachable type_token wholebigint",XWe="unreachable type_token floatbigint",ZWe="unreachable type_token scinumber",eUe="unreachable type_token scibigint",tUe="unreachable type_token hexnumber",rUe="unreachable type_token hexbigint",nUe="unreachable type_token legacyoctnumber",iUe="unreachable type_token octnumber",aUe="unreachable type_token octbigint",sUe="unreachable type_token binnumber",oUe="unreachable type_token bigbigint",RUe="unreachable type_token",uUe=Zoe,lUe=[11,1],cUe=[11,0],TUe="unreachable template_tail",pUe=ua,_Ue=ua,hUe="unreachable jsx_child",fUe="unreachable jsx_tag",dUe=[0,GA],xUe=[0,913],mUe=[0,f0],kUe=[0,NY],yUe=[0,gO],qUe=[0,m0e],CUe=[0,8747],AUe=[0,nl],gUe=[0,916],bUe=[0,8225],EUe=[0,935],OUe=[0,n0e],vUe=[0,914],DUe=[0,Yoe],SUe=[0,pF],$Ue=[0,xee],QUe=[0,915],NUe=[0,vi],wUe=[0,919],PUe=[0,917],BUe=[0,e0e],IUe=[0,vy],MUe=[0,loe],WUe=[0,924],UUe=[0,923],FUe=[0,922],LUe=[0,w5],zUe=[0,921],HUe=[0,oee],YUe=[0,EU],KUe=[0,AZ],GUe=[0,Me],VUe=[0,927],jUe=[0,937],JUe=[0,Zd],XUe=[0,b5],ZUe=[0,Rh],eFe=[0,338],tFe=[0,352],rFe=[0,929],nFe=[0,936],iFe=[0,8243],aFe=[0,928],sFe=[0,934],oFe=[0,y0e],RFe=[0,H4],uFe=[0,933],lFe=[0,mee],cFe=[0,xz],TFe=[0,ve],pFe=[0,920],_Fe=[0,932],hFe=[0,I],fFe=[0,DO],dFe=[0,OS],xFe=[0,qU],mFe=[0,918],kFe=[0,376],yFe=[0,ZZ],qFe=[0,926],CFe=[0,hoe],AFe=[0,wee],gFe=[0,925],bFe=[0,39],EFe=[0,8736],OFe=[0,8743],vFe=[0,38],DFe=[0,945],SFe=[0,8501],$Fe=[0,Wl],QFe=[0,8226],NFe=[0,Oy],wFe=[0,946],PFe=[0,8222],BFe=[0,ei],IFe=[0,gee],MFe=[0,8776],WFe=[0,Joe],UFe=[0,8773],FFe=[0,9827],LFe=[0,ic],zFe=[0,967],HFe=[0,_9],YFe=[0,hb],KFe=[0,j_],GFe=[0,jZ],VFe=[0,8595],jFe=[0,8224],JFe=[0,8659],XFe=[0,BA],ZFe=[0,8746],eLe=[0,8629],tLe=[0,_k],rLe=[0,8745],nLe=[0,8195],iLe=[0,8709],aLe=[0,U],sLe=[0,Xoe],oLe=[0,Loe],RLe=[0,vx],uLe=[0,9830],lLe=[0,8707],cLe=[0,8364],TLe=[0,Oee],pLe=[0,um],_Le=[0,951],hLe=[0,8801],fLe=[0,949],dLe=[0,8194],xLe=[0,8805],mLe=[0,947],kLe=[0,8260],yLe=[0,hee],qLe=[0,Rc],CLe=[0,qB],ALe=[0,8704],gLe=[0,j5],bLe=[0,a0e],ELe=[0,8230],OLe=[0,9829],vLe=[0,8596],DLe=[0,8660],SLe=[0,62],$Le=[0,402],QLe=[0,948],NLe=[0,poe],wLe=[0,$a],PLe=[0,8712],BLe=[0,o0e],ILe=[0,953],MLe=[0,8734],WLe=[0,8465],ULe=[0,Aoe],FLe=[0,8220],LLe=[0,8968],zLe=[0,8592],HLe=[0,eP],YLe=[0,10216],KLe=[0,955],GLe=[0,8656],VLe=[0,954],jLe=[0,60],JLe=[0,8216],XLe=[0,8249],ZLe=[0,p9],eze=[0,9674],tze=[0,8727],rze=[0,8970],nze=[0,u0e],ize=[0,8711],aze=[0,956],sze=[0,8722],oze=[0,fR],Rze=[0,VO],uze=[0,8212],lze=[0,Zs],cze=[0,8804],Tze=[0,957],pze=[0,QZ],_ze=[0,8836],hze=[0,8713],fze=[0,gU],dze=[0,8715],xze=[0,8800],mze=[0,8853],kze=[0,959],yze=[0,969],qze=[0,8254],Cze=[0,voe],Aze=[0,339],gze=[0,np],bze=[0,boe],Eze=[0,Bc],Oze=[0,US],vze=[0,8855],Dze=[0,k8],Sze=[0,Ws],$ze=[0,qz],Qze=[0,mt],Nze=[0,i],wze=[0,woe],Pze=[0,982],Bze=[0,960],Ize=[0,966],Mze=[0,8869],Wze=[0,8240],Uze=[0,8706],Fze=[0,8744],Lze=[0,8211],zze=[0,10217],Hze=[0,8730],Yze=[0,8658],Kze=[0,34],Gze=[0,968],Vze=[0,8733],jze=[0,8719],Jze=[0,961],Xze=[0,8971],Zze=[0,k0e],eHe=[0,8476],tHe=[0,8221],rHe=[0,8969],nHe=[0,8594],iHe=[0,tx],aHe=[0,bee],sHe=[0,LU],oHe=[0,8901],RHe=[0,353],uHe=[0,8218],lHe=[0,8217],cHe=[0,8250],THe=[0,8835],pHe=[0,8721],_He=[0,8838],hHe=[0,8834],fHe=[0,9824],dHe=[0,8764],xHe=[0,962],mHe=[0,963],kHe=[0,8207],yHe=[0,952],qHe=[0,8756],CHe=[0,964],AHe=[0,Gy],gHe=[0,8839],bHe=[0,D0e],EHe=[0,bO],OHe=[0,k9],vHe=[0,8657],DHe=[0,8482],SHe=[0,zA],$He=[0,732],QHe=[0,sm],NHe=[0,8201],wHe=[0,977],PHe=[0,YF],BHe=[0,rb],IHe=[0,965],MHe=[0,978],WHe=[0,GH],UHe=[0,CL],FHe=[0,S0e],LHe=[0,WR],zHe=[0,8205],HHe=[0,950],YHe=[0,eR],KHe=[0,BZ],GHe=[0,Aee],VHe=[0,958],jHe=[0,8593],JHe=[0,Dt],XHe=[0,8242],ZHe=[0,zoe],eYe="unreachable regexp",tYe="unreachable token wholenumber",rYe="unreachable token wholebigint",nYe="unreachable token floatbigint",iYe="unreachable token scinumber",aYe="unreachable token scibigint",sYe="unreachable token hexnumber",oYe="unreachable token hexbigint",RYe="unreachable token legacyoctnumber",uYe="unreachable token legacynonoctnumber",lYe="unreachable token octnumber",cYe="unreachable token octbigint",TYe="unreachable token bignumber",pYe="unreachable token bigint",_Ye="unreachable token",hYe=Zoe,fYe=[7,"#!"],dYe="expected ?",xYe="unreachable string_escape",mYe=lu,kYe=OP,yYe=OP,qYe=lu,CYe=TY,AYe=F5,gYe="n",bYe="r",EYe="t",OYe=gF,vYe=OP,DYe=i3,SYe=i3,$Ye="unreachable id_char",QYe=i3,NYe=i3,wYe=OP,PYe=Ioe,BYe=Hi,IYe=b6,MYe=[26,"token ILLEGAL"],WYe=[0,[11,"the identifier `",[2,0,[12,96,0]]],"the identifier `%s`"],UYe=[0,1],FYe=[0,1],LYe=K5,zYe=K5,HYe=[0,[11,"an identifier. When exporting a ",[2,0,[11," as a named export, you must specify a ",[2,0,[11," name. Did you mean `export default ",[2,0,[11," ...`?",0]]]]]]],"an identifier. When exporting a %s as a named export, you must specify a %s name. Did you mean `export default %s ...`?"],YYe=F$,KYe="Peeking current location when not available",GYe=[0,"src/parser/parser_env.ml",365,9],VYe="Internal Error: Tried to add_declared_private with outside of class scope.",jYe="Internal Error: `exit_class` called before a matching `enter_class`",JYe=ua,XYe=[0,0,0],ZYe=[0,0,0],eKe="Parser_env.Try.Rollback",tKe=ua,rKe=ua,nKe=[0,te,pq,n9,uS,MS,nx,cu,Qk,ct,nf,pf,wq,X5,_6,Oh,nm,er,zt,Zy,Uq,LT,I5,cq,ol,ji,Jq,qk,Yi,Ca,Zh,hd,ef,dq,Cq,Td,vf,Yp,pc,Nn,t9,Bu,Mf,J5,jh,Ff,hc,Qf,fh,KT,Cl,jf,qh,ls,Y1,cc,D6,DR,vq,oT,gq,no,Gf,U2,Fh,s8,kh,ss,Uy,aq,g_,j1,b8,pn,Af,vo,j,Ae,Sq,O5,Px,Y5,If,Lx,zy,tp,Lf,_R,Yh,Xy,ld,Pt,Ce,L1,Yq,mf,Ss,Aa,T8,Hh,wh,x6,Nh,Ve,Bf,Ek,B5,o8,A6,mh,S6,h0,K6,Wf,Sh,sd,Lh,Nf,Vy,v5,Y6,ul,Wi,Uh,id,Ph,zT,rq,Vh,o9,Wh,us,im,Bp,td,cf,q0,g5,Rl,Xf,w6,l,zl,Fn,Of,Q6,a9,xk,hT,c9,Hq,nd,_f,qf,I2,Rf,D5,wk,y0,ex,W2,A8,f_,ad,Ch,l8,V5,Cf,Zn,q6,g6,nt,hq,p1,rf,Kf,Jh,hh,Qq,Jf,f8,He,zc,Eh,uc,Vf,lh,V6,Ef,ud,Et,l1,Ok,E5,n8,Qh,G1,af,uf,E6,M0,u9,Gh,pd,Yy,xq,Mr,Zf,bh,M6,$h,Rd,Y2,$p,TT,Bq,Ah,Mc,kf,zf,Np,op,Ee,gf,Bh,_d,eh,bn,Z6,df,Lq,Df,yf,cd,IT,wf,Mq,lf,hf,GT,T6,uR,q_,sq,C6,F,of,xf,L5,Sf,z5,fq,Gp,eq,et,K2,Yf,Tc,sl,Sk,uq,N5,Pf,Hf,ch,mk,Pk,ff,od,cs,Tf,Dh,Gq,oe,Rq,Fp,rx,Ti,KZ,Ih,u8,Ji,Xh,zh,_T,P5,gh,U6,xh,q8,y6,C5,Eq,MR,P6,z1,e9,U5,fd,_c,Th,$f,Zp,X7,_e,B6,ed,rc,Ly,A5,i8,bf,JT,tf,C_,Mh],iKe=[0,te,pq,n9,nx,cu,Qk,ct,nf,pf,wq,X5,_6,Oh,nm,er,zt,Zy,Uq,LT,I5,cq,ol,ji,Jq,qk,Yi,Ca,Zh,hd,ef,dq,Cq,Td,vf,Yp,pc,Nn,t9,Bu,Mf,J5,jh,Ff,hc,Qf,fh,KT,Cl,jf,qh,ls,Y1,cc,D6,DR,vq,oT,gq,no,Gf,U2,Fh,s8,kh,ss,Uy,aq,g_,j1,b8,pn,Af,vo,j,Ae,Sq,O5,Px,Y5,If,Lx,zy,tp,Lf,_R,Yh,Xy,ld,Pt,Ce,L1,Yq,mf,Ss,Aa,T8,Hh,wh,x6,Nh,Ve,Bf,Ek,B5,o8,A6,mh,S6,h0,K6,Wf,Sh,sd,Lh,Nf,Vy,v5,Y6,ul,Wi,Uh,id,Ph,zT,rq,Vh,o9,Wh,us,im,Bp,td,cf,q0,g5,Rl,Xf,w6,l,zl,Fn,Of,Q6,a9,xk,hT,c9,Hq,nd,_f,qf,I2,Rf,D5,wk,y0,ex,W2,A8,f_,ad,Ch,l8,V5,Cf,Zn,q6,g6,nt,hq,p1,rf,Kf,Jh,hh,Qq,Jf,f8,He,zc,Eh,uc,Vf,lh,V6,Ef,ud,Et,l1,Ok,E5,n8,Qh,G1,af,uf,E6,M0,u9,Gh,pd,Yy,xq,Mr,Zf,bh,M6,$h,Rd,Y2,$p,TT,Bq,Ah,Mc,kf,zf,Np,op,Ee,gf,Bh,_d,eh,bn,Z6,df,Lq,Df,yf,cd,IT,wf,Mq,lf,hf,GT,T6,uR,q_,sq,C6,F,of,xf,L5,Sf,z5,fq,Gp,eq,et,K2,Yf,Tc,sl,Sk,uq,N5,Pf,Hf,ch,mk,Pk,ff,od,cs,Tf,Dh,Gq,oe,Rq,rx,Ih,u8,Ji,Xh,zh,_T,P5,gh,U6,xh,q8,y6,C5,Eq,MR,P6,z1,e9,U5,fd,_c,Th,$f,Zp,X7,_e,B6,ed,rc,Ly,A5,i8,bf,JT,tf,C_,Mh],aKe=[0,jf,Ch,uf,V6,n8,fd,S6,Nh,I2,nt,$f,qk,Ce,hc,ld,gf,zT,o9,q8,Td,T8,W2,K6,rf,f_,hf,IT,pq,O5,Et,M6,j,a9,xf,Pk,ud,lf,sd,lh,nx,Bq,b8,fq,e9,E6,z1,y0,df,Fh,Ok,$h,Ff,Bf,uc,KT,Wi,hh,GT,Q6,Sh,gh,u8,Lf,Mh,Uy,rq,Dh,ol,x6,kh,nd,zh,L1,U2,Aa,Qh,_R,Lh,Rf,ex,Ef,l,uq,Ca,yf,Bp,Wh,_f,zl,af,Rl,j1,JT,Sf,bn,v5,oT,zy,tf,uR,U5,Y1,cu,s8,et,zt,DR,Eh,ul,B6,bh,Yp,Cf,xh,o8,jh,q_,$p,Yi,te,Fn,vf,eq,aq,_6,If,K2,gq,ed,X5,Ih,Gp,mh,nf,im,A8,A5,ef,g6,wf,kf,Pt,Bh,Of,Y5,Ah,Uq,hd,Gq,Qk,dq,qh,Zy,fh,wq,_T,Kf,Rd,Ji,w6,G1,oe,pf,rx,Uh,A6,hT,ff,rc,Y6,Eq,U6,cs,td,Px,c9,Tf,Vy,zc,cc,er,LT,Qf,Sq,pc,Tc,h0,Vf,Xy,Np,ad,tp,Th,pd,Mq,Jh,Xh,Ee,M0,l8,E5,nm,cd,Gf,Mr,f8,Vh,Df,eh,Hf,B5,ls,Ve,Qq,mf,Af,Zh,wh,ss,Ss,I5,L5,us,MR,z5,X7,Zn,J5,T6,Cq,l1,no,He,Hh,C5,Ek,wk,P5,g5,hq,sq,Jq,C_,ct,C6,P6,ji,F,D5,V5,N5,xk,vo,Wf,q6,Mc,q0,Hq,cq,Bu,Ly,Ph,ch,Ae,i8,_e,op,Lx,Rq,zf,id,Yy,xq,Cl,sl,u9,od,g_,Z6,of,t9,Mf,cf,Zf,_d,Oh,Y2,Xf,Yh,Zp,Jf,y6,qf,Yq,Gh,Yf,D6,Lq,_c,bf,p1,Sk,n9,mk,vq,TT,Pf,pn,Nn,Nf],sKe=[0,jf,Ch,uf,V6,n8,fd,S6,Nh,I2,nt,$f,qk,Ce,hc,ld,gf,zT,o9,q8,Td,T8,W2,K6,rf,f_,hf,IT,pq,O5,Et,M6,j,a9,xf,Pk,ud,lf,sd,lh,nx,MS,Bq,b8,fq,e9,E6,z1,y0,df,Fh,Ok,$h,Ff,Bf,uc,KT,Wi,hh,GT,Q6,Sh,gh,u8,Lf,Mh,Uy,rq,Dh,Ti,ol,x6,kh,nd,zh,L1,U2,Aa,Qh,_R,Lh,Rf,ex,Ef,l,uq,Ca,yf,Bp,Wh,_f,zl,af,Rl,j1,JT,Sf,bn,v5,oT,zy,tf,uR,U5,Y1,cu,s8,et,zt,DR,Eh,ul,B6,bh,Yp,Cf,xh,o8,jh,q_,$p,Yi,te,Fn,vf,eq,aq,_6,If,K2,gq,ed,X5,Ih,Gp,mh,nf,im,A8,A5,ef,g6,wf,kf,Pt,Bh,Of,Y5,Ah,Uq,hd,Gq,Qk,dq,qh,Zy,fh,wq,_T,Kf,Rd,Ji,w6,G1,oe,pf,rx,Uh,A6,hT,ff,rc,Y6,Eq,U6,cs,td,Px,c9,Tf,Vy,zc,cc,er,LT,Qf,Sq,pc,Tc,h0,Vf,Xy,Np,ad,tp,Th,pd,Mq,Jh,Xh,Ee,M0,l8,E5,nm,cd,Gf,Mr,f8,Vh,Df,eh,Hf,B5,ls,Ve,Qq,mf,Af,Zh,wh,ss,Ss,I5,L5,us,MR,z5,X7,Zn,KZ,J5,T6,Cq,l1,no,He,Hh,C5,Ek,wk,P5,g5,hq,sq,Jq,Fp,C_,ct,C6,P6,ji,uS,F,D5,V5,N5,xk,vo,Wf,q6,Mc,q0,Hq,cq,Bu,Ly,Ph,ch,Ae,i8,_e,op,Lx,Rq,zf,id,Yy,xq,Cl,sl,u9,od,g_,Z6,of,t9,Mf,cf,Zf,_d,Oh,Y2,Xf,Yh,Zp,Jf,y6,qf,Yq,Gh,Yf,D6,Lq,_c,bf,p1,Sk,n9,mk,vq,TT,Pf,pn,Nn,Nf],oKe=PO,RKe=VF,uKe=Xd,lKe=qP,cKe=cc,TKe=hc,pKe=fY,_Ke=FO,hKe=pc,fKe=x8,dKe=s6,xKe=H,mKe=bS,kKe=KS,yKe=d9,qKe=O8,CKe=ot,AKe=Kx,gKe=_c,bKe=Uc,EKe=ZS,OKe=sl,vKe=Jg,DKe=q5,SKe=AF,$Ke=VP,QKe=C,NKe=sf,wKe=ac,PKe=qs,BKe=l9,IKe=gk,MKe=p8,WKe=Bi,UKe=Dk,FKe=N$,LKe=zc,zKe=f9,HKe=S8,YKe=p1,KKe=lo,GKe=xb,VKe=o0,jKe=_b,JKe=te,XKe=Tc,ZKe=yb,eGe=Kh,tGe=jU,rGe=SL,nGe=R3,iGe=E8,aGe=J7,sGe=Yg,oGe=q_,RGe=ck,uGe=$8,lGe=Up,cGe=Bi,TGe=pb,pGe=Uu,_Ge=ix,hGe=Ky,fGe=r$,dGe=nb,xGe=cb,mGe=cm,kGe=Hs,yGe=vS,qGe=d8,CGe=[0,F$],AGe=ua,gGe=[18,1],bGe=[18,0],EGe=[0,0],OGe=ih,vGe=[0,0],DGe=[0,"a type"],SGe=[0,0],$Ge=[0,"a number literal type"],QGe=[0,0],NGe=cb,wGe=cm,PGe=Hs,BGe="You should only call render_type after making sure the next token is a renders variant",IGe=[0,[0,0,0,0,0]],MGe=[0,0,0,0],WGe=[0,1],UGe=[0,h9,1436,6],FGe=[0,h9,1439,6],LGe=[0,h9,1542,8],zGe=[0,1],HGe=[0,h9,1559,8],YGe="Can not have both `static` and `proto`",KGe=ac,GGe=Z4,VGe=[0,0],jGe=[0,"the end of a tuple type (no trailing comma is allowed in inexact tuple type)."],JGe=[0,h9,Rh,15],XGe=[0,h9,bO,15],ZGe=m1,eVe=m1,tVe=iP,rVe=jO,nVe=[0,[11,"Failure while looking up ",[2,0,[11,". Index: ",[4,0,0,0,[11,". Length: ",[4,0,0,0,[12,46,0]]]]]]],"Failure while looking up %s. Index: %d. Length: %d."],iVe=[0,0,0,0],aVe="Offset_utils.Offset_lookup_failed",sVe=go,oVe=Ma,RVe=jO,uVe=iP,lVe=ZR,cVe=jO,TVe=iP,pVe=Sg,_Ve=t,hVe="normal",fVe=Kh,dVe="jsxTag",xVe="jsxChild",mVe="template",kVe=x,yVe="context",qVe=Kh,CVe=[6,0],AVe=[0,0],gVe=[0,1],bVe=[0,4],EVe=[0,2],OVe=[0,3],vVe=[0,0],DVe=m1,SVe=[0,0,0,0,0,0],$Ve=[0,Pq],QVe=[0,0],NVe=[0,1],wVe=[0,1],PVe=[0,0],BVe=ih,IVe=[0,71],MVe=[0,82],WVe=dee,UVe=u3,FVe="exports",LVe=Tb,zVe=[0,ua,ua,0],HVe=[0,Qp],YVe=[0,82],KVe=[0,"a declaration, statement or export specifiers"],GVe=[0,1],VVe=[0,wp,1863,21],jVe=[0,"the keyword `as`"],JVe=[0,30],XVe=[0,30],ZVe=[0,0],eje=[0,1],tje=[0,Qp],rje=[0,"the keyword `from`"],nje=[0,ua,ua,0],ije=[0,Pq],aje="Label",sje=[0,Pq],oje=[0,0,0],Rje=[0,39],uje=[0,wp,372,22],lje=[0,38],cje=[0,wp,391,22],Tje=[0,0],pje="the token `;`",_je=[0,0],hje=[0,0],fje=jw,dje=[0,F$],xje=jw,mje=[26,lh],kje=ih,yje=[0,71],qje=[0,ua,0],Cje=y8,Aje=[0,ua,0],gje=[0,71],bje=[0,71],Eje=PO,Oje=[0,ua,0],vje=[0,0,0],Dje=[0,0,0],Sje=[0,[0,8]],$je=[0,[0,7]],Qje=[0,[0,6]],Nje=[0,[0,10]],wje=[0,[0,9]],Pje=[0,[0,11]],Bje=[0,[0,5]],Ije=[0,[0,4]],Mje=[0,[0,2]],Wje=[0,[0,3]],Uje=[0,[0,1]],Fje=[0,[0,0]],Lje=[0,[0,12]],zje=[0,[0,13]],Hje=[0,[0,14]],Yje=[0,0],Kje=[0,1],Gje=[0,0],Vje=[0,2],jje=[0,3],Jje=[0,7],Xje=[0,6],Zje=[0,4],eJe=[0,5],tJe=[0,1],rJe=[0,0],nJe=[0,1],iJe=[0,0],aJe=f9,sJe=[0,"either a call or access of `super`"],oJe=f9,RJe=zc,uJe=f5,lJe=f5,cJe=l9,TJe=[0,"the identifier `target`"],pJe=[0,0],_Je=[0,1],hJe=[0,1],fJe=[0,1],dJe=[0,1],xJe=[0,1],mJe=[0,71],kJe=OP,yJe=Ioe,qJe=b6,CJe=b6,AJe=Hi,gJe=[0,0],bJe=[0,1],EJe=[0,0],OJe=Lc,vJe=Lc,DJe=[0,"a regular expression"],SJe=ua,$Je=ua,QJe=ua,NJe=[0,79],wJe=[0,"src/parser/expression_parser.ml",1441,17],PJe=[0,"a template literal part"],BJe=[0,[0,ua,ua],1],IJe=Dx,MJe=[0,6],WJe=[0,[0,17,[0,2]]],UJe=[0,[0,18,[0,3]]],FJe=[0,[0,19,[0,4]]],LJe=[0,[0,0,[0,5]]],zJe=[0,[0,1,[0,5]]],HJe=[0,[0,2,[0,5]]],YJe=[0,[0,3,[0,5]]],KJe=[0,[0,5,[0,6]]],GJe=[0,[0,7,[0,6]]],VJe=[0,[0,4,[0,6]]],jJe=[0,[0,6,[0,6]]],JJe=[0,[0,8,[0,7]]],XJe=[0,[0,9,[0,7]]],ZJe=[0,[0,10,[0,7]]],eXe=[0,[0,11,[0,8]]],tXe=[0,[0,12,[0,8]]],rXe=[0,[0,15,[0,9]]],nXe=[0,[0,13,[0,9]]],iXe=[0,[0,14,[1,10]]],aXe=[0,[0,16,[0,9]]],sXe=[0,[0,21,[0,6]]],oXe=[0,[0,20,[0,6]]],RXe=[22,y5],uXe=[13,"JSX fragment"],lXe=H1,cXe=e_,TXe=[0,jp],pXe=[1,jp],_Xe=[0,ua,ua,0],hXe=[0,F$],fXe=ua,dXe=[0,"a number or string literal"],xXe=[0,ua,'""',0],mXe=[0,0],kXe=[0,"a number literal"],yXe=[0,[0,0,lu,0]],qXe=[0,82],CXe=[20,qoe],AXe=[20,QS],gXe=C,bXe=[0,ua,0],EXe="unexpected PrivateName in Property, expected a PrivateField",OXe=[0,0,0],vXe=M5,DXe="Must be one of the above",SXe=[0,1],$Xe=[0,1],QXe=[0,1],NXe=M5,wXe=M5,PXe=Sy,BXe="Internal Error: private name found in object props",IXe=[0,0,0,0],MXe=[0,$5],WXe=[19,[0,0]],UXe=[0,$5],FXe=QO,LXe="Nooo: ",zXe=Jg,HXe="Parser error: No such thing as an expression pattern!",YXe=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],KXe=[0,"src/parser/parser_flow.ml",_k,28],GXe=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],VXe=Ma,jXe=t,JXe=lk,XXe=Lo,ZXe=Lo,eZe=lk,tZe=Kh,rZe=lt,nZe=Z0,iZe=go,aZe="InterpreterDirective",sZe="interpreter",oZe="Program",RZe=dh,uZe="BreakStatement",lZe=dh,cZe="ContinueStatement",TZe="DebuggerStatement",pZe=v8,_Ze="DeclareExportAllDeclaration",hZe=v8,fZe=Dy,dZe=zF,xZe=Jg,mZe="DeclareExportDeclaration",kZe=Z0,yZe=Os,qZe="DeclareModule",CZe=W0,AZe="DeclareModuleExports",gZe=Z0,bZe=Os,EZe="DeclareNamespace",OZe=tb,vZe=Z0,DZe="DoWhileStatement",SZe="EmptyStatement",$Ze=cL,QZe=zF,NZe="ExportDefaultDeclaration",wZe=cL,PZe=wL,BZe=v8,IZe="ExportAllDeclaration",MZe=cL,WZe=v8,UZe=Dy,FZe=zF,LZe="ExportNamedDeclaration",zZe="directive",HZe=op,YZe="ExpressionStatement",KZe=Z0,GZe="update",VZe=tb,jZe=rd,JZe="ForStatement",XZe="each",ZZe=Z0,eet=m8,tet=MT,ret="ForInStatement",net=E8,iet=Z0,aet=m8,set=MT,oet="ForOfStatement",Ret=WA,uet=kH,cet=tb,Tet="IfStatement",pet=Kh,_et=p8,het=go,fet=NA,det=v8,xet=Dy,met="ImportDeclaration",ket=Z0,yet=dh,qet="LabeledStatement",Cet=th,Aet=Wr,get="MatchStatement",bet=Wr,Eet="ReturnStatement",Oet=th,vet="discriminant",Det="SwitchStatement",$et=Wr,Qet="ThrowStatement",Net="finalizer",wet="handler",Pet=Zp,Bet="TryStatement",Iet=Z0,Met=tb,Wet="WhileStatement",Uet=Z0,Fet=Mo,Let="WithStatement",zet=vF,Het="ArrayExpression",Yet=Tu,Ket=I$,Get=op,Vet=U2,jet=ws,Jet=R3,Xet=Z0,Zet=Xp,ett=Os,ttt="ArrowFunctionExpression",rtt=op,ntt="AsConstExpression",itt=W0,att=op,stt="AsExpression",ott=Sy,Rtt=m8,utt=MT,ltt=H2,ctt="AssignmentExpression",Ttt=m8,ptt=MT,_tt=H2,htt="BinaryExpression",ftt="CallExpression",dtt=WA,xtt=kH,mtt=tb,ktt="ConditionalExpression",ytt=v8,qtt="ImportExpression",Ctt=HZ,Att=Qee,gtt=y5,btt=m8,Ett=MT,Ott=H2,vtt="LogicalExpression",Dtt=th,Stt=Wr,$tt="MatchExpression",Qtt="MemberExpression",Ntt=bB,wtt=f5,Ptt="MetaProperty",Btt=NP,Itt=AP,Mtt=AO,Wtt="NewExpression",Utt=dP,Ftt="ObjectExpression",Ltt=zp,ztt="OptionalCallExpression",Htt=zp,Ytt="OptionalMemberExpression",Ktt=nq,Gtt="SequenceExpression",Vtt="Super",jtt="ThisExpression",Jtt=W0,Xtt=op,Ztt="TypeCastExpression",ert=W0,trt=op,rrt="SatisfiesExpression",nrt=Wr,irt="AwaitExpression",art=m1,srt=_1,ort=M7,Rrt=$0e,urt=p8,lrt=Bi,crt=gk,Trt="matched above",prt=Wr,_rt=xZ,hrt=H2,frt="UnaryExpression",drt=$g,xrt=Noe,mrt=xZ,krt=Wr,yrt=H2,qrt="UpdateExpression",Crt="delegate",Art=Wr,grt="YieldExpression",brt=ln,Ert=Z0,Ort=tp,vrt="MatchExpressionCase",Drt=ln,Srt=Z0,$rt=tp,Qrt="MatchStatementCase",Nrt=Hy,wrt=tp,Prt=h1,Brt="MatchObjectPatternProperty",Irt=bB,Mrt="base",Wrt="MatchMemberPattern",Urt="literal",Frt="MatchLiteralPattern",Lrt="MatchWildcardPattern",zrt=m1,Hrt=_1,Yrt=Wr,Krt=H2,Grt="MatchUnaryPattern",Vrt=B0,jrt=dP,Jrt="MatchObjectPattern",Xrt=B0,Zrt=vF,ent="MatchArrayPattern",tnt="patterns",rnt="MatchOrPattern",nnt=z$,int=tp,ant="MatchAsPattern",snt=Os,ont="MatchIdentifierPattern",Rnt=Te,unt=Os,lnt="MatchBindingPattern",cnt=Wr,Tnt="MatchRestPattern",pnt="Unexpected FunctionDeclaration with BodyExpression",_nt="HookDeclaration",hnt=op,fnt=U2,dnt=ws,xnt=R3,mnt="FunctionDeclaration",knt=Tu,ynt=I$,qnt=Z0,Cnt=Xp,Ant=Os,gnt="Unexpected FunctionExpression with BodyExpression",bnt=Tu,Ent=I$,Ont=op,vnt=U2,Dnt=ws,Snt=R3,$nt=Z0,Qnt=Xp,Nnt=Os,wnt="FunctionExpression",Pnt=zp,Bnt=W0,Int=Rm,Mnt=Iee,Wnt=zp,Unt=W0,Fnt=Rm,Lnt="PrivateIdentifier",znt=zp,Hnt=W0,Ynt=Rm,Knt=Iee,Gnt=kH,Vnt=tb,jnt="SwitchCase",Jnt=Z0,Xnt="param",Znt="CatchClause",eit=Z0,tit="BlockStatement",rit=Te,nit=Os,iit="DeclareVariable",ait="DeclareHook",sit=U2,oit="DeclareFunction",Rit=Os,uit=yoe,lit=S8,cit=sf,Tit=Z0,pit=Tu,_it=Os,hit="DeclareClass",fit=Tu,dit=nh,xit=Xp,mit=B0,kit=Xp,yit=Os,qit="DeclareComponent",Cit=Tu,Ait=nh,git=B0,bit=Xp,Eit="ComponentTypeAnnotation",Oit=zp,vit=W0,Dit=Rm,Sit="ComponentTypeParameter",$it=Z0,Qit=Os,Nit="DeclareEnum",wit=sf,Pit=Z0,Bit=Tu,Iit=Os,Mit="DeclareInterface",Wit=go,Uit=Kh,Fit=wL,Lit="ExportNamespaceSpecifier",zit=m8,Hit=Tu,Yit=Os,Kit="DeclareTypeAlias",Git=m8,Vit=Tu,jit=Os,Jit="TypeAlias",Xit="DeclareOpaqueType",Zit="OpaqueType",eat="supertype",tat="impltype",rat=Tu,nat=Os,iat="ClassDeclaration",aat="ClassExpression",sat=t8,oat=S8,Rat="superTypeParameters",uat="superClass",lat=Tu,cat=Z0,Tat=Os,pat=op,_at="Decorator",hat=Tu,fat=Os,dat="ClassImplements",xat=Z0,mat="ClassBody",kat=pt,yat=fb,qat=sh,Cat=HO,Aat=t8,gat=Tk,bat=ac,Eat=Te,Oat=go,vat=h1,Dat="MethodDefinition",Sat=yb,$at=t8,Qat=cu,Nat=ac,wat=Tk,Pat=W0,Bat=go,Iat=h1,Mat=p0e,Wat="Internal Error: Private name found in class prop",Uat=yb,Fat=t8,Lat=cu,zat=ac,Hat=Tk,Yat=W0,Kat=go,Gat=h1,Vat=p0e,jat=Tu,Jat=nh,Xat=Xp,Zat=Os,est=Z0,tst="ComponentDeclaration",rst=Wr,nst=xR,ist=m8,ast=MT,sst=JS,ost=Hy,Rst=Nk,ust=Rm,lst="ComponentParameter",cst=rd,Tst=Os,pst="EnumBigIntMember",_st=Os,hst=oU,fst=rd,dst=Os,xst="EnumStringMember",mst=Os,kst=oU,yst=rd,qst=Os,Cst="EnumNumberMember",Ast=rd,gst=Os,bst="EnumBooleanMember",Est=mB,Ost=g8,vst=P2,Dst="EnumBooleanBody",Sst=mB,$st=g8,Qst=P2,Nst="EnumNumberBody",wst=mB,Pst=g8,Bst=P2,Ist="EnumStringBody",Mst=mB,Wst=P2,Ust="EnumSymbolBody",Fst=mB,Lst=g8,zst=P2,Hst="EnumBigIntBody",Yst=Z0,Kst=Os,Gst="EnumDeclaration",Vst=sf,jst=Z0,Jst=Tu,Xst=Os,Zst="InterfaceDeclaration",eot=Tu,tot=Os,rot="InterfaceExtends",not=W0,iot=dP,aot="ObjectPattern",sot=W0,oot=vF,Rot="ArrayPattern",uot=m8,lot=MT,cot=JS,Tot=W0,pot=Rm,_ot=Iee,hot=Wr,fot=xR,dot=Wr,xot=xR,mot=m8,kot=MT,yot=JS,qot=rd,Cot=rd,Aot=sh,got=HO,bot=V4,Eot=Tk,Oot=Hy,vot=fb,Dot=Te,Sot=go,$ot=h1,Qot=wZ,Not=Wr,wot=Eg,Pot=m8,Bot=MT,Iot=JS,Mot=Tk,Wot=Hy,Uot=fb,Fot=Te,Lot=go,zot=h1,Hot=wZ,Yot=Wr,Kot=Eg,Got=gu,Vot=go,jot=$0,Jot=ua,Xot=gu,Zot=$8,e0t=go,t0t=$0,r0t=gu,n0t=go,i0t=$0,a0t=Kx,s0t=ot,o0t=gu,R0t=go,u0t=$0,l0t="flags",c0t=tp,T0t="regex",p0t=gu,_0t=go,h0t=$0,f0t=gu,d0t=go,x0t=$0,m0t=nq,k0t="quasis",y0t="TemplateLiteral",q0t="cooked",C0t=gu,A0t="tail",g0t=go,b0t="TemplateElement",E0t="quasi",O0t="tag",v0t="TaggedTemplateExpression",D0t=s6,S0t=d9,$0t=KS,Q0t=Te,N0t="declarations",w0t="VariableDeclaration",P0t=rd,B0t=Os,I0t="VariableDeclarator",M0t="plus",W0t=i9,U0t=nb,F0t=Xd,L0t=lS,z0t="in-out",H0t=Te,Y0t="Variance",K0t="AnyTypeAnnotation",G0t="MixedTypeAnnotation",V0t="EmptyTypeAnnotation",j0t="VoidTypeAnnotation",J0t="NullLiteralTypeAnnotation",X0t="SymbolTypeAnnotation",Z0t="NumberTypeAnnotation",eRt="BigIntTypeAnnotation",tRt="StringTypeAnnotation",rRt="BooleanTypeAnnotation",nRt=W0,iRt="NullableTypeAnnotation",aRt="UnknownTypeAnnotation",sRt="NeverTypeAnnotation",oRt="UndefinedTypeAnnotation",RRt=Te,uRt=W0,lRt="parameterName",cRt="TypePredicate",TRt="HookTypeAnnotation",pRt="FunctionTypeAnnotation",_Rt=FO,hRt=Tu,fRt=B0,dRt=I$,xRt=Xp,mRt=zp,kRt=W0,yRt=Rm,qRt=cee,CRt=zp,ARt=W0,gRt=Rm,bRt=cee,ERt=[0,0,0,0,0],ORt="internalSlots",vRt="callProperties",DRt="indexers",SRt=dP,$Rt="exact",QRt=Boe,NRt="ObjectTypeAnnotation",wRt=V4,PRt="There should not be computed object type property keys",BRt=rd,IRt=sh,MRt=HO,WRt=Te,URt=cu,FRt=Z4,LRt=ac,zRt=zp,HRt=fb,YRt=go,KRt=h1,GRt="ObjectTypeProperty",VRt=Wr,jRt="ObjectTypeSpreadProperty",JRt=cu,XRt=ac,ZRt=go,eut=h1,tut=Os,rut="ObjectTypeIndexer",nut=ac,iut=go,aut="ObjectTypeCallProperty",sut=zp,out=cu,Rut="sourceType",uut="propType",lut="keyTparam",cut="ObjectTypeMappedTypeProperty",Tut=go,put=fb,_ut=ac,hut=zp,fut=Os,dut="ObjectTypeInternalSlot",xut=Z0,mut=sf,kut="InterfaceTypeAnnotation",yut=Qoe,qut="ArrayTypeAnnotation",Cut="falseType",Aut="trueType",gut="extendsType",but="checkType",Eut="ConditionalTypeAnnotation",Out="typeParameter",vut="InferTypeAnnotation",Dut=Os,Sut=G5,$ut="QualifiedTypeIdentifier",Qut=Tu,Nut=Os,wut="GenericTypeAnnotation",Put="indexType",But="objectType",Iut="IndexedAccessType",Mut=zp,Wut="OptionalIndexedAccessType",Uut=V7,Fut="UnionTypeAnnotation",Lut=V7,zut="IntersectionTypeAnnotation",Hut=AP,Yut=Wr,Kut="TypeofTypeAnnotation",Gut=Os,Vut=G5,jut="QualifiedTypeofIdentifier",Jut=Wr,Xut="KeyofTypeAnnotation",Zut=lm,elt=xoe,tlt=S5,rlt=W0,nlt=H2,ilt="TypeOperator",alt=nb,slt=Boe,olt="elementTypes",Rlt="TupleTypeAnnotation",ult=zp,llt=cu,clt=Qoe,Tlt=dh,plt="TupleTypeLabeledElement",_lt=W0,hlt=dh,flt="TupleTypeSpreadElement",dlt=gu,xlt=go,mlt="StringLiteralTypeAnnotation",klt=gu,ylt=go,qlt="NumberLiteralTypeAnnotation",Clt=gu,Alt=go,glt="BigIntLiteralTypeAnnotation",blt=Kx,Elt=ot,Olt=gu,vlt=go,Dlt="BooleanLiteralTypeAnnotation",Slt="ExistsTypeAnnotation",$lt=W0,Qlt=SZ,Nlt=W0,wlt=SZ,Plt=Xp,Blt="TypeParameterDeclaration",Ilt="usesExtendsBound",Mlt=Jg,Wlt=cu,Ult="bound",Flt=Rm,Llt="TypeParameter",zlt=Xp,Hlt=R9,Ylt=Xp,Klt=R9,Glt=Dx,Vlt=T0e,jlt="closingElement",Jlt="openingElement",Xlt="JSXElement",Zlt="closingFragment",ect=T0e,tct="openingFragment",rct="JSXFragment",nct=AP,ict="selfClosing",act="attributes",sct=Rm,oct="JSXOpeningElement",Rct="JSXOpeningFragment",uct=Rm,lct="JSXClosingElement",cct="JSXClosingFragment",Tct=go,pct=Rm,_ct="JSXAttribute",hct=Wr,fct="JSXSpreadAttribute",dct="JSXEmptyExpression",xct=op,mct="JSXExpressionContainer",kct=op,yct="JSXSpreadChild",qct=gu,Cct=go,Act="JSXText",gct=bB,bct=Mo,Ect="JSXMemberExpression",Oct=Rm,vct=u3,Dct="JSXNamespacedName",Sct=Rm,$ct="JSXIdentifier",Qct=wL,Nct=Nk,wct="ExportSpecifier",Pct=Nk,Bct="ImportDefaultSpecifier",Ict=Nk,Mct="ImportNamespaceSpecifier",Wct=NA,Uct=Nk,Fct="imported",Lct="ImportSpecifier",zct="Line",Hct="Block",Yct=go,Kct=go,Gct="DeclaredPredicate",Vct="InferredPredicate",jct=NP,Jct=AP,Xct=AO,Zct=Tk,eTt=bB,tTt=Mo,rTt="message",nTt=t,iTt=ZR,aTt=Sg,sTt=v8,oTt=jO,RTt=iP,uTt=[0,te,pq,n9,nx,cu,Qk,ct,nf,pf,wq,X5,_6,Oh,nm,er,zt,Zy,Uq,LT,I5,cq,ol,ji,Jq,qk,Yi,Ca,Zh,hd,ef,dq,Cq,Td,vf,Yp,pc,Nn,t9,Bu,Mf,J5,jh,Ff,hc,Qf,fh,KT,Cl,jf,qh,ls,Y1,cc,D6,DR,vq,oT,gq,no,Gf,U2,Fh,s8,kh,ss,Uy,aq,g_,j1,b8,pn,Af,vo,j,Ae,Sq,O5,Px,Y5,If,Lx,zy,tp,Lf,_R,Yh,Xy,ld,Pt,Ce,L1,Yq,mf,Ss,Aa,T8,Hh,wh,x6,Nh,Ve,Bf,Ek,B5,o8,A6,mh,S6,h0,K6,Wf,Sh,sd,Lh,Nf,Vy,v5,Y6,ul,Wi,Uh,id,Ph,zT,rq,Vh,o9,Wh,us,im,Bp,td,cf,q0,g5,Rl,Xf,w6,l,zl,Fn,Of,Q6,a9,xk,hT,c9,Hq,nd,_f,qf,I2,Rf,D5,wk,y0,ex,W2,A8,f_,ad,Ch,l8,V5,Cf,Zn,q6,g6,nt,hq,p1,rf,Kf,Jh,hh,Qq,Jf,f8,He,zc,Eh,uc,Vf,lh,V6,Ef,ud,Et,l1,Ok,E5,n8,Qh,G1,af,uf,E6,M0,u9,Gh,pd,Yy,xq,Mr,Zf,bh,M6,$h,Rd,Y2,$p,TT,Bq,Ah,Mc,kf,zf,Np,op,Ee,gf,Bh,_d,eh,bn,Z6,df,Lq,Df,yf,cd,IT,wf,Mq,lf,hf,GT,T6,uR,q_,sq,C6,F,of,xf,L5,Sf,z5,fq,Gp,eq,et,K2,Yf,Tc,sl,Sk,uq,N5,Pf,Hf,ch,mk,Pk,ff,od,cs,Tf,Dh,Gq,oe,Rq,rx,Ih,u8,Ji,Xh,zh,_T,P5,gh,U6,xh,q8,y6,C5,Eq,MR,P6,z1,e9,U5,fd,_c,Th,$f,Zp,X7,_e,B6,ed,rc,Ly,A5,i8,bf,JT,tf,C_,Mh],lTt=[0,jf,Ch,uf,V6,n8,fd,S6,Nh,I2,nt,$f,qk,Ce,hc,ld,gf,zT,o9,q8,Td,T8,W2,K6,rf,f_,hf,IT,pq,O5,Et,M6,j,a9,xf,Pk,ud,lf,sd,lh,nx,Bq,b8,fq,e9,E6,z1,y0,df,Fh,Ok,$h,Ff,Bf,uc,KT,Wi,hh,GT,Q6,Sh,gh,u8,Lf,Mh,Uy,rq,Dh,ol,x6,kh,nd,zh,L1,U2,Aa,Qh,_R,Lh,Rf,ex,Ef,l,uq,Ca,yf,Bp,Wh,_f,zl,af,Rl,j1,JT,Sf,bn,v5,oT,zy,tf,uR,U5,Y1,cu,s8,et,zt,DR,Eh,ul,B6,bh,Yp,Cf,xh,o8,jh,q_,$p,Yi,te,Fn,vf,eq,aq,_6,If,K2,gq,ed,X5,Ih,Gp,mh,nf,im,A8,A5,ef,g6,wf,kf,Pt,Bh,Of,Y5,Ah,Uq,hd,Gq,Qk,dq,qh,Zy,fh,wq,_T,Kf,Rd,Ji,w6,G1,oe,pf,rx,Uh,A6,hT,ff,rc,Y6,Eq,U6,cs,td,Px,c9,Tf,Vy,zc,cc,er,LT,Qf,Sq,pc,Tc,h0,Vf,Xy,Np,ad,tp,Th,pd,Mq,Jh,Xh,Ee,M0,l8,E5,nm,cd,Gf,Mr,f8,Vh,Df,eh,Hf,B5,ls,Ve,Qq,mf,Af,Zh,wh,ss,Ss,I5,L5,us,MR,z5,X7,Zn,J5,T6,Cq,l1,no,He,Hh,C5,Ek,wk,P5,g5,hq,sq,Jq,C_,ct,C6,P6,ji,F,D5,V5,N5,xk,vo,Wf,q6,Mc,q0,Hq,cq,Bu,Ly,Ph,ch,Ae,i8,_e,op,Lx,Rq,zf,id,Yy,xq,Cl,sl,u9,od,g_,Z6,of,t9,Mf,cf,Zf,_d,Oh,Y2,Xf,Yh,Zp,Jf,y6,qf,Yq,Gh,Yf,D6,Lq,_c,bf,p1,Sk,n9,mk,vq,TT,Pf,pn,Nn,Nf],cTt=[0,Mh,C_,tf,JT,bf,i8,A5,Ly,rc,ed,B6,_e,X7,Zp,$f,Th,_c,fd,U5,e9,z1,P6,MR,Eq,C5,y6,q8,xh,U6,gh,P5,_T,zh,Xh,Ji,u8,Ih,rx,Rq,oe,Gq,Dh,Tf,cs,od,ff,Pk,mk,ch,Hf,Pf,N5,uq,Sk,sl,Tc,Yf,K2,et,eq,Gp,fq,z5,Sf,L5,xf,of,F,C6,sq,q_,uR,T6,GT,hf,lf,Mq,wf,IT,cd,yf,Df,Lq,df,Z6,bn,eh,_d,Bh,gf,Ee,op,Np,zf,kf,Mc,Ah,Bq,TT,$p,Y2,Rd,$h,M6,bh,Zf,Mr,xq,Yy,pd,Gh,u9,M0,E6,uf,af,G1,Qh,n8,E5,Ok,l1,Et,ud,Ef,V6,lh,Vf,uc,Eh,zc,He,f8,Jf,Qq,hh,Jh,Kf,rf,p1,hq,nt,g6,q6,Zn,Cf,V5,l8,Ch,ad,f_,A8,W2,ex,y0,wk,D5,Rf,I2,qf,_f,nd,Hq,c9,hT,xk,a9,Q6,Of,Fn,zl,l,w6,Xf,Rl,g5,q0,cf,td,Bp,im,us,Wh,o9,Vh,rq,zT,Ph,id,Uh,Wi,ul,Y6,v5,Vy,Nf,Lh,sd,Sh,Wf,K6,h0,S6,mh,A6,o8,B5,Ek,Bf,Ve,Nh,x6,wh,Hh,T8,Aa,Ss,mf,Yq,L1,Ce,Pt,ld,Xy,Yh,_R,Lf,tp,zy,Lx,If,Y5,Px,O5,Sq,Ae,j,vo,Af,pn,b8,j1,g_,aq,Uy,ss,kh,s8,Fh,U2,Gf,no,gq,oT,vq,DR,D6,cc,Y1,ls,qh,jf,Cl,KT,fh,Qf,hc,Ff,jh,J5,Mf,Bu,t9,Nn,pc,Yp,vf,Td,Cq,dq,ef,hd,Zh,Ca,Yi,qk,Jq,ji,ol,cq,I5,LT,Uq,Zy,zt,er,nm,Oh,_6,X5,wq,pf,nf,ct,Qk,cu,nx,n9,pq,te],TTt="Jsoo_runtime.Error.Exn",pTt=[0,0],_Tt="use_strict",hTt=V7,fTt="esproposal_decorators",dTt="pattern_matching",xTt="enums",mTt="components",kTt="Internal error: ",yTt=[Ws,"CamlinternalLazy.Undefined",md(0)];function qTt(o,T){var a=ii(T)-1|0,u=0;if(a>=0)for(var p=u;;){o($r(T,p));var d=p+1|0;if(a===p)break;var p=d}}var CTt=dn,ATt=[0,0];function gTt(o){var T=bge(0),a=eue(he),u=T.length-1,p=Do((u*8|0)+1|0),d=u-1|0,q=0;if(d>=0)for(var g=q;;){C3e(p,g*8|0,gb(Wo(T,g)[1+g]));var O=g+1|0;if(d===g)break;var g=O}Jx(p,u*8|0,1);var B=ZRe(p);Jx(p,u*8|0,2);var W=ZRe(p),Y=_Q(W,8),V=_Q(W,0),Z=_Q(B,8);return tue(a,_Q(B,0),Z,V,Y),a}for(;;){var mxe=q9(eG);let o=[0,1],T=mxe;if(!(1-H$(eG,mxe,function(a){return H$(o,1,0)&&(W8(M8(bue),he),W8(M8(Eue),he)),J(T,0)})))break}if(q9(ATt))throw Pr([0,uQ,Pve],1);var c3=iG([0,dn]),xm=iG([0,dn]),Bk=iG([0,fc]),Hb=GK(0,0),kxe=2,bTt=[0,0];function yxe(o){return 2=0)for(var q=d;;){var g=(q*2|0)+3|0,O=Wo(o,q)[1+q];Wo(a,g)[1+g]=O;var B=q+1|0;if(p===q)break;var q=B}return[0,kxe,a,xm[1],Bk[1],0,0,c3[1],0]}function Hee(o,T){var a=o[2].length-1;if(a=0)for(var p=u;;){var d=r0(o,p);T[1]=(Gy*T[1]|0)+d|0;var q=p+1|0;if(a===p)break;var p=q}T[1]=T[1]&moe;var g=1073741823T)return a;var u=[0,o[1+T],a],T=T-1|0,a=u}}function $G(o,T){try{var a=c3[17].call(null,T,o[7]);return a}catch(d){var u=n0(d);if(u!==kd)throw Pr(u,0);var p=o[1];return o[1]=p+1|0,Re(T,ua)&&(o[7]=c3[2].call(null,T,p,o[7])),p}}function QG(o){return E9(o,0)?[0]:o}function NG(o,T,a,u,p,d){var q=p[2],g=p[4],O=Kee(T),B=Kee(a),W=Kee(u),Y=yd(function(ut){return qQ(o,ut)},B),V=yd(function(ut){return qQ(o,ut)},W);o[5]=[0,[0,o[3],o[4],o[6],o[7],Y,O],o[5]],o[7]=c3[24].call(null,function(ut,it,Tt){return nG(ut,O)?c3[2].call(null,ut,it,Tt):Tt},o[7],c3[1]);var Z=[0,xm[1]],se=[0,Bk[1]];SRe(function(ut,it){Z[1]=xm[2].call(null,ut,it,Z[1]);var Tt=se[1];try{var Rt=Bk[17].call(null,it,o[4]),kt=Rt}catch(It){var ft=n0(It);if(ft!==kd)throw Pr(ft,0);var kt=1}se[1]=Bk[2].call(null,it,kt,Tt)},W,V),SRe(function(ut,it){Z[1]=xm[2].call(null,ut,it,Z[1]),se[1]=Bk[2].call(null,it,0,se[1])},B,Y),o[3]=Z[1],o[4]=se[1],o[6]=rG(function(ut,it){return nG(ut[1],Y)?it:[0,ut,it]},o[6],0);var ae=d?J(q(o),g):q(o),ue=Qb(o[5]),pe=ue[6],xe=ue[5],ye=ue[4],ge=ue[3],Ne=ue[2],Fe=ue[1];o[5]=DRe(o[5]),o[7]=tR(function(ut,it){var Tt=c3[17].call(null,it,o[7]);return c3[2].call(null,it,Tt,ut)},ye,pe),o[3]=Fe,o[4]=Ne,o[6]=rG(function(ut,it){return nG(ut[1],xe)?it:[0,ut,it]},o[6],ge);var ze=[0,hQ(function(ut){var it=qQ(o,ut);try{for(var Tt=o[6];;){if(!Tt)throw Pr(kd,1);var Rt=Tt[1],kt=Tt[2],ft=Rt[2];if(tRe(Rt[1],it)===0)return ft;var Tt=kt}}catch(dt){var It=n0(dt);if(It===kd)return Wo(o[2],it)[1+it];throw Pr(It,0)}},QG(u)),0];return _3e([0,[0,ae],[0,hQ(function(ut){try{var it=c3[17].call(null,ut,o[7]);return it}catch(Rt){var Tt=n0(Rt);throw Tt===kd?Pr([0,Wa,Bve],1):Pr(Tt,0)}},QG(T)),ze]])}function wB(o,T){if(o===0)var a=vue([0]);else{var u=vue(hQ(Due,o)),p=o.length-1-1|0,d=0;if(p>=0)for(var q=d;;){var g=(q*2|0)+2|0;u[3]=xm[2].call(null,o[1+q],g,u[3]),u[4]=Bk[2].call(null,g,1,u[4]);var O=q+1|0;if(p===q)break;var q=O}var a=u}var B=T(a);return a[8]=xn(a[8]),Hee(a,3+((Wo(a[2],1)[2]*16|0)/32|0)|0),[0,J(B,0),T,,0]}function AQ(o,T){if(o)return o;var a=GK(Ws,T[1]);return a[1]=T[2],kge(a)}function PB(o,T,a){if(o)return T;var u=a[8];if(u!==0)for(var p=u;p;){var d=p[2];J(p[1],T);var p=d}return T}function BB(o){var T=Sue(o);e:{if(T%2|0&&(2+((Wo(o[2],1)[2]*16|0)/32|0)|0)>=T){var a=Sue(o);break e}var a=T}return Wo(o[2],a)[1+a]=0,a}function IB(o,T){for(var a=[0,0],u=T.length-1;;){if(a[1]>=u)return;var p=a[1],d=function(yr){a[1]++;var sr=a[1];return Wo(T,sr)[1+sr]},q=Wo(T,p)[1+p],g=d(he);if(typeof g=="number")switch(g){case 0:let yr=d(he);var rt=function(ci){return yr};break;case 1:let sr=d(he);var rt=function(ci){return ci[1+sr]};break;case 2:var O=d(he);let Ir=O,Dr=d(he);var rt=function(ci){return ci[1+Ir][1+Dr]};break;case 3:let on=d(he);var rt=function(ci){return J(ci[1][1+on],ci)};break;case 4:let cn=d(he);var rt=function(ci,Ra){return ci[1+cn]=Ra,0};break;case 5:var B=d(he);let Lr=B,fn=d(he);var rt=function(ci){return J(Lr,fn)};break;case 6:var W=d(he);let rn=W,vt=d(he);var rt=function(ci){return J(rn,ci[1+vt])};break;case 7:var Y=d(he),V=d(he);let qr=Y,Pe=V,Lt=d(he);var rt=function(ci){return J(qr,ci[1+Pe][1+Lt])};break;case 8:var Z=d(he);let Xe=Z,Mt=d(he);var rt=function(ci){return J(Xe,J(ci[1][1+Mt],ci))};break;case 9:var se=d(he),ae=d(he);let Gt=se,Ze=ae,Xr=d(he);var rt=function(ci){return K(Gt,Ze,Xr)};break;case 10:var ue=d(he),pe=d(he);let qt=ue,kn=pe,Ki=d(he);var rt=function(ci){return K(qt,kn,ci[1+Ki])};break;case 11:var xe=d(he),ye=d(he),ge=d(he);let Qe=xe,Vt=ye,We=ge,Qt=d(he);var rt=function(ci){return K(Qe,Vt,ci[1+We][1+Qt])};break;case 12:var Ne=d(he),Fe=d(he);let gn=Ne,qn=Fe,gr=d(he);var rt=function(ci){return K(gn,qn,J(ci[1][1+gr],ci))};break;case 13:var ze=d(he),ut=d(he);let wn=ze,br=ut,jn=d(he);var rt=function(ci){return K(wn,ci[1+br],jn)};break;case 14:var it=d(he),Tt=d(he),Rt=d(he);let Rn=it,ai=Tt,mn=Rt,Jn=d(he);var rt=function(ci){return K(Rn,ci[1+ai][1+mn],Jn)};break;case 15:var kt=d(he),ft=d(he);let Oi=kt,Cn=ft,Fi=d(he);var rt=function(ci){return K(Oi,J(ci[1][1+Cn],ci),Fi)};break;case 16:var It=d(he);let Ri=It,Da=d(he);var rt=function(ci){return K(ci[1][1+Ri],ci,Da)};break;case 17:var dt=d(he);let Ha=dt,Fs=d(he);var rt=function(ci){return K(ci[1][1+Ha],ci,ci[1+Fs])};break;case 18:var Ot=d(he),At=d(he);let Ks=Ot,Yo=At,ra=d(he);var rt=function(ci){return K(ci[1][1+Ks],ci,ci[1+Yo][1+ra])};break;case 19:var wt=d(he);let we=wt,Ft=d(he);var rt=function(ci){var Ra=J(ci[1][1+Ft],ci);return K(ci[1][1+we],ci,Ra)};break;case 20:var or=d(he),rr=d(he);BB(o);let Oe=or,yt=rr;var rt=function(ci){return J(ki(yt,Oe,0),yt)};break;case 21:var Jt=d(he),tr=d(he);BB(o);let yn=Jt,tn=tr;var rt=function(ci){var Ra=ci[1+tn];return J(ki(Ra,yn,0),Ra)};break;case 22:var mr=d(he),Xt=d(he),hr=d(he);BB(o);let di=mr,ui=Xt,_s=hr;var rt=function(ci){var Ra=ci[1+ui][1+_s];return J(ki(Ra,di,0),Ra)};break;default:var Ge=d(he),Cr=d(he);BB(o);let la=Ge,hs=Cr;var rt=function(ci){var Ra=J(ci[1][1+hs],ci);return J(ki(Ra,la,0),Ra)}}else var rt=g;Yee(o,q,rt),a[1]++}}function Gee(o,T){var a=T.length-1,u=GK(0,a),p=a-1|0,d=0;if(p>=0)for(var q=d;;){var g=Wo(T,q)[1+q];if(typeof g=="number")switch(g){case 0:let se=q;var O=function(ye){var ge=u[1+se];if(ae===ge)throw Pr([0,Db,o],1);return J(ge,ye)};let ae=O;var Y=O;break;case 1:var B=[];let ue=B,pe=q;ns(B,[US,function(ye){var ge=u[1+pe];if(ue===ge)throw Pr([0,Db,o],1);var Ne=P8(ge);if(k9===Ne)return ge[1];if(US!==Ne&&np!==Ne)return ge;if(V3e(ge)!==0)throw Pr(yTt,1);var Fe=ge[1];ge[1]=0;try{var ze=J(Fe,0);return ge[1]=ze,j3e(ge),ze}catch(it){var ut=n0(it);throw ge[1]=function(Tt){throw Pr(ut,0)},G3e(ge),Pr(ut,0)}}]);var Y=B;break;default:var W=function(ye){throw Pr([0,Db,o],1)},Y=[0,W,W,W,0]}else var Y=g[0]===0?Gee(o,g[1]):g[1];u[1+q]=Y;var V=q+1|0;if(p===q)break;var q=V}return u}function $ue(o,T,a){if(P8(a)===0&&o.length-1<=a.length-1){var u=o.length-1-1|0,p=0;if(u>=0)for(var d=p;;){var q=a[1+d],g=Wo(o,d)[1+d];e:if(typeof g=="number"){if(g===2){if(P8(q)===0&&q.length-1===4){for(var O=0,B=T[1+d];;){B[1+O]=q[1+O];var W=O+1|0;if(O===3)break;var O=W}break e}throw Pr([0,Wa,Ive],1)}T[1+d]=q}else g[0]===0&&$ue(g[1],T[1+d],q);var Y=d+1|0;if(u===d)break;var d=Y}return}throw Pr([0,Wa,Mve],1)}try{var qxe=dRe("TMPDIR"),Que=qxe}catch(o){var Vee=n0(o);if(Vee!==kd)throw Pr(Vee,0);var Que=Wve}var Cxe=[0,,,,,,,,,,Que];try{var OTt=dRe("TEMP"),Axe=OTt}catch(o){var Nue=n0(o);if(Nue!==kd)throw Pr(Nue,0);var Axe=Uve}var gxe=[0,,,,,,,,,,Axe],vTt=[0,,,,,,,,,,Que],DTt=Re(ORe,yZ)?Re(ORe,"Win32")?Cxe:gxe:vTt,STt=DTt[10];qd(0,gTt),qd([0,function(o){return o}],function(o){return STt});function T3(o,T){function a(u){return kT(o,u)}return ub<=T?(a(um|T>>>18|0),a(t0|(T>>>12|0)&63),a(t0|(T>>>6|0)&63),a(t0|T&63)):sP<=T?(a(Wl|T>>>12|0),a(t0|(T>>>6|0)&63),a(t0|T&63)):t0<=T?(a(f0|T>>>6|0),a(t0|T&63)):a(T)}var s2=[Ws,zve,md(0)],Yb=0,wue=0,Pue=0,Bue=0,Iue=0,Mue=0,Wue=0,Uue=0,Fue=0,Lue=0;function $e(o){if(o[3]===o[2])return-1;var T=o[1][1+o[3]];return o[3]=o[3]+1|0,T===10&&(o[5]!==0&&(o[5]=o[5]+1|0),o[4]=o[3]),T}function le(o,T){o[9]=o[3],o[10]=o[4],o[11]=o[5],o[12]=T}function Kt(o){return o[6]=o[3],o[7]=o[4],o[8]=o[5],le(o,-1)}function Se(o){return o[3]=o[9],o[4]=o[10],o[5]=o[11],o[12]}function Ke(o){o[3]=o[6],o[4]=o[7],o[5]=o[8]}function XO(o,T){o[6]=T}function MB(o){return o[3]-o[6]|0}function _u(o){var T=o[3]-o[6]|0,a=o[6],u=o[1];return 0<=a&&0<=T&&(u.length-1-T|0)>=a?h3e(u,a,T):UR(wve)}function Yu(o){var T=o[6];return Wo(o[1],T)[1+T]}function WB(o,T,a,u){for(var p=[0,T],d=[0,a],q=[0,0];;){if(0>=d[1])return q[1];var g=o[1+p[1]];if(0>g)throw Pr(s2,1);if(C0>>18|0),As(u,q[1]+1|0,t0|(g>>>12|0)&63),As(u,q[1]+2|0,t0|(g>>>6|0)&63),As(u,q[1]+3|0,t0|g&63),q[1]=q[1]+4|0}else As(u,q[1],Wl|g>>>12|0),As(u,q[1]+1|0,t0|(g>>>6|0)&63),As(u,q[1]+2|0,t0|g&63),q[1]=q[1]+3|0;else As(u,q[1],f0|g>>>6|0),As(u,q[1]+1|0,t0|g&63),q[1]=q[1]+2|0;else As(u,q[1],g),q[1]++;p[1]++,d[1]+=-1}}function UB(o){for(var T=ii(o),a=fm(T,0),u=[0,0],p=[0,0];;){if(u[1]>=T)return[0,a,p[1],Lue,Fue,Uue,Wue,Mue,Iue,Bue,Pue,wue,Yb];var d=$r(o,u[1]);e:{if(f0<=d){if(um>d){if(Wl>d){var q=$r(o,u[1]+1|0);if((q>>>6|0)!==2)throw Pr(s2,1);a[1+p[1]]=(d&31)<<6|q&63,u[1]=u[1]+2|0;break e}var g=$r(o,u[1]+1|0),O=$r(o,u[1]+2|0),B=(d&15)<<12|(g&63)<<6|O&63,W=(g>>>6|0)!==2?1:0,Y=W||((O>>>6|0)!==2?1:0);if(Y)var Z=Y;else var V=55296<=B?1:0,Z=V&&(B<=57343?1:0);if(Z)throw Pr(s2,1);a[1+p[1]]=B,u[1]=u[1]+3|0;break e}if(Ws>d){var se=$r(o,u[1]+1|0),ae=$r(o,u[1]+2|0),ue=$r(o,u[1]+3|0),pe=(se>>>6|0)!==2?1:0;if(pe)var ye=pe;else var xe=(ae>>>6|0)!==2?1:0,ye=xe||((ue>>>6|0)!==2?1:0);if(ye)throw Pr(s2,1);var ge=(d&7)<<18|(se&63)<<12|(ae&63)<<6|ue&63;if(Fyd){a[1+p[1]]=d,u[1]++;break e}throw Pr(s2,1)}p[1]++}}function FB(o,T,a){var u=o[6]+T|0,p=Do(a*4|0),d=o[1];if((u+a|0)<=d.length-1)return Q9(p,0,WB(d,u,a,p));throw Pr([0,Wa,Lve],1)}function ps(o){var T=o[6],a=o[3]-T|0,u=Do(a*4|0);return Q9(u,0,WB(o[1],T,a,u))}function ms(o,T){var a=o[6],u=o[3]-a|0,p=Do(u*4|0);return uG(T,p,0,WB(o[1],a,u,p))}function ZO(o){var T=o.length-1,a=Do(T*4|0);return Q9(a,0,WB(o,0,T,a))}function LB(o,T){o[3]=o[3]-T|0}function W9(o){return typeof o=="number"?0:o[0]===0?1:o[1]}function G2(o,T,a,u){var p=W9(o),d=W9(u),q=d<=p?p+1|0:d+1|0;return q===1?[0,T,a]:[1,q,T,a,o,u]}function p3(o,T,a,u){var p=W9(o),d=W9(u),q=d<=p?p+1|0:d+1|0;return[1,q,T,a,o,u]}function wG(o,T,a,u){var p=W9(o),d=W9(u);if((d+2|0)=d)return G2(o,T,a,u);var ae=u[5],ue=u[4],pe=u[3],xe=u[2],ye=W9(ue);if(ye<=W9(ae))return p3(G2(o,T,a,ue),xe,pe,ae);var ge=ue[4],Ne=ue[3],Fe=ue[2],ze=G2(ue[5],xe,pe,ae);return p3(G2(o,T,a,ge),Fe,Ne,ze)}function Kb(o){return typeof o=="number"?0:o[0]===0?1:o[1]}function V2(o,T,a){e:{t:{if(typeof o=="number"){if(typeof a=="number")return[0,T];if(a[0]===1)break t}else{if(o[0]!==0){var u=o[1];if(typeof a!="number"&&a[0]===1){var p=a[1],d=p<=u?u+1|0:p+1|0;return[1,d,T,o,a]}var q=u;break e}if(typeof a!="number"&&a[0]===1)break t}return[1,2,T,o,a]}var q=a[1]}return[1,q+1|0,T,o,a]}function tC(o,T,a){var u=Kb(o),p=Kb(a),d=p<=u?u+1|0:p+1|0;return[1,d,T,o,a]}function PG(o,T,a){var u=Kb(o),p=Kb(a);if((p+2|0)=p)return V2(o,T,a);var V=a[4],Z=a[3],se=a[2],ae=Kb(Z);if(ae<=Kb(V))return tC(V2(o,T,Z),se,V);var ue=Z[3],pe=Z[2],xe=V2(Z[4],se,V);return tC(V2(o,T,ue),pe,xe)}var jee=0;function Jee(o){function T(a,u){if(typeof u=="number")return[0,a];if(u[0]===0){var p=u[1],d=K(o[1],a,p);return d===0?u:0<=d?V2(u,a,jee):V2([0,a],p,jee)}var q=u[4],g=u[3],O=u[2],B=K(o[1],a,O);if(B===0)return u;if(0<=B){var W=T(a,q);return q===W?u:PG(g,O,W)}var Y=T(a,g);return g===Y?u:PG(Y,O,q)}return[0,jee,,function(a,u){for(var p=u;;){if(typeof p=="number")return 0;if(p[0]===0)return K(o[1],a,p[1])===0?1:0;var d=p[4],q=p[3],g=K(o[1],a,p[2]),O=g===0?1:0;if(O)return O;var B=0<=g?d:q,p=B}},T]}function zue(o){switch(o[0]){case 0:return 1;case 1:return 2;case 2:return 2;default:return 3}}function ks(o,T){if(!T)return T;var a=T[1],u=J(o,a);return a===u?T:[0,u]}function en(o,T,a,u,p){var d=K(o,T,a);return a===d?u:p(d)}function Tr(o,T,a,u){var p=J(o,T);return T===p?a:u(p)}function Dn(o,T){var a=T[1];return en(o,a,T[2],T,function(u){return[0,a,u]})}function mc(o,T){return ks(function(a){var u=a[1];return en(o,u,a[2],a,function(p){return[0,u,p]})},T)}function wo(o,T){var a=tR(function(p,d){var q=p[2],g=p[1],O=J(o,d),B=q||(O!==d?1:0);return[0,[0,O,g],B]},qDe,T),u=a[1];return a[2]?xn(u):T}var zo=wB(ADe,function(o){var T=CQ(o,CDe),a=T[1],u=T[2],p=T[3],d=T[4],q=T[5],g=T[6],O=T[7],B=T[8],W=T[9],Y=T[10],V=T[11],Z=T[12],se=T[13],ae=T[14],ue=T[15],pe=T[16],xe=T[17],ye=T[18],ge=T[19],Ne=T[20],Fe=T[21],ze=T[22],ut=T[23],it=T[24],Tt=T[25],Rt=T[26],kt=T[27],ft=T[28],It=T[29],dt=T[30],Ot=T[31],At=T[32],wt=T[33],or=T[34],rr=T[35],Jt=T[36],tr=T[37],mr=T[38],Xt=T[39],hr=T[40],Ge=T[41],Cr=T[42],rt=T[43],yr=T[44],sr=T[45],Ir=T[46],Dr=T[47],on=T[48],cn=T[49],Lr=T[50],fn=T[51],rn=T[52],vt=T[53],qr=T[54],Pe=T[55],Lt=T[56],Xe=T[57],Mt=T[59],Gt=T[60],Ze=T[61],Xr=T[62],qt=T[63],kn=T[64],Ki=T[65],Qe=T[66],Vt=T[67],We=T[68],Qt=T[69],gn=T[70],qn=T[71],gr=T[72],wn=T[73],br=T[74],jn=T[75],Rn=T[76],ai=T[77],mn=T[78],Jn=T[79],Oi=T[80],Cn=T[81],Fi=T[82],Ri=T[83],Da=T[84],Ha=T[85],Fs=T[86],Ks=T[87],Yo=T[88],ra=T[89],we=T[90],Ft=T[91],Oe=T[92],yt=T[93],yn=T[94],tn=T[95],di=T[96],ui=T[97],_s=T[98],la=T[99],hs=T[dR],Za=T[Fr],ci=T[gl],Ra=T[Kl],Xn=T[lc],Zi=T[vk],is=T[dT],co=T[jT],zR=T[_m],HR=T[Ta],$1=T[SR],Vu=T[fT],Sl=T[Gx],c0=T[Yc],jl=T[d0],lR=T[JO],S_=T[pm],Gc=T[kb],Q1=T[GO],gT=T[jg],$_=T[T9],pp=T[db],Ko=T[X0],o_=T[A_],$o=T[Hx],R_=T[m_],t7=T[mS],$d=T[C0],u2=T[t0],bm=T[n6],lx=T[mb],l2=T[IS],r7=T[ES],c2=T[xS],n7=T[aL],cx=T[Tee],ZT=T[SO],$l=T[w2],bT=T[MY],Ql=T[eee],Q_=T[x0e],i7=T[Dee],Qd=T[P0e],t4=T[zee],Mk=T[144],pC=T[145],Em=T[146],r4=T[147],a7=T[148],s7=T[149],o7=T[150],Wk=T[goe],Tx=T[152],xE=T[153],T2=T[154],Cv=T[155],Om=T[156],C3=T[f0e],_C=T[158],n4=T[159],mE=T[u0e],aA=T[zoe],Av=T[_9],sN=T[i],oN=T[BA],gv=T[BZ],bv=T[Oy],kE=T[LU],A3=T[GH],Ht=T[_k],tt=T[mt],ke=T[eP],qe=T[gU],Ie=T[bee],Wt=T[k0e],pr=T[Zs],jr=T[jZ],En=T[woe],Hn=T[bO],Ci=T[D0e],xi=T[DO],na=T[VO],Gi=T[Bc],ea=T[fR],Di=T[hb],ha=T[Dt],wi=T[qz],Ya=T[tx],Na=T[Rc],gs=T[qB],fs=T[hee],eo=T[o0e],Es=T[f0],yo=T[gO],ds=T[NY],xs=T[pF],as=T[Yoe],os=T[GA],Ka=T[m0e],Bs=T[n0e],Ls=T[e0e],ys=T[AZ],qo=T[vy],Ds=T[vi],ao=T[oee],To=T[xee],s0=T[EU],Q0=T[w5],Nl=T[nl],Ou=T[loe],T0=T[Zd],eu=T[Rh],xo=T[b5],wl=T[H4],v0=T[y0e],ET=T[zA],Tl=T[Me],Vc=T[mee],OT=T[ve],Ua=T[xz],Ac=T[hoe],Sa=T[ZZ],tu=T[I],ju=T[Gy],YR=T[Wl],Jl=T[qU],Xl=T[OS],gc=T[gee],KR=T[ei],jc=T[Joe],ru=T[poe],_p=T[j_],Jc=T[U],u_=T[Loe],vu=T[Xoe],hp=T[Oee],nu=T[Aoe],vT=T[a0e],bc=T[j5],e1=T[$a],fp=T[um],Nd=T[QZ],Ec=T[voe],dp=T[boe],Xc=T[np],N1=T[k8],t1=T[US],N_=T[vx],r1=T[Ws],p2=T[CL],_2=T[k9],Uk=T[S0e],Fk=T[rb],Lk=T[Aee],zk=T[sm],i4=T[eR],Hk=T[SS],sA=T[257],hC=T[T1],vm=T[R0e],a4=T[260],R7=T[261],s4=T[262],u7=T[263],fC=T[264],px=T[265],dC=T[AU],Dm=T[267],o4=T[268],xC=T[269],l7=T[270],Sm=T[b0e],c7=T[Au],h2=T[273],T7=T[274],R4=T[je],Yk=T[276],oA=T[CZ],u4=T[_P],p7=T[GZ],_7=T[280],h7=T[Koe],f7=T[282],mC=T[283],f2=T[284],l4=T[285],xp=T[w0e],DT=T[_S],wd=T[288],ST=T[289],kC=T[290],Kk=T[Eoe],c4=T[292],Gk=T[zZ],T4=T[294],p4=T[295],yE=T[296],d2=T[EO],Vk=T[298],_x=T[299],jk=T[vg],d7=T[301],g3=T[IZ],_4=T[wg],b3=T[304],RN=T[305],uN=T[306],E3=T[Woe],Ev=T[308],O3=T[d_],qE=T[XR];return IB(o,[0,T[58],function($,ne){var k=ne[2],v=k[4],N=k[3],L=k[1],X=k[2],ie=ne[1],ce=K($[1][1+rr],$,L),be=K($[1][1+Ge],$,N),Ye=wo(J($[1][1+h2],$),v);return L===ce&&N===be&&v===Ye?ne:[0,ie,[0,ce,X,be,Ye]]},cn,function($,ne){var k=ne[2],v=ne[1];switch(k[0]){case 0:var N=k[1];return en(J($[1][1+d2],$),v,N,ne,function(qa){return[0,v,[0,qa]]});case 1:var L=k[1];return en(J($[1][1+T4],$),v,L,ne,function(qa){return[0,v,[1,qa]]});case 2:var X=k[1];return en(J($[1][1+l4],$),v,X,ne,function(qa){return[0,v,[2,qa]]});case 3:var ie=k[1];return en(J($[1][1+Sm],$),v,ie,ne,function(qa){return[0,v,[3,qa]]});case 4:var ce=k[1];return en(J($[1][1+Hk],$),v,ce,ne,function(qa){return[0,v,[4,qa]]});case 5:var be=k[1];return en(J($[1][1+i4],$),v,be,ne,function(qa){return[0,v,[5,qa]]});case 6:var Ye=k[1];return en(J($[1][1+zk],$),v,Ye,ne,function(qa){return[0,v,[6,qa]]});case 7:var $t=k[1];return en(J($[1][1+Lk],$),v,$t,ne,function(qa){return[0,v,[7,qa]]});case 8:var xr=k[1];return en(J($[1][1+Fk],$),v,xr,ne,function(qa){return[0,v,[8,qa]]});case 9:var un=k[1];return en(J($[1][1+Uk],$),v,un,ne,function(qa){return[0,v,[9,qa]]});case 10:var ni=k[1];return en(J($[1][1+p2],$),v,ni,ne,function(qa){return[0,v,[10,qa]]});case 11:var Xi=k[1];return en(J($[1][1+r1],$),v,Xi,ne,function(qa){return[0,v,[11,qa]]});case 12:var ma=k[1];return en(J($[1][1+N_],$),v,ma,ne,function(qa){return[0,v,[12,qa]]});case 13:var ja=k[1];return en(J($[1][1+t1],$),v,ja,ne,function(qa){return[0,v,[13,qa]]});case 14:var ya=k[1];return en(J($[1][1+N1],$),v,ya,ne,function(qa){return[0,v,[14,qa]]});case 15:var so=k[1];return en(J($[1][1+Xc],$),v,so,ne,function(qa){return[0,v,[15,qa]]});case 16:var La=k[1];return en(J($[1][1+Ks],$),v,La,ne,function(qa){return[0,v,[16,qa]]});case 17:var N0=k[1];return en(J($[1][1+dp],$),v,N0,ne,function(qa){return[0,v,[17,qa]]});case 18:var nR=k[1];return en(J($[1][1+Nd],$),v,nR,ne,function(qa){return[0,v,[18,qa]]});case 19:var Du=k[1];return en(J($[1][1+fp],$),v,Du,ne,function(qa){return[0,v,[19,qa]]});case 20:var Su=k[1];return en(J($[1][1+vu],$),v,Su,ne,function(qa){return[0,v,[20,qa]]});case 21:var Ju=k[1];return en(J($[1][1+Jl],$),v,Ju,ne,function(qa){return[0,v,[21,qa]]});case 22:var $u=k[1];return en(J($[1][1+ju],$),v,$u,ne,function(qa){return[0,v,[22,qa]]});case 23:var Xu=k[1];return en(J($[1][1+Vc],$),v,Xu,ne,function(qa){return[0,v,[23,qa]]});case 24:var Zl=k[1];return en(J($[1][1+Q0],$),v,Zl,ne,function(qa){return[0,v,[24,qa]]});case 25:var Zu=k[1];return en(J($[1][1+v0],$),v,Zu,ne,function(qa){return[0,v,[25,qa]]});case 26:var Zc=k[1];return en(J($[1][1+Ou],$),v,Zc,ne,function(qa){return[0,v,[26,qa]]});case 27:var $T=k[1];return en(J($[1][1+qo],$),v,$T,ne,function(qa){return[0,v,[27,qa]]});case 28:var w1=k[1];return en(J($[1][1+na],$),v,w1,ne,function(qa){return[0,v,[28,qa]]});case 29:var Pd=k[1];return en(J($[1][1+Ci],$),v,Pd,ne,function(qa){return[0,v,[29,qa]]});case 30:var w_=k[1];return en(J($[1][1+tt],$),v,w_,ne,function(qa){return[0,v,[30,qa]]});case 31:var Bd=k[1];return en(J($[1][1+Ql],$),v,Bd,ne,function(qa){return[0,v,[31,qa]]});case 32:var P_=k[1];return en(J($[1][1+Ko],$),v,P_,ne,function(qa){return[0,v,[32,qa]]});case 33:var x7=k[1];return en(J($[1][1+vt],$),v,x7,ne,function(qa){return[0,v,[33,qa]]});case 34:var m7=k[1];return en(J($[1][1+yr],$),v,m7,ne,function(qa){return[0,v,[34,qa]]});case 35:var h4=k[1];return en(J($[1][1+Jt],$),v,h4,ne,function(qa){return[0,v,[35,qa]]});case 36:var f4=k[1];return en(J($[1][1+or],$),v,f4,ne,function(qa){return[0,v,[36,qa]]});case 37:var wa=k[1];return en(J($[1][1+kt],$),v,wa,ne,function(qa){return[0,v,[37,qa]]});case 38:var d4=k[1];return en(J($[1][1+Ks],$),v,d4,ne,function(qa){return[0,v,[38,qa]]});case 39:var Pn=k[1];return en(J($[1][1+B],$),v,Pn,ne,function(qa){return[0,v,[39,qa]]});case 40:var CE=k[1];return en(J($[1][1+p],$),v,CE,ne,function(qa){return[0,v,[40,qa]]});default:var Pa=k[1];return en(J($[1][1+u],$),v,Pa,ne,function(qa){return[0,v,[41,qa]]})}},h2,function($,ne){return ne},Ge,function($){var ne=J($[1][1+Cr],$);return function(k){return ks(ne,k)}},Cr,function($,ne){var k=ne[2],v=ne[1],N=ne[3],L=wo(J($[1][1+h2],$),v),X=wo(J($[1][1+h2],$),k);return v===L&&k===X?ne:[0,L,X,N]},Ua,function($,ne){var k=ne[2],v=ne[1];switch(k[0]){case 0:var N=k[1];return en(J($[1][1+O3],$),v,N,ne,function(Pn){return[0,v,[0,Pn]]});case 1:var L=k[1];return en(J($[1][1+uN],$),v,L,ne,function(Pn){return[0,v,[1,Pn]]});case 2:var X=k[1];return en(J($[1][1+RN],$),v,X,ne,function(Pn){return[0,v,[2,Pn]]});case 3:var ie=k[1];return en(J($[1][1+b3],$),v,ie,ne,function(Pn){return[0,v,[3,Pn]]});case 4:var ce=k[1];return en(J($[1][1+_4],$),v,ce,ne,function(Pn){return[0,v,[4,Pn]]});case 5:var be=k[1];return en(J($[1][1+jk],$),v,be,ne,function(Pn){return[0,v,[5,Pn]]});case 6:var Ye=k[1];return en(J($[1][1+Gk],$),v,Ye,ne,function(Pn){return[0,v,[6,Pn]]});case 7:var $t=k[1];return en(J($[1][1+f7],$),v,$t,ne,function(Pn){return[0,v,[7,Pn]]});case 8:var xr=k[1];return en(J($[1][1+hC],$),v,xr,ne,function(Pn){return[0,v,[8,Pn]]});case 9:var un=k[1];return en(J($[1][1+ys],$),v,un,ne,function(Pn){return[0,v,[9,Pn]]});case 10:var ni=k[1];return Tr(J($[1][1+Di],$),ni,ne,function(Pn){return[0,v,[10,Pn]]});case 11:var Xi=k[1];return Tr(K($[1][1+xi],$,v),Xi,ne,function(Pn){return[0,v,[11,Pn]]});case 12:var ma=k[1];return en(J($[1][1+C3],$),v,ma,ne,function(Pn){return[0,v,[12,Pn]]});case 13:var ja=k[1];return en(J($[1][1+Wk],$),v,ja,ne,function(Pn){return[0,v,[13,Pn]]});case 14:var ya=k[1];return en(J($[1][1+Ir],$),v,ya,ne,function(Pn){return[0,v,[14,Pn]]});case 15:var so=k[1];return en(J($[1][1+p4],$),v,so,ne,function(Pn){return[0,v,[15,Pn]]});case 16:var La=k[1];return en(J($[1][1+HR],$),v,La,ne,function(Pn){return[0,v,[16,Pn]]});case 17:var N0=k[1];return en(J($[1][1+co],$),v,N0,ne,function(Pn){return[0,v,[17,Pn]]});case 18:var nR=k[1];return en(J($[1][1+d7],$),v,nR,ne,function(Pn){return[0,v,[18,Pn]]});case 19:var Du=k[1];return en(J($[1][1+Lt],$),v,Du,ne,function(Pn){return[0,v,[19,Pn]]});case 20:var Su=k[1];return en(J($[1][1+Vu],$),v,Su,ne,function(Pn){return[0,v,[20,Pn]]});case 21:var Ju=k[1];return en(J($[1][1+bT],$),v,Ju,ne,function(Pn){return[0,v,[21,Pn]]});case 22:var $u=k[1];return en(J($[1][1+n7],$),v,$u,ne,function(Pn){return[0,v,[22,Pn]]});case 23:var Xu=k[1];return en(J($[1][1+Q1],$),v,Xu,ne,function(Pn){return[0,v,[23,Pn]]});case 24:var Zl=k[1];return en(J($[1][1+Sl],$),v,Zl,ne,function(Pn){return[0,v,[24,Pn]]});case 25:var Zu=k[1];return en(J($[1][1+$1],$),v,Zu,ne,function(Pn){return[0,v,[25,Pn]]});case 26:var Zc=k[1];return en(J($[1][1+is],$),v,Zc,ne,function(Pn){return[0,v,[26,Pn]]});case 27:var $T=k[1];return Tr(K($[1][1+Fs],$,v),$T,ne,function(Pn){return[0,v,[27,Pn]]});case 28:var w1=k[1];return en(J($[1][1+Da],$),v,w1,ne,function(Pn){return[0,v,[28,Pn]]});case 29:var Pd=k[1];return en(J($[1][1+rn],$),v,Pd,ne,function(Pn){return[0,v,[29,Pn]]});case 30:var w_=k[1];return en(J($[1][1+sr],$),v,w_,ne,function(Pn){return[0,v,[30,Pn]]});case 31:var Bd=k[1];return en(J($[1][1+hr],$),v,Bd,ne,function(Pn){return[0,v,[31,Pn]]});case 32:var P_=k[1];return en(J($[1][1+Xt],$),v,P_,ne,function(Pn){return[0,v,[32,Pn]]});case 33:var x7=k[1];return en(J($[1][1+tr],$),v,x7,ne,function(Pn){return[0,v,[33,Pn]]});case 34:var m7=k[1];return en(J($[1][1+ut],$),v,m7,ne,function(Pn){return[0,v,[34,Pn]]});case 35:var h4=k[1];return en(J($[1][1+wt],$),v,h4,ne,function(Pn){return[0,v,[35,Pn]]});case 36:var f4=k[1];return en(J($[1][1+V],$),v,f4,ne,function(Pn){return[0,v,[36,Pn]]});case 37:var wa=k[1];return en(J($[1][1+W],$),v,wa,ne,function(Pn){return[0,v,[37,Pn]]});default:var d4=k[1];return en(J($[1][1+a],$),v,d4,ne,function(Pn){return[0,v,[38,Pn]]})}},O3,function($,ne,k){var v=k[2],N=k[1],L=wo(J($[1][1+Ev],$),N),X=K($[1][1+Ge],$,v);return N===L&&v===X?k:[0,L,X]},Ev,function($,ne){switch(ne[0]){case 0:var k=ne[1];return Tr(J($[1][1+Ua],$),k,ne,function(N){return[0,N]});case 1:var v=ne[1];return Tr(J($[1][1+fn],$),v,ne,function(N){return[1,N]});default:return ne}},uN,function($,ne,k){return sn($[1][1+To],$,ne,k)},RN,function($,ne,k){var v=k[2],N=k[1],L=K($[1][1+Ua],$,N),X=K($[1][1+Ge],$,v);return L===N&&X===v?k:[0,L,X]},b3,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Ua],$,L),ie=K($[1][1+Rt],$,N),ce=K($[1][1+Ge],$,v);return X===L&&ie===N&&ce===v?k:[0,X,ie,ce]},_4,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=K($[1][1+g3],$,L),ie=K($[1][1+Ua],$,N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,k[1],X,ie,ce]},jk,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=K($[1][1+Ua],$,L),ie=K($[1][1+Ua],$,N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,k[1],X,ie,ce]},d2,function($,ne,k){var v=k[2],N=k[1],L=K($[1][1+Dr],$,N),X=K($[1][1+Ge],$,v);return N===L&&v===X?k:[0,L,X]},T4,function($,ne,k){var v=k[2],N=k[1],L=ks(J($[1][1+Q_],$),N),X=K($[1][1+Ge],$,v);return N===L&&v===X?k:[0,L,X]},Gk,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=k[1],ie=K($[1][1+Ua],$,X),ce=ks(J($[1][1+Kk],$),L),be=K($[1][1+qE],$,N),Ye=K($[1][1+Ge],$,v);return X===ie&&L===ce&&N===be&&v===Ye?k:[0,ie,ce,be,Ye]},qE,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=wo(J($[1][1+OT],$),N),ie=K($[1][1+Ge],$,v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},Fs,function($,ne,k){var v=k[1],N=sn($[1][1+Gk],$,ne,v);return v===N?k:[0,N,k[2],k[3]]},Kk,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=wo(J($[1][1+c4],$),N),ie=K($[1][1+Ge],$,v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},c4,function($,ne){if(ne[0]===0){var k=ne[1],v=K($[1][1+ft],$,k);return v===k?ne:[0,v]}var N=ne[1],L=N[2][1],X=N[1],ie=K($[1][1+Ge],$,L);return L===ie?ne:[1,[0,X,[0,ie]]]},kC,function($,ne){return Dn(J($[1][1+d2],$),ne)},ST,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=ks(J($[1][1+wd],$),L),ie=K($[1][1+kC],$,N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,X,ie,ce]},l4,function($,ne,k){return sn($[1][1+DT],$,ne,k)},f7,function($,ne,k){return sn($[1][1+DT],$,ne,k)},DT,function($,ne,k){var v=k[7],N=k[6],L=k[5],X=k[4],ie=k[3],ce=k[2],be=k[1],Ye=ks(J($[1][1+_7],$),be),$t=ks(J($[1][1+xe],$),ie),xr=K($[1][1+xp],$,ce),un=J($[1][1+h7],$),ni=ks(function(ya){return Dn(un,ya)},X),Xi=ks(J($[1][1+p7],$),L),ma=wo(J($[1][1+f2],$),N),ja=K($[1][1+Ge],$,v);return be===Ye&&ce===xr&&X===ni&&L===Xi&&N===ma&&v===ja&&ie===$t?k:[0,Ye,xr,$t,ni,Xi,ma,ja]},h7,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Ua],$,L),ie=ks(J($[1][1+it],$),N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,X,ie,ce]},_7,function($,ne){return sn($[1][1+jn],$,RDe,ne)},xp,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=wo(J($[1][1+mC],$),N),ie=K($[1][1+Ge],$,v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},f2,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+Ua],$,N),ie=K($[1][1+Ge],$,v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},mC,function($,ne){switch(ne[0]){case 0:var k=ne[1],v=k[1],N=k[2];return en(J($[1][1+oA],$),v,N,ne,function($t){return[0,[0,v,$t]]});case 1:var L=ne[1],X=L[1],ie=L[2];return en(J($[1][1+R4],$),X,ie,ne,function($t){return[1,[0,X,$t]]});default:var ce=ne[1],be=ce[1],Ye=ce[2];return en(J($[1][1+Yk],$),be,Ye,ne,function($t){return[2,[0,be,$t]]})}},p7,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=wo(J($[1][1+u4],$),N),ie=K($[1][1+Ge],$,v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},u4,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+ge],$,N),ie=ks(J($[1][1+it],$),v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},oA,function($,ne,k){var v=k[6],N=k[5],L=k[3],X=k[2],ie=K($[1][1+ci],$,X),ce=Dn(J($[1][1+Ls],$),L),be=wo(J($[1][1+f2],$),N),Ye=K($[1][1+Ge],$,v);return X===ie&&L===ce&&N===be&&v===Ye?k:[0,k[1],ie,ce,k[4],be,Ye]},R4,function($,ne,k){var v=k[7],N=k[6],L=k[5],X=k[3],ie=k[2],ce=k[1],be=K($[1][1+ci],$,ce),Ye=K($[1][1+T7],$,ie),$t=K($[1][1+Tt],$,X),xr=K($[1][1+d],$,L),un=wo(J($[1][1+f2],$),N),ni=K($[1][1+Ge],$,v);return ce===be&&ie===Ye&&$t===X&&xr===L&&un===N&&ni===v?k:[0,be,Ye,$t,k[4],xr,un,ni]},T7,function($,ne){if(typeof ne=="number")return ne;var k=ne[1],v=K($[1][1+Ua],$,k);return k===v?ne:[0,v]},Yk,function($,ne,k){var v=k[7],N=k[6],L=k[5],X=k[3],ie=k[2],ce=k[1],be=K($[1][1+Mt],$,ce),Ye=K($[1][1+T7],$,ie),$t=K($[1][1+Tt],$,X),xr=K($[1][1+d],$,L),un=wo(J($[1][1+f2],$),N),ni=K($[1][1+Ge],$,v);return ce===be&&ie===Ye&&$t===X&&xr===L&&un===N&&ni===v?k:[0,be,Ye,$t,k[4],xr,un,ni]},Ec,function($,ne){return ks(J($[1][1+Ua],$),ne)},Sm,function($,ne,k){var v=k[6],N=k[5],L=k[4],X=k[3],ie=k[2],ce=k[1],be=k[7],Ye=K($[1][1+l7],$,ce),$t=ks(J($[1][1+xe],$),ie),xr=K($[1][1+dC],$,X),un=K($[1][1+c7],$,N),ni=K($[1][1+px],$,L),Xi=K($[1][1+Ge],$,v);return ce===Ye&&ie===$t&&X===xr&&N===un&&L===ni&&v===Xi?k:[0,Ye,$t,xr,ni,un,Xi,be]},l7,function($,ne){return sn($[1][1+jn],$,uDe,ne)},dC,function($,ne){var k=ne[2],v=k[3],N=k[2],L=k[1],X=ne[1],ie=wo(J($[1][1+xC],$),L),ce=ks(J($[1][1+fC],$),N),be=K($[1][1+Ge],$,v);return L===ie&&N===ce&&v===be?ne:[0,X,[0,ie,ce,be]]},xC,function($,ne){var k=ne[2],v=k[3],N=k[2],L=k[1],X=k[4],ie=ne[1],ce=K($[1][1+o4],$,L),be=K($[1][1+Dm],$,N),Ye=K($[1][1+Ec],$,v);return L===ce&&N===be&&v===Ye?ne:[0,ie,[0,ce,be,Ye,X]]},o4,function($,ne){if(ne[0]===0)return[0,K($[1][1+Di],$,ne[1])];var k=ne[1],v=k[1];return[1,[0,v,sn($[1][1+Ir],$,v,k[2])]]},Dm,function($,ne){return sn($[1][1+_x],$,lDe,ne)},fC,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+Dm],$,N),ie=K($[1][1+Ge],$,v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},c7,function($,ne){var k=ne[1],v=ne[2];return en(J($[1][1+d2],$),k,v,ne,function(N){return[0,k,N]})},hC,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=k[1],ie=K($[1][1+Gt],$,X),ce=K($[1][1+Ua],$,L),be=K($[1][1+Ua],$,N),Ye=K($[1][1+Ge],$,v);return X===ie&&L===ce&&N===be&&v===Ye?k:[0,ie,ce,be,Ye]},Hk,function($,ne,k){var v=k[2],N=k[1],L=ks(J($[1][1+Q_],$),N),X=K($[1][1+Ge],$,v);return N===L&&v===X?k:[0,L,X]},i4,function($,ne,k){var v=k[1],N=K($[1][1+Ge],$,v);return v===N?k:[0,N]},zk,function($,ne,k){var v=k[7],N=k[6],L=k[5],X=k[4],ie=k[3],ce=k[2],be=k[1],Ye=K($[1][1+_7],$,be),$t=ks(J($[1][1+xe],$),ce),xr=Dn(J($[1][1+Ft],$),ie),un=J($[1][1+ha],$),ni=ks(function(so){return Dn(un,so)},X),Xi=J($[1][1+ha],$),ma=wo(function(so){return Dn(Xi,so)},L),ja=ks(J($[1][1+p7],$),N),ya=K($[1][1+Ge],$,v);return Ye===be&&$t===ce&&xr===ie&&ni===X&&ma===L&&ja===N&&ya===v?k:[0,Ye,$t,xr,ni,ma,ja,ya]},Lk,function($,ne,k){var v=k[5],N=k[4],L=k[3],X=k[2],ie=k[1],ce=K($[1][1+l7],$,ie),be=ks(J($[1][1+xe],$),X),Ye=K($[1][1+R7],$,L),$t=K($[1][1+px],$,N),xr=K($[1][1+Ge],$,v);return ie===ce&&X===be&&L===Ye&&N===$t&&v===xr?k:[0,ce,be,Ye,$t,xr]},u7,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=k[1],ie=ks(J($[1][1+xe],$),X),ce=K($[1][1+R7],$,L),be=K($[1][1+px],$,N),Ye=K($[1][1+Ge],$,v);return X===ie&&L===ce&&N===be&&v===Ye?k:[0,ie,ce,be,Ye]},R7,function($,ne){var k=ne[2],v=k[3],N=k[2],L=k[1],X=ne[1],ie=wo(J($[1][1+s4],$),L),ce=ks(J($[1][1+a4],$),N),be=K($[1][1+Ge],$,v);return L===ie&&N===ce&&v===be?ne:[0,X,[0,ie,ce,be]]},s4,function($,ne){var k=ne[2],v=k[2],N=k[1],L=k[3],X=ne[1],ie=K($[1][1+o4],$,N),ce=K($[1][1+Rt],$,v);return N===ie&&v===ce?ne:[0,X,[0,ie,ce,L]]},a4,function($,ne){var k=ne[2],v=k[4],N=k[2],L=k[1],X=k[3],ie=ne[1],ce=ks(J($[1][1+Di],$),L),be=K($[1][1+ft],$,N),Ye=K($[1][1+Ge],$,v);return L===ce&&N===be&&v===Ye?ne:[0,ie,[0,ce,be,X,Ye]]},Fk,function($,ne,k){return sn($[1][1+vu],$,ne,k)},Uk,function($,ne,k){var v=k[5],N=k[4],L=k[3],X=k[2],ie=k[1],ce=mc(J($[1][1+Ac],$),N),be=ks(J($[1][1+Sa],$),L),Ye=ks(J($[1][1+_2],$),X),$t=K($[1][1+Ge],$,v);return N===ce&&L===be&&X===Ye&&v===$t?k:[0,ie,Ye,be,ce,$t]},_2,function($,ne){switch(ne[0]){case 0:var k=ne[1],v=k[2],N=k[1],L=sn($[1][1+dp],$,N,v);return L===v?ne:[0,[0,N,L]];case 1:var X=ne[1],ie=X[2],ce=X[1],be=sn($[1][1+p2],$,ce,ie);return be===ie?ne:[1,[0,ce,be]];case 2:var Ye=ne[1],$t=Ye[2],xr=Ye[1],un=sn($[1][1+zk],$,xr,$t);return un===$t?ne:[2,[0,xr,un]];case 3:var ni=ne[1],Xi=ni[2],ma=ni[1],ja=sn($[1][1+Lk],$,ma,Xi);return ja===Xi?ne:[3,[0,ma,ja]];case 4:var ya=ne[1],so=K($[1][1+ft],$,ya);return so===ya?ne:[4,so];case 5:var La=ne[1],N0=La[2],nR=La[1],Du=sn($[1][1+kt],$,nR,N0);return Du===N0?ne:[5,[0,nR,Du]];case 6:var Su=ne[1],Ju=Su[2],$u=Su[1],Xu=sn($[1][1+Ks],$,$u,Ju);return Xu===Ju?ne:[6,[0,$u,Xu]];case 7:var Zl=ne[1],Zu=Zl[2],Zc=Zl[1],$T=sn($[1][1+ke],$,Zc,Zu);return $T===Zu?ne:[7,[0,Zc,$T]];default:var w1=ne[1],Pd=w1[2],w_=w1[1],Bd=sn($[1][1+vu],$,w_,Pd);return Bd===Pd?ne:[8,[0,w_,Bd]]}},p2,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=k[1],ie=K($[1][1+Bs],$,X),ce=K($[1][1+Rt],$,L),be=ks(J($[1][1+Ze],$),N),Ye=K($[1][1+Ge],$,v);return ie===X&&ce===L&&be===N&&Ye===v?k:[0,ie,ce,be,Ye]},r1,function($,ne,k){return sn($[1][1+ke],$,ne,k)},N_,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=Dn(J($[1][1+d2],$),N),ie=K($[1][1+Ge],$,v);return X===N&&v===ie?k:[0,L,X,ie]},t1,function($,ne,k){var v=k[2],N=k[1],L=K($[1][1+Rt],$,N),X=K($[1][1+Ge],$,v);return N===L&&v===X?k:[0,L,X]},N1,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=sn($[1][1+jn],$,cDe,L),ie=Dn(J($[1][1+d2],$),N),ce=K($[1][1+Ge],$,v);return X===L&&ie===N&&v===ce?k:[0,X,ie,ce]},Xc,function($,ne,k){return sn($[1][1+kt],$,ne,k)},dp,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=k[1],ie=sn($[1][1+jn],$,[0,N],X),ce=K($[1][1+Rt],$,L),be=K($[1][1+Ge],$,v);return ie===X&&ce===L&&be===v?k:[0,ie,ce,N,be]},Nd,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+cn],$,L),ie=K($[1][1+Gt],$,N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,X,ie,ce]},fp,function($,ne,k){var v=k[1],N=K($[1][1+Ge],$,v);return v===N?k:[0,N]},vu,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=sn($[1][1+jn],$,TDe,L),ie=K($[1][1+vT],$,N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,X,ie,ce]},vT,function($,ne){var k=ne[2],v=ne[1];switch(k[0]){case 0:var N=k[1];return Tr(J($[1][1+nu],$),N,ne,function(be){return[0,v,[0,be]]});case 1:var L=k[1];return Tr(J($[1][1+_p],$),L,ne,function(be){return[0,v,[1,be]]});case 2:var X=k[1];return Tr(J($[1][1+jc],$),X,ne,function(be){return[0,v,[2,be]]});case 3:var ie=k[1];return Tr(J($[1][1+gc],$),ie,ne,function(be){return[0,v,[3,be]]});default:var ce=k[1];return Tr(J($[1][1+e1],$),ce,ne,function(be){return[0,v,[4,be]]})}},nu,function($,ne){var k=ne[4],v=ne[1],N=wo(J($[1][1+hp],$),v),L=K($[1][1+Ge],$,k);return v===N&&k===L?ne:[0,N,ne[2],ne[3],L]},_p,function($,ne){var k=ne[4],v=ne[1],N=wo(J($[1][1+ru],$),v),L=K($[1][1+Ge],$,k);return v===N&&k===L?ne:[0,N,ne[2],ne[3],L]},jc,function($,ne){var k=ne[4],v=ne[1];if(v[0]===0)var N=v[1],L=J($[1][1+u_],$),ce=Tr(function(Ye){return wo(L,Ye)},N,v,function(Ye){return[0,Ye]});else var X=v[1],ie=J($[1][1+KR],$),ce=Tr(function(Ye){return wo(ie,Ye)},X,v,function(Ye){return[1,Ye]});var be=K($[1][1+Ge],$,k);return v===ce&&k===be?ne:[0,ce,ne[2],ne[3],be]},gc,function($,ne){var k=ne[3],v=ne[1],N=wo(J($[1][1+u_],$),v),L=K($[1][1+Ge],$,k);return v===N&&k===L?ne:[0,N,ne[2],L]},e1,function($,ne){var k=ne[4],v=ne[1],N=wo(J($[1][1+bc],$),v),L=K($[1][1+Ge],$,k);return v===N&&k===L?ne:[0,N,ne[2],ne[3],L]},u_,function($,ne){var k=ne[2][1],v=ne[1],N=K($[1][1+Jc],$,k);return k===N?ne:[0,v,[0,N]]},hp,function($,ne){var k=ne[2],v=k[1],N=k[2],L=ne[1],X=K($[1][1+Jc],$,v);return v===X?ne:[0,L,[0,X,N]]},ru,function($,ne){var k=ne[2],v=k[1],N=k[2],L=ne[1],X=K($[1][1+Jc],$,v);return v===X?ne:[0,L,[0,X,N]]},KR,function($,ne){var k=ne[2],v=k[1],N=k[2],L=ne[1],X=K($[1][1+Jc],$,v);return v===X?ne:[0,L,[0,X,N]]},bc,function($,ne){var k=ne[2],v=k[1],N=k[2],L=ne[1],X=K($[1][1+Jc],$,v);return v===X?ne:[0,L,[0,X,N]]},Jc,function($,ne){return K($[1][1+Di],$,ne)},Jl,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+YR],$,N),ie=K($[1][1+Ge],$,v);return X===N&&ie===v?k:[0,L,X,ie]},YR,function($,ne){if(ne[0]===0){var k=ne[1];return Tr(J($[1][1+cn],$),k,ne,function(N){return[0,N]})}var v=ne[1];return Tr(J($[1][1+Ua],$),v,ne,function(N){return[1,N]})},ju,function($,ne,k){var v=k[5],N=k[3],L=k[2],X=k[1],ie=k[4],ce=mc(J($[1][1+Ac],$),N),be=ks(J($[1][1+Sa],$),L),Ye=ks(J($[1][1+cn],$),X),$t=K($[1][1+Ge],$,v);return N===ce&&L===be&&X===Ye&&v===$t?k:[0,Ye,be,ce,ie,$t]},tu,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+Di],$,N),ie=ks(J($[1][1+Di],$),v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},Xl,function($,ne){var k=ne[2],v=ne[1],N=ks(J($[1][1+Di],$),k);return k===N?ne:[0,v,N]},Sa,function($,ne){if(ne[0]===0){var k=ne[1],v=wo(J($[1][1+tu],$),k);return k===v?ne:[0,v]}var N=ne[1],L=K($[1][1+Xl],$,N);return N===L?ne:[1,L]},Ac,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Ge],$,v);return v===X?k:[0,L,N,X]},Vc,function($,ne,k){var v=k[3],N=k[1],L=k[2],X=K($[1][1+Ua],$,N),ie=K($[1][1+Ge],$,v);return N===X&&v===ie?k:[0,X,L,ie]},OT,function($,ne){if(ne[0]===0){var k=ne[1];return Tr(J($[1][1+Ua],$),k,ne,function(N){return[0,N]})}var v=ne[1];return Tr(J($[1][1+fn],$),v,ne,function(N){return[1,N]})},v0,function($,ne,k){var v=k[5],N=k[3],L=k[2],X=k[1],ie=k[4],ce=K($[1][1+wl],$,X),be=K($[1][1+Ua],$,L),Ye=K($[1][1+cn],$,N),$t=K($[1][1+Ge],$,v);return X===ce&&L===be&&N===Ye&&v===$t?k:[0,ce,be,Ye,ie,$t]},wl,function($,ne){if(ne[0]===0){var k=ne[1];return Tr(J($[1][1+ET],$),k,ne,function(N){return[0,N]})}var v=ne[1];return Tr(J($[1][1+Tl],$),v,ne,function(N){return[1,N]})},ET,function($,ne){var k=ne[1],v=ne[2];return en(J($[1][1+B],$),k,v,ne,function(N){return[0,k,N]})},Ou,function($,ne,k){var v=k[5],N=k[3],L=k[2],X=k[1],ie=k[4],ce=K($[1][1+Nl],$,X),be=K($[1][1+Ua],$,L),Ye=K($[1][1+cn],$,N),$t=K($[1][1+Ge],$,v);return X===ce&&L===be&&N===Ye&&v===$t?k:[0,ce,be,Ye,ie,$t]},Nl,function($,ne){if(ne[0]===0){var k=ne[1];return Tr(J($[1][1+T0],$),k,ne,function(N){return[0,N]})}var v=ne[1];return Tr(J($[1][1+eu],$),v,ne,function(N){return[1,N]})},T0,function($,ne){var k=ne[1],v=ne[2];return en(J($[1][1+B],$),k,v,ne,function(N){return[0,k,N]})},Q0,function($,ne,k){var v=k[5],N=k[4],L=k[3],X=k[2],ie=k[1],ce=ks(J($[1][1+s0],$),ie),be=ks(J($[1][1+Gt],$),X),Ye=ks(J($[1][1+Ua],$),L),$t=K($[1][1+cn],$,N),xr=K($[1][1+Ge],$,v);return ie===ce&&X===be&&L===Ye&&N===$t&&v===xr?k:[0,ce,be,Ye,$t,xr]},s0,function($,ne){if(ne[0]===0){var k=ne[1];return Tr(J($[1][1+xo],$),k,ne,function(N){return[0,N]})}var v=ne[1];return Tr(J($[1][1+Ua],$),v,ne,function(N){return[1,N]})},xo,function($,ne){var k=ne[1],v=ne[2];return en(J($[1][1+B],$),k,v,ne,function(N){return[0,k,N]})},as,function($,ne){var k=ne[2],v=k[2],N=k[1],L=k[3],X=ne[1],ie=K($[1][1+ft],$,v),ce=ks(J($[1][1+Di],$),N);return ie===v&&ce===N?ne:[0,X,[0,ce,ie,L]]},yo,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+as],$,N),ie=K($[1][1+Ge],$,v);return X===N&&ie===v?ne:[0,L,[0,X,ie]]},fs,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+Rt],$,N),ie=K($[1][1+Ge],$,v);return X===N&&ie===v?ne:[0,L,[0,X,ie]]},Na,function($,ne){if(ne[0]===0){var k=ne[1];return Tr(J($[1][1+ft],$),k,ne,function(N){return[0,N]})}var v=ne[1];return Tr(J($[1][1+ze],$),v,ne,function(N){return[1,N]})},gs,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=L[2],ie=X[4],ce=X[3],be=X[2],Ye=X[1],$t=k[1],xr=k[5],un=L[1],ni=ks(J($[1][1+xe],$),$t),Xi=ks(J($[1][1+fs],$),Ye),ma=wo(J($[1][1+as],$),be),ja=ks(J($[1][1+yo],$),ce),ya=K($[1][1+Na],$,N),so=K($[1][1+Ge],$,v),La=K($[1][1+Ge],$,ie);return ma===be&&ja===ce&&ya===N&&ni===$t&&so===v&&La===ie&&Xi===Ye?k:[0,ni,[0,un,[0,Xi,ma,ja,La]],ya,so,xr]},Q_,function($,ne){return K($[1][1+Di],$,ne)},yt,function($,ne){switch(ne[0]){case 0:var k=ne[1];return Tr(J($[1][1+ft],$),k,ne,function(L){return[0,L]});case 1:var v=ne[1];return Tr(J($[1][1+ra],$),v,ne,function(L){return[1,L]});default:var N=ne[1];return Tr(J($[1][1+Yo],$),N,ne,function(L){return[2,L]})}},ra,function($,ne){var k=ne[1],v=ne[2];return en(J($[1][1+gs],$),k,v,ne,function(N){return[0,k,N]})},Yo,function($,ne){var k=ne[1],v=ne[2];return en(J($[1][1+gs],$),k,v,ne,function(N){return[0,k,N]})},yn,function($,ne){var k=ne[2],v=k[8],N=k[7],L=k[2],X=k[1],ie=k[6],ce=k[5],be=k[4],Ye=k[3],$t=ne[1],xr=K($[1][1+ci],$,X),un=K($[1][1+yt],$,L),ni=K($[1][1+d],$,N),Xi=K($[1][1+Ge],$,v);return xr===X&&un===L&&ni===N&&Xi===v?ne:[0,$t,[0,xr,un,Ye,be,ce,ie,ni,Xi]]},Oe,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+ft],$,N),ie=K($[1][1+Ge],$,v);return X===N&&v===ie?ne:[0,L,[0,X,ie]]},Xn,function($,ne){var k=ne[2],v=k[6],N=k[5],L=k[3],X=k[2],ie=k[4],ce=k[1],be=ne[1],Ye=K($[1][1+ft],$,X),$t=K($[1][1+ft],$,L),xr=K($[1][1+d],$,N),un=K($[1][1+Ge],$,v);return Ye===X&&$t===L&&xr===N&&un===v?ne:[0,be,[0,ce,Ye,$t,ie,xr,un]]},Ra,function($,ne){var k=ne[2],v=k[6],N=k[2],L=k[1],X=k[5],ie=k[4],ce=k[3],be=ne[1],Ye=K($[1][1+Di],$,L),$t=K($[1][1+ft],$,N),xr=K($[1][1+Ge],$,v);return L===Ye&&N===$t&&v===xr?ne:[0,be,[0,Ye,$t,ce,ie,X,xr]]},Zi,function($,ne){var k=ne[2],v=k[3],N=k[1],L=N[2],X=N[1],ie=k[2],ce=ne[1],be=sn($[1][1+gs],$,X,L),Ye=K($[1][1+Ge],$,v);return L===be&&v===Ye?ne:[0,ce,[0,[0,X,be],ie,Ye]]},di,function($,ne){var k=ne[2],v=k[6],N=k[4],L=k[3],X=k[2],ie=k[1],ce=k[5],be=ne[1],Ye=K($[1][1+ye],$,ie),$t=K($[1][1+ft],$,X),xr=K($[1][1+ft],$,L),un=K($[1][1+d],$,N),ni=K($[1][1+Ge],$,v);return Ye===ie&&$t===X&&xr===L&&un===N&&ni===v?ne:[0,be,[0,Ye,$t,xr,un,ce,ni]]},Ft,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=k[1],ie=wo(J($[1][1+we],$),N),ce=K($[1][1+Ge],$,v);return ie===N&&v===ce?k:[0,X,L,ie,ce]},we,function($,ne){switch(ne[0]){case 0:var k=ne[1];return Tr(J($[1][1+yn],$),k,ne,function(ce){return[0,ce]});case 1:var v=ne[1];return Tr(J($[1][1+Oe],$),v,ne,function(ce){return[1,ce]});case 2:var N=ne[1];return Tr(J($[1][1+Xn],$),N,ne,function(ce){return[2,ce]});case 3:var L=ne[1];return Tr(J($[1][1+Zi],$),L,ne,function(ce){return[3,ce]});case 4:var X=ne[1];return Tr(J($[1][1+Ra],$),X,ne,function(ce){return[4,ce]});default:var ie=ne[1];return Tr(J($[1][1+di],$),ie,ne,function(ce){return[5,ce]})}},Ht,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=J($[1][1+ha],$),ie=wo(function(Ye){return Dn(X,Ye)},N),ce=Dn(J($[1][1+Ft],$),L),be=K($[1][1+Ge],$,v);return ie===N&&ce===L&&v===be?k:[0,ce,ie,be]},Ya,function($,ne){if(ne[0]===0){var k=ne[1];return Tr(J($[1][1+ge],$),k,ne,function(N){return[0,N]})}var v=ne[1];return Tr(J($[1][1+wi],$),v,ne,function(N){return[1,N]})},wi,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+Ya],$,N),ie=K($[1][1+c0],$,v);return X===N&&ie===v?ne:[0,L,[0,X,ie]]},c0,function($,ne){return K($[1][1+Di],$,ne)},q,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+Ge],$,v);return v===X?ne:[0,L,[0,N,X]]},d,function($,ne){return ks(J($[1][1+q],$),ne)},it,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=wo(J($[1][1+ft],$),N),ie=K($[1][1+Ge],$,v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},xe,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=wo(J($[1][1+ye],$),N),ie=K($[1][1+Ge],$,v);return X===N&&ie===v?ne:[0,L,[0,X,ie]]},ye,function($,ne){var k=ne[2],v=k[5],N=k[4],L=k[2],X=k[1],ie=k[3],ce=ne[1],be=K($[1][1+Tt],$,L),Ye=K($[1][1+d],$,N),$t=ks(J($[1][1+ft],$),v),xr=K($[1][1+Vk],$,X);return xr===X&&be===L&&Ye===N&&$t===v?ne:[0,ce,[0,xr,be,ie,Ye,$t]]},ha,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Ya],$,L),ie=ks(J($[1][1+it],$),N),ce=K($[1][1+Ge],$,v);return X===L&&ie===N&&ce===v?k:[0,X,ie,ce]},Ie,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+ft],$,L),ie=K($[1][1+ft],$,N),ce=K($[1][1+Ge],$,v);return X===L&&ie===N&&ce===v?k:[0,X,ie,ce]},Ha,function($,ne,k){var v=k[1],N=k[2],L=sn($[1][1+Ie],$,ne,v);return L===v?k:[0,L,N]},Ir,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Ge],$,v);return v===X?k:[0,L,N,X]},co,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Ge],$,v);return v===X?k:[0,L,N,X]},d7,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Ge],$,v);return v===X?k:[0,L,N,X]},p4,function($,ne,k){var v=k[2],N=k[1],L=K($[1][1+Ge],$,v);return v===L?k:[0,N,L]},HR,function($,ne,k){return K($[1][1+Ge],$,k)},Lt,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=k[1],ie=K($[1][1+Ge],$,v);return v===ie?k:[0,X,L,N,ie]},Vu,function($,ne,k){var v=k[6],N=k[5],L=k[4],X=k[3],ie=k[2],ce=k[1];return v===K($[1][1+Ge],$,v)?k:[0,ce,ie,X,L,N,v]},zR,function($,ne){var k=ne[2],v=ne[1],N=K($[1][1+ft],$,v),L=K($[1][1+Ge],$,k);return v===N&&k===L?ne:[0,N,L]},sA,function($,ne){var k=ne[5],v=ne[4],N=ne[3],L=ne[2],X=ne[1],ie=K($[1][1+ft],$,X),ce=K($[1][1+ft],$,L),be=K($[1][1+ft],$,N),Ye=K($[1][1+ft],$,v),$t=K($[1][1+Ge],$,k);return X===ie&&L===ce&&N===be&&v===Ye&&k===$t?ne:[0,ie,ce,be,Ye,$t]},qe,function($,ne){var k=ne[2],v=ne[1],N=K($[1][1+ye],$,v),L=K($[1][1+Ge],$,k);return v===N&&k===L?ne:[0,N,L]},Z,function($,ne){var k=ne[3],v=ne[2],N=ne[1],L=K($[1][1+pe],$,N),X=ks(J($[1][1+it],$),v),ie=K($[1][1+Ge],$,k);return N===L&&E9(v,X)&&k===ie?ne:[0,L,X,ie]},pe,function($,ne){if(ne[0]===0){var k=ne[1];return Tr(J($[1][1+ue],$),k,ne,function(N){return[0,N]})}var v=ne[1];return Tr(J($[1][1+se],$),v,ne,function(N){return[1,N]})},ue,function($,ne){return K($[1][1+Di],$,ne)},ae,function($,ne){return K($[1][1+Di],$,ne)},se,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+pe],$,N),ie=K($[1][1+ae],$,v);return X===N&&ie===v?ne:[0,L,[0,X,ie]]},i7,function($,ne){var k=ne[2],v=ne[1],N=K($[1][1+ft],$,v),L=K($[1][1+Ge],$,k);return v===N&&k===L?ne:[0,N,L]},qr,function($,ne){var k=ne[3],v=ne[2],N=ne[4],L=ne[1],X=K($[1][1+ft],$,v),ie=K($[1][1+Ge],$,k);return v===X&&k===ie?ne:[0,L,X,ie,N]},Xe,function($,ne){var k=ne[2],v=ne[1],N=K($[1][1+ft],$,v),L=K($[1][1+Ge],$,k);return v===N&&k===L?ne:[0,N,L]},It,function($,ne){var k=ne[3],v=ne[1],N=ne[2],L=wo(J($[1][1+At],$),v),X=K($[1][1+Ge],$,k);return v===L&&k===X?ne:[0,L,N,X]},At,function($,ne){var k=ne[2],v=ne[1];switch(k[0]){case 0:var N=k[1];return Tr(J($[1][1+ft],$),N,ne,function(ie){return[0,v,[0,ie]]});case 1:var L=k[1];return Tr(J($[1][1+Ot],$),L,ne,function(ie){return[0,v,[1,ie]]});default:var X=k[1];return Tr(J($[1][1+dt],$),X,ne,function(ie){return[0,v,[2,ie]]})}},Ot,function($,ne){var k=ne[3],v=ne[2],N=ne[4],L=ne[1],X=K($[1][1+ft],$,v),ie=K($[1][1+d],$,k);return X===v&&ie===k?ne:[0,L,X,ie,N]},dt,function($,ne){var k=ne[2],v=ne[1],N=K($[1][1+ft],$,k);return N===k?ne:[0,v,N]},E3,function($,ne){var k=ne[2],v=ne[1],N=K($[1][1+ft],$,v),L=K($[1][1+Ge],$,k);return v===N&&k===L?ne:[0,N,L]},Y,function($,ne,k){var v=k[2],N=k[1],L=N[3],X=N[2],ie=N[1],ce=K($[1][1+ft],$,ie),be=K($[1][1+ft],$,X),Ye=wo(J($[1][1+ft],$),L),$t=K($[1][1+Ge],$,v);return ce===ie&&be===X&&Ye===L&&$t===v?k:[0,[0,ce,be,Ye],$t]},A3,function($,ne,k){var v=k[2],N=k[1],L=N[3],X=N[2],ie=N[1],ce=K($[1][1+ft],$,ie),be=K($[1][1+ft],$,X),Ye=wo(J($[1][1+ft],$),L),$t=K($[1][1+Ge],$,v);return ce===ie&&be===X&&Ye===L&&$t===v?k:[0,[0,ce,be,Ye],$t]},ft,function($,ne){var k=ne[2],v=ne[1];switch(k[0]){case 0:var N=k[1];return Tr(J($[1][1+Ge],$),N,ne,function(wa){return[0,v,[0,wa]]});case 1:var L=k[1];return Tr(J($[1][1+Ge],$),L,ne,function(wa){return[0,v,[1,wa]]});case 2:var X=k[1];return Tr(J($[1][1+Ge],$),X,ne,function(wa){return[0,v,[2,wa]]});case 3:var ie=k[1];return Tr(J($[1][1+Ge],$),ie,ne,function(wa){return[0,v,[3,wa]]});case 4:var ce=k[1];return Tr(J($[1][1+Ge],$),ce,ne,function(wa){return[0,v,[4,wa]]});case 5:var be=k[1];return Tr(J($[1][1+Ge],$),be,ne,function(wa){return[0,v,[5,wa]]});case 6:var Ye=k[1];return Tr(J($[1][1+Ge],$),Ye,ne,function(wa){return[0,v,[6,wa]]});case 7:var $t=k[1];return Tr(J($[1][1+Ge],$),$t,ne,function(wa){return[0,v,[7,wa]]});case 8:var xr=k[1],un=k[2];return Tr(J($[1][1+Ge],$),un,ne,function(wa){return[0,v,[8,xr,wa]]});case 9:var ni=k[1];return Tr(J($[1][1+Ge],$),ni,ne,function(wa){return[0,v,[9,wa]]});case 10:var Xi=k[1];return Tr(J($[1][1+Ge],$),Xi,ne,function(wa){return[0,v,[10,wa]]});case 11:var ma=k[1];return Tr(J($[1][1+zR],$),ma,ne,function(wa){return[0,v,[11,wa]]});case 12:var ja=k[1];return en(J($[1][1+gs],$),v,ja,ne,function(wa){return[0,v,[12,wa]]});case 13:var ya=k[1];return en(J($[1][1+u7],$),v,ya,ne,function(wa){return[0,v,[13,wa]]});case 14:var so=k[1];return en(J($[1][1+Ft],$),v,so,ne,function(wa){return[0,v,[14,wa]]});case 15:var La=k[1];return en(J($[1][1+Ht],$),v,La,ne,function(wa){return[0,v,[15,wa]]});case 16:var N0=k[1];return Tr(J($[1][1+E3],$),N0,ne,function(wa){return[0,v,[16,wa]]});case 17:var nR=k[1];return Tr(J($[1][1+sA],$),nR,ne,function(wa){return[0,v,[17,wa]]});case 18:var Du=k[1];return Tr(J($[1][1+qe],$),Du,ne,function(wa){return[0,v,[18,wa]]});case 19:var Su=k[1];return en(J($[1][1+ha],$),v,Su,ne,function(wa){return[0,v,[19,wa]]});case 20:var Ju=k[1];return en(J($[1][1+Ie],$),v,Ju,ne,function(wa){return[0,v,[20,wa]]});case 21:var $u=k[1];return en(J($[1][1+Ha],$),v,$u,ne,function(wa){return[0,v,[21,wa]]});case 22:var Xu=k[1];return en(J($[1][1+Y],$),v,Xu,ne,function(wa){return[0,v,[22,wa]]});case 23:var Zl=k[1];return en(J($[1][1+A3],$),v,Zl,ne,function(wa){return[0,v,[23,wa]]});case 24:var Zu=k[1];return Tr(J($[1][1+Z],$),Zu,ne,function(wa){return[0,v,[24,wa]]});case 25:var Zc=k[1];return Tr(J($[1][1+i7],$),Zc,ne,function(wa){return[0,v,[25,wa]]});case 26:var $T=k[1];return Tr(J($[1][1+qr],$),$T,ne,function(wa){return[0,v,[26,wa]]});case 27:var w1=k[1];return Tr(J($[1][1+Xe],$),w1,ne,function(wa){return[0,v,[27,wa]]});case 28:var Pd=k[1];return Tr(J($[1][1+It],$),Pd,ne,function(wa){return[0,v,[28,wa]]});case 29:var w_=k[1];return en(J($[1][1+Ir],$),v,w_,ne,function(wa){return[0,v,[29,wa]]});case 30:var Bd=k[1];return en(J($[1][1+co],$),v,Bd,ne,function(wa){return[0,v,[30,wa]]});case 31:var P_=k[1];return en(J($[1][1+d7],$),v,P_,ne,function(wa){return[0,v,[31,wa]]});case 32:var x7=k[1];return en(J($[1][1+p4],$),v,x7,ne,function(wa){return[0,v,[32,wa]]});case 33:var m7=k[1];return Tr(J($[1][1+Ge],$),m7,ne,function(wa){return[0,v,[33,wa]]});case 34:var h4=k[1];return Tr(J($[1][1+Ge],$),h4,ne,function(wa){return[0,v,[34,wa]]});default:var f4=k[1];return Tr(J($[1][1+Ge],$),f4,ne,function(wa){return[0,v,[35,wa]]})}},Rt,function($,ne){var k=ne[1],v=ne[2];return Tr(J($[1][1+ft],$),v,ne,function(N){return[0,k,N]})},Tt,function($,ne){if(ne[0]===0)return ne;var k=ne[1];return Tr(J($[1][1+Rt],$),k,ne,function(v){return[1,v]})},px,function($,ne){if(ne[0]===0)return ne;var k=ne[2],v=ne[1],N=K($[1][1+qr],$,k);return N===k?ne:[1,v,N]},qo,function($,ne,k){return sn($[1][1+To],$,ne,k)},ys,function($,ne,k){return sn($[1][1+Ls],$,ne,k)},Ls,function($,ne,k){return sn($[1][1+To],$,ne,k)},To,function($,ne,k){var v=k[10],N=k[9],L=k[8],X=k[7],ie=k[3],ce=k[2],be=k[1],Ye=k[11],$t=k[6],xr=k[5],un=k[4],ni=ks(J($[1][1+Bs],$),be),Xi=ks(J($[1][1+xe],$),N),ma=K($[1][1+xs],$,ce),ja=K($[1][1+Es],$,L),ya=K($[1][1+Ds],$,ie),so=ks(J($[1][1+Ze],$),X),La=K($[1][1+Ge],$,v);return be===ni&&ce===ma&&ie===ya&&X===so&&L===ja&&N===Xi&&v===La?k:[0,ni,ma,ya,un,xr,$t,so,ja,Xi,La,Ye]},xs,function($,ne){var k=ne[2],v=k[4],N=k[3],L=k[2],X=k[1],ie=ne[1],ce=wo(J($[1][1+Ka],$),L),be=ks(J($[1][1+ds],$),N),Ye=ks(J($[1][1+eo],$),X),$t=K($[1][1+Ge],$,v);return L===ce&&N===be&&v===$t&&X===Ye?ne:[0,ie,[0,Ye,ce,be,$t]]},eo,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+Rt],$,N),ie=K($[1][1+Ge],$,v);return X===N&&ie===v?ne:[0,L,[0,X,ie]]},Ka,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+os],$,N),ie=K($[1][1+Ec],$,v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},Es,function($,ne){switch(ne[0]){case 0:return ne;case 1:var k=ne[1];return Tr(J($[1][1+Rt],$),k,ne,function(N){return[1,N]});default:var v=ne[1];return Tr(J($[1][1+Fe],$),v,ne,function(N){return[2,N]})}},Ds,function($,ne){if(ne[0]===0){var k=ne[1];return Tr(J($[1][1+ao],$),k,ne,function(N){return[0,N]})}var v=ne[1];return Tr(J($[1][1+yE],$),v,ne,function(N){return[1,N]})},ao,function($,ne){var k=ne[1],v=ne[2];return en(J($[1][1+d2],$),k,v,ne,function(N){return[0,k,N]})},yE,function($,ne){return K($[1][1+Ua],$,ne)},Bs,function($,ne){return sn($[1][1+jn],$,pDe,ne)},Di,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+Ge],$,v);return v===X?ne:[0,L,[0,N,X]]},Ne,function($,ne){return K($[1][1+Di],$,ne)},ge,function($,ne){return K($[1][1+Ne],$,ne)},Vk,function($,ne){return K($[1][1+Ne],$,ne)},ke,function($,ne,k){var v=k[5],N=k[4],L=k[3],X=k[2],ie=k[1],ce=K($[1][1+Vk],$,ie),be=ks(J($[1][1+xe],$),X),Ye=J($[1][1+ha],$),$t=wo(function(ni){return Dn(Ye,ni)},L),xr=Dn(J($[1][1+Ft],$),N),un=K($[1][1+Ge],$,v);return ce===ie&&be===X&&$t===L&&xr===N&&un===v?k:[0,ce,be,$t,xr,un]},tt,function($,ne,k){return sn($[1][1+ke],$,ne,k)},Mt,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+Ge],$,v);return v===X?ne:[0,L,[0,N,X]]},vm,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+Ua],$,N),ie=K($[1][1+Ge],$,v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},xi,function($,ne,k){var v=k[2],N=k[1],L=K($[1][1+Ua],$,N),X=K($[1][1+Ge],$,v);return N===L&&v===X?k:[0,L,X]},Gi,function($,ne,k){return K($[1][1+cn],$,k)},ea,function($,ne,k){var v=k[2],N=k[1],L=K($[1][1+cn],$,N),X=K($[1][1+Ge],$,v);return N===L&&v===X?k:[0,L,X]},na,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=k[1],ie=K($[1][1+Gt],$,X),ce=sn($[1][1+Gi],$,N!==0?1:0,L),be=J($[1][1+ea],$),Ye=ks(function(xr){return Dn(be,xr)},N),$t=K($[1][1+Ge],$,v);return X===ie&&L===ce&&N===Ye&&v===$t?k:[0,ie,ce,Ye,$t]},Ci,function($,ne,k){var v=k[5],N=k[4],L=k[3],X=k[2],ie=k[1],ce=Dn(J($[1][1+pr],$),X),be=ks(K($[1][1+Wt],$,ie),N),Ye=ks(function(xr){var un=xr[1],ni=xr[2],Xi=sn($[1][1+Hn],$,ie,un);return Xi===un?xr:[0,Xi,ni]},L),$t=K($[1][1+Ge],$,v);return X===ce&&N===be&&L===Ye&&v===$t?k:[0,ie,ce,Ye,be,$t]},pr,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Ge],$,v);return v===X?k:[0,L,N,X]},Wt,function($,ne,k){if(k[0]===0){var v=k[1],N=wo(K($[1][1+En],$,ne),v);return v===N?k:[0,N]}var L=k[1],X=L[1],ie=L[2];return en(K($[1][1+jr],$,ne),X,ie,k,function(ce){return[1,[0,X,ce]]})},Pe,function($,ne){return K($[1][1+Di],$,ne)},En,function($,ne,k){var v=k[3],N=k[2],L=k[1];e:{t:{var X=k[4];if(ne){r:{if(L)switch(L[1]){case 0:break t;case 1:break r}if(2<=ne){var ie=0,ce=0;break e}}var ie=1,ce=0;break e}}var ie=1,ce=1}var be=N?K($[1][1+Pe],$,v):ce?K($[1][1+Vk],$,v):sn($[1][1+jn],$,_De,v);if(N)var Ye=N[1],$t=ie?J($[1][1+Vk],$):K($[1][1+jn],$,hDe),xr=Tr($t,Ye,N,function(un){return[0,un]});else var xr=0;return N===xr&&v===be?k:[0,L,xr,be,X]},Hn,function($,ne,k){var v=2<=ne?K($[1][1+jn],$,fDe):J($[1][1+Vk],$);return J(v,k)},jr,function($,ne,k,v){var N=2<=ne?K($[1][1+jn],$,dDe):J($[1][1+Vk],$);return J(N,v)},C3,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=k[1],ie=K($[1][1+Mk],$,X),ce=ks(J($[1][1+_C],$),L),be=K($[1][1+n4],$,N),Ye=K($[1][1+Ge],$,v);return X===ie&&L===ce&&N===be&&v===Ye?k:[0,ie,ce,be,Ye]},Wk,function($,ne,k){var v=k[4],N=k[3],L=K($[1][1+n4],$,N),X=K($[1][1+Ge],$,v);return N===L&&v===X?k:[0,k[1],k[2],L,X]},Mk,function($,ne){var k=ne[2],v=k[4],N=k[2],L=k[1],X=k[3],ie=ne[1],ce=K($[1][1+Om],$,L),be=ks(J($[1][1+Kk],$),N),Ye=wo(J($[1][1+pC],$),v);return L===ce&&N===be&&v===Ye?ne:[0,ie,[0,ce,be,X,Ye]]},_C,function($,ne){var k=ne[2][1],v=ne[1],N=K($[1][1+Om],$,k);return k===N?ne:[0,v,[0,N]]},pC,function($,ne){if(ne[0]===0){var k=ne[1];return Tr(J($[1][1+kE],$),k,ne,function(X){return[0,X]})}var v=ne[1],N=v[1],L=v[2];return en(J($[1][1+t4],$),N,L,ne,function(X){return[1,[0,N,X]]})},t4,function($,ne,k){var v=k[2],N=k[1],L=K($[1][1+Ua],$,N),X=K($[1][1+Ge],$,v);return N===L&&v===X?k:[0,L,X]},kE,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+bv],$,N),ie=ks(J($[1][1+sN],$),v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},bv,function($,ne){if(ne[0]===0){var k=ne[1];return Tr(J($[1][1+gv],$),k,ne,function(N){return[0,N]})}var v=ne[1];return Tr(J($[1][1+oN],$),v,ne,function(N){return[1,N]})},gv,function($,ne){return K($[1][1+o7],$,ne)},oN,function($,ne){return K($[1][1+Em],$,ne)},sN,function($,ne){if(ne[0]===0){var k=ne[1],v=k[1],N=k[2];return en(J($[1][1+aA],$),v,N,ne,function(ce){return[0,[0,v,ce]]})}var L=ne[1],X=L[1],ie=L[2];return en(J($[1][1+Av],$),X,ie,ne,function(ce){return[1,[0,X,ce]]})},Av,function($,ne,k){return sn($[1][1+Tx],$,ne,k)},aA,function($,ne,k){return sn($[1][1+Ir],$,ne,k)},n4,function($,ne){var k=ne[2],v=ne[1],N=wo(J($[1][1+mE],$),k);return k===N?ne:[0,v,N]},mE,function($,ne){var k=ne[2],v=ne[1];switch(k[0]){case 0:var N=k[1];return en(J($[1][1+C3],$),v,N,ne,function(ce){return[0,v,[0,ce]]});case 1:var L=k[1];return en(J($[1][1+Wk],$),v,L,ne,function(ce){return[0,v,[1,ce]]});case 2:var X=k[1];return en(J($[1][1+Tx],$),v,X,ne,function(ce){return[0,v,[2,ce]]});case 3:var ie=k[1];return Tr(J($[1][1+Qd],$),ie,ne,function(ce){return[0,v,[3,ce]]});default:return ne}},Tx,function($,ne,k){var v=k[2],N=k[1],L=K($[1][1+Ge],$,v);if(!N)return v===L?k:[0,0,L];var X=N[1],ie=K($[1][1+Ua],$,X);return X===ie&&v===L?k:[0,[0,ie],L]},Qd,function($,ne){var k=ne[2],v=ne[1],N=K($[1][1+Ua],$,v),L=K($[1][1+Ge],$,k);return v===N&&k===L?ne:[0,N,L]},Om,function($,ne){switch(ne[0]){case 0:var k=ne[1];return Tr(J($[1][1+Cv],$),k,ne,function(L){return[0,L]});case 1:var v=ne[1];return Tr(J($[1][1+xE],$),v,ne,function(L){return[1,L]});default:var N=ne[1];return Tr(J($[1][1+T2],$),N,ne,function(L){return[2,L]})}},Cv,function($,ne){return K($[1][1+o7],$,ne)},xE,function($,ne){return K($[1][1+Em],$,ne)},T2,function($,ne){return K($[1][1+s7],$,ne)},Em,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+o7],$,N),ie=K($[1][1+o7],$,v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},s7,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+r4],$,N),ie=K($[1][1+o7],$,v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},r4,function($,ne){if(ne[0]===0){var k=ne[1];return Tr(J($[1][1+a7],$),k,ne,function(N){return[0,N]})}var v=ne[1];return Tr(J($[1][1+s7],$),v,ne,function(N){return[1,N]})},a7,function($,ne){return K($[1][1+Cv],$,ne)},o7,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+Ge],$,v);return v===X?ne:[0,L,[0,N,X]]},Ql,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Q_],$,L),ie=K($[1][1+cn],$,N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,X,ie,ce]},bT,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=K($[1][1+Ua],$,L),ie=K($[1][1+Ua],$,N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,k[1],X,ie,ce]},n7,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Ua],$,L),ie=wo(J($[1][1+c2],$),N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,X,ie,ce]},c2,function($,ne){var k=ne[2],v=k[4],N=k[3],L=k[2],X=k[1],ie=ne[1],ce=K($[1][1+R_],$,X),be=K($[1][1+Ua],$,L),Ye=ks(J($[1][1+Ua],$),N),$t=K($[1][1+Ge],$,v);return X===ce&&L===be&&N===Ye&&v===$t?ne:[0,ie,[0,X,L,Ye,$t]]},Ko,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Ua],$,L),ie=wo(J($[1][1+pp],$),N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,X,ie,ce]},pp,function($,ne){var k=ne[2],v=k[4],N=k[3],L=k[2],X=k[1],ie=ne[1],ce=K($[1][1+R_],$,X),be=Dn(J($[1][1+d2],$),L),Ye=ks(J($[1][1+Ua],$),N),$t=K($[1][1+Ge],$,v);return X===ce&&L===be&&N===Ye&&v===$t?ne:[0,ie,[0,X,L,Ye,$t]]},R_,function($,ne){var k=ne[2],v=ne[1];switch(k[0]){case 0:var N=k[1];return Tr(J($[1][1+Ge],$),N,ne,function(ya){return[0,v,[0,ya]]});case 1:var L=k[1];return en(J($[1][1+co],$),v,L,ne,function(ya){return[0,v,[1,ya]]});case 2:var X=k[1];return en(J($[1][1+d7],$),v,X,ne,function(ya){return[0,v,[2,ya]]});case 3:var ie=k[1];return en(J($[1][1+Ir],$),v,ie,ne,function(ya){return[0,v,[3,ya]]});case 4:var ce=k[1];return en(J($[1][1+p4],$),v,ce,ne,function(ya){return[0,v,[4,ya]]});case 5:var be=k[1];return Tr(J($[1][1+Ge],$),be,ne,function(ya){return[0,v,[5,ya]]});case 6:var Ye=k[1];return Tr(J($[1][1+$_],$),Ye,ne,function(ya){return[0,v,[6,ya]]});case 7:var $t=k[1];return en(J($[1][1+cx],$),v,$t,ne,function(ya){return[0,v,[7,ya]]});case 8:var xr=k[1];return Tr(J($[1][1+Di],$),xr,ne,function(ya){return[0,v,[8,ya]]});case 9:var un=k[1];return Tr(J($[1][1+r7],$),un,ne,function(ya){return[0,v,[9,ya]]});case 10:var ni=k[1];return Tr(J($[1][1+bm],$),ni,ne,function(ya){return[0,v,[10,ya]]});case 11:var Xi=k[1];return Tr(J($[1][1+$l],$),Xi,ne,function(ya){return[0,v,[11,ya]]});case 12:var ma=k[1];return Tr(J($[1][1+t7],$),ma,ne,function(ya){return[0,v,[12,ya]]});default:var ja=k[1];return Tr(J($[1][1+ZT],$),ja,ne,function(ya){return[0,v,[13,ya]]})}},$_,function($,ne){var k=ne[3],v=ne[2],N=v[1],L=ne[1],X=v[2],ie=en(J($[1][1+gT],$),N,X,v,function(be){return[0,N,be]}),ce=K($[1][1+Ge],$,k);return v===ie&&k===ce?ne:[0,L,ie,ce]},gT,function($,ne,k){if(k[0]===0){var v=k[1];return en(J($[1][1+co],$),ne,v,k,function(L){return[0,L]})}var N=k[1];return en(J($[1][1+d7],$),ne,N,k,function(L){return[1,L]})},r7,function($,ne){var k=ne[2],v=k[3],N=k[2],L=k[1],X=ne[1],ie=K($[1][1+l2],$,L),ce=K($[1][1+lx],$,N),be=K($[1][1+Ge],$,v);return L===ie&&N===ce&&v===be?ne:[0,X,[0,ie,ce,be]]},l2,function($,ne){if(ne[0]===0){var k=ne[1];return Tr(J($[1][1+Di],$),k,ne,function(N){return[0,N]})}var v=ne[1];return Tr(J($[1][1+r7],$),v,ne,function(N){return[1,N]})},lx,function($,ne){switch(ne[0]){case 0:var k=ne[1],v=k[1],N=k[2];return en(J($[1][1+Ir],$),v,N,ne,function(be){return[0,[0,v,be]]});case 1:var L=ne[1],X=L[1],ie=L[2];return en(J($[1][1+co],$),X,ie,ne,function(be){return[1,[0,X,be]]});default:var ce=ne[1];return Tr(J($[1][1+Di],$),ce,ne,function(be){return[2,be]})}},cx,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=sn($[1][1+jn],$,[0,L],N),ie=K($[1][1+Ge],$,v);return N===X&&v===ie?k:[0,L,X,ie]},bm,function($,ne){var k=ne[3],v=ne[2],N=ne[1],L=wo(J($[1][1+u2],$),N),X=mc(J($[1][1+o_],$),v),ie=K($[1][1+Ge],$,k);return N===L&&v===X&&k===ie?ne:[0,L,X,ie]},u2,function($,ne){var k=ne[2],v=k[4],N=k[2],L=k[1],X=k[3],ie=ne[1],ce=K($[1][1+$d],$,L),be=K($[1][1+R_],$,N),Ye=K($[1][1+Ge],$,v);return L===ce&&N===be&&v===Ye?ne:[0,ie,[0,ce,be,X,Ye]]},$d,function($,ne){switch(ne[0]){case 0:var k=ne[1],v=k[1],N=k[2];return en(J($[1][1+Ir],$),v,N,ne,function(be){return[0,[0,v,be]]});case 1:var L=ne[1],X=L[1],ie=L[2];return en(J($[1][1+co],$),X,ie,ne,function(be){return[1,[0,X,be]]});default:var ce=ne[1];return Tr(J($[1][1+Di],$),ce,ne,function(be){return[2,be]})}},$l,function($,ne){var k=ne[3],v=ne[2],N=ne[1],L=wo(J($[1][1+$o],$),N),X=mc(J($[1][1+o_],$),v),ie=K($[1][1+Ge],$,k);return N===L&&v===X&&k===ie?ne:[0,L,X,ie]},$o,function($,ne){var k=ne[2],v=ne[1],N=K($[1][1+R_],$,k);return k===N?ne:[0,v,N]},o_,function($,ne,k){var v=k[2],N=k[1],L=mc(J($[1][1+cx],$),N),X=K($[1][1+Ge],$,v);return N===L&&v===X?k:[0,L,X]},t7,function($,ne){var k=ne[2],v=ne[1],N=wo(J($[1][1+R_],$),v),L=K($[1][1+Ge],$,k);return v===N&&k===L?ne:[0,N,L]},ZT,function($,ne){var k=ne[3],v=ne[2],N=ne[1],L=K($[1][1+R_],$,N);if(v[0]===0)var X=v[1],be=Tr(K($[1][1+jn],$,xDe),X,v,function($t){return[0,$t]});else var ie=v[1],ce=v[2],be=en(J($[1][1+cx],$),ie,ce,v,function($t){return[1,ie,$t]});var Ye=K($[1][1+Ge],$,k);return N===L&&v===be&&k===Ye?ne:[0,L,be,Ye]},Q1,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Ua],$,L),ie=K($[1][1+S_],$,N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,X,ie,ce]},Da,function($,ne,k){var v=k[1],N=sn($[1][1+Q1],$,ne,v);return v===N?k:[0,N,k[2],k[3]]},S_,function($,ne){switch(ne[0]){case 0:var k=ne[1];return Tr(J($[1][1+jl],$),k,ne,function(L){return[0,L]});case 1:var v=ne[1];return Tr(J($[1][1+Gc],$),v,ne,function(L){return[1,L]});default:var N=ne[1];return Tr(J($[1][1+lR],$),N,ne,function(L){return[2,L]})}},jl,function($,ne){return K($[1][1+Di],$,ne)},Gc,function($,ne){return K($[1][1+Mt],$,ne)},lR,function($,ne){return K($[1][1+Ua],$,ne)},Sl,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Di],$,L),ie=K($[1][1+Di],$,N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,X,ie,ce]},$1,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=k[1],ie=K($[1][1+Ua],$,X),ce=ks(J($[1][1+Kk],$),L),be=ks(J($[1][1+qE],$),N),Ye=K($[1][1+Ge],$,v);return X===ie&&L===ce&&N===be&&v===Ye?k:[0,ie,ce,be,Ye]},is,function($,ne,k){var v=k[2],N=k[1],L=wo(function(ie){if(ie[0]===0){var ce=ie[1],be=K($[1][1+tn],$,ce);return ce===be?ie:[0,be]}var Ye=ie[1],$t=K($[1][1+Lr],$,Ye);return Ye===$t?ie:[1,$t]},N),X=K($[1][1+Ge],$,v);return N===L&&v===X?k:[0,L,X]},tn,function($,ne){var k=ne[2],v=ne[1];switch(k[0]){case 0:var N=k[3],L=k[2],X=k[1],ie=K($[1][1+ci],$,X),ce=K($[1][1+Ua],$,L);e:if(N){if(ie[0]===3){var be=ce[2];if(be[0]===10){var $t=Qa(ie[1][2][1],be[1][2][1]);break e}}var Ye=X===ie?1:0,$t=Ye&&(L===ce?1:0)}else var $t=N;return X===ie&&L===ce&&N===$t?ne:[0,v,[0,ie,ce,$t]];case 1:var xr=k[2],un=k[1],ni=K($[1][1+ci],$,un),Xi=Dn(J($[1][1+Ls],$),xr);return un===ni&&xr===Xi?ne:[0,v,[1,ni,Xi]];case 2:var ma=k[3],ja=k[2],ya=k[1],so=K($[1][1+ci],$,ya),La=Dn(J($[1][1+Ls],$),ja),N0=K($[1][1+Ge],$,ma);return ya===so&&ja===La&&ma===N0?ne:[0,v,[2,so,La,N0]];default:var nR=k[3],Du=k[2],Su=k[1],Ju=K($[1][1+ci],$,Su),$u=Dn(J($[1][1+Ls],$),Du),Xu=K($[1][1+Ge],$,nR);return Su===Ju&&Du===$u&&nR===Xu?ne:[0,v,[3,Ju,$u,Xu]]}},ci,function($,ne){switch(ne[0]){case 0:var k=ne[1];return Tr(J($[1][1+ui],$),k,ne,function(ce){return[0,ce]});case 1:var v=ne[1];return Tr(J($[1][1+_s],$),v,ne,function(ce){return[1,ce]});case 2:var N=ne[1];return Tr(J($[1][1+Za],$),N,ne,function(ce){return[2,ce]});case 3:var L=ne[1];return Tr(J($[1][1+la],$),L,ne,function(ce){return[3,ce]});case 4:var X=ne[1];return Tr(J($[1][1+Mt],$),X,ne,function(ce){return[4,ce]});default:var ie=ne[1];return Tr(J($[1][1+hs],$),ie,ne,function(ce){return[5,ce]})}},ui,function($,ne){var k=ne[1],v=ne[2];return en(J($[1][1+Ir],$),k,v,ne,function(N){return[0,k,N]})},_s,function($,ne){var k=ne[1],v=ne[2];return en(J($[1][1+co],$),k,v,ne,function(N){return[0,k,N]})},Za,function($,ne){var k=ne[1],v=ne[2];return en(J($[1][1+d7],$),k,v,ne,function(N){return[0,k,N]})},la,function($,ne){return K($[1][1+Di],$,ne)},hs,function($,ne){return K($[1][1+vm],$,ne)},Ks,function($,ne,k){var v=k[5],N=k[4],L=k[3],X=k[2],ie=k[1],ce=K($[1][1+Vk],$,ie),be=ks(J($[1][1+xe],$),X),Ye=ks(J($[1][1+ft],$),L),$t=ks(J($[1][1+ft],$),N),xr=K($[1][1+Ge],$,v);return ie===ce&&L===Ye&&X===be&&L===Ye&&N===$t&&v===xr?k:[0,ce,be,Ye,$t,xr]},os,function($,ne){return sn($[1][1+_x],$,mDe,ne)},g,function($,ne,k){return sn($[1][1+_x],$,[0,ne],k)},wd,function($,ne){return sn($[1][1+_x],$,kDe,ne)},Tl,function($,ne){return K($[1][1+g3],$,ne)},eu,function($,ne){return K($[1][1+g3],$,ne)},_x,function($,ne,k){var v=ne?ne[1]:0;return sn($[1][1+Ri],$,[0,v],k)},g3,function($,ne){return sn($[1][1+Ri],$,0,ne)},Ri,function($,ne,k){var v=k[2],N=k[1];switch(v[0]){case 0:var L=v[1],X=L[3],ie=L[2],ce=L[1],be=wo(K($[1][1+wn],$,ne),ce),Ye=K($[1][1+Tt],$,ie),$t=K($[1][1+Ge],$,X);e:{if(be===ce&&Ye===ie&&$t===X){var xr=v;break e}var xr=[0,[0,be,Ye,$t]]}var Zu=xr;break;case 1:var un=v[1],ni=un[3],Xi=un[2],ma=un[1],ja=wo(K($[1][1+Fi],$,ne),ma),ya=K($[1][1+Tt],$,Xi),so=K($[1][1+Ge],$,ni);e:{if(ni===so&&ja===ma&&ya===Xi){var La=v;break e}var La=[1,[0,ja,ya,so]]}var Zu=La;break;case 2:var N0=v[1],nR=N0[2],Du=N0[1],Su=N0[3],Ju=sn($[1][1+jn],$,ne,Du),$u=K($[1][1+Tt],$,nR);e:{if(Du===Ju&&nR===$u){var Xu=v;break e}var Xu=[2,[0,Ju,$u,Su]]}var Zu=Xu;break;default:var Zl=v[1],Zu=Tr(J($[1][1+Rn],$),Zl,v,function(Zc){return[3,Zc]})}return v===Zu?k:[0,N,Zu]},jn,function($,ne,k){return K($[1][1+Di],$,k)},Xr,function($,ne,k,v){return sn($[1][1+Ir],$,k,v)},br,function($,ne,k,v){return sn($[1][1+co],$,k,v)},ai,function($,ne,k,v){return sn($[1][1+d7],$,k,v)},wn,function($,ne,k){if(k[0]===0){var v=k[1];return Tr(K($[1][1+gr],$,ne),v,k,function(L){return[0,L]})}var N=k[1];return Tr(K($[1][1+kn],$,ne),N,k,function(L){return[1,L]})},gr,function($,ne,k){var v=k[2],N=v[4],L=v[3],X=v[2],ie=v[1],ce=k[1],be=sn($[1][1+We],$,ne,ie),Ye=sn($[1][1+Qe],$,ne,X),$t=K($[1][1+Ec],$,L);e:if(N){if(be[0]===3){var xr=Ye[2];if(xr[0]===2){var ni=Qa(be[1][2][1],xr[1][1][2][1]);break e}}var un=ie===be?1:0,ni=un&&(X===Ye?1:0)}else var ni=N;return be===ie&&Ye===X&&$t===L&&N===ni?k:[0,ce,[0,be,Ye,$t,ni]]},We,function($,ne,k){switch(k[0]){case 0:var v=k[1];return Tr(K($[1][1+Ki],$,ne),v,k,function(ce){return[0,ce]});case 1:var N=k[1];return Tr(K($[1][1+Vt],$,ne),N,k,function(ce){return[1,ce]});case 2:var L=k[1];return Tr(K($[1][1+qn],$,ne),L,k,function(ce){return[2,ce]});case 3:var X=k[1];return Tr(K($[1][1+Qt],$,ne),X,k,function(ce){return[3,ce]});default:var ie=k[1];return Tr(K($[1][1+gn],$,ne),ie,k,function(ce){return[4,ce]})}},Ki,function($,ne,k){var v=k[1],N=k[2];return en(K($[1][1+Xr],$,ne),v,N,k,function(L){return[0,v,L]})},Vt,function($,ne,k){var v=k[1],N=k[2];return en(K($[1][1+br],$,ne),v,N,k,function(L){return[0,v,L]})},qn,function($,ne,k){var v=k[1],N=k[2];return en(K($[1][1+ai],$,ne),v,N,k,function(L){return[0,v,L]})},Qt,function($,ne,k){return sn($[1][1+jn],$,ne,k)},gn,function($,ne,k){return K($[1][1+vm],$,k)},kn,function($,ne,k){var v=k[2],N=v[2],L=v[1],X=k[1],ie=sn($[1][1+qt],$,ne,L),ce=K($[1][1+Ge],$,N);return ie===L&&N===ce?k:[0,X,[0,ie,ce]]},Qe,function($,ne,k){return sn($[1][1+Ri],$,ne,k)},qt,function($,ne,k){return sn($[1][1+Ri],$,ne,k)},Fi,function($,ne,k){switch(k[0]){case 0:var v=k[1];return Tr(K($[1][1+Cn],$,ne),v,k,function(L){return[0,L]});case 1:var N=k[1];return Tr(K($[1][1+Jn],$,ne),N,k,function(L){return[1,L]});default:return k}},Cn,function($,ne,k){var v=k[2],N=v[2],L=v[1],X=k[1],ie=sn($[1][1+Oi],$,ne,L),ce=K($[1][1+Ec],$,N);return L===ie&&N===ce?k:[0,X,[0,ie,ce]]},Oi,function($,ne,k){return sn($[1][1+Ri],$,ne,k)},Jn,function($,ne,k){var v=k[2],N=v[2],L=v[1],X=k[1],ie=sn($[1][1+mn],$,ne,L),ce=K($[1][1+Ge],$,N);return ie===L&&N===ce?k:[0,X,[0,ie,ce]]},mn,function($,ne,k){return sn($[1][1+Ri],$,ne,k)},Rn,function($,ne){return K($[1][1+Ua],$,ne)},Ze,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1];if(N)var X=N[1],ie=Tr(J($[1][1+Ua],$),X,N,function(be){return[0,be]});else var ie=N;var ce=K($[1][1+Ge],$,v);return N===ie&&v===ce?ne:[0,L,[0,ie,ce]]},Gt,function($,ne){return K($[1][1+Ua],$,ne)},Fe,function($,ne){var k=ne[2],v=ne[1],N=K($[1][1+ze],$,k);return E9(N,k)?ne:[0,v,N]},ze,function($,ne){var k=ne[2],v=k[3],N=k[2],L=N[2],X=N[1],ie=k[1],ce=ne[1],be=K($[1][1+Di],$,X),Ye=ks(J($[1][1+ft],$),L),$t=K($[1][1+Ge],$,v);return be===X&&Ye===L&&$t===v?ne:[0,ce,[0,ie,[0,be,Ye],$t]]},ds,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+os],$,N),ie=K($[1][1+Ge],$,v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},vt,function($,ne,k){var v=k[2],N=k[1],L=k[3],X=ks(J($[1][1+Ua],$),N),ie=K($[1][1+Ge],$,v);return N===X&&v===ie?k:[0,X,ie,L]},rn,function($,ne,k){var v=k[2],N=k[1],L=wo(J($[1][1+Ua],$),N),X=K($[1][1+Ge],$,v);return N===L&&v===X?k:[0,L,X]},rr,function($,ne){return K($[1][1+Dr],$,ne)},Dr,function($,ne){var k=J($[1][1+on],$),v=tR(function(L,X){var ie=L[2],ce=L[1],be=J(k,X);if(!be)return[0,ce,1];if(be[2])return[0,S9(be,ce),1];var Ye=be[1],$t=ie||(X!==Ye?1:0);return[0,[0,Ye,ce],$t]},yDe,ne),N=v[1];return v[2]?xn(N):ne},on,function($,ne){return[0,K($[1][1+cn],$,ne),0]},fn,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+Ua],$,N),ie=K($[1][1+Ge],$,v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},Lr,function($,ne){var k=ne[2],v=k[2],N=k[1],L=ne[1],X=K($[1][1+Ua],$,N),ie=K($[1][1+Ge],$,v);return N===X&&v===ie?ne:[0,L,[0,X,ie]]},sr,function($,ne,k){var v=k[1],N=K($[1][1+Ge],$,v);return v===N?k:[0,N]},yr,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=k[4],ie=K($[1][1+Ua],$,L),ce=wo(J($[1][1+rt],$),N),be=K($[1][1+Ge],$,v);return L===ie&&N===ce&&v===be?k:[0,ie,ce,be,X]},rt,function($,ne){var k=ne[2],v=k[3],N=k[2],L=k[1],X=ne[1],ie=ks(J($[1][1+Ua],$),L),ce=K($[1][1+Dr],$,N),be=K($[1][1+Ge],$,v);return L===ie&&N===ce&&v===be?ne:[0,X,[0,ie,ce,be]]},hr,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Ua],$,L),ie=Dn(J($[1][1+Xt],$),N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,X,ie,ce]},Xt,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=wo(J($[1][1+mr],$),L),ie=wo(J($[1][1+Ua],$),N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,X,ie,ce]},mr,function($,ne){return ne},tr,function($,ne,k){var v=k[1],N=K($[1][1+Ge],$,v);return v===N?k:[0,N]},Jt,function($,ne,k){var v=k[2],N=k[1],L=K($[1][1+Ua],$,N),X=K($[1][1+Ge],$,v);return N===L&&v===X?k:[0,L,X]},or,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=k[1],ie=Dn(J($[1][1+d2],$),X);if(L)var ce=L[1],be=ce[1],Ye=ce[2],$t=en(J($[1][1+ST],$),be,Ye,L,function(ja){return[0,[0,be,ja]]});else var $t=L;if(N)var xr=N[1],un=xr[1],ni=xr[2],Xi=en(J($[1][1+d2],$),un,ni,N,function(ja){return[0,[0,un,ja]]});else var Xi=N;var ma=K($[1][1+Ge],$,v);return X===ie&&L===$t&&N===Xi&&v===ma?k:[0,ie,$t,Xi,ma]},ut,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Ua],$,L),ie=K($[1][1+Rt],$,N),ce=K($[1][1+Ge],$,v);return X===L&&ie===N&&ce===v?k:[0,X,ie,ce]},wt,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Ua],$,L),ie=K($[1][1+Rt],$,N),ce=K($[1][1+Ge],$,v);return X===L&&E9(ie,N)&&ce===v?k:[0,X,ie,ce]},V,function($,ne,k){var v=k[3],N=k[2],L=K($[1][1+Ua],$,N),X=K($[1][1+Ge],$,v);return N===L&&v===X?k:[0,k[1],L,X]},W,function($,ne,k){var v=k[4],N=k[2],L=K($[1][1+Ua],$,N),X=K($[1][1+Ge],$,v);return N===L&&v===X?k:[0,k[1],L,k[3],X]},B,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=wo(K($[1][1+O],$,N),L),ie=K($[1][1+Ge],$,v);return L===X&&v===ie?k:[0,X,N,ie]},O,function($,ne,k){var v=k[2],N=v[2],L=v[1],X=k[1],ie=sn($[1][1+g],$,ne,L),ce=ks(J($[1][1+Ua],$),N);return L===ie&&N===ce?k:[0,X,[0,ie,ce]]},p,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Gt],$,L),ie=K($[1][1+cn],$,N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,X,ie,ce]},u,function($,ne,k){var v=k[3],N=k[2],L=k[1],X=K($[1][1+Ua],$,L),ie=K($[1][1+cn],$,N),ce=K($[1][1+Ge],$,v);return L===X&&N===ie&&v===ce?k:[0,X,ie,ce]},kt,function($,ne,k){var v=k[4],N=k[3],L=k[2],X=k[1],ie=K($[1][1+Vk],$,X),ce=ks(J($[1][1+xe],$),L),be=K($[1][1+ft],$,N),Ye=K($[1][1+Ge],$,v);return X===ie&&N===be&&L===ce&&v===Ye?k:[0,ie,ce,be,Ye]},a,function($,ne,k){var v=k[2],N=k[1],L=k[4],X=k[3],ie=ks(J($[1][1+Ua],$),N),ce=K($[1][1+Ge],$,v);return v===ce&&N===ie?k:[0,ie,ce,X,L]}]),function($,ne){return AQ(ne,o)}}),BG=[];function Xee(o,T,a){var u=a[2];switch(u[0]){case 0:var p=u[1][1];return tR(J(BG[1],o),T,p);case 1:var d=u[1][1];return tR(J(BG[2],o),T,d);case 2:return K(o,T,u[1][1]);default:return T}}ns(BG,[0,function(o,T){return function(a){var u=a[0]===0?a[1][2][2]:a[1][2][1];return Xee(o,T,u)}},function(o,T){return function(a){return a[0]===2?T:Xee(o,T,a[1][2][1])}}]);var Zee=[];function ete(o){var T=o[2];switch(T[0]){case 0:return $9(Zee[1],T[1][1]);case 1:return $9(Zee[2],T[1][1]);case 2:return 1;default:return 0}}ns(Zee,[0,function(o){var T=o[0]===0?o[1][2][2]:o[1][2][1];return ete(T)},function(o){return o[0]===2?0:ete(o[1][2][1])}]);var IG=[];function zB(o){var T=o[2];switch(T[0]){case 7:return 1;case 10:var a=T[1],u=a[1],p=J(IG[2],a[2]);return p||$9(IG[1],u);case 11:var d=T[1],q=d[1],g=J(IG[2],d[2]);return g||$9(function(O){return zB(O[2])},q);case 12:return $9(zB,T[1][1]);case 13:return 1;default:return 0}}ns(IG,[0,function(o){return zB(o[2][2])},function(o){return o&&o[1][2][1]?1:0}]);function U8(o,T){return[0,T[1],[0,T[2],o]]}function rC(o,T,a){var u=o?o[1]:0,p=T?T[1]:0;return[0,u,p,a]}function Nr(o,T,a){var u=o?o[1]:0,p=T?T[1]:0;return!u&&!p?0:[0,rC([0,u],[0,p],0)]}function kr(o,T,a,u){var p=o?o[1]:0,d=T?T[1]:0;return!p&&!d&&!a?0:[0,rC([0,p],[0,d],a)]}function E0(o,T){if(o){if(T){var a=T[1],u=o[1],p=[0,pi(u[2],a[2])];return Nr([0,pi(a[1],u[1])],p,he)}var d=o}else var d=T;return d}function up(o,T){if(!T)return o;if(o){var a=T[1],u=o[1],p=a[1],d=u[3],q=u[1],g=[0,pi(u[2],a[2])];return kr([0,pi(p,q)],g,d,he)}var O=T[1];return kr([0,O[1]],[0,O[2]],0,he)}function MG(o,T){z0(o)(RSe),J(z0(o)(lSe),uSe);var a=T[1];J(z0(o)(cSe),a),z0(o)(TSe),z0(o)(pSe),J(z0(o)(hSe),_Se);var u=T[2];return J(z0(o)(fSe),u),z0(o)(dSe),z0(o)(xSe)}ns([],[0,MG,MG,function(o,T){switch(T[0]){case 0:var a=T[1];return z0(o)(jve),J(z0(o)(Jve),a),z0(o)(Xve);case 1:var u=T[1];return z0(o)(Zve),J(z0(o)(eDe),u),z0(o)(tDe);case 2:var p=T[1];return z0(o)(rDe),J(z0(o)(nDe),p),z0(o)(iDe);default:var d=T[1];return z0(o)(aDe),J(z0(o)(sDe),d),z0(o)(oDe)}}]);function $R(o,T){return[0,o[1],o[2],T[3]]}function O0(o,T){var a=o[1]-T[1]|0;return a===0?o[2]-T[2]|0:a}function _3(o,T){var a=T[1],u=o[1];if(u){var p=u[1];if(a)var d=a[1],q=zue(d),g=zue(p)-q|0,O=g===0?dn(p[1],d[1]):g;else var O=-1}else var O=a?1:0;if(O!==0)return O;var B=O0(o[2],T[2]);return B===0?O0(o[3],T[3]):B}function Gb(o,T){return _3(o,T)===0?1:0}var Fo=[];ns(Fo,[0,function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return fc(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return fc(T,a)},function(o,T,a){return fc(T,a)},function(o,T,a){return fc(T,a)},function(o,T,a){return fc(T,a)},function(o,T,a){return fc(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return fc(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T){switch(o){case 0:if(!T)return 0;break;case 1:if(T===1)return 0;break;case 2:if(T===2)return 0;break;case 3:if(T===3)return 0;break;default:if(4<=T)return 0}function a(p){switch(p){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;default:return 4}}var u=a(T);return fc(a(o),u)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return fc(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)},function(o,T,a){return dn(T,a)}]);var k0=DNe.slice();function tte(o){for(var T=0,a=k0.length-1-1|0;;){if(ao)return 1;var T=u+1|0}}}var rte=0;function Hue(o){var T=o[2];return[0,o[1],[0,T[1],T[2],T[3],T[4],T[5],T[6],T[7],T[8],T[9],T[10],T[11],T[12]],o[3],o[4],o[5],o[6],o[7]]}function Yue(o){return o[3][1]}function WG(o,T){return o!==T[4]?[0,T[1],T[2],T[3],o,T[5],T[6],T[7]]:T}var o2=[];function mm(o,T){if(typeof o=="number"){var a=o;if(67<=a)if(Fr<=a)switch(a){case 101:if(typeof T=="number"&&Fr===T)return 1;break;case 102:if(typeof T=="number"&&gl===T)return 1;break;case 103:if(typeof T=="number"&&Kl===T)return 1;break;case 104:if(typeof T=="number"&&lc===T)return 1;break;case 105:if(typeof T=="number"&&vk===T)return 1;break;case 106:if(typeof T=="number"&&dT===T)return 1;break;case 107:if(typeof T=="number"&&jT===T)return 1;break;case 108:if(typeof T=="number"&&_m===T)return 1;break;case 109:if(typeof T=="number"&&Ta===T)return 1;break;case 110:if(typeof T=="number"&&SR===T)return 1;break;case 111:if(typeof T=="number"&&fT===T)return 1;break;case 112:if(typeof T=="number"&&Gx===T)return 1;break;case 113:if(typeof T=="number"&&Yc===T)return 1;break;case 114:if(typeof T=="number"&&d0===T)return 1;break;case 115:if(typeof T=="number"&&JO===T)return 1;break;case 116:if(typeof T=="number"&&pm===T)return 1;break;case 117:if(typeof T=="number"&&kb===T)return 1;break;case 118:if(typeof T=="number"&&GO===T)return 1;break;case 119:if(typeof T=="number"&&jg===T)return 1;break;case 120:if(typeof T=="number"&&T9===T)return 1;break;case 121:if(typeof T=="number"&&db===T)return 1;break;case 122:if(typeof T=="number"&&X0===T)return 1;break;case 123:if(typeof T=="number"&&A_===T)return 1;break;case 124:if(typeof T=="number"&&Hx===T)return 1;break;case 125:if(typeof T=="number"&&m_===T)return 1;break;case 126:if(typeof T=="number"&&mS===T)return 1;break;case 127:if(typeof T=="number"&&C0===T)return 1;break;case 128:if(typeof T=="number"&&t0===T)return 1;break;case 129:if(typeof T=="number"&&n6===T)return 1;break;case 130:if(typeof T=="number"&&mb===T)return 1;break;case 131:if(typeof T=="number"&&IS===T)return 1;break;case 132:if(typeof T=="number"&&ES===T)return 1;break;default:if(typeof T=="number"&&xS<=T)return 1}else switch(a){case 67:if(typeof T=="number"&&T===67)return 1;break;case 68:if(typeof T=="number"&&T===68)return 1;break;case 69:if(typeof T=="number"&&T===69)return 1;break;case 70:if(typeof T=="number"&&T===70)return 1;break;case 71:if(typeof T=="number"&&T===71)return 1;break;case 72:if(typeof T=="number"&&T===72)return 1;break;case 73:if(typeof T=="number"&&T===73)return 1;break;case 74:if(typeof T=="number"&&T===74)return 1;break;case 75:if(typeof T=="number"&&T===75)return 1;break;case 76:if(typeof T=="number"&&T===76)return 1;break;case 77:if(typeof T=="number"&&T===77)return 1;break;case 78:if(typeof T=="number"&&T===78)return 1;break;case 79:if(typeof T=="number"&&T===79)return 1;break;case 80:if(typeof T=="number"&&T===80)return 1;break;case 81:if(typeof T=="number"&&T===81)return 1;break;case 82:if(typeof T=="number"&&T===82)return 1;break;case 83:if(typeof T=="number"&&T===83)return 1;break;case 84:if(typeof T=="number"&&T===84)return 1;break;case 85:if(typeof T=="number"&&T===85)return 1;break;case 86:if(typeof T=="number"&&T===86)return 1;break;case 87:if(typeof T=="number"&&T===87)return 1;break;case 88:if(typeof T=="number"&&T===88)return 1;break;case 89:if(typeof T=="number"&&T===89)return 1;break;case 90:if(typeof T=="number"&&T===90)return 1;break;case 91:if(typeof T=="number"&&T===91)return 1;break;case 92:if(typeof T=="number"&&T===92)return 1;break;case 93:if(typeof T=="number"&&T===93)return 1;break;case 94:if(typeof T=="number"&&T===94)return 1;break;case 95:if(typeof T=="number"&&T===95)return 1;break;case 96:if(typeof T=="number"&&T===96)return 1;break;case 97:if(typeof T=="number"&&T===97)return 1;break;case 98:if(typeof T=="number"&&T===98)return 1;break;case 99:if(typeof T=="number"&&T===99)return 1;break;default:if(typeof T=="number"&&dR===T)return 1}else if(34<=a)switch(a){case 34:if(typeof T=="number"&&T===34)return 1;break;case 35:if(typeof T=="number"&&T===35)return 1;break;case 36:if(typeof T=="number"&&T===36)return 1;break;case 37:if(typeof T=="number"&&T===37)return 1;break;case 38:if(typeof T=="number"&&T===38)return 1;break;case 39:if(typeof T=="number"&&T===39)return 1;break;case 40:if(typeof T=="number"&&T===40)return 1;break;case 41:if(typeof T=="number"&&T===41)return 1;break;case 42:if(typeof T=="number"&&T===42)return 1;break;case 43:if(typeof T=="number"&&T===43)return 1;break;case 44:if(typeof T=="number"&&T===44)return 1;break;case 45:if(typeof T=="number"&&T===45)return 1;break;case 46:if(typeof T=="number"&&T===46)return 1;break;case 47:if(typeof T=="number"&&T===47)return 1;break;case 48:if(typeof T=="number"&&T===48)return 1;break;case 49:if(typeof T=="number"&&T===49)return 1;break;case 50:if(typeof T=="number"&&T===50)return 1;break;case 51:if(typeof T=="number"&&T===51)return 1;break;case 52:if(typeof T=="number"&&T===52)return 1;break;case 53:if(typeof T=="number"&&T===53)return 1;break;case 54:if(typeof T=="number"&&T===54)return 1;break;case 55:if(typeof T=="number"&&T===55)return 1;break;case 56:if(typeof T=="number"&&T===56)return 1;break;case 57:if(typeof T=="number"&&T===57)return 1;break;case 58:if(typeof T=="number"&&T===58)return 1;break;case 59:if(typeof T=="number"&&T===59)return 1;break;case 60:if(typeof T=="number"&&T===60)return 1;break;case 61:if(typeof T=="number"&&T===61)return 1;break;case 62:if(typeof T=="number"&&T===62)return 1;break;case 63:if(typeof T=="number"&&T===63)return 1;break;case 64:if(typeof T=="number"&&T===64)return 1;break;case 65:if(typeof T=="number"&&T===65)return 1;break;default:if(typeof T=="number"&&T===66)return 1}else switch(a){case 0:if(typeof T=="number"&&!T)return 1;break;case 1:if(typeof T=="number"&&T===1)return 1;break;case 2:if(typeof T=="number"&&T===2)return 1;break;case 3:if(typeof T=="number"&&T===3)return 1;break;case 4:if(typeof T=="number"&&T===4)return 1;break;case 5:if(typeof T=="number"&&T===5)return 1;break;case 6:if(typeof T=="number"&&T===6)return 1;break;case 7:if(typeof T=="number"&&T===7)return 1;break;case 8:if(typeof T=="number"&&T===8)return 1;break;case 9:if(typeof T=="number"&&T===9)return 1;break;case 10:if(typeof T=="number"&&T===10)return 1;break;case 11:if(typeof T=="number"&&T===11)return 1;break;case 12:if(typeof T=="number"&&T===12)return 1;break;case 13:if(typeof T=="number"&&T===13)return 1;break;case 14:if(typeof T=="number"&&T===14)return 1;break;case 15:if(typeof T=="number"&&T===15)return 1;break;case 16:if(typeof T=="number"&&T===16)return 1;break;case 17:if(typeof T=="number"&&T===17)return 1;break;case 18:if(typeof T=="number"&&T===18)return 1;break;case 19:if(typeof T=="number"&&T===19)return 1;break;case 20:if(typeof T=="number"&&T===20)return 1;break;case 21:if(typeof T=="number"&&T===21)return 1;break;case 22:if(typeof T=="number"&&T===22)return 1;break;case 23:if(typeof T=="number"&&T===23)return 1;break;case 24:if(typeof T=="number"&&T===24)return 1;break;case 25:if(typeof T=="number"&&T===25)return 1;break;case 26:if(typeof T=="number"&&T===26)return 1;break;case 27:if(typeof T=="number"&&T===27)return 1;break;case 28:if(typeof T=="number"&&T===28)return 1;break;case 29:if(typeof T=="number"&&T===29)return 1;break;case 30:if(typeof T=="number"&&T===30)return 1;break;case 31:if(typeof T=="number"&&T===31)return 1;break;case 32:if(typeof T=="number"&&T===32)return 1;break;default:if(typeof T=="number"&&T===33)return 1}}else switch(o[0]){case 0:if(typeof T!="number"&&T[0]===0){var u=T[2],p=o[2],d=K(o2[13],o[1],T[1]);return d&&Qa(p,u)}break;case 1:if(typeof T!="number"&&T[0]===1){var q=T[2],g=o[2],O=K(o2[12],o[1],T[1]);return O&&Qa(g,q)}break;case 2:if(typeof T!="number"&&T[0]===2){var B=T[1],W=o[1],Y=B[4],V=B[3],Z=B[2],se=W[4],ae=W[3],ue=W[2],pe=K(o2[11],W[1],B[1]),xe=pe&&Qa(ue,Z),ye=xe&&Qa(ae,V);return ye&&(se===Y?1:0)}break;case 3:if(typeof T!="number"&&T[0]===3){var ge=T[1],Ne=o[1],Fe=ge[5],ze=ge[4],ut=ge[3],it=ge[2],Tt=Ne[5],Rt=Ne[4],kt=Ne[3],ft=Ne[2],It=K(o2[10],Ne[1],ge[1]),dt=It&&Qa(ft,it),Ot=dt&&Qa(kt,ut),At=Ot&&(Rt===ze?1:0);return At&&(Tt===Fe?1:0)}break;case 4:if(typeof T!="number"&&T[0]===4){var wt=T[3],or=T[2],rr=o[3],Jt=o[2],tr=K(o2[9],o[1],T[1]),mr=tr&&Qa(Jt,or);return mr&&Qa(rr,wt)}break;case 5:if(typeof T!="number"&&T[0]===5){var Xt=T[3],hr=T[2],Ge=o[3],Cr=o[2],rt=K(o2[8],o[1],T[1]),yr=rt&&Qa(Cr,hr);return yr&&Qa(Ge,Xt)}break;case 6:if(typeof T!="number"&&T[0]===6){var sr=T[2],Ir=o[2],Dr=K(o2[7],o[1],T[1]);return Dr&&Qa(Ir,sr)}break;case 7:if(typeof T!="number"&&T[0]===7)return Qa(o[1],T[1]);break;case 8:if(typeof T!="number"&&T[0]===8){var on=Qa(o[1],T[1]),cn=T[2],Lr=o[2];return on&&K(o2[6],Lr,cn)}break;case 9:if(typeof T!="number"&&T[0]===9){var fn=T[3],rn=T[2],vt=o[3],qr=o[2],Pe=K(o2[5],o[1],T[1]),Lt=Pe&&Qa(qr,rn);return Lt&&Qa(vt,fn)}break;case 10:if(typeof T!="number"&&T[0]===10){var Xe=T[3],Mt=T[2],Gt=o[3],Ze=o[2],Xr=K(o2[4],o[1],T[1]),qt=Xr&&Qa(Ze,Mt);return qt&&Qa(Gt,Xe)}break;case 11:if(typeof T!="number"&&T[0]===11)return K(o2[3],o[1],T[1]);break;case 12:if(typeof T!="number"&&T[0]===12){var kn=T[3],Ki=T[2],Qe=o[3],Vt=o[2],We=K(o2[2],o[1],T[1]),Qt=We&&(Vt==Ki?1:0);return Qt&&Qa(Qe,kn)}break;default:if(typeof T!="number"&&T[0]===13){var gn=T[2],qn=o[2],gr=T[3],wn=o[3],br=K(o2[1],o[1],T[1]);if(br){e:{if(qn){if(gn){var jn=E9(qn[1],gn[1]);break e}}else if(!gn){var jn=1;break e}var jn=0}var Rn=jn}else var Rn=br;return Rn&&Qa(wn,gr)}}return 0}function Kue(o,T){switch(o){case 0:if(!T)return 1;break;case 1:if(T===1)return 1;break;case 2:if(T===2)return 1;break;case 3:if(T===3)return 1;break;default:if(4<=T)return 1}return 0}function Gue(o,T){switch(o){case 0:if(!T)return 1;break;case 1:if(T===1)return 1;break;default:if(2<=T)return 1}return 0}ns(o2,[0,Gue,Kue,function(o,T){if(o){if(T)return 1}else if(!T)return 1;return 0},Gb,Gb,Gb,Gb,Gb,Gb,Gb,Gb,Gue,Kue]);function Vue(o){if(typeof o!="number")switch(o[0]){case 0:return sWe;case 1:return oWe;case 2:return RWe;case 3:return uWe;case 4:return lWe;case 5:return cWe;case 6:return TWe;case 7:return pWe;case 8:return _We;case 9:return hWe;case 10:return fWe;case 11:return dWe;case 12:return xWe;default:return mWe}var T=o;if(67<=T){if(Fr<=T)switch(T){case 101:return EMe;case 102:return OMe;case 103:return vMe;case 104:return DMe;case 105:return SMe;case 106:return $Me;case 107:return QMe;case 108:return NMe;case 109:return wMe;case 110:return PMe;case 111:return BMe;case 112:return IMe;case 113:return MMe;case 114:return WMe;case 115:return UMe;case 116:return FMe;case 117:return LMe;case 118:return zMe;case 119:return HMe;case 120:return YMe;case 121:return KMe;case 122:return GMe;case 123:return VMe;case 124:return jMe;case 125:return JMe;case 126:return XMe;case 127:return ZMe;case 128:return eWe;case 129:return tWe;case 130:return rWe;case 131:return nWe;case 132:return iWe;default:return aWe}switch(T){case 67:return KIe;case 68:return GIe;case 69:return VIe;case 70:return jIe;case 71:return JIe;case 72:return XIe;case 73:return ZIe;case 74:return eMe;case 75:return tMe;case 76:return rMe;case 77:return nMe;case 78:return iMe;case 79:return aMe;case 80:return sMe;case 81:return oMe;case 82:return RMe;case 83:return uMe;case 84:return lMe;case 85:return cMe;case 86:return TMe;case 87:return pMe;case 88:return _Me;case 89:return hMe;case 90:return fMe;case 91:return dMe;case 92:return xMe;case 93:return mMe;case 94:return kMe;case 95:return yMe;case 96:return qMe;case 97:return CMe;case 98:return AMe;case 99:return gMe;default:return bMe}}if(34<=T)switch(T){case 34:return _Ie;case 35:return hIe;case 36:return fIe;case 37:return dIe;case 38:return xIe;case 39:return mIe;case 40:return kIe;case 41:return yIe;case 42:return qIe;case 43:return CIe;case 44:return AIe;case 45:return gIe;case 46:return bIe;case 47:return EIe;case 48:return OIe;case 49:return vIe;case 50:return DIe;case 51:return SIe;case 52:return $Ie;case 53:return QIe;case 54:return NIe;case 55:return wIe;case 56:return PIe;case 57:return BIe;case 58:return IIe;case 59:return MIe;case 60:return WIe;case 61:return UIe;case 62:return FIe;case 63:return LIe;case 64:return zIe;case 65:return HIe;default:return YIe}switch(T){case 0:return NBe;case 1:return wBe;case 2:return PBe;case 3:return BBe;case 4:return IBe;case 5:return MBe;case 6:return WBe;case 7:return UBe;case 8:return FBe;case 9:return LBe;case 10:return zBe;case 11:return HBe;case 12:return YBe;case 13:return KBe;case 14:return GBe;case 15:return VBe;case 16:return jBe;case 17:return JBe;case 18:return XBe;case 19:return ZBe;case 20:return eIe;case 21:return tIe;case 22:return rIe;case 23:return nIe;case 24:return iIe;case 25:return aIe;case 26:return sIe;case 27:return oIe;case 28:return RIe;case 29:return uIe;case 30:return lIe;case 31:return cIe;case 32:return TIe;default:return pIe}}function nte(o){if(typeof o!="number")switch(o[0]){case 0:return o[2];case 1:return o[2];case 2:return o[1][3];case 3:var T=o[1],a=T[5],u=T[4],p=T[3];return u&&a?hi(CBe,hi(p,qBe)):u?hi(gBe,hi(p,ABe)):a?hi(EBe,hi(p,bBe)):hi(vBe,hi(p,OBe));case 4:return o[3];case 5:var d=o[2];return hi(SBe,hi(d,hi(DBe,o[3])));case 6:return o[2];case 7:return o[1];case 8:return o[1];case 9:return o[3];case 10:return o[3];case 11:return o[1]?$Be:QBe;case 12:return o[3];default:return o[3]}var q=o;if(67<=q){if(Fr<=q)switch(q){case 101:return LPe;case 102:return zPe;case 103:return HPe;case 104:return YPe;case 105:return KPe;case 106:return GPe;case 107:return VPe;case 108:return jPe;case 109:return JPe;case 110:return XPe;case 111:return ZPe;case 112:return eBe;case 113:return tBe;case 114:return rBe;case 115:return nBe;case 116:return iBe;case 117:return aBe;case 118:return sBe;case 119:return oBe;case 120:return RBe;case 121:return uBe;case 122:return lBe;case 123:return cBe;case 124:return TBe;case 125:return pBe;case 126:return _Be;case 127:return hBe;case 128:return fBe;case 129:return dBe;case 130:return xBe;case 131:return mBe;case 132:return kBe;default:return yBe}switch(q){case 67:return uPe;case 68:return lPe;case 69:return cPe;case 70:return TPe;case 71:return pPe;case 72:return _Pe;case 73:return hPe;case 74:return fPe;case 75:return dPe;case 76:return xPe;case 77:return mPe;case 78:return kPe;case 79:return yPe;case 80:return qPe;case 81:return CPe;case 82:return APe;case 83:return gPe;case 84:return bPe;case 85:return EPe;case 86:return OPe;case 87:return vPe;case 88:return DPe;case 89:return SPe;case 90:return $Pe;case 91:return QPe;case 92:return NPe;case 93:return wPe;case 94:return PPe;case 95:return BPe;case 96:return IPe;case 97:return MPe;case 98:return WPe;case 99:return UPe;default:return FPe}}if(34<=q)switch(q){case 34:return Dwe;case 35:return Swe;case 36:return $we;case 37:return Qwe;case 38:return Nwe;case 39:return wwe;case 40:return Pwe;case 41:return Bwe;case 42:return Iwe;case 43:return Mwe;case 44:return Wwe;case 45:return Uwe;case 46:return Fwe;case 47:return Lwe;case 48:return zwe;case 49:return Hwe;case 50:return Ywe;case 51:return Kwe;case 52:return Gwe;case 53:return Vwe;case 54:return jwe;case 55:return Jwe;case 56:return Xwe;case 57:return Zwe;case 58:return ePe;case 59:return tPe;case 60:return rPe;case 61:return nPe;case 62:return iPe;case 63:return aPe;case 64:return sPe;case 65:return oPe;default:return RPe}switch(q){case 0:return jNe;case 1:return JNe;case 2:return XNe;case 3:return ZNe;case 4:return ewe;case 5:return twe;case 6:return rwe;case 7:return nwe;case 8:return iwe;case 9:return awe;case 10:return swe;case 11:return owe;case 12:return Rwe;case 13:return uwe;case 14:return lwe;case 15:return cwe;case 16:return Twe;case 17:return pwe;case 18:return _we;case 19:return hwe;case 20:return fwe;case 21:return dwe;case 22:return xwe;case 23:return mwe;case 24:return kwe;case 25:return ywe;case 26:return qwe;case 27:return Cwe;case 28:return Awe;case 29:return gwe;case 30:return bwe;case 31:return Ewe;case 32:return Owe;default:return vwe}}function HB(o){return J(fa(VNe),o)}function YB(o,T){var a=o?o[1]:0;e:{if(typeof T=="number"){if(d0===T){var u=QNe,p=NNe;break e}}else switch(T[0]){case 3:var u=wNe,p=PNe;break e;case 5:var u=BNe,p=INe;break e;case 0:case 12:var u=WNe,p=UNe;break e;case 1:case 13:var u=FNe,p=LNe;break e;case 4:case 8:var u=YNe,p=KNe;break e;case 6:case 7:case 11:break;default:var u=zNe,p=HNe;break e}var u=MNe,p=HB(nte(T))}return a?hi(u,hi(GNe,p)):p}function jue(o){return Cs>>0)var u=Se(o);else switch(a){case 0:var u=1;break;case 1:var u=2;break;case 2:var u=0;break;default:if(le(o,2),ym($e(o))===0){var p=nv($e(o));if(p===0)var u=ga($e(o))===0&&ga($e(o))===0&&ga($e(o))===0?0:Se(o);else if(p===1&&ga($e(o))===0){for(;;){var d=ev($e(o));if(d!==0)break}var u=d===1?0:Se(o)}else var u=Se(o)}else var u=Se(o)}if(2>>0)throw Pr([0,Wa,kWe],1);switch(u){case 0:break;case 1:return;default:if(!tte(Yu(o))){LB(o,1);return}}}}function jG(o,T){var a=T-o[3][2]|0;return[0,Yue(o),a]}function ov(o,T,a){var u=jG(o,a),p=jG(o,T);return[0,o[1],p,u]}function b1(o,T){return jG(o,T[6])}function hu(o,T){return jG(o,T[3])}function jo(o,T){return ov(o,T[6],T[3])}function QR(o,T){e:if(typeof T!="number"){switch(T[0]){case 2:var a=T[1][1];break;case 3:return T[1][1];case 4:var a=T[1];break;case 5:return T[1];case 8:var a=T[2];break;case 9:return T[1];case 10:return T[1];default:break e}return a}return jo(o,o[2])}function O_(o,T,a){return[0,o[1],o[2],o[3],o[4],o[5],[0,[0,T,a],o[6]],o[7]]}function v_(o,T,a){return O_(o,T,[26,HB(a)])}function ate(o,T,a,u){return O_(o,T,[27,a,u])}function qm(o,T){return O_(o,T,MYe)}function El(o,T){var a=T[3],u=[0,Yue(o)+1|0,a];return[0,o[1],o[2],u,o[4],o[5],o[6],o[7]]}function Gl(o,T,a,u,p){var d=[0,o[1],T,a],q=m0(u),g=p?0:1;return[0,d,[0,g,q,o[7][3][1]>>0)var O=Se(u);else switch(g){case 0:var O=2;break;case 1:for(;;){le(u,3);var B=$e(u),W=-1>>0)return Ln($Ye);switch(O){case 0:var Z=ale(d,a,u,2,0),se=Z[1],ae=mT(hi(QYe,Z[2])),ue=0<=ae?1:0,pe=ue&&(ae<=55295?1:0);if(pe)var ye=pe;else var xe=57344<=ae?1:0,ye=xe&&(ae<=Fy?1:0);var ge=ye?G8(d,se,ae):O_(d,se,28);T3(p,ae);var d=ge;break;case 1:var Ne=ale(d,a,u,3,1),Fe=Ne[1],ze=mT(hi(NYe,Ne[2])),ut=G8(d,Fe,ze);T3(p,ze);var d=ut;break;case 2:return[0,d,m0(p)];default:ms(u,p)}}}function Kc(o,T,a){var u=qm(o,jo(o,T));return Ke(T),a(u,T)}function Ku(o,T,a){for(var u=o;;){Kt(a);var p=$e(a),d=-1>>0)var q=Se(a);else switch(d){case 0:for(;;){le(a,3);var g=$e(a),O=-1>>0){var Y=qm(u,jo(u,a));return[0,Y,hu(Y,a)]}switch(q){case 0:var V=El(u,a);ms(a,T);var u=V;break;case 1:var Z=u[4]?ate(u,jo(u,a),CWe,qWe):u;return[0,Z,hu(Z,a)];case 2:if(u[4])return[0,u,hu(u,a)];pa(T,AWe);break;default:ms(a,T)}}}function aC(o,T,a){for(;;){Kt(a);var u=$e(a),p=13>>0)var d=Se(a);else switch(p){case 0:var d=0;break;case 1:for(;;){le(a,2);var q=$e(a),g=-1>>0)return Ln(gWe);switch(d){case 0:return[0,o,hu(o,a)];case 1:var O=hu(o,a),B=O[2],W=O[1],Y=El(o,a);return[0,Y,[0,W,B-MB(a)|0]];default:ms(a,T)}}}function QQ(o,T){function a(Fe){return le(Fe,3),b_($e(Fe))===0?2:Se(Fe)}Kt(T);var u=$e(T),p=T9>>0)var d=Se(T);else switch(p){case 0:var d=0;break;case 1:var d=16;break;case 2:var d=15;break;case 3:le(T,15);var d=J2($e(T))===0?15:Se(T);break;case 4:le(T,4);var d=b_($e(T))===0?a(T):Se(T);break;case 5:le(T,11);var d=b_($e(T))===0?a(T):Se(T);break;case 6:var d=0;break;case 7:var d=5;break;case 8:var d=6;break;case 9:var d=7;break;case 10:var d=8;break;case 11:var d=9;break;case 12:le(T,14);var q=nv($e(T));if(q===0)var d=ga($e(T))===0&&ga($e(T))===0&&ga($e(T))===0?12:Se(T);else if(q===1&&ga($e(T))===0){for(;;){var g=ev($e(T));if(g!==0)break}var d=g===1?13:Se(T)}else var d=Se(T);break;case 13:var d=10;break;default:le(T,14);var d=ga($e(T))===0&&ga($e(T))===0?1:Se(T)}if(16>>0)return Ln(xYe);switch(d){case 0:var O=ps(T);return[0,o,O,_u(T),0];case 1:var B=ps(T);return[0,o,B,[0,mT(hi(mYe,B))],0];case 2:var W=ps(T),Y=mT(hi(kYe,W));return SS<=Y?[0,o,W,[0,Y>>>3|0,48+(Y&7)|0],1]:[0,o,W,[0,Y],1];case 3:var V=ps(T);return[0,o,V,[0,mT(hi(yYe,V))],1];case 4:return[0,o,qYe,[0,0],0];case 5:return[0,o,CYe,[0,8],0];case 6:return[0,o,AYe,[0,12],0];case 7:return[0,o,gYe,[0,10],0];case 8:return[0,o,bYe,[0,13],0];case 9:return[0,o,EYe,[0,9],0];case 10:return[0,o,OYe,[0,11],0];case 11:var Z=ps(T);return[0,o,Z,[0,mT(hi(vYe,Z))],1];case 12:var se=ps(T);return[0,o,se,[0,mT(hi(DYe,qR(se,1,ii(se)-1|0)))],0];case 13:var ae=ps(T),ue=mT(hi(SYe,qR(ae,2,ii(ae)-3|0))),pe=Fy>>0)var W=Se(d);else switch(B){case 0:var W=3;break;case 1:for(;;){le(d,4);var Y=$e(d),V=-1>>0)return Ln(bWe);switch(W){case 0:var Z=ps(d);if(pa(u,Z),Qa(T,Z))return[0,q,hu(q,d),g];pa(a,Z);break;case 1:pa(u,EWe);var se=QQ(q,d),ae=se[4],ue=se[3],pe=se[2],xe=se[1],ye=ae||g;pa(u,pe),MRe(function(It){return T3(a,It)},ue);var q=xe,g=ye;break;case 2:var ge=ps(d);pa(u,ge);var Ne=El(qm(q,jo(q,d)),d);return pa(a,ge),[0,Ne,hu(Ne,d),g];case 3:var Fe=ps(d);pa(u,Fe);var ze=qm(q,jo(q,d));return pa(a,Fe),[0,ze,hu(ze,d),g];default:var ut=d[6],it=d[3]-ut|0,Tt=Do(it*4|0),Rt=WB(d[1],ut,it,Tt);uG(u,Tt,0,Rt),uG(a,Tt,0,Rt)}}}function Rle(o,T,a,u){for(var p=o;;){Kt(u);var d=$e(u),q=96>>0)var g=Se(u);else switch(q){case 0:var g=0;break;case 1:for(;;){le(u,6);var O=$e(u),B=-1>>0)return Ln(OWe);switch(g){case 0:return[0,qm(p,jo(p,u)),1];case 1:return[0,p,1];case 2:return[0,p,0];case 3:kT(a,92);var V=QQ(p,u),Z=V[3],se=V[1];pa(a,V[2]),MRe(function(pe){return T3(T,pe)},Z);var p=se;break;case 4:pa(a,vWe),pa(T,DWe);var p=El(p,u);break;case 5:pa(a,ps(u)),kT(T,10);var p=El(p,u);break;default:var ae=ps(u);pa(a,ae),pa(T,ae)}}}function vxe(o,T,a){for(var u=o;;){Kt(a);var p=$e(a),d=92>>0)var q=Se(a);else switch(d){case 0:var q=0;break;case 1:for(;;){le(a,7);var g=$e(a),O=-1>>0)var q=Se(a);else switch(W){case 0:var q=2;break;case 1:var q=1;break;default:le(a,1);var q=J2($e(a))===0?1:Se(a)}}if(7>>0)return Ln(QWe);switch(q){case 0:return[0,O_(u,jo(u,a),SR),NWe];case 1:return[0,El(O_(u,jo(u,a),SR),a),wWe];case 2:pa(T,ps(a));break;case 3:var Y=ps(a);return[0,u,qR(Y,1,ii(Y)-1|0)];case 4:return[0,u,PWe];case 5:kT(T,91);e:{t:{r:{n:{i:for(;;){Kt(a);var V=$e(a),Z=93>>0)var se=Se(a);else switch(Z){case 0:var se=0;break;case 1:for(;;){le(a,5);var ae=$e(a),ue=-1>>0)break t;switch(se){case 0:break r;case 1:pa(T,$We);break;case 2:kT(T,92),kT(T,93);break;case 3:break n;case 4:break i;default:pa(T,ps(a))}}var ye=El(O_(u,jo(u,a),SR),a);break e}kT(T,93);var ye=u;break e}var ye=u;break e}var ye=Ln(SWe)}var u=ye;break;case 6:return[0,El(O_(u,jo(u,a),SR),a),BWe];default:pa(T,ps(a))}}}function Dxe(o){var T=dn(o,"iexcl");if(0<=T){if(0>=T)return ZHe;var a=dn(o,"prime");if(0<=a){if(0>=a)return XHe;var u=dn(o,"sup1");if(0<=u){if(0>=u)return JHe;var p=dn(o,"uarr");if(0<=p){if(0>=p)return jHe;var d=dn(o,"xi");if(0<=d){if(0>=d)return VHe;if(!Re(o,"yacute"))return GHe;if(!Re(o,"yen"))return KHe;if(!Re(o,"yuml"))return YHe;if(!Re(o,"zeta"))return HHe;if(!Re(o,"zwj"))return zHe;if(!Re(o,"zwnj"))return LHe}else{if(!Re(o,"ucirc"))return FHe;if(!Re(o,"ugrave"))return UHe;if(!Re(o,"uml"))return WHe;if(!Re(o,"upsih"))return MHe;if(!Re(o,"upsilon"))return IHe;if(!Re(o,"uuml"))return BHe;if(!Re(o,"weierp"))return PHe}}else{var q=dn(o,"thetasym");if(0<=q){if(0>=q)return wHe;if(!Re(o,"thinsp"))return NHe;if(!Re(o,"thorn"))return QHe;if(!Re(o,"tilde"))return $He;if(!Re(o,"times"))return SHe;if(!Re(o,"trade"))return DHe;if(!Re(o,"uArr"))return vHe;if(!Re(o,"uacute"))return OHe}else{if(!Re(o,"sup2"))return EHe;if(!Re(o,"sup3"))return bHe;if(!Re(o,"supe"))return gHe;if(!Re(o,"szlig"))return AHe;if(!Re(o,"tau"))return CHe;if(!Re(o,"there4"))return qHe;if(!Re(o,"theta"))return yHe}}}else{var g=dn(o,"rlm");if(0<=g){if(0>=g)return kHe;var O=dn(o,"sigma");if(0<=O){if(0>=O)return mHe;if(!Re(o,"sigmaf"))return xHe;if(!Re(o,"sim"))return dHe;if(!Re(o,"spades"))return fHe;if(!Re(o,"sub"))return hHe;if(!Re(o,"sube"))return _He;if(!Re(o,"sum"))return pHe;if(!Re(o,"sup"))return THe}else{if(!Re(o,"rsaquo"))return cHe;if(!Re(o,"rsquo"))return lHe;if(!Re(o,"sbquo"))return uHe;if(!Re(o,"scaron"))return RHe;if(!Re(o,"sdot"))return oHe;if(!Re(o,"sect"))return sHe;if(!Re(o,"shy"))return aHe}}else{var B=dn(o,"raquo");if(0<=B){if(0>=B)return iHe;if(!Re(o,"rarr"))return nHe;if(!Re(o,"rceil"))return rHe;if(!Re(o,"rdquo"))return tHe;if(!Re(o,"real"))return eHe;if(!Re(o,"reg"))return Zze;if(!Re(o,"rfloor"))return Xze;if(!Re(o,"rho"))return Jze}else{if(!Re(o,"prod"))return jze;if(!Re(o,"prop"))return Vze;if(!Re(o,"psi"))return Gze;if(!Re(o,"quot"))return Kze;if(!Re(o,"rArr"))return Yze;if(!Re(o,"radic"))return Hze;if(!Re(o,"rang"))return zze}}}}else{var W=dn(o,"ndash");if(0<=W){if(0>=W)return Lze;var Y=dn(o,"or");if(0<=Y){if(0>=Y)return Fze;var V=dn(o,"part");if(0<=V){if(0>=V)return Uze;if(!Re(o,"permil"))return Wze;if(!Re(o,"perp"))return Mze;if(!Re(o,"phi"))return Ize;if(!Re(o,"pi"))return Bze;if(!Re(o,"piv"))return Pze;if(!Re(o,"plusmn"))return wze;if(!Re(o,"pound"))return Nze}else{if(!Re(o,"ordf"))return Qze;if(!Re(o,"ordm"))return $ze;if(!Re(o,"oslash"))return Sze;if(!Re(o,"otilde"))return Dze;if(!Re(o,"otimes"))return vze;if(!Re(o,"ouml"))return Oze;if(!Re(o,"para"))return Eze}}else{var Z=dn(o,"oacute");if(0<=Z){if(0>=Z)return bze;if(!Re(o,"ocirc"))return gze;if(!Re(o,"oelig"))return Aze;if(!Re(o,"ograve"))return Cze;if(!Re(o,"oline"))return qze;if(!Re(o,"omega"))return yze;if(!Re(o,"omicron"))return kze;if(!Re(o,"oplus"))return mze}else{if(!Re(o,"ne"))return xze;if(!Re(o,"ni"))return dze;if(!Re(o,"not"))return fze;if(!Re(o,"notin"))return hze;if(!Re(o,"nsub"))return _ze;if(!Re(o,"ntilde"))return pze;if(!Re(o,"nu"))return Tze}}}else{var se=dn(o,"le");if(0<=se){if(0>=se)return cze;var ae=dn(o,"macr");if(0<=ae){if(0>=ae)return lze;if(!Re(o,"mdash"))return uze;if(!Re(o,"micro"))return Rze;if(!Re(o,"middot"))return oze;if(!Re(o,i9))return sze;if(!Re(o,"mu"))return aze;if(!Re(o,"nabla"))return ize;if(!Re(o,"nbsp"))return nze}else{if(!Re(o,"lfloor"))return rze;if(!Re(o,"lowast"))return tze;if(!Re(o,"loz"))return eze;if(!Re(o,"lrm"))return ZLe;if(!Re(o,"lsaquo"))return XLe;if(!Re(o,"lsquo"))return JLe;if(!Re(o,"lt"))return jLe}}else{var ue=dn(o,"kappa");if(0<=ue){if(0>=ue)return VLe;if(!Re(o,"lArr"))return GLe;if(!Re(o,"lambda"))return KLe;if(!Re(o,"lang"))return YLe;if(!Re(o,"laquo"))return HLe;if(!Re(o,"larr"))return zLe;if(!Re(o,"lceil"))return LLe;if(!Re(o,"ldquo"))return FLe}else{if(!Re(o,"igrave"))return ULe;if(!Re(o,"image"))return WLe;if(!Re(o,"infin"))return MLe;if(!Re(o,"iota"))return ILe;if(!Re(o,"iquest"))return BLe;if(!Re(o,"isin"))return PLe;if(!Re(o,"iuml"))return wLe}}}}}else{var pe=dn(o,"aelig");if(0<=pe){if(0>=pe)return NLe;var xe=dn(o,"delta");if(0<=xe){if(0>=xe)return QLe;var ye=dn(o,"fnof");if(0<=ye){if(0>=ye)return $Le;var ge=dn(o,"gt");if(0<=ge){if(0>=ge)return SLe;if(!Re(o,"hArr"))return DLe;if(!Re(o,"harr"))return vLe;if(!Re(o,"hearts"))return OLe;if(!Re(o,"hellip"))return ELe;if(!Re(o,"iacute"))return bLe;if(!Re(o,"icirc"))return gLe}else{if(!Re(o,"forall"))return ALe;if(!Re(o,"frac12"))return CLe;if(!Re(o,"frac14"))return qLe;if(!Re(o,"frac34"))return yLe;if(!Re(o,"frasl"))return kLe;if(!Re(o,"gamma"))return mLe;if(!Re(o,"ge"))return xLe}}else{var Ne=dn(o,"ensp");if(0<=Ne){if(0>=Ne)return dLe;if(!Re(o,"epsilon"))return fLe;if(!Re(o,"equiv"))return hLe;if(!Re(o,"eta"))return _Le;if(!Re(o,"eth"))return pLe;if(!Re(o,"euml"))return TLe;if(!Re(o,"euro"))return cLe;if(!Re(o,"exist"))return lLe}else{if(!Re(o,"diams"))return uLe;if(!Re(o,"divide"))return RLe;if(!Re(o,"eacute"))return oLe;if(!Re(o,"ecirc"))return sLe;if(!Re(o,"egrave"))return aLe;if(!Re(o,q_))return iLe;if(!Re(o,"emsp"))return nLe}}}else{var Fe=dn(o,"cap");if(0<=Fe){if(0>=Fe)return rLe;var ze=dn(o,"copy");if(0<=ze){if(0>=ze)return tLe;if(!Re(o,"crarr"))return eLe;if(!Re(o,"cup"))return ZFe;if(!Re(o,"curren"))return XFe;if(!Re(o,"dArr"))return JFe;if(!Re(o,"dagger"))return jFe;if(!Re(o,"darr"))return VFe;if(!Re(o,"deg"))return GFe}else{if(!Re(o,"ccedil"))return KFe;if(!Re(o,"cedil"))return YFe;if(!Re(o,"cent"))return HFe;if(!Re(o,"chi"))return zFe;if(!Re(o,"circ"))return LFe;if(!Re(o,"clubs"))return FFe;if(!Re(o,"cong"))return UFe}}else{var ut=dn(o,"aring");if(0<=ut){if(0>=ut)return WFe;if(!Re(o,"asymp"))return MFe;if(!Re(o,"atilde"))return IFe;if(!Re(o,"auml"))return BFe;if(!Re(o,"bdquo"))return PFe;if(!Re(o,"beta"))return wFe;if(!Re(o,"brvbar"))return NFe;if(!Re(o,"bull"))return QFe}else{if(!Re(o,"agrave"))return $Fe;if(!Re(o,"alefsym"))return SFe;if(!Re(o,"alpha"))return DFe;if(!Re(o,"amp"))return vFe;if(!Re(o,"and"))return OFe;if(!Re(o,"ang"))return EFe;if(!Re(o,"apos"))return bFe}}}}else{var it=dn(o,"Nu");if(0<=it){if(0>=it)return gFe;var Tt=dn(o,"Sigma");if(0<=Tt){if(0>=Tt)return AFe;var Rt=dn(o,"Uuml");if(0<=Rt){if(0>=Rt)return CFe;if(!Re(o,"Xi"))return qFe;if(!Re(o,"Yacute"))return yFe;if(!Re(o,"Yuml"))return kFe;if(!Re(o,"Zeta"))return mFe;if(!Re(o,"aacute"))return xFe;if(!Re(o,"acirc"))return dFe;if(!Re(o,"acute"))return fFe}else{if(!Re(o,"THORN"))return hFe;if(!Re(o,"Tau"))return _Fe;if(!Re(o,"Theta"))return pFe;if(!Re(o,"Uacute"))return TFe;if(!Re(o,"Ucirc"))return cFe;if(!Re(o,"Ugrave"))return lFe;if(!Re(o,"Upsilon"))return uFe}}else{var kt=dn(o,"Otilde");if(0<=kt){if(0>=kt)return RFe;if(!Re(o,"Ouml"))return oFe;if(!Re(o,"Phi"))return sFe;if(!Re(o,"Pi"))return aFe;if(!Re(o,"Prime"))return iFe;if(!Re(o,"Psi"))return nFe;if(!Re(o,"Rho"))return rFe;if(!Re(o,"Scaron"))return tFe}else{if(!Re(o,"OElig"))return eFe;if(!Re(o,"Oacute"))return ZUe;if(!Re(o,"Ocirc"))return XUe;if(!Re(o,"Ograve"))return JUe;if(!Re(o,"Omega"))return jUe;if(!Re(o,"Omicron"))return VUe;if(!Re(o,"Oslash"))return GUe}}}else{var ft=dn(o,"Eacute");if(0<=ft){if(0>=ft)return KUe;var It=dn(o,"Icirc");if(0<=It){if(0>=It)return YUe;if(!Re(o,"Igrave"))return HUe;if(!Re(o,"Iota"))return zUe;if(!Re(o,"Iuml"))return LUe;if(!Re(o,"Kappa"))return FUe;if(!Re(o,"Lambda"))return UUe;if(!Re(o,"Mu"))return WUe;if(!Re(o,"Ntilde"))return MUe}else{if(!Re(o,"Ecirc"))return IUe;if(!Re(o,"Egrave"))return BUe;if(!Re(o,"Epsilon"))return PUe;if(!Re(o,"Eta"))return wUe;if(!Re(o,"Euml"))return NUe;if(!Re(o,"Gamma"))return QUe;if(!Re(o,"Iacute"))return $Ue}}else{var dt=dn(o,"Atilde");if(0<=dt){if(0>=dt)return SUe;if(!Re(o,"Auml"))return DUe;if(!Re(o,"Beta"))return vUe;if(!Re(o,"Ccedil"))return OUe;if(!Re(o,"Chi"))return EUe;if(!Re(o,"Dagger"))return bUe;if(!Re(o,"Delta"))return gUe;if(!Re(o,"ETH"))return AUe}else{if(!Re(o,"'int'"))return CUe;if(!Re(o,"AElig"))return qUe;if(!Re(o,"Aacute"))return yUe;if(!Re(o,"Acirc"))return kUe;if(!Re(o,"Agrave"))return mUe;if(!Re(o,"Alpha"))return xUe;if(!Re(o,"Aring"))return dUe}}}}}return 0}function ule(o,T,a,u){for(var p=o;;){var d=function(kt){for(;;)if(le(kt,8),h3($e(kt))!==0)return Se(kt)};Kt(u);var q=$e(u),g=m_>>0)var O=Se(u);else switch(g){case 0:var O=3;break;case 1:var O=d(u);break;case 2:var O=4;break;case 3:le(u,4);var O=J2($e(u))===0?4:Se(u);break;case 4:le(u,8);var B=Vo($e(u));if(B===0){var W=U9($e(u));if(W===0){for(;;){var Y=F8($e(u));if(Y!==0)break}var O=Y===1?6:Se(u)}else if(W===1&&ga($e(u))===0){for(;;){var V=VG($e(u));if(V!==0)break}var O=V===1?5:Se(u)}else var O=Se(u)}else if(B===1&&e0($e(u))===0){var Z=L8($e(u));if(Z===0){var se=L8($e(u));if(se===0){var ae=L8($e(u));if(ae===0){var ue=L8($e(u));if(ue===0){var pe=L8($e(u));if(pe===0)var xe=L8($e(u)),O=xe===0?sv($e(u))===0?7:Se(u):xe===1?7:Se(u);else var O=pe===1?7:Se(u)}else var O=ue===1?7:Se(u)}else var O=ae===1?7:Se(u)}else var O=se===1?7:Se(u)}else var O=Z===1?7:Se(u)}else var O=Se(u);break;case 5:var O=0;break;case 6:le(u,1);var O=h3($e(u))===0?d(u):Se(u);break;default:le(u,2);var O=h3($e(u))===0?d(u):Se(u)}if(8>>0)return Ln(IWe);switch(O){case 0:return Ke(u),p;case 1:return ate(p,jo(p,u),WWe,MWe);case 2:return ate(p,jo(p,u),FWe,UWe);case 3:return qm(p,jo(p,u));case 4:var ye=ps(u);pa(a,ye),pa(T,ye);var p=El(p,u);break;case 5:var ge=ps(u),Ne=qR(ge,3,ii(ge)-4|0);pa(a,ge),T3(T,mT(hi(LWe,Ne)));break;case 6:var Fe=ps(u),ze=qR(Fe,2,ii(Fe)-3|0);pa(a,Fe),T3(T,mT(ze));break;case 7:var ut=ps(u),it=qR(ut,1,ii(ut)-2|0);pa(a,ut);var Tt=Dxe(it);Tt?T3(T,Tt[1]):pa(T,hi(HWe,hi(it,zWe)));break;default:var Rt=ps(u);pa(a,Rt),pa(T,Rt)}}}function XB(o){return function(T){var a=0,u=T;e:for(;;){var p=o(u,u[2]);switch(p[0]){case 0:break e;case 1:var d=p[2],q=p[1],a=[0,d,a],u=[0,q[1],q[2],q[3],q[4],q[5],q[6],d[1]];break;default:var u=p[1]}}var g=p[2],O=p[1],B=QR(O,g),W=a===0?0:xn(a),Y=O[6];if(Y===0)return[0,[0,O[1],O[2],O[3],O[4],O[5],O[6],B],[0,g,B,0,W]];var V=[0,g,B,xn(Y),W];return[0,[0,O[1],O[2],O[3],O[4],O[5],rte,B],V]}}var JG=XB(function(o,T){Kt(T);var a=$e(T),u=Cs>>0)var p=Se(T);else switch(u){case 0:var p=0;break;case 1:var p=6;break;case 2:if(le(T,2),nC($e(T))===0){for(;le(T,2),nC($e(T))===0;);var p=Se(T)}else var p=Se(T);break;case 3:var p=1;break;case 4:le(T,1);var p=J2($e(T))===0?1:Se(T);break;default:le(T,5);var d=YG($e(T)),p=d===0?4:d===1?3:Se(T)}if(6

>>0)return Ln(eYe);switch(p){case 0:return[0,o,d0];case 1:return[2,El(o,T)];case 2:return[2,o];case 3:var q=b1(o,T),g=vs(C0),O=aC(o,g,T),B=O[1];return[1,B,Gl(B,q,O[2],g,0)];case 4:var W=b1(o,T),Y=vs(C0),V=Ku(o,Y,T),Z=V[1];return[1,Z,Gl(Z,W,V[2],Y,1)];case 5:var se=b1(o,T),ae=vs(C0),ue=vxe(o,ae,T),pe=ue[1],xe=ue[2],ye=hu(pe,T),ge=[0,pe[1],se,ye];return[0,pe,[5,ge,m0(ae),xe]];default:var Ne=qm(o,jo(o,T));return[0,Ne,[7,ps(T)]]}}),$Tt=XB(function(o,T){Kt(T);var a=Exe($e(T));if(14>>0)var u=Se(T);else switch(a){case 0:var u=0;break;case 1:var u=14;break;case 2:if(le(T,2),nC($e(T))===0){for(;le(T,2),nC($e(T))===0;);var u=Se(T)}else var u=Se(T);break;case 3:var u=1;break;case 4:le(T,1);var u=J2($e(T))===0?1:Se(T);break;case 5:var u=12;break;case 6:var u=13;break;case 7:var u=10;break;case 8:le(T,6);var p=YG($e(T)),u=p===0?4:p===1?3:Se(T);break;case 9:var u=9;break;case 10:var u=5;break;case 11:var u=11;break;case 12:var u=7;break;case 13:if(le(T,14),ym($e(T))===0){var d=nv($e(T));if(d===0)var u=ga($e(T))===0&&ga($e(T))===0&&ga($e(T))===0?13:Se(T);else if(d===1&&ga($e(T))===0){for(;;){var q=ev($e(T));if(q!==0)break}var u=q===1?13:Se(T)}else var u=Se(T)}else var u=Se(T);break;default:var u=8}if(14>>0)return Ln(fUe);switch(u){case 0:return[0,o,d0];case 1:return[2,El(o,T)];case 2:return[2,o];case 3:var g=b1(o,T),O=vs(C0),B=aC(o,O,T),W=B[1];return[1,W,Gl(W,g,B[2],O,0)];case 4:var Y=b1(o,T),V=vs(C0),Z=Ku(o,V,T),se=Z[1];return[1,se,Gl(se,Y,Z[2],V,1)];case 5:return[0,o,99];case 6:return[0,o,dT];case 7:return[0,o,dR];case 8:return[0,o,0];case 9:return[0,o,87];case 10:return[0,o,10];case 11:return[0,o,83];case 12:var ae=ps(T),ue=b1(o,T),pe=vs(C0),xe=vs(C0);pa(xe,ae);for(var ye=Qa(ae,"'"),ge=o;;){Kt(T);var Ne=$e(T),Fe=39>>0)var ze=Se(T);else switch(Fe){case 0:var ze=2;break;case 1:for(;;){le(T,7);var ut=$e(T),it=-1>>0)var rr=Ln(YWe);else switch(ze){case 0:if(!ye){kT(xe,39),kT(pe,39);continue}var rr=ge;break;case 1:if(ye){kT(xe,34),kT(pe,34);continue}var rr=ge;break;case 2:var rr=qm(ge,jo(ge,T));break;case 3:var Jt=ps(T);pa(xe,Jt),pa(pe,Jt);var ge=El(ge,T);continue;case 4:var tr=ps(T),mr=qR(tr,3,ii(tr)-4|0);pa(xe,tr),T3(pe,mT(hi(KWe,mr)));continue;case 5:var Xt=ps(T),hr=qR(Xt,2,ii(Xt)-3|0);pa(xe,Xt),T3(pe,mT(hr));continue;case 6:var Ge=ps(T),Cr=qR(Ge,1,ii(Ge)-2|0);pa(xe,Ge);var rt=Dxe(Cr);rt?T3(pe,rt[1]):pa(pe,hi(VWe,hi(Cr,GWe)));continue;default:var yr=ps(T);pa(xe,yr),pa(pe,yr);continue}var sr=hu(rr,T);pa(xe,ae);var Ir=m0(pe),Dr=m0(xe);return[0,rr,[10,[0,rr[1],ue,sr],Ir,Dr]]}case 13:for(var on=T[6];;){Kt(T);var cn=$e(T),Lr=X0>>0)var fn=Se(T);else switch(Lr){case 0:var fn=1;break;case 1:var fn=2;break;case 2:var fn=0;break;default:if(le(T,2),ym($e(T))===0){var rn=nv($e(T));if(rn===0)var fn=ga($e(T))===0&&ga($e(T))===0&&ga($e(T))===0?0:Se(T);else if(rn===1&&ga($e(T))===0){for(;;){var vt=ev($e(T));if(vt!==0)break}var fn=vt===1?0:Se(T)}else var fn=Se(T)}else var fn=Se(T)}if(2>>0)throw Pr([0,Wa,yWe],1);switch(fn){case 0:continue;case 1:break;default:if(tte(Yu(T)))continue;LB(T,1)}var qr=T[3];XO(T,on);var Pe=_u(T),Lt=ov(o,on,qr);return[0,o,[8,ZO(Pe),Lt]]}default:return[0,o,[7,ps(T)]]}}),QTt=XB(function(o,T){Kt(T);var a=$e(T),u=-1>>0)var p=Se(T);else switch(u){case 0:var p=5;break;case 1:if(le(T,1),nC($e(T))===0){for(;le(T,1),nC($e(T))===0;);var p=Se(T)}else var p=Se(T);break;case 2:var p=0;break;case 3:le(T,0);var p=J2($e(T))===0?0:Se(T);break;case 4:le(T,5);var d=YG($e(T)),p=d===0?3:d===1?2:Se(T);break;default:var p=4}if(5

>>0)return Ln(TUe);switch(p){case 0:return[2,El(o,T)];case 1:return[2,o];case 2:var q=b1(o,T),g=vs(C0),O=aC(o,g,T),B=O[1];return[1,B,Gl(B,q,O[2],g,0)];case 3:var W=b1(o,T),Y=vs(C0),V=Ku(o,Y,T),Z=V[1];return[1,Z,Gl(Z,W,V[2],Y,1)];case 4:var se=b1(o,T),ae=vs(C0),ue=vs(C0),pe=Rle(o,ae,ue,T),xe=pe[1],ye=pe[2],ge=hu(xe,T),Ne=[0,xe[1],se,ge],Fe=m0(ue);return[0,xe,[3,[0,Ne,m0(ae),Fe,0,ye]]];default:var ze=qm(o,jo(o,T));return[0,ze,[3,[0,jo(ze,T),_Ue,pUe,0,1]]]}}),NTt=XB(function(o,T){function a(Qe){for(;;)if(le(Qe,29),e0($e(Qe))!==0)return Se(Qe)}function u(Qe){le(Qe,29);var Vt=rle($e(Qe));if(3>>0)return Se(Qe);switch(Vt){case 0:return a(Qe);case 1:var We=L9($e(Qe));if(We===0)for(;;){le(Qe,24);var Qt=iC($e(Qe));if(2>>0)return Se(Qe);switch(Qt){case 0:return p(Qe);case 1:break;default:return d(Qe)}}else{if(We!==1)return Se(Qe);for(;;){le(Qe,24);var gn=Y9($e(Qe));if(3>>0)return Se(Qe);switch(gn){case 0:return p(Qe);case 1:break;case 2:return q(Qe);default:return d(Qe)}}}break;case 2:for(;;){le(Qe,24);var qn=iC($e(Qe));if(2>>0)return Se(Qe);switch(qn){case 0:return g(Qe);case 1:break;default:return O(Qe)}}break;default:for(;;){le(Qe,24);var gr=Y9($e(Qe));if(3>>0)return Se(Qe);switch(gr){case 0:return g(Qe);case 1:break;case 2:return q(Qe);default:return O(Qe)}}}}function p(Qe){for(;;)if(le(Qe,23),e0($e(Qe))!==0)return Se(Qe)}function d(Qe){le(Qe,22);var Vt=kc($e(Qe));if(Vt!==0)return Vt===1?p(Qe):Se(Qe);for(;;)if(le(Qe,21),e0($e(Qe))!==0)return Se(Qe)}function q(Qe){for(;;){if(a0($e(Qe))!==0)return Se(Qe);e:for(;;){le(Qe,24);var Vt=Y9($e(Qe));if(3>>0)return Se(Qe);switch(Vt){case 0:return p(Qe);case 1:break;case 2:break e;default:return d(Qe)}}}}function g(Qe){for(;;)if(le(Qe,23),e0($e(Qe))!==0)return Se(Qe)}function O(Qe){le(Qe,22);var Vt=kc($e(Qe));if(Vt!==0)return Vt===1?g(Qe):Se(Qe);for(;;)if(le(Qe,21),e0($e(Qe))!==0)return Se(Qe)}function B(Qe){le(Qe,27);var Vt=kc($e(Qe));if(Vt!==0)return Vt===1?a(Qe):Se(Qe);for(;;)if(le(Qe,25),e0($e(Qe))!==0)return Se(Qe)}function W(Qe){return le(Qe,3),ile($e(Qe))===0?3:Se(Qe)}function Y(Qe){return HG($e(Qe))===0&&vQ($e(Qe))===0&&nle($e(Qe))===0&&Zue($e(Qe))===0&&ele($e(Qe))===0&&E_($e(Qe))===0&&tv($e(Qe))===0&&HG($e(Qe))===0&&ym($e(Qe))===0&&jB($e(Qe))===0&&av($e(Qe))===0?3:Se(Qe)}function V(Qe){le(Qe,30);var Vt=Xue($e(Qe));if(3>>0)return Se(Qe);switch(Vt){case 0:return a(Qe);case 1:e:for(;;){le(Qe,30);var We=H9($e(Qe));if(4>>0)return Se(Qe);switch(We){case 0:return a(Qe);case 1:break;case 2:return u(Qe);case 3:break e;default:return B(Qe)}}for(;;){if(a0($e(Qe))!==0)return Se(Qe);e:for(;;){le(Qe,30);var Qt=H9($e(Qe));if(4>>0)return Se(Qe);switch(Qt){case 0:return a(Qe);case 1:break;case 2:return u(Qe);case 3:break e;default:return B(Qe)}}}break;case 2:return u(Qe);default:return B(Qe)}}function Z(Qe){for(;;)if(le(Qe,15),e0($e(Qe))!==0)return Se(Qe)}function se(Qe){le(Qe,30);var Vt=iC($e(Qe));if(2>>0)return Se(Qe);switch(Vt){case 0:return a(Qe);case 1:e:for(;;){le(Qe,30);var We=Y9($e(Qe));if(3>>0)return Se(Qe);switch(We){case 0:return a(Qe);case 1:break;case 2:break e;default:return B(Qe)}}for(;;){if(a0($e(Qe))!==0)return Se(Qe);e:for(;;){le(Qe,30);var Qt=Y9($e(Qe));if(3>>0)return Se(Qe);switch(Qt){case 0:return a(Qe);case 1:break;case 2:break e;default:return B(Qe)}}}break;default:return B(Qe)}}function ae(Qe){le(Qe,15);var Vt=kc($e(Qe));if(Vt!==0)return Vt===1?Z(Qe):Se(Qe);for(;;)if(le(Qe,15),e0($e(Qe))!==0)return Se(Qe)}function ue(Qe){le(Qe,28);var Vt=kc($e(Qe));if(Vt!==0)return Vt===1?a(Qe):Se(Qe);for(;;)if(le(Qe,26),e0($e(Qe))!==0)return Se(Qe)}function pe(Qe){for(;;)if(le(Qe,9),e0($e(Qe))!==0)return Se(Qe)}function xe(Qe){for(;;)if(le(Qe,9),e0($e(Qe))!==0)return Se(Qe)}function ye(Qe){for(;;)if(le(Qe,13),e0($e(Qe))!==0)return Se(Qe)}function ge(Qe){for(;;)if(le(Qe,13),e0($e(Qe))!==0)return Se(Qe)}function Ne(Qe){for(;;)if(le(Qe,19),e0($e(Qe))!==0)return Se(Qe)}function Fe(Qe){for(;;)if(le(Qe,19),e0($e(Qe))!==0)return Se(Qe)}function ze(Qe){for(;;){if(a0($e(Qe))!==0)return Se(Qe);e:for(;;){le(Qe,30);var Vt=Xb($e(Qe));if(4>>0)return Se(Qe);switch(Vt){case 0:return a(Qe);case 1:return se(Qe);case 2:break;case 3:break e;default:return ue(Qe)}}}}Kt(T);var ut=function(Qe){var Vt=bxe($e(Qe));if(31>>0)return Se(Qe);switch(Vt){case 0:return 66;case 1:return 67;case 2:if(le(Qe,1),nC($e(Qe))!==0)return Se(Qe);for(;;)if(le(Qe,1),nC($e(Qe))!==0)return Se(Qe);break;case 3:return 0;case 4:return le(Qe,0),J2($e(Qe))===0?0:Se(Qe);case 5:return 6;case 6:return 65;case 7:if(le(Qe,67),tv($e(Qe))!==0)return Se(Qe);var We=$e(Qe),Qt=Kl>>0)return Se(Qe);switch(jn){case 0:return a(Qe);case 1:break;case 2:return u(Qe);case 3:break e;default:return B(Qe)}}for(;;){if(a0($e(Qe))!==0)return Se(Qe);e:for(;;){le(Qe,30);var Rn=H9($e(Qe));if(4>>0)return Se(Qe);switch(Rn){case 0:return a(Qe);case 1:break;case 2:return u(Qe);case 3:break e;default:return B(Qe)}}}break;case 16:le(Qe,67);var ai=YG($e(Qe));if(ai!==0)return ai===1?5:Se(Qe);le(Qe,2);var mn=OQ($e(Qe));if(2>>0)return Se(Qe);switch(mn){case 0:for(;;){var Jn=OQ($e(Qe));if(2>>0)return Se(Qe);switch(Jn){case 0:break;case 1:return W(Qe);default:return Y(Qe)}}break;case 1:return W(Qe);default:return Y(Qe)}break;case 17:le(Qe,30);var Oi=iv($e(Qe));if(8>>0)return Se(Qe);switch(Oi){case 0:return a(Qe);case 1:return V(Qe);case 2:e:for(;;){le(Qe,16);var Cn=KG($e(Qe));if(4>>0)return Se(Qe);switch(Cn){case 0:return Z(Qe);case 1:return se(Qe);case 2:break;case 3:break e;default:return ae(Qe)}}for(;;){le(Qe,15);var Fi=EQ($e(Qe));if(3>>0)return Se(Qe);switch(Fi){case 0:return Z(Qe);case 1:return se(Qe);case 2:break;default:return ae(Qe)}}break;case 3:for(;;){le(Qe,30);var Ri=EQ($e(Qe));if(3>>0)return Se(Qe);switch(Ri){case 0:return a(Qe);case 1:return se(Qe);case 2:break;default:return ue(Qe)}}break;case 4:le(Qe,29);var Da=SQ($e(Qe));if(Da===0)return a(Qe);if(Da!==1)return Se(Qe);e:{t:for(;;){le(Qe,10);var Ha=$Q($e(Qe));if(3>>0)return Se(Qe);switch(Ha){case 0:return pe(Qe);case 1:break;case 2:break e;default:break t}}le(Qe,8);var Fs=kc($e(Qe));if(Fs!==0)return Fs===1?pe(Qe):Se(Qe);for(;;)if(le(Qe,7),e0($e(Qe))!==0)return Se(Qe)}e:for(;;){if(z8($e(Qe))!==0)return Se(Qe);t:for(;;){le(Qe,10);var Ks=$Q($e(Qe));if(3>>0)return Se(Qe);switch(Ks){case 0:return xe(Qe);case 1:break;case 2:break t;default:break e}}}le(Qe,8);var Yo=kc($e(Qe));if(Yo!==0)return Yo===1?xe(Qe):Se(Qe);for(;;)if(le(Qe,7),e0($e(Qe))!==0)return Se(Qe);break;case 5:return u(Qe);case 6:le(Qe,29);var ra=X2($e(Qe));if(ra===0)return a(Qe);if(ra!==1)return Se(Qe);e:{t:for(;;){le(Qe,14);var we=K8($e(Qe));if(3>>0)return Se(Qe);switch(we){case 0:return ye(Qe);case 1:break;case 2:break e;default:break t}}le(Qe,12);var Ft=kc($e(Qe));if(Ft!==0)return Ft===1?ye(Qe):Se(Qe);for(;;)if(le(Qe,11),e0($e(Qe))!==0)return Se(Qe)}e:for(;;){if(b_($e(Qe))!==0)return Se(Qe);t:for(;;){le(Qe,14);var Oe=K8($e(Qe));if(3>>0)return Se(Qe);switch(Oe){case 0:return ge(Qe);case 1:break;case 2:break t;default:break e}}}le(Qe,12);var yt=kc($e(Qe));if(yt!==0)return yt===1?ge(Qe):Se(Qe);for(;;)if(le(Qe,11),e0($e(Qe))!==0)return Se(Qe);break;case 7:le(Qe,29);var yn=ite($e(Qe));if(yn===0)return a(Qe);if(yn!==1)return Se(Qe);e:{t:for(;;){le(Qe,20);var tn=GG($e(Qe));if(3>>0)return Se(Qe);switch(tn){case 0:return Ne(Qe);case 1:break;case 2:break e;default:break t}}le(Qe,18);var di=kc($e(Qe));if(di!==0)return di===1?Ne(Qe):Se(Qe);for(;;)if(le(Qe,17),e0($e(Qe))!==0)return Se(Qe)}e:for(;;){if(ga($e(Qe))!==0)return Se(Qe);t:for(;;){le(Qe,20);var ui=GG($e(Qe));if(3>>0)return Se(Qe);switch(ui){case 0:return Fe(Qe);case 1:break;case 2:break t;default:break e}}}le(Qe,18);var _s=kc($e(Qe));if(_s!==0)return _s===1?Fe(Qe):Se(Qe);for(;;)if(le(Qe,17),e0($e(Qe))!==0)return Se(Qe);break;default:return ue(Qe)}break;case 18:le(Qe,30);var la=z9($e(Qe));if(5>>0)return Se(Qe);switch(la){case 0:return a(Qe);case 1:return V(Qe);case 2:for(;;){le(Qe,30);var hs=z9($e(Qe));if(5>>0)return Se(Qe);switch(hs){case 0:return a(Qe);case 1:return V(Qe);case 2:break;case 3:return u(Qe);case 4:return ze(Qe);default:return ue(Qe)}}break;case 3:return u(Qe);case 4:return ze(Qe);default:return ue(Qe)}break;case 19:return 44;case 20:return 42;case 21:return 49;case 22:le(Qe,51);var Za=$e(Qe),ci=61>>0)return Ln(RUe);var it=ut;if(34>it)switch(it){case 0:return[2,El(o,T)];case 1:return[2,o];case 2:var Tt=b1(o,T),Rt=vs(C0),kt=Ku(o,Rt,T),ft=kt[1];return[1,ft,Gl(ft,Tt,kt[2],Rt,1)];case 3:var It=ps(T);if(!o[5]){var dt=b1(o,T),Ot=vs(C0);pa(Ot,It);var At=Ku(o,Ot,T),wt=At[1];return[1,wt,Gl(wt,dt,At[2],Ot,1)]}var or=o[4]?v_(o,jo(o,T),It):o,rr=WG(1,or),Jt=MB(T);return Qa(FB(T,Jt-1|0,1),H1)&&Re(FB(T,Jt-2|0,1),H1)?[0,rr,87]:[2,rr];case 4:if(o[4])return[2,WG(0,o)];Ke(T),Kt(T);var tr=LG($e(T))===0?0:Se(T);return tr===0?[0,o,jT]:Ln(uUe);case 5:var mr=b1(o,T),Xt=vs(C0),hr=aC(o,Xt,T),Ge=hr[1];return[1,Ge,Gl(Ge,mr,hr[2],Xt,0)];case 6:var Cr=ps(T),rt=b1(o,T),yr=vs(C0),sr=vs(C0);pa(sr,Cr);var Ir=ole(o,Cr,yr,sr,0,T),Dr=Ir[1],on=Ir[3],cn=[0,Dr[1],rt,Ir[2]],Lr=m0(sr);return[0,Dr,[2,[0,cn,m0(yr),Lr,on]]];case 7:return Kc(o,T,function(Qe,Vt){Kt(Vt);e:if(Cd($e(Vt))===0&&VB($e(Vt))===0&&z8($e(Vt))===0){t:for(;;){var We=gQ($e(Vt));if(2>>0){var qn=Se(Vt);break e}switch(We){case 0:break;case 1:break t;default:var qn=0;break e}}for(;;){t:{if(z8($e(Vt))===0){r:for(;;){var Qt=gQ($e(Vt));if(2>>0){var gn=Se(Vt);break t}switch(Qt){case 0:break;case 1:break r;default:var gn=0;break t}}continue}var gn=Se(Vt)}var qn=gn;break}}else var qn=Se(Vt);return qn===0?[0,Qe,O1(0,_u(Vt))]:Ln(oUe)});case 8:return[0,o,O1(0,_u(T))];case 9:return Kc(o,T,function(Qe,Vt){if(Kt(Vt),Cd($e(Vt))===0&&VB($e(Vt))===0&&z8($e(Vt))===0){for(;;){le(Vt,0);var We=FG($e(Vt));if(We!==0)break}if(We===1)for(;;){if(z8($e(Vt))===0){for(;;){le(Vt,0);var Qt=FG($e(Vt));if(Qt!==0)break}if(Qt===1)continue;var gn=Se(Vt)}else var gn=Se(Vt);var qn=gn;break}else var qn=Se(Vt)}else var qn=Se(Vt);return qn===0?[0,Qe,E1(0,_u(Vt))]:Ln(sUe)});case 10:return[0,o,E1(0,_u(T))];case 11:return Kc(o,T,function(Qe,Vt){Kt(Vt);e:if(Cd($e(Vt))===0&&DQ($e(Vt))===0&&b_($e(Vt))===0){t:for(;;){var We=jb($e(Vt));if(2>>0){var qn=Se(Vt);break e}switch(We){case 0:break;case 1:break t;default:var qn=0;break e}}for(;;){t:{if(b_($e(Vt))===0){r:for(;;){var Qt=jb($e(Vt));if(2>>0){var gn=Se(Vt);break t}switch(Qt){case 0:break;case 1:break r;default:var gn=0;break t}}continue}var gn=Se(Vt)}var qn=gn;break}}else var qn=Se(Vt);return qn===0?[0,Qe,O1(1,_u(Vt))]:Ln(aUe)});case 12:return[0,o,O1(1,_u(T))];case 13:return Kc(o,T,function(Qe,Vt){if(Kt(Vt),Cd($e(Vt))===0&&DQ($e(Vt))===0&&b_($e(Vt))===0){for(;;){le(Vt,0);var We=H8($e(Vt));if(We!==0)break}if(We===1)for(;;){if(b_($e(Vt))===0){for(;;){le(Vt,0);var Qt=H8($e(Vt));if(Qt!==0)break}if(Qt===1)continue;var gn=Se(Vt)}else var gn=Se(Vt);var qn=gn;break}else var qn=Se(Vt)}else var qn=Se(Vt);return qn===0?[0,Qe,E1(3,_u(Vt))]:Ln(iUe)});case 14:return[0,o,E1(3,_u(T))];case 15:return Kc(o,T,function(Qe,Vt){if(Kt(Vt),Cd($e(Vt))===0&&b_($e(Vt))===0){for(;;)if(le(Vt,0),b_($e(Vt))!==0){var We=Se(Vt);break}}else var We=Se(Vt);return We===0?[0,Qe,E1(1,_u(Vt))]:Ln(nUe)});case 16:return[0,o,E1(1,_u(T))];case 17:return Kc(o,T,function(Qe,Vt){Kt(Vt);e:if(Cd($e(Vt))===0&&km($e(Vt))===0&&ga($e(Vt))===0){t:for(;;){var We=bQ($e(Vt));if(2>>0){var qn=Se(Vt);break e}switch(We){case 0:break;case 1:break t;default:var qn=0;break e}}for(;;){t:{if(ga($e(Vt))===0){r:for(;;){var Qt=bQ($e(Vt));if(2>>0){var gn=Se(Vt);break t}switch(Qt){case 0:break;case 1:break r;default:var gn=0;break t}}continue}var gn=Se(Vt)}var qn=gn;break}}else var qn=Se(Vt);return qn===0?[0,Qe,O1(2,_u(Vt))]:Ln(rUe)});case 18:return[0,o,O1(2,_u(T))];case 19:return Kc(o,T,function(Qe,Vt){if(Kt(Vt),Cd($e(Vt))===0&&km($e(Vt))===0&&ga($e(Vt))===0){for(;;){le(Vt,0);var We=JB($e(Vt));if(We!==0)break}if(We===1)for(;;){if(ga($e(Vt))===0){for(;;){le(Vt,0);var Qt=JB($e(Vt));if(Qt!==0)break}if(Qt===1)continue;var gn=Se(Vt)}else var gn=Se(Vt);var qn=gn;break}else var qn=Se(Vt)}else var qn=Se(Vt);return qn===0?[0,Qe,E1(4,_u(Vt))]:Ln(tUe)});case 20:return[0,o,E1(4,_u(T))];case 21:return Kc(o,T,function(Qe,Vt){function We(Cn){var Fi=gd($e(Cn));if(2>>0)return Se(Cn);switch(Fi){case 0:var Ri=L9($e(Cn));return Ri===0?Qt(Cn):Ri===1?gn(Cn):Se(Cn);case 1:return Qt(Cn);default:return gn(Cn)}}function Qt(Cn){for(;;){var Fi=j2($e(Cn));if(Fi!==0)return Fi===1?0:Se(Cn)}}function gn(Cn){for(;;){var Fi=So($e(Cn));if(2>>0)return Se(Cn);switch(Fi){case 0:break;case 1:for(;;){if(a0($e(Cn))!==0)return Se(Cn);e:for(;;){var Ri=So($e(Cn));if(2>>0)return Se(Cn);switch(Ri){case 0:break;case 1:break e;default:return 0}}}break;default:return 0}}}function qn(Cn){var Fi=zG($e(Cn));if(Fi!==0)return Fi===1?We(Cn):Se(Cn);e:for(;;){var Ri=Ad($e(Cn));if(2>>0)return Se(Cn);switch(Ri){case 0:break;case 1:return We(Cn);default:break e}}for(;;){if(a0($e(Cn))!==0)return Se(Cn);e:for(;;){var Da=Ad($e(Cn));if(2>>0)return Se(Cn);switch(Da){case 0:break;case 1:return We(Cn);default:break e}}}}Kt(Vt);var gr=F9($e(Vt));if(2>>0)var wn=Se(Vt);else e:switch(gr){case 0:if(a0($e(Vt))===0){t:for(;;){var br=Ad($e(Vt));if(2
>>0){var wn=Se(Vt);break e}switch(br){case 0:break;case 1:var wn=We(Vt);break e;default:break t}}for(;;){t:{if(a0($e(Vt))===0){r:for(;;){var jn=Ad($e(Vt));if(2>>0){var Rn=Se(Vt);break t}switch(jn){case 0:break;case 1:var Rn=We(Vt);break t;default:break r}}continue}var Rn=Se(Vt)}var wn=Rn;break}}else var wn=Se(Vt);break;case 1:var ai=Vb($e(Vt)),wn=ai===0?qn(Vt):ai===1?We(Vt):Se(Vt);break;default:t:for(;;){var mn=ox($e(Vt));if(2>>0){var wn=Se(Vt);break}switch(mn){case 0:var wn=qn(Vt);break t;case 1:break;default:var wn=We(Vt);break t}}}if(wn!==0)return Ln(eUe);var Jn=_u(Vt),Oi=O_(Qe,jo(Qe,Vt),42);return[0,Oi,O1(2,Jn)]});case 22:var fn=_u(T),rn=O_(o,jo(o,T),42);return[0,rn,O1(2,fn)];case 23:return Kc(o,T,function(Qe,Vt){function We(Jn){var Oi=gd($e(Jn));if(2>>0)return Se(Jn);switch(Oi){case 0:var Cn=L9($e(Jn));return Cn===0?Qt(Jn):Cn===1?gn(Jn):Se(Jn);case 1:return Qt(Jn);default:return gn(Jn)}}function Qt(Jn){for(;;)if(le(Jn,0),a0($e(Jn))!==0)return Se(Jn)}function gn(Jn){for(;;){le(Jn,0);var Oi=K9($e(Jn));if(Oi!==0){if(Oi!==1)return Se(Jn);for(;;){if(a0($e(Jn))!==0)return Se(Jn);for(;;){le(Jn,0);var Cn=K9($e(Jn));if(Cn!==0)break}if(Cn!==1)return Se(Jn)}}}}function qn(Jn){var Oi=zG($e(Jn));if(Oi!==0)return Oi===1?We(Jn):Se(Jn);e:for(;;){var Cn=Ad($e(Jn));if(2>>0)return Se(Jn);switch(Cn){case 0:break;case 1:return We(Jn);default:break e}}for(;;){if(a0($e(Jn))!==0)return Se(Jn);e:for(;;){var Fi=Ad($e(Jn));if(2>>0)return Se(Jn);switch(Fi){case 0:break;case 1:return We(Jn);default:break e}}}}Kt(Vt);var gr=F9($e(Vt));if(2>>0)var wn=Se(Vt);else e:switch(gr){case 0:if(a0($e(Vt))===0){t:for(;;){var br=Ad($e(Vt));if(2
>>0){var wn=Se(Vt);break e}switch(br){case 0:break;case 1:var wn=We(Vt);break e;default:break t}}for(;;){t:{if(a0($e(Vt))===0){r:for(;;){var jn=Ad($e(Vt));if(2>>0){var Rn=Se(Vt);break t}switch(jn){case 0:break;case 1:var Rn=We(Vt);break t;default:break r}}continue}var Rn=Se(Vt)}var wn=Rn;break}}else var wn=Se(Vt);break;case 1:var ai=Vb($e(Vt)),wn=ai===0?qn(Vt):ai===1?We(Vt):Se(Vt);break;default:t:for(;;){var mn=ox($e(Vt));if(2>>0){var wn=Se(Vt);break}switch(mn){case 0:var wn=qn(Vt);break t;case 1:break;default:var wn=We(Vt);break t}}}return wn===0?[0,Qe,E1(4,_u(Vt))]:Ln(ZWe)});case 24:return[0,o,E1(4,_u(T))];case 25:return Kc(o,T,function(Qe,Vt){function We(mn){for(;;){var Jn=So($e(mn));if(2>>0)return Se(mn);switch(Jn){case 0:break;case 1:for(;;){if(a0($e(mn))!==0)return Se(mn);e:for(;;){var Oi=So($e(mn));if(2>>0)return Se(mn);switch(Oi){case 0:break;case 1:break e;default:return 0}}}break;default:return 0}}}function Qt(mn){var Jn=j2($e(mn));return Jn===0?We(mn):Jn===1?0:Se(mn)}Kt(Vt);var gn=F9($e(Vt));if(2>>0)var qn=Se(Vt);else e:switch(gn){case 0:var qn=a0($e(Vt))===0?We(Vt):Se(Vt);break;case 1:for(;;){var gr=f3($e(Vt));if(gr===0){var qn=Qt(Vt);break}if(gr!==1){var qn=Se(Vt);break}}break;default:t:for(;;){var wn=Zb($e(Vt));if(2>>0){var qn=Se(Vt);break e}switch(wn){case 0:var qn=Qt(Vt);break e;case 1:break;default:break t}}for(;;){t:{if(a0($e(Vt))===0){r:for(;;){var br=Zb($e(Vt));if(2
>>0){var jn=Se(Vt);break t}switch(br){case 0:var jn=Qt(Vt);break t;case 1:break;default:break r}}continue}var jn=Se(Vt)}var qn=jn;break}}if(qn!==0)return Ln(XWe);var Rn=_u(Vt),ai=O_(Qe,jo(Qe,Vt),34);return[0,ai,O1(2,Rn)]});case 26:return Kc(o,T,function(Qe,Vt){Kt(Vt);var We=L9($e(Vt));e:if(We===0)for(;;){var Qt=j2($e(Vt));if(Qt!==0){if(Qt===1){var wn=0;break}var wn=Se(Vt);break}}else if(We===1){t:for(;;){var gn=So($e(Vt));if(2>>0){var wn=Se(Vt);break e}switch(gn){case 0:break;case 1:break t;default:var wn=0;break e}}for(;;){t:{if(a0($e(Vt))===0){r:for(;;){var qn=So($e(Vt));if(2>>0){var gr=Se(Vt);break t}switch(qn){case 0:break;case 1:break r;default:var gr=0;break t}}continue}var gr=Se(Vt)}var wn=gr;break}}else var wn=Se(Vt);return wn===0?[0,Qe,O1(2,_u(Vt))]:Ln(JWe)});case 27:var vt=_u(T),qr=O_(o,jo(o,T),34);return[0,qr,O1(2,vt)];case 28:return[0,o,O1(2,_u(T))];case 29:return Kc(o,T,function(Qe,Vt){function We(Rn){for(;;){le(Rn,0);var ai=K9($e(Rn));if(ai!==0){if(ai!==1)return Se(Rn);for(;;){if(a0($e(Rn))!==0)return Se(Rn);for(;;){le(Rn,0);var mn=K9($e(Rn));if(mn!==0)break}if(mn!==1)return Se(Rn)}}}}function Qt(Rn){return le(Rn,0),a0($e(Rn))===0?We(Rn):Se(Rn)}Kt(Vt);var gn=F9($e(Vt));if(2>>0)var qn=Se(Vt);else e:switch(gn){case 0:var qn=a0($e(Vt))===0?We(Vt):Se(Vt);break;case 1:for(;;){le(Vt,0);var gr=f3($e(Vt));if(gr===0){var qn=Qt(Vt);break}if(gr!==1){var qn=Se(Vt);break}}break;default:t:for(;;){le(Vt,0);var wn=Zb($e(Vt));if(2>>0){var qn=Se(Vt);break e}switch(wn){case 0:var qn=Qt(Vt);break e;case 1:break;default:break t}}for(;;){t:{if(a0($e(Vt))===0){r:for(;;){le(Vt,0);var br=Zb($e(Vt));if(2
>>0){var jn=Se(Vt);break t}switch(br){case 0:var jn=Qt(Vt);break t;case 1:break;default:break r}}continue}var jn=Se(Vt)}var qn=jn;break}}return qn===0?[0,Qe,E1(4,_u(Vt))]:Ln(jWe)});case 30:return[0,o,E1(4,_u(T))];case 31:return[0,o,67];case 32:return[0,o,6];default:return[0,o,7]}switch(it){case 34:return[0,o,0];case 35:return[0,o,1];case 36:return[0,o,2];case 37:return[0,o,3];case 38:return[0,o,4];case 39:return[0,o,5];case 40:return[0,o,12];case 41:return[0,o,10];case 42:return[0,o,8];case 43:return[0,o,9];case 44:return[0,o,87];case 45:return[0,o,84];case 46:return[0,o,86];case 47:return[0,o,6];case 48:return[0,o,7];case 49:return[0,o,99];case 50:return[0,o,dR];case 51:return[0,o,83];case 52:return[0,o,86];case 53:return[0,o,jT];case 54:return[0,o,87];case 55:return[0,o,89];case 56:return[0,o,88];case 57:return[0,o,90];case 58:return[0,o,92];case 59:return[0,o,11];case 60:return[0,o,83];case 61:return[0,o,lc];case 62:return[0,o,vk];case 63:return[0,o,ES];case 64:return[0,o,xS];case 65:var Pe=T[6];Oxe(T);var Lt=ov(o,Pe,T[3]);XO(T,Pe);var Xe=_u(T),Mt=sle(o,Xe),Gt=Mt[2],Ze=Mt[1],Xr=dn(Gt,Yg);if(0<=Xr){if(0>=Xr)return[0,Ze,pm];var qt=dn(Gt,pb);if(0<=qt){if(0>=qt)return[0,Ze,X0];if(!Re(Gt,Kx))return[0,Ze,32];if(!Re(Gt,p8))return[0,Ze,47];if(!Re(Gt,Ky))return[0,Ze,m_];if(!Re(Gt,Uu))return[0,Ze,A_];if(!Re(Gt,Bi))return[0,Ze,db]}else{if(!Re(Gt,ix))return[0,Ze,Hx];if(!Re(Gt,O8))return[0,Ze,30];if(!Re(Gt,ck))return[0,Ze,GO];if(!Re(Gt,nb))return[0,Ze,C0];if(!Re(Gt,ac))return[0,Ze,43];if(!Re(Gt,Up))return[0,Ze,T9]}}else{var kn=dn(Gt,sf);if(0<=kn){if(0>=kn)return[0,Ze,42];if(!Re(Gt,ot))return[0,Ze,31];if(!Re(Gt,Hs))return[0,Ze,IS];if(!Re(Gt,Pp))return[0,Ze,t0];if(!Re(Gt,p1))return[0,Ze,54];if(!Re(Gt,cb))return[0,Ze,n6];if(!Re(Gt,r$))return[0,Ze,mS]}else{if(!Re(Gt,J7))return[0,Ze,JO];if(!Re(Gt,cm))return[0,Ze,mb];if(!Re(Gt,$8))return[0,Ze,jg];if(!Re(Gt,d8))return[0,Ze,cUe];if(!Re(Gt,vS))return[0,Ze,lUe];if(!Re(Gt,q_))return[0,Ze,kb]}}return[0,Ze,[4,Lt,Gt,ZO(Xe)]];case 66:var Ki=o[4]?O_(o,jo(o,T),92):o;return[0,Ki,d0];default:return[0,o,[7,ps(T)]]}}),wTt=XB(function(o,T){function a(we){for(;;)if(le(we,33),e0($e(we))!==0)return Se(we)}function u(we){le(we,33);var Ft=rle($e(we));if(3>>0)return Se(we);switch(Ft){case 0:return a(we);case 1:var Oe=L9($e(we));if(Oe===0)for(;;){le(we,28);var yt=iC($e(we));if(2>>0)return Se(we);switch(yt){case 0:return p(we);case 1:break;default:return d(we)}}else{if(Oe!==1)return Se(we);for(;;){le(we,28);var yn=Y9($e(we));if(3>>0)return Se(we);switch(yn){case 0:return p(we);case 1:break;case 2:return q(we);default:return d(we)}}}break;case 2:for(;;){le(we,28);var tn=iC($e(we));if(2>>0)return Se(we);switch(tn){case 0:return g(we);case 1:break;default:return O(we)}}break;default:for(;;){le(we,28);var di=Y9($e(we));if(3>>0)return Se(we);switch(di){case 0:return g(we);case 1:break;case 2:return q(we);default:return O(we)}}}}function p(we){for(;;)if(le(we,27),e0($e(we))!==0)return Se(we)}function d(we){le(we,26);var Ft=kc($e(we));if(Ft!==0)return Ft===1?p(we):Se(we);for(;;)if(le(we,25),e0($e(we))!==0)return Se(we)}function q(we){for(;;){if(a0($e(we))!==0)return Se(we);e:for(;;){le(we,28);var Ft=Y9($e(we));if(3>>0)return Se(we);switch(Ft){case 0:return p(we);case 1:break;case 2:break e;default:return d(we)}}}}function g(we){for(;;)if(le(we,27),e0($e(we))!==0)return Se(we)}function O(we){le(we,26);var Ft=kc($e(we));if(Ft!==0)return Ft===1?g(we):Se(we);for(;;)if(le(we,25),e0($e(we))!==0)return Se(we)}function B(we){le(we,31);var Ft=kc($e(we));if(Ft!==0)return Ft===1?a(we):Se(we);for(;;)if(le(we,29),e0($e(we))!==0)return Se(we)}function W(we){return le(we,3),ile($e(we))===0?3:Se(we)}function Y(we){return HG($e(we))===0&&vQ($e(we))===0&&nle($e(we))===0&&Zue($e(we))===0&&ele($e(we))===0&&E_($e(we))===0&&tv($e(we))===0&&HG($e(we))===0&&ym($e(we))===0&&jB($e(we))===0&&av($e(we))===0?3:Se(we)}function V(we){le(we,34);var Ft=Xue($e(we));if(3>>0)return Se(we);switch(Ft){case 0:return a(we);case 1:e:for(;;){le(we,34);var Oe=H9($e(we));if(4>>0)return Se(we);switch(Oe){case 0:return a(we);case 1:break;case 2:return u(we);case 3:break e;default:return B(we)}}for(;;){if(a0($e(we))!==0)return Se(we);e:for(;;){le(we,34);var yt=H9($e(we));if(4>>0)return Se(we);switch(yt){case 0:return a(we);case 1:break;case 2:return u(we);case 3:break e;default:return B(we)}}}break;case 2:return u(we);default:return B(we)}}function Z(we){for(;;)if(le(we,19),e0($e(we))!==0)return Se(we)}function se(we){le(we,34);var Ft=iC($e(we));if(2>>0)return Se(we);switch(Ft){case 0:return a(we);case 1:e:for(;;){le(we,34);var Oe=Y9($e(we));if(3>>0)return Se(we);switch(Oe){case 0:return a(we);case 1:break;case 2:break e;default:return B(we)}}for(;;){if(a0($e(we))!==0)return Se(we);e:for(;;){le(we,34);var yt=Y9($e(we));if(3>>0)return Se(we);switch(yt){case 0:return a(we);case 1:break;case 2:break e;default:return B(we)}}}break;default:return B(we)}}function ae(we){for(;;)if(le(we,17),e0($e(we))!==0)return Se(we)}function ue(we){for(;;)if(le(we,17),e0($e(we))!==0)return Se(we)}function pe(we){for(;;)if(le(we,11),e0($e(we))!==0)return Se(we)}function xe(we){for(;;)if(le(we,11),e0($e(we))!==0)return Se(we)}function ye(we){for(;;)if(le(we,15),e0($e(we))!==0)return Se(we)}function ge(we){for(;;)if(le(we,15),e0($e(we))!==0)return Se(we)}function Ne(we){for(;;)if(le(we,23),e0($e(we))!==0)return Se(we)}function Fe(we){for(;;)if(le(we,23),e0($e(we))!==0)return Se(we)}function ze(we){le(we,32);var Ft=kc($e(we));if(Ft!==0)return Ft===1?a(we):Se(we);for(;;)if(le(we,30),e0($e(we))!==0)return Se(we)}function ut(we){for(;;){if(a0($e(we))!==0)return Se(we);e:for(;;){le(we,34);var Ft=Xb($e(we));if(4>>0)return Se(we);switch(Ft){case 0:return a(we);case 1:return se(we);case 2:break;case 3:break e;default:return ze(we)}}}}Kt(T);var it=function(we){var Ft=jue($e(we));if(36>>0)return Se(we);switch(Ft){case 0:return 98;case 1:return 99;case 2:if(le(we,1),nC($e(we))!==0)return Se(we);for(;;)if(le(we,1),nC($e(we))!==0)return Se(we);break;case 3:return 0;case 4:return le(we,0),J2($e(we))===0?0:Se(we);case 5:return le(we,88),Y8($e(we))===0?(le(we,58),Y8($e(we))===0?54:Se(we)):Se(we);case 6:return 7;case 7:le(we,95);var Oe=$e(we),yt=32>>0)return Se(we);switch(di){case 0:return le(we,83),Y8($e(we))===0?70:Se(we);case 1:return 4;default:return 69}case 14:le(we,80);var ui=$e(we),_s=42>>0)return Se(we);switch(ci){case 0:return a(we);case 1:break;case 2:return u(we);case 3:break e;default:return B(we)}}for(;;){if(a0($e(we))!==0)return Se(we);e:for(;;){le(we,34);var Ra=H9($e(we));if(4>>0)return Se(we);switch(Ra){case 0:return a(we);case 1:break;case 2:return u(we);case 3:break e;default:return B(we)}}}break;case 18:le(we,93);var Xn=Jb($e(we));if(2>>0)return Se(we);switch(Xn){case 0:le(we,2);var Zi=OQ($e(we));if(2>>0)return Se(we);switch(Zi){case 0:for(;;){var is=OQ($e(we));if(2>>0)return Se(we);switch(is){case 0:break;case 1:return W(we);default:return Y(we)}}break;case 1:return W(we);default:return Y(we)}break;case 1:return 5;default:return 92}break;case 19:le(we,34);var co=iv($e(we));if(8>>0)return Se(we);switch(co){case 0:return a(we);case 1:return V(we);case 2:e:{t:for(;;){le(we,20);var zR=KG($e(we));if(4>>0)return Se(we);switch(zR){case 0:return Z(we);case 1:return se(we);case 2:break;case 3:break e;default:break t}}le(we,19);var HR=kc($e(we));if(HR!==0)return HR===1?Z(we):Se(we);for(;;)if(le(we,19),e0($e(we))!==0)return Se(we)}e:for(;;){le(we,18);var $1=EQ($e(we));if(3<$1>>>0)return Se(we);switch($1){case 0:return ae(we);case 1:return se(we);case 2:break;default:break e}}le(we,17);var Vu=kc($e(we));if(Vu!==0)return Vu===1?ae(we):Se(we);for(;;)if(le(we,17),e0($e(we))!==0)return Se(we);break;case 3:e:for(;;){le(we,18);var Sl=EQ($e(we));if(3>>0)return Se(we);switch(Sl){case 0:return ue(we);case 1:return se(we);case 2:break;default:break e}}le(we,17);var c0=kc($e(we));if(c0!==0)return c0===1?ue(we):Se(we);for(;;)if(le(we,17),e0($e(we))!==0)return Se(we);break;case 4:le(we,33);var jl=SQ($e(we));if(jl===0)return a(we);if(jl!==1)return Se(we);e:{t:for(;;){le(we,12);var lR=$Q($e(we));if(3>>0)return Se(we);switch(lR){case 0:return pe(we);case 1:break;case 2:break e;default:break t}}le(we,10);var S_=kc($e(we));if(S_!==0)return S_===1?pe(we):Se(we);for(;;)if(le(we,9),e0($e(we))!==0)return Se(we)}e:for(;;){if(z8($e(we))!==0)return Se(we);t:for(;;){le(we,12);var Gc=$Q($e(we));if(3>>0)return Se(we);switch(Gc){case 0:return xe(we);case 1:break;case 2:break t;default:break e}}}le(we,10);var Q1=kc($e(we));if(Q1!==0)return Q1===1?xe(we):Se(we);for(;;)if(le(we,9),e0($e(we))!==0)return Se(we);break;case 5:return u(we);case 6:le(we,33);var gT=X2($e(we));if(gT===0)return a(we);if(gT!==1)return Se(we);e:{t:for(;;){le(we,16);var $_=K8($e(we));if(3<$_>>>0)return Se(we);switch($_){case 0:return ye(we);case 1:break;case 2:break e;default:break t}}le(we,14);var pp=kc($e(we));if(pp!==0)return pp===1?ye(we):Se(we);for(;;)if(le(we,13),e0($e(we))!==0)return Se(we)}e:for(;;){if(b_($e(we))!==0)return Se(we);t:for(;;){le(we,16);var Ko=K8($e(we));if(3>>0)return Se(we);switch(Ko){case 0:return ge(we);case 1:break;case 2:break t;default:break e}}}le(we,14);var o_=kc($e(we));if(o_!==0)return o_===1?ge(we):Se(we);for(;;)if(le(we,13),e0($e(we))!==0)return Se(we);break;case 7:le(we,33);var $o=ite($e(we));if($o===0)return a(we);if($o!==1)return Se(we);e:{t:for(;;){le(we,24);var R_=GG($e(we));if(3>>0)return Se(we);switch(R_){case 0:return Ne(we);case 1:break;case 2:break e;default:break t}}le(we,22);var t7=kc($e(we));if(t7!==0)return t7===1?Ne(we):Se(we);for(;;)if(le(we,21),e0($e(we))!==0)return Se(we)}e:for(;;){if(ga($e(we))!==0)return Se(we);t:for(;;){le(we,24);var $d=GG($e(we));if(3<$d>>>0)return Se(we);switch($d){case 0:return Fe(we);case 1:break;case 2:break t;default:break e}}}le(we,22);var u2=kc($e(we));if(u2!==0)return u2===1?Fe(we):Se(we);for(;;)if(le(we,21),e0($e(we))!==0)return Se(we);break;default:return ze(we)}break;case 20:le(we,34);var bm=z9($e(we));if(5>>0)return Se(we);switch(bm){case 0:return a(we);case 1:return V(we);case 2:for(;;){le(we,34);var lx=z9($e(we));if(5>>0)return Se(we);switch(lx){case 0:return a(we);case 1:return V(we);case 2:break;case 3:return u(we);case 4:return ut(we);default:return ze(we)}}break;case 3:return u(we);case 4:return ut(we);default:return ze(we)}break;case 21:return 46;case 22:return 44;case 23:le(we,78);var l2=$e(we),r7=59>>0)return Ln(_Ye);var Tt=it;if(50>Tt)switch(Tt){case 0:return[2,El(o,T)];case 1:return[2,o];case 2:var Rt=b1(o,T),kt=vs(C0),ft=Ku(o,kt,T),It=ft[1];return[1,It,Gl(It,Rt,ft[2],kt,1)];case 3:var dt=ps(T);if(!o[5]){var Ot=b1(o,T),At=vs(C0);pa(At,qR(dt,2,ii(dt)-2|0));var wt=Ku(o,At,T),or=wt[1];return[1,or,Gl(or,Ot,wt[2],At,1)]}var rr=o[4]?v_(o,jo(o,T),dt):o,Jt=WG(1,rr),tr=MB(T);return Qa(FB(T,tr-1|0,1),H1)&&Re(FB(T,tr-2|0,1),H1)?[0,Jt,87]:[2,Jt];case 4:if(o[4])return[2,WG(0,o)];Ke(T),Kt(T);var mr=LG($e(T))===0?0:Se(T);return mr===0?[0,o,jT]:Ln(hYe);case 5:var Xt=b1(o,T),hr=vs(C0),Ge=aC(o,hr,T),Cr=Ge[1];return[1,Cr,Gl(Cr,Xt,Ge[2],hr,0)];case 6:if(T[6]!==0)return[0,o,fYe];var rt=b1(o,T),yr=vs(C0),sr=aC(o,yr,T),Ir=sr[1],Dr=[0,Ir[1],rt,sr[2]];return[0,Ir,[6,Dr,m0(yr)]];case 7:var on=ps(T),cn=b1(o,T),Lr=vs(C0),fn=vs(C0);pa(fn,on);var rn=ole(o,on,Lr,fn,0,T),vt=rn[1],qr=rn[3],Pe=[0,vt[1],cn,rn[2]],Lt=m0(fn);return[0,vt,[2,[0,Pe,m0(Lr),Lt,qr]]];case 8:var Xe=vs(C0),Mt=vs(C0),Gt=b1(o,T),Ze=Rle(o,Xe,Mt,T),Xr=Ze[1],qt=Ze[2],kn=hu(Xr,T),Ki=[0,Xr[1],Gt,kn],Qe=m0(Mt);return[0,Xr,[3,[0,Ki,m0(Xe),Qe,1,qt]]];case 9:return Kc(o,T,function(we,Ft){Kt(Ft);e:if(Cd($e(Ft))===0&&VB($e(Ft))===0&&z8($e(Ft))===0){t:for(;;){var Oe=gQ($e(Ft));if(2>>0){var tn=Se(Ft);break e}switch(Oe){case 0:break;case 1:break t;default:var tn=0;break e}}for(;;){t:{if(z8($e(Ft))===0){r:for(;;){var yt=gQ($e(Ft));if(2>>0){var yn=Se(Ft);break t}switch(yt){case 0:break;case 1:break r;default:var yn=0;break t}}continue}var yn=Se(Ft)}var tn=yn;break}}else var tn=Se(Ft);return tn===0?[0,we,[1,0,ps(Ft)]]:Ln(pYe)});case 10:return[0,o,[1,0,ps(T)]];case 11:return Kc(o,T,function(we,Ft){if(Kt(Ft),Cd($e(Ft))===0&&VB($e(Ft))===0&&z8($e(Ft))===0){for(;;){le(Ft,0);var Oe=FG($e(Ft));if(Oe!==0)break}if(Oe===1)for(;;){if(z8($e(Ft))===0){for(;;){le(Ft,0);var yt=FG($e(Ft));if(yt!==0)break}if(yt===1)continue;var yn=Se(Ft)}else var yn=Se(Ft);var tn=yn;break}else var tn=Se(Ft)}else var tn=Se(Ft);return tn===0?[0,we,[0,0,ps(Ft)]]:Ln(TYe)});case 12:return[0,o,[0,0,ps(T)]];case 13:return Kc(o,T,function(we,Ft){Kt(Ft);e:if(Cd($e(Ft))===0&&DQ($e(Ft))===0&&b_($e(Ft))===0){t:for(;;){var Oe=jb($e(Ft));if(2>>0){var tn=Se(Ft);break e}switch(Oe){case 0:break;case 1:break t;default:var tn=0;break e}}for(;;){t:{if(b_($e(Ft))===0){r:for(;;){var yt=jb($e(Ft));if(2>>0){var yn=Se(Ft);break t}switch(yt){case 0:break;case 1:break r;default:var yn=0;break t}}continue}var yn=Se(Ft)}var tn=yn;break}}else var tn=Se(Ft);return tn===0?[0,we,[1,1,ps(Ft)]]:Ln(cYe)});case 14:return[0,o,[1,1,ps(T)]];case 15:return Kc(o,T,function(we,Ft){if(Kt(Ft),Cd($e(Ft))===0&&DQ($e(Ft))===0&&b_($e(Ft))===0){for(;;){le(Ft,0);var Oe=H8($e(Ft));if(Oe!==0)break}if(Oe===1)for(;;){if(b_($e(Ft))===0){for(;;){le(Ft,0);var yt=H8($e(Ft));if(yt!==0)break}if(yt===1)continue;var yn=Se(Ft)}else var yn=Se(Ft);var tn=yn;break}else var tn=Se(Ft)}else var tn=Se(Ft);return tn===0?[0,we,[0,3,ps(Ft)]]:Ln(lYe)});case 16:return[0,o,[0,3,ps(T)]];case 17:return Kc(o,T,function(we,Ft){if(Kt(Ft),Cd($e(Ft))===0){for(;;){var Oe=$e(Ft),yt=47>>0){var tn=Se(Ft);break e}switch(Oe){case 0:break;case 1:break t;default:var tn=0;break e}}for(;;){t:{if(ga($e(Ft))===0){r:for(;;){var yt=bQ($e(Ft));if(2>>0){var yn=Se(Ft);break t}switch(yt){case 0:break;case 1:break r;default:var yn=0;break t}}continue}var yn=Se(Ft)}var tn=yn;break}}else var tn=Se(Ft);return tn===0?[0,we,[1,2,ps(Ft)]]:Ln(oYe)});case 22:return[0,o,[1,2,ps(T)]];case 23:return Kc(o,T,function(we,Ft){if(Kt(Ft),Cd($e(Ft))===0&&km($e(Ft))===0&&ga($e(Ft))===0){for(;;){le(Ft,0);var Oe=JB($e(Ft));if(Oe!==0)break}if(Oe===1)for(;;){if(ga($e(Ft))===0){for(;;){le(Ft,0);var yt=JB($e(Ft));if(yt!==0)break}if(yt===1)continue;var yn=Se(Ft)}else var yn=Se(Ft);var tn=yn;break}else var tn=Se(Ft)}else var tn=Se(Ft);return tn===0?[0,we,[0,4,ps(Ft)]]:Ln(sYe)});case 24:return[0,o,[0,4,ps(T)]];case 25:return Kc(o,T,function(we,Ft){function Oe(Xn){var Zi=gd($e(Xn));if(2>>0)return Se(Xn);switch(Zi){case 0:var is=L9($e(Xn));return is===0?yt(Xn):is===1?yn(Xn):Se(Xn);case 1:return yt(Xn);default:return yn(Xn)}}function yt(Xn){for(;;){var Zi=j2($e(Xn));if(Zi!==0)return Zi===1?0:Se(Xn)}}function yn(Xn){for(;;){var Zi=So($e(Xn));if(2>>0)return Se(Xn);switch(Zi){case 0:break;case 1:for(;;){if(a0($e(Xn))!==0)return Se(Xn);e:for(;;){var is=So($e(Xn));if(2>>0)return Se(Xn);switch(is){case 0:break;case 1:break e;default:return 0}}}break;default:return 0}}}function tn(Xn){var Zi=zG($e(Xn));if(Zi!==0)return Zi===1?Oe(Xn):Se(Xn);e:for(;;){var is=Ad($e(Xn));if(2>>0)return Se(Xn);switch(is){case 0:break;case 1:return Oe(Xn);default:break e}}for(;;){if(a0($e(Xn))!==0)return Se(Xn);e:for(;;){var co=Ad($e(Xn));if(2>>0)return Se(Xn);switch(co){case 0:break;case 1:return Oe(Xn);default:break e}}}}Kt(Ft);var di=F9($e(Ft));if(2>>0)var ui=Se(Ft);else e:switch(di){case 0:if(a0($e(Ft))===0){t:for(;;){var _s=Ad($e(Ft));if(2<_s>>>0){var ui=Se(Ft);break e}switch(_s){case 0:break;case 1:var ui=Oe(Ft);break e;default:break t}}for(;;){t:{if(a0($e(Ft))===0){r:for(;;){var la=Ad($e(Ft));if(2>>0){var hs=Se(Ft);break t}switch(la){case 0:break;case 1:var hs=Oe(Ft);break t;default:break r}}continue}var hs=Se(Ft)}var ui=hs;break}}else var ui=Se(Ft);break;case 1:var Za=Vb($e(Ft)),ui=Za===0?tn(Ft):Za===1?Oe(Ft):Se(Ft);break;default:t:for(;;){var ci=ox($e(Ft));if(2>>0){var ui=Se(Ft);break}switch(ci){case 0:var ui=tn(Ft);break t;case 1:break;default:var ui=Oe(Ft);break t}}}if(ui!==0)return Ln(aYe);var Ra=O_(we,jo(we,Ft),42);return[0,Ra,[1,2,ps(Ft)]]});case 26:var Vt=O_(o,jo(o,T),42);return[0,Vt,[1,2,ps(T)]];case 27:return Kc(o,T,function(we,Ft){function Oe(Ra){var Xn=gd($e(Ra));if(2>>0)return Se(Ra);switch(Xn){case 0:var Zi=L9($e(Ra));return Zi===0?yt(Ra):Zi===1?yn(Ra):Se(Ra);case 1:return yt(Ra);default:return yn(Ra)}}function yt(Ra){for(;;)if(le(Ra,0),a0($e(Ra))!==0)return Se(Ra)}function yn(Ra){for(;;){le(Ra,0);var Xn=K9($e(Ra));if(Xn!==0){if(Xn!==1)return Se(Ra);for(;;){if(a0($e(Ra))!==0)return Se(Ra);for(;;){le(Ra,0);var Zi=K9($e(Ra));if(Zi!==0)break}if(Zi!==1)return Se(Ra)}}}}function tn(Ra){var Xn=zG($e(Ra));if(Xn!==0)return Xn===1?Oe(Ra):Se(Ra);e:for(;;){var Zi=Ad($e(Ra));if(2>>0)return Se(Ra);switch(Zi){case 0:break;case 1:return Oe(Ra);default:break e}}for(;;){if(a0($e(Ra))!==0)return Se(Ra);e:for(;;){var is=Ad($e(Ra));if(2>>0)return Se(Ra);switch(is){case 0:break;case 1:return Oe(Ra);default:break e}}}}Kt(Ft);var di=F9($e(Ft));if(2>>0)var ui=Se(Ft);else e:switch(di){case 0:if(a0($e(Ft))===0){t:for(;;){var _s=Ad($e(Ft));if(2<_s>>>0){var ui=Se(Ft);break e}switch(_s){case 0:break;case 1:var ui=Oe(Ft);break e;default:break t}}for(;;){t:{if(a0($e(Ft))===0){r:for(;;){var la=Ad($e(Ft));if(2>>0){var hs=Se(Ft);break t}switch(la){case 0:break;case 1:var hs=Oe(Ft);break t;default:break r}}continue}var hs=Se(Ft)}var ui=hs;break}}else var ui=Se(Ft);break;case 1:var Za=Vb($e(Ft)),ui=Za===0?tn(Ft):Za===1?Oe(Ft):Se(Ft);break;default:t:for(;;){var ci=ox($e(Ft));if(2>>0){var ui=Se(Ft);break}switch(ci){case 0:var ui=tn(Ft);break t;case 1:break;default:var ui=Oe(Ft);break t}}}return ui===0?[0,we,[0,4,ps(Ft)]]:Ln(iYe)});case 28:return[0,o,[0,4,ps(T)]];case 29:return Kc(o,T,function(we,Ft){function Oe(Za){for(;;){var ci=So($e(Za));if(2>>0)return Se(Za);switch(ci){case 0:break;case 1:for(;;){if(a0($e(Za))!==0)return Se(Za);e:for(;;){var Ra=So($e(Za));if(2>>0)return Se(Za);switch(Ra){case 0:break;case 1:break e;default:return 0}}}break;default:return 0}}}function yt(Za){var ci=j2($e(Za));return ci===0?Oe(Za):ci===1?0:Se(Za)}Kt(Ft);var yn=F9($e(Ft));if(2>>0)var tn=Se(Ft);else e:switch(yn){case 0:var tn=a0($e(Ft))===0?Oe(Ft):Se(Ft);break;case 1:for(;;){var di=f3($e(Ft));if(di===0){var tn=yt(Ft);break}if(di!==1){var tn=Se(Ft);break}}break;default:t:for(;;){var ui=Zb($e(Ft));if(2>>0){var tn=Se(Ft);break e}switch(ui){case 0:var tn=yt(Ft);break e;case 1:break;default:break t}}for(;;){t:{if(a0($e(Ft))===0){r:for(;;){var _s=Zb($e(Ft));if(2<_s>>>0){var la=Se(Ft);break t}switch(_s){case 0:var la=yt(Ft);break t;case 1:break;default:break r}}continue}var la=Se(Ft)}var tn=la;break}}if(tn!==0)return Ln(nYe);var hs=O_(we,jo(we,Ft),34);return[0,hs,[1,2,ps(Ft)]]});case 30:return Kc(o,T,function(we,Ft){Kt(Ft);var Oe=L9($e(Ft));e:if(Oe===0)for(;;){var yt=j2($e(Ft));if(yt!==0){if(yt===1){var ui=0;break}var ui=Se(Ft);break}}else if(Oe===1){t:for(;;){var yn=So($e(Ft));if(2>>0){var ui=Se(Ft);break e}switch(yn){case 0:break;case 1:break t;default:var ui=0;break e}}for(;;){t:{if(a0($e(Ft))===0){r:for(;;){var tn=So($e(Ft));if(2>>0){var di=Se(Ft);break t}switch(tn){case 0:break;case 1:break r;default:var di=0;break t}}continue}var di=Se(Ft)}var ui=di;break}}else var ui=Se(Ft);return ui===0?[0,we,[1,2,ps(Ft)]]:Ln(rYe)});case 31:var We=O_(o,jo(o,T),34);return[0,We,[1,2,ps(T)]];case 32:return[0,o,[1,2,ps(T)]];case 33:return Kc(o,T,function(we,Ft){function Oe(hs){for(;;){le(hs,0);var Za=K9($e(hs));if(Za!==0){if(Za!==1)return Se(hs);for(;;){if(a0($e(hs))!==0)return Se(hs);for(;;){le(hs,0);var ci=K9($e(hs));if(ci!==0)break}if(ci!==1)return Se(hs)}}}}function yt(hs){return le(hs,0),a0($e(hs))===0?Oe(hs):Se(hs)}Kt(Ft);var yn=F9($e(Ft));if(2>>0)var tn=Se(Ft);else e:switch(yn){case 0:var tn=a0($e(Ft))===0?Oe(Ft):Se(Ft);break;case 1:for(;;){le(Ft,0);var di=f3($e(Ft));if(di===0){var tn=yt(Ft);break}if(di!==1){var tn=Se(Ft);break}}break;default:t:for(;;){le(Ft,0);var ui=Zb($e(Ft));if(2>>0){var tn=Se(Ft);break e}switch(ui){case 0:var tn=yt(Ft);break e;case 1:break;default:break t}}for(;;){t:{if(a0($e(Ft))===0){r:for(;;){le(Ft,0);var _s=Zb($e(Ft));if(2<_s>>>0){var la=Se(Ft);break t}switch(_s){case 0:var la=yt(Ft);break t;case 1:break;default:break r}}continue}var la=Se(Ft)}var tn=la;break}}return tn===0?[0,we,[0,4,ps(Ft)]]:Ln(tYe)});case 34:return[0,o,[0,4,ps(T)]];case 35:var Qt=jo(o,T),gn=ps(T);return[0,o,[4,Qt,gn,gn]];case 36:return[0,o,0];case 37:return[0,o,1];case 38:return[0,o,4];case 39:return[0,o,5];case 40:return[0,o,6];case 41:return[0,o,7];case 42:return[0,o,12];case 43:return[0,o,10];case 44:return[0,o,8];case 45:return[0,o,9];case 46:return[0,o,87];case 47:Ke(T),Kt(T);var qn=$e(T),gr=62=ai)return[0,o,54];var mn=dn(Rn,f9);if(0<=mn){if(0>=mn)return[0,o,52];var Jn=dn(Rn,p8);if(0<=Jn){if(0>=Jn)return[0,o,47];if(!Re(Rn,s6))return[0,o,25];if(!Re(Rn,Bi))return[0,o,48];if(!Re(Rn,H))return[0,o,26];if(!Re(Rn,bS))return[0,o,27];if(!Re(Rn,te))return[0,o,59]}else{if(!Re(Rn,hc))return[0,o,20];if(!Re(Rn,FO))return[0,o,22];if(!Re(Rn,pc))return[0,o,23];if(!Re(Rn,Kx))return[0,o,32];if(!Re(Rn,x8))return[0,o,24];if(!Re(Rn,Kh))return[0,o,62]}}else{var Oi=dn(Rn,lo);if(0<=Oi){if(0>=Oi)return[0,o,55];if(!Re(Rn,xb))return[0,o,56];if(!Re(Rn,o0))return[0,o,57];if(!Re(Rn,_b))return[0,o,58];if(!Re(Rn,cc))return[0,o,19];if(!Re(Rn,ac))return[0,o,43]}else{if(!Re(Rn,d9))return[0,o,29];if(!Re(Rn,fY))return[0,o,21];if(!Re(Rn,l9))return[0,o,45];if(!Re(Rn,O8))return[0,o,30];if(!Re(Rn,SL))return[0,o,64];if(!Re(Rn,jU))return[0,o,63]}}}else{var Cn=dn(Rn,qs);if(0<=Cn){if(0>=Cn)return[0,o,44];var Fi=dn(Rn,PO);if(0<=Fi){if(0>=Fi)return[0,o,15];if(!Re(Rn,VF))return[0,o,16];if(!Re(Rn,S8))return[0,o,53];if(!Re(Rn,zc))return[0,o,51];if(!Re(Rn,Xd))return[0,o,17];if(!Re(Rn,qP))return[0,o,18]}else{if(!Re(Rn,Dk))return[0,o,49];if(!Re(Rn,N$))return[0,o,50];if(!Re(Rn,sf))return[0,o,42];if(!Re(Rn,ot))return[0,o,31];if(!Re(Rn,AF))return[0,o,39];if(!Re(Rn,VP))return[0,o,40]}}else{var Ri=dn(Rn,KS);if(0<=Ri){if(0>=Ri)return[0,o,28];if(!Re(Rn,sl))return[0,o,36];if(!Re(Rn,Tc))return[0,o,60];if(!Re(Rn,yb))return[0,o,61];if(!Re(Rn,Jg))return[0,o,37];if(!Re(Rn,gk))return[0,o,46];if(!Re(Rn,q5))return[0,o,38]}else{if(!Re(Rn,R3))return[0,o,65];if(!Re(Rn,E8))return[0,o,66];if(!Re(Rn,_c))return[0,o,33];if(!Re(Rn,Uc))return[0,o,34];if(!Re(Rn,ZS))return[0,o,35];if(!Re(Rn,C))return[0,o,41]}}}var Da=_u(T),Ha=sle(o,Da),Fs=Ha[2],Ks=Ha[1];return[0,Ks,[4,jn,Fs,ZO(Da)]];case 98:var Yo=o[4]?O_(o,jo(o,T),92):o;return[0,Yo,d0];default:var ra=qm(o,jo(o,T));return[0,ra,[7,ps(T)]]}}),bd=Jee([0,CTt]);function v1(o,T){return[0,0,0,T,Hue(o)]}function Rv(o){var T=o[4];switch(o[3]){case 0:var it=wTt(T);break;case 1:var it=NTt(T);break;case 2:var it=$Tt(T);break;case 3:var a=hu(T,T[2]),u=vs(C0),p=vs(C0),d=T[2];Kt(d);var q=$e(d),g=A_>>0)var O=Se(d);else switch(g){case 0:var O=1;break;case 1:var O=4;break;case 2:var O=0;break;case 3:le(d,0);var O=J2($e(d))===0?0:Se(d);break;case 4:var O=2;break;default:var O=3}if(4>>0)var B=Ln(hUe);else switch(O){case 0:var W=ps(d);pa(p,W),pa(u,W);var Y=ule(El(T,d),u,p,d),V=hu(Y,d),Z=m0(u),se=m0(p),B=[0,Y,[9,[0,Y[1],a,V],Z,se]];break;case 1:var B=[0,T,d0];break;case 2:var B=[0,T,99];break;case 3:var B=[0,T,0];break;default:Ke(d);var ae=ule(T,u,p,d),ue=hu(ae,d),pe=m0(u),xe=m0(p),B=[0,ae,[9,[0,ae[1],a,ue],pe,xe]]}var ye=B[2],ge=B[1],Ne=QR(ge,ye),Fe=ge[6];if(Fe===0)var ut=[0,ge,[0,ye,Ne,0,0]];else var ze=[0,ye,Ne,xn(Fe),0],ut=[0,[0,ge[1],ge[2],ge[3],ge[4],ge[5],0,ge[7]],ze];var it=ut;break;case 4:var it=QTt(T);break;default:var it=JG(T)}var Tt=it[1],Rt=it[2],kt=[0,Hue(Tt),Rt];return o[4]=Tt,o[1]?o[2]=[0,kt]:o[1]=[0,kt],kt}function XG(o){var T=o[1];return T?T[1][2]:Rv(o)[2]}function NQ(o){return Qb(o[24][1])}function Eu(o){return o[28][5]}function zn(o,T){var a=T[2];o[1][1]=[0,[0,T[1],a],o[1][1]];var u=o[23];return u?K(u[1],o,a):0}function _i(o,T){o[31][1]=T}function sC(o,T){if(o===0)return XG(T[26][1]);if(o!==1)throw Pr([0,Wa,GYe],1);var a=T[26][1];a[1]||Rv(a);var u=a[2];return u?u[1][2]:Rv(a)[2]}function Z2(o,T){return o===T[5]?T:[0,T[1],T[2],T[3],T[4],o,T[6],T[7],T[8],T[9],T[10],T[11],T[12],T[13],T[14],T[15],T[16],T[17],T[18],T[19],T[20],T[21],T[22],T[23],T[24],T[25],T[26],T[27],T[28],T[29],T[30],T[31]]}function tE(o,T){return o===T[10]?T:[0,T[1],T[2],T[3],T[4],T[5],T[6],T[7],T[8],T[9],o,T[11],T[12],T[13],T[14],T[15],T[16],T[17],T[18],T[19],T[20],T[21],T[22],T[23],T[24],T[25],T[26],T[27],T[28],T[29],T[30],T[31]]}function ste(o,T){return o===T[18]?T:[0,T[1],T[2],T[3],T[4],T[5],T[6],T[7],T[8],T[9],T[10],T[11],T[12],T[13],T[14],T[15],T[16],T[17],o,T[19],T[20],T[21],T[22],T[23],T[24],T[25],T[26],T[27],T[28],T[29],T[30],T[31]]}function ZG(o,T){return o===T[19]?T:[0,T[1],T[2],T[3],T[4],T[5],T[6],T[7],T[8],T[9],T[10],T[11],T[12],T[13],T[14],T[15],T[16],T[17],T[18],o,T[20],T[21],T[22],T[23],T[24],T[25],T[26],T[27],T[28],T[29],T[30],T[31]]}function ote(o,T){return o===T[20]?T:[0,T[1],T[2],T[3],T[4],T[5],T[6],T[7],T[8],T[9],T[10],T[11],T[12],T[13],T[14],T[15],T[16],T[17],T[18],T[19],o,T[21],T[22],T[23],T[24],T[25],T[26],T[27],T[28],T[29],T[30],T[31]]}function uv(o,T){return o===T[22]?T:[0,T[1],T[2],T[3],T[4],T[5],T[6],T[7],T[8],T[9],T[10],T[11],T[12],T[13],T[14],T[15],T[16],T[17],T[18],T[19],T[20],T[21],o,T[23],T[24],T[25],T[26],T[27],T[28],T[29],T[30],T[31]]}function rE(o,T){return o===T[14]?T:[0,T[1],T[2],T[3],T[4],T[5],T[6],T[7],T[8],T[9],T[10],T[11],T[12],T[13],o,T[15],T[16],T[17],T[18],T[19],T[20],T[21],T[22],T[23],T[24],T[25],T[26],T[27],T[28],T[29],T[30],T[31]]}function wQ(o,T){return o===T[8]?T:[0,T[1],T[2],T[3],T[4],T[5],T[6],T[7],o,T[9],T[10],T[11],T[12],T[13],T[14],T[15],T[16],T[17],T[18],T[19],T[20],T[21],T[22],T[23],T[24],T[25],T[26],T[27],T[28],T[29],T[30],T[31]]}function nE(o,T){return o===T[12]?T:[0,T[1],T[2],T[3],T[4],T[5],T[6],T[7],T[8],T[9],T[10],T[11],o,T[13],T[14],T[15],T[16],T[17],T[18],T[19],T[20],T[21],T[22],T[23],T[24],T[25],T[26],T[27],T[28],T[29],T[30],T[31]]}function G9(o,T){return o===T[15]?T:[0,T[1],T[2],T[3],T[4],T[5],T[6],T[7],T[8],T[9],T[10],T[11],T[12],T[13],T[14],o,T[16],T[17],T[18],T[19],T[20],T[21],T[22],T[23],T[24],T[25],T[26],T[27],T[28],T[29],T[30],T[31]]}function iE(o,T){return o===T[16]?T:[0,T[1],T[2],T[3],T[4],T[5],T[6],T[7],T[8],T[9],T[10],T[11],T[12],T[13],T[14],T[15],o,T[17],T[18],T[19],T[20],T[21],T[22],T[23],T[24],T[25],T[26],T[27],T[28],T[29],T[30],T[31]]}function Rte(o,T){return o===T[6]?T:[0,T[1],T[2],T[3],T[4],T[5],o,T[7],T[8],T[9],T[10],T[11],T[12],T[13],T[14],T[15],T[16],T[17],T[18],T[19],T[20],T[21],T[22],T[23],T[24],T[25],T[26],T[27],T[28],T[29],T[30],T[31]]}function lle(o,T){return o===T[7]?T:[0,T[1],T[2],T[3],T[4],T[5],T[6],o,T[8],T[9],T[10],T[11],T[12],T[13],T[14],T[15],T[16],T[17],T[18],T[19],T[20],T[21],T[22],T[23],T[24],T[25],T[26],T[27],T[28],T[29],T[30],T[31]]}function ute(o,T){return o===T[13]?T:[0,T[1],T[2],T[3],T[4],T[5],T[6],T[7],T[8],T[9],T[10],T[11],T[12],o,T[14],T[15],T[16],T[17],T[18],T[19],T[20],T[21],T[22],T[23],T[24],T[25],T[26],T[27],T[28],T[29],T[30],T[31]]}function ZB(o,T){return[0,T[1],T[2],T[3],T[4],T[5],T[6],T[7],T[8],T[9],T[10],T[11],T[12],T[13],T[14],T[15],T[16],T[17],T[18],T[19],T[20],T[21],T[22],[0,o],T[24],T[25],T[26],T[27],T[28],T[29],T[30],T[31]]}function eI(o){function T(a){return zn(o,a)}return function(a){return yR(T,a)}}function lv(o){var T=o[4][1];return T?[0,T[1][2]]:0}function PQ(o){var T=o[4][1];return T?[0,T[1][1]]:0}function cle(o){return[0,o[1],o[2],o[3],o[4],o[5],o[6],o[7],o[8],o[9],o[10],o[11],o[12],o[13],o[14],o[15],o[16],o[17],o[18],o[19],o[20],o[21],o[22],0,o[24],o[25],o[26],o[27],o[28],o[29],o[30],o[31]]}function Tle(o,T,a,u){return[0,o[1],o[2],bd[1],o[4],o[5],0,0,0,0,0,1,o[12],o[13],o[14],o[15],o[16],o[17],a,T,o[20],u,o[22],o[23],o[24],o[25],o[26],o[27],o[28],o[29],o[30],o[31]]}function BQ(o){return Re(o,S8)&&Re(o,p1)&&Re(o,d9)&&Re(o,lo)&&Re(o,xb)&&Re(o,o0)&&Re(o,_b)&&Re(o,ac)&&Re(o,te)?0:1}function oC(o){return Re(o,NP)&&Re(o,"eval")?0:1}function d3(o){var T=dn(o,VF);e:{if(0<=T){if(0>>0){if(Yc>=u+1>>>0)return 1}else if(u===6)return 0}return cv(o,T)}function IQ(o){return D_(0,o)}function Ik(o,T){var a=Po(o,T);e:{if(typeof a=="number")switch(a){case 29:case 43:case 53:case 54:case 55:case 56:case 57:case 58:case 59:var u=1;break e}else if(a[0]===4){var u=BQ(a[2]);break e}var u=0}if(u)return 1;e:{if(typeof a=="number")switch(a){case 14:case 21:case 49:case 61:case 62:case 63:case 64:case 65:case 66:case 127:break;default:break e}else if(a[0]!==4)break e;return 1}return 0}function RC(o,T){return lte(T,Po(o,T))}function eV(o,T){var a=Ik(o,T);return a||RC(o,T)}function uC(o){return Ik(0,o)}function Rx(o){var T=Bt(o)===15?1:0;if(T)var a=T;else{var u=Bt(o)===65?1:0;if(u){var p=Po(1,o)===15?1:0;if(p)var d=ko(1,o)[2][1],a=st(o)[3][1]===d?1:0;else var a=p}else var a=u}return a}function j9(o){var T=Bt(o);if(typeof T!="number"&&T[0]===4&&!Re(T[3],IO)){var a=o[28][1];if(a){var u=Ik(1,o);if(u)var p=ko(1,o)[2][1],d=st(o)[3][1]===p?1:0;else var d=u}else var d=a;return d}return 0}function Tv(o){var T=Bt(o);if(typeof T=="number")switch(T){case 13:case 41:return 1}else if(T[0]===4&&!Re(T[3],mz)&&Po(1,o)===41)return 1;return 0}function MQ(o){var T=o[28][1];if(T){var a=Bt(o);if(typeof a!="number"&&a[0]===4&&!Re(a[3],ih)&&Ik(1,o))return 1;var u=0}else var u=T;return u}function tV(o){var T=Bt(o);return typeof T!="number"&&T[0]===4&&!Re(T[3],lm)?1:0}function Us(o,T){return zn(o,[0,st(o),T])}function Ys(o,T){var a=YB(0,T);return o?[28,a,o[1]]:[26,a]}function Gu(o,T){var a=V9(T);return eI(T)(a),Us(T,Ys(o,Bt(T)))}function fu(o){function T(a){return zn(o,[0,a[1],Ta])}return function(a){return yR(T,a)}}function rV(o,T){var a=o[6]?sn(fa(HYe),T,T,T):YYe;return Gu([0,a],o)}function e7(o,T){var a=o[5];return a&&Us(o,T)}function qc(o,T){var a=o[5],u=T[2],p=T[1];return a&&zn(o,[0,p,u])}function Ed(o,T){return zn(o,[0,T,[14,o[5]]])}function Wn(o){var T=o[27][1];if(T){var a=T[1],u=NQ(o),p=Bt(o);J(a,[0,st(o),p,u])}var d=o[26][1],q=d[1],g=q?q[1][1]:Rv(d)[1];o[25][1]=g;var O=V9(o);eI(o)(O);var B=o[2][1],W=S9(sC(0,o)[4],B);o[2][1]=W;var Y=[0,sC(0,o)];o[4][1]=Y;var V=o[26][1];return V[2]?(V[1]=V[2],V[2]=0,0):(XG(V),V[1]=0,0)}function _n(o,T){var a=mm(Bt(o),T);return a&&Wn(o),a}function bo(o,T){o[24][1]=[0,T,o[24][1]];var a=NQ(o),u=v1(o[25][1],a);o[26][1]=u}function A0(o){var T=o[24][1],a=T?T[2]:Ln(zYe);o[24][1]=a;var u=NQ(o),p=v1(o[25][1],u);o[26][1]=p}function Kn(o){var T=st(o);if(Bt(o)===9&&cv(1,o)){var a=Gr(o),u=pi(a,wb(function(d){return d[1][2][1]<=T[3][1]?1:0},sC(1,o)[4]));return _i(o,[0,T[3][1]+1|0,0]),u}var p=Gr(o);return _i(o,T[3]),p}function oi(o){var T=o[4][1];if(!T)return 0;var a=T[1][2],u=wb(function(p){return p[1][2][1]<=a[3][1]?1:0},Gr(o));return _i(o,[0,a[3][1]+1|0,0]),u}function ux(o,T){return Gu([0,YB(UYe,T)],o)}function ar(o,T){return 1-mm(Bt(o),T)&&ux(o,T),Wn(o)}function cr(o,T){var a=_n(o,T);return 1-a&&ux(o,T),a}function nV(o,T){cr(o,T)}function V8(o,T){var a=Bt(o);e:{if(typeof a!="number"&&a[0]===4&&Qa(a[3],T))break e;Gu([0,J(fa(WYe),T)],o)}return Wn(o)}var Od=[Ws,eKe,md(0)];function J9(o,T,a){if(a){var u=a[1],p=u[1],d=u[2];if(T[27][1]=[0,p],!o)return o;for(var q=d[2];;){if(!q)return;var g=q[2];J(p,q[1]);var q=g}}}function cte(o,T){var a=o[27][1];if(a){var u=a[1],p=URe(he);o[27][1]=[0,function(xe){return sG(xe,p)}];var d=[0,[0,u,p]]}else var d=0;var q=o[31][1],g=o[25][1],O=o[24][1],B=o[4][1],W=o[2][1],Y=o[1][1];try{var V=J(T,o);J9(1,o,d);var Z=[0,V];return Z}catch(pe){var se=n0(pe);if(se!==Od)throw Pr(se,0);J9(0,o,d),o[1][1]=Y,o[2][1]=W,o[4][1]=B,o[24][1]=O,o[25][1]=g,o[31][1]=q;var ae=NQ(o),ue=v1(o[25][1],ae);return o[26][1]=ue,0}}function rI(o,T,a){var u=cte(o,a);return u?u[1]:T}function pv(o,T){var a=xn(T);if(!a)return T;var u=a[1],p=a[2],d=J(o,u);return u===d?T:xn([0,d,p])}var nI=wB(aKe,function(o){var T=$G(o,rKe),a=CQ(o,iKe),u=a[24],p=a[28],d=a[41],q=a[91],g=a[hb],O=a[xz],B=a[_P],W=a[w0e],Y=a[Eoe],V=a[XR],Z=a[6],se=a[7],ae=a[10],ue=a[17],pe=a[23],xe=a[29],ye=a[39],ge=a[42],Ne=a[52],Fe=a[61],ze=a[dT],ut=a[SR],it=a[pm],Tt=a[GO],Rt=a[MY],kt=a[goe],ft=a[f0e],It=a[GH],dt=a[_k],Ot=a[DO],At=a[tx],wt=a[Rc],or=a[qB],rr=a[pF],Jt=a[vi],tr=a[xee],mr=a[T1],Xt=a[R0e],hr=a[AU],Ge=a[b0e],Cr=a[Au],rt=a[GZ],yr=a[Koe],sr=a[_S],Ir=a[zZ],Dr=a[EO],on=a[vg],cn=a[wg],Lr=a[Woe],fn=a[d_],rn=NG(o,0,0,CRe,zo,1)[1];return IB(o,[0,ge,function(vt,qr){var Pe=qr[2],Lt=wb(function(Mt){return O0(Mt[1][2],vt[1+T])<0?1:0},Pe),Xe=r2(Lt);return r2(Pe)===Xe?qr:[0,qr[1],Lt,qr[3]]},fn,function(vt,qr,Pe){var Lt=Pe[2];return Tr(J(vt[1][1+d],vt),Lt,Pe,function(Xe){return[0,Pe[1],Xe]})},Lr,function(vt,qr){var Pe=qr[2];return Tr(J(vt[1][1+d],vt),Pe,qr,function(Lt){return[0,qr[1],Lt]})},cn,function(vt,qr,Pe){var Lt=Pe[4],Xe=Pe[3],Mt=K(vt[1][1+O],vt,Xe),Gt=K(vt[1][1+d],vt,Lt);return Xe===Mt&&Lt===Gt?Pe:[0,Pe[1],Pe[2],Mt,Gt]},on,function(vt,qr,Pe){var Lt=Pe[4],Xe=Pe[3],Mt=K(vt[1][1+O],vt,Xe),Gt=K(vt[1][1+d],vt,Lt);return Xe===Mt&&Lt===Gt?Pe:[0,Pe[1],Pe[2],Mt,Gt]},Dr,function(vt,qr,Pe){var Lt=Pe[2];return Tr(J(vt[1][1+d],vt),Lt,Pe,function(Xe){return[0,Pe[1],Xe]})},Ir,function(vt,qr,Pe){var Lt=Pe[4],Xe=Pe[3],Mt=K(vt[1][1+V],vt,Xe),Gt=K(vt[1][1+d],vt,Lt);return Xe===Mt&&Lt===Gt?Pe:[0,Pe[1],Pe[2],Mt,Gt]},V,function(vt,qr){var Pe=qr[2],Lt=Pe[1],Xe=qr[1],Mt=Pe[2];return Tr(J(vt[1][1+d],vt),Mt,qr,function(Gt){return[0,Xe,[0,Lt,Gt]]})},Y,function(vt,qr){var Pe=qr[2],Lt=Pe[1],Xe=qr[1],Mt=Pe[2];return Tr(J(vt[1][1+d],vt),Mt,qr,function(Gt){return[0,Xe,[0,Lt,Gt]]})},sr,function(vt,qr,Pe){var Lt=Pe[7],Xe=Pe[2],Mt=K(vt[1][1+W],vt,Xe),Gt=K(vt[1][1+d],vt,Lt);return Xe===Mt&&Lt===Gt?Pe:[0,Pe[1],Mt,Pe[3],Pe[4],Pe[5],Pe[6],Gt]},W,function(vt,qr){var Pe=qr[2],Lt=Pe[1],Xe=qr[1],Mt=Pe[2];return Tr(J(vt[1][1+d],vt),Mt,qr,function(Gt){return[0,Xe,[0,Lt,Gt]]})},yr,function(vt,qr,Pe){var Lt=Pe[2],Xe=Pe[1];if(Lt===0)return Tr(J(vt[1][1+O],vt),Xe,Pe,function(Gt){return[0,Gt,Pe[2],Pe[3]]});var Mt=J(vt[1][1+u],vt);return Tr(function(Gt){return ks(Mt,Gt)},Lt,Pe,function(Gt){return[0,Pe[1],Gt,Pe[3]]})},rt,function(vt,qr){var Pe=qr[2],Lt=Pe[2],Xe=qr[1],Mt=Pe[1],Gt=J(vt[1][1+B],vt);return Tr(function(Ze){return pv(Gt,Ze)},Mt,qr,function(Ze){return[0,Xe,[0,Ze,Lt]]})},B,function(vt,qr){var Pe=qr[2],Lt=Pe[2],Xe=Pe[1],Mt=qr[1];if(Lt===0)return Tr(J(vt[1][1+g],vt),Xe,qr,function(Ze){return[0,Mt,[0,Ze,Lt]]});var Gt=J(vt[1][1+u],vt);return Tr(function(Ze){return ks(Gt,Ze)},Lt,qr,function(Ze){return[0,Mt,[0,Xe,Ze]]})},Ge,function(vt,qr,Pe){var Lt=Pe[6],Xe=Pe[5],Mt=K(vt[1][1+Cr],vt,Xe),Gt=K(vt[1][1+d],vt,Lt);return Xe===Mt&&Lt===Gt?Pe:[0,Pe[1],Pe[2],Pe[3],Pe[4],Mt,Gt,Pe[7]]},hr,function(vt,qr){var Pe=qr[2],Lt=qr[1],Xe=Pe[3];return Tr(J(vt[1][1+d],vt),Xe,[0,Lt,Pe],function(Mt){return[0,Lt,[0,Pe[1],Pe[2],Mt]]})},Xt,function(vt,qr){var Pe=qr[2],Lt=Pe[1],Xe=qr[1],Mt=Pe[2];return Tr(J(vt[1][1+d],vt),Mt,qr,function(Gt){return[0,Xe,[0,Lt,Gt]]})},mr,function(vt,qr,Pe){var Lt=Pe[4],Xe=Pe[3],Mt=K(vt[1][1+O],vt,Xe),Gt=K(vt[1][1+d],vt,Lt);return Xe===Mt&&Lt===Gt?Pe:[0,Pe[1],Pe[2],Mt,Gt]},tr,function(vt,qr,Pe){var Lt=Pe[10],Xe=Pe[3],Mt=K(vt[1][1+Jt],vt,Xe),Gt=K(vt[1][1+d],vt,Lt);return Xe===Mt&&Lt===Gt?Pe:[0,Pe[1],Pe[2],Mt,Pe[4],Pe[5],Pe[6],Pe[7],Pe[8],Pe[9],Gt,Pe[11]]},rr,function(vt,qr){var Pe=qr[2],Lt=qr[1],Xe=Pe[4];return Tr(J(vt[1][1+d],vt),Xe,[0,Lt,Pe],function(Mt){return[0,Lt,[0,Pe[1],Pe[2],Pe[3],Mt]]})},or,function(vt,qr,Pe){var Lt=Pe[4],Xe=Pe[3],Mt=K(vt[1][1+wt],vt,Xe),Gt=K(vt[1][1+d],vt,Lt);return Xe===Mt&&Lt===Gt?Pe:[0,Pe[1],Pe[2],Mt,Gt,Pe[5]]},At,function(vt,qr){if(qr[0]===0){var Pe=qr[1];return Tr(J(vt[1][1+g],vt),Pe,qr,function(Xr){return[0,Xr]})}var Lt=qr[1],Xe=Lt[2],Mt=Xe[2],Gt=Lt[1],Ze=K(vt[1][1+g],vt,Mt);return Mt===Ze?qr:[1,[0,Gt,[0,Xe[1],Ze]]]},Ot,function(vt,qr,Pe){var Lt=Pe[2];return Tr(J(vt[1][1+d],vt),Lt,Pe,function(Xe){return[0,Pe[1],Xe]})},dt,function(vt,qr,Pe){var Lt=Pe[3],Xe=Pe[1],Mt=Dn(J(vt[1][1+q],vt),Xe),Gt=K(vt[1][1+d],vt,Lt);return Xe===Mt&&Lt===Gt?Pe:[0,Mt,Pe[2],Gt]},It,function(vt,qr,Pe){var Lt=Pe[2],Xe=Pe[1],Mt=Xe[3],Gt=Xe[2],Ze=Xe[1];if(Mt)var Xr=pv(J(vt[1][1+p],vt),Mt),qt=Gt;else var Xr=0,qt=K(vt[1][1+p],vt,Gt);var kn=K(vt[1][1+d],vt,Lt);return Gt===qt&&Mt===Xr&&Lt===kn?Pe:[0,[0,Ze,qt,Xr],kn]},ft,function(vt,qr,Pe){var Lt=Pe[4];return Tr(J(vt[1][1+d],vt),Lt,Pe,function(Xe){return[0,Pe[1],Pe[2],Pe[3],Xe]})},kt,function(vt,qr,Pe){var Lt=Pe[4];return Tr(J(vt[1][1+d],vt),Lt,Pe,function(Xe){return[0,Pe[1],Pe[2],Pe[3],Xe]})},Rt,function(vt,qr,Pe){var Lt=Pe[4],Xe=Pe[3],Mt=K(vt[1][1+O],vt,Xe),Gt=K(vt[1][1+d],vt,Lt);return Xe===Mt&&Lt===Gt?Pe:[0,Pe[1],Pe[2],Mt,Gt]},ut,function(vt,qr,Pe){var Lt=Pe[4],Xe=Pe[3],Mt=Pe[2],Gt=Pe[1],Ze=K(vt[1][1+d],vt,Lt);if(Xe){var Xr=ks(J(vt[1][1+V],vt),Xe);return Xe===Xr&&Lt===Ze?Pe:[0,Pe[1],Pe[2],Xr,Ze]}if(Mt){var qt=ks(J(vt[1][1+Y],vt),Mt);return Mt===qt&&Lt===Ze?Pe:[0,Pe[1],qt,Pe[3],Ze]}var kn=K(vt[1][1+O],vt,Gt);return Gt===kn&&Lt===Ze?Pe:[0,kn,Pe[2],Pe[3],Ze]},Tt,function(vt,qr,Pe){var Lt=Pe[3],Xe=Pe[2],Mt=K(vt[1][1+it],vt,Xe),Gt=K(vt[1][1+d],vt,Lt);return Xe===Mt&&Lt===Gt?Pe:[0,Pe[1],Mt,Gt]},ze,function(vt,qr,Pe){var Lt=Pe[2];return Tr(J(vt[1][1+d],vt),Lt,Pe,function(Xe){return[0,Pe[1],Xe]})},q,function(vt,qr,Pe){var Lt=Pe[4];return Tr(J(vt[1][1+d],vt),Lt,Pe,function(Xe){return[0,Pe[1],Pe[2],Pe[3],Xe]})},Fe,function(vt,qr){var Pe=qr[2],Lt=Pe[1],Xe=qr[1],Mt=Pe[2];return Tr(J(vt[1][1+d],vt),Mt,qr,function(Gt){return[0,Xe,[0,Lt,Gt]]})},Ne,function(vt,qr,Pe){var Lt=Pe[2],Xe=Pe[1],Mt=pv(J(vt[1][1+O],vt),Xe),Gt=K(vt[1][1+d],vt,Lt);return Xe===Mt&&Lt===Gt?Pe:[0,Mt,Gt]},ye,function(vt,qr,Pe){var Lt=Pe[3];return Tr(J(vt[1][1+d],vt),Lt,Pe,function(Xe){return[0,Pe[1],Pe[2],Xe]})},xe,function(vt,qr){var Pe=qr[3];return Tr(J(vt[1][1+d],vt),Pe,qr,function(Lt){return[0,qr[1],qr[2],Lt]})},pe,function(vt,qr,Pe){var Lt=Pe[3];return Tr(J(vt[1][1+d],vt),Lt,Pe,function(Xe){return[0,Pe[1],Pe[2],Xe]})},ue,function(vt,qr){var Pe=qr[2],Lt=Pe[1],Xe=qr[1],Mt=Pe[2];return Tr(J(vt[1][1+d],vt),Mt,qr,function(Gt){return[0,Xe,[0,Lt,Gt]]})},ae,function(vt,qr,Pe){var Lt=Pe[2],Xe=Pe[1],Mt=Xe[3],Gt=Xe[2],Ze=Xe[1];if(Mt)var Xr=pv(J(vt[1][1+p],vt),Mt),qt=Gt;else var Xr=0,qt=K(vt[1][1+p],vt,Gt);var kn=K(vt[1][1+d],vt,Lt);return Gt===qt&&Mt===Xr&&Lt===kn?Pe:[0,[0,Ze,qt,Xr],kn]},se,function(vt,qr,Pe){var Lt=Pe[2],Xe=Lt[2],Mt=Lt[1],Gt=Pe[1];if(!Xe)return Tr(K(vt[1][1+Z],vt,qr),Mt,Pe,function(Xr){return[0,Gt,[0,Xr,Xe]]});var Ze=Xe[1];return Tr(J(vt[1][1+O],vt),Ze,Pe,function(Xr){return[0,Gt,[0,Mt,[0,Xr]]]})}]),function(vt,qr,Pe){var Lt=AQ(qr,o);return Lt[1+T]=Pe,J(rn,Lt),PB(qr,Lt,o)}});function iV(o){var T=lv(o);if(T)var a=T[1],u=Vr(o)?(_i(o,a[3]),[0,K(nI[1],0,a[3])]):0,p=u;else var p=0;return[0,0,function(d,q){return p?q(p[1],d):d}]}function _v(o){var T=lv(o);if(T){var a=T[1];if(Vr(o)){_i(o,a[3]);var u=oi(o),p=[0,K(nI[1],0,[0,a[3][1]+1|0,0])],d=u}else var p=0,d=oi(o)}else var p=0,d=0;return[0,d,function(q,g){return p?K(g,p[1],q):q}]}function Ol(o){return CT(o)?_v(o):iV(o)}function NR(o,T){return K(Ol(o)[2],T,function(a,u){return K(ki(a,x9,2),a,u)})}function Vl(o,T){if(!T)return 0;var a=T[1];return[0,K(Ol(o)[2],a,function(u,p){return K(ki(u,tq,5),u,p)})]}function vd(o,T){return K(Ol(o)[2],T,function(a,u){return K(ki(a,g0e,8),a,u)})}function hv(o,T){return K(Ol(o)[2],T,function(a,u){return K(ki(a,-1045824777,9),a,u)})}function x3(o,T){return K(Ol(o)[2],T,function(a,u){return K(ki(a,-455772979,10),a,u)})}function iI(o,T){if(!T)return 0;var a=T[1];return[0,K(Ol(o)[2],a,function(u,p){return K(ki(u,d0e,13),u,p)})]}function lC(o,T){return K(Ol(o)[2],T,function(a,u){return K(ki(a,Moe,14),a,u)})}function cC(o,T){return K(Ol(o)[2],T,function(a,u){var p=J(ki(a,RS,16),a);return pv(function(d){return Dn(p,d)},u)})}function ple(o,T){return K(Ol(o)[2],T,function(a,u){return K(ki(a,-21476009,17),a,u)})}wB(sKe,function(o){var T=$G(o,tKe),a=QG(nKe),u=a.length-1,p=qRe.length-1,d=fm(u+p|0,0),q=u-1|0,g=0;if(q>=0)for(var O=g;;){var B=qQ(o,Wo(a,O)[1+O]);Wo(d,O)[1+O]=B;var W=O+1|0;if(q===O)break;var O=W}var Y=p-1|0,V=0;if(Y>=0)for(var Z=V;;){var se=Z+u|0,ae=$G(o,Wo(qRe,Z)[1+Z]);Wo(d,se)[1+se]=ae;var ue=Z+1|0;if(Y===Z)break;var Z=ue}var pe=d[4],xe=d[5],ye=d[CZ],ge=d[_P],Ne=d[316],Fe=d[317],ze=d[44],ut=d[je],it=d[IZ],Tt=NG(o,0,0,CRe,zo,1)[1];return IB(o,[0,ut,function(Rt){return[0,Rt[1+Ne],Rt[1+Fe]]},ge,function(Rt,kt){var ft=kt[2],It=kt[1];return yR(J(Rt[1][1+xe],Rt),It),yR(J(Rt[1][1+pe],Rt),ft)},ye,function(Rt,kt){return kt?K(Rt[1][1+ge],Rt,kt[1]):0},xe,function(Rt,kt){var ft=kt[1],It=Rt[1+Ne];if(It){var dt=O0(ft[2],It[1][1][2])<0?1:0,Ot=dt&&(Rt[1+Ne]=[0,kt],0);return Ot}var At=O0(ft[2],Rt[1+T][2])<0?1:0,wt=At&&(Rt[1+Ne]=[0,kt],0);return wt},pe,function(Rt,kt){var ft=kt[1],It=Rt[1+Fe];if(It){var dt=O0(It[1][1][2],ft[2])<0?1:0,Ot=dt&&(Rt[1+Fe]=[0,kt],0);return Ot}var At=0<=O0(ft[2],Rt[1+T][3])?1:0,wt=At&&(Rt[1+Fe]=[0,kt],0);return wt},ze,function(Rt,kt){return K(Rt[1][1+ge],Rt,kt),kt},it,function(Rt,kt,ft){return K(Rt[1][1+ye],Rt,ft[2]),ft}]),function(Rt,kt,ft){var It=AQ(kt,o);return It[1+T]=ft,J(Tt,It),It[1+Ne]=0,It[1+Fe]=0,PB(kt,It,o)}});function _le(o){var T=Bt(o);e:{if(typeof T=="number"){var a=T;if(50<=a)switch(a){case 50:var p=FKe;break e;case 51:var p=LKe;break e;case 52:var p=zKe;break e;case 53:var p=HKe;break e;case 54:var p=YKe;break e;case 55:var p=KKe;break e;case 56:var p=GKe;break e;case 57:var p=VKe;break e;case 58:var p=jKe;break e;case 59:var p=JKe;break e;case 60:var p=XKe;break e;case 61:var p=ZKe;break e;case 62:var p=eGe;break e;case 63:var p=tGe;break e;case 64:var p=rGe;break e;case 65:var p=nGe;break e;case 66:var p=iGe;break e;case 115:var p=aGe;break e;case 116:var p=sGe;break e;case 117:var p=oGe;break e;case 118:var p=RGe;break e;case 119:var p=uGe;break e;case 120:var p=lGe;break e;case 121:var p=cGe;break e;case 122:var p=TGe;break e;case 123:var p=pGe;break e;case 124:var p=_Ge;break e;case 125:var p=hGe;break e;case 126:var p=fGe;break e;case 127:var p=dGe;break e;case 129:var p=xGe;break e;case 130:var p=mGe;break e;case 131:var p=kGe;break e}else switch(a){case 15:var p=oKe;break e;case 16:var p=RKe;break e;case 17:var p=uKe;break e;case 18:var p=lKe;break e;case 19:var p=cKe;break e;case 20:var p=TKe;break e;case 21:var p=pKe;break e;case 22:var p=_Ke;break e;case 23:var p=hKe;break e;case 24:var p=fKe;break e;case 25:var p=dKe;break e;case 26:var p=xKe;break e;case 27:var p=mKe;break e;case 28:var p=kKe;break e;case 29:var p=yKe;break e;case 30:var p=qKe;break e;case 31:var p=CKe;break e;case 32:var p=AKe;break e;case 33:var p=gKe;break e;case 34:var p=bKe;break e;case 35:var p=EKe;break e;case 36:var p=OKe;break e;case 37:var p=vKe;break e;case 38:var p=DKe;break e;case 39:var p=SKe;break e;case 40:var p=$Ke;break e;case 41:var p=QKe;break e;case 42:var p=NKe;break e;case 43:var p=wKe;break e;case 44:var p=PKe;break e;case 45:var p=BKe;break e;case 46:var p=IKe;break e;case 47:var p=MKe;break e;case 48:var p=WKe;break e;case 49:var p=UKe;break e}}else switch(T[0]){case 4:var p=T[2];break e;case 11:var u=T[1]?yGe:qGe,p=u;break e}Gu(CGe,o);var p=AGe}return Wn(o),p}function lp(o){var T=st(o),a=Gr(o),u=_le(o);return[0,T,[0,u,Nr([0,a],[0,Kn(o)],he)]]}function cp(o){var T=st(o),a=Gr(o);ar(o,14);var u=st(o),p=_le(o),d=Nr([0,a],[0,Kn(o)],he),q=$R(T,u),g=u[2],O=T[3],B=O[1]===g[1]?1:0,W=B&&(O[2]===g[2]?1:0);return 1-W&&zn(o,[0,q,fT]),[0,q,[0,p,d]]}function fv(o){var T=o[2],a=T[3]===0?1:0,u=T[2];if(!a)return a;for(var p=u;;){if(!p)return 1;var d=p[1][2],q=p[2];e:{if(d[1][2][0]===2&&!d[2]){var g=1;break e}var g=0}if(!g)return g;var p=q}}function X9(o){for(var T=o;;){var a=T[2];if(a[0]!==31)return 0;var u=a[1][2];if(u[2][0]===27)return 1;var T=u}}function dv(o,T,a){var u=a[2][1],p=a[1];if(!Re(u,E8)){var d=T[19];return d&&zn(T,[0,p,5])}if(Re(u,d9)){if(!Re(u,te))return T[18]?zn(T,[0,p,96]):qc(T,[0,p,81])}else if(T[14])return zn(T,[0,p,[26,HB(u)]]);if(BQ(u))return qc(T,[0,p,81]);if(d3(u))return zn(T,[0,p,96]);if(o){var q=o[1];if(oC(u))return qc(T,[0,p,q])}}function Qr(o,T,a){var u=o?o[1]:st(a),p=J(T,a),d=lv(a),q=d?$R(u,d[1]):u;return[0,q,p]}function wr(o,T,a){var u=Qr(o,T,a),p=u[2];return[0,[0,u[1],p[1]],p[2]]}function aI(o){bo(o,0);var T=Bt(o);A0(o);var a=Po(1,o);e:{t:{if(typeof T=="number"){if(T!==22)break e}else{if(T[0]!==4)break e;var u=T[3];if(Re(u,cm)){if(!Re(u,Hs))r:{if(typeof a=="number"){if(a!==22)break r}else if(a[0]!==4)break r;break t}}else r:{if(typeof a=="number"){if(a!==22)break r}else if(a[0]!==4)break r;break t}}if(typeof a=="number"){if(n6!==a)break e}else if(a[0]!==4||Re(a[3],cb))break e}return 1}return 0}function aV(o,T){var a=T[1],u=T[2][1],p=u?0:1;p&&zn(o,[0,a,49]);function d(pe){return pe[0]===0?[0,pe[1]]:(zn(o,[0,pe[1][1],50]),0)}e:{for(var q=u;;){if(!q){var g=0;break e}var O=q[2],B=d(q[1]);if(B)break;var q=O}for(var W=[0,B[1],Mp],Y=W,V=1,Z=O;;){if(!Z){Y[1+V]=0;var g=W;break}var se=Z[2],ae=d(Z[1]);if(ae){var ue=[0,ae[1],Mp];Y[1+V]=ue;var Y=ue,V=1,Z=se}else var Z=se}}return g&&!g[2]?g[1]:[0,a,[29,[0,g,0]]]}function hle(o){switch(o){case 3:return 2;case 4:return 1;case 5:return 1;case 6:return 1;case 7:return 1;default:return 1}}function sV(o,T,a){if(a){var u=a[1];e:{if(u!==8232&&d1!==u){if(u===10){var p=6;break e}if(u===13){var p=5;break e}if(ub<=u){var p=3;break e}if(sP<=u){var p=2;break e}if(t0<=u){var p=1;break e}var p=0;break e}var p=7}var d=p}else var d=4;return[0,d,o]}var PTt=[Ws,aVe,md(0)];function fle(o,T,a,u){try{var p=Wo(o,T)[1+T];return p}catch(q){var d=n0(q);throw d[1]===uQ?Pr([0,PTt,a,sn(fa(nVe),u,T,o.length-1)],1):Pr(d,0)}}function WQ(o,T){if(T[1]===0&&T[2]===0)return 0;var a=fle(o,T[1]-1|0,T,tVe);return fle(a,T[2],T,rVe)}function dle(o){function T(O){var B=Bt(O);e:if(typeof B=="number"){if(8<=B){if(10<=B)break e}else if(B!==1)break e;return 1}return 0}function a(O,B,W,Y,V,Z){var se=sn(o[24],O,V,Z);if(W)var ae=hi(DVe,Z),ue=-se;else var ae=Z,ue=se;var pe=Kn(O);return T(O)?[2,B,[0,ue,ae,Nr([0,Y],[0,pe],he)]]:[0,B]}function u(O){var B=st(O),W=Gr(O),Y=Bt(O);if(typeof Y=="number")switch(Y){case 105:Wn(O);var V=Bt(O);return typeof V!="number"&&V[0]===0?a(O,B,1,W,V[1],V[2]):[0,B];case 31:case 32:Wn(O);var Z=Kn(O);return T(O)?[1,B,[0,Y===32?1:0,Nr([0,W],[0,Z],he)]]:[0,B]}else switch(Y[0]){case 0:return a(O,B,0,W,Y[1],Y[2]);case 1:var se=Y[2],ae=sn(o[26],O,Y[1],se),ue=Kn(O);return T(O)?[4,B,[0,ae,se,Nr([0,W],[0,ue],he)]]:[0,B];case 2:var pe=Y[1],xe=pe[1],ye=pe[3],ge=pe[2];pe[4]&&e7(O,77),Wn(O);var Ne=Kn(O);return T(O)?[3,xe,[0,ge,ye,Nr([0,W],[0,Ne],he)]]:[0,xe]}return Wn(O),[0,B]}var p=[0,SVe,bd[1],0,0];function d(O){var B=lp(O),W=Bt(O);e:{if(typeof W=="number"){if(W===83){ar(O,83);var Y=u(O);break e}if(W===87){Us(O,[8,B[2][1]]),ar(O,87);var Y=u(O);break e}}var Y=0}return[0,B,Y]}var q=0;function g(O,B,W,Y,V,Z,se){var ae=r2(V),ue=r2(Z);function pe(ye){return[2,[0,[0,Z],W,Y,se]]}function xe(ye){return[2,[0,[1,V],W,Y,se]]}return ae===0?pe(he):ue===0?xe(he):ae>>0){if(Yc>=ze+1>>>0)break}else if(ze===10){var ut=st(ue),it=Gr(ue);Wn(ue);var Tt=Bt(ue);e:{t:if(typeof Tt=="number"){var Rt=Tt-2|0;if(fT>>0){if(Yc>>0)break t}else{if(Rt!==7)break t;ar(ue,9);var kt=Bt(ue);r:{n:if(typeof kt=="number"){if(kt!==1&&d0!==kt)break n;var ft=1;break r}var ft=0}zn(ue,[0,ut,[6,ft]])}break e}zn(ue,[0,ut,CVe])}var Ne=[0,Ne[1],Ne[2],1,it];continue}}var It=Ne[2],dt=Ne[1],Ot=Qr(q,d,ue),At=Ot[2],wt=At[2],or=At[1],rr=Ot[1],Jt=or[2][1],tr=or[1];e:if(Qa(Jt,ua))var mr=Ne;else{var Xt=r0(Jt,0),hr=97<=Xt?1:0,Ge=hr&&(Xt<=X0?1:0);Ge&&zn(ue,[0,tr,[10,Z,Jt]]),bd[3].call(null,Jt,It)&&zn(ue,[0,tr,[4,Z,Jt]]);var Cr=Ne[4],rt=Ne[3],yr=bd[4].call(null,Jt,It),sr=[0,Ne[1],yr,rt,Cr];let Jn=Jt;var Ir=function(Oi,Cn){if(ye&&ye[1]!==Oi)return zn(ue,[0,Cn,[9,Z,ye,Jn]])};if(typeof wt=="number"){if(ye)switch(ye[1]){case 0:zn(ue,[0,rr,[3,Z,Jt]]);var mr=sr;break e;case 1:zn(ue,[0,rr,[11,Z,Jt]]);var mr=sr;break e;case 4:zn(ue,[0,rr,[2,Z,Jt]]);var mr=sr;break e}var mr=[0,[0,dt[1],dt[2],dt[3],dt[4],[0,[0,rr,[0,or]],dt[5]]],yr,rt,Cr]}else switch(wt[0]){case 0:zn(ue,[0,wt[1],[9,Z,ye,Jt]]);var mr=sr;break;case 1:var Dr=wt[1],on=wt[2];Ir(0,Dr);var mr=[0,[0,[0,[0,rr,[0,or,[0,Dr,on]]],dt[1]],dt[2],dt[3],dt[4],dt[5]],yr,rt,Cr];break;case 2:var cn=wt[1],Lr=wt[2];Ir(1,cn);var mr=[0,[0,dt[1],[0,[0,rr,[0,or,[0,cn,Lr]]],dt[2]],dt[3],dt[4],dt[5]],yr,rt,Cr];break;case 3:var fn=wt[1],rn=wt[2];Ir(2,fn);var mr=[0,[0,dt[1],dt[2],[0,[0,rr,[0,or,[0,fn,rn]]],dt[3]],dt[4],dt[5]],yr,rt,Cr];break;default:var vt=wt[1],qr=wt[2];Ir(4,vt);var mr=[0,[0,dt[1],dt[2],dt[3],[0,[0,rr,[0,or,[0,vt,qr]]],dt[4]],dt[5]],yr,rt,Cr]}}var Pe=Bt(ue);e:{t:if(typeof Pe=="number"){var Lt=Pe-2|0;if(fT>>0){if(Yc>>0)break t}else{if(Lt!==6)break t;Us(ue,18),ar(ue,8)}break e}ar(ue,9)}var Ne=mr}var Xe=Ne[3],Mt=Ne[4],Gt=xn(Ne[1][5]),Ze=xn(Ne[1][4]),Xr=xn(Ne[1][3]),qt=xn(Ne[1][2]),kn=xn(Ne[1][1]),Ki=pi(Mt,Gr(ue));ar(ue,1);var Qe=Bt(ue);e:{t:if(typeof Qe=="number"){if(Qe!==1&&d0!==Qe)break t;var Vt=Kn(ue);break e}var Vt=CT(ue)?oi(ue):0}var We=kr([0,ge],[0,Vt],Ki,he);if(ye){switch(ye[1]){case 0:var Qt=[0,[0,kn,1,Xe,We]];break;case 1:var Qt=[1,[0,qt,1,Xe,We]];break;case 2:var Qt=g(ue,Z,1,Xe,Xr,Gt,We);break;case 3:var Qt=[3,[0,Gt,Xe,We]];break;default:var Qt=[4,[0,Ze,1,Xe,We]]}var gn=Qt}else{var qn=r2(kn),gr=r2(qt),wn=r2(Ze),br=r2(Xr),jn=r2(Gt),Rn=function(Jn){return[2,[0,AVe,0,Xe,We]]};e:{if(qn===0&&gr===0&&wn===0){if(br===0&&jn===0){var ai=Rn(he);break e}var ai=g(ue,Z,0,Xe,Xr,Gt,We);break e}if(gr===0&&wn===0&&br===0&&jn<=qn){yR(function(Oi){return zn(ue,[0,Oi[1],[3,Z,Oi[2][1][2][1]]])},Gt);var ai=[0,[0,kn,0,Xe,We]];break e}if(qn===0){if(wn===0&&br===0&&jn<=gr){yR(function(Oi){return zn(ue,[0,Oi[1],[11,Z,Oi[2][1][2][1]]])},Gt);var ai=[1,[0,qt,0,Xe,We]];break e}if(gr===0&&br===0&&jn<=wn){yR(function(Oi){return zn(ue,[0,Oi[1],[11,Z,Oi[2][1][2][1]]])},Gt);var ai=[4,[0,Ze,0,Xe,We]];break e}}zn(ue,[0,se,[5,Z]]);var ai=Rn(he)}var gn=ai}return gn},B);return[0,V,ae,Nr([0,Y],0,he)]}]}function Z9(o){return[0,qi(o)]}function UQ(o,T,a){if(typeof a=="number")return[0,o,T];if(a[0]===0){var u=a[1],p=dn(o,u),d=a[2];return p===0?d===T?a:[0,u,T]:0<=p?[1,2,o,T,a,0]:[1,2,o,T,0,a]}var q=a[5],g=a[4],O=a[3],B=a[2],W=dn(o,B),Y=a[1];if(W===0)return O===T?a:[1,Y,o,T,g,q];if(0<=W){var V=UQ(o,T,q);return q===V?a:wG(g,B,O,V)}var Z=UQ(o,T,g);return g===Z?a:wG(Z,B,O,q)}function BTt(o,T){if(typeof o=="number"){var a=o;if(57<=a)switch(a){case 57:if(typeof T=="number"&&T===57)return 0;break;case 58:if(typeof T=="number"&&T===58)return 0;break;case 59:if(typeof T=="number"&&T===59)return 0;break;case 60:if(typeof T=="number"&&T===60)return 0;break;case 61:if(typeof T=="number"&&T===61)return 0;break;case 62:if(typeof T=="number"&&T===62)return 0;break;case 63:if(typeof T=="number"&&T===63)return 0;break;case 64:if(typeof T=="number"&&T===64)return 0;break;case 65:if(typeof T=="number"&&T===65)return 0;break;case 66:if(typeof T=="number"&&T===66)return 0;break;case 67:if(typeof T=="number"&&T===67)return 0;break;case 68:if(typeof T=="number"&&T===68)return 0;break;case 69:if(typeof T=="number"&&T===69)return 0;break;case 70:if(typeof T=="number"&&T===70)return 0;break;case 71:if(typeof T=="number"&&T===71)return 0;break;case 72:if(typeof T=="number"&&T===72)return 0;break;case 73:if(typeof T=="number"&&T===73)return 0;break;case 74:if(typeof T=="number"&&T===74)return 0;break;case 75:if(typeof T=="number"&&T===75)return 0;break;case 76:if(typeof T=="number"&&T===76)return 0;break;case 77:if(typeof T=="number"&&T===77)return 0;break;case 78:if(typeof T=="number"&&T===78)return 0;break;case 79:if(typeof T=="number"&&T===79)return 0;break;case 80:if(typeof T=="number"&&T===80)return 0;break;case 81:if(typeof T=="number"&&T===81)return 0;break;case 82:if(typeof T=="number"&&T===82)return 0;break;case 83:if(typeof T=="number"&&T===83)return 0;break;case 84:if(typeof T=="number"&&T===84)return 0;break;case 85:if(typeof T=="number"&&T===85)return 0;break;case 86:if(typeof T=="number"&&T===86)return 0;break;case 87:if(typeof T=="number"&&T===87)return 0;break;case 88:if(typeof T=="number"&&T===88)return 0;break;case 89:if(typeof T=="number"&&T===89)return 0;break;case 90:if(typeof T=="number"&&T===90)return 0;break;case 91:if(typeof T=="number"&&T===91)return 0;break;case 92:if(typeof T=="number"&&T===92)return 0;break;case 93:if(typeof T=="number"&&T===93)return 0;break;case 94:if(typeof T=="number"&&T===94)return 0;break;case 95:if(typeof T=="number"&&T===95)return 0;break;case 96:if(typeof T=="number"&&T===96)return 0;break;case 97:if(typeof T=="number"&&T===97)return 0;break;case 98:if(typeof T=="number"&&T===98)return 0;break;case 99:if(typeof T=="number"&&T===99)return 0;break;case 100:if(typeof T=="number"&&dR===T)return 0;break;case 101:if(typeof T=="number"&&Fr===T)return 0;break;case 102:if(typeof T=="number"&&gl===T)return 0;break;case 103:if(typeof T=="number"&&Kl===T)return 0;break;case 104:if(typeof T=="number"&&lc===T)return 0;break;case 105:if(typeof T=="number"&&vk===T)return 0;break;case 106:if(typeof T=="number"&&dT===T)return 0;break;case 107:if(typeof T=="number"&&jT===T)return 0;break;case 108:if(typeof T=="number"&&_m===T)return 0;break;case 109:if(typeof T=="number"&&Ta===T)return 0;break;case 110:if(typeof T=="number"&&SR===T)return 0;break;case 111:if(typeof T=="number"&&fT===T)return 0;break;case 112:if(typeof T=="number"&&Gx===T)return 0;break;default:if(typeof T=="number"&&Yc<=T)return 0}else switch(a){case 0:if(typeof T=="number"&&!T)return 0;break;case 1:if(typeof T=="number"&&T===1)return 0;break;case 2:if(typeof T=="number"&&T===2)return 0;break;case 3:if(typeof T=="number"&&T===3)return 0;break;case 4:if(typeof T=="number"&&T===4)return 0;break;case 5:if(typeof T=="number"&&T===5)return 0;break;case 6:if(typeof T=="number"&&T===6)return 0;break;case 7:if(typeof T=="number"&&T===7)return 0;break;case 8:if(typeof T=="number"&&T===8)return 0;break;case 9:if(typeof T=="number"&&T===9)return 0;break;case 10:if(typeof T=="number"&&T===10)return 0;break;case 11:if(typeof T=="number"&&T===11)return 0;break;case 12:if(typeof T=="number"&&T===12)return 0;break;case 13:if(typeof T=="number"&&T===13)return 0;break;case 14:if(typeof T=="number"&&T===14)return 0;break;case 15:if(typeof T=="number"&&T===15)return 0;break;case 16:if(typeof T=="number"&&T===16)return 0;break;case 17:if(typeof T=="number"&&T===17)return 0;break;case 18:if(typeof T=="number"&&T===18)return 0;break;case 19:if(typeof T=="number"&&T===19)return 0;break;case 20:if(typeof T=="number"&&T===20)return 0;break;case 21:if(typeof T=="number"&&T===21)return 0;break;case 22:if(typeof T=="number"&&T===22)return 0;break;case 23:if(typeof T=="number"&&T===23)return 0;break;case 24:if(typeof T=="number"&&T===24)return 0;break;case 25:if(typeof T=="number"&&T===25)return 0;break;case 26:if(typeof T=="number"&&T===26)return 0;break;case 27:if(typeof T=="number"&&T===27)return 0;break;case 28:if(typeof T=="number"&&T===28)return 0;break;case 29:if(typeof T=="number"&&T===29)return 0;break;case 30:if(typeof T=="number"&&T===30)return 0;break;case 31:if(typeof T=="number"&&T===31)return 0;break;case 32:if(typeof T=="number"&&T===32)return 0;break;case 33:if(typeof T=="number"&&T===33)return 0;break;case 34:if(typeof T=="number"&&T===34)return 0;break;case 35:if(typeof T=="number"&&T===35)return 0;break;case 36:if(typeof T=="number"&&T===36)return 0;break;case 37:if(typeof T=="number"&&T===37)return 0;break;case 38:if(typeof T=="number"&&T===38)return 0;break;case 39:if(typeof T=="number"&&T===39)return 0;break;case 40:if(typeof T=="number"&&T===40)return 0;break;case 41:if(typeof T=="number"&&T===41)return 0;break;case 42:if(typeof T=="number"&&T===42)return 0;break;case 43:if(typeof T=="number"&&T===43)return 0;break;case 44:if(typeof T=="number"&&T===44)return 0;break;case 45:if(typeof T=="number"&&T===45)return 0;break;case 46:if(typeof T=="number"&&T===46)return 0;break;case 47:if(typeof T=="number"&&T===47)return 0;break;case 48:if(typeof T=="number"&&T===48)return 0;break;case 49:if(typeof T=="number"&&T===49)return 0;break;case 50:if(typeof T=="number"&&T===50)return 0;break;case 51:if(typeof T=="number"&&T===51)return 0;break;case 52:if(typeof T=="number"&&T===52)return 0;break;case 53:if(typeof T=="number"&&T===53)return 0;break;case 54:if(typeof T=="number"&&T===54)return 0;break;case 55:if(typeof T=="number"&&T===55)return 0;break;default:if(typeof T=="number"&&T===56)return 0}}else switch(o[0]){case 0:if(typeof T!="number"&&T[0]===0){var u=T[1],p=o[1];return K(J(Fo[43],0),p,u)}break;case 1:if(typeof T!="number"&&T[0]===1){var d=T[1],q=o[1];return K(J(Fo[42],0),q,d)}break;case 2:if(typeof T!="number"&&T[0]===2){var g=T[2],O=T[1],B=o[2],W=o[1],Y=K(J(Fo[41],0),W,O);return Y===0?K(J(Fo[40],0),B,g):Y}break;case 3:if(typeof T!="number"&&T[0]===3){var V=T[2],Z=T[1],se=o[2],ae=o[1],ue=K(J(Fo[39],0),ae,Z);return ue===0?K(J(Fo[38],0),se,V):ue}break;case 4:if(typeof T!="number"&&T[0]===4){var pe=T[2],xe=T[1],ye=o[2],ge=o[1],Ne=K(J(Fo[37],0),ge,xe);return Ne===0?K(J(Fo[36],0),ye,pe):Ne}break;case 5:if(typeof T!="number"&&T[0]===5){var Fe=T[1],ze=o[1];return K(J(Fo[35],0),ze,Fe)}break;case 6:if(typeof T!="number"&&T[0]===6){var ut=T[1],it=o[1];return K(J(Fo[34],0),it,ut)}break;case 7:if(typeof T!="number"&&T[0]===7){var Tt=T[2],Rt=o[2],kt=T[1],ft=o[1],It=K(J(Fo[33],0),ft,kt);if(It!==0)return It;if(!Rt)return Tt?-1:0;var dt=Rt[1];if(!Tt)return 1;var Ot=Tt[1];return K(J(Fo[32],0),dt,Ot)}break;case 8:if(typeof T!="number"&&T[0]===8){var At=T[1],wt=o[1];return K(J(Fo[31],0),wt,At)}break;case 9:if(typeof T!="number"&&T[0]===9){var or=T[2],rr=o[2],Jt=T[3],tr=T[1],mr=o[3],Xt=o[1],hr=K(J(Fo[30],0),Xt,tr);if(hr!==0)return hr;if(rr)var Ge=rr[1],Cr=or?K(Fo[29],Ge,or[1]):1;else var Cr=or?-1:0;return Cr===0?K(J(Fo[28],0),mr,Jt):Cr}break;case 10:if(typeof T!="number"&&T[0]===10){var rt=T[2],yr=T[1],sr=o[2],Ir=o[1],Dr=K(J(Fo[27],0),Ir,yr);return Dr===0?K(J(Fo[26],0),sr,rt):Dr}break;case 11:if(typeof T!="number"&&T[0]===11){var on=T[2],cn=T[1],Lr=o[2],fn=o[1],rn=K(J(Fo[25],0),fn,cn);return rn===0?K(J(Fo[24],0),Lr,on):rn}break;case 12:if(typeof T!="number"&&T[0]===12){var vt=T[1],qr=o[1];return K(J(Fo[23],0),qr,vt)}break;case 13:if(typeof T!="number"&&T[0]===13){var Pe=T[1],Lt=o[1];return K(J(Fo[22],0),Lt,Pe)}break;case 14:if(typeof T!="number"&&T[0]===14){var Xe=T[1],Mt=o[1];return K(J(Fo[21],0),Mt,Xe)}break;case 15:if(typeof T!="number"&&T[0]===15){var Gt=T[4],Ze=T[3],Xr=T[2],qt=T[1],kn=o[4],Ki=o[3],Qe=o[2],Vt=o[1],We=K(J(Fo[20],0),Vt,qt);if(We!==0)return We;var Qt=K(J(Fo[19],0),Qe,Xr);if(Qt!==0)return Qt;var gn=K(J(Fo[18],0),Ki,Ze);return gn===0?K(J(Fo[17],0),kn,Gt):gn}break;case 16:if(typeof T!="number"&&T[0]===16){var qn=T[1],gr=o[1];return K(J(Fo[16],0),gr,qn)}break;case 17:if(typeof T!="number"&&T[0]===17){var wn=T[2],br=T[1],jn=o[2],Rn=o[1],ai=K(J(Fo[15],0),Rn,br);return ai===0?K(J(Fo[14],0),jn,wn):ai}break;case 18:if(typeof T!="number"&&T[0]===18){var mn=T[1],Jn=o[1];return K(J(Fo[13],0),Jn,mn)}break;case 19:if(typeof T!="number"&&T[0]===19){var Oi=T[1],Cn=o[1];return K(J(Fo[12],0),Cn,Oi)}break;case 20:if(typeof T!="number"&&T[0]===20){var Fi=T[1],Ri=o[1];if(QS<=Ri){if(typeof Fi=="number"&&QS===Fi)return 0}else if(typeof Fi=="number"&&qoe===Fi)return 0;var Da=function(Gc){return QS<=Gc?1:0},Ha=Da(Fi);return fc(Da(Ri),Ha)}break;case 21:if(typeof T!="number"&&T[0]===21){var Fs=T[1],Ks=o[1];return K(J(Fo[11],0),Ks,Fs)}break;case 22:if(typeof T!="number"&&T[0]===22){var Yo=T[1],ra=o[1];return K(J(Fo[10],0),ra,Yo)}break;case 23:if(typeof T!="number"&&T[0]===23){var we=T[2],Ft=T[1],Oe=o[2],yt=o[1],yn=K(J(Fo[9],0),yt,Ft);return yn===0?K(J(Fo[8],0),Oe,we):yn}break;case 24:if(typeof T!="number"&&T[0]===24){var tn=T[1],di=o[1];if(t6===di){if(typeof tn=="number"&&t6===tn)return 0}else if(lb<=di){if(typeof tn=="number"&&lb===tn)return 0}else if(typeof tn=="number"&&W4===tn)return 0;var ui=function(Gc){return t6===Gc?0:lb<=Gc?2:1},_s=ui(tn);return fc(ui(di),_s)}break;case 25:if(typeof T!="number"&&T[0]===25){var la=T[1],hs=o[1];return K(J(Fo[7],0),hs,la)}break;case 26:if(typeof T!="number"&&T[0]===26){var Za=T[1],ci=o[1];return K(J(Fo[6],0),ci,Za)}break;case 27:if(typeof T!="number"&&T[0]===27){var Ra=T[2],Xn=T[1],Zi=o[2],is=o[1],co=K(J(Fo[5],0),is,Xn);return co===0?K(J(Fo[4],0),Zi,Ra):co}break;case 28:if(typeof T!="number"&&T[0]===28){var zR=T[2],HR=T[1],$1=o[2],Vu=o[1],Sl=K(J(Fo[3],0),Vu,HR);return Sl===0?K(J(Fo[2],0),$1,zR):Sl}break;default:if(typeof T!="number"&&T[0]===29){var c0=T[1],jl=o[1];return K(J(Fo[1],0),jl,c0)}}function lR(Gc){if(typeof Gc!="number")switch(Gc[0]){case 0:return 16;case 1:return 17;case 2:return 19;case 3:return 20;case 4:return 21;case 5:return 22;case 6:return 23;case 7:return 24;case 8:return 26;case 9:return 27;case 10:return 28;case 11:return 30;case 12:return 31;case 13:return 33;case 14:return 36;case 15:return 48;case 16:return 50;case 17:return 51;case 18:return 53;case 19:return 61;case 20:return 69;case 21:return 73;case 22:return 82;case 23:return 89;case 24:return Ta;case 25:return kb;case 26:return GO;case 27:return n6;case 28:return w2;default:return MY}var Q1=Gc;if(57<=Q1)switch(Q1){case 57:return 79;case 58:return 80;case 59:return 81;case 60:return 83;case 61:return 84;case 62:return 85;case 63:return 86;case 64:return 87;case 65:return 88;case 66:return 90;case 67:return 91;case 68:return 92;case 69:return 93;case 70:return 94;case 71:return 95;case 72:return 96;case 73:return 97;case 74:return 98;case 75:return 99;case 76:return dR;case 77:return Fr;case 78:return gl;case 79:return Kl;case 80:return lc;case 81:return vk;case 82:return dT;case 83:return jT;case 84:return _m;case 85:return SR;case 86:return fT;case 87:return Gx;case 88:return Yc;case 89:return d0;case 90:return JO;case 91:return pm;case 92:return jg;case 93:return T9;case 94:return db;case 95:return X0;case 96:return A_;case 97:return Hx;case 98:return m_;case 99:return mS;case 100:return C0;case 101:return t0;case 102:return mb;case 103:return IS;case 104:return ES;case 105:return xS;case 106:return aL;case 107:return Tee;case 108:return SO;case 109:return eee;case 110:return x0e;case 111:return Dee;case 112:return P0e;default:return zee}switch(Q1){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 5:return 5;case 6:return 6;case 7:return 7;case 8:return 8;case 9:return 9;case 10:return 10;case 11:return 11;case 12:return 12;case 13:return 13;case 14:return 14;case 15:return 15;case 16:return 18;case 17:return 25;case 18:return 29;case 19:return 32;case 20:return 34;case 21:return 35;case 22:return 37;case 23:return 38;case 24:return 39;case 25:return 40;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 49;case 34:return 52;case 35:return 54;case 36:return 55;case 37:return 56;case 38:return 57;case 39:return 58;case 40:return 59;case 41:return 60;case 42:return 62;case 43:return 63;case 44:return 64;case 45:return 65;case 46:return 66;case 47:return 67;case 48:return 68;case 49:return 70;case 50:return 71;case 51:return 72;case 52:return 74;case 53:return 75;case 54:return 76;case 55:return 77;default:return 78}}var S_=lR(T);return fc(lR(o),S_)}var oV=Jee([0,function(o,T){var a=T[2],u=o[2],p=_3(o[1],T[1]);return p===0?BTt(u,a):p}]);function aE(o,T,a){var u=a[2][1],p=a[1];return Qa(u,ua)?T:bd[3].call(null,u,T)?(zn(o,[0,p,[0,u]]),T):bd[4].call(null,u,T)}function RV(o){return function(T){var a=T[2];switch(a[0]){case 0:return tR(function(u,p){var d=p[0]===0?p[1][2][2]:p[1][2][1];return RV(u)(d)},o,a[1][1]);case 1:return tR(function(u,p){if(p[0]===2)return u;var d=p[1][2][1];return RV(u)(d)},o,a[1][1]);case 2:return[0,a[1][1],o];default:return Ln(HXe)}}}var Er=Gee(KXe,YXe[1]);function FQ(o,T,a){var u=o?o[1]:0,p=T?T[1]:0,d=st(a),q=Bt(a);if(typeof q=="number")switch(q){case 104:var g=Gr(a);return Wn(a),[0,[0,d,[0,0,Nr([0,g],0,he)]]];case 105:var O=Gr(a);return Wn(a),[0,[0,d,[0,1,Nr([0,O],0,he)]]];case 127:if(u){var B=Gr(a);return Wn(a),[0,[0,d,[0,2,Nr([0,B],0,he)]]]}break}else if(q[0]===4){var W=q[3];if(Re(W,Xd)){if(!Re(W,lS)&&p&&RC(1,a)){var Y=Gr(a);return Wn(a),[0,[0,d,[0,4,Nr([0,Y],0,he)]]]}}else if(p&&RC(1,a)){var V=Gr(a);Wn(a);var Z=Bt(a);e:{if(typeof Z!="number"&&Z[0]===4&&!Re(Z[3],lS)){var se=st(a);Wn(a);var ae=$R(d,se),ue=5;break e}var ae=d,ue=3}return[0,[0,ae,[0,ue,Nr([0,V],0,he)]]]}}return 0}function xle(o,T,a,u,p){T===1&&e7(p,77);var d=Gr(p);Wn(p);var q=Kn(p);if(o)var g=Nr([0,pi(o[1],d)],[0,q],he),O=g,B=hi(eVe,u),W=-a;else var O=Nr([0,d],[0,q],he),B=u,W=a;return[30,[0,W,B,O]]}function mle(o,T,a,u){var p=Gr(u);Wn(u);var d=Kn(u);if(o)var q=Nr([0,pi(o[1],p)],[0,d],he),g=hi(ZGe,a),O=q,B=g,W=cQ(UK,T);else var O=Nr([0,p],[0,d],he),B=a,W=T;return[31,[0,W,B,O]]}var kle=[],yle=[],qle=[],Cle=[],Ale=[],gle=[],ble=[],Ele=[],Ole=[],vle=[],Dle=[];function Ps(o){var T=st(o),a=iE(0,o);return Sle(a,T,uV(a))}function sE(o){return 1-Eu(o)&&Us(o,Kl),Qr(0,function(T){return ar(T,87),Ps(T)},o)}function Sle(o,T,a){var u=Bt(o);return typeof u=="number"&&u===42?Qr([0,T],function(p){ar(p,42);var d=uV(iE(1,p));nV(p,86);var q=Ps(p);nV(p,87);var g=Ps(p);return[17,[0,a,d,q,g,Nr(0,[0,Kn(p)],he)]]},o):a}function uV(o){var T=st(o);if(Bt(o)===90){var a=Gr(o);Wn(o);var u=a}else var u=0;return $le(o,[0,u],T,Qle(o))}function $le(o,T,a,u){var p=T?T[1]:0;return Bt(o)===90?Qr([0,a],K(kle[1],p,[0,u,0]),o):u}function Qle(o){var T=st(o);if(Bt(o)===92){var a=Gr(o);Wn(o);var u=a}else var u=0;return Nle(o,[0,u],T,wle(o))}function Nle(o,T,a,u){var p=T?T[1]:0;return Bt(o)===92?Qr([0,a],K(yle[1],p,[0,u,0]),o):u}function wle(o){return Ple(o,lV(o))}function Ple(o,T){var a=Bt(o);if(typeof a=="number"&&a===11&&!o[15]){var u=LQ(o,T);return HQ(1,o,u[1],0,[0,u[1],[0,0,[0,u,0],0,0]])}return T}function lV(o){var T=Bt(o);if(typeof T=="number"&&T===86)return Qr(0,function(u){var p=Gr(u);ar(u,86);var d=Nr([0,p],0,he);return[11,[0,lV(u),d]]},o);var a=st(o);return Ble(0,o,a,ITt(o))}function cV(o,T,a,u,p){var d=T?T[1]:0;if(CT(a))return p;var q=Bt(a);if(typeof q=="number"){if(q===6){Wn(a);var g=0;return o<50?eA(o+1|0,d,g,a,u,p):x0(eA,[0,d,g,a,u,p])}if(q===10){var O=Po(1,a);if(typeof O=="number"&&O===6){Us(a,gGe),ar(a,10),ar(a,6);var B=0;return o<50?eA(o+1|0,d,B,a,u,p):x0(eA,[0,d,B,a,u,p])}return Us(a,bGe),p}if(q===84){Wn(a),Bt(a)!==6&&Us(a,40),ar(a,6);var W=1,Y=1;return o<50?eA(o+1|0,Y,W,a,u,p):x0(eA,[0,Y,W,a,u,p])}}return p}function Ble(o,T,a,u){return RQ(cV(0,o,T,a,u))}function eA(o,T,a,u,p,d){var q=Qr([0,p],function(O){if(!a&&_n(O,7))return[16,[0,d,Nr(0,[0,Kn(O)],he)]];var B=Ps(O);ar(O,7);var W=[0,d,B,Nr(0,[0,Kn(O)],he)];return T?[21,[0,W,a]]:[20,W]},u),g=[0,T];return o<50?cV(o+1|0,g,u,p,q):x0(cV,[0,g,u,p,q])}function Ile(o){if(bo(o,0),Bt(o)===4){Wn(o);var T=Ile(o);ar(o,5);var u=T}else if(uC(o))var a=K(Er[13],0,o),u=[0,K(qle[1],o,[0,a[1],[0,a]])];else{Us(o,45);var u=0}return A0(o),u}function ITt(o){var T=st(o),a=Bt(o);e:{t:{if(typeof a=="number")switch(a){case 4:var u=st(o),p=Qr(0,UTt,o),d=p[2],q=p[1];return d[0]===0?HQ(1,o,u,0,[0,q,d[1]]):d[1];case 6:return Qr(0,function(dt){var Ot=Gr(dt);ar(dt,6);var At=G9(0,dt),wt=K(Cle[1],At,0),or=wt[2],rr=wt[1];return ar(dt,7),[28,[0,rr,or,Nr([0,Ot],[0,Kn(dt)],he)]]},o);case 47:return Qr(0,function(dt){var Ot=Gr(dt);ar(dt,47);var At=Ile(dt);if(!At)return EGe;var wt=At[1],or=CT(dt)?0:hV(dt);return[24,[0,wt,or,Nr([0,Ot],0,he)]]},o);case 54:return Qr(0,function(dt){var Ot=Gr(dt);Wn(dt);var At=zle(dt),wt=At[2],or=At[1];return[15,[0,wt,or,Nr([0,Ot],0,he)]]},o);case 99:var g=st(o),O=Vl(o,J8(o));return HQ(1,o,g,O,zQ(o));case 105:return Qr(0,MTt,o);case 107:var B=Gr(o);return Wn(o),[0,T,[10,Nr([0,B],[0,Kn(o)],he)]];case 126:return Qr(0,function(dt){var Ot=Gr(dt);Wn(dt);var At=Kn(dt),wt=Ps(dt);return[25,[0,wt,Nr([0,Ot],[0,At],he)]]},o);case 127:return Qr(0,function(dt){var Ot=Gr(dt);Wn(dt);var At=Kn(dt),wt=Ps(dt);return[27,[0,wt,Nr([0,Ot],[0,At],he)]]},o);case 128:return Qr(0,function(dt){var Ot=Gr(dt);Wn(dt);var At=Kn(dt),wt=Qr(0,function(or){var rr=j8(or);return[0,rr,rI(or,[0,st(or)],function(Jt){if(1-_n(Jt,42))throw Pr(Od,1);var tr=uV(Jt);if(!Jt[16]&&Bt(Jt)===86)throw Pr(Od,1);return[1,[0,tr[1],tr]]}),1,0,0]},dt);return[18,[0,wt,Nr([0,Ot],[0,At],he)]]},o);case 0:case 2:var W=_V(0,1,1,o);return[0,W[1],[14,W[2]]];case 132:case 133:break t;case 42:case 43:break;case 31:case 32:var Y=Gr(o);return Wn(o),[0,T,[32,[0,a===32?1:0,Nr([0,Y],[0,Kn(o)],he)]]];default:break e}else switch(a[0]){case 2:var V=a[1],Z=V[3],se=V[2],ae=V[1];V[4]&&e7(o,77);var ue=Gr(o);return Wn(o),[0,ae,[29,[0,se,Z,Nr([0,ue],[0,Kn(o)],he)]]];case 4:var pe=a[3];if(Re(pe,ih)){if(Re(pe,IO)){if(!Re(pe,lm))break t}else if(o[28][1]){var xe=Po(1,o);r:if(typeof xe=="number"){if(xe!==4&&xe!==99)break r;var ye=st(o);Wn(o);var ge=Vl(o,J8(o));return HQ(0,o,ye,ge,zQ(o))}var Ne=YQ(o);return[0,Ne[1],[19,Ne[2]]]}}else if(o[28][1])return Qr(0,function(dt){var Ot=Gr(dt);V8(dt,OGe);var At=Vl(dt,J8(dt)),wt=Wle(dt);if(tV(dt))var rr=vd(dt,fV(dt)),Jt=wt;else var or=fV(dt),rr=or,Jt=K(Ol(dt)[2],wt,function(tr,mr){return K(ki(tr,420776873,12),tr,mr)});return[13,[0,At,Jt,rr,Nr([0,Ot],0,he)]]},o);break;case 7:if(Re(a[1],Pc))break e;return Us(o,85),[0,T,vGe];case 12:var Fe=a[3],ze=a[2],ut=a[1],it=0;return Qr(0,function(dt){return xle(it,ut,ze,Fe,dt)},o);case 13:var Tt=a[3],Rt=a[2],kt=0;return Qr(0,function(dt){return mle(kt,Rt,Tt,dt)},o);default:break e}var ft=YQ(o);return[0,ft[1],[19,ft[2]]]}return Qr(0,function(dt){return[26,Mle(dt)]},o)}var It=WTt(o);return It?[0,T,It[1]]:(Gu(DGe,o),[0,T,SGe])}function MTt(o){var T=Gr(o);Wn(o);var a=Bt(o);if(typeof a!="number")switch(a[0]){case 12:return xle([0,T],a[1],a[2],a[3],o);case 13:return mle([0,T],a[2],a[3],o)}return Gu($Ge,o),QGe}function TV(o,T){var a=Gr(o),u=Qr(0,Wn,o)[1],p=Nr([0,a],[0,Kn(o)],he);return[0,[19,[0,[0,U8(0,[0,u,T])],0,p]]]}function WTt(o){var T=Gr(o),a=Bt(o);if(typeof a=="number")switch(a){case 30:return Wn(o),[0,[4,Nr([0,T],[0,Kn(o)],he)]];case 115:return Wn(o),[0,[0,Nr([0,T],[0,Kn(o)],he)]];case 116:return Wn(o),[0,[1,Nr([0,T],[0,Kn(o)],he)]];case 117:return Wn(o),[0,[2,Nr([0,T],[0,Kn(o)],he)]];case 118:return Wn(o),[0,[5,Nr([0,T],[0,Kn(o)],he)]];case 119:return Wn(o),[0,[6,Nr([0,T],[0,Kn(o)],he)]];case 120:return Wn(o),[0,[7,Nr([0,T],[0,Kn(o)],he)]];case 121:return Wn(o),[0,[3,Nr([0,T],[0,Kn(o)],he)]];case 122:return Wn(o),[0,[9,Nr([0,T],[0,Kn(o)],he)]];case 123:return Wn(o),[0,[33,Nr([0,T],[0,Kn(o)],he)]];case 124:return Wn(o),[0,[34,Nr([0,T],[0,Kn(o)],he)]];case 125:return Wn(o),[0,[35,Nr([0,T],[0,Kn(o)],he)]];case 129:return TV(o,NGe);case 130:return TV(o,wGe);case 131:return TV(o,PGe)}else if(a[0]===11){var u=a[1];Wn(o);var p=Kn(o),d=u?-883944824:737456202;return[0,[8,d,Nr([0,T],[0,p],he)]]}return 0}function Mle(o){var T=Gr(o),a=Bt(o);e:{if(typeof a=="number")switch(a){case 132:var u=1;break e;case 133:var u=2;break e}else if(a[0]===4&&!Re(a[3],lm)){var u=0;break e}var u=Ln(BGe)}var p=st(o);Wn(o);var d=Kn(o),q=lV(o);return[0,p,q,Nr([0,T],[0,d],he),u]}function LQ(o,T){return[0,T[1],[0,0,T,0]]}function Cm(o){return K(Ale[1],o,0)}function zQ(o){return Qr(0,function(T){var a=Gr(T);ar(T,4);var u=J(Cm(T),0),p=Gr(T);ar(T,5);var d=kr([0,a],[0,Kn(T)],p,he);return[0,u[1],u[2],u[3],d]},o)}function Wle(o){return Qr(0,function(T){var a=Gr(T);ar(T,4);var u=K(gle[1],T,0),p=Gr(T);ar(T,5);var d=kr([0,a],[0,Kn(T)],p,he);return[0,u[1],u[2],d]},o)}function UTt(o){var T=Gr(o);ar(o,4);var a=G9(0,o),u=Bt(a);e:{t:{r:{if(typeof u!="number"){if(u[0]!==4)break t;var p=u[3];if(Re(p,ih)){if(Re(p,lm))break r;var d=Po(1,a);n:{if(typeof d=="number"&&1>=d+Yx>>>0){var q=[0,J(Cm(a),0)];break n}var q=[1,Ps(a)]}var g=q}else{if(!a[28][1])break r;var O=Po(1,a);n:{i:if(typeof O=="number"){if(O!==4&&O!==99)break i;var B=[1,Ps(a)];break n}var B=Ule(a)}var g=B}var ae=g;break e}switch(u){case 5:var ae=IGe;break e;case 132:var W=Po(1,a);n:{if(typeof W=="number"&&W===87){var Y=[0,J(Cm(a),0)];break n}var Y=[1,Ps(a)]}var ae=Y;break e;case 43:break;case 12:case 114:var ae=[0,J(Cm(a),0)];break e;default:break t}}var ae=Ule(a);break e}t:{r:{if(typeof u=="number")switch(u){case 30:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:case 123:case 124:case 125:break;default:break r}else if(u[0]!==11)break r;var V=1;break t}var V=0}if(V){var Z=Po(1,a);t:{if(typeof Z=="number"&&1>=Z+Yx>>>0){var se=[0,J(Cm(a),0)];break t}var se=[1,Ps(a)]}var ae=se}else var ae=[1,Ps(a)]}if(ae[0]===0)var ue=ae;else{var pe=ae[1];if(o[15])var xe=ae;else{var ye=Bt(o);e:{if(typeof ye=="number"){if(ye===5){if(Po(1,o)===11){var ge=[0,LQ(o,pe),0],Fe=[0,J(Cm(o),ge)];break e}var Fe=[1,pe];break e}if(ye===9){ar(o,9);var Ne=[0,LQ(o,pe),0],Fe=[0,J(Cm(o),Ne)];break e}}var Fe=ae}var xe=Fe}var ue=xe}var ze=Gr(o);ar(o,5);var ut=Kn(o);if(ue[0]===0)var it=ue[1],Tt=kr([0,T],[0,ut],ze,he),Rt=[0,[0,it[1],it[2],it[3],Tt]];else var Rt=[1,FTt(ue[1],T,ut)];return Rt}function Ule(o){var T=Po(1,o);if(typeof T=="number"&&1>=T+Yx>>>0)return[0,J(Cm(o),0)];var a=st(o),u=Hle(o,j8(o)),p=$le(o,0,a,Nle(o,0,a,Ple(o,Ble(0,o,a,[0,u[1],[19,u[2]]]))));return[1,Sle(iE(0,o),a,p)]}function HQ(o,T,a,u,p){return Qr([0,a],function(d){return ar(d,11),[12,[0,u,p,Fle(d),0,o]]},T)}function Fle(o){return aI(o)?[1,pV(o)]:[0,Ps(o)]}function pV(o){function T(a){var u=Gr(a);ar(a,n6);var p=pi(u,Gr(a));return[0,[0,Ps(a)],p]}return Qr(0,function(a){var u=Gr(a),p=_n(a,mb)?1:_n(a,IS)?2:0;bo(a,0);var d=lp(a);A0(a);e:if(p===2)var q=T(a),g=q[2],O=q[1];else{var B=Bt(a);if(typeof B=="number"&&n6===B){var W=T(a),g=W[2],O=W[1];break e}var g=0,O=0}return[0,p,[0,d,O],kr([0,u],0,g,he)]},o)}function Lle(o,T){return Qr([0,T],pV,o)}function _V(o,T,a,u){var p=T&&(Bt(u)===2?1:0),d=T&&1-p;return Qr(0,function(q){var g=Gr(q),O=p?2:0;ar(q,O);var B=G9(0,q),W=vb(ble[1],o,d,a,p,B,MGe),Y=W[3],V=W[2],Z=W[1],se=pi(Y,Gr(q)),ae=p?3:1;return ar(q,ae),[0,p,V,Z,kr([0,g],[0,Kn(q)],se,he)]},u)}function zle(o){var T=_n(o,42)?cC(o,K(Ele[1],o,0)):0;return[0,T,_V(0,0,0,o)]}function j8(o){var T=lp(o),a=T[2],u=a[1],p=T[1],d=a[2];return tI(u)&&zn(o,[0,p,97]),[0,p,[0,u,d]]}function J8(o){if(Bt(o)!==99)return 0;1-Eu(o)&&Us(o,Kl);var T=Qr(0,function(u){var p=Gr(u);ar(u,99);var d=sn(Ole[1],u,0,0),q=Gr(u);return nV(u,dR),[0,d,kr([0,p],[0,Kn(u)],q,he)]},o),a=T[1];return T[2][1]||zn(o,[0,a,52]),[0,T]}function hV(o){return Bt(o)===99?[0,Qr(0,function(T){var a=Gr(T);ar(T,99);var u=G9(0,T),p=K(vle[1],u,0),d=Gr(u);return ar(u,dR),[0,p,kr([0,a],[0,Kn(u)],d,he)]},o)]:0}function YQ(o){return Hle(o,j8(o))}function Hle(o,T){return Qr([0,T[1]],function(a){var u=K(Dle[1],a,[0,T[1],[0,T]])[2],p=Bt(a)===99?K(Ol(a)[2],u,function(d,q){return K(ki(d,-860373976,65),d,q)}):u;return[0,p,hV(a),0]},o)}function fV(o){var T=Bt(o);e:{if(typeof T=="number")switch(T){case 87:var a=st(o);1-Eu(o)&&Us(o,Kl),Wn(o);var u=Qr(0,Ps,o),p=u[2],d=u[1],q=p[2][0]===26?1:0;return zn(o,[0,a,[16,q]]),[1,d,[0,a,p,0,0]];case 132:case 133:break;default:break e}else if(T[0]!==4||Re(T[3],lm))break e;1-Eu(o)&&Us(o,Kl);var g=Qr([0,st(o)],Mle,o);return[1,g[1],g[2]]}return[0,qi(o)]}function FTt(o,T,a){var u=o[2];function p(Lt){return E0(Lt,Nr([0,T],[0,a],he))}var d=o[1];switch(u[0]){case 0:var Pe=[0,p(u[1])];break;case 1:var Pe=[1,p(u[1])];break;case 2:var Pe=[2,p(u[1])];break;case 3:var Pe=[3,p(u[1])];break;case 4:var Pe=[4,p(u[1])];break;case 5:var Pe=[5,p(u[1])];break;case 6:var Pe=[6,p(u[1])];break;case 7:var Pe=[7,p(u[1])];break;case 8:var q=p(u[2]),Pe=[8,u[1],q];break;case 9:var Pe=[9,p(u[1])];break;case 10:var Pe=[10,p(u[1])];break;case 11:var g=u[1],O=p(g[2]),Pe=[11,[0,g[1],O]];break;case 12:var B=u[1],W=B[5],Y=p(B[4]),Pe=[12,[0,B[1],B[2],B[3],Y,W]];break;case 13:var V=u[1],Z=p(V[4]),Pe=[13,[0,V[1],V[2],V[3],Z]];break;case 14:var se=u[1],ae=se[4],ue=up(ae,Nr([0,T],[0,a],he)),Pe=[14,[0,se[1],se[2],se[3],ue]];break;case 15:var pe=u[1],xe=p(pe[3]),Pe=[15,[0,pe[1],pe[2],xe]];break;case 16:var ye=u[1],ge=p(ye[2]),Pe=[16,[0,ye[1],ge]];break;case 17:var Ne=u[1],Fe=p(Ne[5]),Pe=[17,[0,Ne[1],Ne[2],Ne[3],Ne[4],Fe]];break;case 18:var ze=u[1],ut=p(ze[2]),Pe=[18,[0,ze[1],ut]];break;case 19:var it=u[1],Tt=p(it[3]),Pe=[19,[0,it[1],it[2],Tt]];break;case 20:var Rt=u[1],kt=p(Rt[3]),Pe=[20,[0,Rt[1],Rt[2],kt]];break;case 21:var ft=u[1],It=ft[1],dt=ft[2],Ot=p(It[3]),Pe=[21,[0,[0,It[1],It[2],Ot],dt]];break;case 22:var At=u[1],wt=p(At[2]),Pe=[22,[0,At[1],wt]];break;case 23:var or=u[1],rr=p(or[2]),Pe=[23,[0,or[1],rr]];break;case 24:var Jt=u[1],tr=p(Jt[3]),Pe=[24,[0,Jt[1],Jt[2],tr]];break;case 25:var mr=u[1],Xt=p(mr[2]),Pe=[25,[0,mr[1],Xt]];break;case 26:var hr=u[1],Ge=hr[4],Cr=p(hr[3]),Pe=[26,[0,hr[1],hr[2],Cr,Ge]];break;case 27:var rt=u[1],yr=p(rt[2]),Pe=[27,[0,rt[1],yr]];break;case 28:var sr=u[1],Ir=p(sr[3]),Pe=[28,[0,sr[1],sr[2],Ir]];break;case 29:var Dr=u[1],on=p(Dr[3]),Pe=[29,[0,Dr[1],Dr[2],on]];break;case 30:var cn=u[1],Lr=p(cn[3]),Pe=[30,[0,cn[1],cn[2],Lr]];break;case 31:var fn=u[1],rn=p(fn[3]),Pe=[31,[0,fn[1],fn[2],rn]];break;case 32:var vt=u[1],qr=p(vt[2]),Pe=[32,[0,vt[1],qr]];break;case 33:var Pe=[33,p(u[1])];break;case 34:var Pe=[34,p(u[1])];break;default:var Pe=[35,p(u[1])]}return[0,d,Pe]}ns(kle,[0,function(o,T,a){for(var u=T;;){if(!_n(a,90)){var p=xn(u);if(p){var d=p[2];if(d){var q=d[2],g=d[1],O=p[1];return[22,[0,[0,O,g,q],Nr([0,o],0,he)]]}}throw Pr([0,Wa,XGe],1)}var u=[0,Qle(a),u]}}]),ns(yle,[0,function(o,T,a){for(var u=T;;){if(!_n(a,92)){var p=xn(u);if(p){var d=p[2];if(d){var q=d[2],g=d[1],O=p[1];return[23,[0,[0,O,g,q],Nr([0,o],0,he)]]}}throw Pr([0,Wa,JGe],1)}var u=[0,wle(a),u]}}]),ns(qle,[0,function(o,T){for(var a=T;;){var u=a[2],p=a[1];if(Bt(o)===10&&eV(1,o)){let g=u;var d=Qr([0,p],function(B){return ar(B,10),[0,g,lp(B)]},o),q=d[1],a=[0,q,[1,[0,q,d[2]]]];continue}return u}}]),ns(Cle,[0,function(o,T){for(var a=T;;){var u=Bt(o);e:if(typeof u=="number"){if(u!==7&&d0!==u)break e;return[0,xn(a),0]}var p=Qr(0,function(B){if(!_n(B,12)){var W=Bt(B);e:{if(typeof W=="number"&&(lc===W||vk===W&&Ik(1,B))){var Y=FQ(0,0,B);break e}var Y=0}var V=uC(B),Z=Po(1,B);if(V&&typeof Z=="number"&&1>=Z+Yx>>>0){var se=lp(B),ae=_n(B,86);return ar(B,87),[0,[1,[0,se,Ps(B),Y,ae]]]}var ue=Y?1:0;return ue&&Us(B,44),[0,[0,Ps(B)]]}var pe=Bt(B);e:if(typeof pe=="number"){if(10<=pe){if(d0!==pe)break e}else{if(7>pe)break e;switch(pe-7|0){case 0:break;case 1:break e;default:return Gu(jGe,B),Wn(B),0}}return 0}var xe=uC(B),ye=Po(1,B);e:{if(xe&&typeof ye=="number"&&1>=ye+Yx>>>0){var ge=lp(B);Bt(B)===86&&(Us(B,43),Wn(B)),ar(B,87);var Ne=[0,ge];break e}var Ne=0}return[0,[2,[0,Ne,Ps(B)]]]},o),d=p[2],q=p[1];if(!d)return[0,xn(a),1];var g=[0,[0,q,d[1]],a];Bt(o)!==7&&ar(o,9);var a=g}}]);function Yle(o){var T=Po(1,o);return typeof T=="number"&&1>=T+Yx>>>0?Qr(0,function(a){bo(a,0);var u=K(Er[13],0,a);A0(a),1-Eu(a)&&Us(a,Kl);var p=_n(a,86);return ar(a,87),[0,[0,u],Ps(a),p]},o):LQ(o,Ps(o))}ns(Ale,[0,function(o,T,a){for(var u=T,p=a;;){var d=Bt(o);e:if(typeof d=="number")switch(d){case 5:case 12:case 114:var q=d===12?[0,Qr(0,function(V){var Z=Gr(V);ar(V,12);var se=Nr([0,Z],0,he);return[0,Yle(V),se]},o)]:0;return[0,u,xn(p),q,0]}else if(d[0]===4&&!Re(d[3],FO)){if(Po(1,o)!==87&&Po(1,o)!==86)break e;var g=u!==0?1:0,O=g||(p!==0?1:0);O&&Us(o,90);var B=Qr(0,function(Z){var se=Gr(Z);Wn(Z),Bt(Z)===86&&Us(Z,89);var ae=Nr([0,se],0,he);return[0,sE(Z),ae]},o);Bt(o)!==5&&ar(o,9);var u=[0,B];continue}var W=[0,Yle(o),p];Bt(o)!==5&&ar(o,9);var p=W}}]),ns(gle,[0,function(o,T){for(var a=T;;){var u=Bt(o);e:if(typeof u=="number"){var p=u-5|0;if(7

>>0){if(Ta!==p)break e}else if(5>=p-1>>>0)break e;var d=u===12?[0,Qr(0,function(O){var B=Gr(O);ar(O,12);var W=Po(1,O);t:{if(typeof W=="number"){if(W===86){bo(O,0);var Y=K(Er[13],0,O);A0(O),ar(O,86),ar(O,87);var Z=1,se=[0,Y];break t}if(W===87){bo(O,0);var V=K(Er[13],0,O);A0(O),ar(O,87);var Z=0,se=[0,V];break t}}var Z=0,se=0}var ae=Ps(O);return Bt(O)===9&&Wn(O),[0,se,ae,Z,Nr([0,B],0,he)]},o)]:0;return[0,xn(a),d,0]}var q=[0,Qr(0,function(O){var B=Bt(O);e:{if(typeof B!="number"&&B[0]===2){var W=B[1],Y=W[4],V=W[3],Z=W[2],se=W[1];Y&&e7(O,77),ar(O,[2,[0,se,Z,V,Y]]);var ue=[1,[0,se,[0,Z,V,Nr(0,[0,Kn(O)],he)]]];break e}bo(O,0);var ae=K(Er[13],0,O);A0(O);var ue=[0,ae]}var pe=_n(O,86);return[0,ue,sE(O),pe]},o),a];Bt(o)!==5&&ar(o,9);var a=q}}]);function KQ(o,T,a){return Qr([0,T],function(u){var p=zQ(u);return ar(u,87),[0,a,p,Fle(u),0,1]},o)}function Kle(o,T,a,u,p){var d=lC(o,u),q=KQ(o,T,Vl(o,J8(o))),g=[0,q[1],[12,q[2]]],O=[0,d,[0,g],0,a!==0?1:0,0,1,0,Nr([0,p],0,he)];return[0,[0,g[1],O]]}function GQ(o,T,a,u,p,d,q){var g=q[2],O=q[1];return 1-Eu(o)&&Us(o,Kl),[0,Qr([0,T],function(B){var W=_n(B,86),Y=cr(B,87)?Ps(B):[0,O,VGe];return[0,g,[0,Y],W,u!==0?1:0,p!==0?1:0,0,a,Nr([0,d],0,he)]},o)]}function oE(o,T){var a=Bt(T);if(typeof a=="number"&&10>a)switch(a){case 1:if(!o)return;break;case 3:if(o)return;break;case 8:case 9:return Wn(T)}return ux(T,9)}function RE(o,T){if(T)return zn(o,[0,T[1][1],_m])}function uE(o,T){if(T)return zn(o,[0,T[1],95])}function LTt(o,T,a,u,p,d,q,g,O){for(var B=a,W=u,Y=p,V=d,Z=q,se=g;;){var ae=Bt(o);if(typeof ae=="number")switch(ae){case 6:uE(o,Z);var ue=Po(1,o);if(typeof ue=="number"&&ue===6)return RE(o,Y),[4,Qr([0,O],function(Ge){var Cr=pi(se,Gr(Ge));ar(Ge,6),ar(Ge,6);var rt=lp(Ge);ar(Ge,7),ar(Ge,7);var yr=Bt(Ge);e:{t:if(typeof yr=="number"){if(yr!==4&&yr!==99)break t;var sr=KQ(Ge,O,Vl(Ge,J8(Ge))),on=0,cn=[0,sr[1],[12,sr[2]]],Lr=1,fn=0;break e}var Ir=_n(Ge,86),Dr=Kn(Ge);ar(Ge,87);var on=Dr,cn=Ps(Ge),Lr=0,fn=Ir}return[0,rt,cn,fn,V!==0?1:0,Lr,Nr([0,Cr],[0,on],he)]},o)];var pe=pi(se,Gr(o));ar(o,6);var xe=Po(1,o);return typeof xe!="number"&&xe[0]===4&&!Re(xe[3],Xd)&&V===0?[5,Qr([0,O],function(Ge){var Cr=j8(Ge),rt=Cr[1];Wn(Ge);var yr=Ps(Ge);ar(Ge,7);var sr=Bt(Ge);e:{t:{var Ir=[0,Cr,[0,rt],0,0,0];if(typeof sr=="number"){var Dr=sr+In|0;if(1>>0){if(Dr!==-18)break t;Wn(Ge);var on=2}else var on=Dr?(Wn(Ge),ar(Ge,86),1):(Wn(Ge),ar(Ge,86),0);var cn=on;break e}}var cn=3}ar(Ge,87);var Lr=Ps(Ge);return[0,[0,rt,Ir],Lr,yr,Y,cn,Nr([0,pe],[0,Kn(Ge)],he)]},o)]:[2,Qr([0,O],function(Ge){if(Po(1,Ge)===87){var Cr=lp(Ge);ar(Ge,87);var rt=[0,Cr]}else var rt=0;var yr=Ps(Ge);ar(Ge,7);var sr=Kn(Ge);ar(Ge,87);var Ir=Ps(Ge);return[0,rt,yr,Ir,V!==0?1:0,Y,Nr([0,pe],[0,sr],he)]},o)];case 43:if(B){if(Y!==0)throw Pr([0,Wa,LGe],1);var ye=[0,st(o)],ge=pi(se,Gr(o));Wn(o);var B=0,W=0,V=ye,se=ge;continue}break;case 127:if(Y===0){if(!Ik(1,o)&&Po(1,o)!==6)break;var B=0,W=0,Y=FQ(zGe,0,o);continue}break;case 104:case 105:if(Y===0){var B=0,W=0,Y=FQ(0,0,o);continue}break;case 4:case 99:return uE(o,Z),RE(o,Y),[3,Qr([0,O],function(Ge){var Cr=st(Ge),rt=KQ(Ge,Cr,Vl(Ge,J8(Ge)));return[0,rt,V!==0?1:0,Nr([0,se],0,he)]},o)]}else if(ae[0]===4&&!Re(ae[3],Z4)&&W){if(Y!==0)throw Pr([0,Wa,HGe],1);var Ne=[0,st(o)],Fe=pi(se,Gr(o));Wn(o);var B=0,W=0,Z=Ne,se=Fe;continue}if(V){var ze=V[1];if(Z)return Ln(YGe);if(typeof ae=="number"&&1>=ae+Yx>>>0)return GQ(o,O,Y,0,Z,0,[0,ze,[3,U8(Nr([0,se],0,he),[0,ze,KGe])]])}else if(Z){var ut=Z[1];if(typeof ae=="number"&&1>=ae+Yx>>>0)return GQ(o,O,Y,V,0,0,[0,ut,[3,U8(Nr([0,se],0,he),[0,ut,GGe])]])}var it=function(Ge){bo(Ge,0);var Cr=K(Er[20],0,Ge);return A0(Ge),Cr},Tt=Gr(o),Rt=it(o),kt=Rt[1],ft=Rt[2];e:if(ft[0]===3){var It=ft[1][2][1];if(Re(It,sh)&&Re(It,HO))break e;var dt=Bt(o);if(typeof dt=="number"){var Ot=dt-5|0;if(93>>0){if(95>=Ot+1>>>0)return uE(o,Z),RE(o,Y),Kle(o,O,V,ft,se)}else if(1>=Ot-81>>>0)return GQ(o,O,Y,V,Z,se,[0,kt,ft])}lC(o,ft);var At=it(o),wt=Qa(It,sh),or=pi(se,Tt);return uE(o,Z),RE(o,Y),[0,Qr([0,O],function(Ge){var Cr=At[1],rt=lC(Ge,At[2]),yr=KQ(Ge,O,0),sr=yr[2][2];t:if(wt){var Ir=sr[2];r:{if(!Ir[1]){if(!Ir[2]&&!Ir[3])break r;zn(Ge,[0,Cr,23]);break t}zn(Ge,[0,Cr,24])}}else{var Dr=sr[2];if(Dr[1])zn(Ge,[0,Cr,67]);else{var on=Dr[2];r:{if(!Dr[3]){if(on&&!on[2])break r;zn(Ge,[0,Cr,66]);break t}zn(Ge,[0,Cr,66])}}}var cn=Nr([0,or],0,he),Lr=0,fn=0,rn=0,vt=V!==0?1:0,qr=0,Pe=wt?[1,yr]:[2,yr];return[0,rt,Pe,qr,vt,rn,fn,Lr,cn]},o)]}var rr=Rt[2],Jt=Bt(o);e:if(typeof Jt=="number"){if(Jt!==4&&Jt!==99)break e;return uE(o,Z),RE(o,Y),Kle(o,O,V,rr,se)}var tr=V!==0?1:0;e:if(rr[0]===3){var mr=rr[1],Xt=mr[2][1];t:{var hr=mr[1];if(T){if(!Qa(pt,Xt)&&(!tr||!Qa(M5,Xt)))break t;zn(o,[0,hr,[15,Xt,tr,0,0]]);break e}}}return GQ(o,O,Y,V,Z,se,[0,kt,rr])}}ns(ble,[0,function(o,T,a,u,p,d){for(var q=d;;){var g=q[3],O=q[2],B=q[1];if(o&&a)throw Pr([0,Wa,UGe],1);if(T&&!a)throw Pr([0,Wa,FGe],1);var W=st(p),Y=Bt(p);if(typeof Y=="number"){if(13<=Y){if(d0===Y)return[0,xn(B),O,g]}else if(Y)switch(Y-1|0){case 0:if(!u)return[0,xn(B),O,g];break;case 2:if(u)return[0,xn(B),O,g];break;case 11:if(!a){Wn(p);var V=Bt(p);if(typeof V=="number"&&10>V)switch(V){case 1:case 3:case 8:case 9:zn(p,[0,W,32]),oE(u,p);continue}var Z=V9(p);eI(p)(Z),zn(p,[0,W,98]),Wn(p),oE(u,p);continue}var se=Gr(p);Wn(p);var ae=Bt(p);if(typeof ae=="number"&&10>ae)switch(ae){case 1:case 3:case 8:case 9:oE(u,p);var ue=Bt(p);if(typeof ue=="number"){var pe=ue-1|0;if(2>=pe>>>0)switch(pe){case 0:if(T)return[0,xn(B),1,se];break;case 1:break;default:return zn(p,[0,W,31]),[0,xn(B),O,g]}}zn(p,[0,W,93]);continue}let Ne=se;var xe=[1,Qr([0,W],function(ze){var ut=Nr([0,Ne],0,he);return[0,Ps(ze),ut]},p)];oE(u,p);var q=[0,[0,xe,B],O,g];continue}}var ye=LTt(p,o,o,o,0,0,0,0,W);oE(u,p);var q=[0,[0,ye,B],O,g]}}]),ns(Ele,[0,function(o,T){for(var a=T;;){var u=[0,YQ(o),a],p=Bt(o);if(typeof p=="number"&&p===9){ar(o,9);var a=u;continue}return xn(u)}}]);function Gle(o,T){var a=lte(o,T);if(a)var u=a;else{e:{if(typeof T=="number"&&1>=T+In>>>0){var p=1;break e}var p=0}if(!p){e:{if(typeof T=="number")switch(T){case 15:case 30:case 31:case 32:case 42:case 43:case 47:case 54:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:case 123:case 124:case 125:case 126:case 127:break;default:break e}else switch(T[0]){case 4:if(tI(T[3]))return 1;break e;case 11:break;default:break e}return 1}return 0}var u=p}return u}ns(Ole,[0,function(o,T,a){for(var u=T,p=a;;){if(Gle(o,Bt(o))){let Z=u;var d=wr(0,function(ue){var pe=FQ(0,WGe,ue),xe=Qr(0,function(Rt){var kt=j8(Rt),ft=Bt(Rt);e:{if(typeof ft=="number"){if(ft===42){var It=1,dt=[1,Qr(0,function(wt){return Wn(wt),Ps(wt)},Rt)];break e}if(ft===87){var It=0,dt=[1,sE(Rt)];break e}}var It=0,dt=[0,qi(Rt)]}return[0,kt,dt,It]},ue),ye=xe[2],ge=ye[3],Ne=ye[2],Fe=ye[1],ze=xe[1],ut=Bt(ue);e:{if(typeof ut=="number"&&ut===83){Wn(ue);var it=1,Tt=[0,Ps(ue)];break e}Z&&zn(ue,[0,ze,53]);var it=Z,Tt=0}return[0,[0,Fe,Ne,ge,pe,Tt],it]},o),q=d[2],g=[0,d[1],p]}else var q=u,g=p;var O=Bt(o);if(typeof O=="number"){var B=O+j7|0;if(14>>0){if(B===-91){Wn(o);var u=q,p=g;continue}}else if(12>>0)return xn(g)}e:{t:{r:{if(typeof O!="number"){if(O[0]!==4)break t;var W=O[3];if(!d3(W)){n:{if(Re(W,E8)&&Re(W,te)){var Y=0;break n}var Y=1}if(!Y){if(Re(W,Dk)){if(!Re(W,S8))break r;if(Re(W,Kh))break t;break r}if(!o[28][2])break t;var V=1;break e}}var V=1;break e}switch(O){case 4:case 83:break;default:break t}}var V=1;break e}var V=0}if(V)return ux(o,dR),xn(g);if(Gle(o,O)){ux(o,9);var u=q,p=g}else{ar(o,9);var u=q,p=g}}}]),ns(vle,[0,function(o,T){for(var a=T;;){var u=Bt(o);e:if(typeof u=="number"){if(dR!==u&&d0!==u)break e;return xn(a)}var p=[0,Ps(o),a];dR!==Bt(o)&&ar(o,9);var a=p}}]),ns(Dle,[0,function(o,T){for(var a=T;;){var u=a[2],p=a[1];if(Bt(o)===10&&RC(1,o)){let g=u;var d=Qr([0,p],function(B){return ar(B,10),[0,g,j8(B)]},o),q=d[1],a=[0,q,[1,[0,q,d[2]]]];continue}return[0,p,u]}}]);function Vle(o,T){if(Bt(o)!==4)return[0,0,Nr([0,T],[0,Kn(o)],he)];var a=pi(T,Gr(o));ar(o,4),bo(o,0);var u=J(Er[9],o);return A0(o),ar(o,5),[0,[0,u],Nr([0,a],[0,Kn(o)],he)]}function zTt(o){var T=Bt(o);if(typeof T=="number"&&T===87){1-Eu(o)&&Us(o,Kl);var a=st(o);return ar(o,87),aI(o)?[2,Lle(o,a)]:[1,Qr([0,a],Ps,o)]}return[0,qi(o)]}function HTt(o){var T=Bt(o);return typeof T=="number"&&T===87?[1,sE(o)]:[0,qi(o)]}function YTt(o){var T=Gr(o);return ar(o,67),Vle(o,T)}var KTt=0;function jle(o){var T=G9(0,o),a=Bt(T);return typeof a=="number"&&a===67?[0,Qr(KTt,YTt,T)]:0}function GTt(o){var T=Bt(o);if(typeof T=="number"&&T===87){1-Eu(o)&&Us(o,Kl);var a=qi(o),u=st(o);ar(o,87);var p=Bt(o);if(typeof p=="number"&&p===67)return[0,[0,a],[0,Qr([0,u],function(g){var O=Gr(g);return ar(g,67),Vle(g,O)},G9(0,o))]];if(aI(o))return[0,[2,Lle(o,u)],0];var d=[1,Qr([0,u],Ps,o)],q=Bt(o)===67?hv(o,d):d;return[0,q,jle(o)]}return[0,[0,qi(o)],0]}function vl(o,T){var a=Z2(1,T);bo(a,1);var u=o(a);return A0(a),u}function R2(o){return vl(Ps,o)}function Dd(o){return vl(j8,o)}function Cc(o){return vl(J8,o)}function Jle(o){return vl(hV,o)}function X8(o){return vl(sE,o)}function dV(o){return vl(HTt,o)}function xV(o){return vl(zTt,o)}function mV(o){return vl(GTt,o)}function Xle(o){return vl(YQ,o)}function kV(o){return vl(fV,o)}function Am(o,T){var a=T[2],u=T[1],p=o[1];switch(a[0]){case 0:return tR(VTt,o,a[1][1]);case 1:return tR(jTt,o,a[1][1]);case 2:var d=a[1][1],q=d[2][1],g=o[2],O=o[1],B=d[1];bd[3].call(null,q,g)&&zn(O,[0,B,78]);var W=d[2][1],Y=d[1];return oC(W)&&qc(O,[0,Y,79]),BQ(W)&&qc(O,[0,Y,81]),[0,O,bd[4].call(null,q,g)];default:return zn(p,[0,u,20]),o}}function VTt(o){return function(T){return T[0]===0?Am(o,T[1][2][2]):Am(o,T[1][2][1])}}function jTt(o){return function(T){switch(T[0]){case 0:return Am(o,T[1][2][1]);case 1:return Am(o,T[1][2][1]);default:return o}}}function Zle(o,T){var a=T[2],u=a[3],p=tR(function(d,q){return Am(d,q[2][1])},[0,o,bd[1]],a[2]);u&&Am(p,u[1][2][1])}function ece(o,T,a,u){var p=o[5],d=u[0]===0?fv(u[1]):0,q=Z2(p?0:T,o),g=T||p||1-d;if(!g)return g;if(a){var O=a[1],B=O[2][1],W=O[1];oC(B)&&qc(q,[0,W,71]),BQ(B)&&qc(q,[0,W,81])}if(u[0]===0)return Zle(q,u[1]);var Y=u[1][2],V=Y[2],Z=[0,v9,[0,[0,yd(function(ae){var ue=ae[2],pe=ue[1],xe=ue[4],ye=ue[3],ge=ue[2],Ne=pe[0]===0?[3,pe[1]]:[0,[0,v9,pe[1][2]]];return[0,[0,v9,[0,Ne,ge,ye,xe]]]},Y[1]),[0,v9],0]]],se=Am([0,q,bd[1]],Z);V&&Am(se,V[1][2][1])}function tA(o,T,a,u){return ece(o,T,a,[0,u])}function tce(o,T){if(T!==12)return 0;var a=Gr(o),u=Qr(0,function(q){return ar(q,12),K(Er[18],q,79)},o),p=u[2],d=u[1];return[0,[0,d,p,Nr([0,a],0,he)]]}function JTt(o){Bt(o)===22&&Us(o,90);var T=K(Er[18],o,79),a=Bt(o)===83?(ar(o,83),[0,J(Er[10],o)]):0;return[0,T,a]}var XTt=0;function rA(o,T){function a(p){var d=tE(1,ste(T,ZG(o,p))),q=Gr(d);ar(d,4);e:{if(Eu(d)&&Bt(d)===22){var g=Gr(d),O=Qr(0,function(Ne){return ar(Ne,22),Bt(Ne)===87?[0,X8(Ne)]:(Us(Ne,86),0)},d),B=O[2],W=O[1];if(!B){var V=0;break e}var Y=B[1];Bt(d)===9&&Wn(d);var V=[0,[0,W,[0,Y,Nr([0,g],0,he)]]];break e}var V=0}e:t:{for(var Z=0;;){var se=Bt(d);if(typeof se=="number"){var ae=se-5|0;if(7>>0){if(Ta===ae)break}else if(5>>0)break t}var ue=Qr(XTt,JTt,d);Bt(d)!==5&&ar(d,9);var Z=[0,ue,Z]}break e}var pe=cQ(function(ge){return[0,ge[1],[0,ge[2],ge[3]]]},tce(d,se));Bt(d)!==5&&Us(d,62);var xe=xn(Z),ye=Gr(d);return ar(d,5),[0,V,xe,pe,kr([0,q],[0,Kn(d)],ye,he)]}var u=0;return function(p){return Qr(u,a,p)}}function rce(o,T,a,u,p){var d=Tle(o,T,a,p);return K(Er[16],u,d)}function lE(o,T,a,u,p){var d=rce(o,T,a,u,p);return[0,[0,d[1]],d[2]]}function Z8(o){if(jT!==Bt(o))return Dje;var T=Gr(o);return Wn(o),[0,1,T]}function VQ(o){if(Bt(o)===65&&!cv(1,o)){var T=Gr(o);return Wn(o),[0,1,T]}return vje}function ZTt(o){var T=VQ(o),a=T[1],u=T[2],p=Qr(0,function(pe){var xe=Gr(pe),ye=Bt(pe);e:{if(typeof ye=="number"){if(ye===15){Wn(pe);var ge=Z8(pe),Fe=ge[2],ze=ge[1],ut=1;break e}}else if(ye[0]===4&&!Re(ye[3],IO)&&!a){Wn(pe);var Fe=0,ze=0,ut=0;break e}ux(pe,ye);var Ne=Z8(pe),Fe=Ne[2],ze=Ne[1],ut=1}var it=Nb([0,u,[0,xe,[0,Fe,0]]]),Tt=pe[7],Rt=Bt(pe);e:{if(Tt&&typeof Rt=="number"){if(Rt===4){var dt=0,Ot=0;break e}if(Rt===99){var kt=Vl(pe,Cc(pe)),ft=Bt(pe)===4?0:[0,NR(pe,K(Er[13],gje,pe))],dt=ft,Ot=kt;break e}}var It=uC(pe)?NR(pe,K(Er[13],bje,pe)):(rV(pe,Eje),[0,st(pe),Oje]),dt=[0,It],Ot=Vl(pe,Cc(pe))}var At=rA(a,ze)(pe),wt=Bt(pe)===87?At:x3(pe,At),or=mV(pe),rr=or[2],Jt=or[1];if(rr)var tr=iI(pe,rr),mr=Jt;else var tr=rr,mr=hv(pe,Jt);return[0,ze,ut,Ot,dt,wt,mr,tr,it]},o),d=p[2],q=d[5],g=d[4],O=d[1],B=d[8],W=d[7],Y=d[6],V=d[3],Z=d[2],se=p[1],ae=lE(o,a,O,0,fv(q)),ue=ae[1];return tA(o,ae[2],g,q),[27,[0,g,q,ue,a,O,Z,W,Y,V,Nr([0,B],0,he),se]]}var e1t=0;function cE(o){return Qr(e1t,ZTt,o)}function yV(o,T){var a=Gr(T);ar(T,o);var u=T[28][2];if(u)var p=o===28?1:0,d=p&&(Bt(T)===49?1:0);else var d=u;d&&Us(T,19);for(var q=0,g=0;;){var O=Qr(0,function(ue){var pe=K(Er[18],ue,82);if(_n(ue,83))var xe=0,ye=[0,J(Er[10],ue)];else{var ge=pe[1];if(pe[2][0]===2)var xe=0,ye=0;else var xe=[0,[0,ge,59]],ye=0}return[0,[0,pe,ye],xe]},T),B=O[2],W=B[2],Y=[0,[0,O[1],B[1]],q],V=W?[0,W[1],g]:g;if(!_n(T,9)){var Z=xn(V);return[0,xn(Y),a,Z]}var q=Y,g=V}}var t1t=dle(Er),r1t=25;function nce(o){return yV(r1t,o)}function ice(o){var T=yV(28,rE(1,o)),a=T[1],u=T[2];return[0,a,u,xn(tR(function(p,d){return d[2][2]?p:[0,[0,d[1],58],p]},T[3],a))]}function ace(o){return yV(29,rE(1,o))}function sce(o){function T(u){return[20,t1t[1].call(null,o,u)]}var a=0;return function(u){return Qr(a,T,u)}}function n1t(o){var T=Gr(o),a=Bt(o),u=Po(1,o);e:{t:if(typeof a!="number"&&a[0]===2){var p=a[1],d=p[4],q=p[3],g=p[2],O=p[1];r:{if(typeof u=="number")switch(u){case 86:case 87:break;default:break r}else{if(u[0]!==4)break r;if(Re(u[3],y8))break t}d&&e7(o,77),ar(o,[2,[0,O,g,q,d]]);var B=[1,[0,O,[0,g,q,Nr([0,T],[0,Kn(o)],he)]]];if(typeof u=="number"&&1>=u+Yx>>>0){var W=u===86?1:0;Us(o,[17,W,g]),W&&Wn(o);var Y=st(o),ue=0,pe=[0,Y,[2,[0,[0,Y,qje],dV(o),W]]],xe=B;break e}Wn(o);var ue=0,pe=K(Er[18],o,79),xe=B;break e}}if(typeof u!="number"&&u[0]===4&&!Re(u[3],y8)){var V=[0,lp(o)];V8(o,Cje);var ue=0,pe=K(Er[18],o,79),xe=V;break e}if(typeof a=="number"&&!a){Us(o,33);var Z=[0,[0,st(o),Aje]],ue=0,pe=K(Er[18],o,79),xe=Z;break e}var se=sn(Er[14],o,0,79),ae=se[2],ue=1,pe=[0,se[1],[2,ae]],xe=[0,ae[1]]}var ye=Bt(o)===83?(ar(o,83),[0,J(Er[10],o)]):0;return[0,xe,pe,ye,ue]}var i1t=0;function a1t(o){var T=tE(1,o),a=Gr(T);ar(T,4);e:t:{for(var u=0;;){var p=Bt(T);if(typeof p=="number"){var d=p-5|0;if(7>>0){if(Ta===d)break}else if(5>>0)break t}var q=Qr(i1t,n1t,T);Bt(T)!==5&&ar(T,9);var u=[0,q,u]}break e}var g=cQ(function(W){var Y=W[3],V=W[2],Z=W[1];return Bt(T)===9&&Wn(T),[0,Z,[0,V,Y]]},tce(T,p));Bt(T)!==5&&Us(T,62);var O=xn(u),B=Gr(T);return ar(T,5),[0,O,g,kr([0,a],[0,Kn(T)],B,he)]}var s1t=0;function o1t(o){var T=Qr(0,function(Y){var V=Gr(Y);V8(Y,kje);var Z=NR(Y,K(Er[13],yje,Y)),se=Vl(Y,Cc(Y)),ae=Qr(s1t,a1t,Y),ue=tV(Y)?ae:K(Ol(Y)[2],ae,function(pe,xe){return K(ki(pe,842685896,11),pe,xe)});return[0,se,Z,ue,vd(Y,kV(Y)),V]},o),a=T[2],u=a[3],p=a[2],d=a[5],q=a[4],g=a[1],O=T[1],B=rce(o,0,0,0,0),W=B[1];return ece(o,B[2],[0,p],[1,u]),[3,[0,p,g,u,q,W,Nr([0,d],0,he),O]]}var R1t=0;function qV(o){return Qr(R1t,o1t,o)}function H0(o,T){if(T[0]===0)return T[1];var a=T[1];return yR(function(u){return zn(o,u)},T[2][1]),a}function CV(o,T,a){var u=o?o[1]:36;if(a[0]===0)var p=a[1];else{var d=a[1];yR(function(B){return zn(T,B)},a[2][2]);var p=d}1-J(Er[23],p)&&zn(T,[0,p[1],u]);var q=p[2];e:if(q[0]===10){var g=p[1];if(oC(q[1][2][1])){qc(T,[0,g,72]);break e}}return K(Er[19],T,p)}function AV(o,T){var a=S9(o[2],T[2]);return[0,S9(o[1],T[1]),a]}function oce(o){var T=xn(o[2]);return[0,xn(o[1]),T]}function jQ(o){var T=st(o),a=Rce(o),u=Bt(o);e:{if(typeof u=="number"&&u===90){var p=Qr([0,T],function(B){for(var W=[0,a,0];;){var Y=Bt(B);if(typeof Y=="number"&&Y===90){Wn(B);var W=[0,Rce(B),W];continue}var V=xn(W);return[0,V,Nr(0,[0,Kn(B)],he)]}},o),d=[0,p[1],[12,p[2]]];break e}var d=a}var q=Bt(o);if(typeof q!="number"&&q[0]===4&&!Re(q[3],y8)){var g=Qr([0,T],function(O){Wn(O);var B=Bt(O);e:{t:if(typeof B=="number"){var W=B+KO|0;if(4>=W>>>0){switch(W){case 0:var Y=D1(O,0),se=[1,Y[1],Y[2]];break;case 3:var V=D1(O,2),se=[1,V[1],V[2]];break;case 4:var Z=D1(O,1),se=[1,Z[1],Z[2]];break;default:break t}var ae=se;break e}}var ae=[0,K(Er[13],0,O)]}return[0,d,ae,Nr(0,[0,Kn(O)],he)]},o);return[0,g[1],[13,g[2]]]}return d}function Rce(o){var T=Bt(o);if(typeof T=="number")switch(T){case 0:var a=function(gr){var wn=st(gr),br=Gr(gr);function jn(Ft){var Oe=Ft[2],yt=Ft[1],yn=[2,[0,yt,Oe[2][2]]];return[0,wn,[0,yn,[0,yt,[7,Oe]],1,Nr([0,br],[0,Kn(gr)],he)]]}var Rn=Bt(gr);if(typeof Rn=="number"){var ai=Rn+KO|0;if(4>=ai>>>0)switch(ai){case 0:return jn(D1(gr,0));case 3:return jn(D1(gr,2));case 4:return jn(D1(gr,1))}}var mn=Gr(gr),Jn=Bt(gr);e:{if(typeof Jn!="number")switch(Jn[0]){case 0:var Oi=Jn[2],Cn=Jn[1],Fi=st(gr),Ri=sn(Er[24],gr,Cn,Oi),ra=[1,[0,Fi,[0,Ri,Oi,Nr([0,mn],[0,Kn(gr)],he)]]];break e;case 2:var Da=Jn[1],Ha=Da[4],Fs=Da[3],Ks=Da[2],Yo=Da[1];Ha&&e7(gr,77),ar(gr,[2,[0,Yo,Ks,Fs,Ha]]);var ra=[0,[0,Yo,[0,Ks,Fs,Nr([0,mn],[0,Kn(gr)],he)]]];break e}var ra=[2,lp(gr)]}ar(gr,87);var we=jQ(gr);return[0,wn,[0,ra,we,0,Nr([0,br],[0,Kn(gr)],he)]]};return Qr(0,function(gr){var wn=Gr(gr);ar(gr,0);e:{for(var br=0;;){var jn=Bt(gr);if(typeof jn=="number"){var Rn=jn-2|0;if(fT>>0){if(Yc>=Rn+1>>>0){var Jn=[0,xn(br),0];break e}}else if(Rn===10)break}var ai=a(gr);1-(Bt(gr)===1?1:0)&&ar(gr,9);var br=[0,ai,br]}var mn=lce(gr);Bt(gr)===9&&zn(gr,[0,st(gr),CXe]);var Jn=[0,xn(br),[0,mn]]}var Oi=Jn[2],Cn=Jn[1],Fi=Gr(gr);return ar(gr,1),[10,[0,Cn,Oi,kr([0,wn],[0,Kn(gr)],Fi,he)]]},o);case 4:var u=Gr(o);ar(o,4);var p=jQ(o);ar(o,5);var d=Kn(o),q=p[2],g=function(gr){return E0(gr,Nr([0,u],[0,d],he))},O=function(gr){return up(gr,Nr([0,u],[0,d],he))},B=p[1];switch(q[0]){case 0:var tr=[0,g(q[1])];break;case 1:var W=q[1],Y=g(W[3]),tr=[1,[0,W[1],W[2],Y]];break;case 2:var V=q[1],Z=g(V[3]),tr=[2,[0,V[1],V[2],Z]];break;case 3:var se=q[1],ae=g(se[3]),tr=[3,[0,se[1],se[2],ae]];break;case 4:var ue=q[1],pe=g(ue[2]),tr=[4,[0,ue[1],pe]];break;case 5:var tr=[5,g(q[1])];break;case 6:var xe=q[1],ye=g(xe[3]),tr=[6,[0,xe[1],xe[2],ye]];break;case 7:var ge=q[1],Ne=g(ge[3]),tr=[7,[0,ge[1],ge[2],Ne]];break;case 8:var Fe=q[1],ze=Fe[2],ut=Fe[1],it=g(ze[2]),tr=[8,[0,ut,[0,ze[1],it]]];break;case 9:var Tt=q[1],Rt=Tt[2],kt=Tt[1],ft=g(Rt[3]),tr=[9,[0,kt,[0,Rt[1],Rt[2],ft]]];break;case 10:var It=q[1],dt=O(It[3]),tr=[10,[0,It[1],It[2],dt]];break;case 11:var Ot=q[1],At=O(Ot[3]),tr=[11,[0,Ot[1],Ot[2],At]];break;case 12:var wt=q[1],or=g(wt[2]),tr=[12,[0,wt[1],or]];break;default:var rr=q[1],Jt=g(rr[3]),tr=[13,[0,rr[1],rr[2],Jt]]}return[0,B,tr];case 6:return Qr(0,function(gr){var wn=Gr(gr),br=st(gr);ar(gr,6);e:{for(var jn=0;;){var Rn=Bt(gr);if(typeof Rn=="number"){var ai=Rn-8|0;if(vk>>0){if(jT>=ai+1>>>0){var Cn=[0,xn(jn),0];break e}}else if(ai===4)break}var mn=jQ(gr),Jn=$R(br,st(gr));Bt(gr)!==7&&ar(gr,9);var jn=[0,[0,Jn,mn],jn]}var Oi=lce(gr);Bt(gr)===9&&zn(gr,[0,st(gr),AXe]);var Cn=[0,xn(jn),[0,Oi]]}var Fi=Cn[2],Ri=Cn[1],Da=Gr(gr);return ar(gr,7),[11,[0,Ri,Fi,kr([0,wn],[0,Kn(gr)],Da,he)]]},o);case 25:var mr=D1(o,0);return[0,mr[1],[7,mr[2]]];case 28:var Xt=D1(o,2);return[0,Xt[1],[7,Xt[2]]];case 29:var hr=D1(o,1);return[0,hr[1],[7,hr[2]]];case 30:var Ge=Gr(o),Cr=st(o);return Wn(o),[0,Cr,[5,Nr([0,Ge],[0,Kn(o)],he)]];case 104:return uce(o,0);case 105:return uce(o,1);case 31:case 32:var rt=Gr(o),yr=st(o);return Wn(o),[0,yr,[4,[0,T===32?1:0,Nr([0,rt],[0,Kn(o)],he)]]]}else switch(T[0]){case 0:var sr=T[2],Ir=T[1],Dr=Gr(o),on=st(o),cn=sn(Er[24],o,Ir,sr);return[0,on,[1,[0,cn,sr,Nr([0,Dr],[0,Kn(o)],he)]]];case 1:var Lr=T[2],fn=T[1],rn=Gr(o),vt=st(o),qr=sn(Er[26],o,fn,Lr);return[0,vt,[2,[0,qr,Lr,Nr([0,rn],[0,Kn(o)],he)]]];case 2:var Pe=T[1],Lt=Pe[4],Xe=Pe[3],Mt=Pe[2],Gt=Pe[1],Ze=Gr(o);return Lt&&e7(o,77),Wn(o),[0,Gt,[3,[0,Mt,Xe,Nr([0,Ze],[0,Kn(o)],he)]]];case 4:if(!Re(T[3],Dx)){var Xr=Gr(o),qt=st(o);return Wn(o),[0,qt,[0,Nr([0,Xr],[0,Kn(o)],he)]]}break}if(!uC(o)){var kn=Gr(o),Ki=st(o);Gu(0,o);e:if(typeof T!="number"&&T[0]===7){Wn(o);break e}return[0,Ki,[0,Nr([0,kn],mXe,he)]]}for(var Qe=st(o),Vt=[0,K(Er[13],0,o)];;){var We=Bt(o);if(typeof We=="number"){if(We===6){let gr=Vt;var Vt=[1,Qr([0,Qe],function(br){ar(br,6);var jn=Gr(br),Rn=Bt(br);e:{if(typeof Rn!="number")switch(Rn[0]){case 0:var ai=Rn[2],mn=Rn[1],Jn=st(br),Oi=sn(Er[24],br,mn,ai),Fs=[1,[0,Jn,[0,Oi,ai,Nr([0,jn],[0,Kn(br)],he)]]];break e;case 2:var Cn=Rn[1],Fi=Cn[4],Ri=Cn[3],Da=Cn[2],Ha=Cn[1];Fi&&e7(br,77),ar(br,[2,[0,Ha,Da,Ri,Fi]]);var Fs=[0,[0,Ha,[0,Da,Ri,Nr([0,jn],[0,Kn(br)],he)]]];break e}Gu(dXe,br);var Fs=[0,[0,st(br),xXe]]}return ar(br,7),[0,gr,Fs,Nr(0,[0,Kn(br)],he)]},o)];continue}if(We===10){let gr=Vt;var Vt=[1,Qr([0,Qe],function(br){Wn(br);var jn=[2,lp(br)];return[0,gr,jn,Nr(0,[0,Kn(br)],he)]},o)];continue}}if(Vt[0]===0){var Qt=Vt[1];return[0,Qt[1],[8,Qt]]}var gn=Vt[1],qn=gn[1];return[0,qn,[9,[0,qn,gn[2]]]]}}function uce(o,T){return Qr(0,function(a){var u=Gr(a);Wn(a);var p=Bt(a);e:{if(typeof p!="number")switch(p[0]){case 0:var d=p[2],q=p[1],g=Gr(a),O=st(a),B=sn(Er[24],a,q,d),ue=[0,O,[0,[0,B,d,Nr([0,g],[0,Kn(a)],he)]]];break e;case 1:var W=p[2],Y=p[1],V=Gr(a),Z=st(a),se=sn(Er[26],a,Y,W),ue=[0,Z,[1,[0,se,W,Nr([0,V],[0,Kn(a)],he)]]];break e}var ae=st(a);Gu(kXe,a);var ue=[0,ae,yXe]}return[6,[0,T,ue,Nr([0,u],[0,Kn(a)],he)]]},o)}function D1(o,T){return Qr(0,function(a){var u=Gr(a);Wn(a);var p=K(Er[13],qXe,a);return[0,T,p,Nr([0,u],[0,Kn(a)],he)]},o)}function lce(o){return Qr(0,function(T){var a=Gr(T);ar(T,12);var u=Bt(T);e:{t:if(typeof u=="number"){var p=u+KO|0;if(4>=p>>>0){switch(p){case 0:var d=[0,D1(T,0)];break;case 3:var d=[0,D1(T,2)];break;case 4:var d=[0,D1(T,1)];break;default:break t}var q=d;break e}}var q=0}return[0,q,Nr([0,a],[0,Kn(T)],he)]},o)}function cce(o,T){var a=o[0]===0?o[1]:o[1]-1|0,u=(T[0]===0,T[1]);return u<=a?1:0}var TE=[],JQ=[],Tce=[],pce=[],_ce=[],pE=[],hce=[],fce=[],gV=[],dce=[];function _E(o){var T=uC(o);if(T){var a=Bt(o);e:{if(typeof a=="number"){if(a===59){if(o[18]){var u=0;break e}}else if(a===66&&o[19]){var u=0;break e}}var u=1}var p=u}else var p=T;var d=Bt(o);e:{t:if(typeof d=="number"){if(23<=d){if(d===59){if(o[18])return[0,Qr(0,function(W){W[10]&&Us(W,Yc);var Y=Gr(W),V=st(W);ar(W,59);var Z=st(W);if(IQ(W))var se=0,ae=0;else{var ue=_n(W,jT),pe=Bt(W);r:{n:if(typeof pe=="number"){if(pe!==87){if(10<=pe)break n;switch(pe){case 0:case 2:case 3:case 4:case 6:break n}}var xe=0;break r}var xe=1}r:{if(!ue&&!xe){var ye=0;break r}var ye=[0,S1(W)]}var se=ue,ae=ye}var ge=ae?0:Kn(W),Ne=$R(V,Z);return[38,[0,ae,Nr([0,Y],[0,ge],he),se,Ne]]},o)];break t}if(d!==99)break t}else if(d!==4&&22>d)break t;break e}if(!p)return J(TE[1],o)}e:{if(d===65&&Eu(o)&&Po(1,o)===99){var q=TE[2],g=$xe;break e}var q=$xe,g=TE[2]}var O=cte(o,g);if(O)return O[1];var B=cte(o,q);return B?B[1]:J(TE[1],o)}function S1(o){return H0(o,_E(o))}function xce(o){var T=o[2];switch(T[0]){case 24:var a=T[1],u=a[1][2][1];if(Re(u,zc)){if(!Re(u,l9)&&!Re(a[2][2][1],z$))return 0}else if(!Re(a[2][2][1],f5))return 0;break;case 10:case 23:break;default:return 0}return 1}function mce(o){var T=st(o),a=Qr(0,XQ,o),u=a[2],p=a[1],d=Bt(o);e:{if(typeof d=="number"&&d===85){var g=jK(JQ[3],1,o,u,p);break e}var q=sn(JQ[1],o,u,p),g=sn(JQ[2],o,q[2],q[1])}var O=g[2];if(Bt(o)!==86)return O;Wn(o);var B=S1(nE(0,o));ar(o,87);var W=Qr([0,T],S1,o),Y=W[2],V=W[1];return[0,[0,V,[8,[0,H0(o,O),B,Y,0]]]]}function XQ(o){return K(Tce[1],o,0)}function kce(o){var T=Bt(o);if(typeof T=="number"){if(49<=T){if(lc<=T){if(Gx>T)switch(T+In|0){case 0:return Kje;case 1:return Gje;case 6:return Vje;case 7:return jje}}else if(T===66&&o[19])return o[10]&&Us(o,6),Jje}else if(46<=T)switch(T+_8|0){case 0:return Xje;case 1:return Zje;default:return eJe}}return 0}function yce(o){var T=st(o),a=Gr(o),u=kce(o);if(u){var p=u[1];Wn(o);var d=Qr([0,T],qce,o),q=d[2],g=d[1];e:t:if(p===6){var O=q[2];switch(O[0]){case 10:qc(o,[0,g,69]);break;case 23:O[1][2][0]===1&&zn(o,[0,g,63]);break;default:break t}break e}return[0,[0,g,[36,[0,p,q,Nr([0,a],0,he)]]]]}var B=Bt(o);e:{if(typeof B=="number"){if(Gx===B){var W=rJe;break e}if(Yc===B){var W=tJe;break e}}var W=0}if(W){var Y=W[1];Wn(o);var V=Qr([0,T],qce,o),Z=V[2],se=V[1];1-xce(Z)&&zn(o,[0,Z[1],36]);var ae=Z[2];e:if(ae[0]===10&&oC(ae[1][2][1])){e7(o,74);break e}return[0,[0,se,[37,[0,Y,Z,1,Nr([0,a],0,he)]]]]}var ue=Cce(o);if(CT(o))return ue;var pe=Bt(o);e:{if(typeof pe=="number"){if(Gx===pe){var xe=iJe;break e}if(Yc===pe){var xe=nJe;break e}}var xe=0}if(!xe)return ue;var ye=xe[1],ge=H0(o,ue);1-xce(ge)&&zn(o,[0,ge[1],36]);var Ne=ge[2];e:if(Ne[0]===10&&oC(Ne[1][2][1])){e7(o,73);break e}var Fe=st(o);Wn(o);var ze=Kn(o),ut=$R(ge[1],Fe);return[0,[0,ut,[37,[0,ye,ge,0,Nr(0,[0,ze],he)]]]]}function qce(o){return H0(o,yce(o))}function Cce(o){var T=st(o),a=1-o[17],u=0,p=o[17]===0?o:[0,o[1],o[2],o[3],o[4],o[5],o[6],o[7],o[8],o[9],o[10],o[11],o[12],o[13],o[14],o[15],o[16],u,o[18],o[19],o[20],o[21],o[22],o[23],o[24],o[25],o[26],o[27],o[28],o[29],o[30],o[31]],d=Bt(p);e:{t:if(typeof d=="number"){var q=d+lz|0;if(7>=q>>>0){switch(q){case 0:if(!a)break t;var g=[0,bce(p)];break;case 6:var g=[0,Qr(0,function(W){var Y=Gr(W),V=st(W);if(ar(W,51),_n(W,10)){var Z=U8(0,[0,V,RJe]),se=st(W);V8(W,uJe);var ae=U8(0,[0,se,lJe]);return[24,[0,Z,ae,Nr([0,Y],[0,Kn(W)],he)]]}var ue=Gr(W);ar(W,4);var pe=$ce([0,ue],0,S1(nE(0,W)));return ar(W,5),[11,[0,pe,Nr([0,Y],[0,Kn(W)],he)]]},p)];break;case 7:var g=[0,Ace(p)];break;default:break t}var O=g;break e}}var O=Rx(p)?[0,Oce(p)]:vce(p)}return gm(0,0,p,T,O)}function bV(o){return H0(o,Cce(o))}function Ace(o){switch(o[22]){case 0:var T=0,a=0;break;case 1:var T=0,a=1;break;default:var T=1,a=1}var u=st(o),p=Gr(o);ar(o,52);var d=[0,u,[30,[0,Nr([0,p],[0,Kn(o)],he)]]],q=Bt(o);if(typeof q=="number"&&11>q)switch(q){case 4:var g=T?d:(zn(o,[0,u,Fr]),[0,u,[10,U8(0,[0,u,aJe])]]);return gce(0,o,u,g);case 6:case 10:var O=a?d:(zn(o,[0,u,dR]),[0,u,[10,U8(0,[0,u,oJe])]]);return gce(0,o,u,O)}return a?Gu(sJe,o):zn(o,[0,u,dR]),d}function gm(o,T,a,u,p){var d=o?o[1]:1,q=T?T[1]:0,g=Ece([0,d],[0,q],a,u,p),O=PQ(a);e:{if(O){var B=O[1];if(typeof B=="number"&&B===84){var W=1;break e}}var W=0}function Y(ae){var ue=Ol(ae)[2];return K(ue,H0(ae,g),function(pe,xe){return K(ki(pe,Vp,93),pe,xe)})}function V(ae,ue,pe){var xe=ZQ(ue),ye=xe[1],ge=xe[2],Ne=$R(u,ye),Fe=[0,pe,ae,[0,ye,ge],0];e:{if(!W&&!q){var ze=[6,Fe];break e}var ze=[27,[0,Fe,Ne,W]]}var ut=q||W;return gm([0,d],[0,ut],ue,u,[0,[0,Ne,ze]])}if(a[13])return g;var Z=Bt(a);if(typeof Z=="number"){var se=Z-99|0;if(2>>0){if(se===-95)return V(0,a,Y(a))}else if(se!==1&&Eu(a))return rI(ZB(function(ae,ue){throw Pr(Od,1)},a),g,function(ae){var ue=Y(ae);return V(EV(ae),ae,ue)})}return g}function gce(o,T,a,u){var p=o?o[1]:1;return H0(T,gm([0,p],0,T,a,[0,u]))}function bce(o){return Qr(0,function(T){var a=st(T),u=Gr(T);if(ar(T,45),T[11]&&Bt(T)===10){var p=Kn(T);Wn(T);var d=U8(Nr([0,u],[0,p],he),[0,a,cJe]),q=Bt(T);return typeof q!="number"&&q[0]===4&&!Re(q[3],z$)?[24,[0,d,K(Er[13],0,T),0]]:(Gu(TJe,T),Wn(T),[10,d])}var g=st(T),O=Bt(T);e:{if(typeof O=="number"){if(O===45){var B=bce(T);break e}if(O===52){var B=Ace(ute(1,T));break e}}var B=Rx(T)?Oce(T):H0(T,vce(T))}var W=ute(1,T),Y=H0(W,Ece([0,pJe[1]],0,W,g,[0,B])),V=Bt(T);e:{if(typeof V!="number"&&V[0]===3){var Z=Sce(T,g,Y,V[1]);break e}var Z=Y}e:{t:if(Bt(T)!==4){if(Eu(T)&&Bt(T)===99)break t;var se=Z;break e}var se=K(Ol(T)[2],Z,function(xe,ye){return K(ki(xe,Vp,94),xe,ye)})}var ae=Eu(T)?rI(ZB(function(xe,ye){throw Pr(Od,1)},T),0,EV):0,ue=Bt(T);e:{if(typeof ue=="number"&&ue===4){var pe=[0,ZQ(T)];break e}var pe=0}return[25,[0,se,ae,pe,Nr([0,u],0,he)]]},o)}function EV(o){bo(o,1);var T=Bt(o)===99?[0,Qr(0,pce[1],o)]:0;return A0(o),T}function ZQ(o){return Qr(0,function(T){var a=Gr(T);ar(T,4);var u=K(_ce[1],T,0),p=Gr(T);return ar(T,5),[0,u,kr([0,a],[0,Kn(T)],p,he)]},o)}function Ece(o,T,a,u,p){var d=o?o[1]:1,q=T?T[1]:0,g=Bt(a);if(typeof g=="number")switch(g){case 6:return Wn(a),vb(pE[1],[0,d],[0,q],0,a,u,p);case 10:return Wn(a),vb(pE[2],[0,d],[0,q],0,a,u,p);case 84:1-d&&Us(a,60),ar(a,84);var O=Bt(a);if(typeof O=="number")switch(O){case 4:return p;case 6:return Wn(a),vb(pE[1],[0,d],hJe,_Je,a,u,p);case 99:if(Eu(a))return p;break}else if(O[0]===3)return Us(a,61),p;return vb(pE[2],[0,d],dJe,fJe,a,u,p)}else if(g[0]===3){var B=g[1];return q&&Us(a,61),gm(xJe,0,a,u,[0,Sce(a,u,H0(a,p),B)])}return p}function Oce(o){return Qr(0,function(T){var a=VQ(T),u=a[1],p=a[2],d=Qr(0,function(pe){var xe=Gr(pe);ar(pe,15);var ye=Z8(pe),ge=ye[1],Ne=Nb([0,p,[0,xe,[0,ye[2],0]]]);if(Bt(pe)===4)var Fe=0,ze=0;else{var ut=Bt(pe);e:{if(typeof ut=="number"&&ut===99){var Tt=0;break e}var it=ste(ge,ZG(u,pe)),Tt=[0,NR(it,K(Er[13],mJe,it))]}var Fe=Vl(pe,Cc(pe)),ze=Tt}var Rt=uv(0,pe),kt=u||Rt[19],ft=rA(kt,ge)(Rt),It=Bt(Rt)===87?ft:x3(Rt,ft),dt=mV(Rt),Ot=dt[2],At=dt[1];if(Ot)var wt=iI(Rt,Ot),or=At;else var wt=Ot,or=hv(Rt,At);return[0,ze,It,ge,wt,or,Fe,Ne]},T),q=d[2],g=q[3],O=q[2],B=q[1],W=q[7],Y=q[6],V=q[5],Z=q[4],se=d[1],ae=lE(T,u,g,1,fv(O)),ue=ae[1];return tA(T,ae[2],B,O),[9,[0,B,O,ue,u,g,1,Z,V,Y,Nr([0,W],0,he),se]]},o)}function OV(o,T,a){switch(T){case 1:e7(o,77);try{var u=tQ(Q8(hi(kJe,a))),p=u}catch(V){var d=n0(V);if(d[1]!==n_)throw Pr(d,0);var p=Ln(hi(yJe,a))}break;case 2:e7(o,76);try{var q=BK(a),p=q}catch(V){var g=n0(V);if(g[1]!==n_)throw Pr(g,0);var p=Ln(hi(qJe,a))}break;case 4:try{var O=BK(a),p=O}catch(V){var B=n0(V);if(B[1]!==n_)throw Pr(B,0);var p=Ln(hi(CJe,a))}break;default:try{var W=tQ(Q8(a)),p=W}catch(V){var Y=n0(V);if(Y[1]!==n_)throw Pr(Y,0);var p=Ln(hi(AJe,a))}}return ar(o,[0,T,a]),p}function vV(o,T,a){var u=ii(a);e:{if(u!==0&&SR===r0(a,u-1|0)){var p=qR(a,0,u-1|0);break e}var p=a}var d=WRe(p);return ar(o,[1,T,a]),d}function vce(o){var T=st(o),a=Gr(o),u=Bt(o);if(typeof u=="number")switch(u){case 0:var p=J(Er[12],o);return[1,[0,p[1],[26,p[2]]],p[3]];case 4:var d=Gr(o),q=Qr(0,function(vt){ar(vt,4);var qr=st(vt),Pe=S1(vt),Lt=Bt(vt);e:{if(typeof Lt=="number"){if(Lt===9){var Xe=[0,Tte(vt,qr,[0,Pe,0])];break e}if(Lt===87){var Xe=[1,[0,Pe,X8(vt),0]];break e}}var Xe=[0,Pe]}return ar(vt,5),Xe},o),g=q[2],O=q[1],B=Kn(o),W=g[0]===0?g[1]:[0,O,[34,g[1]]];return[0,$ce([0,d],[0,B],W)];case 6:var Y=Qr(0,Sxe,o),V=Y[2];return[1,[0,Y[1],[0,V[1]]],V[2]];case 21:if(o[28][3]&&!cv(1,o)&&Po(1,o)===4){var Z=Gr(o),se=st(o),ae=K(Er[13],0,o),ue=ZQ(o);if(!CT(o)&&Bt(o)===0){var pe=aV(o,ue),xe=function(vt){var qr=Gr(vt),Pe=J(Er[27],vt),Lt=_n(vt,16)?[0,J(Er[7],vt)]:0;ar(vt,87);var Xe=S1(vt),Mt=Bt(vt);e:{t:if(typeof Mt=="number"){if(Mt!==1&&d0!==Mt)break t;break e}ar(vt,9)}return[0,Pe,Xe,Lt,Nr([0,qr],[0,Kn(vt)],he)]};return[0,Qr([0,se],function(vt){ar(vt,0);for(var qr=0;;){var Pe=Bt(vt);e:if(typeof Pe=="number"){if(Pe!==1&&d0!==Pe)break e;var Lt=xn(qr);return ar(vt,1),[22,[0,pe,Lt,Nr([0,Z],[0,Kn(vt)],he)]]}var qr=[0,Qr(0,xe,vt),qr]}},o)]}var ye=[0,ae[1],[10,ae]],ge=$R(se,ue[1]);return gm(bJe,gJe,o,se,[0,[0,ge,[6,[0,ye,0,ue,Nr([0,Z],0,he)]]]])}break;case 22:return Wn(o),[0,[0,T,[33,[0,Nr([0,a],[0,Kn(o)],he)]]]];case 30:return Wn(o),[0,[0,T,[16,Nr([0,a],[0,Kn(o)],he)]]];case 41:return[0,J(Er[22],o)];case 99:var Ne=J(Er[17],o),Fe=Ne[2],ze=Ne[1],ut=jp<=Fe[1]?[13,Fe[2]]:[12,Fe[2]];return[0,[0,ze,ut]];case 31:case 32:return Wn(o),[0,[0,T,[15,[0,u===32?1:0,Nr([0,a],[0,Kn(o)],he)]]]];case 75:case 106:bo(o,5);var it=st(o),Tt=Gr(o),Rt=Bt(o);e:{if(typeof Rt!="number"&&Rt[0]===5){var kt=Rt[3],ft=Rt[2];Wn(o);var It=Kn(o),dt=It,Ot=kt,At=ft,wt=hi(vJe,hi(ft,hi(OJe,kt)));break e}Gu(DJe,o);var dt=0,Ot=SJe,At=$Je,wt=QJe}A0(o);var or=vs(ii(Ot));qTt(function(vt){var qr=vt+j7|0;if(21>=qr>>>0)switch(qr){case 0:case 3:case 5:case 9:case 15:case 17:case 18:case 21:return kT(or,vt)}},Ot);var rr=m0(or);return Re(rr,Ot)&&Us(o,[19,Ot]),[0,[0,it,[19,[0,At,rr,wt,Nr([0,Tt],[0,dt],he)]]]]}else switch(u[0]){case 0:var Jt=u[2],tr=OV(o,u[1],Jt);return[0,[0,T,[17,[0,tr,Jt,Nr([0,a],[0,Kn(o)],he)]]]];case 1:var mr=u[2],Xt=vV(o,u[1],mr);return[0,[0,T,[18,[0,Xt,mr,Nr([0,a],[0,Kn(o)],he)]]]];case 2:var hr=u[1],Ge=hr[3],Cr=hr[2],rt=hr[1];hr[4]&&e7(o,77),Wn(o);var yr=Nr([0,a],[0,Kn(o)],he),sr=o[28],Ir=sr[7],Dr=sr[8];e:{if(Ir){var on=Ir[1];if(PRe(on,Cr)){var Lr=[20,[0,Cr,rt,ii(on),0,Ge,yr]];break e}}if(Dr){var cn=Dr[1];if(PRe(cn,Cr)){var Lr=[20,[0,Cr,rt,ii(cn),1,Ge,yr]];break e}}var Lr=[14,[0,Cr,Ge,yr]]}return[0,[0,rt,Lr]];case 3:var fn=Dce(o,u[1]);return[0,[0,fn[1],[32,fn[2]]]];case 4:if(!Re(u[3],mz)&&Po(1,o)===41)return[0,J(Er[22],o)];break}if(uC(o)){var rn=K(Er[13],0,o);return[0,[0,rn[1],[10,rn]]]}Gu(0,o);e:if(typeof u!="number"&&u[0]===7){Wn(o);break e}return[0,[0,T,[16,Nr([0,a],EJe,he)]]]}function Dce(o,T){var a=T[5],u=T[1],p=T[3],d=T[2],q=Gr(o);ar(o,[3,T]);var g=[0,u,[0,[0,p,d],a]];if(a)var B=0,W=[0,g,0],Y=u;else var O=sn(hce[1],o,[0,g,0],0),B=O[3],W=O[2],Y=O[1];var V=Kn(o),Z=$R(u,Y);return[0,Z,[0,W,B,Nr([0,q],[0,V],he)]]}function Sce(o,T,a,u){var p=K(Ol(o)[2],a,function(q,g){return K(ki(q,Vp,3),q,g)}),d=Dce(o,u);return[0,$R(T,d[1]),[31,[0,p,d,0]]]}function $ce(o,T,a){var u=o?o[1]:0,p=T?T[1]:0,d=a[2];function q(yn){return E0(yn,Nr([0,u],[0,p],he))}function g(yn){return up(yn,Nr([0,u],[0,p],he))}var O=a[1];switch(d[0]){case 0:var B=d[1],W=g(B[2]),yt=[0,[0,B[1],W]];break;case 1:var Y=d[1],V=Y[11],Z=q(Y[10]),yt=[1,[0,Y[1],Y[2],Y[3],Y[4],Y[5],Y[6],Y[7],Y[8],Y[9],Z,V]];break;case 2:var se=d[1],ae=q(se[2]),yt=[2,[0,se[1],ae]];break;case 3:var ue=d[1],pe=q(ue[3]),yt=[3,[0,ue[1],ue[2],pe]];break;case 4:var xe=d[1],ye=q(xe[4]),yt=[4,[0,xe[1],xe[2],xe[3],ye]];break;case 5:var ge=d[1],Ne=q(ge[4]),yt=[5,[0,ge[1],ge[2],ge[3],Ne]];break;case 6:var Fe=d[1],ze=q(Fe[4]),yt=[6,[0,Fe[1],Fe[2],Fe[3],ze]];break;case 7:var ut=d[1],it=q(ut[7]),yt=[7,[0,ut[1],ut[2],ut[3],ut[4],ut[5],ut[6],it]];break;case 8:var Tt=d[1],Rt=q(Tt[4]),yt=[8,[0,Tt[1],Tt[2],Tt[3],Rt]];break;case 9:var kt=d[1],ft=kt[11],It=q(kt[10]),yt=[9,[0,kt[1],kt[2],kt[3],kt[4],kt[5],kt[6],kt[7],kt[8],kt[9],It,ft]];break;case 10:var dt=d[1],Ot=dt[2],At=dt[1],wt=q(Ot[2]),yt=[10,[0,At,[0,Ot[1],wt]]];break;case 11:var or=d[1],rr=q(or[2]),yt=[11,[0,or[1],rr]];break;case 12:var Jt=d[1],tr=q(Jt[4]),yt=[12,[0,Jt[1],Jt[2],Jt[3],tr]];break;case 13:var mr=d[1],Xt=q(mr[4]),yt=[13,[0,mr[1],mr[2],mr[3],Xt]];break;case 14:var hr=d[1],Ge=q(hr[3]),yt=[14,[0,hr[1],hr[2],Ge]];break;case 15:var Cr=d[1],rt=q(Cr[2]),yt=[15,[0,Cr[1],rt]];break;case 16:var yt=[16,q(d[1])];break;case 17:var yr=d[1],sr=q(yr[3]),yt=[17,[0,yr[1],yr[2],sr]];break;case 18:var Ir=d[1],Dr=q(Ir[3]),yt=[18,[0,Ir[1],Ir[2],Dr]];break;case 19:var on=d[1],cn=q(on[4]),yt=[19,[0,on[1],on[2],on[3],cn]];break;case 20:var Lr=d[1],fn=q(Lr[6]),yt=[20,[0,Lr[1],Lr[2],Lr[3],Lr[4],Lr[5],fn]];break;case 21:var rn=d[1],vt=q(rn[4]),yt=[21,[0,rn[1],rn[2],rn[3],vt]];break;case 22:var qr=d[1],Pe=q(qr[3]),yt=[22,[0,qr[1],qr[2],Pe]];break;case 23:var Lt=d[1],Xe=q(Lt[3]),yt=[23,[0,Lt[1],Lt[2],Xe]];break;case 24:var Mt=d[1],Gt=q(Mt[3]),yt=[24,[0,Mt[1],Mt[2],Gt]];break;case 25:var Ze=d[1],Xr=q(Ze[4]),yt=[25,[0,Ze[1],Ze[2],Ze[3],Xr]];break;case 26:var qt=d[1],kn=g(qt[2]),yt=[26,[0,qt[1],kn]];break;case 27:var Ki=d[1],Qe=Ki[1],Vt=Ki[3],We=Ki[2],Qt=q(Qe[4]),yt=[27,[0,[0,Qe[1],Qe[2],Qe[3],Qt],We,Vt]];break;case 28:var gn=d[1],qn=gn[1],gr=gn[3],wn=gn[2],br=q(qn[3]),yt=[28,[0,[0,qn[1],qn[2],br],wn,gr]];break;case 29:var jn=d[1],Rn=q(jn[2]),yt=[29,[0,jn[1],Rn]];break;case 30:var yt=[30,[0,q(d[1][1])]];break;case 31:var ai=d[1],mn=q(ai[3]),yt=[31,[0,ai[1],ai[2],mn]];break;case 32:var Jn=d[1],Oi=q(Jn[3]),yt=[32,[0,Jn[1],Jn[2],Oi]];break;case 33:var yt=[33,[0,q(d[1][1])]];break;case 34:var Cn=d[1],Fi=q(Cn[3]),yt=[34,[0,Cn[1],Cn[2],Fi]];break;case 35:var Ri=d[1],Da=q(Ri[3]),yt=[35,[0,Ri[1],Ri[2],Da]];break;case 36:var Ha=d[1],Fs=q(Ha[3]),yt=[36,[0,Ha[1],Ha[2],Fs]];break;case 37:var Ks=d[1],Yo=q(Ks[4]),yt=[37,[0,Ks[1],Ks[2],Ks[3],Yo]];break;default:var ra=d[1],we=ra[4],Ft=ra[3],Oe=q(ra[2]),yt=[38,[0,ra[1],Oe,Ft,we]]}return[0,O,yt]}function Sxe(o){var T=Gr(o);ar(o,6);var a=K(fce[1],o,[0,0,i_]),u=a[2],p=a[1],d=Gr(o);return ar(o,7),[0,[0,p,kr([0,T],[0,Kn(o)],d,he)],u]}function $xe(o){var T=ZB(gV[1],o),a=st(T);if(Po(1,T)===11)var p=0,d=0;else var u=VQ(T),p=u[2],d=u[1];var q=d||T[19],g=ZG(q,T),O=g[18],B=Qr(0,function(Ot){var At=Vl(Ot,Cc(Ot));if(uC(Ot)&&At===0){var wt=K(Er[13],NJe,Ot),or=wt[1],rr=[0,or,[0,[0,or,[2,[0,wt,[0,qi(Ot)],0]]],0]];return[0,At,[0,or,[0,0,[0,rr,0],0,0]],[0,[0,or[1],or[3],or[3]]],0]}var Jt=rA(q,O)(Ot);Zle(Ot,Jt);var tr=mV(G9(1,Ot));return[0,At,Jt,tr[1],tr[2]]},g),W=B[2],Y=W[2],V=Y[2];e:{t:{var Z=W[4],se=W[3],ae=W[1],ue=B[1];if(!V[1]){var pe=V[2];if(!V[3]&&pe)break t;var xe=cle(g);break e}}var xe=g}var ye=Y[2],ge=ye[1];if(ge){var Ne=Y[1];zn(xe,[0,ge[1][1],87]);var Fe=[0,Ne,[0,0,ye[2],ye[3],ye[4]]]}else var Fe=Y;var ze=fv(Fe),ut=CT(xe),it=ut&&(Bt(xe)===11?1:0);it&&Us(xe,56),ar(xe,11);var Tt=Tle(cle(xe),d,0,ze),Rt=Qr(0,gV[2],Tt),kt=Rt[2],ft=kt[1],It=Rt[1];tA(Tt,kt[2],0,Fe);var dt=$R(a,It);return[0,[0,dt,[1,[0,0,Fe,ft,d,0,1,Z,se,ae,Nr([0,p],0,he),ue]]]]}function Tte(o,T,a){return Qr([0,T],J(dce[1],a),o)}function pte(o){var T=st(o),a=mce(o),u=Bt(o);e:{if(typeof u=="number"){var p=u-68|0;if(15>=p>>>0){switch(p){case 0:var d=Sje;break;case 1:var d=$je;break;case 2:var d=Qje;break;case 3:var d=Nje;break;case 4:var d=wje;break;case 5:var d=Pje;break;case 6:var d=Bje;break;case 7:var d=Ije;break;case 8:var d=Mje;break;case 9:var d=Wje;break;case 10:var d=Uje;break;case 11:var d=Fje;break;case 12:var d=Lje;break;case 13:var d=zje;break;case 14:var d=Hje;break;default:var d=Yje}var q=d;break e}}var q=0}if(q!==0&&Wn(o),!q)return a;var g=q[1];return[0,Qr([0,T],function(O){var B=CV(0,O,a);return[4,[0,g,B,S1(O),0]]},o)]}function Qxe(o,T){if(typeof T=="number"&&T===81)return 0;throw Pr(Od,1)}ns(TE,[0,pte,function(o){var T=ZB(Qxe,o),a=pte(T),u=Bt(T);if(typeof u=="number"){if(u===11)throw Pr(Od,1);if(u===87){var p=PQ(T);e:{if(p){var d=p[1];if(typeof d=="number"&&d===5){var q=1;break e}}var q=0}if(q)throw Pr(Od,1)}}if(!uC(T))return a;if(a[0]===0){var g=a[1][2];if(g[0]===10&&!Re(g[1][2][1],R3)&&!CT(T))throw Pr(Od,1)}return a}]);function Qce(o,T,a,u,p){var d=H0(o,T);return[0,[0,p,[21,[0,u,d,H0(o,a),0]]]]}function DV(o,T,a){for(var u=T,p=a;;){var d=Bt(o);if(typeof d=="number"&&d===89){Wn(o);var q=Qr(0,XQ,o),g=q[2],O=$R(p,q[1]),B=hte(0,o,Qce(o,u,g,1,O),O),u=B[2],p=B[1];continue}return[0,p,u]}}function _te(o,T,a){for(var u=T,p=a;;){var d=Bt(o);if(typeof d=="number"&&d===88){Wn(o);var q=Qr(0,XQ,o),g=DV(o,q[2],q[1]),O=g[2],B=$R(p,g[1]),W=hte(0,o,Qce(o,u,O,0,B),B),u=W[2],p=W[1];continue}return[0,p,u]}}function hte(o,T,a,u){for(var p=o,d=a,q=u;;){var g=Bt(T);if(typeof g=="number"&&g===85){1-p&&Us(T,RXe),ar(T,85);var O=Qr(0,XQ,T),B=O[2],W=O[1],Y=Bt(T);e:{if(typeof Y=="number"&&1>=Y+u5>>>0){Us(T,[22,nte(Y)]);var V=DV(T,B,W),Z=_te(T,V[2],V[1]),se=Z[2],ae=Z[1];break e}var se=B,ae=W}var ue=$R(q,ae),p=1,d=Qce(T,d,se,2,ue),q=ue;continue}return[0,q,d]}}ns(JQ,[0,DV,_te,hte]);function SV(o,T,a,u){return[0,u,[5,[0,a,o,T,0]]]}ns(Tce,[0,function(o,T){for(var a=T;;){var u=Qr(0,function(Ge){var Cr=kce(Ge)!==0?1:0;return[0,Cr,yce(nE(0,Ge))]},o),p=u[2],d=p[2],q=p[1],g=u[1];e:if(Bt(o)===99&&d[0]===0&&d[1][2][0]===12){Us(o,2);break e}let hr=g;var O=function(Ge,Cr){for(var rt=Ge,yr=Cr;;){var sr=Bt(o);e:if(typeof sr!="number"&&sr[0]===4){var Ir=sr[3];if(Re(Ir,y8)&&Re(Ir,Poe))break e;if(Eu(o)){Wn(o);var Dr=H0(o,yr);t:{if(rt){var on=rt[1],cn=on[2],Lr=rt[2],fn=on[3],rn=cn[1],vt=on[1];if(cce(cn[2],MJe)){var qr=SV(vt,Dr,rn,$R(fn,hr)),Pe=Lr;break t}}var qr=Dr,Pe=rt}var Lt=qr[1];if(Qa(Ir,Poe))var Xe=R2(o),Mt=Xe[1],qt=[0,[0,$R(Lt,Mt),[35,[0,qr,[0,Mt,Xe],0]]]];else if(Bt(o)===28){var Gt=$R(Lt,st(o));Wn(o);var qt=[0,[0,Gt,[2,[0,qr,0]]]]}else var Ze=R2(o),Xr=Ze[1],qt=[0,[0,$R(Lt,Xr),[3,[0,qr,[0,Xr,Ze],0]]]];var rt=Pe,yr=qt;continue}}return[0,rt,yr]}}(a,d),B=O[2],W=O[1],Y=Bt(o);e:{t:if(typeof Y=="number"){var V=Y-17|0;if(1>>0){if(73>V)break t;switch(V-73|0){case 0:var Z=WJe;break;case 1:var Z=UJe;break;case 2:var Z=FJe;break;case 3:var Z=LJe;break;case 4:var Z=zJe;break;case 5:var Z=HJe;break;case 6:var Z=YJe;break;case 7:var Z=KJe;break;case 8:var Z=GJe;break;case 9:var Z=VJe;break;case 10:var Z=jJe;break;case 11:var Z=JJe;break;case 12:var Z=XJe;break;case 13:var Z=ZJe;break;case 14:var Z=eXe;break;case 15:var Z=tXe;break;case 16:var Z=rXe;break;case 17:var Z=nXe;break;case 18:var Z=iXe;break;case 19:var Z=aXe;break;default:break t}var se=Z}else var se=V?sXe:o[12]?0:oXe;var ae=se;break e}var ae=0}if(ae!==0&&Wn(o),!W&&!ae)return B;if(ae){var ue=ae[1],pe=ue[1],xe=ue[2],ye=q&&(pe===14?1:0);ye&&zn(o,[0,g,37]);e:for(var ge=H0(o,B),Ne=[0,pe,xe],Fe=g,ze=W;;){var ut=Ne[2],it=Ne[1];if(!ze)break e;var Tt=ze[1],Rt=Tt[2],kt=ze[2],ft=Tt[3],It=Rt[1],dt=Tt[1];if(!cce(Rt[2],ut))break;var Ot=$R(ft,Fe),ge=SV(dt,ge,It,Ot),Ne=[0,it,ut],Fe=Ot,ze=kt}var a=[0,[0,ge,[0,it,ut],Fe],ze]}else for(var At=H0(o,B),wt=g,or=W;;){if(!or)return[0,At];var rr=or[1],Jt=or[2],tr=rr[2][1],mr=rr[1],Xt=$R(rr[3],wt),At=SV(mr,At,tr,Xt),wt=Xt,or=Jt}}}]),ns(pce,[0,function(o){var T=Gr(o);ar(o,99);for(var a=0;;){var u=Bt(o);e:if(typeof u=="number"){if(dR!==u&&d0!==u)break e;var p=xn(a),d=Gr(o);ar(o,dR);var q=Bt(o)===4?Ol(o)[1]:Kn(o);return[0,p,kr([0,T],[0,q],d,he)]}var g=Bt(o);e:{if(typeof g!="number"&&g[0]===4&&!Re(g[2],Dx)){var O=st(o),B=Gr(o);V8(o,IJe);var W=[1,[0,O,[0,Nr([0,B],[0,Kn(o)],he)]]];break e}var W=[0,R2(o)]}var Y=[0,W,a];dR!==Bt(o)&&ar(o,9);var a=Y}}]);function Nce(o){var T=Gr(o);ar(o,12);var a=S1(o);return[0,a,Nr([0,T],0,he)]}ns(_ce,[0,function(o,T){for(var a=T;;){var u=Bt(o);e:if(typeof u=="number"){if(u!==5&&d0!==u)break e;return xn(a)}var p=Bt(o);e:{if(typeof p=="number"&&p===12){var d=[1,Qr(0,Nce,o)];break e}var d=[0,S1(o)]}var q=[0,d,a];Bt(o)!==5&&ar(o,9);var a=q}}]),ns(pE,[0,function(o,T,a,u,p,d){var q=o?o[1]:1,g=T?T[1]:0,O=a?a[1]:0,B=ute(0,u),W=J(Er[7],B),Y=st(u);ar(u,7);var V=Kn(u),Z=$R(p,Y),se=Nr(0,[0,V],he),ae=[0,H0(u,d),[2,W],se],ue=g?[28,[0,ae,Z,O]]:[23,ae];return gm([0,q],[0,g],u,p,[0,[0,Z,ue]])},function(o,T,a,u,p,d){var q=o?o[1]:1,g=T?T[1]:0,O=a?a[1]:0,B=Bt(u);e:{if(typeof B=="number"&&B===14){var W=cp(u),Y=W[1],V=u[30][1],Z=W[2][1];if(V){var se=V[1];u[30][1]=[0,[0,se[1],[0,[0,Z,Y],se[2]]],V[2]]}else zn(u,[0,Y,64]);var ue=[1,W],pe=Y;break e}var ae=lp(u),ue=[0,ae],pe=ae[1]}var xe=$R(p,pe);e:if(d[0]===0&&d[1][2][0]===30&&ue[0]===1){zn(u,[0,xe,83]);break e}var ye=[0,H0(u,d),ue,0],ge=g?[28,[0,ye,xe,O]]:[23,ye];return gm([0,q],[0,g],u,p,[0,[0,xe,ge]])}]),ns(hce,[0,function(o,T,a){for(var u=T,p=a;;){var d=J(Er[7],o),q=[0,d,p],g=Bt(o);if(typeof g=="number"&&g===1){bo(o,4);var O=Bt(o);if(typeof O!="number"&&O[0]===3){var B=O[1],W=B[5],Y=B[1],V=B[3],Z=B[2];Wn(o),A0(o);var se=[0,[0,Y,[0,[0,V,Z],W]],u];if(W){var ae=xn(q);return[0,Y,xn(se),ae]}var u=se,p=q;continue}throw Pr([0,Wa,wJe],1)}Gu(PJe,o);var ue=[0,d[1],BJe],pe=xn(q),xe=xn([0,ue,u]);return[0,d[1],xe,pe]}}]),ns(fce,[0,function(o,T){for(var a=T;;){var u=a[2],p=a[1],d=Bt(o);e:if(typeof d=="number"){if(13<=d){if(d0!==d)break e}else{if(7>d)break e;switch(d-7|0){case 0:break;case 2:var q=st(o);Wn(o);var a=[0,[0,[2,q],p],u];continue;case 5:var g=Gr(o),O=Qr(0,function(Fe){Wn(Fe);var ze=_E(Fe);return ze[0]===0?[0,ze[1],i_]:[0,ze[1],ze[2]]},o),B=O[2],W=B[2],Y=O[1],V=B[1],Z=[1,[0,Y,[0,V,Nr([0,g],0,he)]]],se=Bt(o)===7?1:0;t:{if(!se&&Po(1,o)===7){var ae=[0,W[1],[0,[0,Y,16],W[2]]];break t}var ae=W}1-se&&ar(o,9);var a=[0,[0,Z,p],AV(ae,u)];continue;default:break e}}var ue=oce(u);return[0,xn(p),ue]}var pe=_E(o);if(pe[0]===0)var xe=i_,ye=pe[1];else var xe=pe[2],ye=pe[1];Bt(o)!==7&&ar(o,9);var a=[0,[0,[0,ye],p],AV(xe,u)]}}]),ns(gV,[0,function(o){return function(T){e:if(typeof T=="number"){if(62<=T){var a=T-63|0;if(49>=a>>>0){var u=a-15|0;if(9>>0)break e;switch(u){case 0:case 1:case 3:case 9:break;default:break e}}}else if(7<=T){if(T!==56)break e}else if(5>T)break e;return 0}throw Pr(Od,1)}},function(o){var T=Bt(o);if(typeof T=="number"&&!T){var a=K(Er[16],1,o);return[0,[0,a[1]],a[2]]}return[0,[1,J(Er[10],o)],0]}]),ns(dce,[0,function(o,T){for(var a=o;;){var u=Bt(T);if(typeof u=="number"&&u===9){Wn(T);var a=[0,S1(T),a];continue}return[29,[0,xn(a),0]]}}]);function u1t(o){var T=Gr(o);Wn(o);var a=Nr([0,T],0,he),u=bV(o),p=CT(o)?_v(o):iV(o);return[0,K(p[2],u,function(d,q){return K(ki(d,Vp,95),d,q)}),a]}function wce(o){if(!o[28][4])return 0;for(var T=0;;){var a=Bt(o);if(typeof a=="number"&&a===13){var T=[0,Qr(0,u1t,o),T];continue}return xn(T)}}function m3(o,T){var a=o?o[1]:0,u=Gr(T),p=Bt(T);if(typeof p=="number")switch(p){case 6:var d=Qr(0,function(Ot){var At=Gr(Ot);ar(Ot,6);var wt=nE(0,Ot),or=J(Er[10],wt);return ar(Ot,7),[0,or,Nr([0,At],[0,Kn(Ot)],he)]},T),q=d[1];return[0,q,[5,[0,q,d[2]]]];case 14:if(!a){var g=Qr(0,function(Ot){return Wn(Ot),[3,lp(Ot)]},T),O=g[1],B=g[2];return zn(T,[0,O,64]),[0,O,B]}var W=cp(T),Y=T[30][1],V=W[2][1],Z=W[1];if(Y){var se=Y[1],ae=Y[2],ue=se[2],pe=[0,[0,bd[4].call(null,V,se[1]),ue],ae];T[30][1]=pe}else Ln(VYe);return[0,Z,[4,W]]}else switch(p[0]){case 0:var xe=p[2],ye=p[1],ge=st(T),Ne=OV(T,ye,xe);return[0,ge,[1,[0,ge,[0,Ne,xe,Nr([0,u],[0,Kn(T)],he)]]]];case 1:var Fe=p[2],ze=p[1],ut=st(T),it=vV(T,ze,Fe);return[0,ut,[2,[0,ut,[0,it,Fe,Nr([0,u],[0,Kn(T)],he)]]]];case 2:var Tt=p[1],Rt=Tt[4],kt=Tt[3],ft=Tt[2],It=Tt[1];return Rt&&e7(T,77),ar(T,[2,[0,It,ft,kt,Rt]]),[0,It,[0,[0,It,[0,ft,kt,Nr([0,u],[0,Kn(T)],he)]]]]}var dt=lp(T);return[0,dt[1],[3,dt]]}function nA(o,T,a){var u=0,p=Z8(o),d=p[1],q=p[2],g=m3([0,T],o),O=g[1],B=lC(o,g[2]);return[0,B,Qr(0,function(W){var Y=uv(1,W),V=Qr(0,function(ge){var Ne=rA(0,0)(ge),Fe=0,ze=Bt(ge)===87?Ne:x3(ge,Ne);e:if(a){var ut=ze[2];t:{if(!ut[1]){if(!ut[2]&&!ut[3])break t;zn(ge,[0,O,23]);break e}zn(ge,[0,O,24])}}else{var it=ze[2];t:if(it[1])zn(ge,[0,O,67]);else{var Tt=it[2];if(Tt&&!Tt[2]&&!it[3])break t;it[3]?zn(ge,[0,O,66]):zn(ge,[0,O,66])}}return[0,Fe,ze,hv(ge,xV(ge))]},Y),Z=V[2],se=Z[2],ae=Z[3],ue=Z[1],pe=V[1],xe=lE(Y,u,d,0,fv(se)),ye=xe[1];return tA(Y,xe[2],0,se),[0,0,se,ye,u,d,1,0,ae,ue,Nr([0,q],0,he),pe]},o)]}function $V(o){var T=_E(o);return T[0]===0?[0,T[1],i_]:[0,T[1],T[2]]}function Pce(o,T){switch(T[0]){case 0:var a=T[1],u=a[1],p=a[2];return zn(o,[0,u,47]),[0,u,[14,p]];case 1:var d=T[1],q=d[1],g=d[2];return zn(o,[0,q,47]),[0,q,[17,g]];case 2:var O=T[1],B=O[1],W=O[2];return zn(o,[0,B,47]),[0,B,[18,W]];case 3:var Y=T[1],V=Y[2][1],Z=Y[1];return d3(V)?zn(o,[0,Z,96]):BQ(V)&&qc(o,[0,Z,81]),[0,Z,[10,Y]];case 4:return Ln(BXe);default:var se=T[1][2][1];return zn(o,[0,se[1],7]),se}}function Bce(o,T,a){function u(d){var q=uv(1,d),g=Qr(0,function(ae){var ue=Vl(ae,Cc(ae)),pe=rA(o,T)(ae),xe=Bt(ae)===87?pe:x3(ae,pe);return[0,ue,xe,hv(ae,xV(ae))]},q),O=g[2],B=O[2],W=O[3],Y=O[1],V=g[1],Z=lE(q,o,T,0,fv(B)),se=Z[1];return tA(q,Z[2],0,B),[0,0,B,se,o,T,1,0,W,Y,Nr([0,a],0,he),V]}var p=0;return function(d){return Qr(p,u,d)}}function Ice(o){return ar(o,87),$V(o)}function fte(o,T,a,u,p,d){var q=Qr([0,T],function(O){if(!u&&!p){var B=Bt(O);e:if(typeof B=="number"){if(87<=B){if(B!==99){if(88<=B)break e;var W=Ice(O);return[0,[0,a,W[1],0],W[2]]}}else{if(B===83){if(a[0]===3)var Y=a[1],V=st(O),Z=Qr([0,Y[1]],function(pe){var xe=Gr(pe);ar(pe,83);var ye=Kn(pe),ge=K(Er[19],pe,[0,Y[1],[10,Y]]),Ne=J(Er[10],pe);return[4,[0,0,ge,Ne,Nr([0,xe],[0,ye],he)]]},O),se=[0,Z,[0,[0,[0,V,[26,HB(PXe)]],0],0]];else var se=Ice(O);return[0,[0,a,se[1],1],se[2]]}if(10<=B)break e;switch(B){case 4:break;case 1:case 9:return[0,[0,a,Pce(O,a),1],i_];default:break e}}var ae=lC(O,a);return[0,[1,ae,Bce(u,p,d)(O)],i_]}return[0,[0,a,Pce(O,a),1],i_]}var ue=lC(O,a);return[0,[1,ue,Bce(u,p,d)(O)],i_]},o),g=q[2];return[0,[0,[0,q[1],g[1]]],g[2]]}function Mce(o){if(Bt(o)===12){var T=Gr(o),a=Qr(0,function(At){return ar(At,12),$V(At)},o),u=a[2],p=u[2],d=u[1],q=a[1];return[0,[1,[0,q,[0,d,Nr([0,T],0,he)]]],p]}var g=st(o),O=Po(1,o);e:{t:if(typeof O=="number"){if(87<=O){if(O!==99&&88<=O)break t}else if(O!==83){if(10<=O)break t;switch(O){case 1:case 4:case 9:break;default:break t}}var W=0,Y=0;break e}var B=VQ(o),W=B[2],Y=B[1]}var V=Z8(o),Z=V[1],se=pi(W,V[2]),ae=Bt(o);if(!Y&&!Z&&typeof ae!="number"&&ae[0]===4){var ue=ae[3];if(!Re(ue,sh)){var pe=Gr(o),xe=m3(0,o)[2],ye=Bt(o);e:if(typeof ye=="number"){if(87<=ye){if(ye!==99&&88<=ye)break e}else if(ye!==83){if(10<=ye)break e;switch(ye){case 1:case 4:case 9:break;default:break e}}return fte(o,g,xe,0,0,0)}lC(o,xe);var ge=Qr([0,g],function(At){return nA(At,0,1)},o),Ne=ge[2],Fe=Ne[2],ze=Ne[1],ut=ge[1];return[0,[0,[0,ut,[2,ze,Fe,Nr([0,pe],0,he)]]],i_]}if(!Re(ue,HO)){var it=Gr(o),Tt=m3(0,o)[2],Rt=Bt(o);e:if(typeof Rt=="number"){if(87<=Rt){if(Rt!==99&&88<=Rt)break e}else if(Rt!==83){if(10<=Rt)break e;switch(Rt){case 1:case 4:case 9:break;default:break e}}return fte(o,g,Tt,0,0,0)}lC(o,Tt);var kt=Qr([0,g],function(At){return nA(At,0,0)},o),ft=kt[2],It=ft[2],dt=ft[1],Ot=kt[1];return[0,[0,[0,Ot,[3,dt,It,Nr([0,it],0,he)]]],i_]}}return fte(o,g,m3(0,o)[2],Y,Z,se)}function dte(o,T,a,u){var p=a[2][1],d=a[1];if(Qa(p,pt))return zn(o,[0,d,[15,p,0,q0e===u?1:0,1]]),T;e:{t:{r:{for(var q=T;;){if(typeof q=="number")break t;if(q[0]===0)break r;var g=dn(p,q[2]),O=q[5],B=q[4],W=q[3];if(g===0)break;var Y=0<=g?O:B,q=Y}var Z=[0,W];break e}var V=q[2];if(dn(p,q[1])===0){var Z=[0,V];break e}var Z=0;break e}var Z=0}if(!Z)return UQ(p,u,T);var se=Z[1];e:{t:if(typeof u=="number"){if(Bz===u){if(typeof se!="number"||JY!==se)break t}else if(JY!==u||typeof se!="number"||Bz!==se)break t;break e}zn(o,[0,d,[1,p]])}return UQ(p,Coe,T)}function QV(o,T){return Qr(0,function(a){var u=T?Gr(a):0;ar(a,53);for(var p=0;;){var d=[0,Qr(0,function(O){var B=Dd(O),W=Bt(O)===99?K(Ol(O)[2],B,function(Y,V){return K(ki(Y,x9,96),Y,V)}):B;return[0,W,Jle(O)]},a),p],q=Bt(a);if(typeof q=="number"&&q===9){ar(a,9);var p=d;continue}var g=xn(d);return[0,g,Nr([0,u],0,he)]}},o)}function xte(o){switch(o[0]){case 0:case 3:var T=o[1];return[0,[0,T[1],T[2][1]]];default:return 0}}function NV(o,T){if(T)return zn(o,[0,T[1][1],_m])}function wV(o,T){if(T)return zn(o,[0,T[1],12])}function mte(o,T,a,u,p,d,q,g){var O=Qr([0,T],function(ae){var ue=dV(ae),pe=Bt(ae);e:if(d){if(typeof pe=="number"&&pe===83){Us(ae,13),Wn(ae);var xe=0;break e}var xe=0}else{if(typeof pe=="number"&&pe===83){Wn(ae);var ye=uv(1,ae),xe=[0,J(Er[7],ye)];break e}var xe=1}var ge=Bt(ae);e:{if(typeof ge=="number"&&9>ge)switch(ge){case 8:Wn(ae);var Ne=Bt(ae);t:{r:if(typeof Ne=="number"){if(Ne!==1&&d0!==Ne)break r;var Fe=Kn(ae);break t}var Fe=CT(ae)?oi(ae):0}var kt=[0,u,ue,xe,Fe];break e;case 4:case 6:Gu(0,ae);var kt=[0,u,ue,xe,0];break e}var ze=Bt(ae);t:{r:if(typeof ze=="number"){if(ze!==1&&d0!==ze)break r;var ut=[0,,function(At,wt){return At}];break t}var ut=CT(ae)?_v(ae):iV(ae)}if(typeof xe=="number")if(ue[0]===0)var it=xe,Tt=ue,Rt=K(ut[2],u,function(Ot,At){return K(ki(Ot,Moe,99),Ot,At)});else var it=xe,Tt=[1,K(ut[2],ue[1],function(Ot,At){return K(ki(Ot,yz,dR),Ot,At)})],Rt=u;else var it=[0,K(ut[2],xe[1],function(Ot,At){return K(ki(Ot,Vp,Fr),Ot,At)})],Tt=ue,Rt=u;var kt=[0,Rt,Tt,it,0]}var ft=kt[3],It=kt[2],dt=kt[1];return[0,dt,It,ft,Nr([0,g],[0,kt[4]],he)]},o),B=O[2],W=B[4],Y=B[3],V=B[2],Z=B[1],se=O[1];return Z[0]===4?[2,[0,se,[0,Z[1],Y,V,p,q,a,W]]]:[1,[0,se,[0,Z,Y,V,p,q,a,W]]]}function kte(o,T,a,u,p,d,q,g,O,B){for(;;){var W=Bt(o);e:if(typeof W=="number"){var Y=W-1|0;if(7>>0){var V=Y-82|0;if(4>>0)break e;switch(V){case 3:Gu(0,o),Wn(o);continue;case 0:case 4:break;default:break e}}else if(5>=Y-1>>>0)break e;if(!p&&!d)return mte(o,T,a,u,q,g,O,B)}var Z=Bt(o);e:{if(typeof Z=="number"&&(Z===4||Z===99)){var se=0;break e}var se=IQ(o)?1:0}if(se)return mte(o,T,a,u,q,g,O,B);wV(o,g),NV(o,O);var ae=xte(u);e:{if(q){if(ae){var ue=ae[1],pe=ue[1];if(!Re(ue[2],M5)){zn(o,[0,pe,[15,vXe,q,1,0]]);var ge=uv(1,o),Ne=1;break e}}}else if(ae){var xe=ae[1],ye=xe[1];if(!Re(xe[2],pt)){p&&zn(o,[0,ye,9]),d&&zn(o,[0,ye,10]);var ge=uv(2,o),Ne=0;break e}}var ge=uv(1,o),Ne=1}var Fe=lC(ge,u),ze=Qr(0,function(it){var Tt=Qr(0,function(wt){var or=Vl(wt,Cc(wt)),rr=rA(p,d)(wt),Jt=Bt(wt)===87?rr:x3(wt,rr),tr=Jt[2],mr=tr[1];e:{if(mr){var Xt=mr[1][1],hr=Jt[1];if(Ne===0){zn(wt,[0,Xt,88]);var Ge=[0,hr,[0,0,tr[2],tr[3],tr[4]]];break e}}var Ge=Jt}return[0,or,Ge,hv(wt,xV(wt))]},it),Rt=Tt[2],kt=Rt[2],ft=Rt[3],It=Rt[1],dt=Tt[1],Ot=lE(it,p,d,0,fv(kt)),At=Ot[1];return tA(it,Ot[2],0,kt),[0,0,kt,At,p,d,1,0,ft,It,0,dt]},ge),ut=[0,Ne,Fe,ze,q,a,Nr([0,B],0,he)];return[0,[0,$R(T,ze[1]),ut]]}}function PV(o,T){var a=Po(o,T);e:if(typeof a=="number"){if(87<=a){if(a!==99&&88<=a)break e}else if(a!==83){if(9<=a)break e;switch(a){case 1:case 4:case 8:break;default:break e}}return 1}return 0}var Wce=0;function l1t(o,T,a,u){var p=st(o),d=Bt(o);e:{if(typeof d=="number")switch(d){case 104:var q=Gr(o);Wn(o);var B=[0,[0,p,[0,0,Nr([0,q],0,he)]]];break e;case 105:var g=Gr(o);Wn(o);var B=[0,[0,p,[0,1,Nr([0,g],0,he)]]];break e}else if(d[0]===4&&!Re(d[3],nb)&&T){var O=Gr(o);Wn(o);var B=[0,[0,p,[0,2,Nr([0,O],0,he)]]];break e}var B=0}e:if(B){var W=B[1][1];if(!a&&!u)break e;return zn(o,[0,W,_m]),0}return B}var c1t=0;function Nxe(o){return PV(c1t,o)}function wxe(o){var T=st(o),a=wce(o),u=Bt(o);e:{if(typeof u=="number"&&u===61&&!PV(1,o)){var p=[0,st(o)],d=Gr(o);Wn(o);var q=d,g=p;break e}var q=0,g=0}var O=Bt(o);e:if(typeof O=="number"&&2>=O+lee>>>0&&Ik(1,o)){t:{if(typeof O=="number"){var B=O+lee|0;if(2>=B>>>0){switch(B){case 0:var W=W4;break;case 1:var W=lb;break;default:var W=t6}var Y=W;break t}}var Y=Ln(DXe)}Us(o,[24,Y]),Wn(o);break e}var V=Bt(o)===43?1:0;if(V){var Z=Po(1,o);e:{t:if(typeof Z=="number"){if(88<=Z){if(Z!==99&&d0!==Z)break t}else{var se=Z-9|0;if(77>>0){if(78>se)switch(se+9|0){case 1:case 4:case 8:break;default:break t}}else if(se!==74)break t}var ae=0;break e}var ae=1}var ue=ae}else var ue=V;if(ue){var pe=Gr(o);Wn(o);var xe=pe}else var xe=0;var ye=Bt(o)===65?1:0;if(ye)var ge=1-PV(1,o),Ne=ge&&1-cv(1,o);else var Ne=ye;if(Ne){var Fe=Gr(o);Wn(o);var ze=Fe}else var ze=0;var ut=Z8(o),it=ut[1],Tt=ut[2],Rt=Ik(1,o),kt=Rt||(Po(1,o)===6?1:0),ft=l1t(o,kt,Ne,it);e:{if(!it&&ft){var It=Z8(o),dt=It[2],Ot=It[1];break e}var dt=Tt,Ot=it}var At=Nb([0,q,[0,xe,[0,ze,[0,dt,0]]]]),wt=Bt(o);if(!Ne&&!Ot&&typeof wt!="number"&&wt[0]===4){var or=wt[3];if(!Re(or,sh)){var rr=Gr(o),Jt=m3($Xe,o)[2];if(Nxe(o))return kte(o,T,a,Jt,Ne,Ot,ue,g,ft,At);wV(o,g),NV(o,ft),lC(o,Jt);var tr=pi(At,rr),mr=Qr([0,T],function(Xr){return nA(Xr,1,1)},o),Xt=mr[2],hr=Xt[1],Ge=Xt[2],Cr=mr[1],rt=xte(hr);e:if(ue){if(rt){var yr=rt[1],sr=yr[1];if(!Re(yr[2],M5)){zn(o,[0,sr,[15,wXe,ue,0,0]]);break e}}}else if(rt){var Ir=rt[1],Dr=Ir[1];if(!Re(Ir[2],pt)){zn(o,[0,Dr,8]);break e}}return[0,[0,Cr,[0,2,hr,Ge,ue,a,Nr([0,tr],0,he)]]]}if(!Re(or,HO)){var on=Gr(o),cn=m3(SXe,o)[2];if(Nxe(o))return kte(o,T,a,cn,Ne,Ot,ue,g,ft,At);wV(o,g),NV(o,ft),lC(o,cn);var Lr=pi(At,on),fn=Qr([0,T],function(Xr){return nA(Xr,1,0)},o),rn=fn[2],vt=rn[1],qr=rn[2],Pe=fn[1],Lt=xte(vt);e:if(ue){if(Lt){var Xe=Lt[1],Mt=Xe[1];if(!Re(Xe[2],M5)){zn(o,[0,Mt,[15,NXe,ue,0,0]]);break e}}}else if(Lt){var Gt=Lt[1],Ze=Gt[1];if(!Re(Gt[2],pt)){zn(o,[0,Ze,8]);break e}}return[0,[0,Pe,[0,3,vt,qr,ue,a,Nr([0,Lr],0,he)]]]}}return kte(o,T,a,m3(QXe,o)[2],Ne,Ot,ue,g,ft,At)}function Pxe(o,T,a,u){var p=o?o[1]:0,d=Z2(1,T),q=pi(p,wce(d)),g=Gr(d),O=Bt(d);e:if(typeof O!="number"&&O[0]===4&&!Re(O[3],mz)){Us(d,84),Wn(d);break e}ar(d,41);var B=rE(1,d),W=Bt(B);e:{t:if(a&&typeof W=="number"){if(53<=W){if(W!==99&&54<=W)break t}else if(W!==42&&W)break t;var V=0;break e}if(uC(d))var Y=K(Er[13],0,B),V=[0,K(Ol(d)[2],Y,function(ze,ut){return K(ki(ze,x9,Kl),ze,ut)})];else{rV(d,gXe);var V=[0,[0,st(d),bXe]]}}var Z=Cc(d);if(Z)var se=Z[1],ae=[0,K(Ol(d)[2],se,function(ze,ut){return K(ki(ze,tq,gl),ze,ut)})];else var ae=0;var ue=Gr(d);if(_n(d,42))var pe=Qr(0,function(ze){var ut=bV(ste(0,ze)),it=Bt(ze)===99?K(Ol(ze)[2],ut,function(Rt,kt){return K(ki(Rt,Vp,97),Rt,kt)}):ut,Tt=Jle(ze);return[0,it,Tt,Nr([0,ue],0,he)]},d),xe=pe[1],ye=pe[2],ge=[0,[0,xe,K(Ol(d)[2],ye,function(ze,ut){return sn(ki(ze,-663447790,98),ze,xe,ut)})]];else var ge=0;if(Bt(d)===53){1-Eu(d)&&Us(d,jT);var Ne=[0,ple(d,QV(d,1))]}else var Ne=0;var Fe=Qr(0,function(ze){var ut=Gr(ze);if(!_n(ze,0))return ux(ze,0),OXe;ze[30][1]=[0,[0,bd[1],0],ze[30][1]];for(var it=0,Tt=Wce,Rt=0;;){var kt=Bt(ze);if(typeof kt=="number"){var ft=kt-2|0;if(fT>>0){if(Yc>=ft+1>>>0)break}else if(ft===6){ar(ze,8);continue}}var It=wxe(ze);switch(It[0]){case 0:var dt=It[1],Ot=dt[2],At=dt[1];switch(Ot[1]){case 0:if(Ot[4])var on=Tt,cn=it;else{it&&zn(ze,[0,At,15]);var on=Tt,cn=1}break;case 1:var wt=Ot[2],or=wt[0]===4?dte(ze,Tt,wt[1],q0e):Tt,on=or,cn=it;break;case 2:var rr=Ot[2],Jt=rr[0]===4?dte(ze,Tt,rr[1],Bz):Tt,on=Jt,cn=it;break;default:var tr=Ot[2],mr=tr[0]===4?dte(ze,Tt,tr[1],JY):Tt,on=mr,cn=it}break;case 1:var Xt=It[1][2],hr=Xt[4],Ge=Xt[1];switch(Ge[0]){case 4:Ln(EXe);break;case 0:case 3:var Cr=Ge[1],rt=Cr[2][1],yr=Qa(rt,pt),sr=Cr[1];if(yr)var Dr=yr;else var Ir=Qa(rt,M5),Dr=Ir&&hr;Dr&&zn(ze,[0,sr,[15,rt,hr,0,0]]);break}var on=Tt,cn=it;break;default:var on=dte(ze,Tt,It[1][2][1],Coe),cn=it}var it=cn,Tt=on,Rt=[0,It,Rt]}function Lr(Ki,Qe){return wb(function(Vt){return 1-bd[3].call(null,Vt[1],Ki)},Qe)}var fn=xn(Rt),rn=ze[30][1];if(rn){var vt=rn[1],qr=vt[1];if(rn[2]){var Pe=rn[2],Lt=Lr(qr,vt[2]),Xe=Qb(Pe),Mt=Xe[2],Gt=Xe[1],Ze=DRe(Pe),Xr=[0,[0,Gt,pi(Mt,Lt)],Ze];ze[30][1]=Xr}else yR(function(Ki){return zn(ze,[0,Ki[2],[25,Ki[1]]])},Lr(qr,vt[2])),ze[30][1]=0}else Ln(jYe);ar(ze,1);var qt=Bt(ze);e:{t:if(!u){if(typeof qt=="number"&&(qt===1||d0===qt))break t;if(CT(ze)){var kn=oi(ze);break e}var kn=0;break e}var kn=Kn(ze)}return[0,fn,Nr([0,ut],[0,kn],he)]},d);return[0,V,Fe,ae,ge,Ne,q,Nr([0,g],0,he)]}function BV(o,T){return Qr(0,function(a){return[2,Pxe([0,T],a,a[7],0)]},o)}function yte(o){return[7,Pxe(0,o,1,1)]}var T1t=0,Bxe=dle(Er);function Uce(o){var T=cE(o);e:if(o[5])Ed(o,T[1]);else{var a=T[2];t:if(a[0]===27){var u=a[1],p=T[1];if(u[4])zn(o,[0,p,4]);else{if(!u[5])break t;zn(o,[0,p,22])}break e}}return T}function IV(o,T){var a=T[4],u=T[3],p=T[2],d=T[1];a&&e7(o,77);var q=Gr(o);return ar(o,[2,[0,d,p,u,a]]),[0,d,[0,p,u,Nr([0,q],[0,Kn(o)],he)]]}function AT(o,T,a){var u=o?o[1]:pje,p=T?T[1]:1,d=Bt(a);if(typeof d=="number"){var q=d-2|0;if(fT>>0){if(Yc>=q+1>>>0)return[1,[0,Kn(a),function(O,B){return O}]]}else if(q===6){Wn(a);var g=Bt(a);e:if(typeof g=="number"){if(g!==1&&d0!==g)break e;return[0,Kn(a)]}return CT(a)?[0,oi(a)]:_je}}return CT(a)?[1,_v(a)]:(p&&Gu([0,u],a),hje)}function cl(o){var T=Bt(o);e:if(typeof T=="number"){if(T!==1&&d0!==T)break e;return[0,Kn(o),function(a,u){return a}]}return CT(o)?_v(o):iV(o)}function iA(o,T,a){var u=AT(0,0,T);if(u[0]===0)return[0,u[1],a];var p=u[1][2],d=xn(a);if(d)var q=d[2],g=xn([0,K(p,d[1],function(O,B){return sn(ki(O,634872468,66),O,o,B)}),q]);else var g=0;return[0,0,g]}var qte=[],Fce=[],Lce=[];function zce(o,T,a){var u=a[2][1],p=a[1];if(!(u&&!u[1][2][2]&&!u[2]))return zn(o,[0,p,T])}function Cte(o,T){if(!o[5]&&X9(T))return Ed(o,T[1])}function Ate(o){var T=Rx(o)?Uce(o):J(Er[2],o),a=1-o[5],u=a&&X9(T);return u&&Ed(o,T[1]),T}function Ixe(o){var T=Gr(o);ar(o,44);var a=Ate(o);return[0,a,Nr([0,T],0,he)]}function p1t(o){var T=Gr(o);ar(o,16);var a=pi(T,Gr(o));ar(o,4);var u=J(Er[7],o);ar(o,5);var p=Ate(o),d=Bt(o)===44?[0,Qr(0,Ixe,o)]:0;return[28,[0,u,p,d,Nr([0,a],0,he)]]}var _1t=0;function Mxe(o){return Qr(_1t,p1t,o)}function Wxe(o){var T=J(Er[7],o),a=AT(ije,0,o);if(a[0]===0)var u=T,p=a[1];else var u=K(a[1][2],T,function(Y,V){return K(ki(Y,Vp,72),Y,V)}),p=0;if(o[20]){var d=u[2];if(d[0]===14){var q=d[1][2];e:{if(1>>0){if(a!==14)break e}else if(4>=a-1>>>0)break e;return Kn(o)}return CT(o)?oi(o):0}function lI(o){return Bt(o)===1?0:[0,J(Er[7],o)]}function TC(o){var T=st(o),a=Bt(o);e:{if(typeof a!="number"&&a[0]===8){var u=a[1];break e}Gu(hXe,o);var u=fXe}var p=Gr(o);Wn(o);var d=Bt(o);e:{t:if(typeof d=="number"){var q=d+QL|0;if(73>>0){if(q!==77)break t}else if(71>=q-1>>>0)break t;var g=Kn(o);break e}var g=fE(o)}return[0,T,[0,u,Nr([0,p],[0,g],he)]]}function jce(o){var T=Po(1,o);if(typeof T=="number"){if(T===10)for(var a=Qr(0,function(p){var d=[0,TC(p)];return ar(p,10),[0,d,TC(p)]},o);;){var u=Bt(o);if(typeof u=="number"&&u===10){let p=a;var a=Qr([0,a[1]],function(q){return ar(q,10),[0,[1,p],TC(q)]},o);continue}return[2,a]}if(T===87)return[1,Qr(0,function(p){var d=TC(p);return ar(p,87),[0,d,TC(p)]},o)]}return[0,TC(o)]}function e4(o,T){return Qa(o[2][1],T[2][1])}function Jce(o,T){var a=o[2],u=a[1],p=T[2],d=p[1],q=a[2],g=p[2];e:{if(u[0]===0){var O=u[1];if(d[0]===0){var W=e4(O,d[1]);break e}}else{var B=u[1];if(d[0]!==0){var W=Jce(B,d[1]);break e}}var W=0}return W&&e4(q,g)}function yv(o,T){switch(o[0]){case 0:var a=o[1];if(T[0]===0)return e4(a,T[1]);break;case 1:var u=o[1];if(T[0]===1){var p=u[2],d=T[1][2],q=p[2],g=d[2],O=e4(p[1],d[1]);return O&&e4(q,g)}break;default:var B=o[1];if(T[0]===2)return Jce(B,T[1])}return 0}function Dte(o){switch(o[0]){case 0:return o[1][1];case 1:return o[1][1];default:return o[1][1]}}var k3=[];function Ste(o,T){var a=Gr(T),u=Qr(0,function(At){ar(At,99);var wt=Bt(At);if(typeof wt=="number"){if(dR===wt)return Wn(At),TXe}else if(wt[0]===8){var or=jce(At);e:{if(Eu(At)&&Bt(At)===99&&dT!==Po(1,At)){var rr=rI(At,0,EV);break e}var rr=0}for(var Jt=0;;){var tr=Bt(At);if(typeof tr=="number"){if(tr===0){var mr=Gr(At);bo(At,0);var Xt=Qr(0,function(sr){ar(sr,0),ar(sr,12);var Ir=J(Er[10],sr);return ar(sr,1),Ir},At),hr=Xt[2],Ge=Xt[1];A0(At);var Jt=[0,[1,[0,Ge,[0,hr,Nr([0,mr],[0,fE(At)],he)]]],Jt];continue}}else if(tr[0]===8){var Jt=[0,[0,Qr(0,function(sr){var Ir=Po(1,sr);e:{if(typeof Ir=="number"&&Ir===87){var Dr=[1,Qr(0,function(qt){var kn=TC(qt);return ar(qt,87),[0,kn,TC(qt)]},sr)];break e}var Dr=[0,TC(sr)]}var on=Bt(sr);e:{if(typeof on=="number"&&on===83){ar(sr,83);var cn=Gr(sr),Lr=Bt(sr);t:{if(typeof Lr=="number"){if(Lr===0){var fn=Gr(sr);bo(sr,0);var rn=Qr(0,function(kn){ar(kn,0);var Ki=lI(kn);return ar(kn,1),Ki},sr),vt=rn[1],qr=rn[2];A0(sr);var Pe=[0,qr,kr([0,fn],[0,fE(sr)],0,he)];Pe[1]||zn(sr,[0,vt,46]);var Gt=[0,[1,[0,vt,Pe]]];break t}}else if(Lr[0]===10){var Lt=Lr[3],Xe=Lr[2],Mt=Lr[1];ar(sr,Lr);var Gt=[0,[0,[0,Mt,[0,Xe,Lt,Nr([0,cn],[0,fE(sr)],he)]]]];break t}Us(sr,35);var Gt=[0,[0,[0,st(sr),_Xe]]]}var Ze=Gt;break e}var Ze=0}return[0,Dr,Ze]},At)],Jt];continue}var Cr=xn(Jt),rt=[0,NT,[0,or,rr,_n(At,dT),Cr]];return _n(At,dR)?[0,rt]:(ux(At,dR),[1,rt])}}return ux(At,dR),pXe},T);if(A0(T),J(k3[3],u))var p=ZF,d=Qr(0,function(At){return 0},T);else{bo(T,3);var q=J(k3[4],u),g=sn(k3[1],o,q,T),p=g[2],d=g[1]}var O=Kn(T);e:{t:if(typeof p!="number"){var B=p[1];if(NT===B){var W=p[2],Y=W[2][1],V=u[2],Z=W[1];if(V[0]===0){var se=V[1];if(typeof se=="number")zn(T,[0,Dte(Y),uXe]);else{var ae=se[2][1];r:if(1-yv(Y,ae)){if(o&&yv(o[1],Y)){var ue=[21,J(k3[2],ae)];zn(T,[0,Dte(ae),ue]);break r}var pe=[13,J(k3[2],ae)];zn(T,[0,Dte(Y),pe])}}}var xe=Z}else{if(jp!==B)break t;var ye=p[2],ge=u[2];if(ge[0]===0){var Ne=ge[1];typeof Ne!="number"&&zn(T,[0,ye,[13,J(k3[2],Ne[2][1])]])}var xe=ye}var Fe=xe;break e}var Fe=u[1]}var ze=u[2][1],ut=u[1];if(typeof ze=="number"){e:{t:{var it=Nr([0,a],[0,O],he);if(typeof p!="number"){var Tt=p[1];if(NT===Tt)var Rt=p[2][1];else{if(jp!==Tt)break t;var Rt=p[2]}var kt=Rt;break e}}var kt=Fe}var ft=[0,jp,[0,ut,kt,d,it]]}else{var It=ze[2];e:{var dt=Nr([0,a],[0,O],he);if(typeof p!="number"&&NT===p[1]){var Ot=[0,p[2]];break e}var Ot=0}var ft=[0,NT,[0,[0,ut,It],Ot,d,dt]]}return[0,$R(u[1],Fe),ft]}function qv(o,T){return bo(T,2),Ste(o,T)}function Fxe(o,T,a,u){for(var p=u;;){var d=lv(a);if(p&&T){var q=p[1],g=q[2],O=T[1],B=p[2];e:{if(g[0]===0){var W=g[1],Y=W[2];if(Y){var V=Y[1][2][1],Z=1-yv(W[1][2][1],V);if(Z){var se=yv(O,V);break e}var se=Z;break e}}var se=0}if(se){var ae=q[2];e:{if(ae[0]===0){var ue=ae[1],pe=ue[2];if(pe){var xe=pe[1],ye=$R(q[1],ue[3][1]),ge=[0,NT,xe],Ne=[0,ye,[0,[0,ue[1],0,ue[3],ue[4]]]];break e}}var ge=ZF,Ne=q}return A0(a),[0,xn([0,Ne,B]),d,ge]}}var Fe=Bt(a);if(typeof Fe=="number"){if(Fe===99){bo(a,2);var ze=Bt(a),ut=Po(1,a);e:if(typeof ze=="number"&&ze===99&&typeof ut=="number"){if(dT!==ut&&d0!==ut)break e;var it=Qr(0,function(Lr){ar(Lr,99),ar(Lr,dT);var fn=Bt(Lr);if(typeof fn=="number"){if(dR===fn)return Wn(Lr),jp}else if(fn[0]===8){var rn=jce(Lr);return nV(Lr,dR),[0,NT,[0,rn]]}return ux(Lr,dR),jp},a),Tt=it[2],Rt=it[1],kt=typeof Tt=="number"?[0,jp,Rt]:[0,NT,[0,Rt,Tt[2]]],ft=a[24][1];t:{if(ft){var It=ft[2];if(It){var dt=It[2];break t}}var dt=Ln(LYe)}a[24][1]=dt;var Ot=NQ(a),At=v1(a[25][1],Ot);return a[26][1]=At,[0,xn(p),d,kt]}var wt=Ste(T,a),or=wt[2],rr=wt[1],Jt=jp<=or[1]?[0,rr,[1,or[2]]]:[0,rr,[0,or[2]]],p=[0,Jt,p];continue}if(d0===Fe)return Gu(0,a),[0,xn(p),d,ZF]}var tr=Bt(a);e:{if(typeof tr=="number"){if(tr===0){bo(a,0);var mr=Qr(0,function(Lr){ar(Lr,0);var fn=Bt(Lr);t:{if(typeof fn=="number"&&fn===12){var rn=Gr(Lr);ar(Lr,12);var vt=J(Er[10],Lr),Lt=[3,[0,vt,Nr([0,rn],0,he)]];break t}var qr=lI(Lr),Pe=qr?0:Gr(Lr),Lt=[2,[0,qr,kr(0,0,Pe,he)]]}return ar(Lr,1),Lt},a),Xt=mr[2],hr=mr[1];A0(a);var Dr=[0,hr,Xt];break e}}else if(tr[0]===9){var Ge=tr[3],Cr=tr[2],rt=tr[1];ar(a,tr);var Dr=[0,rt,[4,[0,Cr,Ge]]];break e}var yr=qv(T,a),sr=yr[2],Ir=yr[1],Dr=jp<=sr[1]?[0,Ir,[1,sr[2]]]:[0,Ir,[0,sr[2]]]}var p=[0,Dr,p]}}function Xce(o){switch(o[0]){case 0:return o[1][2][1];case 1:var T=o[1][2],a=T[1],u=hi(lXe,T[2][2][1]);return hi(a[2][1],u);default:var p=o[1][2],d=p[1],q=p[2],g=d[0]===0?d[1][2][1]:Xce([2,d[1]]);return hi(g,hi(cXe,q[2][1]))}}ns(k3,[0,function(o,T,a){var u=st(a),p=Fxe(he,T,a,0),d=p[2],q=p[3],g=p[1],O=d?d[1]:u;return[0,[0,$R(u,O),g],q]},Xce,function(o){var T=o[2];if(T[0]!==0)return 1;var a=T[1];return typeof a=="number"?0:a[2][3]},function(o){var T=o[2][1];return typeof T=="number"?0:[0,T[2][1]]}]);function Lxe(o,T){var a=lp(T);return dv(o,T,a),a}var $te=[],Zce=[],Qte=[],eTe=[];function zxe(o){var T=Gr(o);ar(o,60);var a=Bt(o)===8?Kn(o):0,u=AT(0,0,o),p=u[0]===0?u[1]:u[1][1];return[5,[0,Nr([0,T],[0,pi(a,p)],he)]]}var Hxe=0;function d1t(o){var T=Gr(o);ar(o,38);var a=wQ(1,o),u=J(Er[2],a),p=1-o[5],d=p&&X9(u);d&&Ed(o,u[1]);var q=Kn(o);ar(o,26);var g=Kn(o);ar(o,4);var O=J(Er[7],o);ar(o,5);var B=Bt(o)===8?Kn(o):0,W=AT(0,Tje,o),Y=W[0]===0?pi(B,W[1]):W[1][1];return[18,[0,u,O,Nr([0,T],[0,pi(q,pi(g,Y))],he)]]}var x1t=0;function m1t(o){var T=Gr(o);ar(o,40);var a=o[19],u=a&&_n(o,66),p=pi(T,Gr(o));ar(o,4);var d=Nr([0,p],0,he),q=Bt(o);e:{if(typeof q=="number"&&q===65){var g=1;break e}var g=0}var O=nE(1,o),B=Bt(O);e:{if(typeof B=="number"){if(25<=B){if(30>B)switch(B+KO|0){case 0:var W=Qr(0,nce,O),Y=W[2],V=Y[3],Z=Y[1],se=W[1],it=V,Tt=[0,[1,[0,se,[0,Z,0,Nr([0,Y[2]],0,he)]]]];break e;case 3:var ae=Qr(0,ice,O),ue=ae[2],pe=ue[3],xe=ue[1],ye=ae[1],it=pe,Tt=[0,[1,[0,ye,[0,xe,2,Nr([0,ue[2]],0,he)]]]];break e;case 4:if(Po(1,O)!==17){var ge=Qr(0,ace,O),Ne=ge[2],Fe=Ne[3],ze=Ne[1],ut=ge[1],it=Fe,Tt=[0,[1,[0,ut,[0,ze,1,Nr([0,Ne[2]],0,he)]]]];break e}break}}else if(B===8){var it=0,Tt=0;break e}}var it=0,Tt=[0,[0,J(Er[8],O)]]}var Rt=Bt(o);if(typeof Rt=="number"){if(Rt===17){if(!Tt)throw Pr([0,Wa,cje],1);var kt=Tt[1];if(kt[0]===0)var ft=[1,CV(lje,o,kt[1])];else{var It=kt[1];zce(o,38,It);var ft=[0,It]}u?ar(o,64):ar(o,17);var dt=J(Er[7],o);ar(o,5);var Ot=wQ(1,o),At=J(Er[2],Ot);return Cte(o,At),[25,[0,ft,dt,At,0,d]]}if(Rt===64){if(!Tt)throw Pr([0,Wa,uje],1);var wt=Tt[1];if(wt[0]===0){var or=CV(Rje,o,wt[1]),rr=1-u,Jt=rr&&g;e:if(Jt){var tr=or[2];if(tr[0]===2){var mr=tr[1][1],Xt=mr[1];if(!Re(mr[2][1],R3)){zn(o,[0,Xt,39]);break e}}}var hr=[1,or]}else{var Ge=wt[1];zce(o,39,Ge);var hr=[0,Ge]}ar(o,64);var Cr=J(Er[10],o);ar(o,5);var rt=wQ(1,o),yr=J(Er[2],rt);return Cte(o,yr),[26,[0,hr,Cr,yr,u,d]]}}if(yR(function(qr){return zn(o,qr)},it),u?ar(o,64):ar(o,8),Tt)var sr=Tt[1],Ir=sr[0]===0?[0,[1,H0(o,sr[1])]]:[0,[0,sr[1]]],Dr=Ir;else var Dr=0;var on=Bt(o);e:{if(typeof on=="number"&&on===8){var cn=0;break e}var cn=[0,J(Er[7],o)]}ar(o,8);var Lr=Bt(o);e:{if(typeof Lr=="number"&&Lr===5){var fn=0;break e}var fn=[0,J(Er[7],o)]}ar(o,5);var rn=wQ(1,o),vt=J(Er[2],rn);return Cte(o,vt),[24,[0,Dr,cn,fn,vt,d]]}var k1t=0;function y1t(o){1-o[11]&&Us(o,27);var T=Gr(o),a=st(o);ar(o,19);var u=Bt(o)===8?Kn(o):0;e:{if(Bt(o)!==8&&!IQ(o)){var p=[0,J(Er[7],o)];break e}var p=0}var d=$R(a,st(o)),q=AT(0,0,o);e:{if(q[0]===0)var g=q[1];else{var O=q[1],B=O[1];if(p){var W=[0,K(O[2],p[1],function(ae,ue){return K(ki(ae,Vp,67),ae,ue)})],Y=u;break e}var g=B}var W=p,Y=pi(u,g)}return[33,[0,W,Nr([0,T],[0,Y],he),d]]}var q1t=0;function C1t(o){var T=Gr(o);ar(o,20),ar(o,4);var a=J(Er[7],o);ar(o,5),ar(o,0);for(var u=oje;;){var p=u[2],d=u[1],q=Bt(o);e:if(typeof q=="number"){if(q!==1&&d0!==q)break e;var g=xn(p);ar(o,1);var O=cl(o)[1],B=a[1];return[34,[0,a,g,Nr([0,T],[0,O],he),B]]}let Y=d;var W=wr(0,function(Z){var se=Gr(Z),ae=Bt(Z);e:{if(typeof ae=="number"&&ae===37){Y&&Us(Z,54),ar(Z,37);var ue=Kn(Z),pe=0;break e}ar(Z,34);var ue=0,pe=[0,J(Er[7],Z)]}var xe=Y||(pe===0?1:0);ar(Z,87);var ye=pi(ue,cl(Z)[1]);function ge(ut){e:if(typeof ut=="number"){var it=ut-1|0;if(33>>0){if(it!==36)break e}else if(31>=it-1>>>0)break e;return 1}return 0}var Ne=1,Fe=Z[9]===1?Z:[0,Z[1],Z[2],Z[3],Z[4],Z[5],Z[6],Z[7],Z[8],Ne,Z[10],Z[11],Z[12],Z[13],Z[14],Z[15],Z[16],Z[17],Z[18],Z[19],Z[20],Z[21],Z[22],Z[23],Z[24],Z[25],Z[26],Z[27],Z[28],Z[29],Z[30],Z[31]],ze=K(Er[4],ge,Fe);return[0,[0,pe,ze,Nr([0,se],[0,ye],he)],xe]},o),u=[0,W[2],[0,W[1],p]]}}var A1t=0;function g1t(o){var T=Gr(o),a=st(o);ar(o,23),CT(o)&&zn(o,[0,a,55]);var u=J(Er[7],o),p=AT(0,0,o);if(p[0]===0)var d=u,q=p[1];else var d=K(p[1][2],u,function(g,O){return K(ki(g,Vp,68),g,O)}),q=0;return[35,[0,d,Nr([0,T],[0,q],he)]]}var b1t=0;function E1t(o){var T=Gr(o);ar(o,24);var a=J(Er[15],o),u=Bt(o)===35?K(Ol(o)[2],a,function(Z,se){var ae=se[1];return[0,ae,sn(ki(Z,YT,4),Z,ae,se[2])]}):a,p=Bt(o);e:{if(typeof p=="number"&&p===35){var d=[0,Qr(0,function(se){var ae=Gr(se);ar(se,35);var ue=Kn(se);if(Bt(se)===4){ar(se,4);var pe=[0,K(Er[18],se,68)];ar(se,5);var xe=pe}else var xe=0;var ye=J(Er[15],se),ge=Bt(se)===39?ye:K(cl(se)[2],ye,function(Ne,Fe){var ze=Fe[1];return[0,ze,sn(ki(Ne,YT,69),Ne,ze,Fe[2])]});return[0,xe,ge,Nr([0,ae],[0,ue],he)]},o)];break e}var d=0}var q=Bt(o);e:{if(typeof q=="number"&&q===39){ar(o,39);var g=J(Er[15],o),O=g[1],B=g[2],W=[0,[0,O,K(cl(o)[2],B,function(se,ae){return sn(ki(se,YT,70),se,O,ae)})]];break e}var W=0}var Y=d===0?1:0,V=Y&&(W===0?1:0);return V&&zn(o,[0,u[1],57]),[36,[0,u,d,W,Nr([0,T],0,he)]]}var O1t=0;function v1t(o){var T=0,a=nce(o),u=a[3],p=a[2],d=iA(T,o,a[1]),q=d[2],g=d[1];return yR(function(O){return zn(o,O)},u),[39,[0,q,T,Nr([0,p],[0,g],he)]]}var D1t=0;function S1t(o){var T=2,a=ice(o),u=a[3],p=a[2],d=iA(T,o,a[1]),q=d[2],g=d[1];return yR(function(O){return zn(o,O)},u),[39,[0,q,T,Nr([0,p],[0,g],he)]]}var $1t=0;function Q1t(o){var T=1,a=ace(o),u=a[3],p=a[2],d=iA(T,o,a[1]),q=d[2],g=d[1];return yR(function(O){return zn(o,O)},u),[39,[0,q,T,Nr([0,p],[0,g],he)]]}var N1t=0;function w1t(o){var T=Gr(o);ar(o,26);var a=pi(T,Gr(o));ar(o,4);var u=J(Er[7],o);ar(o,5);var p=wQ(1,o),d=J(Er[2],p),q=1-o[5],g=q&&X9(d);return g&&Ed(o,d[1]),[40,[0,u,d,Nr([0,a],0,he)]]}var P1t=0;function B1t(o){var T=Gr(o),a=J(Er[7],o),u=Bt(o),p=a[2];if(p[0]===10&&typeof u=="number"&&u===87){var d=p[1],q=d[2][1],g=a[1];ar(o,87),bd[3].call(null,q,o[3])&&zn(o,[0,g,[23,aje,q]]);var O=o[31],B=o[30],W=o[29],Y=o[28],V=o[27],Z=o[26],se=o[25],ae=o[24],ue=o[23],pe=o[22],xe=o[21],ye=o[20],ge=o[19],Ne=o[18],Fe=o[17],ze=o[16],ut=o[15],it=o[14],Tt=o[13],Rt=o[12],kt=o[11],ft=o[10],It=o[9],dt=o[8],Ot=o[7],At=o[6],wt=o[5],or=o[4],rr=bd[4].call(null,q,o[3]),Jt=[0,o[1],o[2],rr,or,wt,At,Ot,dt,It,ft,kt,Rt,Tt,it,ut,ze,Fe,Ne,ge,ye,xe,pe,ue,ae,se,Z,V,Y,W,B,O],tr=Rx(Jt)?Uce(Jt):J(Er[2],Jt);return[31,[0,d,tr,Nr([0,T],0,he)]]}var mr=AT(sje,0,o);if(mr[0]===0)var Xt=a,hr=mr[1];else var Xt=K(mr[1][2],a,function(Ge,Cr){return K(ki(Ge,Vp,71),Ge,Cr)}),hr=0;return[23,[0,Xt,0,Nr(0,[0,hr],he)]]}var I1t=0;function M1t(o,T){var a=o?o[1]:0;1-Eu(T)&&Us(T,lc);var u=Po(1,T);if(typeof u=="number")switch(u){case 25:return LV(0,T);case 28:return LV(2,T);case 29:return LV(1,T);case 41:return Qr(0,function(Z){var se=Gr(Z);return ar(Z,61),[6,sI(se,Z)]},T);case 47:if(Bt(T)===51)return Ote(T);break;case 49:if(T[28][2])return Qr(0,function(Z){var se=Gr(Z);return ar(Z,61),[8,Bxe[1].call(null,[0,se],Z)]},T);break;case 50:if(a)return Kce(T);break;case 54:return Qr(0,function(Z){var se=Gr(Z);return ar(Z,61),[11,rN(se,Z)]},T);case 62:var p=Bt(T);return typeof p=="number"&&p===51&&a?Ote(T):Qr(0,function(Z){var se=Gr(Z);return ar(Z,61),[15,tN(se,Z)]},T);case 63:return Qr(0,function(Z){var se=Gr(Z);return ar(Z,61),[16,FV(wVe,se,Z)]},T);case 15:case 65:return vte(T)}else if(u[0]===4){var d=u[3];if(Re(d,ih)){if(Re(d,IO)){if(!Re(d,dee)){var q=st(T),g=Gr(T);ar(T,61);var O=pi(g,Gr(T));return V8(T,WVe),Bt(T)===10?Qr([0,q],function(Z){var se=Gr(Z);ar(Z,10);var ae=Gr(Z);V8(Z,FVe);var ue=Nb([0,O,[0,se,[0,ae,[0,Gr(Z),0]]]]),pe=X8(Z),xe=AT(0,0,Z);if(xe[0]===0)var ye=xe[1],ge=pe;else var ye=0,ge=K(xe[1][2],pe,function(Ne,Fe){return K(ki(Ne,yz,89),Ne,Fe)});return[13,[0,ge,Nr([0,ue],[0,ye],he)]]},T):Qr([0,q],J(Fce[1],O),T)}if(!Re(d,u3)){var B=st(T),W=Gr(T);ar(T,61);var Y=pi(W,Gr(T));return V8(T,UVe),Qr([0,B],J(Lce[1],Y),T)}}else if(T[28][1])return vte(T)}else if(T[28][1])return Qr(0,function(Z){var se=Gr(Z);return ar(Z,61),[7,oI(se,Z)]},T)}if(!a)return J(Er[2],T);var V=Bt(T);return typeof V=="number"&&V===51?Ote(T):LV(0,T)}var W1t=0;function Yxe(o,T,a){var u=ote(1,o),p=jK($te[2],u,T,a,IXe),d=p[4],q=p[3],g=p[2],O=ote(0,p[1]),B=xn(g);return yR(J($te[1],O),B),[0,O,q,d]}function Kxe(o){var T=wce(o),a=Bt(o);if(typeof a=="number"){var u=a-50|0;if(11>=u>>>0)switch(u){case 0:var p=Rte(1,Z2(1,o)),d=Gr(p),q=st(p);ar(p,50);var g=Bt(p);if(typeof g=="number"){if(54<=g){if(64>g)switch(g-54|0){case 0:return Qr([0,q],function(V){1-Eu(V)&&Us(V,vk);var Z=0,se=Qr(0,function(ue){return rN(Z,ue)},V),ae=[0,se[1],[30,se[2]]];return[22,[0,[0,ae],0,0,0,Nr([0,d],0,he)]]},p);case 8:if(Po(1,p)!==0)return Qr([0,q],function(V){1-Eu(V)&&Us(V,vk);var Z=Po(1,V);if(typeof Z=="number"){if(Z===49)return Us(V,17),ar(V,62),[22,[0,0,0,0,0,Nr([0,d],0,he)]];if(jT===Z){ar(V,62);var se=st(V);ar(V,jT);var ae=kv(V),ue=ae[1];return[22,[0,0,[0,[1,[0,se,0]]],[0,ue],0,Nr([0,d],[0,ae[2]],he)]]}}var pe=0,xe=Qr(0,function(ge){return tN(pe,ge)},V),ye=[0,xe[1],[37,xe[2]]];return[22,[0,[0,ye],0,0,0,Nr([0,d],0,he)]]},p);break;case 9:return Qr([0,q],function(V){var Z=Qr(0,function(ae){return FV(0,0,ae)},V),se=[0,Z[1],[38,Z[2]]];return[22,[0,[0,se],0,0,0,Nr([0,d],0,he)]]},p)}}else if(g===37)return Qr([0,q],function(V){var Z=pi(d,Gr(V)),se=Qr(0,function(Fe){return ar(Fe,37)},V)[1],ae=lle(1,V);e:{if(!Rx(ae)&&!j9(ae)){if(Tv(ae)){var ge=0,Ne=[0,BV(ae,T)];break e}if(Bt(ae)===49){var ge=0,Ne=[0,sce(0)(ae)];break e}if(MQ(ae)){var ge=0,Ne=[0,qV(ae)];break e}var ue=J(Er[10],ae),pe=AT(0,0,ae);if(pe[0]===0)var xe=pe[1],ye=ue;else var xe=0,ye=K(pe[1][2],ue,function(ut,it){return K(ki(ut,Vp,91),ut,it)});var ge=xe,Ne=[1,ye];break e}var ge=0,Ne=[0,cE(ae)]}return[21,[0,se,Ne,Nr([0,Z],[0,ge],he)]]},p)}if(Tv(p))return Qr([0,q],function(V){var Z=BV(V,T);return[22,[0,[0,Z],0,0,1,Nr([0,d],0,he)]]},p);if(!Rx(p)&&!j9(p)){if(typeof g=="number"){var O=g+KO|0;if(4>>0){if(O===24&&p[28][2])return Qr([0,q],function(V){var Z=K(Er[3],[0,T],V);return[22,[0,[0,Z],0,0,1,Nr([0,d],0,he)]]},p)}else if(1>>0)return Qr([0,q],function(V){var Z=K(Er[3],[0,T],V);return[22,[0,[0,Z],0,0,1,Nr([0,d],0,he)]]},p)}if(MQ(p))return Qr([0,q],function(V){var Z=qV(V);return[22,[0,[0,Z],0,0,1,Nr([0,d],0,he)]]},p);if(typeof g=="number"&&jT===g)return Qr([0,q],function(V){var Z=st(V);ar(V,jT);var se=Bt(V);e:{if(typeof se!="number"&&se[0]===4&&!Re(se[3],y8)){Wn(V);var ae=[0,lp(V)];break e}var ae=0}var ue=kv(V),pe=ue[1];return[22,[0,0,[0,[1,[0,Z,ae]]],[0,pe],1,Nr([0,d],[0,ue[2]],he)]]},p);var B=_n(p,62)?0:1;return _n(p,0)?Qr([0,q],function(V){var Z=Yce(0,V,0);ar(V,1);var se=Bt(V);e:{if(typeof se!="number"&&se[0]===4&&!Re(se[3],Tb)){var ae=kv(V),xe=ae[2],ye=[0,ae[1]];break e}RI(V,Z);var ue=AT(0,0,V),pe=ue[0]===0?ue[1]:ue[1][1],xe=pe,ye=0}return[22,[0,0,[0,[0,Z]],ye,B,Nr([0,d],[0,xe],he)]]},p):(Gu(KVe,p),K(Er[3],[0,T],p))}return Qr([0,q],function(V){fu(V)(T);var Z=cE(V);return[22,[0,[0,Z],0,0,1,Nr([0,d],0,he)]]},p);case 1:fu(o)(T);var W=Po(1,o);e:{t:if(typeof W=="number"){if(W!==4&&W!==10)break t;var Y=MV(o);break e}var Y=Ote(o)}return Y;case 11:if(Po(1,o)===50)return fu(o)(T),Kce(o);break}}return GV([0,T],o)}function tTe(o,T){return sn(Zce[1],T,o,0)}function rTe(o,T){var a=Yxe(T,o,function(d){return GV(0,d)}),u=a[3],p=a[2];return[0,tR(function(d,q){return[0,q,d]},Nte(o,a[1]),p),u]}function Nte(o,T){return sn(Qte[1],T,o,0)}function GV(o,T){var a=o?o[1]:0;1-Tv(T)&&fu(T)(a);var u=Bt(T);if(typeof u=="number"){if(u===28)return Qr($1t,S1t,T);if(u===29)return Qr(N1t,Q1t,T)}if(!Rx(T)&&!j9(T)){if(Tv(T))return BV(T,a);if(typeof u=="number"){var p=u-49|0;if(14>=p>>>0)switch(p){case 0:if(T[28][2])return sce(0)(T);break;case 5:if(!eV(1,T))return MV(T);var d=0,q=Qr(0,function(V){return rN(d,V)},T);return[0,q[1],[30,q[2]]];case 12:return M1t(0,T);case 13:if(Ik(1,T)&&!D_(1,T)){var g=0,O=Qr(0,function(V){return tN(g,V)},T);return[0,O[1],[37,O[2]]]}return J(Er[2],T);case 14:var B=Po(1,T);if(typeof B=="number"&&B===62){var W=0,Y=Qr(0,function(V){return FV(PVe,W,V)},T);return[0,Y[1],[38,Y[2]]]}return J(Er[2],T)}}return MQ(T)?qV(T):wte(T)}return cE(T)}function wte(o){for(;;){var T=Bt(o);if(typeof T=="number"&&JO>T)switch(T){case 0:var a=J(Er[15],o),u=a[1],p=a[2];return[0,u,[0,K(cl(o)[2],p,function(Jt,tr){return sn(ki(Jt,YT,77),Jt,u,tr)})]];case 8:var d=st(o),q=Gr(o);return ar(o,8),[0,d,[19,[0,Nr([0,q],[0,cl(o)[1]],he)]]];case 16:return Mxe(o);case 19:return Qr(q1t,y1t,o);case 20:return Qr(A1t,C1t,o);case 21:if(o[28][3]&&!cv(1,o)&&Po(1,o)===4){var g=Gr(o),O=st(o),B=K(Er[13],0,o),W=ZQ(o);if(!CT(o)&&Bt(o)===0){var Y=aV(o,W),V=function(Jt){var tr=Gr(Jt),mr=J(Er[27],Jt),Xt=_n(Jt,16)?[0,J(Er[7],Jt)]:0;ar(Jt,87);var hr=J(Er[15],Jt),Ge=Bt(Jt);e:{t:if(typeof Ge=="number"){if(Ge!==1&&d0!==Ge)break t;break e}ar(Jt,9)}return[0,mr,hr,Xt,Nr([0,tr],[0,Kn(Jt)],he)]};return Qr([0,O],function(Jt){ar(Jt,0);for(var tr=0;;){var mr=Bt(Jt);e:if(typeof mr=="number"){if(mr!==1&&d0!==mr)break e;var Xt=xn(tr);return ar(Jt,1),[32,[0,Y,Xt,Nr([0,g],[0,Kn(Jt)],he)]]}var tr=[0,Qr(0,V,Jt),tr]}},o)}var Z=[0,B[1],[10,B]],se=$R(O,W[1]),ae=H0(o,gm(NVe,QVe,o,O,[0,[0,se,[6,[0,Z,0,W,Nr([0,g],0,he)]]]]));return Qr([0,O],function(Jt){var tr=AT($Ve,0,Jt);if(tr[0]===0)var mr=ae,Xt=tr[1];else var mr=K(tr[1][2],ae,function(hr,Ge){return K(ki(hr,Vp,76),hr,Ge)}),Xt=0;return[23,[0,mr,0,Nr(0,[0,Xt],he)]]},o)}break;case 23:return Qr(b1t,g1t,o);case 24:return Qr(O1t,E1t,o);case 25:return Qr(D1t,v1t,o);case 26:return Qr(P1t,w1t,o);case 27:var ue=Qr(0,function(Jt){var tr=Gr(Jt);ar(Jt,27);var mr=pi(tr,Gr(Jt));ar(Jt,4);var Xt=J(Er[7],Jt);ar(Jt,5);var hr=J(Er[2],Jt),Ge=1-Jt[5],Cr=Ge&&X9(hr);return Cr&&Ed(Jt,hr[1]),[41,[0,Xt,hr,Nr([0,mr],0,he)]]},o),pe=ue[1],xe=ue[2];return qc(o,[0,pe,75]),[0,pe,xe];case 33:var ye=Gr(o),ge=Qr(0,function(Jt){ar(Jt,33);e:{if(Bt(Jt)!==8&&!IQ(Jt)){var tr=K(Er[13],0,Jt),mr=tr[2][1],Xt=tr[1];1-bd[3].call(null,mr,Jt[3])&&zn(Jt,[0,Xt,[29,mr]]);var hr=[0,tr];break e}var hr=0}var Ge=AT(0,0,Jt);e:{if(Ge[0]===0)var Cr=Ge[1];else{var rt=Ge[1],yr=rt[1];if(hr){var sr=[0,K(rt[2],hr[1],function(Lr,fn){return K(ki(Lr,x9,74),Lr,fn)})],Ir=0;break e}var Cr=yr}var sr=hr,Ir=Cr}return[0,sr,Ir]},o),Ne=ge[2],Fe=Ne[1],ze=ge[1],ut=Fe===0?1:0,it=Ne[2];if(ut)var Tt=o[8],Rt=Tt||o[9],kt=1-Rt;else var kt=ut;return kt&&zn(o,[0,ze,25]),[0,ze,[1,[0,Fe,Nr([0,ye],[0,it],he)]]];case 36:var ft=Gr(o),It=Qr(0,function(Jt){ar(Jt,36);e:{if(Bt(Jt)!==8&&!IQ(Jt)){var tr=K(Er[13],0,Jt),mr=tr[2][1],Xt=tr[1];1-bd[3].call(null,mr,Jt[3])&&zn(Jt,[0,Xt,[29,mr]]);var hr=[0,tr];break e}var hr=0}var Ge=AT(0,0,Jt);e:{if(Ge[0]===0)var Cr=Ge[1];else{var rt=Ge[1],yr=rt[1];if(hr){var sr=[0,K(rt[2],hr[1],function(Lr,fn){return K(ki(Lr,x9,75),Lr,fn)})],Ir=0;break e}var Cr=yr}var sr=hr,Ir=Cr}return[0,sr,Ir]},o),dt=It[2],Ot=It[1],At=dt[2],wt=dt[1];return 1-o[8]&&zn(o,[0,Ot,26]),[0,Ot,[4,[0,wt,Nr([0,ft],[0,At],he)]]];case 38:return Qr(x1t,d1t,o);case 40:return Qr(k1t,m1t,o);case 44:return Mxe(o);case 60:return Qr(Hxe,zxe,o);case 114:return Gu(MXe,o),[0,st(o),WXe];case 1:case 5:case 7:case 9:case 10:case 11:case 12:case 17:case 18:case 34:case 35:case 37:case 39:case 42:case 43:case 50:case 84:case 87:Gu(UXe,o),Wn(o);continue}if(!Rx(o)&&!j9(o)){if(typeof T=="number"&&T===29&&Po(1,o)===6){var or=ko(1,o);return zn(o,[0,$R(st(o),or),3]),MV(o)}return uC(o)?Qr(I1t,B1t,o):(Tv(o)&&(Gu(0,o),Wn(o)),MV(o))}var rr=cE(o);return Ed(o,rr[1]),rr}}ns($te,[0,function(o,T){if(typeof T!="number"&&T[0]===2){var a=T[1],u=a[4],p=a[1];return u&&qc(o,[0,p,77])}return Ln(hi(LXe,hi(Vue(T),FXe)))},function(o,T,a,u){for(var p=o,d=u;;){var q=d[3],g=d[2],O=d[1],B=Bt(p);if(typeof B=="number"&&d0===B)return[0,p,O,g,q];if(J(T,B))return[0,p,O,g,q];if(typeof B!="number"&&B[0]===2){var W=J(a,p),Y=[0,W,g],V=W[2];if(V[0]===23){var Z=V[1][2];if(Z){var se=Qa(Z[1],"use strict"),ae=W[1],ue=se&&1-p[21];ue&&zn(p,[0,ae,80]);var pe=se?Z2(1,p):p,xe=[0,B,O],ye=q||se,p=pe,d=[0,xe,Y,ye];continue}}return[0,p,O,Y,q]}return[0,p,O,g,q]}}]),ns(Zce,[0,function(o,T,a){for(var u=a;;){var p=Bt(o);if(typeof p=="number"&&d0===p||J(T,p))return xn(u);var u=[0,Kxe(o),u]}}]),ns(Qte,[0,function(o,T,a){for(var u=a;;){var p=Bt(o);if(typeof p=="number"&&d0===p||J(T,p))return xn(u);var u=[0,GV(0,o),u]}}]),ns(eTe,[0,function(o,T,a){var u=1-o,p=Lxe([0,T],a),d=u&&(Bt(a)===86?1:0);return d&&(1-Eu(a)&&Us(a,Kl),ar(a,86)),[0,p,dV(a),d]}]),$ue(GXe[1],Er,[0,function(o){var T=Bt(o);e:{if(typeof T!="number"&&T[0]===6){var a=T[2],u=T[1];Wn(o);var p=[0,[0,u,a]];break e}var p=0}var d=Gr(o);e:{t:{for(var q=xn(d),g=5;q;){var O=q[2],B=q[1],W=B[2],Y=B[1],V=W[2];r:{n:{for(var Z=0,se=ii(V);;){if(se<(Z+5|0))break n;var ae=Qa(qR(V,Z,g),"@flow");if(ae)break;var Z=Z+1|0}var ue=ae;break r}var ue=0}if(ue)break t;var q=O}var pe=0;break e}o[31][1]=Y[3];var pe=xn([0,[0,Y,W],O])}e:if(pe===0){if(d){var xe=d[1],ye=xe[2];if(!ye[1]){var ge=ye[2],Ne=xe[1];if(1<=ii(ge)&&r0(ge,0)===42){o[31][1]=Ne[3];var Fe=[0,xe,0];break e}}}var Fe=0}else var Fe=pe;function ze(dt){return 0}var ut=Yxe(o,ze,Kxe),it=ut[2],Tt=tR(function(dt,Ot){return[0,Ot,dt]},tTe(ze,ut[1]),it),Rt=st(o);if(ar(o,d0),tR(function(dt,Ot){var At=Ot[2];switch(At[0]){case 21:return aE(o,dt,U8(0,[0,At[1][1],zXe]));case 22:var wt=At[1],or=wt[1];if(or){if(!wt[2]){var rr=or[1],Jt=rr[2],tr=rr[1];e:{switch(Jt[0]){case 39:return tR(function(Cr,rt){return aE(o,Cr,rt)},dt,tR(function(Cr,rt){return tR(RV,Cr,[0,rt[2][1],0])},0,Jt[1][1]));case 2:case 27:var mr=Jt[1][1];if(mr){var Xt=mr[1];break e}break;case 3:case 20:case 30:case 37:case 38:var Xt=Jt[1][1];break e}return dt}return aE(o,dt,U8(0,[0,tr,Xt[2][1]]))}}else{var hr=wt[2];if(hr){var Ge=hr[1];return Ge[0]===0?tR(function(Cr,rt){var yr=rt[2],sr=yr[2],Ir=yr[1];return sr?aE(o,Cr,sr[1]):aE(o,Cr,Ir)},dt,Ge[1]):dt}}return dt;default:return dt}},bd[1],Tt),Tt)var kt=Qb(xn(Tt))[1],ft=$R(Qb(Tt)[1],kt);else var ft=Rt;var It=xn(o[2][1]);return[0,ft,[0,Tt,p,Nr([0,Fe],0,he),It]]},wte,GV,Nte,rTe,tTe,function(o){var T=st(o),a=S1(o),u=Bt(o);return typeof u=="number"&&u===9?Tte(o,T,[0,a,0]):a},function(o){var T=st(o),a=_E(o),u=Bt(o);return typeof u=="number"&&u===9?[0,Tte(o,T,[0,H0(o,a),0])]:a},function(o){return H0(o,mce(o))},S1,bV,function(o){var T=Qr(0,function(u){var p=Gr(u);ar(u,0);e:for(var d=0,q=[0,0,i_];;){var g=q[2],O=q[1],B=Bt(u);if(typeof B=="number"){if(B===1)break e;if(d0===B)break}var W=Mce(u),Y=W[1],V=W[2];t:{if(Y[0]===1&&Bt(u)===9){var Z=[0,st(u)];break t}var Z=0}var se=AV(V,g),ae=Bt(u);t:{r:if(typeof ae=="number"){var ue=ae-2|0;if(fT>>0){if(Yc>>0)break r}else{if(ue!==7)break r;Wn(u)}var ge=se;break t}var pe=YB(FYe,9),xe=Ys([0,pe],Bt(u)),ye=[0,st(u),xe];_n(u,8);var ge=[0,[0,ye,se[1]],[0,ye,se[2]]]}var d=Z,q=[0,[0,Y,O],ge]}var Ne=d?[0,g[1],[0,[0,d[1],91],g[2]]]:g,Fe=oce(Ne),ze=xn(O),ut=Gr(u);return ar(u,1),[0,[0,ze,kr([0,p],[0,Kn(u)],ut,he)],Fe]},o),a=T[2];return[0,T[1],a[1],a[2]]},Lxe,function(o,T,a){var u=T?T[1]:0;return Qr(0,K(eTe[1],u,a),o)},function(o){var T=st(o),a=Gr(o);ar(o,0);var u=Nte(function(g){return g===1?1:0},o),p=st(o),d=u===0?Gr(o):0;ar(o,1);var q=[0,u,kr([0,a],[0,Kn(o)],d,he)];return[0,$R(T,p),q]},function(o){function T(u){var p=Gr(u);ar(u,0);var d=rTe(function(Y){return Y===1?1:0},u),q=d[1],g=d[2],O=q===0?Gr(u):0;ar(u,1);var B=Bt(u);e:{t:if(!o){if(typeof B=="number"&&(B===1||d0===B))break t;if(CT(u)){var W=oi(u);break e}var W=0;break e}var W=Kn(u)}return[0,[0,q,kr([0,p],[0,W],O,he)],g]}var a=0;return function(u){return wr(a,T,u)}},function(o){return qv(W1t,o)},uI,HV,m3,BV,function(o){return Qr(T1t,yte,o)},function(o){var T=o[2];switch(T[0]){case 24:var a=T[1],u=a[1][2][1];if(Re(u,zc)){if(!Re(u,l9)&&!Re(a[2][2][1],z$))return 0}else if(!Re(a[2][2][1],f5))return 0;break;case 0:case 10:case 23:case 26:break;default:return 0}return 1},OV,X8,vV,jQ]);var cI=[Ws,TTt,md(0)],Pte=[0,cI,[0]],nTe=wB(lTt,function(o){var T=CQ(o,uTt)[41],a=NG(o,0,0,cTt,zo,1)[1];return Yee(o,T,function(u,p){return 0}),function(u,p){var d=AQ(p,o);return J(a,d),PB(p,d,o)}}),iTe=[Ws,vNe,md(0)];function U1t(o){if(typeof o=="number"){var T=o;if(57<=T)switch(T){case 57:return g$e;case 58:return b$e;case 59:return E$e;case 60:return O$e;case 61:return v$e;case 62:return D$e;case 63:return S$e;case 64:return $$e;case 65:return Q$e;case 66:return N$e;case 67:return w$e;case 68:return P$e;case 69:return B$e;case 70:return I$e;case 71:return M$e;case 72:return W$e;case 73:return U$e;case 74:return F$e;case 75:return L$e;case 76:return z$e;case 77:return H$e;case 78:return Y$e;case 79:return K$e;case 80:return G$e;case 81:return V$e;case 82:return j$e;case 83:return J$e;case 84:return X$e;case 85:return Z$e;case 86:return eQe;case 87:return tQe;case 88:return rQe;case 89:return nQe;case 90:return iQe;case 91:return aQe;case 92:return sQe;case 93:return oQe;case 94:return RQe;case 95:return uQe;case 96:return lQe;case 97:return cQe;case 98:return TQe;case 99:return pQe;case 100:return _Qe;case 101:return hQe;case 102:return fQe;case 103:return dQe;case 104:return xQe;case 105:return mQe;case 106:return kQe;case 107:return yQe;case 108:return qQe;case 109:return CQe;case 110:return AQe;case 111:return gQe;case 112:return bQe;default:return EQe}switch(T){case 0:return kSe;case 1:return ySe;case 2:return qSe;case 3:return CSe;case 4:return ASe;case 5:return gSe;case 6:return bSe;case 7:return ESe;case 8:return OSe;case 9:return vSe;case 10:return DSe;case 11:return hi($Se,SSe);case 12:return QSe;case 13:return NSe;case 14:return wSe;case 15:return PSe;case 16:return BSe;case 17:return ISe;case 18:return MSe;case 19:return WSe;case 20:return USe;case 21:return FSe;case 22:return LSe;case 23:return zSe;case 24:return HSe;case 25:return YSe;case 26:return KSe;case 27:return GSe;case 28:return VSe;case 29:return jSe;case 30:return hi(XSe,JSe);case 31:return ZSe;case 32:return e$e;case 33:return t$e;case 34:return r$e;case 35:return n$e;case 36:return i$e;case 37:return a$e;case 38:return s$e;case 39:return o$e;case 40:return R$e;case 41:return u$e;case 42:return l$e;case 43:return c$e;case 44:return T$e;case 45:return p$e;case 46:return _$e;case 47:return h$e;case 48:return f$e;case 49:return d$e;case 50:return x$e;case 51:return m$e;case 52:return k$e;case 53:return y$e;case 54:return q$e;case 55:return C$e;default:return A$e}}switch(o[0]){case 0:var a=o[1];return J(fa(OQe),a);case 1:var u=o[1];return J(fa(vQe),u);case 2:var p=o[2],d=o[1];return K(fa(DQe),p,d);case 3:var q=o[2],g=o[1];return sn(fa(SQe),q,q,g);case 4:var O=o[2],B=o[1];return K(fa($Qe),O,B);case 5:var W=o[1];return J(fa(QQe),W);case 6:return o[1]?NQe:wQe;case 7:var Y=o[2],V=o[1],Z=J(fa(PQe),V);if(!Y)return J(fa(IQe),Z);var se=Y[1];return K(fa(BQe),se,Z);case 8:var ae=o[1];return K(fa(MQe),ae,ae);case 9:var ue=o[3],pe=o[2],xe=o[1];if(!pe)return K(fa(FQe),ue,xe);var ye=pe[1];if(ye===3)return K(fa(UQe),ue,xe);switch(ye){case 0:var ge=Hve;break;case 1:var ge=Yve;break;case 2:var ge=Kve;break;case 3:var ge=Gve;break;default:var ge=Vve}return jK(fa(WQe),xe,ge,ue,ge);case 10:var Ne=o[2],Fe=o[1],ze=wRe(Ne);return sn(fa(LQe),Ne,ze,Fe);case 11:var ut=o[2],it=o[1];return K(fa(zQe),ut,it);case 12:var Tt=o[1];return J(fa(HQe),Tt);case 13:var Rt=o[1];return J(fa(YQe),Rt);case 14:return o[1]?hi(GQe,KQe):hi(jQe,VQe);case 15:var kt=o[1],ft=o[4],It=o[3],dt=o[2]?JQe:XQe,Ot=It?ZQe:eNe,At=ft?hi(tNe,kt):kt;return sn(fa(rNe),dt,Ot,At);case 16:return nNe;case 17:var wt=o[2],or=o[1],rr=BRe(45,wt);if(rr)var Jt=rr[1],tr=rr[2]?NRe(mSe,[0,Jt,yd(wRe,rr[2])]):Jt;else var tr=wt;var mr=or?iNe:aNe;return sn(fa(sNe),wt,tr,mr);case 18:var Xt=o[1]?oNe:RNe;return J(fa(uNe),Xt);case 19:var hr=o[1];return J(fa(lNe),hr);case 20:var Ge=QS<=o[1]?cNe:TNe;return J(fa(pNe),Ge);case 21:var Cr=o[1];return J(fa(_Ne),Cr);case 22:var rt=o[1];return J(fa(hNe),rt);case 23:var yr=o[2],sr=o[1];return K(fa(fNe),sr,yr);case 24:var Ir=o[1];if(t6===Ir)var Dr=yNe,on=qNe;else if(lb<=Ir)var Dr=dNe,on=xNe;else var Dr=mNe,on=kNe;return K(fa(CNe),on,Dr);case 25:var cn=o[1];return J(fa(ANe),cn);case 26:var Lr=o[1];return J(fa(gNe),Lr);case 27:var fn=o[2],rn=o[1];return K(fa(bNe),rn,fn);case 28:var vt=o[2],qr=o[1];return K(fa(ENe),qr,vt);default:var Pe=o[1];return J(fa(ONe),Pe)}}function F1t(o,T){var a=o[2];function u(we){return E0(we,T)}var p=o[1];switch(a[0]){case 0:var d=a[1],q=up(d[2],T),ra=[0,[0,d[1],q]];break;case 1:var g=a[1],O=u(g[2]),ra=[1,[0,g[1],O]];break;case 2:var B=a[1],W=u(B[7]),ra=[2,[0,B[1],B[2],B[3],B[4],B[5],B[6],W]];break;case 3:var Y=a[1],V=Y[7],Z=u(Y[6]),ra=[3,[0,Y[1],Y[2],Y[3],Y[4],Y[5],Z,V]];break;case 4:var se=a[1],ae=u(se[2]),ra=[4,[0,se[1],ae]];break;case 5:var ra=[5,[0,u(a[1][1])]];break;case 6:var ue=a[1],pe=u(ue[7]),ra=[6,[0,ue[1],ue[2],ue[3],ue[4],ue[5],ue[6],pe]];break;case 7:var xe=a[1],ye=u(xe[5]),ra=[7,[0,xe[1],xe[2],xe[3],xe[4],ye]];break;case 8:var ge=a[1],Ne=u(ge[3]),ra=[8,[0,ge[1],ge[2],Ne]];break;case 9:var Fe=a[1],ze=u(Fe[5]),ra=[9,[0,Fe[1],Fe[2],Fe[3],Fe[4],ze]];break;case 10:var ut=a[1],it=u(ut[4]),ra=[10,[0,ut[1],ut[2],ut[3],it]];break;case 11:var Tt=a[1],Rt=u(Tt[5]),ra=[11,[0,Tt[1],Tt[2],Tt[3],Tt[4],Rt]];break;case 12:var kt=a[1],ft=u(kt[3]),ra=[12,[0,kt[1],kt[2],ft]];break;case 13:var It=a[1],dt=u(It[2]),ra=[13,[0,It[1],dt]];break;case 14:var Ot=a[1],At=u(Ot[3]),ra=[14,[0,Ot[1],Ot[2],At]];break;case 15:var wt=a[1],or=u(wt[4]),ra=[15,[0,wt[1],wt[2],wt[3],or]];break;case 16:var rr=a[1],Jt=u(rr[5]),ra=[16,[0,rr[1],rr[2],rr[3],rr[4],Jt]];break;case 17:var tr=a[1],mr=u(tr[4]),ra=[17,[0,tr[1],tr[2],tr[3],mr]];break;case 18:var Xt=a[1],hr=u(Xt[3]),ra=[18,[0,Xt[1],Xt[2],hr]];break;case 19:var ra=[19,[0,u(a[1][1])]];break;case 20:var Ge=a[1],Cr=u(Ge[3]),ra=[20,[0,Ge[1],Ge[2],Cr]];break;case 21:var rt=a[1],yr=u(rt[3]),ra=[21,[0,rt[1],rt[2],yr]];break;case 22:var sr=a[1],Ir=u(sr[5]),ra=[22,[0,sr[1],sr[2],sr[3],sr[4],Ir]];break;case 23:var Dr=a[1],on=u(Dr[3]),ra=[23,[0,Dr[1],Dr[2],on]];break;case 24:var cn=a[1],Lr=u(cn[5]),ra=[24,[0,cn[1],cn[2],cn[3],cn[4],Lr]];break;case 25:var fn=a[1],rn=u(fn[5]),ra=[25,[0,fn[1],fn[2],fn[3],fn[4],rn]];break;case 26:var vt=a[1],qr=u(vt[5]),ra=[26,[0,vt[1],vt[2],vt[3],vt[4],qr]];break;case 27:var Pe=a[1],Lt=Pe[11],Xe=u(Pe[10]),ra=[27,[0,Pe[1],Pe[2],Pe[3],Pe[4],Pe[5],Pe[6],Pe[7],Pe[8],Pe[9],Xe,Lt]];break;case 28:var Mt=a[1],Gt=u(Mt[4]),ra=[28,[0,Mt[1],Mt[2],Mt[3],Gt]];break;case 29:var Ze=a[1],Xr=u(Ze[5]),ra=[29,[0,Ze[1],Ze[2],Ze[3],Ze[4],Xr]];break;case 30:var qt=a[1],kn=u(qt[5]),ra=[30,[0,qt[1],qt[2],qt[3],qt[4],kn]];break;case 31:var Ki=a[1],Qe=u(Ki[3]),ra=[31,[0,Ki[1],Ki[2],Qe]];break;case 32:var Vt=a[1],We=u(Vt[3]),ra=[32,[0,Vt[1],Vt[2],We]];break;case 33:var Qt=a[1],gn=Qt[3],qn=u(Qt[2]),ra=[33,[0,Qt[1],qn,gn]];break;case 34:var gr=a[1],wn=gr[4],br=u(gr[3]),ra=[34,[0,gr[1],gr[2],br,wn]];break;case 35:var jn=a[1],Rn=u(jn[2]),ra=[35,[0,jn[1],Rn]];break;case 36:var ai=a[1],mn=u(ai[4]),ra=[36,[0,ai[1],ai[2],ai[3],mn]];break;case 37:var Jn=a[1],Oi=u(Jn[4]),ra=[37,[0,Jn[1],Jn[2],Jn[3],Oi]];break;case 38:var Cn=a[1],Fi=u(Cn[5]),ra=[38,[0,Cn[1],Cn[2],Cn[3],Cn[4],Fi]];break;case 39:var Ri=a[1],Da=u(Ri[3]),ra=[39,[0,Ri[1],Ri[2],Da]];break;case 40:var Ha=a[1],Fs=u(Ha[3]),ra=[40,[0,Ha[1],Ha[2],Fs]];break;default:var Ks=a[1],Yo=u(Ks[3]),ra=[41,[0,Ks[1],Ks[2],Yo]]}return[0,p,ra]}var L1t=P8(Pte)===Ws?Pte:Pte[1];VK(jq,L1t);var dE=e,Sd=null,y3=void 0;function Tp(o){return 1-(o===y3?1:0)}dE.String,dE.RegExp,dE.Object,dE.Date,dE.Math;function Gxe(o){throw o}function VV(o){return J(Gxe,o)}dE.JSON;var z1t=dE.Array,Vxe=dE.Error;yG(function(o){return o[1]===cI?[0,C1(o[2].toString())]:0}),yG(function(o){return o instanceof z1t?0:[0,C1(o.toString())]});var jxe=[0,0];function q3(o){return H3e(Pb(o))}function XT(o){return L0e(Pb(o))}function Eo(o,T){return XT(xn(TQ(o,T)))}function aa(o,T){return T?J(o,T[1]):Sd}function Ho(o,T){return T[0]===0?Sd:o(T[1])}function za(o){return q3([0,[0,RTt,o[1]],[0,[0,oTt,o[2]],0]])}function iN(o){var T=o[1],a=T?Ei(T[1][1]):Sd,u=[0,[0,iTt,za(o[3])],0];return q3([0,[0,sTt,a],[0,[0,aTt,za(o[2])],u]])}function Dl(o){if(!o)return 0;var T=o[1],a=T[1];return Nr([0,a],[0,pi(T[3],T[2])],he)}var Jxe=Ei;function du(o,T,a){var u=T[a];return Tp(u)?u|0:o}function H1t(o,T){var a=E9(T,y3)?{}:T,u=C1(o),p=du(D9[6],a,_Tt),d=du(D9[5],a,hTt),q=du(D9[4],a,fTt),g=du(D9[3],a,dTt),O=du(D9[2],a,xTt),B=[0,du(D9[1],a,mTt),O,g,q,d,p,0,0],W=a[nk],Y=Tp(W),V=Y&&W|0,Z=a[lt],se=Tp(Z)?Z|0:1,ae=a.all_comments,ue=Tp(ae)?ae|0:1,pe=[0,0],xe=V?[0,function(Ht){return pe[1]=[0,Ht,pe[1]],0}]:0,ye=0,ge=pTt[1];try{var Ne=0,Fe=UB(u),ze=Ne,ut=Fe}catch(Ht){var it=n0(Ht);if(it!==s2)throw Pr(it,0);var Tt=[0,[0,[0,ye,v9[2],v9[3]],48],0],ze=Tt,ut=UB(JYe)}var Rt=[0,ye,ut,SNe,0,B[5],rte,$Ne],kt=[0,v1(Rt,0)],ft=[0,[0,ze],[0,0],bd[1],[0,0],B[6],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,[0,ZYe],[0,Rt],kt,[0,xe],B,ye,[0,0],[0,XYe]],It=J(Er[1],ft),dt=xn(ft[1][1]),Ot=xn(tR(function(Ht,tt){var ke=Ht[2],qe=Ht[1];return oV[3].call(null,tt,qe)?[0,qe,ke]:[0,oV[4].call(null,tt,qe),[0,tt,ke]]},[0,oV[1],0],dt)[2]);if(Ot){var At=Ot[2],wt=Ot[1];if(ge)throw Pr([0,iTe,wt,At],1)}jxe[1]=0;var or=ii(u)-0|0,rr=q1(u);e:{t:{for(var Jt=0,tr=0;;){if(tr===or)break t;var mr=Lu(rr,tr);r:{if(0<=mr&&C0>=mr){var Xt=1;break r}if(NY<=mr&&Gy>=mr){var Xt=2;break r}if(Wl<=mr&&$a>=mr){var Xt=3;break r}if(um<=mr&&np>=mr){var Xt=4;break r}var Xt=0}if(Xt===0)var Jt=sV(Jt,tr,0),tr=tr+1|0;else{if((or-tr|0)>>0)throw Pr([0,Wa,Fve],1);switch(hr){case 0:var Cr=Lu(rr,tr);break;case 1:var Cr=(Lu(rr,tr)&31)<<6|Lu(rr,tr+1|0)&63;break;case 2:var Cr=(Lu(rr,tr)&15)<<12|(Lu(rr,tr+1|0)&63)<<6|Lu(rr,tr+2|0)&63;break;default:var Cr=(Lu(rr,tr)&7)<<18|(Lu(rr,tr+1|0)&63)<<12|(Lu(rr,tr+2|0)&63)<<6|Lu(rr,tr+3|0)&63}var Jt=sV(Jt,tr,[0,Cr]),tr=Ge}}var rt=sV(Jt,tr,0);break e}var rt=Jt}for(var yr=iVe,sr=xn([0,6,rt]);;){var Ir=yr[3],Dr=yr[2],on=yr[1];if(!sr)break;var cn=sr[1];if(cn===5){var Lr=sr[2];if(Lr&&Lr[1]===6){var fn=Lr[2],yr=[0,on+2|0,0,[0,Pb(xn([0,on,Dr])),Ir]],sr=fn;continue}}else if(6>cn){var rn=sr[2],yr=[0,on+hle(cn)|0,[0,on,Dr],Ir],sr=rn;continue}var vt=sr[2],qr=[0,Pb(xn([0,on,Dr])),Ir],yr=[0,on+hle(cn)|0,0,qr],sr=vt}var Pe=Pb(xn(Ir));if(se)var Xe=It;else var Lt=J(nTe[1],0),Xe=K(ki(Lt,-201766268,lc),Lt,It);if(ue)var Gt=Xe;else var Mt=Xe[2],Gt=[0,Xe[1],[0,Mt[1],Mt[2],Mt[3],0]];function Ze(Ht,tt,ke,qe){var Ie=[0,WQ(Pe,tt[3]),0],Wt=[0,[0,VXe,XT([0,WQ(Pe,tt[2]),Ie])],0],pr=pi(Wt,[0,[0,jXe,iN(tt)],0]);if(ke){var jr=ke[1],En=jr[1];if(En){var Hn=jr[2];if(Hn)var Ci=[0,[0,JXe,T2(Hn)],0],xi=[0,[0,XXe,T2(En)],Ci];else var xi=[0,[0,ZXe,T2(En)],0];var ea=xi}else var na=jr[2],Gi=na?[0,[0,eZe,T2(na)],0]:0,ea=Gi;var Di=ea}else var Di=0;return q3(S9(pi(pr,pi(Di,[0,[0,tZe,Ei(Ht)],0])),qe))}function Xr(Ht){return Eo(qt,Ht)}function qt(Ht){var tt=Ht[2],ke=Ht[1];switch(tt[0]){case 0:return mn([0,ke,tt[1]]);case 1:var qe=tt[1],Ie=qe[2];return Ze(uZe,ke,Ie,[0,[0,RZe,aa(gr,qe[1])],0]);case 2:return Ft(iat,[0,ke,tt[1]]);case 3:var Wt=tt[1],pr=Wt[3],jr=Wt[6],En=Wt[5],Hn=Wt[4],Ci=Wt[2],xi=Wt[1],na=E0(Dl(pr[2][3]),jr),Gi=[0,[0,jat,aa($l,Ci)],0],ea=[0,[0,Jat,c2(Hn)],Gi],Di=pr[2],ha=Di[2],wi=Di[1];if(ha)var Ya=ha[1],Na=Ya[2],gs=Na[2],fs=Ya[1],eo=Ze(nst,fs,gs,[0,[0,rst,la(Na[1])],0]),Es=XT(xn([0,eo,TQ(tn,wi)]));else var Es=XT(yd(tn,wi));var yo=[0,[0,Zat,gr(xi)],[0,[0,Xat,Es],ea]];return Ze(tst,ke,na,[0,[0,est,mn(En)],yo]);case 4:var ds=tt[1],xs=ds[2];return Ze(cZe,ke,xs,[0,[0,lZe,aa(gr,ds[1])],0]);case 5:return Ze(TZe,ke,tt[1][1],0);case 6:return Cn([0,ke,tt[1]]);case 7:return Fi([0,ke,tt[1]]);case 8:return Fs([0,ke,tt[1]]);case 9:var as=tt[1],os=as[5],Ka=as[4],Bs=as[3],Ls=as[2],ys=as[1];if(Bs){var qo=Bs[1];if(qo[0]!==0&&!qo[1][2])return Ze(_Ze,ke,os,[0,[0,pZe,aa(c0,Ka)],0])}if(Ls){var Ds=Ls[1];switch(Ds[0]){case 0:var ao=Jn(Ds[1]);break;case 1:var ao=Oi(Ds[1]);break;case 2:var ao=Cn(Ds[1]);break;case 3:var ao=Fi(Ds[1]);break;case 4:var ao=Ko(Ds[1]);break;case 5:var ao=ra(Ds[1]);break;case 6:var ao=we(1,Ds[1]);break;case 7:var ao=ui(Ds[1]);break;default:var ao=Fs(Ds[1])}var To=ao}else var To=Sd;var s0=[0,[0,hZe,aa(c0,Ka)],0],Q0=[0,[0,dZe,To],[0,[0,fZe,Yo(Bs)],s0]],Nl=ys?1:0;return Ze(mZe,ke,os,[0,[0,xZe,!!Nl],Q0]);case 10:return Oi([0,ke,tt[1]]);case 11:var Ou=tt[1],T0=Ou[5],eu=Ou[4],xo=Ou[2],wl=Ou[1],v0=[0,[0,wit,Eo(_s,Ou[3])],0],ET=[0,[0,Pit,u2(0,eu)],v0],Tl=[0,[0,Bit,aa($l,xo)],ET];return Ze(Mit,ke,T0,[0,[0,Iit,gr(wl)],Tl]);case 12:var Vc=tt[1],OT=Vc[1],Ua=Vc[3],Ac=Vc[2],Sa=OT[0]===0?gr(OT[1]):c0(OT[1]);return Ze(qZe,ke,Ua,[0,[0,yZe,Sa],[0,[0,kZe,mn(Ac)],0]]);case 13:var tu=tt[1],ju=tu[2];return Ze(AZe,ke,ju,[0,[0,CZe,ZT(tu[1])],0]);case 14:var YR=tt[1],Jl=YR[3],Xl=YR[2],gc=gr(YR[1]);return Ze(EZe,ke,Jl,[0,[0,bZe,gc],[0,[0,gZe,mn(Xl)],0]]);case 15:var KR=tt[1],jc=KR[4],ru=KR[2],_p=KR[1],Jc=[0,[0,zit,Ko(KR[3])],0],u_=[0,[0,Hit,aa($l,ru)],Jc];return Ze(Kit,ke,jc,[0,[0,Yit,gr(_p)],u_]);case 16:return we(1,[0,ke,tt[1]]);case 17:return Jn([0,ke,tt[1]]);case 18:var vu=tt[1],hp=vu[3],nu=vu[1],vT=[0,[0,OZe,kn(vu[2])],0];return Ze(DZe,ke,hp,[0,[0,vZe,qt(nu)],vT]);case 19:return Ze(SZe,ke,tt[1][1],0);case 20:var bc=tt[1],e1=bc[3],fp=bc[1],Nd=[0,[0,Yst,di(bc[2])],0];return Ze(Gst,ke,e1,[0,[0,Kst,gr(fp)],Nd]);case 21:var Ec=tt[1],dp=Ec[2],Xc=Ec[3],N1=dp[0]===0?qt(dp[1]):kn(dp[1]);return Ze(NZe,ke,Xc,[0,[0,QZe,N1],[0,[0,$Ze,Ei(Ks(1))],0]]);case 22:var t1=tt[1],N_=t1[5],r1=t1[4],p2=t1[3],_2=t1[2],Uk=t1[1];if(_2){var Fk=_2[1];if(Fk[0]!==0){var Lk=Fk[1][2],zk=[0,[0,wZe,Ei(Ks(r1))],0],i4=[0,[0,PZe,aa(gr,Lk)],zk];return Ze(IZe,ke,N_,[0,[0,BZe,aa(c0,p2)],i4])}}var Hk=[0,[0,MZe,Ei(Ks(r1))],0],sA=[0,[0,WZe,aa(c0,p2)],Hk],hC=[0,[0,UZe,Yo(_2)],sA];return Ze(LZe,ke,N_,[0,[0,FZe,aa(qt,Uk)],hC]);case 23:var vm=tt[1],a4=vm[3],R7=vm[1],s4=[0,[0,zZe,aa(Jxe,vm[2])],0];return Ze(YZe,ke,a4,[0,[0,HZe,kn(R7)],s4]);case 24:var u7=tt[1],fC=u7[5],px=u7[3],dC=u7[2],Dm=u7[1],o4=[0,[0,KZe,qt(u7[4])],0],xC=[0,[0,GZe,aa(kn,px)],o4],l7=[0,[0,VZe,aa(kn,dC)],xC];return Ze(JZe,ke,fC,[0,[0,jZe,aa(function(sTe){return sTe[0]===0?gT(sTe[1]):kn(sTe[1])},Dm)],l7]);case 25:var Sm=tt[1],c7=Sm[1],h2=Sm[5],T7=Sm[4],R4=Sm[3],Yk=Sm[2],oA=c7[0]===0?gT(c7[1]):la(c7[1]),u4=[0,[0,ZZe,qt(R4)],[0,[0,XZe,!!T7],0]];return Ze(ret,ke,h2,[0,[0,tet,oA],[0,[0,eet,kn(Yk)],u4]]);case 26:var p7=tt[1],_7=p7[1],h7=p7[5],f7=p7[4],mC=p7[3],f2=p7[2],l4=_7[0]===0?gT(_7[1]):la(_7[1]),xp=[0,[0,iet,qt(mC)],[0,[0,net,!!f7],0]];return Ze(oet,ke,h7,[0,[0,set,l4],[0,[0,aet,kn(f2)],xp]]);case 27:var DT=tt[1],wd=DT[3],ST=DT[2],kC=DT[10],Kk=DT[9],c4=DT[8],Gk=DT[7],T4=DT[6],p4=DT[5],yE=DT[4],d2=ST[2][4],Vk=DT[1],_x=wd[0]===0?wd[1]:Ln(pnt),jk=E0(Dl(d2),kC);if(T4===0)var d7=0,g3=_nt;else var d7=[0,[0,xnt,!!yE],[0,[0,dnt,!!p4],[0,[0,fnt,aa(Om,Gk)],[0,[0,hnt,!1],0]]]],g3=mnt;var _4=[0,[0,knt,aa($l,Kk)],0],b3=[0,[0,ynt,Zi(c4)],_4],RN=[0,[0,qnt,mn(_x)],b3],uN=[0,[0,Cnt,ci(ST)],RN];return Ze(g3,ke,jk,pi([0,[0,Ant,aa(gr,Vk)],uN],d7));case 28:var E3=tt[1],Ev=E3[3],O3=E3[4],qE=E3[2],$=E3[1];if(Ev)var ne=Ev[1][2],k=qt(F1t(ne[1],ne[2]));else var k=Sd;var v=[0,[0,uet,qt(qE)],[0,[0,Ret,k],0]];return Ze(Tet,ke,O3,[0,[0,cet,kn($)],v]);case 29:var N=tt[1],L=N[4],X=N[3],ie=N[5],ce=N[2],be=N[1];if(L){var Ye=L[1];if(Ye[0]===0)var un=yd(function(oTe){var TI=oTe[3],pI=oTe[2],jV=oTe[1],Bte=pI?$R(TI[1],pI[1][1]):TI[1],Zxe=pI?pI[1]:TI;e:{t:{var K1t=0;if(jV){switch(jV[1]){case 0:var e2e=Kh;break;case 1:var e2e=p8;break;default:break t}var t2e=e2e;break e}}var t2e=Sd}var r2e=[0,[0,Uct,gr(Zxe)],[0,[0,Wct,t2e],K1t]];return Ze(Lct,Bte,0,[0,[0,Fct,gr(TI)],r2e])},Ye[1]);else var $t=Ye[1],xr=$t[1],un=[0,Ze(Mct,xr,0,[0,[0,Ict,gr($t[2])],0]),0];var ni=un}else var ni=0;if(X)var Xi=X[1][1],ma=[0,[0,Pct,gr(Xi)],0],ja=[0,Ze(Bct,Xi[1],0,ma),ni];else var ja=ni;switch(be){case 0:var ya=pet;break;case 1:var ya=_et;break;default:var ya=het}var so=[0,[0,det,c0(ce)],[0,[0,fet,Ei(ya)],0]];return Ze(met,ke,ie,[0,[0,xet,XT(ja)],so]);case 30:return ui([0,ke,tt[1]]);case 31:var La=tt[1],N0=La[3],nR=La[1],Du=[0,[0,ket,qt(La[2])],0];return Ze(qet,ke,N0,[0,[0,yet,gr(nR)],Du]);case 32:var Su=tt[1],Ju=Su[3],$u=Su[1],Xu=[0,[0,Cet,Eo(Qe,Su[2])],0];return Ze(get,ke,Ju,[0,[0,Aet,kn($u)],Xu]);case 33:var Zl=tt[1],Zu=Zl[2];return Ze(Eet,ke,Zu,[0,[0,bet,aa(kn,Zl[1])],0]);case 34:var Zc=tt[1],$T=Zc[3],w1=Zc[1],Pd=[0,[0,Oet,Eo(Rn,Zc[2])],0];return Ze(Det,ke,$T,[0,[0,vet,kn(w1)],Pd]);case 35:var w_=tt[1],Bd=w_[2];return Ze(Qet,ke,Bd,[0,[0,$et,kn(w_[1])],0]);case 36:var P_=tt[1],x7=P_[4],m7=P_[2],h4=P_[1],f4=[0,[0,Net,aa(mn,P_[3])],0],wa=[0,[0,wet,aa(ai,m7)],f4];return Ze(Bet,ke,x7,[0,[0,Pet,mn(h4)],wa]);case 37:return ra([0,ke,tt[1]]);case 38:return we(0,[0,ke,tt[1]]);case 39:return gT([0,ke,tt[1]]);case 40:var d4=tt[1],Pn=d4[3],CE=d4[1],Pa=[0,[0,Iet,qt(d4[2])],0];return Ze(Wet,ke,Pn,[0,[0,Met,kn(CE)],Pa]);default:var qa=tt[1],aTe=qa[3],ba=qa[1],Y1t=[0,[0,Uet,qt(qa[2])],0];return Ze(Let,ke,aTe,[0,[0,Fet,kn(ba)],Y1t])}}function kn(Ht){var tt=Ht[2],ke=Ht[1];switch(tt[0]){case 0:var qe=tt[1],Ie=qe[2],Wt=[0,[0,zet,Eo($1,qe[1])],0];return Ze(Het,ke,Dl(Ie),Wt);case 1:var pr=tt[1],jr=pr[3],En=pr[2],Hn=pr[10],Ci=pr[9],xi=pr[8],na=pr[7],Gi=pr[4],ea=En[2][4];if(jr[0]===0)var Di=0,ha=mn(jr[1]);else var Di=1,ha=kn(jr[1]);var wi=E0(Dl(ea),Hn),Ya=[0,[0,Yet,aa($l,Ci)],0],Na=[0,[0,Get,!!Di],[0,[0,Ket,Zi(xi)],Ya]],gs=[0,[0,Xet,ha],[0,[0,Jet,!!Gi],[0,[0,jet,!1],[0,[0,Vet,aa(Om,na)],Na]]]];return Ze(ttt,ke,wi,[0,[0,ett,Sd],[0,[0,Zet,ci(En)],gs]]);case 2:var fs=tt[1],eo=fs[2];return Ze(ntt,ke,eo,[0,[0,rtt,kn(fs[1])],0]);case 3:var Es=tt[1],yo=Es[3],ds=Es[1],xs=[0,[0,itt,Ko(Es[2][2])],0];return Ze(stt,ke,yo,[0,[0,att,kn(ds)],xs]);case 4:var as=tt[1],os=as[1],Ka=as[4],Bs=as[3],Ls=as[2];if(os){switch(os[1]){case 0:var ys=KDe;break;case 1:var ys=GDe;break;case 2:var ys=VDe;break;case 3:var ys=jDe;break;case 4:var ys=JDe;break;case 5:var ys=XDe;break;case 6:var ys=ZDe;break;case 7:var ys=eSe;break;case 8:var ys=tSe;break;case 9:var ys=rSe;break;case 10:var ys=nSe;break;case 11:var ys=iSe;break;case 12:var ys=aSe;break;case 13:var ys=sSe;break;default:var ys=oSe}var qo=ys}else var qo=ott;var Ds=[0,[0,Rtt,kn(Bs)],0];return Ze(ctt,ke,Ka,[0,[0,ltt,Ei(qo)],[0,[0,utt,la(Ls)],Ds]]);case 5:var ao=tt[1],To=ao[4],s0=ao[2],Q0=ao[1],Nl=[0,[0,Ttt,kn(ao[3])],0],Ou=[0,[0,ptt,kn(s0)],Nl];switch(Q0){case 0:var T0=gDe;break;case 1:var T0=bDe;break;case 2:var T0=EDe;break;case 3:var T0=ODe;break;case 4:var T0=vDe;break;case 5:var T0=DDe;break;case 6:var T0=SDe;break;case 7:var T0=$De;break;case 8:var T0=QDe;break;case 9:var T0=NDe;break;case 10:var T0=wDe;break;case 11:var T0=PDe;break;case 12:var T0=BDe;break;case 13:var T0=IDe;break;case 14:var T0=MDe;break;case 15:var T0=WDe;break;case 16:var T0=UDe;break;case 17:var T0=FDe;break;case 18:var T0=LDe;break;case 19:var T0=zDe;break;case 20:var T0=HDe;break;default:var T0=YDe}return Ze(htt,ke,To,[0,[0,_tt,Ei(T0)],Ou]);case 6:var eu=tt[1],xo=eu[4],wl=E0(Dl(eu[3][2][2]),xo);return Ze(ftt,ke,wl,C3(eu));case 7:return Ft(aat,[0,ke,tt[1]]);case 8:var v0=tt[1],ET=v0[4],Tl=v0[2],Vc=v0[1],OT=[0,[0,dtt,kn(v0[3])],0],Ua=[0,[0,xtt,kn(Tl)],OT];return Ze(ktt,ke,ET,[0,[0,mtt,kn(Vc)],Ua]);case 9:return qn([0,ke,tt[1]]);case 10:return gr(tt[1]);case 11:var Ac=tt[1],Sa=Ac[2];return Ze(qtt,ke,Sa,[0,[0,ytt,kn(Ac[1])],0]);case 12:return Qd([0,ke,tt[1]]);case 13:return t4([0,ke,tt[1]]);case 14:return c0([0,ke,tt[1]]);case 15:return jl([0,ke,tt[1]]);case 16:return lR([0,ke,tt[1]]);case 17:return Vu([0,ke,tt[1]]);case 18:return Sl([0,ke,tt[1]]);case 19:var tu=tt[1],ju=tu[2],YR=tu[1],Jl=tu[4],Xl=tu[3];try{var gc=new RegExp(Ei(YR),Ei(ju)),KR=gc}catch{var KR=Sd}return Ze(h0t,ke,Jl,[0,[0,_0t,KR],[0,[0,p0t,Ei(Xl)],[0,[0,T0t,q3([0,[0,c0t,Ei(YR)],[0,[0,l0t,Ei(ju)],0]])],0]]]);case 20:var jc=tt[1];return c0([0,ke,[0,jc[1],jc[5],jc[6]]]);case 21:var ru=tt[1],_p=ru[4],Jc=ru[3],u_=ru[2];switch(ru[1]){case 0:var vu=Ctt;break;case 1:var vu=Att;break;default:var vu=gtt}var hp=[0,[0,btt,kn(Jc)],0];return Ze(vtt,ke,_p,[0,[0,Ott,Ei(vu)],[0,[0,Ett,kn(u_)],hp]]);case 22:var nu=tt[1],vT=nu[3],bc=nu[1],e1=[0,[0,Dtt,Eo(Ki,nu[2])],0];return Ze($tt,ke,vT,[0,[0,Stt,kn(bc)],e1]);case 23:var fp=tt[1],Nd=fp[3];return Ze(Qtt,ke,Nd,_C(fp));case 24:var Ec=tt[1],dp=Ec[3],Xc=Ec[1],N1=[0,[0,Ntt,gr(Ec[2])],0];return Ze(Ptt,ke,dp,[0,[0,wtt,gr(Xc)],N1]);case 25:var t1=tt[1],N_=t1[4],r1=t1[3],p2=t1[2],_2=t1[1];if(r1)var Uk=r1[1],Fk=E0(Dl(Uk[2][2]),N_),Lk=Fk,zk=jn(Uk);else var Lk=N_,zk=XT(0);var i4=[0,[0,Itt,aa(Q_,p2)],[0,[0,Btt,zk],0]];return Ze(Wtt,ke,Lk,[0,[0,Mtt,kn(_2)],i4]);case 26:var Hk=tt[1],sA=Hk[2],hC=[0,[0,Utt,Eo(is,Hk[1])],0];return Ze(Ftt,ke,Dl(sA),hC);case 27:var vm=tt[1],a4=vm[1],R7=vm[3],s4=a4[4],u7=E0(Dl(a4[3][2][2]),s4);return Ze(ztt,ke,u7,pi(C3(a4),[0,[0,Ltt,!!R7],0]));case 28:var fC=tt[1],px=fC[1],dC=px[3],Dm=[0,[0,Htt,!!fC[3]],0];return Ze(Ytt,ke,dC,pi(_C(px),Dm));case 29:var o4=tt[1],xC=o4[2];return Ze(Gtt,ke,xC,[0,[0,Ktt,Eo(kn,o4[1])],0]);case 30:return Ze(Vtt,ke,tt[1][1],0);case 31:var l7=tt[1],Sm=l7[3],c7=l7[1],h2=[0,[0,E0t,S_(l7[2])],0];return Ze(v0t,ke,Sm,[0,[0,O0t,kn(c7)],h2]);case 32:return S_([0,ke,tt[1]]);case 33:return Ze(jtt,ke,tt[1][1],0);case 34:var T7=tt[1],R4=T7[3],Yk=T7[1],oA=[0,[0,Jtt,ZT(T7[2])],0];return Ze(Ztt,ke,R4,[0,[0,Xtt,kn(Yk)],oA]);case 35:var u4=tt[1],p7=u4[3],_7=u4[1],h7=[0,[0,ert,Ko(u4[2][2])],0];return Ze(rrt,ke,p7,[0,[0,trt,kn(_7)],h7]);case 36:var f7=tt[1],mC=f7[3],f2=f7[2],l4=f7[1];if(7<=l4)return Ze(irt,ke,mC,[0,[0,nrt,kn(f2)],0]);switch(l4){case 0:var xp=art;break;case 1:var xp=srt;break;case 2:var xp=ort;break;case 3:var xp=Rrt;break;case 4:var xp=urt;break;case 5:var xp=lrt;break;case 6:var xp=crt;break;default:var xp=Ln(Trt)}return Ze(frt,ke,mC,[0,[0,hrt,Ei(xp)],[0,[0,_rt,!0],[0,[0,prt,kn(f2)],0]]]);case 37:var DT=tt[1],wd=DT[4],ST=DT[3],kC=DT[2],Kk=DT[1]?drt:xrt;return Ze(qrt,ke,wd,[0,[0,yrt,Ei(Kk)],[0,[0,krt,kn(kC)],[0,[0,mrt,!!ST],0]]]);default:var c4=tt[1],Gk=c4[2],T4=[0,[0,Crt,!!c4[3]],0];return Ze(grt,ke,Gk,[0,[0,Art,aa(kn,c4[1])],T4])}}function Ki(Ht){var tt=Ht[2],ke=tt[4],qe=tt[2],Ie=tt[1],Wt=Ht[1],pr=[0,[0,brt,aa(kn,tt[3])],0],jr=[0,[0,Ert,kn(qe)],pr];return Ze(vrt,Wt,ke,[0,[0,Ort,Vt(Ie)],jr])}function Qe(Ht){var tt=Ht[2],ke=tt[4],qe=tt[2],Ie=tt[1],Wt=Ht[1],pr=[0,[0,Drt,aa(kn,tt[3])],0],jr=[0,[0,Srt,mn(qe)],pr];return Ze(Qrt,Wt,ke,[0,[0,$rt,Vt(Ie)],jr])}function Vt(Ht){var tt=Ht[2],ke=Ht[1];function qe(Ka){return Ze(Frt,ke,0,[0,[0,Urt,Ka],0])}switch(tt[0]){case 0:return Ze(Lrt,ke,tt[1],0);case 1:return qe(Vu([0,ke,tt[1]]));case 2:return qe(Sl([0,ke,tt[1]]));case 3:return qe(c0([0,ke,tt[1]]));case 4:return qe(jl([0,ke,tt[1]]));case 5:return qe(lR([0,ke,tt[1]]));case 6:var Ie=tt[1],Wt=Ie[2],pr=Ie[3],jr=Ie[1]?zrt:Hrt,En=Wt[2],Hn=Wt[1],Ci=En[0]===0?Vu([0,Hn,En[1]]):Sl([0,Hn,En[1]]);return Ze(Grt,ke,pr,[0,[0,Krt,Ei(jr)],[0,[0,Yrt,Ci],0]]);case 7:return Qt([0,ke,tt[1]]);case 8:return We(tt[1]);case 9:var xi=function(Ka){var Bs=Ka[2],Ls=Bs[2],ys=Bs[1],qo=Bs[3],Ds=Ka[1],ao=0;switch(Ls[0]){case 0:var To=c0(Ls[1]);break;case 1:var To=Vu(Ls[1]);break;default:var To=gr(Ls[1])}var s0=[0,[0,Irt,To],ao],Q0=ys[0]===0?We(ys[1]):xi(ys[1]);return Ze(Wrt,Ds,qo,[0,[0,Mrt,Q0],s0])};return xi(tt[1]);case 10:var na=tt[1],Gi=na[3],ea=na[1],Di=[0,[0,Vrt,aa(gn,na[2])],0],ha=[0,[0,jrt,Eo(function(Ka){var Bs=Ka[2],Ls=Bs[1],ys=Bs[4],qo=Ka[1],Ds=[0,[0,Nrt,!!Bs[3]],0],ao=[0,[0,wrt,Vt(Bs[2])],Ds];switch(Ls[0]){case 0:var To=c0(Ls[1]);break;case 1:var To=Vu(Ls[1]);break;default:var To=gr(Ls[1])}return Ze(Brt,qo,ys,[0,[0,Prt,To],ao])},ea)],Di];return Ze(Jrt,ke,Dl(Gi),ha);case 11:var wi=tt[1],Ya=wi[3],Na=wi[1],gs=[0,[0,Xrt,aa(gn,wi[2])],0],fs=[0,[0,Zrt,Eo(function(Ka){return Vt(Ka[2])},Na)],gs];return Ze(ent,ke,Dl(Ya),fs);case 12:var eo=tt[1],Es=eo[2];return Ze(rnt,ke,Es,[0,[0,tnt,Eo(Vt,eo[1])],0]);default:var yo=tt[1],ds=yo[2],xs=yo[3],as=yo[1],os=ds[0]===0?gr(ds[1]):Qt([0,ds[1],ds[2]]);return Ze(ant,ke,xs,[0,[0,int,Vt(as)],[0,[0,nnt,os],0]])}}function We(Ht){var tt=Ht[1];return Ze(ont,tt,0,[0,[0,snt,gr(Ht)],0])}function Qt(Ht){var tt=Ht[2],ke=tt[3],qe=tt[2],Ie=Ht[1],Wt=[0,[0,Rnt,Ei(Q1(tt[1]))],0];return Ze(lnt,Ie,ke,[0,[0,unt,gr(qe)],Wt])}function gn(Ht){var tt=Ht[2],ke=tt[2],qe=Ht[1];return Ze(Tnt,qe,ke,[0,[0,cnt,aa(Qt,tt[1])],0])}function qn(Ht){var tt=Ht[2],ke=tt[3],qe=tt[2],Ie=tt[10],Wt=tt[9],pr=tt[8],jr=tt[7],En=tt[5],Hn=tt[4],Ci=qe[2][4],xi=tt[1],na=Ht[1],Gi=ke[0]===0?ke[1]:Ln(gnt),ea=E0(Dl(Ci),Ie),Di=[0,[0,bnt,aa($l,Wt)],0],ha=[0,[0,Ont,!1],[0,[0,Ent,Zi(pr)],Di]],wi=[0,[0,Snt,!!Hn],[0,[0,Dnt,!!En],[0,[0,vnt,aa(Om,jr)],ha]]],Ya=[0,[0,$nt,mn(Gi)],wi],Na=[0,[0,Qnt,ci(qe)],Ya];return Ze(wnt,na,ea,[0,[0,Nnt,aa(gr,xi)],Na])}function gr(Ht){var tt=Ht[2];return Ze(Mnt,Ht[1],tt[2],[0,[0,Int,Ei(tt[1])],[0,[0,Bnt,Sd],[0,[0,Pnt,!1],0]]])}function wn(Ht){var tt=Ht[2];return Ze(Lnt,Ht[1],tt[2],[0,[0,Fnt,Ei(tt[1])],[0,[0,Unt,Sd],[0,[0,Wnt,!1],0]]])}function br(Ht,tt){var ke=tt[1][2],qe=ke[2],Ie=ke[1],Wt=[0,[0,znt,!!tt[3]],0];return Ze(Knt,Ht,qe,[0,[0,Ynt,Ei(Ie)],[0,[0,Hnt,Ho(ZT,tt[2])],Wt]])}function jn(Ht){return Eo(HR,Ht[2][1])}function Rn(Ht){var tt=Ht[2],ke=tt[3],qe=tt[1],Ie=Ht[1],Wt=[0,[0,Gnt,Eo(qt,tt[2])],0];return Ze(jnt,Ie,ke,[0,[0,Vnt,aa(kn,qe)],Wt])}function ai(Ht){var tt=Ht[2],ke=tt[3],qe=tt[1],Ie=Ht[1],Wt=[0,[0,Jnt,mn(tt[2])],0];return Ze(Znt,Ie,ke,[0,[0,Xnt,aa(la,qe)],Wt])}function mn(Ht){var tt=Ht[2],ke=tt[2],qe=Ht[1],Ie=[0,[0,eit,Xr(tt[1])],0];return Ze(tit,qe,Dl(ke),Ie)}function Jn(Ht){var tt=Ht[2],ke=tt[2],qe=tt[1],Ie=tt[4],Wt=tt[3],pr=Ht[1],jr=$R(qe[1],ke[1]),En=[0,[0,rit,Ei(Q1(Wt))],0];return Ze(iit,pr,Ie,[0,[0,nit,br(jr,[0,qe,[1,ke],0])],En])}function Oi(Ht){var tt=Ht[2],ke=tt[2],qe=tt[1],Ie=tt[4],Wt=tt[3],pr=Ht[1],jr=$R(qe[1],ke[1]),En=ke[2][2];e:{if(En[0]===12){var Hn=En[1][5];if(typeof Hn=="number"&&!Hn){var Ci=0,xi=ait;break e}}var Ci=[0,[0,sit,aa(Om,Wt)],0],xi=oit}return Ze(xi,pr,Ie,pi([0,[0,Rit,br(jr,[0,qe,[1,ke],0])],0],Ci))}function Cn(Ht){var tt=Ht[2],ke=tt[6],qe=tt[4],Ie=tt[7],Wt=tt[5],pr=tt[3],jr=tt[2],En=tt[1],Hn=Ht[1],Ci=XT(qe?[0,_s(qe[1]),0]:0),xi=ke?Eo(yt,ke[1][2][1]):XT(0),na=[0,[0,cit,Ci],[0,[0,lit,xi],[0,[0,uit,Eo(_s,Wt)],0]]],Gi=[0,[0,Tit,u2(0,pr)],na],ea=[0,[0,pit,aa($l,jr)],Gi];return Ze(hit,Hn,Ie,[0,[0,_it,gr(En)],ea])}function Fi(Ht){var tt=Ht[2],ke=tt[3],qe=Ht[1],Ie=tt[5],Wt=tt[4],pr=tt[2],jr=tt[1],En=E0(Dl(ke[2][3]),Ie),Hn=ke[2],Ci=Hn[1],xi=Hn[2],na=[0,[0,fit,aa($l,pr)],0],Gi=[0,[0,dit,c2(Wt)],na],ea=[0,[0,xit,Ri(Ci)],Gi],Di=[0,[0,mit,aa(Da,xi)],ea],ha=[0,[0,kit,Ri(Ci)],Di];return Ze(qit,qe,En,[0,[0,yit,gr(jr)],ha])}function Ri(Ht){return XT(yd(function(tt){var ke=tt[2];return Ha(0,ke[3],tt[1],[0,ke[1]],ke[2][2])},Ht))}function Da(Ht){var tt=Ht[2],ke=tt[4],qe=tt[3],Ie=tt[2],Wt=Ht[1];return Ha(ke,qe,Wt,cQ(function(pr){return[0,pr]},tt[1]),Ie)}function Ha(Ht,tt,ke,qe,Ie){if(qe)var Wt=qe[1],pr=Wt[0]===0?aa(gr,[0,Wt[1]]):aa(c0,[0,Wt[1]]),jr=pr;else var jr=aa(gr,0);return Ze(Sit,ke,Ht,[0,[0,Dit,jr],[0,[0,vit,Ko(Ie)],[0,[0,Oit,!!tt],0]]])}function Fs(Ht){var tt=Ht[2],ke=tt[3],qe=tt[1],Ie=Ht[1],Wt=[0,[0,$it,di(tt[2])],0];return Ze(Nit,Ie,ke,[0,[0,Qit,gr(qe)],Wt])}function Ks(Ht){return Ht?Wit:Uit}function Yo(Ht){if(!Ht)return XT(0);var tt=Ht[1];if(tt[0]===0)return Eo(xE,tt[1]);var ke=tt[1],qe=ke[2],Ie=ke[1];return XT(qe?[0,Ze(Lit,Ie,0,[0,[0,Fit,gr(qe[1])],0]),0]:0)}function ra(Ht){var tt=Ht[2],ke=tt[4],qe=tt[2],Ie=tt[1],Wt=Ht[1],pr=[0,[0,Git,Ko(tt[3])],0],jr=[0,[0,Vit,aa($l,qe)],pr];return Ze(Jit,Wt,ke,[0,[0,jit,gr(Ie)],jr])}function we(Ht,tt){var ke=tt[2],qe=ke[5],Ie=ke[4],Wt=ke[3],pr=ke[2],jr=ke[1],En=tt[1],Hn=Ht?Xit:Zit,Ci=[0,[0,eat,aa(Ko,Ie)],0],xi=[0,[0,tat,aa(Ko,Wt)],Ci],na=[0,[0,rat,aa($l,pr)],xi];return Ze(Hn,En,qe,[0,[0,nat,gr(jr)],na])}function Ft(Ht,tt){var ke=tt[2],qe=ke[7],Ie=ke[5],Wt=ke[4],pr=ke[2],jr=ke[6],En=ke[3],Hn=ke[1],Ci=tt[1];if(Wt)var xi=Wt[1][2],na=xi[2],Gi=xi[1],ea=E0(xi[3],qe),Di=na,ha=[0,Gi];else var ea=qe,Di=0,ha=0;if(Ie)var wi=Ie[1][2],Ya=wi[1],Na=E0(wi[2],ea),gs=Na,fs=Eo(yt,Ya);else var gs=ea,fs=XT(0);var eo=[0,[0,oat,fs],[0,[0,sat,Eo(Oe,jr)],0]],Es=[0,[0,Rat,aa(Ql,Di)],eo],yo=[0,[0,uat,aa(kn,ha)],Es],ds=[0,[0,lat,aa($l,En)],yo],xs=pr[2],as=xs[2],os=pr[1],Ka=[0,[0,cat,Ze(mat,os,as,[0,[0,xat,Eo(yn,xs[1])],0])],ds];return Ze(Ht,Ci,gs,[0,[0,Tat,aa(gr,Hn)],Ka])}function Oe(Ht){var tt=Ht[2],ke=tt[2],qe=Ht[1];return Ze(_at,qe,ke,[0,[0,pat,kn(tt[1])],0])}function yt(Ht){var tt=Ht[2],ke=tt[1],qe=Ht[1],Ie=[0,[0,hat,aa(Ql,tt[2])],0];return Ze(dat,qe,0,[0,[0,fat,gr(ke)],Ie])}function yn(Ht){switch(Ht[0]){case 0:var tt=Ht[1],ke=tt[2],qe=ke[6],Ie=ke[2],Wt=ke[5],pr=ke[4],jr=ke[3],En=ke[1],Hn=tt[1];switch(Ie[0]){case 0:var Gi=qe,ea=0,Di=c0(Ie[1]);break;case 1:var Gi=qe,ea=0,Di=Vu(Ie[1]);break;case 2:var Gi=qe,ea=0,Di=Sl(Ie[1]);break;case 3:var Gi=qe,ea=0,Di=gr(Ie[1]);break;case 4:var Gi=qe,ea=0,Di=wn(Ie[1]);break;default:var Ci=Ie[1][2],xi=Ci[1],na=E0(Ci[2],qe),Gi=na,ea=1,Di=kn(xi)}switch(En){case 0:var ha=kat;break;case 1:var ha=yat;break;case 2:var ha=qat;break;default:var ha=Cat}var wi=[0,[0,Eat,Ei(ha)],[0,[0,bat,!!pr],[0,[0,gat,!!ea],[0,[0,Aat,Eo(Oe,Wt)],0]]]];return Ze(Dat,Hn,Gi,[0,[0,vat,Di],[0,[0,Oat,qn(jr)],wi]]);case 1:var Ya=Ht[1],Na=Ya[2],gs=Na[7],fs=Na[6],eo=Na[2],Es=Na[1],yo=Na[5],ds=Na[4],xs=Na[3],as=Ya[1];switch(Es[0]){case 0:var ys=gs,qo=0,Ds=c0(Es[1]);break;case 1:var ys=gs,qo=0,Ds=Vu(Es[1]);break;case 2:var ys=gs,qo=0,Ds=Sl(Es[1]);break;case 3:var ys=gs,qo=0,Ds=gr(Es[1]);break;case 4:var os=Ln(Wat),ys=os[3],qo=os[2],Ds=os[1];break;default:var Ka=Es[1][2],Bs=Ka[1],Ls=E0(Ka[2],gs),ys=Ls,qo=1,Ds=kn(Bs)}if(typeof eo=="number")if(eo)var ao=0,To=0;else var ao=1,To=0;else var ao=0,To=[0,eo[1]];var s0=ao?[0,[0,Uat,!!ao],0]:0,Q0=fs===0?0:[0,[0,Fat,Eo(Oe,fs)],0],Nl=pi(Q0,s0),Ou=[0,[0,Hat,!!qo],[0,[0,zat,!!ds],[0,[0,Lat,aa(pp,yo)],0]]],T0=[0,[0,Yat,Ho(ZT,xs)],Ou];return Ze(Vat,as,ys,pi([0,[0,Gat,Ds],[0,[0,Kat,aa(kn,To)],T0]],Nl));default:var eu=Ht[1],xo=eu[2],wl=xo[6],v0=xo[2],ET=xo[7],Tl=xo[5],Vc=xo[4],OT=xo[3],Ua=xo[1],Ac=eu[1];if(typeof v0=="number")if(v0)var Sa=0,tu=0;else var Sa=1,tu=0;else var Sa=0,tu=[0,v0[1]];var ju=Sa?[0,[0,Sat,!!Sa],0]:0,YR=wl===0?0:[0,[0,$at,Eo(Oe,wl)],0],Jl=pi(YR,ju),Xl=[0,[0,wat,!1],[0,[0,Nat,!!Vc],[0,[0,Qat,aa(pp,Tl)],0]]],gc=[0,[0,Pat,Ho(ZT,OT)],Xl],KR=[0,[0,Bat,aa(kn,tu)],gc];return Ze(Mat,Ac,ET,pi([0,[0,Iat,wn(Ua)],KR],Jl))}}function tn(Ht){var tt=Ht[2],ke=tt[3],qe=tt[2],Ie=tt[1],Wt=Ht[1],pr=tt[4],jr=Ie[0]===0?gr(Ie[1]):c0(Ie[1]);if(ke)var En=[0,[0,ist,kn(ke[1])],0],Hn=Ze(sst,Wt,0,[0,[0,ast,la(qe)],En]);else var Hn=la(qe);return Ze(lst,Wt,0,[0,[0,ust,jr],[0,[0,Rst,Hn],[0,[0,ost,!!pr],0]]])}function di(Ht){var tt=Ht[2],ke=Ht[1];switch(tt[0]){case 0:var qe=tt[1],Ie=qe[4],Wt=[0,[0,Ost,!!qe[2]],[0,[0,Est,!!qe[3]],0]],pr=[0,[0,vst,Eo(function(xs){var as=xs[2],os=as[1],Ka=xs[1],Bs=[0,[0,Ast,jl(as[2])],0];return Ze(bst,Ka,0,[0,[0,gst,gr(os)],Bs])},qe[1])],Wt];return Ze(Dst,ke,Dl(Ie),pr);case 1:var jr=tt[1],En=jr[4],Hn=[0,[0,$st,!!jr[2]],[0,[0,Sst,!!jr[3]],0]],Ci=[0,[0,Qst,Eo(function(xs){var as=xs[2],os=as[1],Ka=xs[1],Bs=[0,[0,yst,Vu(as[2])],0];return Ze(Cst,Ka,0,[0,[0,qst,gr(os)],Bs])},jr[1])],Hn];return Ze(Nst,ke,Dl(En),Ci);case 2:var xi=tt[1],na=xi[1],Gi=xi[4],ea=xi[3],Di=xi[2],ha=na[0]===0?yd(function(xs){var as=xs[1];return Ze(kst,as,0,[0,[0,mst,gr(xs[2][1])],0])},na[1]):yd(function(xs){var as=xs[2],os=as[1],Ka=xs[1],Bs=[0,[0,fst,c0(as[2])],0];return Ze(xst,Ka,0,[0,[0,dst,gr(os)],Bs])},na[1]),wi=[0,[0,Bst,XT(ha)],[0,[0,Pst,!!Di],[0,[0,wst,!!ea],0]]];return Ze(Ist,ke,Dl(Gi),wi);case 3:var Ya=tt[1],Na=Ya[3],gs=[0,[0,Mst,!!Ya[2]],0],fs=[0,[0,Wst,Eo(function(xs){var as=xs[1];return Ze(hst,as,0,[0,[0,_st,gr(xs[2][1])],0])},Ya[1])],gs];return Ze(Ust,ke,Dl(Na),fs);default:var eo=tt[1],Es=eo[4],yo=[0,[0,Lst,!!eo[2]],[0,[0,Fst,!!eo[3]],0]],ds=[0,[0,zst,Eo(function(xs){var as=xs[2],os=as[1],Ka=xs[1],Bs=[0,[0,cst,Sl(as[2])],0];return Ze(pst,Ka,0,[0,[0,Tst,gr(os)],Bs])},eo[1])],yo];return Ze(Hst,ke,Dl(Es),ds)}}function ui(Ht){var tt=Ht[2],ke=tt[5],qe=tt[4],Ie=tt[2],Wt=tt[1],pr=Ht[1],jr=[0,[0,Vst,Eo(_s,tt[3])],0],En=[0,[0,jst,u2(0,qe)],jr],Hn=[0,[0,Jst,aa($l,Ie)],En];return Ze(Zst,pr,ke,[0,[0,Xst,gr(Wt)],Hn])}function _s(Ht){var tt=Ht[2],ke=tt[1],qe=tt[3],Ie=tt[2],Wt=Ht[1],pr=ke[0]===0?gr(ke[1]):bm(ke[1]);return Ze(rot,Wt,qe,[0,[0,tot,pr],[0,[0,eot,aa(Ql,Ie)],0]])}function la(Ht){var tt=Ht[2],ke=Ht[1];switch(tt[0]){case 0:var qe=tt[1],Ie=qe[3],Wt=qe[1],pr=[0,[0,not,Ho(ZT,qe[2])],0],jr=[0,[0,iot,Eo(co,Wt)],pr];return Ze(aot,ke,Dl(Ie),jr);case 1:var En=tt[1],Hn=En[3],Ci=En[1],xi=[0,[0,sot,Ho(ZT,En[2])],0],na=[0,[0,oot,Eo(Xn,Ci)],xi];return Ze(Rot,ke,Dl(Hn),na);case 2:return br(ke,tt[1]);default:return kn(tt[1])}}function hs(Ht){var tt=Ht[2],ke=tt[2],qe=tt[1],Ie=Ht[1];if(!ke)return la(qe);var Wt=[0,[0,uot,kn(ke[1])],0];return Ze(cot,Ie,0,[0,[0,lot,la(qe)],Wt])}function Za(Ht){var tt=Ht[2],ke=tt[2],qe=Ht[1];return Ze(_ot,qe,ke,[0,[0,pot,FO],[0,[0,Tot,ZT(tt[1])],0]])}function ci(Ht){var tt=Ht[2],ke=tt[3],qe=tt[2],Ie=tt[1];if(ke){var Wt=ke[1],pr=Wt[2],jr=pr[2],En=Wt[1],Hn=Ze(fot,En,jr,[0,[0,hot,la(pr[1])],0]),Ci=xn([0,Hn,TQ(hs,qe)]),xi=Ie?[0,Za(Ie[1]),Ci]:Ci;return XT(xi)}var na=yd(hs,qe),Gi=Ie?[0,Za(Ie[1]),na]:na;return XT(Gi)}function Ra(Ht,tt){var ke=tt[2];return Ze(xot,Ht,ke,[0,[0,dot,la(tt[1])],0])}function Xn(Ht){switch(Ht[0]){case 0:var tt=Ht[1],ke=tt[2],qe=ke[2],Ie=ke[1],Wt=tt[1];if(!qe)return la(Ie);var pr=[0,[0,mot,kn(qe[1])],0];return Ze(yot,Wt,0,[0,[0,kot,la(Ie)],pr]);case 1:var jr=Ht[1];return Ra(jr[1],jr[2]);default:return Sd}}function Zi(Ht){switch(Ht[0]){case 0:return Sd;case 1:return ZT(Ht[1]);default:var tt=Ht[1],ke=tt[2],qe=tt[1];return Ze(wlt,qe,0,[0,[0,Nlt,o_([0,ke[1],ke[2]])],0])}}function is(Ht){if(Ht[0]===0){var tt=Ht[1],ke=tt[2],qe=tt[1];switch(ke[0]){case 0:var Ie=ke[3],Wt=ke[1],ea=0,Di=Ie,ha=0,wi=qot,Ya=kn(ke[2]),Na=Wt;break;case 1:var pr=ke[2],jr=ke[1],ea=0,Di=0,ha=1,wi=Cot,Ya=qn([0,pr[1],pr[2]]),Na=jr;break;case 2:var En=ke[2],Hn=ke[3],Ci=ke[1],ea=Hn,Di=0,ha=0,wi=Aot,Ya=qn([0,En[1],En[2]]),Na=Ci;break;default:var xi=ke[2],na=ke[3],Gi=ke[1],ea=na,Di=0,ha=0,wi=got,Ya=qn([0,xi[1],xi[2]]),Na=Gi}switch(Na[0]){case 0:var yo=ea,ds=0,xs=c0(Na[1]);break;case 1:var yo=ea,ds=0,xs=Vu(Na[1]);break;case 2:var yo=ea,ds=0,xs=Sl(Na[1]);break;case 3:var yo=ea,ds=0,xs=gr(Na[1]);break;case 4:var gs=Ln(bot),yo=gs[3],ds=gs[2],xs=gs[1];break;default:var fs=Na[1][2],eo=fs[1],Es=E0(fs[2],ea),yo=Es,ds=1,xs=kn(eo)}return Ze(Qot,qe,yo,[0,[0,$ot,xs],[0,[0,Sot,Ya],[0,[0,Dot,Ei(wi)],[0,[0,vot,!!ha],[0,[0,Oot,!!Di],[0,[0,Eot,!!ds],0]]]]]])}var as=Ht[1],os=as[2],Ka=os[2],Bs=as[1];return Ze(wot,Bs,Ka,[0,[0,Not,kn(os[1])],0])}function co(Ht){if(Ht[0]!==0){var tt=Ht[1];return Ra(tt[1],tt[2])}var ke=Ht[1],qe=ke[2],Ie=qe[3],Wt=qe[2],pr=qe[1],jr=qe[4],En=ke[1];switch(pr[0]){case 0:var xi=0,na=0,Gi=c0(pr[1]);break;case 1:var xi=0,na=0,Gi=Vu(pr[1]);break;case 2:var xi=0,na=0,Gi=Sl(pr[1]);break;case 3:var xi=0,na=0,Gi=gr(pr[1]);break;default:var Hn=pr[1][2],Ci=Hn[2],xi=Ci,na=1,Gi=kn(Hn[1])}if(Ie)var ea=Ie[1],Di=$R(Wt[1],ea[1]),ha=[0,[0,Pot,kn(ea)],0],wi=Ze(Iot,Di,0,[0,[0,Bot,la(Wt)],ha]);else var wi=la(Wt);return Ze(Hot,En,xi,[0,[0,zot,Gi],[0,[0,Lot,wi],[0,[0,Fot,rd],[0,[0,Uot,!1],[0,[0,Wot,!!jr],[0,[0,Mot,!!na],0]]]]]])}function zR(Ht){var tt=Ht[2],ke=tt[2],qe=Ht[1];return Ze(Kot,qe,ke,[0,[0,Yot,kn(tt[1])],0])}function HR(Ht){return Ht[0]===0?kn(Ht[1]):zR(Ht[1])}function $1(Ht){switch(Ht[0]){case 0:return kn(Ht[1]);case 1:return zR(Ht[1]);default:return Sd}}function Vu(Ht){var tt=Ht[2];return Ze(jot,Ht[1],tt[3],[0,[0,Vot,tt[1]],[0,[0,Got,Ei(tt[2])],0]])}function Sl(Ht){var tt=Ht[2],ke=tt[2],qe=tt[1],Ie=tt[3],Wt=Ht[1],pr=qe?aRe(m9,qe[1]):NRe(Jot,BRe(95,qR(ke,0,ii(ke)-1|0)));return Ze(t0t,Wt,Ie,[0,[0,e0t,Sd],[0,[0,Zot,Ei(pr)],[0,[0,Xot,Ei(ke)],0]]])}function c0(Ht){var tt=Ht[2];return Ze(i0t,Ht[1],tt[3],[0,[0,n0t,Ei(tt[1])],[0,[0,r0t,Ei(tt[2])],0]])}function jl(Ht){var tt=Ht[2],ke=tt[1],qe=tt[2],Ie=Ht[1],Wt=ke?a0t:s0t;return Ze(u0t,Ie,qe,[0,[0,R0t,!!ke],[0,[0,o0t,Ei(Wt)],0]])}function lR(Ht){return Ze(x0t,Ht[1],Ht[2],[0,[0,d0t,Sd],[0,[0,f0t,O8],0]])}function S_(Ht){var tt=Ht[2],ke=tt[3],qe=tt[1],Ie=Ht[1],Wt=[0,[0,m0t,Eo(kn,tt[2])],0];return Ze(y0t,Ie,ke,[0,[0,k0t,Eo(Gc,qe)],Wt])}function Gc(Ht){var tt=Ht[2],ke=tt[1],qe=tt[2],Ie=Ht[1];return Ze(b0t,Ie,0,[0,[0,g0t,q3([0,[0,C0t,Ei(ke[1])],[0,[0,q0t,Ei(ke[2])],0]])],[0,[0,A0t,!!qe],0]])}function Q1(Ht){switch(Ht){case 0:return D0t;case 1:return S0t;default:return $0t}}function gT(Ht){var tt=Ht[2],ke=tt[3],qe=tt[1],Ie=Ht[1],Wt=[0,[0,Q0t,Ei(Q1(tt[2]))],0];return Ze(w0t,Ie,ke,[0,[0,N0t,Eo($_,qe)],Wt])}function $_(Ht){var tt=Ht[2],ke=tt[1],qe=Ht[1],Ie=[0,[0,P0t,aa(kn,tt[2])],0];return Ze(I0t,qe,0,[0,[0,B0t,la(ke)],Ie])}function pp(Ht){var tt=Ht[2],ke=tt[2],qe=Ht[1];switch(tt[1]){case 0:var Ie=M0t;break;case 1:var Ie=W0t;break;case 2:var Ie=U0t;break;case 3:var Ie=F0t;break;case 4:var Ie=L0t;break;default:var Ie=z0t}return Ze(Y0t,qe,ke,[0,[0,H0t,Ei(Ie)],0])}function Ko(Ht){var tt=Ht[2],ke=Ht[1];switch(tt[0]){case 0:return Ze(K0t,ke,tt[1],0);case 1:return Ze(G0t,ke,tt[1],0);case 2:return Ze(V0t,ke,tt[1],0);case 3:return Ze(j0t,ke,tt[1],0);case 4:return Ze(J0t,ke,tt[1],0);case 5:return Ze(Z0t,ke,tt[1],0);case 6:return Ze(eRt,ke,tt[1],0);case 7:return Ze(tRt,ke,tt[1],0);case 8:return Ze(rRt,ke,tt[2],0);case 9:return Ze(X0t,ke,tt[1],0);case 10:return Ze(Slt,ke,tt[1],0);case 11:var qe=tt[1],Ie=qe[2];return Ze(iRt,ke,Ie,[0,[0,nRt,Ko(qe[1])],0]);case 12:return $o([0,ke,tt[1]]);case 13:var Wt=tt[1],pr=Wt[2],jr=Wt[4],En=Wt[3],Hn=Wt[1],Ci=E0(Dl(pr[2][3]),jr),xi=pr[2],na=xi[2],Gi=xi[1],ea=[0,[0,Cit,aa($l,Hn)],0],Di=[0,[0,Ait,c2(En)],ea],ha=[0,[0,git,aa(Da,na)],Di];return Ze(Eit,ke,Ci,[0,[0,bit,Ri(Gi)],ha]);case 14:return u2(1,[0,ke,tt[1]]);case 15:var wi=tt[1],Ya=wi[3],Na=wi[2],gs=[0,[0,xut,u2(0,wi[1])],0];return Ze(kut,ke,Ya,[0,[0,mut,Eo(_s,Na)],gs]);case 16:var fs=tt[1],eo=fs[2];return Ze(qut,ke,eo,[0,[0,yut,Ko(fs[1])],0]);case 17:var Es=tt[1],yo=Es[5],ds=Es[3],xs=Es[2],as=Es[1],os=[0,[0,Cut,Ko(Es[4])],0],Ka=[0,[0,Aut,Ko(ds)],os],Bs=[0,[0,gut,Ko(xs)],Ka];return Ze(Eut,ke,yo,[0,[0,but,Ko(as)],Bs]);case 18:var Ls=tt[1],ys=Ls[2];return Ze(vut,ke,ys,[0,[0,Out,bT(Ls[1])],0]);case 19:return lx([0,ke,tt[1]]);case 20:var qo=tt[1],Ds=qo[3];return Ze(Iut,ke,Ds,l2(qo));case 21:var ao=tt[1],To=ao[1],s0=To[3],Q0=[0,[0,Mut,!!ao[2]],0];return Ze(Wut,ke,s0,pi(l2(To),Q0));case 22:var Nl=tt[1],Ou=Nl[1],T0=Nl[2];return Ze(Fut,ke,T0,[0,[0,Uut,Eo(Ko,[0,Ou[1],[0,Ou[2],Ou[3]]])],0]);case 23:var eu=tt[1],xo=eu[1],wl=eu[2];return Ze(zut,ke,wl,[0,[0,Lut,Eo(Ko,[0,xo[1],[0,xo[2],xo[3]]])],0]);case 24:var v0=tt[1],ET=v0[2],Tl=v0[3],Vc=v0[1],OT=ET?[0,[0,Hut,Ql(ET[1])],0]:0;return Ze(Kut,ke,Tl,[0,[0,Yut,r7(Vc)],OT]);case 25:var Ua=tt[1],Ac=Ua[2];return Ze(Xut,ke,Ac,[0,[0,Jut,Ko(Ua[1])],0]);case 26:return n7(ke,tt[1]);case 27:var Sa=tt[1];return cx(ke,Sa[2],alt,Sa[1]);case 28:var tu=tt[1],ju=tu[3],YR=[0,[0,slt,!!tu[2]],0];return Ze(Rlt,ke,ju,[0,[0,olt,Eo(function(u_){var vu=u_[2],hp=u_[1];switch(vu[0]){case 0:return Ko(vu[1]);case 1:var nu=vu[1],vT=nu[2],bc=nu[1],e1=[0,[0,ult,!!nu[4]],0],fp=[0,[0,llt,aa(pp,nu[3])],e1],Nd=[0,[0,clt,Ko(vT)],fp];return Ze(plt,hp,0,[0,[0,Tlt,gr(bc)],Nd]);default:var Ec=vu[1],dp=Ec[1],Xc=[0,[0,_lt,Ko(Ec[2])],0];return Ze(flt,hp,0,[0,[0,hlt,aa(gr,dp)],Xc])}},tu[1])],YR]);case 29:var Jl=tt[1];return Ze(mlt,ke,Jl[3],[0,[0,xlt,Ei(Jl[1])],[0,[0,dlt,Ei(Jl[2])],0]]);case 30:var Xl=tt[1];return Ze(qlt,ke,Xl[3],[0,[0,ylt,Xl[1]],[0,[0,klt,Ei(Xl[2])],0]]);case 31:var gc=tt[1];return Ze(glt,ke,gc[3],[0,[0,Alt,Sd],[0,[0,Clt,Ei(gc[2])],0]]);case 32:var KR=tt[1],jc=KR[1],ru=KR[2],_p=0,Jc=jc?blt:Elt;return Ze(Dlt,ke,ru,[0,[0,vlt,!!jc],[0,[0,Olt,Ei(Jc)],_p]]);case 33:return Ze(aRt,ke,tt[1],0);case 34:return Ze(sRt,ke,tt[1],0);default:return Ze(oRt,ke,tt[1],0)}}function o_(Ht){var tt=Ht[2],ke=tt[2],qe=tt[3],Ie=ke[2],Wt=ke[1],pr=Ht[1];switch(tt[1]){case 0:var jr=Sd;break;case 1:var jr=cm;break;default:var jr=Hs}var En=[0,[0,uRt,aa(Ko,Ie)],[0,[0,RRt,jr],0]],Hn=[0,[0,lRt,gr(Wt)],En];return Ze(cRt,pr,Dl(qe),Hn)}function $o(Ht){var tt=Ht[2],ke=tt[5],qe=tt[3],Ie=tt[2][2],Wt=tt[4],pr=Ie[3],jr=Ie[2],En=Ie[1],Hn=tt[1],Ci=Ht[1],xi=E0(Dl(Ie[4]),Wt),na=ke===0?TRt:pRt,Gi=ke===0?0:[0,[0,_Rt,aa($d,En)],0],ea=[0,[0,hRt,aa($l,Hn)],0],Di=[0,[0,fRt,aa(t7,pr)],ea],ha=qe[0]===0?Ko(qe[1]):o_(qe[1]);return Ze(na,Ci,xi,pi([0,[0,xRt,Eo(function(wi){return R_(0,wi)},jr)],[0,[0,dRt,ha],Di]],Gi))}function R_(Ht,tt){var ke=tt[2],qe=ke[1],Ie=tt[1],Wt=[0,[0,mRt,!!ke[3]],0],pr=[0,[0,kRt,Ko(ke[2])],Wt];return Ze(qRt,Ie,Ht,[0,[0,yRt,aa(gr,qe)],pr])}function t7(Ht){var tt=Ht[2];return R_(tt[2],tt[1])}function $d(Ht){var tt=Ht[2],ke=tt[2],qe=Ht[1],Ie=[0,[0,ARt,Ko(tt[1][2])],[0,[0,CRt,!1],0]];return Ze(bRt,qe,ke,[0,[0,gRt,aa(gr,0)],Ie])}function u2(Ht,tt){var ke=tt[2],qe=ke[4],Ie=ke[2],Wt=ke[1],pr=tt[1],jr=tR(function(ha,wi){var Ya=ha[4],Na=ha[3],gs=ha[2],fs=ha[1];switch(wi[0]){case 0:var eo=wi[1],Es=eo[2],yo=Es[2],ds=Es[1],xs=Es[8],as=Es[7],os=Es[6],Ka=Es[5],Bs=Es[4],Ls=Es[3],ys=eo[1];switch(ds[0]){case 0:var qo=c0(ds[1]);break;case 1:var qo=Vu(ds[1]);break;case 2:var qo=Sl(ds[1]);break;case 3:var qo=gr(ds[1]);break;case 4:var qo=Ln(wRt);break;default:var qo=Ln(PRt)}switch(yo[0]){case 0:var To=BRt,s0=Ko(yo[1]);break;case 1:var Ds=yo[1],To=IRt,s0=$o([0,Ds[1],Ds[2]]);break;default:var ao=yo[1],To=MRt,s0=$o([0,ao[1],ao[2]])}return[0,[0,Ze(GRt,ys,xs,[0,[0,KRt,qo],[0,[0,YRt,s0],[0,[0,HRt,!!os],[0,[0,zRt,!!Ls],[0,[0,LRt,!!Bs],[0,[0,FRt,!!Ka],[0,[0,URt,aa(pp,as)],[0,[0,WRt,Ei(To)],0]]]]]]]]),fs],gs,Na,Ya];case 1:var Q0=wi[1],Nl=Q0[2],Ou=Nl[2],T0=Q0[1];return[0,[0,Ze(jRt,T0,Ou,[0,[0,VRt,Ko(Nl[1])],0]),fs],gs,Na,Ya];case 2:var eu=wi[1],xo=eu[2],wl=xo[6],v0=xo[4],ET=xo[3],Tl=xo[2],Vc=xo[1],OT=eu[1],Ua=[0,[0,XRt,!!v0],[0,[0,JRt,aa(pp,xo[5])],0]],Ac=[0,[0,ZRt,Ko(ET)],Ua],Sa=[0,[0,eut,Ko(Tl)],Ac];return[0,fs,[0,Ze(rut,OT,wl,[0,[0,tut,aa(gr,Vc)],Sa]),gs],Na,Ya];case 3:var tu=wi[1],ju=tu[2],YR=ju[3],Jl=tu[1],Xl=[0,[0,nut,!!ju[2]],0];return[0,fs,gs,[0,Ze(aut,Jl,YR,[0,[0,iut,$o(ju[1])],Xl]),Na],Ya];case 4:var gc=wi[1],KR=gc[2],jc=KR[6],ru=KR[5],_p=KR[4],Jc=KR[3],u_=KR[1],vu=gc[1],hp=[0,[0,hut,!!Jc],[0,[0,_ut,!!_p],[0,[0,put,!!ru],[0,[0,Tut,Ko(KR[2])],0]]]];return[0,fs,gs,Na,[0,Ze(dut,vu,jc,[0,[0,fut,gr(u_)],hp]),Ya]];default:var nu=wi[1],vT=nu[2],bc=vT[6],e1=vT[4],fp=vT[3],Nd=vT[2],Ec=vT[1],dp=nu[1],Xc=0;switch(vT[5]){case 0:var N1="PlusOptional";break;case 1:var N1="MinusOptional";break;case 2:var N1="Optional";break;default:var N1=Sd}var t1=[0,[0,out,aa(pp,e1)],[0,[0,sut,N1],Xc]],N_=[0,[0,Rut,Ko(fp)],t1],r1=[0,[0,uut,Ko(Nd)],N_];return[0,[0,Ze(cut,dp,bc,[0,[0,lut,bT(Ec)],r1]),fs],gs,Na,Ya]}},ERt,ke[3]),En=jr[3],Hn=jr[2],Ci=jr[1],xi=[0,[0,ORt,XT(xn(jr[4]))],0],na=[0,[0,vRt,XT(xn(En))],xi],Gi=[0,[0,DRt,XT(xn(Hn))],na],ea=[0,[0,$Rt,!!Wt],[0,[0,SRt,XT(xn(Ci))],Gi]],Di=Ht?[0,[0,QRt,!!Ie],ea]:ea;return Ze(NRt,pr,Dl(qe),Di)}function bm(Ht){var tt=Ht[2],ke=tt[1],qe=tt[2],Ie=Ht[1],Wt=ke[0]===0?gr(ke[1]):bm(ke[1]);return Ze($ut,Ie,0,[0,[0,Sut,Wt],[0,[0,Dut,gr(qe)],0]])}function lx(Ht){var tt=Ht[2],ke=tt[1],qe=tt[3],Ie=tt[2],Wt=Ht[1],pr=ke[0]===0?gr(ke[1]):bm(ke[1]);return Ze(wut,Wt,qe,[0,[0,Nut,pr],[0,[0,Qut,aa(Ql,Ie)],0]])}function l2(Ht){var tt=Ht[1],ke=[0,[0,Put,Ko(Ht[2])],0];return[0,[0,But,Ko(tt)],ke]}function r7(Ht){if(Ht[0]===0)return gr(Ht[1]);var tt=Ht[1],ke=tt[2],qe=ke[2],Ie=tt[1],Wt=r7(ke[1]);return Ze(jut,Ie,0,[0,[0,Vut,Wt],[0,[0,Gut,gr(qe)],0]])}function c2(Ht){return Ht[0]===0?Sd:n7(Ht[1],Ht[2])}function n7(Ht,tt){var ke=tt[3],qe=tt[2];switch(tt[4]){case 0:var Ie=Zut;break;case 1:var Ie=elt;break;default:var Ie=tlt}return cx(Ht,ke,Ie,qe)}function cx(Ht,tt,ke,qe){return Ze(ilt,Ht,tt,[0,[0,nlt,Ei(ke)],[0,[0,rlt,Ko(qe)],0]])}function ZT(Ht){var tt=Ht[1];return Ze(Qlt,tt,0,[0,[0,$lt,Ko(Ht[2])],0])}function $l(Ht){var tt=Ht[2],ke=tt[2],qe=Ht[1],Ie=[0,[0,Plt,Eo(bT,tt[1])],0];return Ze(Blt,qe,Dl(ke),Ie)}function bT(Ht){var tt=Ht[2],ke=tt[1][2],qe=tt[5],Ie=tt[4],Wt=tt[2],pr=ke[2],jr=ke[1],En=Ht[1],Hn=tt[3]?[0,[0,Ilt,!0],0]:0,Ci=[0,[0,Mlt,aa(Ko,qe)],0],xi=[0,[0,Wlt,aa(pp,Ie)],Ci];return Ze(Llt,En,pr,pi([0,[0,Flt,Ei(jr)],[0,[0,Ult,Ho(ZT,Wt)],xi]],Hn))}function Ql(Ht){var tt=Ht[2],ke=tt[2],qe=Ht[1],Ie=[0,[0,zlt,Eo(Ko,tt[1])],0];return Ze(Hlt,qe,Dl(ke),Ie)}function Q_(Ht){var tt=Ht[2],ke=tt[2],qe=Ht[1],Ie=[0,[0,Ylt,Eo(i7,tt[1])],0];return Ze(Klt,qe,Dl(ke),Ie)}function i7(Ht){if(Ht[0]===0)return Ko(Ht[1]);var tt=Ht[1],ke=tt[1],qe=tt[2][1];return lx([0,ke,[0,[0,U8(0,[0,ke,Glt])],0,qe]])}function Qd(Ht){var tt=Ht[2],ke=tt[1],qe=tt[4],Ie=tt[2],Wt=Ht[1],pr=[0,[0,Vlt,Eo(Em,tt[3][2])],0],jr=[0,[0,jlt,aa(pC,Ie)],pr],En=ke[2],Hn=En[2],Ci=En[4],xi=En[3],na=En[1],Gi=ke[1],ea=Hn?[0,[0,nct,Q_(Hn[1])],0]:0,Di=[0,[0,act,Eo(Mk,Ci)],[0,[0,ict,!!xi],0]];return Ze(Xlt,Wt,qe,[0,[0,Jlt,Ze(oct,Gi,0,pi([0,[0,sct,r4(na)],Di],ea))],jr])}function t4(Ht){var tt=Ht[2],ke=tt[4],qe=tt[3][2],Ie=tt[1],Wt=Ht[1],pr=[0,[0,Zlt,Ze(cct,tt[2],0,0)],0],jr=[0,[0,ect,Eo(Em,qe)],pr];return Ze(rct,Wt,ke,[0,[0,tct,Ze(Rct,Ie,0,0)],jr])}function Mk(Ht){if(Ht[0]===0){var tt=Ht[1],ke=tt[2],qe=ke[1],Ie=ke[2],Wt=tt[1],pr=qe[0]===0?Tx(qe[1]):Wk(qe[1]);return Ze(_ct,Wt,0,[0,[0,pct,pr],[0,[0,Tct,aa(a7,Ie)],0]])}var jr=Ht[1],En=jr[2],Hn=En[2],Ci=jr[1];return Ze(fct,Ci,Hn,[0,[0,hct,kn(En[1])],0])}function pC(Ht){var tt=Ht[1];return Ze(lct,tt,0,[0,[0,uct,r4(Ht[2][1])],0])}function Em(Ht){var tt=Ht[2],ke=Ht[1];switch(tt[0]){case 0:return Qd([0,ke,tt[1]]);case 1:return t4([0,ke,tt[1]]);case 2:return s7([0,ke,tt[1]]);case 3:var qe=tt[1],Ie=qe[2];return Ze(yct,ke,Ie,[0,[0,kct,kn(qe[1])],0]);default:var Wt=tt[1];return Ze(Act,ke,0,[0,[0,Cct,Ei(Wt[1])],[0,[0,qct,Ei(Wt[2])],0]])}}function r4(Ht){switch(Ht[0]){case 0:return Tx(Ht[1]);case 1:return Wk(Ht[1]);default:return o7(Ht[1])}}function a7(Ht){if(Ht[0]===0){var tt=Ht[1];return c0([0,tt[1],tt[2]])}var ke=Ht[1];return s7([0,ke[1],ke[2]])}function s7(Ht){var tt=Ht[2],ke=tt[1],qe=Ht[1],Ie=tt[2],Wt=ke?kn(ke[1]):Ze(dct,[0,qe[1],[0,qe[2][1],qe[2][2]+1|0],[0,qe[3][1],qe[3][2]-1|0]],0,0);return Ze(mct,qe,Dl(Ie),[0,[0,xct,Wt],0])}function o7(Ht){var tt=Ht[2],ke=tt[1],qe=tt[2],Ie=Ht[1],Wt=ke[0]===0?Tx(ke[1]):o7(ke[1]);return Ze(Ect,Ie,0,[0,[0,bct,Wt],[0,[0,gct,Tx(qe)],0]])}function Wk(Ht){var tt=Ht[2],ke=tt[1],qe=Ht[1],Ie=[0,[0,Oct,Tx(tt[2])],0];return Ze(Dct,qe,0,[0,[0,vct,Tx(ke)],Ie])}function Tx(Ht){var tt=Ht[2];return Ze($ct,Ht[1],tt[2],[0,[0,Sct,Ei(tt[1])],0])}function xE(Ht){var tt=Ht[2],ke=tt[2],qe=tt[1],Ie=Ht[1],Wt=gr(ke?ke[1]:qe);return Ze(wct,Ie,0,[0,[0,Nct,gr(qe)],[0,[0,Qct,Wt],0]])}function T2(Ht){return Eo(Cv,Ht)}function Cv(Ht){var tt=Ht[2],ke=Ht[1];if(tt[1])var qe=tt[2],Ie=zct;else var qe=tt[2],Ie=Hct;return Ze(Ie,ke,0,[0,[0,Yct,Ei(qe)],0])}function Om(Ht){var tt=Ht[2],ke=tt[1],qe=tt[2],Ie=Ht[1];if(ke)var Wt=[0,[0,Kct,kn(ke[1])],0],pr=Gct;else var Wt=0,pr=Vct;return Ze(pr,Ie,qe,Wt)}function C3(Ht){var tt=Ht[2],ke=Ht[1],qe=[0,[0,jct,jn(Ht[3])],0],Ie=[0,[0,Jct,aa(Q_,tt)],qe];return[0,[0,Xct,kn(ke)],Ie]}function _C(Ht){var tt=Ht[2],ke=Ht[1];switch(tt[0]){case 0:var qe=0,Ie=gr(tt[1]);break;case 1:var qe=0,Ie=wn(tt[1]);break;default:var qe=1,Ie=kn(tt[1])}return[0,[0,tTt,kn(ke)],[0,[0,eTt,Ie],[0,[0,Zct,!!qe],0]]]}var n4=Gt[2],mE=n4[2],aA=n4[4],Av=n4[3],sN=Gt[1],oN=Xr(n4[1]),gv=[0,[0,nZe,oN],[0,[0,rZe,T2(aA)],0]];if(mE)var bv=mE[1],kE=pi(gv,[0,[0,sZe,Ze(aZe,bv[1],0,[0,[0,iZe,Ei(bv[2])],0])],0]);else var kE=gv;var A3=Ze(oZe,sN,Av,kE);return A3.errors=Eo(function(Ht){var tt=Ht[1],ke=[0,[0,rTt,Ei(U1t(Ht[2]))],0];return q3([0,[0,nTt,iN(tt)],ke])},pi(Ot,jxe[1])),V&&(A3[nk]=XT(TQ(function(Ht){var tt=Ht[2],ke=Ht[1],qe=Ht[3],Ie=[0,[0,sVe,Ei(nte(tt))],0],Wt=[0,WQ(Pe,ke[3]),0],pr=[0,[0,oVe,XT([0,WQ(Pe,ke[2]),Wt])],Ie],jr=[0,[0,lVe,q3([0,[0,uVe,ke[3][1]],[0,[0,RVe,ke[3][2]],0]])],0],En=[0,[0,_Ve,q3([0,[0,pVe,q3([0,[0,TVe,ke[2][1]],[0,[0,cVe,ke[2][2]],0]])],jr])],pr];switch(qe){case 0:var Hn=hVe;break;case 1:var Hn=fVe;break;case 2:var Hn=dVe;break;case 3:var Hn=xVe;break;case 4:var Hn=mVe;break;default:var Hn=kVe}return q3([0,[0,qVe,Ei(Vue(tt))],[0,[0,yVe,Ei(Hn)],En]])},pe[1]))),A3}if(typeof i7t<"u")var aN=i7t;else{var Xxe={};dE.flow=Xxe;var aN=Xxe}aN.parse=K3e(function(o,T){try{var a=H1t(o,T);return a}catch(p){var u=n0(p);return u[1]===cI?VV(u[2]):VV(new Vxe(Ei(hi(kTt,Fb(u)))))}}),tG(he)})(globalThis)});var sWt=Le((Hai,aWt)=>{"use strict";var vDr=iWt(),DDr={enums:!0,esproposal_class_instance_fields:!0,esproposal_class_static_fields:!0,esproposal_decorators:!0,esproposal_export_star_as:!0,esproposal_optional_chaining:!0,esproposal_nullish_coalescing:!0,tokens:!0,types:!0};aWt.exports=function(e=DDr){return{parse(t){return vDr.parse(t,e)}}}});var a7t=Le((Yai,oWt)=>{"use strict";oWt.exports={sourceType:"module",allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,startLine:1,tokens:!0,plugins:["asyncGenerators","bigInt","classPrivateMethods","classPrivateProperties","classProperties","decorators-legacy","doExpressions","dynamicImport","exportDefaultFrom","exportExtensions","exportNamespaceFrom","functionBind","functionSent","importMeta","nullishCoalescingOperator","numericSeparator","objectRestSpread","optionalCatchBinding","optionalChaining",["pipelineOperator",{proposal:"minimal"}],"throwExpressions","typescript"]}});var uWt=Le((Kai,RWt)=>{"use strict";var SDr=Bpe(),$Dr=a7t();RWt.exports=function(){return{parse(e){return SDr.parse(e,$Dr)}}}});var pWt=Le((Gai,TWt)=>{"use strict";var QDr=Bpe(),lWt=a7t(),cWt=Object.assign({},lWt);cWt.plugins=["jsx"].concat(lWt.plugins);TWt.exports=function(){return{parse(e){return QDr.parse(e,cWt)}}}});var hWt=Le((Vai,_Wt)=>{"use strict";var NDr=Bpe(),wDr={sourceType:"module",allowHashBang:!0,ecmaVersion:1/0,allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,startLine:1,tokens:!0,plugins:["estree","jsx","asyncGenerators","classProperties","doExpressions","exportExtensions","functionBind","functionSent","objectRestSpread","dynamicImport","nullishCoalescingOperator","optionalChaining",["decorators",{decoratorsBeforeExport:!1}]]};_Wt.exports=function(){return{parse(e){return NDr.parse(e,wDr)}}}});var dWt=Le((jai,fWt)=>{"use strict";fWt.exports=function(t,r){switch(t){case"babylon":return nWt()(r);case"flow":return sWt()(r);case"ts":return uWt()(r);case"tsx":return pWt()(r);case"babel":default:return hWt()(r)}}});var kWt=Le((Jai,mWt)=>{"use strict";var nye=iJ(),PDr=nye.types.builders,TM=nye.types.namedTypes;function Ipe(e,t,r){e.splice.apply(e,[e.indexOf(t),1].concat(r))}function BDr(e){return delete e.start,delete e.end,delete e.loc,e}function xWt(e){return TM.Statement.check(e)?BDr(e):PDr.expressionStatement(e)}function IDr(e,t){return{visitIdentifier:function(r){this.traverse(r);let n=r.node,i=r.parent.node,s=e.indexOf(n.name);if(s===-1)return;let R=t[s];t[s]=null,Array.isArray(R)?TM.Function.check(i)&&i.params.indexOf(n)>-1?Ipe(i.params,n,R):TM.VariableDeclarator.check(i)?Ipe(r.parent.parent.node.declarations,i,R):TM.ArrayExpression.check(i)?Ipe(i.elements,n,R):TM.Property.check(i)&&i.shorthand?Ipe(r.parent.parent.node.properties,i,R):TM.CallExpression.check(i)&&i.arguments.indexOf(n)>-1?Ipe(i.arguments,n,R):TM.ExpressionStatement.check(i)?r.parent.replace.apply(r.parent,R.map(xWt)):r.replace.apply(r,R):TM.ExpressionStatement.check(i)?r.parent.replace(xWt(R)):r.replace(R)}}}function MDr(e,t,r,n){let i=nye.parse(e,{parser:n});return nye.visit(i,IDr(t,r)),i}var WDr=0;function UDr(){return`$jscodeshift${WDr++}$`}mWt.exports=function(t){function r(R){R=Array.from(R);let l=Array.from(arguments).slice(1),c=l.map(()=>UDr()),h=R.reduce((_,f,m)=>_+c[m-1]+f);return MDr(h,c,l,t).program.body}function n(){return r.apply(null,arguments)[0]}function i(R){R=Array.from(R),R.length>0&&(R[0]="("+R[0],R[R.length-1]+=")");let l=n.apply(null,[R].concat(Array.from(arguments).slice(1))).expression;return l.extra&&(l.extra.parenthesized=!1),l}function s(R){R=Array.from(R),R.length>0&&(R[0]="async () => ("+R[0],R[R.length-1]+=")");let l=n.apply(null,[R].concat(Array.from(arguments).slice(1))).expression.body;return l.extra&&(l.extra.parenthesized=!1),l}return{statements:r,statement:n,expression:i,asyncExpression:s}}});var EWt=Le((Xai,bWt)=>{"use strict";var Mpe=gpe(),uJ=gMt(),o7t=dWt(),FDr=h2t(),fne=iJ(),LDr=kWt(),yWt=fne.types.namedTypes.Node,s7t=fne.types.NodePath;for(qWt in uJ)uJ[qWt].register();var qWt;function R7t(e,t){return typeof e=="string"?zDr(e,t):AWt(e)}function AWt(e){if(Array.isArray(e)){if(e[0]instanceof s7t||e.length===0)return Mpe.fromPaths(e);if(yWt.check(e[0]))return Mpe.fromNodes(e)}else{if(e instanceof s7t)return Mpe.fromPaths([e]);if(yWt.check(e))return Mpe.fromNodes([e])}throw new TypeError("Received an unexpected value "+Object.prototype.toString.call(e))}function zDr(e,t){return t||(t={}),t.parser||(t.parser=o7t()),AWt(fne.parse(e,t))}function HDr(e,t){return e instanceof s7t||(typeof e.get=="function"?e=e.get():e={value:e}),FDr(e.value,t)}var CWt=[];function YDr(e){CWt.indexOf(e)===-1&&(CWt.push(e),e(R7t))}function KDr(e){return typeof e=="string"&&(e=o7t(e)),gWt(function(r,n){return n&&!n.parser?n.parser=e:n={parser:e},R7t(r,n)},e)}function gWt(e,t){Object.assign(e,fne.types.namedTypes),Object.assign(e,fne.types.builders),e.registerMethods=Mpe.registerMethods,e.types=fne.types,e.match=HDr,e.template=LDr(t),e.filters={},e.mappings={};for(let r in uJ)uJ[r].filters&&(e.filters[r]=uJ[r].filters),uJ[r].mappings&&(e.mappings[r]=uJ[r].mappings);return e.use=YDr,e.withParser=KDr,e}bWt.exports=gWt(R7t,o7t())});var vWt=Le((Zai,OWt)=>{OWt.exports=EWt()});var Ype=Le(d7t=>{"use strict";Object.defineProperty(d7t,"__esModule",{value:!0});function kSr(){return typeof navigator=="object"&&"userAgent"in navigator?navigator.userAgent:typeof process=="object"&&process.version!==void 0?`Node.js/${process.version.substr(1)} (${process.platform}; ${process.arch})`:""}d7t.getUserAgent=kSr});var VWt=Le((Esi,GWt)=>{GWt.exports=KWt;function KWt(e,t,r,n){if(typeof r!="function")throw new Error("method for before hook must be a function");return n||(n={}),Array.isArray(t)?t.reverse().reduce(function(i,s){return KWt.bind(null,e,s,i,n)},r)():Promise.resolve().then(function(){return e.registry[t]?e.registry[t].reduce(function(i,s){return s.hook.bind(null,i,n)},r)():r(n)})}});var JWt=Le((Osi,jWt)=>{jWt.exports=ySr;function ySr(e,t,r,n){var i=n;e.registry[r]||(e.registry[r]=[]),t==="before"&&(n=function(s,R){return Promise.resolve().then(i.bind(null,R)).then(s.bind(null,R))}),t==="after"&&(n=function(s,R){var l;return Promise.resolve().then(s.bind(null,R)).then(function(c){return l=c,i(l,R)}).then(function(){return l})}),t==="error"&&(n=function(s,R){return Promise.resolve().then(s.bind(null,R)).catch(function(l){return i(l,R)})}),e.registry[r].push({hook:n,orig:i})}});var ZWt=Le((vsi,XWt)=>{XWt.exports=qSr;function qSr(e,t,r){if(e.registry[t]){var n=e.registry[t].map(function(i){return i.orig}).indexOf(r);n!==-1&&e.registry[t].splice(n,1)}}});var sUt=Le((Dsi,Kpe)=>{var nUt=VWt(),CSr=JWt(),ASr=ZWt(),eUt=Function.bind,tUt=eUt.bind(eUt);function iUt(e,t,r){var n=tUt(ASr,null).apply(null,r?[t,r]:[t]);e.api={remove:n},e.remove=n,["before","error","after","wrap"].forEach(function(i){var s=r?[t,i,r]:[t,i];e[i]=e.api[i]=tUt(CSr,null).apply(null,s)})}function gSr(){var e="h",t={registry:{}},r=nUt.bind(null,t,e);return iUt(r,t,e),r}function aUt(){var e={registry:{}},t=nUt.bind(null,e);return iUt(t,e),t}var rUt=!1;function mne(){return rUt||(console.warn('[before-after-hook]: "Hook()" repurposing warning, use "Hook.Collection()". Read more: https://git.io/upgrade-before-after-hook-to-1.4'),rUt=!0),aUt()}mne.Singular=gSr.bind();mne.Collection=aUt.bind();Kpe.exports=mne;Kpe.exports.Hook=mne;Kpe.exports.Singular=mne.Singular;Kpe.exports.Collection=mne.Collection});var hUt=Le((Ssi,_Ut)=>{"use strict";var k7t=Object.defineProperty,bSr=Object.getOwnPropertyDescriptor,ESr=Object.getOwnPropertyNames,OSr=Object.prototype.hasOwnProperty,vSr=(e,t)=>{for(var r in t)k7t(e,r,{get:t[r],enumerable:!0})},DSr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ESr(t))!OSr.call(e,i)&&i!==r&&k7t(e,i,{get:()=>t[i],enumerable:!(n=bSr(t,i))||n.enumerable});return e},SSr=e=>DSr(k7t({},"__esModule",{value:!0}),e),uUt={};vSr(uUt,{endpoint:()=>YSr});_Ut.exports=SSr(uUt);var $Sr=Ype(),QSr="9.0.5",NSr=`octokit-endpoint.js/${QSr} ${(0,$Sr.getUserAgent)()}`,wSr={method:"GET",baseUrl:"https://api.github.com",headers:{accept:"application/vnd.github.v3+json","user-agent":NSr},mediaType:{format:""}};function PSr(e){return e?Object.keys(e).reduce((t,r)=>(t[r.toLowerCase()]=e[r],t),{}):{}}function BSr(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}function lUt(e,t){let r=Object.assign({},e);return Object.keys(t).forEach(n=>{BSr(t[n])?n in e?r[n]=lUt(e[n],t[n]):Object.assign(r,{[n]:t[n]}):Object.assign(r,{[n]:t[n]})}),r}function oUt(e){for(let t in e)e[t]===void 0&&delete e[t];return e}function m7t(e,t,r){if(typeof t=="string"){let[i,s]=t.split(" ");r=Object.assign(s?{method:i,url:s}:{url:i},r)}else r=Object.assign({},t);r.headers=PSr(r.headers),oUt(r),oUt(r.headers);let n=lUt(e||{},r);return r.url==="/graphql"&&(e&&e.mediaType.previews?.length&&(n.mediaType.previews=e.mediaType.previews.filter(i=>!n.mediaType.previews.includes(i)).concat(n.mediaType.previews)),n.mediaType.previews=(n.mediaType.previews||[]).map(i=>i.replace(/-preview/,""))),n}function ISr(e,t){let r=/\?/.test(e)?"&":"?",n=Object.keys(t);return n.length===0?e:e+r+n.map(i=>i==="q"?"q="+t.q.split("+").map(encodeURIComponent).join("+"):`${i}=${encodeURIComponent(t[i])}`).join("&")}var MSr=/\{[^}]+\}/g;function WSr(e){return e.replace(/^\W+|\W+$/g,"").split(/,/)}function USr(e){let t=e.match(MSr);return t?t.map(WSr).reduce((r,n)=>r.concat(n),[]):[]}function RUt(e,t){let r={__proto__:null};for(let n of Object.keys(e))t.indexOf(n)===-1&&(r[n]=e[n]);return r}function cUt(e){return e.split(/(%[0-9A-Fa-f]{2})/g).map(function(t){return/%[0-9A-Fa-f]/.test(t)||(t=encodeURI(t).replace(/%5B/g,"[").replace(/%5D/g,"]")),t}).join("")}function yne(e){return encodeURIComponent(e).replace(/[!'()*]/g,function(t){return"%"+t.charCodeAt(0).toString(16).toUpperCase()})}function Gpe(e,t,r){return t=e==="+"||e==="#"?cUt(t):yne(t),r?yne(r)+"="+t:t}function kne(e){return e!=null}function x7t(e){return e===";"||e==="&"||e==="?"}function FSr(e,t,r,n){var i=e[r],s=[];if(kne(i)&&i!=="")if(typeof i=="string"||typeof i=="number"||typeof i=="boolean")i=i.toString(),n&&n!=="*"&&(i=i.substring(0,parseInt(n,10))),s.push(Gpe(t,i,x7t(t)?r:""));else if(n==="*")Array.isArray(i)?i.filter(kne).forEach(function(R){s.push(Gpe(t,R,x7t(t)?r:""))}):Object.keys(i).forEach(function(R){kne(i[R])&&s.push(Gpe(t,i[R],R))});else{let R=[];Array.isArray(i)?i.filter(kne).forEach(function(l){R.push(Gpe(t,l))}):Object.keys(i).forEach(function(l){kne(i[l])&&(R.push(yne(l)),R.push(Gpe(t,i[l].toString())))}),x7t(t)?s.push(yne(r)+"="+R.join(",")):R.length!==0&&s.push(R.join(","))}else t===";"?kne(i)&&s.push(yne(r)):i===""&&(t==="&"||t==="?")?s.push(yne(r)+"="):i===""&&s.push("");return s}function LSr(e){return{expand:zSr.bind(null,e)}}function zSr(e,t){var r=["+","#",".","/",";","?","&"];return e=e.replace(/\{([^\{\}]+)\}|([^\{\}]+)/g,function(n,i,s){if(i){let l="",c=[];if(r.indexOf(i.charAt(0))!==-1&&(l=i.charAt(0),i=i.substr(1)),i.split(/,/g).forEach(function(h){var _=/([^:\*]*)(?::(\d+)|(\*))?/.exec(h);c.push(FSr(t,l,_[1],_[2]||_[3]))}),l&&l!=="+"){var R=",";return l==="?"?R="&":l!=="#"&&(R=l),(c.length!==0?l:"")+c.join(R)}else return c.join(",")}else return cUt(s)}),e==="/"?e:e.replace(/\/$/,"")}function TUt(e){let t=e.method.toUpperCase(),r=(e.url||"/").replace(/:([a-z]\w+)/g,"{$1}"),n=Object.assign({},e.headers),i,s=RUt(e,["method","baseUrl","url","headers","request","mediaType"]),R=USr(r);r=LSr(r).expand(s),/^http/.test(r)||(r=e.baseUrl+r);let l=Object.keys(e).filter(_=>R.includes(_)).concat("baseUrl"),c=RUt(s,l);if(!/application\/octet-stream/i.test(n.accept)&&(e.mediaType.format&&(n.accept=n.accept.split(/,/).map(_=>_.replace(/application\/vnd(\.\w+)(\.v3)?(\.\w+)?(\+json)?$/,`application/vnd$1$2.${e.mediaType.format}`)).join(",")),r.endsWith("/graphql")&&e.mediaType.previews?.length)){let _=n.accept.match(/[\w-]+(?=-preview)/g)||[];n.accept=_.concat(e.mediaType.previews).map(f=>{let m=e.mediaType.format?`.${e.mediaType.format}`:"+json";return`application/vnd.github.${f}-preview${m}`}).join(",")}return["GET","HEAD"].includes(t)?r=ISr(r,c):"data"in c?i=c.data:Object.keys(c).length&&(i=c),!n["content-type"]&&typeof i<"u"&&(n["content-type"]="application/json; charset=utf-8"),["PATCH","PUT"].includes(t)&&typeof i>"u"&&(i=""),Object.assign({method:t,url:r,headers:n},typeof i<"u"?{body:i}:null,e.request?{request:e.request}:null)}function HSr(e,t,r){return TUt(m7t(e,t,r))}function pUt(e,t){let r=m7t(e,t),n=HSr.bind(null,r);return Object.assign(n,{DEFAULTS:r,defaults:pUt.bind(null,r),merge:m7t.bind(null,r),parse:TUt})}var YSr=pUt(null,wSr)});var fUt=Le(q7t=>{"use strict";Object.defineProperty(q7t,"__esModule",{value:!0});var y7t=class extends Error{constructor(t){super(t),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="Deprecation"}};q7t.Deprecation=y7t});var mUt=Le((Qsi,xUt)=>{xUt.exports=dUt;function dUt(e,t){if(e&&t)return dUt(e)(t);if(typeof e!="function")throw new TypeError("need wrapper function");return Object.keys(e).forEach(function(n){r[n]=e[n]}),r;function r(){for(var n=new Array(arguments.length),i=0;i{var kUt=mUt();C7t.exports=kUt(uye);C7t.exports.strict=kUt(yUt);uye.proto=uye(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return uye(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return yUt(this)},configurable:!0})});function uye(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function yUt(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},r=e.name||"Function wrapped with `once`";return t.onceError=r+" shouldn't be called more than once",t.called=!1,t}});var OUt=Le((wsi,EUt)=>{"use strict";var KSr=Object.create,lye=Object.defineProperty,GSr=Object.getOwnPropertyDescriptor,VSr=Object.getOwnPropertyNames,jSr=Object.getPrototypeOf,JSr=Object.prototype.hasOwnProperty,XSr=(e,t)=>{for(var r in t)lye(e,r,{get:t[r],enumerable:!0})},AUt=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of VSr(t))!JSr.call(e,i)&&i!==r&&lye(e,i,{get:()=>t[i],enumerable:!(n=GSr(t,i))||n.enumerable});return e},ZSr=(e,t,r)=>(r=e!=null?KSr(jSr(e)):{},AUt(t||!e||!e.__esModule?lye(r,"default",{value:e,enumerable:!0}):r,e)),e$r=e=>AUt(lye({},"__esModule",{value:!0}),e),gUt={};XSr(gUt,{RequestError:()=>n$r});EUt.exports=e$r(gUt);var CUt=fUt(),bUt=ZSr(qUt()),t$r=(0,bUt.default)(e=>console.warn(e)),r$r=(0,bUt.default)(e=>console.warn(e)),n$r=class extends Error{constructor(e,t,r){super(e),Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor),this.name="HttpError",this.status=t;let n;"headers"in r&&typeof r.headers<"u"&&(n=r.headers),"response"in r&&(this.response=r.response,n=r.response.headers);let i=Object.assign({},r.request);r.request.headers.authorization&&(i.headers=Object.assign({},r.request.headers,{authorization:r.request.headers.authorization.replace(/ .*$/," [REDACTED]")})),i.url=i.url.replace(/\bclient_secret=\w+/g,"client_secret=[REDACTED]").replace(/\baccess_token=\w+/g,"access_token=[REDACTED]"),this.request=i,Object.defineProperty(this,"code",{get(){return t$r(new CUt.Deprecation("[@octokit/request-error] `error.code` is deprecated, use `error.status`.")),t}}),Object.defineProperty(this,"headers",{get(){return r$r(new CUt.Deprecation("[@octokit/request-error] `error.headers` is deprecated, use `error.response.headers`.")),n||{}}})}}});var jpe=Le((Bsi,SUt)=>{"use strict";var b7t=Object.defineProperty,i$r=Object.getOwnPropertyDescriptor,a$r=Object.getOwnPropertyNames,s$r=Object.prototype.hasOwnProperty,o$r=(e,t)=>{for(var r in t)b7t(e,r,{get:t[r],enumerable:!0})},R$r=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of a$r(t))!s$r.call(e,i)&&i!==r&&b7t(e,i,{get:()=>t[i],enumerable:!(n=i$r(t,i))||n.enumerable});return e},u$r=e=>R$r(b7t({},"__esModule",{value:!0}),e),DUt={};o$r(DUt,{request:()=>f$r});SUt.exports=u$r(DUt);var l$r=hUt(),c$r=Ype(),T$r="8.4.0";function p$r(e){if(typeof e!="object"||e===null||Object.prototype.toString.call(e)!=="[object Object]")return!1;let t=Object.getPrototypeOf(e);if(t===null)return!0;let r=Object.prototype.hasOwnProperty.call(t,"constructor")&&t.constructor;return typeof r=="function"&&r instanceof r&&Function.prototype.call(r)===Function.prototype.call(e)}var Vpe=OUt();function _$r(e){return e.arrayBuffer()}function vUt(e){var t,r,n,i;let s=e.request&&e.request.log?e.request.log:console,R=((t=e.request)==null?void 0:t.parseSuccessResponseBody)!==!1;(p$r(e.body)||Array.isArray(e.body))&&(e.body=JSON.stringify(e.body));let l={},c,h,{fetch:_}=globalThis;if((r=e.request)!=null&&r.fetch&&(_=e.request.fetch),!_)throw new Error("fetch is not set. Please pass a fetch implementation as new Octokit({ request: { fetch }}). Learn more at https://github.com/octokit/octokit.js/#fetch-missing");return _(e.url,{method:e.method,body:e.body,redirect:(n=e.request)==null?void 0:n.redirect,headers:e.headers,signal:(i=e.request)==null?void 0:i.signal,...e.body&&{duplex:"half"}}).then(async f=>{h=f.url,c=f.status;for(let m of f.headers)l[m[0]]=m[1];if("deprecation"in l){let m=l.link&&l.link.match(/<([^>]+)>; rel="deprecation"/),x=m&&m.pop();s.warn(`[@octokit/request] "${e.method} ${e.url}" is deprecated. It is scheduled to be removed on ${l.sunset}${x?`. See ${x}`:""}`)}if(!(c===204||c===205)){if(e.method==="HEAD"){if(c<400)return;throw new Vpe.RequestError(f.statusText,c,{response:{url:h,status:c,headers:l,data:void 0},request:e})}if(c===304)throw new Vpe.RequestError("Not modified",c,{response:{url:h,status:c,headers:l,data:await A7t(f)},request:e});if(c>=400){let m=await A7t(f);throw new Vpe.RequestError(h$r(m),c,{response:{url:h,status:c,headers:l,data:m},request:e})}return R?await A7t(f):f.body}}).then(f=>({status:c,url:h,headers:l,data:f})).catch(f=>{if(f instanceof Vpe.RequestError)throw f;if(f.name==="AbortError")throw f;let m=f.message;throw f.name==="TypeError"&&"cause"in f&&(f.cause instanceof Error?m=f.cause.message:typeof f.cause=="string"&&(m=f.cause)),new Vpe.RequestError(m,500,{request:e})})}async function A7t(e){let t=e.headers.get("content-type");return/application\/json/.test(t)?e.json().catch(()=>e.text()).catch(()=>""):!t||/^text\/|charset=utf-8$/.test(t)?e.text():_$r(e)}function h$r(e){if(typeof e=="string")return e;let t;return"documentation_url"in e?t=` - ${e.documentation_url}`:t="","message"in e?Array.isArray(e.errors)?`${e.message}: ${e.errors.map(JSON.stringify).join(", ")}${t}`:`${e.message}${t}`:`Unknown error: ${JSON.stringify(e)}`}function g7t(e,t){let r=e.defaults(t);return Object.assign(function(i,s){let R=r.merge(i,s);if(!R.request||!R.request.hook)return vUt(r.parse(R));let l=(c,h)=>vUt(r.parse(r.merge(c,h)));return Object.assign(l,{endpoint:r,defaults:g7t.bind(null,r)}),R.request.hook(l,R)},{endpoint:r,defaults:g7t.bind(null,r)})}var f$r=g7t(l$r.endpoint,{headers:{"user-agent":`octokit-request.js/${T$r} ${(0,c$r.getUserAgent)()}`}})});var PUt=Le((Wsi,wUt)=>{"use strict";var E7t=Object.defineProperty,d$r=Object.getOwnPropertyDescriptor,x$r=Object.getOwnPropertyNames,m$r=Object.prototype.hasOwnProperty,k$r=(e,t)=>{for(var r in t)E7t(e,r,{get:t[r],enumerable:!0})},y$r=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of x$r(t))!m$r.call(e,i)&&i!==r&&E7t(e,i,{get:()=>t[i],enumerable:!(n=d$r(t,i))||n.enumerable});return e},q$r=e=>y$r(E7t({},"__esModule",{value:!0}),e),QUt={};k$r(QUt,{GraphqlResponseError:()=>NUt,graphql:()=>D$r,withCustomRequest:()=>S$r});wUt.exports=q$r(QUt);var C$r=jpe(),A$r=Ype(),g$r="7.1.0",Isi=jpe(),Msi=jpe();function b$r(e){return`Request failed due to following response errors: +`+e.errors.map(t=>` - ${t.message}`).join(` +`)}var NUt=class extends Error{constructor(e,t,r){super(b$r(r)),this.request=e,this.headers=t,this.response=r,this.name="GraphqlResponseError",this.errors=r.errors,this.data=r.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}},E$r=["method","baseUrl","url","headers","request","query","mediaType"],O$r=["query","method","url"],$Ut=/\/api\/v3\/?$/;function v$r(e,t,r){if(r){if(typeof t=="string"&&"query"in r)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let R in r)if(O$r.includes(R))return Promise.reject(new Error(`[@octokit/graphql] "${R}" cannot be used as variable name`))}let n=typeof t=="string"?Object.assign({query:t},r):t,i=Object.keys(n).reduce((R,l)=>E$r.includes(l)?(R[l]=n[l],R):(R.variables||(R.variables={}),R.variables[l]=n[l],R),{}),s=n.baseUrl||e.endpoint.DEFAULTS.baseUrl;return $Ut.test(s)&&(i.url=s.replace($Ut,"/api/graphql")),e(i).then(R=>{if(R.data.errors){let l={};for(let c of Object.keys(R.headers))l[c]=R.headers[c];throw new NUt(i,l,R.data)}return R.data.data})}function O7t(e,t){let r=e.defaults(t);return Object.assign((i,s)=>v$r(r,i,s),{defaults:O7t.bind(null,r),endpoint:r.endpoint})}var D$r=O7t(C$r.request,{headers:{"user-agent":`octokit-graphql.js/${g$r} ${(0,A$r.getUserAgent)()}`},method:"POST",url:"/graphql"});function S$r(e){return O7t(e,{method:"POST",url:"/graphql"})}});var MUt=Le((Fsi,IUt)=>{"use strict";var v7t=Object.defineProperty,$$r=Object.getOwnPropertyDescriptor,Q$r=Object.getOwnPropertyNames,N$r=Object.prototype.hasOwnProperty,w$r=(e,t)=>{for(var r in t)v7t(e,r,{get:t[r],enumerable:!0})},P$r=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Q$r(t))!N$r.call(e,i)&&i!==r&&v7t(e,i,{get:()=>t[i],enumerable:!(n=$$r(t,i))||n.enumerable});return e},B$r=e=>P$r(v7t({},"__esModule",{value:!0}),e),BUt={};w$r(BUt,{createTokenAuth:()=>z$r});IUt.exports=B$r(BUt);var I$r=/^v1\./,M$r=/^ghs_/,W$r=/^ghu_/;async function U$r(e){let t=e.split(/\./).length===3,r=I$r.test(e)||M$r.test(e),n=W$r.test(e);return{type:"token",token:e,tokenType:t?"app":r?"installation":n?"user-to-server":"oauth"}}function F$r(e){return e.split(/\./).length===3?`bearer ${e}`:`token ${e}`}async function L$r(e,t,r,n){let i=t.endpoint.merge(r,n);return i.headers.authorization=F$r(e),t(i)}var z$r=function(t){if(!t)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof t!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return t=t.replace(/^(token|bearer) +/i,""),Object.assign(U$r.bind(null,t),{hook:L$r.bind(null,t)})}});var YUt=Le((Lsi,HUt)=>{"use strict";var D7t=Object.defineProperty,H$r=Object.getOwnPropertyDescriptor,Y$r=Object.getOwnPropertyNames,K$r=Object.prototype.hasOwnProperty,G$r=(e,t)=>{for(var r in t)D7t(e,r,{get:t[r],enumerable:!0})},V$r=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Y$r(t))!K$r.call(e,i)&&i!==r&&D7t(e,i,{get:()=>t[i],enumerable:!(n=H$r(t,i))||n.enumerable});return e},j$r=e=>V$r(D7t({},"__esModule",{value:!0}),e),LUt={};G$r(LUt,{Octokit:()=>nQr});HUt.exports=j$r(LUt);var J$r=Ype(),X$r=sUt(),WUt=jpe(),Z$r=PUt(),eQr=MUt(),zUt="5.2.0",UUt=()=>{},tQr=console.warn.bind(console),rQr=console.error.bind(console),FUt=`octokit-core.js/${zUt} ${(0,J$r.getUserAgent)()}`,nQr=class{static{this.VERSION=zUt}static defaults(e){return class extends this{constructor(...r){let n=r[0]||{};if(typeof e=="function"){super(e(n));return}super(Object.assign({},e,n,n.userAgent&&e.userAgent?{userAgent:`${n.userAgent} ${e.userAgent}`}:null))}}}static{this.plugins=[]}static plugin(...e){let t=this.plugins;return class extends this{static{this.plugins=t.concat(e.filter(n=>!t.includes(n)))}}}constructor(e={}){let t=new X$r.Collection,r={baseUrl:WUt.request.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:t.bind(null,"request")}),mediaType:{previews:[],format:""}};if(r.headers["user-agent"]=e.userAgent?`${e.userAgent} ${FUt}`:FUt,e.baseUrl&&(r.baseUrl=e.baseUrl),e.previews&&(r.mediaType.previews=e.previews),e.timeZone&&(r.headers["time-zone"]=e.timeZone),this.request=WUt.request.defaults(r),this.graphql=(0,Z$r.withCustomRequest)(this.request).defaults(r),this.log=Object.assign({debug:UUt,info:UUt,warn:tQr,error:rQr},e.log),this.hook=t,e.authStrategy){let{authStrategy:i,...s}=e,R=i(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:s},e.auth));t.wrap("request",R.hook),this.auth=R}else if(!e.auth)this.auth=async()=>({type:"unauthenticated"});else{let i=(0,eQr.createTokenAuth)(e.auth);t.wrap("request",i.hook),this.auth=i}let n=this.constructor;for(let i=0;i{"use strict";var S7t=Object.defineProperty,iQr=Object.getOwnPropertyDescriptor,aQr=Object.getOwnPropertyNames,sQr=Object.prototype.hasOwnProperty,oQr=(e,t)=>{for(var r in t)S7t(e,r,{get:t[r],enumerable:!0})},RQr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of aQr(t))!sQr.call(e,i)&&i!==r&&S7t(e,i,{get:()=>t[i],enumerable:!(n=iQr(t,i))||n.enumerable});return e},uQr=e=>RQr(S7t({},"__esModule",{value:!0}),e),KUt={};oQr(KUt,{requestLog:()=>GUt});VUt.exports=uQr(KUt);var lQr="4.0.1";function GUt(e){e.hook.wrap("request",(t,r)=>{e.log.debug("request",r);let n=Date.now(),i=e.request.endpoint.parse(r),s=i.url.replace(r.baseUrl,"");return t(r).then(R=>(e.log.info(`${i.method} ${s} - ${R.status} in ${Date.now()-n}ms`),R)).catch(R=>{throw e.log.info(`${i.method} ${s} - ${R.status} in ${Date.now()-n}ms`),R})})}GUt.VERSION=lQr});var nFt=Le((Gsi,rFt)=>{"use strict";var $7t=Object.defineProperty,cQr=Object.getOwnPropertyDescriptor,TQr=Object.getOwnPropertyNames,pQr=Object.prototype.hasOwnProperty,_Qr=(e,t)=>{for(var r in t)$7t(e,r,{get:t[r],enumerable:!0})},hQr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of TQr(t))!pQr.call(e,i)&&i!==r&&$7t(e,i,{get:()=>t[i],enumerable:!(n=cQr(t,i))||n.enumerable});return e},fQr=e=>hQr($7t({},"__esModule",{value:!0}),e),JUt={};_Qr(JUt,{composePaginateRest:()=>mQr,isPaginatingEndpoint:()=>kQr,paginateRest:()=>tFt,paginatingEndpoints:()=>eFt});rFt.exports=fQr(JUt);var dQr="11.3.1";function xQr(e){if(!e.data)return{...e,data:[]};if(!("total_count"in e.data&&!("url"in e.data)))return e;let r=e.data.incomplete_results,n=e.data.repository_selection,i=e.data.total_count;delete e.data.incomplete_results,delete e.data.repository_selection,delete e.data.total_count;let s=Object.keys(e.data)[0],R=e.data[s];return e.data=R,typeof r<"u"&&(e.data.incomplete_results=r),typeof n<"u"&&(e.data.repository_selection=n),e.data.total_count=i,e}function Q7t(e,t,r){let n=typeof t=="function"?t.endpoint(r):e.request.endpoint(t,r),i=typeof t=="function"?t:e.request,s=n.method,R=n.headers,l=n.url;return{[Symbol.asyncIterator]:()=>({async next(){if(!l)return{done:!0};try{let c=await i({method:s,url:l,headers:R}),h=xQr(c);return l=((h.headers.link||"").match(/<([^>]+)>;\s*rel="next"/)||[])[1],{value:h}}catch(c){if(c.status!==409)throw c;return l="",{value:{status:200,headers:{},data:[]}}}}})}}function XUt(e,t,r,n){return typeof r=="function"&&(n=r,r=void 0),ZUt(e,[],Q7t(e,t,r)[Symbol.asyncIterator](),n)}function ZUt(e,t,r,n){return r.next().then(i=>{if(i.done)return t;let s=!1;function R(){s=!0}return t=t.concat(n?n(i.value,R):i.value.data),s?t:ZUt(e,t,r,n)})}var mQr=Object.assign(XUt,{iterator:Q7t}),eFt=["GET /advisories","GET /app/hook/deliveries","GET /app/installation-requests","GET /app/installations","GET /assignments/{assignment_id}/accepted_assignments","GET /classrooms","GET /classrooms/{classroom_id}/assignments","GET /enterprises/{enterprise}/copilot/usage","GET /enterprises/{enterprise}/dependabot/alerts","GET /enterprises/{enterprise}/secret-scanning/alerts","GET /events","GET /gists","GET /gists/public","GET /gists/starred","GET /gists/{gist_id}/comments","GET /gists/{gist_id}/commits","GET /gists/{gist_id}/forks","GET /installation/repositories","GET /issues","GET /licenses","GET /marketplace_listing/plans","GET /marketplace_listing/plans/{plan_id}/accounts","GET /marketplace_listing/stubbed/plans","GET /marketplace_listing/stubbed/plans/{plan_id}/accounts","GET /networks/{owner}/{repo}/events","GET /notifications","GET /organizations","GET /orgs/{org}/actions/cache/usage-by-repository","GET /orgs/{org}/actions/permissions/repositories","GET /orgs/{org}/actions/runners","GET /orgs/{org}/actions/secrets","GET /orgs/{org}/actions/secrets/{secret_name}/repositories","GET /orgs/{org}/actions/variables","GET /orgs/{org}/actions/variables/{name}/repositories","GET /orgs/{org}/blocks","GET /orgs/{org}/code-scanning/alerts","GET /orgs/{org}/codespaces","GET /orgs/{org}/codespaces/secrets","GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories","GET /orgs/{org}/copilot/billing/seats","GET /orgs/{org}/copilot/usage","GET /orgs/{org}/dependabot/alerts","GET /orgs/{org}/dependabot/secrets","GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories","GET /orgs/{org}/events","GET /orgs/{org}/failed_invitations","GET /orgs/{org}/hooks","GET /orgs/{org}/hooks/{hook_id}/deliveries","GET /orgs/{org}/installations","GET /orgs/{org}/invitations","GET /orgs/{org}/invitations/{invitation_id}/teams","GET /orgs/{org}/issues","GET /orgs/{org}/members","GET /orgs/{org}/members/{username}/codespaces","GET /orgs/{org}/migrations","GET /orgs/{org}/migrations/{migration_id}/repositories","GET /orgs/{org}/organization-roles/{role_id}/teams","GET /orgs/{org}/organization-roles/{role_id}/users","GET /orgs/{org}/outside_collaborators","GET /orgs/{org}/packages","GET /orgs/{org}/packages/{package_type}/{package_name}/versions","GET /orgs/{org}/personal-access-token-requests","GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories","GET /orgs/{org}/personal-access-tokens","GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories","GET /orgs/{org}/projects","GET /orgs/{org}/properties/values","GET /orgs/{org}/public_members","GET /orgs/{org}/repos","GET /orgs/{org}/rulesets","GET /orgs/{org}/rulesets/rule-suites","GET /orgs/{org}/secret-scanning/alerts","GET /orgs/{org}/security-advisories","GET /orgs/{org}/team/{team_slug}/copilot/usage","GET /orgs/{org}/teams","GET /orgs/{org}/teams/{team_slug}/discussions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions","GET /orgs/{org}/teams/{team_slug}/invitations","GET /orgs/{org}/teams/{team_slug}/members","GET /orgs/{org}/teams/{team_slug}/projects","GET /orgs/{org}/teams/{team_slug}/repos","GET /orgs/{org}/teams/{team_slug}/teams","GET /projects/columns/{column_id}/cards","GET /projects/{project_id}/collaborators","GET /projects/{project_id}/columns","GET /repos/{owner}/{repo}/actions/artifacts","GET /repos/{owner}/{repo}/actions/caches","GET /repos/{owner}/{repo}/actions/organization-secrets","GET /repos/{owner}/{repo}/actions/organization-variables","GET /repos/{owner}/{repo}/actions/runners","GET /repos/{owner}/{repo}/actions/runs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts","GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs","GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs","GET /repos/{owner}/{repo}/actions/secrets","GET /repos/{owner}/{repo}/actions/variables","GET /repos/{owner}/{repo}/actions/workflows","GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs","GET /repos/{owner}/{repo}/activity","GET /repos/{owner}/{repo}/assignees","GET /repos/{owner}/{repo}/branches","GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations","GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs","GET /repos/{owner}/{repo}/code-scanning/alerts","GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances","GET /repos/{owner}/{repo}/code-scanning/analyses","GET /repos/{owner}/{repo}/codespaces","GET /repos/{owner}/{repo}/codespaces/devcontainers","GET /repos/{owner}/{repo}/codespaces/secrets","GET /repos/{owner}/{repo}/collaborators","GET /repos/{owner}/{repo}/comments","GET /repos/{owner}/{repo}/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/commits","GET /repos/{owner}/{repo}/commits/{commit_sha}/comments","GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls","GET /repos/{owner}/{repo}/commits/{ref}/check-runs","GET /repos/{owner}/{repo}/commits/{ref}/check-suites","GET /repos/{owner}/{repo}/commits/{ref}/status","GET /repos/{owner}/{repo}/commits/{ref}/statuses","GET /repos/{owner}/{repo}/contributors","GET /repos/{owner}/{repo}/dependabot/alerts","GET /repos/{owner}/{repo}/dependabot/secrets","GET /repos/{owner}/{repo}/deployments","GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses","GET /repos/{owner}/{repo}/environments","GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies","GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps","GET /repos/{owner}/{repo}/environments/{environment_name}/secrets","GET /repos/{owner}/{repo}/environments/{environment_name}/variables","GET /repos/{owner}/{repo}/events","GET /repos/{owner}/{repo}/forks","GET /repos/{owner}/{repo}/hooks","GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries","GET /repos/{owner}/{repo}/invitations","GET /repos/{owner}/{repo}/issues","GET /repos/{owner}/{repo}/issues/comments","GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/issues/events","GET /repos/{owner}/{repo}/issues/{issue_number}/comments","GET /repos/{owner}/{repo}/issues/{issue_number}/events","GET /repos/{owner}/{repo}/issues/{issue_number}/labels","GET /repos/{owner}/{repo}/issues/{issue_number}/reactions","GET /repos/{owner}/{repo}/issues/{issue_number}/timeline","GET /repos/{owner}/{repo}/keys","GET /repos/{owner}/{repo}/labels","GET /repos/{owner}/{repo}/milestones","GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels","GET /repos/{owner}/{repo}/notifications","GET /repos/{owner}/{repo}/pages/builds","GET /repos/{owner}/{repo}/projects","GET /repos/{owner}/{repo}/pulls","GET /repos/{owner}/{repo}/pulls/comments","GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions","GET /repos/{owner}/{repo}/pulls/{pull_number}/comments","GET /repos/{owner}/{repo}/pulls/{pull_number}/commits","GET /repos/{owner}/{repo}/pulls/{pull_number}/files","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews","GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments","GET /repos/{owner}/{repo}/releases","GET /repos/{owner}/{repo}/releases/{release_id}/assets","GET /repos/{owner}/{repo}/releases/{release_id}/reactions","GET /repos/{owner}/{repo}/rules/branches/{branch}","GET /repos/{owner}/{repo}/rulesets","GET /repos/{owner}/{repo}/rulesets/rule-suites","GET /repos/{owner}/{repo}/secret-scanning/alerts","GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations","GET /repos/{owner}/{repo}/security-advisories","GET /repos/{owner}/{repo}/stargazers","GET /repos/{owner}/{repo}/subscribers","GET /repos/{owner}/{repo}/tags","GET /repos/{owner}/{repo}/teams","GET /repos/{owner}/{repo}/topics","GET /repositories","GET /search/code","GET /search/commits","GET /search/issues","GET /search/labels","GET /search/repositories","GET /search/topics","GET /search/users","GET /teams/{team_id}/discussions","GET /teams/{team_id}/discussions/{discussion_number}/comments","GET /teams/{team_id}/discussions/{discussion_number}/comments/{comment_number}/reactions","GET /teams/{team_id}/discussions/{discussion_number}/reactions","GET /teams/{team_id}/invitations","GET /teams/{team_id}/members","GET /teams/{team_id}/projects","GET /teams/{team_id}/repos","GET /teams/{team_id}/teams","GET /user/blocks","GET /user/codespaces","GET /user/codespaces/secrets","GET /user/emails","GET /user/followers","GET /user/following","GET /user/gpg_keys","GET /user/installations","GET /user/installations/{installation_id}/repositories","GET /user/issues","GET /user/keys","GET /user/marketplace_purchases","GET /user/marketplace_purchases/stubbed","GET /user/memberships/orgs","GET /user/migrations","GET /user/migrations/{migration_id}/repositories","GET /user/orgs","GET /user/packages","GET /user/packages/{package_type}/{package_name}/versions","GET /user/public_emails","GET /user/repos","GET /user/repository_invitations","GET /user/social_accounts","GET /user/ssh_signing_keys","GET /user/starred","GET /user/subscriptions","GET /user/teams","GET /users","GET /users/{username}/events","GET /users/{username}/events/orgs/{org}","GET /users/{username}/events/public","GET /users/{username}/followers","GET /users/{username}/following","GET /users/{username}/gists","GET /users/{username}/gpg_keys","GET /users/{username}/keys","GET /users/{username}/orgs","GET /users/{username}/packages","GET /users/{username}/projects","GET /users/{username}/received_events","GET /users/{username}/received_events/public","GET /users/{username}/repos","GET /users/{username}/social_accounts","GET /users/{username}/ssh_signing_keys","GET /users/{username}/starred","GET /users/{username}/subscriptions"];function kQr(e){return typeof e=="string"?eFt.includes(e):!1}function tFt(e){return{paginate:Object.assign(XUt.bind(null,e),{iterator:Q7t.bind(null,e)})}}tFt.VERSION=dQr});var lFt=Le((Vsi,uFt)=>{"use strict";var N7t=Object.defineProperty,yQr=Object.getOwnPropertyDescriptor,qQr=Object.getOwnPropertyNames,CQr=Object.prototype.hasOwnProperty,AQr=(e,t)=>{for(var r in t)N7t(e,r,{get:t[r],enumerable:!0})},gQr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of qQr(t))!CQr.call(e,i)&&i!==r&&N7t(e,i,{get:()=>t[i],enumerable:!(n=yQr(t,i))||n.enumerable});return e},bQr=e=>gQr(N7t({},"__esModule",{value:!0}),e),iFt={};AQr(iFt,{legacyRestEndpointMethods:()=>RFt,restEndpointMethods:()=>oFt});uFt.exports=bQr(iFt);var aFt="13.2.2",EQr={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"],createOrUpdateEnvironmentSecret:["PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createOrgVariable:["POST /orgs/{org}/actions/variables"],createRegistrationTokenForOrg:["POST /orgs/{org}/actions/runners/registration-token"],createRegistrationTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/registration-token"],createRemoveTokenForOrg:["POST /orgs/{org}/actions/runners/remove-token"],createRemoveTokenForRepo:["POST /repos/{owner}/{repo}/actions/runners/remove-token"],createRepoVariable:["POST /repos/{owner}/{repo}/actions/variables"],createWorkflowDispatch:["POST /repos/{owner}/{repo}/actions/workflows/{workflow_id}/dispatches"],deleteActionsCacheById:["DELETE /repos/{owner}/{repo}/actions/caches/{cache_id}"],deleteActionsCacheByKey:["DELETE /repos/{owner}/{repo}/actions/caches{?key,ref}"],deleteArtifact:["DELETE /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],deleteEnvironmentSecret:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],deleteEnvironmentVariable:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],deleteOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}"],deleteOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}"],deleteRepoVariable:["DELETE /repos/{owner}/{repo}/actions/variables/{name}"],deleteSelfHostedRunnerFromOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}"],deleteSelfHostedRunnerFromRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}"],deleteWorkflowRun:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}"],deleteWorkflowRunLogs:["DELETE /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],disableSelectedRepositoryGithubActionsOrganization:["DELETE /orgs/{org}/actions/permissions/repositories/{repository_id}"],disableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/disable"],downloadArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}/{archive_format}"],downloadJobLogsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}/logs"],downloadWorkflowRunAttemptLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/logs"],downloadWorkflowRunLogs:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/logs"],enableSelectedRepositoryGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories/{repository_id}"],enableWorkflow:["PUT /repos/{owner}/{repo}/actions/workflows/{workflow_id}/enable"],forceCancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/force-cancel"],generateRunnerJitconfigForOrg:["POST /orgs/{org}/actions/runners/generate-jitconfig"],generateRunnerJitconfigForRepo:["POST /repos/{owner}/{repo}/actions/runners/generate-jitconfig"],getActionsCacheList:["GET /repos/{owner}/{repo}/actions/caches"],getActionsCacheUsage:["GET /repos/{owner}/{repo}/actions/cache/usage"],getActionsCacheUsageByRepoForOrg:["GET /orgs/{org}/actions/cache/usage-by-repository"],getActionsCacheUsageForOrg:["GET /orgs/{org}/actions/cache/usage"],getAllowedActionsOrganization:["GET /orgs/{org}/actions/permissions/selected-actions"],getAllowedActionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/selected-actions"],getArtifact:["GET /repos/{owner}/{repo}/actions/artifacts/{artifact_id}"],getCustomOidcSubClaimForRepo:["GET /repos/{owner}/{repo}/actions/oidc/customization/sub"],getEnvironmentPublicKey:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/public-key"],getEnvironmentSecret:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],getEnvironmentVariable:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],getGithubActionsDefaultWorkflowPermissionsOrganization:["GET /orgs/{org}/actions/permissions/workflow"],getGithubActionsDefaultWorkflowPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions/workflow"],getGithubActionsPermissionsOrganization:["GET /orgs/{org}/actions/permissions"],getGithubActionsPermissionsRepository:["GET /repos/{owner}/{repo}/actions/permissions"],getJobForWorkflowRun:["GET /repos/{owner}/{repo}/actions/jobs/{job_id}"],getOrgPublicKey:["GET /orgs/{org}/actions/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}"],getOrgVariable:["GET /orgs/{org}/actions/variables/{name}"],getPendingDeploymentsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],getRepoPermissions:["GET /repos/{owner}/{repo}/actions/permissions",{},{renamed:["actions","getGithubActionsPermissionsRepository"]}],getRepoPublicKey:["GET /repos/{owner}/{repo}/actions/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/actions/secrets/{secret_name}"],getRepoVariable:["GET /repos/{owner}/{repo}/actions/variables/{name}"],getReviewsForRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/approvals"],getSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}"],getSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}"],getWorkflow:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}"],getWorkflowAccessToRepository:["GET /repos/{owner}/{repo}/actions/permissions/access"],getWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}"],getWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}"],getWorkflowRunUsage:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/timing"],getWorkflowUsage:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/timing"],listArtifactsForRepo:["GET /repos/{owner}/{repo}/actions/artifacts"],listEnvironmentSecrets:["GET /repos/{owner}/{repo}/environments/{environment_name}/secrets"],listEnvironmentVariables:["GET /repos/{owner}/{repo}/environments/{environment_name}/variables"],listJobsForWorkflowRun:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/jobs"],listJobsForWorkflowRunAttempt:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/attempts/{attempt_number}/jobs"],listLabelsForSelfHostedRunnerForOrg:["GET /orgs/{org}/actions/runners/{runner_id}/labels"],listLabelsForSelfHostedRunnerForRepo:["GET /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],listOrgSecrets:["GET /orgs/{org}/actions/secrets"],listOrgVariables:["GET /orgs/{org}/actions/variables"],listRepoOrganizationSecrets:["GET /repos/{owner}/{repo}/actions/organization-secrets"],listRepoOrganizationVariables:["GET /repos/{owner}/{repo}/actions/organization-variables"],listRepoSecrets:["GET /repos/{owner}/{repo}/actions/secrets"],listRepoVariables:["GET /repos/{owner}/{repo}/actions/variables"],listRepoWorkflows:["GET /repos/{owner}/{repo}/actions/workflows"],listRunnerApplicationsForOrg:["GET /orgs/{org}/actions/runners/downloads"],listRunnerApplicationsForRepo:["GET /repos/{owner}/{repo}/actions/runners/downloads"],listSelectedReposForOrgSecret:["GET /orgs/{org}/actions/secrets/{secret_name}/repositories"],listSelectedReposForOrgVariable:["GET /orgs/{org}/actions/variables/{name}/repositories"],listSelectedRepositoriesEnabledGithubActionsOrganization:["GET /orgs/{org}/actions/permissions/repositories"],listSelfHostedRunnersForOrg:["GET /orgs/{org}/actions/runners"],listSelfHostedRunnersForRepo:["GET /repos/{owner}/{repo}/actions/runners"],listWorkflowRunArtifacts:["GET /repos/{owner}/{repo}/actions/runs/{run_id}/artifacts"],listWorkflowRuns:["GET /repos/{owner}/{repo}/actions/workflows/{workflow_id}/runs"],listWorkflowRunsForRepo:["GET /repos/{owner}/{repo}/actions/runs"],reRunJobForWorkflowRun:["POST /repos/{owner}/{repo}/actions/jobs/{job_id}/rerun"],reRunWorkflow:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun"],reRunWorkflowFailedJobs:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/rerun-failed-jobs"],removeAllCustomLabelsFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels"],removeAllCustomLabelsFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],removeCustomLabelFromSelfHostedRunnerForOrg:["DELETE /orgs/{org}/actions/runners/{runner_id}/labels/{name}"],removeCustomLabelFromSelfHostedRunnerForRepo:["DELETE /repos/{owner}/{repo}/actions/runners/{runner_id}/labels/{name}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgVariable:["DELETE /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],reviewCustomGatesForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/deployment_protection_rule"],reviewPendingDeploymentsForRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/pending_deployments"],setAllowedActionsOrganization:["PUT /orgs/{org}/actions/permissions/selected-actions"],setAllowedActionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/selected-actions"],setCustomLabelsForSelfHostedRunnerForOrg:["PUT /orgs/{org}/actions/runners/{runner_id}/labels"],setCustomLabelsForSelfHostedRunnerForRepo:["PUT /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],setCustomOidcSubClaimForRepo:["PUT /repos/{owner}/{repo}/actions/oidc/customization/sub"],setGithubActionsDefaultWorkflowPermissionsOrganization:["PUT /orgs/{org}/actions/permissions/workflow"],setGithubActionsDefaultWorkflowPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions/workflow"],setGithubActionsPermissionsOrganization:["PUT /orgs/{org}/actions/permissions"],setGithubActionsPermissionsRepository:["PUT /repos/{owner}/{repo}/actions/permissions"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories"],setSelectedReposForOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories"],setSelectedRepositoriesEnabledGithubActionsOrganization:["PUT /orgs/{org}/actions/permissions/repositories"],setWorkflowAccessToRepository:["PUT /repos/{owner}/{repo}/actions/permissions/access"],updateEnvironmentVariable:["PATCH /repos/{owner}/{repo}/environments/{environment_name}/variables/{name}"],updateOrgVariable:["PATCH /orgs/{org}/actions/variables/{name}"],updateRepoVariable:["PATCH /repos/{owner}/{repo}/actions/variables/{name}"]},activity:{checkRepoIsStarredByAuthenticatedUser:["GET /user/starred/{owner}/{repo}"],deleteRepoSubscription:["DELETE /repos/{owner}/{repo}/subscription"],deleteThreadSubscription:["DELETE /notifications/threads/{thread_id}/subscription"],getFeeds:["GET /feeds"],getRepoSubscription:["GET /repos/{owner}/{repo}/subscription"],getThread:["GET /notifications/threads/{thread_id}"],getThreadSubscriptionForAuthenticatedUser:["GET /notifications/threads/{thread_id}/subscription"],listEventsForAuthenticatedUser:["GET /users/{username}/events"],listNotificationsForAuthenticatedUser:["GET /notifications"],listOrgEventsForAuthenticatedUser:["GET /users/{username}/events/orgs/{org}"],listPublicEvents:["GET /events"],listPublicEventsForRepoNetwork:["GET /networks/{owner}/{repo}/events"],listPublicEventsForUser:["GET /users/{username}/events/public"],listPublicOrgEvents:["GET /orgs/{org}/events"],listReceivedEventsForUser:["GET /users/{username}/received_events"],listReceivedPublicEventsForUser:["GET /users/{username}/received_events/public"],listRepoEvents:["GET /repos/{owner}/{repo}/events"],listRepoNotificationsForAuthenticatedUser:["GET /repos/{owner}/{repo}/notifications"],listReposStarredByAuthenticatedUser:["GET /user/starred"],listReposStarredByUser:["GET /users/{username}/starred"],listReposWatchedByUser:["GET /users/{username}/subscriptions"],listStargazersForRepo:["GET /repos/{owner}/{repo}/stargazers"],listWatchedReposForAuthenticatedUser:["GET /user/subscriptions"],listWatchersForRepo:["GET /repos/{owner}/{repo}/subscribers"],markNotificationsAsRead:["PUT /notifications"],markRepoNotificationsAsRead:["PUT /repos/{owner}/{repo}/notifications"],markThreadAsDone:["DELETE /notifications/threads/{thread_id}"],markThreadAsRead:["PATCH /notifications/threads/{thread_id}"],setRepoSubscription:["PUT /repos/{owner}/{repo}/subscription"],setThreadSubscription:["PUT /notifications/threads/{thread_id}/subscription"],starRepoForAuthenticatedUser:["PUT /user/starred/{owner}/{repo}"],unstarRepoForAuthenticatedUser:["DELETE /user/starred/{owner}/{repo}"]},apps:{addRepoToInstallation:["PUT /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","addRepoToInstallationForAuthenticatedUser"]}],addRepoToInstallationForAuthenticatedUser:["PUT /user/installations/{installation_id}/repositories/{repository_id}"],checkToken:["POST /applications/{client_id}/token"],createFromManifest:["POST /app-manifests/{code}/conversions"],createInstallationAccessToken:["POST /app/installations/{installation_id}/access_tokens"],deleteAuthorization:["DELETE /applications/{client_id}/grant"],deleteInstallation:["DELETE /app/installations/{installation_id}"],deleteToken:["DELETE /applications/{client_id}/token"],getAuthenticated:["GET /app"],getBySlug:["GET /apps/{app_slug}"],getInstallation:["GET /app/installations/{installation_id}"],getOrgInstallation:["GET /orgs/{org}/installation"],getRepoInstallation:["GET /repos/{owner}/{repo}/installation"],getSubscriptionPlanForAccount:["GET /marketplace_listing/accounts/{account_id}"],getSubscriptionPlanForAccountStubbed:["GET /marketplace_listing/stubbed/accounts/{account_id}"],getUserInstallation:["GET /users/{username}/installation"],getWebhookConfigForApp:["GET /app/hook/config"],getWebhookDelivery:["GET /app/hook/deliveries/{delivery_id}"],listAccountsForPlan:["GET /marketplace_listing/plans/{plan_id}/accounts"],listAccountsForPlanStubbed:["GET /marketplace_listing/stubbed/plans/{plan_id}/accounts"],listInstallationReposForAuthenticatedUser:["GET /user/installations/{installation_id}/repositories"],listInstallationRequestsForAuthenticatedApp:["GET /app/installation-requests"],listInstallations:["GET /app/installations"],listInstallationsForAuthenticatedUser:["GET /user/installations"],listPlans:["GET /marketplace_listing/plans"],listPlansStubbed:["GET /marketplace_listing/stubbed/plans"],listReposAccessibleToInstallation:["GET /installation/repositories"],listSubscriptionsForAuthenticatedUser:["GET /user/marketplace_purchases"],listSubscriptionsForAuthenticatedUserStubbed:["GET /user/marketplace_purchases/stubbed"],listWebhookDeliveries:["GET /app/hook/deliveries"],redeliverWebhookDelivery:["POST /app/hook/deliveries/{delivery_id}/attempts"],removeRepoFromInstallation:["DELETE /user/installations/{installation_id}/repositories/{repository_id}",{},{renamed:["apps","removeRepoFromInstallationForAuthenticatedUser"]}],removeRepoFromInstallationForAuthenticatedUser:["DELETE /user/installations/{installation_id}/repositories/{repository_id}"],resetToken:["PATCH /applications/{client_id}/token"],revokeInstallationAccessToken:["DELETE /installation/token"],scopeToken:["POST /applications/{client_id}/token/scoped"],suspendInstallation:["PUT /app/installations/{installation_id}/suspended"],unsuspendInstallation:["DELETE /app/installations/{installation_id}/suspended"],updateWebhookConfigForApp:["PATCH /app/hook/config"]},billing:{getGithubActionsBillingOrg:["GET /orgs/{org}/settings/billing/actions"],getGithubActionsBillingUser:["GET /users/{username}/settings/billing/actions"],getGithubPackagesBillingOrg:["GET /orgs/{org}/settings/billing/packages"],getGithubPackagesBillingUser:["GET /users/{username}/settings/billing/packages"],getSharedStorageBillingOrg:["GET /orgs/{org}/settings/billing/shared-storage"],getSharedStorageBillingUser:["GET /users/{username}/settings/billing/shared-storage"]},checks:{create:["POST /repos/{owner}/{repo}/check-runs"],createSuite:["POST /repos/{owner}/{repo}/check-suites"],get:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}"],getSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}"],listAnnotations:["GET /repos/{owner}/{repo}/check-runs/{check_run_id}/annotations"],listForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-runs"],listForSuite:["GET /repos/{owner}/{repo}/check-suites/{check_suite_id}/check-runs"],listSuitesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/check-suites"],rerequestRun:["POST /repos/{owner}/{repo}/check-runs/{check_run_id}/rerequest"],rerequestSuite:["POST /repos/{owner}/{repo}/check-suites/{check_suite_id}/rerequest"],setSuitesPreferences:["PATCH /repos/{owner}/{repo}/check-suites/preferences"],update:["PATCH /repos/{owner}/{repo}/check-runs/{check_run_id}"]},codeScanning:{deleteAnalysis:["DELETE /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}{?confirm_delete}"],getAlert:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}",{},{renamedParameters:{alert_id:"alert_number"}}],getAnalysis:["GET /repos/{owner}/{repo}/code-scanning/analyses/{analysis_id}"],getCodeqlDatabase:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases/{language}"],getDefaultSetup:["GET /repos/{owner}/{repo}/code-scanning/default-setup"],getSarif:["GET /repos/{owner}/{repo}/code-scanning/sarifs/{sarif_id}"],listAlertInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances"],listAlertsForOrg:["GET /orgs/{org}/code-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/code-scanning/alerts"],listAlertsInstances:["GET /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}/instances",{},{renamed:["codeScanning","listAlertInstances"]}],listCodeqlDatabases:["GET /repos/{owner}/{repo}/code-scanning/codeql/databases"],listRecentAnalyses:["GET /repos/{owner}/{repo}/code-scanning/analyses"],updateAlert:["PATCH /repos/{owner}/{repo}/code-scanning/alerts/{alert_number}"],updateDefaultSetup:["PATCH /repos/{owner}/{repo}/code-scanning/default-setup"],uploadSarif:["POST /repos/{owner}/{repo}/code-scanning/sarifs"]},codesOfConduct:{getAllCodesOfConduct:["GET /codes_of_conduct"],getConductCode:["GET /codes_of_conduct/{key}"]},codespaces:{addRepositoryForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],checkPermissionsForDevcontainer:["GET /repos/{owner}/{repo}/codespaces/permissions_check"],codespaceMachinesForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/machines"],createForAuthenticatedUser:["POST /user/codespaces"],createOrUpdateOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],createOrUpdateSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}"],createWithPrForAuthenticatedUser:["POST /repos/{owner}/{repo}/pulls/{pull_number}/codespaces"],createWithRepoForAuthenticatedUser:["POST /repos/{owner}/{repo}/codespaces"],deleteForAuthenticatedUser:["DELETE /user/codespaces/{codespace_name}"],deleteFromOrganization:["DELETE /orgs/{org}/members/{username}/codespaces/{codespace_name}"],deleteOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],deleteSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}"],exportForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/exports"],getCodespacesForUserInOrg:["GET /orgs/{org}/members/{username}/codespaces"],getExportDetailsForAuthenticatedUser:["GET /user/codespaces/{codespace_name}/exports/{export_id}"],getForAuthenticatedUser:["GET /user/codespaces/{codespace_name}"],getOrgPublicKey:["GET /orgs/{org}/codespaces/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}"],getPublicKeyForAuthenticatedUser:["GET /user/codespaces/secrets/public-key"],getRepoPublicKey:["GET /repos/{owner}/{repo}/codespaces/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/codespaces/secrets/{secret_name}"],getSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}"],listDevcontainersInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/devcontainers"],listForAuthenticatedUser:["GET /user/codespaces"],listInOrganization:["GET /orgs/{org}/codespaces",{},{renamedParameters:{org_id:"org"}}],listInRepositoryForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces"],listOrgSecrets:["GET /orgs/{org}/codespaces/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/codespaces/secrets"],listRepositoriesForSecretForAuthenticatedUser:["GET /user/codespaces/secrets/{secret_name}/repositories"],listSecretsForAuthenticatedUser:["GET /user/codespaces/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],preFlightWithRepoForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/new"],publishForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/publish"],removeRepositoryForSecretForAuthenticatedUser:["DELETE /user/codespaces/secrets/{secret_name}/repositories/{repository_id}"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/codespaces/secrets/{secret_name}/repositories/{repository_id}"],repoMachinesForAuthenticatedUser:["GET /repos/{owner}/{repo}/codespaces/machines"],setRepositoriesForSecretForAuthenticatedUser:["PUT /user/codespaces/secrets/{secret_name}/repositories"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/codespaces/secrets/{secret_name}/repositories"],startForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/start"],stopForAuthenticatedUser:["POST /user/codespaces/{codespace_name}/stop"],stopInOrganization:["POST /orgs/{org}/members/{username}/codespaces/{codespace_name}/stop"],updateForAuthenticatedUser:["PATCH /user/codespaces/{codespace_name}"]},copilot:{addCopilotSeatsForTeams:["POST /orgs/{org}/copilot/billing/selected_teams"],addCopilotSeatsForUsers:["POST /orgs/{org}/copilot/billing/selected_users"],cancelCopilotSeatAssignmentForTeams:["DELETE /orgs/{org}/copilot/billing/selected_teams"],cancelCopilotSeatAssignmentForUsers:["DELETE /orgs/{org}/copilot/billing/selected_users"],getCopilotOrganizationDetails:["GET /orgs/{org}/copilot/billing"],getCopilotSeatDetailsForUser:["GET /orgs/{org}/members/{username}/copilot"],listCopilotSeats:["GET /orgs/{org}/copilot/billing/seats"],usageMetricsForEnterprise:["GET /enterprises/{enterprise}/copilot/usage"],usageMetricsForOrg:["GET /orgs/{org}/copilot/usage"],usageMetricsForTeam:["GET /orgs/{org}/team/{team_slug}/copilot/usage"]},dependabot:{addSelectedRepoToOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],deleteOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}"],deleteRepoSecret:["DELETE /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],getAlert:["GET /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"],getOrgPublicKey:["GET /orgs/{org}/dependabot/secrets/public-key"],getOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}"],getRepoPublicKey:["GET /repos/{owner}/{repo}/dependabot/secrets/public-key"],getRepoSecret:["GET /repos/{owner}/{repo}/dependabot/secrets/{secret_name}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/dependabot/alerts"],listAlertsForOrg:["GET /orgs/{org}/dependabot/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/dependabot/alerts"],listOrgSecrets:["GET /orgs/{org}/dependabot/secrets"],listRepoSecrets:["GET /repos/{owner}/{repo}/dependabot/secrets"],listSelectedReposForOrgSecret:["GET /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],removeSelectedRepoFromOrgSecret:["DELETE /orgs/{org}/dependabot/secrets/{secret_name}/repositories/{repository_id}"],setSelectedReposForOrgSecret:["PUT /orgs/{org}/dependabot/secrets/{secret_name}/repositories"],updateAlert:["PATCH /repos/{owner}/{repo}/dependabot/alerts/{alert_number}"]},dependencyGraph:{createRepositorySnapshot:["POST /repos/{owner}/{repo}/dependency-graph/snapshots"],diffRange:["GET /repos/{owner}/{repo}/dependency-graph/compare/{basehead}"],exportSbom:["GET /repos/{owner}/{repo}/dependency-graph/sbom"]},emojis:{get:["GET /emojis"]},gists:{checkIsStarred:["GET /gists/{gist_id}/star"],create:["POST /gists"],createComment:["POST /gists/{gist_id}/comments"],delete:["DELETE /gists/{gist_id}"],deleteComment:["DELETE /gists/{gist_id}/comments/{comment_id}"],fork:["POST /gists/{gist_id}/forks"],get:["GET /gists/{gist_id}"],getComment:["GET /gists/{gist_id}/comments/{comment_id}"],getRevision:["GET /gists/{gist_id}/{sha}"],list:["GET /gists"],listComments:["GET /gists/{gist_id}/comments"],listCommits:["GET /gists/{gist_id}/commits"],listForUser:["GET /users/{username}/gists"],listForks:["GET /gists/{gist_id}/forks"],listPublic:["GET /gists/public"],listStarred:["GET /gists/starred"],star:["PUT /gists/{gist_id}/star"],unstar:["DELETE /gists/{gist_id}/star"],update:["PATCH /gists/{gist_id}"],updateComment:["PATCH /gists/{gist_id}/comments/{comment_id}"]},git:{createBlob:["POST /repos/{owner}/{repo}/git/blobs"],createCommit:["POST /repos/{owner}/{repo}/git/commits"],createRef:["POST /repos/{owner}/{repo}/git/refs"],createTag:["POST /repos/{owner}/{repo}/git/tags"],createTree:["POST /repos/{owner}/{repo}/git/trees"],deleteRef:["DELETE /repos/{owner}/{repo}/git/refs/{ref}"],getBlob:["GET /repos/{owner}/{repo}/git/blobs/{file_sha}"],getCommit:["GET /repos/{owner}/{repo}/git/commits/{commit_sha}"],getRef:["GET /repos/{owner}/{repo}/git/ref/{ref}"],getTag:["GET /repos/{owner}/{repo}/git/tags/{tag_sha}"],getTree:["GET /repos/{owner}/{repo}/git/trees/{tree_sha}"],listMatchingRefs:["GET /repos/{owner}/{repo}/git/matching-refs/{ref}"],updateRef:["PATCH /repos/{owner}/{repo}/git/refs/{ref}"]},gitignore:{getAllTemplates:["GET /gitignore/templates"],getTemplate:["GET /gitignore/templates/{name}"]},interactions:{getRestrictionsForAuthenticatedUser:["GET /user/interaction-limits"],getRestrictionsForOrg:["GET /orgs/{org}/interaction-limits"],getRestrictionsForRepo:["GET /repos/{owner}/{repo}/interaction-limits"],getRestrictionsForYourPublicRepos:["GET /user/interaction-limits",{},{renamed:["interactions","getRestrictionsForAuthenticatedUser"]}],removeRestrictionsForAuthenticatedUser:["DELETE /user/interaction-limits"],removeRestrictionsForOrg:["DELETE /orgs/{org}/interaction-limits"],removeRestrictionsForRepo:["DELETE /repos/{owner}/{repo}/interaction-limits"],removeRestrictionsForYourPublicRepos:["DELETE /user/interaction-limits",{},{renamed:["interactions","removeRestrictionsForAuthenticatedUser"]}],setRestrictionsForAuthenticatedUser:["PUT /user/interaction-limits"],setRestrictionsForOrg:["PUT /orgs/{org}/interaction-limits"],setRestrictionsForRepo:["PUT /repos/{owner}/{repo}/interaction-limits"],setRestrictionsForYourPublicRepos:["PUT /user/interaction-limits",{},{renamed:["interactions","setRestrictionsForAuthenticatedUser"]}]},issues:{addAssignees:["POST /repos/{owner}/{repo}/issues/{issue_number}/assignees"],addLabels:["POST /repos/{owner}/{repo}/issues/{issue_number}/labels"],checkUserCanBeAssigned:["GET /repos/{owner}/{repo}/assignees/{assignee}"],checkUserCanBeAssignedToIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/assignees/{assignee}"],create:["POST /repos/{owner}/{repo}/issues"],createComment:["POST /repos/{owner}/{repo}/issues/{issue_number}/comments"],createLabel:["POST /repos/{owner}/{repo}/labels"],createMilestone:["POST /repos/{owner}/{repo}/milestones"],deleteComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}"],deleteLabel:["DELETE /repos/{owner}/{repo}/labels/{name}"],deleteMilestone:["DELETE /repos/{owner}/{repo}/milestones/{milestone_number}"],get:["GET /repos/{owner}/{repo}/issues/{issue_number}"],getComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}"],getEvent:["GET /repos/{owner}/{repo}/issues/events/{event_id}"],getLabel:["GET /repos/{owner}/{repo}/labels/{name}"],getMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}"],list:["GET /issues"],listAssignees:["GET /repos/{owner}/{repo}/assignees"],listComments:["GET /repos/{owner}/{repo}/issues/{issue_number}/comments"],listCommentsForRepo:["GET /repos/{owner}/{repo}/issues/comments"],listEvents:["GET /repos/{owner}/{repo}/issues/{issue_number}/events"],listEventsForRepo:["GET /repos/{owner}/{repo}/issues/events"],listEventsForTimeline:["GET /repos/{owner}/{repo}/issues/{issue_number}/timeline"],listForAuthenticatedUser:["GET /user/issues"],listForOrg:["GET /orgs/{org}/issues"],listForRepo:["GET /repos/{owner}/{repo}/issues"],listLabelsForMilestone:["GET /repos/{owner}/{repo}/milestones/{milestone_number}/labels"],listLabelsForRepo:["GET /repos/{owner}/{repo}/labels"],listLabelsOnIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/labels"],listMilestones:["GET /repos/{owner}/{repo}/milestones"],lock:["PUT /repos/{owner}/{repo}/issues/{issue_number}/lock"],removeAllLabels:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels"],removeAssignees:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/assignees"],removeLabel:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/labels/{name}"],setLabels:["PUT /repos/{owner}/{repo}/issues/{issue_number}/labels"],unlock:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/lock"],update:["PATCH /repos/{owner}/{repo}/issues/{issue_number}"],updateComment:["PATCH /repos/{owner}/{repo}/issues/comments/{comment_id}"],updateLabel:["PATCH /repos/{owner}/{repo}/labels/{name}"],updateMilestone:["PATCH /repos/{owner}/{repo}/milestones/{milestone_number}"]},licenses:{get:["GET /licenses/{license}"],getAllCommonlyUsed:["GET /licenses"],getForRepo:["GET /repos/{owner}/{repo}/license"]},markdown:{render:["POST /markdown"],renderRaw:["POST /markdown/raw",{headers:{"content-type":"text/plain; charset=utf-8"}}]},meta:{get:["GET /meta"],getAllVersions:["GET /versions"],getOctocat:["GET /octocat"],getZen:["GET /zen"],root:["GET /"]},migrations:{deleteArchiveForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/archive"],deleteArchiveForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/archive"],downloadArchiveForOrg:["GET /orgs/{org}/migrations/{migration_id}/archive"],getArchiveForAuthenticatedUser:["GET /user/migrations/{migration_id}/archive"],getStatusForAuthenticatedUser:["GET /user/migrations/{migration_id}"],getStatusForOrg:["GET /orgs/{org}/migrations/{migration_id}"],listForAuthenticatedUser:["GET /user/migrations"],listForOrg:["GET /orgs/{org}/migrations"],listReposForAuthenticatedUser:["GET /user/migrations/{migration_id}/repositories"],listReposForOrg:["GET /orgs/{org}/migrations/{migration_id}/repositories"],listReposForUser:["GET /user/migrations/{migration_id}/repositories",{},{renamed:["migrations","listReposForAuthenticatedUser"]}],startForAuthenticatedUser:["POST /user/migrations"],startForOrg:["POST /orgs/{org}/migrations"],unlockRepoForAuthenticatedUser:["DELETE /user/migrations/{migration_id}/repos/{repo_name}/lock"],unlockRepoForOrg:["DELETE /orgs/{org}/migrations/{migration_id}/repos/{repo_name}/lock"]},oidc:{getOidcCustomSubTemplateForOrg:["GET /orgs/{org}/actions/oidc/customization/sub"],updateOidcCustomSubTemplateForOrg:["PUT /orgs/{org}/actions/oidc/customization/sub"]},orgs:{addSecurityManagerTeam:["PUT /orgs/{org}/security-managers/teams/{team_slug}"],assignTeamToOrgRole:["PUT /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],assignUserToOrgRole:["PUT /orgs/{org}/organization-roles/users/{username}/{role_id}"],blockUser:["PUT /orgs/{org}/blocks/{username}"],cancelInvitation:["DELETE /orgs/{org}/invitations/{invitation_id}"],checkBlockedUser:["GET /orgs/{org}/blocks/{username}"],checkMembershipForUser:["GET /orgs/{org}/members/{username}"],checkPublicMembershipForUser:["GET /orgs/{org}/public_members/{username}"],convertMemberToOutsideCollaborator:["PUT /orgs/{org}/outside_collaborators/{username}"],createCustomOrganizationRole:["POST /orgs/{org}/organization-roles"],createInvitation:["POST /orgs/{org}/invitations"],createOrUpdateCustomProperties:["PATCH /orgs/{org}/properties/schema"],createOrUpdateCustomPropertiesValuesForRepos:["PATCH /orgs/{org}/properties/values"],createOrUpdateCustomProperty:["PUT /orgs/{org}/properties/schema/{custom_property_name}"],createWebhook:["POST /orgs/{org}/hooks"],delete:["DELETE /orgs/{org}"],deleteCustomOrganizationRole:["DELETE /orgs/{org}/organization-roles/{role_id}"],deleteWebhook:["DELETE /orgs/{org}/hooks/{hook_id}"],enableOrDisableSecurityProductOnAllOrgRepos:["POST /orgs/{org}/{security_product}/{enablement}"],get:["GET /orgs/{org}"],getAllCustomProperties:["GET /orgs/{org}/properties/schema"],getCustomProperty:["GET /orgs/{org}/properties/schema/{custom_property_name}"],getMembershipForAuthenticatedUser:["GET /user/memberships/orgs/{org}"],getMembershipForUser:["GET /orgs/{org}/memberships/{username}"],getOrgRole:["GET /orgs/{org}/organization-roles/{role_id}"],getWebhook:["GET /orgs/{org}/hooks/{hook_id}"],getWebhookConfigForOrg:["GET /orgs/{org}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}"],list:["GET /organizations"],listAppInstallations:["GET /orgs/{org}/installations"],listBlockedUsers:["GET /orgs/{org}/blocks"],listCustomPropertiesValuesForRepos:["GET /orgs/{org}/properties/values"],listFailedInvitations:["GET /orgs/{org}/failed_invitations"],listForAuthenticatedUser:["GET /user/orgs"],listForUser:["GET /users/{username}/orgs"],listInvitationTeams:["GET /orgs/{org}/invitations/{invitation_id}/teams"],listMembers:["GET /orgs/{org}/members"],listMembershipsForAuthenticatedUser:["GET /user/memberships/orgs"],listOrgRoleTeams:["GET /orgs/{org}/organization-roles/{role_id}/teams"],listOrgRoleUsers:["GET /orgs/{org}/organization-roles/{role_id}/users"],listOrgRoles:["GET /orgs/{org}/organization-roles"],listOrganizationFineGrainedPermissions:["GET /orgs/{org}/organization-fine-grained-permissions"],listOutsideCollaborators:["GET /orgs/{org}/outside_collaborators"],listPatGrantRepositories:["GET /orgs/{org}/personal-access-tokens/{pat_id}/repositories"],listPatGrantRequestRepositories:["GET /orgs/{org}/personal-access-token-requests/{pat_request_id}/repositories"],listPatGrantRequests:["GET /orgs/{org}/personal-access-token-requests"],listPatGrants:["GET /orgs/{org}/personal-access-tokens"],listPendingInvitations:["GET /orgs/{org}/invitations"],listPublicMembers:["GET /orgs/{org}/public_members"],listSecurityManagerTeams:["GET /orgs/{org}/security-managers"],listWebhookDeliveries:["GET /orgs/{org}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /orgs/{org}/hooks"],patchCustomOrganizationRole:["PATCH /orgs/{org}/organization-roles/{role_id}"],pingWebhook:["POST /orgs/{org}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /orgs/{org}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeCustomProperty:["DELETE /orgs/{org}/properties/schema/{custom_property_name}"],removeMember:["DELETE /orgs/{org}/members/{username}"],removeMembershipForUser:["DELETE /orgs/{org}/memberships/{username}"],removeOutsideCollaborator:["DELETE /orgs/{org}/outside_collaborators/{username}"],removePublicMembershipForAuthenticatedUser:["DELETE /orgs/{org}/public_members/{username}"],removeSecurityManagerTeam:["DELETE /orgs/{org}/security-managers/teams/{team_slug}"],reviewPatGrantRequest:["POST /orgs/{org}/personal-access-token-requests/{pat_request_id}"],reviewPatGrantRequestsInBulk:["POST /orgs/{org}/personal-access-token-requests"],revokeAllOrgRolesTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}"],revokeAllOrgRolesUser:["DELETE /orgs/{org}/organization-roles/users/{username}"],revokeOrgRoleTeam:["DELETE /orgs/{org}/organization-roles/teams/{team_slug}/{role_id}"],revokeOrgRoleUser:["DELETE /orgs/{org}/organization-roles/users/{username}/{role_id}"],setMembershipForUser:["PUT /orgs/{org}/memberships/{username}"],setPublicMembershipForAuthenticatedUser:["PUT /orgs/{org}/public_members/{username}"],unblockUser:["DELETE /orgs/{org}/blocks/{username}"],update:["PATCH /orgs/{org}"],updateMembershipForAuthenticatedUser:["PATCH /user/memberships/orgs/{org}"],updatePatAccess:["POST /orgs/{org}/personal-access-tokens/{pat_id}"],updatePatAccesses:["POST /orgs/{org}/personal-access-tokens"],updateWebhook:["PATCH /orgs/{org}/hooks/{hook_id}"],updateWebhookConfigForOrg:["PATCH /orgs/{org}/hooks/{hook_id}/config"]},packages:{deletePackageForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}"],deletePackageForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}"],deletePackageForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}"],deletePackageVersionForAuthenticatedUser:["DELETE /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForOrg:["DELETE /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],deletePackageVersionForUser:["DELETE /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getAllPackageVersionsForAPackageOwnedByAnOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByOrg"]}],getAllPackageVersionsForAPackageOwnedByTheAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions",{},{renamed:["packages","getAllPackageVersionsForPackageOwnedByAuthenticatedUser"]}],getAllPackageVersionsForPackageOwnedByAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByOrg:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions"],getAllPackageVersionsForPackageOwnedByUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions"],getPackageForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}"],getPackageForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}"],getPackageForUser:["GET /users/{username}/packages/{package_type}/{package_name}"],getPackageVersionForAuthenticatedUser:["GET /user/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForOrganization:["GET /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}"],getPackageVersionForUser:["GET /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}"],listDockerMigrationConflictingPackagesForAuthenticatedUser:["GET /user/docker/conflicts"],listDockerMigrationConflictingPackagesForOrganization:["GET /orgs/{org}/docker/conflicts"],listDockerMigrationConflictingPackagesForUser:["GET /users/{username}/docker/conflicts"],listPackagesForAuthenticatedUser:["GET /user/packages"],listPackagesForOrganization:["GET /orgs/{org}/packages"],listPackagesForUser:["GET /users/{username}/packages"],restorePackageForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageForUser:["POST /users/{username}/packages/{package_type}/{package_name}/restore{?token}"],restorePackageVersionForAuthenticatedUser:["POST /user/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForOrg:["POST /orgs/{org}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"],restorePackageVersionForUser:["POST /users/{username}/packages/{package_type}/{package_name}/versions/{package_version_id}/restore"]},projects:{addCollaborator:["PUT /projects/{project_id}/collaborators/{username}"],createCard:["POST /projects/columns/{column_id}/cards"],createColumn:["POST /projects/{project_id}/columns"],createForAuthenticatedUser:["POST /user/projects"],createForOrg:["POST /orgs/{org}/projects"],createForRepo:["POST /repos/{owner}/{repo}/projects"],delete:["DELETE /projects/{project_id}"],deleteCard:["DELETE /projects/columns/cards/{card_id}"],deleteColumn:["DELETE /projects/columns/{column_id}"],get:["GET /projects/{project_id}"],getCard:["GET /projects/columns/cards/{card_id}"],getColumn:["GET /projects/columns/{column_id}"],getPermissionForUser:["GET /projects/{project_id}/collaborators/{username}/permission"],listCards:["GET /projects/columns/{column_id}/cards"],listCollaborators:["GET /projects/{project_id}/collaborators"],listColumns:["GET /projects/{project_id}/columns"],listForOrg:["GET /orgs/{org}/projects"],listForRepo:["GET /repos/{owner}/{repo}/projects"],listForUser:["GET /users/{username}/projects"],moveCard:["POST /projects/columns/cards/{card_id}/moves"],moveColumn:["POST /projects/columns/{column_id}/moves"],removeCollaborator:["DELETE /projects/{project_id}/collaborators/{username}"],update:["PATCH /projects/{project_id}"],updateCard:["PATCH /projects/columns/cards/{card_id}"],updateColumn:["PATCH /projects/columns/{column_id}"]},pulls:{checkIfMerged:["GET /repos/{owner}/{repo}/pulls/{pull_number}/merge"],create:["POST /repos/{owner}/{repo}/pulls"],createReplyForReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments/{comment_id}/replies"],createReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],createReviewComment:["POST /repos/{owner}/{repo}/pulls/{pull_number}/comments"],deletePendingReview:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],deleteReviewComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}"],dismissReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/dismissals"],get:["GET /repos/{owner}/{repo}/pulls/{pull_number}"],getReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],getReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}"],list:["GET /repos/{owner}/{repo}/pulls"],listCommentsForReview:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/comments"],listCommits:["GET /repos/{owner}/{repo}/pulls/{pull_number}/commits"],listFiles:["GET /repos/{owner}/{repo}/pulls/{pull_number}/files"],listRequestedReviewers:["GET /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],listReviewComments:["GET /repos/{owner}/{repo}/pulls/{pull_number}/comments"],listReviewCommentsForRepo:["GET /repos/{owner}/{repo}/pulls/comments"],listReviews:["GET /repos/{owner}/{repo}/pulls/{pull_number}/reviews"],merge:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/merge"],removeRequestedReviewers:["DELETE /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],requestReviewers:["POST /repos/{owner}/{repo}/pulls/{pull_number}/requested_reviewers"],submitReview:["POST /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}/events"],update:["PATCH /repos/{owner}/{repo}/pulls/{pull_number}"],updateBranch:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/update-branch"],updateReview:["PUT /repos/{owner}/{repo}/pulls/{pull_number}/reviews/{review_id}"],updateReviewComment:["PATCH /repos/{owner}/{repo}/pulls/comments/{comment_id}"]},rateLimit:{get:["GET /rate_limit"]},reactions:{createForCommitComment:["POST /repos/{owner}/{repo}/comments/{comment_id}/reactions"],createForIssue:["POST /repos/{owner}/{repo}/issues/{issue_number}/reactions"],createForIssueComment:["POST /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],createForPullRequestReviewComment:["POST /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],createForRelease:["POST /repos/{owner}/{repo}/releases/{release_id}/reactions"],createForTeamDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],createForTeamDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"],deleteForCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}/reactions/{reaction_id}"],deleteForIssue:["DELETE /repos/{owner}/{repo}/issues/{issue_number}/reactions/{reaction_id}"],deleteForIssueComment:["DELETE /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions/{reaction_id}"],deleteForPullRequestComment:["DELETE /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions/{reaction_id}"],deleteForRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}/reactions/{reaction_id}"],deleteForTeamDiscussion:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions/{reaction_id}"],deleteForTeamDiscussionComment:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions/{reaction_id}"],listForCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}/reactions"],listForIssue:["GET /repos/{owner}/{repo}/issues/{issue_number}/reactions"],listForIssueComment:["GET /repos/{owner}/{repo}/issues/comments/{comment_id}/reactions"],listForPullRequestReviewComment:["GET /repos/{owner}/{repo}/pulls/comments/{comment_id}/reactions"],listForRelease:["GET /repos/{owner}/{repo}/releases/{release_id}/reactions"],listForTeamDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}/reactions"],listForTeamDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/reactions"]},repos:{acceptInvitation:["PATCH /user/repository_invitations/{invitation_id}",{},{renamed:["repos","acceptInvitationForAuthenticatedUser"]}],acceptInvitationForAuthenticatedUser:["PATCH /user/repository_invitations/{invitation_id}"],addAppAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],addCollaborator:["PUT /repos/{owner}/{repo}/collaborators/{username}"],addStatusCheckContexts:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],addTeamAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],addUserAccessRestrictions:["POST /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],cancelPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}/cancel"],checkAutomatedSecurityFixes:["GET /repos/{owner}/{repo}/automated-security-fixes"],checkCollaborator:["GET /repos/{owner}/{repo}/collaborators/{username}"],checkPrivateVulnerabilityReporting:["GET /repos/{owner}/{repo}/private-vulnerability-reporting"],checkVulnerabilityAlerts:["GET /repos/{owner}/{repo}/vulnerability-alerts"],codeownersErrors:["GET /repos/{owner}/{repo}/codeowners/errors"],compareCommits:["GET /repos/{owner}/{repo}/compare/{base}...{head}"],compareCommitsWithBasehead:["GET /repos/{owner}/{repo}/compare/{basehead}"],createAutolink:["POST /repos/{owner}/{repo}/autolinks"],createCommitComment:["POST /repos/{owner}/{repo}/commits/{commit_sha}/comments"],createCommitSignatureProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],createCommitStatus:["POST /repos/{owner}/{repo}/statuses/{sha}"],createDeployKey:["POST /repos/{owner}/{repo}/keys"],createDeployment:["POST /repos/{owner}/{repo}/deployments"],createDeploymentBranchPolicy:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],createDeploymentProtectionRule:["POST /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],createDeploymentStatus:["POST /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],createDispatchEvent:["POST /repos/{owner}/{repo}/dispatches"],createForAuthenticatedUser:["POST /user/repos"],createFork:["POST /repos/{owner}/{repo}/forks"],createInOrg:["POST /orgs/{org}/repos"],createOrUpdateCustomPropertiesValues:["PATCH /repos/{owner}/{repo}/properties/values"],createOrUpdateEnvironment:["PUT /repos/{owner}/{repo}/environments/{environment_name}"],createOrUpdateFileContents:["PUT /repos/{owner}/{repo}/contents/{path}"],createOrgRuleset:["POST /orgs/{org}/rulesets"],createPagesDeployment:["POST /repos/{owner}/{repo}/pages/deployments"],createPagesSite:["POST /repos/{owner}/{repo}/pages"],createRelease:["POST /repos/{owner}/{repo}/releases"],createRepoRuleset:["POST /repos/{owner}/{repo}/rulesets"],createTagProtection:["POST /repos/{owner}/{repo}/tags/protection"],createUsingTemplate:["POST /repos/{template_owner}/{template_repo}/generate"],createWebhook:["POST /repos/{owner}/{repo}/hooks"],declineInvitation:["DELETE /user/repository_invitations/{invitation_id}",{},{renamed:["repos","declineInvitationForAuthenticatedUser"]}],declineInvitationForAuthenticatedUser:["DELETE /user/repository_invitations/{invitation_id}"],delete:["DELETE /repos/{owner}/{repo}"],deleteAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],deleteAdminBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],deleteAnEnvironment:["DELETE /repos/{owner}/{repo}/environments/{environment_name}"],deleteAutolink:["DELETE /repos/{owner}/{repo}/autolinks/{autolink_id}"],deleteBranchProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection"],deleteCommitComment:["DELETE /repos/{owner}/{repo}/comments/{comment_id}"],deleteCommitSignatureProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],deleteDeployKey:["DELETE /repos/{owner}/{repo}/keys/{key_id}"],deleteDeployment:["DELETE /repos/{owner}/{repo}/deployments/{deployment_id}"],deleteDeploymentBranchPolicy:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],deleteFile:["DELETE /repos/{owner}/{repo}/contents/{path}"],deleteInvitation:["DELETE /repos/{owner}/{repo}/invitations/{invitation_id}"],deleteOrgRuleset:["DELETE /orgs/{org}/rulesets/{ruleset_id}"],deletePagesSite:["DELETE /repos/{owner}/{repo}/pages"],deletePullRequestReviewProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],deleteRelease:["DELETE /repos/{owner}/{repo}/releases/{release_id}"],deleteReleaseAsset:["DELETE /repos/{owner}/{repo}/releases/assets/{asset_id}"],deleteRepoRuleset:["DELETE /repos/{owner}/{repo}/rulesets/{ruleset_id}"],deleteTagProtection:["DELETE /repos/{owner}/{repo}/tags/protection/{tag_protection_id}"],deleteWebhook:["DELETE /repos/{owner}/{repo}/hooks/{hook_id}"],disableAutomatedSecurityFixes:["DELETE /repos/{owner}/{repo}/automated-security-fixes"],disableDeploymentProtectionRule:["DELETE /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],disablePrivateVulnerabilityReporting:["DELETE /repos/{owner}/{repo}/private-vulnerability-reporting"],disableVulnerabilityAlerts:["DELETE /repos/{owner}/{repo}/vulnerability-alerts"],downloadArchive:["GET /repos/{owner}/{repo}/zipball/{ref}",{},{renamed:["repos","downloadZipballArchive"]}],downloadTarballArchive:["GET /repos/{owner}/{repo}/tarball/{ref}"],downloadZipballArchive:["GET /repos/{owner}/{repo}/zipball/{ref}"],enableAutomatedSecurityFixes:["PUT /repos/{owner}/{repo}/automated-security-fixes"],enablePrivateVulnerabilityReporting:["PUT /repos/{owner}/{repo}/private-vulnerability-reporting"],enableVulnerabilityAlerts:["PUT /repos/{owner}/{repo}/vulnerability-alerts"],generateReleaseNotes:["POST /repos/{owner}/{repo}/releases/generate-notes"],get:["GET /repos/{owner}/{repo}"],getAccessRestrictions:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions"],getAdminBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],getAllDeploymentProtectionRules:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules"],getAllEnvironments:["GET /repos/{owner}/{repo}/environments"],getAllStatusCheckContexts:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts"],getAllTopics:["GET /repos/{owner}/{repo}/topics"],getAppsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps"],getAutolink:["GET /repos/{owner}/{repo}/autolinks/{autolink_id}"],getBranch:["GET /repos/{owner}/{repo}/branches/{branch}"],getBranchProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection"],getBranchRules:["GET /repos/{owner}/{repo}/rules/branches/{branch}"],getClones:["GET /repos/{owner}/{repo}/traffic/clones"],getCodeFrequencyStats:["GET /repos/{owner}/{repo}/stats/code_frequency"],getCollaboratorPermissionLevel:["GET /repos/{owner}/{repo}/collaborators/{username}/permission"],getCombinedStatusForRef:["GET /repos/{owner}/{repo}/commits/{ref}/status"],getCommit:["GET /repos/{owner}/{repo}/commits/{ref}"],getCommitActivityStats:["GET /repos/{owner}/{repo}/stats/commit_activity"],getCommitComment:["GET /repos/{owner}/{repo}/comments/{comment_id}"],getCommitSignatureProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_signatures"],getCommunityProfileMetrics:["GET /repos/{owner}/{repo}/community/profile"],getContent:["GET /repos/{owner}/{repo}/contents/{path}"],getContributorsStats:["GET /repos/{owner}/{repo}/stats/contributors"],getCustomDeploymentProtectionRule:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/{protection_rule_id}"],getCustomPropertiesValues:["GET /repos/{owner}/{repo}/properties/values"],getDeployKey:["GET /repos/{owner}/{repo}/keys/{key_id}"],getDeployment:["GET /repos/{owner}/{repo}/deployments/{deployment_id}"],getDeploymentBranchPolicy:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],getDeploymentStatus:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses/{status_id}"],getEnvironment:["GET /repos/{owner}/{repo}/environments/{environment_name}"],getLatestPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/latest"],getLatestRelease:["GET /repos/{owner}/{repo}/releases/latest"],getOrgRuleSuite:["GET /orgs/{org}/rulesets/rule-suites/{rule_suite_id}"],getOrgRuleSuites:["GET /orgs/{org}/rulesets/rule-suites"],getOrgRuleset:["GET /orgs/{org}/rulesets/{ruleset_id}"],getOrgRulesets:["GET /orgs/{org}/rulesets"],getPages:["GET /repos/{owner}/{repo}/pages"],getPagesBuild:["GET /repos/{owner}/{repo}/pages/builds/{build_id}"],getPagesDeployment:["GET /repos/{owner}/{repo}/pages/deployments/{pages_deployment_id}"],getPagesHealthCheck:["GET /repos/{owner}/{repo}/pages/health"],getParticipationStats:["GET /repos/{owner}/{repo}/stats/participation"],getPullRequestReviewProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],getPunchCardStats:["GET /repos/{owner}/{repo}/stats/punch_card"],getReadme:["GET /repos/{owner}/{repo}/readme"],getReadmeInDirectory:["GET /repos/{owner}/{repo}/readme/{dir}"],getRelease:["GET /repos/{owner}/{repo}/releases/{release_id}"],getReleaseAsset:["GET /repos/{owner}/{repo}/releases/assets/{asset_id}"],getReleaseByTag:["GET /repos/{owner}/{repo}/releases/tags/{tag}"],getRepoRuleSuite:["GET /repos/{owner}/{repo}/rulesets/rule-suites/{rule_suite_id}"],getRepoRuleSuites:["GET /repos/{owner}/{repo}/rulesets/rule-suites"],getRepoRuleset:["GET /repos/{owner}/{repo}/rulesets/{ruleset_id}"],getRepoRulesets:["GET /repos/{owner}/{repo}/rulesets"],getStatusChecksProtection:["GET /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],getTeamsWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams"],getTopPaths:["GET /repos/{owner}/{repo}/traffic/popular/paths"],getTopReferrers:["GET /repos/{owner}/{repo}/traffic/popular/referrers"],getUsersWithAccessToProtectedBranch:["GET /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users"],getViews:["GET /repos/{owner}/{repo}/traffic/views"],getWebhook:["GET /repos/{owner}/{repo}/hooks/{hook_id}"],getWebhookConfigForRepo:["GET /repos/{owner}/{repo}/hooks/{hook_id}/config"],getWebhookDelivery:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}"],listActivities:["GET /repos/{owner}/{repo}/activity"],listAutolinks:["GET /repos/{owner}/{repo}/autolinks"],listBranches:["GET /repos/{owner}/{repo}/branches"],listBranchesForHeadCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/branches-where-head"],listCollaborators:["GET /repos/{owner}/{repo}/collaborators"],listCommentsForCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/comments"],listCommitCommentsForRepo:["GET /repos/{owner}/{repo}/comments"],listCommitStatusesForRef:["GET /repos/{owner}/{repo}/commits/{ref}/statuses"],listCommits:["GET /repos/{owner}/{repo}/commits"],listContributors:["GET /repos/{owner}/{repo}/contributors"],listCustomDeploymentRuleIntegrations:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment_protection_rules/apps"],listDeployKeys:["GET /repos/{owner}/{repo}/keys"],listDeploymentBranchPolicies:["GET /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies"],listDeploymentStatuses:["GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses"],listDeployments:["GET /repos/{owner}/{repo}/deployments"],listForAuthenticatedUser:["GET /user/repos"],listForOrg:["GET /orgs/{org}/repos"],listForUser:["GET /users/{username}/repos"],listForks:["GET /repos/{owner}/{repo}/forks"],listInvitations:["GET /repos/{owner}/{repo}/invitations"],listInvitationsForAuthenticatedUser:["GET /user/repository_invitations"],listLanguages:["GET /repos/{owner}/{repo}/languages"],listPagesBuilds:["GET /repos/{owner}/{repo}/pages/builds"],listPublic:["GET /repositories"],listPullRequestsAssociatedWithCommit:["GET /repos/{owner}/{repo}/commits/{commit_sha}/pulls"],listReleaseAssets:["GET /repos/{owner}/{repo}/releases/{release_id}/assets"],listReleases:["GET /repos/{owner}/{repo}/releases"],listTagProtection:["GET /repos/{owner}/{repo}/tags/protection"],listTags:["GET /repos/{owner}/{repo}/tags"],listTeams:["GET /repos/{owner}/{repo}/teams"],listWebhookDeliveries:["GET /repos/{owner}/{repo}/hooks/{hook_id}/deliveries"],listWebhooks:["GET /repos/{owner}/{repo}/hooks"],merge:["POST /repos/{owner}/{repo}/merges"],mergeUpstream:["POST /repos/{owner}/{repo}/merge-upstream"],pingWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/pings"],redeliverWebhookDelivery:["POST /repos/{owner}/{repo}/hooks/{hook_id}/deliveries/{delivery_id}/attempts"],removeAppAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],removeCollaborator:["DELETE /repos/{owner}/{repo}/collaborators/{username}"],removeStatusCheckContexts:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],removeStatusCheckProtection:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],removeTeamAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],removeUserAccessRestrictions:["DELETE /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],renameBranch:["POST /repos/{owner}/{repo}/branches/{branch}/rename"],replaceAllTopics:["PUT /repos/{owner}/{repo}/topics"],requestPagesBuild:["POST /repos/{owner}/{repo}/pages/builds"],setAdminBranchProtection:["POST /repos/{owner}/{repo}/branches/{branch}/protection/enforce_admins"],setAppAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/apps",{},{mapToData:"apps"}],setStatusCheckContexts:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks/contexts",{},{mapToData:"contexts"}],setTeamAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/teams",{},{mapToData:"teams"}],setUserAccessRestrictions:["PUT /repos/{owner}/{repo}/branches/{branch}/protection/restrictions/users",{},{mapToData:"users"}],testPushWebhook:["POST /repos/{owner}/{repo}/hooks/{hook_id}/tests"],transfer:["POST /repos/{owner}/{repo}/transfer"],update:["PATCH /repos/{owner}/{repo}"],updateBranchProtection:["PUT /repos/{owner}/{repo}/branches/{branch}/protection"],updateCommitComment:["PATCH /repos/{owner}/{repo}/comments/{comment_id}"],updateDeploymentBranchPolicy:["PUT /repos/{owner}/{repo}/environments/{environment_name}/deployment-branch-policies/{branch_policy_id}"],updateInformationAboutPagesSite:["PUT /repos/{owner}/{repo}/pages"],updateInvitation:["PATCH /repos/{owner}/{repo}/invitations/{invitation_id}"],updateOrgRuleset:["PUT /orgs/{org}/rulesets/{ruleset_id}"],updatePullRequestReviewProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_pull_request_reviews"],updateRelease:["PATCH /repos/{owner}/{repo}/releases/{release_id}"],updateReleaseAsset:["PATCH /repos/{owner}/{repo}/releases/assets/{asset_id}"],updateRepoRuleset:["PUT /repos/{owner}/{repo}/rulesets/{ruleset_id}"],updateStatusCheckPotection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks",{},{renamed:["repos","updateStatusCheckProtection"]}],updateStatusCheckProtection:["PATCH /repos/{owner}/{repo}/branches/{branch}/protection/required_status_checks"],updateWebhook:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}"],updateWebhookConfigForRepo:["PATCH /repos/{owner}/{repo}/hooks/{hook_id}/config"],uploadReleaseAsset:["POST /repos/{owner}/{repo}/releases/{release_id}/assets{?name,label}",{baseUrl:"https://uploads.github.com"}]},search:{code:["GET /search/code"],commits:["GET /search/commits"],issuesAndPullRequests:["GET /search/issues"],labels:["GET /search/labels"],repos:["GET /search/repositories"],topics:["GET /search/topics"],users:["GET /search/users"]},secretScanning:{getAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"],listAlertsForEnterprise:["GET /enterprises/{enterprise}/secret-scanning/alerts"],listAlertsForOrg:["GET /orgs/{org}/secret-scanning/alerts"],listAlertsForRepo:["GET /repos/{owner}/{repo}/secret-scanning/alerts"],listLocationsForAlert:["GET /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}/locations"],updateAlert:["PATCH /repos/{owner}/{repo}/secret-scanning/alerts/{alert_number}"]},securityAdvisories:{createFork:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/forks"],createPrivateVulnerabilityReport:["POST /repos/{owner}/{repo}/security-advisories/reports"],createRepositoryAdvisory:["POST /repos/{owner}/{repo}/security-advisories"],createRepositoryAdvisoryCveRequest:["POST /repos/{owner}/{repo}/security-advisories/{ghsa_id}/cve"],getGlobalAdvisory:["GET /advisories/{ghsa_id}"],getRepositoryAdvisory:["GET /repos/{owner}/{repo}/security-advisories/{ghsa_id}"],listGlobalAdvisories:["GET /advisories"],listOrgRepositoryAdvisories:["GET /orgs/{org}/security-advisories"],listRepositoryAdvisories:["GET /repos/{owner}/{repo}/security-advisories"],updateRepositoryAdvisory:["PATCH /repos/{owner}/{repo}/security-advisories/{ghsa_id}"]},teams:{addOrUpdateMembershipForUserInOrg:["PUT /orgs/{org}/teams/{team_slug}/memberships/{username}"],addOrUpdateProjectPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/projects/{project_id}"],addOrUpdateRepoPermissionsInOrg:["PUT /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],checkPermissionsForProjectInOrg:["GET /orgs/{org}/teams/{team_slug}/projects/{project_id}"],checkPermissionsForRepoInOrg:["GET /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],create:["POST /orgs/{org}/teams"],createDiscussionCommentInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],createDiscussionInOrg:["POST /orgs/{org}/teams/{team_slug}/discussions"],deleteDiscussionCommentInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],deleteDiscussionInOrg:["DELETE /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],deleteInOrg:["DELETE /orgs/{org}/teams/{team_slug}"],getByName:["GET /orgs/{org}/teams/{team_slug}"],getDiscussionCommentInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],getDiscussionInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],getMembershipForUserInOrg:["GET /orgs/{org}/teams/{team_slug}/memberships/{username}"],list:["GET /orgs/{org}/teams"],listChildInOrg:["GET /orgs/{org}/teams/{team_slug}/teams"],listDiscussionCommentsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments"],listDiscussionsInOrg:["GET /orgs/{org}/teams/{team_slug}/discussions"],listForAuthenticatedUser:["GET /user/teams"],listMembersInOrg:["GET /orgs/{org}/teams/{team_slug}/members"],listPendingInvitationsInOrg:["GET /orgs/{org}/teams/{team_slug}/invitations"],listProjectsInOrg:["GET /orgs/{org}/teams/{team_slug}/projects"],listReposInOrg:["GET /orgs/{org}/teams/{team_slug}/repos"],removeMembershipForUserInOrg:["DELETE /orgs/{org}/teams/{team_slug}/memberships/{username}"],removeProjectInOrg:["DELETE /orgs/{org}/teams/{team_slug}/projects/{project_id}"],removeRepoInOrg:["DELETE /orgs/{org}/teams/{team_slug}/repos/{owner}/{repo}"],updateDiscussionCommentInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}/comments/{comment_number}"],updateDiscussionInOrg:["PATCH /orgs/{org}/teams/{team_slug}/discussions/{discussion_number}"],updateInOrg:["PATCH /orgs/{org}/teams/{team_slug}"]},users:{addEmailForAuthenticated:["POST /user/emails",{},{renamed:["users","addEmailForAuthenticatedUser"]}],addEmailForAuthenticatedUser:["POST /user/emails"],addSocialAccountForAuthenticatedUser:["POST /user/social_accounts"],block:["PUT /user/blocks/{username}"],checkBlocked:["GET /user/blocks/{username}"],checkFollowingForUser:["GET /users/{username}/following/{target_user}"],checkPersonIsFollowedByAuthenticated:["GET /user/following/{username}"],createGpgKeyForAuthenticated:["POST /user/gpg_keys",{},{renamed:["users","createGpgKeyForAuthenticatedUser"]}],createGpgKeyForAuthenticatedUser:["POST /user/gpg_keys"],createPublicSshKeyForAuthenticated:["POST /user/keys",{},{renamed:["users","createPublicSshKeyForAuthenticatedUser"]}],createPublicSshKeyForAuthenticatedUser:["POST /user/keys"],createSshSigningKeyForAuthenticatedUser:["POST /user/ssh_signing_keys"],deleteEmailForAuthenticated:["DELETE /user/emails",{},{renamed:["users","deleteEmailForAuthenticatedUser"]}],deleteEmailForAuthenticatedUser:["DELETE /user/emails"],deleteGpgKeyForAuthenticated:["DELETE /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","deleteGpgKeyForAuthenticatedUser"]}],deleteGpgKeyForAuthenticatedUser:["DELETE /user/gpg_keys/{gpg_key_id}"],deletePublicSshKeyForAuthenticated:["DELETE /user/keys/{key_id}",{},{renamed:["users","deletePublicSshKeyForAuthenticatedUser"]}],deletePublicSshKeyForAuthenticatedUser:["DELETE /user/keys/{key_id}"],deleteSocialAccountForAuthenticatedUser:["DELETE /user/social_accounts"],deleteSshSigningKeyForAuthenticatedUser:["DELETE /user/ssh_signing_keys/{ssh_signing_key_id}"],follow:["PUT /user/following/{username}"],getAuthenticated:["GET /user"],getByUsername:["GET /users/{username}"],getContextForUser:["GET /users/{username}/hovercard"],getGpgKeyForAuthenticated:["GET /user/gpg_keys/{gpg_key_id}",{},{renamed:["users","getGpgKeyForAuthenticatedUser"]}],getGpgKeyForAuthenticatedUser:["GET /user/gpg_keys/{gpg_key_id}"],getPublicSshKeyForAuthenticated:["GET /user/keys/{key_id}",{},{renamed:["users","getPublicSshKeyForAuthenticatedUser"]}],getPublicSshKeyForAuthenticatedUser:["GET /user/keys/{key_id}"],getSshSigningKeyForAuthenticatedUser:["GET /user/ssh_signing_keys/{ssh_signing_key_id}"],list:["GET /users"],listBlockedByAuthenticated:["GET /user/blocks",{},{renamed:["users","listBlockedByAuthenticatedUser"]}],listBlockedByAuthenticatedUser:["GET /user/blocks"],listEmailsForAuthenticated:["GET /user/emails",{},{renamed:["users","listEmailsForAuthenticatedUser"]}],listEmailsForAuthenticatedUser:["GET /user/emails"],listFollowedByAuthenticated:["GET /user/following",{},{renamed:["users","listFollowedByAuthenticatedUser"]}],listFollowedByAuthenticatedUser:["GET /user/following"],listFollowersForAuthenticatedUser:["GET /user/followers"],listFollowersForUser:["GET /users/{username}/followers"],listFollowingForUser:["GET /users/{username}/following"],listGpgKeysForAuthenticated:["GET /user/gpg_keys",{},{renamed:["users","listGpgKeysForAuthenticatedUser"]}],listGpgKeysForAuthenticatedUser:["GET /user/gpg_keys"],listGpgKeysForUser:["GET /users/{username}/gpg_keys"],listPublicEmailsForAuthenticated:["GET /user/public_emails",{},{renamed:["users","listPublicEmailsForAuthenticatedUser"]}],listPublicEmailsForAuthenticatedUser:["GET /user/public_emails"],listPublicKeysForUser:["GET /users/{username}/keys"],listPublicSshKeysForAuthenticated:["GET /user/keys",{},{renamed:["users","listPublicSshKeysForAuthenticatedUser"]}],listPublicSshKeysForAuthenticatedUser:["GET /user/keys"],listSocialAccountsForAuthenticatedUser:["GET /user/social_accounts"],listSocialAccountsForUser:["GET /users/{username}/social_accounts"],listSshSigningKeysForAuthenticatedUser:["GET /user/ssh_signing_keys"],listSshSigningKeysForUser:["GET /users/{username}/ssh_signing_keys"],setPrimaryEmailVisibilityForAuthenticated:["PATCH /user/email/visibility",{},{renamed:["users","setPrimaryEmailVisibilityForAuthenticatedUser"]}],setPrimaryEmailVisibilityForAuthenticatedUser:["PATCH /user/email/visibility"],unblock:["DELETE /user/blocks/{username}"],unfollow:["DELETE /user/following/{username}"],updateAuthenticated:["PATCH /user"]}},OQr=EQr,lJ=new Map;for(let[e,t]of Object.entries(OQr))for(let[r,n]of Object.entries(t)){let[i,s,R]=n,[l,c]=i.split(/ /),h=Object.assign({method:l,url:c},s);lJ.has(e)||lJ.set(e,new Map),lJ.get(e).set(r,{scope:e,methodName:r,endpointDefaults:h,decorations:R})}var vQr={has({scope:e},t){return lJ.get(e).has(t)},getOwnPropertyDescriptor(e,t){return{value:this.get(e,t),configurable:!0,writable:!0,enumerable:!0}},defineProperty(e,t,r){return Object.defineProperty(e.cache,t,r),!0},deleteProperty(e,t){return delete e.cache[t],!0},ownKeys({scope:e}){return[...lJ.get(e).keys()]},set(e,t,r){return e.cache[t]=r},get({octokit:e,scope:t,cache:r},n){if(r[n])return r[n];let i=lJ.get(t).get(n);if(!i)return;let{endpointDefaults:s,decorations:R}=i;return R?r[n]=DQr(e,t,n,s,R):r[n]=e.request.defaults(s),r[n]}};function sFt(e){let t={};for(let r of lJ.keys())t[r]=new Proxy({octokit:e,scope:r,cache:{}},vQr);return t}function DQr(e,t,r,n,i){let s=e.request.defaults(n);function R(...l){let c=s.endpoint.merge(...l);if(i.mapToData)return c=Object.assign({},c,{data:c[i.mapToData],[i.mapToData]:void 0}),s(c);if(i.renamed){let[h,_]=i.renamed;e.log.warn(`octokit.${t}.${r}() has been renamed to octokit.${h}.${_}()`)}if(i.deprecated&&e.log.warn(i.deprecated),i.renamedParameters){let h=s.endpoint.merge(...l);for(let[_,f]of Object.entries(i.renamedParameters))_ in h&&(e.log.warn(`"${_}" parameter is deprecated for "octokit.${t}.${r}()". Use "${f}" instead`),f in h||(h[f]=h[_]),delete h[_]);return s(h)}return s(...l)}return Object.assign(R,s)}function oFt(e){return{rest:sFt(e)}}oFt.VERSION=aFt;function RFt(e){let t=sFt(e);return{...t,rest:t}}RFt.VERSION=aFt});var P7t=Le((jsi,TFt)=>{"use strict";var w7t=Object.defineProperty,SQr=Object.getOwnPropertyDescriptor,$Qr=Object.getOwnPropertyNames,QQr=Object.prototype.hasOwnProperty,NQr=(e,t)=>{for(var r in t)w7t(e,r,{get:t[r],enumerable:!0})},wQr=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of $Qr(t))!QQr.call(e,i)&&i!==r&&w7t(e,i,{get:()=>t[i],enumerable:!(n=SQr(t,i))||n.enumerable});return e},PQr=e=>wQr(w7t({},"__esModule",{value:!0}),e),cFt={};NQr(cFt,{Octokit:()=>FQr});TFt.exports=PQr(cFt);var BQr=YUt(),IQr=jUt(),MQr=nFt(),WQr=lFt(),UQr="20.1.1",FQr=BQr.Octokit.plugin(IQr.requestLog,WQr.legacyRestEndpointMethods,MQr.paginateRest).defaults({userAgent:`octokit-rest.js/${UQr}`})});var B7t=Le((Jsi,pFt)=>{"use strict";pFt.exports=function(t,r){r===!0&&(r=0);var n="";if(typeof t=="string")try{n=new URL(t).protocol}catch{}else t&&t.constructor===URL&&(n=t.protocol);var i=n.split(/\:|\+/).filter(Boolean);return typeof r=="number"?i[r]:i}});var hFt=Le((Xsi,_Ft)=>{"use strict";var LQr=B7t();function zQr(e){var t={protocols:[],protocol:null,port:null,resource:"",host:"",user:"",password:"",pathname:"",hash:"",search:"",href:e,query:{},parse_failed:!1};try{var r=new URL(e);t.protocols=LQr(r),t.protocol=t.protocols[0],t.port=r.port,t.resource=r.hostname,t.host=r.host,t.user=r.username||"",t.password=r.password||"",t.pathname=r.pathname,t.hash=r.hash.slice(1),t.search=r.search.slice(1),t.href=r.href,t.query=Object.fromEntries(r.searchParams)}catch{t.protocols=["file"],t.protocol=t.protocols[0],t.port="",t.resource="",t.user="",t.pathname="",t.hash="",t.search="",t.href=e,t.query={},t.parse_failed=!0}return t}_Ft.exports=zQr});var xFt=Le((Zsi,dFt)=>{"use strict";var HQr=hFt();function YQr(e){return e&&typeof e=="object"&&"default"in e?e:{default:e}}var KQr=YQr(HQr),GQr="text/plain",VQr="us-ascii",fFt=(e,t)=>t.some(r=>r instanceof RegExp?r.test(e):r===e),jQr=(e,{stripHash:t})=>{let r=/^data:(?[^,]*?),(?[^#]*?)(?:#(?.*))?$/.exec(e);if(!r)throw new Error(`Invalid URL: ${e}`);let{type:n,data:i,hash:s}=r.groups,R=n.split(";");s=t?"":s;let l=!1;R[R.length-1]==="base64"&&(R.pop(),l=!0);let c=(R.shift()||"").toLowerCase(),_=[...R.map(f=>{let[m,x=""]=f.split("=").map(y=>y.trim());return m==="charset"&&(x=x.toLowerCase(),x===VQr)?"":`${m}${x?`=${x}`:""}`}).filter(Boolean)];return l&&_.push("base64"),(_.length>0||c&&c!==GQr)&&_.unshift(c),`data:${_.join(";")},${l?i.trim():i}${s?`#${s}`:""}`};function JQr(e,t){if(t={defaultProtocol:"http:",normalizeProtocol:!0,forceHttp:!1,forceHttps:!1,stripAuthentication:!0,stripHash:!1,stripTextFragment:!0,stripWWW:!0,removeQueryParameters:[/^utm_\w+/i],removeTrailingSlash:!0,removeSingleSlash:!0,removeDirectoryIndex:!1,sortQueryParameters:!0,...t},e=e.trim(),/^data:/i.test(e))return jQr(e,t);if(/^view-source:/i.test(e))throw new Error("`view-source:` is not supported as it is a non-standard protocol");let r=e.startsWith("//");!r&&/^\.*\//.test(e)||(e=e.replace(/^(?!(?:\w+:)?\/\/)|^\/\//,t.defaultProtocol));let i=new URL(e);if(t.forceHttp&&t.forceHttps)throw new Error("The `forceHttp` and `forceHttps` options cannot be used together");if(t.forceHttp&&i.protocol==="https:"&&(i.protocol="http:"),t.forceHttps&&i.protocol==="http:"&&(i.protocol="https:"),t.stripAuthentication&&(i.username="",i.password=""),t.stripHash?i.hash="":t.stripTextFragment&&(i.hash=i.hash.replace(/#?:~:text.*?$/i,"")),i.pathname){let R=/\b[a-z][a-z\d+\-.]{1,50}:\/\//g,l=0,c="";for(;;){let _=R.exec(i.pathname);if(!_)break;let f=_[0],m=_.index,x=i.pathname.slice(l,m);c+=x.replace(/\/{2,}/g,"/"),c+=f,l=m+f.length}let h=i.pathname.slice(l,i.pathname.length);c+=h.replace(/\/{2,}/g,"/"),i.pathname=c}if(i.pathname)try{i.pathname=decodeURI(i.pathname)}catch{}if(t.removeDirectoryIndex===!0&&(t.removeDirectoryIndex=[/^index\.[a-z]+$/]),Array.isArray(t.removeDirectoryIndex)&&t.removeDirectoryIndex.length>0){let R=i.pathname.split("/"),l=R[R.length-1];fFt(l,t.removeDirectoryIndex)&&(R=R.slice(0,-1),i.pathname=R.slice(1).join("/")+"/")}if(i.hostname&&(i.hostname=i.hostname.replace(/\.$/,""),t.stripWWW&&/^www\.(?!www\.)[a-z\-\d]{1,63}\.[a-z.\-\d]{2,63}$/.test(i.hostname)&&(i.hostname=i.hostname.replace(/^www\./,""))),Array.isArray(t.removeQueryParameters))for(let R of[...i.searchParams.keys()])fFt(R,t.removeQueryParameters)&&i.searchParams.delete(R);if(t.removeQueryParameters===!0&&(i.search=""),t.sortQueryParameters){i.searchParams.sort();try{i.search=decodeURIComponent(i.search)}catch{}}t.removeTrailingSlash&&(i.pathname=i.pathname.replace(/\/$/,""));let s=e;return e=i.toString(),!t.removeSingleSlash&&i.pathname==="/"&&!s.endsWith("/")&&i.hash===""&&(e=e.replace(/\/$/,"")),(t.removeTrailingSlash||i.pathname==="/")&&i.hash===""&&t.removeSingleSlash&&(e=e.replace(/\/$/,"")),r&&!t.normalizeProtocol&&(e=e.replace(/^http:\/\//,"//")),t.stripProtocol&&(e=e.replace(/^(?:https?:)?\/\//,"")),e}var I7t=(e,t=!1)=>{let r=/^(?:([a-z_][a-z0-9_-]{0,31})@|https?:\/\/)([\w\.\-@]+)[\/:]([\~,\.\w,\-,\_,\/]+?(?:\.git|\/)?)$/,n=s=>{let R=new Error(s);throw R.subject_url=e,R};(typeof e!="string"||!e.trim())&&n("Invalid url."),e.length>I7t.MAX_INPUT_LENGTH&&n("Input exceeds maximum length. If needed, change the value of parseUrl.MAX_INPUT_LENGTH."),t&&(typeof t!="object"&&(t={stripHash:!1}),e=JQr(e,t));let i=KQr.default(e);if(i.parse_failed){let s=i.href.match(r);s?(i.protocols=["ssh"],i.protocol="ssh",i.resource=s[2],i.host=s[2],i.user=s[1],i.pathname=`/${s[3]}`,i.parse_failed=!1):n("URL parsing failed.")}return i};I7t.MAX_INPUT_LENGTH=2048;dFt.exports=I7t});var yFt=Le((eoi,kFt)=>{"use strict";var XQr=B7t();function mFt(e){if(Array.isArray(e))return e.indexOf("ssh")!==-1||e.indexOf("rsync")!==-1;if(typeof e!="string")return!1;var t=XQr(e);if(e=e.substring(e.indexOf("://")+3),mFt(t))return!0;var r=new RegExp(".([a-zA-Z\\d]+):(\\d+)/");return!e.match(r)&&e.indexOf("@"){"use strict";var ZQr=xFt(),qFt=yFt();function eNr(e){var t=ZQr(e);return t.token="",t.password==="x-oauth-basic"?t.token=t.user:t.user==="x-token-auth"&&(t.token=t.password),qFt(t.protocols)||t.protocols.length===0&&qFt(e)?t.protocol="ssh":t.protocols.length?t.protocol=t.protocols[0]:(t.protocol="file",t.protocols=["file"]),t.href=t.href.replace(/\/$/,""),t}CFt.exports=eNr});var W7t=Le((roi,gFt)=>{"use strict";var tNr=AFt();function M7t(e){if(typeof e!="string")throw new Error("The url must be a string.");var t=/^([a-z\d-]{1,39})\/([-\.\w]{1,100})$/i;t.test(e)&&(e="https://github.com/"+e);var r=tNr(e),n=r.resource.split("."),i=null;switch(r.toString=function(S){return M7t.stringify(this,S)},r.source=n.length>2?n.slice(1-n.length).join("."):r.source=r.resource,r.git_suffix=/\.git$/.test(r.pathname),r.name=decodeURIComponent((r.pathname||r.href).replace(/(^\/)|(\/$)/g,"").replace(/\.git$/,"")),r.owner=decodeURIComponent(r.user),r.source){case"git.cloudforge.com":r.owner=r.user,r.organization=n[0],r.source="cloudforge.com";break;case"visualstudio.com":if(r.resource==="vs-ssh.visualstudio.com"){i=r.name.split("/"),i.length===4&&(r.organization=i[1],r.owner=i[2],r.name=i[3],r.full_name=i[2]+"/"+i[3]);break}else{i=r.name.split("/"),i.length===2?(r.owner=i[1],r.name=i[1],r.full_name="_git/"+r.name):i.length===3?(r.name=i[2],i[0]==="DefaultCollection"?(r.owner=i[2],r.organization=i[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=i[0],r.full_name=r.owner+"/_git/"+r.name)):i.length===4&&(r.organization=i[0],r.owner=i[1],r.name=i[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name);break}case"dev.azure.com":case"azure.com":if(r.resource==="ssh.dev.azure.com"){i=r.name.split("/"),i.length===4&&(r.organization=i[1],r.owner=i[2],r.name=i[3]);break}else{i=r.name.split("/"),i.length===5?(r.organization=i[0],r.owner=i[1],r.name=i[4],r.full_name="_git/"+r.name):i.length===3?(r.name=i[2],i[0]==="DefaultCollection"?(r.owner=i[2],r.organization=i[0],r.full_name=r.organization+"/_git/"+r.name):(r.owner=i[0],r.full_name=r.owner+"/_git/"+r.name)):i.length===4&&(r.organization=i[0],r.owner=i[1],r.name=i[3],r.full_name=r.organization+"/"+r.owner+"/_git/"+r.name),r.query&&r.query.path&&(r.filepath=r.query.path.replace(/^\/+/g,"")),r.query&&r.query.version&&(r.ref=r.query.version.replace(/^GB/,""));break}default:i=r.name.split("/");var s=i.length-1;if(i.length>=2){var R=i.indexOf("-",2),l=i.indexOf("blob",2),c=i.indexOf("tree",2),h=i.indexOf("commit",2),_=i.indexOf("issues",2),f=i.indexOf("src",2),m=i.indexOf("raw",2),x=i.indexOf("edit",2);s=R>0?R-1:l>0&&c>0?Math.min(l-1,c-1):l>0?l-1:_>0?_-1:c>0?c-1:h>0?h-1:f>0?f-1:m>0?m-1:x>0?x-1:s,r.owner=i.slice(0,s).join("/"),r.name=i[s],h&&_<0&&(r.commit=i[s+2])}r.ref="",r.filepathtype="",r.filepath="";var y=i.length>s&&i[s+1]==="-"?s+1:s;i.length>y+2&&["raw","src","blob","tree","edit"].indexOf(i[y+1])>=0&&(r.filepathtype=i[y+1],r.ref=i[y+2],i.length>y+3&&(r.filepath=i.slice(y+3).join("/"))),r.organization=r.owner;break}r.full_name||(r.full_name=r.owner,r.name&&(r.full_name&&(r.full_name+="/"),r.full_name+=r.name)),r.owner.startsWith("scm/")&&(r.source="bitbucket-server",r.owner=r.owner.replace("scm/",""),r.organization=r.owner,r.full_name=r.owner+"/"+r.name);var A=/(projects|users)\/(.*?)\/repos\/(.*?)((\/.*$)|$)/,D=A.exec(r.pathname);return D!=null&&(r.source="bitbucket-server",D[1]==="users"?r.owner="~"+D[2]:r.owner=D[2],r.organization=r.owner,r.name=D[3],i=D[4].split("/"),i.length>1&&(["raw","browse"].indexOf(i[1])>=0?(r.filepathtype=i[1],i.length>2&&(r.filepath=i.slice(2).join("/"))):i[1]==="commits"&&i.length>2&&(r.commit=i[2])),r.full_name=r.owner+"/"+r.name,r.query.at?r.ref=r.query.at:r.ref=""),r}M7t.stringify=function(e,t){t=t||(e.protocols&&e.protocols.length?e.protocols.join("+"):e.protocol);var r=e.port?":"+e.port:"",n=e.user||"git",i=e.git_suffix?".git":"";switch(t){case"ssh":return r?"ssh://"+n+"@"+e.resource+r+"/"+e.full_name+i:n+"@"+e.resource+":"+e.full_name+i;case"git+ssh":case"ssh+git":case"ftp":case"ftps":return t+"://"+n+"@"+e.resource+r+"/"+e.full_name+i;case"http":case"https":var s=e.token?rNr(e):e.user&&(e.protocols.includes("http")||e.protocols.includes("https"))?e.user+"@":"";return t+"://"+s+e.resource+r+"/"+nNr(e)+i;default:return e.href}};function rNr(e){switch(e.source){case"bitbucket.org":return"x-token-auth:"+e.token+"@";default:return e.token+"@"}}function nNr(e){switch(e.source){case"bitbucket-server":return"scm/"+e.full_name;default:var t=e.full_name.split("/").map(function(r){return encodeURIComponent(r)}).join("/");return t}}gFt.exports=M7t});var Xpe=Le((noi,U7t)=>{"use strict";var ku=U7t.exports;U7t.exports.default=ku;var Dc="\x1B[",Jpe="\x1B]",qne="\x07",cye=";",bFt=process.env.TERM_PROGRAM==="Apple_Terminal";ku.cursorTo=(e,t)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");return typeof t!="number"?Dc+(e+1)+"G":Dc+(t+1)+";"+(e+1)+"H"};ku.cursorMove=(e,t)=>{if(typeof e!="number")throw new TypeError("The `x` argument is required");let r="";return e<0?r+=Dc+-e+"D":e>0&&(r+=Dc+e+"C"),t<0?r+=Dc+-t+"A":t>0&&(r+=Dc+t+"B"),r};ku.cursorUp=(e=1)=>Dc+e+"A";ku.cursorDown=(e=1)=>Dc+e+"B";ku.cursorForward=(e=1)=>Dc+e+"C";ku.cursorBackward=(e=1)=>Dc+e+"D";ku.cursorLeft=Dc+"G";ku.cursorSavePosition=bFt?"\x1B7":Dc+"s";ku.cursorRestorePosition=bFt?"\x1B8":Dc+"u";ku.cursorGetPosition=Dc+"6n";ku.cursorNextLine=Dc+"E";ku.cursorPrevLine=Dc+"F";ku.cursorHide=Dc+"?25l";ku.cursorShow=Dc+"?25h";ku.eraseLines=e=>{let t="";for(let r=0;r[Jpe,"8",cye,cye,t,qne,e,Jpe,"8",cye,cye,qne].join("");ku.image=(e,t={})=>{let r=`${Jpe}1337;File=inline=1`;return t.width&&(r+=`;width=${t.width}`),t.height&&(r+=`;height=${t.height}`),t.preserveAspectRatio===!1&&(r+=";preserveAspectRatio=0"),r+":"+e.toString("base64")+qne};ku.iTerm={setCwd:(e=process.cwd())=>`${Jpe}50;CurrentDir=${e}${qne}`,annotation:(e,t={})=>{let r=`${Jpe}1337;`,n=typeof t.x<"u",i=typeof t.y<"u";if((n||i)&&!(n&&i&&typeof t.length<"u"))throw new Error("`x`, `y` and `length` must be defined when `x` or `y` is defined");return e=e.replace(/\|/g,""),r+=t.isHidden?"AddHiddenAnnotation=":"AddAnnotation=",t.length>0?r+=(n?[e,t.length,t.x,t.y]:[t.length,e]).join("|"):r+=e,r+qne}}});var L3=Le((ioi,EFt)=>{var iNr=Li("node:tty"),aNr=iNr?.WriteStream?.prototype?.hasColors?.()??!1,iR=(e,t)=>{if(!aNr)return i=>i;let r=`\x1B[${e}m`,n=`\x1B[${t}m`;return i=>{let s=i+"",R=s.indexOf(n);if(R===-1)return r+s+n;let l=r,c=0;for(;R!==-1;)l+=s.slice(c,R)+r,c=R+n.length,R=s.indexOf(n,c);return l+=s.slice(c)+n,l}},G0={};G0.reset=iR(0,0);G0.bold=iR(1,22);G0.dim=iR(2,22);G0.italic=iR(3,23);G0.underline=iR(4,24);G0.overline=iR(53,55);G0.inverse=iR(7,27);G0.hidden=iR(8,28);G0.strikethrough=iR(9,29);G0.black=iR(30,39);G0.red=iR(31,39);G0.green=iR(32,39);G0.yellow=iR(33,39);G0.blue=iR(34,39);G0.magenta=iR(35,39);G0.cyan=iR(36,39);G0.white=iR(37,39);G0.gray=iR(90,39);G0.bgBlack=iR(40,49);G0.bgRed=iR(41,49);G0.bgGreen=iR(42,49);G0.bgYellow=iR(43,49);G0.bgBlue=iR(44,49);G0.bgMagenta=iR(45,49);G0.bgCyan=iR(46,49);G0.bgWhite=iR(47,49);G0.bgGray=iR(100,49);G0.redBright=iR(91,39);G0.greenBright=iR(92,39);G0.yellowBright=iR(93,39);G0.blueBright=iR(94,39);G0.magentaBright=iR(95,39);G0.cyanBright=iR(96,39);G0.whiteBright=iR(97,39);G0.bgRedBright=iR(101,49);G0.bgGreenBright=iR(102,49);G0.bgYellowBright=iR(103,49);G0.bgBlueBright=iR(104,49);G0.bgMagentaBright=iR(105,49);G0.bgCyanBright=iR(106,49);G0.bgWhiteBright=iR(107,49);EFt.exports=G0});var Zpe=Le((Roi,$Ft)=>{"use strict";function DFt(e){return!!e&&(typeof e=="object"||typeof e=="function")&&typeof e.then=="function"}var SFt=$Ft.exports=function(e,t,r="async"){return typeof t=="string"&&(r=t,t=void 0),t=t||function(){},function(){var n=arguments,i=this,s=new Promise(function(R,l){var c=!1;let h=function(P){c&&console.warn("Run-async promise already resolved."),c=!0,R(P)};var _=!1;let f=function(P){_&&console.warn("Run-async promise already rejected."),_=!0,l(P)};var m=!1,x=!1,y=!1,A=function(){return y?(console.warn("Run-async async() called outside a valid run-async context, callback will be ignored."),function(){}):(x&&console.warn(`Run-async wrapped function (async) returned a promise. +Calls to async() callback can have unexpected results.`),m=!0,function(P,M){P?f(P):h(M)})},D;i&&r&&Proxy?D=new Proxy(i,{get(P,M){return M===r?(M in P&&console.warn(`${r} property is been shadowed by run-sync`),A):Reflect.get(...arguments)}}):D={[r]:A};var S=e.apply(D,Array.prototype.slice.call(n));m?DFt(S)&&console.warn("Run-async wrapped function (sync) returned a promise but async() callback must be executed to resolve."):DFt(S)?(x=!0,S.then(h,f)):h(S),y=!0});return s.then(t.bind(null,null),t),s}};SFt.cb=function(e,t){return SFt(function(){var r=Array.prototype.slice.call(arguments);return r.length===e.length-1&&r.push(this.async()),e.apply(this,r)},t)}});var Sc=Le(Tye=>{"use strict";Object.defineProperty(Tye,"__esModule",{value:!0});Tye.isFunction=void 0;function TNr(e){return typeof e=="function"}Tye.isFunction=TNr});var _M=Le(pye=>{"use strict";Object.defineProperty(pye,"__esModule",{value:!0});pye.createErrorClass=void 0;function pNr(e){var t=function(n){Error.call(n),n.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}pye.createErrorClass=pNr});var F7t=Le(_ye=>{"use strict";Object.defineProperty(_ye,"__esModule",{value:!0});_ye.UnsubscriptionError=void 0;var _Nr=_M();_ye.UnsubscriptionError=_Nr.createErrorClass(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription: +`+r.map(function(n,i){return i+1+") "+n.toString()}).join(` + `):"",this.name="UnsubscriptionError",this.errors=r}})});var LN=Le(hye=>{"use strict";Object.defineProperty(hye,"__esModule",{value:!0});hye.arrRemove=void 0;function hNr(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}hye.arrRemove=hNr});var hA=Le(SC=>{"use strict";var QFt=SC&&SC.__values||function(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")},NFt=SC&&SC.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},wFt=SC&&SC.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";Object.defineProperty(fye,"__esModule",{value:!0});fye.config=void 0;fye.config={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}});var H7t=Le(nD=>{"use strict";var IFt=nD&&nD.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},MFt=nD&&nD.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";Object.defineProperty(dye,"__esModule",{value:!0});dye.reportUnhandledError=void 0;var dNr=Cne(),xNr=H7t();function mNr(e){xNr.timeoutProvider.setTimeout(function(){var t=dNr.config.onUnhandledError;if(t)t(e);else throw e})}dye.reportUnhandledError=mNr});var Im=Le(xye=>{"use strict";Object.defineProperty(xye,"__esModule",{value:!0});xye.noop=void 0;function kNr(){}xye.noop=kNr});var WFt=Le(iD=>{"use strict";Object.defineProperty(iD,"__esModule",{value:!0});iD.createNotification=iD.nextNotification=iD.errorNotification=iD.COMPLETE_NOTIFICATION=void 0;iD.COMPLETE_NOTIFICATION=function(){return mye("C",void 0,void 0)}();function yNr(e){return mye("E",void 0,e)}iD.errorNotification=yNr;function qNr(e){return mye("N",e,void 0)}iD.nextNotification=qNr;function mye(e,t,r){return{kind:e,value:t,error:r}}iD.createNotification=mye});var kye=Le(Ane=>{"use strict";Object.defineProperty(Ane,"__esModule",{value:!0});Ane.captureError=Ane.errorContext=void 0;var UFt=Cne(),cJ=null;function CNr(e){if(UFt.config.useDeprecatedSynchronousErrorHandling){var t=!cJ;if(t&&(cJ={errorThrown:!1,error:null}),e(),t){var r=cJ,n=r.errorThrown,i=r.error;if(cJ=null,n)throw i}}else e()}Ane.errorContext=CNr;function ANr(e){UFt.config.useDeprecatedSynchronousErrorHandling&&cJ&&(cJ.errorThrown=!0,cJ.error=e)}Ane.captureError=ANr});var gne=Le(zE=>{"use strict";var zFt=zE&&zE.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(zE,"__esModule",{value:!0});zE.EMPTY_OBSERVER=zE.SafeSubscriber=zE.Subscriber=void 0;var gNr=Sc(),FFt=hA(),j7t=Cne(),bNr=Y7t(),LFt=Im(),K7t=WFt(),ENr=H7t(),ONr=kye(),HFt=function(e){zFt(t,e);function t(r){var n=e.call(this)||this;return n.isStopped=!1,r?(n.destination=r,FFt.isSubscription(r)&&r.add(n)):n.destination=zE.EMPTY_OBSERVER,n}return t.create=function(r,n,i){return new YFt(r,n,i)},t.prototype.next=function(r){this.isStopped?V7t(K7t.nextNotification(r),this):this._next(r)},t.prototype.error=function(r){this.isStopped?V7t(K7t.errorNotification(r),this):(this.isStopped=!0,this._error(r))},t.prototype.complete=function(){this.isStopped?V7t(K7t.COMPLETE_NOTIFICATION,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(r){this.destination.next(r)},t.prototype._error=function(r){try{this.destination.error(r)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t}(FFt.Subscription);zE.Subscriber=HFt;var vNr=Function.prototype.bind;function G7t(e,t){return vNr.call(e,t)}var DNr=function(){function e(t){this.partialObserver=t}return e.prototype.next=function(t){var r=this.partialObserver;if(r.next)try{r.next(t)}catch(n){yye(n)}},e.prototype.error=function(t){var r=this.partialObserver;if(r.error)try{r.error(t)}catch(n){yye(n)}else yye(t)},e.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(r){yye(r)}},e}(),YFt=function(e){zFt(t,e);function t(r,n,i){var s=e.call(this)||this,R;if(gNr.isFunction(r)||!r)R={next:r??void 0,error:n??void 0,complete:i??void 0};else{var l;s&&j7t.config.useDeprecatedNextContext?(l=Object.create(r),l.unsubscribe=function(){return s.unsubscribe()},R={next:r.next&&G7t(r.next,l),error:r.error&&G7t(r.error,l),complete:r.complete&&G7t(r.complete,l)}):R=r}return s.destination=new DNr(R),s}return t}(HFt);zE.SafeSubscriber=YFt;function yye(e){j7t.config.useDeprecatedSynchronousErrorHandling?ONr.captureError(e):bNr.reportUnhandledError(e)}function SNr(e){throw e}function V7t(e,t){var r=j7t.config.onStoppedNotification;r&&ENr.timeoutProvider.setTimeout(function(){return r(e,t)})}zE.EMPTY_OBSERVER={closed:!0,next:LFt.noop,error:SNr,complete:LFt.noop}});var t_e=Le(qye=>{"use strict";Object.defineProperty(qye,"__esModule",{value:!0});qye.observable=void 0;qye.observable=function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"}()});var Mm=Le(Cye=>{"use strict";Object.defineProperty(Cye,"__esModule",{value:!0});Cye.identity=void 0;function $Nr(e){return e}Cye.identity=$Nr});var r_e=Le(bne=>{"use strict";Object.defineProperty(bne,"__esModule",{value:!0});bne.pipeFromArray=bne.pipe=void 0;var QNr=Mm();function NNr(){for(var e=[],t=0;t{"use strict";Object.defineProperty(Aye,"__esModule",{value:!0});Aye.Observable=void 0;var X7t=gne(),wNr=hA(),PNr=t_e(),BNr=r_e(),INr=Cne(),J7t=Sc(),MNr=kye(),WNr=function(){function e(t){t&&(this._subscribe=t)}return e.prototype.lift=function(t){var r=new e;return r.source=this,r.operator=t,r},e.prototype.subscribe=function(t,r,n){var i=this,s=FNr(t)?t:new X7t.SafeSubscriber(t,r,n);return MNr.errorContext(function(){var R=i,l=R.operator,c=R.source;s.add(l?l.call(s,c):c?i._subscribe(s):i._trySubscribe(s))}),s},e.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(r){t.error(r)}},e.prototype.forEach=function(t,r){var n=this;return r=GFt(r),new r(function(i,s){var R=new X7t.SafeSubscriber({next:function(l){try{t(l)}catch(c){s(c),R.unsubscribe()}},error:s,complete:i});n.subscribe(R)})},e.prototype._subscribe=function(t){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(t)},e.prototype[PNr.observable]=function(){return this},e.prototype.pipe=function(){for(var t=[],r=0;r{"use strict";Object.defineProperty(Ene,"__esModule",{value:!0});Ene.operate=Ene.hasLift=void 0;var LNr=Sc();function VFt(e){return LNr.isFunction(e?.lift)}Ene.hasLift=VFt;function zNr(e){return function(t){if(VFt(t))return t.lift(function(r){try{return e(r,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}Ene.operate=zNr});var po=Le(hM=>{"use strict";var HNr=hM&&hM.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(hM,"__esModule",{value:!0});hM.OperatorSubscriber=hM.createOperatorSubscriber=void 0;var YNr=gne();function KNr(e,t,r,n,i){return new jFt(e,t,r,n,i)}hM.createOperatorSubscriber=KNr;var jFt=function(e){HNr(t,e);function t(r,n,i,s,R,l){var c=e.call(this,r)||this;return c.onFinalize=R,c.shouldUnsubscribe=l,c._next=n?function(h){try{n(h)}catch(_){r.error(_)}}:e.prototype._next,c._error=s?function(h){try{s(h)}catch(_){r.error(_)}finally{this.unsubscribe()}}:e.prototype._error,c._complete=i?function(){try{i()}catch(h){r.error(h)}finally{this.unsubscribe()}}:e.prototype._complete,c}return t.prototype.unsubscribe=function(){var r;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&((r=this.onFinalize)===null||r===void 0||r.call(this))}},t}(YNr.Subscriber);hM.OperatorSubscriber=jFt});var Z7t=Le(gye=>{"use strict";Object.defineProperty(gye,"__esModule",{value:!0});gye.refCount=void 0;var GNr=bs(),VNr=po();function jNr(){return GNr.operate(function(e,t){var r=null;e._refCount++;var n=VNr.createOperatorSubscriber(t,void 0,void 0,void 0,function(){if(!e||e._refCount<=0||0<--e._refCount){r=null;return}var i=e._connection,s=r;r=null,i&&(!s||i===s)&&i.unsubscribe(),t.unsubscribe()});e.subscribe(n),n.closed||(r=e.connect())})}gye.refCount=jNr});var n_e=Le(One=>{"use strict";var JNr=One&&One.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(One,"__esModule",{value:!0});One.ConnectableObservable=void 0;var XNr=eT(),JFt=hA(),ZNr=Z7t(),ewr=po(),twr=bs(),rwr=function(e){JNr(t,e);function t(r,n){var i=e.call(this)||this;return i.source=r,i.subjectFactory=n,i._subject=null,i._refCount=0,i._connection=null,twr.hasLift(r)&&(i.lift=r.lift),i}return t.prototype._subscribe=function(r){return this.getSubject().subscribe(r)},t.prototype.getSubject=function(){var r=this._subject;return(!r||r.isStopped)&&(this._subject=this.subjectFactory()),this._subject},t.prototype._teardown=function(){this._refCount=0;var r=this._connection;this._subject=this._connection=null,r?.unsubscribe()},t.prototype.connect=function(){var r=this,n=this._connection;if(!n){n=this._connection=new JFt.Subscription;var i=this.getSubject();n.add(this.source.subscribe(ewr.createOperatorSubscriber(i,void 0,function(){r._teardown(),i.complete()},function(s){r._teardown(),i.error(s)},function(){return r._teardown()}))),n.closed&&(this._connection=null,n=JFt.Subscription.EMPTY)}return n},t.prototype.refCount=function(){return ZNr.refCount()(this)},t}(XNr.Observable);One.ConnectableObservable=rwr});var XFt=Le(i_e=>{"use strict";Object.defineProperty(i_e,"__esModule",{value:!0});i_e.performanceTimestampProvider=void 0;i_e.performanceTimestampProvider={now:function(){return(i_e.performanceTimestampProvider.delegate||performance).now()},delegate:void 0}});var emt=Le(HE=>{"use strict";var ZFt=HE&&HE.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},eLt=HE&&HE.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";Object.defineProperty(bye,"__esModule",{value:!0});bye.animationFrames=void 0;var iwr=eT(),awr=XFt(),tLt=emt();function swr(e){return e?rLt(e):owr}bye.animationFrames=swr;function rLt(e){return new iwr.Observable(function(t){var r=e||awr.performanceTimestampProvider,n=r.now(),i=0,s=function(){t.closed||(i=tLt.animationFrameProvider.requestAnimationFrame(function(R){i=0;var l=r.now();t.next({timestamp:e?l:R,elapsed:l-n}),s()}))};return s(),function(){i&&tLt.animationFrameProvider.cancelAnimationFrame(i)}})}var owr=rLt()});var tmt=Le(Eye=>{"use strict";Object.defineProperty(Eye,"__esModule",{value:!0});Eye.ObjectUnsubscribedError=void 0;var Rwr=_M();Eye.ObjectUnsubscribedError=Rwr.createErrorClass(function(e){return function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"}})});var Wm=Le(aD=>{"use strict";var aLt=aD&&aD.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}(),uwr=aD&&aD.__values||function(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(aD,"__esModule",{value:!0});aD.AnonymousSubject=aD.Subject=void 0;var iLt=eT(),nmt=hA(),lwr=tmt(),cwr=LN(),rmt=kye(),sLt=function(e){aLt(t,e);function t(){var r=e.call(this)||this;return r.closed=!1,r.currentObservers=null,r.observers=[],r.isStopped=!1,r.hasError=!1,r.thrownError=null,r}return t.prototype.lift=function(r){var n=new imt(this,this);return n.operator=r,n},t.prototype._throwIfClosed=function(){if(this.closed)throw new lwr.ObjectUnsubscribedError},t.prototype.next=function(r){var n=this;rmt.errorContext(function(){var i,s;if(n._throwIfClosed(),!n.isStopped){n.currentObservers||(n.currentObservers=Array.from(n.observers));try{for(var R=uwr(n.currentObservers),l=R.next();!l.done;l=R.next()){var c=l.value;c.next(r)}}catch(h){i={error:h}}finally{try{l&&!l.done&&(s=R.return)&&s.call(R)}finally{if(i)throw i.error}}}})},t.prototype.error=function(r){var n=this;rmt.errorContext(function(){if(n._throwIfClosed(),!n.isStopped){n.hasError=n.isStopped=!0,n.thrownError=r;for(var i=n.observers;i.length;)i.shift().error(r)}})},t.prototype.complete=function(){var r=this;rmt.errorContext(function(){if(r._throwIfClosed(),!r.isStopped){r.isStopped=!0;for(var n=r.observers;n.length;)n.shift().complete()}})},t.prototype.unsubscribe=function(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null},Object.defineProperty(t.prototype,"observed",{get:function(){var r;return((r=this.observers)===null||r===void 0?void 0:r.length)>0},enumerable:!1,configurable:!0}),t.prototype._trySubscribe=function(r){return this._throwIfClosed(),e.prototype._trySubscribe.call(this,r)},t.prototype._subscribe=function(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)},t.prototype._innerSubscribe=function(r){var n=this,i=this,s=i.hasError,R=i.isStopped,l=i.observers;return s||R?nmt.EMPTY_SUBSCRIPTION:(this.currentObservers=null,l.push(r),new nmt.Subscription(function(){n.currentObservers=null,cwr.arrRemove(l,r)}))},t.prototype._checkFinalizedStatuses=function(r){var n=this,i=n.hasError,s=n.thrownError,R=n.isStopped;i?r.error(s):R&&r.complete()},t.prototype.asObservable=function(){var r=new iLt.Observable;return r.source=this,r},t.create=function(r,n){return new imt(r,n)},t}(iLt.Observable);aD.Subject=sLt;var imt=function(e){aLt(t,e);function t(r,n){var i=e.call(this)||this;return i.destination=r,i.source=n,i}return t.prototype.next=function(r){var n,i;(i=(n=this.destination)===null||n===void 0?void 0:n.next)===null||i===void 0||i.call(n,r)},t.prototype.error=function(r){var n,i;(i=(n=this.destination)===null||n===void 0?void 0:n.error)===null||i===void 0||i.call(n,r)},t.prototype.complete=function(){var r,n;(n=(r=this.destination)===null||r===void 0?void 0:r.complete)===null||n===void 0||n.call(r)},t.prototype._subscribe=function(r){var n,i;return(i=(n=this.source)===null||n===void 0?void 0:n.subscribe(r))!==null&&i!==void 0?i:nmt.EMPTY_SUBSCRIPTION},t}(sLt);aD.AnonymousSubject=imt});var amt=Le(vne=>{"use strict";var Twr=vne&&vne.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(vne,"__esModule",{value:!0});vne.BehaviorSubject=void 0;var pwr=Wm(),_wr=function(e){Twr(t,e);function t(r){var n=e.call(this)||this;return n._value=r,n}return Object.defineProperty(t.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),t.prototype._subscribe=function(r){var n=e.prototype._subscribe.call(this,r);return!n.closed&&r.next(this._value),n},t.prototype.getValue=function(){var r=this,n=r.hasError,i=r.thrownError,s=r._value;if(n)throw i;return this._throwIfClosed(),s},t.prototype.next=function(r){e.prototype.next.call(this,this._value=r)},t}(pwr.Subject);vne.BehaviorSubject=_wr});var Oye=Le(a_e=>{"use strict";Object.defineProperty(a_e,"__esModule",{value:!0});a_e.dateTimestampProvider=void 0;a_e.dateTimestampProvider={now:function(){return(a_e.dateTimestampProvider.delegate||Date).now()},delegate:void 0}});var vye=Le(Dne=>{"use strict";var hwr=Dne&&Dne.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(Dne,"__esModule",{value:!0});Dne.ReplaySubject=void 0;var fwr=Wm(),dwr=Oye(),xwr=function(e){hwr(t,e);function t(r,n,i){r===void 0&&(r=1/0),n===void 0&&(n=1/0),i===void 0&&(i=dwr.dateTimestampProvider);var s=e.call(this)||this;return s._bufferSize=r,s._windowTime=n,s._timestampProvider=i,s._buffer=[],s._infiniteTimeWindow=!0,s._infiniteTimeWindow=n===1/0,s._bufferSize=Math.max(1,r),s._windowTime=Math.max(1,n),s}return t.prototype.next=function(r){var n=this,i=n.isStopped,s=n._buffer,R=n._infiniteTimeWindow,l=n._timestampProvider,c=n._windowTime;i||(s.push(r),!R&&s.push(l.now()+c)),this._trimBuffer(),e.prototype.next.call(this,r)},t.prototype._subscribe=function(r){this._throwIfClosed(),this._trimBuffer();for(var n=this._innerSubscribe(r),i=this,s=i._infiniteTimeWindow,R=i._buffer,l=R.slice(),c=0;c{"use strict";var mwr=Sne&&Sne.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(Sne,"__esModule",{value:!0});Sne.AsyncSubject=void 0;var kwr=Wm(),ywr=function(e){mwr(t,e);function t(){var r=e!==null&&e.apply(this,arguments)||this;return r._value=null,r._hasValue=!1,r._isComplete=!1,r}return t.prototype._checkFinalizedStatuses=function(r){var n=this,i=n.hasError,s=n._hasValue,R=n._value,l=n.thrownError,c=n.isStopped,h=n._isComplete;i?r.error(l):(c||h)&&(s&&r.next(R),r.complete())},t.prototype.next=function(r){this.isStopped||(this._value=r,this._hasValue=!0)},t.prototype.complete=function(){var r=this,n=r._hasValue,i=r._value,s=r._isComplete;s||(this._isComplete=!0,n&&e.prototype.next.call(this,i),e.prototype.complete.call(this))},t}(kwr.Subject);Sne.AsyncSubject=ywr});var oLt=Le($ne=>{"use strict";var qwr=$ne&&$ne.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty($ne,"__esModule",{value:!0});$ne.Action=void 0;var Cwr=hA(),Awr=function(e){qwr(t,e);function t(r,n){return e.call(this)||this}return t.prototype.schedule=function(r,n){return n===void 0&&(n=0),this},t}(Cwr.Subscription);$ne.Action=Awr});var lLt=Le(sD=>{"use strict";var RLt=sD&&sD.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},uLt=sD&&sD.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";var gwr=Qne&&Qne.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(Qne,"__esModule",{value:!0});Qne.AsyncAction=void 0;var bwr=oLt(),cLt=lLt(),Ewr=LN(),Owr=function(e){gwr(t,e);function t(r,n){var i=e.call(this,r,n)||this;return i.scheduler=r,i.work=n,i.pending=!1,i}return t.prototype.schedule=function(r,n){var i;if(n===void 0&&(n=0),this.closed)return this;this.state=r;var s=this.id,R=this.scheduler;return s!=null&&(this.id=this.recycleAsyncId(R,s,n)),this.pending=!0,this.delay=n,this.id=(i=this.id)!==null&&i!==void 0?i:this.requestAsyncId(R,this.id,n),this},t.prototype.requestAsyncId=function(r,n,i){return i===void 0&&(i=0),cLt.intervalProvider.setInterval(r.flush.bind(r,this),i)},t.prototype.recycleAsyncId=function(r,n,i){if(i===void 0&&(i=0),i!=null&&this.delay===i&&this.pending===!1)return n;n!=null&&cLt.intervalProvider.clearInterval(n)},t.prototype.execute=function(r,n){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;var i=this._execute(r,n);if(i)return i;this.pending===!1&&this.id!=null&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))},t.prototype._execute=function(r,n){var i=!1,s;try{this.work(r)}catch(R){i=!0,s=R||new Error("Scheduled action threw falsy error")}if(i)return this.unsubscribe(),s},t.prototype.unsubscribe=function(){if(!this.closed){var r=this,n=r.id,i=r.scheduler,s=i.actions;this.work=this.state=this.scheduler=null,this.pending=!1,Ewr.arrRemove(s,this),n!=null&&(this.id=this.recycleAsyncId(i,n,null)),this.delay=null,e.prototype.unsubscribe.call(this)}},t}(bwr.Action);Qne.AsyncAction=Owr});var pLt=Le(wne=>{"use strict";Object.defineProperty(wne,"__esModule",{value:!0});wne.TestTools=wne.Immediate=void 0;var vwr=1,smt,Sye={};function TLt(e){return e in Sye?(delete Sye[e],!0):!1}wne.Immediate={setImmediate:function(e){var t=vwr++;return Sye[t]=!0,smt||(smt=Promise.resolve()),smt.then(function(){return TLt(t)&&e()}),t},clearImmediate:function(e){TLt(e)}};wne.TestTools={pending:function(){return Object.keys(Sye).length}}});var hLt=Le(oD=>{"use strict";var Dwr=oD&&oD.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},Swr=oD&&oD.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";var Nwr=Pne&&Pne.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(Pne,"__esModule",{value:!0});Pne.AsapAction=void 0;var wwr=Nne(),fLt=hLt(),Pwr=function(e){Nwr(t,e);function t(r,n){var i=e.call(this,r,n)||this;return i.scheduler=r,i.work=n,i}return t.prototype.requestAsyncId=function(r,n,i){return i===void 0&&(i=0),i!==null&&i>0?e.prototype.requestAsyncId.call(this,r,n,i):(r.actions.push(this),r._scheduled||(r._scheduled=fLt.immediateProvider.setImmediate(r.flush.bind(r,void 0))))},t.prototype.recycleAsyncId=function(r,n,i){var s;if(i===void 0&&(i=0),i!=null?i>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,n,i);var R=r.actions;n!=null&&((s=R[R.length-1])===null||s===void 0?void 0:s.id)!==n&&(fLt.immediateProvider.clearImmediate(n),r._scheduled===n&&(r._scheduled=void 0))},t}(wwr.AsyncAction);Pne.AsapAction=Pwr});var omt=Le($ye=>{"use strict";Object.defineProperty($ye,"__esModule",{value:!0});$ye.Scheduler=void 0;var Bwr=Oye(),Iwr=function(){function e(t,r){r===void 0&&(r=e.now),this.schedulerActionCtor=t,this.now=r}return e.prototype.schedule=function(t,r,n){return r===void 0&&(r=0),new this.schedulerActionCtor(this,t).schedule(n,r)},e.now=Bwr.dateTimestampProvider.now,e}();$ye.Scheduler=Iwr});var Ine=Le(Bne=>{"use strict";var Mwr=Bne&&Bne.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(Bne,"__esModule",{value:!0});Bne.AsyncScheduler=void 0;var xLt=omt(),Wwr=function(e){Mwr(t,e);function t(r,n){n===void 0&&(n=xLt.Scheduler.now);var i=e.call(this,r,n)||this;return i.actions=[],i._active=!1,i}return t.prototype.flush=function(r){var n=this.actions;if(this._active){n.push(r);return}var i;this._active=!0;do if(i=r.execute(r.state,r.delay))break;while(r=n.shift());if(this._active=!1,i){for(;r=n.shift();)r.unsubscribe();throw i}},t}(xLt.Scheduler);Bne.AsyncScheduler=Wwr});var mLt=Le(Mne=>{"use strict";var Uwr=Mne&&Mne.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(Mne,"__esModule",{value:!0});Mne.AsapScheduler=void 0;var Fwr=Ine(),Lwr=function(e){Uwr(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var n=this._scheduled;this._scheduled=void 0;var i=this.actions,s;r=r||i.shift();do if(s=r.execute(r.state,r.delay))break;while((r=i[0])&&r.id===n&&i.shift());if(this._active=!1,s){for(;(r=i[0])&&r.id===n&&i.shift();)r.unsubscribe();throw s}},t}(Fwr.AsyncScheduler);Mne.AsapScheduler=Lwr});var kLt=Le(TJ=>{"use strict";Object.defineProperty(TJ,"__esModule",{value:!0});TJ.asap=TJ.asapScheduler=void 0;var zwr=dLt(),Hwr=mLt();TJ.asapScheduler=new Hwr.AsapScheduler(zwr.AsapAction);TJ.asap=TJ.asapScheduler});var $C=Le(pJ=>{"use strict";Object.defineProperty(pJ,"__esModule",{value:!0});pJ.async=pJ.asyncScheduler=void 0;var Ywr=Nne(),Kwr=Ine();pJ.asyncScheduler=new Kwr.AsyncScheduler(Ywr.AsyncAction);pJ.async=pJ.asyncScheduler});var yLt=Le(Wne=>{"use strict";var Gwr=Wne&&Wne.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(Wne,"__esModule",{value:!0});Wne.QueueAction=void 0;var Vwr=Nne(),jwr=function(e){Gwr(t,e);function t(r,n){var i=e.call(this,r,n)||this;return i.scheduler=r,i.work=n,i}return t.prototype.schedule=function(r,n){return n===void 0&&(n=0),n>0?e.prototype.schedule.call(this,r,n):(this.delay=n,this.state=r,this.scheduler.flush(this),this)},t.prototype.execute=function(r,n){return n>0||this.closed?e.prototype.execute.call(this,r,n):this._execute(r,n)},t.prototype.requestAsyncId=function(r,n,i){return i===void 0&&(i=0),i!=null&&i>0||i==null&&this.delay>0?e.prototype.requestAsyncId.call(this,r,n,i):(r.flush(this),0)},t}(Vwr.AsyncAction);Wne.QueueAction=jwr});var qLt=Le(Une=>{"use strict";var Jwr=Une&&Une.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(Une,"__esModule",{value:!0});Une.QueueScheduler=void 0;var Xwr=Ine(),Zwr=function(e){Jwr(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t}(Xwr.AsyncScheduler);Une.QueueScheduler=Zwr});var CLt=Le(_J=>{"use strict";Object.defineProperty(_J,"__esModule",{value:!0});_J.queue=_J.queueScheduler=void 0;var ePr=yLt(),tPr=qLt();_J.queueScheduler=new tPr.QueueScheduler(ePr.QueueAction);_J.queue=_J.queueScheduler});var gLt=Le(Fne=>{"use strict";var rPr=Fne&&Fne.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(Fne,"__esModule",{value:!0});Fne.AnimationFrameAction=void 0;var nPr=Nne(),ALt=emt(),iPr=function(e){rPr(t,e);function t(r,n){var i=e.call(this,r,n)||this;return i.scheduler=r,i.work=n,i}return t.prototype.requestAsyncId=function(r,n,i){return i===void 0&&(i=0),i!==null&&i>0?e.prototype.requestAsyncId.call(this,r,n,i):(r.actions.push(this),r._scheduled||(r._scheduled=ALt.animationFrameProvider.requestAnimationFrame(function(){return r.flush(void 0)})))},t.prototype.recycleAsyncId=function(r,n,i){var s;if(i===void 0&&(i=0),i!=null?i>0:this.delay>0)return e.prototype.recycleAsyncId.call(this,r,n,i);var R=r.actions;n!=null&&((s=R[R.length-1])===null||s===void 0?void 0:s.id)!==n&&(ALt.animationFrameProvider.cancelAnimationFrame(n),r._scheduled=void 0)},t}(nPr.AsyncAction);Fne.AnimationFrameAction=iPr});var bLt=Le(Lne=>{"use strict";var aPr=Lne&&Lne.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(Lne,"__esModule",{value:!0});Lne.AnimationFrameScheduler=void 0;var sPr=Ine(),oPr=function(e){aPr(t,e);function t(){return e!==null&&e.apply(this,arguments)||this}return t.prototype.flush=function(r){this._active=!0;var n=this._scheduled;this._scheduled=void 0;var i=this.actions,s;r=r||i.shift();do if(s=r.execute(r.state,r.delay))break;while((r=i[0])&&r.id===n&&i.shift());if(this._active=!1,s){for(;(r=i[0])&&r.id===n&&i.shift();)r.unsubscribe();throw s}},t}(sPr.AsyncScheduler);Lne.AnimationFrameScheduler=oPr});var ELt=Le(hJ=>{"use strict";Object.defineProperty(hJ,"__esModule",{value:!0});hJ.animationFrame=hJ.animationFrameScheduler=void 0;var RPr=gLt(),uPr=bLt();hJ.animationFrameScheduler=new uPr.AnimationFrameScheduler(RPr.AnimationFrameAction);hJ.animationFrame=hJ.animationFrameScheduler});var DLt=Le(fM=>{"use strict";var OLt=fM&&fM.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)Object.prototype.hasOwnProperty.call(i,s)&&(n[s]=i[s])},e(t,r)};return function(t,r){if(typeof r!="function"&&r!==null)throw new TypeError("Class extends value "+String(r)+" is not a constructor or null");e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(fM,"__esModule",{value:!0});fM.VirtualAction=fM.VirtualTimeScheduler=void 0;var lPr=Nne(),cPr=hA(),TPr=Ine(),pPr=function(e){OLt(t,e);function t(r,n){r===void 0&&(r=vLt),n===void 0&&(n=1/0);var i=e.call(this,r,function(){return i.frame})||this;return i.maxFrames=n,i.frame=0,i.index=-1,i}return t.prototype.flush=function(){for(var r=this,n=r.actions,i=r.maxFrames,s,R;(R=n[0])&&R.delay<=i&&(n.shift(),this.frame=R.delay,!(s=R.execute(R.state,R.delay))););if(s){for(;R=n.shift();)R.unsubscribe();throw s}},t.frameTimeFactor=10,t}(TPr.AsyncScheduler);fM.VirtualTimeScheduler=pPr;var vLt=function(e){OLt(t,e);function t(r,n,i){i===void 0&&(i=r.index+=1);var s=e.call(this,r,n)||this;return s.scheduler=r,s.work=n,s.index=i,s.active=!0,s.index=r.index=i,s}return t.prototype.schedule=function(r,n){if(n===void 0&&(n=0),Number.isFinite(n)){if(!this.id)return e.prototype.schedule.call(this,r,n);this.active=!1;var i=new t(this.scheduler,this.work);return this.add(i),i.schedule(r,n)}else return cPr.Subscription.EMPTY},t.prototype.requestAsyncId=function(r,n,i){i===void 0&&(i=0),this.delay=r.frame+i;var s=r.actions;return s.push(this),s.sort(t.sortActions),1},t.prototype.recycleAsyncId=function(r,n,i){i===void 0&&(i=0)},t.prototype._execute=function(r,n){if(this.active===!0)return e.prototype._execute.call(this,r,n)},t.sortActions=function(r,n){return r.delay===n.delay?r.index===n.index?0:r.index>n.index?1:-1:r.delay>n.delay?1:-1},t}(lPr.AsyncAction);fM.VirtualAction=vLt});var YE=Le(fJ=>{"use strict";Object.defineProperty(fJ,"__esModule",{value:!0});fJ.empty=fJ.EMPTY=void 0;var SLt=eT();fJ.EMPTY=new SLt.Observable(function(e){return e.complete()});function _Pr(e){return e?hPr(e):fJ.EMPTY}fJ.empty=_Pr;function hPr(e){return new SLt.Observable(function(t){return e.schedule(function(){return t.complete()})})}});var s_e=Le(Qye=>{"use strict";Object.defineProperty(Qye,"__esModule",{value:!0});Qye.isScheduler=void 0;var fPr=Sc();function dPr(e){return e&&fPr.isFunction(e.schedule)}Qye.isScheduler=dPr});var QC=Le(dM=>{"use strict";Object.defineProperty(dM,"__esModule",{value:!0});dM.popNumber=dM.popScheduler=dM.popResultSelector=void 0;var xPr=Sc(),mPr=s_e();function Rmt(e){return e[e.length-1]}function kPr(e){return xPr.isFunction(Rmt(e))?e.pop():void 0}dM.popResultSelector=kPr;function yPr(e){return mPr.isScheduler(Rmt(e))?e.pop():void 0}dM.popScheduler=yPr;function qPr(e,t){return typeof Rmt(e)=="number"?e.pop():t}dM.popNumber=qPr});var wye=Le(Nye=>{"use strict";Object.defineProperty(Nye,"__esModule",{value:!0});Nye.isArrayLike=void 0;Nye.isArrayLike=function(e){return e&&typeof e.length=="number"&&typeof e!="function"}});var umt=Le(Pye=>{"use strict";Object.defineProperty(Pye,"__esModule",{value:!0});Pye.isPromise=void 0;var CPr=Sc();function APr(e){return CPr.isFunction(e?.then)}Pye.isPromise=APr});var lmt=Le(Bye=>{"use strict";Object.defineProperty(Bye,"__esModule",{value:!0});Bye.isInteropObservable=void 0;var gPr=t_e(),bPr=Sc();function EPr(e){return bPr.isFunction(e[gPr.observable])}Bye.isInteropObservable=EPr});var cmt=Le(Iye=>{"use strict";Object.defineProperty(Iye,"__esModule",{value:!0});Iye.isAsyncIterable=void 0;var OPr=Sc();function vPr(e){return Symbol.asyncIterator&&OPr.isFunction(e?.[Symbol.asyncIterator])}Iye.isAsyncIterable=vPr});var Tmt=Le(Mye=>{"use strict";Object.defineProperty(Mye,"__esModule",{value:!0});Mye.createInvalidObservableTypeError=void 0;function DPr(e){return new TypeError("You provided "+(e!==null&&typeof e=="object"?"an invalid object":"'"+e+"'")+" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.")}Mye.createInvalidObservableTypeError=DPr});var pmt=Le(zne=>{"use strict";Object.defineProperty(zne,"__esModule",{value:!0});zne.iterator=zne.getSymbolIterator=void 0;function $Lt(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}zne.getSymbolIterator=$Lt;zne.iterator=$Lt()});var _mt=Le(Wye=>{"use strict";Object.defineProperty(Wye,"__esModule",{value:!0});Wye.isIterable=void 0;var SPr=pmt(),$Pr=Sc();function QPr(e){return $Pr.isFunction(e?.[SPr.iterator])}Wye.isIterable=QPr});var Uye=Le(z3=>{"use strict";var NPr=z3&&z3.__generator||function(e,t){var r={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,i,s,R;return R={next:l(0),throw:l(1),return:l(2)},typeof Symbol=="function"&&(R[Symbol.iterator]=function(){return this}),R;function l(h){return function(_){return c([h,_])}}function c(h){if(n)throw new TypeError("Generator is already executing.");for(;r;)try{if(n=1,i&&(s=h[0]&2?i.return:h[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,h[1])).done)return s;switch(i=0,s&&(h=[h[0]&2,s.value]),h[0]){case 0:case 1:s=h;break;case 4:return r.label++,{value:h[1],done:!1};case 5:r.label++,i=h[1],h=[0];continue;case 7:h=r.ops.pop(),r.trys.pop();continue;default:if(s=r.trys,!(s=s.length>0&&s[s.length-1])&&(h[0]===6||h[0]===2)){r=0;continue}if(h[0]===3&&(!s||h[1]>s[0]&&h[1]1||l(m,x)})})}function l(m,x){try{c(n[m](x))}catch(y){f(s[0][3],y)}}function c(m){m.value instanceof Hne?Promise.resolve(m.value.v).then(h,_):f(s[0][2],m)}function h(m){l("next",m)}function _(m){l("throw",m)}function f(m,x){m(x),s.shift(),s.length&&l(s[0][0],s[0][1])}};Object.defineProperty(z3,"__esModule",{value:!0});z3.isReadableStreamLike=z3.readableStreamLikeToAsyncGenerator=void 0;var PPr=Sc();function BPr(e){return wPr(this,arguments,function(){var r,n,i,s;return NPr(this,function(R){switch(R.label){case 0:r=e.getReader(),R.label=1;case 1:R.trys.push([1,,9,10]),R.label=2;case 2:return[4,Hne(r.read())];case 3:return n=R.sent(),i=n.value,s=n.done,s?[4,Hne(void 0)]:[3,5];case 4:return[2,R.sent()];case 5:return[4,Hne(i)];case 6:return[4,R.sent()];case 7:return R.sent(),[3,2];case 8:return[3,10];case 9:return r.releaseLock(),[7];case 10:return[2]}})})}z3.readableStreamLikeToAsyncGenerator=BPr;function IPr(e){return PPr.isFunction(e?.getReader)}z3.isReadableStreamLike=IPr});var V0=Le(yp=>{"use strict";var MPr=yp&&yp.__awaiter||function(e,t,r,n){function i(s){return s instanceof r?s:new r(function(R){R(s)})}return new(r||(r=Promise))(function(s,R){function l(_){try{h(n.next(_))}catch(f){R(f)}}function c(_){try{h(n.throw(_))}catch(f){R(f)}}function h(_){_.done?s(_.value):i(_.value).then(l,c)}h((n=n.apply(e,t||[])).next())})},WPr=yp&&yp.__generator||function(e,t){var r={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,i,s,R;return R={next:l(0),throw:l(1),return:l(2)},typeof Symbol=="function"&&(R[Symbol.iterator]=function(){return this}),R;function l(h){return function(_){return c([h,_])}}function c(h){if(n)throw new TypeError("Generator is already executing.");for(;r;)try{if(n=1,i&&(s=h[0]&2?i.return:h[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,h[1])).done)return s;switch(i=0,s&&(h=[h[0]&2,s.value]),h[0]){case 0:case 1:s=h;break;case 4:return r.label++,{value:h[1],done:!1};case 5:r.label++,i=h[1],h=[0];continue;case 7:h=r.ops.pop(),r.trys.pop();continue;default:if(s=r.trys,!(s=s.length>0&&s[s.length-1])&&(h[0]===6||h[0]===2)){r=0;continue}if(h[0]===3&&(!s||h[1]>s[0]&&h[1]=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(yp,"__esModule",{value:!0});yp.fromReadableStreamLike=yp.fromAsyncIterable=yp.fromIterable=yp.fromPromise=yp.fromArrayLike=yp.fromInteropObservable=yp.innerFrom=void 0;var FPr=wye(),LPr=umt(),Yne=eT(),zPr=lmt(),HPr=cmt(),YPr=Tmt(),KPr=_mt(),QLt=Uye(),GPr=Sc(),VPr=Y7t(),jPr=t_e();function JPr(e){if(e instanceof Yne.Observable)return e;if(e!=null){if(zPr.isInteropObservable(e))return NLt(e);if(FPr.isArrayLike(e))return wLt(e);if(LPr.isPromise(e))return PLt(e);if(HPr.isAsyncIterable(e))return fmt(e);if(KPr.isIterable(e))return BLt(e);if(QLt.isReadableStreamLike(e))return ILt(e)}throw YPr.createInvalidObservableTypeError(e)}yp.innerFrom=JPr;function NLt(e){return new Yne.Observable(function(t){var r=e[jPr.observable]();if(GPr.isFunction(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}yp.fromInteropObservable=NLt;function wLt(e){return new Yne.Observable(function(t){for(var r=0;r{"use strict";Object.defineProperty(Fye,"__esModule",{value:!0});Fye.executeSchedule=void 0;function ZPr(e,t,r,n,i){n===void 0&&(n=0),i===void 0&&(i=!1);var s=t.schedule(function(){r(),i?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(s),!i)return s}Fye.executeSchedule=ZPr});var o_e=Le(Lye=>{"use strict";Object.defineProperty(Lye,"__esModule",{value:!0});Lye.observeOn=void 0;var dmt=zN(),eBr=bs(),tBr=po();function rBr(e,t){return t===void 0&&(t=0),eBr.operate(function(r,n){r.subscribe(tBr.createOperatorSubscriber(n,function(i){return dmt.executeSchedule(n,e,function(){return n.next(i)},t)},function(){return dmt.executeSchedule(n,e,function(){return n.complete()},t)},function(i){return dmt.executeSchedule(n,e,function(){return n.error(i)},t)}))})}Lye.observeOn=rBr});var R_e=Le(zye=>{"use strict";Object.defineProperty(zye,"__esModule",{value:!0});zye.subscribeOn=void 0;var nBr=bs();function iBr(e,t){return t===void 0&&(t=0),nBr.operate(function(r,n){n.add(e.schedule(function(){return r.subscribe(n)},t))})}zye.subscribeOn=iBr});var MLt=Le(Hye=>{"use strict";Object.defineProperty(Hye,"__esModule",{value:!0});Hye.scheduleObservable=void 0;var aBr=V0(),sBr=o_e(),oBr=R_e();function RBr(e,t){return aBr.innerFrom(e).pipe(oBr.subscribeOn(t),sBr.observeOn(t))}Hye.scheduleObservable=RBr});var WLt=Le(Yye=>{"use strict";Object.defineProperty(Yye,"__esModule",{value:!0});Yye.schedulePromise=void 0;var uBr=V0(),lBr=o_e(),cBr=R_e();function TBr(e,t){return uBr.innerFrom(e).pipe(cBr.subscribeOn(t),lBr.observeOn(t))}Yye.schedulePromise=TBr});var ULt=Le(Kye=>{"use strict";Object.defineProperty(Kye,"__esModule",{value:!0});Kye.scheduleArray=void 0;var pBr=eT();function _Br(e,t){return new pBr.Observable(function(r){var n=0;return t.schedule(function(){n===e.length?r.complete():(r.next(e[n++]),r.closed||this.schedule())})})}Kye.scheduleArray=_Br});var xmt=Le(Gye=>{"use strict";Object.defineProperty(Gye,"__esModule",{value:!0});Gye.scheduleIterable=void 0;var hBr=eT(),fBr=pmt(),dBr=Sc(),FLt=zN();function xBr(e,t){return new hBr.Observable(function(r){var n;return FLt.executeSchedule(r,t,function(){n=e[fBr.iterator](),FLt.executeSchedule(r,t,function(){var i,s,R;try{i=n.next(),s=i.value,R=i.done}catch(l){r.error(l);return}R?r.complete():r.next(s)},0,!0)}),function(){return dBr.isFunction(n?.return)&&n.return()}})}Gye.scheduleIterable=xBr});var mmt=Le(Vye=>{"use strict";Object.defineProperty(Vye,"__esModule",{value:!0});Vye.scheduleAsyncIterable=void 0;var mBr=eT(),LLt=zN();function kBr(e,t){if(!e)throw new Error("Iterable cannot be null");return new mBr.Observable(function(r){LLt.executeSchedule(r,t,function(){var n=e[Symbol.asyncIterator]();LLt.executeSchedule(r,t,function(){n.next().then(function(i){i.done?r.complete():r.next(i.value)})},0,!0)})})}Vye.scheduleAsyncIterable=kBr});var zLt=Le(jye=>{"use strict";Object.defineProperty(jye,"__esModule",{value:!0});jye.scheduleReadableStreamLike=void 0;var yBr=mmt(),qBr=Uye();function CBr(e,t){return yBr.scheduleAsyncIterable(qBr.readableStreamLikeToAsyncGenerator(e),t)}jye.scheduleReadableStreamLike=CBr});var kmt=Le(Jye=>{"use strict";Object.defineProperty(Jye,"__esModule",{value:!0});Jye.scheduled=void 0;var ABr=MLt(),gBr=WLt(),bBr=ULt(),EBr=xmt(),OBr=mmt(),vBr=lmt(),DBr=umt(),SBr=wye(),$Br=_mt(),QBr=cmt(),NBr=Tmt(),wBr=Uye(),PBr=zLt();function BBr(e,t){if(e!=null){if(vBr.isInteropObservable(e))return ABr.scheduleObservable(e,t);if(SBr.isArrayLike(e))return bBr.scheduleArray(e,t);if(DBr.isPromise(e))return gBr.schedulePromise(e,t);if(QBr.isAsyncIterable(e))return OBr.scheduleAsyncIterable(e,t);if($Br.isIterable(e))return EBr.scheduleIterable(e,t);if(wBr.isReadableStreamLike(e))return PBr.scheduleReadableStreamLike(e,t)}throw NBr.createInvalidObservableTypeError(e)}Jye.scheduled=BBr});var HN=Le(Xye=>{"use strict";Object.defineProperty(Xye,"__esModule",{value:!0});Xye.from=void 0;var IBr=kmt(),MBr=V0();function WBr(e,t){return t?IBr.scheduled(e,t):MBr.innerFrom(e)}Xye.from=WBr});var e8e=Le(Zye=>{"use strict";Object.defineProperty(Zye,"__esModule",{value:!0});Zye.of=void 0;var UBr=QC(),FBr=HN();function LBr(){for(var e=[],t=0;t{"use strict";Object.defineProperty(t8e,"__esModule",{value:!0});t8e.throwError=void 0;var zBr=eT(),HBr=Sc();function YBr(e,t){var r=HBr.isFunction(e)?e:function(){return e},n=function(i){return i.error(r())};return new zBr.Observable(t?function(i){return t.schedule(n,0,i)}:n)}t8e.throwError=YBr});var r8e=Le(YN=>{"use strict";Object.defineProperty(YN,"__esModule",{value:!0});YN.observeNotification=YN.Notification=YN.NotificationKind=void 0;var KBr=YE(),GBr=e8e(),VBr=ymt(),jBr=Sc(),JBr;(function(e){e.NEXT="N",e.ERROR="E",e.COMPLETE="C"})(JBr=YN.NotificationKind||(YN.NotificationKind={}));var XBr=function(){function e(t,r,n){this.kind=t,this.value=r,this.error=n,this.hasValue=t==="N"}return e.prototype.observe=function(t){return HLt(this,t)},e.prototype.do=function(t,r,n){var i=this,s=i.kind,R=i.value,l=i.error;return s==="N"?t?.(R):s==="E"?r?.(l):n?.()},e.prototype.accept=function(t,r,n){var i;return jBr.isFunction((i=t)===null||i===void 0?void 0:i.next)?this.observe(t):this.do(t,r,n)},e.prototype.toObservable=function(){var t=this,r=t.kind,n=t.value,i=t.error,s=r==="N"?GBr.of(n):r==="E"?VBr.throwError(function(){return i}):r==="C"?KBr.EMPTY:0;if(!s)throw new TypeError("Unexpected notification kind "+r);return s},e.createNext=function(t){return new e("N",t)},e.createError=function(t){return new e("E",void 0,t)},e.createComplete=function(){return e.completeNotification},e.completeNotification=new e("C"),e}();YN.Notification=XBr;function HLt(e,t){var r,n,i,s=e,R=s.kind,l=s.value,c=s.error;if(typeof R!="string")throw new TypeError('Invalid notification, missing "kind"');R==="N"?(r=t.next)===null||r===void 0||r.call(t,l):R==="E"?(n=t.error)===null||n===void 0||n.call(t,c):(i=t.complete)===null||i===void 0||i.call(t)}YN.observeNotification=HLt});var KLt=Le(n8e=>{"use strict";Object.defineProperty(n8e,"__esModule",{value:!0});n8e.isObservable=void 0;var ZBr=eT(),YLt=Sc();function eIr(e){return!!e&&(e instanceof ZBr.Observable||YLt.isFunction(e.lift)&&YLt.isFunction(e.subscribe))}n8e.isObservable=eIr});var xM=Le(i8e=>{"use strict";Object.defineProperty(i8e,"__esModule",{value:!0});i8e.EmptyError=void 0;var tIr=_M();i8e.EmptyError=tIr.createErrorClass(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}})});var GLt=Le(a8e=>{"use strict";Object.defineProperty(a8e,"__esModule",{value:!0});a8e.lastValueFrom=void 0;var rIr=xM();function nIr(e,t){var r=typeof t=="object";return new Promise(function(n,i){var s=!1,R;e.subscribe({next:function(l){R=l,s=!0},error:i,complete:function(){s?n(R):r?n(t.defaultValue):i(new rIr.EmptyError)}})})}a8e.lastValueFrom=nIr});var VLt=Le(s8e=>{"use strict";Object.defineProperty(s8e,"__esModule",{value:!0});s8e.firstValueFrom=void 0;var iIr=xM(),aIr=gne();function sIr(e,t){var r=typeof t=="object";return new Promise(function(n,i){var s=new aIr.SafeSubscriber({next:function(R){n(R),s.unsubscribe()},error:i,complete:function(){r?n(t.defaultValue):i(new iIr.EmptyError)}});e.subscribe(s)})}s8e.firstValueFrom=sIr});var qmt=Le(o8e=>{"use strict";Object.defineProperty(o8e,"__esModule",{value:!0});o8e.ArgumentOutOfRangeError=void 0;var oIr=_M();o8e.ArgumentOutOfRangeError=oIr.createErrorClass(function(e){return function(){e(this),this.name="ArgumentOutOfRangeError",this.message="argument out of range"}})});var Cmt=Le(R8e=>{"use strict";Object.defineProperty(R8e,"__esModule",{value:!0});R8e.NotFoundError=void 0;var RIr=_M();R8e.NotFoundError=RIr.createErrorClass(function(e){return function(r){e(this),this.name="NotFoundError",this.message=r}})});var Amt=Le(u8e=>{"use strict";Object.defineProperty(u8e,"__esModule",{value:!0});u8e.SequenceError=void 0;var uIr=_M();u8e.SequenceError=uIr.createErrorClass(function(e){return function(r){e(this),this.name="SequenceError",this.message=r}})});var c8e=Le(l8e=>{"use strict";Object.defineProperty(l8e,"__esModule",{value:!0});l8e.isValidDate=void 0;function lIr(e){return e instanceof Date&&!isNaN(e)}l8e.isValidDate=lIr});var T8e=Le(dJ=>{"use strict";Object.defineProperty(dJ,"__esModule",{value:!0});dJ.timeout=dJ.TimeoutError=void 0;var cIr=$C(),TIr=c8e(),pIr=bs(),_Ir=V0(),hIr=_M(),fIr=po(),dIr=zN();dJ.TimeoutError=hIr.createErrorClass(function(e){return function(r){r===void 0&&(r=null),e(this),this.message="Timeout has occurred",this.name="TimeoutError",this.info=r}});function xIr(e,t){var r=TIr.isValidDate(e)?{first:e}:typeof e=="number"?{each:e}:e,n=r.first,i=r.each,s=r.with,R=s===void 0?mIr:s,l=r.scheduler,c=l===void 0?t??cIr.asyncScheduler:l,h=r.meta,_=h===void 0?null:h;if(n==null&&i==null)throw new TypeError("No timeout provided.");return pIr.operate(function(f,m){var x,y,A=null,D=0,S=function(P){y=dIr.executeSchedule(m,c,function(){try{x.unsubscribe(),_Ir.innerFrom(R({meta:_,lastValue:A,seen:D})).subscribe(m)}catch(M){m.error(M)}},P)};x=f.subscribe(fIr.createOperatorSubscriber(m,function(P){y?.unsubscribe(),D++,m.next(A=P),i>0&&S(i)},void 0,void 0,function(){y?.closed||y?.unsubscribe(),A=null})),!D&&S(n!=null?typeof n=="number"?n:+n-c.now():i)})}dJ.timeout=xIr;function mIr(e){throw new dJ.TimeoutError(e)}});var mM=Le(p8e=>{"use strict";Object.defineProperty(p8e,"__esModule",{value:!0});p8e.map=void 0;var kIr=bs(),yIr=po();function qIr(e,t){return kIr.operate(function(r,n){var i=0;r.subscribe(yIr.createOperatorSubscriber(n,function(s){n.next(e.call(t,s,i++))}))})}p8e.map=qIr});var yM=Le(kM=>{"use strict";var CIr=kM&&kM.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},AIr=kM&&kM.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";var vIr=qM&&qM.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},jLt=qM&&qM.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";Object.defineProperty(_8e,"__esModule",{value:!0});_8e.bindCallback=void 0;var PIr=bmt();function BIr(e,t,r){return PIr.bindCallbackInternals(!1,e,t,r)}_8e.bindCallback=BIr});var XLt=Le(h8e=>{"use strict";Object.defineProperty(h8e,"__esModule",{value:!0});h8e.bindNodeCallback=void 0;var IIr=bmt();function MIr(e,t,r){return IIr.bindCallbackInternals(!0,e,t,r)}h8e.bindNodeCallback=MIr});var Emt=Le(f8e=>{"use strict";Object.defineProperty(f8e,"__esModule",{value:!0});f8e.argsArgArrayOrObject=void 0;var WIr=Array.isArray,UIr=Object.getPrototypeOf,FIr=Object.prototype,LIr=Object.keys;function zIr(e){if(e.length===1){var t=e[0];if(WIr(t))return{args:t,keys:null};if(HIr(t)){var r=LIr(t);return{args:r.map(function(n){return t[n]}),keys:r}}}return{args:e,keys:null}}f8e.argsArgArrayOrObject=zIr;function HIr(e){return e&&typeof e=="object"&&UIr(e)===FIr}});var Omt=Le(d8e=>{"use strict";Object.defineProperty(d8e,"__esModule",{value:!0});d8e.createObject=void 0;function YIr(e,t){return e.reduce(function(r,n,i){return r[n]=t[i],r},{})}d8e.createObject=YIr});var x8e=Le(Kne=>{"use strict";Object.defineProperty(Kne,"__esModule",{value:!0});Kne.combineLatestInit=Kne.combineLatest=void 0;var KIr=eT(),GIr=Emt(),tzt=HN(),rzt=Mm(),VIr=yM(),ZLt=QC(),jIr=Omt(),JIr=po(),XIr=zN();function ZIr(){for(var e=[],t=0;t{"use strict";Object.defineProperty(m8e,"__esModule",{value:!0});m8e.mergeInternals=void 0;var eMr=V0(),tMr=zN(),izt=po();function rMr(e,t,r,n,i,s,R,l){var c=[],h=0,_=0,f=!1,m=function(){f&&!c.length&&!h&&t.complete()},x=function(A){return h{"use strict";Object.defineProperty(y8e,"__esModule",{value:!0});y8e.mergeMap=void 0;var nMr=mM(),iMr=V0(),aMr=bs(),sMr=k8e(),oMr=Sc();function azt(e,t,r){return r===void 0&&(r=1/0),oMr.isFunction(t)?azt(function(n,i){return nMr.map(function(s,R){return t(n,s,i,R)})(iMr.innerFrom(e(n,i)))},r):(typeof t=="number"&&(r=t),aMr.operate(function(n,i){return sMr.mergeInternals(n,i,e,r)}))}y8e.mergeMap=azt});var u_e=Le(q8e=>{"use strict";Object.defineProperty(q8e,"__esModule",{value:!0});q8e.mergeAll=void 0;var RMr=KN(),uMr=Mm();function lMr(e){return e===void 0&&(e=1/0),RMr.mergeMap(uMr.identity,e)}q8e.mergeAll=lMr});var A8e=Le(C8e=>{"use strict";Object.defineProperty(C8e,"__esModule",{value:!0});C8e.concatAll=void 0;var cMr=u_e();function TMr(){return cMr.mergeAll(1)}C8e.concatAll=TMr});var l_e=Le(g8e=>{"use strict";Object.defineProperty(g8e,"__esModule",{value:!0});g8e.concat=void 0;var pMr=A8e(),_Mr=QC(),hMr=HN();function fMr(){for(var e=[],t=0;t{"use strict";Object.defineProperty(b8e,"__esModule",{value:!0});b8e.defer=void 0;var dMr=eT(),xMr=V0();function mMr(e){return new dMr.Observable(function(t){xMr.innerFrom(e()).subscribe(t)})}b8e.defer=mMr});var szt=Le(E8e=>{"use strict";Object.defineProperty(E8e,"__esModule",{value:!0});E8e.connectable=void 0;var kMr=Wm(),yMr=eT(),qMr=c_e(),CMr={connector:function(){return new kMr.Subject},resetOnDisconnect:!0};function AMr(e,t){t===void 0&&(t=CMr);var r=null,n=t.connector,i=t.resetOnDisconnect,s=i===void 0?!0:i,R=n(),l=new yMr.Observable(function(c){return R.subscribe(c)});return l.connect=function(){return(!r||r.closed)&&(r=qMr.defer(function(){return e}).subscribe(R),s&&r.add(function(){return R=n()})),r},l}E8e.connectable=AMr});var ozt=Le(O8e=>{"use strict";Object.defineProperty(O8e,"__esModule",{value:!0});O8e.forkJoin=void 0;var gMr=eT(),bMr=Emt(),EMr=V0(),OMr=QC(),vMr=po(),DMr=yM(),SMr=Omt();function $Mr(){for(var e=[],t=0;t{"use strict";var QMr=Gne&&Gne.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s};Object.defineProperty(Gne,"__esModule",{value:!0});Gne.fromEvent=void 0;var NMr=V0(),wMr=eT(),PMr=KN(),BMr=wye(),xJ=Sc(),IMr=yM(),MMr=["addListener","removeListener"],WMr=["addEventListener","removeEventListener"],UMr=["on","off"];function vmt(e,t,r,n){if(xJ.isFunction(r)&&(n=r,r=void 0),n)return vmt(e,t,r).pipe(IMr.mapOneOrManyArgs(n));var i=QMr(zMr(e)?WMr.map(function(l){return function(c){return e[l](t,c,r)}}):FMr(e)?MMr.map(Rzt(e,t)):LMr(e)?UMr.map(Rzt(e,t)):[],2),s=i[0],R=i[1];if(!s&&BMr.isArrayLike(e))return PMr.mergeMap(function(l){return vmt(l,t,r)})(NMr.innerFrom(e));if(!s)throw new TypeError("Invalid event target");return new wMr.Observable(function(l){var c=function(){for(var h=[],_=0;_{"use strict";Object.defineProperty(v8e,"__esModule",{value:!0});v8e.fromEventPattern=void 0;var HMr=eT(),YMr=Sc(),KMr=yM();function lzt(e,t,r){return r?lzt(e,t).pipe(KMr.mapOneOrManyArgs(r)):new HMr.Observable(function(n){var i=function(){for(var R=[],l=0;l{"use strict";var GMr=Vne&&Vne.__generator||function(e,t){var r={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},n,i,s,R;return R={next:l(0),throw:l(1),return:l(2)},typeof Symbol=="function"&&(R[Symbol.iterator]=function(){return this}),R;function l(h){return function(_){return c([h,_])}}function c(h){if(n)throw new TypeError("Generator is already executing.");for(;r;)try{if(n=1,i&&(s=h[0]&2?i.return:h[0]?i.throw||((s=i.return)&&s.call(i),0):i.next)&&!(s=s.call(i,h[1])).done)return s;switch(i=0,s&&(h=[h[0]&2,s.value]),h[0]){case 0:case 1:s=h;break;case 4:return r.label++,{value:h[1],done:!1};case 5:r.label++,i=h[1],h=[0];continue;case 7:h=r.ops.pop(),r.trys.pop();continue;default:if(s=r.trys,!(s=s.length>0&&s[s.length-1])&&(h[0]===6||h[0]===2)){r=0;continue}if(h[0]===3&&(!s||h[1]>s[0]&&h[1]{"use strict";Object.defineProperty(D8e,"__esModule",{value:!0});D8e.iif=void 0;var ZMr=c_e();function eWr(e,t,r){return ZMr.defer(function(){return e()?t:r})}D8e.iif=eWr});var CM=Le(S8e=>{"use strict";Object.defineProperty(S8e,"__esModule",{value:!0});S8e.timer=void 0;var tWr=eT(),rWr=$C(),nWr=s_e(),iWr=c8e();function aWr(e,t,r){e===void 0&&(e=0),r===void 0&&(r=rWr.async);var n=-1;return t!=null&&(nWr.isScheduler(t)?r=t:n=t),new tWr.Observable(function(i){var s=iWr.isValidDate(e)?+e-r.now():e;s<0&&(s=0);var R=0;return r.schedule(function(){i.closed||(i.next(R++),0<=n?this.schedule(void 0,n):i.complete())},s)})}S8e.timer=aWr});var Dmt=Le($8e=>{"use strict";Object.defineProperty($8e,"__esModule",{value:!0});$8e.interval=void 0;var sWr=$C(),oWr=CM();function RWr(e,t){return e===void 0&&(e=0),t===void 0&&(t=sWr.asyncScheduler),e<0&&(e=0),oWr.timer(e,e,t)}$8e.interval=RWr});var fzt=Le(Q8e=>{"use strict";Object.defineProperty(Q8e,"__esModule",{value:!0});Q8e.merge=void 0;var uWr=u_e(),lWr=V0(),cWr=YE(),hzt=QC(),TWr=HN();function pWr(){for(var e=[],t=0;t{"use strict";Object.defineProperty(mJ,"__esModule",{value:!0});mJ.never=mJ.NEVER=void 0;var _Wr=eT(),hWr=Im();mJ.NEVER=new _Wr.Observable(hWr.noop);function fWr(){return mJ.NEVER}mJ.never=fWr});var kJ=Le(N8e=>{"use strict";Object.defineProperty(N8e,"__esModule",{value:!0});N8e.argsOrArgArray=void 0;var dWr=Array.isArray;function xWr(e){return e.length===1&&dWr(e[0])?e[0]:e}N8e.argsOrArgArray=xWr});var $mt=Le(w8e=>{"use strict";Object.defineProperty(w8e,"__esModule",{value:!0});w8e.onErrorResumeNext=void 0;var mWr=eT(),kWr=kJ(),yWr=po(),dzt=Im(),qWr=V0();function CWr(){for(var e=[],t=0;t{"use strict";Object.defineProperty(P8e,"__esModule",{value:!0});P8e.pairs=void 0;var AWr=HN();function gWr(e,t){return AWr.from(Object.entries(e),t)}P8e.pairs=gWr});var mzt=Le(B8e=>{"use strict";Object.defineProperty(B8e,"__esModule",{value:!0});B8e.not=void 0;function bWr(e,t){return function(r,n){return!e.call(t,r,n)}}B8e.not=bWr});var yJ=Le(I8e=>{"use strict";Object.defineProperty(I8e,"__esModule",{value:!0});I8e.filter=void 0;var EWr=bs(),OWr=po();function vWr(e,t){return EWr.operate(function(r,n){var i=0;r.subscribe(OWr.createOperatorSubscriber(n,function(s){return e.call(t,s,i++)&&n.next(s)}))})}I8e.filter=vWr});var qzt=Le(M8e=>{"use strict";Object.defineProperty(M8e,"__esModule",{value:!0});M8e.partition=void 0;var DWr=mzt(),kzt=yJ(),yzt=V0();function SWr(e,t,r){return[kzt.filter(t,r)(yzt.innerFrom(e)),kzt.filter(DWr.not(t,r))(yzt.innerFrom(e))]}M8e.partition=SWr});var Qmt=Le(jne=>{"use strict";Object.defineProperty(jne,"__esModule",{value:!0});jne.raceInit=jne.race=void 0;var $Wr=eT(),Czt=V0(),QWr=kJ(),NWr=po();function wWr(){for(var e=[],t=0;t{"use strict";Object.defineProperty(W8e,"__esModule",{value:!0});W8e.range=void 0;var PWr=eT(),BWr=YE();function IWr(e,t,r){if(t==null&&(t=e,e=0),t<=0)return BWr.EMPTY;var n=t+e;return new PWr.Observable(r?function(i){var s=e;return r.schedule(function(){s{"use strict";Object.defineProperty(U8e,"__esModule",{value:!0});U8e.using=void 0;var MWr=eT(),WWr=V0(),UWr=YE();function FWr(e,t){return new MWr.Observable(function(r){var n=e(),i=t(n),s=i?WWr.innerFrom(i):UWr.EMPTY;return s.subscribe(r),function(){n&&n.unsubscribe()}})}U8e.using=FWr});var F8e=Le(AM=>{"use strict";var LWr=AM&&AM.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},zWr=AM&&AM.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";Object.defineProperty(Ezt,"__esModule",{value:!0})});var Nmt=Le(L8e=>{"use strict";Object.defineProperty(L8e,"__esModule",{value:!0});L8e.audit=void 0;var XWr=bs(),ZWr=V0(),vzt=po();function eUr(e){return XWr.operate(function(t,r){var n=!1,i=null,s=null,R=!1,l=function(){if(s?.unsubscribe(),s=null,n){n=!1;var h=i;i=null,r.next(h)}R&&r.complete()},c=function(){s=null,R&&r.complete()};t.subscribe(vzt.createOperatorSubscriber(r,function(h){n=!0,i=h,s||ZWr.innerFrom(e(h)).subscribe(s=vzt.createOperatorSubscriber(r,l,c))},function(){R=!0,(!n||!s||s.closed)&&r.complete()}))})}L8e.audit=eUr});var Dzt=Le(z8e=>{"use strict";Object.defineProperty(z8e,"__esModule",{value:!0});z8e.auditTime=void 0;var tUr=$C(),rUr=Nmt(),nUr=CM();function iUr(e,t){return t===void 0&&(t=tUr.asyncScheduler),rUr.audit(function(){return nUr.timer(e,t)})}z8e.auditTime=iUr});var $zt=Le(H8e=>{"use strict";Object.defineProperty(H8e,"__esModule",{value:!0});H8e.buffer=void 0;var aUr=bs(),sUr=Im(),Szt=po(),oUr=V0();function RUr(e){return aUr.operate(function(t,r){var n=[];return t.subscribe(Szt.createOperatorSubscriber(r,function(i){return n.push(i)},function(){r.next(n),r.complete()})),oUr.innerFrom(e).subscribe(Szt.createOperatorSubscriber(r,function(){var i=n;n=[],r.next(i)},sUr.noop)),function(){n=null}})}H8e.buffer=RUr});var Qzt=Le(Jne=>{"use strict";var wmt=Jne&&Jne.__values||function(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Jne,"__esModule",{value:!0});Jne.bufferCount=void 0;var uUr=bs(),lUr=po(),cUr=LN();function TUr(e,t){return t===void 0&&(t=null),t=t??e,uUr.operate(function(r,n){var i=[],s=0;r.subscribe(lUr.createOperatorSubscriber(n,function(R){var l,c,h,_,f=null;s++%t===0&&i.push([]);try{for(var m=wmt(i),x=m.next();!x.done;x=m.next()){var y=x.value;y.push(R),e<=y.length&&(f=f??[],f.push(y))}}catch(S){l={error:S}}finally{try{x&&!x.done&&(c=m.return)&&c.call(m)}finally{if(l)throw l.error}}if(f)try{for(var A=wmt(f),D=A.next();!D.done;D=A.next()){var y=D.value;cUr.arrRemove(i,y),n.next(y)}}catch(S){h={error:S}}finally{try{D&&!D.done&&(_=A.return)&&_.call(A)}finally{if(h)throw h.error}}},function(){var R,l;try{for(var c=wmt(i),h=c.next();!h.done;h=c.next()){var _=h.value;n.next(_)}}catch(f){R={error:f}}finally{try{h&&!h.done&&(l=c.return)&&l.call(c)}finally{if(R)throw R.error}}n.complete()},void 0,function(){i=null}))})}Jne.bufferCount=TUr});var wzt=Le(Xne=>{"use strict";var pUr=Xne&&Xne.__values||function(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Xne,"__esModule",{value:!0});Xne.bufferTime=void 0;var _Ur=hA(),hUr=bs(),fUr=po(),dUr=LN(),xUr=$C(),mUr=QC(),Nzt=zN();function kUr(e){for(var t,r,n=[],i=1;i=0?Nzt.executeSchedule(h,s,x,R,!0):f=!0,x();var y=fUr.createOperatorSubscriber(h,function(A){var D,S,P=_.slice();try{for(var M=pUr(P),U=M.next();!U.done;U=M.next()){var w=U.value,F=w.buffer;F.push(A),l<=F.length&&m(w)}}catch(H){D={error:H}}finally{try{U&&!U.done&&(S=M.return)&&S.call(M)}finally{if(D)throw D.error}}},function(){for(;_?.length;)h.next(_.shift().buffer);y?.unsubscribe(),h.complete(),h.unsubscribe()},void 0,function(){return _=null});c.subscribe(y)})}Xne.bufferTime=kUr});var Izt=Le(Zne=>{"use strict";var yUr=Zne&&Zne.__values||function(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(Zne,"__esModule",{value:!0});Zne.bufferToggle=void 0;var qUr=hA(),CUr=bs(),Pzt=V0(),Pmt=po(),Bzt=Im(),AUr=LN();function gUr(e,t){return CUr.operate(function(r,n){var i=[];Pzt.innerFrom(e).subscribe(Pmt.createOperatorSubscriber(n,function(s){var R=[];i.push(R);var l=new qUr.Subscription,c=function(){AUr.arrRemove(i,R),n.next(R),l.unsubscribe()};l.add(Pzt.innerFrom(t(s)).subscribe(Pmt.createOperatorSubscriber(n,c,Bzt.noop)))},Bzt.noop)),r.subscribe(Pmt.createOperatorSubscriber(n,function(s){var R,l;try{for(var c=yUr(i),h=c.next();!h.done;h=c.next()){var _=h.value;_.push(s)}}catch(f){R={error:f}}finally{try{h&&!h.done&&(l=c.return)&&l.call(c)}finally{if(R)throw R.error}}},function(){for(;i.length>0;)n.next(i.shift());n.complete()}))})}Zne.bufferToggle=gUr});var Wzt=Le(Y8e=>{"use strict";Object.defineProperty(Y8e,"__esModule",{value:!0});Y8e.bufferWhen=void 0;var bUr=bs(),EUr=Im(),Mzt=po(),OUr=V0();function vUr(e){return bUr.operate(function(t,r){var n=null,i=null,s=function(){i?.unsubscribe();var R=n;n=[],R&&r.next(R),OUr.innerFrom(e()).subscribe(i=Mzt.createOperatorSubscriber(r,s,EUr.noop))};s(),t.subscribe(Mzt.createOperatorSubscriber(r,function(R){return n?.push(R)},function(){n&&r.next(n),r.complete()},void 0,function(){return n=i=null}))})}Y8e.bufferWhen=vUr});var Fzt=Le(K8e=>{"use strict";Object.defineProperty(K8e,"__esModule",{value:!0});K8e.catchError=void 0;var DUr=V0(),SUr=po(),$Ur=bs();function Uzt(e){return $Ur.operate(function(t,r){var n=null,i=!1,s;n=t.subscribe(SUr.createOperatorSubscriber(r,void 0,void 0,function(R){s=DUr.innerFrom(e(R,Uzt(e)(t))),n?(n.unsubscribe(),n=null,s.subscribe(r)):i=!0})),i&&(n.unsubscribe(),n=null,s.subscribe(r))})}K8e.catchError=Uzt});var Bmt=Le(G8e=>{"use strict";Object.defineProperty(G8e,"__esModule",{value:!0});G8e.scanInternals=void 0;var QUr=po();function NUr(e,t,r,n,i){return function(s,R){var l=r,c=t,h=0;s.subscribe(QUr.createOperatorSubscriber(R,function(_){var f=h++;c=l?e(c,_,f):(l=!0,_),n&&R.next(c)},i&&function(){l&&R.next(c),R.complete()}))}}G8e.scanInternals=NUr});var eie=Le(V8e=>{"use strict";Object.defineProperty(V8e,"__esModule",{value:!0});V8e.reduce=void 0;var wUr=Bmt(),PUr=bs();function BUr(e,t){return PUr.operate(wUr.scanInternals(e,t,arguments.length>=2,!1,!0))}V8e.reduce=BUr});var Imt=Le(j8e=>{"use strict";Object.defineProperty(j8e,"__esModule",{value:!0});j8e.toArray=void 0;var IUr=eie(),MUr=bs(),WUr=function(e,t){return e.push(t),e};function UUr(){return MUr.operate(function(e,t){IUr.reduce(WUr,[])(e).subscribe(t)})}j8e.toArray=UUr});var Mmt=Le(J8e=>{"use strict";Object.defineProperty(J8e,"__esModule",{value:!0});J8e.joinAllInternals=void 0;var FUr=Mm(),LUr=yM(),zUr=r_e(),HUr=KN(),YUr=Imt();function KUr(e,t){return zUr.pipe(YUr.toArray(),HUr.mergeMap(function(r){return e(r)}),t?LUr.mapOneOrManyArgs(t):FUr.identity)}J8e.joinAllInternals=KUr});var Wmt=Le(X8e=>{"use strict";Object.defineProperty(X8e,"__esModule",{value:!0});X8e.combineLatestAll=void 0;var GUr=x8e(),VUr=Mmt();function jUr(e){return VUr.joinAllInternals(GUr.combineLatest,e)}X8e.combineLatestAll=jUr});var Lzt=Le(Z8e=>{"use strict";Object.defineProperty(Z8e,"__esModule",{value:!0});Z8e.combineAll=void 0;var JUr=Wmt();Z8e.combineAll=JUr.combineLatestAll});var Kzt=Le(gM=>{"use strict";var zzt=gM&&gM.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},Hzt=gM&&gM.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";var iFr=bM&&bM.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},aFr=bM&&bM.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";Object.defineProperty(e4e,"__esModule",{value:!0});e4e.concatMap=void 0;var Vzt=KN(),RFr=Sc();function uFr(e,t){return RFr.isFunction(t)?Vzt.mergeMap(e,t,1):Vzt.mergeMap(e,1)}e4e.concatMap=uFr});var Jzt=Le(t4e=>{"use strict";Object.defineProperty(t4e,"__esModule",{value:!0});t4e.concatMapTo=void 0;var jzt=Umt(),lFr=Sc();function cFr(e,t){return lFr.isFunction(t)?jzt.concatMap(function(){return e},t):jzt.concatMap(function(){return e})}t4e.concatMapTo=cFr});var Xzt=Le(EM=>{"use strict";var TFr=EM&&EM.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},pFr=EM&&EM.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";var mFr=OM&&OM.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},kFr=OM&&OM.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";Object.defineProperty(r4e,"__esModule",{value:!0});r4e.fromSubscribable=void 0;var CFr=eT();function AFr(e){return new CFr.Observable(function(t){return e.subscribe(t)})}r4e.fromSubscribable=AFr});var i4e=Le(n4e=>{"use strict";Object.defineProperty(n4e,"__esModule",{value:!0});n4e.connect=void 0;var gFr=Wm(),bFr=V0(),EFr=bs(),OFr=eHt(),vFr={connector:function(){return new gFr.Subject}};function DFr(e,t){t===void 0&&(t=vFr);var r=t.connector;return EFr.operate(function(n,i){var s=r();bFr.innerFrom(e(OFr.fromSubscribable(s))).subscribe(i),i.add(n.subscribe(s))})}n4e.connect=DFr});var tHt=Le(a4e=>{"use strict";Object.defineProperty(a4e,"__esModule",{value:!0});a4e.count=void 0;var SFr=eie();function $Fr(e){return SFr.reduce(function(t,r,n){return!e||e(r,n)?t+1:t},0)}a4e.count=$Fr});var nHt=Le(s4e=>{"use strict";Object.defineProperty(s4e,"__esModule",{value:!0});s4e.debounce=void 0;var QFr=bs(),NFr=Im(),rHt=po(),wFr=V0();function PFr(e){return QFr.operate(function(t,r){var n=!1,i=null,s=null,R=function(){if(s?.unsubscribe(),s=null,n){n=!1;var l=i;i=null,r.next(l)}};t.subscribe(rHt.createOperatorSubscriber(r,function(l){s?.unsubscribe(),n=!0,i=l,s=rHt.createOperatorSubscriber(r,R,NFr.noop),wFr.innerFrom(e(l)).subscribe(s)},function(){R(),r.complete()},void 0,function(){i=s=null}))})}s4e.debounce=PFr});var iHt=Le(o4e=>{"use strict";Object.defineProperty(o4e,"__esModule",{value:!0});o4e.debounceTime=void 0;var BFr=$C(),IFr=bs(),MFr=po();function WFr(e,t){return t===void 0&&(t=BFr.asyncScheduler),IFr.operate(function(r,n){var i=null,s=null,R=null,l=function(){if(i){i.unsubscribe(),i=null;var h=s;s=null,n.next(h)}};function c(){var h=R+e,_=t.now();if(_{"use strict";Object.defineProperty(R4e,"__esModule",{value:!0});R4e.defaultIfEmpty=void 0;var UFr=bs(),FFr=po();function LFr(e){return UFr.operate(function(t,r){var n=!1;t.subscribe(FFr.createOperatorSubscriber(r,function(i){n=!0,r.next(i)},function(){n||r.next(e),r.complete()}))})}R4e.defaultIfEmpty=LFr});var p_e=Le(u4e=>{"use strict";Object.defineProperty(u4e,"__esModule",{value:!0});u4e.take=void 0;var zFr=YE(),HFr=bs(),YFr=po();function KFr(e){return e<=0?function(){return zFr.EMPTY}:HFr.operate(function(t,r){var n=0;t.subscribe(YFr.createOperatorSubscriber(r,function(i){++n<=e&&(r.next(i),e<=n&&r.complete())}))})}u4e.take=KFr});var Fmt=Le(l4e=>{"use strict";Object.defineProperty(l4e,"__esModule",{value:!0});l4e.ignoreElements=void 0;var GFr=bs(),VFr=po(),jFr=Im();function JFr(){return GFr.operate(function(e,t){e.subscribe(VFr.createOperatorSubscriber(t,jFr.noop))})}l4e.ignoreElements=JFr});var Lmt=Le(c4e=>{"use strict";Object.defineProperty(c4e,"__esModule",{value:!0});c4e.mapTo=void 0;var XFr=mM();function ZFr(e){return XFr.map(function(){return e})}c4e.mapTo=ZFr});var zmt=Le(T4e=>{"use strict";Object.defineProperty(T4e,"__esModule",{value:!0});T4e.delayWhen=void 0;var eLr=l_e(),aHt=p_e(),tLr=Fmt(),rLr=Lmt(),nLr=KN(),iLr=V0();function sHt(e,t){return t?function(r){return eLr.concat(t.pipe(aHt.take(1),tLr.ignoreElements()),r.pipe(sHt(e)))}:nLr.mergeMap(function(r,n){return iLr.innerFrom(e(r,n)).pipe(aHt.take(1),rLr.mapTo(r))})}T4e.delayWhen=sHt});var oHt=Le(p4e=>{"use strict";Object.defineProperty(p4e,"__esModule",{value:!0});p4e.delay=void 0;var aLr=$C(),sLr=zmt(),oLr=CM();function RLr(e,t){t===void 0&&(t=aLr.asyncScheduler);var r=oLr.timer(e,t);return sLr.delayWhen(function(){return r})}p4e.delay=RLr});var RHt=Le(_4e=>{"use strict";Object.defineProperty(_4e,"__esModule",{value:!0});_4e.dematerialize=void 0;var uLr=r8e(),lLr=bs(),cLr=po();function TLr(){return lLr.operate(function(e,t){e.subscribe(cLr.createOperatorSubscriber(t,function(r){return uLr.observeNotification(r,t)}))})}_4e.dematerialize=TLr});var lHt=Le(h4e=>{"use strict";Object.defineProperty(h4e,"__esModule",{value:!0});h4e.distinct=void 0;var pLr=bs(),uHt=po(),_Lr=Im(),hLr=V0();function fLr(e,t){return pLr.operate(function(r,n){var i=new Set;r.subscribe(uHt.createOperatorSubscriber(n,function(s){var R=e?e(s):s;i.has(R)||(i.add(R),n.next(s))})),t&&hLr.innerFrom(t).subscribe(uHt.createOperatorSubscriber(n,function(){return i.clear()},_Lr.noop))})}h4e.distinct=fLr});var Hmt=Le(f4e=>{"use strict";Object.defineProperty(f4e,"__esModule",{value:!0});f4e.distinctUntilChanged=void 0;var dLr=Mm(),xLr=bs(),mLr=po();function kLr(e,t){return t===void 0&&(t=dLr.identity),e=e??yLr,xLr.operate(function(r,n){var i,s=!0;r.subscribe(mLr.createOperatorSubscriber(n,function(R){var l=t(R);(s||!e(i,l))&&(s=!1,i=l,n.next(R))}))})}f4e.distinctUntilChanged=kLr;function yLr(e,t){return e===t}});var cHt=Le(d4e=>{"use strict";Object.defineProperty(d4e,"__esModule",{value:!0});d4e.distinctUntilKeyChanged=void 0;var qLr=Hmt();function CLr(e,t){return qLr.distinctUntilChanged(function(r,n){return t?t(r[e],n[e]):r[e]===n[e]})}d4e.distinctUntilKeyChanged=CLr});var __e=Le(x4e=>{"use strict";Object.defineProperty(x4e,"__esModule",{value:!0});x4e.throwIfEmpty=void 0;var ALr=xM(),gLr=bs(),bLr=po();function ELr(e){return e===void 0&&(e=OLr),gLr.operate(function(t,r){var n=!1;t.subscribe(bLr.createOperatorSubscriber(r,function(i){n=!0,r.next(i)},function(){return n?r.complete():r.error(e())}))})}x4e.throwIfEmpty=ELr;function OLr(){return new ALr.EmptyError}});var pHt=Le(m4e=>{"use strict";Object.defineProperty(m4e,"__esModule",{value:!0});m4e.elementAt=void 0;var THt=qmt(),vLr=yJ(),DLr=__e(),SLr=T_e(),$Lr=p_e();function QLr(e,t){if(e<0)throw new THt.ArgumentOutOfRangeError;var r=arguments.length>=2;return function(n){return n.pipe(vLr.filter(function(i,s){return s===e}),$Lr.take(1),r?SLr.defaultIfEmpty(t):DLr.throwIfEmpty(function(){return new THt.ArgumentOutOfRangeError}))}}m4e.elementAt=QLr});var _Ht=Le(vM=>{"use strict";var NLr=vM&&vM.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},wLr=vM&&vM.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";Object.defineProperty(k4e,"__esModule",{value:!0});k4e.every=void 0;var MLr=bs(),WLr=po();function ULr(e,t){return MLr.operate(function(r,n){var i=0;r.subscribe(WLr.createOperatorSubscriber(n,function(s){e.call(t,s,i++,r)||(n.next(!1),n.complete())},function(){n.next(!0),n.complete()}))})}k4e.every=ULr});var Ymt=Le(y4e=>{"use strict";Object.defineProperty(y4e,"__esModule",{value:!0});y4e.exhaustMap=void 0;var FLr=mM(),fHt=V0(),LLr=bs(),dHt=po();function xHt(e,t){return t?function(r){return r.pipe(xHt(function(n,i){return fHt.innerFrom(e(n,i)).pipe(FLr.map(function(s,R){return t(n,s,i,R)}))}))}:LLr.operate(function(r,n){var i=0,s=null,R=!1;r.subscribe(dHt.createOperatorSubscriber(n,function(l){s||(s=dHt.createOperatorSubscriber(n,void 0,function(){s=null,R&&n.complete()}),fHt.innerFrom(e(l,i++)).subscribe(s))},function(){R=!0,!s&&n.complete()}))})}y4e.exhaustMap=xHt});var Kmt=Le(q4e=>{"use strict";Object.defineProperty(q4e,"__esModule",{value:!0});q4e.exhaustAll=void 0;var zLr=Ymt(),HLr=Mm();function YLr(){return zLr.exhaustMap(HLr.identity)}q4e.exhaustAll=YLr});var mHt=Le(C4e=>{"use strict";Object.defineProperty(C4e,"__esModule",{value:!0});C4e.exhaust=void 0;var KLr=Kmt();C4e.exhaust=KLr.exhaustAll});var kHt=Le(A4e=>{"use strict";Object.defineProperty(A4e,"__esModule",{value:!0});A4e.expand=void 0;var GLr=bs(),VLr=k8e();function jLr(e,t,r){return t===void 0&&(t=1/0),t=(t||0)<1?1/0:t,GLr.operate(function(n,i){return VLr.mergeInternals(n,i,e,t,void 0,!0,r)})}A4e.expand=jLr});var yHt=Le(g4e=>{"use strict";Object.defineProperty(g4e,"__esModule",{value:!0});g4e.finalize=void 0;var JLr=bs();function XLr(e){return JLr.operate(function(t,r){try{t.subscribe(r)}finally{r.add(e)}})}g4e.finalize=XLr});var Gmt=Le(tie=>{"use strict";Object.defineProperty(tie,"__esModule",{value:!0});tie.createFind=tie.find=void 0;var ZLr=bs(),ezr=po();function tzr(e,t){return ZLr.operate(qHt(e,t,"value"))}tie.find=tzr;function qHt(e,t,r){var n=r==="index";return function(i,s){var R=0;i.subscribe(ezr.createOperatorSubscriber(s,function(l){var c=R++;e.call(t,l,c,i)&&(s.next(n?c:l),s.complete())},function(){s.next(n?-1:void 0),s.complete()}))}}tie.createFind=qHt});var CHt=Le(b4e=>{"use strict";Object.defineProperty(b4e,"__esModule",{value:!0});b4e.findIndex=void 0;var rzr=bs(),nzr=Gmt();function izr(e,t){return rzr.operate(nzr.createFind(e,t,"index"))}b4e.findIndex=izr});var AHt=Le(E4e=>{"use strict";Object.defineProperty(E4e,"__esModule",{value:!0});E4e.first=void 0;var azr=xM(),szr=yJ(),ozr=p_e(),Rzr=T_e(),uzr=__e(),lzr=Mm();function czr(e,t){var r=arguments.length>=2;return function(n){return n.pipe(e?szr.filter(function(i,s){return e(i,s,n)}):lzr.identity,ozr.take(1),r?Rzr.defaultIfEmpty(t):uzr.throwIfEmpty(function(){return new azr.EmptyError}))}}E4e.first=czr});var bHt=Le(O4e=>{"use strict";Object.defineProperty(O4e,"__esModule",{value:!0});O4e.groupBy=void 0;var Tzr=eT(),pzr=V0(),_zr=Wm(),hzr=bs(),gHt=po();function fzr(e,t,r,n){return hzr.operate(function(i,s){var R;!t||typeof t=="function"?R=t:(r=t.duration,R=t.element,n=t.connector);var l=new Map,c=function(y){l.forEach(y),y(s)},h=function(y){return c(function(A){return A.error(y)})},_=0,f=!1,m=new gHt.OperatorSubscriber(s,function(y){try{var A=e(y),D=l.get(A);if(!D){l.set(A,D=n?n():new _zr.Subject);var S=x(A,D);if(s.next(S),r){var P=gHt.createOperatorSubscriber(D,function(){D.complete(),P?.unsubscribe()},void 0,void 0,function(){return l.delete(A)});m.add(pzr.innerFrom(r(S)).subscribe(P))}}D.next(R?R(y):y)}catch(M){h(M)}},function(){return c(function(y){return y.complete()})},h,function(){return l.clear()},function(){return f=!0,_===0});i.subscribe(m);function x(y,A){var D=new Tzr.Observable(function(S){_++;var P=A.subscribe(S);return function(){P.unsubscribe(),--_===0&&f&&m.unsubscribe()}});return D.key=y,D}})}O4e.groupBy=fzr});var EHt=Le(v4e=>{"use strict";Object.defineProperty(v4e,"__esModule",{value:!0});v4e.isEmpty=void 0;var dzr=bs(),xzr=po();function mzr(){return dzr.operate(function(e,t){e.subscribe(xzr.createOperatorSubscriber(t,function(){t.next(!1),t.complete()},function(){t.next(!0),t.complete()}))})}v4e.isEmpty=mzr});var Vmt=Le(rie=>{"use strict";var kzr=rie&&rie.__values||function(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(rie,"__esModule",{value:!0});rie.takeLast=void 0;var yzr=YE(),qzr=bs(),Czr=po();function Azr(e){return e<=0?function(){return yzr.EMPTY}:qzr.operate(function(t,r){var n=[];t.subscribe(Czr.createOperatorSubscriber(r,function(i){n.push(i),e{"use strict";Object.defineProperty(D4e,"__esModule",{value:!0});D4e.last=void 0;var gzr=xM(),bzr=yJ(),Ezr=Vmt(),Ozr=__e(),vzr=T_e(),Dzr=Mm();function Szr(e,t){var r=arguments.length>=2;return function(n){return n.pipe(e?bzr.filter(function(i,s){return e(i,s,n)}):Dzr.identity,Ezr.takeLast(1),r?vzr.defaultIfEmpty(t):Ozr.throwIfEmpty(function(){return new gzr.EmptyError}))}}D4e.last=Szr});var vHt=Le(S4e=>{"use strict";Object.defineProperty(S4e,"__esModule",{value:!0});S4e.materialize=void 0;var jmt=r8e(),$zr=bs(),Qzr=po();function Nzr(){return $zr.operate(function(e,t){e.subscribe(Qzr.createOperatorSubscriber(t,function(r){t.next(jmt.Notification.createNext(r))},function(){t.next(jmt.Notification.createComplete()),t.complete()},function(r){t.next(jmt.Notification.createError(r)),t.complete()}))})}S4e.materialize=Nzr});var DHt=Le($4e=>{"use strict";Object.defineProperty($4e,"__esModule",{value:!0});$4e.max=void 0;var wzr=eie(),Pzr=Sc();function Bzr(e){return wzr.reduce(Pzr.isFunction(e)?function(t,r){return e(t,r)>0?t:r}:function(t,r){return t>r?t:r})}$4e.max=Bzr});var SHt=Le(Q4e=>{"use strict";Object.defineProperty(Q4e,"__esModule",{value:!0});Q4e.flatMap=void 0;var Izr=KN();Q4e.flatMap=Izr.mergeMap});var QHt=Le(N4e=>{"use strict";Object.defineProperty(N4e,"__esModule",{value:!0});N4e.mergeMapTo=void 0;var $Ht=KN(),Mzr=Sc();function Wzr(e,t,r){return r===void 0&&(r=1/0),Mzr.isFunction(t)?$Ht.mergeMap(function(){return e},t,r):(typeof t=="number"&&(r=t),$Ht.mergeMap(function(){return e},r))}N4e.mergeMapTo=Wzr});var NHt=Le(w4e=>{"use strict";Object.defineProperty(w4e,"__esModule",{value:!0});w4e.mergeScan=void 0;var Uzr=bs(),Fzr=k8e();function Lzr(e,t,r){return r===void 0&&(r=1/0),Uzr.operate(function(n,i){var s=t;return Fzr.mergeInternals(n,i,function(R,l){return e(s,R,l)},r,function(R){s=R},!1,void 0,function(){return s=null})})}w4e.mergeScan=Lzr});var PHt=Le(DM=>{"use strict";var zzr=DM&&DM.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},Hzr=DM&&DM.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";var Jzr=SM&&SM.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},Xzr=SM&&SM.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";Object.defineProperty(P4e,"__esModule",{value:!0});P4e.min=void 0;var tHr=eie(),rHr=Sc();function nHr(e){return tHr.reduce(rHr.isFunction(e)?function(t,r){return e(t,r)<0?t:r}:function(t,r){return t{"use strict";Object.defineProperty(B4e,"__esModule",{value:!0});B4e.multicast=void 0;var iHr=n_e(),MHt=Sc(),aHr=i4e();function sHr(e,t){var r=MHt.isFunction(e)?e:function(){return e};return MHt.isFunction(t)?aHr.connect(t,{connector:r}):function(n){return new iHr.ConnectableObservable(n,r)}}B4e.multicast=sHr});var UHt=Le(RD=>{"use strict";var oHr=RD&&RD.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},RHr=RD&&RD.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";Object.defineProperty(M4e,"__esModule",{value:!0});M4e.pairwise=void 0;var cHr=bs(),THr=po();function pHr(){return cHr.operate(function(e,t){var r,n=!1;e.subscribe(THr.createOperatorSubscriber(t,function(i){var s=r;r=i,n&&t.next([s,i]),n=!0}))})}M4e.pairwise=pHr});var LHt=Le(W4e=>{"use strict";Object.defineProperty(W4e,"__esModule",{value:!0});W4e.pluck=void 0;var _Hr=mM();function hHr(){for(var e=[],t=0;t{"use strict";Object.defineProperty(U4e,"__esModule",{value:!0});U4e.publish=void 0;var fHr=Wm(),dHr=I4e(),xHr=i4e();function mHr(e){return e?function(t){return xHr.connect(e)(t)}:function(t){return dHr.multicast(new fHr.Subject)(t)}}U4e.publish=mHr});var HHt=Le(F4e=>{"use strict";Object.defineProperty(F4e,"__esModule",{value:!0});F4e.publishBehavior=void 0;var kHr=amt(),yHr=n_e();function qHr(e){return function(t){var r=new kHr.BehaviorSubject(e);return new yHr.ConnectableObservable(t,function(){return r})}}F4e.publishBehavior=qHr});var YHt=Le(L4e=>{"use strict";Object.defineProperty(L4e,"__esModule",{value:!0});L4e.publishLast=void 0;var CHr=Dye(),AHr=n_e();function gHr(){return function(e){var t=new CHr.AsyncSubject;return new AHr.ConnectableObservable(e,function(){return t})}}L4e.publishLast=gHr});var GHt=Le(z4e=>{"use strict";Object.defineProperty(z4e,"__esModule",{value:!0});z4e.publishReplay=void 0;var bHr=vye(),EHr=I4e(),KHt=Sc();function OHr(e,t,r,n){r&&!KHt.isFunction(r)&&(n=r);var i=KHt.isFunction(r)?r:void 0;return function(s){return EHr.multicast(new bHr.ReplaySubject(e,t,n),i)(s)}}z4e.publishReplay=OHr});var VHt=Le($M=>{"use strict";var vHr=$M&&$M.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},DHr=$M&&$M.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";Object.defineProperty(H4e,"__esModule",{value:!0});H4e.repeat=void 0;var wHr=YE(),PHr=bs(),jHt=po(),BHr=V0(),IHr=CM();function MHr(e){var t,r=1/0,n;return e!=null&&(typeof e=="object"?(t=e.count,r=t===void 0?1/0:t,n=e.delay):r=e),r<=0?function(){return wHr.EMPTY}:PHr.operate(function(i,s){var R=0,l,c=function(){if(l?.unsubscribe(),l=null,n!=null){var _=typeof n=="number"?IHr.timer(n):BHr.innerFrom(n(R)),f=jHt.createOperatorSubscriber(s,function(){f.unsubscribe(),h()});_.subscribe(f)}else h()},h=function(){var _=!1;l=i.subscribe(jHt.createOperatorSubscriber(s,void 0,function(){++R{"use strict";Object.defineProperty(Y4e,"__esModule",{value:!0});Y4e.repeatWhen=void 0;var WHr=V0(),UHr=Wm(),FHr=bs(),XHt=po();function LHr(e){return FHr.operate(function(t,r){var n,i=!1,s,R=!1,l=!1,c=function(){return l&&R&&(r.complete(),!0)},h=function(){return s||(s=new UHr.Subject,WHr.innerFrom(e(s)).subscribe(XHt.createOperatorSubscriber(r,function(){n?_():i=!0},function(){R=!0,c()}))),s},_=function(){l=!1,n=t.subscribe(XHt.createOperatorSubscriber(r,void 0,function(){l=!0,!c()&&h().next()})),i&&(n.unsubscribe(),n=null,i=!1,_())};_()})}Y4e.repeatWhen=LHr});var tYt=Le(K4e=>{"use strict";Object.defineProperty(K4e,"__esModule",{value:!0});K4e.retry=void 0;var zHr=bs(),eYt=po(),HHr=Mm(),YHr=CM(),KHr=V0();function GHr(e){e===void 0&&(e=1/0);var t;e&&typeof e=="object"?t=e:t={count:e};var r=t.count,n=r===void 0?1/0:r,i=t.delay,s=t.resetOnSuccess,R=s===void 0?!1:s;return n<=0?HHr.identity:zHr.operate(function(l,c){var h=0,_,f=function(){var m=!1;_=l.subscribe(eYt.createOperatorSubscriber(c,function(x){R&&(h=0),c.next(x)},void 0,function(x){if(h++{"use strict";Object.defineProperty(G4e,"__esModule",{value:!0});G4e.retryWhen=void 0;var VHr=V0(),jHr=Wm(),JHr=bs(),rYt=po();function XHr(e){return JHr.operate(function(t,r){var n,i=!1,s,R=function(){n=t.subscribe(rYt.createOperatorSubscriber(r,void 0,void 0,function(l){s||(s=new jHr.Subject,VHr.innerFrom(e(s)).subscribe(rYt.createOperatorSubscriber(r,function(){return n?R():i=!0}))),s&&s.next(l)})),i&&(n.unsubscribe(),n=null,i=!1,R())};R()})}G4e.retryWhen=XHr});var Jmt=Le(V4e=>{"use strict";Object.defineProperty(V4e,"__esModule",{value:!0});V4e.sample=void 0;var ZHr=V0(),eYr=bs(),tYr=Im(),iYt=po();function rYr(e){return eYr.operate(function(t,r){var n=!1,i=null;t.subscribe(iYt.createOperatorSubscriber(r,function(s){n=!0,i=s})),ZHr.innerFrom(e).subscribe(iYt.createOperatorSubscriber(r,function(){if(n){n=!1;var s=i;i=null,r.next(s)}},tYr.noop))})}V4e.sample=rYr});var aYt=Le(j4e=>{"use strict";Object.defineProperty(j4e,"__esModule",{value:!0});j4e.sampleTime=void 0;var nYr=$C(),iYr=Jmt(),aYr=Dmt();function sYr(e,t){return t===void 0&&(t=nYr.asyncScheduler),iYr.sample(aYr.interval(e,t))}j4e.sampleTime=sYr});var sYt=Le(J4e=>{"use strict";Object.defineProperty(J4e,"__esModule",{value:!0});J4e.scan=void 0;var oYr=bs(),RYr=Bmt();function uYr(e,t){return oYr.operate(RYr.scanInternals(e,t,arguments.length>=2,!0))}J4e.scan=uYr});var RYt=Le(X4e=>{"use strict";Object.defineProperty(X4e,"__esModule",{value:!0});X4e.sequenceEqual=void 0;var lYr=bs(),cYr=po(),TYr=V0();function pYr(e,t){return t===void 0&&(t=function(r,n){return r===n}),lYr.operate(function(r,n){var i=oYt(),s=oYt(),R=function(c){n.next(c),n.complete()},l=function(c,h){var _=cYr.createOperatorSubscriber(n,function(f){var m=h.buffer,x=h.complete;m.length===0?x?R(!1):c.buffer.push(f):!t(f,m.shift())&&R(!1)},function(){c.complete=!0;var f=h.complete,m=h.buffer;f&&R(m.length===0),_?.unsubscribe()});return _};r.subscribe(l(i,s)),TYr.innerFrom(e).subscribe(l(s,i))})}X4e.sequenceEqual=pYr;function oYt(){return{buffer:[],complete:!1}}});var Zmt=Le(QM=>{"use strict";var _Yr=QM&&QM.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},hYr=QM&&QM.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r0&&(_=new lYt.SafeSubscriber({next:function(F){return w.next(F)},error:function(F){A=!0,D(),f=Xmt(S,i,F),w.error(F)},complete:function(){y=!0,D(),f=Xmt(S,R),w.complete()}}),uYt.innerFrom(M).subscribe(_))})(h)}}QM.share=xYr;function Xmt(e,t){for(var r=[],n=2;n{"use strict";Object.defineProperty(Z4e,"__esModule",{value:!0});Z4e.shareReplay=void 0;var mYr=vye(),kYr=Zmt();function yYr(e,t,r){var n,i,s,R,l=!1;return e&&typeof e=="object"?(n=e.bufferSize,R=n===void 0?1/0:n,i=e.windowTime,t=i===void 0?1/0:i,s=e.refCount,l=s===void 0?!1:s,r=e.scheduler):R=e??1/0,kYr.share({connector:function(){return new mYr.ReplaySubject(R,t,r)},resetOnError:!0,resetOnComplete:!1,resetOnRefCountZero:l})}Z4e.shareReplay=yYr});var TYt=Le(e6e=>{"use strict";Object.defineProperty(e6e,"__esModule",{value:!0});e6e.single=void 0;var qYr=xM(),CYr=Amt(),AYr=Cmt(),gYr=bs(),bYr=po();function EYr(e){return gYr.operate(function(t,r){var n=!1,i,s=!1,R=0;t.subscribe(bYr.createOperatorSubscriber(r,function(l){s=!0,(!e||e(l,R++,t))&&(n&&r.error(new CYr.SequenceError("Too many matching values")),n=!0,i=l)},function(){n?(r.next(i),r.complete()):r.error(s?new AYr.NotFoundError("No matching values"):new qYr.EmptyError)}))})}e6e.single=EYr});var pYt=Le(t6e=>{"use strict";Object.defineProperty(t6e,"__esModule",{value:!0});t6e.skip=void 0;var OYr=yJ();function vYr(e){return OYr.filter(function(t,r){return e<=r})}t6e.skip=vYr});var _Yt=Le(r6e=>{"use strict";Object.defineProperty(r6e,"__esModule",{value:!0});r6e.skipLast=void 0;var DYr=Mm(),SYr=bs(),$Yr=po();function QYr(e){return e<=0?DYr.identity:SYr.operate(function(t,r){var n=new Array(e),i=0;return t.subscribe($Yr.createOperatorSubscriber(r,function(s){var R=i++;if(R{"use strict";Object.defineProperty(n6e,"__esModule",{value:!0});n6e.skipUntil=void 0;var NYr=bs(),hYt=po(),wYr=V0(),PYr=Im();function BYr(e){return NYr.operate(function(t,r){var n=!1,i=hYt.createOperatorSubscriber(r,function(){i?.unsubscribe(),n=!0},PYr.noop);wYr.innerFrom(e).subscribe(i),t.subscribe(hYt.createOperatorSubscriber(r,function(s){return n&&r.next(s)}))})}n6e.skipUntil=BYr});var dYt=Le(i6e=>{"use strict";Object.defineProperty(i6e,"__esModule",{value:!0});i6e.skipWhile=void 0;var IYr=bs(),MYr=po();function WYr(e){return IYr.operate(function(t,r){var n=!1,i=0;t.subscribe(MYr.createOperatorSubscriber(r,function(s){return(n||(n=!e(s,i++)))&&r.next(s)}))})}i6e.skipWhile=WYr});var mYt=Le(a6e=>{"use strict";Object.defineProperty(a6e,"__esModule",{value:!0});a6e.startWith=void 0;var xYt=l_e(),UYr=QC(),FYr=bs();function LYr(){for(var e=[],t=0;t{"use strict";Object.defineProperty(s6e,"__esModule",{value:!0});s6e.switchMap=void 0;var zYr=V0(),HYr=bs(),kYt=po();function YYr(e,t){return HYr.operate(function(r,n){var i=null,s=0,R=!1,l=function(){return R&&!i&&n.complete()};r.subscribe(kYt.createOperatorSubscriber(n,function(c){i?.unsubscribe();var h=0,_=s++;zYr.innerFrom(e(c,_)).subscribe(i=kYt.createOperatorSubscriber(n,function(f){return n.next(t?t(c,f,_,h++):f)},function(){i=null,l()}))},function(){R=!0,l()}))})}s6e.switchMap=YYr});var yYt=Le(o6e=>{"use strict";Object.defineProperty(o6e,"__esModule",{value:!0});o6e.switchAll=void 0;var KYr=h_e(),GYr=Mm();function VYr(){return KYr.switchMap(GYr.identity)}o6e.switchAll=VYr});var CYt=Le(R6e=>{"use strict";Object.defineProperty(R6e,"__esModule",{value:!0});R6e.switchMapTo=void 0;var qYt=h_e(),jYr=Sc();function JYr(e,t){return jYr.isFunction(t)?qYt.switchMap(function(){return e},t):qYt.switchMap(function(){return e})}R6e.switchMapTo=JYr});var AYt=Le(u6e=>{"use strict";Object.defineProperty(u6e,"__esModule",{value:!0});u6e.switchScan=void 0;var XYr=h_e(),ZYr=bs();function eKr(e,t){return ZYr.operate(function(r,n){var i=t;return XYr.switchMap(function(s,R){return e(i,s,R)},function(s,R){return i=R,R})(r).subscribe(n),function(){i=null}})}u6e.switchScan=eKr});var gYt=Le(l6e=>{"use strict";Object.defineProperty(l6e,"__esModule",{value:!0});l6e.takeUntil=void 0;var tKr=bs(),rKr=po(),nKr=V0(),iKr=Im();function aKr(e){return tKr.operate(function(t,r){nKr.innerFrom(e).subscribe(rKr.createOperatorSubscriber(r,function(){return r.complete()},iKr.noop)),!r.closed&&t.subscribe(r)})}l6e.takeUntil=aKr});var bYt=Le(c6e=>{"use strict";Object.defineProperty(c6e,"__esModule",{value:!0});c6e.takeWhile=void 0;var sKr=bs(),oKr=po();function RKr(e,t){return t===void 0&&(t=!1),sKr.operate(function(r,n){var i=0;r.subscribe(oKr.createOperatorSubscriber(n,function(s){var R=e(s,i++);(R||t)&&n.next(s),!R&&n.complete()}))})}c6e.takeWhile=RKr});var EYt=Le(T6e=>{"use strict";Object.defineProperty(T6e,"__esModule",{value:!0});T6e.tap=void 0;var uKr=Sc(),lKr=bs(),cKr=po(),TKr=Mm();function pKr(e,t,r){var n=uKr.isFunction(e)||t||r?{next:e,error:t,complete:r}:e;return n?lKr.operate(function(i,s){var R;(R=n.subscribe)===null||R===void 0||R.call(n);var l=!0;i.subscribe(cKr.createOperatorSubscriber(s,function(c){var h;(h=n.next)===null||h===void 0||h.call(n,c),s.next(c)},function(){var c;l=!1,(c=n.complete)===null||c===void 0||c.call(n),s.complete()},function(c){var h;l=!1,(h=n.error)===null||h===void 0||h.call(n,c),s.error(c)},function(){var c,h;l&&((c=n.unsubscribe)===null||c===void 0||c.call(n)),(h=n.finalize)===null||h===void 0||h.call(n)}))}):TKr.identity}T6e.tap=pKr});var ekt=Le(p6e=>{"use strict";Object.defineProperty(p6e,"__esModule",{value:!0});p6e.throttle=void 0;var _Kr=bs(),OYt=po(),hKr=V0();function fKr(e,t){return _Kr.operate(function(r,n){var i=t??{},s=i.leading,R=s===void 0?!0:s,l=i.trailing,c=l===void 0?!1:l,h=!1,_=null,f=null,m=!1,x=function(){f?.unsubscribe(),f=null,c&&(D(),m&&n.complete())},y=function(){f=null,m&&n.complete()},A=function(S){return f=hKr.innerFrom(e(S)).subscribe(OYt.createOperatorSubscriber(n,x,y))},D=function(){if(h){h=!1;var S=_;_=null,n.next(S),!m&&A(S)}};r.subscribe(OYt.createOperatorSubscriber(n,function(S){h=!0,_=S,!(f&&!f.closed)&&(R?D():A(S))},function(){m=!0,!(c&&h&&f&&!f.closed)&&n.complete()}))})}p6e.throttle=fKr});var vYt=Le(_6e=>{"use strict";Object.defineProperty(_6e,"__esModule",{value:!0});_6e.throttleTime=void 0;var dKr=$C(),xKr=ekt(),mKr=CM();function kKr(e,t,r){t===void 0&&(t=dKr.asyncScheduler);var n=mKr.timer(e,t);return xKr.throttle(function(){return n},r)}_6e.throttleTime=kKr});var SYt=Le(nie=>{"use strict";Object.defineProperty(nie,"__esModule",{value:!0});nie.TimeInterval=nie.timeInterval=void 0;var yKr=$C(),qKr=bs(),CKr=po();function AKr(e){return e===void 0&&(e=yKr.asyncScheduler),qKr.operate(function(t,r){var n=e.now();t.subscribe(CKr.createOperatorSubscriber(r,function(i){var s=e.now(),R=s-n;n=s,r.next(new DYt(i,R))}))})}nie.timeInterval=AKr;var DYt=function(){function e(t,r){this.value=t,this.interval=r}return e}();nie.TimeInterval=DYt});var $Yt=Le(h6e=>{"use strict";Object.defineProperty(h6e,"__esModule",{value:!0});h6e.timeoutWith=void 0;var gKr=$C(),bKr=c8e(),EKr=T8e();function OKr(e,t,r){var n,i,s;if(r=r??gKr.async,bKr.isValidDate(e)?n=e:typeof e=="number"&&(i=e),t)s=function(){return t};else throw new TypeError("No observable provided to switch to");if(n==null&&i==null)throw new TypeError("No timeout provided.");return EKr.timeout({first:n,each:i,scheduler:r,with:s})}h6e.timeoutWith=OKr});var QYt=Le(f6e=>{"use strict";Object.defineProperty(f6e,"__esModule",{value:!0});f6e.timestamp=void 0;var vKr=Oye(),DKr=mM();function SKr(e){return e===void 0&&(e=vKr.dateTimestampProvider),DKr.map(function(t){return{value:t,timestamp:e.now()}})}f6e.timestamp=SKr});var PYt=Le(d6e=>{"use strict";Object.defineProperty(d6e,"__esModule",{value:!0});d6e.window=void 0;var NYt=Wm(),$Kr=bs(),wYt=po(),QKr=Im(),NKr=V0();function wKr(e){return $Kr.operate(function(t,r){var n=new NYt.Subject;r.next(n.asObservable());var i=function(s){n.error(s),r.error(s)};return t.subscribe(wYt.createOperatorSubscriber(r,function(s){return n?.next(s)},function(){n.complete(),r.complete()},i)),NKr.innerFrom(e).subscribe(wYt.createOperatorSubscriber(r,function(){n.complete(),r.next(n=new NYt.Subject)},QKr.noop,i)),function(){n?.unsubscribe(),n=null}})}d6e.window=wKr});var IYt=Le(iie=>{"use strict";var PKr=iie&&iie.__values||function(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(iie,"__esModule",{value:!0});iie.windowCount=void 0;var BYt=Wm(),BKr=bs(),IKr=po();function MKr(e,t){t===void 0&&(t=0);var r=t>0?t:e;return BKr.operate(function(n,i){var s=[new BYt.Subject],R=[],l=0;i.next(s[0].asObservable()),n.subscribe(IKr.createOperatorSubscriber(i,function(c){var h,_;try{for(var f=PKr(s),m=f.next();!m.done;m=f.next()){var x=m.value;x.next(c)}}catch(D){h={error:D}}finally{try{m&&!m.done&&(_=f.return)&&_.call(f)}finally{if(h)throw h.error}}var y=l-e+1;if(y>=0&&y%r===0&&s.shift().complete(),++l%r===0){var A=new BYt.Subject;s.push(A),i.next(A.asObservable())}},function(){for(;s.length>0;)s.shift().complete();i.complete()},function(c){for(;s.length>0;)s.shift().error(c);i.error(c)},function(){R=null,s=null}))})}iie.windowCount=MKr});var WYt=Le(x6e=>{"use strict";Object.defineProperty(x6e,"__esModule",{value:!0});x6e.windowTime=void 0;var WKr=Wm(),UKr=$C(),FKr=hA(),LKr=bs(),zKr=po(),HKr=LN(),YKr=QC(),MYt=zN();function KKr(e){for(var t,r,n=[],i=1;i=0?MYt.executeSchedule(h,s,x,R,!0):f=!0,x();var y=function(D){return _.slice().forEach(D)},A=function(D){y(function(S){var P=S.window;return D(P)}),D(h),h.unsubscribe()};return c.subscribe(zKr.createOperatorSubscriber(h,function(D){y(function(S){S.window.next(D),l<=++S.seen&&m(S)})},function(){return A(function(D){return D.complete()})},function(D){return A(function(S){return S.error(D)})})),function(){_=null}})}x6e.windowTime=KKr});var LYt=Le(aie=>{"use strict";var GKr=aie&&aie.__values||function(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")};Object.defineProperty(aie,"__esModule",{value:!0});aie.windowToggle=void 0;var VKr=Wm(),jKr=hA(),JKr=bs(),UYt=V0(),tkt=po(),FYt=Im(),XKr=LN();function ZKr(e,t){return JKr.operate(function(r,n){var i=[],s=function(R){for(;0{"use strict";Object.defineProperty(m6e,"__esModule",{value:!0});m6e.windowWhen=void 0;var eGr=Wm(),tGr=bs(),zYt=po(),rGr=V0();function nGr(e){return tGr.operate(function(t,r){var n,i,s=function(l){n.error(l),r.error(l)},R=function(){i?.unsubscribe(),n?.complete(),n=new eGr.Subject,r.next(n.asObservable());var l;try{l=rGr.innerFrom(e())}catch(c){s(c);return}l.subscribe(i=zYt.createOperatorSubscriber(r,R,R,s))};R(),t.subscribe(zYt.createOperatorSubscriber(r,function(l){return n.next(l)},function(){n.complete(),r.complete()},s,function(){i?.unsubscribe(),n=null}))})}m6e.windowWhen=nGr});var VYt=Le(NM=>{"use strict";var YYt=NM&&NM.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},KYt=NM&&NM.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";Object.defineProperty(k6e,"__esModule",{value:!0});k6e.zipAll=void 0;var lGr=F8e(),cGr=Mmt();function TGr(e){return cGr.joinAllInternals(lGr.zip,e)}k6e.zipAll=TGr});var JYt=Le(wM=>{"use strict";var pGr=wM&&wM.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},_Gr=wM&&wM.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";var xGr=PM&&PM.__read||function(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),i,s=[],R;try{for(;(t===void 0||t-- >0)&&!(i=n.next()).done;)s.push(i.value)}catch(l){R={error:l}}finally{try{i&&!i.done&&(r=n.return)&&r.call(n)}finally{if(R)throw R.error}}return s},mGr=PM&&PM.__spreadArray||function(e,t){for(var r=0,n=t.length,i=e.length;r{"use strict";var qGr=bt&&bt.__createBinding||(Object.create?function(e,t,r,n){n===void 0&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){n===void 0&&(n=r),e[n]=t[r]}),CGr=bt&&bt.__exportStar||function(e,t){for(var r in e)r!=="default"&&!Object.prototype.hasOwnProperty.call(t,r)&&qGr(t,e,r)};Object.defineProperty(bt,"__esModule",{value:!0});bt.interval=bt.iif=bt.generate=bt.fromEventPattern=bt.fromEvent=bt.from=bt.forkJoin=bt.empty=bt.defer=bt.connectable=bt.concat=bt.combineLatest=bt.bindNodeCallback=bt.bindCallback=bt.UnsubscriptionError=bt.TimeoutError=bt.SequenceError=bt.ObjectUnsubscribedError=bt.NotFoundError=bt.EmptyError=bt.ArgumentOutOfRangeError=bt.firstValueFrom=bt.lastValueFrom=bt.isObservable=bt.identity=bt.noop=bt.pipe=bt.NotificationKind=bt.Notification=bt.Subscriber=bt.Subscription=bt.Scheduler=bt.VirtualAction=bt.VirtualTimeScheduler=bt.animationFrameScheduler=bt.animationFrame=bt.queueScheduler=bt.queue=bt.asyncScheduler=bt.async=bt.asapScheduler=bt.asap=bt.AsyncSubject=bt.ReplaySubject=bt.BehaviorSubject=bt.Subject=bt.animationFrames=bt.observable=bt.ConnectableObservable=bt.Observable=void 0;bt.filter=bt.expand=bt.exhaustMap=bt.exhaustAll=bt.exhaust=bt.every=bt.endWith=bt.elementAt=bt.distinctUntilKeyChanged=bt.distinctUntilChanged=bt.distinct=bt.dematerialize=bt.delayWhen=bt.delay=bt.defaultIfEmpty=bt.debounceTime=bt.debounce=bt.count=bt.connect=bt.concatWith=bt.concatMapTo=bt.concatMap=bt.concatAll=bt.combineLatestWith=bt.combineLatestAll=bt.combineAll=bt.catchError=bt.bufferWhen=bt.bufferToggle=bt.bufferTime=bt.bufferCount=bt.buffer=bt.auditTime=bt.audit=bt.config=bt.NEVER=bt.EMPTY=bt.scheduled=bt.zip=bt.using=bt.timer=bt.throwError=bt.range=bt.race=bt.partition=bt.pairs=bt.onErrorResumeNext=bt.of=bt.never=bt.merge=void 0;bt.switchMap=bt.switchAll=bt.subscribeOn=bt.startWith=bt.skipWhile=bt.skipUntil=bt.skipLast=bt.skip=bt.single=bt.shareReplay=bt.share=bt.sequenceEqual=bt.scan=bt.sampleTime=bt.sample=bt.refCount=bt.retryWhen=bt.retry=bt.repeatWhen=bt.repeat=bt.reduce=bt.raceWith=bt.publishReplay=bt.publishLast=bt.publishBehavior=bt.publish=bt.pluck=bt.pairwise=bt.onErrorResumeNextWith=bt.observeOn=bt.multicast=bt.min=bt.mergeWith=bt.mergeScan=bt.mergeMapTo=bt.mergeMap=bt.flatMap=bt.mergeAll=bt.max=bt.materialize=bt.mapTo=bt.map=bt.last=bt.isEmpty=bt.ignoreElements=bt.groupBy=bt.first=bt.findIndex=bt.find=bt.finalize=void 0;bt.zipWith=bt.zipAll=bt.withLatestFrom=bt.windowWhen=bt.windowToggle=bt.windowTime=bt.windowCount=bt.window=bt.toArray=bt.timestamp=bt.timeoutWith=bt.timeout=bt.timeInterval=bt.throwIfEmpty=bt.throttleTime=bt.throttle=bt.tap=bt.takeWhile=bt.takeUntil=bt.takeLast=bt.take=bt.switchScan=bt.switchMapTo=void 0;var AGr=eT();Object.defineProperty(bt,"Observable",{enumerable:!0,get:function(){return AGr.Observable}});var gGr=n_e();Object.defineProperty(bt,"ConnectableObservable",{enumerable:!0,get:function(){return gGr.ConnectableObservable}});var bGr=t_e();Object.defineProperty(bt,"observable",{enumerable:!0,get:function(){return bGr.observable}});var EGr=nLt();Object.defineProperty(bt,"animationFrames",{enumerable:!0,get:function(){return EGr.animationFrames}});var OGr=Wm();Object.defineProperty(bt,"Subject",{enumerable:!0,get:function(){return OGr.Subject}});var vGr=amt();Object.defineProperty(bt,"BehaviorSubject",{enumerable:!0,get:function(){return vGr.BehaviorSubject}});var DGr=vye();Object.defineProperty(bt,"ReplaySubject",{enumerable:!0,get:function(){return DGr.ReplaySubject}});var SGr=Dye();Object.defineProperty(bt,"AsyncSubject",{enumerable:!0,get:function(){return SGr.AsyncSubject}});var ZYt=kLt();Object.defineProperty(bt,"asap",{enumerable:!0,get:function(){return ZYt.asap}});Object.defineProperty(bt,"asapScheduler",{enumerable:!0,get:function(){return ZYt.asapScheduler}});var eKt=$C();Object.defineProperty(bt,"async",{enumerable:!0,get:function(){return eKt.async}});Object.defineProperty(bt,"asyncScheduler",{enumerable:!0,get:function(){return eKt.asyncScheduler}});var tKt=CLt();Object.defineProperty(bt,"queue",{enumerable:!0,get:function(){return tKt.queue}});Object.defineProperty(bt,"queueScheduler",{enumerable:!0,get:function(){return tKt.queueScheduler}});var rKt=ELt();Object.defineProperty(bt,"animationFrame",{enumerable:!0,get:function(){return rKt.animationFrame}});Object.defineProperty(bt,"animationFrameScheduler",{enumerable:!0,get:function(){return rKt.animationFrameScheduler}});var nKt=DLt();Object.defineProperty(bt,"VirtualTimeScheduler",{enumerable:!0,get:function(){return nKt.VirtualTimeScheduler}});Object.defineProperty(bt,"VirtualAction",{enumerable:!0,get:function(){return nKt.VirtualAction}});var $Gr=omt();Object.defineProperty(bt,"Scheduler",{enumerable:!0,get:function(){return $Gr.Scheduler}});var QGr=hA();Object.defineProperty(bt,"Subscription",{enumerable:!0,get:function(){return QGr.Subscription}});var NGr=gne();Object.defineProperty(bt,"Subscriber",{enumerable:!0,get:function(){return NGr.Subscriber}});var iKt=r8e();Object.defineProperty(bt,"Notification",{enumerable:!0,get:function(){return iKt.Notification}});Object.defineProperty(bt,"NotificationKind",{enumerable:!0,get:function(){return iKt.NotificationKind}});var wGr=r_e();Object.defineProperty(bt,"pipe",{enumerable:!0,get:function(){return wGr.pipe}});var PGr=Im();Object.defineProperty(bt,"noop",{enumerable:!0,get:function(){return PGr.noop}});var BGr=Mm();Object.defineProperty(bt,"identity",{enumerable:!0,get:function(){return BGr.identity}});var IGr=KLt();Object.defineProperty(bt,"isObservable",{enumerable:!0,get:function(){return IGr.isObservable}});var MGr=GLt();Object.defineProperty(bt,"lastValueFrom",{enumerable:!0,get:function(){return MGr.lastValueFrom}});var WGr=VLt();Object.defineProperty(bt,"firstValueFrom",{enumerable:!0,get:function(){return WGr.firstValueFrom}});var UGr=qmt();Object.defineProperty(bt,"ArgumentOutOfRangeError",{enumerable:!0,get:function(){return UGr.ArgumentOutOfRangeError}});var FGr=xM();Object.defineProperty(bt,"EmptyError",{enumerable:!0,get:function(){return FGr.EmptyError}});var LGr=Cmt();Object.defineProperty(bt,"NotFoundError",{enumerable:!0,get:function(){return LGr.NotFoundError}});var zGr=tmt();Object.defineProperty(bt,"ObjectUnsubscribedError",{enumerable:!0,get:function(){return zGr.ObjectUnsubscribedError}});var HGr=Amt();Object.defineProperty(bt,"SequenceError",{enumerable:!0,get:function(){return HGr.SequenceError}});var YGr=T8e();Object.defineProperty(bt,"TimeoutError",{enumerable:!0,get:function(){return YGr.TimeoutError}});var KGr=F7t();Object.defineProperty(bt,"UnsubscriptionError",{enumerable:!0,get:function(){return KGr.UnsubscriptionError}});var GGr=JLt();Object.defineProperty(bt,"bindCallback",{enumerable:!0,get:function(){return GGr.bindCallback}});var VGr=XLt();Object.defineProperty(bt,"bindNodeCallback",{enumerable:!0,get:function(){return VGr.bindNodeCallback}});var jGr=x8e();Object.defineProperty(bt,"combineLatest",{enumerable:!0,get:function(){return jGr.combineLatest}});var JGr=l_e();Object.defineProperty(bt,"concat",{enumerable:!0,get:function(){return JGr.concat}});var XGr=szt();Object.defineProperty(bt,"connectable",{enumerable:!0,get:function(){return XGr.connectable}});var ZGr=c_e();Object.defineProperty(bt,"defer",{enumerable:!0,get:function(){return ZGr.defer}});var eVr=YE();Object.defineProperty(bt,"empty",{enumerable:!0,get:function(){return eVr.empty}});var tVr=ozt();Object.defineProperty(bt,"forkJoin",{enumerable:!0,get:function(){return tVr.forkJoin}});var rVr=HN();Object.defineProperty(bt,"from",{enumerable:!0,get:function(){return rVr.from}});var nVr=uzt();Object.defineProperty(bt,"fromEvent",{enumerable:!0,get:function(){return nVr.fromEvent}});var iVr=czt();Object.defineProperty(bt,"fromEventPattern",{enumerable:!0,get:function(){return iVr.fromEventPattern}});var aVr=pzt();Object.defineProperty(bt,"generate",{enumerable:!0,get:function(){return aVr.generate}});var sVr=_zt();Object.defineProperty(bt,"iif",{enumerable:!0,get:function(){return sVr.iif}});var oVr=Dmt();Object.defineProperty(bt,"interval",{enumerable:!0,get:function(){return oVr.interval}});var RVr=fzt();Object.defineProperty(bt,"merge",{enumerable:!0,get:function(){return RVr.merge}});var uVr=Smt();Object.defineProperty(bt,"never",{enumerable:!0,get:function(){return uVr.never}});var lVr=e8e();Object.defineProperty(bt,"of",{enumerable:!0,get:function(){return lVr.of}});var cVr=$mt();Object.defineProperty(bt,"onErrorResumeNext",{enumerable:!0,get:function(){return cVr.onErrorResumeNext}});var TVr=xzt();Object.defineProperty(bt,"pairs",{enumerable:!0,get:function(){return TVr.pairs}});var pVr=qzt();Object.defineProperty(bt,"partition",{enumerable:!0,get:function(){return pVr.partition}});var _Vr=Qmt();Object.defineProperty(bt,"race",{enumerable:!0,get:function(){return _Vr.race}});var hVr=gzt();Object.defineProperty(bt,"range",{enumerable:!0,get:function(){return hVr.range}});var fVr=ymt();Object.defineProperty(bt,"throwError",{enumerable:!0,get:function(){return fVr.throwError}});var dVr=CM();Object.defineProperty(bt,"timer",{enumerable:!0,get:function(){return dVr.timer}});var xVr=bzt();Object.defineProperty(bt,"using",{enumerable:!0,get:function(){return xVr.using}});var mVr=F8e();Object.defineProperty(bt,"zip",{enumerable:!0,get:function(){return mVr.zip}});var kVr=kmt();Object.defineProperty(bt,"scheduled",{enumerable:!0,get:function(){return kVr.scheduled}});var yVr=YE();Object.defineProperty(bt,"EMPTY",{enumerable:!0,get:function(){return yVr.EMPTY}});var qVr=Smt();Object.defineProperty(bt,"NEVER",{enumerable:!0,get:function(){return qVr.NEVER}});CGr(Ozt(),bt);var CVr=Cne();Object.defineProperty(bt,"config",{enumerable:!0,get:function(){return CVr.config}});var AVr=Nmt();Object.defineProperty(bt,"audit",{enumerable:!0,get:function(){return AVr.audit}});var gVr=Dzt();Object.defineProperty(bt,"auditTime",{enumerable:!0,get:function(){return gVr.auditTime}});var bVr=$zt();Object.defineProperty(bt,"buffer",{enumerable:!0,get:function(){return bVr.buffer}});var EVr=Qzt();Object.defineProperty(bt,"bufferCount",{enumerable:!0,get:function(){return EVr.bufferCount}});var OVr=wzt();Object.defineProperty(bt,"bufferTime",{enumerable:!0,get:function(){return OVr.bufferTime}});var vVr=Izt();Object.defineProperty(bt,"bufferToggle",{enumerable:!0,get:function(){return vVr.bufferToggle}});var DVr=Wzt();Object.defineProperty(bt,"bufferWhen",{enumerable:!0,get:function(){return DVr.bufferWhen}});var SVr=Fzt();Object.defineProperty(bt,"catchError",{enumerable:!0,get:function(){return SVr.catchError}});var $Vr=Lzt();Object.defineProperty(bt,"combineAll",{enumerable:!0,get:function(){return $Vr.combineAll}});var QVr=Wmt();Object.defineProperty(bt,"combineLatestAll",{enumerable:!0,get:function(){return QVr.combineLatestAll}});var NVr=Gzt();Object.defineProperty(bt,"combineLatestWith",{enumerable:!0,get:function(){return NVr.combineLatestWith}});var wVr=A8e();Object.defineProperty(bt,"concatAll",{enumerable:!0,get:function(){return wVr.concatAll}});var PVr=Umt();Object.defineProperty(bt,"concatMap",{enumerable:!0,get:function(){return PVr.concatMap}});var BVr=Jzt();Object.defineProperty(bt,"concatMapTo",{enumerable:!0,get:function(){return BVr.concatMapTo}});var IVr=Zzt();Object.defineProperty(bt,"concatWith",{enumerable:!0,get:function(){return IVr.concatWith}});var MVr=i4e();Object.defineProperty(bt,"connect",{enumerable:!0,get:function(){return MVr.connect}});var WVr=tHt();Object.defineProperty(bt,"count",{enumerable:!0,get:function(){return WVr.count}});var UVr=nHt();Object.defineProperty(bt,"debounce",{enumerable:!0,get:function(){return UVr.debounce}});var FVr=iHt();Object.defineProperty(bt,"debounceTime",{enumerable:!0,get:function(){return FVr.debounceTime}});var LVr=T_e();Object.defineProperty(bt,"defaultIfEmpty",{enumerable:!0,get:function(){return LVr.defaultIfEmpty}});var zVr=oHt();Object.defineProperty(bt,"delay",{enumerable:!0,get:function(){return zVr.delay}});var HVr=zmt();Object.defineProperty(bt,"delayWhen",{enumerable:!0,get:function(){return HVr.delayWhen}});var YVr=RHt();Object.defineProperty(bt,"dematerialize",{enumerable:!0,get:function(){return YVr.dematerialize}});var KVr=lHt();Object.defineProperty(bt,"distinct",{enumerable:!0,get:function(){return KVr.distinct}});var GVr=Hmt();Object.defineProperty(bt,"distinctUntilChanged",{enumerable:!0,get:function(){return GVr.distinctUntilChanged}});var VVr=cHt();Object.defineProperty(bt,"distinctUntilKeyChanged",{enumerable:!0,get:function(){return VVr.distinctUntilKeyChanged}});var jVr=pHt();Object.defineProperty(bt,"elementAt",{enumerable:!0,get:function(){return jVr.elementAt}});var JVr=_Ht();Object.defineProperty(bt,"endWith",{enumerable:!0,get:function(){return JVr.endWith}});var XVr=hHt();Object.defineProperty(bt,"every",{enumerable:!0,get:function(){return XVr.every}});var ZVr=mHt();Object.defineProperty(bt,"exhaust",{enumerable:!0,get:function(){return ZVr.exhaust}});var ejr=Kmt();Object.defineProperty(bt,"exhaustAll",{enumerable:!0,get:function(){return ejr.exhaustAll}});var tjr=Ymt();Object.defineProperty(bt,"exhaustMap",{enumerable:!0,get:function(){return tjr.exhaustMap}});var rjr=kHt();Object.defineProperty(bt,"expand",{enumerable:!0,get:function(){return rjr.expand}});var njr=yJ();Object.defineProperty(bt,"filter",{enumerable:!0,get:function(){return njr.filter}});var ijr=yHt();Object.defineProperty(bt,"finalize",{enumerable:!0,get:function(){return ijr.finalize}});var ajr=Gmt();Object.defineProperty(bt,"find",{enumerable:!0,get:function(){return ajr.find}});var sjr=CHt();Object.defineProperty(bt,"findIndex",{enumerable:!0,get:function(){return sjr.findIndex}});var ojr=AHt();Object.defineProperty(bt,"first",{enumerable:!0,get:function(){return ojr.first}});var Rjr=bHt();Object.defineProperty(bt,"groupBy",{enumerable:!0,get:function(){return Rjr.groupBy}});var ujr=Fmt();Object.defineProperty(bt,"ignoreElements",{enumerable:!0,get:function(){return ujr.ignoreElements}});var ljr=EHt();Object.defineProperty(bt,"isEmpty",{enumerable:!0,get:function(){return ljr.isEmpty}});var cjr=OHt();Object.defineProperty(bt,"last",{enumerable:!0,get:function(){return cjr.last}});var Tjr=mM();Object.defineProperty(bt,"map",{enumerable:!0,get:function(){return Tjr.map}});var pjr=Lmt();Object.defineProperty(bt,"mapTo",{enumerable:!0,get:function(){return pjr.mapTo}});var _jr=vHt();Object.defineProperty(bt,"materialize",{enumerable:!0,get:function(){return _jr.materialize}});var hjr=DHt();Object.defineProperty(bt,"max",{enumerable:!0,get:function(){return hjr.max}});var fjr=u_e();Object.defineProperty(bt,"mergeAll",{enumerable:!0,get:function(){return fjr.mergeAll}});var djr=SHt();Object.defineProperty(bt,"flatMap",{enumerable:!0,get:function(){return djr.flatMap}});var xjr=KN();Object.defineProperty(bt,"mergeMap",{enumerable:!0,get:function(){return xjr.mergeMap}});var mjr=QHt();Object.defineProperty(bt,"mergeMapTo",{enumerable:!0,get:function(){return mjr.mergeMapTo}});var kjr=NHt();Object.defineProperty(bt,"mergeScan",{enumerable:!0,get:function(){return kjr.mergeScan}});var yjr=BHt();Object.defineProperty(bt,"mergeWith",{enumerable:!0,get:function(){return yjr.mergeWith}});var qjr=IHt();Object.defineProperty(bt,"min",{enumerable:!0,get:function(){return qjr.min}});var Cjr=I4e();Object.defineProperty(bt,"multicast",{enumerable:!0,get:function(){return Cjr.multicast}});var Ajr=o_e();Object.defineProperty(bt,"observeOn",{enumerable:!0,get:function(){return Ajr.observeOn}});var gjr=UHt();Object.defineProperty(bt,"onErrorResumeNextWith",{enumerable:!0,get:function(){return gjr.onErrorResumeNextWith}});var bjr=FHt();Object.defineProperty(bt,"pairwise",{enumerable:!0,get:function(){return bjr.pairwise}});var Ejr=LHt();Object.defineProperty(bt,"pluck",{enumerable:!0,get:function(){return Ejr.pluck}});var Ojr=zHt();Object.defineProperty(bt,"publish",{enumerable:!0,get:function(){return Ojr.publish}});var vjr=HHt();Object.defineProperty(bt,"publishBehavior",{enumerable:!0,get:function(){return vjr.publishBehavior}});var Djr=YHt();Object.defineProperty(bt,"publishLast",{enumerable:!0,get:function(){return Djr.publishLast}});var Sjr=GHt();Object.defineProperty(bt,"publishReplay",{enumerable:!0,get:function(){return Sjr.publishReplay}});var $jr=VHt();Object.defineProperty(bt,"raceWith",{enumerable:!0,get:function(){return $jr.raceWith}});var Qjr=eie();Object.defineProperty(bt,"reduce",{enumerable:!0,get:function(){return Qjr.reduce}});var Njr=JHt();Object.defineProperty(bt,"repeat",{enumerable:!0,get:function(){return Njr.repeat}});var wjr=ZHt();Object.defineProperty(bt,"repeatWhen",{enumerable:!0,get:function(){return wjr.repeatWhen}});var Pjr=tYt();Object.defineProperty(bt,"retry",{enumerable:!0,get:function(){return Pjr.retry}});var Bjr=nYt();Object.defineProperty(bt,"retryWhen",{enumerable:!0,get:function(){return Bjr.retryWhen}});var Ijr=Z7t();Object.defineProperty(bt,"refCount",{enumerable:!0,get:function(){return Ijr.refCount}});var Mjr=Jmt();Object.defineProperty(bt,"sample",{enumerable:!0,get:function(){return Mjr.sample}});var Wjr=aYt();Object.defineProperty(bt,"sampleTime",{enumerable:!0,get:function(){return Wjr.sampleTime}});var Ujr=sYt();Object.defineProperty(bt,"scan",{enumerable:!0,get:function(){return Ujr.scan}});var Fjr=RYt();Object.defineProperty(bt,"sequenceEqual",{enumerable:!0,get:function(){return Fjr.sequenceEqual}});var Ljr=Zmt();Object.defineProperty(bt,"share",{enumerable:!0,get:function(){return Ljr.share}});var zjr=cYt();Object.defineProperty(bt,"shareReplay",{enumerable:!0,get:function(){return zjr.shareReplay}});var Hjr=TYt();Object.defineProperty(bt,"single",{enumerable:!0,get:function(){return Hjr.single}});var Yjr=pYt();Object.defineProperty(bt,"skip",{enumerable:!0,get:function(){return Yjr.skip}});var Kjr=_Yt();Object.defineProperty(bt,"skipLast",{enumerable:!0,get:function(){return Kjr.skipLast}});var Gjr=fYt();Object.defineProperty(bt,"skipUntil",{enumerable:!0,get:function(){return Gjr.skipUntil}});var Vjr=dYt();Object.defineProperty(bt,"skipWhile",{enumerable:!0,get:function(){return Vjr.skipWhile}});var jjr=mYt();Object.defineProperty(bt,"startWith",{enumerable:!0,get:function(){return jjr.startWith}});var Jjr=R_e();Object.defineProperty(bt,"subscribeOn",{enumerable:!0,get:function(){return Jjr.subscribeOn}});var Xjr=yYt();Object.defineProperty(bt,"switchAll",{enumerable:!0,get:function(){return Xjr.switchAll}});var Zjr=h_e();Object.defineProperty(bt,"switchMap",{enumerable:!0,get:function(){return Zjr.switchMap}});var eJr=CYt();Object.defineProperty(bt,"switchMapTo",{enumerable:!0,get:function(){return eJr.switchMapTo}});var tJr=AYt();Object.defineProperty(bt,"switchScan",{enumerable:!0,get:function(){return tJr.switchScan}});var rJr=p_e();Object.defineProperty(bt,"take",{enumerable:!0,get:function(){return rJr.take}});var nJr=Vmt();Object.defineProperty(bt,"takeLast",{enumerable:!0,get:function(){return nJr.takeLast}});var iJr=gYt();Object.defineProperty(bt,"takeUntil",{enumerable:!0,get:function(){return iJr.takeUntil}});var aJr=bYt();Object.defineProperty(bt,"takeWhile",{enumerable:!0,get:function(){return aJr.takeWhile}});var sJr=EYt();Object.defineProperty(bt,"tap",{enumerable:!0,get:function(){return sJr.tap}});var oJr=ekt();Object.defineProperty(bt,"throttle",{enumerable:!0,get:function(){return oJr.throttle}});var RJr=vYt();Object.defineProperty(bt,"throttleTime",{enumerable:!0,get:function(){return RJr.throttleTime}});var uJr=__e();Object.defineProperty(bt,"throwIfEmpty",{enumerable:!0,get:function(){return uJr.throwIfEmpty}});var lJr=SYt();Object.defineProperty(bt,"timeInterval",{enumerable:!0,get:function(){return lJr.timeInterval}});var cJr=T8e();Object.defineProperty(bt,"timeout",{enumerable:!0,get:function(){return cJr.timeout}});var TJr=$Yt();Object.defineProperty(bt,"timeoutWith",{enumerable:!0,get:function(){return TJr.timeoutWith}});var pJr=QYt();Object.defineProperty(bt,"timestamp",{enumerable:!0,get:function(){return pJr.timestamp}});var _Jr=Imt();Object.defineProperty(bt,"toArray",{enumerable:!0,get:function(){return _Jr.toArray}});var hJr=PYt();Object.defineProperty(bt,"window",{enumerable:!0,get:function(){return hJr.window}});var fJr=IYt();Object.defineProperty(bt,"windowCount",{enumerable:!0,get:function(){return fJr.windowCount}});var dJr=WYt();Object.defineProperty(bt,"windowTime",{enumerable:!0,get:function(){return dJr.windowTime}});var xJr=LYt();Object.defineProperty(bt,"windowToggle",{enumerable:!0,get:function(){return xJr.windowToggle}});var mJr=HYt();Object.defineProperty(bt,"windowWhen",{enumerable:!0,get:function(){return mJr.windowWhen}});var kJr=VYt();Object.defineProperty(bt,"withLatestFrom",{enumerable:!0,get:function(){return kJr.withLatestFrom}});var yJr=jYt();Object.defineProperty(bt,"zipAll",{enumerable:!0,get:function(){return yJr.zipAll}});var qJr=XYt();Object.defineProperty(bt,"zipWith",{enumerable:!0,get:function(){return qJr.zipWith}})});var uKt=Le((bli,RKt)=>{"use strict";RKt.exports=gJr;function AJr(e){let t={defaultWidth:0,output:process.stdout,tty:Li("tty")};return e?(Object.keys(t).forEach(function(r){e[r]||(e[r]=t[r])}),e):t}function gJr(e){let t=AJr(e);if(t.output.getWindowSize)return t.output.getWindowSize()[0]||t.defaultWidth;if(t.tty.getWindowSize)return t.tty.getWindowSize()[1]||t.defaultWidth;if(t.output.columns)return t.output.columns;if(process.env.CLI_WIDTH){let r=parseInt(process.env.CLI_WIDTH,10);if(!isNaN(r)&&r!==0)return r}return t.defaultWidth}});var cKt=Le((Eli,lKt)=>{"use strict";lKt.exports=({onlyFirst:e=!1}={})=>{let t=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))"].join("|");return new RegExp(t,e?void 0:"g")}});var d_e=Le((Oli,TKt)=>{"use strict";var bJr=cKt();TKt.exports=e=>typeof e=="string"?e.replace(bJr(),""):e});var _Kt=Le((vli,rkt)=>{"use strict";var pKt=e=>Number.isNaN(e)?!1:e>=4352&&(e<=4447||e===9001||e===9002||11904<=e&&e<=12871&&e!==12351||12880<=e&&e<=19903||19968<=e&&e<=42182||43360<=e&&e<=43388||44032<=e&&e<=55203||63744<=e&&e<=64255||65040<=e&&e<=65049||65072<=e&&e<=65131||65281<=e&&e<=65376||65504<=e&&e<=65510||110592<=e&&e<=110593||127488<=e&&e<=127569||131072<=e&&e<=262141);rkt.exports=pKt;rkt.exports.default=pKt});var fKt=Le((Dli,hKt)=>{"use strict";hKt.exports=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F|\uD83D\uDC68(?:\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68\uD83C\uDFFB|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|[\u2695\u2696\u2708]\uFE0F|\uD83D[\uDC66\uDC67]|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708])\uFE0F|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C[\uDFFB-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)\uD83C\uDFFB|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB\uDFFC])|\uD83D\uDC69(?:\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D\uD83D\uDC69)(?:\uD83C[\uDFFB-\uDFFD])|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|(?:(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)\uFE0F|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:(?:\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\u200D[\u2640\u2642])|\uD83C\uDFF4\u200D\u2620)\uFE0F|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF4\uD83C\uDDF2|\uD83C\uDDF6\uD83C\uDDE6|[#\*0-9]\uFE0F\u20E3|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83D\uDC69(?:\uD83C[\uDFFB-\uDFFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270A-\u270D]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC70\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDCAA\uDD74\uDD7A\uDD90\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD36\uDDB5\uDDB6\uDDBB\uDDD2-\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5\uDEEB\uDEEC\uDEF4-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFA\uDFE0-\uDFEB]|\uD83E[\uDD0D-\uDD3A\uDD3C-\uDD45\uDD47-\uDD71\uDD73-\uDD76\uDD7A-\uDDA2\uDDA5-\uDDAA\uDDAE-\uDDCA\uDDCD-\uDDFF\uDE70-\uDE73\uDE78-\uDE7A\uDE80-\uDE82\uDE90-\uDE95])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g}});var ikt=Le((Sli,nkt)=>{"use strict";var EJr=d_e(),OJr=_Kt(),vJr=fKt(),dKt=e=>{if(typeof e!="string"||e.length===0||(e=EJr(e),e.length===0))return 0;e=e.replace(vJr()," ");let t=0;for(let r=0;r=127&&n<=159||n>=768&&n<=879||(n>65535&&r++,t+=OJr(n)?2:1)}return t};nkt.exports=dKt;nkt.exports.default=dKt});var mKt=Le(($li,xKt)=>{"use strict";xKt.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var akt=Le((Qli,yKt)=>{var x_e=mKt(),kKt={};for(let e of Object.keys(x_e))kKt[x_e[e]]=e;var uo={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};yKt.exports=uo;for(let e of Object.keys(uo)){if(!("channels"in uo[e]))throw new Error("missing channels property: "+e);if(!("labels"in uo[e]))throw new Error("missing channel labels property: "+e);if(uo[e].labels.length!==uo[e].channels)throw new Error("channel and label counts mismatch: "+e);let{channels:t,labels:r}=uo[e];delete uo[e].channels,delete uo[e].labels,Object.defineProperty(uo[e],"channels",{value:t}),Object.defineProperty(uo[e],"labels",{value:r})}uo.rgb.hsl=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(t,r,n),s=Math.max(t,r,n),R=s-i,l,c;s===i?l=0:t===s?l=(r-n)/R:r===s?l=2+(n-t)/R:n===s&&(l=4+(t-r)/R),l=Math.min(l*60,360),l<0&&(l+=360);let h=(i+s)/2;return s===i?c=0:h<=.5?c=R/(s+i):c=R/(2-s-i),[l,c*100,h*100]};uo.rgb.hsv=function(e){let t,r,n,i,s,R=e[0]/255,l=e[1]/255,c=e[2]/255,h=Math.max(R,l,c),_=h-Math.min(R,l,c),f=function(m){return(h-m)/6/_+1/2};return _===0?(i=0,s=0):(s=_/h,t=f(R),r=f(l),n=f(c),R===h?i=n-r:l===h?i=1/3+t-n:c===h&&(i=2/3+r-t),i<0?i+=1:i>1&&(i-=1)),[i*360,s*100,h*100]};uo.rgb.hwb=function(e){let t=e[0],r=e[1],n=e[2],i=uo.rgb.hsl(e)[0],s=1/255*Math.min(t,Math.min(r,n));return n=1-1/255*Math.max(t,Math.max(r,n)),[i,s*100,n*100]};uo.rgb.cmyk=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.min(1-t,1-r,1-n),s=(1-t-i)/(1-i)||0,R=(1-r-i)/(1-i)||0,l=(1-n-i)/(1-i)||0;return[s*100,R*100,l*100,i*100]};function DJr(e,t){return(e[0]-t[0])**2+(e[1]-t[1])**2+(e[2]-t[2])**2}uo.rgb.keyword=function(e){let t=kKt[e];if(t)return t;let r=1/0,n;for(let i of Object.keys(x_e)){let s=x_e[i],R=DJr(e,s);R.04045?((t+.055)/1.055)**2.4:t/12.92,r=r>.04045?((r+.055)/1.055)**2.4:r/12.92,n=n>.04045?((n+.055)/1.055)**2.4:n/12.92;let i=t*.4124+r*.3576+n*.1805,s=t*.2126+r*.7152+n*.0722,R=t*.0193+r*.1192+n*.9505;return[i*100,s*100,R*100]};uo.rgb.lab=function(e){let t=uo.rgb.xyz(e),r=t[0],n=t[1],i=t[2];r/=95.047,n/=100,i/=108.883,r=r>.008856?r**(1/3):7.787*r+16/116,n=n>.008856?n**(1/3):7.787*n+16/116,i=i>.008856?i**(1/3):7.787*i+16/116;let s=116*n-16,R=500*(r-n),l=200*(n-i);return[s,R,l]};uo.hsl.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100,i,s,R;if(r===0)return R=n*255,[R,R,R];n<.5?i=n*(1+r):i=n+r-n*r;let l=2*n-i,c=[0,0,0];for(let h=0;h<3;h++)s=t+1/3*-(h-1),s<0&&s++,s>1&&s--,6*s<1?R=l+(i-l)*6*s:2*s<1?R=i:3*s<2?R=l+(i-l)*(2/3-s)*6:R=l,c[h]=R*255;return c};uo.hsl.hsv=function(e){let t=e[0],r=e[1]/100,n=e[2]/100,i=r,s=Math.max(n,.01);n*=2,r*=n<=1?n:2-n,i*=s<=1?s:2-s;let R=(n+r)/2,l=n===0?2*i/(s+i):2*r/(n+r);return[t,l*100,R*100]};uo.hsv.rgb=function(e){let t=e[0]/60,r=e[1]/100,n=e[2]/100,i=Math.floor(t)%6,s=t-Math.floor(t),R=255*n*(1-r),l=255*n*(1-r*s),c=255*n*(1-r*(1-s));switch(n*=255,i){case 0:return[n,c,R];case 1:return[l,n,R];case 2:return[R,n,c];case 3:return[R,l,n];case 4:return[c,R,n];case 5:return[n,R,l]}};uo.hsv.hsl=function(e){let t=e[0],r=e[1]/100,n=e[2]/100,i=Math.max(n,.01),s,R;R=(2-r)*n;let l=(2-r)*i;return s=r*i,s/=l<=1?l:2-l,s=s||0,R/=2,[t,s*100,R*100]};uo.hwb.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100,i=r+n,s;i>1&&(r/=i,n/=i);let R=Math.floor(6*t),l=1-n;s=6*t-R,R&1&&(s=1-s);let c=r+s*(l-r),h,_,f;switch(R){default:case 6:case 0:h=l,_=c,f=r;break;case 1:h=c,_=l,f=r;break;case 2:h=r,_=l,f=c;break;case 3:h=r,_=c,f=l;break;case 4:h=c,_=r,f=l;break;case 5:h=l,_=r,f=c;break}return[h*255,_*255,f*255]};uo.cmyk.rgb=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,i=e[3]/100,s=1-Math.min(1,t*(1-i)+i),R=1-Math.min(1,r*(1-i)+i),l=1-Math.min(1,n*(1-i)+i);return[s*255,R*255,l*255]};uo.xyz.rgb=function(e){let t=e[0]/100,r=e[1]/100,n=e[2]/100,i,s,R;return i=t*3.2406+r*-1.5372+n*-.4986,s=t*-.9689+r*1.8758+n*.0415,R=t*.0557+r*-.204+n*1.057,i=i>.0031308?1.055*i**(1/2.4)-.055:i*12.92,s=s>.0031308?1.055*s**(1/2.4)-.055:s*12.92,R=R>.0031308?1.055*R**(1/2.4)-.055:R*12.92,i=Math.min(Math.max(0,i),1),s=Math.min(Math.max(0,s),1),R=Math.min(Math.max(0,R),1),[i*255,s*255,R*255]};uo.xyz.lab=function(e){let t=e[0],r=e[1],n=e[2];t/=95.047,r/=100,n/=108.883,t=t>.008856?t**(1/3):7.787*t+16/116,r=r>.008856?r**(1/3):7.787*r+16/116,n=n>.008856?n**(1/3):7.787*n+16/116;let i=116*r-16,s=500*(t-r),R=200*(r-n);return[i,s,R]};uo.lab.xyz=function(e){let t=e[0],r=e[1],n=e[2],i,s,R;s=(t+16)/116,i=r/500+s,R=s-n/200;let l=s**3,c=i**3,h=R**3;return s=l>.008856?l:(s-16/116)/7.787,i=c>.008856?c:(i-16/116)/7.787,R=h>.008856?h:(R-16/116)/7.787,i*=95.047,s*=100,R*=108.883,[i,s,R]};uo.lab.lch=function(e){let t=e[0],r=e[1],n=e[2],i;i=Math.atan2(n,r)*360/2/Math.PI,i<0&&(i+=360);let R=Math.sqrt(r*r+n*n);return[t,R,i]};uo.lch.lab=function(e){let t=e[0],r=e[1],i=e[2]/360*2*Math.PI,s=r*Math.cos(i),R=r*Math.sin(i);return[t,s,R]};uo.rgb.ansi16=function(e,t=null){let[r,n,i]=e,s=t===null?uo.rgb.hsv(e)[2]:t;if(s=Math.round(s/50),s===0)return 30;let R=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(r/255));return s===2&&(R+=60),R};uo.hsv.ansi16=function(e){return uo.rgb.ansi16(uo.hsv.rgb(e),e[2])};uo.rgb.ansi256=function(e){let t=e[0],r=e[1],n=e[2];return t===r&&r===n?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)};uo.ansi16.rgb=function(e){let t=e%10;if(t===0||t===7)return e>50&&(t+=3.5),t=t/10.5*255,[t,t,t];let r=(~~(e>50)+1)*.5,n=(t&1)*r*255,i=(t>>1&1)*r*255,s=(t>>2&1)*r*255;return[n,i,s]};uo.ansi256.rgb=function(e){if(e>=232){let s=(e-232)*10+8;return[s,s,s]}e-=16;let t,r=Math.floor(e/36)/5*255,n=Math.floor((t=e%36)/6)/5*255,i=t%6/5*255;return[r,n,i]};uo.rgb.hex=function(e){let r=(((Math.round(e[0])&255)<<16)+((Math.round(e[1])&255)<<8)+(Math.round(e[2])&255)).toString(16).toUpperCase();return"000000".substring(r.length)+r};uo.hex.rgb=function(e){let t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];let r=t[0];t[0].length===3&&(r=r.split("").map(l=>l+l).join(""));let n=parseInt(r,16),i=n>>16&255,s=n>>8&255,R=n&255;return[i,s,R]};uo.rgb.hcg=function(e){let t=e[0]/255,r=e[1]/255,n=e[2]/255,i=Math.max(Math.max(t,r),n),s=Math.min(Math.min(t,r),n),R=i-s,l,c;return R<1?l=s/(1-R):l=0,R<=0?c=0:i===t?c=(r-n)/R%6:i===r?c=2+(n-t)/R:c=4+(t-r)/R,c/=6,c%=1,[c*360,R*100,l*100]};uo.hsl.hcg=function(e){let t=e[1]/100,r=e[2]/100,n=r<.5?2*t*r:2*t*(1-r),i=0;return n<1&&(i=(r-.5*n)/(1-n)),[e[0],n*100,i*100]};uo.hsv.hcg=function(e){let t=e[1]/100,r=e[2]/100,n=t*r,i=0;return n<1&&(i=(r-n)/(1-n)),[e[0],n*100,i*100]};uo.hcg.rgb=function(e){let t=e[0]/360,r=e[1]/100,n=e[2]/100;if(r===0)return[n*255,n*255,n*255];let i=[0,0,0],s=t%1*6,R=s%1,l=1-R,c=0;switch(Math.floor(s)){case 0:i[0]=1,i[1]=R,i[2]=0;break;case 1:i[0]=l,i[1]=1,i[2]=0;break;case 2:i[0]=0,i[1]=1,i[2]=R;break;case 3:i[0]=0,i[1]=l,i[2]=1;break;case 4:i[0]=R,i[1]=0,i[2]=1;break;default:i[0]=1,i[1]=0,i[2]=l}return c=(1-r)*n,[(r*i[0]+c)*255,(r*i[1]+c)*255,(r*i[2]+c)*255]};uo.hcg.hsv=function(e){let t=e[1]/100,r=e[2]/100,n=t+r*(1-t),i=0;return n>0&&(i=t/n),[e[0],i*100,n*100]};uo.hcg.hsl=function(e){let t=e[1]/100,n=e[2]/100*(1-t)+.5*t,i=0;return n>0&&n<.5?i=t/(2*n):n>=.5&&n<1&&(i=t/(2*(1-n))),[e[0],i*100,n*100]};uo.hcg.hwb=function(e){let t=e[1]/100,r=e[2]/100,n=t+r*(1-t);return[e[0],(n-t)*100,(1-n)*100]};uo.hwb.hcg=function(e){let t=e[1]/100,n=1-e[2]/100,i=n-t,s=0;return i<1&&(s=(n-i)/(1-i)),[e[0],i*100,s*100]};uo.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]};uo.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]};uo.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]};uo.gray.hsl=function(e){return[0,0,e[0]]};uo.gray.hsv=uo.gray.hsl;uo.gray.hwb=function(e){return[0,100,e[0]]};uo.gray.cmyk=function(e){return[0,0,0,e[0]]};uo.gray.lab=function(e){return[e[0],0,0]};uo.gray.hex=function(e){let t=Math.round(e[0]/100*255)&255,n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n};uo.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}});var CKt=Le((Nli,qKt)=>{var y6e=akt();function SJr(){let e={},t=Object.keys(y6e);for(let r=t.length,n=0;n{var skt=akt(),wJr=CKt(),oie={},PJr=Object.keys(skt);function BJr(e){let t=function(...r){let n=r[0];return n==null?n:(n.length>1&&(r=n),e(r))};return"conversion"in e&&(t.conversion=e.conversion),t}function IJr(e){let t=function(...r){let n=r[0];if(n==null)return n;n.length>1&&(r=n);let i=e(r);if(typeof i=="object")for(let s=i.length,R=0;R{oie[e]={},Object.defineProperty(oie[e],"channels",{value:skt[e].channels}),Object.defineProperty(oie[e],"labels",{value:skt[e].labels});let t=wJr(e);Object.keys(t).forEach(n=>{let i=t[n];oie[e][n]=IJr(i),oie[e][n].raw=BJr(i)})});AKt.exports=oie});var Rkt=Le((Pli,DKt)=>{"use strict";var bKt=(e,t)=>(...r)=>`\x1B[${e(...r)+t}m`,EKt=(e,t)=>(...r)=>{let n=e(...r);return`\x1B[${38+t};5;${n}m`},OKt=(e,t)=>(...r)=>{let n=e(...r);return`\x1B[${38+t};2;${n[0]};${n[1]};${n[2]}m`},q6e=e=>e,vKt=(e,t,r)=>[e,t,r],Rie=(e,t,r)=>{Object.defineProperty(e,t,{get:()=>{let n=r();return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0}),n},enumerable:!0,configurable:!0})},okt,uie=(e,t,r,n)=>{okt===void 0&&(okt=gKt());let i=n?10:0,s={};for(let[R,l]of Object.entries(okt)){let c=R==="ansi16"?"ansi":R;R===t?s[c]=e(r,i):typeof l=="object"&&(s[c]=e(l[t],i))}return s};function MJr(){let e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.gray=t.color.blackBright,t.bgColor.bgGray=t.bgColor.bgBlackBright,t.color.grey=t.color.blackBright,t.bgColor.bgGrey=t.bgColor.bgBlackBright;for(let[r,n]of Object.entries(t)){for(let[i,s]of Object.entries(n))t[i]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},n[i]=t[i],e.set(s[0],s[1]);Object.defineProperty(t,r,{value:n,enumerable:!1})}return Object.defineProperty(t,"codes",{value:e,enumerable:!1}),t.color.close="\x1B[39m",t.bgColor.close="\x1B[49m",Rie(t.color,"ansi",()=>uie(bKt,"ansi16",q6e,!1)),Rie(t.color,"ansi256",()=>uie(EKt,"ansi256",q6e,!1)),Rie(t.color,"ansi16m",()=>uie(OKt,"rgb",vKt,!1)),Rie(t.bgColor,"ansi",()=>uie(bKt,"ansi16",q6e,!0)),Rie(t.bgColor,"ansi256",()=>uie(EKt,"ansi256",q6e,!0)),Rie(t.bgColor,"ansi16m",()=>uie(OKt,"rgb",vKt,!0)),t}Object.defineProperty(DKt,"exports",{enumerable:!0,get:MJr})});var QKt=Le((Bli,$Kt)=>{"use strict";var m_e=ikt(),WJr=d_e(),UJr=Rkt(),lkt=new Set(["\x1B","\x9B"]),FJr=39,SKt=e=>`${lkt.values().next().value}[${e}m`,LJr=e=>e.split(" ").map(t=>m_e(t)),ukt=(e,t,r)=>{let n=[...t],i=!1,s=m_e(WJr(e[e.length-1]));for(let[R,l]of n.entries()){let c=m_e(l);if(s+c<=r?e[e.length-1]+=l:(e.push(l),s=0),lkt.has(l))i=!0;else if(i&&l==="m"){i=!1;continue}i||(s+=c,s===r&&R0&&e.length>1&&(e[e.length-2]+=e.pop())},zJr=e=>{let t=e.split(" "),r=t.length;for(;r>0&&!(m_e(t[r-1])>0);)r--;return r===t.length?e:t.slice(0,r).join(" ")+t.slice(r).join("")},HJr=(e,t,r={})=>{if(r.trim!==!1&&e.trim()==="")return"";let n="",i="",s,R=LJr(e),l=[""];for(let[c,h]of e.split(" ").entries()){r.trim!==!1&&(l[l.length-1]=l[l.length-1].trimLeft());let _=m_e(l[l.length-1]);if(c!==0&&(_>=t&&(r.wordWrap===!1||r.trim===!1)&&(l.push(""),_=0),(_>0||r.trim===!1)&&(l[l.length-1]+=" ",_++)),r.hard&&R[c]>t){let f=t-_,m=1+Math.floor((R[c]-f-1)/t);Math.floor((R[c]-1)/t)t&&_>0&&R[c]>0){if(r.wordWrap===!1&&_t&&r.wordWrap===!1){ukt(l,h,t);continue}l[l.length-1]+=h}r.trim!==!1&&(l=l.map(zJr)),n=l.join(` +`);for(let[c,h]of[...n].entries()){if(i+=h,lkt.has(h)){let f=parseFloat(/\d[^m]*/.exec(n.slice(c,c+4)));s=f===FJr?null:f}let _=UJr.codes.get(Number(s));s&&_&&(n[c+1]===` +`?i+=SKt(_):h===` +`&&(i+=SKt(s)))}return i};$Kt.exports=(e,t,r)=>String(e).normalize().replace(/\r\n/g,` +`).split(` +`).map(n=>HJr(n,t,r)).join(` +`)});var wKt=Le((Ili,NKt)=>{"use strict";var YJr=(e,t,r)=>{let n=e.indexOf(t);if(n===-1)return e;let i=t.length,s=0,R="";do R+=e.substr(s,n-s)+t+r,s=n+i,n=e.indexOf(t,s);while(n!==-1);return R+=e.substr(s),R},KJr=(e,t,r,n)=>{let i=0,s="";do{let R=e[n-1]==="\r";s+=e.substr(i,(R?n-1:n)-i)+t+(R?`\r +`:` +`)+r,i=n+1,n=e.indexOf(` +`,i)}while(n!==-1);return s+=e.substr(i),s};NKt.exports={stringReplaceAll:YJr,stringEncaseCRLFWithFirstIndex:KJr}});var WKt=Le((Mli,MKt)=>{"use strict";var GJr=/(?:\\(u(?:[a-f\d]{4}|\{[a-f\d]{1,6}\})|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,PKt=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,VJr=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,jJr=/\\(u(?:[a-f\d]{4}|{[a-f\d]{1,6}})|x[a-f\d]{2}|.)|([^\\])/gi,JJr=new Map([["n",` +`],["r","\r"],["t"," "],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e","\x1B"],["a","\x07"]]);function IKt(e){let t=e[0]==="u",r=e[1]==="{";return t&&!r&&e.length===5||e[0]==="x"&&e.length===3?String.fromCharCode(parseInt(e.slice(1),16)):t&&r?String.fromCodePoint(parseInt(e.slice(2,-1),16)):JJr.get(e)||e}function XJr(e,t){let r=[],n=t.trim().split(/\s*,\s*/g),i;for(let s of n){let R=Number(s);if(!Number.isNaN(R))r.push(R);else if(i=s.match(VJr))r.push(i[2].replace(jJr,(l,c,h)=>c?IKt(c):h));else throw new Error(`Invalid Chalk template style argument: ${s} (in style '${e}')`)}return r}function ZJr(e){PKt.lastIndex=0;let t=[],r;for(;(r=PKt.exec(e))!==null;){let n=r[1];if(r[2]){let i=XJr(n,r[2]);t.push([n].concat(i))}else t.push([n])}return t}function BKt(e,t){let r={};for(let i of t)for(let s of i.styles)r[s[0]]=i.inverse?null:s.slice(1);let n=e;for(let[i,s]of Object.entries(r))if(Array.isArray(s)){if(!(i in n))throw new Error(`Unknown Chalk style: ${i}`);n=s.length>0?n[i](...s):n[i]}return n}MKt.exports=(e,t)=>{let r=[],n=[],i=[];if(t.replace(GJr,(s,R,l,c,h,_)=>{if(R)i.push(IKt(R));else if(c){let f=i.join("");i=[],n.push(r.length===0?f:BKt(e,r)(f)),r.push({inverse:l,styles:ZJr(c)})}else if(h){if(r.length===0)throw new Error("Found extraneous } in Chalk template literal");n.push(BKt(e,r)(i.join(""))),i=[],r.pop()}else i.push(_)}),n.push(i.join("")),r.length>0){let s=`Chalk template literal is missing ${r.length} closing bracket${r.length===1?"":"s"} (\`}\`)`;throw new Error(s)}return n.join("")}});var fkt=Le((Wli,YKt)=>{"use strict";var k_e=Rkt(),{stdout:Tkt,stderr:pkt}=ipt(),{stringReplaceAll:eXr,stringEncaseCRLFWithFirstIndex:tXr}=wKt(),{isArray:C6e}=Array,FKt=["ansi","ansi","ansi256","ansi16m"],lie=Object.create(null),rXr=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=Tkt?Tkt.level:0;e.level=t.level===void 0?r:t.level},_kt=class{constructor(t){return LKt(t)}},LKt=e=>{let t={};return rXr(t,e),t.template=(...r)=>HKt(t.template,...r),Object.setPrototypeOf(t,A6e.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=()=>{throw new Error("`chalk.constructor()` is deprecated. Use `new chalk.Instance()` instead.")},t.template.Instance=_kt,t.template};function A6e(e){return LKt(e)}for(let[e,t]of Object.entries(k_e))lie[e]={get(){let r=g6e(this,hkt(t.open,t.close,this._styler),this._isEmpty);return Object.defineProperty(this,e,{value:r}),r}};lie.visible={get(){let e=g6e(this,this._styler,!0);return Object.defineProperty(this,"visible",{value:e}),e}};var zKt=["rgb","hex","keyword","hsl","hsv","hwb","ansi","ansi256"];for(let e of zKt)lie[e]={get(){let{level:t}=this;return function(...r){let n=hkt(k_e.color[FKt[t]][e](...r),k_e.color.close,this._styler);return g6e(this,n,this._isEmpty)}}};for(let e of zKt){let t="bg"+e[0].toUpperCase()+e.slice(1);lie[t]={get(){let{level:r}=this;return function(...n){let i=hkt(k_e.bgColor[FKt[r]][e](...n),k_e.bgColor.close,this._styler);return g6e(this,i,this._isEmpty)}}}}var nXr=Object.defineProperties(()=>{},{...lie,level:{enumerable:!0,get(){return this._generator.level},set(e){this._generator.level=e}}}),hkt=(e,t,r)=>{let n,i;return r===void 0?(n=e,i=t):(n=r.openAll+e,i=t+r.closeAll),{open:e,close:t,openAll:n,closeAll:i,parent:r}},g6e=(e,t,r)=>{let n=(...i)=>C6e(i[0])&&C6e(i[0].raw)?UKt(n,HKt(n,...i)):UKt(n,i.length===1?""+i[0]:i.join(" "));return Object.setPrototypeOf(n,nXr),n._generator=e,n._styler=t,n._isEmpty=r,n},UKt=(e,t)=>{if(e.level<=0||!t)return e._isEmpty?"":t;let r=e._styler;if(r===void 0)return t;let{openAll:n,closeAll:i}=r;if(t.indexOf("\x1B")!==-1)for(;r!==void 0;)t=eXr(t,r.close,r.open),r=r.parent;let s=t.indexOf(` +`);return s!==-1&&(t=tXr(t,i,n,s)),n+t+i},ckt,HKt=(e,...t)=>{let[r]=t;if(!C6e(r)||!C6e(r.raw))return t.join(" ");let n=t.slice(1),i=[r.raw[0]];for(let s=1;s{"use strict";var KKt=(e,t)=>{for(let r of Reflect.ownKeys(t))Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r));return e};dkt.exports=KKt;dkt.exports.default=KKt});var jKt=Le((Fli,O6e)=>{"use strict";var iXr=GKt(),E6e=new WeakMap,VKt=(e,t={})=>{if(typeof e!="function")throw new TypeError("Expected a function");let r,n=0,i=e.displayName||e.name||"",s=function(...R){if(E6e.set(s,++n),n===1)r=e.apply(this,R),e=null;else if(t.throw===!0)throw new Error(`Function \`${i}\` can only be called once`);return r};return iXr(s,e),E6e.set(s,n),s};O6e.exports=VKt;O6e.exports.default=VKt;O6e.exports.callCount=e=>{if(!E6e.has(e))throw new Error(`The given function \`${e.name}\` is not wrapped by the \`onetime\` package`);return E6e.get(e)}});var JKt=Le((Lli,v6e)=>{v6e.exports=["SIGABRT","SIGALRM","SIGHUP","SIGINT","SIGTERM"];process.platform!=="win32"&&v6e.exports.push("SIGVTALRM","SIGXCPU","SIGXFSZ","SIGUSR2","SIGTRAP","SIGSYS","SIGQUIT","SIGIOT");process.platform==="linux"&&v6e.exports.push("SIGIO","SIGPOLL","SIGPWR","SIGSTKFLT","SIGUNUSED")});var rGt=Le((zli,pie)=>{var qp=global.process,qJ=function(e){return e&&typeof e=="object"&&typeof e.removeListener=="function"&&typeof e.emit=="function"&&typeof e.reallyExit=="function"&&typeof e.listeners=="function"&&typeof e.kill=="function"&&typeof e.pid=="number"&&typeof e.on=="function"};qJ(qp)?(XKt=Li("assert"),cie=JKt(),ZKt=/^win/i.test(qp.platform),y_e=Li("events"),typeof y_e!="function"&&(y_e=y_e.EventEmitter),qp.__signal_exit_emitter__?O7=qp.__signal_exit_emitter__:(O7=qp.__signal_exit_emitter__=new y_e,O7.count=0,O7.emitted={}),O7.infinite||(O7.setMaxListeners(1/0),O7.infinite=!0),pie.exports=function(e,t){if(!qJ(global.process))return function(){};XKt.equal(typeof e,"function","a callback must be provided for exit handler"),Tie===!1&&xkt();var r="exit";t&&t.alwaysLast&&(r="afterexit");var n=function(){O7.removeListener(r,e),O7.listeners("exit").length===0&&O7.listeners("afterexit").length===0&&D6e()};return O7.on(r,e),n},D6e=function(){!Tie||!qJ(global.process)||(Tie=!1,cie.forEach(function(t){try{qp.removeListener(t,S6e[t])}catch{}}),qp.emit=$6e,qp.reallyExit=mkt,O7.count-=1)},pie.exports.unload=D6e,CJ=function(t,r,n){O7.emitted[t]||(O7.emitted[t]=!0,O7.emit(t,r,n))},S6e={},cie.forEach(function(e){S6e[e]=function(){if(qJ(global.process)){var r=qp.listeners(e);r.length===O7.count&&(D6e(),CJ("exit",null,e),CJ("afterexit",null,e),ZKt&&e==="SIGHUP"&&(e="SIGINT"),qp.kill(qp.pid,e))}}}),pie.exports.signals=function(){return cie},Tie=!1,xkt=function(){Tie||!qJ(global.process)||(Tie=!0,O7.count+=1,cie=cie.filter(function(t){try{return qp.on(t,S6e[t]),!0}catch{return!1}}),qp.emit=tGt,qp.reallyExit=eGt)},pie.exports.load=xkt,mkt=qp.reallyExit,eGt=function(t){qJ(global.process)&&(qp.exitCode=t||0,CJ("exit",qp.exitCode,null),CJ("afterexit",qp.exitCode,null),mkt.call(qp,qp.exitCode))},$6e=qp.emit,tGt=function(t,r){if(t==="exit"&&qJ(global.process)){r!==void 0&&(qp.exitCode=r);var n=$6e.apply(this,arguments);return CJ("exit",qp.exitCode,null),CJ("afterexit",qp.exitCode,null),n}else return $6e.apply(this,arguments)}):pie.exports=function(){return function(){}};var XKt,cie,ZKt,y_e,O7,D6e,CJ,S6e,Tie,xkt,mkt,eGt,$6e,tGt});var iGt=Le((Hli,nGt)=>{"use strict";var aXr=jKt(),sXr=rGt();nGt.exports=aXr(()=>{sXr(()=>{process.stderr.write("\x1B[?25h")},{alwaysLast:!0})})});var aGt=Le(_ie=>{"use strict";var oXr=iGt(),Q6e=!1;_ie.show=(e=process.stderr)=>{e.isTTY&&(Q6e=!1,e.write("\x1B[?25h"))};_ie.hide=(e=process.stderr)=>{e.isTTY&&(oXr(),Q6e=!0,e.write("\x1B[?25l"))};_ie.toggle=(e,t)=>{e!==void 0&&(Q6e=e),Q6e?_ie.show(t):_ie.hide(t)}});var sGt=Le((Kli,RXr)=>{RXr.exports={dots:{interval:80,frames:["\u280B","\u2819","\u2839","\u2838","\u283C","\u2834","\u2826","\u2827","\u2807","\u280F"]},dots2:{interval:80,frames:["\u28FE","\u28FD","\u28FB","\u28BF","\u287F","\u28DF","\u28EF","\u28F7"]},dots3:{interval:80,frames:["\u280B","\u2819","\u281A","\u281E","\u2816","\u2826","\u2834","\u2832","\u2833","\u2813"]},dots4:{interval:80,frames:["\u2804","\u2806","\u2807","\u280B","\u2819","\u2838","\u2830","\u2820","\u2830","\u2838","\u2819","\u280B","\u2807","\u2806"]},dots5:{interval:80,frames:["\u280B","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B"]},dots6:{interval:80,frames:["\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2834","\u2832","\u2812","\u2802","\u2802","\u2812","\u281A","\u2819","\u2809","\u2801"]},dots7:{interval:80,frames:["\u2808","\u2809","\u280B","\u2813","\u2812","\u2810","\u2810","\u2812","\u2816","\u2826","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808"]},dots8:{interval:80,frames:["\u2801","\u2801","\u2809","\u2819","\u281A","\u2812","\u2802","\u2802","\u2812","\u2832","\u2834","\u2824","\u2804","\u2804","\u2824","\u2820","\u2820","\u2824","\u2826","\u2816","\u2812","\u2810","\u2810","\u2812","\u2813","\u280B","\u2809","\u2808","\u2808"]},dots9:{interval:80,frames:["\u28B9","\u28BA","\u28BC","\u28F8","\u28C7","\u2867","\u2857","\u284F"]},dots10:{interval:80,frames:["\u2884","\u2882","\u2881","\u2841","\u2848","\u2850","\u2860"]},dots11:{interval:100,frames:["\u2801","\u2802","\u2804","\u2840","\u2880","\u2820","\u2810","\u2808"]},dots12:{interval:80,frames:["\u2880\u2800","\u2840\u2800","\u2804\u2800","\u2882\u2800","\u2842\u2800","\u2805\u2800","\u2883\u2800","\u2843\u2800","\u280D\u2800","\u288B\u2800","\u284B\u2800","\u280D\u2801","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2888\u2829","\u2840\u2899","\u2804\u2859","\u2882\u2829","\u2842\u2898","\u2805\u2858","\u2883\u2828","\u2843\u2890","\u280D\u2850","\u288B\u2820","\u284B\u2880","\u280D\u2841","\u288B\u2801","\u284B\u2801","\u280D\u2809","\u280B\u2809","\u280B\u2809","\u2809\u2819","\u2809\u2819","\u2809\u2829","\u2808\u2899","\u2808\u2859","\u2808\u2829","\u2800\u2899","\u2800\u2859","\u2800\u2829","\u2800\u2898","\u2800\u2858","\u2800\u2828","\u2800\u2890","\u2800\u2850","\u2800\u2820","\u2800\u2880","\u2800\u2840"]},dots13:{interval:80,frames:["\u28FC","\u28F9","\u28BB","\u283F","\u285F","\u28CF","\u28E7","\u28F6"]},dots8Bit:{interval:80,frames:["\u2800","\u2801","\u2802","\u2803","\u2804","\u2805","\u2806","\u2807","\u2840","\u2841","\u2842","\u2843","\u2844","\u2845","\u2846","\u2847","\u2808","\u2809","\u280A","\u280B","\u280C","\u280D","\u280E","\u280F","\u2848","\u2849","\u284A","\u284B","\u284C","\u284D","\u284E","\u284F","\u2810","\u2811","\u2812","\u2813","\u2814","\u2815","\u2816","\u2817","\u2850","\u2851","\u2852","\u2853","\u2854","\u2855","\u2856","\u2857","\u2818","\u2819","\u281A","\u281B","\u281C","\u281D","\u281E","\u281F","\u2858","\u2859","\u285A","\u285B","\u285C","\u285D","\u285E","\u285F","\u2820","\u2821","\u2822","\u2823","\u2824","\u2825","\u2826","\u2827","\u2860","\u2861","\u2862","\u2863","\u2864","\u2865","\u2866","\u2867","\u2828","\u2829","\u282A","\u282B","\u282C","\u282D","\u282E","\u282F","\u2868","\u2869","\u286A","\u286B","\u286C","\u286D","\u286E","\u286F","\u2830","\u2831","\u2832","\u2833","\u2834","\u2835","\u2836","\u2837","\u2870","\u2871","\u2872","\u2873","\u2874","\u2875","\u2876","\u2877","\u2838","\u2839","\u283A","\u283B","\u283C","\u283D","\u283E","\u283F","\u2878","\u2879","\u287A","\u287B","\u287C","\u287D","\u287E","\u287F","\u2880","\u2881","\u2882","\u2883","\u2884","\u2885","\u2886","\u2887","\u28C0","\u28C1","\u28C2","\u28C3","\u28C4","\u28C5","\u28C6","\u28C7","\u2888","\u2889","\u288A","\u288B","\u288C","\u288D","\u288E","\u288F","\u28C8","\u28C9","\u28CA","\u28CB","\u28CC","\u28CD","\u28CE","\u28CF","\u2890","\u2891","\u2892","\u2893","\u2894","\u2895","\u2896","\u2897","\u28D0","\u28D1","\u28D2","\u28D3","\u28D4","\u28D5","\u28D6","\u28D7","\u2898","\u2899","\u289A","\u289B","\u289C","\u289D","\u289E","\u289F","\u28D8","\u28D9","\u28DA","\u28DB","\u28DC","\u28DD","\u28DE","\u28DF","\u28A0","\u28A1","\u28A2","\u28A3","\u28A4","\u28A5","\u28A6","\u28A7","\u28E0","\u28E1","\u28E2","\u28E3","\u28E4","\u28E5","\u28E6","\u28E7","\u28A8","\u28A9","\u28AA","\u28AB","\u28AC","\u28AD","\u28AE","\u28AF","\u28E8","\u28E9","\u28EA","\u28EB","\u28EC","\u28ED","\u28EE","\u28EF","\u28B0","\u28B1","\u28B2","\u28B3","\u28B4","\u28B5","\u28B6","\u28B7","\u28F0","\u28F1","\u28F2","\u28F3","\u28F4","\u28F5","\u28F6","\u28F7","\u28B8","\u28B9","\u28BA","\u28BB","\u28BC","\u28BD","\u28BE","\u28BF","\u28F8","\u28F9","\u28FA","\u28FB","\u28FC","\u28FD","\u28FE","\u28FF"]},sand:{interval:80,frames:["\u2801","\u2802","\u2804","\u2840","\u2848","\u2850","\u2860","\u28C0","\u28C1","\u28C2","\u28C4","\u28CC","\u28D4","\u28E4","\u28E5","\u28E6","\u28EE","\u28F6","\u28F7","\u28FF","\u287F","\u283F","\u289F","\u281F","\u285B","\u281B","\u282B","\u288B","\u280B","\u280D","\u2849","\u2809","\u2811","\u2821","\u2881"]},line:{interval:130,frames:["-","\\","|","/"]},line2:{interval:100,frames:["\u2802","-","\u2013","\u2014","\u2013","-"]},pipe:{interval:100,frames:["\u2524","\u2518","\u2534","\u2514","\u251C","\u250C","\u252C","\u2510"]},simpleDots:{interval:400,frames:[". ",".. ","..."," "]},simpleDotsScrolling:{interval:200,frames:[". ",".. ","..."," .."," ."," "]},star:{interval:70,frames:["\u2736","\u2738","\u2739","\u273A","\u2739","\u2737"]},star2:{interval:80,frames:["+","x","*"]},flip:{interval:70,frames:["_","_","_","-","`","`","'","\xB4","-","_","_","_"]},hamburger:{interval:100,frames:["\u2631","\u2632","\u2634"]},growVertical:{interval:120,frames:["\u2581","\u2583","\u2584","\u2585","\u2586","\u2587","\u2586","\u2585","\u2584","\u2583"]},growHorizontal:{interval:120,frames:["\u258F","\u258E","\u258D","\u258C","\u258B","\u258A","\u2589","\u258A","\u258B","\u258C","\u258D","\u258E"]},balloon:{interval:140,frames:[" ",".","o","O","@","*"," "]},balloon2:{interval:120,frames:[".","o","O","\xB0","O","o","."]},noise:{interval:100,frames:["\u2593","\u2592","\u2591"]},bounce:{interval:120,frames:["\u2801","\u2802","\u2804","\u2802"]},boxBounce:{interval:120,frames:["\u2596","\u2598","\u259D","\u2597"]},boxBounce2:{interval:100,frames:["\u258C","\u2580","\u2590","\u2584"]},triangle:{interval:50,frames:["\u25E2","\u25E3","\u25E4","\u25E5"]},binary:{interval:80,frames:["010010","001100","100101","111010","111101","010111","101011","111000","110011","110101"]},arc:{interval:100,frames:["\u25DC","\u25E0","\u25DD","\u25DE","\u25E1","\u25DF"]},circle:{interval:120,frames:["\u25E1","\u2299","\u25E0"]},squareCorners:{interval:180,frames:["\u25F0","\u25F3","\u25F2","\u25F1"]},circleQuarters:{interval:120,frames:["\u25F4","\u25F7","\u25F6","\u25F5"]},circleHalves:{interval:50,frames:["\u25D0","\u25D3","\u25D1","\u25D2"]},squish:{interval:100,frames:["\u256B","\u256A"]},toggle:{interval:250,frames:["\u22B6","\u22B7"]},toggle2:{interval:80,frames:["\u25AB","\u25AA"]},toggle3:{interval:120,frames:["\u25A1","\u25A0"]},toggle4:{interval:100,frames:["\u25A0","\u25A1","\u25AA","\u25AB"]},toggle5:{interval:100,frames:["\u25AE","\u25AF"]},toggle6:{interval:300,frames:["\u101D","\u1040"]},toggle7:{interval:80,frames:["\u29BE","\u29BF"]},toggle8:{interval:100,frames:["\u25CD","\u25CC"]},toggle9:{interval:100,frames:["\u25C9","\u25CE"]},toggle10:{interval:100,frames:["\u3282","\u3280","\u3281"]},toggle11:{interval:50,frames:["\u29C7","\u29C6"]},toggle12:{interval:120,frames:["\u2617","\u2616"]},toggle13:{interval:80,frames:["=","*","-"]},arrow:{interval:100,frames:["\u2190","\u2196","\u2191","\u2197","\u2192","\u2198","\u2193","\u2199"]},arrow2:{interval:80,frames:["\u2B06\uFE0F ","\u2197\uFE0F ","\u27A1\uFE0F ","\u2198\uFE0F ","\u2B07\uFE0F ","\u2199\uFE0F ","\u2B05\uFE0F ","\u2196\uFE0F "]},arrow3:{interval:120,frames:["\u25B9\u25B9\u25B9\u25B9\u25B9","\u25B8\u25B9\u25B9\u25B9\u25B9","\u25B9\u25B8\u25B9\u25B9\u25B9","\u25B9\u25B9\u25B8\u25B9\u25B9","\u25B9\u25B9\u25B9\u25B8\u25B9","\u25B9\u25B9\u25B9\u25B9\u25B8"]},bouncingBar:{interval:80,frames:["[ ]","[= ]","[== ]","[=== ]","[====]","[ ===]","[ ==]","[ =]","[ ]","[ =]","[ ==]","[ ===]","[====]","[=== ]","[== ]","[= ]"]},bouncingBall:{interval:80,frames:["( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF)","( \u25CF )","( \u25CF )","( \u25CF )","( \u25CF )","(\u25CF )"]},smiley:{interval:200,frames:["\u{1F604} ","\u{1F61D} "]},monkey:{interval:300,frames:["\u{1F648} ","\u{1F648} ","\u{1F649} ","\u{1F64A} "]},hearts:{interval:100,frames:["\u{1F49B} ","\u{1F499} ","\u{1F49C} ","\u{1F49A} ","\u2764\uFE0F "]},clock:{interval:100,frames:["\u{1F55B} ","\u{1F550} ","\u{1F551} ","\u{1F552} ","\u{1F553} ","\u{1F554} ","\u{1F555} ","\u{1F556} ","\u{1F557} ","\u{1F558} ","\u{1F559} ","\u{1F55A} "]},earth:{interval:180,frames:["\u{1F30D} ","\u{1F30E} ","\u{1F30F} "]},material:{interval:17,frames:["\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2588","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581","\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581\u2581"]},moon:{interval:80,frames:["\u{1F311} ","\u{1F312} ","\u{1F313} ","\u{1F314} ","\u{1F315} ","\u{1F316} ","\u{1F317} ","\u{1F318} "]},runner:{interval:140,frames:["\u{1F6B6} ","\u{1F3C3} "]},pong:{interval:80,frames:["\u2590\u2802 \u258C","\u2590\u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802\u258C","\u2590 \u2820\u258C","\u2590 \u2840\u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590 \u2820 \u258C","\u2590 \u2802 \u258C","\u2590 \u2808 \u258C","\u2590 \u2802 \u258C","\u2590 \u2820 \u258C","\u2590 \u2840 \u258C","\u2590\u2820 \u258C"]},shark:{interval:120,frames:["\u2590|\\____________\u258C","\u2590_|\\___________\u258C","\u2590__|\\__________\u258C","\u2590___|\\_________\u258C","\u2590____|\\________\u258C","\u2590_____|\\_______\u258C","\u2590______|\\______\u258C","\u2590_______|\\_____\u258C","\u2590________|\\____\u258C","\u2590_________|\\___\u258C","\u2590__________|\\__\u258C","\u2590___________|\\_\u258C","\u2590____________|\\\u258C","\u2590____________/|\u258C","\u2590___________/|_\u258C","\u2590__________/|__\u258C","\u2590_________/|___\u258C","\u2590________/|____\u258C","\u2590_______/|_____\u258C","\u2590______/|______\u258C","\u2590_____/|_______\u258C","\u2590____/|________\u258C","\u2590___/|_________\u258C","\u2590__/|__________\u258C","\u2590_/|___________\u258C","\u2590/|____________\u258C"]},dqpb:{interval:100,frames:["d","q","p","b"]},weather:{interval:100,frames:["\u2600\uFE0F ","\u2600\uFE0F ","\u2600\uFE0F ","\u{1F324} ","\u26C5\uFE0F ","\u{1F325} ","\u2601\uFE0F ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u26C8 ","\u{1F328} ","\u{1F327} ","\u{1F328} ","\u2601\uFE0F ","\u{1F325} ","\u26C5\uFE0F ","\u{1F324} ","\u2600\uFE0F ","\u2600\uFE0F "]},christmas:{interval:400,frames:["\u{1F332}","\u{1F384}"]},grenade:{interval:80,frames:["\u060C ","\u2032 "," \xB4 "," \u203E "," \u2E0C"," \u2E0A"," |"," \u204E"," \u2055"," \u0DF4 "," \u2053"," "," "," "]},point:{interval:125,frames:["\u2219\u2219\u2219","\u25CF\u2219\u2219","\u2219\u25CF\u2219","\u2219\u2219\u25CF","\u2219\u2219\u2219"]},layer:{interval:150,frames:["-","=","\u2261"]},betaWave:{interval:80,frames:["\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1\u03B2","\u03B2\u03B2\u03B2\u03B2\u03B2\u03B2\u03C1"]},fingerDance:{interval:160,frames:["\u{1F918} ","\u{1F91F} ","\u{1F596} ","\u270B ","\u{1F91A} ","\u{1F446} "]},fistBump:{interval:80,frames:["\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u{1F91C}\u3000\u3000\u3000\u3000\u{1F91B} ","\u3000\u{1F91C}\u3000\u3000\u{1F91B}\u3000 ","\u3000\u3000\u{1F91C}\u{1F91B}\u3000\u3000 ","\u3000\u{1F91C}\u2728\u{1F91B}\u3000\u3000 ","\u{1F91C}\u3000\u2728\u3000\u{1F91B}\u3000 "]},soccerHeader:{interval:80,frames:[" \u{1F9D1}\u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F\u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} ","\u{1F9D1} \u26BD\uFE0F \u{1F9D1} "]},mindblown:{interval:160,frames:["\u{1F610} ","\u{1F610} ","\u{1F62E} ","\u{1F62E} ","\u{1F626} ","\u{1F626} ","\u{1F627} ","\u{1F627} ","\u{1F92F} ","\u{1F4A5} ","\u2728 ","\u3000 ","\u3000 ","\u3000 "]},speaker:{interval:160,frames:["\u{1F508} ","\u{1F509} ","\u{1F50A} ","\u{1F509} "]},orangePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} "]},bluePulse:{interval:100,frames:["\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},orangeBluePulse:{interval:100,frames:["\u{1F538} ","\u{1F536} ","\u{1F7E0} ","\u{1F7E0} ","\u{1F536} ","\u{1F539} ","\u{1F537} ","\u{1F535} ","\u{1F535} ","\u{1F537} "]},timeTravel:{interval:100,frames:["\u{1F55B} ","\u{1F55A} ","\u{1F559} ","\u{1F558} ","\u{1F557} ","\u{1F556} ","\u{1F555} ","\u{1F554} ","\u{1F553} ","\u{1F552} ","\u{1F551} ","\u{1F550} "]},aesthetic:{interval:80,frames:["\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B1","\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0\u25B0","\u25B0\u25B1\u25B1\u25B1\u25B1\u25B1\u25B1"]},dwarfFortress:{interval:80,frames:[" \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A\u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 ","\u263A \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\u2588\xA3\xA3\xA3 "," \u263A \u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2588\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2593\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2592\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A\u2591\u2588\xA3\xA3\xA3 "," \u263A \u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2588\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2592\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A\u2591\xA3\xA3\xA3 "," \u263A \xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\xA3\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2593\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2592\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A\u2591\xA3\xA3 "," \u263A \xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\xA3\xA3 "," \u263A\u2593\xA3 "," \u263A\u2593\xA3 "," \u263A\u2592\xA3 "," \u263A\u2592\xA3 "," \u263A\u2591\xA3 "," \u263A\u2591\xA3 "," \u263A \xA3 "," \u263A\xA3 "," \u263A\xA3 "," \u263A\u2593 "," \u263A\u2593 "," \u263A\u2592 "," \u263A\u2592 "," \u263A\u2591 "," \u263A\u2591 "," \u263A "," \u263A &"," \u263A \u263C&"," \u263A \u263C &"," \u263A\u263C &"," \u263A\u263C & "," \u203C & "," \u263A & "," \u203C & "," \u263A & "," \u203C & "," \u263A & ","\u203C & "," & "," & "," & \u2591 "," & \u2592 "," & \u2593 "," & \xA3 "," & \u2591\xA3 "," & \u2592\xA3 "," & \u2593\xA3 "," & \xA3\xA3 "," & \u2591\xA3\xA3 "," & \u2592\xA3\xA3 ","& \u2593\xA3\xA3 ","& \xA3\xA3\xA3 "," \u2591\xA3\xA3\xA3 "," \u2592\xA3\xA3\xA3 "," \u2593\xA3\xA3\xA3 "," \u2588\xA3\xA3\xA3 "," \u2591\u2588\xA3\xA3\xA3 "," \u2592\u2588\xA3\xA3\xA3 "," \u2593\u2588\xA3\xA3\xA3 "," \u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2591\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2592\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2593\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "," \u2588\u2588\u2588\u2588\u2588\u2588\xA3\xA3\xA3 "]}}});var uGt=Le((Gli,RGt)=>{"use strict";var N6e=Object.assign({},sGt()),oGt=Object.keys(N6e);Object.defineProperty(N6e,"random",{get(){let e=Math.floor(Math.random()*oGt.length),t=oGt[e];return N6e[t]}});RGt.exports=N6e});var kkt=Le((Vli,lGt)=>{"use strict";lGt.exports=()=>process.platform!=="win32"?!0:!!process.env.CI||!!process.env.WT_SESSION||process.env.TERM_PROGRAM==="vscode"||process.env.TERM==="xterm-256color"||process.env.TERM==="alacritty"});var TGt=Le((jli,cGt)=>{"use strict";var BM=fkt(),uXr=kkt(),lXr={info:BM.blue("\u2139"),success:BM.green("\u2714"),warning:BM.yellow("\u26A0"),error:BM.red("\u2716")},cXr={info:BM.blue("i"),success:BM.green("\u221A"),warning:BM.yellow("\u203C"),error:BM.red("\xD7")};cGt.exports=uXr()?lXr:cXr});var pGt=Le((Jli,w6e)=>{var TXr=function(){"use strict";function e(R,l,c,h){var _;typeof l=="object"&&(c=l.depth,h=l.prototype,_=l.filter,l=l.circular);var f=[],m=[],x=typeof Buffer<"u";typeof l>"u"&&(l=!0),typeof c>"u"&&(c=1/0);function y(A,D){if(A===null)return null;if(D==0)return A;var S,P;if(typeof A!="object")return A;if(e.__isArray(A))S=[];else if(e.__isRegExp(A))S=new RegExp(A.source,s(A)),A.lastIndex&&(S.lastIndex=A.lastIndex);else if(e.__isDate(A))S=new Date(A.getTime());else{if(x&&Buffer.isBuffer(A))return Buffer.allocUnsafe?S=Buffer.allocUnsafe(A.length):S=new Buffer(A.length),A.copy(S),S;typeof h>"u"?(P=Object.getPrototypeOf(A),S=Object.create(P)):(S=Object.create(h),P=h)}if(l){var M=f.indexOf(A);if(M!=-1)return m[M];f.push(A),m.push(S)}for(var U in A){var w;P&&(w=Object.getOwnPropertyDescriptor(P,U)),!(w&&w.set==null)&&(S[U]=y(A[U],D-1))}return S}return y(R,c)}e.clonePrototype=function(l){if(l===null)return null;var c=function(){};return c.prototype=l,new c};function t(R){return Object.prototype.toString.call(R)}e.__objToStr=t;function r(R){return typeof R=="object"&&t(R)==="[object Date]"}e.__isDate=r;function n(R){return typeof R=="object"&&t(R)==="[object Array]"}e.__isArray=n;function i(R){return typeof R=="object"&&t(R)==="[object RegExp]"}e.__isRegExp=i;function s(R){var l="";return R.global&&(l+="g"),R.ignoreCase&&(l+="i"),R.multiline&&(l+="m"),l}return e.__getRegExpFlags=s,e}();typeof w6e=="object"&&w6e.exports&&(w6e.exports=TXr)});var hGt=Le((Xli,_Gt)=>{var pXr=pGt();_Gt.exports=function(e,t){return e=e||{},Object.keys(t).forEach(function(r){typeof e[r]>"u"&&(e[r]=pXr(t[r]))}),e}});var dGt=Le((Zli,fGt)=>{fGt.exports=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531],[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]]});var yGt=Le((eci,ykt)=>{"use strict";var _Xr=hGt(),q_e=dGt(),mGt={nul:0,control:0};ykt.exports=function(t){return kGt(t,mGt)};ykt.exports.config=function(e){return e=_Xr(e||{},mGt),function(r){return kGt(r,e)}};function kGt(e,t){if(typeof e!="string")return xGt(e,t);for(var r=0,n=0;n=127&&e<160?t.control:hXr(e)?0:1+(e>=4352&&(e<=4447||e==9001||e==9002||e>=11904&&e<=42191&&e!=12351||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65135||e>=65280&&e<=65376||e>=65504&&e<=65510||e>=131072&&e<=196605||e>=196608&&e<=262141))}function hXr(e){var t=0,r=q_e.length-1,n;if(eq_e[r][1])return!1;for(;r>=t;)if(n=Math.floor((t+r)/2),e>q_e[n][1])t=n+1;else if(e{"use strict";qGt.exports=({stream:e=process.stdout}={})=>!!(e&&e.isTTY&&process.env.TERM!=="dumb"&&!("CI"in process.env))});var qkt=Le((rci,AGt)=>{AGt.exports=Li("stream")});var DGt=Le((nci,vGt)=>{"use strict";function gGt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function bGt(e){for(var t=1;t0?this.tail.next=n:this.head=n,this.tail=n,++this.length}},{key:"unshift",value:function(r){var n={data:r,next:this.head};this.length===0&&(this.tail=n),this.head=n,++this.length}},{key:"shift",value:function(){if(this.length!==0){var r=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,r}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(r){if(this.length===0)return"";for(var n=this.head,i=""+n.data;n=n.next;)i+=r+n.data;return i}},{key:"concat",value:function(r){if(this.length===0)return P6e.alloc(0);for(var n=P6e.allocUnsafe(r>>>0),i=this.head,s=0;i;)CXr(i.data,n,s),s+=i.data.length,i=i.next;return n}},{key:"consume",value:function(r,n){var i;return rR.length?R.length:r;if(l===R.length?s+=R:s+=R.slice(0,r),r-=l,r===0){l===R.length?(++i,n.next?this.head=n.next:this.head=this.tail=null):(this.head=n,n.data=R.slice(l));break}++i}return this.length-=i,s}},{key:"_getBuffer",value:function(r){var n=P6e.allocUnsafe(r),i=this.head,s=1;for(i.data.copy(n),r-=i.data.length;i=i.next;){var R=i.data,l=r>R.length?R.length:r;if(R.copy(n,n.length-r,0,l),r-=l,r===0){l===R.length?(++s,i.next?this.head=i.next:this.head=this.tail=null):(this.head=i,i.data=R.slice(l));break}++s}return this.length-=s,n}},{key:qXr,value:function(r,n){return Ckt(this,bGt(bGt({},n),{},{depth:0,customInspect:!1}))}}]),e}()});var gkt=Le((ici,$Gt)=>{"use strict";function AXr(e,t){var r=this,n=this._readableState&&this._readableState.destroyed,i=this._writableState&&this._writableState.destroyed;return n||i?(t?t(e):e&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,process.nextTick(Akt,this,e)):process.nextTick(Akt,this,e)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(e||null,function(s){!t&&s?r._writableState?r._writableState.errorEmitted?process.nextTick(B6e,r):(r._writableState.errorEmitted=!0,process.nextTick(SGt,r,s)):process.nextTick(SGt,r,s):t?(process.nextTick(B6e,r),t(s)):process.nextTick(B6e,r)}),this)}function SGt(e,t){Akt(e,t),B6e(e)}function B6e(e){e._writableState&&!e._writableState.emitClose||e._readableState&&!e._readableState.emitClose||e.emit("close")}function gXr(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)}function Akt(e,t){e.emit("error",t)}function bXr(e,t){var r=e._readableState,n=e._writableState;r&&r.autoDestroy||n&&n.autoDestroy?e.destroy(t):e.emit("error",t)}$Gt.exports={destroy:AXr,undestroy:gXr,errorOrDestroy:bXr}});var IM=Le((aci,wGt)=>{"use strict";var NGt={};function H3(e,t,r){r||(r=Error);function n(s,R,l){return typeof t=="string"?t:t(s,R,l)}class i extends r{constructor(R,l,c){super(n(R,l,c))}}i.prototype.name=r.name,i.prototype.code=e,NGt[e]=i}function QGt(e,t){if(Array.isArray(e)){let r=e.length;return e=e.map(n=>String(n)),r>2?`one of ${t} ${e.slice(0,r-1).join(", ")}, or `+e[r-1]:r===2?`one of ${t} ${e[0]} or ${e[1]}`:`of ${t} ${e[0]}`}else return`of ${t} ${String(e)}`}function EXr(e,t,r){return e.substr(!r||r<0?0:+r,t.length)===t}function OXr(e,t,r){return(r===void 0||r>e.length)&&(r=e.length),e.substring(r-t.length,r)===t}function vXr(e,t,r){return typeof r!="number"&&(r=0),r+t.length>e.length?!1:e.indexOf(t,r)!==-1}H3("ERR_INVALID_OPT_VALUE",function(e,t){return'The value "'+t+'" is invalid for option "'+e+'"'},TypeError);H3("ERR_INVALID_ARG_TYPE",function(e,t,r){let n;typeof t=="string"&&EXr(t,"not ")?(n="must not be",t=t.replace(/^not /,"")):n="must be";let i;if(OXr(e," argument"))i=`The ${e} ${n} ${QGt(t,"type")}`;else{let s=vXr(e,".")?"property":"argument";i=`The "${e}" ${s} ${n} ${QGt(t,"type")}`}return i+=`. Received type ${typeof r}`,i},TypeError);H3("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF");H3("ERR_METHOD_NOT_IMPLEMENTED",function(e){return"The "+e+" method is not implemented"});H3("ERR_STREAM_PREMATURE_CLOSE","Premature close");H3("ERR_STREAM_DESTROYED",function(e){return"Cannot call "+e+" after a stream was destroyed"});H3("ERR_MULTIPLE_CALLBACK","Callback called multiple times");H3("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable");H3("ERR_STREAM_WRITE_AFTER_END","write after end");H3("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError);H3("ERR_UNKNOWN_ENCODING",function(e){return"Unknown encoding: "+e},TypeError);H3("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event");wGt.exports.codes=NGt});var bkt=Le((sci,PGt)=>{"use strict";var DXr=IM().codes.ERR_INVALID_OPT_VALUE;function SXr(e,t,r){return e.highWaterMark!=null?e.highWaterMark:t?e[r]:null}function $Xr(e,t,r,n){var i=SXr(t,n,r);if(i!=null){if(!(isFinite(i)&&Math.floor(i)===i)||i<0){var s=n?r:"highWaterMark";throw new DXr(s,i)}return Math.floor(i)}return e.objectMode?16:16*1024}PGt.exports={getHighWaterMark:$Xr}});var BGt=Le((oci,Ekt)=>{typeof Object.create=="function"?Ekt.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:Ekt.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}});var AJ=Le((Rci,vkt)=>{try{if(Okt=Li("util"),typeof Okt.inherits!="function")throw"";vkt.exports=Okt.inherits}catch{vkt.exports=BGt()}var Okt});var MGt=Le((uci,IGt)=>{IGt.exports=Li("util").deprecate});var $kt=Le((lci,HGt)=>{"use strict";HGt.exports=L_;function UGt(e){var t=this;this.next=null,this.entry=null,this.finish=function(){aZr(t,e)}}var hie;L_.WritableState=A_e;var QXr={deprecate:MGt()},FGt=qkt(),M6e=Li("buffer").Buffer,NXr=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function wXr(e){return M6e.from(e)}function PXr(e){return M6e.isBuffer(e)||e instanceof NXr}var Skt=gkt(),BXr=bkt(),IXr=BXr.getHighWaterMark,MM=IM().codes,MXr=MM.ERR_INVALID_ARG_TYPE,WXr=MM.ERR_METHOD_NOT_IMPLEMENTED,UXr=MM.ERR_MULTIPLE_CALLBACK,FXr=MM.ERR_STREAM_CANNOT_PIPE,LXr=MM.ERR_STREAM_DESTROYED,zXr=MM.ERR_STREAM_NULL_VALUES,HXr=MM.ERR_STREAM_WRITE_AFTER_END,YXr=MM.ERR_UNKNOWN_ENCODING,fie=Skt.errorOrDestroy;AJ()(L_,FGt);function KXr(){}function A_e(e,t,r){hie=hie||gJ(),e=e||{},typeof r!="boolean"&&(r=t instanceof hie),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.writableObjectMode),this.highWaterMark=IXr(this,e,"writableHighWaterMark",r),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var n=e.decodeStrings===!1;this.decodeStrings=!n,this.defaultEncoding=e.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(i){eZr(t,i)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new UGt(this)}A_e.prototype.getBuffer=function(){for(var t=this.bufferedRequest,r=[];t;)r.push(t),t=t.next;return r};(function(){try{Object.defineProperty(A_e.prototype,"buffer",{get:QXr.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch{}})();var I6e;typeof Symbol=="function"&&Symbol.hasInstance&&typeof Function.prototype[Symbol.hasInstance]=="function"?(I6e=Function.prototype[Symbol.hasInstance],Object.defineProperty(L_,Symbol.hasInstance,{value:function(t){return I6e.call(this,t)?!0:this!==L_?!1:t&&t._writableState instanceof A_e}})):I6e=function(t){return t instanceof this};function L_(e){hie=hie||gJ();var t=this instanceof hie;if(!t&&!I6e.call(L_,this))return new L_(e);this._writableState=new A_e(e,this,t),this.writable=!0,e&&(typeof e.write=="function"&&(this._write=e.write),typeof e.writev=="function"&&(this._writev=e.writev),typeof e.destroy=="function"&&(this._destroy=e.destroy),typeof e.final=="function"&&(this._final=e.final)),FGt.call(this)}L_.prototype.pipe=function(){fie(this,new FXr)};function GXr(e,t){var r=new HXr;fie(e,r),process.nextTick(t,r)}function VXr(e,t,r,n){var i;return r===null?i=new zXr:typeof r!="string"&&!t.objectMode&&(i=new MXr("chunk",["string","Buffer"],r)),i?(fie(e,i),process.nextTick(n,i),!1):!0}L_.prototype.write=function(e,t,r){var n=this._writableState,i=!1,s=!n.objectMode&&PXr(e);return s&&!M6e.isBuffer(e)&&(e=wXr(e)),typeof t=="function"&&(r=t,t=null),s?t="buffer":t||(t=n.defaultEncoding),typeof r!="function"&&(r=KXr),n.ending?GXr(this,r):(s||VXr(this,n,e,r))&&(n.pendingcb++,i=JXr(this,n,s,e,t,r)),i};L_.prototype.cork=function(){this._writableState.corked++};L_.prototype.uncork=function(){var e=this._writableState;e.corked&&(e.corked--,!e.writing&&!e.corked&&!e.bufferProcessing&&e.bufferedRequest&&LGt(this,e))};L_.prototype.setDefaultEncoding=function(t){if(typeof t=="string"&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new YXr(t);return this._writableState.defaultEncoding=t,this};Object.defineProperty(L_.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}});function jXr(e,t,r){return!e.objectMode&&e.decodeStrings!==!1&&typeof t=="string"&&(t=M6e.from(t,r)),t}Object.defineProperty(L_.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}});function JXr(e,t,r,n,i,s){if(!r){var R=jXr(t,n,i);n!==R&&(r=!0,i="buffer",n=R)}var l=t.objectMode?1:n.length;t.length+=l;var c=t.length{"use strict";var sZr=Object.keys||function(e){var t=[];for(var r in e)t.push(r);return t};KGt.exports=uD;var YGt=wkt(),Nkt=$kt();AJ()(uD,YGt);for(Qkt=sZr(Nkt.prototype),W6e=0;W6e{var F6e=Li("buffer"),lD=F6e.Buffer;function GGt(e,t){for(var r in e)t[r]=e[r]}lD.from&&lD.alloc&&lD.allocUnsafe&&lD.allocUnsafeSlow?VGt.exports=F6e:(GGt(F6e,Pkt),Pkt.Buffer=bJ);function bJ(e,t,r){return lD(e,t,r)}bJ.prototype=Object.create(lD.prototype);GGt(lD,bJ);bJ.from=function(e,t,r){if(typeof e=="number")throw new TypeError("Argument must not be a number");return lD(e,t,r)};bJ.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError("Argument must be a number");var n=lD(e);return t!==void 0?typeof r=="string"?n.fill(t,r):n.fill(t):n.fill(0),n};bJ.allocUnsafe=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return lD(e)};bJ.allocUnsafeSlow=function(e){if(typeof e!="number")throw new TypeError("Argument must be a number");return F6e.SlowBuffer(e)}});var Mkt=Le(XGt=>{"use strict";var Ikt=jGt().Buffer,JGt=Ikt.isEncoding||function(e){switch(e=""+e,e&&e.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function uZr(e){if(!e)return"utf8";for(var t;;)switch(e){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return e;default:if(t)return;e=(""+e).toLowerCase(),t=!0}}function lZr(e){var t=uZr(e);if(typeof t!="string"&&(Ikt.isEncoding===JGt||!JGt(e)))throw new Error("Unknown encoding: "+e);return t||e}XGt.StringDecoder=g_e;function g_e(e){this.encoding=lZr(e);var t;switch(this.encoding){case"utf16le":this.text=fZr,this.end=dZr,t=4;break;case"utf8":this.fillLast=pZr,t=4;break;case"base64":this.text=xZr,this.end=mZr,t=3;break;default:this.write=kZr,this.end=yZr;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=Ikt.allocUnsafe(t)}g_e.prototype.write=function(e){if(e.length===0)return"";var t,r;if(this.lastNeed){if(t=this.fillLast(e),t===void 0)return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r>5===6?2:e>>4===14?3:e>>3===30?4:e>>6===2?-1:-2}function cZr(e,t,r){var n=t.length-1;if(n=0?(i>0&&(e.lastNeed=i-1),i):--n=0?(i>0&&(e.lastNeed=i-2),i):--n=0?(i>0&&(i===2?i=0:e.lastNeed=i-3),i):0))}function TZr(e,t,r){if((t[0]&192)!==128)return e.lastNeed=0,"\uFFFD";if(e.lastNeed>1&&t.length>1){if((t[1]&192)!==128)return e.lastNeed=1,"\uFFFD";if(e.lastNeed>2&&t.length>2&&(t[2]&192)!==128)return e.lastNeed=2,"\uFFFD"}}function pZr(e){var t=this.lastTotal-this.lastNeed,r=TZr(this,e,t);if(r!==void 0)return r;if(this.lastNeed<=e.length)return e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length}function _Zr(e,t){var r=cZr(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=r;var n=e.length-(r-this.lastNeed);return e.copy(this.lastChar,0,n),e.toString("utf8",t,n)}function hZr(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"\uFFFD":t}function fZr(e,t){if((e.length-t)%2===0){var r=e.toString("utf16le",t);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function dZr(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,r)}return t}function xZr(e,t){var r=(e.length-t)%3;return r===0?e.toString("base64",t):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-r))}function mZr(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function kZr(e){return e.toString(this.encoding)}function yZr(e){return e&&e.length?this.write(e):""}});var L6e=Le((pci,tVt)=>{"use strict";var ZGt=IM().codes.ERR_STREAM_PREMATURE_CLOSE;function qZr(e){var t=!1;return function(){if(!t){t=!0;for(var r=arguments.length,n=new Array(r),i=0;i{"use strict";var z6e;function WM(e,t,r){return t=gZr(t),t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function gZr(e){var t=bZr(e,"string");return typeof t=="symbol"?t:String(t)}function bZr(e,t){if(typeof e!="object"||e===null)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t||"default");if(typeof n!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}var EZr=L6e(),UM=Symbol("lastResolve"),EJ=Symbol("lastReject"),b_e=Symbol("error"),H6e=Symbol("ended"),OJ=Symbol("lastPromise"),Wkt=Symbol("handlePromise"),vJ=Symbol("stream");function FM(e,t){return{value:e,done:t}}function OZr(e){var t=e[UM];if(t!==null){var r=e[vJ].read();r!==null&&(e[OJ]=null,e[UM]=null,e[EJ]=null,t(FM(r,!1)))}}function vZr(e){process.nextTick(OZr,e)}function DZr(e,t){return function(r,n){e.then(function(){if(t[H6e]){r(FM(void 0,!0));return}t[Wkt](r,n)},n)}}var SZr=Object.getPrototypeOf(function(){}),$Zr=Object.setPrototypeOf((z6e={get stream(){return this[vJ]},next:function(){var t=this,r=this[b_e];if(r!==null)return Promise.reject(r);if(this[H6e])return Promise.resolve(FM(void 0,!0));if(this[vJ].destroyed)return new Promise(function(R,l){process.nextTick(function(){t[b_e]?l(t[b_e]):R(FM(void 0,!0))})});var n=this[OJ],i;if(n)i=new Promise(DZr(n,this));else{var s=this[vJ].read();if(s!==null)return Promise.resolve(FM(s,!1));i=new Promise(this[Wkt])}return this[OJ]=i,i}},WM(z6e,Symbol.asyncIterator,function(){return this}),WM(z6e,"return",function(){var t=this;return new Promise(function(r,n){t[vJ].destroy(null,function(i){if(i){n(i);return}r(FM(void 0,!0))})})}),z6e),SZr),QZr=function(t){var r,n=Object.create($Zr,(r={},WM(r,vJ,{value:t,writable:!0}),WM(r,UM,{value:null,writable:!0}),WM(r,EJ,{value:null,writable:!0}),WM(r,b_e,{value:null,writable:!0}),WM(r,H6e,{value:t._readableState.endEmitted,writable:!0}),WM(r,Wkt,{value:function(s,R){var l=n[vJ].read();l?(n[OJ]=null,n[UM]=null,n[EJ]=null,s(FM(l,!1))):(n[UM]=s,n[EJ]=R)},writable:!0}),r));return n[OJ]=null,EZr(t,function(i){if(i&&i.code!=="ERR_STREAM_PREMATURE_CLOSE"){var s=n[EJ];s!==null&&(n[OJ]=null,n[UM]=null,n[EJ]=null,s(i)),n[b_e]=i;return}var R=n[UM];R!==null&&(n[OJ]=null,n[UM]=null,n[EJ]=null,R(FM(void 0,!0))),n[H6e]=!0}),t.on("readable",vZr.bind(null,n)),n};rVt.exports=QZr});var oVt=Le((hci,sVt)=>{"use strict";function iVt(e,t,r,n,i,s,R){try{var l=e[s](R),c=l.value}catch(h){r(h);return}l.done?t(c):Promise.resolve(c).then(n,i)}function NZr(e){return function(){var t=this,r=arguments;return new Promise(function(n,i){var s=e.apply(t,r);function R(c){iVt(s,n,i,R,l,"next",c)}function l(c){iVt(s,n,i,R,l,"throw",c)}R(void 0)})}}function aVt(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function wZr(e){for(var t=1;t{"use strict";dVt.exports=el;var die;el.ReadableState=cVt;var fci=Li("events").EventEmitter,lVt=function(t,r){return t.listeners(r).length},O_e=qkt(),Y6e=Li("buffer").Buffer,UZr=(typeof global<"u"?global:typeof window<"u"?window:typeof self<"u"?self:{}).Uint8Array||function(){};function FZr(e){return Y6e.from(e)}function LZr(e){return Y6e.isBuffer(e)||e instanceof UZr}var Ukt=Li("util"),BR;Ukt&&Ukt.debuglog?BR=Ukt.debuglog("stream"):BR=function(){};var zZr=DGt(),Gkt=gkt(),HZr=bkt(),YZr=HZr.getHighWaterMark,K6e=IM().codes,KZr=K6e.ERR_INVALID_ARG_TYPE,GZr=K6e.ERR_STREAM_PUSH_AFTER_EOF,VZr=K6e.ERR_METHOD_NOT_IMPLEMENTED,jZr=K6e.ERR_STREAM_UNSHIFT_AFTER_END_EVENT,xie,Fkt,Lkt;AJ()(el,O_e);var E_e=Gkt.errorOrDestroy,zkt=["error","close","destroy","pause","resume"];function JZr(e,t,r){if(typeof e.prependListener=="function")return e.prependListener(t,r);!e._events||!e._events[t]?e.on(t,r):Array.isArray(e._events[t])?e._events[t].unshift(r):e._events[t]=[r,e._events[t]]}function cVt(e,t,r){die=die||gJ(),e=e||{},typeof r!="boolean"&&(r=t instanceof die),this.objectMode=!!e.objectMode,r&&(this.objectMode=this.objectMode||!!e.readableObjectMode),this.highWaterMark=YZr(this,e,"readableHighWaterMark",r),this.buffer=new zZr,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=e.emitClose!==!1,this.autoDestroy=!!e.autoDestroy,this.destroyed=!1,this.defaultEncoding=e.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,e.encoding&&(xie||(xie=Mkt().StringDecoder),this.decoder=new xie(e.encoding),this.encoding=e.encoding)}function el(e){if(die=die||gJ(),!(this instanceof el))return new el(e);var t=this instanceof die;this._readableState=new cVt(e,this,t),this.readable=!0,e&&(typeof e.read=="function"&&(this._read=e.read),typeof e.destroy=="function"&&(this._destroy=e.destroy)),O_e.call(this)}Object.defineProperty(el.prototype,"destroyed",{enumerable:!1,get:function(){return this._readableState===void 0?!1:this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}});el.prototype.destroy=Gkt.destroy;el.prototype._undestroy=Gkt.undestroy;el.prototype._destroy=function(e,t){t(e)};el.prototype.push=function(e,t){var r=this._readableState,n;return r.objectMode?n=!0:typeof e=="string"&&(t=t||r.defaultEncoding,t!==r.encoding&&(e=Y6e.from(e,t),t=""),n=!0),TVt(this,e,t,!1,n)};el.prototype.unshift=function(e){return TVt(this,e,null,!0,!1)};function TVt(e,t,r,n,i){BR("readableAddChunk",t);var s=e._readableState;if(t===null)s.reading=!1,een(e,s);else{var R;if(i||(R=XZr(s,t)),R)E_e(e,R);else if(s.objectMode||t&&t.length>0)if(typeof t!="string"&&!s.objectMode&&Object.getPrototypeOf(t)!==Y6e.prototype&&(t=FZr(t)),n)s.endEmitted?E_e(e,new jZr):Hkt(e,s,t,!0);else if(s.ended)E_e(e,new GZr);else{if(s.destroyed)return!1;s.reading=!1,s.decoder&&!r?(t=s.decoder.write(t),s.objectMode||t.length!==0?Hkt(e,s,t,!1):Kkt(e,s)):Hkt(e,s,t,!1)}else n||(s.reading=!1,Kkt(e,s))}return!s.ended&&(s.length=RVt?e=RVt:(e--,e|=e>>>1,e|=e>>>2,e|=e>>>4,e|=e>>>8,e|=e>>>16,e++),e}function uVt(e,t){return e<=0||t.length===0&&t.ended?0:t.objectMode?1:e!==e?t.flowing&&t.length?t.buffer.head.data.length:t.length:(e>t.highWaterMark&&(t.highWaterMark=ZZr(e)),e<=t.length?e:t.ended?t.length:(t.needReadable=!0,0))}el.prototype.read=function(e){BR("read",e),e=parseInt(e,10);var t=this._readableState,r=e;if(e!==0&&(t.emittedReadable=!1),e===0&&t.needReadable&&((t.highWaterMark!==0?t.length>=t.highWaterMark:t.length>0)||t.ended))return BR("read: emitReadable",t.length,t.ended),t.length===0&&t.ended?Ykt(this):G6e(this),null;if(e=uVt(e,t),e===0&&t.ended)return t.length===0&&Ykt(this),null;var n=t.needReadable;BR("need readable",n),(t.length===0||t.length-e0?i=hVt(e,t):i=null,i===null?(t.needReadable=t.length<=t.highWaterMark,e=0):(t.length-=e,t.awaitDrain=0),t.length===0&&(t.ended||(t.needReadable=!0),r!==e&&t.ended&&Ykt(this)),i!==null&&this.emit("data",i),i};function een(e,t){if(BR("onEofChunk"),!t.ended){if(t.decoder){var r=t.decoder.end();r&&r.length&&(t.buffer.push(r),t.length+=t.objectMode?1:r.length)}t.ended=!0,t.sync?G6e(e):(t.needReadable=!1,t.emittedReadable||(t.emittedReadable=!0,pVt(e)))}}function G6e(e){var t=e._readableState;BR("emitReadable",t.needReadable,t.emittedReadable),t.needReadable=!1,t.emittedReadable||(BR("emitReadable",t.flowing),t.emittedReadable=!0,process.nextTick(pVt,e))}function pVt(e){var t=e._readableState;BR("emitReadable_",t.destroyed,t.length,t.ended),!t.destroyed&&(t.length||t.ended)&&(e.emit("readable"),t.emittedReadable=!1),t.needReadable=!t.flowing&&!t.ended&&t.length<=t.highWaterMark,Vkt(e)}function Kkt(e,t){t.readingMore||(t.readingMore=!0,process.nextTick(ten,e,t))}function ten(e,t){for(;!t.reading&&!t.ended&&(t.length1&&fVt(n.pipes,e)!==-1)&&!h&&(BR("false write response, pause",n.awaitDrain),n.awaitDrain++),r.pause())}function m(D){BR("onerror",D),A(),e.removeListener("error",m),lVt(e,"error")===0&&E_e(e,D)}JZr(e,"error",m);function x(){e.removeListener("finish",y),A()}e.once("close",x);function y(){BR("onfinish"),e.removeListener("close",x),A()}e.once("finish",y);function A(){BR("unpipe"),r.unpipe(e)}return e.emit("pipe",r),n.flowing||(BR("pipe resume"),r.resume()),e};function ren(e){return function(){var r=e._readableState;BR("pipeOnDrain",r.awaitDrain),r.awaitDrain&&r.awaitDrain--,r.awaitDrain===0&&lVt(e,"data")&&(r.flowing=!0,Vkt(e))}}el.prototype.unpipe=function(e){var t=this._readableState,r={hasUnpiped:!1};if(t.pipesCount===0)return this;if(t.pipesCount===1)return e&&e!==t.pipes?this:(e||(e=t.pipes),t.pipes=null,t.pipesCount=0,t.flowing=!1,e&&e.emit("unpipe",this,r),this);if(!e){var n=t.pipes,i=t.pipesCount;t.pipes=null,t.pipesCount=0,t.flowing=!1;for(var s=0;s0,n.flowing!==!1&&this.resume()):e==="readable"&&!n.endEmitted&&!n.readableListening&&(n.readableListening=n.needReadable=!0,n.flowing=!1,n.emittedReadable=!1,BR("on readable",n.length,n.reading),n.length?G6e(this):n.reading||process.nextTick(nen,this)),r};el.prototype.addListener=el.prototype.on;el.prototype.removeListener=function(e,t){var r=O_e.prototype.removeListener.call(this,e,t);return e==="readable"&&process.nextTick(_Vt,this),r};el.prototype.removeAllListeners=function(e){var t=O_e.prototype.removeAllListeners.apply(this,arguments);return(e==="readable"||e===void 0)&&process.nextTick(_Vt,this),t};function _Vt(e){var t=e._readableState;t.readableListening=e.listenerCount("readable")>0,t.resumeScheduled&&!t.paused?t.flowing=!0:e.listenerCount("data")>0&&e.resume()}function nen(e){BR("readable nexttick read 0"),e.read(0)}el.prototype.resume=function(){var e=this._readableState;return e.flowing||(BR("resume"),e.flowing=!e.readableListening,ien(this,e)),e.paused=!1,this};function ien(e,t){t.resumeScheduled||(t.resumeScheduled=!0,process.nextTick(aen,e,t))}function aen(e,t){BR("resume",t.reading),t.reading||e.read(0),t.resumeScheduled=!1,e.emit("resume"),Vkt(e),t.flowing&&!t.reading&&e.read(0)}el.prototype.pause=function(){return BR("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(BR("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this};function Vkt(e){var t=e._readableState;for(BR("flow",t.flowing);t.flowing&&e.read()!==null;);}el.prototype.wrap=function(e){var t=this,r=this._readableState,n=!1;e.on("end",function(){if(BR("wrapped end"),r.decoder&&!r.ended){var R=r.decoder.end();R&&R.length&&t.push(R)}t.push(null)}),e.on("data",function(R){if(BR("wrapped data"),r.decoder&&(R=r.decoder.write(R)),!(r.objectMode&&R==null)&&!(!r.objectMode&&(!R||!R.length))){var l=t.push(R);l||(n=!0,e.pause())}});for(var i in e)this[i]===void 0&&typeof e[i]=="function"&&(this[i]=function(l){return function(){return e[l].apply(e,arguments)}}(i));for(var s=0;s=t.length?(t.decoder?r=t.buffer.join(""):t.buffer.length===1?r=t.buffer.first():r=t.buffer.concat(t.length),t.buffer.clear()):r=t.buffer.consume(e,t.decoder),r}function Ykt(e){var t=e._readableState;BR("endReadable",t.endEmitted),t.endEmitted||(t.ended=!0,process.nextTick(sen,t,e))}function sen(e,t){if(BR("endReadableNT",e.endEmitted,e.length),!e.endEmitted&&e.length===0&&(e.endEmitted=!0,t.readable=!1,t.emit("end"),e.autoDestroy)){var r=t._writableState;(!r||r.autoDestroy&&r.finished)&&t.destroy()}}typeof Symbol=="function"&&(el.from=function(e,t){return Lkt===void 0&&(Lkt=oVt()),Lkt(el,e,t)});function fVt(e,t){for(var r=0,n=e.length;r{"use strict";mVt.exports=VN;var V6e=IM().codes,oen=V6e.ERR_METHOD_NOT_IMPLEMENTED,Ren=V6e.ERR_MULTIPLE_CALLBACK,uen=V6e.ERR_TRANSFORM_ALREADY_TRANSFORMING,len=V6e.ERR_TRANSFORM_WITH_LENGTH_0,j6e=gJ();AJ()(VN,j6e);function cen(e,t){var r=this._transformState;r.transforming=!1;var n=r.writecb;if(n===null)return this.emit("error",new Ren);r.writechunk=null,r.writecb=null,t!=null&&this.push(t),n(e);var i=this._readableState;i.reading=!1,(i.needReadable||i.length{"use strict";yVt.exports=v_e;var kVt=jkt();AJ()(v_e,kVt);function v_e(e){if(!(this instanceof v_e))return new v_e(e);kVt.call(this,e)}v_e.prototype._transform=function(e,t,r){r(null,e)}});var EVt=Le((kci,bVt)=>{"use strict";var Jkt;function pen(e){var t=!1;return function(){t||(t=!0,e.apply(void 0,arguments))}}var gVt=IM().codes,_en=gVt.ERR_MISSING_ARGS,hen=gVt.ERR_STREAM_DESTROYED;function CVt(e){if(e)throw e}function fen(e){return e.setHeader&&typeof e.abort=="function"}function den(e,t,r,n){n=pen(n);var i=!1;e.on("close",function(){i=!0}),Jkt===void 0&&(Jkt=L6e()),Jkt(e,{readable:t,writable:r},function(R){if(R)return n(R);i=!0,n()});var s=!1;return function(R){if(!i&&!s){if(s=!0,fen(e))return e.abort();if(typeof e.destroy=="function")return e.destroy();n(R||new hen("pipe"))}}}function AVt(e){e()}function xen(e,t){return e.pipe(t)}function men(e){return!e.length||typeof e[e.length-1]!="function"?CVt:e.pop()}function ken(){for(var e=arguments.length,t=new Array(e),r=0;r0;return den(R,c,h,function(_){i||(i=_),_&&s.forEach(AVt),!c&&(s.forEach(AVt),n(i))})});return t.reduce(xen)}bVt.exports=ken});var OVt=Le((Y3,S_e)=>{var D_e=Li("stream");process.env.READABLE_STREAM==="disable"&&D_e?(S_e.exports=D_e.Readable,Object.assign(S_e.exports,D_e),S_e.exports.Stream=D_e):(Y3=S_e.exports=wkt(),Y3.Stream=D_e||Y3,Y3.Readable=Y3,Y3.Writable=$kt(),Y3.Duplex=gJ(),Y3.Transform=jkt(),Y3.PassThrough=qVt(),Y3.finished=L6e(),Y3.pipeline=EVt())});var SVt=Le((yci,DVt)=>{"use strict";var{Buffer:GE}=Li("buffer"),vVt=Symbol.for("BufferList");function a1(e){if(!(this instanceof a1))return new a1(e);a1._init.call(this,e)}a1._init=function(t){Object.defineProperty(this,vVt,{value:!0}),this._bufs=[],this.length=0,t&&this.append(t)};a1.prototype._new=function(t){return new a1(t)};a1.prototype._offset=function(t){if(t===0)return[0,0];let r=0;for(let n=0;nthis.length||t<0)return;let r=this._offset(t);return this._bufs[r[0]][r[1]]};a1.prototype.slice=function(t,r){return typeof t=="number"&&t<0&&(t+=this.length),typeof r=="number"&&r<0&&(r+=this.length),this.copy(null,0,t,r)};a1.prototype.copy=function(t,r,n,i){if((typeof n!="number"||n<0)&&(n=0),(typeof i!="number"||i>this.length)&&(i=this.length),n>=this.length||i<=0)return t||GE.alloc(0);let s=!!t,R=this._offset(n),l=i-n,c=l,h=s&&r||0,_=R[1];if(n===0&&i===this.length){if(!s)return this._bufs.length===1?this._bufs[0]:GE.concat(this._bufs,this.length);for(let f=0;fm)this._bufs[f].copy(t,h,_),h+=m;else{this._bufs[f].copy(t,h,_,_+c),h+=m;break}c-=m,_&&(_=0)}return t.length>h?t.slice(0,h):t};a1.prototype.shallowSlice=function(t,r){if(t=t||0,r=typeof r!="number"?this.length:r,t<0&&(t+=this.length),r<0&&(r+=this.length),t===r)return this._new();let n=this._offset(t),i=this._offset(r),s=this._bufs.slice(n[0],i[0]+1);return i[1]===0?s.pop():s[s.length-1]=s[s.length-1].slice(0,i[1]),n[1]!==0&&(s[0]=s[0].slice(n[1])),this._new(s)};a1.prototype.toString=function(t,r,n){return this.slice(r,n).toString(t)};a1.prototype.consume=function(t){if(t=Math.trunc(t),Number.isNaN(t)||t<=0)return this;for(;this._bufs.length;)if(t>=this._bufs[0].length)t-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(t),this.length-=t;break}return this};a1.prototype.duplicate=function(){let t=this._new();for(let r=0;rthis.length?this.length:t;let n=this._offset(t),i=n[0],s=n[1];for(;i=e.length){let c=R.indexOf(e,s);if(c!==-1)return this._reverseOffset([i,c]);s=R.length-e.length+1}else{let c=this._reverseOffset([i,s]);if(this._match(c,e))return c;s++}s=0}return-1};a1.prototype._match=function(e,t){if(this.length-e{"use strict";var Xkt=OVt().Duplex,yen=AJ(),$_e=SVt();function Ry(e){if(!(this instanceof Ry))return new Ry(e);if(typeof e=="function"){this._callback=e;let t=function(n){this._callback&&(this._callback(n),this._callback=null)}.bind(this);this.on("pipe",function(n){n.on("error",t)}),this.on("unpipe",function(n){n.removeListener("error",t)}),e=null}$_e._init.call(this,e),Xkt.call(this)}yen(Ry,Xkt);Object.assign(Ry.prototype,$_e.prototype);Ry.prototype._new=function(t){return new Ry(t)};Ry.prototype._write=function(t,r,n){this._appendBuffer(t),typeof n=="function"&&n()};Ry.prototype._read=function(t){if(!this.length)return this.push(null);t=Math.min(t,this.length),this.push(this.slice(0,t)),this.consume(t)};Ry.prototype.end=function(t){Xkt.prototype.end.call(this,t),this._callback&&(this._callback(null,this.slice()),this._callback=null)};Ry.prototype._destroy=function(t,r){this._bufs.length=0,this.length=0,r(t)};Ry.prototype._isBufferList=function(t){return t instanceof Ry||t instanceof $_e||Ry.isBufferList(t)};Ry.isBufferList=$_e.isBufferList;J6e.exports=Ry;J6e.exports.BufferListStream=Ry;J6e.exports.BufferList=$_e});var NVt=Le((Cci,ryt)=>{"use strict";var qen=Li("readline"),Cen=fkt(),QVt=aGt(),X6e=uGt(),Z6e=TGt(),Aen=d_e(),gen=yGt(),ben=CGt(),Een=kkt(),{BufferListStream:Oen}=$Vt(),Zkt=Symbol("text"),eyt=Symbol("prefixText"),ven=3,tyt=class{constructor(){this.requests=0,this.mutedStream=new Oen,this.mutedStream.pipe(process.stdout);let t=this;this.ourEmit=function(r,n,...i){let{stdin:s}=process;if(t.requests>0||s.emit===t.ourEmit){if(r==="keypress")return;r==="data"&&n.includes(ven)&&process.emit("SIGINT"),Reflect.apply(t.oldEmit,this,[r,n,...i])}else Reflect.apply(process.stdin.emit,this,[r,n,...i])}}start(){this.requests++,this.requests===1&&this.realStart()}stop(){if(this.requests<=0)throw new Error("`stop` called more times than `start`");this.requests--,this.requests===0&&this.realStop()}realStart(){process.platform!=="win32"&&(this.rl=qen.createInterface({input:process.stdin,output:this.mutedStream}),this.rl.on("SIGINT",()=>{process.listenerCount("SIGINT")===0?process.emit("SIGINT"):(this.rl.close(),process.kill(process.pid,"SIGINT"))}))}realStop(){process.platform!=="win32"&&(this.rl.close(),this.rl=void 0)}},eqe,tqe=class{constructor(t){eqe||(eqe=new tyt),typeof t=="string"&&(t={text:t}),this.options={text:"",color:"cyan",stream:process.stderr,discardStdin:!0,...t},this.spinner=this.options.spinner,this.color=this.options.color,this.hideCursor=this.options.hideCursor!==!1,this.interval=this.options.interval||this.spinner.interval||100,this.stream=this.options.stream,this.id=void 0,this.isEnabled=typeof this.options.isEnabled=="boolean"?this.options.isEnabled:ben({stream:this.stream}),this.isSilent=typeof this.options.isSilent=="boolean"?this.options.isSilent:!1,this.text=this.options.text,this.prefixText=this.options.prefixText,this.linesToClear=0,this.indent=this.options.indent,this.discardStdin=this.options.discardStdin,this.isDiscardingStdin=!1}get indent(){return this._indent}set indent(t=0){if(!(t>=0&&Number.isInteger(t)))throw new Error("The `indent` option must be an integer from 0 and up");this._indent=t}_updateInterval(t){t!==void 0&&(this.interval=t)}get spinner(){return this._spinner}set spinner(t){if(this.frameIndex=0,typeof t=="object"){if(t.frames===void 0)throw new Error("The given spinner must have a `frames` property");this._spinner=t}else if(!Een())this._spinner=X6e.line;else if(t===void 0)this._spinner=X6e.dots;else if(t!=="default"&&X6e[t])this._spinner=X6e[t];else throw new Error(`There is no built-in spinner named '${t}'. See https://github.com/sindresorhus/cli-spinners/blob/main/spinners.json for a full list.`);this._updateInterval(this._spinner.interval)}get text(){return this[Zkt]}set text(t){this[Zkt]=t,this.updateLineCount()}get prefixText(){return this[eyt]}set prefixText(t){this[eyt]=t,this.updateLineCount()}get isSpinning(){return this.id!==void 0}getFullPrefixText(t=this[eyt],r=" "){return typeof t=="string"?t+r:typeof t=="function"?t()+r:""}updateLineCount(){let t=this.stream.columns||80,r=this.getFullPrefixText(this.prefixText,"-");this.lineCount=0;for(let n of Aen(r+"--"+this[Zkt]).split(` +`))this.lineCount+=Math.max(1,Math.ceil(gen(n)/t))}get isEnabled(){return this._isEnabled&&!this.isSilent}set isEnabled(t){if(typeof t!="boolean")throw new TypeError("The `isEnabled` option must be a boolean");this._isEnabled=t}get isSilent(){return this._isSilent}set isSilent(t){if(typeof t!="boolean")throw new TypeError("The `isSilent` option must be a boolean");this._isSilent=t}frame(){let{frames:t}=this.spinner,r=t[this.frameIndex];this.color&&(r=Cen[this.color](r)),this.frameIndex=++this.frameIndex%t.length;let n=typeof this.prefixText=="string"&&this.prefixText!==""?this.prefixText+" ":"",i=typeof this.text=="string"?" "+this.text:"";return n+r+i}clear(){if(!this.isEnabled||!this.stream.isTTY)return this;for(let t=0;t0&&this.stream.moveCursor(0,-1),this.stream.clearLine(),this.stream.cursorTo(this.indent);return this.linesToClear=0,this}render(){return this.isSilent?this:(this.clear(),this.stream.write(this.frame()),this.linesToClear=this.lineCount,this)}start(t){return t&&(this.text=t),this.isSilent?this:this.isEnabled?this.isSpinning?this:(this.hideCursor&&QVt.hide(this.stream),this.discardStdin&&process.stdin.isTTY&&(this.isDiscardingStdin=!0,eqe.start()),this.render(),this.id=setInterval(this.render.bind(this),this.interval),this):(this.text&&this.stream.write(`- ${this.text} +`),this)}stop(){return this.isEnabled?(clearInterval(this.id),this.id=void 0,this.frameIndex=0,this.clear(),this.hideCursor&&QVt.show(this.stream),this.discardStdin&&process.stdin.isTTY&&this.isDiscardingStdin&&(eqe.stop(),this.isDiscardingStdin=!1),this):this}succeed(t){return this.stopAndPersist({symbol:Z6e.success,text:t})}fail(t){return this.stopAndPersist({symbol:Z6e.error,text:t})}warn(t){return this.stopAndPersist({symbol:Z6e.warning,text:t})}info(t){return this.stopAndPersist({symbol:Z6e.info,text:t})}stopAndPersist(t={}){if(this.isSilent)return this;let r=t.prefixText||this.prefixText,n=t.text||this.text,i=typeof n=="string"?" "+n:"";return this.stop(),this.stream.write(`${this.getFullPrefixText(r," ")}${t.symbol||" "}${i} +`),this}},Den=function(e){return new tqe(e)};ryt.exports=Den;ryt.exports.promise=(e,t)=>{if(typeof e.then!="function")throw new TypeError("Parameter `action` must be a Promise");let r=new tqe(t);return r.start(),(async()=>{try{await e,r.succeed()}catch{r.fail()}})(),r}});var qie=Le((RTi,jVt)=>{jVt.exports=function(e,t,r,n,i){this.confidence=r,this.name=n||t.name(e),this.lang=i}});var XVt=Le((uTi,JVt)=>{var Pen=qie();JVt.exports=function(){this.name=function(){return"UTF-8"},this.match=function(e){var t=!1,r=0,n=0,i=e.fRawInput,s=0,R;e.fRawLength>=3&&(i[0]&255)==239&&(i[1]&255)==187&&(i[2]&255)==191&&(t=!0);for(var l=0;l5)break;s=0}for(;l++,!(l>=e.fRawLength);){if((i[l]&192)!=128){n++;break}if(--s==0){r++;break}}}}if(R=0,t&&n==0)R=100;else if(t&&r>n*10)R=80;else if(r>3&&n==0)R=100;else if(r>0&&n==0)R=80;else if(r==0&&n==0)R=10;else if(r>n*10)R=25;else return null;return new Pen(e,this,R)}}});var ejt=Le((lTi,QJ)=>{"use strict";var ZVt=Li("util"),oyt=qie();QJ.exports.UTF_16BE=function(){this.name=function(){return"UTF-16BE"},this.match=function(e){var t=e.fRawInput;return t.length>=2&&(t[0]&255)==254&&(t[1]&255)==255?new oyt(e,this,100):null}};QJ.exports.UTF_16LE=function(){this.name=function(){return"UTF-16LE"},this.match=function(e){var t=e.fRawInput;return t.length>=2&&(t[0]&255)==255&&(t[1]&255)==254?t.length>=4&&t[2]==0&&t[3]==0?null:new oyt(e,this,100):null}};function Ryt(){}Ryt.prototype.match=function(e){var t=e.fRawInput,r=e.fRawLength/4*4,n=0,i=0,s=!1,R=0;if(r==0)return null;this.getChar(t,0)==65279&&(s=!0);for(var l=0;l=1114111||c>=55296&&c<=57343?i+=1:n+=1}return s&&i==0?R=100:s&&n>i*10?R=80:n>3&&i==0?R=100:n>0&&i==0?R=80:n>i*10&&(R=25),R==0?null:new oyt(e,this,R)};QJ.exports.UTF_32BE=function(){this.name=function(){return"UTF-32BE"},this.getChar=function(e,t){return(e[t+0]&255)<<24|(e[t+1]&255)<<16|(e[t+2]&255)<<8|e[t+3]&255}};ZVt.inherits(QJ.exports.UTF_32BE,Ryt);QJ.exports.UTF_32LE=function(){this.name=function(){return"UTF-32LE"},this.getChar=function(e,t){return(e[t+3]&255)<<24|(e[t+2]&255)<<16|(e[t+1]&255)<<8|e[t+0]&255}};ZVt.inherits(QJ.exports.UTF_32LE,Ryt)});var rjt=Le((cTi,jE)=>{var F_e=Li("util"),Ben=qie();function Ien(e,t){function r(n,i,s,R){if(R>>1);return i>n[l]?r(n,i,l+1,R):i=e.fRawLength)return this.done=!0,-1;var t=e.fRawInput[this.nextIndex++]&255;return t}}function NJ(){}NJ.prototype.match=function(e){var t=0,r=0,n=0,i=0,s=0,R=0,l=new Men;e:{for(l.reset();this.nextChar(l,e);){if(s++,l.error)i++;else{var c=l.charValue&4294967295;c<=255?t++:(r++,this.commonChars!=null&&Ien(this.commonChars,c)>=0&&n++)}if(i>=2&&i*5>=r)break e}if(r<=10&&i==0){r==0&&s<10?R=0:R=10;break e}if(r<20*i){R=0;break e}if(this.commonChars==null)R=30+r-20*i,R>100&&(R=100);else{var h=Math.log(parseFloat(r)/4),_=90/h;R=Math.floor(Math.log(n+1)*_+10),R=Math.min(R,100)}}return R==0?null:new Ben(e,this,R)};NJ.prototype.nextChar=function(e,t){};jE.exports.sjis=function(){this.name=function(){return"Shift-JIS"},this.language=function(){return"ja"},this.commonChars=[33088,33089,33090,33093,33115,33129,33130,33141,33142,33440,33442,33444,33449,33450,33451,33453,33455,33457,33459,33461,33463,33469,33470,33473,33476,33477,33478,33480,33481,33484,33485,33500,33504,33511,33512,33513,33514,33520,33521,33601,33603,33614,33615,33624,33630,33634,33639,33653,33654,33673,33674,33675,33677,33683,36502,37882,38314],this.nextChar=function(e,t){e.index=e.nextIndex,e.error=!1;var r;if(r=e.charValue=e.nextByte(t),r<0)return!1;if(r<=127||r>160&&r<=223)return!0;var n=e.nextByte(t);return n<0?!1:(e.charValue=r<<8|n,n>=64&&n<=127||n>=128&&n<=255||(e.error=!0),!0)}};F_e.inherits(jE.exports.sjis,NJ);jE.exports.big5=function(){this.name=function(){return"Big5"},this.language=function(){return"zh"},this.commonChars=[41280,41281,41282,41283,41287,41289,41333,41334,42048,42054,42055,42056,42065,42068,42071,42084,42090,42092,42103,42147,42148,42151,42177,42190,42193,42207,42216,42237,42304,42312,42328,42345,42445,42471,42583,42593,42594,42600,42608,42664,42675,42681,42707,42715,42726,42738,42816,42833,42841,42970,43171,43173,43181,43217,43219,43236,43260,43456,43474,43507,43627,43706,43710,43724,43772,44103,44111,44208,44242,44377,44745,45024,45290,45423,45747,45764,45935,46156,46158,46412,46501,46525,46544,46552,46705,47085,47207,47428,47832,47940,48033,48593,49860,50105,50240,50271],this.nextChar=function(e,t){e.index=e.nextIndex,e.error=!1;var r=e.charValue=e.nextByte(t);if(r<0)return!1;if(r<=127||r==255)return!0;var n=e.nextByte(t);return n<0?!1:(e.charValue=e.charValue<<8|n,(n<64||n==127||n==255)&&(e.error=!0),!0)}};F_e.inherits(jE.exports.big5,NJ);function tjt(e,t){e.index=e.nextIndex,e.error=!1;var r=0,n=0,i=0;e:{if(r=e.charValue=e.nextByte(t),r<0){e.done=!0;break e}if(r<=141)break e;if(n=e.nextByte(t),e.charValue=e.charValue<<8|n,r>=161&&r<=254){n<161&&(e.error=!0);break e}if(r==142){n<161&&(e.error=!0);break e}r==143&&(i=e.nextByte(t),e.charValue=e.charValue<<8|i,i<161&&(e.error=!0))}return e.done==!1}jE.exports.euc_jp=function(){this.name=function(){return"EUC-JP"},this.language=function(){return"ja"},this.commonChars=[41377,41378,41379,41382,41404,41418,41419,41430,41431,42146,42148,42150,42152,42154,42155,42156,42157,42159,42161,42163,42165,42167,42169,42171,42173,42175,42176,42177,42179,42180,42182,42183,42184,42185,42186,42187,42190,42191,42192,42206,42207,42209,42210,42212,42216,42217,42218,42219,42220,42223,42226,42227,42402,42403,42404,42406,42407,42410,42413,42415,42416,42419,42421,42423,42424,42425,42431,42435,42438,42439,42440,42441,42443,42448,42453,42454,42455,42462,42464,42465,42469,42473,42474,42475,42476,42477,42483,47273,47572,47854,48072,48880,49079,50410,50940,51133,51896,51955,52188,52689],this.nextChar=tjt};F_e.inherits(jE.exports.euc_jp,NJ);jE.exports.euc_kr=function(){this.name=function(){return"EUC-KR"},this.language=function(){return"ko"},this.commonChars=[45217,45235,45253,45261,45268,45286,45293,45304,45306,45308,45496,45497,45511,45527,45538,45994,46011,46274,46287,46297,46315,46501,46517,46527,46535,46569,46835,47023,47042,47054,47270,47278,47286,47288,47291,47337,47531,47534,47564,47566,47613,47800,47822,47824,47857,48103,48115,48125,48301,48314,48338,48374,48570,48576,48579,48581,48838,48840,48863,48878,48888,48890,49057,49065,49088,49124,49131,49132,49144,49319,49327,49336,49338,49339,49341,49351,49356,49358,49359,49366,49370,49381,49403,49404,49572,49574,49590,49622,49631,49654,49656,50337,50637,50862,51151,51153,51154,51160,51173,51373],this.nextChar=tjt};F_e.inherits(jE.exports.euc_kr,NJ);jE.exports.gb_18030=function(){this.name=function(){return"GB18030"},this.language=function(){return"zh"},this.nextChar=function(e,t){e.index=e.nextIndex,e.error=!1;var r=0,n=0,i=0,s=0;e:{if(r=e.charValue=e.nextByte(t),r<0){e.done=!0;break e}if(r<=128)break e;if(n=e.nextByte(t),e.charValue=e.charValue<<8|n,r>=129&&r<=254){if(n>=64&&n<=126||n>=80&&n<=254)break e;if(n>=48&&n<=57&&(i=e.nextByte(t),i>=129&&i<=254&&(s=e.nextByte(t),s>=48&&s<=57))){e.charValue=e.charValue<<16|i<<8|s;break e}e.error=!0;break e}}return e.done==!1},this.commonChars=[41377,41378,41379,41380,41392,41393,41457,41459,41889,41900,41914,45480,45496,45502,45755,46025,46070,46323,46525,46532,46563,46767,46804,46816,47010,47016,47037,47062,47069,47284,47327,47350,47531,47561,47576,47610,47613,47821,48039,48086,48097,48122,48316,48347,48382,48588,48845,48861,49076,49094,49097,49332,49389,49611,49883,50119,50396,50410,50636,50935,51192,51371,51403,51413,51431,51663,51706,51889,51893,51911,51920,51926,51957,51965,52460,52728,52906,52932,52946,52965,53173,53186,53206,53442,53445,53456,53460,53671,53930,53938,53941,53947,53972,54211,54224,54269,54466,54490,54754,54992]};F_e.inherits(jE.exports.gb_18030,NJ)});var ajt=Le((TTi,zd)=>{var TD=Li("util"),njt=qie();function ijt(e,t){var r=16777215;this.byteIndex=0,this.ngram=0,this.ngramList=e,this.byteMap=t,this.ngramCount=0,this.hitCount=0,this.spaceChar,this.search=function(n,i){var s=0;return n[s+32]<=i&&(s+=32),n[s+16]<=i&&(s+=16),n[s+8]<=i&&(s+=8),n[s+4]<=i&&(s+=4),n[s+2]<=i&&(s+=2),n[s+1]<=i&&(s+=1),n[s]>i&&(s-=1),s<0||n[s]!=i?-1:s},this.lookup=function(n){this.ngramCount+=1,this.search(this.ngramList,n)>=0&&(this.hitCount+=1)},this.addByte=function(n){this.ngram=(this.ngram<<8)+(n&255)&r,this.lookup(this.ngram)},this.nextByte=function(n){return this.byteIndex>=n.fInputLen?-1:n.fInputBytes[this.byteIndex++]&255},this.parse=function(n,i){var s,R=!1;for(this.spaceChar=i;(s=this.nextByte(n))>=0;){var l=this.byteMap[s];l!=0&&(l==this.spaceChar&&R||this.addByte(l),R=l==this.spaceChar)}this.addByte(this.spaceChar);var c=this.hitCount/this.ngramCount;return c>.33?98:Math.floor(c*300)}}function Fm(e,t){this.fLang=e,this.fNGrams=t}function wC(){}wC.prototype.spaceChar=32;wC.prototype.ngrams=function(){};wC.prototype.byteMap=function(){};wC.prototype.match=function(e){var t=this.ngrams(),r=Array.isArray(t)&&t[0]instanceof Fm;if(!r){var n=new ijt(t,this.byteMap()),i=n.parse(e,this.spaceChar);return i<=0?null:new njt(e,this,i)}for(var s=-1,R=null,l=t.length-1;l>=0;l--){var c=t[l],n=new ijt(c.fNGrams,this.byteMap()),i=n.parse(e,this.spaceChar);i>s&&(s=i,R=c.fLang)}var h=this.name(e);return s<=0?null:new njt(e,this,s,h,R)};zd.exports.ISO_8859_1=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,170,32,32,32,32,32,32,32,32,32,32,181,32,32,32,32,186,32,32,32,32,32,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,32,248,249,250,251,252,253,254,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,32,248,249,250,251,252,253,254,255]},this.ngrams=function(){return[new Fm("da",[2122086,2122100,2122853,2123118,2123122,2123375,2123873,2124064,2125157,2125671,2126053,2126697,2126708,2126953,2127465,6383136,6385184,6385252,6386208,6386720,6579488,6579566,6579570,6579572,6627443,6644768,6644837,6647328,6647396,6648352,6648421,6648608,6648864,6713202,6776096,6776174,6776178,6907749,6908960,6909543,7038240,7039845,7103858,7104871,7105637,7169380,7234661,7234848,7235360,7235429,7300896,7302432,7303712,7398688,7479396,7479397,7479411,7496992,7566437,7610483,7628064,7628146,7629164,7759218]),new Fm("de",[2122094,2122101,2122341,2122849,2122853,2122857,2123113,2123621,2123873,2124142,2125161,2126691,2126693,2127214,2127461,2127471,2127717,2128501,6448498,6514720,6514789,6514804,6578547,6579566,6579570,6580581,6627428,6627443,6646126,6646132,6647328,6648352,6648608,6776174,6841710,6845472,6906728,6907168,6909472,6909541,6911008,7104867,7105637,7217249,7217252,7217267,7234592,7234661,7234848,7235360,7235429,7238757,7479396,7496805,7497065,7562088,7566437,7610468,7628064,7628142,7628146,7695972,7695975,7759218]),new Fm("en",[2122016,2122094,2122341,2122607,2123375,2123873,2123877,2124142,2125153,2125670,2125938,2126437,2126689,2126708,2126952,2126959,2127720,6383972,6384672,6385184,6385252,6386464,6386720,6386789,6386793,6561889,6561908,6627425,6627443,6627444,6644768,6647412,6648352,6648608,6713202,6840692,6841632,6841714,6906912,6909472,6909543,6909806,6910752,7217249,7217268,7234592,7235360,7238688,7300640,7302688,7303712,7496992,7500576,7544929,7544948,7561577,7566368,7610484,7628146,7628897,7628901,7629167,7630624,7631648]),new Fm("es",[2122016,2122593,2122607,2122853,2123116,2123118,2123123,2124142,2124897,2124911,2125921,2125935,2125938,2126197,2126437,2126693,2127214,2128160,6365283,6365284,6365285,6365292,6365296,6382441,6382703,6384672,6386208,6386464,6515187,6516590,6579488,6579564,6582048,6627428,6627429,6627436,6646816,6647328,6647412,6648608,6648692,6907246,6943598,7102752,7106419,7217253,7238757,7282788,7282789,7302688,7303712,7303968,7364978,7435621,7495968,7497075,7544932,7544933,7544944,7562528,7628064,7630624,7693600,15953440]),new Fm("fr",[2122101,2122607,2122849,2122853,2122869,2123118,2123124,2124897,2124901,2125921,2125935,2125938,2126197,2126693,2126703,2127214,2154528,6385268,6386793,6513952,6516590,6579488,6579571,6583584,6627425,6627427,6627428,6627429,6627436,6627440,6627443,6647328,6647412,6648352,6648608,6648864,6649202,6909806,6910752,6911008,7102752,7103776,7103859,7169390,7217252,7234848,7238432,7238688,7302688,7302772,7304562,7435621,7479404,7496992,7544929,7544932,7544933,7544940,7544944,7610468,7628064,7629167,7693600,7696928]),new Fm("it",[2122092,2122600,2122607,2122853,2122857,2123040,2124140,2124142,2124897,2125925,2125938,2127214,6365283,6365284,6365296,6365299,6386799,6514789,6516590,6579564,6580512,6627425,6627427,6627428,6627433,6627436,6627440,6627443,6646816,6646892,6647412,6648352,6841632,6889569,6889571,6889572,6889587,6906144,6908960,6909472,6909806,7102752,7103776,7104800,7105633,7234848,7235872,7237408,7238757,7282785,7282788,7282793,7282803,7302688,7302757,7366002,7495968,7496992,7563552,7627040,7628064,7629088,7630624,8022383]),new Fm("nl",[2122092,2122341,2122849,2122853,2122857,2123109,2123118,2123621,2123877,2124142,2125153,2125157,2125680,2126949,2127457,2127461,2127471,2127717,2128489,6381934,6381938,6385184,6385252,6386208,6386720,6514804,6579488,6579566,6579570,6627426,6627446,6645102,6645106,6647328,6648352,6648435,6648864,6776174,6841716,6907168,6909472,6909543,6910752,7217250,7217252,7217253,7217256,7217263,7217270,7234661,7235360,7302756,7303026,7303200,7303712,7562088,7566437,7610468,7628064,7628142,7628146,7758190,7759218,7761775]),new Fm("no",[2122100,2122102,2122853,2123118,2123122,2123375,2123873,2124064,2125157,2125671,2126053,2126693,2126699,2126703,2126708,2126953,2127465,2155808,6385252,6386208,6386720,6579488,6579566,6579572,6627443,6644768,6647328,6647397,6648352,6648421,6648864,6648948,6713202,6776174,6908779,6908960,6909543,7038240,7039845,7103776,7105637,7169380,7169390,7217267,7234848,7235360,7235429,7237221,7300896,7302432,7303712,7398688,7479411,7496992,7565165,7566437,7610483,7628064,7628142,7628146,7629164,7631904,7631973,7759218]),new Fm("pt",[2122016,2122607,2122849,2122853,2122863,2123040,2123123,2125153,2125423,2125600,2125921,2125935,2125938,2126197,2126437,2126693,2127213,6365281,6365283,6365284,6365296,6382693,6382703,6384672,6386208,6386273,6386464,6516589,6516590,6578464,6579488,6582048,6582131,6627425,6627428,6647072,6647412,6648608,6648692,6906144,6906721,7169390,7238757,7238767,7282785,7282787,7282788,7282789,7282800,7303968,7364978,7435621,7495968,7497075,7544929,7544932,7544933,7544944,7566433,7628064,7630624,7693600,14905120,15197039]),new Fm("sv",[2122100,2122102,2122853,2123118,2123510,2123873,2124064,2124142,2124655,2125157,2125667,2126053,2126699,2126703,2126708,2126953,2127457,2127465,2155634,6382693,6385184,6385252,6386208,6386804,6514720,6579488,6579566,6579570,6579572,6644768,6647328,6648352,6648864,6747762,6776174,6909036,6909543,7037216,7105568,7169380,7217267,7233824,7234661,7235360,7235429,7235950,7299944,7302432,7302688,7398688,7479393,7479411,7495968,7564129,7565165,7610483,7627040,7628064,7628146,7629164,7631904,7758194,14971424,16151072])]},this.name=function(e){return e&&e.fC1Bytes?"windows-1252":"ISO-8859-1"}};TD.inherits(zd.exports.ISO_8859_1,wC);zd.exports.ISO_8859_2=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,177,32,179,32,181,182,32,32,185,186,187,188,32,190,191,32,177,32,179,32,181,182,183,32,185,186,187,188,32,190,191,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,32,248,249,250,251,252,253,254,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,32,248,249,250,251,252,253,254,32]},this.ngrams=function(){return[new Fm("cs",[2122016,2122361,2122863,2124389,2125409,2125413,2125600,2125668,2125935,2125938,2126072,2126447,2126693,2126703,2126708,2126959,2127392,2127481,2128481,6365296,6513952,6514720,6627440,6627443,6627446,6647072,6647533,6844192,6844260,6910836,6972704,7042149,7103776,7104800,7233824,7268640,7269408,7269664,7282800,7300206,7301737,7304052,7304480,7304801,7368548,7368554,7369327,7403621,7562528,7565173,7566433,7566441,7566446,7628146,7630573,7630624,7676016,12477728,14773997,15296623,15540336,15540339,15559968,16278884]),new Fm("hu",[2122016,2122106,2122341,2123111,2123116,2123365,2123873,2123887,2124147,2124645,2124649,2124790,2124901,2125153,2125157,2125161,2125413,2126714,2126949,2156915,6365281,6365291,6365293,6365299,6384416,6385184,6388256,6447470,6448494,6645625,6646560,6646816,6646885,6647072,6647328,6648421,6648864,6648933,6648948,6781216,6844263,6909556,6910752,7020641,7075450,7169383,7170414,7217249,7233899,7234923,7234925,7238688,7300985,7544929,7567973,7567988,7568097,7596391,7610465,7631904,7659891,8021362,14773792,15299360]),new Fm("pl",[2122618,2122863,2124064,2124389,2124655,2125153,2125161,2125409,2125417,2125668,2125935,2125938,2126697,2127648,2127721,2127737,2128416,2128481,6365296,6365303,6385257,6514720,6519397,6519417,6582048,6584937,6627440,6627443,6627447,6627450,6645615,6646304,6647072,6647401,6778656,6906144,6907168,6907242,7037216,7039264,7039333,7170405,7233824,7235937,7235941,7282800,7305057,7305065,7368556,7369313,7369327,7369338,7502437,7502457,7563754,7564137,7566433,7825765,7955304,7957792,8021280,8022373,8026400,15955744]),new Fm("ro",[2122016,2122083,2122593,2122597,2122607,2122613,2122853,2122857,2124897,2125153,2125925,2125938,2126693,2126819,2127214,2144873,2158190,6365283,6365284,6386277,6386720,6386789,6386976,6513010,6516590,6518048,6546208,6579488,6627425,6627427,6627428,6627440,6627443,6644e3,6646048,6646885,6647412,6648692,6889569,6889571,6889572,6889584,6907168,6908192,6909472,7102752,7103776,7106418,7107945,7234848,7238770,7303712,7365998,7496992,7497057,7501088,7594784,7628064,7631477,7660320,7694624,7695392,12216608,15625760])]},this.name=function(e){return e&&e.fC1Bytes?"windows-1250":"ISO-8859-2"}};TD.inherits(zd.exports.ISO_8859_2,wC);zd.exports.ISO_8859_5=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,241,242,243,244,245,246,247,248,249,250,251,252,32,254,255,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,32,241,242,243,244,245,246,247,248,249,250,251,252,32,254,255]},this.ngrams=function(){return[2150944,2151134,2151646,2152400,2152480,2153168,2153182,2153936,2153941,2154193,2154462,2154464,2154704,2154974,2154978,2155230,2156514,2158050,13688280,13689580,13884960,14015468,14015960,14016994,14017056,14164191,14210336,14211104,14216992,14407133,14407712,14413021,14536736,14538016,14538965,14538991,14540320,14540498,14557394,14557407,14557409,14602784,14602960,14603230,14604576,14605292,14605344,14606818,14671579,14672085,14672088,14672094,14733522,14734804,14803664,14803666,14803672,14806816,14865883,14868e3,14868192,14871584,15196894,15459616]},this.name=function(e){return"ISO-8859-5"},this.language=function(){return"ru"}};TD.inherits(zd.exports.ISO_8859_5,wC);zd.exports.ISO_8859_6=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,32,32,32,32,32,224,225,226,227,228,229,230,231,232,233,234,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32]},this.ngrams=function(){return[2148324,2148326,2148551,2152932,2154986,2155748,2156006,2156743,13050055,13091104,13093408,13095200,13100064,13100227,13100231,13100232,13100234,13100236,13100237,13100239,13100243,13100249,13100258,13100261,13100264,13100266,13100320,13100576,13100746,13115591,13181127,13181153,13181156,13181157,13181160,13246663,13574343,13617440,13705415,13748512,13836487,14229703,14279913,14805536,14950599,14993696,15001888,15002144,15016135,15058720,15059232,15066656,15081671,15147207,15189792,15255524,15263264,15278279,15343815,15343845,15343848,15386912,15388960,15394336]},this.name=function(e){return"ISO-8859-6"},this.language=function(){return"ar"}};TD.inherits(zd.exports.ISO_8859_6,wC);zd.exports.ISO_8859_7=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,161,162,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,220,32,221,222,223,32,252,32,253,254,192,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,32,243,244,245,246,247,248,249,250,251,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,32]},this.ngrams=function(){return[2154989,2154992,2155497,2155753,2156016,2156320,2157281,2157797,2158049,2158368,2158817,2158831,2158833,2159604,2159605,2159847,2159855,14672160,14754017,14754036,14805280,14806304,14807292,14807584,14936545,15067424,15069728,15147252,15199520,15200800,15278324,15327520,15330014,15331872,15393257,15393268,15525152,15540449,15540453,15540464,15589664,15725088,15725856,15790069,15790575,15793184,15868129,15868133,15868138,15868144,15868148,15983904,15984416,15987951,16048416,16048617,16050157,16050162,16050666,16052e3,16052213,16054765,16379168,16706848]},this.name=function(e){return e&&e.fC1Bytes?"windows-1253":"ISO-8859-7"},this.language=function(){return"el"}};TD.inherits(zd.exports.ISO_8859_7,wC);zd.exports.ISO_8859_8=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,181,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,32,32,32,32,32]},this.ngrams=function(){return[new Fm("he",[2154725,2154727,2154729,2154746,2154985,2154990,2155744,2155749,2155753,2155758,2155762,2155769,2155770,2157792,2157796,2158304,2159340,2161132,14744096,14950624,14950625,14950628,14950636,14950638,14950649,15001056,15065120,15068448,15068960,15071264,15071776,15278308,15328288,15328762,15329773,15330592,15331104,15333408,15333920,15474912,15474916,15523872,15524896,15540448,15540449,15540452,15540460,15540462,15540473,15655968,15671524,15787040,15788320,15788525,15920160,16261348,16312813,16378912,16392416,16392417,16392420,16392428,16392430,16392441]),new Fm("he",[2154725,2154732,2155753,2155756,2155758,2155760,2157040,2157810,2157817,2158053,2158057,2158565,2158569,2160869,2160873,2161376,2161381,2161385,14688484,14688492,14688493,14688506,14738464,14738916,14740512,14741024,14754020,14754029,14754042,14950628,14950633,14950636,14950637,14950639,14950648,14950650,15002656,15065120,15066144,15196192,15327264,15327520,15328288,15474916,15474925,15474938,15528480,15530272,15591913,15591920,15591928,15605988,15605997,15606010,15655200,15655968,15918112,16326884,16326893,16326906,16376864,16441376,16442400,16442857])]},this.name=function(e){return e&&e.fC1Bytes?"windows-1255":"ISO-8859-8"},this.language=function(){return"he"}};TD.inherits(zd.exports.ISO_8859_8,wC);zd.exports.ISO_8859_9=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,170,32,32,32,32,32,32,32,32,32,32,181,32,32,32,32,186,32,32,32,32,32,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,32,248,249,250,251,252,105,254,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,32,248,249,250,251,252,253,254,255]},this.ngrams=function(){return[2122337,2122345,2122357,2122849,2122853,2123621,2123873,2124140,2124641,2124655,2125153,2125676,2126689,2126945,2127461,2128225,6365282,6384416,6384737,6384993,6385184,6385405,6386208,6386273,6386429,6386685,6388065,6449522,6578464,6579488,6580512,6627426,6627435,6644841,6647328,6648352,6648425,6648681,6909029,6909472,6909545,6910496,7102830,7102834,7103776,7103858,7217249,7217250,7217259,7234657,7234661,7234848,7235872,7235950,7273760,7498094,7535982,7759136,7954720,7958386,16608800,16608868,16609021,16642301]},this.name=function(e){return e&&e.fC1Bytes?"windows-1254":"ISO-8859-9"},this.language=function(){return"tr"}};TD.inherits(zd.exports.ISO_8859_9,wC);zd.exports.windows_1251=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,144,131,32,131,32,32,32,32,32,32,154,32,156,157,158,159,144,32,32,32,32,32,32,32,32,32,154,32,156,157,158,159,32,162,162,188,32,180,32,32,184,32,186,32,32,32,32,191,32,32,179,179,180,181,32,32,184,32,186,32,188,190,190,191,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255]},this.ngrams=function(){return[2155040,2155246,2155758,2156512,2156576,2157280,2157294,2158048,2158053,2158305,2158574,2158576,2158816,2159086,2159090,2159342,2160626,2162162,14740968,14742268,14937632,15068156,15068648,15069682,15069728,15212783,15263008,15263776,15269664,15459821,15460384,15465709,15589408,15590688,15591653,15591679,15592992,15593186,15605986,15605999,15606001,15655456,15655648,15655918,15657248,15657980,15658016,15659506,15724267,15724773,15724776,15724782,15786210,15787492,15856352,15856354,15856360,15859488,15918571,15920672,15920880,15924256,16249582,16512288]},this.name=function(e){return"windows-1251"},this.language=function(){return"ru"}};TD.inherits(zd.exports.windows_1251,wC);zd.exports.windows_1256=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,129,32,131,32,32,32,32,136,32,138,32,156,141,142,143,144,32,32,32,32,32,32,32,152,32,154,32,156,32,32,159,32,32,32,32,32,32,32,32,32,32,170,32,32,32,32,32,32,32,32,32,32,181,32,32,32,32,32,32,32,32,32,32,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,32,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,32,32,32,32,244,32,32,32,32,249,32,251,252,32,32,255]},this.ngrams=function(){return[2148321,2148324,2148551,2153185,2153965,2154977,2155492,2156231,13050055,13091104,13093408,13095200,13099296,13099459,13099463,13099464,13099466,13099468,13099469,13099471,13099475,13099482,13099486,13099491,13099494,13099501,13099808,13100064,13100234,13115591,13181127,13181149,13181153,13181155,13181158,13246663,13574343,13617440,13705415,13748512,13836487,14295239,14344684,14544160,14753991,14797088,14806048,14806304,14885063,14927648,14928160,14935072,14950599,15016135,15058720,15124449,15131680,15474887,15540423,15540451,15540454,15583520,15585568,15590432]},this.name=function(e){return"windows-1256"},this.language=function(){return"ar"}};TD.inherits(zd.exports.windows_1256,wC);zd.exports.KOI8_R=function(){this.byteMap=function(){return[32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,0,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,163,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,163,32,32,32,32,32,32,32,32,32,32,32,32,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223]},this.ngrams=function(){return[2147535,2148640,2149313,2149327,2150081,2150085,2150338,2150607,2150610,2151105,2151375,2151380,2151631,2152224,2152399,2153153,2153684,2154196,12701385,12702936,12963032,12963529,12964820,12964896,13094688,13181136,13223200,13224224,13226272,13419982,13420832,13424846,13549856,13550880,13552069,13552081,13553440,13553623,13574352,13574355,13574359,13617103,13617696,13618392,13618464,13620180,13621024,13621185,13684684,13685445,13685449,13685455,13812183,13813188,13881632,13882561,13882569,13882583,13944268,13946656,13946834,13948960,14272544,14603471]},this.name=function(e){return"KOI8-R"},this.language=function(){return"ru"}};TD.inherits(zd.exports.KOI8_R,wC)});var sjt=Le((pTi,wJ)=>{var uyt=Li("util"),Wen=qie();function uqe(){}uqe.prototype.match=function(e){var t,r,n,i=0,s=0,R=0,l,c=e.fInputBytes,h=e.fInputLen;e:for(t=0;t{var LM=Li("fs"),Uen=XVt(),lqe=ejt(),L_e=rjt(),pD=ajt(),lyt=sjt(),Cie=ojt,Fen=[new Uen,new lqe.UTF_16BE,new lqe.UTF_16LE,new lqe.UTF_32BE,new lqe.UTF_32LE,new L_e.sjis,new L_e.big5,new L_e.euc_jp,new L_e.euc_kr,new L_e.gb_18030,new lyt.ISO_2022_JP,new lyt.ISO_2022_KR,new lyt.ISO_2022_CN,new pD.ISO_8859_1,new pD.ISO_8859_2,new pD.ISO_8859_5,new pD.ISO_8859_6,new pD.ISO_8859_7,new pD.ISO_8859_8,new pD.ISO_8859_9,new pD.windows_1251,new pD.windows_1256,new pD.KOI8_R];PJ.exports.detect=function(e,t){for(var r=[],n=0;n<256;n++)r[n]=0;for(var n=e.length-1;n>=0;n--)r[e[n]&255]++;for(var i=!1,n=128;n<=159;n+=1)if(r[n]!=0){i=!0;break}var s={fByteStats:r,fC1Bytes:i,fRawInput:e,fRawLength:e.length,fInputBytes:e,fInputLen:e.length},R=Fen.map(function(l){return l.match(s)}).filter(function(l){return!!l}).sort(function(l,c){return c.confidence-l.confidence});return t&&t.returnAllMatches===!0?R:R.length>0?R[0].name:null};PJ.exports.detectFile=function(e,t,r){typeof t=="function"&&(r=t,t=void 0);var n,i=function(s,R){if(n&&LM.closeSync(n),s)return r(s,null);r(null,Cie.detect(R,t))};if(t&&t.sampleSize){n=LM.openSync(e,"r"),sample=Buffer.allocUnsafe(t.sampleSize),LM.read(n,sample,0,t.sampleSize,null,function(s){i(s,sample)});return}LM.readFile(e,i)};PJ.exports.detectFileSync=function(e,t){if(t&&t.sampleSize){var r=LM.openSync(e,"r"),n=Buffer.allocUnsafe(t.sampleSize);return LM.readSync(r,n,0,t.sampleSize),LM.closeSync(r),Cie.detect(n,t)}return Cie.detect(LM.readFileSync(e),t)};PJ.exports.detectAll=function(e,t){return typeof t!="object"&&(t={}),t.returnAllMatches=!0,Cie.detect(e,t)};PJ.exports.detectFileAll=function(e,t,r){typeof t=="function"&&(r=t,t=void 0),typeof t!="object"&&(t={}),t.returnAllMatches=!0,Cie.detectFile(e,t,r)};PJ.exports.detectFileAllSync=function(e,t){return typeof t!="object"&&(t={}),t.returnAllMatches=!0,Cie.detectFileSync(e,t)}});var BJ=Le((_Ti,ujt)=>{"use strict";var cqe=Li("buffer"),Aie=cqe.Buffer,K3={},G3;for(G3 in cqe)cqe.hasOwnProperty(G3)&&(G3==="SlowBuffer"||G3==="Buffer"||(K3[G3]=cqe[G3]));var gie=K3.Buffer={};for(G3 in Aie)Aie.hasOwnProperty(G3)&&(G3==="allocUnsafe"||G3==="allocUnsafeSlow"||(gie[G3]=Aie[G3]));K3.Buffer.prototype=Aie.prototype;(!gie.from||gie.from===Uint8Array.from)&&(gie.from=function(e,t,r){if(typeof e=="number")throw new TypeError('The "value" argument must not be of type number. Received type '+typeof e);if(e&&typeof e.length>"u")throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof e);return Aie(e,t,r)});gie.alloc||(gie.alloc=function(e,t,r){if(typeof e!="number")throw new TypeError('The "size" argument must be of type number. Received type '+typeof e);if(e<0||e>=2*(1<<30))throw new RangeError('The value "'+e+'" is invalid for option "size"');var n=Aie(e);return!t||t.length===0?n.fill(0):typeof r=="string"?n.fill(t,r):n.fill(t),n});if(!K3.kStringMaxLength)try{K3.kStringMaxLength=process.binding("buffer").kStringMaxLength}catch{}K3.constants||(K3.constants={MAX_LENGTH:K3.kMaxLength},K3.kStringMaxLength&&(K3.constants.MAX_STRING_LENGTH=K3.kStringMaxLength));ujt.exports=K3});var cjt=Le(pyt=>{"use strict";var ljt="\uFEFF";pyt.PrependBOM=cyt;function cyt(e,t){this.encoder=e,this.addBOM=!0}cyt.prototype.write=function(e){return this.addBOM&&(e=ljt+e,this.addBOM=!1),this.encoder.write(e)};cyt.prototype.end=function(){return this.encoder.end()};pyt.StripBOM=Tyt;function Tyt(e,t){this.decoder=e,this.pass=!1,this.options=t||{}}Tyt.prototype.write=function(e){var t=this.decoder.write(e);return this.pass||!t||(t[0]===ljt&&(t=t.slice(1),typeof this.options.stripBOM=="function"&&this.options.stripBOM()),this.pass=!0),t};Tyt.prototype.end=function(){return this.decoder.end()}});var _jt=Le((fTi,pjt)=>{"use strict";var z_e=BJ().Buffer;pjt.exports={utf8:{type:"_internal",bomAware:!0},cesu8:{type:"_internal",bomAware:!0},unicode11utf8:"utf8",ucs2:{type:"_internal",bomAware:!0},utf16le:"ucs2",binary:{type:"_internal"},base64:{type:"_internal"},hex:{type:"_internal"},_internal:_yt};function _yt(e,t){this.enc=e.encodingName,this.bomAware=e.bomAware,this.enc==="base64"?this.encoder=fyt:this.enc==="cesu8"&&(this.enc="utf8",this.encoder=dyt,z_e.from("eda0bdedb2a9","hex").toString()!=="\u{1F4A9}"&&(this.decoder=xyt,this.defaultCharUnicode=t.defaultCharUnicode))}_yt.prototype.encoder=hyt;_yt.prototype.decoder=Tjt;var Tqe=Li("string_decoder").StringDecoder;Tqe.prototype.end||(Tqe.prototype.end=function(){});function Tjt(e,t){Tqe.call(this,t.enc)}Tjt.prototype=Tqe.prototype;function hyt(e,t){this.enc=t.enc}hyt.prototype.write=function(e){return z_e.from(e,this.enc)};hyt.prototype.end=function(){};function fyt(e,t){this.prevStr=""}fyt.prototype.write=function(e){e=this.prevStr+e;var t=e.length-e.length%4;return this.prevStr=e.slice(t),e=e.slice(0,t),z_e.from(e,"base64")};fyt.prototype.end=function(){return z_e.from(this.prevStr,"base64")};function dyt(e,t){}dyt.prototype.write=function(e){for(var t=z_e.alloc(e.length*3),r=0,n=0;n>>6),t[r++]=128+(i&63)):(t[r++]=224+(i>>>12),t[r++]=128+(i>>>6&63),t[r++]=128+(i&63))}return t.slice(0,r)};dyt.prototype.end=function(){};function xyt(e,t){this.acc=0,this.contBytes=0,this.accBytes=0,this.defaultCharUnicode=t.defaultCharUnicode}xyt.prototype.write=function(e){for(var t=this.acc,r=this.contBytes,n=this.accBytes,i="",s=0;s0&&(i+=this.defaultCharUnicode,r=0),R<128?i+=String.fromCharCode(R):R<224?(t=R&31,r=1,n=1):R<240?(t=R&15,r=2,n=1):i+=this.defaultCharUnicode):r>0?(t=t<<6|R&63,r--,n++,r===0&&(n===2&&t<128&&t>0?i+=this.defaultCharUnicode:n===3&&t<2048?i+=this.defaultCharUnicode:i+=String.fromCharCode(t))):i+=this.defaultCharUnicode}return this.acc=t,this.contBytes=r,this.accBytes=n,i};xyt.prototype.end=function(){var e=0;return this.contBytes>0&&(e+=this.defaultCharUnicode),e}});var fjt=Le(Ayt=>{"use strict";var pqe=BJ().Buffer;Ayt.utf16be=_qe;function _qe(){}_qe.prototype.encoder=myt;_qe.prototype.decoder=kyt;_qe.prototype.bomAware=!0;function myt(){}myt.prototype.write=function(e){for(var t=pqe.from(e,"ucs2"),r=0;r=2)if(e[0]==254&&e[1]==255)r="utf-16be";else if(e[0]==255&&e[1]==254)r="utf-16le";else{for(var n=0,i=0,s=Math.min(e.length-e.length%2,64),R=0;Rn?r="utf-16be":i{"use strict";var _D=BJ().Buffer;dqe.utf7=hqe;dqe.unicode11utf7="utf7";function hqe(e,t){this.iconv=t}hqe.prototype.encoder=byt;hqe.prototype.decoder=Eyt;hqe.prototype.bomAware=!0;var Len=/[^A-Za-z0-9'\(\),-\.\/:\? \n\r\t]+/g;function byt(e,t){this.iconv=t.iconv}byt.prototype.write=function(e){return _D.from(e.replace(Len,function(t){return"+"+(t==="+"?"":this.iconv.encode(t,"utf16-be").toString("base64").replace(/=+$/,""))+"-"}.bind(this)))};byt.prototype.end=function(){};function Eyt(e,t){this.iconv=t.iconv,this.inBase64=!1,this.base64Accum=""}var zen=/[A-Za-z0-9\/+]/,Oyt=[];for(H_e=0;H_e<256;H_e++)Oyt[H_e]=zen.test(String.fromCharCode(H_e));var H_e,Hen=43,IJ=45,gyt=38;Eyt.prototype.write=function(e){for(var t="",r=0,n=this.inBase64,i=this.base64Accum,s=0;s0&&(e=this.iconv.decode(_D.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",e};dqe.utf7imap=fqe;function fqe(e,t){this.iconv=t}fqe.prototype.encoder=vyt;fqe.prototype.decoder=Dyt;fqe.prototype.bomAware=!0;function vyt(e,t){this.iconv=t.iconv,this.inBase64=!1,this.base64Accum=_D.alloc(6),this.base64AccumIdx=0}vyt.prototype.write=function(e){for(var t=this.inBase64,r=this.base64Accum,n=this.base64AccumIdx,i=_D.alloc(e.length*5+10),s=0,R=0;R0&&(s+=i.write(r.slice(0,n).toString("base64").replace(/\//g,",").replace(/=+$/,""),s),n=0),i[s++]=IJ,t=!1),t||(i[s++]=l,l===gyt&&(i[s++]=IJ))):(t||(i[s++]=gyt,t=!0),t&&(r[n++]=l>>8,r[n++]=l&255,n==r.length&&(s+=i.write(r.toString("base64").replace(/\//g,","),s),n=0)))}return this.inBase64=t,this.base64AccumIdx=n,i.slice(0,s)};vyt.prototype.end=function(){var e=_D.alloc(10),t=0;return this.inBase64&&(this.base64AccumIdx>0&&(t+=e.write(this.base64Accum.slice(0,this.base64AccumIdx).toString("base64").replace(/\//g,",").replace(/=+$/,""),t),this.base64AccumIdx=0),e[t++]=IJ,this.inBase64=!1),e.slice(0,t)};function Dyt(e,t){this.iconv=t.iconv,this.inBase64=!1,this.base64Accum=""}var djt=Oyt.slice();djt[44]=!0;Dyt.prototype.write=function(e){for(var t="",r=0,n=this.inBase64,i=this.base64Accum,s=0;s0&&(e=this.iconv.decode(_D.from(this.base64Accum,"base64"),"utf16-be")),this.inBase64=!1,this.base64Accum="",e}});var kjt=Le(mjt=>{"use strict";var xqe=BJ().Buffer;mjt._sbcs=Syt;function Syt(e,t){if(!e)throw new Error("SBCS codec is called without the data.");if(!e.chars||e.chars.length!==128&&e.chars.length!==256)throw new Error("Encoding '"+e.type+"' has incorrect 'chars' (must be of len 128 or 256)");if(e.chars.length===128){for(var r="",n=0;n<128;n++)r+=String.fromCharCode(n);e.chars=r+e.chars}this.decodeBuf=xqe.from(e.chars,"ucs2");for(var i=xqe.alloc(65536,t.defaultCharSingleByte.charCodeAt(0)),n=0;n{"use strict";yjt.exports={10029:"maccenteuro",maccenteuro:{type:"_sbcs",chars:"\xC4\u0100\u0101\xC9\u0104\xD6\xDC\xE1\u0105\u010C\xE4\u010D\u0106\u0107\xE9\u0179\u017A\u010E\xED\u010F\u0112\u0113\u0116\xF3\u0117\xF4\xF6\xF5\xFA\u011A\u011B\xFC\u2020\xB0\u0118\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\u0119\xA8\u2260\u0123\u012E\u012F\u012A\u2264\u2265\u012B\u0136\u2202\u2211\u0142\u013B\u013C\u013D\u013E\u0139\u013A\u0145\u0146\u0143\xAC\u221A\u0144\u0147\u2206\xAB\xBB\u2026\xA0\u0148\u0150\xD5\u0151\u014C\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\u014D\u0154\u0155\u0158\u2039\u203A\u0159\u0156\u0157\u0160\u201A\u201E\u0161\u015A\u015B\xC1\u0164\u0165\xCD\u017D\u017E\u016A\xD3\xD4\u016B\u016E\xDA\u016F\u0170\u0171\u0172\u0173\xDD\xFD\u0137\u017B\u0141\u017C\u0122\u02C7"},808:"cp808",ibm808:"cp808",cp808:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\u20AC\u25A0\xA0"},mik:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2514\u2534\u252C\u251C\u2500\u253C\u2563\u2551\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2510\u2591\u2592\u2593\u2502\u2524\u2116\xA7\u2557\u255D\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ascii8bit:"ascii",usascii:"ascii",ansix34:"ascii",ansix341968:"ascii",ansix341986:"ascii",csascii:"ascii",cp367:"ascii",ibm367:"ascii",isoir6:"ascii",iso646us:"ascii",iso646irv:"ascii",us:"ascii",latin1:"iso88591",latin2:"iso88592",latin3:"iso88593",latin4:"iso88594",latin5:"iso88599",latin6:"iso885910",latin7:"iso885913",latin8:"iso885914",latin9:"iso885915",latin10:"iso885916",csisolatin1:"iso88591",csisolatin2:"iso88592",csisolatin3:"iso88593",csisolatin4:"iso88594",csisolatincyrillic:"iso88595",csisolatinarabic:"iso88596",csisolatingreek:"iso88597",csisolatinhebrew:"iso88598",csisolatin5:"iso88599",csisolatin6:"iso885910",l1:"iso88591",l2:"iso88592",l3:"iso88593",l4:"iso88594",l5:"iso88599",l6:"iso885910",l7:"iso885913",l8:"iso885914",l9:"iso885915",l10:"iso885916",isoir14:"iso646jp",isoir57:"iso646cn",isoir100:"iso88591",isoir101:"iso88592",isoir109:"iso88593",isoir110:"iso88594",isoir144:"iso88595",isoir127:"iso88596",isoir126:"iso88597",isoir138:"iso88598",isoir148:"iso88599",isoir157:"iso885910",isoir166:"tis620",isoir179:"iso885913",isoir199:"iso885914",isoir203:"iso885915",isoir226:"iso885916",cp819:"iso88591",ibm819:"iso88591",cyrillic:"iso88595",arabic:"iso88596",arabic8:"iso88596",ecma114:"iso88596",asmo708:"iso88596",greek:"iso88597",greek8:"iso88597",ecma118:"iso88597",elot928:"iso88597",hebrew:"iso88598",hebrew8:"iso88598",turkish:"iso88599",turkish8:"iso88599",thai:"iso885911",thai8:"iso885911",celtic:"iso885914",celtic8:"iso885914",isoceltic:"iso885914",tis6200:"tis620",tis62025291:"tis620",tis62025330:"tis620",1e4:"macroman",10006:"macgreek",10007:"maccyrillic",10079:"maciceland",10081:"macturkish",cspc8codepage437:"cp437",cspc775baltic:"cp775",cspc850multilingual:"cp850",cspcp852:"cp852",cspc862latinhebrew:"cp862",cpgr:"cp869",msee:"cp1250",mscyrl:"cp1251",msansi:"cp1252",msgreek:"cp1253",msturk:"cp1254",mshebr:"cp1255",msarab:"cp1256",winbaltrim:"cp1257",cp20866:"koi8r",20866:"koi8r",ibm878:"koi8r",cskoi8r:"koi8r",cp21866:"koi8u",21866:"koi8u",ibm1168:"koi8u",strk10482002:"rk1048",tcvn5712:"tcvn",tcvn57121:"tcvn",gb198880:"iso646cn",cn:"iso646cn",csiso14jisc6220ro:"iso646jp",jisc62201969ro:"iso646jp",jp:"iso646jp",cshproman8:"hproman8",r8:"hproman8",roman8:"hproman8",xroman8:"hproman8",ibm1051:"hproman8",mac:"macintosh",csmacintosh:"macintosh"}});var Ajt=Le((yTi,Cjt)=>{"use strict";Cjt.exports={437:"cp437",737:"cp737",775:"cp775",850:"cp850",852:"cp852",855:"cp855",856:"cp856",857:"cp857",858:"cp858",860:"cp860",861:"cp861",862:"cp862",863:"cp863",864:"cp864",865:"cp865",866:"cp866",869:"cp869",874:"windows874",922:"cp922",1046:"cp1046",1124:"cp1124",1125:"cp1125",1129:"cp1129",1133:"cp1133",1161:"cp1161",1162:"cp1162",1163:"cp1163",1250:"windows1250",1251:"windows1251",1252:"windows1252",1253:"windows1253",1254:"windows1254",1255:"windows1255",1256:"windows1256",1257:"windows1257",1258:"windows1258",28591:"iso88591",28592:"iso88592",28593:"iso88593",28594:"iso88594",28595:"iso88595",28596:"iso88596",28597:"iso88597",28598:"iso88598",28599:"iso88599",28600:"iso885910",28601:"iso885911",28603:"iso885913",28604:"iso885914",28605:"iso885915",28606:"iso885916",windows874:{type:"_sbcs",chars:"\u20AC\uFFFD\uFFFD\uFFFD\uFFFD\u2026\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"},win874:"windows874",cp874:"windows874",windows1250:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\u0160\u2039\u015A\u0164\u017D\u0179\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0161\u203A\u015B\u0165\u017E\u017A\xA0\u02C7\u02D8\u0141\xA4\u0104\xA6\xA7\xA8\xA9\u015E\xAB\xAC\xAD\xAE\u017B\xB0\xB1\u02DB\u0142\xB4\xB5\xB6\xB7\xB8\u0105\u015F\xBB\u013D\u02DD\u013E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9"},win1250:"windows1250",cp1250:"windows1250",windows1251:{type:"_sbcs",chars:"\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u040C\u040B\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u045C\u045B\u045F\xA0\u040E\u045E\u0408\xA4\u0490\xA6\xA7\u0401\xA9\u0404\xAB\xAC\xAD\xAE\u0407\xB0\xB1\u0406\u0456\u0491\xB5\xB6\xB7\u0451\u2116\u0454\xBB\u0458\u0405\u0455\u0457\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},win1251:"windows1251",cp1251:"windows1251",windows1252:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\u017D\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\u017E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},win1252:"windows1252",cp1252:"windows1252",windows1253:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\u0385\u0386\xA3\xA4\xA5\xA6\xA7\xA8\xA9\uFFFD\xAB\xAC\xAD\xAE\u2015\xB0\xB1\xB2\xB3\u0384\xB5\xB6\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD"},win1253:"windows1253",cp1253:"windows1253",windows1254:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF"},win1254:"windows1254",cp1254:"windows1254",windows1255:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\xA0\xA1\xA2\xA3\u20AA\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\xBF\u05B0\u05B1\u05B2\u05B3\u05B4\u05B5\u05B6\u05B7\u05B8\u05B9\u05BA\u05BB\u05BC\u05BD\u05BE\u05BF\u05C0\u05C1\u05C2\u05C3\u05F0\u05F1\u05F2\u05F3\u05F4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD"},win1255:"windows1255",cp1255:"windows1255",windows1256:{type:"_sbcs",chars:"\u20AC\u067E\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0679\u2039\u0152\u0686\u0698\u0688\u06AF\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u06A9\u2122\u0691\u203A\u0153\u200C\u200D\u06BA\xA0\u060C\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\u06BE\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\u061B\xBB\xBC\xBD\xBE\u061F\u06C1\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\xD7\u0637\u0638\u0639\u063A\u0640\u0641\u0642\u0643\xE0\u0644\xE2\u0645\u0646\u0647\u0648\xE7\xE8\xE9\xEA\xEB\u0649\u064A\xEE\xEF\u064B\u064C\u064D\u064E\xF4\u064F\u0650\xF7\u0651\xF9\u0652\xFB\xFC\u200E\u200F\u06D2"},win1256:"windows1256",cp1256:"windows1256",windows1257:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\uFFFD\u201E\u2026\u2020\u2021\uFFFD\u2030\uFFFD\u2039\uFFFD\xA8\u02C7\xB8\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\xAF\u02DB\uFFFD\xA0\uFFFD\xA2\xA3\xA4\uFFFD\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u02D9"},win1257:"windows1257",cp1257:"windows1257",windows1258:{type:"_sbcs",chars:"\u20AC\uFFFD\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\uFFFD\u2039\u0152\uFFFD\uFFFD\uFFFD\uFFFD\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\uFFFD\u203A\u0153\uFFFD\uFFFD\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"},win1258:"windows1258",cp1258:"windows1258",iso88591:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},cp28591:"iso88591",iso88592:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u02D8\u0141\xA4\u013D\u015A\xA7\xA8\u0160\u015E\u0164\u0179\xAD\u017D\u017B\xB0\u0105\u02DB\u0142\xB4\u013E\u015B\u02C7\xB8\u0161\u015F\u0165\u017A\u02DD\u017E\u017C\u0154\xC1\xC2\u0102\xC4\u0139\u0106\xC7\u010C\xC9\u0118\xCB\u011A\xCD\xCE\u010E\u0110\u0143\u0147\xD3\xD4\u0150\xD6\xD7\u0158\u016E\xDA\u0170\xDC\xDD\u0162\xDF\u0155\xE1\xE2\u0103\xE4\u013A\u0107\xE7\u010D\xE9\u0119\xEB\u011B\xED\xEE\u010F\u0111\u0144\u0148\xF3\xF4\u0151\xF6\xF7\u0159\u016F\xFA\u0171\xFC\xFD\u0163\u02D9"},cp28592:"iso88592",iso88593:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0126\u02D8\xA3\xA4\uFFFD\u0124\xA7\xA8\u0130\u015E\u011E\u0134\xAD\uFFFD\u017B\xB0\u0127\xB2\xB3\xB4\xB5\u0125\xB7\xB8\u0131\u015F\u011F\u0135\xBD\uFFFD\u017C\xC0\xC1\xC2\uFFFD\xC4\u010A\u0108\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\uFFFD\xD1\xD2\xD3\xD4\u0120\xD6\xD7\u011C\xD9\xDA\xDB\xDC\u016C\u015C\xDF\xE0\xE1\xE2\uFFFD\xE4\u010B\u0109\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\uFFFD\xF1\xF2\xF3\xF4\u0121\xF6\xF7\u011D\xF9\xFA\xFB\xFC\u016D\u015D\u02D9"},cp28593:"iso88593",iso88594:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0138\u0156\xA4\u0128\u013B\xA7\xA8\u0160\u0112\u0122\u0166\xAD\u017D\xAF\xB0\u0105\u02DB\u0157\xB4\u0129\u013C\u02C7\xB8\u0161\u0113\u0123\u0167\u014A\u017E\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\u012A\u0110\u0145\u014C\u0136\xD4\xD5\xD6\xD7\xD8\u0172\xDA\xDB\xDC\u0168\u016A\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\u012B\u0111\u0146\u014D\u0137\xF4\xF5\xF6\xF7\xF8\u0173\xFA\xFB\xFC\u0169\u016B\u02D9"},cp28594:"iso88594",iso88595:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0403\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0453\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F"},cp28595:"iso88595",iso88596:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\uFFFD\uFFFD\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u060C\xAD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u061B\uFFFD\uFFFD\uFFFD\u061F\uFFFD\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\u0638\u0639\u063A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"},cp28596:"iso88596",iso88597:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u2018\u2019\xA3\u20AC\u20AF\xA6\xA7\xA8\xA9\u037A\xAB\xAC\xAD\uFFFD\u2015\xB0\xB1\xB2\xB3\u0384\u0385\u0386\xB7\u0388\u0389\u038A\xBB\u038C\xBD\u038E\u038F\u0390\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\uFFFD\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03AA\u03AB\u03AC\u03AD\u03AE\u03AF\u03B0\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C6\u03C7\u03C8\u03C9\u03CA\u03CB\u03CC\u03CD\u03CE\uFFFD"},cp28597:"iso88597",iso88598:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xD7\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xF7\xBB\xBC\xBD\xBE\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2017\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\uFFFD\u200E\u200F\uFFFD"},cp28598:"iso88598",iso88599:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u011E\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u0130\u015E\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u011F\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u0131\u015F\xFF"},cp28599:"iso88599",iso885910:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0112\u0122\u012A\u0128\u0136\xA7\u013B\u0110\u0160\u0166\u017D\xAD\u016A\u014A\xB0\u0105\u0113\u0123\u012B\u0129\u0137\xB7\u013C\u0111\u0161\u0167\u017E\u2015\u016B\u014B\u0100\xC1\xC2\xC3\xC4\xC5\xC6\u012E\u010C\xC9\u0118\xCB\u0116\xCD\xCE\xCF\xD0\u0145\u014C\xD3\xD4\xD5\xD6\u0168\xD8\u0172\xDA\xDB\xDC\xDD\xDE\xDF\u0101\xE1\xE2\xE3\xE4\xE5\xE6\u012F\u010D\xE9\u0119\xEB\u0117\xED\xEE\xEF\xF0\u0146\u014D\xF3\xF4\xF5\xF6\u0169\xF8\u0173\xFA\xFB\xFC\xFD\xFE\u0138"},cp28600:"iso885910",iso885911:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"},cp28601:"iso885911",iso885913:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u201D\xA2\xA3\xA4\u201E\xA6\xA7\xD8\xA9\u0156\xAB\xAC\xAD\xAE\xC6\xB0\xB1\xB2\xB3\u201C\xB5\xB6\xB7\xF8\xB9\u0157\xBB\xBC\xBD\xBE\xE6\u0104\u012E\u0100\u0106\xC4\xC5\u0118\u0112\u010C\xC9\u0179\u0116\u0122\u0136\u012A\u013B\u0160\u0143\u0145\xD3\u014C\xD5\xD6\xD7\u0172\u0141\u015A\u016A\xDC\u017B\u017D\xDF\u0105\u012F\u0101\u0107\xE4\xE5\u0119\u0113\u010D\xE9\u017A\u0117\u0123\u0137\u012B\u013C\u0161\u0144\u0146\xF3\u014D\xF5\xF6\xF7\u0173\u0142\u015B\u016B\xFC\u017C\u017E\u2019"},cp28603:"iso885913",iso885914:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u1E02\u1E03\xA3\u010A\u010B\u1E0A\xA7\u1E80\xA9\u1E82\u1E0B\u1EF2\xAD\xAE\u0178\u1E1E\u1E1F\u0120\u0121\u1E40\u1E41\xB6\u1E56\u1E81\u1E57\u1E83\u1E60\u1EF3\u1E84\u1E85\u1E61\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0174\xD1\xD2\xD3\xD4\xD5\xD6\u1E6A\xD8\xD9\xDA\xDB\xDC\xDD\u0176\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0175\xF1\xF2\xF3\xF4\xF5\xF6\u1E6B\xF8\xF9\xFA\xFB\xFC\xFD\u0177\xFF"},cp28604:"iso885914",iso885915:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\u0160\xA7\u0161\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u017D\xB5\xB6\xB7\u017E\xB9\xBA\xBB\u0152\u0153\u0178\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\xD0\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\xDE\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},cp28605:"iso885915",iso885916:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0104\u0105\u0141\u20AC\u201E\u0160\xA7\u0161\xA9\u0218\xAB\u0179\xAD\u017A\u017B\xB0\xB1\u010C\u0142\u017D\u201D\xB6\xB7\u017E\u010D\u0219\xBB\u0152\u0153\u0178\u017C\xC0\xC1\xC2\u0102\xC4\u0106\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0110\u0143\xD2\xD3\xD4\u0150\xD6\u015A\u0170\xD9\xDA\xDB\xDC\u0118\u021A\xDF\xE0\xE1\xE2\u0103\xE4\u0107\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0111\u0144\xF2\xF3\xF4\u0151\xF6\u015B\u0171\xF9\xFA\xFB\xFC\u0119\u021B\xFF"},cp28606:"iso885916",cp437:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm437:"cp437",csibm437:"cp437",cp737:{type:"_sbcs",chars:"\u0391\u0392\u0393\u0394\u0395\u0396\u0397\u0398\u0399\u039A\u039B\u039C\u039D\u039E\u039F\u03A0\u03A1\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u03B4\u03B5\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u03C5\u03C6\u03C7\u03C8\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03C9\u03AC\u03AD\u03AE\u03CA\u03AF\u03CC\u03CD\u03CB\u03CE\u0386\u0388\u0389\u038A\u038C\u038E\u038F\xB1\u2265\u2264\u03AA\u03AB\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm737:"cp737",csibm737:"cp737",cp775:{type:"_sbcs",chars:"\u0106\xFC\xE9\u0101\xE4\u0123\xE5\u0107\u0142\u0113\u0156\u0157\u012B\u0179\xC4\xC5\xC9\xE6\xC6\u014D\xF6\u0122\xA2\u015A\u015B\xD6\xDC\xF8\xA3\xD8\xD7\xA4\u0100\u012A\xF3\u017B\u017C\u017A\u201D\xA6\xA9\xAE\xAC\xBD\xBC\u0141\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0104\u010C\u0118\u0116\u2563\u2551\u2557\u255D\u012E\u0160\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0172\u016A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u017D\u0105\u010D\u0119\u0117\u012F\u0161\u0173\u016B\u017E\u2518\u250C\u2588\u2584\u258C\u2590\u2580\xD3\xDF\u014C\u0143\xF5\xD5\xB5\u0144\u0136\u0137\u013B\u013C\u0146\u0112\u0145\u2019\xAD\xB1\u201C\xBE\xB6\xA7\xF7\u201E\xB0\u2219\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm775:"cp775",csibm775:"cp775",cp850:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u0131\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm850:"cp850",csibm850:"cp850",cp852:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\u016F\u0107\xE7\u0142\xEB\u0150\u0151\xEE\u0179\xC4\u0106\xC9\u0139\u013A\xF4\xF6\u013D\u013E\u015A\u015B\xD6\xDC\u0164\u0165\u0141\xD7\u010D\xE1\xED\xF3\xFA\u0104\u0105\u017D\u017E\u0118\u0119\xAC\u017A\u010C\u015F\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\u011A\u015E\u2563\u2551\u2557\u255D\u017B\u017C\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u0102\u0103\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u0111\u0110\u010E\xCB\u010F\u0147\xCD\xCE\u011B\u2518\u250C\u2588\u2584\u0162\u016E\u2580\xD3\xDF\xD4\u0143\u0144\u0148\u0160\u0161\u0154\xDA\u0155\u0170\xFD\xDD\u0163\xB4\xAD\u02DD\u02DB\u02C7\u02D8\xA7\xF7\xB8\xB0\xA8\u02D9\u0171\u0158\u0159\u25A0\xA0"},ibm852:"cp852",csibm852:"cp852",cp855:{type:"_sbcs",chars:"\u0452\u0402\u0453\u0403\u0451\u0401\u0454\u0404\u0455\u0405\u0456\u0406\u0457\u0407\u0458\u0408\u0459\u0409\u045A\u040A\u045B\u040B\u045C\u040C\u045E\u040E\u045F\u040F\u044E\u042E\u044A\u042A\u0430\u0410\u0431\u0411\u0446\u0426\u0434\u0414\u0435\u0415\u0444\u0424\u0433\u0413\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u0445\u0425\u0438\u0418\u2563\u2551\u2557\u255D\u0439\u0419\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u043A\u041A\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\u043B\u041B\u043C\u041C\u043D\u041D\u043E\u041E\u043F\u2518\u250C\u2588\u2584\u041F\u044F\u2580\u042F\u0440\u0420\u0441\u0421\u0442\u0422\u0443\u0423\u0436\u0416\u0432\u0412\u044C\u042C\u2116\xAD\u044B\u042B\u0437\u0417\u0448\u0428\u044D\u042D\u0449\u0429\u0447\u0427\xA7\u25A0\xA0"},ibm855:"cp855",csibm855:"cp855",cp856:{type:"_sbcs",chars:"\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\uFFFD\xA3\uFFFD\xD7\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAE\xAC\xBD\xBC\uFFFD\xAB\xBB\u2591\u2592\u2593\u2502\u2524\uFFFD\uFFFD\uFFFD\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\uFFFD\uFFFD\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u2518\u250C\u2588\u2584\xA6\uFFFD\u2580\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xB5\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm856:"cp856",csibm856:"cp856",cp857:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\u0131\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\u0130\xD6\xDC\xF8\xA3\xD8\u015E\u015F\xE1\xED\xF3\xFA\xF1\xD1\u011E\u011F\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xBA\xAA\xCA\xCB\xC8\uFFFD\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\uFFFD\xD7\xDA\xDB\xD9\xEC\xFF\xAF\xB4\xAD\xB1\uFFFD\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm857:"cp857",csibm857:"cp857",cp858:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\xD7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xAE\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\xC1\xC2\xC0\xA9\u2563\u2551\u2557\u255D\xA2\xA5\u2510\u2514\u2534\u252C\u251C\u2500\u253C\xE3\xC3\u255A\u2554\u2569\u2566\u2560\u2550\u256C\xA4\xF0\xD0\xCA\xCB\xC8\u20AC\xCD\xCE\xCF\u2518\u250C\u2588\u2584\xA6\xCC\u2580\xD3\xDF\xD4\xD2\xF5\xD5\xB5\xFE\xDE\xDA\xDB\xD9\xFD\xDD\xAF\xB4\xAD\xB1\u2017\xBE\xB6\xA7\xF7\xB8\xB0\xA8\xB7\xB9\xB3\xB2\u25A0\xA0"},ibm858:"cp858",csibm858:"cp858",cp860:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE3\xE0\xC1\xE7\xEA\xCA\xE8\xCD\xD4\xEC\xC3\xC2\xC9\xC0\xC8\xF4\xF5\xF2\xDA\xF9\xCC\xD5\xDC\xA2\xA3\xD9\u20A7\xD3\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\xD2\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm860:"cp860",csibm860:"cp860",cp861:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xD0\xF0\xDE\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xFE\xFB\xDD\xFD\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xC1\xCD\xD3\xDA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm861:"cp861",csibm861:"cp861",cp862:{type:"_sbcs",chars:"\u05D0\u05D1\u05D2\u05D3\u05D4\u05D5\u05D6\u05D7\u05D8\u05D9\u05DA\u05DB\u05DC\u05DD\u05DE\u05DF\u05E0\u05E1\u05E2\u05E3\u05E4\u05E5\u05E6\u05E7\u05E8\u05E9\u05EA\xA2\xA3\xA5\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm862:"cp862",csibm862:"cp862",cp863:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xC2\xE0\xB6\xE7\xEA\xEB\xE8\xEF\xEE\u2017\xC0\xA7\xC9\xC8\xCA\xF4\xCB\xCF\xFB\xF9\xA4\xD4\xDC\xA2\xA3\xD9\xDB\u0192\xA6\xB4\xF3\xFA\xA8\xB8\xB3\xAF\xCE\u2310\xAC\xBD\xBC\xBE\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm863:"cp863",csibm863:"cp863",cp864:{type:"_sbcs",chars:`\0\x07\b +\v\f\r\x1B !"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD`},ibm864:"cp864",csibm864:"cp864",cp865:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm865:"cp865",csibm865:"cp865",cp866:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0"},ibm866:"cp866",csibm866:"cp866",cp869:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0"},ibm869:"cp869",csibm869:"cp869",cp922:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF"},ibm922:"cp922",csibm922:"cp922",cp1046:{type:"_sbcs",chars:"\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD"},ibm1046:"cp1046",csibm1046:"cp1046",cp1124:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u2116\u0451\u0452\u0491\u0454\u0455\u0456\u0457\u0458\u0459\u045A\u045B\u045C\xA7\u045E\u045F"},ibm1124:"cp1124",csibm1124:"cp1124",cp1125:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0490\u0491\u0404\u0454\u0406\u0456\u0407\u0457\xB7\u221A\u2116\xA4\u25A0\xA0"},ibm1125:"cp1125",csibm1125:"cp1125",cp1129:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"},ibm1129:"cp1129",csibm1129:"cp1129",cp1133:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E81\u0E82\u0E84\u0E87\u0E88\u0EAA\u0E8A\u0E8D\u0E94\u0E95\u0E96\u0E97\u0E99\u0E9A\u0E9B\u0E9C\u0E9D\u0E9E\u0E9F\u0EA1\u0EA2\u0EA3\u0EA5\u0EA7\u0EAB\u0EAD\u0EAE\uFFFD\uFFFD\uFFFD\u0EAF\u0EB0\u0EB2\u0EB3\u0EB4\u0EB5\u0EB6\u0EB7\u0EB8\u0EB9\u0EBC\u0EB1\u0EBB\u0EBD\uFFFD\uFFFD\uFFFD\u0EC0\u0EC1\u0EC2\u0EC3\u0EC4\u0EC8\u0EC9\u0ECA\u0ECB\u0ECC\u0ECD\u0EC6\uFFFD\u0EDC\u0EDD\u20AD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0ED0\u0ED1\u0ED2\u0ED3\u0ED4\u0ED5\u0ED6\u0ED7\u0ED8\u0ED9\uFFFD\uFFFD\xA2\xAC\xA6\uFFFD"},ibm1133:"cp1133",csibm1133:"cp1133",cp1161:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E48\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\u0E49\u0E4A\u0E4B\u20AC\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\xA2\xAC\xA6\xA0"},ibm1161:"cp1161",csibm1161:"cp1161",cp1162:{type:"_sbcs",chars:"\u20AC\x81\x82\x83\x84\u2026\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"},ibm1162:"cp1162",csibm1162:"cp1162",cp1163:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\u20AC\xA5\xA6\xA7\u0153\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\u0178\xB5\xB6\xB7\u0152\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\u0102\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\u0300\xCD\xCE\xCF\u0110\xD1\u0309\xD3\xD4\u01A0\xD6\xD7\xD8\xD9\xDA\xDB\xDC\u01AF\u0303\xDF\xE0\xE1\xE2\u0103\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\u0301\xED\xEE\xEF\u0111\xF1\u0323\xF3\xF4\u01A1\xF6\xF7\xF8\xF9\xFA\xFB\xFC\u01B0\u20AB\xFF"},ibm1163:"cp1163",csibm1163:"cp1163",maccroatian:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\u0160\u2122\xB4\xA8\u2260\u017D\xD8\u221E\xB1\u2264\u2265\u2206\xB5\u2202\u2211\u220F\u0161\u222B\xAA\xBA\u2126\u017E\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u0106\xAB\u010C\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u0110\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\uFFFD\xA9\u2044\xA4\u2039\u203A\xC6\xBB\u2013\xB7\u201A\u201E\u2030\xC2\u0107\xC1\u010D\xC8\xCD\xCE\xCF\xCC\xD3\xD4\u0111\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u03C0\xCB\u02DA\xB8\xCA\xE6\u02C7"},maccyrillic:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\xA2\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u2202\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4"},macgreek:{type:"_sbcs",chars:"\xC4\xB9\xB2\xC9\xB3\xD6\xDC\u0385\xE0\xE2\xE4\u0384\xA8\xE7\xE9\xE8\xEA\xEB\xA3\u2122\xEE\xEF\u2022\xBD\u2030\xF4\xF6\xA6\xAD\xF9\xFB\xFC\u2020\u0393\u0394\u0398\u039B\u039E\u03A0\xDF\xAE\xA9\u03A3\u03AA\xA7\u2260\xB0\u0387\u0391\xB1\u2264\u2265\xA5\u0392\u0395\u0396\u0397\u0399\u039A\u039C\u03A6\u03AB\u03A8\u03A9\u03AC\u039D\xAC\u039F\u03A1\u2248\u03A4\xAB\xBB\u2026\xA0\u03A5\u03A7\u0386\u0388\u0153\u2013\u2015\u201C\u201D\u2018\u2019\xF7\u0389\u038A\u038C\u038E\u03AD\u03AE\u03AF\u03CC\u038F\u03CD\u03B1\u03B2\u03C8\u03B4\u03B5\u03C6\u03B3\u03B7\u03B9\u03BE\u03BA\u03BB\u03BC\u03BD\u03BF\u03C0\u03CE\u03C1\u03C3\u03C4\u03B8\u03C9\u03C2\u03C7\u03C5\u03B6\u03CA\u03CB\u0390\u03B0\uFFFD"},maciceland:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\xDD\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\xD0\xF0\xDE\xFE\xFD\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macroman:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macromania:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\u0102\u015E\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\u0103\u015F\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\u0162\u0163\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macthai:{type:"_sbcs",chars:"\xAB\xBB\u2026\uF88C\uF88F\uF892\uF895\uF898\uF88B\uF88E\uF891\uF894\uF897\u201C\u201D\uF899\uFFFD\u2022\uF884\uF889\uF885\uF886\uF887\uF888\uF88A\uF88D\uF890\uF893\uF896\u2018\u2019\uFFFD\xA0\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFEFF\u200B\u2013\u2014\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u2122\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\xAE\xA9\uFFFD\uFFFD\uFFFD\uFFFD"},macturkish:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u011E\u011F\u0130\u0131\u015E\u015F\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\uFFFD\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},macukraine:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u2020\xB0\u0490\xA3\xA7\u2022\xB6\u0406\xAE\xA9\u2122\u0402\u0452\u2260\u0403\u0453\u221E\xB1\u2264\u2265\u0456\xB5\u0491\u0408\u0404\u0454\u0407\u0457\u0409\u0459\u040A\u045A\u0458\u0405\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\u040B\u045B\u040C\u045C\u0455\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u201E\u040E\u045E\u040F\u045F\u2116\u0401\u0451\u044F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\xA4"},koi8r:{type:"_sbcs",chars:"\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u2553\u2554\u2555\u2556\u2557\u2558\u2559\u255A\u255B\u255C\u255D\u255E\u255F\u2560\u2561\u0401\u2562\u2563\u2564\u2565\u2566\u2567\u2568\u2569\u256A\u256B\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},koi8u:{type:"_sbcs",chars:"\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u255D\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u256C\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},koi8ru:{type:"_sbcs",chars:"\u2500\u2502\u250C\u2510\u2514\u2518\u251C\u2524\u252C\u2534\u253C\u2580\u2584\u2588\u258C\u2590\u2591\u2592\u2593\u2320\u25A0\u2219\u221A\u2248\u2264\u2265\xA0\u2321\xB0\xB2\xB7\xF7\u2550\u2551\u2552\u0451\u0454\u2554\u0456\u0457\u2557\u2558\u2559\u255A\u255B\u0491\u045E\u255E\u255F\u2560\u2561\u0401\u0404\u2563\u0406\u0407\u2566\u2567\u2568\u2569\u256A\u0490\u040E\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},koi8t:{type:"_sbcs",chars:"\u049B\u0493\u201A\u0492\u201E\u2026\u2020\u2021\uFFFD\u2030\u04B3\u2039\u04B2\u04B7\u04B6\uFFFD\u049A\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\uFFFD\u203A\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u04EF\u04EE\u0451\xA4\u04E3\xA6\xA7\uFFFD\uFFFD\uFFFD\xAB\xAC\xAD\xAE\uFFFD\xB0\xB1\xB2\u0401\uFFFD\u04E2\xB6\xB7\uFFFD\u2116\uFFFD\xBB\uFFFD\uFFFD\uFFFD\xA9\u044E\u0430\u0431\u0446\u0434\u0435\u0444\u0433\u0445\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u044F\u0440\u0441\u0442\u0443\u0436\u0432\u044C\u044B\u0437\u0448\u044D\u0449\u0447\u044A\u042E\u0410\u0411\u0426\u0414\u0415\u0424\u0413\u0425\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u042F\u0420\u0421\u0422\u0423\u0416\u0412\u042C\u042B\u0417\u0428\u042D\u0429\u0427\u042A"},armscii8:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\uFFFD\u0587\u0589)(\xBB\xAB\u2014.\u055D,-\u058A\u2026\u055C\u055B\u055E\u0531\u0561\u0532\u0562\u0533\u0563\u0534\u0564\u0535\u0565\u0536\u0566\u0537\u0567\u0538\u0568\u0539\u0569\u053A\u056A\u053B\u056B\u053C\u056C\u053D\u056D\u053E\u056E\u053F\u056F\u0540\u0570\u0541\u0571\u0542\u0572\u0543\u0573\u0544\u0574\u0545\u0575\u0546\u0576\u0547\u0577\u0548\u0578\u0549\u0579\u054A\u057A\u054B\u057B\u054C\u057C\u054D\u057D\u054E\u057E\u054F\u057F\u0550\u0580\u0551\u0581\u0552\u0582\u0553\u0583\u0554\u0584\u0555\u0585\u0556\u0586\u055A\uFFFD"},rk1048:{type:"_sbcs",chars:"\u0402\u0403\u201A\u0453\u201E\u2026\u2020\u2021\u20AC\u2030\u0409\u2039\u040A\u049A\u04BA\u040F\u0452\u2018\u2019\u201C\u201D\u2022\u2013\u2014\uFFFD\u2122\u0459\u203A\u045A\u049B\u04BB\u045F\xA0\u04B0\u04B1\u04D8\xA4\u04E8\xA6\xA7\u0401\xA9\u0492\xAB\xAC\xAD\xAE\u04AE\xB0\xB1\u0406\u0456\u04E9\xB5\xB6\xB7\u0451\u2116\u0493\xBB\u04D9\u04A2\u04A3\u04AF\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},tcvn:{type:"_sbcs",chars:`\0\xDA\u1EE4\u1EEA\u1EEC\u1EEE\x07\b +\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0`},georgianacademy:{type:"_sbcs",chars:"\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},georgianps:{type:"_sbcs",chars:"\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},pt154:{type:"_sbcs",chars:"\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},viscii:{type:"_sbcs",chars:`\0\u1EB2\u1EB4\u1EAA\x07\b +\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE`},iso646cn:{type:"_sbcs",chars:`\0\x07\b +\v\f\r\x1B !"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD`},iso646jp:{type:"_sbcs",chars:`\0\x07\b +\v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_\`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD`},hproman8:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD"},macintosh:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},ascii:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"},tis620:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"}}});var Ejt=Le(bjt=>{"use strict";var Eie=BJ().Buffer;bjt._dbcs=JN;var PC=-1,gjt=-2,V3=-10,hD=-1e3,bie=new Array(256),Y_e=-1;for(mqe=0;mqe<256;mqe++)bie[mqe]=PC;var mqe;function JN(e,t){if(this.encodingName=e.encodingName,!e)throw new Error("DBCS codec is called without the data.");if(!e.table)throw new Error("Encoding '"+this.encodingName+"' has no data.");var r=e.table();this.decodeTables=[],this.decodeTables[0]=bie.slice(0),this.decodeTableSeq=[];for(var n=0;n0;e>>=8)t.push(e&255);t.length==0&&t.push(0);for(var r=this.decodeTables[0],n=t.length-1;n>0;n--){var i=r[t[n]];if(i==PC)r[t[n]]=hD-this.decodeTables.length,this.decodeTables.push(r=bie.slice(0));else if(i<=hD)r=this.decodeTables[hD-i];else throw new Error("Overwrite byte in "+this.encodingName+", addr: "+e.toString(16))}return r};JN.prototype._addDecodeChunk=function(e){var t=parseInt(e[0],16),r=this._getDecodeTrieNode(t);t=t&255;for(var n=1;n255)throw new Error("Incorrect chunk in "+this.encodingName+" at addr "+e[0]+": too long"+t)};JN.prototype._getEncodeBucket=function(e){var t=e>>8;return this.encodeTable[t]===void 0&&(this.encodeTable[t]=bie.slice(0)),this.encodeTable[t]};JN.prototype._setEncodeChar=function(e,t){var r=this._getEncodeBucket(e),n=e&255;r[n]<=V3?this.encodeTableSeq[V3-r[n]][Y_e]=t:r[n]==PC&&(r[n]=t)};JN.prototype._setEncodeSequence=function(e,t){var r=e[0],n=this._getEncodeBucket(r),i=r&255,s;n[i]<=V3?s=this.encodeTableSeq[V3-n[i]]:(s={},n[i]!==PC&&(s[Y_e]=n[i]),n[i]=V3-this.encodeTableSeq.length,this.encodeTableSeq.push(s));for(var R=1;R=0?this._setEncodeChar(s,R):s<=hD?this._fillEncodeTable(hD-s,R<<8,r):s<=V3&&this._setEncodeSequence(this.decodeTableSeq[V3-s],R))}};function kqe(e,t){this.leadSurrogate=-1,this.seqObj=void 0,this.encodeTable=t.encodeTable,this.encodeTableSeq=t.encodeTableSeq,this.defaultCharSingleByte=t.defCharSB,this.gb18030=t.gb18030}kqe.prototype.write=function(e){for(var t=Eie.alloc(e.length*(this.gb18030?4:3)),r=this.leadSurrogate,n=this.seqObj,i=-1,s=0,R=0;;){if(i===-1){if(s==e.length)break;var l=e.charCodeAt(s++)}else{var l=i;i=-1}if(55296<=l&&l<57344)if(l<56320)if(r===-1){r=l;continue}else r=l,l=PC;else r!==-1?(l=65536+(r-55296)*1024+(l-56320),r=-1):l=PC;else r!==-1&&(i=l,l=PC,r=-1);var c=PC;if(n!==void 0&&l!=PC){var h=n[l];if(typeof h=="object"){n=h;continue}else typeof h=="number"?c=h:h==null&&(h=n[Y_e],h!==void 0&&(c=h,i=l));n=void 0}else if(l>=0){var _=this.encodeTable[l>>8];if(_!==void 0&&(c=_[l&255]),c<=V3){n=this.encodeTableSeq[V3-c];continue}if(c==PC&&this.gb18030){var f=wyt(this.gb18030.uChars,l);if(f!=-1){var c=this.gb18030.gbChars[f]+(l-this.gb18030.uChars[f]);t[R++]=129+Math.floor(c/12600),c=c%12600,t[R++]=48+Math.floor(c/1260),c=c%1260,t[R++]=129+Math.floor(c/10),c=c%10,t[R++]=48+c;continue}}}c===PC&&(c=this.defaultCharSingleByte),c<256?t[R++]=c:c<65536?(t[R++]=c>>8,t[R++]=c&255):(t[R++]=c>>16,t[R++]=c>>8&255,t[R++]=c&255)}return this.seqObj=n,this.leadSurrogate=r,t.slice(0,R)};kqe.prototype.end=function(){if(!(this.leadSurrogate===-1&&this.seqObj===void 0)){var e=Eie.alloc(10),t=0;if(this.seqObj){var r=this.seqObj[Y_e];r!==void 0&&(r<256?e[t++]=r:(e[t++]=r>>8,e[t++]=r&255)),this.seqObj=void 0}return this.leadSurrogate!==-1&&(e[t++]=this.defaultCharSingleByte,this.leadSurrogate=-1),e.slice(0,t)}};kqe.prototype.findIdx=wyt;function Nyt(e,t){this.nodeIdx=0,this.prevBuf=Eie.alloc(0),this.decodeTables=t.decodeTables,this.decodeTableSeq=t.decodeTableSeq,this.defaultCharUnicode=t.defaultCharUnicode,this.gb18030=t.gb18030}Nyt.prototype.write=function(e){var t=Eie.alloc(e.length*2),r=this.nodeIdx,n=this.prevBuf,i=this.prevBuf.length,s=-this.prevBuf.length,R;i>0&&(n=Eie.concat([n,e.slice(0,10)]));for(var l=0,c=0;l=0?e[l]:n[l+i],R=this.decodeTables[r][h];if(!(R>=0))if(R===PC)l=s,R=this.defaultCharUnicode.charCodeAt(0);else if(R===gjt){var _=s>=0?e.slice(s,l+1):n.slice(s+i,l+1+i),f=(_[0]-129)*12600+(_[1]-48)*1260+(_[2]-129)*10+(_[3]-48),m=wyt(this.gb18030.gbChars,f);R=this.gb18030.uChars[m]+f-this.gb18030.gbChars[m]}else if(R<=hD){r=hD-R;continue}else if(R<=V3){for(var x=this.decodeTableSeq[V3-R],y=0;y>8;R=x[x.length-1]}else throw new Error("iconv-lite internal error: invalid decoding table value "+R+" at "+r+"/"+h);if(R>65535){R-=65536;var A=55296+Math.floor(R/1024);t[c++]=A&255,t[c++]=A>>8,R=56320+R%1024}t[c++]=R&255,t[c++]=R>>8,r=0,s=l+1}return this.nodeIdx=r,this.prevBuf=s>=0?e.slice(s):n.slice(s+i),t.slice(0,c).toString("ucs2")};Nyt.prototype.end=function(){for(var e="";this.prevBuf.length>0;){e+=this.defaultCharUnicode;var t=this.prevBuf.slice(1);this.prevBuf=Eie.alloc(0),this.nodeIdx=0,t.length>0&&(e+=this.write(t))}return this.nodeIdx=0,e};function wyt(e,t){if(e[0]>t)return-1;for(var r=0,n=e.length;r{Yen.exports=[["0","\0",128],["a1","\uFF61",62],["8140","\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008",9,"\uFF0B\uFF0D\xB1\xD7"],["8180","\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"],["81b8","\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"],["81c8","\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"],["81da","\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"],["81f0","\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"],["81fc","\u25EF"],["824f","\uFF10",9],["8260","\uFF21",25],["8281","\uFF41",25],["829f","\u3041",82],["8340","\u30A1",62],["8380","\u30E0",22],["839f","\u0391",16,"\u03A3",6],["83bf","\u03B1",16,"\u03C3",6],["8440","\u0410",5,"\u0401\u0416",25],["8470","\u0430",5,"\u0451\u0436",7],["8480","\u043E",17],["849f","\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"],["8740","\u2460",19,"\u2160",9],["875f","\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"],["877e","\u337B"],["8780","\u301D\u301F\u2116\u33CD\u2121\u32A4",4,"\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"],["889f","\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"],["8940","\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186"],["8980","\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"],["8a40","\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B"],["8a80","\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"],["8b40","\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551"],["8b80","\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"],["8c40","\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8"],["8c80","\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"],["8d40","\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D"],["8d80","\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"],["8e40","\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62"],["8e80","\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"],["8f40","\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3"],["8f80","\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"],["9040","\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8"],["9080","\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"],["9140","\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB"],["9180","\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"],["9240","\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4"],["9280","\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"],["9340","\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC"],["9380","\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"],["9440","\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885"],["9480","\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"],["9540","\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577"],["9580","\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"],["9640","\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6"],["9680","\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"],["9740","\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32"],["9780","\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"],["9840","\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"],["989f","\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"],["9940","\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED"],["9980","\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"],["9a40","\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638"],["9a80","\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"],["9b40","\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80"],["9b80","\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"],["9c40","\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060"],["9c80","\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"],["9d40","\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B"],["9d80","\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"],["9e40","\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E"],["9e80","\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"],["9f40","\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF"],["9f80","\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"],["e040","\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD"],["e080","\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"],["e140","\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF"],["e180","\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"],["e240","\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0"],["e280","\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"],["e340","\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37"],["e380","\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"],["e440","\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264"],["e480","\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"],["e540","\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC"],["e580","\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"],["e640","\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7"],["e680","\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"],["e740","\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C"],["e780","\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"],["e840","\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599"],["e880","\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"],["e940","\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43"],["e980","\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"],["ea40","\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF"],["ea80","\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0\u582F\u69C7\u9059\u7464\u51DC\u7199"],["ed40","\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F"],["ed80","\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"],["ee40","\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559"],["ee80","\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"],["eeef","\u2170",9,"\uFFE2\uFFE4\uFF07\uFF02"],["f040","\uE000",62],["f080","\uE03F",124],["f140","\uE0BC",62],["f180","\uE0FB",124],["f240","\uE178",62],["f280","\uE1B7",124],["f340","\uE234",62],["f380","\uE273",124],["f440","\uE2F0",62],["f480","\uE32F",124],["f540","\uE3AC",62],["f580","\uE3EB",124],["f640","\uE468",62],["f680","\uE4A7",124],["f740","\uE524",62],["f780","\uE563",124],["f840","\uE5E0",62],["f880","\uE61F",124],["f940","\uE69C"],["fa40","\u2170",9,"\u2160",9,"\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u2235\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A"],["fa80","\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F"],["fb40","\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19"],["fb80","\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9"],["fc40","\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"]]});var vjt=Le((ATi,Ken)=>{Ken.exports=[["0","\0",127],["8ea1","\uFF61",62],["a1a1","\u3000\u3001\u3002\uFF0C\uFF0E\u30FB\uFF1A\uFF1B\uFF1F\uFF01\u309B\u309C\xB4\uFF40\xA8\uFF3E\uFFE3\uFF3F\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\u2015\u2010\uFF0F\uFF3C\uFF5E\u2225\uFF5C\u2026\u2025\u2018\u2019\u201C\u201D\uFF08\uFF09\u3014\u3015\uFF3B\uFF3D\uFF5B\uFF5D\u3008",9,"\uFF0B\uFF0D\xB1\xD7\xF7\uFF1D\u2260\uFF1C\uFF1E\u2266\u2267\u221E\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFFE5\uFF04\uFFE0\uFFE1\uFF05\uFF03\uFF06\uFF0A\uFF20\xA7\u2606\u2605\u25CB\u25CF\u25CE\u25C7"],["a2a1","\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u203B\u3012\u2192\u2190\u2191\u2193\u3013"],["a2ba","\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229"],["a2ca","\u2227\u2228\uFFE2\u21D2\u21D4\u2200\u2203"],["a2dc","\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C"],["a2f2","\u212B\u2030\u266F\u266D\u266A\u2020\u2021\xB6"],["a2fe","\u25EF"],["a3b0","\uFF10",9],["a3c1","\uFF21",25],["a3e1","\uFF41",25],["a4a1","\u3041",82],["a5a1","\u30A1",85],["a6a1","\u0391",16,"\u03A3",6],["a6c1","\u03B1",16,"\u03C3",6],["a7a1","\u0410",5,"\u0401\u0416",25],["a7d1","\u0430",5,"\u0451\u0436",25],["a8a1","\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542"],["ada1","\u2460",19,"\u2160",9],["adc0","\u3349\u3314\u3322\u334D\u3318\u3327\u3303\u3336\u3351\u3357\u330D\u3326\u3323\u332B\u334A\u333B\u339C\u339D\u339E\u338E\u338F\u33C4\u33A1"],["addf","\u337B\u301D\u301F\u2116\u33CD\u2121\u32A4",4,"\u3231\u3232\u3239\u337E\u337D\u337C\u2252\u2261\u222B\u222E\u2211\u221A\u22A5\u2220\u221F\u22BF\u2235\u2229\u222A"],["b0a1","\u4E9C\u5516\u5A03\u963F\u54C0\u611B\u6328\u59F6\u9022\u8475\u831C\u7A50\u60AA\u63E1\u6E25\u65ED\u8466\u82A6\u9BF5\u6893\u5727\u65A1\u6271\u5B9B\u59D0\u867B\u98F4\u7D62\u7DBE\u9B8E\u6216\u7C9F\u88B7\u5B89\u5EB5\u6309\u6697\u6848\u95C7\u978D\u674F\u4EE5\u4F0A\u4F4D\u4F9D\u5049\u56F2\u5937\u59D4\u5A01\u5C09\u60DF\u610F\u6170\u6613\u6905\u70BA\u754F\u7570\u79FB\u7DAD\u7DEF\u80C3\u840E\u8863\u8B02\u9055\u907A\u533B\u4E95\u4EA5\u57DF\u80B2\u90C1\u78EF\u4E00\u58F1\u6EA2\u9038\u7A32\u8328\u828B\u9C2F\u5141\u5370\u54BD\u54E1\u56E0\u59FB\u5F15\u98F2\u6DEB\u80E4\u852D"],["b1a1","\u9662\u9670\u96A0\u97FB\u540B\u53F3\u5B87\u70CF\u7FBD\u8FC2\u96E8\u536F\u9D5C\u7ABA\u4E11\u7893\u81FC\u6E26\u5618\u5504\u6B1D\u851A\u9C3B\u59E5\u53A9\u6D66\u74DC\u958F\u5642\u4E91\u904B\u96F2\u834F\u990C\u53E1\u55B6\u5B30\u5F71\u6620\u66F3\u6804\u6C38\u6CF3\u6D29\u745B\u76C8\u7A4E\u9834\u82F1\u885B\u8A60\u92ED\u6DB2\u75AB\u76CA\u99C5\u60A6\u8B01\u8D8A\u95B2\u698E\u53AD\u5186\u5712\u5830\u5944\u5BB4\u5EF6\u6028\u63A9\u63F4\u6CBF\u6F14\u708E\u7114\u7159\u71D5\u733F\u7E01\u8276\u82D1\u8597\u9060\u925B\u9D1B\u5869\u65BC\u6C5A\u7525\u51F9\u592E\u5965\u5F80\u5FDC"],["b2a1","\u62BC\u65FA\u6A2A\u6B27\u6BB4\u738B\u7FC1\u8956\u9D2C\u9D0E\u9EC4\u5CA1\u6C96\u837B\u5104\u5C4B\u61B6\u81C6\u6876\u7261\u4E59\u4FFA\u5378\u6069\u6E29\u7A4F\u97F3\u4E0B\u5316\u4EEE\u4F55\u4F3D\u4FA1\u4F73\u52A0\u53EF\u5609\u590F\u5AC1\u5BB6\u5BE1\u79D1\u6687\u679C\u67B6\u6B4C\u6CB3\u706B\u73C2\u798D\u79BE\u7A3C\u7B87\u82B1\u82DB\u8304\u8377\u83EF\u83D3\u8766\u8AB2\u5629\u8CA8\u8FE6\u904E\u971E\u868A\u4FC4\u5CE8\u6211\u7259\u753B\u81E5\u82BD\u86FE\u8CC0\u96C5\u9913\u99D5\u4ECB\u4F1A\u89E3\u56DE\u584A\u58CA\u5EFB\u5FEB\u602A\u6094\u6062\u61D0\u6212\u62D0\u6539"],["b3a1","\u9B41\u6666\u68B0\u6D77\u7070\u754C\u7686\u7D75\u82A5\u87F9\u958B\u968E\u8C9D\u51F1\u52BE\u5916\u54B3\u5BB3\u5D16\u6168\u6982\u6DAF\u788D\u84CB\u8857\u8A72\u93A7\u9AB8\u6D6C\u99A8\u86D9\u57A3\u67FF\u86CE\u920E\u5283\u5687\u5404\u5ED3\u62E1\u64B9\u683C\u6838\u6BBB\u7372\u78BA\u7A6B\u899A\u89D2\u8D6B\u8F03\u90ED\u95A3\u9694\u9769\u5B66\u5CB3\u697D\u984D\u984E\u639B\u7B20\u6A2B\u6A7F\u68B6\u9C0D\u6F5F\u5272\u559D\u6070\u62EC\u6D3B\u6E07\u6ED1\u845B\u8910\u8F44\u4E14\u9C39\u53F6\u691B\u6A3A\u9784\u682A\u515C\u7AC3\u84B2\u91DC\u938C\u565B\u9D28\u6822\u8305\u8431"],["b4a1","\u7CA5\u5208\u82C5\u74E6\u4E7E\u4F83\u51A0\u5BD2\u520A\u52D8\u52E7\u5DFB\u559A\u582A\u59E6\u5B8C\u5B98\u5BDB\u5E72\u5E79\u60A3\u611F\u6163\u61BE\u63DB\u6562\u67D1\u6853\u68FA\u6B3E\u6B53\u6C57\u6F22\u6F97\u6F45\u74B0\u7518\u76E3\u770B\u7AFF\u7BA1\u7C21\u7DE9\u7F36\u7FF0\u809D\u8266\u839E\u89B3\u8ACC\u8CAB\u9084\u9451\u9593\u9591\u95A2\u9665\u97D3\u9928\u8218\u4E38\u542B\u5CB8\u5DCC\u73A9\u764C\u773C\u5CA9\u7FEB\u8D0B\u96C1\u9811\u9854\u9858\u4F01\u4F0E\u5371\u559C\u5668\u57FA\u5947\u5B09\u5BC4\u5C90\u5E0C\u5E7E\u5FCC\u63EE\u673A\u65D7\u65E2\u671F\u68CB\u68C4"],["b5a1","\u6A5F\u5E30\u6BC5\u6C17\u6C7D\u757F\u7948\u5B63\u7A00\u7D00\u5FBD\u898F\u8A18\u8CB4\u8D77\u8ECC\u8F1D\u98E2\u9A0E\u9B3C\u4E80\u507D\u5100\u5993\u5B9C\u622F\u6280\u64EC\u6B3A\u72A0\u7591\u7947\u7FA9\u87FB\u8ABC\u8B70\u63AC\u83CA\u97A0\u5409\u5403\u55AB\u6854\u6A58\u8A70\u7827\u6775\u9ECD\u5374\u5BA2\u811A\u8650\u9006\u4E18\u4E45\u4EC7\u4F11\u53CA\u5438\u5BAE\u5F13\u6025\u6551\u673D\u6C42\u6C72\u6CE3\u7078\u7403\u7A76\u7AAE\u7B08\u7D1A\u7CFE\u7D66\u65E7\u725B\u53BB\u5C45\u5DE8\u62D2\u62E0\u6319\u6E20\u865A\u8A31\u8DDD\u92F8\u6F01\u79A6\u9B5A\u4EA8\u4EAB\u4EAC"],["b6a1","\u4F9B\u4FA0\u50D1\u5147\u7AF6\u5171\u51F6\u5354\u5321\u537F\u53EB\u55AC\u5883\u5CE1\u5F37\u5F4A\u602F\u6050\u606D\u631F\u6559\u6A4B\u6CC1\u72C2\u72ED\u77EF\u80F8\u8105\u8208\u854E\u90F7\u93E1\u97FF\u9957\u9A5A\u4EF0\u51DD\u5C2D\u6681\u696D\u5C40\u66F2\u6975\u7389\u6850\u7C81\u50C5\u52E4\u5747\u5DFE\u9326\u65A4\u6B23\u6B3D\u7434\u7981\u79BD\u7B4B\u7DCA\u82B9\u83CC\u887F\u895F\u8B39\u8FD1\u91D1\u541F\u9280\u4E5D\u5036\u53E5\u533A\u72D7\u7396\u77E9\u82E6\u8EAF\u99C6\u99C8\u99D2\u5177\u611A\u865E\u55B0\u7A7A\u5076\u5BD3\u9047\u9685\u4E32\u6ADB\u91E7\u5C51\u5C48"],["b7a1","\u6398\u7A9F\u6C93\u9774\u8F61\u7AAA\u718A\u9688\u7C82\u6817\u7E70\u6851\u936C\u52F2\u541B\u85AB\u8A13\u7FA4\u8ECD\u90E1\u5366\u8888\u7941\u4FC2\u50BE\u5211\u5144\u5553\u572D\u73EA\u578B\u5951\u5F62\u5F84\u6075\u6176\u6167\u61A9\u63B2\u643A\u656C\u666F\u6842\u6E13\u7566\u7A3D\u7CFB\u7D4C\u7D99\u7E4B\u7F6B\u830E\u834A\u86CD\u8A08\u8A63\u8B66\u8EFD\u981A\u9D8F\u82B8\u8FCE\u9BE8\u5287\u621F\u6483\u6FC0\u9699\u6841\u5091\u6B20\u6C7A\u6F54\u7A74\u7D50\u8840\u8A23\u6708\u4EF6\u5039\u5026\u5065\u517C\u5238\u5263\u55A7\u570F\u5805\u5ACC\u5EFA\u61B2\u61F8\u62F3\u6372"],["b8a1","\u691C\u6A29\u727D\u72AC\u732E\u7814\u786F\u7D79\u770C\u80A9\u898B\u8B19\u8CE2\u8ED2\u9063\u9375\u967A\u9855\u9A13\u9E78\u5143\u539F\u53B3\u5E7B\u5F26\u6E1B\u6E90\u7384\u73FE\u7D43\u8237\u8A00\u8AFA\u9650\u4E4E\u500B\u53E4\u547C\u56FA\u59D1\u5B64\u5DF1\u5EAB\u5F27\u6238\u6545\u67AF\u6E56\u72D0\u7CCA\u88B4\u80A1\u80E1\u83F0\u864E\u8A87\u8DE8\u9237\u96C7\u9867\u9F13\u4E94\u4E92\u4F0D\u5348\u5449\u543E\u5A2F\u5F8C\u5FA1\u609F\u68A7\u6A8E\u745A\u7881\u8A9E\u8AA4\u8B77\u9190\u4E5E\u9BC9\u4EA4\u4F7C\u4FAF\u5019\u5016\u5149\u516C\u529F\u52B9\u52FE\u539A\u53E3\u5411"],["b9a1","\u540E\u5589\u5751\u57A2\u597D\u5B54\u5B5D\u5B8F\u5DE5\u5DE7\u5DF7\u5E78\u5E83\u5E9A\u5EB7\u5F18\u6052\u614C\u6297\u62D8\u63A7\u653B\u6602\u6643\u66F4\u676D\u6821\u6897\u69CB\u6C5F\u6D2A\u6D69\u6E2F\u6E9D\u7532\u7687\u786C\u7A3F\u7CE0\u7D05\u7D18\u7D5E\u7DB1\u8015\u8003\u80AF\u80B1\u8154\u818F\u822A\u8352\u884C\u8861\u8B1B\u8CA2\u8CFC\u90CA\u9175\u9271\u783F\u92FC\u95A4\u964D\u9805\u9999\u9AD8\u9D3B\u525B\u52AB\u53F7\u5408\u58D5\u62F7\u6FE0\u8C6A\u8F5F\u9EB9\u514B\u523B\u544A\u56FD\u7A40\u9177\u9D60\u9ED2\u7344\u6F09\u8170\u7511\u5FFD\u60DA\u9AA8\u72DB\u8FBC"],["baa1","\u6B64\u9803\u4ECA\u56F0\u5764\u58BE\u5A5A\u6068\u61C7\u660F\u6606\u6839\u68B1\u6DF7\u75D5\u7D3A\u826E\u9B42\u4E9B\u4F50\u53C9\u5506\u5D6F\u5DE6\u5DEE\u67FB\u6C99\u7473\u7802\u8A50\u9396\u88DF\u5750\u5EA7\u632B\u50B5\u50AC\u518D\u6700\u54C9\u585E\u59BB\u5BB0\u5F69\u624D\u63A1\u683D\u6B73\u6E08\u707D\u91C7\u7280\u7815\u7826\u796D\u658E\u7D30\u83DC\u88C1\u8F09\u969B\u5264\u5728\u6750\u7F6A\u8CA1\u51B4\u5742\u962A\u583A\u698A\u80B4\u54B2\u5D0E\u57FC\u7895\u9DFA\u4F5C\u524A\u548B\u643E\u6628\u6714\u67F5\u7A84\u7B56\u7D22\u932F\u685C\u9BAD\u7B39\u5319\u518A\u5237"],["bba1","\u5BDF\u62F6\u64AE\u64E6\u672D\u6BBA\u85A9\u96D1\u7690\u9BD6\u634C\u9306\u9BAB\u76BF\u6652\u4E09\u5098\u53C2\u5C71\u60E8\u6492\u6563\u685F\u71E6\u73CA\u7523\u7B97\u7E82\u8695\u8B83\u8CDB\u9178\u9910\u65AC\u66AB\u6B8B\u4ED5\u4ED4\u4F3A\u4F7F\u523A\u53F8\u53F2\u55E3\u56DB\u58EB\u59CB\u59C9\u59FF\u5B50\u5C4D\u5E02\u5E2B\u5FD7\u601D\u6307\u652F\u5B5C\u65AF\u65BD\u65E8\u679D\u6B62\u6B7B\u6C0F\u7345\u7949\u79C1\u7CF8\u7D19\u7D2B\u80A2\u8102\u81F3\u8996\u8A5E\u8A69\u8A66\u8A8C\u8AEE\u8CC7\u8CDC\u96CC\u98FC\u6B6F\u4E8B\u4F3C\u4F8D\u5150\u5B57\u5BFA\u6148\u6301\u6642"],["bca1","\u6B21\u6ECB\u6CBB\u723E\u74BD\u75D4\u78C1\u793A\u800C\u8033\u81EA\u8494\u8F9E\u6C50\u9E7F\u5F0F\u8B58\u9D2B\u7AFA\u8EF8\u5B8D\u96EB\u4E03\u53F1\u57F7\u5931\u5AC9\u5BA4\u6089\u6E7F\u6F06\u75BE\u8CEA\u5B9F\u8500\u7BE0\u5072\u67F4\u829D\u5C61\u854A\u7E1E\u820E\u5199\u5C04\u6368\u8D66\u659C\u716E\u793E\u7D17\u8005\u8B1D\u8ECA\u906E\u86C7\u90AA\u501F\u52FA\u5C3A\u6753\u707C\u7235\u914C\u91C8\u932B\u82E5\u5BC2\u5F31\u60F9\u4E3B\u53D6\u5B88\u624B\u6731\u6B8A\u72E9\u73E0\u7A2E\u816B\u8DA3\u9152\u9996\u5112\u53D7\u546A\u5BFF\u6388\u6A39\u7DAC\u9700\u56DA\u53CE\u5468"],["bda1","\u5B97\u5C31\u5DDE\u4FEE\u6101\u62FE\u6D32\u79C0\u79CB\u7D42\u7E4D\u7FD2\u81ED\u821F\u8490\u8846\u8972\u8B90\u8E74\u8F2F\u9031\u914B\u916C\u96C6\u919C\u4EC0\u4F4F\u5145\u5341\u5F93\u620E\u67D4\u6C41\u6E0B\u7363\u7E26\u91CD\u9283\u53D4\u5919\u5BBF\u6DD1\u795D\u7E2E\u7C9B\u587E\u719F\u51FA\u8853\u8FF0\u4FCA\u5CFB\u6625\u77AC\u7AE3\u821C\u99FF\u51C6\u5FAA\u65EC\u696F\u6B89\u6DF3\u6E96\u6F64\u76FE\u7D14\u5DE1\u9075\u9187\u9806\u51E6\u521D\u6240\u6691\u66D9\u6E1A\u5EB6\u7DD2\u7F72\u66F8\u85AF\u85F7\u8AF8\u52A9\u53D9\u5973\u5E8F\u5F90\u6055\u92E4\u9664\u50B7\u511F"],["bea1","\u52DD\u5320\u5347\u53EC\u54E8\u5546\u5531\u5617\u5968\u59BE\u5A3C\u5BB5\u5C06\u5C0F\u5C11\u5C1A\u5E84\u5E8A\u5EE0\u5F70\u627F\u6284\u62DB\u638C\u6377\u6607\u660C\u662D\u6676\u677E\u68A2\u6A1F\u6A35\u6CBC\u6D88\u6E09\u6E58\u713C\u7126\u7167\u75C7\u7701\u785D\u7901\u7965\u79F0\u7AE0\u7B11\u7CA7\u7D39\u8096\u83D6\u848B\u8549\u885D\u88F3\u8A1F\u8A3C\u8A54\u8A73\u8C61\u8CDE\u91A4\u9266\u937E\u9418\u969C\u9798\u4E0A\u4E08\u4E1E\u4E57\u5197\u5270\u57CE\u5834\u58CC\u5B22\u5E38\u60C5\u64FE\u6761\u6756\u6D44\u72B6\u7573\u7A63\u84B8\u8B72\u91B8\u9320\u5631\u57F4\u98FE"],["bfa1","\u62ED\u690D\u6B96\u71ED\u7E54\u8077\u8272\u89E6\u98DF\u8755\u8FB1\u5C3B\u4F38\u4FE1\u4FB5\u5507\u5A20\u5BDD\u5BE9\u5FC3\u614E\u632F\u65B0\u664B\u68EE\u699B\u6D78\u6DF1\u7533\u75B9\u771F\u795E\u79E6\u7D33\u81E3\u82AF\u85AA\u89AA\u8A3A\u8EAB\u8F9B\u9032\u91DD\u9707\u4EBA\u4EC1\u5203\u5875\u58EC\u5C0B\u751A\u5C3D\u814E\u8A0A\u8FC5\u9663\u976D\u7B25\u8ACF\u9808\u9162\u56F3\u53A8\u9017\u5439\u5782\u5E25\u63A8\u6C34\u708A\u7761\u7C8B\u7FE0\u8870\u9042\u9154\u9310\u9318\u968F\u745E\u9AC4\u5D07\u5D69\u6570\u67A2\u8DA8\u96DB\u636E\u6749\u6919\u83C5\u9817\u96C0\u88FE"],["c0a1","\u6F84\u647A\u5BF8\u4E16\u702C\u755D\u662F\u51C4\u5236\u52E2\u59D3\u5F81\u6027\u6210\u653F\u6574\u661F\u6674\u68F2\u6816\u6B63\u6E05\u7272\u751F\u76DB\u7CBE\u8056\u58F0\u88FD\u897F\u8AA0\u8A93\u8ACB\u901D\u9192\u9752\u9759\u6589\u7A0E\u8106\u96BB\u5E2D\u60DC\u621A\u65A5\u6614\u6790\u77F3\u7A4D\u7C4D\u7E3E\u810A\u8CAC\u8D64\u8DE1\u8E5F\u78A9\u5207\u62D9\u63A5\u6442\u6298\u8A2D\u7A83\u7BC0\u8AAC\u96EA\u7D76\u820C\u8749\u4ED9\u5148\u5343\u5360\u5BA3\u5C02\u5C16\u5DDD\u6226\u6247\u64B0\u6813\u6834\u6CC9\u6D45\u6D17\u67D3\u6F5C\u714E\u717D\u65CB\u7A7F\u7BAD\u7DDA"],["c1a1","\u7E4A\u7FA8\u817A\u821B\u8239\u85A6\u8A6E\u8CCE\u8DF5\u9078\u9077\u92AD\u9291\u9583\u9BAE\u524D\u5584\u6F38\u7136\u5168\u7985\u7E55\u81B3\u7CCE\u564C\u5851\u5CA8\u63AA\u66FE\u66FD\u695A\u72D9\u758F\u758E\u790E\u7956\u79DF\u7C97\u7D20\u7D44\u8607\u8A34\u963B\u9061\u9F20\u50E7\u5275\u53CC\u53E2\u5009\u55AA\u58EE\u594F\u723D\u5B8B\u5C64\u531D\u60E3\u60F3\u635C\u6383\u633F\u63BB\u64CD\u65E9\u66F9\u5DE3\u69CD\u69FD\u6F15\u71E5\u4E89\u75E9\u76F8\u7A93\u7CDF\u7DCF\u7D9C\u8061\u8349\u8358\u846C\u84BC\u85FB\u88C5\u8D70\u9001\u906D\u9397\u971C\u9A12\u50CF\u5897\u618E"],["c2a1","\u81D3\u8535\u8D08\u9020\u4FC3\u5074\u5247\u5373\u606F\u6349\u675F\u6E2C\u8DB3\u901F\u4FD7\u5C5E\u8CCA\u65CF\u7D9A\u5352\u8896\u5176\u63C3\u5B58\u5B6B\u5C0A\u640D\u6751\u905C\u4ED6\u591A\u592A\u6C70\u8A51\u553E\u5815\u59A5\u60F0\u6253\u67C1\u8235\u6955\u9640\u99C4\u9A28\u4F53\u5806\u5BFE\u8010\u5CB1\u5E2F\u5F85\u6020\u614B\u6234\u66FF\u6CF0\u6EDE\u80CE\u817F\u82D4\u888B\u8CB8\u9000\u902E\u968A\u9EDB\u9BDB\u4EE3\u53F0\u5927\u7B2C\u918D\u984C\u9DF9\u6EDD\u7027\u5353\u5544\u5B85\u6258\u629E\u62D3\u6CA2\u6FEF\u7422\u8A17\u9438\u6FC1\u8AFE\u8338\u51E7\u86F8\u53EA"],["c3a1","\u53E9\u4F46\u9054\u8FB0\u596A\u8131\u5DFD\u7AEA\u8FBF\u68DA\u8C37\u72F8\u9C48\u6A3D\u8AB0\u4E39\u5358\u5606\u5766\u62C5\u63A2\u65E6\u6B4E\u6DE1\u6E5B\u70AD\u77ED\u7AEF\u7BAA\u7DBB\u803D\u80C6\u86CB\u8A95\u935B\u56E3\u58C7\u5F3E\u65AD\u6696\u6A80\u6BB5\u7537\u8AC7\u5024\u77E5\u5730\u5F1B\u6065\u667A\u6C60\u75F4\u7A1A\u7F6E\u81F4\u8718\u9045\u99B3\u7BC9\u755C\u7AF9\u7B51\u84C4\u9010\u79E9\u7A92\u8336\u5AE1\u7740\u4E2D\u4EF2\u5B99\u5FE0\u62BD\u663C\u67F1\u6CE8\u866B\u8877\u8A3B\u914E\u92F3\u99D0\u6A17\u7026\u732A\u82E7\u8457\u8CAF\u4E01\u5146\u51CB\u558B\u5BF5"],["c4a1","\u5E16\u5E33\u5E81\u5F14\u5F35\u5F6B\u5FB4\u61F2\u6311\u66A2\u671D\u6F6E\u7252\u753A\u773A\u8074\u8139\u8178\u8776\u8ABF\u8ADC\u8D85\u8DF3\u929A\u9577\u9802\u9CE5\u52C5\u6357\u76F4\u6715\u6C88\u73CD\u8CC3\u93AE\u9673\u6D25\u589C\u690E\u69CC\u8FFD\u939A\u75DB\u901A\u585A\u6802\u63B4\u69FB\u4F43\u6F2C\u67D8\u8FBB\u8526\u7DB4\u9354\u693F\u6F70\u576A\u58F7\u5B2C\u7D2C\u722A\u540A\u91E3\u9DB4\u4EAD\u4F4E\u505C\u5075\u5243\u8C9E\u5448\u5824\u5B9A\u5E1D\u5E95\u5EAD\u5EF7\u5F1F\u608C\u62B5\u633A\u63D0\u68AF\u6C40\u7887\u798E\u7A0B\u7DE0\u8247\u8A02\u8AE6\u8E44\u9013"],["c5a1","\u90B8\u912D\u91D8\u9F0E\u6CE5\u6458\u64E2\u6575\u6EF4\u7684\u7B1B\u9069\u93D1\u6EBA\u54F2\u5FB9\u64A4\u8F4D\u8FED\u9244\u5178\u586B\u5929\u5C55\u5E97\u6DFB\u7E8F\u751C\u8CBC\u8EE2\u985B\u70B9\u4F1D\u6BBF\u6FB1\u7530\u96FB\u514E\u5410\u5835\u5857\u59AC\u5C60\u5F92\u6597\u675C\u6E21\u767B\u83DF\u8CED\u9014\u90FD\u934D\u7825\u783A\u52AA\u5EA6\u571F\u5974\u6012\u5012\u515A\u51AC\u51CD\u5200\u5510\u5854\u5858\u5957\u5B95\u5CF6\u5D8B\u60BC\u6295\u642D\u6771\u6843\u68BC\u68DF\u76D7\u6DD8\u6E6F\u6D9B\u706F\u71C8\u5F53\u75D8\u7977\u7B49\u7B54\u7B52\u7CD6\u7D71\u5230"],["c6a1","\u8463\u8569\u85E4\u8A0E\u8B04\u8C46\u8E0F\u9003\u900F\u9419\u9676\u982D\u9A30\u95D8\u50CD\u52D5\u540C\u5802\u5C0E\u61A7\u649E\u6D1E\u77B3\u7AE5\u80F4\u8404\u9053\u9285\u5CE0\u9D07\u533F\u5F97\u5FB3\u6D9C\u7279\u7763\u79BF\u7BE4\u6BD2\u72EC\u8AAD\u6803\u6A61\u51F8\u7A81\u6934\u5C4A\u9CF6\u82EB\u5BC5\u9149\u701E\u5678\u5C6F\u60C7\u6566\u6C8C\u8C5A\u9041\u9813\u5451\u66C7\u920D\u5948\u90A3\u5185\u4E4D\u51EA\u8599\u8B0E\u7058\u637A\u934B\u6962\u99B4\u7E04\u7577\u5357\u6960\u8EDF\u96E3\u6C5D\u4E8C\u5C3C\u5F10\u8FE9\u5302\u8CD1\u8089\u8679\u5EFF\u65E5\u4E73\u5165"],["c7a1","\u5982\u5C3F\u97EE\u4EFB\u598A\u5FCD\u8A8D\u6FE1\u79B0\u7962\u5BE7\u8471\u732B\u71B1\u5E74\u5FF5\u637B\u649A\u71C3\u7C98\u4E43\u5EFC\u4E4B\u57DC\u56A2\u60A9\u6FC3\u7D0D\u80FD\u8133\u81BF\u8FB2\u8997\u86A4\u5DF4\u628A\u64AD\u8987\u6777\u6CE2\u6D3E\u7436\u7834\u5A46\u7F75\u82AD\u99AC\u4FF3\u5EC3\u62DD\u6392\u6557\u676F\u76C3\u724C\u80CC\u80BA\u8F29\u914D\u500D\u57F9\u5A92\u6885\u6973\u7164\u72FD\u8CB7\u58F2\u8CE0\u966A\u9019\u877F\u79E4\u77E7\u8429\u4F2F\u5265\u535A\u62CD\u67CF\u6CCA\u767D\u7B94\u7C95\u8236\u8584\u8FEB\u66DD\u6F20\u7206\u7E1B\u83AB\u99C1\u9EA6"],["c8a1","\u51FD\u7BB1\u7872\u7BB8\u8087\u7B48\u6AE8\u5E61\u808C\u7551\u7560\u516B\u9262\u6E8C\u767A\u9197\u9AEA\u4F10\u7F70\u629C\u7B4F\u95A5\u9CE9\u567A\u5859\u86E4\u96BC\u4F34\u5224\u534A\u53CD\u53DB\u5E06\u642C\u6591\u677F\u6C3E\u6C4E\u7248\u72AF\u73ED\u7554\u7E41\u822C\u85E9\u8CA9\u7BC4\u91C6\u7169\u9812\u98EF\u633D\u6669\u756A\u76E4\u78D0\u8543\u86EE\u532A\u5351\u5426\u5983\u5E87\u5F7C\u60B2\u6249\u6279\u62AB\u6590\u6BD4\u6CCC\u75B2\u76AE\u7891\u79D8\u7DCB\u7F77\u80A5\u88AB\u8AB9\u8CBB\u907F\u975E\u98DB\u6A0B\u7C38\u5099\u5C3E\u5FAE\u6787\u6BD8\u7435\u7709\u7F8E"],["c9a1","\u9F3B\u67CA\u7A17\u5339\u758B\u9AED\u5F66\u819D\u83F1\u8098\u5F3C\u5FC5\u7562\u7B46\u903C\u6867\u59EB\u5A9B\u7D10\u767E\u8B2C\u4FF5\u5F6A\u6A19\u6C37\u6F02\u74E2\u7968\u8868\u8A55\u8C79\u5EDF\u63CF\u75C5\u79D2\u82D7\u9328\u92F2\u849C\u86ED\u9C2D\u54C1\u5F6C\u658C\u6D5C\u7015\u8CA7\u8CD3\u983B\u654F\u74F6\u4E0D\u4ED8\u57E0\u592B\u5A66\u5BCC\u51A8\u5E03\u5E9C\u6016\u6276\u6577\u65A7\u666E\u6D6E\u7236\u7B26\u8150\u819A\u8299\u8B5C\u8CA0\u8CE6\u8D74\u961C\u9644\u4FAE\u64AB\u6B66\u821E\u8461\u856A\u90E8\u5C01\u6953\u98A8\u847A\u8557\u4F0F\u526F\u5FA9\u5E45\u670D"],["caa1","\u798F\u8179\u8907\u8986\u6DF5\u5F17\u6255\u6CB8\u4ECF\u7269\u9B92\u5206\u543B\u5674\u58B3\u61A4\u626E\u711A\u596E\u7C89\u7CDE\u7D1B\u96F0\u6587\u805E\u4E19\u4F75\u5175\u5840\u5E63\u5E73\u5F0A\u67C4\u4E26\u853D\u9589\u965B\u7C73\u9801\u50FB\u58C1\u7656\u78A7\u5225\u77A5\u8511\u7B86\u504F\u5909\u7247\u7BC7\u7DE8\u8FBA\u8FD4\u904D\u4FBF\u52C9\u5A29\u5F01\u97AD\u4FDD\u8217\u92EA\u5703\u6355\u6B69\u752B\u88DC\u8F14\u7A42\u52DF\u5893\u6155\u620A\u66AE\u6BCD\u7C3F\u83E9\u5023\u4FF8\u5305\u5446\u5831\u5949\u5B9D\u5CF0\u5CEF\u5D29\u5E96\u62B1\u6367\u653E\u65B9\u670B"],["cba1","\u6CD5\u6CE1\u70F9\u7832\u7E2B\u80DE\u82B3\u840C\u84EC\u8702\u8912\u8A2A\u8C4A\u90A6\u92D2\u98FD\u9CF3\u9D6C\u4E4F\u4EA1\u508D\u5256\u574A\u59A8\u5E3D\u5FD8\u5FD9\u623F\u66B4\u671B\u67D0\u68D2\u5192\u7D21\u80AA\u81A8\u8B00\u8C8C\u8CBF\u927E\u9632\u5420\u982C\u5317\u50D5\u535C\u58A8\u64B2\u6734\u7267\u7766\u7A46\u91E6\u52C3\u6CA1\u6B86\u5800\u5E4C\u5954\u672C\u7FFB\u51E1\u76C6\u6469\u78E8\u9B54\u9EBB\u57CB\u59B9\u6627\u679A\u6BCE\u54E9\u69D9\u5E55\u819C\u6795\u9BAA\u67FE\u9C52\u685D\u4EA6\u4FE3\u53C8\u62B9\u672B\u6CAB\u8FC4\u4FAD\u7E6D\u9EBF\u4E07\u6162\u6E80"],["cca1","\u6F2B\u8513\u5473\u672A\u9B45\u5DF3\u7B95\u5CAC\u5BC6\u871C\u6E4A\u84D1\u7A14\u8108\u5999\u7C8D\u6C11\u7720\u52D9\u5922\u7121\u725F\u77DB\u9727\u9D61\u690B\u5A7F\u5A18\u51A5\u540D\u547D\u660E\u76DF\u8FF7\u9298\u9CF4\u59EA\u725D\u6EC5\u514D\u68C9\u7DBF\u7DEC\u9762\u9EBA\u6478\u6A21\u8302\u5984\u5B5F\u6BDB\u731B\u76F2\u7DB2\u8017\u8499\u5132\u6728\u9ED9\u76EE\u6762\u52FF\u9905\u5C24\u623B\u7C7E\u8CB0\u554F\u60B6\u7D0B\u9580\u5301\u4E5F\u51B6\u591C\u723A\u8036\u91CE\u5F25\u77E2\u5384\u5F79\u7D04\u85AC\u8A33\u8E8D\u9756\u67F3\u85AE\u9453\u6109\u6108\u6CB9\u7652"],["cda1","\u8AED\u8F38\u552F\u4F51\u512A\u52C7\u53CB\u5BA5\u5E7D\u60A0\u6182\u63D6\u6709\u67DA\u6E67\u6D8C\u7336\u7337\u7531\u7950\u88D5\u8A98\u904A\u9091\u90F5\u96C4\u878D\u5915\u4E88\u4F59\u4E0E\u8A89\u8F3F\u9810\u50AD\u5E7C\u5996\u5BB9\u5EB8\u63DA\u63FA\u64C1\u66DC\u694A\u69D8\u6D0B\u6EB6\u7194\u7528\u7AAF\u7F8A\u8000\u8449\u84C9\u8981\u8B21\u8E0A\u9065\u967D\u990A\u617E\u6291\u6B32\u6C83\u6D74\u7FCC\u7FFC\u6DC0\u7F85\u87BA\u88F8\u6765\u83B1\u983C\u96F7\u6D1B\u7D61\u843D\u916A\u4E71\u5375\u5D50\u6B04\u6FEB\u85CD\u862D\u89A7\u5229\u540F\u5C65\u674E\u68A8\u7406\u7483"],["cea1","\u75E2\u88CF\u88E1\u91CC\u96E2\u9678\u5F8B\u7387\u7ACB\u844E\u63A0\u7565\u5289\u6D41\u6E9C\u7409\u7559\u786B\u7C92\u9686\u7ADC\u9F8D\u4FB6\u616E\u65C5\u865C\u4E86\u4EAE\u50DA\u4E21\u51CC\u5BEE\u6599\u6881\u6DBC\u731F\u7642\u77AD\u7A1C\u7CE7\u826F\u8AD2\u907C\u91CF\u9675\u9818\u529B\u7DD1\u502B\u5398\u6797\u6DCB\u71D0\u7433\u81E8\u8F2A\u96A3\u9C57\u9E9F\u7460\u5841\u6D99\u7D2F\u985E\u4EE4\u4F36\u4F8B\u51B7\u52B1\u5DBA\u601C\u73B2\u793C\u82D3\u9234\u96B7\u96F6\u970A\u9E97\u9F62\u66A6\u6B74\u5217\u52A3\u70C8\u88C2\u5EC9\u604B\u6190\u6F23\u7149\u7C3E\u7DF4\u806F"],["cfa1","\u84EE\u9023\u932C\u5442\u9B6F\u6AD3\u7089\u8CC2\u8DEF\u9732\u52B4\u5A41\u5ECA\u5F04\u6717\u697C\u6994\u6D6A\u6F0F\u7262\u72FC\u7BED\u8001\u807E\u874B\u90CE\u516D\u9E93\u7984\u808B\u9332\u8AD6\u502D\u548C\u8A71\u6B6A\u8CC4\u8107\u60D1\u67A0\u9DF2\u4E99\u4E98\u9C10\u8A6B\u85C1\u8568\u6900\u6E7E\u7897\u8155"],["d0a1","\u5F0C\u4E10\u4E15\u4E2A\u4E31\u4E36\u4E3C\u4E3F\u4E42\u4E56\u4E58\u4E82\u4E85\u8C6B\u4E8A\u8212\u5F0D\u4E8E\u4E9E\u4E9F\u4EA0\u4EA2\u4EB0\u4EB3\u4EB6\u4ECE\u4ECD\u4EC4\u4EC6\u4EC2\u4ED7\u4EDE\u4EED\u4EDF\u4EF7\u4F09\u4F5A\u4F30\u4F5B\u4F5D\u4F57\u4F47\u4F76\u4F88\u4F8F\u4F98\u4F7B\u4F69\u4F70\u4F91\u4F6F\u4F86\u4F96\u5118\u4FD4\u4FDF\u4FCE\u4FD8\u4FDB\u4FD1\u4FDA\u4FD0\u4FE4\u4FE5\u501A\u5028\u5014\u502A\u5025\u5005\u4F1C\u4FF6\u5021\u5029\u502C\u4FFE\u4FEF\u5011\u5006\u5043\u5047\u6703\u5055\u5050\u5048\u505A\u5056\u506C\u5078\u5080\u509A\u5085\u50B4\u50B2"],["d1a1","\u50C9\u50CA\u50B3\u50C2\u50D6\u50DE\u50E5\u50ED\u50E3\u50EE\u50F9\u50F5\u5109\u5101\u5102\u5116\u5115\u5114\u511A\u5121\u513A\u5137\u513C\u513B\u513F\u5140\u5152\u514C\u5154\u5162\u7AF8\u5169\u516A\u516E\u5180\u5182\u56D8\u518C\u5189\u518F\u5191\u5193\u5195\u5196\u51A4\u51A6\u51A2\u51A9\u51AA\u51AB\u51B3\u51B1\u51B2\u51B0\u51B5\u51BD\u51C5\u51C9\u51DB\u51E0\u8655\u51E9\u51ED\u51F0\u51F5\u51FE\u5204\u520B\u5214\u520E\u5227\u522A\u522E\u5233\u5239\u524F\u5244\u524B\u524C\u525E\u5254\u526A\u5274\u5269\u5273\u527F\u527D\u528D\u5294\u5292\u5271\u5288\u5291\u8FA8"],["d2a1","\u8FA7\u52AC\u52AD\u52BC\u52B5\u52C1\u52CD\u52D7\u52DE\u52E3\u52E6\u98ED\u52E0\u52F3\u52F5\u52F8\u52F9\u5306\u5308\u7538\u530D\u5310\u530F\u5315\u531A\u5323\u532F\u5331\u5333\u5338\u5340\u5346\u5345\u4E17\u5349\u534D\u51D6\u535E\u5369\u536E\u5918\u537B\u5377\u5382\u5396\u53A0\u53A6\u53A5\u53AE\u53B0\u53B6\u53C3\u7C12\u96D9\u53DF\u66FC\u71EE\u53EE\u53E8\u53ED\u53FA\u5401\u543D\u5440\u542C\u542D\u543C\u542E\u5436\u5429\u541D\u544E\u548F\u5475\u548E\u545F\u5471\u5477\u5470\u5492\u547B\u5480\u5476\u5484\u5490\u5486\u54C7\u54A2\u54B8\u54A5\u54AC\u54C4\u54C8\u54A8"],["d3a1","\u54AB\u54C2\u54A4\u54BE\u54BC\u54D8\u54E5\u54E6\u550F\u5514\u54FD\u54EE\u54ED\u54FA\u54E2\u5539\u5540\u5563\u554C\u552E\u555C\u5545\u5556\u5557\u5538\u5533\u555D\u5599\u5580\u54AF\u558A\u559F\u557B\u557E\u5598\u559E\u55AE\u557C\u5583\u55A9\u5587\u55A8\u55DA\u55C5\u55DF\u55C4\u55DC\u55E4\u55D4\u5614\u55F7\u5616\u55FE\u55FD\u561B\u55F9\u564E\u5650\u71DF\u5634\u5636\u5632\u5638\u566B\u5664\u562F\u566C\u566A\u5686\u5680\u568A\u56A0\u5694\u568F\u56A5\u56AE\u56B6\u56B4\u56C2\u56BC\u56C1\u56C3\u56C0\u56C8\u56CE\u56D1\u56D3\u56D7\u56EE\u56F9\u5700\u56FF\u5704\u5709"],["d4a1","\u5708\u570B\u570D\u5713\u5718\u5716\u55C7\u571C\u5726\u5737\u5738\u574E\u573B\u5740\u574F\u5769\u57C0\u5788\u5761\u577F\u5789\u5793\u57A0\u57B3\u57A4\u57AA\u57B0\u57C3\u57C6\u57D4\u57D2\u57D3\u580A\u57D6\u57E3\u580B\u5819\u581D\u5872\u5821\u5862\u584B\u5870\u6BC0\u5852\u583D\u5879\u5885\u58B9\u589F\u58AB\u58BA\u58DE\u58BB\u58B8\u58AE\u58C5\u58D3\u58D1\u58D7\u58D9\u58D8\u58E5\u58DC\u58E4\u58DF\u58EF\u58FA\u58F9\u58FB\u58FC\u58FD\u5902\u590A\u5910\u591B\u68A6\u5925\u592C\u592D\u5932\u5938\u593E\u7AD2\u5955\u5950\u594E\u595A\u5958\u5962\u5960\u5967\u596C\u5969"],["d5a1","\u5978\u5981\u599D\u4F5E\u4FAB\u59A3\u59B2\u59C6\u59E8\u59DC\u598D\u59D9\u59DA\u5A25\u5A1F\u5A11\u5A1C\u5A09\u5A1A\u5A40\u5A6C\u5A49\u5A35\u5A36\u5A62\u5A6A\u5A9A\u5ABC\u5ABE\u5ACB\u5AC2\u5ABD\u5AE3\u5AD7\u5AE6\u5AE9\u5AD6\u5AFA\u5AFB\u5B0C\u5B0B\u5B16\u5B32\u5AD0\u5B2A\u5B36\u5B3E\u5B43\u5B45\u5B40\u5B51\u5B55\u5B5A\u5B5B\u5B65\u5B69\u5B70\u5B73\u5B75\u5B78\u6588\u5B7A\u5B80\u5B83\u5BA6\u5BB8\u5BC3\u5BC7\u5BC9\u5BD4\u5BD0\u5BE4\u5BE6\u5BE2\u5BDE\u5BE5\u5BEB\u5BF0\u5BF6\u5BF3\u5C05\u5C07\u5C08\u5C0D\u5C13\u5C20\u5C22\u5C28\u5C38\u5C39\u5C41\u5C46\u5C4E\u5C53"],["d6a1","\u5C50\u5C4F\u5B71\u5C6C\u5C6E\u4E62\u5C76\u5C79\u5C8C\u5C91\u5C94\u599B\u5CAB\u5CBB\u5CB6\u5CBC\u5CB7\u5CC5\u5CBE\u5CC7\u5CD9\u5CE9\u5CFD\u5CFA\u5CED\u5D8C\u5CEA\u5D0B\u5D15\u5D17\u5D5C\u5D1F\u5D1B\u5D11\u5D14\u5D22\u5D1A\u5D19\u5D18\u5D4C\u5D52\u5D4E\u5D4B\u5D6C\u5D73\u5D76\u5D87\u5D84\u5D82\u5DA2\u5D9D\u5DAC\u5DAE\u5DBD\u5D90\u5DB7\u5DBC\u5DC9\u5DCD\u5DD3\u5DD2\u5DD6\u5DDB\u5DEB\u5DF2\u5DF5\u5E0B\u5E1A\u5E19\u5E11\u5E1B\u5E36\u5E37\u5E44\u5E43\u5E40\u5E4E\u5E57\u5E54\u5E5F\u5E62\u5E64\u5E47\u5E75\u5E76\u5E7A\u9EBC\u5E7F\u5EA0\u5EC1\u5EC2\u5EC8\u5ED0\u5ECF"],["d7a1","\u5ED6\u5EE3\u5EDD\u5EDA\u5EDB\u5EE2\u5EE1\u5EE8\u5EE9\u5EEC\u5EF1\u5EF3\u5EF0\u5EF4\u5EF8\u5EFE\u5F03\u5F09\u5F5D\u5F5C\u5F0B\u5F11\u5F16\u5F29\u5F2D\u5F38\u5F41\u5F48\u5F4C\u5F4E\u5F2F\u5F51\u5F56\u5F57\u5F59\u5F61\u5F6D\u5F73\u5F77\u5F83\u5F82\u5F7F\u5F8A\u5F88\u5F91\u5F87\u5F9E\u5F99\u5F98\u5FA0\u5FA8\u5FAD\u5FBC\u5FD6\u5FFB\u5FE4\u5FF8\u5FF1\u5FDD\u60B3\u5FFF\u6021\u6060\u6019\u6010\u6029\u600E\u6031\u601B\u6015\u602B\u6026\u600F\u603A\u605A\u6041\u606A\u6077\u605F\u604A\u6046\u604D\u6063\u6043\u6064\u6042\u606C\u606B\u6059\u6081\u608D\u60E7\u6083\u609A"],["d8a1","\u6084\u609B\u6096\u6097\u6092\u60A7\u608B\u60E1\u60B8\u60E0\u60D3\u60B4\u5FF0\u60BD\u60C6\u60B5\u60D8\u614D\u6115\u6106\u60F6\u60F7\u6100\u60F4\u60FA\u6103\u6121\u60FB\u60F1\u610D\u610E\u6147\u613E\u6128\u6127\u614A\u613F\u613C\u612C\u6134\u613D\u6142\u6144\u6173\u6177\u6158\u6159\u615A\u616B\u6174\u616F\u6165\u6171\u615F\u615D\u6153\u6175\u6199\u6196\u6187\u61AC\u6194\u619A\u618A\u6191\u61AB\u61AE\u61CC\u61CA\u61C9\u61F7\u61C8\u61C3\u61C6\u61BA\u61CB\u7F79\u61CD\u61E6\u61E3\u61F6\u61FA\u61F4\u61FF\u61FD\u61FC\u61FE\u6200\u6208\u6209\u620D\u620C\u6214\u621B"],["d9a1","\u621E\u6221\u622A\u622E\u6230\u6232\u6233\u6241\u624E\u625E\u6263\u625B\u6260\u6268\u627C\u6282\u6289\u627E\u6292\u6293\u6296\u62D4\u6283\u6294\u62D7\u62D1\u62BB\u62CF\u62FF\u62C6\u64D4\u62C8\u62DC\u62CC\u62CA\u62C2\u62C7\u629B\u62C9\u630C\u62EE\u62F1\u6327\u6302\u6308\u62EF\u62F5\u6350\u633E\u634D\u641C\u634F\u6396\u638E\u6380\u63AB\u6376\u63A3\u638F\u6389\u639F\u63B5\u636B\u6369\u63BE\u63E9\u63C0\u63C6\u63E3\u63C9\u63D2\u63F6\u63C4\u6416\u6434\u6406\u6413\u6426\u6436\u651D\u6417\u6428\u640F\u6467\u646F\u6476\u644E\u652A\u6495\u6493\u64A5\u64A9\u6488\u64BC"],["daa1","\u64DA\u64D2\u64C5\u64C7\u64BB\u64D8\u64C2\u64F1\u64E7\u8209\u64E0\u64E1\u62AC\u64E3\u64EF\u652C\u64F6\u64F4\u64F2\u64FA\u6500\u64FD\u6518\u651C\u6505\u6524\u6523\u652B\u6534\u6535\u6537\u6536\u6538\u754B\u6548\u6556\u6555\u654D\u6558\u655E\u655D\u6572\u6578\u6582\u6583\u8B8A\u659B\u659F\u65AB\u65B7\u65C3\u65C6\u65C1\u65C4\u65CC\u65D2\u65DB\u65D9\u65E0\u65E1\u65F1\u6772\u660A\u6603\u65FB\u6773\u6635\u6636\u6634\u661C\u664F\u6644\u6649\u6641\u665E\u665D\u6664\u6667\u6668\u665F\u6662\u6670\u6683\u6688\u668E\u6689\u6684\u6698\u669D\u66C1\u66B9\u66C9\u66BE\u66BC"],["dba1","\u66C4\u66B8\u66D6\u66DA\u66E0\u663F\u66E6\u66E9\u66F0\u66F5\u66F7\u670F\u6716\u671E\u6726\u6727\u9738\u672E\u673F\u6736\u6741\u6738\u6737\u6746\u675E\u6760\u6759\u6763\u6764\u6789\u6770\u67A9\u677C\u676A\u678C\u678B\u67A6\u67A1\u6785\u67B7\u67EF\u67B4\u67EC\u67B3\u67E9\u67B8\u67E4\u67DE\u67DD\u67E2\u67EE\u67B9\u67CE\u67C6\u67E7\u6A9C\u681E\u6846\u6829\u6840\u684D\u6832\u684E\u68B3\u682B\u6859\u6863\u6877\u687F\u689F\u688F\u68AD\u6894\u689D\u689B\u6883\u6AAE\u68B9\u6874\u68B5\u68A0\u68BA\u690F\u688D\u687E\u6901\u68CA\u6908\u68D8\u6922\u6926\u68E1\u690C\u68CD"],["dca1","\u68D4\u68E7\u68D5\u6936\u6912\u6904\u68D7\u68E3\u6925\u68F9\u68E0\u68EF\u6928\u692A\u691A\u6923\u6921\u68C6\u6979\u6977\u695C\u6978\u696B\u6954\u697E\u696E\u6939\u6974\u693D\u6959\u6930\u6961\u695E\u695D\u6981\u696A\u69B2\u69AE\u69D0\u69BF\u69C1\u69D3\u69BE\u69CE\u5BE8\u69CA\u69DD\u69BB\u69C3\u69A7\u6A2E\u6991\u69A0\u699C\u6995\u69B4\u69DE\u69E8\u6A02\u6A1B\u69FF\u6B0A\u69F9\u69F2\u69E7\u6A05\u69B1\u6A1E\u69ED\u6A14\u69EB\u6A0A\u6A12\u6AC1\u6A23\u6A13\u6A44\u6A0C\u6A72\u6A36\u6A78\u6A47\u6A62\u6A59\u6A66\u6A48\u6A38\u6A22\u6A90\u6A8D\u6AA0\u6A84\u6AA2\u6AA3"],["dda1","\u6A97\u8617\u6ABB\u6AC3\u6AC2\u6AB8\u6AB3\u6AAC\u6ADE\u6AD1\u6ADF\u6AAA\u6ADA\u6AEA\u6AFB\u6B05\u8616\u6AFA\u6B12\u6B16\u9B31\u6B1F\u6B38\u6B37\u76DC\u6B39\u98EE\u6B47\u6B43\u6B49\u6B50\u6B59\u6B54\u6B5B\u6B5F\u6B61\u6B78\u6B79\u6B7F\u6B80\u6B84\u6B83\u6B8D\u6B98\u6B95\u6B9E\u6BA4\u6BAA\u6BAB\u6BAF\u6BB2\u6BB1\u6BB3\u6BB7\u6BBC\u6BC6\u6BCB\u6BD3\u6BDF\u6BEC\u6BEB\u6BF3\u6BEF\u9EBE\u6C08\u6C13\u6C14\u6C1B\u6C24\u6C23\u6C5E\u6C55\u6C62\u6C6A\u6C82\u6C8D\u6C9A\u6C81\u6C9B\u6C7E\u6C68\u6C73\u6C92\u6C90\u6CC4\u6CF1\u6CD3\u6CBD\u6CD7\u6CC5\u6CDD\u6CAE\u6CB1\u6CBE"],["dea1","\u6CBA\u6CDB\u6CEF\u6CD9\u6CEA\u6D1F\u884D\u6D36\u6D2B\u6D3D\u6D38\u6D19\u6D35\u6D33\u6D12\u6D0C\u6D63\u6D93\u6D64\u6D5A\u6D79\u6D59\u6D8E\u6D95\u6FE4\u6D85\u6DF9\u6E15\u6E0A\u6DB5\u6DC7\u6DE6\u6DB8\u6DC6\u6DEC\u6DDE\u6DCC\u6DE8\u6DD2\u6DC5\u6DFA\u6DD9\u6DE4\u6DD5\u6DEA\u6DEE\u6E2D\u6E6E\u6E2E\u6E19\u6E72\u6E5F\u6E3E\u6E23\u6E6B\u6E2B\u6E76\u6E4D\u6E1F\u6E43\u6E3A\u6E4E\u6E24\u6EFF\u6E1D\u6E38\u6E82\u6EAA\u6E98\u6EC9\u6EB7\u6ED3\u6EBD\u6EAF\u6EC4\u6EB2\u6ED4\u6ED5\u6E8F\u6EA5\u6EC2\u6E9F\u6F41\u6F11\u704C\u6EEC\u6EF8\u6EFE\u6F3F\u6EF2\u6F31\u6EEF\u6F32\u6ECC"],["dfa1","\u6F3E\u6F13\u6EF7\u6F86\u6F7A\u6F78\u6F81\u6F80\u6F6F\u6F5B\u6FF3\u6F6D\u6F82\u6F7C\u6F58\u6F8E\u6F91\u6FC2\u6F66\u6FB3\u6FA3\u6FA1\u6FA4\u6FB9\u6FC6\u6FAA\u6FDF\u6FD5\u6FEC\u6FD4\u6FD8\u6FF1\u6FEE\u6FDB\u7009\u700B\u6FFA\u7011\u7001\u700F\u6FFE\u701B\u701A\u6F74\u701D\u7018\u701F\u7030\u703E\u7032\u7051\u7063\u7099\u7092\u70AF\u70F1\u70AC\u70B8\u70B3\u70AE\u70DF\u70CB\u70DD\u70D9\u7109\u70FD\u711C\u7119\u7165\u7155\u7188\u7166\u7162\u714C\u7156\u716C\u718F\u71FB\u7184\u7195\u71A8\u71AC\u71D7\u71B9\u71BE\u71D2\u71C9\u71D4\u71CE\u71E0\u71EC\u71E7\u71F5\u71FC"],["e0a1","\u71F9\u71FF\u720D\u7210\u721B\u7228\u722D\u722C\u7230\u7232\u723B\u723C\u723F\u7240\u7246\u724B\u7258\u7274\u727E\u7282\u7281\u7287\u7292\u7296\u72A2\u72A7\u72B9\u72B2\u72C3\u72C6\u72C4\u72CE\u72D2\u72E2\u72E0\u72E1\u72F9\u72F7\u500F\u7317\u730A\u731C\u7316\u731D\u7334\u732F\u7329\u7325\u733E\u734E\u734F\u9ED8\u7357\u736A\u7368\u7370\u7378\u7375\u737B\u737A\u73C8\u73B3\u73CE\u73BB\u73C0\u73E5\u73EE\u73DE\u74A2\u7405\u746F\u7425\u73F8\u7432\u743A\u7455\u743F\u745F\u7459\u7441\u745C\u7469\u7470\u7463\u746A\u7476\u747E\u748B\u749E\u74A7\u74CA\u74CF\u74D4\u73F1"],["e1a1","\u74E0\u74E3\u74E7\u74E9\u74EE\u74F2\u74F0\u74F1\u74F8\u74F7\u7504\u7503\u7505\u750C\u750E\u750D\u7515\u7513\u751E\u7526\u752C\u753C\u7544\u754D\u754A\u7549\u755B\u7546\u755A\u7569\u7564\u7567\u756B\u756D\u7578\u7576\u7586\u7587\u7574\u758A\u7589\u7582\u7594\u759A\u759D\u75A5\u75A3\u75C2\u75B3\u75C3\u75B5\u75BD\u75B8\u75BC\u75B1\u75CD\u75CA\u75D2\u75D9\u75E3\u75DE\u75FE\u75FF\u75FC\u7601\u75F0\u75FA\u75F2\u75F3\u760B\u760D\u7609\u761F\u7627\u7620\u7621\u7622\u7624\u7634\u7630\u763B\u7647\u7648\u7646\u765C\u7658\u7661\u7662\u7668\u7669\u766A\u7667\u766C\u7670"],["e2a1","\u7672\u7676\u7678\u767C\u7680\u7683\u7688\u768B\u768E\u7696\u7693\u7699\u769A\u76B0\u76B4\u76B8\u76B9\u76BA\u76C2\u76CD\u76D6\u76D2\u76DE\u76E1\u76E5\u76E7\u76EA\u862F\u76FB\u7708\u7707\u7704\u7729\u7724\u771E\u7725\u7726\u771B\u7737\u7738\u7747\u775A\u7768\u776B\u775B\u7765\u777F\u777E\u7779\u778E\u778B\u7791\u77A0\u779E\u77B0\u77B6\u77B9\u77BF\u77BC\u77BD\u77BB\u77C7\u77CD\u77D7\u77DA\u77DC\u77E3\u77EE\u77FC\u780C\u7812\u7926\u7820\u792A\u7845\u788E\u7874\u7886\u787C\u789A\u788C\u78A3\u78B5\u78AA\u78AF\u78D1\u78C6\u78CB\u78D4\u78BE\u78BC\u78C5\u78CA\u78EC"],["e3a1","\u78E7\u78DA\u78FD\u78F4\u7907\u7912\u7911\u7919\u792C\u792B\u7940\u7960\u7957\u795F\u795A\u7955\u7953\u797A\u797F\u798A\u799D\u79A7\u9F4B\u79AA\u79AE\u79B3\u79B9\u79BA\u79C9\u79D5\u79E7\u79EC\u79E1\u79E3\u7A08\u7A0D\u7A18\u7A19\u7A20\u7A1F\u7980\u7A31\u7A3B\u7A3E\u7A37\u7A43\u7A57\u7A49\u7A61\u7A62\u7A69\u9F9D\u7A70\u7A79\u7A7D\u7A88\u7A97\u7A95\u7A98\u7A96\u7AA9\u7AC8\u7AB0\u7AB6\u7AC5\u7AC4\u7ABF\u9083\u7AC7\u7ACA\u7ACD\u7ACF\u7AD5\u7AD3\u7AD9\u7ADA\u7ADD\u7AE1\u7AE2\u7AE6\u7AED\u7AF0\u7B02\u7B0F\u7B0A\u7B06\u7B33\u7B18\u7B19\u7B1E\u7B35\u7B28\u7B36\u7B50"],["e4a1","\u7B7A\u7B04\u7B4D\u7B0B\u7B4C\u7B45\u7B75\u7B65\u7B74\u7B67\u7B70\u7B71\u7B6C\u7B6E\u7B9D\u7B98\u7B9F\u7B8D\u7B9C\u7B9A\u7B8B\u7B92\u7B8F\u7B5D\u7B99\u7BCB\u7BC1\u7BCC\u7BCF\u7BB4\u7BC6\u7BDD\u7BE9\u7C11\u7C14\u7BE6\u7BE5\u7C60\u7C00\u7C07\u7C13\u7BF3\u7BF7\u7C17\u7C0D\u7BF6\u7C23\u7C27\u7C2A\u7C1F\u7C37\u7C2B\u7C3D\u7C4C\u7C43\u7C54\u7C4F\u7C40\u7C50\u7C58\u7C5F\u7C64\u7C56\u7C65\u7C6C\u7C75\u7C83\u7C90\u7CA4\u7CAD\u7CA2\u7CAB\u7CA1\u7CA8\u7CB3\u7CB2\u7CB1\u7CAE\u7CB9\u7CBD\u7CC0\u7CC5\u7CC2\u7CD8\u7CD2\u7CDC\u7CE2\u9B3B\u7CEF\u7CF2\u7CF4\u7CF6\u7CFA\u7D06"],["e5a1","\u7D02\u7D1C\u7D15\u7D0A\u7D45\u7D4B\u7D2E\u7D32\u7D3F\u7D35\u7D46\u7D73\u7D56\u7D4E\u7D72\u7D68\u7D6E\u7D4F\u7D63\u7D93\u7D89\u7D5B\u7D8F\u7D7D\u7D9B\u7DBA\u7DAE\u7DA3\u7DB5\u7DC7\u7DBD\u7DAB\u7E3D\u7DA2\u7DAF\u7DDC\u7DB8\u7D9F\u7DB0\u7DD8\u7DDD\u7DE4\u7DDE\u7DFB\u7DF2\u7DE1\u7E05\u7E0A\u7E23\u7E21\u7E12\u7E31\u7E1F\u7E09\u7E0B\u7E22\u7E46\u7E66\u7E3B\u7E35\u7E39\u7E43\u7E37\u7E32\u7E3A\u7E67\u7E5D\u7E56\u7E5E\u7E59\u7E5A\u7E79\u7E6A\u7E69\u7E7C\u7E7B\u7E83\u7DD5\u7E7D\u8FAE\u7E7F\u7E88\u7E89\u7E8C\u7E92\u7E90\u7E93\u7E94\u7E96\u7E8E\u7E9B\u7E9C\u7F38\u7F3A"],["e6a1","\u7F45\u7F4C\u7F4D\u7F4E\u7F50\u7F51\u7F55\u7F54\u7F58\u7F5F\u7F60\u7F68\u7F69\u7F67\u7F78\u7F82\u7F86\u7F83\u7F88\u7F87\u7F8C\u7F94\u7F9E\u7F9D\u7F9A\u7FA3\u7FAF\u7FB2\u7FB9\u7FAE\u7FB6\u7FB8\u8B71\u7FC5\u7FC6\u7FCA\u7FD5\u7FD4\u7FE1\u7FE6\u7FE9\u7FF3\u7FF9\u98DC\u8006\u8004\u800B\u8012\u8018\u8019\u801C\u8021\u8028\u803F\u803B\u804A\u8046\u8052\u8058\u805A\u805F\u8062\u8068\u8073\u8072\u8070\u8076\u8079\u807D\u807F\u8084\u8086\u8085\u809B\u8093\u809A\u80AD\u5190\u80AC\u80DB\u80E5\u80D9\u80DD\u80C4\u80DA\u80D6\u8109\u80EF\u80F1\u811B\u8129\u8123\u812F\u814B"],["e7a1","\u968B\u8146\u813E\u8153\u8151\u80FC\u8171\u816E\u8165\u8166\u8174\u8183\u8188\u818A\u8180\u8182\u81A0\u8195\u81A4\u81A3\u815F\u8193\u81A9\u81B0\u81B5\u81BE\u81B8\u81BD\u81C0\u81C2\u81BA\u81C9\u81CD\u81D1\u81D9\u81D8\u81C8\u81DA\u81DF\u81E0\u81E7\u81FA\u81FB\u81FE\u8201\u8202\u8205\u8207\u820A\u820D\u8210\u8216\u8229\u822B\u8238\u8233\u8240\u8259\u8258\u825D\u825A\u825F\u8264\u8262\u8268\u826A\u826B\u822E\u8271\u8277\u8278\u827E\u828D\u8292\u82AB\u829F\u82BB\u82AC\u82E1\u82E3\u82DF\u82D2\u82F4\u82F3\u82FA\u8393\u8303\u82FB\u82F9\u82DE\u8306\u82DC\u8309\u82D9"],["e8a1","\u8335\u8334\u8316\u8332\u8331\u8340\u8339\u8350\u8345\u832F\u832B\u8317\u8318\u8385\u839A\u83AA\u839F\u83A2\u8396\u8323\u838E\u8387\u838A\u837C\u83B5\u8373\u8375\u83A0\u8389\u83A8\u83F4\u8413\u83EB\u83CE\u83FD\u8403\u83D8\u840B\u83C1\u83F7\u8407\u83E0\u83F2\u840D\u8422\u8420\u83BD\u8438\u8506\u83FB\u846D\u842A\u843C\u855A\u8484\u8477\u846B\u84AD\u846E\u8482\u8469\u8446\u842C\u846F\u8479\u8435\u84CA\u8462\u84B9\u84BF\u849F\u84D9\u84CD\u84BB\u84DA\u84D0\u84C1\u84C6\u84D6\u84A1\u8521\u84FF\u84F4\u8517\u8518\u852C\u851F\u8515\u8514\u84FC\u8540\u8563\u8558\u8548"],["e9a1","\u8541\u8602\u854B\u8555\u8580\u85A4\u8588\u8591\u858A\u85A8\u856D\u8594\u859B\u85EA\u8587\u859C\u8577\u857E\u8590\u85C9\u85BA\u85CF\u85B9\u85D0\u85D5\u85DD\u85E5\u85DC\u85F9\u860A\u8613\u860B\u85FE\u85FA\u8606\u8622\u861A\u8630\u863F\u864D\u4E55\u8654\u865F\u8667\u8671\u8693\u86A3\u86A9\u86AA\u868B\u868C\u86B6\u86AF\u86C4\u86C6\u86B0\u86C9\u8823\u86AB\u86D4\u86DE\u86E9\u86EC\u86DF\u86DB\u86EF\u8712\u8706\u8708\u8700\u8703\u86FB\u8711\u8709\u870D\u86F9\u870A\u8734\u873F\u8737\u873B\u8725\u8729\u871A\u8760\u875F\u8778\u874C\u874E\u8774\u8757\u8768\u876E\u8759"],["eaa1","\u8753\u8763\u876A\u8805\u87A2\u879F\u8782\u87AF\u87CB\u87BD\u87C0\u87D0\u96D6\u87AB\u87C4\u87B3\u87C7\u87C6\u87BB\u87EF\u87F2\u87E0\u880F\u880D\u87FE\u87F6\u87F7\u880E\u87D2\u8811\u8816\u8815\u8822\u8821\u8831\u8836\u8839\u8827\u883B\u8844\u8842\u8852\u8859\u885E\u8862\u886B\u8881\u887E\u889E\u8875\u887D\u88B5\u8872\u8882\u8897\u8892\u88AE\u8899\u88A2\u888D\u88A4\u88B0\u88BF\u88B1\u88C3\u88C4\u88D4\u88D8\u88D9\u88DD\u88F9\u8902\u88FC\u88F4\u88E8\u88F2\u8904\u890C\u890A\u8913\u8943\u891E\u8925\u892A\u892B\u8941\u8944\u893B\u8936\u8938\u894C\u891D\u8960\u895E"],["eba1","\u8966\u8964\u896D\u896A\u896F\u8974\u8977\u897E\u8983\u8988\u898A\u8993\u8998\u89A1\u89A9\u89A6\u89AC\u89AF\u89B2\u89BA\u89BD\u89BF\u89C0\u89DA\u89DC\u89DD\u89E7\u89F4\u89F8\u8A03\u8A16\u8A10\u8A0C\u8A1B\u8A1D\u8A25\u8A36\u8A41\u8A5B\u8A52\u8A46\u8A48\u8A7C\u8A6D\u8A6C\u8A62\u8A85\u8A82\u8A84\u8AA8\u8AA1\u8A91\u8AA5\u8AA6\u8A9A\u8AA3\u8AC4\u8ACD\u8AC2\u8ADA\u8AEB\u8AF3\u8AE7\u8AE4\u8AF1\u8B14\u8AE0\u8AE2\u8AF7\u8ADE\u8ADB\u8B0C\u8B07\u8B1A\u8AE1\u8B16\u8B10\u8B17\u8B20\u8B33\u97AB\u8B26\u8B2B\u8B3E\u8B28\u8B41\u8B4C\u8B4F\u8B4E\u8B49\u8B56\u8B5B\u8B5A\u8B6B"],["eca1","\u8B5F\u8B6C\u8B6F\u8B74\u8B7D\u8B80\u8B8C\u8B8E\u8B92\u8B93\u8B96\u8B99\u8B9A\u8C3A\u8C41\u8C3F\u8C48\u8C4C\u8C4E\u8C50\u8C55\u8C62\u8C6C\u8C78\u8C7A\u8C82\u8C89\u8C85\u8C8A\u8C8D\u8C8E\u8C94\u8C7C\u8C98\u621D\u8CAD\u8CAA\u8CBD\u8CB2\u8CB3\u8CAE\u8CB6\u8CC8\u8CC1\u8CE4\u8CE3\u8CDA\u8CFD\u8CFA\u8CFB\u8D04\u8D05\u8D0A\u8D07\u8D0F\u8D0D\u8D10\u9F4E\u8D13\u8CCD\u8D14\u8D16\u8D67\u8D6D\u8D71\u8D73\u8D81\u8D99\u8DC2\u8DBE\u8DBA\u8DCF\u8DDA\u8DD6\u8DCC\u8DDB\u8DCB\u8DEA\u8DEB\u8DDF\u8DE3\u8DFC\u8E08\u8E09\u8DFF\u8E1D\u8E1E\u8E10\u8E1F\u8E42\u8E35\u8E30\u8E34\u8E4A"],["eda1","\u8E47\u8E49\u8E4C\u8E50\u8E48\u8E59\u8E64\u8E60\u8E2A\u8E63\u8E55\u8E76\u8E72\u8E7C\u8E81\u8E87\u8E85\u8E84\u8E8B\u8E8A\u8E93\u8E91\u8E94\u8E99\u8EAA\u8EA1\u8EAC\u8EB0\u8EC6\u8EB1\u8EBE\u8EC5\u8EC8\u8ECB\u8EDB\u8EE3\u8EFC\u8EFB\u8EEB\u8EFE\u8F0A\u8F05\u8F15\u8F12\u8F19\u8F13\u8F1C\u8F1F\u8F1B\u8F0C\u8F26\u8F33\u8F3B\u8F39\u8F45\u8F42\u8F3E\u8F4C\u8F49\u8F46\u8F4E\u8F57\u8F5C\u8F62\u8F63\u8F64\u8F9C\u8F9F\u8FA3\u8FAD\u8FAF\u8FB7\u8FDA\u8FE5\u8FE2\u8FEA\u8FEF\u9087\u8FF4\u9005\u8FF9\u8FFA\u9011\u9015\u9021\u900D\u901E\u9016\u900B\u9027\u9036\u9035\u9039\u8FF8"],["eea1","\u904F\u9050\u9051\u9052\u900E\u9049\u903E\u9056\u9058\u905E\u9068\u906F\u9076\u96A8\u9072\u9082\u907D\u9081\u9080\u908A\u9089\u908F\u90A8\u90AF\u90B1\u90B5\u90E2\u90E4\u6248\u90DB\u9102\u9112\u9119\u9132\u9130\u914A\u9156\u9158\u9163\u9165\u9169\u9173\u9172\u918B\u9189\u9182\u91A2\u91AB\u91AF\u91AA\u91B5\u91B4\u91BA\u91C0\u91C1\u91C9\u91CB\u91D0\u91D6\u91DF\u91E1\u91DB\u91FC\u91F5\u91F6\u921E\u91FF\u9214\u922C\u9215\u9211\u925E\u9257\u9245\u9249\u9264\u9248\u9295\u923F\u924B\u9250\u929C\u9296\u9293\u929B\u925A\u92CF\u92B9\u92B7\u92E9\u930F\u92FA\u9344\u932E"],["efa1","\u9319\u9322\u931A\u9323\u933A\u9335\u933B\u935C\u9360\u937C\u936E\u9356\u93B0\u93AC\u93AD\u9394\u93B9\u93D6\u93D7\u93E8\u93E5\u93D8\u93C3\u93DD\u93D0\u93C8\u93E4\u941A\u9414\u9413\u9403\u9407\u9410\u9436\u942B\u9435\u9421\u943A\u9441\u9452\u9444\u945B\u9460\u9462\u945E\u946A\u9229\u9470\u9475\u9477\u947D\u945A\u947C\u947E\u9481\u947F\u9582\u9587\u958A\u9594\u9596\u9598\u9599\u95A0\u95A8\u95A7\u95AD\u95BC\u95BB\u95B9\u95BE\u95CA\u6FF6\u95C3\u95CD\u95CC\u95D5\u95D4\u95D6\u95DC\u95E1\u95E5\u95E2\u9621\u9628\u962E\u962F\u9642\u964C\u964F\u964B\u9677\u965C\u965E"],["f0a1","\u965D\u965F\u9666\u9672\u966C\u968D\u9698\u9695\u9697\u96AA\u96A7\u96B1\u96B2\u96B0\u96B4\u96B6\u96B8\u96B9\u96CE\u96CB\u96C9\u96CD\u894D\u96DC\u970D\u96D5\u96F9\u9704\u9706\u9708\u9713\u970E\u9711\u970F\u9716\u9719\u9724\u972A\u9730\u9739\u973D\u973E\u9744\u9746\u9748\u9742\u9749\u975C\u9760\u9764\u9766\u9768\u52D2\u976B\u9771\u9779\u9785\u977C\u9781\u977A\u9786\u978B\u978F\u9790\u979C\u97A8\u97A6\u97A3\u97B3\u97B4\u97C3\u97C6\u97C8\u97CB\u97DC\u97ED\u9F4F\u97F2\u7ADF\u97F6\u97F5\u980F\u980C\u9838\u9824\u9821\u9837\u983D\u9846\u984F\u984B\u986B\u986F\u9870"],["f1a1","\u9871\u9874\u9873\u98AA\u98AF\u98B1\u98B6\u98C4\u98C3\u98C6\u98E9\u98EB\u9903\u9909\u9912\u9914\u9918\u9921\u991D\u991E\u9924\u9920\u992C\u992E\u993D\u993E\u9942\u9949\u9945\u9950\u994B\u9951\u9952\u994C\u9955\u9997\u9998\u99A5\u99AD\u99AE\u99BC\u99DF\u99DB\u99DD\u99D8\u99D1\u99ED\u99EE\u99F1\u99F2\u99FB\u99F8\u9A01\u9A0F\u9A05\u99E2\u9A19\u9A2B\u9A37\u9A45\u9A42\u9A40\u9A43\u9A3E\u9A55\u9A4D\u9A5B\u9A57\u9A5F\u9A62\u9A65\u9A64\u9A69\u9A6B\u9A6A\u9AAD\u9AB0\u9ABC\u9AC0\u9ACF\u9AD1\u9AD3\u9AD4\u9ADE\u9ADF\u9AE2\u9AE3\u9AE6\u9AEF\u9AEB\u9AEE\u9AF4\u9AF1\u9AF7"],["f2a1","\u9AFB\u9B06\u9B18\u9B1A\u9B1F\u9B22\u9B23\u9B25\u9B27\u9B28\u9B29\u9B2A\u9B2E\u9B2F\u9B32\u9B44\u9B43\u9B4F\u9B4D\u9B4E\u9B51\u9B58\u9B74\u9B93\u9B83\u9B91\u9B96\u9B97\u9B9F\u9BA0\u9BA8\u9BB4\u9BC0\u9BCA\u9BB9\u9BC6\u9BCF\u9BD1\u9BD2\u9BE3\u9BE2\u9BE4\u9BD4\u9BE1\u9C3A\u9BF2\u9BF1\u9BF0\u9C15\u9C14\u9C09\u9C13\u9C0C\u9C06\u9C08\u9C12\u9C0A\u9C04\u9C2E\u9C1B\u9C25\u9C24\u9C21\u9C30\u9C47\u9C32\u9C46\u9C3E\u9C5A\u9C60\u9C67\u9C76\u9C78\u9CE7\u9CEC\u9CF0\u9D09\u9D08\u9CEB\u9D03\u9D06\u9D2A\u9D26\u9DAF\u9D23\u9D1F\u9D44\u9D15\u9D12\u9D41\u9D3F\u9D3E\u9D46\u9D48"],["f3a1","\u9D5D\u9D5E\u9D64\u9D51\u9D50\u9D59\u9D72\u9D89\u9D87\u9DAB\u9D6F\u9D7A\u9D9A\u9DA4\u9DA9\u9DB2\u9DC4\u9DC1\u9DBB\u9DB8\u9DBA\u9DC6\u9DCF\u9DC2\u9DD9\u9DD3\u9DF8\u9DE6\u9DED\u9DEF\u9DFD\u9E1A\u9E1B\u9E1E\u9E75\u9E79\u9E7D\u9E81\u9E88\u9E8B\u9E8C\u9E92\u9E95\u9E91\u9E9D\u9EA5\u9EA9\u9EB8\u9EAA\u9EAD\u9761\u9ECC\u9ECE\u9ECF\u9ED0\u9ED4\u9EDC\u9EDE\u9EDD\u9EE0\u9EE5\u9EE8\u9EEF\u9EF4\u9EF6\u9EF7\u9EF9\u9EFB\u9EFC\u9EFD\u9F07\u9F08\u76B7\u9F15\u9F21\u9F2C\u9F3E\u9F4A\u9F52\u9F54\u9F63\u9F5F\u9F60\u9F61\u9F66\u9F67\u9F6C\u9F6A\u9F77\u9F72\u9F76\u9F95\u9F9C\u9FA0"],["f4a1","\u582F\u69C7\u9059\u7464\u51DC\u7199"],["f9a1","\u7E8A\u891C\u9348\u9288\u84DC\u4FC9\u70BB\u6631\u68C8\u92F9\u66FB\u5F45\u4E28\u4EE1\u4EFC\u4F00\u4F03\u4F39\u4F56\u4F92\u4F8A\u4F9A\u4F94\u4FCD\u5040\u5022\u4FFF\u501E\u5046\u5070\u5042\u5094\u50F4\u50D8\u514A\u5164\u519D\u51BE\u51EC\u5215\u529C\u52A6\u52C0\u52DB\u5300\u5307\u5324\u5372\u5393\u53B2\u53DD\uFA0E\u549C\u548A\u54A9\u54FF\u5586\u5759\u5765\u57AC\u57C8\u57C7\uFA0F\uFA10\u589E\u58B2\u590B\u5953\u595B\u595D\u5963\u59A4\u59BA\u5B56\u5BC0\u752F\u5BD8\u5BEC\u5C1E\u5CA6\u5CBA\u5CF5\u5D27\u5D53\uFA11\u5D42\u5D6D\u5DB8\u5DB9\u5DD0\u5F21\u5F34\u5F67\u5FB7"],["faa1","\u5FDE\u605D\u6085\u608A\u60DE\u60D5\u6120\u60F2\u6111\u6137\u6130\u6198\u6213\u62A6\u63F5\u6460\u649D\u64CE\u654E\u6600\u6615\u663B\u6609\u662E\u661E\u6624\u6665\u6657\u6659\uFA12\u6673\u6699\u66A0\u66B2\u66BF\u66FA\u670E\uF929\u6766\u67BB\u6852\u67C0\u6801\u6844\u68CF\uFA13\u6968\uFA14\u6998\u69E2\u6A30\u6A6B\u6A46\u6A73\u6A7E\u6AE2\u6AE4\u6BD6\u6C3F\u6C5C\u6C86\u6C6F\u6CDA\u6D04\u6D87\u6D6F\u6D96\u6DAC\u6DCF\u6DF8\u6DF2\u6DFC\u6E39\u6E5C\u6E27\u6E3C\u6EBF\u6F88\u6FB5\u6FF5\u7005\u7007\u7028\u7085\u70AB\u710F\u7104\u715C\u7146\u7147\uFA15\u71C1\u71FE\u72B1"],["fba1","\u72BE\u7324\uFA16\u7377\u73BD\u73C9\u73D6\u73E3\u73D2\u7407\u73F5\u7426\u742A\u7429\u742E\u7462\u7489\u749F\u7501\u756F\u7682\u769C\u769E\u769B\u76A6\uFA17\u7746\u52AF\u7821\u784E\u7864\u787A\u7930\uFA18\uFA19\uFA1A\u7994\uFA1B\u799B\u7AD1\u7AE7\uFA1C\u7AEB\u7B9E\uFA1D\u7D48\u7D5C\u7DB7\u7DA0\u7DD6\u7E52\u7F47\u7FA1\uFA1E\u8301\u8362\u837F\u83C7\u83F6\u8448\u84B4\u8553\u8559\u856B\uFA1F\u85B0\uFA20\uFA21\u8807\u88F5\u8A12\u8A37\u8A79\u8AA7\u8ABE\u8ADF\uFA22\u8AF6\u8B53\u8B7F\u8CF0\u8CF4\u8D12\u8D76\uFA23\u8ECF\uFA24\uFA25\u9067\u90DE\uFA26\u9115\u9127\u91DA"],["fca1","\u91D7\u91DE\u91ED\u91EE\u91E4\u91E5\u9206\u9210\u920A\u923A\u9240\u923C\u924E\u9259\u9251\u9239\u9267\u92A7\u9277\u9278\u92E7\u92D7\u92D9\u92D0\uFA27\u92D5\u92E0\u92D3\u9325\u9321\u92FB\uFA28\u931E\u92FF\u931D\u9302\u9370\u9357\u93A4\u93C6\u93DE\u93F8\u9431\u9445\u9448\u9592\uF9DC\uFA29\u969D\u96AF\u9733\u973B\u9743\u974D\u974F\u9751\u9755\u9857\u9865\uFA2A\uFA2B\u9927\uFA2C\u999E\u9A4E\u9AD9\u9ADC\u9B75\u9B72\u9B8F\u9BB1\u9BBB\u9C00\u9D70\u9D6B\uFA2D\u9E19\u9ED1"],["fcf1","\u2170",9,"\uFFE2\uFFE4\uFF07\uFF02"],["8fa2af","\u02D8\u02C7\xB8\u02D9\u02DD\xAF\u02DB\u02DA\uFF5E\u0384\u0385"],["8fa2c2","\xA1\xA6\xBF"],["8fa2eb","\xBA\xAA\xA9\xAE\u2122\xA4\u2116"],["8fa6e1","\u0386\u0388\u0389\u038A\u03AA"],["8fa6e7","\u038C"],["8fa6e9","\u038E\u03AB"],["8fa6ec","\u038F"],["8fa6f1","\u03AC\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03C2\u03CD\u03CB\u03B0\u03CE"],["8fa7c2","\u0402",10,"\u040E\u040F"],["8fa7f2","\u0452",10,"\u045E\u045F"],["8fa9a1","\xC6\u0110"],["8fa9a4","\u0126"],["8fa9a6","\u0132"],["8fa9a8","\u0141\u013F"],["8fa9ab","\u014A\xD8\u0152"],["8fa9af","\u0166\xDE"],["8fa9c1","\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0142\u0140\u0149\u014B\xF8\u0153\xDF\u0167\xFE"],["8faaa1","\xC1\xC0\xC4\xC2\u0102\u01CD\u0100\u0104\xC5\xC3\u0106\u0108\u010C\xC7\u010A\u010E\xC9\xC8\xCB\xCA\u011A\u0116\u0112\u0118"],["8faaba","\u011C\u011E\u0122\u0120\u0124\xCD\xCC\xCF\xCE\u01CF\u0130\u012A\u012E\u0128\u0134\u0136\u0139\u013D\u013B\u0143\u0147\u0145\xD1\xD3\xD2\xD6\xD4\u01D1\u0150\u014C\xD5\u0154\u0158\u0156\u015A\u015C\u0160\u015E\u0164\u0162\xDA\xD9\xDC\xDB\u016C\u01D3\u0170\u016A\u0172\u016E\u0168\u01D7\u01DB\u01D9\u01D5\u0174\xDD\u0178\u0176\u0179\u017D\u017B"],["8faba1","\xE1\xE0\xE4\xE2\u0103\u01CE\u0101\u0105\xE5\xE3\u0107\u0109\u010D\xE7\u010B\u010F\xE9\xE8\xEB\xEA\u011B\u0117\u0113\u0119\u01F5\u011D\u011F"],["8fabbd","\u0121\u0125\xED\xEC\xEF\xEE\u01D0"],["8fabc5","\u012B\u012F\u0129\u0135\u0137\u013A\u013E\u013C\u0144\u0148\u0146\xF1\xF3\xF2\xF6\xF4\u01D2\u0151\u014D\xF5\u0155\u0159\u0157\u015B\u015D\u0161\u015F\u0165\u0163\xFA\xF9\xFC\xFB\u016D\u01D4\u0171\u016B\u0173\u016F\u0169\u01D8\u01DC\u01DA\u01D6\u0175\xFD\xFF\u0177\u017A\u017E\u017C"],["8fb0a1","\u4E02\u4E04\u4E05\u4E0C\u4E12\u4E1F\u4E23\u4E24\u4E28\u4E2B\u4E2E\u4E2F\u4E30\u4E35\u4E40\u4E41\u4E44\u4E47\u4E51\u4E5A\u4E5C\u4E63\u4E68\u4E69\u4E74\u4E75\u4E79\u4E7F\u4E8D\u4E96\u4E97\u4E9D\u4EAF\u4EB9\u4EC3\u4ED0\u4EDA\u4EDB\u4EE0\u4EE1\u4EE2\u4EE8\u4EEF\u4EF1\u4EF3\u4EF5\u4EFD\u4EFE\u4EFF\u4F00\u4F02\u4F03\u4F08\u4F0B\u4F0C\u4F12\u4F15\u4F16\u4F17\u4F19\u4F2E\u4F31\u4F60\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E\u4F40\u4F42\u4F48\u4F49\u4F4B\u4F4C\u4F52\u4F54\u4F56\u4F58\u4F5F\u4F63\u4F6A\u4F6C\u4F6E\u4F71\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F7E\u4F81\u4F82\u4F84"],["8fb1a1","\u4F85\u4F89\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F94\u4F97\u4F99\u4F9A\u4F9E\u4F9F\u4FB2\u4FB7\u4FB9\u4FBB\u4FBC\u4FBD\u4FBE\u4FC0\u4FC1\u4FC5\u4FC6\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FCF\u4FD2\u4FDC\u4FE0\u4FE2\u4FF0\u4FF2\u4FFC\u4FFD\u4FFF\u5000\u5001\u5004\u5007\u500A\u500C\u500E\u5010\u5013\u5017\u5018\u501B\u501C\u501D\u501E\u5022\u5027\u502E\u5030\u5032\u5033\u5035\u5040\u5041\u5042\u5045\u5046\u504A\u504C\u504E\u5051\u5052\u5053\u5057\u5059\u505F\u5060\u5062\u5063\u5066\u5067\u506A\u506D\u5070\u5071\u503B\u5081\u5083\u5084\u5086\u508A\u508E\u508F\u5090"],["8fb2a1","\u5092\u5093\u5094\u5096\u509B\u509C\u509E",4,"\u50AA\u50AF\u50B0\u50B9\u50BA\u50BD\u50C0\u50C3\u50C4\u50C7\u50CC\u50CE\u50D0\u50D3\u50D4\u50D8\u50DC\u50DD\u50DF\u50E2\u50E4\u50E6\u50E8\u50E9\u50EF\u50F1\u50F6\u50FA\u50FE\u5103\u5106\u5107\u5108\u510B\u510C\u510D\u510E\u50F2\u5110\u5117\u5119\u511B\u511C\u511D\u511E\u5123\u5127\u5128\u512C\u512D\u512F\u5131\u5133\u5134\u5135\u5138\u5139\u5142\u514A\u514F\u5153\u5155\u5157\u5158\u515F\u5164\u5166\u517E\u5183\u5184\u518B\u518E\u5198\u519D\u51A1\u51A3\u51AD\u51B8\u51BA\u51BC\u51BE\u51BF\u51C2"],["8fb3a1","\u51C8\u51CF\u51D1\u51D2\u51D3\u51D5\u51D8\u51DE\u51E2\u51E5\u51EE\u51F2\u51F3\u51F4\u51F7\u5201\u5202\u5205\u5212\u5213\u5215\u5216\u5218\u5222\u5228\u5231\u5232\u5235\u523C\u5245\u5249\u5255\u5257\u5258\u525A\u525C\u525F\u5260\u5261\u5266\u526E\u5277\u5278\u5279\u5280\u5282\u5285\u528A\u528C\u5293\u5295\u5296\u5297\u5298\u529A\u529C\u52A4\u52A5\u52A6\u52A7\u52AF\u52B0\u52B6\u52B7\u52B8\u52BA\u52BB\u52BD\u52C0\u52C4\u52C6\u52C8\u52CC\u52CF\u52D1\u52D4\u52D6\u52DB\u52DC\u52E1\u52E5\u52E8\u52E9\u52EA\u52EC\u52F0\u52F1\u52F4\u52F6\u52F7\u5300\u5303\u530A\u530B"],["8fb4a1","\u530C\u5311\u5313\u5318\u531B\u531C\u531E\u531F\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u5330\u5332\u5335\u533C\u533D\u533E\u5342\u534C\u534B\u5359\u535B\u5361\u5363\u5365\u536C\u536D\u5372\u5379\u537E\u5383\u5387\u5388\u538E\u5393\u5394\u5399\u539D\u53A1\u53A4\u53AA\u53AB\u53AF\u53B2\u53B4\u53B5\u53B7\u53B8\u53BA\u53BD\u53C0\u53C5\u53CF\u53D2\u53D3\u53D5\u53DA\u53DD\u53DE\u53E0\u53E6\u53E7\u53F5\u5402\u5413\u541A\u5421\u5427\u5428\u542A\u542F\u5431\u5434\u5435\u5443\u5444\u5447\u544D\u544F\u545E\u5462\u5464\u5466\u5467\u5469\u546B\u546D\u546E\u5474\u547F"],["8fb5a1","\u5481\u5483\u5485\u5488\u5489\u548D\u5491\u5495\u5496\u549C\u549F\u54A1\u54A6\u54A7\u54A9\u54AA\u54AD\u54AE\u54B1\u54B7\u54B9\u54BA\u54BB\u54BF\u54C6\u54CA\u54CD\u54CE\u54E0\u54EA\u54EC\u54EF\u54F6\u54FC\u54FE\u54FF\u5500\u5501\u5505\u5508\u5509\u550C\u550D\u550E\u5515\u552A\u552B\u5532\u5535\u5536\u553B\u553C\u553D\u5541\u5547\u5549\u554A\u554D\u5550\u5551\u5558\u555A\u555B\u555E\u5560\u5561\u5564\u5566\u557F\u5581\u5582\u5586\u5588\u558E\u558F\u5591\u5592\u5593\u5594\u5597\u55A3\u55A4\u55AD\u55B2\u55BF\u55C1\u55C3\u55C6\u55C9\u55CB\u55CC\u55CE\u55D1\u55D2"],["8fb6a1","\u55D3\u55D7\u55D8\u55DB\u55DE\u55E2\u55E9\u55F6\u55FF\u5605\u5608\u560A\u560D",5,"\u5619\u562C\u5630\u5633\u5635\u5637\u5639\u563B\u563C\u563D\u563F\u5640\u5641\u5643\u5644\u5646\u5649\u564B\u564D\u564F\u5654\u565E\u5660\u5661\u5662\u5663\u5666\u5669\u566D\u566F\u5671\u5672\u5675\u5684\u5685\u5688\u568B\u568C\u5695\u5699\u569A\u569D\u569E\u569F\u56A6\u56A7\u56A8\u56A9\u56AB\u56AC\u56AD\u56B1\u56B3\u56B7\u56BE\u56C5\u56C9\u56CA\u56CB\u56CF\u56D0\u56CC\u56CD\u56D9\u56DC\u56DD\u56DF\u56E1\u56E4",4,"\u56F1\u56EB\u56ED"],["8fb7a1","\u56F6\u56F7\u5701\u5702\u5707\u570A\u570C\u5711\u5715\u571A\u571B\u571D\u5720\u5722\u5723\u5724\u5725\u5729\u572A\u572C\u572E\u572F\u5733\u5734\u573D\u573E\u573F\u5745\u5746\u574C\u574D\u5752\u5762\u5765\u5767\u5768\u576B\u576D",4,"\u5773\u5774\u5775\u5777\u5779\u577A\u577B\u577C\u577E\u5781\u5783\u578C\u5794\u5797\u5799\u579A\u579C\u579D\u579E\u579F\u57A1\u5795\u57A7\u57A8\u57A9\u57AC\u57B8\u57BD\u57C7\u57C8\u57CC\u57CF\u57D5\u57DD\u57DE\u57E4\u57E6\u57E7\u57E9\u57ED\u57F0\u57F5\u57F6\u57F8\u57FD\u57FE\u57FF\u5803\u5804\u5808\u5809\u57E1"],["8fb8a1","\u580C\u580D\u581B\u581E\u581F\u5820\u5826\u5827\u582D\u5832\u5839\u583F\u5849\u584C\u584D\u584F\u5850\u5855\u585F\u5861\u5864\u5867\u5868\u5878\u587C\u587F\u5880\u5881\u5887\u5888\u5889\u588A\u588C\u588D\u588F\u5890\u5894\u5896\u589D\u58A0\u58A1\u58A2\u58A6\u58A9\u58B1\u58B2\u58C4\u58BC\u58C2\u58C8\u58CD\u58CE\u58D0\u58D2\u58D4\u58D6\u58DA\u58DD\u58E1\u58E2\u58E9\u58F3\u5905\u5906\u590B\u590C\u5912\u5913\u5914\u8641\u591D\u5921\u5923\u5924\u5928\u592F\u5930\u5933\u5935\u5936\u593F\u5943\u5946\u5952\u5953\u5959\u595B\u595D\u595E\u595F\u5961\u5963\u596B\u596D"],["8fb9a1","\u596F\u5972\u5975\u5976\u5979\u597B\u597C\u598B\u598C\u598E\u5992\u5995\u5997\u599F\u59A4\u59A7\u59AD\u59AE\u59AF\u59B0\u59B3\u59B7\u59BA\u59BC\u59C1\u59C3\u59C4\u59C8\u59CA\u59CD\u59D2\u59DD\u59DE\u59DF\u59E3\u59E4\u59E7\u59EE\u59EF\u59F1\u59F2\u59F4\u59F7\u5A00\u5A04\u5A0C\u5A0D\u5A0E\u5A12\u5A13\u5A1E\u5A23\u5A24\u5A27\u5A28\u5A2A\u5A2D\u5A30\u5A44\u5A45\u5A47\u5A48\u5A4C\u5A50\u5A55\u5A5E\u5A63\u5A65\u5A67\u5A6D\u5A77\u5A7A\u5A7B\u5A7E\u5A8B\u5A90\u5A93\u5A96\u5A99\u5A9C\u5A9E\u5A9F\u5AA0\u5AA2\u5AA7\u5AAC\u5AB1\u5AB2\u5AB3\u5AB5\u5AB8\u5ABA\u5ABB\u5ABF"],["8fbaa1","\u5AC4\u5AC6\u5AC8\u5ACF\u5ADA\u5ADC\u5AE0\u5AE5\u5AEA\u5AEE\u5AF5\u5AF6\u5AFD\u5B00\u5B01\u5B08\u5B17\u5B34\u5B19\u5B1B\u5B1D\u5B21\u5B25\u5B2D\u5B38\u5B41\u5B4B\u5B4C\u5B52\u5B56\u5B5E\u5B68\u5B6E\u5B6F\u5B7C\u5B7D\u5B7E\u5B7F\u5B81\u5B84\u5B86\u5B8A\u5B8E\u5B90\u5B91\u5B93\u5B94\u5B96\u5BA8\u5BA9\u5BAC\u5BAD\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBC\u5BC0\u5BC1\u5BCD\u5BCF\u5BD6",4,"\u5BE0\u5BEF\u5BF1\u5BF4\u5BFD\u5C0C\u5C17\u5C1E\u5C1F\u5C23\u5C26\u5C29\u5C2B\u5C2C\u5C2E\u5C30\u5C32\u5C35\u5C36\u5C59\u5C5A\u5C5C\u5C62\u5C63\u5C67\u5C68\u5C69"],["8fbba1","\u5C6D\u5C70\u5C74\u5C75\u5C7A\u5C7B\u5C7C\u5C7D\u5C87\u5C88\u5C8A\u5C8F\u5C92\u5C9D\u5C9F\u5CA0\u5CA2\u5CA3\u5CA6\u5CAA\u5CB2\u5CB4\u5CB5\u5CBA\u5CC9\u5CCB\u5CD2\u5CDD\u5CD7\u5CEE\u5CF1\u5CF2\u5CF4\u5D01\u5D06\u5D0D\u5D12\u5D2B\u5D23\u5D24\u5D26\u5D27\u5D31\u5D34\u5D39\u5D3D\u5D3F\u5D42\u5D43\u5D46\u5D48\u5D55\u5D51\u5D59\u5D4A\u5D5F\u5D60\u5D61\u5D62\u5D64\u5D6A\u5D6D\u5D70\u5D79\u5D7A\u5D7E\u5D7F\u5D81\u5D83\u5D88\u5D8A\u5D92\u5D93\u5D94\u5D95\u5D99\u5D9B\u5D9F\u5DA0\u5DA7\u5DAB\u5DB0\u5DB4\u5DB8\u5DB9\u5DC3\u5DC7\u5DCB\u5DD0\u5DCE\u5DD8\u5DD9\u5DE0\u5DE4"],["8fbca1","\u5DE9\u5DF8\u5DF9\u5E00\u5E07\u5E0D\u5E12\u5E14\u5E15\u5E18\u5E1F\u5E20\u5E2E\u5E28\u5E32\u5E35\u5E3E\u5E4B\u5E50\u5E49\u5E51\u5E56\u5E58\u5E5B\u5E5C\u5E5E\u5E68\u5E6A",4,"\u5E70\u5E80\u5E8B\u5E8E\u5EA2\u5EA4\u5EA5\u5EA8\u5EAA\u5EAC\u5EB1\u5EB3\u5EBD\u5EBE\u5EBF\u5EC6\u5ECC\u5ECB\u5ECE\u5ED1\u5ED2\u5ED4\u5ED5\u5EDC\u5EDE\u5EE5\u5EEB\u5F02\u5F06\u5F07\u5F08\u5F0E\u5F19\u5F1C\u5F1D\u5F21\u5F22\u5F23\u5F24\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F34\u5F36\u5F3B\u5F3D\u5F3F\u5F40\u5F44\u5F45\u5F47\u5F4D\u5F50\u5F54\u5F58\u5F5B\u5F60\u5F63\u5F64\u5F67"],["8fbda1","\u5F6F\u5F72\u5F74\u5F75\u5F78\u5F7A\u5F7D\u5F7E\u5F89\u5F8D\u5F8F\u5F96\u5F9C\u5F9D\u5FA2\u5FA7\u5FAB\u5FA4\u5FAC\u5FAF\u5FB0\u5FB1\u5FB8\u5FC4\u5FC7\u5FC8\u5FC9\u5FCB\u5FD0",4,"\u5FDE\u5FE1\u5FE2\u5FE8\u5FE9\u5FEA\u5FEC\u5FED\u5FEE\u5FEF\u5FF2\u5FF3\u5FF6\u5FFA\u5FFC\u6007\u600A\u600D\u6013\u6014\u6017\u6018\u601A\u601F\u6024\u602D\u6033\u6035\u6040\u6047\u6048\u6049\u604C\u6051\u6054\u6056\u6057\u605D\u6061\u6067\u6071\u607E\u607F\u6082\u6086\u6088\u608A\u608E\u6091\u6093\u6095\u6098\u609D\u609E\u60A2\u60A4\u60A5\u60A8\u60B0\u60B1\u60B7"],["8fbea1","\u60BB\u60BE\u60C2\u60C4\u60C8\u60C9\u60CA\u60CB\u60CE\u60CF\u60D4\u60D5\u60D9\u60DB\u60DD\u60DE\u60E2\u60E5\u60F2\u60F5\u60F8\u60FC\u60FD\u6102\u6107\u610A\u610C\u6110",4,"\u6116\u6117\u6119\u611C\u611E\u6122\u612A\u612B\u6130\u6131\u6135\u6136\u6137\u6139\u6141\u6145\u6146\u6149\u615E\u6160\u616C\u6172\u6178\u617B\u617C\u617F\u6180\u6181\u6183\u6184\u618B\u618D\u6192\u6193\u6197\u6198\u619C\u619D\u619F\u61A0\u61A5\u61A8\u61AA\u61AD\u61B8\u61B9\u61BC\u61C0\u61C1\u61C2\u61CE\u61CF\u61D5\u61DC\u61DD\u61DE\u61DF\u61E1\u61E2\u61E7\u61E9\u61E5"],["8fbfa1","\u61EC\u61ED\u61EF\u6201\u6203\u6204\u6207\u6213\u6215\u621C\u6220\u6222\u6223\u6227\u6229\u622B\u6239\u623D\u6242\u6243\u6244\u6246\u624C\u6250\u6251\u6252\u6254\u6256\u625A\u625C\u6264\u626D\u626F\u6273\u627A\u627D\u628D\u628E\u628F\u6290\u62A6\u62A8\u62B3\u62B6\u62B7\u62BA\u62BE\u62BF\u62C4\u62CE\u62D5\u62D6\u62DA\u62EA\u62F2\u62F4\u62FC\u62FD\u6303\u6304\u630A\u630B\u630D\u6310\u6313\u6316\u6318\u6329\u632A\u632D\u6335\u6336\u6339\u633C\u6341\u6342\u6343\u6344\u6346\u634A\u634B\u634E\u6352\u6353\u6354\u6358\u635B\u6365\u6366\u636C\u636D\u6371\u6374\u6375"],["8fc0a1","\u6378\u637C\u637D\u637F\u6382\u6384\u6387\u638A\u6390\u6394\u6395\u6399\u639A\u639E\u63A4\u63A6\u63AD\u63AE\u63AF\u63BD\u63C1\u63C5\u63C8\u63CE\u63D1\u63D3\u63D4\u63D5\u63DC\u63E0\u63E5\u63EA\u63EC\u63F2\u63F3\u63F5\u63F8\u63F9\u6409\u640A\u6410\u6412\u6414\u6418\u641E\u6420\u6422\u6424\u6425\u6429\u642A\u642F\u6430\u6435\u643D\u643F\u644B\u644F\u6451\u6452\u6453\u6454\u645A\u645B\u645C\u645D\u645F\u6460\u6461\u6463\u646D\u6473\u6474\u647B\u647D\u6485\u6487\u648F\u6490\u6491\u6498\u6499\u649B\u649D\u649F\u64A1\u64A3\u64A6\u64A8\u64AC\u64B3\u64BD\u64BE\u64BF"],["8fc1a1","\u64C4\u64C9\u64CA\u64CB\u64CC\u64CE\u64D0\u64D1\u64D5\u64D7\u64E4\u64E5\u64E9\u64EA\u64ED\u64F0\u64F5\u64F7\u64FB\u64FF\u6501\u6504\u6508\u6509\u650A\u650F\u6513\u6514\u6516\u6519\u651B\u651E\u651F\u6522\u6526\u6529\u652E\u6531\u653A\u653C\u653D\u6543\u6547\u6549\u6550\u6552\u6554\u655F\u6560\u6567\u656B\u657A\u657D\u6581\u6585\u658A\u6592\u6595\u6598\u659D\u65A0\u65A3\u65A6\u65AE\u65B2\u65B3\u65B4\u65BF\u65C2\u65C8\u65C9\u65CE\u65D0\u65D4\u65D6\u65D8\u65DF\u65F0\u65F2\u65F4\u65F5\u65F9\u65FE\u65FF\u6600\u6604\u6608\u6609\u660D\u6611\u6612\u6615\u6616\u661D"],["8fc2a1","\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6631\u6633\u6639\u6637\u6640\u6645\u6646\u664A\u664C\u6651\u664E\u6657\u6658\u6659\u665B\u665C\u6660\u6661\u66FB\u666A\u666B\u666C\u667E\u6673\u6675\u667F\u6677\u6678\u6679\u667B\u6680\u667C\u668B\u668C\u668D\u6690\u6692\u6699\u669A\u669B\u669C\u669F\u66A0\u66A4\u66AD\u66B1\u66B2\u66B5\u66BB\u66BF\u66C0\u66C2\u66C3\u66C8\u66CC\u66CE\u66CF\u66D4\u66DB\u66DF\u66E8\u66EB\u66EC\u66EE\u66FA\u6705\u6707\u670E\u6713\u6719\u671C\u6720\u6722\u6733\u673E\u6745\u6747\u6748\u674C\u6754\u6755\u675D"],["8fc3a1","\u6766\u676C\u676E\u6774\u6776\u677B\u6781\u6784\u678E\u678F\u6791\u6793\u6796\u6798\u6799\u679B\u67B0\u67B1\u67B2\u67B5\u67BB\u67BC\u67BD\u67F9\u67C0\u67C2\u67C3\u67C5\u67C8\u67C9\u67D2\u67D7\u67D9\u67DC\u67E1\u67E6\u67F0\u67F2\u67F6\u67F7\u6852\u6814\u6819\u681D\u681F\u6828\u6827\u682C\u682D\u682F\u6830\u6831\u6833\u683B\u683F\u6844\u6845\u684A\u684C\u6855\u6857\u6858\u685B\u686B\u686E",4,"\u6875\u6879\u687A\u687B\u687C\u6882\u6884\u6886\u6888\u6896\u6898\u689A\u689C\u68A1\u68A3\u68A5\u68A9\u68AA\u68AE\u68B2\u68BB\u68C5\u68C8\u68CC\u68CF"],["8fc4a1","\u68D0\u68D1\u68D3\u68D6\u68D9\u68DC\u68DD\u68E5\u68E8\u68EA\u68EB\u68EC\u68ED\u68F0\u68F1\u68F5\u68F6\u68FB\u68FC\u68FD\u6906\u6909\u690A\u6910\u6911\u6913\u6916\u6917\u6931\u6933\u6935\u6938\u693B\u6942\u6945\u6949\u694E\u6957\u695B\u6963\u6964\u6965\u6966\u6968\u6969\u696C\u6970\u6971\u6972\u697A\u697B\u697F\u6980\u698D\u6992\u6996\u6998\u69A1\u69A5\u69A6\u69A8\u69AB\u69AD\u69AF\u69B7\u69B8\u69BA\u69BC\u69C5\u69C8\u69D1\u69D6\u69D7\u69E2\u69E5\u69EE\u69EF\u69F1\u69F3\u69F5\u69FE\u6A00\u6A01\u6A03\u6A0F\u6A11\u6A15\u6A1A\u6A1D\u6A20\u6A24\u6A28\u6A30\u6A32"],["8fc5a1","\u6A34\u6A37\u6A3B\u6A3E\u6A3F\u6A45\u6A46\u6A49\u6A4A\u6A4E\u6A50\u6A51\u6A52\u6A55\u6A56\u6A5B\u6A64\u6A67\u6A6A\u6A71\u6A73\u6A7E\u6A81\u6A83\u6A86\u6A87\u6A89\u6A8B\u6A91\u6A9B\u6A9D\u6A9E\u6A9F\u6AA5\u6AAB\u6AAF\u6AB0\u6AB1\u6AB4\u6ABD\u6ABE\u6ABF\u6AC6\u6AC9\u6AC8\u6ACC\u6AD0\u6AD4\u6AD5\u6AD6\u6ADC\u6ADD\u6AE4\u6AE7\u6AEC\u6AF0\u6AF1\u6AF2\u6AFC\u6AFD\u6B02\u6B03\u6B06\u6B07\u6B09\u6B0F\u6B10\u6B11\u6B17\u6B1B\u6B1E\u6B24\u6B28\u6B2B\u6B2C\u6B2F\u6B35\u6B36\u6B3B\u6B3F\u6B46\u6B4A\u6B4D\u6B52\u6B56\u6B58\u6B5D\u6B60\u6B67\u6B6B\u6B6E\u6B70\u6B75\u6B7D"],["8fc6a1","\u6B7E\u6B82\u6B85\u6B97\u6B9B\u6B9F\u6BA0\u6BA2\u6BA3\u6BA8\u6BA9\u6BAC\u6BAD\u6BAE\u6BB0\u6BB8\u6BB9\u6BBD\u6BBE\u6BC3\u6BC4\u6BC9\u6BCC\u6BD6\u6BDA\u6BE1\u6BE3\u6BE6\u6BE7\u6BEE\u6BF1\u6BF7\u6BF9\u6BFF\u6C02\u6C04\u6C05\u6C09\u6C0D\u6C0E\u6C10\u6C12\u6C19\u6C1F\u6C26\u6C27\u6C28\u6C2C\u6C2E\u6C33\u6C35\u6C36\u6C3A\u6C3B\u6C3F\u6C4A\u6C4B\u6C4D\u6C4F\u6C52\u6C54\u6C59\u6C5B\u6C5C\u6C6B\u6C6D\u6C6F\u6C74\u6C76\u6C78\u6C79\u6C7B\u6C85\u6C86\u6C87\u6C89\u6C94\u6C95\u6C97\u6C98\u6C9C\u6C9F\u6CB0\u6CB2\u6CB4\u6CC2\u6CC6\u6CCD\u6CCF\u6CD0\u6CD1\u6CD2\u6CD4\u6CD6"],["8fc7a1","\u6CDA\u6CDC\u6CE0\u6CE7\u6CE9\u6CEB\u6CEC\u6CEE\u6CF2\u6CF4\u6D04\u6D07\u6D0A\u6D0E\u6D0F\u6D11\u6D13\u6D1A\u6D26\u6D27\u6D28\u6C67\u6D2E\u6D2F\u6D31\u6D39\u6D3C\u6D3F\u6D57\u6D5E\u6D5F\u6D61\u6D65\u6D67\u6D6F\u6D70\u6D7C\u6D82\u6D87\u6D91\u6D92\u6D94\u6D96\u6D97\u6D98\u6DAA\u6DAC\u6DB4\u6DB7\u6DB9\u6DBD\u6DBF\u6DC4\u6DC8\u6DCA\u6DCE\u6DCF\u6DD6\u6DDB\u6DDD\u6DDF\u6DE0\u6DE2\u6DE5\u6DE9\u6DEF\u6DF0\u6DF4\u6DF6\u6DFC\u6E00\u6E04\u6E1E\u6E22\u6E27\u6E32\u6E36\u6E39\u6E3B\u6E3C\u6E44\u6E45\u6E48\u6E49\u6E4B\u6E4F\u6E51\u6E52\u6E53\u6E54\u6E57\u6E5C\u6E5D\u6E5E"],["8fc8a1","\u6E62\u6E63\u6E68\u6E73\u6E7B\u6E7D\u6E8D\u6E93\u6E99\u6EA0\u6EA7\u6EAD\u6EAE\u6EB1\u6EB3\u6EBB\u6EBF\u6EC0\u6EC1\u6EC3\u6EC7\u6EC8\u6ECA\u6ECD\u6ECE\u6ECF\u6EEB\u6EED\u6EEE\u6EF9\u6EFB\u6EFD\u6F04\u6F08\u6F0A\u6F0C\u6F0D\u6F16\u6F18\u6F1A\u6F1B\u6F26\u6F29\u6F2A\u6F2F\u6F30\u6F33\u6F36\u6F3B\u6F3C\u6F2D\u6F4F\u6F51\u6F52\u6F53\u6F57\u6F59\u6F5A\u6F5D\u6F5E\u6F61\u6F62\u6F68\u6F6C\u6F7D\u6F7E\u6F83\u6F87\u6F88\u6F8B\u6F8C\u6F8D\u6F90\u6F92\u6F93\u6F94\u6F96\u6F9A\u6F9F\u6FA0\u6FA5\u6FA6\u6FA7\u6FA8\u6FAE\u6FAF\u6FB0\u6FB5\u6FB6\u6FBC\u6FC5\u6FC7\u6FC8\u6FCA"],["8fc9a1","\u6FDA\u6FDE\u6FE8\u6FE9\u6FF0\u6FF5\u6FF9\u6FFC\u6FFD\u7000\u7005\u7006\u7007\u700D\u7017\u7020\u7023\u702F\u7034\u7037\u7039\u703C\u7043\u7044\u7048\u7049\u704A\u704B\u7054\u7055\u705D\u705E\u704E\u7064\u7065\u706C\u706E\u7075\u7076\u707E\u7081\u7085\u7086\u7094",4,"\u709B\u70A4\u70AB\u70B0\u70B1\u70B4\u70B7\u70CA\u70D1\u70D3\u70D4\u70D5\u70D6\u70D8\u70DC\u70E4\u70FA\u7103",4,"\u710B\u710C\u710F\u711E\u7120\u712B\u712D\u712F\u7130\u7131\u7138\u7141\u7145\u7146\u7147\u714A\u714B\u7150\u7152\u7157\u715A\u715C\u715E\u7160"],["8fcaa1","\u7168\u7179\u7180\u7185\u7187\u718C\u7192\u719A\u719B\u71A0\u71A2\u71AF\u71B0\u71B2\u71B3\u71BA\u71BF\u71C0\u71C1\u71C4\u71CB\u71CC\u71D3\u71D6\u71D9\u71DA\u71DC\u71F8\u71FE\u7200\u7207\u7208\u7209\u7213\u7217\u721A\u721D\u721F\u7224\u722B\u722F\u7234\u7238\u7239\u7241\u7242\u7243\u7245\u724E\u724F\u7250\u7253\u7255\u7256\u725A\u725C\u725E\u7260\u7263\u7268\u726B\u726E\u726F\u7271\u7277\u7278\u727B\u727C\u727F\u7284\u7289\u728D\u728E\u7293\u729B\u72A8\u72AD\u72AE\u72B1\u72B4\u72BE\u72C1\u72C7\u72C9\u72CC\u72D5\u72D6\u72D8\u72DF\u72E5\u72F3\u72F4\u72FA\u72FB"],["8fcba1","\u72FE\u7302\u7304\u7305\u7307\u730B\u730D\u7312\u7313\u7318\u7319\u731E\u7322\u7324\u7327\u7328\u732C\u7331\u7332\u7335\u733A\u733B\u733D\u7343\u734D\u7350\u7352\u7356\u7358\u735D\u735E\u735F\u7360\u7366\u7367\u7369\u736B\u736C\u736E\u736F\u7371\u7377\u7379\u737C\u7380\u7381\u7383\u7385\u7386\u738E\u7390\u7393\u7395\u7397\u7398\u739C\u739E\u739F\u73A0\u73A2\u73A5\u73A6\u73AA\u73AB\u73AD\u73B5\u73B7\u73B9\u73BC\u73BD\u73BF\u73C5\u73C6\u73C9\u73CB\u73CC\u73CF\u73D2\u73D3\u73D6\u73D9\u73DD\u73E1\u73E3\u73E6\u73E7\u73E9\u73F4\u73F5\u73F7\u73F9\u73FA\u73FB\u73FD"],["8fcca1","\u73FF\u7400\u7401\u7404\u7407\u740A\u7411\u741A\u741B\u7424\u7426\u7428",9,"\u7439\u7440\u7443\u7444\u7446\u7447\u744B\u744D\u7451\u7452\u7457\u745D\u7462\u7466\u7467\u7468\u746B\u746D\u746E\u7471\u7472\u7480\u7481\u7485\u7486\u7487\u7489\u748F\u7490\u7491\u7492\u7498\u7499\u749A\u749C\u749F\u74A0\u74A1\u74A3\u74A6\u74A8\u74A9\u74AA\u74AB\u74AE\u74AF\u74B1\u74B2\u74B5\u74B9\u74BB\u74BF\u74C8\u74C9\u74CC\u74D0\u74D3\u74D8\u74DA\u74DB\u74DE\u74DF\u74E4\u74E8\u74EA\u74EB\u74EF\u74F4\u74FA\u74FB\u74FC\u74FF\u7506"],["8fcda1","\u7512\u7516\u7517\u7520\u7521\u7524\u7527\u7529\u752A\u752F\u7536\u7539\u753D\u753E\u753F\u7540\u7543\u7547\u7548\u754E\u7550\u7552\u7557\u755E\u755F\u7561\u756F\u7571\u7579",5,"\u7581\u7585\u7590\u7592\u7593\u7595\u7599\u759C\u75A2\u75A4\u75B4\u75BA\u75BF\u75C0\u75C1\u75C4\u75C6\u75CC\u75CE\u75CF\u75D7\u75DC\u75DF\u75E0\u75E1\u75E4\u75E7\u75EC\u75EE\u75EF\u75F1\u75F9\u7600\u7602\u7603\u7604\u7607\u7608\u760A\u760C\u760F\u7612\u7613\u7615\u7616\u7619\u761B\u761C\u761D\u761E\u7623\u7625\u7626\u7629\u762D\u7632\u7633\u7635\u7638\u7639"],["8fcea1","\u763A\u763C\u764A\u7640\u7641\u7643\u7644\u7645\u7649\u764B\u7655\u7659\u765F\u7664\u7665\u766D\u766E\u766F\u7671\u7674\u7681\u7685\u768C\u768D\u7695\u769B\u769C\u769D\u769F\u76A0\u76A2",6,"\u76AA\u76AD\u76BD\u76C1\u76C5\u76C9\u76CB\u76CC\u76CE\u76D4\u76D9\u76E0\u76E6\u76E8\u76EC\u76F0\u76F1\u76F6\u76F9\u76FC\u7700\u7706\u770A\u770E\u7712\u7714\u7715\u7717\u7719\u771A\u771C\u7722\u7728\u772D\u772E\u772F\u7734\u7735\u7736\u7739\u773D\u773E\u7742\u7745\u7746\u774A\u774D\u774E\u774F\u7752\u7756\u7757\u775C\u775E\u775F\u7760\u7762"],["8fcfa1","\u7764\u7767\u776A\u776C\u7770\u7772\u7773\u7774\u777A\u777D\u7780\u7784\u778C\u778D\u7794\u7795\u7796\u779A\u779F\u77A2\u77A7\u77AA\u77AE\u77AF\u77B1\u77B5\u77BE\u77C3\u77C9\u77D1\u77D2\u77D5\u77D9\u77DE\u77DF\u77E0\u77E4\u77E6\u77EA\u77EC\u77F0\u77F1\u77F4\u77F8\u77FB\u7805\u7806\u7809\u780D\u780E\u7811\u781D\u7821\u7822\u7823\u782D\u782E\u7830\u7835\u7837\u7843\u7844\u7847\u7848\u784C\u784E\u7852\u785C\u785E\u7860\u7861\u7863\u7864\u7868\u786A\u786E\u787A\u787E\u788A\u788F\u7894\u7898\u78A1\u789D\u789E\u789F\u78A4\u78A8\u78AC\u78AD\u78B0\u78B1\u78B2\u78B3"],["8fd0a1","\u78BB\u78BD\u78BF\u78C7\u78C8\u78C9\u78CC\u78CE\u78D2\u78D3\u78D5\u78D6\u78E4\u78DB\u78DF\u78E0\u78E1\u78E6\u78EA\u78F2\u78F3\u7900\u78F6\u78F7\u78FA\u78FB\u78FF\u7906\u790C\u7910\u791A\u791C\u791E\u791F\u7920\u7925\u7927\u7929\u792D\u7931\u7934\u7935\u793B\u793D\u793F\u7944\u7945\u7946\u794A\u794B\u794F\u7951\u7954\u7958\u795B\u795C\u7967\u7969\u796B\u7972\u7979\u797B\u797C\u797E\u798B\u798C\u7991\u7993\u7994\u7995\u7996\u7998\u799B\u799C\u79A1\u79A8\u79A9\u79AB\u79AF\u79B1\u79B4\u79B8\u79BB\u79C2\u79C4\u79C7\u79C8\u79CA\u79CF\u79D4\u79D6\u79DA\u79DD\u79DE"],["8fd1a1","\u79E0\u79E2\u79E5\u79EA\u79EB\u79ED\u79F1\u79F8\u79FC\u7A02\u7A03\u7A07\u7A09\u7A0A\u7A0C\u7A11\u7A15\u7A1B\u7A1E\u7A21\u7A27\u7A2B\u7A2D\u7A2F\u7A30\u7A34\u7A35\u7A38\u7A39\u7A3A\u7A44\u7A45\u7A47\u7A48\u7A4C\u7A55\u7A56\u7A59\u7A5C\u7A5D\u7A5F\u7A60\u7A65\u7A67\u7A6A\u7A6D\u7A75\u7A78\u7A7E\u7A80\u7A82\u7A85\u7A86\u7A8A\u7A8B\u7A90\u7A91\u7A94\u7A9E\u7AA0\u7AA3\u7AAC\u7AB3\u7AB5\u7AB9\u7ABB\u7ABC\u7AC6\u7AC9\u7ACC\u7ACE\u7AD1\u7ADB\u7AE8\u7AE9\u7AEB\u7AEC\u7AF1\u7AF4\u7AFB\u7AFD\u7AFE\u7B07\u7B14\u7B1F\u7B23\u7B27\u7B29\u7B2A\u7B2B\u7B2D\u7B2E\u7B2F\u7B30"],["8fd2a1","\u7B31\u7B34\u7B3D\u7B3F\u7B40\u7B41\u7B47\u7B4E\u7B55\u7B60\u7B64\u7B66\u7B69\u7B6A\u7B6D\u7B6F\u7B72\u7B73\u7B77\u7B84\u7B89\u7B8E\u7B90\u7B91\u7B96\u7B9B\u7B9E\u7BA0\u7BA5\u7BAC\u7BAF\u7BB0\u7BB2\u7BB5\u7BB6\u7BBA\u7BBB\u7BBC\u7BBD\u7BC2\u7BC5\u7BC8\u7BCA\u7BD4\u7BD6\u7BD7\u7BD9\u7BDA\u7BDB\u7BE8\u7BEA\u7BF2\u7BF4\u7BF5\u7BF8\u7BF9\u7BFA\u7BFC\u7BFE\u7C01\u7C02\u7C03\u7C04\u7C06\u7C09\u7C0B\u7C0C\u7C0E\u7C0F\u7C19\u7C1B\u7C20\u7C25\u7C26\u7C28\u7C2C\u7C31\u7C33\u7C34\u7C36\u7C39\u7C3A\u7C46\u7C4A\u7C55\u7C51\u7C52\u7C53\u7C59",5],["8fd3a1","\u7C61\u7C63\u7C67\u7C69\u7C6D\u7C6E\u7C70\u7C72\u7C79\u7C7C\u7C7D\u7C86\u7C87\u7C8F\u7C94\u7C9E\u7CA0\u7CA6\u7CB0\u7CB6\u7CB7\u7CBA\u7CBB\u7CBC\u7CBF\u7CC4\u7CC7\u7CC8\u7CC9\u7CCD\u7CCF\u7CD3\u7CD4\u7CD5\u7CD7\u7CD9\u7CDA\u7CDD\u7CE6\u7CE9\u7CEB\u7CF5\u7D03\u7D07\u7D08\u7D09\u7D0F\u7D11\u7D12\u7D13\u7D16\u7D1D\u7D1E\u7D23\u7D26\u7D2A\u7D2D\u7D31\u7D3C\u7D3D\u7D3E\u7D40\u7D41\u7D47\u7D48\u7D4D\u7D51\u7D53\u7D57\u7D59\u7D5A\u7D5C\u7D5D\u7D65\u7D67\u7D6A\u7D70\u7D78\u7D7A\u7D7B\u7D7F\u7D81\u7D82\u7D83\u7D85\u7D86\u7D88\u7D8B\u7D8C\u7D8D\u7D91\u7D96\u7D97\u7D9D"],["8fd4a1","\u7D9E\u7DA6\u7DA7\u7DAA\u7DB3\u7DB6\u7DB7\u7DB9\u7DC2",4,"\u7DCC\u7DCD\u7DCE\u7DD7\u7DD9\u7E00\u7DE2\u7DE5\u7DE6\u7DEA\u7DEB\u7DED\u7DF1\u7DF5\u7DF6\u7DF9\u7DFA\u7E08\u7E10\u7E11\u7E15\u7E17\u7E1C\u7E1D\u7E20\u7E27\u7E28\u7E2C\u7E2D\u7E2F\u7E33\u7E36\u7E3F\u7E44\u7E45\u7E47\u7E4E\u7E50\u7E52\u7E58\u7E5F\u7E61\u7E62\u7E65\u7E6B\u7E6E\u7E6F\u7E73\u7E78\u7E7E\u7E81\u7E86\u7E87\u7E8A\u7E8D\u7E91\u7E95\u7E98\u7E9A\u7E9D\u7E9E\u7F3C\u7F3B\u7F3D\u7F3E\u7F3F\u7F43\u7F44\u7F47\u7F4F\u7F52\u7F53\u7F5B\u7F5C\u7F5D\u7F61\u7F63\u7F64\u7F65\u7F66\u7F6D"],["8fd5a1","\u7F71\u7F7D\u7F7E\u7F7F\u7F80\u7F8B\u7F8D\u7F8F\u7F90\u7F91\u7F96\u7F97\u7F9C\u7FA1\u7FA2\u7FA6\u7FAA\u7FAD\u7FB4\u7FBC\u7FBF\u7FC0\u7FC3\u7FC8\u7FCE\u7FCF\u7FDB\u7FDF\u7FE3\u7FE5\u7FE8\u7FEC\u7FEE\u7FEF\u7FF2\u7FFA\u7FFD\u7FFE\u7FFF\u8007\u8008\u800A\u800D\u800E\u800F\u8011\u8013\u8014\u8016\u801D\u801E\u801F\u8020\u8024\u8026\u802C\u802E\u8030\u8034\u8035\u8037\u8039\u803A\u803C\u803E\u8040\u8044\u8060\u8064\u8066\u806D\u8071\u8075\u8081\u8088\u808E\u809C\u809E\u80A6\u80A7\u80AB\u80B8\u80B9\u80C8\u80CD\u80CF\u80D2\u80D4\u80D5\u80D7\u80D8\u80E0\u80ED\u80EE"],["8fd6a1","\u80F0\u80F2\u80F3\u80F6\u80F9\u80FA\u80FE\u8103\u810B\u8116\u8117\u8118\u811C\u811E\u8120\u8124\u8127\u812C\u8130\u8135\u813A\u813C\u8145\u8147\u814A\u814C\u8152\u8157\u8160\u8161\u8167\u8168\u8169\u816D\u816F\u8177\u8181\u8190\u8184\u8185\u8186\u818B\u818E\u8196\u8198\u819B\u819E\u81A2\u81AE\u81B2\u81B4\u81BB\u81CB\u81C3\u81C5\u81CA\u81CE\u81CF\u81D5\u81D7\u81DB\u81DD\u81DE\u81E1\u81E4\u81EB\u81EC\u81F0\u81F1\u81F2\u81F5\u81F6\u81F8\u81F9\u81FD\u81FF\u8200\u8203\u820F\u8213\u8214\u8219\u821A\u821D\u8221\u8222\u8228\u8232\u8234\u823A\u8243\u8244\u8245\u8246"],["8fd7a1","\u824B\u824E\u824F\u8251\u8256\u825C\u8260\u8263\u8267\u826D\u8274\u827B\u827D\u827F\u8280\u8281\u8283\u8284\u8287\u8289\u828A\u828E\u8291\u8294\u8296\u8298\u829A\u829B\u82A0\u82A1\u82A3\u82A4\u82A7\u82A8\u82A9\u82AA\u82AE\u82B0\u82B2\u82B4\u82B7\u82BA\u82BC\u82BE\u82BF\u82C6\u82D0\u82D5\u82DA\u82E0\u82E2\u82E4\u82E8\u82EA\u82ED\u82EF\u82F6\u82F7\u82FD\u82FE\u8300\u8301\u8307\u8308\u830A\u830B\u8354\u831B\u831D\u831E\u831F\u8321\u8322\u832C\u832D\u832E\u8330\u8333\u8337\u833A\u833C\u833D\u8342\u8343\u8344\u8347\u834D\u834E\u8351\u8355\u8356\u8357\u8370\u8378"],["8fd8a1","\u837D\u837F\u8380\u8382\u8384\u8386\u838D\u8392\u8394\u8395\u8398\u8399\u839B\u839C\u839D\u83A6\u83A7\u83A9\u83AC\u83BE\u83BF\u83C0\u83C7\u83C9\u83CF\u83D0\u83D1\u83D4\u83DD\u8353\u83E8\u83EA\u83F6\u83F8\u83F9\u83FC\u8401\u8406\u840A\u840F\u8411\u8415\u8419\u83AD\u842F\u8439\u8445\u8447\u8448\u844A\u844D\u844F\u8451\u8452\u8456\u8458\u8459\u845A\u845C\u8460\u8464\u8465\u8467\u846A\u8470\u8473\u8474\u8476\u8478\u847C\u847D\u8481\u8485\u8492\u8493\u8495\u849E\u84A6\u84A8\u84A9\u84AA\u84AF\u84B1\u84B4\u84BA\u84BD\u84BE\u84C0\u84C2\u84C7\u84C8\u84CC\u84CF\u84D3"],["8fd9a1","\u84DC\u84E7\u84EA\u84EF\u84F0\u84F1\u84F2\u84F7\u8532\u84FA\u84FB\u84FD\u8502\u8503\u8507\u850C\u850E\u8510\u851C\u851E\u8522\u8523\u8524\u8525\u8527\u852A\u852B\u852F\u8533\u8534\u8536\u853F\u8546\u854F",4,"\u8556\u8559\u855C",6,"\u8564\u856B\u856F\u8579\u857A\u857B\u857D\u857F\u8581\u8585\u8586\u8589\u858B\u858C\u858F\u8593\u8598\u859D\u859F\u85A0\u85A2\u85A5\u85A7\u85B4\u85B6\u85B7\u85B8\u85BC\u85BD\u85BE\u85BF\u85C2\u85C7\u85CA\u85CB\u85CE\u85AD\u85D8\u85DA\u85DF\u85E0\u85E6\u85E8\u85ED\u85F3\u85F6\u85FC"],["8fdaa1","\u85FF\u8600\u8604\u8605\u860D\u860E\u8610\u8611\u8612\u8618\u8619\u861B\u861E\u8621\u8627\u8629\u8636\u8638\u863A\u863C\u863D\u8640\u8642\u8646\u8652\u8653\u8656\u8657\u8658\u8659\u865D\u8660",4,"\u8669\u866C\u866F\u8675\u8676\u8677\u867A\u868D\u8691\u8696\u8698\u869A\u869C\u86A1\u86A6\u86A7\u86A8\u86AD\u86B1\u86B3\u86B4\u86B5\u86B7\u86B8\u86B9\u86BF\u86C0\u86C1\u86C3\u86C5\u86D1\u86D2\u86D5\u86D7\u86DA\u86DC\u86E0\u86E3\u86E5\u86E7\u8688\u86FA\u86FC\u86FD\u8704\u8705\u8707\u870B\u870E\u870F\u8710\u8713\u8714\u8719\u871E\u871F\u8721\u8723"],["8fdba1","\u8728\u872E\u872F\u8731\u8732\u8739\u873A\u873C\u873D\u873E\u8740\u8743\u8745\u874D\u8758\u875D\u8761\u8764\u8765\u876F\u8771\u8772\u877B\u8783",6,"\u878B\u878C\u8790\u8793\u8795\u8797\u8798\u8799\u879E\u87A0\u87A3\u87A7\u87AC\u87AD\u87AE\u87B1\u87B5\u87BE\u87BF\u87C1\u87C8\u87C9\u87CA\u87CE\u87D5\u87D6\u87D9\u87DA\u87DC\u87DF\u87E2\u87E3\u87E4\u87EA\u87EB\u87ED\u87F1\u87F3\u87F8\u87FA\u87FF\u8801\u8803\u8806\u8809\u880A\u880B\u8810\u8819\u8812\u8813\u8814\u8818\u881A\u881B\u881C\u881E\u881F\u8828\u882D\u882E\u8830\u8832\u8835"],["8fdca1","\u883A\u883C\u8841\u8843\u8845\u8848\u8849\u884A\u884B\u884E\u8851\u8855\u8856\u8858\u885A\u885C\u885F\u8860\u8864\u8869\u8871\u8879\u887B\u8880\u8898\u889A\u889B\u889C\u889F\u88A0\u88A8\u88AA\u88BA\u88BD\u88BE\u88C0\u88CA",4,"\u88D1\u88D2\u88D3\u88DB\u88DE\u88E7\u88EF\u88F0\u88F1\u88F5\u88F7\u8901\u8906\u890D\u890E\u890F\u8915\u8916\u8918\u8919\u891A\u891C\u8920\u8926\u8927\u8928\u8930\u8931\u8932\u8935\u8939\u893A\u893E\u8940\u8942\u8945\u8946\u8949\u894F\u8952\u8957\u895A\u895B\u895C\u8961\u8962\u8963\u896B\u896E\u8970\u8973\u8975\u897A"],["8fdda1","\u897B\u897C\u897D\u8989\u898D\u8990\u8994\u8995\u899B\u899C\u899F\u89A0\u89A5\u89B0\u89B4\u89B5\u89B6\u89B7\u89BC\u89D4",4,"\u89E5\u89E9\u89EB\u89ED\u89F1\u89F3\u89F6\u89F9\u89FD\u89FF\u8A04\u8A05\u8A07\u8A0F\u8A11\u8A12\u8A14\u8A15\u8A1E\u8A20\u8A22\u8A24\u8A26\u8A2B\u8A2C\u8A2F\u8A35\u8A37\u8A3D\u8A3E\u8A40\u8A43\u8A45\u8A47\u8A49\u8A4D\u8A4E\u8A53\u8A56\u8A57\u8A58\u8A5C\u8A5D\u8A61\u8A65\u8A67\u8A75\u8A76\u8A77\u8A79\u8A7A\u8A7B\u8A7E\u8A7F\u8A80\u8A83\u8A86\u8A8B\u8A8F\u8A90\u8A92\u8A96\u8A97\u8A99\u8A9F\u8AA7\u8AA9\u8AAE\u8AAF\u8AB3"],["8fdea1","\u8AB6\u8AB7\u8ABB\u8ABE\u8AC3\u8AC6\u8AC8\u8AC9\u8ACA\u8AD1\u8AD3\u8AD4\u8AD5\u8AD7\u8ADD\u8ADF\u8AEC\u8AF0\u8AF4\u8AF5\u8AF6\u8AFC\u8AFF\u8B05\u8B06\u8B0B\u8B11\u8B1C\u8B1E\u8B1F\u8B0A\u8B2D\u8B30\u8B37\u8B3C\u8B42",4,"\u8B48\u8B52\u8B53\u8B54\u8B59\u8B4D\u8B5E\u8B63\u8B6D\u8B76\u8B78\u8B79\u8B7C\u8B7E\u8B81\u8B84\u8B85\u8B8B\u8B8D\u8B8F\u8B94\u8B95\u8B9C\u8B9E\u8B9F\u8C38\u8C39\u8C3D\u8C3E\u8C45\u8C47\u8C49\u8C4B\u8C4F\u8C51\u8C53\u8C54\u8C57\u8C58\u8C5B\u8C5D\u8C59\u8C63\u8C64\u8C66\u8C68\u8C69\u8C6D\u8C73\u8C75\u8C76\u8C7B\u8C7E\u8C86"],["8fdfa1","\u8C87\u8C8B\u8C90\u8C92\u8C93\u8C99\u8C9B\u8C9C\u8CA4\u8CB9\u8CBA\u8CC5\u8CC6\u8CC9\u8CCB\u8CCF\u8CD6\u8CD5\u8CD9\u8CDD\u8CE1\u8CE8\u8CEC\u8CEF\u8CF0\u8CF2\u8CF5\u8CF7\u8CF8\u8CFE\u8CFF\u8D01\u8D03\u8D09\u8D12\u8D17\u8D1B\u8D65\u8D69\u8D6C\u8D6E\u8D7F\u8D82\u8D84\u8D88\u8D8D\u8D90\u8D91\u8D95\u8D9E\u8D9F\u8DA0\u8DA6\u8DAB\u8DAC\u8DAF\u8DB2\u8DB5\u8DB7\u8DB9\u8DBB\u8DC0\u8DC5\u8DC6\u8DC7\u8DC8\u8DCA\u8DCE\u8DD1\u8DD4\u8DD5\u8DD7\u8DD9\u8DE4\u8DE5\u8DE7\u8DEC\u8DF0\u8DBC\u8DF1\u8DF2\u8DF4\u8DFD\u8E01\u8E04\u8E05\u8E06\u8E0B\u8E11\u8E14\u8E16\u8E20\u8E21\u8E22"],["8fe0a1","\u8E23\u8E26\u8E27\u8E31\u8E33\u8E36\u8E37\u8E38\u8E39\u8E3D\u8E40\u8E41\u8E4B\u8E4D\u8E4E\u8E4F\u8E54\u8E5B\u8E5C\u8E5D\u8E5E\u8E61\u8E62\u8E69\u8E6C\u8E6D\u8E6F\u8E70\u8E71\u8E79\u8E7A\u8E7B\u8E82\u8E83\u8E89\u8E90\u8E92\u8E95\u8E9A\u8E9B\u8E9D\u8E9E\u8EA2\u8EA7\u8EA9\u8EAD\u8EAE\u8EB3\u8EB5\u8EBA\u8EBB\u8EC0\u8EC1\u8EC3\u8EC4\u8EC7\u8ECF\u8ED1\u8ED4\u8EDC\u8EE8\u8EEE\u8EF0\u8EF1\u8EF7\u8EF9\u8EFA\u8EED\u8F00\u8F02\u8F07\u8F08\u8F0F\u8F10\u8F16\u8F17\u8F18\u8F1E\u8F20\u8F21\u8F23\u8F25\u8F27\u8F28\u8F2C\u8F2D\u8F2E\u8F34\u8F35\u8F36\u8F37\u8F3A\u8F40\u8F41"],["8fe1a1","\u8F43\u8F47\u8F4F\u8F51",4,"\u8F58\u8F5D\u8F5E\u8F65\u8F9D\u8FA0\u8FA1\u8FA4\u8FA5\u8FA6\u8FB5\u8FB6\u8FB8\u8FBE\u8FC0\u8FC1\u8FC6\u8FCA\u8FCB\u8FCD\u8FD0\u8FD2\u8FD3\u8FD5\u8FE0\u8FE3\u8FE4\u8FE8\u8FEE\u8FF1\u8FF5\u8FF6\u8FFB\u8FFE\u9002\u9004\u9008\u900C\u9018\u901B\u9028\u9029\u902F\u902A\u902C\u902D\u9033\u9034\u9037\u903F\u9043\u9044\u904C\u905B\u905D\u9062\u9066\u9067\u906C\u9070\u9074\u9079\u9085\u9088\u908B\u908C\u908E\u9090\u9095\u9097\u9098\u9099\u909B\u90A0\u90A1\u90A2\u90A5\u90B0\u90B2\u90B3\u90B4\u90B6\u90BD\u90CC\u90BE\u90C3"],["8fe2a1","\u90C4\u90C5\u90C7\u90C8\u90D5\u90D7\u90D8\u90D9\u90DC\u90DD\u90DF\u90E5\u90D2\u90F6\u90EB\u90EF\u90F0\u90F4\u90FE\u90FF\u9100\u9104\u9105\u9106\u9108\u910D\u9110\u9114\u9116\u9117\u9118\u911A\u911C\u911E\u9120\u9125\u9122\u9123\u9127\u9129\u912E\u912F\u9131\u9134\u9136\u9137\u9139\u913A\u913C\u913D\u9143\u9147\u9148\u914F\u9153\u9157\u9159\u915A\u915B\u9161\u9164\u9167\u916D\u9174\u9179\u917A\u917B\u9181\u9183\u9185\u9186\u918A\u918E\u9191\u9193\u9194\u9195\u9198\u919E\u91A1\u91A6\u91A8\u91AC\u91AD\u91AE\u91B0\u91B1\u91B2\u91B3\u91B6\u91BB\u91BC\u91BD\u91BF"],["8fe3a1","\u91C2\u91C3\u91C5\u91D3\u91D4\u91D7\u91D9\u91DA\u91DE\u91E4\u91E5\u91E9\u91EA\u91EC",5,"\u91F7\u91F9\u91FB\u91FD\u9200\u9201\u9204\u9205\u9206\u9207\u9209\u920A\u920C\u9210\u9212\u9213\u9216\u9218\u921C\u921D\u9223\u9224\u9225\u9226\u9228\u922E\u922F\u9230\u9233\u9235\u9236\u9238\u9239\u923A\u923C\u923E\u9240\u9242\u9243\u9246\u9247\u924A\u924D\u924E\u924F\u9251\u9258\u9259\u925C\u925D\u9260\u9261\u9265\u9267\u9268\u9269\u926E\u926F\u9270\u9275",4,"\u927B\u927C\u927D\u927F\u9288\u9289\u928A\u928D\u928E\u9292\u9297"],["8fe4a1","\u9299\u929F\u92A0\u92A4\u92A5\u92A7\u92A8\u92AB\u92AF\u92B2\u92B6\u92B8\u92BA\u92BB\u92BC\u92BD\u92BF",4,"\u92C5\u92C6\u92C7\u92C8\u92CB\u92CC\u92CD\u92CE\u92D0\u92D3\u92D5\u92D7\u92D8\u92D9\u92DC\u92DD\u92DF\u92E0\u92E1\u92E3\u92E5\u92E7\u92E8\u92EC\u92EE\u92F0\u92F9\u92FB\u92FF\u9300\u9302\u9308\u930D\u9311\u9314\u9315\u931C\u931D\u931E\u931F\u9321\u9324\u9325\u9327\u9329\u932A\u9333\u9334\u9336\u9337\u9347\u9348\u9349\u9350\u9351\u9352\u9355\u9357\u9358\u935A\u935E\u9364\u9365\u9367\u9369\u936A\u936D\u936F\u9370\u9371\u9373\u9374\u9376"],["8fe5a1","\u937A\u937D\u937F\u9380\u9381\u9382\u9388\u938A\u938B\u938D\u938F\u9392\u9395\u9398\u939B\u939E\u93A1\u93A3\u93A4\u93A6\u93A8\u93AB\u93B4\u93B5\u93B6\u93BA\u93A9\u93C1\u93C4\u93C5\u93C6\u93C7\u93C9",4,"\u93D3\u93D9\u93DC\u93DE\u93DF\u93E2\u93E6\u93E7\u93F9\u93F7\u93F8\u93FA\u93FB\u93FD\u9401\u9402\u9404\u9408\u9409\u940D\u940E\u940F\u9415\u9416\u9417\u941F\u942E\u942F\u9431\u9432\u9433\u9434\u943B\u943F\u943D\u9443\u9445\u9448\u944A\u944C\u9455\u9459\u945C\u945F\u9461\u9463\u9468\u946B\u946D\u946E\u946F\u9471\u9472\u9484\u9483\u9578\u9579"],["8fe6a1","\u957E\u9584\u9588\u958C\u958D\u958E\u959D\u959E\u959F\u95A1\u95A6\u95A9\u95AB\u95AC\u95B4\u95B6\u95BA\u95BD\u95BF\u95C6\u95C8\u95C9\u95CB\u95D0\u95D1\u95D2\u95D3\u95D9\u95DA\u95DD\u95DE\u95DF\u95E0\u95E4\u95E6\u961D\u961E\u9622\u9624\u9625\u9626\u962C\u9631\u9633\u9637\u9638\u9639\u963A\u963C\u963D\u9641\u9652\u9654\u9656\u9657\u9658\u9661\u966E\u9674\u967B\u967C\u967E\u967F\u9681\u9682\u9683\u9684\u9689\u9691\u9696\u969A\u969D\u969F\u96A4\u96A5\u96A6\u96A9\u96AE\u96AF\u96B3\u96BA\u96CA\u96D2\u5DB2\u96D8\u96DA\u96DD\u96DE\u96DF\u96E9\u96EF\u96F1\u96FA\u9702"],["8fe7a1","\u9703\u9705\u9709\u971A\u971B\u971D\u9721\u9722\u9723\u9728\u9731\u9733\u9741\u9743\u974A\u974E\u974F\u9755\u9757\u9758\u975A\u975B\u9763\u9767\u976A\u976E\u9773\u9776\u9777\u9778\u977B\u977D\u977F\u9780\u9789\u9795\u9796\u9797\u9799\u979A\u979E\u979F\u97A2\u97AC\u97AE\u97B1\u97B2\u97B5\u97B6\u97B8\u97B9\u97BA\u97BC\u97BE\u97BF\u97C1\u97C4\u97C5\u97C7\u97C9\u97CA\u97CC\u97CD\u97CE\u97D0\u97D1\u97D4\u97D7\u97D8\u97D9\u97DD\u97DE\u97E0\u97DB\u97E1\u97E4\u97EF\u97F1\u97F4\u97F7\u97F8\u97FA\u9807\u980A\u9819\u980D\u980E\u9814\u9816\u981C\u981E\u9820\u9823\u9826"],["8fe8a1","\u982B\u982E\u982F\u9830\u9832\u9833\u9835\u9825\u983E\u9844\u9847\u984A\u9851\u9852\u9853\u9856\u9857\u9859\u985A\u9862\u9863\u9865\u9866\u986A\u986C\u98AB\u98AD\u98AE\u98B0\u98B4\u98B7\u98B8\u98BA\u98BB\u98BF\u98C2\u98C5\u98C8\u98CC\u98E1\u98E3\u98E5\u98E6\u98E7\u98EA\u98F3\u98F6\u9902\u9907\u9908\u9911\u9915\u9916\u9917\u991A\u991B\u991C\u991F\u9922\u9926\u9927\u992B\u9931",4,"\u9939\u993A\u993B\u993C\u9940\u9941\u9946\u9947\u9948\u994D\u994E\u9954\u9958\u9959\u995B\u995C\u995E\u995F\u9960\u999B\u999D\u999F\u99A6\u99B0\u99B1\u99B2\u99B5"],["8fe9a1","\u99B9\u99BA\u99BD\u99BF\u99C3\u99C9\u99D3\u99D4\u99D9\u99DA\u99DC\u99DE\u99E7\u99EA\u99EB\u99EC\u99F0\u99F4\u99F5\u99F9\u99FD\u99FE\u9A02\u9A03\u9A04\u9A0B\u9A0C\u9A10\u9A11\u9A16\u9A1E\u9A20\u9A22\u9A23\u9A24\u9A27\u9A2D\u9A2E\u9A33\u9A35\u9A36\u9A38\u9A47\u9A41\u9A44\u9A4A\u9A4B\u9A4C\u9A4E\u9A51\u9A54\u9A56\u9A5D\u9AAA\u9AAC\u9AAE\u9AAF\u9AB2\u9AB4\u9AB5\u9AB6\u9AB9\u9ABB\u9ABE\u9ABF\u9AC1\u9AC3\u9AC6\u9AC8\u9ACE\u9AD0\u9AD2\u9AD5\u9AD6\u9AD7\u9ADB\u9ADC\u9AE0\u9AE4\u9AE5\u9AE7\u9AE9\u9AEC\u9AF2\u9AF3\u9AF5\u9AF9\u9AFA\u9AFD\u9AFF",4],["8feaa1","\u9B04\u9B05\u9B08\u9B09\u9B0B\u9B0C\u9B0D\u9B0E\u9B10\u9B12\u9B16\u9B19\u9B1B\u9B1C\u9B20\u9B26\u9B2B\u9B2D\u9B33\u9B34\u9B35\u9B37\u9B39\u9B3A\u9B3D\u9B48\u9B4B\u9B4C\u9B55\u9B56\u9B57\u9B5B\u9B5E\u9B61\u9B63\u9B65\u9B66\u9B68\u9B6A",4,"\u9B73\u9B75\u9B77\u9B78\u9B79\u9B7F\u9B80\u9B84\u9B85\u9B86\u9B87\u9B89\u9B8A\u9B8B\u9B8D\u9B8F\u9B90\u9B94\u9B9A\u9B9D\u9B9E\u9BA6\u9BA7\u9BA9\u9BAC\u9BB0\u9BB1\u9BB2\u9BB7\u9BB8\u9BBB\u9BBC\u9BBE\u9BBF\u9BC1\u9BC7\u9BC8\u9BCE\u9BD0\u9BD7\u9BD8\u9BDD\u9BDF\u9BE5\u9BE7\u9BEA\u9BEB\u9BEF\u9BF3\u9BF7\u9BF8"],["8feba1","\u9BF9\u9BFA\u9BFD\u9BFF\u9C00\u9C02\u9C0B\u9C0F\u9C11\u9C16\u9C18\u9C19\u9C1A\u9C1C\u9C1E\u9C22\u9C23\u9C26",4,"\u9C31\u9C35\u9C36\u9C37\u9C3D\u9C41\u9C43\u9C44\u9C45\u9C49\u9C4A\u9C4E\u9C4F\u9C50\u9C53\u9C54\u9C56\u9C58\u9C5B\u9C5D\u9C5E\u9C5F\u9C63\u9C69\u9C6A\u9C5C\u9C6B\u9C68\u9C6E\u9C70\u9C72\u9C75\u9C77\u9C7B\u9CE6\u9CF2\u9CF7\u9CF9\u9D0B\u9D02\u9D11\u9D17\u9D18\u9D1C\u9D1D\u9D1E\u9D2F\u9D30\u9D32\u9D33\u9D34\u9D3A\u9D3C\u9D45\u9D3D\u9D42\u9D43\u9D47\u9D4A\u9D53\u9D54\u9D5F\u9D63\u9D62\u9D65\u9D69\u9D6A\u9D6B\u9D70\u9D76\u9D77\u9D7B"],["8feca1","\u9D7C\u9D7E\u9D83\u9D84\u9D86\u9D8A\u9D8D\u9D8E\u9D92\u9D93\u9D95\u9D96\u9D97\u9D98\u9DA1\u9DAA\u9DAC\u9DAE\u9DB1\u9DB5\u9DB9\u9DBC\u9DBF\u9DC3\u9DC7\u9DC9\u9DCA\u9DD4\u9DD5\u9DD6\u9DD7\u9DDA\u9DDE\u9DDF\u9DE0\u9DE5\u9DE7\u9DE9\u9DEB\u9DEE\u9DF0\u9DF3\u9DF4\u9DFE\u9E0A\u9E02\u9E07\u9E0E\u9E10\u9E11\u9E12\u9E15\u9E16\u9E19\u9E1C\u9E1D\u9E7A\u9E7B\u9E7C\u9E80\u9E82\u9E83\u9E84\u9E85\u9E87\u9E8E\u9E8F\u9E96\u9E98\u9E9B\u9E9E\u9EA4\u9EA8\u9EAC\u9EAE\u9EAF\u9EB0\u9EB3\u9EB4\u9EB5\u9EC6\u9EC8\u9ECB\u9ED5\u9EDF\u9EE4\u9EE7\u9EEC\u9EED\u9EEE\u9EF0\u9EF1\u9EF2\u9EF5"],["8feda1","\u9EF8\u9EFF\u9F02\u9F03\u9F09\u9F0F\u9F10\u9F11\u9F12\u9F14\u9F16\u9F17\u9F19\u9F1A\u9F1B\u9F1F\u9F22\u9F26\u9F2A\u9F2B\u9F2F\u9F31\u9F32\u9F34\u9F37\u9F39\u9F3A\u9F3C\u9F3D\u9F3F\u9F41\u9F43",4,"\u9F53\u9F55\u9F56\u9F57\u9F58\u9F5A\u9F5D\u9F5E\u9F68\u9F69\u9F6D",4,"\u9F73\u9F75\u9F7A\u9F7D\u9F8F\u9F90\u9F91\u9F92\u9F94\u9F96\u9F97\u9F9E\u9FA1\u9FA2\u9FA3\u9FA5"]]});var yqe=Le((gTi,Gen)=>{Gen.exports=[["0","\0",127,"\u20AC"],["8140","\u4E02\u4E04\u4E05\u4E06\u4E0F\u4E12\u4E17\u4E1F\u4E20\u4E21\u4E23\u4E26\u4E29\u4E2E\u4E2F\u4E31\u4E33\u4E35\u4E37\u4E3C\u4E40\u4E41\u4E42\u4E44\u4E46\u4E4A\u4E51\u4E55\u4E57\u4E5A\u4E5B\u4E62\u4E63\u4E64\u4E65\u4E67\u4E68\u4E6A",5,"\u4E72\u4E74",9,"\u4E7F",6,"\u4E87\u4E8A"],["8180","\u4E90\u4E96\u4E97\u4E99\u4E9C\u4E9D\u4E9E\u4EA3\u4EAA\u4EAF\u4EB0\u4EB1\u4EB4\u4EB6\u4EB7\u4EB8\u4EB9\u4EBC\u4EBD\u4EBE\u4EC8\u4ECC\u4ECF\u4ED0\u4ED2\u4EDA\u4EDB\u4EDC\u4EE0\u4EE2\u4EE6\u4EE7\u4EE9\u4EED\u4EEE\u4EEF\u4EF1\u4EF4\u4EF8\u4EF9\u4EFA\u4EFC\u4EFE\u4F00\u4F02",6,"\u4F0B\u4F0C\u4F12",4,"\u4F1C\u4F1D\u4F21\u4F23\u4F28\u4F29\u4F2C\u4F2D\u4F2E\u4F31\u4F33\u4F35\u4F37\u4F39\u4F3B\u4F3E",4,"\u4F44\u4F45\u4F47",5,"\u4F52\u4F54\u4F56\u4F61\u4F62\u4F66\u4F68\u4F6A\u4F6B\u4F6D\u4F6E\u4F71\u4F72\u4F75\u4F77\u4F78\u4F79\u4F7A\u4F7D\u4F80\u4F81\u4F82\u4F85\u4F86\u4F87\u4F8A\u4F8C\u4F8E\u4F90\u4F92\u4F93\u4F95\u4F96\u4F98\u4F99\u4F9A\u4F9C\u4F9E\u4F9F\u4FA1\u4FA2"],["8240","\u4FA4\u4FAB\u4FAD\u4FB0",4,"\u4FB6",8,"\u4FC0\u4FC1\u4FC2\u4FC6\u4FC7\u4FC8\u4FC9\u4FCB\u4FCC\u4FCD\u4FD2",4,"\u4FD9\u4FDB\u4FE0\u4FE2\u4FE4\u4FE5\u4FE7\u4FEB\u4FEC\u4FF0\u4FF2\u4FF4\u4FF5\u4FF6\u4FF7\u4FF9\u4FFB\u4FFC\u4FFD\u4FFF",11],["8280","\u500B\u500E\u5010\u5011\u5013\u5015\u5016\u5017\u501B\u501D\u501E\u5020\u5022\u5023\u5024\u5027\u502B\u502F",10,"\u503B\u503D\u503F\u5040\u5041\u5042\u5044\u5045\u5046\u5049\u504A\u504B\u504D\u5050",4,"\u5056\u5057\u5058\u5059\u505B\u505D",7,"\u5066",5,"\u506D",8,"\u5078\u5079\u507A\u507C\u507D\u5081\u5082\u5083\u5084\u5086\u5087\u5089\u508A\u508B\u508C\u508E",20,"\u50A4\u50A6\u50AA\u50AB\u50AD",4,"\u50B3",6,"\u50BC"],["8340","\u50BD",17,"\u50D0",5,"\u50D7\u50D8\u50D9\u50DB",10,"\u50E8\u50E9\u50EA\u50EB\u50EF\u50F0\u50F1\u50F2\u50F4\u50F6",4,"\u50FC",9,"\u5108"],["8380","\u5109\u510A\u510C",5,"\u5113",13,"\u5122",28,"\u5142\u5147\u514A\u514C\u514E\u514F\u5150\u5152\u5153\u5157\u5158\u5159\u515B\u515D",4,"\u5163\u5164\u5166\u5167\u5169\u516A\u516F\u5172\u517A\u517E\u517F\u5183\u5184\u5186\u5187\u518A\u518B\u518E\u518F\u5190\u5191\u5193\u5194\u5198\u519A\u519D\u519E\u519F\u51A1\u51A3\u51A6",4,"\u51AD\u51AE\u51B4\u51B8\u51B9\u51BA\u51BE\u51BF\u51C1\u51C2\u51C3\u51C5\u51C8\u51CA\u51CD\u51CE\u51D0\u51D2",5],["8440","\u51D8\u51D9\u51DA\u51DC\u51DE\u51DF\u51E2\u51E3\u51E5",5,"\u51EC\u51EE\u51F1\u51F2\u51F4\u51F7\u51FE\u5204\u5205\u5209\u520B\u520C\u520F\u5210\u5213\u5214\u5215\u521C\u521E\u521F\u5221\u5222\u5223\u5225\u5226\u5227\u522A\u522C\u522F\u5231\u5232\u5234\u5235\u523C\u523E\u5244",5,"\u524B\u524E\u524F\u5252\u5253\u5255\u5257\u5258"],["8480","\u5259\u525A\u525B\u525D\u525F\u5260\u5262\u5263\u5264\u5266\u5268\u526B\u526C\u526D\u526E\u5270\u5271\u5273",9,"\u527E\u5280\u5283",4,"\u5289",6,"\u5291\u5292\u5294",6,"\u529C\u52A4\u52A5\u52A6\u52A7\u52AE\u52AF\u52B0\u52B4",9,"\u52C0\u52C1\u52C2\u52C4\u52C5\u52C6\u52C8\u52CA\u52CC\u52CD\u52CE\u52CF\u52D1\u52D3\u52D4\u52D5\u52D7\u52D9",5,"\u52E0\u52E1\u52E2\u52E3\u52E5",10,"\u52F1",7,"\u52FB\u52FC\u52FD\u5301\u5302\u5303\u5304\u5307\u5309\u530A\u530B\u530C\u530E"],["8540","\u5311\u5312\u5313\u5314\u5318\u531B\u531C\u531E\u531F\u5322\u5324\u5325\u5327\u5328\u5329\u532B\u532C\u532D\u532F",9,"\u533C\u533D\u5340\u5342\u5344\u5346\u534B\u534C\u534D\u5350\u5354\u5358\u5359\u535B\u535D\u5365\u5368\u536A\u536C\u536D\u5372\u5376\u5379\u537B\u537C\u537D\u537E\u5380\u5381\u5383\u5387\u5388\u538A\u538E\u538F"],["8580","\u5390",4,"\u5396\u5397\u5399\u539B\u539C\u539E\u53A0\u53A1\u53A4\u53A7\u53AA\u53AB\u53AC\u53AD\u53AF",6,"\u53B7\u53B8\u53B9\u53BA\u53BC\u53BD\u53BE\u53C0\u53C3",4,"\u53CE\u53CF\u53D0\u53D2\u53D3\u53D5\u53DA\u53DC\u53DD\u53DE\u53E1\u53E2\u53E7\u53F4\u53FA\u53FE\u53FF\u5400\u5402\u5405\u5407\u540B\u5414\u5418\u5419\u541A\u541C\u5422\u5424\u5425\u542A\u5430\u5433\u5436\u5437\u543A\u543D\u543F\u5441\u5442\u5444\u5445\u5447\u5449\u544C\u544D\u544E\u544F\u5451\u545A\u545D",4,"\u5463\u5465\u5467\u5469",7,"\u5474\u5479\u547A\u547E\u547F\u5481\u5483\u5485\u5487\u5488\u5489\u548A\u548D\u5491\u5493\u5497\u5498\u549C\u549E\u549F\u54A0\u54A1"],["8640","\u54A2\u54A5\u54AE\u54B0\u54B2\u54B5\u54B6\u54B7\u54B9\u54BA\u54BC\u54BE\u54C3\u54C5\u54CA\u54CB\u54D6\u54D8\u54DB\u54E0",4,"\u54EB\u54EC\u54EF\u54F0\u54F1\u54F4",5,"\u54FB\u54FE\u5500\u5502\u5503\u5504\u5505\u5508\u550A",4,"\u5512\u5513\u5515",5,"\u551C\u551D\u551E\u551F\u5521\u5525\u5526"],["8680","\u5528\u5529\u552B\u552D\u5532\u5534\u5535\u5536\u5538\u5539\u553A\u553B\u553D\u5540\u5542\u5545\u5547\u5548\u554B",4,"\u5551\u5552\u5553\u5554\u5557",4,"\u555D\u555E\u555F\u5560\u5562\u5563\u5568\u5569\u556B\u556F",5,"\u5579\u557A\u557D\u557F\u5585\u5586\u558C\u558D\u558E\u5590\u5592\u5593\u5595\u5596\u5597\u559A\u559B\u559E\u55A0",6,"\u55A8",8,"\u55B2\u55B4\u55B6\u55B8\u55BA\u55BC\u55BF",4,"\u55C6\u55C7\u55C8\u55CA\u55CB\u55CE\u55CF\u55D0\u55D5\u55D7",4,"\u55DE\u55E0\u55E2\u55E7\u55E9\u55ED\u55EE\u55F0\u55F1\u55F4\u55F6\u55F8",4,"\u55FF\u5602\u5603\u5604\u5605"],["8740","\u5606\u5607\u560A\u560B\u560D\u5610",7,"\u5619\u561A\u561C\u561D\u5620\u5621\u5622\u5625\u5626\u5628\u5629\u562A\u562B\u562E\u562F\u5630\u5633\u5635\u5637\u5638\u563A\u563C\u563D\u563E\u5640",11,"\u564F",4,"\u5655\u5656\u565A\u565B\u565D",4],["8780","\u5663\u5665\u5666\u5667\u566D\u566E\u566F\u5670\u5672\u5673\u5674\u5675\u5677\u5678\u5679\u567A\u567D",7,"\u5687",6,"\u5690\u5691\u5692\u5694",14,"\u56A4",10,"\u56B0",6,"\u56B8\u56B9\u56BA\u56BB\u56BD",12,"\u56CB",8,"\u56D5\u56D6\u56D8\u56D9\u56DC\u56E3\u56E5",5,"\u56EC\u56EE\u56EF\u56F2\u56F3\u56F6\u56F7\u56F8\u56FB\u56FC\u5700\u5701\u5702\u5705\u5707\u570B",6],["8840","\u5712",9,"\u571D\u571E\u5720\u5721\u5722\u5724\u5725\u5726\u5727\u572B\u5731\u5732\u5734",4,"\u573C\u573D\u573F\u5741\u5743\u5744\u5745\u5746\u5748\u5749\u574B\u5752",4,"\u5758\u5759\u5762\u5763\u5765\u5767\u576C\u576E\u5770\u5771\u5772\u5774\u5775\u5778\u5779\u577A\u577D\u577E\u577F\u5780"],["8880","\u5781\u5787\u5788\u5789\u578A\u578D",4,"\u5794",6,"\u579C\u579D\u579E\u579F\u57A5\u57A8\u57AA\u57AC\u57AF\u57B0\u57B1\u57B3\u57B5\u57B6\u57B7\u57B9",8,"\u57C4",6,"\u57CC\u57CD\u57D0\u57D1\u57D3\u57D6\u57D7\u57DB\u57DC\u57DE\u57E1\u57E2\u57E3\u57E5",7,"\u57EE\u57F0\u57F1\u57F2\u57F3\u57F5\u57F6\u57F7\u57FB\u57FC\u57FE\u57FF\u5801\u5803\u5804\u5805\u5808\u5809\u580A\u580C\u580E\u580F\u5810\u5812\u5813\u5814\u5816\u5817\u5818\u581A\u581B\u581C\u581D\u581F\u5822\u5823\u5825",4,"\u582B",4,"\u5831\u5832\u5833\u5834\u5836",7],["8940","\u583E",5,"\u5845",6,"\u584E\u584F\u5850\u5852\u5853\u5855\u5856\u5857\u5859",4,"\u585F",5,"\u5866",4,"\u586D",16,"\u587F\u5882\u5884\u5886\u5887\u5888\u588A\u588B\u588C"],["8980","\u588D",4,"\u5894",4,"\u589B\u589C\u589D\u58A0",7,"\u58AA",17,"\u58BD\u58BE\u58BF\u58C0\u58C2\u58C3\u58C4\u58C6",10,"\u58D2\u58D3\u58D4\u58D6",13,"\u58E5",5,"\u58ED\u58EF\u58F1\u58F2\u58F4\u58F5\u58F7\u58F8\u58FA",7,"\u5903\u5905\u5906\u5908",4,"\u590E\u5910\u5911\u5912\u5913\u5917\u5918\u591B\u591D\u591E\u5920\u5921\u5922\u5923\u5926\u5928\u592C\u5930\u5932\u5933\u5935\u5936\u593B"],["8a40","\u593D\u593E\u593F\u5940\u5943\u5945\u5946\u594A\u594C\u594D\u5950\u5952\u5953\u5959\u595B",4,"\u5961\u5963\u5964\u5966",12,"\u5975\u5977\u597A\u597B\u597C\u597E\u597F\u5980\u5985\u5989\u598B\u598C\u598E\u598F\u5990\u5991\u5994\u5995\u5998\u599A\u599B\u599C\u599D\u599F\u59A0\u59A1\u59A2\u59A6"],["8a80","\u59A7\u59AC\u59AD\u59B0\u59B1\u59B3",5,"\u59BA\u59BC\u59BD\u59BF",6,"\u59C7\u59C8\u59C9\u59CC\u59CD\u59CE\u59CF\u59D5\u59D6\u59D9\u59DB\u59DE",4,"\u59E4\u59E6\u59E7\u59E9\u59EA\u59EB\u59ED",11,"\u59FA\u59FC\u59FD\u59FE\u5A00\u5A02\u5A0A\u5A0B\u5A0D\u5A0E\u5A0F\u5A10\u5A12\u5A14\u5A15\u5A16\u5A17\u5A19\u5A1A\u5A1B\u5A1D\u5A1E\u5A21\u5A22\u5A24\u5A26\u5A27\u5A28\u5A2A",6,"\u5A33\u5A35\u5A37",4,"\u5A3D\u5A3E\u5A3F\u5A41",4,"\u5A47\u5A48\u5A4B",9,"\u5A56\u5A57\u5A58\u5A59\u5A5B",5],["8b40","\u5A61\u5A63\u5A64\u5A65\u5A66\u5A68\u5A69\u5A6B",8,"\u5A78\u5A79\u5A7B\u5A7C\u5A7D\u5A7E\u5A80",17,"\u5A93",6,"\u5A9C",13,"\u5AAB\u5AAC"],["8b80","\u5AAD",4,"\u5AB4\u5AB6\u5AB7\u5AB9",4,"\u5ABF\u5AC0\u5AC3",5,"\u5ACA\u5ACB\u5ACD",4,"\u5AD3\u5AD5\u5AD7\u5AD9\u5ADA\u5ADB\u5ADD\u5ADE\u5ADF\u5AE2\u5AE4\u5AE5\u5AE7\u5AE8\u5AEA\u5AEC",4,"\u5AF2",22,"\u5B0A",11,"\u5B18",25,"\u5B33\u5B35\u5B36\u5B38",7,"\u5B41",6],["8c40","\u5B48",7,"\u5B52\u5B56\u5B5E\u5B60\u5B61\u5B67\u5B68\u5B6B\u5B6D\u5B6E\u5B6F\u5B72\u5B74\u5B76\u5B77\u5B78\u5B79\u5B7B\u5B7C\u5B7E\u5B7F\u5B82\u5B86\u5B8A\u5B8D\u5B8E\u5B90\u5B91\u5B92\u5B94\u5B96\u5B9F\u5BA7\u5BA8\u5BA9\u5BAC\u5BAD\u5BAE\u5BAF\u5BB1\u5BB2\u5BB7\u5BBA\u5BBB\u5BBC\u5BC0\u5BC1\u5BC3\u5BC8\u5BC9\u5BCA\u5BCB\u5BCD\u5BCE\u5BCF"],["8c80","\u5BD1\u5BD4",8,"\u5BE0\u5BE2\u5BE3\u5BE6\u5BE7\u5BE9",4,"\u5BEF\u5BF1",6,"\u5BFD\u5BFE\u5C00\u5C02\u5C03\u5C05\u5C07\u5C08\u5C0B\u5C0C\u5C0D\u5C0E\u5C10\u5C12\u5C13\u5C17\u5C19\u5C1B\u5C1E\u5C1F\u5C20\u5C21\u5C23\u5C26\u5C28\u5C29\u5C2A\u5C2B\u5C2D\u5C2E\u5C2F\u5C30\u5C32\u5C33\u5C35\u5C36\u5C37\u5C43\u5C44\u5C46\u5C47\u5C4C\u5C4D\u5C52\u5C53\u5C54\u5C56\u5C57\u5C58\u5C5A\u5C5B\u5C5C\u5C5D\u5C5F\u5C62\u5C64\u5C67",6,"\u5C70\u5C72",6,"\u5C7B\u5C7C\u5C7D\u5C7E\u5C80\u5C83",4,"\u5C89\u5C8A\u5C8B\u5C8E\u5C8F\u5C92\u5C93\u5C95\u5C9D",4,"\u5CA4",4],["8d40","\u5CAA\u5CAE\u5CAF\u5CB0\u5CB2\u5CB4\u5CB6\u5CB9\u5CBA\u5CBB\u5CBC\u5CBE\u5CC0\u5CC2\u5CC3\u5CC5",5,"\u5CCC",5,"\u5CD3",5,"\u5CDA",6,"\u5CE2\u5CE3\u5CE7\u5CE9\u5CEB\u5CEC\u5CEE\u5CEF\u5CF1",9,"\u5CFC",4],["8d80","\u5D01\u5D04\u5D05\u5D08",5,"\u5D0F",4,"\u5D15\u5D17\u5D18\u5D19\u5D1A\u5D1C\u5D1D\u5D1F",4,"\u5D25\u5D28\u5D2A\u5D2B\u5D2C\u5D2F",4,"\u5D35",7,"\u5D3F",7,"\u5D48\u5D49\u5D4D",10,"\u5D59\u5D5A\u5D5C\u5D5E",10,"\u5D6A\u5D6D\u5D6E\u5D70\u5D71\u5D72\u5D73\u5D75",12,"\u5D83",21,"\u5D9A\u5D9B\u5D9C\u5D9E\u5D9F\u5DA0"],["8e40","\u5DA1",21,"\u5DB8",12,"\u5DC6",6,"\u5DCE",12,"\u5DDC\u5DDF\u5DE0\u5DE3\u5DE4\u5DEA\u5DEC\u5DED"],["8e80","\u5DF0\u5DF5\u5DF6\u5DF8",4,"\u5DFF\u5E00\u5E04\u5E07\u5E09\u5E0A\u5E0B\u5E0D\u5E0E\u5E12\u5E13\u5E17\u5E1E",7,"\u5E28",4,"\u5E2F\u5E30\u5E32",4,"\u5E39\u5E3A\u5E3E\u5E3F\u5E40\u5E41\u5E43\u5E46",5,"\u5E4D",6,"\u5E56",4,"\u5E5C\u5E5D\u5E5F\u5E60\u5E63",14,"\u5E75\u5E77\u5E79\u5E7E\u5E81\u5E82\u5E83\u5E85\u5E88\u5E89\u5E8C\u5E8D\u5E8E\u5E92\u5E98\u5E9B\u5E9D\u5EA1\u5EA2\u5EA3\u5EA4\u5EA8",4,"\u5EAE",4,"\u5EB4\u5EBA\u5EBB\u5EBC\u5EBD\u5EBF",6],["8f40","\u5EC6\u5EC7\u5EC8\u5ECB",5,"\u5ED4\u5ED5\u5ED7\u5ED8\u5ED9\u5EDA\u5EDC",11,"\u5EE9\u5EEB",8,"\u5EF5\u5EF8\u5EF9\u5EFB\u5EFC\u5EFD\u5F05\u5F06\u5F07\u5F09\u5F0C\u5F0D\u5F0E\u5F10\u5F12\u5F14\u5F16\u5F19\u5F1A\u5F1C\u5F1D\u5F1E\u5F21\u5F22\u5F23\u5F24"],["8f80","\u5F28\u5F2B\u5F2C\u5F2E\u5F30\u5F32",6,"\u5F3B\u5F3D\u5F3E\u5F3F\u5F41",14,"\u5F51\u5F54\u5F59\u5F5A\u5F5B\u5F5C\u5F5E\u5F5F\u5F60\u5F63\u5F65\u5F67\u5F68\u5F6B\u5F6E\u5F6F\u5F72\u5F74\u5F75\u5F76\u5F78\u5F7A\u5F7D\u5F7E\u5F7F\u5F83\u5F86\u5F8D\u5F8E\u5F8F\u5F91\u5F93\u5F94\u5F96\u5F9A\u5F9B\u5F9D\u5F9E\u5F9F\u5FA0\u5FA2",5,"\u5FA9\u5FAB\u5FAC\u5FAF",5,"\u5FB6\u5FB8\u5FB9\u5FBA\u5FBB\u5FBE",4,"\u5FC7\u5FC8\u5FCA\u5FCB\u5FCE\u5FD3\u5FD4\u5FD5\u5FDA\u5FDB\u5FDC\u5FDE\u5FDF\u5FE2\u5FE3\u5FE5\u5FE6\u5FE8\u5FE9\u5FEC\u5FEF\u5FF0\u5FF2\u5FF3\u5FF4\u5FF6\u5FF7\u5FF9\u5FFA\u5FFC\u6007"],["9040","\u6008\u6009\u600B\u600C\u6010\u6011\u6013\u6017\u6018\u601A\u601E\u601F\u6022\u6023\u6024\u602C\u602D\u602E\u6030",4,"\u6036",4,"\u603D\u603E\u6040\u6044",6,"\u604C\u604E\u604F\u6051\u6053\u6054\u6056\u6057\u6058\u605B\u605C\u605E\u605F\u6060\u6061\u6065\u6066\u606E\u6071\u6072\u6074\u6075\u6077\u607E\u6080"],["9080","\u6081\u6082\u6085\u6086\u6087\u6088\u608A\u608B\u608E\u608F\u6090\u6091\u6093\u6095\u6097\u6098\u6099\u609C\u609E\u60A1\u60A2\u60A4\u60A5\u60A7\u60A9\u60AA\u60AE\u60B0\u60B3\u60B5\u60B6\u60B7\u60B9\u60BA\u60BD",7,"\u60C7\u60C8\u60C9\u60CC",4,"\u60D2\u60D3\u60D4\u60D6\u60D7\u60D9\u60DB\u60DE\u60E1",4,"\u60EA\u60F1\u60F2\u60F5\u60F7\u60F8\u60FB",4,"\u6102\u6103\u6104\u6105\u6107\u610A\u610B\u610C\u6110",4,"\u6116\u6117\u6118\u6119\u611B\u611C\u611D\u611E\u6121\u6122\u6125\u6128\u6129\u612A\u612C",18,"\u6140",6],["9140","\u6147\u6149\u614B\u614D\u614F\u6150\u6152\u6153\u6154\u6156",6,"\u615E\u615F\u6160\u6161\u6163\u6164\u6165\u6166\u6169",6,"\u6171\u6172\u6173\u6174\u6176\u6178",18,"\u618C\u618D\u618F",4,"\u6195"],["9180","\u6196",6,"\u619E",8,"\u61AA\u61AB\u61AD",9,"\u61B8",5,"\u61BF\u61C0\u61C1\u61C3",4,"\u61C9\u61CC",4,"\u61D3\u61D5",16,"\u61E7",13,"\u61F6",8,"\u6200",5,"\u6207\u6209\u6213\u6214\u6219\u621C\u621D\u621E\u6220\u6223\u6226\u6227\u6228\u6229\u622B\u622D\u622F\u6230\u6231\u6232\u6235\u6236\u6238",4,"\u6242\u6244\u6245\u6246\u624A"],["9240","\u624F\u6250\u6255\u6256\u6257\u6259\u625A\u625C",6,"\u6264\u6265\u6268\u6271\u6272\u6274\u6275\u6277\u6278\u627A\u627B\u627D\u6281\u6282\u6283\u6285\u6286\u6287\u6288\u628B",5,"\u6294\u6299\u629C\u629D\u629E\u62A3\u62A6\u62A7\u62A9\u62AA\u62AD\u62AE\u62AF\u62B0\u62B2\u62B3\u62B4\u62B6\u62B7\u62B8\u62BA\u62BE\u62C0\u62C1"],["9280","\u62C3\u62CB\u62CF\u62D1\u62D5\u62DD\u62DE\u62E0\u62E1\u62E4\u62EA\u62EB\u62F0\u62F2\u62F5\u62F8\u62F9\u62FA\u62FB\u6300\u6303\u6304\u6305\u6306\u630A\u630B\u630C\u630D\u630F\u6310\u6312\u6313\u6314\u6315\u6317\u6318\u6319\u631C\u6326\u6327\u6329\u632C\u632D\u632E\u6330\u6331\u6333",5,"\u633B\u633C\u633E\u633F\u6340\u6341\u6344\u6347\u6348\u634A\u6351\u6352\u6353\u6354\u6356",7,"\u6360\u6364\u6365\u6366\u6368\u636A\u636B\u636C\u636F\u6370\u6372\u6373\u6374\u6375\u6378\u6379\u637C\u637D\u637E\u637F\u6381\u6383\u6384\u6385\u6386\u638B\u638D\u6391\u6393\u6394\u6395\u6397\u6399",6,"\u63A1\u63A4\u63A6\u63AB\u63AF\u63B1\u63B2\u63B5\u63B6\u63B9\u63BB\u63BD\u63BF\u63C0"],["9340","\u63C1\u63C2\u63C3\u63C5\u63C7\u63C8\u63CA\u63CB\u63CC\u63D1\u63D3\u63D4\u63D5\u63D7",6,"\u63DF\u63E2\u63E4",4,"\u63EB\u63EC\u63EE\u63EF\u63F0\u63F1\u63F3\u63F5\u63F7\u63F9\u63FA\u63FB\u63FC\u63FE\u6403\u6404\u6406",4,"\u640D\u640E\u6411\u6412\u6415",5,"\u641D\u641F\u6422\u6423\u6424"],["9380","\u6425\u6427\u6428\u6429\u642B\u642E",5,"\u6435",4,"\u643B\u643C\u643E\u6440\u6442\u6443\u6449\u644B",6,"\u6453\u6455\u6456\u6457\u6459",4,"\u645F",7,"\u6468\u646A\u646B\u646C\u646E",9,"\u647B",6,"\u6483\u6486\u6488",8,"\u6493\u6494\u6497\u6498\u649A\u649B\u649C\u649D\u649F",4,"\u64A5\u64A6\u64A7\u64A8\u64AA\u64AB\u64AF\u64B1\u64B2\u64B3\u64B4\u64B6\u64B9\u64BB\u64BD\u64BE\u64BF\u64C1\u64C3\u64C4\u64C6",6,"\u64CF\u64D1\u64D3\u64D4\u64D5\u64D6\u64D9\u64DA"],["9440","\u64DB\u64DC\u64DD\u64DF\u64E0\u64E1\u64E3\u64E5\u64E7",24,"\u6501",7,"\u650A",7,"\u6513",4,"\u6519",8],["9480","\u6522\u6523\u6524\u6526",4,"\u652C\u652D\u6530\u6531\u6532\u6533\u6537\u653A\u653C\u653D\u6540",4,"\u6546\u6547\u654A\u654B\u654D\u654E\u6550\u6552\u6553\u6554\u6557\u6558\u655A\u655C\u655F\u6560\u6561\u6564\u6565\u6567\u6568\u6569\u656A\u656D\u656E\u656F\u6571\u6573\u6575\u6576\u6578",14,"\u6588\u6589\u658A\u658D\u658E\u658F\u6592\u6594\u6595\u6596\u6598\u659A\u659D\u659E\u65A0\u65A2\u65A3\u65A6\u65A8\u65AA\u65AC\u65AE\u65B1",7,"\u65BA\u65BB\u65BE\u65BF\u65C0\u65C2\u65C7\u65C8\u65C9\u65CA\u65CD\u65D0\u65D1\u65D3\u65D4\u65D5\u65D8",7,"\u65E1\u65E3\u65E4\u65EA\u65EB"],["9540","\u65F2\u65F3\u65F4\u65F5\u65F8\u65F9\u65FB",4,"\u6601\u6604\u6605\u6607\u6608\u6609\u660B\u660D\u6610\u6611\u6612\u6616\u6617\u6618\u661A\u661B\u661C\u661E\u6621\u6622\u6623\u6624\u6626\u6629\u662A\u662B\u662C\u662E\u6630\u6632\u6633\u6637",4,"\u663D\u663F\u6640\u6642\u6644",6,"\u664D\u664E\u6650\u6651\u6658"],["9580","\u6659\u665B\u665C\u665D\u665E\u6660\u6662\u6663\u6665\u6667\u6669",4,"\u6671\u6672\u6673\u6675\u6678\u6679\u667B\u667C\u667D\u667F\u6680\u6681\u6683\u6685\u6686\u6688\u6689\u668A\u668B\u668D\u668E\u668F\u6690\u6692\u6693\u6694\u6695\u6698",4,"\u669E",8,"\u66A9",4,"\u66AF",4,"\u66B5\u66B6\u66B7\u66B8\u66BA\u66BB\u66BC\u66BD\u66BF",25,"\u66DA\u66DE",7,"\u66E7\u66E8\u66EA",5,"\u66F1\u66F5\u66F6\u66F8\u66FA\u66FB\u66FD\u6701\u6702\u6703"],["9640","\u6704\u6705\u6706\u6707\u670C\u670E\u670F\u6711\u6712\u6713\u6716\u6718\u6719\u671A\u671C\u671E\u6720",5,"\u6727\u6729\u672E\u6730\u6732\u6733\u6736\u6737\u6738\u6739\u673B\u673C\u673E\u673F\u6741\u6744\u6745\u6747\u674A\u674B\u674D\u6752\u6754\u6755\u6757",4,"\u675D\u6762\u6763\u6764\u6766\u6767\u676B\u676C\u676E\u6771\u6774\u6776"],["9680","\u6778\u6779\u677A\u677B\u677D\u6780\u6782\u6783\u6785\u6786\u6788\u678A\u678C\u678D\u678E\u678F\u6791\u6792\u6793\u6794\u6796\u6799\u679B\u679F\u67A0\u67A1\u67A4\u67A6\u67A9\u67AC\u67AE\u67B1\u67B2\u67B4\u67B9",7,"\u67C2\u67C5",9,"\u67D5\u67D6\u67D7\u67DB\u67DF\u67E1\u67E3\u67E4\u67E6\u67E7\u67E8\u67EA\u67EB\u67ED\u67EE\u67F2\u67F5",7,"\u67FE\u6801\u6802\u6803\u6804\u6806\u680D\u6810\u6812\u6814\u6815\u6818",4,"\u681E\u681F\u6820\u6822",6,"\u682B",6,"\u6834\u6835\u6836\u683A\u683B\u683F\u6847\u684B\u684D\u684F\u6852\u6856",5],["9740","\u685C\u685D\u685E\u685F\u686A\u686C",7,"\u6875\u6878",8,"\u6882\u6884\u6887",7,"\u6890\u6891\u6892\u6894\u6895\u6896\u6898",9,"\u68A3\u68A4\u68A5\u68A9\u68AA\u68AB\u68AC\u68AE\u68B1\u68B2\u68B4\u68B6\u68B7\u68B8"],["9780","\u68B9",6,"\u68C1\u68C3",5,"\u68CA\u68CC\u68CE\u68CF\u68D0\u68D1\u68D3\u68D4\u68D6\u68D7\u68D9\u68DB",4,"\u68E1\u68E2\u68E4",9,"\u68EF\u68F2\u68F3\u68F4\u68F6\u68F7\u68F8\u68FB\u68FD\u68FE\u68FF\u6900\u6902\u6903\u6904\u6906",4,"\u690C\u690F\u6911\u6913",11,"\u6921\u6922\u6923\u6925",7,"\u692E\u692F\u6931\u6932\u6933\u6935\u6936\u6937\u6938\u693A\u693B\u693C\u693E\u6940\u6941\u6943",16,"\u6955\u6956\u6958\u6959\u695B\u695C\u695F"],["9840","\u6961\u6962\u6964\u6965\u6967\u6968\u6969\u696A\u696C\u696D\u696F\u6970\u6972",4,"\u697A\u697B\u697D\u697E\u697F\u6981\u6983\u6985\u698A\u698B\u698C\u698E",5,"\u6996\u6997\u6999\u699A\u699D",9,"\u69A9\u69AA\u69AC\u69AE\u69AF\u69B0\u69B2\u69B3\u69B5\u69B6\u69B8\u69B9\u69BA\u69BC\u69BD"],["9880","\u69BE\u69BF\u69C0\u69C2",7,"\u69CB\u69CD\u69CF\u69D1\u69D2\u69D3\u69D5",5,"\u69DC\u69DD\u69DE\u69E1",11,"\u69EE\u69EF\u69F0\u69F1\u69F3",9,"\u69FE\u6A00",9,"\u6A0B",11,"\u6A19",5,"\u6A20\u6A22",5,"\u6A29\u6A2B\u6A2C\u6A2D\u6A2E\u6A30\u6A32\u6A33\u6A34\u6A36",6,"\u6A3F",4,"\u6A45\u6A46\u6A48",7,"\u6A51",6,"\u6A5A"],["9940","\u6A5C",4,"\u6A62\u6A63\u6A64\u6A66",10,"\u6A72",6,"\u6A7A\u6A7B\u6A7D\u6A7E\u6A7F\u6A81\u6A82\u6A83\u6A85",8,"\u6A8F\u6A92",4,"\u6A98",7,"\u6AA1",5],["9980","\u6AA7\u6AA8\u6AAA\u6AAD",114,"\u6B25\u6B26\u6B28",6],["9a40","\u6B2F\u6B30\u6B31\u6B33\u6B34\u6B35\u6B36\u6B38\u6B3B\u6B3C\u6B3D\u6B3F\u6B40\u6B41\u6B42\u6B44\u6B45\u6B48\u6B4A\u6B4B\u6B4D",11,"\u6B5A",7,"\u6B68\u6B69\u6B6B",13,"\u6B7A\u6B7D\u6B7E\u6B7F\u6B80\u6B85\u6B88"],["9a80","\u6B8C\u6B8E\u6B8F\u6B90\u6B91\u6B94\u6B95\u6B97\u6B98\u6B99\u6B9C",4,"\u6BA2",7,"\u6BAB",7,"\u6BB6\u6BB8",6,"\u6BC0\u6BC3\u6BC4\u6BC6",4,"\u6BCC\u6BCE\u6BD0\u6BD1\u6BD8\u6BDA\u6BDC",4,"\u6BE2",7,"\u6BEC\u6BED\u6BEE\u6BF0\u6BF1\u6BF2\u6BF4\u6BF6\u6BF7\u6BF8\u6BFA\u6BFB\u6BFC\u6BFE",6,"\u6C08",4,"\u6C0E\u6C12\u6C17\u6C1C\u6C1D\u6C1E\u6C20\u6C23\u6C25\u6C2B\u6C2C\u6C2D\u6C31\u6C33\u6C36\u6C37\u6C39\u6C3A\u6C3B\u6C3C\u6C3E\u6C3F\u6C43\u6C44\u6C45\u6C48\u6C4B",4,"\u6C51\u6C52\u6C53\u6C56\u6C58"],["9b40","\u6C59\u6C5A\u6C62\u6C63\u6C65\u6C66\u6C67\u6C6B",4,"\u6C71\u6C73\u6C75\u6C77\u6C78\u6C7A\u6C7B\u6C7C\u6C7F\u6C80\u6C84\u6C87\u6C8A\u6C8B\u6C8D\u6C8E\u6C91\u6C92\u6C95\u6C96\u6C97\u6C98\u6C9A\u6C9C\u6C9D\u6C9E\u6CA0\u6CA2\u6CA8\u6CAC\u6CAF\u6CB0\u6CB4\u6CB5\u6CB6\u6CB7\u6CBA\u6CC0\u6CC1\u6CC2\u6CC3\u6CC6\u6CC7\u6CC8\u6CCB\u6CCD\u6CCE\u6CCF\u6CD1\u6CD2\u6CD8"],["9b80","\u6CD9\u6CDA\u6CDC\u6CDD\u6CDF\u6CE4\u6CE6\u6CE7\u6CE9\u6CEC\u6CED\u6CF2\u6CF4\u6CF9\u6CFF\u6D00\u6D02\u6D03\u6D05\u6D06\u6D08\u6D09\u6D0A\u6D0D\u6D0F\u6D10\u6D11\u6D13\u6D14\u6D15\u6D16\u6D18\u6D1C\u6D1D\u6D1F",5,"\u6D26\u6D28\u6D29\u6D2C\u6D2D\u6D2F\u6D30\u6D34\u6D36\u6D37\u6D38\u6D3A\u6D3F\u6D40\u6D42\u6D44\u6D49\u6D4C\u6D50\u6D55\u6D56\u6D57\u6D58\u6D5B\u6D5D\u6D5F\u6D61\u6D62\u6D64\u6D65\u6D67\u6D68\u6D6B\u6D6C\u6D6D\u6D70\u6D71\u6D72\u6D73\u6D75\u6D76\u6D79\u6D7A\u6D7B\u6D7D",4,"\u6D83\u6D84\u6D86\u6D87\u6D8A\u6D8B\u6D8D\u6D8F\u6D90\u6D92\u6D96",4,"\u6D9C\u6DA2\u6DA5\u6DAC\u6DAD\u6DB0\u6DB1\u6DB3\u6DB4\u6DB6\u6DB7\u6DB9",5,"\u6DC1\u6DC2\u6DC3\u6DC8\u6DC9\u6DCA"],["9c40","\u6DCD\u6DCE\u6DCF\u6DD0\u6DD2\u6DD3\u6DD4\u6DD5\u6DD7\u6DDA\u6DDB\u6DDC\u6DDF\u6DE2\u6DE3\u6DE5\u6DE7\u6DE8\u6DE9\u6DEA\u6DED\u6DEF\u6DF0\u6DF2\u6DF4\u6DF5\u6DF6\u6DF8\u6DFA\u6DFD",7,"\u6E06\u6E07\u6E08\u6E09\u6E0B\u6E0F\u6E12\u6E13\u6E15\u6E18\u6E19\u6E1B\u6E1C\u6E1E\u6E1F\u6E22\u6E26\u6E27\u6E28\u6E2A\u6E2C\u6E2E\u6E30\u6E31\u6E33\u6E35"],["9c80","\u6E36\u6E37\u6E39\u6E3B",7,"\u6E45",7,"\u6E4F\u6E50\u6E51\u6E52\u6E55\u6E57\u6E59\u6E5A\u6E5C\u6E5D\u6E5E\u6E60",10,"\u6E6C\u6E6D\u6E6F",14,"\u6E80\u6E81\u6E82\u6E84\u6E87\u6E88\u6E8A",4,"\u6E91",6,"\u6E99\u6E9A\u6E9B\u6E9D\u6E9E\u6EA0\u6EA1\u6EA3\u6EA4\u6EA6\u6EA8\u6EA9\u6EAB\u6EAC\u6EAD\u6EAE\u6EB0\u6EB3\u6EB5\u6EB8\u6EB9\u6EBC\u6EBE\u6EBF\u6EC0\u6EC3\u6EC4\u6EC5\u6EC6\u6EC8\u6EC9\u6ECA\u6ECC\u6ECD\u6ECE\u6ED0\u6ED2\u6ED6\u6ED8\u6ED9\u6EDB\u6EDC\u6EDD\u6EE3\u6EE7\u6EEA",5],["9d40","\u6EF0\u6EF1\u6EF2\u6EF3\u6EF5\u6EF6\u6EF7\u6EF8\u6EFA",7,"\u6F03\u6F04\u6F05\u6F07\u6F08\u6F0A",4,"\u6F10\u6F11\u6F12\u6F16",9,"\u6F21\u6F22\u6F23\u6F25\u6F26\u6F27\u6F28\u6F2C\u6F2E\u6F30\u6F32\u6F34\u6F35\u6F37",6,"\u6F3F\u6F40\u6F41\u6F42"],["9d80","\u6F43\u6F44\u6F45\u6F48\u6F49\u6F4A\u6F4C\u6F4E",9,"\u6F59\u6F5A\u6F5B\u6F5D\u6F5F\u6F60\u6F61\u6F63\u6F64\u6F65\u6F67",5,"\u6F6F\u6F70\u6F71\u6F73\u6F75\u6F76\u6F77\u6F79\u6F7B\u6F7D",6,"\u6F85\u6F86\u6F87\u6F8A\u6F8B\u6F8F",12,"\u6F9D\u6F9E\u6F9F\u6FA0\u6FA2",4,"\u6FA8",10,"\u6FB4\u6FB5\u6FB7\u6FB8\u6FBA",5,"\u6FC1\u6FC3",5,"\u6FCA",6,"\u6FD3",10,"\u6FDF\u6FE2\u6FE3\u6FE4\u6FE5"],["9e40","\u6FE6",7,"\u6FF0",32,"\u7012",7,"\u701C",6,"\u7024",6],["9e80","\u702B",9,"\u7036\u7037\u7038\u703A",17,"\u704D\u704E\u7050",13,"\u705F",11,"\u706E\u7071\u7072\u7073\u7074\u7077\u7079\u707A\u707B\u707D\u7081\u7082\u7083\u7084\u7086\u7087\u7088\u708B\u708C\u708D\u708F\u7090\u7091\u7093\u7097\u7098\u709A\u709B\u709E",12,"\u70B0\u70B2\u70B4\u70B5\u70B6\u70BA\u70BE\u70BF\u70C4\u70C5\u70C6\u70C7\u70C9\u70CB",12,"\u70DA"],["9f40","\u70DC\u70DD\u70DE\u70E0\u70E1\u70E2\u70E3\u70E5\u70EA\u70EE\u70F0",6,"\u70F8\u70FA\u70FB\u70FC\u70FE",10,"\u710B",4,"\u7111\u7112\u7114\u7117\u711B",10,"\u7127",7,"\u7132\u7133\u7134"],["9f80","\u7135\u7137",13,"\u7146\u7147\u7148\u7149\u714B\u714D\u714F",12,"\u715D\u715F",4,"\u7165\u7169",4,"\u716F\u7170\u7171\u7174\u7175\u7176\u7177\u7179\u717B\u717C\u717E",5,"\u7185",4,"\u718B\u718C\u718D\u718E\u7190\u7191\u7192\u7193\u7195\u7196\u7197\u719A",4,"\u71A1",6,"\u71A9\u71AA\u71AB\u71AD",5,"\u71B4\u71B6\u71B7\u71B8\u71BA",8,"\u71C4",9,"\u71CF",4],["a040","\u71D6",9,"\u71E1\u71E2\u71E3\u71E4\u71E6\u71E8",5,"\u71EF",9,"\u71FA",11,"\u7207",19],["a080","\u721B\u721C\u721E",9,"\u7229\u722B\u722D\u722E\u722F\u7232\u7233\u7234\u723A\u723C\u723E\u7240",6,"\u7249\u724A\u724B\u724E\u724F\u7250\u7251\u7253\u7254\u7255\u7257\u7258\u725A\u725C\u725E\u7260\u7263\u7264\u7265\u7268\u726A\u726B\u726C\u726D\u7270\u7271\u7273\u7274\u7276\u7277\u7278\u727B\u727C\u727D\u7282\u7283\u7285",4,"\u728C\u728E\u7290\u7291\u7293",11,"\u72A0",11,"\u72AE\u72B1\u72B2\u72B3\u72B5\u72BA",6,"\u72C5\u72C6\u72C7\u72C9\u72CA\u72CB\u72CC\u72CF\u72D1\u72D3\u72D4\u72D5\u72D6\u72D8\u72DA\u72DB"],["a1a1","\u3000\u3001\u3002\xB7\u02C9\u02C7\xA8\u3003\u3005\u2014\uFF5E\u2016\u2026\u2018\u2019\u201C\u201D\u3014\u3015\u3008",7,"\u3016\u3017\u3010\u3011\xB1\xD7\xF7\u2236\u2227\u2228\u2211\u220F\u222A\u2229\u2208\u2237\u221A\u22A5\u2225\u2220\u2312\u2299\u222B\u222E\u2261\u224C\u2248\u223D\u221D\u2260\u226E\u226F\u2264\u2265\u221E\u2235\u2234\u2642\u2640\xB0\u2032\u2033\u2103\uFF04\xA4\uFFE0\uFFE1\u2030\xA7\u2116\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u203B\u2192\u2190\u2191\u2193\u3013"],["a2a1","\u2170",9],["a2b1","\u2488",19,"\u2474",19,"\u2460",9],["a2e5","\u3220",9],["a2f1","\u2160",11],["a3a1","\uFF01\uFF02\uFF03\uFFE5\uFF05",88,"\uFFE3"],["a4a1","\u3041",82],["a5a1","\u30A1",85],["a6a1","\u0391",16,"\u03A3",6],["a6c1","\u03B1",16,"\u03C3",6],["a6e0","\uFE35\uFE36\uFE39\uFE3A\uFE3F\uFE40\uFE3D\uFE3E\uFE41\uFE42\uFE43\uFE44"],["a6ee","\uFE3B\uFE3C\uFE37\uFE38\uFE31"],["a6f4","\uFE33\uFE34"],["a7a1","\u0410",5,"\u0401\u0416",25],["a7d1","\u0430",5,"\u0451\u0436",25],["a840","\u02CA\u02CB\u02D9\u2013\u2015\u2025\u2035\u2105\u2109\u2196\u2197\u2198\u2199\u2215\u221F\u2223\u2252\u2266\u2267\u22BF\u2550",35,"\u2581",6],["a880","\u2588",7,"\u2593\u2594\u2595\u25BC\u25BD\u25E2\u25E3\u25E4\u25E5\u2609\u2295\u3012\u301D\u301E"],["a8a1","\u0101\xE1\u01CE\xE0\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA\u01DC\xFC\xEA\u0251"],["a8bd","\u0144\u0148"],["a8c0","\u0261"],["a8c5","\u3105",36],["a940","\u3021",8,"\u32A3\u338E\u338F\u339C\u339D\u339E\u33A1\u33C4\u33CE\u33D1\u33D2\u33D5\uFE30\uFFE2\uFFE4"],["a959","\u2121\u3231"],["a95c","\u2010"],["a960","\u30FC\u309B\u309C\u30FD\u30FE\u3006\u309D\u309E\uFE49",9,"\uFE54\uFE55\uFE56\uFE57\uFE59",8],["a980","\uFE62",4,"\uFE68\uFE69\uFE6A\uFE6B"],["a996","\u3007"],["a9a4","\u2500",75],["aa40","\u72DC\u72DD\u72DF\u72E2",5,"\u72EA\u72EB\u72F5\u72F6\u72F9\u72FD\u72FE\u72FF\u7300\u7302\u7304",5,"\u730B\u730C\u730D\u730F\u7310\u7311\u7312\u7314\u7318\u7319\u731A\u731F\u7320\u7323\u7324\u7326\u7327\u7328\u732D\u732F\u7330\u7332\u7333\u7335\u7336\u733A\u733B\u733C\u733D\u7340",8],["aa80","\u7349\u734A\u734B\u734C\u734E\u734F\u7351\u7353\u7354\u7355\u7356\u7358",7,"\u7361",10,"\u736E\u7370\u7371"],["ab40","\u7372",11,"\u737F",4,"\u7385\u7386\u7388\u738A\u738C\u738D\u738F\u7390\u7392\u7393\u7394\u7395\u7397\u7398\u7399\u739A\u739C\u739D\u739E\u73A0\u73A1\u73A3",5,"\u73AA\u73AC\u73AD\u73B1\u73B4\u73B5\u73B6\u73B8\u73B9\u73BC\u73BD\u73BE\u73BF\u73C1\u73C3",4],["ab80","\u73CB\u73CC\u73CE\u73D2",6,"\u73DA\u73DB\u73DC\u73DD\u73DF\u73E1\u73E2\u73E3\u73E4\u73E6\u73E8\u73EA\u73EB\u73EC\u73EE\u73EF\u73F0\u73F1\u73F3",4],["ac40","\u73F8",10,"\u7404\u7407\u7408\u740B\u740C\u740D\u740E\u7411",8,"\u741C",5,"\u7423\u7424\u7427\u7429\u742B\u742D\u742F\u7431\u7432\u7437",4,"\u743D\u743E\u743F\u7440\u7442",11],["ac80","\u744E",6,"\u7456\u7458\u745D\u7460",12,"\u746E\u746F\u7471",4,"\u7478\u7479\u747A"],["ad40","\u747B\u747C\u747D\u747F\u7482\u7484\u7485\u7486\u7488\u7489\u748A\u748C\u748D\u748F\u7491",10,"\u749D\u749F",7,"\u74AA",15,"\u74BB",12],["ad80","\u74C8",9,"\u74D3",8,"\u74DD\u74DF\u74E1\u74E5\u74E7",6,"\u74F0\u74F1\u74F2"],["ae40","\u74F3\u74F5\u74F8",6,"\u7500\u7501\u7502\u7503\u7505",7,"\u750E\u7510\u7512\u7514\u7515\u7516\u7517\u751B\u751D\u751E\u7520",4,"\u7526\u7527\u752A\u752E\u7534\u7536\u7539\u753C\u753D\u753F\u7541\u7542\u7543\u7544\u7546\u7547\u7549\u754A\u754D\u7550\u7551\u7552\u7553\u7555\u7556\u7557\u7558"],["ae80","\u755D",7,"\u7567\u7568\u7569\u756B",6,"\u7573\u7575\u7576\u7577\u757A",4,"\u7580\u7581\u7582\u7584\u7585\u7587"],["af40","\u7588\u7589\u758A\u758C\u758D\u758E\u7590\u7593\u7595\u7598\u759B\u759C\u759E\u75A2\u75A6",4,"\u75AD\u75B6\u75B7\u75BA\u75BB\u75BF\u75C0\u75C1\u75C6\u75CB\u75CC\u75CE\u75CF\u75D0\u75D1\u75D3\u75D7\u75D9\u75DA\u75DC\u75DD\u75DF\u75E0\u75E1\u75E5\u75E9\u75EC\u75ED\u75EE\u75EF\u75F2\u75F3\u75F5\u75F6\u75F7\u75F8\u75FA\u75FB\u75FD\u75FE\u7602\u7604\u7606\u7607"],["af80","\u7608\u7609\u760B\u760D\u760E\u760F\u7611\u7612\u7613\u7614\u7616\u761A\u761C\u761D\u761E\u7621\u7623\u7627\u7628\u762C\u762E\u762F\u7631\u7632\u7636\u7637\u7639\u763A\u763B\u763D\u7641\u7642\u7644"],["b040","\u7645",6,"\u764E",5,"\u7655\u7657",4,"\u765D\u765F\u7660\u7661\u7662\u7664",6,"\u766C\u766D\u766E\u7670",7,"\u7679\u767A\u767C\u767F\u7680\u7681\u7683\u7685\u7689\u768A\u768C\u768D\u768F\u7690\u7692\u7694\u7695\u7697\u7698\u769A\u769B"],["b080","\u769C",7,"\u76A5",8,"\u76AF\u76B0\u76B3\u76B5",9,"\u76C0\u76C1\u76C3\u554A\u963F\u57C3\u6328\u54CE\u5509\u54C0\u7691\u764C\u853C\u77EE\u827E\u788D\u7231\u9698\u978D\u6C28\u5B89\u4FFA\u6309\u6697\u5CB8\u80FA\u6848\u80AE\u6602\u76CE\u51F9\u6556\u71AC\u7FF1\u8884\u50B2\u5965\u61CA\u6FB3\u82AD\u634C\u6252\u53ED\u5427\u7B06\u516B\u75A4\u5DF4\u62D4\u8DCB\u9776\u628A\u8019\u575D\u9738\u7F62\u7238\u767D\u67CF\u767E\u6446\u4F70\u8D25\u62DC\u7A17\u6591\u73ED\u642C\u6273\u822C\u9881\u677F\u7248\u626E\u62CC\u4F34\u74E3\u534A\u529E\u7ECA\u90A6\u5E2E\u6886\u699C\u8180\u7ED1\u68D2\u78C5\u868C\u9551\u508D\u8C24\u82DE\u80DE\u5305\u8912\u5265"],["b140","\u76C4\u76C7\u76C9\u76CB\u76CC\u76D3\u76D5\u76D9\u76DA\u76DC\u76DD\u76DE\u76E0",4,"\u76E6",7,"\u76F0\u76F3\u76F5\u76F6\u76F7\u76FA\u76FB\u76FD\u76FF\u7700\u7702\u7703\u7705\u7706\u770A\u770C\u770E",10,"\u771B\u771C\u771D\u771E\u7721\u7723\u7724\u7725\u7727\u772A\u772B"],["b180","\u772C\u772E\u7730",4,"\u7739\u773B\u773D\u773E\u773F\u7742\u7744\u7745\u7746\u7748",7,"\u7752",7,"\u775C\u8584\u96F9\u4FDD\u5821\u9971\u5B9D\u62B1\u62A5\u66B4\u8C79\u9C8D\u7206\u676F\u7891\u60B2\u5351\u5317\u8F88\u80CC\u8D1D\u94A1\u500D\u72C8\u5907\u60EB\u7119\u88AB\u5954\u82EF\u672C\u7B28\u5D29\u7EF7\u752D\u6CF5\u8E66\u8FF8\u903C\u9F3B\u6BD4\u9119\u7B14\u5F7C\u78A7\u84D6\u853D\u6BD5\u6BD9\u6BD6\u5E01\u5E87\u75F9\u95ED\u655D\u5F0A\u5FC5\u8F9F\u58C1\u81C2\u907F\u965B\u97AD\u8FB9\u7F16\u8D2C\u6241\u4FBF\u53D8\u535E\u8FA8\u8FA9\u8FAB\u904D\u6807\u5F6A\u8198\u8868\u9CD6\u618B\u522B\u762A\u5F6C\u658C\u6FD2\u6EE8\u5BBE\u6448\u5175\u51B0\u67C4\u4E19\u79C9\u997C\u70B3"],["b240","\u775D\u775E\u775F\u7760\u7764\u7767\u7769\u776A\u776D",11,"\u777A\u777B\u777C\u7781\u7782\u7783\u7786",5,"\u778F\u7790\u7793",11,"\u77A1\u77A3\u77A4\u77A6\u77A8\u77AB\u77AD\u77AE\u77AF\u77B1\u77B2\u77B4\u77B6",4],["b280","\u77BC\u77BE\u77C0",12,"\u77CE",8,"\u77D8\u77D9\u77DA\u77DD",4,"\u77E4\u75C5\u5E76\u73BB\u83E0\u64AD\u62E8\u94B5\u6CE2\u535A\u52C3\u640F\u94C2\u7B94\u4F2F\u5E1B\u8236\u8116\u818A\u6E24\u6CCA\u9A73\u6355\u535C\u54FA\u8865\u57E0\u4E0D\u5E03\u6B65\u7C3F\u90E8\u6016\u64E6\u731C\u88C1\u6750\u624D\u8D22\u776C\u8E29\u91C7\u5F69\u83DC\u8521\u9910\u53C2\u8695\u6B8B\u60ED\u60E8\u707F\u82CD\u8231\u4ED3\u6CA7\u85CF\u64CD\u7CD9\u69FD\u66F9\u8349\u5395\u7B56\u4FA7\u518C\u6D4B\u5C42\u8E6D\u63D2\u53C9\u832C\u8336\u67E5\u78B4\u643D\u5BDF\u5C94\u5DEE\u8BE7\u62C6\u67F4\u8C7A\u6400\u63BA\u8749\u998B\u8C17\u7F20\u94F2\u4EA7\u9610\u98A4\u660C\u7316"],["b340","\u77E6\u77E8\u77EA\u77EF\u77F0\u77F1\u77F2\u77F4\u77F5\u77F7\u77F9\u77FA\u77FB\u77FC\u7803",5,"\u780A\u780B\u780E\u780F\u7810\u7813\u7815\u7819\u781B\u781E\u7820\u7821\u7822\u7824\u7828\u782A\u782B\u782E\u782F\u7831\u7832\u7833\u7835\u7836\u783D\u783F\u7841\u7842\u7843\u7844\u7846\u7848\u7849\u784A\u784B\u784D\u784F\u7851\u7853\u7854\u7858\u7859\u785A"],["b380","\u785B\u785C\u785E",11,"\u786F",7,"\u7878\u7879\u787A\u787B\u787D",6,"\u573A\u5C1D\u5E38\u957F\u507F\u80A0\u5382\u655E\u7545\u5531\u5021\u8D85\u6284\u949E\u671D\u5632\u6F6E\u5DE2\u5435\u7092\u8F66\u626F\u64A4\u63A3\u5F7B\u6F88\u90F4\u81E3\u8FB0\u5C18\u6668\u5FF1\u6C89\u9648\u8D81\u886C\u6491\u79F0\u57CE\u6A59\u6210\u5448\u4E58\u7A0B\u60E9\u6F84\u8BDA\u627F\u901E\u9A8B\u79E4\u5403\u75F4\u6301\u5319\u6C60\u8FDF\u5F1B\u9A70\u803B\u9F7F\u4F88\u5C3A\u8D64\u7FC5\u65A5\u70BD\u5145\u51B2\u866B\u5D07\u5BA0\u62BD\u916C\u7574\u8E0C\u7A20\u6101\u7B79\u4EC7\u7EF8\u7785\u4E11\u81ED\u521D\u51FA\u6A71\u53A8\u8E87\u9504\u96CF\u6EC1\u9664\u695A"],["b440","\u7884\u7885\u7886\u7888\u788A\u788B\u788F\u7890\u7892\u7894\u7895\u7896\u7899\u789D\u789E\u78A0\u78A2\u78A4\u78A6\u78A8",7,"\u78B5\u78B6\u78B7\u78B8\u78BA\u78BB\u78BC\u78BD\u78BF\u78C0\u78C2\u78C3\u78C4\u78C6\u78C7\u78C8\u78CC\u78CD\u78CE\u78CF\u78D1\u78D2\u78D3\u78D6\u78D7\u78D8\u78DA",9],["b480","\u78E4\u78E5\u78E6\u78E7\u78E9\u78EA\u78EB\u78ED",4,"\u78F3\u78F5\u78F6\u78F8\u78F9\u78FB",5,"\u7902\u7903\u7904\u7906",6,"\u7840\u50A8\u77D7\u6410\u89E6\u5904\u63E3\u5DDD\u7A7F\u693D\u4F20\u8239\u5598\u4E32\u75AE\u7A97\u5E62\u5E8A\u95EF\u521B\u5439\u708A\u6376\u9524\u5782\u6625\u693F\u9187\u5507\u6DF3\u7EAF\u8822\u6233\u7EF0\u75B5\u8328\u78C1\u96CC\u8F9E\u6148\u74F7\u8BCD\u6B64\u523A\u8D50\u6B21\u806A\u8471\u56F1\u5306\u4ECE\u4E1B\u51D1\u7C97\u918B\u7C07\u4FC3\u8E7F\u7BE1\u7A9C\u6467\u5D14\u50AC\u8106\u7601\u7CB9\u6DEC\u7FE0\u6751\u5B58\u5BF8\u78CB\u64AE\u6413\u63AA\u632B\u9519\u642D\u8FBE\u7B54\u7629\u6253\u5927\u5446\u6B79\u50A3\u6234\u5E26\u6B86\u4EE3\u8D37\u888B\u5F85\u902E"],["b540","\u790D",5,"\u7914",9,"\u791F",4,"\u7925",14,"\u7935",4,"\u793D\u793F\u7942\u7943\u7944\u7945\u7947\u794A",8,"\u7954\u7955\u7958\u7959\u7961\u7963"],["b580","\u7964\u7966\u7969\u796A\u796B\u796C\u796E\u7970",6,"\u7979\u797B",4,"\u7982\u7983\u7986\u7987\u7988\u7989\u798B\u798C\u798D\u798E\u7990\u7991\u7992\u6020\u803D\u62C5\u4E39\u5355\u90F8\u63B8\u80C6\u65E6\u6C2E\u4F46\u60EE\u6DE1\u8BDE\u5F39\u86CB\u5F53\u6321\u515A\u8361\u6863\u5200\u6363\u8E48\u5012\u5C9B\u7977\u5BFC\u5230\u7A3B\u60BC\u9053\u76D7\u5FB7\u5F97\u7684\u8E6C\u706F\u767B\u7B49\u77AA\u51F3\u9093\u5824\u4F4E\u6EF4\u8FEA\u654C\u7B1B\u72C4\u6DA4\u7FDF\u5AE1\u62B5\u5E95\u5730\u8482\u7B2C\u5E1D\u5F1F\u9012\u7F14\u98A0\u6382\u6EC7\u7898\u70B9\u5178\u975B\u57AB\u7535\u4F43\u7538\u5E97\u60E6\u5960\u6DC0\u6BBF\u7889\u53FC\u96D5\u51CB\u5201\u6389\u540A\u9493\u8C03\u8DCC\u7239\u789F\u8776\u8FED\u8C0D\u53E0"],["b640","\u7993",6,"\u799B",11,"\u79A8",10,"\u79B4",4,"\u79BC\u79BF\u79C2\u79C4\u79C5\u79C7\u79C8\u79CA\u79CC\u79CE\u79CF\u79D0\u79D3\u79D4\u79D6\u79D7\u79D9",5,"\u79E0\u79E1\u79E2\u79E5\u79E8\u79EA"],["b680","\u79EC\u79EE\u79F1",6,"\u79F9\u79FA\u79FC\u79FE\u79FF\u7A01\u7A04\u7A05\u7A07\u7A08\u7A09\u7A0A\u7A0C\u7A0F",4,"\u7A15\u7A16\u7A18\u7A19\u7A1B\u7A1C\u4E01\u76EF\u53EE\u9489\u9876\u9F0E\u952D\u5B9A\u8BA2\u4E22\u4E1C\u51AC\u8463\u61C2\u52A8\u680B\u4F97\u606B\u51BB\u6D1E\u515C\u6296\u6597\u9661\u8C46\u9017\u75D8\u90FD\u7763\u6BD2\u728A\u72EC\u8BFB\u5835\u7779\u8D4C\u675C\u9540\u809A\u5EA6\u6E21\u5992\u7AEF\u77ED\u953B\u6BB5\u65AD\u7F0E\u5806\u5151\u961F\u5BF9\u58A9\u5428\u8E72\u6566\u987F\u56E4\u949D\u76FE\u9041\u6387\u54C6\u591A\u593A\u579B\u8EB2\u6735\u8DFA\u8235\u5241\u60F0\u5815\u86FE\u5CE8\u9E45\u4FC4\u989D\u8BB9\u5A25\u6076\u5384\u627C\u904F\u9102\u997F\u6069\u800C\u513F\u8033\u5C14\u9975\u6D31\u4E8C"],["b740","\u7A1D\u7A1F\u7A21\u7A22\u7A24",14,"\u7A34\u7A35\u7A36\u7A38\u7A3A\u7A3E\u7A40",5,"\u7A47",9,"\u7A52",4,"\u7A58",16],["b780","\u7A69",6,"\u7A71\u7A72\u7A73\u7A75\u7A7B\u7A7C\u7A7D\u7A7E\u7A82\u7A85\u7A87\u7A89\u7A8A\u7A8B\u7A8C\u7A8E\u7A8F\u7A90\u7A93\u7A94\u7A99\u7A9A\u7A9B\u7A9E\u7AA1\u7AA2\u8D30\u53D1\u7F5A\u7B4F\u4F10\u4E4F\u9600\u6CD5\u73D0\u85E9\u5E06\u756A\u7FFB\u6A0A\u77FE\u9492\u7E41\u51E1\u70E6\u53CD\u8FD4\u8303\u8D29\u72AF\u996D\u6CDB\u574A\u82B3\u65B9\u80AA\u623F\u9632\u59A8\u4EFF\u8BBF\u7EBA\u653E\u83F2\u975E\u5561\u98DE\u80A5\u532A\u8BFD\u5420\u80BA\u5E9F\u6CB8\u8D39\u82AC\u915A\u5429\u6C1B\u5206\u7EB7\u575F\u711A\u6C7E\u7C89\u594B\u4EFD\u5FFF\u6124\u7CAA\u4E30\u5C01\u67AB\u8702\u5CF0\u950B\u98CE\u75AF\u70FD\u9022\u51AF\u7F1D\u8BBD\u5949\u51E4\u4F5B\u5426\u592B\u6577\u80A4\u5B75\u6276\u62C2\u8F90\u5E45\u6C1F\u7B26\u4F0F\u4FD8\u670D"],["b840","\u7AA3\u7AA4\u7AA7\u7AA9\u7AAA\u7AAB\u7AAE",4,"\u7AB4",10,"\u7AC0",10,"\u7ACC",9,"\u7AD7\u7AD8\u7ADA\u7ADB\u7ADC\u7ADD\u7AE1\u7AE2\u7AE4\u7AE7",5,"\u7AEE\u7AF0\u7AF1\u7AF2\u7AF3"],["b880","\u7AF4",4,"\u7AFB\u7AFC\u7AFE\u7B00\u7B01\u7B02\u7B05\u7B07\u7B09\u7B0C\u7B0D\u7B0E\u7B10\u7B12\u7B13\u7B16\u7B17\u7B18\u7B1A\u7B1C\u7B1D\u7B1F\u7B21\u7B22\u7B23\u7B27\u7B29\u7B2D\u6D6E\u6DAA\u798F\u88B1\u5F17\u752B\u629A\u8F85\u4FEF\u91DC\u65A7\u812F\u8151\u5E9C\u8150\u8D74\u526F\u8986\u8D4B\u590D\u5085\u4ED8\u961C\u7236\u8179\u8D1F\u5BCC\u8BA3\u9644\u5987\u7F1A\u5490\u5676\u560E\u8BE5\u6539\u6982\u9499\u76D6\u6E89\u5E72\u7518\u6746\u67D1\u7AFF\u809D\u8D76\u611F\u79C6\u6562\u8D63\u5188\u521A\u94A2\u7F38\u809B\u7EB2\u5C97\u6E2F\u6760\u7BD9\u768B\u9AD8\u818F\u7F94\u7CD5\u641E\u9550\u7A3F\u544A\u54E5\u6B4C\u6401\u6208\u9E3D\u80F3\u7599\u5272\u9769\u845B\u683C\u86E4\u9601\u9694\u94EC\u4E2A\u5404\u7ED9\u6839\u8DDF\u8015\u66F4\u5E9A\u7FB9"],["b940","\u7B2F\u7B30\u7B32\u7B34\u7B35\u7B36\u7B37\u7B39\u7B3B\u7B3D\u7B3F",5,"\u7B46\u7B48\u7B4A\u7B4D\u7B4E\u7B53\u7B55\u7B57\u7B59\u7B5C\u7B5E\u7B5F\u7B61\u7B63",10,"\u7B6F\u7B70\u7B73\u7B74\u7B76\u7B78\u7B7A\u7B7C\u7B7D\u7B7F\u7B81\u7B82\u7B83\u7B84\u7B86",6,"\u7B8E\u7B8F"],["b980","\u7B91\u7B92\u7B93\u7B96\u7B98\u7B99\u7B9A\u7B9B\u7B9E\u7B9F\u7BA0\u7BA3\u7BA4\u7BA5\u7BAE\u7BAF\u7BB0\u7BB2\u7BB3\u7BB5\u7BB6\u7BB7\u7BB9",7,"\u7BC2\u7BC3\u7BC4\u57C2\u803F\u6897\u5DE5\u653B\u529F\u606D\u9F9A\u4F9B\u8EAC\u516C\u5BAB\u5F13\u5DE9\u6C5E\u62F1\u8D21\u5171\u94A9\u52FE\u6C9F\u82DF\u72D7\u57A2\u6784\u8D2D\u591F\u8F9C\u83C7\u5495\u7B8D\u4F30\u6CBD\u5B64\u59D1\u9F13\u53E4\u86CA\u9AA8\u8C37\u80A1\u6545\u987E\u56FA\u96C7\u522E\u74DC\u5250\u5BE1\u6302\u8902\u4E56\u62D0\u602A\u68FA\u5173\u5B98\u51A0\u89C2\u7BA1\u9986\u7F50\u60EF\u704C\u8D2F\u5149\u5E7F\u901B\u7470\u89C4\u572D\u7845\u5F52\u9F9F\u95FA\u8F68\u9B3C\u8BE1\u7678\u6842\u67DC\u8DEA\u8D35\u523D\u8F8A\u6EDA\u68CD\u9505\u90ED\u56FD\u679C\u88F9\u8FC7\u54C8"],["ba40","\u7BC5\u7BC8\u7BC9\u7BCA\u7BCB\u7BCD\u7BCE\u7BCF\u7BD0\u7BD2\u7BD4",4,"\u7BDB\u7BDC\u7BDE\u7BDF\u7BE0\u7BE2\u7BE3\u7BE4\u7BE7\u7BE8\u7BE9\u7BEB\u7BEC\u7BED\u7BEF\u7BF0\u7BF2",4,"\u7BF8\u7BF9\u7BFA\u7BFB\u7BFD\u7BFF",7,"\u7C08\u7C09\u7C0A\u7C0D\u7C0E\u7C10",5,"\u7C17\u7C18\u7C19"],["ba80","\u7C1A",4,"\u7C20",5,"\u7C28\u7C29\u7C2B",12,"\u7C39",5,"\u7C42\u9AB8\u5B69\u6D77\u6C26\u4EA5\u5BB3\u9A87\u9163\u61A8\u90AF\u97E9\u542B\u6DB5\u5BD2\u51FD\u558A\u7F55\u7FF0\u64BC\u634D\u65F1\u61BE\u608D\u710A\u6C57\u6C49\u592F\u676D\u822A\u58D5\u568E\u8C6A\u6BEB\u90DD\u597D\u8017\u53F7\u6D69\u5475\u559D\u8377\u83CF\u6838\u79BE\u548C\u4F55\u5408\u76D2\u8C89\u9602\u6CB3\u6DB8\u8D6B\u8910\u9E64\u8D3A\u563F\u9ED1\u75D5\u5F88\u72E0\u6068\u54FC\u4EA8\u6A2A\u8861\u6052\u8F70\u54C4\u70D8\u8679\u9E3F\u6D2A\u5B8F\u5F18\u7EA2\u5589\u4FAF\u7334\u543C\u539A\u5019\u540E\u547C\u4E4E\u5FFD\u745A\u58F6\u846B\u80E1\u8774\u72D0\u7CCA\u6E56"],["bb40","\u7C43",9,"\u7C4E",36,"\u7C75",5,"\u7C7E",9],["bb80","\u7C88\u7C8A",6,"\u7C93\u7C94\u7C96\u7C99\u7C9A\u7C9B\u7CA0\u7CA1\u7CA3\u7CA6\u7CA7\u7CA8\u7CA9\u7CAB\u7CAC\u7CAD\u7CAF\u7CB0\u7CB4",4,"\u7CBA\u7CBB\u5F27\u864E\u552C\u62A4\u4E92\u6CAA\u6237\u82B1\u54D7\u534E\u733E\u6ED1\u753B\u5212\u5316\u8BDD\u69D0\u5F8A\u6000\u6DEE\u574F\u6B22\u73AF\u6853\u8FD8\u7F13\u6362\u60A3\u5524\u75EA\u8C62\u7115\u6DA3\u5BA6\u5E7B\u8352\u614C\u9EC4\u78FA\u8757\u7C27\u7687\u51F0\u60F6\u714C\u6643\u5E4C\u604D\u8C0E\u7070\u6325\u8F89\u5FBD\u6062\u86D4\u56DE\u6BC1\u6094\u6167\u5349\u60E0\u6666\u8D3F\u79FD\u4F1A\u70E9\u6C47\u8BB3\u8BF2\u7ED8\u8364\u660F\u5A5A\u9B42\u6D51\u6DF7\u8C41\u6D3B\u4F19\u706B\u83B7\u6216\u60D1\u970D\u8D27\u7978\u51FB\u573E\u57FA\u673A\u7578\u7A3D\u79EF\u7B95"],["bc40","\u7CBF\u7CC0\u7CC2\u7CC3\u7CC4\u7CC6\u7CC9\u7CCB\u7CCE",6,"\u7CD8\u7CDA\u7CDB\u7CDD\u7CDE\u7CE1",6,"\u7CE9",5,"\u7CF0",7,"\u7CF9\u7CFA\u7CFC",13,"\u7D0B",5],["bc80","\u7D11",14,"\u7D21\u7D23\u7D24\u7D25\u7D26\u7D28\u7D29\u7D2A\u7D2C\u7D2D\u7D2E\u7D30",6,"\u808C\u9965\u8FF9\u6FC0\u8BA5\u9E21\u59EC\u7EE9\u7F09\u5409\u6781\u68D8\u8F91\u7C4D\u96C6\u53CA\u6025\u75BE\u6C72\u5373\u5AC9\u7EA7\u6324\u51E0\u810A\u5DF1\u84DF\u6280\u5180\u5B63\u4F0E\u796D\u5242\u60B8\u6D4E\u5BC4\u5BC2\u8BA1\u8BB0\u65E2\u5FCC\u9645\u5993\u7EE7\u7EAA\u5609\u67B7\u5939\u4F73\u5BB6\u52A0\u835A\u988A\u8D3E\u7532\u94BE\u5047\u7A3C\u4EF7\u67B6\u9A7E\u5AC1\u6B7C\u76D1\u575A\u5C16\u7B3A\u95F4\u714E\u517C\u80A9\u8270\u5978\u7F04\u8327\u68C0\u67EC\u78B1\u7877\u62E3\u6361\u7B80\u4FED\u526A\u51CF\u8350\u69DB\u9274\u8DF5\u8D31\u89C1\u952E\u7BAD\u4EF6"],["bd40","\u7D37",54,"\u7D6F",7],["bd80","\u7D78",32,"\u5065\u8230\u5251\u996F\u6E10\u6E85\u6DA7\u5EFA\u50F5\u59DC\u5C06\u6D46\u6C5F\u7586\u848B\u6868\u5956\u8BB2\u5320\u9171\u964D\u8549\u6912\u7901\u7126\u80F6\u4EA4\u90CA\u6D47\u9A84\u5A07\u56BC\u6405\u94F0\u77EB\u4FA5\u811A\u72E1\u89D2\u997A\u7F34\u7EDE\u527F\u6559\u9175\u8F7F\u8F83\u53EB\u7A96\u63ED\u63A5\u7686\u79F8\u8857\u9636\u622A\u52AB\u8282\u6854\u6770\u6377\u776B\u7AED\u6D01\u7ED3\u89E3\u59D0\u6212\u85C9\u82A5\u754C\u501F\u4ECB\u75A5\u8BEB\u5C4A\u5DFE\u7B4B\u65A4\u91D1\u4ECA\u6D25\u895F\u7D27\u9526\u4EC5\u8C28\u8FDB\u9773\u664B\u7981\u8FD1\u70EC\u6D78"],["be40","\u7D99",12,"\u7DA7",6,"\u7DAF",42],["be80","\u7DDA",32,"\u5C3D\u52B2\u8346\u5162\u830E\u775B\u6676\u9CB8\u4EAC\u60CA\u7CBE\u7CB3\u7ECF\u4E95\u8B66\u666F\u9888\u9759\u5883\u656C\u955C\u5F84\u75C9\u9756\u7ADF\u7ADE\u51C0\u70AF\u7A98\u63EA\u7A76\u7EA0\u7396\u97ED\u4E45\u7078\u4E5D\u9152\u53A9\u6551\u65E7\u81FC\u8205\u548E\u5C31\u759A\u97A0\u62D8\u72D9\u75BD\u5C45\u9A79\u83CA\u5C40\u5480\u77E9\u4E3E\u6CAE\u805A\u62D2\u636E\u5DE8\u5177\u8DDD\u8E1E\u952F\u4FF1\u53E5\u60E7\u70AC\u5267\u6350\u9E43\u5A1F\u5026\u7737\u5377\u7EE2\u6485\u652B\u6289\u6398\u5014\u7235\u89C9\u51B3\u8BC0\u7EDD\u5747\u83CC\u94A7\u519B\u541B\u5CFB"],["bf40","\u7DFB",62],["bf80","\u7E3A\u7E3C",4,"\u7E42",4,"\u7E48",21,"\u4FCA\u7AE3\u6D5A\u90E1\u9A8F\u5580\u5496\u5361\u54AF\u5F00\u63E9\u6977\u51EF\u6168\u520A\u582A\u52D8\u574E\u780D\u770B\u5EB7\u6177\u7CE0\u625B\u6297\u4EA2\u7095\u8003\u62F7\u70E4\u9760\u5777\u82DB\u67EF\u68F5\u78D5\u9897\u79D1\u58F3\u54B3\u53EF\u6E34\u514B\u523B\u5BA2\u8BFE\u80AF\u5543\u57A6\u6073\u5751\u542D\u7A7A\u6050\u5B54\u63A7\u62A0\u53E3\u6263\u5BC7\u67AF\u54ED\u7A9F\u82E6\u9177\u5E93\u88E4\u5938\u57AE\u630E\u8DE8\u80EF\u5757\u7B77\u4FA9\u5FEB\u5BBD\u6B3E\u5321\u7B50\u72C2\u6846\u77FF\u7736\u65F7\u51B5\u4E8F\u76D4\u5CBF\u7AA5\u8475\u594E\u9B41\u5080"],["c040","\u7E5E",35,"\u7E83",23,"\u7E9C\u7E9D\u7E9E"],["c080","\u7EAE\u7EB4\u7EBB\u7EBC\u7ED6\u7EE4\u7EEC\u7EF9\u7F0A\u7F10\u7F1E\u7F37\u7F39\u7F3B",6,"\u7F43\u7F46",9,"\u7F52\u7F53\u9988\u6127\u6E83\u5764\u6606\u6346\u56F0\u62EC\u6269\u5ED3\u9614\u5783\u62C9\u5587\u8721\u814A\u8FA3\u5566\u83B1\u6765\u8D56\u84DD\u5A6A\u680F\u62E6\u7BEE\u9611\u5170\u6F9C\u8C30\u63FD\u89C8\u61D2\u7F06\u70C2\u6EE5\u7405\u6994\u72FC\u5ECA\u90CE\u6717\u6D6A\u635E\u52B3\u7262\u8001\u4F6C\u59E5\u916A\u70D9\u6D9D\u52D2\u4E50\u96F7\u956D\u857E\u78CA\u7D2F\u5121\u5792\u64C2\u808B\u7C7B\u6CEA\u68F1\u695E\u51B7\u5398\u68A8\u7281\u9ECE\u7BF1\u72F8\u79BB\u6F13\u7406\u674E\u91CC\u9CA4\u793C\u8389\u8354\u540F\u6817\u4E3D\u5389\u52B1\u783E\u5386\u5229\u5088\u4F8B\u4FD0"],["c140","\u7F56\u7F59\u7F5B\u7F5C\u7F5D\u7F5E\u7F60\u7F63",4,"\u7F6B\u7F6C\u7F6D\u7F6F\u7F70\u7F73\u7F75\u7F76\u7F77\u7F78\u7F7A\u7F7B\u7F7C\u7F7D\u7F7F\u7F80\u7F82",7,"\u7F8B\u7F8D\u7F8F",4,"\u7F95",4,"\u7F9B\u7F9C\u7FA0\u7FA2\u7FA3\u7FA5\u7FA6\u7FA8",6,"\u7FB1"],["c180","\u7FB3",4,"\u7FBA\u7FBB\u7FBE\u7FC0\u7FC2\u7FC3\u7FC4\u7FC6\u7FC7\u7FC8\u7FC9\u7FCB\u7FCD\u7FCF",4,"\u7FD6\u7FD7\u7FD9",5,"\u7FE2\u7FE3\u75E2\u7ACB\u7C92\u6CA5\u96B6\u529B\u7483\u54E9\u4FE9\u8054\u83B2\u8FDE\u9570\u5EC9\u601C\u6D9F\u5E18\u655B\u8138\u94FE\u604B\u70BC\u7EC3\u7CAE\u51C9\u6881\u7CB1\u826F\u4E24\u8F86\u91CF\u667E\u4EAE\u8C05\u64A9\u804A\u50DA\u7597\u71CE\u5BE5\u8FBD\u6F66\u4E86\u6482\u9563\u5ED6\u6599\u5217\u88C2\u70C8\u52A3\u730E\u7433\u6797\u78F7\u9716\u4E34\u90BB\u9CDE\u6DCB\u51DB\u8D41\u541D\u62CE\u73B2\u83F1\u96F6\u9F84\u94C3\u4F36\u7F9A\u51CC\u7075\u9675\u5CAD\u9886\u53E6\u4EE4\u6E9C\u7409\u69B4\u786B\u998F\u7559\u5218\u7624\u6D41\u67F3\u516D\u9F99\u804B\u5499\u7B3C\u7ABF"],["c240","\u7FE4\u7FE7\u7FE8\u7FEA\u7FEB\u7FEC\u7FED\u7FEF\u7FF2\u7FF4",6,"\u7FFD\u7FFE\u7FFF\u8002\u8007\u8008\u8009\u800A\u800E\u800F\u8011\u8013\u801A\u801B\u801D\u801E\u801F\u8021\u8023\u8024\u802B",5,"\u8032\u8034\u8039\u803A\u803C\u803E\u8040\u8041\u8044\u8045\u8047\u8048\u8049\u804E\u804F\u8050\u8051\u8053\u8055\u8056\u8057"],["c280","\u8059\u805B",13,"\u806B",5,"\u8072",11,"\u9686\u5784\u62E2\u9647\u697C\u5A04\u6402\u7BD3\u6F0F\u964B\u82A6\u5362\u9885\u5E90\u7089\u63B3\u5364\u864F\u9C81\u9E93\u788C\u9732\u8DEF\u8D42\u9E7F\u6F5E\u7984\u5F55\u9646\u622E\u9A74\u5415\u94DD\u4FA3\u65C5\u5C65\u5C61\u7F15\u8651\u6C2F\u5F8B\u7387\u6EE4\u7EFF\u5CE6\u631B\u5B6A\u6EE6\u5375\u4E71\u63A0\u7565\u62A1\u8F6E\u4F26\u4ED1\u6CA6\u7EB6\u8BBA\u841D\u87BA\u7F57\u903B\u9523\u7BA9\u9AA1\u88F8\u843D\u6D1B\u9A86\u7EDC\u5988\u9EBB\u739B\u7801\u8682\u9A6C\u9A82\u561B\u5417\u57CB\u4E70\u9EA6\u5356\u8FC8\u8109\u7792\u9992\u86EE\u6EE1\u8513\u66FC\u6162\u6F2B"],["c340","\u807E\u8081\u8082\u8085\u8088\u808A\u808D",5,"\u8094\u8095\u8097\u8099\u809E\u80A3\u80A6\u80A7\u80A8\u80AC\u80B0\u80B3\u80B5\u80B6\u80B8\u80B9\u80BB\u80C5\u80C7",4,"\u80CF",6,"\u80D8\u80DF\u80E0\u80E2\u80E3\u80E6\u80EE\u80F5\u80F7\u80F9\u80FB\u80FE\u80FF\u8100\u8101\u8103\u8104\u8105\u8107\u8108\u810B"],["c380","\u810C\u8115\u8117\u8119\u811B\u811C\u811D\u811F",12,"\u812D\u812E\u8130\u8133\u8134\u8135\u8137\u8139",4,"\u813F\u8C29\u8292\u832B\u76F2\u6C13\u5FD9\u83BD\u732B\u8305\u951A\u6BDB\u77DB\u94C6\u536F\u8302\u5192\u5E3D\u8C8C\u8D38\u4E48\u73AB\u679A\u6885\u9176\u9709\u7164\u6CA1\u7709\u5A92\u9541\u6BCF\u7F8E\u6627\u5BD0\u59B9\u5A9A\u95E8\u95F7\u4EEC\u840C\u8499\u6AAC\u76DF\u9530\u731B\u68A6\u5B5F\u772F\u919A\u9761\u7CDC\u8FF7\u8C1C\u5F25\u7C73\u79D8\u89C5\u6CCC\u871C\u5BC6\u5E42\u68C9\u7720\u7EF5\u5195\u514D\u52C9\u5A29\u7F05\u9762\u82D7\u63CF\u7784\u85D0\u79D2\u6E3A\u5E99\u5999\u8511\u706D\u6C11\u62BF\u76BF\u654F\u60AF\u95FD\u660E\u879F\u9E23\u94ED\u540D\u547D\u8C2C\u6478"],["c440","\u8140",5,"\u8147\u8149\u814D\u814E\u814F\u8152\u8156\u8157\u8158\u815B",4,"\u8161\u8162\u8163\u8164\u8166\u8168\u816A\u816B\u816C\u816F\u8172\u8173\u8175\u8176\u8177\u8178\u8181\u8183",4,"\u8189\u818B\u818C\u818D\u818E\u8190\u8192",5,"\u8199\u819A\u819E",4,"\u81A4\u81A5"],["c480","\u81A7\u81A9\u81AB",7,"\u81B4",5,"\u81BC\u81BD\u81BE\u81BF\u81C4\u81C5\u81C7\u81C8\u81C9\u81CB\u81CD",6,"\u6479\u8611\u6A21\u819C\u78E8\u6469\u9B54\u62B9\u672B\u83AB\u58A8\u9ED8\u6CAB\u6F20\u5BDE\u964C\u8C0B\u725F\u67D0\u62C7\u7261\u4EA9\u59C6\u6BCD\u5893\u66AE\u5E55\u52DF\u6155\u6728\u76EE\u7766\u7267\u7A46\u62FF\u54EA\u5450\u94A0\u90A3\u5A1C\u7EB3\u6C16\u4E43\u5976\u8010\u5948\u5357\u7537\u96BE\u56CA\u6320\u8111\u607C\u95F9\u6DD6\u5462\u9981\u5185\u5AE9\u80FD\u59AE\u9713\u502A\u6CE5\u5C3C\u62DF\u4F60\u533F\u817B\u9006\u6EBA\u852B\u62C8\u5E74\u78BE\u64B5\u637B\u5FF5\u5A18\u917F\u9E1F\u5C3F\u634F\u8042\u5B7D\u556E\u954A\u954D\u6D85\u60A8\u67E0\u72DE\u51DD\u5B81"],["c540","\u81D4",14,"\u81E4\u81E5\u81E6\u81E8\u81E9\u81EB\u81EE",4,"\u81F5",5,"\u81FD\u81FF\u8203\u8207",4,"\u820E\u820F\u8211\u8213\u8215",5,"\u821D\u8220\u8224\u8225\u8226\u8227\u8229\u822E\u8232\u823A\u823C\u823D\u823F"],["c580","\u8240\u8241\u8242\u8243\u8245\u8246\u8248\u824A\u824C\u824D\u824E\u8250",7,"\u8259\u825B\u825C\u825D\u825E\u8260",7,"\u8269\u62E7\u6CDE\u725B\u626D\u94AE\u7EBD\u8113\u6D53\u519C\u5F04\u5974\u52AA\u6012\u5973\u6696\u8650\u759F\u632A\u61E6\u7CEF\u8BFA\u54E6\u6B27\u9E25\u6BB4\u85D5\u5455\u5076\u6CA4\u556A\u8DB4\u722C\u5E15\u6015\u7436\u62CD\u6392\u724C\u5F98\u6E43\u6D3E\u6500\u6F58\u76D8\u78D0\u76FC\u7554\u5224\u53DB\u4E53\u5E9E\u65C1\u802A\u80D6\u629B\u5486\u5228\u70AE\u888D\u8DD1\u6CE1\u5478\u80DA\u57F9\u88F4\u8D54\u966A\u914D\u4F69\u6C9B\u55B7\u76C6\u7830\u62A8\u70F9\u6F8E\u5F6D\u84EC\u68DA\u787C\u7BF7\u81A8\u670B\u9E4F\u6367\u78B0\u576F\u7812\u9739\u6279\u62AB\u5288\u7435\u6BD7"],["c640","\u826A\u826B\u826C\u826D\u8271\u8275\u8276\u8277\u8278\u827B\u827C\u8280\u8281\u8283\u8285\u8286\u8287\u8289\u828C\u8290\u8293\u8294\u8295\u8296\u829A\u829B\u829E\u82A0\u82A2\u82A3\u82A7\u82B2\u82B5\u82B6\u82BA\u82BB\u82BC\u82BF\u82C0\u82C2\u82C3\u82C5\u82C6\u82C9\u82D0\u82D6\u82D9\u82DA\u82DD\u82E2\u82E7\u82E8\u82E9\u82EA\u82EC\u82ED\u82EE\u82F0\u82F2\u82F3\u82F5\u82F6\u82F8"],["c680","\u82FA\u82FC",4,"\u830A\u830B\u830D\u8310\u8312\u8313\u8316\u8318\u8319\u831D",9,"\u8329\u832A\u832E\u8330\u8332\u8337\u833B\u833D\u5564\u813E\u75B2\u76AE\u5339\u75DE\u50FB\u5C41\u8B6C\u7BC7\u504F\u7247\u9A97\u98D8\u6F02\u74E2\u7968\u6487\u77A5\u62FC\u9891\u8D2B\u54C1\u8058\u4E52\u576A\u82F9\u840D\u5E73\u51ED\u74F6\u8BC4\u5C4F\u5761\u6CFC\u9887\u5A46\u7834\u9B44\u8FEB\u7C95\u5256\u6251\u94FA\u4EC6\u8386\u8461\u83E9\u84B2\u57D4\u6734\u5703\u666E\u6D66\u8C31\u66DD\u7011\u671F\u6B3A\u6816\u621A\u59BB\u4E03\u51C4\u6F06\u67D2\u6C8F\u5176\u68CB\u5947\u6B67\u7566\u5D0E\u8110\u9F50\u65D7\u7948\u7941\u9A91\u8D77\u5C82\u4E5E\u4F01\u542F\u5951\u780C\u5668\u6C14\u8FC4\u5F03\u6C7D\u6CE3\u8BAB\u6390"],["c740","\u833E\u833F\u8341\u8342\u8344\u8345\u8348\u834A",4,"\u8353\u8355",4,"\u835D\u8362\u8370",6,"\u8379\u837A\u837E",6,"\u8387\u8388\u838A\u838B\u838C\u838D\u838F\u8390\u8391\u8394\u8395\u8396\u8397\u8399\u839A\u839D\u839F\u83A1",6,"\u83AC\u83AD\u83AE"],["c780","\u83AF\u83B5\u83BB\u83BE\u83BF\u83C2\u83C3\u83C4\u83C6\u83C8\u83C9\u83CB\u83CD\u83CE\u83D0\u83D1\u83D2\u83D3\u83D5\u83D7\u83D9\u83DA\u83DB\u83DE\u83E2\u83E3\u83E4\u83E6\u83E7\u83E8\u83EB\u83EC\u83ED\u6070\u6D3D\u7275\u6266\u948E\u94C5\u5343\u8FC1\u7B7E\u4EDF\u8C26\u4E7E\u9ED4\u94B1\u94B3\u524D\u6F5C\u9063\u6D45\u8C34\u5811\u5D4C\u6B20\u6B49\u67AA\u545B\u8154\u7F8C\u5899\u8537\u5F3A\u62A2\u6A47\u9539\u6572\u6084\u6865\u77A7\u4E54\u4FA8\u5DE7\u9798\u64AC\u7FD8\u5CED\u4FCF\u7A8D\u5207\u8304\u4E14\u602F\u7A83\u94A6\u4FB5\u4EB2\u79E6\u7434\u52E4\u82B9\u64D2\u79BD\u5BDD\u6C81\u9752\u8F7B\u6C22\u503E\u537F\u6E05\u64CE\u6674\u6C30\u60C5\u9877\u8BF7\u5E86\u743C\u7A77\u79CB\u4E18\u90B1\u7403\u6C42\u56DA\u914B\u6CC5\u8D8B\u533A\u86C6\u66F2\u8EAF\u5C48\u9A71\u6E20"],["c840","\u83EE\u83EF\u83F3",4,"\u83FA\u83FB\u83FC\u83FE\u83FF\u8400\u8402\u8405\u8407\u8408\u8409\u840A\u8410\u8412",5,"\u8419\u841A\u841B\u841E",5,"\u8429",7,"\u8432",5,"\u8439\u843A\u843B\u843E",7,"\u8447\u8448\u8449"],["c880","\u844A",6,"\u8452",4,"\u8458\u845D\u845E\u845F\u8460\u8462\u8464",4,"\u846A\u846E\u846F\u8470\u8472\u8474\u8477\u8479\u847B\u847C\u53D6\u5A36\u9F8B\u8DA3\u53BB\u5708\u98A7\u6743\u919B\u6CC9\u5168\u75CA\u62F3\u72AC\u5238\u529D\u7F3A\u7094\u7638\u5374\u9E4A\u69B7\u786E\u96C0\u88D9\u7FA4\u7136\u71C3\u5189\u67D3\u74E4\u58E4\u6518\u56B7\u8BA9\u9976\u6270\u7ED5\u60F9\u70ED\u58EC\u4EC1\u4EBA\u5FCD\u97E7\u4EFB\u8BA4\u5203\u598A\u7EAB\u6254\u4ECD\u65E5\u620E\u8338\u84C9\u8363\u878D\u7194\u6EB6\u5BB9\u7ED2\u5197\u63C9\u67D4\u8089\u8339\u8815\u5112\u5B7A\u5982\u8FB1\u4E73\u6C5D\u5165\u8925\u8F6F\u962E\u854A\u745E\u9510\u95F0\u6DA6\u82E5\u5F31\u6492\u6D12\u8428\u816E\u9CC3\u585E\u8D5B\u4E09\u53C1"],["c940","\u847D",4,"\u8483\u8484\u8485\u8486\u848A\u848D\u848F",7,"\u8498\u849A\u849B\u849D\u849E\u849F\u84A0\u84A2",12,"\u84B0\u84B1\u84B3\u84B5\u84B6\u84B7\u84BB\u84BC\u84BE\u84C0\u84C2\u84C3\u84C5\u84C6\u84C7\u84C8\u84CB\u84CC\u84CE\u84CF\u84D2\u84D4\u84D5\u84D7"],["c980","\u84D8",4,"\u84DE\u84E1\u84E2\u84E4\u84E7",4,"\u84ED\u84EE\u84EF\u84F1",10,"\u84FD\u84FE\u8500\u8501\u8502\u4F1E\u6563\u6851\u55D3\u4E27\u6414\u9A9A\u626B\u5AC2\u745F\u8272\u6DA9\u68EE\u50E7\u838E\u7802\u6740\u5239\u6C99\u7EB1\u50BB\u5565\u715E\u7B5B\u6652\u73CA\u82EB\u6749\u5C71\u5220\u717D\u886B\u95EA\u9655\u64C5\u8D61\u81B3\u5584\u6C55\u6247\u7F2E\u5892\u4F24\u5546\u8D4F\u664C\u4E0A\u5C1A\u88F3\u68A2\u634E\u7A0D\u70E7\u828D\u52FA\u97F6\u5C11\u54E8\u90B5\u7ECD\u5962\u8D4A\u86C7\u820C\u820D\u8D66\u6444\u5C04\u6151\u6D89\u793E\u8BBE\u7837\u7533\u547B\u4F38\u8EAB\u6DF1\u5A20\u7EC5\u795E\u6C88\u5BA1\u5A76\u751A\u80BE\u614E\u6E17\u58F0\u751F\u7525\u7272\u5347\u7EF3"],["ca40","\u8503",8,"\u850D\u850E\u850F\u8510\u8512\u8514\u8515\u8516\u8518\u8519\u851B\u851C\u851D\u851E\u8520\u8522",8,"\u852D",9,"\u853E",4,"\u8544\u8545\u8546\u8547\u854B",10],["ca80","\u8557\u8558\u855A\u855B\u855C\u855D\u855F",4,"\u8565\u8566\u8567\u8569",8,"\u8573\u8575\u8576\u8577\u8578\u857C\u857D\u857F\u8580\u8581\u7701\u76DB\u5269\u80DC\u5723\u5E08\u5931\u72EE\u65BD\u6E7F\u8BD7\u5C38\u8671\u5341\u77F3\u62FE\u65F6\u4EC0\u98DF\u8680\u5B9E\u8BC6\u53F2\u77E2\u4F7F\u5C4E\u9A76\u59CB\u5F0F\u793A\u58EB\u4E16\u67FF\u4E8B\u62ED\u8A93\u901D\u52BF\u662F\u55DC\u566C\u9002\u4ED5\u4F8D\u91CA\u9970\u6C0F\u5E02\u6043\u5BA4\u89C6\u8BD5\u6536\u624B\u9996\u5B88\u5BFF\u6388\u552E\u53D7\u7626\u517D\u852C\u67A2\u68B3\u6B8A\u6292\u8F93\u53D4\u8212\u6DD1\u758F\u4E66\u8D4E\u5B70\u719F\u85AF\u6691\u66D9\u7F72\u8700\u9ECD\u9F20\u5C5E\u672F\u8FF0\u6811\u675F\u620D\u7AD6\u5885\u5EB6\u6570\u6F31"],["cb40","\u8582\u8583\u8586\u8588",6,"\u8590",10,"\u859D",6,"\u85A5\u85A6\u85A7\u85A9\u85AB\u85AC\u85AD\u85B1",5,"\u85B8\u85BA",6,"\u85C2",6,"\u85CA",4,"\u85D1\u85D2"],["cb80","\u85D4\u85D6",5,"\u85DD",6,"\u85E5\u85E6\u85E7\u85E8\u85EA",14,"\u6055\u5237\u800D\u6454\u8870\u7529\u5E05\u6813\u62F4\u971C\u53CC\u723D\u8C01\u6C34\u7761\u7A0E\u542E\u77AC\u987A\u821C\u8BF4\u7855\u6714\u70C1\u65AF\u6495\u5636\u601D\u79C1\u53F8\u4E1D\u6B7B\u8086\u5BFA\u55E3\u56DB\u4F3A\u4F3C\u9972\u5DF3\u677E\u8038\u6002\u9882\u9001\u5B8B\u8BBC\u8BF5\u641C\u8258\u64DE\u55FD\u82CF\u9165\u4FD7\u7D20\u901F\u7C9F\u50F3\u5851\u6EAF\u5BBF\u8BC9\u8083\u9178\u849C\u7B97\u867D\u968B\u968F\u7EE5\u9AD3\u788E\u5C81\u7A57\u9042\u96A7\u795F\u5B59\u635F\u7B0B\u84D1\u68AD\u5506\u7F29\u7410\u7D22\u9501\u6240\u584C\u4ED6\u5B83\u5979\u5854"],["cc40","\u85F9\u85FA\u85FC\u85FD\u85FE\u8600",4,"\u8606",10,"\u8612\u8613\u8614\u8615\u8617",15,"\u8628\u862A",13,"\u8639\u863A\u863B\u863D\u863E\u863F\u8640"],["cc80","\u8641",11,"\u8652\u8653\u8655",4,"\u865B\u865C\u865D\u865F\u8660\u8661\u8663",7,"\u736D\u631E\u8E4B\u8E0F\u80CE\u82D4\u62AC\u53F0\u6CF0\u915E\u592A\u6001\u6C70\u574D\u644A\u8D2A\u762B\u6EE9\u575B\u6A80\u75F0\u6F6D\u8C2D\u8C08\u5766\u6BEF\u8892\u78B3\u63A2\u53F9\u70AD\u6C64\u5858\u642A\u5802\u68E0\u819B\u5510\u7CD6\u5018\u8EBA\u6DCC\u8D9F\u70EB\u638F\u6D9B\u6ED4\u7EE6\u8404\u6843\u9003\u6DD8\u9676\u8BA8\u5957\u7279\u85E4\u817E\u75BC\u8A8A\u68AF\u5254\u8E22\u9511\u63D0\u9898\u8E44\u557C\u4F53\u66FF\u568F\u60D5\u6D95\u5243\u5C49\u5929\u6DFB\u586B\u7530\u751C\u606C\u8214\u8146\u6311\u6761\u8FE2\u773A\u8DF3\u8D34\u94C1\u5E16\u5385\u542C\u70C3"],["cd40","\u866D\u866F\u8670\u8672",6,"\u8683",6,"\u868E",4,"\u8694\u8696",5,"\u869E",4,"\u86A5\u86A6\u86AB\u86AD\u86AE\u86B2\u86B3\u86B7\u86B8\u86B9\u86BB",4,"\u86C1\u86C2\u86C3\u86C5\u86C8\u86CC\u86CD\u86D2\u86D3\u86D5\u86D6\u86D7\u86DA\u86DC"],["cd80","\u86DD\u86E0\u86E1\u86E2\u86E3\u86E5\u86E6\u86E7\u86E8\u86EA\u86EB\u86EC\u86EF\u86F5\u86F6\u86F7\u86FA\u86FB\u86FC\u86FD\u86FF\u8701\u8704\u8705\u8706\u870B\u870C\u870E\u870F\u8710\u8711\u8714\u8716\u6C40\u5EF7\u505C\u4EAD\u5EAD\u633A\u8247\u901A\u6850\u916E\u77B3\u540C\u94DC\u5F64\u7AE5\u6876\u6345\u7B52\u7EDF\u75DB\u5077\u6295\u5934\u900F\u51F8\u79C3\u7A81\u56FE\u5F92\u9014\u6D82\u5C60\u571F\u5410\u5154\u6E4D\u56E2\u63A8\u9893\u817F\u8715\u892A\u9000\u541E\u5C6F\u81C0\u62D6\u6258\u8131\u9E35\u9640\u9A6E\u9A7C\u692D\u59A5\u62D3\u553E\u6316\u54C7\u86D9\u6D3C\u5A03\u74E6\u889C\u6B6A\u5916\u8C4C\u5F2F\u6E7E\u73A9\u987D\u4E38\u70F7\u5B8C\u7897\u633D\u665A\u7696\u60CB\u5B9B\u5A49\u4E07\u8155\u6C6A\u738B\u4EA1\u6789\u7F51\u5F80\u65FA\u671B\u5FD8\u5984\u5A01"],["ce40","\u8719\u871B\u871D\u871F\u8720\u8724\u8726\u8727\u8728\u872A\u872B\u872C\u872D\u872F\u8730\u8732\u8733\u8735\u8736\u8738\u8739\u873A\u873C\u873D\u8740",6,"\u874A\u874B\u874D\u874F\u8750\u8751\u8752\u8754\u8755\u8756\u8758\u875A",5,"\u8761\u8762\u8766",7,"\u876F\u8771\u8772\u8773\u8775"],["ce80","\u8777\u8778\u8779\u877A\u877F\u8780\u8781\u8784\u8786\u8787\u8789\u878A\u878C\u878E",4,"\u8794\u8795\u8796\u8798",6,"\u87A0",4,"\u5DCD\u5FAE\u5371\u97E6\u8FDD\u6845\u56F4\u552F\u60DF\u4E3A\u6F4D\u7EF4\u82C7\u840E\u59D4\u4F1F\u4F2A\u5C3E\u7EAC\u672A\u851A\u5473\u754F\u80C3\u5582\u9B4F\u4F4D\u6E2D\u8C13\u5C09\u6170\u536B\u761F\u6E29\u868A\u6587\u95FB\u7EB9\u543B\u7A33\u7D0A\u95EE\u55E1\u7FC1\u74EE\u631D\u8717\u6DA1\u7A9D\u6211\u65A1\u5367\u63E1\u6C83\u5DEB\u545C\u94A8\u4E4C\u6C61\u8BEC\u5C4B\u65E0\u829C\u68A7\u543E\u5434\u6BCB\u6B66\u4E94\u6342\u5348\u821E\u4F0D\u4FAE\u575E\u620A\u96FE\u6664\u7269\u52FF\u52A1\u609F\u8BEF\u6614\u7199\u6790\u897F\u7852\u77FD\u6670\u563B\u5438\u9521\u727A"],["cf40","\u87A5\u87A6\u87A7\u87A9\u87AA\u87AE\u87B0\u87B1\u87B2\u87B4\u87B6\u87B7\u87B8\u87B9\u87BB\u87BC\u87BE\u87BF\u87C1",4,"\u87C7\u87C8\u87C9\u87CC",4,"\u87D4",6,"\u87DC\u87DD\u87DE\u87DF\u87E1\u87E2\u87E3\u87E4\u87E6\u87E7\u87E8\u87E9\u87EB\u87EC\u87ED\u87EF",9],["cf80","\u87FA\u87FB\u87FC\u87FD\u87FF\u8800\u8801\u8802\u8804",5,"\u880B",7,"\u8814\u8817\u8818\u8819\u881A\u881C",4,"\u8823\u7A00\u606F\u5E0C\u6089\u819D\u5915\u60DC\u7184\u70EF\u6EAA\u6C50\u7280\u6A84\u88AD\u5E2D\u4E60\u5AB3\u559C\u94E3\u6D17\u7CFB\u9699\u620F\u7EC6\u778E\u867E\u5323\u971E\u8F96\u6687\u5CE1\u4FA0\u72ED\u4E0B\u53A6\u590F\u5413\u6380\u9528\u5148\u4ED9\u9C9C\u7EA4\u54B8\u8D24\u8854\u8237\u95F2\u6D8E\u5F26\u5ACC\u663E\u9669\u73B0\u732E\u53BF\u817A\u9985\u7FA1\u5BAA\u9677\u9650\u7EBF\u76F8\u53A2\u9576\u9999\u7BB1\u8944\u6E58\u4E61\u7FD4\u7965\u8BE6\u60F3\u54CD\u4EAB\u9879\u5DF7\u6A61\u50CF\u5411\u8C61\u8427\u785D\u9704\u524A\u54EE\u56A3\u9500\u6D88\u5BB5\u6DC6\u6653"],["d040","\u8824",13,"\u8833",5,"\u883A\u883B\u883D\u883E\u883F\u8841\u8842\u8843\u8846",5,"\u884E",5,"\u8855\u8856\u8858\u885A",6,"\u8866\u8867\u886A\u886D\u886F\u8871\u8873\u8874\u8875\u8876\u8878\u8879\u887A"],["d080","\u887B\u887C\u8880\u8883\u8886\u8887\u8889\u888A\u888C\u888E\u888F\u8890\u8891\u8893\u8894\u8895\u8897",4,"\u889D",4,"\u88A3\u88A5",5,"\u5C0F\u5B5D\u6821\u8096\u5578\u7B11\u6548\u6954\u4E9B\u6B47\u874E\u978B\u534F\u631F\u643A\u90AA\u659C\u80C1\u8C10\u5199\u68B0\u5378\u87F9\u61C8\u6CC4\u6CFB\u8C22\u5C51\u85AA\u82AF\u950C\u6B23\u8F9B\u65B0\u5FFB\u5FC3\u4FE1\u8845\u661F\u8165\u7329\u60FA\u5174\u5211\u578B\u5F62\u90A2\u884C\u9192\u5E78\u674F\u6027\u59D3\u5144\u51F6\u80F8\u5308\u6C79\u96C4\u718A\u4F11\u4FEE\u7F9E\u673D\u55C5\u9508\u79C0\u8896\u7EE3\u589F\u620C\u9700\u865A\u5618\u987B\u5F90\u8BB8\u84C4\u9157\u53D9\u65ED\u5E8F\u755C\u6064\u7D6E\u5A7F\u7EEA\u7EED\u8F69\u55A7\u5BA3\u60AC\u65CB\u7384"],["d140","\u88AC\u88AE\u88AF\u88B0\u88B2",4,"\u88B8\u88B9\u88BA\u88BB\u88BD\u88BE\u88BF\u88C0\u88C3\u88C4\u88C7\u88C8\u88CA\u88CB\u88CC\u88CD\u88CF\u88D0\u88D1\u88D3\u88D6\u88D7\u88DA",4,"\u88E0\u88E1\u88E6\u88E7\u88E9",6,"\u88F2\u88F5\u88F6\u88F7\u88FA\u88FB\u88FD\u88FF\u8900\u8901\u8903",5],["d180","\u8909\u890B",4,"\u8911\u8914",4,"\u891C",4,"\u8922\u8923\u8924\u8926\u8927\u8928\u8929\u892C\u892D\u892E\u892F\u8931\u8932\u8933\u8935\u8937\u9009\u7663\u7729\u7EDA\u9774\u859B\u5B66\u7A74\u96EA\u8840\u52CB\u718F\u5FAA\u65EC\u8BE2\u5BFB\u9A6F\u5DE1\u6B89\u6C5B\u8BAD\u8BAF\u900A\u8FC5\u538B\u62BC\u9E26\u9E2D\u5440\u4E2B\u82BD\u7259\u869C\u5D16\u8859\u6DAF\u96C5\u54D1\u4E9A\u8BB6\u7109\u54BD\u9609\u70DF\u6DF9\u76D0\u4E25\u7814\u8712\u5CA9\u5EF6\u8A00\u989C\u960E\u708E\u6CBF\u5944\u63A9\u773C\u884D\u6F14\u8273\u5830\u71D5\u538C\u781A\u96C1\u5501\u5F66\u7130\u5BB4\u8C1A\u9A8C\u6B83\u592E\u9E2F\u79E7\u6768\u626C\u4F6F\u75A1\u7F8A\u6D0B\u9633\u6C27\u4EF0\u75D2\u517B\u6837\u6F3E\u9080\u8170\u5996\u7476"],["d240","\u8938",8,"\u8942\u8943\u8945",24,"\u8960",5,"\u8967",19,"\u897C"],["d280","\u897D\u897E\u8980\u8982\u8984\u8985\u8987",26,"\u6447\u5C27\u9065\u7A91\u8C23\u59DA\u54AC\u8200\u836F\u8981\u8000\u6930\u564E\u8036\u7237\u91CE\u51B6\u4E5F\u9875\u6396\u4E1A\u53F6\u66F3\u814B\u591C\u6DB2\u4E00\u58F9\u533B\u63D6\u94F1\u4F9D\u4F0A\u8863\u9890\u5937\u9057\u79FB\u4EEA\u80F0\u7591\u6C82\u5B9C\u59E8\u5F5D\u6905\u8681\u501A\u5DF2\u4E59\u77E3\u4EE5\u827A\u6291\u6613\u9091\u5C79\u4EBF\u5F79\u81C6\u9038\u8084\u75AB\u4EA6\u88D4\u610F\u6BC5\u5FC6\u4E49\u76CA\u6EA2\u8BE3\u8BAE\u8C0A\u8BD1\u5F02\u7FFC\u7FCC\u7ECE\u8335\u836B\u56E0\u6BB7\u97F3\u9634\u59FB\u541F\u94F6\u6DEB\u5BC5\u996E\u5C39\u5F15\u9690"],["d340","\u89A2",30,"\u89C3\u89CD\u89D3\u89D4\u89D5\u89D7\u89D8\u89D9\u89DB\u89DD\u89DF\u89E0\u89E1\u89E2\u89E4\u89E7\u89E8\u89E9\u89EA\u89EC\u89ED\u89EE\u89F0\u89F1\u89F2\u89F4",6],["d380","\u89FB",4,"\u8A01",5,"\u8A08",21,"\u5370\u82F1\u6A31\u5A74\u9E70\u5E94\u7F28\u83B9\u8424\u8425\u8367\u8747\u8FCE\u8D62\u76C8\u5F71\u9896\u786C\u6620\u54DF\u62E5\u4F63\u81C3\u75C8\u5EB8\u96CD\u8E0A\u86F9\u548F\u6CF3\u6D8C\u6C38\u607F\u52C7\u7528\u5E7D\u4F18\u60A0\u5FE7\u5C24\u7531\u90AE\u94C0\u72B9\u6CB9\u6E38\u9149\u6709\u53CB\u53F3\u4F51\u91C9\u8BF1\u53C8\u5E7C\u8FC2\u6DE4\u4E8E\u76C2\u6986\u865E\u611A\u8206\u4F59\u4FDE\u903E\u9C7C\u6109\u6E1D\u6E14\u9685\u4E88\u5A31\u96E8\u4E0E\u5C7F\u79B9\u5B87\u8BED\u7FBD\u7389\u57DF\u828B\u90C1\u5401\u9047\u55BB\u5CEA\u5FA1\u6108\u6B32\u72F1\u80B2\u8A89"],["d440","\u8A1E",31,"\u8A3F",8,"\u8A49",21],["d480","\u8A5F",25,"\u8A7A",6,"\u6D74\u5BD3\u88D5\u9884\u8C6B\u9A6D\u9E33\u6E0A\u51A4\u5143\u57A3\u8881\u539F\u63F4\u8F95\u56ED\u5458\u5706\u733F\u6E90\u7F18\u8FDC\u82D1\u613F\u6028\u9662\u66F0\u7EA6\u8D8A\u8DC3\u94A5\u5CB3\u7CA4\u6708\u60A6\u9605\u8018\u4E91\u90E7\u5300\u9668\u5141\u8FD0\u8574\u915D\u6655\u97F5\u5B55\u531D\u7838\u6742\u683D\u54C9\u707E\u5BB0\u8F7D\u518D\u5728\u54B1\u6512\u6682\u8D5E\u8D43\u810F\u846C\u906D\u7CDF\u51FF\u85FB\u67A3\u65E9\u6FA1\u86A4\u8E81\u566A\u9020\u7682\u7076\u71E5\u8D23\u62E9\u5219\u6CFD\u8D3C\u600E\u589E\u618E\u66FE\u8D60\u624E\u55B3\u6E23\u672D\u8F67"],["d540","\u8A81",7,"\u8A8B",7,"\u8A94",46],["d580","\u8AC3",32,"\u94E1\u95F8\u7728\u6805\u69A8\u548B\u4E4D\u70B8\u8BC8\u6458\u658B\u5B85\u7A84\u503A\u5BE8\u77BB\u6BE1\u8A79\u7C98\u6CBE\u76CF\u65A9\u8F97\u5D2D\u5C55\u8638\u6808\u5360\u6218\u7AD9\u6E5B\u7EFD\u6A1F\u7AE0\u5F70\u6F33\u5F20\u638C\u6DA8\u6756\u4E08\u5E10\u8D26\u4ED7\u80C0\u7634\u969C\u62DB\u662D\u627E\u6CBC\u8D75\u7167\u7F69\u5146\u8087\u53EC\u906E\u6298\u54F2\u86F0\u8F99\u8005\u9517\u8517\u8FD9\u6D59\u73CD\u659F\u771F\u7504\u7827\u81FB\u8D1E\u9488\u4FA6\u6795\u75B9\u8BCA\u9707\u632F\u9547\u9635\u84B8\u6323\u7741\u5F81\u72F0\u4E89\u6014\u6574\u62EF\u6B63\u653F"],["d640","\u8AE4",34,"\u8B08",27],["d680","\u8B24\u8B25\u8B27",30,"\u5E27\u75C7\u90D1\u8BC1\u829D\u679D\u652F\u5431\u8718\u77E5\u80A2\u8102\u6C41\u4E4B\u7EC7\u804C\u76F4\u690D\u6B96\u6267\u503C\u4F84\u5740\u6307\u6B62\u8DBE\u53EA\u65E8\u7EB8\u5FD7\u631A\u63B7\u81F3\u81F4\u7F6E\u5E1C\u5CD9\u5236\u667A\u79E9\u7A1A\u8D28\u7099\u75D4\u6EDE\u6CBB\u7A92\u4E2D\u76C5\u5FE0\u949F\u8877\u7EC8\u79CD\u80BF\u91CD\u4EF2\u4F17\u821F\u5468\u5DDE\u6D32\u8BCC\u7CA5\u8F74\u8098\u5E1A\u5492\u76B1\u5B99\u663C\u9AA4\u73E0\u682A\u86DB\u6731\u732A\u8BF8\u8BDB\u9010\u7AF9\u70DB\u716E\u62C4\u77A9\u5631\u4E3B\u8457\u67F1\u52A9\u86C0\u8D2E\u94F8\u7B51"],["d740","\u8B46",31,"\u8B67",4,"\u8B6D",25],["d780","\u8B87",24,"\u8BAC\u8BB1\u8BBB\u8BC7\u8BD0\u8BEA\u8C09\u8C1E\u4F4F\u6CE8\u795D\u9A7B\u6293\u722A\u62FD\u4E13\u7816\u8F6C\u64B0\u8D5A\u7BC6\u6869\u5E84\u88C5\u5986\u649E\u58EE\u72B6\u690E\u9525\u8FFD\u8D58\u5760\u7F00\u8C06\u51C6\u6349\u62D9\u5353\u684C\u7422\u8301\u914C\u5544\u7740\u707C\u6D4A\u5179\u54A8\u8D44\u59FF\u6ECB\u6DC4\u5B5C\u7D2B\u4ED4\u7C7D\u6ED3\u5B50\u81EA\u6E0D\u5B57\u9B03\u68D5\u8E2A\u5B97\u7EFC\u603B\u7EB5\u90B9\u8D70\u594F\u63CD\u79DF\u8DB3\u5352\u65CF\u7956\u8BC5\u963B\u7EC4\u94BB\u7E82\u5634\u9189\u6700\u7F6A\u5C0A\u9075\u6628\u5DE6\u4F50\u67DE\u505A\u4F5C\u5750\u5EA7"],["d840","\u8C38",8,"\u8C42\u8C43\u8C44\u8C45\u8C48\u8C4A\u8C4B\u8C4D",7,"\u8C56\u8C57\u8C58\u8C59\u8C5B",5,"\u8C63",6,"\u8C6C",6,"\u8C74\u8C75\u8C76\u8C77\u8C7B",6,"\u8C83\u8C84\u8C86\u8C87"],["d880","\u8C88\u8C8B\u8C8D",6,"\u8C95\u8C96\u8C97\u8C99",20,"\u4E8D\u4E0C\u5140\u4E10\u5EFF\u5345\u4E15\u4E98\u4E1E\u9B32\u5B6C\u5669\u4E28\u79BA\u4E3F\u5315\u4E47\u592D\u723B\u536E\u6C10\u56DF\u80E4\u9997\u6BD3\u777E\u9F17\u4E36\u4E9F\u9F10\u4E5C\u4E69\u4E93\u8288\u5B5B\u556C\u560F\u4EC4\u538D\u539D\u53A3\u53A5\u53AE\u9765\u8D5D\u531A\u53F5\u5326\u532E\u533E\u8D5C\u5366\u5363\u5202\u5208\u520E\u522D\u5233\u523F\u5240\u524C\u525E\u5261\u525C\u84AF\u527D\u5282\u5281\u5290\u5293\u5182\u7F54\u4EBB\u4EC3\u4EC9\u4EC2\u4EE8\u4EE1\u4EEB\u4EDE\u4F1B\u4EF3\u4F22\u4F64\u4EF5\u4F25\u4F27\u4F09\u4F2B\u4F5E\u4F67\u6538\u4F5A\u4F5D"],["d940","\u8CAE",62],["d980","\u8CED",32,"\u4F5F\u4F57\u4F32\u4F3D\u4F76\u4F74\u4F91\u4F89\u4F83\u4F8F\u4F7E\u4F7B\u4FAA\u4F7C\u4FAC\u4F94\u4FE6\u4FE8\u4FEA\u4FC5\u4FDA\u4FE3\u4FDC\u4FD1\u4FDF\u4FF8\u5029\u504C\u4FF3\u502C\u500F\u502E\u502D\u4FFE\u501C\u500C\u5025\u5028\u507E\u5043\u5055\u5048\u504E\u506C\u507B\u50A5\u50A7\u50A9\u50BA\u50D6\u5106\u50ED\u50EC\u50E6\u50EE\u5107\u510B\u4EDD\u6C3D\u4F58\u4F65\u4FCE\u9FA0\u6C46\u7C74\u516E\u5DFD\u9EC9\u9998\u5181\u5914\u52F9\u530D\u8A07\u5310\u51EB\u5919\u5155\u4EA0\u5156\u4EB3\u886E\u88A4\u4EB5\u8114\u88D2\u7980\u5B34\u8803\u7FB8\u51AB\u51B1\u51BD\u51BC"],["da40","\u8D0E",14,"\u8D20\u8D51\u8D52\u8D57\u8D5F\u8D65\u8D68\u8D69\u8D6A\u8D6C\u8D6E\u8D6F\u8D71\u8D72\u8D78",8,"\u8D82\u8D83\u8D86\u8D87\u8D88\u8D89\u8D8C",4,"\u8D92\u8D93\u8D95",9,"\u8DA0\u8DA1"],["da80","\u8DA2\u8DA4",12,"\u8DB2\u8DB6\u8DB7\u8DB9\u8DBB\u8DBD\u8DC0\u8DC1\u8DC2\u8DC5\u8DC7\u8DC8\u8DC9\u8DCA\u8DCD\u8DD0\u8DD2\u8DD3\u8DD4\u51C7\u5196\u51A2\u51A5\u8BA0\u8BA6\u8BA7\u8BAA\u8BB4\u8BB5\u8BB7\u8BC2\u8BC3\u8BCB\u8BCF\u8BCE\u8BD2\u8BD3\u8BD4\u8BD6\u8BD8\u8BD9\u8BDC\u8BDF\u8BE0\u8BE4\u8BE8\u8BE9\u8BEE\u8BF0\u8BF3\u8BF6\u8BF9\u8BFC\u8BFF\u8C00\u8C02\u8C04\u8C07\u8C0C\u8C0F\u8C11\u8C12\u8C14\u8C15\u8C16\u8C19\u8C1B\u8C18\u8C1D\u8C1F\u8C20\u8C21\u8C25\u8C27\u8C2A\u8C2B\u8C2E\u8C2F\u8C32\u8C33\u8C35\u8C36\u5369\u537A\u961D\u9622\u9621\u9631\u962A\u963D\u963C\u9642\u9649\u9654\u965F\u9667\u966C\u9672\u9674\u9688\u968D\u9697\u96B0\u9097\u909B\u909D\u9099\u90AC\u90A1\u90B4\u90B3\u90B6\u90BA"],["db40","\u8DD5\u8DD8\u8DD9\u8DDC\u8DE0\u8DE1\u8DE2\u8DE5\u8DE6\u8DE7\u8DE9\u8DED\u8DEE\u8DF0\u8DF1\u8DF2\u8DF4\u8DF6\u8DFC\u8DFE",6,"\u8E06\u8E07\u8E08\u8E0B\u8E0D\u8E0E\u8E10\u8E11\u8E12\u8E13\u8E15",7,"\u8E20\u8E21\u8E24",4,"\u8E2B\u8E2D\u8E30\u8E32\u8E33\u8E34\u8E36\u8E37\u8E38\u8E3B\u8E3C\u8E3E"],["db80","\u8E3F\u8E43\u8E45\u8E46\u8E4C",4,"\u8E53",5,"\u8E5A",11,"\u8E67\u8E68\u8E6A\u8E6B\u8E6E\u8E71\u90B8\u90B0\u90CF\u90C5\u90BE\u90D0\u90C4\u90C7\u90D3\u90E6\u90E2\u90DC\u90D7\u90DB\u90EB\u90EF\u90FE\u9104\u9122\u911E\u9123\u9131\u912F\u9139\u9143\u9146\u520D\u5942\u52A2\u52AC\u52AD\u52BE\u54FF\u52D0\u52D6\u52F0\u53DF\u71EE\u77CD\u5EF4\u51F5\u51FC\u9B2F\u53B6\u5F01\u755A\u5DEF\u574C\u57A9\u57A1\u587E\u58BC\u58C5\u58D1\u5729\u572C\u572A\u5733\u5739\u572E\u572F\u575C\u573B\u5742\u5769\u5785\u576B\u5786\u577C\u577B\u5768\u576D\u5776\u5773\u57AD\u57A4\u578C\u57B2\u57CF\u57A7\u57B4\u5793\u57A0\u57D5\u57D8\u57DA\u57D9\u57D2\u57B8\u57F4\u57EF\u57F8\u57E4\u57DD"],["dc40","\u8E73\u8E75\u8E77",4,"\u8E7D\u8E7E\u8E80\u8E82\u8E83\u8E84\u8E86\u8E88",6,"\u8E91\u8E92\u8E93\u8E95",6,"\u8E9D\u8E9F",11,"\u8EAD\u8EAE\u8EB0\u8EB1\u8EB3",6,"\u8EBB",7],["dc80","\u8EC3",10,"\u8ECF",21,"\u580B\u580D\u57FD\u57ED\u5800\u581E\u5819\u5844\u5820\u5865\u586C\u5881\u5889\u589A\u5880\u99A8\u9F19\u61FF\u8279\u827D\u827F\u828F\u828A\u82A8\u8284\u828E\u8291\u8297\u8299\u82AB\u82B8\u82BE\u82B0\u82C8\u82CA\u82E3\u8298\u82B7\u82AE\u82CB\u82CC\u82C1\u82A9\u82B4\u82A1\u82AA\u829F\u82C4\u82CE\u82A4\u82E1\u8309\u82F7\u82E4\u830F\u8307\u82DC\u82F4\u82D2\u82D8\u830C\u82FB\u82D3\u8311\u831A\u8306\u8314\u8315\u82E0\u82D5\u831C\u8351\u835B\u835C\u8308\u8392\u833C\u8334\u8331\u839B\u835E\u832F\u834F\u8347\u8343\u835F\u8340\u8317\u8360\u832D\u833A\u8333\u8366\u8365"],["dd40","\u8EE5",62],["dd80","\u8F24",32,"\u8368\u831B\u8369\u836C\u836A\u836D\u836E\u83B0\u8378\u83B3\u83B4\u83A0\u83AA\u8393\u839C\u8385\u837C\u83B6\u83A9\u837D\u83B8\u837B\u8398\u839E\u83A8\u83BA\u83BC\u83C1\u8401\u83E5\u83D8\u5807\u8418\u840B\u83DD\u83FD\u83D6\u841C\u8438\u8411\u8406\u83D4\u83DF\u840F\u8403\u83F8\u83F9\u83EA\u83C5\u83C0\u8426\u83F0\u83E1\u845C\u8451\u845A\u8459\u8473\u8487\u8488\u847A\u8489\u8478\u843C\u8446\u8469\u8476\u848C\u848E\u8431\u846D\u84C1\u84CD\u84D0\u84E6\u84BD\u84D3\u84CA\u84BF\u84BA\u84E0\u84A1\u84B9\u84B4\u8497\u84E5\u84E3\u850C\u750D\u8538\u84F0\u8539\u851F\u853A"],["de40","\u8F45",32,"\u8F6A\u8F80\u8F8C\u8F92\u8F9D\u8FA0\u8FA1\u8FA2\u8FA4\u8FA5\u8FA6\u8FA7\u8FAA\u8FAC\u8FAD\u8FAE\u8FAF\u8FB2\u8FB3\u8FB4\u8FB5\u8FB7\u8FB8\u8FBA\u8FBB\u8FBC\u8FBF\u8FC0\u8FC3\u8FC6"],["de80","\u8FC9",4,"\u8FCF\u8FD2\u8FD6\u8FD7\u8FDA\u8FE0\u8FE1\u8FE3\u8FE7\u8FEC\u8FEF\u8FF1\u8FF2\u8FF4\u8FF5\u8FF6\u8FFA\u8FFB\u8FFC\u8FFE\u8FFF\u9007\u9008\u900C\u900E\u9013\u9015\u9018\u8556\u853B\u84FF\u84FC\u8559\u8548\u8568\u8564\u855E\u857A\u77A2\u8543\u8572\u857B\u85A4\u85A8\u8587\u858F\u8579\u85AE\u859C\u8585\u85B9\u85B7\u85B0\u85D3\u85C1\u85DC\u85FF\u8627\u8605\u8629\u8616\u863C\u5EFE\u5F08\u593C\u5941\u8037\u5955\u595A\u5958\u530F\u5C22\u5C25\u5C2C\u5C34\u624C\u626A\u629F\u62BB\u62CA\u62DA\u62D7\u62EE\u6322\u62F6\u6339\u634B\u6343\u63AD\u63F6\u6371\u637A\u638E\u63B4\u636D\u63AC\u638A\u6369\u63AE\u63BC\u63F2\u63F8\u63E0\u63FF\u63C4\u63DE\u63CE\u6452\u63C6\u63BE\u6445\u6441\u640B\u641B\u6420\u640C\u6426\u6421\u645E\u6484\u646D\u6496"],["df40","\u9019\u901C\u9023\u9024\u9025\u9027",5,"\u9030",4,"\u9037\u9039\u903A\u903D\u903F\u9040\u9043\u9045\u9046\u9048",4,"\u904E\u9054\u9055\u9056\u9059\u905A\u905C",5,"\u9064\u9066\u9067\u9069\u906A\u906B\u906C\u906F",4,"\u9076",6,"\u907E\u9081"],["df80","\u9084\u9085\u9086\u9087\u9089\u908A\u908C",4,"\u9092\u9094\u9096\u9098\u909A\u909C\u909E\u909F\u90A0\u90A4\u90A5\u90A7\u90A8\u90A9\u90AB\u90AD\u90B2\u90B7\u90BC\u90BD\u90BF\u90C0\u647A\u64B7\u64B8\u6499\u64BA\u64C0\u64D0\u64D7\u64E4\u64E2\u6509\u6525\u652E\u5F0B\u5FD2\u7519\u5F11\u535F\u53F1\u53FD\u53E9\u53E8\u53FB\u5412\u5416\u5406\u544B\u5452\u5453\u5454\u5456\u5443\u5421\u5457\u5459\u5423\u5432\u5482\u5494\u5477\u5471\u5464\u549A\u549B\u5484\u5476\u5466\u549D\u54D0\u54AD\u54C2\u54B4\u54D2\u54A7\u54A6\u54D3\u54D4\u5472\u54A3\u54D5\u54BB\u54BF\u54CC\u54D9\u54DA\u54DC\u54A9\u54AA\u54A4\u54DD\u54CF\u54DE\u551B\u54E7\u5520\u54FD\u5514\u54F3\u5522\u5523\u550F\u5511\u5527\u552A\u5567\u558F\u55B5\u5549\u556D\u5541\u5555\u553F\u5550\u553C"],["e040","\u90C2\u90C3\u90C6\u90C8\u90C9\u90CB\u90CC\u90CD\u90D2\u90D4\u90D5\u90D6\u90D8\u90D9\u90DA\u90DE\u90DF\u90E0\u90E3\u90E4\u90E5\u90E9\u90EA\u90EC\u90EE\u90F0\u90F1\u90F2\u90F3\u90F5\u90F6\u90F7\u90F9\u90FA\u90FB\u90FC\u90FF\u9100\u9101\u9103\u9105",19,"\u911A\u911B\u911C"],["e080","\u911D\u911F\u9120\u9121\u9124",10,"\u9130\u9132",6,"\u913A",8,"\u9144\u5537\u5556\u5575\u5576\u5577\u5533\u5530\u555C\u558B\u55D2\u5583\u55B1\u55B9\u5588\u5581\u559F\u557E\u55D6\u5591\u557B\u55DF\u55BD\u55BE\u5594\u5599\u55EA\u55F7\u55C9\u561F\u55D1\u55EB\u55EC\u55D4\u55E6\u55DD\u55C4\u55EF\u55E5\u55F2\u55F3\u55CC\u55CD\u55E8\u55F5\u55E4\u8F94\u561E\u5608\u560C\u5601\u5624\u5623\u55FE\u5600\u5627\u562D\u5658\u5639\u5657\u562C\u564D\u5662\u5659\u565C\u564C\u5654\u5686\u5664\u5671\u566B\u567B\u567C\u5685\u5693\u56AF\u56D4\u56D7\u56DD\u56E1\u56F5\u56EB\u56F9\u56FF\u5704\u570A\u5709\u571C\u5E0F\u5E19\u5E14\u5E11\u5E31\u5E3B\u5E3C"],["e140","\u9145\u9147\u9148\u9151\u9153\u9154\u9155\u9156\u9158\u9159\u915B\u915C\u915F\u9160\u9166\u9167\u9168\u916B\u916D\u9173\u917A\u917B\u917C\u9180",4,"\u9186\u9188\u918A\u918E\u918F\u9193",6,"\u919C",5,"\u91A4",5,"\u91AB\u91AC\u91B0\u91B1\u91B2\u91B3\u91B6\u91B7\u91B8\u91B9\u91BB"],["e180","\u91BC",10,"\u91C8\u91CB\u91D0\u91D2",9,"\u91DD",8,"\u5E37\u5E44\u5E54\u5E5B\u5E5E\u5E61\u5C8C\u5C7A\u5C8D\u5C90\u5C96\u5C88\u5C98\u5C99\u5C91\u5C9A\u5C9C\u5CB5\u5CA2\u5CBD\u5CAC\u5CAB\u5CB1\u5CA3\u5CC1\u5CB7\u5CC4\u5CD2\u5CE4\u5CCB\u5CE5\u5D02\u5D03\u5D27\u5D26\u5D2E\u5D24\u5D1E\u5D06\u5D1B\u5D58\u5D3E\u5D34\u5D3D\u5D6C\u5D5B\u5D6F\u5D5D\u5D6B\u5D4B\u5D4A\u5D69\u5D74\u5D82\u5D99\u5D9D\u8C73\u5DB7\u5DC5\u5F73\u5F77\u5F82\u5F87\u5F89\u5F8C\u5F95\u5F99\u5F9C\u5FA8\u5FAD\u5FB5\u5FBC\u8862\u5F61\u72AD\u72B0\u72B4\u72B7\u72B8\u72C3\u72C1\u72CE\u72CD\u72D2\u72E8\u72EF\u72E9\u72F2\u72F4\u72F7\u7301\u72F3\u7303\u72FA"],["e240","\u91E6",62],["e280","\u9225",32,"\u72FB\u7317\u7313\u7321\u730A\u731E\u731D\u7315\u7322\u7339\u7325\u732C\u7338\u7331\u7350\u734D\u7357\u7360\u736C\u736F\u737E\u821B\u5925\u98E7\u5924\u5902\u9963\u9967",5,"\u9974\u9977\u997D\u9980\u9984\u9987\u998A\u998D\u9990\u9991\u9993\u9994\u9995\u5E80\u5E91\u5E8B\u5E96\u5EA5\u5EA0\u5EB9\u5EB5\u5EBE\u5EB3\u8D53\u5ED2\u5ED1\u5EDB\u5EE8\u5EEA\u81BA\u5FC4\u5FC9\u5FD6\u5FCF\u6003\u5FEE\u6004\u5FE1\u5FE4\u5FFE\u6005\u6006\u5FEA\u5FED\u5FF8\u6019\u6035\u6026\u601B\u600F\u600D\u6029\u602B\u600A\u603F\u6021\u6078\u6079\u607B\u607A\u6042"],["e340","\u9246",45,"\u9275",16],["e380","\u9286",7,"\u928F",24,"\u606A\u607D\u6096\u609A\u60AD\u609D\u6083\u6092\u608C\u609B\u60EC\u60BB\u60B1\u60DD\u60D8\u60C6\u60DA\u60B4\u6120\u6126\u6115\u6123\u60F4\u6100\u610E\u612B\u614A\u6175\u61AC\u6194\u61A7\u61B7\u61D4\u61F5\u5FDD\u96B3\u95E9\u95EB\u95F1\u95F3\u95F5\u95F6\u95FC\u95FE\u9603\u9604\u9606\u9608\u960A\u960B\u960C\u960D\u960F\u9612\u9615\u9616\u9617\u9619\u961A\u4E2C\u723F\u6215\u6C35\u6C54\u6C5C\u6C4A\u6CA3\u6C85\u6C90\u6C94\u6C8C\u6C68\u6C69\u6C74\u6C76\u6C86\u6CA9\u6CD0\u6CD4\u6CAD\u6CF7\u6CF8\u6CF1\u6CD7\u6CB2\u6CE0\u6CD6\u6CFA\u6CEB\u6CEE\u6CB1\u6CD3\u6CEF\u6CFE"],["e440","\u92A8",5,"\u92AF",24,"\u92C9",31],["e480","\u92E9",32,"\u6D39\u6D27\u6D0C\u6D43\u6D48\u6D07\u6D04\u6D19\u6D0E\u6D2B\u6D4D\u6D2E\u6D35\u6D1A\u6D4F\u6D52\u6D54\u6D33\u6D91\u6D6F\u6D9E\u6DA0\u6D5E\u6D93\u6D94\u6D5C\u6D60\u6D7C\u6D63\u6E1A\u6DC7\u6DC5\u6DDE\u6E0E\u6DBF\u6DE0\u6E11\u6DE6\u6DDD\u6DD9\u6E16\u6DAB\u6E0C\u6DAE\u6E2B\u6E6E\u6E4E\u6E6B\u6EB2\u6E5F\u6E86\u6E53\u6E54\u6E32\u6E25\u6E44\u6EDF\u6EB1\u6E98\u6EE0\u6F2D\u6EE2\u6EA5\u6EA7\u6EBD\u6EBB\u6EB7\u6ED7\u6EB4\u6ECF\u6E8F\u6EC2\u6E9F\u6F62\u6F46\u6F47\u6F24\u6F15\u6EF9\u6F2F\u6F36\u6F4B\u6F74\u6F2A\u6F09\u6F29\u6F89\u6F8D\u6F8C\u6F78\u6F72\u6F7C\u6F7A\u6FD1"],["e540","\u930A",51,"\u933F",10],["e580","\u934A",31,"\u936B\u6FC9\u6FA7\u6FB9\u6FB6\u6FC2\u6FE1\u6FEE\u6FDE\u6FE0\u6FEF\u701A\u7023\u701B\u7039\u7035\u704F\u705E\u5B80\u5B84\u5B95\u5B93\u5BA5\u5BB8\u752F\u9A9E\u6434\u5BE4\u5BEE\u8930\u5BF0\u8E47\u8B07\u8FB6\u8FD3\u8FD5\u8FE5\u8FEE\u8FE4\u8FE9\u8FE6\u8FF3\u8FE8\u9005\u9004\u900B\u9026\u9011\u900D\u9016\u9021\u9035\u9036\u902D\u902F\u9044\u9051\u9052\u9050\u9068\u9058\u9062\u905B\u66B9\u9074\u907D\u9082\u9088\u9083\u908B\u5F50\u5F57\u5F56\u5F58\u5C3B\u54AB\u5C50\u5C59\u5B71\u5C63\u5C66\u7FBC\u5F2A\u5F29\u5F2D\u8274\u5F3C\u9B3B\u5C6E\u5981\u5983\u598D\u59A9\u59AA\u59A3"],["e640","\u936C",34,"\u9390",27],["e680","\u93AC",29,"\u93CB\u93CC\u93CD\u5997\u59CA\u59AB\u599E\u59A4\u59D2\u59B2\u59AF\u59D7\u59BE\u5A05\u5A06\u59DD\u5A08\u59E3\u59D8\u59F9\u5A0C\u5A09\u5A32\u5A34\u5A11\u5A23\u5A13\u5A40\u5A67\u5A4A\u5A55\u5A3C\u5A62\u5A75\u80EC\u5AAA\u5A9B\u5A77\u5A7A\u5ABE\u5AEB\u5AB2\u5AD2\u5AD4\u5AB8\u5AE0\u5AE3\u5AF1\u5AD6\u5AE6\u5AD8\u5ADC\u5B09\u5B17\u5B16\u5B32\u5B37\u5B40\u5C15\u5C1C\u5B5A\u5B65\u5B73\u5B51\u5B53\u5B62\u9A75\u9A77\u9A78\u9A7A\u9A7F\u9A7D\u9A80\u9A81\u9A85\u9A88\u9A8A\u9A90\u9A92\u9A93\u9A96\u9A98\u9A9B\u9A9C\u9A9D\u9A9F\u9AA0\u9AA2\u9AA3\u9AA5\u9AA7\u7E9F\u7EA1\u7EA3\u7EA5\u7EA8\u7EA9"],["e740","\u93CE",7,"\u93D7",54],["e780","\u940E",32,"\u7EAD\u7EB0\u7EBE\u7EC0\u7EC1\u7EC2\u7EC9\u7ECB\u7ECC\u7ED0\u7ED4\u7ED7\u7EDB\u7EE0\u7EE1\u7EE8\u7EEB\u7EEE\u7EEF\u7EF1\u7EF2\u7F0D\u7EF6\u7EFA\u7EFB\u7EFE\u7F01\u7F02\u7F03\u7F07\u7F08\u7F0B\u7F0C\u7F0F\u7F11\u7F12\u7F17\u7F19\u7F1C\u7F1B\u7F1F\u7F21",6,"\u7F2A\u7F2B\u7F2C\u7F2D\u7F2F",4,"\u7F35\u5E7A\u757F\u5DDB\u753E\u9095\u738E\u7391\u73AE\u73A2\u739F\u73CF\u73C2\u73D1\u73B7\u73B3\u73C0\u73C9\u73C8\u73E5\u73D9\u987C\u740A\u73E9\u73E7\u73DE\u73BA\u73F2\u740F\u742A\u745B\u7426\u7425\u7428\u7430\u742E\u742C"],["e840","\u942F",14,"\u943F",43,"\u946C\u946D\u946E\u946F"],["e880","\u9470",20,"\u9491\u9496\u9498\u94C7\u94CF\u94D3\u94D4\u94DA\u94E6\u94FB\u951C\u9520\u741B\u741A\u7441\u745C\u7457\u7455\u7459\u7477\u746D\u747E\u749C\u748E\u7480\u7481\u7487\u748B\u749E\u74A8\u74A9\u7490\u74A7\u74D2\u74BA\u97EA\u97EB\u97EC\u674C\u6753\u675E\u6748\u6769\u67A5\u6787\u676A\u6773\u6798\u67A7\u6775\u67A8\u679E\u67AD\u678B\u6777\u677C\u67F0\u6809\u67D8\u680A\u67E9\u67B0\u680C\u67D9\u67B5\u67DA\u67B3\u67DD\u6800\u67C3\u67B8\u67E2\u680E\u67C1\u67FD\u6832\u6833\u6860\u6861\u684E\u6862\u6844\u6864\u6883\u681D\u6855\u6866\u6841\u6867\u6840\u683E\u684A\u6849\u6829\u68B5\u688F\u6874\u6877\u6893\u686B\u68C2\u696E\u68FC\u691F\u6920\u68F9"],["e940","\u9527\u9533\u953D\u9543\u9548\u954B\u9555\u955A\u9560\u956E\u9574\u9575\u9577",7,"\u9580",42],["e980","\u95AB",32,"\u6924\u68F0\u690B\u6901\u6957\u68E3\u6910\u6971\u6939\u6960\u6942\u695D\u6984\u696B\u6980\u6998\u6978\u6934\u69CC\u6987\u6988\u69CE\u6989\u6966\u6963\u6979\u699B\u69A7\u69BB\u69AB\u69AD\u69D4\u69B1\u69C1\u69CA\u69DF\u6995\u69E0\u698D\u69FF\u6A2F\u69ED\u6A17\u6A18\u6A65\u69F2\u6A44\u6A3E\u6AA0\u6A50\u6A5B\u6A35\u6A8E\u6A79\u6A3D\u6A28\u6A58\u6A7C\u6A91\u6A90\u6AA9\u6A97\u6AAB\u7337\u7352\u6B81\u6B82\u6B87\u6B84\u6B92\u6B93\u6B8D\u6B9A\u6B9B\u6BA1\u6BAA\u8F6B\u8F6D\u8F71\u8F72\u8F73\u8F75\u8F76\u8F78\u8F77\u8F79\u8F7A\u8F7C\u8F7E\u8F81\u8F82\u8F84\u8F87\u8F8B"],["ea40","\u95CC",27,"\u95EC\u95FF\u9607\u9613\u9618\u961B\u961E\u9620\u9623",6,"\u962B\u962C\u962D\u962F\u9630\u9637\u9638\u9639\u963A\u963E\u9641\u9643\u964A\u964E\u964F\u9651\u9652\u9653\u9656\u9657"],["ea80","\u9658\u9659\u965A\u965C\u965D\u965E\u9660\u9663\u9665\u9666\u966B\u966D",4,"\u9673\u9678",12,"\u9687\u9689\u968A\u8F8D\u8F8E\u8F8F\u8F98\u8F9A\u8ECE\u620B\u6217\u621B\u621F\u6222\u6221\u6225\u6224\u622C\u81E7\u74EF\u74F4\u74FF\u750F\u7511\u7513\u6534\u65EE\u65EF\u65F0\u660A\u6619\u6772\u6603\u6615\u6600\u7085\u66F7\u661D\u6634\u6631\u6636\u6635\u8006\u665F\u6654\u6641\u664F\u6656\u6661\u6657\u6677\u6684\u668C\u66A7\u669D\u66BE\u66DB\u66DC\u66E6\u66E9\u8D32\u8D33\u8D36\u8D3B\u8D3D\u8D40\u8D45\u8D46\u8D48\u8D49\u8D47\u8D4D\u8D55\u8D59\u89C7\u89CA\u89CB\u89CC\u89CE\u89CF\u89D0\u89D1\u726E\u729F\u725D\u7266\u726F\u727E\u727F\u7284\u728B\u728D\u728F\u7292\u6308\u6332\u63B0"],["eb40","\u968C\u968E\u9691\u9692\u9693\u9695\u9696\u969A\u969B\u969D",9,"\u96A8",7,"\u96B1\u96B2\u96B4\u96B5\u96B7\u96B8\u96BA\u96BB\u96BF\u96C2\u96C3\u96C8\u96CA\u96CB\u96D0\u96D1\u96D3\u96D4\u96D6",9,"\u96E1",6,"\u96EB"],["eb80","\u96EC\u96ED\u96EE\u96F0\u96F1\u96F2\u96F4\u96F5\u96F8\u96FA\u96FB\u96FC\u96FD\u96FF\u9702\u9703\u9705\u970A\u970B\u970C\u9710\u9711\u9712\u9714\u9715\u9717",4,"\u971D\u971F\u9720\u643F\u64D8\u8004\u6BEA\u6BF3\u6BFD\u6BF5\u6BF9\u6C05\u6C07\u6C06\u6C0D\u6C15\u6C18\u6C19\u6C1A\u6C21\u6C29\u6C24\u6C2A\u6C32\u6535\u6555\u656B\u724D\u7252\u7256\u7230\u8662\u5216\u809F\u809C\u8093\u80BC\u670A\u80BD\u80B1\u80AB\u80AD\u80B4\u80B7\u80E7\u80E8\u80E9\u80EA\u80DB\u80C2\u80C4\u80D9\u80CD\u80D7\u6710\u80DD\u80EB\u80F1\u80F4\u80ED\u810D\u810E\u80F2\u80FC\u6715\u8112\u8C5A\u8136\u811E\u812C\u8118\u8132\u8148\u814C\u8153\u8174\u8159\u815A\u8171\u8160\u8169\u817C\u817D\u816D\u8167\u584D\u5AB5\u8188\u8182\u8191\u6ED5\u81A3\u81AA\u81CC\u6726\u81CA\u81BB"],["ec40","\u9721",8,"\u972B\u972C\u972E\u972F\u9731\u9733",4,"\u973A\u973B\u973C\u973D\u973F",18,"\u9754\u9755\u9757\u9758\u975A\u975C\u975D\u975F\u9763\u9764\u9766\u9767\u9768\u976A",7],["ec80","\u9772\u9775\u9777",4,"\u977D",7,"\u9786",4,"\u978C\u978E\u978F\u9790\u9793\u9795\u9796\u9797\u9799",4,"\u81C1\u81A6\u6B24\u6B37\u6B39\u6B43\u6B46\u6B59\u98D1\u98D2\u98D3\u98D5\u98D9\u98DA\u6BB3\u5F40\u6BC2\u89F3\u6590\u9F51\u6593\u65BC\u65C6\u65C4\u65C3\u65CC\u65CE\u65D2\u65D6\u7080\u709C\u7096\u709D\u70BB\u70C0\u70B7\u70AB\u70B1\u70E8\u70CA\u7110\u7113\u7116\u712F\u7131\u7173\u715C\u7168\u7145\u7172\u714A\u7178\u717A\u7198\u71B3\u71B5\u71A8\u71A0\u71E0\u71D4\u71E7\u71F9\u721D\u7228\u706C\u7118\u7166\u71B9\u623E\u623D\u6243\u6248\u6249\u793B\u7940\u7946\u7949\u795B\u795C\u7953\u795A\u7962\u7957\u7960\u796F\u7967\u797A\u7985\u798A\u799A\u79A7\u79B3\u5FD1\u5FD0"],["ed40","\u979E\u979F\u97A1\u97A2\u97A4",6,"\u97AC\u97AE\u97B0\u97B1\u97B3\u97B5",46],["ed80","\u97E4\u97E5\u97E8\u97EE",4,"\u97F4\u97F7",23,"\u603C\u605D\u605A\u6067\u6041\u6059\u6063\u60AB\u6106\u610D\u615D\u61A9\u619D\u61CB\u61D1\u6206\u8080\u807F\u6C93\u6CF6\u6DFC\u77F6\u77F8\u7800\u7809\u7817\u7818\u7811\u65AB\u782D\u781C\u781D\u7839\u783A\u783B\u781F\u783C\u7825\u782C\u7823\u7829\u784E\u786D\u7856\u7857\u7826\u7850\u7847\u784C\u786A\u789B\u7893\u789A\u7887\u789C\u78A1\u78A3\u78B2\u78B9\u78A5\u78D4\u78D9\u78C9\u78EC\u78F2\u7905\u78F4\u7913\u7924\u791E\u7934\u9F9B\u9EF9\u9EFB\u9EFC\u76F1\u7704\u770D\u76F9\u7707\u7708\u771A\u7722\u7719\u772D\u7726\u7735\u7738\u7750\u7751\u7747\u7743\u775A\u7768"],["ee40","\u980F",62],["ee80","\u984E",32,"\u7762\u7765\u777F\u778D\u777D\u7780\u778C\u7791\u779F\u77A0\u77B0\u77B5\u77BD\u753A\u7540\u754E\u754B\u7548\u755B\u7572\u7579\u7583\u7F58\u7F61\u7F5F\u8A48\u7F68\u7F74\u7F71\u7F79\u7F81\u7F7E\u76CD\u76E5\u8832\u9485\u9486\u9487\u948B\u948A\u948C\u948D\u948F\u9490\u9494\u9497\u9495\u949A\u949B\u949C\u94A3\u94A4\u94AB\u94AA\u94AD\u94AC\u94AF\u94B0\u94B2\u94B4\u94B6",4,"\u94BC\u94BD\u94BF\u94C4\u94C8",6,"\u94D0\u94D1\u94D2\u94D5\u94D6\u94D7\u94D9\u94D8\u94DB\u94DE\u94DF\u94E0\u94E2\u94E4\u94E5\u94E7\u94E8\u94EA"],["ef40","\u986F",5,"\u988B\u988E\u9892\u9895\u9899\u98A3\u98A8",37,"\u98CF\u98D0\u98D4\u98D6\u98D7\u98DB\u98DC\u98DD\u98E0",4],["ef80","\u98E5\u98E6\u98E9",30,"\u94E9\u94EB\u94EE\u94EF\u94F3\u94F4\u94F5\u94F7\u94F9\u94FC\u94FD\u94FF\u9503\u9502\u9506\u9507\u9509\u950A\u950D\u950E\u950F\u9512",4,"\u9518\u951B\u951D\u951E\u951F\u9522\u952A\u952B\u9529\u952C\u9531\u9532\u9534\u9536\u9537\u9538\u953C\u953E\u953F\u9542\u9535\u9544\u9545\u9546\u9549\u954C\u954E\u954F\u9552\u9553\u9554\u9556\u9557\u9558\u9559\u955B\u955E\u955F\u955D\u9561\u9562\u9564",8,"\u956F\u9571\u9572\u9573\u953A\u77E7\u77EC\u96C9\u79D5\u79ED\u79E3\u79EB\u7A06\u5D47\u7A03\u7A02\u7A1E\u7A14"],["f040","\u9908",4,"\u990E\u990F\u9911",28,"\u992F",26],["f080","\u994A",9,"\u9956",12,"\u9964\u9966\u9973\u9978\u9979\u997B\u997E\u9982\u9983\u9989\u7A39\u7A37\u7A51\u9ECF\u99A5\u7A70\u7688\u768E\u7693\u7699\u76A4\u74DE\u74E0\u752C\u9E20\u9E22\u9E28",4,"\u9E32\u9E31\u9E36\u9E38\u9E37\u9E39\u9E3A\u9E3E\u9E41\u9E42\u9E44\u9E46\u9E47\u9E48\u9E49\u9E4B\u9E4C\u9E4E\u9E51\u9E55\u9E57\u9E5A\u9E5B\u9E5C\u9E5E\u9E63\u9E66",6,"\u9E71\u9E6D\u9E73\u7592\u7594\u7596\u75A0\u759D\u75AC\u75A3\u75B3\u75B4\u75B8\u75C4\u75B1\u75B0\u75C3\u75C2\u75D6\u75CD\u75E3\u75E8\u75E6\u75E4\u75EB\u75E7\u7603\u75F1\u75FC\u75FF\u7610\u7600\u7605\u760C\u7617\u760A\u7625\u7618\u7615\u7619"],["f140","\u998C\u998E\u999A",10,"\u99A6\u99A7\u99A9",47],["f180","\u99D9",32,"\u761B\u763C\u7622\u7620\u7640\u762D\u7630\u763F\u7635\u7643\u763E\u7633\u764D\u765E\u7654\u765C\u7656\u766B\u766F\u7FCA\u7AE6\u7A78\u7A79\u7A80\u7A86\u7A88\u7A95\u7AA6\u7AA0\u7AAC\u7AA8\u7AAD\u7AB3\u8864\u8869\u8872\u887D\u887F\u8882\u88A2\u88C6\u88B7\u88BC\u88C9\u88E2\u88CE\u88E3\u88E5\u88F1\u891A\u88FC\u88E8\u88FE\u88F0\u8921\u8919\u8913\u891B\u890A\u8934\u892B\u8936\u8941\u8966\u897B\u758B\u80E5\u76B2\u76B4\u77DC\u8012\u8014\u8016\u801C\u8020\u8022\u8025\u8026\u8027\u8029\u8028\u8031\u800B\u8035\u8043\u8046\u804D\u8052\u8069\u8071\u8983\u9878\u9880\u9883"],["f240","\u99FA",62],["f280","\u9A39",32,"\u9889\u988C\u988D\u988F\u9894\u989A\u989B\u989E\u989F\u98A1\u98A2\u98A5\u98A6\u864D\u8654\u866C\u866E\u867F\u867A\u867C\u867B\u86A8\u868D\u868B\u86AC\u869D\u86A7\u86A3\u86AA\u8693\u86A9\u86B6\u86C4\u86B5\u86CE\u86B0\u86BA\u86B1\u86AF\u86C9\u86CF\u86B4\u86E9\u86F1\u86F2\u86ED\u86F3\u86D0\u8713\u86DE\u86F4\u86DF\u86D8\u86D1\u8703\u8707\u86F8\u8708\u870A\u870D\u8709\u8723\u873B\u871E\u8725\u872E\u871A\u873E\u8748\u8734\u8731\u8729\u8737\u873F\u8782\u8722\u877D\u877E\u877B\u8760\u8770\u874C\u876E\u878B\u8753\u8763\u877C\u8764\u8759\u8765\u8793\u87AF\u87A8\u87D2"],["f340","\u9A5A",17,"\u9A72\u9A83\u9A89\u9A8D\u9A8E\u9A94\u9A95\u9A99\u9AA6\u9AA9",6,"\u9AB2\u9AB3\u9AB4\u9AB5\u9AB9\u9ABB\u9ABD\u9ABE\u9ABF\u9AC3\u9AC4\u9AC6",4,"\u9ACD\u9ACE\u9ACF\u9AD0\u9AD2\u9AD4\u9AD5\u9AD6\u9AD7\u9AD9\u9ADA\u9ADB\u9ADC"],["f380","\u9ADD\u9ADE\u9AE0\u9AE2\u9AE3\u9AE4\u9AE5\u9AE7\u9AE8\u9AE9\u9AEA\u9AEC\u9AEE\u9AF0",8,"\u9AFA\u9AFC",6,"\u9B04\u9B05\u9B06\u87C6\u8788\u8785\u87AD\u8797\u8783\u87AB\u87E5\u87AC\u87B5\u87B3\u87CB\u87D3\u87BD\u87D1\u87C0\u87CA\u87DB\u87EA\u87E0\u87EE\u8816\u8813\u87FE\u880A\u881B\u8821\u8839\u883C\u7F36\u7F42\u7F44\u7F45\u8210\u7AFA\u7AFD\u7B08\u7B03\u7B04\u7B15\u7B0A\u7B2B\u7B0F\u7B47\u7B38\u7B2A\u7B19\u7B2E\u7B31\u7B20\u7B25\u7B24\u7B33\u7B3E\u7B1E\u7B58\u7B5A\u7B45\u7B75\u7B4C\u7B5D\u7B60\u7B6E\u7B7B\u7B62\u7B72\u7B71\u7B90\u7BA6\u7BA7\u7BB8\u7BAC\u7B9D\u7BA8\u7B85\u7BAA\u7B9C\u7BA2\u7BAB\u7BB4\u7BD1\u7BC1\u7BCC\u7BDD\u7BDA\u7BE5\u7BE6\u7BEA\u7C0C\u7BFE\u7BFC\u7C0F\u7C16\u7C0B"],["f440","\u9B07\u9B09",5,"\u9B10\u9B11\u9B12\u9B14",10,"\u9B20\u9B21\u9B22\u9B24",10,"\u9B30\u9B31\u9B33",7,"\u9B3D\u9B3E\u9B3F\u9B40\u9B46\u9B4A\u9B4B\u9B4C\u9B4E\u9B50\u9B52\u9B53\u9B55",5],["f480","\u9B5B",32,"\u7C1F\u7C2A\u7C26\u7C38\u7C41\u7C40\u81FE\u8201\u8202\u8204\u81EC\u8844\u8221\u8222\u8223\u822D\u822F\u8228\u822B\u8238\u823B\u8233\u8234\u823E\u8244\u8249\u824B\u824F\u825A\u825F\u8268\u887E\u8885\u8888\u88D8\u88DF\u895E\u7F9D\u7F9F\u7FA7\u7FAF\u7FB0\u7FB2\u7C7C\u6549\u7C91\u7C9D\u7C9C\u7C9E\u7CA2\u7CB2\u7CBC\u7CBD\u7CC1\u7CC7\u7CCC\u7CCD\u7CC8\u7CC5\u7CD7\u7CE8\u826E\u66A8\u7FBF\u7FCE\u7FD5\u7FE5\u7FE1\u7FE6\u7FE9\u7FEE\u7FF3\u7CF8\u7D77\u7DA6\u7DAE\u7E47\u7E9B\u9EB8\u9EB4\u8D73\u8D84\u8D94\u8D91\u8DB1\u8D67\u8D6D\u8C47\u8C49\u914A\u9150\u914E\u914F\u9164"],["f540","\u9B7C",62],["f580","\u9BBB",32,"\u9162\u9161\u9170\u9169\u916F\u917D\u917E\u9172\u9174\u9179\u918C\u9185\u9190\u918D\u9191\u91A2\u91A3\u91AA\u91AD\u91AE\u91AF\u91B5\u91B4\u91BA\u8C55\u9E7E\u8DB8\u8DEB\u8E05\u8E59\u8E69\u8DB5\u8DBF\u8DBC\u8DBA\u8DC4\u8DD6\u8DD7\u8DDA\u8DDE\u8DCE\u8DCF\u8DDB\u8DC6\u8DEC\u8DF7\u8DF8\u8DE3\u8DF9\u8DFB\u8DE4\u8E09\u8DFD\u8E14\u8E1D\u8E1F\u8E2C\u8E2E\u8E23\u8E2F\u8E3A\u8E40\u8E39\u8E35\u8E3D\u8E31\u8E49\u8E41\u8E42\u8E51\u8E52\u8E4A\u8E70\u8E76\u8E7C\u8E6F\u8E74\u8E85\u8E8F\u8E94\u8E90\u8E9C\u8E9E\u8C78\u8C82\u8C8A\u8C85\u8C98\u8C94\u659B\u89D6\u89DE\u89DA\u89DC"],["f640","\u9BDC",62],["f680","\u9C1B",32,"\u89E5\u89EB\u89EF\u8A3E\u8B26\u9753\u96E9\u96F3\u96EF\u9706\u9701\u9708\u970F\u970E\u972A\u972D\u9730\u973E\u9F80\u9F83\u9F85",5,"\u9F8C\u9EFE\u9F0B\u9F0D\u96B9\u96BC\u96BD\u96CE\u96D2\u77BF\u96E0\u928E\u92AE\u92C8\u933E\u936A\u93CA\u938F\u943E\u946B\u9C7F\u9C82\u9C85\u9C86\u9C87\u9C88\u7A23\u9C8B\u9C8E\u9C90\u9C91\u9C92\u9C94\u9C95\u9C9A\u9C9B\u9C9E",5,"\u9CA5",4,"\u9CAB\u9CAD\u9CAE\u9CB0",7,"\u9CBA\u9CBB\u9CBC\u9CBD\u9CC4\u9CC5\u9CC6\u9CC7\u9CCA\u9CCB"],["f740","\u9C3C",62],["f780","\u9C7B\u9C7D\u9C7E\u9C80\u9C83\u9C84\u9C89\u9C8A\u9C8C\u9C8F\u9C93\u9C96\u9C97\u9C98\u9C99\u9C9D\u9CAA\u9CAC\u9CAF\u9CB9\u9CBE",4,"\u9CC8\u9CC9\u9CD1\u9CD2\u9CDA\u9CDB\u9CE0\u9CE1\u9CCC",4,"\u9CD3\u9CD4\u9CD5\u9CD7\u9CD8\u9CD9\u9CDC\u9CDD\u9CDF\u9CE2\u977C\u9785\u9791\u9792\u9794\u97AF\u97AB\u97A3\u97B2\u97B4\u9AB1\u9AB0\u9AB7\u9E58\u9AB6\u9ABA\u9ABC\u9AC1\u9AC0\u9AC5\u9AC2\u9ACB\u9ACC\u9AD1\u9B45\u9B43\u9B47\u9B49\u9B48\u9B4D\u9B51\u98E8\u990D\u992E\u9955\u9954\u9ADF\u9AE1\u9AE6\u9AEF\u9AEB\u9AFB\u9AED\u9AF9\u9B08\u9B0F\u9B13\u9B1F\u9B23\u9EBD\u9EBE\u7E3B\u9E82\u9E87\u9E88\u9E8B\u9E92\u93D6\u9E9D\u9E9F\u9EDB\u9EDC\u9EDD\u9EE0\u9EDF\u9EE2\u9EE9\u9EE7\u9EE5\u9EEA\u9EEF\u9F22\u9F2C\u9F2F\u9F39\u9F37\u9F3D\u9F3E\u9F44"],["f840","\u9CE3",62],["f880","\u9D22",32],["f940","\u9D43",62],["f980","\u9D82",32],["fa40","\u9DA3",62],["fa80","\u9DE2",32],["fb40","\u9E03",27,"\u9E24\u9E27\u9E2E\u9E30\u9E34\u9E3B\u9E3C\u9E40\u9E4D\u9E50\u9E52\u9E53\u9E54\u9E56\u9E59\u9E5D\u9E5F\u9E60\u9E61\u9E62\u9E65\u9E6E\u9E6F\u9E72\u9E74",9,"\u9E80"],["fb80","\u9E81\u9E83\u9E84\u9E85\u9E86\u9E89\u9E8A\u9E8C",5,"\u9E94",8,"\u9E9E\u9EA0",5,"\u9EA7\u9EA8\u9EA9\u9EAA"],["fc40","\u9EAB",8,"\u9EB5\u9EB6\u9EB7\u9EB9\u9EBA\u9EBC\u9EBF",4,"\u9EC5\u9EC6\u9EC7\u9EC8\u9ECA\u9ECB\u9ECC\u9ED0\u9ED2\u9ED3\u9ED5\u9ED6\u9ED7\u9ED9\u9EDA\u9EDE\u9EE1\u9EE3\u9EE4\u9EE6\u9EE8\u9EEB\u9EEC\u9EED\u9EEE\u9EF0",8,"\u9EFA\u9EFD\u9EFF",6],["fc80","\u9F06",4,"\u9F0C\u9F0F\u9F11\u9F12\u9F14\u9F15\u9F16\u9F18\u9F1A",5,"\u9F21\u9F23",8,"\u9F2D\u9F2E\u9F30\u9F31"],["fd40","\u9F32",4,"\u9F38\u9F3A\u9F3C\u9F3F",4,"\u9F45",10,"\u9F52",38],["fd80","\u9F79",5,"\u9F81\u9F82\u9F8D",11,"\u9F9C\u9F9D\u9F9E\u9FA1",4,"\uF92C\uF979\uF995\uF9E7\uF9F1"],["fe40","\uFA0C\uFA0D\uFA0E\uFA0F\uFA11\uFA13\uFA14\uFA18\uFA1F\uFA20\uFA21\uFA23\uFA24\uFA27\uFA28\uFA29"]]});var Pyt=Le((bTi,Ven)=>{Ven.exports=[["a140","\uE4C6",62],["a180","\uE505",32],["a240","\uE526",62],["a280","\uE565",32],["a2ab","\uE766",5],["a2e3","\u20AC\uE76D"],["a2ef","\uE76E\uE76F"],["a2fd","\uE770\uE771"],["a340","\uE586",62],["a380","\uE5C5",31,"\u3000"],["a440","\uE5E6",62],["a480","\uE625",32],["a4f4","\uE772",10],["a540","\uE646",62],["a580","\uE685",32],["a5f7","\uE77D",7],["a640","\uE6A6",62],["a680","\uE6E5",32],["a6b9","\uE785",7],["a6d9","\uE78D",6],["a6ec","\uE794\uE795"],["a6f3","\uE796"],["a6f6","\uE797",8],["a740","\uE706",62],["a780","\uE745",32],["a7c2","\uE7A0",14],["a7f2","\uE7AF",12],["a896","\uE7BC",10],["a8bc","\uE7C7"],["a8bf","\u01F9"],["a8c1","\uE7C9\uE7CA\uE7CB\uE7CC"],["a8ea","\uE7CD",20],["a958","\uE7E2"],["a95b","\uE7E3"],["a95d","\uE7E4\uE7E5\uE7E6"],["a989","\u303E\u2FF0",11],["a997","\uE7F4",12],["a9f0","\uE801",14],["aaa1","\uE000",93],["aba1","\uE05E",93],["aca1","\uE0BC",93],["ada1","\uE11A",93],["aea1","\uE178",93],["afa1","\uE1D6",93],["d7fa","\uE810",4],["f8a1","\uE234",93],["f9a1","\uE292",93],["faa1","\uE2F0",93],["fba1","\uE34E",93],["fca1","\uE3AC",93],["fda1","\uE40A",93],["fe50","\u2E81\uE816\uE817\uE818\u2E84\u3473\u3447\u2E88\u2E8B\uE81E\u359E\u361A\u360E\u2E8C\u2E97\u396E\u3918\uE826\u39CF\u39DF\u3A73\u39D0\uE82B\uE82C\u3B4E\u3C6E\u3CE0\u2EA7\uE831\uE832\u2EAA\u4056\u415F\u2EAE\u4337\u2EB3\u2EB6\u2EB7\uE83B\u43B1\u43AC\u2EBB\u43DD\u44D6\u4661\u464C\uE843"],["fe80","\u4723\u4729\u477C\u478D\u2ECA\u4947\u497A\u497D\u4982\u4983\u4985\u4986\u499F\u499B\u49B7\u49B6\uE854\uE855\u4CA3\u4C9F\u4CA0\u4CA1\u4C77\u4CA2\u4D13",6,"\u4DAE\uE864\uE468",93]]});var Djt=Le((ETi,jen)=>{jen.exports={uChars:[128,165,169,178,184,216,226,235,238,244,248,251,253,258,276,284,300,325,329,334,364,463,465,467,469,471,473,475,477,506,594,610,712,716,730,930,938,962,970,1026,1104,1106,8209,8215,8218,8222,8231,8241,8244,8246,8252,8365,8452,8454,8458,8471,8482,8556,8570,8596,8602,8713,8720,8722,8726,8731,8737,8740,8742,8748,8751,8760,8766,8777,8781,8787,8802,8808,8816,8854,8858,8870,8896,8979,9322,9372,9548,9588,9616,9622,9634,9652,9662,9672,9676,9680,9702,9735,9738,9793,9795,11906,11909,11913,11917,11928,11944,11947,11951,11956,11960,11964,11979,12284,12292,12312,12319,12330,12351,12436,12447,12535,12543,12586,12842,12850,12964,13200,13215,13218,13253,13263,13267,13270,13384,13428,13727,13839,13851,14617,14703,14801,14816,14964,15183,15471,15585,16471,16736,17208,17325,17330,17374,17623,17997,18018,18212,18218,18301,18318,18760,18811,18814,18820,18823,18844,18848,18872,19576,19620,19738,19887,40870,59244,59336,59367,59413,59417,59423,59431,59437,59443,59452,59460,59478,59493,63789,63866,63894,63976,63986,64016,64018,64021,64025,64034,64037,64042,65074,65093,65107,65112,65127,65132,65375,65510,65536],gbChars:[0,36,38,45,50,81,89,95,96,100,103,104,105,109,126,133,148,172,175,179,208,306,307,308,309,310,311,312,313,341,428,443,544,545,558,741,742,749,750,805,819,820,7922,7924,7925,7927,7934,7943,7944,7945,7950,8062,8148,8149,8152,8164,8174,8236,8240,8262,8264,8374,8380,8381,8384,8388,8390,8392,8393,8394,8396,8401,8406,8416,8419,8424,8437,8439,8445,8482,8485,8496,8521,8603,8936,8946,9046,9050,9063,9066,9076,9092,9100,9108,9111,9113,9131,9162,9164,9218,9219,11329,11331,11334,11336,11346,11361,11363,11366,11370,11372,11375,11389,11682,11686,11687,11692,11694,11714,11716,11723,11725,11730,11736,11982,11989,12102,12336,12348,12350,12384,12393,12395,12397,12510,12553,12851,12962,12973,13738,13823,13919,13933,14080,14298,14585,14698,15583,15847,16318,16434,16438,16481,16729,17102,17122,17315,17320,17402,17418,17859,17909,17911,17915,17916,17936,17939,17961,18664,18703,18814,18962,19043,33469,33470,33471,33484,33485,33490,33497,33501,33505,33513,33520,33536,33550,37845,37921,37948,38029,38038,38064,38065,38066,38069,38075,38076,38078,39108,39109,39113,39114,39115,39116,39265,39394,189e3]}});var Sjt=Le((OTi,Jen)=>{Jen.exports=[["0","\0",127],["8141","\uAC02\uAC03\uAC05\uAC06\uAC0B",4,"\uAC18\uAC1E\uAC1F\uAC21\uAC22\uAC23\uAC25",6,"\uAC2E\uAC32\uAC33\uAC34"],["8161","\uAC35\uAC36\uAC37\uAC3A\uAC3B\uAC3D\uAC3E\uAC3F\uAC41",9,"\uAC4C\uAC4E",5,"\uAC55"],["8181","\uAC56\uAC57\uAC59\uAC5A\uAC5B\uAC5D",18,"\uAC72\uAC73\uAC75\uAC76\uAC79\uAC7B",4,"\uAC82\uAC87\uAC88\uAC8D\uAC8E\uAC8F\uAC91\uAC92\uAC93\uAC95",6,"\uAC9E\uACA2",5,"\uACAB\uACAD\uACAE\uACB1",6,"\uACBA\uACBE\uACBF\uACC0\uACC2\uACC3\uACC5\uACC6\uACC7\uACC9\uACCA\uACCB\uACCD",7,"\uACD6\uACD8",7,"\uACE2\uACE3\uACE5\uACE6\uACE9\uACEB\uACED\uACEE\uACF2\uACF4\uACF7",4,"\uACFE\uACFF\uAD01\uAD02\uAD03\uAD05\uAD07",4,"\uAD0E\uAD10\uAD12\uAD13"],["8241","\uAD14\uAD15\uAD16\uAD17\uAD19\uAD1A\uAD1B\uAD1D\uAD1E\uAD1F\uAD21",7,"\uAD2A\uAD2B\uAD2E",5],["8261","\uAD36\uAD37\uAD39\uAD3A\uAD3B\uAD3D",6,"\uAD46\uAD48\uAD4A",5,"\uAD51\uAD52\uAD53\uAD55\uAD56\uAD57"],["8281","\uAD59",7,"\uAD62\uAD64",7,"\uAD6E\uAD6F\uAD71\uAD72\uAD77\uAD78\uAD79\uAD7A\uAD7E\uAD80\uAD83",4,"\uAD8A\uAD8B\uAD8D\uAD8E\uAD8F\uAD91",10,"\uAD9E",5,"\uADA5",17,"\uADB8",7,"\uADC2\uADC3\uADC5\uADC6\uADC7\uADC9",6,"\uADD2\uADD4",7,"\uADDD\uADDE\uADDF\uADE1\uADE2\uADE3\uADE5",18],["8341","\uADFA\uADFB\uADFD\uADFE\uAE02",5,"\uAE0A\uAE0C\uAE0E",5,"\uAE15",7],["8361","\uAE1D",18,"\uAE32\uAE33\uAE35\uAE36\uAE39\uAE3B\uAE3C"],["8381","\uAE3D\uAE3E\uAE3F\uAE42\uAE44\uAE47\uAE48\uAE49\uAE4B\uAE4F\uAE51\uAE52\uAE53\uAE55\uAE57",4,"\uAE5E\uAE62\uAE63\uAE64\uAE66\uAE67\uAE6A\uAE6B\uAE6D\uAE6E\uAE6F\uAE71",6,"\uAE7A\uAE7E",5,"\uAE86",5,"\uAE8D",46,"\uAEBF\uAEC1\uAEC2\uAEC3\uAEC5",6,"\uAECE\uAED2",5,"\uAEDA\uAEDB\uAEDD",8],["8441","\uAEE6\uAEE7\uAEE9\uAEEA\uAEEC\uAEEE",5,"\uAEF5\uAEF6\uAEF7\uAEF9\uAEFA\uAEFB\uAEFD",8],["8461","\uAF06\uAF09\uAF0A\uAF0B\uAF0C\uAF0E\uAF0F\uAF11",18],["8481","\uAF24",7,"\uAF2E\uAF2F\uAF31\uAF33\uAF35",6,"\uAF3E\uAF40\uAF44\uAF45\uAF46\uAF47\uAF4A",5,"\uAF51",10,"\uAF5E",5,"\uAF66",18,"\uAF7A",5,"\uAF81\uAF82\uAF83\uAF85\uAF86\uAF87\uAF89",6,"\uAF92\uAF93\uAF94\uAF96",5,"\uAF9D",26,"\uAFBA\uAFBB\uAFBD\uAFBE"],["8541","\uAFBF\uAFC1",5,"\uAFCA\uAFCC\uAFCF",4,"\uAFD5",6,"\uAFDD",4],["8561","\uAFE2",5,"\uAFEA",5,"\uAFF2\uAFF3\uAFF5\uAFF6\uAFF7\uAFF9",6,"\uB002\uB003"],["8581","\uB005",6,"\uB00D\uB00E\uB00F\uB011\uB012\uB013\uB015",6,"\uB01E",9,"\uB029",26,"\uB046\uB047\uB049\uB04B\uB04D\uB04F\uB050\uB051\uB052\uB056\uB058\uB05A\uB05B\uB05C\uB05E",29,"\uB07E\uB07F\uB081\uB082\uB083\uB085",6,"\uB08E\uB090\uB092",5,"\uB09B\uB09D\uB09E\uB0A3\uB0A4"],["8641","\uB0A5\uB0A6\uB0A7\uB0AA\uB0B0\uB0B2\uB0B6\uB0B7\uB0B9\uB0BA\uB0BB\uB0BD",6,"\uB0C6\uB0CA",5,"\uB0D2"],["8661","\uB0D3\uB0D5\uB0D6\uB0D7\uB0D9",6,"\uB0E1\uB0E2\uB0E3\uB0E4\uB0E6",10],["8681","\uB0F1",22,"\uB10A\uB10D\uB10E\uB10F\uB111\uB114\uB115\uB116\uB117\uB11A\uB11E",4,"\uB126\uB127\uB129\uB12A\uB12B\uB12D",6,"\uB136\uB13A",5,"\uB142\uB143\uB145\uB146\uB147\uB149",6,"\uB152\uB153\uB156\uB157\uB159\uB15A\uB15B\uB15D\uB15E\uB15F\uB161",22,"\uB17A\uB17B\uB17D\uB17E\uB17F\uB181\uB183",4,"\uB18A\uB18C\uB18E\uB18F\uB190\uB191\uB195\uB196\uB197\uB199\uB19A\uB19B\uB19D"],["8741","\uB19E",9,"\uB1A9",15],["8761","\uB1B9",18,"\uB1CD\uB1CE\uB1CF\uB1D1\uB1D2\uB1D3\uB1D5"],["8781","\uB1D6",5,"\uB1DE\uB1E0",7,"\uB1EA\uB1EB\uB1ED\uB1EE\uB1EF\uB1F1",7,"\uB1FA\uB1FC\uB1FE",5,"\uB206\uB207\uB209\uB20A\uB20D",6,"\uB216\uB218\uB21A",5,"\uB221",18,"\uB235",6,"\uB23D",26,"\uB259\uB25A\uB25B\uB25D\uB25E\uB25F\uB261",6,"\uB26A",4],["8841","\uB26F",4,"\uB276",5,"\uB27D",6,"\uB286\uB287\uB288\uB28A",4],["8861","\uB28F\uB292\uB293\uB295\uB296\uB297\uB29B",4,"\uB2A2\uB2A4\uB2A7\uB2A8\uB2A9\uB2AB\uB2AD\uB2AE\uB2AF\uB2B1\uB2B2\uB2B3\uB2B5\uB2B6\uB2B7"],["8881","\uB2B8",15,"\uB2CA\uB2CB\uB2CD\uB2CE\uB2CF\uB2D1\uB2D3",4,"\uB2DA\uB2DC\uB2DE\uB2DF\uB2E0\uB2E1\uB2E3\uB2E7\uB2E9\uB2EA\uB2F0\uB2F1\uB2F2\uB2F6\uB2FC\uB2FD\uB2FE\uB302\uB303\uB305\uB306\uB307\uB309",6,"\uB312\uB316",5,"\uB31D",54,"\uB357\uB359\uB35A\uB35D\uB360\uB361\uB362\uB363"],["8941","\uB366\uB368\uB36A\uB36C\uB36D\uB36F\uB372\uB373\uB375\uB376\uB377\uB379",6,"\uB382\uB386",5,"\uB38D"],["8961","\uB38E\uB38F\uB391\uB392\uB393\uB395",10,"\uB3A2",5,"\uB3A9\uB3AA\uB3AB\uB3AD"],["8981","\uB3AE",21,"\uB3C6\uB3C7\uB3C9\uB3CA\uB3CD\uB3CF\uB3D1\uB3D2\uB3D3\uB3D6\uB3D8\uB3DA\uB3DC\uB3DE\uB3DF\uB3E1\uB3E2\uB3E3\uB3E5\uB3E6\uB3E7\uB3E9",18,"\uB3FD",18,"\uB411",6,"\uB419\uB41A\uB41B\uB41D\uB41E\uB41F\uB421",6,"\uB42A\uB42C",7,"\uB435",15],["8a41","\uB445",10,"\uB452\uB453\uB455\uB456\uB457\uB459",6,"\uB462\uB464\uB466"],["8a61","\uB467",4,"\uB46D",18,"\uB481\uB482"],["8a81","\uB483",4,"\uB489",19,"\uB49E",5,"\uB4A5\uB4A6\uB4A7\uB4A9\uB4AA\uB4AB\uB4AD",7,"\uB4B6\uB4B8\uB4BA",5,"\uB4C1\uB4C2\uB4C3\uB4C5\uB4C6\uB4C7\uB4C9",6,"\uB4D1\uB4D2\uB4D3\uB4D4\uB4D6",5,"\uB4DE\uB4DF\uB4E1\uB4E2\uB4E5\uB4E7",4,"\uB4EE\uB4F0\uB4F2",5,"\uB4F9",26,"\uB516\uB517\uB519\uB51A\uB51D"],["8b41","\uB51E",5,"\uB526\uB52B",4,"\uB532\uB533\uB535\uB536\uB537\uB539",6,"\uB542\uB546"],["8b61","\uB547\uB548\uB549\uB54A\uB54E\uB54F\uB551\uB552\uB553\uB555",6,"\uB55E\uB562",8],["8b81","\uB56B",52,"\uB5A2\uB5A3\uB5A5\uB5A6\uB5A7\uB5A9\uB5AC\uB5AD\uB5AE\uB5AF\uB5B2\uB5B6",4,"\uB5BE\uB5BF\uB5C1\uB5C2\uB5C3\uB5C5",6,"\uB5CE\uB5D2",5,"\uB5D9",18,"\uB5ED",18],["8c41","\uB600",15,"\uB612\uB613\uB615\uB616\uB617\uB619",4],["8c61","\uB61E",6,"\uB626",5,"\uB62D",6,"\uB635",5],["8c81","\uB63B",12,"\uB649",26,"\uB665\uB666\uB667\uB669",50,"\uB69E\uB69F\uB6A1\uB6A2\uB6A3\uB6A5",5,"\uB6AD\uB6AE\uB6AF\uB6B0\uB6B2",16],["8d41","\uB6C3",16,"\uB6D5",8],["8d61","\uB6DE",17,"\uB6F1\uB6F2\uB6F3\uB6F5\uB6F6\uB6F7\uB6F9\uB6FA"],["8d81","\uB6FB",4,"\uB702\uB703\uB704\uB706",33,"\uB72A\uB72B\uB72D\uB72E\uB731",6,"\uB73A\uB73C",7,"\uB745\uB746\uB747\uB749\uB74A\uB74B\uB74D",6,"\uB756",9,"\uB761\uB762\uB763\uB765\uB766\uB767\uB769",6,"\uB772\uB774\uB776",5,"\uB77E\uB77F\uB781\uB782\uB783\uB785",6,"\uB78E\uB793\uB794\uB795\uB79A\uB79B\uB79D\uB79E"],["8e41","\uB79F\uB7A1",6,"\uB7AA\uB7AE",5,"\uB7B6\uB7B7\uB7B9",8],["8e61","\uB7C2",4,"\uB7C8\uB7CA",19],["8e81","\uB7DE",13,"\uB7EE\uB7EF\uB7F1\uB7F2\uB7F3\uB7F5",6,"\uB7FE\uB802",4,"\uB80A\uB80B\uB80D\uB80E\uB80F\uB811",6,"\uB81A\uB81C\uB81E",5,"\uB826\uB827\uB829\uB82A\uB82B\uB82D",6,"\uB836\uB83A",5,"\uB841\uB842\uB843\uB845",11,"\uB852\uB854",7,"\uB85E\uB85F\uB861\uB862\uB863\uB865",6,"\uB86E\uB870\uB872",5,"\uB879\uB87A\uB87B\uB87D",7],["8f41","\uB885",7,"\uB88E",17],["8f61","\uB8A0",7,"\uB8A9",6,"\uB8B1\uB8B2\uB8B3\uB8B5\uB8B6\uB8B7\uB8B9",4],["8f81","\uB8BE\uB8BF\uB8C2\uB8C4\uB8C6",5,"\uB8CD\uB8CE\uB8CF\uB8D1\uB8D2\uB8D3\uB8D5",7,"\uB8DE\uB8E0\uB8E2",5,"\uB8EA\uB8EB\uB8ED\uB8EE\uB8EF\uB8F1",6,"\uB8FA\uB8FC\uB8FE",5,"\uB905",18,"\uB919",6,"\uB921",26,"\uB93E\uB93F\uB941\uB942\uB943\uB945",6,"\uB94D\uB94E\uB950\uB952",5],["9041","\uB95A\uB95B\uB95D\uB95E\uB95F\uB961",6,"\uB96A\uB96C\uB96E",5,"\uB976\uB977\uB979\uB97A\uB97B\uB97D"],["9061","\uB97E",5,"\uB986\uB988\uB98B\uB98C\uB98F",15],["9081","\uB99F",12,"\uB9AE\uB9AF\uB9B1\uB9B2\uB9B3\uB9B5",6,"\uB9BE\uB9C0\uB9C2",5,"\uB9CA\uB9CB\uB9CD\uB9D3",4,"\uB9DA\uB9DC\uB9DF\uB9E0\uB9E2\uB9E6\uB9E7\uB9E9\uB9EA\uB9EB\uB9ED",6,"\uB9F6\uB9FB",4,"\uBA02",5,"\uBA09",11,"\uBA16",33,"\uBA3A\uBA3B\uBA3D\uBA3E\uBA3F\uBA41\uBA43\uBA44\uBA45\uBA46"],["9141","\uBA47\uBA4A\uBA4C\uBA4F\uBA50\uBA51\uBA52\uBA56\uBA57\uBA59\uBA5A\uBA5B\uBA5D",6,"\uBA66\uBA6A",5],["9161","\uBA72\uBA73\uBA75\uBA76\uBA77\uBA79",9,"\uBA86\uBA88\uBA89\uBA8A\uBA8B\uBA8D",5],["9181","\uBA93",20,"\uBAAA\uBAAD\uBAAE\uBAAF\uBAB1\uBAB3",4,"\uBABA\uBABC\uBABE",5,"\uBAC5\uBAC6\uBAC7\uBAC9",14,"\uBADA",33,"\uBAFD\uBAFE\uBAFF\uBB01\uBB02\uBB03\uBB05",7,"\uBB0E\uBB10\uBB12",5,"\uBB19\uBB1A\uBB1B\uBB1D\uBB1E\uBB1F\uBB21",6],["9241","\uBB28\uBB2A\uBB2C",7,"\uBB37\uBB39\uBB3A\uBB3F",4,"\uBB46\uBB48\uBB4A\uBB4B\uBB4C\uBB4E\uBB51\uBB52"],["9261","\uBB53\uBB55\uBB56\uBB57\uBB59",7,"\uBB62\uBB64",7,"\uBB6D",4],["9281","\uBB72",21,"\uBB89\uBB8A\uBB8B\uBB8D\uBB8E\uBB8F\uBB91",18,"\uBBA5\uBBA6\uBBA7\uBBA9\uBBAA\uBBAB\uBBAD",6,"\uBBB5\uBBB6\uBBB8",7,"\uBBC1\uBBC2\uBBC3\uBBC5\uBBC6\uBBC7\uBBC9",6,"\uBBD1\uBBD2\uBBD4",35,"\uBBFA\uBBFB\uBBFD\uBBFE\uBC01"],["9341","\uBC03",4,"\uBC0A\uBC0E\uBC10\uBC12\uBC13\uBC19\uBC1A\uBC20\uBC21\uBC22\uBC23\uBC26\uBC28\uBC2A\uBC2B\uBC2C\uBC2E\uBC2F\uBC32\uBC33\uBC35"],["9361","\uBC36\uBC37\uBC39",6,"\uBC42\uBC46\uBC47\uBC48\uBC4A\uBC4B\uBC4E\uBC4F\uBC51",8],["9381","\uBC5A\uBC5B\uBC5C\uBC5E",37,"\uBC86\uBC87\uBC89\uBC8A\uBC8D\uBC8F",4,"\uBC96\uBC98\uBC9B",4,"\uBCA2\uBCA3\uBCA5\uBCA6\uBCA9",6,"\uBCB2\uBCB6",5,"\uBCBE\uBCBF\uBCC1\uBCC2\uBCC3\uBCC5",7,"\uBCCE\uBCD2\uBCD3\uBCD4\uBCD6\uBCD7\uBCD9\uBCDA\uBCDB\uBCDD",22,"\uBCF7\uBCF9\uBCFA\uBCFB\uBCFD"],["9441","\uBCFE",5,"\uBD06\uBD08\uBD0A",5,"\uBD11\uBD12\uBD13\uBD15",8],["9461","\uBD1E",5,"\uBD25",6,"\uBD2D",12],["9481","\uBD3A",5,"\uBD41",6,"\uBD4A\uBD4B\uBD4D\uBD4E\uBD4F\uBD51",6,"\uBD5A",9,"\uBD65\uBD66\uBD67\uBD69",22,"\uBD82\uBD83\uBD85\uBD86\uBD8B",4,"\uBD92\uBD94\uBD96\uBD97\uBD98\uBD9B\uBD9D",6,"\uBDA5",10,"\uBDB1",6,"\uBDB9",24],["9541","\uBDD2\uBDD3\uBDD6\uBDD7\uBDD9\uBDDA\uBDDB\uBDDD",11,"\uBDEA",5,"\uBDF1"],["9561","\uBDF2\uBDF3\uBDF5\uBDF6\uBDF7\uBDF9",6,"\uBE01\uBE02\uBE04\uBE06",5,"\uBE0E\uBE0F\uBE11\uBE12\uBE13"],["9581","\uBE15",6,"\uBE1E\uBE20",35,"\uBE46\uBE47\uBE49\uBE4A\uBE4B\uBE4D\uBE4F",4,"\uBE56\uBE58\uBE5C\uBE5D\uBE5E\uBE5F\uBE62\uBE63\uBE65\uBE66\uBE67\uBE69\uBE6B",4,"\uBE72\uBE76",4,"\uBE7E\uBE7F\uBE81\uBE82\uBE83\uBE85",6,"\uBE8E\uBE92",5,"\uBE9A",13,"\uBEA9",14],["9641","\uBEB8",23,"\uBED2\uBED3"],["9661","\uBED5\uBED6\uBED9",6,"\uBEE1\uBEE2\uBEE6",5,"\uBEED",8],["9681","\uBEF6",10,"\uBF02",5,"\uBF0A",13,"\uBF1A\uBF1E",33,"\uBF42\uBF43\uBF45\uBF46\uBF47\uBF49",6,"\uBF52\uBF53\uBF54\uBF56",44],["9741","\uBF83",16,"\uBF95",8],["9761","\uBF9E",17,"\uBFB1",7],["9781","\uBFB9",11,"\uBFC6",5,"\uBFCE\uBFCF\uBFD1\uBFD2\uBFD3\uBFD5",6,"\uBFDD\uBFDE\uBFE0\uBFE2",89,"\uC03D\uC03E\uC03F"],["9841","\uC040",16,"\uC052",5,"\uC059\uC05A\uC05B"],["9861","\uC05D\uC05E\uC05F\uC061",6,"\uC06A",15],["9881","\uC07A",21,"\uC092\uC093\uC095\uC096\uC097\uC099",6,"\uC0A2\uC0A4\uC0A6",5,"\uC0AE\uC0B1\uC0B2\uC0B7",4,"\uC0BE\uC0C2\uC0C3\uC0C4\uC0C6\uC0C7\uC0CA\uC0CB\uC0CD\uC0CE\uC0CF\uC0D1",6,"\uC0DA\uC0DE",5,"\uC0E6\uC0E7\uC0E9\uC0EA\uC0EB\uC0ED",6,"\uC0F6\uC0F8\uC0FA",5,"\uC101\uC102\uC103\uC105\uC106\uC107\uC109",6,"\uC111\uC112\uC113\uC114\uC116",5,"\uC121\uC122\uC125\uC128\uC129\uC12A\uC12B\uC12E"],["9941","\uC132\uC133\uC134\uC135\uC137\uC13A\uC13B\uC13D\uC13E\uC13F\uC141",6,"\uC14A\uC14E",5,"\uC156\uC157"],["9961","\uC159\uC15A\uC15B\uC15D",6,"\uC166\uC16A",5,"\uC171\uC172\uC173\uC175\uC176\uC177\uC179\uC17A\uC17B"],["9981","\uC17C",8,"\uC186",5,"\uC18F\uC191\uC192\uC193\uC195\uC197",4,"\uC19E\uC1A0\uC1A2\uC1A3\uC1A4\uC1A6\uC1A7\uC1AA\uC1AB\uC1AD\uC1AE\uC1AF\uC1B1",11,"\uC1BE",5,"\uC1C5\uC1C6\uC1C7\uC1C9\uC1CA\uC1CB\uC1CD",6,"\uC1D5\uC1D6\uC1D9",6,"\uC1E1\uC1E2\uC1E3\uC1E5\uC1E6\uC1E7\uC1E9",6,"\uC1F2\uC1F4",7,"\uC1FE\uC1FF\uC201\uC202\uC203\uC205",6,"\uC20E\uC210\uC212",5,"\uC21A\uC21B\uC21D\uC21E\uC221\uC222\uC223"],["9a41","\uC224\uC225\uC226\uC227\uC22A\uC22C\uC22E\uC230\uC233\uC235",16],["9a61","\uC246\uC247\uC249",6,"\uC252\uC253\uC255\uC256\uC257\uC259",6,"\uC261\uC262\uC263\uC264\uC266"],["9a81","\uC267",4,"\uC26E\uC26F\uC271\uC272\uC273\uC275",6,"\uC27E\uC280\uC282",5,"\uC28A",5,"\uC291",6,"\uC299\uC29A\uC29C\uC29E",5,"\uC2A6\uC2A7\uC2A9\uC2AA\uC2AB\uC2AE",5,"\uC2B6\uC2B8\uC2BA",33,"\uC2DE\uC2DF\uC2E1\uC2E2\uC2E5",5,"\uC2EE\uC2F0\uC2F2\uC2F3\uC2F4\uC2F5\uC2F7\uC2FA\uC2FD\uC2FE\uC2FF\uC301",6,"\uC30A\uC30B\uC30E\uC30F"],["9b41","\uC310\uC311\uC312\uC316\uC317\uC319\uC31A\uC31B\uC31D",6,"\uC326\uC327\uC32A",8],["9b61","\uC333",17,"\uC346",7],["9b81","\uC34E",25,"\uC36A\uC36B\uC36D\uC36E\uC36F\uC371\uC373",4,"\uC37A\uC37B\uC37E",5,"\uC385\uC386\uC387\uC389\uC38A\uC38B\uC38D",50,"\uC3C1",22,"\uC3DA"],["9c41","\uC3DB\uC3DD\uC3DE\uC3E1\uC3E3",4,"\uC3EA\uC3EB\uC3EC\uC3EE",5,"\uC3F6\uC3F7\uC3F9",5],["9c61","\uC3FF",8,"\uC409",6,"\uC411",9],["9c81","\uC41B",8,"\uC425",6,"\uC42D\uC42E\uC42F\uC431\uC432\uC433\uC435",6,"\uC43E",9,"\uC449",26,"\uC466\uC467\uC469\uC46A\uC46B\uC46D",6,"\uC476\uC477\uC478\uC47A",5,"\uC481",18,"\uC495",6,"\uC49D",12],["9d41","\uC4AA",13,"\uC4B9\uC4BA\uC4BB\uC4BD",8],["9d61","\uC4C6",25],["9d81","\uC4E0",8,"\uC4EA",5,"\uC4F2\uC4F3\uC4F5\uC4F6\uC4F7\uC4F9\uC4FB\uC4FC\uC4FD\uC4FE\uC502",9,"\uC50D\uC50E\uC50F\uC511\uC512\uC513\uC515",6,"\uC51D",10,"\uC52A\uC52B\uC52D\uC52E\uC52F\uC531",6,"\uC53A\uC53C\uC53E",5,"\uC546\uC547\uC54B\uC54F\uC550\uC551\uC552\uC556\uC55A\uC55B\uC55C\uC55F\uC562\uC563\uC565\uC566\uC567\uC569",6,"\uC572\uC576",5,"\uC57E\uC57F\uC581\uC582\uC583\uC585\uC586\uC588\uC589\uC58A\uC58B\uC58E\uC590\uC592\uC593\uC594"],["9e41","\uC596\uC599\uC59A\uC59B\uC59D\uC59E\uC59F\uC5A1",7,"\uC5AA",9,"\uC5B6"],["9e61","\uC5B7\uC5BA\uC5BF",4,"\uC5CB\uC5CD\uC5CF\uC5D2\uC5D3\uC5D5\uC5D6\uC5D7\uC5D9",6,"\uC5E2\uC5E4\uC5E6\uC5E7"],["9e81","\uC5E8\uC5E9\uC5EA\uC5EB\uC5EF\uC5F1\uC5F2\uC5F3\uC5F5\uC5F8\uC5F9\uC5FA\uC5FB\uC602\uC603\uC604\uC609\uC60A\uC60B\uC60D\uC60E\uC60F\uC611",6,"\uC61A\uC61D",6,"\uC626\uC627\uC629\uC62A\uC62B\uC62F\uC631\uC632\uC636\uC638\uC63A\uC63C\uC63D\uC63E\uC63F\uC642\uC643\uC645\uC646\uC647\uC649",6,"\uC652\uC656",5,"\uC65E\uC65F\uC661",10,"\uC66D\uC66E\uC670\uC672",5,"\uC67A\uC67B\uC67D\uC67E\uC67F\uC681",6,"\uC68A\uC68C\uC68E",5,"\uC696\uC697\uC699\uC69A\uC69B\uC69D",6,"\uC6A6"],["9f41","\uC6A8\uC6AA",5,"\uC6B2\uC6B3\uC6B5\uC6B6\uC6B7\uC6BB",4,"\uC6C2\uC6C4\uC6C6",5,"\uC6CE"],["9f61","\uC6CF\uC6D1\uC6D2\uC6D3\uC6D5",6,"\uC6DE\uC6DF\uC6E2",5,"\uC6EA\uC6EB\uC6ED\uC6EE\uC6EF\uC6F1\uC6F2"],["9f81","\uC6F3",4,"\uC6FA\uC6FB\uC6FC\uC6FE",5,"\uC706\uC707\uC709\uC70A\uC70B\uC70D",6,"\uC716\uC718\uC71A",5,"\uC722\uC723\uC725\uC726\uC727\uC729",6,"\uC732\uC734\uC736\uC738\uC739\uC73A\uC73B\uC73E\uC73F\uC741\uC742\uC743\uC745",4,"\uC74B\uC74E\uC750\uC759\uC75A\uC75B\uC75D\uC75E\uC75F\uC761",6,"\uC769\uC76A\uC76C",7,"\uC776\uC777\uC779\uC77A\uC77B\uC77F\uC780\uC781\uC782\uC786\uC78B\uC78C\uC78D\uC78F\uC792\uC793\uC795\uC799\uC79B",4,"\uC7A2\uC7A7",4,"\uC7AE\uC7AF\uC7B1\uC7B2\uC7B3\uC7B5\uC7B6\uC7B7"],["a041","\uC7B8\uC7B9\uC7BA\uC7BB\uC7BE\uC7C2",5,"\uC7CA\uC7CB\uC7CD\uC7CF\uC7D1",6,"\uC7D9\uC7DA\uC7DB\uC7DC"],["a061","\uC7DE",5,"\uC7E5\uC7E6\uC7E7\uC7E9\uC7EA\uC7EB\uC7ED",13],["a081","\uC7FB",4,"\uC802\uC803\uC805\uC806\uC807\uC809\uC80B",4,"\uC812\uC814\uC817",4,"\uC81E\uC81F\uC821\uC822\uC823\uC825",6,"\uC82E\uC830\uC832",5,"\uC839\uC83A\uC83B\uC83D\uC83E\uC83F\uC841",6,"\uC84A\uC84B\uC84E",5,"\uC855",26,"\uC872\uC873\uC875\uC876\uC877\uC879\uC87B",4,"\uC882\uC884\uC888\uC889\uC88A\uC88E",5,"\uC895",7,"\uC89E\uC8A0\uC8A2\uC8A3\uC8A4"],["a141","\uC8A5\uC8A6\uC8A7\uC8A9",18,"\uC8BE\uC8BF\uC8C0\uC8C1"],["a161","\uC8C2\uC8C3\uC8C5\uC8C6\uC8C7\uC8C9\uC8CA\uC8CB\uC8CD",6,"\uC8D6\uC8D8\uC8DA",5,"\uC8E2\uC8E3\uC8E5"],["a181","\uC8E6",14,"\uC8F6",5,"\uC8FE\uC8FF\uC901\uC902\uC903\uC907",4,"\uC90E\u3000\u3001\u3002\xB7\u2025\u2026\xA8\u3003\xAD\u2015\u2225\uFF3C\u223C\u2018\u2019\u201C\u201D\u3014\u3015\u3008",9,"\xB1\xD7\xF7\u2260\u2264\u2265\u221E\u2234\xB0\u2032\u2033\u2103\u212B\uFFE0\uFFE1\uFFE5\u2642\u2640\u2220\u22A5\u2312\u2202\u2207\u2261\u2252\xA7\u203B\u2606\u2605\u25CB\u25CF\u25CE\u25C7\u25C6\u25A1\u25A0\u25B3\u25B2\u25BD\u25BC\u2192\u2190\u2191\u2193\u2194\u3013\u226A\u226B\u221A\u223D\u221D\u2235\u222B\u222C\u2208\u220B\u2286\u2287\u2282\u2283\u222A\u2229\u2227\u2228\uFFE2"],["a241","\uC910\uC912",5,"\uC919",18],["a261","\uC92D",6,"\uC935",18],["a281","\uC948",7,"\uC952\uC953\uC955\uC956\uC957\uC959",6,"\uC962\uC964",7,"\uC96D\uC96E\uC96F\u21D2\u21D4\u2200\u2203\xB4\uFF5E\u02C7\u02D8\u02DD\u02DA\u02D9\xB8\u02DB\xA1\xBF\u02D0\u222E\u2211\u220F\xA4\u2109\u2030\u25C1\u25C0\u25B7\u25B6\u2664\u2660\u2661\u2665\u2667\u2663\u2299\u25C8\u25A3\u25D0\u25D1\u2592\u25A4\u25A5\u25A8\u25A7\u25A6\u25A9\u2668\u260F\u260E\u261C\u261E\xB6\u2020\u2021\u2195\u2197\u2199\u2196\u2198\u266D\u2669\u266A\u266C\u327F\u321C\u2116\u33C7\u2122\u33C2\u33D8\u2121\u20AC\xAE"],["a341","\uC971\uC972\uC973\uC975",6,"\uC97D",10,"\uC98A\uC98B\uC98D\uC98E\uC98F"],["a361","\uC991",6,"\uC99A\uC99C\uC99E",16],["a381","\uC9AF",16,"\uC9C2\uC9C3\uC9C5\uC9C6\uC9C9\uC9CB",4,"\uC9D2\uC9D4\uC9D7\uC9D8\uC9DB\uFF01",58,"\uFFE6\uFF3D",32,"\uFFE3"],["a441","\uC9DE\uC9DF\uC9E1\uC9E3\uC9E5\uC9E6\uC9E8\uC9E9\uC9EA\uC9EB\uC9EE\uC9F2",5,"\uC9FA\uC9FB\uC9FD\uC9FE\uC9FF\uCA01\uCA02\uCA03\uCA04"],["a461","\uCA05\uCA06\uCA07\uCA0A\uCA0E",5,"\uCA15\uCA16\uCA17\uCA19",12],["a481","\uCA26\uCA27\uCA28\uCA2A",28,"\u3131",93],["a541","\uCA47",4,"\uCA4E\uCA4F\uCA51\uCA52\uCA53\uCA55",6,"\uCA5E\uCA62",5,"\uCA69\uCA6A"],["a561","\uCA6B",17,"\uCA7E",5,"\uCA85\uCA86"],["a581","\uCA87",16,"\uCA99",14,"\u2170",9],["a5b0","\u2160",9],["a5c1","\u0391",16,"\u03A3",6],["a5e1","\u03B1",16,"\u03C3",6],["a641","\uCAA8",19,"\uCABE\uCABF\uCAC1\uCAC2\uCAC3\uCAC5"],["a661","\uCAC6",5,"\uCACE\uCAD0\uCAD2\uCAD4\uCAD5\uCAD6\uCAD7\uCADA",5,"\uCAE1",6],["a681","\uCAE8\uCAE9\uCAEA\uCAEB\uCAED",6,"\uCAF5",18,"\uCB09\uCB0A\u2500\u2502\u250C\u2510\u2518\u2514\u251C\u252C\u2524\u2534\u253C\u2501\u2503\u250F\u2513\u251B\u2517\u2523\u2533\u252B\u253B\u254B\u2520\u252F\u2528\u2537\u253F\u251D\u2530\u2525\u2538\u2542\u2512\u2511\u251A\u2519\u2516\u2515\u250E\u250D\u251E\u251F\u2521\u2522\u2526\u2527\u2529\u252A\u252D\u252E\u2531\u2532\u2535\u2536\u2539\u253A\u253D\u253E\u2540\u2541\u2543",7],["a741","\uCB0B",4,"\uCB11\uCB12\uCB13\uCB15\uCB16\uCB17\uCB19",6,"\uCB22",7],["a761","\uCB2A",22,"\uCB42\uCB43\uCB44"],["a781","\uCB45\uCB46\uCB47\uCB4A\uCB4B\uCB4D\uCB4E\uCB4F\uCB51",6,"\uCB5A\uCB5B\uCB5C\uCB5E",5,"\uCB65",7,"\u3395\u3396\u3397\u2113\u3398\u33C4\u33A3\u33A4\u33A5\u33A6\u3399",9,"\u33CA\u338D\u338E\u338F\u33CF\u3388\u3389\u33C8\u33A7\u33A8\u33B0",9,"\u3380",4,"\u33BA",5,"\u3390",4,"\u2126\u33C0\u33C1\u338A\u338B\u338C\u33D6\u33C5\u33AD\u33AE\u33AF\u33DB\u33A9\u33AA\u33AB\u33AC\u33DD\u33D0\u33D3\u33C3\u33C9\u33DC\u33C6"],["a841","\uCB6D",10,"\uCB7A",14],["a861","\uCB89",18,"\uCB9D",6],["a881","\uCBA4",19,"\uCBB9",11,"\xC6\xD0\xAA\u0126"],["a8a6","\u0132"],["a8a8","\u013F\u0141\xD8\u0152\xBA\xDE\u0166\u014A"],["a8b1","\u3260",27,"\u24D0",25,"\u2460",14,"\xBD\u2153\u2154\xBC\xBE\u215B\u215C\u215D\u215E"],["a941","\uCBC5",14,"\uCBD5",10],["a961","\uCBE0\uCBE1\uCBE2\uCBE3\uCBE5\uCBE6\uCBE8\uCBEA",18],["a981","\uCBFD",14,"\uCC0E\uCC0F\uCC11\uCC12\uCC13\uCC15",6,"\uCC1E\uCC1F\uCC20\uCC23\uCC24\xE6\u0111\xF0\u0127\u0131\u0133\u0138\u0140\u0142\xF8\u0153\xDF\xFE\u0167\u014B\u0149\u3200",27,"\u249C",25,"\u2474",14,"\xB9\xB2\xB3\u2074\u207F\u2081\u2082\u2083\u2084"],["aa41","\uCC25\uCC26\uCC2A\uCC2B\uCC2D\uCC2F\uCC31",6,"\uCC3A\uCC3F",4,"\uCC46\uCC47\uCC49\uCC4A\uCC4B\uCC4D\uCC4E"],["aa61","\uCC4F",4,"\uCC56\uCC5A",5,"\uCC61\uCC62\uCC63\uCC65\uCC67\uCC69",6,"\uCC71\uCC72"],["aa81","\uCC73\uCC74\uCC76",29,"\u3041",82],["ab41","\uCC94\uCC95\uCC96\uCC97\uCC9A\uCC9B\uCC9D\uCC9E\uCC9F\uCCA1",6,"\uCCAA\uCCAE",5,"\uCCB6\uCCB7\uCCB9"],["ab61","\uCCBA\uCCBB\uCCBD",6,"\uCCC6\uCCC8\uCCCA",5,"\uCCD1\uCCD2\uCCD3\uCCD5",5],["ab81","\uCCDB",8,"\uCCE5",6,"\uCCED\uCCEE\uCCEF\uCCF1",12,"\u30A1",85],["ac41","\uCCFE\uCCFF\uCD00\uCD02",5,"\uCD0A\uCD0B\uCD0D\uCD0E\uCD0F\uCD11",6,"\uCD1A\uCD1C\uCD1E\uCD1F\uCD20"],["ac61","\uCD21\uCD22\uCD23\uCD25\uCD26\uCD27\uCD29\uCD2A\uCD2B\uCD2D",11,"\uCD3A",4],["ac81","\uCD3F",28,"\uCD5D\uCD5E\uCD5F\u0410",5,"\u0401\u0416",25],["acd1","\u0430",5,"\u0451\u0436",25],["ad41","\uCD61\uCD62\uCD63\uCD65",6,"\uCD6E\uCD70\uCD72",5,"\uCD79",7],["ad61","\uCD81",6,"\uCD89",10,"\uCD96\uCD97\uCD99\uCD9A\uCD9B\uCD9D\uCD9E\uCD9F"],["ad81","\uCDA0\uCDA1\uCDA2\uCDA3\uCDA6\uCDA8\uCDAA",5,"\uCDB1",18,"\uCDC5"],["ae41","\uCDC6",5,"\uCDCD\uCDCE\uCDCF\uCDD1",16],["ae61","\uCDE2",5,"\uCDE9\uCDEA\uCDEB\uCDED\uCDEE\uCDEF\uCDF1",6,"\uCDFA\uCDFC\uCDFE",4],["ae81","\uCE03\uCE05\uCE06\uCE07\uCE09\uCE0A\uCE0B\uCE0D",6,"\uCE15\uCE16\uCE17\uCE18\uCE1A",5,"\uCE22\uCE23\uCE25\uCE26\uCE27\uCE29\uCE2A\uCE2B"],["af41","\uCE2C\uCE2D\uCE2E\uCE2F\uCE32\uCE34\uCE36",19],["af61","\uCE4A",13,"\uCE5A\uCE5B\uCE5D\uCE5E\uCE62",5,"\uCE6A\uCE6C"],["af81","\uCE6E",5,"\uCE76\uCE77\uCE79\uCE7A\uCE7B\uCE7D",6,"\uCE86\uCE88\uCE8A",5,"\uCE92\uCE93\uCE95\uCE96\uCE97\uCE99"],["b041","\uCE9A",5,"\uCEA2\uCEA6",5,"\uCEAE",12],["b061","\uCEBB",5,"\uCEC2",19],["b081","\uCED6",13,"\uCEE6\uCEE7\uCEE9\uCEEA\uCEED",6,"\uCEF6\uCEFA",5,"\uAC00\uAC01\uAC04\uAC07\uAC08\uAC09\uAC0A\uAC10",7,"\uAC19",4,"\uAC20\uAC24\uAC2C\uAC2D\uAC2F\uAC30\uAC31\uAC38\uAC39\uAC3C\uAC40\uAC4B\uAC4D\uAC54\uAC58\uAC5C\uAC70\uAC71\uAC74\uAC77\uAC78\uAC7A\uAC80\uAC81\uAC83\uAC84\uAC85\uAC86\uAC89\uAC8A\uAC8B\uAC8C\uAC90\uAC94\uAC9C\uAC9D\uAC9F\uACA0\uACA1\uACA8\uACA9\uACAA\uACAC\uACAF\uACB0\uACB8\uACB9\uACBB\uACBC\uACBD\uACC1\uACC4\uACC8\uACCC\uACD5\uACD7\uACE0\uACE1\uACE4\uACE7\uACE8\uACEA\uACEC\uACEF\uACF0\uACF1\uACF3\uACF5\uACF6\uACFC\uACFD\uAD00\uAD04\uAD06"],["b141","\uCF02\uCF03\uCF05\uCF06\uCF07\uCF09",6,"\uCF12\uCF14\uCF16",5,"\uCF1D\uCF1E\uCF1F\uCF21\uCF22\uCF23"],["b161","\uCF25",6,"\uCF2E\uCF32",5,"\uCF39",11],["b181","\uCF45",14,"\uCF56\uCF57\uCF59\uCF5A\uCF5B\uCF5D",6,"\uCF66\uCF68\uCF6A\uCF6B\uCF6C\uAD0C\uAD0D\uAD0F\uAD11\uAD18\uAD1C\uAD20\uAD29\uAD2C\uAD2D\uAD34\uAD35\uAD38\uAD3C\uAD44\uAD45\uAD47\uAD49\uAD50\uAD54\uAD58\uAD61\uAD63\uAD6C\uAD6D\uAD70\uAD73\uAD74\uAD75\uAD76\uAD7B\uAD7C\uAD7D\uAD7F\uAD81\uAD82\uAD88\uAD89\uAD8C\uAD90\uAD9C\uAD9D\uADA4\uADB7\uADC0\uADC1\uADC4\uADC8\uADD0\uADD1\uADD3\uADDC\uADE0\uADE4\uADF8\uADF9\uADFC\uADFF\uAE00\uAE01\uAE08\uAE09\uAE0B\uAE0D\uAE14\uAE30\uAE31\uAE34\uAE37\uAE38\uAE3A\uAE40\uAE41\uAE43\uAE45\uAE46\uAE4A\uAE4C\uAE4D\uAE4E\uAE50\uAE54\uAE56\uAE5C\uAE5D\uAE5F\uAE60\uAE61\uAE65\uAE68\uAE69\uAE6C\uAE70\uAE78"],["b241","\uCF6D\uCF6E\uCF6F\uCF72\uCF73\uCF75\uCF76\uCF77\uCF79",6,"\uCF81\uCF82\uCF83\uCF84\uCF86",5,"\uCF8D"],["b261","\uCF8E",18,"\uCFA2",5,"\uCFA9"],["b281","\uCFAA",5,"\uCFB1",18,"\uCFC5",6,"\uAE79\uAE7B\uAE7C\uAE7D\uAE84\uAE85\uAE8C\uAEBC\uAEBD\uAEBE\uAEC0\uAEC4\uAECC\uAECD\uAECF\uAED0\uAED1\uAED8\uAED9\uAEDC\uAEE8\uAEEB\uAEED\uAEF4\uAEF8\uAEFC\uAF07\uAF08\uAF0D\uAF10\uAF2C\uAF2D\uAF30\uAF32\uAF34\uAF3C\uAF3D\uAF3F\uAF41\uAF42\uAF43\uAF48\uAF49\uAF50\uAF5C\uAF5D\uAF64\uAF65\uAF79\uAF80\uAF84\uAF88\uAF90\uAF91\uAF95\uAF9C\uAFB8\uAFB9\uAFBC\uAFC0\uAFC7\uAFC8\uAFC9\uAFCB\uAFCD\uAFCE\uAFD4\uAFDC\uAFE8\uAFE9\uAFF0\uAFF1\uAFF4\uAFF8\uB000\uB001\uB004\uB00C\uB010\uB014\uB01C\uB01D\uB028\uB044\uB045\uB048\uB04A\uB04C\uB04E\uB053\uB054\uB055\uB057\uB059"],["b341","\uCFCC",19,"\uCFE2\uCFE3\uCFE5\uCFE6\uCFE7\uCFE9"],["b361","\uCFEA",5,"\uCFF2\uCFF4\uCFF6",5,"\uCFFD\uCFFE\uCFFF\uD001\uD002\uD003\uD005",5],["b381","\uD00B",5,"\uD012",5,"\uD019",19,"\uB05D\uB07C\uB07D\uB080\uB084\uB08C\uB08D\uB08F\uB091\uB098\uB099\uB09A\uB09C\uB09F\uB0A0\uB0A1\uB0A2\uB0A8\uB0A9\uB0AB",4,"\uB0B1\uB0B3\uB0B4\uB0B5\uB0B8\uB0BC\uB0C4\uB0C5\uB0C7\uB0C8\uB0C9\uB0D0\uB0D1\uB0D4\uB0D8\uB0E0\uB0E5\uB108\uB109\uB10B\uB10C\uB110\uB112\uB113\uB118\uB119\uB11B\uB11C\uB11D\uB123\uB124\uB125\uB128\uB12C\uB134\uB135\uB137\uB138\uB139\uB140\uB141\uB144\uB148\uB150\uB151\uB154\uB155\uB158\uB15C\uB160\uB178\uB179\uB17C\uB180\uB182\uB188\uB189\uB18B\uB18D\uB192\uB193\uB194\uB198\uB19C\uB1A8\uB1CC\uB1D0\uB1D4\uB1DC\uB1DD"],["b441","\uD02E",5,"\uD036\uD037\uD039\uD03A\uD03B\uD03D",6,"\uD046\uD048\uD04A",5],["b461","\uD051\uD052\uD053\uD055\uD056\uD057\uD059",6,"\uD061",10,"\uD06E\uD06F"],["b481","\uD071\uD072\uD073\uD075",6,"\uD07E\uD07F\uD080\uD082",18,"\uB1DF\uB1E8\uB1E9\uB1EC\uB1F0\uB1F9\uB1FB\uB1FD\uB204\uB205\uB208\uB20B\uB20C\uB214\uB215\uB217\uB219\uB220\uB234\uB23C\uB258\uB25C\uB260\uB268\uB269\uB274\uB275\uB27C\uB284\uB285\uB289\uB290\uB291\uB294\uB298\uB299\uB29A\uB2A0\uB2A1\uB2A3\uB2A5\uB2A6\uB2AA\uB2AC\uB2B0\uB2B4\uB2C8\uB2C9\uB2CC\uB2D0\uB2D2\uB2D8\uB2D9\uB2DB\uB2DD\uB2E2\uB2E4\uB2E5\uB2E6\uB2E8\uB2EB",4,"\uB2F3\uB2F4\uB2F5\uB2F7",4,"\uB2FF\uB300\uB301\uB304\uB308\uB310\uB311\uB313\uB314\uB315\uB31C\uB354\uB355\uB356\uB358\uB35B\uB35C\uB35E\uB35F\uB364\uB365"],["b541","\uD095",14,"\uD0A6\uD0A7\uD0A9\uD0AA\uD0AB\uD0AD",5],["b561","\uD0B3\uD0B6\uD0B8\uD0BA",5,"\uD0C2\uD0C3\uD0C5\uD0C6\uD0C7\uD0CA",5,"\uD0D2\uD0D6",4],["b581","\uD0DB\uD0DE\uD0DF\uD0E1\uD0E2\uD0E3\uD0E5",6,"\uD0EE\uD0F2",5,"\uD0F9",11,"\uB367\uB369\uB36B\uB36E\uB370\uB371\uB374\uB378\uB380\uB381\uB383\uB384\uB385\uB38C\uB390\uB394\uB3A0\uB3A1\uB3A8\uB3AC\uB3C4\uB3C5\uB3C8\uB3CB\uB3CC\uB3CE\uB3D0\uB3D4\uB3D5\uB3D7\uB3D9\uB3DB\uB3DD\uB3E0\uB3E4\uB3E8\uB3FC\uB410\uB418\uB41C\uB420\uB428\uB429\uB42B\uB434\uB450\uB451\uB454\uB458\uB460\uB461\uB463\uB465\uB46C\uB480\uB488\uB49D\uB4A4\uB4A8\uB4AC\uB4B5\uB4B7\uB4B9\uB4C0\uB4C4\uB4C8\uB4D0\uB4D5\uB4DC\uB4DD\uB4E0\uB4E3\uB4E4\uB4E6\uB4EC\uB4ED\uB4EF\uB4F1\uB4F8\uB514\uB515\uB518\uB51B\uB51C\uB524\uB525\uB527\uB528\uB529\uB52A\uB530\uB531\uB534\uB538"],["b641","\uD105",7,"\uD10E",17],["b661","\uD120",15,"\uD132\uD133\uD135\uD136\uD137\uD139\uD13B\uD13C\uD13D\uD13E"],["b681","\uD13F\uD142\uD146",5,"\uD14E\uD14F\uD151\uD152\uD153\uD155",6,"\uD15E\uD160\uD162",5,"\uD169\uD16A\uD16B\uD16D\uB540\uB541\uB543\uB544\uB545\uB54B\uB54C\uB54D\uB550\uB554\uB55C\uB55D\uB55F\uB560\uB561\uB5A0\uB5A1\uB5A4\uB5A8\uB5AA\uB5AB\uB5B0\uB5B1\uB5B3\uB5B4\uB5B5\uB5BB\uB5BC\uB5BD\uB5C0\uB5C4\uB5CC\uB5CD\uB5CF\uB5D0\uB5D1\uB5D8\uB5EC\uB610\uB611\uB614\uB618\uB625\uB62C\uB634\uB648\uB664\uB668\uB69C\uB69D\uB6A0\uB6A4\uB6AB\uB6AC\uB6B1\uB6D4\uB6F0\uB6F4\uB6F8\uB700\uB701\uB705\uB728\uB729\uB72C\uB72F\uB730\uB738\uB739\uB73B\uB744\uB748\uB74C\uB754\uB755\uB760\uB764\uB768\uB770\uB771\uB773\uB775\uB77C\uB77D\uB780\uB784\uB78C\uB78D\uB78F\uB790\uB791\uB792\uB796\uB797"],["b741","\uD16E",13,"\uD17D",6,"\uD185\uD186\uD187\uD189\uD18A"],["b761","\uD18B",20,"\uD1A2\uD1A3\uD1A5\uD1A6\uD1A7"],["b781","\uD1A9",6,"\uD1B2\uD1B4\uD1B6\uD1B7\uD1B8\uD1B9\uD1BB\uD1BD\uD1BE\uD1BF\uD1C1",14,"\uB798\uB799\uB79C\uB7A0\uB7A8\uB7A9\uB7AB\uB7AC\uB7AD\uB7B4\uB7B5\uB7B8\uB7C7\uB7C9\uB7EC\uB7ED\uB7F0\uB7F4\uB7FC\uB7FD\uB7FF\uB800\uB801\uB807\uB808\uB809\uB80C\uB810\uB818\uB819\uB81B\uB81D\uB824\uB825\uB828\uB82C\uB834\uB835\uB837\uB838\uB839\uB840\uB844\uB851\uB853\uB85C\uB85D\uB860\uB864\uB86C\uB86D\uB86F\uB871\uB878\uB87C\uB88D\uB8A8\uB8B0\uB8B4\uB8B8\uB8C0\uB8C1\uB8C3\uB8C5\uB8CC\uB8D0\uB8D4\uB8DD\uB8DF\uB8E1\uB8E8\uB8E9\uB8EC\uB8F0\uB8F8\uB8F9\uB8FB\uB8FD\uB904\uB918\uB920\uB93C\uB93D\uB940\uB944\uB94C\uB94F\uB951\uB958\uB959\uB95C\uB960\uB968\uB969"],["b841","\uD1D0",7,"\uD1D9",17],["b861","\uD1EB",8,"\uD1F5\uD1F6\uD1F7\uD1F9",13],["b881","\uD208\uD20A",5,"\uD211",24,"\uB96B\uB96D\uB974\uB975\uB978\uB97C\uB984\uB985\uB987\uB989\uB98A\uB98D\uB98E\uB9AC\uB9AD\uB9B0\uB9B4\uB9BC\uB9BD\uB9BF\uB9C1\uB9C8\uB9C9\uB9CC\uB9CE",4,"\uB9D8\uB9D9\uB9DB\uB9DD\uB9DE\uB9E1\uB9E3\uB9E4\uB9E5\uB9E8\uB9EC\uB9F4\uB9F5\uB9F7\uB9F8\uB9F9\uB9FA\uBA00\uBA01\uBA08\uBA15\uBA38\uBA39\uBA3C\uBA40\uBA42\uBA48\uBA49\uBA4B\uBA4D\uBA4E\uBA53\uBA54\uBA55\uBA58\uBA5C\uBA64\uBA65\uBA67\uBA68\uBA69\uBA70\uBA71\uBA74\uBA78\uBA83\uBA84\uBA85\uBA87\uBA8C\uBAA8\uBAA9\uBAAB\uBAAC\uBAB0\uBAB2\uBAB8\uBAB9\uBABB\uBABD\uBAC4\uBAC8\uBAD8\uBAD9\uBAFC"],["b941","\uD22A\uD22B\uD22E\uD22F\uD231\uD232\uD233\uD235",6,"\uD23E\uD240\uD242",5,"\uD249\uD24A\uD24B\uD24C"],["b961","\uD24D",14,"\uD25D",6,"\uD265\uD266\uD267\uD268"],["b981","\uD269",22,"\uD282\uD283\uD285\uD286\uD287\uD289\uD28A\uD28B\uD28C\uBB00\uBB04\uBB0D\uBB0F\uBB11\uBB18\uBB1C\uBB20\uBB29\uBB2B\uBB34\uBB35\uBB36\uBB38\uBB3B\uBB3C\uBB3D\uBB3E\uBB44\uBB45\uBB47\uBB49\uBB4D\uBB4F\uBB50\uBB54\uBB58\uBB61\uBB63\uBB6C\uBB88\uBB8C\uBB90\uBBA4\uBBA8\uBBAC\uBBB4\uBBB7\uBBC0\uBBC4\uBBC8\uBBD0\uBBD3\uBBF8\uBBF9\uBBFC\uBBFF\uBC00\uBC02\uBC08\uBC09\uBC0B\uBC0C\uBC0D\uBC0F\uBC11\uBC14",4,"\uBC1B",4,"\uBC24\uBC25\uBC27\uBC29\uBC2D\uBC30\uBC31\uBC34\uBC38\uBC40\uBC41\uBC43\uBC44\uBC45\uBC49\uBC4C\uBC4D\uBC50\uBC5D\uBC84\uBC85\uBC88\uBC8B\uBC8C\uBC8E\uBC94\uBC95\uBC97"],["ba41","\uD28D\uD28E\uD28F\uD292\uD293\uD294\uD296",5,"\uD29D\uD29E\uD29F\uD2A1\uD2A2\uD2A3\uD2A5",6,"\uD2AD"],["ba61","\uD2AE\uD2AF\uD2B0\uD2B2",5,"\uD2BA\uD2BB\uD2BD\uD2BE\uD2C1\uD2C3",4,"\uD2CA\uD2CC",5],["ba81","\uD2D2\uD2D3\uD2D5\uD2D6\uD2D7\uD2D9\uD2DA\uD2DB\uD2DD",6,"\uD2E6",9,"\uD2F2\uD2F3\uD2F5\uD2F6\uD2F7\uD2F9\uD2FA\uBC99\uBC9A\uBCA0\uBCA1\uBCA4\uBCA7\uBCA8\uBCB0\uBCB1\uBCB3\uBCB4\uBCB5\uBCBC\uBCBD\uBCC0\uBCC4\uBCCD\uBCCF\uBCD0\uBCD1\uBCD5\uBCD8\uBCDC\uBCF4\uBCF5\uBCF6\uBCF8\uBCFC\uBD04\uBD05\uBD07\uBD09\uBD10\uBD14\uBD24\uBD2C\uBD40\uBD48\uBD49\uBD4C\uBD50\uBD58\uBD59\uBD64\uBD68\uBD80\uBD81\uBD84\uBD87\uBD88\uBD89\uBD8A\uBD90\uBD91\uBD93\uBD95\uBD99\uBD9A\uBD9C\uBDA4\uBDB0\uBDB8\uBDD4\uBDD5\uBDD8\uBDDC\uBDE9\uBDF0\uBDF4\uBDF8\uBE00\uBE03\uBE05\uBE0C\uBE0D\uBE10\uBE14\uBE1C\uBE1D\uBE1F\uBE44\uBE45\uBE48\uBE4C\uBE4E\uBE54\uBE55\uBE57\uBE59\uBE5A\uBE5B\uBE60\uBE61\uBE64"],["bb41","\uD2FB",4,"\uD302\uD304\uD306",5,"\uD30F\uD311\uD312\uD313\uD315\uD317",4,"\uD31E\uD322\uD323"],["bb61","\uD324\uD326\uD327\uD32A\uD32B\uD32D\uD32E\uD32F\uD331",6,"\uD33A\uD33E",5,"\uD346\uD347\uD348\uD349"],["bb81","\uD34A",31,"\uBE68\uBE6A\uBE70\uBE71\uBE73\uBE74\uBE75\uBE7B\uBE7C\uBE7D\uBE80\uBE84\uBE8C\uBE8D\uBE8F\uBE90\uBE91\uBE98\uBE99\uBEA8\uBED0\uBED1\uBED4\uBED7\uBED8\uBEE0\uBEE3\uBEE4\uBEE5\uBEEC\uBF01\uBF08\uBF09\uBF18\uBF19\uBF1B\uBF1C\uBF1D\uBF40\uBF41\uBF44\uBF48\uBF50\uBF51\uBF55\uBF94\uBFB0\uBFC5\uBFCC\uBFCD\uBFD0\uBFD4\uBFDC\uBFDF\uBFE1\uC03C\uC051\uC058\uC05C\uC060\uC068\uC069\uC090\uC091\uC094\uC098\uC0A0\uC0A1\uC0A3\uC0A5\uC0AC\uC0AD\uC0AF\uC0B0\uC0B3\uC0B4\uC0B5\uC0B6\uC0BC\uC0BD\uC0BF\uC0C0\uC0C1\uC0C5\uC0C8\uC0C9\uC0CC\uC0D0\uC0D8\uC0D9\uC0DB\uC0DC\uC0DD\uC0E4"],["bc41","\uD36A",17,"\uD37E\uD37F\uD381\uD382\uD383\uD385\uD386\uD387"],["bc61","\uD388\uD389\uD38A\uD38B\uD38E\uD392",5,"\uD39A\uD39B\uD39D\uD39E\uD39F\uD3A1",6,"\uD3AA\uD3AC\uD3AE"],["bc81","\uD3AF",4,"\uD3B5\uD3B6\uD3B7\uD3B9\uD3BA\uD3BB\uD3BD",6,"\uD3C6\uD3C7\uD3CA",5,"\uD3D1",5,"\uC0E5\uC0E8\uC0EC\uC0F4\uC0F5\uC0F7\uC0F9\uC100\uC104\uC108\uC110\uC115\uC11C",4,"\uC123\uC124\uC126\uC127\uC12C\uC12D\uC12F\uC130\uC131\uC136\uC138\uC139\uC13C\uC140\uC148\uC149\uC14B\uC14C\uC14D\uC154\uC155\uC158\uC15C\uC164\uC165\uC167\uC168\uC169\uC170\uC174\uC178\uC185\uC18C\uC18D\uC18E\uC190\uC194\uC196\uC19C\uC19D\uC19F\uC1A1\uC1A5\uC1A8\uC1A9\uC1AC\uC1B0\uC1BD\uC1C4\uC1C8\uC1CC\uC1D4\uC1D7\uC1D8\uC1E0\uC1E4\uC1E8\uC1F0\uC1F1\uC1F3\uC1FC\uC1FD\uC200\uC204\uC20C\uC20D\uC20F\uC211\uC218\uC219\uC21C\uC21F\uC220\uC228\uC229\uC22B\uC22D"],["bd41","\uD3D7\uD3D9",7,"\uD3E2\uD3E4",7,"\uD3EE\uD3EF\uD3F1\uD3F2\uD3F3\uD3F5\uD3F6\uD3F7"],["bd61","\uD3F8\uD3F9\uD3FA\uD3FB\uD3FE\uD400\uD402",5,"\uD409",13],["bd81","\uD417",5,"\uD41E",25,"\uC22F\uC231\uC232\uC234\uC248\uC250\uC251\uC254\uC258\uC260\uC265\uC26C\uC26D\uC270\uC274\uC27C\uC27D\uC27F\uC281\uC288\uC289\uC290\uC298\uC29B\uC29D\uC2A4\uC2A5\uC2A8\uC2AC\uC2AD\uC2B4\uC2B5\uC2B7\uC2B9\uC2DC\uC2DD\uC2E0\uC2E3\uC2E4\uC2EB\uC2EC\uC2ED\uC2EF\uC2F1\uC2F6\uC2F8\uC2F9\uC2FB\uC2FC\uC300\uC308\uC309\uC30C\uC30D\uC313\uC314\uC315\uC318\uC31C\uC324\uC325\uC328\uC329\uC345\uC368\uC369\uC36C\uC370\uC372\uC378\uC379\uC37C\uC37D\uC384\uC388\uC38C\uC3C0\uC3D8\uC3D9\uC3DC\uC3DF\uC3E0\uC3E2\uC3E8\uC3E9\uC3ED\uC3F4\uC3F5\uC3F8\uC408\uC410\uC424\uC42C\uC430"],["be41","\uD438",7,"\uD441\uD442\uD443\uD445",14],["be61","\uD454",7,"\uD45D\uD45E\uD45F\uD461\uD462\uD463\uD465",7,"\uD46E\uD470\uD471\uD472"],["be81","\uD473",4,"\uD47A\uD47B\uD47D\uD47E\uD481\uD483",4,"\uD48A\uD48C\uD48E",5,"\uD495",8,"\uC434\uC43C\uC43D\uC448\uC464\uC465\uC468\uC46C\uC474\uC475\uC479\uC480\uC494\uC49C\uC4B8\uC4BC\uC4E9\uC4F0\uC4F1\uC4F4\uC4F8\uC4FA\uC4FF\uC500\uC501\uC50C\uC510\uC514\uC51C\uC528\uC529\uC52C\uC530\uC538\uC539\uC53B\uC53D\uC544\uC545\uC548\uC549\uC54A\uC54C\uC54D\uC54E\uC553\uC554\uC555\uC557\uC558\uC559\uC55D\uC55E\uC560\uC561\uC564\uC568\uC570\uC571\uC573\uC574\uC575\uC57C\uC57D\uC580\uC584\uC587\uC58C\uC58D\uC58F\uC591\uC595\uC597\uC598\uC59C\uC5A0\uC5A9\uC5B4\uC5B5\uC5B8\uC5B9\uC5BB\uC5BC\uC5BD\uC5BE\uC5C4",6,"\uC5CC\uC5CE"],["bf41","\uD49E",10,"\uD4AA",14],["bf61","\uD4B9",18,"\uD4CD\uD4CE\uD4CF\uD4D1\uD4D2\uD4D3\uD4D5"],["bf81","\uD4D6",5,"\uD4DD\uD4DE\uD4E0",7,"\uD4E9\uD4EA\uD4EB\uD4ED\uD4EE\uD4EF\uD4F1",6,"\uD4F9\uD4FA\uD4FC\uC5D0\uC5D1\uC5D4\uC5D8\uC5E0\uC5E1\uC5E3\uC5E5\uC5EC\uC5ED\uC5EE\uC5F0\uC5F4\uC5F6\uC5F7\uC5FC",5,"\uC605\uC606\uC607\uC608\uC60C\uC610\uC618\uC619\uC61B\uC61C\uC624\uC625\uC628\uC62C\uC62D\uC62E\uC630\uC633\uC634\uC635\uC637\uC639\uC63B\uC640\uC641\uC644\uC648\uC650\uC651\uC653\uC654\uC655\uC65C\uC65D\uC660\uC66C\uC66F\uC671\uC678\uC679\uC67C\uC680\uC688\uC689\uC68B\uC68D\uC694\uC695\uC698\uC69C\uC6A4\uC6A5\uC6A7\uC6A9\uC6B0\uC6B1\uC6B4\uC6B8\uC6B9\uC6BA\uC6C0\uC6C1\uC6C3\uC6C5\uC6CC\uC6CD\uC6D0\uC6D4\uC6DC\uC6DD\uC6E0\uC6E1\uC6E8"],["c041","\uD4FE",5,"\uD505\uD506\uD507\uD509\uD50A\uD50B\uD50D",6,"\uD516\uD518",5],["c061","\uD51E",25],["c081","\uD538\uD539\uD53A\uD53B\uD53E\uD53F\uD541\uD542\uD543\uD545",6,"\uD54E\uD550\uD552",5,"\uD55A\uD55B\uD55D\uD55E\uD55F\uD561\uD562\uD563\uC6E9\uC6EC\uC6F0\uC6F8\uC6F9\uC6FD\uC704\uC705\uC708\uC70C\uC714\uC715\uC717\uC719\uC720\uC721\uC724\uC728\uC730\uC731\uC733\uC735\uC737\uC73C\uC73D\uC740\uC744\uC74A\uC74C\uC74D\uC74F\uC751",7,"\uC75C\uC760\uC768\uC76B\uC774\uC775\uC778\uC77C\uC77D\uC77E\uC783\uC784\uC785\uC787\uC788\uC789\uC78A\uC78E\uC790\uC791\uC794\uC796\uC797\uC798\uC79A\uC7A0\uC7A1\uC7A3\uC7A4\uC7A5\uC7A6\uC7AC\uC7AD\uC7B0\uC7B4\uC7BC\uC7BD\uC7BF\uC7C0\uC7C1\uC7C8\uC7C9\uC7CC\uC7CE\uC7D0\uC7D8\uC7DD\uC7E4\uC7E8\uC7EC\uC800\uC801\uC804\uC808\uC80A"],["c141","\uD564\uD566\uD567\uD56A\uD56C\uD56E",5,"\uD576\uD577\uD579\uD57A\uD57B\uD57D",6,"\uD586\uD58A\uD58B"],["c161","\uD58C\uD58D\uD58E\uD58F\uD591",19,"\uD5A6\uD5A7"],["c181","\uD5A8",31,"\uC810\uC811\uC813\uC815\uC816\uC81C\uC81D\uC820\uC824\uC82C\uC82D\uC82F\uC831\uC838\uC83C\uC840\uC848\uC849\uC84C\uC84D\uC854\uC870\uC871\uC874\uC878\uC87A\uC880\uC881\uC883\uC885\uC886\uC887\uC88B\uC88C\uC88D\uC894\uC89D\uC89F\uC8A1\uC8A8\uC8BC\uC8BD\uC8C4\uC8C8\uC8CC\uC8D4\uC8D5\uC8D7\uC8D9\uC8E0\uC8E1\uC8E4\uC8F5\uC8FC\uC8FD\uC900\uC904\uC905\uC906\uC90C\uC90D\uC90F\uC911\uC918\uC92C\uC934\uC950\uC951\uC954\uC958\uC960\uC961\uC963\uC96C\uC970\uC974\uC97C\uC988\uC989\uC98C\uC990\uC998\uC999\uC99B\uC99D\uC9C0\uC9C1\uC9C4\uC9C7\uC9C8\uC9CA\uC9D0\uC9D1\uC9D3"],["c241","\uD5CA\uD5CB\uD5CD\uD5CE\uD5CF\uD5D1\uD5D3",4,"\uD5DA\uD5DC\uD5DE",5,"\uD5E6\uD5E7\uD5E9\uD5EA\uD5EB\uD5ED\uD5EE"],["c261","\uD5EF",4,"\uD5F6\uD5F8\uD5FA",5,"\uD602\uD603\uD605\uD606\uD607\uD609",6,"\uD612"],["c281","\uD616",5,"\uD61D\uD61E\uD61F\uD621\uD622\uD623\uD625",7,"\uD62E",9,"\uD63A\uD63B\uC9D5\uC9D6\uC9D9\uC9DA\uC9DC\uC9DD\uC9E0\uC9E2\uC9E4\uC9E7\uC9EC\uC9ED\uC9EF\uC9F0\uC9F1\uC9F8\uC9F9\uC9FC\uCA00\uCA08\uCA09\uCA0B\uCA0C\uCA0D\uCA14\uCA18\uCA29\uCA4C\uCA4D\uCA50\uCA54\uCA5C\uCA5D\uCA5F\uCA60\uCA61\uCA68\uCA7D\uCA84\uCA98\uCABC\uCABD\uCAC0\uCAC4\uCACC\uCACD\uCACF\uCAD1\uCAD3\uCAD8\uCAD9\uCAE0\uCAEC\uCAF4\uCB08\uCB10\uCB14\uCB18\uCB20\uCB21\uCB41\uCB48\uCB49\uCB4C\uCB50\uCB58\uCB59\uCB5D\uCB64\uCB78\uCB79\uCB9C\uCBB8\uCBD4\uCBE4\uCBE7\uCBE9\uCC0C\uCC0D\uCC10\uCC14\uCC1C\uCC1D\uCC21\uCC22\uCC27\uCC28\uCC29\uCC2C\uCC2E\uCC30\uCC38\uCC39\uCC3B"],["c341","\uD63D\uD63E\uD63F\uD641\uD642\uD643\uD644\uD646\uD647\uD64A\uD64C\uD64E\uD64F\uD650\uD652\uD653\uD656\uD657\uD659\uD65A\uD65B\uD65D",4],["c361","\uD662",4,"\uD668\uD66A",5,"\uD672\uD673\uD675",11],["c381","\uD681\uD682\uD684\uD686",5,"\uD68E\uD68F\uD691\uD692\uD693\uD695",7,"\uD69E\uD6A0\uD6A2",5,"\uD6A9\uD6AA\uCC3C\uCC3D\uCC3E\uCC44\uCC45\uCC48\uCC4C\uCC54\uCC55\uCC57\uCC58\uCC59\uCC60\uCC64\uCC66\uCC68\uCC70\uCC75\uCC98\uCC99\uCC9C\uCCA0\uCCA8\uCCA9\uCCAB\uCCAC\uCCAD\uCCB4\uCCB5\uCCB8\uCCBC\uCCC4\uCCC5\uCCC7\uCCC9\uCCD0\uCCD4\uCCE4\uCCEC\uCCF0\uCD01\uCD08\uCD09\uCD0C\uCD10\uCD18\uCD19\uCD1B\uCD1D\uCD24\uCD28\uCD2C\uCD39\uCD5C\uCD60\uCD64\uCD6C\uCD6D\uCD6F\uCD71\uCD78\uCD88\uCD94\uCD95\uCD98\uCD9C\uCDA4\uCDA5\uCDA7\uCDA9\uCDB0\uCDC4\uCDCC\uCDD0\uCDE8\uCDEC\uCDF0\uCDF8\uCDF9\uCDFB\uCDFD\uCE04\uCE08\uCE0C\uCE14\uCE19\uCE20\uCE21\uCE24\uCE28\uCE30\uCE31\uCE33\uCE35"],["c441","\uD6AB\uD6AD\uD6AE\uD6AF\uD6B1",7,"\uD6BA\uD6BC",7,"\uD6C6\uD6C7\uD6C9\uD6CA\uD6CB"],["c461","\uD6CD\uD6CE\uD6CF\uD6D0\uD6D2\uD6D3\uD6D5\uD6D6\uD6D8\uD6DA",5,"\uD6E1\uD6E2\uD6E3\uD6E5\uD6E6\uD6E7\uD6E9",4],["c481","\uD6EE\uD6EF\uD6F1\uD6F2\uD6F3\uD6F4\uD6F6",5,"\uD6FE\uD6FF\uD701\uD702\uD703\uD705",11,"\uD712\uD713\uD714\uCE58\uCE59\uCE5C\uCE5F\uCE60\uCE61\uCE68\uCE69\uCE6B\uCE6D\uCE74\uCE75\uCE78\uCE7C\uCE84\uCE85\uCE87\uCE89\uCE90\uCE91\uCE94\uCE98\uCEA0\uCEA1\uCEA3\uCEA4\uCEA5\uCEAC\uCEAD\uCEC1\uCEE4\uCEE5\uCEE8\uCEEB\uCEEC\uCEF4\uCEF5\uCEF7\uCEF8\uCEF9\uCF00\uCF01\uCF04\uCF08\uCF10\uCF11\uCF13\uCF15\uCF1C\uCF20\uCF24\uCF2C\uCF2D\uCF2F\uCF30\uCF31\uCF38\uCF54\uCF55\uCF58\uCF5C\uCF64\uCF65\uCF67\uCF69\uCF70\uCF71\uCF74\uCF78\uCF80\uCF85\uCF8C\uCFA1\uCFA8\uCFB0\uCFC4\uCFE0\uCFE1\uCFE4\uCFE8\uCFF0\uCFF1\uCFF3\uCFF5\uCFFC\uD000\uD004\uD011\uD018\uD02D\uD034\uD035\uD038\uD03C"],["c541","\uD715\uD716\uD717\uD71A\uD71B\uD71D\uD71E\uD71F\uD721",6,"\uD72A\uD72C\uD72E",5,"\uD736\uD737\uD739"],["c561","\uD73A\uD73B\uD73D",6,"\uD745\uD746\uD748\uD74A",5,"\uD752\uD753\uD755\uD75A",4],["c581","\uD75F\uD762\uD764\uD766\uD767\uD768\uD76A\uD76B\uD76D\uD76E\uD76F\uD771\uD772\uD773\uD775",6,"\uD77E\uD77F\uD780\uD782",5,"\uD78A\uD78B\uD044\uD045\uD047\uD049\uD050\uD054\uD058\uD060\uD06C\uD06D\uD070\uD074\uD07C\uD07D\uD081\uD0A4\uD0A5\uD0A8\uD0AC\uD0B4\uD0B5\uD0B7\uD0B9\uD0C0\uD0C1\uD0C4\uD0C8\uD0C9\uD0D0\uD0D1\uD0D3\uD0D4\uD0D5\uD0DC\uD0DD\uD0E0\uD0E4\uD0EC\uD0ED\uD0EF\uD0F0\uD0F1\uD0F8\uD10D\uD130\uD131\uD134\uD138\uD13A\uD140\uD141\uD143\uD144\uD145\uD14C\uD14D\uD150\uD154\uD15C\uD15D\uD15F\uD161\uD168\uD16C\uD17C\uD184\uD188\uD1A0\uD1A1\uD1A4\uD1A8\uD1B0\uD1B1\uD1B3\uD1B5\uD1BA\uD1BC\uD1C0\uD1D8\uD1F4\uD1F8\uD207\uD209\uD210\uD22C\uD22D\uD230\uD234\uD23C\uD23D\uD23F\uD241\uD248\uD25C"],["c641","\uD78D\uD78E\uD78F\uD791",6,"\uD79A\uD79C\uD79E",5],["c6a1","\uD264\uD280\uD281\uD284\uD288\uD290\uD291\uD295\uD29C\uD2A0\uD2A4\uD2AC\uD2B1\uD2B8\uD2B9\uD2BC\uD2BF\uD2C0\uD2C2\uD2C8\uD2C9\uD2CB\uD2D4\uD2D8\uD2DC\uD2E4\uD2E5\uD2F0\uD2F1\uD2F4\uD2F8\uD300\uD301\uD303\uD305\uD30C\uD30D\uD30E\uD310\uD314\uD316\uD31C\uD31D\uD31F\uD320\uD321\uD325\uD328\uD329\uD32C\uD330\uD338\uD339\uD33B\uD33C\uD33D\uD344\uD345\uD37C\uD37D\uD380\uD384\uD38C\uD38D\uD38F\uD390\uD391\uD398\uD399\uD39C\uD3A0\uD3A8\uD3A9\uD3AB\uD3AD\uD3B4\uD3B8\uD3BC\uD3C4\uD3C5\uD3C8\uD3C9\uD3D0\uD3D8\uD3E1\uD3E3\uD3EC\uD3ED\uD3F0\uD3F4\uD3FC\uD3FD\uD3FF\uD401"],["c7a1","\uD408\uD41D\uD440\uD444\uD45C\uD460\uD464\uD46D\uD46F\uD478\uD479\uD47C\uD47F\uD480\uD482\uD488\uD489\uD48B\uD48D\uD494\uD4A9\uD4CC\uD4D0\uD4D4\uD4DC\uD4DF\uD4E8\uD4EC\uD4F0\uD4F8\uD4FB\uD4FD\uD504\uD508\uD50C\uD514\uD515\uD517\uD53C\uD53D\uD540\uD544\uD54C\uD54D\uD54F\uD551\uD558\uD559\uD55C\uD560\uD565\uD568\uD569\uD56B\uD56D\uD574\uD575\uD578\uD57C\uD584\uD585\uD587\uD588\uD589\uD590\uD5A5\uD5C8\uD5C9\uD5CC\uD5D0\uD5D2\uD5D8\uD5D9\uD5DB\uD5DD\uD5E4\uD5E5\uD5E8\uD5EC\uD5F4\uD5F5\uD5F7\uD5F9\uD600\uD601\uD604\uD608\uD610\uD611\uD613\uD614\uD615\uD61C\uD620"],["c8a1","\uD624\uD62D\uD638\uD639\uD63C\uD640\uD645\uD648\uD649\uD64B\uD64D\uD651\uD654\uD655\uD658\uD65C\uD667\uD669\uD670\uD671\uD674\uD683\uD685\uD68C\uD68D\uD690\uD694\uD69D\uD69F\uD6A1\uD6A8\uD6AC\uD6B0\uD6B9\uD6BB\uD6C4\uD6C5\uD6C8\uD6CC\uD6D1\uD6D4\uD6D7\uD6D9\uD6E0\uD6E4\uD6E8\uD6F0\uD6F5\uD6FC\uD6FD\uD700\uD704\uD711\uD718\uD719\uD71C\uD720\uD728\uD729\uD72B\uD72D\uD734\uD735\uD738\uD73C\uD744\uD747\uD749\uD750\uD751\uD754\uD756\uD757\uD758\uD759\uD760\uD761\uD763\uD765\uD769\uD76C\uD770\uD774\uD77C\uD77D\uD781\uD788\uD789\uD78C\uD790\uD798\uD799\uD79B\uD79D"],["caa1","\u4F3D\u4F73\u5047\u50F9\u52A0\u53EF\u5475\u54E5\u5609\u5AC1\u5BB6\u6687\u67B6\u67B7\u67EF\u6B4C\u73C2\u75C2\u7A3C\u82DB\u8304\u8857\u8888\u8A36\u8CC8\u8DCF\u8EFB\u8FE6\u99D5\u523B\u5374\u5404\u606A\u6164\u6BBC\u73CF\u811A\u89BA\u89D2\u95A3\u4F83\u520A\u58BE\u5978\u59E6\u5E72\u5E79\u61C7\u63C0\u6746\u67EC\u687F\u6F97\u764E\u770B\u78F5\u7A08\u7AFF\u7C21\u809D\u826E\u8271\u8AEB\u9593\u4E6B\u559D\u66F7\u6E34\u78A3\u7AED\u845B\u8910\u874E\u97A8\u52D8\u574E\u582A\u5D4C\u611F\u61BE\u6221\u6562\u67D1\u6A44\u6E1B\u7518\u75B3\u76E3\u77B0\u7D3A\u90AF\u9451\u9452\u9F95"],["cba1","\u5323\u5CAC\u7532\u80DB\u9240\u9598\u525B\u5808\u59DC\u5CA1\u5D17\u5EB7\u5F3A\u5F4A\u6177\u6C5F\u757A\u7586\u7CE0\u7D73\u7DB1\u7F8C\u8154\u8221\u8591\u8941\u8B1B\u92FC\u964D\u9C47\u4ECB\u4EF7\u500B\u51F1\u584F\u6137\u613E\u6168\u6539\u69EA\u6F11\u75A5\u7686\u76D6\u7B87\u82A5\u84CB\uF900\u93A7\u958B\u5580\u5BA2\u5751\uF901\u7CB3\u7FB9\u91B5\u5028\u53BB\u5C45\u5DE8\u62D2\u636E\u64DA\u64E7\u6E20\u70AC\u795B\u8DDD\u8E1E\uF902\u907D\u9245\u92F8\u4E7E\u4EF6\u5065\u5DFE\u5EFA\u6106\u6957\u8171\u8654\u8E47\u9375\u9A2B\u4E5E\u5091\u6770\u6840\u5109\u528D\u5292\u6AA2"],["cca1","\u77BC\u9210\u9ED4\u52AB\u602F\u8FF2\u5048\u61A9\u63ED\u64CA\u683C\u6A84\u6FC0\u8188\u89A1\u9694\u5805\u727D\u72AC\u7504\u7D79\u7E6D\u80A9\u898B\u8B74\u9063\u9D51\u6289\u6C7A\u6F54\u7D50\u7F3A\u8A23\u517C\u614A\u7B9D\u8B19\u9257\u938C\u4EAC\u4FD3\u501E\u50BE\u5106\u52C1\u52CD\u537F\u5770\u5883\u5E9A\u5F91\u6176\u61AC\u64CE\u656C\u666F\u66BB\u66F4\u6897\u6D87\u7085\u70F1\u749F\u74A5\u74CA\u75D9\u786C\u78EC\u7ADF\u7AF6\u7D45\u7D93\u8015\u803F\u811B\u8396\u8B66\u8F15\u9015\u93E1\u9803\u9838\u9A5A\u9BE8\u4FC2\u5553\u583A\u5951\u5B63\u5C46\u60B8\u6212\u6842\u68B0"],["cda1","\u68E8\u6EAA\u754C\u7678\u78CE\u7A3D\u7CFB\u7E6B\u7E7C\u8A08\u8AA1\u8C3F\u968E\u9DC4\u53E4\u53E9\u544A\u5471\u56FA\u59D1\u5B64\u5C3B\u5EAB\u62F7\u6537\u6545\u6572\u66A0\u67AF\u69C1\u6CBD\u75FC\u7690\u777E\u7A3F\u7F94\u8003\u80A1\u818F\u82E6\u82FD\u83F0\u85C1\u8831\u88B4\u8AA5\uF903\u8F9C\u932E\u96C7\u9867\u9AD8\u9F13\u54ED\u659B\u66F2\u688F\u7A40\u8C37\u9D60\u56F0\u5764\u5D11\u6606\u68B1\u68CD\u6EFE\u7428\u889E\u9BE4\u6C68\uF904\u9AA8\u4F9B\u516C\u5171\u529F\u5B54\u5DE5\u6050\u606D\u62F1\u63A7\u653B\u73D9\u7A7A\u86A3\u8CA2\u978F\u4E32\u5BE1\u6208\u679C\u74DC"],["cea1","\u79D1\u83D3\u8A87\u8AB2\u8DE8\u904E\u934B\u9846\u5ED3\u69E8\u85FF\u90ED\uF905\u51A0\u5B98\u5BEC\u6163\u68FA\u6B3E\u704C\u742F\u74D8\u7BA1\u7F50\u83C5\u89C0\u8CAB\u95DC\u9928\u522E\u605D\u62EC\u9002\u4F8A\u5149\u5321\u58D9\u5EE3\u66E0\u6D38\u709A\u72C2\u73D6\u7B50\u80F1\u945B\u5366\u639B\u7F6B\u4E56\u5080\u584A\u58DE\u602A\u6127\u62D0\u69D0\u9B41\u5B8F\u7D18\u80B1\u8F5F\u4EA4\u50D1\u54AC\u55AC\u5B0C\u5DA0\u5DE7\u652A\u654E\u6821\u6A4B\u72E1\u768E\u77EF\u7D5E\u7FF9\u81A0\u854E\u86DF\u8F03\u8F4E\u90CA\u9903\u9A55\u9BAB\u4E18\u4E45\u4E5D\u4EC7\u4FF1\u5177\u52FE"],["cfa1","\u5340\u53E3\u53E5\u548E\u5614\u5775\u57A2\u5BC7\u5D87\u5ED0\u61FC\u62D8\u6551\u67B8\u67E9\u69CB\u6B50\u6BC6\u6BEC\u6C42\u6E9D\u7078\u72D7\u7396\u7403\u77BF\u77E9\u7A76\u7D7F\u8009\u81FC\u8205\u820A\u82DF\u8862\u8B33\u8CFC\u8EC0\u9011\u90B1\u9264\u92B6\u99D2\u9A45\u9CE9\u9DD7\u9F9C\u570B\u5C40\u83CA\u97A0\u97AB\u9EB4\u541B\u7A98\u7FA4\u88D9\u8ECD\u90E1\u5800\u5C48\u6398\u7A9F\u5BAE\u5F13\u7A79\u7AAE\u828E\u8EAC\u5026\u5238\u52F8\u5377\u5708\u62F3\u6372\u6B0A\u6DC3\u7737\u53A5\u7357\u8568\u8E76\u95D5\u673A\u6AC3\u6F70\u8A6D\u8ECC\u994B\uF906\u6677\u6B78\u8CB4"],["d0a1","\u9B3C\uF907\u53EB\u572D\u594E\u63C6\u69FB\u73EA\u7845\u7ABA\u7AC5\u7CFE\u8475\u898F\u8D73\u9035\u95A8\u52FB\u5747\u7547\u7B60\u83CC\u921E\uF908\u6A58\u514B\u524B\u5287\u621F\u68D8\u6975\u9699\u50C5\u52A4\u52E4\u61C3\u65A4\u6839\u69FF\u747E\u7B4B\u82B9\u83EB\u89B2\u8B39\u8FD1\u9949\uF909\u4ECA\u5997\u64D2\u6611\u6A8E\u7434\u7981\u79BD\u82A9\u887E\u887F\u895F\uF90A\u9326\u4F0B\u53CA\u6025\u6271\u6C72\u7D1A\u7D66\u4E98\u5162\u77DC\u80AF\u4F01\u4F0E\u5176\u5180\u55DC\u5668\u573B\u57FA\u57FC\u5914\u5947\u5993\u5BC4\u5C90\u5D0E\u5DF1\u5E7E\u5FCC\u6280\u65D7\u65E3"],["d1a1","\u671E\u671F\u675E\u68CB\u68C4\u6A5F\u6B3A\u6C23\u6C7D\u6C82\u6DC7\u7398\u7426\u742A\u7482\u74A3\u7578\u757F\u7881\u78EF\u7941\u7947\u7948\u797A\u7B95\u7D00\u7DBA\u7F88\u8006\u802D\u808C\u8A18\u8B4F\u8C48\u8D77\u9321\u9324\u98E2\u9951\u9A0E\u9A0F\u9A65\u9E92\u7DCA\u4F76\u5409\u62EE\u6854\u91D1\u55AB\u513A\uF90B\uF90C\u5A1C\u61E6\uF90D\u62CF\u62FF\uF90E",5,"\u90A3\uF914",4,"\u8AFE\uF919\uF91A\uF91B\uF91C\u6696\uF91D\u7156\uF91E\uF91F\u96E3\uF920\u634F\u637A\u5357\uF921\u678F\u6960\u6E73\uF922\u7537\uF923\uF924\uF925"],["d2a1","\u7D0D\uF926\uF927\u8872\u56CA\u5A18\uF928",4,"\u4E43\uF92D\u5167\u5948\u67F0\u8010\uF92E\u5973\u5E74\u649A\u79CA\u5FF5\u606C\u62C8\u637B\u5BE7\u5BD7\u52AA\uF92F\u5974\u5F29\u6012\uF930\uF931\uF932\u7459\uF933",5,"\u99D1\uF939",10,"\u6FC3\uF944\uF945\u81BF\u8FB2\u60F1\uF946\uF947\u8166\uF948\uF949\u5C3F\uF94A",7,"\u5AE9\u8A25\u677B\u7D10\uF952",5,"\u80FD\uF958\uF959\u5C3C\u6CE5\u533F\u6EBA\u591A\u8336"],["d3a1","\u4E39\u4EB6\u4F46\u55AE\u5718\u58C7\u5F56\u65B7\u65E6\u6A80\u6BB5\u6E4D\u77ED\u7AEF\u7C1E\u7DDE\u86CB\u8892\u9132\u935B\u64BB\u6FBE\u737A\u75B8\u9054\u5556\u574D\u61BA\u64D4\u66C7\u6DE1\u6E5B\u6F6D\u6FB9\u75F0\u8043\u81BD\u8541\u8983\u8AC7\u8B5A\u931F\u6C93\u7553\u7B54\u8E0F\u905D\u5510\u5802\u5858\u5E62\u6207\u649E\u68E0\u7576\u7CD6\u87B3\u9EE8\u4EE3\u5788\u576E\u5927\u5C0D\u5CB1\u5E36\u5F85\u6234\u64E1\u73B3\u81FA\u888B\u8CB8\u968A\u9EDB\u5B85\u5FB7\u60B3\u5012\u5200\u5230\u5716\u5835\u5857\u5C0E\u5C60\u5CF6\u5D8B\u5EA6\u5F92\u60BC\u6311\u6389\u6417\u6843"],["d4a1","\u68F9\u6AC2\u6DD8\u6E21\u6ED4\u6FE4\u71FE\u76DC\u7779\u79B1\u7A3B\u8404\u89A9\u8CED\u8DF3\u8E48\u9003\u9014\u9053\u90FD\u934D\u9676\u97DC\u6BD2\u7006\u7258\u72A2\u7368\u7763\u79BF\u7BE4\u7E9B\u8B80\u58A9\u60C7\u6566\u65FD\u66BE\u6C8C\u711E\u71C9\u8C5A\u9813\u4E6D\u7A81\u4EDD\u51AC\u51CD\u52D5\u540C\u61A7\u6771\u6850\u68DF\u6D1E\u6F7C\u75BC\u77B3\u7AE5\u80F4\u8463\u9285\u515C\u6597\u675C\u6793\u75D8\u7AC7\u8373\uF95A\u8C46\u9017\u982D\u5C6F\u81C0\u829A\u9041\u906F\u920D\u5F97\u5D9D\u6A59\u71C8\u767B\u7B49\u85E4\u8B04\u9127\u9A30\u5587\u61F6\uF95B\u7669\u7F85"],["d5a1","\u863F\u87BA\u88F8\u908F\uF95C\u6D1B\u70D9\u73DE\u7D61\u843D\uF95D\u916A\u99F1\uF95E\u4E82\u5375\u6B04\u6B12\u703E\u721B\u862D\u9E1E\u524C\u8FA3\u5D50\u64E5\u652C\u6B16\u6FEB\u7C43\u7E9C\u85CD\u8964\u89BD\u62C9\u81D8\u881F\u5ECA\u6717\u6D6A\u72FC\u7405\u746F\u8782\u90DE\u4F86\u5D0D\u5FA0\u840A\u51B7\u63A0\u7565\u4EAE\u5006\u5169\u51C9\u6881\u6A11\u7CAE\u7CB1\u7CE7\u826F\u8AD2\u8F1B\u91CF\u4FB6\u5137\u52F5\u5442\u5EEC\u616E\u623E\u65C5\u6ADA\u6FFE\u792A\u85DC\u8823\u95AD\u9A62\u9A6A\u9E97\u9ECE\u529B\u66C6\u6B77\u701D\u792B\u8F62\u9742\u6190\u6200\u6523\u6F23"],["d6a1","\u7149\u7489\u7DF4\u806F\u84EE\u8F26\u9023\u934A\u51BD\u5217\u52A3\u6D0C\u70C8\u88C2\u5EC9\u6582\u6BAE\u6FC2\u7C3E\u7375\u4EE4\u4F36\u56F9\uF95F\u5CBA\u5DBA\u601C\u73B2\u7B2D\u7F9A\u7FCE\u8046\u901E\u9234\u96F6\u9748\u9818\u9F61\u4F8B\u6FA7\u79AE\u91B4\u96B7\u52DE\uF960\u6488\u64C4\u6AD3\u6F5E\u7018\u7210\u76E7\u8001\u8606\u865C\u8DEF\u8F05\u9732\u9B6F\u9DFA\u9E75\u788C\u797F\u7DA0\u83C9\u9304\u9E7F\u9E93\u8AD6\u58DF\u5F04\u6727\u7027\u74CF\u7C60\u807E\u5121\u7028\u7262\u78CA\u8CC2\u8CDA\u8CF4\u96F7\u4E86\u50DA\u5BEE\u5ED6\u6599\u71CE\u7642\u77AD\u804A\u84FC"],["d7a1","\u907C\u9B27\u9F8D\u58D8\u5A41\u5C62\u6A13\u6DDA\u6F0F\u763B\u7D2F\u7E37\u851E\u8938\u93E4\u964B\u5289\u65D2\u67F3\u69B4\u6D41\u6E9C\u700F\u7409\u7460\u7559\u7624\u786B\u8B2C\u985E\u516D\u622E\u9678\u4F96\u502B\u5D19\u6DEA\u7DB8\u8F2A\u5F8B\u6144\u6817\uF961\u9686\u52D2\u808B\u51DC\u51CC\u695E\u7A1C\u7DBE\u83F1\u9675\u4FDA\u5229\u5398\u540F\u550E\u5C65\u60A7\u674E\u68A8\u6D6C\u7281\u72F8\u7406\u7483\uF962\u75E2\u7C6C\u7F79\u7FB8\u8389\u88CF\u88E1\u91CC\u91D0\u96E2\u9BC9\u541D\u6F7E\u71D0\u7498\u85FA\u8EAA\u96A3\u9C57\u9E9F\u6797\u6DCB\u7433\u81E8\u9716\u782C"],["d8a1","\u7ACB\u7B20\u7C92\u6469\u746A\u75F2\u78BC\u78E8\u99AC\u9B54\u9EBB\u5BDE\u5E55\u6F20\u819C\u83AB\u9088\u4E07\u534D\u5A29\u5DD2\u5F4E\u6162\u633D\u6669\u66FC\u6EFF\u6F2B\u7063\u779E\u842C\u8513\u883B\u8F13\u9945\u9C3B\u551C\u62B9\u672B\u6CAB\u8309\u896A\u977A\u4EA1\u5984\u5FD8\u5FD9\u671B\u7DB2\u7F54\u8292\u832B\u83BD\u8F1E\u9099\u57CB\u59B9\u5A92\u5BD0\u6627\u679A\u6885\u6BCF\u7164\u7F75\u8CB7\u8CE3\u9081\u9B45\u8108\u8C8A\u964C\u9A40\u9EA5\u5B5F\u6C13\u731B\u76F2\u76DF\u840C\u51AA\u8993\u514D\u5195\u52C9\u68C9\u6C94\u7704\u7720\u7DBF\u7DEC\u9762\u9EB5\u6EC5"],["d9a1","\u8511\u51A5\u540D\u547D\u660E\u669D\u6927\u6E9F\u76BF\u7791\u8317\u84C2\u879F\u9169\u9298\u9CF4\u8882\u4FAE\u5192\u52DF\u59C6\u5E3D\u6155\u6478\u6479\u66AE\u67D0\u6A21\u6BCD\u6BDB\u725F\u7261\u7441\u7738\u77DB\u8017\u82BC\u8305\u8B00\u8B28\u8C8C\u6728\u6C90\u7267\u76EE\u7766\u7A46\u9DA9\u6B7F\u6C92\u5922\u6726\u8499\u536F\u5893\u5999\u5EDF\u63CF\u6634\u6773\u6E3A\u732B\u7AD7\u82D7\u9328\u52D9\u5DEB\u61AE\u61CB\u620A\u62C7\u64AB\u65E0\u6959\u6B66\u6BCB\u7121\u73F7\u755D\u7E46\u821E\u8302\u856A\u8AA3\u8CBF\u9727\u9D61\u58A8\u9ED8\u5011\u520E\u543B\u554F\u6587"],["daa1","\u6C76\u7D0A\u7D0B\u805E\u868A\u9580\u96EF\u52FF\u6C95\u7269\u5473\u5A9A\u5C3E\u5D4B\u5F4C\u5FAE\u672A\u68B6\u6963\u6E3C\u6E44\u7709\u7C73\u7F8E\u8587\u8B0E\u8FF7\u9761\u9EF4\u5CB7\u60B6\u610D\u61AB\u654F\u65FB\u65FC\u6C11\u6CEF\u739F\u73C9\u7DE1\u9594\u5BC6\u871C\u8B10\u525D\u535A\u62CD\u640F\u64B2\u6734\u6A38\u6CCA\u73C0\u749E\u7B94\u7C95\u7E1B\u818A\u8236\u8584\u8FEB\u96F9\u99C1\u4F34\u534A\u53CD\u53DB\u62CC\u642C\u6500\u6591\u69C3\u6CEE\u6F58\u73ED\u7554\u7622\u76E4\u76FC\u78D0\u78FB\u792C\u7D46\u822C\u87E0\u8FD4\u9812\u98EF\u52C3\u62D4\u64A5\u6E24\u6F51"],["dba1","\u767C\u8DCB\u91B1\u9262\u9AEE\u9B43\u5023\u508D\u574A\u59A8\u5C28\u5E47\u5F77\u623F\u653E\u65B9\u65C1\u6609\u678B\u699C\u6EC2\u78C5\u7D21\u80AA\u8180\u822B\u82B3\u84A1\u868C\u8A2A\u8B17\u90A6\u9632\u9F90\u500D\u4FF3\uF963\u57F9\u5F98\u62DC\u6392\u676F\u6E43\u7119\u76C3\u80CC\u80DA\u88F4\u88F5\u8919\u8CE0\u8F29\u914D\u966A\u4F2F\u4F70\u5E1B\u67CF\u6822\u767D\u767E\u9B44\u5E61\u6A0A\u7169\u71D4\u756A\uF964\u7E41\u8543\u85E9\u98DC\u4F10\u7B4F\u7F70\u95A5\u51E1\u5E06\u68B5\u6C3E\u6C4E\u6CDB\u72AF\u7BC4\u8303\u6CD5\u743A\u50FB\u5288\u58C1\u64D8\u6A97\u74A7\u7656"],["dca1","\u78A7\u8617\u95E2\u9739\uF965\u535E\u5F01\u8B8A\u8FA8\u8FAF\u908A\u5225\u77A5\u9C49\u9F08\u4E19\u5002\u5175\u5C5B\u5E77\u661E\u663A\u67C4\u68C5\u70B3\u7501\u75C5\u79C9\u7ADD\u8F27\u9920\u9A08\u4FDD\u5821\u5831\u5BF6\u666E\u6B65\u6D11\u6E7A\u6F7D\u73E4\u752B\u83E9\u88DC\u8913\u8B5C\u8F14\u4F0F\u50D5\u5310\u535C\u5B93\u5FA9\u670D\u798F\u8179\u832F\u8514\u8907\u8986\u8F39\u8F3B\u99A5\u9C12\u672C\u4E76\u4FF8\u5949\u5C01\u5CEF\u5CF0\u6367\u68D2\u70FD\u71A2\u742B\u7E2B\u84EC\u8702\u9022\u92D2\u9CF3\u4E0D\u4ED8\u4FEF\u5085\u5256\u526F\u5426\u5490\u57E0\u592B\u5A66"],["dda1","\u5B5A\u5B75\u5BCC\u5E9C\uF966\u6276\u6577\u65A7\u6D6E\u6EA5\u7236\u7B26\u7C3F\u7F36\u8150\u8151\u819A\u8240\u8299\u83A9\u8A03\u8CA0\u8CE6\u8CFB\u8D74\u8DBA\u90E8\u91DC\u961C\u9644\u99D9\u9CE7\u5317\u5206\u5429\u5674\u58B3\u5954\u596E\u5FFF\u61A4\u626E\u6610\u6C7E\u711A\u76C6\u7C89\u7CDE\u7D1B\u82AC\u8CC1\u96F0\uF967\u4F5B\u5F17\u5F7F\u62C2\u5D29\u670B\u68DA\u787C\u7E43\u9D6C\u4E15\u5099\u5315\u532A\u5351\u5983\u5A62\u5E87\u60B2\u618A\u6249\u6279\u6590\u6787\u69A7\u6BD4\u6BD6\u6BD7\u6BD8\u6CB8\uF968\u7435\u75FA\u7812\u7891\u79D5\u79D8\u7C83\u7DCB\u7FE1\u80A5"],["dea1","\u813E\u81C2\u83F2\u871A\u88E8\u8AB9\u8B6C\u8CBB\u9119\u975E\u98DB\u9F3B\u56AC\u5B2A\u5F6C\u658C\u6AB3\u6BAF\u6D5C\u6FF1\u7015\u725D\u73AD\u8CA7\u8CD3\u983B\u6191\u6C37\u8058\u9A01\u4E4D\u4E8B\u4E9B\u4ED5\u4F3A\u4F3C\u4F7F\u4FDF\u50FF\u53F2\u53F8\u5506\u55E3\u56DB\u58EB\u5962\u5A11\u5BEB\u5BFA\u5C04\u5DF3\u5E2B\u5F99\u601D\u6368\u659C\u65AF\u67F6\u67FB\u68AD\u6B7B\u6C99\u6CD7\u6E23\u7009\u7345\u7802\u793E\u7940\u7960\u79C1\u7BE9\u7D17\u7D72\u8086\u820D\u838E\u84D1\u86C7\u88DF\u8A50\u8A5E\u8B1D\u8CDC\u8D66\u8FAD\u90AA\u98FC\u99DF\u9E9D\u524A\uF969\u6714\uF96A"],["dfa1","\u5098\u522A\u5C71\u6563\u6C55\u73CA\u7523\u759D\u7B97\u849C\u9178\u9730\u4E77\u6492\u6BBA\u715E\u85A9\u4E09\uF96B\u6749\u68EE\u6E17\u829F\u8518\u886B\u63F7\u6F81\u9212\u98AF\u4E0A\u50B7\u50CF\u511F\u5546\u55AA\u5617\u5B40\u5C19\u5CE0\u5E38\u5E8A\u5EA0\u5EC2\u60F3\u6851\u6A61\u6E58\u723D\u7240\u72C0\u76F8\u7965\u7BB1\u7FD4\u88F3\u89F4\u8A73\u8C61\u8CDE\u971C\u585E\u74BD\u8CFD\u55C7\uF96C\u7A61\u7D22\u8272\u7272\u751F\u7525\uF96D\u7B19\u5885\u58FB\u5DBC\u5E8F\u5EB6\u5F90\u6055\u6292\u637F\u654D\u6691\u66D9\u66F8\u6816\u68F2\u7280\u745E\u7B6E\u7D6E\u7DD6\u7F72"],["e0a1","\u80E5\u8212\u85AF\u897F\u8A93\u901D\u92E4\u9ECD\u9F20\u5915\u596D\u5E2D\u60DC\u6614\u6673\u6790\u6C50\u6DC5\u6F5F\u77F3\u78A9\u84C6\u91CB\u932B\u4ED9\u50CA\u5148\u5584\u5B0B\u5BA3\u6247\u657E\u65CB\u6E32\u717D\u7401\u7444\u7487\u74BF\u766C\u79AA\u7DDA\u7E55\u7FA8\u817A\u81B3\u8239\u861A\u87EC\u8A75\u8DE3\u9078\u9291\u9425\u994D\u9BAE\u5368\u5C51\u6954\u6CC4\u6D29\u6E2B\u820C\u859B\u893B\u8A2D\u8AAA\u96EA\u9F67\u5261\u66B9\u6BB2\u7E96\u87FE\u8D0D\u9583\u965D\u651D\u6D89\u71EE\uF96E\u57CE\u59D3\u5BAC\u6027\u60FA\u6210\u661F\u665F\u7329\u73F9\u76DB\u7701\u7B6C"],["e1a1","\u8056\u8072\u8165\u8AA0\u9192\u4E16\u52E2\u6B72\u6D17\u7A05\u7B39\u7D30\uF96F\u8CB0\u53EC\u562F\u5851\u5BB5\u5C0F\u5C11\u5DE2\u6240\u6383\u6414\u662D\u68B3\u6CBC\u6D88\u6EAF\u701F\u70A4\u71D2\u7526\u758F\u758E\u7619\u7B11\u7BE0\u7C2B\u7D20\u7D39\u852C\u856D\u8607\u8A34\u900D\u9061\u90B5\u92B7\u97F6\u9A37\u4FD7\u5C6C\u675F\u6D91\u7C9F\u7E8C\u8B16\u8D16\u901F\u5B6B\u5DFD\u640D\u84C0\u905C\u98E1\u7387\u5B8B\u609A\u677E\u6DDE\u8A1F\u8AA6\u9001\u980C\u5237\uF970\u7051\u788E\u9396\u8870\u91D7\u4FEE\u53D7\u55FD\u56DA\u5782\u58FD\u5AC2\u5B88\u5CAB\u5CC0\u5E25\u6101"],["e2a1","\u620D\u624B\u6388\u641C\u6536\u6578\u6A39\u6B8A\u6C34\u6D19\u6F31\u71E7\u72E9\u7378\u7407\u74B2\u7626\u7761\u79C0\u7A57\u7AEA\u7CB9\u7D8F\u7DAC\u7E61\u7F9E\u8129\u8331\u8490\u84DA\u85EA\u8896\u8AB0\u8B90\u8F38\u9042\u9083\u916C\u9296\u92B9\u968B\u96A7\u96A8\u96D6\u9700\u9808\u9996\u9AD3\u9B1A\u53D4\u587E\u5919\u5B70\u5BBF\u6DD1\u6F5A\u719F\u7421\u74B9\u8085\u83FD\u5DE1\u5F87\u5FAA\u6042\u65EC\u6812\u696F\u6A53\u6B89\u6D35\u6DF3\u73E3\u76FE\u77AC\u7B4D\u7D14\u8123\u821C\u8340\u84F4\u8563\u8A62\u8AC4\u9187\u931E\u9806\u99B4\u620C\u8853\u8FF0\u9265\u5D07\u5D27"],["e3a1","\u5D69\u745F\u819D\u8768\u6FD5\u62FE\u7FD2\u8936\u8972\u4E1E\u4E58\u50E7\u52DD\u5347\u627F\u6607\u7E69\u8805\u965E\u4F8D\u5319\u5636\u59CB\u5AA4\u5C38\u5C4E\u5C4D\u5E02\u5F11\u6043\u65BD\u662F\u6642\u67BE\u67F4\u731C\u77E2\u793A\u7FC5\u8494\u84CD\u8996\u8A66\u8A69\u8AE1\u8C55\u8C7A\u57F4\u5BD4\u5F0F\u606F\u62ED\u690D\u6B96\u6E5C\u7184\u7BD2\u8755\u8B58\u8EFE\u98DF\u98FE\u4F38\u4F81\u4FE1\u547B\u5A20\u5BB8\u613C\u65B0\u6668\u71FC\u7533\u795E\u7D33\u814E\u81E3\u8398\u85AA\u85CE\u8703\u8A0A\u8EAB\u8F9B\uF971\u8FC5\u5931\u5BA4\u5BE6\u6089\u5BE9\u5C0B\u5FC3\u6C81"],["e4a1","\uF972\u6DF1\u700B\u751A\u82AF\u8AF6\u4EC0\u5341\uF973\u96D9\u6C0F\u4E9E\u4FC4\u5152\u555E\u5A25\u5CE8\u6211\u7259\u82BD\u83AA\u86FE\u8859\u8A1D\u963F\u96C5\u9913\u9D09\u9D5D\u580A\u5CB3\u5DBD\u5E44\u60E1\u6115\u63E1\u6A02\u6E25\u9102\u9354\u984E\u9C10\u9F77\u5B89\u5CB8\u6309\u664F\u6848\u773C\u96C1\u978D\u9854\u9B9F\u65A1\u8B01\u8ECB\u95BC\u5535\u5CA9\u5DD6\u5EB5\u6697\u764C\u83F4\u95C7\u58D3\u62BC\u72CE\u9D28\u4EF0\u592E\u600F\u663B\u6B83\u79E7\u9D26\u5393\u54C0\u57C3\u5D16\u611B\u66D6\u6DAF\u788D\u827E\u9698\u9744\u5384\u627C\u6396\u6DB2\u7E0A\u814B\u984D"],["e5a1","\u6AFB\u7F4C\u9DAF\u9E1A\u4E5F\u503B\u51B6\u591C\u60F9\u63F6\u6930\u723A\u8036\uF974\u91CE\u5F31\uF975\uF976\u7D04\u82E5\u846F\u84BB\u85E5\u8E8D\uF977\u4F6F\uF978\uF979\u58E4\u5B43\u6059\u63DA\u6518\u656D\u6698\uF97A\u694A\u6A23\u6D0B\u7001\u716C\u75D2\u760D\u79B3\u7A70\uF97B\u7F8A\uF97C\u8944\uF97D\u8B93\u91C0\u967D\uF97E\u990A\u5704\u5FA1\u65BC\u6F01\u7600\u79A6\u8A9E\u99AD\u9B5A\u9F6C\u5104\u61B6\u6291\u6A8D\u81C6\u5043\u5830\u5F66\u7109\u8A00\u8AFA\u5B7C\u8616\u4FFA\u513C\u56B4\u5944\u63A9\u6DF9\u5DAA\u696D\u5186\u4E88\u4F59\uF97F\uF980\uF981\u5982\uF982"],["e6a1","\uF983\u6B5F\u6C5D\uF984\u74B5\u7916\uF985\u8207\u8245\u8339\u8F3F\u8F5D\uF986\u9918\uF987\uF988\uF989\u4EA6\uF98A\u57DF\u5F79\u6613\uF98B\uF98C\u75AB\u7E79\u8B6F\uF98D\u9006\u9A5B\u56A5\u5827\u59F8\u5A1F\u5BB4\uF98E\u5EF6\uF98F\uF990\u6350\u633B\uF991\u693D\u6C87\u6CBF\u6D8E\u6D93\u6DF5\u6F14\uF992\u70DF\u7136\u7159\uF993\u71C3\u71D5\uF994\u784F\u786F\uF995\u7B75\u7DE3\uF996\u7E2F\uF997\u884D\u8EDF\uF998\uF999\uF99A\u925B\uF99B\u9CF6\uF99C\uF99D\uF99E\u6085\u6D85\uF99F\u71B1\uF9A0\uF9A1\u95B1\u53AD\uF9A2\uF9A3\uF9A4\u67D3\uF9A5\u708E\u7130\u7430\u8276\u82D2"],["e7a1","\uF9A6\u95BB\u9AE5\u9E7D\u66C4\uF9A7\u71C1\u8449\uF9A8\uF9A9\u584B\uF9AA\uF9AB\u5DB8\u5F71\uF9AC\u6620\u668E\u6979\u69AE\u6C38\u6CF3\u6E36\u6F41\u6FDA\u701B\u702F\u7150\u71DF\u7370\uF9AD\u745B\uF9AE\u74D4\u76C8\u7A4E\u7E93\uF9AF\uF9B0\u82F1\u8A60\u8FCE\uF9B1\u9348\uF9B2\u9719\uF9B3\uF9B4\u4E42\u502A\uF9B5\u5208\u53E1\u66F3\u6C6D\u6FCA\u730A\u777F\u7A62\u82AE\u85DD\u8602\uF9B6\u88D4\u8A63\u8B7D\u8C6B\uF9B7\u92B3\uF9B8\u9713\u9810\u4E94\u4F0D\u4FC9\u50B2\u5348\u543E\u5433\u55DA\u5862\u58BA\u5967\u5A1B\u5BE4\u609F\uF9B9\u61CA\u6556\u65FF\u6664\u68A7\u6C5A\u6FB3"],["e8a1","\u70CF\u71AC\u7352\u7B7D\u8708\u8AA4\u9C32\u9F07\u5C4B\u6C83\u7344\u7389\u923A\u6EAB\u7465\u761F\u7A69\u7E15\u860A\u5140\u58C5\u64C1\u74EE\u7515\u7670\u7FC1\u9095\u96CD\u9954\u6E26\u74E6\u7AA9\u7AAA\u81E5\u86D9\u8778\u8A1B\u5A49\u5B8C\u5B9B\u68A1\u6900\u6D63\u73A9\u7413\u742C\u7897\u7DE9\u7FEB\u8118\u8155\u839E\u8C4C\u962E\u9811\u66F0\u5F80\u65FA\u6789\u6C6A\u738B\u502D\u5A03\u6B6A\u77EE\u5916\u5D6C\u5DCD\u7325\u754F\uF9BA\uF9BB\u50E5\u51F9\u582F\u592D\u5996\u59DA\u5BE5\uF9BC\uF9BD\u5DA2\u62D7\u6416\u6493\u64FE\uF9BE\u66DC\uF9BF\u6A48\uF9C0\u71FF\u7464\uF9C1"],["e9a1","\u7A88\u7AAF\u7E47\u7E5E\u8000\u8170\uF9C2\u87EF\u8981\u8B20\u9059\uF9C3\u9080\u9952\u617E\u6B32\u6D74\u7E1F\u8925\u8FB1\u4FD1\u50AD\u5197\u52C7\u57C7\u5889\u5BB9\u5EB8\u6142\u6995\u6D8C\u6E67\u6EB6\u7194\u7462\u7528\u752C\u8073\u8338\u84C9\u8E0A\u9394\u93DE\uF9C4\u4E8E\u4F51\u5076\u512A\u53C8\u53CB\u53F3\u5B87\u5BD3\u5C24\u611A\u6182\u65F4\u725B\u7397\u7440\u76C2\u7950\u7991\u79B9\u7D06\u7FBD\u828B\u85D5\u865E\u8FC2\u9047\u90F5\u91EA\u9685\u96E8\u96E9\u52D6\u5F67\u65ED\u6631\u682F\u715C\u7A36\u90C1\u980A\u4E91\uF9C5\u6A52\u6B9E\u6F90\u7189\u8018\u82B8\u8553"],["eaa1","\u904B\u9695\u96F2\u97FB\u851A\u9B31\u4E90\u718A\u96C4\u5143\u539F\u54E1\u5713\u5712\u57A3\u5A9B\u5AC4\u5BC3\u6028\u613F\u63F4\u6C85\u6D39\u6E72\u6E90\u7230\u733F\u7457\u82D1\u8881\u8F45\u9060\uF9C6\u9662\u9858\u9D1B\u6708\u8D8A\u925E\u4F4D\u5049\u50DE\u5371\u570D\u59D4\u5A01\u5C09\u6170\u6690\u6E2D\u7232\u744B\u7DEF\u80C3\u840E\u8466\u853F\u875F\u885B\u8918\u8B02\u9055\u97CB\u9B4F\u4E73\u4F91\u5112\u516A\uF9C7\u552F\u55A9\u5B7A\u5BA5\u5E7C\u5E7D\u5EBE\u60A0\u60DF\u6108\u6109\u63C4\u6538\u6709\uF9C8\u67D4\u67DA\uF9C9\u6961\u6962\u6CB9\u6D27\uF9CA\u6E38\uF9CB"],["eba1","\u6FE1\u7336\u7337\uF9CC\u745C\u7531\uF9CD\u7652\uF9CE\uF9CF\u7DAD\u81FE\u8438\u88D5\u8A98\u8ADB\u8AED\u8E30\u8E42\u904A\u903E\u907A\u9149\u91C9\u936E\uF9D0\uF9D1\u5809\uF9D2\u6BD3\u8089\u80B2\uF9D3\uF9D4\u5141\u596B\u5C39\uF9D5\uF9D6\u6F64\u73A7\u80E4\u8D07\uF9D7\u9217\u958F\uF9D8\uF9D9\uF9DA\uF9DB\u807F\u620E\u701C\u7D68\u878D\uF9DC\u57A0\u6069\u6147\u6BB7\u8ABE\u9280\u96B1\u4E59\u541F\u6DEB\u852D\u9670\u97F3\u98EE\u63D6\u6CE3\u9091\u51DD\u61C9\u81BA\u9DF9\u4F9D\u501A\u5100\u5B9C\u610F\u61FF\u64EC\u6905\u6BC5\u7591\u77E3\u7FA9\u8264\u858F\u87FB\u8863\u8ABC"],["eca1","\u8B70\u91AB\u4E8C\u4EE5\u4F0A\uF9DD\uF9DE\u5937\u59E8\uF9DF\u5DF2\u5F1B\u5F5B\u6021\uF9E0\uF9E1\uF9E2\uF9E3\u723E\u73E5\uF9E4\u7570\u75CD\uF9E5\u79FB\uF9E6\u800C\u8033\u8084\u82E1\u8351\uF9E7\uF9E8\u8CBD\u8CB3\u9087\uF9E9\uF9EA\u98F4\u990C\uF9EB\uF9EC\u7037\u76CA\u7FCA\u7FCC\u7FFC\u8B1A\u4EBA\u4EC1\u5203\u5370\uF9ED\u54BD\u56E0\u59FB\u5BC5\u5F15\u5FCD\u6E6E\uF9EE\uF9EF\u7D6A\u8335\uF9F0\u8693\u8A8D\uF9F1\u976D\u9777\uF9F2\uF9F3\u4E00\u4F5A\u4F7E\u58F9\u65E5\u6EA2\u9038\u93B0\u99B9\u4EFB\u58EC\u598A\u59D9\u6041\uF9F4\uF9F5\u7A14\uF9F6\u834F\u8CC3\u5165\u5344"],["eda1","\uF9F7\uF9F8\uF9F9\u4ECD\u5269\u5B55\u82BF\u4ED4\u523A\u54A8\u59C9\u59FF\u5B50\u5B57\u5B5C\u6063\u6148\u6ECB\u7099\u716E\u7386\u74F7\u75B5\u78C1\u7D2B\u8005\u81EA\u8328\u8517\u85C9\u8AEE\u8CC7\u96CC\u4F5C\u52FA\u56BC\u65AB\u6628\u707C\u70B8\u7235\u7DBD\u828D\u914C\u96C0\u9D72\u5B71\u68E7\u6B98\u6F7A\u76DE\u5C91\u66AB\u6F5B\u7BB4\u7C2A\u8836\u96DC\u4E08\u4ED7\u5320\u5834\u58BB\u58EF\u596C\u5C07\u5E33\u5E84\u5F35\u638C\u66B2\u6756\u6A1F\u6AA3\u6B0C\u6F3F\u7246\uF9FA\u7350\u748B\u7AE0\u7CA7\u8178\u81DF\u81E7\u838A\u846C\u8523\u8594\u85CF\u88DD\u8D13\u91AC\u9577"],["eea1","\u969C\u518D\u54C9\u5728\u5BB0\u624D\u6750\u683D\u6893\u6E3D\u6ED3\u707D\u7E21\u88C1\u8CA1\u8F09\u9F4B\u9F4E\u722D\u7B8F\u8ACD\u931A\u4F47\u4F4E\u5132\u5480\u59D0\u5E95\u62B5\u6775\u696E\u6A17\u6CAE\u6E1A\u72D9\u732A\u75BD\u7BB8\u7D35\u82E7\u83F9\u8457\u85F7\u8A5B\u8CAF\u8E87\u9019\u90B8\u96CE\u9F5F\u52E3\u540A\u5AE1\u5BC2\u6458\u6575\u6EF4\u72C4\uF9FB\u7684\u7A4D\u7B1B\u7C4D\u7E3E\u7FDF\u837B\u8B2B\u8CCA\u8D64\u8DE1\u8E5F\u8FEA\u8FF9\u9069\u93D1\u4F43\u4F7A\u50B3\u5168\u5178\u524D\u526A\u5861\u587C\u5960\u5C08\u5C55\u5EDB\u609B\u6230\u6813\u6BBF\u6C08\u6FB1"],["efa1","\u714E\u7420\u7530\u7538\u7551\u7672\u7B4C\u7B8B\u7BAD\u7BC6\u7E8F\u8A6E\u8F3E\u8F49\u923F\u9293\u9322\u942B\u96FB\u985A\u986B\u991E\u5207\u622A\u6298\u6D59\u7664\u7ACA\u7BC0\u7D76\u5360\u5CBE\u5E97\u6F38\u70B9\u7C98\u9711\u9B8E\u9EDE\u63A5\u647A\u8776\u4E01\u4E95\u4EAD\u505C\u5075\u5448\u59C3\u5B9A\u5E40\u5EAD\u5EF7\u5F81\u60C5\u633A\u653F\u6574\u65CC\u6676\u6678\u67FE\u6968\u6A89\u6B63\u6C40\u6DC0\u6DE8\u6E1F\u6E5E\u701E\u70A1\u738E\u73FD\u753A\u775B\u7887\u798E\u7A0B\u7A7D\u7CBE\u7D8E\u8247\u8A02\u8AEA\u8C9E\u912D\u914A\u91D8\u9266\u92CC\u9320\u9706\u9756"],["f0a1","\u975C\u9802\u9F0E\u5236\u5291\u557C\u5824\u5E1D\u5F1F\u608C\u63D0\u68AF\u6FDF\u796D\u7B2C\u81CD\u85BA\u88FD\u8AF8\u8E44\u918D\u9664\u969B\u973D\u984C\u9F4A\u4FCE\u5146\u51CB\u52A9\u5632\u5F14\u5F6B\u63AA\u64CD\u65E9\u6641\u66FA\u66F9\u671D\u689D\u68D7\u69FD\u6F15\u6F6E\u7167\u71E5\u722A\u74AA\u773A\u7956\u795A\u79DF\u7A20\u7A95\u7C97\u7CDF\u7D44\u7E70\u8087\u85FB\u86A4\u8A54\u8ABF\u8D99\u8E81\u9020\u906D\u91E3\u963B\u96D5\u9CE5\u65CF\u7C07\u8DB3\u93C3\u5B58\u5C0A\u5352\u62D9\u731D\u5027\u5B97\u5F9E\u60B0\u616B\u68D5\u6DD9\u742E\u7A2E\u7D42\u7D9C\u7E31\u816B"],["f1a1","\u8E2A\u8E35\u937E\u9418\u4F50\u5750\u5DE6\u5EA7\u632B\u7F6A\u4E3B\u4F4F\u4F8F\u505A\u59DD\u80C4\u546A\u5468\u55FE\u594F\u5B99\u5DDE\u5EDA\u665D\u6731\u67F1\u682A\u6CE8\u6D32\u6E4A\u6F8D\u70B7\u73E0\u7587\u7C4C\u7D02\u7D2C\u7DA2\u821F\u86DB\u8A3B\u8A85\u8D70\u8E8A\u8F33\u9031\u914E\u9152\u9444\u99D0\u7AF9\u7CA5\u4FCA\u5101\u51C6\u57C8\u5BEF\u5CFB\u6659\u6A3D\u6D5A\u6E96\u6FEC\u710C\u756F\u7AE3\u8822\u9021\u9075\u96CB\u99FF\u8301\u4E2D\u4EF2\u8846\u91CD\u537D\u6ADB\u696B\u6C41\u847A\u589E\u618E\u66FE\u62EF\u70DD\u7511\u75C7\u7E52\u84B8\u8B49\u8D08\u4E4B\u53EA"],["f2a1","\u54AB\u5730\u5740\u5FD7\u6301\u6307\u646F\u652F\u65E8\u667A\u679D\u67B3\u6B62\u6C60\u6C9A\u6F2C\u77E5\u7825\u7949\u7957\u7D19\u80A2\u8102\u81F3\u829D\u82B7\u8718\u8A8C\uF9FC\u8D04\u8DBE\u9072\u76F4\u7A19\u7A37\u7E54\u8077\u5507\u55D4\u5875\u632F\u6422\u6649\u664B\u686D\u699B\u6B84\u6D25\u6EB1\u73CD\u7468\u74A1\u755B\u75B9\u76E1\u771E\u778B\u79E6\u7E09\u7E1D\u81FB\u852F\u8897\u8A3A\u8CD1\u8EEB\u8FB0\u9032\u93AD\u9663\u9673\u9707\u4F84\u53F1\u59EA\u5AC9\u5E19\u684E\u74C6\u75BE\u79E9\u7A92\u81A3\u86ED\u8CEA\u8DCC\u8FED\u659F\u6715\uF9FD\u57F7\u6F57\u7DDD\u8F2F"],["f3a1","\u93F6\u96C6\u5FB5\u61F2\u6F84\u4E14\u4F98\u501F\u53C9\u55DF\u5D6F\u5DEE\u6B21\u6B64\u78CB\u7B9A\uF9FE\u8E49\u8ECA\u906E\u6349\u643E\u7740\u7A84\u932F\u947F\u9F6A\u64B0\u6FAF\u71E6\u74A8\u74DA\u7AC4\u7C12\u7E82\u7CB2\u7E98\u8B9A\u8D0A\u947D\u9910\u994C\u5239\u5BDF\u64E6\u672D\u7D2E\u50ED\u53C3\u5879\u6158\u6159\u61FA\u65AC\u7AD9\u8B92\u8B96\u5009\u5021\u5275\u5531\u5A3C\u5EE0\u5F70\u6134\u655E\u660C\u6636\u66A2\u69CD\u6EC4\u6F32\u7316\u7621\u7A93\u8139\u8259\u83D6\u84BC\u50B5\u57F0\u5BC0\u5BE8\u5F69\u63A1\u7826\u7DB5\u83DC\u8521\u91C7\u91F5\u518A\u67F5\u7B56"],["f4a1","\u8CAC\u51C4\u59BB\u60BD\u8655\u501C\uF9FF\u5254\u5C3A\u617D\u621A\u62D3\u64F2\u65A5\u6ECC\u7620\u810A\u8E60\u965F\u96BB\u4EDF\u5343\u5598\u5929\u5DDD\u64C5\u6CC9\u6DFA\u7394\u7A7F\u821B\u85A6\u8CE4\u8E10\u9077\u91E7\u95E1\u9621\u97C6\u51F8\u54F2\u5586\u5FB9\u64A4\u6F88\u7DB4\u8F1F\u8F4D\u9435\u50C9\u5C16\u6CBE\u6DFB\u751B\u77BB\u7C3D\u7C64\u8A79\u8AC2\u581E\u59BE\u5E16\u6377\u7252\u758A\u776B\u8ADC\u8CBC\u8F12\u5EF3\u6674\u6DF8\u807D\u83C1\u8ACB\u9751\u9BD6\uFA00\u5243\u66FF\u6D95\u6EEF\u7DE0\u8AE6\u902E\u905E\u9AD4\u521D\u527F\u54E8\u6194\u6284\u62DB\u68A2"],["f5a1","\u6912\u695A\u6A35\u7092\u7126\u785D\u7901\u790E\u79D2\u7A0D\u8096\u8278\u82D5\u8349\u8549\u8C82\u8D85\u9162\u918B\u91AE\u4FC3\u56D1\u71ED\u77D7\u8700\u89F8\u5BF8\u5FD6\u6751\u90A8\u53E2\u585A\u5BF5\u60A4\u6181\u6460\u7E3D\u8070\u8525\u9283\u64AE\u50AC\u5D14\u6700\u589C\u62BD\u63A8\u690E\u6978\u6A1E\u6E6B\u76BA\u79CB\u82BB\u8429\u8ACF\u8DA8\u8FFD\u9112\u914B\u919C\u9310\u9318\u939A\u96DB\u9A36\u9C0D\u4E11\u755C\u795D\u7AFA\u7B51\u7BC9\u7E2E\u84C4\u8E59\u8E74\u8EF8\u9010\u6625\u693F\u7443\u51FA\u672E\u9EDC\u5145\u5FE0\u6C96\u87F2\u885D\u8877\u60B4\u81B5\u8403"],["f6a1","\u8D05\u53D6\u5439\u5634\u5A36\u5C31\u708A\u7FE0\u805A\u8106\u81ED\u8DA3\u9189\u9A5F\u9DF2\u5074\u4EC4\u53A0\u60FB\u6E2C\u5C64\u4F88\u5024\u55E4\u5CD9\u5E5F\u6065\u6894\u6CBB\u6DC4\u71BE\u75D4\u75F4\u7661\u7A1A\u7A49\u7DC7\u7DFB\u7F6E\u81F4\u86A9\u8F1C\u96C9\u99B3\u9F52\u5247\u52C5\u98ED\u89AA\u4E03\u67D2\u6F06\u4FB5\u5BE2\u6795\u6C88\u6D78\u741B\u7827\u91DD\u937C\u87C4\u79E4\u7A31\u5FEB\u4ED6\u54A4\u553E\u58AE\u59A5\u60F0\u6253\u62D6\u6736\u6955\u8235\u9640\u99B1\u99DD\u502C\u5353\u5544\u577C\uFA01\u6258\uFA02\u64E2\u666B\u67DD\u6FC1\u6FEF\u7422\u7438\u8A17"],["f7a1","\u9438\u5451\u5606\u5766\u5F48\u619A\u6B4E\u7058\u70AD\u7DBB\u8A95\u596A\u812B\u63A2\u7708\u803D\u8CAA\u5854\u642D\u69BB\u5B95\u5E11\u6E6F\uFA03\u8569\u514C\u53F0\u592A\u6020\u614B\u6B86\u6C70\u6CF0\u7B1E\u80CE\u82D4\u8DC6\u90B0\u98B1\uFA04\u64C7\u6FA4\u6491\u6504\u514E\u5410\u571F\u8A0E\u615F\u6876\uFA05\u75DB\u7B52\u7D71\u901A\u5806\u69CC\u817F\u892A\u9000\u9839\u5078\u5957\u59AC\u6295\u900F\u9B2A\u615D\u7279\u95D6\u5761\u5A46\u5DF4\u628A\u64AD\u64FA\u6777\u6CE2\u6D3E\u722C\u7436\u7834\u7F77\u82AD\u8DDB\u9817\u5224\u5742\u677F\u7248\u74E3\u8CA9\u8FA6\u9211"],["f8a1","\u962A\u516B\u53ED\u634C\u4F69\u5504\u6096\u6557\u6C9B\u6D7F\u724C\u72FD\u7A17\u8987\u8C9D\u5F6D\u6F8E\u70F9\u81A8\u610E\u4FBF\u504F\u6241\u7247\u7BC7\u7DE8\u7FE9\u904D\u97AD\u9A19\u8CB6\u576A\u5E73\u67B0\u840D\u8A55\u5420\u5B16\u5E63\u5EE2\u5F0A\u6583\u80BA\u853D\u9589\u965B\u4F48\u5305\u530D\u530F\u5486\u54FA\u5703\u5E03\u6016\u629B\u62B1\u6355\uFA06\u6CE1\u6D66\u75B1\u7832\u80DE\u812F\u82DE\u8461\u84B2\u888D\u8912\u900B\u92EA\u98FD\u9B91\u5E45\u66B4\u66DD\u7011\u7206\uFA07\u4FF5\u527D\u5F6A\u6153\u6753\u6A19\u6F02\u74E2\u7968\u8868\u8C79\u98C7\u98C4\u9A43"],["f9a1","\u54C1\u7A1F\u6953\u8AF7\u8C4A\u98A8\u99AE\u5F7C\u62AB\u75B2\u76AE\u88AB\u907F\u9642\u5339\u5F3C\u5FC5\u6CCC\u73CC\u7562\u758B\u7B46\u82FE\u999D\u4E4F\u903C\u4E0B\u4F55\u53A6\u590F\u5EC8\u6630\u6CB3\u7455\u8377\u8766\u8CC0\u9050\u971E\u9C15\u58D1\u5B78\u8650\u8B14\u9DB4\u5BD2\u6068\u608D\u65F1\u6C57\u6F22\u6FA3\u701A\u7F55\u7FF0\u9591\u9592\u9650\u97D3\u5272\u8F44\u51FD\u542B\u54B8\u5563\u558A\u6ABB\u6DB5\u7DD8\u8266\u929C\u9677\u9E79\u5408\u54C8\u76D2\u86E4\u95A4\u95D4\u965C\u4EA2\u4F09\u59EE\u5AE6\u5DF7\u6052\u6297\u676D\u6841\u6C86\u6E2F\u7F38\u809B\u822A"],["faa1","\uFA08\uFA09\u9805\u4EA5\u5055\u54B3\u5793\u595A\u5B69\u5BB3\u61C8\u6977\u6D77\u7023\u87F9\u89E3\u8A72\u8AE7\u9082\u99ED\u9AB8\u52BE\u6838\u5016\u5E78\u674F\u8347\u884C\u4EAB\u5411\u56AE\u73E6\u9115\u97FF\u9909\u9957\u9999\u5653\u589F\u865B\u8A31\u61B2\u6AF6\u737B\u8ED2\u6B47\u96AA\u9A57\u5955\u7200\u8D6B\u9769\u4FD4\u5CF4\u5F26\u61F8\u665B\u6CEB\u70AB\u7384\u73B9\u73FE\u7729\u774D\u7D43\u7D62\u7E23\u8237\u8852\uFA0A\u8CE2\u9249\u986F\u5B51\u7A74\u8840\u9801\u5ACC\u4FE0\u5354\u593E\u5CFD\u633E\u6D79\u72F9\u8105\u8107\u83A2\u92CF\u9830\u4EA8\u5144\u5211\u578B"],["fba1","\u5F62\u6CC2\u6ECE\u7005\u7050\u70AF\u7192\u73E9\u7469\u834A\u87A2\u8861\u9008\u90A2\u93A3\u99A8\u516E\u5F57\u60E0\u6167\u66B3\u8559\u8E4A\u91AF\u978B\u4E4E\u4E92\u547C\u58D5\u58FA\u597D\u5CB5\u5F27\u6236\u6248\u660A\u6667\u6BEB\u6D69\u6DCF\u6E56\u6EF8\u6F94\u6FE0\u6FE9\u705D\u72D0\u7425\u745A\u74E0\u7693\u795C\u7CCA\u7E1E\u80E1\u82A6\u846B\u84BF\u864E\u865F\u8774\u8B77\u8C6A\u93AC\u9800\u9865\u60D1\u6216\u9177\u5A5A\u660F\u6DF7\u6E3E\u743F\u9B42\u5FFD\u60DA\u7B0F\u54C4\u5F18\u6C5E\u6CD3\u6D2A\u70D8\u7D05\u8679\u8A0C\u9D3B\u5316\u548C\u5B05\u6A3A\u706B\u7575"],["fca1","\u798D\u79BE\u82B1\u83EF\u8A71\u8B41\u8CA8\u9774\uFA0B\u64F4\u652B\u78BA\u78BB\u7A6B\u4E38\u559A\u5950\u5BA6\u5E7B\u60A3\u63DB\u6B61\u6665\u6853\u6E19\u7165\u74B0\u7D08\u9084\u9A69\u9C25\u6D3B\u6ED1\u733E\u8C41\u95CA\u51F0\u5E4C\u5FA8\u604D\u60F6\u6130\u614C\u6643\u6644\u69A5\u6CC1\u6E5F\u6EC9\u6F62\u714C\u749C\u7687\u7BC1\u7C27\u8352\u8757\u9051\u968D\u9EC3\u532F\u56DE\u5EFB\u5F8A\u6062\u6094\u61F7\u6666\u6703\u6A9C\u6DEE\u6FAE\u7070\u736A\u7E6A\u81BE\u8334\u86D4\u8AA8\u8CC4\u5283\u7372\u5B96\u6A6B\u9404\u54EE\u5686\u5B5D\u6548\u6585\u66C9\u689F\u6D8D\u6DC6"],["fda1","\u723B\u80B4\u9175\u9A4D\u4FAF\u5019\u539A\u540E\u543C\u5589\u55C5\u5E3F\u5F8C\u673D\u7166\u73DD\u9005\u52DB\u52F3\u5864\u58CE\u7104\u718F\u71FB\u85B0\u8A13\u6688\u85A8\u55A7\u6684\u714A\u8431\u5349\u5599\u6BC1\u5F59\u5FBD\u63EE\u6689\u7147\u8AF1\u8F1D\u9EBE\u4F11\u643A\u70CB\u7566\u8667\u6064\u8B4E\u9DF8\u5147\u51F6\u5308\u6D36\u80F8\u9ED1\u6615\u6B23\u7098\u75D5\u5403\u5C79\u7D07\u8A16\u6B20\u6B3D\u6B46\u5438\u6070\u6D3D\u7FD5\u8208\u50D6\u51DE\u559C\u566B\u56CD\u59EC\u5B09\u5E0C\u6199\u6198\u6231\u665E\u66E6\u7199\u71B9\u71BA\u72A7\u79A7\u7A00\u7FB2\u8A70"]]});var Byt=Le((vTi,Xen)=>{Xen.exports=[["0","\0",127],["a140","\u3000\uFF0C\u3001\u3002\uFF0E\u2027\uFF1B\uFF1A\uFF1F\uFF01\uFE30\u2026\u2025\uFE50\uFE51\uFE52\xB7\uFE54\uFE55\uFE56\uFE57\uFF5C\u2013\uFE31\u2014\uFE33\u2574\uFE34\uFE4F\uFF08\uFF09\uFE35\uFE36\uFF5B\uFF5D\uFE37\uFE38\u3014\u3015\uFE39\uFE3A\u3010\u3011\uFE3B\uFE3C\u300A\u300B\uFE3D\uFE3E\u3008\u3009\uFE3F\uFE40\u300C\u300D\uFE41\uFE42\u300E\u300F\uFE43\uFE44\uFE59\uFE5A"],["a1a1","\uFE5B\uFE5C\uFE5D\uFE5E\u2018\u2019\u201C\u201D\u301D\u301E\u2035\u2032\uFF03\uFF06\uFF0A\u203B\xA7\u3003\u25CB\u25CF\u25B3\u25B2\u25CE\u2606\u2605\u25C7\u25C6\u25A1\u25A0\u25BD\u25BC\u32A3\u2105\xAF\uFFE3\uFF3F\u02CD\uFE49\uFE4A\uFE4D\uFE4E\uFE4B\uFE4C\uFE5F\uFE60\uFE61\uFF0B\uFF0D\xD7\xF7\xB1\u221A\uFF1C\uFF1E\uFF1D\u2266\u2267\u2260\u221E\u2252\u2261\uFE62",4,"\uFF5E\u2229\u222A\u22A5\u2220\u221F\u22BF\u33D2\u33D1\u222B\u222E\u2235\u2234\u2640\u2642\u2295\u2299\u2191\u2193\u2190\u2192\u2196\u2197\u2199\u2198\u2225\u2223\uFF0F"],["a240","\uFF3C\u2215\uFE68\uFF04\uFFE5\u3012\uFFE0\uFFE1\uFF05\uFF20\u2103\u2109\uFE69\uFE6A\uFE6B\u33D5\u339C\u339D\u339E\u33CE\u33A1\u338E\u338F\u33C4\xB0\u5159\u515B\u515E\u515D\u5161\u5163\u55E7\u74E9\u7CCE\u2581",7,"\u258F\u258E\u258D\u258C\u258B\u258A\u2589\u253C\u2534\u252C\u2524\u251C\u2594\u2500\u2502\u2595\u250C\u2510\u2514\u2518\u256D"],["a2a1","\u256E\u2570\u256F\u2550\u255E\u256A\u2561\u25E2\u25E3\u25E5\u25E4\u2571\u2572\u2573\uFF10",9,"\u2160",9,"\u3021",8,"\u5341\u5344\u5345\uFF21",25,"\uFF41",21],["a340","\uFF57\uFF58\uFF59\uFF5A\u0391",16,"\u03A3",6,"\u03B1",16,"\u03C3",6,"\u3105",10],["a3a1","\u3110",25,"\u02D9\u02C9\u02CA\u02C7\u02CB"],["a3e1","\u20AC"],["a440","\u4E00\u4E59\u4E01\u4E03\u4E43\u4E5D\u4E86\u4E8C\u4EBA\u513F\u5165\u516B\u51E0\u5200\u5201\u529B\u5315\u5341\u535C\u53C8\u4E09\u4E0B\u4E08\u4E0A\u4E2B\u4E38\u51E1\u4E45\u4E48\u4E5F\u4E5E\u4E8E\u4EA1\u5140\u5203\u52FA\u5343\u53C9\u53E3\u571F\u58EB\u5915\u5927\u5973\u5B50\u5B51\u5B53\u5BF8\u5C0F\u5C22\u5C38\u5C71\u5DDD\u5DE5\u5DF1\u5DF2\u5DF3\u5DFE\u5E72\u5EFE\u5F0B\u5F13\u624D"],["a4a1","\u4E11\u4E10\u4E0D\u4E2D\u4E30\u4E39\u4E4B\u5C39\u4E88\u4E91\u4E95\u4E92\u4E94\u4EA2\u4EC1\u4EC0\u4EC3\u4EC6\u4EC7\u4ECD\u4ECA\u4ECB\u4EC4\u5143\u5141\u5167\u516D\u516E\u516C\u5197\u51F6\u5206\u5207\u5208\u52FB\u52FE\u52FF\u5316\u5339\u5348\u5347\u5345\u535E\u5384\u53CB\u53CA\u53CD\u58EC\u5929\u592B\u592A\u592D\u5B54\u5C11\u5C24\u5C3A\u5C6F\u5DF4\u5E7B\u5EFF\u5F14\u5F15\u5FC3\u6208\u6236\u624B\u624E\u652F\u6587\u6597\u65A4\u65B9\u65E5\u66F0\u6708\u6728\u6B20\u6B62\u6B79\u6BCB\u6BD4\u6BDB\u6C0F\u6C34\u706B\u722A\u7236\u723B\u7247\u7259\u725B\u72AC\u738B\u4E19"],["a540","\u4E16\u4E15\u4E14\u4E18\u4E3B\u4E4D\u4E4F\u4E4E\u4EE5\u4ED8\u4ED4\u4ED5\u4ED6\u4ED7\u4EE3\u4EE4\u4ED9\u4EDE\u5145\u5144\u5189\u518A\u51AC\u51F9\u51FA\u51F8\u520A\u52A0\u529F\u5305\u5306\u5317\u531D\u4EDF\u534A\u5349\u5361\u5360\u536F\u536E\u53BB\u53EF\u53E4\u53F3\u53EC\u53EE\u53E9\u53E8\u53FC\u53F8\u53F5\u53EB\u53E6\u53EA\u53F2\u53F1\u53F0\u53E5\u53ED\u53FB\u56DB\u56DA\u5916"],["a5a1","\u592E\u5931\u5974\u5976\u5B55\u5B83\u5C3C\u5DE8\u5DE7\u5DE6\u5E02\u5E03\u5E73\u5E7C\u5F01\u5F18\u5F17\u5FC5\u620A\u6253\u6254\u6252\u6251\u65A5\u65E6\u672E\u672C\u672A\u672B\u672D\u6B63\u6BCD\u6C11\u6C10\u6C38\u6C41\u6C40\u6C3E\u72AF\u7384\u7389\u74DC\u74E6\u7518\u751F\u7528\u7529\u7530\u7531\u7532\u7533\u758B\u767D\u76AE\u76BF\u76EE\u77DB\u77E2\u77F3\u793A\u79BE\u7A74\u7ACB\u4E1E\u4E1F\u4E52\u4E53\u4E69\u4E99\u4EA4\u4EA6\u4EA5\u4EFF\u4F09\u4F19\u4F0A\u4F15\u4F0D\u4F10\u4F11\u4F0F\u4EF2\u4EF6\u4EFB\u4EF0\u4EF3\u4EFD\u4F01\u4F0B\u5149\u5147\u5146\u5148\u5168"],["a640","\u5171\u518D\u51B0\u5217\u5211\u5212\u520E\u5216\u52A3\u5308\u5321\u5320\u5370\u5371\u5409\u540F\u540C\u540A\u5410\u5401\u540B\u5404\u5411\u540D\u5408\u5403\u540E\u5406\u5412\u56E0\u56DE\u56DD\u5733\u5730\u5728\u572D\u572C\u572F\u5729\u5919\u591A\u5937\u5938\u5984\u5978\u5983\u597D\u5979\u5982\u5981\u5B57\u5B58\u5B87\u5B88\u5B85\u5B89\u5BFA\u5C16\u5C79\u5DDE\u5E06\u5E76\u5E74"],["a6a1","\u5F0F\u5F1B\u5FD9\u5FD6\u620E\u620C\u620D\u6210\u6263\u625B\u6258\u6536\u65E9\u65E8\u65EC\u65ED\u66F2\u66F3\u6709\u673D\u6734\u6731\u6735\u6B21\u6B64\u6B7B\u6C16\u6C5D\u6C57\u6C59\u6C5F\u6C60\u6C50\u6C55\u6C61\u6C5B\u6C4D\u6C4E\u7070\u725F\u725D\u767E\u7AF9\u7C73\u7CF8\u7F36\u7F8A\u7FBD\u8001\u8003\u800C\u8012\u8033\u807F\u8089\u808B\u808C\u81E3\u81EA\u81F3\u81FC\u820C\u821B\u821F\u826E\u8272\u827E\u866B\u8840\u884C\u8863\u897F\u9621\u4E32\u4EA8\u4F4D\u4F4F\u4F47\u4F57\u4F5E\u4F34\u4F5B\u4F55\u4F30\u4F50\u4F51\u4F3D\u4F3A\u4F38\u4F43\u4F54\u4F3C\u4F46\u4F63"],["a740","\u4F5C\u4F60\u4F2F\u4F4E\u4F36\u4F59\u4F5D\u4F48\u4F5A\u514C\u514B\u514D\u5175\u51B6\u51B7\u5225\u5224\u5229\u522A\u5228\u52AB\u52A9\u52AA\u52AC\u5323\u5373\u5375\u541D\u542D\u541E\u543E\u5426\u544E\u5427\u5446\u5443\u5433\u5448\u5442\u541B\u5429\u544A\u5439\u543B\u5438\u542E\u5435\u5436\u5420\u543C\u5440\u5431\u542B\u541F\u542C\u56EA\u56F0\u56E4\u56EB\u574A\u5751\u5740\u574D"],["a7a1","\u5747\u574E\u573E\u5750\u574F\u573B\u58EF\u593E\u599D\u5992\u59A8\u599E\u59A3\u5999\u5996\u598D\u59A4\u5993\u598A\u59A5\u5B5D\u5B5C\u5B5A\u5B5B\u5B8C\u5B8B\u5B8F\u5C2C\u5C40\u5C41\u5C3F\u5C3E\u5C90\u5C91\u5C94\u5C8C\u5DEB\u5E0C\u5E8F\u5E87\u5E8A\u5EF7\u5F04\u5F1F\u5F64\u5F62\u5F77\u5F79\u5FD8\u5FCC\u5FD7\u5FCD\u5FF1\u5FEB\u5FF8\u5FEA\u6212\u6211\u6284\u6297\u6296\u6280\u6276\u6289\u626D\u628A\u627C\u627E\u6279\u6273\u6292\u626F\u6298\u626E\u6295\u6293\u6291\u6286\u6539\u653B\u6538\u65F1\u66F4\u675F\u674E\u674F\u6750\u6751\u675C\u6756\u675E\u6749\u6746\u6760"],["a840","\u6753\u6757\u6B65\u6BCF\u6C42\u6C5E\u6C99\u6C81\u6C88\u6C89\u6C85\u6C9B\u6C6A\u6C7A\u6C90\u6C70\u6C8C\u6C68\u6C96\u6C92\u6C7D\u6C83\u6C72\u6C7E\u6C74\u6C86\u6C76\u6C8D\u6C94\u6C98\u6C82\u7076\u707C\u707D\u7078\u7262\u7261\u7260\u72C4\u72C2\u7396\u752C\u752B\u7537\u7538\u7682\u76EF\u77E3\u79C1\u79C0\u79BF\u7A76\u7CFB\u7F55\u8096\u8093\u809D\u8098\u809B\u809A\u80B2\u826F\u8292"],["a8a1","\u828B\u828D\u898B\u89D2\u8A00\u8C37\u8C46\u8C55\u8C9D\u8D64\u8D70\u8DB3\u8EAB\u8ECA\u8F9B\u8FB0\u8FC2\u8FC6\u8FC5\u8FC4\u5DE1\u9091\u90A2\u90AA\u90A6\u90A3\u9149\u91C6\u91CC\u9632\u962E\u9631\u962A\u962C\u4E26\u4E56\u4E73\u4E8B\u4E9B\u4E9E\u4EAB\u4EAC\u4F6F\u4F9D\u4F8D\u4F73\u4F7F\u4F6C\u4F9B\u4F8B\u4F86\u4F83\u4F70\u4F75\u4F88\u4F69\u4F7B\u4F96\u4F7E\u4F8F\u4F91\u4F7A\u5154\u5152\u5155\u5169\u5177\u5176\u5178\u51BD\u51FD\u523B\u5238\u5237\u523A\u5230\u522E\u5236\u5241\u52BE\u52BB\u5352\u5354\u5353\u5351\u5366\u5377\u5378\u5379\u53D6\u53D4\u53D7\u5473\u5475"],["a940","\u5496\u5478\u5495\u5480\u547B\u5477\u5484\u5492\u5486\u547C\u5490\u5471\u5476\u548C\u549A\u5462\u5468\u548B\u547D\u548E\u56FA\u5783\u5777\u576A\u5769\u5761\u5766\u5764\u577C\u591C\u5949\u5947\u5948\u5944\u5954\u59BE\u59BB\u59D4\u59B9\u59AE\u59D1\u59C6\u59D0\u59CD\u59CB\u59D3\u59CA\u59AF\u59B3\u59D2\u59C5\u5B5F\u5B64\u5B63\u5B97\u5B9A\u5B98\u5B9C\u5B99\u5B9B\u5C1A\u5C48\u5C45"],["a9a1","\u5C46\u5CB7\u5CA1\u5CB8\u5CA9\u5CAB\u5CB1\u5CB3\u5E18\u5E1A\u5E16\u5E15\u5E1B\u5E11\u5E78\u5E9A\u5E97\u5E9C\u5E95\u5E96\u5EF6\u5F26\u5F27\u5F29\u5F80\u5F81\u5F7F\u5F7C\u5FDD\u5FE0\u5FFD\u5FF5\u5FFF\u600F\u6014\u602F\u6035\u6016\u602A\u6015\u6021\u6027\u6029\u602B\u601B\u6216\u6215\u623F\u623E\u6240\u627F\u62C9\u62CC\u62C4\u62BF\u62C2\u62B9\u62D2\u62DB\u62AB\u62D3\u62D4\u62CB\u62C8\u62A8\u62BD\u62BC\u62D0\u62D9\u62C7\u62CD\u62B5\u62DA\u62B1\u62D8\u62D6\u62D7\u62C6\u62AC\u62CE\u653E\u65A7\u65BC\u65FA\u6614\u6613\u660C\u6606\u6602\u660E\u6600\u660F\u6615\u660A"],["aa40","\u6607\u670D\u670B\u676D\u678B\u6795\u6771\u679C\u6773\u6777\u6787\u679D\u6797\u676F\u6770\u677F\u6789\u677E\u6790\u6775\u679A\u6793\u677C\u676A\u6772\u6B23\u6B66\u6B67\u6B7F\u6C13\u6C1B\u6CE3\u6CE8\u6CF3\u6CB1\u6CCC\u6CE5\u6CB3\u6CBD\u6CBE\u6CBC\u6CE2\u6CAB\u6CD5\u6CD3\u6CB8\u6CC4\u6CB9\u6CC1\u6CAE\u6CD7\u6CC5\u6CF1\u6CBF\u6CBB\u6CE1\u6CDB\u6CCA\u6CAC\u6CEF\u6CDC\u6CD6\u6CE0"],["aaa1","\u7095\u708E\u7092\u708A\u7099\u722C\u722D\u7238\u7248\u7267\u7269\u72C0\u72CE\u72D9\u72D7\u72D0\u73A9\u73A8\u739F\u73AB\u73A5\u753D\u759D\u7599\u759A\u7684\u76C2\u76F2\u76F4\u77E5\u77FD\u793E\u7940\u7941\u79C9\u79C8\u7A7A\u7A79\u7AFA\u7CFE\u7F54\u7F8C\u7F8B\u8005\u80BA\u80A5\u80A2\u80B1\u80A1\u80AB\u80A9\u80B4\u80AA\u80AF\u81E5\u81FE\u820D\u82B3\u829D\u8299\u82AD\u82BD\u829F\u82B9\u82B1\u82AC\u82A5\u82AF\u82B8\u82A3\u82B0\u82BE\u82B7\u864E\u8671\u521D\u8868\u8ECB\u8FCE\u8FD4\u8FD1\u90B5\u90B8\u90B1\u90B6\u91C7\u91D1\u9577\u9580\u961C\u9640\u963F\u963B\u9644"],["ab40","\u9642\u96B9\u96E8\u9752\u975E\u4E9F\u4EAD\u4EAE\u4FE1\u4FB5\u4FAF\u4FBF\u4FE0\u4FD1\u4FCF\u4FDD\u4FC3\u4FB6\u4FD8\u4FDF\u4FCA\u4FD7\u4FAE\u4FD0\u4FC4\u4FC2\u4FDA\u4FCE\u4FDE\u4FB7\u5157\u5192\u5191\u51A0\u524E\u5243\u524A\u524D\u524C\u524B\u5247\u52C7\u52C9\u52C3\u52C1\u530D\u5357\u537B\u539A\u53DB\u54AC\u54C0\u54A8\u54CE\u54C9\u54B8\u54A6\u54B3\u54C7\u54C2\u54BD\u54AA\u54C1"],["aba1","\u54C4\u54C8\u54AF\u54AB\u54B1\u54BB\u54A9\u54A7\u54BF\u56FF\u5782\u578B\u57A0\u57A3\u57A2\u57CE\u57AE\u5793\u5955\u5951\u594F\u594E\u5950\u59DC\u59D8\u59FF\u59E3\u59E8\u5A03\u59E5\u59EA\u59DA\u59E6\u5A01\u59FB\u5B69\u5BA3\u5BA6\u5BA4\u5BA2\u5BA5\u5C01\u5C4E\u5C4F\u5C4D\u5C4B\u5CD9\u5CD2\u5DF7\u5E1D\u5E25\u5E1F\u5E7D\u5EA0\u5EA6\u5EFA\u5F08\u5F2D\u5F65\u5F88\u5F85\u5F8A\u5F8B\u5F87\u5F8C\u5F89\u6012\u601D\u6020\u6025\u600E\u6028\u604D\u6070\u6068\u6062\u6046\u6043\u606C\u606B\u606A\u6064\u6241\u62DC\u6316\u6309\u62FC\u62ED\u6301\u62EE\u62FD\u6307\u62F1\u62F7"],["ac40","\u62EF\u62EC\u62FE\u62F4\u6311\u6302\u653F\u6545\u65AB\u65BD\u65E2\u6625\u662D\u6620\u6627\u662F\u661F\u6628\u6631\u6624\u66F7\u67FF\u67D3\u67F1\u67D4\u67D0\u67EC\u67B6\u67AF\u67F5\u67E9\u67EF\u67C4\u67D1\u67B4\u67DA\u67E5\u67B8\u67CF\u67DE\u67F3\u67B0\u67D9\u67E2\u67DD\u67D2\u6B6A\u6B83\u6B86\u6BB5\u6BD2\u6BD7\u6C1F\u6CC9\u6D0B\u6D32\u6D2A\u6D41\u6D25\u6D0C\u6D31\u6D1E\u6D17"],["aca1","\u6D3B\u6D3D\u6D3E\u6D36\u6D1B\u6CF5\u6D39\u6D27\u6D38\u6D29\u6D2E\u6D35\u6D0E\u6D2B\u70AB\u70BA\u70B3\u70AC\u70AF\u70AD\u70B8\u70AE\u70A4\u7230\u7272\u726F\u7274\u72E9\u72E0\u72E1\u73B7\u73CA\u73BB\u73B2\u73CD\u73C0\u73B3\u751A\u752D\u754F\u754C\u754E\u754B\u75AB\u75A4\u75A5\u75A2\u75A3\u7678\u7686\u7687\u7688\u76C8\u76C6\u76C3\u76C5\u7701\u76F9\u76F8\u7709\u770B\u76FE\u76FC\u7707\u77DC\u7802\u7814\u780C\u780D\u7946\u7949\u7948\u7947\u79B9\u79BA\u79D1\u79D2\u79CB\u7A7F\u7A81\u7AFF\u7AFD\u7C7D\u7D02\u7D05\u7D00\u7D09\u7D07\u7D04\u7D06\u7F38\u7F8E\u7FBF\u8004"],["ad40","\u8010\u800D\u8011\u8036\u80D6\u80E5\u80DA\u80C3\u80C4\u80CC\u80E1\u80DB\u80CE\u80DE\u80E4\u80DD\u81F4\u8222\u82E7\u8303\u8305\u82E3\u82DB\u82E6\u8304\u82E5\u8302\u8309\u82D2\u82D7\u82F1\u8301\u82DC\u82D4\u82D1\u82DE\u82D3\u82DF\u82EF\u8306\u8650\u8679\u867B\u867A\u884D\u886B\u8981\u89D4\u8A08\u8A02\u8A03\u8C9E\u8CA0\u8D74\u8D73\u8DB4\u8ECD\u8ECC\u8FF0\u8FE6\u8FE2\u8FEA\u8FE5"],["ada1","\u8FED\u8FEB\u8FE4\u8FE8\u90CA\u90CE\u90C1\u90C3\u914B\u914A\u91CD\u9582\u9650\u964B\u964C\u964D\u9762\u9769\u97CB\u97ED\u97F3\u9801\u98A8\u98DB\u98DF\u9996\u9999\u4E58\u4EB3\u500C\u500D\u5023\u4FEF\u5026\u5025\u4FF8\u5029\u5016\u5006\u503C\u501F\u501A\u5012\u5011\u4FFA\u5000\u5014\u5028\u4FF1\u5021\u500B\u5019\u5018\u4FF3\u4FEE\u502D\u502A\u4FFE\u502B\u5009\u517C\u51A4\u51A5\u51A2\u51CD\u51CC\u51C6\u51CB\u5256\u525C\u5254\u525B\u525D\u532A\u537F\u539F\u539D\u53DF\u54E8\u5510\u5501\u5537\u54FC\u54E5\u54F2\u5506\u54FA\u5514\u54E9\u54ED\u54E1\u5509\u54EE\u54EA"],["ae40","\u54E6\u5527\u5507\u54FD\u550F\u5703\u5704\u57C2\u57D4\u57CB\u57C3\u5809\u590F\u5957\u5958\u595A\u5A11\u5A18\u5A1C\u5A1F\u5A1B\u5A13\u59EC\u5A20\u5A23\u5A29\u5A25\u5A0C\u5A09\u5B6B\u5C58\u5BB0\u5BB3\u5BB6\u5BB4\u5BAE\u5BB5\u5BB9\u5BB8\u5C04\u5C51\u5C55\u5C50\u5CED\u5CFD\u5CFB\u5CEA\u5CE8\u5CF0\u5CF6\u5D01\u5CF4\u5DEE\u5E2D\u5E2B\u5EAB\u5EAD\u5EA7\u5F31\u5F92\u5F91\u5F90\u6059"],["aea1","\u6063\u6065\u6050\u6055\u606D\u6069\u606F\u6084\u609F\u609A\u608D\u6094\u608C\u6085\u6096\u6247\u62F3\u6308\u62FF\u634E\u633E\u632F\u6355\u6342\u6346\u634F\u6349\u633A\u6350\u633D\u632A\u632B\u6328\u634D\u634C\u6548\u6549\u6599\u65C1\u65C5\u6642\u6649\u664F\u6643\u6652\u664C\u6645\u6641\u66F8\u6714\u6715\u6717\u6821\u6838\u6848\u6846\u6853\u6839\u6842\u6854\u6829\u68B3\u6817\u684C\u6851\u683D\u67F4\u6850\u6840\u683C\u6843\u682A\u6845\u6813\u6818\u6841\u6B8A\u6B89\u6BB7\u6C23\u6C27\u6C28\u6C26\u6C24\u6CF0\u6D6A\u6D95\u6D88\u6D87\u6D66\u6D78\u6D77\u6D59\u6D93"],["af40","\u6D6C\u6D89\u6D6E\u6D5A\u6D74\u6D69\u6D8C\u6D8A\u6D79\u6D85\u6D65\u6D94\u70CA\u70D8\u70E4\u70D9\u70C8\u70CF\u7239\u7279\u72FC\u72F9\u72FD\u72F8\u72F7\u7386\u73ED\u7409\u73EE\u73E0\u73EA\u73DE\u7554\u755D\u755C\u755A\u7559\u75BE\u75C5\u75C7\u75B2\u75B3\u75BD\u75BC\u75B9\u75C2\u75B8\u768B\u76B0\u76CA\u76CD\u76CE\u7729\u771F\u7720\u7728\u77E9\u7830\u7827\u7838\u781D\u7834\u7837"],["afa1","\u7825\u782D\u7820\u781F\u7832\u7955\u7950\u7960\u795F\u7956\u795E\u795D\u7957\u795A\u79E4\u79E3\u79E7\u79DF\u79E6\u79E9\u79D8\u7A84\u7A88\u7AD9\u7B06\u7B11\u7C89\u7D21\u7D17\u7D0B\u7D0A\u7D20\u7D22\u7D14\u7D10\u7D15\u7D1A\u7D1C\u7D0D\u7D19\u7D1B\u7F3A\u7F5F\u7F94\u7FC5\u7FC1\u8006\u8018\u8015\u8019\u8017\u803D\u803F\u80F1\u8102\u80F0\u8105\u80ED\u80F4\u8106\u80F8\u80F3\u8108\u80FD\u810A\u80FC\u80EF\u81ED\u81EC\u8200\u8210\u822A\u822B\u8228\u822C\u82BB\u832B\u8352\u8354\u834A\u8338\u8350\u8349\u8335\u8334\u834F\u8332\u8339\u8336\u8317\u8340\u8331\u8328\u8343"],["b040","\u8654\u868A\u86AA\u8693\u86A4\u86A9\u868C\u86A3\u869C\u8870\u8877\u8881\u8882\u887D\u8879\u8A18\u8A10\u8A0E\u8A0C\u8A15\u8A0A\u8A17\u8A13\u8A16\u8A0F\u8A11\u8C48\u8C7A\u8C79\u8CA1\u8CA2\u8D77\u8EAC\u8ED2\u8ED4\u8ECF\u8FB1\u9001\u9006\u8FF7\u9000\u8FFA\u8FF4\u9003\u8FFD\u9005\u8FF8\u9095\u90E1\u90DD\u90E2\u9152\u914D\u914C\u91D8\u91DD\u91D7\u91DC\u91D9\u9583\u9662\u9663\u9661"],["b0a1","\u965B\u965D\u9664\u9658\u965E\u96BB\u98E2\u99AC\u9AA8\u9AD8\u9B25\u9B32\u9B3C\u4E7E\u507A\u507D\u505C\u5047\u5043\u504C\u505A\u5049\u5065\u5076\u504E\u5055\u5075\u5074\u5077\u504F\u500F\u506F\u506D\u515C\u5195\u51F0\u526A\u526F\u52D2\u52D9\u52D8\u52D5\u5310\u530F\u5319\u533F\u5340\u533E\u53C3\u66FC\u5546\u556A\u5566\u5544\u555E\u5561\u5543\u554A\u5531\u5556\u554F\u5555\u552F\u5564\u5538\u552E\u555C\u552C\u5563\u5533\u5541\u5557\u5708\u570B\u5709\u57DF\u5805\u580A\u5806\u57E0\u57E4\u57FA\u5802\u5835\u57F7\u57F9\u5920\u5962\u5A36\u5A41\u5A49\u5A66\u5A6A\u5A40"],["b140","\u5A3C\u5A62\u5A5A\u5A46\u5A4A\u5B70\u5BC7\u5BC5\u5BC4\u5BC2\u5BBF\u5BC6\u5C09\u5C08\u5C07\u5C60\u5C5C\u5C5D\u5D07\u5D06\u5D0E\u5D1B\u5D16\u5D22\u5D11\u5D29\u5D14\u5D19\u5D24\u5D27\u5D17\u5DE2\u5E38\u5E36\u5E33\u5E37\u5EB7\u5EB8\u5EB6\u5EB5\u5EBE\u5F35\u5F37\u5F57\u5F6C\u5F69\u5F6B\u5F97\u5F99\u5F9E\u5F98\u5FA1\u5FA0\u5F9C\u607F\u60A3\u6089\u60A0\u60A8\u60CB\u60B4\u60E6\u60BD"],["b1a1","\u60C5\u60BB\u60B5\u60DC\u60BC\u60D8\u60D5\u60C6\u60DF\u60B8\u60DA\u60C7\u621A\u621B\u6248\u63A0\u63A7\u6372\u6396\u63A2\u63A5\u6377\u6367\u6398\u63AA\u6371\u63A9\u6389\u6383\u639B\u636B\u63A8\u6384\u6388\u6399\u63A1\u63AC\u6392\u638F\u6380\u637B\u6369\u6368\u637A\u655D\u6556\u6551\u6559\u6557\u555F\u654F\u6558\u6555\u6554\u659C\u659B\u65AC\u65CF\u65CB\u65CC\u65CE\u665D\u665A\u6664\u6668\u6666\u665E\u66F9\u52D7\u671B\u6881\u68AF\u68A2\u6893\u68B5\u687F\u6876\u68B1\u68A7\u6897\u68B0\u6883\u68C4\u68AD\u6886\u6885\u6894\u689D\u68A8\u689F\u68A1\u6882\u6B32\u6BBA"],["b240","\u6BEB\u6BEC\u6C2B\u6D8E\u6DBC\u6DF3\u6DD9\u6DB2\u6DE1\u6DCC\u6DE4\u6DFB\u6DFA\u6E05\u6DC7\u6DCB\u6DAF\u6DD1\u6DAE\u6DDE\u6DF9\u6DB8\u6DF7\u6DF5\u6DC5\u6DD2\u6E1A\u6DB5\u6DDA\u6DEB\u6DD8\u6DEA\u6DF1\u6DEE\u6DE8\u6DC6\u6DC4\u6DAA\u6DEC\u6DBF\u6DE6\u70F9\u7109\u710A\u70FD\u70EF\u723D\u727D\u7281\u731C\u731B\u7316\u7313\u7319\u7387\u7405\u740A\u7403\u7406\u73FE\u740D\u74E0\u74F6"],["b2a1","\u74F7\u751C\u7522\u7565\u7566\u7562\u7570\u758F\u75D4\u75D5\u75B5\u75CA\u75CD\u768E\u76D4\u76D2\u76DB\u7737\u773E\u773C\u7736\u7738\u773A\u786B\u7843\u784E\u7965\u7968\u796D\u79FB\u7A92\u7A95\u7B20\u7B28\u7B1B\u7B2C\u7B26\u7B19\u7B1E\u7B2E\u7C92\u7C97\u7C95\u7D46\u7D43\u7D71\u7D2E\u7D39\u7D3C\u7D40\u7D30\u7D33\u7D44\u7D2F\u7D42\u7D32\u7D31\u7F3D\u7F9E\u7F9A\u7FCC\u7FCE\u7FD2\u801C\u804A\u8046\u812F\u8116\u8123\u812B\u8129\u8130\u8124\u8202\u8235\u8237\u8236\u8239\u838E\u839E\u8398\u8378\u83A2\u8396\u83BD\u83AB\u8392\u838A\u8393\u8389\u83A0\u8377\u837B\u837C"],["b340","\u8386\u83A7\u8655\u5F6A\u86C7\u86C0\u86B6\u86C4\u86B5\u86C6\u86CB\u86B1\u86AF\u86C9\u8853\u889E\u8888\u88AB\u8892\u8896\u888D\u888B\u8993\u898F\u8A2A\u8A1D\u8A23\u8A25\u8A31\u8A2D\u8A1F\u8A1B\u8A22\u8C49\u8C5A\u8CA9\u8CAC\u8CAB\u8CA8\u8CAA\u8CA7\u8D67\u8D66\u8DBE\u8DBA\u8EDB\u8EDF\u9019\u900D\u901A\u9017\u9023\u901F\u901D\u9010\u9015\u901E\u9020\u900F\u9022\u9016\u901B\u9014"],["b3a1","\u90E8\u90ED\u90FD\u9157\u91CE\u91F5\u91E6\u91E3\u91E7\u91ED\u91E9\u9589\u966A\u9675\u9673\u9678\u9670\u9674\u9676\u9677\u966C\u96C0\u96EA\u96E9\u7AE0\u7ADF\u9802\u9803\u9B5A\u9CE5\u9E75\u9E7F\u9EA5\u9EBB\u50A2\u508D\u5085\u5099\u5091\u5080\u5096\u5098\u509A\u6700\u51F1\u5272\u5274\u5275\u5269\u52DE\u52DD\u52DB\u535A\u53A5\u557B\u5580\u55A7\u557C\u558A\u559D\u5598\u5582\u559C\u55AA\u5594\u5587\u558B\u5583\u55B3\u55AE\u559F\u553E\u55B2\u559A\u55BB\u55AC\u55B1\u557E\u5589\u55AB\u5599\u570D\u582F\u582A\u5834\u5824\u5830\u5831\u5821\u581D\u5820\u58F9\u58FA\u5960"],["b440","\u5A77\u5A9A\u5A7F\u5A92\u5A9B\u5AA7\u5B73\u5B71\u5BD2\u5BCC\u5BD3\u5BD0\u5C0A\u5C0B\u5C31\u5D4C\u5D50\u5D34\u5D47\u5DFD\u5E45\u5E3D\u5E40\u5E43\u5E7E\u5ECA\u5EC1\u5EC2\u5EC4\u5F3C\u5F6D\u5FA9\u5FAA\u5FA8\u60D1\u60E1\u60B2\u60B6\u60E0\u611C\u6123\u60FA\u6115\u60F0\u60FB\u60F4\u6168\u60F1\u610E\u60F6\u6109\u6100\u6112\u621F\u6249\u63A3\u638C\u63CF\u63C0\u63E9\u63C9\u63C6\u63CD"],["b4a1","\u63D2\u63E3\u63D0\u63E1\u63D6\u63ED\u63EE\u6376\u63F4\u63EA\u63DB\u6452\u63DA\u63F9\u655E\u6566\u6562\u6563\u6591\u6590\u65AF\u666E\u6670\u6674\u6676\u666F\u6691\u667A\u667E\u6677\u66FE\u66FF\u671F\u671D\u68FA\u68D5\u68E0\u68D8\u68D7\u6905\u68DF\u68F5\u68EE\u68E7\u68F9\u68D2\u68F2\u68E3\u68CB\u68CD\u690D\u6912\u690E\u68C9\u68DA\u696E\u68FB\u6B3E\u6B3A\u6B3D\u6B98\u6B96\u6BBC\u6BEF\u6C2E\u6C2F\u6C2C\u6E2F\u6E38\u6E54\u6E21\u6E32\u6E67\u6E4A\u6E20\u6E25\u6E23\u6E1B\u6E5B\u6E58\u6E24\u6E56\u6E6E\u6E2D\u6E26\u6E6F\u6E34\u6E4D\u6E3A\u6E2C\u6E43\u6E1D\u6E3E\u6ECB"],["b540","\u6E89\u6E19\u6E4E\u6E63\u6E44\u6E72\u6E69\u6E5F\u7119\u711A\u7126\u7130\u7121\u7136\u716E\u711C\u724C\u7284\u7280\u7336\u7325\u7334\u7329\u743A\u742A\u7433\u7422\u7425\u7435\u7436\u7434\u742F\u741B\u7426\u7428\u7525\u7526\u756B\u756A\u75E2\u75DB\u75E3\u75D9\u75D8\u75DE\u75E0\u767B\u767C\u7696\u7693\u76B4\u76DC\u774F\u77ED\u785D\u786C\u786F\u7A0D\u7A08\u7A0B\u7A05\u7A00\u7A98"],["b5a1","\u7A97\u7A96\u7AE5\u7AE3\u7B49\u7B56\u7B46\u7B50\u7B52\u7B54\u7B4D\u7B4B\u7B4F\u7B51\u7C9F\u7CA5\u7D5E\u7D50\u7D68\u7D55\u7D2B\u7D6E\u7D72\u7D61\u7D66\u7D62\u7D70\u7D73\u5584\u7FD4\u7FD5\u800B\u8052\u8085\u8155\u8154\u814B\u8151\u814E\u8139\u8146\u813E\u814C\u8153\u8174\u8212\u821C\u83E9\u8403\u83F8\u840D\u83E0\u83C5\u840B\u83C1\u83EF\u83F1\u83F4\u8457\u840A\u83F0\u840C\u83CC\u83FD\u83F2\u83CA\u8438\u840E\u8404\u83DC\u8407\u83D4\u83DF\u865B\u86DF\u86D9\u86ED\u86D4\u86DB\u86E4\u86D0\u86DE\u8857\u88C1\u88C2\u88B1\u8983\u8996\u8A3B\u8A60\u8A55\u8A5E\u8A3C\u8A41"],["b640","\u8A54\u8A5B\u8A50\u8A46\u8A34\u8A3A\u8A36\u8A56\u8C61\u8C82\u8CAF\u8CBC\u8CB3\u8CBD\u8CC1\u8CBB\u8CC0\u8CB4\u8CB7\u8CB6\u8CBF\u8CB8\u8D8A\u8D85\u8D81\u8DCE\u8DDD\u8DCB\u8DDA\u8DD1\u8DCC\u8DDB\u8DC6\u8EFB\u8EF8\u8EFC\u8F9C\u902E\u9035\u9031\u9038\u9032\u9036\u9102\u90F5\u9109\u90FE\u9163\u9165\u91CF\u9214\u9215\u9223\u9209\u921E\u920D\u9210\u9207\u9211\u9594\u958F\u958B\u9591"],["b6a1","\u9593\u9592\u958E\u968A\u968E\u968B\u967D\u9685\u9686\u968D\u9672\u9684\u96C1\u96C5\u96C4\u96C6\u96C7\u96EF\u96F2\u97CC\u9805\u9806\u9808\u98E7\u98EA\u98EF\u98E9\u98F2\u98ED\u99AE\u99AD\u9EC3\u9ECD\u9ED1\u4E82\u50AD\u50B5\u50B2\u50B3\u50C5\u50BE\u50AC\u50B7\u50BB\u50AF\u50C7\u527F\u5277\u527D\u52DF\u52E6\u52E4\u52E2\u52E3\u532F\u55DF\u55E8\u55D3\u55E6\u55CE\u55DC\u55C7\u55D1\u55E3\u55E4\u55EF\u55DA\u55E1\u55C5\u55C6\u55E5\u55C9\u5712\u5713\u585E\u5851\u5858\u5857\u585A\u5854\u586B\u584C\u586D\u584A\u5862\u5852\u584B\u5967\u5AC1\u5AC9\u5ACC\u5ABE\u5ABD\u5ABC"],["b740","\u5AB3\u5AC2\u5AB2\u5D69\u5D6F\u5E4C\u5E79\u5EC9\u5EC8\u5F12\u5F59\u5FAC\u5FAE\u611A\u610F\u6148\u611F\u60F3\u611B\u60F9\u6101\u6108\u614E\u614C\u6144\u614D\u613E\u6134\u6127\u610D\u6106\u6137\u6221\u6222\u6413\u643E\u641E\u642A\u642D\u643D\u642C\u640F\u641C\u6414\u640D\u6436\u6416\u6417\u6406\u656C\u659F\u65B0\u6697\u6689\u6687\u6688\u6696\u6684\u6698\u668D\u6703\u6994\u696D"],["b7a1","\u695A\u6977\u6960\u6954\u6975\u6930\u6982\u694A\u6968\u696B\u695E\u6953\u6979\u6986\u695D\u6963\u695B\u6B47\u6B72\u6BC0\u6BBF\u6BD3\u6BFD\u6EA2\u6EAF\u6ED3\u6EB6\u6EC2\u6E90\u6E9D\u6EC7\u6EC5\u6EA5\u6E98\u6EBC\u6EBA\u6EAB\u6ED1\u6E96\u6E9C\u6EC4\u6ED4\u6EAA\u6EA7\u6EB4\u714E\u7159\u7169\u7164\u7149\u7167\u715C\u716C\u7166\u714C\u7165\u715E\u7146\u7168\u7156\u723A\u7252\u7337\u7345\u733F\u733E\u746F\u745A\u7455\u745F\u745E\u7441\u743F\u7459\u745B\u745C\u7576\u7578\u7600\u75F0\u7601\u75F2\u75F1\u75FA\u75FF\u75F4\u75F3\u76DE\u76DF\u775B\u776B\u7766\u775E\u7763"],["b840","\u7779\u776A\u776C\u775C\u7765\u7768\u7762\u77EE\u788E\u78B0\u7897\u7898\u788C\u7889\u787C\u7891\u7893\u787F\u797A\u797F\u7981\u842C\u79BD\u7A1C\u7A1A\u7A20\u7A14\u7A1F\u7A1E\u7A9F\u7AA0\u7B77\u7BC0\u7B60\u7B6E\u7B67\u7CB1\u7CB3\u7CB5\u7D93\u7D79\u7D91\u7D81\u7D8F\u7D5B\u7F6E\u7F69\u7F6A\u7F72\u7FA9\u7FA8\u7FA4\u8056\u8058\u8086\u8084\u8171\u8170\u8178\u8165\u816E\u8173\u816B"],["b8a1","\u8179\u817A\u8166\u8205\u8247\u8482\u8477\u843D\u8431\u8475\u8466\u846B\u8449\u846C\u845B\u843C\u8435\u8461\u8463\u8469\u846D\u8446\u865E\u865C\u865F\u86F9\u8713\u8708\u8707\u8700\u86FE\u86FB\u8702\u8703\u8706\u870A\u8859\u88DF\u88D4\u88D9\u88DC\u88D8\u88DD\u88E1\u88CA\u88D5\u88D2\u899C\u89E3\u8A6B\u8A72\u8A73\u8A66\u8A69\u8A70\u8A87\u8A7C\u8A63\u8AA0\u8A71\u8A85\u8A6D\u8A62\u8A6E\u8A6C\u8A79\u8A7B\u8A3E\u8A68\u8C62\u8C8A\u8C89\u8CCA\u8CC7\u8CC8\u8CC4\u8CB2\u8CC3\u8CC2\u8CC5\u8DE1\u8DDF\u8DE8\u8DEF\u8DF3\u8DFA\u8DEA\u8DE4\u8DE6\u8EB2\u8F03\u8F09\u8EFE\u8F0A"],["b940","\u8F9F\u8FB2\u904B\u904A\u9053\u9042\u9054\u903C\u9055\u9050\u9047\u904F\u904E\u904D\u9051\u903E\u9041\u9112\u9117\u916C\u916A\u9169\u91C9\u9237\u9257\u9238\u923D\u9240\u923E\u925B\u924B\u9264\u9251\u9234\u9249\u924D\u9245\u9239\u923F\u925A\u9598\u9698\u9694\u9695\u96CD\u96CB\u96C9\u96CA\u96F7\u96FB\u96F9\u96F6\u9756\u9774\u9776\u9810\u9811\u9813\u980A\u9812\u980C\u98FC\u98F4"],["b9a1","\u98FD\u98FE\u99B3\u99B1\u99B4\u9AE1\u9CE9\u9E82\u9F0E\u9F13\u9F20\u50E7\u50EE\u50E5\u50D6\u50ED\u50DA\u50D5\u50CF\u50D1\u50F1\u50CE\u50E9\u5162\u51F3\u5283\u5282\u5331\u53AD\u55FE\u5600\u561B\u5617\u55FD\u5614\u5606\u5609\u560D\u560E\u55F7\u5616\u561F\u5608\u5610\u55F6\u5718\u5716\u5875\u587E\u5883\u5893\u588A\u5879\u5885\u587D\u58FD\u5925\u5922\u5924\u596A\u5969\u5AE1\u5AE6\u5AE9\u5AD7\u5AD6\u5AD8\u5AE3\u5B75\u5BDE\u5BE7\u5BE1\u5BE5\u5BE6\u5BE8\u5BE2\u5BE4\u5BDF\u5C0D\u5C62\u5D84\u5D87\u5E5B\u5E63\u5E55\u5E57\u5E54\u5ED3\u5ED6\u5F0A\u5F46\u5F70\u5FB9\u6147"],["ba40","\u613F\u614B\u6177\u6162\u6163\u615F\u615A\u6158\u6175\u622A\u6487\u6458\u6454\u64A4\u6478\u645F\u647A\u6451\u6467\u6434\u646D\u647B\u6572\u65A1\u65D7\u65D6\u66A2\u66A8\u669D\u699C\u69A8\u6995\u69C1\u69AE\u69D3\u69CB\u699B\u69B7\u69BB\u69AB\u69B4\u69D0\u69CD\u69AD\u69CC\u69A6\u69C3\u69A3\u6B49\u6B4C\u6C33\u6F33\u6F14\u6EFE\u6F13\u6EF4\u6F29\u6F3E\u6F20\u6F2C\u6F0F\u6F02\u6F22"],["baa1","\u6EFF\u6EEF\u6F06\u6F31\u6F38\u6F32\u6F23\u6F15\u6F2B\u6F2F\u6F88\u6F2A\u6EEC\u6F01\u6EF2\u6ECC\u6EF7\u7194\u7199\u717D\u718A\u7184\u7192\u723E\u7292\u7296\u7344\u7350\u7464\u7463\u746A\u7470\u746D\u7504\u7591\u7627\u760D\u760B\u7609\u7613\u76E1\u76E3\u7784\u777D\u777F\u7761\u78C1\u789F\u78A7\u78B3\u78A9\u78A3\u798E\u798F\u798D\u7A2E\u7A31\u7AAA\u7AA9\u7AED\u7AEF\u7BA1\u7B95\u7B8B\u7B75\u7B97\u7B9D\u7B94\u7B8F\u7BB8\u7B87\u7B84\u7CB9\u7CBD\u7CBE\u7DBB\u7DB0\u7D9C\u7DBD\u7DBE\u7DA0\u7DCA\u7DB4\u7DB2\u7DB1\u7DBA\u7DA2\u7DBF\u7DB5\u7DB8\u7DAD\u7DD2\u7DC7\u7DAC"],["bb40","\u7F70\u7FE0\u7FE1\u7FDF\u805E\u805A\u8087\u8150\u8180\u818F\u8188\u818A\u817F\u8182\u81E7\u81FA\u8207\u8214\u821E\u824B\u84C9\u84BF\u84C6\u84C4\u8499\u849E\u84B2\u849C\u84CB\u84B8\u84C0\u84D3\u8490\u84BC\u84D1\u84CA\u873F\u871C\u873B\u8722\u8725\u8734\u8718\u8755\u8737\u8729\u88F3\u8902\u88F4\u88F9\u88F8\u88FD\u88E8\u891A\u88EF\u8AA6\u8A8C\u8A9E\u8AA3\u8A8D\u8AA1\u8A93\u8AA4"],["bba1","\u8AAA\u8AA5\u8AA8\u8A98\u8A91\u8A9A\u8AA7\u8C6A\u8C8D\u8C8C\u8CD3\u8CD1\u8CD2\u8D6B\u8D99\u8D95\u8DFC\u8F14\u8F12\u8F15\u8F13\u8FA3\u9060\u9058\u905C\u9063\u9059\u905E\u9062\u905D\u905B\u9119\u9118\u911E\u9175\u9178\u9177\u9174\u9278\u9280\u9285\u9298\u9296\u927B\u9293\u929C\u92A8\u927C\u9291\u95A1\u95A8\u95A9\u95A3\u95A5\u95A4\u9699\u969C\u969B\u96CC\u96D2\u9700\u977C\u9785\u97F6\u9817\u9818\u98AF\u98B1\u9903\u9905\u990C\u9909\u99C1\u9AAF\u9AB0\u9AE6\u9B41\u9B42\u9CF4\u9CF6\u9CF3\u9EBC\u9F3B\u9F4A\u5104\u5100\u50FB\u50F5\u50F9\u5102\u5108\u5109\u5105\u51DC"],["bc40","\u5287\u5288\u5289\u528D\u528A\u52F0\u53B2\u562E\u563B\u5639\u5632\u563F\u5634\u5629\u5653\u564E\u5657\u5674\u5636\u562F\u5630\u5880\u589F\u589E\u58B3\u589C\u58AE\u58A9\u58A6\u596D\u5B09\u5AFB\u5B0B\u5AF5\u5B0C\u5B08\u5BEE\u5BEC\u5BE9\u5BEB\u5C64\u5C65\u5D9D\u5D94\u5E62\u5E5F\u5E61\u5EE2\u5EDA\u5EDF\u5EDD\u5EE3\u5EE0\u5F48\u5F71\u5FB7\u5FB5\u6176\u6167\u616E\u615D\u6155\u6182"],["bca1","\u617C\u6170\u616B\u617E\u61A7\u6190\u61AB\u618E\u61AC\u619A\u61A4\u6194\u61AE\u622E\u6469\u646F\u6479\u649E\u64B2\u6488\u6490\u64B0\u64A5\u6493\u6495\u64A9\u6492\u64AE\u64AD\u64AB\u649A\u64AC\u6499\u64A2\u64B3\u6575\u6577\u6578\u66AE\u66AB\u66B4\u66B1\u6A23\u6A1F\u69E8\u6A01\u6A1E\u6A19\u69FD\u6A21\u6A13\u6A0A\u69F3\u6A02\u6A05\u69ED\u6A11\u6B50\u6B4E\u6BA4\u6BC5\u6BC6\u6F3F\u6F7C\u6F84\u6F51\u6F66\u6F54\u6F86\u6F6D\u6F5B\u6F78\u6F6E\u6F8E\u6F7A\u6F70\u6F64\u6F97\u6F58\u6ED5\u6F6F\u6F60\u6F5F\u719F\u71AC\u71B1\u71A8\u7256\u729B\u734E\u7357\u7469\u748B\u7483"],["bd40","\u747E\u7480\u757F\u7620\u7629\u761F\u7624\u7626\u7621\u7622\u769A\u76BA\u76E4\u778E\u7787\u778C\u7791\u778B\u78CB\u78C5\u78BA\u78CA\u78BE\u78D5\u78BC\u78D0\u7A3F\u7A3C\u7A40\u7A3D\u7A37\u7A3B\u7AAF\u7AAE\u7BAD\u7BB1\u7BC4\u7BB4\u7BC6\u7BC7\u7BC1\u7BA0\u7BCC\u7CCA\u7DE0\u7DF4\u7DEF\u7DFB\u7DD8\u7DEC\u7DDD\u7DE8\u7DE3\u7DDA\u7DDE\u7DE9\u7D9E\u7DD9\u7DF2\u7DF9\u7F75\u7F77\u7FAF"],["bda1","\u7FE9\u8026\u819B\u819C\u819D\u81A0\u819A\u8198\u8517\u853D\u851A\u84EE\u852C\u852D\u8513\u8511\u8523\u8521\u8514\u84EC\u8525\u84FF\u8506\u8782\u8774\u8776\u8760\u8766\u8778\u8768\u8759\u8757\u874C\u8753\u885B\u885D\u8910\u8907\u8912\u8913\u8915\u890A\u8ABC\u8AD2\u8AC7\u8AC4\u8A95\u8ACB\u8AF8\u8AB2\u8AC9\u8AC2\u8ABF\u8AB0\u8AD6\u8ACD\u8AB6\u8AB9\u8ADB\u8C4C\u8C4E\u8C6C\u8CE0\u8CDE\u8CE6\u8CE4\u8CEC\u8CED\u8CE2\u8CE3\u8CDC\u8CEA\u8CE1\u8D6D\u8D9F\u8DA3\u8E2B\u8E10\u8E1D\u8E22\u8E0F\u8E29\u8E1F\u8E21\u8E1E\u8EBA\u8F1D\u8F1B\u8F1F\u8F29\u8F26\u8F2A\u8F1C\u8F1E"],["be40","\u8F25\u9069\u906E\u9068\u906D\u9077\u9130\u912D\u9127\u9131\u9187\u9189\u918B\u9183\u92C5\u92BB\u92B7\u92EA\u92AC\u92E4\u92C1\u92B3\u92BC\u92D2\u92C7\u92F0\u92B2\u95AD\u95B1\u9704\u9706\u9707\u9709\u9760\u978D\u978B\u978F\u9821\u982B\u981C\u98B3\u990A\u9913\u9912\u9918\u99DD\u99D0\u99DF\u99DB\u99D1\u99D5\u99D2\u99D9\u9AB7\u9AEE\u9AEF\u9B27\u9B45\u9B44\u9B77\u9B6F\u9D06\u9D09"],["bea1","\u9D03\u9EA9\u9EBE\u9ECE\u58A8\u9F52\u5112\u5118\u5114\u5110\u5115\u5180\u51AA\u51DD\u5291\u5293\u52F3\u5659\u566B\u5679\u5669\u5664\u5678\u566A\u5668\u5665\u5671\u566F\u566C\u5662\u5676\u58C1\u58BE\u58C7\u58C5\u596E\u5B1D\u5B34\u5B78\u5BF0\u5C0E\u5F4A\u61B2\u6191\u61A9\u618A\u61CD\u61B6\u61BE\u61CA\u61C8\u6230\u64C5\u64C1\u64CB\u64BB\u64BC\u64DA\u64C4\u64C7\u64C2\u64CD\u64BF\u64D2\u64D4\u64BE\u6574\u66C6\u66C9\u66B9\u66C4\u66C7\u66B8\u6A3D\u6A38\u6A3A\u6A59\u6A6B\u6A58\u6A39\u6A44\u6A62\u6A61\u6A4B\u6A47\u6A35\u6A5F\u6A48\u6B59\u6B77\u6C05\u6FC2\u6FB1\u6FA1"],["bf40","\u6FC3\u6FA4\u6FC1\u6FA7\u6FB3\u6FC0\u6FB9\u6FB6\u6FA6\u6FA0\u6FB4\u71BE\u71C9\u71D0\u71D2\u71C8\u71D5\u71B9\u71CE\u71D9\u71DC\u71C3\u71C4\u7368\u749C\u74A3\u7498\u749F\u749E\u74E2\u750C\u750D\u7634\u7638\u763A\u76E7\u76E5\u77A0\u779E\u779F\u77A5\u78E8\u78DA\u78EC\u78E7\u79A6\u7A4D\u7A4E\u7A46\u7A4C\u7A4B\u7ABA\u7BD9\u7C11\u7BC9\u7BE4\u7BDB\u7BE1\u7BE9\u7BE6\u7CD5\u7CD6\u7E0A"],["bfa1","\u7E11\u7E08\u7E1B\u7E23\u7E1E\u7E1D\u7E09\u7E10\u7F79\u7FB2\u7FF0\u7FF1\u7FEE\u8028\u81B3\u81A9\u81A8\u81FB\u8208\u8258\u8259\u854A\u8559\u8548\u8568\u8569\u8543\u8549\u856D\u856A\u855E\u8783\u879F\u879E\u87A2\u878D\u8861\u892A\u8932\u8925\u892B\u8921\u89AA\u89A6\u8AE6\u8AFA\u8AEB\u8AF1\u8B00\u8ADC\u8AE7\u8AEE\u8AFE\u8B01\u8B02\u8AF7\u8AED\u8AF3\u8AF6\u8AFC\u8C6B\u8C6D\u8C93\u8CF4\u8E44\u8E31\u8E34\u8E42\u8E39\u8E35\u8F3B\u8F2F\u8F38\u8F33\u8FA8\u8FA6\u9075\u9074\u9078\u9072\u907C\u907A\u9134\u9192\u9320\u9336\u92F8\u9333\u932F\u9322\u92FC\u932B\u9304\u931A"],["c040","\u9310\u9326\u9321\u9315\u932E\u9319\u95BB\u96A7\u96A8\u96AA\u96D5\u970E\u9711\u9716\u970D\u9713\u970F\u975B\u975C\u9766\u9798\u9830\u9838\u983B\u9837\u982D\u9839\u9824\u9910\u9928\u991E\u991B\u9921\u991A\u99ED\u99E2\u99F1\u9AB8\u9ABC\u9AFB\u9AED\u9B28\u9B91\u9D15\u9D23\u9D26\u9D28\u9D12\u9D1B\u9ED8\u9ED4\u9F8D\u9F9C\u512A\u511F\u5121\u5132\u52F5\u568E\u5680\u5690\u5685\u5687"],["c0a1","\u568F\u58D5\u58D3\u58D1\u58CE\u5B30\u5B2A\u5B24\u5B7A\u5C37\u5C68\u5DBC\u5DBA\u5DBD\u5DB8\u5E6B\u5F4C\u5FBD\u61C9\u61C2\u61C7\u61E6\u61CB\u6232\u6234\u64CE\u64CA\u64D8\u64E0\u64F0\u64E6\u64EC\u64F1\u64E2\u64ED\u6582\u6583\u66D9\u66D6\u6A80\u6A94\u6A84\u6AA2\u6A9C\u6ADB\u6AA3\u6A7E\u6A97\u6A90\u6AA0\u6B5C\u6BAE\u6BDA\u6C08\u6FD8\u6FF1\u6FDF\u6FE0\u6FDB\u6FE4\u6FEB\u6FEF\u6F80\u6FEC\u6FE1\u6FE9\u6FD5\u6FEE\u6FF0\u71E7\u71DF\u71EE\u71E6\u71E5\u71ED\u71EC\u71F4\u71E0\u7235\u7246\u7370\u7372\u74A9\u74B0\u74A6\u74A8\u7646\u7642\u764C\u76EA\u77B3\u77AA\u77B0\u77AC"],["c140","\u77A7\u77AD\u77EF\u78F7\u78FA\u78F4\u78EF\u7901\u79A7\u79AA\u7A57\u7ABF\u7C07\u7C0D\u7BFE\u7BF7\u7C0C\u7BE0\u7CE0\u7CDC\u7CDE\u7CE2\u7CDF\u7CD9\u7CDD\u7E2E\u7E3E\u7E46\u7E37\u7E32\u7E43\u7E2B\u7E3D\u7E31\u7E45\u7E41\u7E34\u7E39\u7E48\u7E35\u7E3F\u7E2F\u7F44\u7FF3\u7FFC\u8071\u8072\u8070\u806F\u8073\u81C6\u81C3\u81BA\u81C2\u81C0\u81BF\u81BD\u81C9\u81BE\u81E8\u8209\u8271\u85AA"],["c1a1","\u8584\u857E\u859C\u8591\u8594\u85AF\u859B\u8587\u85A8\u858A\u8667\u87C0\u87D1\u87B3\u87D2\u87C6\u87AB\u87BB\u87BA\u87C8\u87CB\u893B\u8936\u8944\u8938\u893D\u89AC\u8B0E\u8B17\u8B19\u8B1B\u8B0A\u8B20\u8B1D\u8B04\u8B10\u8C41\u8C3F\u8C73\u8CFA\u8CFD\u8CFC\u8CF8\u8CFB\u8DA8\u8E49\u8E4B\u8E48\u8E4A\u8F44\u8F3E\u8F42\u8F45\u8F3F\u907F\u907D\u9084\u9081\u9082\u9080\u9139\u91A3\u919E\u919C\u934D\u9382\u9328\u9375\u934A\u9365\u934B\u9318\u937E\u936C\u935B\u9370\u935A\u9354\u95CA\u95CB\u95CC\u95C8\u95C6\u96B1\u96B8\u96D6\u971C\u971E\u97A0\u97D3\u9846\u98B6\u9935\u9A01"],["c240","\u99FF\u9BAE\u9BAB\u9BAA\u9BAD\u9D3B\u9D3F\u9E8B\u9ECF\u9EDE\u9EDC\u9EDD\u9EDB\u9F3E\u9F4B\u53E2\u5695\u56AE\u58D9\u58D8\u5B38\u5F5D\u61E3\u6233\u64F4\u64F2\u64FE\u6506\u64FA\u64FB\u64F7\u65B7\u66DC\u6726\u6AB3\u6AAC\u6AC3\u6ABB\u6AB8\u6AC2\u6AAE\u6AAF\u6B5F\u6B78\u6BAF\u7009\u700B\u6FFE\u7006\u6FFA\u7011\u700F\u71FB\u71FC\u71FE\u71F8\u7377\u7375\u74A7\u74BF\u7515\u7656\u7658"],["c2a1","\u7652\u77BD\u77BF\u77BB\u77BC\u790E\u79AE\u7A61\u7A62\u7A60\u7AC4\u7AC5\u7C2B\u7C27\u7C2A\u7C1E\u7C23\u7C21\u7CE7\u7E54\u7E55\u7E5E\u7E5A\u7E61\u7E52\u7E59\u7F48\u7FF9\u7FFB\u8077\u8076\u81CD\u81CF\u820A\u85CF\u85A9\u85CD\u85D0\u85C9\u85B0\u85BA\u85B9\u85A6\u87EF\u87EC\u87F2\u87E0\u8986\u89B2\u89F4\u8B28\u8B39\u8B2C\u8B2B\u8C50\u8D05\u8E59\u8E63\u8E66\u8E64\u8E5F\u8E55\u8EC0\u8F49\u8F4D\u9087\u9083\u9088\u91AB\u91AC\u91D0\u9394\u938A\u9396\u93A2\u93B3\u93AE\u93AC\u93B0\u9398\u939A\u9397\u95D4\u95D6\u95D0\u95D5\u96E2\u96DC\u96D9\u96DB\u96DE\u9724\u97A3\u97A6"],["c340","\u97AD\u97F9\u984D\u984F\u984C\u984E\u9853\u98BA\u993E\u993F\u993D\u992E\u99A5\u9A0E\u9AC1\u9B03\u9B06\u9B4F\u9B4E\u9B4D\u9BCA\u9BC9\u9BFD\u9BC8\u9BC0\u9D51\u9D5D\u9D60\u9EE0\u9F15\u9F2C\u5133\u56A5\u58DE\u58DF\u58E2\u5BF5\u9F90\u5EEC\u61F2\u61F7\u61F6\u61F5\u6500\u650F\u66E0\u66DD\u6AE5\u6ADD\u6ADA\u6AD3\u701B\u701F\u7028\u701A\u701D\u7015\u7018\u7206\u720D\u7258\u72A2\u7378"],["c3a1","\u737A\u74BD\u74CA\u74E3\u7587\u7586\u765F\u7661\u77C7\u7919\u79B1\u7A6B\u7A69\u7C3E\u7C3F\u7C38\u7C3D\u7C37\u7C40\u7E6B\u7E6D\u7E79\u7E69\u7E6A\u7F85\u7E73\u7FB6\u7FB9\u7FB8\u81D8\u85E9\u85DD\u85EA\u85D5\u85E4\u85E5\u85F7\u87FB\u8805\u880D\u87F9\u87FE\u8960\u895F\u8956\u895E\u8B41\u8B5C\u8B58\u8B49\u8B5A\u8B4E\u8B4F\u8B46\u8B59\u8D08\u8D0A\u8E7C\u8E72\u8E87\u8E76\u8E6C\u8E7A\u8E74\u8F54\u8F4E\u8FAD\u908A\u908B\u91B1\u91AE\u93E1\u93D1\u93DF\u93C3\u93C8\u93DC\u93DD\u93D6\u93E2\u93CD\u93D8\u93E4\u93D7\u93E8\u95DC\u96B4\u96E3\u972A\u9727\u9761\u97DC\u97FB\u985E"],["c440","\u9858\u985B\u98BC\u9945\u9949\u9A16\u9A19\u9B0D\u9BE8\u9BE7\u9BD6\u9BDB\u9D89\u9D61\u9D72\u9D6A\u9D6C\u9E92\u9E97\u9E93\u9EB4\u52F8\u56A8\u56B7\u56B6\u56B4\u56BC\u58E4\u5B40\u5B43\u5B7D\u5BF6\u5DC9\u61F8\u61FA\u6518\u6514\u6519\u66E6\u6727\u6AEC\u703E\u7030\u7032\u7210\u737B\u74CF\u7662\u7665\u7926\u792A\u792C\u792B\u7AC7\u7AF6\u7C4C\u7C43\u7C4D\u7CEF\u7CF0\u8FAE\u7E7D\u7E7C"],["c4a1","\u7E82\u7F4C\u8000\u81DA\u8266\u85FB\u85F9\u8611\u85FA\u8606\u860B\u8607\u860A\u8814\u8815\u8964\u89BA\u89F8\u8B70\u8B6C\u8B66\u8B6F\u8B5F\u8B6B\u8D0F\u8D0D\u8E89\u8E81\u8E85\u8E82\u91B4\u91CB\u9418\u9403\u93FD\u95E1\u9730\u98C4\u9952\u9951\u99A8\u9A2B\u9A30\u9A37\u9A35\u9C13\u9C0D\u9E79\u9EB5\u9EE8\u9F2F\u9F5F\u9F63\u9F61\u5137\u5138\u56C1\u56C0\u56C2\u5914\u5C6C\u5DCD\u61FC\u61FE\u651D\u651C\u6595\u66E9\u6AFB\u6B04\u6AFA\u6BB2\u704C\u721B\u72A7\u74D6\u74D4\u7669\u77D3\u7C50\u7E8F\u7E8C\u7FBC\u8617\u862D\u861A\u8823\u8822\u8821\u881F\u896A\u896C\u89BD\u8B74"],["c540","\u8B77\u8B7D\u8D13\u8E8A\u8E8D\u8E8B\u8F5F\u8FAF\u91BA\u942E\u9433\u9435\u943A\u9438\u9432\u942B\u95E2\u9738\u9739\u9732\u97FF\u9867\u9865\u9957\u9A45\u9A43\u9A40\u9A3E\u9ACF\u9B54\u9B51\u9C2D\u9C25\u9DAF\u9DB4\u9DC2\u9DB8\u9E9D\u9EEF\u9F19\u9F5C\u9F66\u9F67\u513C\u513B\u56C8\u56CA\u56C9\u5B7F\u5DD4\u5DD2\u5F4E\u61FF\u6524\u6B0A\u6B61\u7051\u7058\u7380\u74E4\u758A\u766E\u766C"],["c5a1","\u79B3\u7C60\u7C5F\u807E\u807D\u81DF\u8972\u896F\u89FC\u8B80\u8D16\u8D17\u8E91\u8E93\u8F61\u9148\u9444\u9451\u9452\u973D\u973E\u97C3\u97C1\u986B\u9955\u9A55\u9A4D\u9AD2\u9B1A\u9C49\u9C31\u9C3E\u9C3B\u9DD3\u9DD7\u9F34\u9F6C\u9F6A\u9F94\u56CC\u5DD6\u6200\u6523\u652B\u652A\u66EC\u6B10\u74DA\u7ACA\u7C64\u7C63\u7C65\u7E93\u7E96\u7E94\u81E2\u8638\u863F\u8831\u8B8A\u9090\u908F\u9463\u9460\u9464\u9768\u986F\u995C\u9A5A\u9A5B\u9A57\u9AD3\u9AD4\u9AD1\u9C54\u9C57\u9C56\u9DE5\u9E9F\u9EF4\u56D1\u58E9\u652C\u705E\u7671\u7672\u77D7\u7F50\u7F88\u8836\u8839\u8862\u8B93\u8B92"],["c640","\u8B96\u8277\u8D1B\u91C0\u946A\u9742\u9748\u9744\u97C6\u9870\u9A5F\u9B22\u9B58\u9C5F\u9DF9\u9DFA\u9E7C\u9E7D\u9F07\u9F77\u9F72\u5EF3\u6B16\u7063\u7C6C\u7C6E\u883B\u89C0\u8EA1\u91C1\u9472\u9470\u9871\u995E\u9AD6\u9B23\u9ECC\u7064\u77DA\u8B9A\u9477\u97C9\u9A62\u9A65\u7E9C\u8B9C\u8EAA\u91C5\u947D\u947E\u947C\u9C77\u9C78\u9EF7\u8C54\u947F\u9E1A\u7228\u9A6A\u9B31\u9E1B\u9E1E\u7C72"],["c940","\u4E42\u4E5C\u51F5\u531A\u5382\u4E07\u4E0C\u4E47\u4E8D\u56D7\uFA0C\u5C6E\u5F73\u4E0F\u5187\u4E0E\u4E2E\u4E93\u4EC2\u4EC9\u4EC8\u5198\u52FC\u536C\u53B9\u5720\u5903\u592C\u5C10\u5DFF\u65E1\u6BB3\u6BCC\u6C14\u723F\u4E31\u4E3C\u4EE8\u4EDC\u4EE9\u4EE1\u4EDD\u4EDA\u520C\u531C\u534C\u5722\u5723\u5917\u592F\u5B81\u5B84\u5C12\u5C3B\u5C74\u5C73\u5E04\u5E80\u5E82\u5FC9\u6209\u6250\u6C15"],["c9a1","\u6C36\u6C43\u6C3F\u6C3B\u72AE\u72B0\u738A\u79B8\u808A\u961E\u4F0E\u4F18\u4F2C\u4EF5\u4F14\u4EF1\u4F00\u4EF7\u4F08\u4F1D\u4F02\u4F05\u4F22\u4F13\u4F04\u4EF4\u4F12\u51B1\u5213\u5209\u5210\u52A6\u5322\u531F\u534D\u538A\u5407\u56E1\u56DF\u572E\u572A\u5734\u593C\u5980\u597C\u5985\u597B\u597E\u5977\u597F\u5B56\u5C15\u5C25\u5C7C\u5C7A\u5C7B\u5C7E\u5DDF\u5E75\u5E84\u5F02\u5F1A\u5F74\u5FD5\u5FD4\u5FCF\u625C\u625E\u6264\u6261\u6266\u6262\u6259\u6260\u625A\u6265\u65EF\u65EE\u673E\u6739\u6738\u673B\u673A\u673F\u673C\u6733\u6C18\u6C46\u6C52\u6C5C\u6C4F\u6C4A\u6C54\u6C4B"],["ca40","\u6C4C\u7071\u725E\u72B4\u72B5\u738E\u752A\u767F\u7A75\u7F51\u8278\u827C\u8280\u827D\u827F\u864D\u897E\u9099\u9097\u9098\u909B\u9094\u9622\u9624\u9620\u9623\u4F56\u4F3B\u4F62\u4F49\u4F53\u4F64\u4F3E\u4F67\u4F52\u4F5F\u4F41\u4F58\u4F2D\u4F33\u4F3F\u4F61\u518F\u51B9\u521C\u521E\u5221\u52AD\u52AE\u5309\u5363\u5372\u538E\u538F\u5430\u5437\u542A\u5454\u5445\u5419\u541C\u5425\u5418"],["caa1","\u543D\u544F\u5441\u5428\u5424\u5447\u56EE\u56E7\u56E5\u5741\u5745\u574C\u5749\u574B\u5752\u5906\u5940\u59A6\u5998\u59A0\u5997\u598E\u59A2\u5990\u598F\u59A7\u59A1\u5B8E\u5B92\u5C28\u5C2A\u5C8D\u5C8F\u5C88\u5C8B\u5C89\u5C92\u5C8A\u5C86\u5C93\u5C95\u5DE0\u5E0A\u5E0E\u5E8B\u5E89\u5E8C\u5E88\u5E8D\u5F05\u5F1D\u5F78\u5F76\u5FD2\u5FD1\u5FD0\u5FED\u5FE8\u5FEE\u5FF3\u5FE1\u5FE4\u5FE3\u5FFA\u5FEF\u5FF7\u5FFB\u6000\u5FF4\u623A\u6283\u628C\u628E\u628F\u6294\u6287\u6271\u627B\u627A\u6270\u6281\u6288\u6277\u627D\u6272\u6274\u6537\u65F0\u65F4\u65F3\u65F2\u65F5\u6745\u6747"],["cb40","\u6759\u6755\u674C\u6748\u675D\u674D\u675A\u674B\u6BD0\u6C19\u6C1A\u6C78\u6C67\u6C6B\u6C84\u6C8B\u6C8F\u6C71\u6C6F\u6C69\u6C9A\u6C6D\u6C87\u6C95\u6C9C\u6C66\u6C73\u6C65\u6C7B\u6C8E\u7074\u707A\u7263\u72BF\u72BD\u72C3\u72C6\u72C1\u72BA\u72C5\u7395\u7397\u7393\u7394\u7392\u753A\u7539\u7594\u7595\u7681\u793D\u8034\u8095\u8099\u8090\u8092\u809C\u8290\u828F\u8285\u828E\u8291\u8293"],["cba1","\u828A\u8283\u8284\u8C78\u8FC9\u8FBF\u909F\u90A1\u90A5\u909E\u90A7\u90A0\u9630\u9628\u962F\u962D\u4E33\u4F98\u4F7C\u4F85\u4F7D\u4F80\u4F87\u4F76\u4F74\u4F89\u4F84\u4F77\u4F4C\u4F97\u4F6A\u4F9A\u4F79\u4F81\u4F78\u4F90\u4F9C\u4F94\u4F9E\u4F92\u4F82\u4F95\u4F6B\u4F6E\u519E\u51BC\u51BE\u5235\u5232\u5233\u5246\u5231\u52BC\u530A\u530B\u533C\u5392\u5394\u5487\u547F\u5481\u5491\u5482\u5488\u546B\u547A\u547E\u5465\u546C\u5474\u5466\u548D\u546F\u5461\u5460\u5498\u5463\u5467\u5464\u56F7\u56F9\u576F\u5772\u576D\u576B\u5771\u5770\u5776\u5780\u5775\u577B\u5773\u5774\u5762"],["cc40","\u5768\u577D\u590C\u5945\u59B5\u59BA\u59CF\u59CE\u59B2\u59CC\u59C1\u59B6\u59BC\u59C3\u59D6\u59B1\u59BD\u59C0\u59C8\u59B4\u59C7\u5B62\u5B65\u5B93\u5B95\u5C44\u5C47\u5CAE\u5CA4\u5CA0\u5CB5\u5CAF\u5CA8\u5CAC\u5C9F\u5CA3\u5CAD\u5CA2\u5CAA\u5CA7\u5C9D\u5CA5\u5CB6\u5CB0\u5CA6\u5E17\u5E14\u5E19\u5F28\u5F22\u5F23\u5F24\u5F54\u5F82\u5F7E\u5F7D\u5FDE\u5FE5\u602D\u6026\u6019\u6032\u600B"],["cca1","\u6034\u600A\u6017\u6033\u601A\u601E\u602C\u6022\u600D\u6010\u602E\u6013\u6011\u600C\u6009\u601C\u6214\u623D\u62AD\u62B4\u62D1\u62BE\u62AA\u62B6\u62CA\u62AE\u62B3\u62AF\u62BB\u62A9\u62B0\u62B8\u653D\u65A8\u65BB\u6609\u65FC\u6604\u6612\u6608\u65FB\u6603\u660B\u660D\u6605\u65FD\u6611\u6610\u66F6\u670A\u6785\u676C\u678E\u6792\u6776\u677B\u6798\u6786\u6784\u6774\u678D\u678C\u677A\u679F\u6791\u6799\u6783\u677D\u6781\u6778\u6779\u6794\u6B25\u6B80\u6B7E\u6BDE\u6C1D\u6C93\u6CEC\u6CEB\u6CEE\u6CD9\u6CB6\u6CD4\u6CAD\u6CE7\u6CB7\u6CD0\u6CC2\u6CBA\u6CC3\u6CC6\u6CED\u6CF2"],["cd40","\u6CD2\u6CDD\u6CB4\u6C8A\u6C9D\u6C80\u6CDE\u6CC0\u6D30\u6CCD\u6CC7\u6CB0\u6CF9\u6CCF\u6CE9\u6CD1\u7094\u7098\u7085\u7093\u7086\u7084\u7091\u7096\u7082\u709A\u7083\u726A\u72D6\u72CB\u72D8\u72C9\u72DC\u72D2\u72D4\u72DA\u72CC\u72D1\u73A4\u73A1\u73AD\u73A6\u73A2\u73A0\u73AC\u739D\u74DD\u74E8\u753F\u7540\u753E\u758C\u7598\u76AF\u76F3\u76F1\u76F0\u76F5\u77F8\u77FC\u77F9\u77FB\u77FA"],["cda1","\u77F7\u7942\u793F\u79C5\u7A78\u7A7B\u7AFB\u7C75\u7CFD\u8035\u808F\u80AE\u80A3\u80B8\u80B5\u80AD\u8220\u82A0\u82C0\u82AB\u829A\u8298\u829B\u82B5\u82A7\u82AE\u82BC\u829E\u82BA\u82B4\u82A8\u82A1\u82A9\u82C2\u82A4\u82C3\u82B6\u82A2\u8670\u866F\u866D\u866E\u8C56\u8FD2\u8FCB\u8FD3\u8FCD\u8FD6\u8FD5\u8FD7\u90B2\u90B4\u90AF\u90B3\u90B0\u9639\u963D\u963C\u963A\u9643\u4FCD\u4FC5\u4FD3\u4FB2\u4FC9\u4FCB\u4FC1\u4FD4\u4FDC\u4FD9\u4FBB\u4FB3\u4FDB\u4FC7\u4FD6\u4FBA\u4FC0\u4FB9\u4FEC\u5244\u5249\u52C0\u52C2\u533D\u537C\u5397\u5396\u5399\u5398\u54BA\u54A1\u54AD\u54A5\u54CF"],["ce40","\u54C3\u830D\u54B7\u54AE\u54D6\u54B6\u54C5\u54C6\u54A0\u5470\u54BC\u54A2\u54BE\u5472\u54DE\u54B0\u57B5\u579E\u579F\u57A4\u578C\u5797\u579D\u579B\u5794\u5798\u578F\u5799\u57A5\u579A\u5795\u58F4\u590D\u5953\u59E1\u59DE\u59EE\u5A00\u59F1\u59DD\u59FA\u59FD\u59FC\u59F6\u59E4\u59F2\u59F7\u59DB\u59E9\u59F3\u59F5\u59E0\u59FE\u59F4\u59ED\u5BA8\u5C4C\u5CD0\u5CD8\u5CCC\u5CD7\u5CCB\u5CDB"],["cea1","\u5CDE\u5CDA\u5CC9\u5CC7\u5CCA\u5CD6\u5CD3\u5CD4\u5CCF\u5CC8\u5CC6\u5CCE\u5CDF\u5CF8\u5DF9\u5E21\u5E22\u5E23\u5E20\u5E24\u5EB0\u5EA4\u5EA2\u5E9B\u5EA3\u5EA5\u5F07\u5F2E\u5F56\u5F86\u6037\u6039\u6054\u6072\u605E\u6045\u6053\u6047\u6049\u605B\u604C\u6040\u6042\u605F\u6024\u6044\u6058\u6066\u606E\u6242\u6243\u62CF\u630D\u630B\u62F5\u630E\u6303\u62EB\u62F9\u630F\u630C\u62F8\u62F6\u6300\u6313\u6314\u62FA\u6315\u62FB\u62F0\u6541\u6543\u65AA\u65BF\u6636\u6621\u6632\u6635\u661C\u6626\u6622\u6633\u662B\u663A\u661D\u6634\u6639\u662E\u670F\u6710\u67C1\u67F2\u67C8\u67BA"],["cf40","\u67DC\u67BB\u67F8\u67D8\u67C0\u67B7\u67C5\u67EB\u67E4\u67DF\u67B5\u67CD\u67B3\u67F7\u67F6\u67EE\u67E3\u67C2\u67B9\u67CE\u67E7\u67F0\u67B2\u67FC\u67C6\u67ED\u67CC\u67AE\u67E6\u67DB\u67FA\u67C9\u67CA\u67C3\u67EA\u67CB\u6B28\u6B82\u6B84\u6BB6\u6BD6\u6BD8\u6BE0\u6C20\u6C21\u6D28\u6D34\u6D2D\u6D1F\u6D3C\u6D3F\u6D12\u6D0A\u6CDA\u6D33\u6D04\u6D19\u6D3A\u6D1A\u6D11\u6D00\u6D1D\u6D42"],["cfa1","\u6D01\u6D18\u6D37\u6D03\u6D0F\u6D40\u6D07\u6D20\u6D2C\u6D08\u6D22\u6D09\u6D10\u70B7\u709F\u70BE\u70B1\u70B0\u70A1\u70B4\u70B5\u70A9\u7241\u7249\u724A\u726C\u7270\u7273\u726E\u72CA\u72E4\u72E8\u72EB\u72DF\u72EA\u72E6\u72E3\u7385\u73CC\u73C2\u73C8\u73C5\u73B9\u73B6\u73B5\u73B4\u73EB\u73BF\u73C7\u73BE\u73C3\u73C6\u73B8\u73CB\u74EC\u74EE\u752E\u7547\u7548\u75A7\u75AA\u7679\u76C4\u7708\u7703\u7704\u7705\u770A\u76F7\u76FB\u76FA\u77E7\u77E8\u7806\u7811\u7812\u7805\u7810\u780F\u780E\u7809\u7803\u7813\u794A\u794C\u794B\u7945\u7944\u79D5\u79CD\u79CF\u79D6\u79CE\u7A80"],["d040","\u7A7E\u7AD1\u7B00\u7B01\u7C7A\u7C78\u7C79\u7C7F\u7C80\u7C81\u7D03\u7D08\u7D01\u7F58\u7F91\u7F8D\u7FBE\u8007\u800E\u800F\u8014\u8037\u80D8\u80C7\u80E0\u80D1\u80C8\u80C2\u80D0\u80C5\u80E3\u80D9\u80DC\u80CA\u80D5\u80C9\u80CF\u80D7\u80E6\u80CD\u81FF\u8221\u8294\u82D9\u82FE\u82F9\u8307\u82E8\u8300\u82D5\u833A\u82EB\u82D6\u82F4\u82EC\u82E1\u82F2\u82F5\u830C\u82FB\u82F6\u82F0\u82EA"],["d0a1","\u82E4\u82E0\u82FA\u82F3\u82ED\u8677\u8674\u867C\u8673\u8841\u884E\u8867\u886A\u8869\u89D3\u8A04\u8A07\u8D72\u8FE3\u8FE1\u8FEE\u8FE0\u90F1\u90BD\u90BF\u90D5\u90C5\u90BE\u90C7\u90CB\u90C8\u91D4\u91D3\u9654\u964F\u9651\u9653\u964A\u964E\u501E\u5005\u5007\u5013\u5022\u5030\u501B\u4FF5\u4FF4\u5033\u5037\u502C\u4FF6\u4FF7\u5017\u501C\u5020\u5027\u5035\u502F\u5031\u500E\u515A\u5194\u5193\u51CA\u51C4\u51C5\u51C8\u51CE\u5261\u525A\u5252\u525E\u525F\u5255\u5262\u52CD\u530E\u539E\u5526\u54E2\u5517\u5512\u54E7\u54F3\u54E4\u551A\u54FF\u5504\u5508\u54EB\u5511\u5505\u54F1"],["d140","\u550A\u54FB\u54F7\u54F8\u54E0\u550E\u5503\u550B\u5701\u5702\u57CC\u5832\u57D5\u57D2\u57BA\u57C6\u57BD\u57BC\u57B8\u57B6\u57BF\u57C7\u57D0\u57B9\u57C1\u590E\u594A\u5A19\u5A16\u5A2D\u5A2E\u5A15\u5A0F\u5A17\u5A0A\u5A1E\u5A33\u5B6C\u5BA7\u5BAD\u5BAC\u5C03\u5C56\u5C54\u5CEC\u5CFF\u5CEE\u5CF1\u5CF7\u5D00\u5CF9\u5E29\u5E28\u5EA8\u5EAE\u5EAA\u5EAC\u5F33\u5F30\u5F67\u605D\u605A\u6067"],["d1a1","\u6041\u60A2\u6088\u6080\u6092\u6081\u609D\u6083\u6095\u609B\u6097\u6087\u609C\u608E\u6219\u6246\u62F2\u6310\u6356\u632C\u6344\u6345\u6336\u6343\u63E4\u6339\u634B\u634A\u633C\u6329\u6341\u6334\u6358\u6354\u6359\u632D\u6347\u6333\u635A\u6351\u6338\u6357\u6340\u6348\u654A\u6546\u65C6\u65C3\u65C4\u65C2\u664A\u665F\u6647\u6651\u6712\u6713\u681F\u681A\u6849\u6832\u6833\u683B\u684B\u684F\u6816\u6831\u681C\u6835\u682B\u682D\u682F\u684E\u6844\u6834\u681D\u6812\u6814\u6826\u6828\u682E\u684D\u683A\u6825\u6820\u6B2C\u6B2F\u6B2D\u6B31\u6B34\u6B6D\u8082\u6B88\u6BE6\u6BE4"],["d240","\u6BE8\u6BE3\u6BE2\u6BE7\u6C25\u6D7A\u6D63\u6D64\u6D76\u6D0D\u6D61\u6D92\u6D58\u6D62\u6D6D\u6D6F\u6D91\u6D8D\u6DEF\u6D7F\u6D86\u6D5E\u6D67\u6D60\u6D97\u6D70\u6D7C\u6D5F\u6D82\u6D98\u6D2F\u6D68\u6D8B\u6D7E\u6D80\u6D84\u6D16\u6D83\u6D7B\u6D7D\u6D75\u6D90\u70DC\u70D3\u70D1\u70DD\u70CB\u7F39\u70E2\u70D7\u70D2\u70DE\u70E0\u70D4\u70CD\u70C5\u70C6\u70C7\u70DA\u70CE\u70E1\u7242\u7278"],["d2a1","\u7277\u7276\u7300\u72FA\u72F4\u72FE\u72F6\u72F3\u72FB\u7301\u73D3\u73D9\u73E5\u73D6\u73BC\u73E7\u73E3\u73E9\u73DC\u73D2\u73DB\u73D4\u73DD\u73DA\u73D7\u73D8\u73E8\u74DE\u74DF\u74F4\u74F5\u7521\u755B\u755F\u75B0\u75C1\u75BB\u75C4\u75C0\u75BF\u75B6\u75BA\u768A\u76C9\u771D\u771B\u7710\u7713\u7712\u7723\u7711\u7715\u7719\u771A\u7722\u7727\u7823\u782C\u7822\u7835\u782F\u7828\u782E\u782B\u7821\u7829\u7833\u782A\u7831\u7954\u795B\u794F\u795C\u7953\u7952\u7951\u79EB\u79EC\u79E0\u79EE\u79ED\u79EA\u79DC\u79DE\u79DD\u7A86\u7A89\u7A85\u7A8B\u7A8C\u7A8A\u7A87\u7AD8\u7B10"],["d340","\u7B04\u7B13\u7B05\u7B0F\u7B08\u7B0A\u7B0E\u7B09\u7B12\u7C84\u7C91\u7C8A\u7C8C\u7C88\u7C8D\u7C85\u7D1E\u7D1D\u7D11\u7D0E\u7D18\u7D16\u7D13\u7D1F\u7D12\u7D0F\u7D0C\u7F5C\u7F61\u7F5E\u7F60\u7F5D\u7F5B\u7F96\u7F92\u7FC3\u7FC2\u7FC0\u8016\u803E\u8039\u80FA\u80F2\u80F9\u80F5\u8101\u80FB\u8100\u8201\u822F\u8225\u8333\u832D\u8344\u8319\u8351\u8325\u8356\u833F\u8341\u8326\u831C\u8322"],["d3a1","\u8342\u834E\u831B\u832A\u8308\u833C\u834D\u8316\u8324\u8320\u8337\u832F\u8329\u8347\u8345\u834C\u8353\u831E\u832C\u834B\u8327\u8348\u8653\u8652\u86A2\u86A8\u8696\u868D\u8691\u869E\u8687\u8697\u8686\u868B\u869A\u8685\u86A5\u8699\u86A1\u86A7\u8695\u8698\u868E\u869D\u8690\u8694\u8843\u8844\u886D\u8875\u8876\u8872\u8880\u8871\u887F\u886F\u8883\u887E\u8874\u887C\u8A12\u8C47\u8C57\u8C7B\u8CA4\u8CA3\u8D76\u8D78\u8DB5\u8DB7\u8DB6\u8ED1\u8ED3\u8FFE\u8FF5\u9002\u8FFF\u8FFB\u9004\u8FFC\u8FF6\u90D6\u90E0\u90D9\u90DA\u90E3\u90DF\u90E5\u90D8\u90DB\u90D7\u90DC\u90E4\u9150"],["d440","\u914E\u914F\u91D5\u91E2\u91DA\u965C\u965F\u96BC\u98E3\u9ADF\u9B2F\u4E7F\u5070\u506A\u5061\u505E\u5060\u5053\u504B\u505D\u5072\u5048\u504D\u5041\u505B\u504A\u5062\u5015\u5045\u505F\u5069\u506B\u5063\u5064\u5046\u5040\u506E\u5073\u5057\u5051\u51D0\u526B\u526D\u526C\u526E\u52D6\u52D3\u532D\u539C\u5575\u5576\u553C\u554D\u5550\u5534\u552A\u5551\u5562\u5536\u5535\u5530\u5552\u5545"],["d4a1","\u550C\u5532\u5565\u554E\u5539\u5548\u552D\u553B\u5540\u554B\u570A\u5707\u57FB\u5814\u57E2\u57F6\u57DC\u57F4\u5800\u57ED\u57FD\u5808\u57F8\u580B\u57F3\u57CF\u5807\u57EE\u57E3\u57F2\u57E5\u57EC\u57E1\u580E\u57FC\u5810\u57E7\u5801\u580C\u57F1\u57E9\u57F0\u580D\u5804\u595C\u5A60\u5A58\u5A55\u5A67\u5A5E\u5A38\u5A35\u5A6D\u5A50\u5A5F\u5A65\u5A6C\u5A53\u5A64\u5A57\u5A43\u5A5D\u5A52\u5A44\u5A5B\u5A48\u5A8E\u5A3E\u5A4D\u5A39\u5A4C\u5A70\u5A69\u5A47\u5A51\u5A56\u5A42\u5A5C\u5B72\u5B6E\u5BC1\u5BC0\u5C59\u5D1E\u5D0B\u5D1D\u5D1A\u5D20\u5D0C\u5D28\u5D0D\u5D26\u5D25\u5D0F"],["d540","\u5D30\u5D12\u5D23\u5D1F\u5D2E\u5E3E\u5E34\u5EB1\u5EB4\u5EB9\u5EB2\u5EB3\u5F36\u5F38\u5F9B\u5F96\u5F9F\u608A\u6090\u6086\u60BE\u60B0\u60BA\u60D3\u60D4\u60CF\u60E4\u60D9\u60DD\u60C8\u60B1\u60DB\u60B7\u60CA\u60BF\u60C3\u60CD\u60C0\u6332\u6365\u638A\u6382\u637D\u63BD\u639E\u63AD\u639D\u6397\u63AB\u638E\u636F\u6387\u6390\u636E\u63AF\u6375\u639C\u636D\u63AE\u637C\u63A4\u633B\u639F"],["d5a1","\u6378\u6385\u6381\u6391\u638D\u6370\u6553\u65CD\u6665\u6661\u665B\u6659\u665C\u6662\u6718\u6879\u6887\u6890\u689C\u686D\u686E\u68AE\u68AB\u6956\u686F\u68A3\u68AC\u68A9\u6875\u6874\u68B2\u688F\u6877\u6892\u687C\u686B\u6872\u68AA\u6880\u6871\u687E\u689B\u6896\u688B\u68A0\u6889\u68A4\u6878\u687B\u6891\u688C\u688A\u687D\u6B36\u6B33\u6B37\u6B38\u6B91\u6B8F\u6B8D\u6B8E\u6B8C\u6C2A\u6DC0\u6DAB\u6DB4\u6DB3\u6E74\u6DAC\u6DE9\u6DE2\u6DB7\u6DF6\u6DD4\u6E00\u6DC8\u6DE0\u6DDF\u6DD6\u6DBE\u6DE5\u6DDC\u6DDD\u6DDB\u6DF4\u6DCA\u6DBD\u6DED\u6DF0\u6DBA\u6DD5\u6DC2\u6DCF\u6DC9"],["d640","\u6DD0\u6DF2\u6DD3\u6DFD\u6DD7\u6DCD\u6DE3\u6DBB\u70FA\u710D\u70F7\u7117\u70F4\u710C\u70F0\u7104\u70F3\u7110\u70FC\u70FF\u7106\u7113\u7100\u70F8\u70F6\u710B\u7102\u710E\u727E\u727B\u727C\u727F\u731D\u7317\u7307\u7311\u7318\u730A\u7308\u72FF\u730F\u731E\u7388\u73F6\u73F8\u73F5\u7404\u7401\u73FD\u7407\u7400\u73FA\u73FC\u73FF\u740C\u740B\u73F4\u7408\u7564\u7563\u75CE\u75D2\u75CF"],["d6a1","\u75CB\u75CC\u75D1\u75D0\u768F\u7689\u76D3\u7739\u772F\u772D\u7731\u7732\u7734\u7733\u773D\u7725\u773B\u7735\u7848\u7852\u7849\u784D\u784A\u784C\u7826\u7845\u7850\u7964\u7967\u7969\u796A\u7963\u796B\u7961\u79BB\u79FA\u79F8\u79F6\u79F7\u7A8F\u7A94\u7A90\u7B35\u7B47\u7B34\u7B25\u7B30\u7B22\u7B24\u7B33\u7B18\u7B2A\u7B1D\u7B31\u7B2B\u7B2D\u7B2F\u7B32\u7B38\u7B1A\u7B23\u7C94\u7C98\u7C96\u7CA3\u7D35\u7D3D\u7D38\u7D36\u7D3A\u7D45\u7D2C\u7D29\u7D41\u7D47\u7D3E\u7D3F\u7D4A\u7D3B\u7D28\u7F63\u7F95\u7F9C\u7F9D\u7F9B\u7FCA\u7FCB\u7FCD\u7FD0\u7FD1\u7FC7\u7FCF\u7FC9\u801F"],["d740","\u801E\u801B\u8047\u8043\u8048\u8118\u8125\u8119\u811B\u812D\u811F\u812C\u811E\u8121\u8115\u8127\u811D\u8122\u8211\u8238\u8233\u823A\u8234\u8232\u8274\u8390\u83A3\u83A8\u838D\u837A\u8373\u83A4\u8374\u838F\u8381\u8395\u8399\u8375\u8394\u83A9\u837D\u8383\u838C\u839D\u839B\u83AA\u838B\u837E\u83A5\u83AF\u8388\u8397\u83B0\u837F\u83A6\u8387\u83AE\u8376\u839A\u8659\u8656\u86BF\u86B7"],["d7a1","\u86C2\u86C1\u86C5\u86BA\u86B0\u86C8\u86B9\u86B3\u86B8\u86CC\u86B4\u86BB\u86BC\u86C3\u86BD\u86BE\u8852\u8889\u8895\u88A8\u88A2\u88AA\u889A\u8891\u88A1\u889F\u8898\u88A7\u8899\u889B\u8897\u88A4\u88AC\u888C\u8893\u888E\u8982\u89D6\u89D9\u89D5\u8A30\u8A27\u8A2C\u8A1E\u8C39\u8C3B\u8C5C\u8C5D\u8C7D\u8CA5\u8D7D\u8D7B\u8D79\u8DBC\u8DC2\u8DB9\u8DBF\u8DC1\u8ED8\u8EDE\u8EDD\u8EDC\u8ED7\u8EE0\u8EE1\u9024\u900B\u9011\u901C\u900C\u9021\u90EF\u90EA\u90F0\u90F4\u90F2\u90F3\u90D4\u90EB\u90EC\u90E9\u9156\u9158\u915A\u9153\u9155\u91EC\u91F4\u91F1\u91F3\u91F8\u91E4\u91F9\u91EA"],["d840","\u91EB\u91F7\u91E8\u91EE\u957A\u9586\u9588\u967C\u966D\u966B\u9671\u966F\u96BF\u976A\u9804\u98E5\u9997\u509B\u5095\u5094\u509E\u508B\u50A3\u5083\u508C\u508E\u509D\u5068\u509C\u5092\u5082\u5087\u515F\u51D4\u5312\u5311\u53A4\u53A7\u5591\u55A8\u55A5\u55AD\u5577\u5645\u55A2\u5593\u5588\u558F\u55B5\u5581\u55A3\u5592\u55A4\u557D\u558C\u55A6\u557F\u5595\u55A1\u558E\u570C\u5829\u5837"],["d8a1","\u5819\u581E\u5827\u5823\u5828\u57F5\u5848\u5825\u581C\u581B\u5833\u583F\u5836\u582E\u5839\u5838\u582D\u582C\u583B\u5961\u5AAF\u5A94\u5A9F\u5A7A\u5AA2\u5A9E\u5A78\u5AA6\u5A7C\u5AA5\u5AAC\u5A95\u5AAE\u5A37\u5A84\u5A8A\u5A97\u5A83\u5A8B\u5AA9\u5A7B\u5A7D\u5A8C\u5A9C\u5A8F\u5A93\u5A9D\u5BEA\u5BCD\u5BCB\u5BD4\u5BD1\u5BCA\u5BCE\u5C0C\u5C30\u5D37\u5D43\u5D6B\u5D41\u5D4B\u5D3F\u5D35\u5D51\u5D4E\u5D55\u5D33\u5D3A\u5D52\u5D3D\u5D31\u5D59\u5D42\u5D39\u5D49\u5D38\u5D3C\u5D32\u5D36\u5D40\u5D45\u5E44\u5E41\u5F58\u5FA6\u5FA5\u5FAB\u60C9\u60B9\u60CC\u60E2\u60CE\u60C4\u6114"],["d940","\u60F2\u610A\u6116\u6105\u60F5\u6113\u60F8\u60FC\u60FE\u60C1\u6103\u6118\u611D\u6110\u60FF\u6104\u610B\u624A\u6394\u63B1\u63B0\u63CE\u63E5\u63E8\u63EF\u63C3\u649D\u63F3\u63CA\u63E0\u63F6\u63D5\u63F2\u63F5\u6461\u63DF\u63BE\u63DD\u63DC\u63C4\u63D8\u63D3\u63C2\u63C7\u63CC\u63CB\u63C8\u63F0\u63D7\u63D9\u6532\u6567\u656A\u6564\u655C\u6568\u6565\u658C\u659D\u659E\u65AE\u65D0\u65D2"],["d9a1","\u667C\u666C\u667B\u6680\u6671\u6679\u666A\u6672\u6701\u690C\u68D3\u6904\u68DC\u692A\u68EC\u68EA\u68F1\u690F\u68D6\u68F7\u68EB\u68E4\u68F6\u6913\u6910\u68F3\u68E1\u6907\u68CC\u6908\u6970\u68B4\u6911\u68EF\u68C6\u6914\u68F8\u68D0\u68FD\u68FC\u68E8\u690B\u690A\u6917\u68CE\u68C8\u68DD\u68DE\u68E6\u68F4\u68D1\u6906\u68D4\u68E9\u6915\u6925\u68C7\u6B39\u6B3B\u6B3F\u6B3C\u6B94\u6B97\u6B99\u6B95\u6BBD\u6BF0\u6BF2\u6BF3\u6C30\u6DFC\u6E46\u6E47\u6E1F\u6E49\u6E88\u6E3C\u6E3D\u6E45\u6E62\u6E2B\u6E3F\u6E41\u6E5D\u6E73\u6E1C\u6E33\u6E4B\u6E40\u6E51\u6E3B\u6E03\u6E2E\u6E5E"],["da40","\u6E68\u6E5C\u6E61\u6E31\u6E28\u6E60\u6E71\u6E6B\u6E39\u6E22\u6E30\u6E53\u6E65\u6E27\u6E78\u6E64\u6E77\u6E55\u6E79\u6E52\u6E66\u6E35\u6E36\u6E5A\u7120\u711E\u712F\u70FB\u712E\u7131\u7123\u7125\u7122\u7132\u711F\u7128\u713A\u711B\u724B\u725A\u7288\u7289\u7286\u7285\u728B\u7312\u730B\u7330\u7322\u7331\u7333\u7327\u7332\u732D\u7326\u7323\u7335\u730C\u742E\u742C\u7430\u742B\u7416"],["daa1","\u741A\u7421\u742D\u7431\u7424\u7423\u741D\u7429\u7420\u7432\u74FB\u752F\u756F\u756C\u75E7\u75DA\u75E1\u75E6\u75DD\u75DF\u75E4\u75D7\u7695\u7692\u76DA\u7746\u7747\u7744\u774D\u7745\u774A\u774E\u774B\u774C\u77DE\u77EC\u7860\u7864\u7865\u785C\u786D\u7871\u786A\u786E\u7870\u7869\u7868\u785E\u7862\u7974\u7973\u7972\u7970\u7A02\u7A0A\u7A03\u7A0C\u7A04\u7A99\u7AE6\u7AE4\u7B4A\u7B3B\u7B44\u7B48\u7B4C\u7B4E\u7B40\u7B58\u7B45\u7CA2\u7C9E\u7CA8\u7CA1\u7D58\u7D6F\u7D63\u7D53\u7D56\u7D67\u7D6A\u7D4F\u7D6D\u7D5C\u7D6B\u7D52\u7D54\u7D69\u7D51\u7D5F\u7D4E\u7F3E\u7F3F\u7F65"],["db40","\u7F66\u7FA2\u7FA0\u7FA1\u7FD7\u8051\u804F\u8050\u80FE\u80D4\u8143\u814A\u8152\u814F\u8147\u813D\u814D\u813A\u81E6\u81EE\u81F7\u81F8\u81F9\u8204\u823C\u823D\u823F\u8275\u833B\u83CF\u83F9\u8423\u83C0\u83E8\u8412\u83E7\u83E4\u83FC\u83F6\u8410\u83C6\u83C8\u83EB\u83E3\u83BF\u8401\u83DD\u83E5\u83D8\u83FF\u83E1\u83CB\u83CE\u83D6\u83F5\u83C9\u8409\u840F\u83DE\u8411\u8406\u83C2\u83F3"],["dba1","\u83D5\u83FA\u83C7\u83D1\u83EA\u8413\u83C3\u83EC\u83EE\u83C4\u83FB\u83D7\u83E2\u841B\u83DB\u83FE\u86D8\u86E2\u86E6\u86D3\u86E3\u86DA\u86EA\u86DD\u86EB\u86DC\u86EC\u86E9\u86D7\u86E8\u86D1\u8848\u8856\u8855\u88BA\u88D7\u88B9\u88B8\u88C0\u88BE\u88B6\u88BC\u88B7\u88BD\u88B2\u8901\u88C9\u8995\u8998\u8997\u89DD\u89DA\u89DB\u8A4E\u8A4D\u8A39\u8A59\u8A40\u8A57\u8A58\u8A44\u8A45\u8A52\u8A48\u8A51\u8A4A\u8A4C\u8A4F\u8C5F\u8C81\u8C80\u8CBA\u8CBE\u8CB0\u8CB9\u8CB5\u8D84\u8D80\u8D89\u8DD8\u8DD3\u8DCD\u8DC7\u8DD6\u8DDC\u8DCF\u8DD5\u8DD9\u8DC8\u8DD7\u8DC5\u8EEF\u8EF7\u8EFA"],["dc40","\u8EF9\u8EE6\u8EEE\u8EE5\u8EF5\u8EE7\u8EE8\u8EF6\u8EEB\u8EF1\u8EEC\u8EF4\u8EE9\u902D\u9034\u902F\u9106\u912C\u9104\u90FF\u90FC\u9108\u90F9\u90FB\u9101\u9100\u9107\u9105\u9103\u9161\u9164\u915F\u9162\u9160\u9201\u920A\u9225\u9203\u921A\u9226\u920F\u920C\u9200\u9212\u91FF\u91FD\u9206\u9204\u9227\u9202\u921C\u9224\u9219\u9217\u9205\u9216\u957B\u958D\u958C\u9590\u9687\u967E\u9688"],["dca1","\u9689\u9683\u9680\u96C2\u96C8\u96C3\u96F1\u96F0\u976C\u9770\u976E\u9807\u98A9\u98EB\u9CE6\u9EF9\u4E83\u4E84\u4EB6\u50BD\u50BF\u50C6\u50AE\u50C4\u50CA\u50B4\u50C8\u50C2\u50B0\u50C1\u50BA\u50B1\u50CB\u50C9\u50B6\u50B8\u51D7\u527A\u5278\u527B\u527C\u55C3\u55DB\u55CC\u55D0\u55CB\u55CA\u55DD\u55C0\u55D4\u55C4\u55E9\u55BF\u55D2\u558D\u55CF\u55D5\u55E2\u55D6\u55C8\u55F2\u55CD\u55D9\u55C2\u5714\u5853\u5868\u5864\u584F\u584D\u5849\u586F\u5855\u584E\u585D\u5859\u5865\u585B\u583D\u5863\u5871\u58FC\u5AC7\u5AC4\u5ACB\u5ABA\u5AB8\u5AB1\u5AB5\u5AB0\u5ABF\u5AC8\u5ABB\u5AC6"],["dd40","\u5AB7\u5AC0\u5ACA\u5AB4\u5AB6\u5ACD\u5AB9\u5A90\u5BD6\u5BD8\u5BD9\u5C1F\u5C33\u5D71\u5D63\u5D4A\u5D65\u5D72\u5D6C\u5D5E\u5D68\u5D67\u5D62\u5DF0\u5E4F\u5E4E\u5E4A\u5E4D\u5E4B\u5EC5\u5ECC\u5EC6\u5ECB\u5EC7\u5F40\u5FAF\u5FAD\u60F7\u6149\u614A\u612B\u6145\u6136\u6132\u612E\u6146\u612F\u614F\u6129\u6140\u6220\u9168\u6223\u6225\u6224\u63C5\u63F1\u63EB\u6410\u6412\u6409\u6420\u6424"],["dda1","\u6433\u6443\u641F\u6415\u6418\u6439\u6437\u6422\u6423\u640C\u6426\u6430\u6428\u6441\u6435\u642F\u640A\u641A\u6440\u6425\u6427\u640B\u63E7\u641B\u642E\u6421\u640E\u656F\u6592\u65D3\u6686\u668C\u6695\u6690\u668B\u668A\u6699\u6694\u6678\u6720\u6966\u695F\u6938\u694E\u6962\u6971\u693F\u6945\u696A\u6939\u6942\u6957\u6959\u697A\u6948\u6949\u6935\u696C\u6933\u693D\u6965\u68F0\u6978\u6934\u6969\u6940\u696F\u6944\u6976\u6958\u6941\u6974\u694C\u693B\u694B\u6937\u695C\u694F\u6951\u6932\u6952\u692F\u697B\u693C\u6B46\u6B45\u6B43\u6B42\u6B48\u6B41\u6B9B\uFA0D\u6BFB\u6BFC"],["de40","\u6BF9\u6BF7\u6BF8\u6E9B\u6ED6\u6EC8\u6E8F\u6EC0\u6E9F\u6E93\u6E94\u6EA0\u6EB1\u6EB9\u6EC6\u6ED2\u6EBD\u6EC1\u6E9E\u6EC9\u6EB7\u6EB0\u6ECD\u6EA6\u6ECF\u6EB2\u6EBE\u6EC3\u6EDC\u6ED8\u6E99\u6E92\u6E8E\u6E8D\u6EA4\u6EA1\u6EBF\u6EB3\u6ED0\u6ECA\u6E97\u6EAE\u6EA3\u7147\u7154\u7152\u7163\u7160\u7141\u715D\u7162\u7172\u7178\u716A\u7161\u7142\u7158\u7143\u714B\u7170\u715F\u7150\u7153"],["dea1","\u7144\u714D\u715A\u724F\u728D\u728C\u7291\u7290\u728E\u733C\u7342\u733B\u733A\u7340\u734A\u7349\u7444\u744A\u744B\u7452\u7451\u7457\u7440\u744F\u7450\u744E\u7442\u7446\u744D\u7454\u74E1\u74FF\u74FE\u74FD\u751D\u7579\u7577\u6983\u75EF\u760F\u7603\u75F7\u75FE\u75FC\u75F9\u75F8\u7610\u75FB\u75F6\u75ED\u75F5\u75FD\u7699\u76B5\u76DD\u7755\u775F\u7760\u7752\u7756\u775A\u7769\u7767\u7754\u7759\u776D\u77E0\u7887\u789A\u7894\u788F\u7884\u7895\u7885\u7886\u78A1\u7883\u7879\u7899\u7880\u7896\u787B\u797C\u7982\u797D\u7979\u7A11\u7A18\u7A19\u7A12\u7A17\u7A15\u7A22\u7A13"],["df40","\u7A1B\u7A10\u7AA3\u7AA2\u7A9E\u7AEB\u7B66\u7B64\u7B6D\u7B74\u7B69\u7B72\u7B65\u7B73\u7B71\u7B70\u7B61\u7B78\u7B76\u7B63\u7CB2\u7CB4\u7CAF\u7D88\u7D86\u7D80\u7D8D\u7D7F\u7D85\u7D7A\u7D8E\u7D7B\u7D83\u7D7C\u7D8C\u7D94\u7D84\u7D7D\u7D92\u7F6D\u7F6B\u7F67\u7F68\u7F6C\u7FA6\u7FA5\u7FA7\u7FDB\u7FDC\u8021\u8164\u8160\u8177\u815C\u8169\u815B\u8162\u8172\u6721\u815E\u8176\u8167\u816F"],["dfa1","\u8144\u8161\u821D\u8249\u8244\u8240\u8242\u8245\u84F1\u843F\u8456\u8476\u8479\u848F\u848D\u8465\u8451\u8440\u8486\u8467\u8430\u844D\u847D\u845A\u8459\u8474\u8473\u845D\u8507\u845E\u8437\u843A\u8434\u847A\u8443\u8478\u8432\u8445\u8429\u83D9\u844B\u842F\u8442\u842D\u845F\u8470\u8439\u844E\u844C\u8452\u846F\u84C5\u848E\u843B\u8447\u8436\u8433\u8468\u847E\u8444\u842B\u8460\u8454\u846E\u8450\u870B\u8704\u86F7\u870C\u86FA\u86D6\u86F5\u874D\u86F8\u870E\u8709\u8701\u86F6\u870D\u8705\u88D6\u88CB\u88CD\u88CE\u88DE\u88DB\u88DA\u88CC\u88D0\u8985\u899B\u89DF\u89E5\u89E4"],["e040","\u89E1\u89E0\u89E2\u89DC\u89E6\u8A76\u8A86\u8A7F\u8A61\u8A3F\u8A77\u8A82\u8A84\u8A75\u8A83\u8A81\u8A74\u8A7A\u8C3C\u8C4B\u8C4A\u8C65\u8C64\u8C66\u8C86\u8C84\u8C85\u8CCC\u8D68\u8D69\u8D91\u8D8C\u8D8E\u8D8F\u8D8D\u8D93\u8D94\u8D90\u8D92\u8DF0\u8DE0\u8DEC\u8DF1\u8DEE\u8DD0\u8DE9\u8DE3\u8DE2\u8DE7\u8DF2\u8DEB\u8DF4\u8F06\u8EFF\u8F01\u8F00\u8F05\u8F07\u8F08\u8F02\u8F0B\u9052\u903F"],["e0a1","\u9044\u9049\u903D\u9110\u910D\u910F\u9111\u9116\u9114\u910B\u910E\u916E\u916F\u9248\u9252\u9230\u923A\u9266\u9233\u9265\u925E\u9283\u922E\u924A\u9246\u926D\u926C\u924F\u9260\u9267\u926F\u9236\u9261\u9270\u9231\u9254\u9263\u9250\u9272\u924E\u9253\u924C\u9256\u9232\u959F\u959C\u959E\u959B\u9692\u9693\u9691\u9697\u96CE\u96FA\u96FD\u96F8\u96F5\u9773\u9777\u9778\u9772\u980F\u980D\u980E\u98AC\u98F6\u98F9\u99AF\u99B2\u99B0\u99B5\u9AAD\u9AAB\u9B5B\u9CEA\u9CED\u9CE7\u9E80\u9EFD\u50E6\u50D4\u50D7\u50E8\u50F3\u50DB\u50EA\u50DD\u50E4\u50D3\u50EC\u50F0\u50EF\u50E3\u50E0"],["e140","\u51D8\u5280\u5281\u52E9\u52EB\u5330\u53AC\u5627\u5615\u560C\u5612\u55FC\u560F\u561C\u5601\u5613\u5602\u55FA\u561D\u5604\u55FF\u55F9\u5889\u587C\u5890\u5898\u5886\u5881\u587F\u5874\u588B\u587A\u5887\u5891\u588E\u5876\u5882\u5888\u587B\u5894\u588F\u58FE\u596B\u5ADC\u5AEE\u5AE5\u5AD5\u5AEA\u5ADA\u5AED\u5AEB\u5AF3\u5AE2\u5AE0\u5ADB\u5AEC\u5ADE\u5ADD\u5AD9\u5AE8\u5ADF\u5B77\u5BE0"],["e1a1","\u5BE3\u5C63\u5D82\u5D80\u5D7D\u5D86\u5D7A\u5D81\u5D77\u5D8A\u5D89\u5D88\u5D7E\u5D7C\u5D8D\u5D79\u5D7F\u5E58\u5E59\u5E53\u5ED8\u5ED1\u5ED7\u5ECE\u5EDC\u5ED5\u5ED9\u5ED2\u5ED4\u5F44\u5F43\u5F6F\u5FB6\u612C\u6128\u6141\u615E\u6171\u6173\u6152\u6153\u6172\u616C\u6180\u6174\u6154\u617A\u615B\u6165\u613B\u616A\u6161\u6156\u6229\u6227\u622B\u642B\u644D\u645B\u645D\u6474\u6476\u6472\u6473\u647D\u6475\u6466\u64A6\u644E\u6482\u645E\u645C\u644B\u6453\u6460\u6450\u647F\u643F\u646C\u646B\u6459\u6465\u6477\u6573\u65A0\u66A1\u66A0\u669F\u6705\u6704\u6722\u69B1\u69B6\u69C9"],["e240","\u69A0\u69CE\u6996\u69B0\u69AC\u69BC\u6991\u6999\u698E\u69A7\u698D\u69A9\u69BE\u69AF\u69BF\u69C4\u69BD\u69A4\u69D4\u69B9\u69CA\u699A\u69CF\u69B3\u6993\u69AA\u69A1\u699E\u69D9\u6997\u6990\u69C2\u69B5\u69A5\u69C6\u6B4A\u6B4D\u6B4B\u6B9E\u6B9F\u6BA0\u6BC3\u6BC4\u6BFE\u6ECE\u6EF5\u6EF1\u6F03\u6F25\u6EF8\u6F37\u6EFB\u6F2E\u6F09\u6F4E\u6F19\u6F1A\u6F27\u6F18\u6F3B\u6F12\u6EED\u6F0A"],["e2a1","\u6F36\u6F73\u6EF9\u6EEE\u6F2D\u6F40\u6F30\u6F3C\u6F35\u6EEB\u6F07\u6F0E\u6F43\u6F05\u6EFD\u6EF6\u6F39\u6F1C\u6EFC\u6F3A\u6F1F\u6F0D\u6F1E\u6F08\u6F21\u7187\u7190\u7189\u7180\u7185\u7182\u718F\u717B\u7186\u7181\u7197\u7244\u7253\u7297\u7295\u7293\u7343\u734D\u7351\u734C\u7462\u7473\u7471\u7475\u7472\u7467\u746E\u7500\u7502\u7503\u757D\u7590\u7616\u7608\u760C\u7615\u7611\u760A\u7614\u76B8\u7781\u777C\u7785\u7782\u776E\u7780\u776F\u777E\u7783\u78B2\u78AA\u78B4\u78AD\u78A8\u787E\u78AB\u789E\u78A5\u78A0\u78AC\u78A2\u78A4\u7998\u798A\u798B\u7996\u7995\u7994\u7993"],["e340","\u7997\u7988\u7992\u7990\u7A2B\u7A4A\u7A30\u7A2F\u7A28\u7A26\u7AA8\u7AAB\u7AAC\u7AEE\u7B88\u7B9C\u7B8A\u7B91\u7B90\u7B96\u7B8D\u7B8C\u7B9B\u7B8E\u7B85\u7B98\u5284\u7B99\u7BA4\u7B82\u7CBB\u7CBF\u7CBC\u7CBA\u7DA7\u7DB7\u7DC2\u7DA3\u7DAA\u7DC1\u7DC0\u7DC5\u7D9D\u7DCE\u7DC4\u7DC6\u7DCB\u7DCC\u7DAF\u7DB9\u7D96\u7DBC\u7D9F\u7DA6\u7DAE\u7DA9\u7DA1\u7DC9\u7F73\u7FE2\u7FE3\u7FE5\u7FDE"],["e3a1","\u8024\u805D\u805C\u8189\u8186\u8183\u8187\u818D\u818C\u818B\u8215\u8497\u84A4\u84A1\u849F\u84BA\u84CE\u84C2\u84AC\u84AE\u84AB\u84B9\u84B4\u84C1\u84CD\u84AA\u849A\u84B1\u84D0\u849D\u84A7\u84BB\u84A2\u8494\u84C7\u84CC\u849B\u84A9\u84AF\u84A8\u84D6\u8498\u84B6\u84CF\u84A0\u84D7\u84D4\u84D2\u84DB\u84B0\u8491\u8661\u8733\u8723\u8728\u876B\u8740\u872E\u871E\u8721\u8719\u871B\u8743\u872C\u8741\u873E\u8746\u8720\u8732\u872A\u872D\u873C\u8712\u873A\u8731\u8735\u8742\u8726\u8727\u8738\u8724\u871A\u8730\u8711\u88F7\u88E7\u88F1\u88F2\u88FA\u88FE\u88EE\u88FC\u88F6\u88FB"],["e440","\u88F0\u88EC\u88EB\u899D\u89A1\u899F\u899E\u89E9\u89EB\u89E8\u8AAB\u8A99\u8A8B\u8A92\u8A8F\u8A96\u8C3D\u8C68\u8C69\u8CD5\u8CCF\u8CD7\u8D96\u8E09\u8E02\u8DFF\u8E0D\u8DFD\u8E0A\u8E03\u8E07\u8E06\u8E05\u8DFE\u8E00\u8E04\u8F10\u8F11\u8F0E\u8F0D\u9123\u911C\u9120\u9122\u911F\u911D\u911A\u9124\u9121\u911B\u917A\u9172\u9179\u9173\u92A5\u92A4\u9276\u929B\u927A\u92A0\u9294\u92AA\u928D"],["e4a1","\u92A6\u929A\u92AB\u9279\u9297\u927F\u92A3\u92EE\u928E\u9282\u9295\u92A2\u927D\u9288\u92A1\u928A\u9286\u928C\u9299\u92A7\u927E\u9287\u92A9\u929D\u928B\u922D\u969E\u96A1\u96FF\u9758\u977D\u977A\u977E\u9783\u9780\u9782\u977B\u9784\u9781\u977F\u97CE\u97CD\u9816\u98AD\u98AE\u9902\u9900\u9907\u999D\u999C\u99C3\u99B9\u99BB\u99BA\u99C2\u99BD\u99C7\u9AB1\u9AE3\u9AE7\u9B3E\u9B3F\u9B60\u9B61\u9B5F\u9CF1\u9CF2\u9CF5\u9EA7\u50FF\u5103\u5130\u50F8\u5106\u5107\u50F6\u50FE\u510B\u510C\u50FD\u510A\u528B\u528C\u52F1\u52EF\u5648\u5642\u564C\u5635\u5641\u564A\u5649\u5646\u5658"],["e540","\u565A\u5640\u5633\u563D\u562C\u563E\u5638\u562A\u563A\u571A\u58AB\u589D\u58B1\u58A0\u58A3\u58AF\u58AC\u58A5\u58A1\u58FF\u5AFF\u5AF4\u5AFD\u5AF7\u5AF6\u5B03\u5AF8\u5B02\u5AF9\u5B01\u5B07\u5B05\u5B0F\u5C67\u5D99\u5D97\u5D9F\u5D92\u5DA2\u5D93\u5D95\u5DA0\u5D9C\u5DA1\u5D9A\u5D9E\u5E69\u5E5D\u5E60\u5E5C\u7DF3\u5EDB\u5EDE\u5EE1\u5F49\u5FB2\u618B\u6183\u6179\u61B1\u61B0\u61A2\u6189"],["e5a1","\u619B\u6193\u61AF\u61AD\u619F\u6192\u61AA\u61A1\u618D\u6166\u61B3\u622D\u646E\u6470\u6496\u64A0\u6485\u6497\u649C\u648F\u648B\u648A\u648C\u64A3\u649F\u6468\u64B1\u6498\u6576\u657A\u6579\u657B\u65B2\u65B3\u66B5\u66B0\u66A9\u66B2\u66B7\u66AA\u66AF\u6A00\u6A06\u6A17\u69E5\u69F8\u6A15\u69F1\u69E4\u6A20\u69FF\u69EC\u69E2\u6A1B\u6A1D\u69FE\u6A27\u69F2\u69EE\u6A14\u69F7\u69E7\u6A40\u6A08\u69E6\u69FB\u6A0D\u69FC\u69EB\u6A09\u6A04\u6A18\u6A25\u6A0F\u69F6\u6A26\u6A07\u69F4\u6A16\u6B51\u6BA5\u6BA3\u6BA2\u6BA6\u6C01\u6C00\u6BFF\u6C02\u6F41\u6F26\u6F7E\u6F87\u6FC6\u6F92"],["e640","\u6F8D\u6F89\u6F8C\u6F62\u6F4F\u6F85\u6F5A\u6F96\u6F76\u6F6C\u6F82\u6F55\u6F72\u6F52\u6F50\u6F57\u6F94\u6F93\u6F5D\u6F00\u6F61\u6F6B\u6F7D\u6F67\u6F90\u6F53\u6F8B\u6F69\u6F7F\u6F95\u6F63\u6F77\u6F6A\u6F7B\u71B2\u71AF\u719B\u71B0\u71A0\u719A\u71A9\u71B5\u719D\u71A5\u719E\u71A4\u71A1\u71AA\u719C\u71A7\u71B3\u7298\u729A\u7358\u7352\u735E\u735F\u7360\u735D\u735B\u7361\u735A\u7359"],["e6a1","\u7362\u7487\u7489\u748A\u7486\u7481\u747D\u7485\u7488\u747C\u7479\u7508\u7507\u757E\u7625\u761E\u7619\u761D\u761C\u7623\u761A\u7628\u761B\u769C\u769D\u769E\u769B\u778D\u778F\u7789\u7788\u78CD\u78BB\u78CF\u78CC\u78D1\u78CE\u78D4\u78C8\u78C3\u78C4\u78C9\u799A\u79A1\u79A0\u799C\u79A2\u799B\u6B76\u7A39\u7AB2\u7AB4\u7AB3\u7BB7\u7BCB\u7BBE\u7BAC\u7BCE\u7BAF\u7BB9\u7BCA\u7BB5\u7CC5\u7CC8\u7CCC\u7CCB\u7DF7\u7DDB\u7DEA\u7DE7\u7DD7\u7DE1\u7E03\u7DFA\u7DE6\u7DF6\u7DF1\u7DF0\u7DEE\u7DDF\u7F76\u7FAC\u7FB0\u7FAD\u7FED\u7FEB\u7FEA\u7FEC\u7FE6\u7FE8\u8064\u8067\u81A3\u819F"],["e740","\u819E\u8195\u81A2\u8199\u8197\u8216\u824F\u8253\u8252\u8250\u824E\u8251\u8524\u853B\u850F\u8500\u8529\u850E\u8509\u850D\u851F\u850A\u8527\u851C\u84FB\u852B\u84FA\u8508\u850C\u84F4\u852A\u84F2\u8515\u84F7\u84EB\u84F3\u84FC\u8512\u84EA\u84E9\u8516\u84FE\u8528\u851D\u852E\u8502\u84FD\u851E\u84F6\u8531\u8526\u84E7\u84E8\u84F0\u84EF\u84F9\u8518\u8520\u8530\u850B\u8519\u852F\u8662"],["e7a1","\u8756\u8763\u8764\u8777\u87E1\u8773\u8758\u8754\u875B\u8752\u8761\u875A\u8751\u875E\u876D\u876A\u8750\u874E\u875F\u875D\u876F\u876C\u877A\u876E\u875C\u8765\u874F\u877B\u8775\u8762\u8767\u8769\u885A\u8905\u890C\u8914\u890B\u8917\u8918\u8919\u8906\u8916\u8911\u890E\u8909\u89A2\u89A4\u89A3\u89ED\u89F0\u89EC\u8ACF\u8AC6\u8AB8\u8AD3\u8AD1\u8AD4\u8AD5\u8ABB\u8AD7\u8ABE\u8AC0\u8AC5\u8AD8\u8AC3\u8ABA\u8ABD\u8AD9\u8C3E\u8C4D\u8C8F\u8CE5\u8CDF\u8CD9\u8CE8\u8CDA\u8CDD\u8CE7\u8DA0\u8D9C\u8DA1\u8D9B\u8E20\u8E23\u8E25\u8E24\u8E2E\u8E15\u8E1B\u8E16\u8E11\u8E19\u8E26\u8E27"],["e840","\u8E14\u8E12\u8E18\u8E13\u8E1C\u8E17\u8E1A\u8F2C\u8F24\u8F18\u8F1A\u8F20\u8F23\u8F16\u8F17\u9073\u9070\u906F\u9067\u906B\u912F\u912B\u9129\u912A\u9132\u9126\u912E\u9185\u9186\u918A\u9181\u9182\u9184\u9180\u92D0\u92C3\u92C4\u92C0\u92D9\u92B6\u92CF\u92F1\u92DF\u92D8\u92E9\u92D7\u92DD\u92CC\u92EF\u92C2\u92E8\u92CA\u92C8\u92CE\u92E6\u92CD\u92D5\u92C9\u92E0\u92DE\u92E7\u92D1\u92D3"],["e8a1","\u92B5\u92E1\u92C6\u92B4\u957C\u95AC\u95AB\u95AE\u95B0\u96A4\u96A2\u96D3\u9705\u9708\u9702\u975A\u978A\u978E\u9788\u97D0\u97CF\u981E\u981D\u9826\u9829\u9828\u9820\u981B\u9827\u98B2\u9908\u98FA\u9911\u9914\u9916\u9917\u9915\u99DC\u99CD\u99CF\u99D3\u99D4\u99CE\u99C9\u99D6\u99D8\u99CB\u99D7\u99CC\u9AB3\u9AEC\u9AEB\u9AF3\u9AF2\u9AF1\u9B46\u9B43\u9B67\u9B74\u9B71\u9B66\u9B76\u9B75\u9B70\u9B68\u9B64\u9B6C\u9CFC\u9CFA\u9CFD\u9CFF\u9CF7\u9D07\u9D00\u9CF9\u9CFB\u9D08\u9D05\u9D04\u9E83\u9ED3\u9F0F\u9F10\u511C\u5113\u5117\u511A\u5111\u51DE\u5334\u53E1\u5670\u5660\u566E"],["e940","\u5673\u5666\u5663\u566D\u5672\u565E\u5677\u571C\u571B\u58C8\u58BD\u58C9\u58BF\u58BA\u58C2\u58BC\u58C6\u5B17\u5B19\u5B1B\u5B21\u5B14\u5B13\u5B10\u5B16\u5B28\u5B1A\u5B20\u5B1E\u5BEF\u5DAC\u5DB1\u5DA9\u5DA7\u5DB5\u5DB0\u5DAE\u5DAA\u5DA8\u5DB2\u5DAD\u5DAF\u5DB4\u5E67\u5E68\u5E66\u5E6F\u5EE9\u5EE7\u5EE6\u5EE8\u5EE5\u5F4B\u5FBC\u619D\u61A8\u6196\u61C5\u61B4\u61C6\u61C1\u61CC\u61BA"],["e9a1","\u61BF\u61B8\u618C\u64D7\u64D6\u64D0\u64CF\u64C9\u64BD\u6489\u64C3\u64DB\u64F3\u64D9\u6533\u657F\u657C\u65A2\u66C8\u66BE\u66C0\u66CA\u66CB\u66CF\u66BD\u66BB\u66BA\u66CC\u6723\u6A34\u6A66\u6A49\u6A67\u6A32\u6A68\u6A3E\u6A5D\u6A6D\u6A76\u6A5B\u6A51\u6A28\u6A5A\u6A3B\u6A3F\u6A41\u6A6A\u6A64\u6A50\u6A4F\u6A54\u6A6F\u6A69\u6A60\u6A3C\u6A5E\u6A56\u6A55\u6A4D\u6A4E\u6A46\u6B55\u6B54\u6B56\u6BA7\u6BAA\u6BAB\u6BC8\u6BC7\u6C04\u6C03\u6C06\u6FAD\u6FCB\u6FA3\u6FC7\u6FBC\u6FCE\u6FC8\u6F5E\u6FC4\u6FBD\u6F9E\u6FCA\u6FA8\u7004\u6FA5\u6FAE\u6FBA\u6FAC\u6FAA\u6FCF\u6FBF\u6FB8"],["ea40","\u6FA2\u6FC9\u6FAB\u6FCD\u6FAF\u6FB2\u6FB0\u71C5\u71C2\u71BF\u71B8\u71D6\u71C0\u71C1\u71CB\u71D4\u71CA\u71C7\u71CF\u71BD\u71D8\u71BC\u71C6\u71DA\u71DB\u729D\u729E\u7369\u7366\u7367\u736C\u7365\u736B\u736A\u747F\u749A\u74A0\u7494\u7492\u7495\u74A1\u750B\u7580\u762F\u762D\u7631\u763D\u7633\u763C\u7635\u7632\u7630\u76BB\u76E6\u779A\u779D\u77A1\u779C\u779B\u77A2\u77A3\u7795\u7799"],["eaa1","\u7797\u78DD\u78E9\u78E5\u78EA\u78DE\u78E3\u78DB\u78E1\u78E2\u78ED\u78DF\u78E0\u79A4\u7A44\u7A48\u7A47\u7AB6\u7AB8\u7AB5\u7AB1\u7AB7\u7BDE\u7BE3\u7BE7\u7BDD\u7BD5\u7BE5\u7BDA\u7BE8\u7BF9\u7BD4\u7BEA\u7BE2\u7BDC\u7BEB\u7BD8\u7BDF\u7CD2\u7CD4\u7CD7\u7CD0\u7CD1\u7E12\u7E21\u7E17\u7E0C\u7E1F\u7E20\u7E13\u7E0E\u7E1C\u7E15\u7E1A\u7E22\u7E0B\u7E0F\u7E16\u7E0D\u7E14\u7E25\u7E24\u7F43\u7F7B\u7F7C\u7F7A\u7FB1\u7FEF\u802A\u8029\u806C\u81B1\u81A6\u81AE\u81B9\u81B5\u81AB\u81B0\u81AC\u81B4\u81B2\u81B7\u81A7\u81F2\u8255\u8256\u8257\u8556\u8545\u856B\u854D\u8553\u8561\u8558"],["eb40","\u8540\u8546\u8564\u8541\u8562\u8544\u8551\u8547\u8563\u853E\u855B\u8571\u854E\u856E\u8575\u8555\u8567\u8560\u858C\u8566\u855D\u8554\u8565\u856C\u8663\u8665\u8664\u879B\u878F\u8797\u8793\u8792\u8788\u8781\u8796\u8798\u8779\u8787\u87A3\u8785\u8790\u8791\u879D\u8784\u8794\u879C\u879A\u8789\u891E\u8926\u8930\u892D\u892E\u8927\u8931\u8922\u8929\u8923\u892F\u892C\u891F\u89F1\u8AE0"],["eba1","\u8AE2\u8AF2\u8AF4\u8AF5\u8ADD\u8B14\u8AE4\u8ADF\u8AF0\u8AC8\u8ADE\u8AE1\u8AE8\u8AFF\u8AEF\u8AFB\u8C91\u8C92\u8C90\u8CF5\u8CEE\u8CF1\u8CF0\u8CF3\u8D6C\u8D6E\u8DA5\u8DA7\u8E33\u8E3E\u8E38\u8E40\u8E45\u8E36\u8E3C\u8E3D\u8E41\u8E30\u8E3F\u8EBD\u8F36\u8F2E\u8F35\u8F32\u8F39\u8F37\u8F34\u9076\u9079\u907B\u9086\u90FA\u9133\u9135\u9136\u9193\u9190\u9191\u918D\u918F\u9327\u931E\u9308\u931F\u9306\u930F\u937A\u9338\u933C\u931B\u9323\u9312\u9301\u9346\u932D\u930E\u930D\u92CB\u931D\u92FA\u9325\u9313\u92F9\u92F7\u9334\u9302\u9324\u92FF\u9329\u9339\u9335\u932A\u9314\u930C"],["ec40","\u930B\u92FE\u9309\u9300\u92FB\u9316\u95BC\u95CD\u95BE\u95B9\u95BA\u95B6\u95BF\u95B5\u95BD\u96A9\u96D4\u970B\u9712\u9710\u9799\u9797\u9794\u97F0\u97F8\u9835\u982F\u9832\u9924\u991F\u9927\u9929\u999E\u99EE\u99EC\u99E5\u99E4\u99F0\u99E3\u99EA\u99E9\u99E7\u9AB9\u9ABF\u9AB4\u9ABB\u9AF6\u9AFA\u9AF9\u9AF7\u9B33\u9B80\u9B85\u9B87\u9B7C\u9B7E\u9B7B\u9B82\u9B93\u9B92\u9B90\u9B7A\u9B95"],["eca1","\u9B7D\u9B88\u9D25\u9D17\u9D20\u9D1E\u9D14\u9D29\u9D1D\u9D18\u9D22\u9D10\u9D19\u9D1F\u9E88\u9E86\u9E87\u9EAE\u9EAD\u9ED5\u9ED6\u9EFA\u9F12\u9F3D\u5126\u5125\u5122\u5124\u5120\u5129\u52F4\u5693\u568C\u568D\u5686\u5684\u5683\u567E\u5682\u567F\u5681\u58D6\u58D4\u58CF\u58D2\u5B2D\u5B25\u5B32\u5B23\u5B2C\u5B27\u5B26\u5B2F\u5B2E\u5B7B\u5BF1\u5BF2\u5DB7\u5E6C\u5E6A\u5FBE\u5FBB\u61C3\u61B5\u61BC\u61E7\u61E0\u61E5\u61E4\u61E8\u61DE\u64EF\u64E9\u64E3\u64EB\u64E4\u64E8\u6581\u6580\u65B6\u65DA\u66D2\u6A8D\u6A96\u6A81\u6AA5\u6A89\u6A9F\u6A9B\u6AA1\u6A9E\u6A87\u6A93\u6A8E"],["ed40","\u6A95\u6A83\u6AA8\u6AA4\u6A91\u6A7F\u6AA6\u6A9A\u6A85\u6A8C\u6A92\u6B5B\u6BAD\u6C09\u6FCC\u6FA9\u6FF4\u6FD4\u6FE3\u6FDC\u6FED\u6FE7\u6FE6\u6FDE\u6FF2\u6FDD\u6FE2\u6FE8\u71E1\u71F1\u71E8\u71F2\u71E4\u71F0\u71E2\u7373\u736E\u736F\u7497\u74B2\u74AB\u7490\u74AA\u74AD\u74B1\u74A5\u74AF\u7510\u7511\u7512\u750F\u7584\u7643\u7648\u7649\u7647\u76A4\u76E9\u77B5\u77AB\u77B2\u77B7\u77B6"],["eda1","\u77B4\u77B1\u77A8\u77F0\u78F3\u78FD\u7902\u78FB\u78FC\u78F2\u7905\u78F9\u78FE\u7904\u79AB\u79A8\u7A5C\u7A5B\u7A56\u7A58\u7A54\u7A5A\u7ABE\u7AC0\u7AC1\u7C05\u7C0F\u7BF2\u7C00\u7BFF\u7BFB\u7C0E\u7BF4\u7C0B\u7BF3\u7C02\u7C09\u7C03\u7C01\u7BF8\u7BFD\u7C06\u7BF0\u7BF1\u7C10\u7C0A\u7CE8\u7E2D\u7E3C\u7E42\u7E33\u9848\u7E38\u7E2A\u7E49\u7E40\u7E47\u7E29\u7E4C\u7E30\u7E3B\u7E36\u7E44\u7E3A\u7F45\u7F7F\u7F7E\u7F7D\u7FF4\u7FF2\u802C\u81BB\u81C4\u81CC\u81CA\u81C5\u81C7\u81BC\u81E9\u825B\u825A\u825C\u8583\u8580\u858F\u85A7\u8595\u85A0\u858B\u85A3\u857B\u85A4\u859A\u859E"],["ee40","\u8577\u857C\u8589\u85A1\u857A\u8578\u8557\u858E\u8596\u8586\u858D\u8599\u859D\u8581\u85A2\u8582\u8588\u8585\u8579\u8576\u8598\u8590\u859F\u8668\u87BE\u87AA\u87AD\u87C5\u87B0\u87AC\u87B9\u87B5\u87BC\u87AE\u87C9\u87C3\u87C2\u87CC\u87B7\u87AF\u87C4\u87CA\u87B4\u87B6\u87BF\u87B8\u87BD\u87DE\u87B2\u8935\u8933\u893C\u893E\u8941\u8952\u8937\u8942\u89AD\u89AF\u89AE\u89F2\u89F3\u8B1E"],["eea1","\u8B18\u8B16\u8B11\u8B05\u8B0B\u8B22\u8B0F\u8B12\u8B15\u8B07\u8B0D\u8B08\u8B06\u8B1C\u8B13\u8B1A\u8C4F\u8C70\u8C72\u8C71\u8C6F\u8C95\u8C94\u8CF9\u8D6F\u8E4E\u8E4D\u8E53\u8E50\u8E4C\u8E47\u8F43\u8F40\u9085\u907E\u9138\u919A\u91A2\u919B\u9199\u919F\u91A1\u919D\u91A0\u93A1\u9383\u93AF\u9364\u9356\u9347\u937C\u9358\u935C\u9376\u9349\u9350\u9351\u9360\u936D\u938F\u934C\u936A\u9379\u9357\u9355\u9352\u934F\u9371\u9377\u937B\u9361\u935E\u9363\u9367\u9380\u934E\u9359\u95C7\u95C0\u95C9\u95C3\u95C5\u95B7\u96AE\u96B0\u96AC\u9720\u971F\u9718\u971D\u9719\u979A\u97A1\u979C"],["ef40","\u979E\u979D\u97D5\u97D4\u97F1\u9841\u9844\u984A\u9849\u9845\u9843\u9925\u992B\u992C\u992A\u9933\u9932\u992F\u992D\u9931\u9930\u9998\u99A3\u99A1\u9A02\u99FA\u99F4\u99F7\u99F9\u99F8\u99F6\u99FB\u99FD\u99FE\u99FC\u9A03\u9ABE\u9AFE\u9AFD\u9B01\u9AFC\u9B48\u9B9A\u9BA8\u9B9E\u9B9B\u9BA6\u9BA1\u9BA5\u9BA4\u9B86\u9BA2\u9BA0\u9BAF\u9D33\u9D41\u9D67\u9D36\u9D2E\u9D2F\u9D31\u9D38\u9D30"],["efa1","\u9D45\u9D42\u9D43\u9D3E\u9D37\u9D40\u9D3D\u7FF5\u9D2D\u9E8A\u9E89\u9E8D\u9EB0\u9EC8\u9EDA\u9EFB\u9EFF\u9F24\u9F23\u9F22\u9F54\u9FA0\u5131\u512D\u512E\u5698\u569C\u5697\u569A\u569D\u5699\u5970\u5B3C\u5C69\u5C6A\u5DC0\u5E6D\u5E6E\u61D8\u61DF\u61ED\u61EE\u61F1\u61EA\u61F0\u61EB\u61D6\u61E9\u64FF\u6504\u64FD\u64F8\u6501\u6503\u64FC\u6594\u65DB\u66DA\u66DB\u66D8\u6AC5\u6AB9\u6ABD\u6AE1\u6AC6\u6ABA\u6AB6\u6AB7\u6AC7\u6AB4\u6AAD\u6B5E\u6BC9\u6C0B\u7007\u700C\u700D\u7001\u7005\u7014\u700E\u6FFF\u7000\u6FFB\u7026\u6FFC\u6FF7\u700A\u7201\u71FF\u71F9\u7203\u71FD\u7376"],["f040","\u74B8\u74C0\u74B5\u74C1\u74BE\u74B6\u74BB\u74C2\u7514\u7513\u765C\u7664\u7659\u7650\u7653\u7657\u765A\u76A6\u76BD\u76EC\u77C2\u77BA\u78FF\u790C\u7913\u7914\u7909\u7910\u7912\u7911\u79AD\u79AC\u7A5F\u7C1C\u7C29\u7C19\u7C20\u7C1F\u7C2D\u7C1D\u7C26\u7C28\u7C22\u7C25\u7C30\u7E5C\u7E50\u7E56\u7E63\u7E58\u7E62\u7E5F\u7E51\u7E60\u7E57\u7E53\u7FB5\u7FB3\u7FF7\u7FF8\u8075\u81D1\u81D2"],["f0a1","\u81D0\u825F\u825E\u85B4\u85C6\u85C0\u85C3\u85C2\u85B3\u85B5\u85BD\u85C7\u85C4\u85BF\u85CB\u85CE\u85C8\u85C5\u85B1\u85B6\u85D2\u8624\u85B8\u85B7\u85BE\u8669\u87E7\u87E6\u87E2\u87DB\u87EB\u87EA\u87E5\u87DF\u87F3\u87E4\u87D4\u87DC\u87D3\u87ED\u87D8\u87E3\u87A4\u87D7\u87D9\u8801\u87F4\u87E8\u87DD\u8953\u894B\u894F\u894C\u8946\u8950\u8951\u8949\u8B2A\u8B27\u8B23\u8B33\u8B30\u8B35\u8B47\u8B2F\u8B3C\u8B3E\u8B31\u8B25\u8B37\u8B26\u8B36\u8B2E\u8B24\u8B3B\u8B3D\u8B3A\u8C42\u8C75\u8C99\u8C98\u8C97\u8CFE\u8D04\u8D02\u8D00\u8E5C\u8E62\u8E60\u8E57\u8E56\u8E5E\u8E65\u8E67"],["f140","\u8E5B\u8E5A\u8E61\u8E5D\u8E69\u8E54\u8F46\u8F47\u8F48\u8F4B\u9128\u913A\u913B\u913E\u91A8\u91A5\u91A7\u91AF\u91AA\u93B5\u938C\u9392\u93B7\u939B\u939D\u9389\u93A7\u938E\u93AA\u939E\u93A6\u9395\u9388\u9399\u939F\u938D\u93B1\u9391\u93B2\u93A4\u93A8\u93B4\u93A3\u93A5\u95D2\u95D3\u95D1\u96B3\u96D7\u96DA\u5DC2\u96DF\u96D8\u96DD\u9723\u9722\u9725\u97AC\u97AE\u97A8\u97AB\u97A4\u97AA"],["f1a1","\u97A2\u97A5\u97D7\u97D9\u97D6\u97D8\u97FA\u9850\u9851\u9852\u98B8\u9941\u993C\u993A\u9A0F\u9A0B\u9A09\u9A0D\u9A04\u9A11\u9A0A\u9A05\u9A07\u9A06\u9AC0\u9ADC\u9B08\u9B04\u9B05\u9B29\u9B35\u9B4A\u9B4C\u9B4B\u9BC7\u9BC6\u9BC3\u9BBF\u9BC1\u9BB5\u9BB8\u9BD3\u9BB6\u9BC4\u9BB9\u9BBD\u9D5C\u9D53\u9D4F\u9D4A\u9D5B\u9D4B\u9D59\u9D56\u9D4C\u9D57\u9D52\u9D54\u9D5F\u9D58\u9D5A\u9E8E\u9E8C\u9EDF\u9F01\u9F00\u9F16\u9F25\u9F2B\u9F2A\u9F29\u9F28\u9F4C\u9F55\u5134\u5135\u5296\u52F7\u53B4\u56AB\u56AD\u56A6\u56A7\u56AA\u56AC\u58DA\u58DD\u58DB\u5912\u5B3D\u5B3E\u5B3F\u5DC3\u5E70"],["f240","\u5FBF\u61FB\u6507\u6510\u650D\u6509\u650C\u650E\u6584\u65DE\u65DD\u66DE\u6AE7\u6AE0\u6ACC\u6AD1\u6AD9\u6ACB\u6ADF\u6ADC\u6AD0\u6AEB\u6ACF\u6ACD\u6ADE\u6B60\u6BB0\u6C0C\u7019\u7027\u7020\u7016\u702B\u7021\u7022\u7023\u7029\u7017\u7024\u701C\u702A\u720C\u720A\u7207\u7202\u7205\u72A5\u72A6\u72A4\u72A3\u72A1\u74CB\u74C5\u74B7\u74C3\u7516\u7660\u77C9\u77CA\u77C4\u77F1\u791D\u791B"],["f2a1","\u7921\u791C\u7917\u791E\u79B0\u7A67\u7A68\u7C33\u7C3C\u7C39\u7C2C\u7C3B\u7CEC\u7CEA\u7E76\u7E75\u7E78\u7E70\u7E77\u7E6F\u7E7A\u7E72\u7E74\u7E68\u7F4B\u7F4A\u7F83\u7F86\u7FB7\u7FFD\u7FFE\u8078\u81D7\u81D5\u8264\u8261\u8263\u85EB\u85F1\u85ED\u85D9\u85E1\u85E8\u85DA\u85D7\u85EC\u85F2\u85F8\u85D8\u85DF\u85E3\u85DC\u85D1\u85F0\u85E6\u85EF\u85DE\u85E2\u8800\u87FA\u8803\u87F6\u87F7\u8809\u880C\u880B\u8806\u87FC\u8808\u87FF\u880A\u8802\u8962\u895A\u895B\u8957\u8961\u895C\u8958\u895D\u8959\u8988\u89B7\u89B6\u89F6\u8B50\u8B48\u8B4A\u8B40\u8B53\u8B56\u8B54\u8B4B\u8B55"],["f340","\u8B51\u8B42\u8B52\u8B57\u8C43\u8C77\u8C76\u8C9A\u8D06\u8D07\u8D09\u8DAC\u8DAA\u8DAD\u8DAB\u8E6D\u8E78\u8E73\u8E6A\u8E6F\u8E7B\u8EC2\u8F52\u8F51\u8F4F\u8F50\u8F53\u8FB4\u9140\u913F\u91B0\u91AD\u93DE\u93C7\u93CF\u93C2\u93DA\u93D0\u93F9\u93EC\u93CC\u93D9\u93A9\u93E6\u93CA\u93D4\u93EE\u93E3\u93D5\u93C4\u93CE\u93C0\u93D2\u93E7\u957D\u95DA\u95DB\u96E1\u9729\u972B\u972C\u9728\u9726"],["f3a1","\u97B3\u97B7\u97B6\u97DD\u97DE\u97DF\u985C\u9859\u985D\u9857\u98BF\u98BD\u98BB\u98BE\u9948\u9947\u9943\u99A6\u99A7\u9A1A\u9A15\u9A25\u9A1D\u9A24\u9A1B\u9A22\u9A20\u9A27\u9A23\u9A1E\u9A1C\u9A14\u9AC2\u9B0B\u9B0A\u9B0E\u9B0C\u9B37\u9BEA\u9BEB\u9BE0\u9BDE\u9BE4\u9BE6\u9BE2\u9BF0\u9BD4\u9BD7\u9BEC\u9BDC\u9BD9\u9BE5\u9BD5\u9BE1\u9BDA\u9D77\u9D81\u9D8A\u9D84\u9D88\u9D71\u9D80\u9D78\u9D86\u9D8B\u9D8C\u9D7D\u9D6B\u9D74\u9D75\u9D70\u9D69\u9D85\u9D73\u9D7B\u9D82\u9D6F\u9D79\u9D7F\u9D87\u9D68\u9E94\u9E91\u9EC0\u9EFC\u9F2D\u9F40\u9F41\u9F4D\u9F56\u9F57\u9F58\u5337\u56B2"],["f440","\u56B5\u56B3\u58E3\u5B45\u5DC6\u5DC7\u5EEE\u5EEF\u5FC0\u5FC1\u61F9\u6517\u6516\u6515\u6513\u65DF\u66E8\u66E3\u66E4\u6AF3\u6AF0\u6AEA\u6AE8\u6AF9\u6AF1\u6AEE\u6AEF\u703C\u7035\u702F\u7037\u7034\u7031\u7042\u7038\u703F\u703A\u7039\u7040\u703B\u7033\u7041\u7213\u7214\u72A8\u737D\u737C\u74BA\u76AB\u76AA\u76BE\u76ED\u77CC\u77CE\u77CF\u77CD\u77F2\u7925\u7923\u7927\u7928\u7924\u7929"],["f4a1","\u79B2\u7A6E\u7A6C\u7A6D\u7AF7\u7C49\u7C48\u7C4A\u7C47\u7C45\u7CEE\u7E7B\u7E7E\u7E81\u7E80\u7FBA\u7FFF\u8079\u81DB\u81D9\u820B\u8268\u8269\u8622\u85FF\u8601\u85FE\u861B\u8600\u85F6\u8604\u8609\u8605\u860C\u85FD\u8819\u8810\u8811\u8817\u8813\u8816\u8963\u8966\u89B9\u89F7\u8B60\u8B6A\u8B5D\u8B68\u8B63\u8B65\u8B67\u8B6D\u8DAE\u8E86\u8E88\u8E84\u8F59\u8F56\u8F57\u8F55\u8F58\u8F5A\u908D\u9143\u9141\u91B7\u91B5\u91B2\u91B3\u940B\u9413\u93FB\u9420\u940F\u9414\u93FE\u9415\u9410\u9428\u9419\u940D\u93F5\u9400\u93F7\u9407\u940E\u9416\u9412\u93FA\u9409\u93F8\u940A\u93FF"],["f540","\u93FC\u940C\u93F6\u9411\u9406\u95DE\u95E0\u95DF\u972E\u972F\u97B9\u97BB\u97FD\u97FE\u9860\u9862\u9863\u985F\u98C1\u98C2\u9950\u994E\u9959\u994C\u994B\u9953\u9A32\u9A34\u9A31\u9A2C\u9A2A\u9A36\u9A29\u9A2E\u9A38\u9A2D\u9AC7\u9ACA\u9AC6\u9B10\u9B12\u9B11\u9C0B\u9C08\u9BF7\u9C05\u9C12\u9BF8\u9C40\u9C07\u9C0E\u9C06\u9C17\u9C14\u9C09\u9D9F\u9D99\u9DA4\u9D9D\u9D92\u9D98\u9D90\u9D9B"],["f5a1","\u9DA0\u9D94\u9D9C\u9DAA\u9D97\u9DA1\u9D9A\u9DA2\u9DA8\u9D9E\u9DA3\u9DBF\u9DA9\u9D96\u9DA6\u9DA7\u9E99\u9E9B\u9E9A\u9EE5\u9EE4\u9EE7\u9EE6\u9F30\u9F2E\u9F5B\u9F60\u9F5E\u9F5D\u9F59\u9F91\u513A\u5139\u5298\u5297\u56C3\u56BD\u56BE\u5B48\u5B47\u5DCB\u5DCF\u5EF1\u61FD\u651B\u6B02\u6AFC\u6B03\u6AF8\u6B00\u7043\u7044\u704A\u7048\u7049\u7045\u7046\u721D\u721A\u7219\u737E\u7517\u766A\u77D0\u792D\u7931\u792F\u7C54\u7C53\u7CF2\u7E8A\u7E87\u7E88\u7E8B\u7E86\u7E8D\u7F4D\u7FBB\u8030\u81DD\u8618\u862A\u8626\u861F\u8623\u861C\u8619\u8627\u862E\u8621\u8620\u8629\u861E\u8625"],["f640","\u8829\u881D\u881B\u8820\u8824\u881C\u882B\u884A\u896D\u8969\u896E\u896B\u89FA\u8B79\u8B78\u8B45\u8B7A\u8B7B\u8D10\u8D14\u8DAF\u8E8E\u8E8C\u8F5E\u8F5B\u8F5D\u9146\u9144\u9145\u91B9\u943F\u943B\u9436\u9429\u943D\u943C\u9430\u9439\u942A\u9437\u942C\u9440\u9431\u95E5\u95E4\u95E3\u9735\u973A\u97BF\u97E1\u9864\u98C9\u98C6\u98C0\u9958\u9956\u9A39\u9A3D\u9A46\u9A44\u9A42\u9A41\u9A3A"],["f6a1","\u9A3F\u9ACD\u9B15\u9B17\u9B18\u9B16\u9B3A\u9B52\u9C2B\u9C1D\u9C1C\u9C2C\u9C23\u9C28\u9C29\u9C24\u9C21\u9DB7\u9DB6\u9DBC\u9DC1\u9DC7\u9DCA\u9DCF\u9DBE\u9DC5\u9DC3\u9DBB\u9DB5\u9DCE\u9DB9\u9DBA\u9DAC\u9DC8\u9DB1\u9DAD\u9DCC\u9DB3\u9DCD\u9DB2\u9E7A\u9E9C\u9EEB\u9EEE\u9EED\u9F1B\u9F18\u9F1A\u9F31\u9F4E\u9F65\u9F64\u9F92\u4EB9\u56C6\u56C5\u56CB\u5971\u5B4B\u5B4C\u5DD5\u5DD1\u5EF2\u6521\u6520\u6526\u6522\u6B0B\u6B08\u6B09\u6C0D\u7055\u7056\u7057\u7052\u721E\u721F\u72A9\u737F\u74D8\u74D5\u74D9\u74D7\u766D\u76AD\u7935\u79B4\u7A70\u7A71\u7C57\u7C5C\u7C59\u7C5B\u7C5A"],["f740","\u7CF4\u7CF1\u7E91\u7F4F\u7F87\u81DE\u826B\u8634\u8635\u8633\u862C\u8632\u8636\u882C\u8828\u8826\u882A\u8825\u8971\u89BF\u89BE\u89FB\u8B7E\u8B84\u8B82\u8B86\u8B85\u8B7F\u8D15\u8E95\u8E94\u8E9A\u8E92\u8E90\u8E96\u8E97\u8F60\u8F62\u9147\u944C\u9450\u944A\u944B\u944F\u9447\u9445\u9448\u9449\u9446\u973F\u97E3\u986A\u9869\u98CB\u9954\u995B\u9A4E\u9A53\u9A54\u9A4C\u9A4F\u9A48\u9A4A"],["f7a1","\u9A49\u9A52\u9A50\u9AD0\u9B19\u9B2B\u9B3B\u9B56\u9B55\u9C46\u9C48\u9C3F\u9C44\u9C39\u9C33\u9C41\u9C3C\u9C37\u9C34\u9C32\u9C3D\u9C36\u9DDB\u9DD2\u9DDE\u9DDA\u9DCB\u9DD0\u9DDC\u9DD1\u9DDF\u9DE9\u9DD9\u9DD8\u9DD6\u9DF5\u9DD5\u9DDD\u9EB6\u9EF0\u9F35\u9F33\u9F32\u9F42\u9F6B\u9F95\u9FA2\u513D\u5299\u58E8\u58E7\u5972\u5B4D\u5DD8\u882F\u5F4F\u6201\u6203\u6204\u6529\u6525\u6596\u66EB\u6B11\u6B12\u6B0F\u6BCA\u705B\u705A\u7222\u7382\u7381\u7383\u7670\u77D4\u7C67\u7C66\u7E95\u826C\u863A\u8640\u8639\u863C\u8631\u863B\u863E\u8830\u8832\u882E\u8833\u8976\u8974\u8973\u89FE"],["f840","\u8B8C\u8B8E\u8B8B\u8B88\u8C45\u8D19\u8E98\u8F64\u8F63\u91BC\u9462\u9455\u945D\u9457\u945E\u97C4\u97C5\u9800\u9A56\u9A59\u9B1E\u9B1F\u9B20\u9C52\u9C58\u9C50\u9C4A\u9C4D\u9C4B\u9C55\u9C59\u9C4C\u9C4E\u9DFB\u9DF7\u9DEF\u9DE3\u9DEB\u9DF8\u9DE4\u9DF6\u9DE1\u9DEE\u9DE6\u9DF2\u9DF0\u9DE2\u9DEC\u9DF4\u9DF3\u9DE8\u9DED\u9EC2\u9ED0\u9EF2\u9EF3\u9F06\u9F1C\u9F38\u9F37\u9F36\u9F43\u9F4F"],["f8a1","\u9F71\u9F70\u9F6E\u9F6F\u56D3\u56CD\u5B4E\u5C6D\u652D\u66ED\u66EE\u6B13\u705F\u7061\u705D\u7060\u7223\u74DB\u74E5\u77D5\u7938\u79B7\u79B6\u7C6A\u7E97\u7F89\u826D\u8643\u8838\u8837\u8835\u884B\u8B94\u8B95\u8E9E\u8E9F\u8EA0\u8E9D\u91BE\u91BD\u91C2\u946B\u9468\u9469\u96E5\u9746\u9743\u9747\u97C7\u97E5\u9A5E\u9AD5\u9B59\u9C63\u9C67\u9C66\u9C62\u9C5E\u9C60\u9E02\u9DFE\u9E07\u9E03\u9E06\u9E05\u9E00\u9E01\u9E09\u9DFF\u9DFD\u9E04\u9EA0\u9F1E\u9F46\u9F74\u9F75\u9F76\u56D4\u652E\u65B8\u6B18\u6B19\u6B17\u6B1A\u7062\u7226\u72AA\u77D8\u77D9\u7939\u7C69\u7C6B\u7CF6\u7E9A"],["f940","\u7E98\u7E9B\u7E99\u81E0\u81E1\u8646\u8647\u8648\u8979\u897A\u897C\u897B\u89FF\u8B98\u8B99\u8EA5\u8EA4\u8EA3\u946E\u946D\u946F\u9471\u9473\u9749\u9872\u995F\u9C68\u9C6E\u9C6D\u9E0B\u9E0D\u9E10\u9E0F\u9E12\u9E11\u9EA1\u9EF5\u9F09\u9F47\u9F78\u9F7B\u9F7A\u9F79\u571E\u7066\u7C6F\u883C\u8DB2\u8EA6\u91C3\u9474\u9478\u9476\u9475\u9A60\u9C74\u9C73\u9C71\u9C75\u9E14\u9E13\u9EF6\u9F0A"],["f9a1","\u9FA4\u7068\u7065\u7CF7\u866A\u883E\u883D\u883F\u8B9E\u8C9C\u8EA9\u8EC9\u974B\u9873\u9874\u98CC\u9961\u99AB\u9A64\u9A66\u9A67\u9B24\u9E15\u9E17\u9F48\u6207\u6B1E\u7227\u864C\u8EA8\u9482\u9480\u9481\u9A69\u9A68\u9B2E\u9E19\u7229\u864B\u8B9F\u9483\u9C79\u9EB7\u7675\u9A6B\u9C7A\u9E1D\u7069\u706A\u9EA4\u9F7E\u9F49\u9F98\u7881\u92B9\u88CF\u58BB\u6052\u7CA7\u5AFA\u2554\u2566\u2557\u2560\u256C\u2563\u255A\u2569\u255D\u2552\u2564\u2555\u255E\u256A\u2561\u2558\u2567\u255B\u2553\u2565\u2556\u255F\u256B\u2562\u2559\u2568\u255C\u2551\u2550\u256D\u256E\u2570\u256F\u2593"]]});var $jt=Le((DTi,Zen)=>{Zen.exports=[["8740","\u43F0\u4C32\u4603\u45A6\u4578\u{27267}\u4D77\u45B3\u{27CB1}\u4CE2\u{27CC5}\u3B95\u4736\u4744\u4C47\u4C40\u{242BF}\u{23617}\u{27352}\u{26E8B}\u{270D2}\u4C57\u{2A351}\u474F\u45DA\u4C85\u{27C6C}\u4D07\u4AA4\u46A1\u{26B23}\u7225\u{25A54}\u{21A63}\u{23E06}\u{23F61}\u664D\u56FB"],["8767","\u7D95\u591D\u{28BB9}\u3DF4\u9734\u{27BEF}\u5BDB\u{21D5E}\u5AA4\u3625\u{29EB0}\u5AD1\u5BB7\u5CFC\u676E\u8593\u{29945}\u7461\u749D\u3875\u{21D53}\u{2369E}\u{26021}\u3EEC"],["87a1","\u{258DE}\u3AF5\u7AFC\u9F97\u{24161}\u{2890D}\u{231EA}\u{20A8A}\u{2325E}\u430A\u8484\u9F96\u942F\u4930\u8613\u5896\u974A\u9218\u79D0\u7A32\u6660\u6A29\u889D\u744C\u7BC5\u6782\u7A2C\u524F\u9046\u34E6\u73C4\u{25DB9}\u74C6\u9FC7\u57B3\u492F\u544C\u4131\u{2368E}\u5818\u7A72\u{27B65}\u8B8F\u46AE\u{26E88}\u4181\u{25D99}\u7BAE\u{224BC}\u9FC8\u{224C1}\u{224C9}\u{224CC}\u9FC9\u8504\u{235BB}\u40B4\u9FCA\u44E1\u{2ADFF}\u62C1\u706E\u9FCB"],["8840","\u31C0",4,"\u{2010C}\u31C5\u{200D1}\u{200CD}\u31C6\u31C7\u{200CB}\u{21FE8}\u31C8\u{200CA}\u31C9\u31CA\u31CB\u31CC\u{2010E}\u31CD\u31CE\u0100\xC1\u01CD\xC0\u0112\xC9\u011A\xC8\u014C\xD3\u01D1\xD2\u0FFF\xCA\u0304\u1EBE\u0FFF\xCA\u030C\u1EC0\xCA\u0101\xE1\u01CE\xE0\u0251\u0113\xE9\u011B\xE8\u012B\xED\u01D0\xEC\u014D\xF3\u01D2\xF2\u016B\xFA\u01D4\xF9\u01D6\u01D8\u01DA"],["88a1","\u01DC\xFC\u0FFF\xEA\u0304\u1EBF\u0FFF\xEA\u030C\u1EC1\xEA\u0261\u23DA\u23DB"],["8940","\u{2A3A9}\u{21145}"],["8943","\u650A"],["8946","\u4E3D\u6EDD\u9D4E\u91DF"],["894c","\u{27735}\u6491\u4F1A\u4F28\u4FA8\u5156\u5174\u519C\u51E4\u52A1\u52A8\u533B\u534E\u53D1\u53D8\u56E2\u58F0\u5904\u5907\u5932\u5934\u5B66\u5B9E\u5B9F\u5C9A\u5E86\u603B\u6589\u67FE\u6804\u6865\u6D4E\u70BC\u7535\u7EA4\u7EAC\u7EBA\u7EC7\u7ECF\u7EDF\u7F06\u7F37\u827A\u82CF\u836F\u89C6\u8BBE\u8BE2\u8F66\u8F67\u8F6E"],["89a1","\u7411\u7CFC\u7DCD\u6946\u7AC9\u5227"],["89ab","\u918C\u78B8\u915E\u80BC"],["89b0","\u8D0B\u80F6\u{209E7}"],["89b5","\u809F\u9EC7\u4CCD\u9DC9\u9E0C\u4C3E\u{29DF6}\u{2700E}\u9E0A\u{2A133}\u35C1"],["89c1","\u6E9A\u823E\u7519"],["89c5","\u4911\u9A6C\u9A8F\u9F99\u7987\u{2846C}\u{21DCA}\u{205D0}\u{22AE6}\u4E24\u4E81\u4E80\u4E87\u4EBF\u4EEB\u4F37\u344C\u4FBD\u3E48\u5003\u5088\u347D\u3493\u34A5\u5186\u5905\u51DB\u51FC\u5205\u4E89\u5279\u5290\u5327\u35C7\u53A9\u3551\u53B0\u3553\u53C2\u5423\u356D\u3572\u3681\u5493\u54A3\u54B4\u54B9\u54D0\u54EF\u5518\u5523\u5528\u3598\u553F\u35A5\u35BF\u55D7\u35C5"],["8a40","\u{27D84}\u5525"],["8a43","\u{20C42}\u{20D15}\u{2512B}\u5590\u{22CC6}\u39EC\u{20341}\u8E46\u{24DB8}\u{294E5}\u4053\u{280BE}\u777A\u{22C38}\u3A34\u47D5\u{2815D}\u{269F2}\u{24DEA}\u64DD\u{20D7C}\u{20FB4}\u{20CD5}\u{210F4}\u648D\u8E7E\u{20E96}\u{20C0B}\u{20F64}\u{22CA9}\u{28256}\u{244D3}"],["8a64","\u{20D46}\u{29A4D}\u{280E9}\u47F4\u{24EA7}\u{22CC2}\u9AB2\u3A67\u{295F4}\u3FED\u3506\u{252C7}\u{297D4}\u{278C8}\u{22D44}\u9D6E\u9815"],["8a76","\u43D9\u{260A5}\u64B4\u54E3\u{22D4C}\u{22BCA}\u{21077}\u39FB\u{2106F}"],["8aa1","\u{266DA}\u{26716}\u{279A0}\u64EA\u{25052}\u{20C43}\u8E68\u{221A1}\u{28B4C}\u{20731}"],["8aac","\u480B\u{201A9}\u3FFA\u5873\u{22D8D}"],["8ab2","\u{245C8}\u{204FC}\u{26097}\u{20F4C}\u{20D96}\u5579\u40BB\u43BA"],["8abb","\u4AB4\u{22A66}\u{2109D}\u81AA\u98F5\u{20D9C}\u6379\u39FE\u{22775}\u8DC0\u56A1\u647C\u3E43"],["8ac9","\u{2A601}\u{20E09}\u{22ACF}\u{22CC9}"],["8ace","\u{210C8}\u{239C2}\u3992\u3A06\u{2829B}\u3578\u{25E49}\u{220C7}\u5652\u{20F31}\u{22CB2}\u{29720}\u34BC\u6C3D\u{24E3B}"],["8adf","\u{27574}\u{22E8B}\u{22208}\u{2A65B}\u{28CCD}\u{20E7A}\u{20C34}\u{2681C}\u7F93\u{210CF}\u{22803}\u{22939}\u35FB\u{251E3}\u{20E8C}\u{20F8D}\u{20EAA}\u3F93\u{20F30}\u{20D47}\u{2114F}\u{20E4C}"],["8af6","\u{20EAB}\u{20BA9}\u{20D48}\u{210C0}\u{2113D}\u3FF9\u{22696}\u6432\u{20FAD}"],["8b40","\u{233F4}\u{27639}\u{22BCE}\u{20D7E}\u{20D7F}\u{22C51}\u{22C55}\u3A18\u{20E98}\u{210C7}\u{20F2E}\u{2A632}\u{26B50}\u{28CD2}\u{28D99}\u{28CCA}\u95AA\u54CC\u82C4\u55B9"],["8b55","\u{29EC3}\u9C26\u9AB6\u{2775E}\u{22DEE}\u7140\u816D\u80EC\u5C1C\u{26572}\u8134\u3797\u535F\u{280BD}\u91B6\u{20EFA}\u{20E0F}\u{20E77}\u{20EFB}\u35DD\u{24DEB}\u3609\u{20CD6}\u56AF\u{227B5}\u{210C9}\u{20E10}\u{20E78}\u{21078}\u{21148}\u{28207}\u{21455}\u{20E79}\u{24E50}\u{22DA4}\u5A54\u{2101D}\u{2101E}\u{210F5}\u{210F6}\u579C\u{20E11}"],["8ba1","\u{27694}\u{282CD}\u{20FB5}\u{20E7B}\u{2517E}\u3703\u{20FB6}\u{21180}\u{252D8}\u{2A2BD}\u{249DA}\u{2183A}\u{24177}\u{2827C}\u5899\u5268\u361A\u{2573D}\u7BB2\u5B68\u4800\u4B2C\u9F27\u49E7\u9C1F\u9B8D\u{25B74}\u{2313D}\u55FB\u35F2\u5689\u4E28\u5902\u{21BC1}\u{2F878}\u9751\u{20086}\u4E5B\u4EBB\u353E\u5C23\u5F51\u5FC4\u38FA\u624C\u6535\u6B7A\u6C35\u6C3A\u706C\u722B\u4E2C\u72AD\u{248E9}\u7F52\u793B\u7CF9\u7F53\u{2626A}\u34C1"],["8bde","\u{2634B}\u8002\u8080\u{26612}\u{26951}\u535D\u8864\u89C1\u{278B2}\u8BA0\u8D1D\u9485\u9578\u957F\u95E8\u{28E0F}\u97E6\u9875\u98CE\u98DE\u9963\u{29810}\u9C7C\u9E1F\u9EC4\u6B6F\uF907\u4E37\u{20087}\u961D\u6237\u94A2"],["8c40","\u503B\u6DFE\u{29C73}\u9FA6\u3DC9\u888F\u{2414E}\u7077\u5CF5\u4B20\u{251CD}\u3559\u{25D30}\u6122\u{28A32}\u8FA7\u91F6\u7191\u6719\u73BA\u{23281}\u{2A107}\u3C8B\u{21980}\u4B10\u78E4\u7402\u51AE\u{2870F}\u4009\u6A63\u{2A2BA}\u4223\u860F\u{20A6F}\u7A2A\u{29947}\u{28AEA}\u9755\u704D\u5324\u{2207E}\u93F4\u76D9\u{289E3}\u9FA7\u77DD\u4EA3\u4FF0\u50BC\u4E2F\u4F17\u9FA8\u5434\u7D8B\u5892\u58D0\u{21DB6}\u5E92\u5E99\u5FC2\u{22712}\u658B"],["8ca1","\u{233F9}\u6919\u6A43\u{23C63}\u6CFF"],["8ca7","\u7200\u{24505}\u738C\u3EDB\u{24A13}\u5B15\u74B9\u8B83\u{25CA4}\u{25695}\u7A93\u7BEC\u7CC3\u7E6C\u82F8\u8597\u9FA9\u8890\u9FAA\u8EB9\u9FAB\u8FCF\u855F\u99E0\u9221\u9FAC\u{28DB9}\u{2143F}\u4071\u42A2\u5A1A"],["8cc9","\u9868\u676B\u4276\u573D"],["8cce","\u85D6\u{2497B}\u82BF\u{2710D}\u4C81\u{26D74}\u5D7B\u{26B15}\u{26FBE}\u9FAD\u9FAE\u5B96\u9FAF\u66E7\u7E5B\u6E57\u79CA\u3D88\u44C3\u{23256}\u{22796}\u439A\u4536"],["8ce6","\u5CD5\u{23B1A}\u8AF9\u5C78\u3D12\u{23551}\u5D78\u9FB2\u7157\u4558\u{240EC}\u{21E23}\u4C77\u3978\u344A\u{201A4}\u{26C41}\u8ACC\u4FB4\u{20239}\u59BF\u816C\u9856\u{298FA}\u5F3B"],["8d40","\u{20B9F}"],["8d42","\u{221C1}\u{2896D}\u4102\u46BB\u{29079}\u3F07\u9FB3\u{2A1B5}\u40F8\u37D6\u46F7\u{26C46}\u417C\u{286B2}\u{273FF}\u456D\u38D4\u{2549A}\u4561\u451B\u4D89\u4C7B\u4D76\u45EA\u3FC8\u{24B0F}\u3661\u44DE\u44BD\u41ED\u5D3E\u5D48\u5D56\u3DFC\u380F\u5DA4\u5DB9\u3820\u3838\u5E42\u5EBD\u5F25\u5F83\u3908\u3914\u393F\u394D\u60D7\u613D\u5CE5\u3989\u61B7\u61B9\u61CF\u39B8\u622C\u6290\u62E5\u6318\u39F8\u56B1"],["8da1","\u3A03\u63E2\u63FB\u6407\u645A\u3A4B\u64C0\u5D15\u5621\u9F9F\u3A97\u6586\u3ABD\u65FF\u6653\u3AF2\u6692\u3B22\u6716\u3B42\u67A4\u6800\u3B58\u684A\u6884\u3B72\u3B71\u3B7B\u6909\u6943\u725C\u6964\u699F\u6985\u3BBC\u69D6\u3BDD\u6A65\u6A74\u6A71\u6A82\u3BEC\u6A99\u3BF2\u6AAB\u6AB5\u6AD4\u6AF6\u6B81\u6BC1\u6BEA\u6C75\u6CAA\u3CCB\u6D02\u6D06\u6D26\u6D81\u3CEF\u6DA4\u6DB1\u6E15\u6E18\u6E29\u6E86\u{289C0}\u6EBB\u6EE2\u6EDA\u9F7F\u6EE8\u6EE9\u6F24\u6F34\u3D46\u{23F41}\u6F81\u6FBE\u3D6A\u3D75\u71B7\u5C99\u3D8A\u702C\u3D91\u7050\u7054\u706F\u707F\u7089\u{20325}\u43C1\u35F1\u{20ED8}"],["8e40","\u{23ED7}\u57BE\u{26ED3}\u713E\u{257E0}\u364E\u69A2\u{28BE9}\u5B74\u7A49\u{258E1}\u{294D9}\u7A65\u7A7D\u{259AC}\u7ABB\u7AB0\u7AC2\u7AC3\u71D1\u{2648D}\u41CA\u7ADA\u7ADD\u7AEA\u41EF\u54B2\u{25C01}\u7B0B\u7B55\u7B29\u{2530E}\u{25CFE}\u7BA2\u7B6F\u839C\u{25BB4}\u{26C7F}\u7BD0\u8421\u7B92\u7BB8\u{25D20}\u3DAD\u{25C65}\u8492\u7BFA\u7C06\u7C35\u{25CC1}\u7C44\u7C83\u{24882}\u7CA6\u667D\u{24578}\u7CC9\u7CC7\u7CE6\u7C74\u7CF3\u7CF5\u7CCE"],["8ea1","\u7E67\u451D\u{26E44}\u7D5D\u{26ED6}\u748D\u7D89\u7DAB\u7135\u7DB3\u7DD2\u{24057}\u{26029}\u7DE4\u3D13\u7DF5\u{217F9}\u7DE5\u{2836D}\u7E1D\u{26121}\u{2615A}\u7E6E\u7E92\u432B\u946C\u7E27\u7F40\u7F41\u7F47\u7936\u{262D0}\u99E1\u7F97\u{26351}\u7FA3\u{21661}\u{20068}\u455C\u{23766}\u4503\u{2833A}\u7FFA\u{26489}\u8005\u8008\u801D\u8028\u802F\u{2A087}\u{26CC3}\u803B\u803C\u8061\u{22714}\u4989\u{26626}\u{23DE3}\u{266E8}\u6725\u80A7\u{28A48}\u8107\u811A\u58B0\u{226F6}\u6C7F\u{26498}\u{24FB8}\u64E7\u{2148A}\u8218\u{2185E}\u6A53\u{24A65}\u{24A95}\u447A\u8229\u{20B0D}\u{26A52}\u{23D7E}\u4FF9\u{214FD}\u84E2\u8362\u{26B0A}\u{249A7}\u{23530}\u{21773}\u{23DF8}\u82AA\u691B\u{2F994}\u41DB"],["8f40","\u854B\u82D0\u831A\u{20E16}\u{217B4}\u36C1\u{2317D}\u{2355A}\u827B\u82E2\u8318\u{23E8B}\u{26DA3}\u{26B05}\u{26B97}\u{235CE}\u3DBF\u831D\u55EC\u8385\u450B\u{26DA5}\u83AC\u83C1\u83D3\u347E\u{26ED4}\u6A57\u855A\u3496\u{26E42}\u{22EEF}\u8458\u{25BE4}\u8471\u3DD3\u44E4\u6AA7\u844A\u{23CB5}\u7958\u84A8\u{26B96}\u{26E77}\u{26E43}\u84DE\u840F\u8391\u44A0\u8493\u84E4\u{25C91}\u4240\u{25CC0}\u4543\u8534\u5AF2\u{26E99}\u4527\u8573\u4516\u67BF\u8616"],["8fa1","\u{28625}\u{2863B}\u85C1\u{27088}\u8602\u{21582}\u{270CD}\u{2F9B2}\u456A\u8628\u3648\u{218A2}\u53F7\u{2739A}\u867E\u8771\u{2A0F8}\u87EE\u{22C27}\u87B1\u87DA\u880F\u5661\u866C\u6856\u460F\u8845\u8846\u{275E0}\u{23DB9}\u{275E4}\u885E\u889C\u465B\u88B4\u88B5\u63C1\u88C5\u7777\u{2770F}\u8987\u898A\u89A6\u89A9\u89A7\u89BC\u{28A25}\u89E7\u{27924}\u{27ABD}\u8A9C\u7793\u91FE\u8A90\u{27A59}\u7AE9\u{27B3A}\u{23F8F}\u4713\u{27B38}\u717C\u8B0C\u8B1F\u{25430}\u{25565}\u8B3F\u8B4C\u8B4D\u8AA9\u{24A7A}\u8B90\u8B9B\u8AAF\u{216DF}\u4615\u884F\u8C9B\u{27D54}\u{27D8F}\u{2F9D4}\u3725\u{27D53}\u8CD6\u{27D98}\u{27DBD}\u8D12\u8D03\u{21910}\u8CDB\u705C\u8D11\u{24CC9}\u3ED0\u8D77"],["9040","\u8DA9\u{28002}\u{21014}\u{2498A}\u3B7C\u{281BC}\u{2710C}\u7AE7\u8EAD\u8EB6\u8EC3\u92D4\u8F19\u8F2D\u{28365}\u{28412}\u8FA5\u9303\u{2A29F}\u{20A50}\u8FB3\u492A\u{289DE}\u{2853D}\u{23DBB}\u5EF8\u{23262}\u8FF9\u{2A014}\u{286BC}\u{28501}\u{22325}\u3980\u{26ED7}\u9037\u{2853C}\u{27ABE}\u9061\u{2856C}\u{2860B}\u90A8\u{28713}\u90C4\u{286E6}\u90AE\u90FD\u9167\u3AF0\u91A9\u91C4\u7CAC\u{28933}\u{21E89}\u920E\u6C9F\u9241\u9262\u{255B9}\u92B9\u{28AC6}\u{23C9B}\u{28B0C}\u{255DB}"],["90a1","\u{20D31}\u932C\u936B\u{28AE1}\u{28BEB}\u708F\u5AC3\u{28AE2}\u{28AE5}\u4965\u9244\u{28BEC}\u{28C39}\u{28BFF}\u9373\u945B\u8EBC\u9585\u95A6\u9426\u95A0\u6FF6\u42B9\u{2267A}\u{286D8}\u{2127C}\u{23E2E}\u49DF\u6C1C\u967B\u9696\u416C\u96A3\u{26ED5}\u61DA\u96B6\u78F5\u{28AE0}\u96BD\u53CC\u49A1\u{26CB8}\u{20274}\u{26410}\u{290AF}\u{290E5}\u{24AD1}\u{21915}\u{2330A}\u9731\u8642\u9736\u4A0F\u453D\u4585\u{24AE9}\u7075\u5B41\u971B\u975C\u{291D5}\u9757\u5B4A\u{291EB}\u975F\u9425\u50D0\u{230B7}\u{230BC}\u9789\u979F\u97B1\u97BE\u97C0\u97D2\u97E0\u{2546C}\u97EE\u741C\u{29433}\u97FF\u97F5\u{2941D}\u{2797A}\u4AD1\u9834\u9833\u984B\u9866\u3B0E\u{27175}\u3D51\u{20630}\u{2415C}"],["9140","\u{25706}\u98CA\u98B7\u98C8\u98C7\u4AFF\u{26D27}\u{216D3}\u55B0\u98E1\u98E6\u98EC\u9378\u9939\u{24A29}\u4B72\u{29857}\u{29905}\u99F5\u9A0C\u9A3B\u9A10\u9A58\u{25725}\u36C4\u{290B1}\u{29BD5}\u9AE0\u9AE2\u{29B05}\u9AF4\u4C0E\u9B14\u9B2D\u{28600}\u5034\u9B34\u{269A8}\u38C3\u{2307D}\u9B50\u9B40\u{29D3E}\u5A45\u{21863}\u9B8E\u{2424B}\u9C02\u9BFF\u9C0C\u{29E68}\u9DD4\u{29FB7}\u{2A192}\u{2A1AB}\u{2A0E1}\u{2A123}\u{2A1DF}\u9D7E\u9D83\u{2A134}\u9E0E\u6888"],["91a1","\u9DC4\u{2215B}\u{2A193}\u{2A220}\u{2193B}\u{2A233}\u9D39\u{2A0B9}\u{2A2B4}\u9E90\u9E95\u9E9E\u9EA2\u4D34\u9EAA\u9EAF\u{24364}\u9EC1\u3B60\u39E5\u3D1D\u4F32\u37BE\u{28C2B}\u9F02\u9F08\u4B96\u9424\u{26DA2}\u9F17\u9F16\u9F39\u569F\u568A\u9F45\u99B8\u{2908B}\u97F2\u847F\u9F62\u9F69\u7ADC\u9F8E\u7216\u4BBE\u{24975}\u{249BB}\u7177\u{249F8}\u{24348}\u{24A51}\u739E\u{28BDA}\u{218FA}\u799F\u{2897E}\u{28E36}\u9369\u93F3\u{28A44}\u92EC\u9381\u93CB\u{2896C}\u{244B9}\u7217\u3EEB\u7772\u7A43\u70D0\u{24473}\u{243F8}\u717E\u{217EF}\u70A3\u{218BE}\u{23599}\u3EC7\u{21885}\u{2542F}\u{217F8}\u3722\u{216FB}\u{21839}\u36E1\u{21774}\u{218D1}\u{25F4B}\u3723\u{216C0}\u575B\u{24A25}\u{213FE}\u{212A8}"],["9240","\u{213C6}\u{214B6}\u8503\u{236A6}\u8503\u8455\u{24994}\u{27165}\u{23E31}\u{2555C}\u{23EFB}\u{27052}\u44F4\u{236EE}\u{2999D}\u{26F26}\u67F9\u3733\u3C15\u3DE7\u586C\u{21922}\u6810\u4057\u{2373F}\u{240E1}\u{2408B}\u{2410F}\u{26C21}\u54CB\u569E\u{266B1}\u5692\u{20FDF}\u{20BA8}\u{20E0D}\u93C6\u{28B13}\u939C\u4EF8\u512B\u3819\u{24436}\u4EBC\u{20465}\u{2037F}\u4F4B\u4F8A\u{25651}\u5A68\u{201AB}\u{203CB}\u3999\u{2030A}\u{20414}\u3435\u4F29\u{202C0}\u{28EB3}\u{20275}\u8ADA\u{2020C}\u4E98"],["92a1","\u50CD\u510D\u4FA2\u4F03\u{24A0E}\u{23E8A}\u4F42\u502E\u506C\u5081\u4FCC\u4FE5\u5058\u50FC\u5159\u515B\u515D\u515E\u6E76\u{23595}\u{23E39}\u{23EBF}\u6D72\u{21884}\u{23E89}\u51A8\u51C3\u{205E0}\u44DD\u{204A3}\u{20492}\u{20491}\u8D7A\u{28A9C}\u{2070E}\u5259\u52A4\u{20873}\u52E1\u936E\u467A\u718C\u{2438C}\u{20C20}\u{249AC}\u{210E4}\u69D1\u{20E1D}\u7479\u3EDE\u7499\u7414\u7456\u7398\u4B8E\u{24ABC}\u{2408D}\u53D0\u3584\u720F\u{240C9}\u55B4\u{20345}\u54CD\u{20BC6}\u571D\u925D\u96F4\u9366\u57DD\u578D\u577F\u363E\u58CB\u5A99\u{28A46}\u{216FA}\u{2176F}\u{21710}\u5A2C\u59B8\u928F\u5A7E\u5ACF\u5A12\u{25946}\u{219F3}\u{21861}\u{24295}\u36F5\u6D05\u7443\u5A21\u{25E83}"],["9340","\u5A81\u{28BD7}\u{20413}\u93E0\u748C\u{21303}\u7105\u4972\u9408\u{289FB}\u93BD\u37A0\u5C1E\u5C9E\u5E5E\u5E48\u{21996}\u{2197C}\u{23AEE}\u5ECD\u5B4F\u{21903}\u{21904}\u3701\u{218A0}\u36DD\u{216FE}\u36D3\u812A\u{28A47}\u{21DBA}\u{23472}\u{289A8}\u5F0C\u5F0E\u{21927}\u{217AB}\u5A6B\u{2173B}\u5B44\u8614\u{275FD}\u8860\u607E\u{22860}\u{2262B}\u5FDB\u3EB8\u{225AF}\u{225BE}\u{29088}\u{26F73}\u61C0\u{2003E}\u{20046}\u{2261B}\u6199\u6198\u6075\u{22C9B}\u{22D07}\u{246D4}\u{2914D}"],["93a1","\u6471\u{24665}\u{22B6A}\u3A29\u{22B22}\u{23450}\u{298EA}\u{22E78}\u6337\u{2A45B}\u64B6\u6331\u63D1\u{249E3}\u{22D67}\u62A4\u{22CA1}\u643B\u656B\u6972\u3BF4\u{2308E}\u{232AD}\u{24989}\u{232AB}\u550D\u{232E0}\u{218D9}\u{2943F}\u66CE\u{23289}\u{231B3}\u3AE0\u4190\u{25584}\u{28B22}\u{2558F}\u{216FC}\u{2555B}\u{25425}\u78EE\u{23103}\u{2182A}\u{23234}\u3464\u{2320F}\u{23182}\u{242C9}\u668E\u{26D24}\u666B\u4B93\u6630\u{27870}\u{21DEB}\u6663\u{232D2}\u{232E1}\u661E\u{25872}\u38D1\u{2383A}\u{237BC}\u3B99\u{237A2}\u{233FE}\u74D0\u3B96\u678F\u{2462A}\u68B6\u681E\u3BC4\u6ABE\u3863\u{237D5}\u{24487}\u6A33\u6A52\u6AC9\u6B05\u{21912}\u6511\u6898\u6A4C\u3BD7\u6A7A\u6B57\u{23FC0}\u{23C9A}\u93A0\u92F2\u{28BEA}\u{28ACB}"],["9440","\u9289\u{2801E}\u{289DC}\u9467\u6DA5\u6F0B\u{249EC}\u6D67\u{23F7F}\u3D8F\u6E04\u{2403C}\u5A3D\u6E0A\u5847\u6D24\u7842\u713B\u{2431A}\u{24276}\u70F1\u7250\u7287\u7294\u{2478F}\u{24725}\u5179\u{24AA4}\u{205EB}\u747A\u{23EF8}\u{2365F}\u{24A4A}\u{24917}\u{25FE1}\u3F06\u3EB1\u{24ADF}\u{28C23}\u{23F35}\u60A7\u3EF3\u74CC\u743C\u9387\u7437\u449F\u{26DEA}\u4551\u7583\u3F63\u{24CD9}\u{24D06}\u3F58\u7555\u7673\u{2A5C6}\u3B19\u7468\u{28ACC}\u{249AB}\u{2498E}\u3AFB"],["94a1","\u3DCD\u{24A4E}\u3EFF\u{249C5}\u{248F3}\u91FA\u5732\u9342\u{28AE3}\u{21864}\u50DF\u{25221}\u{251E7}\u7778\u{23232}\u770E\u770F\u777B\u{24697}\u{23781}\u3A5E\u{248F0}\u7438\u749B\u3EBF\u{24ABA}\u{24AC7}\u40C8\u{24A96}\u{261AE}\u9307\u{25581}\u781E\u788D\u7888\u78D2\u73D0\u7959\u{27741}\u{256E3}\u410E\u799B\u8496\u79A5\u6A2D\u{23EFA}\u7A3A\u79F4\u416E\u{216E6}\u4132\u9235\u79F1\u{20D4C}\u{2498C}\u{20299}\u{23DBA}\u{2176E}\u3597\u556B\u3570\u36AA\u{201D4}\u{20C0D}\u7AE2\u5A59\u{226F5}\u{25AAF}\u{25A9C}\u5A0D\u{2025B}\u78F0\u5A2A\u{25BC6}\u7AFE\u41F9\u7C5D\u7C6D\u4211\u{25BB3}\u{25EBC}\u{25EA6}\u7CCD\u{249F9}\u{217B0}\u7C8E\u7C7C\u7CAE\u6AB2\u7DDC\u7E07\u7DD3\u7F4E\u{26261}"],["9540","\u{2615C}\u{27B48}\u7D97\u{25E82}\u426A\u{26B75}\u{20916}\u67D6\u{2004E}\u{235CF}\u57C4\u{26412}\u{263F8}\u{24962}\u7FDD\u7B27\u{2082C}\u{25AE9}\u{25D43}\u7B0C\u{25E0E}\u99E6\u8645\u9A63\u6A1C\u{2343F}\u39E2\u{249F7}\u{265AD}\u9A1F\u{265A0}\u8480\u{27127}\u{26CD1}\u44EA\u8137\u4402\u80C6\u8109\u8142\u{267B4}\u98C3\u{26A42}\u8262\u8265\u{26A51}\u8453\u{26DA7}\u8610\u{2721B}\u5A86\u417F\u{21840}\u5B2B\u{218A1}\u5AE4\u{218D8}\u86A0\u{2F9BC}\u{23D8F}\u882D\u{27422}\u5A02"],["95a1","\u886E\u4F45\u8887\u88BF\u88E6\u8965\u894D\u{25683}\u8954\u{27785}\u{27784}\u{28BF5}\u{28BD9}\u{28B9C}\u{289F9}\u3EAD\u84A3\u46F5\u46CF\u37F2\u8A3D\u8A1C\u{29448}\u5F4D\u922B\u{24284}\u65D4\u7129\u70C4\u{21845}\u9D6D\u8C9F\u8CE9\u{27DDC}\u599A\u77C3\u59F0\u436E\u36D4\u8E2A\u8EA7\u{24C09}\u8F30\u8F4A\u42F4\u6C58\u6FBB\u{22321}\u489B\u6F79\u6E8B\u{217DA}\u9BE9\u36B5\u{2492F}\u90BB\u9097\u5571\u4906\u91BB\u9404\u{28A4B}\u4062\u{28AFC}\u9427\u{28C1D}\u{28C3B}\u84E5\u8A2B\u9599\u95A7\u9597\u9596\u{28D34}\u7445\u3EC2\u{248FF}\u{24A42}\u{243EA}\u3EE7\u{23225}\u968F\u{28EE7}\u{28E66}\u{28E65}\u3ECC\u{249ED}\u{24A78}\u{23FEE}\u7412\u746B\u3EFC\u9741\u{290B0}"],["9640","\u6847\u4A1D\u{29093}\u{257DF}\u975D\u9368\u{28989}\u{28C26}\u{28B2F}\u{263BE}\u92BA\u5B11\u8B69\u493C\u73F9\u{2421B}\u979B\u9771\u9938\u{20F26}\u5DC1\u{28BC5}\u{24AB2}\u981F\u{294DA}\u92F6\u{295D7}\u91E5\u44C0\u{28B50}\u{24A67}\u{28B64}\u98DC\u{28A45}\u3F00\u922A\u4925\u8414\u993B\u994D\u{27B06}\u3DFD\u999B\u4B6F\u99AA\u9A5C\u{28B65}\u{258C8}\u6A8F\u9A21\u5AFE\u9A2F\u{298F1}\u4B90\u{29948}\u99BC\u4BBD\u4B97\u937D\u5872\u{21302}\u5822\u{249B8}"],["96a1","\u{214E8}\u7844\u{2271F}\u{23DB8}\u68C5\u3D7D\u9458\u3927\u6150\u{22781}\u{2296B}\u6107\u9C4F\u9C53\u9C7B\u9C35\u9C10\u9B7F\u9BCF\u{29E2D}\u9B9F\u{2A1F5}\u{2A0FE}\u9D21\u4CAE\u{24104}\u9E18\u4CB0\u9D0C\u{2A1B4}\u{2A0ED}\u{2A0F3}\u{2992F}\u9DA5\u84BD\u{26E12}\u{26FDF}\u{26B82}\u85FC\u4533\u{26DA4}\u{26E84}\u{26DF0}\u8420\u85EE\u{26E00}\u{237D7}\u{26064}\u79E2\u{2359C}\u{23640}\u492D\u{249DE}\u3D62\u93DB\u92BE\u9348\u{202BF}\u78B9\u9277\u944D\u4FE4\u3440\u9064\u{2555D}\u783D\u7854\u78B6\u784B\u{21757}\u{231C9}\u{24941}\u369A\u4F72\u6FDA\u6FD9\u701E\u701E\u5414\u{241B5}\u57BB\u58F3\u578A\u9D16\u57D7\u7134\u34AF\u{241AC}\u71EB\u{26C40}\u{24F97}\u5B28\u{217B5}\u{28A49}"],["9740","\u610C\u5ACE\u5A0B\u42BC\u{24488}\u372C\u4B7B\u{289FC}\u93BB\u93B8\u{218D6}\u{20F1D}\u8472\u{26CC0}\u{21413}\u{242FA}\u{22C26}\u{243C1}\u5994\u{23DB7}\u{26741}\u7DA8\u{2615B}\u{260A4}\u{249B9}\u{2498B}\u{289FA}\u92E5\u73E2\u3EE9\u74B4\u{28B63}\u{2189F}\u3EE1\u{24AB3}\u6AD8\u73F3\u73FB\u3ED6\u{24A3E}\u{24A94}\u{217D9}\u{24A66}\u{203A7}\u{21424}\u{249E5}\u7448\u{24916}\u70A5\u{24976}\u9284\u73E6\u935F\u{204FE}\u9331\u{28ACE}\u{28A16}\u9386\u{28BE7}\u{255D5}\u4935\u{28A82}\u716B"],["97a1","\u{24943}\u{20CFF}\u56A4\u{2061A}\u{20BEB}\u{20CB8}\u5502\u79C4\u{217FA}\u7DFE\u{216C2}\u{24A50}\u{21852}\u452E\u9401\u370A\u{28AC0}\u{249AD}\u59B0\u{218BF}\u{21883}\u{27484}\u5AA1\u36E2\u{23D5B}\u36B0\u925F\u5A79\u{28A81}\u{21862}\u9374\u3CCD\u{20AB4}\u4A96\u398A\u50F4\u3D69\u3D4C\u{2139C}\u7175\u42FB\u{28218}\u6E0F\u{290E4}\u44EB\u6D57\u{27E4F}\u7067\u6CAF\u3CD6\u{23FED}\u{23E2D}\u6E02\u6F0C\u3D6F\u{203F5}\u7551\u36BC\u34C8\u4680\u3EDA\u4871\u59C4\u926E\u493E\u8F41\u{28C1C}\u{26BC0}\u5812\u57C8\u36D6\u{21452}\u70FE\u{24362}\u{24A71}\u{22FE3}\u{212B0}\u{223BD}\u68B9\u6967\u{21398}\u{234E5}\u{27BF4}\u{236DF}\u{28A83}\u{237D6}\u{233FA}\u{24C9F}\u6A1A\u{236AD}\u{26CB7}\u843E\u44DF\u44CE"],["9840","\u{26D26}\u{26D51}\u{26C82}\u{26FDE}\u6F17\u{27109}\u833D\u{2173A}\u83ED\u{26C80}\u{27053}\u{217DB}\u5989\u5A82\u{217B3}\u5A61\u5A71\u{21905}\u{241FC}\u372D\u59EF\u{2173C}\u36C7\u718E\u9390\u669A\u{242A5}\u5A6E\u5A2B\u{24293}\u6A2B\u{23EF9}\u{27736}\u{2445B}\u{242CA}\u711D\u{24259}\u{289E1}\u4FB0\u{26D28}\u5CC2\u{244CE}\u{27E4D}\u{243BD}\u6A0C\u{24256}\u{21304}\u70A6\u7133\u{243E9}\u3DA5\u6CDF\u{2F825}\u{24A4F}\u7E65\u59EB\u5D2F\u3DF3\u5F5C\u{24A5D}\u{217DF}\u7DA4\u8426"],["98a1","\u5485\u{23AFA}\u{23300}\u{20214}\u577E\u{208D5}\u{20619}\u3FE5\u{21F9E}\u{2A2B6}\u7003\u{2915B}\u5D70\u738F\u7CD3\u{28A59}\u{29420}\u4FC8\u7FE7\u72CD\u7310\u{27AF4}\u7338\u7339\u{256F6}\u7341\u7348\u3EA9\u{27B18}\u906C\u71F5\u{248F2}\u73E1\u81F6\u3ECA\u770C\u3ED1\u6CA2\u56FD\u7419\u741E\u741F\u3EE2\u3EF0\u3EF4\u3EFA\u74D3\u3F0E\u3F53\u7542\u756D\u7572\u758D\u3F7C\u75C8\u75DC\u3FC0\u764D\u3FD7\u7674\u3FDC\u767A\u{24F5C}\u7188\u5623\u8980\u5869\u401D\u7743\u4039\u6761\u4045\u35DB\u7798\u406A\u406F\u5C5E\u77BE\u77CB\u58F2\u7818\u70B9\u781C\u40A8\u7839\u7847\u7851\u7866\u8448\u{25535}\u7933\u6803\u7932\u4103"],["9940","\u4109\u7991\u7999\u8FBB\u7A06\u8FBC\u4167\u7A91\u41B2\u7ABC\u8279\u41C4\u7ACF\u7ADB\u41CF\u4E21\u7B62\u7B6C\u7B7B\u7C12\u7C1B\u4260\u427A\u7C7B\u7C9C\u428C\u7CB8\u4294\u7CED\u8F93\u70C0\u{20CCF}\u7DCF\u7DD4\u7DD0\u7DFD\u7FAE\u7FB4\u729F\u4397\u8020\u8025\u7B39\u802E\u8031\u8054\u3DCC\u57B4\u70A0\u80B7\u80E9\u43ED\u810C\u732A\u810E\u8112\u7560\u8114\u4401\u3B39\u8156\u8159\u815A"],["99a1","\u4413\u583A\u817C\u8184\u4425\u8193\u442D\u81A5\u57EF\u81C1\u81E4\u8254\u448F\u82A6\u8276\u82CA\u82D8\u82FF\u44B0\u8357\u9669\u698A\u8405\u70F5\u8464\u60E3\u8488\u4504\u84BE\u84E1\u84F8\u8510\u8538\u8552\u453B\u856F\u8570\u85E0\u4577\u8672\u8692\u86B2\u86EF\u9645\u878B\u4606\u4617\u88AE\u88FF\u8924\u8947\u8991\u{27967}\u8A29\u8A38\u8A94\u8AB4\u8C51\u8CD4\u8CF2\u8D1C\u4798\u585F\u8DC3\u47ED\u4EEE\u8E3A\u55D8\u5754\u8E71\u55F5\u8EB0\u4837\u8ECE\u8EE2\u8EE4\u8EED\u8EF2\u8FB7\u8FC1\u8FCA\u8FCC\u9033\u99C4\u48AD\u98E0\u9213\u491E\u9228\u9258\u926B\u92B1\u92AE\u92BF"],["9a40","\u92E3\u92EB\u92F3\u92F4\u92FD\u9343\u9384\u93AD\u4945\u4951\u9EBF\u9417\u5301\u941D\u942D\u943E\u496A\u9454\u9479\u952D\u95A2\u49A7\u95F4\u9633\u49E5\u67A0\u4A24\u9740\u4A35\u97B2\u97C2\u5654\u4AE4\u60E8\u98B9\u4B19\u98F1\u5844\u990E\u9919\u51B4\u991C\u9937\u9942\u995D\u9962\u4B70\u99C5\u4B9D\u9A3C\u9B0F\u7A83\u9B69\u9B81\u9BDD\u9BF1\u9BF4\u4C6D\u9C20\u376F\u{21BC2}\u9D49\u9C3A"],["9aa1","\u9EFE\u5650\u9D93\u9DBD\u9DC0\u9DFC\u94F6\u8FB6\u9E7B\u9EAC\u9EB1\u9EBD\u9EC6\u94DC\u9EE2\u9EF1\u9EF8\u7AC8\u9F44\u{20094}\u{202B7}\u{203A0}\u691A\u94C3\u59AC\u{204D7}\u5840\u94C1\u37B9\u{205D5}\u{20615}\u{20676}\u{216BA}\u5757\u7173\u{20AC2}\u{20ACD}\u{20BBF}\u546A\u{2F83B}\u{20BCB}\u549E\u{20BFB}\u{20C3B}\u{20C53}\u{20C65}\u{20C7C}\u60E7\u{20C8D}\u567A\u{20CB5}\u{20CDD}\u{20CED}\u{20D6F}\u{20DB2}\u{20DC8}\u6955\u9C2F\u87A5\u{20E04}\u{20E0E}\u{20ED7}\u{20F90}\u{20F2D}\u{20E73}\u5C20\u{20FBC}\u5E0B\u{2105C}\u{2104F}\u{21076}\u671E\u{2107B}\u{21088}\u{21096}\u3647\u{210BF}\u{210D3}\u{2112F}\u{2113B}\u5364\u84AD\u{212E3}\u{21375}\u{21336}\u8B81\u{21577}\u{21619}\u{217C3}\u{217C7}\u4E78\u70BB\u{2182D}\u{2196A}"],["9b40","\u{21A2D}\u{21A45}\u{21C2A}\u{21C70}\u{21CAC}\u{21EC8}\u62C3\u{21ED5}\u{21F15}\u7198\u6855\u{22045}\u69E9\u36C8\u{2227C}\u{223D7}\u{223FA}\u{2272A}\u{22871}\u{2294F}\u82FD\u{22967}\u{22993}\u{22AD5}\u89A5\u{22AE8}\u8FA0\u{22B0E}\u97B8\u{22B3F}\u9847\u9ABD\u{22C4C}"],["9b62","\u{22C88}\u{22CB7}\u{25BE8}\u{22D08}\u{22D12}\u{22DB7}\u{22D95}\u{22E42}\u{22F74}\u{22FCC}\u{23033}\u{23066}\u{2331F}\u{233DE}\u5FB1\u6648\u66BF\u{27A79}\u{23567}\u{235F3}\u7201\u{249BA}\u77D7\u{2361A}\u{23716}\u7E87\u{20346}\u58B5\u670E"],["9ba1","\u6918\u{23AA7}\u{27657}\u{25FE2}\u{23E11}\u{23EB9}\u{275FE}\u{2209A}\u48D0\u4AB8\u{24119}\u{28A9A}\u{242EE}\u{2430D}\u{2403B}\u{24334}\u{24396}\u{24A45}\u{205CA}\u51D2\u{20611}\u599F\u{21EA8}\u3BBE\u{23CFF}\u{24404}\u{244D6}\u5788\u{24674}\u399B\u{2472F}\u{285E8}\u{299C9}\u3762\u{221C3}\u8B5E\u{28B4E}\u99D6\u{24812}\u{248FB}\u{24A15}\u7209\u{24AC0}\u{20C78}\u5965\u{24EA5}\u{24F86}\u{20779}\u8EDA\u{2502C}\u528F\u573F\u7171\u{25299}\u{25419}\u{23F4A}\u{24AA7}\u55BC\u{25446}\u{2546E}\u{26B52}\u91D4\u3473\u{2553F}\u{27632}\u{2555E}\u4718\u{25562}\u{25566}\u{257C7}\u{2493F}\u{2585D}\u5066\u34FB\u{233CC}\u60DE\u{25903}\u477C\u{28948}\u{25AAE}\u{25B89}\u{25C06}\u{21D90}\u57A1\u7151\u6FB6\u{26102}\u{27C12}\u9056\u{261B2}\u{24F9A}\u8B62\u{26402}\u{2644A}"],["9c40","\u5D5B\u{26BF7}\u8F36\u{26484}\u{2191C}\u8AEA\u{249F6}\u{26488}\u{23FEF}\u{26512}\u4BC0\u{265BF}\u{266B5}\u{2271B}\u9465\u{257E1}\u6195\u5A27\u{2F8CD}\u4FBB\u56B9\u{24521}\u{266FC}\u4E6A\u{24934}\u9656\u6D8F\u{26CBD}\u3618\u8977\u{26799}\u{2686E}\u{26411}\u{2685E}\u71DF\u{268C7}\u7B42\u{290C0}\u{20A11}\u{26926}\u9104\u{26939}\u7A45\u9DF0\u{269FA}\u9A26\u{26A2D}\u365F\u{26469}\u{20021}\u7983\u{26A34}\u{26B5B}\u5D2C\u{23519}\u83CF\u{26B9D}\u46D0\u{26CA4}\u753B\u8865\u{26DAE}\u58B6"],["9ca1","\u371C\u{2258D}\u{2704B}\u{271CD}\u3C54\u{27280}\u{27285}\u9281\u{2217A}\u{2728B}\u9330\u{272E6}\u{249D0}\u6C39\u949F\u{27450}\u{20EF8}\u8827\u88F5\u{22926}\u{28473}\u{217B1}\u6EB8\u{24A2A}\u{21820}\u39A4\u36B9\u5C10\u79E3\u453F\u66B6\u{29CAD}\u{298A4}\u8943\u{277CC}\u{27858}\u56D6\u40DF\u{2160A}\u39A1\u{2372F}\u{280E8}\u{213C5}\u71AD\u8366\u{279DD}\u{291A8}\u5A67\u4CB7\u{270AF}\u{289AB}\u{279FD}\u{27A0A}\u{27B0B}\u{27D66}\u{2417A}\u7B43\u797E\u{28009}\u6FB5\u{2A2DF}\u6A03\u{28318}\u53A2\u{26E07}\u93BF\u6836\u975D\u{2816F}\u{28023}\u{269B5}\u{213ED}\u{2322F}\u{28048}\u5D85\u{28C30}\u{28083}\u5715\u9823\u{28949}\u5DAB\u{24988}\u65BE\u69D5\u53D2\u{24AA5}\u{23F81}\u3C11\u6736\u{28090}\u{280F4}\u{2812E}\u{21FA1}\u{2814F}"],["9d40","\u{28189}\u{281AF}\u{2821A}\u{28306}\u{2832F}\u{2838A}\u35CA\u{28468}\u{286AA}\u48FA\u63E6\u{28956}\u7808\u9255\u{289B8}\u43F2\u{289E7}\u43DF\u{289E8}\u{28B46}\u{28BD4}\u59F8\u{28C09}\u8F0B\u{28FC5}\u{290EC}\u7B51\u{29110}\u{2913C}\u3DF7\u{2915E}\u{24ACA}\u8FD0\u728F\u568B\u{294E7}\u{295E9}\u{295B0}\u{295B8}\u{29732}\u{298D1}\u{29949}\u{2996A}\u{299C3}\u{29A28}\u{29B0E}\u{29D5A}\u{29D9B}\u7E9F\u{29EF8}\u{29F23}\u4CA4\u9547\u{2A293}\u71A2\u{2A2FF}\u4D91\u9012\u{2A5CB}\u4D9C\u{20C9C}\u8FBE\u55C1"],["9da1","\u8FBA\u{224B0}\u8FB9\u{24A93}\u4509\u7E7F\u6F56\u6AB1\u4EEA\u34E4\u{28B2C}\u{2789D}\u373A\u8E80\u{217F5}\u{28024}\u{28B6C}\u{28B99}\u{27A3E}\u{266AF}\u3DEB\u{27655}\u{23CB7}\u{25635}\u{25956}\u4E9A\u{25E81}\u{26258}\u56BF\u{20E6D}\u8E0E\u5B6D\u{23E88}\u{24C9E}\u63DE\u62D0\u{217F6}\u{2187B}\u6530\u562D\u{25C4A}\u541A\u{25311}\u3DC6\u{29D98}\u4C7D\u5622\u561E\u7F49\u{25ED8}\u5975\u{23D40}\u8770\u4E1C\u{20FEA}\u{20D49}\u{236BA}\u8117\u9D5E\u8D18\u763B\u9C45\u764E\u77B9\u9345\u5432\u8148\u82F7\u5625\u8132\u8418\u80BD\u55EA\u7962\u5643\u5416\u{20E9D}\u35CE\u5605\u55F1\u66F1\u{282E2}\u362D\u7534\u55F0\u55BA\u5497\u5572\u{20C41}\u{20C96}\u5ED0\u{25148}\u{20E76}\u{22C62}"],["9e40","\u{20EA2}\u9EAB\u7D5A\u55DE\u{21075}\u629D\u976D\u5494\u8CCD\u71F6\u9176\u63FC\u63B9\u63FE\u5569\u{22B43}\u9C72\u{22EB3}\u519A\u34DF\u{20DA7}\u51A7\u544D\u551E\u5513\u7666\u8E2D\u{2688A}\u75B1\u80B6\u8804\u8786\u88C7\u81B6\u841C\u{210C1}\u44EC\u7304\u{24706}\u5B90\u830B\u{26893}\u567B\u{226F4}\u{27D2F}\u{241A3}\u{27D73}\u{26ED0}\u{272B6}\u9170\u{211D9}\u9208\u{23CFC}\u{2A6A9}\u{20EAC}\u{20EF9}\u7266\u{21CA2}\u474E\u{24FC2}\u{27FF9}\u{20FEB}\u40FA"],["9ea1","\u9C5D\u651F\u{22DA0}\u48F3\u{247E0}\u{29D7C}\u{20FEC}\u{20E0A}\u6062\u{275A3}\u{20FED}"],["9ead","\u{26048}\u{21187}\u71A3\u7E8E\u9D50\u4E1A\u4E04\u3577\u5B0D\u6CB2\u5367\u36AC\u39DC\u537D\u36A5\u{24618}\u589A\u{24B6E}\u822D\u544B\u57AA\u{25A95}\u{20979}"],["9ec5","\u3A52\u{22465}\u7374\u{29EAC}\u4D09\u9BED\u{23CFE}\u{29F30}\u4C5B\u{24FA9}\u{2959E}\u{29FDE}\u845C\u{23DB6}\u{272B2}\u{267B3}\u{23720}\u632E\u7D25\u{23EF7}\u{23E2C}\u3A2A\u9008\u52CC\u3E74\u367A\u45E9\u{2048E}\u7640\u5AF0\u{20EB6}\u787A\u{27F2E}\u58A7\u40BF\u567C\u9B8B\u5D74\u7654\u{2A434}\u9E85\u4CE1\u75F9\u37FB\u6119\u{230DA}\u{243F2}"],["9ef5","\u565D\u{212A9}\u57A7\u{24963}\u{29E06}\u5234\u{270AE}\u35AD\u6C4A\u9D7C"],["9f40","\u7C56\u9B39\u57DE\u{2176C}\u5C53\u64D3\u{294D0}\u{26335}\u{27164}\u86AD\u{20D28}\u{26D22}\u{24AE2}\u{20D71}"],["9f4f","\u51FE\u{21F0F}\u5D8E\u9703\u{21DD1}\u9E81\u904C\u7B1F\u9B02\u5CD1\u7BA3\u6268\u6335\u9AFF\u7BCF\u9B2A\u7C7E\u9B2E\u7C42\u7C86\u9C15\u7BFC\u9B09\u9F17\u9C1B\u{2493E}\u9F5A\u5573\u5BC3\u4FFD\u9E98\u4FF2\u5260\u3E06\u52D1\u5767\u5056\u59B7\u5E12\u97C8\u9DAB\u8F5C\u5469\u97B4\u9940\u97BA\u532C\u6130"],["9fa1","\u692C\u53DA\u9C0A\u9D02\u4C3B\u9641\u6980\u50A6\u7546\u{2176D}\u99DA\u5273"],["9fae","\u9159\u9681\u915C"],["9fb2","\u9151\u{28E97}\u637F\u{26D23}\u6ACA\u5611\u918E\u757A\u6285\u{203FC}\u734F\u7C70\u{25C21}\u{23CFD}"],["9fc1","\u{24919}\u76D6\u9B9D\u4E2A\u{20CD4}\u83BE\u8842"],["9fc9","\u5C4A\u69C0\u50ED\u577A\u521F\u5DF5\u4ECE\u6C31\u{201F2}\u4F39\u549C\u54DA\u529A\u8D82\u35FE\u5F0C\u35F3"],["9fdb","\u6B52\u917C\u9FA5\u9B97\u982E\u98B4\u9ABA\u9EA8\u9E84\u717A\u7B14"],["9fe7","\u6BFA\u8818\u7F78"],["9feb","\u5620\u{2A64A}\u8E77\u9F53"],["9ff0","\u8DD4\u8E4F\u9E1C\u8E01\u6282\u{2837D}\u8E28\u8E75\u7AD3\u{24A77}\u7A3E\u78D8\u6CEA\u8A67\u7607"],["a040","\u{28A5A}\u9F26\u6CCE\u87D6\u75C3\u{2A2B2}\u7853\u{2F840}\u8D0C\u72E2\u7371\u8B2D\u7302\u74F1\u8CEB\u{24ABB}\u862F\u5FBA\u88A0\u44B7"],["a055","\u{2183B}\u{26E05}"],["a058","\u8A7E\u{2251B}"],["a05b","\u60FD\u7667\u9AD7\u9D44\u936E\u9B8F\u87F5"],["a063","\u880F\u8CF7\u732C\u9721\u9BB0\u35D6\u72B2\u4C07\u7C51\u994A\u{26159}\u6159\u4C04\u9E96\u617D"],["a073","\u575F\u616F\u62A6\u6239\u62CE\u3A5C\u61E2\u53AA\u{233F5}\u6364\u6802\u35D2"],["a0a1","\u5D57\u{28BC2}\u8FDA\u{28E39}"],["a0a6","\u50D9\u{21D46}\u7906\u5332\u9638\u{20F3B}\u4065"],["a0ae","\u77FE"],["a0b0","\u7CC2\u{25F1A}\u7CDA\u7A2D\u8066\u8063\u7D4D\u7505\u74F2\u8994\u821A\u670C\u8062\u{27486}\u805B\u74F0\u8103\u7724\u8989\u{267CC}\u7553\u{26ED1}\u87A9\u87CE\u81C8\u878C\u8A49\u8CAD\u8B43\u772B\u74F8\u84DA\u3635\u69B2\u8DA6"],["a0d4","\u89A9\u7468\u6DB9\u87C1\u{24011}\u74E7\u3DDB\u7176\u60A4\u619C\u3CD1\u7162\u6077"],["a0e2","\u7F71\u{28B2D}\u7250\u60E9\u4B7E\u5220\u3C18\u{23CC7}\u{25ED7}\u{27656}\u{25531}\u{21944}\u{212FE}\u{29903}\u{26DDC}\u{270AD}\u5CC1\u{261AD}\u{28A0F}\u{23677}\u{200EE}\u{26846}\u{24F0E}\u4562\u5B1F\u{2634C}\u9F50\u9EA6\u{2626B}"],["a3c0","\u2400",31,"\u2421"],["c6a1","\u2460",9,"\u2474",9,"\u2170",9,"\u4E36\u4E3F\u4E85\u4EA0\u5182\u5196\u51AB\u52F9\u5338\u5369\u53B6\u590A\u5B80\u5DDB\u2F33\u5E7F\u5EF4\u5F50\u5F61\u6534\u65E0\u7592\u7676\u8FB5\u96B6\xA8\u02C6\u30FD\u30FE\u309D\u309E\u3003\u4EDD\u3005\u3006\u3007\u30FC\uFF3B\uFF3D\u273D\u3041",23],["c740","\u3059",58,"\u30A1\u30A2\u30A3\u30A4"],["c7a1","\u30A5",81,"\u0410",5,"\u0401\u0416",4],["c840","\u041B",26,"\u0451\u0436",25,"\u21E7\u21B8\u21B9\u31CF\u{200CC}\u4E5A\u{2008A}\u5202\u4491"],["c8a1","\u9FB0\u5188\u9FB1\u{27607}"],["c8cd","\uFFE2\uFFE4\uFF07\uFF02\u3231\u2116\u2121\u309B\u309C\u2E80\u2E84\u2E86\u2E87\u2E88\u2E8A\u2E8C\u2E8D\u2E95\u2E9C\u2E9D\u2EA5\u2EA7\u2EAA\u2EAC\u2EAE\u2EB6\u2EBC\u2EBE\u2EC6\u2ECA\u2ECC\u2ECD\u2ECF\u2ED6\u2ED7\u2EDE\u2EE3"],["c8f5","\u0283\u0250\u025B\u0254\u0275\u0153\xF8\u014B\u028A\u026A"],["f9fe","\uFFED"],["fa40","\u{20547}\u92DB\u{205DF}\u{23FC5}\u854C\u42B5\u73EF\u51B5\u3649\u{24942}\u{289E4}\u9344\u{219DB}\u82EE\u{23CC8}\u783C\u6744\u62DF\u{24933}\u{289AA}\u{202A0}\u{26BB3}\u{21305}\u4FAB\u{224ED}\u5008\u{26D29}\u{27A84}\u{23600}\u{24AB1}\u{22513}\u5029\u{2037E}\u5FA4\u{20380}\u{20347}\u6EDB\u{2041F}\u507D\u5101\u347A\u510E\u986C\u3743\u8416\u{249A4}\u{20487}\u5160\u{233B4}\u516A\u{20BFF}\u{220FC}\u{202E5}\u{22530}\u{2058E}\u{23233}\u{21983}\u5B82\u877D\u{205B3}\u{23C99}\u51B2\u51B8"],["faa1","\u9D34\u51C9\u51CF\u51D1\u3CDC\u51D3\u{24AA6}\u51B3\u51E2\u5342\u51ED\u83CD\u693E\u{2372D}\u5F7B\u520B\u5226\u523C\u52B5\u5257\u5294\u52B9\u52C5\u7C15\u8542\u52E0\u860D\u{26B13}\u5305\u{28ADE}\u5549\u6ED9\u{23F80}\u{20954}\u{23FEC}\u5333\u5344\u{20BE2}\u6CCB\u{21726}\u681B\u73D5\u604A\u3EAA\u38CC\u{216E8}\u71DD\u44A2\u536D\u5374\u{286AB}\u537E\u537F\u{21596}\u{21613}\u77E6\u5393\u{28A9B}\u53A0\u53AB\u53AE\u73A7\u{25772}\u3F59\u739C\u53C1\u53C5\u6C49\u4E49\u57FE\u53D9\u3AAB\u{20B8F}\u53E0\u{23FEB}\u{22DA3}\u53F6\u{20C77}\u5413\u7079\u552B\u6657\u6D5B\u546D\u{26B53}\u{20D74}\u555D\u548F\u54A4\u47A6\u{2170D}\u{20EDD}\u3DB4\u{20D4D}"],["fb40","\u{289BC}\u{22698}\u5547\u4CED\u542F\u7417\u5586\u55A9\u5605\u{218D7}\u{2403A}\u4552\u{24435}\u66B3\u{210B4}\u5637\u66CD\u{2328A}\u66A4\u66AD\u564D\u564F\u78F1\u56F1\u9787\u53FE\u5700\u56EF\u56ED\u{28B66}\u3623\u{2124F}\u5746\u{241A5}\u6C6E\u708B\u5742\u36B1\u{26C7E}\u57E6\u{21416}\u5803\u{21454}\u{24363}\u5826\u{24BF5}\u585C\u58AA\u3561\u58E0\u58DC\u{2123C}\u58FB\u5BFF\u5743\u{2A150}\u{24278}\u93D3\u35A1\u591F\u68A6\u36C3\u6E59"],["fba1","\u{2163E}\u5A24\u5553\u{21692}\u8505\u59C9\u{20D4E}\u{26C81}\u{26D2A}\u{217DC}\u59D9\u{217FB}\u{217B2}\u{26DA6}\u6D71\u{21828}\u{216D5}\u59F9\u{26E45}\u5AAB\u5A63\u36E6\u{249A9}\u5A77\u3708\u5A96\u7465\u5AD3\u{26FA1}\u{22554}\u3D85\u{21911}\u3732\u{216B8}\u5E83\u52D0\u5B76\u6588\u5B7C\u{27A0E}\u4004\u485D\u{20204}\u5BD5\u6160\u{21A34}\u{259CC}\u{205A5}\u5BF3\u5B9D\u4D10\u5C05\u{21B44}\u5C13\u73CE\u5C14\u{21CA5}\u{26B28}\u5C49\u48DD\u5C85\u5CE9\u5CEF\u5D8B\u{21DF9}\u{21E37}\u5D10\u5D18\u5D46\u{21EA4}\u5CBA\u5DD7\u82FC\u382D\u{24901}\u{22049}\u{22173}\u8287\u3836\u3BC2\u5E2E\u6A8A\u5E75\u5E7A\u{244BC}\u{20CD3}\u53A6\u4EB7\u5ED0\u53A8\u{21771}\u5E09\u5EF4\u{28482}"],["fc40","\u5EF9\u5EFB\u38A0\u5EFC\u683E\u941B\u5F0D\u{201C1}\u{2F894}\u3ADE\u48AE\u{2133A}\u5F3A\u{26888}\u{223D0}\u5F58\u{22471}\u5F63\u97BD\u{26E6E}\u5F72\u9340\u{28A36}\u5FA7\u5DB6\u3D5F\u{25250}\u{21F6A}\u{270F8}\u{22668}\u91D6\u{2029E}\u{28A29}\u6031\u6685\u{21877}\u3963\u3DC7\u3639\u5790\u{227B4}\u7971\u3E40\u609E\u60A4\u60B3\u{24982}\u{2498F}\u{27A53}\u74A4\u50E1\u5AA0\u6164\u8424\u6142\u{2F8A6}\u{26ED2}\u6181\u51F4\u{20656}\u6187\u5BAA\u{23FB7}"],["fca1","\u{2285F}\u61D3\u{28B9D}\u{2995D}\u61D0\u3932\u{22980}\u{228C1}\u6023\u615C\u651E\u638B\u{20118}\u62C5\u{21770}\u62D5\u{22E0D}\u636C\u{249DF}\u3A17\u6438\u63F8\u{2138E}\u{217FC}\u6490\u6F8A\u{22E36}\u9814\u{2408C}\u{2571D}\u64E1\u64E5\u947B\u3A66\u643A\u3A57\u654D\u6F16\u{24A28}\u{24A23}\u6585\u656D\u655F\u{2307E}\u65B5\u{24940}\u4B37\u65D1\u40D8\u{21829}\u65E0\u65E3\u5FDF\u{23400}\u6618\u{231F7}\u{231F8}\u6644\u{231A4}\u{231A5}\u664B\u{20E75}\u6667\u{251E6}\u6673\u6674\u{21E3D}\u{23231}\u{285F4}\u{231C8}\u{25313}\u77C5\u{228F7}\u99A4\u6702\u{2439C}\u{24A21}\u3B2B\u69FA\u{237C2}\u675E\u6767\u6762\u{241CD}\u{290ED}\u67D7\u44E9\u6822\u6E50\u923C\u6801\u{233E6}\u{26DA0}\u685D"],["fd40","\u{2346F}\u69E1\u6A0B\u{28ADF}\u6973\u68C3\u{235CD}\u6901\u6900\u3D32\u3A01\u{2363C}\u3B80\u67AC\u6961\u{28A4A}\u42FC\u6936\u6998\u3BA1\u{203C9}\u8363\u5090\u69F9\u{23659}\u{2212A}\u6A45\u{23703}\u6A9D\u3BF3\u67B1\u6AC8\u{2919C}\u3C0D\u6B1D\u{20923}\u60DE\u6B35\u6B74\u{227CD}\u6EB5\u{23ADB}\u{203B5}\u{21958}\u3740\u5421\u{23B5A}\u6BE1\u{23EFC}\u6BDC\u6C37\u{2248B}\u{248F1}\u{26B51}\u6C5A\u8226\u6C79\u{23DBC}\u44C5\u{23DBD}\u{241A4}\u{2490C}\u{24900}"],["fda1","\u{23CC9}\u36E5\u3CEB\u{20D32}\u9B83\u{231F9}\u{22491}\u7F8F\u6837\u{26D25}\u{26DA1}\u{26DEB}\u6D96\u6D5C\u6E7C\u6F04\u{2497F}\u{24085}\u{26E72}\u8533\u{26F74}\u51C7\u6C9C\u6E1D\u842E\u{28B21}\u6E2F\u{23E2F}\u7453\u{23F82}\u79CC\u6E4F\u5A91\u{2304B}\u6FF8\u370D\u6F9D\u{23E30}\u6EFA\u{21497}\u{2403D}\u4555\u93F0\u6F44\u6F5C\u3D4E\u6F74\u{29170}\u3D3B\u6F9F\u{24144}\u6FD3\u{24091}\u{24155}\u{24039}\u{23FF0}\u{23FB4}\u{2413F}\u51DF\u{24156}\u{24157}\u{24140}\u{261DD}\u704B\u707E\u70A7\u7081\u70CC\u70D5\u70D6\u70DF\u4104\u3DE8\u71B4\u7196\u{24277}\u712B\u7145\u5A88\u714A\u716E\u5C9C\u{24365}\u714F\u9362\u{242C1}\u712C\u{2445A}\u{24A27}\u{24A22}\u71BA\u{28BE8}\u70BD\u720E"],["fe40","\u9442\u7215\u5911\u9443\u7224\u9341\u{25605}\u722E\u7240\u{24974}\u68BD\u7255\u7257\u3E55\u{23044}\u680D\u6F3D\u7282\u732A\u732B\u{24823}\u{2882B}\u48ED\u{28804}\u7328\u732E\u73CF\u73AA\u{20C3A}\u{26A2E}\u73C9\u7449\u{241E2}\u{216E7}\u{24A24}\u6623\u36C5\u{249B7}\u{2498D}\u{249FB}\u73F7\u7415\u6903\u{24A26}\u7439\u{205C3}\u3ED7\u745C\u{228AD}\u7460\u{28EB2}\u7447\u73E4\u7476\u83B9\u746C\u3730\u7474\u93F1\u6A2C\u7482\u4953\u{24A8C}"],["fea1","\u{2415F}\u{24A79}\u{28B8F}\u5B46\u{28C03}\u{2189E}\u74C8\u{21988}\u750E\u74E9\u751E\u{28ED9}\u{21A4B}\u5BD7\u{28EAC}\u9385\u754D\u754A\u7567\u756E\u{24F82}\u3F04\u{24D13}\u758E\u745D\u759E\u75B4\u7602\u762C\u7651\u764F\u766F\u7676\u{263F5}\u7690\u81EF\u37F8\u{26911}\u{2690E}\u76A1\u76A5\u76B7\u76CC\u{26F9F}\u8462\u{2509D}\u{2517D}\u{21E1C}\u771E\u7726\u7740\u64AF\u{25220}\u7758\u{232AC}\u77AF\u{28964}\u{28968}\u{216C1}\u77F4\u7809\u{21376}\u{24A12}\u68CA\u78AF\u78C7\u78D3\u96A5\u792E\u{255E0}\u78D7\u7934\u78B1\u{2760C}\u8FB8\u8884\u{28B2B}\u{26083}\u{2261C}\u7986\u8900\u6902\u7980\u{25857}\u799D\u{27B39}\u793C\u79A9\u6E2A\u{27126}\u3EA8\u79C6\u{2910D}\u79D4"]]});var Njt=Le((STi,Qjt)=>{"use strict";Qjt.exports={shiftjis:{type:"_dbcs",table:function(){return Ojt()},encodeAdd:{"\xA5":92,"\u203E":126},encodeSkipVals:[{from:60736,to:63808}]},csshiftjis:"shiftjis",mskanji:"shiftjis",sjis:"shiftjis",windows31j:"shiftjis",ms31j:"shiftjis",xsjis:"shiftjis",windows932:"shiftjis",ms932:"shiftjis",932:"shiftjis",cp932:"shiftjis",eucjp:{type:"_dbcs",table:function(){return vjt()},encodeAdd:{"\xA5":92,"\u203E":126}},gb2312:"cp936",gb231280:"cp936",gb23121980:"cp936",csgb2312:"cp936",csiso58gb231280:"cp936",euccn:"cp936",windows936:"cp936",ms936:"cp936",936:"cp936",cp936:{type:"_dbcs",table:function(){return yqe()}},gbk:{type:"_dbcs",table:function(){return yqe().concat(Pyt())}},xgbk:"gbk",isoir58:"gbk",gb18030:{type:"_dbcs",table:function(){return yqe().concat(Pyt())},gb18030:function(){return Djt()},encodeSkipVals:[128],encodeAdd:{"\u20AC":41699}},chinese:"gb18030",windows949:"cp949",ms949:"cp949",949:"cp949",cp949:{type:"_dbcs",table:function(){return Sjt()}},cseuckr:"cp949",csksc56011987:"cp949",euckr:"cp949",isoir149:"cp949",korean:"cp949",ksc56011987:"cp949",ksc56011989:"cp949",ksc5601:"cp949",windows950:"cp950",ms950:"cp950",950:"cp950",cp950:{type:"_dbcs",table:function(){return Byt()}},big5:"big5hkscs",big5hkscs:{type:"_dbcs",table:function(){return Byt().concat($jt())},encodeSkipVals:[41676]},cnbig5:"big5hkscs",csbig5:"big5hkscs",xxbig5:"big5hkscs"}});var Bjt=Le((Pjt,Oie)=>{"use strict";var wjt=[_jt(),fjt(),xjt(),kjt(),qjt(),Ajt(),Ejt(),Njt()];for(qqe=0;qqe{"use strict";var Ijt=Li("buffer").Buffer,Aqe=Li("stream").Transform;Mjt.exports=function(e){e.encodeStream=function(r,n){return new MJ(e.getEncoder(r,n),n)},e.decodeStream=function(r,n){return new zM(e.getDecoder(r,n),n)},e.supportsStreams=!0,e.IconvLiteEncoderStream=MJ,e.IconvLiteDecoderStream=zM,e._collect=zM.prototype.collect};function MJ(e,t){this.conv=e,t=t||{},t.decodeStrings=!1,Aqe.call(this,t)}MJ.prototype=Object.create(Aqe.prototype,{constructor:{value:MJ}});MJ.prototype._transform=function(e,t,r){if(typeof e!="string")return r(new Error("Iconv encoding stream needs strings as its input."));try{var n=this.conv.write(e);n&&n.length&&this.push(n),r()}catch(i){r(i)}};MJ.prototype._flush=function(e){try{var t=this.conv.end();t&&t.length&&this.push(t),e()}catch(r){e(r)}};MJ.prototype.collect=function(e){var t=[];return this.on("error",e),this.on("data",function(r){t.push(r)}),this.on("end",function(){e(null,Ijt.concat(t))}),this};function zM(e,t){this.conv=e,t=t||{},t.encoding=this.encoding="utf8",Aqe.call(this,t)}zM.prototype=Object.create(Aqe.prototype,{constructor:{value:zM}});zM.prototype._transform=function(e,t,r){if(!Ijt.isBuffer(e))return r(new Error("Iconv decoding stream needs buffers as its input."));try{var n=this.conv.write(e);n&&n.length&&this.push(n,this.encoding),r()}catch(i){r(i)}};zM.prototype._flush=function(e){try{var t=this.conv.end();t&&t.length&&this.push(t,this.encoding),e()}catch(r){e(r)}};zM.prototype.collect=function(e){var t="";return this.on("error",e),this.on("data",function(r){t+=r}),this.on("end",function(){e(null,t)}),this}});var Fjt=Le((QTi,Ujt)=>{"use strict";var z_=Li("buffer").Buffer;Ujt.exports=function(e){var t=void 0;e.supportsNodeEncodingsExtension=!(z_.from||new z_(0)instanceof Uint8Array),e.extendNodeEncodings=function(){if(!t){if(t={},!e.supportsNodeEncodingsExtension){console.error("ACTION NEEDED: require('iconv-lite').extendNodeEncodings() is not supported in your version of Node"),console.error("See more info at https://github.com/ashtuchkin/iconv-lite/wiki/Node-v4-compatibility");return}var n={hex:!0,utf8:!0,"utf-8":!0,ascii:!0,binary:!0,base64:!0,ucs2:!0,"ucs-2":!0,utf16le:!0,"utf-16le":!0};z_.isNativeEncoding=function(R){return R&&n[R.toLowerCase()]};var i=Li("buffer").SlowBuffer;if(t.SlowBufferToString=i.prototype.toString,i.prototype.toString=function(R,l,c){return R=String(R||"utf8").toLowerCase(),z_.isNativeEncoding(R)?t.SlowBufferToString.call(this,R,l,c):(typeof l>"u"&&(l=0),typeof c>"u"&&(c=this.length),e.decode(this.slice(l,c),R))},t.SlowBufferWrite=i.prototype.write,i.prototype.write=function(R,l,c,h){if(isFinite(l))isFinite(c)||(h=c,c=void 0);else{var _=h;h=l,l=c,c=_}l=+l||0;var f=this.length-l;if(c?(c=+c,c>f&&(c=f)):c=f,h=String(h||"utf8").toLowerCase(),z_.isNativeEncoding(h))return t.SlowBufferWrite.call(this,R,l,c,h);if(R.length>0&&(c<0||l<0))throw new RangeError("attempt to write beyond buffer bounds");var m=e.encode(R,h);return m.length"u"&&(l=0),typeof c>"u"&&(c=this.length),e.decode(this.slice(l,c),R))},t.BufferWrite=z_.prototype.write,z_.prototype.write=function(R,l,c,h){var _=l,f=c,m=h;if(isFinite(l))isFinite(c)||(h=c,c=void 0);else{var x=h;h=l,l=c,c=x}if(h=String(h||"utf8").toLowerCase(),z_.isNativeEncoding(h))return t.BufferWrite.call(this,R,_,f,m);l=+l||0;var y=this.length-l;if(c?(c=+c,c>y&&(c=y)):c=y,R.length>0&&(c<0||l<0))throw new RangeError("attempt to write beyond buffer bounds");var A=e.encode(R,h);return A.length{"use strict";var zjt=BJ().Buffer,Hjt=cjt(),Bl=Yjt.exports;Bl.encodings=null;Bl.defaultCharUnicode="\uFFFD";Bl.defaultCharSingleByte="?";Bl.encode=function(t,r,n){t=""+(t||"");var i=Bl.getEncoder(r,n),s=i.write(t),R=i.end();return R&&R.length>0?zjt.concat([s,R]):s};Bl.decode=function(t,r,n){typeof t=="string"&&(Bl.skipDecodeWarning||(console.error("Iconv-lite warning: decode()-ing strings is deprecated. Refer to https://github.com/ashtuchkin/iconv-lite/wiki/Use-Buffers-when-decoding"),Bl.skipDecodeWarning=!0),t=zjt.from(""+(t||""),"binary"));var i=Bl.getDecoder(r,n),s=i.write(t),R=i.end();return R?s+R:s};Bl.encodingExists=function(t){try{return Bl.getCodec(t),!0}catch{return!1}};Bl.toEncoding=Bl.encode;Bl.fromEncoding=Bl.decode;Bl._codecDataCache={};Bl.getCodec=function(t){Bl.encodings||(Bl.encodings=Bjt());for(var r=Bl._canonicalizeEncoding(t),n={};;){var i=Bl._codecDataCache[r];if(i)return i;var s=Bl.encodings[r];switch(typeof s){case"string":r=s;break;case"object":for(var R in s)n[R]=s[R];n.encodingName||(n.encodingName=r),r=s.type;break;case"function":return n.encodingName||(n.encodingName=r),i=new s(n,Bl),Bl._codecDataCache[n.encodingName]=i,i;default:throw new Error("Encoding not recognized: '"+t+"' (searched as: '"+r+"')")}}};Bl._canonicalizeEncoding=function(e){return(""+e).toLowerCase().replace(/:\d{4}$|[^0-9a-z]/g,"")};Bl.getEncoder=function(t,r){var n=Bl.getCodec(t),i=new n.encoder(r,n);return n.bomAware&&r&&r.addBOM&&(i=new Hjt.PrependBOM(i,r)),i};Bl.getDecoder=function(t,r){var n=Bl.getCodec(t),i=new n.decoder(r,n);return n.bomAware&&!(r&&r.stripBOM===!1)&&(i=new Hjt.StripBOM(i,r)),i};var Ljt=typeof process<"u"&&process.versions&&process.versions.node;Ljt&&(Iyt=Ljt.split(".").map(Number),(Iyt[0]>0||Iyt[1]>=10)&&Wjt()(Bl),Fjt()(Bl));var Iyt});var jjt=Le((wTi,Vjt)=>{"use strict";var Gjt=process.platform==="win32",etn=Gjt?/[^:]\\$/:/.\/$/;Vjt.exports=function(){var e;return Gjt?e=process.env.TEMP||process.env.TMP||(process.env.SystemRoot||process.env.windir)+"\\temp":e=process.env.TMPDIR||process.env.TMP||process.env.TEMP||"/tmp",etn.test(e)&&(e=e.slice(0,-1)),e}});var cJt=Le((PTi,XN)=>{var Lm=Li("fs"),Myt=Li("path"),Jjt=Li("crypto"),ttn=jjt(),fD=process.binding("constants"),Wyt=ttn(),Xjt="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz",Fyt=/XXXXXX/,eJt=3,tJt=(fD.O_CREAT||fD.fs.O_CREAT)|(fD.O_EXCL||fD.fs.O_EXCL)|(fD.O_RDWR||fD.fs.O_RDWR),rtn=fD.EBADF||fD.os.errno.EBADF,ntn=fD.ENOENT||fD.os.errno.ENOENT,rJt=448,nJt=384,vie=[],iJt=!1,Lyt=!1;function Zjt(e){var t=[],r=null;try{r=Jjt.randomBytes(e)}catch{r=Jjt.pseudoRandomBytes(e)}for(var n=0;n"u"}function Die(e,t){return typeof e=="function"?[t||{},e]:aJt(e)?[{},t]:[e,t]}function sJt(e){if(e.name)return Myt.join(e.dir||Wyt,e.name);if(e.template)return e.template.replace(Fyt,Zjt(6));let t=[e.prefix||"tmp-",process.pid,Zjt(12),e.postfix||""].join("");return Myt.join(e.dir||Wyt,t)}function zyt(e,t){var r=Die(e,t),n=r[0],i=r[1],s=n.name?1:n.tries||eJt;if(isNaN(s)||s<0)return i(new Error("Invalid tries"));if(n.template&&!n.template.match(Fyt))return i(new Error("Invalid template provided"));(function R(){let l=sJt(n);Lm.stat(l,function(c){if(!c)return s-- >0?R():i(new Error("Could not get a unique tmp filename, max tries reached "+l));i(null,l)})})()}function Hyt(e){var t=Die(e),r=t[0],n=r.name?1:r.tries||eJt;if(isNaN(n)||n<0)throw new Error("Invalid tries");if(r.template&&!r.template.match(Fyt))throw new Error("Invalid template provided");do{let i=sJt(r);try{Lm.statSync(i)}catch{return i}}while(n-- >0);throw new Error("Could not get a unique tmp filename, max tries reached")}function itn(e,t){var r=Die(e,t),n=r[0],i=r[1];n.postfix=aJt(n.postfix)?".tmp":n.postfix,zyt(n,function(R,l){if(R)return i(R);Lm.open(l,tJt,n.mode||nJt,function(h,_){if(h)return i(h);if(n.discardDescriptor)return Lm.close(_,function(m){if(m){try{Lm.unlinkSync(l)}catch(x){Uyt(x)||(m=x)}return i(m)}i(null,l,void 0,bqe(l,-1,n))});if(n.detachDescriptor)return i(null,l,_,bqe(l,-1,n));i(null,l,_,bqe(l,_,n))})})}function atn(e){var t=Die(e),r=t[0];r.postfix=r.postfix||".tmp";let n=r.discardDescriptor||r.detachDescriptor,i=Hyt(r);var s=Lm.openSync(i,tJt,r.mode||nJt);return r.discardDescriptor&&(Lm.closeSync(s),s=void 0),{name:i,fd:s,removeCallback:bqe(i,n?-1:s,r)}}function stn(e){let t=[e];do{for(var r=t.pop(),n=!1,i=Lm.readdirSync(r),s=0,R=i.length;s=0&&vie.splice(s,1),r=!0,e(t)}i&&i(null)}}function uJt(){if(!(Lyt&&!iJt))for(;vie.length;)try{vie[0].call(null)}catch{}}function utn(e){return lJt(e,-rtn,"EBADF")}function Uyt(e){return lJt(e,-ntn,"ENOENT")}function lJt(e,t,r){return e.code==t||e.code==r}function ltn(){iJt=!0}var gqe=process.versions.node.split(".").map(function(e){return parseInt(e,10)});gqe[0]===0&&(gqe[1]<9||gqe[1]===9&&gqe[2]<5)&&process.addListener("uncaughtException",function(t){throw Lyt=!0,uJt(),t});process.addListener("exit",function(t){t&&(Lyt=!0),uJt()});XN.exports.tmpdir=Wyt;XN.exports.dir=otn;XN.exports.dirSync=Rtn;XN.exports.file=itn;XN.exports.fileSync=atn;XN.exports.tmpName=zyt;XN.exports.tmpNameSync=Hyt;XN.exports.setGracefulCleanup=ltn});var TJt=Le(K_e=>{"use strict";var ctn=K_e&&K_e.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)i.hasOwnProperty(s)&&(n[s]=i[s])},e(t,r)};return function(t,r){e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(K_e,"__esModule",{value:!0});var Ttn=function(e){ctn(t,e);function t(r){var n=this.constructor,i=e.call(this,"Failed to create temporary file for editor")||this;i.originalError=r;var s=n.prototype;return Object.setPrototypeOf?Object.setPrototypeOf(i,s):i.__proto__=n.prototype,i}return t}(Error);K_e.CreateFileError=Ttn});var pJt=Le(G_e=>{"use strict";var ptn=G_e&&G_e.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)i.hasOwnProperty(s)&&(n[s]=i[s])},e(t,r)};return function(t,r){e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(G_e,"__esModule",{value:!0});var _tn=function(e){ptn(t,e);function t(r){var n=this.constructor,i=e.call(this,"Failed launch editor")||this;i.originalError=r;var s=n.prototype;return Object.setPrototypeOf?Object.setPrototypeOf(i,s):i.__proto__=n.prototype,i}return t}(Error);G_e.LaunchEditorError=_tn});var _Jt=Le(V_e=>{"use strict";var htn=V_e&&V_e.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)i.hasOwnProperty(s)&&(n[s]=i[s])},e(t,r)};return function(t,r){e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(V_e,"__esModule",{value:!0});var ftn=function(e){htn(t,e);function t(r){var n=this.constructor,i=e.call(this,"Failed to read temporary file")||this;i.originalError=r;var s=n.prototype;return Object.setPrototypeOf?Object.setPrototypeOf(i,s):i.__proto__=n.prototype,i}return t}(Error);V_e.ReadFileError=ftn});var hJt=Le(j_e=>{"use strict";var dtn=j_e&&j_e.__extends||function(){var e=function(t,r){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(n,i){n.__proto__=i}||function(n,i){for(var s in i)i.hasOwnProperty(s)&&(n[s]=i[s])},e(t,r)};return function(t,r){e(t,r);function n(){this.constructor=t}t.prototype=r===null?Object.create(r):(n.prototype=r.prototype,new n)}}();Object.defineProperty(j_e,"__esModule",{value:!0});var xtn=function(e){dtn(t,e);function t(r){var n=this.constructor,i=e.call(this,"Failed to cleanup temporary file")||this;i.originalError=r;var s=n.prototype;return Object.setPrototypeOf?Object.setPrototypeOf(i,s):i.__proto__=n.prototype,i}return t}(Error);j_e.RemoveFileError=xtn});var yJt=Le(ZN=>{"use strict";Object.defineProperty(ZN,"__esModule",{value:!0});var mtn=Rjt(),fJt=Li("child_process"),Yyt=Li("fs"),dJt=Kjt(),ktn=cJt(),xJt=TJt();ZN.CreateFileError=xJt.CreateFileError;var Kyt=pJt();ZN.LaunchEditorError=Kyt.LaunchEditorError;var mJt=_Jt();ZN.ReadFileError=mJt.ReadFileError;var kJt=hJt();ZN.RemoveFileError=kJt.RemoveFileError;function ytn(e,t){e===void 0&&(e="");var r=new Gyt(e,t);return r.run(),r.cleanup(),r.text}ZN.edit=ytn;function qtn(e,t,r){e===void 0&&(e="");var n=new Gyt(e,r);n.runAsync(function(i,s){if(i)setImmediate(t,i,null);else try{n.cleanup(),setImmediate(t,null,s)}catch(R){setImmediate(t,R,null)}})}ZN.editAsync=qtn;var Gyt=function(){function e(t,r){t===void 0&&(t=""),this.text="",this.fileOptions={},this.text=t,r&&(this.fileOptions=r),this.determineEditor(),this.createTemporaryFile()}return e.splitStringBySpace=function(t){for(var r=[],n="",i=0;i0&&s===" "&&t[i-1]!=="\\"&&n.length>0?(r.push(n),n=""):n+=s}return n.length>0&&r.push(n),r},Object.defineProperty(e.prototype,"temp_file",{get:function(){return console.log("DEPRECATED: temp_file. Use tempFile moving forward."),this.tempFile},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"last_exit_status",{get:function(){return console.log("DEPRECATED: last_exit_status. Use lastExitStatus moving forward."),this.lastExitStatus},enumerable:!0,configurable:!0}),e.prototype.run=function(){return this.launchEditor(),this.readTemporaryFile(),this.text},e.prototype.runAsync=function(t){var r=this;try{this.launchEditorAsync(function(){try{r.readTemporaryFile(),setImmediate(t,null,r.text)}catch(n){setImmediate(t,n,null)}})}catch(n){setImmediate(t,n,null)}},e.prototype.cleanup=function(){this.removeTemporaryFile()},e.prototype.determineEditor=function(){var t=process.env.VISUAL?process.env.VISUAL:process.env.EDITOR?process.env.EDITOR:/^win/.test(process.platform)?"notepad":"vim",r=e.splitStringBySpace(t).map(function(i){return i.replace("\\ "," ")}),n=r.shift();this.editor={args:r,bin:n}},e.prototype.createTemporaryFile=function(){try{this.tempFile=ktn.tmpNameSync(this.fileOptions);var t={encoding:"utf8"};this.fileOptions.hasOwnProperty("mode")&&(t.mode=this.fileOptions.mode),Yyt.writeFileSync(this.tempFile,this.text,t)}catch(r){throw new xJt.CreateFileError(r)}},e.prototype.readTemporaryFile=function(){try{var t=Yyt.readFileSync(this.tempFile);if(t.length===0)this.text="";else{var r=mtn.detect(t).toString();dJt.encodingExists(r)||(r="utf8"),this.text=dJt.decode(t,r)}}catch(n){throw new mJt.ReadFileError(n)}},e.prototype.removeTemporaryFile=function(){try{Yyt.unlinkSync(this.tempFile)}catch(t){throw new kJt.RemoveFileError(t)}},e.prototype.launchEditor=function(){try{var t=fJt.spawnSync(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"});this.lastExitStatus=t.status}catch(r){throw new Kyt.LaunchEditorError(r)}},e.prototype.launchEditorAsync=function(t){var r=this;try{var n=fJt.spawn(this.editor.bin,this.editor.args.concat([this.tempFile]),{stdio:"inherit"});n.on("exit",function(i){r.lastExitStatus=i,setImmediate(t)})}catch(i){throw new Kyt.LaunchEditorError(i)}},e}();ZN.ExternalEditor=Gyt});var gJt=Le((HTi,AJt)=>{var Ctn=Li("stream"),Vyt=class extends Ctn{#e=null;constructor(t={}){super(t),this.writable=this.readable=!0,this.muted=!1,this.on("pipe",this._onpipe),this.replace=t.replace,this._prompt=t.prompt||null,this._hadControl=!1}#t(t,r){return this._dest?this._dest[t]:this._src?this._src[t]:r}#a(t,...r){typeof this._dest?.[t]=="function"&&this._dest[t](...r),typeof this._src?.[t]=="function"&&this._src[t](...r)}get isTTY(){return this.#e!==null?this.#e:this.#t("isTTY",!1)}set isTTY(t){this.#e=t}get rows(){return this.#t("rows")}get columns(){return this.#t("columns")}mute(){this.muted=!0}unmute(){this.muted=!1}_onpipe(t){this._src=t}pipe(t,r){return this._dest=t,super.pipe(t,r)}pause(){if(this._src)return this._src.pause()}resume(){if(this._src)return this._src.resume()}write(t){if(this.muted){if(!this.replace)return!0;if(t.match(/^\u001b/))return t.indexOf(this._prompt)===0&&(t=t.slice(this._prompt.length),t=t.replace(/./g,this.replace),t=this._prompt+t),this._hadControl=!0,this.emit("data",t);this._prompt&&this._hadControl&&t.indexOf(this._prompt)===0&&(this._hadControl=!1,this.emit("data",this._prompt),t=t.slice(this._prompt.length)),t=t.toString().replace(/./g,this.replace)}this.emit("data",t)}end(t){this.muted&&(t&&this.replace?t=t.toString().replace(/./g,this.replace):t=null),t&&this.emit("data",t),this.emit("end")}destroy(...t){return this.#a("destroy",...t)}destroySoon(...t){return this.#a("destroySoon",...t)}close(...t){return this.#a("close",...t)}};AJt.exports=Vyt});var Qqe={};x2(Qqe,{builders:()=>zJt,default:()=>Arn,printer:()=>HJt,utils:()=>YJt});function Qtn(e){if(typeof e=="string")return UJ;if(Array.isArray(e))return ew;if(!e)return;let{type:t}=e;if(PJt.has(t))return t}function wtn(e){let t=e===null?"null":typeof e;if(t!=="string"&&t!=="object")return`Unexpected doc '${t}', +Expected it to be 'string' or 'object'.`;if(LJ(e))throw new Error("doc is valid.");let r=Object.prototype.toString.call(e);if(r!=="[object Object]")return`Unexpected doc '${r}'.`;let n=Ntn([...PJt].map(i=>`'${i}'`));return`Unexpected doc.type '${e.type}'. +Expected it to be ${n}.`}function Btn(e,t,r,n){let i=[e];for(;i.length>0;){let s=i.pop();if(s===$Jt){r(i.pop());continue}r&&i.push(s,$Jt);let R=LJ(s);if(!R)throw new Qie(s);if(t?.(s)!==!1)switch(R){case ew:case VM:{let l=R===ew?s:s.parts;for(let c=l.length,h=c-1;h>=0;--h)i.push(l[h]);break}case JE:i.push(s.flatContents,s.breakContents);break;case j3:if(n&&s.expandedStates)for(let l=s.expandedStates.length,c=l-1;c>=0;--c)i.push(s.expandedStates[c]);else i.push(s.contents);break;case KM:case YM:case jM:case ZM:case JM:i.push(s.contents);break;case UJ:case FJ:case GM:case XM:case g4:case mD:break;default:throw new Qie(s)}}}function Sqe(e){return xD(e),{type:YM,contents:e}}function Nie(e,t){return xD(t),{type:KM,contents:t,n:e}}function IJt(e,t={}){return xD(e),t8t(t.expandedStates,!0),{type:j3,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function Itn(e){return Nie(Number.NEGATIVE_INFINITY,e)}function Mtn(e){return Nie({type:"root"},e)}function Wtn(e){return Nie(-1,e)}function Utn(e,t){return IJt(e[0],{...t,expandedStates:e})}function Ftn(e){return t8t(e),{type:VM,parts:e}}function Ltn(e,t="",r={}){return xD(e),t!==""&&xD(t),{type:JE,breakContents:e,flatContents:t,groupId:r.groupId}}function ztn(e,t){return xD(e),{type:jM,contents:e,groupId:t.groupId,negate:t.negate}}function Htn(e){return xD(e),{type:JM,contents:e}}function UJt(e,t){xD(e),t8t(t);let r=[];for(let n=0;n0){for(let i=0;i=65281&&e<=65376||e>=65504&&e<=65510}function srn(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101631&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129673||e>=129679&&e<=129734||e>=129742&&e<=129756||e>=129759&&e<=129769||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function urn(e){if(!e)return 0;if(!Rrn.test(e))return e.length;e=e.replace(irn()," ");let t=0;for(let r of e){let n=r.codePointAt(0);n<=31||n>=127&&n<=159||n>=768&&n<=879||(t+=orn(n)?1:2)}return t}function $qe(e,t){if(typeof e=="string")return t(e);let r=new Map;return n(e);function n(s){if(r.has(s))return r.get(s);let R=i(s);return r.set(s,R),R}function i(s){switch(LJ(s)){case ew:return t(s.map(n));case VM:return t({...s,parts:s.parts.map(n)});case JE:return t({...s,breakContents:n(s.breakContents),flatContents:n(s.flatContents)});case j3:{let{expandedStates:R,contents:l}=s;return R?(R=R.map(n),l=R[0]):l=n(l),t({...s,contents:l,expandedStates:R})}case KM:case YM:case jM:case ZM:case JM:return t({...s,contents:n(s.contents)});case UJ:case FJ:case GM:case XM:case g4:case mD:return t(s);default:throw new Qie(s)}}}function i8t(e,t,r){let n=r,i=!1;function s(R){if(i)return!1;let l=t(R);l!==void 0&&(i=!0,n=l)}return e8t(e,s),n}function lrn(e){if(e.type===j3&&e.break||e.type===g4&&e.hard||e.type===mD)return!0}function crn(e){return i8t(e,lrn,!1)}function QJt(e){if(e.length>0){let t=HM(!1,e,-1);!t.expandedStates&&!t.break&&(t.break="propagated")}return null}function Trn(e){let t=new Set,r=[];function n(s){if(s.type===mD&&QJt(r),s.type===j3){if(r.push(s),t.has(s))return!1;t.add(s)}}function i(s){s.type===j3&&r.pop().break&&QJt(r)}e8t(e,n,i,!0)}function prn(e){return e.type===g4&&!e.hard?e.soft?"":" ":e.type===JE?e.flatContents:e}function _rn(e){return $qe(e,prn)}function NJt(e){for(e=[...e];e.length>=2&&HM(!1,e,-2).type===g4&&HM(!1,e,-1).type===mD;)e.length-=2;if(e.length>0){let t=Z_e(HM(!1,e,-1));e[e.length-1]=t}return e}function Z_e(e){switch(LJ(e)){case YM:case jM:case j3:case JM:case ZM:{let t=Z_e(e.contents);return{...e,contents:t}}case JE:return{...e,breakContents:Z_e(e.breakContents),flatContents:Z_e(e.flatContents)};case VM:return{...e,parts:NJt(e.parts)};case ew:return NJt(e);case UJ:return e.replace(/[\n\r]*$/u,"");case KM:case FJ:case GM:case XM:case g4:case mD:break;default:throw new Qie(e)}return e}function hrn(e){return Z_e(drn(e))}function frn(e){switch(LJ(e)){case VM:if(e.parts.every(t=>t===""))return"";break;case j3:if(!e.contents&&!e.id&&!e.break&&!e.expandedStates)return"";if(e.contents.type===j3&&e.contents.id===e.id&&e.contents.break===e.break&&e.contents.expandedStates===e.expandedStates)return e.contents;break;case KM:case YM:case jM:case JM:if(!e.contents)return"";break;case JE:if(!e.flatContents&&!e.breakContents)return"";break;case ew:{let t=[];for(let r of e){if(!r)continue;let[n,...i]=Array.isArray(r)?r:[r];typeof n=="string"&&typeof HM(!1,t,-1)=="string"?t[t.length-1]+=n:t.push(n),t.push(...i)}return t.length===0?"":t.length===1?t[0]:t}case UJ:case FJ:case GM:case XM:case g4:case ZM:case mD:break;default:throw new Qie(e)}return e}function drn(e){return $qe(e,t=>frn(t))}function xrn(e,t=WJt){return $qe(e,r=>typeof r=="string"?UJt(t,r.split(` +`)):r)}function mrn(e){if(e.type===g4)return!0}function krn(e){return i8t(e,mrn,!1)}function LJt(){return{value:"",length:0,queue:[]}}function yrn(e,t){return Xyt(e,{type:"indent"},t)}function qrn(e,t,r){return t===Number.NEGATIVE_INFINITY?e.root||LJt():t<0?Xyt(e,{type:"dedent"},r):t?t.type==="root"?{...e,root:e}:Xyt(e,{type:typeof t=="string"?"stringAlign":"numberAlign",n:t},r):e}function Xyt(e,t,r){let n=t.type==="dedent"?e.queue.slice(0,-1):[...e.queue,t],i="",s=0,R=0,l=0;for(let y of n)switch(y.type){case"indent":_(),r.useTabs?c(1):h(r.tabWidth);break;case"stringAlign":_(),i+=y.n,s+=y.n.length;break;case"numberAlign":R+=1,l+=y.n;break;default:throw new Error(`Unexpected type '${y.type}'`)}return m(),{...e,value:i,length:s,queue:n};function c(y){i+=" ".repeat(y),s+=r.tabWidth*y}function h(y){i+=" ".repeat(y),s+=y}function _(){r.useTabs?f():m()}function f(){R>0&&c(R),x()}function m(){l>0&&h(l),x()}function x(){R=0,l=0}}function Zyt(e){let t=0,r=0,n=e.length;e:for(;n--;){let i=e[n];if(i===$ie){r++;continue}for(let s=i.length-1;s>=0;s--){let R=i[s];if(R===" "||R===" ")t++;else{e[n]=i.slice(0,s+1);break e}}}if(t>0||r>0)for(e.length=n+1;r-- >0;)e.push($ie);return t}function Dqe(e,t,r,n,i,s){if(r===Number.POSITIVE_INFINITY)return!0;let R=t.length,l=[e],c=[];for(;r>=0;){if(l.length===0){if(R===0)return!0;l.push(t[--R]);continue}let{mode:h,doc:_}=l.pop(),f=LJ(_);switch(f){case UJ:c.push(_),r-=FJt(_);break;case ew:case VM:{let m=f===ew?_:_.parts,x=_[Jyt]??0;for(let y=m.length-1;y>=x;y--)l.push({mode:h,doc:m[y]});break}case YM:case KM:case jM:case ZM:l.push({mode:h,doc:_.contents});break;case GM:r+=Zyt(c);break;case j3:{if(s&&_.break)return!1;let m=_.break?BC:h,x=_.expandedStates&&m===BC?HM(!1,_.expandedStates,-1):_.contents;l.push({mode:m,doc:x});break}case JE:{let x=(_.groupId?i[_.groupId]||dD:h)===BC?_.breakContents:_.flatContents;x&&l.push({mode:h,doc:x});break}case g4:if(h===BC||_.hard)return!0;_.soft||(c.push(" "),r--);break;case JM:n=!0;break;case XM:if(n)return!1;break}}return!1}function Crn(e,t){let r={},n=t.printWidth,i=nrn(t.endOfLine),s=0,R=[{ind:LJt(),mode:BC,doc:e}],l=[],c=!1,h=[],_=0;for(Trn(e);R.length>0;){let{ind:m,mode:x,doc:y}=R.pop();switch(LJ(y)){case UJ:{let A=i!==` +`?rrn(!1,y,` +`,i):y;l.push(A),R.length>0&&(s+=FJt(A));break}case ew:for(let A=y.length-1;A>=0;A--)R.push({ind:m,mode:x,doc:y[A]});break;case FJ:if(_>=2)throw new Error("There are too many 'cursor' in doc.");l.push($ie),_++;break;case YM:R.push({ind:yrn(m,t),mode:x,doc:y.contents});break;case KM:R.push({ind:qrn(m,y.n,t),mode:x,doc:y.contents});break;case GM:s-=Zyt(l);break;case j3:switch(x){case dD:if(!c){R.push({ind:m,mode:y.break?BC:dD,doc:y.contents});break}case BC:{c=!1;let A={ind:m,mode:dD,doc:y.contents},D=n-s,S=h.length>0;if(!y.break&&Dqe(A,R,D,S,r))R.push(A);else if(y.expandedStates){let P=HM(!1,y.expandedStates,-1);if(y.break){R.push({ind:m,mode:BC,doc:P});break}else for(let M=1;M=y.expandedStates.length){R.push({ind:m,mode:BC,doc:P});break}else{let U=y.expandedStates[M],w={ind:m,mode:dD,doc:U};if(Dqe(w,R,D,S,r)){R.push(w);break}}}else R.push({ind:m,mode:BC,doc:y.contents});break}}y.id&&(r[y.id]=HM(!1,R,-1).mode);break;case VM:{let A=n-s,D=y[Jyt]??0,{parts:S}=y,P=S.length-D;if(P===0)break;let M=S[D+0],U=S[D+1],w={ind:m,mode:dD,doc:M},F={ind:m,mode:BC,doc:M},H=Dqe(w,[],A,h.length>0,r,!0);if(P===1){H?R.push(w):R.push(F);break}let G={ind:m,mode:dD,doc:U},ee={ind:m,mode:BC,doc:U};if(P===2){H?R.push(G,w):R.push(ee,F);break}let fe=S[D+2],me={ind:m,mode:x,doc:{...y,[Jyt]:D+2}};Dqe({ind:m,mode:dD,doc:[M,U,fe]},[],A,h.length>0,r,!0)?R.push(me,G,w):H?R.push(me,ee,w):R.push(me,ee,F);break}case JE:case jM:{let A=y.groupId?r[y.groupId]:x;if(A===BC){let D=y.type===JE?y.breakContents:y.negate?y.contents:Sqe(y.contents);D&&R.push({ind:m,mode:x,doc:D})}if(A===dD){let D=y.type===JE?y.flatContents:y.negate?Sqe(y.contents):y.contents;D&&R.push({ind:m,mode:x,doc:D})}break}case JM:h.push({ind:m,mode:x,doc:y.contents});break;case XM:h.length>0&&R.push({ind:m,mode:x,doc:n8t});break;case g4:switch(x){case dD:if(y.hard)c=!0;else{y.soft||(l.push(" "),s+=1);break}case BC:if(h.length>0){R.push({ind:m,mode:x,doc:y},...h.reverse()),h.length=0;break}y.literal?m.root?(l.push(i,m.root.value),s=m.root.length):(l.push(i),s=0):(s-=Zyt(l),l.push(i+m.value),s=m.length);break}break;case ZM:R.push({ind:m,mode:x,doc:y.contents});break;case mD:break;default:throw new Qie(y)}R.length===0&&h.length>0&&(R.push(...h.reverse()),h.length=0)}let f=l.indexOf($ie);if(f!==-1){let m=l.indexOf($ie,f+1);if(m===-1)return{formatted:l.filter(D=>D!==$ie).join("")};let x=l.slice(0,f).join(""),y=l.slice(f+1,m).join(""),A=l.slice(m+1).join("");return{formatted:x+y+A,cursorNodeStart:x.length,cursorNodeText:y}}return{formatted:l.join("")}}var Stn,$tn,wJt,UJ,ew,FJ,YM,KM,GM,j3,VM,JE,jM,JM,XM,g4,ZM,mD,PJt,LJ,Ntn,Ptn,Qie,$Jt,e8t,BJt,xD,t8t,Ytn,r8t,Ktn,n8t,MJt,Gtn,Vtn,jtn,WJt,Jtn,ern,HM,trn,rrn,irn,orn,Rrn,FJt,BC,dD,$ie,Jyt,zJt,HJt,YJt,Arn,KJt=mp(()=>{Stn=Object.defineProperty,$tn=(e,t)=>{for(var r in t)Stn(e,r,{get:t[r],enumerable:!0})},wJt={};$tn(wJt,{builders:()=>zJt,printer:()=>HJt,utils:()=>YJt});UJ="string",ew="array",FJ="cursor",YM="indent",KM="align",GM="trim",j3="group",VM="fill",JE="if-break",jM="indent-if-break",JM="line-suffix",XM="line-suffix-boundary",g4="line",ZM="label",mD="break-parent",PJt=new Set([FJ,YM,KM,GM,j3,VM,JE,jM,JM,XM,g4,ZM,mD]);LJ=Qtn,Ntn=e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e);Ptn=class extends Error{name="InvalidDocError";constructor(e){super(wtn(e)),this.doc=e}},Qie=Ptn,$Jt={};e8t=Btn,BJt=()=>{},xD=BJt,t8t=BJt;Ytn={type:XM},r8t={type:mD},Ktn={type:GM},n8t={type:g4,hard:!0},MJt={type:g4,hard:!0,literal:!0},Gtn={type:g4},Vtn={type:g4,soft:!0},jtn=[n8t,r8t],WJt=[MJt,r8t],Jtn={type:FJ};ern=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},HM=ern,trn=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},rrn=trn;irn=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;orn=e=>!(arn(e)||srn(e)),Rrn=/[^\x20-\x7F]/u;FJt=urn;BC=Symbol("MODE_BREAK"),dD=Symbol("MODE_FLAT"),$ie=Symbol("cursor"),Jyt=Symbol("DOC_FILL_PRINTED_LENGTH");zJt={join:UJt,line:Gtn,softline:Vtn,hardline:jtn,literalline:WJt,group:IJt,conditionalGroup:Utn,fill:Ftn,lineSuffix:Htn,lineSuffixBoundary:Ytn,cursor:Jtn,breakParent:r8t,ifBreak:Ltn,trim:Ktn,indent:Sqe,indentIfBreak:ztn,align:Nie,addAlignmentToDoc:Xtn,markAsRoot:Mtn,dedentToRoot:Itn,dedent:Wtn,hardlineWithoutBreakParent:n8t,literallineWithoutBreakParent:MJt,label:Ztn,concat:e=>e},HJt={printDocToString:Crn},YJt={willBreak:crn,traverseDoc:e8t,findInDoc:i8t,mapDoc:$qe,removeLines:_rn,stripTrailingHardline:hrn,replaceEndOfLine:xrn,canBreak:krn},Arn=wJt});var JXt={};x2(JXt,{default:()=>min,parsers:()=>jXt});function c8t(e,t){for(var r=65536,n=0;ne)return!1;if(r+=t[n+1],r>=e)return!0}return!1}function tw(e,t){return e<65?e===36:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&Brn.test(String.fromCharCode(e)):t===!1?!1:c8t(e,oXt)}function wie(e,t){return e<48?e===36:e<58?!0:e<65?!1:e<91?!0:e<97?e===95:e<123?!0:e<=65535?e>=170&&Irn.test(String.fromCharCode(e)):t===!1?!1:c8t(e,oXt)||c8t(e,Qrn)}function J3(e,t){return new tl(e,{beforeExpr:!0,binop:t})}function yu(e,t){return t===void 0&&(t={}),t.keyword=e,k8t[e]=new tl(e,t)}function Pie(e){return e===10||e===13||e===8232||e===8233}function uXt(e,t,r){r===void 0&&(r=e.length);for(var n=t;n>10)+55296,(e&1023)+56320))}function TXt(e,t){for(var r=1,n=0;;){var i=uXt(e,n,t);if(i<0)return new nhe(r,t-n);++r,n=i}}function Lrn(e){var t={};for(var r in T8t)t[r]=e&&Bie(e,r)?e[r]:T8t[r];if(t.ecmaVersion==="latest"?t.ecmaVersion=1e8:t.ecmaVersion==null?(!jJt&&typeof console=="object"&&console.warn&&(jJt=!0,console.warn(`Since Acorn 8.0.0, options.ecmaVersion is required. +Defaulting to 2020, but this will stop working in the future.`)),t.ecmaVersion=11):t.ecmaVersion>=2015&&(t.ecmaVersion-=2009),t.allowReserved==null&&(t.allowReserved=t.ecmaVersion<5),(!e||e.allowHashBang==null)&&(t.allowHashBang=t.ecmaVersion>=14),GJt(t.onToken)){var n=t.onToken;t.onToken=function(i){return n.push(i)}}return GJt(t.onComment)&&(t.onComment=zrn(t,t.onComment)),t}function zrn(e,t){return function(r,n,i,s,R,l){var c={type:r?"Block":"Line",value:n,start:i,end:s};e.locations&&(c.loc=new Uqe(this,R,l)),e.ranges&&(c.range=[i,s]),t.push(c)}}function A8t(e,t){return Iie|(e?y8t:0)|(t?pXt:0)}function Grn(e,t){var r=t.key.name,n=e[r],i="true";return t.type==="MethodDefinition"&&(t.kind==="get"||t.kind==="set")&&(i=(t.static?"s":"i")+t.kind),n==="iget"&&i==="iset"||n==="iset"&&i==="iget"||n==="sget"&&i==="sset"||n==="sset"&&i==="sget"?(e[r]="true",!1):n?!0:(e[r]=i,!1)}function Bqe(e,t){var r=e.computed,n=e.key;return!r&&(n.type==="Identifier"&&n.name===t||n.type==="Literal"&&n.value===t)}function yXt(e){return e.type==="Identifier"||e.type==="ParenthesizedExpression"&&yXt(e.expression)}function _8t(e){return e.type==="MemberExpression"&&e.property.type==="PrivateIdentifier"||e.type==="ChainExpression"&&_8t(e.expression)||e.type==="ParenthesizedExpression"&&_8t(e.expression)}function qXt(e,t,r,n){return e.type=t,e.end=r,this.options.locations&&(e.loc.end=n),this.options.ranges&&(e.range[1]=r),e}function inn(e){var t=QXt[e]={binary:eW(Zrn[e]+" "+JJt),binaryOfStrings:eW(tnn[e]),nonBinary:{General_Category:eW(JJt),Script:eW(nnn[e])}};t.nonBinary.Script_Extensions=t.nonBinary.Script,t.nonBinary.gc=t.nonBinary.General_Category,t.nonBinary.sc=t.nonBinary.Script,t.nonBinary.scx=t.nonBinary.Script_Extensions}function ann(e){for(var t in e)return!0;return!1}function snn(e){return e===105||e===109||e===115}function NXt(e){return e===36||e>=40&&e<=43||e===46||e===63||e>=91&&e<=94||e>=123&&e<=125}function onn(e){return tw(e,!0)||e===36||e===95}function Rnn(e){return wie(e,!0)||e===36||e===95||e===8204||e===8205}function wXt(e){return e>=65&&e<=90||e>=97&&e<=122}function unn(e){return e>=0&&e<=1114111}function lnn(e){return e===100||e===68||e===115||e===83||e===119||e===87}function BXt(e){return wXt(e)||e===95}function cnn(e){return BXt(e)||zqe(e)}function Tnn(e){return e===33||e>=35&&e<=38||e>=42&&e<=44||e===46||e>=58&&e<=64||e===94||e===96||e===126}function pnn(e){return e===40||e===41||e===45||e===47||e>=91&&e<=93||e>=123&&e<=125}function _nn(e){return e===33||e===35||e===37||e===38||e===44||e===45||e>=58&&e<=62||e===64||e===96||e===126}function zqe(e){return e>=48&&e<=57}function IXt(e){return e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102}function MXt(e){return e>=65&&e<=70?10+(e-65):e>=97&&e<=102?10+(e-97):e-48}function WXt(e){return e>=48&&e<=55}function hnn(e,t){return t?parseInt(e,8):parseFloat(e.replace(/_/g,""))}function UXt(e){return typeof BigInt!="function"?null:BigInt(e.replace(/_/g,""))}function xnn(e,t){let r=new SyntaxError(e+" ("+t.loc.start.line+":"+t.loc.start.column+")");return Object.assign(r,t)}function mnn(e){let t=[];for(let r of e)try{return r()}catch(n){t.push(n)}throw Object.assign(new Error("All combinations failed"),{errors:t})}function ynn(e){return Array.isArray(e)&&e.length>0}function kD(e){var t,r,n;let i=((t=e.range)==null?void 0:t[0])??e.start,s=(n=((r=e.declaration)==null?void 0:r.decorators)??e.decorators)==null?void 0:n[0];return s?Math.min(kD(s),i):i}function HJ(e){var t;return((t=e.range)==null?void 0:t[1])??e.end}function Cnn(e){let t=new Set(e);return r=>t.has(r?.type)}function bnn(e){let t=`*${e.value}*`.split(` +`);return t.length>1&&t.every(r=>r.trimStart()[0]==="*")}function Enn(e){return h8t(e)&&e.value[0]==="*"&&/@(?:type|satisfies)\b/u.test(e.value)}function rhe(e){if(ehe!==null&&typeof ehe.property){let t=ehe;return ehe=rhe.prototype=null,t}return ehe=rhe.prototype=e??Object.create(null),new rhe}function Dnn(e){return rhe(e)}function Snn(e,t="type"){Dnn(e);function r(n){let i=n[t],s=e[i];if(!Array.isArray(s))throw Object.assign(new Error(`Missing visitor keys for '${i}'.`),{node:n});return s}return r}function f8t(e,t){if(!(e!==null&&typeof e=="object"))return e;if(Array.isArray(e)){for(let n=0;n{var R;(R=s.leadingComments)!=null&&R.some(Onn)&&i.add(kD(s))}),e=R8t(e,s=>{if(s.type==="ParenthesizedExpression"){let{expression:R}=s;if(R.type==="TypeCastExpression")return R.range=[...s.range],R;let l=kD(s);if(!i.has(l))return R.extra={...R.extra,parenthesized:!0},R}})}if(e=R8t(e,i=>{switch(i.type){case"LogicalExpression":if(HXt(i))return d8t(i);break;case"VariableDeclaration":{let s=Wqe(!1,i.declarations,-1);s!=null&&s.init&&n[HJ(s)]!==";"&&(i.range=[kD(i),HJ(s)]);break}case"TSParenthesizedType":return i.typeAnnotation;case"TSTypeParameter":if(typeof i.name=="string"){let s=kD(i);i.name={type:"Identifier",name:i.name,range:[s,s+i.name.length]}}break;case"TopicReference":e.extra={...e.extra,__isUsingHackPipeline:!0};break;case"TSUnionType":case"TSIntersectionType":if(i.types.length===1)return i.types[0];break}}),qnn(e.comments)){let i=Wqe(!1,e.comments,-1);for(let s=e.comments.length-2;s>=0;s--){let R=e.comments[s];HJ(R)===kD(i)&&h8t(R)&&h8t(i)&&ZJt(R)&&ZJt(i)&&(e.comments.splice(s+1,1),R.value+="*//*"+i.value,R.range=[kD(R),HJ(i)]),i=R}}return e.type==="Program"&&(e.range=[0,n.length]),e}function HXt(e){return e.type==="LogicalExpression"&&e.right.type==="LogicalExpression"&&e.operator===e.right.operator}function d8t(e){return HXt(e)?d8t({type:"LogicalExpression",operator:e.operator,left:d8t({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:[kD(e.left),HJ(e.right.left)]}),right:e.right.right,range:[kD(e),HJ(e)]}):e}function Hnn(e){let t=e.match(Wnn);return t?t[0].trimStart():""}function Ynn(e){let t=` +`;e=wqe(!1,e.replace(Mnn,"").replace(Inn,""),Lnn,"$1");let r="";for(;r!==e;)r=e,e=wqe(!1,e,Fnn,`${t}$1 $2${t}`);e=e.replace(eXt,"").trimEnd();let n=Object.create(null),i=wqe(!1,e,tXt,"").replace(eXt,"").trimEnd(),s;for(;s=tXt.exec(e);){let R=wqe(!1,s[2],Unn,"");if(typeof n[s[1]]=="string"||Array.isArray(n[s[1]])){let l=n[s[1]];n[s[1]]=[...znn,...Array.isArray(l)?l:[l],R]}else n[s[1]]=R}return{comments:i,pragmas:n}}function Knn(e){if(!e.startsWith("#!"))return"";let t=e.indexOf(` +`);return t===-1?e:e.slice(0,t)}function Vnn(e){let t=Gnn(e);t&&(e=e.slice(t.length+1));let r=Hnn(e),{pragmas:n,comments:i}=Ynn(r);return{shebang:t,text:e,pragmas:n,comments:i}}function jnn(e){let{pragmas:t}=Vnn(e);return Object.prototype.hasOwnProperty.call(t,"prettier")||Object.prototype.hasOwnProperty.call(t,"format")}function Jnn(e){return e=typeof e=="function"?{parse:e}:e,{astFormat:"estree",hasPragma:jnn,locStart:kD,locEnd:HJ,...e}}function Xnn(e){let{filepath:t}=e;if(t){if(t=t.toLowerCase(),t.endsWith(".cjs")||t.endsWith(".cts"))return"script";if(t.endsWith(".mjs")||t.endsWith(".mts"))return"module"}}function ein(e){let{message:t,loc:r}=e;if(!r)return e;let{line:n,column:i}=r;return LXt(t.replace(/ \(\d+:\d+\)$/u,""),{loc:{start:{line:n,column:i+1}},cause:e})}function rin(e,t){let r=tin(),n=[],i=[],s=r.parse(e,{...Znn,sourceType:t,allowImportExportEverywhere:t==="module",onComment:n,onToken:i});return s.comments=n,s.tokens=i,s}function nin(e,t={}){let r=GXt(t),n=(r?[r]:["module","script"]).map(s=>()=>rin(e,s)),i;try{i=zXt(n)}catch({errors:[s]}){throw ein(s)}return YXt(i,{text:e})}function sin(e,t){let r=e[0],n=Wqe(!1,e,-1),i={type:b4.Template,value:t.slice(r.start,n.end)};return r.loc&&(i.loc={start:r.loc.start,end:n.loc.end}),r.range&&(i.start=r.range[0],i.end=n.range[1],i.range=[i.start,i.end]),i}function x8t(e,t){this._acornTokTypes=e,this._tokens=[],this._curlyBrace=null,this._code=t}function Rin(){return Wqe(!1,VXt,-1)}function uin(e=5){let t=e==="latest"?Rin():e;if(typeof t!="number")throw new Error(`ecmaVersion must be a number or "latest". Received value of type ${typeof e} instead.`);if(t>=2015&&(t-=2009),!VXt.includes(t))throw new Error("Invalid ecmaVersion.");return t}function lin(e="script"){if(e==="script"||e==="module")return e;if(e==="commonjs")return"script";throw new Error("Invalid sourceType.")}function cin(e){let t=uin(e.ecmaVersion),r=lin(e.sourceType),n=e.range===!0,i=e.loc===!0;if(t!==3&&e.allowReserved)throw new Error("`allowReserved` is only supported when ecmaVersion is 3");if(typeof e.allowReserved<"u"&&typeof e.allowReserved!="boolean")throw new Error("`allowReserved`, when present, must be `true` or `false`");let s=t===3?e.allowReserved||"never":!1,R=e.ecmaFeatures||{},l=e.sourceType==="commonjs"||!!R.globalReturn;if(r==="module"&&t<6)throw new Error("sourceType 'module' is not supported when ecmaVersion < 2015. Consider adding `{ ecmaVersion: 2015 }` to the parser options.");return Object.assign({},e,{ecmaVersion:t,sourceType:r,ranges:n,locations:i,allowReserved:s,allowReturnOutsideFunction:l})}function Tin(e,t,r,n,i,s,R){let l;e?l="Block":R.slice(r,r+2)==="#!"?l="Hashbang":l="Line";let c={type:l,value:t};return typeof r=="number"&&(c.start=r,c.end=n,c.range=[r,n]),typeof i=="object"&&(c.loc={start:i,end:s}),c}function _in(e,t){let r=pin.get(t);return new r(t,e).parse()}function fin(e){let{message:t,lineNumber:r,column:n}=e;return typeof r!="number"?e:LXt(t,{loc:{start:{line:r,column:n}},cause:e})}function din(e,t={}){let r=GXt(t),n=(r?[r]:["module","script"]).map(s=>()=>_in(e,{...hin,sourceType:s})),i;try{i=zXt(n)}catch({errors:[s]}){throw fin(s)}return YXt(i,{text:e})}var grn,m8t,brn,Ern,Orn,vrn,nXt,Drn,Srn,iXt,$rn,aXt,sXt,Qrn,oXt,Nrn,RXt,a8t,s8t,wrn,Prn,Brn,Irn,tl,X3,IC,k8t,St,tg,Mrn,lXt,Z3,cXt,Wrn,Urn,Bie,GJt,VJt,Frn,nhe,Uqe,T8t,jJt,ihe,Iie,y8t,pXt,_Xt,hXt,q8t,fXt,ahe,C8t,Pqe,g8t,iw,dXt,xXt,mXt,Hd,yD,E4,Hrn,Fqe,mo,b8t,Yrn,Krn,the,p8t,kXt,rg,XE,Cp,Mie,b0,Vrn,Iqe,tW,jrn,Lqe,she,Jrn,CXt,AXt,gXt,bXt,EXt,Xrn,Zrn,enn,tnn,JJt,OXt,vXt,DXt,SXt,$Xt,rnn,nnn,QXt,XJt,Nqe,o8t,js,Mqe,qD,PXt,nw,eg,E8t,iu,FXt,fnn,dnn,LXt,zXt,knn,Wqe,qnn,Ann,gnn,h8t,ZJt,Onn,ehe,vnn,$nn,Qnn,Nnn,wnn,R8t,YXt,Bnn,wqe,Inn,Mnn,Wnn,Unn,eXt,Fnn,tXt,Lnn,znn,Gnn,KXt,GXt,Znn,u8t,tin,iin,ain,b4,oin,VXt,zJ,l8t,rXt,pin,hin,xin,jXt,min,XXt=mp(()=>{grn=Object.create,m8t=Object.defineProperty,brn=Object.getOwnPropertyDescriptor,Ern=Object.getOwnPropertyNames,Orn=Object.getPrototypeOf,vrn=Object.prototype.hasOwnProperty,nXt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Drn=(e,t)=>{for(var r in t)m8t(e,r,{get:t[r],enumerable:!0})},Srn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ern(t))!vrn.call(e,i)&&i!==r&&m8t(e,i,{get:()=>t[i],enumerable:!(n=brn(t,i))||n.enumerable});return e},iXt=(e,t,r)=>(r=e!=null?grn(Orn(e)):{},Srn(t||!e||!e.__esModule?m8t(r,"default",{value:e,enumerable:!0}):r,e)),$rn=nXt((e,t)=>{t.exports={}}),aXt=nXt((e,t)=>{"use strict";var r=$rn(),n=/^[\da-fA-F]+$/,i=/^\d+$/,s=new WeakMap;function R(h){h=h.Parser.acorn||h;let _=s.get(h);if(!_){let f=h.tokTypes,m=h.TokContext,x=h.TokenType,y=new m("...",!0,!0),S={tc_oTag:y,tc_cTag:A,tc_expr:D},P={jsxName:new x("jsxName"),jsxText:new x("jsxText",{beforeExpr:!0}),jsxTagStart:new x("jsxTagStart",{startsExpr:!0}),jsxTagEnd:new x("jsxTagEnd")};P.jsxTagStart.updateContext=function(){this.context.push(D),this.context.push(y),this.exprAllowed=!1},P.jsxTagEnd.updateContext=function(M){let U=this.context.pop();U===y&&M===f.slash||U===A?(this.context.pop(),this.exprAllowed=this.curContext()===D):this.exprAllowed=!0},_={tokContexts:S,tokTypes:P},s.set(h,_)}return _}function l(h){if(!h)return h;if(h.type==="JSXIdentifier")return h.name;if(h.type==="JSXNamespacedName")return h.namespace.name+":"+h.name.name;if(h.type==="JSXMemberExpression")return l(h.object)+"."+l(h.property)}t.exports=function(h){return h=h||{},function(_){return c({allowNamespaces:h.allowNamespaces!==!1,allowNamespacedObjects:!!h.allowNamespacedObjects},_)}},Object.defineProperty(t.exports,"tokTypes",{get:function(){return R(void 0).tokTypes},configurable:!0,enumerable:!0});function c(h,_){let f=_.acorn||void 0,m=R(f),x=f.tokTypes,y=m.tokTypes,A=f.tokContexts,D=m.tokContexts.tc_oTag,S=m.tokContexts.tc_cTag,P=m.tokContexts.tc_expr,M=f.isNewLine,U=f.isIdentifierStart,w=f.isIdentifierChar;return class extends _{static get acornJsx(){return m}jsx_readToken(){let F="",H=this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated JSX contents");let G=this.input.charCodeAt(this.pos);switch(G){case 60:case 123:return this.pos===this.start?G===60&&this.exprAllowed?(++this.pos,this.finishToken(y.jsxTagStart)):this.getTokenFromCode(G):(F+=this.input.slice(H,this.pos),this.finishToken(y.jsxText,F));case 38:F+=this.input.slice(H,this.pos),F+=this.jsx_readEntity(),H=this.pos;break;case 62:case 125:this.raise(this.pos,"Unexpected token `"+this.input[this.pos]+"`. Did you mean `"+(G===62?">":"}")+'` or `{"'+this.input[this.pos]+'"}`?');default:M(G)?(F+=this.input.slice(H,this.pos),F+=this.jsx_readNewLine(!0),H=this.pos):++this.pos}}}jsx_readNewLine(F){let H=this.input.charCodeAt(this.pos),G;return++this.pos,H===13&&this.input.charCodeAt(this.pos)===10?(++this.pos,G=F?` +`:`\r +`):G=String.fromCharCode(H),this.options.locations&&(++this.curLine,this.lineStart=this.pos),G}jsx_readString(F){let H="",G=++this.pos;for(;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");let ee=this.input.charCodeAt(this.pos);if(ee===F)break;ee===38?(H+=this.input.slice(G,this.pos),H+=this.jsx_readEntity(),G=this.pos):M(ee)?(H+=this.input.slice(G,this.pos),H+=this.jsx_readNewLine(!1),G=this.pos):++this.pos}return H+=this.input.slice(G,this.pos++),this.finishToken(x.string,H)}jsx_readEntity(){let F="",H=0,G,ee=this.input[this.pos];ee!=="&"&&this.raise(this.pos,"Entity must start with an ampersand");let fe=++this.pos;for(;this.pos")}let ve=fe.name?"Element":"Fragment";return G["opening"+ve]=fe,G["closing"+ve]=me,G.children=ee,this.type===x.relational&&this.value==="<"&&this.raise(this.start,"Adjacent JSX elements must be wrapped in an enclosing tag"),this.finishNode(G,"JSX"+ve)}jsx_parseText(){let F=this.parseLiteral(this.value);return F.type="JSXText",F}jsx_parseElement(){let F=this.start,H=this.startLoc;return this.next(),this.jsx_parseElementAt(F,H)}parseExprAtom(F){return this.type===y.jsxText?this.jsx_parseText():this.type===y.jsxTagStart?this.jsx_parseElement():super.parseExprAtom(F)}readToken(F){let H=this.curContext();if(H===P)return this.jsx_readToken();if(H===D||H===S){if(U(F))return this.jsx_readWord();if(F==62)return++this.pos,this.finishToken(y.jsxTagEnd);if((F===34||F===39)&&H==D)return this.jsx_readString(F)}return F===60&&this.exprAllowed&&this.input.charCodeAt(this.pos+1)!==33?(++this.pos,this.finishToken(y.jsxTagStart)):super.readToken(F)}updateContext(F){if(this.type==x.braceL){var H=this.curContext();H==D?this.context.push(A.b_expr):H==P?this.context.push(A.b_tmpl):super.updateContext(F),this.exprAllowed=!0}else if(this.type===x.slash&&F===y.jsxTagStart)this.context.length-=2,this.context.push(S),this.exprAllowed=!1;else return super.updateContext(F)}}}}),sXt={};Drn(sXt,{parsers:()=>jXt});Qrn=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239],oXt=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],Nrn="\u200C\u200D\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65",RXt="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",a8t={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},s8t="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",wrn={5:s8t,"5module":s8t+" export import",6:s8t+" const class extends export import super"},Prn=/^in(stanceof)?$/,Brn=new RegExp("["+RXt+"]"),Irn=new RegExp("["+RXt+Nrn+"]");tl=function(e,t){t===void 0&&(t={}),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=t.binop||null,this.updateContext=null};X3={beforeExpr:!0},IC={startsExpr:!0},k8t={};St={num:new tl("num",IC),regexp:new tl("regexp",IC),string:new tl("string",IC),name:new tl("name",IC),privateId:new tl("privateId",IC),eof:new tl("eof"),bracketL:new tl("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new tl("]"),braceL:new tl("{",{beforeExpr:!0,startsExpr:!0}),braceR:new tl("}"),parenL:new tl("(",{beforeExpr:!0,startsExpr:!0}),parenR:new tl(")"),comma:new tl(",",X3),semi:new tl(";",X3),colon:new tl(":",X3),dot:new tl("."),question:new tl("?",X3),questionDot:new tl("?."),arrow:new tl("=>",X3),template:new tl("template"),invalidTemplate:new tl("invalidTemplate"),ellipsis:new tl("...",X3),backQuote:new tl("`",IC),dollarBraceL:new tl("${",{beforeExpr:!0,startsExpr:!0}),eq:new tl("=",{beforeExpr:!0,isAssign:!0}),assign:new tl("_=",{beforeExpr:!0,isAssign:!0}),incDec:new tl("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new tl("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:J3("||",1),logicalAND:J3("&&",2),bitwiseOR:J3("|",3),bitwiseXOR:J3("^",4),bitwiseAND:J3("&",5),equality:J3("==/!=/===/!==",6),relational:J3("/<=/>=",7),bitShift:J3("<>/>>>",8),plusMin:new tl("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:J3("%",10),star:J3("*",10),slash:J3("/",10),starstar:new tl("**",{beforeExpr:!0}),coalesce:J3("??",1),_break:yu("break"),_case:yu("case",X3),_catch:yu("catch"),_continue:yu("continue"),_debugger:yu("debugger"),_default:yu("default",X3),_do:yu("do",{isLoop:!0,beforeExpr:!0}),_else:yu("else",X3),_finally:yu("finally"),_for:yu("for",{isLoop:!0}),_function:yu("function",IC),_if:yu("if"),_return:yu("return",X3),_switch:yu("switch"),_throw:yu("throw",X3),_try:yu("try"),_var:yu("var"),_const:yu("const"),_while:yu("while",{isLoop:!0}),_with:yu("with"),_new:yu("new",{beforeExpr:!0,startsExpr:!0}),_this:yu("this",IC),_super:yu("super",IC),_class:yu("class",IC),_extends:yu("extends",X3),_export:yu("export"),_import:yu("import",IC),_null:yu("null",IC),_true:yu("true",IC),_false:yu("false",IC),_in:yu("in",{beforeExpr:!0,binop:7}),_instanceof:yu("instanceof",{beforeExpr:!0,binop:7}),_typeof:yu("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:yu("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:yu("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},tg=/\r\n?|\n|\u2028|\u2029/,Mrn=new RegExp(tg.source,"g");lXt=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,Z3=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,cXt=Object.prototype,Wrn=cXt.hasOwnProperty,Urn=cXt.toString,Bie=Object.hasOwn||function(e,t){return Wrn.call(e,t)},GJt=Array.isArray||function(e){return Urn.call(e)==="[object Array]"},VJt=Object.create(null);Frn=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,nhe=function(e,t){this.line=e,this.column=t};nhe.prototype.offset=function(e){return new nhe(this.line,this.column+e)};Uqe=function(e,t,r){this.start=t,this.end=r,e.sourceFile!==null&&(this.source=e.sourceFile)};T8t={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},jJt=!1;ihe=1,Iie=2,y8t=4,pXt=8,_Xt=16,hXt=32,q8t=64,fXt=128,ahe=256,C8t=ihe|Iie|ahe;Pqe=0,g8t=1,iw=2,dXt=3,xXt=4,mXt=5,Hd=function(e,t,r){this.options=e=Lrn(e),this.sourceFile=e.sourceFile,this.keywords=eW(wrn[e.ecmaVersion>=6?6:e.sourceType==="module"?"5module":5]);var n="";e.allowReserved!==!0&&(n=a8t[e.ecmaVersion>=6?6:e.ecmaVersion===5?5:3],e.sourceType==="module"&&(n+=" await")),this.reservedWords=eW(n);var i=(n?n+" ":"")+a8t.strict;this.reservedWordsStrict=eW(i),this.reservedWordsStrictBind=eW(i+" "+a8t.strictBind),this.input=String(t),this.containsEsc=!1,r?(this.pos=r,this.lineStart=this.input.lastIndexOf(` +`,r-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(tg).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=St.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule=e.sourceType==="module",this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),this.pos===0&&e.allowHashBang&&this.input.slice(0,2)==="#!"&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(ihe),this.regexpState=null,this.privateNameStack=[]},yD={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};Hd.prototype.parse=function(){var e=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(e)};yD.inFunction.get=function(){return(this.currentVarScope().flags&Iie)>0};yD.inGenerator.get=function(){return(this.currentVarScope().flags&pXt)>0&&!this.currentVarScope().inClassFieldInit};yD.inAsync.get=function(){return(this.currentVarScope().flags&y8t)>0&&!this.currentVarScope().inClassFieldInit};yD.canAwait.get=function(){for(var e=this.scopeStack.length-1;e>=0;e--){var t=this.scopeStack[e];if(t.inClassFieldInit||t.flags&ahe)return!1;if(t.flags&Iie)return(t.flags&y8t)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction};yD.allowSuper.get=function(){var e=this.currentThisScope(),t=e.flags,r=e.inClassFieldInit;return(t&q8t)>0||r||this.options.allowSuperOutsideMethod};yD.allowDirectSuper.get=function(){return(this.currentThisScope().flags&fXt)>0};yD.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())};yD.allowNewDotTarget.get=function(){var e=this.currentThisScope(),t=e.flags,r=e.inClassFieldInit;return(t&(Iie|ahe))>0||r};yD.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&ahe)>0};Hd.extend=function(){for(var e=[],t=arguments.length;t--;)e[t]=arguments[t];for(var r=this,n=0;n=,?^&]/.test(i)||i==="!"&&this.input.charAt(n+1)==="=")}e+=t[0].length,Z3.lastIndex=e,e+=Z3.exec(this.input)[0].length,this.input[e]===";"&&e++}};E4.eat=function(e){return this.type===e?(this.next(),!0):!1};E4.isContextual=function(e){return this.type===St.name&&this.value===e&&!this.containsEsc};E4.eatContextual=function(e){return this.isContextual(e)?(this.next(),!0):!1};E4.expectContextual=function(e){this.eatContextual(e)||this.unexpected()};E4.canInsertSemicolon=function(){return this.type===St.eof||this.type===St.braceR||tg.test(this.input.slice(this.lastTokEnd,this.start))};E4.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0};E4.semicolon=function(){!this.eat(St.semi)&&!this.insertSemicolon()&&this.unexpected()};E4.afterTrailingComma=function(e,t){if(this.type===e)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),t||this.next(),!0};E4.expect=function(e){this.eat(e)||this.unexpected()};E4.unexpected=function(e){this.raise(e??this.start,"Unexpected token")};Fqe=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};E4.checkPatternErrors=function(e,t){if(e){e.trailingComma>-1&&this.raiseRecoverable(e.trailingComma,"Comma is not permitted after the rest element");var r=t?e.parenthesizedAssign:e.parenthesizedBind;r>-1&&this.raiseRecoverable(r,t?"Assigning to rvalue":"Parenthesized pattern")}};E4.checkExpressionErrors=function(e,t){if(!e)return!1;var r=e.shorthandAssign,n=e.doubleProto;if(!t)return r>=0||n>=0;r>=0&&this.raise(r,"Shorthand property assignments are valid only in destructuring patterns"),n>=0&&this.raiseRecoverable(n,"Redefinition of __proto__ property")};E4.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos55295&&n<56320)return!0;if(tw(n,!0)){for(var i=r+1;wie(n=this.input.charCodeAt(i),!0);)++i;if(n===92||n>55295&&n<56320)return!0;var s=this.input.slice(r,i);if(!Prn.test(s))return!0}return!1};mo.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;Z3.lastIndex=this.pos;var e=Z3.exec(this.input),t=this.pos+e[0].length,r;return!tg.test(this.input.slice(this.pos,t))&&this.input.slice(t,t+8)==="function"&&(t+8===this.input.length||!(wie(r=this.input.charCodeAt(t+8))||r>55295&&r<56320))};mo.parseStatement=function(e,t,r){var n=this.type,i=this.startNode(),s;switch(this.isLet(e)&&(n=St._var,s="let"),n){case St._break:case St._continue:return this.parseBreakContinueStatement(i,n.keyword);case St._debugger:return this.parseDebuggerStatement(i);case St._do:return this.parseDoStatement(i);case St._for:return this.parseForStatement(i);case St._function:return e&&(this.strict||e!=="if"&&e!=="label")&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(i,!1,!e);case St._class:return e&&this.unexpected(),this.parseClass(i,!0);case St._if:return this.parseIfStatement(i);case St._return:return this.parseReturnStatement(i);case St._switch:return this.parseSwitchStatement(i);case St._throw:return this.parseThrowStatement(i);case St._try:return this.parseTryStatement(i);case St._const:case St._var:return s=s||this.value,e&&s!=="var"&&this.unexpected(),this.parseVarStatement(i,s);case St._while:return this.parseWhileStatement(i);case St._with:return this.parseWithStatement(i);case St.braceL:return this.parseBlock(!0,i);case St.semi:return this.parseEmptyStatement(i);case St._export:case St._import:if(this.options.ecmaVersion>10&&n===St._import){Z3.lastIndex=this.pos;var R=Z3.exec(this.input),l=this.pos+R[0].length,c=this.input.charCodeAt(l);if(c===40||c===46)return this.parseExpressionStatement(i,this.parseExpression())}return this.options.allowImportExportEverywhere||(t||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),n===St._import?this.parseImport(i):this.parseExport(i,r);default:if(this.isAsyncFunction())return e&&this.unexpected(),this.next(),this.parseFunctionStatement(i,!0,!e);var h=this.value,_=this.parseExpression();return n===St.name&&_.type==="Identifier"&&this.eat(St.colon)?this.parseLabeledStatement(i,h,_,e):this.parseExpressionStatement(i,_)}};mo.parseBreakContinueStatement=function(e,t){var r=t==="break";this.next(),this.eat(St.semi)||this.insertSemicolon()?e.label=null:this.type!==St.name?this.unexpected():(e.label=this.parseIdent(),this.semicolon());for(var n=0;n=6?this.eat(St.semi):this.semicolon(),this.finishNode(e,"DoWhileStatement")};mo.parseForStatement=function(e){this.next();var t=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(b8t),this.enterScope(0),this.expect(St.parenL),this.type===St.semi)return t>-1&&this.unexpected(t),this.parseFor(e,null);var r=this.isLet();if(this.type===St._var||this.type===St._const||r){var n=this.startNode(),i=r?"let":this.value;return this.next(),this.parseVar(n,!0,i),this.finishNode(n,"VariableDeclaration"),(this.type===St._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&n.declarations.length===1?(this.options.ecmaVersion>=9&&(this.type===St._in?t>-1&&this.unexpected(t):e.await=t>-1),this.parseForIn(e,n)):(t>-1&&this.unexpected(t),this.parseFor(e,n))}var s=this.isContextual("let"),R=!1,l=this.containsEsc,c=new Fqe,h=this.start,_=t>-1?this.parseExprSubscripts(c,"await"):this.parseExpression(!0,c);return this.type===St._in||(R=this.options.ecmaVersion>=6&&this.isContextual("of"))?(t>-1?(this.type===St._in&&this.unexpected(t),e.await=!0):R&&this.options.ecmaVersion>=8&&(_.start===h&&!l&&_.type==="Identifier"&&_.name==="async"?this.unexpected():this.options.ecmaVersion>=9&&(e.await=!1)),s&&R&&this.raise(_.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(_,!1,c),this.checkLValPattern(_),this.parseForIn(e,_)):(this.checkExpressionErrors(c,!0),t>-1&&this.unexpected(t),this.parseFor(e,_))};mo.parseFunctionStatement=function(e,t,r){return this.next(),this.parseFunction(e,the|(r?0:p8t),!1,t)};mo.parseIfStatement=function(e){return this.next(),e.test=this.parseParenExpression(),e.consequent=this.parseStatement("if"),e.alternate=this.eat(St._else)?this.parseStatement("if"):null,this.finishNode(e,"IfStatement")};mo.parseReturnStatement=function(e){return!this.inFunction&&!this.options.allowReturnOutsideFunction&&this.raise(this.start,"'return' outside of function"),this.next(),this.eat(St.semi)||this.insertSemicolon()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")};mo.parseSwitchStatement=function(e){this.next(),e.discriminant=this.parseParenExpression(),e.cases=[],this.expect(St.braceL),this.labels.push(Yrn),this.enterScope(0);for(var t,r=!1;this.type!==St.braceR;)if(this.type===St._case||this.type===St._default){var n=this.type===St._case;t&&this.finishNode(t,"SwitchCase"),e.cases.push(t=this.startNode()),t.consequent=[],this.next(),n?t.test=this.parseExpression():(r&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),r=!0,t.test=null),this.expect(St.colon)}else t||this.unexpected(),t.consequent.push(this.parseStatement(null));return this.exitScope(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(e,"SwitchStatement")};mo.parseThrowStatement=function(e){return this.next(),tg.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")};Krn=[];mo.parseCatchClauseParam=function(){var e=this.parseBindingAtom(),t=e.type==="Identifier";return this.enterScope(t?hXt:0),this.checkLValPattern(e,t?xXt:iw),this.expect(St.parenR),e};mo.parseTryStatement=function(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.type===St._catch){var t=this.startNode();this.next(),this.eat(St.parenL)?t.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),t.param=null,this.enterScope(0)),t.body=this.parseBlock(!1),this.exitScope(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(St._finally)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(e.start,"Missing catch or finally clause"),this.finishNode(e,"TryStatement")};mo.parseVarStatement=function(e,t,r){return this.next(),this.parseVar(e,!1,t,r),this.semicolon(),this.finishNode(e,"VariableDeclaration")};mo.parseWhileStatement=function(e){return this.next(),e.test=this.parseParenExpression(),this.labels.push(b8t),e.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(e,"WhileStatement")};mo.parseWithStatement=function(e){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),e.object=this.parseParenExpression(),e.body=this.parseStatement("with"),this.finishNode(e,"WithStatement")};mo.parseEmptyStatement=function(e){return this.next(),this.finishNode(e,"EmptyStatement")};mo.parseLabeledStatement=function(e,t,r,n){for(var i=0,s=this.labels;i=0;c--){var h=this.labels[c];if(h.statementStart===e.start)h.statementStart=this.start,h.kind=l;else break}return this.labels.push({name:t,kind:l,statementStart:this.start}),e.body=this.parseStatement(n?n.indexOf("label")===-1?n+"label":n:"label"),this.labels.pop(),e.label=r,this.finishNode(e,"LabeledStatement")};mo.parseExpressionStatement=function(e,t){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")};mo.parseBlock=function(e,t,r){for(e===void 0&&(e=!0),t===void 0&&(t=this.startNode()),t.body=[],this.expect(St.braceL),e&&this.enterScope(0);this.type!==St.braceR;){var n=this.parseStatement(null);t.body.push(n)}return r&&(this.strict=!1),this.next(),e&&this.exitScope(),this.finishNode(t,"BlockStatement")};mo.parseFor=function(e,t){return e.init=t,this.expect(St.semi),e.test=this.type===St.semi?null:this.parseExpression(),this.expect(St.semi),e.update=this.type===St.parenR?null:this.parseExpression(),this.expect(St.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,"ForStatement")};mo.parseForIn=function(e,t){var r=this.type===St._in;return this.next(),t.type==="VariableDeclaration"&&t.declarations[0].init!=null&&(!r||this.options.ecmaVersion<8||this.strict||t.kind!=="var"||t.declarations[0].id.type!=="Identifier")&&this.raise(t.start,(r?"for-in":"for-of")+" loop variable declaration may not have an initializer"),e.left=t,e.right=r?this.parseExpression():this.parseMaybeAssign(),this.expect(St.parenR),e.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(e,r?"ForInStatement":"ForOfStatement")};mo.parseVar=function(e,t,r,n){for(e.declarations=[],e.kind=r;;){var i=this.startNode();if(this.parseVarId(i,r),this.eat(St.eq)?i.init=this.parseMaybeAssign(t):!n&&r==="const"&&!(this.type===St._in||this.options.ecmaVersion>=6&&this.isContextual("of"))?this.unexpected():!n&&i.id.type!=="Identifier"&&!(t&&(this.type===St._in||this.isContextual("of")))?this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):i.init=null,e.declarations.push(this.finishNode(i,"VariableDeclarator")),!this.eat(St.comma))break}return e};mo.parseVarId=function(e,t){e.id=this.parseBindingAtom(),this.checkLValPattern(e.id,t==="var"?g8t:iw,!1)};the=1,p8t=2,kXt=4;mo.parseFunction=function(e,t,r,n,i){this.initFunction(e),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!n)&&(this.type===St.star&&t&p8t&&this.unexpected(),e.generator=this.eat(St.star)),this.options.ecmaVersion>=8&&(e.async=!!n),t&the&&(e.id=t&kXt&&this.type!==St.name?null:this.parseIdent(),e.id&&!(t&p8t)&&this.checkLValSimple(e.id,this.strict||e.generator||e.async?this.treatFunctionsAsVar?g8t:iw:dXt));var s=this.yieldPos,R=this.awaitPos,l=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(A8t(e.async,e.generator)),t&the||(e.id=this.type===St.name?this.parseIdent():null),this.parseFunctionParams(e),this.parseFunctionBody(e,r,!1,i),this.yieldPos=s,this.awaitPos=R,this.awaitIdentPos=l,this.finishNode(e,t&the?"FunctionDeclaration":"FunctionExpression")};mo.parseFunctionParams=function(e){this.expect(St.parenL),e.params=this.parseBindingList(St.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()};mo.parseClass=function(e,t){this.next();var r=this.strict;this.strict=!0,this.parseClassId(e,t),this.parseClassSuper(e);var n=this.enterClassBody(),i=this.startNode(),s=!1;for(i.body=[],this.expect(St.braceL);this.type!==St.braceR;){var R=this.parseClassElement(e.superClass!==null);R&&(i.body.push(R),R.type==="MethodDefinition"&&R.kind==="constructor"?(s&&this.raiseRecoverable(R.start,"Duplicate constructor in the same class"),s=!0):R.key&&R.key.type==="PrivateIdentifier"&&Grn(n,R)&&this.raiseRecoverable(R.key.start,"Identifier '#"+R.key.name+"' has already been declared"))}return this.strict=r,this.next(),e.body=this.finishNode(i,"ClassBody"),this.exitClassBody(),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")};mo.parseClassElement=function(e){if(this.eat(St.semi))return null;var t=this.options.ecmaVersion,r=this.startNode(),n="",i=!1,s=!1,R="method",l=!1;if(this.eatContextual("static")){if(t>=13&&this.eat(St.braceL))return this.parseClassStaticBlock(r),r;this.isClassElementNameStart()||this.type===St.star?l=!0:n="static"}if(r.static=l,!n&&t>=8&&this.eatContextual("async")&&((this.isClassElementNameStart()||this.type===St.star)&&!this.canInsertSemicolon()?s=!0:n="async"),!n&&(t>=9||!s)&&this.eat(St.star)&&(i=!0),!n&&!s&&!i){var c=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?R=c:n=c)}if(n?(r.computed=!1,r.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),r.key.name=n,this.finishNode(r.key,"Identifier")):this.parseClassElementName(r),t<13||this.type===St.parenL||R!=="method"||i||s){var h=!r.static&&Bqe(r,"constructor"),_=h&&e;h&&R!=="method"&&this.raise(r.key.start,"Constructor can't have get/set modifier"),r.kind=h?"constructor":R,this.parseClassMethod(r,i,s,_)}else this.parseClassField(r);return r};mo.isClassElementNameStart=function(){return this.type===St.name||this.type===St.privateId||this.type===St.num||this.type===St.string||this.type===St.bracketL||this.type.keyword};mo.parseClassElementName=function(e){this.type===St.privateId?(this.value==="constructor"&&this.raise(this.start,"Classes can't have an element named '#constructor'"),e.computed=!1,e.key=this.parsePrivateIdent()):this.parsePropertyName(e)};mo.parseClassMethod=function(e,t,r,n){var i=e.key;e.kind==="constructor"?(t&&this.raise(i.start,"Constructor can't be a generator"),r&&this.raise(i.start,"Constructor can't be an async method")):e.static&&Bqe(e,"prototype")&&this.raise(i.start,"Classes may not have a static property named prototype");var s=e.value=this.parseMethod(t,r,n);return e.kind==="get"&&s.params.length!==0&&this.raiseRecoverable(s.start,"getter should have no params"),e.kind==="set"&&s.params.length!==1&&this.raiseRecoverable(s.start,"setter should have exactly one param"),e.kind==="set"&&s.params[0].type==="RestElement"&&this.raiseRecoverable(s.params[0].start,"Setter cannot use rest params"),this.finishNode(e,"MethodDefinition")};mo.parseClassField=function(e){if(Bqe(e,"constructor")?this.raise(e.key.start,"Classes can't have a field named 'constructor'"):e.static&&Bqe(e,"prototype")&&this.raise(e.key.start,"Classes can't have a static field named 'prototype'"),this.eat(St.eq)){var t=this.currentThisScope(),r=t.inClassFieldInit;t.inClassFieldInit=!0,e.value=this.parseMaybeAssign(),t.inClassFieldInit=r}else e.value=null;return this.semicolon(),this.finishNode(e,"PropertyDefinition")};mo.parseClassStaticBlock=function(e){e.body=[];var t=this.labels;for(this.labels=[],this.enterScope(ahe|q8t);this.type!==St.braceR;){var r=this.parseStatement(null);e.body.push(r)}return this.next(),this.exitScope(),this.labels=t,this.finishNode(e,"StaticBlock")};mo.parseClassId=function(e,t){this.type===St.name?(e.id=this.parseIdent(),t&&this.checkLValSimple(e.id,iw,!1)):(t===!0&&this.unexpected(),e.id=null)};mo.parseClassSuper=function(e){e.superClass=this.eat(St._extends)?this.parseExprSubscripts(null,!1):null};mo.enterClassBody=function(){var e={declared:Object.create(null),used:[]};return this.privateNameStack.push(e),e.declared};mo.exitClassBody=function(){var e=this.privateNameStack.pop(),t=e.declared,r=e.used;if(this.options.checkPrivateFields)for(var n=this.privateNameStack.length,i=n===0?null:this.privateNameStack[n-1],s=0;s=11&&(this.eatContextual("as")?(e.exported=this.parseModuleExportName(),this.checkExport(t,e.exported,this.lastTokStart)):e.exported=null),this.expectContextual("from"),this.type!==St.string&&this.unexpected(),e.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(e,"ExportAllDeclaration")};mo.parseExport=function(e,t){if(this.next(),this.eat(St.star))return this.parseExportAllDeclaration(e,t);if(this.eat(St._default))return this.checkExport(t,"default",this.lastTokStart),e.declaration=this.parseExportDefaultDeclaration(),this.finishNode(e,"ExportDefaultDeclaration");if(this.shouldParseExportStatement())e.declaration=this.parseExportDeclaration(e),e.declaration.type==="VariableDeclaration"?this.checkVariableExport(t,e.declaration.declarations):this.checkExport(t,e.declaration.id,e.declaration.id.start),e.specifiers=[],e.source=null;else{if(e.declaration=null,e.specifiers=this.parseExportSpecifiers(t),this.eatContextual("from"))this.type!==St.string&&this.unexpected(),e.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(e.attributes=this.parseWithClause());else{for(var r=0,n=e.specifiers;r=16&&(e.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(e,"ImportDeclaration")};mo.parseImportSpecifier=function(){var e=this.startNode();return e.imported=this.parseModuleExportName(),this.eatContextual("as")?e.local=this.parseIdent():(this.checkUnreserved(e.imported),e.local=e.imported),this.checkLValSimple(e.local,iw),this.finishNode(e,"ImportSpecifier")};mo.parseImportDefaultSpecifier=function(){var e=this.startNode();return e.local=this.parseIdent(),this.checkLValSimple(e.local,iw),this.finishNode(e,"ImportDefaultSpecifier")};mo.parseImportNamespaceSpecifier=function(){var e=this.startNode();return this.next(),this.expectContextual("as"),e.local=this.parseIdent(),this.checkLValSimple(e.local,iw),this.finishNode(e,"ImportNamespaceSpecifier")};mo.parseImportSpecifiers=function(){var e=[],t=!0;if(this.type===St.name&&(e.push(this.parseImportDefaultSpecifier()),!this.eat(St.comma)))return e;if(this.type===St.star)return e.push(this.parseImportNamespaceSpecifier()),e;for(this.expect(St.braceL);!this.eat(St.braceR);){if(t)t=!1;else if(this.expect(St.comma),this.afterTrailingComma(St.braceR))break;e.push(this.parseImportSpecifier())}return e};mo.parseWithClause=function(){var e=[];if(!this.eat(St._with))return e;this.expect(St.braceL);for(var t={},r=!0;!this.eat(St.braceR);){if(r)r=!1;else if(this.expect(St.comma),this.afterTrailingComma(St.braceR))break;var n=this.parseImportAttribute(),i=n.key.type==="Identifier"?n.key.name:n.key.value;Bie(t,i)&&this.raiseRecoverable(n.key.start,"Duplicate attribute key '"+i+"'"),t[i]=!0,e.push(n)}return e};mo.parseImportAttribute=function(){var e=this.startNode();return e.key=this.type===St.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never"),this.expect(St.colon),this.type!==St.string&&this.unexpected(),e.value=this.parseExprAtom(),this.finishNode(e,"ImportAttribute")};mo.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===St.string){var e=this.parseLiteral(this.value);return Frn.test(e.value)&&this.raise(e.start,"An export name cannot include a lone surrogate."),e}return this.parseIdent(!0)};mo.adaptDirectivePrologue=function(e){for(var t=0;t=5&&e.type==="ExpressionStatement"&&e.expression.type==="Literal"&&typeof e.expression.value=="string"&&(this.input[e.start]==='"'||this.input[e.start]==="'")};rg=Hd.prototype;rg.toAssignable=function(e,t,r){if(this.options.ecmaVersion>=6&&e)switch(e.type){case"Identifier":this.inAsync&&e.name==="await"&&this.raise(e.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":e.type="ObjectPattern",r&&this.checkPatternErrors(r,!0);for(var n=0,i=e.properties;n=8&&!l&&c.name==="async"&&!this.canInsertSemicolon()&&this.eat(St._function))return this.overrideContext(Cp.f_expr),this.parseFunction(this.startNodeAt(s,R),0,!1,!0,t);if(i&&!this.canInsertSemicolon()){if(this.eat(St.arrow))return this.parseArrowExpression(this.startNodeAt(s,R),[c],!1,t);if(this.options.ecmaVersion>=8&&c.name==="async"&&this.type===St.name&&!l&&(!this.potentialArrowInForAwait||this.value!=="of"||this.containsEsc))return c=this.parseIdent(!1),(this.canInsertSemicolon()||!this.eat(St.arrow))&&this.unexpected(),this.parseArrowExpression(this.startNodeAt(s,R),[c],!0,t)}return c;case St.regexp:var h=this.value;return n=this.parseLiteral(h.value),n.regex={pattern:h.pattern,flags:h.flags},n;case St.num:case St.string:return this.parseLiteral(this.value);case St._null:case St._true:case St._false:return n=this.startNode(),n.value=this.type===St._null?null:this.type===St._true,n.raw=this.type.keyword,this.next(),this.finishNode(n,"Literal");case St.parenL:var _=this.start,f=this.parseParenAndDistinguishExpression(i,t);return e&&(e.parenthesizedAssign<0&&!this.isSimpleAssignTarget(f)&&(e.parenthesizedAssign=_),e.parenthesizedBind<0&&(e.parenthesizedBind=_)),f;case St.bracketL:return n=this.startNode(),this.next(),n.elements=this.parseExprList(St.bracketR,!0,!0,e),this.finishNode(n,"ArrayExpression");case St.braceL:return this.overrideContext(Cp.b_expr),this.parseObj(!1,e);case St._function:return n=this.startNode(),this.next(),this.parseFunction(n,0);case St._class:return this.parseClass(this.startNode(),!1);case St._new:return this.parseNew();case St.backQuote:return this.parseTemplate();case St._import:return this.options.ecmaVersion>=11?this.parseExprImport(r):this.unexpected();default:return this.parseExprAtomDefault()}};b0.parseExprAtomDefault=function(){this.unexpected()};b0.parseExprImport=function(e){var t=this.startNode();if(this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import"),this.next(),this.type===St.parenL&&!e)return this.parseDynamicImport(t);if(this.type===St.dot){var r=this.startNodeAt(t.start,t.loc&&t.loc.start);return r.name="import",t.meta=this.finishNode(r,"Identifier"),this.parseImportMeta(t)}else this.unexpected()};b0.parseDynamicImport=function(e){if(this.next(),e.source=this.parseMaybeAssign(),this.options.ecmaVersion>=16)this.eat(St.parenR)?e.options=null:(this.expect(St.comma),this.afterTrailingComma(St.parenR)?e.options=null:(e.options=this.parseMaybeAssign(),this.eat(St.parenR)||(this.expect(St.comma),this.afterTrailingComma(St.parenR)||this.unexpected())));else if(!this.eat(St.parenR)){var t=this.start;this.eat(St.comma)&&this.eat(St.parenR)?this.raiseRecoverable(t,"Trailing comma is not allowed in import()"):this.unexpected(t)}return this.finishNode(e,"ImportExpression")};b0.parseImportMeta=function(e){this.next();var t=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="meta"&&this.raiseRecoverable(e.property.start,"The only valid meta property for import is 'import.meta'"),t&&this.raiseRecoverable(e.start,"'import.meta' must not contain escaped characters"),this.options.sourceType!=="module"&&!this.options.allowImportExportEverywhere&&this.raiseRecoverable(e.start,"Cannot use 'import.meta' outside a module"),this.finishNode(e,"MetaProperty")};b0.parseLiteral=function(e){var t=this.startNode();return t.value=e,t.raw=this.input.slice(this.start,this.end),t.raw.charCodeAt(t.raw.length-1)===110&&(t.bigint=t.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(t,"Literal")};b0.parseParenExpression=function(){this.expect(St.parenL);var e=this.parseExpression();return this.expect(St.parenR),e};b0.shouldParseArrow=function(e){return!this.canInsertSemicolon()};b0.parseParenAndDistinguishExpression=function(e,t){var r=this.start,n=this.startLoc,i,s=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var R=this.start,l=this.startLoc,c=[],h=!0,_=!1,f=new Fqe,m=this.yieldPos,x=this.awaitPos,y;for(this.yieldPos=0,this.awaitPos=0;this.type!==St.parenR;)if(h?h=!1:this.expect(St.comma),s&&this.afterTrailingComma(St.parenR,!0)){_=!0;break}else if(this.type===St.ellipsis){y=this.start,c.push(this.parseParenItem(this.parseRestBinding())),this.type===St.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element");break}else c.push(this.parseMaybeAssign(!1,f,this.parseParenItem));var A=this.lastTokEnd,D=this.lastTokEndLoc;if(this.expect(St.parenR),e&&this.shouldParseArrow(c)&&this.eat(St.arrow))return this.checkPatternErrors(f,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=m,this.awaitPos=x,this.parseParenArrowList(r,n,c,t);(!c.length||_)&&this.unexpected(this.lastTokStart),y&&this.unexpected(y),this.checkExpressionErrors(f,!0),this.yieldPos=m||this.yieldPos,this.awaitPos=x||this.awaitPos,c.length>1?(i=this.startNodeAt(R,l),i.expressions=c,this.finishNodeAt(i,"SequenceExpression",A,D)):i=c[0]}else i=this.parseParenExpression();if(this.options.preserveParens){var S=this.startNodeAt(r,n);return S.expression=i,this.finishNode(S,"ParenthesizedExpression")}else return i};b0.parseParenItem=function(e){return e};b0.parseParenArrowList=function(e,t,r,n){return this.parseArrowExpression(this.startNodeAt(e,t),r,!1,n)};Vrn=[];b0.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var e=this.startNode();if(this.next(),this.options.ecmaVersion>=6&&this.type===St.dot){var t=this.startNodeAt(e.start,e.loc&&e.loc.start);t.name="new",e.meta=this.finishNode(t,"Identifier"),this.next();var r=this.containsEsc;return e.property=this.parseIdent(!0),e.property.name!=="target"&&this.raiseRecoverable(e.property.start,"The only valid meta property for new is 'new.target'"),r&&this.raiseRecoverable(e.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(e.start,"'new.target' can only be used in functions and class static block"),this.finishNode(e,"MetaProperty")}var n=this.start,i=this.startLoc;return e.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),n,i,!0,!1),this.eat(St.parenL)?e.arguments=this.parseExprList(St.parenR,this.options.ecmaVersion>=8,!1):e.arguments=Vrn,this.finishNode(e,"NewExpression")};b0.parseTemplateElement=function(e){var t=e.isTagged,r=this.startNode();return this.type===St.invalidTemplate?(t||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),r.value={raw:this.value.replace(/\r\n?/g,` +`),cooked:null}):r.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,` +`),cooked:this.value},this.next(),r.tail=this.type===St.backQuote,this.finishNode(r,"TemplateElement")};b0.parseTemplate=function(e){e===void 0&&(e={});var t=e.isTagged;t===void 0&&(t=!1);var r=this.startNode();this.next(),r.expressions=[];var n=this.parseTemplateElement({isTagged:t});for(r.quasis=[n];!n.tail;)this.type===St.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(St.dollarBraceL),r.expressions.push(this.parseExpression()),this.expect(St.braceR),r.quasis.push(n=this.parseTemplateElement({isTagged:t}));return this.next(),this.finishNode(r,"TemplateLiteral")};b0.isAsyncProp=function(e){return!e.computed&&e.key.type==="Identifier"&&e.key.name==="async"&&(this.type===St.name||this.type===St.num||this.type===St.string||this.type===St.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===St.star)&&!tg.test(this.input.slice(this.lastTokEnd,this.start))};b0.parseObj=function(e,t){var r=this.startNode(),n=!0,i={};for(r.properties=[],this.next();!this.eat(St.braceR);){if(n)n=!1;else if(this.expect(St.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(St.braceR))break;var s=this.parseProperty(e,t);e||this.checkPropClash(s,i,t),r.properties.push(s)}return this.finishNode(r,e?"ObjectPattern":"ObjectExpression")};b0.parseProperty=function(e,t){var r=this.startNode(),n,i,s,R;if(this.options.ecmaVersion>=9&&this.eat(St.ellipsis))return e?(r.argument=this.parseIdent(!1),this.type===St.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.finishNode(r,"RestElement")):(r.argument=this.parseMaybeAssign(!1,t),this.type===St.comma&&t&&t.trailingComma<0&&(t.trailingComma=this.start),this.finishNode(r,"SpreadElement"));this.options.ecmaVersion>=6&&(r.method=!1,r.shorthand=!1,(e||t)&&(s=this.start,R=this.startLoc),e||(n=this.eat(St.star)));var l=this.containsEsc;return this.parsePropertyName(r),!e&&!l&&this.options.ecmaVersion>=8&&!n&&this.isAsyncProp(r)?(i=!0,n=this.options.ecmaVersion>=9&&this.eat(St.star),this.parsePropertyName(r)):i=!1,this.parsePropertyValue(r,e,n,i,s,R,t,l),this.finishNode(r,"Property")};b0.parseGetterSetter=function(e){e.kind=e.key.name,this.parsePropertyName(e),e.value=this.parseMethod(!1);var t=e.kind==="get"?0:1;if(e.value.params.length!==t){var r=e.value.start;e.kind==="get"?this.raiseRecoverable(r,"getter should have no params"):this.raiseRecoverable(r,"setter should have exactly one param")}else e.kind==="set"&&e.value.params[0].type==="RestElement"&&this.raiseRecoverable(e.value.params[0].start,"Setter cannot use rest params")};b0.parsePropertyValue=function(e,t,r,n,i,s,R,l){(r||n)&&this.type===St.colon&&this.unexpected(),this.eat(St.colon)?(e.value=t?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,R),e.kind="init"):this.options.ecmaVersion>=6&&this.type===St.parenL?(t&&this.unexpected(),e.kind="init",e.method=!0,e.value=this.parseMethod(r,n)):!t&&!l&&this.options.ecmaVersion>=5&&!e.computed&&e.key.type==="Identifier"&&(e.key.name==="get"||e.key.name==="set")&&this.type!==St.comma&&this.type!==St.braceR&&this.type!==St.eq?((r||n)&&this.unexpected(),this.parseGetterSetter(e)):this.options.ecmaVersion>=6&&!e.computed&&e.key.type==="Identifier"?((r||n)&&this.unexpected(),this.checkUnreserved(e.key),e.key.name==="await"&&!this.awaitIdentPos&&(this.awaitIdentPos=i),e.kind="init",t?e.value=this.parseMaybeDefault(i,s,this.copyNode(e.key)):this.type===St.eq&&R?(R.shorthandAssign<0&&(R.shorthandAssign=this.start),e.value=this.parseMaybeDefault(i,s,this.copyNode(e.key))):e.value=this.copyNode(e.key),e.shorthand=!0):this.unexpected()};b0.parsePropertyName=function(e){if(this.options.ecmaVersion>=6){if(this.eat(St.bracketL))return e.computed=!0,e.key=this.parseMaybeAssign(),this.expect(St.bracketR),e.key;e.computed=!1}return e.key=this.type===St.num||this.type===St.string?this.parseExprAtom():this.parseIdent(this.options.allowReserved!=="never")};b0.initFunction=function(e){e.id=null,this.options.ecmaVersion>=6&&(e.generator=e.expression=!1),this.options.ecmaVersion>=8&&(e.async=!1)};b0.parseMethod=function(e,t,r){var n=this.startNode(),i=this.yieldPos,s=this.awaitPos,R=this.awaitIdentPos;return this.initFunction(n),this.options.ecmaVersion>=6&&(n.generator=e),this.options.ecmaVersion>=8&&(n.async=!!t),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(A8t(t,n.generator)|q8t|(r?fXt:0)),this.expect(St.parenL),n.params=this.parseBindingList(St.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(n,!1,!0,!1),this.yieldPos=i,this.awaitPos=s,this.awaitIdentPos=R,this.finishNode(n,"FunctionExpression")};b0.parseArrowExpression=function(e,t,r,n){var i=this.yieldPos,s=this.awaitPos,R=this.awaitIdentPos;return this.enterScope(A8t(r,!1)|_Xt),this.initFunction(e),this.options.ecmaVersion>=8&&(e.async=!!r),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,e.params=this.toAssignableList(t,!0),this.parseFunctionBody(e,!0,!1,n),this.yieldPos=i,this.awaitPos=s,this.awaitIdentPos=R,this.finishNode(e,"ArrowFunctionExpression")};b0.parseFunctionBody=function(e,t,r,n){var i=t&&this.type!==St.braceL,s=this.strict,R=!1;if(i)e.body=this.parseMaybeAssign(n),e.expression=!0,this.checkParams(e,!1);else{var l=this.options.ecmaVersion>=7&&!this.isSimpleParamList(e.params);(!s||l)&&(R=this.strictDirective(this.end),R&&l&&this.raiseRecoverable(e.start,"Illegal 'use strict' directive in function with non-simple parameter list"));var c=this.labels;this.labels=[],R&&(this.strict=!0),this.checkParams(e,!s&&!R&&!t&&!r&&this.isSimpleParamList(e.params)),this.strict&&e.id&&this.checkLValSimple(e.id,mXt),e.body=this.parseBlock(!1,void 0,R&&!s),e.expression=!1,this.adaptDirectivePrologue(e.body.body),this.labels=c}this.exitScope()};b0.isSimpleParamList=function(e){for(var t=0,r=e;t-1||i.functions.indexOf(e)>-1||i.var.indexOf(e)>-1,i.lexical.push(e),this.inModule&&i.flags&ihe&&delete this.undefinedExports[e]}else if(t===xXt){var s=this.currentScope();s.lexical.push(e)}else if(t===dXt){var R=this.currentScope();this.treatFunctionsAsVar?n=R.lexical.indexOf(e)>-1:n=R.lexical.indexOf(e)>-1||R.var.indexOf(e)>-1,R.functions.push(e)}else for(var l=this.scopeStack.length-1;l>=0;--l){var c=this.scopeStack[l];if(c.lexical.indexOf(e)>-1&&!(c.flags&hXt&&c.lexical[0]===e)||!this.treatFunctionsAsVarInScope(c)&&c.functions.indexOf(e)>-1){n=!0;break}if(c.var.push(e),this.inModule&&c.flags&ihe&&delete this.undefinedExports[e],c.flags&C8t)break}n&&this.raiseRecoverable(r,"Identifier '"+e+"' has already been declared")};tW.checkLocalExport=function(e){this.scopeStack[0].lexical.indexOf(e.name)===-1&&this.scopeStack[0].var.indexOf(e.name)===-1&&(this.undefinedExports[e.name]=e)};tW.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]};tW.currentVarScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&C8t)return t}};tW.currentThisScope=function(){for(var e=this.scopeStack.length-1;;e--){var t=this.scopeStack[e];if(t.flags&C8t&&!(t.flags&_Xt))return t}};Lqe=function(e,t,r){this.type="",this.start=t,this.end=0,e.options.locations&&(this.loc=new Uqe(e,r)),e.options.directSourceFile&&(this.sourceFile=e.options.directSourceFile),e.options.ranges&&(this.range=[t,0])},she=Hd.prototype;she.startNode=function(){return new Lqe(this,this.start,this.startLoc)};she.startNodeAt=function(e,t){return new Lqe(this,e,t)};she.finishNode=function(e,t){return qXt.call(this,e,t,this.lastTokEnd,this.lastTokEndLoc)};she.finishNodeAt=function(e,t,r,n){return qXt.call(this,e,t,r,n)};she.copyNode=function(e){var t=new Lqe(this,e.start,this.startLoc);for(var r in e)t[r]=e[r];return t};Jrn="Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sunu Sunuwar Todhri Todr Tulu_Tigalari Tutg Unknown Zzzz",CXt="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",AXt=CXt+" Extended_Pictographic",gXt=AXt,bXt=gXt+" EBase EComp EMod EPres ExtPict",EXt=bXt,Xrn=EXt,Zrn={9:CXt,10:AXt,11:gXt,12:bXt,13:EXt,14:Xrn},enn="Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji",tnn={9:"",10:"",11:"",12:"",13:"",14:enn},JJt="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",OXt="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",vXt=OXt+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",DXt=vXt+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",SXt=DXt+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",$Xt=SXt+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",rnn=$Xt+" "+Jrn,nnn={9:OXt,10:vXt,11:DXt,12:SXt,13:$Xt,14:rnn},QXt={};for(Nqe=0,o8t=[9,10,11,12,13,14];Nqe=6?"uy":"")+(e.options.ecmaVersion>=9?"s":"")+(e.options.ecmaVersion>=13?"d":"")+(e.options.ecmaVersion>=15?"v":""),this.unicodeProperties=QXt[e.options.ecmaVersion>=14?14:e.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=Object.create(null),this.backReferenceNames=[],this.branchID=null};qD.prototype.reset=function(e,t,r){var n=r.indexOf("v")!==-1,i=r.indexOf("u")!==-1;this.start=e|0,this.source=t+"",this.flags=r,n&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=i&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=i&&this.parser.options.ecmaVersion>=9)};qD.prototype.raise=function(e){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+e)};qD.prototype.at=function(e,t){t===void 0&&(t=!1);var r=this.source,n=r.length;if(e>=n)return-1;var i=r.charCodeAt(e);if(!(t||this.switchU)||i<=55295||i>=57344||e+1>=n)return i;var s=r.charCodeAt(e+1);return s>=56320&&s<=57343?(i<<10)+s-56613888:i};qD.prototype.nextIndex=function(e,t){t===void 0&&(t=!1);var r=this.source,n=r.length;if(e>=n)return n;var i=r.charCodeAt(e),s;return!(t||this.switchU)||i<=55295||i>=57344||e+1>=n||(s=r.charCodeAt(e+1))<56320||s>57343?e+1:e+2};qD.prototype.current=function(e){return e===void 0&&(e=!1),this.at(this.pos,e)};qD.prototype.lookahead=function(e){return e===void 0&&(e=!1),this.at(this.nextIndex(this.pos,e),e)};qD.prototype.advance=function(e){e===void 0&&(e=!1),this.pos=this.nextIndex(this.pos,e)};qD.prototype.eat=function(e,t){return t===void 0&&(t=!1),this.current(t)===e?(this.advance(t),!0):!1};qD.prototype.eatChars=function(e,t){t===void 0&&(t=!1);for(var r=this.pos,n=0,i=e;n-1&&this.raise(e.start,"Duplicate regular expression flag"),R==="u"&&(n=!0),R==="v"&&(i=!0)}this.options.ecmaVersion>=15&&n&&i&&this.raise(e.start,"Invalid regular expression flag")};js.validateRegExpPattern=function(e){this.regexp_pattern(e),!e.switchN&&this.options.ecmaVersion>=9&&ann(e.groupNames)&&(e.switchN=!0,this.regexp_pattern(e))};js.regexp_pattern=function(e){e.pos=0,e.lastIntValue=0,e.lastStringValue="",e.lastAssertionIsQuantifiable=!1,e.numCapturingParens=0,e.maxBackReference=0,e.groupNames=Object.create(null),e.backReferenceNames.length=0,e.branchID=null,this.regexp_disjunction(e),e.pos!==e.source.length&&(e.eat(41)&&e.raise("Unmatched ')'"),(e.eat(93)||e.eat(125))&&e.raise("Lone quantifier brackets")),e.maxBackReference>e.numCapturingParens&&e.raise("Invalid escape");for(var t=0,r=e.backReferenceNames;t=16;for(t&&(e.branchID=new Mqe(e.branchID,null)),this.regexp_alternative(e);e.eat(124);)t&&(e.branchID=e.branchID.sibling()),this.regexp_alternative(e);t&&(e.branchID=e.branchID.parent),this.regexp_eatQuantifier(e,!0)&&e.raise("Nothing to repeat"),e.eat(123)&&e.raise("Lone quantifier brackets")};js.regexp_alternative=function(e){for(;e.pos=9&&(r=e.eat(60)),e.eat(61)||e.eat(33))return this.regexp_disjunction(e),e.eat(41)||e.raise("Unterminated group"),e.lastAssertionIsQuantifiable=!r,!0}return e.pos=t,!1};js.regexp_eatQuantifier=function(e,t){return t===void 0&&(t=!1),this.regexp_eatQuantifierPrefix(e,t)?(e.eat(63),!0):!1};js.regexp_eatQuantifierPrefix=function(e,t){return e.eat(42)||e.eat(43)||e.eat(63)||this.regexp_eatBracedQuantifier(e,t)};js.regexp_eatBracedQuantifier=function(e,t){var r=e.pos;if(e.eat(123)){var n=0,i=-1;if(this.regexp_eatDecimalDigits(e)&&(n=e.lastIntValue,e.eat(44)&&this.regexp_eatDecimalDigits(e)&&(i=e.lastIntValue),e.eat(125)))return i!==-1&&i=16){var r=this.regexp_eatModifiers(e),n=e.eat(45);if(r||n){for(var i=0;i-1&&e.raise("Duplicate regular expression modifiers")}if(n){var R=this.regexp_eatModifiers(e);!r&&!R&&e.current()===58&&e.raise("Invalid regular expression modifiers");for(var l=0;l-1||r.indexOf(c)>-1)&&e.raise("Duplicate regular expression modifiers")}}}}if(e.eat(58)){if(this.regexp_disjunction(e),e.eat(41))return!0;e.raise("Unterminated group")}}e.pos=t}return!1};js.regexp_eatCapturingGroup=function(e){if(e.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(e):e.current()===63&&e.raise("Invalid group"),this.regexp_disjunction(e),e.eat(41))return e.numCapturingParens+=1,!0;e.raise("Unterminated group")}return!1};js.regexp_eatModifiers=function(e){for(var t="",r=0;(r=e.current())!==-1&&snn(r);)t+=rw(r),e.advance();return t};js.regexp_eatExtendedAtom=function(e){return e.eat(46)||this.regexp_eatReverseSolidusAtomEscape(e)||this.regexp_eatCharacterClass(e)||this.regexp_eatUncapturingGroup(e)||this.regexp_eatCapturingGroup(e)||this.regexp_eatInvalidBracedQuantifier(e)||this.regexp_eatExtendedPatternCharacter(e)};js.regexp_eatInvalidBracedQuantifier=function(e){return this.regexp_eatBracedQuantifier(e,!0)&&e.raise("Nothing to repeat"),!1};js.regexp_eatSyntaxCharacter=function(e){var t=e.current();return NXt(t)?(e.lastIntValue=t,e.advance(),!0):!1};js.regexp_eatPatternCharacters=function(e){for(var t=e.pos,r=0;(r=e.current())!==-1&&!NXt(r);)e.advance();return e.pos!==t};js.regexp_eatExtendedPatternCharacter=function(e){var t=e.current();return t!==-1&&t!==36&&!(t>=40&&t<=43)&&t!==46&&t!==63&&t!==91&&t!==94&&t!==124?(e.advance(),!0):!1};js.regexp_groupSpecifier=function(e){if(e.eat(63)){this.regexp_eatGroupName(e)||e.raise("Invalid group");var t=this.options.ecmaVersion>=16,r=e.groupNames[e.lastStringValue];if(r)if(t)for(var n=0,i=r;n=11,n=e.current(r);return e.advance(r),n===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,r)&&(n=e.lastIntValue),onn(n)?(e.lastIntValue=n,!0):(e.pos=t,!1)};js.regexp_eatRegExpIdentifierPart=function(e){var t=e.pos,r=this.options.ecmaVersion>=11,n=e.current(r);return e.advance(r),n===92&&this.regexp_eatRegExpUnicodeEscapeSequence(e,r)&&(n=e.lastIntValue),Rnn(n)?(e.lastIntValue=n,!0):(e.pos=t,!1)};js.regexp_eatAtomEscape=function(e){return this.regexp_eatBackReference(e)||this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)||e.switchN&&this.regexp_eatKGroupName(e)?!0:(e.switchU&&(e.current()===99&&e.raise("Invalid unicode escape"),e.raise("Invalid escape")),!1)};js.regexp_eatBackReference=function(e){var t=e.pos;if(this.regexp_eatDecimalEscape(e)){var r=e.lastIntValue;if(e.switchU)return r>e.maxBackReference&&(e.maxBackReference=r),!0;if(r<=e.numCapturingParens)return!0;e.pos=t}return!1};js.regexp_eatKGroupName=function(e){if(e.eat(107)){if(this.regexp_eatGroupName(e))return e.backReferenceNames.push(e.lastStringValue),!0;e.raise("Invalid named reference")}return!1};js.regexp_eatCharacterEscape=function(e){return this.regexp_eatControlEscape(e)||this.regexp_eatCControlLetter(e)||this.regexp_eatZero(e)||this.regexp_eatHexEscapeSequence(e)||this.regexp_eatRegExpUnicodeEscapeSequence(e,!1)||!e.switchU&&this.regexp_eatLegacyOctalEscapeSequence(e)||this.regexp_eatIdentityEscape(e)};js.regexp_eatCControlLetter=function(e){var t=e.pos;if(e.eat(99)){if(this.regexp_eatControlLetter(e))return!0;e.pos=t}return!1};js.regexp_eatZero=function(e){return e.current()===48&&!zqe(e.lookahead())?(e.lastIntValue=0,e.advance(),!0):!1};js.regexp_eatControlEscape=function(e){var t=e.current();return t===116?(e.lastIntValue=9,e.advance(),!0):t===110?(e.lastIntValue=10,e.advance(),!0):t===118?(e.lastIntValue=11,e.advance(),!0):t===102?(e.lastIntValue=12,e.advance(),!0):t===114?(e.lastIntValue=13,e.advance(),!0):!1};js.regexp_eatControlLetter=function(e){var t=e.current();return wXt(t)?(e.lastIntValue=t%32,e.advance(),!0):!1};js.regexp_eatRegExpUnicodeEscapeSequence=function(e,t){t===void 0&&(t=!1);var r=e.pos,n=t||e.switchU;if(e.eat(117)){if(this.regexp_eatFixedHexDigits(e,4)){var i=e.lastIntValue;if(n&&i>=55296&&i<=56319){var s=e.pos;if(e.eat(92)&&e.eat(117)&&this.regexp_eatFixedHexDigits(e,4)){var R=e.lastIntValue;if(R>=56320&&R<=57343)return e.lastIntValue=(i-55296)*1024+(R-56320)+65536,!0}e.pos=s,e.lastIntValue=i}return!0}if(n&&e.eat(123)&&this.regexp_eatHexDigits(e)&&e.eat(125)&&unn(e.lastIntValue))return!0;n&&e.raise("Invalid unicode escape"),e.pos=r}return!1};js.regexp_eatIdentityEscape=function(e){if(e.switchU)return this.regexp_eatSyntaxCharacter(e)?!0:e.eat(47)?(e.lastIntValue=47,!0):!1;var t=e.current();return t!==99&&(!e.switchN||t!==107)?(e.lastIntValue=t,e.advance(),!0):!1};js.regexp_eatDecimalEscape=function(e){e.lastIntValue=0;var t=e.current();if(t>=49&&t<=57){do e.lastIntValue=10*e.lastIntValue+(t-48),e.advance();while((t=e.current())>=48&&t<=57);return!0}return!1};PXt=0,nw=1,eg=2;js.regexp_eatCharacterClassEscape=function(e){var t=e.current();if(lnn(t))return e.lastIntValue=-1,e.advance(),nw;var r=!1;if(e.switchU&&this.options.ecmaVersion>=9&&((r=t===80)||t===112)){e.lastIntValue=-1,e.advance();var n;if(e.eat(123)&&(n=this.regexp_eatUnicodePropertyValueExpression(e))&&e.eat(125))return r&&n===eg&&e.raise("Invalid property name"),n;e.raise("Invalid property name")}return PXt};js.regexp_eatUnicodePropertyValueExpression=function(e){var t=e.pos;if(this.regexp_eatUnicodePropertyName(e)&&e.eat(61)){var r=e.lastStringValue;if(this.regexp_eatUnicodePropertyValue(e)){var n=e.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(e,r,n),nw}}if(e.pos=t,this.regexp_eatLoneUnicodePropertyNameOrValue(e)){var i=e.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(e,i)}return PXt};js.regexp_validateUnicodePropertyNameAndValue=function(e,t,r){Bie(e.unicodeProperties.nonBinary,t)||e.raise("Invalid property name"),e.unicodeProperties.nonBinary[t].test(r)||e.raise("Invalid property value")};js.regexp_validateUnicodePropertyNameOrValue=function(e,t){if(e.unicodeProperties.binary.test(t))return nw;if(e.switchV&&e.unicodeProperties.binaryOfStrings.test(t))return eg;e.raise("Invalid property name")};js.regexp_eatUnicodePropertyName=function(e){var t=0;for(e.lastStringValue="";BXt(t=e.current());)e.lastStringValue+=rw(t),e.advance();return e.lastStringValue!==""};js.regexp_eatUnicodePropertyValue=function(e){var t=0;for(e.lastStringValue="";cnn(t=e.current());)e.lastStringValue+=rw(t),e.advance();return e.lastStringValue!==""};js.regexp_eatLoneUnicodePropertyNameOrValue=function(e){return this.regexp_eatUnicodePropertyValue(e)};js.regexp_eatCharacterClass=function(e){if(e.eat(91)){var t=e.eat(94),r=this.regexp_classContents(e);return e.eat(93)||e.raise("Unterminated character class"),t&&r===eg&&e.raise("Negated character class may contain strings"),!0}return!1};js.regexp_classContents=function(e){return e.current()===93?nw:e.switchV?this.regexp_classSetExpression(e):(this.regexp_nonEmptyClassRanges(e),nw)};js.regexp_nonEmptyClassRanges=function(e){for(;this.regexp_eatClassAtom(e);){var t=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassAtom(e)){var r=e.lastIntValue;e.switchU&&(t===-1||r===-1)&&e.raise("Invalid character class"),t!==-1&&r!==-1&&t>r&&e.raise("Range out of order in character class")}}};js.regexp_eatClassAtom=function(e){var t=e.pos;if(e.eat(92)){if(this.regexp_eatClassEscape(e))return!0;if(e.switchU){var r=e.current();(r===99||WXt(r))&&e.raise("Invalid class escape"),e.raise("Invalid escape")}e.pos=t}var n=e.current();return n!==93?(e.lastIntValue=n,e.advance(),!0):!1};js.regexp_eatClassEscape=function(e){var t=e.pos;if(e.eat(98))return e.lastIntValue=8,!0;if(e.switchU&&e.eat(45))return e.lastIntValue=45,!0;if(!e.switchU&&e.eat(99)){if(this.regexp_eatClassControlLetter(e))return!0;e.pos=t}return this.regexp_eatCharacterClassEscape(e)||this.regexp_eatCharacterEscape(e)};js.regexp_classSetExpression=function(e){var t=nw,r;if(!this.regexp_eatClassSetRange(e))if(r=this.regexp_eatClassSetOperand(e)){r===eg&&(t=eg);for(var n=e.pos;e.eatChars([38,38]);){if(e.current()!==38&&(r=this.regexp_eatClassSetOperand(e))){r!==eg&&(t=nw);continue}e.raise("Invalid character in character class")}if(n!==e.pos)return t;for(;e.eatChars([45,45]);)this.regexp_eatClassSetOperand(e)||e.raise("Invalid character in character class");if(n!==e.pos)return t}else e.raise("Invalid character in character class");for(;;)if(!this.regexp_eatClassSetRange(e)){if(r=this.regexp_eatClassSetOperand(e),!r)return t;r===eg&&(t=eg)}};js.regexp_eatClassSetRange=function(e){var t=e.pos;if(this.regexp_eatClassSetCharacter(e)){var r=e.lastIntValue;if(e.eat(45)&&this.regexp_eatClassSetCharacter(e)){var n=e.lastIntValue;return r!==-1&&n!==-1&&r>n&&e.raise("Range out of order in character class"),!0}e.pos=t}return!1};js.regexp_eatClassSetOperand=function(e){return this.regexp_eatClassSetCharacter(e)?nw:this.regexp_eatClassStringDisjunction(e)||this.regexp_eatNestedClass(e)};js.regexp_eatNestedClass=function(e){var t=e.pos;if(e.eat(91)){var r=e.eat(94),n=this.regexp_classContents(e);if(e.eat(93))return r&&n===eg&&e.raise("Negated character class may contain strings"),n;e.pos=t}if(e.eat(92)){var i=this.regexp_eatCharacterClassEscape(e);if(i)return i;e.pos=t}return null};js.regexp_eatClassStringDisjunction=function(e){var t=e.pos;if(e.eatChars([92,113])){if(e.eat(123)){var r=this.regexp_classStringDisjunctionContents(e);if(e.eat(125))return r}else e.raise("Invalid escape");e.pos=t}return null};js.regexp_classStringDisjunctionContents=function(e){for(var t=this.regexp_classString(e);e.eat(124);)this.regexp_classString(e)===eg&&(t=eg);return t};js.regexp_classString=function(e){for(var t=0;this.regexp_eatClassSetCharacter(e);)t++;return t===1?nw:eg};js.regexp_eatClassSetCharacter=function(e){var t=e.pos;if(e.eat(92))return this.regexp_eatCharacterEscape(e)||this.regexp_eatClassSetReservedPunctuator(e)?!0:e.eat(98)?(e.lastIntValue=8,!0):(e.pos=t,!1);var r=e.current();return r<0||r===e.lookahead()&&Tnn(r)||pnn(r)?!1:(e.advance(),e.lastIntValue=r,!0)};js.regexp_eatClassSetReservedPunctuator=function(e){var t=e.current();return _nn(t)?(e.lastIntValue=t,e.advance(),!0):!1};js.regexp_eatClassControlLetter=function(e){var t=e.current();return zqe(t)||t===95?(e.lastIntValue=t%32,e.advance(),!0):!1};js.regexp_eatHexEscapeSequence=function(e){var t=e.pos;if(e.eat(120)){if(this.regexp_eatFixedHexDigits(e,2))return!0;e.switchU&&e.raise("Invalid escape"),e.pos=t}return!1};js.regexp_eatDecimalDigits=function(e){var t=e.pos,r=0;for(e.lastIntValue=0;zqe(r=e.current());)e.lastIntValue=10*e.lastIntValue+(r-48),e.advance();return e.pos!==t};js.regexp_eatHexDigits=function(e){var t=e.pos,r=0;for(e.lastIntValue=0;IXt(r=e.current());)e.lastIntValue=16*e.lastIntValue+MXt(r),e.advance();return e.pos!==t};js.regexp_eatLegacyOctalEscapeSequence=function(e){if(this.regexp_eatOctalDigit(e)){var t=e.lastIntValue;if(this.regexp_eatOctalDigit(e)){var r=e.lastIntValue;t<=3&&this.regexp_eatOctalDigit(e)?e.lastIntValue=t*64+r*8+e.lastIntValue:e.lastIntValue=t*8+r}else e.lastIntValue=t;return!0}return!1};js.regexp_eatOctalDigit=function(e){var t=e.current();return WXt(t)?(e.lastIntValue=t-48,e.advance(),!0):(e.lastIntValue=0,!1)};js.regexp_eatFixedHexDigits=function(e,t){var r=e.pos;e.lastIntValue=0;for(var n=0;n=this.input.length)return this.finishToken(St.eof);if(e.override)return e.override(this);this.readToken(this.fullCharCodeAtPos())};iu.readToken=function(e){return tw(e,this.options.ecmaVersion>=6)||e===92?this.readWord():this.getTokenFromCode(e)};iu.fullCharCodeAtPos=function(){var e=this.input.charCodeAt(this.pos);if(e<=55295||e>=56320)return e;var t=this.input.charCodeAt(this.pos+1);return t<=56319||t>=57344?e:(e<<10)+t-56613888};iu.skipBlockComment=function(){var e=this.options.onComment&&this.curPosition(),t=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(r===-1&&this.raise(this.pos-2,"Unterminated comment"),this.pos=r+2,this.options.locations)for(var n=void 0,i=t;(n=uXt(this.input,i,this.pos))>-1;)++this.curLine,i=this.lineStart=n;this.options.onComment&&this.options.onComment(!0,this.input.slice(t+2,r),t,this.pos,e,this.curPosition())};iu.skipLineComment=function(e){for(var t=this.pos,r=this.options.onComment&&this.curPosition(),n=this.input.charCodeAt(this.pos+=e);this.pos8&&e<14||e>=5760&&lXt.test(String.fromCharCode(e)))++this.pos;else break e}}};iu.finishToken=function(e,t){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var r=this.type;this.type=e,this.value=t,this.updateContext(r)};iu.readToken_dot=function(){var e=this.input.charCodeAt(this.pos+1);if(e>=48&&e<=57)return this.readNumber(!0);var t=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&e===46&&t===46?(this.pos+=3,this.finishToken(St.ellipsis)):(++this.pos,this.finishToken(St.dot))};iu.readToken_slash=function(){var e=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):e===61?this.finishOp(St.assign,2):this.finishOp(St.slash,1)};iu.readToken_mult_modulo_exp=function(e){var t=this.input.charCodeAt(this.pos+1),r=1,n=e===42?St.star:St.modulo;return this.options.ecmaVersion>=7&&e===42&&t===42&&(++r,n=St.starstar,t=this.input.charCodeAt(this.pos+2)),t===61?this.finishOp(St.assign,r+1):this.finishOp(n,r)};iu.readToken_pipe_amp=function(e){var t=this.input.charCodeAt(this.pos+1);if(t===e){if(this.options.ecmaVersion>=12){var r=this.input.charCodeAt(this.pos+2);if(r===61)return this.finishOp(St.assign,3)}return this.finishOp(e===124?St.logicalOR:St.logicalAND,2)}return t===61?this.finishOp(St.assign,2):this.finishOp(e===124?St.bitwiseOR:St.bitwiseAND,1)};iu.readToken_caret=function(){var e=this.input.charCodeAt(this.pos+1);return e===61?this.finishOp(St.assign,2):this.finishOp(St.bitwiseXOR,1)};iu.readToken_plus_min=function(e){var t=this.input.charCodeAt(this.pos+1);return t===e?t===45&&!this.inModule&&this.input.charCodeAt(this.pos+2)===62&&(this.lastTokEnd===0||tg.test(this.input.slice(this.lastTokEnd,this.pos)))?(this.skipLineComment(3),this.skipSpace(),this.nextToken()):this.finishOp(St.incDec,2):t===61?this.finishOp(St.assign,2):this.finishOp(St.plusMin,1)};iu.readToken_lt_gt=function(e){var t=this.input.charCodeAt(this.pos+1),r=1;return t===e?(r=e===62&&this.input.charCodeAt(this.pos+2)===62?3:2,this.input.charCodeAt(this.pos+r)===61?this.finishOp(St.assign,r+1):this.finishOp(St.bitShift,r)):t===33&&e===60&&!this.inModule&&this.input.charCodeAt(this.pos+2)===45&&this.input.charCodeAt(this.pos+3)===45?(this.skipLineComment(4),this.skipSpace(),this.nextToken()):(t===61&&(r=2),this.finishOp(St.relational,r))};iu.readToken_eq_excl=function(e){var t=this.input.charCodeAt(this.pos+1);return t===61?this.finishOp(St.equality,this.input.charCodeAt(this.pos+2)===61?3:2):e===61&&t===62&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(St.arrow)):this.finishOp(e===61?St.eq:St.prefix,1)};iu.readToken_question=function(){var e=this.options.ecmaVersion;if(e>=11){var t=this.input.charCodeAt(this.pos+1);if(t===46){var r=this.input.charCodeAt(this.pos+2);if(r<48||r>57)return this.finishOp(St.questionDot,2)}if(t===63){if(e>=12){var n=this.input.charCodeAt(this.pos+2);if(n===61)return this.finishOp(St.assign,3)}return this.finishOp(St.coalesce,2)}}return this.finishOp(St.question,1)};iu.readToken_numberSign=function(){var e=this.options.ecmaVersion,t=35;if(e>=13&&(++this.pos,t=this.fullCharCodeAtPos(),tw(t,!0)||t===92))return this.finishToken(St.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+rw(t)+"'")};iu.getTokenFromCode=function(e){switch(e){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(St.parenL);case 41:return++this.pos,this.finishToken(St.parenR);case 59:return++this.pos,this.finishToken(St.semi);case 44:return++this.pos,this.finishToken(St.comma);case 91:return++this.pos,this.finishToken(St.bracketL);case 93:return++this.pos,this.finishToken(St.bracketR);case 123:return++this.pos,this.finishToken(St.braceL);case 125:return++this.pos,this.finishToken(St.braceR);case 58:return++this.pos,this.finishToken(St.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(St.backQuote);case 48:var t=this.input.charCodeAt(this.pos+1);if(t===120||t===88)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(t===111||t===79)return this.readRadixNumber(8);if(t===98||t===66)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(e);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(e);case 124:case 38:return this.readToken_pipe_amp(e);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(e);case 60:case 62:return this.readToken_lt_gt(e);case 61:case 33:return this.readToken_eq_excl(e);case 63:return this.readToken_question();case 126:return this.finishOp(St.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+rw(e)+"'")};iu.finishOp=function(e,t){var r=this.input.slice(this.pos,this.pos+t);return this.pos+=t,this.finishToken(e,r)};iu.readRegexp=function(){for(var e,t,r=this.pos;;){this.pos>=this.input.length&&this.raise(r,"Unterminated regular expression");var n=this.input.charAt(this.pos);if(tg.test(n)&&this.raise(r,"Unterminated regular expression"),e)e=!1;else{if(n==="[")t=!0;else if(n==="]"&&t)t=!1;else if(n==="/"&&!t)break;e=n==="\\"}++this.pos}var i=this.input.slice(r,this.pos);++this.pos;var s=this.pos,R=this.readWord1();this.containsEsc&&this.unexpected(s);var l=this.regexpState||(this.regexpState=new qD(this));l.reset(r,i,R),this.validateRegExpFlags(l),this.validateRegExpPattern(l);var c=null;try{c=new RegExp(i,R)}catch{}return this.finishToken(St.regexp,{pattern:i,flags:R,value:c})};iu.readInt=function(e,t,r){for(var n=this.options.ecmaVersion>=12&&t===void 0,i=r&&this.input.charCodeAt(this.pos)===48,s=this.pos,R=0,l=0,c=0,h=t??1/0;c=97?f=_-97+10:_>=65?f=_-65+10:_>=48&&_<=57?f=_-48:f=1/0,f>=e)break;l=_,R=R*e+f}return n&&l===95&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===s||t!=null&&this.pos-s!==t?null:R};iu.readRadixNumber=function(e){var t=this.pos;this.pos+=2;var r=this.readInt(e);return r==null&&this.raise(this.start+2,"Expected number in radix "+e),this.options.ecmaVersion>=11&&this.input.charCodeAt(this.pos)===110?(r=UXt(this.input.slice(t,this.pos)),++this.pos):tw(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(St.num,r)};iu.readNumber=function(e){var t=this.pos;!e&&this.readInt(10,void 0,!0)===null&&this.raise(t,"Invalid number");var r=this.pos-t>=2&&this.input.charCodeAt(t)===48;r&&this.strict&&this.raise(t,"Invalid number");var n=this.input.charCodeAt(this.pos);if(!r&&!e&&this.options.ecmaVersion>=11&&n===110){var i=UXt(this.input.slice(t,this.pos));return++this.pos,tw(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(St.num,i)}r&&/[89]/.test(this.input.slice(t,this.pos))&&(r=!1),n===46&&!r&&(++this.pos,this.readInt(10),n=this.input.charCodeAt(this.pos)),(n===69||n===101)&&!r&&(n=this.input.charCodeAt(++this.pos),(n===43||n===45)&&++this.pos,this.readInt(10)===null&&this.raise(t,"Invalid number")),tw(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var s=hnn(this.input.slice(t,this.pos),r);return this.finishToken(St.num,s)};iu.readCodePoint=function(){var e=this.input.charCodeAt(this.pos),t;if(e===123){this.options.ecmaVersion<6&&this.unexpected();var r=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(r,"Code point out of bounds")}else t=this.readHexChar(4);return t};iu.readString=function(e){for(var t="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var n=this.input.charCodeAt(this.pos);if(n===e)break;n===92?(t+=this.input.slice(r,this.pos),t+=this.readEscapedChar(!1),r=this.pos):n===8232||n===8233?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(Pie(n)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return t+=this.input.slice(r,this.pos++),this.finishToken(St.string,t)};FXt={};iu.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(e){if(e===FXt)this.readInvalidTemplateToken();else throw e}this.inTemplateElement=!1};iu.invalidStringToken=function(e,t){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw FXt;this.raise(e,t)};iu.readTmplToken=function(){for(var e="",t=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var r=this.input.charCodeAt(this.pos);if(r===96||r===36&&this.input.charCodeAt(this.pos+1)===123)return this.pos===this.start&&(this.type===St.template||this.type===St.invalidTemplate)?r===36?(this.pos+=2,this.finishToken(St.dollarBraceL)):(++this.pos,this.finishToken(St.backQuote)):(e+=this.input.slice(t,this.pos),this.finishToken(St.template,e));if(r===92)e+=this.input.slice(t,this.pos),e+=this.readEscapedChar(!0),t=this.pos;else if(Pie(r)){switch(e+=this.input.slice(t,this.pos),++this.pos,r){case 13:this.input.charCodeAt(this.pos)===10&&++this.pos;case 10:e+=` +`;break;default:e+=String.fromCharCode(r);break}this.options.locations&&(++this.curLine,this.lineStart=this.pos),t=this.pos}else++this.pos}};iu.readInvalidTemplateToken=function(){for(;this.pos=48&&t<=55){var n=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],i=parseInt(n,8);return i>255&&(n=n.slice(0,-1),i=parseInt(n,8)),this.pos+=n.length-1,t=this.input.charCodeAt(this.pos),(n!=="0"||t===56||t===57)&&(this.strict||e)&&this.invalidStringToken(this.pos-1-n.length,e?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(i)}return Pie(t)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),""):String.fromCharCode(t)}};iu.readHexChar=function(e){var t=this.pos,r=this.readInt(16,e);return r===null&&this.invalidStringToken(t,"Bad character escape sequence"),r};iu.readWord1=function(){this.containsEsc=!1;for(var e="",t=!0,r=this.pos,n=this.options.ecmaVersion>=6;this.pos{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},Wqe=knn;qnn=ynn;Ann=Cnn,gnn=Ann(["Block","CommentBlock","MultiLine"]),h8t=gnn;ZJt=bnn;Onn=Enn,ehe=null;vnn=10;for(let e=0;e<=vnn;e++)rhe();$nn=Snn,Qnn={ArrayExpression:["elements"],AssignmentExpression:["left","right"],BinaryExpression:["left","right"],InterpreterDirective:[],Directive:["value"],DirectiveLiteral:[],BlockStatement:["directives","body"],BreakStatement:["label"],CallExpression:["callee","arguments","typeParameters","typeArguments"],CatchClause:["param","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExpressionStatement:["expression"],File:["program"],ForInStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","typeParameters","params","returnType","body","predicate"],FunctionExpression:["id","typeParameters","params","returnType","body"],Identifier:["typeAnnotation","decorators"],IfStatement:["test","consequent","alternate"],LabeledStatement:["label","body"],StringLiteral:[],NumericLiteral:[],NullLiteral:[],BooleanLiteral:[],RegExpLiteral:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],NewExpression:["callee","arguments","typeParameters","typeArguments"],Program:["directives","body"],ObjectExpression:["properties"],ObjectMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectProperty:["key","value","decorators"],RestElement:["argument","typeAnnotation","decorators"],ReturnStatement:["argument"],SequenceExpression:["expressions"],ParenthesizedExpression:["expression"],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],AssignmentPattern:["left","right","decorators","typeAnnotation"],ArrayPattern:["elements","typeAnnotation","decorators"],ArrowFunctionExpression:["typeParameters","params","returnType","body","predicate"],ClassBody:["body"],ClassExpression:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ExportAllDeclaration:["source","attributes","exported"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source","attributes"],ExportSpecifier:["local","exported"],ForOfStatement:["left","right","body"],ImportDeclaration:["specifiers","source","attributes"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],ImportExpression:["source","options"],MetaProperty:["meta","property"],ClassMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectPattern:["properties","typeAnnotation","decorators"],SpreadElement:["argument"],Super:[],TaggedTemplateExpression:["tag","typeParameters","quasi","typeArguments"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],YieldExpression:["argument"],AwaitExpression:["argument"],BigIntLiteral:[],ExportNamespaceSpecifier:["exported"],OptionalMemberExpression:["object","property"],OptionalCallExpression:["callee","arguments","typeParameters","typeArguments"],ClassProperty:["decorators","key","typeAnnotation","value","variance"],ClassAccessorProperty:["decorators","key","typeAnnotation","value"],ClassPrivateProperty:["decorators","key","typeAnnotation","value","variance"],ClassPrivateMethod:["decorators","key","typeParameters","params","returnType","body"],PrivateName:["id"],StaticBlock:["body"],AnyTypeAnnotation:[],ArrayTypeAnnotation:["elementType"],BooleanTypeAnnotation:[],BooleanLiteralTypeAnnotation:[],NullLiteralTypeAnnotation:[],ClassImplements:["id","typeParameters"],DeclareClass:["id","typeParameters","extends","mixins","implements","body"],DeclareFunction:["id","predicate"],DeclareInterface:["id","typeParameters","extends","body"],DeclareModule:["id","body"],DeclareModuleExports:["typeAnnotation"],DeclareTypeAlias:["id","typeParameters","right"],DeclareOpaqueType:["id","typeParameters","supertype"],DeclareVariable:["id"],DeclareExportDeclaration:["declaration","specifiers","source","attributes"],DeclareExportAllDeclaration:["source","attributes"],DeclaredPredicate:["value"],ExistsTypeAnnotation:[],FunctionTypeAnnotation:["typeParameters","params","rest","returnType","this"],FunctionTypeParam:["name","typeAnnotation"],GenericTypeAnnotation:["id","typeParameters"],InferredPredicate:[],InterfaceExtends:["id","typeParameters"],InterfaceDeclaration:["id","typeParameters","extends","body"],InterfaceTypeAnnotation:["extends","body"],IntersectionTypeAnnotation:["types"],MixedTypeAnnotation:[],EmptyTypeAnnotation:[],NullableTypeAnnotation:["typeAnnotation"],NumberLiteralTypeAnnotation:[],NumberTypeAnnotation:[],ObjectTypeAnnotation:["properties","indexers","callProperties","internalSlots"],ObjectTypeInternalSlot:["id","value"],ObjectTypeCallProperty:["value"],ObjectTypeIndexer:["variance","id","key","value"],ObjectTypeProperty:["key","value","variance"],ObjectTypeSpreadProperty:["argument"],OpaqueType:["id","typeParameters","supertype","impltype"],QualifiedTypeIdentifier:["qualification","id"],StringLiteralTypeAnnotation:[],StringTypeAnnotation:[],SymbolTypeAnnotation:[],ThisTypeAnnotation:[],TupleTypeAnnotation:["types","elementTypes"],TypeofTypeAnnotation:["argument","typeArguments"],TypeAlias:["id","typeParameters","right"],TypeAnnotation:["typeAnnotation"],TypeCastExpression:["expression","typeAnnotation"],TypeParameter:["bound","default","variance"],TypeParameterDeclaration:["params"],TypeParameterInstantiation:["params"],UnionTypeAnnotation:["types"],Variance:[],VoidTypeAnnotation:[],EnumDeclaration:["id","body"],EnumBooleanBody:["members"],EnumNumberBody:["members"],EnumStringBody:["members"],EnumSymbolBody:["members"],EnumBooleanMember:["id","init"],EnumNumberMember:["id","init"],EnumStringMember:["id","init"],EnumDefaultedMember:["id"],IndexedAccessType:["objectType","indexType"],OptionalIndexedAccessType:["objectType","indexType"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXSpreadChild:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes","typeArguments","typeParameters"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXOpeningFragment:[],JSXClosingFragment:[],Noop:[],Placeholder:[],V8IntrinsicIdentifier:[],ArgumentPlaceholder:[],BindExpression:["object","callee"],ImportAttribute:["key","value"],Decorator:["expression"],DoExpression:["body"],ExportDefaultSpecifier:["exported"],RecordExpression:["properties"],TupleExpression:["elements"],ModuleExpression:["body"],TopicReference:[],PipelineTopicExpression:["expression"],PipelineBareFunction:["callee"],PipelinePrimaryTopicReference:[],TSParameterProperty:["parameter","decorators"],TSDeclareFunction:["id","typeParameters","params","returnType","body"],TSDeclareMethod:["decorators","key","typeParameters","params","returnType"],TSQualifiedName:["left","right"],TSCallSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSPropertySignature:["key","typeAnnotation"],TSMethodSignature:["key","typeParameters","parameters","typeAnnotation","params","returnType"],TSIndexSignature:["parameters","typeAnnotation"],TSAnyKeyword:[],TSBooleanKeyword:[],TSBigIntKeyword:[],TSIntrinsicKeyword:[],TSNeverKeyword:[],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSUndefinedKeyword:[],TSUnknownKeyword:[],TSVoidKeyword:[],TSThisType:[],TSFunctionType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructorType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSTypeReference:["typeName","typeParameters","typeArguments"],TSTypePredicate:["parameterName","typeAnnotation"],TSTypeQuery:["exprName","typeParameters","typeArguments"],TSTypeLiteral:["members"],TSArrayType:["elementType"],TSTupleType:["elementTypes"],TSOptionalType:["typeAnnotation"],TSRestType:["typeAnnotation"],TSNamedTupleMember:["label","elementType"],TSUnionType:["types"],TSIntersectionType:["types"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSInferType:["typeParameter"],TSParenthesizedType:["typeAnnotation"],TSTypeOperator:["typeAnnotation"],TSIndexedAccessType:["objectType","indexType"],TSMappedType:["typeParameter","nameType","typeAnnotation"],TSLiteralType:["literal"],TSExpressionWithTypeArguments:["expression","typeParameters"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceBody:["body"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSInstantiationExpression:["expression","typeParameters","typeArguments"],TSAsExpression:["expression","typeAnnotation"],TSSatisfiesExpression:["expression","typeAnnotation"],TSTypeAssertion:["typeAnnotation","expression"],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSModuleDeclaration:["id","body"],TSModuleBlock:["body"],TSImportType:["argument","qualifier","typeParameters","typeArguments"],TSImportEqualsDeclaration:["id","moduleReference"],TSExternalModuleReference:["expression"],TSNonNullExpression:["expression"],TSExportAssignment:["expression"],TSNamespaceExportDeclaration:["id"],TSTypeAnnotation:["typeAnnotation"],TSTypeParameterInstantiation:["params"],TSTypeParameterDeclaration:["params"],TSTypeParameter:["constraint","default","name"],ChainExpression:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],Literal:[],MethodDefinition:["decorators","key","value"],PrivateIdentifier:[],Property:["key","value"],PropertyDefinition:["decorators","key","typeAnnotation","value","variance"],AccessorProperty:["decorators","key","typeAnnotation","value"],TSAbstractAccessorProperty:["decorators","key","typeAnnotation"],TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:["decorators","key","typeAnnotation"],TSAsyncKeyword:[],TSClassImplements:["expression","typeArguments","typeParameters"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSEnumBody:["members"],TSExportKeyword:[],TSInterfaceHeritage:["expression","typeArguments","typeParameters"],TSPrivateKeyword:[],TSProtectedKeyword:[],TSPublicKeyword:[],TSReadonlyKeyword:[],TSStaticKeyword:[],TSTemplateLiteralType:["quasis","types"],AsConstExpression:["expression"],AsExpression:["expression","typeAnnotation"],BigIntLiteralTypeAnnotation:[],BigIntTypeAnnotation:[],ComponentDeclaration:["id","params","body","typeParameters","rendersType"],ComponentParameter:["name","local"],ComponentTypeAnnotation:["params","rest","typeParameters","rendersType"],ComponentTypeParameter:["name","typeAnnotation"],ConditionalTypeAnnotation:["checkType","extendsType","trueType","falseType"],DeclareComponent:["id","params","rest","typeParameters","rendersType"],DeclareEnum:["id","body"],DeclareHook:["id"],DeclareNamespace:["id","body"],EnumBigIntBody:["members"],EnumBigIntMember:["id","init"],HookDeclaration:["id","params","body","typeParameters","returnType"],HookTypeAnnotation:["params","returnType","rest","typeParameters"],InferTypeAnnotation:["typeParameter"],KeyofTypeAnnotation:["argument"],ObjectTypeMappedTypeProperty:["keyTparam","propType","sourceType","variance"],QualifiedTypeofIdentifier:["qualification","id"],TupleTypeLabeledElement:["label","elementType","variance"],TupleTypeSpreadElement:["label","typeAnnotation"],TypeOperator:["typeAnnotation"],TypePredicate:["parameterName","typeAnnotation","asserts"],NGRoot:["node"],NGPipeExpression:["left","right","arguments"],NGChainedExpression:["expressions"],NGEmptyExpression:[],NGMicrosyntax:["body"],NGMicrosyntaxKey:[],NGMicrosyntaxExpression:["expression","alias"],NGMicrosyntaxKeyedExpression:["key","expression"],NGMicrosyntaxLet:["key","value"],NGMicrosyntaxAs:["key","alias"],JsExpressionRoot:["node"],JsonRoot:["node"],TSJSDocAllType:[],TSJSDocUnknownType:[],TSJSDocNullableType:["typeAnnotation"],TSJSDocNonNullableType:["typeAnnotation"],NeverTypeAnnotation:[],UndefinedTypeAnnotation:[],UnknownTypeAnnotation:[],SatisfiesExpression:["expression","typeAnnotation"]},Nnn=$nn(Qnn),wnn=Nnn;R8t=f8t;YXt=Pnn,Bnn=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},wqe=Bnn,Inn=/\*\/$/,Mnn=/^\/\*\*?/,Wnn=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Unn=/(^|\s+)\/\/([^\n\r]*)/g,eXt=/^(\r?\n)+/,Fnn=/(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g,tXt=/(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g,Lnn=/(\r?\n|^) *\* ?/g,znn=[];Gnn=Knn;KXt=Jnn;GXt=Xnn,Znn={ecmaVersion:"latest",allowReturnOutsideFunction:!0,allowSuperOutsideMethod:!0,locations:!0,ranges:!0};tin=()=>(u8t??(u8t=Hd.extend((0,dnn.default)())),u8t);iin=KXt(nin),ain=iXt(aXt(),1),b4={Boolean:"Boolean",EOF:"",Identifier:"Identifier",PrivateIdentifier:"PrivateIdentifier",Keyword:"Keyword",Null:"Null",Numeric:"Numeric",Punctuator:"Punctuator",String:"String",RegularExpression:"RegularExpression",Template:"Template",JSXIdentifier:"JSXIdentifier",JSXText:"JSXText"};x8t.prototype={constructor:x8t,translate(e,t){let r=e.type,n=this._acornTokTypes;if(r===n.name)e.type=b4.Identifier,e.value==="static"&&(e.type=b4.Keyword),t.ecmaVersion>5&&(e.value==="yield"||e.value==="let")&&(e.type=b4.Keyword);else if(r===n.privateId)e.type=b4.PrivateIdentifier;else if(r===n.semi||r===n.comma||r===n.parenL||r===n.parenR||r===n.braceL||r===n.braceR||r===n.dot||r===n.bracketL||r===n.colon||r===n.question||r===n.bracketR||r===n.ellipsis||r===n.arrow||r===n.jsxTagStart||r===n.incDec||r===n.starstar||r===n.jsxTagEnd||r===n.prefix||r===n.questionDot||r.binop&&!r.keyword||r.isAssign)e.type=b4.Punctuator,e.value=this._code.slice(e.start,e.end);else if(r===n.jsxName)e.type=b4.JSXIdentifier;else if(r.label==="jsxText"||r===n.jsxAttrValueToken)e.type=b4.JSXText;else if(r.keyword)r.keyword==="true"||r.keyword==="false"?e.type=b4.Boolean:r.keyword==="null"?e.type=b4.Null:e.type=b4.Keyword;else if(r===n.num)e.type=b4.Numeric,e.value=this._code.slice(e.start,e.end);else if(r===n.string)t.jsxAttrValueToken?(t.jsxAttrValueToken=!1,e.type=b4.JSXText):e.type=b4.String,e.value=this._code.slice(e.start,e.end);else if(r===n.regexp){e.type=b4.RegularExpression;let i=e.value;e.regex={flags:i.flags,pattern:i.pattern},e.value=`/${i.pattern}/${i.flags}`}return e},onToken(e,t){let r=this._acornTokTypes,n=t.tokens,i=this._tokens,s=()=>{n.push(sin(this._tokens,this._code)),this._tokens=[]};if(e.type===r.eof){this._curlyBrace&&n.push(this.translate(this._curlyBrace,t));return}if(e.type===r.backQuote){this._curlyBrace&&(n.push(this.translate(this._curlyBrace,t)),this._curlyBrace=null),i.push(e),i.length>1&&s();return}if(e.type===r.dollarBraceL){i.push(e),s();return}if(e.type===r.braceR){this._curlyBrace&&n.push(this.translate(this._curlyBrace,t)),this._curlyBrace=e;return}if(e.type===r.template||e.type===r.invalidTemplate){this._curlyBrace&&(i.push(this._curlyBrace),this._curlyBrace=null),i.push(e);return}this._curlyBrace&&(n.push(this.translate(this._curlyBrace,t)),this._curlyBrace=null),n.push(this.translate(e,t))}};oin=x8t,VXt=[3,5,6,7,8,9,10,11,12,13,14,15,16];zJ=Symbol("espree's internal state"),l8t=Symbol("espree's esprimaFinishNode");rXt=()=>e=>{let t=Object.assign({},e.acorn.tokTypes);return e.acornJsx&&Object.assign(t,e.acornJsx.tokTypes),class extends e{constructor(r,n){(typeof r!="object"||r===null)&&(r={}),typeof n!="string"&&!(n instanceof String)&&(n=String(n));let i=r.sourceType,s=cin(r),R=s.ecmaFeatures||{},l=s.tokens===!0?new oin(t,n):null,c={originalSourceType:i||s.sourceType,tokens:l?[]:null,comments:s.comment===!0?[]:null,impliedStrict:R.impliedStrict===!0&&s.ecmaVersion>=5,ecmaVersion:s.ecmaVersion,jsxAttrValueToken:!1,lastToken:null,templateElements:[]};super({ecmaVersion:s.ecmaVersion,sourceType:s.sourceType,ranges:s.ranges,locations:s.locations,allowReserved:s.allowReserved,allowReturnOutsideFunction:s.allowReturnOutsideFunction,onToken(h){l&&l.onToken(h,c),h.type!==t.eof&&(c.lastToken=h)},onComment(h,_,f,m,x,y){if(c.comments){let A=Tin(h,_,f,m,x,y,n);c.comments.push(A)}}},n),this[zJ]=c}tokenize(){do this.next();while(this.type!==t.eof);this.next();let r=this[zJ],n=r.tokens;return r.comments&&(n.comments=r.comments),n}finishNode(...r){let n=super.finishNode(...r);return this[l8t](n)}finishNodeAt(...r){let n=super.finishNodeAt(...r);return this[l8t](n)}parse(){let r=this[zJ],n=super.parse();if(n.sourceType=r.originalSourceType,r.comments&&(n.comments=r.comments),r.tokens&&(n.tokens=r.tokens),n.body.length){let[i]=n.body;n.range&&(n.range[0]=i.range[0]),n.loc&&(n.loc.start=i.loc.start),n.start=i.start}return r.lastToken&&(n.range&&(n.range[1]=r.lastToken.range[1]),n.loc&&(n.loc.end=r.lastToken.loc.end),n.end=r.lastToken.end),this[zJ].templateElements.forEach(i=>{let s=i.tail?1:2;i.start+=-1,i.end+=s,i.range&&(i.range[0]+=-1,i.range[1]+=s),i.loc&&(i.loc.start.column+=-1,i.loc.end.column+=s)}),n}parseTopLevel(r){return this[zJ].impliedStrict&&(this.strict=!0),super.parseTopLevel(r)}raise(r,n){let i=e.acorn.getLineInfo(this.input,r),s=new SyntaxError(n);throw s.index=r,s.lineNumber=i.line,s.column=i.column+1,s}raiseRecoverable(r,n){this.raise(r,n)}unexpected(r){let n="Unexpected token";if(r!=null){if(this.pos=r,this.options.locations)for(;this.posthis.start&&(n+=` ${this.input.slice(this.start,this.end)}`),this.raise(this.start,n)}jsx_readString(r){let n=super.jsx_readString(r);return this.type===t.string&&(this[zJ].jsxAttrValueToken=!0),n}[l8t](r){return r.type==="TemplateElement"&&this[zJ].templateElements.push(r),r.type.includes("Function")&&!r.generator&&(r.generator=!1),r}}},pin={_regular:null,_jsx:null,get regular(){return this._regular===null&&(this._regular=Hd.extend(rXt())),this._regular},get jsx(){return this._jsx===null&&(this._jsx=Hd.extend((0,ain.default)(),rXt())),this._jsx},get(e){return e&&e.ecmaFeatures&&e.ecmaFeatures.jsx?this.jsx:this.regular}};hin={ecmaVersion:"latest",range:!0,loc:!0,comment:!0,tokens:!0,sourceType:"module",ecmaFeatures:{jsx:!0,globalReturn:!0,impliedStrict:!1}};xin=KXt(din),jXt={acorn:iin,espree:xin},min=sXt});var Jer={};x2(Jer,{default:()=>_sn,parsers:()=>c4t});function qin(e,t){return e==null||t==null?e==t:e.isEquivalent(t)}function Cin(e,t,r){let n=e.length;if(n!==t.length)return!1;for(let i=0;ir.isEquivalent(n))}function win(e,t,r){return new XZt(e,t,r)}function Win(e,t){if(t!=null&&!(Array.isArray(t)&&t.length==2))throw new Error(`Expected '${e}' to be an array, [start, end].`);if(t!=null){let r=t[0],n=t[1];Min.forEach(i=>{if(i.test(r)||i.test(n))throw new Error(`['${r}', '${n}'] contains unusable interpolation symbol.`)})}}function can(e){return e>=yer&&e<=qer||e==$er}function YJ(e){return Xin<=e&&e<=Zin}function Tan(e){return e>=Der&&e<=Ser||e>=Oer&&e<=ver}function fZt(e){return e===ger||e===Cer||e===lan}function QZt(e,t,r){return new uw(e,t,aR.Character,r,String.fromCharCode(r))}function Aan(e,t,r){return new uw(e,t,aR.Identifier,0,r)}function gan(e,t,r){return new uw(e,t,aR.PrivateIdentifier,0,r)}function ban(e,t,r){return new uw(e,t,aR.Keyword,0,r)}function v8t(e,t,r){return new uw(e,t,aR.Operator,0,r)}function Ean(e,t,r){return new uw(e,t,aR.String,0,r)}function Oan(e,t,r){return new uw(e,t,aR.Number,r,"")}function van(e,t,r){return new uw(e,t,aR.Error,0,r)}function NZt(e){return Der<=e&&e<=Ser||Oer<=e&&e<=ver||e==T4t||e==Aer}function wZt(e){return Tan(e)||YJ(e)||e==T4t||e==Aer}function San(e){return e==nan||e==ean}function $an(e){return e==Eer||e==ber}function Qan(e){switch(e){case aan:return Fin;case ian:return zin;case san:return Hin;case oan:return yer;case uan:return Lin;default:return e}}function Nan(e){let t=parseInt(e);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+e);return t}function Ian(e){let t=new Map,r=0,n=0,i=0;for(;il+c.length,0);n+=R,r+=R}t.set(n,r),i++}return t}function Rw(e){return t=>t.kind===e}function _he(e,t){return r=>r.kind===e&&t===r.expression instanceof Ber}function Wan(e){return(e.kind===w0.Property||e.kind===w0.TwoWayProperty)&&!(e.expression instanceof Ber)}function Jqe(e){return e.slice(e.length-1)}function UZt({start:e,end:t},r){let n=e,i=t;for(;i!==n&&/\s/.test(r[i-1]);)i--;for(;n!==i&&/\s/.test(r[n]);)n++;return{start:n,end:i}}function Uan({start:e,end:t},r){let n=e,i=t;for(;i!==r.length&&/\s/.test(r[i]);)i++;for(;n!==0&&/\s/.test(r[n-1]);)n--;return{start:n,end:i}}function Fan(e,t){return t[e.start-1]==="("&&t[e.end]===")"?{start:e.start-1,end:e.end+1}:e}function Lan(e,t,r){let n=0,i={start:e.start,end:e.end};for(;;){let s=Uan(i,t),R=Fan(s,t);if(s.start===R.start&&s.end===R.end)break;i.start=R.start,i.end=R.end,n++}return{hasParens:(r?n-1:n)!==0,outerSpan:UZt(r?{start:i.start+1,end:i.end-1}:i,t),innerSpan:UZt(e,t)}}function zer(e){return typeof e=="string"?t=>t===e:t=>e.test(t)}function zan(e,t,r){let n=zer(t);for(let i=r;i>=0;i--){let s=e[i];if(n(s))return i}throw new Error(`Cannot find front char ${t} from index ${r} in ${JSON.stringify(e)}`)}function Han(e,t,r){let n=zer(t);for(let i=r;i{let n=new Fer,i=new h4t(n),{text:s,comments:R}=Gan(r,t),l=e(s,i);if(l.errors.length!==0){let[{message:c}]=l.errors;throw new SyntaxError(c.replace(/^Parser Error: | at column \d+ in [^]*$/g,""))}return{result:l,comments:R,text:s}}}function f4t(e){var t;return!!((t=e.extra)!=null&&t.parenthesized)}function ZE(e){return f4t(e)?e.extra.parenStart:e.start}function eO(e){return f4t(e)?e.extra.parenEnd:e.end}function FZt(e){return(e.type==="OptionalCallExpression"||e.type==="OptionalMemberExpression")&&!f4t(e)}function LZt(e,t){let{start:r,end:n}=e.sourceSpan;return r>=n||/^\s+$/.test(t.slice(r,n))}function rsn(e,t){return new Yer(e,t).node}function zZt(e){return e instanceof mer}function HZt(e){return e instanceof r4t}function isn(e,t){return new nsn(e,t).expressions}function d4t({result:{ast:e},text:t,comments:r}){return Object.assign(rsn(e,t),{comments:r})}function asn({result:{templateBindings:e},text:t}){return isn(e,t)}function jer(e){var t,r,n;let i=((t=e.range)==null?void 0:t[0])??e.start,s=(n=((r=e.declaration)==null?void 0:r.decorators)??e.decorators)==null?void 0:n[0];return s?Math.min(jer(s),i):i}function usn(e){var t;return((t=e.range)==null?void 0:t[1])??e.end}function eCe(e){return{astFormat:"estree",parse(t){let r=e(t);return{type:"NGRoot",node:e===Ver&&r.type!=="NGChainedExpression"?{...r,type:"NGChainedExpression",expressions:[r]}:r}},locStart:jer,locEnd:usn}}var kin,VZt,jZt,l4t,sw,Yie,Vqe,Ja,JZt,c4t,h1i,ZXt,eZt,tZt,ow,rZt,nZt,iZt,aZt,yin,sZt,mx,uy,XZt,Ain,gin,bin,Ein,ZZt,Oin,oZt,vin,Din,v7,Sin,$in,eer,ter,dhe,rer,Qin,Nin,f1i,d1i,Ur,gD,Pin,RZt,uZt,V8t,xhe,g2,Zqe,CD,jqe,Bin,ser,oer,j8t,Rer,J8t,uer,X8t,ler,cer,AD,Ter,per,_er,aw,Z8t,her,fer,der,xer,t4t,KJ,Wie,r4t,mer,Iin,lZt,cZt,rW,TZt,Min,Uin,Uie,O8t,yer,Fin,Lin,zin,Hin,qer,Yin,Cer,Kin,Aer,Gin,pZt,ger,Yqe,uhe,Vin,ber,lhe,Eer,Fie,n4t,Lie,che,jin,Hqe,Jin,_Zt,Xin,Zin,Oer,ean,ver,Kqe,tan,The,ran,T4t,Der,nan,ian,aan,san,oan,Ran,uan,Ser,i4t,hZt,phe,$er,lan,dZt,xZt,mZt,kZt,pan,Qer,Ner,p4t,x1i,m1i,k1i,_an,y1i,wer,q1i,C1i,han,fan,dan,A1i,g1i,b1i,w0,GJ,yZt,qZt,CZt,nW,AZt,gZt,bZt,EZt,OZt,vZt,DZt,xan,Per,mhe,_4t,E1i,O1i,v1i,Ber,khe,D1i,S1i,man,$1i,kan,o4t,Q1i,SZt,N1i,w1i,P1i,B1i,yan,qan,$Zt,Uer,I1i,M1i,aR,Can,Fer,uw,D8t,Dan,wan,Pan,h4t,zie,ohe,Ban,Man,W1i,U1i,F1i,L1i,z1i,H1i,Y1i,K1i,PZt,G1i,V1i,BZt,IZt,Ler,j1i,J1i,X1i,MZt,WZt,Kan,Van,Z1i,jan,Jan,Xan,Zan,Her,esn,tsn,Gqe,hhe,Ao,tT,Rhe,Ap,u4t,Yer,fhe,Hie,s1,YZt,MC,S8t,$8t,Q8t,Ker,KZt,Ger,GZt,nsn,ssn,osn,Ver,Rsn,lsn,csn,Tsn,psn,_sn,Xer=mp(()=>{kin=Object.defineProperty,VZt=e=>{throw TypeError(e)},jZt=(e,t)=>{for(var r in t)kin(e,r,{get:t[r],enumerable:!0})},l4t=(e,t,r)=>t.has(e)||VZt("Cannot "+r),sw=(e,t,r)=>(l4t(e,t,"read from private field"),r?r.call(e):t.get(e)),Yie=(e,t,r)=>t.has(e)?VZt("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Vqe=(e,t,r,n)=>(l4t(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),Ja=(e,t,r)=>(l4t(e,t,"access private method"),r),JZt={};jZt(JZt,{parsers:()=>c4t});c4t={};jZt(c4t,{__ng_action:()=>lsn,__ng_binding:()=>csn,__ng_directive:()=>psn,__ng_interpolation:()=>Tsn});h1i=new RegExp(`(\\:not\\()|(([\\.\\#]?)[-\\w]+)|(?:\\[([-.\\w*\\\\$]+)(?:=(["']?)([^\\]"']*)\\5)?\\])|(\\))|(\\s*,\\s*)`,"g");(function(e){e[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom"})(ZXt||(ZXt={}));(function(e){e[e.OnPush=0]="OnPush",e[e.Default=1]="Default"})(eZt||(eZt={}));(function(e){e[e.None=0]="None",e[e.SignalBased=1]="SignalBased",e[e.HasDecoratorInputTransform=2]="HasDecoratorInputTransform"})(tZt||(tZt={}));(function(e){e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL"})(ow||(ow={}));(function(e){e[e.Error=0]="Error",e[e.Warning=1]="Warning",e[e.Ignore=2]="Ignore"})(rZt||(rZt={}));(function(e){e[e.Little=0]="Little",e[e.Big=1]="Big"})(nZt||(nZt={}));(function(e){e[e.None=0]="None",e[e.Const=1]="Const"})(iZt||(iZt={}));(function(e){e[e.Dynamic=0]="Dynamic",e[e.Bool=1]="Bool",e[e.String=2]="String",e[e.Int=3]="Int",e[e.Number=4]="Number",e[e.Function=5]="Function",e[e.Inferred=6]="Inferred",e[e.None=7]="None"})(aZt||(aZt={}));yin=void 0;(function(e){e[e.Minus=0]="Minus",e[e.Plus=1]="Plus"})(sZt||(sZt={}));(function(e){e[e.Equals=0]="Equals",e[e.NotEquals=1]="NotEquals",e[e.Identical=2]="Identical",e[e.NotIdentical=3]="NotIdentical",e[e.Minus=4]="Minus",e[e.Plus=5]="Plus",e[e.Divide=6]="Divide",e[e.Multiply=7]="Multiply",e[e.Modulo=8]="Modulo",e[e.And=9]="And",e[e.Or=10]="Or",e[e.BitwiseOr=11]="BitwiseOr",e[e.BitwiseAnd=12]="BitwiseAnd",e[e.Lower=13]="Lower",e[e.LowerEquals=14]="LowerEquals",e[e.Bigger=15]="Bigger",e[e.BiggerEquals=16]="BiggerEquals",e[e.NullishCoalesce=17]="NullishCoalesce"})(mx||(mx={}));uy=class{type;sourceSpan;constructor(e,t){this.type=e||null,this.sourceSpan=t||null}prop(e,t){return new Sin(this,e,null,t)}key(e,t,r){return new $in(this,e,t,r)}callFn(e,t,r){return new ZZt(this,e,null,t,r)}instantiate(e,t,r){return new Oin(this,e,t,r)}conditional(e,t=null,r){return new Din(this,e,t,null,r)}equals(e,t){return new v7(mx.Equals,this,e,null,t)}notEquals(e,t){return new v7(mx.NotEquals,this,e,null,t)}identical(e,t){return new v7(mx.Identical,this,e,null,t)}notIdentical(e,t){return new v7(mx.NotIdentical,this,e,null,t)}minus(e,t){return new v7(mx.Minus,this,e,null,t)}plus(e,t){return new v7(mx.Plus,this,e,null,t)}divide(e,t){return new v7(mx.Divide,this,e,null,t)}multiply(e,t){return new v7(mx.Multiply,this,e,null,t)}modulo(e,t){return new v7(mx.Modulo,this,e,null,t)}and(e,t){return new v7(mx.And,this,e,null,t)}bitwiseOr(e,t,r=!0){return new v7(mx.BitwiseOr,this,e,null,t,r)}bitwiseAnd(e,t,r=!0){return new v7(mx.BitwiseAnd,this,e,null,t,r)}or(e,t){return new v7(mx.Or,this,e,null,t)}lower(e,t){return new v7(mx.Lower,this,e,null,t)}lowerEquals(e,t){return new v7(mx.LowerEquals,this,e,null,t)}bigger(e,t){return new v7(mx.Bigger,this,e,null,t)}biggerEquals(e,t){return new v7(mx.BiggerEquals,this,e,null,t)}isBlank(e){return this.equals(TYPED_NULL_EXPR,e)}nullishCoalesce(e,t){return new v7(mx.NullishCoalesce,this,e,null,t)}toStmt(){return new Nin(this,null)}},XZt=class N8t extends uy{name;constructor(t,r,n){super(r,n),this.name=t}isEquivalent(t){return t instanceof N8t&&this.name===t.name}isConstant(){return!1}visitExpression(t,r){return t.visitReadVarExpr(this,r)}clone(){return new N8t(this.name,this.type,this.sourceSpan)}set(t){return new gin(this.name,t,null,this.sourceSpan)}},Ain=class w8t extends uy{expr;constructor(t,r,n){super(r,n),this.expr=t}visitExpression(t,r){return t.visitTypeofExpr(this,r)}isEquivalent(t){return t instanceof w8t&&t.expr.isEquivalent(this.expr)}isConstant(){return this.expr.isConstant()}clone(){return new w8t(this.expr.clone())}},gin=class P8t extends uy{name;value;constructor(t,r,n,i){super(n||r.type,i),this.name=t,this.value=r}isEquivalent(t){return t instanceof P8t&&this.name===t.name&&this.value.isEquivalent(t.value)}isConstant(){return!1}visitExpression(t,r){return t.visitWriteVarExpr(this,r)}clone(){return new P8t(this.name,this.value.clone(),this.type,this.sourceSpan)}toDeclStmt(t,r){return new Qin(this.name,this.value,t,r,this.sourceSpan)}toConstDecl(){return this.toDeclStmt(yin,dhe.Final)}},bin=class B8t extends uy{receiver;index;value;constructor(t,r,n,i,s){super(i||n.type,s),this.receiver=t,this.index=r,this.value=n}isEquivalent(t){return t instanceof B8t&&this.receiver.isEquivalent(t.receiver)&&this.index.isEquivalent(t.index)&&this.value.isEquivalent(t.value)}isConstant(){return!1}visitExpression(t,r){return t.visitWriteKeyExpr(this,r)}clone(){return new B8t(this.receiver.clone(),this.index.clone(),this.value.clone(),this.type,this.sourceSpan)}},Ein=class I8t extends uy{receiver;name;value;constructor(t,r,n,i,s){super(i||n.type,s),this.receiver=t,this.name=r,this.value=n}isEquivalent(t){return t instanceof I8t&&this.receiver.isEquivalent(t.receiver)&&this.name===t.name&&this.value.isEquivalent(t.value)}isConstant(){return!1}visitExpression(t,r){return t.visitWritePropExpr(this,r)}clone(){return new I8t(this.receiver.clone(),this.name,this.value.clone(),this.type,this.sourceSpan)}},ZZt=class M8t extends uy{fn;args;pure;constructor(t,r,n,i,s=!1){super(n,i),this.fn=t,this.args=r,this.pure=s}get receiver(){return this.fn}isEquivalent(t){return t instanceof M8t&&this.fn.isEquivalent(t.fn)&&Xqe(this.args,t.args)&&this.pure===t.pure}isConstant(){return!1}visitExpression(t,r){return t.visitInvokeFunctionExpr(this,r)}clone(){return new M8t(this.fn.clone(),this.args.map(t=>t.clone()),this.type,this.sourceSpan,this.pure)}},Oin=class W8t extends uy{classExpr;args;constructor(t,r,n,i){super(n,i),this.classExpr=t,this.args=r}isEquivalent(t){return t instanceof W8t&&this.classExpr.isEquivalent(t.classExpr)&&Xqe(this.args,t.args)}isConstant(){return!1}visitExpression(t,r){return t.visitInstantiateExpr(this,r)}clone(){return new W8t(this.classExpr.clone(),this.args.map(t=>t.clone()),this.type,this.sourceSpan)}},oZt=class U8t extends uy{value;constructor(t,r,n){super(r,n),this.value=t}isEquivalent(t){return t instanceof U8t&&this.value===t.value}isConstant(){return!0}visitExpression(t,r){return t.visitLiteralExpr(this,r)}clone(){return new U8t(this.value,this.type,this.sourceSpan)}},vin=class F8t extends uy{value;typeParams;constructor(t,r,n=null,i){super(r,i),this.value=t,this.typeParams=n}isEquivalent(t){return t instanceof F8t&&this.value.name===t.value.name&&this.value.moduleName===t.value.moduleName}isConstant(){return!1}visitExpression(t,r){return t.visitExternalExpr(this,r)}clone(){return new F8t(this.value,this.type,this.typeParams,this.sourceSpan)}},Din=class L8t extends uy{condition;falseCase;trueCase;constructor(t,r,n=null,i,s){super(i||r.type,s),this.condition=t,this.falseCase=n,this.trueCase=r}isEquivalent(t){return t instanceof L8t&&this.condition.isEquivalent(t.condition)&&this.trueCase.isEquivalent(t.trueCase)&&qin(this.falseCase,t.falseCase)}isConstant(){return!1}visitExpression(t,r){return t.visitConditionalExpr(this,r)}clone(){var t;return new L8t(this.condition.clone(),this.trueCase.clone(),(t=this.falseCase)==null?void 0:t.clone(),this.type,this.sourceSpan)}},v7=class z8t extends uy{operator;rhs;parens;lhs;constructor(t,r,n,i,s,R=!0){super(i||r.type,s),this.operator=t,this.rhs=n,this.parens=R,this.lhs=r}isEquivalent(t){return t instanceof z8t&&this.operator===t.operator&&this.lhs.isEquivalent(t.lhs)&&this.rhs.isEquivalent(t.rhs)}isConstant(){return!1}visitExpression(t,r){return t.visitBinaryOperatorExpr(this,r)}clone(){return new z8t(this.operator,this.lhs.clone(),this.rhs.clone(),this.type,this.sourceSpan,this.parens)}},Sin=class H8t extends uy{receiver;name;constructor(t,r,n,i){super(n,i),this.receiver=t,this.name=r}get index(){return this.name}isEquivalent(t){return t instanceof H8t&&this.receiver.isEquivalent(t.receiver)&&this.name===t.name}isConstant(){return!1}visitExpression(t,r){return t.visitReadPropExpr(this,r)}set(t){return new Ein(this.receiver,this.name,t,null,this.sourceSpan)}clone(){return new H8t(this.receiver.clone(),this.name,this.type,this.sourceSpan)}},$in=class Y8t extends uy{receiver;index;constructor(t,r,n,i){super(n,i),this.receiver=t,this.index=r}isEquivalent(t){return t instanceof Y8t&&this.receiver.isEquivalent(t.receiver)&&this.index.isEquivalent(t.index)}isConstant(){return!1}visitExpression(t,r){return t.visitReadKeyExpr(this,r)}set(t){return new bin(this.receiver,this.index,t,null,this.sourceSpan)}clone(){return new Y8t(this.receiver.clone(),this.index.clone(),this.type,this.sourceSpan)}},eer=class K8t extends uy{entries;constructor(t,r,n){super(r,n),this.entries=t}isConstant(){return this.entries.every(t=>t.isConstant())}isEquivalent(t){return t instanceof K8t&&Xqe(this.entries,t.entries)}visitExpression(t,r){return t.visitLiteralArrayExpr(this,r)}clone(){return new K8t(this.entries.map(t=>t.clone()),this.type,this.sourceSpan)}},ter=class G8t extends uy{entries;valueType=null;constructor(t,r,n){super(r,n),this.entries=t,r&&(this.valueType=r.valueType)}isEquivalent(t){return t instanceof G8t&&Xqe(this.entries,t.entries)}isConstant(){return this.entries.every(t=>t.value.isConstant())}visitExpression(t,r){return t.visitLiteralMapExpr(this,r)}clone(){let t=this.entries.map(r=>r.clone());return new G8t(t,this.type,this.sourceSpan)}};(function(e){e[e.None=0]="None",e[e.Final=1]="Final",e[e.Private=2]="Private",e[e.Exported=4]="Exported",e[e.Static=8]="Static"})(dhe||(dhe={}));rer=class{modifiers;sourceSpan;leadingComments;constructor(e=dhe.None,t=null,r){this.modifiers=e,this.sourceSpan=t,this.leadingComments=r}hasModifier(e){return(this.modifiers&e)!==0}addLeadingComment(e){this.leadingComments=this.leadingComments??[],this.leadingComments.push(e)}},Qin=class ner extends rer{name;value;type;constructor(t,r,n,i,s,R){super(i,s,R),this.name=t,this.value=r,this.type=n||r&&r.type||null}isEquivalent(t){return t instanceof ner&&this.name===t.name&&(this.value?!!t.value&&this.value.isEquivalent(t.value):!t.value)}visitStatement(t,r){return t.visitDeclareVarStmt(this,r)}},Nin=class ier extends rer{expr;constructor(t,r,n){super(dhe.None,r,n),this.expr=t}isEquivalent(t){return t instanceof ier&&this.expr.isEquivalent(t.expr)}visitStatement(t,r){return t.visitExpressionStmt(this,r)}};f1i=win(""),d1i=class aer{static INSTANCE=new aer;keyOf(t){if(t instanceof oZt&&typeof t.value=="string")return`"${t.value}"`;if(t instanceof oZt)return String(t.value);if(t instanceof eer){let r=[];for(let n of t.entries)r.push(this.keyOf(n));return`[${r.join(",")}]`}else if(t instanceof ter){let r=[];for(let n of t.entries){let i=n.key;n.quoted&&(i=`"${i}"`),r.push(i+":"+this.keyOf(n.value))}return`{${r.join(",")}}`}else{if(t instanceof vin)return`import("${t.value.moduleName}", ${t.value.name})`;if(t instanceof XZt)return`read(${t.name})`;if(t instanceof Ain)return`typeof(${this.keyOf(t.expr)})`;throw new Error(`${this.constructor.name} does not handle expressions of type ${t.constructor.name}`)}}},Ur="@angular/core",gD=class{static NEW_METHOD="factory";static TRANSFORM_METHOD="transform";static PATCH_DEPS="patchedDeps";static core={name:null,moduleName:Ur};static namespaceHTML={name:"\u0275\u0275namespaceHTML",moduleName:Ur};static namespaceMathML={name:"\u0275\u0275namespaceMathML",moduleName:Ur};static namespaceSVG={name:"\u0275\u0275namespaceSVG",moduleName:Ur};static element={name:"\u0275\u0275element",moduleName:Ur};static elementStart={name:"\u0275\u0275elementStart",moduleName:Ur};static elementEnd={name:"\u0275\u0275elementEnd",moduleName:Ur};static advance={name:"\u0275\u0275advance",moduleName:Ur};static syntheticHostProperty={name:"\u0275\u0275syntheticHostProperty",moduleName:Ur};static syntheticHostListener={name:"\u0275\u0275syntheticHostListener",moduleName:Ur};static attribute={name:"\u0275\u0275attribute",moduleName:Ur};static attributeInterpolate1={name:"\u0275\u0275attributeInterpolate1",moduleName:Ur};static attributeInterpolate2={name:"\u0275\u0275attributeInterpolate2",moduleName:Ur};static attributeInterpolate3={name:"\u0275\u0275attributeInterpolate3",moduleName:Ur};static attributeInterpolate4={name:"\u0275\u0275attributeInterpolate4",moduleName:Ur};static attributeInterpolate5={name:"\u0275\u0275attributeInterpolate5",moduleName:Ur};static attributeInterpolate6={name:"\u0275\u0275attributeInterpolate6",moduleName:Ur};static attributeInterpolate7={name:"\u0275\u0275attributeInterpolate7",moduleName:Ur};static attributeInterpolate8={name:"\u0275\u0275attributeInterpolate8",moduleName:Ur};static attributeInterpolateV={name:"\u0275\u0275attributeInterpolateV",moduleName:Ur};static classProp={name:"\u0275\u0275classProp",moduleName:Ur};static elementContainerStart={name:"\u0275\u0275elementContainerStart",moduleName:Ur};static elementContainerEnd={name:"\u0275\u0275elementContainerEnd",moduleName:Ur};static elementContainer={name:"\u0275\u0275elementContainer",moduleName:Ur};static styleMap={name:"\u0275\u0275styleMap",moduleName:Ur};static styleMapInterpolate1={name:"\u0275\u0275styleMapInterpolate1",moduleName:Ur};static styleMapInterpolate2={name:"\u0275\u0275styleMapInterpolate2",moduleName:Ur};static styleMapInterpolate3={name:"\u0275\u0275styleMapInterpolate3",moduleName:Ur};static styleMapInterpolate4={name:"\u0275\u0275styleMapInterpolate4",moduleName:Ur};static styleMapInterpolate5={name:"\u0275\u0275styleMapInterpolate5",moduleName:Ur};static styleMapInterpolate6={name:"\u0275\u0275styleMapInterpolate6",moduleName:Ur};static styleMapInterpolate7={name:"\u0275\u0275styleMapInterpolate7",moduleName:Ur};static styleMapInterpolate8={name:"\u0275\u0275styleMapInterpolate8",moduleName:Ur};static styleMapInterpolateV={name:"\u0275\u0275styleMapInterpolateV",moduleName:Ur};static classMap={name:"\u0275\u0275classMap",moduleName:Ur};static classMapInterpolate1={name:"\u0275\u0275classMapInterpolate1",moduleName:Ur};static classMapInterpolate2={name:"\u0275\u0275classMapInterpolate2",moduleName:Ur};static classMapInterpolate3={name:"\u0275\u0275classMapInterpolate3",moduleName:Ur};static classMapInterpolate4={name:"\u0275\u0275classMapInterpolate4",moduleName:Ur};static classMapInterpolate5={name:"\u0275\u0275classMapInterpolate5",moduleName:Ur};static classMapInterpolate6={name:"\u0275\u0275classMapInterpolate6",moduleName:Ur};static classMapInterpolate7={name:"\u0275\u0275classMapInterpolate7",moduleName:Ur};static classMapInterpolate8={name:"\u0275\u0275classMapInterpolate8",moduleName:Ur};static classMapInterpolateV={name:"\u0275\u0275classMapInterpolateV",moduleName:Ur};static styleProp={name:"\u0275\u0275styleProp",moduleName:Ur};static stylePropInterpolate1={name:"\u0275\u0275stylePropInterpolate1",moduleName:Ur};static stylePropInterpolate2={name:"\u0275\u0275stylePropInterpolate2",moduleName:Ur};static stylePropInterpolate3={name:"\u0275\u0275stylePropInterpolate3",moduleName:Ur};static stylePropInterpolate4={name:"\u0275\u0275stylePropInterpolate4",moduleName:Ur};static stylePropInterpolate5={name:"\u0275\u0275stylePropInterpolate5",moduleName:Ur};static stylePropInterpolate6={name:"\u0275\u0275stylePropInterpolate6",moduleName:Ur};static stylePropInterpolate7={name:"\u0275\u0275stylePropInterpolate7",moduleName:Ur};static stylePropInterpolate8={name:"\u0275\u0275stylePropInterpolate8",moduleName:Ur};static stylePropInterpolateV={name:"\u0275\u0275stylePropInterpolateV",moduleName:Ur};static nextContext={name:"\u0275\u0275nextContext",moduleName:Ur};static resetView={name:"\u0275\u0275resetView",moduleName:Ur};static templateCreate={name:"\u0275\u0275template",moduleName:Ur};static defer={name:"\u0275\u0275defer",moduleName:Ur};static deferWhen={name:"\u0275\u0275deferWhen",moduleName:Ur};static deferOnIdle={name:"\u0275\u0275deferOnIdle",moduleName:Ur};static deferOnImmediate={name:"\u0275\u0275deferOnImmediate",moduleName:Ur};static deferOnTimer={name:"\u0275\u0275deferOnTimer",moduleName:Ur};static deferOnHover={name:"\u0275\u0275deferOnHover",moduleName:Ur};static deferOnInteraction={name:"\u0275\u0275deferOnInteraction",moduleName:Ur};static deferOnViewport={name:"\u0275\u0275deferOnViewport",moduleName:Ur};static deferPrefetchWhen={name:"\u0275\u0275deferPrefetchWhen",moduleName:Ur};static deferPrefetchOnIdle={name:"\u0275\u0275deferPrefetchOnIdle",moduleName:Ur};static deferPrefetchOnImmediate={name:"\u0275\u0275deferPrefetchOnImmediate",moduleName:Ur};static deferPrefetchOnTimer={name:"\u0275\u0275deferPrefetchOnTimer",moduleName:Ur};static deferPrefetchOnHover={name:"\u0275\u0275deferPrefetchOnHover",moduleName:Ur};static deferPrefetchOnInteraction={name:"\u0275\u0275deferPrefetchOnInteraction",moduleName:Ur};static deferPrefetchOnViewport={name:"\u0275\u0275deferPrefetchOnViewport",moduleName:Ur};static deferHydrateWhen={name:"\u0275\u0275deferHydrateWhen",moduleName:Ur};static deferHydrateNever={name:"\u0275\u0275deferHydrateNever",moduleName:Ur};static deferHydrateOnIdle={name:"\u0275\u0275deferHydrateOnIdle",moduleName:Ur};static deferHydrateOnImmediate={name:"\u0275\u0275deferHydrateOnImmediate",moduleName:Ur};static deferHydrateOnTimer={name:"\u0275\u0275deferHydrateOnTimer",moduleName:Ur};static deferHydrateOnHover={name:"\u0275\u0275deferHydrateOnHover",moduleName:Ur};static deferHydrateOnInteraction={name:"\u0275\u0275deferHydrateOnInteraction",moduleName:Ur};static deferHydrateOnViewport={name:"\u0275\u0275deferHydrateOnViewport",moduleName:Ur};static deferEnableTimerScheduling={name:"\u0275\u0275deferEnableTimerScheduling",moduleName:Ur};static conditional={name:"\u0275\u0275conditional",moduleName:Ur};static repeater={name:"\u0275\u0275repeater",moduleName:Ur};static repeaterCreate={name:"\u0275\u0275repeaterCreate",moduleName:Ur};static repeaterTrackByIndex={name:"\u0275\u0275repeaterTrackByIndex",moduleName:Ur};static repeaterTrackByIdentity={name:"\u0275\u0275repeaterTrackByIdentity",moduleName:Ur};static componentInstance={name:"\u0275\u0275componentInstance",moduleName:Ur};static text={name:"\u0275\u0275text",moduleName:Ur};static enableBindings={name:"\u0275\u0275enableBindings",moduleName:Ur};static disableBindings={name:"\u0275\u0275disableBindings",moduleName:Ur};static getCurrentView={name:"\u0275\u0275getCurrentView",moduleName:Ur};static textInterpolate={name:"\u0275\u0275textInterpolate",moduleName:Ur};static textInterpolate1={name:"\u0275\u0275textInterpolate1",moduleName:Ur};static textInterpolate2={name:"\u0275\u0275textInterpolate2",moduleName:Ur};static textInterpolate3={name:"\u0275\u0275textInterpolate3",moduleName:Ur};static textInterpolate4={name:"\u0275\u0275textInterpolate4",moduleName:Ur};static textInterpolate5={name:"\u0275\u0275textInterpolate5",moduleName:Ur};static textInterpolate6={name:"\u0275\u0275textInterpolate6",moduleName:Ur};static textInterpolate7={name:"\u0275\u0275textInterpolate7",moduleName:Ur};static textInterpolate8={name:"\u0275\u0275textInterpolate8",moduleName:Ur};static textInterpolateV={name:"\u0275\u0275textInterpolateV",moduleName:Ur};static restoreView={name:"\u0275\u0275restoreView",moduleName:Ur};static pureFunction0={name:"\u0275\u0275pureFunction0",moduleName:Ur};static pureFunction1={name:"\u0275\u0275pureFunction1",moduleName:Ur};static pureFunction2={name:"\u0275\u0275pureFunction2",moduleName:Ur};static pureFunction3={name:"\u0275\u0275pureFunction3",moduleName:Ur};static pureFunction4={name:"\u0275\u0275pureFunction4",moduleName:Ur};static pureFunction5={name:"\u0275\u0275pureFunction5",moduleName:Ur};static pureFunction6={name:"\u0275\u0275pureFunction6",moduleName:Ur};static pureFunction7={name:"\u0275\u0275pureFunction7",moduleName:Ur};static pureFunction8={name:"\u0275\u0275pureFunction8",moduleName:Ur};static pureFunctionV={name:"\u0275\u0275pureFunctionV",moduleName:Ur};static pipeBind1={name:"\u0275\u0275pipeBind1",moduleName:Ur};static pipeBind2={name:"\u0275\u0275pipeBind2",moduleName:Ur};static pipeBind3={name:"\u0275\u0275pipeBind3",moduleName:Ur};static pipeBind4={name:"\u0275\u0275pipeBind4",moduleName:Ur};static pipeBindV={name:"\u0275\u0275pipeBindV",moduleName:Ur};static hostProperty={name:"\u0275\u0275hostProperty",moduleName:Ur};static property={name:"\u0275\u0275property",moduleName:Ur};static propertyInterpolate={name:"\u0275\u0275propertyInterpolate",moduleName:Ur};static propertyInterpolate1={name:"\u0275\u0275propertyInterpolate1",moduleName:Ur};static propertyInterpolate2={name:"\u0275\u0275propertyInterpolate2",moduleName:Ur};static propertyInterpolate3={name:"\u0275\u0275propertyInterpolate3",moduleName:Ur};static propertyInterpolate4={name:"\u0275\u0275propertyInterpolate4",moduleName:Ur};static propertyInterpolate5={name:"\u0275\u0275propertyInterpolate5",moduleName:Ur};static propertyInterpolate6={name:"\u0275\u0275propertyInterpolate6",moduleName:Ur};static propertyInterpolate7={name:"\u0275\u0275propertyInterpolate7",moduleName:Ur};static propertyInterpolate8={name:"\u0275\u0275propertyInterpolate8",moduleName:Ur};static propertyInterpolateV={name:"\u0275\u0275propertyInterpolateV",moduleName:Ur};static i18n={name:"\u0275\u0275i18n",moduleName:Ur};static i18nAttributes={name:"\u0275\u0275i18nAttributes",moduleName:Ur};static i18nExp={name:"\u0275\u0275i18nExp",moduleName:Ur};static i18nStart={name:"\u0275\u0275i18nStart",moduleName:Ur};static i18nEnd={name:"\u0275\u0275i18nEnd",moduleName:Ur};static i18nApply={name:"\u0275\u0275i18nApply",moduleName:Ur};static i18nPostprocess={name:"\u0275\u0275i18nPostprocess",moduleName:Ur};static pipe={name:"\u0275\u0275pipe",moduleName:Ur};static projection={name:"\u0275\u0275projection",moduleName:Ur};static projectionDef={name:"\u0275\u0275projectionDef",moduleName:Ur};static reference={name:"\u0275\u0275reference",moduleName:Ur};static inject={name:"\u0275\u0275inject",moduleName:Ur};static injectAttribute={name:"\u0275\u0275injectAttribute",moduleName:Ur};static directiveInject={name:"\u0275\u0275directiveInject",moduleName:Ur};static invalidFactory={name:"\u0275\u0275invalidFactory",moduleName:Ur};static invalidFactoryDep={name:"\u0275\u0275invalidFactoryDep",moduleName:Ur};static templateRefExtractor={name:"\u0275\u0275templateRefExtractor",moduleName:Ur};static forwardRef={name:"forwardRef",moduleName:Ur};static resolveForwardRef={name:"resolveForwardRef",moduleName:Ur};static replaceMetadata={name:"\u0275\u0275replaceMetadata",moduleName:Ur};static \u0275\u0275defineInjectable={name:"\u0275\u0275defineInjectable",moduleName:Ur};static declareInjectable={name:"\u0275\u0275ngDeclareInjectable",moduleName:Ur};static InjectableDeclaration={name:"\u0275\u0275InjectableDeclaration",moduleName:Ur};static resolveWindow={name:"\u0275\u0275resolveWindow",moduleName:Ur};static resolveDocument={name:"\u0275\u0275resolveDocument",moduleName:Ur};static resolveBody={name:"\u0275\u0275resolveBody",moduleName:Ur};static getComponentDepsFactory={name:"\u0275\u0275getComponentDepsFactory",moduleName:Ur};static defineComponent={name:"\u0275\u0275defineComponent",moduleName:Ur};static declareComponent={name:"\u0275\u0275ngDeclareComponent",moduleName:Ur};static setComponentScope={name:"\u0275\u0275setComponentScope",moduleName:Ur};static ChangeDetectionStrategy={name:"ChangeDetectionStrategy",moduleName:Ur};static ViewEncapsulation={name:"ViewEncapsulation",moduleName:Ur};static ComponentDeclaration={name:"\u0275\u0275ComponentDeclaration",moduleName:Ur};static FactoryDeclaration={name:"\u0275\u0275FactoryDeclaration",moduleName:Ur};static declareFactory={name:"\u0275\u0275ngDeclareFactory",moduleName:Ur};static FactoryTarget={name:"\u0275\u0275FactoryTarget",moduleName:Ur};static defineDirective={name:"\u0275\u0275defineDirective",moduleName:Ur};static declareDirective={name:"\u0275\u0275ngDeclareDirective",moduleName:Ur};static DirectiveDeclaration={name:"\u0275\u0275DirectiveDeclaration",moduleName:Ur};static InjectorDef={name:"\u0275\u0275InjectorDef",moduleName:Ur};static InjectorDeclaration={name:"\u0275\u0275InjectorDeclaration",moduleName:Ur};static defineInjector={name:"\u0275\u0275defineInjector",moduleName:Ur};static declareInjector={name:"\u0275\u0275ngDeclareInjector",moduleName:Ur};static NgModuleDeclaration={name:"\u0275\u0275NgModuleDeclaration",moduleName:Ur};static ModuleWithProviders={name:"ModuleWithProviders",moduleName:Ur};static defineNgModule={name:"\u0275\u0275defineNgModule",moduleName:Ur};static declareNgModule={name:"\u0275\u0275ngDeclareNgModule",moduleName:Ur};static setNgModuleScope={name:"\u0275\u0275setNgModuleScope",moduleName:Ur};static registerNgModuleType={name:"\u0275\u0275registerNgModuleType",moduleName:Ur};static PipeDeclaration={name:"\u0275\u0275PipeDeclaration",moduleName:Ur};static definePipe={name:"\u0275\u0275definePipe",moduleName:Ur};static declarePipe={name:"\u0275\u0275ngDeclarePipe",moduleName:Ur};static declareClassMetadata={name:"\u0275\u0275ngDeclareClassMetadata",moduleName:Ur};static declareClassMetadataAsync={name:"\u0275\u0275ngDeclareClassMetadataAsync",moduleName:Ur};static setClassMetadata={name:"\u0275setClassMetadata",moduleName:Ur};static setClassMetadataAsync={name:"\u0275setClassMetadataAsync",moduleName:Ur};static setClassDebugInfo={name:"\u0275setClassDebugInfo",moduleName:Ur};static queryRefresh={name:"\u0275\u0275queryRefresh",moduleName:Ur};static viewQuery={name:"\u0275\u0275viewQuery",moduleName:Ur};static loadQuery={name:"\u0275\u0275loadQuery",moduleName:Ur};static contentQuery={name:"\u0275\u0275contentQuery",moduleName:Ur};static viewQuerySignal={name:"\u0275\u0275viewQuerySignal",moduleName:Ur};static contentQuerySignal={name:"\u0275\u0275contentQuerySignal",moduleName:Ur};static queryAdvance={name:"\u0275\u0275queryAdvance",moduleName:Ur};static twoWayProperty={name:"\u0275\u0275twoWayProperty",moduleName:Ur};static twoWayBindingSet={name:"\u0275\u0275twoWayBindingSet",moduleName:Ur};static twoWayListener={name:"\u0275\u0275twoWayListener",moduleName:Ur};static declareLet={name:"\u0275\u0275declareLet",moduleName:Ur};static storeLet={name:"\u0275\u0275storeLet",moduleName:Ur};static readContextLet={name:"\u0275\u0275readContextLet",moduleName:Ur};static NgOnChangesFeature={name:"\u0275\u0275NgOnChangesFeature",moduleName:Ur};static InheritDefinitionFeature={name:"\u0275\u0275InheritDefinitionFeature",moduleName:Ur};static CopyDefinitionFeature={name:"\u0275\u0275CopyDefinitionFeature",moduleName:Ur};static ProvidersFeature={name:"\u0275\u0275ProvidersFeature",moduleName:Ur};static HostDirectivesFeature={name:"\u0275\u0275HostDirectivesFeature",moduleName:Ur};static InputTransformsFeatureFeature={name:"\u0275\u0275InputTransformsFeature",moduleName:Ur};static ExternalStylesFeature={name:"\u0275\u0275ExternalStylesFeature",moduleName:Ur};static listener={name:"\u0275\u0275listener",moduleName:Ur};static getInheritedFactory={name:"\u0275\u0275getInheritedFactory",moduleName:Ur};static sanitizeHtml={name:"\u0275\u0275sanitizeHtml",moduleName:Ur};static sanitizeStyle={name:"\u0275\u0275sanitizeStyle",moduleName:Ur};static sanitizeResourceUrl={name:"\u0275\u0275sanitizeResourceUrl",moduleName:Ur};static sanitizeScript={name:"\u0275\u0275sanitizeScript",moduleName:Ur};static sanitizeUrl={name:"\u0275\u0275sanitizeUrl",moduleName:Ur};static sanitizeUrlOrResourceUrl={name:"\u0275\u0275sanitizeUrlOrResourceUrl",moduleName:Ur};static trustConstantHtml={name:"\u0275\u0275trustConstantHtml",moduleName:Ur};static trustConstantResourceUrl={name:"\u0275\u0275trustConstantResourceUrl",moduleName:Ur};static validateIframeAttribute={name:"\u0275\u0275validateIframeAttribute",moduleName:Ur};static InputSignalBrandWriteType={name:"\u0275INPUT_SIGNAL_BRAND_WRITE_TYPE",moduleName:Ur};static UnwrapDirectiveSignalInputs={name:"\u0275UnwrapDirectiveSignalInputs",moduleName:Ur};static unwrapWritableSignal={name:"\u0275unwrapWritableSignal",moduleName:Ur}},Pin=class{full;major;minor;patch;constructor(e){this.full=e;let t=e.split(".");this.major=t[0],this.minor=t[1],this.patch=t.slice(2).join(".")}};(function(e){e[e.Class=0]="Class",e[e.Function=1]="Function"})(RZt||(RZt={}));(function(e){e[e.Directive=0]="Directive",e[e.Component=1]="Component",e[e.Injectable=2]="Injectable",e[e.Pipe=3]="Pipe",e[e.NgModule=4]="NgModule"})(uZt||(uZt={}));V8t=class{input;errLocation;ctxLocation;message;constructor(e,t,r,n){this.input=t,this.errLocation=r,this.ctxLocation=n,this.message=`Parser Error: ${e} ${r} [${t}] in ${n}`}},xhe=class{start;end;constructor(e,t){this.start=e,this.end=t}toAbsolute(e){return new KJ(e+this.start,e+this.end)}},g2=class{span;sourceSpan;constructor(e,t){this.span=e,this.sourceSpan=t}toString(){return"AST"}},Zqe=class extends g2{nameSpan;constructor(e,t,r){super(e,t),this.nameSpan=r}},CD=class extends g2{visit(e,t=null){}},jqe=class extends g2{visit(e,t=null){return e.visitImplicitReceiver(this,t)}},Bin=class extends jqe{visit(e,t=null){var r;return(r=e.visitThisReceiver)==null?void 0:r.call(e,this,t)}},ser=class extends g2{expressions;constructor(e,t,r){super(e,t),this.expressions=r}visit(e,t=null){return e.visitChain(this,t)}},oer=class extends g2{condition;trueExp;falseExp;constructor(e,t,r,n,i){super(e,t),this.condition=r,this.trueExp=n,this.falseExp=i}visit(e,t=null){return e.visitConditional(this,t)}},j8t=class extends Zqe{receiver;name;constructor(e,t,r,n,i){super(e,t,r),this.receiver=n,this.name=i}visit(e,t=null){return e.visitPropertyRead(this,t)}},Rer=class extends Zqe{receiver;name;value;constructor(e,t,r,n,i,s){super(e,t,r),this.receiver=n,this.name=i,this.value=s}visit(e,t=null){return e.visitPropertyWrite(this,t)}},J8t=class extends Zqe{receiver;name;constructor(e,t,r,n,i){super(e,t,r),this.receiver=n,this.name=i}visit(e,t=null){return e.visitSafePropertyRead(this,t)}},uer=class extends g2{receiver;key;constructor(e,t,r,n){super(e,t),this.receiver=r,this.key=n}visit(e,t=null){return e.visitKeyedRead(this,t)}},X8t=class extends g2{receiver;key;constructor(e,t,r,n){super(e,t),this.receiver=r,this.key=n}visit(e,t=null){return e.visitSafeKeyedRead(this,t)}},ler=class extends g2{receiver;key;value;constructor(e,t,r,n,i){super(e,t),this.receiver=r,this.key=n,this.value=i}visit(e,t=null){return e.visitKeyedWrite(this,t)}},cer=class extends Zqe{exp;name;args;constructor(e,t,r,n,i,s){super(e,t,s),this.exp=r,this.name=n,this.args=i}visit(e,t=null){return e.visitPipe(this,t)}},AD=class extends g2{value;constructor(e,t,r){super(e,t),this.value=r}visit(e,t=null){return e.visitLiteralPrimitive(this,t)}},Ter=class extends g2{expressions;constructor(e,t,r){super(e,t),this.expressions=r}visit(e,t=null){return e.visitLiteralArray(this,t)}},per=class extends g2{keys;values;constructor(e,t,r,n){super(e,t),this.keys=r,this.values=n}visit(e,t=null){return e.visitLiteralMap(this,t)}},_er=class extends g2{strings;expressions;constructor(e,t,r,n){super(e,t),this.strings=r,this.expressions=n}visit(e,t=null){return e.visitInterpolation(this,t)}},aw=class extends g2{operation;left;right;constructor(e,t,r,n,i){super(e,t),this.operation=r,this.left=n,this.right=i}visit(e,t=null){return e.visitBinary(this,t)}},Z8t=class e4t extends aw{operator;expr;left=null;right=null;operation=null;static createMinus(t,r,n){return new e4t(t,r,"-",n,"-",new AD(t,r,0),n)}static createPlus(t,r,n){return new e4t(t,r,"+",n,"-",n,new AD(t,r,0))}constructor(t,r,n,i,s,R,l){super(t,r,s,R,l),this.operator=n,this.expr=i}visit(t,r=null){return t.visitUnary!==void 0?t.visitUnary(this,r):t.visitBinary(this,r)}},her=class extends g2{expression;constructor(e,t,r){super(e,t),this.expression=r}visit(e,t=null){return e.visitPrefixNot(this,t)}},fer=class extends g2{expression;constructor(e,t,r){super(e,t),this.expression=r}visit(e,t=null){return e.visitTypeofExpresion(this,t)}},der=class extends g2{expression;constructor(e,t,r){super(e,t),this.expression=r}visit(e,t=null){return e.visitNonNullAssert(this,t)}},xer=class extends g2{receiver;args;argumentSpan;constructor(e,t,r,n,i){super(e,t),this.receiver=r,this.args=n,this.argumentSpan=i}visit(e,t=null){return e.visitCall(this,t)}},t4t=class extends g2{receiver;args;argumentSpan;constructor(e,t,r,n,i){super(e,t),this.receiver=r,this.args=n,this.argumentSpan=i}visit(e,t=null){return e.visitSafeCall(this,t)}},KJ=class{start;end;constructor(e,t){this.start=e,this.end=t}},Wie=class extends g2{ast;source;location;errors;constructor(e,t,r,n,i){super(new xhe(0,t===null?0:t.length),new KJ(n,t===null?n:n+t.length)),this.ast=e,this.source=t,this.location=r,this.errors=i}visit(e,t=null){return e.visitASTWithSource?e.visitASTWithSource(this,t):this.ast.visit(e,t)}toString(){return`${this.source} in ${this.location}`}},r4t=class{sourceSpan;key;value;constructor(e,t,r){this.sourceSpan=e,this.key=t,this.value=r}},mer=class{sourceSpan;key;value;constructor(e,t,r){this.sourceSpan=e,this.key=t,this.value=r}},Iin=class{visit(e,t){e.visit(this,t)}visitUnary(e,t){this.visit(e.expr,t)}visitBinary(e,t){this.visit(e.left,t),this.visit(e.right,t)}visitChain(e,t){this.visitAll(e.expressions,t)}visitConditional(e,t){this.visit(e.condition,t),this.visit(e.trueExp,t),this.visit(e.falseExp,t)}visitPipe(e,t){this.visit(e.exp,t),this.visitAll(e.args,t)}visitImplicitReceiver(e,t){}visitThisReceiver(e,t){}visitInterpolation(e,t){this.visitAll(e.expressions,t)}visitKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitKeyedWrite(e,t){this.visit(e.receiver,t),this.visit(e.key,t),this.visit(e.value,t)}visitLiteralArray(e,t){this.visitAll(e.expressions,t)}visitLiteralMap(e,t){this.visitAll(e.values,t)}visitLiteralPrimitive(e,t){}visitPrefixNot(e,t){this.visit(e.expression,t)}visitTypeofExpresion(e,t){this.visit(e.expression,t)}visitNonNullAssert(e,t){this.visit(e.expression,t)}visitPropertyRead(e,t){this.visit(e.receiver,t)}visitPropertyWrite(e,t){this.visit(e.receiver,t),this.visit(e.value,t)}visitSafePropertyRead(e,t){this.visit(e.receiver,t)}visitSafeKeyedRead(e,t){this.visit(e.receiver,t),this.visit(e.key,t)}visitCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitSafeCall(e,t){this.visit(e.receiver,t),this.visitAll(e.args,t)}visitAll(e,t){for(let r of e)this.visit(r,t)}};(function(e){e[e.DEFAULT=0]="DEFAULT",e[e.LITERAL_ATTR=1]="LITERAL_ATTR",e[e.ANIMATION=2]="ANIMATION",e[e.TWO_WAY=3]="TWO_WAY"})(lZt||(lZt={}));(function(e){e[e.Regular=0]="Regular",e[e.Animation=1]="Animation",e[e.TwoWay=2]="TwoWay"})(cZt||(cZt={}));(function(e){e[e.Property=0]="Property",e[e.Attribute=1]="Attribute",e[e.Class=2]="Class",e[e.Style=3]="Style",e[e.Animation=4]="Animation",e[e.TwoWay=5]="TwoWay"})(rW||(rW={}));(function(e){e[e.RAW_TEXT=0]="RAW_TEXT",e[e.ESCAPABLE_RAW_TEXT=1]="ESCAPABLE_RAW_TEXT",e[e.PARSABLE_DATA=2]="PARSABLE_DATA"})(TZt||(TZt={}));Min=[/@/,/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];Uin=class ker{start;end;static fromArray(t){return t?(Win("interpolation",t),new ker(t[0],t[1])):Uie}constructor(t,r){this.start=t,this.end=r}},Uie=new Uin("{{","}}"),O8t=0,yer=9,Fin=10,Lin=11,zin=12,Hin=13,qer=32,Yin=33,Cer=34,Kin=35,Aer=36,Gin=37,pZt=38,ger=39,Yqe=40,uhe=41,Vin=42,ber=43,lhe=44,Eer=45,Fie=46,n4t=47,Lie=58,che=59,jin=60,Hqe=61,Jin=62,_Zt=63,Xin=48,Zin=57,Oer=65,ean=69,ver=90,Kqe=91,tan=92,The=93,ran=94,T4t=95,Der=97,nan=101,ian=102,aan=110,san=114,oan=116,Ran=117,uan=118,Ser=122,i4t=123,hZt=124,phe=125,$er=160,lan=96;(function(e){e[e.WARNING=0]="WARNING",e[e.ERROR=1]="ERROR"})(dZt||(dZt={}));(function(e){e[e.Inline=0]="Inline",e[e.SideEffect=1]="SideEffect",e[e.Omit=2]="Omit"})(xZt||(xZt={}));(function(e){e[e.Global=0]="Global",e[e.Local=1]="Local"})(mZt||(mZt={}));(function(e){e[e.Directive=0]="Directive",e[e.Pipe=1]="Pipe",e[e.NgModule=2]="NgModule"})(kZt||(kZt={}));pan="(:(where|is)\\()?",Qer="-shadowcsshost",Ner="-shadowcsscontext",p4t="(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)",x1i=new RegExp(Qer+p4t,"gim"),m1i=new RegExp(pan+"("+Ner+p4t+")","gim"),k1i=new RegExp(Ner+p4t,"im"),_an=Qer+"-no-combinator",y1i=new RegExp(`${_an}(?![^(]*\\))`,"g"),wer="%COMMENT%",q1i=new RegExp(wer,"g"),C1i=new RegExp(`(\\s*(?:${wer}\\s*)*)([^;\\{\\}]+?)(\\s*)((?:{%BLOCK%}?\\s*;?)|(?:\\s*;))`,"g"),han="%COMMA_IN_PLACEHOLDER%",fan="%SEMI_IN_PLACEHOLDER%",dan="%COLON_IN_PLACEHOLDER%",A1i=new RegExp(han,"g"),g1i=new RegExp(fan,"g"),b1i=new RegExp(dan,"g");(function(e){e[e.ListEnd=0]="ListEnd",e[e.Statement=1]="Statement",e[e.Variable=2]="Variable",e[e.ElementStart=3]="ElementStart",e[e.Element=4]="Element",e[e.Template=5]="Template",e[e.ElementEnd=6]="ElementEnd",e[e.ContainerStart=7]="ContainerStart",e[e.Container=8]="Container",e[e.ContainerEnd=9]="ContainerEnd",e[e.DisableBindings=10]="DisableBindings",e[e.Conditional=11]="Conditional",e[e.EnableBindings=12]="EnableBindings",e[e.Text=13]="Text",e[e.Listener=14]="Listener",e[e.InterpolateText=15]="InterpolateText",e[e.Binding=16]="Binding",e[e.Property=17]="Property",e[e.StyleProp=18]="StyleProp",e[e.ClassProp=19]="ClassProp",e[e.StyleMap=20]="StyleMap",e[e.ClassMap=21]="ClassMap",e[e.Advance=22]="Advance",e[e.Pipe=23]="Pipe",e[e.Attribute=24]="Attribute",e[e.ExtractedAttribute=25]="ExtractedAttribute",e[e.Defer=26]="Defer",e[e.DeferOn=27]="DeferOn",e[e.DeferWhen=28]="DeferWhen",e[e.I18nMessage=29]="I18nMessage",e[e.HostProperty=30]="HostProperty",e[e.Namespace=31]="Namespace",e[e.ProjectionDef=32]="ProjectionDef",e[e.Projection=33]="Projection",e[e.RepeaterCreate=34]="RepeaterCreate",e[e.Repeater=35]="Repeater",e[e.TwoWayProperty=36]="TwoWayProperty",e[e.TwoWayListener=37]="TwoWayListener",e[e.DeclareLet=38]="DeclareLet",e[e.StoreLet=39]="StoreLet",e[e.I18nStart=40]="I18nStart",e[e.I18n=41]="I18n",e[e.I18nEnd=42]="I18nEnd",e[e.I18nExpression=43]="I18nExpression",e[e.I18nApply=44]="I18nApply",e[e.IcuStart=45]="IcuStart",e[e.IcuEnd=46]="IcuEnd",e[e.IcuPlaceholder=47]="IcuPlaceholder",e[e.I18nContext=48]="I18nContext",e[e.I18nAttributes=49]="I18nAttributes"})(w0||(w0={}));(function(e){e[e.LexicalRead=0]="LexicalRead",e[e.Context=1]="Context",e[e.TrackContext=2]="TrackContext",e[e.ReadVariable=3]="ReadVariable",e[e.NextContext=4]="NextContext",e[e.Reference=5]="Reference",e[e.StoreLet=6]="StoreLet",e[e.ContextLetReference=7]="ContextLetReference",e[e.GetCurrentView=8]="GetCurrentView",e[e.RestoreView=9]="RestoreView",e[e.ResetView=10]="ResetView",e[e.PureFunctionExpr=11]="PureFunctionExpr",e[e.PureFunctionParameterExpr=12]="PureFunctionParameterExpr",e[e.PipeBinding=13]="PipeBinding",e[e.PipeBindingVariadic=14]="PipeBindingVariadic",e[e.SafePropertyRead=15]="SafePropertyRead",e[e.SafeKeyedRead=16]="SafeKeyedRead",e[e.SafeInvokeFunction=17]="SafeInvokeFunction",e[e.SafeTernaryExpr=18]="SafeTernaryExpr",e[e.EmptyExpr=19]="EmptyExpr",e[e.AssignTemporaryExpr=20]="AssignTemporaryExpr",e[e.ReadTemporaryExpr=21]="ReadTemporaryExpr",e[e.SlotLiteralExpr=22]="SlotLiteralExpr",e[e.ConditionalCase=23]="ConditionalCase",e[e.ConstCollected=24]="ConstCollected",e[e.TwoWayBindingSet=25]="TwoWayBindingSet"})(GJ||(GJ={}));(function(e){e[e.None=0]="None",e[e.AlwaysInline=1]="AlwaysInline"})(yZt||(yZt={}));(function(e){e[e.Context=0]="Context",e[e.Identifier=1]="Identifier",e[e.SavedView=2]="SavedView",e[e.Alias=3]="Alias"})(qZt||(qZt={}));(function(e){e[e.Normal=0]="Normal",e[e.TemplateDefinitionBuilder=1]="TemplateDefinitionBuilder"})(CZt||(CZt={}));(function(e){e[e.Attribute=0]="Attribute",e[e.ClassName=1]="ClassName",e[e.StyleProperty=2]="StyleProperty",e[e.Property=3]="Property",e[e.Template=4]="Template",e[e.I18n=5]="I18n",e[e.Animation=6]="Animation",e[e.TwoWayProperty=7]="TwoWayProperty"})(nW||(nW={}));(function(e){e[e.Creation=0]="Creation",e[e.Postproccessing=1]="Postproccessing"})(AZt||(AZt={}));(function(e){e[e.I18nText=0]="I18nText",e[e.I18nAttribute=1]="I18nAttribute"})(gZt||(gZt={}));(function(e){e[e.None=0]="None",e[e.ElementTag=1]="ElementTag",e[e.TemplateTag=2]="TemplateTag",e[e.OpenTag=4]="OpenTag",e[e.CloseTag=8]="CloseTag",e[e.ExpressionIndex=16]="ExpressionIndex"})(bZt||(bZt={}));(function(e){e[e.HTML=0]="HTML",e[e.SVG=1]="SVG",e[e.Math=2]="Math"})(EZt||(EZt={}));(function(e){e[e.Idle=0]="Idle",e[e.Immediate=1]="Immediate",e[e.Timer=2]="Timer",e[e.Hover=3]="Hover",e[e.Interaction=4]="Interaction",e[e.Viewport=5]="Viewport",e[e.Never=6]="Never"})(OZt||(OZt={}));(function(e){e[e.RootI18n=0]="RootI18n",e[e.Icu=1]="Icu",e[e.Attr=2]="Attr"})(vZt||(vZt={}));(function(e){e[e.NgTemplate=0]="NgTemplate",e[e.Structural=1]="Structural",e[e.Block=2]="Block"})(DZt||(DZt={}));xan=Symbol("ConsumesSlot"),Per=Symbol("DependsOnSlotContext"),mhe=Symbol("ConsumesVars"),_4t=Symbol("UsesVarOffset"),E1i={[xan]:!0,numSlotsUsed:1},O1i={[Per]:!0},v1i={[mhe]:!0},Ber=class{strings;expressions;i18nPlaceholders;constructor(e,t,r){if(this.strings=e,this.expressions=t,this.i18nPlaceholders=r,r.length!==0&&r.length!==t.length)throw new Error(`Expected ${t.length} placeholders to match interpolation expression count, but got ${r.length}`)}},khe=class extends uy{constructor(e=null){super(null,e)}},D1i=class a4t extends khe{target;value;sourceSpan;kind=GJ.StoreLet;[mhe]=!0;[Per]=!0;constructor(t,r,n){super(),this.target=t,this.value=r,this.sourceSpan=n}visitExpression(){}isEquivalent(t){return t instanceof a4t&&t.target===this.target&&t.value.isEquivalent(this.value)}isConstant(){return!1}transformInternalExpressions(t,r){this.value=(this.value,void 0)}clone(){return new a4t(this.target,this.value,this.sourceSpan)}},S1i=class s4t extends khe{kind=GJ.PureFunctionExpr;[mhe]=!0;[_4t]=!0;varOffset=null;body;args;fn=null;constructor(t,r){super(),this.body=t,this.args=r}visitExpression(t,r){var n;(n=this.body)==null||n.visitExpression(t,r);for(let i of this.args)i.visitExpression(t,r)}isEquivalent(t){return!(t instanceof s4t)||t.args.length!==this.args.length?!1:t.body!==null&&this.body!==null&&t.body.isEquivalent(this.body)&&t.args.every((r,n)=>r.isEquivalent(this.args[n]))}isConstant(){return!1}transformInternalExpressions(t,r){this.body!==null?this.body=(this.body,r|o4t.InChildOperation,void 0):this.fn!==null&&(this.fn=(this.fn,void 0));for(let n=0;ni.clone()));return n.fn=((r=this.fn)==null?void 0:r.clone())??null,n.varOffset=this.varOffset,n}},man=class Ier extends khe{target;targetSlot;name;args;kind=GJ.PipeBinding;[mhe]=!0;[_4t]=!0;varOffset=null;constructor(t,r,n,i){super(),this.target=t,this.targetSlot=r,this.name=n,this.args=i}visitExpression(t,r){for(let n of this.args)n.visitExpression(t,r)}isEquivalent(){return!1}isConstant(){return!1}transformInternalExpressions(t,r){for(let n=0;nr.clone()));return t.varOffset=this.varOffset,t}},$1i=class Mer extends khe{target;targetSlot;name;args;numArgs;kind=GJ.PipeBindingVariadic;[mhe]=!0;[_4t]=!0;varOffset=null;constructor(t,r,n,i,s){super(),this.target=t,this.targetSlot=r,this.name=n,this.args=i,this.numArgs=s}visitExpression(t,r){this.args.visitExpression(t,r)}isEquivalent(){return!1}isConstant(){return!1}transformInternalExpressions(t,r){this.args=(this.args,void 0)}clone(){let t=new Mer(this.target,this.targetSlot,this.name,this.args.clone(),this.numArgs);return t.varOffset=this.varOffset,t}},kan=class Wer extends khe{receiver;args;kind=GJ.SafeInvokeFunction;constructor(t,r){super(),this.receiver=t,this.args=r}visitExpression(t,r){this.receiver.visitExpression(t,r);for(let n of this.args)n.visitExpression(t,r)}isEquivalent(){return!1}isConstant(){return!1}transformInternalExpressions(t,r){this.receiver=(this.receiver,void 0);for(let n=0;nt.clone()))}};(function(e){e[e.None=0]="None",e[e.InChildOperation=1]="InChildOperation"})(o4t||(o4t={}));Q1i=new Set([w0.Element,w0.ElementStart,w0.Container,w0.ContainerStart,w0.Template,w0.RepeaterCreate]);(function(e){e[e.Tmpl=0]="Tmpl",e[e.Host=1]="Host",e[e.Both=2]="Both"})(SZt||(SZt={}));N1i=Object.freeze([]),w1i=new Map([[w0.ElementEnd,[w0.ElementStart,w0.Element]],[w0.ContainerEnd,[w0.ContainerStart,w0.Container]],[w0.I18nEnd,[w0.I18nStart,w0.I18n]]]),P1i=new Set([w0.Pipe]),B1i=[ZZt,eer,ter,kan,man].map(e=>e.constructor.name),yan={},qan="\uE500";yan.ngsp=qan;(function(e){e.HEX="hexadecimal",e.DEC="decimal"})($Zt||($Zt={}));Uer=` \f +\r \v\u1680\u180E\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF`,I1i=new RegExp(`[^${Uer}]`),M1i=new RegExp(`[${Uer}]{2,}`,"g");(function(e){e[e.Character=0]="Character",e[e.Identifier=1]="Identifier",e[e.PrivateIdentifier=2]="PrivateIdentifier",e[e.Keyword=3]="Keyword",e[e.String=4]="String",e[e.Operator=5]="Operator",e[e.Number=6]="Number",e[e.Error=7]="Error"})(aR||(aR={}));Can=["var","let","as","null","undefined","true","false","if","else","this","typeof"],Fer=class{tokenize(e){let t=new Dan(e),r=[],n=t.scanToken();for(;n!=null;)r.push(n),n=t.scanToken();return r}},uw=class{index;end;type;numValue;strValue;constructor(e,t,r,n,i){this.index=e,this.end=t,this.type=r,this.numValue=n,this.strValue=i}isCharacter(e){return this.type==aR.Character&&this.numValue==e}isNumber(){return this.type==aR.Number}isString(){return this.type==aR.String}isOperator(e){return this.type==aR.Operator&&this.strValue==e}isIdentifier(){return this.type==aR.Identifier}isPrivateIdentifier(){return this.type==aR.PrivateIdentifier}isKeyword(){return this.type==aR.Keyword}isKeywordLet(){return this.type==aR.Keyword&&this.strValue=="let"}isKeywordAs(){return this.type==aR.Keyword&&this.strValue=="as"}isKeywordNull(){return this.type==aR.Keyword&&this.strValue=="null"}isKeywordUndefined(){return this.type==aR.Keyword&&this.strValue=="undefined"}isKeywordTrue(){return this.type==aR.Keyword&&this.strValue=="true"}isKeywordFalse(){return this.type==aR.Keyword&&this.strValue=="false"}isKeywordThis(){return this.type==aR.Keyword&&this.strValue=="this"}isKeywordTypeof(){return this.type===aR.Keyword&&this.strValue==="typeof"}isError(){return this.type==aR.Error}toNumber(){return this.type==aR.Number?this.numValue:-1}toString(){switch(this.type){case aR.Character:case aR.Identifier:case aR.Keyword:case aR.Operator:case aR.PrivateIdentifier:case aR.String:case aR.Error:return this.strValue;case aR.Number:return this.numValue.toString();default:return null}}};D8t=new uw(-1,-1,aR.Character,0,""),Dan=class{input;length;peek=0;index=-1;constructor(e){this.input=e,this.length=e.length,this.advance()}advance(){this.peek=++this.index>=this.length?O8t:this.input.charCodeAt(this.index)}scanToken(){let e=this.input,t=this.length,r=this.peek,n=this.index;for(;r<=qer;)if(++n>=t){r=O8t;break}else r=e.charCodeAt(n);if(this.peek=r,this.index=n,n>=t)return null;if(NZt(r))return this.scanIdentifier();if(YJ(r))return this.scanNumber(n);let i=n;switch(r){case Fie:return this.advance(),YJ(this.peek)?this.scanNumber(i):QZt(i,this.index,Fie);case Yqe:case uhe:case i4t:case phe:case Kqe:case The:case lhe:case Lie:case che:return this.scanCharacter(i,r);case ger:case Cer:return this.scanString();case Kin:return this.scanPrivateIdentifier();case ber:case Eer:case Vin:case n4t:case Gin:case ran:return this.scanOperator(i,String.fromCharCode(r));case _Zt:return this.scanQuestion(i);case jin:case Jin:return this.scanComplexOperator(i,String.fromCharCode(r),Hqe,"=");case Yin:case Hqe:return this.scanComplexOperator(i,String.fromCharCode(r),Hqe,"=",Hqe,"=");case pZt:return this.scanComplexOperator(i,"&",pZt,"&");case hZt:return this.scanComplexOperator(i,"|",hZt,"|");case $er:for(;can(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error(`Unexpected character [${String.fromCharCode(r)}]`,0)}scanCharacter(e,t){return this.advance(),QZt(e,this.index,t)}scanOperator(e,t){return this.advance(),v8t(e,this.index,t)}scanComplexOperator(e,t,r,n,i,s){this.advance();let R=t;return this.peek==r&&(this.advance(),R+=n),i!=null&&this.peek==i&&(this.advance(),R+=s),v8t(e,this.index,R)}scanIdentifier(){let e=this.index;for(this.advance();wZt(this.peek);)this.advance();let t=this.input.substring(e,this.index);return Can.indexOf(t)>-1?ban(e,this.index,t):Aan(e,this.index,t)}scanPrivateIdentifier(){let e=this.index;if(this.advance(),!NZt(this.peek))return this.error("Invalid character [#]",-1);for(;wZt(this.peek);)this.advance();let t=this.input.substring(e,this.index);return gan(e,this.index,t)}scanNumber(e){let t=this.index===e,r=!1;for(this.advance();;){if(!YJ(this.peek))if(this.peek===T4t){if(!YJ(this.input.charCodeAt(this.index-1))||!YJ(this.input.charCodeAt(this.index+1)))return this.error("Invalid numeric separator",0);r=!0}else if(this.peek===Fie)t=!1;else if(San(this.peek)){if(this.advance(),$an(this.peek)&&this.advance(),!YJ(this.peek))return this.error("Invalid exponent",-1);t=!1}else break;this.advance()}let n=this.input.substring(e,this.index);r&&(n=n.replace(/_/g,""));let i=t?Nan(n):parseFloat(n);return Oan(e,this.index,i)}scanString(){let e=this.index,t=this.peek;this.advance();let r="",n=this.index,i=this.input;for(;this.peek!=t;)if(this.peek==tan){r+=i.substring(n,this.index);let R;if(this.advance(),this.peek==Ran){let l=i.substring(this.index+1,this.index+5);if(/^[0-9a-f]+$/i.test(l))R=parseInt(l,16);else return this.error(`Invalid unicode escape [\\u${l}]`,0);for(let c=0;c<5;c++)this.advance()}else R=Qan(this.peek),this.advance();r+=String.fromCharCode(R),n=this.index}else{if(this.peek==O8t)return this.error("Unterminated quote",0);this.advance()}let s=i.substring(n,this.index);return this.advance(),Ean(e,this.index,r+s)}scanQuestion(e){this.advance();let t="?";return(this.peek===_Zt||this.peek===Fie)&&(t+=this.peek===Fie?".":"?",this.advance()),v8t(e,this.index,t)}error(e,t){let r=this.index+t;return van(r,this.index,`Lexer Error: ${e} at column ${r} in expression [${this.input}]`)}};wan=class{strings;expressions;offsets;constructor(e,t,r){this.strings=e,this.expressions=t,this.offsets=r}},Pan=class{templateBindings;warnings;errors;constructor(e,t,r){this.templateBindings=e,this.warnings=t,this.errors=r}},h4t=class{_lexer;errors=[];constructor(e){this._lexer=e}parseAction(e,t,r,n=Uie){this._checkNoInterpolation(e,t,n);let i=this._stripComments(e),s=this._lexer.tokenize(i),R=new ohe(e,t,r,s,1,this.errors,0).parseChain();return new Wie(R,e,t,r,this.errors)}parseBinding(e,t,r,n=Uie){let i=this._parseBindingAst(e,t,r,n);return new Wie(i,e,t,r,this.errors)}checkSimpleExpression(e){let t=new Ban;return e.visit(t),t.errors}parseSimpleBinding(e,t,r,n=Uie){let i=this._parseBindingAst(e,t,r,n),s=this.checkSimpleExpression(i);return s.length>0&&this._reportError(`Host binding expression cannot contain ${s.join(" ")}`,e,t),new Wie(i,e,t,r,this.errors)}_reportError(e,t,r,n){this.errors.push(new V8t(e,t,r,n))}_parseBindingAst(e,t,r,n){this._checkNoInterpolation(e,t,n);let i=this._stripComments(e),s=this._lexer.tokenize(i);return new ohe(e,t,r,s,0,this.errors,0).parseChain()}parseTemplateBindings(e,t,r,n,i){let s=this._lexer.tokenize(t);return new ohe(t,r,i,s,0,this.errors,0).parseTemplateBindings({source:e,span:new KJ(n,n+e.length)})}parseInterpolation(e,t,r,n,i=Uie){let{strings:s,expressions:R,offsets:l}=this.splitInterpolation(e,t,n,i);if(R.length===0)return null;let c=[];for(let h=0;hh.text),c,e,t,r)}parseInterpolationExpression(e,t,r){let n=this._stripComments(e),i=this._lexer.tokenize(n),s=new ohe(e,t,r,i,0,this.errors,0).parseChain(),R=["",""];return this.createInterpolationAst(R,[s],e,t,r)}createInterpolationAst(e,t,r,n,i){let s=new xhe(0,r.length),R=new _er(s,s.toAbsolute(i),e,t);return new Wie(R,r,n,i,this.errors)}splitInterpolation(e,t,r,n=Uie){let i=[],s=[],R=[],l=r?Ian(r):null,c=0,h=!1,_=!1,{start:f,end:m}=n;for(;c-1)break;i>-1&&s>-1&&this._reportError(`Got interpolation (${r}${n}) where expression was expected`,e,`at column ${i} in`,t)}_getInterpolationEndIndex(e,t,r){for(let n of this._forEachUnquotedChar(e,r)){if(e.startsWith(t,n))return n;if(e.startsWith("//",n))return e.indexOf(t,n)}return-1}*_forEachUnquotedChar(e,t){let r=null,n=0;for(let i=t;i=this.tokens.length}get inputIndex(){return this.atEOF?this.currentEndIndex:this.next.index+this.offset}get currentEndIndex(){return this.index>0?this.peek(-1).end+this.offset:this.tokens.length===0?this.input.length+this.offset:this.next.index+this.offset}get currentAbsoluteOffset(){return this.absoluteOffset+this.inputIndex}span(e,t){let r=this.currentEndIndex;if(t!==void 0&&t>this.currentEndIndex&&(r=t),e>r){let n=r;r=e,e=n}return new xhe(e,r)}sourceSpan(e,t){let r=`${e}@${this.inputIndex}:${t}`;return this.sourceSpanCache.has(r)||this.sourceSpanCache.set(r,this.span(e,t).toAbsolute(this.absoluteOffset)),this.sourceSpanCache.get(r)}advance(){this.index++}withContext(e,t){this.context|=e;let r=t();return this.context^=e,r}consumeOptionalCharacter(e){return this.next.isCharacter(e)?(this.advance(),!0):!1}peekKeywordLet(){return this.next.isKeywordLet()}peekKeywordAs(){return this.next.isKeywordAs()}expectCharacter(e){this.consumeOptionalCharacter(e)||this.error(`Missing expected ${String.fromCharCode(e)}`)}consumeOptionalOperator(e){return this.next.isOperator(e)?(this.advance(),!0):!1}expectOperator(e){this.consumeOptionalOperator(e)||this.error(`Missing expected operator ${e}`)}prettyPrintToken(e){return e===D8t?"end of input":`token ${e}`}expectIdentifierOrKeyword(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier or keyword"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier or keyword`),null):(this.advance(),e.toString())}expectIdentifierOrKeywordOrString(){let e=this.next;return!e.isIdentifier()&&!e.isKeyword()&&!e.isString()?(e.isPrivateIdentifier()?this._reportErrorForPrivateIdentifier(e,"expected identifier, keyword or string"):this.error(`Unexpected ${this.prettyPrintToken(e)}, expected identifier, keyword, or string`),""):(this.advance(),e.toString())}parseChain(){let e=[],t=this.inputIndex;for(;this.index":case"<=":case">=":this.advance();let n=this.parseAdditive();t=new aw(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parseAdditive(){let e=this.inputIndex,t=this.parseMultiplicative();for(;this.next.type==aR.Operator;){let r=this.next.strValue;switch(r){case"+":case"-":this.advance();let n=this.parseMultiplicative();t=new aw(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parseMultiplicative(){let e=this.inputIndex,t=this.parsePrefix();for(;this.next.type==aR.Operator;){let r=this.next.strValue;switch(r){case"*":case"%":case"/":this.advance();let n=this.parsePrefix();t=new aw(this.span(e),this.sourceSpan(e),r,t,n);continue}break}return t}parsePrefix(){if(this.next.type==aR.Operator){let e=this.inputIndex,t=this.next.strValue,r;switch(t){case"+":return this.advance(),r=this.parsePrefix(),Z8t.createPlus(this.span(e),this.sourceSpan(e),r);case"-":return this.advance(),r=this.parsePrefix(),Z8t.createMinus(this.span(e),this.sourceSpan(e),r);case"!":return this.advance(),r=this.parsePrefix(),new her(this.span(e),this.sourceSpan(e),r)}}else if(this.next.isKeywordTypeof()){this.advance();let e=this.inputIndex,t=this.parsePrefix();return new fer(this.span(e),this.sourceSpan(e),t)}return this.parseCallChain()}parseCallChain(){let e=this.inputIndex,t=this.parsePrimary();for(;;)if(this.consumeOptionalCharacter(Fie))t=this.parseAccessMember(t,e,!1);else if(this.consumeOptionalOperator("?."))this.consumeOptionalCharacter(Yqe)?t=this.parseCall(t,e,!0):t=this.consumeOptionalCharacter(Kqe)?this.parseKeyedReadOrWrite(t,e,!0):this.parseAccessMember(t,e,!0);else if(this.consumeOptionalCharacter(Kqe))t=this.parseKeyedReadOrWrite(t,e,!1);else if(this.consumeOptionalCharacter(Yqe))t=this.parseCall(t,e,!1);else if(this.consumeOptionalOperator("!"))t=new der(this.span(e),this.sourceSpan(e),t);else return t}parsePrimary(){let e=this.inputIndex;if(this.consumeOptionalCharacter(Yqe)){this.rparensExpected++;let t=this.parsePipe();return this.rparensExpected--,this.expectCharacter(uhe),t}else{if(this.next.isKeywordNull())return this.advance(),new AD(this.span(e),this.sourceSpan(e),null);if(this.next.isKeywordUndefined())return this.advance(),new AD(this.span(e),this.sourceSpan(e),void 0);if(this.next.isKeywordTrue())return this.advance(),new AD(this.span(e),this.sourceSpan(e),!0);if(this.next.isKeywordFalse())return this.advance(),new AD(this.span(e),this.sourceSpan(e),!1);if(this.next.isKeywordThis())return this.advance(),new Bin(this.span(e),this.sourceSpan(e));if(this.consumeOptionalCharacter(Kqe)){this.rbracketsExpected++;let t=this.parseExpressionList(The);return this.rbracketsExpected--,this.expectCharacter(The),new Ter(this.span(e),this.sourceSpan(e),t)}else{if(this.next.isCharacter(i4t))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMember(new jqe(this.span(e),this.sourceSpan(e)),e,!1);if(this.next.isNumber()){let t=this.next.toNumber();return this.advance(),new AD(this.span(e),this.sourceSpan(e),t)}else if(this.next.isString()){let t=this.next.toString();return this.advance(),new AD(this.span(e),this.sourceSpan(e),t)}else return this.next.isPrivateIdentifier()?(this._reportErrorForPrivateIdentifier(this.next,null),new CD(this.span(e),this.sourceSpan(e))):this.index>=this.tokens.length?(this.error(`Unexpected end of expression: ${this.input}`),new CD(this.span(e),this.sourceSpan(e))):(this.error(`Unexpected token ${this.next}`),new CD(this.span(e),this.sourceSpan(e)))}}}parseExpressionList(e){let t=[];do if(!this.next.isCharacter(e))t.push(this.parsePipe());else break;while(this.consumeOptionalCharacter(lhe));return t}parseLiteralMap(){let e=[],t=[],r=this.inputIndex;if(this.expectCharacter(i4t),!this.consumeOptionalCharacter(phe)){this.rbracesExpected++;do{let n=this.inputIndex,i=this.next.isString(),s=this.expectIdentifierOrKeywordOrString(),R={key:s,quoted:i};if(e.push(R),i)this.expectCharacter(Lie),t.push(this.parsePipe());else if(this.consumeOptionalCharacter(Lie))t.push(this.parsePipe());else{R.isShorthandInitialized=!0;let l=this.span(n),c=this.sourceSpan(n);t.push(new j8t(l,c,c,new jqe(l,c),s))}}while(this.consumeOptionalCharacter(lhe)&&!this.next.isCharacter(phe));this.rbracesExpected--,this.expectCharacter(phe)}return new per(this.span(r),this.sourceSpan(r),e,t)}parseAccessMember(e,t,r){let n=this.inputIndex,i=this.withContext(zie.Writable,()=>{let l=this.expectIdentifierOrKeyword()??"";return l.length===0&&this.error("Expected identifier for property access",e.span.end),l}),s=this.sourceSpan(n),R;if(r)this.consumeOptionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),R=new CD(this.span(t),this.sourceSpan(t))):R=new J8t(this.span(t),this.sourceSpan(t),s,e,i);else if(this.consumeOptionalOperator("=")){if(!(this.parseFlags&1))return this.error("Bindings cannot contain assignments"),new CD(this.span(t),this.sourceSpan(t));let l=this.parseConditional();R=new Rer(this.span(t),this.sourceSpan(t),s,e,i,l)}else R=new j8t(this.span(t),this.sourceSpan(t),s,e,i);return R}parseCall(e,t,r){let n=this.inputIndex;this.rparensExpected++;let i=this.parseCallArguments(),s=this.span(n,this.inputIndex).toAbsolute(this.absoluteOffset);this.expectCharacter(uhe),this.rparensExpected--;let R=this.span(t),l=this.sourceSpan(t);return r?new t4t(R,l,e,i,s):new xer(R,l,e,i,s)}parseCallArguments(){if(this.next.isCharacter(uhe))return[];let e=[];do e.push(this.parsePipe());while(this.consumeOptionalCharacter(lhe));return e}expectTemplateBindingKey(){let e="",t=!1,r=this.currentAbsoluteOffset;do e+=this.expectIdentifierOrKeywordOrString(),t=this.consumeOptionalOperator("-"),t&&(e+="-");while(t);return{source:e,span:new KJ(r,r+e.length)}}parseTemplateBindings(e){let t=[];for(t.push(...this.parseDirectiveKeywordBindings(e));this.index{this.rbracketsExpected++;let n=this.parsePipe();if(n instanceof CD&&this.error("Key access cannot be empty"),this.rbracketsExpected--,this.expectCharacter(The),this.consumeOptionalOperator("="))if(r)this.error("The '?.' operator cannot be used in the assignment");else{let i=this.parseConditional();return new ler(this.span(t),this.sourceSpan(t),e,n,i)}else return r?new X8t(this.span(t),this.sourceSpan(t),e,n):new uer(this.span(t),this.sourceSpan(t),e,n);return new CD(this.span(t),this.sourceSpan(t))})}parseDirectiveKeywordBindings(e){let t=[];this.consumeOptionalCharacter(Lie);let r=this.getDirectiveBoundTarget(),n=this.currentAbsoluteOffset,i=this.parseAsBinding(e);i||(this.consumeStatementTerminator(),n=this.currentAbsoluteOffset);let s=new KJ(e.span.start,n);return t.push(new mer(s,e,r)),i&&t.push(i),t}getDirectiveBoundTarget(){if(this.next===D8t||this.peekKeywordAs()||this.peekKeywordLet())return null;let e=this.parsePipe(),{start:t,end:r}=e.span,n=this.input.substring(t,r);return new Wie(e,n,this.location,this.absoluteOffset+t,this.errors)}parseAsBinding(e){if(!this.peekKeywordAs())return null;this.advance();let t=this.expectTemplateBindingKey();this.consumeStatementTerminator();let r=new KJ(e.span.start,this.currentAbsoluteOffset);return new r4t(r,t,e)}parseLetBinding(){if(!this.peekKeywordLet())return null;let e=this.currentAbsoluteOffset;this.advance();let t=this.expectTemplateBindingKey(),r=null;this.consumeOptionalOperator("=")&&(r=this.expectTemplateBindingKey()),this.consumeStatementTerminator();let n=new KJ(e,this.currentAbsoluteOffset);return new r4t(n,t,r)}consumeStatementTerminator(){this.consumeOptionalCharacter(che)||this.consumeOptionalCharacter(lhe)}error(e,t=null){this.errors.push(new V8t(e,this.input,this.locationText(t),this.location)),this.skip()}locationText(e=null){return e==null&&(e=this.index),e(e.set(t,r),e),new Map),U1i=new h4t(new Fer);F1i=[{test:Rw(w0.StyleMap),transform:Jqe},{test:Rw(w0.ClassMap),transform:Jqe},{test:Rw(w0.StyleProp)},{test:Rw(w0.ClassProp)},{test:_he(w0.Attribute,!0)},{test:_he(w0.Property,!0)},{test:Wan},{test:_he(w0.Attribute,!1)}],L1i=[{test:_he(w0.HostProperty,!0)},{test:_he(w0.HostProperty,!1)},{test:Rw(w0.Attribute)},{test:Rw(w0.StyleMap),transform:Jqe},{test:Rw(w0.ClassMap),transform:Jqe},{test:Rw(w0.StyleProp)},{test:Rw(w0.ClassProp)}],z1i=new Set([w0.Listener,w0.TwoWayListener,w0.StyleMap,w0.ClassMap,w0.StyleProp,w0.ClassProp,w0.Property,w0.TwoWayProperty,w0.HostProperty,w0.Attribute]);H1i=new Map([["window",gD.resolveWindow],["document",gD.resolveDocument],["body",gD.resolveBody]]),Y1i=new Map([[ow.HTML,gD.sanitizeHtml],[ow.RESOURCE_URL,gD.sanitizeResourceUrl],[ow.SCRIPT,gD.sanitizeScript],[ow.STYLE,gD.sanitizeStyle],[ow.URL,gD.sanitizeUrl]]),K1i=new Map([[ow.HTML,gD.trustConstantHtml],[ow.RESOURCE_URL,gD.trustConstantResourceUrl]]);(function(e){e[e.None=0]="None",e[e.ViewContextRead=1]="ViewContextRead",e[e.ViewContextWrite=2]="ViewContextWrite",e[e.SideEffectful=4]="SideEffectful"})(PZt||(PZt={}));G1i=new Map([[rW.Property,nW.Property],[rW.TwoWay,nW.TwoWayProperty],[rW.Attribute,nW.Attribute],[rW.Class,nW.ClassName],[rW.Style,nW.StyleProperty],[rW.Animation,nW.Animation]]),V1i=Symbol("queryAdvancePlaceholder");(function(e){e[e.NG_CONTENT=0]="NG_CONTENT",e[e.STYLE=1]="STYLE",e[e.STYLESHEET=2]="STYLESHEET",e[e.SCRIPT=3]="SCRIPT",e[e.OTHER=4]="OTHER"})(BZt||(BZt={}));(function(e){e.IDLE="idle",e.TIMER="timer",e.INTERACTION="interaction",e.IMMEDIATE="immediate",e.HOVER="hover",e.VIEWPORT="viewport",e.NEVER="never"})(IZt||(IZt={}));Ler="%COMP%",j1i=`_nghost-${Ler}`,J1i=`_ngcontent-${Ler}`,X1i=new Pin("19.0.1");(function(e){e[e.Extract=0]="Extract",e[e.Merge=1]="Merge"})(MZt||(MZt={}));(function(e){e[e.Directive=0]="Directive",e[e.Component=1]="Component",e[e.Injectable=2]="Injectable",e[e.Pipe=3]="Pipe",e[e.NgModule=4]="NgModule"})(WZt||(WZt={}));Kan=e=>h4t.prototype._commentStart(e);Van=yhe((e,t)=>t.parseBinding(e,"",0)),Z1i=yhe((e,t)=>t.parseSimpleBinding(e,"",0)),jan=yhe((e,t)=>t.parseAction(e,"",0)),Jan=yhe((e,t)=>t.parseInterpolationExpression(e,"",0)),Xan=yhe((e,t)=>t.parseTemplateBindings("",e,"",0,0),!1),Zan=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},Her=Zan,esn=class{text;constructor(e){this.text=e}getCharacterIndex(e,t){return Han(this.text,e,t)}getCharacterLastIndex(e,t){return zan(this.text,e,t)}transformSpan(e,{stripSpaces:t=!1,hasParentParens:r=!1}={}){if(!t)return R4t(e);let{outerSpan:n,innerSpan:i,hasParens:s}=Lan(e,this.text,r),R=R4t(i);return s&&(R.extra={parenthesized:!0,parenStart:n.start,parenEnd:n.end}),R}createNode(e,{stripSpaces:t=!0,hasParentParens:r=!1}={}){let{type:n,start:i,end:s}=e,R={...e,...this.transformSpan({start:i,end:s},{stripSpaces:t,hasParentParens:r})};switch(n){case"NumericLiteral":case"StringLiteral":{let l=this.text.slice(R.start,R.end),{value:c}=R;R.extra={...R.extra,raw:l,rawValue:c};break}case"ObjectProperty":{let{shorthand:l}=R;l&&(R.extra={...R.extra,shorthand:l});break}}return R}},tsn=esn;Yer=class extends tsn{constructor(e,t){super(t),Yie(this,Ao),Yie(this,Gqe),Yie(this,hhe),Vqe(this,Gqe,e),Vqe(this,hhe,t)}get node(){return Ja(this,Ao,Ap).call(this,sw(this,Gqe))}transformNode(e){return Ja(this,Ao,u4t).call(this,e)}};Gqe=new WeakMap,hhe=new WeakMap,Ao=new WeakSet,tT=function(e,{stripSpaces:t=!0,hasParentParens:r=!1}={}){return this.createNode(e,{stripSpaces:t,hasParentParens:r})},Rhe=function(e,t,{computed:r,optional:n,end:i=eO(t),hasParentParens:s=!1}){if(LZt(e,sw(this,hhe))||e.sourceSpan.start===t.start)return t;let R=Ja(this,Ao,Ap).call(this,e),l=FZt(R);return Ja(this,Ao,tT).call(this,{type:n||l?"OptionalMemberExpression":"MemberExpression",object:R,property:t,computed:r,...n?{optional:!0}:l?{optional:!1}:void 0,start:ZE(R),end:i},{hasParentParens:s})},Ap=function(e,t=!1){return Ja(this,Ao,u4t).call(this,e,t)},u4t=function(e,t=!1){if(e instanceof _er){let{expressions:n}=e;if(n.length!==1)throw new Error("Unexpected 'Interpolation'");return Ja(this,Ao,Ap).call(this,n[0])}if(e instanceof Z8t)return Ja(this,Ao,tT).call(this,{type:"UnaryExpression",prefix:!0,argument:Ja(this,Ao,Ap).call(this,e.expr),operator:e.operator,...e.sourceSpan},{hasParentParens:t});if(e instanceof aw){let{left:n,operation:i,right:s}=e,R=Ja(this,Ao,Ap).call(this,n),l=Ja(this,Ao,Ap).call(this,s),c=ZE(R),h=eO(l),_={left:R,right:l,start:c,end:h};return i==="&&"||i==="||"||i==="??"?Ja(this,Ao,tT).call(this,{..._,type:"LogicalExpression",operator:i},{hasParentParens:t}):Ja(this,Ao,tT).call(this,{..._,type:"BinaryExpression",operator:i},{hasParentParens:t})}if(e instanceof cer){let{exp:n,name:i,args:s}=e,R=Ja(this,Ao,Ap).call(this,n),l=ZE(R),c=eO(R),h=this.getCharacterIndex(/\S/,this.getCharacterIndex("|",c)+1),_=Ja(this,Ao,tT).call(this,{type:"Identifier",name:i,start:h,end:h+i.length}),f=s.map(m=>Ja(this,Ao,Ap).call(this,m));return Ja(this,Ao,tT).call(this,{type:"NGPipeExpression",left:R,right:_,arguments:f,start:l,end:eO(f.length===0?_:Her(!1,f,-1))},{hasParentParens:t})}if(e instanceof ser)return Ja(this,Ao,tT).call(this,{type:"NGChainedExpression",expressions:e.expressions.map(n=>Ja(this,Ao,Ap).call(this,n)),...e.sourceSpan},{hasParentParens:t});if(e instanceof oer){let{condition:n,trueExp:i,falseExp:s}=e,R=Ja(this,Ao,Ap).call(this,n),l=Ja(this,Ao,Ap).call(this,i),c=Ja(this,Ao,Ap).call(this,s);return Ja(this,Ao,tT).call(this,{type:"ConditionalExpression",test:R,consequent:l,alternate:c,start:ZE(R),end:eO(c)},{hasParentParens:t})}if(e instanceof CD)return Ja(this,Ao,tT).call(this,{type:"NGEmptyExpression",...e.sourceSpan},{hasParentParens:t});if(e instanceof jqe)return Ja(this,Ao,tT).call(this,{type:"ThisExpression",...e.sourceSpan},{hasParentParens:t});if(e instanceof uer||e instanceof X8t)return Ja(this,Ao,Rhe).call(this,e.receiver,Ja(this,Ao,Ap).call(this,e.key),{computed:!0,optional:e instanceof X8t,end:e.sourceSpan.end,hasParentParens:t});if(e instanceof Ter)return Ja(this,Ao,tT).call(this,{type:"ArrayExpression",elements:e.expressions.map(n=>Ja(this,Ao,Ap).call(this,n)),...e.sourceSpan},{hasParentParens:t});if(e instanceof per){let{keys:n,values:i}=e,s=i.map(l=>Ja(this,Ao,Ap).call(this,l)),R=n.map(({key:l,quoted:c},h)=>{let _=s[h],f=ZE(_),m=eO(_),x=this.getCharacterIndex(/\S/,h===0?e.sourceSpan.start+1:this.getCharacterIndex(",",eO(s[h-1]))+1),y=f===x?m:this.getCharacterLastIndex(/\S/,this.getCharacterLastIndex(":",f-1)-1)+1,A={start:x,end:y},D=c?Ja(this,Ao,tT).call(this,{type:"StringLiteral",value:l,...A}):Ja(this,Ao,tT).call(this,{type:"Identifier",name:l,...A}),S=D.endJa(this,Ao,Ap).call(this,_)),l=Ja(this,Ao,Ap).call(this,i),c=FZt(l),h=n||c?"OptionalCallExpression":"CallExpression";return Ja(this,Ao,tT).call(this,{type:h,callee:l,arguments:R,optional:h==="OptionalCallExpression"?n:void 0,start:ZE(l),end:e.sourceSpan.end},{hasParentParens:t})}if(e instanceof der){let n=Ja(this,Ao,Ap).call(this,e.expression);return Ja(this,Ao,tT).call(this,{type:"TSNonNullExpression",expression:n,start:ZE(n),end:e.sourceSpan.end},{hasParentParens:t})}let r=e instanceof her;if(r||e instanceof fer){let n=Ja(this,Ao,Ap).call(this,e.expression),i=r?"!":"typeof",{start:s}=e.sourceSpan;if(!r){let R=this.text.lastIndexOf(i,s);if(R===-1)throw new Error(`Cannot find operator ${i} from index ${s} in ${JSON.stringify(this.text)}`);s=R}return Ja(this,Ao,tT).call(this,{type:"UnaryExpression",prefix:!0,operator:i,argument:n,start:s,end:eO(n)},{hasParentParens:t})}if(e instanceof j8t||e instanceof J8t){let{receiver:n,name:i}=e,s=this.getCharacterLastIndex(/\S/,e.sourceSpan.end-1)+1,R=Ja(this,Ao,tT).call(this,{type:"Identifier",name:i,start:s-i.length,end:s},LZt(n,sw(this,hhe))?{hasParentParens:t}:{});return Ja(this,Ao,Rhe).call(this,n,R,{computed:!1,optional:e instanceof J8t,hasParentParens:t})}if(e instanceof ler){let n=Ja(this,Ao,Ap).call(this,e.key),i=Ja(this,Ao,Ap).call(this,e.value),s=Ja(this,Ao,Rhe).call(this,e.receiver,n,{computed:!0,optional:!1,end:this.getCharacterIndex("]",eO(n))+1});return Ja(this,Ao,tT).call(this,{type:"AssignmentExpression",left:s,operator:"=",right:i,start:ZE(s),end:eO(i)},{hasParentParens:t})}if(e instanceof Rer){let{receiver:n,name:i,value:s}=e,R=Ja(this,Ao,Ap).call(this,s),l=this.getCharacterLastIndex(/\S/,this.getCharacterLastIndex("=",ZE(R)-1)-1)+1,c=Ja(this,Ao,tT).call(this,{type:"Identifier",name:i,start:l-i.length,end:l}),h=Ja(this,Ao,Rhe).call(this,n,c,{computed:!1,optional:!1});return Ja(this,Ao,tT).call(this,{type:"AssignmentExpression",left:h,operator:"=",right:R,start:ZE(h),end:eO(R)},{hasParentParens:t})}throw Object.assign(new Error("Unexpected node"),{node:e})};nsn=class extends Yer{constructor(e,t){super(void 0,t),Yie(this,s1),Yie(this,fhe),Yie(this,Hie),Vqe(this,fhe,e),Vqe(this,Hie,t);for(let r of e)Ja(this,s1,Ker).call(this,r)}get expressions(){return Ja(this,s1,Ger).call(this)}};fhe=new WeakMap,Hie=new WeakMap,s1=new WeakSet,YZt=function(){return sw(this,fhe)[0].key},MC=function(e,{stripSpaces:t=!0}={}){return this.createNode(e,{stripSpaces:t})},S8t=function(e){return this.transformNode(e)},$8t=function(e){return Yan(e.slice(sw(this,s1,YZt).source.length))},Q8t=function(e){let t=sw(this,Hie);if(t[e.start]!=='"'&&t[e.start]!=="'")return;let r=t[e.start],n=!1;for(let i=e.start+1;i({...f,...this.transformSpan({start:f.start,end:m})}),h=f=>({...c(f,l.end),alias:l}),_=n.pop();if(_.type==="NGMicrosyntaxExpression")n.push(h(_));else if(_.type==="NGMicrosyntaxKeyedExpression"){let f=h(_.expression);n.push(c({..._,expression:f},f.end))}else throw new Error(`Unexpected type ${_.type}`)}else n.push(Ja(this,s1,GZt).call(this,R,s));i=R}return Ja(this,s1,MC).call(this,{type:"NGMicrosyntax",body:n,...n.length===0?e[0].sourceSpan:{start:n[0].start,end:Her(!1,n,-1).end}})},GZt=function(e,t){if(zZt(e)){let{key:r,value:n}=e;return n?t===0?Ja(this,s1,MC).call(this,{type:"NGMicrosyntaxExpression",expression:Ja(this,s1,S8t).call(this,n.ast),alias:null,...n.sourceSpan}):Ja(this,s1,MC).call(this,{type:"NGMicrosyntaxKeyedExpression",key:Ja(this,s1,MC).call(this,{type:"NGMicrosyntaxKey",name:Ja(this,s1,$8t).call(this,r.source),...r.span}),expression:Ja(this,s1,MC).call(this,{type:"NGMicrosyntaxExpression",expression:Ja(this,s1,S8t).call(this,n.ast),alias:null,...n.sourceSpan}),start:r.span.start,end:n.sourceSpan.end}):Ja(this,s1,MC).call(this,{type:"NGMicrosyntaxKey",name:Ja(this,s1,$8t).call(this,r.source),...r.span})}else{let{key:r,sourceSpan:n}=e;if(/^let\s$/.test(sw(this,Hie).slice(n.start,n.start+4))){let{value:i}=e;return Ja(this,s1,MC).call(this,{type:"NGMicrosyntaxLet",key:Ja(this,s1,MC).call(this,{type:"NGMicrosyntaxKey",name:r.source,...r.span}),value:i?Ja(this,s1,MC).call(this,{type:"NGMicrosyntaxKey",name:i.source,...i.span}):null,start:n.start,end:i?i.span.end:r.span.end})}else{let i=Ja(this,s1,KZt).call(this,e);return Ja(this,s1,MC).call(this,{type:"NGMicrosyntaxAs",key:Ja(this,s1,MC).call(this,{type:"NGMicrosyntaxKey",name:i.source,...i.span}),alias:Ja(this,s1,MC).call(this,{type:"NGMicrosyntaxKey",name:r.source,...r.span}),start:i.span.start,end:r.span.end})}}};ssn=e=>d4t(Van(e)),osn=e=>d4t(Jan(e)),Ver=e=>d4t(jan(e)),Rsn=e=>asn(Xan(e));lsn=eCe(Ver),csn=eCe(ssn),Tsn=eCe(osn),psn=eCe(Rsn),_sn=JZt});var Ctr={};x2(Ctr,{default:()=>Oon,parsers:()=>qtr});function rCe(e){return(t,r,n)=>{let i=!!(n!=null&&n.backwards);if(r===!1)return!1;let{length:s}=t,R=r;for(;R>=0&&R0}function bD(e){var t,r,n;let i=((t=e.range)==null?void 0:t[0])??e.start,s=(n=((r=e.declaration)==null?void 0:r.decorators)??e.decorators)==null?void 0:n[0];return s?Math.min(bD(s),i):i}function VJ(e){var t;return((t=e.range)==null?void 0:t[1])??e.end}function Isn(e){let t=new Set(e);return r=>t.has(r?.type)}function Usn(e){let t=`*${e.value}*`.split(` +`);return t.length>1&&t.every(r=>r.trimStart()[0]==="*")}function Fsn(e){return k4t(e)&&e.value[0]==="*"&&/@(?:type|satisfies)\b/u.test(e.value)}function Ahe(e){if(qhe!==null&&typeof qhe.property){let t=qhe;return qhe=Ahe.prototype=null,t}return qhe=Ahe.prototype=e??Object.create(null),new Ahe}function Hsn(e){return Ahe(e)}function Ysn(e,t="type"){Hsn(e);function r(n){let i=n[t],s=e[i];if(!Array.isArray(s))throw Object.assign(new Error(`Missing visitor keys for '${i}'.`),{node:n});return s}return r}function y4t(e,t){if(!(e!==null&&typeof e=="object"))return e;if(Array.isArray(e)){for(let n=0;n{var R;(R=s.leadingComments)!=null&&R.some(Lsn)&&i.add(bD(s))}),e=x4t(e,s=>{if(s.type==="ParenthesizedExpression"){let{expression:R}=s;if(R.type==="TypeCastExpression")return R.range=[...s.range],R;let l=bD(s);if(!i.has(l))return R.extra={...R.extra,parenthesized:!0},R}})}if(e=x4t(e,i=>{switch(i.type){case"LogicalExpression":if(htr(i))return q4t(i);break;case"VariableDeclaration":{let s=etr(!1,i.declarations,-1);s!=null&&s.init&&n[VJ(s)]!==";"&&(i.range=[bD(i),VJ(s)]);break}case"TSParenthesizedType":return i.typeAnnotation;case"TSTypeParameter":if(typeof i.name=="string"){let s=bD(i);i.name={type:"Identifier",name:i.name,range:[s,s+i.name.length]}}break;case"TopicReference":e.extra={...e.extra,__isUsingHackPipeline:!0};break;case"TSUnionType":case"TSIntersectionType":if(i.types.length===1)return i.types[0];break}}),A4t(e.comments)){let i=etr(!1,e.comments,-1);for(let s=e.comments.length-2;s>=0;s--){let R=e.comments[s];VJ(R)===bD(i)&&k4t(R)&&k4t(i)&&ttr(R)&&ttr(i)&&(e.comments.splice(s+1,1),R.value+="*//*"+i.value,R.range=[bD(R),VJ(i)]),i=R}}return e.type==="Program"&&(e.range=[0,n.length]),e}function htr(e){return e.type==="LogicalExpression"&&e.right.type==="LogicalExpression"&&e.operator===e.right.operator}function q4t(e){return htr(e)?q4t({type:"LogicalExpression",operator:e.operator,left:q4t({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:[bD(e.left),VJ(e.right.left)]}),right:e.right.right,range:[bD(e),VJ(e)]}):e}function Zsn(e,t){let r=new SyntaxError(e+" ("+t.loc.start.line+":"+t.loc.start.column+")");return Object.assign(r,t)}function eon(e){let{message:t,loc:{line:r,column:n},reasonCode:i}=e,s=e;(i==="MissingPlugin"||i==="MissingOneOfPlugins")&&(t="Unexpected token.",s=void 0);let R=` (${r}:${n})`;return t.endsWith(R)&&(t=t.slice(0,-R.length)),ftr(t,{loc:{start:{line:r,column:n+1}},cause:s})}function uon(e){let t=e.match(ion);return t?t[0].trimStart():""}function lon(e){let t=` +`;e=tCe(!1,e.replace(non,"").replace(ron,""),oon,"$1");let r="";for(;r!==e;)r=e,e=tCe(!1,e,son,`${t}$1 $2${t}`);e=e.replace(rtr,"").trimEnd();let n=Object.create(null),i=tCe(!1,e,ntr,"").replace(rtr,"").trimEnd(),s;for(;s=ntr.exec(e);){let R=tCe(!1,s[2],aon,"");if(typeof n[s[1]]=="string"||Array.isArray(n[s[1]])){let l=n[s[1]];n[s[1]]=[...Ron,...Array.isArray(l)?l:[l],R]}else n[s[1]]=R}return{comments:i,pragmas:n}}function con(e){let t=_tr(e);t&&(e=e.slice(t.length+1));let r=uon(e),{pragmas:n,comments:i}=lon(r);return{shebang:t,text:e,pragmas:n,comments:i}}function Ton(e){let{pragmas:t}=con(e);return Object.prototype.hasOwnProperty.call(t,"prettier")||Object.prototype.hasOwnProperty.call(t,"format")}function pon(e){return e=typeof e=="function"?{parse:e}:e,{astFormat:"estree",hasPragma:Ton,locStart:bD,locEnd:VJ,...e}}function _on(e){let{filepath:t}=e;if(t){if(t=t.toLowerCase(),t.endsWith(".cjs")||t.endsWith(".cts"))return"script";if(t.endsWith(".mjs")||t.endsWith(".mts"))return"module"}}function fon(e,t){let{type:r="JsExpressionRoot",rootMarker:n,text:i}=t,{tokens:s,comments:R}=e;return delete e.tokens,delete e.comments,{tokens:s,comments:R,type:r,node:e,range:[0,i.length],rootMarker:n}}function mon(e,t){var r;if((r=t.filepath)!=null&&r.endsWith(".js.flow"))return!0;let n=_tr(e);n&&(e=e.slice(n.length));let i=$sn(e,0);return i!==!1&&(e=e.slice(0,i)),xon.test(e)}function kon(e,t,r){let n=e(t,r),i=n.errors.find(s=>!qon.has(s.reasonCode));if(i)throw i;return n}function yon({isExpression:e=!1,optionsCombinations:t}){return(r,n={})=>{if((n.parser==="babel"||n.parser==="__babel_estree")&&mon(r,n))return n.parser="babel-flow",ktr.parse(r,n);let i=t;(n.__babelSourceType??hon(n))==="script"&&(i=i.map(c=>({...c,sourceType:"script"})));let s=/%[A-Z]/u.test(r);r.includes("|>")?i=(s?[...atr,itr]:atr).flatMap(c=>i.map(h=>lw([c],h))):s&&(i=i.map(c=>lw([itr],c)));let R=e?Zer.parseExpression:Zer.parse,l;try{l=Nsn(i.map(c=>()=>kon(R,r,c)))}catch({errors:[c]}){throw dtr(c)}return e&&(l=xtr(l,{text:r,rootMarker:n.rootMarker})),Xsn(l,{parser:"babel",text:r})}}function ytr(e={}){let{allowComments:t=!0}=e;return function(r){let n;try{n=(0,gon.parseExpression)(r,{tokens:!0,ranges:!0,attachComment:!1})}catch(i){throw dtr(i)}if(!t&&A4t(n.comments))throw iW(n.comments[0],"Comment");return Kie(n),xtr(n,{type:"JsonRoot",text:r})}}function iW(e,t){let[r,n]=[e.loc.start,e.loc.end].map(({line:i,column:s})=>({line:i,column:s+1}));return ftr(`${t} is not allowed in JSON.`,{loc:{start:r,end:n}})}function Kie(e){switch(e.type){case"ArrayExpression":for(let t of e.elements)t!==null&&Kie(t);return;case"ObjectExpression":for(let t of e.properties)Kie(t);return;case"ObjectProperty":if(e.computed)throw iW(e.key,"Computed key");if(e.shorthand)throw iW(e.key,"Shorthand property");e.key.type!=="Identifier"&&Kie(e.key),Kie(e.value);return;case"UnaryExpression":{let{operator:t,argument:r}=e;if(t!=="+"&&t!=="-")throw iW(e,`Operator '${e.operator}'`);if(r.type==="NumericLiteral"||r.type==="Identifier"&&(r.name==="Infinity"||r.name==="NaN"))return;throw iW(r,`Operator '${t}' before '${r.type}'`)}case"Identifier":if(e.name!=="Infinity"&&e.name!=="NaN"&&e.name!=="undefined")throw iW(e,`Identifier '${e.name}'`);return;case"TemplateLiteral":if(A4t(e.expressions))throw iW(e.expressions[0],"'TemplateLiteral' with expression");for(let t of e.quasis)Kie(t);return;case"NullLiteral":case"BooleanLiteral":case"NumericLiteral":case"StringLiteral":case"TemplateElement":return;default:throw iW(e,`'${e.type}'`)}}var hsn,C4t,fsn,dsn,xsn,msn,ksn,ysn,qsn,ltr,ctr,ptr,Zer,Gpi,Csn,Vpi,Asn,bsn,Osn,Dsn,$sn,Nsn,_tr,Psn,etr,A4t,Msn,Wsn,k4t,ttr,Lsn,qhe,zsn,Ksn,Gsn,Vsn,jsn,x4t,Xsn,ftr,dtr,ton,tCe,ron,non,ion,aon,rtr,son,ntr,oon,Ron,Che,hon,xtr,Gie,don,itr,atr,lw,xon,qon,mtr,str,otr,Rtr,utr,ktr,Con,Aon,gon,m4t,bon,Eon,qtr,Oon,Atr=mp(()=>{hsn=Object.create,C4t=Object.defineProperty,fsn=Object.getOwnPropertyDescriptor,dsn=Object.getOwnPropertyNames,xsn=Object.getPrototypeOf,msn=Object.prototype.hasOwnProperty,ksn=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ysn=(e,t)=>{for(var r in t)C4t(e,r,{get:t[r],enumerable:!0})},qsn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of dsn(t))!msn.call(e,i)&&i!==r&&C4t(e,i,{get:()=>t[i],enumerable:!(n=fsn(t,i))||n.enumerable});return e},ltr=(e,t,r)=>(r=e!=null?hsn(xsn(e)):{},qsn(t||!e||!e.__esModule?C4t(r,"default",{value:e,enumerable:!0}):r,e)),ctr=ksn(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});function t(Q,C){if(Q==null)return{};var I={};for(var j in Q)if({}.hasOwnProperty.call(Q,j)){if(C.includes(j))continue;I[j]=Q[j]}return I}var r=class{constructor(Q,C,I){this.line=void 0,this.column=void 0,this.index=void 0,this.line=Q,this.column=C,this.index=I}},n=class{constructor(Q,C){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=Q,this.end=C}};function i(Q,C){let{line:I,column:j,index:Te}=Q;return new r(I,j+C,Te+C)}var s="BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED",R={ImportMetaOutsideModule:{message:`import.meta may appear only with 'sourceType: "module"'`,code:s},ImportOutsideModule:{message:`'import' and 'export' may appear only with 'sourceType: "module"'`,code:s}},l={ArrayPattern:"array destructuring pattern",AssignmentExpression:"assignment expression",AssignmentPattern:"assignment expression",ArrowFunctionExpression:"arrow function expression",ConditionalExpression:"conditional expression",CatchClause:"catch clause",ForOfStatement:"for-of statement",ForInStatement:"for-in statement",ForStatement:"for-loop",FormalParameters:"function parameter list",Identifier:"identifier",ImportSpecifier:"import specifier",ImportDefaultSpecifier:"import default specifier",ImportNamespaceSpecifier:"import namespace specifier",ObjectPattern:"object destructuring pattern",ParenthesizedExpression:"parenthesized expression",RestElement:"rest element",UpdateExpression:{true:"prefix operation",false:"postfix operation"},VariableDeclarator:"variable declaration",YieldExpression:"yield expression"},c=Q=>Q.type==="UpdateExpression"?l.UpdateExpression[`${Q.prefix}`]:l[Q.type],h={AccessorIsGenerator:({kind:Q})=>`A ${Q}ter cannot be a generator.`,ArgumentsInClass:"'arguments' is only allowed in functions and class methods.",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block.",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function.",AwaitBindingIdentifierInStaticBlock:"Can not use 'await' as identifier inside a static block.",AwaitExpressionFormalParameter:"'await' is not allowed in async function parameters.",AwaitUsingNotInAsyncContext:"'await using' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncFunction:"'await' is only allowed within async functions.",BadGetterArity:"A 'get' accessor must not have any formal parameters.",BadSetterArity:"A 'set' accessor must have exactly one formal parameter.",BadSetterRestParameter:"A 'set' accessor function argument must not be a rest parameter.",ConstructorClassField:"Classes may not have a field named 'constructor'.",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'.",ConstructorIsAccessor:"Class constructor may not be an accessor.",ConstructorIsAsync:"Constructor can't be an async function.",ConstructorIsGenerator:"Constructor can't be a generator.",DeclarationMissingInitializer:({kind:Q})=>`Missing initializer in ${Q} declaration.`,DecoratorArgumentsOutsideParentheses:"Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.",DecoratorsBeforeAfterExport:"Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.",DecoratorSemicolon:"Decorators must not be followed by a semicolon.",DecoratorStaticBlock:"Decorators can't be used with a static block.",DeferImportRequiresNamespace:'Only `import defer * as x from "./module"` is valid.',DeletePrivateField:"Deleting a private field is not allowed.",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class.",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:({exportName:Q})=>`\`${Q}\` has already been exported. Exported identifiers must be unique.`,DuplicateProto:"Redefinition of __proto__ property.",DuplicateRegExpFlags:"Duplicate regular expression flag.",DynamicImportPhaseRequiresImportExpressions:({phase:Q})=>`'import.${Q}(...)' can only be parsed when using the 'createImportExpressions' option.`,ElementAfterRest:"Rest element must be last element.",EscapedCharNotAnIdentifier:"Invalid Unicode escape.",ExportBindingIsString:({localName:Q,exportName:C})=>`A string literal cannot be used as an exported binding without \`from\`. +- Did you mean \`export { '${Q}' as '${C}' } from 'some-module'\`?`,ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'.",ForInOfLoopInitializer:({type:Q})=>`'${Q==="ForInStatement"?"for-in":"for-of"}' loop variable declaration may not have an initializer.`,ForInUsing:"For-in loop may not start with 'using' declaration.",ForOfAsync:"The left-hand side of a for-of loop may not be 'async'.",ForOfLet:"The left-hand side of a for-of loop may not start with 'let'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:({type:Q})=>`Unsyntactic ${Q==="BreakStatement"?"break":"continue"}.`,IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list.",IllegalReturn:"'return' outside of function.",ImportAttributesUseAssert:"The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedImportAssert` parser plugin to suppress this error.",ImportBindingIsString:({importName:Q})=>`A string literal cannot be used as an imported binding. +- Did you mean \`import { "${Q}" as foo }\`?`,ImportCallArity:"`import()` requires exactly one or two arguments.",ImportCallNotNewExpression:"Cannot use new with import(...).",ImportCallSpreadArgument:"`...` is not allowed in `import()`.",ImportJSONBindingNotDefault:"A JSON module can only be imported with `default`.",ImportReflectionHasAssertion:"`import module x` cannot have assertions.",ImportReflectionNotBinding:'Only `import module x from "./module"` is valid.',IncompatibleRegExpUVFlags:"The 'u' and 'v' regular expression flags cannot be enabled at the same time.",InvalidBigIntLiteral:"Invalid BigIntLiteral.",InvalidCodePoint:"Code point out of bounds.",InvalidCoverInitializedName:"Invalid shorthand property initializer.",InvalidDecimal:"Invalid decimal.",InvalidDigit:({radix:Q})=>`Expected number in radix ${Q}.`,InvalidEscapeSequence:"Bad character escape sequence.",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template.",InvalidEscapedReservedWord:({reservedWord:Q})=>`Escape sequence in keyword ${Q}.`,InvalidIdentifier:({identifierName:Q})=>`Invalid identifier ${Q}.`,InvalidLhs:({ancestor:Q})=>`Invalid left-hand side in ${c(Q)}.`,InvalidLhsBinding:({ancestor:Q})=>`Binding invalid left-hand side in ${c(Q)}.`,InvalidLhsOptionalChaining:({ancestor:Q})=>`Invalid optional chaining in the left-hand side of ${c(Q)}.`,InvalidNumber:"Invalid number.",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'.",InvalidOrUnexpectedToken:({unexpected:Q})=>`Unexpected character '${Q}'.`,InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern.",InvalidPrivateFieldResolution:({identifierName:Q})=>`Private name #${Q} is not defined.`,InvalidPropertyBindingPattern:"Binding member expression.",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions.",InvalidRestAssignmentPattern:"Invalid rest operator's argument.",LabelRedeclaration:({labelName:Q})=>`Label '${Q}' is already declared.`,LetInLexicalBinding:"'let' is disallowed as a lexically bound name.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'.",MalformedRegExpFlags:"Invalid regular expression flag.",MissingClassName:"A class name is required.",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon.",MissingPlugin:({missingPlugin:Q})=>`This experimental syntax requires enabling the parser plugin: ${Q.map(C=>JSON.stringify(C)).join(", ")}.`,MissingOneOfPlugins:({missingPlugin:Q})=>`This experimental syntax requires enabling one of the following parser plugin(s): ${Q.map(C=>JSON.stringify(C)).join(", ")}.`,MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX.",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators.",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`.",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values.",ModuleAttributesWithDuplicateKeys:({key:Q})=>`Duplicate key "${Q}" is not allowed in module attributes.`,ModuleExportNameHasLoneSurrogate:({surrogateCharCode:Q})=>`An export name cannot include a lone surrogate, found '\\u${Q.toString(16)}'.`,ModuleExportUndefined:({localName:Q})=>`Export '${Q}' is not defined.`,MultipleDefaultsInSwitch:"Multiple default clauses.",NewlineAfterThrow:"Illegal newline after throw.",NoCatchOrFinally:"Missing catch or finally clause.",NumberIdentifier:"Identifier directly after number.",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",ObsoleteAwaitStar:"'await*' has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"Constructors in/after an Optional Chain are not allowed.",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain.",OverrideOnConstructor:"'override' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can't contain getter or setter.",PatternHasMethod:"Object pattern can't contain methods.",PrivateInExpectedIn:({identifierName:Q})=>`Private names are only allowed in property accesses (\`obj.#${Q}\`) or in \`in\` expressions (\`#${Q} in obj\`).`,PrivateNameRedeclaration:({identifierName:Q})=>`Duplicate private name #${Q}.`,RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",RecordNoProto:"'__proto__' is not allowed in Record expressions.",RestTrailingComma:"Unexpected trailing comma after rest element.",SloppyFunction:"In non-strict mode code, functions can only be declared at top level or inside a block.",SloppyFunctionAnnexB:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",SourcePhaseImportRequiresDefault:'Only `import source x from "./module"` is valid.',StaticPrototype:"Classes may not have static property named prototype.",SuperNotAllowed:"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super.",TrailingDecorator:"Decorators must be attached to a class element.",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder.",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',UnexpectedDigitAfterHash:"Unexpected digit after hash token.",UnexpectedImportExport:"'import' and 'export' may only appear at the top level.",UnexpectedKeyword:({keyword:Q})=>`Unexpected keyword '${Q}'.`,UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration.",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context.",UnexpectedNewTarget:"`new.target` can only be used in functions or class properties.",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits.",UnexpectedPrivateField:"Unexpected private name.",UnexpectedReservedWord:({reservedWord:Q})=>`Unexpected reserved word '${Q}'.`,UnexpectedSuper:"'super' is only allowed in object methods and classes.",UnexpectedToken:({expected:Q,unexpected:C})=>`Unexpected token${C?` '${C}'.`:""}${Q?`, expected "${Q}"`:""}`,UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnexpectedUsingDeclaration:"Using declaration cannot appear in the top level when source type is `script`.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration.",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"`import` can only be used in `import()` or `import.meta`.",UnsupportedMetaProperty:({target:Q,onlyValidPropertyName:C})=>`The only valid meta property for ${Q} is ${Q}.${C}.`,UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters.",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties.",UnsupportedSuper:"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",UnterminatedComment:"Unterminated comment.",UnterminatedRegExp:"Unterminated regular expression.",UnterminatedString:"Unterminated string constant.",UnterminatedTemplate:"Unterminated template.",UsingDeclarationExport:"Using declaration cannot be exported.",UsingDeclarationHasBindingPattern:"Using declaration cannot have destructuring patterns.",VarRedeclaration:({identifierName:Q})=>`Identifier '${Q}' has already been declared.`,YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator.",YieldInParameter:"Yield expression is not allowed in formal parameters.",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0."},_={StrictDelete:"Deleting local variable in strict mode.",StrictEvalArguments:({referenceName:Q})=>`Assigning to '${Q}' in strict mode.`,StrictEvalArgumentsBinding:({bindingName:Q})=>`Binding '${Q}' in strict mode.`,StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block.",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'.",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode.",StrictWith:"'with' in strict mode."},f=new Set(["ArrowFunctionExpression","AssignmentExpression","ConditionalExpression","YieldExpression"]),m={PipeBodyIsTighter:"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.",PipeTopicRequiresHackPipes:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.',PipeTopicUnbound:"Topic reference is unbound; it must be inside a pipe body.",PipeTopicUnconfiguredToken:({token:Q})=>`Invalid topic token ${Q}. In order to use ${Q} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${Q}" }.`,PipeTopicUnused:"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",PipeUnparenthesizedBody:({type:Q})=>`Hack-style pipe body cannot be an unparenthesized ${c({type:Q})}; please wrap it in parentheses.`,PipelineBodyNoArrow:'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized.',PipelineBodySequenceExpression:"Pipeline body may not be a comma-separated sequence expression.",PipelineHeadSequenceExpression:"Pipeline head should not be a comma-separated sequence expression.",PipelineTopicUnused:"Pipeline is in topic style but does not use topic reference.",PrimaryTopicNotAllowed:"Topic reference was used in a lexical context without topic binding.",PrimaryTopicRequiresSmartPipeline:'Topic reference is used, but the pipelineOperator plugin was not passed a "proposal": "hack" or "smart" option.'},x=["message"];function y(Q,C,I){Object.defineProperty(Q,C,{enumerable:!1,configurable:!0,value:I})}function A({toMessage:Q,code:C,reasonCode:I,syntaxPlugin:j}){let Te=I==="MissingPlugin"||I==="MissingOneOfPlugins";{let Be={AccessorCannotDeclareThisParameter:"AccesorCannotDeclareThisParameter",AccessorCannotHaveTypeParameters:"AccesorCannotHaveTypeParameters",ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference:"ConstInitiailizerMustBeStringOrNumericLiteralOrLiteralEnumReference",SetAccessorCannotHaveOptionalParameter:"SetAccesorCannotHaveOptionalParameter",SetAccessorCannotHaveRestParameter:"SetAccesorCannotHaveRestParameter",SetAccessorCannotHaveReturnType:"SetAccesorCannotHaveReturnType"};Be[I]&&(I=Be[I])}return function Be(ct,zt){let Rr=new SyntaxError;return Rr.code=C,Rr.reasonCode=I,Rr.loc=ct,Rr.pos=ct.index,Rr.syntaxPlugin=j,Te&&(Rr.missingPlugin=zt.missingPlugin),y(Rr,"clone",function(_r={}){var ei;let{line:Si,column:Ji,index:$a}=(ei=_r.loc)!=null?ei:ct;return Be(new r(Si,Ji,$a),Object.assign({},zt,_r.details))}),y(Rr,"details",zt),Object.defineProperty(Rr,"message",{configurable:!0,get(){let _r=`${Q(zt)} (${ct.line}:${ct.column})`;return this.message=_r,_r},set(_r){Object.defineProperty(this,"message",{value:_r,writable:!0})}}),Rr}}function D(Q,C){if(Array.isArray(Q))return j=>D(j,Q[0]);let I={};for(let j of Object.keys(Q)){let Te=Q[j],Be=typeof Te=="string"?{message:()=>Te}:typeof Te=="function"?{message:Te}:Te,{message:ct}=Be,zt=t(Be,x),Rr=typeof ct=="string"?()=>ct:ct;I[j]=A(Object.assign({code:"BABEL_PARSER_SYNTAX_ERROR",reasonCode:j,toMessage:Rr},C?{syntaxPlugin:C}:{},zt))}return I}var S=Object.assign({},D(R),D(h),D(_),D`pipelineOperator`(m)),{defineProperty:P}=Object,M=(Q,C)=>{Q&&P(Q,C,{enumerable:!1,value:Q[C]})};function U(Q){return M(Q.loc.start,"index"),M(Q.loc.end,"index"),Q}var w=Q=>class extends Q{parse(){let C=U(super.parse());return this.options.tokens&&(C.tokens=C.tokens.map(U)),C}parseRegExpLiteral({pattern:C,flags:I}){let j=null;try{j=new RegExp(C,I)}catch{}let Te=this.estreeParseLiteral(j);return Te.regex={pattern:C,flags:I},Te}parseBigIntLiteral(C){let I;try{I=BigInt(C)}catch{I=null}let j=this.estreeParseLiteral(I);return j.bigint=String(j.value||C),j}parseDecimalLiteral(C){let I=this.estreeParseLiteral(null);return I.decimal=String(I.value||C),I}estreeParseLiteral(C){return this.parseLiteral(C,"Literal")}parseStringLiteral(C){return this.estreeParseLiteral(C)}parseNumericLiteral(C){return this.estreeParseLiteral(C)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(C){return this.estreeParseLiteral(C)}directiveToStmt(C){let I=C.value;delete C.value,I.type="Literal",I.raw=I.extra.raw,I.value=I.extra.expressionValue;let j=C;return j.type="ExpressionStatement",j.expression=I,j.directive=I.extra.rawValue,delete I.extra,j}initFunction(C,I){super.initFunction(C,I),C.expression=!1}checkDeclaration(C){C!=null&&this.isObjectProperty(C)?this.checkDeclaration(C.value):super.checkDeclaration(C)}getObjectOrClassMethodParams(C){return C.value.params}isValidDirective(C){var I;return C.type==="ExpressionStatement"&&C.expression.type==="Literal"&&typeof C.expression.value=="string"&&!((I=C.expression.extra)!=null&&I.parenthesized)}parseBlockBody(C,I,j,Te,Be){super.parseBlockBody(C,I,j,Te,Be);let ct=C.directives.map(zt=>this.directiveToStmt(zt));C.body=ct.concat(C.body),delete C.directives}pushClassMethod(C,I,j,Te,Be,ct){this.parseMethod(I,j,Te,Be,ct,"ClassMethod",!0),I.typeParameters&&(I.value.typeParameters=I.typeParameters,delete I.typeParameters),C.body.push(I)}parsePrivateName(){let C=super.parsePrivateName();return this.getPluginOption("estree","classFeatures")?this.convertPrivateNameToPrivateIdentifier(C):C}convertPrivateNameToPrivateIdentifier(C){let I=super.getPrivateNameSV(C);return C=C,delete C.id,C.name=I,C.type="PrivateIdentifier",C}isPrivateName(C){return this.getPluginOption("estree","classFeatures")?C.type==="PrivateIdentifier":super.isPrivateName(C)}getPrivateNameSV(C){return this.getPluginOption("estree","classFeatures")?C.name:super.getPrivateNameSV(C)}parseLiteral(C,I){let j=super.parseLiteral(C,I);return j.raw=j.extra.raw,delete j.extra,j}parseFunctionBody(C,I,j=!1){super.parseFunctionBody(C,I,j),C.expression=C.body.type!=="BlockStatement"}parseMethod(C,I,j,Te,Be,ct,zt=!1){let Rr=this.startNode();return Rr.kind=C.kind,Rr=super.parseMethod(Rr,I,j,Te,Be,ct,zt),Rr.type="FunctionExpression",delete Rr.kind,C.value=Rr,ct==="ClassPrivateMethod"&&(C.computed=!1),this.finishNode(C,"MethodDefinition")}nameIsConstructor(C){return C.type==="Literal"?C.value==="constructor":super.nameIsConstructor(C)}parseClassProperty(...C){let I=super.parseClassProperty(...C);return this.getPluginOption("estree","classFeatures")&&(I.type="PropertyDefinition"),I}parseClassPrivateProperty(...C){let I=super.parseClassPrivateProperty(...C);return this.getPluginOption("estree","classFeatures")&&(I.type="PropertyDefinition",I.computed=!1),I}parseObjectMethod(C,I,j,Te,Be){let ct=super.parseObjectMethod(C,I,j,Te,Be);return ct&&(ct.type="Property",ct.kind==="method"&&(ct.kind="init"),ct.shorthand=!1),ct}parseObjectProperty(C,I,j,Te){let Be=super.parseObjectProperty(C,I,j,Te);return Be&&(Be.kind="init",Be.type="Property"),Be}isValidLVal(C,I,j){return C==="Property"?"value":super.isValidLVal(C,I,j)}isAssignable(C,I){return C!=null&&this.isObjectProperty(C)?this.isAssignable(C.value,I):super.isAssignable(C,I)}toAssignable(C,I=!1){if(C!=null&&this.isObjectProperty(C)){let{key:j,value:Te}=C;this.isPrivateName(j)&&this.classScope.usePrivateName(this.getPrivateNameSV(j),j.loc.start),this.toAssignable(Te,I)}else super.toAssignable(C,I)}toAssignableObjectExpressionProp(C,I,j){C.type==="Property"&&(C.kind==="get"||C.kind==="set")?this.raise(S.PatternHasAccessor,C.key):C.type==="Property"&&C.method?this.raise(S.PatternHasMethod,C.key):super.toAssignableObjectExpressionProp(C,I,j)}finishCallExpression(C,I){let j=super.finishCallExpression(C,I);if(j.callee.type==="Import"){var Te,Be;j.type="ImportExpression",j.source=j.arguments[0],j.options=(Te=j.arguments[1])!=null?Te:null,j.attributes=(Be=j.arguments[1])!=null?Be:null,delete j.arguments,delete j.callee}return j}toReferencedArguments(C){C.type!=="ImportExpression"&&super.toReferencedArguments(C)}parseExport(C,I){let j=this.state.lastTokStartLoc,Te=super.parseExport(C,I);switch(Te.type){case"ExportAllDeclaration":Te.exported=null;break;case"ExportNamedDeclaration":Te.specifiers.length===1&&Te.specifiers[0].type==="ExportNamespaceSpecifier"&&(Te.type="ExportAllDeclaration",Te.exported=Te.specifiers[0].exported,delete Te.specifiers);case"ExportDefaultDeclaration":{var Be;let{declaration:ct}=Te;ct?.type==="ClassDeclaration"&&((Be=ct.decorators)==null?void 0:Be.length)>0&&ct.start===Te.start&&this.resetStartLocation(Te,j)}break}return Te}parseSubscript(C,I,j,Te){let Be=super.parseSubscript(C,I,j,Te);if(Te.optionalChainMember){if((Be.type==="OptionalMemberExpression"||Be.type==="OptionalCallExpression")&&(Be.type=Be.type.substring(8)),Te.stop){let ct=this.startNodeAtNode(Be);return ct.expression=Be,this.finishNode(ct,"ChainExpression")}}else(Be.type==="MemberExpression"||Be.type==="CallExpression")&&(Be.optional=!1);return Be}isOptionalMemberExpression(C){return C.type==="ChainExpression"?C.expression.type==="MemberExpression":super.isOptionalMemberExpression(C)}hasPropertyAsPrivateName(C){return C.type==="ChainExpression"&&(C=C.expression),super.hasPropertyAsPrivateName(C)}isObjectProperty(C){return C.type==="Property"&&C.kind==="init"&&!C.method}isObjectMethod(C){return C.type==="Property"&&(C.method||C.kind==="get"||C.kind==="set")}finishNodeAt(C,I,j){return U(super.finishNodeAt(C,I,j))}resetStartLocation(C,I){super.resetStartLocation(C,I),U(C)}resetEndLocation(C,I=this.state.lastTokEndLoc){super.resetEndLocation(C,I),U(C)}},F=class{constructor(Q,C){this.token=void 0,this.preserveSpace=void 0,this.token=Q,this.preserveSpace=!!C}},H={brace:new F("{"),j_oTag:new F("...",!0)};H.template=new F("`",!0);var G=!0,ee=!0,fe=!0,me=!0,ve=!0,Ae=!0,Ue=class{constructor(Q,C={}){this.label=void 0,this.keyword=void 0,this.beforeExpr=void 0,this.startsExpr=void 0,this.rightAssociative=void 0,this.isLoop=void 0,this.isAssign=void 0,this.prefix=void 0,this.postfix=void 0,this.binop=void 0,this.label=Q,this.keyword=C.keyword,this.beforeExpr=!!C.beforeExpr,this.startsExpr=!!C.startsExpr,this.rightAssociative=!!C.rightAssociative,this.isLoop=!!C.isLoop,this.isAssign=!!C.isAssign,this.prefix=!!C.prefix,this.postfix=!!C.postfix,this.binop=C.binop!=null?C.binop:null,this.updateContext=null}},Ee=new Map;function Me(Q,C={}){C.keyword=Q;let I=Ut(Q,C);return Ee.set(Q,I),I}function gt(Q,C){return Ut(Q,{beforeExpr:G,binop:C})}var xt=-1,Nt=[],lt=[],at=[],_t=[],Ve=[],Dt=[];function Ut(Q,C={}){var I,j,Te,Be;return++xt,lt.push(Q),at.push((I=C.binop)!=null?I:-1),_t.push((j=C.beforeExpr)!=null?j:!1),Ve.push((Te=C.startsExpr)!=null?Te:!1),Dt.push((Be=C.prefix)!=null?Be:!1),Nt.push(new Ue(Q,C)),xt}function pt(Q,C={}){var I,j,Te,Be;return++xt,Ee.set(Q,xt),lt.push(Q),at.push((I=C.binop)!=null?I:-1),_t.push((j=C.beforeExpr)!=null?j:!1),Ve.push((Te=C.startsExpr)!=null?Te:!1),Dt.push((Be=C.prefix)!=null?Be:!1),Nt.push(new Ue("name",C)),xt}var ht={bracketL:Ut("[",{beforeExpr:G,startsExpr:ee}),bracketHashL:Ut("#[",{beforeExpr:G,startsExpr:ee}),bracketBarL:Ut("[|",{beforeExpr:G,startsExpr:ee}),bracketR:Ut("]"),bracketBarR:Ut("|]"),braceL:Ut("{",{beforeExpr:G,startsExpr:ee}),braceBarL:Ut("{|",{beforeExpr:G,startsExpr:ee}),braceHashL:Ut("#{",{beforeExpr:G,startsExpr:ee}),braceR:Ut("}"),braceBarR:Ut("|}"),parenL:Ut("(",{beforeExpr:G,startsExpr:ee}),parenR:Ut(")"),comma:Ut(",",{beforeExpr:G}),semi:Ut(";",{beforeExpr:G}),colon:Ut(":",{beforeExpr:G}),doubleColon:Ut("::",{beforeExpr:G}),dot:Ut("."),question:Ut("?",{beforeExpr:G}),questionDot:Ut("?."),arrow:Ut("=>",{beforeExpr:G}),template:Ut("template"),ellipsis:Ut("...",{beforeExpr:G}),backQuote:Ut("`",{startsExpr:ee}),dollarBraceL:Ut("${",{beforeExpr:G,startsExpr:ee}),templateTail:Ut("...`",{startsExpr:ee}),templateNonTail:Ut("...${",{beforeExpr:G,startsExpr:ee}),at:Ut("@"),hash:Ut("#",{startsExpr:ee}),interpreterDirective:Ut("#!..."),eq:Ut("=",{beforeExpr:G,isAssign:me}),assign:Ut("_=",{beforeExpr:G,isAssign:me}),slashAssign:Ut("_=",{beforeExpr:G,isAssign:me}),xorAssign:Ut("_=",{beforeExpr:G,isAssign:me}),moduloAssign:Ut("_=",{beforeExpr:G,isAssign:me}),incDec:Ut("++/--",{prefix:ve,postfix:Ae,startsExpr:ee}),bang:Ut("!",{beforeExpr:G,prefix:ve,startsExpr:ee}),tilde:Ut("~",{beforeExpr:G,prefix:ve,startsExpr:ee}),doubleCaret:Ut("^^",{startsExpr:ee}),doubleAt:Ut("@@",{startsExpr:ee}),pipeline:gt("|>",0),nullishCoalescing:gt("??",1),logicalOR:gt("||",1),logicalAND:gt("&&",2),bitwiseOR:gt("|",3),bitwiseXOR:gt("^",4),bitwiseAND:gt("&",5),equality:gt("==/!=/===/!==",6),lt:gt("/<=/>=",7),gt:gt("/<=/>=",7),relational:gt("/<=/>=",7),bitShift:gt("<>/>>>",8),bitShiftL:gt("<>/>>>",8),bitShiftR:gt("<>/>>>",8),plusMin:Ut("+/-",{beforeExpr:G,binop:9,prefix:ve,startsExpr:ee}),modulo:Ut("%",{binop:10,startsExpr:ee}),star:Ut("*",{binop:10}),slash:gt("/",10),exponent:Ut("**",{beforeExpr:G,binop:11,rightAssociative:!0}),_in:Me("in",{beforeExpr:G,binop:7}),_instanceof:Me("instanceof",{beforeExpr:G,binop:7}),_break:Me("break"),_case:Me("case",{beforeExpr:G}),_catch:Me("catch"),_continue:Me("continue"),_debugger:Me("debugger"),_default:Me("default",{beforeExpr:G}),_else:Me("else",{beforeExpr:G}),_finally:Me("finally"),_function:Me("function",{startsExpr:ee}),_if:Me("if"),_return:Me("return",{beforeExpr:G}),_switch:Me("switch"),_throw:Me("throw",{beforeExpr:G,prefix:ve,startsExpr:ee}),_try:Me("try"),_var:Me("var"),_const:Me("const"),_with:Me("with"),_new:Me("new",{beforeExpr:G,startsExpr:ee}),_this:Me("this",{startsExpr:ee}),_super:Me("super",{startsExpr:ee}),_class:Me("class",{startsExpr:ee}),_extends:Me("extends",{beforeExpr:G}),_export:Me("export"),_import:Me("import",{startsExpr:ee}),_null:Me("null",{startsExpr:ee}),_true:Me("true",{startsExpr:ee}),_false:Me("false",{startsExpr:ee}),_typeof:Me("typeof",{beforeExpr:G,prefix:ve,startsExpr:ee}),_void:Me("void",{beforeExpr:G,prefix:ve,startsExpr:ee}),_delete:Me("delete",{beforeExpr:G,prefix:ve,startsExpr:ee}),_do:Me("do",{isLoop:fe,beforeExpr:G}),_for:Me("for",{isLoop:fe}),_while:Me("while",{isLoop:fe}),_as:pt("as",{startsExpr:ee}),_assert:pt("assert",{startsExpr:ee}),_async:pt("async",{startsExpr:ee}),_await:pt("await",{startsExpr:ee}),_defer:pt("defer",{startsExpr:ee}),_from:pt("from",{startsExpr:ee}),_get:pt("get",{startsExpr:ee}),_let:pt("let",{startsExpr:ee}),_meta:pt("meta",{startsExpr:ee}),_of:pt("of",{startsExpr:ee}),_sent:pt("sent",{startsExpr:ee}),_set:pt("set",{startsExpr:ee}),_source:pt("source",{startsExpr:ee}),_static:pt("static",{startsExpr:ee}),_using:pt("using",{startsExpr:ee}),_yield:pt("yield",{startsExpr:ee}),_asserts:pt("asserts",{startsExpr:ee}),_checks:pt("checks",{startsExpr:ee}),_exports:pt("exports",{startsExpr:ee}),_global:pt("global",{startsExpr:ee}),_implements:pt("implements",{startsExpr:ee}),_intrinsic:pt("intrinsic",{startsExpr:ee}),_infer:pt("infer",{startsExpr:ee}),_is:pt("is",{startsExpr:ee}),_mixins:pt("mixins",{startsExpr:ee}),_proto:pt("proto",{startsExpr:ee}),_require:pt("require",{startsExpr:ee}),_satisfies:pt("satisfies",{startsExpr:ee}),_keyof:pt("keyof",{startsExpr:ee}),_readonly:pt("readonly",{startsExpr:ee}),_unique:pt("unique",{startsExpr:ee}),_abstract:pt("abstract",{startsExpr:ee}),_declare:pt("declare",{startsExpr:ee}),_enum:pt("enum",{startsExpr:ee}),_module:pt("module",{startsExpr:ee}),_namespace:pt("namespace",{startsExpr:ee}),_interface:pt("interface",{startsExpr:ee}),_type:pt("type",{startsExpr:ee}),_opaque:pt("opaque",{startsExpr:ee}),name:Ut("name",{startsExpr:ee}),placeholder:Ut("%%",{startsExpr:!0}),string:Ut("string",{startsExpr:ee}),num:Ut("num",{startsExpr:ee}),bigint:Ut("bigint",{startsExpr:ee}),decimal:Ut("decimal",{startsExpr:ee}),regexp:Ut("regexp",{startsExpr:ee}),privateName:Ut("#name",{startsExpr:ee}),eof:Ut("eof"),jsxName:Ut("jsxName"),jsxText:Ut("jsxText",{beforeExpr:!0}),jsxTagStart:Ut("jsxTagStart",{startsExpr:!0}),jsxTagEnd:Ut("jsxTagEnd")};function He(Q){return Q>=93&&Q<=133}function jt(Q){return Q<=92}function zr(Q){return Q>=58&&Q<=133}function Bn(Q){return Q>=58&&Q<=137}function an(Q){return _t[Q]}function ri(Q){return Ve[Q]}function Zr(Q){return Q>=29&&Q<=33}function bn(Q){return Q>=129&&Q<=131}function Zn(Q){return Q>=90&&Q<=92}function mi(Q){return Q>=58&&Q<=92}function Sn(Q){return Q>=39&&Q<=59}function $i(Q){return Q===34}function cs(Q){return Dt[Q]}function Ti(Q){return Q>=121&&Q<=123}function Wi(Q){return Q>=124&&Q<=130}function Fn(Q){return lt[Q]}function Hi(Q){return at[Q]}function Ma(Q){return Q===57}function mt(Q){return Q>=24&&Q<=25}function ot(Q){return Nt[Q]}Nt[8].updateContext=Q=>{Q.pop()},Nt[5].updateContext=Nt[7].updateContext=Nt[23].updateContext=Q=>{Q.push(H.brace)},Nt[22].updateContext=Q=>{Q[Q.length-1]===H.template?Q.pop():Q.push(H.template)},Nt[143].updateContext=Q=>{Q.push(H.j_expr,H.j_oTag)};var Je="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",Ct="\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65",Pt=new RegExp("["+Je+"]"),Zt=new RegExp("["+Je+Ct+"]");Je=Ct=null;var dr=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],vr=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239];function ln(Q,C){let I=65536;for(let j=0,Te=C.length;jQ)return!1;if(I+=C[j+1],I>=Q)return!0}return!1}function Mn(Q){return Q<65?Q===36:Q<=90?!0:Q<97?Q===95:Q<=122?!0:Q<=65535?Q>=170&&Pt.test(String.fromCharCode(Q)):ln(Q,dr)}function li(Q){return Q<48?Q===36:Q<58?!0:Q<65?!1:Q<=90?!0:Q<97?Q===95:Q<=122?!0:Q<=65535?Q>=170&&Zt.test(String.fromCharCode(Q)):ln(Q,dr)||ln(Q,vr)}var Pi={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},Ss=new Set(Pi.keyword),Ca=new Set(Pi.strict),Jr=new Set(Pi.strictBind);function Mr(Q,C){return C&&Q==="await"||Q==="enum"}function An(Q,C){return Mr(Q,C)||Ca.has(Q)}function Ar(Q){return Jr.has(Q)}function nn(Q,C){return An(Q,C)||Ar(Q)}function On(Q){return Ss.has(Q)}function bi(Q,C,I){return Q===64&&C===64&&Mn(I)}var ji=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete","implements","interface","let","package","private","protected","public","static","yield","eval","arguments","enum","await"]);function Ta(Q){return ji.has(Q)}var Bi=class{constructor(Q){this.flags=0,this.names=new Map,this.firstLexicalName="",this.flags=Q}},ws=class{constructor(Q,C){this.parser=void 0,this.scopeStack=[],this.inModule=void 0,this.undefinedExports=new Map,this.parser=Q,this.inModule=C}get inTopLevel(){return(this.currentScope().flags&1)>0}get inFunction(){return(this.currentVarScopeFlags()&2)>0}get allowSuper(){return(this.currentThisScopeFlags()&16)>0}get allowDirectSuper(){return(this.currentThisScopeFlags()&32)>0}get inClass(){return(this.currentThisScopeFlags()&64)>0}get inClassAndNotInNonArrowFunction(){let Q=this.currentThisScopeFlags();return(Q&64)>0&&(Q&2)===0}get inStaticBlock(){for(let Q=this.scopeStack.length-1;;Q--){let{flags:C}=this.scopeStack[Q];if(C&128)return!0;if(C&451)return!1}}get inNonArrowFunction(){return(this.currentThisScopeFlags()&2)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(Q){return new Bi(Q)}enter(Q){this.scopeStack.push(this.createScope(Q))}exit(){return this.scopeStack.pop().flags}treatFunctionsAsVarInScope(Q){return!!(Q.flags&130||!this.parser.inModule&&Q.flags&1)}declareName(Q,C,I){let j=this.currentScope();if(C&8||C&16){this.checkRedeclarationInScope(j,Q,C,I);let Te=j.names.get(Q)||0;C&16?Te=Te|4:(j.firstLexicalName||(j.firstLexicalName=Q),Te=Te|2),j.names.set(Q,Te),C&8&&this.maybeExportDefined(j,Q)}else if(C&4)for(let Te=this.scopeStack.length-1;Te>=0&&(j=this.scopeStack[Te],this.checkRedeclarationInScope(j,Q,C,I),j.names.set(Q,(j.names.get(Q)||0)|1),this.maybeExportDefined(j,Q),!(j.flags&387));--Te);this.parser.inModule&&j.flags&1&&this.undefinedExports.delete(Q)}maybeExportDefined(Q,C){this.parser.inModule&&Q.flags&1&&this.undefinedExports.delete(C)}checkRedeclarationInScope(Q,C,I,j){this.isRedeclaredInScope(Q,C,I)&&this.parser.raise(S.VarRedeclaration,j,{identifierName:C})}isRedeclaredInScope(Q,C,I){if(!(I&1))return!1;if(I&8)return Q.names.has(C);let j=Q.names.get(C);return I&16?(j&2)>0||!this.treatFunctionsAsVarInScope(Q)&&(j&1)>0:(j&2)>0&&!(Q.flags&8&&Q.firstLexicalName===C)||!this.treatFunctionsAsVarInScope(Q)&&(j&4)>0}checkLocalExport(Q){let{name:C}=Q;this.scopeStack[0].names.has(C)||this.undefinedExports.set(C,Q.loc.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let Q=this.scopeStack.length-1;;Q--){let{flags:C}=this.scopeStack[Q];if(C&387)return C}}currentThisScopeFlags(){for(let Q=this.scopeStack.length-1;;Q--){let{flags:C}=this.scopeStack[Q];if(C&451&&!(C&4))return C}}},Xo=class extends Bi{constructor(...Q){super(...Q),this.declareFunctions=new Set}},No=class extends ws{createScope(Q){return new Xo(Q)}declareName(Q,C,I){let j=this.currentScope();if(C&2048){this.checkRedeclarationInScope(j,Q,C,I),this.maybeExportDefined(j,Q),j.declareFunctions.add(Q);return}super.declareName(Q,C,I)}isRedeclaredInScope(Q,C,I){if(super.isRedeclaredInScope(Q,C,I))return!0;if(I&2048&&!Q.declareFunctions.has(C)){let j=Q.names.get(C);return(j&4)>0||(j&2)>0}return!1}checkLocalExport(Q){this.scopeStack[0].declareFunctions.has(Q.name)||super.checkLocalExport(Q)}},Fa=class{constructor(){this.sawUnambiguousESM=!1,this.ambiguousScriptDifferentAst=!1}sourceToOffsetPos(Q){return Q+this.startIndex}offsetToSourcePos(Q){return Q-this.startIndex}hasPlugin(Q){if(typeof Q=="string")return this.plugins.has(Q);{let[C,I]=Q;if(!this.hasPlugin(C))return!1;let j=this.plugins.get(C);for(let Te of Object.keys(I))if(j?.[Te]!==I[Te])return!1;return!0}}getPluginOption(Q,C){var I;return(I=this.plugins.get(Q))==null?void 0:I[C]}};function wc(Q,C){Q.trailingComments===void 0?Q.trailingComments=C:Q.trailingComments.unshift(...C)}function D0(Q,C){Q.leadingComments===void 0?Q.leadingComments=C:Q.leadingComments.unshift(...C)}function _R(Q,C){Q.innerComments===void 0?Q.innerComments=C:Q.innerComments.unshift(...C)}function XR(Q,C,I){let j=null,Te=C.length;for(;j===null&&Te>0;)j=C[--Te];j===null||j.start>I.start?_R(Q,I.comments):wc(j,I.comments)}var Wr=class extends Fa{addComment(Q){this.filename&&(Q.loc.filename=this.filename);let{commentsLen:C}=this.state;this.comments.length!==C&&(this.comments.length=C),this.comments.push(Q),this.state.commentsLen++}processComment(Q){let{commentStack:C}=this.state,I=C.length;if(I===0)return;let j=I-1,Te=C[j];Te.start===Q.end&&(Te.leadingNode=Q,j--);let{start:Be}=Q;for(;j>=0;j--){let ct=C[j],zt=ct.end;if(zt>Be)ct.containingNode=Q,this.finalizeComment(ct),C.splice(j,1);else{zt===Be&&(ct.trailingNode=Q);break}}}finalizeComment(Q){let{comments:C}=Q;if(Q.leadingNode!==null||Q.trailingNode!==null)Q.leadingNode!==null&&wc(Q.leadingNode,C),Q.trailingNode!==null&&D0(Q.trailingNode,C);else{let{containingNode:I,start:j}=Q;if(this.input.charCodeAt(this.offsetToSourcePos(j)-1)===44)switch(I.type){case"ObjectExpression":case"ObjectPattern":case"RecordExpression":XR(I,I.properties,Q);break;case"CallExpression":case"OptionalCallExpression":XR(I,I.arguments,Q);break;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":XR(I,I.params,Q);break;case"ArrayExpression":case"ArrayPattern":case"TupleExpression":XR(I,I.elements,Q);break;case"ExportNamedDeclaration":case"ImportDeclaration":XR(I,I.specifiers,Q);break;default:_R(I,C)}else _R(I,C)}}finalizeRemainingComments(){let{commentStack:Q}=this.state;for(let C=Q.length-1;C>=0;C--)this.finalizeComment(Q[C]);this.state.commentStack=[]}resetPreviousNodeTrailingComments(Q){let{commentStack:C}=this.state,{length:I}=C;if(I===0)return;let j=C[I-1];j.leadingNode===Q&&(j.leadingNode=null)}resetPreviousIdentifierLeadingComments(Q){let{commentStack:C}=this.state,{length:I}=C;I!==0&&(C[I-1].trailingNode===Q?C[I-1].trailingNode=null:I>=2&&C[I-2].trailingNode===Q&&(C[I-2].trailingNode=null))}takeSurroundingComments(Q,C,I){let{commentStack:j}=this.state,Te=j.length;if(Te===0)return;let Be=Te-1;for(;Be>=0;Be--){let ct=j[Be],zt=ct.end;if(ct.start===I)ct.leadingNode=Q;else if(zt===C)ct.trailingNode=Q;else if(zt0}set strict(C){C?this.flags|=1:this.flags&=-2}init({strictMode:C,sourceType:I,startIndex:j,startLine:Te,startColumn:Be}){this.strict=C===!1?!1:C===!0?!0:I==="module",this.startIndex=j,this.curLine=Te,this.lineStart=-Be,this.startLoc=this.endLoc=new r(Te,Be,j)}get maybeInArrowParameters(){return(this.flags&2)>0}set maybeInArrowParameters(C){C?this.flags|=2:this.flags&=-3}get inType(){return(this.flags&4)>0}set inType(C){C?this.flags|=4:this.flags&=-5}get noAnonFunctionType(){return(this.flags&8)>0}set noAnonFunctionType(C){C?this.flags|=8:this.flags&=-9}get hasFlowComment(){return(this.flags&16)>0}set hasFlowComment(C){C?this.flags|=16:this.flags&=-17}get isAmbientContext(){return(this.flags&32)>0}set isAmbientContext(C){C?this.flags|=32:this.flags&=-33}get inAbstractClass(){return(this.flags&64)>0}set inAbstractClass(C){C?this.flags|=64:this.flags&=-65}get inDisallowConditionalTypesContext(){return(this.flags&128)>0}set inDisallowConditionalTypesContext(C){C?this.flags|=128:this.flags&=-129}get soloAwait(){return(this.flags&256)>0}set soloAwait(C){C?this.flags|=256:this.flags&=-257}get inFSharpPipelineDirectBody(){return(this.flags&512)>0}set inFSharpPipelineDirectBody(C){C?this.flags|=512:this.flags&=-513}get canStartJSXElement(){return(this.flags&1024)>0}set canStartJSXElement(C){C?this.flags|=1024:this.flags&=-1025}get containsEsc(){return(this.flags&2048)>0}set containsEsc(C){C?this.flags|=2048:this.flags&=-2049}get hasTopLevelAwait(){return(this.flags&4096)>0}set hasTopLevelAwait(C){C?this.flags|=4096:this.flags&=-4097}curPosition(){return new r(this.curLine,this.pos-this.lineStart,this.pos+this.startIndex)}clone(){let C=new Ttr;return C.flags=this.flags,C.startIndex=this.startIndex,C.curLine=this.curLine,C.lineStart=this.lineStart,C.startLoc=this.startLoc,C.endLoc=this.endLoc,C.errors=this.errors.slice(),C.potentialArrowAt=this.potentialArrowAt,C.noArrowAt=this.noArrowAt.slice(),C.noArrowParamsConversionAt=this.noArrowParamsConversionAt.slice(),C.topicContext=this.topicContext,C.labels=this.labels.slice(),C.commentsLen=this.commentsLen,C.commentStack=this.commentStack.slice(),C.pos=this.pos,C.type=this.type,C.value=this.value,C.start=this.start,C.end=this.end,C.lastTokEndLoc=this.lastTokEndLoc,C.lastTokStartLoc=this.lastTokStartLoc,C.context=this.context.slice(),C.firstInvalidTemplateEscapePos=this.firstInvalidTemplateEscapePos,C.strictErrors=this.strictErrors,C.tokensLength=this.tokensLength,C}},Mo=function(Q){return Q>=48&&Q<=57},ZR={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},RR={bin:Q=>Q===48||Q===49,oct:Q=>Q>=48&&Q<=55,dec:Q=>Q>=48&&Q<=57,hex:Q=>Q>=48&&Q<=57||Q>=65&&Q<=70||Q>=97&&Q<=102};function IR(Q,C,I,j,Te,Be){let ct=I,zt=j,Rr=Te,_r="",ei=null,Si=I,{length:Ji}=C;for(;;){if(I>=Ji){Be.unterminated(ct,zt,Rr),_r+=C.slice(Si,I);break}let $a=C.charCodeAt(I);if(nl(Q,$a,C,I)){_r+=C.slice(Si,I);break}if($a===92){_r+=C.slice(Si,I);let ho=u1(C,I,j,Te,Q==="template",Be);ho.ch===null&&!ei?ei={pos:I,lineStart:j,curLine:Te}:_r+=ho.ch,{pos:I,lineStart:j,curLine:Te}=ho,Si=I}else $a===8232||$a===8233?(++I,++Te,j=I):$a===10||$a===13?Q==="template"?(_r+=C.slice(Si,I)+` +`,++I,$a===13&&C.charCodeAt(I)===10&&++I,++Te,Si=j=I):Be.unterminated(ct,zt,Rr):++I}return{pos:I,str:_r,firstInvalidLoc:ei,lineStart:j,curLine:Te,containsInvalid:!!ei}}function nl(Q,C,I,j){return Q==="template"?C===96||C===36&&I.charCodeAt(j+1)===123:C===(Q==="double"?34:39)}function u1(Q,C,I,j,Te,Be){let ct=!Te;C++;let zt=_r=>({pos:C,ch:_r,lineStart:I,curLine:j}),Rr=Q.charCodeAt(C++);switch(Rr){case 110:return zt(` +`);case 114:return zt("\r");case 120:{let _r;return{code:_r,pos:C}=V_(Q,C,I,j,2,!1,ct,Be),zt(_r===null?null:String.fromCharCode(_r))}case 117:{let _r;return{code:_r,pos:C}=Nn(Q,C,I,j,ct,Be),zt(_r===null?null:String.fromCodePoint(_r))}case 116:return zt(" ");case 98:return zt("\b");case 118:return zt("\v");case 102:return zt("\f");case 13:Q.charCodeAt(C)===10&&++C;case 10:I=C,++j;case 8232:case 8233:return zt("");case 56:case 57:if(Te)return zt(null);Be.strictNumericEscape(C-1,I,j);default:if(Rr>=48&&Rr<=55){let _r=C-1,ei=/^[0-7]+/.exec(Q.slice(_r,C+2))[0],Si=parseInt(ei,8);Si>255&&(ei=ei.slice(0,-1),Si=parseInt(ei,8)),C+=ei.length-1;let Ji=Q.charCodeAt(C);if(ei!=="0"||Ji===56||Ji===57){if(Te)return zt(null);Be.strictNumericEscape(_r,I,j)}return zt(String.fromCharCode(Si))}return zt(String.fromCharCode(Rr))}}function V_(Q,C,I,j,Te,Be,ct,zt){let Rr=C,_r;return{n:_r,pos:C}=sT(Q,C,I,j,16,Te,Be,!1,zt,!ct),_r===null&&(ct?zt.invalidEscapeSequence(Rr,I,j):C=Rr-1),{code:_r,pos:C}}function sT(Q,C,I,j,Te,Be,ct,zt,Rr,_r){let ei=C,Si=Te===16?ZR.hex:ZR.decBinOct,Ji=Te===16?RR.hex:Te===10?RR.dec:Te===8?RR.oct:RR.bin,$a=!1,ho=0;for(let Go=0,no=Be??1/0;Go=97?DR=R0-97+10:R0>=65?DR=R0-65+10:Mo(R0)?DR=R0-48:DR=1/0,DR>=Te){if(DR<=9&&_r)return{n:null,pos:C};if(DR<=9&&Rr.invalidDigit(C,I,j,Te))DR=0;else if(ct)DR=0,$a=!0;else break}++C,ho=ho*Te+DR}return C===ei||Be!=null&&C-ei!==Be||$a?{n:null,pos:C}:{n:ho,pos:C}}function Nn(Q,C,I,j,Te,Be){let ct=Q.charCodeAt(C),zt;if(ct===123){if(++C,{code:zt,pos:C}=V_(Q,C,I,j,Q.indexOf("}",C)-C,!0,Te,Be),++C,zt!==null&&zt>1114111)if(Te)Be.invalidCodePoint(C,I,j);else return{code:null,pos:C}}else({code:zt,pos:C}=V_(Q,C,I,j,4,!1,Te,Be));return{code:zt,pos:C}}function vi(Q,C,I){return new r(I,Q-C,Q)}var oo=new Set([103,109,115,105,121,117,100,118]),_a=class{constructor(Q){let C=Q.startIndex||0;this.type=Q.type,this.value=Q.value,this.start=C+Q.start,this.end=C+Q.end,this.loc=new n(Q.startLoc,Q.endLoc)}},Tn=class extends Wr{constructor(Q,C){super(),this.isLookahead=void 0,this.tokens=[],this.errorHandlers_readInt={invalidDigit:(I,j,Te,Be)=>this.options.errorRecovery?(this.raise(S.InvalidDigit,vi(I,j,Te),{radix:Be}),!0):!1,numericSeparatorInEscapeSequence:this.errorBuilder(S.NumericSeparatorInEscapeSequence),unexpectedNumericSeparator:this.errorBuilder(S.UnexpectedNumericSeparator)},this.errorHandlers_readCodePoint=Object.assign({},this.errorHandlers_readInt,{invalidEscapeSequence:this.errorBuilder(S.InvalidEscapeSequence),invalidCodePoint:this.errorBuilder(S.InvalidCodePoint)}),this.errorHandlers_readStringContents_string=Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:(I,j,Te)=>{this.recordStrictModeErrors(S.StrictNumericEscape,vi(I,j,Te))},unterminated:(I,j,Te)=>{throw this.raise(S.UnterminatedString,vi(I-1,j,Te))}}),this.errorHandlers_readStringContents_template=Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:this.errorBuilder(S.StrictNumericEscape),unterminated:(I,j,Te)=>{throw this.raise(S.UnterminatedTemplate,vi(I,j,Te))}}),this.state=new _o,this.state.init(Q),this.input=C,this.length=C.length,this.comments=[],this.isLookahead=!1}pushToken(Q){this.tokens.length=this.state.tokensLength,this.tokens.push(Q),++this.state.tokensLength}next(){this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new _a(this.state)),this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(Q){return this.match(Q)?(this.next(),!0):!1}match(Q){return this.state.type===Q}createLookaheadState(Q){return{pos:Q.pos,value:null,type:Q.type,start:Q.start,end:Q.end,context:[this.curContext()],inType:Q.inType,startLoc:Q.startLoc,lastTokEndLoc:Q.lastTokEndLoc,curLine:Q.curLine,lineStart:Q.lineStart,curPosition:Q.curPosition}}lookahead(){let Q=this.state;this.state=this.createLookaheadState(Q),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;let C=this.state;return this.state=Q,C}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(Q){return hn.lastIndex=Q,hn.test(this.input)?hn.lastIndex:Q}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}nextTokenInLineStart(){return this.nextTokenInLineStartSince(this.state.pos)}nextTokenInLineStartSince(Q){return ro.lastIndex=Q,ro.test(this.input)?ro.lastIndex:Q}lookaheadInLineCharCode(){return this.input.charCodeAt(this.nextTokenInLineStart())}codePointAtPos(Q){let C=this.input.charCodeAt(Q);if((C&64512)===55296&&++Qthis.raise(C,I)),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){if(this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length){this.finishToken(140);return}this.getTokenFromCode(this.codePointAtPos(this.state.pos))}skipBlockComment(Q){let C;this.isLookahead||(C=this.state.curPosition());let I=this.state.pos,j=this.input.indexOf(Q,I+2);if(j===-1)throw this.raise(S.UnterminatedComment,this.state.curPosition());for(this.state.pos=j+Q.length,Ce.lastIndex=I+2;Ce.test(this.input)&&Ce.lastIndex<=j;)++this.state.curLine,this.state.lineStart=Ce.lastIndex;if(this.isLookahead)return;let Te={type:"CommentBlock",value:this.input.slice(I+2,j),start:this.sourceToOffsetPos(I),end:this.sourceToOffsetPos(j+Q.length),loc:new n(C,this.state.curPosition())};return this.options.tokens&&this.pushToken(Te),Te}skipLineComment(Q){let C=this.state.pos,I;this.isLookahead||(I=this.state.curPosition());let j=this.input.charCodeAt(this.state.pos+=Q);if(this.state.posQ)){let Te=this.skipLineComment(3);Te!==void 0&&(this.addComment(Te),this.options.attachComment&&C.push(Te))}else break e}else if(I===60&&!this.inModule&&this.options.annexB){let j=this.state.pos;if(this.input.charCodeAt(j+1)===33&&this.input.charCodeAt(j+2)===45&&this.input.charCodeAt(j+3)===45){let Te=this.skipLineComment(4);Te!==void 0&&(this.addComment(Te),this.options.attachComment&&C.push(Te))}else break e}else break e}}if(C.length>0){let I=this.state.pos,j={start:this.sourceToOffsetPos(Q),end:this.sourceToOffsetPos(I),comments:C,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(j)}}finishToken(Q,C){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();let I=this.state.type;this.state.type=Q,this.state.value=C,this.isLookahead||this.updateContext(I)}replaceToken(Q){this.state.type=Q,this.updateContext()}readToken_numberSign(){if(this.state.pos===0&&this.readToken_interpreter())return;let Q=this.state.pos+1,C=this.codePointAtPos(Q);if(C>=48&&C<=57)throw this.raise(S.UnexpectedDigitAfterHash,this.state.curPosition());if(C===123||C===91&&this.hasPlugin("recordAndTuple")){if(this.expectPlugin("recordAndTuple"),this.getPluginOption("recordAndTuple","syntaxType")==="bar")throw this.raise(C===123?S.RecordExpressionHashIncorrectStartSyntaxType:S.TupleExpressionHashIncorrectStartSyntaxType,this.state.curPosition());this.state.pos+=2,C===123?this.finishToken(7):this.finishToken(1)}else Mn(C)?(++this.state.pos,this.finishToken(139,this.readWord1(C))):C===92?(++this.state.pos,this.finishToken(139,this.readWord1())):this.finishOp(27,1)}readToken_dot(){let Q=this.input.charCodeAt(this.state.pos+1);if(Q>=48&&Q<=57){this.readNumber(!0);return}Q===46&&this.input.charCodeAt(this.state.pos+2)===46?(this.state.pos+=3,this.finishToken(21)):(++this.state.pos,this.finishToken(16))}readToken_slash(){this.input.charCodeAt(this.state.pos+1)===61?this.finishOp(31,2):this.finishOp(56,1)}readToken_interpreter(){if(this.state.pos!==0||this.length<2)return!1;let Q=this.input.charCodeAt(this.state.pos+1);if(Q!==33)return!1;let C=this.state.pos;for(this.state.pos+=1;!Oa(Q)&&++this.state.pos=48&&C<=57)?(this.state.pos+=2,this.finishToken(18)):(++this.state.pos,this.finishToken(17))}getTokenFromCode(Q){switch(Q){case 46:this.readToken_dot();return;case 40:++this.state.pos,this.finishToken(10);return;case 41:++this.state.pos,this.finishToken(11);return;case 59:++this.state.pos,this.finishToken(13);return;case 44:++this.state.pos,this.finishToken(12);return;case 91:if(this.hasPlugin("recordAndTuple")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar")throw this.raise(S.TupleExpressionBarIncorrectStartSyntaxType,this.state.curPosition());this.state.pos+=2,this.finishToken(2)}else++this.state.pos,this.finishToken(0);return;case 93:++this.state.pos,this.finishToken(3);return;case 123:if(this.hasPlugin("recordAndTuple")&&this.input.charCodeAt(this.state.pos+1)===124){if(this.getPluginOption("recordAndTuple","syntaxType")!=="bar")throw this.raise(S.RecordExpressionBarIncorrectStartSyntaxType,this.state.curPosition());this.state.pos+=2,this.finishToken(6)}else++this.state.pos,this.finishToken(5);return;case 125:++this.state.pos,this.finishToken(8);return;case 58:this.hasPlugin("functionBind")&&this.input.charCodeAt(this.state.pos+1)===58?this.finishOp(15,2):(++this.state.pos,this.finishToken(14));return;case 63:this.readToken_question();return;case 96:this.readTemplateToken();return;case 48:{let C=this.input.charCodeAt(this.state.pos+1);if(C===120||C===88){this.readRadixNumber(16);return}if(C===111||C===79){this.readRadixNumber(8);return}if(C===98||C===66){this.readRadixNumber(2);return}}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:this.readNumber(!1);return;case 34:case 39:this.readString(Q);return;case 47:this.readToken_slash();return;case 37:case 42:this.readToken_mult_modulo(Q);return;case 124:case 38:this.readToken_pipe_amp(Q);return;case 94:this.readToken_caret();return;case 43:case 45:this.readToken_plus_min(Q);return;case 60:this.readToken_lt();return;case 62:this.readToken_gt();return;case 61:case 33:this.readToken_eq_excl(Q);return;case 126:this.finishOp(36,1);return;case 64:this.readToken_atSign();return;case 35:this.readToken_numberSign();return;case 92:this.readWord();return;default:if(Mn(Q)){this.readWord(Q);return}}throw this.raise(S.InvalidOrUnexpectedToken,this.state.curPosition(),{unexpected:String.fromCodePoint(Q)})}finishOp(Q,C){let I=this.input.slice(this.state.pos,this.state.pos+C);this.state.pos+=C,this.finishToken(Q,I)}readRegexp(){let Q=this.state.startLoc,C=this.state.start+1,I,j,{pos:Te}=this.state;for(;;++Te){if(Te>=this.length)throw this.raise(S.UnterminatedRegExp,i(Q,1));let Rr=this.input.charCodeAt(Te);if(Oa(Rr))throw this.raise(S.UnterminatedRegExp,i(Q,1));if(I)I=!1;else{if(Rr===91)j=!0;else if(Rr===93&&j)j=!1;else if(Rr===47&&!j)break;I=Rr===92}}let Be=this.input.slice(C,Te);++Te;let ct="",zt=()=>i(Q,Te+2-C);for(;Te=2&&this.input.charCodeAt(C)===48;if(zt){let Ji=this.input.slice(C,this.state.pos);if(this.recordStrictModeErrors(S.StrictOctalLiteral,I),!this.state.strict){let $a=Ji.indexOf("_");$a>0&&this.raise(S.ZeroDigitNumericSeparator,i(I,$a))}ct=zt&&!/[89]/.test(Ji)}let Rr=this.input.charCodeAt(this.state.pos);if(Rr===46&&!ct&&(++this.state.pos,this.readInt(10),j=!0,Rr=this.input.charCodeAt(this.state.pos)),(Rr===69||Rr===101)&&!ct&&(Rr=this.input.charCodeAt(++this.state.pos),(Rr===43||Rr===45)&&++this.state.pos,this.readInt(10)===null&&this.raise(S.InvalidOrMissingExponent,I),j=!0,Be=!0,Rr=this.input.charCodeAt(this.state.pos)),Rr===110&&((j||zt)&&this.raise(S.InvalidBigIntLiteral,I),++this.state.pos,Te=!0),Rr===109){this.expectPlugin("decimal",this.state.curPosition()),(Be||zt)&&this.raise(S.InvalidDecimal,I),++this.state.pos;var _r=!0}if(Mn(this.codePointAtPos(this.state.pos)))throw this.raise(S.NumberIdentifier,this.state.curPosition());let ei=this.input.slice(C,this.state.pos).replace(/[_mn]/g,"");if(Te){this.finishToken(136,ei);return}if(_r){this.finishToken(137,ei);return}let Si=ct?parseInt(ei,8):parseFloat(ei);this.finishToken(135,Si)}readCodePoint(Q){let{code:C,pos:I}=Nn(this.input,this.state.pos,this.state.lineStart,this.state.curLine,Q,this.errorHandlers_readCodePoint);return this.state.pos=I,C}readString(Q){let{str:C,pos:I,curLine:j,lineStart:Te}=IR(Q===34?"double":"single",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_string);this.state.pos=I+1,this.state.lineStart=Te,this.state.curLine=j,this.finishToken(134,C)}readTemplateContinuation(){this.match(8)||this.unexpected(null,8),this.state.pos--,this.readTemplateToken()}readTemplateToken(){let Q=this.input[this.state.pos],{str:C,firstInvalidLoc:I,pos:j,curLine:Te,lineStart:Be}=IR("template",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_template);this.state.pos=j+1,this.state.lineStart=Be,this.state.curLine=Te,I&&(this.state.firstInvalidTemplateEscapePos=new r(I.curLine,I.pos-I.lineStart,this.sourceToOffsetPos(I.pos))),this.input.codePointAt(j)===96?this.finishToken(24,I?null:Q+C+"`"):(this.state.pos++,this.finishToken(25,I?null:Q+C+"${"))}recordStrictModeErrors(Q,C){let I=C.index;this.state.strict&&!this.state.strictErrors.has(I)?this.raise(Q,C):this.state.strictErrors.set(I,[Q,C])}readWord1(Q){this.state.containsEsc=!1;let C="",I=this.state.pos,j=this.state.pos;for(Q!==void 0&&(this.state.pos+=Q<=65535?1:2);this.state.pos=0;ct--){let zt=Be[ct];if(zt.loc.index===Te)return Be[ct]=Q(j,I);if(zt.loc.indexthis.hasPlugin(C)))throw this.raise(S.MissingOneOfPlugins,this.state.startLoc,{missingPlugin:Q})}errorBuilder(Q){return(C,I,j)=>{this.raise(Q,vi(C,I,j))}}},P0=class{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}},B0=class{constructor(Q){this.parser=void 0,this.stack=[],this.undefinedPrivateNames=new Map,this.parser=Q}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new P0)}exit(){let Q=this.stack.pop(),C=this.current();for(let[I,j]of Array.from(Q.undefinedPrivateNames))C?C.undefinedPrivateNames.has(I)||C.undefinedPrivateNames.set(I,j):this.parser.raise(S.InvalidPrivateFieldResolution,j,{identifierName:I})}declarePrivateName(Q,C,I){let{privateNames:j,loneAccessors:Te,undefinedPrivateNames:Be}=this.current(),ct=j.has(Q);if(C&3){let zt=ct&&Te.get(Q);if(zt){let Rr=zt&4,_r=C&4,ei=zt&3,Si=C&3;ct=ei===Si||Rr!==_r,ct||Te.delete(Q)}else ct||Te.set(Q,C)}ct&&this.parser.raise(S.PrivateNameRedeclaration,I,{identifierName:Q}),j.add(Q),Be.delete(Q)}usePrivateName(Q,C){let I;for(I of this.stack)if(I.privateNames.has(Q))return;I?I.undefinedPrivateNames.set(Q,C):this.parser.raise(S.InvalidPrivateFieldResolution,C,{identifierName:Q})}},h0=class{constructor(Q=0){this.type=Q}canBeArrowParameterDeclaration(){return this.type===2||this.type===1}isCertainlyParameterDeclaration(){return this.type===3}},o0=class extends h0{constructor(Q){super(Q),this.declarationErrors=new Map}recordDeclarationError(Q,C){let I=C.index;this.declarationErrors.set(I,[Q,C])}clearDeclarationError(Q){this.declarationErrors.delete(Q)}iterateErrors(Q){this.declarationErrors.forEach(Q)}},D2=class{constructor(Q){this.parser=void 0,this.stack=[new h0],this.parser=Q}enter(Q){this.stack.push(Q)}exit(){this.stack.pop()}recordParameterInitializerError(Q,C){let I=C.loc.start,{stack:j}=this,Te=j.length-1,Be=j[Te];for(;!Be.isCertainlyParameterDeclaration();){if(Be.canBeArrowParameterDeclaration())Be.recordDeclarationError(Q,I);else return;Be=j[--Te]}this.parser.raise(Q,I)}recordArrowParameterBindingError(Q,C){let{stack:I}=this,j=I[I.length-1],Te=C.loc.start;if(j.isCertainlyParameterDeclaration())this.parser.raise(Q,Te);else if(j.canBeArrowParameterDeclaration())j.recordDeclarationError(Q,Te);else return}recordAsyncArrowParametersError(Q){let{stack:C}=this,I=C.length-1,j=C[I];for(;j.canBeArrowParameterDeclaration();)j.type===2&&j.recordDeclarationError(S.AwaitBindingIdentifier,Q),j=C[--I]}validateAsPattern(){let{stack:Q}=this,C=Q[Q.length-1];C.canBeArrowParameterDeclaration()&&C.iterateErrors(([I,j])=>{this.parser.raise(I,j);let Te=Q.length-2,Be=Q[Te];for(;Be.canBeArrowParameterDeclaration();)Be.clearDeclarationError(j.index),Be=Q[--Te]})}};function Ru(){return new h0(3)}function hR(){return new o0(1)}function Qs(){return new o0(2)}function S0(){return new h0}var Jm=class{constructor(){this.stacks=[]}enter(Q){this.stacks.push(Q)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(this.currentFlags()&2)>0}get hasYield(){return(this.currentFlags()&1)>0}get hasReturn(){return(this.currentFlags()&4)>0}get hasIn(){return(this.currentFlags()&8)>0}};function Wl(Q,C){return(Q?2:0)|(C?1:0)}var S2=class extends Tn{addExtra(Q,C,I,j=!0){if(!Q)return;let{extra:Te}=Q;Te==null&&(Te={},Q.extra=Te),j?Te[C]=I:Object.defineProperty(Te,C,{enumerable:j,value:I})}isContextual(Q){return this.state.type===Q&&!this.state.containsEsc}isUnparsedContextual(Q,C){let I=Q+C.length;if(this.input.slice(Q,I)===C){let j=this.input.charCodeAt(I);return!(li(j)||(j&64512)===55296)}return!1}isLookaheadContextual(Q){let C=this.nextTokenStart();return this.isUnparsedContextual(C,Q)}eatContextual(Q){return this.isContextual(Q)?(this.next(),!0):!1}expectContextual(Q,C){if(!this.eatContextual(Q)){if(C!=null)throw this.raise(C,this.state.startLoc);this.unexpected(null,Q)}}canInsertSemicolon(){return this.match(140)||this.match(8)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return $s(this.input,this.offsetToSourcePos(this.state.lastTokEndLoc.index),this.state.start)}hasFollowingLineBreak(){return $s(this.input,this.state.end,this.nextTokenStart())}isLineTerminator(){return this.eat(13)||this.canInsertSemicolon()}semicolon(Q=!0){(Q?this.isLineTerminator():this.eat(13))||this.raise(S.MissingSemicolon,this.state.lastTokEndLoc)}expect(Q,C){this.eat(Q)||this.unexpected(C,Q)}tryParse(Q,C=this.state.clone()){let I={node:null};try{let j=Q((Te=null)=>{throw I.node=Te,I});if(this.state.errors.length>C.errors.length){let Te=this.state;return this.state=C,this.state.tokensLength=Te.tokensLength,{node:j,error:Te.errors[C.errors.length],thrown:!1,aborted:!1,failState:Te}}return{node:j,error:null,thrown:!1,aborted:!1,failState:null}}catch(j){let Te=this.state;if(this.state=C,j instanceof SyntaxError)return{node:null,error:j,thrown:!0,aborted:!1,failState:Te};if(j===I)return{node:I.node,error:null,thrown:!1,aborted:!0,failState:Te};throw j}}checkExpressionErrors(Q,C){if(!Q)return!1;let{shorthandAssignLoc:I,doubleProtoLoc:j,privateKeyLoc:Te,optionalParametersLoc:Be}=Q,ct=!!I||!!j||!!Be||!!Te;if(!C)return ct;I!=null&&this.raise(S.InvalidCoverInitializedName,I),j!=null&&this.raise(S.DuplicateProto,j),Te!=null&&this.raise(S.UnexpectedPrivateField,Te),Be!=null&&this.unexpected(Be)}isLiteralPropertyName(){return Bn(this.state.type)}isPrivateName(Q){return Q.type==="PrivateName"}getPrivateNameSV(Q){return Q.id.name}hasPropertyAsPrivateName(Q){return(Q.type==="MemberExpression"||Q.type==="OptionalMemberExpression")&&this.isPrivateName(Q.property)}isObjectProperty(Q){return Q.type==="ObjectProperty"}isObjectMethod(Q){return Q.type==="ObjectMethod"}initializeScopes(Q=this.options.sourceType==="module"){let C=this.state.labels;this.state.labels=[];let I=this.exportedIdentifiers;this.exportedIdentifiers=new Set;let j=this.inModule;this.inModule=Q;let Te=this.scope,Be=this.getScopeHandler();this.scope=new Be(this,Q);let ct=this.prodParam;this.prodParam=new Jm;let zt=this.classScope;this.classScope=new B0(this);let Rr=this.expressionScope;return this.expressionScope=new D2(this),()=>{this.state.labels=C,this.exportedIdentifiers=I,this.inModule=j,this.scope=Te,this.prodParam=ct,this.classScope=zt,this.expressionScope=Rr}}enterInitialScopes(){let Q=0;this.inModule&&(Q|=2),this.scope.enter(1),this.prodParam.enter(Q)}checkDestructuringPrivate(Q){let{privateKeyLoc:C}=Q;C!==null&&this.expectPlugin("destructuringPrivate",C)}},uu=class{constructor(){this.shorthandAssignLoc=null,this.doubleProtoLoc=null,this.privateKeyLoc=null,this.optionalParametersLoc=null}},rc=class{constructor(Q,C,I){this.type="",this.start=C,this.end=0,this.loc=new n(I),Q!=null&&Q.options.ranges&&(this.range=[C,0]),Q!=null&&Q.filename&&(this.loc.filename=Q.filename)}},il=rc.prototype;il.__clone=function(){let Q=new rc(void 0,this.start,this.loc.start),C=Object.keys(this);for(let I=0,j=C.length;I`Cannot overwrite reserved type ${Q}.`,DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement.",EnumBooleanMemberNotInitialized:({memberName:Q,enumName:C})=>`Boolean enum members need to be initialized. Use either \`${Q} = true,\` or \`${Q} = false,\` in enum \`${C}\`.`,EnumDuplicateMemberName:({memberName:Q,enumName:C})=>`Enum member names need to be unique, but the name \`${Q}\` has already been used before in enum \`${C}\`.`,EnumInconsistentMemberValues:({enumName:Q})=>`Enum \`${Q}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`,EnumInvalidExplicitType:({invalidEnumType:Q,enumName:C})=>`Enum type \`${Q}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${C}\`.`,EnumInvalidExplicitTypeUnknownSupplied:({enumName:Q})=>`Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${Q}\`.`,EnumInvalidMemberInitializerPrimaryType:({enumName:Q,memberName:C,explicitType:I})=>`Enum \`${Q}\` has type \`${I}\`, so the initializer of \`${C}\` needs to be a ${I} literal.`,EnumInvalidMemberInitializerSymbolType:({enumName:Q,memberName:C})=>`Symbol enum members cannot be initialized. Use \`${C},\` in enum \`${Q}\`.`,EnumInvalidMemberInitializerUnknownType:({enumName:Q,memberName:C})=>`The enum member initializer for \`${C}\` needs to be a literal (either a boolean, number, or string) in enum \`${Q}\`.`,EnumInvalidMemberName:({enumName:Q,memberName:C,suggestion:I})=>`Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${C}\`, consider using \`${I}\`, in enum \`${Q}\`.`,EnumNumberMemberNotInitialized:({enumName:Q,memberName:C})=>`Number enum members need to be initialized, e.g. \`${C} = 1\` in enum \`${Q}\`.`,EnumStringMemberInconsistentlyInitialized:({enumName:Q})=>`String enum members need to consistently either all use initializers, or use no initializers, in enum \`${Q}\`.`,GetterMayNotHaveThisParam:"A getter cannot have a `this` parameter.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` or `typeof` keyword.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type.",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions.",InexactVariance:"Explicit inexact syntax cannot have variance.",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`.",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`.",NestedFlowComment:"Cannot have a flow comment inside another flow comment.",PatternIsOptional:Object.assign({message:"A binding pattern parameter cannot be optional in an implementation signature."},{reasonCode:"OptionalBindingPattern"}),SetterMayNotHaveThisParam:"A setter cannot have a `this` parameter.",SpreadVariance:"Spread properties cannot have variance.",ThisParamAnnotationRequired:"A type annotation is required for the `this` parameter.",ThisParamBannedInConstructor:"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",ThisParamMayNotBeOptional:"The `this` parameter cannot be optional.",ThisParamMustBeFirst:"The `this` parameter must be the first function parameter.",ThisParamNoDefault:"The `this` parameter may not have a default value.",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis.",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object.",UnexpectedReservedType:({reservedType:Q})=>`Unexpected reserved type ${Q}.`,UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new.",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions.",UnexpectedSubtractionOperand:'Unexpected token, expected "number" or "bigint".',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration.",UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.",UnsupportedDeclareExportKind:({unsupportedExportKind:Q,suggestion:C})=>`\`declare export ${Q}\` is not supported. Use \`${C}\` instead.`,UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module.",UnterminatedFlowComment:"Unterminated flow-comment."});function Bu(Q){return Q.type==="DeclareExportAllDeclaration"||Q.type==="DeclareExportDeclaration"&&(!Q.declaration||Q.declaration.type!=="TypeAlias"&&Q.declaration.type!=="InterfaceDeclaration")}function al(Q){return Q.importKind==="type"||Q.importKind==="typeof"}var I0={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};function Iu(Q,C){let I=[],j=[];for(let Te=0;Teclass extends Q{constructor(...C){super(...C),this.flowPragma=void 0}getScopeHandler(){return No}shouldParseTypes(){return this.getPluginOption("flow","all")||this.flowPragma==="flow"}finishToken(C,I){C!==134&&C!==13&&C!==28&&this.flowPragma===void 0&&(this.flowPragma=null),super.finishToken(C,I)}addComment(C){if(this.flowPragma===void 0){let I=oT.exec(C.value);if(I)if(I[1]==="flow")this.flowPragma="flow";else if(I[1]==="noflow")this.flowPragma="noflow";else throw new Error("Unexpected flow pragma")}super.addComment(C)}flowParseTypeInitialiser(C){let I=this.state.inType;this.state.inType=!0,this.expect(C||14);let j=this.flowParseType();return this.state.inType=I,j}flowParsePredicate(){let C=this.startNode(),I=this.state.startLoc;return this.next(),this.expectContextual(110),this.state.lastTokStartLoc.index>I.index+1&&this.raise(Ba.UnexpectedSpaceBetweenModuloChecks,I),this.eat(10)?(C.value=super.parseExpression(),this.expect(11),this.finishNode(C,"DeclaredPredicate")):this.finishNode(C,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){let C=this.state.inType;this.state.inType=!0,this.expect(14);let I=null,j=null;return this.match(54)?(this.state.inType=C,j=this.flowParsePredicate()):(I=this.flowParseType(),this.state.inType=C,this.match(54)&&(j=this.flowParsePredicate())),[I,j]}flowParseDeclareClass(C){return this.next(),this.flowParseInterfaceish(C,!0),this.finishNode(C,"DeclareClass")}flowParseDeclareFunction(C){this.next();let I=C.id=this.parseIdentifier(),j=this.startNode(),Te=this.startNode();this.match(47)?j.typeParameters=this.flowParseTypeParameterDeclaration():j.typeParameters=null,this.expect(10);let Be=this.flowParseFunctionTypeParams();return j.params=Be.params,j.rest=Be.rest,j.this=Be._this,this.expect(11),[j.returnType,C.predicate]=this.flowParseTypeAndPredicateInitialiser(),Te.typeAnnotation=this.finishNode(j,"FunctionTypeAnnotation"),I.typeAnnotation=this.finishNode(Te,"TypeAnnotation"),this.resetEndLocation(I),this.semicolon(),this.scope.declareName(C.id.name,2048,C.id.loc.start),this.finishNode(C,"DeclareFunction")}flowParseDeclare(C,I){if(this.match(80))return this.flowParseDeclareClass(C);if(this.match(68))return this.flowParseDeclareFunction(C);if(this.match(74))return this.flowParseDeclareVariable(C);if(this.eatContextual(127))return this.match(16)?this.flowParseDeclareModuleExports(C):(I&&this.raise(Ba.NestedDeclareModule,this.state.lastTokStartLoc),this.flowParseDeclareModule(C));if(this.isContextual(130))return this.flowParseDeclareTypeAlias(C);if(this.isContextual(131))return this.flowParseDeclareOpaqueType(C);if(this.isContextual(129))return this.flowParseDeclareInterface(C);if(this.match(82))return this.flowParseDeclareExportDeclaration(C,I);this.unexpected()}flowParseDeclareVariable(C){return this.next(),C.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(C.id.name,5,C.id.loc.start),this.semicolon(),this.finishNode(C,"DeclareVariable")}flowParseDeclareModule(C){this.scope.enter(0),this.match(134)?C.id=super.parseExprAtom():C.id=this.parseIdentifier();let I=C.body=this.startNode(),j=I.body=[];for(this.expect(5);!this.match(8);){let ct=this.startNode();this.match(83)?(this.next(),!this.isContextual(130)&&!this.match(87)&&this.raise(Ba.InvalidNonTypeImportInDeclareModule,this.state.lastTokStartLoc),super.parseImport(ct)):(this.expectContextual(125,Ba.UnsupportedStatementInDeclareModule),ct=this.flowParseDeclare(ct,!0)),j.push(ct)}this.scope.exit(),this.expect(8),this.finishNode(I,"BlockStatement");let Te=null,Be=!1;return j.forEach(ct=>{Bu(ct)?(Te==="CommonJS"&&this.raise(Ba.AmbiguousDeclareModuleKind,ct),Te="ES"):ct.type==="DeclareModuleExports"&&(Be&&this.raise(Ba.DuplicateDeclareModuleExports,ct),Te==="ES"&&this.raise(Ba.AmbiguousDeclareModuleKind,ct),Te="CommonJS",Be=!0)}),C.kind=Te||"CommonJS",this.finishNode(C,"DeclareModule")}flowParseDeclareExportDeclaration(C,I){if(this.expect(82),this.eat(65))return this.match(68)||this.match(80)?C.declaration=this.flowParseDeclare(this.startNode()):(C.declaration=this.flowParseType(),this.semicolon()),C.default=!0,this.finishNode(C,"DeclareExportDeclaration");if(this.match(75)||this.isLet()||(this.isContextual(130)||this.isContextual(129))&&!I){let j=this.state.value;throw this.raise(Ba.UnsupportedDeclareExportKind,this.state.startLoc,{unsupportedExportKind:j,suggestion:I0[j]})}if(this.match(74)||this.match(68)||this.match(80)||this.isContextual(131))return C.declaration=this.flowParseDeclare(this.startNode()),C.default=!1,this.finishNode(C,"DeclareExportDeclaration");if(this.match(55)||this.match(5)||this.isContextual(129)||this.isContextual(130)||this.isContextual(131))return C=this.parseExport(C,null),C.type==="ExportNamedDeclaration"&&(C.type="ExportDeclaration",C.default=!1,delete C.exportKind),C.type="Declare"+C.type,C;this.unexpected()}flowParseDeclareModuleExports(C){return this.next(),this.expectContextual(111),C.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(C,"DeclareModuleExports")}flowParseDeclareTypeAlias(C){this.next();let I=this.flowParseTypeAlias(C);return I.type="DeclareTypeAlias",I}flowParseDeclareOpaqueType(C){this.next();let I=this.flowParseOpaqueType(C,!0);return I.type="DeclareOpaqueType",I}flowParseDeclareInterface(C){return this.next(),this.flowParseInterfaceish(C,!1),this.finishNode(C,"DeclareInterface")}flowParseInterfaceish(C,I){if(C.id=this.flowParseRestrictedIdentifier(!I,!0),this.scope.declareName(C.id.name,I?17:8201,C.id.loc.start),this.match(47)?C.typeParameters=this.flowParseTypeParameterDeclaration():C.typeParameters=null,C.extends=[],this.eat(81))do C.extends.push(this.flowParseInterfaceExtends());while(!I&&this.eat(12));if(I){if(C.implements=[],C.mixins=[],this.eatContextual(117))do C.mixins.push(this.flowParseInterfaceExtends());while(this.eat(12));if(this.eatContextual(113))do C.implements.push(this.flowParseInterfaceExtends());while(this.eat(12))}C.body=this.flowParseObjectType({allowStatic:I,allowExact:!1,allowSpread:!1,allowProto:I,allowInexact:!1})}flowParseInterfaceExtends(){let C=this.startNode();return C.id=this.flowParseQualifiedTypeIdentifier(),this.match(47)?C.typeParameters=this.flowParseTypeParameterInstantiation():C.typeParameters=null,this.finishNode(C,"InterfaceExtends")}flowParseInterface(C){return this.flowParseInterfaceish(C,!1),this.finishNode(C,"InterfaceDeclaration")}checkNotUnderscore(C){C==="_"&&this.raise(Ba.UnexpectedReservedUnderscore,this.state.startLoc)}checkReservedType(C,I,j){MR.has(C)&&this.raise(j?Ba.AssignReservedType:Ba.UnexpectedReservedType,I,{reservedType:C})}flowParseRestrictedIdentifier(C,I){return this.checkReservedType(this.state.value,this.state.startLoc,I),this.parseIdentifier(C)}flowParseTypeAlias(C){return C.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(C.id.name,8201,C.id.loc.start),this.match(47)?C.typeParameters=this.flowParseTypeParameterDeclaration():C.typeParameters=null,C.right=this.flowParseTypeInitialiser(29),this.semicolon(),this.finishNode(C,"TypeAlias")}flowParseOpaqueType(C,I){return this.expectContextual(130),C.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(C.id.name,8201,C.id.loc.start),this.match(47)?C.typeParameters=this.flowParseTypeParameterDeclaration():C.typeParameters=null,C.supertype=null,this.match(14)&&(C.supertype=this.flowParseTypeInitialiser(14)),C.impltype=null,I||(C.impltype=this.flowParseTypeInitialiser(29)),this.semicolon(),this.finishNode(C,"OpaqueType")}flowParseTypeParameter(C=!1){let I=this.state.startLoc,j=this.startNode(),Te=this.flowParseVariance(),Be=this.flowParseTypeAnnotatableIdentifier();return j.name=Be.name,j.variance=Te,j.bound=Be.typeAnnotation,this.match(29)?(this.eat(29),j.default=this.flowParseType()):C&&this.raise(Ba.MissingTypeParamDefault,I),this.finishNode(j,"TypeParameter")}flowParseTypeParameterDeclaration(){let C=this.state.inType,I=this.startNode();I.params=[],this.state.inType=!0,this.match(47)||this.match(143)?this.next():this.unexpected();let j=!1;do{let Te=this.flowParseTypeParameter(j);I.params.push(Te),Te.default&&(j=!0),this.match(48)||this.expect(12)}while(!this.match(48));return this.expect(48),this.state.inType=C,this.finishNode(I,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){let C=this.startNode(),I=this.state.inType;C.params=[],this.state.inType=!0,this.expect(47);let j=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.match(48);)C.params.push(this.flowParseType()),this.match(48)||this.expect(12);return this.state.noAnonFunctionType=j,this.expect(48),this.state.inType=I,this.finishNode(C,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){let C=this.startNode(),I=this.state.inType;for(C.params=[],this.state.inType=!0,this.expect(47);!this.match(48);)C.params.push(this.flowParseTypeOrImplicitInstantiation()),this.match(48)||this.expect(12);return this.expect(48),this.state.inType=I,this.finishNode(C,"TypeParameterInstantiation")}flowParseInterfaceType(){let C=this.startNode();if(this.expectContextual(129),C.extends=[],this.eat(81))do C.extends.push(this.flowParseInterfaceExtends());while(this.eat(12));return C.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(C,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(135)||this.match(134)?super.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(C,I,j){return C.static=I,this.lookahead().type===14?(C.id=this.flowParseObjectPropertyKey(),C.key=this.flowParseTypeInitialiser()):(C.id=null,C.key=this.flowParseType()),this.expect(3),C.value=this.flowParseTypeInitialiser(),C.variance=j,this.finishNode(C,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(C,I){return C.static=I,C.id=this.flowParseObjectPropertyKey(),this.expect(3),this.expect(3),this.match(47)||this.match(10)?(C.method=!0,C.optional=!1,C.value=this.flowParseObjectTypeMethodish(this.startNodeAt(C.loc.start))):(C.method=!1,this.eat(17)&&(C.optional=!0),C.value=this.flowParseTypeInitialiser()),this.finishNode(C,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(C){for(C.params=[],C.rest=null,C.typeParameters=null,C.this=null,this.match(47)&&(C.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(10),this.match(78)&&(C.this=this.flowParseFunctionTypeParam(!0),C.this.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)C.params.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(C.rest=this.flowParseFunctionTypeParam(!1)),this.expect(11),C.returnType=this.flowParseTypeInitialiser(),this.finishNode(C,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(C,I){let j=this.startNode();return C.static=I,C.value=this.flowParseObjectTypeMethodish(j),this.finishNode(C,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:C,allowExact:I,allowSpread:j,allowProto:Te,allowInexact:Be}){let ct=this.state.inType;this.state.inType=!0;let zt=this.startNode();zt.callProperties=[],zt.properties=[],zt.indexers=[],zt.internalSlots=[];let Rr,_r,ei=!1;for(I&&this.match(6)?(this.expect(6),Rr=9,_r=!0):(this.expect(5),Rr=8,_r=!1),zt.exact=_r;!this.match(Rr);){let Ji=!1,$a=null,ho=null,Go=this.startNode();if(Te&&this.isContextual(118)){let R0=this.lookahead();R0.type!==14&&R0.type!==17&&(this.next(),$a=this.state.startLoc,C=!1)}if(C&&this.isContextual(106)){let R0=this.lookahead();R0.type!==14&&R0.type!==17&&(this.next(),Ji=!0)}let no=this.flowParseVariance();if(this.eat(0))$a!=null&&this.unexpected($a),this.eat(0)?(no&&this.unexpected(no.loc.start),zt.internalSlots.push(this.flowParseObjectTypeInternalSlot(Go,Ji))):zt.indexers.push(this.flowParseObjectTypeIndexer(Go,Ji,no));else if(this.match(10)||this.match(47))$a!=null&&this.unexpected($a),no&&this.unexpected(no.loc.start),zt.callProperties.push(this.flowParseObjectTypeCallProperty(Go,Ji));else{let R0="init";if(this.isContextual(99)||this.isContextual(104)){let Ll=this.lookahead();Bn(Ll.type)&&(R0=this.state.value,this.next())}let DR=this.flowParseObjectTypeProperty(Go,Ji,$a,no,R0,j,Be??!_r);DR===null?(ei=!0,ho=this.state.lastTokStartLoc):zt.properties.push(DR)}this.flowObjectTypeSemicolon(),ho&&!this.match(8)&&!this.match(9)&&this.raise(Ba.UnexpectedExplicitInexactInObject,ho)}this.expect(Rr),j&&(zt.inexact=ei);let Si=this.finishNode(zt,"ObjectTypeAnnotation");return this.state.inType=ct,Si}flowParseObjectTypeProperty(C,I,j,Te,Be,ct,zt){if(this.eat(21))return this.match(12)||this.match(13)||this.match(8)||this.match(9)?(ct?zt||this.raise(Ba.InexactInsideExact,this.state.lastTokStartLoc):this.raise(Ba.InexactInsideNonObject,this.state.lastTokStartLoc),Te&&this.raise(Ba.InexactVariance,Te),null):(ct||this.raise(Ba.UnexpectedSpreadType,this.state.lastTokStartLoc),j!=null&&this.unexpected(j),Te&&this.raise(Ba.SpreadVariance,Te),C.argument=this.flowParseType(),this.finishNode(C,"ObjectTypeSpreadProperty"));{C.key=this.flowParseObjectPropertyKey(),C.static=I,C.proto=j!=null,C.kind=Be;let Rr=!1;return this.match(47)||this.match(10)?(C.method=!0,j!=null&&this.unexpected(j),Te&&this.unexpected(Te.loc.start),C.value=this.flowParseObjectTypeMethodish(this.startNodeAt(C.loc.start)),(Be==="get"||Be==="set")&&this.flowCheckGetterSetterParams(C),!ct&&C.key.name==="constructor"&&C.value.this&&this.raise(Ba.ThisParamBannedInConstructor,C.value.this)):(Be!=="init"&&this.unexpected(),C.method=!1,this.eat(17)&&(Rr=!0),C.value=this.flowParseTypeInitialiser(),C.variance=Te),C.optional=Rr,this.finishNode(C,"ObjectTypeProperty")}}flowCheckGetterSetterParams(C){let I=C.kind==="get"?0:1,j=C.value.params.length+(C.value.rest?1:0);C.value.this&&this.raise(C.kind==="get"?Ba.GetterMayNotHaveThisParam:Ba.SetterMayNotHaveThisParam,C.value.this),j!==I&&this.raise(C.kind==="get"?S.BadGetterArity:S.BadSetterArity,C),C.kind==="set"&&C.value.rest&&this.raise(S.BadSetterRestParameter,C)}flowObjectTypeSemicolon(){!this.eat(13)&&!this.eat(12)&&!this.match(8)&&!this.match(9)&&this.unexpected()}flowParseQualifiedTypeIdentifier(C,I){var j;(j=C)!=null||(C=this.state.startLoc);let Te=I||this.flowParseRestrictedIdentifier(!0);for(;this.eat(16);){let Be=this.startNodeAt(C);Be.qualification=Te,Be.id=this.flowParseRestrictedIdentifier(!0),Te=this.finishNode(Be,"QualifiedTypeIdentifier")}return Te}flowParseGenericType(C,I){let j=this.startNodeAt(C);return j.typeParameters=null,j.id=this.flowParseQualifiedTypeIdentifier(C,I),this.match(47)&&(j.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(j,"GenericTypeAnnotation")}flowParseTypeofType(){let C=this.startNode();return this.expect(87),C.argument=this.flowParsePrimaryType(),this.finishNode(C,"TypeofTypeAnnotation")}flowParseTupleType(){let C=this.startNode();for(C.types=[],this.expect(0);this.state.possuper.parseFunctionBody(C,!0,j));return}super.parseFunctionBody(C,!1,j)}parseFunctionBodyAndFinish(C,I,j=!1){if(this.match(14)){let Te=this.startNode();[Te.typeAnnotation,C.predicate]=this.flowParseTypeAndPredicateInitialiser(),C.returnType=Te.typeAnnotation?this.finishNode(Te,"TypeAnnotation"):null}return super.parseFunctionBodyAndFinish(C,I,j)}parseStatementLike(C){if(this.state.strict&&this.isContextual(129)){let j=this.lookahead();if(zr(j.type)){let Te=this.startNode();return this.next(),this.flowParseInterface(Te)}}else if(this.isContextual(126)){let j=this.startNode();return this.next(),this.flowParseEnumDeclaration(j)}let I=super.parseStatementLike(C);return this.flowPragma===void 0&&!this.isValidDirective(I)&&(this.flowPragma=null),I}parseExpressionStatement(C,I,j){if(I.type==="Identifier"){if(I.name==="declare"){if(this.match(80)||He(this.state.type)||this.match(68)||this.match(74)||this.match(82))return this.flowParseDeclare(C)}else if(He(this.state.type)){if(I.name==="interface")return this.flowParseInterface(C);if(I.name==="type")return this.flowParseTypeAlias(C);if(I.name==="opaque")return this.flowParseOpaqueType(C,!1)}}return super.parseExpressionStatement(C,I,j)}shouldParseExportDeclaration(){let{type:C}=this.state;return C===126||bn(C)?!this.state.containsEsc:super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){let{type:C}=this.state;return C===126||bn(C)?this.state.containsEsc:super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.isContextual(126)){let C=this.startNode();return this.next(),this.flowParseEnumDeclaration(C)}return super.parseExportDefaultExpression()}parseConditional(C,I,j){if(!this.match(17))return C;if(this.state.maybeInArrowParameters){let Si=this.lookaheadCharCode();if(Si===44||Si===61||Si===58||Si===41)return this.setOptionalParametersError(j),C}this.expect(17);let Te=this.state.clone(),Be=this.state.noArrowAt,ct=this.startNodeAt(I),{consequent:zt,failed:Rr}=this.tryParseConditionalConsequent(),[_r,ei]=this.getArrowLikeExpressions(zt);if(Rr||ei.length>0){let Si=[...Be];if(ei.length>0){this.state=Te,this.state.noArrowAt=Si;for(let Ji=0;Ji1&&this.raise(Ba.AmbiguousConditionalArrow,Te.startLoc),Rr&&_r.length===1&&(this.state=Te,Si.push(_r[0].start),this.state.noArrowAt=Si,{consequent:zt,failed:Rr}=this.tryParseConditionalConsequent())}return this.getArrowLikeExpressions(zt,!0),this.state.noArrowAt=Be,this.expect(14),ct.test=C,ct.consequent=zt,ct.alternate=this.forwardNoArrowParamsConversionAt(ct,()=>this.parseMaybeAssign(void 0,void 0)),this.finishNode(ct,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);let C=this.parseMaybeAssignAllowIn(),I=!this.match(14);return this.state.noArrowParamsConversionAt.pop(),{consequent:C,failed:I}}getArrowLikeExpressions(C,I){let j=[C],Te=[];for(;j.length!==0;){let Be=j.pop();Be.type==="ArrowFunctionExpression"&&Be.body.type!=="BlockStatement"?(Be.typeParameters||!Be.returnType?this.finishArrowValidation(Be):Te.push(Be),j.push(Be.body)):Be.type==="ConditionalExpression"&&(j.push(Be.consequent),j.push(Be.alternate))}return I?(Te.forEach(Be=>this.finishArrowValidation(Be)),[Te,[]]):Iu(Te,Be=>Be.params.every(ct=>this.isAssignable(ct,!0)))}finishArrowValidation(C){var I;this.toAssignableList(C.params,(I=C.extra)==null?void 0:I.trailingCommaLoc,!1),this.scope.enter(6),super.checkParams(C,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(C,I){let j;return this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(C.start))?(this.state.noArrowParamsConversionAt.push(this.state.start),j=I(),this.state.noArrowParamsConversionAt.pop()):j=I(),j}parseParenItem(C,I){let j=super.parseParenItem(C,I);if(this.eat(17)&&(j.optional=!0,this.resetEndLocation(C)),this.match(14)){let Te=this.startNodeAt(I);return Te.expression=j,Te.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(Te,"TypeCastExpression")}return j}assertModuleNodeAllowed(C){C.type==="ImportDeclaration"&&(C.importKind==="type"||C.importKind==="typeof")||C.type==="ExportNamedDeclaration"&&C.exportKind==="type"||C.type==="ExportAllDeclaration"&&C.exportKind==="type"||super.assertModuleNodeAllowed(C)}parseExportDeclaration(C){if(this.isContextual(130)){C.exportKind="type";let I=this.startNode();return this.next(),this.match(5)?(C.specifiers=this.parseExportSpecifiers(!0),super.parseExportFrom(C),null):this.flowParseTypeAlias(I)}else if(this.isContextual(131)){C.exportKind="type";let I=this.startNode();return this.next(),this.flowParseOpaqueType(I,!1)}else if(this.isContextual(129)){C.exportKind="type";let I=this.startNode();return this.next(),this.flowParseInterface(I)}else if(this.isContextual(126)){C.exportKind="value";let I=this.startNode();return this.next(),this.flowParseEnumDeclaration(I)}else return super.parseExportDeclaration(C)}eatExportStar(C){return super.eatExportStar(C)?!0:this.isContextual(130)&&this.lookahead().type===55?(C.exportKind="type",this.next(),this.next(),!0):!1}maybeParseExportNamespaceSpecifier(C){let{startLoc:I}=this.state,j=super.maybeParseExportNamespaceSpecifier(C);return j&&C.exportKind==="type"&&this.unexpected(I),j}parseClassId(C,I,j){super.parseClassId(C,I,j),this.match(47)&&(C.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(C,I,j){let{startLoc:Te}=this.state;if(this.isContextual(125)){if(super.parseClassMemberFromModifier(C,I))return;I.declare=!0}super.parseClassMember(C,I,j),I.declare&&(I.type!=="ClassProperty"&&I.type!=="ClassPrivateProperty"&&I.type!=="PropertyDefinition"?this.raise(Ba.DeclareClassElement,Te):I.value&&this.raise(Ba.DeclareClassFieldInitializer,I.value))}isIterator(C){return C==="iterator"||C==="asyncIterator"}readIterator(){let C=super.readWord1(),I="@@"+C;(!this.isIterator(C)||!this.state.inType)&&this.raise(S.InvalidIdentifier,this.state.curPosition(),{identifierName:I}),this.finishToken(132,I)}getTokenFromCode(C){let I=this.input.charCodeAt(this.state.pos+1);C===123&&I===124?this.finishOp(6,2):this.state.inType&&(C===62||C===60)?this.finishOp(C===62?48:47,1):this.state.inType&&C===63?I===46?this.finishOp(18,2):this.finishOp(17,1):bi(C,I,this.input.charCodeAt(this.state.pos+2))?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(C)}isAssignable(C,I){return C.type==="TypeCastExpression"?this.isAssignable(C.expression,I):super.isAssignable(C,I)}toAssignable(C,I=!1){!I&&C.type==="AssignmentExpression"&&C.left.type==="TypeCastExpression"&&(C.left=this.typeCastToParameter(C.left)),super.toAssignable(C,I)}toAssignableList(C,I,j){for(let Te=0;Te1||!I)&&this.raise(Ba.TypeCastInPattern,Be.typeAnnotation)}return C}parseArrayLike(C,I,j,Te){let Be=super.parseArrayLike(C,I,j,Te);return I&&!this.state.maybeInArrowParameters&&this.toReferencedList(Be.elements),Be}isValidLVal(C,I,j){return C==="TypeCastExpression"||super.isValidLVal(C,I,j)}parseClassProperty(C){return this.match(14)&&(C.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(C)}parseClassPrivateProperty(C){return this.match(14)&&(C.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(C)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(14)||super.isClassProperty()}isNonstaticConstructor(C){return!this.match(14)&&super.isNonstaticConstructor(C)}pushClassMethod(C,I,j,Te,Be,ct){if(I.variance&&this.unexpected(I.variance.loc.start),delete I.variance,this.match(47)&&(I.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(C,I,j,Te,Be,ct),I.params&&Be){let zt=I.params;zt.length>0&&this.isThisParam(zt[0])&&this.raise(Ba.ThisParamBannedInConstructor,I)}else if(I.type==="MethodDefinition"&&Be&&I.value.params){let zt=I.value.params;zt.length>0&&this.isThisParam(zt[0])&&this.raise(Ba.ThisParamBannedInConstructor,I)}}pushClassPrivateMethod(C,I,j,Te){I.variance&&this.unexpected(I.variance.loc.start),delete I.variance,this.match(47)&&(I.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(C,I,j,Te)}parseClassSuper(C){if(super.parseClassSuper(C),C.superClass&&this.match(47)&&(C.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual(113)){this.next();let I=C.implements=[];do{let j=this.startNode();j.id=this.flowParseRestrictedIdentifier(!0),this.match(47)?j.typeParameters=this.flowParseTypeParameterInstantiation():j.typeParameters=null,I.push(this.finishNode(j,"ClassImplements"))}while(this.eat(12))}}checkGetterSetterParams(C){super.checkGetterSetterParams(C);let I=this.getObjectOrClassMethodParams(C);if(I.length>0){let j=I[0];this.isThisParam(j)&&C.kind==="get"?this.raise(Ba.GetterMayNotHaveThisParam,j):this.isThisParam(j)&&this.raise(Ba.SetterMayNotHaveThisParam,j)}}parsePropertyNamePrefixOperator(C){C.variance=this.flowParseVariance()}parseObjPropValue(C,I,j,Te,Be,ct,zt){C.variance&&this.unexpected(C.variance.loc.start),delete C.variance;let Rr;this.match(47)&&!ct&&(Rr=this.flowParseTypeParameterDeclaration(),this.match(10)||this.unexpected());let _r=super.parseObjPropValue(C,I,j,Te,Be,ct,zt);return Rr&&((_r.value||_r).typeParameters=Rr),_r}parseFunctionParamType(C){return this.eat(17)&&(C.type!=="Identifier"&&this.raise(Ba.PatternIsOptional,C),this.isThisParam(C)&&this.raise(Ba.ThisParamMayNotBeOptional,C),C.optional=!0),this.match(14)?C.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(C)&&this.raise(Ba.ThisParamAnnotationRequired,C),this.match(29)&&this.isThisParam(C)&&this.raise(Ba.ThisParamNoDefault,C),this.resetEndLocation(C),C}parseMaybeDefault(C,I){let j=super.parseMaybeDefault(C,I);return j.type==="AssignmentPattern"&&j.typeAnnotation&&j.right.startsuper.parseMaybeAssign(C,I),Te),!Be.error)return Be.node;let{context:Rr}=this.state,_r=Rr[Rr.length-1];(_r===H.j_oTag||_r===H.j_expr)&&Rr.pop()}if((j=Be)!=null&&j.error||this.match(47)){var ct,zt;Te=Te||this.state.clone();let Rr,_r=this.tryParse(Si=>{var Ji;Rr=this.flowParseTypeParameterDeclaration();let $a=this.forwardNoArrowParamsConversionAt(Rr,()=>{let Go=super.parseMaybeAssign(C,I);return this.resetStartLocationFromNode(Go,Rr),Go});(Ji=$a.extra)!=null&&Ji.parenthesized&&Si();let ho=this.maybeUnwrapTypeCastExpression($a);return ho.type!=="ArrowFunctionExpression"&&Si(),ho.typeParameters=Rr,this.resetStartLocationFromNode(ho,Rr),$a},Te),ei=null;if(_r.node&&this.maybeUnwrapTypeCastExpression(_r.node).type==="ArrowFunctionExpression"){if(!_r.error&&!_r.aborted)return _r.node.async&&this.raise(Ba.UnexpectedTypeParameterBeforeAsyncArrowFunction,Rr),_r.node;ei=_r.node}if((ct=Be)!=null&&ct.node)return this.state=Be.failState,Be.node;if(ei)return this.state=_r.failState,ei;throw(zt=Be)!=null&&zt.thrown?Be.error:_r.thrown?_r.error:this.raise(Ba.UnexpectedTokenAfterTypeParameter,Rr)}return super.parseMaybeAssign(C,I)}parseArrow(C){if(this.match(14)){let I=this.tryParse(()=>{let j=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;let Te=this.startNode();return[Te.typeAnnotation,C.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=j,this.canInsertSemicolon()&&this.unexpected(),this.match(19)||this.unexpected(),Te});if(I.thrown)return null;I.error&&(this.state=I.failState),C.returnType=I.node.typeAnnotation?this.finishNode(I.node,"TypeAnnotation"):null}return super.parseArrow(C)}shouldParseArrow(C){return this.match(14)||super.shouldParseArrow(C)}setArrowFunctionParameters(C,I){this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(C.start))?C.params=I:super.setArrowFunctionParameters(C,I)}checkParams(C,I,j,Te=!0){if(!(j&&this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(C.start)))){for(let Be=0;Be0&&this.raise(Ba.ThisParamMustBeFirst,C.params[Be]);super.checkParams(C,I,j,Te)}}parseParenAndDistinguishExpression(C){return super.parseParenAndDistinguishExpression(C&&!this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start)))}parseSubscripts(C,I,j){if(C.type==="Identifier"&&C.name==="async"&&this.state.noArrowAt.includes(I.index)){this.next();let Te=this.startNodeAt(I);Te.callee=C,Te.arguments=super.parseCallExpressionArguments(11),C=this.finishNode(Te,"CallExpression")}else if(C.type==="Identifier"&&C.name==="async"&&this.match(47)){let Te=this.state.clone(),Be=this.tryParse(zt=>this.parseAsyncArrowWithTypeParameters(I)||zt(),Te);if(!Be.error&&!Be.aborted)return Be.node;let ct=this.tryParse(()=>super.parseSubscripts(C,I,j),Te);if(ct.node&&!ct.error)return ct.node;if(Be.node)return this.state=Be.failState,Be.node;if(ct.node)return this.state=ct.failState,ct.node;throw Be.error||ct.error}return super.parseSubscripts(C,I,j)}parseSubscript(C,I,j,Te){if(this.match(18)&&this.isLookaheadToken_lt()){if(Te.optionalChainMember=!0,j)return Te.stop=!0,C;this.next();let Be=this.startNodeAt(I);return Be.callee=C,Be.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(10),Be.arguments=this.parseCallExpressionArguments(11),Be.optional=!0,this.finishCallExpression(Be,!0)}else if(!j&&this.shouldParseTypes()&&this.match(47)){let Be=this.startNodeAt(I);Be.callee=C;let ct=this.tryParse(()=>(Be.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(10),Be.arguments=super.parseCallExpressionArguments(11),Te.optionalChainMember&&(Be.optional=!1),this.finishCallExpression(Be,Te.optionalChainMember)));if(ct.node)return ct.error&&(this.state=ct.failState),ct.node}return super.parseSubscript(C,I,j,Te)}parseNewCallee(C){super.parseNewCallee(C);let I=null;this.shouldParseTypes()&&this.match(47)&&(I=this.tryParse(()=>this.flowParseTypeParameterInstantiationCallOrNew()).node),C.typeArguments=I}parseAsyncArrowWithTypeParameters(C){let I=this.startNodeAt(C);if(this.parseFunctionParams(I,!1),!!this.parseArrow(I))return super.parseArrowExpression(I,void 0,!0)}readToken_mult_modulo(C){let I=this.input.charCodeAt(this.state.pos+1);if(C===42&&I===47&&this.state.hasFlowComment){this.state.hasFlowComment=!1,this.state.pos+=2,this.nextToken();return}super.readToken_mult_modulo(C)}readToken_pipe_amp(C){let I=this.input.charCodeAt(this.state.pos+1);if(C===124&&I===125){this.finishOp(9,2);return}super.readToken_pipe_amp(C)}parseTopLevel(C,I){let j=super.parseTopLevel(C,I);return this.state.hasFlowComment&&this.raise(Ba.UnterminatedFlowComment,this.state.curPosition()),j}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment()){if(this.state.hasFlowComment)throw this.raise(Ba.NestedFlowComment,this.state.startLoc);this.hasFlowCommentCompletion();let C=this.skipFlowComment();C&&(this.state.pos+=C,this.state.hasFlowComment=!0);return}return super.skipBlockComment(this.state.hasFlowComment?"*-/":"*/")}skipFlowComment(){let{pos:C}=this.state,I=2;for(;[32,9].includes(this.input.charCodeAt(C+I));)I++;let j=this.input.charCodeAt(I+C),Te=this.input.charCodeAt(I+C+1);return j===58&&Te===58?I+2:this.input.slice(I+C,I+C+12)==="flow-include"?I+12:j===58&&Te!==58?I:!1}hasFlowCommentCompletion(){if(this.input.indexOf("*/",this.state.pos)===-1)throw this.raise(S.UnterminatedComment,this.state.curPosition())}flowEnumErrorBooleanMemberNotInitialized(C,{enumName:I,memberName:j}){this.raise(Ba.EnumBooleanMemberNotInitialized,C,{memberName:j,enumName:I})}flowEnumErrorInvalidMemberInitializer(C,I){return this.raise(I.explicitType?I.explicitType==="symbol"?Ba.EnumInvalidMemberInitializerSymbolType:Ba.EnumInvalidMemberInitializerPrimaryType:Ba.EnumInvalidMemberInitializerUnknownType,C,I)}flowEnumErrorNumberMemberNotInitialized(C,I){this.raise(Ba.EnumNumberMemberNotInitialized,C,I)}flowEnumErrorStringMemberInconsistentlyInitialized(C,I){this.raise(Ba.EnumStringMemberInconsistentlyInitialized,C,I)}flowEnumMemberInit(){let C=this.state.startLoc,I=()=>this.match(12)||this.match(8);switch(this.state.type){case 135:{let j=this.parseNumericLiteral(this.state.value);return I()?{type:"number",loc:j.loc.start,value:j}:{type:"invalid",loc:C}}case 134:{let j=this.parseStringLiteral(this.state.value);return I()?{type:"string",loc:j.loc.start,value:j}:{type:"invalid",loc:C}}case 85:case 86:{let j=this.parseBooleanLiteral(this.match(85));return I()?{type:"boolean",loc:j.loc.start,value:j}:{type:"invalid",loc:C}}default:return{type:"invalid",loc:C}}}flowEnumMemberRaw(){let C=this.state.startLoc,I=this.parseIdentifier(!0),j=this.eat(29)?this.flowEnumMemberInit():{type:"none",loc:C};return{id:I,init:j}}flowEnumCheckExplicitTypeMismatch(C,I,j){let{explicitType:Te}=I;Te!==null&&Te!==j&&this.flowEnumErrorInvalidMemberInitializer(C,I)}flowEnumMembers({enumName:C,explicitType:I}){let j=new Set,Te={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]},Be=!1;for(;!this.match(8);){if(this.eat(21)){Be=!0;break}let ct=this.startNode(),{id:zt,init:Rr}=this.flowEnumMemberRaw(),_r=zt.name;if(_r==="")continue;/^[a-z]/.test(_r)&&this.raise(Ba.EnumInvalidMemberName,zt,{memberName:_r,suggestion:_r[0].toUpperCase()+_r.slice(1),enumName:C}),j.has(_r)&&this.raise(Ba.EnumDuplicateMemberName,zt,{memberName:_r,enumName:C}),j.add(_r);let ei={enumName:C,explicitType:I,memberName:_r};switch(ct.id=zt,Rr.type){case"boolean":{this.flowEnumCheckExplicitTypeMismatch(Rr.loc,ei,"boolean"),ct.init=Rr.value,Te.booleanMembers.push(this.finishNode(ct,"EnumBooleanMember"));break}case"number":{this.flowEnumCheckExplicitTypeMismatch(Rr.loc,ei,"number"),ct.init=Rr.value,Te.numberMembers.push(this.finishNode(ct,"EnumNumberMember"));break}case"string":{this.flowEnumCheckExplicitTypeMismatch(Rr.loc,ei,"string"),ct.init=Rr.value,Te.stringMembers.push(this.finishNode(ct,"EnumStringMember"));break}case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(Rr.loc,ei);case"none":switch(I){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(Rr.loc,ei);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(Rr.loc,ei);break;default:Te.defaultedMembers.push(this.finishNode(ct,"EnumDefaultedMember"))}}this.match(8)||this.expect(12)}return{members:Te,hasUnknownMembers:Be}}flowEnumStringMembers(C,I,{enumName:j}){if(C.length===0)return I;if(I.length===0)return C;if(I.length>C.length){for(let Te of C)this.flowEnumErrorStringMemberInconsistentlyInitialized(Te,{enumName:j});return I}else{for(let Te of I)this.flowEnumErrorStringMemberInconsistentlyInitialized(Te,{enumName:j});return C}}flowEnumParseExplicitType({enumName:C}){if(!this.eatContextual(102))return null;if(!He(this.state.type))throw this.raise(Ba.EnumInvalidExplicitTypeUnknownSupplied,this.state.startLoc,{enumName:C});let{value:I}=this.state;return this.next(),I!=="boolean"&&I!=="number"&&I!=="string"&&I!=="symbol"&&this.raise(Ba.EnumInvalidExplicitType,this.state.startLoc,{enumName:C,invalidEnumType:I}),I}flowEnumBody(C,I){let j=I.name,Te=I.loc.start,Be=this.flowEnumParseExplicitType({enumName:j});this.expect(5);let{members:ct,hasUnknownMembers:zt}=this.flowEnumMembers({enumName:j,explicitType:Be});switch(C.hasUnknownMembers=zt,Be){case"boolean":return C.explicitType=!0,C.members=ct.booleanMembers,this.expect(8),this.finishNode(C,"EnumBooleanBody");case"number":return C.explicitType=!0,C.members=ct.numberMembers,this.expect(8),this.finishNode(C,"EnumNumberBody");case"string":return C.explicitType=!0,C.members=this.flowEnumStringMembers(ct.stringMembers,ct.defaultedMembers,{enumName:j}),this.expect(8),this.finishNode(C,"EnumStringBody");case"symbol":return C.members=ct.defaultedMembers,this.expect(8),this.finishNode(C,"EnumSymbolBody");default:{let Rr=()=>(C.members=[],this.expect(8),this.finishNode(C,"EnumStringBody"));C.explicitType=!1;let _r=ct.booleanMembers.length,ei=ct.numberMembers.length,Si=ct.stringMembers.length,Ji=ct.defaultedMembers.length;if(!_r&&!ei&&!Si&&!Ji)return Rr();if(!_r&&!ei)return C.members=this.flowEnumStringMembers(ct.stringMembers,ct.defaultedMembers,{enumName:j}),this.expect(8),this.finishNode(C,"EnumStringBody");if(!ei&&!Si&&_r>=Ji){for(let $a of ct.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized($a.loc.start,{enumName:j,memberName:$a.id.name});return C.members=ct.booleanMembers,this.expect(8),this.finishNode(C,"EnumBooleanBody")}else if(!_r&&!Si&&ei>=Ji){for(let $a of ct.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized($a.loc.start,{enumName:j,memberName:$a.id.name});return C.members=ct.numberMembers,this.expect(8),this.finishNode(C,"EnumNumberBody")}else return this.raise(Ba.EnumInconsistentMemberValues,Te,{enumName:j}),Rr()}}}flowParseEnumDeclaration(C){let I=this.parseIdentifier();return C.id=I,C.body=this.flowEnumBody(this.startNode(),I),this.finishNode(C,"EnumDeclaration")}isLookaheadToken_lt(){let C=this.nextTokenStart();if(this.input.charCodeAt(C)===60){let I=this.input.charCodeAt(C+1);return I!==60&&I!==61}return!1}maybeUnwrapTypeCastExpression(C){return C.type==="TypeCastExpression"?C.expression:C}},c1=D`jsx`({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression.",MissingClosingTagElement:({openingTagName:Q})=>`Expected corresponding JSX closing tag for <${Q}>.`,MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnexpectedToken:({unexpected:Q,HTMLEntity:C})=>`Unexpected token \`${Q}\`. Did you mean \`${C}\` or \`{'${Q}'}\`?`,UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text.",UnterminatedJsxContent:"Unterminated JSX contents.",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?"});function RT(Q){return Q?Q.type==="JSXOpeningFragment"||Q.type==="JSXClosingFragment":!1}function Fl(Q){if(Q.type==="JSXIdentifier")return Q.name;if(Q.type==="JSXNamespacedName")return Q.namespace.name+":"+Q.name.name;if(Q.type==="JSXMemberExpression")return Fl(Q.object)+"."+Fl(Q.property);throw new Error("Node had unexpected type: "+Q.type)}var M7=Q=>class extends Q{jsxReadToken(){let C="",I=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(c1.UnterminatedJsxContent,this.state.startLoc);let j=this.input.charCodeAt(this.state.pos);switch(j){case 60:case 123:if(this.state.pos===this.state.start){j===60&&this.state.canStartJSXElement?(++this.state.pos,this.finishToken(143)):super.getTokenFromCode(j);return}C+=this.input.slice(I,this.state.pos),this.finishToken(142,C);return;case 38:C+=this.input.slice(I,this.state.pos),C+=this.jsxReadEntity(),I=this.state.pos;break;case 62:case 125:default:Oa(j)?(C+=this.input.slice(I,this.state.pos),C+=this.jsxReadNewLine(!0),I=this.state.pos):++this.state.pos}}}jsxReadNewLine(C){let I=this.input.charCodeAt(this.state.pos),j;return++this.state.pos,I===13&&this.input.charCodeAt(this.state.pos)===10?(++this.state.pos,j=C?` +`:`\r +`):j=String.fromCharCode(I),++this.state.curLine,this.state.lineStart=this.state.pos,j}jsxReadString(C){let I="",j=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(S.UnterminatedString,this.state.startLoc);let Te=this.input.charCodeAt(this.state.pos);if(Te===C)break;Te===38?(I+=this.input.slice(j,this.state.pos),I+=this.jsxReadEntity(),j=this.state.pos):Oa(Te)?(I+=this.input.slice(j,this.state.pos),I+=this.jsxReadNewLine(!1),j=this.state.pos):++this.state.pos}I+=this.input.slice(j,this.state.pos++),this.finishToken(134,I)}jsxReadEntity(){let C=++this.state.pos;if(this.codePointAtPos(this.state.pos)===35){++this.state.pos;let I=10;this.codePointAtPos(this.state.pos)===120&&(I=16,++this.state.pos);let j=this.readInt(I,void 0,!1,"bail");if(j!==null&&this.codePointAtPos(this.state.pos)===59)return++this.state.pos,String.fromCodePoint(j)}else{let I=0,j=!1;for(;I++<10&&this.state.pos1){for(let j=0;j0){if(I&256){let Te=!!(I&512),Be=(j&4)>0;return Te!==Be}return!0}return I&128&&(j&8)>0?Q.names.get(C)&2?!!(I&1):!1:I&2&&(j&1)>0?!0:super.isRedeclaredInScope(Q,C,I)}checkLocalExport(Q){let{name:C}=Q;if(this.hasImport(C))return;let I=this.scopeStack.length;for(let j=I-1;j>=0;j--){let Te=this.scopeStack[j].tsNames.get(C);if((Te&1)>0||(Te&16)>0)return}super.checkLocalExport(Q)}},Ax=Q=>Q.type==="ParenthesizedExpression"?Ax(Q.expression):Q,W7=class extends Or{toAssignable(Q,C=!1){var I,j;let Te;switch((Q.type==="ParenthesizedExpression"||(I=Q.extra)!=null&&I.parenthesized)&&(Te=Ax(Q),C?Te.type==="Identifier"?this.expressionScope.recordArrowParameterBindingError(S.InvalidParenthesizedAssignment,Q):Te.type!=="MemberExpression"&&!this.isOptionalMemberExpression(Te)&&this.raise(S.InvalidParenthesizedAssignment,Q):this.raise(S.InvalidParenthesizedAssignment,Q)),Q.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":Q.type="ObjectPattern";for(let ct=0,zt=Q.properties.length,Rr=zt-1;ctj.type!=="ObjectMethod"&&(Te===I||j.type!=="SpreadElement")&&this.isAssignable(j))}case"ObjectProperty":return this.isAssignable(Q.value);case"SpreadElement":return this.isAssignable(Q.argument);case"ArrayExpression":return Q.elements.every(I=>I===null||this.isAssignable(I));case"AssignmentExpression":return Q.operator==="=";case"ParenthesizedExpression":return this.isAssignable(Q.expression);case"MemberExpression":case"OptionalMemberExpression":return!C;default:return!1}}toReferencedList(Q,C){return Q}toReferencedListDeep(Q,C){this.toReferencedList(Q,C);for(let I of Q)I?.type==="ArrayExpression"&&this.toReferencedListDeep(I.elements)}parseSpread(Q){let C=this.startNode();return this.next(),C.argument=this.parseMaybeAssignAllowIn(Q,void 0),this.finishNode(C,"SpreadElement")}parseRestBinding(){let Q=this.startNode();return this.next(),Q.argument=this.parseBindingAtom(),this.finishNode(Q,"RestElement")}parseBindingAtom(){switch(this.state.type){case 0:{let Q=this.startNode();return this.next(),Q.elements=this.parseBindingList(3,93,1),this.finishNode(Q,"ArrayPattern")}case 5:return this.parseObjectLike(8,!0)}return this.parseIdentifier()}parseBindingList(Q,C,I){let j=I&1,Te=[],Be=!0;for(;!this.eat(Q);)if(Be?Be=!1:this.expect(12),j&&this.match(12))Te.push(null);else{if(this.eat(Q))break;if(this.match(21)){let ct=this.parseRestBinding();if((this.hasPlugin("flow")||I&2)&&(ct=this.parseFunctionParamType(ct)),Te.push(ct),!this.checkCommaAfterRest(C)){this.expect(Q);break}}else{let ct=[];for(this.match(26)&&this.hasPlugin("decorators")&&this.raise(S.UnsupportedParameterDecorator,this.state.startLoc);this.match(26);)ct.push(this.parseDecorator());Te.push(this.parseAssignableListItem(I,ct))}}return Te}parseBindingRestProperty(Q){return this.next(),Q.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(Q,"RestElement")}parseBindingProperty(){let{type:Q,startLoc:C}=this.state;if(Q===21)return this.parseBindingRestProperty(this.startNode());let I=this.startNode();return Q===139?(this.expectPlugin("destructuringPrivate",C),this.classScope.usePrivateName(this.state.value,C),I.key=this.parsePrivateName()):this.parsePropertyName(I),I.method=!1,this.parseObjPropValue(I,C,!1,!1,!0,!1)}parseAssignableListItem(Q,C){let I=this.parseMaybeDefault();(this.hasPlugin("flow")||Q&2)&&this.parseFunctionParamType(I);let j=this.parseMaybeDefault(I.loc.start,I);return C.length&&(I.decorators=C),j}parseFunctionParamType(Q){return Q}parseMaybeDefault(Q,C){var I,j;if((I=Q)!=null||(Q=this.state.startLoc),C=(j=C)!=null?j:this.parseBindingAtom(),!this.eat(29))return C;let Te=this.startNodeAt(Q);return Te.left=C,Te.right=this.parseMaybeAssignAllowIn(),this.finishNode(Te,"AssignmentPattern")}isValidLVal(Q,C,I){switch(Q){case"AssignmentPattern":return"left";case"RestElement":return"argument";case"ObjectProperty":return"value";case"ParenthesizedExpression":return"expression";case"ArrayPattern":return"elements";case"ObjectPattern":return"properties"}return!1}isOptionalMemberExpression(Q){return Q.type==="OptionalMemberExpression"}checkLVal(Q,C,I=64,j=!1,Te=!1,Be=!1){var ct;let zt=Q.type;if(this.isObjectMethod(Q))return;let Rr=this.isOptionalMemberExpression(Q);if(Rr||zt==="MemberExpression"){Rr&&(this.expectPlugin("optionalChainingAssign",Q.loc.start),C.type!=="AssignmentExpression"&&this.raise(S.InvalidLhsOptionalChaining,Q,{ancestor:C})),I!==64&&this.raise(S.InvalidPropertyBindingPattern,Q);return}if(zt==="Identifier"){this.checkIdentifier(Q,I,Te);let{name:ho}=Q;j&&(j.has(ho)?this.raise(S.ParamDupe,Q):j.add(ho));return}let _r=this.isValidLVal(zt,!(Be||(ct=Q.extra)!=null&&ct.parenthesized)&&C.type==="AssignmentExpression",I);if(_r===!0)return;if(_r===!1){let ho=I===64?S.InvalidLhs:S.InvalidLhsBinding;this.raise(ho,Q,{ancestor:C});return}let ei,Si;typeof _r=="string"?(ei=_r,Si=zt==="ParenthesizedExpression"):[ei,Si]=_r;let Ji=zt==="ArrayPattern"||zt==="ObjectPattern"?{type:zt}:C,$a=Q[ei];if(Array.isArray($a))for(let ho of $a)ho&&this.checkLVal(ho,Ji,I,j,Te,Si);else $a&&this.checkLVal($a,Ji,I,j,Te,Si)}checkIdentifier(Q,C,I=!1){this.state.strict&&(I?nn(Q.name,this.inModule):Ar(Q.name))&&(C===64?this.raise(S.StrictEvalArguments,Q,{referenceName:Q.name}):this.raise(S.StrictEvalArgumentsBinding,Q,{bindingName:Q.name})),C&8192&&Q.name==="let"&&this.raise(S.LetInLexicalBinding,Q),C&64||this.declareNameFromIdentifier(Q,C)}declareNameFromIdentifier(Q,C){this.scope.declareName(Q.name,C,Q.loc.start)}checkToRestConversion(Q,C){switch(Q.type){case"ParenthesizedExpression":this.checkToRestConversion(Q.expression,C);break;case"Identifier":case"MemberExpression":break;case"ArrayExpression":case"ObjectExpression":if(C)break;default:this.raise(S.InvalidRestAssignmentPattern,Q)}}checkCommaAfterRest(Q){return this.match(12)?(this.raise(this.lookaheadCharCode()===Q?S.RestTrailingComma:S.ElementAfterRest,this.state.startLoc),!0):!1}};function gx(Q){if(Q==null)throw new Error(`Unexpected ${Q} value.`);return Q}function Xm(Q){if(!Q)throw new Error("Assert fail")}var Ia=D`typescript`({AbstractMethodHasImplementation:({methodName:Q})=>`Method '${Q}' cannot have an implementation because it is marked abstract.`,AbstractPropertyHasInitializer:({propertyName:Q})=>`Property '${Q}' cannot have an initializer because it is marked abstract.`,AccessorCannotBeOptional:"An 'accessor' property cannot be declared optional.",AccessorCannotDeclareThisParameter:"'get' and 'set' accessors cannot declare 'this' parameters.",AccessorCannotHaveTypeParameters:"An accessor cannot have type parameters.",ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier.",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier.",ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference:"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareAccessor:({kind:Q})=>`'declare' is not allowed in ${Q}ters.`,DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:({modifier:Q})=>"Accessibility modifier already seen.",DuplicateModifier:({modifier:Q})=>`Duplicate modifier: '${Q}'.`,EmptyHeritageClauseType:({token:Q})=>`'${Q}' list cannot be empty.`,EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"'export declare' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use 'import type'.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` modifier",IncompatibleModifiers:({modifiers:Q})=>`'${Q[0]}' modifier cannot be used with '${Q[1]}' modifier.`,IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier.",IndexSignatureHasAccessibility:({modifier:Q})=>`Index signatures cannot have an accessibility modifier ('${Q}').`,IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier.",IndexSignatureHasOverride:"'override' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier.",InitializerNotAllowedInAmbientContext:"Initializers are not allowed in ambient contexts.",InvalidModifierOnTypeMember:({modifier:Q})=>`'${Q}' modifier cannot appear on a type member.`,InvalidModifierOnTypeParameter:({modifier:Q})=>`'${Q}' modifier cannot appear on a type parameter.`,InvalidModifierOnTypeParameterPositions:({modifier:Q})=>`'${Q}' modifier can only appear on a type parameter of a class, interface or type alias.`,InvalidModifiersOrder:({orderedModifiers:Q})=>`'${Q[0]}' modifier must precede '${Q[1]}' modifier.`,InvalidPropertyAccessAfterInstantiationExpression:"Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MissingInterfaceName:"'interface' declarations must be followed by an identifier.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifer:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",OverrideNotInSubClass:"This member cannot have an 'override' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:({modifier:Q})=>`Private elements cannot have an accessibility modifier ('${Q}').`,ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccessorCannotHaveOptionalParameter:"A 'set' accessor cannot have an optional parameter.",SetAccessorCannotHaveRestParameter:"A 'set' accessor cannot have rest parameter.",SetAccessorCannotHaveReturnType:"A 'set' accessor cannot have a return type annotation.",SingleTypeParameterWithoutTrailingComma:({typeParameterName:Q})=>`Single type parameter ${Q} should have a trailing comma. Example usage: <${Q},>.`,StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TupleOptionalAfterType:"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",TypeModifierIsUsedInTypeExports:"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.",TypeModifierIsUsedInTypeImports:"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal.",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:({type:Q})=>`Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${Q}.`});function lT(Q){switch(Q){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}function $p(Q){return Q==="private"||Q==="public"||Q==="protected"}function Pc(Q){return Q==="in"||Q==="out"}var cT=Q=>class extends Q{constructor(...C){super(...C),this.tsParseInOutModifiers=this.tsParseModifiers.bind(this,{allowedModifiers:["in","out"],disallowedModifiers:["const","public","private","protected","readonly","declare","abstract","override"],errorTemplate:Ia.InvalidModifierOnTypeParameter}),this.tsParseConstModifier=this.tsParseModifiers.bind(this,{allowedModifiers:["const"],disallowedModifiers:["in","out"],errorTemplate:Ia.InvalidModifierOnTypeParameterPositions}),this.tsParseInOutConstModifiers=this.tsParseModifiers.bind(this,{allowedModifiers:["in","out","const"],disallowedModifiers:["public","private","protected","readonly","declare","abstract","override"],errorTemplate:Ia.InvalidModifierOnTypeParameter})}getScopeHandler(){return uT}tsIsIdentifier(){return He(this.state.type)}tsTokenCanFollowModifier(){return this.match(0)||this.match(5)||this.match(55)||this.match(21)||this.match(139)||this.isLiteralPropertyName()}tsNextTokenOnSameLineAndCanFollowModifier(){return this.next(),this.hasPrecedingLineBreak()?!1:this.tsTokenCanFollowModifier()}tsNextTokenCanFollowModifier(){return this.match(106)?(this.next(),this.tsTokenCanFollowModifier()):this.tsNextTokenOnSameLineAndCanFollowModifier()}tsParseModifier(C,I){if(!He(this.state.type)&&this.state.type!==58&&this.state.type!==75)return;let j=this.state.value;if(C.includes(j)){if(I&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return j}}tsParseModifiers({allowedModifiers:C,disallowedModifiers:I,stopOnStartOfClassStaticBlock:j,errorTemplate:Te=Ia.InvalidModifierOnTypeMember},Be){let ct=(Rr,_r,ei,Si)=>{_r===ei&&Be[Si]&&this.raise(Ia.InvalidModifiersOrder,Rr,{orderedModifiers:[ei,Si]})},zt=(Rr,_r,ei,Si)=>{(Be[ei]&&_r===Si||Be[Si]&&_r===ei)&&this.raise(Ia.IncompatibleModifiers,Rr,{modifiers:[ei,Si]})};for(;;){let{startLoc:Rr}=this.state,_r=this.tsParseModifier(C.concat(I??[]),j);if(!_r)break;$p(_r)?Be.accessibility?this.raise(Ia.DuplicateAccessibilityModifier,Rr,{modifier:_r}):(ct(Rr,_r,_r,"override"),ct(Rr,_r,_r,"static"),ct(Rr,_r,_r,"readonly"),Be.accessibility=_r):Pc(_r)?(Be[_r]&&this.raise(Ia.DuplicateModifier,Rr,{modifier:_r}),Be[_r]=!0,ct(Rr,_r,"in","out")):(hasOwnProperty.call(Be,_r)?this.raise(Ia.DuplicateModifier,Rr,{modifier:_r}):(ct(Rr,_r,"static","readonly"),ct(Rr,_r,"static","override"),ct(Rr,_r,"override","readonly"),ct(Rr,_r,"abstract","override"),zt(Rr,_r,"declare","override"),zt(Rr,_r,"static","abstract")),Be[_r]=!0),I!=null&&I.includes(_r)&&this.raise(Te,Rr,{modifier:_r})}}tsIsListTerminator(C){switch(C){case"EnumMembers":case"TypeMembers":return this.match(8);case"HeritageClauseElement":return this.match(5);case"TupleElementTypes":return this.match(3);case"TypeParametersOrArguments":return this.match(48)}}tsParseList(C,I){let j=[];for(;!this.tsIsListTerminator(C);)j.push(I());return j}tsParseDelimitedList(C,I,j){return gx(this.tsParseDelimitedListWorker(C,I,!0,j))}tsParseDelimitedListWorker(C,I,j,Te){let Be=[],ct=-1;for(;!this.tsIsListTerminator(C);){ct=-1;let zt=I();if(zt==null)return;if(Be.push(zt),this.eat(12)){ct=this.state.lastTokStartLoc.index;continue}if(this.tsIsListTerminator(C))break;j&&this.expect(12);return}return Te&&(Te.value=ct),Be}tsParseBracketedList(C,I,j,Te,Be){Te||(j?this.expect(0):this.expect(47));let ct=this.tsParseDelimitedList(C,I,Be);return j?this.expect(3):this.expect(48),ct}tsParseImportType(){let C=this.startNode();return this.expect(83),this.expect(10),this.match(134)||this.raise(Ia.UnsupportedImportTypeArgument,this.state.startLoc),C.argument=super.parseExprAtom(),this.eat(12)&&!this.match(11)?(C.options=super.parseMaybeAssignAllowIn(),this.eat(12)):C.options=null,this.expect(11),this.eat(16)&&(C.qualifier=this.tsParseEntityName()),this.match(47)&&(C.typeParameters=this.tsParseTypeArguments()),this.finishNode(C,"TSImportType")}tsParseEntityName(C=!0){let I=this.parseIdentifier(C);for(;this.eat(16);){let j=this.startNodeAtNode(I);j.left=I,j.right=this.parseIdentifier(C),I=this.finishNode(j,"TSQualifiedName")}return I}tsParseTypeReference(){let C=this.startNode();return C.typeName=this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.match(47)&&(C.typeParameters=this.tsParseTypeArguments()),this.finishNode(C,"TSTypeReference")}tsParseThisTypePredicate(C){this.next();let I=this.startNodeAtNode(C);return I.parameterName=C,I.typeAnnotation=this.tsParseTypeAnnotation(!1),I.asserts=!1,this.finishNode(I,"TSTypePredicate")}tsParseThisTypeNode(){let C=this.startNode();return this.next(),this.finishNode(C,"TSThisType")}tsParseTypeQuery(){let C=this.startNode();return this.expect(87),this.match(83)?C.exprName=this.tsParseImportType():C.exprName=this.tsParseEntityName(),!this.hasPrecedingLineBreak()&&this.match(47)&&(C.typeParameters=this.tsParseTypeArguments()),this.finishNode(C,"TSTypeQuery")}tsParseTypeParameter(C){let I=this.startNode();return C(I),I.name=this.tsParseTypeParameterName(),I.constraint=this.tsEatThenParseType(81),I.default=this.tsEatThenParseType(29),this.finishNode(I,"TSTypeParameter")}tsTryParseTypeParameters(C){if(this.match(47))return this.tsParseTypeParameters(C)}tsParseTypeParameters(C){let I=this.startNode();this.match(47)||this.match(143)?this.next():this.unexpected();let j={value:-1};return I.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this,C),!1,!0,j),I.params.length===0&&this.raise(Ia.EmptyTypeParameters,I),j.value!==-1&&this.addExtra(I,"trailingComma",j.value),this.finishNode(I,"TSTypeParameterDeclaration")}tsFillSignature(C,I){let j=C===19,Te="parameters",Be="typeAnnotation";I.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier),this.expect(10),I[Te]=this.tsParseBindingListForSignature(),j?I[Be]=this.tsParseTypeOrTypePredicateAnnotation(C):this.match(C)&&(I[Be]=this.tsParseTypeOrTypePredicateAnnotation(C))}tsParseBindingListForSignature(){let C=super.parseBindingList(11,41,2);for(let I of C){let{type:j}=I;(j==="AssignmentPattern"||j==="TSParameterProperty")&&this.raise(Ia.UnsupportedSignatureParameterKind,I,{type:j})}return C}tsParseTypeMemberSemicolon(){!this.eat(12)&&!this.isLineTerminator()&&this.expect(13)}tsParseSignatureMember(C,I){return this.tsFillSignature(14,I),this.tsParseTypeMemberSemicolon(),this.finishNode(I,C)}tsIsUnambiguouslyIndexSignature(){return this.next(),He(this.state.type)?(this.next(),this.match(14)):!1}tsTryParseIndexSignature(C){if(!(this.match(0)&&this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this))))return;this.expect(0);let I=this.parseIdentifier();I.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(I),this.expect(3),C.parameters=[I];let j=this.tsTryParseTypeAnnotation();return j&&(C.typeAnnotation=j),this.tsParseTypeMemberSemicolon(),this.finishNode(C,"TSIndexSignature")}tsParsePropertyOrMethodSignature(C,I){this.eat(17)&&(C.optional=!0);let j=C;if(this.match(10)||this.match(47)){I&&this.raise(Ia.ReadonlyForMethodSignature,C);let Te=j;Te.kind&&this.match(47)&&this.raise(Ia.AccessorCannotHaveTypeParameters,this.state.curPosition()),this.tsFillSignature(14,Te),this.tsParseTypeMemberSemicolon();let Be="parameters",ct="typeAnnotation";if(Te.kind==="get")Te[Be].length>0&&(this.raise(S.BadGetterArity,this.state.curPosition()),this.isThisParam(Te[Be][0])&&this.raise(Ia.AccessorCannotDeclareThisParameter,this.state.curPosition()));else if(Te.kind==="set"){if(Te[Be].length!==1)this.raise(S.BadSetterArity,this.state.curPosition());else{let zt=Te[Be][0];this.isThisParam(zt)&&this.raise(Ia.AccessorCannotDeclareThisParameter,this.state.curPosition()),zt.type==="Identifier"&&zt.optional&&this.raise(Ia.SetAccessorCannotHaveOptionalParameter,this.state.curPosition()),zt.type==="RestElement"&&this.raise(Ia.SetAccessorCannotHaveRestParameter,this.state.curPosition())}Te[ct]&&this.raise(Ia.SetAccessorCannotHaveReturnType,Te[ct])}else Te.kind="method";return this.finishNode(Te,"TSMethodSignature")}else{let Te=j;I&&(Te.readonly=!0);let Be=this.tsTryParseTypeAnnotation();return Be&&(Te.typeAnnotation=Be),this.tsParseTypeMemberSemicolon(),this.finishNode(Te,"TSPropertySignature")}}tsParseTypeMember(){let C=this.startNode();if(this.match(10)||this.match(47))return this.tsParseSignatureMember("TSCallSignatureDeclaration",C);if(this.match(77)){let j=this.startNode();return this.next(),this.match(10)||this.match(47)?this.tsParseSignatureMember("TSConstructSignatureDeclaration",C):(C.key=this.createIdentifier(j,"new"),this.tsParsePropertyOrMethodSignature(C,!1))}return this.tsParseModifiers({allowedModifiers:["readonly"],disallowedModifiers:["declare","abstract","private","protected","public","static","override"]},C),this.tsTryParseIndexSignature(C)||(super.parsePropertyName(C),!C.computed&&C.key.type==="Identifier"&&(C.key.name==="get"||C.key.name==="set")&&this.tsTokenCanFollowModifier()&&(C.kind=C.key.name,super.parsePropertyName(C)),this.tsParsePropertyOrMethodSignature(C,!!C.readonly))}tsParseTypeLiteral(){let C=this.startNode();return C.members=this.tsParseObjectTypeMembers(),this.finishNode(C,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(5);let C=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(8),C}tsIsStartOfMappedType(){return this.next(),this.eat(53)?this.isContextual(122):(this.isContextual(122)&&this.next(),!this.match(0)||(this.next(),!this.tsIsIdentifier())?!1:(this.next(),this.match(58)))}tsParseMappedType(){let C=this.startNode();this.expect(5),this.match(53)?(C.readonly=this.state.value,this.next(),this.expectContextual(122)):this.eatContextual(122)&&(C.readonly=!0),this.expect(0);{let I=this.startNode();I.name=this.tsParseTypeParameterName(),I.constraint=this.tsExpectThenParseType(58),C.typeParameter=this.finishNode(I,"TSTypeParameter")}return C.nameType=this.eatContextual(93)?this.tsParseType():null,this.expect(3),this.match(53)?(C.optional=this.state.value,this.next(),this.expect(17)):this.eat(17)&&(C.optional=!0),C.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(8),this.finishNode(C,"TSMappedType")}tsParseTupleType(){let C=this.startNode();C.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let I=!1;return C.elementTypes.forEach(j=>{let{type:Te}=j;I&&Te!=="TSRestType"&&Te!=="TSOptionalType"&&!(Te==="TSNamedTupleMember"&&j.optional)&&this.raise(Ia.OptionalTypeBeforeRequired,j),I||(I=Te==="TSNamedTupleMember"&&j.optional||Te==="TSOptionalType")}),this.finishNode(C,"TSTupleType")}tsParseTupleElementType(){let{startLoc:C}=this.state,I=this.eat(21),j,Te,Be,ct,zt=zr(this.state.type)?this.lookaheadCharCode():null;if(zt===58)j=!0,Be=!1,Te=this.parseIdentifier(!0),this.expect(14),ct=this.tsParseType();else if(zt===63){Be=!0;let Rr=this.state.startLoc,_r=this.state.value,ei=this.tsParseNonArrayType();this.lookaheadCharCode()===58?(j=!0,Te=this.createIdentifier(this.startNodeAt(Rr),_r),this.expect(17),this.expect(14),ct=this.tsParseType()):(j=!1,ct=ei,this.expect(17))}else ct=this.tsParseType(),Be=this.eat(17),j=this.eat(14);if(j){let Rr;Te?(Rr=this.startNodeAtNode(Te),Rr.optional=Be,Rr.label=Te,Rr.elementType=ct,this.eat(17)&&(Rr.optional=!0,this.raise(Ia.TupleOptionalAfterType,this.state.lastTokStartLoc))):(Rr=this.startNodeAtNode(ct),Rr.optional=Be,this.raise(Ia.InvalidTupleMemberLabel,ct),Rr.label=ct,Rr.elementType=this.tsParseType()),ct=this.finishNode(Rr,"TSNamedTupleMember")}else if(Be){let Rr=this.startNodeAtNode(ct);Rr.typeAnnotation=ct,ct=this.finishNode(Rr,"TSOptionalType")}if(I){let Rr=this.startNodeAt(C);Rr.typeAnnotation=ct,ct=this.finishNode(Rr,"TSRestType")}return ct}tsParseParenthesizedType(){let C=this.startNode();return this.expect(10),C.typeAnnotation=this.tsParseType(),this.expect(11),this.finishNode(C,"TSParenthesizedType")}tsParseFunctionOrConstructorType(C,I){let j=this.startNode();return C==="TSConstructorType"&&(j.abstract=!!I,I&&this.next(),this.next()),this.tsInAllowConditionalTypesContext(()=>this.tsFillSignature(19,j)),this.finishNode(j,C)}tsParseLiteralTypeNode(){let C=this.startNode();switch(this.state.type){case 135:case 136:case 134:case 85:case 86:C.literal=super.parseExprAtom();break;default:this.unexpected()}return this.finishNode(C,"TSLiteralType")}tsParseTemplateLiteralType(){let C=this.startNode();return C.literal=super.parseTemplate(!1),this.finishNode(C,"TSLiteralType")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){let C=this.tsParseThisTypeNode();return this.isContextual(116)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(C):C}tsParseNonArrayType(){switch(this.state.type){case 134:case 135:case 136:case 85:case 86:return this.tsParseLiteralTypeNode();case 53:if(this.state.value==="-"){let C=this.startNode(),I=this.lookahead();return I.type!==135&&I.type!==136&&this.unexpected(),C.literal=this.parseMaybeUnary(),this.finishNode(C,"TSLiteralType")}break;case 78:return this.tsParseThisTypeOrThisTypePredicate();case 87:return this.tsParseTypeQuery();case 83:return this.tsParseImportType();case 5:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 10:return this.tsParseParenthesizedType();case 25:case 24:return this.tsParseTemplateLiteralType();default:{let{type:C}=this.state;if(He(C)||C===88||C===84){let I=C===88?"TSVoidKeyword":C===84?"TSNullKeyword":lT(this.state.value);if(I!==void 0&&this.lookaheadCharCode()!==46){let j=this.startNode();return this.next(),this.finishNode(j,I)}return this.tsParseTypeReference()}}}this.unexpected()}tsParseArrayTypeOrHigher(){let C=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(3)){let I=this.startNodeAtNode(C);I.elementType=C,this.expect(3),C=this.finishNode(I,"TSArrayType")}else{let I=this.startNodeAtNode(C);I.objectType=C,I.indexType=this.tsParseType(),this.expect(3),C=this.finishNode(I,"TSIndexedAccessType")}return C}tsParseTypeOperator(){let C=this.startNode(),I=this.state.value;return this.next(),C.operator=I,C.typeAnnotation=this.tsParseTypeOperatorOrHigher(),I==="readonly"&&this.tsCheckTypeAnnotationForReadOnly(C),this.finishNode(C,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(C){switch(C.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(Ia.UnexpectedReadonly,C)}}tsParseInferType(){let C=this.startNode();this.expectContextual(115);let I=this.startNode();return I.name=this.tsParseTypeParameterName(),I.constraint=this.tsTryParse(()=>this.tsParseConstraintForInferType()),C.typeParameter=this.finishNode(I,"TSTypeParameter"),this.finishNode(C,"TSInferType")}tsParseConstraintForInferType(){if(this.eat(81)){let C=this.tsInDisallowConditionalTypesContext(()=>this.tsParseType());if(this.state.inDisallowConditionalTypesContext||!this.match(17))return C}}tsParseTypeOperatorOrHigher(){return Ti(this.state.type)&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(115)?this.tsParseInferType():this.tsInAllowConditionalTypesContext(()=>this.tsParseArrayTypeOrHigher())}tsParseUnionOrIntersectionType(C,I,j){let Te=this.startNode(),Be=this.eat(j),ct=[];do ct.push(I());while(this.eat(j));return ct.length===1&&!Be?ct[0]:(Te.types=ct,this.finishNode(Te,C))}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),45)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),43)}tsIsStartOfFunctionType(){return this.match(47)?!0:this.match(10)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(He(this.state.type)||this.match(78))return this.next(),!0;if(this.match(5)){let{errors:C}=this.state,I=C.length;try{return this.parseObjectLike(8,!0),C.length===I}catch{return!1}}if(this.match(0)){this.next();let{errors:C}=this.state,I=C.length;try{return super.parseBindingList(3,93,1),C.length===I}catch{return!1}}return!1}tsIsUnambiguouslyStartOfFunctionType(){return this.next(),!!(this.match(11)||this.match(21)||this.tsSkipParameterStart()&&(this.match(14)||this.match(12)||this.match(17)||this.match(29)||this.match(11)&&(this.next(),this.match(19))))}tsParseTypeOrTypePredicateAnnotation(C){return this.tsInType(()=>{let I=this.startNode();this.expect(C);let j=this.startNode(),Te=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(Te&&this.match(78)){let zt=this.tsParseThisTypeOrThisTypePredicate();return zt.type==="TSThisType"?(j.parameterName=zt,j.asserts=!0,j.typeAnnotation=null,zt=this.finishNode(j,"TSTypePredicate")):(this.resetStartLocationFromNode(zt,j),zt.asserts=!0),I.typeAnnotation=zt,this.finishNode(I,"TSTypeAnnotation")}let Be=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!Be)return Te?(j.parameterName=this.parseIdentifier(),j.asserts=Te,j.typeAnnotation=null,I.typeAnnotation=this.finishNode(j,"TSTypePredicate"),this.finishNode(I,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,I);let ct=this.tsParseTypeAnnotation(!1);return j.parameterName=Be,j.typeAnnotation=ct,j.asserts=Te,I.typeAnnotation=this.finishNode(j,"TSTypePredicate"),this.finishNode(I,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){if(this.match(14))return this.tsParseTypeOrTypePredicateAnnotation(14)}tsTryParseTypeAnnotation(){if(this.match(14))return this.tsParseTypeAnnotation()}tsTryParseType(){return this.tsEatThenParseType(14)}tsParseTypePredicatePrefix(){let C=this.parseIdentifier();if(this.isContextual(116)&&!this.hasPrecedingLineBreak())return this.next(),C}tsParseTypePredicateAsserts(){if(this.state.type!==109)return!1;let C=this.state.containsEsc;return this.next(),!He(this.state.type)&&!this.match(78)?!1:(C&&this.raise(S.InvalidEscapedReservedWord,this.state.lastTokStartLoc,{reservedWord:"asserts"}),!0)}tsParseTypeAnnotation(C=!0,I=this.startNode()){return this.tsInType(()=>{C&&this.expect(14),I.typeAnnotation=this.tsParseType()}),this.finishNode(I,"TSTypeAnnotation")}tsParseType(){Xm(this.state.inType);let C=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(81))return C;let I=this.startNodeAtNode(C);return I.checkType=C,I.extendsType=this.tsInDisallowConditionalTypesContext(()=>this.tsParseNonConditionalType()),this.expect(17),I.trueType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.expect(14),I.falseType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.finishNode(I,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual(124)&&this.lookahead().type===77}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(77)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(Ia.ReservedTypeAssertion,this.state.startLoc);let C=this.startNode();return C.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?this.tsParseTypeReference():this.tsParseType())),this.expect(48),C.expression=this.parseMaybeUnary(),this.finishNode(C,"TSTypeAssertion")}tsParseHeritageClause(C){let I=this.state.startLoc,j=this.tsParseDelimitedList("HeritageClauseElement",()=>{let Te=this.startNode();return Te.expression=this.tsParseEntityName(),this.match(47)&&(Te.typeParameters=this.tsParseTypeArguments()),this.finishNode(Te,"TSExpressionWithTypeArguments")});return j.length||this.raise(Ia.EmptyHeritageClauseType,I,{token:C}),j}tsParseInterfaceDeclaration(C,I={}){if(this.hasFollowingLineBreak())return null;this.expectContextual(129),I.declare&&(C.declare=!0),He(this.state.type)?(C.id=this.parseIdentifier(),this.checkIdentifier(C.id,130)):(C.id=null,this.raise(Ia.MissingInterfaceName,this.state.startLoc)),C.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers),this.eat(81)&&(C.extends=this.tsParseHeritageClause("extends"));let j=this.startNode();return j.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),C.body=this.finishNode(j,"TSInterfaceBody"),this.finishNode(C,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(C){return C.id=this.parseIdentifier(),this.checkIdentifier(C.id,2),C.typeAnnotation=this.tsInType(()=>{if(C.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutModifiers),this.expect(29),this.isContextual(114)&&this.lookahead().type!==16){let I=this.startNode();return this.next(),this.finishNode(I,"TSIntrinsicKeyword")}return this.tsParseType()}),this.semicolon(),this.finishNode(C,"TSTypeAliasDeclaration")}tsInNoContext(C){let I=this.state.context;this.state.context=[I[0]];try{return C()}finally{this.state.context=I}}tsInType(C){let I=this.state.inType;this.state.inType=!0;try{return C()}finally{this.state.inType=I}}tsInDisallowConditionalTypesContext(C){let I=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!0;try{return C()}finally{this.state.inDisallowConditionalTypesContext=I}}tsInAllowConditionalTypesContext(C){let I=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!1;try{return C()}finally{this.state.inDisallowConditionalTypesContext=I}}tsEatThenParseType(C){if(this.match(C))return this.tsNextThenParseType()}tsExpectThenParseType(C){return this.tsInType(()=>(this.expect(C),this.tsParseType()))}tsNextThenParseType(){return this.tsInType(()=>(this.next(),this.tsParseType()))}tsParseEnumMember(){let C=this.startNode();return C.id=this.match(134)?super.parseStringLiteral(this.state.value):this.parseIdentifier(!0),this.eat(29)&&(C.initializer=super.parseMaybeAssignAllowIn()),this.finishNode(C,"TSEnumMember")}tsParseEnumDeclaration(C,I={}){return I.const&&(C.const=!0),I.declare&&(C.declare=!0),this.expectContextual(126),C.id=this.parseIdentifier(),this.checkIdentifier(C.id,C.const?8971:8459),this.expect(5),C.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(8),this.finishNode(C,"TSEnumDeclaration")}tsParseModuleBlock(){let C=this.startNode();return this.scope.enter(0),this.expect(5),super.parseBlockOrModuleBlockBody(C.body=[],void 0,!0,8),this.scope.exit(),this.finishNode(C,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(C,I=!1){if(C.id=this.parseIdentifier(),I||this.checkIdentifier(C.id,1024),this.eat(16)){let j=this.startNode();this.tsParseModuleOrNamespaceDeclaration(j,!0),C.body=j}else this.scope.enter(256),this.prodParam.enter(0),C.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(C,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(C){return this.isContextual(112)?(C.kind="global",C.global=!0,C.id=this.parseIdentifier()):this.match(134)?(C.kind="module",C.id=super.parseStringLiteral(this.state.value)):this.unexpected(),this.match(5)?(this.scope.enter(256),this.prodParam.enter(0),C.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(C,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(C,I,j){C.isExport=j||!1,C.id=I||this.parseIdentifier(),this.checkIdentifier(C.id,4096),this.expect(29);let Te=this.tsParseModuleReference();return C.importKind==="type"&&Te.type!=="TSExternalModuleReference"&&this.raise(Ia.ImportAliasHasImportType,Te),C.moduleReference=Te,this.semicolon(),this.finishNode(C,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual(119)&&this.lookaheadCharCode()===40}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){let C=this.startNode();return this.expectContextual(119),this.expect(10),this.match(134)||this.unexpected(),C.expression=super.parseExprAtom(),this.expect(11),this.sawUnambiguousESM=!0,this.finishNode(C,"TSExternalModuleReference")}tsLookAhead(C){let I=this.state.clone(),j=C();return this.state=I,j}tsTryParseAndCatch(C){let I=this.tryParse(j=>C()||j());if(!(I.aborted||!I.node))return I.error&&(this.state=I.failState),I.node}tsTryParse(C){let I=this.state.clone(),j=C();if(j!==void 0&&j!==!1)return j;this.state=I}tsTryParseDeclare(C){if(this.isLineTerminator())return;let I=this.state.type,j;return this.isContextual(100)&&(I=74,j="let"),this.tsInAmbientContext(()=>{switch(I){case 68:return C.declare=!0,super.parseFunctionStatement(C,!1,!1);case 80:return C.declare=!0,this.parseClass(C,!0,!1);case 126:return this.tsParseEnumDeclaration(C,{declare:!0});case 112:return this.tsParseAmbientExternalModuleDeclaration(C);case 75:case 74:return!this.match(75)||!this.isLookaheadContextual("enum")?(C.declare=!0,this.parseVarStatement(C,j||this.state.value,!0)):(this.expect(75),this.tsParseEnumDeclaration(C,{const:!0,declare:!0}));case 129:{let Te=this.tsParseInterfaceDeclaration(C,{declare:!0});if(Te)return Te}default:if(He(I))return this.tsParseDeclaration(C,this.state.value,!0,null)}})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0,null)}tsParseExpressionStatement(C,I,j){switch(I.name){case"declare":{let Te=this.tsTryParseDeclare(C);return Te&&(Te.declare=!0),Te}case"global":if(this.match(5)){this.scope.enter(256),this.prodParam.enter(0);let Te=C;return Te.kind="global",Te.global=!0,Te.id=I,Te.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(Te,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(C,I.name,!1,j)}}tsParseDeclaration(C,I,j,Te){switch(I){case"abstract":if(this.tsCheckLineTerminator(j)&&(this.match(80)||He(this.state.type)))return this.tsParseAbstractDeclaration(C,Te);break;case"module":if(this.tsCheckLineTerminator(j)){if(this.match(134))return this.tsParseAmbientExternalModuleDeclaration(C);if(He(this.state.type))return C.kind="module",this.tsParseModuleOrNamespaceDeclaration(C)}break;case"namespace":if(this.tsCheckLineTerminator(j)&&He(this.state.type))return C.kind="namespace",this.tsParseModuleOrNamespaceDeclaration(C);break;case"type":if(this.tsCheckLineTerminator(j)&&He(this.state.type))return this.tsParseTypeAliasDeclaration(C);break}}tsCheckLineTerminator(C){return C?this.hasFollowingLineBreak()?!1:(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(C){if(!this.match(47))return;let I=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;let j=this.tsTryParseAndCatch(()=>{let Te=this.startNodeAt(C);return Te.typeParameters=this.tsParseTypeParameters(this.tsParseConstModifier),super.parseFunctionParams(Te),Te.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(19),Te});if(this.state.maybeInArrowParameters=I,!!j)return super.parseArrowExpression(j,null,!0)}tsParseTypeArgumentsInExpression(){if(this.reScan_lt()===47)return this.tsParseTypeArguments()}tsParseTypeArguments(){let C=this.startNode();return C.params=this.tsInType(()=>this.tsInNoContext(()=>(this.expect(47),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),C.params.length===0?this.raise(Ia.EmptyTypeArguments,C):!this.state.inType&&this.curContext()===H.brace&&this.reScan_lt_gt(),this.expect(48),this.finishNode(C,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){return Wi(this.state.type)}isExportDefaultSpecifier(){return this.tsIsDeclarationStart()?!1:super.isExportDefaultSpecifier()}parseAssignableListItem(C,I){let j=this.state.startLoc,Te={};this.tsParseModifiers({allowedModifiers:["public","private","protected","override","readonly"]},Te);let Be=Te.accessibility,ct=Te.override,zt=Te.readonly;!(C&4)&&(Be||zt||ct)&&this.raise(Ia.UnexpectedParameterModifier,j);let Rr=this.parseMaybeDefault();C&2&&this.parseFunctionParamType(Rr);let _r=this.parseMaybeDefault(Rr.loc.start,Rr);if(Be||zt||ct){let ei=this.startNodeAt(j);return I.length&&(ei.decorators=I),Be&&(ei.accessibility=Be),zt&&(ei.readonly=zt),ct&&(ei.override=ct),_r.type!=="Identifier"&&_r.type!=="AssignmentPattern"&&this.raise(Ia.UnsupportedParameterPropertyKind,ei),ei.parameter=_r,this.finishNode(ei,"TSParameterProperty")}return I.length&&(Rr.decorators=I),_r}isSimpleParameter(C){return C.type==="TSParameterProperty"&&super.isSimpleParameter(C.parameter)||super.isSimpleParameter(C)}tsDisallowOptionalPattern(C){for(let I of C.params)I.type!=="Identifier"&&I.optional&&!this.state.isAmbientContext&&this.raise(Ia.PatternIsOptional,I)}setArrowFunctionParameters(C,I,j){super.setArrowFunctionParameters(C,I,j),this.tsDisallowOptionalPattern(C)}parseFunctionBodyAndFinish(C,I,j=!1){this.match(14)&&(C.returnType=this.tsParseTypeOrTypePredicateAnnotation(14));let Te=I==="FunctionDeclaration"?"TSDeclareFunction":I==="ClassMethod"||I==="ClassPrivateMethod"?"TSDeclareMethod":void 0;return Te&&!this.match(5)&&this.isLineTerminator()?this.finishNode(C,Te):Te==="TSDeclareFunction"&&this.state.isAmbientContext&&(this.raise(Ia.DeclareFunctionHasImplementation,C),C.declare)?super.parseFunctionBodyAndFinish(C,Te,j):(this.tsDisallowOptionalPattern(C),super.parseFunctionBodyAndFinish(C,I,j))}registerFunctionStatementId(C){!C.body&&C.id?this.checkIdentifier(C.id,1024):super.registerFunctionStatementId(C)}tsCheckForInvalidTypeCasts(C){C.forEach(I=>{I?.type==="TSTypeCastExpression"&&this.raise(Ia.UnexpectedTypeAnnotation,I.typeAnnotation)})}toReferencedList(C,I){return this.tsCheckForInvalidTypeCasts(C),C}parseArrayLike(C,I,j,Te){let Be=super.parseArrayLike(C,I,j,Te);return Be.type==="ArrayExpression"&&this.tsCheckForInvalidTypeCasts(Be.elements),Be}parseSubscript(C,I,j,Te){if(!this.hasPrecedingLineBreak()&&this.match(35)){this.state.canStartJSXElement=!1,this.next();let ct=this.startNodeAt(I);return ct.expression=C,this.finishNode(ct,"TSNonNullExpression")}let Be=!1;if(this.match(18)&&this.lookaheadCharCode()===60){if(j)return Te.stop=!0,C;Te.optionalChainMember=Be=!0,this.next()}if(this.match(47)||this.match(51)){let ct,zt=this.tsTryParseAndCatch(()=>{if(!j&&this.atPossibleAsyncArrow(C)){let Si=this.tsTryParseGenericAsyncArrowFunction(I);if(Si)return Si}let Rr=this.tsParseTypeArgumentsInExpression();if(!Rr)return;if(Be&&!this.match(10)){ct=this.state.curPosition();return}if(mt(this.state.type)){let Si=super.parseTaggedTemplateExpression(C,I,Te);return Si.typeParameters=Rr,Si}if(!j&&this.eat(10)){let Si=this.startNodeAt(I);return Si.callee=C,Si.arguments=this.parseCallExpressionArguments(11),this.tsCheckForInvalidTypeCasts(Si.arguments),Si.typeParameters=Rr,Te.optionalChainMember&&(Si.optional=Be),this.finishCallExpression(Si,Te.optionalChainMember)}let _r=this.state.type;if(_r===48||_r===52||_r!==10&&ri(_r)&&!this.hasPrecedingLineBreak())return;let ei=this.startNodeAt(I);return ei.expression=C,ei.typeParameters=Rr,this.finishNode(ei,"TSInstantiationExpression")});if(ct&&this.unexpected(ct,10),zt)return zt.type==="TSInstantiationExpression"&&(this.match(16)||this.match(18)&&this.lookaheadCharCode()!==40)&&this.raise(Ia.InvalidPropertyAccessAfterInstantiationExpression,this.state.startLoc),zt}return super.parseSubscript(C,I,j,Te)}parseNewCallee(C){var I;super.parseNewCallee(C);let{callee:j}=C;j.type==="TSInstantiationExpression"&&!((I=j.extra)!=null&&I.parenthesized)&&(C.typeParameters=j.typeParameters,C.callee=j.expression)}parseExprOp(C,I,j){let Te;if(Hi(58)>j&&!this.hasPrecedingLineBreak()&&(this.isContextual(93)||(Te=this.isContextual(120)))){let Be=this.startNodeAt(I);return Be.expression=C,Be.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?(Te&&this.raise(S.UnexpectedKeyword,this.state.startLoc,{keyword:"const"}),this.tsParseTypeReference()):this.tsParseType())),this.finishNode(Be,Te?"TSSatisfiesExpression":"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(Be,I,j)}return super.parseExprOp(C,I,j)}checkReservedWord(C,I,j,Te){this.state.isAmbientContext||super.checkReservedWord(C,I,j,Te)}checkImportReflection(C){super.checkImportReflection(C),C.module&&C.importKind!=="value"&&this.raise(Ia.ImportReflectionHasImportType,C.specifiers[0].loc.start)}checkDuplicateExports(){}isPotentialImportPhase(C){if(super.isPotentialImportPhase(C))return!0;if(this.isContextual(130)){let I=this.lookaheadCharCode();return C?I===123||I===42:I!==61}return!C&&this.isContextual(87)}applyImportPhase(C,I,j,Te){super.applyImportPhase(C,I,j,Te),I?C.exportKind=j==="type"?"type":"value":C.importKind=j==="type"||j==="typeof"?j:"value"}parseImport(C){if(this.match(134))return C.importKind="value",super.parseImport(C);let I;if(He(this.state.type)&&this.lookaheadCharCode()===61)return C.importKind="value",this.tsParseImportEqualsDeclaration(C);if(this.isContextual(130)){let j=this.parseMaybeImportPhase(C,!1);if(this.lookaheadCharCode()===61)return this.tsParseImportEqualsDeclaration(C,j);I=super.parseImportSpecifiersAndAfter(C,j)}else I=super.parseImport(C);return I.importKind==="type"&&I.specifiers.length>1&&I.specifiers[0].type==="ImportDefaultSpecifier"&&this.raise(Ia.TypeImportCannotSpecifyDefaultAndNamed,I),I}parseExport(C,I){if(this.match(83)){this.next();let j=C,Te=null;return this.isContextual(130)&&this.isPotentialImportPhase(!1)?Te=this.parseMaybeImportPhase(j,!1):j.importKind="value",this.tsParseImportEqualsDeclaration(j,Te,!0)}else if(this.eat(29)){let j=C;return j.expression=super.parseExpression(),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(j,"TSExportAssignment")}else if(this.eatContextual(93)){let j=C;return this.expectContextual(128),j.id=this.parseIdentifier(),this.semicolon(),this.finishNode(j,"TSNamespaceExportDeclaration")}else return super.parseExport(C,I)}isAbstractClass(){return this.isContextual(124)&&this.lookahead().type===80}parseExportDefaultExpression(){if(this.isAbstractClass()){let C=this.startNode();return this.next(),C.abstract=!0,this.parseClass(C,!0,!0)}if(this.match(129)){let C=this.tsParseInterfaceDeclaration(this.startNode());if(C)return C}return super.parseExportDefaultExpression()}parseVarStatement(C,I,j=!1){let{isAmbientContext:Te}=this.state,Be=super.parseVarStatement(C,I,j||Te);if(!Te)return Be;for(let{id:ct,init:zt}of Be.declarations)zt&&(I!=="const"||ct.typeAnnotation?this.raise(Ia.InitializerNotAllowedInAmbientContext,zt):T1(zt,this.hasPlugin("estree"))||this.raise(Ia.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference,zt));return Be}parseStatementContent(C,I){if(this.match(75)&&this.isLookaheadContextual("enum")){let j=this.startNode();return this.expect(75),this.tsParseEnumDeclaration(j,{const:!0})}if(this.isContextual(126))return this.tsParseEnumDeclaration(this.startNode());if(this.isContextual(129)){let j=this.tsParseInterfaceDeclaration(this.startNode());if(j)return j}return super.parseStatementContent(C,I)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}tsHasSomeModifiers(C,I){return I.some(j=>$p(j)?C.accessibility===j:!!C[j])}tsIsStartOfStaticBlocks(){return this.isContextual(106)&&this.lookaheadCharCode()===123}parseClassMember(C,I,j){let Te=["declare","private","public","protected","override","abstract","readonly","static"];this.tsParseModifiers({allowedModifiers:Te,disallowedModifiers:["in","out"],stopOnStartOfClassStaticBlock:!0,errorTemplate:Ia.InvalidModifierOnTypeParameterPositions},I);let Be=()=>{this.tsIsStartOfStaticBlocks()?(this.next(),this.next(),this.tsHasSomeModifiers(I,Te)&&this.raise(Ia.StaticBlockCannotHaveModifier,this.state.curPosition()),super.parseClassStaticBlock(C,I)):this.parseClassMemberWithIsStatic(C,I,j,!!I.static)};I.declare?this.tsInAmbientContext(Be):Be()}parseClassMemberWithIsStatic(C,I,j,Te){let Be=this.tsTryParseIndexSignature(I);if(Be){C.body.push(Be),I.abstract&&this.raise(Ia.IndexSignatureHasAbstract,I),I.accessibility&&this.raise(Ia.IndexSignatureHasAccessibility,I,{modifier:I.accessibility}),I.declare&&this.raise(Ia.IndexSignatureHasDeclare,I),I.override&&this.raise(Ia.IndexSignatureHasOverride,I);return}!this.state.inAbstractClass&&I.abstract&&this.raise(Ia.NonAbstractClassHasAbstractMethod,I),I.override&&(j.hadSuperClass||this.raise(Ia.OverrideNotInSubClass,I)),super.parseClassMemberWithIsStatic(C,I,j,Te)}parsePostMemberNameModifiers(C){this.eat(17)&&(C.optional=!0),C.readonly&&this.match(10)&&this.raise(Ia.ClassMethodHasReadonly,C),C.declare&&this.match(10)&&this.raise(Ia.ClassMethodHasDeclare,C)}parseExpressionStatement(C,I,j){return(I.type==="Identifier"?this.tsParseExpressionStatement(C,I,j):void 0)||super.parseExpressionStatement(C,I,j)}shouldParseExportDeclaration(){return this.tsIsDeclarationStart()?!0:super.shouldParseExportDeclaration()}parseConditional(C,I,j){if(!this.state.maybeInArrowParameters||!this.match(17))return super.parseConditional(C,I,j);let Te=this.tryParse(()=>super.parseConditional(C,I));return Te.node?(Te.error&&(this.state=Te.failState),Te.node):(Te.error&&super.setOptionalParametersError(j,Te.error),C)}parseParenItem(C,I){let j=super.parseParenItem(C,I);if(this.eat(17)&&(j.optional=!0,this.resetEndLocation(C)),this.match(14)){let Te=this.startNodeAt(I);return Te.expression=C,Te.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(Te,"TSTypeCastExpression")}return C}parseExportDeclaration(C){if(!this.state.isAmbientContext&&this.isContextual(125))return this.tsInAmbientContext(()=>this.parseExportDeclaration(C));let I=this.state.startLoc,j=this.eatContextual(125);if(j&&(this.isContextual(125)||!this.shouldParseExportDeclaration()))throw this.raise(Ia.ExpectedAmbientAfterExportDeclare,this.state.startLoc);let Te=He(this.state.type)&&this.tsTryParseExportDeclaration()||super.parseExportDeclaration(C);return Te?((Te.type==="TSInterfaceDeclaration"||Te.type==="TSTypeAliasDeclaration"||j)&&(C.exportKind="type"),j&&(this.resetStartLocation(Te,I),Te.declare=!0),Te):null}parseClassId(C,I,j,Te){if((!I||j)&&this.isContextual(113))return;super.parseClassId(C,I,j,C.declare?1024:8331);let Be=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);Be&&(C.typeParameters=Be)}parseClassPropertyAnnotation(C){C.optional||(this.eat(35)?C.definite=!0:this.eat(17)&&(C.optional=!0));let I=this.tsTryParseTypeAnnotation();I&&(C.typeAnnotation=I)}parseClassProperty(C){if(this.parseClassPropertyAnnotation(C),this.state.isAmbientContext&&!(C.readonly&&!C.typeAnnotation)&&this.match(29)&&this.raise(Ia.DeclareClassFieldHasInitializer,this.state.startLoc),C.abstract&&this.match(29)){let{key:I}=C;this.raise(Ia.AbstractPropertyHasInitializer,this.state.startLoc,{propertyName:I.type==="Identifier"&&!C.computed?I.name:`[${this.input.slice(this.offsetToSourcePos(I.start),this.offsetToSourcePos(I.end))}]`})}return super.parseClassProperty(C)}parseClassPrivateProperty(C){return C.abstract&&this.raise(Ia.PrivateElementHasAbstract,C),C.accessibility&&this.raise(Ia.PrivateElementHasAccessibility,C,{modifier:C.accessibility}),this.parseClassPropertyAnnotation(C),super.parseClassPrivateProperty(C)}parseClassAccessorProperty(C){return this.parseClassPropertyAnnotation(C),C.optional&&this.raise(Ia.AccessorCannotBeOptional,C),super.parseClassAccessorProperty(C)}pushClassMethod(C,I,j,Te,Be,ct){let zt=this.tsTryParseTypeParameters(this.tsParseConstModifier);zt&&Be&&this.raise(Ia.ConstructorHasTypeParameters,zt);let{declare:Rr=!1,kind:_r}=I;Rr&&(_r==="get"||_r==="set")&&this.raise(Ia.DeclareAccessor,I,{kind:_r}),zt&&(I.typeParameters=zt),super.pushClassMethod(C,I,j,Te,Be,ct)}pushClassPrivateMethod(C,I,j,Te){let Be=this.tsTryParseTypeParameters(this.tsParseConstModifier);Be&&(I.typeParameters=Be),super.pushClassPrivateMethod(C,I,j,Te)}declareClassPrivateMethodInScope(C,I){C.type!=="TSDeclareMethod"&&(C.type==="MethodDefinition"&&!hasOwnProperty.call(C.value,"body")||super.declareClassPrivateMethodInScope(C,I))}parseClassSuper(C){super.parseClassSuper(C),C.superClass&&(this.match(47)||this.match(51))&&(C.superTypeParameters=this.tsParseTypeArgumentsInExpression()),this.eatContextual(113)&&(C.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(C,I,j,Te,Be,ct,zt){let Rr=this.tsTryParseTypeParameters(this.tsParseConstModifier);return Rr&&(C.typeParameters=Rr),super.parseObjPropValue(C,I,j,Te,Be,ct,zt)}parseFunctionParams(C,I){let j=this.tsTryParseTypeParameters(this.tsParseConstModifier);j&&(C.typeParameters=j),super.parseFunctionParams(C,I)}parseVarId(C,I){super.parseVarId(C,I),C.id.type==="Identifier"&&!this.hasPrecedingLineBreak()&&this.eat(35)&&(C.definite=!0);let j=this.tsTryParseTypeAnnotation();j&&(C.id.typeAnnotation=j,this.resetEndLocation(C.id))}parseAsyncArrowFromCallExpression(C,I){return this.match(14)&&(C.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(C,I)}parseMaybeAssign(C,I){var j,Te,Be,ct,zt;let Rr,_r,ei;if(this.hasPlugin("jsx")&&(this.match(143)||this.match(47))){if(Rr=this.state.clone(),_r=this.tryParse(()=>super.parseMaybeAssign(C,I),Rr),!_r.error)return _r.node;let{context:$a}=this.state,ho=$a[$a.length-1];(ho===H.j_oTag||ho===H.j_expr)&&$a.pop()}if(!((j=_r)!=null&&j.error)&&!this.match(47))return super.parseMaybeAssign(C,I);(!Rr||Rr===this.state)&&(Rr=this.state.clone());let Si,Ji=this.tryParse($a=>{var ho,Go;Si=this.tsParseTypeParameters(this.tsParseConstModifier);let no=super.parseMaybeAssign(C,I);return(no.type!=="ArrowFunctionExpression"||(ho=no.extra)!=null&&ho.parenthesized)&&$a(),((Go=Si)==null?void 0:Go.params.length)!==0&&this.resetStartLocationFromNode(no,Si),no.typeParameters=Si,no},Rr);if(!Ji.error&&!Ji.aborted)return Si&&this.reportReservedArrowTypeParam(Si),Ji.node;if(!_r&&(Xm(!this.hasPlugin("jsx")),ei=this.tryParse(()=>super.parseMaybeAssign(C,I),Rr),!ei.error))return ei.node;if((Te=_r)!=null&&Te.node)return this.state=_r.failState,_r.node;if(Ji.node)return this.state=Ji.failState,Si&&this.reportReservedArrowTypeParam(Si),Ji.node;if((Be=ei)!=null&&Be.node)return this.state=ei.failState,ei.node;throw((ct=_r)==null?void 0:ct.error)||Ji.error||((zt=ei)==null?void 0:zt.error)}reportReservedArrowTypeParam(C){var I;C.params.length===1&&!C.params[0].constraint&&!((I=C.extra)!=null&&I.trailingComma)&&this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(Ia.ReservedArrowTypeParam,C)}parseMaybeUnary(C,I){return!this.hasPlugin("jsx")&&this.match(47)?this.tsParseTypeAssertion():super.parseMaybeUnary(C,I)}parseArrow(C){if(this.match(14)){let I=this.tryParse(j=>{let Te=this.tsParseTypeOrTypePredicateAnnotation(14);return(this.canInsertSemicolon()||!this.match(19))&&j(),Te});if(I.aborted)return;I.thrown||(I.error&&(this.state=I.failState),C.returnType=I.node)}return super.parseArrow(C)}parseFunctionParamType(C){this.eat(17)&&(C.optional=!0);let I=this.tsTryParseTypeAnnotation();return I&&(C.typeAnnotation=I),this.resetEndLocation(C),C}isAssignable(C,I){switch(C.type){case"TSTypeCastExpression":return this.isAssignable(C.expression,I);case"TSParameterProperty":return!0;default:return super.isAssignable(C,I)}}toAssignable(C,I=!1){switch(C.type){case"ParenthesizedExpression":this.toAssignableParenthesizedExpression(C,I);break;case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":I?this.expressionScope.recordArrowParameterBindingError(Ia.UnexpectedTypeCastInParameter,C):this.raise(Ia.UnexpectedTypeCastInParameter,C),this.toAssignable(C.expression,I);break;case"AssignmentExpression":!I&&C.left.type==="TSTypeCastExpression"&&(C.left=this.typeCastToParameter(C.left));default:super.toAssignable(C,I)}}toAssignableParenthesizedExpression(C,I){switch(C.expression.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":this.toAssignable(C.expression,I);break;default:super.toAssignable(C,I)}}checkToRestConversion(C,I){switch(C.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":this.checkToRestConversion(C.expression,!1);break;default:super.checkToRestConversion(C,I)}}isValidLVal(C,I,j){switch(C){case"TSTypeCastExpression":return!0;case"TSParameterProperty":return"parameter";case"TSNonNullExpression":case"TSInstantiationExpression":return"expression";case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":return(j!==64||!I)&&["expression",!0];default:return super.isValidLVal(C,I,j)}}parseBindingAtom(){return this.state.type===78?this.parseIdentifier(!0):super.parseBindingAtom()}parseMaybeDecoratorArguments(C){if(this.match(47)||this.match(51)){let I=this.tsParseTypeArgumentsInExpression();if(this.match(10)){let j=super.parseMaybeDecoratorArguments(C);return j.typeParameters=I,j}this.unexpected(null,10)}return super.parseMaybeDecoratorArguments(C)}checkCommaAfterRest(C){return this.state.isAmbientContext&&this.match(12)&&this.lookaheadCharCode()===C?(this.next(),!1):super.checkCommaAfterRest(C)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(35)||this.match(14)||super.isClassProperty()}parseMaybeDefault(C,I){let j=super.parseMaybeDefault(C,I);return j.type==="AssignmentPattern"&&j.typeAnnotation&&j.right.startthis.isAssignable(I,!0)):super.shouldParseArrow(C)}shouldParseAsyncArrow(){return this.match(14)||super.shouldParseAsyncArrow()}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(C){if(this.match(47)||this.match(51)){let I=this.tsTryParseAndCatch(()=>this.tsParseTypeArgumentsInExpression());I&&(C.typeParameters=I)}return super.jsxParseOpeningElementAfterName(C)}getGetterSetterExpectedParamCount(C){let I=super.getGetterSetterExpectedParamCount(C),j=this.getObjectOrClassMethodParams(C)[0];return j&&this.isThisParam(j)?I+1:I}parseCatchClauseParam(){let C=super.parseCatchClauseParam(),I=this.tsTryParseTypeAnnotation();return I&&(C.typeAnnotation=I,this.resetEndLocation(C)),C}tsInAmbientContext(C){let{isAmbientContext:I,strict:j}=this.state;this.state.isAmbientContext=!0,this.state.strict=!1;try{return C()}finally{this.state.isAmbientContext=I,this.state.strict=j}}parseClass(C,I,j){let Te=this.state.inAbstractClass;this.state.inAbstractClass=!!C.abstract;try{return super.parseClass(C,I,j)}finally{this.state.inAbstractClass=Te}}tsParseAbstractDeclaration(C,I){if(this.match(80))return C.abstract=!0,this.maybeTakeDecorators(I,this.parseClass(C,!0,!1));if(this.isContextual(129)){if(!this.hasFollowingLineBreak())return C.abstract=!0,this.raise(Ia.NonClassMethodPropertyHasAbstractModifer,C),this.tsParseInterfaceDeclaration(C)}else this.unexpected(null,80)}parseMethod(C,I,j,Te,Be,ct,zt){let Rr=super.parseMethod(C,I,j,Te,Be,ct,zt);if(Rr.abstract&&(this.hasPlugin("estree")?Rr.value.body:Rr.body)){let{key:_r}=Rr;this.raise(Ia.AbstractMethodHasImplementation,Rr,{methodName:_r.type==="Identifier"&&!Rr.computed?_r.name:`[${this.input.slice(this.offsetToSourcePos(_r.start),this.offsetToSourcePos(_r.end))}]`})}return Rr}tsParseTypeParameterName(){return this.parseIdentifier().name}shouldParseAsAmbientContext(){return!!this.getPluginOption("typescript","dts")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}parseExportSpecifier(C,I,j,Te){return!I&&Te?(this.parseTypeOnlyImportExportSpecifier(C,!1,j),this.finishNode(C,"ExportSpecifier")):(C.exportKind="value",super.parseExportSpecifier(C,I,j,Te))}parseImportSpecifier(C,I,j,Te,Be){return!I&&Te?(this.parseTypeOnlyImportExportSpecifier(C,!0,j),this.finishNode(C,"ImportSpecifier")):(C.importKind="value",super.parseImportSpecifier(C,I,j,Te,j?4098:4096))}parseTypeOnlyImportExportSpecifier(C,I,j){let Te=I?"imported":"local",Be=I?"local":"exported",ct=C[Te],zt,Rr=!1,_r=!0,ei=ct.loc.start;if(this.isContextual(93)){let Ji=this.parseIdentifier();if(this.isContextual(93)){let $a=this.parseIdentifier();zr(this.state.type)?(Rr=!0,ct=Ji,zt=I?this.parseIdentifier():this.parseModuleExportName(),_r=!1):(zt=$a,_r=!1)}else zr(this.state.type)?(_r=!1,zt=I?this.parseIdentifier():this.parseModuleExportName()):(Rr=!0,ct=Ji)}else zr(this.state.type)&&(Rr=!0,I?(ct=this.parseIdentifier(!0),this.isContextual(93)||this.checkReservedWord(ct.name,ct.loc.start,!0,!0)):ct=this.parseModuleExportName());Rr&&j&&this.raise(I?Ia.TypeModifierIsUsedInTypeImports:Ia.TypeModifierIsUsedInTypeExports,ei),C[Te]=ct,C[Be]=zt;let Si=I?"importKind":"exportKind";C[Si]=Rr?"type":"value",_r&&this.eatContextual(93)&&(C[Be]=I?this.parseIdentifier():this.parseModuleExportName()),C[Be]||(C[Be]=f0(C[Te])),I&&this.checkIdentifier(C[Be],Rr?4098:4096)}};function z1(Q){if(Q.type!=="MemberExpression")return!1;let{computed:C,property:I}=Q;return C&&I.type!=="StringLiteral"&&(I.type!=="TemplateLiteral"||I.expressions.length>0)?!1:Bc(Q.object)}function T1(Q,C){var I;let{type:j}=Q;if((I=Q.extra)!=null&&I.parenthesized)return!1;if(C){if(j==="Literal"){let{value:Te}=Q;if(typeof Te=="string"||typeof Te=="boolean")return!0}}else if(j==="StringLiteral"||j==="BooleanLiteral")return!0;return!!(Zm(Q,C)||NT(Q,C)||j==="TemplateLiteral"&&Q.expressions.length===0||z1(Q))}function Zm(Q,C){return C?Q.type==="Literal"&&(typeof Q.value=="number"||"bigint"in Q):Q.type==="NumericLiteral"||Q.type==="BigIntLiteral"}function NT(Q,C){if(Q.type==="UnaryExpression"){let{operator:I,argument:j}=Q;if(I==="-"&&Zm(j,C))return!0}return!1}function Bc(Q){return Q.type==="Identifier"?!0:Q.type!=="MemberExpression"||Q.computed?!1:Bc(Q.object)}var H1=D`placeholders`({ClassNameIsRequired:"A class name is required.",UnexpectedSpace:"Unexpected space in placeholder."}),Qp=Q=>class extends Q{parsePlaceholder(C){if(this.match(133)){let I=this.startNode();return this.next(),this.assertNoSpace(),I.name=super.parseIdentifier(!0),this.assertNoSpace(),this.expect(133),this.finishPlaceholder(I,C)}}finishPlaceholder(C,I){let j=C;return(!j.expectedNode||!j.type)&&(j=this.finishNode(j,"Placeholder")),j.expectedNode=I,j}getTokenFromCode(C){C===37&&this.input.charCodeAt(this.state.pos+1)===37?this.finishOp(133,2):super.getTokenFromCode(C)}parseExprAtom(C){return this.parsePlaceholder("Expression")||super.parseExprAtom(C)}parseIdentifier(C){return this.parsePlaceholder("Identifier")||super.parseIdentifier(C)}checkReservedWord(C,I,j,Te){C!==void 0&&super.checkReservedWord(C,I,j,Te)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom()}isValidLVal(C,I,j){return C==="Placeholder"||super.isValidLVal(C,I,j)}toAssignable(C,I){C&&C.type==="Placeholder"&&C.expectedNode==="Expression"?C.expectedNode="Pattern":super.toAssignable(C,I)}chStartsBindingIdentifier(C,I){return!!(super.chStartsBindingIdentifier(C,I)||this.lookahead().type===133)}verifyBreakContinue(C,I){C.label&&C.label.type==="Placeholder"||super.verifyBreakContinue(C,I)}parseExpressionStatement(C,I){var j;if(I.type!=="Placeholder"||(j=I.extra)!=null&&j.parenthesized)return super.parseExpressionStatement(C,I);if(this.match(14)){let Be=C;return Be.label=this.finishPlaceholder(I,"Identifier"),this.next(),Be.body=super.parseStatementOrSloppyAnnexBFunctionDeclaration(),this.finishNode(Be,"LabeledStatement")}this.semicolon();let Te=C;return Te.name=I.name,this.finishPlaceholder(Te,"Statement")}parseBlock(C,I,j){return this.parsePlaceholder("BlockStatement")||super.parseBlock(C,I,j)}parseFunctionId(C){return this.parsePlaceholder("Identifier")||super.parseFunctionId(C)}parseClass(C,I,j){let Te=I?"ClassDeclaration":"ClassExpression";this.next();let Be=this.state.strict,ct=this.parsePlaceholder("Identifier");if(ct)if(this.match(81)||this.match(133)||this.match(5))C.id=ct;else{if(j||!I)return C.id=null,C.body=this.finishPlaceholder(ct,"ClassBody"),this.finishNode(C,Te);throw this.raise(H1.ClassNameIsRequired,this.state.startLoc)}else this.parseClassId(C,I,j);return super.parseClassSuper(C),C.body=this.parsePlaceholder("ClassBody")||super.parseClassBody(!!C.superClass,Be),this.finishNode(C,Te)}parseExport(C,I){let j=this.parsePlaceholder("Identifier");if(!j)return super.parseExport(C,I);let Te=C;if(!this.isContextual(98)&&!this.match(12))return Te.specifiers=[],Te.source=null,Te.declaration=this.finishPlaceholder(j,"Declaration"),this.finishNode(Te,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");let Be=this.startNode();return Be.exported=j,Te.specifiers=[this.finishNode(Be,"ExportDefaultSpecifier")],super.parseExport(Te,I)}isExportDefaultSpecifier(){if(this.match(65)){let C=this.nextTokenStart();if(this.isUnparsedContextual(C,"from")&&this.input.startsWith(Fn(133),this.nextTokenStartSince(C+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(C,I){var j;return(j=C.specifiers)!=null&&j.length?!0:super.maybeParseExportDefaultSpecifier(C,I)}checkExport(C){let{specifiers:I}=C;I!=null&&I.length&&(C.specifiers=I.filter(j=>j.exported.type==="Placeholder")),super.checkExport(C),C.specifiers=I}parseImport(C){let I=this.parsePlaceholder("Identifier");if(!I)return super.parseImport(C);if(C.specifiers=[],!this.isContextual(98)&&!this.match(12))return C.source=this.finishPlaceholder(I,"StringLiteral"),this.semicolon(),this.finishNode(C,"ImportDeclaration");let j=this.startNodeAtNode(I);return j.local=I,C.specifiers.push(this.finishNode(j,"ImportDefaultSpecifier")),this.eat(12)&&(this.maybeParseStarImportSpecifier(C)||this.parseNamedImportSpecifiers(C)),this.expectContextual(98),C.source=this.parseImportSource(),this.semicolon(),this.finishNode(C,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource()}assertNoSpace(){this.state.start>this.offsetToSourcePos(this.state.lastTokEndLoc.index)&&this.raise(H1.UnexpectedSpace,this.state.lastTokEndLoc)}},U7=Q=>class extends Q{parseV8Intrinsic(){if(this.match(54)){let C=this.state.startLoc,I=this.startNode();if(this.next(),He(this.state.type)){let j=this.parseIdentifierName(),Te=this.createIdentifier(I,j);if(Te.type="V8IntrinsicIdentifier",this.match(10))return Te}this.unexpected(C)}}parseExprAtom(C){return this.parseV8Intrinsic()||super.parseExprAtom(C)}},Vd=["minimal","fsharp","hack","smart"],bx=["^^","@@","^","%","#"];function nc(Q){if(Q.has("decorators")){if(Q.has("decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");let I=Q.get("decorators").decoratorsBeforeExport;if(I!=null&&typeof I!="boolean")throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");let j=Q.get("decorators").allowCallParenthesized;if(j!=null&&typeof j!="boolean")throw new Error("'allowCallParenthesized' must be a boolean.")}if(Q.has("flow")&&Q.has("typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(Q.has("placeholders")&&Q.has("v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(Q.has("pipelineOperator")){var C;let I=Q.get("pipelineOperator").proposal;if(!Vd.includes(I)){let Te=Vd.map(Be=>`"${Be}"`).join(", ");throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${Te}.`)}let j=((C=Q.get("recordAndTuple"))==null?void 0:C.syntaxType)==="hash";if(I==="hack"){if(Q.has("placeholders"))throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");if(Q.has("v8intrinsic"))throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");let Te=Q.get("pipelineOperator").topicToken;if(!bx.includes(Te)){let Be=bx.map(ct=>`"${ct}"`).join(", ");throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${Be}.`)}if(Te==="#"&&j)throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "hack", topicToken: "#" }]\` and \`${JSON.stringify(["recordAndTuple",Q.get("recordAndTuple")])}\`.`)}else if(I==="smart"&&j)throw new Error(`Plugin conflict between \`["pipelineOperator", { proposal: "smart" }]\` and \`${JSON.stringify(["recordAndTuple",Q.get("recordAndTuple")])}\`.`)}if(Q.has("moduleAttributes")){if(Q.has("deprecatedImportAssert")||Q.has("importAssertions"))throw new Error("Cannot combine importAssertions, deprecatedImportAssert and moduleAttributes plugins.");if(Q.get("moduleAttributes").version!=="may-2020")throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.")}if(Q.has("importAssertions")&&Q.has("deprecatedImportAssert"))throw new Error("Cannot combine importAssertions and deprecatedImportAssert plugins.");if(!Q.has("deprecatedImportAssert")&&Q.has("importAttributes")&&Q.get("importAttributes").deprecatedAssertSyntax&&Q.set("deprecatedImportAssert",{}),Q.has("recordAndTuple")){let I=Q.get("recordAndTuple").syntaxType;if(I!=null){let j=["hash","bar"];if(!j.includes(I))throw new Error("The 'syntaxType' option of the 'recordAndTuple' plugin must be one of: "+j.map(Te=>`'${Te}'`).join(", "))}}if(Q.has("asyncDoExpressions")&&!Q.has("doExpressions")){let I=new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");throw I.missingPlugins="doExpressions",I}if(Q.has("optionalChainingAssign")&&Q.get("optionalChainingAssign").version!=="2023-07")throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is '2023-07'.")}var Ex={estree:w,jsx:M7,flow:Ul,typescript:cT,v8intrinsic:U7,placeholders:Qp},$2=Object.keys(Ex);function ek(){return{sourceType:"script",sourceFilename:void 0,startIndex:0,startColumn:0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowNewTargetOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createImportExpressions:!1,createParenthesizedExpressions:!1,errorRecovery:!1,attachComment:!0,annexB:!0}}function Np(Q){let C=ek();if(Q==null)return C;if(Q.annexB!=null&&Q.annexB!==!1)throw new Error("The `annexB` option can only be set to `false`.");for(let I of Object.keys(C))Q[I]!=null&&(C[I]=Q[I]);if(C.startLine===1)Q.startIndex==null&&C.startColumn>0?C.startIndex=C.startColumn:Q.startColumn==null&&C.startIndex>0&&(C.startColumn=C.startIndex);else if((Q.startColumn==null||Q.startIndex==null)&&Q.startIndex!=null)throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`.");return C}var ql=class extends W7{checkProto(Q,C,I,j){if(Q.type==="SpreadElement"||this.isObjectMethod(Q)||Q.computed||Q.shorthand)return;let Te=Q.key;if((Te.type==="Identifier"?Te.name:Te.value)==="__proto__"){if(C){this.raise(S.RecordNoProto,Te);return}I.used&&(j?j.doubleProtoLoc===null&&(j.doubleProtoLoc=Te.loc.start):this.raise(S.DuplicateProto,Te)),I.used=!0}}shouldExitDescending(Q,C){return Q.type==="ArrowFunctionExpression"&&this.offsetToSourcePos(Q.start)===C}getExpression(){this.enterInitialScopes(),this.nextToken();let Q=this.parseExpression();return this.match(140)||this.unexpected(),this.finalizeRemainingComments(),Q.comments=this.comments,Q.errors=this.state.errors,this.options.tokens&&(Q.tokens=this.tokens),Q}parseExpression(Q,C){return Q?this.disallowInAnd(()=>this.parseExpressionBase(C)):this.allowInAnd(()=>this.parseExpressionBase(C))}parseExpressionBase(Q){let C=this.state.startLoc,I=this.parseMaybeAssign(Q);if(this.match(12)){let j=this.startNodeAt(C);for(j.expressions=[I];this.eat(12);)j.expressions.push(this.parseMaybeAssign(Q));return this.toReferencedList(j.expressions),this.finishNode(j,"SequenceExpression")}return I}parseMaybeAssignDisallowIn(Q,C){return this.disallowInAnd(()=>this.parseMaybeAssign(Q,C))}parseMaybeAssignAllowIn(Q,C){return this.allowInAnd(()=>this.parseMaybeAssign(Q,C))}setOptionalParametersError(Q,C){var I;Q.optionalParametersLoc=(I=C?.loc)!=null?I:this.state.startLoc}parseMaybeAssign(Q,C){let I=this.state.startLoc;if(this.isContextual(108)&&this.prodParam.hasYield){let ct=this.parseYield();return C&&(ct=C.call(this,ct,I)),ct}let j;Q?j=!1:(Q=new uu,j=!0);let{type:Te}=this.state;(Te===10||He(Te))&&(this.state.potentialArrowAt=this.state.start);let Be=this.parseMaybeConditional(Q);if(C&&(Be=C.call(this,Be,I)),Zr(this.state.type)){let ct=this.startNodeAt(I),zt=this.state.value;if(ct.operator=zt,this.match(29)){this.toAssignable(Be,!0),ct.left=Be;let Rr=I.index;Q.doubleProtoLoc!=null&&Q.doubleProtoLoc.index>=Rr&&(Q.doubleProtoLoc=null),Q.shorthandAssignLoc!=null&&Q.shorthandAssignLoc.index>=Rr&&(Q.shorthandAssignLoc=null),Q.privateKeyLoc!=null&&Q.privateKeyLoc.index>=Rr&&(this.checkDestructuringPrivate(Q),Q.privateKeyLoc=null)}else ct.left=Be;return this.next(),ct.right=this.parseMaybeAssign(),this.checkLVal(Be,this.finishNode(ct,"AssignmentExpression")),ct}else j&&this.checkExpressionErrors(Q,!0);return Be}parseMaybeConditional(Q){let C=this.state.startLoc,I=this.state.potentialArrowAt,j=this.parseExprOps(Q);return this.shouldExitDescending(j,I)?j:this.parseConditional(j,C,Q)}parseConditional(Q,C,I){if(this.eat(17)){let j=this.startNodeAt(C);return j.test=Q,j.consequent=this.parseMaybeAssignAllowIn(),this.expect(14),j.alternate=this.parseMaybeAssign(),this.finishNode(j,"ConditionalExpression")}return Q}parseMaybeUnaryOrPrivate(Q){return this.match(139)?this.parsePrivateName():this.parseMaybeUnary(Q)}parseExprOps(Q){let C=this.state.startLoc,I=this.state.potentialArrowAt,j=this.parseMaybeUnaryOrPrivate(Q);return this.shouldExitDescending(j,I)?j:this.parseExprOp(j,C,-1)}parseExprOp(Q,C,I){if(this.isPrivateName(Q)){let Te=this.getPrivateNameSV(Q);(I>=Hi(58)||!this.prodParam.hasIn||!this.match(58))&&this.raise(S.PrivateInExpectedIn,Q,{identifierName:Te}),this.classScope.usePrivateName(Te,Q.loc.start)}let j=this.state.type;if(Sn(j)&&(this.prodParam.hasIn||!this.match(58))){let Te=Hi(j);if(Te>I){if(j===39){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return Q;this.checkPipelineAtInfixOperator(Q,C)}let Be=this.startNodeAt(C);Be.left=Q,Be.operator=this.state.value;let ct=j===41||j===42,zt=j===40;if(zt&&(Te=Hi(42)),this.next(),j===39&&this.hasPlugin(["pipelineOperator",{proposal:"minimal"}])&&this.state.type===96&&this.prodParam.hasAwait)throw this.raise(S.UnexpectedAwaitAfterPipelineBody,this.state.startLoc);Be.right=this.parseExprOpRightExpr(j,Te);let Rr=this.finishNode(Be,ct||zt?"LogicalExpression":"BinaryExpression"),_r=this.state.type;if(zt&&(_r===41||_r===42)||ct&&_r===40)throw this.raise(S.MixingCoalesceWithLogical,this.state.startLoc);return this.parseExprOp(Rr,C,I)}}return Q}parseExprOpRightExpr(Q,C){let I=this.state.startLoc;switch(Q){case 39:switch(this.getPluginOption("pipelineOperator","proposal")){case"hack":return this.withTopicBindingContext(()=>this.parseHackPipeBody());case"smart":return this.withTopicBindingContext(()=>{if(this.prodParam.hasYield&&this.isContextual(108))throw this.raise(S.PipeBodyIsTighter,this.state.startLoc);return this.parseSmartPipelineBodyInStyle(this.parseExprOpBaseRightExpr(Q,C),I)});case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(C))}default:return this.parseExprOpBaseRightExpr(Q,C)}}parseExprOpBaseRightExpr(Q,C){let I=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),I,Ma(Q)?C-1:C)}parseHackPipeBody(){var Q;let{startLoc:C}=this.state,I=this.parseMaybeAssign();return f.has(I.type)&&!((Q=I.extra)!=null&&Q.parenthesized)&&this.raise(S.PipeUnparenthesizedBody,C,{type:I.type}),this.topicReferenceWasUsedInCurrentContext()||this.raise(S.PipeTopicUnused,C),I}checkExponentialAfterUnary(Q){this.match(57)&&this.raise(S.UnexpectedTokenUnaryExponentiation,Q.argument)}parseMaybeUnary(Q,C){let I=this.state.startLoc,j=this.isContextual(96);if(j&&this.recordAwaitIfAllowed()){this.next();let zt=this.parseAwait(I);return C||this.checkExponentialAfterUnary(zt),zt}let Te=this.match(34),Be=this.startNode();if(cs(this.state.type)){Be.operator=this.state.value,Be.prefix=!0,this.match(72)&&this.expectPlugin("throwExpressions");let zt=this.match(89);if(this.next(),Be.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(Q,!0),this.state.strict&&zt){let Rr=Be.argument;Rr.type==="Identifier"?this.raise(S.StrictDelete,Be):this.hasPropertyAsPrivateName(Rr)&&this.raise(S.DeletePrivateField,Be)}if(!Te)return C||this.checkExponentialAfterUnary(Be),this.finishNode(Be,"UnaryExpression")}let ct=this.parseUpdate(Be,Te,Q);if(j){let{type:zt}=this.state;if((this.hasPlugin("v8intrinsic")?ri(zt):ri(zt)&&!this.match(54))&&!this.isAmbiguousAwait())return this.raiseOverwrite(S.AwaitNotInAsyncContext,I),this.parseAwait(I)}return ct}parseUpdate(Q,C,I){if(C){let Be=Q;return this.checkLVal(Be.argument,this.finishNode(Be,"UpdateExpression")),Q}let j=this.state.startLoc,Te=this.parseExprSubscripts(I);if(this.checkExpressionErrors(I,!1))return Te;for(;$i(this.state.type)&&!this.canInsertSemicolon();){let Be=this.startNodeAt(j);Be.operator=this.state.value,Be.prefix=!1,Be.argument=Te,this.next(),this.checkLVal(Te,Te=this.finishNode(Be,"UpdateExpression"))}return Te}parseExprSubscripts(Q){let C=this.state.startLoc,I=this.state.potentialArrowAt,j=this.parseExprAtom(Q);return this.shouldExitDescending(j,I)?j:this.parseSubscripts(j,C)}parseSubscripts(Q,C,I){let j={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(Q),stop:!1};do Q=this.parseSubscript(Q,C,I,j),j.maybeAsyncArrow=!1;while(!j.stop);return Q}parseSubscript(Q,C,I,j){let{type:Te}=this.state;if(!I&&Te===15)return this.parseBind(Q,C,I,j);if(mt(Te))return this.parseTaggedTemplateExpression(Q,C,j);let Be=!1;if(Te===18){if(I&&(this.raise(S.OptionalChainingNoNew,this.state.startLoc),this.lookaheadCharCode()===40))return j.stop=!0,Q;j.optionalChainMember=Be=!0,this.next()}if(!I&&this.match(10))return this.parseCoverCallAndAsyncArrowHead(Q,C,j,Be);{let ct=this.eat(0);return ct||Be||this.eat(16)?this.parseMember(Q,C,j,ct,Be):(j.stop=!0,Q)}}parseMember(Q,C,I,j,Te){let Be=this.startNodeAt(C);return Be.object=Q,Be.computed=j,j?(Be.property=this.parseExpression(),this.expect(3)):this.match(139)?(Q.type==="Super"&&this.raise(S.SuperPrivateField,C),this.classScope.usePrivateName(this.state.value,this.state.startLoc),Be.property=this.parsePrivateName()):Be.property=this.parseIdentifier(!0),I.optionalChainMember?(Be.optional=Te,this.finishNode(Be,"OptionalMemberExpression")):this.finishNode(Be,"MemberExpression")}parseBind(Q,C,I,j){let Te=this.startNodeAt(C);return Te.object=Q,this.next(),Te.callee=this.parseNoCallExpr(),j.stop=!0,this.parseSubscripts(this.finishNode(Te,"BindExpression"),C,I)}parseCoverCallAndAsyncArrowHead(Q,C,I,j){let Te=this.state.maybeInArrowParameters,Be=null;this.state.maybeInArrowParameters=!0,this.next();let ct=this.startNodeAt(C);ct.callee=Q;let{maybeAsyncArrow:zt,optionalChainMember:Rr}=I;zt&&(this.expressionScope.enter(Qs()),Be=new uu),Rr&&(ct.optional=j),j?ct.arguments=this.parseCallExpressionArguments(11):ct.arguments=this.parseCallExpressionArguments(11,Q.type!=="Super",ct,Be);let _r=this.finishCallExpression(ct,Rr);return zt&&this.shouldParseAsyncArrow()&&!j?(I.stop=!0,this.checkDestructuringPrivate(Be),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),_r=this.parseAsyncArrowFromCallExpression(this.startNodeAt(C),_r)):(zt&&(this.checkExpressionErrors(Be,!0),this.expressionScope.exit()),this.toReferencedArguments(_r)),this.state.maybeInArrowParameters=Te,_r}toReferencedArguments(Q,C){this.toReferencedListDeep(Q.arguments,C)}parseTaggedTemplateExpression(Q,C,I){let j=this.startNodeAt(C);return j.tag=Q,j.quasi=this.parseTemplate(!0),I.optionalChainMember&&this.raise(S.OptionalChainingNoTemplate,C),this.finishNode(j,"TaggedTemplateExpression")}atPossibleAsyncArrow(Q){return Q.type==="Identifier"&&Q.name==="async"&&this.state.lastTokEndLoc.index===Q.end&&!this.canInsertSemicolon()&&Q.end-Q.start===5&&this.offsetToSourcePos(Q.start)===this.state.potentialArrowAt}finishCallExpression(Q,C){if(Q.callee.type==="Import")if(Q.arguments.length===0||Q.arguments.length>2)this.raise(S.ImportCallArity,Q);else for(let I of Q.arguments)I.type==="SpreadElement"&&this.raise(S.ImportCallSpreadArgument,I);return this.finishNode(Q,C?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(Q,C,I,j){let Te=[],Be=!0,ct=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(Q);){if(Be)Be=!1;else if(this.expect(12),this.match(Q)){I&&this.addTrailingCommaExtraToNode(I),this.next();break}Te.push(this.parseExprListItem(!1,j,C))}return this.state.inFSharpPipelineDirectBody=ct,Te}shouldParseAsyncArrow(){return this.match(19)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(Q,C){var I;return this.resetPreviousNodeTrailingComments(C),this.expect(19),this.parseArrowExpression(Q,C.arguments,!0,(I=C.extra)==null?void 0:I.trailingCommaLoc),C.innerComments&&_R(Q,C.innerComments),C.callee.trailingComments&&_R(Q,C.callee.trailingComments),Q}parseNoCallExpr(){let Q=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),Q,!0)}parseExprAtom(Q){let C,I=null,{type:j}=this.state;switch(j){case 79:return this.parseSuper();case 83:return C=this.startNode(),this.next(),this.match(16)?this.parseImportMetaProperty(C):this.match(10)?this.options.createImportExpressions?this.parseImportCall(C):this.finishNode(C,"Import"):(this.raise(S.UnsupportedImport,this.state.lastTokStartLoc),this.finishNode(C,"Import"));case 78:return C=this.startNode(),this.next(),this.finishNode(C,"ThisExpression");case 90:return this.parseDo(this.startNode(),!1);case 56:case 31:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case 135:return this.parseNumericLiteral(this.state.value);case 136:return this.parseBigIntLiteral(this.state.value);case 134:return this.parseStringLiteral(this.state.value);case 84:return this.parseNullLiteral();case 85:return this.parseBooleanLiteral(!0);case 86:return this.parseBooleanLiteral(!1);case 10:{let Te=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(Te)}case 2:case 1:return this.parseArrayLike(this.state.type===2?4:3,!1,!0);case 0:return this.parseArrayLike(3,!0,!1,Q);case 6:case 7:return this.parseObjectLike(this.state.type===6?9:8,!1,!0);case 5:return this.parseObjectLike(8,!1,!1,Q);case 68:return this.parseFunctionOrFunctionSent();case 26:I=this.parseDecorators();case 80:return this.parseClass(this.maybeTakeDecorators(I,this.startNode()),!1);case 77:return this.parseNewOrNewTarget();case 25:case 24:return this.parseTemplate(!1);case 15:{C=this.startNode(),this.next(),C.object=null;let Te=C.callee=this.parseNoCallExpr();if(Te.type==="MemberExpression")return this.finishNode(C,"BindExpression");throw this.raise(S.UnsupportedBind,Te)}case 139:return this.raise(S.PrivateInExpectedIn,this.state.startLoc,{identifierName:this.state.value}),this.parsePrivateName();case 33:return this.parseTopicReferenceThenEqualsSign(54,"%");case 32:return this.parseTopicReferenceThenEqualsSign(44,"^");case 37:case 38:return this.parseTopicReference("hack");case 44:case 54:case 27:{let Te=this.getPluginOption("pipelineOperator","proposal");if(Te)return this.parseTopicReference(Te);this.unexpected();break}case 47:{let Te=this.input.codePointAt(this.nextTokenStart());Mn(Te)||Te===62?this.expectOnePlugin(["jsx","flow","typescript"]):this.unexpected();break}default:if(j===137)return this.parseDecimalLiteral(this.state.value);if(He(j)){if(this.isContextual(127)&&this.lookaheadInLineCharCode()===123)return this.parseModuleExpression();let Te=this.state.potentialArrowAt===this.state.start,Be=this.state.containsEsc,ct=this.parseIdentifier();if(!Be&&ct.name==="async"&&!this.canInsertSemicolon()){let{type:zt}=this.state;if(zt===68)return this.resetPreviousNodeTrailingComments(ct),this.next(),this.parseAsyncFunctionExpression(this.startNodeAtNode(ct));if(He(zt))return this.lookaheadCharCode()===61?this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(ct)):ct;if(zt===90)return this.resetPreviousNodeTrailingComments(ct),this.parseDo(this.startNodeAtNode(ct),!0)}return Te&&this.match(19)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(ct),[ct],!1)):ct}else this.unexpected()}}parseTopicReferenceThenEqualsSign(Q,C){let I=this.getPluginOption("pipelineOperator","proposal");if(I)return this.state.type=Q,this.state.value=C,this.state.pos--,this.state.end--,this.state.endLoc=i(this.state.endLoc,-1),this.parseTopicReference(I);this.unexpected()}parseTopicReference(Q){let C=this.startNode(),I=this.state.startLoc,j=this.state.type;return this.next(),this.finishTopicReference(C,I,Q,j)}finishTopicReference(Q,C,I,j){if(this.testTopicReferenceConfiguration(I,C,j)){let Te=I==="smart"?"PipelinePrimaryTopicReference":"TopicReference";return this.topicReferenceIsAllowedInCurrentContext()||this.raise(I==="smart"?S.PrimaryTopicNotAllowed:S.PipeTopicUnbound,C),this.registerTopicReference(),this.finishNode(Q,Te)}else throw this.raise(S.PipeTopicUnconfiguredToken,C,{token:Fn(j)})}testTopicReferenceConfiguration(Q,C,I){switch(Q){case"hack":return this.hasPlugin(["pipelineOperator",{topicToken:Fn(I)}]);case"smart":return I===27;default:throw this.raise(S.PipeTopicRequiresHackPipes,C)}}parseAsyncArrowUnaryFunction(Q){this.prodParam.enter(Wl(!0,this.prodParam.hasYield));let C=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(S.LineTerminatorBeforeArrow,this.state.curPosition()),this.expect(19),this.parseArrowExpression(Q,C,!0)}parseDo(Q,C){this.expectPlugin("doExpressions"),C&&this.expectPlugin("asyncDoExpressions"),Q.async=C,this.next();let I=this.state.labels;return this.state.labels=[],C?(this.prodParam.enter(2),Q.body=this.parseBlock(),this.prodParam.exit()):Q.body=this.parseBlock(),this.state.labels=I,this.finishNode(Q,"DoExpression")}parseSuper(){let Q=this.startNode();return this.next(),this.match(10)&&!this.scope.allowDirectSuper&&!this.options.allowSuperOutsideMethod?this.raise(S.SuperNotAllowed,Q):!this.scope.allowSuper&&!this.options.allowSuperOutsideMethod&&this.raise(S.UnexpectedSuper,Q),!this.match(10)&&!this.match(0)&&!this.match(16)&&this.raise(S.UnsupportedSuper,Q),this.finishNode(Q,"Super")}parsePrivateName(){let Q=this.startNode(),C=this.startNodeAt(i(this.state.startLoc,1)),I=this.state.value;return this.next(),Q.id=this.createIdentifier(C,I),this.finishNode(Q,"PrivateName")}parseFunctionOrFunctionSent(){let Q=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(16)){let C=this.createIdentifier(this.startNodeAtNode(Q),"function");return this.next(),this.match(103)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected(),this.parseMetaProperty(Q,C,"sent")}return this.parseFunction(Q)}parseMetaProperty(Q,C,I){Q.meta=C;let j=this.state.containsEsc;return Q.property=this.parseIdentifier(!0),(Q.property.name!==I||j)&&this.raise(S.UnsupportedMetaProperty,Q.property,{target:C.name,onlyValidPropertyName:I}),this.finishNode(Q,"MetaProperty")}parseImportMetaProperty(Q){let C=this.createIdentifier(this.startNodeAtNode(Q),"import");if(this.next(),this.isContextual(101))this.inModule||this.raise(S.ImportMetaOutsideModule,C),this.sawUnambiguousESM=!0;else if(this.isContextual(105)||this.isContextual(97)){let I=this.isContextual(105);if(I||this.unexpected(),this.expectPlugin(I?"sourcePhaseImports":"deferredImportEvaluation"),!this.options.createImportExpressions)throw this.raise(S.DynamicImportPhaseRequiresImportExpressions,this.state.startLoc,{phase:this.state.value});return this.next(),Q.phase=I?"source":"defer",this.parseImportCall(Q)}return this.parseMetaProperty(Q,C,"meta")}parseLiteralAtNode(Q,C,I){return this.addExtra(I,"rawValue",Q),this.addExtra(I,"raw",this.input.slice(this.offsetToSourcePos(I.start),this.state.end)),I.value=Q,this.next(),this.finishNode(I,C)}parseLiteral(Q,C){let I=this.startNode();return this.parseLiteralAtNode(Q,C,I)}parseStringLiteral(Q){return this.parseLiteral(Q,"StringLiteral")}parseNumericLiteral(Q){return this.parseLiteral(Q,"NumericLiteral")}parseBigIntLiteral(Q){return this.parseLiteral(Q,"BigIntLiteral")}parseDecimalLiteral(Q){return this.parseLiteral(Q,"DecimalLiteral")}parseRegExpLiteral(Q){let C=this.startNode();return this.addExtra(C,"raw",this.input.slice(this.offsetToSourcePos(C.start),this.state.end)),C.pattern=Q.pattern,C.flags=Q.flags,this.next(),this.finishNode(C,"RegExpLiteral")}parseBooleanLiteral(Q){let C=this.startNode();return C.value=Q,this.next(),this.finishNode(C,"BooleanLiteral")}parseNullLiteral(){let Q=this.startNode();return this.next(),this.finishNode(Q,"NullLiteral")}parseParenAndDistinguishExpression(Q){let C=this.state.startLoc,I;this.next(),this.expressionScope.enter(hR());let j=this.state.maybeInArrowParameters,Te=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;let Be=this.state.startLoc,ct=[],zt=new uu,Rr=!0,_r,ei;for(;!this.match(11);){if(Rr)Rr=!1;else if(this.expect(12,zt.optionalParametersLoc===null?null:zt.optionalParametersLoc),this.match(11)){ei=this.state.startLoc;break}if(this.match(21)){let $a=this.state.startLoc;if(_r=this.state.startLoc,ct.push(this.parseParenItem(this.parseRestBinding(),$a)),!this.checkCommaAfterRest(41))break}else ct.push(this.parseMaybeAssignAllowIn(zt,this.parseParenItem))}let Si=this.state.lastTokEndLoc;this.expect(11),this.state.maybeInArrowParameters=j,this.state.inFSharpPipelineDirectBody=Te;let Ji=this.startNodeAt(C);return Q&&this.shouldParseArrow(ct)&&(Ji=this.parseArrow(Ji))?(this.checkDestructuringPrivate(zt),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(Ji,ct,!1),Ji):(this.expressionScope.exit(),ct.length||this.unexpected(this.state.lastTokStartLoc),ei&&this.unexpected(ei),_r&&this.unexpected(_r),this.checkExpressionErrors(zt,!0),this.toReferencedListDeep(ct,!0),ct.length>1?(I=this.startNodeAt(Be),I.expressions=ct,this.finishNode(I,"SequenceExpression"),this.resetEndLocation(I,Si)):I=ct[0],this.wrapParenthesis(C,I))}wrapParenthesis(Q,C){if(!this.options.createParenthesizedExpressions)return this.addExtra(C,"parenthesized",!0),this.addExtra(C,"parenStart",Q.index),this.takeSurroundingComments(C,Q.index,this.state.lastTokEndLoc.index),C;let I=this.startNodeAt(Q);return I.expression=C,this.finishNode(I,"ParenthesizedExpression")}shouldParseArrow(Q){return!this.canInsertSemicolon()}parseArrow(Q){if(this.eat(19))return Q}parseParenItem(Q,C){return Q}parseNewOrNewTarget(){let Q=this.startNode();if(this.next(),this.match(16)){let C=this.createIdentifier(this.startNodeAtNode(Q),"new");this.next();let I=this.parseMetaProperty(Q,C,"target");return!this.scope.inNonArrowFunction&&!this.scope.inClass&&!this.options.allowNewTargetOutsideFunction&&this.raise(S.UnexpectedNewTarget,I),I}return this.parseNew(Q)}parseNew(Q){if(this.parseNewCallee(Q),this.eat(10)){let C=this.parseExprList(11);this.toReferencedList(C),Q.arguments=C}else Q.arguments=[];return this.finishNode(Q,"NewExpression")}parseNewCallee(Q){let C=this.match(83),I=this.parseNoCallExpr();Q.callee=I,C&&(I.type==="Import"||I.type==="ImportExpression")&&this.raise(S.ImportCallNotNewExpression,I)}parseTemplateElement(Q){let{start:C,startLoc:I,end:j,value:Te}=this.state,Be=C+1,ct=this.startNodeAt(i(I,1));Te===null&&(Q||this.raise(S.InvalidEscapeSequenceTemplate,i(this.state.firstInvalidTemplateEscapePos,1)));let zt=this.match(24),Rr=zt?-1:-2,_r=j+Rr;ct.value={raw:this.input.slice(Be,_r).replace(/\r\n?/g,` +`),cooked:Te===null?null:Te.slice(1,Rr)},ct.tail=zt,this.next();let ei=this.finishNode(ct,"TemplateElement");return this.resetEndLocation(ei,i(this.state.lastTokEndLoc,Rr)),ei}parseTemplate(Q){let C=this.startNode(),I=this.parseTemplateElement(Q),j=[I],Te=[];for(;!I.tail;)Te.push(this.parseTemplateSubstitution()),this.readTemplateContinuation(),j.push(I=this.parseTemplateElement(Q));return C.expressions=Te,C.quasis=j,this.finishNode(C,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(Q,C,I,j){I&&this.expectPlugin("recordAndTuple");let Te=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let Be=Object.create(null),ct=!0,zt=this.startNode();for(zt.properties=[],this.next();!this.match(Q);){if(ct)ct=!1;else if(this.expect(12),this.match(Q)){this.addTrailingCommaExtraToNode(zt);break}let _r;C?_r=this.parseBindingProperty():(_r=this.parsePropertyDefinition(j),this.checkProto(_r,I,Be,j)),I&&!this.isObjectProperty(_r)&&_r.type!=="SpreadElement"&&this.raise(S.InvalidRecordProperty,_r),_r.shorthand&&this.addExtra(_r,"shorthand",!0),zt.properties.push(_r)}this.next(),this.state.inFSharpPipelineDirectBody=Te;let Rr="ObjectExpression";return C?Rr="ObjectPattern":I&&(Rr="RecordExpression"),this.finishNode(zt,Rr)}addTrailingCommaExtraToNode(Q){this.addExtra(Q,"trailingComma",this.state.lastTokStartLoc.index),this.addExtra(Q,"trailingCommaLoc",this.state.lastTokStartLoc,!1)}maybeAsyncOrAccessorProp(Q){return!Q.computed&&Q.key.type==="Identifier"&&(this.isLiteralPropertyName()||this.match(0)||this.match(55))}parsePropertyDefinition(Q){let C=[];if(this.match(26))for(this.hasPlugin("decorators")&&this.raise(S.UnsupportedPropertyDecorator,this.state.startLoc);this.match(26);)C.push(this.parseDecorator());let I=this.startNode(),j=!1,Te=!1,Be;if(this.match(21))return C.length&&this.unexpected(),this.parseSpread();C.length&&(I.decorators=C,C=[]),I.method=!1,Q&&(Be=this.state.startLoc);let ct=this.eat(55);this.parsePropertyNamePrefixOperator(I);let zt=this.state.containsEsc;if(this.parsePropertyName(I,Q),!ct&&!zt&&this.maybeAsyncOrAccessorProp(I)){let{key:Rr}=I,_r=Rr.name;_r==="async"&&!this.hasPrecedingLineBreak()&&(j=!0,this.resetPreviousNodeTrailingComments(Rr),ct=this.eat(55),this.parsePropertyName(I)),(_r==="get"||_r==="set")&&(Te=!0,this.resetPreviousNodeTrailingComments(Rr),I.kind=_r,this.match(55)&&(ct=!0,this.raise(S.AccessorIsGenerator,this.state.curPosition(),{kind:_r}),this.next()),this.parsePropertyName(I))}return this.parseObjPropValue(I,Be,ct,j,!1,Te,Q)}getGetterSetterExpectedParamCount(Q){return Q.kind==="get"?0:1}getObjectOrClassMethodParams(Q){return Q.params}checkGetterSetterParams(Q){var C;let I=this.getGetterSetterExpectedParamCount(Q),j=this.getObjectOrClassMethodParams(Q);j.length!==I&&this.raise(Q.kind==="get"?S.BadGetterArity:S.BadSetterArity,Q),Q.kind==="set"&&((C=j[j.length-1])==null?void 0:C.type)==="RestElement"&&this.raise(S.BadSetterRestParameter,Q)}parseObjectMethod(Q,C,I,j,Te){if(Te){let Be=this.parseMethod(Q,C,!1,!1,!1,"ObjectMethod");return this.checkGetterSetterParams(Be),Be}if(I||C||this.match(10))return j&&this.unexpected(),Q.kind="method",Q.method=!0,this.parseMethod(Q,C,I,!1,!1,"ObjectMethod")}parseObjectProperty(Q,C,I,j){if(Q.shorthand=!1,this.eat(14))return Q.value=I?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowIn(j),this.finishNode(Q,"ObjectProperty");if(!Q.computed&&Q.key.type==="Identifier"){if(this.checkReservedWord(Q.key.name,Q.key.loc.start,!0,!1),I)Q.value=this.parseMaybeDefault(C,f0(Q.key));else if(this.match(29)){let Te=this.state.startLoc;j!=null?j.shorthandAssignLoc===null&&(j.shorthandAssignLoc=Te):this.raise(S.InvalidCoverInitializedName,Te),Q.value=this.parseMaybeDefault(C,f0(Q.key))}else Q.value=f0(Q.key);return Q.shorthand=!0,this.finishNode(Q,"ObjectProperty")}}parseObjPropValue(Q,C,I,j,Te,Be,ct){let zt=this.parseObjectMethod(Q,I,j,Te,Be)||this.parseObjectProperty(Q,C,Te,ct);return zt||this.unexpected(),zt}parsePropertyName(Q,C){if(this.eat(0))Q.computed=!0,Q.key=this.parseMaybeAssignAllowIn(),this.expect(3);else{let{type:I,value:j}=this.state,Te;if(zr(I))Te=this.parseIdentifier(!0);else switch(I){case 135:Te=this.parseNumericLiteral(j);break;case 134:Te=this.parseStringLiteral(j);break;case 136:Te=this.parseBigIntLiteral(j);break;case 139:{let Be=this.state.startLoc;C!=null?C.privateKeyLoc===null&&(C.privateKeyLoc=Be):this.raise(S.UnexpectedPrivateField,Be),Te=this.parsePrivateName();break}default:if(I===137){Te=this.parseDecimalLiteral(j);break}this.unexpected()}Q.key=Te,I!==139&&(Q.computed=!1)}}initFunction(Q,C){Q.id=null,Q.generator=!1,Q.async=C}parseMethod(Q,C,I,j,Te,Be,ct=!1){this.initFunction(Q,I),Q.generator=C,this.scope.enter(18|(ct?64:0)|(Te?32:0)),this.prodParam.enter(Wl(I,Q.generator)),this.parseFunctionParams(Q,j);let zt=this.parseFunctionBodyAndFinish(Q,Be,!0);return this.prodParam.exit(),this.scope.exit(),zt}parseArrayLike(Q,C,I,j){I&&this.expectPlugin("recordAndTuple");let Te=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let Be=this.startNode();return this.next(),Be.elements=this.parseExprList(Q,!I,j,Be),this.state.inFSharpPipelineDirectBody=Te,this.finishNode(Be,I?"TupleExpression":"ArrayExpression")}parseArrowExpression(Q,C,I,j){this.scope.enter(6);let Te=Wl(I,!1);!this.match(5)&&this.prodParam.hasIn&&(Te|=8),this.prodParam.enter(Te),this.initFunction(Q,I);let Be=this.state.maybeInArrowParameters;return C&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(Q,C,j)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(Q,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=Be,this.finishNode(Q,"ArrowFunctionExpression")}setArrowFunctionParameters(Q,C,I){this.toAssignableList(C,I,!1),Q.params=C}parseFunctionBodyAndFinish(Q,C,I=!1){return this.parseFunctionBody(Q,!1,I),this.finishNode(Q,C)}parseFunctionBody(Q,C,I=!1){let j=C&&!this.match(5);if(this.expressionScope.enter(S0()),j)Q.body=this.parseMaybeAssign(),this.checkParams(Q,!1,C,!1);else{let Te=this.state.strict,Be=this.state.labels;this.state.labels=[],this.prodParam.enter(this.prodParam.currentFlags()|4),Q.body=this.parseBlock(!0,!1,ct=>{let zt=!this.isSimpleParamList(Q.params);ct&&zt&&this.raise(S.IllegalLanguageModeDirective,(Q.kind==="method"||Q.kind==="constructor")&&Q.key?Q.key.loc.end:Q);let Rr=!Te&&this.state.strict;this.checkParams(Q,!this.state.strict&&!C&&!I&&!zt,C,Rr),this.state.strict&&Q.id&&this.checkIdentifier(Q.id,65,Rr)}),this.prodParam.exit(),this.state.labels=Be}this.expressionScope.exit()}isSimpleParameter(Q){return Q.type==="Identifier"}isSimpleParamList(Q){for(let C=0,I=Q.length;C10||!Ta(Q))){if(I&&On(Q)){this.raise(S.UnexpectedKeyword,C,{keyword:Q});return}if((this.state.strict?j?nn:An:Mr)(Q,this.inModule)){this.raise(S.UnexpectedReservedWord,C,{reservedWord:Q});return}else if(Q==="yield"){if(this.prodParam.hasYield){this.raise(S.YieldBindingIdentifier,C);return}}else if(Q==="await"){if(this.prodParam.hasAwait){this.raise(S.AwaitBindingIdentifier,C);return}if(this.scope.inStaticBlock){this.raise(S.AwaitBindingIdentifierInStaticBlock,C);return}this.expressionScope.recordAsyncArrowParametersError(C)}else if(Q==="arguments"&&this.scope.inClassAndNotInNonArrowFunction){this.raise(S.ArgumentsInClass,C);return}}}recordAwaitIfAllowed(){let Q=this.prodParam.hasAwait||this.options.allowAwaitOutsideFunction&&!this.scope.inFunction;return Q&&!this.scope.inFunction&&(this.state.hasTopLevelAwait=!0),Q}parseAwait(Q){let C=this.startNodeAt(Q);return this.expressionScope.recordParameterInitializerError(S.AwaitExpressionFormalParameter,C),this.eat(55)&&this.raise(S.ObsoleteAwaitStar,C),!this.scope.inFunction&&!this.options.allowAwaitOutsideFunction&&(this.isAmbiguousAwait()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(C.argument=this.parseMaybeUnary(null,!0)),this.finishNode(C,"AwaitExpression")}isAmbiguousAwait(){if(this.hasPrecedingLineBreak())return!0;let{type:Q}=this.state;return Q===53||Q===10||Q===0||mt(Q)||Q===102&&!this.state.containsEsc||Q===138||Q===56||this.hasPlugin("v8intrinsic")&&Q===54}parseYield(){let Q=this.startNode();this.expressionScope.recordParameterInitializerError(S.YieldInParameter,Q),this.next();let C=!1,I=null;if(!this.hasPrecedingLineBreak())switch(C=this.eat(55),this.state.type){case 13:case 140:case 8:case 11:case 3:case 9:case 14:case 12:if(!C)break;default:I=this.parseMaybeAssign()}return Q.delegate=C,Q.argument=I,this.finishNode(Q,"YieldExpression")}parseImportCall(Q){if(this.next(),Q.source=this.parseMaybeAssignAllowIn(),Q.options=null,this.eat(12)&&!this.match(11)&&(Q.options=this.parseMaybeAssignAllowIn(),this.eat(12)&&!this.match(11))){do this.parseMaybeAssignAllowIn();while(this.eat(12)&&!this.match(11));this.raise(S.ImportCallArity,Q)}return this.expect(11),this.finishNode(Q,"ImportExpression")}checkPipelineAtInfixOperator(Q,C){this.hasPlugin(["pipelineOperator",{proposal:"smart"}])&&Q.type==="SequenceExpression"&&this.raise(S.PipelineHeadSequenceExpression,C)}parseSmartPipelineBodyInStyle(Q,C){if(this.isSimpleReference(Q)){let I=this.startNodeAt(C);return I.callee=Q,this.finishNode(I,"PipelineBareFunction")}else{let I=this.startNodeAt(C);return this.checkSmartPipeTopicBodyEarlyErrors(C),I.expression=Q,this.finishNode(I,"PipelineTopicExpression")}}isSimpleReference(Q){switch(Q.type){case"MemberExpression":return!Q.computed&&this.isSimpleReference(Q.object);case"Identifier":return!0;default:return!1}}checkSmartPipeTopicBodyEarlyErrors(Q){if(this.match(19))throw this.raise(S.PipelineBodyNoArrow,this.state.startLoc);this.topicReferenceWasUsedInCurrentContext()||this.raise(S.PipelineTopicUnused,Q)}withTopicBindingContext(Q){let C=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return Q()}finally{this.state.topicContext=C}}withSmartMixTopicForbiddingContext(Q){if(this.hasPlugin(["pipelineOperator",{proposal:"smart"}])){let C=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null};try{return Q()}finally{this.state.topicContext=C}}else return Q()}withSoloAwaitPermittingContext(Q){let C=this.state.soloAwait;this.state.soloAwait=!0;try{return Q()}finally{this.state.soloAwait=C}}allowInAnd(Q){let C=this.prodParam.currentFlags();if(8&~C){this.prodParam.enter(C|8);try{return Q()}finally{this.prodParam.exit()}}return Q()}disallowInAnd(Q){let C=this.prodParam.currentFlags();if(8&C){this.prodParam.enter(C&-9);try{return Q()}finally{this.prodParam.exit()}}return Q()}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}topicReferenceIsAllowedInCurrentContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentContext(){return this.state.topicContext.maxTopicIndex!=null&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(Q){let C=this.state.startLoc;this.state.potentialArrowAt=this.state.start;let I=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;let j=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),C,Q);return this.state.inFSharpPipelineDirectBody=I,j}parseModuleExpression(){this.expectPlugin("moduleBlocks");let Q=this.startNode();this.next(),this.match(5)||this.unexpected(null,5);let C=this.startNodeAt(this.state.endLoc);this.next();let I=this.initializeScopes(!0);this.enterInitialScopes();try{Q.body=this.parseProgram(C,8,"module")}finally{I()}return this.finishNode(Q,"ModuleExpression")}parsePropertyNamePrefixOperator(Q){}},Ox={kind:1},Q2={kind:2},vx=/[\uD800-\uDFFF]/u,j_=/in(?:stanceof)?/y;function N2(Q,C,I){for(let j=0;j0)for(let[Te,Be]of Array.from(this.scope.undefinedExports))this.raise(S.ModuleExportUndefined,Be,{localName:Te});this.addExtra(Q,"topLevelAwait",this.state.hasTopLevelAwait)}let j;return C===140?j=this.finishNode(Q,"Program"):j=this.finishNodeAt(Q,"Program",i(this.state.startLoc,-1)),j}stmtToDirective(Q){let C=Q;C.type="Directive",C.value=C.expression,delete C.expression;let I=C.value,j=I.value,Te=this.input.slice(this.offsetToSourcePos(I.start),this.offsetToSourcePos(I.end)),Be=I.value=Te.slice(1,-1);return this.addExtra(I,"raw",Te),this.addExtra(I,"rawValue",Be),this.addExtra(I,"expressionValue",j),I.type="DirectiveLiteral",C}parseInterpreterDirective(){if(!this.match(28))return null;let Q=this.startNode();return Q.value=this.state.value,this.next(),this.finishNode(Q,"InterpreterDirective")}isLet(){return this.isContextual(100)?this.hasFollowingBindingAtom():!1}chStartsBindingIdentifier(Q,C){if(Mn(Q)){if(j_.lastIndex=C,j_.test(this.input)){let I=this.codePointAtPos(j_.lastIndex);if(!li(I)&&I!==92)return!1}return!0}else return Q===92}chStartsBindingPattern(Q){return Q===91||Q===123}hasFollowingBindingAtom(){let Q=this.nextTokenStart(),C=this.codePointAtPos(Q);return this.chStartsBindingPattern(C)||this.chStartsBindingIdentifier(C,Q)}hasInLineFollowingBindingIdentifierOrBrace(){let Q=this.nextTokenInLineStart(),C=this.codePointAtPos(Q);return C===123||this.chStartsBindingIdentifier(C,Q)}startsUsingForOf(){let{type:Q,containsEsc:C}=this.lookahead();if(Q===102&&!C)return!1;if(He(Q)&&!this.hasFollowingLineBreak())return this.expectPlugin("explicitResourceManagement"),!0}startsAwaitUsing(){let Q=this.nextTokenInLineStart();if(this.isUnparsedContextual(Q,"using")){Q=this.nextTokenInLineStartSince(Q+5);let C=this.codePointAtPos(Q);if(this.chStartsBindingIdentifier(C,Q))return this.expectPlugin("explicitResourceManagement"),!0}return!1}parseModuleItem(){return this.parseStatementLike(15)}parseStatementListItem(){return this.parseStatementLike(6|(!this.options.annexB||this.state.strict?0:8))}parseStatementOrSloppyAnnexBFunctionDeclaration(Q=!1){let C=0;return this.options.annexB&&!this.state.strict&&(C|=4,Q&&(C|=8)),this.parseStatementLike(C)}parseStatement(){return this.parseStatementLike(0)}parseStatementLike(Q){let C=null;return this.match(26)&&(C=this.parseDecorators(!0)),this.parseStatementContent(Q,C)}parseStatementContent(Q,C){let I=this.state.type,j=this.startNode(),Te=!!(Q&2),Be=!!(Q&4),ct=Q&1;switch(I){case 60:return this.parseBreakContinueStatement(j,!0);case 63:return this.parseBreakContinueStatement(j,!1);case 64:return this.parseDebuggerStatement(j);case 90:return this.parseDoWhileStatement(j);case 91:return this.parseForStatement(j);case 68:if(this.lookaheadCharCode()===46)break;return Be||this.raise(this.state.strict?S.StrictFunction:this.options.annexB?S.SloppyFunctionAnnexB:S.SloppyFunction,this.state.startLoc),this.parseFunctionStatement(j,!1,!Te&&Be);case 80:return Te||this.unexpected(),this.parseClass(this.maybeTakeDecorators(C,j),!0);case 69:return this.parseIfStatement(j);case 70:return this.parseReturnStatement(j);case 71:return this.parseSwitchStatement(j);case 72:return this.parseThrowStatement(j);case 73:return this.parseTryStatement(j);case 96:if(!this.state.containsEsc&&this.startsAwaitUsing())return this.recordAwaitIfAllowed()?Te||this.raise(S.UnexpectedLexicalDeclaration,j):this.raise(S.AwaitUsingNotInAsyncContext,j),this.next(),this.parseVarStatement(j,"await using");break;case 107:if(this.state.containsEsc||!this.hasInLineFollowingBindingIdentifierOrBrace())break;return this.expectPlugin("explicitResourceManagement"),!this.scope.inModule&&this.scope.inTopLevel?this.raise(S.UnexpectedUsingDeclaration,this.state.startLoc):Te||this.raise(S.UnexpectedLexicalDeclaration,this.state.startLoc),this.parseVarStatement(j,"using");case 100:{if(this.state.containsEsc)break;let _r=this.nextTokenStart(),ei=this.codePointAtPos(_r);if(ei!==91&&(!Te&&this.hasFollowingLineBreak()||!this.chStartsBindingIdentifier(ei,_r)&&ei!==123))break}case 75:Te||this.raise(S.UnexpectedLexicalDeclaration,this.state.startLoc);case 74:{let _r=this.state.value;return this.parseVarStatement(j,_r)}case 92:return this.parseWhileStatement(j);case 76:return this.parseWithStatement(j);case 5:return this.parseBlock();case 13:return this.parseEmptyStatement(j);case 83:{let _r=this.lookaheadCharCode();if(_r===40||_r===46)break}case 82:{!this.options.allowImportExportEverywhere&&!ct&&this.raise(S.UnexpectedImportExport,this.state.startLoc),this.next();let _r;return I===83?(_r=this.parseImport(j),_r.type==="ImportDeclaration"&&(!_r.importKind||_r.importKind==="value")&&(this.sawUnambiguousESM=!0)):(_r=this.parseExport(j,C),(_r.type==="ExportNamedDeclaration"&&(!_r.exportKind||_r.exportKind==="value")||_r.type==="ExportAllDeclaration"&&(!_r.exportKind||_r.exportKind==="value")||_r.type==="ExportDefaultDeclaration")&&(this.sawUnambiguousESM=!0)),this.assertModuleNodeAllowed(_r),_r}default:if(this.isAsyncFunction())return Te||this.raise(S.AsyncFunctionInSingleStatementContext,this.state.startLoc),this.next(),this.parseFunctionStatement(j,!0,!Te&&Be)}let zt=this.state.value,Rr=this.parseExpression();return He(I)&&Rr.type==="Identifier"&&this.eat(14)?this.parseLabeledStatement(j,zt,Rr,Q):this.parseExpressionStatement(j,Rr,C)}assertModuleNodeAllowed(Q){!this.options.allowImportExportEverywhere&&!this.inModule&&this.raise(S.ImportOutsideModule,Q)}decoratorsEnabledBeforeExport(){return this.hasPlugin("decorators-legacy")?!0:this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")!==!1}maybeTakeDecorators(Q,C,I){return Q&&(C.decorators&&C.decorators.length>0?(typeof this.getPluginOption("decorators","decoratorsBeforeExport")!="boolean"&&this.raise(S.DecoratorsBeforeAfterExport,C.decorators[0]),C.decorators.unshift(...Q)):C.decorators=Q,this.resetStartLocationFromNode(C,Q[0]),I&&this.resetStartLocationFromNode(I,C)),C}canHaveLeadingDecorator(){return this.match(80)}parseDecorators(Q){let C=[];do C.push(this.parseDecorator());while(this.match(26));if(this.match(82))Q||this.unexpected(),this.decoratorsEnabledBeforeExport()||this.raise(S.DecoratorExportClass,this.state.startLoc);else if(!this.canHaveLeadingDecorator())throw this.raise(S.UnexpectedLeadingDecorator,this.state.startLoc);return C}parseDecorator(){this.expectOnePlugin(["decorators","decorators-legacy"]);let Q=this.startNode();if(this.next(),this.hasPlugin("decorators")){let C=this.state.startLoc,I;if(this.match(10)){let j=this.state.startLoc;this.next(),I=this.parseExpression(),this.expect(11),I=this.wrapParenthesis(j,I);let Te=this.state.startLoc;Q.expression=this.parseMaybeDecoratorArguments(I),this.getPluginOption("decorators","allowCallParenthesized")===!1&&Q.expression!==I&&this.raise(S.DecoratorArgumentsOutsideParentheses,Te)}else{for(I=this.parseIdentifier(!1);this.eat(16);){let j=this.startNodeAt(C);j.object=I,this.match(139)?(this.classScope.usePrivateName(this.state.value,this.state.startLoc),j.property=this.parsePrivateName()):j.property=this.parseIdentifier(!0),j.computed=!1,I=this.finishNode(j,"MemberExpression")}Q.expression=this.parseMaybeDecoratorArguments(I)}}else Q.expression=this.parseExprSubscripts();return this.finishNode(Q,"Decorator")}parseMaybeDecoratorArguments(Q){if(this.eat(10)){let C=this.startNodeAtNode(Q);return C.callee=Q,C.arguments=this.parseCallExpressionArguments(11),this.toReferencedList(C.arguments),this.finishNode(C,"CallExpression")}return Q}parseBreakContinueStatement(Q,C){return this.next(),this.isLineTerminator()?Q.label=null:(Q.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(Q,C),this.finishNode(Q,C?"BreakStatement":"ContinueStatement")}verifyBreakContinue(Q,C){let I;for(I=0;Ithis.parseStatement()),this.state.labels.pop(),this.expect(92),Q.test=this.parseHeaderExpression(),this.eat(13),this.finishNode(Q,"DoWhileStatement")}parseForStatement(Q){this.next(),this.state.labels.push(Ox);let C=null;if(this.isContextual(96)&&this.recordAwaitIfAllowed()&&(C=this.state.startLoc,this.next()),this.scope.enter(0),this.expect(10),this.match(13))return C!==null&&this.unexpected(C),this.parseFor(Q,null);let I=this.isContextual(100);{let zt=this.isContextual(96)&&this.startsAwaitUsing(),Rr=zt||this.isContextual(107)&&this.startsUsingForOf(),_r=I&&this.hasFollowingBindingAtom()||Rr;if(this.match(74)||this.match(75)||_r){let ei=this.startNode(),Si;zt?(Si="await using",this.recordAwaitIfAllowed()||this.raise(S.AwaitUsingNotInAsyncContext,this.state.startLoc),this.next()):Si=this.state.value,this.next(),this.parseVar(ei,!0,Si);let Ji=this.finishNode(ei,"VariableDeclaration"),$a=this.match(58);return $a&&Rr&&this.raise(S.ForInUsing,Ji),($a||this.isContextual(102))&&Ji.declarations.length===1?this.parseForIn(Q,Ji,C):(C!==null&&this.unexpected(C),this.parseFor(Q,Ji))}}let j=this.isContextual(95),Te=new uu,Be=this.parseExpression(!0,Te),ct=this.isContextual(102);if(ct&&(I&&this.raise(S.ForOfLet,Be),C===null&&j&&Be.type==="Identifier"&&this.raise(S.ForOfAsync,Be)),ct||this.match(58)){this.checkDestructuringPrivate(Te),this.toAssignable(Be,!0);let zt=ct?"ForOfStatement":"ForInStatement";return this.checkLVal(Be,{type:zt}),this.parseForIn(Q,Be,C)}else this.checkExpressionErrors(Te,!0);return C!==null&&this.unexpected(C),this.parseFor(Q,Be)}parseFunctionStatement(Q,C,I){return this.next(),this.parseFunction(Q,1|(I?2:0)|(C?8:0))}parseIfStatement(Q){return this.next(),Q.test=this.parseHeaderExpression(),Q.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration(),Q.alternate=this.eat(66)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null,this.finishNode(Q,"IfStatement")}parseReturnStatement(Q){return!this.prodParam.hasReturn&&!this.options.allowReturnOutsideFunction&&this.raise(S.IllegalReturn,this.state.startLoc),this.next(),this.isLineTerminator()?Q.argument=null:(Q.argument=this.parseExpression(),this.semicolon()),this.finishNode(Q,"ReturnStatement")}parseSwitchStatement(Q){this.next(),Q.discriminant=this.parseHeaderExpression();let C=Q.cases=[];this.expect(5),this.state.labels.push(Q2),this.scope.enter(0);let I;for(let j;!this.match(8);)if(this.match(61)||this.match(65)){let Te=this.match(61);I&&this.finishNode(I,"SwitchCase"),C.push(I=this.startNode()),I.consequent=[],this.next(),Te?I.test=this.parseExpression():(j&&this.raise(S.MultipleDefaultsInSwitch,this.state.lastTokStartLoc),j=!0,I.test=null),this.expect(14)}else I?I.consequent.push(this.parseStatementListItem()):this.unexpected();return this.scope.exit(),I&&this.finishNode(I,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(Q,"SwitchStatement")}parseThrowStatement(Q){return this.next(),this.hasPrecedingLineBreak()&&this.raise(S.NewlineAfterThrow,this.state.lastTokEndLoc),Q.argument=this.parseExpression(),this.semicolon(),this.finishNode(Q,"ThrowStatement")}parseCatchClauseParam(){let Q=this.parseBindingAtom();return this.scope.enter(this.options.annexB&&Q.type==="Identifier"?8:0),this.checkLVal(Q,{type:"CatchClause"},9),Q}parseTryStatement(Q){if(this.next(),Q.block=this.parseBlock(),Q.handler=null,this.match(62)){let C=this.startNode();this.next(),this.match(10)?(this.expect(10),C.param=this.parseCatchClauseParam(),this.expect(11)):(C.param=null,this.scope.enter(0)),C.body=this.withSmartMixTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),Q.handler=this.finishNode(C,"CatchClause")}return Q.finalizer=this.eat(67)?this.parseBlock():null,!Q.handler&&!Q.finalizer&&this.raise(S.NoCatchOrFinally,Q),this.finishNode(Q,"TryStatement")}parseVarStatement(Q,C,I=!1){return this.next(),this.parseVar(Q,!1,C,I),this.semicolon(),this.finishNode(Q,"VariableDeclaration")}parseWhileStatement(Q){return this.next(),Q.test=this.parseHeaderExpression(),this.state.labels.push(Ox),Q.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.state.labels.pop(),this.finishNode(Q,"WhileStatement")}parseWithStatement(Q){return this.state.strict&&this.raise(S.StrictWith,this.state.startLoc),this.next(),Q.object=this.parseHeaderExpression(),Q.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.finishNode(Q,"WithStatement")}parseEmptyStatement(Q){return this.next(),this.finishNode(Q,"EmptyStatement")}parseLabeledStatement(Q,C,I,j){for(let Be of this.state.labels)Be.name===C&&this.raise(S.LabelRedeclaration,I,{labelName:C});let Te=Zn(this.state.type)?1:this.match(71)?2:null;for(let Be=this.state.labels.length-1;Be>=0;Be--){let ct=this.state.labels[Be];if(ct.statementStart===Q.start)ct.statementStart=this.sourceToOffsetPos(this.state.start),ct.kind=Te;else break}return this.state.labels.push({name:C,kind:Te,statementStart:this.sourceToOffsetPos(this.state.start)}),Q.body=j&8?this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0):this.parseStatement(),this.state.labels.pop(),Q.label=I,this.finishNode(Q,"LabeledStatement")}parseExpressionStatement(Q,C,I){return Q.expression=C,this.semicolon(),this.finishNode(Q,"ExpressionStatement")}parseBlock(Q=!1,C=!0,I){let j=this.startNode();return Q&&this.state.strictErrors.clear(),this.expect(5),C&&this.scope.enter(0),this.parseBlockBody(j,Q,!1,8,I),C&&this.scope.exit(),this.finishNode(j,"BlockStatement")}isValidDirective(Q){return Q.type==="ExpressionStatement"&&Q.expression.type==="StringLiteral"&&!Q.expression.extra.parenthesized}parseBlockBody(Q,C,I,j,Te){let Be=Q.body=[],ct=Q.directives=[];this.parseBlockOrModuleBlockBody(Be,C?ct:void 0,I,j,Te)}parseBlockOrModuleBlockBody(Q,C,I,j,Te){let Be=this.state.strict,ct=!1,zt=!1;for(;!this.match(j);){let Rr=I?this.parseModuleItem():this.parseStatementListItem();if(C&&!zt){if(this.isValidDirective(Rr)){let _r=this.stmtToDirective(Rr);C.push(_r),!ct&&_r.value.value==="use strict"&&(ct=!0,this.setStrict(!0));continue}zt=!0,this.state.strictErrors.clear()}Q.push(Rr)}Te?.call(this,ct),Be||this.setStrict(!1),this.next()}parseFor(Q,C){return Q.init=C,this.semicolon(!1),Q.test=this.match(13)?null:this.parseExpression(),this.semicolon(!1),Q.update=this.match(11)?null:this.parseExpression(),this.expect(11),Q.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(Q,"ForStatement")}parseForIn(Q,C,I){let j=this.match(58);return this.next(),j?I!==null&&this.unexpected(I):Q.await=I!==null,C.type==="VariableDeclaration"&&C.declarations[0].init!=null&&(!j||!this.options.annexB||this.state.strict||C.kind!=="var"||C.declarations[0].id.type!=="Identifier")&&this.raise(S.ForInOfLoopInitializer,C,{type:j?"ForInStatement":"ForOfStatement"}),C.type==="AssignmentPattern"&&this.raise(S.InvalidLhs,C,{ancestor:{type:"ForStatement"}}),Q.left=C,Q.right=j?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(11),Q.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(Q,j?"ForInStatement":"ForOfStatement")}parseVar(Q,C,I,j=!1){let Te=Q.declarations=[];for(Q.kind=I;;){let Be=this.startNode();if(this.parseVarId(Be,I),Be.init=this.eat(29)?C?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():null,Be.init===null&&!j&&(Be.id.type!=="Identifier"&&!(C&&(this.match(58)||this.isContextual(102)))?this.raise(S.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:"destructuring"}):(I==="const"||I==="using"||I==="await using")&&!(this.match(58)||this.isContextual(102))&&this.raise(S.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:I})),Te.push(this.finishNode(Be,"VariableDeclarator")),!this.eat(12))break}return Q}parseVarId(Q,C){let I=this.parseBindingAtom();(C==="using"||C==="await using")&&(I.type==="ArrayPattern"||I.type==="ObjectPattern")&&this.raise(S.UsingDeclarationHasBindingPattern,I.loc.start),this.checkLVal(I,{type:"VariableDeclarator"},C==="var"?5:8201),Q.id=I}parseAsyncFunctionExpression(Q){return this.parseFunction(Q,8)}parseFunction(Q,C=0){let I=C&2,j=!!(C&1),Te=j&&!(C&4),Be=!!(C&8);this.initFunction(Q,Be),this.match(55)&&(I&&this.raise(S.GeneratorInSingleStatementContext,this.state.startLoc),this.next(),Q.generator=!0),j&&(Q.id=this.parseFunctionId(Te));let ct=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(2),this.prodParam.enter(Wl(Be,Q.generator)),j||(Q.id=this.parseFunctionId()),this.parseFunctionParams(Q,!1),this.withSmartMixTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(Q,j?"FunctionDeclaration":"FunctionExpression")}),this.prodParam.exit(),this.scope.exit(),j&&!I&&this.registerFunctionStatementId(Q),this.state.maybeInArrowParameters=ct,Q}parseFunctionId(Q){return Q||He(this.state.type)?this.parseIdentifier():null}parseFunctionParams(Q,C){this.expect(10),this.expressionScope.enter(Ru()),Q.params=this.parseBindingList(11,41,2|(C?4:0)),this.expressionScope.exit()}registerFunctionStatementId(Q){Q.id&&this.scope.declareName(Q.id.name,!this.options.annexB||this.state.strict||Q.generator||Q.async?this.scope.treatFunctionsAsVar?5:8201:17,Q.id.loc.start)}parseClass(Q,C,I){this.next();let j=this.state.strict;return this.state.strict=!0,this.parseClassId(Q,C,I),this.parseClassSuper(Q),Q.body=this.parseClassBody(!!Q.superClass,j),this.finishNode(Q,C?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(29)||this.match(13)||this.match(8)}isClassMethod(){return this.match(10)}nameIsConstructor(Q){return Q.type==="Identifier"&&Q.name==="constructor"||Q.type==="StringLiteral"&&Q.value==="constructor"}isNonstaticConstructor(Q){return!Q.computed&&!Q.static&&this.nameIsConstructor(Q.key)}parseClassBody(Q,C){this.classScope.enter();let I={hadConstructor:!1,hadSuperClass:Q},j=[],Te=this.startNode();if(Te.body=[],this.expect(5),this.withSmartMixTopicForbiddingContext(()=>{for(;!this.match(8);){if(this.eat(13)){if(j.length>0)throw this.raise(S.DecoratorSemicolon,this.state.lastTokEndLoc);continue}if(this.match(26)){j.push(this.parseDecorator());continue}let Be=this.startNode();j.length&&(Be.decorators=j,this.resetStartLocationFromNode(Be,j[0]),j=[]),this.parseClassMember(Te,Be,I),Be.kind==="constructor"&&Be.decorators&&Be.decorators.length>0&&this.raise(S.DecoratorConstructor,Be)}}),this.state.strict=C,this.next(),j.length)throw this.raise(S.TrailingDecorator,this.state.startLoc);return this.classScope.exit(),this.finishNode(Te,"ClassBody")}parseClassMemberFromModifier(Q,C){let I=this.parseIdentifier(!0);if(this.isClassMethod()){let j=C;return j.kind="method",j.computed=!1,j.key=I,j.static=!1,this.pushClassMethod(Q,j,!1,!1,!1,!1),!0}else if(this.isClassProperty()){let j=C;return j.computed=!1,j.key=I,j.static=!1,Q.body.push(this.parseClassProperty(j)),!0}return this.resetPreviousNodeTrailingComments(I),!1}parseClassMember(Q,C,I){let j=this.isContextual(106);if(j){if(this.parseClassMemberFromModifier(Q,C))return;if(this.eat(5)){this.parseClassStaticBlock(Q,C);return}}this.parseClassMemberWithIsStatic(Q,C,I,j)}parseClassMemberWithIsStatic(Q,C,I,j){let Te=C,Be=C,ct=C,zt=C,Rr=C,_r=Te,ei=Te;if(C.static=j,this.parsePropertyNamePrefixOperator(C),this.eat(55)){_r.kind="method";let no=this.match(139);if(this.parseClassElementName(_r),no){this.pushClassPrivateMethod(Q,Be,!0,!1);return}this.isNonstaticConstructor(Te)&&this.raise(S.ConstructorIsGenerator,Te.key),this.pushClassMethod(Q,Te,!0,!1,!1,!1);return}let Si=!this.state.containsEsc&&He(this.state.type),Ji=this.parseClassElementName(C),$a=Si?Ji.name:null,ho=this.isPrivateName(Ji),Go=this.state.startLoc;if(this.parsePostMemberNameModifiers(ei),this.isClassMethod()){if(_r.kind="method",ho){this.pushClassPrivateMethod(Q,Be,!1,!1);return}let no=this.isNonstaticConstructor(Te),R0=!1;no&&(Te.kind="constructor",I.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(S.DuplicateConstructor,Ji),no&&this.hasPlugin("typescript")&&C.override&&this.raise(S.OverrideOnConstructor,Ji),I.hadConstructor=!0,R0=I.hadSuperClass),this.pushClassMethod(Q,Te,!1,!1,no,R0)}else if(this.isClassProperty())ho?this.pushClassPrivateProperty(Q,zt):this.pushClassProperty(Q,ct);else if($a==="async"&&!this.isLineTerminator()){this.resetPreviousNodeTrailingComments(Ji);let no=this.eat(55);ei.optional&&this.unexpected(Go),_r.kind="method";let R0=this.match(139);this.parseClassElementName(_r),this.parsePostMemberNameModifiers(ei),R0?this.pushClassPrivateMethod(Q,Be,no,!0):(this.isNonstaticConstructor(Te)&&this.raise(S.ConstructorIsAsync,Te.key),this.pushClassMethod(Q,Te,no,!0,!1,!1))}else if(($a==="get"||$a==="set")&&!(this.match(55)&&this.isLineTerminator())){this.resetPreviousNodeTrailingComments(Ji),_r.kind=$a;let no=this.match(139);this.parseClassElementName(Te),no?this.pushClassPrivateMethod(Q,Be,!1,!1):(this.isNonstaticConstructor(Te)&&this.raise(S.ConstructorIsAccessor,Te.key),this.pushClassMethod(Q,Te,!1,!1,!1,!1)),this.checkGetterSetterParams(Te)}else if($a==="accessor"&&!this.isLineTerminator()){this.expectPlugin("decoratorAutoAccessors"),this.resetPreviousNodeTrailingComments(Ji);let no=this.match(139);this.parseClassElementName(ct),this.pushClassAccessorProperty(Q,Rr,no)}else this.isLineTerminator()?ho?this.pushClassPrivateProperty(Q,zt):this.pushClassProperty(Q,ct):this.unexpected()}parseClassElementName(Q){let{type:C,value:I}=this.state;if((C===132||C===134)&&Q.static&&I==="prototype"&&this.raise(S.StaticPrototype,this.state.startLoc),C===139){I==="constructor"&&this.raise(S.ConstructorClassPrivateField,this.state.startLoc);let j=this.parsePrivateName();return Q.key=j,j}return this.parsePropertyName(Q),Q.key}parseClassStaticBlock(Q,C){var I;this.scope.enter(208);let j=this.state.labels;this.state.labels=[],this.prodParam.enter(0);let Te=C.body=[];this.parseBlockOrModuleBlockBody(Te,void 0,!1,8),this.prodParam.exit(),this.scope.exit(),this.state.labels=j,Q.body.push(this.finishNode(C,"StaticBlock")),(I=C.decorators)!=null&&I.length&&this.raise(S.DecoratorStaticBlock,C)}pushClassProperty(Q,C){!C.computed&&this.nameIsConstructor(C.key)&&this.raise(S.ConstructorClassField,C.key),Q.body.push(this.parseClassProperty(C))}pushClassPrivateProperty(Q,C){let I=this.parseClassPrivateProperty(C);Q.body.push(I),this.classScope.declarePrivateName(this.getPrivateNameSV(I.key),0,I.key.loc.start)}pushClassAccessorProperty(Q,C,I){!I&&!C.computed&&this.nameIsConstructor(C.key)&&this.raise(S.ConstructorClassField,C.key);let j=this.parseClassAccessorProperty(C);Q.body.push(j),I&&this.classScope.declarePrivateName(this.getPrivateNameSV(j.key),0,j.key.loc.start)}pushClassMethod(Q,C,I,j,Te,Be){Q.body.push(this.parseMethod(C,I,j,Te,Be,"ClassMethod",!0))}pushClassPrivateMethod(Q,C,I,j){let Te=this.parseMethod(C,I,j,!1,!1,"ClassPrivateMethod",!0);Q.body.push(Te);let Be=Te.kind==="get"?Te.static?6:2:Te.kind==="set"?Te.static?5:1:0;this.declareClassPrivateMethodInScope(Te,Be)}declareClassPrivateMethodInScope(Q,C){this.classScope.declarePrivateName(this.getPrivateNameSV(Q.key),C,Q.key.loc.start)}parsePostMemberNameModifiers(Q){}parseClassPrivateProperty(Q){return this.parseInitializer(Q),this.semicolon(),this.finishNode(Q,"ClassPrivateProperty")}parseClassProperty(Q){return this.parseInitializer(Q),this.semicolon(),this.finishNode(Q,"ClassProperty")}parseClassAccessorProperty(Q){return this.parseInitializer(Q),this.semicolon(),this.finishNode(Q,"ClassAccessorProperty")}parseInitializer(Q){this.scope.enter(80),this.expressionScope.enter(S0()),this.prodParam.enter(0),Q.value=this.eat(29)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(Q,C,I,j=8331){if(He(this.state.type))Q.id=this.parseIdentifier(),C&&this.declareNameFromIdentifier(Q.id,j);else if(I||!C)Q.id=null;else throw this.raise(S.MissingClassName,this.state.startLoc)}parseClassSuper(Q){Q.superClass=this.eat(81)?this.parseExprSubscripts():null}parseExport(Q,C){let I=this.parseMaybeImportPhase(Q,!0),j=this.maybeParseExportDefaultSpecifier(Q,I),Te=!j||this.eat(12),Be=Te&&this.eatExportStar(Q),ct=Be&&this.maybeParseExportNamespaceSpecifier(Q),zt=Te&&(!ct||this.eat(12)),Rr=j||Be;if(Be&&!ct){if(j&&this.unexpected(),C)throw this.raise(S.UnsupportedDecoratorExport,Q);return this.parseExportFrom(Q,!0),this.finishNode(Q,"ExportAllDeclaration")}let _r=this.maybeParseExportNamedSpecifiers(Q);j&&Te&&!Be&&!_r&&this.unexpected(null,5),ct&&zt&&this.unexpected(null,98);let ei;if(Rr||_r){if(ei=!1,C)throw this.raise(S.UnsupportedDecoratorExport,Q);this.parseExportFrom(Q,Rr)}else ei=this.maybeParseExportDeclaration(Q);if(Rr||_r||ei){var Si;let Ji=Q;if(this.checkExport(Ji,!0,!1,!!Ji.source),((Si=Ji.declaration)==null?void 0:Si.type)==="ClassDeclaration")this.maybeTakeDecorators(C,Ji.declaration,Ji);else if(C)throw this.raise(S.UnsupportedDecoratorExport,Q);return this.finishNode(Ji,"ExportNamedDeclaration")}if(this.eat(65)){let Ji=Q,$a=this.parseExportDefaultExpression();if(Ji.declaration=$a,$a.type==="ClassDeclaration")this.maybeTakeDecorators(C,$a,Ji);else if(C)throw this.raise(S.UnsupportedDecoratorExport,Q);return this.checkExport(Ji,!0,!0),this.finishNode(Ji,"ExportDefaultDeclaration")}this.unexpected(null,5)}eatExportStar(Q){return this.eat(55)}maybeParseExportDefaultSpecifier(Q,C){if(C||this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom",C?.loc.start);let I=C||this.parseIdentifier(!0),j=this.startNodeAtNode(I);return j.exported=I,Q.specifiers=[this.finishNode(j,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(Q){if(this.isContextual(93)){var C,I;(I=(C=Q).specifiers)!=null||(C.specifiers=[]);let j=this.startNodeAt(this.state.lastTokStartLoc);return this.next(),j.exported=this.parseModuleExportName(),Q.specifiers.push(this.finishNode(j,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(Q){if(this.match(5)){let C=Q;C.specifiers||(C.specifiers=[]);let I=C.exportKind==="type";return C.specifiers.push(...this.parseExportSpecifiers(I)),C.source=null,C.declaration=null,this.hasPlugin("importAssertions")&&(C.assertions=[]),!0}return!1}maybeParseExportDeclaration(Q){return this.shouldParseExportDeclaration()?(Q.specifiers=[],Q.source=null,this.hasPlugin("importAssertions")&&(Q.assertions=[]),Q.declaration=this.parseExportDeclaration(Q),!0):!1}isAsyncFunction(){if(!this.isContextual(95))return!1;let Q=this.nextTokenInLineStart();return this.isUnparsedContextual(Q,"function")}parseExportDefaultExpression(){let Q=this.startNode();if(this.match(68))return this.next(),this.parseFunction(Q,5);if(this.isAsyncFunction())return this.next(),this.next(),this.parseFunction(Q,13);if(this.match(80))return this.parseClass(Q,!0,!0);if(this.match(26))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")===!0&&this.raise(S.DecoratorBeforeExport,this.state.startLoc),this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1),this.startNode()),!0,!0);if(this.match(75)||this.match(74)||this.isLet())throw this.raise(S.UnsupportedDefaultExport,this.state.startLoc);let C=this.parseMaybeAssignAllowIn();return this.semicolon(),C}parseExportDeclaration(Q){return this.match(80)?this.parseClass(this.startNode(),!0,!1):this.parseStatementListItem()}isExportDefaultSpecifier(){let{type:Q}=this.state;if(He(Q)){if(Q===95&&!this.state.containsEsc||Q===100)return!1;if((Q===130||Q===129)&&!this.state.containsEsc){let{type:j}=this.lookahead();if(He(j)&&j!==98||j===5)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(65))return!1;let C=this.nextTokenStart(),I=this.isUnparsedContextual(C,"from");if(this.input.charCodeAt(C)===44||He(this.state.type)&&I)return!0;if(this.match(65)&&I){let j=this.input.charCodeAt(this.nextTokenStartSince(C+4));return j===34||j===39}return!1}parseExportFrom(Q,C){this.eatContextual(98)?(Q.source=this.parseImportSource(),this.checkExport(Q),this.maybeParseImportAttributes(Q),this.checkJSONModuleImport(Q)):C&&this.unexpected(),this.semicolon()}shouldParseExportDeclaration(){let{type:Q}=this.state;return Q===26&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))?(this.getPluginOption("decorators","decoratorsBeforeExport")===!0&&this.raise(S.DecoratorBeforeExport,this.state.startLoc),!0):this.isContextual(107)?(this.raise(S.UsingDeclarationExport,this.state.startLoc),!0):this.isContextual(96)&&this.startsAwaitUsing()?(this.raise(S.UsingDeclarationExport,this.state.startLoc),!0):Q===74||Q===75||Q===68||Q===80||this.isLet()||this.isAsyncFunction()}checkExport(Q,C,I,j){if(C){var Te;if(I){if(this.checkDuplicateExports(Q,"default"),this.hasPlugin("exportDefaultFrom")){var Be;let ct=Q.declaration;ct.type==="Identifier"&&ct.name==="from"&&ct.end-ct.start===4&&!((Be=ct.extra)!=null&&Be.parenthesized)&&this.raise(S.ExportDefaultFromAsIdentifier,ct)}}else if((Te=Q.specifiers)!=null&&Te.length)for(let ct of Q.specifiers){let{exported:zt}=ct,Rr=zt.type==="Identifier"?zt.name:zt.value;if(this.checkDuplicateExports(ct,Rr),!j&&ct.local){let{local:_r}=ct;_r.type!=="Identifier"?this.raise(S.ExportBindingIsString,ct,{localName:_r.value,exportName:Rr}):(this.checkReservedWord(_r.name,_r.loc.start,!0,!1),this.scope.checkLocalExport(_r))}}else if(Q.declaration){let ct=Q.declaration;if(ct.type==="FunctionDeclaration"||ct.type==="ClassDeclaration"){let{id:zt}=ct;if(!zt)throw new Error("Assertion failure");this.checkDuplicateExports(Q,zt.name)}else if(ct.type==="VariableDeclaration")for(let zt of ct.declarations)this.checkDeclaration(zt.id)}}}checkDeclaration(Q){if(Q.type==="Identifier")this.checkDuplicateExports(Q,Q.name);else if(Q.type==="ObjectPattern")for(let C of Q.properties)this.checkDeclaration(C);else if(Q.type==="ArrayPattern")for(let C of Q.elements)C&&this.checkDeclaration(C);else Q.type==="ObjectProperty"?this.checkDeclaration(Q.value):Q.type==="RestElement"?this.checkDeclaration(Q.argument):Q.type==="AssignmentPattern"&&this.checkDeclaration(Q.left)}checkDuplicateExports(Q,C){this.exportedIdentifiers.has(C)&&(C==="default"?this.raise(S.DuplicateDefaultExport,Q):this.raise(S.DuplicateExport,Q,{exportName:C})),this.exportedIdentifiers.add(C)}parseExportSpecifiers(Q){let C=[],I=!0;for(this.expect(5);!this.eat(8);){if(I)I=!1;else if(this.expect(12),this.eat(8))break;let j=this.isContextual(130),Te=this.match(134),Be=this.startNode();Be.local=this.parseModuleExportName(),C.push(this.parseExportSpecifier(Be,Te,Q,j))}return C}parseExportSpecifier(Q,C,I,j){return this.eatContextual(93)?Q.exported=this.parseModuleExportName():C?Q.exported=y0(Q.local):Q.exported||(Q.exported=f0(Q.local)),this.finishNode(Q,"ExportSpecifier")}parseModuleExportName(){if(this.match(134)){let Q=this.parseStringLiteral(this.state.value),C=vx.exec(Q.value);return C&&this.raise(S.ModuleExportNameHasLoneSurrogate,Q,{surrogateCharCode:C[0].charCodeAt(0)}),Q}return this.parseIdentifier(!0)}isJSONModuleImport(Q){return Q.assertions!=null?Q.assertions.some(({key:C,value:I})=>I.value==="json"&&(C.type==="Identifier"?C.name==="type":C.value==="type")):!1}checkImportReflection(Q){let{specifiers:C}=Q,I=C.length===1?C[0].type:null;if(Q.phase==="source")I!=="ImportDefaultSpecifier"&&this.raise(S.SourcePhaseImportRequiresDefault,C[0].loc.start);else if(Q.phase==="defer")I!=="ImportNamespaceSpecifier"&&this.raise(S.DeferImportRequiresNamespace,C[0].loc.start);else if(Q.module){var j;I!=="ImportDefaultSpecifier"&&this.raise(S.ImportReflectionNotBinding,C[0].loc.start),((j=Q.assertions)==null?void 0:j.length)>0&&this.raise(S.ImportReflectionHasAssertion,C[0].loc.start)}}checkJSONModuleImport(Q){if(this.isJSONModuleImport(Q)&&Q.type!=="ExportAllDeclaration"){let{specifiers:C}=Q;if(C!=null){let I=C.find(j=>{let Te;if(j.type==="ExportSpecifier"?Te=j.local:j.type==="ImportSpecifier"&&(Te=j.imported),Te!==void 0)return Te.type==="Identifier"?Te.name!=="default":Te.value!=="default"});I!==void 0&&this.raise(S.ImportJSONBindingNotDefault,I.loc.start)}}}isPotentialImportPhase(Q){return Q?!1:this.isContextual(105)||this.isContextual(97)||this.isContextual(127)}applyImportPhase(Q,C,I,j){C||(I==="module"?(this.expectPlugin("importReflection",j),Q.module=!0):this.hasPlugin("importReflection")&&(Q.module=!1),I==="source"?(this.expectPlugin("sourcePhaseImports",j),Q.phase="source"):I==="defer"?(this.expectPlugin("deferredImportEvaluation",j),Q.phase="defer"):this.hasPlugin("sourcePhaseImports")&&(Q.phase=null))}parseMaybeImportPhase(Q,C){if(!this.isPotentialImportPhase(C))return this.applyImportPhase(Q,C,null),null;let I=this.parseIdentifier(!0),{type:j}=this.state;return(zr(j)?j!==98||this.lookaheadCharCode()===102:j!==12)?(this.resetPreviousIdentifierLeadingComments(I),this.applyImportPhase(Q,C,I.name,I.loc.start),null):(this.applyImportPhase(Q,C,null),I)}isPrecedingIdImportPhase(Q){let{type:C}=this.state;return He(C)?C!==98||this.lookaheadCharCode()===102:C!==12}parseImport(Q){return this.match(134)?this.parseImportSourceAndAttributes(Q):this.parseImportSpecifiersAndAfter(Q,this.parseMaybeImportPhase(Q,!1))}parseImportSpecifiersAndAfter(Q,C){Q.specifiers=[];let I=!this.maybeParseDefaultImportSpecifier(Q,C)||this.eat(12),j=I&&this.maybeParseStarImportSpecifier(Q);return I&&!j&&this.parseNamedImportSpecifiers(Q),this.expectContextual(98),this.parseImportSourceAndAttributes(Q)}parseImportSourceAndAttributes(Q){var C;return(C=Q.specifiers)!=null||(Q.specifiers=[]),Q.source=this.parseImportSource(),this.maybeParseImportAttributes(Q),this.checkImportReflection(Q),this.checkJSONModuleImport(Q),this.semicolon(),this.finishNode(Q,"ImportDeclaration")}parseImportSource(){return this.match(134)||this.unexpected(),this.parseExprAtom()}parseImportSpecifierLocal(Q,C,I){C.local=this.parseIdentifier(),Q.specifiers.push(this.finishImportSpecifier(C,I))}finishImportSpecifier(Q,C,I=8201){return this.checkLVal(Q.local,{type:C},I),this.finishNode(Q,C)}parseImportAttributes(){this.expect(5);let Q=[],C=new Set;do{if(this.match(8))break;let I=this.startNode(),j=this.state.value;if(C.has(j)&&this.raise(S.ModuleAttributesWithDuplicateKeys,this.state.startLoc,{key:j}),C.add(j),this.match(134)?I.key=this.parseStringLiteral(j):I.key=this.parseIdentifier(!0),this.expect(14),!this.match(134))throw this.raise(S.ModuleAttributeInvalidValue,this.state.startLoc);I.value=this.parseStringLiteral(this.state.value),Q.push(this.finishNode(I,"ImportAttribute"))}while(this.eat(12));return this.expect(8),Q}parseModuleAttributes(){let Q=[],C=new Set;do{let I=this.startNode();if(I.key=this.parseIdentifier(!0),I.key.name!=="type"&&this.raise(S.ModuleAttributeDifferentFromType,I.key),C.has(I.key.name)&&this.raise(S.ModuleAttributesWithDuplicateKeys,I.key,{key:I.key.name}),C.add(I.key.name),this.expect(14),!this.match(134))throw this.raise(S.ModuleAttributeInvalidValue,this.state.startLoc);I.value=this.parseStringLiteral(this.state.value),Q.push(this.finishNode(I,"ImportAttribute"))}while(this.eat(12));return Q}maybeParseImportAttributes(Q){let C;var I=!1;if(this.match(76)){if(this.hasPrecedingLineBreak()&&this.lookaheadCharCode()===40)return;this.next(),this.hasPlugin("moduleAttributes")?C=this.parseModuleAttributes():C=this.parseImportAttributes(),I=!0}else this.isContextual(94)&&!this.hasPrecedingLineBreak()?(!this.hasPlugin("deprecatedImportAssert")&&!this.hasPlugin("importAssertions")&&this.raise(S.ImportAttributesUseAssert,this.state.startLoc),this.hasPlugin("importAssertions")||this.addExtra(Q,"deprecatedAssertSyntax",!0),this.next(),C=this.parseImportAttributes()):C=[];!I&&this.hasPlugin("importAssertions")?Q.assertions=C:Q.attributes=C}maybeParseDefaultImportSpecifier(Q,C){if(C){let I=this.startNodeAtNode(C);return I.local=C,Q.specifiers.push(this.finishImportSpecifier(I,"ImportDefaultSpecifier")),!0}else if(zr(this.state.type))return this.parseImportSpecifierLocal(Q,this.startNode(),"ImportDefaultSpecifier"),!0;return!1}maybeParseStarImportSpecifier(Q){if(this.match(55)){let C=this.startNode();return this.next(),this.expectContextual(93),this.parseImportSpecifierLocal(Q,C,"ImportNamespaceSpecifier"),!0}return!1}parseNamedImportSpecifiers(Q){let C=!0;for(this.expect(5);!this.eat(8);){if(C)C=!1;else{if(this.eat(14))throw this.raise(S.DestructureNamedImport,this.state.startLoc);if(this.expect(12),this.eat(8))break}let I=this.startNode(),j=this.match(134),Te=this.isContextual(130);I.imported=this.parseModuleExportName();let Be=this.parseImportSpecifier(I,j,Q.importKind==="type"||Q.importKind==="typeof",Te,void 0);Q.specifiers.push(Be)}}parseImportSpecifier(Q,C,I,j,Te){if(this.eatContextual(93))Q.local=this.parseIdentifier();else{let{imported:Be}=Q;if(C)throw this.raise(S.ImportBindingIsString,Q,{importName:Be.value});this.checkReservedWord(Be.name,Q.loc.start,!0,!0),Q.local||(Q.local=f0(Be))}return this.finishImportSpecifier(Q,"ImportSpecifier",Te)}isThisParam(Q){return Q.type==="Identifier"&&Q.name==="this"}},ic=class extends Cl{constructor(Q,C,I){Q=Np(Q),super(Q,C),this.options=Q,this.initializeScopes(),this.plugins=I,this.filename=Q.sourceFilename,this.startIndex=Q.startIndex}getScopeHandler(){return ws}parse(){this.enterInitialScopes();let Q=this.startNode(),C=this.startNode();return this.nextToken(),Q.errors=null,this.parseTopLevel(Q,C),Q.errors=this.state.errors,Q.comments.length=this.state.commentsLen,Q}};function W4(Q,C){var I;if(((I=C)==null?void 0:I.sourceType)==="unambiguous"){C=Object.assign({},C);try{C.sourceType="module";let j=Ic(C,Q),Te=j.parse();if(j.sawUnambiguousESM)return Te;if(j.ambiguousScriptDifferentAst)try{return C.sourceType="script",Ic(C,Q).parse()}catch{}else Te.program.sourceType="script";return Te}catch(j){try{return C.sourceType="script",Ic(C,Q).parse()}catch{}throw j}}else return Ic(C,Q).parse()}function ac(Q,C){let I=Ic(C,Q);return I.options.strictMode&&(I.state.strict=!0),I.getExpression()}function vR(Q){let C={};for(let I of Object.keys(Q))C[I]=ot(Q[I]);return C}var F7=vR(ht);function Ic(Q,C){let I=ic,j=new Map;if(Q!=null&&Q.plugins){for(let Te of Q.plugins){let Be,ct;typeof Te=="string"?Be=Te:[Be,ct]=Te,j.has(Be)||j.set(Be,ct||{})}nc(j),I=J_(j)}return new I(Q,C,j)}var tk=new Map;function J_(Q){let C=[];for(let Te of $2)Q.has(Te)&&C.push(Te);let I=C.join("|"),j=tk.get(I);if(!j){j=ic;for(let Te of C)j=Ex[Te](j);tk.set(I,j)}return j}e.parse=W4,e.parseExpression=ac,e.tokTypes=F7}),ptr={};ysn(ptr,{parsers:()=>qtr});Zer=ltr(ctr(),1);Gpi=rCe(/\s/u),Csn=rCe(" "),Vpi=rCe(",; "),Asn=rCe(/[^\n\r]/u);bsn=gsn;Osn=Esn;Dsn=vsn;$sn=Ssn;Nsn=Qsn;_tr=wsn,Psn=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},etr=Psn;A4t=Bsn;Msn=Isn,Wsn=Msn(["Block","CommentBlock","MultiLine"]),k4t=Wsn;ttr=Usn;Lsn=Fsn,qhe=null;zsn=10;for(let e=0;e<=zsn;e++)Ahe();Ksn=Ysn,Gsn={ArrayExpression:["elements"],AssignmentExpression:["left","right"],BinaryExpression:["left","right"],InterpreterDirective:[],Directive:["value"],DirectiveLiteral:[],BlockStatement:["directives","body"],BreakStatement:["label"],CallExpression:["callee","arguments","typeParameters","typeArguments"],CatchClause:["param","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExpressionStatement:["expression"],File:["program"],ForInStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","typeParameters","params","returnType","body","predicate"],FunctionExpression:["id","typeParameters","params","returnType","body"],Identifier:["typeAnnotation","decorators"],IfStatement:["test","consequent","alternate"],LabeledStatement:["label","body"],StringLiteral:[],NumericLiteral:[],NullLiteral:[],BooleanLiteral:[],RegExpLiteral:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],NewExpression:["callee","arguments","typeParameters","typeArguments"],Program:["directives","body"],ObjectExpression:["properties"],ObjectMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectProperty:["key","value","decorators"],RestElement:["argument","typeAnnotation","decorators"],ReturnStatement:["argument"],SequenceExpression:["expressions"],ParenthesizedExpression:["expression"],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],AssignmentPattern:["left","right","decorators","typeAnnotation"],ArrayPattern:["elements","typeAnnotation","decorators"],ArrowFunctionExpression:["typeParameters","params","returnType","body","predicate"],ClassBody:["body"],ClassExpression:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ExportAllDeclaration:["source","attributes","exported"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source","attributes"],ExportSpecifier:["local","exported"],ForOfStatement:["left","right","body"],ImportDeclaration:["specifiers","source","attributes"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],ImportExpression:["source","options"],MetaProperty:["meta","property"],ClassMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectPattern:["properties","typeAnnotation","decorators"],SpreadElement:["argument"],Super:[],TaggedTemplateExpression:["tag","typeParameters","quasi","typeArguments"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],YieldExpression:["argument"],AwaitExpression:["argument"],BigIntLiteral:[],ExportNamespaceSpecifier:["exported"],OptionalMemberExpression:["object","property"],OptionalCallExpression:["callee","arguments","typeParameters","typeArguments"],ClassProperty:["decorators","key","typeAnnotation","value","variance"],ClassAccessorProperty:["decorators","key","typeAnnotation","value"],ClassPrivateProperty:["decorators","key","typeAnnotation","value","variance"],ClassPrivateMethod:["decorators","key","typeParameters","params","returnType","body"],PrivateName:["id"],StaticBlock:["body"],AnyTypeAnnotation:[],ArrayTypeAnnotation:["elementType"],BooleanTypeAnnotation:[],BooleanLiteralTypeAnnotation:[],NullLiteralTypeAnnotation:[],ClassImplements:["id","typeParameters"],DeclareClass:["id","typeParameters","extends","mixins","implements","body"],DeclareFunction:["id","predicate"],DeclareInterface:["id","typeParameters","extends","body"],DeclareModule:["id","body"],DeclareModuleExports:["typeAnnotation"],DeclareTypeAlias:["id","typeParameters","right"],DeclareOpaqueType:["id","typeParameters","supertype"],DeclareVariable:["id"],DeclareExportDeclaration:["declaration","specifiers","source","attributes"],DeclareExportAllDeclaration:["source","attributes"],DeclaredPredicate:["value"],ExistsTypeAnnotation:[],FunctionTypeAnnotation:["typeParameters","params","rest","returnType","this"],FunctionTypeParam:["name","typeAnnotation"],GenericTypeAnnotation:["id","typeParameters"],InferredPredicate:[],InterfaceExtends:["id","typeParameters"],InterfaceDeclaration:["id","typeParameters","extends","body"],InterfaceTypeAnnotation:["extends","body"],IntersectionTypeAnnotation:["types"],MixedTypeAnnotation:[],EmptyTypeAnnotation:[],NullableTypeAnnotation:["typeAnnotation"],NumberLiteralTypeAnnotation:[],NumberTypeAnnotation:[],ObjectTypeAnnotation:["properties","indexers","callProperties","internalSlots"],ObjectTypeInternalSlot:["id","value"],ObjectTypeCallProperty:["value"],ObjectTypeIndexer:["variance","id","key","value"],ObjectTypeProperty:["key","value","variance"],ObjectTypeSpreadProperty:["argument"],OpaqueType:["id","typeParameters","supertype","impltype"],QualifiedTypeIdentifier:["qualification","id"],StringLiteralTypeAnnotation:[],StringTypeAnnotation:[],SymbolTypeAnnotation:[],ThisTypeAnnotation:[],TupleTypeAnnotation:["types","elementTypes"],TypeofTypeAnnotation:["argument","typeArguments"],TypeAlias:["id","typeParameters","right"],TypeAnnotation:["typeAnnotation"],TypeCastExpression:["expression","typeAnnotation"],TypeParameter:["bound","default","variance"],TypeParameterDeclaration:["params"],TypeParameterInstantiation:["params"],UnionTypeAnnotation:["types"],Variance:[],VoidTypeAnnotation:[],EnumDeclaration:["id","body"],EnumBooleanBody:["members"],EnumNumberBody:["members"],EnumStringBody:["members"],EnumSymbolBody:["members"],EnumBooleanMember:["id","init"],EnumNumberMember:["id","init"],EnumStringMember:["id","init"],EnumDefaultedMember:["id"],IndexedAccessType:["objectType","indexType"],OptionalIndexedAccessType:["objectType","indexType"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXSpreadChild:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes","typeArguments","typeParameters"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXOpeningFragment:[],JSXClosingFragment:[],Noop:[],Placeholder:[],V8IntrinsicIdentifier:[],ArgumentPlaceholder:[],BindExpression:["object","callee"],ImportAttribute:["key","value"],Decorator:["expression"],DoExpression:["body"],ExportDefaultSpecifier:["exported"],RecordExpression:["properties"],TupleExpression:["elements"],ModuleExpression:["body"],TopicReference:[],PipelineTopicExpression:["expression"],PipelineBareFunction:["callee"],PipelinePrimaryTopicReference:[],TSParameterProperty:["parameter","decorators"],TSDeclareFunction:["id","typeParameters","params","returnType","body"],TSDeclareMethod:["decorators","key","typeParameters","params","returnType"],TSQualifiedName:["left","right"],TSCallSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSPropertySignature:["key","typeAnnotation"],TSMethodSignature:["key","typeParameters","parameters","typeAnnotation","params","returnType"],TSIndexSignature:["parameters","typeAnnotation"],TSAnyKeyword:[],TSBooleanKeyword:[],TSBigIntKeyword:[],TSIntrinsicKeyword:[],TSNeverKeyword:[],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSUndefinedKeyword:[],TSUnknownKeyword:[],TSVoidKeyword:[],TSThisType:[],TSFunctionType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructorType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSTypeReference:["typeName","typeParameters","typeArguments"],TSTypePredicate:["parameterName","typeAnnotation"],TSTypeQuery:["exprName","typeParameters","typeArguments"],TSTypeLiteral:["members"],TSArrayType:["elementType"],TSTupleType:["elementTypes"],TSOptionalType:["typeAnnotation"],TSRestType:["typeAnnotation"],TSNamedTupleMember:["label","elementType"],TSUnionType:["types"],TSIntersectionType:["types"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSInferType:["typeParameter"],TSParenthesizedType:["typeAnnotation"],TSTypeOperator:["typeAnnotation"],TSIndexedAccessType:["objectType","indexType"],TSMappedType:["typeParameter","nameType","typeAnnotation"],TSLiteralType:["literal"],TSExpressionWithTypeArguments:["expression","typeParameters"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceBody:["body"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSInstantiationExpression:["expression","typeParameters","typeArguments"],TSAsExpression:["expression","typeAnnotation"],TSSatisfiesExpression:["expression","typeAnnotation"],TSTypeAssertion:["typeAnnotation","expression"],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSModuleDeclaration:["id","body"],TSModuleBlock:["body"],TSImportType:["argument","qualifier","typeParameters","typeArguments"],TSImportEqualsDeclaration:["id","moduleReference"],TSExternalModuleReference:["expression"],TSNonNullExpression:["expression"],TSExportAssignment:["expression"],TSNamespaceExportDeclaration:["id"],TSTypeAnnotation:["typeAnnotation"],TSTypeParameterInstantiation:["params"],TSTypeParameterDeclaration:["params"],TSTypeParameter:["constraint","default","name"],ChainExpression:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],Literal:[],MethodDefinition:["decorators","key","value"],PrivateIdentifier:[],Property:["key","value"],PropertyDefinition:["decorators","key","typeAnnotation","value","variance"],AccessorProperty:["decorators","key","typeAnnotation","value"],TSAbstractAccessorProperty:["decorators","key","typeAnnotation"],TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:["decorators","key","typeAnnotation"],TSAsyncKeyword:[],TSClassImplements:["expression","typeArguments","typeParameters"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSEnumBody:["members"],TSExportKeyword:[],TSInterfaceHeritage:["expression","typeArguments","typeParameters"],TSPrivateKeyword:[],TSProtectedKeyword:[],TSPublicKeyword:[],TSReadonlyKeyword:[],TSStaticKeyword:[],TSTemplateLiteralType:["quasis","types"],AsConstExpression:["expression"],AsExpression:["expression","typeAnnotation"],BigIntLiteralTypeAnnotation:[],BigIntTypeAnnotation:[],ComponentDeclaration:["id","params","body","typeParameters","rendersType"],ComponentParameter:["name","local"],ComponentTypeAnnotation:["params","rest","typeParameters","rendersType"],ComponentTypeParameter:["name","typeAnnotation"],ConditionalTypeAnnotation:["checkType","extendsType","trueType","falseType"],DeclareComponent:["id","params","rest","typeParameters","rendersType"],DeclareEnum:["id","body"],DeclareHook:["id"],DeclareNamespace:["id","body"],EnumBigIntBody:["members"],EnumBigIntMember:["id","init"],HookDeclaration:["id","params","body","typeParameters","returnType"],HookTypeAnnotation:["params","returnType","rest","typeParameters"],InferTypeAnnotation:["typeParameter"],KeyofTypeAnnotation:["argument"],ObjectTypeMappedTypeProperty:["keyTparam","propType","sourceType","variance"],QualifiedTypeofIdentifier:["qualification","id"],TupleTypeLabeledElement:["label","elementType","variance"],TupleTypeSpreadElement:["label","typeAnnotation"],TypeOperator:["typeAnnotation"],TypePredicate:["parameterName","typeAnnotation","asserts"],NGRoot:["node"],NGPipeExpression:["left","right","arguments"],NGChainedExpression:["expressions"],NGEmptyExpression:[],NGMicrosyntax:["body"],NGMicrosyntaxKey:[],NGMicrosyntaxExpression:["expression","alias"],NGMicrosyntaxKeyedExpression:["key","expression"],NGMicrosyntaxLet:["key","value"],NGMicrosyntaxAs:["key","alias"],JsExpressionRoot:["node"],JsonRoot:["node"],TSJSDocAllType:[],TSJSDocUnknownType:[],TSJSDocNullableType:["typeAnnotation"],TSJSDocNonNullableType:["typeAnnotation"],NeverTypeAnnotation:[],UndefinedTypeAnnotation:[],UnknownTypeAnnotation:[],SatisfiesExpression:["expression","typeAnnotation"]},Vsn=Ksn(Gsn),jsn=Vsn;x4t=y4t;Xsn=Jsn;ftr=Zsn;dtr=eon,ton=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},tCe=ton,ron=/\*\/$/,non=/^\/\*\*?/,ion=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,aon=/(^|\s+)\/\/([^\n\r]*)/g,rtr=/^(\r?\n)+/,son=/(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g,ntr=/(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g,oon=/(\r?\n|^) *\* ?/g,Ron=[];Che=pon;hon=_on;xtr=fon,Gie=e=>Che(yon(e)),don={sourceType:"module",allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,allowNewTargetOutsideFunction:!0,allowSuperOutsideMethod:!0,allowUndeclaredExports:!0,errorRecovery:!0,createParenthesizedExpressions:!0,createImportExpressions:!0,plugins:["doExpressions","exportDefaultFrom","functionBind","functionSent","throwExpressions","partialApplication","decorators","moduleBlocks","asyncDoExpressions","destructuringPrivate","decoratorAutoAccessors","explicitResourceManagement","sourcePhaseImports","deferredImportEvaluation",["optionalChainingAssign",{version:"2023-07"}],"recordAndTuple"],tokens:!0,ranges:!0},itr="v8intrinsic",atr=[["pipelineOperator",{proposal:"hack",topicToken:"%"}],["pipelineOperator",{proposal:"fsharp"}]],lw=(e,t=don)=>({...t,plugins:[...t.plugins,...e]}),xon=/@(?:no)?flow\b/u;qon=new Set(["StrictNumericEscape","StrictWith","StrictOctalLiteral","StrictDelete","StrictEvalArguments","StrictEvalArgumentsBinding","StrictFunction","ForInOfLoopInitializer","EmptyTypeArguments","EmptyTypeParameters","ConstructorHasTypeParameters","UnsupportedParameterPropertyKind","DecoratorExportClass","ParamDupe","InvalidDecimal","RestTrailingComma","UnsupportedParameterDecorator","UnterminatedJsxContent","UnexpectedReservedWord","ModuleAttributesWithDuplicateKeys","LineTerminatorBeforeArrow","InvalidEscapeSequenceTemplate","NonAbstractClassHasAbstractMethod","OptionalTypeBeforeRequired","PatternIsOptional","OptionalBindingPattern","DeclareClassFieldHasInitializer","TypeImportCannotSpecifyDefaultAndNamed","ConstructorClassField","VarRedeclaration","InvalidPrivateFieldResolution","DuplicateExport","ImportAttributesUseAssert"]),mtr=[lw(["jsx"])],str=Gie({optionsCombinations:mtr}),otr=Gie({optionsCombinations:[lw(["jsx","typescript"]),lw(["typescript"])]}),Rtr=Gie({isExpression:!0,optionsCombinations:[lw(["jsx"])]}),utr=Gie({isExpression:!0,optionsCombinations:[lw(["typescript"])]}),ktr=Gie({optionsCombinations:[lw(["jsx",["flow",{all:!0}],"flowComments"])]}),Con=Gie({optionsCombinations:mtr.map(e=>lw(["estree"],e))}),Aon={babel:str,"babel-flow":ktr,"babel-ts":otr,__js_expression:Rtr,__ts_expression:utr,__vue_expression:Rtr,__vue_ts_expression:utr,__vue_event_binding:str,__vue_ts_event_binding:otr,__babel_estree:Con},gon=ltr(ctr(),1);m4t=ytr(),bon={json:Che({parse:m4t,hasPragma(){return!0}}),json5:Che(m4t),jsonc:Che(m4t),"json-stringify":Che({parse:ytr({allowComments:!1}),astFormat:"estree-json"})},Eon=bon,qtr={...Aon,...Eon},Oon=ptr});var lir={};x2(lir,{default:()=>BTn,languages:()=>uir,options:()=>oir,printers:()=>Rir});function won(e){return e!==null&&typeof e=="object"}function*Bon(e,t){let{getVisitorKeys:r,filter:n=()=>!0}=t,i=s=>Pon(s)&&n(s);for(let s of r(e)){let R=e[s];if(Array.isArray(R))for(let l of R)i(l)&&(yield l);else i(R)&&(yield R)}}function*Ion(e,t){let r=[e];for(let n=0;n=65281&&e<=65376||e>=65504&&e<=65510}function Fon(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101631&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129673||e>=129679&&e<=129734||e>=129742&&e<=129756||e>=129759&&e<=129769||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function Hon(e){if(!e)return 0;if(!zon.test(e))return e.length;e=e.replace(Won()," ");let t=0;for(let r of e){let n=r.codePointAt(0);n<=31||n>=127&&n<=159||n>=768&&n<=879||(t+=Lon(n)?1:2)}return t}function xCe(e){return(t,r,n)=>{let i=!!(n!=null&&n.backwards);if(r===!1)return!1;let{length:s}=t,R=r;for(;R>=0&&R0}function e0n(e,t){let r=t===!0||t===nCe?nCe:gtr,n=r===nCe?gtr:nCe,i=0,s=0;for(let R of e)R===r?i++:R===n&&s++;return i>s?n:r}function t0n(e,t,r){let n=t==='"'?"'":'"',i=zm(!1,e,/\\(.)|(["'])/gsu,(s,R,l)=>R===n?R:l===t?"\\"+l:l||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/u.test(R)?R:"\\"+R));return t+i+t}function n0n(e,t){t6t(/^(?["']).*\k$/su.test(e));let r=e.slice(1,-1),n=t.parser==="json"||t.parser==="jsonc"||t.parser==="json5"&&t.quoteProps==="preserve"&&!t.singleQuote?'"':t.__isInHtmlAttribute?"'":trr(r,t.singleQuote);return e.charAt(0)===n?e:r0n(r,n,!1)}function T_(e){var t,r,n;let i=((t=e.range)==null?void 0:t[0])??e.start,s=(n=((r=e.declaration)==null?void 0:r.decorators)??e.decorators)==null?void 0:n[0];return s?Math.min(T_(s),i):i}function Cu(e){var t;return((t=e.range)==null?void 0:t[1])??e.end}function mCe(e,t){let r=T_(e);return Number.isInteger(r)&&r===T_(t)}function i0n(e,t){let r=Cu(e);return Number.isInteger(r)&&r===Cu(t)}function a0n(e,t){return mCe(e,t)&&i0n(e,t)}function Ehe(e){if(ghe!==null&&typeof ghe.property){let t=ghe;return ghe=Ehe.prototype=null,t}return ghe=Ehe.prototype=e??Object.create(null),new Ehe}function o0n(e){return Ehe(e)}function R0n(e,t="type"){o0n(e);function r(n){let i=n[t],s=e[i];if(!Array.isArray(s))throw Object.assign(new Error(`Missing visitor keys for '${i}'.`),{node:n});return s}return r}function c0n(e){let t=new Set(e);return r=>t.has(r?.type)}function _0n(e,t){let r=t.split(".");for(let n=r.length-1;n>=0;n--){let i=r[n];if(n===0)return e.type==="Identifier"&&e.name===i;if(e.type!=="MemberExpression"||e.optional||e.computed||e.property.type!=="Identifier"||e.property.name!==i)return!1;e=e.object}}function h0n(e,t){return t.some(r=>_0n(e,r))}function d0n({type:e}){return e.startsWith("TS")&&e.endsWith("Keyword")}function P4t(e,t){return t(e)||Mon(e,{getVisitorKeys:nrr,predicate:t})}function r6t(e){return e.type==="AssignmentExpression"||e.type==="BinaryExpression"||e.type==="LogicalExpression"||e.type==="NGPipeExpression"||e.type==="ConditionalExpression"||rl(e)||H_(e)||e.type==="SequenceExpression"||e.type==="TaggedTemplateExpression"||e.type==="BindExpression"||e.type==="UpdateExpression"&&!e.prefix||OD(e)||e.type==="TSNonNullExpression"||e.type==="ChainExpression"}function x0n(e){return e.expressions?e.expressions[0]:e.left??e.test??e.callee??e.object??e.tag??e.argument??e.expression}function srr(e){if(e.expressions)return["expressions",0];if(e.left)return["left"];if(e.test)return["test"];if(e.object)return["object"];if(e.callee)return["callee"];if(e.tag)return["tag"];if(e.argument)return["argument"];if(e.expression)return["expression"];throw new Error("Unexpected node has no left side.")}function k0n(e){return e.type==="LogicalExpression"&&e.operator==="??"}function cw(e){return e.type==="NumericLiteral"||e.type==="Literal"&&typeof e.value=="number"}function orr(e){return e.type==="UnaryExpression"&&(e.operator==="+"||e.operator==="-")&&cw(e.argument)}function UC(e){return!!(e&&(e.type==="StringLiteral"||e.type==="Literal"&&typeof e.value=="string"))}function Rrr(e){return e.type==="RegExpLiteral"||e.type==="Literal"&&!!e.regex}function q0n(e){return e.type==="FunctionExpression"||e.type==="ArrowFunctionExpression"&&e.body.type==="BlockStatement"}function g4t(e){return rl(e)&&e.callee.type==="Identifier"&&["async","inject","fakeAsync","waitForAsync"].includes(e.callee.name)}function kCe(e){return e.method&&e.kind==="init"||e.kind==="get"||e.kind==="set"}function urr(e){return(e.type==="ObjectTypeProperty"||e.type==="ObjectTypeInternalSlot")&&!e.static&&!e.method&&e.kind!=="get"&&e.kind!=="set"&&e.value.type==="FunctionTypeAnnotation"}function C0n(e){return(e.type==="TypeAnnotation"||e.type==="TSTypeAnnotation")&&e.typeAnnotation.type==="FunctionTypeAnnotation"&&!e.static&&!mCe(e,e.typeAnnotation)}function jie(e){return H_(e)||e.type==="BindExpression"&&!!e.object}function i6t(e){return arr(e)||irr(e)||A0n(e)||(e.type==="GenericTypeAnnotation"||e.type==="TSTypeReference")&&!e.typeParameters&&!e.typeArguments}function g0n(e){return e.type==="Identifier"&&(e.name==="beforeEach"||e.name==="beforeAll"||e.name==="afterEach"||e.name==="afterAll")}function E0n(e){return f0n(e,b0n)}function yCe(e,t){if(e?.type!=="CallExpression"||e.optional)return!1;let r=og(e);if(r.length===1){if(g4t(e)&&yCe(t))return Dhe(r[0]);if(g0n(e.callee))return g4t(r[0])}else if((r.length===2||r.length===3)&&(r[0].type==="TemplateLiteral"||UC(r[0]))&&E0n(e.callee))return r[2]&&!cw(r[2])?!1:(r.length===2?Dhe(r[1]):q0n(r[1])&&ly(r[1]).length<=1)||g4t(r[1]);return!1}function btr(e,t=5){return crr(e,t)<=t}function crr(e,t){let r=0;for(let n in e){let i=e[n];if(i&&typeof i=="object"&&typeof i.type=="string"&&(r++,r+=crr(i,t-r)),r>t)return r}return r}function a6t(e,t){let{printWidth:r}=t;if(Xa(e))return!1;let n=r*O0n;if(e.type==="ThisExpression"||e.type==="Identifier"&&e.name.length<=n||orr(e)&&!Xa(e.argument))return!0;let i=e.type==="Literal"&&"regex"in e&&e.regex.pattern||e.type==="RegExpLiteral"&&e.pattern;return i?i.length<=n:UC(e)?rae(ng(e),t).length<=n:e.type==="TemplateLiteral"?e.expressions.length===0&&e.quasis[0].value.raw.length<=n&&!e.quasis[0].value.raw.includes(` +`):e.type==="UnaryExpression"?a6t(e.argument,{printWidth:r}):e.type==="CallExpression"&&e.arguments.length===0&&e.callee.type==="Identifier"?e.callee.name.length<=n-2:n6t(e)}function XJ(e,t){return D7(t)?qCe(t):Xa(t,Is.Leading,r=>xA(e,Cu(r)))}function Etr(e){return e.quasis.some(t=>t.value.raw.includes(` +`))}function Trr(e,t){return(e.type==="TemplateLiteral"&&Etr(e)||e.type==="TaggedTemplateExpression"&&Etr(e.quasi))&&!xA(t,T_(e),{backwards:!0})}function prr(e){if(!Xa(e))return!1;let t=dl(!1,Xie(e,Is.Dangling),-1);return t&&!sg(t)}function v0n(e){if(e.length<=1)return!1;let t=0;for(let r of e)if(Dhe(r)){if(t+=1,t>1)return!0}else if(rl(r)){for(let n of og(r))if(Dhe(n))return!0}return!1}function _rr(e){let{node:t,parent:r,key:n}=e;return n==="callee"&&rl(t)&&rl(r)&&r.arguments.length>0&&t.arguments.length>r.arguments.length}function rO(e,t=2){if(t<=0)return!1;if(e.type==="ChainExpression"||e.type==="TSNonNullExpression")return rO(e.expression,t);let r=n=>rO(n,t-1);if(Rrr(e))return Zie(e.pattern??e.regex.pattern)<=5;if(n6t(e)||y0n(e)||e.type==="ArgumentPlaceholder")return!0;if(e.type==="TemplateLiteral")return e.quasis.every(n=>!n.value.raw.includes(` +`))&&e.expressions.every(r);if(iO(e))return e.properties.every(n=>!n.computed&&(n.shorthand||n.value&&r(n.value)));if(Ym(e))return e.elements.every(n=>n===null||r(n));if(nae(e)){if(e.type==="ImportExpression"||rO(e.callee,t)){let n=og(e);return n.length<=t&&n.every(r)}return!1}return H_(e)?rO(e.object,t)&&rO(e.property,t):e.type==="UnaryExpression"&&D0n.has(e.operator)||e.type==="UpdateExpression"?rO(e.argument,t):!1}function ng(e){var t;return((t=e.extra)==null?void 0:t.raw)??e.raw}function S0n(e){return e}function _w(e,t="es5"){return e.trailingComma==="es5"&&t==="es5"||e.trailingComma==="all"&&(t==="all"||t==="es5")}function O4(e,t){switch(e.type){case"BinaryExpression":case"LogicalExpression":case"AssignmentExpression":case"NGPipeExpression":return O4(e.left,t);case"MemberExpression":case"OptionalMemberExpression":return O4(e.object,t);case"TaggedTemplateExpression":return e.tag.type==="FunctionExpression"?!1:O4(e.tag,t);case"CallExpression":case"OptionalCallExpression":return e.callee.type==="FunctionExpression"?!1:O4(e.callee,t);case"ConditionalExpression":return O4(e.test,t);case"UpdateExpression":return!e.prefix&&O4(e.argument,t);case"BindExpression":return e.object&&O4(e.object,t);case"SequenceExpression":return O4(e.expressions[0],t);case"ChainExpression":case"TSSatisfiesExpression":case"TSAsExpression":case"TSNonNullExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":return O4(e.expression,t);default:return t(e)}}function s6t(e,t){return!(TCe(t)!==TCe(e)||e==="**"||Otr[e]&&Otr[t]||t==="%"&&iCe[e]||e==="%"&&iCe[t]||t!==e&&iCe[t]&&iCe[e]||B4t[e]&&B4t[t])}function TCe(e){return $0n.get(e)}function Q0n(e){return!!B4t[e]||e==="|"||e==="^"||e==="&"}function N0n(e){var t;if(e.rest)return!0;let r=ly(e);return((t=dl(!1,r,-1))==null?void 0:t.type)==="RestElement"}function ly(e){if(b4t.has(e))return b4t.get(e);let t=[];return e.this&&t.push(e.this),Array.isArray(e.parameters)?t.push(...e.parameters):Array.isArray(e.params)&&t.push(...e.params),e.rest&&t.push(e.rest),b4t.set(e,t),t}function w0n(e,t){let{node:r}=e,n=0,i=s=>t(s,n++);r.this&&e.call(i,"this"),Array.isArray(r.parameters)?e.each(i,"parameters"):Array.isArray(r.params)&&e.each(i,"params"),r.rest&&e.call(i,"rest")}function og(e){if(E4t.has(e))return E4t.get(e);if(e.type==="ChainExpression")return og(e.expression);let t=e.arguments;return e.type==="ImportExpression"&&(t=[e.source],e.options&&t.push(e.options)),E4t.set(e,t),t}function pCe(e,t){let{node:r}=e;if(r.type==="ChainExpression")return e.call(()=>pCe(e,t),"expression");r.type==="ImportExpression"?(e.call(n=>t(n,0),"source"),r.options&&e.call(n=>t(n,1),"options")):e.each(t,"arguments")}function vtr(e,t){let r=[];if(e.type==="ChainExpression"&&(e=e.expression,r.push("expression")),e.type==="ImportExpression"){if(t===0||t===(e.options?-2:-1))return[...r,"source"];if(e.options&&(t===1||t===-1))return[...r,"options"];throw new RangeError("Invalid argument index")}if(t<0&&(t=e.arguments.length+t),t<0||t>=e.arguments.length)throw new RangeError("Invalid argument index");return[...r,"arguments",t]}function _Ce(e){return e.value.trim()==="prettier-ignore"&&!e.unignore}function qCe(e){return e?.prettierIgnore||Xa(e,Is.PrettierIgnore)}function Xa(e,t,r){if(!xl(e?.comments))return!1;let n=hrr(t,r);return n?e.comments.some(n):!0}function Xie(e,t,r){if(!Array.isArray(e?.comments))return[];let n=hrr(t,r);return n?e.comments.filter(n):e.comments}function nae(e){return rl(e)||e.type==="NewExpression"||e.type==="ImportExpression"}function fw(e){return e&&(e.type==="ObjectProperty"||e.type==="Property"&&!kCe(e))}function drr(e,t,r){var n,i;if(e.type==="Program"&&delete t.sourceType,(e.type==="BigIntLiteral"||e.type==="BigIntLiteralTypeAnnotation")&&e.value&&(t.value=e.value.toLowerCase()),(e.type==="BigIntLiteral"||e.type==="Literal")&&e.bigint&&(t.bigint=e.bigint.toLowerCase()),e.type==="EmptyStatement"||e.type==="JSXText"||e.type==="JSXExpressionContainer"&&(e.expression.type==="Literal"||e.expression.type==="StringLiteral")&&e.expression.value===" ")return null;if((e.type==="Property"||e.type==="ObjectProperty"||e.type==="MethodDefinition"||e.type==="ClassProperty"||e.type==="ClassMethod"||e.type==="PropertyDefinition"||e.type==="TSDeclareMethod"||e.type==="TSPropertySignature"||e.type==="ObjectTypeProperty"||e.type==="ImportAttribute")&&e.key&&!e.computed){let{key:R}=e;UC(R)||cw(R)?t.key=String(R.value):R.type==="Identifier"&&(t.key=R.name)}if(e.type==="JSXElement"&&e.openingElement.name.name==="style"&&e.openingElement.attributes.some(R=>R.type==="JSXAttribute"&&R.name.name==="jsx"))for(let{type:R,expression:l}of t.children)R==="JSXExpressionContainer"&&l.type==="TemplateLiteral"&&Vie(l);e.type==="JSXAttribute"&&e.name.name==="css"&&e.value.type==="JSXExpressionContainer"&&e.value.expression.type==="TemplateLiteral"&&Vie(t.value.expression),e.type==="JSXAttribute"&&((n=e.value)==null?void 0:n.type)==="Literal"&&/["']|"|'/u.test(e.value.value)&&(t.value.value=zm(!1,e.value.value,/["']|"|'/gu,'"'));let s=e.expression||e.callee;if(e.type==="Decorator"&&s.type==="CallExpression"&&s.callee.name==="Component"&&s.arguments.length===1){let R=e.expression.arguments[0].properties;for(let[l,c]of t.expression.arguments[0].properties.entries())switch(R[l].key.name){case"styles":Ym(c.value)&&Vie(c.value.elements[0]);break;case"template":c.value.type==="TemplateLiteral"&&Vie(c.value);break}}e.type==="TaggedTemplateExpression"&&(e.tag.type==="MemberExpression"||e.tag.type==="Identifier"&&(e.tag.name==="gql"||e.tag.name==="graphql"||e.tag.name==="css"||e.tag.name==="md"||e.tag.name==="markdown"||e.tag.name==="html")||e.tag.type==="CallExpression")&&Vie(t.quasi),e.type==="TemplateLiteral"&&((i=e.leadingComments)!=null&&i.some(R=>sg(R)&&["GraphQL","HTML"].some(l=>R.value===` ${l} `))||r.type==="CallExpression"&&r.callee.name==="graphql"||!e.leadingComments)&&Vie(t),e.type==="ChainExpression"&&e.expression.type==="TSNonNullExpression"&&(t.type="TSNonNullExpression",t.expression.type="ChainExpression"),e.type==="TSMappedType"&&(delete t.key,delete t.constraint),e.type==="TSEnumDeclaration"&&delete t.body}function I0n(e){if(typeof e=="string")return sae;if(Array.isArray(e))return RW;if(!e)return;let{type:t}=e;if(xrr.has(t))return t}function W0n(e){let t=e===null?"null":typeof e;if(t!=="string"&&t!=="object")return`Unexpected doc '${t}', +Expected it to be 'string' or 'object'.`;if(uae(e))throw new Error("doc is valid.");let r=Object.prototype.toString.call(e);if(r!=="[object Object]")return`Unexpected doc '${r}'.`;let n=M0n([...xrr].map(i=>`'${i}'`));return`Unexpected doc.type '${e.type}'. +Expected it to be ${n}.`}function F0n(e,t,r,n){let i=[e];for(;i.length>0;){let s=i.pop();if(s===Dtr){r(i.pop());continue}r&&i.push(s,Dtr);let R=uae(s);if(!R)throw new She(s);if(t?.(s)!==!1)switch(R){case RW:case lW:{let l=R===RW?s:s.parts;for(let c=l.length,h=c-1;h>=0;--h)i.push(l[h]);break}case vD:i.push(s.flatContents,s.breakContents);break;case ig:if(n&&s.expandedStates)for(let l=s.expandedStates.length,c=l-1;c>=0;--c)i.push(s.expandedStates[c]);else i.push(s.contents);break;case nX:case rX:case iX:case cW:case aX:i.push(s.contents);break;case sae:case oae:case Rae:case sX:case mA:case TW:break;default:throw new She(s)}}}function ca(e){return DD(e),{type:rX,contents:e}}function SD(e,t){return DD(t),{type:nX,contents:t,n:e}}function Vn(e,t={}){return DD(e),o6t(t.expandedStates,!0),{type:ig,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function L0n(e){return SD(Number.NEGATIVE_INFINITY,e)}function yrr(e){return SD(-1,e)}function JJ(e,t){return Vn(e[0],{...t,expandedStates:e})}function qrr(e){return o6t(e),{type:lW,parts:e}}function j0(e,t="",r={}){return DD(e),t!==""&&DD(t),{type:vD,breakContents:e,flatContents:t,groupId:r.groupId}}function CCe(e,t){return DD(e),{type:iX,contents:e,groupId:t.groupId,negate:t.negate}}function Str(e){return DD(e),{type:aX,contents:e}}function qu(e,t){DD(e),o6t(t);let r=[];for(let n=0;n0){for(let i=0;i0){let t=dl(!1,e,-1);!t.expandedStates&&!t.break&&(t.break="propagated")}return null}function K0n(e){let t=new Set,r=[];function n(s){if(s.type===TW&&$tr(r),s.type===ig){if(r.push(s),t.has(s))return!1;t.add(s)}}function i(s){s.type===ig&&r.pop().break&&$tr(r)}mrr(e,n,i,!0)}function G0n(e){return e.type===mA&&!e.hard?e.soft?"":" ":e.type===vD?e.flatContents:e}function I4t(e){return lae(e,G0n)}function V0n(e){switch(uae(e)){case lW:if(e.parts.every(t=>t===""))return"";break;case ig:if(!e.contents&&!e.id&&!e.break&&!e.expandedStates)return"";if(e.contents.type===ig&&e.contents.id===e.id&&e.contents.break===e.break&&e.contents.expandedStates===e.expandedStates)return e.contents;break;case nX:case rX:case iX:case aX:if(!e.contents)return"";break;case vD:if(!e.flatContents&&!e.breakContents)return"";break;case RW:{let t=[];for(let r of e){if(!r)continue;let[n,...i]=Array.isArray(r)?r:[r];typeof n=="string"&&typeof dl(!1,t,-1)=="string"?t[t.length-1]+=n:t.push(n),t.push(...i)}return t.length===0?"":t.length===1?t[0]:t}case sae:case oae:case Rae:case sX:case mA:case cW:case TW:break;default:throw new She(e)}return e}function R6t(e){return lae(e,t=>V0n(t))}function eX(e,t=Arr){return lae(e,r=>typeof r=="string"?qu(t,r.split(` +`)):r)}function j0n(e){if(e.type===mA)return!0}function J0n(e){return grr(e,j0n,!1)}function M4t(e,t){return e.type===cW?{...e,contents:t(e.contents)}:t(e)}function X0n(e){let t=`*${e.value}*`.split(` +`);return t.length>1&&t.every(r=>r.trimStart()[0]==="*")}function eRn(e,t){let r=e.node;if(aae(r))return t.originalText.slice(T_(r),Cu(r)).trimEnd();if(sg(r))return Z0n(r)?tRn(r):["/*",eX(r.value),"*/"];throw new Error("Not a comment: "+JSON.stringify(r))}function tRn(e){let t=e.value.split(` +`);return["/*",qu(ia,t.map((r,n)=>n===0?r.trimEnd():" "+(n20&&(r=r.slice(0,19)+"\u2026"),t+(r?" "+r:"")}function u6t(e,t){(e.comments??(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=rRn(e)}function Km(e,t){t.leading=!0,t.trailing=!1,u6t(e,t)}function ag(e,t,r){t.leading=!1,t.trailing=!1,r&&(t.marker=r),u6t(e,t)}function bp(e,t){t.leading=!1,t.trailing=!0,u6t(e,t)}function nRn(e,t){let r=null,n=t;for(;n!==r;)r=n,n=eae(e,n),n=X4t(e,n),n=Z4t(e,n),n=tae(e,n);return n}function iRn(e,t){let r=cae(e,t);return r===!1?"":e.charAt(r)}function aRn(e,t,r){for(let n=t;nt(e))}function uRn(e){return[cRn,Srr,Orr,Qrr,l6t,c6t,Err,vrr,$rr,qRn,ARn,p6t,vRn,T6t,$Rn,QRn,wRn].some(t=>t(e))}function lRn(e){return[Nrr,l6t,c6t,_Rn,kRn,Drr,p6t,mRn,xRn,SRn,T6t,DRn].some(t=>t(e))}function oX(e,t){let r=(e.body||e.properties).find(({type:n})=>n!=="EmptyStatement");r?Km(r,t):ag(e,t)}function W4t(e,t){e.type==="BlockStatement"?oX(e,t):Km(e,t)}function cRn({comment:e,followingNode:t}){return t&&oRn(e)?(Km(t,e),!0):!1}function l6t({comment:e,precedingNode:t,enclosingNode:r,followingNode:n,text:i}){if(r?.type!=="IfStatement"||!n)return!1;if(aO(i,Cu(e))===")")return bp(t,e),!0;if(t===r.consequent&&n===r.alternate){let s=cae(i,Cu(r.consequent));if(T_(e)"?(ag(t,e),!0):!1}function kRn({comment:e,enclosingNode:t,text:r}){return aO(r,Cu(e))!==")"?!1:t&&(wrr(t)&&ly(t).length===0||nae(t)&&og(t).length===0)?(ag(t,e),!0):(t?.type==="MethodDefinition"||t?.type==="TSAbstractMethodDefinition")&&ly(t.value).length===0?(ag(t.value,e),!0):!1}function yRn({comment:e,precedingNode:t,enclosingNode:r,followingNode:n,text:i}){return t?.type==="ComponentTypeParameter"&&(r?.type==="DeclareComponent"||r?.type==="ComponentTypeAnnotation")&&n?.type!=="ComponentTypeParameter"||(t?.type==="ComponentParameter"||t?.type==="RestElement")&&r?.type==="ComponentDeclaration"&&aO(i,Cu(e))===")"?(bp(t,e),!0):!1}function Srr({comment:e,precedingNode:t,enclosingNode:r,followingNode:n,text:i}){return t?.type==="FunctionTypeParam"&&r?.type==="FunctionTypeAnnotation"&&n?.type!=="FunctionTypeParam"||(t?.type==="Identifier"||t?.type==="AssignmentPattern"||t?.type==="ObjectPattern"||t?.type==="ArrayPattern"||t?.type==="RestElement"||t?.type==="TSParameterProperty")&&wrr(r)&&aO(i,Cu(e))===")"?(bp(t,e),!0):!sg(e)&&(r?.type==="FunctionDeclaration"||r?.type==="FunctionExpression"||r?.type==="ObjectMethod")&&n?.type==="BlockStatement"&&r.body===n&&cae(i,Cu(e))===T_(n)?(oX(n,e),!0):!1}function $rr({comment:e,enclosingNode:t}){return t?.type==="LabeledStatement"?(Km(t,e),!0):!1}function T6t({comment:e,enclosingNode:t}){return(t?.type==="ContinueStatement"||t?.type==="BreakStatement")&&!t.label?(bp(t,e),!0):!1}function qRn({comment:e,precedingNode:t,enclosingNode:r}){return rl(r)&&t&&r.callee===t&&r.arguments.length>0?(Km(r.arguments[0],e),!0):!1}function CRn({comment:e,precedingNode:t,enclosingNode:r,followingNode:n}){return ZJ(r)?(_Ce(e)&&(n.prettierIgnore=!0,e.unignore=!0),t?(bp(t,e),!0):!1):(ZJ(n)&&_Ce(e)&&(n.types[0].prettierIgnore=!0,e.unignore=!0),!1)}function ARn({comment:e,enclosingNode:t}){return fw(t)?(Km(t,e),!0):!1}function p6t({comment:e,enclosingNode:t,ast:r,isLastComment:n}){var i;return((i=r?.body)==null?void 0:i.length)===0?(n?ag(r,e):Km(r,e),!0):t?.type==="Program"&&t.body.length===0&&!xl(t.directives)?(n?ag(t,e):Km(t,e),!0):!1}function gRn({comment:e,enclosingNode:t}){return t?.type==="ForInStatement"||t?.type==="ForOfStatement"?(Km(t,e),!0):!1}function Qrr({comment:e,precedingNode:t,enclosingNode:r,text:n}){if(r?.type==="ImportSpecifier"||r?.type==="ExportSpecifier")return Km(r,e),!0;let i=t?.type==="ImportSpecifier"&&r?.type==="ImportDeclaration",s=t?.type==="ExportSpecifier"&&r?.type==="ExportNamedDeclaration";return(i||s)&&xA(n,Cu(e))?(bp(t,e),!0):!1}function bRn({comment:e,enclosingNode:t}){return t?.type==="AssignmentPattern"?(Km(t,e),!0):!1}function vRn({comment:e,enclosingNode:t,followingNode:r}){return ERn.has(t?.type)&&r&&(ORn.has(r.type)||sg(e))?(Km(r,e),!0):!1}function DRn({comment:e,enclosingNode:t,followingNode:r,text:n}){return!r&&(t?.type==="TSMethodSignature"||t?.type==="TSDeclareFunction"||t?.type==="TSAbstractMethodDefinition")&&aO(n,Cu(e))===";"?(bp(t,e),!0):!1}function Nrr({comment:e,enclosingNode:t,followingNode:r}){if(_Ce(e)&&t?.type==="TSMappedType"&&r?.type==="TSTypeParameter"&&r.constraint)return t.prettierIgnore=!0,e.unignore=!0,!0}function SRn({comment:e,precedingNode:t,enclosingNode:r,followingNode:n}){return r?.type!=="TSMappedType"?!1:n?.type==="TSTypeParameter"&&n.name?(Km(n.name,e),!0):t?.type==="TSTypeParameter"&&t.constraint?(bp(t.constraint,e),!0):!1}function $Rn({comment:e,enclosingNode:t,followingNode:r}){return!t||t.type!=="SwitchCase"||t.test||!r||r!==t.consequent[0]?!1:(r.type==="BlockStatement"&&aae(e)?oX(r,e):ag(t,e),!0)}function QRn({comment:e,precedingNode:t,enclosingNode:r,followingNode:n}){return ZJ(t)&&((r.type==="TSArrayType"||r.type==="ArrayTypeAnnotation")&&!n||frr(r))?(bp(dl(!1,t.types,-1),e),!0):!1}function NRn({comment:e,enclosingNode:t,precedingNode:r,followingNode:n}){if((t?.type==="ObjectPattern"||t?.type==="ArrayPattern")&&n?.type==="TSTypeAnnotation")return r?bp(r,e):ag(t,e),!0}function wRn({comment:e,precedingNode:t,enclosingNode:r,followingNode:n}){var i;if(!n&&r?.type==="UnaryExpression"&&(t?.type==="LogicalExpression"||t?.type==="BinaryExpression")){let s=((i=r.argument.loc)==null?void 0:i.start.line)!==t.right.loc.start.line,R=aae(e)||e.loc.start.line===e.loc.end.line,l=e.loc.start.line===t.right.loc.start.line;if(s&&R&&l)return bp(t.right,e),!0}return!1}function BRn(e){return!PRn.has(e.type)}function IRn(e,t){var r;if((t.parser==="typescript"||t.parser==="flow"||t.parser==="acorn"||t.parser==="espree"||t.parser==="meriyah"||t.parser==="__babel_estree")&&e.type==="MethodDefinition"&&((r=e.value)==null?void 0:r.type)==="FunctionExpression"&&ly(e.value).length===0&&!e.value.returnType&&!xl(e.value.typeParameters)&&e.value.body)return[...e.decorators||[],e.key,e.value.body]}function Prr(e){let{node:t,parent:r}=e;return(D7(t)||r&&(r.type==="JSXSpreadAttribute"||r.type==="JSXSpreadChild"||ZJ(r)||(r.type==="ClassDeclaration"||r.type==="ClassExpression")&&r.superClass===t))&&(!qCe(t)||ZJ(r))}function MRn(e,{parser:t}){if(t==="flow"||t==="babel-flow")return e=zm(!1,e,/[\s(]/gu,""),e===""||e==="/*"||e==="/*::"}function WRn(e){switch(e){case"cr":return"\r";case"crlf":return`\r +`;default:return` +`}}function Brr(){return{value:"",length:0,queue:[]}}function URn(e,t){return F4t(e,{type:"indent"},t)}function FRn(e,t,r){return t===Number.NEGATIVE_INFINITY?e.root||Brr():t<0?F4t(e,{type:"dedent"},r):t?t.type==="root"?{...e,root:e}:F4t(e,{type:typeof t=="string"?"stringAlign":"numberAlign",n:t},r):e}function F4t(e,t,r){let n=t.type==="dedent"?e.queue.slice(0,-1):[...e.queue,t],i="",s=0,R=0,l=0;for(let y of n)switch(y.type){case"indent":_(),r.useTabs?c(1):h(r.tabWidth);break;case"stringAlign":_(),i+=y.n,s+=y.n.length;break;case"numberAlign":R+=1,l+=y.n;break;default:throw new Error(`Unexpected type '${y.type}'`)}return m(),{...e,value:i,length:s,queue:n};function c(y){i+=" ".repeat(y),s+=r.tabWidth*y}function h(y){i+=" ".repeat(y),s+=y}function _(){r.useTabs?f():m()}function f(){R>0&&c(R),x()}function m(){l>0&&h(l),x()}function x(){R=0,l=0}}function L4t(e){let t=0,r=0,n=e.length;e:for(;n--;){let i=e[n];if(i===Jie){r++;continue}for(let s=i.length-1;s>=0;s--){let R=i[s];if(R===" "||R===" ")t++;else{e[n]=i.slice(0,s+1);break e}}}if(t>0||r>0)for(e.length=n+1;r-- >0;)e.push(Jie);return t}function sCe(e,t,r,n,i,s){if(r===Number.POSITIVE_INFINITY)return!0;let R=t.length,l=[e],c=[];for(;r>=0;){if(l.length===0){if(R===0)return!0;l.push(t[--R]);continue}let{mode:h,doc:_}=l.pop(),f=uae(_);switch(f){case sae:c.push(_),r-=Zie(_);break;case RW:case lW:{let m=f===RW?_:_.parts,x=_[U4t]??0;for(let y=m.length-1;y>=x;y--)l.push({mode:h,doc:m[y]});break}case rX:case nX:case iX:case cW:l.push({mode:h,doc:_.contents});break;case Rae:r+=L4t(c);break;case ig:{if(s&&_.break)return!1;let m=_.break?WC:h,x=_.expandedStates&&m===WC?dl(!1,_.expandedStates,-1):_.contents;l.push({mode:m,doc:x});break}case vD:{let m=(_.groupId?i[_.groupId]||ED:h)===WC?_.breakContents:_.flatContents;m&&l.push({mode:h,doc:m});break}case mA:if(h===WC||_.hard)return!0;_.soft||(c.push(" "),r--);break;case aX:n=!0;break;case sX:if(n)return!1;break}}return!1}function Irr(e,t){let r={},n=t.printWidth,i=WRn(t.endOfLine),s=0,R=[{ind:Brr(),mode:WC,doc:e}],l=[],c=!1,h=[],_=0;for(K0n(e);R.length>0;){let{ind:m,mode:x,doc:y}=R.pop();switch(uae(y)){case sae:{let A=i!==` +`?zm(!1,y,` +`,i):y;l.push(A),R.length>0&&(s+=Zie(A));break}case RW:for(let A=y.length-1;A>=0;A--)R.push({ind:m,mode:x,doc:y[A]});break;case oae:if(_>=2)throw new Error("There are too many 'cursor' in doc.");l.push(Jie),_++;break;case rX:R.push({ind:URn(m,t),mode:x,doc:y.contents});break;case nX:R.push({ind:FRn(m,y.n,t),mode:x,doc:y.contents});break;case Rae:s-=L4t(l);break;case ig:switch(x){case ED:if(!c){R.push({ind:m,mode:y.break?WC:ED,doc:y.contents});break}case WC:{c=!1;let A={ind:m,mode:ED,doc:y.contents},D=n-s,S=h.length>0;if(!y.break&&sCe(A,R,D,S,r))R.push(A);else if(y.expandedStates){let P=dl(!1,y.expandedStates,-1);if(y.break){R.push({ind:m,mode:WC,doc:P});break}else for(let M=1;M=y.expandedStates.length){R.push({ind:m,mode:WC,doc:P});break}else{let U=y.expandedStates[M],w={ind:m,mode:ED,doc:U};if(sCe(w,R,D,S,r)){R.push(w);break}}}else R.push({ind:m,mode:WC,doc:y.contents});break}}y.id&&(r[y.id]=dl(!1,R,-1).mode);break;case lW:{let A=n-s,D=y[U4t]??0,{parts:S}=y,P=S.length-D;if(P===0)break;let M=S[D+0],U=S[D+1],w={ind:m,mode:ED,doc:M},F={ind:m,mode:WC,doc:M},H=sCe(w,[],A,h.length>0,r,!0);if(P===1){H?R.push(w):R.push(F);break}let G={ind:m,mode:ED,doc:U},ee={ind:m,mode:WC,doc:U};if(P===2){H?R.push(G,w):R.push(ee,F);break}let fe=S[D+2],me={ind:m,mode:x,doc:{...y,[U4t]:D+2}};sCe({ind:m,mode:ED,doc:[M,U,fe]},[],A,h.length>0,r,!0)?R.push(me,G,w):H?R.push(me,ee,w):R.push(me,ee,F);break}case vD:case iX:{let A=y.groupId?r[y.groupId]:x;if(A===WC){let D=y.type===vD?y.breakContents:y.negate?y.contents:ca(y.contents);D&&R.push({ind:m,mode:x,doc:D})}if(A===ED){let D=y.type===vD?y.flatContents:y.negate?ca(y.contents):y.contents;D&&R.push({ind:m,mode:x,doc:D})}break}case aX:h.push({ind:m,mode:x,doc:y.contents});break;case sX:h.length>0&&R.push({ind:m,mode:x,doc:Crr});break;case mA:switch(x){case ED:if(y.hard)c=!0;else{y.soft||(l.push(" "),s+=1);break}case WC:if(h.length>0){R.push({ind:m,mode:x,doc:y},...h.reverse()),h.length=0;break}y.literal?m.root?(l.push(i,m.root.value),s=m.root.length):(l.push(i),s=0):(s-=L4t(l),l.push(i+m.value),s=m.length);break}break;case cW:R.push({ind:m,mode:x,doc:y.contents});break;case TW:break;default:throw new She(y)}R.length===0&&h.length>0&&(R.push(...h.reverse()),h.length=0)}let f=l.indexOf(Jie);if(f!==-1){let m=l.indexOf(Jie,f+1);if(m===-1)return{formatted:l.filter(D=>D!==Jie).join("")};let x=l.slice(0,f).join(""),y=l.slice(f+1,m).join(""),A=l.slice(m+1).join("");return{formatted:x+y+A,cursorNodeStart:x.length,cursorNodeText:y}}return{formatted:l.join("")}}function LRn(e,t,r=0){let n=0;for(let i=r;i{if(s.push(t()),h.tail)return;let{tabWidth:_}=r,f=h.value.raw,m=f.includes(` +`)?YRn(f,_):l;l=m;let x=R[c],y=n[i][c],A=uW(r.originalText,Cu(h),T_(n.quasis[c+1]));if(!A){let S=Irr(x,{...r,printWidth:Number.POSITIVE_INFINITY}).formatted;S.includes(` +`)?A=!0:x=S}A&&(Xa(y)||y.type==="Identifier"||H_(y)||y.type==="ConditionalExpression"||y.type==="SequenceExpression"||OD(y)||Tw(y))&&(x=[ca([Vi,x]),Vi]);let D=m===0&&f.endsWith(` +`)?SD(Number.NEGATIVE_INFINITY,x):H0n(x,m,_);s.push(Vn(["${",D,pw,"}"]))},"quasis"),s.push("`"),s}function KRn(e,t){let r=t("quasi");return Nhe(r.label&&{tagged:!0,...r.label},[t("tag"),t(e.node.typeArguments?"typeArguments":"typeParameters"),pw,r])}function GRn(e,t,r){let{node:n}=e,i=n.quasis[0].value.raw.trim().split(/\s*\|\s*/u);if(i.length>1||i.some(s=>s.length>0)){t.__inJestEach=!0;let s=e.map(r,"expressions");t.__inJestEach=!1;let R=[],l=s.map(m=>"${"+Irr(m,{...t,printWidth:Number.POSITIVE_INFINITY,endOfLine:"lf"}).formatted+"}"),c=[{hasLineBreak:!1,cells:[]}];for(let m=1;mm.cells.length)),_=Array.from({length:h}).fill(0),f=[{cells:i},...c.filter(m=>m.cells.length>0)];for(let{cells:m}of f.filter(x=>!x.hasLineBreak))for(let[x,y]of m.entries())_[x]=Math.max(_[x],Zie(y));return R.push(pw,"`",ca([ia,qu(ia,f.map(m=>qu(" | ",m.cells.map((x,y)=>m.hasLineBreak?x:x+" ".repeat(_[y]-Zie(x))))))]),ia,"`"),R}}function VRn(e,t){let{node:r}=e,n=t();return Xa(r)&&(n=Vn([ca([Vi,n]),Vi])),["${",n,pw,"}"]}function _6t(e,t){return e.map(r=>VRn(r,t),"expressions")}function Wrr(e,t){return lae(e,r=>typeof r=="string"?t?zm(!1,r,/(\\*)`/gu,"$1$1\\`"):Urr(r):r)}function Urr(e){return zm(!1,e,/([\\`]|\$\{)/gu,String.raw`\$1`)}function jRn({node:e,parent:t}){let r=/^[fx]?(?:describe|it|test)$/u;return t.type==="TaggedTemplateExpression"&&t.quasi===e&&t.tag.type==="MemberExpression"&&t.tag.property.type==="Identifier"&&t.tag.property.name==="each"&&(t.tag.object.type==="Identifier"&&r.test(t.tag.object.name)||t.tag.object.type==="MemberExpression"&&t.tag.object.property.type==="Identifier"&&(t.tag.object.property.name==="only"||t.tag.object.property.name==="skip")&&t.tag.object.object.type==="Identifier"&&r.test(t.tag.object.object.name))}function JRn(e){let t=n=>n.type==="TemplateLiteral",r=(n,i)=>fw(n)&&!n.computed&&n.key.type==="Identifier"&&n.key.name==="styles"&&i==="value";return e.match(t,(n,i)=>Ym(n)&&i==="elements",r,...z4t)||e.match(t,r,...z4t)}function XRn(e){return e.match(t=>t.type==="TemplateLiteral",(t,r)=>fw(t)&&!t.computed&&t.key.type==="Identifier"&&t.key.name==="template"&&r==="value",...z4t)}function O4t(e,t){return Xa(e,Is.Block|Is.Leading,({value:r})=>r===` ${t} `)}function Frr({node:e,parent:t},r){return O4t(e,r)||ZRn(t)&&O4t(t,r)||t.type==="ExpressionStatement"&&O4t(t,r)}function ZRn(e){return e.type==="AsConstExpression"||e.type==="TSAsExpression"&&e.typeAnnotation.type==="TSTypeReference"&&e.typeAnnotation.typeName.type==="Identifier"&&e.typeAnnotation.typeName.name==="const"}async function eun(e,t,r){let{node:n}=r,i=n.quasis.map(_=>_.value.raw),s=0,R=i.reduce((_,f,m)=>m===0?f:_+"@prettier-placeholder-"+s+++"-id"+f,""),l=await e(R,{parser:"scss"}),c=_6t(r,t),h=tun(l,c);if(!h)throw new Error("Couldn't insert all the expressions");return["`",ca([ia,h]),Vi,"`"]}function tun(e,t){if(!xl(t))return e;let r=0,n=lae(R6t(e),i=>typeof i!="string"||!i.includes("@prettier-placeholder")?i:i.split(/@prettier-placeholder-(\d+)-id/u).map((s,R)=>R%2===0?eX(s):(r++,t[s])));return t.length===r?n:null}function run({node:e,parent:t,grandparent:r}){return r&&e.quasis&&t.type==="JSXExpressionContainer"&&r.type==="JSXElement"&&r.openingElement.name.name==="style"&&r.openingElement.attributes.some(n=>n.type==="JSXAttribute"&&n.name.name==="jsx")||t?.type==="TaggedTemplateExpression"&&t.tag.type==="Identifier"&&t.tag.name==="css"||t?.type==="TaggedTemplateExpression"&&t.tag.type==="MemberExpression"&&t.tag.object.name==="css"&&(t.tag.property.name==="global"||t.tag.property.name==="resolve")}function oCe(e){return e.type==="Identifier"&&e.name==="styled"}function Qtr(e){return/^[A-Z]/u.test(e.object.name)&&e.property.name==="extend"}function nun({parent:e}){if(!e||e.type!=="TaggedTemplateExpression")return!1;let t=e.tag.type==="ParenthesizedExpression"?e.tag.expression:e.tag;switch(t.type){case"MemberExpression":return oCe(t.object)||Qtr(t);case"CallExpression":return oCe(t.callee)||t.callee.type==="MemberExpression"&&(t.callee.object.type==="MemberExpression"&&(oCe(t.callee.object.object)||Qtr(t.callee.object))||t.callee.object.type==="CallExpression"&&oCe(t.callee.object.callee));case"Identifier":return t.name==="css";default:return!1}}function iun({parent:e,grandparent:t}){return t?.type==="JSXAttribute"&&e.type==="JSXExpressionContainer"&&t.name.type==="JSXIdentifier"&&t.name.name==="css"}function aun(e){if(run(e)||nun(e)||iun(e)||JRn(e))return eun}async function oun(e,t,r){let{node:n}=r,i=n.quasis.length,s=_6t(r,t),R=[];for(let l=0;l2&&m[0].trim()===""&&m[1].trim()==="",D=x>2&&m[x-1].trim()===""&&m[x-2].trim()==="",S=m.every(M=>/^\s*(?:#[^\n\r]*)?$/u.test(M));if(!_&&/#[^\n\r]*$/u.test(m[x-1]))return null;let P=null;S?P=Run(m):P=await e(f,{parser:"graphql"}),P?(P=Wrr(P,!1),!h&&A&&R.push(""),R.push(P),!_&&D&&R.push("")):!h&&!_&&A&&R.push(""),y&&R.push(y)}return["`",ca([ia,qu(ia,R)]),ia,"`"]}function Run(e){let t=[],r=!1,n=e.map(i=>i.trim());for(let[i,s]of n.entries())s!==""&&(n[i-1]===""&&r?t.push([ia,s]):t.push(s),r=!0);return t.length===0?null:qu(ia,t)}function uun({node:e,parent:t}){return Frr({node:e,parent:t},"GraphQL")||t&&(t.type==="TaggedTemplateExpression"&&(t.tag.type==="MemberExpression"&&t.tag.object.name==="graphql"&&t.tag.property.name==="experimental"||t.tag.type==="Identifier"&&(t.tag.name==="gql"||t.tag.name==="graphql"))||t.type==="CallExpression"&&t.callee.type==="Identifier"&&t.callee.name==="graphql")}function lun(e){if(uun(e))return oun}async function Lrr(e,t,r,n,i){let{node:s}=n,R=v4t;v4t=v4t+1>>>0;let l=S=>`PRETTIER_HTML_PLACEHOLDER_${S}_${R}_IN_JS`,c=s.quasis.map((S,P,M)=>P===M.length-1?S.value.cooked:S.value.cooked+l(P)).join(""),h=_6t(n,r),_=new RegExp(l(String.raw`(\d+)`),"gu"),f=0,m=await t(c,{parser:e,__onHtmlRoot(S){f=S.children.length}}),x=lae(m,S=>{if(typeof S!="string")return S;let P=[],M=S.split(_);for(let U=0;U1?ca(Vn(x)):Vn(x),A,"`"]))}function Tun(e){return Frr(e,"HTML")||e.match(t=>t.type==="TemplateLiteral",(t,r)=>t.type==="TaggedTemplateExpression"&&t.tag.type==="Identifier"&&t.tag.name==="html"&&r==="quasi")}function hun(e){if(Tun(e))return pun;if(XRn(e))return _un}async function dun(e,t,r){let{node:n}=r,i=zm(!1,n.quasis[0].value.raw,/((?:\\\\)*)\\`/gu,(c,h)=>"\\".repeat(h.length/2)+"`"),s=xun(i),R=s!=="";R&&(i=zm(!1,i,new RegExp(`^${s}`,"gmu"),""));let l=Wrr(await e(i,{parser:"markdown",__inJsTemplate:!0}),!0);return["`",R?ca([Vi,l]):[Arr,L0n(l)],Vi,"`"]}function xun(e){let t=e.match(/^([^\S\n]*)\S/mu);return t===null?"":t[1]}function mun(e){if(kun(e))return dun}function kun({node:e,parent:t}){return t?.type==="TaggedTemplateExpression"&&e.quasis.length===1&&t.tag.type==="Identifier"&&(t.tag.name==="md"||t.tag.name==="markdown")}function qun(e){let{node:t}=e;if(t.type!=="TemplateLiteral"||Cun(t))return;let r;for(let n of[sun,cun,fun,yun])if(r=n(e),!!r)return t.quasis.length===1&&t.quasis[0].value.raw.trim()===""?"``":async(...i)=>{let s=await r(...i);return s&&Nhe({embed:!0,...s.label},s)}}function Cun({quasis:e}){return e.some(({value:{cooked:t}})=>t===null)}function Dun(e){let t=e.match(zrr);return t?t[0].trimStart():""}function Sun(e){let t=e.match(zrr),r=t?.[0];return r==null?e:e.slice(r.length)}function $un(e){let t=` +`;e=zm(!1,e.replace(bun,"").replace(gun,""),vun,"$1");let r="";for(;r!==e;)r=e,e=zm(!1,e,Oun,`${t}$1 $2${t}`);e=e.replace(Ntr,"").trimEnd();let n=Object.create(null),i=zm(!1,e,wtr,"").replace(Ntr,"").trimEnd(),s;for(;s=wtr.exec(e);){let R=zm(!1,s[2],Eun,"");if(typeof n[s[1]]=="string"||Array.isArray(n[s[1]])){let l=n[s[1]];n[s[1]]=[...Hrr,...Array.isArray(l)?l:[l],R]}else n[s[1]]=R}return{comments:i,pragmas:n}}function Qun({comments:e="",pragmas:t={}}){let r=` +`,n="/**",i=" *",s=" */",R=Object.keys(t),l=R.flatMap(h=>Ptr(h,t[h])).map(h=>`${i} ${h}${r}`).join("");if(!e){if(R.length===0)return"";if(R.length===1&&!Array.isArray(t[R[0]])){let h=t[R[0]];return`${n} ${Ptr(R[0],h)[0]}${s}`}}let c=e.split(r).map(h=>`${i} ${h}`).join(r)+r;return n+r+(e?c:"")+(e&&R.length>0?i+r:"")+l+s}function Ptr(e,t){return[...Hrr,...Array.isArray(t)?t:[t]].map(r=>`@${e} ${r}`.trim())}function Nun(e){if(!e.startsWith("#!"))return"";let t=e.indexOf(` +`);return t===-1?e:e.slice(0,t)}function Pun(e){let t=wun(e);t&&(e=e.slice(t.length+1));let r=Dun(e),{pragmas:n,comments:i}=$un(r);return{shebang:t,text:e,pragmas:n,comments:i}}function Bun(e){let{shebang:t,text:r,pragmas:n,comments:i}=Pun(e),s=Sun(r),R=Qun({pragmas:{format:"",...n},comments:i.trimStart()});return(t?`${t} +`:"")+R+(s.startsWith(` +`)?` +`:` + +`)+s}function Iun(e,t){let{originalText:r,[Symbol.for("comments")]:n,locStart:i,locEnd:s,[Symbol.for("printedComments")]:R}=t,{node:l}=e,c=i(l),h=s(l);for(let _ of n)i(_)>=c&&s(_)<=h&&R.add(_);return r.slice(c,h)}function H4t(e,t){var r,n,i,s,R,l,c,h,_;if(e.isRoot)return!1;let{node:f,key:m,parent:x}=e;if(t.__isInHtmlInterpolation&&!t.bracketSpacing&&Lun(f)&&bhe(e))return!0;if(Wun(f))return!1;if(f.type==="Identifier"){if((r=f.extra)!=null&&r.parenthesized&&/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/u.test(f.name)||m==="left"&&(f.name==="async"&&!x.await||f.name==="let")&&x.type==="ForOfStatement")return!0;if(f.name==="let"){let y=(n=e.findAncestor(A=>A.type==="ForOfStatement"))==null?void 0:n.left;if(y&&O4(y,A=>A===f))return!0}if(m==="object"&&f.name==="let"&&x.type==="MemberExpression"&&x.computed&&!x.optional){let y=e.findAncestor(D=>D.type==="ExpressionStatement"||D.type==="ForStatement"||D.type==="ForInStatement"),A=y?y.type==="ExpressionStatement"?y.expression:y.type==="ForStatement"?y.init:y.left:void 0;if(A&&O4(A,D=>D===f))return!0}if(m==="expression")switch(f.name){case"await":case"interface":case"module":case"using":case"yield":case"let":case"component":case"hook":case"type":{let y=e.findAncestor(A=>!OD(A));if(y!==x&&y.type==="ExpressionStatement")return!0}}return!1}if(f.type==="ObjectExpression"||f.type==="FunctionExpression"||f.type==="ClassExpression"||f.type==="DoExpression"){let y=(i=e.findAncestor(A=>A.type==="ExpressionStatement"))==null?void 0:i.expression;if(y&&O4(y,A=>A===f))return!0}if(f.type==="ObjectExpression"){let y=(s=e.findAncestor(A=>A.type==="ArrowFunctionExpression"))==null?void 0:s.body;if(y&&y.type!=="SequenceExpression"&&y.type!=="AssignmentExpression"&&O4(y,A=>A===f))return!0}switch(x.type){case"ParenthesizedExpression":return!1;case"ClassDeclaration":case"ClassExpression":if(m==="superClass"&&(f.type==="ArrowFunctionExpression"||f.type==="AssignmentExpression"||f.type==="AwaitExpression"||f.type==="BinaryExpression"||f.type==="ConditionalExpression"||f.type==="LogicalExpression"||f.type==="NewExpression"||f.type==="ObjectExpression"||f.type==="SequenceExpression"||f.type==="TaggedTemplateExpression"||f.type==="UnaryExpression"||f.type==="UpdateExpression"||f.type==="YieldExpression"||f.type==="TSNonNullExpression"||f.type==="ClassExpression"&&xl(f.decorators)))return!0;break;case"ExportDefaultDeclaration":return Yrr(e,t)||f.type==="SequenceExpression";case"Decorator":if(m==="expression"&&!Hun(f))return!0;break;case"TypeAnnotation":if(e.match(void 0,void 0,(y,A)=>A==="returnType"&&y.type==="ArrowFunctionExpression")&&Fun(f))return!0;break;case"BinaryExpression":if(m==="left"&&(x.operator==="in"||x.operator==="instanceof")&&f.type==="UnaryExpression")return!0;break;case"VariableDeclarator":if(m==="init"&&e.match(void 0,void 0,(y,A)=>A==="declarations"&&y.type==="VariableDeclaration",(y,A)=>A==="left"&&y.type==="ForInStatement"))return!0;break}switch(f.type){case"UpdateExpression":if(x.type==="UnaryExpression")return f.prefix&&(f.operator==="++"&&x.operator==="+"||f.operator==="--"&&x.operator==="-");case"UnaryExpression":switch(x.type){case"UnaryExpression":return f.operator===x.operator&&(f.operator==="+"||f.operator==="-");case"BindExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return m==="object";case"TaggedTemplateExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return m==="callee";case"BinaryExpression":return m==="left"&&x.operator==="**";case"TSNonNullExpression":return!0;default:return!1}case"BinaryExpression":if(x.type==="UpdateExpression"||f.operator==="in"&&Uun(e))return!0;if(f.operator==="|>"&&(R=f.extra)!=null&&R.parenthesized){let y=e.grandparent;if(y.type==="BinaryExpression"&&y.operator==="|>")return!0}case"TSTypeAssertion":case"TSAsExpression":case"TSSatisfiesExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":case"LogicalExpression":switch(x.type){case"TSAsExpression":case"TSSatisfiesExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":return!OD(f);case"ConditionalExpression":return OD(f)||k0n(f);case"CallExpression":case"NewExpression":case"OptionalCallExpression":return m==="callee";case"ClassExpression":case"ClassDeclaration":return m==="superClass";case"TSTypeAssertion":case"TaggedTemplateExpression":case"UnaryExpression":case"JSXSpreadAttribute":case"SpreadElement":case"BindExpression":case"AwaitExpression":case"TSNonNullExpression":case"UpdateExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":return m==="object";case"AssignmentExpression":case"AssignmentPattern":return m==="left"&&(f.type==="TSTypeAssertion"||OD(f));case"LogicalExpression":if(f.type==="LogicalExpression")return x.operator!==f.operator;case"BinaryExpression":{let{operator:y,type:A}=f;if(!y&&A!=="TSTypeAssertion")return!0;let D=TCe(y),S=x.operator,P=TCe(S);return P>D||m==="right"&&P===D||P===D&&!s6t(S,y)?!0:P");default:return!1}case"TSFunctionType":if(e.match(y=>y.type==="TSFunctionType",(y,A)=>A==="typeAnnotation"&&y.type==="TSTypeAnnotation",(y,A)=>A==="returnType"&&y.type==="ArrowFunctionExpression"))return!0;case"TSConditionalType":case"TSConstructorType":if(m==="extendsType"&&x.type==="TSConditionalType"){if(f.type==="TSConditionalType")return!0;let{typeAnnotation:y}=f.returnType||f.typeAnnotation;if(y.type==="TSTypePredicate"&&y.typeAnnotation&&(y=y.typeAnnotation.typeAnnotation),y.type==="TSInferType"&&y.typeParameter.constraint)return!0}if(m==="checkType"&&x.type==="TSConditionalType")return!0;case"TSUnionType":case"TSIntersectionType":if((x.type==="TSUnionType"||x.type==="TSIntersectionType")&&x.types.length>1&&(!f.types||f.types.length>1))return!0;case"TSInferType":if(f.type==="TSInferType"){if(x.type==="TSRestType")return!1;if(m==="types"&&(x.type==="TSUnionType"||x.type==="TSIntersectionType")&&f.typeParameter.type==="TSTypeParameter"&&f.typeParameter.constraint)return!0}case"TSTypeOperator":return x.type==="TSArrayType"||x.type==="TSOptionalType"||x.type==="TSRestType"||m==="objectType"&&x.type==="TSIndexedAccessType"||x.type==="TSTypeOperator"||x.type==="TSTypeAnnotation"&&e.grandparent.type.startsWith("TSJSDoc");case"TSTypeQuery":return m==="objectType"&&x.type==="TSIndexedAccessType"||m==="elementType"&&x.type==="TSArrayType";case"TypeOperator":return x.type==="ArrayTypeAnnotation"||x.type==="NullableTypeAnnotation"||m==="objectType"&&(x.type==="IndexedAccessType"||x.type==="OptionalIndexedAccessType")||x.type==="TypeOperator";case"TypeofTypeAnnotation":return m==="objectType"&&(x.type==="IndexedAccessType"||x.type==="OptionalIndexedAccessType")||m==="elementType"&&x.type==="ArrayTypeAnnotation";case"ArrayTypeAnnotation":return x.type==="NullableTypeAnnotation";case"IntersectionTypeAnnotation":case"UnionTypeAnnotation":return x.type==="TypeOperator"||x.type==="ArrayTypeAnnotation"||x.type==="NullableTypeAnnotation"||x.type==="IntersectionTypeAnnotation"||x.type==="UnionTypeAnnotation"||m==="objectType"&&(x.type==="IndexedAccessType"||x.type==="OptionalIndexedAccessType");case"InferTypeAnnotation":case"NullableTypeAnnotation":return x.type==="ArrayTypeAnnotation"||m==="objectType"&&(x.type==="IndexedAccessType"||x.type==="OptionalIndexedAccessType");case"ComponentTypeAnnotation":case"FunctionTypeAnnotation":{if(f.type==="ComponentTypeAnnotation"&&(f.rendersType===null||f.rendersType===void 0))return!1;if(e.match(void 0,(A,D)=>D==="typeAnnotation"&&A.type==="TypeAnnotation",(A,D)=>D==="returnType"&&A.type==="ArrowFunctionExpression")||e.match(void 0,(A,D)=>D==="typeAnnotation"&&A.type==="TypePredicate",(A,D)=>D==="typeAnnotation"&&A.type==="TypeAnnotation",(A,D)=>D==="returnType"&&A.type==="ArrowFunctionExpression"))return!0;let y=x.type==="NullableTypeAnnotation"?e.grandparent:x;return y.type==="UnionTypeAnnotation"||y.type==="IntersectionTypeAnnotation"||y.type==="ArrayTypeAnnotation"||m==="objectType"&&(y.type==="IndexedAccessType"||y.type==="OptionalIndexedAccessType")||m==="checkType"&&x.type==="ConditionalTypeAnnotation"||m==="extendsType"&&x.type==="ConditionalTypeAnnotation"&&((l=f.returnType)==null?void 0:l.type)==="InferTypeAnnotation"&&((c=f.returnType)==null?void 0:c.typeParameter.bound)||y.type==="NullableTypeAnnotation"||x.type==="FunctionTypeParam"&&x.name===null&&ly(f).some(A=>{var D;return((D=A.typeAnnotation)==null?void 0:D.type)==="NullableTypeAnnotation"})}case"ConditionalTypeAnnotation":if(m==="extendsType"&&x.type==="ConditionalTypeAnnotation"&&f.type==="ConditionalTypeAnnotation"||m==="checkType"&&x.type==="ConditionalTypeAnnotation")return!0;case"OptionalIndexedAccessType":return m==="objectType"&&x.type==="IndexedAccessType";case"StringLiteral":case"NumericLiteral":case"Literal":if(typeof f.value=="string"&&x.type==="ExpressionStatement"&&!x.directive){let y=e.grandparent;return y.type==="Program"||y.type==="BlockStatement"}return m==="object"&&x.type==="MemberExpression"&&typeof f.value=="number";case"AssignmentExpression":{let y=e.grandparent;return m==="body"&&x.type==="ArrowFunctionExpression"?!0:m==="key"&&(x.type==="ClassProperty"||x.type==="PropertyDefinition")&&x.computed||(m==="init"||m==="update")&&x.type==="ForStatement"?!1:x.type==="ExpressionStatement"?f.left.type==="ObjectPattern":!(m==="key"&&x.type==="TSPropertySignature"||x.type==="AssignmentExpression"||x.type==="SequenceExpression"&&y.type==="ForStatement"&&(y.init===x||y.update===x)||m==="value"&&x.type==="Property"&&y.type==="ObjectPattern"&&y.properties.includes(x)||x.type==="NGChainedExpression"||m==="node"&&x.type==="JsExpressionRoot")}case"ConditionalExpression":switch(x.type){case"TaggedTemplateExpression":case"UnaryExpression":case"SpreadElement":case"BinaryExpression":case"LogicalExpression":case"NGPipeExpression":case"ExportDefaultDeclaration":case"AwaitExpression":case"JSXSpreadAttribute":case"TSTypeAssertion":case"TypeCastExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":case"TSNonNullExpression":return!0;case"NewExpression":case"CallExpression":case"OptionalCallExpression":return m==="callee";case"ConditionalExpression":return t.experimentalTernaries?!1:m==="test";case"MemberExpression":case"OptionalMemberExpression":return m==="object";default:return!1}case"FunctionExpression":switch(x.type){case"NewExpression":case"CallExpression":case"OptionalCallExpression":return m==="callee";case"TaggedTemplateExpression":return!0;default:return!1}case"ArrowFunctionExpression":switch(x.type){case"BinaryExpression":return x.operator!=="|>"||((h=f.extra)==null?void 0:h.parenthesized);case"NewExpression":case"CallExpression":case"OptionalCallExpression":return m==="callee";case"MemberExpression":case"OptionalMemberExpression":return m==="object";case"TSAsExpression":case"TSSatisfiesExpression":case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":case"TSNonNullExpression":case"BindExpression":case"TaggedTemplateExpression":case"UnaryExpression":case"LogicalExpression":case"AwaitExpression":case"TSTypeAssertion":return!0;case"ConditionalExpression":return m==="test";default:return!1}case"ClassExpression":switch(x.type){case"NewExpression":return m==="callee";default:return!1}case"OptionalMemberExpression":case"OptionalCallExpression":case"CallExpression":case"MemberExpression":if(zun(e))return!0;case"TaggedTemplateExpression":case"TSNonNullExpression":if(m==="callee"&&(x.type==="BindExpression"||x.type==="NewExpression")){let y=f;for(;y;)switch(y.type){case"CallExpression":case"OptionalCallExpression":return!0;case"MemberExpression":case"OptionalMemberExpression":case"BindExpression":y=y.object;break;case"TaggedTemplateExpression":y=y.tag;break;case"TSNonNullExpression":y=y.expression;break;default:return!1}}return!1;case"BindExpression":return m==="callee"&&(x.type==="BindExpression"||x.type==="NewExpression")||m==="object"&&H_(x);case"NGPipeExpression":return!(x.type==="NGRoot"||x.type==="NGMicrosyntaxExpression"||x.type==="ObjectProperty"&&!((_=f.extra)!=null&&_.parenthesized)||Ym(x)||m==="arguments"&&rl(x)||m==="right"&&x.type==="NGPipeExpression"||m==="property"&&x.type==="MemberExpression"||x.type==="AssignmentExpression");case"JSXFragment":case"JSXElement":return m==="callee"||m==="left"&&x.type==="BinaryExpression"&&x.operator==="<"||!Ym(x)&&x.type!=="ArrowFunctionExpression"&&x.type!=="AssignmentExpression"&&x.type!=="AssignmentPattern"&&x.type!=="BinaryExpression"&&x.type!=="NewExpression"&&x.type!=="ConditionalExpression"&&x.type!=="ExpressionStatement"&&x.type!=="JsExpressionRoot"&&x.type!=="JSXAttribute"&&x.type!=="JSXElement"&&x.type!=="JSXExpressionContainer"&&x.type!=="JSXFragment"&&x.type!=="LogicalExpression"&&!rl(x)&&!fw(x)&&x.type!=="ReturnStatement"&&x.type!=="ThrowStatement"&&x.type!=="TypeCastExpression"&&x.type!=="VariableDeclarator"&&x.type!=="YieldExpression";case"TSInstantiationExpression":return m==="object"&&H_(x)}return!1}function Uun(e){let t=0,{node:r}=e;for(;r;){let n=e.getParentNode(t++);if(n?.type==="ForStatement"&&n.init===r)return!0;r=n}return!1}function Fun(e){return P4t(e,t=>t.type==="ObjectTypeAnnotation"&&P4t(t,r=>r.type==="FunctionTypeAnnotation"))}function Lun(e){return iO(e)}function bhe(e){let{parent:t,key:r}=e;switch(t.type){case"NGPipeExpression":if(r==="arguments"&&e.isLast)return e.callParent(bhe);break;case"ObjectProperty":if(r==="value")return e.callParent(()=>e.key==="properties"&&e.isLast);break;case"BinaryExpression":case"LogicalExpression":if(r==="right")return e.callParent(bhe);break;case"ConditionalExpression":if(r==="alternate")return e.callParent(bhe);break;case"UnaryExpression":if(t.prefix)return e.callParent(bhe);break}return!1}function Yrr(e,t){let{node:r,parent:n}=e;return r.type==="FunctionExpression"||r.type==="ClassExpression"?n.type==="ExportDefaultDeclaration"||!H4t(e,t):!r6t(r)||n.type!=="ExportDefaultDeclaration"&&H4t(e,t)?!1:e.call(()=>Yrr(e,t),...srr(r))}function zun(e){return!!(e.match(void 0,(t,r)=>r==="expression"&&t.type==="ChainExpression",(t,r)=>r==="tag"&&t.type==="TaggedTemplateExpression")||e.match(t=>t.type==="OptionalCallExpression"||t.type==="OptionalMemberExpression",(t,r)=>r==="tag"&&t.type==="TaggedTemplateExpression")||e.match(t=>t.type==="OptionalCallExpression"||t.type==="OptionalMemberExpression",(t,r)=>r==="expression"&&t.type==="TSNonNullExpression",(t,r)=>r==="tag"&&t.type==="TaggedTemplateExpression")||e.match(void 0,(t,r)=>r==="expression"&&t.type==="ChainExpression",(t,r)=>r==="expression"&&t.type==="TSNonNullExpression",(t,r)=>r==="tag"&&t.type==="TaggedTemplateExpression")||e.match(void 0,(t,r)=>r==="expression"&&t.type==="TSNonNullExpression",(t,r)=>r==="expression"&&t.type==="ChainExpression",(t,r)=>r==="tag"&&t.type==="TaggedTemplateExpression")||e.match(t=>t.type==="OptionalMemberExpression"||t.type==="OptionalCallExpression",(t,r)=>r==="object"&&t.type==="MemberExpression"||r==="callee"&&(t.type==="CallExpression"||t.type==="NewExpression"))||e.match(t=>t.type==="OptionalMemberExpression"||t.type==="OptionalCallExpression",(t,r)=>r==="expression"&&t.type==="TSNonNullExpression",(t,r)=>r==="object"&&t.type==="MemberExpression"||r==="callee"&&t.type==="CallExpression")||e.match(t=>t.type==="CallExpression"||t.type==="MemberExpression",(t,r)=>r==="expression"&&t.type==="ChainExpression")&&(e.match(void 0,void 0,(t,r)=>r==="callee"&&(t.type==="CallExpression"&&!t.optional||t.type==="NewExpression")||r==="object"&&t.type==="MemberExpression"&&!t.optional)||e.match(void 0,void 0,(t,r)=>r==="expression"&&t.type==="TSNonNullExpression",(t,r)=>r==="object"&&t.type==="MemberExpression"||r==="callee"&&t.type==="CallExpression"))||e.match(t=>t.type==="CallExpression"||t.type==="MemberExpression",(t,r)=>r==="expression"&&t.type==="TSNonNullExpression",(t,r)=>r==="expression"&&t.type==="ChainExpression",(t,r)=>r==="object"&&t.type==="MemberExpression"||r==="callee"&&t.type==="CallExpression"))}function Y4t(e){return e.type==="Identifier"?!0:H_(e)?!e.computed&&!e.optional&&e.property.type==="Identifier"&&Y4t(e.object):!1}function Hun(e){return e.type==="ChainExpression"&&(e=e.expression),Y4t(e)||rl(e)&&!e.optional&&Y4t(e.callee)}function Yun(e,t){let r=t-1;r=eae(e,r,{backwards:!0}),r=tae(e,r,{backwards:!0}),r=eae(e,r,{backwards:!0});let n=tae(e,r,{backwards:!0});return r!==n}function h6t(e,t){let r=e.node;return r.printed=!0,t.printer.printComment(e,t)}function Vun(e,t){var r;let n=e.node,i=[h6t(e,t)],{printer:s,originalText:R,locStart:l,locEnd:c}=t;if((r=s.isBlockComment)!=null&&r.call(s,n)){let _=xA(R,c(n))?xA(R,l(n),{backwards:!0})?ia:Ns:" ";i.push(_)}else i.push(ia);let h=tae(R,eae(R,c(n)));return h!==!1&&xA(R,h)&&i.push(ia),i}function jun(e,t,r){var n;let i=e.node,s=h6t(e,t),{printer:R,originalText:l,locStart:c}=t,h=(n=R.isBlockComment)==null?void 0:n.call(R,i);if(r!=null&&r.hasLineSuffix&&!(r!=null&&r.isBlock)||xA(l,c(i),{backwards:!0})){let _=Kun(l,c(i));return{doc:Str([ia,_?ia:"",s]),isBlock:h,hasLineSuffix:!0}}return!h||r!=null&&r.hasLineSuffix?{doc:[Str([" ",s]),$D],isBlock:h,hasLineSuffix:!0}:{doc:[" ",s],isBlock:h,hasLineSuffix:!1}}function gp(e,t,r={}){let{node:n}=e;if(!xl(n?.comments))return"";let{indent:i=!1,marker:s,filter:R=Gun}=r,l=[];if(e.each(({node:h})=>{h.leading||h.trailing||h.marker!==s||!R(h)||l.push(h6t(e,t))},"comments"),l.length===0)return"";let c=qu(ia,l);return i?ca([ia,c]):c}function Krr(e,t){let r=e.node;if(!r)return{};let n=t[Symbol.for("printedComments")];if((r.comments||[]).filter(l=>!n.has(l)).length===0)return{leading:"",trailing:""};let i=[],s=[],R;return e.each(()=>{let l=e.node;if(n!=null&&n.has(l))return;let{leading:c,trailing:h}=l;c?i.push(Vun(e,t)):h&&(R=jun(e,t,R),s.push(R.doc))},"comments"),{leading:i,trailing:s}}function nO(e,t,r){let{leading:n,trailing:i}=Krr(e,r);return!n&&!i?t:M4t(t,s=>[n,s,i])}function Xun(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function tln(e,t,r){var n,i,s,R,l;let{node:c}=e;if(c.type==="JSXElement"&&fln(c))return[r("openingElement"),r("closingElement")];let h=c.type==="JSXElement"?r("openingElement"):r("openingFragment"),_=c.type==="JSXElement"?r("closingElement"):r("closingFragment");if(c.children.length===1&&c.children[0].type==="JSXExpressionContainer"&&(c.children[0].expression.type==="TemplateLiteral"||c.children[0].expression.type==="TaggedTemplateExpression"))return[h,...e.map(r,"children"),_];c.children=c.children.map(G=>dln(G)?{type:"JSXText",value:" ",raw:" "}:G);let f=c.children.some(D7),m=c.children.filter(G=>G.type==="JSXExpressionContainer").length>1,x=c.type==="JSXElement"&&c.openingElement.attributes.length>1,y=v4(h)||f||x||m,A=e.parent.rootMarker==="mdx",D=t.singleQuote?"{' '}":'{" "}',S=A?" ":j0([D,Vi]," "),P=((i=(n=c.openingElement)==null?void 0:n.name)==null?void 0:i.name)==="fbt",M=rln(e,t,r,S,P),U=c.children.some(G=>$he(G));for(let G=M.length-2;G>=0;G--){let ee=M[G]===""&&M[G+1]==="",fe=M[G]===ia&&M[G+1]===""&&M[G+2]===ia,me=(M[G]===Vi||M[G]===ia)&&M[G+1]===""&&M[G+2]===S,ve=M[G]===S&&M[G+1]===""&&(M[G+2]===Vi||M[G+2]===ia),Ae=M[G]===S&&M[G+1]===""&&M[G+2]===S,Ue=M[G]===Vi&&M[G+1]===""&&M[G+2]===ia||M[G]===ia&&M[G+1]===""&&M[G+2]===Vi;fe&&U||ee||me||Ae||Ue?M.splice(G,2):ve&&M.splice(G+1,2)}for(;M.length>0&&D4t(dl(!1,M,-1));)M.pop();for(;M.length>1&&D4t(M[0])&&D4t(M[1]);)M.shift(),M.shift();let w=[];for(let[G,ee]of M.entries()){if(ee===S){if(G===1&&M[G-1]===""){if(M.length===2){w.push(D);continue}w.push([D,ia]);continue}else if(G===M.length-1){w.push(D);continue}else if(M[G-1]===""&&M[G-2]===ia){w.push(D);continue}}w.push(ee),v4(ee)&&(y=!0)}let F=U?qrr(w):Vn(w,{shouldBreak:!0});if(((s=t.cursorNode)==null?void 0:s.type)==="JSXText"&&c.children.includes(t.cursorNode)?F=[aCe,F,aCe]:((R=t.nodeBeforeCursor)==null?void 0:R.type)==="JSXText"&&c.children.includes(t.nodeBeforeCursor)?F=[aCe,F]:((l=t.nodeAfterCursor)==null?void 0:l.type)==="JSXText"&&c.children.includes(t.nodeAfterCursor)&&(F=[F,aCe]),A)return F;let H=Vn([h,ca([ia,F]),ia,_]);return y?H:JJ([Vn([h,...M,_]),H])}function rln(e,t,r,n,i){let s=[];return e.each(({node:R,next:l})=>{if(R.type==="JSXText"){let c=ng(R);if($he(R)){let h=uCe.split(c,!0);h[0]===""&&(s.push(""),h.shift(),/\n/u.test(h[0])?s.push(Itr(i,h[1],R,l)):s.push(n),h.shift());let _;if(dl(!1,h,-1)===""&&(h.pop(),_=h.pop()),h.length===0)return;for(let[f,m]of h.entries())f%2===1?s.push(Ns):s.push(m);_!==void 0?/\n/u.test(_)?s.push(Itr(i,dl(!1,s,-1),R,l)):s.push(n):s.push(Btr(i,dl(!1,s,-1),R,l))}else/\n/u.test(c)?c.match(/\n/gu).length>1&&s.push("",ia):s.push("",n)}else{let c=r();if(s.push(c),l&&$he(l)){let h=uCe.trim(ng(l)),[_]=uCe.split(h);s.push(Btr(i,_,R,l))}else s.push(ia)}},"children"),s}function Btr(e,t,r,n){return e?"":r.type==="JSXElement"&&!r.closingElement||n?.type==="JSXElement"&&!n.closingElement?t.length===1?Vi:ia:Vi}function Itr(e,t,r,n){return e?ia:t.length===1?r.type==="JSXElement"&&!r.closingElement||n?.type==="JSXElement"&&!n.closingElement?ia:Vi:ia}function iln(e,t,r){let{parent:n}=e;if(nln.has(n.type))return t;let i=e.match(void 0,R=>R.type==="ArrowFunctionExpression",rl,R=>R.type==="JSXExpressionContainer"),s=RX(e,r);return Vn([s?"":j0("("),ca([Vi,t]),Vi,s?"":j0(")")],{shouldBreak:i})}function aln(e,t,r){let{node:n}=e,i=[];if(i.push(r("name")),n.value){let s;if(UC(n.value)){let R=ng(n.value),l=zm(!1,zm(!1,R.slice(1,-1),"'","'"),""",'"'),c=trr(l,t.jsxSingleQuote);l=c==='"'?zm(!1,l,'"',"""):zm(!1,l,"'","'"),s=e.call(()=>nO(e,eX(c+l+c),t),"value")}else s=r("value");i.push("=",s)}return i}function sln(e,t,r){let{node:n}=e,i=(s,R)=>s.type==="JSXEmptyExpression"||!Xa(s)&&(Ym(s)||iO(s)||s.type==="ArrowFunctionExpression"||s.type==="AwaitExpression"&&(i(s.argument,s)||s.argument.type==="JSXElement")||rl(s)||s.type==="ChainExpression"&&rl(s.expression)||s.type==="FunctionExpression"||s.type==="TemplateLiteral"||s.type==="TaggedTemplateExpression"||s.type==="DoExpression"||D7(R)&&(s.type==="ConditionalExpression"||Tw(s)));return i(n.expression,e.parent)?Vn(["{",r("expression"),pw,"}"]):Vn(["{",ca([Vi,r("expression")]),Vi,pw,"}"])}function oln(e,t,r){var n,i;let{node:s}=e,R=Xa(s.name)||Xa(s.typeParameters)||Xa(s.typeArguments);if(s.selfClosing&&s.attributes.length===0&&!R)return["<",r("name"),s.typeArguments?r("typeArguments"):r("typeParameters")," />"];if(((n=s.attributes)==null?void 0:n.length)===1&&UC(s.attributes[0].value)&&!s.attributes[0].value.value.includes(` +`)&&!R&&!Xa(s.attributes[0]))return Vn(["<",r("name"),s.typeArguments?r("typeArguments"):r("typeParameters")," ",...e.map(r,"attributes"),s.selfClosing?" />":">"]);let l=(i=s.attributes)==null?void 0:i.some(h=>UC(h.value)&&h.value.value.includes(` +`)),c=t.singleAttributePerLine&&s.attributes.length>1?ia:Ns;return Vn(["<",r("name"),s.typeArguments?r("typeArguments"):r("typeParameters"),ca(e.map(()=>[c,r()],"attributes")),...Rln(s,t,R)],{shouldBreak:l})}function Rln(e,t,r){return e.selfClosing?[Ns,"/>"]:uln(e,t,r)?[">"]:[Vi,">"]}function uln(e,t,r){let n=e.attributes.length>0&&Xa(dl(!1,e.attributes,-1),Is.Trailing);return e.attributes.length===0&&!r||(t.bracketSameLine||t.jsxBracketSameLine)&&(!r||e.attributes.length>0)&&!n}function lln(e,t,r){let{node:n}=e,i=[];i.push(""),i}function cln(e,t){let{node:r}=e,n=Xa(r),i=Xa(r,Is.Line),s=r.type==="JSXOpeningFragment";return[s?"<":""]}function Tln(e,t,r){let n=nO(e,tln(e,t,r),t);return iln(e,n,t)}function pln(e,t){let{node:r}=e,n=Xa(r,Is.Line);return[gp(e,t,{indent:n}),n?ia:""]}function _ln(e,t,r){let{node:n}=e;return["{",e.call(({node:i})=>{let s=["...",r()];return!Xa(i)||!Prr(e)?s:[ca([Vi,nO(e,s,t)]),Vi]},n.type==="JSXSpreadAttribute"?"argument":"expression"),"}"]}function hln(e,t,r){let{node:n}=e;if(n.type.startsWith("JSX"))switch(n.type){case"JSXAttribute":return aln(e,t,r);case"JSXIdentifier":return n.name;case"JSXNamespacedName":return qu(":",[r("namespace"),r("name")]);case"JSXMemberExpression":return qu(".",[r("object"),r("property")]);case"JSXSpreadAttribute":case"JSXSpreadChild":return _ln(e,t,r);case"JSXExpressionContainer":return sln(e,t,r);case"JSXFragment":case"JSXElement":return Tln(e,t,r);case"JSXOpeningElement":return oln(e,t,r);case"JSXClosingElement":return lln(e,t,r);case"JSXOpeningFragment":case"JSXClosingFragment":return cln(e,t);case"JSXEmptyExpression":return pln(e,t);case"JSXText":throw new Error("JSXText should be handled by JSXElement");default:throw new Tae(n,"JSX")}}function fln(e){if(e.children.length===0)return!0;if(e.children.length>1)return!1;let t=e.children[0];return t.type==="JSXText"&&!$he(t)}function $he(e){return e.type==="JSXText"&&(uCe.hasNonWhitespaceCharacter(ng(e))||!/\n/u.test(ng(e)))}function dln(e){return e.type==="JSXExpressionContainer"&&UC(e.expression)&&e.expression.value===" "&&!Xa(e.expression)}function xln(e){let{node:t,parent:r}=e;if(!D7(t)||!D7(r))return!1;let{index:n,siblings:i}=e,s;for(let R=n;R>0;R--){let l=i[R-1];if(!(l.type==="JSXText"&&!$he(l))){s=l;break}}return s?.type==="JSXExpressionContainer"&&s.expression.type==="JSXEmptyExpression"&&qCe(s.expression)}function mln(e){return qCe(e.node)||xln(e)}function Vrr(e,t,r){var n;let{node:i,parent:s,grandparent:R,key:l}=e,c=l!=="body"&&(s.type==="IfStatement"||s.type==="WhileStatement"||s.type==="SwitchStatement"||s.type==="DoWhileStatement"),h=i.operator==="|>"&&((n=e.root.extra)==null?void 0:n.__isUsingHackPipeline),_=K4t(e,r,t,!1,c);if(c)return _;if(h)return Vn(_);if(rl(s)&&s.callee===i||s.type==="UnaryExpression"||H_(s)&&!s.computed)return Vn([ca([Vi,..._]),Vi]);let f=s.type==="ReturnStatement"||s.type==="ThrowStatement"||s.type==="JSXExpressionContainer"&&R.type==="JSXAttribute"||i.operator!=="|"&&s.type==="JsExpressionRoot"||i.type!=="NGPipeExpression"&&(s.type==="NGRoot"&&t.parser==="__ng_binding"||s.type==="NGMicrosyntaxExpression"&&R.type==="NGMicrosyntax"&&R.body.length===1)||i===s.body&&s.type==="ArrowFunctionExpression"||i!==s.body&&s.type==="ForStatement"||s.type==="ConditionalExpression"&&R.type!=="ReturnStatement"&&R.type!=="ThrowStatement"&&!rl(R)||s.type==="TemplateLiteral",m=s.type==="AssignmentExpression"||s.type==="VariableDeclarator"||s.type==="ClassProperty"||s.type==="PropertyDefinition"||s.type==="TSAbstractPropertyDefinition"||s.type==="ClassPrivateProperty"||fw(s),x=Tw(i.left)&&s6t(i.operator,i.left.operator);if(f||Qhe(i)&&!x||!Qhe(i)&&m)return Vn(_);if(_.length===0)return"";let y=D7(i.right),A=_.findIndex(w=>typeof w!="string"&&!Array.isArray(w)&&w.type===ig),D=_.slice(0,A===-1?1:A+1),S=_.slice(D.length,y?-1:void 0),P=Symbol("logicalChain-"+ ++kln),M=Vn([...D,ca(S)],{id:P});if(!y)return M;let U=dl(!1,_,-1);return Vn([M,CCe(U,{groupId:P})])}function K4t(e,t,r,n,i){var s;let{node:R}=e;if(!Tw(R))return[Vn(t())];let l=[];s6t(R.operator,R.left.operator)?l=e.call(D=>K4t(D,t,r,!0,i),"left"):l.push(Vn(t("left")));let c=Qhe(R),h=(R.operator==="|>"||R.type==="NGPipeExpression"||yln(e,r))&&!XJ(r.originalText,R.right),_=R.type==="NGPipeExpression"?"|":R.operator,f=R.type==="NGPipeExpression"&&R.arguments.length>0?Vn(ca([Vi,": ",qu([Ns,": "],e.map(()=>SD(2,Vn(t())),"arguments"))])):"",m;if(c)m=[_," ",t("right"),f];else{let D=_==="|>"&&((s=e.root.extra)!=null&&s.__isUsingHackPipeline)?e.call(S=>K4t(S,t,r,!0,i),"right"):t("right");m=[h?Ns:"",_,h?" ":Ns,D,f]}let{parent:x}=e,y=Xa(R.left,Is.Trailing|Is.Line),A=y||!(i&&R.type==="LogicalExpression")&&x.type!==R.type&&R.left.type!==R.type&&R.right.type!==R.type;if(l.push(h?"":" ",A?Vn(m,{shouldBreak:y}):m),n&&Xa(R)){let D=R6t(nO(e,l,r));return D.type===lW?D.parts:Array.isArray(D)?D:[D]}return l}function Qhe(e){return e.type!=="LogicalExpression"?!1:!!(iO(e.right)&&e.right.properties.length>0||Ym(e.right)&&e.right.elements.length>0||D7(e.right))}function yln(e,t){return(t.parser==="__vue_expression"||t.parser==="__vue_ts_expression")&&Mtr(e.node)&&!e.hasAncestor(r=>!Mtr(r)&&r.type!=="JsExpressionRoot")}function qln(e,t,r){let{node:n}=e;if(n.type.startsWith("NG"))switch(n.type){case"NGRoot":return[r("node"),Xa(n.node)?" //"+Xie(n.node)[0].value.trimEnd():""];case"NGPipeExpression":return Vrr(e,t,r);case"NGChainedExpression":return Vn(qu([";",Ns],e.map(()=>Aln(e)?r():["(",r(),")"],"expressions")));case"NGEmptyExpression":return"";case"NGMicrosyntax":return e.map(()=>[e.isFirst?"":Wtr(e)?" ":[";",Ns],r()],"body");case"NGMicrosyntaxKey":return/^[$_a-z][\w$]*(?:-[$_a-z][\w$])*$/iu.test(n.name)?n.name:JSON.stringify(n.name);case"NGMicrosyntaxExpression":return[r("expression"),n.alias===null?"":[" as ",r("alias")]];case"NGMicrosyntaxKeyedExpression":{let{index:i,parent:s}=e,R=Wtr(e)||(i===1&&(n.key.name==="then"||n.key.name==="else"||n.key.name==="as")||(i===2||i===3)&&(n.key.name==="else"&&s.body[i-1].type==="NGMicrosyntaxKeyedExpression"&&s.body[i-1].key.name==="then"||n.key.name==="track"))&&s.body[0].type==="NGMicrosyntaxExpression";return[r("key"),R?" ":": ",r("expression")]}case"NGMicrosyntaxLet":return["let ",r("key"),n.value===null?"":[" = ",r("value")]];case"NGMicrosyntaxAs":return[r("key")," as ",r("alias")];default:throw new Tae(n,"Angular")}}function Wtr({node:e,index:t}){return e.type==="NGMicrosyntaxKeyedExpression"&&e.key.name==="of"&&t===1}function Aln({node:e}){return P4t(e,Cln)}function jrr(e,t,r){let{node:n}=e;return Vn([qu(Ns,e.map(r,"decorators")),Jrr(n,t)?ia:Ns])}function gln(e,t,r){return Xrr(e.node)?[qu(ia,e.map(r,"declaration","decorators")),ia]:""}function bln(e,t,r){let{node:n,parent:i}=e,{decorators:s}=n;if(!xl(s)||Xrr(i)||Grr(e))return"";let R=n.type==="ClassExpression"||n.type==="ClassDeclaration"||Jrr(n,t);return[e.key==="declaration"&&m0n(i)?ia:R?$D:"",qu(Ns,e.map(r,"decorators")),Ns]}function Jrr(e,t){return e.decorators.some(r=>xA(t.originalText,Cu(r)))}function Xrr(e){var t;if(e.type!=="ExportDefaultDeclaration"&&e.type!=="ExportNamedDeclaration"&&e.type!=="DeclareExportDeclaration")return!1;let r=(t=e.declaration)==null?void 0:t.decorators;return xl(r)&&mCe(e,r[0])}function Eln(e,t,r){let{node:n}=e,i=og(n);if(i.length===0)return["(",gp(e,t),")"];let s=i.length-1;if(Dln(i)){let f=["("];return pCe(e,(m,x)=>{f.push(r()),x!==s&&f.push(", ")}),f.push(")"),f}let R=!1,l=[];pCe(e,({node:f},m)=>{let x=r();m===s||(hw(f,t)?(R=!0,x=[x,",",ia,ia]):x=[x,",",Ns]),l.push(x)});let c=!t.parser.startsWith("__ng_")&&n.type!=="ImportExpression"&&_w(t,"all")?",":"";function h(){return Vn(["(",ca([Ns,...l]),c,Ns,")"],{shouldBreak:!0})}if(R||e.parent.type!=="Decorator"&&v0n(i))return h();if(vln(i)){let f=l.slice(1);if(f.some(v4))return h();let m;try{m=r(vtr(n,0),{expandFirstArg:!0})}catch(x){if(x instanceof hCe)return h();throw x}return v4(m)?[$D,JJ([["(",Vn(m,{shouldBreak:!0}),", ",...f,")"],h()])]:JJ([["(",m,", ",...f,")"],["(",Vn(m,{shouldBreak:!0}),", ",...f,")"],h()])}if(Oln(i,l,t)){let f=l.slice(0,-1);if(f.some(v4))return h();let m;try{m=r(vtr(n,-1),{expandLastArg:!0})}catch(x){if(x instanceof hCe)return h();throw x}return v4(m)?[$D,JJ([["(",...f,Vn(m,{shouldBreak:!0}),")"],h()])]:JJ([["(",...f,m,")"],["(",...f,Vn(m,{shouldBreak:!0}),")"],h()])}let _=["(",ca([Vi,...l]),j0(c),Vi,")"];return _rr(e)?_:Vn(_,{shouldBreak:l.some(v4)||R})}function Ohe(e,t=!1){return iO(e)&&(e.properties.length>0||Xa(e))||Ym(e)&&(e.elements.length>0||Xa(e))||e.type==="TSTypeAssertion"&&Ohe(e.expression)||OD(e)&&Ohe(e.expression)||e.type==="FunctionExpression"||e.type==="ArrowFunctionExpression"&&(!e.returnType||!e.returnType.typeAnnotation||e.returnType.typeAnnotation.type!=="TSTypeReference"||Sln(e.body))&&(e.body.type==="BlockStatement"||e.body.type==="ArrowFunctionExpression"&&Ohe(e.body,!0)||iO(e.body)||Ym(e.body)||!t&&(rl(e.body)||e.body.type==="ConditionalExpression")||D7(e.body))||e.type==="DoExpression"||e.type==="ModuleExpression"}function Oln(e,t,r){var n,i;let s=dl(!1,e,-1);if(e.length===1){let l=dl(!1,t,-1);if((n=l.label)!=null&&n.embed&&((i=l.label)==null?void 0:i.hug)!==!1)return!0}let R=dl(!1,e,-2);return!Xa(s,Is.Leading)&&!Xa(s,Is.Trailing)&&Ohe(s)&&(!R||R.type!==s.type)&&(e.length!==2||R.type!=="ArrowFunctionExpression"||!Ym(s))&&!(e.length>1&&Anr(s,r))}function vln(e){if(e.length!==2)return!1;let[t,r]=e;return t.type==="ModuleExpression"&&$ln(r)?!0:!Xa(t)&&(t.type==="FunctionExpression"||t.type==="ArrowFunctionExpression"&&t.body.type==="BlockStatement")&&r.type!=="FunctionExpression"&&r.type!=="ArrowFunctionExpression"&&r.type!=="ConditionalExpression"&&Zrr(r)&&!Ohe(r)}function Zrr(e){if(e.type==="ParenthesizedExpression")return Zrr(e.expression);if(OD(e)||e.type==="TypeCastExpression"){let{typeAnnotation:t}=e;if(t.type==="TypeAnnotation"&&(t=t.typeAnnotation),t.type==="TSArrayType"&&(t=t.elementType,t.type==="TSArrayType"&&(t=t.elementType)),t.type==="GenericTypeAnnotation"||t.type==="TSTypeReference"){let r=t.typeArguments??t.typeParameters;r?.params.length===1&&(t=r.params[0])}return i6t(t)&&rO(e.expression,1)}return nae(e)&&og(e).length>1?!1:Tw(e)?rO(e.left,1)&&rO(e.right,1):Rrr(e)||rO(e)}function Dln(e){return e.length===2?Utr(e,0):e.length===3?e[0].type==="Identifier"&&Utr(e,1):!1}function Utr(e,t){let r=e[t],n=e[t+1];return r.type==="ArrowFunctionExpression"&&ly(r).length===0&&r.body.type==="BlockStatement"&&n.type==="ArrayExpression"&&!e.some(i=>Xa(i))}function Sln(e){return e.type==="BlockStatement"&&(e.body.some(t=>t.type!=="EmptyStatement")||Xa(e,Is.Dangling))}function $ln(e){return e.type==="ObjectExpression"&&e.properties.length===1&&fw(e.properties[0])&&e.properties[0].key.type==="Identifier"&&e.properties[0].key.name==="type"&&UC(e.properties[0].value)&&e.properties[0].value.value==="module"}function Nln(e,t,r){var n;let i=r("object"),s=enr(e,t,r),{node:R}=e,l=e.findAncestor(_=>!(H_(_)||_.type==="TSNonNullExpression")),c=e.findAncestor(_=>!(_.type==="ChainExpression"||_.type==="TSNonNullExpression")),h=l&&(l.type==="NewExpression"||l.type==="BindExpression"||l.type==="AssignmentExpression"&&l.left.type!=="Identifier")||R.computed||R.object.type==="Identifier"&&R.property.type==="Identifier"&&!H_(c)||(c.type==="AssignmentExpression"||c.type==="VariableDeclarator")&&(Qln(R.object)||((n=i.label)==null?void 0:n.memberChain));return Nhe(i.label,[i,h?s:Vn(ca([Vi,s]))])}function enr(e,t,r){let n=r("property"),{node:i}=e,s=D4(e);return i.computed?!i.property||cw(i.property)?[s,"[",n,"]"]:Vn([s,"[",ca([Vi,n]),Vi,"]"]):[s,".",n]}function tnr(e,t,r){if(e.node.type==="ChainExpression")return e.call(()=>tnr(e,t,r),"expression");let{parent:n}=e,i=!n||n.type==="ExpressionStatement",s=[];function R(Ue){let{originalText:Ee}=t,Me=cae(Ee,Cu(Ue));return Ee.charAt(Me)===")"?Me!==!1&&e6t(Ee,Me+1):hw(Ue,t)}function l(){let{node:Ue}=e;if(Ue.type==="ChainExpression")return e.call(l,"expression");if(rl(Ue)&&(jie(Ue.callee)||rl(Ue.callee))){let Ee=R(Ue);s.unshift({node:Ue,hasTrailingEmptyLine:Ee,printed:[nO(e,[D4(e),tX(e,t,r),G4t(e,t,r)],t),Ee?ia:""]}),e.call(l,"callee")}else jie(Ue)?(s.unshift({node:Ue,needsParens:RX(e,t),printed:nO(e,H_(Ue)?enr(e,t,r):qnr(e,t,r),t)}),e.call(l,"object")):Ue.type==="TSNonNullExpression"?(s.unshift({node:Ue,printed:nO(e,"!",t)}),e.call(l,"expression")):s.unshift({node:Ue,printed:r()})}let{node:c}=e;s.unshift({node:c,printed:[D4(e),tX(e,t,r),G4t(e,t,r)]}),c.callee&&e.call(l,"callee");let h=[],_=[s[0]],f=1;for(;f0&&h.push(_);function x(Ue){return/^[A-Z]|^[$_]+$/u.test(Ue)}function y(Ue){return Ue.length<=t.tabWidth}function A(Ue){var Ee;let Me=(Ee=Ue[1][0])==null?void 0:Ee.node.computed;if(Ue[0].length===1){let xt=Ue[0][0].node;return xt.type==="ThisExpression"||xt.type==="Identifier"&&(x(xt.name)||i&&y(xt.name)||Me)}let gt=dl(!1,Ue[0],-1).node;return H_(gt)&>.property.type==="Identifier"&&(x(gt.property.name)||Me)}let D=h.length>=2&&!Xa(h[1][0].node)&&A(h);function S(Ue){let Ee=Ue.map(Me=>Me.printed);return Ue.length>0&&dl(!1,Ue,-1).needsParens?["(",...Ee,")"]:Ee}function P(Ue){return Ue.length===0?"":ca([ia,qu(ia,Ue.map(S))])}let M=h.map(S),U=M,w=D?3:2,F=h.flat(),H=F.slice(1,-1).some(Ue=>Xa(Ue.node,Is.Leading))||F.slice(0,-1).some(Ue=>Xa(Ue.node,Is.Trailing))||h[w]&&Xa(h[w][0].node,Is.Leading);if(h.length<=w&&!H&&!h.some(Ue=>dl(!1,Ue,-1).hasTrailingEmptyLine))return _rr(e)?U:Vn(U);let G=dl(!1,h[D?1:0],-1).node,ee=!rl(G)&&R(G),fe=[S(h[0]),D?h.slice(1,2).map(S):"",ee?ia:"",P(h.slice(D?2:1))],me=s.map(({node:Ue})=>Ue).filter(rl);function ve(){let Ue=dl(!1,dl(!1,h,-1),-1).node,Ee=dl(!1,M,-1);return rl(Ue)&&v4(Ee)&&me.slice(0,-1).some(Me=>Me.arguments.some(Dhe))}let Ae;return H||me.length>2&&me.some(Ue=>!Ue.arguments.every(Ee=>rO(Ee)))||M.slice(0,-1).some(v4)||ve()?Ae=Vn(fe):Ae=[v4(U)||ee?$D:"",JJ([U,fe])],Nhe({memberChain:!0},Ae)}function rnr(e,t,r){var n;let{node:i}=e,s=i.type==="NewExpression",R=i.type==="ImportExpression",l=D4(e),c=og(i),h=c.length===1&&Trr(c[0],t.originalText);if(h||Pln(e)||yCe(i,e.parent)){let f=[];if(pCe(e,()=>{f.push(r())}),!(h&&(n=f[0].label)!=null&&n.embed))return[s?"new ":"",Ftr(e,r),l,tX(e,t,r),"(",qu(", ",f),")"]}if(!R&&!s&&jie(i.callee)&&!e.call(f=>RX(f,t),"callee",...i.callee.type==="ChainExpression"?["expression"]:[]))return wln(e,t,r);let _=[s?"new ":"",Ftr(e,r),l,tX(e,t,r),G4t(e,t,r)];return R||rl(i.callee)?Vn(_):_}function Ftr(e,t){let{node:r}=e;return r.type==="ImportExpression"?`import${r.phase?`.${r.phase}`:""}`:t("callee")}function Pln(e){let{node:t}=e;if(t.type!=="CallExpression"||t.optional||t.callee.type!=="Identifier")return!1;let r=og(t);return t.callee.name==="require"?r.length===1&&UC(r[0])||r.length>1:t.callee.name==="define"&&e.parent.type==="ExpressionStatement"?r.length===1||r.length===2&&r[0].type==="ArrayExpression"||r.length===3&&UC(r[0])&&r[1].type==="ArrayExpression":!1}function whe(e,t,r,n,i,s){let R=Mln(e,t,r,n,s),l=s?r(s,{assignmentLayout:R}):"";switch(R){case"break-after-operator":return Vn([Vn(n),i,Vn(ca([Ns,l]))]);case"never-break-after-operator":return Vn([Vn(n),i," ",l]);case"fluid":{let c=Symbol("assignment");return Vn([Vn(n),i,Vn(ca(Ns),{id:c}),pw,CCe(l,{groupId:c})])}case"break-lhs":return Vn([n,i," ",Vn(l)]);case"chain":return[Vn(n),i,Ns,l];case"chain-tail":return[Vn(n),i,ca([Ns,l])];case"chain-tail-arrow-chain":return[Vn(n),i,l];case"only-left":return n}}function Bln(e,t,r){let{node:n}=e;return whe(e,t,r,r("left"),[" ",n.operator],"right")}function Iln(e,t,r){return whe(e,t,r,r("id")," =","init")}function Mln(e,t,r,n,i){let{node:s}=e,R=s[i];if(!R)return"only-left";let l=!lCe(R);if(e.match(lCe,nnr,_=>!l||_.type!=="ExpressionStatement"&&_.type!=="VariableDeclaration"))return l?R.type==="ArrowFunctionExpression"&&R.body.type==="ArrowFunctionExpression"?"chain-tail-arrow-chain":"chain-tail":"chain";if(!l&&lCe(R.right)||XJ(t.originalText,R))return"break-after-operator";if(s.type==="ImportAttribute"||R.type==="CallExpression"&&R.callee.name==="require"||t.parser==="json5"||t.parser==="jsonc"||t.parser==="json")return"never-break-after-operator";let c=J0n(n);if(Uln(s)||Hln(s)||inr(s)&&c)return"break-lhs";let h=Kln(s,n,t);return e.call(()=>Wln(e,t,r,h),i)?"break-after-operator":Fln(s)?"break-lhs":!c&&(h||R.type==="TemplateLiteral"||R.type==="TaggedTemplateExpression"||R.type==="BooleanLiteral"||cw(R)||R.type==="ClassExpression")?"never-break-after-operator":"fluid"}function Wln(e,t,r,n){let i=e.node;if(Tw(i)&&!Qhe(i))return!0;switch(i.type){case"StringLiteralTypeAnnotation":case"SequenceExpression":return!0;case"TSConditionalType":case"ConditionalTypeAnnotation":if(!t.experimentalTernaries&&!jln(i))break;return!0;case"ConditionalExpression":{if(!t.experimentalTernaries){let{test:h}=i;return Tw(h)&&!Qhe(h)}let{consequent:l,alternate:c}=i;return l.type==="ConditionalExpression"||c.type==="ConditionalExpression"}case"ClassExpression":return xl(i.decorators)}if(n)return!1;let s=i,R=[];for(;;)if(s.type==="UnaryExpression"||s.type==="AwaitExpression"||s.type==="YieldExpression"&&s.argument!==null)s=s.argument,R.push("argument");else if(s.type==="TSNonNullExpression")s=s.expression,R.push("expression");else break;return!!(UC(s)||e.call(()=>anr(e,t,r),...R))}function Uln(e){if(nnr(e)){let t=e.left||e.id;return t.type==="ObjectPattern"&&t.properties.length>2&&t.properties.some(r=>{var n;return fw(r)&&(!r.shorthand||((n=r.value)==null?void 0:n.type)==="AssignmentPattern")})}return!1}function lCe(e){return e.type==="AssignmentExpression"}function nnr(e){return lCe(e)||e.type==="VariableDeclarator"}function Fln(e){let t=zln(e);if(xl(t)){let r=e.type==="TSTypeAliasDeclaration"?"constraint":"bound";if(t.length>1&&t.some(n=>n[r]||n.default))return!0}return!1}function zln(e){var t;if(Lln(e))return(t=e.typeParameters)==null?void 0:t.params}function Hln(e){if(e.type!=="VariableDeclarator")return!1;let{typeAnnotation:t}=e.id;if(!t||!t.typeAnnotation)return!1;let r=Ltr(t.typeAnnotation);return xl(r)&&r.length>1&&r.some(n=>xl(Ltr(n))||n.type==="TSConditionalType")}function inr(e){var t;return e.type==="VariableDeclarator"&&((t=e.init)==null?void 0:t.type)==="ArrowFunctionExpression"}function Ltr(e){var t;if(Yln(e))return(t=e.typeArguments??e.typeParameters)==null?void 0:t.params}function anr(e,t,r,n=!1){var i;let{node:s}=e,R=()=>anr(e,t,r,!0);if(s.type==="ChainExpression"||s.type==="TSNonNullExpression")return e.call(R,"expression");if(rl(s)){if((i=rnr(e,t,r).label)!=null&&i.memberChain)return!1;let l=og(s);return!(l.length===0||l.length===1&&a6t(l[0],t))||Gln(s,r)?!1:e.call(R,"callee")}return H_(s)?e.call(R,"object"):n&&(s.type==="Identifier"||s.type==="ThisExpression")}function Kln(e,t,r){return fw(e)?(t=R6t(t),typeof t=="string"&&Zie(t)1)return!0;if(r.length===1){let i=r[0];if(ZJ(i)||frr(i)||i.type==="TSTypeLiteral"||i.type==="ObjectTypeAnnotation")return!0}let n=e.typeParameters?"typeParameters":"typeArguments";if(v4(t(n)))return!0}return!1}function Vln(e){var t;return(t=e.typeParameters??e.typeArguments)==null?void 0:t.params}function jln(e){function t(r){switch(r.type){case"FunctionTypeAnnotation":case"GenericTypeAnnotation":case"TSFunctionType":return!!r.typeParameters;case"TSTypeReference":return!!(r.typeArguments??r.typeParameters);default:return!1}}return t(e.checkType)||t(e.extendsType)}function uX(e,t,r,n,i){let s=e.node,R=ly(s),l=i?tX(e,r,t):"";if(R.length===0)return[l,"(",gp(e,r,{filter:x=>aO(r.originalText,Cu(x))===")"}),")"];let{parent:c}=e,h=yCe(c),_=snr(s),f=[];if(w0n(e,(x,y)=>{let A=y===R.length-1;A&&s.rest&&f.push("..."),f.push(t()),!A&&(f.push(","),h||_?f.push(" "):hw(R[y],r)?f.push(ia,ia):f.push(Ns))}),n&&!Xln(e)){if(v4(l)||v4(f))throw new hCe;return Vn([I4t(l),"(",I4t(f),")"])}let m=R.every(x=>!xl(x.decorators));return _&&m?[l,"(",...f,")"]:h?[l,"(",...f,")"]:(urr(c)||C0n(c)||c.type==="TypeAlias"||c.type==="UnionTypeAnnotation"||c.type==="IntersectionTypeAnnotation"||c.type==="FunctionTypeAnnotation"&&c.returnType===s)&&R.length===1&&R[0].name===null&&s.this!==R[0]&&R[0].typeAnnotation&&s.typeParameters===null&&i6t(R[0].typeAnnotation)&&!s.rest?r.arrowParens==="always"||s.type==="HookTypeAnnotation"?["(",...f,")"]:f:[l,"(",ca([Vi,...f]),j0(!N0n(s)&&_w(r,"all")?",":""),Vi,")"]}function snr(e){if(!e)return!1;let t=ly(e);if(t.length!==1)return!1;let[r]=t;return!Xa(r)&&(r.type==="ObjectPattern"||r.type==="ArrayPattern"||r.type==="Identifier"&&r.typeAnnotation&&(r.typeAnnotation.type==="TypeAnnotation"||r.typeAnnotation.type==="TSTypeAnnotation")&&oW(r.typeAnnotation.typeAnnotation)||r.type==="FunctionTypeParam"&&oW(r.typeAnnotation)&&r!==e.rest||r.type==="AssignmentPattern"&&(r.left.type==="ObjectPattern"||r.left.type==="ArrayPattern")&&(r.right.type==="Identifier"||iO(r.right)&&r.right.properties.length===0||Ym(r.right)&&r.right.elements.length===0))}function Jln(e){let t;return e.returnType?(t=e.returnType,t.typeAnnotation&&(t=t.typeAnnotation)):e.typeAnnotation&&(t=e.typeAnnotation),t}function pae(e,t){var r;let n=Jln(e);if(!n)return!1;let i=(r=e.typeParameters)==null?void 0:r.params;if(i){if(i.length>1)return!1;if(i.length===1){let s=i[0];if(s.constraint||s.default)return!1}}return ly(e).length===1&&(oW(n)||v4(t))}function Xln(e){return e.match(t=>t.type==="ArrowFunctionExpression"&&t.body.type==="BlockStatement",(t,r)=>{if(t.type==="CallExpression"&&r==="arguments"&&t.arguments.length===1&&t.callee.type==="CallExpression"){let n=t.callee.callee;return n.type==="Identifier"||n.type==="MemberExpression"&&!n.computed&&n.object.type==="Identifier"&&n.property.type==="Identifier"}return!1},(t,r)=>t.type==="VariableDeclarator"&&r==="init"||t.type==="ExportDefaultDeclaration"&&r==="declaration"||t.type==="TSExportAssignment"&&r==="expression"||t.type==="AssignmentExpression"&&r==="right"&&t.left.type==="MemberExpression"&&t.left.object.type==="Identifier"&&t.left.object.name==="module"&&t.left.property.type==="Identifier"&&t.left.property.name==="exports",t=>t.type!=="VariableDeclaration"||t.kind==="const"&&t.declarations.length===1)}function Zln(e){let t=ly(e);return t.length>1&&t.some(r=>r.type==="TSParameterProperty")}function rcn(e){let{types:t}=e;if(t.some(n=>Xa(n)))return!1;let r=t.find(n=>tcn(n));return r?t.every(n=>n===r||ecn(n)):!1}function onr(e){return i6t(e)||oW(e)?!0:ZJ(e)?rcn(e):!1}function ncn(e,t,r){let n=t.semi?";":"",{node:i}=e,s=[FC(e),"opaque type ",r("id"),r("typeParameters")];return i.supertype&&s.push(": ",r("supertype")),i.impltype&&s.push(" = ",r("impltype")),s.push(n),s}function Rnr(e,t,r){let n=t.semi?";":"",{node:i}=e,s=[FC(e)];s.push("type ",r("id"),r("typeParameters"));let R=i.type==="TSTypeAliasDeclaration"?"typeAnnotation":"right";return[whe(e,t,r,s," =",R),n]}function unr(e,t,r){let n=!1;return Vn(e.map(({isFirst:i,previous:s,node:R,index:l})=>{let c=r();if(i)return c;let h=oW(R),_=oW(s);return _&&h?[" & ",n?ca(c):c]:!_&&!h?ca([" &",Ns,c]):(l>1&&(n=!0),[" & ",l>1?ca(c):c])},"types"))}function lnr(e,t,r){let{node:n}=e,{parent:i}=e,s=i.type!=="TypeParameterInstantiation"&&(i.type!=="TSConditionalType"||!t.experimentalTernaries)&&(i.type!=="ConditionalTypeAnnotation"||!t.experimentalTernaries)&&i.type!=="TSTypeParameterInstantiation"&&i.type!=="GenericTypeAnnotation"&&i.type!=="TSTypeReference"&&i.type!=="TSTypeAssertion"&&i.type!=="TupleTypeAnnotation"&&i.type!=="TSTupleType"&&!(i.type==="FunctionTypeParam"&&!i.name&&e.grandparent.this!==i)&&!((i.type==="TypeAlias"||i.type==="VariableDeclarator"||i.type==="TSTypeAliasDeclaration")&&XJ(t.originalText,n)),R=onr(n),l=e.map(_=>{let f=r();return R||(f=SD(2,f)),nO(_,f,t)},"types");if(R)return qu(" | ",l);let c=s&&!XJ(t.originalText,n),h=[j0([c?Ns:"","| "]),qu([Ns,"| "],l)];return RX(e,t)?Vn([ca(h),Vi]):(i.type==="TupleTypeAnnotation"||i.type==="TSTupleType")&&i[i.type==="TupleTypeAnnotation"&&i.types?"types":"elementTypes"].length>1?Vn([ca([j0(["(",Vi]),h]),Vi,j0(")")]):Vn(s?ca(h):h)}function icn(e){var t;let{node:r,parent:n}=e;return r.type==="FunctionTypeAnnotation"&&(urr(n)||!((n.type==="ObjectTypeProperty"||n.type==="ObjectTypeInternalSlot")&&!n.variance&&!n.optional&&mCe(n,r)||n.type==="ObjectTypeCallProperty"||((t=e.getParentNode(2))==null?void 0:t.type)==="DeclareFunction"))}function cnr(e,t,r){let{node:n}=e,i=[ACe(e)];(n.type==="TSConstructorType"||n.type==="TSConstructSignatureDeclaration")&&i.push("new ");let s=uX(e,r,t,!1,!0),R=[];return n.type==="FunctionTypeAnnotation"?R.push(icn(e)?" => ":": ",r("returnType")):R.push(Hm(e,r,n.returnType?"returnType":"typeAnnotation")),pae(n,R)&&(s=Vn(s)),i.push(s,R),Vn(i)}function Tnr(e,t,r){return[r("objectType"),D4(e),"[",r("indexType"),"]"]}function pnr(e,t,r){return["infer ",r("typeParameter")]}function ztr(e,t,r){let{node:n}=e;return[n.postfix?"":r,Hm(e,t),n.postfix?r:""]}function _nr(e,t,r){let{node:n}=e;return["...",...n.type==="TupleTypeSpreadElement"&&n.label?[r("label"),": "]:[],r("typeAnnotation")]}function hnr(e,t,r){let{node:n}=e;return[n.variance?r("variance"):"",r("label"),n.optional?"?":"",": ",r("elementType")]}function Hm(e,t,r="typeAnnotation"){let{node:{[r]:n}}=e;if(!n)return"";let i=!1;if(n.type==="TSTypeAnnotation"||n.type==="TypeAnnotation"){let s=e.call(fnr,r);(s==="=>"||s===":"&&Xa(n,Is.Leading))&&(i=!0),acn.add(n)}return i?[" ",t(r)]:t(r)}function dnr(e,t,r){let n=fnr(e);return n?[n," ",r("typeAnnotation")]:r("typeAnnotation")}function xnr(e){return[e("elementType"),"[]"]}function mnr({node:e},t){let r=e.type==="TSTypeQuery"?"exprName":"argument",n=e.type==="TypeofTypeAnnotation"||e.typeArguments?"typeArguments":"typeParameters";return["typeof ",t(r),t(n)]}function knr(e,t){let{node:r}=e;return[r.type==="TSTypePredicate"&&r.asserts?"asserts ":r.type==="TypePredicate"&&r.kind?`${r.kind} `:"",t("parameterName"),r.typeAnnotation?[" is ",Hm(e,t)]:""]}function D4(e){let{node:t}=e;return!t.optional||t.type==="Identifier"&&t===e.parent.key?"":rl(t)||H_(t)&&t.computed||t.type==="OptionalIndexedAccessType"?"?.":"?"}function ynr(e){return e.node.definite||e.match(void 0,(t,r)=>r==="id"&&t.type==="VariableDeclarator"&&t.definite)?"!":""}function FC(e){let{node:t}=e;return t.declare||scn.has(t.type)&&e.parent.type!=="DeclareExportDeclaration"?"declare ":""}function ACe({node:e}){return e.abstract||ocn.has(e.type)?"abstract ":""}function tX(e,t,r){let n=e.node;return n.typeArguments?r("typeArguments"):n.typeParameters?r("typeParameters"):""}function qnr(e,t,r){return["::",r("callee")]}function sW(e,t,r){return e.type==="EmptyStatement"?";":e.type==="BlockStatement"||r?[" ",t]:ca([Ns,t])}function Cnr(e,t){return["...",t("argument"),Hm(e,t)]}function fCe(e){return e.accessibility?e.accessibility+" ":""}function Rcn(e,t,r,n){let{node:i}=e,s=i.inexact?"...":"";return Xa(i,Is.Dangling)?Vn([r,s,gp(e,t,{indent:!0}),Vi,n]):[r,s,n]}function f6t(e,t,r){let{node:n}=e,i=[],s=n.type==="TupleExpression"?"#[":"[",R="]",l=n.type==="TupleTypeAnnotation"&&n.types?"types":n.type==="TSTupleType"||n.type==="TupleTypeAnnotation"?"elementTypes":"elements",c=n[l];if(c.length===0)i.push(Rcn(e,t,s,R));else{let h=dl(!1,c,-1),_=h?.type!=="RestElement"&&!n.inexact,f=h===null,m=Symbol("array"),x=!t.__inJestEach&&c.length>1&&c.every((D,S,P)=>{let M=D?.type;if(!Ym(D)&&!iO(D))return!1;let U=P[S+1];if(U&&M!==U.type)return!1;let w=Ym(D)?"elements":"properties";return D[w]&&D[w].length>1}),y=Anr(n,t),A=_?f?",":_w(t)?y?j0(",","",{groupId:m}):j0(","):"":"";i.push(Vn([s,ca([Vi,y?lcn(e,t,r,A):[ucn(e,t,l,n.inexact,r),A],gp(e,t)]),Vi,R],{shouldBreak:x,id:m}))}return i.push(D4(e),Hm(e,r)),i}function Anr(e,t){return Ym(e)&&e.elements.length>1&&e.elements.every(r=>r&&(cw(r)||orr(r)&&!Xa(r.argument))&&!Xa(r,Is.Trailing|Is.Line,n=>!xA(t.originalText,T_(n),{backwards:!0})))}function gnr({node:e},{originalText:t}){let r=i=>X4t(t,Z4t(t,i)),n=i=>t[i]===","?i:n(r(i+1));return e6t(t,n(Cu(e)))}function ucn(e,t,r,n,i){let s=[];return e.each(({node:R,isLast:l})=>{s.push(R?Vn(i()):""),(!l||n)&&s.push([",",Ns,R&&gnr(e,t)?Vi:""])},r),n&&s.push("..."),s}function lcn(e,t,r,n){let i=[];return e.each(({isLast:s,next:R})=>{i.push([r(),s?n:","]),s||i.push(gnr(e,t)?[ia,ia]:Xa(R,Is.Leading|Is.Line)?ia:Ns)},"elements"),qrr(i)}function _cn(e){return e.length===1?e:e.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(?=\d)/u,"$1$2").replace(/^([+-]?[\d.]+)e[+-]?0+$/u,"$1").replace(/^([+-])?\./u,"$10.").replace(/(\.\d+?)0+(?=e|$)/u,"$1").replace(/\.(?=e|$)/u,"")}function bnr(e){return/^(?:\d+|\d+\.\d+)$/u.test(e)}function Htr(e,t){return t.parser==="json"||t.parser==="jsonc"||!UC(e.key)||rae(ng(e.key),t).slice(1,-1)!==e.key.value?!1:!!(pcn(e.key.value)&&!(t.parser==="babel-ts"&&e.type==="ClassProperty"||t.parser==="typescript"&&e.type==="PropertyDefinition")||bnr(e.key.value)&&String(Number(e.key.value))===e.key.value&&e.type!=="ImportAttribute"&&(t.parser==="babel"||t.parser==="acorn"||t.parser==="espree"||t.parser==="meriyah"||t.parser==="__babel_estree"))}function hcn(e,t){let{key:r}=e.node;return(r.type==="Identifier"||cw(r)&&bnr(iae(ng(r)))&&String(r.value)===iae(ng(r))&&!(t.parser==="typescript"||t.parser==="babel-ts"))&&(t.parser==="json"||t.parser==="jsonc"||t.quoteProps==="consistent"&&cCe.get(e.parent))}function Phe(e,t,r){let{node:n}=e;if(n.computed)return["[",r("key"),"]"];let{parent:i}=e,{key:s}=n;if(t.quoteProps==="consistent"&&!cCe.has(i)){let R=e.siblings.some(l=>!l.computed&&UC(l.key)&&!Htr(l,t));cCe.set(i,R)}if(hcn(e,t)){let R=rae(JSON.stringify(s.type==="Identifier"?s.name:s.value.toString()),t);return e.call(l=>nO(l,R,t),"key")}return Htr(n,t)&&(t.quoteProps==="as-needed"||t.quoteProps==="consistent"&&!cCe.get(i))?e.call(R=>nO(R,/^\d/u.test(s.value)?iae(s.value):s.value,t),"key"):r("key")}function S4t(e,t,r){let{node:n}=e;return n.shorthand?r("value"):whe(e,t,r,Phe(e,t,r),":","value")}function Enr(e,t,r,n){if(fcn(e))return d6t(e,r,t);let{node:i}=e,s=!1;if((i.type==="FunctionDeclaration"||i.type==="FunctionExpression")&&n!=null&&n.expandLastArg){let{parent:_}=e;rl(_)&&(og(_).length>1||ly(i).every(f=>f.type==="Identifier"&&!f.typeAnnotation))&&(s=!0)}let R=[FC(e),i.async?"async ":"",`function${i.generator?"*":""} `,i.id?t("id"):""],l=uX(e,t,r,s),c=gCe(e,t),h=pae(i,c);return R.push(tX(e,r,t),Vn([h?Vn(l):l,c]),i.body?" ":"",t("body")),r.semi&&(i.declare||!i.body)&&R.push(";"),R}function V4t(e,t,r){let{node:n}=e,{kind:i}=n,s=n.value||n,R=[];return!i||i==="init"||i==="method"||i==="constructor"?s.async&&R.push("async "):(t6t.ok(i==="get"||i==="set"),R.push(i," ")),s.generator&&R.push("*"),R.push(Phe(e,t,r),n.optional||n.key.optional?"?":"",n===s?d6t(e,t,r):r("value")),R}function d6t(e,t,r){let{node:n}=e,i=uX(e,r,t),s=gCe(e,r),R=Zln(n),l=pae(n,s),c=[tX(e,t,r),Vn([R?Vn(i,{shouldBreak:!0}):l?Vn(i):i,s])];return n.body?c.push(" ",r("body")):c.push(t.semi?";":""),c}function dcn(e){let t=ly(e);return t.length===1&&!e.typeParameters&&!Xa(e,Is.Dangling)&&t[0].type==="Identifier"&&!t[0].typeAnnotation&&!Xa(t[0])&&!t[0].optional&&!e.predicate&&!e.returnType}function Onr(e,t){if(t.arrowParens==="always")return!1;if(t.arrowParens==="avoid"){let{node:r}=e;return dcn(r)}return!1}function gCe(e,t){let{node:r}=e,n=[Hm(e,t,"returnType")];return r.predicate&&n.push(t("predicate")),n}function vnr(e,t,r){let{node:n}=e,i=t.semi?";":"",s=[];if(n.argument){let c=r("argument");kcn(t,n.argument)?c=["(",ca([ia,c]),ia,")"]:(Tw(n.argument)||n.argument.type==="SequenceExpression"||t.experimentalTernaries&&n.argument.type==="ConditionalExpression"&&(n.argument.consequent.type==="ConditionalExpression"||n.argument.alternate.type==="ConditionalExpression"))&&(c=Vn([j0("("),ca([Vi,c]),Vi,j0(")")])),s.push(" ",c)}let R=Xa(n,Is.Dangling),l=i&&R&&Xa(n,Is.Last|Is.Line);return l&&s.push(i),R&&s.push(" ",gp(e,t)),l||s.push(i),s}function xcn(e,t,r){return["return",vnr(e,t,r)]}function mcn(e,t,r){return["throw",vnr(e,t,r)]}function kcn(e,t){if(XJ(e.originalText,t)||Xa(t,Is.Leading,r=>uW(e.originalText,T_(r),Cu(r)))&&!D7(t))return!0;if(r6t(t)){let r=t,n;for(;n=x0n(r);)if(r=n,XJ(e.originalText,r))return!0}return!1}function Dnr(e){return $4t.has(e)||$4t.set(e,e.type==="ConditionalExpression"&&!O4(e,t=>t.type==="ObjectExpression")),$4t.get(e)}function ycn(e,t,r,n={}){let i=[],s,R=[],l=!1,c=!n.expandLastArg&&e.node.body.type==="ArrowFunctionExpression",h;(function S(){let{node:P}=e,M=qcn(e,t,r,n);if(i.length===0)i.push(M);else{let{leading:U,trailing:w}=Krr(e,t);i.push([U,M]),R.unshift(w)}c&&(l||(l=P.returnType&&ly(P).length>0||P.typeParameters||ly(P).some(U=>U.type!=="Identifier"))),!c||P.body.type!=="ArrowFunctionExpression"?(s=r("body",n),h=P.body):e.call(S,"body")})();let _=!XJ(t.originalText,h)&&(Snr(h)||Ccn(h,s,t)||!l&&Dnr(h)),f=e.key==="callee"&&nae(e.parent),m=Symbol("arrow-chain"),x=Acn(e,n,{signatureDocs:i,shouldBreak:l}),y=!1,A=!1,D=!1;return c&&(f||n.assignmentLayout)&&(A=!0,D=!Xa(e.node,Is.Leading&Is.Line),y=n.assignmentLayout==="chain-tail-arrow-chain"||f&&!_),s=gcn(e,t,n,{bodyDoc:s,bodyComments:R,functionBody:h,shouldPutBodyOnSameLine:_}),Vn([Vn(A?ca([D?Vi:"",x]):x,{shouldBreak:y,id:m})," =>",c?CCe(s,{groupId:m}):Vn(s),c&&f?j0(Vi,"",{groupId:m}):""])}function qcn(e,t,r,n){let{node:i}=e,s=[];if(i.async&&s.push("async "),Onr(e,t))s.push(r(["params",0]));else{let l=n.expandLastArg||n.expandFirstArg,c=gCe(e,r);if(l){if(v4(c))throw new hCe;c=Vn(I4t(c))}s.push(Vn([uX(e,r,t,l,!0),c]))}let R=gp(e,t,{filter(l){let c=cae(t.originalText,Cu(l));return c!==!1&&t.originalText.slice(c,c+2)==="=>"}});return R&&s.push(" ",R),s}function Ccn(e,t,r){var n,i;return Ym(e)||iO(e)||e.type==="ArrowFunctionExpression"||e.type==="DoExpression"||e.type==="BlockStatement"||D7(e)||((n=t.label)==null?void 0:n.hug)!==!1&&(((i=t.label)==null?void 0:i.embed)||Trr(e,r.originalText))}function Acn(e,t,{signatureDocs:r,shouldBreak:n}){if(r.length===1)return r[0];let{parent:i,key:s}=e;return s!=="callee"&&nae(i)||Tw(i)?Vn([r[0]," =>",ca([Ns,qu([" =>",Ns],r.slice(1))])],{shouldBreak:n}):s==="callee"&&nae(i)||t.assignmentLayout?Vn(qu([" =>",Ns],r),{shouldBreak:n}):Vn(ca(qu([" =>",Ns],r)),{shouldBreak:n})}function gcn(e,t,r,{bodyDoc:n,bodyComments:i,functionBody:s,shouldPutBodyOnSameLine:R}){let{node:l,parent:c}=e,h=r.expandLastArg&&_w(t,"all")?j0(","):"",_=(r.expandLastArg||c.type==="JSXExpressionContainer")&&!Xa(l)?Vi:"";return R&&Dnr(s)?[" ",Vn([j0("","("),ca([Vi,n]),j0("",")"),h,_]),i]:(Snr(s)&&(n=Vn(["(",ca([Vi,n]),Vi,")"])),R?[" ",n,i]:[ca([Ns,n,i]),h,_])}function j4t(e,t,r,n){let{node:i}=e,s=[],R=Ecn(!1,i[n],l=>l.type!=="EmptyStatement");return e.each(({node:l})=>{l.type!=="EmptyStatement"&&(s.push(r()),l!==R&&(s.push(ia),hw(l,t)&&s.push(ia)))},n),s}function $nr(e,t,r){let n=Ocn(e,t,r),{node:i,parent:s}=e;if(i.type==="Program"&&s?.type!=="ModuleExpression")return n?[n,ia]:"";let R=[];if(i.type==="StaticBlock"&&R.push("static "),R.push("{"),n)R.push(ca([ia,n]),ia);else{let l=e.grandparent;s.type==="ArrowFunctionExpression"||s.type==="FunctionExpression"||s.type==="FunctionDeclaration"||s.type==="ComponentDeclaration"||s.type==="HookDeclaration"||s.type==="ObjectMethod"||s.type==="ClassMethod"||s.type==="ClassPrivateMethod"||s.type==="ForStatement"||s.type==="WhileStatement"||s.type==="DoWhileStatement"||s.type==="DoExpression"||s.type==="ModuleExpression"||s.type==="CatchClause"&&!l.finalizer||s.type==="TSModuleDeclaration"||i.type==="StaticBlock"||R.push(ia)}return R.push("}"),R}function Ocn(e,t,r){let{node:n}=e,i=xl(n.directives),s=n.body.some(c=>c.type!=="EmptyStatement"),R=Xa(n,Is.Dangling);if(!i&&!s&&!R)return"";let l=[];return i&&(l.push(j4t(e,t,r,"directives")),(s||R)&&(l.push(ia),hw(dl(!1,n.directives,-1),t)&&l.push(ia))),s&&l.push(j4t(e,t,r,"body")),R&&l.push(gp(e,t)),l}function vcn(e){let t=new WeakMap;return function(r){return t.has(r)||t.set(r,Symbol(e)),t.get(r)}}function Dcn(e){switch(e){case null:return"";case"PlusOptional":return"+?";case"MinusOptional":return"-?";case"Optional":return"?"}}function Scn(e,t,r){let{node:n}=e;return Vn([n.variance?r("variance"):"","[",ca([r("keyTparam")," in ",r("sourceType")]),"]",Dcn(n.optional),": ",r("propType")])}function Nnr(e,t){return e==="+"||e==="-"?e+t:t}function $cn(e,t,r){let{node:n}=e,i=uW(t.originalText,T_(n),T_(n.typeParameter));return Vn(["{",ca([t.bracketSpacing?Ns:Vi,Vn([r("typeParameter"),n.optional?Nnr(n.optional,"?"):"",n.typeAnnotation?": ":"",r("typeAnnotation")]),t.semi?j0(";"):""]),gp(e,t),t.bracketSpacing?Ns:Vi,"}"],{shouldBreak:i})}function Qcn(e,t,r){let{node:n}=e;return ly(n).length===1&&n.type.startsWith("TS")&&!n[r][0].constraint&&e.parent.type==="ArrowFunctionExpression"&&!(t.filepath&&/\.ts$/u.test(t.filepath))}function vhe(e,t,r,n){let{node:i}=e;if(!i[n])return"";if(!Array.isArray(i[n]))return r(n);let s=yCe(e.grandparent),R=e.match(c=>!(c[n].length===1&&oW(c[n][0])),void 0,(c,h)=>h==="typeAnnotation",c=>c.type==="Identifier",inr);if(i[n].length===0||!R&&(s||i[n].length===1&&(i[n][0].type==="NullableTypeAnnotation"||onr(i[n][0]))))return["<",qu(", ",e.map(r,n)),Ncn(e,t),">"];let l=i.type==="TSTypeParameterInstantiation"?"":Qcn(e,t,n)?",":_w(t)?j0(","):"";return Vn(["<",ca([Vi,qu([",",Ns],e.map(r,n))]),l,Vi,">"],{id:x6t(i)})}function Ncn(e,t){let{node:r}=e;if(!Xa(r,Is.Dangling))return"";let n=!Xa(r,Is.Line),i=gp(e,t,{indent:!n});return n?i:[i,ia]}function wnr(e,t,r){let{node:n,parent:i}=e,s=[n.type==="TSTypeParameter"&&n.const?"const ":""],R=n.type==="TSTypeParameter"?r("name"):n.name;if(i.type==="TSMappedType")return i.readonly&&s.push(Nnr(i.readonly,"readonly")," "),s.push("[",R),n.constraint&&s.push(" in ",r("constraint")),i.nameType&&s.push(" as ",e.callParent(()=>r("nameType"))),s.push("]"),s;if(n.variance&&s.push(r("variance")),n.in&&s.push("in "),n.out&&s.push("out "),s.push(R),n.bound&&(n.usesExtendsBound&&s.push(" extends "),s.push(Hm(e,r,"bound"))),n.constraint){let l=Symbol("constraint");s.push(" extends",Vn(ca(Ns),{id:l}),pw,CCe(r("constraint"),{groupId:l}))}return n.default&&s.push(" = ",r("default")),Vn(s)}function Bnr(e,t,r){let{node:n}=e,i=[FC(e),ACe(e),"class"],s=Xa(n.id,Is.Trailing)||Xa(n.typeParameters,Is.Trailing)||Xa(n.superClass)||xl(n.extends)||xl(n.mixins)||xl(n.implements),R=[],l=[];if(n.id&&R.push(" ",r("id")),R.push(r("typeParameters")),n.superClass){let _=[Bcn(e,t,r),r(n.superTypeArguments?"superTypeArguments":"superTypeParameters")],f=e.call(m=>["extends ",nO(m,_,t)],"superClass");s?l.push(Ns,Vn(f)):l.push(" ",f)}else l.push(Q4t(e,t,r,"extends"));l.push(Q4t(e,t,r,"mixins"),Q4t(e,t,r,"implements"));let c;if(s){let _;Mnr(n)?_=[...R,ca(l)]:_=ca([...R,l]),c=Inr(n),i.push(Vn(_,{id:c}))}else i.push(...R,...l);let h=n.body;return s&&xl(h.body)?i.push(j0(ia," ",{groupId:c})):i.push(" "),i.push(r("body")),i}function wcn(e){return j0(ia,"",{groupId:Inr(e)})}function Pcn(e){return["extends","mixins","implements"].reduce((t,r)=>t+(Array.isArray(e[r])?e[r].length:0),e.superClass?1:0)>1}function Mnr(e){return e.typeParameters&&!Xa(e.typeParameters,Is.Trailing|Is.Line)&&!Pcn(e)}function Q4t(e,t,r,n){let{node:i}=e;if(!xl(i[n]))return"";let s=gp(e,t,{marker:n});return[Mnr(i)?j0(" ",Ns,{groupId:x6t(i.typeParameters)}):Ns,s,s&&ia,n,Vn(ca([Ns,qu([",",Ns],e.map(r,n))]))]}function Bcn(e,t,r){let n=r("superClass"),{parent:i}=e;return i.type==="AssignmentExpression"?Vn(j0(["(",ca([Vi,n]),Vi,")"],n)):n}function Wnr(e,t,r){let{node:n}=e,i=[];return xl(n.decorators)&&i.push(jrr(e,t,r)),i.push(fCe(n)),n.static&&i.push("static "),i.push(ACe(e)),n.override&&i.push("override "),i.push(V4t(e,t,r)),i}function Unr(e,t,r){let{node:n}=e,i=[],s=t.semi?";":"";xl(n.decorators)&&i.push(jrr(e,t,r)),i.push(FC(e),fCe(n)),n.static&&i.push("static "),i.push(ACe(e)),n.override&&i.push("override "),n.readonly&&i.push("readonly "),n.variance&&i.push(r("variance")),(n.type==="ClassAccessorProperty"||n.type==="AccessorProperty"||n.type==="TSAbstractAccessorProperty")&&i.push("accessor "),i.push(Phe(e,t,r),D4(e),ynr(e),Hm(e,r));let R=n.type==="TSAbstractPropertyDefinition"||n.type==="TSAbstractAccessorProperty";return[whe(e,t,r,i," =",R?void 0:"value"),s]}function Icn(e,t,r){let{node:n}=e,i=[];return e.each(({node:s,next:R,isLast:l})=>{i.push(r()),!t.semi&&Pnr(s)&&Mcn(s,R)&&i.push(";"),l||(i.push(ia),hw(s,t)&&i.push(ia))},"body"),Xa(n,Is.Dangling)&&i.push(gp(e,t)),["{",i.length>0?[ca([ia,i]),ia]:"","}"]}function Mcn(e,t){var r;let{type:n,name:i}=e.key;if(!e.computed&&n==="Identifier"&&(i==="static"||i==="get"||i==="set")&&!e.value&&!e.typeAnnotation)return!0;if(!t||t.static||t.accessibility||t.readonly)return!1;if(!t.computed){let s=(r=t.key)==null?void 0:r.name;if(s==="in"||s==="instanceof")return!0}if(Pnr(t)&&t.variance&&!t.static&&!t.declare)return!0;switch(t.type){case"ClassProperty":case"PropertyDefinition":case"TSAbstractPropertyDefinition":return t.computed;case"MethodDefinition":case"TSAbstractMethodDefinition":case"ClassMethod":case"ClassPrivateMethod":{if((t.value?t.value.async:t.async)||t.kind==="get"||t.kind==="set")return!1;let s=t.value?t.value.generator:t.generator;return!!(t.computed||s)}case"TSIndexSignature":return!0}return!1}function Fnr(e){return Wcn(e)?Fnr(e.expression):e}function Fcn(e){return e.type==="MemberExpression"||e.type==="OptionalMemberExpression"||e.type==="Identifier"&&e.name!=="undefined"}function Lcn(e,t){if(t.semi||znr(e,t)||Hnr(e,t))return!1;let{node:r,key:n,parent:i}=e;return!!(r.type==="ExpressionStatement"&&(n==="body"&&(i.type==="Program"||i.type==="BlockStatement"||i.type==="StaticBlock"||i.type==="TSModuleBlock")||n==="consequent"&&i.type==="SwitchCase")&&e.call(()=>Lnr(e,t),"expression"))}function Lnr(e,t){let{node:r}=e;switch(r.type){case"ParenthesizedExpression":case"TypeCastExpression":case"ArrayExpression":case"ArrayPattern":case"TemplateLiteral":case"TemplateElement":case"RegExpLiteral":return!0;case"ArrowFunctionExpression":if(!Onr(e,t))return!0;break;case"UnaryExpression":{let{prefix:n,operator:i}=r;if(n&&(i==="+"||i==="-"))return!0;break}case"BindExpression":if(!r.object)return!0;break;case"Literal":if(r.regex)return!0;break;default:if(D7(r))return!0}return RX(e,t)?!0:r6t(r)?e.call(()=>Lnr(e,t),...srr(r)):!1}function znr({node:e,parent:t},r){return(r.parentParser==="markdown"||r.parentParser==="mdx")&&e.type==="ExpressionStatement"&&D7(e.expression)&&t.type==="Program"&&t.body.length===1}function Hnr({node:e,parent:t},r){return(r.parser==="__vue_event_binding"||r.parser==="__vue_ts_event_binding")&&e.type==="ExpressionStatement"&&t.type==="Program"&&t.body.length===1}function zcn(e,t,r){let n=[r("expression")];if(Hnr(e,t)){let i=Fnr(e.node.expression);(Ucn(i)||Fcn(i))&&n.push(";")}else znr(e,t)||t.semi&&n.push(";");return n}function Hcn(e,t,r){if(t.__isVueBindings||t.__isVueForBindingLeft){let n=e.map(r,"program","body",0,"params");if(n.length===1)return n[0];let i=qu([",",Ns],n);return t.__isVueForBindingLeft?["(",ca([Vi,Vn(i)]),Vi,")"]:i}if(t.__isEmbeddedTypescriptGenericParameters){let n=e.map(r,"program","body",0,"typeParameters","params");return qu([",",Ns],n)}}function Ycn(e,t){let{node:r}=e;switch(r.type){case"RegExpLiteral":return Ytr(r);case"BigIntLiteral":return J4t(r.extra.raw);case"NumericLiteral":return iae(r.extra.raw);case"StringLiteral":return eX(rae(r.extra.raw,t));case"NullLiteral":return"null";case"BooleanLiteral":return String(r.value);case"DirectiveLiteral":return Ktr(r.extra.raw,t);case"Literal":{if(r.regex)return Ytr(r.regex);if(r.bigint)return J4t(r.raw);let{value:n}=r;return typeof n=="number"?iae(r.raw):typeof n=="string"?Kcn(e)?Ktr(r.raw,t):eX(rae(r.raw,t)):String(n)}}}function Kcn(e){if(e.key!=="expression")return;let{parent:t}=e;return t.type==="ExpressionStatement"&&t.directive}function J4t(e){return e.toLowerCase()}function Ytr({pattern:e,flags:t}){return t=[...t].sort().join(""),`/${e}/${t}`}function Ktr(e,t){let r=e.slice(1,-1);if(r.includes('"')||r.includes("'"))return e;let n=t.singleQuote?"'":'"';return n+r+n}function Gcn(e,t,r){let n=e.originalText.slice(t,r);for(let i of e[Symbol.for("comments")]){let s=T_(i);if(s>r)break;let R=Cu(i);if(R{let l=e.node.type;if(l==="ExportNamespaceSpecifier"||l==="ExportDefaultSpecifier"||l==="ImportNamespaceSpecifier"||l==="ImportDefaultSpecifier")s.push(r());else if(l==="ExportSpecifier"||l==="ImportSpecifier")R.push(r());else throw new Tae(n,"specifier")},"specifiers"),i.push(qu(", ",s)),R.length>0&&(s.length>0&&i.push(", "),R.length>1||s.length>0||n.specifiers.some(l=>Xa(l))?i.push(Vn(["{",ca([t.bracketSpacing?Ns:Vi,qu([",",Ns],R)]),j0(_w(t)?",":""),t.bracketSpacing?Ns:Vi,"}"])):i.push(["{",t.bracketSpacing?" ":"",...R,t.bracketSpacing?" ":"","}"]))}else i.push("{}");return i}function Xnr(e,t){return e.type!=="ImportDeclaration"||xl(e.specifiers)||e.importKind==="type"?!0:Ynr(t,T_(e),T_(e.source)).trimEnd().endsWith("from")}function Zcn(e,t){var r,n;if((r=e.extra)!=null&&r.deprecatedAssertSyntax)return"assert";let i=Ynr(t,Cu(e.source),(n=e.attributes)!=null&&n[0]?T_(e.attributes[0]):Cu(e)).trimStart();return i.startsWith("assert")?"assert":i.startsWith("with")||xl(e.attributes)?"with":void 0}function Znr(e,t,r){let{node:n}=e;if(!n.source)return"";let i=Zcn(n,t);if(!i)return"";let s=[` ${i} {`];return xl(n.attributes)&&(t.bracketSpacing&&s.push(" "),s.push(qu(", ",e.map(r,"attributes"))),t.bracketSpacing&&s.push(" ")),s.push("}"),s}function eTn(e,t,r){let{node:n}=e,{type:i}=n,s=i.startsWith("Import"),R=s?"imported":"local",l=s?"local":"exported",c=n[R],h=n[l],_="",f="";return i==="ExportNamespaceSpecifier"||i==="ImportNamespaceSpecifier"?_="*":c&&(_=r(R)),h&&!tTn(n)&&(f=r(l)),[m6t(i==="ImportSpecifier"?n.importKind:n.exportKind,!1),_,_&&f?" as ":"",f]}function tTn(e){if(e.type!=="ImportSpecifier"&&e.type!=="ExportSpecifier")return!1;let{local:t,[e.type==="ImportSpecifier"?"imported":"exported"]:r}=e;if(t.type!==r.type||!a0n(t,r))return!1;if(UC(t))return t.value===r.value&&ng(t)===ng(r);switch(t.type){case"Identifier":return t.name===r.name;default:return!1}}function bCe(e,t,r){var n;let i=t.semi?";":"",{node:s}=e,R=s.type==="ObjectTypeAnnotation",l=s.type==="TSEnumDeclaration"||s.type==="EnumBooleanBody"||s.type==="EnumNumberBody"||s.type==="EnumBigIntBody"||s.type==="EnumStringBody"||s.type==="EnumSymbolBody",c=[s.type==="TSTypeLiteral"||l?"members":s.type==="TSInterfaceBody"?"body":"properties"];R&&c.push("indexers","callProperties","internalSlots");let h=c.flatMap(F=>e.map(({node:H})=>({node:H,printed:r(),loc:T_(H)}),F));c.length>1&&h.sort((F,H)=>F.loc-H.loc);let{parent:_,key:f}=e,m=R&&f==="body"&&(_.type==="InterfaceDeclaration"||_.type==="DeclareInterface"||_.type==="DeclareClass"),x=s.type==="TSInterfaceBody"||l||m||s.type==="ObjectPattern"&&_.type!=="FunctionDeclaration"&&_.type!=="FunctionExpression"&&_.type!=="ArrowFunctionExpression"&&_.type!=="ObjectMethod"&&_.type!=="ClassMethod"&&_.type!=="ClassPrivateMethod"&&_.type!=="AssignmentPattern"&&_.type!=="CatchClause"&&s.properties.some(F=>F.value&&(F.value.type==="ObjectPattern"||F.value.type==="ArrayPattern"))||s.type!=="ObjectPattern"&&h.length>0&&uW(t.originalText,T_(s),h[0].loc),y=m?";":s.type==="TSInterfaceBody"||s.type==="TSTypeLiteral"?j0(i,";"):",",A=s.type==="RecordExpression"?"#{":s.exact?"{|":"{",D=s.exact?"|}":"}",S=[],P=h.map(F=>{let H=[...S,Vn(F.printed)];return S=[y,Ns],(F.node.type==="TSPropertySignature"||F.node.type==="TSMethodSignature"||F.node.type==="TSConstructSignatureDeclaration"||F.node.type==="TSCallSignatureDeclaration")&&Xa(F.node,Is.PrettierIgnore)&&S.shift(),hw(F.node,t)&&S.push(ia),H});if(s.inexact||s.hasUnknownMembers){let F;if(Xa(s,Is.Dangling)){let H=Xa(s,Is.Line);F=[gp(e,t),H||xA(t.originalText,Cu(dl(!1,Xie(s),-1)))?ia:Ns,"..."]}else F=["..."];P.push([...S,...F])}let M=(n=dl(!1,h,-1))==null?void 0:n.node,U=!(s.inexact||s.hasUnknownMembers||M&&(M.type==="RestElement"||(M.type==="TSPropertySignature"||M.type==="TSCallSignatureDeclaration"||M.type==="TSMethodSignature"||M.type==="TSConstructSignatureDeclaration")&&Xa(M,Is.PrettierIgnore))),w;if(P.length===0){if(!Xa(s,Is.Dangling))return[A,D,Hm(e,r)];w=Vn([A,gp(e,t,{indent:!0}),Vi,D,D4(e),Hm(e,r)])}else w=[m&&xl(s.properties)?wcn(_):"",A,ca([t.bracketSpacing?Ns:Vi,...P]),j0(U&&(y!==","||_w(t))?y:""),t.bracketSpacing?Ns:Vi,D,D4(e),Hm(e,r)];return e.match(F=>F.type==="ObjectPattern"&&!xl(F.decorators),N4t)||oW(s)&&(e.match(void 0,(F,H)=>H==="typeAnnotation",(F,H)=>H==="typeAnnotation",N4t)||e.match(void 0,(F,H)=>F.type==="FunctionTypeParam"&&H==="typeAnnotation",N4t))||!x&&e.match(F=>F.type==="ObjectPattern",F=>F.type==="AssignmentExpression"||F.type==="VariableDeclarator")?w:Vn(w,{shouldBreak:x})}function N4t(e,t){return(t==="params"||t==="parameters"||t==="this"||t==="rest")&&snr(e)}function rTn(e){let t=[e];for(let r=0;rm[ee]===n),y=m.type===n.type&&!x,A,D,S=0;do D=A||n,A=e.getParentNode(S),S++;while(A&&A.type===n.type&&l.every(ee=>A[ee]!==D));let P=A||m,M=D;if(i&&(D7(n[l[0]])||D7(c)||D7(h)||rTn(M))){f=!0,y=!0;let ee=me=>[j0("("),ca([Vi,me]),Vi,j0(")")],fe=me=>me.type==="NullLiteral"||me.type==="Literal"&&me.value===null||me.type==="Identifier"&&me.name==="undefined";_.push(" ? ",fe(c)?r(s):ee(r(s))," : ",h.type===n.type||fe(h)?r(R):ee(r(R)))}else{let ee=me=>t.useTabs?ca(r(me)):SD(2,r(me)),fe=[Ns,"? ",c.type===n.type?j0("","("):"",ee(s),c.type===n.type?j0("",")"):"",Ns,": ",ee(R)];_.push(m.type!==n.type||m[R]===n||x?fe:t.useTabs?yrr(ca(fe)):SD(Math.max(0,t.tabWidth-2),fe))}let U=[s,R,...l].some(ee=>Xa(n[ee],fe=>sg(fe)&&uW(t.originalText,T_(fe),Cu(fe)))),w=ee=>m===P?Vn(ee,{shouldBreak:U}):U?[ee,$D]:ee,F=!f&&(H_(m)||m.type==="NGPipeExpression"&&m.left===n)&&!m.computed,H=aTn(e),G=w([nTn(e,t,r),y?_:ca(_),i&&F&&!H?Vi:""]);return x||H?Vn([ca([Vi,G]),Vi]):G}function oTn(e,t){return(H_(t)||t.type==="NGPipeExpression"&&t.left===e)&&!t.computed}function RTn(e,t,r,n){return[...e.map(i=>Xie(i)),Xie(t),Xie(r)].flat().some(i=>sg(i)&&uW(n.originalText,T_(i),Cu(i)))}function lTn(e){let{node:t}=e;if(t.type!=="ConditionalExpression")return!1;let r,n=t;for(let i=0;!r;i++){let s=e.getParentNode(i);if(s.type==="ChainExpression"&&s.expression===n||rl(s)&&s.callee===n||H_(s)&&s.object===n||s.type==="TSNonNullExpression"&&s.expression===n){n=s;continue}s.type==="NewExpression"&&s.callee===n||OD(s)&&s.expression===n?(r=e.getParentNode(i+1),n=s):r=s}return n===t?!1:r[uTn.get(r.type)]===n}function k6t(e,t,r,n){if(!t.experimentalTernaries)return sTn(e,t,r);let{node:i}=e,s=i.type==="ConditionalExpression",R=i.type==="TSConditionalType"||i.type==="ConditionalTypeAnnotation",l=s?"consequent":"trueType",c=s?"alternate":"falseType",h=s?["test"]:["checkType","extendsType"],_=i[l],f=i[c],m=h.map(an=>i[an]),{parent:x}=e,y=x.type===i.type,A=y&&h.some(an=>x[an]===i),D=y&&x[c]===i,S=_.type===i.type,P=f.type===i.type,M=P||D,U=t.tabWidth>2||t.useTabs,w,F,H=0;do F=w||i,w=e.getParentNode(H),H++;while(w&&w.type===i.type&&h.every(an=>w[an]!==F));let G=w||x,ee=n&&n.assignmentLayout&&n.assignmentLayout!=="break-after-operator"&&(x.type==="AssignmentExpression"||x.type==="VariableDeclarator"||x.type==="ClassProperty"||x.type==="PropertyDefinition"||x.type==="ClassPrivateProperty"||x.type==="ObjectProperty"||x.type==="Property"),fe=(x.type==="ReturnStatement"||x.type==="ThrowStatement")&&!(S||P),me=s&&G.type==="JSXExpressionContainer"&&e.grandparent.type!=="JSXAttribute",ve=lTn(e),Ae=oTn(i,x),Ue=R&&RX(e,t),Ee=U?t.useTabs?" ":" ".repeat(t.tabWidth-1):"",Me=RTn(m,_,f,t)||S||P,gt=!M&&!y&&!R&&(me?_.type==="NullLiteral"||_.type==="Literal"&&_.value===null:a6t(_,t)&&btr(i.test,3)),xt=M||D||R&&!y||y&&s&&btr(i.test,1)||gt,Nt=[];!S&&Xa(_,Is.Dangling)&&e.call(an=>{Nt.push(gp(an,t),ia)},"consequent");let lt=[];Xa(i.test,Is.Dangling)&&e.call(an=>{lt.push(gp(an,t))},"test"),!P&&Xa(f,Is.Dangling)&&e.call(an=>{lt.push(gp(an,t))},"alternate"),Xa(i,Is.Dangling)&<.push(gp(e,t));let at=Symbol("test"),_t=Symbol("consequent"),Ve=Symbol("test-and-consequent"),Dt=s?[w4t(r("test")),i.test.type==="ConditionalExpression"?$D:""]:[r("checkType")," ","extends"," ",i.extendsType.type==="TSConditionalType"||i.extendsType.type==="ConditionalTypeAnnotation"||i.extendsType.type==="TSMappedType"?r("extendsType"):Vn(w4t(r("extendsType")))],Ut=Vn([Dt," ?"],{id:at}),pt=r(l),ht=ca([S||me&&(D7(_)||y||M)?ia:Ns,Nt,pt]),He=xt?Vn([Ut,M?ht:j0(ht,Vn(ht,{id:_t}),{groupId:at})],{id:Ve}):[Ut,ht],jt=r(c),zr=gt?j0(jt,yrr(w4t(jt)),{groupId:Ve}):jt,Bn=[He,lt.length>0?[ca([ia,lt]),ia]:P?ia:gt?j0(Ns," ",{groupId:Ve}):Ns,":",P?" ":U?xt?j0(Ee,j0(M||gt?" ":Ee," "),{groupId:Ve}):j0(Ee," "):" ",P?zr:Vn([ca(zr),me&&!gt?Vi:""]),Ae&&!ve?Vi:"",Me?$D:""];return ee&&!Me?Vn(ca([Vi,Vn(Bn)])):ee||fe?Vn(ca(Bn)):ve||R&&A?Vn([ca([Vi,Bn]),Ue?Vi:""]):x===G?Vn(Bn):Bn}function cTn(e,t,r,n){let{node:i}=e;if(n6t(i))return Ycn(e,t);let s=t.semi?";":"",R=[];switch(i.type){case"JsExpressionRoot":return r("node");case"JsonRoot":return[r("node"),ia];case"File":return Hcn(e,t,r)??r("program");case"EmptyStatement":return"";case"ExpressionStatement":return zcn(e,t,r);case"ChainExpression":return r("expression");case"ParenthesizedExpression":return!Xa(i.expression)&&(iO(i.expression)||Ym(i.expression))?["(",r("expression"),")"]:Vn(["(",ca([Vi,r("expression")]),Vi,")"]);case"AssignmentExpression":return Bln(e,t,r);case"VariableDeclarator":return Iln(e,t,r);case"BinaryExpression":case"LogicalExpression":return Vrr(e,t,r);case"AssignmentPattern":return[r("left")," = ",r("right")];case"OptionalMemberExpression":case"MemberExpression":return Nln(e,t,r);case"MetaProperty":return[r("meta"),".",r("property")];case"BindExpression":return i.object&&R.push(r("object")),R.push(Vn(ca([Vi,qnr(e,t,r)]))),R;case"Identifier":return[i.name,D4(e),ynr(e),Hm(e,r)];case"V8IntrinsicIdentifier":return["%",i.name];case"SpreadElement":case"SpreadElementPattern":case"SpreadPropertyPattern":case"RestElement":return Cnr(e,r);case"FunctionDeclaration":case"FunctionExpression":return Enr(e,r,t,n);case"ArrowFunctionExpression":return ycn(e,t,r,n);case"YieldExpression":return R.push("yield"),i.delegate&&R.push("*"),i.argument&&R.push(" ",r("argument")),R;case"AwaitExpression":if(R.push("await"),i.argument){R.push(" ",r("argument"));let{parent:l}=e;if(rl(l)&&l.callee===i||H_(l)&&l.object===i){R=[ca([Vi,...R]),Vi];let c=e.findAncestor(h=>h.type==="AwaitExpression"||h.type==="BlockStatement");if(c?.type!=="AwaitExpression"||!O4(c.argument,h=>h===i))return Vn(R)}}return R;case"ExportDefaultDeclaration":case"ExportNamedDeclaration":case"ExportAllDeclaration":return Gnr(e,t,r);case"ImportDeclaration":return Vcn(e,t,r);case"ImportSpecifier":case"ExportSpecifier":case"ImportNamespaceSpecifier":case"ExportNamespaceSpecifier":case"ImportDefaultSpecifier":case"ExportDefaultSpecifier":return eTn(e,t,r);case"ImportAttribute":return S4t(e,t,r);case"Program":case"BlockStatement":case"StaticBlock":return $nr(e,t,r);case"ClassBody":return Icn(e,t,r);case"ThrowStatement":return mcn(e,t,r);case"ReturnStatement":return xcn(e,t,r);case"NewExpression":case"ImportExpression":case"OptionalCallExpression":case"CallExpression":return rnr(e,t,r);case"ObjectExpression":case"ObjectPattern":case"RecordExpression":return bCe(e,t,r);case"Property":return kCe(i)?V4t(e,t,r):S4t(e,t,r);case"ObjectProperty":return S4t(e,t,r);case"ObjectMethod":return V4t(e,t,r);case"Decorator":return["@",r("expression")];case"ArrayExpression":case"ArrayPattern":case"TupleExpression":return f6t(e,t,r);case"SequenceExpression":{let{parent:l}=e;if(l.type==="ExpressionStatement"||l.type==="ForStatement"){let c=[];return e.each(({isFirst:h})=>{h?c.push(r()):c.push(",",ca([Ns,r()]))},"expressions"),Vn(c)}return Vn(qu([",",Ns],e.map(r,"expressions")))}case"ThisExpression":return"this";case"Super":return"super";case"Directive":return[r("value"),s];case"UnaryExpression":return R.push(i.operator),/[a-z]$/u.test(i.operator)&&R.push(" "),Xa(i.argument)?R.push(Vn(["(",ca([Vi,r("argument")]),Vi,")"])):R.push(r("argument")),R;case"UpdateExpression":return[i.prefix?i.operator:"",r("argument"),i.prefix?"":i.operator];case"ConditionalExpression":return k6t(e,t,r,n);case"VariableDeclaration":{let l=e.map(r,"declarations"),c=e.parent,h=c.type==="ForStatement"||c.type==="ForInStatement"||c.type==="ForOfStatement",_=i.declarations.some(m=>m.init),f;return l.length===1&&!Xa(i.declarations[0])?f=l[0]:l.length>0&&(f=ca(l[0])),R=[FC(e),i.kind,f?[" ",f]:"",ca(l.slice(1).map(m=>[",",_&&!h?ia:Ns,m]))],h&&c.body!==i||R.push(s),Vn(R)}case"WithStatement":return Vn(["with (",r("object"),")",sW(i.body,r("body"))]);case"IfStatement":{let l=sW(i.consequent,r("consequent")),c=Vn(["if (",Vn([ca([Vi,r("test")]),Vi]),")",l]);if(R.push(c),i.alternate){let h=Xa(i.consequent,Is.Trailing|Is.Line)||prr(i),_=i.consequent.type==="BlockStatement"&&!h;R.push(_?" ":ia),Xa(i,Is.Dangling)&&R.push(gp(e,t),h?ia:" "),R.push("else",Vn(sW(i.alternate,r("alternate"),i.alternate.type==="IfStatement")))}return R}case"ForStatement":{let l=sW(i.body,r("body")),c=gp(e,t),h=c?[c,Vi]:"";return!i.init&&!i.test&&!i.update?[h,Vn(["for (;;)",l])]:[h,Vn(["for (",Vn([ca([Vi,r("init"),";",Ns,r("test"),";",Ns,r("update")]),Vi]),")",l])]}case"WhileStatement":return Vn(["while (",Vn([ca([Vi,r("test")]),Vi]),")",sW(i.body,r("body"))]);case"ForInStatement":return Vn(["for (",r("left")," in ",r("right"),")",sW(i.body,r("body"))]);case"ForOfStatement":return Vn(["for",i.await?" await":""," (",r("left")," of ",r("right"),")",sW(i.body,r("body"))]);case"DoWhileStatement":{let l=sW(i.body,r("body"));return R=[Vn(["do",l])],i.body.type==="BlockStatement"?R.push(" "):R.push(ia),R.push("while (",Vn([ca([Vi,r("test")]),Vi]),")",s),R}case"DoExpression":return[i.async?"async ":"","do ",r("body")];case"BreakStatement":case"ContinueStatement":return R.push(i.type==="BreakStatement"?"break":"continue"),i.label&&R.push(" ",r("label")),R.push(s),R;case"LabeledStatement":return i.body.type==="EmptyStatement"?[r("label"),":;"]:[r("label"),": ",r("body")];case"TryStatement":return["try ",r("block"),i.handler?[" ",r("handler")]:"",i.finalizer?[" finally ",r("finalizer")]:""];case"CatchClause":if(i.param){let l=Xa(i.param,h=>!sg(h)||h.leading&&xA(t.originalText,Cu(h))||h.trailing&&xA(t.originalText,T_(h),{backwards:!0})),c=r("param");return["catch ",l?["(",ca([Vi,c]),Vi,") "]:["(",c,") "],r("body")]}return["catch ",r("body")];case"SwitchStatement":return[Vn(["switch (",ca([Vi,r("discriminant")]),Vi,")"])," {",i.cases.length>0?ca([ia,qu(ia,e.map(({node:l,isLast:c})=>[r(),!c&&hw(l,t)?ia:""],"cases"))]):"",ia,"}"];case"SwitchCase":{i.test?R.push("case ",r("test"),":"):R.push("default:"),Xa(i,Is.Dangling)&&R.push(" ",gp(e,t));let l=i.consequent.filter(c=>c.type!=="EmptyStatement");if(l.length>0){let c=j4t(e,t,r,"consequent");R.push(l.length===1&&l[0].type==="BlockStatement"?[" ",c]:ca([ia,c]))}return R}case"DebuggerStatement":return["debugger",s];case"ClassDeclaration":case"ClassExpression":return Bnr(e,t,r);case"ClassMethod":case"ClassPrivateMethod":case"MethodDefinition":return Wnr(e,t,r);case"ClassProperty":case"PropertyDefinition":case"ClassPrivateProperty":case"ClassAccessorProperty":case"AccessorProperty":return Unr(e,t,r);case"TemplateElement":return eX(i.value.raw);case"TemplateLiteral":return Mrr(e,r,t);case"TaggedTemplateExpression":return KRn(e,r);case"PrivateIdentifier":return["#",i.name];case"PrivateName":return["#",r("id")];case"TopicReference":return"%";case"ArgumentPlaceholder":return"?";case"ModuleExpression":return["module ",r("body")];case"InterpreterDirective":default:throw new Tae(i,"ESTree")}}function eir(e,t,r){let{parent:n,node:i,key:s}=e,R=[r("expression")];switch(i.type){case"AsConstExpression":R.push(" as const");break;case"AsExpression":case"TSAsExpression":R.push(" as ",r("typeAnnotation"));break;case"SatisfiesExpression":case"TSSatisfiesExpression":R.push(" satisfies ",r("typeAnnotation"));break}return s==="callee"&&rl(n)||s==="object"&&H_(n)?Vn([ca([Vi,...R]),Vi]):R}function TTn(e,t,r){let{node:n}=e,i=[FC(e),"component"];n.id&&i.push(" ",r("id")),i.push(r("typeParameters"));let s=pTn(e,r,t);return n.rendersType?i.push(Vn([s," ",r("rendersType")])):i.push(Vn([s])),n.body&&i.push(" ",r("body")),t.semi&&n.type==="DeclareComponent"&&i.push(";"),i}function pTn(e,t,r){let{node:n}=e,i=n.params;if(n.rest&&(i=[...i,n.rest]),i.length===0)return["(",gp(e,r,{filter:R=>aO(r.originalText,Cu(R))===")"}),")"];let s=[];return hTn(e,(R,l)=>{let c=l===i.length-1;c&&n.rest&&s.push("..."),s.push(t()),!c&&(s.push(","),hw(i[l],r)?s.push(ia,ia):s.push(Ns))}),["(",ca([Vi,...s]),j0(_w(r,"all")&&!_Tn(n,i)?",":""),Vi,")"]}function _Tn(e,t){var r;return e.rest||((r=dl(!1,t,-1))==null?void 0:r.type)==="RestElement"}function hTn(e,t){let{node:r}=e,n=0,i=s=>t(s,n++);e.each(i,"params"),r.rest&&e.call(i,"rest")}function fTn(e,t,r){let{node:n}=e;return n.shorthand?r("local"):[r("name")," as ",r("local")]}function dTn(e,t,r){let{node:n}=e,i=[];return n.name&&i.push(r("name"),n.optional?"?: ":": "),i.push(r("typeAnnotation")),i}function tir(e,t,r){return bCe(e,r,t)}function rir(e,t){let{node:r}=e,n=t("id");r.computed&&(n=["[",n,"]"]);let i="";return r.initializer&&(i=t("initializer")),r.init&&(i=t("init")),i?[n," = ",i]:n}function xTn(e,t,r){let{node:n}=e,i;if(n.type==="EnumSymbolBody"||n.explicitType)switch(n.type){case"EnumBooleanBody":i="boolean";break;case"EnumNumberBody":i="number";break;case"EnumBigIntBody":i="bigint";break;case"EnumStringBody":i="string";break;case"EnumSymbolBody":i="symbol";break}return[i?`of ${i} `:"",tir(e,t,r)]}function nir(e,t,r){let{node:n}=e;return[FC(e),n.const?"const ":"","enum ",t("id")," ",n.type==="TSEnumDeclaration"?tir(e,t,r):t("body")]}function mTn(e,t,r){let{node:n}=e,i=["hook"];n.id&&i.push(" ",r("id"));let s=uX(e,r,t,!1,!0),R=gCe(e,r),l=pae(n,R);return i.push(Vn([l?Vn(s):s,R]),n.body?" ":"",r("body")),i}function kTn(e,t,r){let{node:n}=e,i=[FC(e),"hook"];return n.id&&i.push(" ",r("id")),t.semi&&i.push(";"),i}function Gtr(e){var t;let{node:r}=e;return r.type==="HookTypeAnnotation"&&((t=e.getParentNode(2))==null?void 0:t.type)==="DeclareHook"}function yTn(e,t,r){let{node:n}=e,i=[];i.push(Gtr(e)?"":"hook ");let s=uX(e,r,t,!1,!0),R=[];return R.push(Gtr(e)?": ":" => ",r("returnType")),pae(n,R)&&(s=Vn(s)),i.push(s,R),Vn(i)}function iir(e,t,r){let{node:n}=e,i=[FC(e),"interface"],s=[],R=[];n.type!=="InterfaceTypeAnnotation"&&s.push(" ",r("id"),r("typeParameters"));let l=n.typeParameters&&!Xa(n.typeParameters,Is.Trailing|Is.Line);return xl(n.extends)&&R.push(l?j0(" ",Ns,{groupId:x6t(n.typeParameters)}):Ns,"extends ",(n.extends.length===1?S0n:ca)(qu([",",Ns],e.map(r,"extends")))),Xa(n.id,Is.Trailing)||xl(n.extends)?l?i.push(Vn([...s,ca(R)])):i.push(Vn(ca([...s,...R]))):i.push(...s,...R),i.push(" ",r("body")),Vn(i)}function qTn(e,t,r){let{node:n}=e;if(irr(n))return n.type.slice(0,-14).toLowerCase();let i=t.semi?";":"";switch(n.type){case"ComponentDeclaration":case"DeclareComponent":case"ComponentTypeAnnotation":return TTn(e,t,r);case"ComponentParameter":return fTn(e,t,r);case"ComponentTypeParameter":return dTn(e,t,r);case"HookDeclaration":return mTn(e,t,r);case"DeclareHook":return kTn(e,t,r);case"HookTypeAnnotation":return yTn(e,t,r);case"DeclareClass":return Bnr(e,t,r);case"DeclareFunction":return[FC(e),"function ",r("id"),r("predicate"),i];case"DeclareModule":return["declare module ",r("id")," ",r("body")];case"DeclareModuleExports":return["declare module.exports",Hm(e,r),i];case"DeclareNamespace":return["declare namespace ",r("id")," ",r("body")];case"DeclareVariable":return[FC(e),n.kind??"var"," ",r("id"),i];case"DeclareExportDeclaration":case"DeclareExportAllDeclaration":return Gnr(e,t,r);case"DeclareOpaqueType":case"OpaqueType":return ncn(e,t,r);case"DeclareTypeAlias":case"TypeAlias":return Rnr(e,t,r);case"IntersectionTypeAnnotation":return unr(e,t,r);case"UnionTypeAnnotation":return lnr(e,t,r);case"ConditionalTypeAnnotation":return k6t(e,t,r);case"InferTypeAnnotation":return pnr(e,t,r);case"FunctionTypeAnnotation":return cnr(e,t,r);case"TupleTypeAnnotation":return f6t(e,t,r);case"TupleTypeLabeledElement":return hnr(e,t,r);case"TupleTypeSpreadElement":return _nr(e,t,r);case"GenericTypeAnnotation":return[r("id"),vhe(e,t,r,"typeParameters")];case"IndexedAccessType":case"OptionalIndexedAccessType":return Tnr(e,t,r);case"TypeAnnotation":return dnr(e,t,r);case"TypeParameter":return wnr(e,t,r);case"TypeofTypeAnnotation":return mnr(e,r);case"ExistsTypeAnnotation":return"*";case"ArrayTypeAnnotation":return xnr(r);case"DeclareEnum":case"EnumDeclaration":return nir(e,r,t);case"EnumBooleanBody":case"EnumNumberBody":case"EnumBigIntBody":case"EnumStringBody":case"EnumSymbolBody":return xTn(e,r,t);case"EnumBooleanMember":case"EnumNumberMember":case"EnumBigIntMember":case"EnumStringMember":case"EnumDefaultedMember":return rir(e,r);case"FunctionTypeParam":{let s=n.name?r("name"):e.parent.this===n?"this":"";return[s,D4(e),s?": ":"",r("typeAnnotation")]}case"DeclareInterface":case"InterfaceDeclaration":case"InterfaceTypeAnnotation":return iir(e,t,r);case"ClassImplements":case"InterfaceExtends":return[r("id"),r("typeParameters")];case"NullableTypeAnnotation":return["?",r("typeAnnotation")];case"Variance":{let{kind:s}=n;return t6t.ok(s==="plus"||s==="minus"),s==="plus"?"+":"-"}case"KeyofTypeAnnotation":return["keyof ",r("argument")];case"ObjectTypeCallProperty":return[n.static?"static ":"",r("value")];case"ObjectTypeMappedTypeProperty":return Scn(e,t,r);case"ObjectTypeIndexer":return[n.static?"static ":"",n.variance?r("variance"):"","[",r("id"),n.id?": ":"",r("key"),"]: ",r("value")];case"ObjectTypeProperty":{let s="";return n.proto?s="proto ":n.static&&(s="static "),[s,n.kind!=="init"?n.kind+" ":"",n.variance?r("variance"):"",Phe(e,t,r),D4(e),kCe(n)?"":": ",r("value")]}case"ObjectTypeAnnotation":return bCe(e,t,r);case"ObjectTypeInternalSlot":return[n.static?"static ":"","[[",r("id"),"]]",D4(e),n.method?"":": ",r("value")];case"ObjectTypeSpreadProperty":return Cnr(e,r);case"QualifiedTypeofIdentifier":case"QualifiedTypeIdentifier":return[r("qualification"),".",r("id")];case"NullLiteralTypeAnnotation":return"null";case"BooleanLiteralTypeAnnotation":return String(n.value);case"StringLiteralTypeAnnotation":return eX(rae(ng(n),t));case"NumberLiteralTypeAnnotation":return iae(n.raw??n.extra.raw);case"BigIntLiteralTypeAnnotation":return J4t(n.raw??n.extra.raw);case"TypeCastExpression":return["(",r("expression"),Hm(e,r),")"];case"TypePredicate":return knr(e,r);case"TypeOperator":return[n.operator," ",r("typeAnnotation")];case"TypeParameterDeclaration":case"TypeParameterInstantiation":return vhe(e,t,r,"params");case"InferredPredicate":case"DeclaredPredicate":return[e.key==="predicate"&&e.parent.type!=="DeclareFunction"&&!e.parent.returnType?": ":" ","%checks",...n.type==="DeclaredPredicate"?["(",r("value"),")"]:[]];case"AsExpression":case"AsConstExpression":case"SatisfiesExpression":return eir(e,t,r)}}function CTn(e,t,r){var n;let{node:i}=e;if(!i.type.startsWith("TS"))return;if(arr(i))return i.type.slice(2,-7).toLowerCase();let s=t.semi?";":"",R=[];switch(i.type){case"TSThisType":return"this";case"TSTypeAssertion":{let l=!(Ym(i.expression)||iO(i.expression)),c=Vn(["<",ca([Vi,r("typeAnnotation")]),Vi,">"]),h=[j0("("),ca([Vi,r("expression")]),Vi,j0(")")];return l?JJ([[c,r("expression")],[c,Vn(h,{shouldBreak:!0})],[c,r("expression")]]):Vn([c,r("expression")])}case"TSDeclareFunction":return Enr(e,r,t);case"TSExportAssignment":return["export = ",r("expression"),s];case"TSModuleBlock":return $nr(e,t,r);case"TSInterfaceBody":case"TSTypeLiteral":return bCe(e,t,r);case"TSTypeAliasDeclaration":return Rnr(e,t,r);case"TSQualifiedName":return[r("left"),".",r("right")];case"TSAbstractMethodDefinition":case"TSDeclareMethod":return Wnr(e,t,r);case"TSAbstractAccessorProperty":case"TSAbstractPropertyDefinition":return Unr(e,t,r);case"TSInterfaceHeritage":case"TSClassImplements":case"TSExpressionWithTypeArguments":case"TSInstantiationExpression":return[r("expression"),r(i.typeArguments?"typeArguments":"typeParameters")];case"TSTemplateLiteralType":return Mrr(e,r,t);case"TSNamedTupleMember":return hnr(e,t,r);case"TSRestType":return _nr(e,t,r);case"TSOptionalType":return[r("typeAnnotation"),"?"];case"TSInterfaceDeclaration":return iir(e,t,r);case"TSTypeParameterDeclaration":case"TSTypeParameterInstantiation":return vhe(e,t,r,"params");case"TSTypeParameter":return wnr(e,t,r);case"TSAsExpression":case"TSSatisfiesExpression":return eir(e,t,r);case"TSArrayType":return xnr(r);case"TSPropertySignature":return[i.readonly?"readonly ":"",Phe(e,t,r),D4(e),Hm(e,r)];case"TSParameterProperty":return[fCe(i),i.static?"static ":"",i.override?"override ":"",i.readonly?"readonly ":"",r("parameter")];case"TSTypeQuery":return mnr(e,r);case"TSIndexSignature":{let l=i.parameters.length>1?j0(_w(t)?",":""):"",c=Vn([ca([Vi,qu([", ",Vi],e.map(r,"parameters"))]),l,Vi]),h=e.parent.type==="ClassBody"&&e.key==="body";return[h&&i.static?"static ":"",i.readonly?"readonly ":"","[",i.parameters?c:"","]",Hm(e,r),h?s:""]}case"TSTypePredicate":return knr(e,r);case"TSNonNullExpression":return[r("expression"),"!"];case"TSImportType":return["import(",r("argument"),")",i.qualifier?[".",r("qualifier")]:"",vhe(e,t,r,i.typeArguments?"typeArguments":"typeParameters")];case"TSLiteralType":return r("literal");case"TSIndexedAccessType":return Tnr(e,t,r);case"TSTypeOperator":return[i.operator," ",r("typeAnnotation")];case"TSMappedType":return $cn(e,t,r);case"TSMethodSignature":{let l=i.kind&&i.kind!=="method"?`${i.kind} `:"";R.push(fCe(i),l,i.computed?"[":"",r("key"),i.computed?"]":"",D4(e));let c=uX(e,r,t,!1,!0),h=i.returnType?"returnType":"typeAnnotation",_=i[h],f=_?Hm(e,r,h):"",m=pae(i,f);return R.push(m?Vn(c):c),_&&R.push(Vn(f)),Vn(R)}case"TSNamespaceExportDeclaration":return["export as namespace ",r("id"),t.semi?";":""];case"TSEnumDeclaration":return nir(e,r,t);case"TSEnumMember":return rir(e,r);case"TSImportEqualsDeclaration":return[i.isExport?"export ":"","import ",Vnr(i,!1),r("id")," = ",r("moduleReference"),t.semi?";":""];case"TSExternalModuleReference":return["require(",r("expression"),")"];case"TSModuleDeclaration":{let{parent:l}=e,c=l.type==="TSModuleDeclaration",h=((n=i.body)==null?void 0:n.type)==="TSModuleDeclaration";return c?R.push("."):(R.push(FC(e)),i.kind!=="global"&&R.push(i.kind," ")),R.push(r("id")),h?R.push(r("body")):i.body?R.push(" ",Vn(r("body"))):R.push(s),R}case"TSConditionalType":return k6t(e,t,r);case"TSInferType":return pnr(e,t,r);case"TSIntersectionType":return unr(e,t,r);case"TSUnionType":return lnr(e,t,r);case"TSFunctionType":case"TSCallSignatureDeclaration":case"TSConstructorType":case"TSConstructSignatureDeclaration":return cnr(e,t,r);case"TSTupleType":return f6t(e,t,r);case"TSTypeReference":return[r("typeName"),vhe(e,t,r,i.typeArguments?"typeArguments":"typeParameters")];case"TSTypeAnnotation":return dnr(e,t,r);case"TSEmptyBodyFunctionExpression":return d6t(e,t,r);case"TSJSDocAllType":return"*";case"TSJSDocUnknownType":return"?";case"TSJSDocNullableType":return ztr(e,r,"?");case"TSJSDocNonNullableType":return ztr(e,r,"!");case"TSParenthesizedType":default:throw new Tae(i,"TypeScript")}}function ATn(e,t,r,n){if(Grr(e))return Mun(e,t);for(let i of[qln,hln,qTn,CTn,cTn]){let s=i(e,t,r,n);if(s!==void 0)return s}}function bTn(e,t,r,n){var i;e.isRoot&&((i=t.__onHtmlBindingRoot)==null||i.call(t,e.node,t));let s=ATn(e,t,r,n);if(!s)return"";let{node:R}=e;if(gTn(R))return s;let l=xl(R.decorators),c=bln(e,t,r),h=R.type==="ClassExpression";if(l&&!h)return M4t(s,m=>Vn([c,m]));let _=RX(e,t),f=Lcn(e,t);return!c&&!_&&!f?s:M4t(s,m=>[f?";":"",_?"(":"",_&&h&&l?[ca([Ns,c,m]),Ns]:[c,m],_?")":""])}function NTn(e,t,r){let{node:n}=e;switch(n.type){case"JsonRoot":return[r("node"),ia];case"ArrayExpression":{if(n.elements.length===0)return"[]";let i=e.map(()=>e.node===null?"null":r(),"elements");return["[",ca([ia,qu([",",ia],i)]),ia,"]"]}case"ObjectExpression":return n.properties.length===0?"{}":["{",ca([ia,qu([",",ia],e.map(r,"properties"))]),ia,"}"];case"ObjectProperty":return[r("key"),": ",r("value")];case"UnaryExpression":return[n.operator==="+"?"":n.operator,r("argument")];case"NullLiteral":return"null";case"BooleanLiteral":return n.value?"true":"false";case"StringLiteral":return JSON.stringify(n.value);case"NumericLiteral":return Vtr(e)?JSON.stringify(String(n.value)):JSON.stringify(n.value);case"Identifier":return Vtr(e)?JSON.stringify(n.name):n.name;case"TemplateLiteral":return r(["quasis",0]);case"TemplateElement":return JSON.stringify(n.value.cooked);default:throw new Tae(n,"JSON")}}function Vtr(e){return e.key==="key"&&e.parent.type==="ObjectProperty"}function sir(e,t){let{type:r}=e;if(r==="ObjectProperty"){let{key:n}=e;n.type==="Identifier"?t.key={type:"StringLiteral",value:n.name}:n.type==="NumericLiteral"&&(t.key={type:"StringLiteral",value:String(n.value)});return}if(r==="UnaryExpression"&&e.operator==="+")return t.argument;if(r==="ArrayExpression"){for(let[n,i]of e.elements.entries())i===null&&t.elements.splice(n,0,{type:"NullLiteral"});return}if(r==="TemplateLiteral")return{type:"StringLiteral",value:e.quasis[0].value.cooked}}var von,jtr,dCe,Jtr,aW,Don,Son,Xtr,$on,Ztr,Qon,zm,Non,dl,Pon,Won,Lon,zon,Zie,D_i,eae,Yon,Kon,tae,xA,X4t,Z4t,e6t,xl,err,t6t,nCe,gtr,trr,r0n,rae,ghe,s0n,rrr,u0n,l0n,nrr,tc,T0n,sg,p0n,irr,f0n,arr,aae,m0n,Ym,iO,n6t,y0n,oW,Dhe,D7,Tw,A0n,b0n,lrr,rl,H_,O0n,D0n,Otr,iCe,B4t,$0n,b4t,E4t,Is,hrr,hw,OD,ZJ,frr,P0n,Vie,B0n,sae,RW,oae,rX,nX,Rae,ig,lW,vD,iX,aX,sX,mA,cW,TW,xrr,uae,M0n,U0n,She,Dtr,mrr,krr,DD,o6t,pw,$D,Crr,z0n,Ns,Vi,ia,Arr,aCe,Z0n,brr,cae,aO,uW,oRn,hRn,fRn,dRn,ERn,ORn,wrr,PRn,WC,ED,Jie,U4t,zRn,YRn,z4t,sun,cun,v4t,pun,_un,fun,yun,Aun,gun,bun,zrr,Eun,Ntr,Oun,wtr,vun,Hrr,wun,Mun,Wun,RX,Kun,Gun,Jun,Tae,tO,Zun,eln,uCe,D4t,nln,Grr,kln,Mtr,Cln,hCe,G4t,Qln,wln,Lln,Yln,ecn,tcn,acn,fnr,scn,ocn,ccn,Tcn,pcn,iae,cCe,fcn,$4t,Snr,bcn,Ecn,Qnr,x6t,Pnr,Inr,Wcn,Ucn,Ynr,Knr,jcn,iTn,uTn,w4t,gTn,ETn,OTn,vTn,air,DTn,STn,$Tn,QTn,wTn,RCe,jJ,PTn,oir,Rir,uir,BTn,cir=mp(()=>{von=Object.defineProperty,jtr=e=>{throw TypeError(e)},dCe=(e,t)=>{for(var r in t)von(e,r,{get:t[r],enumerable:!0})},Jtr=(e,t,r)=>t.has(e)||jtr("Cannot "+r),aW=(e,t,r)=>(Jtr(e,t,"read from private field"),r?r.call(e):t.get(e)),Don=(e,t,r)=>t.has(e)?jtr("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),Son=(e,t,r,n)=>(Jtr(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),Xtr={};dCe(Xtr,{languages:()=>uir,options:()=>oir,printers:()=>Rir});$on=[{linguistLanguageId:183,name:"JavaScript",type:"programming",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",color:"#f1e05a",aliases:["js","node"],extensions:[".js","._js",".bones",".cjs",".es",".es6",".frag",".gs",".jake",".javascript",".jsb",".jscad",".jsfl",".jslib",".jsm",".jspre",".jss",".mjs",".njs",".pac",".sjs",".ssjs",".xsjs",".xsjslib",".wxs"],filenames:["Jakefile"],interpreters:["chakra","d8","gjs","js","node","nodejs","qjs","rhino","v8","v8-shell","zx"],parsers:["babel","acorn","espree","meriyah","babel-flow","babel-ts","flow","typescript"],vscodeLanguageIds:["javascript","mongo"]},{linguistLanguageId:183,name:"Flow",type:"programming",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",color:"#f1e05a",aliases:[],extensions:[".js.flow"],filenames:[],interpreters:["chakra","d8","gjs","js","node","nodejs","qjs","rhino","v8","v8-shell"],parsers:["flow","babel-flow"],vscodeLanguageIds:["javascript"]},{linguistLanguageId:183,name:"JSX",type:"programming",tmScope:"source.js.jsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",color:void 0,aliases:void 0,extensions:[".jsx"],filenames:void 0,interpreters:void 0,parsers:["babel","babel-flow","babel-ts","flow","typescript","espree","meriyah"],vscodeLanguageIds:["javascriptreact"],group:"JavaScript"},{linguistLanguageId:378,name:"TypeScript",type:"programming",color:"#3178c6",aliases:["ts"],interpreters:["deno","ts-node"],extensions:[".ts",".cts",".mts"],tmScope:"source.ts",aceMode:"typescript",codemirrorMode:"javascript",codemirrorMimeType:"application/typescript",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescript"]},{linguistLanguageId:94901924,name:"TSX",type:"programming",color:"#3178c6",group:"TypeScript",extensions:[".tsx"],tmScope:"source.tsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescriptreact"]}],Ztr={};dCe(Ztr,{canAttachComment:()=>BRn,embed:()=>Aun,experimentalFeatures:()=>OTn,getCommentChildNodes:()=>IRn,getVisitorKeys:()=>nrr,handleComments:()=>brr,insertPragma:()=>Bun,isBlockComment:()=>sg,isGap:()=>MRn,massageAstNode:()=>B0n,print:()=>ETn,printComment:()=>eRn,willPrintOwnComments:()=>Prr});Qon=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},zm=Qon,Non=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},dl=Non;Pon=won;Won=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;Lon=e=>!(Uon(e)||Fon(e)),zon=/[^\x20-\x7F]/u;Zie=Hon;D_i=xCe(/\s/u),eae=xCe(" "),Yon=xCe(",; "),Kon=xCe(/[^\n\r]/u);tae=Gon;xA=Von;X4t=jon;Z4t=Jon;e6t=Xon;xl=Zon,err=new Proxy(()=>{},{get:()=>err}),t6t=err,nCe="'",gtr='"';trr=e0n;r0n=t0n;rae=n0n;ghe=null;s0n=10;for(let e=0;e<=s0n;e++)Ehe();rrr=R0n,u0n={ArrayExpression:["elements"],AssignmentExpression:["left","right"],BinaryExpression:["left","right"],InterpreterDirective:[],Directive:["value"],DirectiveLiteral:[],BlockStatement:["directives","body"],BreakStatement:["label"],CallExpression:["callee","arguments","typeParameters","typeArguments"],CatchClause:["param","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExpressionStatement:["expression"],File:["program"],ForInStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","typeParameters","params","returnType","body","predicate"],FunctionExpression:["id","typeParameters","params","returnType","body"],Identifier:["typeAnnotation","decorators"],IfStatement:["test","consequent","alternate"],LabeledStatement:["label","body"],StringLiteral:[],NumericLiteral:[],NullLiteral:[],BooleanLiteral:[],RegExpLiteral:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],NewExpression:["callee","arguments","typeParameters","typeArguments"],Program:["directives","body"],ObjectExpression:["properties"],ObjectMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectProperty:["key","value","decorators"],RestElement:["argument","typeAnnotation","decorators"],ReturnStatement:["argument"],SequenceExpression:["expressions"],ParenthesizedExpression:["expression"],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],AssignmentPattern:["left","right","decorators","typeAnnotation"],ArrayPattern:["elements","typeAnnotation","decorators"],ArrowFunctionExpression:["typeParameters","params","returnType","body","predicate"],ClassBody:["body"],ClassExpression:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ExportAllDeclaration:["source","attributes","exported"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source","attributes"],ExportSpecifier:["local","exported"],ForOfStatement:["left","right","body"],ImportDeclaration:["specifiers","source","attributes"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],ImportExpression:["source","options"],MetaProperty:["meta","property"],ClassMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectPattern:["properties","typeAnnotation","decorators"],SpreadElement:["argument"],Super:[],TaggedTemplateExpression:["tag","typeParameters","quasi","typeArguments"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],YieldExpression:["argument"],AwaitExpression:["argument"],BigIntLiteral:[],ExportNamespaceSpecifier:["exported"],OptionalMemberExpression:["object","property"],OptionalCallExpression:["callee","arguments","typeParameters","typeArguments"],ClassProperty:["decorators","key","typeAnnotation","value","variance"],ClassAccessorProperty:["decorators","key","typeAnnotation","value"],ClassPrivateProperty:["decorators","key","typeAnnotation","value","variance"],ClassPrivateMethod:["decorators","key","typeParameters","params","returnType","body"],PrivateName:["id"],StaticBlock:["body"],AnyTypeAnnotation:[],ArrayTypeAnnotation:["elementType"],BooleanTypeAnnotation:[],BooleanLiteralTypeAnnotation:[],NullLiteralTypeAnnotation:[],ClassImplements:["id","typeParameters"],DeclareClass:["id","typeParameters","extends","mixins","implements","body"],DeclareFunction:["id","predicate"],DeclareInterface:["id","typeParameters","extends","body"],DeclareModule:["id","body"],DeclareModuleExports:["typeAnnotation"],DeclareTypeAlias:["id","typeParameters","right"],DeclareOpaqueType:["id","typeParameters","supertype"],DeclareVariable:["id"],DeclareExportDeclaration:["declaration","specifiers","source","attributes"],DeclareExportAllDeclaration:["source","attributes"],DeclaredPredicate:["value"],ExistsTypeAnnotation:[],FunctionTypeAnnotation:["typeParameters","params","rest","returnType","this"],FunctionTypeParam:["name","typeAnnotation"],GenericTypeAnnotation:["id","typeParameters"],InferredPredicate:[],InterfaceExtends:["id","typeParameters"],InterfaceDeclaration:["id","typeParameters","extends","body"],InterfaceTypeAnnotation:["extends","body"],IntersectionTypeAnnotation:["types"],MixedTypeAnnotation:[],EmptyTypeAnnotation:[],NullableTypeAnnotation:["typeAnnotation"],NumberLiteralTypeAnnotation:[],NumberTypeAnnotation:[],ObjectTypeAnnotation:["properties","indexers","callProperties","internalSlots"],ObjectTypeInternalSlot:["id","value"],ObjectTypeCallProperty:["value"],ObjectTypeIndexer:["variance","id","key","value"],ObjectTypeProperty:["key","value","variance"],ObjectTypeSpreadProperty:["argument"],OpaqueType:["id","typeParameters","supertype","impltype"],QualifiedTypeIdentifier:["qualification","id"],StringLiteralTypeAnnotation:[],StringTypeAnnotation:[],SymbolTypeAnnotation:[],ThisTypeAnnotation:[],TupleTypeAnnotation:["types","elementTypes"],TypeofTypeAnnotation:["argument","typeArguments"],TypeAlias:["id","typeParameters","right"],TypeAnnotation:["typeAnnotation"],TypeCastExpression:["expression","typeAnnotation"],TypeParameter:["bound","default","variance"],TypeParameterDeclaration:["params"],TypeParameterInstantiation:["params"],UnionTypeAnnotation:["types"],Variance:[],VoidTypeAnnotation:[],EnumDeclaration:["id","body"],EnumBooleanBody:["members"],EnumNumberBody:["members"],EnumStringBody:["members"],EnumSymbolBody:["members"],EnumBooleanMember:["id","init"],EnumNumberMember:["id","init"],EnumStringMember:["id","init"],EnumDefaultedMember:["id"],IndexedAccessType:["objectType","indexType"],OptionalIndexedAccessType:["objectType","indexType"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXSpreadChild:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes","typeArguments","typeParameters"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXOpeningFragment:[],JSXClosingFragment:[],Noop:[],Placeholder:[],V8IntrinsicIdentifier:[],ArgumentPlaceholder:[],BindExpression:["object","callee"],ImportAttribute:["key","value"],Decorator:["expression"],DoExpression:["body"],ExportDefaultSpecifier:["exported"],RecordExpression:["properties"],TupleExpression:["elements"],ModuleExpression:["body"],TopicReference:[],PipelineTopicExpression:["expression"],PipelineBareFunction:["callee"],PipelinePrimaryTopicReference:[],TSParameterProperty:["parameter","decorators"],TSDeclareFunction:["id","typeParameters","params","returnType","body"],TSDeclareMethod:["decorators","key","typeParameters","params","returnType"],TSQualifiedName:["left","right"],TSCallSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSPropertySignature:["key","typeAnnotation"],TSMethodSignature:["key","typeParameters","parameters","typeAnnotation","params","returnType"],TSIndexSignature:["parameters","typeAnnotation"],TSAnyKeyword:[],TSBooleanKeyword:[],TSBigIntKeyword:[],TSIntrinsicKeyword:[],TSNeverKeyword:[],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSUndefinedKeyword:[],TSUnknownKeyword:[],TSVoidKeyword:[],TSThisType:[],TSFunctionType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructorType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSTypeReference:["typeName","typeParameters","typeArguments"],TSTypePredicate:["parameterName","typeAnnotation"],TSTypeQuery:["exprName","typeParameters","typeArguments"],TSTypeLiteral:["members"],TSArrayType:["elementType"],TSTupleType:["elementTypes"],TSOptionalType:["typeAnnotation"],TSRestType:["typeAnnotation"],TSNamedTupleMember:["label","elementType"],TSUnionType:["types"],TSIntersectionType:["types"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSInferType:["typeParameter"],TSParenthesizedType:["typeAnnotation"],TSTypeOperator:["typeAnnotation"],TSIndexedAccessType:["objectType","indexType"],TSMappedType:["typeParameter","nameType","typeAnnotation"],TSLiteralType:["literal"],TSExpressionWithTypeArguments:["expression","typeParameters"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceBody:["body"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSInstantiationExpression:["expression","typeParameters","typeArguments"],TSAsExpression:["expression","typeAnnotation"],TSSatisfiesExpression:["expression","typeAnnotation"],TSTypeAssertion:["typeAnnotation","expression"],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSModuleDeclaration:["id","body"],TSModuleBlock:["body"],TSImportType:["argument","qualifier","typeParameters","typeArguments"],TSImportEqualsDeclaration:["id","moduleReference"],TSExternalModuleReference:["expression"],TSNonNullExpression:["expression"],TSExportAssignment:["expression"],TSNamespaceExportDeclaration:["id"],TSTypeAnnotation:["typeAnnotation"],TSTypeParameterInstantiation:["params"],TSTypeParameterDeclaration:["params"],TSTypeParameter:["constraint","default","name"],ChainExpression:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],Literal:[],MethodDefinition:["decorators","key","value"],PrivateIdentifier:[],Property:["key","value"],PropertyDefinition:["decorators","key","typeAnnotation","value","variance"],AccessorProperty:["decorators","key","typeAnnotation","value"],TSAbstractAccessorProperty:["decorators","key","typeAnnotation"],TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:["decorators","key","typeAnnotation"],TSAsyncKeyword:[],TSClassImplements:["expression","typeArguments","typeParameters"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSEnumBody:["members"],TSExportKeyword:[],TSInterfaceHeritage:["expression","typeArguments","typeParameters"],TSPrivateKeyword:[],TSProtectedKeyword:[],TSPublicKeyword:[],TSReadonlyKeyword:[],TSStaticKeyword:[],TSTemplateLiteralType:["quasis","types"],AsConstExpression:["expression"],AsExpression:["expression","typeAnnotation"],BigIntLiteralTypeAnnotation:[],BigIntTypeAnnotation:[],ComponentDeclaration:["id","params","body","typeParameters","rendersType"],ComponentParameter:["name","local"],ComponentTypeAnnotation:["params","rest","typeParameters","rendersType"],ComponentTypeParameter:["name","typeAnnotation"],ConditionalTypeAnnotation:["checkType","extendsType","trueType","falseType"],DeclareComponent:["id","params","rest","typeParameters","rendersType"],DeclareEnum:["id","body"],DeclareHook:["id"],DeclareNamespace:["id","body"],EnumBigIntBody:["members"],EnumBigIntMember:["id","init"],HookDeclaration:["id","params","body","typeParameters","returnType"],HookTypeAnnotation:["params","returnType","rest","typeParameters"],InferTypeAnnotation:["typeParameter"],KeyofTypeAnnotation:["argument"],ObjectTypeMappedTypeProperty:["keyTparam","propType","sourceType","variance"],QualifiedTypeofIdentifier:["qualification","id"],TupleTypeLabeledElement:["label","elementType","variance"],TupleTypeSpreadElement:["label","typeAnnotation"],TypeOperator:["typeAnnotation"],TypePredicate:["parameterName","typeAnnotation","asserts"],NGRoot:["node"],NGPipeExpression:["left","right","arguments"],NGChainedExpression:["expressions"],NGEmptyExpression:[],NGMicrosyntax:["body"],NGMicrosyntaxKey:[],NGMicrosyntaxExpression:["expression","alias"],NGMicrosyntaxKeyedExpression:["key","expression"],NGMicrosyntaxLet:["key","value"],NGMicrosyntaxAs:["key","alias"],JsExpressionRoot:["node"],JsonRoot:["node"],TSJSDocAllType:[],TSJSDocUnknownType:[],TSJSDocNullableType:["typeAnnotation"],TSJSDocNonNullableType:["typeAnnotation"],NeverTypeAnnotation:[],UndefinedTypeAnnotation:[],UnknownTypeAnnotation:[],SatisfiesExpression:["expression","typeAnnotation"]},l0n=rrr(u0n),nrr=l0n;tc=c0n,T0n=tc(["Block","CommentBlock","MultiLine"]),sg=T0n,p0n=tc(["AnyTypeAnnotation","ThisTypeAnnotation","NumberTypeAnnotation","VoidTypeAnnotation","BooleanTypeAnnotation","BigIntTypeAnnotation","SymbolTypeAnnotation","StringTypeAnnotation","NeverTypeAnnotation","UndefinedTypeAnnotation","UnknownTypeAnnotation","EmptyTypeAnnotation","MixedTypeAnnotation"]),irr=p0n;f0n=h0n;arr=d0n;aae=tc(["Line","CommentLine","SingleLine","HashbangComment","HTMLOpen","HTMLClose","Hashbang","InterpreterDirective"]),m0n=tc(["ExportDefaultDeclaration","DeclareExportDeclaration","ExportNamedDeclaration","ExportAllDeclaration","DeclareExportAllDeclaration"]),Ym=tc(["ArrayExpression","TupleExpression"]),iO=tc(["ObjectExpression","RecordExpression"]);n6t=tc(["Literal","BooleanLiteral","BigIntLiteral","DirectiveLiteral","NullLiteral","NumericLiteral","RegExpLiteral","StringLiteral"]),y0n=tc(["Identifier","ThisExpression","Super","PrivateName","PrivateIdentifier"]),oW=tc(["ObjectTypeAnnotation","TSTypeLiteral","TSMappedType"]),Dhe=tc(["FunctionExpression","ArrowFunctionExpression"]);D7=tc(["JSXElement","JSXFragment"]);Tw=tc(["BinaryExpression","LogicalExpression","NGPipeExpression"]);A0n=tc(["TSThisType","NullLiteralTypeAnnotation","BooleanLiteralTypeAnnotation","StringLiteralTypeAnnotation","BigIntLiteralTypeAnnotation","NumberLiteralTypeAnnotation","TSLiteralType","TSTemplateLiteralType"]);b0n=["it","it.only","it.skip","describe","describe.only","describe.skip","test","test.only","test.skip","test.step","test.describe","test.describe.only","test.describe.parallel","test.describe.parallel.only","test.describe.serial","test.describe.serial.only","skip","xit","xdescribe","xtest","fit","fdescribe","ftest"];lrr=e=>t=>(t?.type==="ChainExpression"&&(t=t.expression),e(t)),rl=lrr(tc(["CallExpression","OptionalCallExpression"])),H_=lrr(tc(["MemberExpression","OptionalMemberExpression"]));O0n=.25;D0n=new Set(["!","-","+","~"]);Otr={"==":!0,"!=":!0,"===":!0,"!==":!0},iCe={"*":!0,"/":!0,"%":!0},B4t={">>":!0,">>>":!0,"<<":!0};$0n=new Map([["|>"],["??"],["||"],["&&"],["|"],["^"],["&"],["==","===","!=","!=="],["<",">","<=",">=","in","instanceof"],[">>","<<",">>>"],["+","-"],["*","/","%"],["**"]].flatMap((e,t)=>e.map(r=>[r,t])));b4t=new WeakMap;E4t=new WeakMap;Is={Leading:2,Trailing:4,Dangling:8,Block:16,Line:32,PrettierIgnore:64,First:128,Last:256},hrr=(e,t)=>{if(typeof e=="function"&&(t=e,e=0),e||t)return(r,n,i)=>!(e&Is.Leading&&!r.leading||e&Is.Trailing&&!r.trailing||e&Is.Dangling&&(r.leading||r.trailing)||e&Is.Block&&!sg(r)||e&Is.Line&&!aae(r)||e&Is.First&&n!==0||e&Is.Last&&n!==i.length-1||e&Is.PrettierIgnore&&!_Ce(r)||t&&!t(r))};hw=(e,{originalText:t})=>e6t(t,Cu(e));OD=tc(["TSAsExpression","TSSatisfiesExpression","AsExpression","AsConstExpression","SatisfiesExpression"]),ZJ=tc(["UnionTypeAnnotation","TSUnionType"]),frr=tc(["IntersectionTypeAnnotation","TSIntersectionType"]),P0n=new Set(["range","raw","comments","leadingComments","trailingComments","innerComments","extra","start","end","loc","flags","errors","tokens"]),Vie=e=>{for(let t of e.quasis)delete t.value};drr.ignoredProperties=P0n;B0n=drr,sae="string",RW="array",oae="cursor",rX="indent",nX="align",Rae="trim",ig="group",lW="fill",vD="if-break",iX="indent-if-break",aX="line-suffix",sX="line-suffix-boundary",mA="line",cW="label",TW="break-parent",xrr=new Set([oae,rX,nX,Rae,ig,lW,vD,iX,aX,sX,mA,cW,TW]);uae=I0n,M0n=e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e);U0n=class extends Error{name="InvalidDocError";constructor(e){super(W0n(e)),this.doc=e}},She=U0n,Dtr={};mrr=F0n,krr=()=>{},DD=krr,o6t=krr;pw={type:sX},$D={type:TW},Crr={type:mA,hard:!0},z0n={type:mA,hard:!0,literal:!0},Ns={type:mA},Vi={type:mA,soft:!0},ia=[Crr,$D],Arr=[z0n,$D],aCe={type:oae};Z0n=X0n;brr={};dCe(brr,{endOfLine:()=>uRn,ownLine:()=>RRn,remaining:()=>lRn});cae=nRn;aO=iRn;uW=aRn;oRn=sRn;hRn=new Set(["ClassDeclaration","ClassExpression","DeclareClass","DeclareInterface","InterfaceDeclaration","TSInterfaceDeclaration"]);fRn=new Set(["ClassMethod","ClassProperty","PropertyDefinition","TSAbstractPropertyDefinition","TSAbstractMethodDefinition","TSDeclareMethod","MethodDefinition","ClassAccessorProperty","AccessorProperty","TSAbstractAccessorProperty","TSParameterProperty"]);dRn=new Set(["FunctionDeclaration","FunctionExpression","ClassMethod","MethodDefinition","ObjectMethod"]);ERn=new Set(["VariableDeclarator","AssignmentExpression","TypeAlias","TSTypeAliasDeclaration"]),ORn=new Set(["ObjectExpression","RecordExpression","ArrayExpression","TupleExpression","TemplateLiteral","TaggedTemplateExpression","ObjectTypeAnnotation","TSTypeLiteral"]);wrr=tc(["ArrowFunctionExpression","FunctionExpression","FunctionDeclaration","ObjectMethod","ClassMethod","TSDeclareFunction","TSCallSignatureDeclaration","TSConstructSignatureDeclaration","TSMethodSignature","TSConstructorType","TSFunctionType","TSDeclareMethod"]),PRn=new Set(["EmptyStatement","TemplateElement","TSEmptyBodyFunctionExpression","ChainExpression"]);WC=Symbol("MODE_BREAK"),ED=Symbol("MODE_FLAT"),Jie=Symbol("cursor"),U4t=Symbol("DOC_FILL_PRINTED_LENGTH");zRn=LRn;YRn=HRn;z4t=[(e,t)=>e.type==="ObjectExpression"&&t==="properties",(e,t)=>e.type==="CallExpression"&&e.callee.type==="Identifier"&&e.callee.name==="Component"&&t==="arguments",(e,t)=>e.type==="Decorator"&&t==="expression"];sun=aun;cun=lun,v4t=0;pun=Lrr.bind(void 0,"html"),_un=Lrr.bind(void 0,"angular");fun=hun;yun=mun;Aun=qun,gun=/\*\/$/,bun=/^\/\*\*?/,zrr=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Eun=/(^|\s+)\/\/([^\n\r]*)/g,Ntr=/^(\r?\n)+/,Oun=/(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g,wtr=/(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g,vun=/(\r?\n|^) *\* ?/g,Hrr=[];wun=Nun;Mun=Iun;Wun=tc(["BlockStatement","BreakStatement","ComponentDeclaration","ClassBody","ClassDeclaration","ClassMethod","ClassProperty","PropertyDefinition","ClassPrivateProperty","ContinueStatement","DebuggerStatement","DeclareComponent","DeclareClass","DeclareExportAllDeclaration","DeclareExportDeclaration","DeclareFunction","DeclareHook","DeclareInterface","DeclareModule","DeclareModuleExports","DeclareNamespace","DeclareVariable","DeclareEnum","DoWhileStatement","EnumDeclaration","ExportAllDeclaration","ExportDefaultDeclaration","ExportNamedDeclaration","ExpressionStatement","ForInStatement","ForOfStatement","ForStatement","FunctionDeclaration","HookDeclaration","IfStatement","ImportDeclaration","InterfaceDeclaration","LabeledStatement","MethodDefinition","ReturnStatement","SwitchStatement","ThrowStatement","TryStatement","TSDeclareFunction","TSEnumDeclaration","TSImportEqualsDeclaration","TSInterfaceDeclaration","TSModuleDeclaration","TSNamespaceExportDeclaration","TypeAlias","VariableDeclaration","WhileStatement","WithStatement"]);RX=H4t;Kun=Yun,Gun=()=>!0;Jun=class extends Error{name="UnexpectedNodeError";constructor(e,t,r="type"){super(`Unexpected ${t} node ${r}: ${JSON.stringify(e[r])}.`),this.node=e}},Tae=Jun;Zun=class{constructor(e){Don(this,tO),Son(this,tO,new Set(e))}getLeadingWhitespaceCount(e){let t=aW(this,tO),r=0;for(let n=0;n=0&&t.has(e.charAt(n));n--)r++;return r}getLeadingWhitespace(e){let t=this.getLeadingWhitespaceCount(e);return e.slice(0,t)}getTrailingWhitespace(e){let t=this.getTrailingWhitespaceCount(e);return e.slice(e.length-t)}hasLeadingWhitespace(e){return aW(this,tO).has(e.charAt(0))}hasTrailingWhitespace(e){return aW(this,tO).has(dl(!1,e,-1))}trimStart(e){let t=this.getLeadingWhitespaceCount(e);return e.slice(t)}trimEnd(e){let t=this.getTrailingWhitespaceCount(e);return e.slice(0,e.length-t)}trim(e){return this.trimEnd(this.trimStart(e))}split(e,t=!1){let r=`[${Xun([...aW(this,tO)].join(""))}]+`,n=new RegExp(t?`(${r})`:r,"u");return e.split(n)}hasWhitespaceCharacter(e){let t=aW(this,tO);return Array.prototype.some.call(e,r=>t.has(r))}hasNonWhitespaceCharacter(e){let t=aW(this,tO);return Array.prototype.some.call(e,r=>!t.has(r))}isWhitespaceOnly(e){let t=aW(this,tO);return Array.prototype.every.call(e,r=>t.has(r))}};tO=new WeakMap;eln=Zun,uCe=new eln(` +\r `),D4t=e=>e===""||e===Ns||e===ia||e===Vi;nln=new Set(["ArrayExpression","TupleExpression","JSXAttribute","JSXElement","JSXExpressionContainer","JSXFragment","ExpressionStatement","CallExpression","OptionalCallExpression","ConditionalExpression","JsExpressionRoot"]);Grr=mln,kln=0;Mtr=e=>e.type==="BinaryExpression"&&e.operator==="|";Cln=tc(["CallExpression","OptionalCallExpression","AssignmentExpression"]);hCe=class extends Error{name="ArgExpansionBailout"};G4t=Eln,Qln=e=>((e.type==="ChainExpression"||e.type==="TSNonNullExpression")&&(e=e.expression),rl(e)&&og(e).length>0);wln=tnr;Lln=tc(["TSTypeAliasDeclaration","TypeAlias"]);Yln=tc(["TSTypeReference","GenericTypeAnnotation"]);ecn=tc(["VoidTypeAnnotation","TSVoidKeyword","NullLiteralTypeAnnotation","TSNullKeyword"]),tcn=tc(["ObjectTypeAnnotation","TSTypeLiteral","GenericTypeAnnotation","TSTypeReference"]);acn=new WeakSet;fnr=e=>e.match(t=>t.type==="TSTypeAnnotation",(t,r)=>(r==="returnType"||r==="typeAnnotation")&&(t.type==="TSFunctionType"||t.type==="TSConstructorType"))?"=>":e.match(t=>t.type==="TSTypeAnnotation",(t,r)=>r==="typeAnnotation"&&(t.type==="TSJSDocNullableType"||t.type==="TSJSDocNonNullableType"||t.type==="TSTypePredicate"))||e.match(t=>t.type==="TypeAnnotation",(t,r)=>r==="typeAnnotation"&&t.type==="Identifier",(t,r)=>r==="id"&&t.type==="DeclareFunction")||e.match(t=>t.type==="TypeAnnotation",(t,r)=>r==="typeAnnotation"&&t.type==="Identifier",(t,r)=>r==="id"&&t.type==="DeclareHook")||e.match(t=>t.type==="TypeAnnotation",(t,r)=>r==="bound"&&t.type==="TypeParameter"&&t.usesExtendsBound)?"":":";scn=new Set(["DeclareClass","DeclareComponent","DeclareFunction","DeclareHook","DeclareVariable","DeclareExportDeclaration","DeclareExportAllDeclaration","DeclareOpaqueType","DeclareTypeAlias","DeclareEnum","DeclareInterface"]);ocn=new Set(["TSAbstractMethodDefinition","TSAbstractPropertyDefinition","TSAbstractAccessorProperty"]);ccn=/^[\$A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC][\$0-9A-Z_a-z\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D01-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF6\u1CF8\u1CF9\u1D00-\u1DF5\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u200C\u200D\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FD5\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]*$/,Tcn=e=>ccn.test(e),pcn=Tcn;iae=_cn,cCe=new WeakMap;fcn=({node:e,key:t,parent:r})=>t==="value"&&e.type==="FunctionExpression"&&(r.type==="ObjectMethod"||r.type==="ClassMethod"||r.type==="ClassPrivateMethod"||r.type==="MethodDefinition"||r.type==="TSAbstractMethodDefinition"||r.type==="TSDeclareMethod"||r.type==="Property"&&kCe(r));$4t=new WeakMap;Snr=e=>e.type==="SequenceExpression";bcn=(e,t,r)=>{if(!(e&&t==null)){if(t.findLast)return t.findLast(r);for(let n=t.length-1;n>=0;n--){let i=t[n];if(r(i,n,t))return i}}},Ecn=bcn;Qnr=vcn;x6t=Qnr("typeParameters");Pnr=tc(["ClassProperty","PropertyDefinition","ClassPrivateProperty","ClassAccessorProperty","AccessorProperty","TSAbstractPropertyDefinition","TSAbstractAccessorProperty"]);Inr=Qnr("heritageGroup");Wcn=tc(["TSAsExpression","TSTypeAssertion","TSNonNullExpression","TSInstantiationExpression","TSSatisfiesExpression"]);Ucn=tc(["FunctionExpression","ArrowFunctionExpression"]);Ynr=Gcn;Knr=e=>e.type==="ExportDefaultDeclaration"||e.type==="DeclareExportDeclaration"&&e.default;jcn=tc(["ClassDeclaration","ComponentDeclaration","FunctionDeclaration","TSInterfaceDeclaration","DeclareClass","DeclareComponent","DeclareFunction","DeclareHook","HookDeclaration","TSDeclareFunction","EnumDeclaration"]);iTn=new Map([["AssignmentExpression","right"],["VariableDeclarator","init"],["ReturnStatement","argument"],["ThrowStatement","argument"],["UnaryExpression","argument"],["YieldExpression","argument"],["AwaitExpression","argument"]]);uTn=new Map([["AssignmentExpression","right"],["VariableDeclarator","init"],["ReturnStatement","argument"],["ThrowStatement","argument"],["UnaryExpression","argument"],["YieldExpression","argument"],["AwaitExpression","argument"]]);w4t=e=>[j0("("),ca([Vi,e]),Vi,j0(")")];gTn=tc(["ClassMethod","ClassPrivateMethod","ClassProperty","ClassAccessorProperty","AccessorProperty","TSAbstractAccessorProperty","PropertyDefinition","TSAbstractPropertyDefinition","ClassPrivateProperty","MethodDefinition","TSAbstractMethodDefinition","TSDeclareMethod"]);ETn=bTn,OTn={avoidAstMutation:!0},vTn=[{linguistLanguageId:174,name:"JSON.stringify",type:"data",color:"#292929",tmScope:"source.json",aceMode:"json",codemirrorMode:"javascript",codemirrorMimeType:"application/json",aliases:["geojson","jsonl","topojson"],extensions:[".importmap"],filenames:["package.json","package-lock.json","composer.json"],parsers:["json-stringify"],vscodeLanguageIds:["json"]},{linguistLanguageId:174,name:"JSON",type:"data",color:"#292929",tmScope:"source.json",aceMode:"json",codemirrorMode:"javascript",codemirrorMimeType:"application/json",aliases:["geojson","jsonl","topojson"],extensions:[".json",".4DForm",".4DProject",".avsc",".geojson",".gltf",".har",".ice",".JSON-tmLanguage",".mcmeta",".tfstate",".tfstate.backup",".topojson",".webapp",".webmanifest",".yy",".yyp"],filenames:[".all-contributorsrc",".arcconfig",".auto-changelog",".c8rc",".htmlhintrc",".imgbotconfig",".nycrc",".tern-config",".tern-project",".watchmanconfig","Pipfile.lock","composer.lock","flake.lock","mcmod.info",".babelrc",".jscsrc",".jshintrc",".jslintrc",".swcrc"],parsers:["json"],vscodeLanguageIds:["json"]},{linguistLanguageId:423,name:"JSON with Comments",type:"data",color:"#292929",group:"JSON",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",aliases:["jsonc"],extensions:[".jsonc",".code-snippets",".code-workspace",".sublime-build",".sublime-commands",".sublime-completions",".sublime-keymap",".sublime-macro",".sublime-menu",".sublime-mousemap",".sublime-project",".sublime-settings",".sublime-theme",".sublime-workspace",".sublime_metrics",".sublime_session"],filenames:[],parsers:["jsonc"],vscodeLanguageIds:["jsonc"]},{linguistLanguageId:175,name:"JSON5",type:"data",color:"#267CB9",extensions:[".json5"],tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"application/json",parsers:["json5"],vscodeLanguageIds:["json5"]}],air={};dCe(air,{getVisitorKeys:()=>QTn,massageAstNode:()=>sir,print:()=>NTn});DTn={JsonRoot:["node"],ArrayExpression:["elements"],ObjectExpression:["properties"],ObjectProperty:["key","value"],UnaryExpression:["argument"],NullLiteral:[],BooleanLiteral:[],StringLiteral:[],NumericLiteral:[],Identifier:[],TemplateLiteral:["quasis"],TemplateElement:[]},STn=DTn,$Tn=rrr(STn),QTn=$Tn;wTn=new Set(["start","end","extra","loc","comments","leadingComments","trailingComments","innerComments","errors","range","tokens"]);sir.ignoredProperties=wTn;RCe={bracketSpacing:{category:"Common",type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},singleQuote:{category:"Common",type:"boolean",default:!1,description:"Use single quotes instead of double quotes."},proseWrap:{category:"Common",type:"choice",default:"preserve",description:"How to wrap prose.",choices:[{value:"always",description:"Wrap prose if it exceeds the print width."},{value:"never",description:"Do not wrap prose."},{value:"preserve",description:"Wrap prose as-is."}]},bracketSameLine:{category:"Common",type:"boolean",default:!1,description:"Put > of opening tags on the last line instead of on a new line."},singleAttributePerLine:{category:"Common",type:"boolean",default:!1,description:"Enforce single attribute per line in HTML, Vue and JSX."}},jJ="JavaScript",PTn={arrowParens:{category:jJ,type:"choice",default:"always",description:"Include parentheses around a sole arrow function parameter.",choices:[{value:"always",description:"Always include parens. Example: `(x) => x`"},{value:"avoid",description:"Omit parens when possible. Example: `x => x`"}]},bracketSameLine:RCe.bracketSameLine,bracketSpacing:RCe.bracketSpacing,jsxBracketSameLine:{category:jJ,type:"boolean",description:"Put > on the last line instead of at a new line.",deprecated:"2.4.0"},semi:{category:jJ,type:"boolean",default:!0,description:"Print semicolons.",oppositeDescription:"Do not print semicolons, except at the beginning of lines which may need them."},experimentalTernaries:{category:jJ,type:"boolean",default:!1,description:"Use curious ternaries, with the question mark after the condition.",oppositeDescription:"Default behavior of ternaries; keep question marks on the same line as the consequent."},singleQuote:RCe.singleQuote,jsxSingleQuote:{category:jJ,type:"boolean",default:!1,description:"Use single quotes in JSX."},quoteProps:{category:jJ,type:"choice",default:"as-needed",description:"Change when properties in objects are quoted.",choices:[{value:"as-needed",description:"Only add quotes around object properties where required."},{value:"consistent",description:"If at least one property in an object requires quotes, quote all properties."},{value:"preserve",description:"Respect the input use of quotes in object properties."}]},trailingComma:{category:jJ,type:"choice",default:"all",description:"Print trailing commas wherever possible when multi-line.",choices:[{value:"all",description:"Trailing commas wherever possible (including function arguments)."},{value:"es5",description:"Trailing commas where valid in ES5 (objects, arrays, etc.)"},{value:"none",description:"No trailing commas."}]},singleAttributePerLine:RCe.singleAttributePerLine},oir=PTn,Rir={estree:Ztr,"estree-json":air},uir=[...$on,...vTn],BTn=Xtr});var mir={};x2(mir,{default:()=>P1n,parsers:()=>b6t});function GTn(e,t){let r=new SyntaxError(e+" ("+t.loc.start.line+":"+t.loc.start.column+")");return Object.assign(r,t)}function JTn(e){return Array.isArray(e)&&e.length>0}function QD(e){var t,r,n;let i=((t=e.range)==null?void 0:t[0])??e.start,s=(n=((r=e.declaration)==null?void 0:r.decorators)??e.decorators)==null?void 0:n[0];return s?Math.min(QD(s),i):i}function lX(e){var t;return((t=e.range)==null?void 0:t[1])??e.end}function ZTn(e){let t=new Set(e);return r=>t.has(r?.type)}function r1n(e){let t=`*${e.value}*`.split(` +`);return t.length>1&&t.every(r=>r.trimStart()[0]==="*")}function n1n(e){return q6t(e)&&e.value[0]==="*"&&/@(?:type|satisfies)\b/u.test(e.value)}function Ihe(e){if(Bhe!==null&&typeof Bhe.property){let t=Bhe;return Bhe=Ihe.prototype=null,t}return Bhe=Ihe.prototype=e??Object.create(null),new Ihe}function s1n(e){return Ihe(e)}function o1n(e,t="type"){s1n(e);function r(n){let i=n[t],s=e[i];if(!Array.isArray(s))throw Object.assign(new Error(`Missing visitor keys for '${i}'.`),{node:n});return s}return r}function C6t(e,t){if(!(e!==null&&typeof e=="object"))return e;if(Array.isArray(e)){for(let n=0;n{var R;(R=s.leadingComments)!=null&&R.some(i1n)&&i.add(QD(s))}),e=y6t(e,s=>{if(s.type==="ParenthesizedExpression"){let{expression:R}=s;if(R.type==="TypeCastExpression")return R.range=[...s.range],R;let l=QD(s);if(!i.has(l))return R.extra={...R.extra,parenthesized:!0},R}})}if(e=y6t(e,i=>{switch(i.type){case"LogicalExpression":if(xir(i))return A6t(i);break;case"VariableDeclaration":{let s=Tir(!1,i.declarations,-1);s!=null&&s.init&&n[lX(s)]!==";"&&(i.range=[QD(i),lX(s)]);break}case"TSParenthesizedType":return i.typeAnnotation;case"TSTypeParameter":if(typeof i.name=="string"){let s=QD(i);i.name={type:"Identifier",name:i.name,range:[s,s+i.name.length]}}break;case"TopicReference":e.extra={...e.extra,__isUsingHackPipeline:!0};break;case"TSUnionType":case"TSIntersectionType":if(i.types.length===1)return i.types[0];break}}),XTn(e.comments)){let i=Tir(!1,e.comments,-1);for(let s=e.comments.length-2;s>=0;s--){let R=e.comments[s];lX(R)===QD(i)&&q6t(R)&&q6t(i)&&pir(R)&&pir(i)&&(e.comments.splice(s+1,1),R.value+="*//*"+i.value,R.range=[QD(R),lX(i)]),i=R}}return e.type==="Program"&&(e.range=[0,n.length]),e}function xir(e){return e.type==="LogicalExpression"&&e.right.type==="LogicalExpression"&&e.operator===e.right.operator}function A6t(e){return xir(e)?A6t({type:"LogicalExpression",operator:e.operator,left:A6t({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:[QD(e.left),lX(e.right.left)]}),right:e.right.right,range:[QD(e),lX(e)]}):e}function q1n(e){let t=e.match(d1n);return t?t[0].trimStart():""}function C1n(e){let t=` +`;e=ECe(!1,e.replace(f1n,"").replace(h1n,""),k1n,"$1");let r="";for(;r!==e;)r=e,e=ECe(!1,e,m1n,`${t}$1 $2${t}`);e=e.replace(_ir,"").trimEnd();let n=Object.create(null),i=ECe(!1,e,hir,"").replace(_ir,"").trimEnd(),s;for(;s=hir.exec(e);){let R=ECe(!1,s[2],x1n,"");if(typeof n[s[1]]=="string"||Array.isArray(n[s[1]])){let l=n[s[1]];n[s[1]]=[...y1n,...Array.isArray(l)?l:[l],R]}else n[s[1]]=R}return{comments:i,pragmas:n}}function A1n(e){if(!e.startsWith("#!"))return"";let t=e.indexOf(` +`);return t===-1?e:e.slice(0,t)}function b1n(e){let t=g1n(e);t&&(e=e.slice(t.length+1));let r=q1n(e),{pragmas:n,comments:i}=C1n(r);return{shebang:t,text:e,pragmas:n,comments:i}}function E1n(e){let{pragmas:t}=b1n(e);return Object.prototype.hasOwnProperty.call(t,"prettier")||Object.prototype.hasOwnProperty.call(t,"format")}function O1n(e){return e=typeof e=="function"?{parse:e}:e,{astFormat:"estree",hasPragma:E1n,locStart:QD,locEnd:lX,...e}}function D1n(e){return e.charAt(0)==="#"&&e.charAt(1)==="!"?"//"+e.slice(2):e}function Q1n(e){let{message:t,loc:{start:r,end:n}}=e;return VTn(t,{loc:{start:{line:r.line,column:r.column+1},end:{line:n.line,column:n.column+1}},cause:e})}function N1n(e){let t=KTn.default.parse(S1n(e),$1n),[r]=t.errors;if(r)throw Q1n(r);return p1n(t,{text:e})}var ITn,g6t,MTn,WTn,UTn,FTn,LTn,fir,zTn,HTn,YTn,dir,b6t,KTn,VTn,jTn,Tir,XTn,e1n,t1n,q6t,pir,i1n,Bhe,a1n,R1n,u1n,l1n,c1n,y6t,p1n,_1n,ECe,h1n,f1n,d1n,x1n,_ir,m1n,hir,k1n,y1n,g1n,v1n,S1n,$1n,w1n,P1n,kir=mp(()=>{ITn=Object.create,g6t=Object.defineProperty,MTn=Object.getOwnPropertyDescriptor,WTn=Object.getOwnPropertyNames,UTn=Object.getPrototypeOf,FTn=Object.prototype.hasOwnProperty,LTn=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),fir=(e,t)=>{for(var r in t)g6t(e,r,{get:t[r],enumerable:!0})},zTn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of WTn(t))!FTn.call(e,i)&&i!==r&&g6t(e,i,{get:()=>t[i],enumerable:!(n=MTn(t,i))||n.enumerable});return e},HTn=(e,t,r)=>(r=e!=null?ITn(UTn(e)):{},zTn(t||!e||!e.__esModule?g6t(r,"default",{value:e,enumerable:!0}):r,e)),YTn=LTn(e=>{(function(t){typeof globalThis!="object"&&(this?r():(t.defineProperty(t.prototype,"_T_",{configurable:!0,get:r}),_T_));function r(){var n=this||self;n.globalThis=n,delete t.prototype._T_}})(Object),function(t){"use strict";var r="loc",n=70416,i=69748,s=163,R=92159,l=43587,c="labeled_statement",h="&=",_="int_of_string",f=110591,m=92909,x=11559,y="regexp",A=43301,D=11703,S=122654,P=255,M="%ni",U=68252,w=232,F=42785,H="declare_variable",G="while",ee=66938,fe=70301,me=124907,ve=126515,Ae=218,Ue="pattern_identifier",Ee=67643,Me="export_source",gt=216,xt=64279,Nt="Out_of_memory",lt=113788,at="comments",_t=126624,Ve="win32",Dt="object_key_bigint_literal",Ut=185,pt=123214,ht="constructor",He=69955,jt="import_declaration",zr=68437,Bn="Failure",an="Unix.Unix_error",ri=64255,Zr=42539,bn=110579,Zn="export_default_declaration",mi="jsx_attribute_name",Sn=11727,$i=43002,cs=126500,Ti="component_param_pattern",Wi="collect_comments_opt",Fn="match_unary_pattern",Hi="keyof_type",Ma="Invalid binary/octal ",mt="range",ot=170,Je="false",Ct=43798,Pt=", characters ",Zt="object_type_property_getter",dr=65547,vr=126467,ln=65007,Mn="guard",li=42237,Pi=8318,Ss=71215,Ca="object_property_type",Jr="type_alias",Mr=67742,An="function_body",Ar=68111,nn=120745,On=71959,bi=43880,ji="Match_failure",Ta="type_cast",Bi=109,ws="void",Xo="generator",No=125124,Fa=101589,wc=94179,D0=">>>",_R=70404,XR="optional_indexed_access_type",Wr=310,Aa="argument",Ce="object_property",Oa="object_type_property",$s=67004,hn=42783,ro=68850,Ml="@",_o=43741,Mo=43487,ZR="object",RR="end",IR=126571,nl=71956,u1=208,V_=126566,sT=67702,Nn="EEXIST",vi="this_expression",oo=203,_a=11507,Tn=113807,P0=119893,B0=42735,h0="rest",o0="null_literal",D2="protected",Ru=43615,hR=8231,Qs=68149,S0=73727,Jm=72348,Wl=92995,S2=224,uu=11686,rc=43013,il="assignment_pattern",l1=12329,f0="function_type",y0=192,Or="jsx_element_name",MR=70018,Ba="catch_clause_pattern",Bu=126540,al="template_literal",I0=120654,Iu=68497,oT=67679,Ul="readonly_type",c1=68735,RT="<",Fl=": No such file or directory",M7=66915,L1="!",uT="object_type",Ax=43712,W7=64297,gx=183969,Xm=43503,Ia=67591,lT=65278,$p=67669,Pc="for_of_assignment_pattern",cT="`",z1=11502,T1="catch_body",Zm=258,NT=42191,Bc=-744106340,H1=182,Qp=":",U7="a string",Vd=65663,bx=66978,nc=71947,Ex=43519,$2=71086,ek=125258,Np=12538,ql="expression_or_spread",Ox="Printexc.handle_uncaught_exception",Q2=69956,vx=120122,j_=247,N2=231,Cl=" : flags Open_rdonly and Open_wronly are not compatible",ic="statement_fork_point",W4=710,ac=-692038429,vR="static",F7=55203,Ic=64324,tk=64111,J_="!==",Q=120132,C=124903,I="class",j=222,Te="pattern_number_literal",Be="kind",ct=71903,zt="variable_declarator",Rr="typeof_expression",_r=126627,ei=70084,Si=228,Ji=70480,$a="class_private_field",ho=239,Go=120713,no=65535,R0="private_name",DR=43137,Ll="remote_identifier",zl=70161,wp="label_identifier",my="src/parser/statement_parser.ml",s5=8335,rk=19903,Dx=64310,TT="_",Pp="for_init_declaration",ky="infer",wT=64466,nk=43018,o5="tokens",U4=92735,L7=66954,F4=65473,Y1=70285,Hl="sequence",L4="compare: functional value",z7=69890,K1=1e3,H7=65487,X_=42653,jd="\\\\",Bp="%=",Ip="match_member_pattern_base",G1=72367,PT="function_rest_param",Z_="/static/",V1=124911,Y7=65276,yy=126558,w2=11498,eh=137,th="export_default_declaration_decl",K7="cases",f_=126602,sl="jsx_child",BT="continue",NA=42962,X0="importKind",$0=122,j1="Literal",Jd="pattern_object_property_identifier_key",Xd=42508,Sx="in",qy=55238,R5=67071,Cy=70831,Ay=72161,z4=67462,G7="<<=",sc=43009,$x=66383,ik=67827,gy=72202,rh=69839,Qx=66775,pT="-=",J1=8202,by=70105,Mc=120538,nh="for_in_left_declaration",ak="rendersType",Nx=126563,Ey=70708,Oy=126523,vy=166,sk=202,ih=110951,u0="component",ah=126552,H4=66977,IT=213,Zd="enum_member_identifier",uR=210,oc="enum_bigint_body",Wc=">=",Dy=126495,u5="specifiers",Sy=-88,ok="=",P2=65338,d_="members",Rk=309,Y4=123535,K4=43702,sh=72767,wx="get",uk=126633,$y=126536,V7=94098,G4="types",V4=113663,ex="Internal Error: Found private field in object props",oh="jsx_element",Qy=70366,B2=110959,lk=120655,Mp="trailingComments",j7=24029,te=-100,_e="yield",je="binding_pattern",er=275,Br="typeof_identifier",In="ENOTEMPTY",ti=-104,va=126468,io=1255,ss=120628,Ms="pattern_object_property_string_literal_key",Lo=8521,WR="leadingComments",Yl=8204,Wp="@ ",MT=70319,Rc="left",Uc=188,Fc="case",WT=19967,X1=42622,zs=43492,l0=113770,fR=42774,UT=183,_T=8468,FT="class_implements",Up=126579,Rh="string",Mu=211,Wu=-48,Z1=69926,uc=123213,ep="if_consequent_statement",ck=124927,Ny="number",j4=126546,bg=68119,J4=70726,wA=70750,Eg=65489,AO="SpreadElement",gO="callee",Og=193,PA=70492,BA=71934,IA=164,wy=110580,vg=12320,J7=300,Lc="any",ol="/",Z0="type_guard",Au="body",bO=272,tp=178,Fp="pattern",EO="comment_bounds",X7=297,tx="binding_type_identifier",Px=187,Bx="pattern_array_rest_element_pattern",l5="@])",Dg=12543,Sg=11623,OO="start",p1=67871,rp="interface",MA=8449,c5=67637,T5=42961,p5=120085,WA=126463,RS="alternate",X4=-1053382366,$g=70143,Qg="--",I2=68031,LT="jsx_expression",uh="type_identifier_reference",Z4=11647,lh="proto",Lp="identifier",gu=43696,x_="raw",UA=126529,Py=11564,_5=126557,FA=64911,LA=67592,zA=43493,e6=215,t6=110588,h5=461894857,HA=92927,Ng=67861,r6=119980,By=43042,YA=66965,Tk=67391,Iy="computed",vO="unreachable jsxtext",pk=71167,KA=42559,wg=72966,DO=303,GA=180,VA=197,_k=64319,Z7=169,n6="*",hk=129,f5=66335,d5="meta",i6=43388,zp=94178,Uu="optional",x5="unknown",Pg=120121,m5=123180,jA=8469,Bg=68220,k5="|",Ig=43187,Mg=94207,a6=124895,JA=120513,My=42527,M2=8286,s6=94177,ch="var",Ix="component_type_param",Wg=66421,Ug=92991,rx=68415,zT="comment",np="match_pattern_array_element",em=244,XA="^",SO=173791,Fg=136,ZA=42890,y5="ENOTDIR",Lg="??",zg=43711,fk=66303,e3=113800,Hg=42239,nx=12703,_1="variance_opt",Hp="+",Yg=">>>=",t3="mixed",Kg=65613,Wy=73029,o6=68191,Gg="*=",R6=8487,Yp=8477,ix="toplevel_statement_list",q5="never",m_="do",tm=125,$O=72249,uS="Pervasives.do_at_exit",W2="visit_trailing_comment",hT="jsx_closing_element",ax="jsx_namespaced_name",r3=124908,oe=126651,De="component_declaration",nt=15,Et="interface_type",lr="function_type_return_annotation",Kr=64109,Gn=65595,Qi=126560,fi=110927,si=65598,Ui=8488,Zs="`.",lo=175,qs="package",HT="else",ip=120771,ap=68023,k_="fd ",YT=8238,Mx=888960333,n3=119965,us=42655,Zo="match_object_pattern",Wx=11710,Th=119993,KT="boolean_literal",M0="statement_list",Rl="function_param",pn="match_as_pattern",b="pattern_object_property_bigint_literal_key",z=69959,re=120485,de=240,et=191456,ur="declare_enum",vn=120597,Yi=70281,ls="type_annotation",Fu="spread_element",Kp=126544,h1=120069,Ux="key",lS=43583,QO="out",Vw=` +`,Uy="**=",dk="pattern_object_property_pattern",cS="e",jw=72712,Jw="Internal Error: Found object private prop",TS="ENOENT",xk=-42,rm="jsx_opening_attribute",mk=67646,y_="component_type",NO=64296,Xw=43887,oU="Division_by_zero",nm="EnumDefaultedMember",kk="typeof_member_identifier",im=43792,Gp="match_member_pattern_property",yk="declare_export_declaration_decl",qk=93026,Ck="type_annotation_hint",Vg=42887,pS=43881,wO=43761,_S=8526,jg=287,am=119,hS=43866,Ak=72847,Fr=8348,Qn=101,Yn=94026,Ai=72272,gi="src/parser/flow_lexer.ml",Cs=120744,Hs=8191,eR="implies",f1=255,ul=11711,ll="match_unary_pattern_argument",ph=71235,dR=68116,q0=100,GT="match_expression",Fy="enum_body",Ly=1114111,u6="assignment",Zw=71955,zy=43260,l6="pattern_array_e",xZ=126583,C5="prefix",Hy="class_body",eP="shorthand",RU=171,tP=66256,uU=-97,mZ=" =",lU=94032,cU=42606,rP=71839,nP=120134,TU=55291,pU=92862,_U=43019,PO=126543,BO="function",hU=111355,fU=11389,dU=70753,xU=43249,iP=64829,Yy="line",Ky="function_declaration",mU="undefined",kZ="([^/]+)",kU=110947,yZ=70002,A5="Cygwin",c6="as_expression",aP=12591,sP=64285,yU=2048,oP=73112,qU=126589,CU=225,AU=43259,qZ=266,RP=72817,gU=64318,loe=172,g5=209,_h="match_binding_pattern",hh=" ",gk="import_source",uP="delete",bU="Enum `",lP=126553,Jg=67001,Xg="default",EU=11630,T6=206,p6="enum_bigint_member",cP=67504,TP=67593,OU=113791,_6=69572,b5="typeof_type",coe=212,E5="%i",h6="function_this_param",i3=72329,bk="0x",Zg=8239,CZ=75075,Toe=277,O5=57343,f6="pattern_bigint_literal",AZ=12341,IO=201,MO="hook",gZ=": closedir failed",pP=42959,_P=119970,vU=278,bZ=43560,v5="||=",d6="member_private_name",x6=120570,Gy="object_key_identifier",DU=223,poe="Not_found",D5=230,fh="jsx_element_name_member_expression",m6="string_literal",SU=120596,$U=43807,QU=69687,hP=63743,Vy=72192,k6="member_property",y6=43262,S5="class_declaration",_oe="renders*",EZ="%Li",q6=126578,sm="jsx_attribute",q_=254,dh="empty",Ek="label",jy="object_internal_slot_property_type",fP=120133,U2=43359,om="predicate",OZ="??=",NU=43697,C6=-43,$5="default_opt",vZ="the start of a statement",A6=67826,xh="object_",Jy="class_element",fS=11631,Xy=70855,mh="opaque_type",Q5="number_literal",wU=", ",dS=8319,xS=120004,Zy=133,kh="type_params",zc="pattern_object_rest_property",yh="import",PU=72e3,BU=67413,IU=12343,g6=70080,Al="intersection_type",sp=-36,dP=70005,xP="properties",MU=11679,WU=8483,DZ=110587,N5=43520,w5="computed_key",P5=207,b6="class_identifier",E6="Invalid number ",F2="function_param_pattern",eb=12288,UU=113817,FU=70730,mP=178207,LU=71236,B5=167,O6="object_indexer_property_type",SZ=64286,hoe="TypeAnnotation",I5=220,qh="type_identifier",Ch="spread_property",v6="jsx_attribute_value_expression",kP=126519,mS=70108,kS=126,M5=42999,a3="prototype",$Z=" : flags Open_text and Open_binary are not compatible",zU="**",yP=43823,D6=": Not a directory",e8="render_type",tb=72349,WO="test",HU=43776,YU=92879,QZ=11263,NZ=241,S6=93052,$6="nullable_type",KU=43704,wZ=64321,PZ="Property",BZ=72191,qP=165,yS="instanceof",IZ=69247,Rm=302,Fx="name",CP=126634,AP=8516,gP="typeArguments",Q6=71127,N6="jsx_spread_attribute",GU=66559,VU=44031,d1=43645,x1=8233,jU=71494,bP="opaque",EP=72967,w6=70106,W5="logical",OP="@[%s =@ ",UO="0o",vP=126554,DP=71351,SP=8484,$P=72242,rb=120687,qS=252,CS=183983,Ok="%S",t8="function_this_param_type",QP="decorators",P6=43255,m1="catch_clause",L2="-",MZ=67711,JU=": file descriptor already closed",AS=64311,NP=120539,wP="arguments",PP=73062,XU=173823,ZU=42124,eF=72095,tF=125259,BP=42969,rF=70280,WZ=12520,nF=69749,B6=70066,Ah="binary",I6="for_in_statement",UZ=43010,FZ="^=",M6=126570,r8="for_statement",n8=126584,W6="function_return_annotation",iF=72144,U6=8505,F6="class_expression",aF=120076,sF=69807,oF=40981,RF=-24976191,uF=72768,IP=126550,U5='"',F5="call_type_arg",FO="f",s3="this",lF=126628,foe="===",L5=56320,L6="declare_module_exports",vk=120512,z6=105,cF=119974,TF=71450,pF=71942,MP=195,_F=120629,doe="/=",z5=">>",H5="declare_interface",Y5=4096,H6="pattern_array_rest_element",WP=71338,i8=126520,K5="as_const_expression",xoe="Popping lex mode from empty stack",LZ="renders?",Y6=68405,gh="member",z2="class_extends",o3=12287,UP=126590,R3=66377,Lx="async",um="pattern_array_element",LO=240,nb=69864,ib="readonly",hF=70460,fF=120779,K6=66378,a8="new_",s8=126551,bh="pattern_object_rest_property_pattern",G6="for_statement_init",zZ=43595,dF=293,FP=68296,xF=120712,mF=64217,HZ=69295,YZ="||",kF=";",yF=70461,KZ=66939,GZ="collect_comments",V6=279,j6="generic_type",qF=68295,LP=44002,o8=72162,R8="object_call_property_type",gS=8305,bS=119995,u8="with",G5="class_property",V5="qualification",Eh="jsx_attribute_name_namespaced",Oh="if_statement",j5="typeof_qualified_identifier",VZ=238,jZ=65615,op=176,VT="expression",l8=126559,vh="jsx_attribute_value",Dh="<2>",c8="component_param",ES="Map.bal",zP=132,CF=70412,JZ=70440,AF="<<",gF="finally",J5="v",Sh="syntax_opt",J6="meta_property",bF=12447,HP=67514,T8=12448,H2="object_mapped_type_property",zO="operator",X5="closedir",X6="unary_expression",EF=126588,Z6=70851,lm="export_batch_specifier",OS="renders",XZ=226,ZZ=73111,ua=221,oa="",OF=66927,vF=64967,DF="elements",SF=67640,eq=43754,tq="declare_export_declaration",$F=-26065557,vS=65855,p8="boolean",Z5="typeof",eee=124902,tee=139,ree=65629,nee=224,YP=43123,KP=70449,jT=12735,Hc=107,QF=11719,e9="!=",cm="call_type_args",_8="asserts",u3=-46,rq="namespace",$h="match_pattern",h8="for_of_statement_lhs",GP=126504,VP=69505,jP="for",JP=72703,DS=120127,XP=43471,iee=93047,moe="Undefined_recursive_module",t9=2147483647,r9="template_literal_element",aee="Unexpected ",NF=101631,ZP=65497,f8=68120,C_="import_default_specifier",nq="array",see="expressions",oee=110930,n9=204,Qh="while_",zx="function_rest_param_type",l3=63,Ree=77808,d0="Unexpected token `",vo=114,iq="pattern_object_p",wF=65140,aq=123190,Dk="pattern_object_property_number_literal_key",Sk="enum",Yc="conditional_type",JT=113,i9="array_type",uee="minus",sq=43790,oq="do_while",PF=11567,SS=11694,$S=256,Rq=119976,fT="component_body",sx=111,lee=177976,BF=-56,eB=67644,QS=73439,tB=951901561,koe="?",IF=")",NS=43867,rB=65575,cee=69445,MF="FunctionTypeParam",nB=119996,uq=65019,lq="conditional",Tee=11505,pee=135,WF=71295,UF=12799,cq=67382,Nh="type_guard_annotation",A_="object_key_computed",g_=123,Tq="pattern_object_property_key",FF=119892,LF=67505,pq=66962,_q="with_",hq=43273,d8="interface_declaration",iB="bool",zF=71945,HF="declaration",wS=11519,PS=">",aB=66771,YF="}",_ee=8472,fq=43014,C0="declare_function",xR=127,hee="RestElement",fee=190,dee=8467,KF="module",GF=126522,a9="Sys_blocked_io",wh="jsx_opening_element",s9="object_key_number_literal",yoe="|=",xee="mixins",mee=205,VF=217,jF="if",o9="+=",Ph="match_object_pattern_property_key",Bh="match_rest_pattern",x8="export_named_declaration_specifier",BS="try",sB="_bigarr02",m8=70479,k8="right",JF=245,dq=11718,R9="tuple_labeled_element",kee="TypeParameterInstantiation",XF="mkdir",ZF=71999,yee=870530776,qoe="@[",Coe=-908856609,qee=331416730,eL=11670,tL=66735,oB=43709,RB=43642,rL=67002,xq=69375,mq="function_body_any",Cee=119807,u9="Assert_failure",kq="function_identifier",IS=65479,l9=131,Y2="new",yq="for_of_left_declaration",nL=120084,iL=100343,uB=73030,aL=70452,Aee=134,sL=253,gee=42954,c9=227,Ih="jsx_member_expression_object",qq="class_property_value",oL=120144,HO=66994,YO="set",Cq=126498,Mh="tuple_element",Aq="arg_list",RL=65481,uL=8511,lL=42964,KO=11492,ab=-25,lB=126555,cL=71039,gq="exportKind",bq="program",bee=70187,y8=173,Hx="as",MS=124,Eee="visit_leading_comment",Eq=110575,Oq="class_",TL=72440,Oee=67897,vee=235,Dee=8543,T9=141,Wh=120,$k="match_object_pattern_property",WS=1024,See=101640,Aoe=1027,US=236,FS=246,$ee="(",vq=66511,Dq="regexp_literal",pL=65574,_L=43513,Qee=43695,hL="&&",cB=11558,fL=66503,Sq=93071,$q="pattern_expression",TB=65381,pB=126538,Qq=12292,Uh="import_namespace_specifier",Nq="match_statement_case",dL=67583,xL=120137,mL=69622,kL=120770,sb=71131,ob=8287,yL=110590,qL=65135,GO="Fatal error: exception ",VO=118,_B=181,k1=11687,Rp="camlinternalFormat.ml",CL=72959,wq=249,p9="union_type",Nee=8206,AL=73064,gL=70271,hB=92728,LS=65344,q8=11695,Pq="class_decorator",bL="the end of an expression statement (`;`)",EL=177983,wee=8457,Pee=931,OL=66499,Bee=94175,goe="#",Iee=151,Bq="Identifier",Fh="for_in_statement_lhs",C8="pattern_string_literal",zS=70302,fB=126496,vL=66461,dB=82943,xB=8450,DL=72271,SL=70853,Mee="of",mB="Stack_overflow",Rb="hasUnknownMembers",Qk="a",Iq="variable_declarator_pattern",$L=73061,kB=77711,yB=64317,Mq=73097,Wq="enum_declaration",qB=66966,CB=189,Uq=119964,Vp="type_param",Tm=782176664,QL=65535,Wee=-10,AB=64433,HS=43815,YS=94031,gB=73065,bB=69958,A8="property",Lh="jsx_children",Fq="member_property_identifier",KS=42537,GS="const",Lq=70278,Nk="enum_string_member",wk="local",zq="jsx_element_name_identifier",EB=68223,OB="",vB=119967,DB=119994,Hq=66993,g8="jsx_member_expression_identifier",SB="explicitType",NL=67589,wL=65597,PL="exported",BL=94111,Yq=113775,Kq="object_spread_property_type",Gq=64847,zh="component_identifier",_9="class_implements_interface",boe=162,Uee=243,Fee=12783,IL=`Fatal error: exception %s +`,jO=120093,Pk="column",Vq="component_rest_param",ML=70451,WL=70312,$B=69967,QB=70279,UL=66463,NB=92975,b8=70286,Hh="pattern_object_property_computed_key",jq="object_key_string_literal",Jq="jsError",Xq="type_args",Lee=8304,JO="==",K2=115,Zq="declare_component",FL=120092,LL=43638,zL=66811,HL=43334,YL=66863,zee=77823,Yh="optional_call",KL=126562,VS=70162,lc=104,GL=66963,E8="await",jS=70107,lu="0",VL=72250,jL=8507,Eoe=291,JL=100351,JS="AssignmentPattern",Kh="type",Ooe="%u",Gh="function_expression_or_method",XL=43470,voe=242,Doe="camlinternalMod.ml",Vh="match_or_pattern",ZL=72750,ez=69414,tz=65370,jh="syntax",Soe=32752,rz=42963,$oe="End_of_file",nz=12294,iz=8471,Qoe="elementType",az=43782,Noe="++",sz=43641,oz=71944,Rz=126601,uz=78894,lz=-45,O8="null",woe=177,Poe="satisfies",cz=131071,Jh="import_specifier",Xh="class_method",Zh="type_",Tz=126514,pz=8454,Boe="inexact",_z=67807,hz=8525,fz=65470,dz=71352,ef="tuple_spread_element",xz=219,mz="abstract",kz=73458,cc="return",ub=65536,XS=126548,tf="array_element",yz=-253313196,qz=186,ZS="catch",rf="infer_type",Cz=12295,Ioe="Invalid legacy octal ",Az=69762,gz=43311,bz=65437,nf="variable_declaration",Moe=-696510241,af="function_params",Woe=307,Ez=64316,e$=11565,Uoe="infinity",Oz="@]",vz=65908,sf="extends",Dz=66204,Sz=43784,$z=11742,t$=126503,Tc="debugger",Qz=70457,Yx=-86,lb=912068366,Nz=68786,r$="keyof",n$=69415,wz=12686,jp=127343600,of="declare_type_alias",Foe="the",Loe=233,Rf="jsx_element_name_namespaced",Pz=72283,zoe=161,uf="function_param_type",y1=128,Bz=-673950933,i$=126591,Hoe="Sys_error",Iz=74649,Mz=74862,cb="is",Wz=43738,Uz=68479,Yoe=196,a$=70854,lf="enum_boolean_member",cf="match_expression_case",s$=72163,Fz=92783,Koe=281,Tf="component_param_name",Lz=68863,Jp=32768,Goe=2048,zz=64284,Voe="@{",Hz="\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0",o$=8455,pf="update_expression",Yz=65500,Tb="from",Kz=68447,R$=12592,Gz=92766,joe=">>=",SR=110,Vz=66431,jz=43586,_f="jsx_identifier",Jz=" : file already exists",t0=128,Xz=71958,Zz=66717,hf="enum_boolean_body",eH=64262,Os="id",ff="component_renders_annotation",tH=42888,rH=8584,nH=73008,df="enum_symbol_body",xf="declare_namespace",u$=72713,iH=55215,mf="object_property_value_type",kf="for_in_assignment_pattern",l$=8485,aH=43395,Joe=229,Kx="true",sH=43743,yf="enum_number_member",Xoe=234,oH=72969,Zoe="expected *",gl=102,e0e=200,pb="symbol",v8="source",RH=43714,qf="jsx_fragment",Cf="jsx_attribute_name_identifier",_b="public",uH=43442,Af="pattern_object_property",lH=65786,cH=70783,TH=43713,pH=72160,t0e="*-/",gf="export_named_specifier",bf="arrow_function",_H=122623,c$=70006,r0e="${",hH=43814,Ef="generic_qualified_identifier_type",n0e=199,Of="jsx_spread_child",T$=8489,hb=184,i0e=2047,fH=66955,vf="try_catch",dH=70497,a0e=237,xH=67431,mH=125183,s0e=-602162310,Xp="params",kH="consequent",yH=68029,qH=67829,CH=68095,Df="enum_string_body",AH=93823,gH=68351,bH=65495,Sf="declare_module",$f="body_expression",EH=66175,o0e=191,p$=70441,_$=65141,h$="&",Qf="super_expression",f$=126564,OH=72105,xxe="fs",pc="throw",vH=68287,DH=67839,pm=116,SH=110882,$H=69404,QH=123197,D8=65279,h9="src/parser/type_parser.ml",NH=68115,R0e=259,d$=126547,x$=126556,wH=73055,Nf="member_property_expression",wf="enum_defaulted_member",PH=43071,BH=11726,Pf="component_type_rest_param",IH=68607,Bf="object_key",u0e=160,cu="variance",MH=70655,WH=70414,f9="super",UH=123583,FH=65594,fb="method",LH=73648,db=121,zH=93951,If="pattern_array_element_pattern",HH=43764,YH=42993,m$=120145,KH=74879,GH=168,k$=8486,VH=72001,Mf="tagged_template",Wf="module_ref_literal",jH=65312,S8="implements",JH=43700,XH=120003,l0e="Invalid_argument",Uf=16777215,ZH=83526,y$=69744,q$=12336,Ff="switch_case",c0e=-61,Lf="optional_member",eY=64274,C$=64322,A$=126530,tY=71998,g$=72970,rY=13311,nY=73647,iY=120074,d9="let",zf="expression_statement",Hf="component_type_params",aY=512,sY=69634,oY=67461,RY=123627,uY=64913,T0e="children",p0e="PropertyDefinition",_0e=1026,h0e="%li",Yf="declare_class",lY=43258,Kf="indexed_access_type",f0e=157,cY=124926,Gx=112,TY="b",Gf="predicate_expression",Vf="if_alternate_statement",xb="private",d0e=-594953737,x0e=140,pY="nan",_Y=72103,b$=11735,jf="statement",hY="rmdir",E$=66512,fY="match",m0e=198,dY=11734,Jf="import_named_specifier",xY=69599,mY=68799,kY=194559,Xf="match_array_pattern",k0e=174,Zf="function_",ed="bigint_literal",Ws=248,O$=67638,v$=126539,yY=11557,y0e=214,qY=5760,_c="break",Zp="block",td="match_member_pattern",CY=123565,AY=66815,go="value",q0e=1039100673,gY=69746,bY=70448,EY=74751,rd="init",OY=69551,D$=65548,nd="jsx_member_expression",S$=68096,_m=108,$$=126521,vY=71487,id="match_statement",DY=178205,SY=12548,C0e=" : is a directory",e_=".",$Y=12348,x9=-835925911,Tu="typeParameters",QY=66855,W0="typeAnnotation",$8="bigint",ad="jsx_attribute_value_literal",NY=194,A0e="T_JSX_TEXT",wY=68466,Q$=126537,g0e=67714067,PY=69487,b0e=271,N$="export",BY=43822,w$=126499,IY=55242,sd="member_type_identifier",MY=138,WY=71679,mb=130,UY=12438,FY=119969,P$=12539,LY=119972,E0e=",",zY=71423,HY="index out of bounds",dT=106,m9="%d",O0e="T_RENDERS_QUESTION",B$=120571,I$="returnType",YY=69423,M$=120070,v0e="%",kb=117,D0e=179,KY="EBADF",GY=93759,W$=64325,od="component_params",VY=66517,jY=67423,JY=605857695,XY=43518,S0e=251,Rd="for_of_statement",ZY=71983,$0e="~",eK=12442,hc="switch",tK=66207,U$=126535,Q0e="&&=",rK=69289,nK=71723,ud="generic_identifier_type",iK=126619,ld="object_type_property_setter",aK=70418,N0e="<=",sK=125251,oK=11702,cd="enum_number_body",k9=250,RK=124910,uK=69297,lK=67455,cK=42511,Td="ts_satisfies",w0e=286,TK=68324,F$="an identifier",pK=126534,Kl=103,_K=120126,y9=449540197,yb="declare",hK=68899,fK=126502,pd="function_expression",P0e=142,dK=123135,xK=67967,mK=120487,kK=120686,_d="export_named_declaration",yK=66348,L$=119981,qK=12352,hd="tuple_type",CK=68680,z$="target",fd="call";function p3e(a,u,p,d,q){if(d<=u)for(var g=1;g<=q;g++)p[d+g]=a[u+g];else for(var g=q;g>=1;g--)p[d+g]=a[u+g];return 0}function _3e(a){for(var u=[0];a!==0;){for(var p=a[1],d=1;da.hi?1:this.hia.mi?1:this.mia.lo?1:this.lop?1:ua.mi?1:this.mia.lo?1:this.lo>24),p=-this.hi+(u>>24);return new ta(a,u,p)},ta.prototype.add=function(a){var u=this.lo+a.lo,p=this.mi+a.mi+(u>>24),d=this.hi+a.hi+(p>>24);return new ta(u,p,d)},ta.prototype.sub=function(a){var u=this.lo-a.lo,p=this.mi-a.mi+(u>>24),d=this.hi-a.hi+(p>>24);return new ta(u,p,d)},ta.prototype.mul=function(a){var u=this.lo*a.lo,p=(u*W0e|0)+this.mi*a.lo+this.lo*a.mi,d=(p*W0e|0)+this.hi*a.lo+this.mi*a.mi+this.lo*a.hi;return new ta(u,p,d)},ta.prototype.isZero=function(){return(this.lo|this.mi|this.hi)==0},ta.prototype.isNeg=function(){return this.hi<<16<0},ta.prototype.and=function(a){return new ta(this.lo&a.lo,this.mi&a.mi,this.hi&a.hi)},ta.prototype.or=function(a){return new ta(this.lo|a.lo,this.mi|a.mi,this.hi|a.hi)},ta.prototype.xor=function(a){return new ta(this.lo^a.lo,this.mi^a.mi,this.hi^a.hi)},ta.prototype.shift_left=function(a){return a=a&63,a==0?this:a<24?new ta(this.lo<>24-a,this.hi<>24-a):a<48?new ta(0,this.lo<>48-a):new ta(0,0,this.lo<>a|this.mi<<24-a,this.mi>>a|this.hi<<24-a,this.hi>>a):a<48?new ta(this.mi>>a-24|this.hi<<48-a,this.hi>>a-24,0):new ta(this.hi>>a-48,0,0)},ta.prototype.shift_right=function(a){if(a=a&63,a==0)return this;var u=this.hi<<16>>16;if(a<24)return new ta(this.lo>>a|this.mi<<24-a,this.mi>>a|u<<24-a,this.hi<<16>>a>>>16);var p=this.hi<<16>>31;return a<48?new ta(this.mi>>a-24|this.hi<<48-a,this.hi<<16>>a-24>>16,p&no):new ta(this.hi<<16>>a-32,p,p)},ta.prototype.lsl1=function(){this.hi=this.hi<<1|this.mi>>23,this.mi=(this.mi<<1|this.lo>>23)&Uf,this.lo=this.lo<<1&Uf},ta.prototype.lsr1=function(){this.lo=(this.lo>>>1|this.mi<<23)&Uf,this.mi=(this.mi>>>1|this.hi<<23)&Uf,this.hi=this.hi>>>1},ta.prototype.udivmod=function(a){for(var u=0,p=this.copy(),d=a.copy(),q=new ta(0,0,0);p.ucompare(d)>0;)u++,d.lsl1();for(;u>=0;)u--,q.lsl1(),p.ucompare(d)>=0&&(q.lo++,p=p.sub(d)),d.lsr1();return{quotient:q,modulus:p}},ta.prototype.div=function(a){var u=this;a.isZero()&&F0e();var p=u.hi^a.hi;u.hi&Jp&&(u=u.neg()),a.hi&Jp&&(a=a.neg());var d=u.udivmod(a).quotient;return p&Jp&&(d=d.neg()),d},ta.prototype.mod=function(a){var u=this;a.isZero()&&F0e();var p=u.hi;u.hi&Jp&&(u=u.neg()),a.hi&Jp&&(a=a.neg());var d=u.udivmod(a).modulus;return p&Jp&&(d=d.neg()),d},ta.prototype.toInt=function(){return this.lo|this.mi<<24},ta.prototype.toFloat=function(){return(this.hi<<16)*Math.pow(2,32)+this.mi*Math.pow(2,24)+this.lo},ta.prototype.toArray=function(){return[this.hi>>8,this.hi&P,this.mi>>16,this.mi>>8&P,this.mi&P,this.lo>>16,this.lo>>8&P,this.lo&P]},ta.prototype.lo32=function(){return this.lo|(this.mi&P)<<24},ta.prototype.hi32=function(){return this.mi>>>8&no|this.hi<<16};function m3e(a,u){return new ta(a&Uf,a>>>24&P|(u&no)<<8,u>>>16&no)}function bK(a){return a.hi32()}function EK(a){return a.lo32()}function qb(){U0(HY)}var k3e=sB;function hm(a,u,p,d){this.kind=a,this.layout=u,this.dims=p,this.data=d}hm.prototype.caml_custom=k3e,hm.prototype.offset=function(a){var u=0;if(typeof a=="number"&&(a=[a]),a instanceof Array||U0("bigarray.js: invalid offset"),this.dims.length!=a.length&&U0("Bigarray.get/set: bad number of dimensions"),this.layout==0)for(var p=0;p=this.dims[p])&&qb(),u=u*this.dims[p]+a[p];else for(var p=this.dims.length-1;p>=0;p--)(a[p]<1||a[p]>this.dims[p])&&qb(),u=u*this.dims[p]+(a[p]-1);return u},hm.prototype.get=function(a){switch(this.kind){case 7:var u=this.data[a*2+0],p=this.data[a*2+1];return m3e(u,p);case 10:case 11:var d=this.data[a*2+0],q=this.data[a*2+1];return[q_,d,q];default:return this.data[a]}},hm.prototype.set=function(a,u){switch(this.kind){case 7:this.data[a*2+0]=EK(u),this.data[a*2+1]=bK(u);break;case 10:case 11:this.data[a*2+0]=u[1],this.data[a*2+1]=u[2];break;default:this.data[a]=u;break}return 0},hm.prototype.fill=function(a){switch(this.kind){case 7:var u=EK(a),p=bK(a);if(u==p)this.data.fill(u);else for(var d=0;dO)return 1;if(g!=O){if(!u)return NaN;if(g==g)return 1;if(O==O)return-1}}break;case 7:for(var q=0;qa.data[q+1])return 1;if(this.data[q]>>>0>>0)return-1;if(this.data[q]>>>0>a.data[q]>>>0)return 1}break;case 2:case 3:case 4:case 5:case 6:case 8:case 9:case 12:for(var q=0;qa.data[q])return 1}break}return 0};function C9(a,u,p,d){this.kind=a,this.layout=u,this.dims=p,this.data=d}C9.prototype=new hm,C9.prototype.offset=function(a){return typeof a!="number"&&(a instanceof Array&&a.length==1?a=a[0]:U0("Ml_Bigarray_c_1_1.offset")),(a<0||a>=this.dims[0])&&qb(),a},C9.prototype.get=function(a){return this.data[a]},C9.prototype.set=function(a,u){return this.data[a]=u,0},C9.prototype.fill=function(a){return this.data.fill(a),0};function OK(a,u,p,d){var q=I0e(a);return Y$(p)*q!=d.length&&U0("length doesn't match dims"),u==0&&p.length==1&&q==1?new C9(a,u,p,d):new hm(a,u,p,d)}function L0e(a){return a.slice(1)}function y3e(a,u,p){var d=L0e(p),q=M0e(a,Y$(d));return OK(a,u,d,q)}function Cb(a,u,p){return a.set(a.offset(u),p),0}function Ab(a,u,p){var d=String.fromCharCode;if(u==0&&p<=Y5&&p==a.length)return d.apply(null,a);for(var q=oa;0=p.l||p.t==2&&q>=p.c.length))p.c=a.t==4?Ab(a.c,u,q):u==0&&a.c.length==q?a.c:a.c.substr(u,q),p.t=p.c.length==p.l?0:2;else if(p.t==2&&d==p.c.length)p.c+=a.t==4?Ab(a.c,u,q):u==0&&a.c.length==q?a.c:a.c.substr(u,q),p.t=p.c.length==p.l?0:2;else{p.t!=4&&K$(p);var g=a.c,O=p.c;if(a.t==4)if(d<=u)for(var B=0;B=0;B--)O[d+B]=g[u+B];else{for(var W=Math.min(q,g.length-u),B=0;B>=1,a==0)return p;u+=u,d++,d==9&&u.slice(0,1)}}function G$(a){a.t==2?a.c+=A9(a.l-a.c.length,"\0"):a.c=Ab(a.c,0,a.c.length),a.t=0}function vK(a){if(a.length<24){for(var u=0;uxR)return!1;return!0}else return!/[^\x00-\x7f]/.test(a)}function z0e(a){for(var u=oa,p=oa,d,q,g,O,B=0,W=a.length;BaY?(p.substr(0,1),u+=p,p=oa,u+=a.slice(B,Y)):p+=a.slice(B,Y),Y==W)break;B=Y}O=1,++B=55295&&O<57344)&&(O=2)):(O=3,++B1114111)&&(O=3)))))),O<4?(B-=O,p+="\uFFFD"):O>no?p+=String.fromCharCode(55232+(O>>10),L5+(O&1023)):p+=String.fromCharCode(O),p.length>WS&&(p.substr(0,1),u+=p,p=oa)}return u+p}function jx(a,u,p){this.t=a,this.c=u,this.l=p}jx.prototype.toString=function(){switch(this.t){case 9:return this.c;default:G$(this);case 0:if(vK(this.c))return this.t=9,this.c;this.t=8;case 8:return this.c}},jx.prototype.toUtf16=function(){var a=this.toString();return this.t==9?a:z0e(a)},jx.prototype.slice=function(){var a=this.t==4?this.c.slice():this.c;return new jx(this.t,a,this.l)};function H0e(a){return new jx(0,a,a.length)}function A2r(a){return a}function q1(a){return H0e(a)}function dd(a,u,p,d,q){return Vx(q1(a),u,p,d,q),0}function g9(a){return new ta(a[7]<<0|a[6]<<8|a[5]<<16,a[4]<<0|a[3]<<8|a[2]<<16,a[1]<<0|a[0]<<8)}function Lu(a,u){switch(a.t&6){default:if(u>=a.c.length)return 0;case 0:return a.c.charCodeAt(u);case 4:return a.c[u]}}function DK(){U0(HY)}function q3e(a,u){u>>>0>=a.l-7&&DK();for(var p=new Array(8),d=0;d<8;d++)p[7-d]=Lu(a,u+d);return g9(p)}function As(a,u,p){if(p&=P,a.t!=4){if(u==a.c.length)return a.c+=String.fromCharCode(p),u+1==a.l&&(a.t=0),0;K$(a)}return a.c[u]=p,0}function Jx(a,u,p){return u>>>0>=a.l&&DK(),As(a,u,p)}function b9(a){return a.toArray()}function C3e(a,u,p){u>>>0>=a.l-7&&DK();for(var d=b9(p),q=0;q<8;q++)As(a,u+7-q,d[q]);return 0}function xd(a,u){var p=a.l>=0?a.l:a.l=a.length,d=u.length,q=p-d;if(q==0)return a.apply(null,u);if(q<0){var g=a.apply(null,u.slice(0,p));return typeof g!="function"?g:xd(g,u.slice(p))}else{switch(q){case 1:{var g=function(W){for(var Y=new Array(d+1),V=0;V>>0>=a.length-1&&qb(),a}function A3e(a){return isFinite(a)?Math.abs(a)>=22250738585072014e-324?0:a!=0?1:2:isNaN(a)?4:3}function g3e(a){return a==JF?1:0}var b3e=Math.log2&&Math.log2(11235582092889474e291)==1020;function E3e(a){if(b3e)return Math.floor(Math.log2(a));var u=0;if(a==0)return-1/0;if(a>=1)for(;a>=2;)a/=2,u++;else for(;a<1;)a*=2,u--;return u}function SK(a){var u=new Float32Array(1);u[0]=a;var p=new Int32Array(u.buffer);return p[0]|0}function xT(a,u,p){return new ta(a,u,p)}function V$(a){if(!isFinite(a))return isNaN(a)?xT(1,0,Soe):a>0?xT(0,0,Soe):xT(0,0,65520);var u=a==0&&1/a==-1/0?Jp:a>=0?0:Jp;u&&(a=-a);var p=E3e(a)+1023;p<=0?(p=0,a/=Math.pow(2,-_0e)):(a/=Math.pow(2,p-Aoe),a<16&&(a*=2,p-=1),p==0&&(a/=2));var d=Math.pow(2,24),q=a|0;a=(a-q)*d;var g=a|0;a=(a-g)*d;var O=a|0;return q=q&nt|u|p<<4,xT(O,g,q)}function Y0e(a,u,p){if(a.write(32,u.dims.length),a.write(32,u.kind|u.layout<<8),u.caml_custom==sB)for(var d=0;d>4;if(q==i0e)return u|p|d&nt?NaN:d&Jp?-1/0:1/0;var g=Math.pow(2,-24),O=(u*g+p)*g+(d&nt);return q>0?(O+=16,O*=Math.pow(2,q-Aoe)):O*=Math.pow(2,-_0e),d&Jp&&(O=-O),O}function pu(a){bu.Failure||(bu.Failure=[Ws,Bn,-3]),gK(bu.Failure,a)}function K0e(a,u,p){var d=a.read32s();(d<0||d>16)&&pu("input_value: wrong number of bigarray dimensions");var q=a.read32s(),g=q&P,O=q>>8&1,B=[];if(p==sB)for(var W=0;W>>17,u=V0e(u,461845907),a^=u,a=a<<13|a>>>19,(a+(a<<2)|0)+-430675100|0}function O3e(a,u){return a=Xx(a,EK(u)),a=Xx(a,bK(u)),a}function j0e(a,u){return O3e(a,V$(u))}function J0e(a){var u=Y$(a.dims),p=0;switch(a.kind){case 2:case 3:case 12:u>$S&&(u=$S);var d=0,q=0;for(q=0;q+4<=a.data.length;q+=4)d=a.data[q+0]|a.data[q+1]<<8|a.data[q+2]<<16|a.data[q+3]<<24,p=Xx(p,d);switch(d=0,u&3){case 3:d=a.data[q+2]<<16;case 2:d|=a.data[q+1]<<8;case 1:d|=a.data[q+0],p=Xx(p,d)}break;case 4:case 5:u>t0&&(u=t0);var d=0,q=0;for(q=0;q+2<=a.data.length;q+=2)d=a.data[q+0]|a.data[q+1]<<16,p=Xx(p,d);u&1&&(p=Xx(p,a.data[q]));break;case 6:u>64&&(u=64);for(var q=0;q64&&(u=64);for(var q=0;q32&&(u=32),u*=2;for(var q=0;q64&&(u=64);for(var q=0;q32&&(u=32);for(var q=0;q0?q(u,a,d):q(a,u,d);if(d&&g!=g)return p;if(+g!=+g)return+g;if(g|0)return g|0}return p}function wK(a){return typeof a=="string"&&!/[^\x00-\xff]/.test(a)}function PK(a){return a instanceof jx}function eRe(a){if(typeof a=="number")return K1;if(PK(a))return qS;if(wK(a))return 1252;if(a instanceof Array&&a[0]===a[0]>>>0&&a[0]<=f1){var u=a[0]|0;return u==q_?0:u}else{if(a instanceof String||typeof a=="string")return WZ;if(a instanceof Number)return K1;if(a&&a.caml_custom)return io;if(a&&a.compare)return 1256;if(typeof a=="function")return 1247;if(typeof a=="symbol")return 1251}return 1001}function fc(a,u){return au?1:0}function w3e(a,u){return a.t&6&&G$(a),u.t&6&&G$(u),a.cu.c?1:0}function j$(a,u,p){for(var d=[];;){if(!(p&&a===u)){var q=eRe(a);if(q==k9){a=a[1];continue}var g=eRe(u);if(g==k9){u=u[1];continue}if(q!==g)return q==K1?g==io?Z0e(a,u,-1,p):-1:g==K1?q==io?Z0e(u,a,1,p):1:qu)return 1;if(a!=u){if(!p)return NaN;if(a==a)return 1;if(u==u)return-1}break;case 1001:if(au)return 1;if(a!=u){if(!p)return NaN;if(a==a)return 1;if(u==u)return-1}break;case 1251:if(a!==u)return p?1:NaN;break;case 1252:var a=a,u=u;if(a!==u){if(au)return 1}break;case 12520:var a=a.toString(),u=u.toString();if(a!==u){if(au)return 1}break;case 246:case 254:default:if(g3e(q)){U0("compare: continuation value");break}if(a.length!=u.length)return a.length1&&d.push(a,u,1);break}}if(d.length==0)return 0;var W=d.pop();u=d.pop(),a=d.pop(),W+10)if(u==0&&(p>=a.l||a.t==2&&p>=a.c.length))d==0?(a.c=oa,a.t=2):(a.c=A9(p,String.fromCharCode(d)),a.t=p==a.l?0:2);else for(a.t!=4&&K$(a),p+=u;u0&&u===u||(a=a.replace(/_/g,oa),u=+a,a.length>0&&u===u||/^[+-]?nan$/i.test(a)))return u;var p=/^ *([+-]?)0x([0-9a-f]+)\.?([0-9a-f]*)(p([+-]?[0-9]+))?/i.exec(a);if(p){var d=p[3].replace(/0+$/,oa),q=parseInt(p[1]+p[2]+d,16),g=(p[5]|0)-4*d.length;return u=q*Math.pow(2,g),u}if(/^\+?inf(inity)?$/i.test(a))return 1/0;if(/^-inf(inity)?$/i.test(a))return-1/0;pu("float_of_string")}function IK(a){a=a;var u=a.length;u>31&&U0("format_int: format too long");for(var p={justify:Hp,signstyle:L2,filler:hh,alternate:!1,base:0,signedconv:!1,width:0,uppercase:!1,sign:1,prec:-1,conv:FO},d=0;d=0&&q<=9;)p.width=p.width*10+q,d++;d--;break;case".":for(p.prec=0,d++;q=a.charCodeAt(d)-48,q>=0&&q<=9;)p.prec=p.prec*10+q,d++;d--;case"d":case"i":p.signedconv=!0;case"u":p.base=10;break;case"x":p.base=16;break;case"X":p.base=16,p.uppercase=!0;break;case"o":p.base=8;break;case"e":case"f":case"g":p.signedconv=!0,p.conv=q;break;case"E":case"F":case"G":p.signedconv=!0,p.uppercase=!0,p.conv=q.toLowerCase();break}}return p}function MK(a,u){a.uppercase&&(u=u.toUpperCase());var p=u.length;a.signedconv&&(a.sign<0||a.signstyle!=L2)&&p++,a.alternate&&(a.base==8&&(p+=1),a.base==16&&(p+=2));var d=oa;if(a.justify==Hp&&a.filler==hh)for(var q=p;q20?(se-=20,V/=Math.pow(10,se),V+=new Array(se+1).join(lu),Z>0&&(V=V+e_+new Array(Z+1).join(lu)),V):V.toFixed(Z)}var d,q=IK(a),g=q.prec<0?6:q.prec;if((u<0||u==0&&1/u==-1/0)&&(q.sign=-1,u=-u),isNaN(u))d=pY,q.filler=hh;else if(!isFinite(u))d="inf",q.filler=hh;else switch(q.conv){case"e":var d=u.toExponential(g),O=d.length;d.charAt(O-3)==cS&&(d=d.slice(0,O-1)+lu+d.slice(O-1));break;case"f":d=p(u,g);break;case"g":g=g||1,d=u.toExponential(g-1);var B=d.indexOf(cS),W=+d.slice(B+1);if(W<-4||u>=1e21||u.toFixed(0).length>g){for(var O=B-1;d.charAt(O)==lu;)O--;d.charAt(O)==e_&&O--,d=d.slice(0,O+1)+d.slice(B),O=d.length,d.charAt(O-3)==cS&&(d=d.slice(0,O-1)+lu+d.slice(O-1));break}else{var Y=g;if(W<0)Y-=W+1,d=u.toFixed(Y);else for(;d=u.toFixed(Y),d.length>g+1;)Y--;if(Y){for(var O=d.length-1;d.charAt(O)==lu;)O--;d.charAt(O)==e_&&O--,d=d.slice(0,O+1)}}break}return MK(q,d)}function X$(a,u){if(a==m9)return oa+u;var p=IK(a);u<0&&(p.signedconv?(p.sign=-1,u=-u):u>>>=0);var d=u.toString(p.base);if(p.prec>=0){p.filler=hh;var q=p.prec-d.length;q>0&&(d=A9(q,lu)+d)}return MK(p,d)}var nRe=0;function md(){return nRe++}function iRe(){return[0]}var Z$=[];function ki(a,u,p){var d=a[1],q=Z$[p];if(q===void 0)for(var g=Z$.length;g>1|1,uaY?(p.substr(0,1),u+=p,p=oa,u+=a.slice(g,B)):p+=a.slice(g,B),B==O)break;g=B}d>6),p+=String.fromCharCode(y1|d&l3)):d<55296||d>=O5?p+=String.fromCharCode(nee|d>>12,y1|d>>6&l3,y1|d&l3):d>=56319||g+1==O||(q=a.charCodeAt(g+1))O5?p+="\xEF\xBF\xBD":(g++,d=(d<<10)+q-56613888,p+=String.fromCharCode(de|d>>18,y1|d>>12&l3,y1|d>>6&l3,y1|d&l3)),p.length>WS&&(p.substr(0,1),u+=p,p=oa)}return u+p}function C1(a){return vK(a)?a:W3e(a)}function U3e(a,u,p){if(!isFinite(a))return isNaN(a)?C1(pY):C1(a>0?Uoe:"-infinity");var d=a==0&&1/a==-1/0?1:a>=0?0:1;d&&(a=-a);var q=0;if(a!=0)if(a<1)for(;a<1&&q>-1022;)a*=2,q--;else for(;a>=2;)a/=2,q++;var g=q<0?oa:Hp,O=oa;if(d)O=L2;else switch(p){case 43:O=Hp;break;case 32:O=hh;break;default:break}if(u>=0&&u<13){var B=Math.pow(2,u*4);a=Math.round(a*B)/B}var W=a.toString(16);if(u>=0){var Y=W.indexOf(e_);if(Y<0)W+=e_+A9(u,lu);else{var V=Y+1+u;W.length>24&Uf,a>>31&no)}function L3e(a){return a.toInt()}function z3e(a){return+a.isNeg()}function UK(a){return a.neg()}function aRe(a,u){var p=IK(a);p.signedconv&&z3e(u)&&(p.sign=-1,u=UK(u));var d=oa,q=gb(p.base),g="0123456789abcdef";do{var O=u.udivmod(q);u=O.quotient,d=g.charAt(L3e(O.modulus))+d}while(!F3e(u));if(p.prec>=0){p.filler=hh;var B=p.prec-d.length;B>0&&(d=A9(B,lu)+d)}return MK(p,d)}function ii(a){return a.length}function $r(a,u){return a.charCodeAt(u)}function sRe(a,u){return a.add(u)}function oRe(a,u){return a.mul(u)}function FK(a,u){return a.ucompare(u)<0}function RRe(a){var u=0,p=ii(a),d=10,q=1;if(p>0)switch($r(a,u)){case 45:u++,q=-1;break;case 43:u++,q=1;break}if(u+1=48&&a<=57?a-48:a>=65&&a<=90?a-55:a>=97&&a<=$0?a-87:-1}function Q8(a){var u=RRe(a),p=u[0],d=u[1],q=u[2],g=gb(q),O=new ta(Uf,268435455,no).udivmod(g).quotient,B=$r(a,p),W=eQ(B);(W<0||W>=q)&&pu(_);for(var Y=gb(W);;)if(p++,B=$r(a,p),B!=95){if(W=eQ(B),W<0||W>=q)break;FK(O,Y)&&pu(_),W=gb(W),Y=sRe(oRe(g,Y),W),FK(Y,W)&&pu(_)}return p!=ii(a)&&pu(_),q==10&&FK(new ta(0,0,Jp),Y)&&pu(_),d<0&&(Y=UK(Y)),Y}function uRe(a,u){return a.or(u)}function tQ(a){return a.toFloat()}function mT(a){var u=RRe(a),p=u[0],d=u[1],q=u[2],g=ii(a),O=-1>>>0,B=p=q)&&pu(_);var Y=W;for(p++;p=q)break;Y=q*Y+W,Y>O&&pu(_)}return p!=g&&pu(_),Y=d*Y,q==10&&(Y|0)!=Y&&pu(_),Y|0}function Ei(a){return vK(a)?a:z0e(a)}function H3e(a){for(var u={},p=1;p=0?a.l:a.l=a.length}function K3e(a){return function(){for(var u=Y3e(a),p=new Array(u),d=0;d>>0&&LK(a,FS,em)?0:1}function j3e(a){return LK(a,em,k9),0}function J3e(a,u){return+(j$(a,u,!1)<0)}function X3e(a){return a}function Z3e(a,u){return a.get(a.offset(u))}function ege(a,u){return a.xor(u)}function tge(a,u){return a.shift_right_unsigned(u)}function rge(a,u){return a.shift_left(u)}function nQ(a){function u(Fe,ze){return rge(Fe,ze)}function p(Fe,ze){return tge(Fe,ze)}function d(Fe,ze){return uRe(Fe,ze)}function q(Fe,ze){return ege(Fe,ze)}function g(Fe,ze){return sRe(Fe,ze)}function O(Fe,ze){return oRe(Fe,ze)}function B(Fe,ze){return d(u(Fe,ze),p(Fe,64-ze))}function W(Fe,ze){return Z3e(Fe,ze)}function Y(Fe,ze,ut){return Cb(Fe,ze,ut)}var V=Q8("0xd1342543de82ef95"),Z=Q8("0xdaba0b6eb09322e3"),se,ge,Ne,ae=a,ue=W(ae,0),pe=W(ae,1),xe=W(ae,2),ye=W(ae,3);se=g(pe,xe),se=O(q(se,p(se,32)),Z),se=O(q(se,p(se,32)),Z),se=q(se,p(se,32)),Y(ae,1,g(O(pe,V),ue));var ge=xe,Ne=ye;return Ne=q(Ne,ge),ge=B(ge,24),ge=q(q(ge,Ne),u(Ne,16)),Ne=B(Ne,37),Y(ae,2,ge),Y(ae,3,Ne),se}function fm(p,u){p<0&&qb();var p=p+1|0,d=new Array(p);d[0]=0;for(var q=1;q>>32-V,W)}function p(O,B,W,Y,V,Z,se){return u(B&W|~B&Y,O,B,V,Z,se)}function d(O,B,W,Y,V,Z,se){return u(B&Y|W&~Y,O,B,V,Z,se)}function q(O,B,W,Y,V,Z,se){return u(B^W^Y,O,B,V,Z,se)}function g(O,B,W,Y,V,Z,se){return u(W^(B|~Y),O,B,V,Z,se)}return function(O,B){var W=O[0],Y=O[1],V=O[2],Z=O[3];W=p(W,Y,V,Z,B[0],7,3614090360),Z=p(Z,W,Y,V,B[1],12,3905402710),V=p(V,Z,W,Y,B[2],17,606105819),Y=p(Y,V,Z,W,B[3],22,3250441966),W=p(W,Y,V,Z,B[4],7,4118548399),Z=p(Z,W,Y,V,B[5],12,1200080426),V=p(V,Z,W,Y,B[6],17,2821735955),Y=p(Y,V,Z,W,B[7],22,4249261313),W=p(W,Y,V,Z,B[8],7,1770035416),Z=p(Z,W,Y,V,B[9],12,2336552879),V=p(V,Z,W,Y,B[10],17,4294925233),Y=p(Y,V,Z,W,B[11],22,2304563134),W=p(W,Y,V,Z,B[12],7,1804603682),Z=p(Z,W,Y,V,B[13],12,4254626195),V=p(V,Z,W,Y,B[14],17,2792965006),Y=p(Y,V,Z,W,B[15],22,1236535329),W=d(W,Y,V,Z,B[1],5,4129170786),Z=d(Z,W,Y,V,B[6],9,3225465664),V=d(V,Z,W,Y,B[11],14,643717713),Y=d(Y,V,Z,W,B[0],20,3921069994),W=d(W,Y,V,Z,B[5],5,3593408605),Z=d(Z,W,Y,V,B[10],9,38016083),V=d(V,Z,W,Y,B[15],14,3634488961),Y=d(Y,V,Z,W,B[4],20,3889429448),W=d(W,Y,V,Z,B[9],5,568446438),Z=d(Z,W,Y,V,B[14],9,3275163606),V=d(V,Z,W,Y,B[3],14,4107603335),Y=d(Y,V,Z,W,B[8],20,1163531501),W=d(W,Y,V,Z,B[13],5,2850285829),Z=d(Z,W,Y,V,B[2],9,4243563512),V=d(V,Z,W,Y,B[7],14,1735328473),Y=d(Y,V,Z,W,B[12],20,2368359562),W=q(W,Y,V,Z,B[5],4,4294588738),Z=q(Z,W,Y,V,B[8],11,2272392833),V=q(V,Z,W,Y,B[11],16,1839030562),Y=q(Y,V,Z,W,B[14],23,4259657740),W=q(W,Y,V,Z,B[1],4,2763975236),Z=q(Z,W,Y,V,B[4],11,1272893353),V=q(V,Z,W,Y,B[7],16,4139469664),Y=q(Y,V,Z,W,B[10],23,3200236656),W=q(W,Y,V,Z,B[13],4,681279174),Z=q(Z,W,Y,V,B[0],11,3936430074),V=q(V,Z,W,Y,B[3],16,3572445317),Y=q(Y,V,Z,W,B[6],23,76029189),W=q(W,Y,V,Z,B[9],4,3654602809),Z=q(Z,W,Y,V,B[12],11,3873151461),V=q(V,Z,W,Y,B[15],16,530742520),Y=q(Y,V,Z,W,B[2],23,3299628645),W=g(W,Y,V,Z,B[0],6,4096336452),Z=g(Z,W,Y,V,B[7],10,1126891415),V=g(V,Z,W,Y,B[14],15,2878612391),Y=g(Y,V,Z,W,B[5],21,4237533241),W=g(W,Y,V,Z,B[12],6,1700485571),Z=g(Z,W,Y,V,B[3],10,2399980690),V=g(V,Z,W,Y,B[10],15,4293915773),Y=g(Y,V,Z,W,B[1],21,2240044497),W=g(W,Y,V,Z,B[8],6,1873313359),Z=g(Z,W,Y,V,B[15],10,4264355552),V=g(V,Z,W,Y,B[6],15,2734768916),Y=g(Y,V,Z,W,B[13],21,1309151649),W=g(W,Y,V,Z,B[4],6,4149444226),Z=g(Z,W,Y,V,B[11],10,3174756917),V=g(V,Z,W,Y,B[2],15,718787259),Y=g(Y,V,Z,W,B[9],21,3951481745),O[0]=a(W,O[0]),O[1]=a(Y,O[1]),O[2]=a(V,O[2]),O[3]=a(Z,O[3])}}();function ige(a,u,p){var d=a.len&l3,q=0;if(a.len+=p,d){var g=64-d;if(p=64;)a.b8.set(u.subarray(q,q+64),0),iQ(a.w,a.b32),p-=64,q+=64;p&&a.b8.set(u.subarray(q,q+p),0)}function age(a){var u=a.len&l3;if(a.b8[u]=y1,u++,u>56){for(var p=u;p<64;p++)a.b8[p]=0;iQ(a.w,a.b32);for(var p=0;p<56;p++)a.b8[p]=0}else for(var p=u;p<56;p++)a.b8[p]=0;a.b32[14]=a.len<<3,a.b32[15]=a.len>>29&536870911,iQ(a.w,a.b32);for(var d=new Uint8Array(16),q=0;q<4;q++)for(var p=0;p<4;p++)d[q*4+p]=a.w[q]>>8*p&255;return d}function zK(a){return a.t!=4&&K$(a),a.c}function sge(a){return Ab(a,0,a.length)}function oge(a,u,p){var d=nge(),q=zK(a);return ige(d,q.subarray(u,u+p),p),sge(age(d))}function Rge(a,u,p){return oge(q1(a),u,p)}function A1(a){return a.l}function uge(){return 0}function Va(a){gK(bu.Sys_error,a)}var Zx=new Array;function t_(a){var u=Zx[a];return u.opened||Va("Cannot flush a closed channel"),!u.buffer||u.buffer_curr==0||(u.output?u.output(Ab(u.buffer,0,u.buffer_curr)):u.file.write(u.offset,u.buffer,0,u.buffer_curr),u.offset+=u.buffer_curr,u.buffer_curr=0),0}function lRe(){}function g2r(a){for(var u=ii(a),p=new Uint8Array(u),d=0;d1&&d.pop();break;case".":break;case"":break;default:d.push(p[q]);break}return d.unshift(u[0]),d.orig=a,d}var pge=["E2BIG","EACCES","EAGAIN",KY,"EBUSY","ECHILD","EDEADLK","EDOM",Nn,"EFAULT","EFBIG","EINTR","EINVAL","EIO","EISDIR","EMFILE","EMLINK","ENAMETOOLONG","ENFILE","ENODEV",TS,"ENOEXEC","ENOLCK","ENOMEM","ENOSPC","ENOSYS",y5,In,"ENOTTY","ENXIO","EPERM","EPIPE","ERANGE","EROFS","ESPIPE","ESRCH","EXDEV","EWOULDBLOCK","EINPROGRESS","EALREADY","ENOTSOCK","EDESTADDRREQ","EMSGSIZE","EPROTOTYPE","ENOPROTOOPT","EPROTONOSUPPORT","ESOCKTNOSUPPORT","EOPNOTSUPP","EPFNOSUPPORT","EAFNOSUPPORT","EADDRINUSE","EADDRNOTAVAIL","ENETDOWN","ENETUNREACH","ENETRESET","ECONNABORTED","ECONNRESET","ENOBUFS","EISCONN","ENOTCONN","ESHUTDOWN","ETOOMANYREFS","ETIMEDOUT","ECONNREFUSED","EHOSTDOWN","EHOSTUNREACH","ELOOP","EOVERFLOW"];function e2(a,u,p,d){var q=pge.indexOf(a);q<0&&(d==null&&(d=-9999),q=[0,d]);var g=[q,C1(u||oa),C1(p||oa)];return g}var TRe={};function dm(a){return TRe[a]}function t2(a,u){throw Pr([0,a].concat(u))}function YK(a){return a instanceof Uint8Array||(a=new Uint8Array(a)),new jx(4,a,a.length)}function pRe(a){Va(a+Fl)}function zu(a){this.data=a}zu.prototype=new lRe,zu.prototype.constructor=zu,zu.prototype.truncate=function(a){var u=this.data;this.data=Do(a|0),Vx(u,0,this.data,0,a)},zu.prototype.length=function(){return A1(this.data)},zu.prototype.write=function(a,u,p,d){var q=this.length();if(a+d>=q){var g=Do(a+d),O=this.data;this.data=g,Vx(O,0,this.data,0,q)}return Vx(YK(u),p,this.data,a,d),0},zu.prototype.read=function(a,u,p,d){var q=this.length();if(a+d>=q&&(d=q-a),d){var g=Do(d|0);Vx(this.data,a,g,0,d),u.set(zK(g),p)}return d};function N8(a,u,p){this.file=u,this.name=a,this.flags=p}N8.prototype.err_closed=function(){Va(this.name+JU)},N8.prototype.length=function(){if(this.file)return this.file.length();this.err_closed()},N8.prototype.write=function(a,u,p,d){if(this.file)return this.file.write(a,u,p,d);this.err_closed()},N8.prototype.read=function(a,u,p,d){if(this.file)return this.file.read(a,u,p,d);this.err_closed()},N8.prototype.close=function(){this.file=void 0};function mR(a,u){this.content={},this.root=a,this.lookupFun=u}mR.prototype.nm=function(a){return this.root+a},mR.prototype.create_dir_if_needed=function(a){for(var u=a.split(ol),p=oa,d=0;d0&&p>=0&&p+d<=u.length&&u[p+d-1]==10&&d--;var q=Do(d);return Vx(YK(u),p,q,0,d),this.log(q.toUtf16()),0}Va(this.fd+JU)},Ob.prototype.read=function(a,u,p,d){Va(this.fd+": file descriptor is write only")},Ob.prototype.close=function(){this.log=void 0};function oQ(a,u){return u==null&&(u=aQ.length),aQ[u]=a,u|0}function b2r(a,u,p){for(var d={};u;){switch(u[1]){case 0:d.rdonly=1;break;case 1:d.wronly=1;break;case 2:d.append=1;break;case 3:d.create=1;break;case 4:d.truncate=1;break;case 5:d.excl=1;break;case 6:d.binary=1;break;case 7:d.text=1;break;case 8:d.nonblock=1;break}u=u[2]}d.rdonly&&d.wronly&&Va(a+Cl),d.text&&d.binary&&Va(a+$Z);var q=_ge(a),g=q.device.open(q.rest,d);return oQ(g,void 0)}(function(){function a(u,p){return bb()?lge(u,p):new Ob(u,p)}oQ(a(0,{rdonly:1,altname:"/dev/stdin",isCharacterDevice:!0}),0),oQ(a(1,{buffered:2,wronly:1,isCharacterDevice:!0}),1),oQ(a(2,{buffered:2,wronly:1,isCharacterDevice:!0}),2)})();function hge(a){var u=aQ[a];u.flags.wronly&&Va(k_+a+" is writeonly");var p=null,d={file:u,offset:u.flags.append?u.length():0,fd:a,opened:!0,out:!1,buffer_curr:0,buffer_max:0,buffer:new Uint8Array(ub),refill:p};return Zx[d.fd]=d,d.fd}function hRe(a){var u=aQ[a];u.flags.rdonly&&Va(k_+a+" is readonly");var p=u.flags.buffered!==void 0?u.flags.buffered:1,d={file:u,offset:u.flags.append?u.length():0,fd:a,opened:!0,out:!0,buffer_curr:0,buffer:new Uint8Array(ub),buffered:p};return Zx[d.fd]=d,d.fd}function fge(){for(var a=0,u=0;uq.buffer.length){var g=new Uint8Array(q.buffer_curr+u.length);g.set(q.buffer),q.buffer=g}switch(q.buffered){case 0:q.buffer.set(u,q.buffer_curr),q.buffer_curr+=u.length,t_(a);break;case 1:q.buffer.set(u,q.buffer_curr),q.buffer_curr+=u.length,q.buffer_curr>=q.buffer.length&&t_(a);break;case 2:var O=u.lastIndexOf(10);O<0?(q.buffer.set(u,q.buffer_curr),q.buffer_curr+=u.length,q.buffer_curr>=q.buffer.length&&t_(a)):(q.buffer.set(u.subarray(0,O+1),q.buffer_curr),q.buffer_curr+=O+1,t_(a),q.buffer.set(u.subarray(O+1),q.buffer_curr),q.buffer_curr+=u.length-O-1);break}return 0}function xge(a,q,p,d){var q=zK(q);return dge(a,q,p,d)}function KK(a,u,p,d){return xge(a,q1(u),p,d)}function fRe(a,u){var p=String.fromCharCode(u);return KK(a,p,0,1),0}function w8(a,u){return+(j$(a,u,!1)!=0)}function GK(a,u){var p=new Array(u+1);p[0]=a;for(var d=1;d<=u;d++)p[d]=0;return p}function P8(a){return a instanceof Array&&a[0]==a[0]>>>0?a[0]:PK(a)||wK(a)?qS:a instanceof Function||typeof a=="function"?j_:a&&a.caml_custom?f1:K1}function mge(a){var u={};if(a)for(var p=1;p=0?a=q:pu("caml_register_global: cannot locate "+d)}}bu[a+1]=u,p&&(bu[p]=u)}function VK(a,u){return TRe[a]=u,0}function kge(a){return a[2]=nRe++,a}function Qa(a,u){return a===u?1:0}function yge(){U0(HY)}function r0(a,u){return u>>>0>=ii(a)&&yge(),$r(a,u)}function Re(a,u){return 1-Qa(a,u)}function kR(a){return a.t&6&&G$(a),a.c}function qge(){return 2147483647/4|0}var Cge=t.process&&t.process.platform&&t.process.platform==Ve?A5:"Unix";function Age(){return[0,Cge,32,0]}function gge(){U0e(bu.Not_found)}function dRe(a){var u=B0e(Ei(a));return u===void 0&&gge(),C1(u)}function bge(){if(t.crypto){if(t.crypto.getRandomValues){var a=t.crypto.getRandomValues(new Int32Array(4));return[0,a[0],a[1],a[2],a[3]]}else if(t.crypto.randomBytes){var a=new Int32Array(t.crypto.randomBytes(16).buffer);return[0,a[0],a[1],a[2],a[3]]}}var u=new Date().getTime(),p=u^4294967295*Math.random();return[0,p]}function RQ(a){for(var u=1;a&&a.joo_tramp;)a=a.joo_tramp.apply(null,a.joo_args),u++;return a}function x0(a,u){return{joo_tramp:a,joo_args:u}}function ns(a,u){if(u.fun)return a.fun=u.fun,0;if(typeof u=="function")return a.fun=u,0;for(var p=u.length;p--;)a[p]=u[p];return 0}function n0(a){{if(a instanceof Array)return a;var u;return t.RangeError&&a instanceof t.RangeError&&a.message&&a.message.match(/maximum call stack/i)||t.InternalError&&a instanceof t.InternalError&&a.message&&a.message.match(/too much recursion/i)?u=bu.Stack_overflow:a instanceof t.Error&&dm(Jq)?u=[0,dm(Jq),a]:u=[0,bu.Failure,C1(String(a))],a instanceof t.Error&&(u.js_error=a),u}}function Ege(a){switch(a[2]){case-8:case-11:case-12:return 1;default:return 0}}function Oge(a){var u=oa;if(a[0]==0){if(u+=a[1][1],a.length==3&&a[2][0]==0&&Ege(a[1]))var d=a[2],p=1;else var p=2,d=a;u+=$ee;for(var q=p;qp&&(u+=wU);var g=d[q];typeof g=="number"?u+=g.toString():g instanceof jx||typeof g=="string"?u+=U5+g.toString()+U5:u+=TT}u+=IF}else a[0]==Ws&&(u+=a[1]);return u}function xRe(a){if(a instanceof Array&&(a[0]==0||a[0]==Ws)){var u=dm(Ox);if(u)rQ(u,[a,!1]);else{var p=Oge(a),d=dm(uS);if(d&&rQ(d,[0]),console.error(GO+p),a.js_error)throw a.js_error}}else throw a}function vge(){var a=t.process;a&&a.on?a.on("uncaughtException",function(u,p){xRe(u),a.exit(2)}):t.addEventListener&&t.addEventListener("error",function(u){u.error&&xRe(u.error)})}vge();function J(a,u){return(a.l>=0?a.l:a.l=a.length)==1?a(u):xd(a,[u])}function K(a,u,p){return(a.l>=0?a.l:a.l=a.length)==2?a(u,p):xd(a,[u,p])}function sn(a,u,p,d){return(a.l>=0?a.l:a.l=a.length)==3?a(u,p,d):xd(a,[u,p,d])}function jK(a,u,p,d,q){return(a.l>=0?a.l:a.l=a.length)==4?a(u,p,d,q):xd(a,[u,p,d,q])}function JK(a,u,p,d,q,g){return(a.l>=0?a.l:a.l=a.length)==5?a(u,p,d,q,g):xd(a,[u,p,d,q,g])}function vb(a,u,p,d,q,g,O){return(a.l>=0?a.l:a.l=a.length)==6?a(u,p,d,q,g,O):xd(a,[u,p,d,q,g,O])}function Dge(a,u,p,d,q,g,O,B){return(a.l>=0?a.l:a.l=a.length)==7?a(u,p,d,q,g,O,B):xd(a,[u,p,d,q,g,O,B])}var he=void 0,XK=[Ws,Nt,-1],mRe=[Ws,Hoe,-2],n_=[Ws,Bn,-3],uQ=[Ws,l0e,-4],kd=[Ws,poe,-7],kRe=[Ws,ji,-8],yRe=[Ws,mB,-9],Wa=[Ws,u9,-11],Db=[Ws,moe,-12],Sge=[4,0,0,0,[12,45,[4,0,0,0,0]]],ZK=[0,[11,'File "',[2,0,[11,'", line ',[4,0,0,0,[11,Pt,[4,0,0,0,[12,45,[4,0,0,0,[11,": ",[2,0,0]]]]]]]]]],'File "%s", line %d, characters %d-%d: %s'],v9=[0,0,[0,0,0],[0,0,0]],D9=[0,0,0,0,0,1,0,0,0],qRe=[0,"first_leading","last_trailing"],CRe=[0,Aq,nq,tf,i9,bf,K5,c6,u6,il,ed,Ah,je,tx,Zp,$f,KT,_c,fd,F5,cm,T1,m1,Ba,Oq,Hy,S5,Pq,Jy,F6,z2,b6,FT,_9,Xh,$a,G5,qq,zT,fT,De,zh,c8,Tf,Ti,od,ff,Vq,y_,Ix,Hf,Pf,w5,lq,Yc,BT,Tc,Yf,Zq,ur,tq,yk,C0,H5,Sf,L6,xf,of,H,$5,oq,dh,oc,p6,Fy,hf,lf,Wq,wf,Zd,cd,yf,Df,Nk,df,lm,Zn,th,_d,x8,gf,Me,VT,ql,zf,kf,nh,I6,Fh,Pp,Pc,yq,Rd,h8,r8,G6,Zf,An,mq,Ky,pd,Gh,kq,Rl,F2,uf,af,PT,zx,W6,h6,t8,f0,lr,ud,Ef,j6,Lp,Vf,ep,Oh,yh,jt,C_,Jf,Uh,gk,Jh,Kf,rf,rp,d8,Et,Al,sm,mi,Cf,Eh,vh,v6,ad,sl,Lh,hT,oh,Or,zq,fh,Rf,LT,qf,_f,nd,g8,Ih,ax,rm,wh,N6,Of,Hi,wp,c,W5,Xf,pn,_h,GT,cf,td,Ip,Gp,Zo,$k,Ph,Vh,$h,np,Bh,id,Nq,Fn,ll,gh,d6,k6,Nf,Fq,sd,J6,Wf,a8,o0,$6,Q5,xh,R8,O6,jy,Bf,Dt,A_,Gy,s9,jq,H2,Ce,Ca,mf,Kq,uT,Oa,Zt,ld,mh,Yh,XR,Lf,Fp,l6,um,If,H6,Bx,f6,$q,Ue,Te,iq,Af,b,Hh,Jd,Tq,Dk,dk,Ms,zc,bh,C8,om,Gf,R0,bq,Ul,Dq,Ll,e8,cc,Hl,Fu,Ch,jf,ic,M0,m6,Qf,hc,Ff,jh,Sh,Mf,al,r9,vi,pc,ix,vf,Td,Mh,R9,ef,hd,Zh,Jr,ls,Ck,Xq,Ta,Z0,Nh,qh,uh,Vp,kh,Rr,Br,kk,j5,b5,X6,p9,pf,nf,zt,Iq,cu,_1,Qh,_q,_e],i_=[0,0,0];g1(11,Db,moe),g1(10,Wa,u9),g1(9,[Ws,a9,Wee],a9),g1(8,yRe,mB),g1(7,kRe,ji),g1(6,kd,poe),g1(5,[Ws,oU,-6],oU),g1(4,[Ws,$oe,-5],$oe),g1(3,uQ,l0e),g1(2,n_,Bn),g1(1,mRe,Hoe),g1(0,XK,Nt);function i0(a){if(typeof a=="number")return 0;switch(a[0]){case 0:return[0,i0(a[1])];case 1:return[1,i0(a[1])];case 2:return[2,i0(a[1])];case 3:return[3,i0(a[1])];case 4:return[4,i0(a[1])];case 5:return[5,i0(a[1])];case 6:return[6,i0(a[1])];case 7:return[7,i0(a[1])];case 8:var u=a[1];return[8,u,i0(a[2])];case 9:var p=a[1];return[9,p,p,i0(a[3])];case 10:return[10,i0(a[1])];case 11:return[11,i0(a[1])];case 12:return[12,i0(a[1])];case 13:return[13,i0(a[1])];default:return[14,i0(a[1])]}}function Hu(a,u){if(typeof a=="number")return u;switch(a[0]){case 0:return[0,Hu(a[1],u)];case 1:return[1,Hu(a[1],u)];case 2:return[2,Hu(a[1],u)];case 3:return[3,Hu(a[1],u)];case 4:return[4,Hu(a[1],u)];case 5:return[5,Hu(a[1],u)];case 6:return[6,Hu(a[1],u)];case 7:return[7,Hu(a[1],u)];case 8:var p=a[1];return[8,p,Hu(a[2],u)];case 9:var d=a[2],q=a[1];return[9,q,d,Hu(a[3],u)];case 10:return[10,Hu(a[1],u)];case 11:return[11,Hu(a[1],u)];case 12:return[12,Hu(a[1],u)];case 13:return[13,Hu(a[1],u)];default:return[14,Hu(a[1],u)]}}function Uo(a,u){if(typeof a=="number")return u;switch(a[0]){case 0:return[0,Uo(a[1],u)];case 1:return[1,Uo(a[1],u)];case 2:var p=a[1];return[2,p,Uo(a[2],u)];case 3:var d=a[1];return[3,d,Uo(a[2],u)];case 4:var q=a[3],g=a[2],O=a[1];return[4,O,g,q,Uo(a[4],u)];case 5:var B=a[3],W=a[2],Y=a[1];return[5,Y,W,B,Uo(a[4],u)];case 6:var V=a[3],Z=a[2],se=a[1];return[6,se,Z,V,Uo(a[4],u)];case 7:var ae=a[3],ue=a[2],pe=a[1];return[7,pe,ue,ae,Uo(a[4],u)];case 8:var xe=a[3],ye=a[2],ge=a[1];return[8,ge,ye,xe,Uo(a[4],u)];case 9:var Ne=a[1];return[9,Ne,Uo(a[2],u)];case 10:return[10,Uo(a[1],u)];case 11:var Fe=a[1];return[11,Fe,Uo(a[2],u)];case 12:var ze=a[1];return[12,ze,Uo(a[2],u)];case 13:var ut=a[2],it=a[1];return[13,it,ut,Uo(a[3],u)];case 14:var Tt=a[2],Rt=a[1];return[14,Rt,Tt,Uo(a[3],u)];case 15:return[15,Uo(a[1],u)];case 16:return[16,Uo(a[1],u)];case 17:var kt=a[1];return[17,kt,Uo(a[2],u)];case 18:var ft=a[1];return[18,ft,Uo(a[2],u)];case 19:return[19,Uo(a[1],u)];case 20:var It=a[2],dt=a[1];return[20,dt,It,Uo(a[3],u)];case 21:var Ot=a[1];return[21,Ot,Uo(a[2],u)];case 22:return[22,Uo(a[1],u)];case 23:var At=a[1];return[23,At,Uo(a[2],u)];default:var wt=a[2],or=a[1];return[24,or,wt,Uo(a[3],u)]}}function Ln(a){throw Pr([0,n_,a],1)}function UR(a){throw Pr([0,uQ,a],1)}function lQ(a){return 0<=a?a:-a|0}var $ge=Kx,Qge=Je;function hi(a,u){var p=ii(a),d=ii(u),q=Do(p+d|0);return dd(a,0,q,0,p),dd(u,0,q,p,d),kR(q)}function pi(a,u){if(!a)return u;var p=a[2],d=a[1];if(!p)return[0,d,u];var q=p[2],g=p[1];if(!q)return[0,d,[0,g,u]];for(var O=[0,q[1],j7],B=O,W=1,Y=q[2];;){if(Y){var V=Y[2],Z=Y[1];if(V){var se=V[2],ae=V[1];if(se){var ue=[0,se[1],j7],pe=se[2];B[1+W]=[0,Z,[0,ae,ue]];var B=ue,W=1,Y=pe;continue}B[1+W]=[0,Z,[0,ae,u]]}else B[1+W]=[0,Z,u]}else B[1+W]=u;return[0,d,[0,g,O]]}}hge(0);var ARe=hRe(1),a_=hRe(2),Nge="output_substring";function Sb(a,u){KK(a,u,0,ii(u))}function gRe(a,u,p,d){return 0<=p&&0<=d&&(ii(u)-d|0)>=p?KK(a,u,p,d):UR(Nge)}function bRe(a){return Sb(a_,a),fRe(a_,10),t_(a_)}var eG=[0,function(a){for(var u=fge(0);;){if(!u)return 0;var p=u[2],d=u[1];try{t_(d)}catch(O){var q=n0(O);if(q[1]!==mRe)throw Pr(q,0)}var u=p}}],ERe=[0,function(a){}];function tG(a){return J(ERe[1],0),J(q9(eG),0)}VK(uS,tG);var ORe=Age(0)[1],$b=(4*qge(0)|0)-1|0;function cQ(a,u){return u?[0,J(a,u[1])]:0}function vRe(a){return 25>>0?a:a-32|0}var wge="hd",Pge="tl",Bge="List.iter2";function r2(a){for(var u=0,p=a;;){if(!p)return u;var u=u+1|0,p=p[2]}}function Qb(a){return a?a[1]:Ln(wge)}function DRe(a){return a?a[2]:Ln(Pge)}function S9(a,u){for(var p=a,d=u;;){if(!p)return d;var q=[0,p[1],d],p=p[2],d=q}}function xn(a){return S9(a,0)}function Nb(a){if(!a)return 0;var u=a[1];return pi(u,Nb(a[2]))}function yd(a,u){if(!u)return 0;var p=u[2],d=u[1];if(!p)return[0,a(d),0];for(var q=p[2],g=p[1],O=a(d),B=[0,a(g),j7],W=B,Y=1,V=q;;){if(V){var Z=V[2],se=V[1];if(Z){var ae=Z[2],ue=Z[1],pe=a(se),xe=[0,a(ue),j7];W[1+Y]=[0,pe,xe];var W=xe,Y=1,V=ae;continue}W[1+Y]=[0,a(se),0]}else W[1+Y]=0;return[0,O,B]}}function TQ(a,u){for(var p=0,d=u;;){if(!d)return p;var q=d[2],p=[0,a(d[1]),p],d=q}}function yR(a,u){for(var p=u;;){if(!p)return 0;var d=p[2];J(a,p[1]);var p=d}}function tR(a,u,p){for(var d=u,q=p;;){if(!q)return d;var g=q[2],d=K(a,d,q[1]),q=g}}function rG(a,u,p){if(!u)return p;var d=u[1];return a(d,rG(a,u[2],p))}function SRe(a,u,p){for(var d=u,q=p;;){if(d){if(q){var g=q[2],O=d[2];a(d[1],q[1]);var d=O,q=g;continue}}else if(!q)return;return UR(Bge)}}function $9(a,u){for(var p=u;;){if(!p)return 0;var d=p[2],q=J(a,p[1]);if(q)return q;var p=d}}function nG(a,u){for(var p=u;;){if(!p)return 0;var d=p[2],q=tRe(p[1],a)===0?1:0;if(q)return q;var p=d}}function wb(a,u){for(var p=u;;){if(!p)return 0;var d=p[2],q=p[1];if(a(q))for(var g=[0,q,j7],O=g,B=1,W=d;;){if(!W)return O[1+B]=0,g;var Y=W[2],V=W[1];if(a(V)){var Z=[0,V,j7];O[1+B]=Z;var O=Z,B=1,W=Y}else var W=Y}else var p=d}}var Ige="String.sub / Bytes.sub",Mge="Bytes.blit",Wge="String.blit / Bytes.blit_string";function B8(a,u){var p=Do(a);return M3e(p,0,a,u),p}function $Re(a,u,p){if(0<=u&&0<=p&&(A1(a)-p|0)>=u){var d=Do(p);return Vx(a,u,d,0,p),d}return UR(Ige)}function Q9(a,u,p){return kR($Re(a,u,p))}function QRe(a,u,p,d,q){if(0<=q&&0<=u&&(A1(a)-q|0)>=u&&0<=d&&(A1(p)-q|0)>=d){Vx(a,u,p,d,q);return}return UR(Mge)}function s_(a,u,p,d,q){if(0<=q&&0<=u&&(ii(a)-q|0)>=u&&0<=d&&(A1(p)-q|0)>=d){dd(a,u,p,d,q);return}return UR(Wge)}var Uge="String.concat",Fge=oa;function pQ(a,u){return kR(B8(a,u))}function qR(a,u,p){return kR($Re(q1(a),u,p))}function NRe(a,u){if(!u)return Fge;var p=ii(a);e:{t:{for(var d=0,q=u,g=0;q;){var O=q[1];if(!q[2])break t;var B=(ii(O)+p|0)+d|0,W=q[2],Y=d<=B?B:UR(Uge),d=Y,q=W}var V=d;break e}var V=ii(O)+d|0}for(var Z=Do(V),se=g,ae=u;;){if(ae){var ue=ae[1];if(ae[2]){var pe=ae[2];dd(ue,0,Z,se,ii(ue)),dd(a,0,Z,se+ii(ue)|0,p);var se=(se+ii(ue)|0)+p|0,ae=pe;continue}dd(ue,0,Z,se,ii(ue))}return kR(Z)}}function wRe(a){var u=q1(a);if(A1(u)===0)var p=u;else{var d=A1(u),q=Do(d);Vx(u,0,q,0,d),As(q,0,vRe(Lu(u,0)));var p=q}return kR(p)}function PRe(a,u){var p=ii(a),d=p<=ii(u)?1:0;if(!d)return d;for(var q=0;;){if(q===p)return 1;if($r(u,q)!==$r(a,q))return 0;var q=q+1|0}}function BRe(a,u){var p=[0,0],d=[0,ii(u)],q=ii(u)-1|0;if(q>=0)for(var g=q;;){if($r(u,g)===a){var O=p[1];p[1]=[0,qR(u,g+1|0,(d[1]-g|0)-1|0),O],d[1]=g}var B=g-1|0;if(g===0)break;var g=B}var W=p[1];return[0,qR(u,0,d[1]),W]}function _Q(a,u){return q3e(q1(a),u)}var Lge="Array.blit";function IRe(a,u,p,d,q){if(0<=q&&0<=u&&(a.length-1-q|0)>=u&&0<=d&&(p.length-1-q|0)>=d){p3e(a,u,p,d,q);return}return UR(Lge)}function MRe(a,u){var p=u.length-1-1|0,d=0;if(p>=0)for(var q=d;;){a(u[1+q]);var g=q+1|0;if(p===q)break;var q=g}}function hQ(a,u){var p=u.length-1;if(p===0)return[0];var d=fm(p,a(u[1])),q=p-1|0,g=1;if(q>=1)for(var O=g;;){d[1+O]=a(u[1+O]);var B=O+1|0;if(q===O)break;var O=B}return d}function Pb(a){if(!a)return[0];for(var d=0,q=a,u=a[2],p=a[1];q;)var d=d+1|0,q=q[2];for(var g=fm(d,p),O=1,B=u;;){if(!B)return g;var W=B[2];g[1+O]=B[1];var O=O+1|0,B=W}}function WRe(a){try{var u=[0,Q8(a)];return u}catch(d){var p=n0(d);if(p[1]===n_)return 0;throw Pr(p,0)}}var zge=ES,Hge=ES,Yge=ES,Kge=ES;function iG(a){function u(O){return O?O[5]:0}function p(O,B,W,Y){var V=u(O),Z=u(Y),se=Z<=V?V+1|0:Z+1|0;return[0,O,B,W,Y,se]}function d(O,B,W,Y){var V=O?O[5]:0,Z=Y?Y[5]:0;if((Z+2|0)=Z){var ze=Z<=V?V+1|0:Z+1|0;return[0,O,B,W,Y,ze]}if(!Y)return UR(Kge);var ut=Y[4],it=Y[3],Tt=Y[2],Rt=Y[1],kt=u(Rt);if(kt<=u(ut))return p(p(O,B,W,Rt),Tt,it,ut);if(!Rt)return UR(Yge);var ft=Rt[3],It=Rt[2],dt=Rt[1],Ot=p(Rt[4],Tt,it,ut);return p(p(O,B,W,dt),It,ft,Ot)}function q(O,B,W){if(!W)return[0,0,O,B,0,1];var Y=W[4],V=W[3],Z=W[2],se=W[1],ae=W[5],ue=K(a[1],O,Z);if(ue===0)return V===B?W:[0,se,O,B,Y,ae];if(0<=ue){var pe=q(O,B,Y);return Y===pe?W:d(se,Z,V,pe)}var xe=q(O,B,se);return se===xe?W:d(xe,Z,V,Y)}function g(O,B,W){for(var Y=B,V=W;;){if(!Y)return V;var Z=Y[4],se=Y[3],ae=Y[2],ue=O(ae,se,g(O,Y[1],V)),Y=Z,V=ue}}return[0,0,q,,,,,,,,,,,,,,,function(O,B){for(var W=B;;){if(!W)throw Pr(kd,1);var Y=W[4],V=W[3],Z=W[1],se=K(a[1],O,W[2]);if(se===0)return V;var ae=0<=se?Y:Z,W=ae}},,,,,,,g]}function Bb(a){return[0,0,0]}function Ib(a){a[1]=0,a[2]=0}function I8(a,u){u[1]=[0,a,u[1]],u[2]=u[2]+1|0}function N9(a){var u=a[1];if(!u)return 0;var p=u[1];return a[1]=u[2],a[2]=a[2]-1|0,[0,p]}function w9(a){var u=a[1];return u?[0,u[1]]:0}function URe(a){return[0,0,0,0]}function aG(a){a[1]=0,a[2]=0,a[3]=0}function sG(a,u){var p=[0,a,0],d=u[3];return d?(u[1]=u[1]+1|0,d[2]=p,u[3]=p,0):(u[1]=1,u[2]=p,u[3]=p,0)}var Gge="Buffer.add: cannot grow buffer",Vge="Buffer.add_substring/add_subbytes";function vs(a){var u=1<=a?a:1,p=$b=(p+u|0));)d[1]=2*d[1]|0;$b=0)for(var O=g;;){As(d,O,a(Lu(u,O)));var B=O+1|0;if(q===O)break;var O=B}return d}var Kbe=m9,Gbe="%+d",Vbe="% d",jbe=E5,Jbe="%+i",Xbe="% i",Zbe="%x",eEe="%#x",tEe="%X",rEe="%#X",nEe="%o",iEe="%#o",aEe=Ooe,sEe="%Ld",oEe="%+Ld",REe="% Ld",uEe=EZ,lEe="%+Li",cEe="% Li",TEe="%Lx",pEe="%#Lx",_Ee="%LX",hEe="%#LX",fEe="%Lo",dEe="%#Lo",xEe="%Lu",mEe="%ld",kEe="%+ld",yEe="% ld",qEe=h0e,CEe="%+li",AEe="% li",gEe="%lx",bEe="%#lx",EEe="%lX",OEe="%#lX",vEe="%lo",DEe="%#lo",SEe="%lu",$Ee="%nd",QEe="%+nd",NEe="% nd",wEe=M,PEe="%+ni",BEe="% ni",IEe="%nx",MEe="%#nx",WEe="%nX",UEe="%#nX",FEe="%no",LEe="%#no",zEe="%nu",HEe=[0,Kl],YEe=e_,KEe="neg_infinity",GEe=Uoe,VEe=pY,jEe=[0,Rp,1558,4],JEe="Printf: bad conversion %[",XEe=[0,Rp,1626,39],ZEe=[0,Rp,1649,31],eOe=[0,Rp,1650,31],tOe="Printf: bad conversion %_",rOe=Voe,nOe=qoe,iOe=Voe,aOe=qoe;function fQ(a,u){if(typeof a=="number")return[0,0,u];if(a[0]===0)return[0,[0,a[1],a[2]],u];if(typeof u!="number"&&u[0]===2)return[0,[1,a[1]],u[1]];throw Pr(CR,1)}function Wb(a,u,p){var d=fQ(a,p);if(typeof u!="number")return[0,d[1],[0,u[1]],d[2]];if(!u)return[0,d[1],0,d[2]];var q=d[2];if(typeof q!="number"&&q[0]===2)return[0,d[1],1,q[1]];throw Pr(CR,1)}function fo(a,u){if(typeof a=="number")return[0,0,u];switch(a[0]){case 0:if(typeof u!="number"&&u[0]===0){var p=fo(a[1],u[1]);return[0,[0,p[1]],p[2]]}break;case 1:if(typeof u!="number"&&u[0]===0){var d=fo(a[1],u[1]);return[0,[1,d[1]],d[2]]}break;case 2:var q=a[2],g=fQ(a[1],u),O=g[2],B=g[1];if(typeof O!="number"&&O[0]===1){var W=fo(q,O[1]);return[0,[2,B,W[1]],W[2]]}throw Pr(CR,1);case 3:var Y=a[2],V=fQ(a[1],u),Z=V[2],se=V[1];if(typeof Z!="number"&&Z[0]===1){var ae=fo(Y,Z[1]);return[0,[3,se,ae[1]],ae[2]]}throw Pr(CR,1);case 4:var ue=a[4],pe=a[1],xe=Wb(a[2],a[3],u),ye=xe[3],ge=xe[1];if(typeof ye!="number"&&ye[0]===2){var Ne=xe[2],Fe=fo(ue,ye[1]);return[0,[4,pe,ge,Ne,Fe[1]],Fe[2]]}throw Pr(CR,1);case 5:var ze=a[4],ut=a[1],it=Wb(a[2],a[3],u),Tt=it[3],Rt=it[1];if(typeof Tt!="number"&&Tt[0]===3){var kt=it[2],ft=fo(ze,Tt[1]);return[0,[5,ut,Rt,kt,ft[1]],ft[2]]}throw Pr(CR,1);case 6:var It=a[4],dt=a[1],Ot=Wb(a[2],a[3],u),At=Ot[3],wt=Ot[1];if(typeof At!="number"&&At[0]===4){var or=Ot[2],rr=fo(It,At[1]);return[0,[6,dt,wt,or,rr[1]],rr[2]]}throw Pr(CR,1);case 7:var Jt=a[4],tr=a[1],mr=Wb(a[2],a[3],u),Xt=mr[3],hr=mr[1];if(typeof Xt!="number"&&Xt[0]===5){var Ge=mr[2],Cr=fo(Jt,Xt[1]);return[0,[7,tr,hr,Ge,Cr[1]],Cr[2]]}throw Pr(CR,1);case 8:var rt=a[4],yr=a[1],sr=Wb(a[2],a[3],u),Ir=sr[3],Dr=sr[1];if(typeof Ir!="number"&&Ir[0]===6){var on=sr[2],cn=fo(rt,Ir[1]);return[0,[8,yr,Dr,on,cn[1]],cn[2]]}throw Pr(CR,1);case 9:var Lr=a[2],fn=fQ(a[1],u),rn=fn[2],vt=fn[1];if(typeof rn!="number"&&rn[0]===7){var qr=fo(Lr,rn[1]);return[0,[9,vt,qr[1]],qr[2]]}throw Pr(CR,1);case 10:var Pe=fo(a[1],u);return[0,[10,Pe[1]],Pe[2]];case 11:var Lt=a[1],Xe=fo(a[2],u);return[0,[11,Lt,Xe[1]],Xe[2]];case 12:var Mt=a[1],Gt=fo(a[2],u);return[0,[12,Mt,Gt[1]],Gt[2]];case 13:if(typeof u!="number"&&u[0]===8){var Ze=u[1],Xr=u[2],qt=a[3],kn=a[1];if(w8([0,a[2]],[0,Ze]))throw Pr(CR,1);var Ki=fo(qt,Xr);return[0,[13,kn,Ze,Ki[1]],Ki[2]]}break;case 14:if(typeof u!="number"&&u[0]===9){var Qe=u[1],Vt=u[3],We=a[3],Qt=a[2],gn=a[1],qn=[0,i0(Qe)];if(w8([0,i0(Qt)],qn))throw Pr(CR,1);var gr=fo(We,i0(Vt));return[0,[14,gn,Qe,gr[1]],gr[2]]}break;case 15:if(typeof u!="number"&&u[0]===10){var wn=fo(a[1],u[1]);return[0,[15,wn[1]],wn[2]]}break;case 16:if(typeof u!="number"&&u[0]===11){var br=fo(a[1],u[1]);return[0,[16,br[1]],br[2]]}break;case 17:var jn=a[1],Rn=fo(a[2],u);return[0,[17,jn,Rn[1]],Rn[2]];case 18:var ai=a[2],mn=a[1];if(mn[0]===0){var Jn=mn[1],Oi=Jn[2],Cn=fo(Jn[1],u),Fi=Cn[1],Ri=fo(ai,Cn[2]);return[0,[18,[0,[0,Fi,Oi]],Ri[1]],Ri[2]]}var Da=mn[1],Ha=Da[2],Fs=fo(Da[1],u),Ks=Fs[1],Yo=fo(ai,Fs[2]);return[0,[18,[1,[0,Ks,Ha]],Yo[1]],Yo[2]];case 19:if(typeof u!="number"&&u[0]===13){var ra=fo(a[1],u[1]);return[0,[19,ra[1]],ra[2]]}break;case 20:if(typeof u!="number"&&u[0]===1){var we=a[2],Ft=a[1],Oe=fo(a[3],u[1]);return[0,[20,Ft,we,Oe[1]],Oe[2]]}break;case 21:if(typeof u!="number"&&u[0]===2){var yt=a[1],yn=fo(a[2],u[1]);return[0,[21,yt,yn[1]],yn[2]]}break;case 23:var tn=a[2],di=a[1];if(typeof di!="number")switch(di[0]){case 0:return dc(di,tn,u);case 1:return dc(di,tn,u);case 2:return dc(di,tn,u);case 3:return dc(di,tn,u);case 4:return dc(di,tn,u);case 5:return dc(di,tn,u);case 6:return dc(di,tn,u);case 7:return dc(di,tn,u);case 8:return dc([8,di[1],di[2]],tn,u);case 9:var ui=di[1],_s=bl(di[2],tn,u),la=_s[2];return[0,[23,[9,ui,_s[1]],la[1]],la[2]];case 10:return dc(di,tn,u);default:return dc(di,tn,u)}switch(di){case 0:return dc(di,tn,u);case 1:return dc(di,tn,u);case 2:if(typeof u!="number"&&u[0]===14){var hs=fo(tn,u[1]);return[0,[23,2,hs[1]],hs[2]]}throw Pr(CR,1);default:return dc(di,tn,u)}}throw Pr(CR,1)}function dc(a,u,p){var d=fo(u,p);return[0,[23,a,d[1]],d[2]]}function bl(a,u,p){if(typeof a=="number")return[0,0,fo(u,p)];switch(a[0]){case 0:if(typeof p!="number"&&p[0]===0){var d=bl(a[1],u,p[1]);return[0,[0,d[1]],d[2]]}break;case 1:if(typeof p!="number"&&p[0]===1){var q=bl(a[1],u,p[1]);return[0,[1,q[1]],q[2]]}break;case 2:if(typeof p!="number"&&p[0]===2){var g=bl(a[1],u,p[1]);return[0,[2,g[1]],g[2]]}break;case 3:if(typeof p!="number"&&p[0]===3){var O=bl(a[1],u,p[1]);return[0,[3,O[1]],O[2]]}break;case 4:if(typeof p!="number"&&p[0]===4){var B=bl(a[1],u,p[1]);return[0,[4,B[1]],B[2]]}break;case 5:if(typeof p!="number"&&p[0]===5){var W=bl(a[1],u,p[1]);return[0,[5,W[1]],W[2]]}break;case 6:if(typeof p!="number"&&p[0]===6){var Y=bl(a[1],u,p[1]);return[0,[6,Y[1]],Y[2]]}break;case 7:if(typeof p!="number"&&p[0]===7){var V=bl(a[1],u,p[1]);return[0,[7,V[1]],V[2]]}break;case 8:if(typeof p!="number"&&p[0]===8){var Z=p[1],se=p[2],ae=a[2];if(w8([0,a[1]],[0,Z]))throw Pr(CR,1);var ue=bl(ae,u,se);return[0,[8,Z,ue[1]],ue[2]]}break;case 9:if(typeof p!="number"&&p[0]===9){var pe=p[2],xe=p[1],ye=p[3],ge=a[3],Ne=a[2],Fe=a[1],ze=[0,i0(xe)];if(w8([0,i0(Fe)],ze))throw Pr(CR,1);var ut=[0,i0(pe)];if(w8([0,i0(Ne)],ut))throw Pr(CR,1);var it=LR(rR(L0(xe),pe)),Tt=it[4];it[2].call(null,he),Tt(he);var Rt=bl(i0(ge),u,ye),kt=Rt[2];return[0,[9,xe,pe,L0(Rt[1])],kt]}break;case 10:if(typeof p!="number"&&p[0]===10){var ft=bl(a[1],u,p[1]);return[0,[10,ft[1]],ft[2]]}break;case 11:if(typeof p!="number"&&p[0]===11){var It=bl(a[1],u,p[1]);return[0,[11,It[1]],It[2]]}break;case 13:if(typeof p!="number"&&p[0]===13){var dt=bl(a[1],u,p[1]);return[0,[13,dt[1]],dt[2]]}break;case 14:if(typeof p!="number"&&p[0]===14){var Ot=bl(a[1],u,p[1]);return[0,[14,Ot[1]],Ot[2]]}break}throw Pr(CR,1)}function xc(a,u,p){var d=ii(p),q=0<=u?a:0,g=lQ(u);if(g<=d)return p;var O=q===2?48:32,B=B8(g,O);switch(q){case 0:s_(p,0,B,0,d);break;case 1:s_(p,0,B,g-d|0,d);break;default:e:if(0q){if(q!==32){if(43>q)break e;switch(q+C6|0){case 5:r:if(d<(p+2|0)&&1=(p+1|0))break e;var O=B8(p+1|0,48);return Jx(O,0,q),s_(u,1,O,(p-d|0)+2|0,d-1|0),kR(O)}if(71<=q){if(5>>0)break e}else if(65>q)break e}if(d=0)for(var g=q;;){var O=Lu(u,g);e:{t:{r:{if(32<=O){var B=O-34|0;if(58>>0){if(93<=B)break r}else if(56>>0)break t;var W=1;break e}if(11<=O){if(O===13)break t}else if(8<=O)break t}var W=4;break e}var W=2}p[1]=p[1]+W|0;var Y=g+1|0;if(d===g)break;var g=Y}if(p[1]===A1(u))var V=u;else{var Z=Do(p[1]);p[1]=0;var se=A1(u)-1|0,ae=0;if(se>=0)for(var ue=ae;;){var pe=Lu(u,ue);e:{t:{r:{if(35<=pe){if(pe!==92){if(xR<=pe)break r;break t}}else{if(32>pe){if(14<=pe)break r;switch(pe){case 8:As(Z,p[1],92),p[1]++,As(Z,p[1],98);break e;case 9:As(Z,p[1],92),p[1]++,As(Z,p[1],pm);break e;case 10:As(Z,p[1],92),p[1]++,As(Z,p[1],SR);break e;case 13:As(Z,p[1],92),p[1]++,As(Z,p[1],vo);break e;default:break r}}if(34>pe)break t}As(Z,p[1],92),p[1]++,As(Z,p[1],pe);break e}As(Z,p[1],92),p[1]++,As(Z,p[1],48+(pe/q0|0)|0),p[1]++,As(Z,p[1],48+((pe/10|0)%10|0)|0),p[1]++,As(Z,p[1],48+(pe%10|0)|0);break e}As(Z,p[1],pe)}p[1]++;var xe=ue+1|0;if(se===ue)break;var ue=xe}var V=Z}var ye=kR(V),ge=ii(ye),Ne=B8(ge+2|0,34);return dd(ye,0,Ne,1,ge),kR(Ne)}function jRe(a,u){var p=lQ(u),d=HEe[1];switch(a[2]){case 0:var q=gl;break;case 1:var q=Qn;break;case 2:var q=69;break;case 3:var q=Kl;break;case 4:var q=71;break;case 5:var q=d;break;case 6:var q=lc;break;case 7:var q=72;break;default:var q=70}var g=YRe(16);switch(P9(g,37),a[1]){case 0:break;case 1:P9(g,43);break;default:P9(g,32)}return 8<=a[2]&&P9(g,35),P9(g,46),FR(g,oa+p),P9(g,q),GRe(g)}function dQ(a,u){if(13>a)return u;var p=[0,0],d=ii(u)-1|0,q=0;if(d>=0)for(var g=q;;){9>=$r(u,g)+Wu>>>0&&p[1]++;var O=g+1|0;if(d===g)break;var g=O}var B=p[1],W=Do(ii(u)+((B-1|0)/3|0)|0),Y=[0,0];function V(ye){Jx(W,Y[1],ye),Y[1]++}var Z=[0,((B-1|0)%3|0)+1|0],se=ii(u)-1|0,ae=0;if(se>=0)for(var ue=ae;;){var pe=$r(u,ue);9>>0||(Z[1]===0&&(V(95),Z[1]=3),Z[1]+=-1),V(pe);var xe=ue+1|0;if(se===ue)break;var ue=xe}return kR(W)}function oOe(a,u){switch(a){case 1:var p=Gbe;break;case 2:var p=Vbe;break;case 4:var p=Jbe;break;case 5:var p=Xbe;break;case 6:var p=Zbe;break;case 7:var p=eEe;break;case 8:var p=tEe;break;case 9:var p=rEe;break;case 10:var p=nEe;break;case 11:var p=iEe;break;case 0:case 13:var p=Kbe;break;case 3:case 14:var p=jbe;break;default:var p=aEe}return dQ(a,X$(p,u))}function ROe(a,u){switch(a){case 1:var p=kEe;break;case 2:var p=yEe;break;case 4:var p=CEe;break;case 5:var p=AEe;break;case 6:var p=gEe;break;case 7:var p=bEe;break;case 8:var p=EEe;break;case 9:var p=OEe;break;case 10:var p=vEe;break;case 11:var p=DEe;break;case 0:case 13:var p=mEe;break;case 3:case 14:var p=qEe;break;default:var p=SEe}return dQ(a,X$(p,u))}function uOe(a,u){switch(a){case 1:var p=QEe;break;case 2:var p=NEe;break;case 4:var p=PEe;break;case 5:var p=BEe;break;case 6:var p=IEe;break;case 7:var p=MEe;break;case 8:var p=WEe;break;case 9:var p=UEe;break;case 10:var p=FEe;break;case 11:var p=LEe;break;case 0:case 13:var p=$Ee;break;case 3:case 14:var p=wEe;break;default:var p=zEe}return dQ(a,X$(p,u))}function lOe(a,u){switch(a){case 1:var p=oEe;break;case 2:var p=REe;break;case 4:var p=lEe;break;case 5:var p=cEe;break;case 6:var p=TEe;break;case 7:var p=pEe;break;case 8:var p=_Ee;break;case 9:var p=hEe;break;case 10:var p=fEe;break;case 11:var p=dEe;break;case 0:case 13:var p=sEe;break;case 3:case 14:var p=uEe;break;default:var p=xEe}return dQ(a,aRe(p,u))}function n2(a,u,p){function d(Z){switch(a[1]){case 0:var se=45;break;case 1:var se=43;break;default:var se=32}return U3e(p,u,se)}function q(Z){var se=A3e(p);return se===3?p<0?KEe:GEe:4<=se?VEe:Z}switch(a[2]){case 5:for(var g=WK(jRe(a,u),p),O=0,B=ii(g);;){if(O===B)var W=0;else{var Y=r0(g,O)+u3|0;e:{if(23>>0){if(Y===55)break e}else if(21>>0)break e;var O=O+1|0;continue}var W=1}var V=W?g:hi(g,YEe);return q(V)}case 6:return d(he);case 7:return kR(Ybe(vRe,q1(d(he))));case 8:return q(d(he));default:return WK(jRe(a,u),p)}}function Ub(a,u,p,d){for(var q=u,g=p,O=d;;){if(typeof O=="number")return q(g);switch(O[0]){case 0:var B=O[1];return function(Ge){return Ts(q,[5,g,Ge],B)};case 1:var W=O[1];return function(Ge){e:{t:{if(40<=Ge){if(Ge===92){var yr=Wbe;break e}if(xR>Ge)break t}else{if(32<=Ge){if(39>Ge)break t;var yr=Ube;break e}if(14>Ge)switch(Ge){case 8:var yr=Fbe;break e;case 9:var yr=Lbe;break e;case 10:var yr=zbe;break e;case 13:var yr=Hbe;break e}}var Cr=Do(4);As(Cr,0,92),As(Cr,1,48+(Ge/q0|0)|0),As(Cr,2,48+((Ge/10|0)%10|0)|0),As(Cr,3,48+(Ge%10|0)|0);var yr=kR(Cr);break e}var rt=Do(1);As(rt,0,Ge);var yr=kR(rt)}var sr=ii(yr),Ir=B8(sr+2|0,39);return dd(yr,0,Ir,1,sr),Ts(q,[4,g,kR(Ir)],W)};case 2:return hG(q,g,O[2],O[1],function(Ge){return Ge});case 3:return hG(q,g,O[2],O[1],sOe);case 4:return xQ(q,g,O[4],O[2],O[3],oOe,O[1]);case 5:return xQ(q,g,O[4],O[2],O[3],ROe,O[1]);case 6:return xQ(q,g,O[4],O[2],O[3],uOe,O[1]);case 7:return xQ(q,g,O[4],O[2],O[3],lOe,O[1]);case 8:var Y=O[4],V=O[3],Z=O[2],se=O[1];if(typeof Z=="number"){if(typeof V=="number")return V?function(Ge,Cr){return Ts(q,[4,g,n2(se,Ge,Cr)],Y)}:function(Ge){return Ts(q,[4,g,n2(se,TG(se),Ge)],Y)};var ae=V[1];return function(Ge){return Ts(q,[4,g,n2(se,ae,Ge)],Y)}}if(Z[0]===0){var ue=Z[2],pe=Z[1];if(typeof V=="number")return V?function(Ge,Cr){return Ts(q,[4,g,xc(pe,ue,n2(se,Ge,Cr))],Y)}:function(Ge){return Ts(q,[4,g,xc(pe,ue,n2(se,TG(se),Ge))],Y)};var xe=V[1];return function(Ge){return Ts(q,[4,g,xc(pe,ue,n2(se,xe,Ge))],Y)}}var ye=Z[1];if(typeof V=="number")return V?function(Ge,Cr,rt){return Ts(q,[4,g,xc(ye,Ge,n2(se,Cr,rt))],Y)}:function(Ge,Cr){return Ts(q,[4,g,xc(ye,Ge,n2(se,TG(se),Cr))],Y)};var ge=V[1];return function(Ge,Cr){return Ts(q,[4,g,xc(ye,Ge,n2(se,ge,Cr))],Y)};case 9:return hG(q,g,O[2],O[1],Mbe);case 10:var g=[7,g],O=O[1];break;case 11:var g=[2,g,O[1]],O=O[2];break;case 12:var g=[3,g,O[1]],O=O[2];break;case 13:var Ne=O[3],Fe=O[2],ze=YRe(16);pG(ze,Fe);var ut=GRe(ze);return function(Ge){return Ts(q,[4,g,ut],Ne)};case 14:var it=O[3],Tt=O[2];return function(Ge){var Cr=Ge[1],rt=fo(Cr,i0(L0(Tt)));if(typeof rt[2]=="number")return Ts(q,g,Uo(rt[1],it));throw Pr(CR,1)};case 15:var Rt=O[1];return function(Ge,Cr){return Ts(q,[6,g,function(rt){return K(Ge,rt,Cr)}],Rt)};case 16:var kt=O[1];return function(Ge){return Ts(q,[6,g,Ge],kt)};case 17:var g=[0,g,O[1]],O=O[2];break;case 18:var ft=O[1];if(ft[0]===0){let Ge=g,Cr=q,rt=O[2];var q=function(Dr){return Ts(Cr,[1,Ge,[0,Dr]],rt)},g=0,O=ft[1][1]}else{let Ge=g,Cr=q,rt=O[2];var q=function(Dr){return Ts(Cr,[1,Ge,[1,Dr]],rt)},g=0,O=ft[1][1]}break;case 19:throw Pr([0,Wa,jEe],1);case 20:var It=O[3],dt=[8,g,JEe];return function(Ge){return Ts(q,dt,It)};case 21:var Ot=O[2];return function(Ge){return Ts(q,[4,g,X$(Ooe,Ge)],Ot)};case 22:var At=O[1];return function(Ge){return Ts(q,[5,g,Ge],At)};case 23:var wt=O[2],or=O[1];if(typeof or=="number")switch(or){case 0:return a<50?Ro(a+1|0,q,g,wt):x0(Ro,[0,q,g,wt]);case 1:return a<50?Ro(a+1|0,q,g,wt):x0(Ro,[0,q,g,wt]);case 2:throw Pr([0,Wa,XEe],1);default:return a<50?Ro(a+1|0,q,g,wt):x0(Ro,[0,q,g,wt])}switch(or[0]){case 0:return a<50?Ro(a+1|0,q,g,wt):x0(Ro,[0,q,g,wt]);case 1:return a<50?Ro(a+1|0,q,g,wt):x0(Ro,[0,q,g,wt]);case 2:return a<50?Ro(a+1|0,q,g,wt):x0(Ro,[0,q,g,wt]);case 3:return a<50?Ro(a+1|0,q,g,wt):x0(Ro,[0,q,g,wt]);case 4:return a<50?Ro(a+1|0,q,g,wt):x0(Ro,[0,q,g,wt]);case 5:return a<50?Ro(a+1|0,q,g,wt):x0(Ro,[0,q,g,wt]);case 6:return a<50?Ro(a+1|0,q,g,wt):x0(Ro,[0,q,g,wt]);case 7:return a<50?Ro(a+1|0,q,g,wt):x0(Ro,[0,q,g,wt]);case 8:return a<50?Ro(a+1|0,q,g,wt):x0(Ro,[0,q,g,wt]);case 9:var rr=or[2];return a<50?_G(a+1|0,q,g,rr,wt):x0(_G,[0,q,g,rr,wt]);case 10:return a<50?Ro(a+1|0,q,g,wt):x0(Ro,[0,q,g,wt]);default:return a<50?Ro(a+1|0,q,g,wt):x0(Ro,[0,q,g,wt])}default:var Jt=O[3],tr=O[1],mr=J(O[2],0);return a<50?fG(a+1|0,q,g,Jt,tr,mr):x0(fG,[0,q,g,Jt,tr,mr])}}}function Ts(a,u,p){return RQ(Ub(0,a,u,p))}function _G(a,u,p,d,q){if(typeof d=="number")return a<50?Ro(a+1|0,u,p,q):x0(Ro,[0,u,p,q]);switch(d[0]){case 0:var g=d[1];return function(Fe){return yT(u,p,g,q)};case 1:var O=d[1];return function(Fe){return yT(u,p,O,q)};case 2:var B=d[1];return function(Fe){return yT(u,p,B,q)};case 3:var W=d[1];return function(Fe){return yT(u,p,W,q)};case 4:var Y=d[1];return function(Fe){return yT(u,p,Y,q)};case 5:var V=d[1];return function(Fe){return yT(u,p,V,q)};case 6:var Z=d[1];return function(Fe){return yT(u,p,Z,q)};case 7:var se=d[1];return function(Fe){return yT(u,p,se,q)};case 8:var ae=d[2];return function(Fe){return yT(u,p,ae,q)};case 9:var ue=d[3],pe=d[2],xe=rR(L0(d[1]),pe);return function(Fe){return yT(u,p,Hu(xe,ue),q)};case 10:var ye=d[1];return function(Fe,ze){return yT(u,p,ye,q)};case 11:var ge=d[1];return function(Fe){return yT(u,p,ge,q)};case 12:var Ne=d[1];return function(Fe){return yT(u,p,Ne,q)};case 13:throw Pr([0,Wa,ZEe],1);default:throw Pr([0,Wa,eOe],1)}}function yT(a,u,p,d){return RQ(_G(0,a,u,p,d))}function Ro(a,u,p,d){var q=[8,p,tOe];return a<50?Ub(a+1|0,u,q,d):x0(Ub,[0,u,q,d])}function hG(a,u,p,d,q){if(typeof d=="number")return function(W){return Ts(a,[4,u,q(W)],p)};if(d[0]===0){var g=d[2],O=d[1];return function(W){return Ts(a,[4,u,xc(O,g,q(W))],p)}}var B=d[1];return function(W,Y){return Ts(a,[4,u,xc(B,W,q(Y))],p)}}function xQ(a,u,p,d,q,g,O){if(typeof d=="number"){if(typeof q=="number")return q?function(ae,ue){return Ts(a,[4,u,B9(ae,g(O,ue))],p)}:function(ae){return Ts(a,[4,u,g(O,ae)],p)};var B=q[1];return function(ae){return Ts(a,[4,u,B9(B,g(O,ae))],p)}}if(d[0]===0){var W=d[2],Y=d[1];if(typeof q=="number")return q?function(ae,ue){return Ts(a,[4,u,xc(Y,W,B9(ae,g(O,ue)))],p)}:function(ae){return Ts(a,[4,u,xc(Y,W,g(O,ae))],p)};var V=q[1];return function(ae){return Ts(a,[4,u,xc(Y,W,B9(V,g(O,ae)))],p)}}var Z=d[1];if(typeof q=="number")return q?function(ae,ue,pe){return Ts(a,[4,u,xc(Z,ae,B9(ue,g(O,pe)))],p)}:function(ae,ue){return Ts(a,[4,u,xc(Z,ae,g(O,ue))],p)};var se=q[1];return function(ae,ue){return Ts(a,[4,u,xc(Z,ae,B9(se,g(O,ue)))],p)}}function fG(a,u,p,d,q,g){if(q){var O=q[1];return function(W){return cOe(u,p,d,O,J(g,W))}}var B=[4,p,g];return a<50?Ub(a+1|0,u,B,d):x0(Ub,[0,u,B,d])}function cOe(a,u,p,d,q){return RQ(fG(0,a,u,p,d,q))}function i2(a,u){for(var p=u;;){if(typeof p=="number")return;switch(p[0]){case 0:var d=p[1],q=VRe(p[2]);return i2(a,d),Sb(a,q);case 1:var g=p[2],O=p[1];if(g[0]===0){var B=g[1];i2(a,O),Sb(a,rOe);var p=B}else{var W=g[1];i2(a,O),Sb(a,nOe);var p=W}break;case 6:var Y=p[2];return i2(a,p[1]),J(Y,a);case 7:i2(a,p[1]),t_(a);return;case 8:var V=p[2];return i2(a,p[1]),UR(V);case 2:case 4:var Z=p[2];return i2(a,p[1]),Sb(a,Z);default:var se=p[2];i2(a,p[1]),fRe(a,se);return}}}function a2(a,u){for(var p=u;;){if(typeof p=="number")return;switch(p[0]){case 0:var d=p[1],q=VRe(p[2]);return a2(a,d),pa(a,q);case 1:var g=p[2],O=p[1];if(g[0]===0){var B=g[1];a2(a,O),pa(a,iOe);var p=B}else{var W=g[1];a2(a,O),pa(a,aOe);var p=W}break;case 6:var Y=p[2];return a2(a,p[1]),pa(a,J(Y,0));case 7:var p=p[1];break;case 8:var V=p[2];return a2(a,p[1]),UR(V);case 2:case 4:var Z=p[2];return a2(a,p[1]),pa(a,Z);default:var se=p[2];return a2(a,p[1]),kT(a,se)}}}function JRe(a,u){return Ts(function(p){return i2(a,p),0},0,u[1])}function dG(a){return JRe(a_,a)}function fa(a){return Ts(function(u){var p=vs(64);return a2(p,u),m0(p)},0,a[1])}var xG=[0,0],TOe=e_,pOe=[0,[3,0,0],Ok],_Oe=TT,hOe=[0,[4,0,0,0,0],m9],fOe=oa,dOe=[0,[11,wU,[2,0,[2,0,0]]],", %s%s"],xOe=[0,[12,40,[2,0,[2,0,[12,41,0]]]],"(%s%s)"],mOe=oa,kOe=oa,yOe=[0,[12,40,[2,0,[12,41,0]]],"(%s)"],qOe="Out of memory",COe="Stack overflow",AOe="Pattern matching failed",gOe="Assertion failed",bOe="Undefined recursive module",EOe="Raised at",OOe="Re-raised at",vOe="Raised by primitive operation at",DOe="Called from",SOe=[0,[12,32,[4,0,0,0,0]]," %d"],$Oe=" (inlined)",QOe=[0,[2,0,[12,32,[2,0,[11,' in file "',[2,0,[12,34,[2,0,[11,", line",[2,0,[11,Pt,Sge]]]]]]]]]],'%s %s in file "%s"%s, line%s, characters %d-%d'],NOe=oa,wOe=[0,[11,"s ",[4,0,0,0,[12,45,[4,0,0,0,0]]]],"s %d-%d"],POe=[0,[2,0,[11," unknown location",0]],"%s unknown location"],BOe=[0,[2,0,[12,10,0]],`%s +`];function mG(a,u){var p=a[1+u];if(!(1-(typeof p=="number"?1:0)))return J(fa(hOe),p);if(P8(p)===qS)return J(fa(pOe),p);if(P8(p)!==sL)return _Oe;for(var d=WK("%.12g",p),q=0,g=ii(d);;){if(g<=q)return hi(d,TOe);var O=r0(d,q);e:{if(48<=O){if(58>O)break e}else if(O===45)break e;return d}var q=q+1|0}}function XRe(a,u){if(a.length-1<=u)return fOe;var p=XRe(a,u+1|0),d=mG(a,u);return K(fa(dOe),d,p)}function Fb(a){e:{t:{for(var u=q9(xG);u;){r:{var p=u[2],d=u[1];try{var q=J(d,a)}catch{break r}if(q)break t}var u=p}var g=0;break e}var g=[0,q[1]]}if(g)return g[1];if(a===XK)return qOe;if(a===yRe)return COe;if(a[1]===kRe){var O=a[2],B=O[3],W=O[2],Y=O[1];return JK(fa(ZK),Y,W,B,B+5|0,AOe)}if(a[1]===Wa){var V=a[2],Z=V[3],se=V[2],ae=V[1];return JK(fa(ZK),ae,se,Z,Z+6|0,gOe)}if(a[1]===Db){var ue=a[2],pe=ue[3],xe=ue[2],ye=ue[1];return JK(fa(ZK),ye,xe,pe,pe+6|0,bOe)}if(P8(a)===0){var ge=a.length-1,Ne=a[1][1];if(2>>0)var Fe=XRe(a,2),ze=mG(a,1),ut=K(fa(xOe),ze,Fe);else switch(ge){case 0:var ut=mOe;break;case 1:var ut=kOe;break;default:var it=mG(a,1),ut=J(fa(yOe),it)}var Tt=[0,Ne,[0,ut]]}else var Tt=[0,a[1],0];var Rt=Tt[2],kt=Tt[1];return Rt?hi(kt,Rt[1]):kt}function kG(a,u){var p=P3e(u),d=p.length-1-1|0,q=0;if(d>=0)for(var g=q;;){var O=Wo(p,g)[1+g];let ut=g;var B=function(Tt){return Tt?ut===0?EOe:OOe:ut===0?vOe:DOe};if(O[0]===0){if(O[3]===O[6])var W=O[3],Z=J(fa(SOe),W);else var Y=O[6],V=O[3],Z=K(fa(wOe),V,Y);var se=O[7],ae=O[4],ue=O[8]?$Oe:NOe,pe=O[2],xe=O[9],ye=B(O[1]),Ne=[0,Dge(fa(QOe),ye,xe,pe,ue,Z,ae,se)]}else if(O[1])var Ne=0;else var ge=B(0),Ne=[0,J(fa(POe),ge)];if(Ne){var Fe=Ne[1];J(JRe(a,BOe),Fe)}var ze=g+1|0;if(d===g)break;var g=ze}}function yG(a){for(;;){var u=q9(xG),p=1-H$(xG,u,[0,a,u]);if(!p)return p}}var IOe=[0,oa,`(Cannot print locations: + bytecode executable program file not found)`,`(Cannot print locations: + bytecode executable program file appears to be corrupt)`,`(Cannot print locations: + bytecode executable program file has wrong magic number)`,`(Cannot print locations: + bytecode executable program file cannot be opened; + -- too many open files. Try running with OCAMLRUNPARAM=b=2)`].slice(),MOe=[0,[11,GO,[2,0,[12,10,0]]],IL],WOe=[0],UOe="Fatal error: out of memory in uncaught exception handler",FOe=[0,[11,GO,[2,0,[12,10,0]]],IL],LOe=[0,[11,"Fatal error in uncaught exception handler: exception ",[2,0,[12,10,0]]],`Fatal error in uncaught exception handler: exception %s +`];VK(Ox,function(a,u){try{try{var p=u?WOe:iRe(0);try{tG(he)}catch{}try{var d=Fb(a);J(dG(MOe),d),kG(a_,p);var q=uge(0);if(q<0){var g=lQ(q);bRe(Wo(IOe,g)[1+g])}var O=t_(a_),B=O}catch(ae){var W=n0(ae),Y=Fb(a);J(dG(FOe),Y),kG(a_,p);var V=Fb(W);J(dG(LOe),V),kG(a_,iRe(0));var B=t_(a_)}var Z=B}catch(ae){var se=n0(ae);if(se!==XK)throw Pr(se,0);var Z=bRe(UOe)}return Z}catch{return 0}});var zOe=[Ws,"Stdlib.Fun.Finally_raised",md(0)],HOe="Fun.Finally_raised: ";yG(function(a){return a[1]===zOe?[0,hi(HOe,Fb(a[2]))]:0});var YOe="Digest.BLAKE2: wrong hash size";function qG(a){var u=a[1]<1?1:0,p=u||(64At){var dt=wt;continue}var or=At}else var or=Ot;var rr=or;break}else var rr=it;var Jt=rr-it|0;return 0<=Jt?I9(a,[0,sve,Jt+Rt|0,ave]):eC(a,[0,Rve,rr+Tt|0,ove],a[6]);case 3:var tr=p[2],mr=p[1];if(a[8]<(a[6]-a[9]|0)){var Xt=w9(a[2]);if(Xt){var hr=Xt[1],Ge=hr[2],Cr=hr[1];a[9]=Cr-1>>>0&&sue(a,Ge)}else kQ(a)}var rt=a[9]-mr|0,yr=tr===1?1:a[9]=a[14]);)Tue(a,he);return a[13]=iue,oue(a),u&&kQ(a),a[12]=1,a[13]=1,aG(a[28]),gG(a[1]),Ib(a[2]),Ib(a[3]),Ib(a[4]),Ib(a[5]),a[10]=0,a[14]=0,a[9]=a[6],cue(a,0,3)}function EG(a,u,p){var d=a[14]=p)return sn(a[17],fue,0,p);sn(a[17],fue,0,80);var p=p-80|0}}function yve(a){return a[1]===CG?hi(_ve,hi(a[2],pve)):hve}function qve(a){return a[1]===CG?hi(dve,hi(a[2],fve)):xve}function Cve(a){return 0}function Ave(a){return 0}function vG(a,u,p,d,q){var g=URe(he),O=[0,nue,mve,0];sG(O,g);var B=Bb(he);gG(B),I8([0,1,O],B);var W=78,Y=Bb(he),V=Bb(he),Z=Bb(he);return[0,B,Bb(he),Z,V,Y,W,10,68,W,0,1,1,1,1,Tve,kve,a,u,p,d,q,0,0,yve,qve,Cve,Ave,g]}function due(a,u){var p=vG(a,u,function(d){return 0},function(d){return 0},function(d){return 0});return p[19]=function(d){return OG(p,he)},p[20]=function(d){return M9(p,d)},p[21]=function(d){return M9(p,d)},p}function xue(a){return due(function(u,p,d){return gRe(a,u,p,d)},function(u){return t_(a)})}function DG(a){return due(function(u,p,d){return RG(a,u,p,d)},function(u){return 0})}var SG=aY;function mue(a){return vs(SG)}var kue=mue(he),gve=xue(ARe),bve=xue(a_),Eve=DG(kue),yue=qd(0,mue);Mb(yue,kue),Mb(qd(0,function(a){return DG(M8(yue))}),Eve);function que(a,u,p,d){return RG(M8(a),u,p,d)}function Cue(a,u,p){var d=M8(u),q=d[2];return gRe(a,m0(d),0,q),t_(a),d[2]=0,0}var Aue=qd(0,function(a){return vs(SG)}),gue=qd(0,function(a){return vs(SG)}),bue=qd(0,function(a){var u=vG(function(p,d,q){return que(Aue,p,d,q)},function(p){return Cue(ARe,Aue,he)},function(p){return 0},function(p){return 0},function(p){return 0});return u[19]=function(p){return OG(u,he)},u[20]=function(p){return M9(u,p)},u[21]=function(p){return M9(u,p)},HRe(function(p){return W8(u,he)}),u});Mb(bue,gve);var Eue=qd(0,function(a){var u=vG(function(p,d,q){return que(gue,p,d,q)},function(p){return Cue(a_,gue,he)},function(p){return 0},function(p){return 0},function(p){return 0});return u[19]=function(p){return OG(u,he)},u[20]=function(p){return M9(u,p)},u[21]=function(p){return M9(u,p)},HRe(function(p){return W8(u,he)}),u});Mb(Eue,bve);var Ove="Buffer.sub",vve=[0,0,4],Dve=[0,[11,"invalid box description ",[3,0,0]],"invalid box description %S"],Sve=oa,$ve=oa,Qve=oa,Nve=oa;function Oue(a,u){var p=vs(16),d=DG(p);a(d,u),W8(d,he);var q=p[2];if(2>q)return m0(p);var g=q-2|0,O=1;return 0<=g&&(p[2]-g|0)>=1?Q9(p[1][1],O,g):UR(Ove)}function qT(a,u){if(typeof u!="number"){e:{t:{r:{switch(u[0]){case 0:var p=u[2];if(qT(a,u[1]),typeof p=="number")switch(p){case 0:return Tue(a,he);case 1:return pue(a,he);case 2:return W8(a,he);case 3:var d=a[14]>>0)break;var it=it+1|0}break n}var Tt=qR(ye,ut,it-ut|0),Rt=ze(it);n:i:{for(var kt=Rt;;){if(kt===Ne)break i;var ft=r0(ye,kt);if(48<=ft){if(58<=ft)break}else if(ft!==45)break;var kt=kt+1|0}break n}if(Rt===kt)var It=0;else try{var dt=mT(qR(ye,Rt,kt-Rt|0)),It=dt}catch(qr){var Ot=n0(qr);if(Ot[1]!==n_)throw Pr(Ot,0);var It=Fe(he)}ze(kt)!==Ne&&Fe(he);n:{if(Re(Tt,oa)&&Re(Tt,TY)){if(!Re(Tt,"h")){var At=0;break n}if(!Re(Tt,"hov")){var At=3;break n}if(!Re(Tt,"hv")){var At=2;break n}if(Re(Tt,J5)){var At=Fe(he);break n}var At=1;break n}var At=4}var ge=[0,It,At]}return cue(a,ge[1],ge[2]);case 2:var wt=u[1];if(typeof wt!="number"&&wt[0]===0){var or=wt[2];if(typeof or!="number"&&or[0]===1){var rr=u[2],Jt=or[2],tr=wt[1];break t}}var sr=u[2],Ir=wt;break e;case 3:var mr=u[1];if(typeof mr!="number"&&mr[0]===0){var Xt=mr[2];if(typeof Xt!="number"&&Xt[0]===1){var hr=u[2],Ge=Xt[2],Cr=mr[1];break}}var cn=u[2],Lr=mr;break r;case 4:var rt=u[1];if(typeof rt!="number"&&rt[0]===0){var yr=rt[2];if(typeof yr!="number"&&yr[0]===1){var rr=u[2],Jt=yr[2],tr=rt[1];break t}}var sr=u[2],Ir=rt;break e;case 5:var Dr=u[1];if(typeof Dr!="number"&&Dr[0]===0){var on=Dr[2];if(typeof on!="number"&&on[0]===1){var hr=u[2],Ge=on[2],Cr=Dr[1];break}}var cn=u[2],Lr=Dr;break r;case 6:var fn=u[2];return qT(a,u[1]),J(fn,a);case 7:return qT(a,u[1]),W8(a,he);default:var rn=u[2];return qT(a,u[1]),UR(rn)}return qT(a,Cr),EG(a,Ge,pQ(1,hr))}return qT(a,Lr),zb(a,cn)}return qT(a,tr),EG(a,Jt,rr)}return qT(a,Ir),hue(a,ii(sr),sr)}}function z0(a){return function(u){return Ts(function(p){return qT(a,p),0},0,u[1])}}var wve="Array.sub",Pve="first domain already spawned",Bve=[0,"camlinternalOO.ml",V6,50],Ive=[0,Doe,72,5],Mve=[0,Doe,81,2],Wve="/tmp",Uve=e_,Fve=[0,"src/wtf8.ml",65,9],Lve=[0,"src/third-party/sedlex/flow_sedlexing.ml",wq,4],zve="Flow_sedlexing.MalFormed",Hve=p8,Yve=Ny,Kve=Rh,Gve=pb,Vve=$8,jve=[0,[12,40,[18,[1,[0,[11,Dh,0],Dh]],[11,"File_key.LibFile",[17,[0,Wp,1,0],0]]]],"(@[<2>File_key.LibFile@ "],Jve=[0,[3,0,0],Ok],Xve=[0,[17,0,[12,41,0]],l5],Zve=[0,[12,40,[18,[1,[0,[11,Dh,0],Dh]],[11,"File_key.SourceFile",[17,[0,Wp,1,0],0]]]],"(@[<2>File_key.SourceFile@ "],eDe=[0,[3,0,0],Ok],tDe=[0,[17,0,[12,41,0]],l5],rDe=[0,[12,40,[18,[1,[0,[11,Dh,0],Dh]],[11,"File_key.JsonFile",[17,[0,Wp,1,0],0]]]],"(@[<2>File_key.JsonFile@ "],nDe=[0,[3,0,0],Ok],iDe=[0,[17,0,[12,41,0]],l5],aDe=[0,[12,40,[18,[1,[0,[11,Dh,0],Dh]],[11,"File_key.ResourceFile",[17,[0,Wp,1,0],0]]]],"(@[<2>File_key.ResourceFile@ "],sDe=[0,[3,0,0],Ok],oDe=[0,[17,0,[12,41,0]],l5],RDe=[0,1],uDe=[0,0],lDe=[0,1],cDe=[0,2],TDe=[0,2],pDe=[0,0],_De=[0,1],hDe=[0,1],fDe=[0,1],dDe=[0,1],xDe=[0,2],mDe=[0,1],kDe=[0,1],yDe=[0,0,0],qDe=[0,0,0],CDe=[0,_e,_q,Qh,_1,cu,Iq,zt,nf,pf,p9,X6,b5,j5,kk,Br,Rr,kh,Vp,uh,qh,Nh,Z0,Ta,Xq,Ck,ls,Jr,Zh,hd,ef,R9,Mh,Td,vf,ix,pc,vi,r9,al,Mf,Sh,jh,Ff,hc,Qf,m6,M0,ic,jf,Ch,Fu,Hl,cc,e8,Ll,Dq,Ul,bq,R0,Gf,om,C8,bh,zc,Ms,dk,Dk,Tq,Jd,Hh,b,Af,iq,Te,Ue,$q,f6,Bx,H6,If,um,l6,Fp,Lf,XR,Yh,mh,ld,Zt,Oa,uT,Kq,mf,Ca,Ce,H2,jq,s9,Gy,A_,Dt,Bf,jy,O6,R8,xh,Q5,$6,o0,a8,Wf,J6,sd,Fq,Nf,k6,d6,gh,ll,Fn,Nq,id,Bh,np,$h,Vh,Ph,$k,Zo,Gp,Ip,td,cf,GT,_h,pn,Xf,W5,c,wp,Hi,Of,N6,wh,rm,ax,Ih,g8,nd,_f,qf,LT,Rf,fh,zq,Or,oh,hT,Lh,sl,ad,v6,vh,Eh,Cf,mi,sm,Al,Et,d8,rp,rf,Kf,Jh,gk,Uh,Jf,C_,jt,yh,Oh,ep,Vf,Lp,j6,Ef,ud,lr,f0,t8,h6,W6,zx,PT,af,uf,F2,Rl,kq,Gh,pd,Ky,mq,An,Zf,G6,r8,h8,Rd,yq,Pc,Pp,Fh,I6,nh,kf,zf,ql,VT,Me,gf,x8,_d,th,Zn,lm,df,Nk,Df,yf,cd,Zd,wf,Wq,lf,hf,Fy,p6,oc,dh,oq,$5,H,of,xf,L6,Sf,H5,C0,yk,tq,ur,Zq,Yf,Tc,BT,Yc,lq,w5,Pf,Hf,Ix,y_,Vq,ff,od,Ti,Tf,c8,zh,De,fT,zT,qq,G5,$a,Xh,_9,FT,b6,z2,F6,Jy,Pq,S5,Hy,Oq,Ba,m1,T1,cm,F5,fd,_c,KT,$f,Zp,tx,je,Ah,ed,il,u6,c6,K5,bf,i9,tf,nq,Aq],ADe=[0,jf,v6,uf,j6,W6,fd,$6,A_,LT,Et,$f,Ck,Oa,hc,ld,gf,np,Ph,Pq,Td,H2,hT,a8,rf,sl,hf,Zd,_q,f6,lr,r8,Te,wh,xf,Vq,ud,lf,sd,Lp,_1,Fh,Hh,C0,cm,F2,T1,Or,df,C8,t8,h8,Ff,Bf,ep,M0,Fn,gk,Fy,N6,J6,z2,G5,Lf,Aq,dk,$h,c8,Z0,Gy,zc,nd,_9,uT,om,Ce,zx,XR,Fq,Rf,oh,Ef,c,lq,Jr,yf,Ip,$k,_f,wp,af,pn,Jd,i9,Sf,Zn,d6,Ul,l6,tf,oc,F5,Hl,cu,bh,ur,Rr,Ll,Oh,ll,Ah,G6,ix,Cf,Jy,R8,jh,dh,Pc,ls,_e,Hi,vf,tq,Dk,b5,If,Zq,bq,ed,X6,qq,yk,Q5,nf,Gp,Lh,c6,ef,Al,wf,kf,Zt,x8,Of,H6,I6,Vp,hd,zh,Iq,R9,Ch,kh,m6,p9,FT,Kf,Rd,$a,W5,PT,De,pf,zT,Nq,xh,ax,ff,il,gh,Oq,F6,Ti,td,Bx,Ih,Tf,k6,yh,cc,Br,uh,Qf,$q,pc,Tc,o0,Vf,mh,ql,ad,Fp,KT,pd,Wq,Jh,Xh,Me,Rl,vh,h6,kk,cd,Gf,An,C_,Vh,Df,th,Hf,O6,Fu,Dt,Uh,mf,Af,Zh,s9,Ms,Ca,qh,L6,Zo,Ba,H5,tx,mi,Sh,p6,Mh,f0,R0,jt,jq,Hy,jy,zq,b6,_h,d8,oq,Xq,nq,zt,$5,m1,Ta,H,fh,Eh,w5,rm,iq,Wf,sm,nh,GT,g8,Nh,al,u6,Bh,Ix,Ue,K5,je,VT,um,fT,zf,id,Ky,mq,ic,BT,kq,od,Tq,lm,of,r9,Mf,cf,Zf,_d,j5,yq,Xf,Yh,Zp,Jf,S5,qf,Kq,Gh,Yf,e8,Nk,_c,bf,rp,Yc,Qh,y_,Dq,Pp,Pf,b,vi,Nf],gDe=JO,bDe=e9,EDe=foe,ODe=J_,vDe=RT,DDe=N0e,SDe=PS,$De=Wc,QDe=AF,NDe=z5,wDe=D0,PDe=Hp,BDe=L2,IDe=n6,MDe=zU,WDe=ol,UDe=v0e,FDe=k5,LDe=XA,zDe=h$,HDe=Sx,YDe=yS,KDe=o9,GDe=pT,VDe=Gg,jDe=Uy,JDe=doe,XDe=Bp,ZDe=G7,eSe=joe,tSe=Yg,rSe=yoe,nSe=FZ,iSe=h,aSe=OZ,sSe=Q0e,oSe=v5,RSe=[0,[18,[1,[0,[11,Dh,0],Dh]],[11,"{ ",0]],"@[<2>{ "],uSe="Loc.line",lSe=[0,[18,[1,[0,0,oa]],[2,0,[11,mZ,[17,[0,Wp,1,0],0]]]],OP],cSe=[0,[4,0,0,0,0],m9],TSe=[0,[17,0,0],Oz],pSe=[0,[12,59,[17,[0,Wp,1,0],0]],";@ "],_Se=Pk,hSe=[0,[18,[1,[0,0,oa]],[2,0,[11,mZ,[17,[0,Wp,1,0],0]]]],OP],fSe=[0,[4,0,0,0,0],m9],dSe=[0,[17,0,0],Oz],xSe=[0,[17,[0,Wp,1,0],[12,tm,[17,0,0]]],"@ }@]"],mSe=oa,kSe="Object literal may not have data and accessor property with the same name",ySe="Object literal may not have multiple get/set accessors with the same name",qSe="Unexpected token <. Remember, adjacent JSX elements must be wrapped in an enclosing parent tag",CSe="`let [` is ambiguous in this position because it is either a `let` binding pattern, or a member expression.",ASe="Async functions can only be declared at top level or immediately within another function.",gSe="`await` is an invalid identifier in async functions",bSe="`await` is not allowed in async function parameters.",ESe="Computed properties must have a value.",OSe="Constructor can't be an accessor.",vSe="Constructor can't be an async function.",DSe="Constructor can't be a generator.",SSe="It is sufficient for your declare function to just have a Promise return type.",$Se="async is an implementation detail and isn't necessary for your declare function statement. ",QSe="`declare` modifier can only appear on class fields.",NSe="Unexpected token `=`. Initializers are not allowed in a `declare`.",wSe="Unexpected token `=`. Initializers are not allowed in a `declare opaque type`.",PSe="Classes may only have one constructor",BSe="Rest element must be final element of an array pattern",ISe="Cannot export an enum with `export type`, try `export enum E {}` or `module.exports = E;` instead.",MSe="Enum members are separated with `,`. Replace `;` with `,`.",WSe="`const` enums are not supported. Flow Enums are designed to allow for inlining, however the inlining itself needs to be part of the build system (whatever you use) rather than Flow itself.",USe="Expected an object pattern, array pattern, or an identifier but found an expression instead",FSe="Missing comma between export specifiers",LSe="Generators can only be declared at top level or immediately within another function.",zSe="Getter should have zero parameters",HSe="A getter cannot have a `this` parameter.",YSe="Illegal break statement",KSe="Illegal continue statement",GSe="Illegal return statement",VSe="Illegal Unicode escape",jSe="Missing comma between import specifiers",JSe="It cannot be used with `import type` or `import typeof` statements",XSe="The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. ",ZSe="Explicit inexact syntax cannot appear inside an explicit exact object type",e$e="Explicit inexact syntax can only appear inside an object type",t$e="Component params must be an identifier. If you'd like to destructure, you should use `name as {destructure}`",r$e="A bigint literal must be an integer",n$e="JSX value should be either an expression or a quoted JSX text",i$e="Invalid left-hand side in assignment",a$e="Invalid left-hand side in exponentiation expression",s$e="Invalid left-hand side in for-in",o$e="Invalid left-hand side in for-of",R$e="Invalid optional indexed access. Indexed access uses bracket notation. Use the format `T?.[K]`.",u$e="Invalid regular expression",l$e="A bigint literal cannot use exponential notation",c$e="Tuple spread elements cannot be optional.",T$e="Tuple variance annotations can only be used with labeled tuple elements, e.g. `[+foo: number]`",p$e="`typeof` can only be used to get the type of variables.",_$e="JSX attributes must only be assigned a non-empty expression",h$e="Literals cannot be used as shorthand properties.",f$e="Malformed unicode",d$e="`match` only supports one argument",x$e="Object pattern can't contain methods",m$e="Expected at least one type parameter.",k$e="Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",y$e="More than one default clause in switch statement",q$e="Illegal newline after throw",C$e="Illegal newline before arrow",A$e="Missing catch or finally after try",g$e="Const must be initialized",b$e="Destructuring assignment must be initialized",E$e="An optional chain may not be used in a `new` expression.",O$e="Template literals may not be used in an optional chain.",v$e="Rest parameter must be final parameter of an argument list",D$e="Private fields may not be deleted.",S$e="Private fields can only be referenced from within a class.",$$e="Rest property must be final property of an object pattern",Q$e="Setter should have exactly one parameter",N$e="A setter cannot have a `this` parameter.",w$e="Catch variable may not be eval or arguments in strict mode",P$e="Delete of an unqualified identifier in strict mode.",B$e="Duplicate data property in object literal not allowed in strict mode",I$e="Function name may not be eval or arguments in strict mode",M$e="Assignment to eval or arguments is not allowed in strict mode",W$e="Postfix increment/decrement may not have eval or arguments operand in strict mode",U$e="Prefix increment/decrement may not have eval or arguments operand in strict mode",F$e="Strict mode code may not include a with statement",L$e="Number literals with leading zeros are not allowed in strict mode.",z$e="Octal literals are not allowed in strict mode.",H$e="Strict mode function may not have duplicate parameter names",Y$e="Parameter name eval or arguments is not allowed in strict mode",K$e='Illegal "use strict" directive in function with non-simple parameter list',G$e="Use of reserved word in strict mode",V$e="Variable name may not be eval or arguments in strict mode",j$e="You may not access a private field through the `super` keyword.",J$e="Flow does not support abstract classes.",X$e="Flow does not support template literal types.",Z$e="A type annotation is required for the `this` parameter.",eQe="Arrow functions cannot have a `this` parameter; arrow functions automatically bind `this` when declared.",tQe="Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",rQe="The `this` parameter cannot be optional.",nQe="The `this` parameter must be the first function parameter.",iQe="A trailing comma is not permitted after the rest element",aQe="Unexpected end of input",sQe="Explicit inexact syntax must come at the end of an object type",oQe="Opaque type aliases are not allowed in untyped mode",RQe="Unexpected proto modifier",uQe="Unexpected reserved word",lQe="Unexpected reserved type",cQe="Spreading a type is only allowed inside an object type",TQe="Unexpected static modifier",pQe="Unexpected `super` outside of a class method",_Qe="`super()` is only valid in a class constructor",hQe="Type aliases are not allowed in untyped mode",fQe="Type annotations are not allowed in untyped mode",dQe="Type declarations are not allowed in untyped mode",xQe="Type exports are not allowed in untyped mode",mQe="Type imports are not allowed in untyped mode",kQe="Interfaces are not allowed in untyped mode",yQe="Unexpected variance sigil",qQe="Found a decorator in an unsupported position.",CQe="Invalid regular expression: missing /",AQe="Unexpected whitespace between `#` and identifier",gQe="`yield` is an invalid identifier in generators",bQe="Yield expression not allowed in formal parameter",EQe=[0,[11,"Duplicate export for `",[2,0,[12,96,0]]],"Duplicate export for `%s`"],OQe=[0,[11,"Private fields may only be declared once. `#",[2,0,[11,"` is declared more than once.",0]]],"Private fields may only be declared once. `#%s` is declared more than once."],vQe=[0,[11,"bigint enum members need to be initialized, e.g. `",[2,0,[11," = 1n,` in enum `",[2,0,[11,Zs,0]]]]],"bigint enum members need to be initialized, e.g. `%s = 1n,` in enum `%s`."],DQe=[0,[11,"Boolean enum members need to be initialized. Use either `",[2,0,[11," = true,` or `",[2,0,[11," = false,` in enum `",[2,0,[11,Zs,0]]]]]]],"Boolean enum members need to be initialized. Use either `%s = true,` or `%s = false,` in enum `%s`."],SQe=[0,[11,"Enum member names need to be unique, but the name `",[2,0,[11,"` has already been used before in enum `",[2,0,[11,Zs,0]]]]],"Enum member names need to be unique, but the name `%s` has already been used before in enum `%s`."],$Qe=[0,[11,bU,[2,0,[11,"` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.",0]]],"Enum `%s` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers."],QQe="The `...` must come at the end of the enum body. Remove the trailing comma.",NQe="The `...` must come after all enum members. Move it to the end of the enum body.",wQe=[0,[11,"Use one of `boolean`, `number`, `string`, `symbol`, or `bigint` in enum `",[2,0,[11,Zs,0]]],"Use one of `boolean`, `number`, `string`, `symbol`, or `bigint` in enum `%s`."],PQe=[0,[11,"Enum type `",[2,0,[11,"` is not valid. ",[2,0,0]]]],"Enum type `%s` is not valid. %s"],BQe=[0,[11,"Supplied enum type is not valid. ",[2,0,0]],"Supplied enum type is not valid. %s"],IQe=[0,[11,"Enum member names and initializers are separated with `=`. Replace `",[2,0,[11,":` with `",[2,0,[11," =`.",0]]]]],"Enum member names and initializers are separated with `=`. Replace `%s:` with `%s =`."],MQe=[0,[11,bU,[2,0,[11,"` has type `",[2,0,[11,"`, so the initializer of `",[2,0,[11,"` needs to be a ",[2,0,[11," literal.",0]]]]]]]]],"Enum `%s` has type `%s`, so the initializer of `%s` needs to be a %s literal."],WQe=[0,[11,"Symbol enum members cannot be initialized. Use `",[2,0,[11,",` in enum `",[2,0,[11,Zs,0]]]]],"Symbol enum members cannot be initialized. Use `%s,` in enum `%s`."],UQe=[0,[11,"The enum member initializer for `",[2,0,[11,"` needs to be a literal (either a boolean, number, or string) in enum `",[2,0,[11,Zs,0]]]]],"The enum member initializer for `%s` needs to be a literal (either a boolean, number, or string) in enum `%s`."],FQe=[0,[11,"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `",[2,0,[11,"`, consider using `",[2,0,[11,"`, in enum `",[2,0,[11,Zs,0]]]]]]],"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%s`, consider using `%s`, in enum `%s`."],LQe=[0,[11,"Number enum members need to be initialized, e.g. `",[2,0,[11," = 1,` in enum `",[2,0,[11,Zs,0]]]]],"Number enum members need to be initialized, e.g. `%s = 1,` in enum `%s`."],zQe=[0,[11,"String enum members need to consistently either all use initializers, or use no initializers, in enum ",[2,0,[12,46,0]]],"String enum members need to consistently either all use initializers, or use no initializers, in enum %s."],HQe=[0,[11,"Expected corresponding JSX closing tag for ",[2,0,0]],"Expected corresponding JSX closing tag for %s"],YQe="immediately within another function.",KQe="In strict mode code, functions can only be declared at top level or ",GQe="inside a block, or as the body of an if statement.",VQe="In non-strict mode code, functions can only be declared at top level, ",jQe="static ",JQe=oa,XQe="methods",ZQe="fields",eNe=goe,tNe=[0,[11,"Classes may not have ",[2,0,[2,0,[11," named `",[2,0,[11,Zs,0]]]]]],"Classes may not have %s%s named `%s`."],rNe="Components use `renders` instead of `:` to annotate the render type of a component.",nNe=koe,iNe=oa,aNe=[0,[11,"String params require local bindings using `as` renaming. You can use `'",[2,0,[11,"' as ",[2,0,[2,0,[11,": ` ",0]]]]]],"String params require local bindings using `as` renaming. You can use `'%s' as %s%s: ` "],sNe="Remove the period.",oNe="Indexed access uses bracket notation.",RNe=[0,[11,"Invalid indexed access. ",[2,0,[11," Use the format `T[K]`.",0]]],"Invalid indexed access. %s Use the format `T[K]`."],uNe=[0,[11,"Invalid flags supplied to RegExp constructor '",[2,0,[12,39,0]]],"Invalid flags supplied to RegExp constructor '%s'"],lNe=nq,cNe=ZR,TNe=[0,[11,"In match ",[2,0,[11," pattern, the rest must be the last element in the pattern",0]]],"In match %s pattern, the rest must be the last element in the pattern"],pNe=[0,[11,"JSX element ",[2,0,[11," has no corresponding closing tag.",0]]],"JSX element %s has no corresponding closing tag."],_Ne=[0,[11,d0,[2,0,[11,"`. Parentheses are required to combine `??` with `&&` or `||` expressions.",0]]],"Unexpected token `%s`. Parentheses are required to combine `??` with `&&` or `||` expressions."],hNe=[0,[2,0,[11," '",[2,0,[11,"' has already been declared",0]]]],"%s '%s' has already been declared"],fNe=oa,dNe=D2,xNe=" You can try using JavaScript private fields by prepending `#` to the field name.",mNe=xb,kNe=" Fields and methods are public by default. You can simply omit the `public` keyword.",yNe=_b,qNe=[0,[11,"Flow does not support using `",[2,0,[11,"` in classes.",[2,0,0]]]],"Flow does not support using `%s` in classes.%s"],CNe=[0,[11,"Private fields must be declared before they can be referenced. `#",[2,0,[11,"` has not been declared.",0]]],"Private fields must be declared before they can be referenced. `#%s` has not been declared."],ANe=[0,[11,aee,[2,0,0]],"Unexpected %s"],gNe=[0,[11,d0,[2,0,[11,"`. Did you mean `",[2,0,[11,"`?",0]]]]],"Unexpected token `%s`. Did you mean `%s`?"],bNe=[0,[11,aee,[2,0,[11,", expected ",[2,0,0]]]],"Unexpected %s, expected %s"],ENe=[0,[11,"Undefined label '",[2,0,[12,39,0]]],"Undefined label '%s'"],ONe="Parse_error.Error",vNe=[0,[0,36,37],[0,48,58],[0,65,91],[0,95,96],[0,97,g_],[0,ot,RU],[0,_B,H1],[0,UT,hb],[0,qz,Px],[0,y0,e6],[0,gt,j_],[0,Ws,706],[0,W4,722],[0,736,741],[0,748,749],[0,750,751],[0,768,885],[0,886,888],[0,890,894],[0,895,896],[0,902,907],[0,908,909],[0,910,930],[0,Pee,1014],[0,1015,1154],[0,1155,1160],[0,1162,1328],[0,1329,1367],[0,1369,1370],[0,1376,1417],[0,1425,1470],[0,1471,1472],[0,1473,1475],[0,1476,1478],[0,1479,1480],[0,1488,1515],[0,1519,1523],[0,1552,1563],[0,1568,1642],[0,1646,1748],[0,1749,1757],[0,1759,1769],[0,1770,1789],[0,1791,1792],[0,1808,1867],[0,1869,1970],[0,1984,2038],[0,2042,2043],[0,2045,2046],[0,yU,2094],[0,2112,2140],[0,2144,2155],[0,2208,2229],[0,2230,2238],[0,2259,2274],[0,2275,2404],[0,2406,2416],[0,2417,2436],[0,2437,2445],[0,2447,2449],[0,2451,2473],[0,2474,2481],[0,2482,2483],[0,2486,2490],[0,2492,2501],[0,2503,2505],[0,2507,2511],[0,2519,2520],[0,2524,2526],[0,2527,2532],[0,2534,2546],[0,2556,2557],[0,2558,2559],[0,2561,2564],[0,2565,2571],[0,2575,2577],[0,2579,2601],[0,2602,2609],[0,2610,2612],[0,2613,2615],[0,2616,2618],[0,2620,2621],[0,2622,2627],[0,2631,2633],[0,2635,2638],[0,2641,2642],[0,2649,2653],[0,2654,2655],[0,2662,2678],[0,2689,2692],[0,2693,2702],[0,2703,2706],[0,2707,2729],[0,2730,2737],[0,2738,2740],[0,2741,2746],[0,2748,2758],[0,2759,2762],[0,2763,2766],[0,2768,2769],[0,2784,2788],[0,2790,2800],[0,2809,2816],[0,2817,2820],[0,2821,2829],[0,2831,2833],[0,2835,2857],[0,2858,2865],[0,2866,2868],[0,2869,2874],[0,2876,2885],[0,2887,2889],[0,2891,2894],[0,2902,2904],[0,2908,2910],[0,2911,2916],[0,2918,2928],[0,2929,2930],[0,2946,2948],[0,2949,2955],[0,2958,2961],[0,2962,2966],[0,2969,2971],[0,2972,2973],[0,2974,2976],[0,2979,2981],[0,2984,2987],[0,2990,3002],[0,3006,3011],[0,3014,3017],[0,3018,3022],[0,3024,3025],[0,3031,3032],[0,3046,3056],[0,3072,3085],[0,3086,3089],[0,3090,3113],[0,3114,3130],[0,3133,3141],[0,3142,3145],[0,3146,3150],[0,3157,3159],[0,3160,3163],[0,3168,3172],[0,3174,3184],[0,3200,3204],[0,3205,3213],[0,3214,3217],[0,3218,3241],[0,3242,3252],[0,3253,3258],[0,3260,3269],[0,3270,3273],[0,3274,3278],[0,3285,3287],[0,3294,3295],[0,3296,3300],[0,3302,3312],[0,3313,3315],[0,3328,3332],[0,3333,3341],[0,3342,3345],[0,3346,3397],[0,3398,3401],[0,3402,3407],[0,3412,3416],[0,3423,3428],[0,3430,3440],[0,3450,3456],[0,3458,3460],[0,3461,3479],[0,3482,3506],[0,3507,3516],[0,3517,3518],[0,3520,3527],[0,3530,3531],[0,3535,3541],[0,3542,3543],[0,3544,3552],[0,3558,3568],[0,3570,3572],[0,3585,3643],[0,3648,3663],[0,3664,3674],[0,3713,3715],[0,3716,3717],[0,3718,3723],[0,3724,3748],[0,3749,3750],[0,3751,3774],[0,3776,3781],[0,3782,3783],[0,3784,3790],[0,3792,3802],[0,3804,3808],[0,3840,3841],[0,3864,3866],[0,3872,3882],[0,3893,3894],[0,3895,3896],[0,3897,3898],[0,3902,3912],[0,3913,3949],[0,3953,3973],[0,3974,3992],[0,3993,4029],[0,4038,4039],[0,Y5,4170],[0,4176,4254],[0,4256,4294],[0,4295,4296],[0,4301,4302],[0,4304,4347],[0,4348,4681],[0,4682,4686],[0,4688,4695],[0,4696,4697],[0,4698,4702],[0,4704,4745],[0,4746,4750],[0,4752,4785],[0,4786,4790],[0,4792,4799],[0,4800,4801],[0,4802,4806],[0,4808,4823],[0,4824,4881],[0,4882,4886],[0,4888,4955],[0,4957,4960],[0,4969,4978],[0,4992,5008],[0,5024,5110],[0,5112,5118],[0,5121,5741],[0,5743,qY],[0,5761,5787],[0,5792,5867],[0,5870,5881],[0,5888,5901],[0,5902,5909],[0,5920,5941],[0,5952,5972],[0,5984,5997],[0,5998,6001],[0,6002,6004],[0,6016,6100],[0,6103,6104],[0,6108,6110],[0,6112,6122],[0,6155,6158],[0,6160,6170],[0,6176,6265],[0,6272,6315],[0,6320,6390],[0,6400,6431],[0,6432,6444],[0,6448,6460],[0,6470,6510],[0,6512,6517],[0,6528,6572],[0,6576,6602],[0,6608,6619],[0,6656,6684],[0,6688,6751],[0,6752,6781],[0,6783,6794],[0,6800,6810],[0,6823,6824],[0,6832,6846],[0,6912,6988],[0,6992,7002],[0,7019,7028],[0,7040,7156],[0,7168,7224],[0,7232,7242],[0,7245,7294],[0,7296,7305],[0,7312,7355],[0,7357,7360],[0,7376,7379],[0,7380,7419],[0,7424,7674],[0,7675,7958],[0,7960,7966],[0,7968,8006],[0,8008,8014],[0,8016,8024],[0,8025,8026],[0,8027,8028],[0,8029,8030],[0,8031,8062],[0,8064,8117],[0,8118,8125],[0,8126,8127],[0,8130,8133],[0,8134,8141],[0,8144,8148],[0,8150,8156],[0,8160,8173],[0,8178,8181],[0,8182,8189],[0,Yl,Nee],[0,8255,8257],[0,8276,8277],[0,gS,8306],[0,dS,8320],[0,8336,8349],[0,8400,8413],[0,8417,8418],[0,8421,8433],[0,xB,8451],[0,o$,8456],[0,8458,_T],[0,jA,8470],[0,_ee,8478],[0,SP,l$],[0,k$,R6],[0,Ui,T$],[0,8490,8506],[0,8508,8512],[0,8517,8522],[0,_S,8527],[0,8544,8585],[0,11264,11311],[0,11312,11359],[0,11360,11493],[0,11499,11508],[0,11520,cB],[0,x,11560],[0,e$,11566],[0,11568,11624],[0,fS,11632],[0,Z4,11671],[0,11680,k1],[0,11688,q8],[0,11696,D],[0,11704,ul],[0,11712,QF],[0,11720,Sn],[0,11728,b$],[0,11736,11743],[0,11744,11776],[0,12293,12296],[0,12321,q$],[0,12337,12342],[0,12344,12349],[0,12353,12439],[0,12441,T8],[0,12449,P$],[0,12540,12544],[0,12549,R$],[0,12593,12687],[0,12704,12731],[0,12784,12800],[0,13312,19894],[0,19968,40944],[0,40960,42125],[0,42192,42238],[0,42240,42509],[0,42512,42540],[0,42560,42608],[0,42612,X1],[0,42623,42738],[0,42775,42784],[0,42786,42889],[0,42891,42944],[0,42946,42951],[0,M5,43048],[0,43072,43124],[0,43136,43206],[0,43216,43226],[0,43232,43256],[0,AU,zy],[0,43261,43310],[0,43312,43348],[0,43360,43389],[0,43392,43457],[0,XP,43482],[0,43488,Ex],[0,N5,43575],[0,43584,43598],[0,43600,43610],[0,43616,43639],[0,RB,43715],[0,43739,43742],[0,43744,43760],[0,43762,43767],[0,43777,43783],[0,43785,43791],[0,43793,43799],[0,43808,HS],[0,43816,yP],[0,43824,NS],[0,43868,bi],[0,43888,44011],[0,44012,44014],[0,44016,44026],[0,44032,55204],[0,55216,55239],[0,55243,55292],[0,63744,64110],[0,64112,64218],[0,64256,64263],[0,64275,64280],[0,sP,W7],[0,64298,AS],[0,64312,yB],[0,gU,_k],[0,64320,C$],[0,64323,W$],[0,64326,64434],[0,64467,64830],[0,64848,64912],[0,64914,64968],[0,65008,65020],[0,65024,65040],[0,65056,65072],[0,65075,65077],[0,65101,65104],[0,65136,_$],[0,65142,65277],[0,65296,65306],[0,65313,65339],[0,65343,LS],[0,65345,65371],[0,65382,65471],[0,65474,65480],[0,65482,65488],[0,65490,65496],[0,65498,65501],[0,ub,D$],[0,65549,rB],[0,65576,Gn],[0,65596,si],[0,65599,65614],[0,65616,65630],[0,65664,65787],[0,65856,65909],[0,66045,66046],[0,66176,66205],[0,66208,66257],[0,66272,66273],[0,66304,66336],[0,66349,66379],[0,66384,66427],[0,66432,66462],[0,66464,66500],[0,66504,E$],[0,66513,66518],[0,66560,66718],[0,66720,66730],[0,66736,66772],[0,66776,66812],[0,66816,66856],[0,66864,66916],[0,67072,67383],[0,67392,67414],[0,67424,67432],[0,67584,67590],[0,LA,TP],[0,67594,O$],[0,67639,67641],[0,eB,67645],[0,67647,67670],[0,67680,67703],[0,67712,67743],[0,67808,ik],[0,67828,67830],[0,67840,67862],[0,67872,67898],[0,67968,68024],[0,68030,68032],[0,S$,68100],[0,68101,68103],[0,68108,dR],[0,68117,f8],[0,68121,68150],[0,68152,68155],[0,68159,68160],[0,68192,68221],[0,68224,68253],[0,68288,FP],[0,68297,68327],[0,68352,68406],[0,68416,68438],[0,68448,68467],[0,68480,68498],[0,68608,68681],[0,68736,68787],[0,68800,68851],[0,68864,68904],[0,68912,68922],[0,69376,69405],[0,n$,69416],[0,69424,69457],[0,69600,69623],[0,69632,69703],[0,69734,y$],[0,69759,69819],[0,69840,69865],[0,69872,69882],[0,69888,69941],[0,69942,69952],[0,Q2,z],[0,69968,70004],[0,c$,70007],[0,70016,70085],[0,70089,70093],[0,70096,jS],[0,mS,70109],[0,70144,VS],[0,70163,70200],[0,70206,70207],[0,70272,QB],[0,rF,Yi],[0,70282,b8],[0,70287,zS],[0,70303,70313],[0,70320,70379],[0,70384,70394],[0,70400,_R],[0,70405,70413],[0,70415,70417],[0,70419,p$],[0,70442,KP],[0,70450,aL],[0,70453,70458],[0,70459,70469],[0,70471,70473],[0,70475,70478],[0,Ji,70481],[0,70487,70488],[0,70493,70500],[0,70502,70509],[0,70512,70517],[0,70656,70731],[0,70736,70746],[0,wA,70752],[0,70784,a$],[0,Xy,70856],[0,70864,70874],[0,71040,71094],[0,71096,71105],[0,71128,71134],[0,71168,71233],[0,LU,71237],[0,71248,71258],[0,71296,71353],[0,71360,71370],[0,71424,71451],[0,71453,71468],[0,71472,71482],[0,71680,71739],[0,71840,71914],[0,71935,71936],[0,72096,72104],[0,72106,72152],[0,72154,o8],[0,s$,72165],[0,Vy,72255],[0,72263,72264],[0,Ai,72346],[0,tb,72350],[0,72384,72441],[0,72704,u$],[0,72714,72759],[0,72760,72769],[0,72784,72794],[0,72818,72848],[0,72850,72872],[0,72873,72887],[0,72960,EP],[0,72968,g$],[0,72971,73015],[0,73018,73019],[0,73020,73022],[0,73023,73032],[0,73040,73050],[0,73056,PP],[0,73063,gB],[0,73066,73103],[0,73104,73106],[0,73107,73113],[0,73120,73130],[0,73440,73463],[0,73728,74650],[0,74752,74863],[0,74880,75076],[0,77824,78895],[0,82944,83527],[0,92160,92729],[0,92736,92767],[0,92768,92778],[0,92880,92910],[0,92912,92917],[0,92928,92983],[0,92992,92996],[0,93008,93018],[0,93027,93048],[0,93053,93072],[0,93760,93824],[0,93952,94027],[0,YS,94088],[0,94095,94112],[0,94176,zp],[0,wc,94180],[0,94208,100344],[0,100352,101107],[0,110592,110879],[0,110928,110931],[0,110948,110952],[0,110960,111356],[0,113664,113771],[0,113776,113789],[0,113792,113801],[0,113808,113818],[0,113821,113823],[0,119141,119146],[0,119149,119155],[0,119163,119171],[0,119173,119180],[0,119210,119214],[0,119362,119365],[0,119808,P0],[0,119894,n3],[0,119966,119968],[0,_P,119971],[0,119973,119975],[0,119977,L$],[0,119982,DB],[0,bS,nB],[0,119997,xS],[0,120005,M$],[0,120071,120075],[0,120077,p5],[0,120086,jO],[0,120094,vx],[0,120123,DS],[0,120128,fP],[0,nP,120135],[0,120138,m$],[0,120146,120486],[0,120488,JA],[0,120514,NP],[0,120540,B$],[0,120572,vn],[0,120598,_F],[0,120630,lk],[0,120656,rb],[0,120688,Go],[0,120714,nn],[0,120746,ip],[0,120772,120780],[0,120782,120832],[0,121344,121399],[0,121403,121453],[0,121461,121462],[0,121476,121477],[0,121499,121504],[0,121505,121520],[0,122880,122887],[0,122888,122905],[0,122907,122914],[0,122915,122917],[0,122918,122923],[0,123136,123181],[0,123184,123198],[0,123200,123210],[0,pt,123215],[0,123584,123642],[0,124928,125125],[0,125136,125143],[0,125184,125260],[0,125264,125274],[0,126464,va],[0,126469,fB],[0,126497,w$],[0,cs,126501],[0,t$,GP],[0,126505,ve],[0,126516,i8],[0,$$,GF],[0,Oy,126524],[0,A$,126531],[0,U$,$y],[0,Q$,pB],[0,v$,Bu],[0,126541,Kp],[0,126545,d$],[0,XS,126549],[0,s8,ah],[0,lP,vP],[0,lB,x$],[0,_5,yy],[0,l8,Qi],[0,126561,Nx],[0,f$,126565],[0,126567,IR],[0,126572,Up],[0,126580,n8],[0,126585,qU],[0,UP,i$],[0,126592,f_],[0,126603,126620],[0,126625,lF],[0,126629,CP],[0,126635,126652],[0,131072,173783],[0,173824,177973],[0,177984,178206],[0,178208,183970],[0,183984,191457],[0,194560,195102],[0,917760,918e3]],DNe=[0,1,0],SNe=[0,0,[0,1,0],[0,1,0]],$Ne=Foe,QNe="end of input",NNe=Qk,wNe="template literal part",PNe=Qk,BNe=y,INe=Foe,MNe=Qk,WNe=Ny,UNe=Qk,FNe=$8,LNe=Qk,zNe=Rh,HNe="an",YNe=Lp,KNe=hh,GNe=[0,[11,"token `",[2,0,[12,96,0]]],"token `%s`"],VNe="{",jNe=YF,JNe="{|",XNe="|}",ZNe=$ee,ewe=IF,twe="[",rwe="]",nwe=kF,iwe=E0e,awe=e_,swe="=>",owe="...",Rwe=Ml,uwe=goe,lwe=BO,cwe=jF,Twe=Sx,pwe=yS,_we=cc,hwe=hc,fwe=fY,dwe=s3,xwe=pc,mwe=BS,kwe=ch,ywe=G,qwe=u8,Cwe=GS,Awe=d9,gwe=O8,bwe=Je,Ewe=Kx,Owe=_c,vwe=Fc,Dwe=ZS,Swe=BT,$we=Xg,Qwe=m_,Nwe=gF,wwe=jP,Pwe=I,Bwe=sf,Iwe=vR,Mwe=HT,Wwe=Y2,Uwe=uP,Fwe=Z5,Lwe=ws,zwe=Sk,Hwe=N$,Ywe=yh,Kwe=f9,Gwe=S8,Vwe=rp,jwe=qs,Jwe=xb,Xwe=D2,Zwe=_b,ePe=_e,tPe=Tc,rPe=yb,nPe=Kh,iPe=bP,aPe=Mee,sPe=Lx,oPe=E8,RPe="%checks",uPe=Yg,lPe=joe,cPe=G7,TPe=FZ,pPe=yoe,_Pe=h,hPe=Bp,fPe=doe,dPe=Gg,xPe=Uy,mPe=pT,kPe=o9,yPe=OZ,qPe=Q0e,CPe=v5,APe=ok,gPe="?.",bPe=Lg,EPe=koe,OPe=Qp,vPe=YZ,DPe=hL,SPe=k5,$Pe=XA,QPe=h$,NPe=JO,wPe=e9,PPe=foe,BPe=J_,IPe=N0e,MPe=Wc,WPe=RT,UPe=PS,FPe=AF,LPe=z5,zPe=D0,HPe=Hp,YPe=L2,KPe=ol,GPe=n6,VPe=zU,jPe=v0e,JPe=L1,XPe=$0e,ZPe=Noe,eBe=Qg,tBe=oa,rBe=Lc,nBe=t3,iBe=dh,aBe=Ny,sBe=$8,oBe=Rh,RBe=ws,uBe=pb,lBe=x5,cBe=q5,TBe=mU,pBe=r$,_Be=ib,hBe=ky,fBe=cb,dBe=_8,xBe=eR,mBe=LZ,kBe=_oe,yBe=cT,qBe=cT,CBe=r0e,ABe=cT,gBe=cT,bBe=YF,EBe=YF,OBe=r0e,vBe=ol,DBe=ol,SBe=p8,$Be=iB,QBe="T_LCURLY",NBe="T_RCURLY",wBe="T_LCURLYBAR",PBe="T_RCURLYBAR",BBe="T_LPAREN",IBe="T_RPAREN",MBe="T_LBRACKET",WBe="T_RBRACKET",UBe="T_SEMICOLON",FBe="T_COMMA",LBe="T_PERIOD",zBe="T_ARROW",HBe="T_ELLIPSIS",YBe="T_AT",KBe="T_POUND",GBe="T_FUNCTION",VBe="T_IF",jBe="T_IN",JBe="T_INSTANCEOF",XBe="T_RETURN",ZBe="T_SWITCH",eIe="T_MATCH",tIe="T_THIS",rIe="T_THROW",nIe="T_TRY",iIe="T_VAR",aIe="T_WHILE",sIe="T_WITH",oIe="T_CONST",RIe="T_LET",uIe="T_NULL",lIe="T_FALSE",cIe="T_TRUE",TIe="T_BREAK",pIe="T_CASE",_Ie="T_CATCH",hIe="T_CONTINUE",fIe="T_DEFAULT",dIe="T_DO",xIe="T_FINALLY",mIe="T_FOR",kIe="T_CLASS",yIe="T_EXTENDS",qIe="T_STATIC",CIe="T_ELSE",AIe="T_NEW",gIe="T_DELETE",bIe="T_TYPEOF",EIe="T_VOID",OIe="T_ENUM",vIe="T_EXPORT",DIe="T_IMPORT",SIe="T_SUPER",$Ie="T_IMPLEMENTS",QIe="T_INTERFACE",NIe="T_PACKAGE",wIe="T_PRIVATE",PIe="T_PROTECTED",BIe="T_PUBLIC",IIe="T_YIELD",MIe="T_DEBUGGER",WIe="T_DECLARE",UIe="T_TYPE",FIe="T_OPAQUE",LIe="T_OF",zIe="T_ASYNC",HIe="T_AWAIT",YIe="T_CHECKS",KIe="T_RSHIFT3_ASSIGN",GIe="T_RSHIFT_ASSIGN",VIe="T_LSHIFT_ASSIGN",jIe="T_BIT_XOR_ASSIGN",JIe="T_BIT_OR_ASSIGN",XIe="T_BIT_AND_ASSIGN",ZIe="T_MOD_ASSIGN",eMe="T_DIV_ASSIGN",tMe="T_MULT_ASSIGN",rMe="T_EXP_ASSIGN",nMe="T_MINUS_ASSIGN",iMe="T_PLUS_ASSIGN",aMe="T_NULLISH_ASSIGN",sMe="T_AND_ASSIGN",oMe="T_OR_ASSIGN",RMe="T_ASSIGN",uMe="T_PLING_PERIOD",lMe="T_PLING_PLING",cMe="T_PLING",TMe="T_COLON",pMe="T_OR",_Me="T_AND",hMe="T_BIT_OR",fMe="T_BIT_XOR",dMe="T_BIT_AND",xMe="T_EQUAL",mMe="T_NOT_EQUAL",kMe="T_STRICT_EQUAL",yMe="T_STRICT_NOT_EQUAL",qMe="T_LESS_THAN_EQUAL",CMe="T_GREATER_THAN_EQUAL",AMe="T_LESS_THAN",gMe="T_GREATER_THAN",bMe="T_LSHIFT",EMe="T_RSHIFT",OMe="T_RSHIFT3",vMe="T_PLUS",DMe="T_MINUS",SMe="T_DIV",$Me="T_MULT",QMe="T_EXP",NMe="T_MOD",wMe="T_NOT",PMe="T_BIT_NOT",BMe="T_INCR",IMe="T_DECR",MMe="T_EOF",WMe="T_ANY_TYPE",UMe="T_MIXED_TYPE",FMe="T_EMPTY_TYPE",LMe="T_NUMBER_TYPE",zMe="T_BIGINT_TYPE",HMe="T_STRING_TYPE",YMe="T_VOID_TYPE",KMe="T_SYMBOL_TYPE",GMe="T_UNKNOWN_TYPE",VMe="T_NEVER_TYPE",jMe="T_UNDEFINED_TYPE",JMe="T_KEYOF",XMe="T_READONLY",ZMe="T_INFER",eWe="T_IS",tWe="T_ASSERTS",rWe="T_IMPLIES",nWe=O0e,iWe=O0e,aWe="T_NUMBER",sWe="T_BIGINT",oWe="T_STRING",RWe="T_TEMPLATE_PART",uWe="T_IDENTIFIER",lWe="T_REGEXP",cWe="T_INTERPRETER",TWe="T_ERROR",pWe="T_JSX_IDENTIFIER",_We=A0e,hWe=A0e,fWe="T_BOOLEAN_TYPE",dWe="T_NUMBER_SINGLETON_TYPE",xWe="T_BIGINT_SINGLETON_TYPE",mWe=[0,gi,CB,9],kWe=[0,gi,T6,9],yWe=t0e,qWe="*/",CWe=t0e,AWe="unreachable line_comment",gWe="unreachable string_quote",bWe="\\",EWe="unreachable template_part",OWe=`\r +`,vWe=Vw,DWe="unreachable regexp_class",SWe=jd,$We="unreachable regexp_body",QWe=oa,NWe=oa,wWe=oa,PWe=oa,BWe=vO,IWe="{'>'}",MWe=PS,WWe="{'}'}",UWe=YF,FWe=bk,LWe=kF,zWe=h$,HWe=vO,YWe=bk,KWe=kF,GWe=h$,VWe="unreachable type_token wholenumber",jWe="unreachable type_token wholebigint",JWe="unreachable type_token floatbigint",XWe="unreachable type_token scinumber",ZWe="unreachable type_token scibigint",eUe="unreachable type_token hexnumber",tUe="unreachable type_token hexbigint",rUe="unreachable type_token legacyoctnumber",nUe="unreachable type_token octnumber",iUe="unreachable type_token octbigint",aUe="unreachable type_token binnumber",sUe="unreachable type_token bigbigint",oUe="unreachable type_token",RUe=Zoe,uUe=[11,1],lUe=[11,0],cUe="unreachable template_tail",TUe=oa,pUe=oa,_Ue="unreachable jsx_child",hUe="unreachable jsx_tag",fUe=[0,VA],dUe=[0,913],xUe=[0,y0],mUe=[0,NY],kUe=[0,Og],yUe=[0,m0e],qUe=[0,8747],CUe=[0,u1],AUe=[0,916],gUe=[0,8225],bUe=[0,935],EUe=[0,n0e],OUe=[0,914],vUe=[0,Yoe],DUe=[0,MP],SUe=[0,mee],$Ue=[0,915],QUe=[0,oo],NUe=[0,919],wUe=[0,917],PUe=[0,e0e],BUe=[0,sk],IUe=[0,g5],MUe=[0,924],WUe=[0,923],UUe=[0,922],FUe=[0,P5],LUe=[0,921],zUe=[0,n9],HUe=[0,T6],YUe=[0,IO],KUe=[0,gt],GUe=[0,927],VUe=[0,937],jUe=[0,uR],JUe=[0,coe],XUe=[0,Mu],ZUe=[0,338],eFe=[0,352],tFe=[0,929],rFe=[0,936],nFe=[0,8243],iFe=[0,928],aFe=[0,934],sFe=[0,y0e],oFe=[0,IT],RFe=[0,933],uFe=[0,VF],lFe=[0,xz],cFe=[0,Ae],TFe=[0,920],pFe=[0,932],_Fe=[0,j],hFe=[0,GA],fFe=[0,XZ],dFe=[0,CU],xFe=[0,918],mFe=[0,376],kFe=[0,ua],yFe=[0,926],qFe=[0,I5],CFe=[0,Pee],AFe=[0,925],gFe=[0,39],bFe=[0,8736],EFe=[0,8743],OFe=[0,38],vFe=[0,945],DFe=[0,8501],SFe=[0,S2],$Fe=[0,8226],QFe=[0,vy],NFe=[0,946],wFe=[0,8222],PFe=[0,Si],BFe=[0,c9],IFe=[0,8776],MFe=[0,Joe],WFe=[0,8773],UFe=[0,9827],FFe=[0,W4],LFe=[0,967],zFe=[0,boe],HFe=[0,hb],YFe=[0,N2],KFe=[0,op],GFe=[0,8595],VFe=[0,8224],jFe=[0,8659],JFe=[0,IA],XFe=[0,8746],ZFe=[0,8629],eLe=[0,Z7],tLe=[0,8745],rLe=[0,8195],nLe=[0,8709],iLe=[0,w],aLe=[0,Xoe],sLe=[0,Loe],oLe=[0,j_],RLe=[0,9830],uLe=[0,8707],lLe=[0,8364],cLe=[0,vee],TLe=[0,LO],pLe=[0,951],_Le=[0,8801],hLe=[0,949],fLe=[0,8194],dLe=[0,8805],xLe=[0,947],mLe=[0,8260],kLe=[0,fee],yLe=[0,Uc],qLe=[0,CB],CLe=[0,8704],ALe=[0,VZ],gLe=[0,a0e],bLe=[0,8230],ELe=[0,9829],OLe=[0,8596],vLe=[0,8660],DLe=[0,62],SLe=[0,402],$Le=[0,948],QLe=[0,D5],NLe=[0,ho],wLe=[0,8712],PLe=[0,o0e],BLe=[0,953],ILe=[0,8734],MLe=[0,8465],WLe=[0,US],ULe=[0,8220],FLe=[0,8968],LLe=[0,8592],zLe=[0,RU],HLe=[0,10216],YLe=[0,955],KLe=[0,8656],GLe=[0,954],VLe=[0,60],jLe=[0,8216],JLe=[0,8249],XLe=[0,Nee],ZLe=[0,9674],eze=[0,8727],tze=[0,8970],rze=[0,u0e],nze=[0,8711],ize=[0,956],aze=[0,8722],sze=[0,UT],oze=[0,_B],Rze=[0,8212],uze=[0,lo],lze=[0,8804],cze=[0,957],Tze=[0,NZ],pze=[0,8836],_ze=[0,8713],hze=[0,loe],fze=[0,8715],dze=[0,8800],xze=[0,8853],mze=[0,959],kze=[0,969],yze=[0,8254],qze=[0,voe],Cze=[0,339],Aze=[0,em],gze=[0,Uee],bze=[0,H1],Eze=[0,FS],Oze=[0,8855],vze=[0,JF],Dze=[0,Ws],Sze=[0,qz],$ze=[0,ot],Qze=[0,s],Nze=[0,woe],wze=[0,982],Pze=[0,960],Bze=[0,966],Ize=[0,8869],Mze=[0,8240],Wze=[0,8706],Uze=[0,8744],Fze=[0,8211],Lze=[0,10217],zze=[0,8730],Hze=[0,8658],Yze=[0,34],Kze=[0,968],Gze=[0,8733],Vze=[0,8719],jze=[0,961],Jze=[0,8971],Xze=[0,k0e],Zze=[0,8476],eHe=[0,8221],tHe=[0,8969],rHe=[0,8594],nHe=[0,Px],iHe=[0,y8],aHe=[0,B5],sHe=[0,8901],oHe=[0,353],RHe=[0,8218],uHe=[0,8217],lHe=[0,8250],cHe=[0,8835],THe=[0,8721],pHe=[0,8838],_He=[0,8834],hHe=[0,9824],fHe=[0,8764],dHe=[0,962],xHe=[0,963],mHe=[0,8207],kHe=[0,952],yHe=[0,8756],qHe=[0,964],CHe=[0,DU],AHe=[0,8839],gHe=[0,D0e],bHe=[0,tp],EHe=[0,k9],OHe=[0,8657],vHe=[0,8482],DHe=[0,e6],SHe=[0,732],$He=[0,q_],QHe=[0,8201],NHe=[0,977],wHe=[0,_ee],PHe=[0,qS],BHe=[0,965],IHe=[0,978],MHe=[0,GH],WHe=[0,wq],UHe=[0,S0e],FHe=[0,Yl],LHe=[0,8205],zHe=[0,950],HHe=[0,f1],YHe=[0,qP],KHe=[0,sL],GHe=[0,958],VHe=[0,8593],jHe=[0,Ut],JHe=[0,8242],XHe=[0,zoe],ZHe="unreachable regexp",eYe="unreachable token wholenumber",tYe="unreachable token wholebigint",rYe="unreachable token floatbigint",nYe="unreachable token scinumber",iYe="unreachable token scibigint",aYe="unreachable token hexnumber",sYe="unreachable token hexbigint",oYe="unreachable token legacyoctnumber",RYe="unreachable token legacynonoctnumber",uYe="unreachable token octnumber",lYe="unreachable token octbigint",cYe="unreachable token bignumber",TYe="unreachable token bigint",pYe="unreachable token",_Ye=Zoe,hYe=[7,"#!"],fYe="expected ?",dYe="unreachable string_escape",xYe=lu,mYe=UO,kYe=UO,yYe=lu,qYe=TY,CYe=FO,AYe="n",gYe="r",bYe="t",EYe=J5,OYe=UO,vYe=bk,DYe=bk,SYe="unreachable id_char",$Ye=bk,QYe=bk,NYe=UO,wYe=Ioe,PYe=Ma,BYe=E6,IYe=[26,"token ILLEGAL"],MYe=[0,[11,"the identifier `",[2,0,[12,96,0]]],"the identifier `%s`"],WYe=[0,1],UYe=[0,1],FYe=xoe,LYe=xoe,zYe=[0,[11,"an identifier. When exporting a ",[2,0,[11," as a named export, you must specify a ",[2,0,[11," name. Did you mean `export default ",[2,0,[11," ...`?",0]]]]]]],"an identifier. When exporting a %s as a named export, you must specify a %s name. Did you mean `export default %s ...`?"],HYe=F$,YYe="Peeking current location when not available",KYe=[0,"src/parser/parser_env.ml",365,9],GYe="Internal Error: Tried to add_declared_private with outside of class scope.",VYe="Internal Error: `exit_class` called before a matching `enter_class`",jYe=oa,JYe=[0,0,0],XYe=[0,0,0],ZYe="Parser_env.Try.Rollback",eKe=oa,tKe=oa,rKe=[0,_e,_q,Qh,W2,Eee,_1,cu,Iq,zt,nf,pf,p9,X6,b5,j5,kk,Br,Rr,kh,Vp,uh,qh,Nh,Z0,Ta,Xq,Ck,ls,Jr,Zh,hd,ef,R9,Mh,Td,vf,ix,pc,vi,r9,al,Mf,Sh,jh,Ff,hc,Qf,m6,M0,ic,jf,Ch,Fu,Hl,cc,e8,Ll,Dq,Ul,bq,R0,Gf,om,C8,bh,zc,Ms,dk,Dk,Tq,Jd,Hh,b,Af,iq,Te,Ue,$q,f6,Bx,H6,If,um,l6,Fp,Lf,XR,Yh,mh,ld,Zt,Oa,uT,Kq,mf,Ca,Ce,H2,jq,s9,Gy,A_,Dt,Bf,jy,O6,R8,xh,Q5,$6,o0,a8,Wf,J6,sd,Fq,Nf,k6,d6,gh,ll,Fn,Nq,id,Bh,np,$h,Vh,Ph,$k,Zo,Gp,Ip,td,cf,GT,_h,pn,Xf,W5,c,wp,Hi,Of,N6,wh,rm,ax,Ih,g8,nd,_f,qf,LT,Rf,fh,zq,Or,oh,hT,Lh,sl,ad,v6,vh,Eh,Cf,mi,sm,Al,Et,d8,rp,rf,Kf,Jh,gk,Uh,Jf,C_,jt,yh,Oh,ep,Vf,Lp,j6,Ef,ud,lr,f0,t8,h6,W6,zx,PT,af,uf,F2,Rl,kq,Gh,pd,Ky,mq,An,Zf,G6,r8,h8,Rd,yq,Pc,Pp,Fh,I6,nh,kf,zf,ql,VT,Me,gf,x8,_d,th,Zn,lm,df,Nk,Df,yf,cd,Zd,wf,Wq,lf,hf,Fy,p6,oc,dh,oq,$5,H,of,xf,L6,Sf,H5,C0,yk,tq,ur,Zq,Yf,Tc,BT,Yc,lq,w5,Pf,Hf,Ix,y_,Vq,ff,od,Ti,Tf,c8,zh,De,fT,EO,zT,Wi,GZ,qq,G5,$a,Xh,_9,FT,b6,z2,F6,Jy,Pq,S5,Hy,Oq,Ba,m1,T1,cm,F5,fd,_c,KT,$f,Zp,tx,je,Ah,ed,il,u6,c6,K5,bf,i9,tf,nq,Aq],nKe=[0,_e,_q,Qh,_1,cu,Iq,zt,nf,pf,p9,X6,b5,j5,kk,Br,Rr,kh,Vp,uh,qh,Nh,Z0,Ta,Xq,Ck,ls,Jr,Zh,hd,ef,R9,Mh,Td,vf,ix,pc,vi,r9,al,Mf,Sh,jh,Ff,hc,Qf,m6,M0,ic,jf,Ch,Fu,Hl,cc,e8,Ll,Dq,Ul,bq,R0,Gf,om,C8,bh,zc,Ms,dk,Dk,Tq,Jd,Hh,b,Af,iq,Te,Ue,$q,f6,Bx,H6,If,um,l6,Fp,Lf,XR,Yh,mh,ld,Zt,Oa,uT,Kq,mf,Ca,Ce,H2,jq,s9,Gy,A_,Dt,Bf,jy,O6,R8,xh,Q5,$6,o0,a8,Wf,J6,sd,Fq,Nf,k6,d6,gh,ll,Fn,Nq,id,Bh,np,$h,Vh,Ph,$k,Zo,Gp,Ip,td,cf,GT,_h,pn,Xf,W5,c,wp,Hi,Of,N6,wh,rm,ax,Ih,g8,nd,_f,qf,LT,Rf,fh,zq,Or,oh,hT,Lh,sl,ad,v6,vh,Eh,Cf,mi,sm,Al,Et,d8,rp,rf,Kf,Jh,gk,Uh,Jf,C_,jt,yh,Oh,ep,Vf,Lp,j6,Ef,ud,lr,f0,t8,h6,W6,zx,PT,af,uf,F2,Rl,kq,Gh,pd,Ky,mq,An,Zf,G6,r8,h8,Rd,yq,Pc,Pp,Fh,I6,nh,kf,zf,ql,VT,Me,gf,x8,_d,th,Zn,lm,df,Nk,Df,yf,cd,Zd,wf,Wq,lf,hf,Fy,p6,oc,dh,oq,$5,H,of,xf,L6,Sf,H5,C0,yk,tq,ur,Zq,Yf,Tc,BT,Yc,lq,w5,Pf,Hf,Ix,y_,Vq,ff,od,Ti,Tf,c8,zh,De,fT,zT,qq,G5,$a,Xh,_9,FT,b6,z2,F6,Jy,Pq,S5,Hy,Oq,Ba,m1,T1,cm,F5,fd,_c,KT,$f,Zp,tx,je,Ah,ed,il,u6,c6,K5,bf,i9,tf,nq,Aq],iKe=[0,jf,v6,uf,j6,W6,fd,$6,A_,LT,Et,$f,Ck,Oa,hc,ld,gf,np,Ph,Pq,Td,H2,hT,a8,rf,sl,hf,Zd,_q,f6,lr,r8,Te,wh,xf,Vq,ud,lf,sd,Lp,_1,Fh,Hh,C0,cm,F2,T1,Or,df,C8,t8,h8,Ff,Bf,ep,M0,Fn,gk,Fy,N6,J6,z2,G5,Lf,Aq,dk,$h,c8,Z0,Gy,zc,nd,_9,uT,om,Ce,zx,XR,Fq,Rf,oh,Ef,c,lq,Jr,yf,Ip,$k,_f,wp,af,pn,Jd,i9,Sf,Zn,d6,Ul,l6,tf,oc,F5,Hl,cu,bh,ur,Rr,Ll,Oh,ll,Ah,G6,ix,Cf,Jy,R8,jh,dh,Pc,ls,_e,Hi,vf,tq,Dk,b5,If,Zq,bq,ed,X6,qq,yk,Q5,nf,Gp,Lh,c6,ef,Al,wf,kf,Zt,x8,Of,H6,I6,Vp,hd,zh,Iq,R9,Ch,kh,m6,p9,FT,Kf,Rd,$a,W5,PT,De,pf,zT,Nq,xh,ax,ff,il,gh,Oq,F6,Ti,td,Bx,Ih,Tf,k6,yh,cc,Br,uh,Qf,$q,pc,Tc,o0,Vf,mh,ql,ad,Fp,KT,pd,Wq,Jh,Xh,Me,Rl,vh,h6,kk,cd,Gf,An,C_,Vh,Df,th,Hf,O6,Fu,Dt,Uh,mf,Af,Zh,s9,Ms,Ca,qh,L6,Zo,Ba,H5,tx,mi,Sh,p6,Mh,f0,R0,jt,jq,Hy,jy,zq,b6,_h,d8,oq,Xq,nq,zt,$5,m1,Ta,H,fh,Eh,w5,rm,iq,Wf,sm,nh,GT,g8,Nh,al,u6,Bh,Ix,Ue,K5,je,VT,um,fT,zf,id,Ky,mq,ic,BT,kq,od,Tq,lm,of,r9,Mf,cf,Zf,_d,j5,yq,Xf,Yh,Zp,Jf,S5,qf,Kq,Gh,Yf,e8,Nk,_c,bf,rp,Yc,Qh,y_,Dq,Pp,Pf,b,vi,Nf],aKe=[0,jf,v6,uf,j6,W6,fd,$6,A_,LT,Et,$f,Ck,Oa,hc,ld,gf,np,Ph,Pq,Td,H2,hT,a8,rf,sl,hf,Zd,_q,f6,lr,r8,Te,wh,xf,Vq,ud,lf,sd,Lp,_1,Eee,Fh,Hh,C0,cm,F2,T1,Or,df,C8,t8,h8,Ff,Bf,ep,M0,Fn,gk,Fy,N6,J6,z2,G5,Lf,Aq,dk,$h,c8,Wi,Z0,Gy,zc,nd,_9,uT,om,Ce,zx,XR,Fq,Rf,oh,Ef,c,lq,Jr,yf,Ip,$k,_f,wp,af,pn,Jd,i9,Sf,Zn,d6,Ul,l6,tf,oc,F5,Hl,cu,bh,ur,Rr,Ll,Oh,ll,Ah,G6,ix,Cf,Jy,R8,jh,dh,Pc,ls,_e,Hi,vf,tq,Dk,b5,If,Zq,bq,ed,X6,qq,yk,Q5,nf,Gp,Lh,c6,ef,Al,wf,kf,Zt,x8,Of,H6,I6,Vp,hd,zh,Iq,R9,Ch,kh,m6,p9,FT,Kf,Rd,$a,W5,PT,De,pf,zT,Nq,xh,ax,ff,il,gh,Oq,F6,Ti,td,Bx,Ih,Tf,k6,yh,cc,Br,uh,Qf,$q,pc,Tc,o0,Vf,mh,ql,ad,Fp,KT,pd,Wq,Jh,Xh,Me,Rl,vh,h6,kk,cd,Gf,An,C_,Vh,Df,th,Hf,O6,Fu,Dt,Uh,mf,Af,Zh,s9,Ms,Ca,qh,L6,Zo,Ba,H5,tx,mi,GZ,Sh,p6,Mh,f0,R0,jt,jq,Hy,jy,zq,b6,_h,d8,oq,Xq,EO,nq,zt,$5,m1,Ta,W2,H,fh,Eh,w5,rm,iq,Wf,sm,nh,GT,g8,Nh,al,u6,Bh,Ix,Ue,K5,je,VT,um,fT,zf,id,Ky,mq,ic,BT,kq,od,Tq,lm,of,r9,Mf,cf,Zf,_d,j5,yq,Xf,Yh,Zp,Jf,S5,qf,Kq,Gh,Yf,e8,Nk,_c,bf,rp,Yc,Qh,y_,Dq,Pp,Pf,b,vi,Nf],sKe=BO,oKe=jF,RKe=Sx,uKe=yS,lKe=cc,cKe=hc,TKe=fY,pKe=s3,_Ke=pc,hKe=BS,fKe=ch,dKe=G,xKe=u8,mKe=GS,kKe=d9,yKe=O8,qKe=Je,CKe=Kx,AKe=_c,gKe=Fc,bKe=ZS,EKe=BT,OKe=Xg,vKe=m_,DKe=gF,SKe=jP,$Ke=I,QKe=sf,NKe=vR,wKe=HT,PKe=Y2,BKe=uP,IKe=Z5,MKe=ws,WKe=Sk,UKe=N$,FKe=yh,LKe=f9,zKe=S8,HKe=rp,YKe=qs,KKe=xb,GKe=D2,VKe=_b,jKe=_e,JKe=Tc,XKe=yb,ZKe=Kh,eGe=bP,tGe=Mee,rGe=Lx,nGe=E8,iGe=Lc,aGe=t3,sGe=dh,oGe=Ny,RGe=$8,uGe=Rh,lGe=ws,cGe=pb,TGe=x5,pGe=q5,_Ge=mU,hGe=r$,fGe=ib,dGe=cb,xGe=_8,mGe=eR,kGe=p8,yGe=iB,qGe=[0,F$],CGe=oa,AGe=[18,1],gGe=[18,0],bGe=[0,0],EGe=u0,OGe=[0,0],vGe=[0,"a type"],DGe=[0,0],SGe=[0,"a number literal type"],$Ge=[0,0],QGe=cb,NGe=_8,wGe=eR,PGe="You should only call render_type after making sure the next token is a renders variant",BGe=[0,[0,0,0,0,0]],IGe=[0,0,0,0],MGe=[0,1],WGe=[0,h9,1436,6],UGe=[0,h9,1439,6],FGe=[0,h9,1542,8],LGe=[0,1],zGe=[0,h9,1559,8],HGe="Can not have both `static` and `proto`",YGe=vR,KGe=lh,GGe=[0,0],VGe=[0,"the end of a tuple type (no trailing comma is allowed in inexact tuple type)."],jGe=[0,h9,Mu,15],JGe=[0,h9,tp,15],XGe=L2,ZGe=L2,eVe=Yy,tVe=Pk,rVe=[0,[11,"Failure while looking up ",[2,0,[11,". Index: ",[4,0,0,0,[11,". Length: ",[4,0,0,0,[12,46,0]]]]]]],"Failure while looking up %s. Index: %d. Length: %d."],nVe=[0,0,0,0],iVe="Offset_utils.Offset_lookup_failed",aVe=go,sVe=mt,oVe=Pk,RVe=Yy,uVe=RR,lVe=Pk,cVe=Yy,TVe=OO,pVe=r,_Ve="normal",hVe=Kh,fVe="jsxTag",dVe="jsxChild",xVe="template",mVe=y,kVe="context",yVe=Kh,qVe=[6,0],CVe=[0,0],AVe=[0,1],gVe=[0,4],bVe=[0,2],EVe=[0,3],OVe=[0,0],vVe=L2,DVe=[0,0,0,0,0,0],SVe=[0,bL],$Ve=[29,[0,0,0]],QVe=[0,0],NVe=[0,1],wVe=[0,1],PVe=[0,0],BVe=u0,IVe=[0,70],MVe=[0,81],WVe=KF,UVe=rq,FVe="exports",LVe=Tb,zVe=[0,oa,oa,0],HVe=[0,U7],YVe=[0,81],KVe=[0,"a declaration, statement or export specifiers"],GVe=[0,1],VVe=[0,my,1872,21],jVe=[0,"the keyword `as`"],JVe=[0,30],XVe=[0,30],ZVe=[0,0],eje=[0,1],tje=[0,U7],rje=[0,"the keyword `from`"],nje=[0,oa,oa,0],ije=[0,bL],aje="Label",sje=[0,bL],oje=[0,0,0],Rje=[0,39],uje=[0,my,372,22],lje=[0,38],cje=[0,my,391,22],Tje=[0,0],pje="the token `;`",_je=[0,0],hje=[0,0],fje=Jw,dje=[0,F$],xje=Jw,mje=[26,Lp],kje=u0,yje=[0,70],qje=[0,oa,0],Cje=Hx,Aje=[0,oa,0],gje=[0,70],bje=[0,70],Eje=BO,Oje=[0,oa,0],vje=[0,0,0],Dje=[0,0,0],Sje=[0,[0,8]],$je=[0,[0,7]],Qje=[0,[0,6]],Nje=[0,[0,10]],wje=[0,[0,9]],Pje=[0,[0,11]],Bje=[0,[0,5]],Ije=[0,[0,4]],Mje=[0,[0,2]],Wje=[0,[0,3]],Uje=[0,[0,1]],Fje=[0,[0,0]],Lje=[0,[0,12]],zje=[0,[0,13]],Hje=[0,[0,14]],Yje=[0,0],Kje=[0,1],Gje=[0,0],Vje=[0,2],jje=[0,3],Jje=[0,7],Xje=[0,6],Zje=[0,4],eJe=[0,5],tJe=[0,1],rJe=[0,0],nJe=[0,1],iJe=[0,0],aJe=f9,sJe=[0,"either a call or access of `super`"],oJe=f9,RJe=yh,uJe=d5,lJe=d5,cJe=Y2,TJe=[0,"the identifier `target`"],pJe=[0,0],_Je=[0,1],hJe=[0,1],fJe=[0,1],dJe=[0,1],xJe=[0,1],mJe=[0,70],kJe=UO,yJe=Ioe,qJe=E6,CJe=E6,AJe=Ma,gJe=[29,[0,0,0]],bJe=[0,0],EJe=[0,1],OJe=[0,0],vJe=ol,DJe=ol,SJe=[0,"a regular expression"],$Je=oa,QJe=oa,NJe=oa,wJe=[0,78],PJe=[0,"src/parser/expression_parser.ml",1450,17],BJe=[0,"a template literal part"],IJe=[0,[0,oa,oa],1],MJe=TT,WJe=[0,6],UJe=[0,[0,17,[0,2]]],FJe=[0,[0,18,[0,3]]],LJe=[0,[0,19,[0,4]]],zJe=[0,[0,0,[0,5]]],HJe=[0,[0,1,[0,5]]],YJe=[0,[0,2,[0,5]]],KJe=[0,[0,3,[0,5]]],GJe=[0,[0,5,[0,6]]],VJe=[0,[0,7,[0,6]]],jJe=[0,[0,4,[0,6]]],JJe=[0,[0,6,[0,6]]],XJe=[0,[0,8,[0,7]]],ZJe=[0,[0,9,[0,7]]],eXe=[0,[0,10,[0,7]]],tXe=[0,[0,11,[0,8]]],rXe=[0,[0,12,[0,8]]],nXe=[0,[0,15,[0,9]]],iXe=[0,[0,13,[0,9]]],aXe=[0,[0,14,[1,10]]],sXe=[0,[0,16,[0,9]]],oXe=[0,[0,21,[0,6]]],RXe=[0,[0,20,[0,6]]],uXe=[22,Lg],lXe=[13,"JSX fragment"],cXe=Qp,TXe=e_,pXe=[0,jp],_Xe=[1,jp],hXe=[0,oa,oa,0],fXe=[0,F$],dXe=oa,xXe=[0,"a number or string literal"],mXe=[0,oa,'""',0],kXe=[0,0],yXe=[0,"a number literal"],qXe=[0,[0,0,lu,0]],CXe=[0,81],AXe=[20,Coe],gXe=[20,tB],bXe=I,EXe=[0,oa,0],OXe="unexpected PrivateName in Property, expected a PrivateField",vXe=[0,0,0],DXe=a3,SXe="Must be one of the above",$Xe=[0,1],QXe=[0,1],NXe=[0,1],wXe=a3,PXe=a3,BXe=ok,IXe="Internal Error: private name found in object props",MXe=[0,0,0,0],WXe=[0,vZ],UXe=[19,[0,0]],FXe=[0,vZ],LXe=Vw,zXe="Nooo: ",HXe=Xg,YXe="Parser error: No such thing as an expression pattern!",KXe=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],GXe=[0,"src/parser/parser_flow.ml",Z7,28],VXe=[0,[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],jXe=mt,JXe=r,XXe=Mp,ZXe=WR,eZe=WR,tZe=Mp,rZe=Kh,nZe=at,iZe=Au,aZe=go,sZe="InterpreterDirective",oZe="interpreter",RZe="Program",uZe=Ek,lZe="BreakStatement",cZe=Ek,TZe="ContinueStatement",pZe="DebuggerStatement",_Ze=v8,hZe="DeclareExportAllDeclaration",fZe=v8,dZe=u5,xZe=HF,mZe=Xg,kZe="DeclareExportDeclaration",yZe=Au,qZe=Os,CZe="DeclareModule",AZe=W0,gZe="DeclareModuleExports",bZe=Au,EZe=Os,OZe="DeclareNamespace",vZe=WO,DZe=Au,SZe="DoWhileStatement",$Ze="EmptyStatement",QZe=gq,NZe=HF,wZe="ExportDefaultDeclaration",PZe=gq,BZe=PL,IZe=v8,MZe="ExportAllDeclaration",WZe=gq,UZe=v8,FZe=u5,LZe=HF,zZe="ExportNamedDeclaration",HZe="directive",YZe=VT,KZe="ExpressionStatement",GZe=Au,VZe="update",jZe=WO,JZe=rd,XZe="ForStatement",ZZe="each",eet=Au,tet=k8,ret=Rc,net="ForInStatement",iet=E8,aet=Au,set=k8,oet=Rc,Ret="ForOfStatement",uet=RS,cet=kH,Tet=WO,pet="IfStatement",_et=Kh,het=Z5,fet=go,det=X0,xet=v8,met=u5,ket="ImportDeclaration",yet=Au,qet=Ek,Cet="LabeledStatement",Aet=K7,get=Aa,bet="MatchStatement",Eet=Aa,Oet="ReturnStatement",vet=K7,Det="discriminant",$et="SwitchStatement",Qet=Aa,Net="ThrowStatement",wet="finalizer",Pet="handler",Bet=Zp,Iet="TryStatement",Met=Au,Wet=WO,Uet="WhileStatement",Fet=Au,Let=ZR,zet="WithStatement",Het=DF,Yet="ArrayExpression",Ket=Tu,Get=I$,Vet=VT,jet=om,Jet=Xo,Xet=Lx,Zet=Au,ett=Xp,ttt=Os,rtt="ArrowFunctionExpression",ntt=VT,itt="AsConstExpression",att=W0,stt=VT,ott="AsExpression",Rtt=ok,utt=k8,ltt=Rc,ctt=zO,Ttt="AssignmentExpression",ptt=k8,_tt=Rc,htt=zO,ftt="BinaryExpression",dtt="CallExpression",xtt=RS,mtt=kH,ktt=WO,ytt="ConditionalExpression",qtt=v8,Ctt="ImportExpression",Att=YZ,gtt=hL,btt=Lg,Ett=k8,Ott=Rc,vtt=zO,Dtt="LogicalExpression",Stt=K7,$tt=Aa,Qtt="MatchExpression",Ntt="MemberExpression",wtt=A8,Ptt=d5,Btt="MetaProperty",Itt=wP,Mtt=gP,Wtt=gO,Utt="NewExpression",Ftt=xP,Ltt="ObjectExpression",ztt=Uu,Htt="OptionalCallExpression",Ytt=Uu,Ktt="OptionalMemberExpression",Gtt=see,Vtt="SequenceExpression",jtt="Super",Jtt="ThisExpression",Xtt=W0,Ztt=VT,ert="TypeCastExpression",trt=W0,rrt=VT,nrt="SatisfiesExpression",irt=Aa,art="AwaitExpression",srt=L2,ort=Hp,Rrt=L1,urt=$0e,lrt=Z5,crt=ws,Trt=uP,prt="matched above",_rt=Aa,hrt=C5,frt=zO,drt="UnaryExpression",xrt=Qg,mrt=Noe,krt=C5,yrt=Aa,qrt=zO,Crt="UpdateExpression",Art="delegate",grt=Aa,brt="YieldExpression",Ert=Mn,Ort=Au,vrt=Fp,Drt="MatchExpressionCase",Srt=Mn,$rt=Au,Qrt=Fp,Nrt="MatchStatementCase",wrt=eP,Prt=Fp,Brt=Ux,Irt="MatchObjectPatternProperty",Mrt=A8,Wrt="base",Urt="MatchMemberPattern",Frt="literal",Lrt="MatchLiteralPattern",zrt="MatchWildcardPattern",Hrt=L2,Yrt=Hp,Krt=Aa,Grt=zO,Vrt="MatchUnaryPattern",jrt=h0,Jrt=xP,Xrt="MatchObjectPattern",Zrt=h0,ent=DF,tnt="MatchArrayPattern",rnt="patterns",nnt="MatchOrPattern",int=z$,ant=Fp,snt="MatchAsPattern",ont=Os,Rnt="MatchIdentifierPattern",unt=Be,lnt=Os,cnt="MatchBindingPattern",Tnt=Aa,pnt="MatchRestPattern",_nt="Unexpected FunctionDeclaration with BodyExpression",hnt="HookDeclaration",fnt=VT,dnt=om,xnt=Xo,mnt=Lx,knt="FunctionDeclaration",ynt=Tu,qnt=I$,Cnt=Au,Ant=Xp,gnt=Os,bnt="Unexpected FunctionExpression with BodyExpression",Ent=Tu,Ont=I$,vnt=VT,Dnt=om,Snt=Xo,$nt=Lx,Qnt=Au,Nnt=Xp,wnt=Os,Pnt="FunctionExpression",Bnt=Uu,Int=W0,Mnt=Fx,Wnt=Bq,Unt=Uu,Fnt=W0,Lnt=Fx,znt="PrivateIdentifier",Hnt=Uu,Ynt=W0,Knt=Fx,Gnt=Bq,Vnt=kH,jnt=WO,Jnt="SwitchCase",Xnt=Au,Znt="param",eit="CatchClause",tit=Au,rit="BlockStatement",nit=Be,iit=Os,ait="DeclareVariable",sit="DeclareHook",oit=om,Rit="DeclareFunction",uit=Os,lit=xee,cit=S8,Tit=sf,pit=Au,_it=Tu,hit=Os,fit="DeclareClass",dit=Tu,xit=ak,mit=Xp,kit=h0,yit=Xp,qit=Os,Cit="DeclareComponent",Ait=Tu,git=ak,bit=h0,Eit=Xp,Oit="ComponentTypeAnnotation",vit=Uu,Dit=W0,Sit=Fx,$it="ComponentTypeParameter",Qit=Au,Nit=Os,wit="DeclareEnum",Pit=sf,Bit=Au,Iit=Tu,Mit=Os,Wit="DeclareInterface",Uit=go,Fit=Kh,Lit=PL,zit="ExportNamespaceSpecifier",Hit=k8,Yit=Tu,Kit=Os,Git="DeclareTypeAlias",Vit=k8,jit=Tu,Jit=Os,Xit="TypeAlias",Zit="DeclareOpaqueType",eat="OpaqueType",tat="supertype",rat="impltype",nat=Tu,iat=Os,aat="ClassDeclaration",sat="ClassExpression",oat=QP,Rat=S8,uat="superTypeParameters",lat="superClass",cat=Tu,Tat=Au,pat=Os,_at=VT,hat="Decorator",fat=Tu,dat=Os,xat="ClassImplements",mat=Au,kat="ClassBody",yat=ht,qat=fb,Cat=wx,Aat=YO,gat=QP,bat=Iy,Eat=vR,Oat=Be,vat=go,Dat=Ux,Sat="MethodDefinition",$at=yb,Qat=QP,Nat=cu,wat=vR,Pat=Iy,Bat=W0,Iat=go,Mat=Ux,Wat=p0e,Uat="Internal Error: Private name found in class prop",Fat=yb,Lat=QP,zat=cu,Hat=vR,Yat=Iy,Kat=W0,Gat=go,Vat=Ux,jat=p0e,Jat=Tu,Xat=ak,Zat=Xp,est=Os,tst=Au,rst="ComponentDeclaration",nst=Aa,ist=hee,ast=k8,sst=Rc,ost=JS,Rst=eP,ust=wk,lst=Fx,cst="ComponentParameter",Tst=rd,pst=Os,_st="EnumBigIntMember",hst=Os,fst=nm,dst=rd,xst=Os,mst="EnumStringMember",kst=Os,yst=nm,qst=rd,Cst=Os,Ast="EnumNumberMember",gst=rd,bst=Os,Est="EnumBooleanMember",Ost=Rb,vst=SB,Dst=d_,Sst="EnumBooleanBody",$st=Rb,Qst=SB,Nst=d_,wst="EnumNumberBody",Pst=Rb,Bst=SB,Ist=d_,Mst="EnumStringBody",Wst=Rb,Ust=d_,Fst="EnumSymbolBody",Lst=Rb,zst=SB,Hst=d_,Yst="EnumBigIntBody",Kst=Au,Gst=Os,Vst="EnumDeclaration",jst=sf,Jst=Au,Xst=Tu,Zst=Os,eot="InterfaceDeclaration",tot=Tu,rot=Os,not="InterfaceExtends",iot=W0,aot=xP,sot="ObjectPattern",oot=W0,Rot=DF,uot="ArrayPattern",lot=k8,cot=Rc,Tot=JS,pot=W0,_ot=Fx,hot=Bq,fot=Aa,dot=hee,xot=Aa,mot=hee,kot=k8,yot=Rc,qot=JS,Cot=rd,Aot=rd,got=wx,bot=YO,Eot=ex,Oot=Iy,vot=eP,Dot=fb,Sot=Be,$ot=go,Qot=Ux,Not=PZ,wot=Aa,Pot=AO,Bot=k8,Iot=Rc,Mot=JS,Wot=Iy,Uot=eP,Fot=fb,Lot=Be,zot=go,Hot=Ux,Yot=PZ,Kot=Aa,Got=AO,Vot=x_,jot=go,Jot=j1,Xot=oa,Zot=x_,e0t=$8,t0t=go,r0t=j1,n0t=x_,i0t=go,a0t=j1,s0t=Kx,o0t=Je,R0t=x_,u0t=go,l0t=j1,c0t="flags",T0t=Fp,p0t="regex",_0t=x_,h0t=go,f0t=j1,d0t=x_,x0t=go,m0t=j1,k0t=see,y0t="quasis",q0t="TemplateLiteral",C0t="cooked",A0t=x_,g0t="tail",b0t=go,E0t="TemplateElement",O0t="quasi",v0t="tag",D0t="TaggedTemplateExpression",S0t=ch,$0t=d9,Q0t=GS,N0t=Be,w0t="declarations",P0t="VariableDeclaration",B0t=rd,I0t=Os,M0t="VariableDeclarator",W0t="plus",U0t=uee,F0t=ib,L0t=Sx,z0t=QO,H0t="in-out",Y0t=Be,K0t="Variance",G0t="AnyTypeAnnotation",V0t="MixedTypeAnnotation",j0t="EmptyTypeAnnotation",J0t="VoidTypeAnnotation",X0t="NullLiteralTypeAnnotation",Z0t="SymbolTypeAnnotation",eRt="NumberTypeAnnotation",tRt="BigIntTypeAnnotation",rRt="StringTypeAnnotation",nRt="BooleanTypeAnnotation",iRt=W0,aRt="NullableTypeAnnotation",sRt="UnknownTypeAnnotation",oRt="NeverTypeAnnotation",RRt="UndefinedTypeAnnotation",uRt=Be,lRt=W0,cRt="parameterName",TRt="TypePredicate",pRt="HookTypeAnnotation",_Rt="FunctionTypeAnnotation",hRt=s3,fRt=Tu,dRt=h0,xRt=I$,mRt=Xp,kRt=Uu,yRt=W0,qRt=Fx,CRt=MF,ARt=Uu,gRt=W0,bRt=Fx,ERt=MF,ORt=[0,0,0,0,0],vRt="internalSlots",DRt="callProperties",SRt="indexers",$Rt=xP,QRt="exact",NRt=Boe,wRt="ObjectTypeAnnotation",PRt=ex,BRt="There should not be computed object type property keys",IRt=rd,MRt=wx,WRt=YO,URt=Be,FRt=cu,LRt=lh,zRt=vR,HRt=Uu,YRt=fb,KRt=go,GRt=Ux,VRt="ObjectTypeProperty",jRt=Aa,JRt="ObjectTypeSpreadProperty",XRt=cu,ZRt=vR,eut=go,tut=Ux,rut=Os,nut="ObjectTypeIndexer",iut=vR,aut=go,sut="ObjectTypeCallProperty",out=Uu,Rut=cu,uut="sourceType",lut="propType",cut="keyTparam",Tut="ObjectTypeMappedTypeProperty",put=go,_ut=fb,hut=vR,fut=Uu,dut=Os,xut="ObjectTypeInternalSlot",mut=Au,kut=sf,yut="InterfaceTypeAnnotation",qut=Qoe,Cut="ArrayTypeAnnotation",Aut="falseType",gut="trueType",but="extendsType",Eut="checkType",Out="ConditionalTypeAnnotation",vut="typeParameter",Dut="InferTypeAnnotation",Sut=Os,$ut=V5,Qut="QualifiedTypeIdentifier",Nut=Tu,wut=Os,Put="GenericTypeAnnotation",But="indexType",Iut="objectType",Mut="IndexedAccessType",Wut=Uu,Uut="OptionalIndexedAccessType",Fut=G4,Lut="UnionTypeAnnotation",zut=G4,Hut="IntersectionTypeAnnotation",Yut=gP,Kut=Aa,Gut="TypeofTypeAnnotation",Vut=Os,jut=V5,Jut="QualifiedTypeofIdentifier",Xut=Aa,Zut="KeyofTypeAnnotation",elt=OS,tlt=LZ,rlt=_oe,nlt=W0,ilt=zO,alt="TypeOperator",slt=ib,olt=Boe,Rlt="elementTypes",ult="TupleTypeAnnotation",llt=Uu,clt=cu,Tlt=Qoe,plt=Ek,_lt="TupleTypeLabeledElement",hlt=W0,flt=Ek,dlt="TupleTypeSpreadElement",xlt=x_,mlt=go,klt="StringLiteralTypeAnnotation",ylt=x_,qlt=go,Clt="NumberLiteralTypeAnnotation",Alt=x_,glt=go,blt="BigIntLiteralTypeAnnotation",Elt=Kx,Olt=Je,vlt=x_,Dlt=go,Slt="BooleanLiteralTypeAnnotation",$lt="ExistsTypeAnnotation",Qlt=W0,Nlt=hoe,wlt=W0,Plt=hoe,Blt=Xp,Ilt="TypeParameterDeclaration",Mlt="usesExtendsBound",Wlt=Xg,Ult=cu,Flt="bound",Llt=Fx,zlt="TypeParameter",Hlt=Xp,Ylt=kee,Klt=Xp,Glt=kee,Vlt=TT,jlt=T0e,Jlt="closingElement",Xlt="openingElement",Zlt="JSXElement",ect="closingFragment",tct=T0e,rct="openingFragment",nct="JSXFragment",ict=gP,act="selfClosing",sct="attributes",oct=Fx,Rct="JSXOpeningElement",uct="JSXOpeningFragment",lct=Fx,cct="JSXClosingElement",Tct="JSXClosingFragment",pct=go,_ct=Fx,hct="JSXAttribute",fct=Aa,dct="JSXSpreadAttribute",xct="JSXEmptyExpression",mct=VT,kct="JSXExpressionContainer",yct=VT,qct="JSXSpreadChild",Cct=x_,Act=go,gct="JSXText",bct=A8,Ect=ZR,Oct="JSXMemberExpression",vct=Fx,Dct=rq,Sct="JSXNamespacedName",$ct=Fx,Qct="JSXIdentifier",Nct=PL,wct=wk,Pct="ExportSpecifier",Bct=wk,Ict="ImportDefaultSpecifier",Mct=wk,Wct="ImportNamespaceSpecifier",Uct=X0,Fct=wk,Lct="imported",zct="ImportSpecifier",Hct="Line",Yct="Block",Kct=go,Gct=go,Vct="DeclaredPredicate",jct="InferredPredicate",Jct=wP,Xct=gP,Zct=gO,eTt=Iy,tTt=A8,rTt=ZR,nTt="message",iTt=r,aTt=RR,sTt=OO,oTt=v8,RTt=Pk,uTt=Yy,lTt=[0,_e,_q,Qh,_1,cu,Iq,zt,nf,pf,p9,X6,b5,j5,kk,Br,Rr,kh,Vp,uh,qh,Nh,Z0,Ta,Xq,Ck,ls,Jr,Zh,hd,ef,R9,Mh,Td,vf,ix,pc,vi,r9,al,Mf,Sh,jh,Ff,hc,Qf,m6,M0,ic,jf,Ch,Fu,Hl,cc,e8,Ll,Dq,Ul,bq,R0,Gf,om,C8,bh,zc,Ms,dk,Dk,Tq,Jd,Hh,b,Af,iq,Te,Ue,$q,f6,Bx,H6,If,um,l6,Fp,Lf,XR,Yh,mh,ld,Zt,Oa,uT,Kq,mf,Ca,Ce,H2,jq,s9,Gy,A_,Dt,Bf,jy,O6,R8,xh,Q5,$6,o0,a8,Wf,J6,sd,Fq,Nf,k6,d6,gh,ll,Fn,Nq,id,Bh,np,$h,Vh,Ph,$k,Zo,Gp,Ip,td,cf,GT,_h,pn,Xf,W5,c,wp,Hi,Of,N6,wh,rm,ax,Ih,g8,nd,_f,qf,LT,Rf,fh,zq,Or,oh,hT,Lh,sl,ad,v6,vh,Eh,Cf,mi,sm,Al,Et,d8,rp,rf,Kf,Jh,gk,Uh,Jf,C_,jt,yh,Oh,ep,Vf,Lp,j6,Ef,ud,lr,f0,t8,h6,W6,zx,PT,af,uf,F2,Rl,kq,Gh,pd,Ky,mq,An,Zf,G6,r8,h8,Rd,yq,Pc,Pp,Fh,I6,nh,kf,zf,ql,VT,Me,gf,x8,_d,th,Zn,lm,df,Nk,Df,yf,cd,Zd,wf,Wq,lf,hf,Fy,p6,oc,dh,oq,$5,H,of,xf,L6,Sf,H5,C0,yk,tq,ur,Zq,Yf,Tc,BT,Yc,lq,w5,Pf,Hf,Ix,y_,Vq,ff,od,Ti,Tf,c8,zh,De,fT,zT,qq,G5,$a,Xh,_9,FT,b6,z2,F6,Jy,Pq,S5,Hy,Oq,Ba,m1,T1,cm,F5,fd,_c,KT,$f,Zp,tx,je,Ah,ed,il,u6,c6,K5,bf,i9,tf,nq,Aq],cTt=[0,jf,v6,uf,j6,W6,fd,$6,A_,LT,Et,$f,Ck,Oa,hc,ld,gf,np,Ph,Pq,Td,H2,hT,a8,rf,sl,hf,Zd,_q,f6,lr,r8,Te,wh,xf,Vq,ud,lf,sd,Lp,_1,Fh,Hh,C0,cm,F2,T1,Or,df,C8,t8,h8,Ff,Bf,ep,M0,Fn,gk,Fy,N6,J6,z2,G5,Lf,Aq,dk,$h,c8,Z0,Gy,zc,nd,_9,uT,om,Ce,zx,XR,Fq,Rf,oh,Ef,c,lq,Jr,yf,Ip,$k,_f,wp,af,pn,Jd,i9,Sf,Zn,d6,Ul,l6,tf,oc,F5,Hl,cu,bh,ur,Rr,Ll,Oh,ll,Ah,G6,ix,Cf,Jy,R8,jh,dh,Pc,ls,_e,Hi,vf,tq,Dk,b5,If,Zq,bq,ed,X6,qq,yk,Q5,nf,Gp,Lh,c6,ef,Al,wf,kf,Zt,x8,Of,H6,I6,Vp,hd,zh,Iq,R9,Ch,kh,m6,p9,FT,Kf,Rd,$a,W5,PT,De,pf,zT,Nq,xh,ax,ff,il,gh,Oq,F6,Ti,td,Bx,Ih,Tf,k6,yh,cc,Br,uh,Qf,$q,pc,Tc,o0,Vf,mh,ql,ad,Fp,KT,pd,Wq,Jh,Xh,Me,Rl,vh,h6,kk,cd,Gf,An,C_,Vh,Df,th,Hf,O6,Fu,Dt,Uh,mf,Af,Zh,s9,Ms,Ca,qh,L6,Zo,Ba,H5,tx,mi,Sh,p6,Mh,f0,R0,jt,jq,Hy,jy,zq,b6,_h,d8,oq,Xq,nq,zt,$5,m1,Ta,H,fh,Eh,w5,rm,iq,Wf,sm,nh,GT,g8,Nh,al,u6,Bh,Ix,Ue,K5,je,VT,um,fT,zf,id,Ky,mq,ic,BT,kq,od,Tq,lm,of,r9,Mf,cf,Zf,_d,j5,yq,Xf,Yh,Zp,Jf,S5,qf,Kq,Gh,Yf,e8,Nk,_c,bf,rp,Yc,Qh,y_,Dq,Pp,Pf,b,vi,Nf],TTt=[0,Aq,nq,tf,i9,bf,K5,c6,u6,il,ed,Ah,je,tx,Zp,$f,KT,_c,fd,F5,cm,T1,m1,Ba,Oq,Hy,S5,Pq,Jy,F6,z2,b6,FT,_9,Xh,$a,G5,qq,zT,fT,De,zh,c8,Tf,Ti,od,ff,Vq,y_,Ix,Hf,Pf,w5,lq,Yc,BT,Tc,Yf,Zq,ur,tq,yk,C0,H5,Sf,L6,xf,of,H,$5,oq,dh,oc,p6,Fy,hf,lf,Wq,wf,Zd,cd,yf,Df,Nk,df,lm,Zn,th,_d,x8,gf,Me,VT,ql,zf,kf,nh,I6,Fh,Pp,Pc,yq,Rd,h8,r8,G6,Zf,An,mq,Ky,pd,Gh,kq,Rl,F2,uf,af,PT,zx,W6,h6,t8,f0,lr,ud,Ef,j6,Lp,Vf,ep,Oh,yh,jt,C_,Jf,Uh,gk,Jh,Kf,rf,rp,d8,Et,Al,sm,mi,Cf,Eh,vh,v6,ad,sl,Lh,hT,oh,Or,zq,fh,Rf,LT,qf,_f,nd,g8,Ih,ax,rm,wh,N6,Of,Hi,wp,c,W5,Xf,pn,_h,GT,cf,td,Ip,Gp,Zo,$k,Ph,Vh,$h,np,Bh,id,Nq,Fn,ll,gh,d6,k6,Nf,Fq,sd,J6,Wf,a8,o0,$6,Q5,xh,R8,O6,jy,Bf,Dt,A_,Gy,s9,jq,H2,Ce,Ca,mf,Kq,uT,Oa,Zt,ld,mh,Yh,XR,Lf,Fp,l6,um,If,H6,Bx,f6,$q,Ue,Te,iq,Af,b,Hh,Jd,Tq,Dk,dk,Ms,zc,bh,C8,om,Gf,R0,bq,Ul,Dq,Ll,e8,cc,Hl,Fu,Ch,jf,ic,M0,m6,Qf,hc,Ff,jh,Sh,Mf,al,r9,vi,pc,ix,vf,Td,Mh,R9,ef,hd,Zh,Jr,ls,Ck,Xq,Ta,Z0,Nh,qh,uh,Vp,kh,Rr,Br,kk,j5,b5,X6,p9,pf,nf,zt,Iq,cu,_1,Qh,_q,_e],pTt="Jsoo_runtime.Error.Exn",_Tt=[0,0],hTt="use_strict",fTt=G4,dTt="esproposal_decorators",xTt="pattern_matching",mTt="enums",kTt="components",yTt="Internal error: ",qTt=[Ws,"CamlinternalLazy.Undefined",md(0)];function CTt(a,u){var p=ii(u)-1|0,d=0;if(p>=0)for(var q=d;;){a($r(u,q));var g=q+1|0;if(p===q)break;var q=g}}var ATt=dn,gTt=[0,0];function mxe(a){var u=bge(0),p=eue(he),d=u.length-1,q=Do((d*8|0)+1|0),g=d-1|0,O=0;if(g>=0)for(var B=O;;){C3e(q,B*8|0,gb(Wo(u,B)[1+B]));var W=B+1|0;if(g===B)break;var B=W}Jx(q,d*8|0,1);var Y=ZRe(q);Jx(q,d*8|0,2);var V=ZRe(q),Z=_Q(V,8),se=_Q(V,0),ae=_Q(Y,8);return tue(p,_Q(Y,0),ae,se,Z),p}for(;;){var c3=q9(eG);let a=[0,1],u=c3;if(!(1-H$(eG,c3,function(p){return H$(a,1,0)&&(W8(M8(bue),he),W8(M8(Eue),he)),J(u,0)})))break}if(q9(gTt))throw Pr([0,uQ,Pve],1);var xm=iG([0,dn]),Bk=iG([0,dn]),Hb=iG([0,fc]),kxe=GK(0,0),bTt=2,yxe=[0,0];function vue(a){return 2=0)for(var O=g;;){var B=(O*2|0)+3|0,W=Wo(a,O)[1+O];Wo(p,B)[1+B]=W;var Y=O+1|0;if(q===O)break;var O=Y}return[0,bTt,p,Bk[1],Hb[1],0,0,xm[1],0]}function Due(a,u){var p=a[2].length-1;if(p=0)for(var q=d;;){var g=r0(a,q);u[1]=(DU*u[1]|0)+g|0;var O=q+1|0;if(p===q)break;var q=O}u[1]=u[1]&t9;var B=1073741823u)return p;var d=[0,a[1+u],p],u=u-1|0,p=d}}function QG(a,u){try{var p=xm[17].call(null,u,a[7]);return p}catch(g){var d=n0(g);if(d!==kd)throw Pr(d,0);var q=a[1];return a[1]=q+1|0,Re(u,oa)&&(a[7]=xm[2].call(null,u,q,a[7])),q}}function NG(a){return E9(a,0)?[0]:a}function wB(a,u,p,d,q,g){var O=q[2],B=q[4],W=$G(u),Y=$G(p),V=$G(d),Z=yd(function(Tt){return CQ(a,Tt)},Y),se=yd(function(Tt){return CQ(a,Tt)},V);a[5]=[0,[0,a[3],a[4],a[6],a[7],Z,W],a[5]],a[7]=xm[24].call(null,function(Tt,Rt,kt){return nG(Tt,W)?xm[2].call(null,Tt,Rt,kt):kt},a[7],xm[1]);var ae=[0,Bk[1]],ue=[0,Hb[1]];SRe(function(Tt,Rt){ae[1]=Bk[2].call(null,Tt,Rt,ae[1]);var kt=ue[1];try{var ft=Hb[17].call(null,Rt,a[4]),It=ft}catch(Ot){var dt=n0(Ot);if(dt!==kd)throw Pr(dt,0);var It=1}ue[1]=Hb[2].call(null,Rt,It,kt)},V,se),SRe(function(Tt,Rt){ae[1]=Bk[2].call(null,Tt,Rt,ae[1]),ue[1]=Hb[2].call(null,Rt,0,ue[1])},Y,Z),a[3]=ae[1],a[4]=ue[1],a[6]=rG(function(Tt,Rt){return nG(Tt[1],Z)?Rt:[0,Tt,Rt]},a[6],0);var pe=g?J(O(a),B):O(a),xe=Qb(a[5]),ye=xe[6],ge=xe[5],Ne=xe[4],Fe=xe[3],ze=xe[2],ut=xe[1];a[5]=DRe(a[5]),a[7]=tR(function(Tt,Rt){var kt=xm[17].call(null,Rt,a[7]);return xm[2].call(null,Rt,kt,Tt)},Ne,ye),a[3]=ut,a[4]=ze,a[6]=rG(function(Tt,Rt){return nG(Tt[1],ge)?Rt:[0,Tt,Rt]},a[6],Fe);var it=[0,hQ(function(Tt){var Rt=CQ(a,Tt);try{for(var kt=a[6];;){if(!kt)throw Pr(kd,1);var ft=kt[1],It=kt[2],dt=ft[2];if(tRe(ft[1],Rt)===0)return dt;var kt=It}}catch(At){var Ot=n0(At);if(Ot===kd)return Wo(a[2],Rt)[1+Rt];throw Pr(Ot,0)}},NG(d)),0];return _3e([0,[0,pe],[0,hQ(function(Tt){try{var Rt=xm[17].call(null,Tt,a[7]);return Rt}catch(ft){var kt=n0(ft);throw kt===kd?Pr([0,Wa,Bve],1):Pr(kt,0)}},NG(u)),it]])}function AQ(a,u){if(a===0)var p=Hee([0]);else{var d=Hee(hQ(ETt,a)),q=a.length-1-1|0,g=0;if(q>=0)for(var O=g;;){var B=(O*2|0)+2|0;d[3]=Bk[2].call(null,a[1+O],B,d[3]),d[4]=Hb[2].call(null,B,1,d[4]);var W=O+1|0;if(q===O)break;var O=W}var p=d}var Y=u(p);return p[8]=xn(p[8]),Due(p,3+((Wo(p[2],1)[2]*16|0)/32|0)|0),[0,J(Y,0),u,,0]}function PB(a,u){if(a)return a;var p=GK(Ws,u[1]);return p[1]=u[2],kge(p)}function BB(a,u,p){if(a)return u;var d=p[8];if(d!==0)for(var q=d;q;){var g=q[2];J(q[1],u);var q=g}return u}function IB(a){var u=qQ(a);e:{if(u%2|0&&(2+((Wo(a[2],1)[2]*16|0)/32|0)|0)>=u){var p=qQ(a);break e}var p=u}return Wo(a[2],p)[1+p]=0,p}function Gee(a,u){for(var p=[0,0],d=u.length-1;;){if(p[1]>=d)return;var q=p[1],g=function(Ir){p[1]++;var Dr=p[1];return Wo(u,Dr)[1+Dr]},O=Wo(u,q)[1+q],B=g(he);if(typeof B=="number")switch(B){case 0:let Ir=g(he);var sr=function(Xn){return Ir};break;case 1:let Dr=g(he);var sr=function(Xn){return Xn[1+Dr]};break;case 2:var W=g(he);let on=W,cn=g(he);var sr=function(Xn){return Xn[1+on][1+cn]};break;case 3:let Lr=g(he);var sr=function(Xn){return J(Xn[1][1+Lr],Xn)};break;case 4:let fn=g(he);var sr=function(Xn,Zi){return Xn[1+fn]=Zi,0};break;case 5:var Y=g(he);let rn=Y,vt=g(he);var sr=function(Xn){return J(rn,vt)};break;case 6:var V=g(he);let qr=V,Pe=g(he);var sr=function(Xn){return J(qr,Xn[1+Pe])};break;case 7:var Z=g(he),se=g(he);let Lt=Z,Xe=se,Mt=g(he);var sr=function(Xn){return J(Lt,Xn[1+Xe][1+Mt])};break;case 8:var ae=g(he);let Gt=ae,Ze=g(he);var sr=function(Xn){return J(Gt,J(Xn[1][1+Ze],Xn))};break;case 9:var ue=g(he),pe=g(he);let Xr=ue,qt=pe,kn=g(he);var sr=function(Xn){return K(Xr,qt,kn)};break;case 10:var xe=g(he),ye=g(he);let Ki=xe,Qe=ye,Vt=g(he);var sr=function(Xn){return K(Ki,Qe,Xn[1+Vt])};break;case 11:var ge=g(he),Ne=g(he),Fe=g(he);let We=ge,Qt=Ne,gn=Fe,qn=g(he);var sr=function(Xn){return K(We,Qt,Xn[1+gn][1+qn])};break;case 12:var ze=g(he),ut=g(he);let gr=ze,wn=ut,br=g(he);var sr=function(Xn){return K(gr,wn,J(Xn[1][1+br],Xn))};break;case 13:var it=g(he),Tt=g(he);let jn=it,Rn=Tt,ai=g(he);var sr=function(Xn){return K(jn,Xn[1+Rn],ai)};break;case 14:var Rt=g(he),kt=g(he),ft=g(he);let mn=Rt,Jn=kt,Oi=ft,Cn=g(he);var sr=function(Xn){return K(mn,Xn[1+Jn][1+Oi],Cn)};break;case 15:var It=g(he),dt=g(he);let Fi=It,Ri=dt,Da=g(he);var sr=function(Xn){return K(Fi,J(Xn[1][1+Ri],Xn),Da)};break;case 16:var Ot=g(he);let Ha=Ot,Fs=g(he);var sr=function(Xn){return K(Xn[1][1+Ha],Xn,Fs)};break;case 17:var At=g(he);let Ks=At,Yo=g(he);var sr=function(Xn){return K(Xn[1][1+Ks],Xn,Xn[1+Yo])};break;case 18:var wt=g(he),or=g(he);let ra=wt,we=or,Ft=g(he);var sr=function(Xn){return K(Xn[1][1+ra],Xn,Xn[1+we][1+Ft])};break;case 19:var rr=g(he);let Oe=rr,yt=g(he);var sr=function(Xn){var Zi=J(Xn[1][1+yt],Xn);return K(Xn[1][1+Oe],Xn,Zi)};break;case 20:var Jt=g(he),tr=g(he);IB(a);let yn=Jt,tn=tr;var sr=function(Xn){return J(ki(tn,yn,0),tn)};break;case 21:var mr=g(he),Xt=g(he);IB(a);let di=mr,ui=Xt;var sr=function(Xn){var Zi=Xn[1+ui];return J(ki(Zi,di,0),Zi)};break;case 22:var hr=g(he),Ge=g(he),Cr=g(he);IB(a);let _s=hr,la=Ge,hs=Cr;var sr=function(Xn){var Zi=Xn[1+la][1+hs];return J(ki(Zi,_s,0),Zi)};break;default:var rt=g(he),yr=g(he);IB(a);let Za=rt,ci=yr;var sr=function(Xn){var Zi=J(Xn[1][1+ci],Xn);return J(ki(Zi,Za,0),Zi)}}else var sr=B;Kee(a,O,sr),p[1]++}}function $ue(a,u){var p=u.length-1,d=GK(0,p),q=p-1|0,g=0;if(q>=0)for(var O=g;;){var B=Wo(u,O)[1+O];if(typeof B=="number")switch(B){case 0:let ue=O;var W=function(Ne){var Fe=d[1+ue];if(pe===Fe)throw Pr([0,Db,a],1);return J(Fe,Ne)};let pe=W;var Z=W;break;case 1:var Y=[];let xe=Y,ye=O;ns(Y,[FS,function(Ne){var Fe=d[1+ye];if(xe===Fe)throw Pr([0,Db,a],1);var ze=P8(Fe);if(k9===ze)return Fe[1];if(FS!==ze&&em!==ze)return Fe;if(V3e(Fe)!==0)throw Pr(qTt,1);var ut=Fe[1];Fe[1]=0;try{var it=J(ut,0);return Fe[1]=it,j3e(Fe),it}catch(Rt){var Tt=n0(Rt);throw Fe[1]=function(kt){throw Pr(Tt,0)},G3e(Fe),Pr(Tt,0)}}]);var Z=Y;break;default:var V=function(Ne){throw Pr([0,Db,a],1)},Z=[0,V,V,V,0]}else var Z=B[0]===0?$ue(a,B[1]):B[1];d[1+O]=Z;var se=O+1|0;if(q===O)break;var O=se}return d}function qxe(a,u,p){if(P8(p)===0&&a.length-1<=p.length-1){var d=a.length-1-1|0,q=0;if(d>=0)for(var g=q;;){var O=p[1+g],B=Wo(a,g)[1+g];e:if(typeof B=="number"){if(B===2){if(P8(O)===0&&O.length-1===4){for(var W=0,Y=u[1+g];;){Y[1+W]=O[1+W];var V=W+1|0;if(W===3)break;var W=V}break e}throw Pr([0,Wa,Ive],1)}u[1+g]=O}else B[0]===0&&qxe(B[1],u[1+g],O);var Z=g+1|0;if(d===g)break;var g=Z}return}throw Pr([0,Wa,Mve],1)}try{var Que=dRe("TMPDIR"),Vee=Que}catch(a){var Cxe=n0(a);if(Cxe!==kd)throw Pr(Cxe,0);var Vee=Wve}var OTt=[0,,,,,,,,,,Vee];try{var Axe=dRe("TEMP"),Nue=Axe}catch(a){var gxe=n0(a);if(gxe!==kd)throw Pr(gxe,0);var Nue=Uve}var vTt=[0,,,,,,,,,,Nue],DTt=[0,,,,,,,,,,Vee],STt=Re(ORe,A5)?Re(ORe,"Win32")?OTt:vTt:DTt,T3=STt[10];qd(0,mxe),qd([0,function(a){return a}],function(a){return T3});function s2(a,u){function p(d){return kT(a,d)}return ub<=u?(p(LO|u>>>18|0),p(t0|(u>>>12|0)&63),p(t0|(u>>>6|0)&63),p(t0|u&63)):yU<=u?(p(S2|u>>>12|0),p(t0|(u>>>6|0)&63),p(t0|u&63)):t0<=u?(p(y0|u>>>6|0),p(t0|u&63)):p(u)}var Yb=[Ws,zve,md(0)],wue=0,Pue=0,Bue=0,Iue=0,Mue=0,Wue=0,Uue=0,Fue=0,Lue=0,$e=0;function le(a){if(a[3]===a[2])return-1;var u=a[1][1+a[3]];return a[3]=a[3]+1|0,u===10&&(a[5]!==0&&(a[5]=a[5]+1|0),a[4]=a[3]),u}function Kt(a,u){a[9]=a[3],a[10]=a[4],a[11]=a[5],a[12]=u}function Se(a){return a[6]=a[3],a[7]=a[4],a[8]=a[5],Kt(a,-1)}function Ke(a){return a[3]=a[9],a[4]=a[10],a[5]=a[11],a[12]}function XO(a){a[3]=a[6],a[4]=a[7],a[5]=a[8]}function MB(a,u){a[6]=u}function _u(a){return a[3]-a[6]|0}function Yu(a){var u=a[3]-a[6]|0,p=a[6],d=a[1];return 0<=p&&0<=u&&(d.length-1-u|0)>=p?h3e(d,p,u):UR(wve)}function WB(a){var u=a[6];return Wo(a[1],u)[1+u]}function UB(a,u,p,d){for(var q=[0,u],g=[0,p],O=[0,0];;){if(0>=g[1])return O[1];var B=a[1+q[1]];if(0>B)throw Pr(Yb,1);if(xR>>18|0),As(d,O[1]+1|0,t0|(B>>>12|0)&63),As(d,O[1]+2|0,t0|(B>>>6|0)&63),As(d,O[1]+3|0,t0|B&63),O[1]=O[1]+4|0}else As(d,O[1],S2|B>>>12|0),As(d,O[1]+1|0,t0|(B>>>6|0)&63),As(d,O[1]+2|0,t0|B&63),O[1]=O[1]+3|0;else As(d,O[1],y0|B>>>6|0),As(d,O[1]+1|0,t0|B&63),O[1]=O[1]+2|0;else As(d,O[1],B),O[1]++;q[1]++,g[1]+=-1}}function FB(a){for(var u=ii(a),p=fm(u,0),d=[0,0],q=[0,0];;){if(d[1]>=u)return[0,p,q[1],$e,Lue,Fue,Uue,Wue,Mue,Iue,Bue,Pue,wue];var g=$r(a,d[1]);e:{if(y0<=g){if(LO>g){if(S2>g){var O=$r(a,d[1]+1|0);if((O>>>6|0)!==2)throw Pr(Yb,1);p[1+q[1]]=(g&31)<<6|O&63,d[1]=d[1]+2|0;break e}var B=$r(a,d[1]+1|0),W=$r(a,d[1]+2|0),Y=(g&15)<<12|(B&63)<<6|W&63,V=(B>>>6|0)!==2?1:0,Z=V||((W>>>6|0)!==2?1:0);if(Z)var ae=Z;else var se=55296<=Y?1:0,ae=se&&(Y<=57343?1:0);if(ae)throw Pr(Yb,1);p[1+q[1]]=Y,d[1]=d[1]+3|0;break e}if(Ws>g){var ue=$r(a,d[1]+1|0),pe=$r(a,d[1]+2|0),xe=$r(a,d[1]+3|0),ye=(ue>>>6|0)!==2?1:0;if(ye)var Ne=ye;else var ge=(pe>>>6|0)!==2?1:0,Ne=ge||((xe>>>6|0)!==2?1:0);if(Ne)throw Pr(Yb,1);var Fe=(g&7)<<18|(ue&63)<<12|(pe&63)<<6|xe&63;if(Lyg){p[1+q[1]]=g,d[1]++;break e}throw Pr(Yb,1)}q[1]++}}function ps(a,u,p){var d=a[6]+u|0,q=Do(p*4|0),g=a[1];if((d+p|0)<=g.length-1)return Q9(q,0,UB(g,d,p,q));throw Pr([0,Wa,Lve],1)}function ms(a){var u=a[6],p=a[3]-u|0,d=Do(p*4|0);return Q9(d,0,UB(a[1],u,p,d))}function ZO(a,u){var p=a[6],d=a[3]-p|0,q=Do(d*4|0);return uG(u,q,0,UB(a[1],p,d,q))}function LB(a){var u=a.length-1,p=Do(u*4|0);return Q9(p,0,UB(a,0,u,p))}function W9(a,u){a[3]=a[3]-u|0}function G2(a){return typeof a=="number"?0:a[0]===0?1:a[1]}function p3(a,u,p,d){var q=G2(a),g=G2(d),O=g<=q?q+1|0:g+1|0;return O===1?[0,u,p]:[1,O,u,p,a,d]}function wG(a,u,p,d){var q=G2(a),g=G2(d),O=g<=q?q+1|0:g+1|0;return[1,O,u,p,a,d]}function Kb(a,u,p,d){var q=G2(a),g=G2(d);if((g+2|0)=g)return p3(a,u,p,d);var pe=d[5],xe=d[4],ye=d[3],ge=d[2],Ne=G2(xe);if(Ne<=G2(pe))return wG(p3(a,u,p,xe),ge,ye,pe);var Fe=xe[4],ze=xe[3],ut=xe[2],it=p3(xe[5],ge,ye,pe);return wG(p3(a,u,p,Fe),ut,ze,it)}function V2(a){return typeof a=="number"?0:a[0]===0?1:a[1]}function tC(a,u,p){e:{t:{if(typeof a=="number"){if(typeof p=="number")return[0,u];if(p[0]===1)break t}else{if(a[0]!==0){var d=a[1];if(typeof p!="number"&&p[0]===1){var q=p[1],g=q<=d?d+1|0:q+1|0;return[1,g,u,a,p]}var O=d;break e}if(typeof p!="number"&&p[0]===1)break t}return[1,2,u,a,p]}var O=p[1]}return[1,O+1|0,u,a,p]}function PG(a,u,p){var d=V2(a),q=V2(p),g=q<=d?d+1|0:q+1|0;return[1,g,u,a,p]}function jee(a,u,p){var d=V2(a),q=V2(p);if((q+2|0)=q)return tC(a,u,p);var se=p[4],ae=p[3],ue=p[2],pe=V2(ae);if(pe<=V2(se))return PG(tC(a,u,ae),ue,se);var xe=ae[3],ye=ae[2],ge=tC(ae[4],ue,se);return PG(tC(a,u,xe),ye,ge)}var Jee=0;function zue(a){function u(p,d){if(typeof d=="number")return[0,p];if(d[0]===0){var q=d[1],g=K(a[1],p,q);return g===0?d:0<=g?tC(d,p,Jee):tC([0,p],q,Jee)}var O=d[4],B=d[3],W=d[2],Y=K(a[1],p,W);if(Y===0)return d;if(0<=Y){var V=u(p,O);return O===V?d:jee(B,W,V)}var Z=u(p,B);return B===Z?d:jee(Z,W,O)}return[0,Jee,,function(p,d){for(var q=d;;){if(typeof q=="number")return 0;if(q[0]===0)return K(a[1],p,q[1])===0?1:0;var g=q[4],O=q[3],B=K(a[1],p,q[2]),W=B===0?1:0;if(W)return W;var Y=0<=B?g:O,q=Y}},u]}function ks(a){switch(a[0]){case 0:return 1;case 1:return 2;case 2:return 2;default:return 3}}function en(a,u){if(!u)return u;var p=u[1],d=J(a,p);return p===d?u:[0,d]}function Tr(a,u,p,d,q){var g=K(a,u,p);return p===g?d:q(g)}function Dn(a,u,p,d){var q=J(a,u);return u===q?p:d(q)}function mc(a,u){var p=u[1];return Tr(a,p,u[2],u,function(d){return[0,p,d]})}function wo(a,u){return en(function(p){var d=p[1];return Tr(a,d,p[2],p,function(q){return[0,d,q]})},u)}function zo(a,u){var p=tR(function(q,g){var O=q[2],B=q[1],W=J(a,g),Y=O||(W!==g?1:0);return[0,[0,W,B],Y]},qDe,u),d=p[1];return p[2]?xn(d):u}var BG=AQ(ADe,function(a){var u=Yee(a,CDe),p=u[1],d=u[2],q=u[3],g=u[4],O=u[5],B=u[6],W=u[7],Y=u[8],V=u[9],Z=u[10],se=u[11],ae=u[12],ue=u[13],pe=u[14],xe=u[15],ye=u[16],ge=u[17],Ne=u[18],Fe=u[19],ze=u[20],ut=u[21],it=u[22],Tt=u[23],Rt=u[24],kt=u[25],ft=u[26],It=u[27],dt=u[28],Ot=u[29],At=u[30],wt=u[31],or=u[32],rr=u[33],Jt=u[34],tr=u[35],mr=u[36],Xt=u[37],hr=u[38],Ge=u[39],Cr=u[40],rt=u[41],yr=u[42],sr=u[43],Ir=u[44],Dr=u[45],on=u[46],cn=u[47],Lr=u[48],fn=u[49],rn=u[50],vt=u[51],qr=u[52],Pe=u[53],Lt=u[54],Xe=u[55],Mt=u[56],Gt=u[57],Ze=u[59],Xr=u[60],qt=u[61],kn=u[62],Ki=u[63],Qe=u[64],Vt=u[65],We=u[66],Qt=u[67],gn=u[68],qn=u[69],gr=u[70],wn=u[71],br=u[72],jn=u[73],Rn=u[74],ai=u[75],mn=u[76],Jn=u[77],Oi=u[78],Cn=u[79],Fi=u[80],Ri=u[81],Da=u[82],Ha=u[83],Fs=u[84],Ks=u[85],Yo=u[86],ra=u[87],we=u[88],Ft=u[89],Oe=u[90],yt=u[91],yn=u[92],tn=u[93],di=u[94],ui=u[95],_s=u[96],la=u[97],hs=u[98],Za=u[99],ci=u[q0],Ra=u[Qn],Xn=u[gl],Zi=u[Kl],is=u[lc],co=u[z6],zR=u[dT],HR=u[Hc],$1=u[_m],Vu=u[Bi],Sl=u[SR],c0=u[sx],jl=u[Gx],lR=u[JT],S_=u[vo],Gc=u[K2],Q1=u[pm],gT=u[kb],$_=u[VO],pp=u[am],Ko=u[Wh],o_=u[db],$o=u[$0],R_=u[g_],t7=u[MS],$d=u[tm],u2=u[kS],bm=u[xR],lx=u[t0],l2=u[hk],r7=u[mb],c2=u[l9],n7=u[zP],cx=u[Zy],ZT=u[Aee],$l=u[pee],bT=u[Fg],Ql=u[eh],Q_=u[MY],i7=u[tee],Qd=u[x0e],t4=u[T9],Mk=u[P0e],pC=u[143],Em=u[144],r4=u[145],a7=u[146],s7=u[147],o7=u[148],Wk=u[149],Tx=u[150],xE=u[Iee],T2=u[152],Cv=u[153],Om=u[154],C3=u[155],_C=u[156],n4=u[f0e],mE=u[158],aA=u[159],Av=u[u0e],sN=u[zoe],oN=u[boe],gv=u[s],bv=u[IA],kE=u[qP],A3=u[vy],Ht=u[B5],tt=u[GH],ke=u[Z7],qe=u[ot],Ie=u[RU],Wt=u[loe],pr=u[y8],jr=u[k0e],En=u[lo],Hn=u[op],Ci=u[woe],xi=u[tp],na=u[D0e],Gi=u[GA],ea=u[_B],Di=u[H1],ha=u[UT],wi=u[hb],Ya=u[Ut],Na=u[qz],gs=u[Px],fs=u[Uc],eo=u[CB],Es=u[fee],yo=u[o0e],ds=u[y0],xs=u[Og],as=u[NY],os=u[MP],Ka=u[Yoe],Bs=u[VA],Ls=u[m0e],ys=u[n0e],qo=u[e0e],Ds=u[IO],ao=u[sk],To=u[oo],s0=u[n9],Q0=u[mee],Nl=u[T6],Ou=u[P5],T0=u[u1],eu=u[g5],xo=u[uR],wl=u[Mu],v0=u[coe],ET=u[IT],Tl=u[y0e],Vc=u[e6],OT=u[gt],Ua=u[VF],Ac=u[Ae],Sa=u[xz],tu=u[I5],ju=u[ua],YR=u[j],Jl=u[DU],Xl=u[S2],gc=u[CU],KR=u[XZ],jc=u[c9],ru=u[Si],_p=u[Joe],Jc=u[D5],u_=u[N2],vu=u[w],hp=u[Loe],nu=u[Xoe],vT=u[vee],bc=u[US],e1=u[a0e],fp=u[VZ],Nd=u[ho],Ec=u[LO],dp=u[NZ],Xc=u[voe],N1=u[Uee],t1=u[em],N_=u[JF],r1=u[FS],p2=u[j_],_2=u[Ws],Uk=u[wq],Fk=u[k9],Lk=u[S0e],zk=u[qS],i4=u[sL],Hk=u[q_],sA=u[f1],hC=u[$S],vm=u[257],a4=u[Zm],R7=u[R0e],s4=u[260],u7=u[261],fC=u[262],px=u[263],dC=u[264],Dm=u[265],o4=u[qZ],xC=u[267],l7=u[268],Sm=u[269],c7=u[270],h2=u[b0e],T7=u[bO],R4=u[273],Yk=u[274],oA=u[er],u4=u[276],p7=u[Toe],_7=u[vU],h7=u[V6],f7=u[280],mC=u[Koe],f2=u[282],l4=u[283],xp=u[284],DT=u[285],wd=u[w0e],ST=u[jg],kC=u[288],Kk=u[289],c4=u[290],Gk=u[Eoe],T4=u[292],p4=u[dF],yE=u[294],d2=u[295],Vk=u[296],_x=u[X7],jk=u[298],d7=u[299],g3=u[J7],_4=u[301],b3=u[Rm],RN=u[DO],uN=u[304],E3=u[305],Ev=u[306],O3=u[Woe],qE=u[308],$=u[Rk],ne=u[Wr];return Gee(a,[0,u[58],function(k,v){var N=v[2],L=N[4],X=N[3],ie=N[1],ce=N[2],be=v[1],Ye=K(k[1][1+tr],k,ie),$t=K(k[1][1+rt],k,X),xr=zo(J(k[1][1+R4],k),L);return ie===Ye&&X===$t&&L===xr?v:[0,be,[0,Ye,ce,$t,xr]]},fn,function(k,v){var N=v[2],L=v[1];switch(N[0]){case 0:var X=N[1];return Tr(J(k[1][1+_x],k),L,X,v,function(ba){return[0,L,[0,ba]]});case 1:var ie=N[1];return Tr(J(k[1][1+yE],k),L,ie,v,function(ba){return[0,L,[1,ba]]});case 2:var ce=N[1];return Tr(J(k[1][1+DT],k),L,ce,v,function(ba){return[0,L,[2,ba]]});case 3:var be=N[1];return Tr(J(k[1][1+h2],k),L,be,v,function(ba){return[0,L,[3,ba]]});case 4:var Ye=N[1];return Tr(J(k[1][1+hC],k),L,Ye,v,function(ba){return[0,L,[4,ba]]});case 5:var $t=N[1];return Tr(J(k[1][1+sA],k),L,$t,v,function(ba){return[0,L,[5,ba]]});case 6:var xr=N[1];return Tr(J(k[1][1+Hk],k),L,xr,v,function(ba){return[0,L,[6,ba]]});case 7:var un=N[1];return Tr(J(k[1][1+i4],k),L,un,v,function(ba){return[0,L,[7,ba]]});case 8:var ni=N[1];return Tr(J(k[1][1+zk],k),L,ni,v,function(ba){return[0,L,[8,ba]]});case 9:var Xi=N[1];return Tr(J(k[1][1+Lk],k),L,Xi,v,function(ba){return[0,L,[9,ba]]});case 10:var ma=N[1];return Tr(J(k[1][1+Uk],k),L,ma,v,function(ba){return[0,L,[10,ba]]});case 11:var ja=N[1];return Tr(J(k[1][1+_2],k),L,ja,v,function(ba){return[0,L,[11,ba]]});case 12:var ya=N[1];return Tr(J(k[1][1+p2],k),L,ya,v,function(ba){return[0,L,[12,ba]]});case 13:var so=N[1];return Tr(J(k[1][1+r1],k),L,so,v,function(ba){return[0,L,[13,ba]]});case 14:var La=N[1];return Tr(J(k[1][1+N_],k),L,La,v,function(ba){return[0,L,[14,ba]]});case 15:var N0=N[1];return Tr(J(k[1][1+t1],k),L,N0,v,function(ba){return[0,L,[15,ba]]});case 16:var nR=N[1];return Tr(J(k[1][1+ra],k),L,nR,v,function(ba){return[0,L,[16,ba]]});case 17:var Du=N[1];return Tr(J(k[1][1+N1],k),L,Du,v,function(ba){return[0,L,[17,ba]]});case 18:var Su=N[1];return Tr(J(k[1][1+dp],k),L,Su,v,function(ba){return[0,L,[18,ba]]});case 19:var Ju=N[1];return Tr(J(k[1][1+Ec],k),L,Ju,v,function(ba){return[0,L,[19,ba]]});case 20:var $u=N[1];return Tr(J(k[1][1+nu],k),L,$u,v,function(ba){return[0,L,[20,ba]]});case 21:var Xu=N[1];return Tr(J(k[1][1+gc],k),L,Xu,v,function(ba){return[0,L,[21,ba]]});case 22:var Zl=N[1];return Tr(J(k[1][1+Jl],k),L,Zl,v,function(ba){return[0,L,[22,ba]]});case 23:var Zu=N[1];return Tr(J(k[1][1+Ua],k),L,Zu,v,function(ba){return[0,L,[23,ba]]});case 24:var Zc=N[1];return Tr(J(k[1][1+Ou],k),L,Zc,v,function(ba){return[0,L,[24,ba]]});case 25:var $T=N[1];return Tr(J(k[1][1+Tl],k),L,$T,v,function(ba){return[0,L,[25,ba]]});case 26:var w1=N[1];return Tr(J(k[1][1+eu],k),L,w1,v,function(ba){return[0,L,[26,ba]]});case 27:var Pd=N[1];return Tr(J(k[1][1+ao],k),L,Pd,v,function(ba){return[0,L,[27,ba]]});case 28:var w_=N[1];return Tr(J(k[1][1+ea],k),L,w_,v,function(ba){return[0,L,[28,ba]]});case 29:var Bd=N[1];return Tr(J(k[1][1+na],k),L,Bd,v,function(ba){return[0,L,[29,ba]]});case 30:var P_=N[1];return Tr(J(k[1][1+qe],k),L,P_,v,function(ba){return[0,L,[30,ba]]});case 31:var x7=N[1];return Tr(J(k[1][1+i7],k),L,x7,v,function(ba){return[0,L,[31,ba]]});case 32:var m7=N[1];return Tr(J(k[1][1+$o],k),L,m7,v,function(ba){return[0,L,[32,ba]]});case 33:var h4=N[1];return Tr(J(k[1][1+Pe],k),L,h4,v,function(ba){return[0,L,[33,ba]]});case 34:var f4=N[1];return Tr(J(k[1][1+Ir],k),L,f4,v,function(ba){return[0,L,[34,ba]]});case 35:var wa=N[1];return Tr(J(k[1][1+mr],k),L,wa,v,function(ba){return[0,L,[35,ba]]});case 36:var d4=N[1];return Tr(J(k[1][1+Jt],k),L,d4,v,function(ba){return[0,L,[36,ba]]});case 37:var Pn=N[1];return Tr(J(k[1][1+It],k),L,Pn,v,function(ba){return[0,L,[37,ba]]});case 38:var CE=N[1];return Tr(J(k[1][1+ra],k),L,CE,v,function(ba){return[0,L,[38,ba]]});case 39:var Pa=N[1];return Tr(J(k[1][1+Y],k),L,Pa,v,function(ba){return[0,L,[39,ba]]});case 40:var qa=N[1];return Tr(J(k[1][1+q],k),L,qa,v,function(ba){return[0,L,[40,ba]]});default:var aTe=N[1];return Tr(J(k[1][1+d],k),L,aTe,v,function(ba){return[0,L,[41,ba]]})}},R4,function(k,v){return v},rt,function(k){var v=J(k[1][1+yr],k);return function(N){return en(v,N)}},yr,function(k,v){var N=v[2],L=v[1],X=v[3],ie=zo(J(k[1][1+R4],k),L),ce=zo(J(k[1][1+R4],k),N);return L===ie&&N===ce?v:[0,ie,ce,X]},Sa,function(k,v){var N=v[2],L=v[1];switch(N[0]){case 0:var X=N[1];return Tr(J(k[1][1+$],k),L,X,v,function(Pa){return[0,L,[0,Pa]]});case 1:var ie=N[1];return Tr(J(k[1][1+Ev],k),L,ie,v,function(Pa){return[0,L,[1,Pa]]});case 2:var ce=N[1];return Tr(J(k[1][1+E3],k),L,ce,v,function(Pa){return[0,L,[2,Pa]]});case 3:var be=N[1];return Tr(J(k[1][1+uN],k),L,be,v,function(Pa){return[0,L,[3,Pa]]});case 4:var Ye=N[1];return Tr(J(k[1][1+RN],k),L,Ye,v,function(Pa){return[0,L,[4,Pa]]});case 5:var $t=N[1];return Tr(J(k[1][1+g3],k),L,$t,v,function(Pa){return[0,L,[5,Pa]]});case 6:var xr=N[1];return Tr(J(k[1][1+p4],k),L,xr,v,function(Pa){return[0,L,[6,Pa]]});case 7:var un=N[1];return Tr(J(k[1][1+f2],k),L,un,v,function(Pa){return[0,L,[7,Pa]]});case 8:var ni=N[1];return Tr(J(k[1][1+a4],k),L,ni,v,function(Pa){return[0,L,[8,Pa]]});case 9:var Xi=N[1];return Tr(J(k[1][1+Ds],k),L,Xi,v,function(Pa){return[0,L,[9,Pa]]});case 10:var ma=N[1];return Dn(J(k[1][1+wi],k),ma,v,function(Pa){return[0,L,[10,Pa]]});case 11:var ja=N[1];return Dn(K(k[1][1+Gi],k,L),ja,v,function(Pa){return[0,L,[11,Pa]]});case 12:var ya=N[1];return Tr(J(k[1][1+n4],k),L,ya,v,function(Pa){return[0,L,[12,Pa]]});case 13:var so=N[1];return Tr(J(k[1][1+xE],k),L,so,v,function(Pa){return[0,L,[13,Pa]]});case 14:var La=N[1];return Tr(J(k[1][1+on],k),L,La,v,function(Pa){return[0,L,[14,Pa]]});case 15:var N0=N[1];return Tr(J(k[1][1+d2],k),L,N0,v,function(Pa){return[0,L,[15,Pa]]});case 16:var nR=N[1];return Tr(J(k[1][1+Vu],k),L,nR,v,function(Pa){return[0,L,[16,Pa]]});case 17:var Du=N[1];return Tr(J(k[1][1+HR],k),L,Du,v,function(Pa){return[0,L,[17,Pa]]});case 18:var Su=N[1];return Tr(J(k[1][1+_4],k),L,Su,v,function(Pa){return[0,L,[18,Pa]]});case 19:var Ju=N[1];return Tr(J(k[1][1+Mt],k),L,Ju,v,function(Pa){return[0,L,[19,Pa]]});case 20:var $u=N[1];return Tr(J(k[1][1+c0],k),L,$u,v,function(Pa){return[0,L,[20,Pa]]});case 21:var Xu=N[1];return Tr(J(k[1][1+Q_],k),L,Xu,v,function(Pa){return[0,L,[21,Pa]]});case 22:var Zl=N[1];return Tr(J(k[1][1+ZT],k),L,Zl,v,function(Pa){return[0,L,[22,Pa]]});case 23:var Zu=N[1];return Tr(J(k[1][1+$_],k),L,Zu,v,function(Pa){return[0,L,[23,Pa]]});case 24:var Zc=N[1];return Tr(J(k[1][1+jl],k),L,Zc,v,function(Pa){return[0,L,[24,Pa]]});case 25:var $T=N[1];return Tr(J(k[1][1+Sl],k),L,$T,v,function(Pa){return[0,L,[25,Pa]]});case 26:var w1=N[1];return Tr(J(k[1][1+zR],k),L,w1,v,function(Pa){return[0,L,[26,Pa]]});case 27:var Pd=N[1];return Dn(K(k[1][1+Yo],k,L),Pd,v,function(Pa){return[0,L,[27,Pa]]});case 28:var w_=N[1];return Tr(J(k[1][1+Fs],k),L,w_,v,function(Pa){return[0,L,[28,Pa]]});case 29:var Bd=N[1];return Tr(J(k[1][1+qr],k),L,Bd,v,function(Pa){return[0,L,[29,Pa]]});case 30:var P_=N[1];return Tr(J(k[1][1+Dr],k),L,P_,v,function(Pa){return[0,L,[30,Pa]]});case 31:var x7=N[1];return Tr(J(k[1][1+Cr],k),L,x7,v,function(Pa){return[0,L,[31,Pa]]});case 32:var m7=N[1];return Tr(J(k[1][1+Ge],k),L,m7,v,function(Pa){return[0,L,[32,Pa]]});case 33:var h4=N[1];return Tr(J(k[1][1+Xt],k),L,h4,v,function(Pa){return[0,L,[33,Pa]]});case 34:var f4=N[1];return Tr(J(k[1][1+Tt],k),L,f4,v,function(Pa){return[0,L,[34,Pa]]});case 35:var wa=N[1];return Tr(J(k[1][1+rr],k),L,wa,v,function(Pa){return[0,L,[35,Pa]]});case 36:var d4=N[1];return Tr(J(k[1][1+se],k),L,d4,v,function(Pa){return[0,L,[36,Pa]]});case 37:var Pn=N[1];return Tr(J(k[1][1+V],k),L,Pn,v,function(Pa){return[0,L,[37,Pa]]});default:var CE=N[1];return Tr(J(k[1][1+p],k),L,CE,v,function(Pa){return[0,L,[38,Pa]]})}},$,function(k,v,N){var L=N[2],X=N[1],ie=zo(J(k[1][1+qE],k),X),ce=K(k[1][1+rt],k,L);return X===ie&&L===ce?N:[0,ie,ce]},qE,function(k,v){switch(v[0]){case 0:var N=v[1];return Dn(J(k[1][1+Sa],k),N,v,function(X){return[0,X]});case 1:var L=v[1];return Dn(J(k[1][1+vt],k),L,v,function(X){return[1,X]});default:return v}},Ev,function(k,v,N){return sn(k[1][1+Q0],k,v,N)},E3,function(k,v,N){var L=N[2],X=N[1],ie=K(k[1][1+Sa],k,X),ce=K(k[1][1+rt],k,L);return ie===X&&ce===L?N:[0,ie,ce]},uN,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+Sa],k,ie),be=K(k[1][1+ft],k,X),Ye=K(k[1][1+rt],k,L);return ce===ie&&be===X&&Ye===L?N:[0,ce,be,Ye]},RN,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=K(k[1][1+b3],k,ie),be=K(k[1][1+Sa],k,X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,N[1],ce,be,Ye]},g3,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=K(k[1][1+Sa],k,ie),be=K(k[1][1+Sa],k,X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,N[1],ce,be,Ye]},_x,function(k,v,N){var L=N[2],X=N[1],ie=K(k[1][1+cn],k,X),ce=K(k[1][1+rt],k,L);return X===ie&&L===ce?N:[0,ie,ce]},yE,function(k,v,N){var L=N[2],X=N[1],ie=en(J(k[1][1+Qd],k),X),ce=K(k[1][1+rt],k,L);return X===ie&&L===ce?N:[0,ie,ce]},p4,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=N[1],be=K(k[1][1+Sa],k,ce),Ye=en(J(k[1][1+Gk],k),ie),$t=K(k[1][1+ne],k,X),xr=K(k[1][1+rt],k,L);return ce===be&&ie===Ye&&X===$t&&L===xr?N:[0,be,Ye,$t,xr]},ne,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=zo(J(k[1][1+Ac],k),X),be=K(k[1][1+rt],k,L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},Yo,function(k,v,N){var L=N[1],X=sn(k[1][1+p4],k,v,L);return L===X?N:[0,X,N[2],N[3]]},Gk,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=zo(J(k[1][1+T4],k),X),be=K(k[1][1+rt],k,L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},T4,function(k,v){if(v[0]===0){var N=v[1],L=K(k[1][1+dt],k,N);return L===N?v:[0,L]}var X=v[1],ie=X[2][1],ce=X[1],be=K(k[1][1+rt],k,ie);return ie===be?v:[1,[0,ce,[0,be]]]},c4,function(k,v){return mc(J(k[1][1+_x],k),v)},Kk,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=en(J(k[1][1+kC],k),ie),be=K(k[1][1+c4],k,X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,ce,be,Ye]},DT,function(k,v,N){return sn(k[1][1+ST],k,v,N)},f2,function(k,v,N){return sn(k[1][1+ST],k,v,N)},ST,function(k,v,N){var L=N[7],X=N[6],ie=N[5],ce=N[4],be=N[3],Ye=N[2],$t=N[1],xr=en(J(k[1][1+f7],k),$t),un=en(J(k[1][1+ge],k),be),ni=K(k[1][1+wd],k,Ye),Xi=J(k[1][1+mC],k),ma=en(function(La){return mc(Xi,La)},ce),ja=en(J(k[1][1+h7],k),ie),ya=zo(J(k[1][1+xp],k),X),so=K(k[1][1+rt],k,L);return $t===xr&&Ye===ni&&ce===ma&&ie===ja&&X===ya&&L===so&&be===un?N:[0,xr,ni,un,ma,ja,ya,so]},mC,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+Sa],k,ie),be=en(J(k[1][1+Rt],k),X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,ce,be,Ye]},f7,function(k,v){return sn(k[1][1+ai],k,RDe,v)},wd,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=zo(J(k[1][1+l4],k),X),be=K(k[1][1+rt],k,L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},xp,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+Sa],k,X),be=K(k[1][1+rt],k,L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},l4,function(k,v){switch(v[0]){case 0:var N=v[1],L=N[1],X=N[2];return Tr(J(k[1][1+p7],k),L,X,v,function(un){return[0,[0,L,un]]});case 1:var ie=v[1],ce=ie[1],be=ie[2];return Tr(J(k[1][1+oA],k),ce,be,v,function(un){return[1,[0,ce,un]]});default:var Ye=v[1],$t=Ye[1],xr=Ye[2];return Tr(J(k[1][1+u4],k),$t,xr,v,function(un){return[2,[0,$t,un]]})}},h7,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=zo(J(k[1][1+_7],k),X),be=K(k[1][1+rt],k,L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},_7,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+Fe],k,X),be=en(J(k[1][1+Rt],k),L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},p7,function(k,v,N){var L=N[6],X=N[5],ie=N[3],ce=N[2],be=K(k[1][1+Xn],k,ce),Ye=mc(J(k[1][1+qo],k),ie),$t=zo(J(k[1][1+xp],k),X),xr=K(k[1][1+rt],k,L);return ce===be&&ie===Ye&&X===$t&&L===xr?N:[0,N[1],be,Ye,N[4],$t,xr]},oA,function(k,v,N){var L=N[7],X=N[6],ie=N[5],ce=N[3],be=N[2],Ye=N[1],$t=K(k[1][1+Xn],k,Ye),xr=K(k[1][1+Yk],k,be),un=K(k[1][1+kt],k,ce),ni=K(k[1][1+g],k,ie),Xi=zo(J(k[1][1+xp],k),X),ma=K(k[1][1+rt],k,L);return Ye===$t&&be===xr&&un===ce&&ni===ie&&Xi===X&&ma===L?N:[0,$t,xr,un,N[4],ni,Xi,ma]},Yk,function(k,v){if(typeof v=="number")return v;var N=v[1],L=K(k[1][1+Sa],k,N);return N===L?v:[0,L]},u4,function(k,v,N){var L=N[7],X=N[6],ie=N[5],ce=N[3],be=N[2],Ye=N[1],$t=K(k[1][1+Ze],k,Ye),xr=K(k[1][1+Yk],k,be),un=K(k[1][1+kt],k,ce),ni=K(k[1][1+g],k,ie),Xi=zo(J(k[1][1+xp],k),X),ma=K(k[1][1+rt],k,L);return Ye===$t&&be===xr&&un===ce&&ni===ie&&Xi===X&&ma===L?N:[0,$t,xr,un,N[4],ni,Xi,ma]},Xc,function(k,v){return en(J(k[1][1+Sa],k),v)},h2,function(k,v,N){var L=N[6],X=N[5],ie=N[4],ce=N[3],be=N[2],Ye=N[1],$t=N[7],xr=K(k[1][1+c7],k,Ye),un=en(J(k[1][1+ge],k),be),ni=K(k[1][1+o4],k,ce),Xi=K(k[1][1+T7],k,X),ma=K(k[1][1+Dm],k,ie),ja=K(k[1][1+rt],k,L);return Ye===xr&&be===un&&ce===ni&&X===Xi&&ie===ma&&L===ja?N:[0,xr,un,ni,ma,Xi,ja,$t]},c7,function(k,v){return sn(k[1][1+ai],k,uDe,v)},o4,function(k,v){var N=v[2],L=N[3],X=N[2],ie=N[1],ce=v[1],be=zo(J(k[1][1+Sm],k),ie),Ye=en(J(k[1][1+dC],k),X),$t=K(k[1][1+rt],k,L);return ie===be&&X===Ye&&L===$t?v:[0,ce,[0,be,Ye,$t]]},Sm,function(k,v){var N=v[2],L=N[3],X=N[2],ie=N[1],ce=N[4],be=v[1],Ye=K(k[1][1+l7],k,ie),$t=K(k[1][1+xC],k,X),xr=K(k[1][1+Xc],k,L);return ie===Ye&&X===$t&&L===xr?v:[0,be,[0,Ye,$t,xr,ce]]},l7,function(k,v){if(v[0]===0)return[0,K(k[1][1+wi],k,v[1])];var N=v[1],L=N[1];return[1,[0,L,sn(k[1][1+on],k,L,N[2])]]},xC,function(k,v){return sn(k[1][1+d7],k,lDe,v)},dC,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+xC],k,X),be=K(k[1][1+rt],k,L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},T7,function(k,v){var N=v[1],L=v[2];return Tr(J(k[1][1+_x],k),N,L,v,function(X){return[0,N,X]})},a4,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=N[1],be=K(k[1][1+Xr],k,ce),Ye=K(k[1][1+Sa],k,ie),$t=K(k[1][1+Sa],k,X),xr=K(k[1][1+rt],k,L);return ce===be&&ie===Ye&&X===$t&&L===xr?N:[0,be,Ye,$t,xr]},hC,function(k,v,N){var L=N[2],X=N[1],ie=en(J(k[1][1+Qd],k),X),ce=K(k[1][1+rt],k,L);return X===ie&&L===ce?N:[0,ie,ce]},sA,function(k,v,N){var L=N[1],X=K(k[1][1+rt],k,L);return L===X?N:[0,X]},Hk,function(k,v,N){var L=N[7],X=N[6],ie=N[5],ce=N[4],be=N[3],Ye=N[2],$t=N[1],xr=K(k[1][1+f7],k,$t),un=en(J(k[1][1+ge],k),Ye),ni=mc(J(k[1][1+yt],k),be),Xi=J(k[1][1+Ya],k),ma=en(function(N0){return mc(Xi,N0)},ce),ja=J(k[1][1+Ya],k),ya=zo(function(N0){return mc(ja,N0)},ie),so=en(J(k[1][1+h7],k),X),La=K(k[1][1+rt],k,L);return xr===$t&&un===Ye&&ni===be&&ma===ce&&ya===ie&&so===X&&La===L?N:[0,xr,un,ni,ma,ya,so,La]},i4,function(k,v,N){var L=N[5],X=N[4],ie=N[3],ce=N[2],be=N[1],Ye=K(k[1][1+c7],k,be),$t=en(J(k[1][1+ge],k),ce),xr=K(k[1][1+u7],k,ie),un=K(k[1][1+Dm],k,X),ni=K(k[1][1+rt],k,L);return be===Ye&&ce===$t&&ie===xr&&X===un&&L===ni?N:[0,Ye,$t,xr,un,ni]},px,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=N[1],be=en(J(k[1][1+ge],k),ce),Ye=K(k[1][1+u7],k,ie),$t=K(k[1][1+Dm],k,X),xr=K(k[1][1+rt],k,L);return ce===be&&ie===Ye&&X===$t&&L===xr?N:[0,be,Ye,$t,xr]},u7,function(k,v){var N=v[2],L=N[3],X=N[2],ie=N[1],ce=v[1],be=zo(J(k[1][1+fC],k),ie),Ye=en(J(k[1][1+s4],k),X),$t=K(k[1][1+rt],k,L);return ie===be&&X===Ye&&L===$t?v:[0,ce,[0,be,Ye,$t]]},fC,function(k,v){var N=v[2],L=N[2],X=N[1],ie=N[3],ce=v[1],be=K(k[1][1+l7],k,X),Ye=K(k[1][1+ft],k,L);return X===be&&L===Ye?v:[0,ce,[0,be,Ye,ie]]},s4,function(k,v){var N=v[2],L=N[4],X=N[2],ie=N[1],ce=N[3],be=v[1],Ye=en(J(k[1][1+wi],k),ie),$t=K(k[1][1+dt],k,X),xr=K(k[1][1+rt],k,L);return ie===Ye&&X===$t&&L===xr?v:[0,be,[0,Ye,$t,ce,xr]]},zk,function(k,v,N){return sn(k[1][1+nu],k,v,N)},Lk,function(k,v,N){var L=N[5],X=N[4],ie=N[3],ce=N[2],be=N[1],Ye=wo(J(k[1][1+tu],k),X),$t=en(J(k[1][1+ju],k),ie),xr=en(J(k[1][1+Fk],k),ce),un=K(k[1][1+rt],k,L);return X===Ye&&ie===$t&&ce===xr&&L===un?N:[0,be,xr,$t,Ye,un]},Fk,function(k,v){switch(v[0]){case 0:var N=v[1],L=N[2],X=N[1],ie=sn(k[1][1+N1],k,X,L);return ie===L?v:[0,[0,X,ie]];case 1:var ce=v[1],be=ce[2],Ye=ce[1],$t=sn(k[1][1+Uk],k,Ye,be);return $t===be?v:[1,[0,Ye,$t]];case 2:var xr=v[1],un=xr[2],ni=xr[1],Xi=sn(k[1][1+Hk],k,ni,un);return Xi===un?v:[2,[0,ni,Xi]];case 3:var ma=v[1],ja=ma[2],ya=ma[1],so=sn(k[1][1+i4],k,ya,ja);return so===ja?v:[3,[0,ya,so]];case 4:var La=v[1],N0=K(k[1][1+dt],k,La);return N0===La?v:[4,N0];case 5:var nR=v[1],Du=nR[2],Su=nR[1],Ju=sn(k[1][1+It],k,Su,Du);return Ju===Du?v:[5,[0,Su,Ju]];case 6:var $u=v[1],Xu=$u[2],Zl=$u[1],Zu=sn(k[1][1+ra],k,Zl,Xu);return Zu===Xu?v:[6,[0,Zl,Zu]];case 7:var Zc=v[1],$T=Zc[2],w1=Zc[1],Pd=sn(k[1][1+Ie],k,w1,$T);return Pd===$T?v:[7,[0,w1,Pd]];default:var w_=v[1],Bd=w_[2],P_=w_[1],x7=sn(k[1][1+nu],k,P_,Bd);return x7===Bd?v:[8,[0,P_,x7]]}},Uk,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=N[1],be=K(k[1][1+ys],k,ce),Ye=K(k[1][1+ft],k,ie),$t=en(J(k[1][1+qt],k),X),xr=K(k[1][1+rt],k,L);return be===ce&&Ye===ie&&$t===X&&xr===L?N:[0,be,Ye,$t,xr]},_2,function(k,v,N){return sn(k[1][1+Ie],k,v,N)},p2,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=mc(J(k[1][1+_x],k),X),be=K(k[1][1+rt],k,L);return ce===X&&L===be?N:[0,ie,ce,be]},r1,function(k,v,N){var L=N[2],X=N[1],ie=K(k[1][1+ft],k,X),ce=K(k[1][1+rt],k,L);return X===ie&&L===ce?N:[0,ie,ce]},N_,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=sn(k[1][1+ai],k,cDe,ie),be=mc(J(k[1][1+_x],k),X),Ye=K(k[1][1+rt],k,L);return ce===ie&&be===X&&L===Ye?N:[0,ce,be,Ye]},t1,function(k,v,N){return sn(k[1][1+It],k,v,N)},N1,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=N[1],be=sn(k[1][1+ai],k,[0,X],ce),Ye=K(k[1][1+ft],k,ie),$t=K(k[1][1+rt],k,L);return be===ce&&Ye===ie&&$t===L?N:[0,be,Ye,X,$t]},dp,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+fn],k,ie),be=K(k[1][1+Xr],k,X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,ce,be,Ye]},Ec,function(k,v,N){var L=N[1],X=K(k[1][1+rt],k,L);return L===X?N:[0,X]},nu,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=sn(k[1][1+ai],k,TDe,ie),be=K(k[1][1+e1],k,X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,ce,be,Ye]},e1,function(k,v){var N=v[2],L=v[1];switch(N[0]){case 0:var X=N[1];return Dn(J(k[1][1+bc],k),X,v,function($t){return[0,L,[0,$t]]});case 1:var ie=N[1];return Dn(J(k[1][1+u_],k),ie,v,function($t){return[0,L,[1,$t]]});case 2:var ce=N[1];return Dn(J(k[1][1+_p],k),ce,v,function($t){return[0,L,[2,$t]]});case 3:var be=N[1];return Dn(J(k[1][1+jc],k),be,v,function($t){return[0,L,[3,$t]]});default:var Ye=N[1];return Dn(J(k[1][1+Nd],k),Ye,v,function($t){return[0,L,[4,$t]]})}},bc,function(k,v){var N=v[4],L=v[1],X=zo(J(k[1][1+vT],k),L),ie=K(k[1][1+rt],k,N);return L===X&&N===ie?v:[0,X,v[2],v[3],ie]},u_,function(k,v){var N=v[4],L=v[1],X=zo(J(k[1][1+Jc],k),L),ie=K(k[1][1+rt],k,N);return L===X&&N===ie?v:[0,X,v[2],v[3],ie]},_p,function(k,v){var N=v[4],L=v[1];if(L[0]===0)var X=L[1],ie=J(k[1][1+hp],k),Ye=Dn(function(xr){return zo(ie,xr)},X,L,function(xr){return[0,xr]});else var ce=L[1],be=J(k[1][1+ru],k),Ye=Dn(function(xr){return zo(be,xr)},ce,L,function(xr){return[1,xr]});var $t=K(k[1][1+rt],k,N);return L===Ye&&N===$t?v:[0,Ye,v[2],v[3],$t]},jc,function(k,v){var N=v[3],L=v[1],X=zo(J(k[1][1+hp],k),L),ie=K(k[1][1+rt],k,N);return L===X&&N===ie?v:[0,X,v[2],ie]},Nd,function(k,v){var N=v[4],L=v[1],X=zo(J(k[1][1+fp],k),L),ie=K(k[1][1+rt],k,N);return L===X&&N===ie?v:[0,X,v[2],v[3],ie]},hp,function(k,v){var N=v[2][1],L=v[1],X=K(k[1][1+vu],k,N);return N===X?v:[0,L,[0,X]]},vT,function(k,v){var N=v[2],L=N[1],X=N[2],ie=v[1],ce=K(k[1][1+vu],k,L);return L===ce?v:[0,ie,[0,ce,X]]},Jc,function(k,v){var N=v[2],L=N[1],X=N[2],ie=v[1],ce=K(k[1][1+vu],k,L);return L===ce?v:[0,ie,[0,ce,X]]},ru,function(k,v){var N=v[2],L=N[1],X=N[2],ie=v[1],ce=K(k[1][1+vu],k,L);return L===ce?v:[0,ie,[0,ce,X]]},fp,function(k,v){var N=v[2],L=N[1],X=N[2],ie=v[1],ce=K(k[1][1+vu],k,L);return L===ce?v:[0,ie,[0,ce,X]]},vu,function(k,v){return K(k[1][1+wi],k,v)},gc,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+Xl],k,X),be=K(k[1][1+rt],k,L);return ce===X&&be===L?N:[0,ie,ce,be]},Xl,function(k,v){if(v[0]===0){var N=v[1];return Dn(J(k[1][1+fn],k),N,v,function(X){return[0,X]})}var L=v[1];return Dn(J(k[1][1+Sa],k),L,v,function(X){return[1,X]})},Jl,function(k,v,N){var L=N[5],X=N[3],ie=N[2],ce=N[1],be=N[4],Ye=wo(J(k[1][1+tu],k),X),$t=en(J(k[1][1+ju],k),ie),xr=en(J(k[1][1+fn],k),ce),un=K(k[1][1+rt],k,L);return X===Ye&&ie===$t&&ce===xr&&L===un?N:[0,xr,$t,Ye,be,un]},YR,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+wi],k,X),be=en(J(k[1][1+wi],k),L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},KR,function(k,v){var N=v[2],L=v[1],X=en(J(k[1][1+wi],k),N);return N===X?v:[0,L,X]},ju,function(k,v){if(v[0]===0){var N=v[1],L=zo(J(k[1][1+YR],k),N);return N===L?v:[0,L]}var X=v[1],ie=K(k[1][1+KR],k,X);return X===ie?v:[1,ie]},tu,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+rt],k,L);return L===ce?N:[0,ie,X,ce]},Ua,function(k,v,N){var L=N[3],X=N[1],ie=N[2],ce=K(k[1][1+Sa],k,X),be=K(k[1][1+rt],k,L);return X===ce&&L===be?N:[0,ce,ie,be]},Ac,function(k,v){if(v[0]===0){var N=v[1];return Dn(J(k[1][1+Sa],k),N,v,function(X){return[0,X]})}var L=v[1];return Dn(J(k[1][1+vt],k),L,v,function(X){return[1,X]})},Tl,function(k,v,N){var L=N[5],X=N[3],ie=N[2],ce=N[1],be=N[4],Ye=K(k[1][1+ET],k,ce),$t=K(k[1][1+Sa],k,ie),xr=K(k[1][1+fn],k,X),un=K(k[1][1+rt],k,L);return ce===Ye&&ie===$t&&X===xr&&L===un?N:[0,Ye,$t,xr,be,un]},ET,function(k,v){if(v[0]===0){var N=v[1];return Dn(J(k[1][1+Vc],k),N,v,function(X){return[0,X]})}var L=v[1];return Dn(J(k[1][1+OT],k),L,v,function(X){return[1,X]})},Vc,function(k,v){var N=v[1],L=v[2];return Tr(J(k[1][1+Y],k),N,L,v,function(X){return[0,N,X]})},eu,function(k,v,N){var L=N[5],X=N[3],ie=N[2],ce=N[1],be=N[4],Ye=K(k[1][1+T0],k,ce),$t=K(k[1][1+Sa],k,ie),xr=K(k[1][1+fn],k,X),un=K(k[1][1+rt],k,L);return ce===Ye&&ie===$t&&X===xr&&L===un?N:[0,Ye,$t,xr,be,un]},T0,function(k,v){if(v[0]===0){var N=v[1];return Dn(J(k[1][1+xo],k),N,v,function(X){return[0,X]})}var L=v[1];return Dn(J(k[1][1+wl],k),L,v,function(X){return[1,X]})},xo,function(k,v){var N=v[1],L=v[2];return Tr(J(k[1][1+Y],k),N,L,v,function(X){return[0,N,X]})},Ou,function(k,v,N){var L=N[5],X=N[4],ie=N[3],ce=N[2],be=N[1],Ye=en(J(k[1][1+Nl],k),be),$t=en(J(k[1][1+Xr],k),ce),xr=en(J(k[1][1+Sa],k),ie),un=K(k[1][1+fn],k,X),ni=K(k[1][1+rt],k,L);return be===Ye&&ce===$t&&ie===xr&&X===un&&L===ni?N:[0,Ye,$t,xr,un,ni]},Nl,function(k,v){if(v[0]===0){var N=v[1];return Dn(J(k[1][1+v0],k),N,v,function(X){return[0,X]})}var L=v[1];return Dn(J(k[1][1+Sa],k),L,v,function(X){return[1,X]})},v0,function(k,v){var N=v[1],L=v[2];return Tr(J(k[1][1+Y],k),N,L,v,function(X){return[0,N,X]})},Ka,function(k,v){var N=v[2],L=N[2],X=N[1],ie=N[3],ce=v[1],be=K(k[1][1+dt],k,L),Ye=en(J(k[1][1+wi],k),X);return be===L&&Ye===X?v:[0,ce,[0,Ye,be,ie]]},xs,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+Ka],k,X),be=K(k[1][1+rt],k,L);return ce===X&&be===L?v:[0,ie,[0,ce,be]]},Es,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+ft],k,X),be=K(k[1][1+rt],k,L);return ce===X&&be===L?v:[0,ie,[0,ce,be]]},fs,function(k,v){if(v[0]===0){var N=v[1];return Dn(J(k[1][1+dt],k),N,v,function(X){return[0,X]})}var L=v[1];return Dn(J(k[1][1+it],k),L,v,function(X){return[1,X]})},eo,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=ie[2],be=ce[4],Ye=ce[3],$t=ce[2],xr=ce[1],un=N[1],ni=N[5],Xi=ie[1],ma=en(J(k[1][1+ge],k),un),ja=en(J(k[1][1+Es],k),xr),ya=zo(J(k[1][1+Ka],k),$t),so=en(J(k[1][1+xs],k),Ye),La=K(k[1][1+fs],k,X),N0=K(k[1][1+rt],k,L),nR=K(k[1][1+rt],k,be);return ya===$t&&so===Ye&&La===X&&ma===un&&N0===L&&nR===be&&ja===xr?N:[0,ma,[0,Xi,[0,ja,ya,so,nR]],La,N0,ni]},Qd,function(k,v){return K(k[1][1+wi],k,v)},tn,function(k,v){switch(v[0]){case 0:var N=v[1];return Dn(J(k[1][1+dt],k),N,v,function(ie){return[0,ie]});case 1:var L=v[1];return Dn(J(k[1][1+Ft],k),L,v,function(ie){return[1,ie]});default:var X=v[1];return Dn(J(k[1][1+we],k),X,v,function(ie){return[2,ie]})}},Ft,function(k,v){var N=v[1],L=v[2];return Tr(J(k[1][1+eo],k),N,L,v,function(X){return[0,N,X]})},we,function(k,v){var N=v[1],L=v[2];return Tr(J(k[1][1+eo],k),N,L,v,function(X){return[0,N,X]})},di,function(k,v){var N=v[2],L=N[8],X=N[7],ie=N[2],ce=N[1],be=N[6],Ye=N[5],$t=N[4],xr=N[3],un=v[1],ni=K(k[1][1+Xn],k,ce),Xi=K(k[1][1+tn],k,ie),ma=K(k[1][1+g],k,X),ja=K(k[1][1+rt],k,L);return ni===ce&&Xi===ie&&ma===X&&ja===L?v:[0,un,[0,ni,Xi,xr,$t,Ye,be,ma,ja]]},yn,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+dt],k,X),be=K(k[1][1+rt],k,L);return ce===X&&L===be?v:[0,ie,[0,ce,be]]},is,function(k,v){var N=v[2],L=N[6],X=N[5],ie=N[3],ce=N[2],be=N[4],Ye=N[1],$t=v[1],xr=K(k[1][1+dt],k,ce),un=K(k[1][1+dt],k,ie),ni=K(k[1][1+g],k,X),Xi=K(k[1][1+rt],k,L);return xr===ce&&un===ie&&ni===X&&Xi===L?v:[0,$t,[0,Ye,xr,un,be,ni,Xi]]},Zi,function(k,v){var N=v[2],L=N[6],X=N[2],ie=N[1],ce=N[5],be=N[4],Ye=N[3],$t=v[1],xr=K(k[1][1+wi],k,ie),un=K(k[1][1+dt],k,X),ni=K(k[1][1+rt],k,L);return ie===xr&&X===un&&L===ni?v:[0,$t,[0,xr,un,Ye,be,ce,ni]]},co,function(k,v){var N=v[2],L=N[3],X=N[1],ie=X[2],ce=X[1],be=N[2],Ye=v[1],$t=sn(k[1][1+eo],k,ce,ie),xr=K(k[1][1+rt],k,L);return ie===$t&&L===xr?v:[0,Ye,[0,[0,ce,$t],be,xr]]},_s,function(k,v){var N=v[2],L=N[6],X=N[4],ie=N[3],ce=N[2],be=N[1],Ye=N[5],$t=v[1],xr=K(k[1][1+Ne],k,be),un=K(k[1][1+dt],k,ce),ni=K(k[1][1+dt],k,ie),Xi=K(k[1][1+g],k,X),ma=K(k[1][1+rt],k,L);return xr===be&&un===ce&&ni===ie&&Xi===X&&ma===L?v:[0,$t,[0,xr,un,ni,Xi,Ye,ma]]},yt,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=N[1],be=zo(J(k[1][1+Oe],k),X),Ye=K(k[1][1+rt],k,L);return be===X&&L===Ye?N:[0,ce,ie,be,Ye]},Oe,function(k,v){switch(v[0]){case 0:var N=v[1];return Dn(J(k[1][1+di],k),N,v,function(Ye){return[0,Ye]});case 1:var L=v[1];return Dn(J(k[1][1+yn],k),L,v,function(Ye){return[1,Ye]});case 2:var X=v[1];return Dn(J(k[1][1+is],k),X,v,function(Ye){return[2,Ye]});case 3:var ie=v[1];return Dn(J(k[1][1+co],k),ie,v,function(Ye){return[3,Ye]});case 4:var ce=v[1];return Dn(J(k[1][1+Zi],k),ce,v,function(Ye){return[4,Ye]});default:var be=v[1];return Dn(J(k[1][1+_s],k),be,v,function(Ye){return[5,Ye]})}},ke,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=J(k[1][1+Ya],k),be=zo(function(xr){return mc(ce,xr)},X),Ye=mc(J(k[1][1+yt],k),ie),$t=K(k[1][1+rt],k,L);return be===X&&Ye===ie&&L===$t?N:[0,Ye,be,$t]},gs,function(k,v){if(v[0]===0){var N=v[1];return Dn(J(k[1][1+Fe],k),N,v,function(X){return[0,X]})}var L=v[1];return Dn(J(k[1][1+Na],k),L,v,function(X){return[1,X]})},Na,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+gs],k,X),be=K(k[1][1+lR],k,L);return ce===X&&be===L?v:[0,ie,[0,ce,be]]},lR,function(k,v){return K(k[1][1+wi],k,v)},O,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+rt],k,L);return L===ce?v:[0,ie,[0,X,ce]]},g,function(k,v){return en(J(k[1][1+O],k),v)},Rt,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=zo(J(k[1][1+dt],k),X),be=K(k[1][1+rt],k,L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},ge,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=zo(J(k[1][1+Ne],k),X),be=K(k[1][1+rt],k,L);return ce===X&&be===L?v:[0,ie,[0,ce,be]]},Ne,function(k,v){var N=v[2],L=N[5],X=N[4],ie=N[2],ce=N[1],be=N[3],Ye=v[1],$t=K(k[1][1+kt],k,ie),xr=K(k[1][1+g],k,X),un=en(J(k[1][1+dt],k),L),ni=K(k[1][1+jk],k,ce);return ni===ce&&$t===ie&&xr===X&&un===L?v:[0,Ye,[0,ni,$t,be,xr,un]]},Ya,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+gs],k,ie),be=en(J(k[1][1+Rt],k),X),Ye=K(k[1][1+rt],k,L);return ce===ie&&be===X&&Ye===L?N:[0,ce,be,Ye]},pr,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+dt],k,ie),be=K(k[1][1+dt],k,X),Ye=K(k[1][1+rt],k,L);return ce===ie&&be===X&&Ye===L?N:[0,ce,be,Ye]},Ks,function(k,v,N){var L=N[1],X=N[2],ie=sn(k[1][1+pr],k,v,L);return ie===L?N:[0,ie,X]},on,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+rt],k,L);return L===ce?N:[0,ie,X,ce]},HR,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+rt],k,L);return L===ce?N:[0,ie,X,ce]},_4,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+rt],k,L);return L===ce?N:[0,ie,X,ce]},d2,function(k,v,N){var L=N[2],X=N[1],ie=K(k[1][1+rt],k,L);return L===ie?N:[0,X,ie]},Vu,function(k,v,N){return K(k[1][1+rt],k,N)},Mt,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=N[1],be=K(k[1][1+rt],k,L);return L===be?N:[0,ce,ie,X,be]},c0,function(k,v,N){var L=N[6],X=N[5],ie=N[4],ce=N[3],be=N[2],Ye=N[1];return L===K(k[1][1+rt],k,L)?N:[0,Ye,be,ce,ie,X,L]},$1,function(k,v){var N=v[2],L=v[1],X=K(k[1][1+dt],k,L),ie=K(k[1][1+rt],k,N);return L===X&&N===ie?v:[0,X,ie]},vm,function(k,v){var N=v[5],L=v[4],X=v[3],ie=v[2],ce=v[1],be=K(k[1][1+dt],k,ce),Ye=K(k[1][1+dt],k,ie),$t=K(k[1][1+dt],k,X),xr=K(k[1][1+dt],k,L),un=K(k[1][1+rt],k,N);return ce===be&&ie===Ye&&X===$t&&L===xr&&N===un?v:[0,be,Ye,$t,xr,un]},Wt,function(k,v){var N=v[2],L=v[1],X=K(k[1][1+Ne],k,L),ie=K(k[1][1+rt],k,N);return L===X&&N===ie?v:[0,X,ie]},ae,function(k,v){var N=v[3],L=v[2],X=v[1],ie=K(k[1][1+ye],k,X),ce=en(J(k[1][1+Rt],k),L),be=K(k[1][1+rt],k,N);return X===ie&&E9(L,ce)&&N===be?v:[0,ie,ce,be]},ye,function(k,v){if(v[0]===0){var N=v[1];return Dn(J(k[1][1+xe],k),N,v,function(X){return[0,X]})}var L=v[1];return Dn(J(k[1][1+ue],k),L,v,function(X){return[1,X]})},xe,function(k,v){return K(k[1][1+wi],k,v)},pe,function(k,v){return K(k[1][1+wi],k,v)},ue,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+ye],k,X),be=K(k[1][1+pe],k,L);return ce===X&&be===L?v:[0,ie,[0,ce,be]]},t4,function(k,v){var N=v[2],L=v[1],X=K(k[1][1+dt],k,L),ie=K(k[1][1+rt],k,N);return L===X&&N===ie?v:[0,X,ie]},Lt,function(k,v){var N=v[3],L=v[2],X=v[4],ie=v[1],ce=K(k[1][1+dt],k,L),be=K(k[1][1+rt],k,N);return L===ce&&N===be?v:[0,ie,ce,be,X]},Gt,function(k,v){var N=v[2],L=v[1],X=K(k[1][1+dt],k,L),ie=K(k[1][1+rt],k,N);return L===X&&N===ie?v:[0,X,ie]},Ot,function(k,v){var N=v[3],L=v[1],X=v[2],ie=zo(J(k[1][1+or],k),L),ce=K(k[1][1+rt],k,N);return L===ie&&N===ce?v:[0,ie,X,ce]},or,function(k,v){var N=v[2],L=v[1];switch(N[0]){case 0:var X=N[1];return Dn(J(k[1][1+dt],k),X,v,function(be){return[0,L,[0,be]]});case 1:var ie=N[1];return Dn(J(k[1][1+wt],k),ie,v,function(be){return[0,L,[1,be]]});default:var ce=N[1];return Dn(J(k[1][1+At],k),ce,v,function(be){return[0,L,[2,be]]})}},wt,function(k,v){var N=v[3],L=v[2],X=v[4],ie=v[1],ce=K(k[1][1+dt],k,L),be=K(k[1][1+g],k,N);return ce===L&&be===N?v:[0,ie,ce,be,X]},At,function(k,v){var N=v[2],L=v[1],X=K(k[1][1+dt],k,N);return X===N?v:[0,L,X]},O3,function(k,v){var N=v[2],L=v[1],X=K(k[1][1+dt],k,L),ie=K(k[1][1+rt],k,N);return L===X&&N===ie?v:[0,X,ie]},Z,function(k,v,N){var L=N[2],X=N[1],ie=X[3],ce=X[2],be=X[1],Ye=K(k[1][1+dt],k,be),$t=K(k[1][1+dt],k,ce),xr=zo(J(k[1][1+dt],k),ie),un=K(k[1][1+rt],k,L);return Ye===be&&$t===ce&&xr===ie&&un===L?N:[0,[0,Ye,$t,xr],un]},tt,function(k,v,N){var L=N[2],X=N[1],ie=X[3],ce=X[2],be=X[1],Ye=K(k[1][1+dt],k,be),$t=K(k[1][1+dt],k,ce),xr=zo(J(k[1][1+dt],k),ie),un=K(k[1][1+rt],k,L);return Ye===be&&$t===ce&&xr===ie&&un===L?N:[0,[0,Ye,$t,xr],un]},dt,function(k,v){var N=v[2],L=v[1];switch(N[0]){case 0:var X=N[1];return Dn(J(k[1][1+rt],k),X,v,function(Pn){return[0,L,[0,Pn]]});case 1:var ie=N[1];return Dn(J(k[1][1+rt],k),ie,v,function(Pn){return[0,L,[1,Pn]]});case 2:var ce=N[1];return Dn(J(k[1][1+rt],k),ce,v,function(Pn){return[0,L,[2,Pn]]});case 3:var be=N[1];return Dn(J(k[1][1+rt],k),be,v,function(Pn){return[0,L,[3,Pn]]});case 4:var Ye=N[1];return Dn(J(k[1][1+rt],k),Ye,v,function(Pn){return[0,L,[4,Pn]]});case 5:var $t=N[1];return Dn(J(k[1][1+rt],k),$t,v,function(Pn){return[0,L,[5,Pn]]});case 6:var xr=N[1];return Dn(J(k[1][1+rt],k),xr,v,function(Pn){return[0,L,[6,Pn]]});case 7:var un=N[1];return Dn(J(k[1][1+rt],k),un,v,function(Pn){return[0,L,[7,Pn]]});case 8:var ni=N[1],Xi=N[2];return Dn(J(k[1][1+rt],k),Xi,v,function(Pn){return[0,L,[8,ni,Pn]]});case 9:var ma=N[1];return Dn(J(k[1][1+rt],k),ma,v,function(Pn){return[0,L,[9,Pn]]});case 10:var ja=N[1];return Dn(J(k[1][1+rt],k),ja,v,function(Pn){return[0,L,[10,Pn]]});case 11:var ya=N[1];return Dn(J(k[1][1+$1],k),ya,v,function(Pn){return[0,L,[11,Pn]]});case 12:var so=N[1];return Tr(J(k[1][1+eo],k),L,so,v,function(Pn){return[0,L,[12,Pn]]});case 13:var La=N[1];return Tr(J(k[1][1+px],k),L,La,v,function(Pn){return[0,L,[13,Pn]]});case 14:var N0=N[1];return Tr(J(k[1][1+yt],k),L,N0,v,function(Pn){return[0,L,[14,Pn]]});case 15:var nR=N[1];return Tr(J(k[1][1+ke],k),L,nR,v,function(Pn){return[0,L,[15,Pn]]});case 16:var Du=N[1];return Dn(J(k[1][1+O3],k),Du,v,function(Pn){return[0,L,[16,Pn]]});case 17:var Su=N[1];return Dn(J(k[1][1+vm],k),Su,v,function(Pn){return[0,L,[17,Pn]]});case 18:var Ju=N[1];return Dn(J(k[1][1+Wt],k),Ju,v,function(Pn){return[0,L,[18,Pn]]});case 19:var $u=N[1];return Tr(J(k[1][1+Ya],k),L,$u,v,function(Pn){return[0,L,[19,Pn]]});case 20:var Xu=N[1];return Tr(J(k[1][1+pr],k),L,Xu,v,function(Pn){return[0,L,[20,Pn]]});case 21:var Zl=N[1];return Tr(J(k[1][1+Ks],k),L,Zl,v,function(Pn){return[0,L,[21,Pn]]});case 22:var Zu=N[1];return Tr(J(k[1][1+Z],k),L,Zu,v,function(Pn){return[0,L,[22,Pn]]});case 23:var Zc=N[1];return Tr(J(k[1][1+tt],k),L,Zc,v,function(Pn){return[0,L,[23,Pn]]});case 24:var $T=N[1];return Dn(J(k[1][1+ae],k),$T,v,function(Pn){return[0,L,[24,Pn]]});case 25:var w1=N[1];return Dn(J(k[1][1+t4],k),w1,v,function(Pn){return[0,L,[25,Pn]]});case 26:var Pd=N[1];return Dn(J(k[1][1+Lt],k),Pd,v,function(Pn){return[0,L,[26,Pn]]});case 27:var w_=N[1];return Dn(J(k[1][1+Gt],k),w_,v,function(Pn){return[0,L,[27,Pn]]});case 28:var Bd=N[1];return Dn(J(k[1][1+Ot],k),Bd,v,function(Pn){return[0,L,[28,Pn]]});case 29:var P_=N[1];return Tr(J(k[1][1+on],k),L,P_,v,function(Pn){return[0,L,[29,Pn]]});case 30:var x7=N[1];return Tr(J(k[1][1+HR],k),L,x7,v,function(Pn){return[0,L,[30,Pn]]});case 31:var m7=N[1];return Tr(J(k[1][1+_4],k),L,m7,v,function(Pn){return[0,L,[31,Pn]]});case 32:var h4=N[1];return Tr(J(k[1][1+d2],k),L,h4,v,function(Pn){return[0,L,[32,Pn]]});case 33:var f4=N[1];return Dn(J(k[1][1+rt],k),f4,v,function(Pn){return[0,L,[33,Pn]]});case 34:var wa=N[1];return Dn(J(k[1][1+rt],k),wa,v,function(Pn){return[0,L,[34,Pn]]});default:var d4=N[1];return Dn(J(k[1][1+rt],k),d4,v,function(Pn){return[0,L,[35,Pn]]})}},ft,function(k,v){var N=v[1],L=v[2];return Dn(J(k[1][1+dt],k),L,v,function(X){return[0,N,X]})},kt,function(k,v){if(v[0]===0)return v;var N=v[1];return Dn(J(k[1][1+ft],k),N,v,function(L){return[1,L]})},Dm,function(k,v){if(v[0]===0)return v;var N=v[2],L=v[1],X=K(k[1][1+Lt],k,N);return X===N?v:[1,L,X]},ao,function(k,v,N){return sn(k[1][1+Q0],k,v,N)},Ds,function(k,v,N){return sn(k[1][1+qo],k,v,N)},qo,function(k,v,N){return sn(k[1][1+Q0],k,v,N)},Q0,function(k,v,N){var L=N[10],X=N[9],ie=N[8],ce=N[7],be=N[3],Ye=N[2],$t=N[1],xr=N[11],un=N[6],ni=N[5],Xi=N[4],ma=en(J(k[1][1+ys],k),$t),ja=en(J(k[1][1+ge],k),X),ya=K(k[1][1+os],k,Ye),so=K(k[1][1+ds],k,ie),La=K(k[1][1+To],k,be),N0=en(J(k[1][1+qt],k),ce),nR=K(k[1][1+rt],k,L);return $t===ma&&Ye===ya&&be===La&&ce===N0&&ie===so&&X===ja&&L===nR?N:[0,ma,ya,La,Xi,ni,un,N0,so,ja,nR,xr]},os,function(k,v){var N=v[2],L=N[4],X=N[3],ie=N[2],ce=N[1],be=v[1],Ye=zo(J(k[1][1+Ls],k),ie),$t=en(J(k[1][1+as],k),X),xr=en(J(k[1][1+yo],k),ce),un=K(k[1][1+rt],k,L);return ie===Ye&&X===$t&&L===un&&ce===xr?v:[0,be,[0,xr,Ye,$t,un]]},yo,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+ft],k,X),be=K(k[1][1+rt],k,L);return ce===X&&be===L?v:[0,ie,[0,ce,be]]},Ls,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+Bs],k,X),be=K(k[1][1+Xc],k,L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},ds,function(k,v){switch(v[0]){case 0:return v;case 1:var N=v[1];return Dn(J(k[1][1+ft],k),N,v,function(X){return[1,X]});default:var L=v[1];return Dn(J(k[1][1+ut],k),L,v,function(X){return[2,X]})}},To,function(k,v){if(v[0]===0){var N=v[1];return Dn(J(k[1][1+s0],k),N,v,function(X){return[0,X]})}var L=v[1];return Dn(J(k[1][1+Vk],k),L,v,function(X){return[1,X]})},s0,function(k,v){var N=v[1],L=v[2];return Tr(J(k[1][1+_x],k),N,L,v,function(X){return[0,N,X]})},Vk,function(k,v){return K(k[1][1+Sa],k,v)},ys,function(k,v){return sn(k[1][1+ai],k,pDe,v)},wi,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+rt],k,L);return L===ce?v:[0,ie,[0,X,ce]]},ze,function(k,v){return K(k[1][1+wi],k,v)},Fe,function(k,v){return K(k[1][1+ze],k,v)},jk,function(k,v){return K(k[1][1+ze],k,v)},Ie,function(k,v,N){var L=N[5],X=N[4],ie=N[3],ce=N[2],be=N[1],Ye=K(k[1][1+jk],k,be),$t=en(J(k[1][1+ge],k),ce),xr=J(k[1][1+Ya],k),un=zo(function(ma){return mc(xr,ma)},ie),ni=mc(J(k[1][1+yt],k),X),Xi=K(k[1][1+rt],k,L);return Ye===be&&$t===ce&&un===ie&&ni===X&&Xi===L?N:[0,Ye,$t,un,ni,Xi]},qe,function(k,v,N){return sn(k[1][1+Ie],k,v,N)},Ze,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+rt],k,L);return L===ce?v:[0,ie,[0,X,ce]]},R7,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+Sa],k,X),be=K(k[1][1+rt],k,L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},Gi,function(k,v,N){var L=N[2],X=N[1],ie=K(k[1][1+Sa],k,X),ce=K(k[1][1+rt],k,L);return X===ie&&L===ce?N:[0,ie,ce]},Di,function(k,v,N){return K(k[1][1+fn],k,N)},ha,function(k,v,N){var L=N[2],X=N[1],ie=K(k[1][1+fn],k,X),ce=K(k[1][1+rt],k,L);return X===ie&&L===ce?N:[0,ie,ce]},ea,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=N[1],be=K(k[1][1+Xr],k,ce),Ye=sn(k[1][1+Di],k,X!==0?1:0,ie),$t=J(k[1][1+ha],k),xr=en(function(ni){return mc($t,ni)},X),un=K(k[1][1+rt],k,L);return ce===be&&ie===Ye&&X===xr&&L===un?N:[0,be,Ye,xr,un]},na,function(k,v,N){var L=N[5],X=N[4],ie=N[3],ce=N[2],be=N[1],Ye=mc(J(k[1][1+En],k),ce),$t=en(K(k[1][1+jr],k,be),X),xr=en(function(ni){var Xi=ni[1],ma=ni[2],ja=sn(k[1][1+xi],k,be,Xi);return ja===Xi?ni:[0,ja,ma]},ie),un=K(k[1][1+rt],k,L);return ce===Ye&&X===$t&&ie===xr&&L===un?N:[0,be,Ye,xr,$t,un]},En,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+rt],k,L);return L===ce?N:[0,ie,X,ce]},jr,function(k,v,N){if(N[0]===0){var L=N[1],X=zo(K(k[1][1+Ci],k,v),L);return L===X?N:[0,X]}var ie=N[1],ce=ie[1],be=ie[2];return Tr(K(k[1][1+Hn],k,v),ce,be,N,function(Ye){return[1,[0,ce,Ye]]})},Xe,function(k,v){return K(k[1][1+wi],k,v)},Ci,function(k,v,N){var L=N[3],X=N[2],ie=N[1];e:{t:{var ce=N[4];if(v){r:{if(ie)switch(ie[1]){case 0:break t;case 1:break r}if(2<=v){var be=0,Ye=0;break e}}var be=1,Ye=0;break e}}var be=1,Ye=1}var $t=X?K(k[1][1+Xe],k,L):Ye?K(k[1][1+jk],k,L):sn(k[1][1+ai],k,_De,L);if(X)var xr=X[1],un=be?J(k[1][1+jk],k):K(k[1][1+ai],k,hDe),ni=Dn(un,xr,X,function(Xi){return[0,Xi]});else var ni=0;return X===ni&&L===$t?N:[0,ie,ni,$t,ce]},xi,function(k,v,N){var L=2<=v?K(k[1][1+ai],k,fDe):J(k[1][1+jk],k);return J(L,N)},Hn,function(k,v,N,L){var X=2<=v?K(k[1][1+ai],k,dDe):J(k[1][1+jk],k);return J(X,L)},n4,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=N[1],be=K(k[1][1+Em],k,ce),Ye=en(J(k[1][1+mE],k),ie),$t=K(k[1][1+aA],k,X),xr=K(k[1][1+rt],k,L);return ce===be&&ie===Ye&&X===$t&&L===xr?N:[0,be,Ye,$t,xr]},xE,function(k,v,N){var L=N[4],X=N[3],ie=K(k[1][1+aA],k,X),ce=K(k[1][1+rt],k,L);return X===ie&&L===ce?N:[0,N[1],N[2],ie,ce]},Em,function(k,v){var N=v[2],L=N[4],X=N[2],ie=N[1],ce=N[3],be=v[1],Ye=K(k[1][1+_C],k,ie),$t=en(J(k[1][1+Gk],k),X),xr=zo(J(k[1][1+r4],k),L);return ie===Ye&&X===$t&&L===xr?v:[0,be,[0,Ye,$t,ce,xr]]},mE,function(k,v){var N=v[2][1],L=v[1],X=K(k[1][1+_C],k,N);return N===X?v:[0,L,[0,X]]},r4,function(k,v){if(v[0]===0){var N=v[1];return Dn(J(k[1][1+Ht],k),N,v,function(ce){return[0,ce]})}var L=v[1],X=L[1],ie=L[2];return Tr(J(k[1][1+pC],k),X,ie,v,function(ce){return[1,[0,X,ce]]})},pC,function(k,v,N){var L=N[2],X=N[1],ie=K(k[1][1+Sa],k,X),ce=K(k[1][1+rt],k,L);return X===ie&&L===ce?N:[0,ie,ce]},Ht,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+A3],k,X),be=en(J(k[1][1+gv],k),L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},A3,function(k,v){if(v[0]===0){var N=v[1];return Dn(J(k[1][1+kE],k),N,v,function(X){return[0,X]})}var L=v[1];return Dn(J(k[1][1+bv],k),L,v,function(X){return[1,X]})},kE,function(k,v){return K(k[1][1+Tx],k,v)},bv,function(k,v){return K(k[1][1+a7],k,v)},gv,function(k,v){if(v[0]===0){var N=v[1],L=N[1],X=N[2];return Tr(J(k[1][1+sN],k),L,X,v,function(Ye){return[0,[0,L,Ye]]})}var ie=v[1],ce=ie[1],be=ie[2];return Tr(J(k[1][1+oN],k),ce,be,v,function(Ye){return[1,[0,ce,Ye]]})},oN,function(k,v,N){return sn(k[1][1+T2],k,v,N)},sN,function(k,v,N){return sn(k[1][1+on],k,v,N)},aA,function(k,v){var N=v[2],L=v[1],X=zo(J(k[1][1+Av],k),N);return N===X?v:[0,L,X]},Av,function(k,v){var N=v[2],L=v[1];switch(N[0]){case 0:var X=N[1];return Tr(J(k[1][1+n4],k),L,X,v,function(Ye){return[0,L,[0,Ye]]});case 1:var ie=N[1];return Tr(J(k[1][1+xE],k),L,ie,v,function(Ye){return[0,L,[1,Ye]]});case 2:var ce=N[1];return Tr(J(k[1][1+T2],k),L,ce,v,function(Ye){return[0,L,[2,Ye]]});case 3:var be=N[1];return Dn(J(k[1][1+Mk],k),be,v,function(Ye){return[0,L,[3,Ye]]});default:return v}},T2,function(k,v,N){var L=N[2],X=N[1],ie=K(k[1][1+rt],k,L);if(!X)return L===ie?N:[0,0,ie];var ce=X[1],be=K(k[1][1+Sa],k,ce);return ce===be&&L===ie?N:[0,[0,be],ie]},Mk,function(k,v){var N=v[2],L=v[1],X=K(k[1][1+Sa],k,L),ie=K(k[1][1+rt],k,N);return L===X&&N===ie?v:[0,X,ie]},_C,function(k,v){switch(v[0]){case 0:var N=v[1];return Dn(J(k[1][1+C3],k),N,v,function(ie){return[0,ie]});case 1:var L=v[1];return Dn(J(k[1][1+Cv],k),L,v,function(ie){return[1,ie]});default:var X=v[1];return Dn(J(k[1][1+Om],k),X,v,function(ie){return[2,ie]})}},C3,function(k,v){return K(k[1][1+Tx],k,v)},Cv,function(k,v){return K(k[1][1+a7],k,v)},Om,function(k,v){return K(k[1][1+Wk],k,v)},a7,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+Tx],k,X),be=K(k[1][1+Tx],k,L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},Wk,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+s7],k,X),be=K(k[1][1+Tx],k,L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},s7,function(k,v){if(v[0]===0){var N=v[1];return Dn(J(k[1][1+o7],k),N,v,function(X){return[0,X]})}var L=v[1];return Dn(J(k[1][1+Wk],k),L,v,function(X){return[1,X]})},o7,function(k,v){return K(k[1][1+C3],k,v)},Tx,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+rt],k,L);return L===ce?v:[0,ie,[0,X,ce]]},i7,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+Qd],k,ie),be=K(k[1][1+fn],k,X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,ce,be,Ye]},Q_,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=K(k[1][1+Sa],k,ie),be=K(k[1][1+Sa],k,X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,N[1],ce,be,Ye]},ZT,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+Sa],k,ie),be=zo(J(k[1][1+cx],k),X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,ce,be,Ye]},cx,function(k,v){var N=v[2],L=N[4],X=N[3],ie=N[2],ce=N[1],be=v[1],Ye=K(k[1][1+$d],k,ce),$t=K(k[1][1+Sa],k,ie),xr=en(J(k[1][1+Sa],k),X),un=K(k[1][1+rt],k,L);return ce===Ye&&ie===$t&&X===xr&&L===un?v:[0,be,[0,ce,ie,xr,un]]},$o,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+Sa],k,ie),be=zo(J(k[1][1+o_],k),X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,ce,be,Ye]},o_,function(k,v){var N=v[2],L=N[4],X=N[3],ie=N[2],ce=N[1],be=v[1],Ye=K(k[1][1+$d],k,ce),$t=mc(J(k[1][1+_x],k),ie),xr=en(J(k[1][1+Sa],k),X),un=K(k[1][1+rt],k,L);return ce===Ye&&ie===$t&&X===xr&&L===un?v:[0,be,[0,ce,ie,xr,un]]},$d,function(k,v){var N=v[2],L=v[1];switch(N[0]){case 0:var X=N[1];return Dn(J(k[1][1+rt],k),X,v,function(La){return[0,L,[0,La]]});case 1:var ie=N[1];return Tr(J(k[1][1+HR],k),L,ie,v,function(La){return[0,L,[1,La]]});case 2:var ce=N[1];return Tr(J(k[1][1+_4],k),L,ce,v,function(La){return[0,L,[2,La]]});case 3:var be=N[1];return Tr(J(k[1][1+on],k),L,be,v,function(La){return[0,L,[3,La]]});case 4:var Ye=N[1];return Tr(J(k[1][1+d2],k),L,Ye,v,function(La){return[0,L,[4,La]]});case 5:var $t=N[1];return Dn(J(k[1][1+rt],k),$t,v,function(La){return[0,L,[5,La]]});case 6:var xr=N[1];return Dn(J(k[1][1+Ko],k),xr,v,function(La){return[0,L,[6,La]]});case 7:var un=N[1];return Tr(J(k[1][1+$l],k),L,un,v,function(La){return[0,L,[7,La]]});case 8:var ni=N[1];return Dn(J(k[1][1+wi],k),ni,v,function(La){return[0,L,[8,La]]});case 9:var Xi=N[1];return Dn(J(k[1][1+n7],k),Xi,v,function(La){return[0,L,[9,La]]});case 10:var ma=N[1];return Dn(J(k[1][1+l2],k),ma,v,function(La){return[0,L,[10,La]]});case 11:var ja=N[1];return Dn(J(k[1][1+Ql],k),ja,v,function(La){return[0,L,[11,La]]});case 12:var ya=N[1];return Dn(J(k[1][1+u2],k),ya,v,function(La){return[0,L,[12,La]]});default:var so=N[1];return Dn(J(k[1][1+bT],k),so,v,function(La){return[0,L,[13,La]]})}},Ko,function(k,v){var N=v[3],L=v[2],X=L[1],ie=v[1],ce=L[2],be=Tr(J(k[1][1+pp],k),X,ce,L,function($t){return[0,X,$t]}),Ye=K(k[1][1+rt],k,N);return L===be&&N===Ye?v:[0,ie,be,Ye]},pp,function(k,v,N){if(N[0]===0){var L=N[1];return Tr(J(k[1][1+HR],k),v,L,N,function(ie){return[0,ie]})}var X=N[1];return Tr(J(k[1][1+_4],k),v,X,N,function(ie){return[1,ie]})},n7,function(k,v){var N=v[2],L=N[3],X=N[2],ie=N[1],ce=v[1],be=K(k[1][1+c2],k,ie),Ye=K(k[1][1+r7],k,X),$t=K(k[1][1+rt],k,L);return ie===be&&X===Ye&&L===$t?v:[0,ce,[0,be,Ye,$t]]},c2,function(k,v){if(v[0]===0){var N=v[1];return Dn(J(k[1][1+wi],k),N,v,function(X){return[0,X]})}var L=v[1];return Dn(J(k[1][1+n7],k),L,v,function(X){return[1,X]})},r7,function(k,v){switch(v[0]){case 0:var N=v[1],L=N[1],X=N[2];return Tr(J(k[1][1+on],k),L,X,v,function($t){return[0,[0,L,$t]]});case 1:var ie=v[1],ce=ie[1],be=ie[2];return Tr(J(k[1][1+HR],k),ce,be,v,function($t){return[1,[0,ce,$t]]});default:var Ye=v[1];return Dn(J(k[1][1+wi],k),Ye,v,function($t){return[2,$t]})}},$l,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=sn(k[1][1+ai],k,[0,ie],X),be=K(k[1][1+rt],k,L);return X===ce&&L===be?N:[0,ie,ce,be]},l2,function(k,v){var N=v[3],L=v[2],X=v[1],ie=zo(J(k[1][1+lx],k),X),ce=wo(J(k[1][1+R_],k),L),be=K(k[1][1+rt],k,N);return X===ie&&L===ce&&N===be?v:[0,ie,ce,be]},lx,function(k,v){var N=v[2],L=N[4],X=N[2],ie=N[1],ce=N[3],be=v[1],Ye=K(k[1][1+bm],k,ie),$t=K(k[1][1+$d],k,X),xr=K(k[1][1+rt],k,L);return ie===Ye&&X===$t&&L===xr?v:[0,be,[0,Ye,$t,ce,xr]]},bm,function(k,v){switch(v[0]){case 0:var N=v[1],L=N[1],X=N[2];return Tr(J(k[1][1+on],k),L,X,v,function($t){return[0,[0,L,$t]]});case 1:var ie=v[1],ce=ie[1],be=ie[2];return Tr(J(k[1][1+HR],k),ce,be,v,function($t){return[1,[0,ce,$t]]});default:var Ye=v[1];return Dn(J(k[1][1+wi],k),Ye,v,function($t){return[2,$t]})}},Ql,function(k,v){var N=v[3],L=v[2],X=v[1],ie=zo(J(k[1][1+t7],k),X),ce=wo(J(k[1][1+R_],k),L),be=K(k[1][1+rt],k,N);return X===ie&&L===ce&&N===be?v:[0,ie,ce,be]},t7,function(k,v){var N=v[2],L=v[1],X=K(k[1][1+$d],k,N);return N===X?v:[0,L,X]},R_,function(k,v,N){var L=N[2],X=N[1],ie=wo(J(k[1][1+$l],k),X),ce=K(k[1][1+rt],k,L);return X===ie&&L===ce?N:[0,ie,ce]},u2,function(k,v){var N=v[2],L=v[1],X=zo(J(k[1][1+$d],k),L),ie=K(k[1][1+rt],k,N);return L===X&&N===ie?v:[0,X,ie]},bT,function(k,v){var N=v[3],L=v[2],X=v[1],ie=K(k[1][1+$d],k,X);if(L[0]===0)var ce=L[1],$t=Dn(K(k[1][1+ai],k,xDe),ce,L,function(un){return[0,un]});else var be=L[1],Ye=L[2],$t=Tr(J(k[1][1+$l],k),be,Ye,L,function(un){return[1,be,un]});var xr=K(k[1][1+rt],k,N);return X===ie&&L===$t&&N===xr?v:[0,ie,$t,xr]},$_,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+Sa],k,ie),be=K(k[1][1+Q1],k,X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,ce,be,Ye]},Fs,function(k,v,N){var L=N[1],X=sn(k[1][1+$_],k,v,L);return L===X?N:[0,X,N[2],N[3]]},Q1,function(k,v){switch(v[0]){case 0:var N=v[1];return Dn(J(k[1][1+S_],k),N,v,function(ie){return[0,ie]});case 1:var L=v[1];return Dn(J(k[1][1+gT],k),L,v,function(ie){return[1,ie]});default:var X=v[1];return Dn(J(k[1][1+Gc],k),X,v,function(ie){return[2,ie]})}},S_,function(k,v){return K(k[1][1+wi],k,v)},gT,function(k,v){return K(k[1][1+Ze],k,v)},Gc,function(k,v){return K(k[1][1+Sa],k,v)},jl,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+wi],k,ie),be=K(k[1][1+wi],k,X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,ce,be,Ye]},Sl,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=N[1],be=K(k[1][1+Sa],k,ce),Ye=en(J(k[1][1+Gk],k),ie),$t=en(J(k[1][1+ne],k),X),xr=K(k[1][1+rt],k,L);return ce===be&&ie===Ye&&X===$t&&L===xr?N:[0,be,Ye,$t,xr]},zR,function(k,v,N){var L=N[2],X=N[1],ie=zo(function(be){if(be[0]===0){var Ye=be[1],$t=K(k[1][1+ui],k,Ye);return Ye===$t?be:[0,$t]}var xr=be[1],un=K(k[1][1+rn],k,xr);return xr===un?be:[1,un]},X),ce=K(k[1][1+rt],k,L);return X===ie&&L===ce?N:[0,ie,ce]},ui,function(k,v){var N=v[2],L=v[1];switch(N[0]){case 0:var X=N[3],ie=N[2],ce=N[1],be=K(k[1][1+Xn],k,ce),Ye=K(k[1][1+Sa],k,ie);e:if(X){if(be[0]===3){var $t=Ye[2];if($t[0]===10){var un=Qa(be[1][2][1],$t[1][2][1]);break e}}var xr=ce===be?1:0,un=xr&&(ie===Ye?1:0)}else var un=X;return ce===be&&ie===Ye&&X===un?v:[0,L,[0,be,Ye,un]];case 1:var ni=N[2],Xi=N[1],ma=K(k[1][1+Xn],k,Xi),ja=mc(J(k[1][1+qo],k),ni);return Xi===ma&&ni===ja?v:[0,L,[1,ma,ja]];case 2:var ya=N[3],so=N[2],La=N[1],N0=K(k[1][1+Xn],k,La),nR=mc(J(k[1][1+qo],k),so),Du=K(k[1][1+rt],k,ya);return La===N0&&so===nR&&ya===Du?v:[0,L,[2,N0,nR,Du]];default:var Su=N[3],Ju=N[2],$u=N[1],Xu=K(k[1][1+Xn],k,$u),Zl=mc(J(k[1][1+qo],k),Ju),Zu=K(k[1][1+rt],k,Su);return $u===Xu&&Ju===Zl&&Su===Zu?v:[0,L,[3,Xu,Zl,Zu]]}},Xn,function(k,v){switch(v[0]){case 0:var N=v[1];return Dn(J(k[1][1+la],k),N,v,function(Ye){return[0,Ye]});case 1:var L=v[1];return Dn(J(k[1][1+hs],k),L,v,function(Ye){return[1,Ye]});case 2:var X=v[1];return Dn(J(k[1][1+Ra],k),X,v,function(Ye){return[2,Ye]});case 3:var ie=v[1];return Dn(J(k[1][1+Za],k),ie,v,function(Ye){return[3,Ye]});case 4:var ce=v[1];return Dn(J(k[1][1+Ze],k),ce,v,function(Ye){return[4,Ye]});default:var be=v[1];return Dn(J(k[1][1+ci],k),be,v,function(Ye){return[5,Ye]})}},la,function(k,v){var N=v[1],L=v[2];return Tr(J(k[1][1+on],k),N,L,v,function(X){return[0,N,X]})},hs,function(k,v){var N=v[1],L=v[2];return Tr(J(k[1][1+HR],k),N,L,v,function(X){return[0,N,X]})},Ra,function(k,v){var N=v[1],L=v[2];return Tr(J(k[1][1+_4],k),N,L,v,function(X){return[0,N,X]})},Za,function(k,v){return K(k[1][1+wi],k,v)},ci,function(k,v){return K(k[1][1+R7],k,v)},ra,function(k,v,N){var L=N[5],X=N[4],ie=N[3],ce=N[2],be=N[1],Ye=K(k[1][1+jk],k,be),$t=en(J(k[1][1+ge],k),ce),xr=en(J(k[1][1+dt],k),ie),un=en(J(k[1][1+dt],k),X),ni=K(k[1][1+rt],k,L);return be===Ye&&ie===xr&&ce===$t&&ie===xr&&X===un&&L===ni?N:[0,Ye,$t,xr,un,ni]},Bs,function(k,v){return sn(k[1][1+d7],k,mDe,v)},B,function(k,v,N){return sn(k[1][1+d7],k,[0,v],N)},kC,function(k,v){return sn(k[1][1+d7],k,kDe,v)},OT,function(k,v){return K(k[1][1+b3],k,v)},wl,function(k,v){return K(k[1][1+b3],k,v)},d7,function(k,v,N){var L=v?v[1]:0;return sn(k[1][1+Ha],k,[0,L],N)},b3,function(k,v){return sn(k[1][1+Ha],k,0,v)},Ha,function(k,v,N){var L=N[2],X=N[1];switch(L[0]){case 0:var ie=L[1],ce=ie[3],be=ie[2],Ye=ie[1],$t=zo(K(k[1][1+jn],k,v),Ye),xr=K(k[1][1+kt],k,be),un=K(k[1][1+rt],k,ce);e:{if($t===Ye&&xr===be&&un===ce){var ni=L;break e}var ni=[0,[0,$t,xr,un]]}var $T=ni;break;case 1:var Xi=L[1],ma=Xi[3],ja=Xi[2],ya=Xi[1],so=zo(K(k[1][1+Da],k,v),ya),La=K(k[1][1+kt],k,ja),N0=K(k[1][1+rt],k,ma);e:{if(ma===N0&&so===ya&&La===ja){var nR=L;break e}var nR=[1,[0,so,La,N0]]}var $T=nR;break;case 2:var Du=L[1],Su=Du[2],Ju=Du[1],$u=Du[3],Xu=sn(k[1][1+ai],k,v,Ju),Zl=K(k[1][1+kt],k,Su);e:{if(Ju===Xu&&Su===Zl){var Zu=L;break e}var Zu=[2,[0,Xu,Zl,$u]]}var $T=Zu;break;default:var Zc=L[1],$T=Dn(J(k[1][1+mn],k),Zc,L,function(w1){return[3,w1]})}return L===$T?N:[0,X,$T]},ai,function(k,v,N){return K(k[1][1+wi],k,N)},kn,function(k,v,N,L){return sn(k[1][1+on],k,N,L)},Rn,function(k,v,N,L){return sn(k[1][1+HR],k,N,L)},Jn,function(k,v,N,L){return sn(k[1][1+_4],k,N,L)},jn,function(k,v,N){if(N[0]===0){var L=N[1];return Dn(K(k[1][1+br],k,v),L,N,function(ie){return[0,ie]})}var X=N[1];return Dn(K(k[1][1+Qe],k,v),X,N,function(ie){return[1,ie]})},br,function(k,v,N){var L=N[2],X=L[4],ie=L[3],ce=L[2],be=L[1],Ye=N[1],$t=sn(k[1][1+gn],k,v,be),xr=sn(k[1][1+We],k,v,ce),un=K(k[1][1+Xc],k,ie);e:if(X){if($t[0]===3){var ni=xr[2];if(ni[0]===2){var ma=Qa($t[1][2][1],ni[1][1][2][1]);break e}}var Xi=be===$t?1:0,ma=Xi&&(ce===xr?1:0)}else var ma=X;return $t===be&&xr===ce&&un===ie&&X===ma?N:[0,Ye,[0,$t,xr,un,ma]]},gn,function(k,v,N){switch(N[0]){case 0:var L=N[1];return Dn(K(k[1][1+Vt],k,v),L,N,function(Ye){return[0,Ye]});case 1:var X=N[1];return Dn(K(k[1][1+Qt],k,v),X,N,function(Ye){return[1,Ye]});case 2:var ie=N[1];return Dn(K(k[1][1+wn],k,v),ie,N,function(Ye){return[2,Ye]});case 3:var ce=N[1];return Dn(K(k[1][1+qn],k,v),ce,N,function(Ye){return[3,Ye]});default:var be=N[1];return Dn(K(k[1][1+gr],k,v),be,N,function(Ye){return[4,Ye]})}},Vt,function(k,v,N){var L=N[1],X=N[2];return Tr(K(k[1][1+kn],k,v),L,X,N,function(ie){return[0,L,ie]})},Qt,function(k,v,N){var L=N[1],X=N[2];return Tr(K(k[1][1+Rn],k,v),L,X,N,function(ie){return[0,L,ie]})},wn,function(k,v,N){var L=N[1],X=N[2];return Tr(K(k[1][1+Jn],k,v),L,X,N,function(ie){return[0,L,ie]})},qn,function(k,v,N){return sn(k[1][1+ai],k,v,N)},gr,function(k,v,N){return K(k[1][1+R7],k,N)},Qe,function(k,v,N){var L=N[2],X=L[2],ie=L[1],ce=N[1],be=sn(k[1][1+Ki],k,v,ie),Ye=K(k[1][1+rt],k,X);return be===ie&&X===Ye?N:[0,ce,[0,be,Ye]]},We,function(k,v,N){return sn(k[1][1+Ha],k,v,N)},Ki,function(k,v,N){return sn(k[1][1+Ha],k,v,N)},Da,function(k,v,N){switch(N[0]){case 0:var L=N[1];return Dn(K(k[1][1+Ri],k,v),L,N,function(ie){return[0,ie]});case 1:var X=N[1];return Dn(K(k[1][1+Cn],k,v),X,N,function(ie){return[1,ie]});default:return N}},Ri,function(k,v,N){var L=N[2],X=L[2],ie=L[1],ce=N[1],be=sn(k[1][1+Fi],k,v,ie),Ye=K(k[1][1+Xc],k,X);return ie===be&&X===Ye?N:[0,ce,[0,be,Ye]]},Fi,function(k,v,N){return sn(k[1][1+Ha],k,v,N)},Cn,function(k,v,N){var L=N[2],X=L[2],ie=L[1],ce=N[1],be=sn(k[1][1+Oi],k,v,ie),Ye=K(k[1][1+rt],k,X);return be===ie&&X===Ye?N:[0,ce,[0,be,Ye]]},Oi,function(k,v,N){return sn(k[1][1+Ha],k,v,N)},mn,function(k,v){return K(k[1][1+Sa],k,v)},qt,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1];if(X)var ce=X[1],be=Dn(J(k[1][1+Sa],k),ce,X,function($t){return[0,$t]});else var be=X;var Ye=K(k[1][1+rt],k,L);return X===be&&L===Ye?v:[0,ie,[0,be,Ye]]},Xr,function(k,v){return K(k[1][1+Sa],k,v)},ut,function(k,v){var N=v[2],L=v[1],X=K(k[1][1+it],k,N);return E9(X,N)?v:[0,L,X]},it,function(k,v){var N=v[2],L=N[3],X=N[2],ie=X[2],ce=X[1],be=N[1],Ye=v[1],$t=K(k[1][1+wi],k,ce),xr=en(J(k[1][1+dt],k),ie),un=K(k[1][1+rt],k,L);return $t===ce&&xr===ie&&un===L?v:[0,Ye,[0,be,[0,$t,xr],un]]},as,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+Bs],k,X),be=K(k[1][1+rt],k,L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},Pe,function(k,v,N){var L=N[2],X=N[1],ie=N[3],ce=en(J(k[1][1+Sa],k),X),be=K(k[1][1+rt],k,L);return X===ce&&L===be?N:[0,ce,be,ie]},qr,function(k,v,N){var L=N[2],X=N[1],ie=zo(J(k[1][1+Sa],k),X),ce=K(k[1][1+rt],k,L);return X===ie&&L===ce?N:[0,ie,ce]},tr,function(k,v){return K(k[1][1+cn],k,v)},cn,function(k,v){var N=J(k[1][1+Lr],k),L=tR(function(ie,ce){var be=ie[2],Ye=ie[1],$t=J(N,ce);if(!$t)return[0,Ye,1];if($t[2])return[0,S9($t,Ye),1];var xr=$t[1],un=be||(ce!==xr?1:0);return[0,[0,xr,Ye],un]},yDe,v),X=L[1];return L[2]?xn(X):v},Lr,function(k,v){return[0,K(k[1][1+fn],k,v),0]},vt,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+Sa],k,X),be=K(k[1][1+rt],k,L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},rn,function(k,v){var N=v[2],L=N[2],X=N[1],ie=v[1],ce=K(k[1][1+Sa],k,X),be=K(k[1][1+rt],k,L);return X===ce&&L===be?v:[0,ie,[0,ce,be]]},Dr,function(k,v,N){var L=N[1],X=K(k[1][1+rt],k,L);return L===X?N:[0,X]},Ir,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=N[4],be=K(k[1][1+Sa],k,ie),Ye=zo(J(k[1][1+sr],k),X),$t=K(k[1][1+rt],k,L);return ie===be&&X===Ye&&L===$t?N:[0,be,Ye,$t,ce]},sr,function(k,v){var N=v[2],L=N[3],X=N[2],ie=N[1],ce=v[1],be=en(J(k[1][1+Sa],k),ie),Ye=K(k[1][1+cn],k,X),$t=K(k[1][1+rt],k,L);return ie===be&&X===Ye&&L===$t?v:[0,ce,[0,be,Ye,$t]]},Cr,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+Sa],k,ie),be=mc(J(k[1][1+Ge],k),X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,ce,be,Ye]},Ge,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=zo(J(k[1][1+hr],k),ie),be=zo(J(k[1][1+Sa],k),X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,ce,be,Ye]},hr,function(k,v){return v},Xt,function(k,v,N){var L=N[1],X=K(k[1][1+rt],k,L);return L===X?N:[0,X]},mr,function(k,v,N){var L=N[2],X=N[1],ie=K(k[1][1+Sa],k,X),ce=K(k[1][1+rt],k,L);return X===ie&&L===ce?N:[0,ie,ce]},Jt,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=N[1],be=mc(J(k[1][1+_x],k),ce);if(ie)var Ye=ie[1],$t=Ye[1],xr=Ye[2],un=Tr(J(k[1][1+Kk],k),$t,xr,ie,function(so){return[0,[0,$t,so]]});else var un=ie;if(X)var ni=X[1],Xi=ni[1],ma=ni[2],ja=Tr(J(k[1][1+_x],k),Xi,ma,X,function(so){return[0,[0,Xi,so]]});else var ja=X;var ya=K(k[1][1+rt],k,L);return ce===be&&ie===un&&X===ja&&L===ya?N:[0,be,un,ja,ya]},Tt,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+Sa],k,ie),be=K(k[1][1+ft],k,X),Ye=K(k[1][1+rt],k,L);return ce===ie&&be===X&&Ye===L?N:[0,ce,be,Ye]},rr,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+Sa],k,ie),be=K(k[1][1+ft],k,X),Ye=K(k[1][1+rt],k,L);return ce===ie&&E9(be,X)&&Ye===L?N:[0,ce,be,Ye]},se,function(k,v,N){var L=N[3],X=N[2],ie=K(k[1][1+Sa],k,X),ce=K(k[1][1+rt],k,L);return X===ie&&L===ce?N:[0,N[1],ie,ce]},V,function(k,v,N){var L=N[4],X=N[2],ie=K(k[1][1+Sa],k,X),ce=K(k[1][1+rt],k,L);return X===ie&&L===ce?N:[0,N[1],ie,N[3],ce]},Y,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=zo(K(k[1][1+W],k,X),ie),be=K(k[1][1+rt],k,L);return ie===ce&&L===be?N:[0,ce,X,be]},W,function(k,v,N){var L=N[2],X=L[2],ie=L[1],ce=N[1],be=sn(k[1][1+B],k,v,ie),Ye=en(J(k[1][1+Sa],k),X);return ie===be&&X===Ye?N:[0,ce,[0,be,Ye]]},q,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+Xr],k,ie),be=K(k[1][1+fn],k,X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,ce,be,Ye]},d,function(k,v,N){var L=N[3],X=N[2],ie=N[1],ce=K(k[1][1+Sa],k,ie),be=K(k[1][1+fn],k,X),Ye=K(k[1][1+rt],k,L);return ie===ce&&X===be&&L===Ye?N:[0,ce,be,Ye]},It,function(k,v,N){var L=N[4],X=N[3],ie=N[2],ce=N[1],be=K(k[1][1+jk],k,ce),Ye=en(J(k[1][1+ge],k),ie),$t=K(k[1][1+dt],k,X),xr=K(k[1][1+rt],k,L);return ce===be&&X===$t&&ie===Ye&&L===xr?N:[0,be,Ye,$t,xr]},p,function(k,v,N){var L=N[2],X=N[1],ie=N[4],ce=N[3],be=en(J(k[1][1+Sa],k),X),Ye=K(k[1][1+rt],k,L);return L===Ye&&X===be?N:[0,be,Ye,ce,ie]}]),function(k,v){return PB(v,a)}}),Xee=[];function Zee(a,u,p){var d=p[2];switch(d[0]){case 0:var q=d[1][1];return tR(J(Xee[1],a),u,q);case 1:var g=d[1][1];return tR(J(Xee[2],a),u,g);case 2:return K(a,u,d[1][1]);default:return u}}ns(Xee,[0,function(a,u){return function(p){var d=p[0]===0?p[1][2][2]:p[1][2][1];return Zee(a,u,d)}},function(a,u){return function(p){return p[0]===2?u:Zee(a,u,p[1][2][1])}}]);var ete=[];function IG(a){var u=a[2];switch(u[0]){case 0:return $9(ete[1],u[1][1]);case 1:return $9(ete[2],u[1][1]);case 2:return 1;default:return 0}}ns(ete,[0,function(a){var u=a[0]===0?a[1][2][2]:a[1][2][1];return IG(u)},function(a){return a[0]===2?0:IG(a[1][2][1])}]);var zB=[];function U8(a){var u=a[2];switch(u[0]){case 7:return 1;case 10:var p=u[1],d=p[1],q=J(zB[2],p[2]);return q||$9(zB[1],d);case 11:var g=u[1],O=g[1],B=J(zB[2],g[2]);return B||$9(function(W){return U8(W[2])},O);case 12:return $9(U8,u[1][1]);case 13:return 1;default:return 0}}ns(zB,[0,function(a){return U8(a[2][2])},function(a){return a&&a[1][2][1]?1:0}]);function rC(a,u){return[0,u[1],[0,u[2],a]]}function Nr(a,u,p){var d=a?a[1]:0,q=u?u[1]:0;return[0,d,q,p]}function kr(a,u,p){var d=a?a[1]:0,q=u?u[1]:0;return!d&&!q?0:[0,Nr([0,d],[0,q],0)]}function E0(a,u,p,d){var q=a?a[1]:0,g=u?u[1]:0;return!q&&!g&&!p?0:[0,Nr([0,q],[0,g],p)]}function up(a,u){if(a){if(u){var p=u[1],d=a[1],q=[0,pi(d[2],p[2])];return kr([0,pi(p[1],d[1])],q,he)}var g=a}else var g=u;return g}function MG(a,u){if(!u)return a;if(a){var p=u[1],d=a[1],q=p[1],g=d[3],O=d[1],B=[0,pi(d[2],p[2])];return E0([0,pi(q,O)],B,g,he)}var W=u[1];return E0([0,W[1]],[0,W[2]],0,he)}function $R(a,u){z0(a)(RSe),J(z0(a)(lSe),uSe);var p=u[1];J(z0(a)(cSe),p),z0(a)(TSe),z0(a)(pSe),J(z0(a)(hSe),_Se);var d=u[2];return J(z0(a)(fSe),d),z0(a)(dSe),z0(a)(xSe)}ns([],[0,$R,$R,function(a,u){switch(u[0]){case 0:var p=u[1];return z0(a)(jve),J(z0(a)(Jve),p),z0(a)(Xve);case 1:var d=u[1];return z0(a)(Zve),J(z0(a)(eDe),d),z0(a)(tDe);case 2:var q=u[1];return z0(a)(rDe),J(z0(a)(nDe),q),z0(a)(iDe);default:var g=u[1];return z0(a)(aDe),J(z0(a)(sDe),g),z0(a)(oDe)}}]);function O0(a,u){return[0,a[1],a[2],u[3]]}function _3(a,u){var p=a[1]-u[1]|0;return p===0?a[2]-u[2]|0:p}function Gb(a,u){var p=u[1],d=a[1];if(d){var q=d[1];if(p)var g=p[1],O=ks(g),B=ks(q)-O|0,W=B===0?dn(q[1],g[1]):B;else var W=-1}else var W=p?1:0;if(W!==0)return W;var Y=_3(a[2],u[2]);return Y===0?_3(a[3],u[3]):Y}function Fo(a,u){return Gb(a,u)===0?1:0}var k0=[];ns(k0,[0,function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return fc(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return fc(u,p)},function(a,u,p){return fc(u,p)},function(a,u,p){return fc(u,p)},function(a,u,p){return fc(u,p)},function(a,u,p){return fc(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return fc(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u){switch(a){case 0:if(!u)return 0;break;case 1:if(u===1)return 0;break;case 2:if(u===2)return 0;break;case 3:if(u===3)return 0;break;default:if(4<=u)return 0}function p(q){switch(q){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;default:return 4}}var d=p(u);return fc(p(a),d)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return fc(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)},function(a,u,p){return dn(u,p)}]);var tte=vNe.slice();function rte(a){for(var u=0,p=tte.length-1-1|0;;){if(pa)return 1;var u=d+1|0}}}var Hue=0;function Yue(a){var u=a[2];return[0,a[1],[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12]],a[3],a[4],a[5],a[6],a[7]]}function WG(a){return a[3][1]}function o2(a,u){return a!==u[4]?[0,u[1],u[2],u[3],a,u[5],u[6],u[7]]:u}var mm=[];function Kue(a,u){if(typeof a=="number"){var p=a;if(67<=p)if(Qn<=p)switch(p){case 101:if(typeof u=="number"&&Qn===u)return 1;break;case 102:if(typeof u=="number"&&gl===u)return 1;break;case 103:if(typeof u=="number"&&Kl===u)return 1;break;case 104:if(typeof u=="number"&&lc===u)return 1;break;case 105:if(typeof u=="number"&&z6===u)return 1;break;case 106:if(typeof u=="number"&&dT===u)return 1;break;case 107:if(typeof u=="number"&&Hc===u)return 1;break;case 108:if(typeof u=="number"&&_m===u)return 1;break;case 109:if(typeof u=="number"&&Bi===u)return 1;break;case 110:if(typeof u=="number"&&SR===u)return 1;break;case 111:if(typeof u=="number"&&sx===u)return 1;break;case 112:if(typeof u=="number"&&Gx===u)return 1;break;case 113:if(typeof u=="number"&&JT===u)return 1;break;case 114:if(typeof u=="number"&&vo===u)return 1;break;case 115:if(typeof u=="number"&&K2===u)return 1;break;case 116:if(typeof u=="number"&&pm===u)return 1;break;case 117:if(typeof u=="number"&&kb===u)return 1;break;case 118:if(typeof u=="number"&&VO===u)return 1;break;case 119:if(typeof u=="number"&&am===u)return 1;break;case 120:if(typeof u=="number"&&Wh===u)return 1;break;case 121:if(typeof u=="number"&&db===u)return 1;break;case 122:if(typeof u=="number"&&$0===u)return 1;break;case 123:if(typeof u=="number"&&g_===u)return 1;break;case 124:if(typeof u=="number"&&MS===u)return 1;break;case 125:if(typeof u=="number"&&tm===u)return 1;break;case 126:if(typeof u=="number"&&kS===u)return 1;break;case 127:if(typeof u=="number"&&xR===u)return 1;break;case 128:if(typeof u=="number"&&t0===u)return 1;break;case 129:if(typeof u=="number"&&hk===u)return 1;break;case 130:if(typeof u=="number"&&mb===u)return 1;break;case 131:if(typeof u=="number"&&l9===u)return 1;break;case 132:if(typeof u=="number"&&zP===u)return 1;break;default:if(typeof u=="number"&&Zy<=u)return 1}else switch(p){case 67:if(typeof u=="number"&&u===67)return 1;break;case 68:if(typeof u=="number"&&u===68)return 1;break;case 69:if(typeof u=="number"&&u===69)return 1;break;case 70:if(typeof u=="number"&&u===70)return 1;break;case 71:if(typeof u=="number"&&u===71)return 1;break;case 72:if(typeof u=="number"&&u===72)return 1;break;case 73:if(typeof u=="number"&&u===73)return 1;break;case 74:if(typeof u=="number"&&u===74)return 1;break;case 75:if(typeof u=="number"&&u===75)return 1;break;case 76:if(typeof u=="number"&&u===76)return 1;break;case 77:if(typeof u=="number"&&u===77)return 1;break;case 78:if(typeof u=="number"&&u===78)return 1;break;case 79:if(typeof u=="number"&&u===79)return 1;break;case 80:if(typeof u=="number"&&u===80)return 1;break;case 81:if(typeof u=="number"&&u===81)return 1;break;case 82:if(typeof u=="number"&&u===82)return 1;break;case 83:if(typeof u=="number"&&u===83)return 1;break;case 84:if(typeof u=="number"&&u===84)return 1;break;case 85:if(typeof u=="number"&&u===85)return 1;break;case 86:if(typeof u=="number"&&u===86)return 1;break;case 87:if(typeof u=="number"&&u===87)return 1;break;case 88:if(typeof u=="number"&&u===88)return 1;break;case 89:if(typeof u=="number"&&u===89)return 1;break;case 90:if(typeof u=="number"&&u===90)return 1;break;case 91:if(typeof u=="number"&&u===91)return 1;break;case 92:if(typeof u=="number"&&u===92)return 1;break;case 93:if(typeof u=="number"&&u===93)return 1;break;case 94:if(typeof u=="number"&&u===94)return 1;break;case 95:if(typeof u=="number"&&u===95)return 1;break;case 96:if(typeof u=="number"&&u===96)return 1;break;case 97:if(typeof u=="number"&&u===97)return 1;break;case 98:if(typeof u=="number"&&u===98)return 1;break;case 99:if(typeof u=="number"&&u===99)return 1;break;default:if(typeof u=="number"&&q0===u)return 1}else if(34<=p)switch(p){case 34:if(typeof u=="number"&&u===34)return 1;break;case 35:if(typeof u=="number"&&u===35)return 1;break;case 36:if(typeof u=="number"&&u===36)return 1;break;case 37:if(typeof u=="number"&&u===37)return 1;break;case 38:if(typeof u=="number"&&u===38)return 1;break;case 39:if(typeof u=="number"&&u===39)return 1;break;case 40:if(typeof u=="number"&&u===40)return 1;break;case 41:if(typeof u=="number"&&u===41)return 1;break;case 42:if(typeof u=="number"&&u===42)return 1;break;case 43:if(typeof u=="number"&&u===43)return 1;break;case 44:if(typeof u=="number"&&u===44)return 1;break;case 45:if(typeof u=="number"&&u===45)return 1;break;case 46:if(typeof u=="number"&&u===46)return 1;break;case 47:if(typeof u=="number"&&u===47)return 1;break;case 48:if(typeof u=="number"&&u===48)return 1;break;case 49:if(typeof u=="number"&&u===49)return 1;break;case 50:if(typeof u=="number"&&u===50)return 1;break;case 51:if(typeof u=="number"&&u===51)return 1;break;case 52:if(typeof u=="number"&&u===52)return 1;break;case 53:if(typeof u=="number"&&u===53)return 1;break;case 54:if(typeof u=="number"&&u===54)return 1;break;case 55:if(typeof u=="number"&&u===55)return 1;break;case 56:if(typeof u=="number"&&u===56)return 1;break;case 57:if(typeof u=="number"&&u===57)return 1;break;case 58:if(typeof u=="number"&&u===58)return 1;break;case 59:if(typeof u=="number"&&u===59)return 1;break;case 60:if(typeof u=="number"&&u===60)return 1;break;case 61:if(typeof u=="number"&&u===61)return 1;break;case 62:if(typeof u=="number"&&u===62)return 1;break;case 63:if(typeof u=="number"&&u===63)return 1;break;case 64:if(typeof u=="number"&&u===64)return 1;break;case 65:if(typeof u=="number"&&u===65)return 1;break;default:if(typeof u=="number"&&u===66)return 1}else switch(p){case 0:if(typeof u=="number"&&!u)return 1;break;case 1:if(typeof u=="number"&&u===1)return 1;break;case 2:if(typeof u=="number"&&u===2)return 1;break;case 3:if(typeof u=="number"&&u===3)return 1;break;case 4:if(typeof u=="number"&&u===4)return 1;break;case 5:if(typeof u=="number"&&u===5)return 1;break;case 6:if(typeof u=="number"&&u===6)return 1;break;case 7:if(typeof u=="number"&&u===7)return 1;break;case 8:if(typeof u=="number"&&u===8)return 1;break;case 9:if(typeof u=="number"&&u===9)return 1;break;case 10:if(typeof u=="number"&&u===10)return 1;break;case 11:if(typeof u=="number"&&u===11)return 1;break;case 12:if(typeof u=="number"&&u===12)return 1;break;case 13:if(typeof u=="number"&&u===13)return 1;break;case 14:if(typeof u=="number"&&u===14)return 1;break;case 15:if(typeof u=="number"&&u===15)return 1;break;case 16:if(typeof u=="number"&&u===16)return 1;break;case 17:if(typeof u=="number"&&u===17)return 1;break;case 18:if(typeof u=="number"&&u===18)return 1;break;case 19:if(typeof u=="number"&&u===19)return 1;break;case 20:if(typeof u=="number"&&u===20)return 1;break;case 21:if(typeof u=="number"&&u===21)return 1;break;case 22:if(typeof u=="number"&&u===22)return 1;break;case 23:if(typeof u=="number"&&u===23)return 1;break;case 24:if(typeof u=="number"&&u===24)return 1;break;case 25:if(typeof u=="number"&&u===25)return 1;break;case 26:if(typeof u=="number"&&u===26)return 1;break;case 27:if(typeof u=="number"&&u===27)return 1;break;case 28:if(typeof u=="number"&&u===28)return 1;break;case 29:if(typeof u=="number"&&u===29)return 1;break;case 30:if(typeof u=="number"&&u===30)return 1;break;case 31:if(typeof u=="number"&&u===31)return 1;break;case 32:if(typeof u=="number"&&u===32)return 1;break;default:if(typeof u=="number"&&u===33)return 1}}else switch(a[0]){case 0:if(typeof u!="number"&&u[0]===0){var d=u[2],q=a[2],g=K(mm[13],a[1],u[1]);return g&&Qa(q,d)}break;case 1:if(typeof u!="number"&&u[0]===1){var O=u[2],B=a[2],W=K(mm[12],a[1],u[1]);return W&&Qa(B,O)}break;case 2:if(typeof u!="number"&&u[0]===2){var Y=u[1],V=a[1],Z=Y[4],se=Y[3],ae=Y[2],ue=V[4],pe=V[3],xe=V[2],ye=K(mm[11],V[1],Y[1]),ge=ye&&Qa(xe,ae),Ne=ge&&Qa(pe,se);return Ne&&(ue===Z?1:0)}break;case 3:if(typeof u!="number"&&u[0]===3){var Fe=u[1],ze=a[1],ut=Fe[5],it=Fe[4],Tt=Fe[3],Rt=Fe[2],kt=ze[5],ft=ze[4],It=ze[3],dt=ze[2],Ot=K(mm[10],ze[1],Fe[1]),At=Ot&&Qa(dt,Rt),wt=At&&Qa(It,Tt),or=wt&&(ft===it?1:0);return or&&(kt===ut?1:0)}break;case 4:if(typeof u!="number"&&u[0]===4){var rr=u[3],Jt=u[2],tr=a[3],mr=a[2],Xt=K(mm[9],a[1],u[1]),hr=Xt&&Qa(mr,Jt);return hr&&Qa(tr,rr)}break;case 5:if(typeof u!="number"&&u[0]===5){var Ge=u[3],Cr=u[2],rt=a[3],yr=a[2],sr=K(mm[8],a[1],u[1]),Ir=sr&&Qa(yr,Cr);return Ir&&Qa(rt,Ge)}break;case 6:if(typeof u!="number"&&u[0]===6){var Dr=u[2],on=a[2],cn=K(mm[7],a[1],u[1]);return cn&&Qa(on,Dr)}break;case 7:if(typeof u!="number"&&u[0]===7)return Qa(a[1],u[1]);break;case 8:if(typeof u!="number"&&u[0]===8){var Lr=Qa(a[1],u[1]),fn=u[2],rn=a[2];return Lr&&K(mm[6],rn,fn)}break;case 9:if(typeof u!="number"&&u[0]===9){var vt=u[3],qr=u[2],Pe=a[3],Lt=a[2],Xe=K(mm[5],a[1],u[1]),Mt=Xe&&Qa(Lt,qr);return Mt&&Qa(Pe,vt)}break;case 10:if(typeof u!="number"&&u[0]===10){var Gt=u[3],Ze=u[2],Xr=a[3],qt=a[2],kn=K(mm[4],a[1],u[1]),Ki=kn&&Qa(qt,Ze);return Ki&&Qa(Xr,Gt)}break;case 11:if(typeof u!="number"&&u[0]===11)return K(mm[3],a[1],u[1]);break;case 12:if(typeof u!="number"&&u[0]===12){var Qe=u[3],Vt=u[2],We=a[3],Qt=a[2],gn=K(mm[2],a[1],u[1]),qn=gn&&(Qt==Vt?1:0);return qn&&Qa(We,Qe)}break;default:if(typeof u!="number"&&u[0]===13){var gr=u[2],wn=a[2],br=u[3],jn=a[3],Rn=K(mm[1],a[1],u[1]);if(Rn){e:{if(wn){if(gr){var ai=E9(wn[1],gr[1]);break e}}else if(!gr){var ai=1;break e}var ai=0}var mn=ai}else var mn=Rn;return mn&&Qa(jn,br)}}return 0}function Gue(a,u){switch(a){case 0:if(!u)return 1;break;case 1:if(u===1)return 1;break;case 2:if(u===2)return 1;break;case 3:if(u===3)return 1;break;default:if(4<=u)return 1}return 0}function Vue(a,u){switch(a){case 0:if(!u)return 1;break;case 1:if(u===1)return 1;break;default:if(2<=u)return 1}return 0}ns(mm,[0,Vue,Gue,function(a,u){if(a){if(u)return 1}else if(!u)return 1;return 0},Fo,Fo,Fo,Fo,Fo,Fo,Fo,Fo,Vue,Gue]);function nte(a){if(typeof a!="number")switch(a[0]){case 0:return aWe;case 1:return sWe;case 2:return oWe;case 3:return RWe;case 4:return uWe;case 5:return lWe;case 6:return cWe;case 7:return TWe;case 8:return pWe;case 9:return _We;case 10:return hWe;case 11:return fWe;case 12:return dWe;default:return xWe}var u=a;if(67<=u){if(Qn<=u)switch(u){case 101:return bMe;case 102:return EMe;case 103:return OMe;case 104:return vMe;case 105:return DMe;case 106:return SMe;case 107:return $Me;case 108:return QMe;case 109:return NMe;case 110:return wMe;case 111:return PMe;case 112:return BMe;case 113:return IMe;case 114:return MMe;case 115:return WMe;case 116:return UMe;case 117:return FMe;case 118:return LMe;case 119:return zMe;case 120:return HMe;case 121:return YMe;case 122:return KMe;case 123:return GMe;case 124:return VMe;case 125:return jMe;case 126:return JMe;case 127:return XMe;case 128:return ZMe;case 129:return eWe;case 130:return tWe;case 131:return rWe;case 132:return nWe;default:return iWe}switch(u){case 67:return YIe;case 68:return KIe;case 69:return GIe;case 70:return VIe;case 71:return jIe;case 72:return JIe;case 73:return XIe;case 74:return ZIe;case 75:return eMe;case 76:return tMe;case 77:return rMe;case 78:return nMe;case 79:return iMe;case 80:return aMe;case 81:return sMe;case 82:return oMe;case 83:return RMe;case 84:return uMe;case 85:return lMe;case 86:return cMe;case 87:return TMe;case 88:return pMe;case 89:return _Me;case 90:return hMe;case 91:return fMe;case 92:return dMe;case 93:return xMe;case 94:return mMe;case 95:return kMe;case 96:return yMe;case 97:return qMe;case 98:return CMe;case 99:return AMe;default:return gMe}}if(34<=u)switch(u){case 34:return pIe;case 35:return _Ie;case 36:return hIe;case 37:return fIe;case 38:return dIe;case 39:return xIe;case 40:return mIe;case 41:return kIe;case 42:return yIe;case 43:return qIe;case 44:return CIe;case 45:return AIe;case 46:return gIe;case 47:return bIe;case 48:return EIe;case 49:return OIe;case 50:return vIe;case 51:return DIe;case 52:return SIe;case 53:return $Ie;case 54:return QIe;case 55:return NIe;case 56:return wIe;case 57:return PIe;case 58:return BIe;case 59:return IIe;case 60:return MIe;case 61:return WIe;case 62:return UIe;case 63:return FIe;case 64:return LIe;case 65:return zIe;default:return HIe}switch(u){case 0:return QBe;case 1:return NBe;case 2:return wBe;case 3:return PBe;case 4:return BBe;case 5:return IBe;case 6:return MBe;case 7:return WBe;case 8:return UBe;case 9:return FBe;case 10:return LBe;case 11:return zBe;case 12:return HBe;case 13:return YBe;case 14:return KBe;case 15:return GBe;case 16:return VBe;case 17:return jBe;case 18:return JBe;case 19:return XBe;case 20:return ZBe;case 21:return eIe;case 22:return tIe;case 23:return rIe;case 24:return nIe;case 25:return iIe;case 26:return aIe;case 27:return sIe;case 28:return oIe;case 29:return RIe;case 30:return uIe;case 31:return lIe;case 32:return cIe;default:return TIe}}function HB(a){if(typeof a!="number")switch(a[0]){case 0:return a[2];case 1:return a[2];case 2:return a[1][3];case 3:var u=a[1],p=u[5],d=u[4],q=u[3];return d&&p?hi(qBe,hi(q,yBe)):d?hi(ABe,hi(q,CBe)):p?hi(bBe,hi(q,gBe)):hi(OBe,hi(q,EBe));case 4:return a[3];case 5:var g=a[2];return hi(DBe,hi(g,hi(vBe,a[3])));case 6:return a[2];case 7:return a[1];case 8:return a[1];case 9:return a[3];case 10:return a[3];case 11:return a[1]?SBe:$Be;case 12:return a[3];default:return a[3]}var O=a;if(67<=O){if(Qn<=O)switch(O){case 101:return FPe;case 102:return LPe;case 103:return zPe;case 104:return HPe;case 105:return YPe;case 106:return KPe;case 107:return GPe;case 108:return VPe;case 109:return jPe;case 110:return JPe;case 111:return XPe;case 112:return ZPe;case 113:return eBe;case 114:return tBe;case 115:return rBe;case 116:return nBe;case 117:return iBe;case 118:return aBe;case 119:return sBe;case 120:return oBe;case 121:return RBe;case 122:return uBe;case 123:return lBe;case 124:return cBe;case 125:return TBe;case 126:return pBe;case 127:return _Be;case 128:return hBe;case 129:return fBe;case 130:return dBe;case 131:return xBe;case 132:return mBe;default:return kBe}switch(O){case 67:return RPe;case 68:return uPe;case 69:return lPe;case 70:return cPe;case 71:return TPe;case 72:return pPe;case 73:return _Pe;case 74:return hPe;case 75:return fPe;case 76:return dPe;case 77:return xPe;case 78:return mPe;case 79:return kPe;case 80:return yPe;case 81:return qPe;case 82:return CPe;case 83:return APe;case 84:return gPe;case 85:return bPe;case 86:return EPe;case 87:return OPe;case 88:return vPe;case 89:return DPe;case 90:return SPe;case 91:return $Pe;case 92:return QPe;case 93:return NPe;case 94:return wPe;case 95:return PPe;case 96:return BPe;case 97:return IPe;case 98:return MPe;case 99:return WPe;default:return UPe}}if(34<=O)switch(O){case 34:return vwe;case 35:return Dwe;case 36:return Swe;case 37:return $we;case 38:return Qwe;case 39:return Nwe;case 40:return wwe;case 41:return Pwe;case 42:return Bwe;case 43:return Iwe;case 44:return Mwe;case 45:return Wwe;case 46:return Uwe;case 47:return Fwe;case 48:return Lwe;case 49:return zwe;case 50:return Hwe;case 51:return Ywe;case 52:return Kwe;case 53:return Gwe;case 54:return Vwe;case 55:return jwe;case 56:return Jwe;case 57:return Xwe;case 58:return Zwe;case 59:return ePe;case 60:return tPe;case 61:return rPe;case 62:return nPe;case 63:return iPe;case 64:return aPe;case 65:return sPe;default:return oPe}switch(O){case 0:return VNe;case 1:return jNe;case 2:return JNe;case 3:return XNe;case 4:return ZNe;case 5:return ewe;case 6:return twe;case 7:return rwe;case 8:return nwe;case 9:return iwe;case 10:return awe;case 11:return swe;case 12:return owe;case 13:return Rwe;case 14:return uwe;case 15:return lwe;case 16:return cwe;case 17:return Twe;case 18:return pwe;case 19:return _we;case 20:return hwe;case 21:return fwe;case 22:return dwe;case 23:return xwe;case 24:return mwe;case 25:return kwe;case 26:return ywe;case 27:return qwe;case 28:return Cwe;case 29:return Awe;case 30:return gwe;case 31:return bwe;case 32:return Ewe;default:return Owe}}function YB(a){return J(fa(GNe),a)}function jue(a,u){var p=a?a[1]:0;e:{if(typeof u=="number"){if(vo===u){var d=$Ne,q=QNe;break e}}else switch(u[0]){case 3:var d=NNe,q=wNe;break e;case 5:var d=PNe,q=BNe;break e;case 0:case 12:var d=MNe,q=WNe;break e;case 1:case 13:var d=UNe,q=FNe;break e;case 4:case 8:var d=HNe,q=YNe;break e;case 6:case 7:case 11:break;default:var d=LNe,q=zNe;break e}var d=INe,q=YB(HB(u))}return p?hi(d,hi(KNe,q)):q}function Jue(a){return Hs>>0)var d=Ke(a);else switch(p){case 0:var d=1;break;case 1:var d=2;break;case 2:var d=0;break;default:if(Kt(a,2),eE(le(a))===0){var q=iv(le(a));if(q===0)var d=So(le(a))===0&&So(le(a))===0&&So(le(a))===0?0:Ke(a);else if(q===1&&So(le(a))===0){for(;;){var g=iC(le(a));if(g!==0)break}var d=g===1?0:Ke(a)}else var d=Ke(a)}else var d=Ke(a)}if(2>>0)throw Pr([0,Wa,mWe],1);switch(d){case 0:break;case 1:return;default:if(!rte(WB(a))){W9(a,1);return}}}}function ov(a,u){var p=u-a[3][2]|0;return[0,WG(a),p]}function b1(a,u,p){var d=ov(a,p),q=ov(a,u);return[0,a[1],q,d]}function hu(a,u){return ov(a,u[6])}function jo(a,u){return ov(a,u[3])}function QR(a,u){return b1(a,u[6],u[3])}function O_(a,u){e:if(typeof u!="number"){switch(u[0]){case 2:var p=u[1][1];break;case 3:return u[1][1];case 4:var p=u[1];break;case 5:return u[1];case 8:var p=u[2];break;case 9:return u[1];case 10:return u[1];default:break e}return p}return QR(a,a[2])}function v_(a,u,p){return[0,a[1],a[2],a[3],a[4],a[5],[0,[0,u,p],a[6]],a[7]]}function ate(a,u,p){return v_(a,u,[26,YB(p)])}function qm(a,u,p,d){return v_(a,u,[27,p,d])}function El(a,u){return v_(a,u,IYe)}function Gl(a,u){var p=u[3],d=[0,WG(a)+1|0,p];return[0,a[1],a[2],d,a[4],a[5],a[6],a[7]]}function E1(a,u,p,d,q){var g=[0,a[1],u,p],O=m0(d),B=q?0:1;return[0,g,[0,B,O,a[7][3][1]>>0)var W=Ke(d);else switch(B){case 0:var W=2;break;case 1:for(;;){Kt(d,3);var Y=le(d),V=-1>>0)return Ln(SYe);switch(W){case 0:var ae=sle(g,p,d,2,0),ue=ae[1],pe=mT(hi($Ye,ae[2])),xe=0<=pe?1:0,ye=xe&&(pe<=55295?1:0);if(ye)var Ne=ye;else var ge=57344<=pe?1:0,Ne=ge&&(pe<=Ly?1:0);var Fe=Ne?ale(g,ue,pe):v_(g,ue,28);s2(q,pe);var g=Fe;break;case 1:var ze=sle(g,p,d,3,1),ut=ze[1],it=mT(hi(QYe,ze[2])),Tt=ale(g,ut,it);s2(q,it);var g=Tt;break;case 2:return[0,g,m0(q)];default:ZO(d,q)}}}function Ku(a,u,p){var d=El(a,QR(a,u));return XO(u),p(d,u)}function aC(a,u,p){for(var d=a;;){Se(p);var q=le(p),g=-1>>0)var O=Ke(p);else switch(g){case 0:for(;;){Kt(p,3);var B=le(p),W=-1>>0){var Z=El(d,QR(d,p));return[0,Z,jo(Z,p)]}switch(O){case 0:var se=Gl(d,p);ZO(p,u);var d=se;break;case 1:var ae=d[4]?qm(d,QR(d,p),qWe,yWe):d;return[0,ae,jo(ae,p)];case 2:if(d[4])return[0,d,jo(d,p)];pa(u,CWe);break;default:ZO(p,u)}}}function QQ(a,u,p){for(;;){Se(p);var d=le(p),q=13>>0)var g=Ke(p);else switch(q){case 0:var g=0;break;case 1:for(;;){Kt(p,2);var O=le(p),B=-1>>0)return Ln(AWe);switch(g){case 0:return[0,a,jo(a,p)];case 1:var W=jo(a,p),Y=W[2],V=W[1],Z=Gl(a,p);return[0,Z,[0,V,Y-_u(p)|0]];default:ZO(p,u)}}}function ole(a,u){function p(ut){return Kt(ut,3),E_(le(ut))===0?2:Ke(ut)}Se(u);var d=le(u),q=Wh>>0)var g=Ke(u);else switch(q){case 0:var g=0;break;case 1:var g=16;break;case 2:var g=15;break;case 3:Kt(u,15);var g=X2(le(u))===0?15:Ke(u);break;case 4:Kt(u,4);var g=E_(le(u))===0?p(u):Ke(u);break;case 5:Kt(u,11);var g=E_(le(u))===0?p(u):Ke(u);break;case 6:var g=0;break;case 7:var g=5;break;case 8:var g=6;break;case 9:var g=7;break;case 10:var g=8;break;case 11:var g=9;break;case 12:Kt(u,14);var O=iv(le(u));if(O===0)var g=So(le(u))===0&&So(le(u))===0&&So(le(u))===0?12:Ke(u);else if(O===1&&So(le(u))===0){for(;;){var B=iC(le(u));if(B!==0)break}var g=B===1?13:Ke(u)}else var g=Ke(u);break;case 13:var g=10;break;default:Kt(u,14);var g=So(le(u))===0&&So(le(u))===0?1:Ke(u)}if(16>>0)return Ln(dYe);switch(g){case 0:var W=ms(u);return[0,a,W,Yu(u),0];case 1:var Y=ms(u);return[0,a,Y,[0,mT(hi(xYe,Y))],0];case 2:var V=ms(u),Z=mT(hi(mYe,V));return $S<=Z?[0,a,V,[0,Z>>>3|0,48+(Z&7)|0],1]:[0,a,V,[0,Z],1];case 3:var se=ms(u);return[0,a,se,[0,mT(hi(kYe,se))],1];case 4:return[0,a,yYe,[0,0],0];case 5:return[0,a,qYe,[0,8],0];case 6:return[0,a,CYe,[0,12],0];case 7:return[0,a,AYe,[0,10],0];case 8:return[0,a,gYe,[0,13],0];case 9:return[0,a,bYe,[0,9],0];case 10:return[0,a,EYe,[0,11],0];case 11:var ae=ms(u);return[0,a,ae,[0,mT(hi(OYe,ae))],1];case 12:var ue=ms(u);return[0,a,ue,[0,mT(hi(vYe,qR(ue,1,ii(ue)-1|0)))],0];case 13:var pe=ms(u),xe=mT(hi(DYe,qR(pe,2,ii(pe)-3|0))),ye=Ly>>0)var V=Ke(g);else switch(Y){case 0:var V=3;break;case 1:for(;;){Kt(g,4);var Z=le(g),se=-1>>0)return Ln(gWe);switch(V){case 0:var ae=ms(g);if(pa(d,ae),Qa(u,ae))return[0,O,jo(O,g),B];pa(p,ae);break;case 1:pa(d,bWe);var ue=ole(O,g),pe=ue[4],xe=ue[3],ye=ue[2],ge=ue[1],Ne=pe||B;pa(d,ye),MRe(function(Ot){return s2(p,Ot)},xe);var O=ge,B=Ne;break;case 2:var Fe=ms(g);pa(d,Fe);var ze=Gl(El(O,QR(O,g)),g);return pa(p,Fe),[0,ze,jo(ze,g),B];case 3:var ut=ms(g);pa(d,ut);var it=El(O,QR(O,g));return pa(p,ut),[0,it,jo(it,g),B];default:var Tt=g[6],Rt=g[3]-Tt|0,kt=Do(Rt*4|0),ft=UB(g[1],Tt,Rt,kt);uG(d,kt,0,ft),uG(p,kt,0,ft)}}}function vxe(a,u,p,d){for(var q=a;;){Se(d);var g=le(d),O=96>>0)var B=Ke(d);else switch(O){case 0:var B=0;break;case 1:for(;;){Kt(d,6);var W=le(d),Y=-1>>0)return Ln(EWe);switch(B){case 0:return[0,El(q,QR(q,d)),1];case 1:return[0,q,1];case 2:return[0,q,0];case 3:kT(p,92);var se=ole(q,d),ae=se[3],ue=se[1];pa(p,se[2]),MRe(function(ye){return s2(u,ye)},ae);var q=ue;break;case 4:pa(p,OWe),pa(u,vWe);var q=Gl(q,d);break;case 5:pa(p,ms(d)),kT(u,10);var q=Gl(q,d);break;default:var pe=ms(d);pa(p,pe),pa(u,pe)}}}function Dxe(a,u,p){for(var d=a;;){Se(p);var q=le(p),g=92>>0)var O=Ke(p);else switch(g){case 0:var O=0;break;case 1:for(;;){Kt(p,7);var B=le(p),W=-1>>0)var O=Ke(p);else switch(V){case 0:var O=2;break;case 1:var O=1;break;default:Kt(p,1);var O=X2(le(p))===0?1:Ke(p)}}if(7>>0)return Ln($We);switch(O){case 0:return[0,v_(d,QR(d,p),Bi),QWe];case 1:return[0,Gl(v_(d,QR(d,p),Bi),p),NWe];case 2:pa(u,ms(p));break;case 3:var Z=ms(p);return[0,d,qR(Z,1,ii(Z)-1|0)];case 4:return[0,d,wWe];case 5:kT(u,91);e:{t:{r:{n:{i:for(;;){Se(p);var se=le(p),ae=93>>0)var ue=Ke(p);else switch(ae){case 0:var ue=0;break;case 1:for(;;){Kt(p,5);var pe=le(p),xe=-1>>0)break t;switch(ue){case 0:break r;case 1:pa(u,SWe);break;case 2:kT(u,92),kT(u,93);break;case 3:break n;case 4:break i;default:pa(u,ms(p))}}var Ne=Gl(v_(d,QR(d,p),Bi),p);break e}kT(u,93);var Ne=d;break e}var Ne=d;break e}var Ne=Ln(DWe)}var d=Ne;break;case 6:return[0,Gl(v_(d,QR(d,p),Bi),p),PWe];default:pa(u,ms(p))}}}function ule(a){var u=dn(a,"iexcl");if(0<=u){if(0>=u)return XHe;var p=dn(a,"prime");if(0<=p){if(0>=p)return JHe;var d=dn(a,"sup1");if(0<=d){if(0>=d)return jHe;var q=dn(a,"uarr");if(0<=q){if(0>=q)return VHe;var g=dn(a,"xi");if(0<=g){if(0>=g)return GHe;if(!Re(a,"yacute"))return KHe;if(!Re(a,"yen"))return YHe;if(!Re(a,"yuml"))return HHe;if(!Re(a,"zeta"))return zHe;if(!Re(a,"zwj"))return LHe;if(!Re(a,"zwnj"))return FHe}else{if(!Re(a,"ucirc"))return UHe;if(!Re(a,"ugrave"))return WHe;if(!Re(a,"uml"))return MHe;if(!Re(a,"upsih"))return IHe;if(!Re(a,"upsilon"))return BHe;if(!Re(a,"uuml"))return PHe;if(!Re(a,"weierp"))return wHe}}else{var O=dn(a,"thetasym");if(0<=O){if(0>=O)return NHe;if(!Re(a,"thinsp"))return QHe;if(!Re(a,"thorn"))return $He;if(!Re(a,"tilde"))return SHe;if(!Re(a,"times"))return DHe;if(!Re(a,"trade"))return vHe;if(!Re(a,"uArr"))return OHe;if(!Re(a,"uacute"))return EHe}else{if(!Re(a,"sup2"))return bHe;if(!Re(a,"sup3"))return gHe;if(!Re(a,"supe"))return AHe;if(!Re(a,"szlig"))return CHe;if(!Re(a,"tau"))return qHe;if(!Re(a,"there4"))return yHe;if(!Re(a,"theta"))return kHe}}}else{var B=dn(a,"rlm");if(0<=B){if(0>=B)return mHe;var W=dn(a,"sigma");if(0<=W){if(0>=W)return xHe;if(!Re(a,"sigmaf"))return dHe;if(!Re(a,"sim"))return fHe;if(!Re(a,"spades"))return hHe;if(!Re(a,"sub"))return _He;if(!Re(a,"sube"))return pHe;if(!Re(a,"sum"))return THe;if(!Re(a,"sup"))return cHe}else{if(!Re(a,"rsaquo"))return lHe;if(!Re(a,"rsquo"))return uHe;if(!Re(a,"sbquo"))return RHe;if(!Re(a,"scaron"))return oHe;if(!Re(a,"sdot"))return sHe;if(!Re(a,"sect"))return aHe;if(!Re(a,"shy"))return iHe}}else{var Y=dn(a,"raquo");if(0<=Y){if(0>=Y)return nHe;if(!Re(a,"rarr"))return rHe;if(!Re(a,"rceil"))return tHe;if(!Re(a,"rdquo"))return eHe;if(!Re(a,"real"))return Zze;if(!Re(a,"reg"))return Xze;if(!Re(a,"rfloor"))return Jze;if(!Re(a,"rho"))return jze}else{if(!Re(a,"prod"))return Vze;if(!Re(a,"prop"))return Gze;if(!Re(a,"psi"))return Kze;if(!Re(a,"quot"))return Yze;if(!Re(a,"rArr"))return Hze;if(!Re(a,"radic"))return zze;if(!Re(a,"rang"))return Lze}}}}else{var V=dn(a,"ndash");if(0<=V){if(0>=V)return Fze;var Z=dn(a,"or");if(0<=Z){if(0>=Z)return Uze;var se=dn(a,"part");if(0<=se){if(0>=se)return Wze;if(!Re(a,"permil"))return Mze;if(!Re(a,"perp"))return Ize;if(!Re(a,"phi"))return Bze;if(!Re(a,"pi"))return Pze;if(!Re(a,"piv"))return wze;if(!Re(a,"plusmn"))return Nze;if(!Re(a,"pound"))return Qze}else{if(!Re(a,"ordf"))return $ze;if(!Re(a,"ordm"))return Sze;if(!Re(a,"oslash"))return Dze;if(!Re(a,"otilde"))return vze;if(!Re(a,"otimes"))return Oze;if(!Re(a,"ouml"))return Eze;if(!Re(a,"para"))return bze}}else{var ae=dn(a,"oacute");if(0<=ae){if(0>=ae)return gze;if(!Re(a,"ocirc"))return Aze;if(!Re(a,"oelig"))return Cze;if(!Re(a,"ograve"))return qze;if(!Re(a,"oline"))return yze;if(!Re(a,"omega"))return kze;if(!Re(a,"omicron"))return mze;if(!Re(a,"oplus"))return xze}else{if(!Re(a,"ne"))return dze;if(!Re(a,"ni"))return fze;if(!Re(a,"not"))return hze;if(!Re(a,"notin"))return _ze;if(!Re(a,"nsub"))return pze;if(!Re(a,"ntilde"))return Tze;if(!Re(a,"nu"))return cze}}}else{var ue=dn(a,"le");if(0<=ue){if(0>=ue)return lze;var pe=dn(a,"macr");if(0<=pe){if(0>=pe)return uze;if(!Re(a,"mdash"))return Rze;if(!Re(a,"micro"))return oze;if(!Re(a,"middot"))return sze;if(!Re(a,uee))return aze;if(!Re(a,"mu"))return ize;if(!Re(a,"nabla"))return nze;if(!Re(a,"nbsp"))return rze}else{if(!Re(a,"lfloor"))return tze;if(!Re(a,"lowast"))return eze;if(!Re(a,"loz"))return ZLe;if(!Re(a,"lrm"))return XLe;if(!Re(a,"lsaquo"))return JLe;if(!Re(a,"lsquo"))return jLe;if(!Re(a,"lt"))return VLe}}else{var xe=dn(a,"kappa");if(0<=xe){if(0>=xe)return GLe;if(!Re(a,"lArr"))return KLe;if(!Re(a,"lambda"))return YLe;if(!Re(a,"lang"))return HLe;if(!Re(a,"laquo"))return zLe;if(!Re(a,"larr"))return LLe;if(!Re(a,"lceil"))return FLe;if(!Re(a,"ldquo"))return ULe}else{if(!Re(a,"igrave"))return WLe;if(!Re(a,"image"))return MLe;if(!Re(a,"infin"))return ILe;if(!Re(a,"iota"))return BLe;if(!Re(a,"iquest"))return PLe;if(!Re(a,"isin"))return wLe;if(!Re(a,"iuml"))return NLe}}}}}else{var ye=dn(a,"aelig");if(0<=ye){if(0>=ye)return QLe;var ge=dn(a,"delta");if(0<=ge){if(0>=ge)return $Le;var Ne=dn(a,"fnof");if(0<=Ne){if(0>=Ne)return SLe;var Fe=dn(a,"gt");if(0<=Fe){if(0>=Fe)return DLe;if(!Re(a,"hArr"))return vLe;if(!Re(a,"harr"))return OLe;if(!Re(a,"hearts"))return ELe;if(!Re(a,"hellip"))return bLe;if(!Re(a,"iacute"))return gLe;if(!Re(a,"icirc"))return ALe}else{if(!Re(a,"forall"))return CLe;if(!Re(a,"frac12"))return qLe;if(!Re(a,"frac14"))return yLe;if(!Re(a,"frac34"))return kLe;if(!Re(a,"frasl"))return mLe;if(!Re(a,"gamma"))return xLe;if(!Re(a,"ge"))return dLe}}else{var ze=dn(a,"ensp");if(0<=ze){if(0>=ze)return fLe;if(!Re(a,"epsilon"))return hLe;if(!Re(a,"equiv"))return _Le;if(!Re(a,"eta"))return pLe;if(!Re(a,"eth"))return TLe;if(!Re(a,"euml"))return cLe;if(!Re(a,"euro"))return lLe;if(!Re(a,"exist"))return uLe}else{if(!Re(a,"diams"))return RLe;if(!Re(a,"divide"))return oLe;if(!Re(a,"eacute"))return sLe;if(!Re(a,"ecirc"))return aLe;if(!Re(a,"egrave"))return iLe;if(!Re(a,dh))return nLe;if(!Re(a,"emsp"))return rLe}}}else{var ut=dn(a,"cap");if(0<=ut){if(0>=ut)return tLe;var it=dn(a,"copy");if(0<=it){if(0>=it)return eLe;if(!Re(a,"crarr"))return ZFe;if(!Re(a,"cup"))return XFe;if(!Re(a,"curren"))return JFe;if(!Re(a,"dArr"))return jFe;if(!Re(a,"dagger"))return VFe;if(!Re(a,"darr"))return GFe;if(!Re(a,"deg"))return KFe}else{if(!Re(a,"ccedil"))return YFe;if(!Re(a,"cedil"))return HFe;if(!Re(a,"cent"))return zFe;if(!Re(a,"chi"))return LFe;if(!Re(a,"circ"))return FFe;if(!Re(a,"clubs"))return UFe;if(!Re(a,"cong"))return WFe}}else{var Tt=dn(a,"aring");if(0<=Tt){if(0>=Tt)return MFe;if(!Re(a,"asymp"))return IFe;if(!Re(a,"atilde"))return BFe;if(!Re(a,"auml"))return PFe;if(!Re(a,"bdquo"))return wFe;if(!Re(a,"beta"))return NFe;if(!Re(a,"brvbar"))return QFe;if(!Re(a,"bull"))return $Fe}else{if(!Re(a,"agrave"))return SFe;if(!Re(a,"alefsym"))return DFe;if(!Re(a,"alpha"))return vFe;if(!Re(a,"amp"))return OFe;if(!Re(a,"and"))return EFe;if(!Re(a,"ang"))return bFe;if(!Re(a,"apos"))return gFe}}}}else{var Rt=dn(a,"Nu");if(0<=Rt){if(0>=Rt)return AFe;var kt=dn(a,"Sigma");if(0<=kt){if(0>=kt)return CFe;var ft=dn(a,"Uuml");if(0<=ft){if(0>=ft)return qFe;if(!Re(a,"Xi"))return yFe;if(!Re(a,"Yacute"))return kFe;if(!Re(a,"Yuml"))return mFe;if(!Re(a,"Zeta"))return xFe;if(!Re(a,"aacute"))return dFe;if(!Re(a,"acirc"))return fFe;if(!Re(a,"acute"))return hFe}else{if(!Re(a,"THORN"))return _Fe;if(!Re(a,"Tau"))return pFe;if(!Re(a,"Theta"))return TFe;if(!Re(a,"Uacute"))return cFe;if(!Re(a,"Ucirc"))return lFe;if(!Re(a,"Ugrave"))return uFe;if(!Re(a,"Upsilon"))return RFe}}else{var It=dn(a,"Otilde");if(0<=It){if(0>=It)return oFe;if(!Re(a,"Ouml"))return sFe;if(!Re(a,"Phi"))return aFe;if(!Re(a,"Pi"))return iFe;if(!Re(a,"Prime"))return nFe;if(!Re(a,"Psi"))return rFe;if(!Re(a,"Rho"))return tFe;if(!Re(a,"Scaron"))return eFe}else{if(!Re(a,"OElig"))return ZUe;if(!Re(a,"Oacute"))return XUe;if(!Re(a,"Ocirc"))return JUe;if(!Re(a,"Ograve"))return jUe;if(!Re(a,"Omega"))return VUe;if(!Re(a,"Omicron"))return GUe;if(!Re(a,"Oslash"))return KUe}}}else{var dt=dn(a,"Eacute");if(0<=dt){if(0>=dt)return YUe;var Ot=dn(a,"Icirc");if(0<=Ot){if(0>=Ot)return HUe;if(!Re(a,"Igrave"))return zUe;if(!Re(a,"Iota"))return LUe;if(!Re(a,"Iuml"))return FUe;if(!Re(a,"Kappa"))return UUe;if(!Re(a,"Lambda"))return WUe;if(!Re(a,"Mu"))return MUe;if(!Re(a,"Ntilde"))return IUe}else{if(!Re(a,"Ecirc"))return BUe;if(!Re(a,"Egrave"))return PUe;if(!Re(a,"Epsilon"))return wUe;if(!Re(a,"Eta"))return NUe;if(!Re(a,"Euml"))return QUe;if(!Re(a,"Gamma"))return $Ue;if(!Re(a,"Iacute"))return SUe}}else{var At=dn(a,"Atilde");if(0<=At){if(0>=At)return DUe;if(!Re(a,"Auml"))return vUe;if(!Re(a,"Beta"))return OUe;if(!Re(a,"Ccedil"))return EUe;if(!Re(a,"Chi"))return bUe;if(!Re(a,"Dagger"))return gUe;if(!Re(a,"Delta"))return AUe;if(!Re(a,"ETH"))return CUe}else{if(!Re(a,"'int'"))return qUe;if(!Re(a,"AElig"))return yUe;if(!Re(a,"Aacute"))return kUe;if(!Re(a,"Acirc"))return mUe;if(!Re(a,"Agrave"))return xUe;if(!Re(a,"Alpha"))return dUe;if(!Re(a,"Aring"))return fUe}}}}}return 0}function XB(a,u,p,d){for(var q=a;;){var g=function(It){for(;;)if(Kt(It,8),ite(le(It))!==0)return Ke(It)};Se(d);var O=le(d),B=tm>>0)var W=Ke(d);else switch(B){case 0:var W=3;break;case 1:var W=g(d);break;case 2:var W=4;break;case 3:Kt(d,4);var W=X2(le(d))===0?4:Ke(d);break;case 4:Kt(d,8);var Y=Exe(le(d));if(Y===0){var V=a0(le(d));if(V===0){for(;;){var Z=L8(le(d));if(Z!==0)break}var W=Z===1?6:Ke(d)}else if(V===1&&So(le(d))===0){for(;;){var se=Zb(le(d));if(se!==0)break}var W=se===1?5:Ke(d)}else var W=Ke(d)}else if(Y===1&&Vo(le(d))===0){var ae=km(le(d));if(ae===0){var ue=km(le(d));if(ue===0){var pe=km(le(d));if(pe===0){var xe=km(le(d));if(xe===0){var ye=km(le(d));if(ye===0)var ge=km(le(d)),W=ge===0?rle(le(d))===0?7:Ke(d):ge===1?7:Ke(d);else var W=ye===1?7:Ke(d)}else var W=xe===1?7:Ke(d)}else var W=pe===1?7:Ke(d)}else var W=ue===1?7:Ke(d)}else var W=ae===1?7:Ke(d)}else var W=Ke(d);break;case 5:var W=0;break;case 6:Kt(d,1);var W=ite(le(d))===0?g(d):Ke(d);break;default:Kt(d,2);var W=ite(le(d))===0?g(d):Ke(d)}if(8>>0)return Ln(BWe);switch(W){case 0:return XO(d),q;case 1:return qm(q,QR(q,d),MWe,IWe);case 2:return qm(q,QR(q,d),UWe,WWe);case 3:return El(q,QR(q,d));case 4:var Ne=ms(d);pa(p,Ne),pa(u,Ne);var q=Gl(q,d);break;case 5:var Fe=ms(d),ze=qR(Fe,3,ii(Fe)-4|0);pa(p,Fe),s2(u,mT(hi(FWe,ze)));break;case 6:var ut=ms(d),it=qR(ut,2,ii(ut)-3|0);pa(p,ut),s2(u,mT(it));break;case 7:var Tt=ms(d),Rt=qR(Tt,1,ii(Tt)-2|0);pa(p,Tt);var kt=ule(Rt);kt?s2(u,kt[1]):pa(u,hi(zWe,hi(Rt,LWe)));break;default:var ft=ms(d);pa(p,ft),pa(u,ft)}}}function JG(a){return function(u){var p=0,d=u;e:for(;;){var q=a(d,d[2]);switch(q[0]){case 0:break e;case 1:var g=q[2],O=q[1],p=[0,g,p],d=[0,O[1],O[2],O[3],O[4],O[5],O[6],g[1]];break;default:var d=q[1]}}var B=q[2],W=q[1],Y=O_(W,B),V=p===0?0:xn(p),Z=W[6];if(Z===0)return[0,[0,W[1],W[2],W[3],W[4],W[5],W[6],Y],[0,B,Y,0,V]];var se=[0,B,Y,xn(Z),V];return[0,[0,W[1],W[2],W[3],W[4],W[5],Hue,Y],se]}}var $Tt=JG(function(a,u){Se(u);var p=le(u),d=Hs>>0)var q=Ke(u);else switch(d){case 0:var q=0;break;case 1:var q=6;break;case 2:if(Kt(u,2),U9(le(u))===0){for(;Kt(u,2),U9(le(u))===0;);var q=Ke(u)}else var q=Ke(u);break;case 3:var q=1;break;case 4:Kt(u,1);var q=X2(le(u))===0?1:Ke(u);break;default:Kt(u,5);var g=$Q(le(u)),q=g===0?4:g===1?3:Ke(u)}if(6>>0)return Ln(ZHe);switch(q){case 0:return[0,a,vo];case 1:return[2,Gl(a,u)];case 2:return[2,a];case 3:var O=hu(a,u),B=vs(xR),W=QQ(a,B,u),Y=W[1];return[1,Y,E1(Y,O,W[2],B,0)];case 4:var V=hu(a,u),Z=vs(xR),se=aC(a,Z,u),ae=se[1];return[1,ae,E1(ae,V,se[2],Z,1)];case 5:var ue=hu(a,u),pe=vs(xR),xe=Dxe(a,pe,u),ye=xe[1],ge=xe[2],Ne=jo(ye,u),Fe=[0,ye[1],ue,Ne];return[0,ye,[5,Fe,m0(pe),ge]];default:var ze=El(a,QR(a,u));return[0,ze,[7,ms(u)]]}}),QTt=JG(function(a,u){Se(u);var p=Oxe(le(u));if(14

>>0)var d=Ke(u);else switch(p){case 0:var d=0;break;case 1:var d=14;break;case 2:if(Kt(u,2),U9(le(u))===0){for(;Kt(u,2),U9(le(u))===0;);var d=Ke(u)}else var d=Ke(u);break;case 3:var d=1;break;case 4:Kt(u,1);var d=X2(le(u))===0?1:Ke(u);break;case 5:var d=12;break;case 6:var d=13;break;case 7:var d=10;break;case 8:Kt(u,6);var q=$Q(le(u)),d=q===0?4:q===1?3:Ke(u);break;case 9:var d=9;break;case 10:var d=5;break;case 11:var d=11;break;case 12:var d=7;break;case 13:if(Kt(u,14),eE(le(u))===0){var g=iv(le(u));if(g===0)var d=So(le(u))===0&&So(le(u))===0&&So(le(u))===0?13:Ke(u);else if(g===1&&So(le(u))===0){for(;;){var O=iC(le(u));if(O!==0)break}var d=O===1?13:Ke(u)}else var d=Ke(u)}else var d=Ke(u);break;default:var d=8}if(14>>0)return Ln(hUe);switch(d){case 0:return[0,a,vo];case 1:return[2,Gl(a,u)];case 2:return[2,a];case 3:var B=hu(a,u),W=vs(xR),Y=QQ(a,W,u),V=Y[1];return[1,V,E1(V,B,Y[2],W,0)];case 4:var Z=hu(a,u),se=vs(xR),ae=aC(a,se,u),ue=ae[1];return[1,ue,E1(ue,Z,ae[2],se,1)];case 5:return[0,a,99];case 6:return[0,a,dT];case 7:return[0,a,q0];case 8:return[0,a,0];case 9:return[0,a,87];case 10:return[0,a,10];case 11:return[0,a,83];case 12:var pe=ms(u),xe=hu(a,u),ye=vs(xR),ge=vs(xR);pa(ge,pe);for(var Ne=Qa(pe,"'"),Fe=a;;){Se(u);var ze=le(u),ut=39>>0)var it=Ke(u);else switch(ut){case 0:var it=2;break;case 1:for(;;){Kt(u,7);var Tt=le(u),Rt=-1>>0)var tr=Ln(HWe);else switch(it){case 0:if(!Ne){kT(ge,39),kT(ye,39);continue}var tr=Fe;break;case 1:if(Ne){kT(ge,34),kT(ye,34);continue}var tr=Fe;break;case 2:var tr=El(Fe,QR(Fe,u));break;case 3:var mr=ms(u);pa(ge,mr),pa(ye,mr);var Fe=Gl(Fe,u);continue;case 4:var Xt=ms(u),hr=qR(Xt,3,ii(Xt)-4|0);pa(ge,Xt),s2(ye,mT(hi(YWe,hr)));continue;case 5:var Ge=ms(u),Cr=qR(Ge,2,ii(Ge)-3|0);pa(ge,Ge),s2(ye,mT(Cr));continue;case 6:var rt=ms(u),yr=qR(rt,1,ii(rt)-2|0);pa(ge,rt);var sr=ule(yr);sr?s2(ye,sr[1]):pa(ye,hi(GWe,hi(yr,KWe)));continue;default:var Ir=ms(u);pa(ge,Ir),pa(ye,Ir);continue}var Dr=jo(tr,u);pa(ge,pe);var on=m0(ye),cn=m0(ge);return[0,tr,[10,[0,tr[1],xe,Dr],on,cn]]}case 13:for(var Lr=u[6];;){Se(u);var fn=le(u),rn=$0>>0)var vt=Ke(u);else switch(rn){case 0:var vt=1;break;case 1:var vt=2;break;case 2:var vt=0;break;default:if(Kt(u,2),eE(le(u))===0){var qr=iv(le(u));if(qr===0)var vt=So(le(u))===0&&So(le(u))===0&&So(le(u))===0?0:Ke(u);else if(qr===1&&So(le(u))===0){for(;;){var Pe=iC(le(u));if(Pe!==0)break}var vt=Pe===1?0:Ke(u)}else var vt=Ke(u)}else var vt=Ke(u)}if(2>>0)throw Pr([0,Wa,kWe],1);switch(vt){case 0:continue;case 1:break;default:if(rte(WB(u)))continue;W9(u,1)}var Lt=u[3];MB(u,Lr);var Xe=Yu(u),Mt=b1(a,Lr,Lt);return[0,a,[8,LB(Xe),Mt]]}default:return[0,a,[7,ms(u)]]}}),NTt=JG(function(a,u){Se(u);var p=le(u),d=-1>>0)var q=Ke(u);else switch(d){case 0:var q=5;break;case 1:if(Kt(u,1),U9(le(u))===0){for(;Kt(u,1),U9(le(u))===0;);var q=Ke(u)}else var q=Ke(u);break;case 2:var q=0;break;case 3:Kt(u,0);var q=X2(le(u))===0?0:Ke(u);break;case 4:Kt(u,5);var g=$Q(le(u)),q=g===0?3:g===1?2:Ke(u);break;default:var q=4}if(5>>0)return Ln(cUe);switch(q){case 0:return[2,Gl(a,u)];case 1:return[2,a];case 2:var O=hu(a,u),B=vs(xR),W=QQ(a,B,u),Y=W[1];return[1,Y,E1(Y,O,W[2],B,0)];case 3:var V=hu(a,u),Z=vs(xR),se=aC(a,Z,u),ae=se[1];return[1,ae,E1(ae,V,se[2],Z,1)];case 4:var ue=hu(a,u),pe=vs(xR),xe=vs(xR),ye=vxe(a,pe,xe,u),ge=ye[1],Ne=ye[2],Fe=jo(ge,u),ze=[0,ge[1],ue,Fe],ut=m0(xe);return[0,ge,[3,[0,ze,m0(pe),ut,0,Ne]]];default:var it=El(a,QR(a,u));return[0,it,[3,[0,QR(it,u),pUe,TUe,0,1]]]}}),wTt=JG(function(a,u){function p(We){for(;;)if(Kt(We,29),Vo(le(We))!==0)return Ke(We)}function d(We){Kt(We,29);var Qt=YG(le(We));if(3>>0)return Ke(We);switch(Qt){case 0:return p(We);case 1:var gn=z9(le(We));if(gn===0)for(;;){Kt(We,24);var qn=Vb(le(We));if(2>>0)return Ke(We);switch(qn){case 0:return q(We);case 1:break;default:return g(We)}}else{if(gn!==1)return Ke(We);for(;;){Kt(We,24);var gr=K8(le(We));if(3>>0)return Ke(We);switch(gr){case 0:return q(We);case 1:break;case 2:return O(We);default:return g(We)}}}break;case 2:for(;;){Kt(We,24);var wn=Vb(le(We));if(2>>0)return Ke(We);switch(wn){case 0:return B(We);case 1:break;default:return W(We)}}break;default:for(;;){Kt(We,24);var br=K8(le(We));if(3
>>0)return Ke(We);switch(br){case 0:return B(We);case 1:break;case 2:return O(We);default:return W(We)}}}}function q(We){for(;;)if(Kt(We,23),Vo(le(We))!==0)return Ke(We)}function g(We){Kt(We,22);var Qt=yc(le(We));if(Qt!==0)return Qt===1?q(We):Ke(We);for(;;)if(Kt(We,21),Vo(le(We))!==0)return Ke(We)}function O(We){for(;;){if(ga(le(We))!==0)return Ke(We);e:for(;;){Kt(We,24);var Qt=K8(le(We));if(3>>0)return Ke(We);switch(Qt){case 0:return q(We);case 1:break;case 2:break e;default:return g(We)}}}}function B(We){for(;;)if(Kt(We,23),Vo(le(We))!==0)return Ke(We)}function W(We){Kt(We,22);var Qt=yc(le(We));if(Qt!==0)return Qt===1?B(We):Ke(We);for(;;)if(Kt(We,21),Vo(le(We))!==0)return Ke(We)}function Y(We){Kt(We,27);var Qt=yc(le(We));if(Qt!==0)return Qt===1?p(We):Ke(We);for(;;)if(Kt(We,25),Vo(le(We))!==0)return Ke(We)}function V(We){return Kt(We,3),bxe(le(We))===0?3:Ke(We)}function Z(We){return jB(le(We))===0&&tv(le(We))===0&&GG(le(We))===0&&ele(le(We))===0&&HG(le(We))===0&&vQ(le(We))===0&&Cd(le(We))===0&&jB(le(We))===0&&eE(le(We))===0&&JB(le(We))===0&&sv(le(We))===0?3:Ke(We)}function se(We){Kt(We,30);var Qt=zG(le(We));if(3>>0)return Ke(We);switch(Qt){case 0:return p(We);case 1:e:for(;;){Kt(We,30);var gn=Jb(le(We));if(4>>0)return Ke(We);switch(gn){case 0:return p(We);case 1:break;case 2:return d(We);case 3:break e;default:return Y(We)}}for(;;){if(ga(le(We))!==0)return Ke(We);e:for(;;){Kt(We,30);var qn=Jb(le(We));if(4>>0)return Ke(We);switch(qn){case 0:return p(We);case 1:break;case 2:return d(We);case 3:break e;default:return Y(We)}}}break;case 2:return d(We);default:return Y(We)}}function ae(We){for(;;)if(Kt(We,15),Vo(le(We))!==0)return Ke(We)}function ue(We){Kt(We,30);var Qt=Vb(le(We));if(2>>0)return Ke(We);switch(Qt){case 0:return p(We);case 1:e:for(;;){Kt(We,30);var gn=K8(le(We));if(3>>0)return Ke(We);switch(gn){case 0:return p(We);case 1:break;case 2:break e;default:return Y(We)}}for(;;){if(ga(le(We))!==0)return Ke(We);e:for(;;){Kt(We,30);var qn=K8(le(We));if(3>>0)return Ke(We);switch(qn){case 0:return p(We);case 1:break;case 2:break e;default:return Y(We)}}}break;default:return Y(We)}}function pe(We){Kt(We,15);var Qt=yc(le(We));if(Qt!==0)return Qt===1?ae(We):Ke(We);for(;;)if(Kt(We,15),Vo(le(We))!==0)return Ke(We)}function xe(We){Kt(We,28);var Qt=yc(le(We));if(Qt!==0)return Qt===1?p(We):Ke(We);for(;;)if(Kt(We,26),Vo(le(We))!==0)return Ke(We)}function ye(We){for(;;)if(Kt(We,9),Vo(le(We))!==0)return Ke(We)}function ge(We){for(;;)if(Kt(We,9),Vo(le(We))!==0)return Ke(We)}function Ne(We){for(;;)if(Kt(We,13),Vo(le(We))!==0)return Ke(We)}function Fe(We){for(;;)if(Kt(We,13),Vo(le(We))!==0)return Ke(We)}function ze(We){for(;;)if(Kt(We,19),Vo(le(We))!==0)return Ke(We)}function ut(We){for(;;)if(Kt(We,19),Vo(le(We))!==0)return Ke(We)}function it(We){for(;;){if(ga(le(We))!==0)return Ke(We);e:for(;;){Kt(We,30);var Qt=av(le(We));if(4>>0)return Ke(We);switch(Qt){case 0:return p(We);case 1:return ue(We);case 2:break;case 3:break e;default:return xe(We)}}}}Se(u);var Tt=function(We){var Qt=e0(le(We));if(31>>0)return Ke(We);switch(Qt){case 0:return 66;case 1:return 67;case 2:if(Kt(We,1),U9(le(We))!==0)return Ke(We);for(;;)if(Kt(We,1),U9(le(We))!==0)return Ke(We);break;case 3:return 0;case 4:return Kt(We,0),X2(le(We))===0?0:Ke(We);case 5:return 6;case 6:return 65;case 7:if(Kt(We,67),Cd(le(We))!==0)return Ke(We);var gn=le(We),qn=Kl>>0)return Ke(We);switch(ai){case 0:return p(We);case 1:break;case 2:return d(We);case 3:break e;default:return Y(We)}}for(;;){if(ga(le(We))!==0)return Ke(We);e:for(;;){Kt(We,30);var mn=Jb(le(We));if(4>>0)return Ke(We);switch(mn){case 0:return p(We);case 1:break;case 2:return d(We);case 3:break e;default:return Y(We)}}}break;case 16:Kt(We,67);var Jn=$Q(le(We));if(Jn!==0)return Jn===1?5:Ke(We);Kt(We,2);var Oi=z8(le(We));if(2>>0)return Ke(We);switch(Oi){case 0:for(;;){var Cn=z8(le(We));if(2>>0)return Ke(We);switch(Cn){case 0:break;case 1:return V(We);default:return Z(We)}}break;case 1:return V(We);default:return Z(We)}break;case 17:Kt(We,30);var Fi=J2(le(We));if(8>>0)return Ke(We);switch(Fi){case 0:return p(We);case 1:return se(We);case 2:e:for(;;){Kt(We,16);var Ri=nle(le(We));if(4>>0)return Ke(We);switch(Ri){case 0:return ae(We);case 1:return ue(We);case 2:break;case 3:break e;default:return pe(We)}}for(;;){Kt(We,15);var Da=OQ(le(We));if(3>>0)return Ke(We);switch(Da){case 0:return ae(We);case 1:return ue(We);case 2:break;default:return pe(We)}}break;case 3:for(;;){Kt(We,30);var Ha=OQ(le(We));if(3>>0)return Ke(We);switch(Ha){case 0:return p(We);case 1:return ue(We);case 2:break;default:return xe(We)}}break;case 4:Kt(We,29);var Fs=nv(le(We));if(Fs===0)return p(We);if(Fs!==1)return Ke(We);e:{t:for(;;){Kt(We,10);var Ks=KG(le(We));if(3>>0)return Ke(We);switch(Ks){case 0:return ye(We);case 1:break;case 2:break e;default:break t}}Kt(We,8);var Yo=yc(le(We));if(Yo!==0)return Yo===1?ye(We):Ke(We);for(;;)if(Kt(We,7),Vo(le(We))!==0)return Ke(We)}e:for(;;){if(H8(le(We))!==0)return Ke(We);t:for(;;){Kt(We,10);var ra=KG(le(We));if(3>>0)return Ke(We);switch(ra){case 0:return ge(We);case 1:break;case 2:break t;default:break e}}}Kt(We,8);var we=yc(le(We));if(we!==0)return we===1?ge(We):Ke(We);for(;;)if(Kt(We,7),Vo(le(We))!==0)return Ke(We);break;case 5:return d(We);case 6:Kt(We,29);var Ft=tle(le(We));if(Ft===0)return p(We);if(Ft!==1)return Ke(We);e:{t:for(;;){Kt(We,14);var Oe=K9(le(We));if(3>>0)return Ke(We);switch(Oe){case 0:return Ne(We);case 1:break;case 2:break e;default:break t}}Kt(We,12);var yt=yc(le(We));if(yt!==0)return yt===1?Ne(We):Ke(We);for(;;)if(Kt(We,11),Vo(le(We))!==0)return Ke(We)}e:for(;;){if(E_(le(We))!==0)return Ke(We);t:for(;;){Kt(We,14);var yn=K9(le(We));if(3>>0)return Ke(We);switch(yn){case 0:return Fe(We);case 1:break;case 2:break t;default:break e}}}Kt(We,12);var tn=yc(le(We));if(tn!==0)return tn===1?Fe(We):Ke(We);for(;;)if(Kt(We,11),Vo(le(We))!==0)return Ke(We);break;case 7:Kt(We,29);var di=ev(le(We));if(di===0)return p(We);if(di!==1)return Ke(We);e:{t:for(;;){Kt(We,20);var ui=Ad(le(We));if(3>>0)return Ke(We);switch(ui){case 0:return ze(We);case 1:break;case 2:break e;default:break t}}Kt(We,18);var _s=yc(le(We));if(_s!==0)return _s===1?ze(We):Ke(We);for(;;)if(Kt(We,17),Vo(le(We))!==0)return Ke(We)}e:for(;;){if(So(le(We))!==0)return Ke(We);t:for(;;){Kt(We,20);var la=Ad(le(We));if(3>>0)return Ke(We);switch(la){case 0:return ut(We);case 1:break;case 2:break t;default:break e}}}Kt(We,18);var hs=yc(le(We));if(hs!==0)return hs===1?ut(We):Ke(We);for(;;)if(Kt(We,17),Vo(le(We))!==0)return Ke(We);break;default:return xe(We)}break;case 18:Kt(We,30);var Za=KB(le(We));if(5>>0)return Ke(We);switch(Za){case 0:return p(We);case 1:return se(We);case 2:for(;;){Kt(We,30);var ci=KB(le(We));if(5>>0)return Ke(We);switch(ci){case 0:return p(We);case 1:return se(We);case 2:break;case 3:return d(We);case 4:return it(We);default:return xe(We)}}break;case 3:return d(We);case 4:return it(We);default:return xe(We)}break;case 19:return 44;case 20:return 42;case 21:return 49;case 22:Kt(We,51);var Ra=le(We),Xn=61>>0)return Ln(oUe);var Rt=Tt;if(34>Rt)switch(Rt){case 0:return[2,Gl(a,u)];case 1:return[2,a];case 2:var kt=hu(a,u),ft=vs(xR),It=aC(a,ft,u),dt=It[1];return[1,dt,E1(dt,kt,It[2],ft,1)];case 3:var Ot=ms(u);if(!a[5]){var At=hu(a,u),wt=vs(xR);pa(wt,Ot);var or=aC(a,wt,u),rr=or[1];return[1,rr,E1(rr,At,or[2],wt,1)]}var Jt=a[4]?ate(a,QR(a,u),Ot):a,tr=o2(1,Jt),mr=_u(u);return Qa(ps(u,mr-1|0,1),Qp)&&Re(ps(u,mr-2|0,1),Qp)?[0,tr,87]:[2,tr];case 4:if(a[4])return[2,o2(0,a)];XO(u),Se(u);var Xt=Xue(le(u))===0?0:Ke(u);return Xt===0?[0,a,Hc]:Ln(RUe);case 5:var hr=hu(a,u),Ge=vs(xR),Cr=QQ(a,Ge,u),rt=Cr[1];return[1,rt,E1(rt,hr,Cr[2],Ge,0)];case 6:var yr=ms(u),sr=hu(a,u),Ir=vs(xR),Dr=vs(xR);pa(Dr,yr);var on=Rle(a,yr,Ir,Dr,0,u),cn=on[1],Lr=on[3],fn=[0,cn[1],sr,on[2]],rn=m0(Dr);return[0,cn,[2,[0,fn,m0(Ir),rn,Lr]]];case 7:return Ku(a,u,function(We,Qt){Se(Qt);e:if(ox(le(Qt))===0&&kc(le(Qt))===0&&H8(le(Qt))===0){t:for(;;){var gn=bQ(le(Qt));if(2>>0){var wn=Ke(Qt);break e}switch(gn){case 0:break;case 1:break t;default:var wn=0;break e}}for(;;){t:{if(H8(le(Qt))===0){r:for(;;){var qn=bQ(le(Qt));if(2>>0){var gr=Ke(Qt);break t}switch(qn){case 0:break;case 1:break r;default:var gr=0;break t}}continue}var gr=Ke(Qt)}var wn=gr;break}}else var wn=Ke(Qt);return wn===0?[0,We,G8(0,Yu(Qt))]:Ln(sUe)});case 8:return[0,a,G8(0,Yu(u))];case 9:return Ku(a,u,function(We,Qt){if(Se(Qt),ox(le(Qt))===0&&kc(le(Qt))===0&&H8(le(Qt))===0){for(;;){Kt(Qt,0);var gn=gQ(le(Qt));if(gn!==0)break}if(gn===1)for(;;){if(H8(le(Qt))===0){for(;;){Kt(Qt,0);var qn=gQ(le(Qt));if(qn!==0)break}if(qn===1)continue;var gr=Ke(Qt)}else var gr=Ke(Qt);var wn=gr;break}else var wn=Ke(Qt)}else var wn=Ke(Qt);return wn===0?[0,We,O1(0,Yu(Qt))]:Ln(aUe)});case 10:return[0,a,O1(0,Yu(u))];case 11:return Ku(a,u,function(We,Qt){Se(Qt);e:if(ox(le(Qt))===0&&LG(le(Qt))===0&&E_(le(Qt))===0){t:for(;;){var gn=GB(le(Qt));if(2>>0){var wn=Ke(Qt);break e}switch(gn){case 0:break;case 1:break t;default:var wn=0;break e}}for(;;){t:{if(E_(le(Qt))===0){r:for(;;){var qn=GB(le(Qt));if(2>>0){var gr=Ke(Qt);break t}switch(qn){case 0:break;case 1:break r;default:var gr=0;break t}}continue}var gr=Ke(Qt)}var wn=gr;break}}else var wn=Ke(Qt);return wn===0?[0,We,G8(1,Yu(Qt))]:Ln(iUe)});case 12:return[0,a,G8(1,Yu(u))];case 13:return Ku(a,u,function(We,Qt){if(Se(Qt),ox(le(Qt))===0&&LG(le(Qt))===0&&E_(le(Qt))===0){for(;;){Kt(Qt,0);var gn=L9(le(Qt));if(gn!==0)break}if(gn===1)for(;;){if(E_(le(Qt))===0){for(;;){Kt(Qt,0);var qn=L9(le(Qt));if(qn!==0)break}if(qn===1)continue;var gr=Ke(Qt)}else var gr=Ke(Qt);var wn=gr;break}else var wn=Ke(Qt)}else var wn=Ke(Qt);return wn===0?[0,We,O1(3,Yu(Qt))]:Ln(nUe)});case 14:return[0,a,O1(3,Yu(u))];case 15:return Ku(a,u,function(We,Qt){if(Se(Qt),ox(le(Qt))===0&&E_(le(Qt))===0){for(;;)if(Kt(Qt,0),E_(le(Qt))!==0){var gn=Ke(Qt);break}}else var gn=Ke(Qt);return gn===0?[0,We,O1(1,Yu(Qt))]:Ln(rUe)});case 16:return[0,a,O1(1,Yu(u))];case 17:return Ku(a,u,function(We,Qt){Se(Qt);e:if(ox(le(Qt))===0&&F9(le(Qt))===0&&So(le(Qt))===0){t:for(;;){var gn=EQ(le(Qt));if(2>>0){var wn=Ke(Qt);break e}switch(gn){case 0:break;case 1:break t;default:var wn=0;break e}}for(;;){t:{if(So(le(Qt))===0){r:for(;;){var qn=EQ(le(Qt));if(2>>0){var gr=Ke(Qt);break t}switch(qn){case 0:break;case 1:break r;default:var gr=0;break t}}continue}var gr=Ke(Qt)}var wn=gr;break}}else var wn=Ke(Qt);return wn===0?[0,We,G8(2,Yu(Qt))]:Ln(tUe)});case 18:return[0,a,G8(2,Yu(u))];case 19:return Ku(a,u,function(We,Qt){if(Se(Qt),ox(le(Qt))===0&&F9(le(Qt))===0&&So(le(Qt))===0){for(;;){Kt(Qt,0);var gn=rv(le(Qt));if(gn!==0)break}if(gn===1)for(;;){if(So(le(Qt))===0){for(;;){Kt(Qt,0);var qn=rv(le(Qt));if(qn!==0)break}if(qn===1)continue;var gr=Ke(Qt)}else var gr=Ke(Qt);var wn=gr;break}else var wn=Ke(Qt)}else var wn=Ke(Qt);return wn===0?[0,We,O1(4,Yu(Qt))]:Ln(eUe)});case 20:return[0,a,O1(4,Yu(u))];case 21:return Ku(a,u,function(We,Qt){function gn(Ri){var Da=VG(le(Ri));if(2>>0)return Ke(Ri);switch(Da){case 0:var Ha=z9(le(Ri));return Ha===0?qn(Ri):Ha===1?gr(Ri):Ke(Ri);case 1:return qn(Ri);default:return gr(Ri)}}function qn(Ri){for(;;){var Da=jb(le(Ri));if(Da!==0)return Da===1?0:Ke(Ri)}}function gr(Ri){for(;;){var Da=F8(le(Ri));if(2>>0)return Ke(Ri);switch(Da){case 0:break;case 1:for(;;){if(ga(le(Ri))!==0)return Ke(Ri);e:for(;;){var Ha=F8(le(Ri));if(2>>0)return Ke(Ri);switch(Ha){case 0:break;case 1:break e;default:return 0}}}break;default:return 0}}}function wn(Ri){var Da=H9(le(Ri));if(Da!==0)return Da===1?gn(Ri):Ke(Ri);e:for(;;){var Ha=gd(le(Ri));if(2>>0)return Ke(Ri);switch(Ha){case 0:break;case 1:return gn(Ri);default:break e}}for(;;){if(ga(le(Ri))!==0)return Ke(Ri);e:for(;;){var Fs=gd(le(Ri));if(2>>0)return Ke(Ri);switch(Fs){case 0:break;case 1:return gn(Ri);default:break e}}}}Se(Qt);var br=h3(le(Qt));if(2
>>0)var jn=Ke(Qt);else e:switch(br){case 0:if(ga(le(Qt))===0){t:for(;;){var Rn=gd(le(Qt));if(2>>0){var jn=Ke(Qt);break e}switch(Rn){case 0:break;case 1:var jn=gn(Qt);break e;default:break t}}for(;;){t:{if(ga(le(Qt))===0){r:for(;;){var ai=gd(le(Qt));if(2>>0){var mn=Ke(Qt);break t}switch(ai){case 0:break;case 1:var mn=gn(Qt);break t;default:break r}}continue}var mn=Ke(Qt)}var jn=mn;break}}else var jn=Ke(Qt);break;case 1:var Jn=UG(le(Qt)),jn=Jn===0?wn(Qt):Jn===1?gn(Qt):Ke(Qt);break;default:t:for(;;){var Oi=DQ(le(Qt));if(2>>0){var jn=Ke(Qt);break}switch(Oi){case 0:var jn=wn(Qt);break t;case 1:break;default:var jn=gn(Qt);break t}}}if(jn!==0)return Ln(ZWe);var Cn=Yu(Qt),Fi=v_(We,QR(We,Qt),42);return[0,Fi,G8(2,Cn)]});case 22:var vt=Yu(u),qr=v_(a,QR(a,u),42);return[0,qr,G8(2,vt)];case 23:return Ku(a,u,function(We,Qt){function gn(Cn){var Fi=VG(le(Cn));if(2>>0)return Ke(Cn);switch(Fi){case 0:var Ri=z9(le(Cn));return Ri===0?qn(Cn):Ri===1?gr(Cn):Ke(Cn);case 1:return qn(Cn);default:return gr(Cn)}}function qn(Cn){for(;;)if(Kt(Cn,0),ga(le(Cn))!==0)return Ke(Cn)}function gr(Cn){for(;;){Kt(Cn,0);var Fi=Xb(le(Cn));if(Fi!==0){if(Fi!==1)return Ke(Cn);for(;;){if(ga(le(Cn))!==0)return Ke(Cn);for(;;){Kt(Cn,0);var Ri=Xb(le(Cn));if(Ri!==0)break}if(Ri!==1)return Ke(Cn)}}}}function wn(Cn){var Fi=H9(le(Cn));if(Fi!==0)return Fi===1?gn(Cn):Ke(Cn);e:for(;;){var Ri=gd(le(Cn));if(2>>0)return Ke(Cn);switch(Ri){case 0:break;case 1:return gn(Cn);default:break e}}for(;;){if(ga(le(Cn))!==0)return Ke(Cn);e:for(;;){var Da=gd(le(Cn));if(2>>0)return Ke(Cn);switch(Da){case 0:break;case 1:return gn(Cn);default:break e}}}}Se(Qt);var br=h3(le(Qt));if(2
>>0)var jn=Ke(Qt);else e:switch(br){case 0:if(ga(le(Qt))===0){t:for(;;){var Rn=gd(le(Qt));if(2>>0){var jn=Ke(Qt);break e}switch(Rn){case 0:break;case 1:var jn=gn(Qt);break e;default:break t}}for(;;){t:{if(ga(le(Qt))===0){r:for(;;){var ai=gd(le(Qt));if(2>>0){var mn=Ke(Qt);break t}switch(ai){case 0:break;case 1:var mn=gn(Qt);break t;default:break r}}continue}var mn=Ke(Qt)}var jn=mn;break}}else var jn=Ke(Qt);break;case 1:var Jn=UG(le(Qt)),jn=Jn===0?wn(Qt):Jn===1?gn(Qt):Ke(Qt);break;default:t:for(;;){var Oi=DQ(le(Qt));if(2>>0){var jn=Ke(Qt);break}switch(Oi){case 0:var jn=wn(Qt);break t;case 1:break;default:var jn=gn(Qt);break t}}}return jn===0?[0,We,O1(4,Yu(Qt))]:Ln(XWe)});case 24:return[0,a,O1(4,Yu(u))];case 25:return Ku(a,u,function(We,Qt){function gn(Oi){for(;;){var Cn=F8(le(Oi));if(2>>0)return Ke(Oi);switch(Cn){case 0:break;case 1:for(;;){if(ga(le(Oi))!==0)return Ke(Oi);e:for(;;){var Fi=F8(le(Oi));if(2>>0)return Ke(Oi);switch(Fi){case 0:break;case 1:break e;default:return 0}}}break;default:return 0}}}function qn(Oi){var Cn=jb(le(Oi));return Cn===0?gn(Oi):Cn===1?0:Ke(Oi)}Se(Qt);var gr=h3(le(Qt));if(2>>0)var wn=Ke(Qt);else e:switch(gr){case 0:var wn=ga(le(Qt))===0?gn(Qt):Ke(Qt);break;case 1:for(;;){var br=SQ(le(Qt));if(br===0){var wn=qn(Qt);break}if(br!==1){var wn=Ke(Qt);break}}break;default:t:for(;;){var jn=ym(le(Qt));if(2>>0){var wn=Ke(Qt);break e}switch(jn){case 0:var wn=qn(Qt);break e;case 1:break;default:break t}}for(;;){t:{if(ga(le(Qt))===0){r:for(;;){var Rn=ym(le(Qt));if(2>>0){var ai=Ke(Qt);break t}switch(Rn){case 0:var ai=qn(Qt);break t;case 1:break;default:break r}}continue}var ai=Ke(Qt)}var wn=ai;break}}if(wn!==0)return Ln(JWe);var mn=Yu(Qt),Jn=v_(We,QR(We,Qt),34);return[0,Jn,G8(2,mn)]});case 26:return Ku(a,u,function(We,Qt){Se(Qt);var gn=z9(le(Qt));e:if(gn===0)for(;;){var qn=jb(le(Qt));if(qn!==0){if(qn===1){var jn=0;break}var jn=Ke(Qt);break}}else if(gn===1){t:for(;;){var gr=F8(le(Qt));if(2>>0){var jn=Ke(Qt);break e}switch(gr){case 0:break;case 1:break t;default:var jn=0;break e}}for(;;){t:{if(ga(le(Qt))===0){r:for(;;){var wn=F8(le(Qt));if(2>>0){var br=Ke(Qt);break t}switch(wn){case 0:break;case 1:break r;default:var br=0;break t}}continue}var br=Ke(Qt)}var jn=br;break}}else var jn=Ke(Qt);return jn===0?[0,We,G8(2,Yu(Qt))]:Ln(jWe)});case 27:var Pe=Yu(u),Lt=v_(a,QR(a,u),34);return[0,Lt,G8(2,Pe)];case 28:return[0,a,G8(2,Yu(u))];case 29:return Ku(a,u,function(We,Qt){function gn(mn){for(;;){Kt(mn,0);var Jn=Xb(le(mn));if(Jn!==0){if(Jn!==1)return Ke(mn);for(;;){if(ga(le(mn))!==0)return Ke(mn);for(;;){Kt(mn,0);var Oi=Xb(le(mn));if(Oi!==0)break}if(Oi!==1)return Ke(mn)}}}}function qn(mn){return Kt(mn,0),ga(le(mn))===0?gn(mn):Ke(mn)}Se(Qt);var gr=h3(le(Qt));if(2>>0)var wn=Ke(Qt);else e:switch(gr){case 0:var wn=ga(le(Qt))===0?gn(Qt):Ke(Qt);break;case 1:for(;;){Kt(Qt,0);var br=SQ(le(Qt));if(br===0){var wn=qn(Qt);break}if(br!==1){var wn=Ke(Qt);break}}break;default:t:for(;;){Kt(Qt,0);var jn=ym(le(Qt));if(2>>0){var wn=Ke(Qt);break e}switch(jn){case 0:var wn=qn(Qt);break e;case 1:break;default:break t}}for(;;){t:{if(ga(le(Qt))===0){r:for(;;){Kt(Qt,0);var Rn=ym(le(Qt));if(2>>0){var ai=Ke(Qt);break t}switch(Rn){case 0:var ai=qn(Qt);break t;case 1:break;default:break r}}continue}var ai=Ke(Qt)}var wn=ai;break}}return wn===0?[0,We,O1(4,Yu(Qt))]:Ln(VWe)});case 30:return[0,a,O1(4,Yu(u))];case 31:return[0,a,67];case 32:return[0,a,6];default:return[0,a,7]}switch(Rt){case 34:return[0,a,0];case 35:return[0,a,1];case 36:return[0,a,2];case 37:return[0,a,3];case 38:return[0,a,4];case 39:return[0,a,5];case 40:return[0,a,12];case 41:return[0,a,10];case 42:return[0,a,8];case 43:return[0,a,9];case 44:return[0,a,87];case 45:return[0,a,84];case 46:return[0,a,86];case 47:return[0,a,6];case 48:return[0,a,7];case 49:return[0,a,99];case 50:return[0,a,q0];case 51:return[0,a,83];case 52:return[0,a,86];case 53:return[0,a,Hc];case 54:return[0,a,87];case 55:return[0,a,89];case 56:return[0,a,88];case 57:return[0,a,90];case 58:return[0,a,92];case 59:return[0,a,11];case 60:return[0,a,83];case 61:return[0,a,lc];case 62:return[0,a,z6];case 63:return[0,a,zP];case 64:return[0,a,Zy];case 65:var Xe=u[6];jG(u);var Mt=b1(a,Xe,u[3]);MB(u,Xe);var Gt=Yu(u),Ze=Kc(a,Gt),Xr=Ze[2],qt=Ze[1],kn=dn(Xr,t3);if(0<=kn){if(0>=kn)return[0,qt,pm];var Ki=dn(Xr,pb);if(0<=Ki){if(0>=Ki)return[0,qt,$0];if(!Re(Xr,Kx))return[0,qt,32];if(!Re(Xr,Z5))return[0,qt,47];if(!Re(Xr,mU))return[0,qt,tm];if(!Re(Xr,x5))return[0,qt,g_];if(!Re(Xr,ws))return[0,qt,db]}else{if(!Re(Xr,q5))return[0,qt,MS];if(!Re(Xr,O8))return[0,qt,30];if(!Re(Xr,Ny))return[0,qt,VO];if(!Re(Xr,ib))return[0,qt,xR];if(!Re(Xr,vR))return[0,qt,43];if(!Re(Xr,Rh))return[0,qt,Wh]}}else{var Qe=dn(Xr,sf);if(0<=Qe){if(0>=Qe)return[0,qt,42];if(!Re(Xr,Je))return[0,qt,31];if(!Re(Xr,eR))return[0,qt,l9];if(!Re(Xr,ky))return[0,qt,t0];if(!Re(Xr,rp))return[0,qt,54];if(!Re(Xr,cb))return[0,qt,hk];if(!Re(Xr,r$))return[0,qt,kS]}else{if(!Re(Xr,Lc))return[0,qt,K2];if(!Re(Xr,_8))return[0,qt,mb];if(!Re(Xr,$8))return[0,qt,am];if(!Re(Xr,iB))return[0,qt,lUe];if(!Re(Xr,p8))return[0,qt,uUe];if(!Re(Xr,dh))return[0,qt,kb]}}return[0,qt,[4,Mt,Xr,LB(Gt)]];case 66:var Vt=a[4]?v_(a,QR(a,u),91):a;return[0,Vt,vo];default:return[0,a,[7,ms(u)]]}}),bd=JG(function(a,u){function p(Oe){for(;;)if(Kt(Oe,33),Vo(le(Oe))!==0)return Ke(Oe)}function d(Oe){Kt(Oe,33);var yt=YG(le(Oe));if(3>>0)return Ke(Oe);switch(yt){case 0:return p(Oe);case 1:var yn=z9(le(Oe));if(yn===0)for(;;){Kt(Oe,28);var tn=Vb(le(Oe));if(2>>0)return Ke(Oe);switch(tn){case 0:return q(Oe);case 1:break;default:return g(Oe)}}else{if(yn!==1)return Ke(Oe);for(;;){Kt(Oe,28);var di=K8(le(Oe));if(3>>0)return Ke(Oe);switch(di){case 0:return q(Oe);case 1:break;case 2:return O(Oe);default:return g(Oe)}}}break;case 2:for(;;){Kt(Oe,28);var ui=Vb(le(Oe));if(2>>0)return Ke(Oe);switch(ui){case 0:return B(Oe);case 1:break;default:return W(Oe)}}break;default:for(;;){Kt(Oe,28);var _s=K8(le(Oe));if(3<_s>>>0)return Ke(Oe);switch(_s){case 0:return B(Oe);case 1:break;case 2:return O(Oe);default:return W(Oe)}}}}function q(Oe){for(;;)if(Kt(Oe,27),Vo(le(Oe))!==0)return Ke(Oe)}function g(Oe){Kt(Oe,26);var yt=yc(le(Oe));if(yt!==0)return yt===1?q(Oe):Ke(Oe);for(;;)if(Kt(Oe,25),Vo(le(Oe))!==0)return Ke(Oe)}function O(Oe){for(;;){if(ga(le(Oe))!==0)return Ke(Oe);e:for(;;){Kt(Oe,28);var yt=K8(le(Oe));if(3>>0)return Ke(Oe);switch(yt){case 0:return q(Oe);case 1:break;case 2:break e;default:return g(Oe)}}}}function B(Oe){for(;;)if(Kt(Oe,27),Vo(le(Oe))!==0)return Ke(Oe)}function W(Oe){Kt(Oe,26);var yt=yc(le(Oe));if(yt!==0)return yt===1?B(Oe):Ke(Oe);for(;;)if(Kt(Oe,25),Vo(le(Oe))!==0)return Ke(Oe)}function Y(Oe){Kt(Oe,31);var yt=yc(le(Oe));if(yt!==0)return yt===1?p(Oe):Ke(Oe);for(;;)if(Kt(Oe,29),Vo(le(Oe))!==0)return Ke(Oe)}function V(Oe){return Kt(Oe,3),bxe(le(Oe))===0?3:Ke(Oe)}function Z(Oe){return jB(le(Oe))===0&&tv(le(Oe))===0&&GG(le(Oe))===0&&ele(le(Oe))===0&&HG(le(Oe))===0&&vQ(le(Oe))===0&&Cd(le(Oe))===0&&jB(le(Oe))===0&&eE(le(Oe))===0&&JB(le(Oe))===0&&sv(le(Oe))===0?3:Ke(Oe)}function se(Oe){Kt(Oe,34);var yt=zG(le(Oe));if(3>>0)return Ke(Oe);switch(yt){case 0:return p(Oe);case 1:e:for(;;){Kt(Oe,34);var yn=Jb(le(Oe));if(4>>0)return Ke(Oe);switch(yn){case 0:return p(Oe);case 1:break;case 2:return d(Oe);case 3:break e;default:return Y(Oe)}}for(;;){if(ga(le(Oe))!==0)return Ke(Oe);e:for(;;){Kt(Oe,34);var tn=Jb(le(Oe));if(4>>0)return Ke(Oe);switch(tn){case 0:return p(Oe);case 1:break;case 2:return d(Oe);case 3:break e;default:return Y(Oe)}}}break;case 2:return d(Oe);default:return Y(Oe)}}function ae(Oe){for(;;)if(Kt(Oe,19),Vo(le(Oe))!==0)return Ke(Oe)}function ue(Oe){Kt(Oe,34);var yt=Vb(le(Oe));if(2>>0)return Ke(Oe);switch(yt){case 0:return p(Oe);case 1:e:for(;;){Kt(Oe,34);var yn=K8(le(Oe));if(3>>0)return Ke(Oe);switch(yn){case 0:return p(Oe);case 1:break;case 2:break e;default:return Y(Oe)}}for(;;){if(ga(le(Oe))!==0)return Ke(Oe);e:for(;;){Kt(Oe,34);var tn=K8(le(Oe));if(3>>0)return Ke(Oe);switch(tn){case 0:return p(Oe);case 1:break;case 2:break e;default:return Y(Oe)}}}break;default:return Y(Oe)}}function pe(Oe){for(;;)if(Kt(Oe,17),Vo(le(Oe))!==0)return Ke(Oe)}function xe(Oe){for(;;)if(Kt(Oe,17),Vo(le(Oe))!==0)return Ke(Oe)}function ye(Oe){for(;;)if(Kt(Oe,11),Vo(le(Oe))!==0)return Ke(Oe)}function ge(Oe){for(;;)if(Kt(Oe,11),Vo(le(Oe))!==0)return Ke(Oe)}function Ne(Oe){for(;;)if(Kt(Oe,15),Vo(le(Oe))!==0)return Ke(Oe)}function Fe(Oe){for(;;)if(Kt(Oe,15),Vo(le(Oe))!==0)return Ke(Oe)}function ze(Oe){for(;;)if(Kt(Oe,23),Vo(le(Oe))!==0)return Ke(Oe)}function ut(Oe){for(;;)if(Kt(Oe,23),Vo(le(Oe))!==0)return Ke(Oe)}function it(Oe){Kt(Oe,32);var yt=yc(le(Oe));if(yt!==0)return yt===1?p(Oe):Ke(Oe);for(;;)if(Kt(Oe,30),Vo(le(Oe))!==0)return Ke(Oe)}function Tt(Oe){for(;;){if(ga(le(Oe))!==0)return Ke(Oe);e:for(;;){Kt(Oe,34);var yt=av(le(Oe));if(4>>0)return Ke(Oe);switch(yt){case 0:return p(Oe);case 1:return ue(Oe);case 2:break;case 3:break e;default:return it(Oe)}}}}Se(u);var Rt=function(Oe){var yt=Jue(le(Oe));if(36>>0)return Ke(Oe);switch(yt){case 0:return 98;case 1:return 99;case 2:if(Kt(Oe,1),U9(le(Oe))!==0)return Ke(Oe);for(;;)if(Kt(Oe,1),U9(le(Oe))!==0)return Ke(Oe);break;case 3:return 0;case 4:return Kt(Oe,0),X2(le(Oe))===0?0:Ke(Oe);case 5:return Kt(Oe,88),j2(le(Oe))===0?(Kt(Oe,58),j2(le(Oe))===0?54:Ke(Oe)):Ke(Oe);case 6:return 7;case 7:Kt(Oe,95);var yn=le(Oe),tn=32>>0)return Ke(Oe);switch(_s){case 0:return Kt(Oe,83),j2(le(Oe))===0?70:Ke(Oe);case 1:return 4;default:return 69}case 14:Kt(Oe,80);var la=le(Oe),hs=42>>0)return Ke(Oe);switch(Xn){case 0:return p(Oe);case 1:break;case 2:return d(Oe);case 3:break e;default:return Y(Oe)}}for(;;){if(ga(le(Oe))!==0)return Ke(Oe);e:for(;;){Kt(Oe,34);var Zi=Jb(le(Oe));if(4>>0)return Ke(Oe);switch(Zi){case 0:return p(Oe);case 1:break;case 2:return d(Oe);case 3:break e;default:return Y(Oe)}}}break;case 18:Kt(Oe,93);var is=Zue(le(Oe));if(2>>0)return Ke(Oe);switch(is){case 0:Kt(Oe,2);var co=z8(le(Oe));if(2>>0)return Ke(Oe);switch(co){case 0:for(;;){var zR=z8(le(Oe));if(2>>0)return Ke(Oe);switch(zR){case 0:break;case 1:return V(Oe);default:return Z(Oe)}}break;case 1:return V(Oe);default:return Z(Oe)}break;case 1:return 5;default:return 92}break;case 19:Kt(Oe,34);var HR=J2(le(Oe));if(8


>>0)return Ke(Oe);switch(HR){case 0:return p(Oe);case 1:return se(Oe);case 2:e:{t:for(;;){Kt(Oe,20);var $1=nle(le(Oe));if(4<$1>>>0)return Ke(Oe);switch($1){case 0:return ae(Oe);case 1:return ue(Oe);case 2:break;case 3:break e;default:break t}}Kt(Oe,19);var Vu=yc(le(Oe));if(Vu!==0)return Vu===1?ae(Oe):Ke(Oe);for(;;)if(Kt(Oe,19),Vo(le(Oe))!==0)return Ke(Oe)}e:for(;;){Kt(Oe,18);var Sl=OQ(le(Oe));if(3>>0)return Ke(Oe);switch(Sl){case 0:return pe(Oe);case 1:return ue(Oe);case 2:break;default:break e}}Kt(Oe,17);var c0=yc(le(Oe));if(c0!==0)return c0===1?pe(Oe):Ke(Oe);for(;;)if(Kt(Oe,17),Vo(le(Oe))!==0)return Ke(Oe);break;case 3:e:for(;;){Kt(Oe,18);var jl=OQ(le(Oe));if(3>>0)return Ke(Oe);switch(jl){case 0:return xe(Oe);case 1:return ue(Oe);case 2:break;default:break e}}Kt(Oe,17);var lR=yc(le(Oe));if(lR!==0)return lR===1?xe(Oe):Ke(Oe);for(;;)if(Kt(Oe,17),Vo(le(Oe))!==0)return Ke(Oe);break;case 4:Kt(Oe,33);var S_=nv(le(Oe));if(S_===0)return p(Oe);if(S_!==1)return Ke(Oe);e:{t:for(;;){Kt(Oe,12);var Gc=KG(le(Oe));if(3>>0)return Ke(Oe);switch(Gc){case 0:return ye(Oe);case 1:break;case 2:break e;default:break t}}Kt(Oe,10);var Q1=yc(le(Oe));if(Q1!==0)return Q1===1?ye(Oe):Ke(Oe);for(;;)if(Kt(Oe,9),Vo(le(Oe))!==0)return Ke(Oe)}e:for(;;){if(H8(le(Oe))!==0)return Ke(Oe);t:for(;;){Kt(Oe,12);var gT=KG(le(Oe));if(3>>0)return Ke(Oe);switch(gT){case 0:return ge(Oe);case 1:break;case 2:break t;default:break e}}}Kt(Oe,10);var $_=yc(le(Oe));if($_!==0)return $_===1?ge(Oe):Ke(Oe);for(;;)if(Kt(Oe,9),Vo(le(Oe))!==0)return Ke(Oe);break;case 5:return d(Oe);case 6:Kt(Oe,33);var pp=tle(le(Oe));if(pp===0)return p(Oe);if(pp!==1)return Ke(Oe);e:{t:for(;;){Kt(Oe,16);var Ko=K9(le(Oe));if(3>>0)return Ke(Oe);switch(Ko){case 0:return Ne(Oe);case 1:break;case 2:break e;default:break t}}Kt(Oe,14);var o_=yc(le(Oe));if(o_!==0)return o_===1?Ne(Oe):Ke(Oe);for(;;)if(Kt(Oe,13),Vo(le(Oe))!==0)return Ke(Oe)}e:for(;;){if(E_(le(Oe))!==0)return Ke(Oe);t:for(;;){Kt(Oe,16);var $o=K9(le(Oe));if(3<$o>>>0)return Ke(Oe);switch($o){case 0:return Fe(Oe);case 1:break;case 2:break t;default:break e}}}Kt(Oe,14);var R_=yc(le(Oe));if(R_!==0)return R_===1?Fe(Oe):Ke(Oe);for(;;)if(Kt(Oe,13),Vo(le(Oe))!==0)return Ke(Oe);break;case 7:Kt(Oe,33);var t7=ev(le(Oe));if(t7===0)return p(Oe);if(t7!==1)return Ke(Oe);e:{t:for(;;){Kt(Oe,24);var $d=Ad(le(Oe));if(3<$d>>>0)return Ke(Oe);switch($d){case 0:return ze(Oe);case 1:break;case 2:break e;default:break t}}Kt(Oe,22);var u2=yc(le(Oe));if(u2!==0)return u2===1?ze(Oe):Ke(Oe);for(;;)if(Kt(Oe,21),Vo(le(Oe))!==0)return Ke(Oe)}e:for(;;){if(So(le(Oe))!==0)return Ke(Oe);t:for(;;){Kt(Oe,24);var bm=Ad(le(Oe));if(3>>0)return Ke(Oe);switch(bm){case 0:return ut(Oe);case 1:break;case 2:break t;default:break e}}}Kt(Oe,22);var lx=yc(le(Oe));if(lx!==0)return lx===1?ut(Oe):Ke(Oe);for(;;)if(Kt(Oe,21),Vo(le(Oe))!==0)return Ke(Oe);break;default:return it(Oe)}break;case 20:Kt(Oe,34);var l2=KB(le(Oe));if(5>>0)return Ke(Oe);switch(l2){case 0:return p(Oe);case 1:return se(Oe);case 2:for(;;){Kt(Oe,34);var r7=KB(le(Oe));if(5>>0)return Ke(Oe);switch(r7){case 0:return p(Oe);case 1:return se(Oe);case 2:break;case 3:return d(Oe);case 4:return Tt(Oe);default:return it(Oe)}}break;case 3:return d(Oe);case 4:return Tt(Oe);default:return it(Oe)}break;case 21:return 46;case 22:return 44;case 23:Kt(Oe,78);var c2=le(Oe),n7=59>>0)return Ln(pYe);var kt=Rt;if(50>kt)switch(kt){case 0:return[2,Gl(a,u)];case 1:return[2,a];case 2:var ft=hu(a,u),It=vs(xR),dt=aC(a,It,u),Ot=dt[1];return[1,Ot,E1(Ot,ft,dt[2],It,1)];case 3:var At=ms(u);if(!a[5]){var wt=hu(a,u),or=vs(xR);pa(or,qR(At,2,ii(At)-2|0));var rr=aC(a,or,u),Jt=rr[1];return[1,Jt,E1(Jt,wt,rr[2],or,1)]}var tr=a[4]?ate(a,QR(a,u),At):a,mr=o2(1,tr),Xt=_u(u);return Qa(ps(u,Xt-1|0,1),Qp)&&Re(ps(u,Xt-2|0,1),Qp)?[0,mr,87]:[2,mr];case 4:if(a[4])return[2,o2(0,a)];XO(u),Se(u);var hr=Xue(le(u))===0?0:Ke(u);return hr===0?[0,a,Hc]:Ln(_Ye);case 5:var Ge=hu(a,u),Cr=vs(xR),rt=QQ(a,Cr,u),yr=rt[1];return[1,yr,E1(yr,Ge,rt[2],Cr,0)];case 6:if(u[6]!==0)return[0,a,hYe];var sr=hu(a,u),Ir=vs(xR),Dr=QQ(a,Ir,u),on=Dr[1],cn=[0,on[1],sr,Dr[2]];return[0,on,[6,cn,m0(Ir)]];case 7:var Lr=ms(u),fn=hu(a,u),rn=vs(xR),vt=vs(xR);pa(vt,Lr);var qr=Rle(a,Lr,rn,vt,0,u),Pe=qr[1],Lt=qr[3],Xe=[0,Pe[1],fn,qr[2]],Mt=m0(vt);return[0,Pe,[2,[0,Xe,m0(rn),Mt,Lt]]];case 8:var Gt=vs(xR),Ze=vs(xR),Xr=hu(a,u),qt=vxe(a,Gt,Ze,u),kn=qt[1],Ki=qt[2],Qe=jo(kn,u),Vt=[0,kn[1],Xr,Qe],We=m0(Ze);return[0,kn,[3,[0,Vt,m0(Gt),We,1,Ki]]];case 9:return Ku(a,u,function(Oe,yt){Se(yt);e:if(ox(le(yt))===0&&kc(le(yt))===0&&H8(le(yt))===0){t:for(;;){var yn=bQ(le(yt));if(2>>0){var ui=Ke(yt);break e}switch(yn){case 0:break;case 1:break t;default:var ui=0;break e}}for(;;){t:{if(H8(le(yt))===0){r:for(;;){var tn=bQ(le(yt));if(2>>0){var di=Ke(yt);break t}switch(tn){case 0:break;case 1:break r;default:var di=0;break t}}continue}var di=Ke(yt)}var ui=di;break}}else var ui=Ke(yt);return ui===0?[0,Oe,[1,0,ms(yt)]]:Ln(TYe)});case 10:return[0,a,[1,0,ms(u)]];case 11:return Ku(a,u,function(Oe,yt){if(Se(yt),ox(le(yt))===0&&kc(le(yt))===0&&H8(le(yt))===0){for(;;){Kt(yt,0);var yn=gQ(le(yt));if(yn!==0)break}if(yn===1)for(;;){if(H8(le(yt))===0){for(;;){Kt(yt,0);var tn=gQ(le(yt));if(tn!==0)break}if(tn===1)continue;var di=Ke(yt)}else var di=Ke(yt);var ui=di;break}else var ui=Ke(yt)}else var ui=Ke(yt);return ui===0?[0,Oe,[0,0,ms(yt)]]:Ln(cYe)});case 12:return[0,a,[0,0,ms(u)]];case 13:return Ku(a,u,function(Oe,yt){Se(yt);e:if(ox(le(yt))===0&&LG(le(yt))===0&&E_(le(yt))===0){t:for(;;){var yn=GB(le(yt));if(2>>0){var ui=Ke(yt);break e}switch(yn){case 0:break;case 1:break t;default:var ui=0;break e}}for(;;){t:{if(E_(le(yt))===0){r:for(;;){var tn=GB(le(yt));if(2>>0){var di=Ke(yt);break t}switch(tn){case 0:break;case 1:break r;default:var di=0;break t}}continue}var di=Ke(yt)}var ui=di;break}}else var ui=Ke(yt);return ui===0?[0,Oe,[1,1,ms(yt)]]:Ln(lYe)});case 14:return[0,a,[1,1,ms(u)]];case 15:return Ku(a,u,function(Oe,yt){if(Se(yt),ox(le(yt))===0&&LG(le(yt))===0&&E_(le(yt))===0){for(;;){Kt(yt,0);var yn=L9(le(yt));if(yn!==0)break}if(yn===1)for(;;){if(E_(le(yt))===0){for(;;){Kt(yt,0);var tn=L9(le(yt));if(tn!==0)break}if(tn===1)continue;var di=Ke(yt)}else var di=Ke(yt);var ui=di;break}else var ui=Ke(yt)}else var ui=Ke(yt);return ui===0?[0,Oe,[0,3,ms(yt)]]:Ln(uYe)});case 16:return[0,a,[0,3,ms(u)]];case 17:return Ku(a,u,function(Oe,yt){if(Se(yt),ox(le(yt))===0){for(;;){var yn=le(yt),tn=47>>0){var ui=Ke(yt);break e}switch(yn){case 0:break;case 1:break t;default:var ui=0;break e}}for(;;){t:{if(So(le(yt))===0){r:for(;;){var tn=EQ(le(yt));if(2>>0){var di=Ke(yt);break t}switch(tn){case 0:break;case 1:break r;default:var di=0;break t}}continue}var di=Ke(yt)}var ui=di;break}}else var ui=Ke(yt);return ui===0?[0,Oe,[1,2,ms(yt)]]:Ln(sYe)});case 22:return[0,a,[1,2,ms(u)]];case 23:return Ku(a,u,function(Oe,yt){if(Se(yt),ox(le(yt))===0&&F9(le(yt))===0&&So(le(yt))===0){for(;;){Kt(yt,0);var yn=rv(le(yt));if(yn!==0)break}if(yn===1)for(;;){if(So(le(yt))===0){for(;;){Kt(yt,0);var tn=rv(le(yt));if(tn!==0)break}if(tn===1)continue;var di=Ke(yt)}else var di=Ke(yt);var ui=di;break}else var ui=Ke(yt)}else var ui=Ke(yt);return ui===0?[0,Oe,[0,4,ms(yt)]]:Ln(aYe)});case 24:return[0,a,[0,4,ms(u)]];case 25:return Ku(a,u,function(Oe,yt){function yn(is){var co=VG(le(is));if(2>>0)return Ke(is);switch(co){case 0:var zR=z9(le(is));return zR===0?tn(is):zR===1?di(is):Ke(is);case 1:return tn(is);default:return di(is)}}function tn(is){for(;;){var co=jb(le(is));if(co!==0)return co===1?0:Ke(is)}}function di(is){for(;;){var co=F8(le(is));if(2>>0)return Ke(is);switch(co){case 0:break;case 1:for(;;){if(ga(le(is))!==0)return Ke(is);e:for(;;){var zR=F8(le(is));if(2>>0)return Ke(is);switch(zR){case 0:break;case 1:break e;default:return 0}}}break;default:return 0}}}function ui(is){var co=H9(le(is));if(co!==0)return co===1?yn(is):Ke(is);e:for(;;){var zR=gd(le(is));if(2>>0)return Ke(is);switch(zR){case 0:break;case 1:return yn(is);default:break e}}for(;;){if(ga(le(is))!==0)return Ke(is);e:for(;;){var HR=gd(le(is));if(2
>>0)return Ke(is);switch(HR){case 0:break;case 1:return yn(is);default:break e}}}}Se(yt);var _s=h3(le(yt));if(2<_s>>>0)var la=Ke(yt);else e:switch(_s){case 0:if(ga(le(yt))===0){t:for(;;){var hs=gd(le(yt));if(2>>0){var la=Ke(yt);break e}switch(hs){case 0:break;case 1:var la=yn(yt);break e;default:break t}}for(;;){t:{if(ga(le(yt))===0){r:for(;;){var Za=gd(le(yt));if(2>>0){var ci=Ke(yt);break t}switch(Za){case 0:break;case 1:var ci=yn(yt);break t;default:break r}}continue}var ci=Ke(yt)}var la=ci;break}}else var la=Ke(yt);break;case 1:var Ra=UG(le(yt)),la=Ra===0?ui(yt):Ra===1?yn(yt):Ke(yt);break;default:t:for(;;){var Xn=DQ(le(yt));if(2>>0){var la=Ke(yt);break}switch(Xn){case 0:var la=ui(yt);break t;case 1:break;default:var la=yn(yt);break t}}}if(la!==0)return Ln(iYe);var Zi=v_(Oe,QR(Oe,yt),42);return[0,Zi,[1,2,ms(yt)]]});case 26:var Qt=v_(a,QR(a,u),42);return[0,Qt,[1,2,ms(u)]];case 27:return Ku(a,u,function(Oe,yt){function yn(Zi){var is=VG(le(Zi));if(2>>0)return Ke(Zi);switch(is){case 0:var co=z9(le(Zi));return co===0?tn(Zi):co===1?di(Zi):Ke(Zi);case 1:return tn(Zi);default:return di(Zi)}}function tn(Zi){for(;;)if(Kt(Zi,0),ga(le(Zi))!==0)return Ke(Zi)}function di(Zi){for(;;){Kt(Zi,0);var is=Xb(le(Zi));if(is!==0){if(is!==1)return Ke(Zi);for(;;){if(ga(le(Zi))!==0)return Ke(Zi);for(;;){Kt(Zi,0);var co=Xb(le(Zi));if(co!==0)break}if(co!==1)return Ke(Zi)}}}}function ui(Zi){var is=H9(le(Zi));if(is!==0)return is===1?yn(Zi):Ke(Zi);e:for(;;){var co=gd(le(Zi));if(2>>0)return Ke(Zi);switch(co){case 0:break;case 1:return yn(Zi);default:break e}}for(;;){if(ga(le(Zi))!==0)return Ke(Zi);e:for(;;){var zR=gd(le(Zi));if(2>>0)return Ke(Zi);switch(zR){case 0:break;case 1:return yn(Zi);default:break e}}}}Se(yt);var _s=h3(le(yt));if(2<_s>>>0)var la=Ke(yt);else e:switch(_s){case 0:if(ga(le(yt))===0){t:for(;;){var hs=gd(le(yt));if(2>>0){var la=Ke(yt);break e}switch(hs){case 0:break;case 1:var la=yn(yt);break e;default:break t}}for(;;){t:{if(ga(le(yt))===0){r:for(;;){var Za=gd(le(yt));if(2>>0){var ci=Ke(yt);break t}switch(Za){case 0:break;case 1:var ci=yn(yt);break t;default:break r}}continue}var ci=Ke(yt)}var la=ci;break}}else var la=Ke(yt);break;case 1:var Ra=UG(le(yt)),la=Ra===0?ui(yt):Ra===1?yn(yt):Ke(yt);break;default:t:for(;;){var Xn=DQ(le(yt));if(2>>0){var la=Ke(yt);break}switch(Xn){case 0:var la=ui(yt);break t;case 1:break;default:var la=yn(yt);break t}}}return la===0?[0,Oe,[0,4,ms(yt)]]:Ln(nYe)});case 28:return[0,a,[0,4,ms(u)]];case 29:return Ku(a,u,function(Oe,yt){function yn(Ra){for(;;){var Xn=F8(le(Ra));if(2>>0)return Ke(Ra);switch(Xn){case 0:break;case 1:for(;;){if(ga(le(Ra))!==0)return Ke(Ra);e:for(;;){var Zi=F8(le(Ra));if(2>>0)return Ke(Ra);switch(Zi){case 0:break;case 1:break e;default:return 0}}}break;default:return 0}}}function tn(Ra){var Xn=jb(le(Ra));return Xn===0?yn(Ra):Xn===1?0:Ke(Ra)}Se(yt);var di=h3(le(yt));if(2>>0)var ui=Ke(yt);else e:switch(di){case 0:var ui=ga(le(yt))===0?yn(yt):Ke(yt);break;case 1:for(;;){var _s=SQ(le(yt));if(_s===0){var ui=tn(yt);break}if(_s!==1){var ui=Ke(yt);break}}break;default:t:for(;;){var la=ym(le(yt));if(2>>0){var ui=Ke(yt);break e}switch(la){case 0:var ui=tn(yt);break e;case 1:break;default:break t}}for(;;){t:{if(ga(le(yt))===0){r:for(;;){var hs=ym(le(yt));if(2>>0){var Za=Ke(yt);break t}switch(hs){case 0:var Za=tn(yt);break t;case 1:break;default:break r}}continue}var Za=Ke(yt)}var ui=Za;break}}if(ui!==0)return Ln(rYe);var ci=v_(Oe,QR(Oe,yt),34);return[0,ci,[1,2,ms(yt)]]});case 30:return Ku(a,u,function(Oe,yt){Se(yt);var yn=z9(le(yt));e:if(yn===0)for(;;){var tn=jb(le(yt));if(tn!==0){if(tn===1){var la=0;break}var la=Ke(yt);break}}else if(yn===1){t:for(;;){var di=F8(le(yt));if(2>>0){var la=Ke(yt);break e}switch(di){case 0:break;case 1:break t;default:var la=0;break e}}for(;;){t:{if(ga(le(yt))===0){r:for(;;){var ui=F8(le(yt));if(2>>0){var _s=Ke(yt);break t}switch(ui){case 0:break;case 1:break r;default:var _s=0;break t}}continue}var _s=Ke(yt)}var la=_s;break}}else var la=Ke(yt);return la===0?[0,Oe,[1,2,ms(yt)]]:Ln(tYe)});case 31:var gn=v_(a,QR(a,u),34);return[0,gn,[1,2,ms(u)]];case 32:return[0,a,[1,2,ms(u)]];case 33:return Ku(a,u,function(Oe,yt){function yn(ci){for(;;){Kt(ci,0);var Ra=Xb(le(ci));if(Ra!==0){if(Ra!==1)return Ke(ci);for(;;){if(ga(le(ci))!==0)return Ke(ci);for(;;){Kt(ci,0);var Xn=Xb(le(ci));if(Xn!==0)break}if(Xn!==1)return Ke(ci)}}}}function tn(ci){return Kt(ci,0),ga(le(ci))===0?yn(ci):Ke(ci)}Se(yt);var di=h3(le(yt));if(2>>0)var ui=Ke(yt);else e:switch(di){case 0:var ui=ga(le(yt))===0?yn(yt):Ke(yt);break;case 1:for(;;){Kt(yt,0);var _s=SQ(le(yt));if(_s===0){var ui=tn(yt);break}if(_s!==1){var ui=Ke(yt);break}}break;default:t:for(;;){Kt(yt,0);var la=ym(le(yt));if(2>>0){var ui=Ke(yt);break e}switch(la){case 0:var ui=tn(yt);break e;case 1:break;default:break t}}for(;;){t:{if(ga(le(yt))===0){r:for(;;){Kt(yt,0);var hs=ym(le(yt));if(2>>0){var Za=Ke(yt);break t}switch(hs){case 0:var Za=tn(yt);break t;case 1:break;default:break r}}continue}var Za=Ke(yt)}var ui=Za;break}}return ui===0?[0,Oe,[0,4,ms(yt)]]:Ln(eYe)});case 34:return[0,a,[0,4,ms(u)]];case 35:var qn=QR(a,u),gr=ms(u);return[0,a,[4,qn,gr,gr]];case 36:return[0,a,0];case 37:return[0,a,1];case 38:return[0,a,4];case 39:return[0,a,5];case 40:return[0,a,6];case 41:return[0,a,7];case 42:return[0,a,12];case 43:return[0,a,10];case 44:return[0,a,8];case 45:return[0,a,9];case 46:return[0,a,87];case 47:XO(u),Se(u);var wn=le(u),br=62=Jn)return[0,a,54];var Oi=dn(mn,f9);if(0<=Oi){if(0>=Oi)return[0,a,52];var Cn=dn(mn,Z5);if(0<=Cn){if(0>=Cn)return[0,a,47];if(!Re(mn,ch))return[0,a,25];if(!Re(mn,ws))return[0,a,48];if(!Re(mn,G))return[0,a,26];if(!Re(mn,u8))return[0,a,27];if(!Re(mn,_e))return[0,a,59]}else{if(!Re(mn,hc))return[0,a,20];if(!Re(mn,s3))return[0,a,22];if(!Re(mn,pc))return[0,a,23];if(!Re(mn,Kx))return[0,a,32];if(!Re(mn,BS))return[0,a,24];if(!Re(mn,Kh))return[0,a,62]}}else{var Fi=dn(mn,qs);if(0<=Fi){if(0>=Fi)return[0,a,55];if(!Re(mn,xb))return[0,a,56];if(!Re(mn,D2))return[0,a,57];if(!Re(mn,_b))return[0,a,58];if(!Re(mn,cc))return[0,a,19];if(!Re(mn,vR))return[0,a,43]}else{if(!Re(mn,d9))return[0,a,29];if(!Re(mn,fY))return[0,a,21];if(!Re(mn,Y2))return[0,a,45];if(!Re(mn,O8))return[0,a,30];if(!Re(mn,Mee))return[0,a,64];if(!Re(mn,bP))return[0,a,63]}}}else{var Ri=dn(mn,HT);if(0<=Ri){if(0>=Ri)return[0,a,44];var Da=dn(mn,BO);if(0<=Da){if(0>=Da)return[0,a,15];if(!Re(mn,jF))return[0,a,16];if(!Re(mn,S8))return[0,a,53];if(!Re(mn,yh))return[0,a,51];if(!Re(mn,Sx))return[0,a,17];if(!Re(mn,yS))return[0,a,18]}else{if(!Re(mn,Sk))return[0,a,49];if(!Re(mn,N$))return[0,a,50];if(!Re(mn,sf))return[0,a,42];if(!Re(mn,Je))return[0,a,31];if(!Re(mn,gF))return[0,a,39];if(!Re(mn,jP))return[0,a,40]}}else{var Ha=dn(mn,GS);if(0<=Ha){if(0>=Ha)return[0,a,28];if(!Re(mn,BT))return[0,a,36];if(!Re(mn,Tc))return[0,a,60];if(!Re(mn,yb))return[0,a,61];if(!Re(mn,Xg))return[0,a,37];if(!Re(mn,uP))return[0,a,46];if(!Re(mn,m_))return[0,a,38]}else{if(!Re(mn,Lx))return[0,a,65];if(!Re(mn,E8))return[0,a,66];if(!Re(mn,_c))return[0,a,33];if(!Re(mn,Fc))return[0,a,34];if(!Re(mn,ZS))return[0,a,35];if(!Re(mn,I))return[0,a,41]}}}var Fs=Yu(u),Ks=Kc(a,Fs),Yo=Ks[2],ra=Ks[1];return[0,ra,[4,ai,Yo,LB(Fs)]];case 98:var we=a[4]?v_(a,QR(a,u),91):a;return[0,we,vo];default:var Ft=El(a,QR(a,u));return[0,Ft,[7,ms(u)]]}}),v1=zue([0,ATt]);function Rv(a,u){return[0,0,0,u,Yue(a)]}function XG(a){var u=a[4];switch(a[3]){case 0:var Rt=bd(u);break;case 1:var Rt=wTt(u);break;case 2:var Rt=QTt(u);break;case 3:var p=jo(u,u[2]),d=vs(xR),q=vs(xR),g=u[2];Se(g);var O=le(g),B=g_>>0)var W=Ke(g);else switch(B){case 0:var W=1;break;case 1:var W=4;break;case 2:var W=0;break;case 3:Kt(g,0);var W=X2(le(g))===0?0:Ke(g);break;case 4:var W=2;break;default:var W=3}if(4>>0)var Y=Ln(_Ue);else switch(W){case 0:var V=ms(g);pa(q,V),pa(d,V);var Z=XB(Gl(u,g),d,q,g),se=jo(Z,g),ae=m0(d),ue=m0(q),Y=[0,Z,[9,[0,Z[1],p,se],ae,ue]];break;case 1:var Y=[0,u,vo];break;case 2:var Y=[0,u,99];break;case 3:var Y=[0,u,0];break;default:XO(g);var pe=XB(u,d,q,g),xe=jo(pe,g),ye=m0(d),ge=m0(q),Y=[0,pe,[9,[0,pe[1],p,xe],ye,ge]]}var Ne=Y[2],Fe=Y[1],ze=O_(Fe,Ne),ut=Fe[6];if(ut===0)var Tt=[0,Fe,[0,Ne,ze,0,0]];else var it=[0,Ne,ze,xn(ut),0],Tt=[0,[0,Fe[1],Fe[2],Fe[3],Fe[4],Fe[5],0,Fe[7]],it];var Rt=Tt;break;case 4:var Rt=NTt(u);break;default:var Rt=$Tt(u)}var kt=Rt[1],ft=Rt[2],It=[0,Yue(kt),ft];return a[4]=kt,a[1]?a[2]=[0,It]:a[1]=[0,It],It}function NQ(a){var u=a[1];return u?u[1][2]:XG(a)[2]}function Eu(a){return Qb(a[24][1])}function zn(a){return a[28][5]}function _i(a,u){var p=u[2];a[1][1]=[0,[0,u[1],p],a[1][1]];var d=a[23];return d?K(d[1],a,p):0}function sC(a,u){a[31][1]=u}function Z2(a,u){if(a===0)return NQ(u[26][1]);if(a!==1)throw Pr([0,Wa,KYe],1);var p=u[26][1];p[1]||XG(p);var d=p[2];return d?d[1][2]:XG(p)[2]}function tE(a,u){return a===u[5]?u:[0,u[1],u[2],u[3],u[4],a,u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15],u[16],u[17],u[18],u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29],u[30],u[31]]}function ste(a,u){return a===u[10]?u:[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],a,u[11],u[12],u[13],u[14],u[15],u[16],u[17],u[18],u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29],u[30],u[31]]}function ZG(a,u){return a===u[18]?u:[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15],u[16],u[17],a,u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29],u[30],u[31]]}function ote(a,u){return a===u[19]?u:[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15],u[16],u[17],u[18],a,u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29],u[30],u[31]]}function uv(a,u){return a===u[20]?u:[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15],u[16],u[17],u[18],u[19],a,u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29],u[30],u[31]]}function rE(a,u){return a===u[22]?u:[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15],u[16],u[17],u[18],u[19],u[20],u[21],a,u[23],u[24],u[25],u[26],u[27],u[28],u[29],u[30],u[31]]}function wQ(a,u){return a===u[14]?u:[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],a,u[15],u[16],u[17],u[18],u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29],u[30],u[31]]}function nE(a,u){return a===u[8]?u:[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],a,u[9],u[10],u[11],u[12],u[13],u[14],u[15],u[16],u[17],u[18],u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29],u[30],u[31]]}function G9(a,u){return a===u[12]?u:[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],a,u[13],u[14],u[15],u[16],u[17],u[18],u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29],u[30],u[31]]}function iE(a,u){return a===u[15]?u:[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],a,u[16],u[17],u[18],u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29],u[30],u[31]]}function Rte(a,u){return a===u[16]?u:[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15],a,u[17],u[18],u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29],u[30],u[31]]}function lle(a,u){return a===u[6]?u:[0,u[1],u[2],u[3],u[4],u[5],a,u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15],u[16],u[17],u[18],u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29],u[30],u[31]]}function ute(a,u){return a===u[7]?u:[0,u[1],u[2],u[3],u[4],u[5],u[6],a,u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15],u[16],u[17],u[18],u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29],u[30],u[31]]}function ZB(a,u){return a===u[13]?u:[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],a,u[14],u[15],u[16],u[17],u[18],u[19],u[20],u[21],u[22],u[23],u[24],u[25],u[26],u[27],u[28],u[29],u[30],u[31]]}function eI(a,u){return[0,u[1],u[2],u[3],u[4],u[5],u[6],u[7],u[8],u[9],u[10],u[11],u[12],u[13],u[14],u[15],u[16],u[17],u[18],u[19],u[20],u[21],u[22],[0,a],u[24],u[25],u[26],u[27],u[28],u[29],u[30],u[31]]}function lv(a){function u(p){return _i(a,p)}return function(p){return yR(u,p)}}function PQ(a){var u=a[4][1];return u?[0,u[1][2]]:0}function cle(a){var u=a[4][1];return u?[0,u[1][1]]:0}function Tle(a){return[0,a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],a[17],a[18],a[19],a[20],a[21],a[22],0,a[24],a[25],a[26],a[27],a[28],a[29],a[30],a[31]]}function BQ(a,u,p,d){return[0,a[1],a[2],v1[1],a[4],a[5],0,0,0,0,0,1,a[12],a[13],a[14],a[15],a[16],a[17],p,u,a[20],d,a[22],a[23],a[24],a[25],a[26],a[27],a[28],a[29],a[30],a[31]]}function oC(a){return Re(a,S8)&&Re(a,rp)&&Re(a,d9)&&Re(a,qs)&&Re(a,xb)&&Re(a,D2)&&Re(a,_b)&&Re(a,vR)&&Re(a,_e)?0:1}function d3(a){return Re(a,wP)&&Re(a,"eval")?0:1}function tI(a){var u=dn(a,jF);e:{if(0<=u){if(0>>0){if(JT>=d+1>>>0)return 1}else if(d===6)return 0}return CT(a,u)}function Ik(a){return IQ(0,a)}function RC(a,u){var p=ko(a,u);e:{if(typeof p=="number")switch(p){case 29:case 43:case 53:case 54:case 55:case 56:case 57:case 58:case 59:var d=1;break e}else if(p[0]===4){var d=oC(p[2]);break e}var d=0}if(d)return 1;e:{if(typeof p=="number")switch(p){case 14:case 21:case 49:case 61:case 62:case 63:case 64:case 65:case 66:case 127:break;default:break e}else if(p[0]!==4)break e;return 1}return 0}function eV(a,u){return Po(u,ko(a,u))}function uC(a,u){var p=RC(a,u);return p||eV(a,u)}function Rx(a){return RC(0,a)}function j9(a){var u=st(a)===15?1:0;if(u)var p=u;else{var d=st(a)===65?1:0;if(d){var q=ko(1,a)===15?1:0;if(q)var g=Bt(1,a)[2][1],p=qi(a)[3][1]===g?1:0;else var p=q}else var p=d}return p}function Tv(a){var u=st(a);if(typeof u!="number"&&u[0]===4&&!Re(u[3],MO)){var p=a[28][1];if(p){var d=RC(1,a);if(d)var q=Bt(1,a)[2][1],g=qi(a)[3][1]===q?1:0;else var g=d}else var g=p;return g}return 0}function MQ(a){var u=st(a);if(typeof u=="number")switch(u){case 13:case 41:return 1}else if(u[0]===4&&!Re(u[3],mz)&&ko(1,a)===41)return 1;return 0}function tV(a){var u=a[28][1];if(u){var p=st(a);if(typeof p!="number"&&p[0]===4&&!Re(p[3],u0)&&RC(1,a))return 1;var d=0}else var d=u;return d}function Us(a){var u=st(a);return typeof u!="number"&&u[0]===4&&!Re(u[3],OS)?1:0}function Ys(a,u){return _i(a,[0,qi(a),u])}function Gu(a,u){var p=jue(0,u);return a?[28,p,a[1]]:[26,p]}function fu(a,u){var p=Gr(u);return lv(u)(p),Ys(u,Gu(a,st(u)))}function rV(a){function u(p){return _i(a,[0,p[1],_m])}return function(p){return yR(u,p)}}function e7(a,u){var p=a[6]?sn(fa(zYe),u,u,u):HYe;return fu([0,p],a)}function qc(a,u){var p=a[5];return p&&Ys(a,u)}function Ed(a,u){var p=a[5],d=u[2],q=u[1];return p&&_i(a,[0,q,d])}function Wn(a,u){return _i(a,[0,u,[14,a[5]]])}function _n(a){var u=a[27][1];if(u){var p=u[1],d=Eu(a),q=st(a);J(p,[0,qi(a),q,d])}var g=a[26][1],O=g[1],B=O?O[1][1]:XG(g)[1];a[25][1]=B;var W=Gr(a);lv(a)(W);var Y=a[2][1],V=S9(Z2(0,a)[4],Y);a[2][1]=V;var Z=[0,Z2(0,a)];a[4][1]=Z;var se=a[26][1];return se[2]?(se[1]=se[2],se[2]=0,0):(NQ(se),se[1]=0,0)}function bo(a,u){var p=Kue(st(a),u);return p&&_n(a),p}function A0(a,u){a[24][1]=[0,u,a[24][1]];var p=Eu(a),d=Rv(a[25][1],p);a[26][1]=d}function Kn(a){var u=a[24][1],p=u?u[2]:Ln(LYe);a[24][1]=p;var d=Eu(a),q=Rv(a[25][1],d);a[26][1]=q}function oi(a){var u=qi(a);if(st(a)===9&&CT(1,a)){var p=Vr(a),d=pi(p,wb(function(g){return g[1][2][1]<=u[3][1]?1:0},Z2(1,a)[4]));return sC(a,[0,u[3][1]+1|0,0]),d}var q=Vr(a);return sC(a,u[3]),q}function ux(a){var u=a[4][1];if(!u)return 0;var p=u[1][2],d=wb(function(q){return q[1][2][1]<=p[3][1]?1:0},Vr(a));return sC(a,[0,p[3][1]+1|0,0]),d}function ar(a,u){return fu([0,jue(WYe,u)],a)}function cr(a,u){return 1-Kue(st(a),u)&&ar(a,u),_n(a)}function nV(a,u){var p=bo(a,u);return 1-p&&ar(a,u),p}function V8(a,u){nV(a,u)}function Od(a,u){var p=st(a);e:{if(typeof p!="number"&&p[0]===4&&Qa(p[3],u))break e;fu([0,J(fa(MYe),u)],a)}return _n(a)}var J9=[Ws,ZYe,md(0)];function cte(a,u,p){if(p){var d=p[1],q=d[1],g=d[2];if(u[27][1]=[0,q],!a)return a;for(var O=g[2];;){if(!O)return;var B=O[2];J(q,O[1]);var O=B}}}function rI(a,u){var p=a[27][1];if(p){var d=p[1],q=URe(he);a[27][1]=[0,function(ge){return sG(ge,q)}];var g=[0,[0,d,q]]}else var g=0;var O=a[31][1],B=a[25][1],W=a[24][1],Y=a[4][1],V=a[2][1],Z=a[1][1];try{var se=J(u,a);cte(1,a,g);var ae=[0,se];return ae}catch(ye){var ue=n0(ye);if(ue!==J9)throw Pr(ue,0);cte(0,a,g),a[1][1]=Z,a[2][1]=V,a[4][1]=Y,a[24][1]=W,a[25][1]=B,a[31][1]=O;var pe=Eu(a),xe=Rv(a[25][1],pe);return a[26][1]=xe,0}}function pv(a,u,p){var d=rI(a,p);return d?d[1]:u}function nI(a,u){var p=xn(u);if(!p)return u;var d=p[1],q=p[2],g=J(a,d);return d===g?u:xn([0,g,q])}var iV=AQ(iKe,function(a){var u=QG(a,tKe),p=Yee(a,nKe),d=p[24],q=p[28],g=p[41],O=p[91],B=p[hb],W=p[xz],Y=p[vU],V=p[w0e],Z=p[Eoe],se=p[Wr],ae=p[6],ue=p[7],pe=p[10],xe=p[17],ye=p[23],ge=p[29],Ne=p[39],Fe=p[42],ze=p[52],ut=p[61],it=p[dT],Tt=p[SR],Rt=p[pm],kt=p[VO],ft=p[MY],It=p[Iee],dt=p[f0e],Ot=p[GH],At=p[Z7],wt=p[GA],or=p[Px],rr=p[Uc],Jt=p[CB],tr=p[MP],mr=p[oo],Xt=p[mee],hr=p[Zm],Ge=p[R0e],Cr=p[qZ],rt=p[b0e],yr=p[bO],sr=p[V6],Ir=p[Koe],Dr=p[jg],on=p[dF],cn=p[X7],Lr=p[J7],fn=p[DO],rn=p[Woe],vt=p[Rk],qr=wB(a,0,0,CRe,BG,1)[1];return Gee(a,[0,Fe,function(Pe,Lt){var Xe=Lt[2],Mt=wb(function(Ze){return _3(Ze[1][2],Pe[1+u])<0?1:0},Xe),Gt=r2(Mt);return r2(Xe)===Gt?Lt:[0,Lt[1],Mt,Lt[3]]},vt,function(Pe,Lt,Xe){var Mt=Xe[2];return Dn(J(Pe[1][1+g],Pe),Mt,Xe,function(Gt){return[0,Xe[1],Gt]})},rn,function(Pe,Lt){var Xe=Lt[2];return Dn(J(Pe[1][1+g],Pe),Xe,Lt,function(Mt){return[0,Lt[1],Mt]})},fn,function(Pe,Lt,Xe){var Mt=Xe[4],Gt=Xe[3],Ze=K(Pe[1][1+W],Pe,Gt),Xr=K(Pe[1][1+g],Pe,Mt);return Gt===Ze&&Mt===Xr?Xe:[0,Xe[1],Xe[2],Ze,Xr]},Lr,function(Pe,Lt,Xe){var Mt=Xe[4],Gt=Xe[3],Ze=K(Pe[1][1+W],Pe,Gt),Xr=K(Pe[1][1+g],Pe,Mt);return Gt===Ze&&Mt===Xr?Xe:[0,Xe[1],Xe[2],Ze,Xr]},cn,function(Pe,Lt,Xe){var Mt=Xe[2];return Dn(J(Pe[1][1+g],Pe),Mt,Xe,function(Gt){return[0,Xe[1],Gt]})},on,function(Pe,Lt,Xe){var Mt=Xe[4],Gt=Xe[3],Ze=K(Pe[1][1+se],Pe,Gt),Xr=K(Pe[1][1+g],Pe,Mt);return Gt===Ze&&Mt===Xr?Xe:[0,Xe[1],Xe[2],Ze,Xr]},se,function(Pe,Lt){var Xe=Lt[2],Mt=Xe[1],Gt=Lt[1],Ze=Xe[2];return Dn(J(Pe[1][1+g],Pe),Ze,Lt,function(Xr){return[0,Gt,[0,Mt,Xr]]})},Z,function(Pe,Lt){var Xe=Lt[2],Mt=Xe[1],Gt=Lt[1],Ze=Xe[2];return Dn(J(Pe[1][1+g],Pe),Ze,Lt,function(Xr){return[0,Gt,[0,Mt,Xr]]})},Dr,function(Pe,Lt,Xe){var Mt=Xe[7],Gt=Xe[2],Ze=K(Pe[1][1+V],Pe,Gt),Xr=K(Pe[1][1+g],Pe,Mt);return Gt===Ze&&Mt===Xr?Xe:[0,Xe[1],Ze,Xe[3],Xe[4],Xe[5],Xe[6],Xr]},V,function(Pe,Lt){var Xe=Lt[2],Mt=Xe[1],Gt=Lt[1],Ze=Xe[2];return Dn(J(Pe[1][1+g],Pe),Ze,Lt,function(Xr){return[0,Gt,[0,Mt,Xr]]})},Ir,function(Pe,Lt,Xe){var Mt=Xe[2],Gt=Xe[1];if(Mt===0)return Dn(J(Pe[1][1+W],Pe),Gt,Xe,function(Xr){return[0,Xr,Xe[2],Xe[3]]});var Ze=J(Pe[1][1+d],Pe);return Dn(function(Xr){return en(Ze,Xr)},Mt,Xe,function(Xr){return[0,Xe[1],Xr,Xe[3]]})},sr,function(Pe,Lt){var Xe=Lt[2],Mt=Xe[2],Gt=Lt[1],Ze=Xe[1],Xr=J(Pe[1][1+Y],Pe);return Dn(function(qt){return nI(Xr,qt)},Ze,Lt,function(qt){return[0,Gt,[0,qt,Mt]]})},Y,function(Pe,Lt){var Xe=Lt[2],Mt=Xe[2],Gt=Xe[1],Ze=Lt[1];if(Mt===0)return Dn(J(Pe[1][1+B],Pe),Gt,Lt,function(qt){return[0,Ze,[0,qt,Mt]]});var Xr=J(Pe[1][1+d],Pe);return Dn(function(qt){return en(Xr,qt)},Mt,Lt,function(qt){return[0,Ze,[0,Gt,qt]]})},rt,function(Pe,Lt,Xe){var Mt=Xe[6],Gt=Xe[5],Ze=K(Pe[1][1+yr],Pe,Gt),Xr=K(Pe[1][1+g],Pe,Mt);return Gt===Ze&&Mt===Xr?Xe:[0,Xe[1],Xe[2],Xe[3],Xe[4],Ze,Xr,Xe[7]]},Cr,function(Pe,Lt){var Xe=Lt[2],Mt=Lt[1],Gt=Xe[3];return Dn(J(Pe[1][1+g],Pe),Gt,[0,Mt,Xe],function(Ze){return[0,Mt,[0,Xe[1],Xe[2],Ze]]})},Ge,function(Pe,Lt){var Xe=Lt[2],Mt=Xe[1],Gt=Lt[1],Ze=Xe[2];return Dn(J(Pe[1][1+g],Pe),Ze,Lt,function(Xr){return[0,Gt,[0,Mt,Xr]]})},hr,function(Pe,Lt,Xe){var Mt=Xe[4],Gt=Xe[3],Ze=K(Pe[1][1+W],Pe,Gt),Xr=K(Pe[1][1+g],Pe,Mt);return Gt===Ze&&Mt===Xr?Xe:[0,Xe[1],Xe[2],Ze,Xr]},Xt,function(Pe,Lt,Xe){var Mt=Xe[10],Gt=Xe[3],Ze=K(Pe[1][1+mr],Pe,Gt),Xr=K(Pe[1][1+g],Pe,Mt);return Gt===Ze&&Mt===Xr?Xe:[0,Xe[1],Xe[2],Ze,Xe[4],Xe[5],Xe[6],Xe[7],Xe[8],Xe[9],Xr,Xe[11]]},tr,function(Pe,Lt){var Xe=Lt[2],Mt=Lt[1],Gt=Xe[4];return Dn(J(Pe[1][1+g],Pe),Gt,[0,Mt,Xe],function(Ze){return[0,Mt,[0,Xe[1],Xe[2],Xe[3],Ze]]})},Jt,function(Pe,Lt,Xe){var Mt=Xe[4],Gt=Xe[3],Ze=K(Pe[1][1+rr],Pe,Gt),Xr=K(Pe[1][1+g],Pe,Mt);return Gt===Ze&&Mt===Xr?Xe:[0,Xe[1],Xe[2],Ze,Xr,Xe[5]]},or,function(Pe,Lt){if(Lt[0]===0){var Xe=Lt[1];return Dn(J(Pe[1][1+B],Pe),Xe,Lt,function(kn){return[0,kn]})}var Mt=Lt[1],Gt=Mt[2],Ze=Gt[2],Xr=Mt[1],qt=K(Pe[1][1+B],Pe,Ze);return Ze===qt?Lt:[1,[0,Xr,[0,Gt[1],qt]]]},wt,function(Pe,Lt,Xe){var Mt=Xe[2];return Dn(J(Pe[1][1+g],Pe),Mt,Xe,function(Gt){return[0,Xe[1],Gt]})},At,function(Pe,Lt,Xe){var Mt=Xe[3],Gt=Xe[1],Ze=mc(J(Pe[1][1+O],Pe),Gt),Xr=K(Pe[1][1+g],Pe,Mt);return Gt===Ze&&Mt===Xr?Xe:[0,Ze,Xe[2],Xr]},Ot,function(Pe,Lt,Xe){var Mt=Xe[2],Gt=Xe[1],Ze=Gt[3],Xr=Gt[2],qt=Gt[1];if(Ze)var kn=nI(J(Pe[1][1+q],Pe),Ze),Ki=Xr;else var kn=0,Ki=K(Pe[1][1+q],Pe,Xr);var Qe=K(Pe[1][1+g],Pe,Mt);return Xr===Ki&&Ze===kn&&Mt===Qe?Xe:[0,[0,qt,Ki,kn],Qe]},dt,function(Pe,Lt,Xe){var Mt=Xe[4];return Dn(J(Pe[1][1+g],Pe),Mt,Xe,function(Gt){return[0,Xe[1],Xe[2],Xe[3],Gt]})},It,function(Pe,Lt,Xe){var Mt=Xe[4];return Dn(J(Pe[1][1+g],Pe),Mt,Xe,function(Gt){return[0,Xe[1],Xe[2],Xe[3],Gt]})},ft,function(Pe,Lt,Xe){var Mt=Xe[4],Gt=Xe[3],Ze=K(Pe[1][1+W],Pe,Gt),Xr=K(Pe[1][1+g],Pe,Mt);return Gt===Ze&&Mt===Xr?Xe:[0,Xe[1],Xe[2],Ze,Xr]},Tt,function(Pe,Lt,Xe){var Mt=Xe[4],Gt=Xe[3],Ze=Xe[2],Xr=Xe[1],qt=K(Pe[1][1+g],Pe,Mt);if(Gt){var kn=en(J(Pe[1][1+se],Pe),Gt);return Gt===kn&&Mt===qt?Xe:[0,Xe[1],Xe[2],kn,qt]}if(Ze){var Ki=en(J(Pe[1][1+Z],Pe),Ze);return Ze===Ki&&Mt===qt?Xe:[0,Xe[1],Ki,Xe[3],qt]}var Qe=K(Pe[1][1+W],Pe,Xr);return Xr===Qe&&Mt===qt?Xe:[0,Qe,Xe[2],Xe[3],qt]},kt,function(Pe,Lt,Xe){var Mt=Xe[3],Gt=Xe[2],Ze=K(Pe[1][1+Rt],Pe,Gt),Xr=K(Pe[1][1+g],Pe,Mt);return Gt===Ze&&Mt===Xr?Xe:[0,Xe[1],Ze,Xr]},it,function(Pe,Lt,Xe){var Mt=Xe[2];return Dn(J(Pe[1][1+g],Pe),Mt,Xe,function(Gt){return[0,Xe[1],Gt]})},O,function(Pe,Lt,Xe){var Mt=Xe[4];return Dn(J(Pe[1][1+g],Pe),Mt,Xe,function(Gt){return[0,Xe[1],Xe[2],Xe[3],Gt]})},ut,function(Pe,Lt){var Xe=Lt[2],Mt=Xe[1],Gt=Lt[1],Ze=Xe[2];return Dn(J(Pe[1][1+g],Pe),Ze,Lt,function(Xr){return[0,Gt,[0,Mt,Xr]]})},ze,function(Pe,Lt,Xe){var Mt=Xe[2],Gt=Xe[1],Ze=nI(J(Pe[1][1+W],Pe),Gt),Xr=K(Pe[1][1+g],Pe,Mt);return Gt===Ze&&Mt===Xr?Xe:[0,Ze,Xr]},Ne,function(Pe,Lt,Xe){var Mt=Xe[3];return Dn(J(Pe[1][1+g],Pe),Mt,Xe,function(Gt){return[0,Xe[1],Xe[2],Gt]})},ge,function(Pe,Lt){var Xe=Lt[3];return Dn(J(Pe[1][1+g],Pe),Xe,Lt,function(Mt){return[0,Lt[1],Lt[2],Mt]})},ye,function(Pe,Lt,Xe){var Mt=Xe[3];return Dn(J(Pe[1][1+g],Pe),Mt,Xe,function(Gt){return[0,Xe[1],Xe[2],Gt]})},xe,function(Pe,Lt){var Xe=Lt[2],Mt=Xe[1],Gt=Lt[1],Ze=Xe[2];return Dn(J(Pe[1][1+g],Pe),Ze,Lt,function(Xr){return[0,Gt,[0,Mt,Xr]]})},pe,function(Pe,Lt,Xe){var Mt=Xe[2],Gt=Xe[1],Ze=Gt[3],Xr=Gt[2],qt=Gt[1];if(Ze)var kn=nI(J(Pe[1][1+q],Pe),Ze),Ki=Xr;else var kn=0,Ki=K(Pe[1][1+q],Pe,Xr);var Qe=K(Pe[1][1+g],Pe,Mt);return Xr===Ki&&Ze===kn&&Mt===Qe?Xe:[0,[0,qt,Ki,kn],Qe]},ue,function(Pe,Lt,Xe){var Mt=Xe[2],Gt=Mt[2],Ze=Mt[1],Xr=Xe[1];if(!Gt)return Dn(K(Pe[1][1+ae],Pe,Lt),Ze,Xe,function(kn){return[0,Xr,[0,kn,Gt]]});var qt=Gt[1];return Dn(J(Pe[1][1+W],Pe),qt,Xe,function(kn){return[0,Xr,[0,Ze,[0,kn]]]})}]),function(Pe,Lt,Xe){var Mt=PB(Lt,a);return Mt[1+u]=Xe,J(qr,Mt),BB(Lt,Mt,a)}});function _v(a){var u=PQ(a);if(u)var p=u[1],d=cv(a)?(sC(a,p[3]),[0,K(iV[1],0,p[3])]):0,q=d;else var q=0;return[0,0,function(g,O){return q?O(q[1],g):g}]}function Ol(a){var u=PQ(a);if(u){var p=u[1];if(cv(a)){sC(a,p[3]);var d=ux(a),q=[0,K(iV[1],0,[0,p[3][1]+1|0,0])],g=d}else var q=0,g=ux(a)}else var q=0,g=0;return[0,g,function(O,B){return q?K(B,q[1],O):O}]}function NR(a){return D_(a)?Ol(a):_v(a)}function Vl(a,u){return K(NR(a)[2],u,function(p,d){return K(ki(p,x9,2),p,d)})}function vd(a,u){if(!u)return 0;var p=u[1];return[0,K(NR(a)[2],p,function(d,q){return K(ki(d,$F,5),d,q)})]}function hv(a,u){return K(NR(a)[2],u,function(p,d){return K(ki(p,g0e,8),p,d)})}function x3(a,u){return K(NR(a)[2],u,function(p,d){return K(ki(p,-1045824777,9),p,d)})}function iI(a,u){return K(NR(a)[2],u,function(p,d){return K(ki(p,-455772979,10),p,d)})}function lC(a,u){if(!u)return 0;var p=u[1];return[0,K(NR(a)[2],p,function(d,q){return K(ki(d,d0e,13),d,q)})]}function cC(a,u){return K(NR(a)[2],u,function(p,d){return K(ki(p,Moe,14),p,d)})}function ple(a,u){return K(NR(a)[2],u,function(p,d){var q=J(ki(p,X4,16),p);return nI(function(g){return mc(q,g)},d)})}function _le(a,u){return K(NR(a)[2],u,function(p,d){return K(ki(p,-21476009,17),p,d)})}AQ(aKe,function(a){var u=QG(a,eKe),p=NG(rKe),d=p.length-1,q=qRe.length-1,g=fm(d+q|0,0),O=d-1|0,B=0;if(O>=0)for(var W=B;;){var Y=CQ(a,Wo(p,W)[1+W]);Wo(g,W)[1+W]=Y;var V=W+1|0;if(O===W)break;var W=V}var Z=q-1|0,se=0;if(Z>=0)for(var ae=se;;){var ue=ae+d|0,pe=QG(a,Wo(qRe,ae)[1+ae]);Wo(g,ue)[1+ue]=pe;var xe=ae+1|0;if(Z===ae)break;var ae=xe}var ye=g[4],ge=g[5],Ne=g[Toe],Fe=g[vU],ze=g[316],ut=g[317],it=g[44],Tt=g[er],Rt=g[Rm],kt=wB(a,0,0,CRe,BG,1)[1];return Gee(a,[0,Tt,function(ft){return[0,ft[1+ze],ft[1+ut]]},Fe,function(ft,It){var dt=It[2],Ot=It[1];return yR(J(ft[1][1+ge],ft),Ot),yR(J(ft[1][1+ye],ft),dt)},Ne,function(ft,It){return It?K(ft[1][1+Fe],ft,It[1]):0},ge,function(ft,It){var dt=It[1],Ot=ft[1+ze];if(Ot){var At=_3(dt[2],Ot[1][1][2])<0?1:0,wt=At&&(ft[1+ze]=[0,It],0);return wt}var or=_3(dt[2],ft[1+u][2])<0?1:0,rr=or&&(ft[1+ze]=[0,It],0);return rr},ye,function(ft,It){var dt=It[1],Ot=ft[1+ut];if(Ot){var At=_3(Ot[1][1][2],dt[2])<0?1:0,wt=At&&(ft[1+ut]=[0,It],0);return wt}var or=0<=_3(dt[2],ft[1+u][3])?1:0,rr=or&&(ft[1+ut]=[0,It],0);return rr},it,function(ft,It){return K(ft[1][1+Fe],ft,It),It},Rt,function(ft,It,dt){return K(ft[1][1+Ne],ft,dt[2]),dt}]),function(ft,It,dt){var Ot=PB(It,a);return Ot[1+u]=dt,J(kt,Ot),Ot[1+ze]=0,Ot[1+ut]=0,BB(It,Ot,a)}});function lp(a){var u=st(a);e:{if(typeof u=="number"){var p=u;if(50<=p)switch(p){case 50:var q=UKe;break e;case 51:var q=FKe;break e;case 52:var q=LKe;break e;case 53:var q=zKe;break e;case 54:var q=HKe;break e;case 55:var q=YKe;break e;case 56:var q=KKe;break e;case 57:var q=GKe;break e;case 58:var q=VKe;break e;case 59:var q=jKe;break e;case 60:var q=JKe;break e;case 61:var q=XKe;break e;case 62:var q=ZKe;break e;case 63:var q=eGe;break e;case 64:var q=tGe;break e;case 65:var q=rGe;break e;case 66:var q=nGe;break e;case 115:var q=iGe;break e;case 116:var q=aGe;break e;case 117:var q=sGe;break e;case 118:var q=oGe;break e;case 119:var q=RGe;break e;case 120:var q=uGe;break e;case 121:var q=lGe;break e;case 122:var q=cGe;break e;case 123:var q=TGe;break e;case 124:var q=pGe;break e;case 125:var q=_Ge;break e;case 126:var q=hGe;break e;case 127:var q=fGe;break e;case 129:var q=dGe;break e;case 130:var q=xGe;break e;case 131:var q=mGe;break e}else switch(p){case 15:var q=sKe;break e;case 16:var q=oKe;break e;case 17:var q=RKe;break e;case 18:var q=uKe;break e;case 19:var q=lKe;break e;case 20:var q=cKe;break e;case 21:var q=TKe;break e;case 22:var q=pKe;break e;case 23:var q=_Ke;break e;case 24:var q=hKe;break e;case 25:var q=fKe;break e;case 26:var q=dKe;break e;case 27:var q=xKe;break e;case 28:var q=mKe;break e;case 29:var q=kKe;break e;case 30:var q=yKe;break e;case 31:var q=qKe;break e;case 32:var q=CKe;break e;case 33:var q=AKe;break e;case 34:var q=gKe;break e;case 35:var q=bKe;break e;case 36:var q=EKe;break e;case 37:var q=OKe;break e;case 38:var q=vKe;break e;case 39:var q=DKe;break e;case 40:var q=SKe;break e;case 41:var q=$Ke;break e;case 42:var q=QKe;break e;case 43:var q=NKe;break e;case 44:var q=wKe;break e;case 45:var q=PKe;break e;case 46:var q=BKe;break e;case 47:var q=IKe;break e;case 48:var q=MKe;break e;case 49:var q=WKe;break e}}else switch(u[0]){case 4:var q=u[2];break e;case 11:var d=u[1]?kGe:yGe,q=d;break e}fu(qGe,a);var q=CGe}return _n(a),q}function cp(a){var u=qi(a),p=Vr(a),d=lp(a);return[0,u,[0,d,kr([0,p],[0,oi(a)],he)]]}function fv(a){var u=qi(a),p=Vr(a);cr(a,14);var d=qi(a),q=lp(a),g=kr([0,p],[0,oi(a)],he),O=O0(u,d),B=d[2],W=u[3],Y=W[1]===B[1]?1:0,V=Y&&(W[2]===B[2]?1:0);return 1-V&&_i(a,[0,O,SR]),[0,O,[0,q,g]]}function X9(a){var u=a[2],p=u[3]===0?1:0,d=u[2];if(!p)return p;for(var q=d;;){if(!q)return 1;var g=q[1][2],O=q[2];e:{if(g[1][2][0]===2&&!g[2]){var B=1;break e}var B=0}if(!B)return B;var q=O}}function dv(a){for(var u=a;;){var p=u[2];if(p[0]!==31)return 0;var d=p[1][2];if(d[2][0]===27)return 1;var u=d}}function Qr(a,u,p){var d=p[2][1],q=p[1];if(!Re(d,E8)){var g=u[19];return g&&_i(u,[0,q,5])}if(Re(d,d9)){if(!Re(d,_e))return u[18]?_i(u,[0,q,95]):Ed(u,[0,q,80])}else if(u[14])return _i(u,[0,q,[26,YB(d)]]);if(oC(d))return Ed(u,[0,q,80]);if(tI(d))return _i(u,[0,q,95]);if(a){var O=a[1];if(d3(d))return Ed(u,[0,q,O])}}function wr(a,u,p){var d=a?a[1]:qi(p),q=J(u,p),g=PQ(p),O=g?O0(d,g[1]):d;return[0,O,q]}function aI(a,u,p){var d=wr(a,u,p),q=d[2];return[0,[0,d[1],q[1]],q[2]]}function aV(a){A0(a,0);var u=st(a);Kn(a);var p=ko(1,a);e:{t:{if(typeof u=="number"){if(u!==22)break e}else{if(u[0]!==4)break e;var d=u[3];if(Re(d,_8)){if(!Re(d,eR))r:{if(typeof p=="number"){if(p!==22)break r}else if(p[0]!==4)break r;break t}}else r:{if(typeof p=="number"){if(p!==22)break r}else if(p[0]!==4)break r;break t}}if(typeof p=="number"){if(hk!==p)break e}else if(p[0]!==4||Re(p[3],cb))break e}return 1}return 0}function hle(a){switch(a){case 3:return 2;case 4:return 1;case 5:return 1;case 6:return 1;case 7:return 1;default:return 1}}function sV(a,u,p){if(p){var d=p[1];e:{if(d!==8232&&x1!==d){if(d===10){var q=6;break e}if(d===13){var q=5;break e}if(ub<=d){var q=3;break e}if(yU<=d){var q=2;break e}if(t0<=d){var q=1;break e}var q=0;break e}var q=7}var g=q}else var g=4;return[0,g,a]}var PTt=[Ws,iVe,md(0)];function fle(a,u,p,d){try{var q=Wo(a,u)[1+u];return q}catch(O){var g=n0(O);throw g[1]===uQ?Pr([0,PTt,p,sn(fa(rVe),d,u,a.length-1)],1):Pr(g,0)}}function WQ(a,u){if(u[1]===0&&u[2]===0)return 0;var p=fle(a,u[1]-1|0,u,eVe);return fle(p,u[2],u,tVe)}function dle(a){function u(W){var Y=st(W);e:if(typeof Y=="number"){if(8<=Y){if(10<=Y)break e}else if(Y!==1)break e;return 1}return 0}function p(W,Y,V,Z,se,ae){var ue=sn(a[24],W,se,ae);if(V)var pe=hi(vVe,ae),xe=-ue;else var pe=ae,xe=ue;var ye=oi(W);return u(W)?[2,Y,[0,xe,pe,kr([0,Z],[0,ye],he)]]:[0,Y]}function d(W){var Y=qi(W),V=Vr(W),Z=st(W);if(typeof Z=="number")switch(Z){case 105:_n(W);var se=st(W);return typeof se!="number"&&se[0]===0?p(W,Y,1,V,se[1],se[2]):[0,Y];case 31:case 32:_n(W);var ae=oi(W);return u(W)?[1,Y,[0,Z===32?1:0,kr([0,V],[0,ae],he)]]:[0,Y]}else switch(Z[0]){case 0:return p(W,Y,0,V,Z[1],Z[2]);case 1:var ue=Z[2],pe=sn(a[26],W,Z[1],ue),xe=oi(W);return u(W)?[4,Y,[0,pe,ue,kr([0,V],[0,xe],he)]]:[0,Y];case 2:var ye=Z[1],ge=ye[1],Ne=ye[3],Fe=ye[2];ye[4]&&qc(W,76),_n(W);var ze=oi(W);return u(W)?[3,ge,[0,Fe,Ne,kr([0,V],[0,ze],he)]]:[0,ge]}return _n(W),[0,Y]}var q=[0,DVe,v1[1],0,0];function g(W){var Y=cp(W),V=st(W);e:{if(typeof V=="number"){if(V===83){cr(W,83);var Z=d(W);break e}if(V===87){Ys(W,[8,Y[2][1]]),cr(W,87);var Z=d(W);break e}}var Z=0}return[0,Y,Z]}var O=0;function B(W,Y,V,Z,se,ae,ue){var pe=r2(se),xe=r2(ae);function ye(Ne){return[2,[0,[0,ae],V,Z,ue]]}function ge(Ne){return[2,[0,[1,se],V,Z,ue]]}return pe===0?ye(he):xe===0?ge(he):pe>>0){if(JT>=it+1>>>0)break}else if(it===10){var Tt=qi(xe),Rt=Vr(xe);_n(xe);var kt=st(xe);e:{t:if(typeof kt=="number"){var ft=kt-2|0;if(sx>>0){if(JT>>0)break t}else{if(ft!==7)break t;cr(xe,9);var It=st(xe);r:{n:if(typeof It=="number"){if(It!==1&&vo!==It)break n;var dt=1;break r}var dt=0}_i(xe,[0,Tt,[6,dt]])}break e}_i(xe,[0,Tt,qVe])}var ze=[0,ze[1],ze[2],1,Rt];continue}}var Ot=ze[2],At=ze[1],wt=wr(O,g,xe),or=wt[2],rr=or[2],Jt=or[1],tr=wt[1],mr=Jt[2][1],Xt=Jt[1];e:if(Qa(mr,oa))var hr=ze;else{var Ge=r0(mr,0),Cr=97<=Ge?1:0,rt=Cr&&(Ge<=$0?1:0);rt&&_i(xe,[0,Xt,[10,ae,mr]]),v1[3].call(null,mr,Ot)&&_i(xe,[0,Xt,[4,ae,mr]]);var yr=ze[4],sr=ze[3],Ir=v1[4].call(null,mr,Ot),Dr=[0,ze[1],Ir,sr,yr];let Cn=mr;var on=function(Fi,Ri){if(Ne&&Ne[1]!==Fi)return _i(xe,[0,Ri,[9,ae,Ne,Cn]])};if(typeof rr=="number"){if(Ne)switch(Ne[1]){case 0:_i(xe,[0,tr,[3,ae,mr]]);var hr=Dr;break e;case 1:_i(xe,[0,tr,[11,ae,mr]]);var hr=Dr;break e;case 4:_i(xe,[0,tr,[2,ae,mr]]);var hr=Dr;break e}var hr=[0,[0,At[1],At[2],At[3],At[4],[0,[0,tr,[0,Jt]],At[5]]],Ir,sr,yr]}else switch(rr[0]){case 0:_i(xe,[0,rr[1],[9,ae,Ne,mr]]);var hr=Dr;break;case 1:var cn=rr[1],Lr=rr[2];on(0,cn);var hr=[0,[0,[0,[0,tr,[0,Jt,[0,cn,Lr]]],At[1]],At[2],At[3],At[4],At[5]],Ir,sr,yr];break;case 2:var fn=rr[1],rn=rr[2];on(1,fn);var hr=[0,[0,At[1],[0,[0,tr,[0,Jt,[0,fn,rn]]],At[2]],At[3],At[4],At[5]],Ir,sr,yr];break;case 3:var vt=rr[1],qr=rr[2];on(2,vt);var hr=[0,[0,At[1],At[2],[0,[0,tr,[0,Jt,[0,vt,qr]]],At[3]],At[4],At[5]],Ir,sr,yr];break;default:var Pe=rr[1],Lt=rr[2];on(4,Pe);var hr=[0,[0,At[1],At[2],At[3],[0,[0,tr,[0,Jt,[0,Pe,Lt]]],At[4]],At[5]],Ir,sr,yr]}}var Xe=st(xe);e:{t:if(typeof Xe=="number"){var Mt=Xe-2|0;if(sx>>0){if(JT>>0)break t}else{if(Mt!==6)break t;Ys(xe,18),cr(xe,8)}break e}cr(xe,9)}var ze=hr}var Gt=ze[3],Ze=ze[4],Xr=xn(ze[1][5]),qt=xn(ze[1][4]),kn=xn(ze[1][3]),Ki=xn(ze[1][2]),Qe=xn(ze[1][1]),Vt=pi(Ze,Vr(xe));cr(xe,1);var We=st(xe);e:{t:if(typeof We=="number"){if(We!==1&&vo!==We)break t;var Qt=oi(xe);break e}var Qt=D_(xe)?ux(xe):0}var gn=E0([0,Fe],[0,Qt],Vt,he);if(Ne){switch(Ne[1]){case 0:var qn=[0,[0,Qe,1,Gt,gn]];break;case 1:var qn=[1,[0,Ki,1,Gt,gn]];break;case 2:var qn=B(xe,ae,1,Gt,kn,Xr,gn);break;case 3:var qn=[3,[0,Xr,Gt,gn]];break;default:var qn=[4,[0,qt,1,Gt,gn]]}var gr=qn}else{var wn=r2(Qe),br=r2(Ki),jn=r2(qt),Rn=r2(kn),ai=r2(Xr),mn=function(Cn){return[2,[0,CVe,0,Gt,gn]]};e:{if(wn===0&&br===0&&jn===0){if(Rn===0&&ai===0){var Jn=mn(he);break e}var Jn=B(xe,ae,0,Gt,kn,Xr,gn);break e}if(br===0&&jn===0&&Rn===0&&ai<=wn){yR(function(Fi){return _i(xe,[0,Fi[1],[3,ae,Fi[2][1][2][1]]])},Xr);var Jn=[0,[0,Qe,0,Gt,gn]];break e}if(wn===0){if(jn===0&&Rn===0&&ai<=br){yR(function(Fi){return _i(xe,[0,Fi[1],[11,ae,Fi[2][1][2][1]]])},Xr);var Jn=[1,[0,Ki,0,Gt,gn]];break e}if(br===0&&Rn===0&&ai<=jn){yR(function(Fi){return _i(xe,[0,Fi[1],[11,ae,Fi[2][1][2][1]]])},Xr);var Jn=[4,[0,qt,0,Gt,gn]];break e}}_i(xe,[0,ue,[5,ae]]);var Jn=mn(he)}var gr=Jn}return gr},Y);return[0,se,pe,kr([0,Z],0,he)]}]}function Z9(a){return[0,V9(a)]}function UQ(a,u,p){if(typeof p=="number")return[0,a,u];if(p[0]===0){var d=p[1],q=dn(a,d),g=p[2];return q===0?g===u?p:[0,d,u]:0<=q?[1,2,a,u,p,0]:[1,2,a,u,0,p]}var O=p[5],B=p[4],W=p[3],Y=p[2],V=dn(a,Y),Z=p[1];if(V===0)return W===u?p:[1,Z,a,u,B,O];if(0<=V){var se=UQ(a,u,O);return O===se?p:Kb(B,Y,W,se)}var ae=UQ(a,u,B);return B===ae?p:Kb(ae,Y,W,O)}function BTt(a,u){if(typeof a=="number"){var p=a;if(57<=p)switch(p){case 57:if(typeof u=="number"&&u===57)return 0;break;case 58:if(typeof u=="number"&&u===58)return 0;break;case 59:if(typeof u=="number"&&u===59)return 0;break;case 60:if(typeof u=="number"&&u===60)return 0;break;case 61:if(typeof u=="number"&&u===61)return 0;break;case 62:if(typeof u=="number"&&u===62)return 0;break;case 63:if(typeof u=="number"&&u===63)return 0;break;case 64:if(typeof u=="number"&&u===64)return 0;break;case 65:if(typeof u=="number"&&u===65)return 0;break;case 66:if(typeof u=="number"&&u===66)return 0;break;case 67:if(typeof u=="number"&&u===67)return 0;break;case 68:if(typeof u=="number"&&u===68)return 0;break;case 69:if(typeof u=="number"&&u===69)return 0;break;case 70:if(typeof u=="number"&&u===70)return 0;break;case 71:if(typeof u=="number"&&u===71)return 0;break;case 72:if(typeof u=="number"&&u===72)return 0;break;case 73:if(typeof u=="number"&&u===73)return 0;break;case 74:if(typeof u=="number"&&u===74)return 0;break;case 75:if(typeof u=="number"&&u===75)return 0;break;case 76:if(typeof u=="number"&&u===76)return 0;break;case 77:if(typeof u=="number"&&u===77)return 0;break;case 78:if(typeof u=="number"&&u===78)return 0;break;case 79:if(typeof u=="number"&&u===79)return 0;break;case 80:if(typeof u=="number"&&u===80)return 0;break;case 81:if(typeof u=="number"&&u===81)return 0;break;case 82:if(typeof u=="number"&&u===82)return 0;break;case 83:if(typeof u=="number"&&u===83)return 0;break;case 84:if(typeof u=="number"&&u===84)return 0;break;case 85:if(typeof u=="number"&&u===85)return 0;break;case 86:if(typeof u=="number"&&u===86)return 0;break;case 87:if(typeof u=="number"&&u===87)return 0;break;case 88:if(typeof u=="number"&&u===88)return 0;break;case 89:if(typeof u=="number"&&u===89)return 0;break;case 90:if(typeof u=="number"&&u===90)return 0;break;case 91:if(typeof u=="number"&&u===91)return 0;break;case 92:if(typeof u=="number"&&u===92)return 0;break;case 93:if(typeof u=="number"&&u===93)return 0;break;case 94:if(typeof u=="number"&&u===94)return 0;break;case 95:if(typeof u=="number"&&u===95)return 0;break;case 96:if(typeof u=="number"&&u===96)return 0;break;case 97:if(typeof u=="number"&&u===97)return 0;break;case 98:if(typeof u=="number"&&u===98)return 0;break;case 99:if(typeof u=="number"&&u===99)return 0;break;case 100:if(typeof u=="number"&&q0===u)return 0;break;case 101:if(typeof u=="number"&&Qn===u)return 0;break;case 102:if(typeof u=="number"&&gl===u)return 0;break;case 103:if(typeof u=="number"&&Kl===u)return 0;break;case 104:if(typeof u=="number"&&lc===u)return 0;break;case 105:if(typeof u=="number"&&z6===u)return 0;break;case 106:if(typeof u=="number"&&dT===u)return 0;break;case 107:if(typeof u=="number"&&Hc===u)return 0;break;case 108:if(typeof u=="number"&&_m===u)return 0;break;case 109:if(typeof u=="number"&&Bi===u)return 0;break;case 110:if(typeof u=="number"&&SR===u)return 0;break;case 111:if(typeof u=="number"&&sx===u)return 0;break;default:if(typeof u=="number"&&Gx<=u)return 0}else switch(p){case 0:if(typeof u=="number"&&!u)return 0;break;case 1:if(typeof u=="number"&&u===1)return 0;break;case 2:if(typeof u=="number"&&u===2)return 0;break;case 3:if(typeof u=="number"&&u===3)return 0;break;case 4:if(typeof u=="number"&&u===4)return 0;break;case 5:if(typeof u=="number"&&u===5)return 0;break;case 6:if(typeof u=="number"&&u===6)return 0;break;case 7:if(typeof u=="number"&&u===7)return 0;break;case 8:if(typeof u=="number"&&u===8)return 0;break;case 9:if(typeof u=="number"&&u===9)return 0;break;case 10:if(typeof u=="number"&&u===10)return 0;break;case 11:if(typeof u=="number"&&u===11)return 0;break;case 12:if(typeof u=="number"&&u===12)return 0;break;case 13:if(typeof u=="number"&&u===13)return 0;break;case 14:if(typeof u=="number"&&u===14)return 0;break;case 15:if(typeof u=="number"&&u===15)return 0;break;case 16:if(typeof u=="number"&&u===16)return 0;break;case 17:if(typeof u=="number"&&u===17)return 0;break;case 18:if(typeof u=="number"&&u===18)return 0;break;case 19:if(typeof u=="number"&&u===19)return 0;break;case 20:if(typeof u=="number"&&u===20)return 0;break;case 21:if(typeof u=="number"&&u===21)return 0;break;case 22:if(typeof u=="number"&&u===22)return 0;break;case 23:if(typeof u=="number"&&u===23)return 0;break;case 24:if(typeof u=="number"&&u===24)return 0;break;case 25:if(typeof u=="number"&&u===25)return 0;break;case 26:if(typeof u=="number"&&u===26)return 0;break;case 27:if(typeof u=="number"&&u===27)return 0;break;case 28:if(typeof u=="number"&&u===28)return 0;break;case 29:if(typeof u=="number"&&u===29)return 0;break;case 30:if(typeof u=="number"&&u===30)return 0;break;case 31:if(typeof u=="number"&&u===31)return 0;break;case 32:if(typeof u=="number"&&u===32)return 0;break;case 33:if(typeof u=="number"&&u===33)return 0;break;case 34:if(typeof u=="number"&&u===34)return 0;break;case 35:if(typeof u=="number"&&u===35)return 0;break;case 36:if(typeof u=="number"&&u===36)return 0;break;case 37:if(typeof u=="number"&&u===37)return 0;break;case 38:if(typeof u=="number"&&u===38)return 0;break;case 39:if(typeof u=="number"&&u===39)return 0;break;case 40:if(typeof u=="number"&&u===40)return 0;break;case 41:if(typeof u=="number"&&u===41)return 0;break;case 42:if(typeof u=="number"&&u===42)return 0;break;case 43:if(typeof u=="number"&&u===43)return 0;break;case 44:if(typeof u=="number"&&u===44)return 0;break;case 45:if(typeof u=="number"&&u===45)return 0;break;case 46:if(typeof u=="number"&&u===46)return 0;break;case 47:if(typeof u=="number"&&u===47)return 0;break;case 48:if(typeof u=="number"&&u===48)return 0;break;case 49:if(typeof u=="number"&&u===49)return 0;break;case 50:if(typeof u=="number"&&u===50)return 0;break;case 51:if(typeof u=="number"&&u===51)return 0;break;case 52:if(typeof u=="number"&&u===52)return 0;break;case 53:if(typeof u=="number"&&u===53)return 0;break;case 54:if(typeof u=="number"&&u===54)return 0;break;case 55:if(typeof u=="number"&&u===55)return 0;break;default:if(typeof u=="number"&&u===56)return 0}}else switch(a[0]){case 0:if(typeof u!="number"&&u[0]===0){var d=u[1],q=a[1];return K(J(k0[43],0),q,d)}break;case 1:if(typeof u!="number"&&u[0]===1){var g=u[1],O=a[1];return K(J(k0[42],0),O,g)}break;case 2:if(typeof u!="number"&&u[0]===2){var B=u[2],W=u[1],Y=a[2],V=a[1],Z=K(J(k0[41],0),V,W);return Z===0?K(J(k0[40],0),Y,B):Z}break;case 3:if(typeof u!="number"&&u[0]===3){var se=u[2],ae=u[1],ue=a[2],pe=a[1],xe=K(J(k0[39],0),pe,ae);return xe===0?K(J(k0[38],0),ue,se):xe}break;case 4:if(typeof u!="number"&&u[0]===4){var ye=u[2],ge=u[1],Ne=a[2],Fe=a[1],ze=K(J(k0[37],0),Fe,ge);return ze===0?K(J(k0[36],0),Ne,ye):ze}break;case 5:if(typeof u!="number"&&u[0]===5){var ut=u[1],it=a[1];return K(J(k0[35],0),it,ut)}break;case 6:if(typeof u!="number"&&u[0]===6){var Tt=u[1],Rt=a[1];return K(J(k0[34],0),Rt,Tt)}break;case 7:if(typeof u!="number"&&u[0]===7){var kt=u[2],ft=a[2],It=u[1],dt=a[1],Ot=K(J(k0[33],0),dt,It);if(Ot!==0)return Ot;if(!ft)return kt?-1:0;var At=ft[1];if(!kt)return 1;var wt=kt[1];return K(J(k0[32],0),At,wt)}break;case 8:if(typeof u!="number"&&u[0]===8){var or=u[1],rr=a[1];return K(J(k0[31],0),rr,or)}break;case 9:if(typeof u!="number"&&u[0]===9){var Jt=u[2],tr=a[2],mr=u[3],Xt=u[1],hr=a[3],Ge=a[1],Cr=K(J(k0[30],0),Ge,Xt);if(Cr!==0)return Cr;if(tr)var rt=tr[1],yr=Jt?K(k0[29],rt,Jt[1]):1;else var yr=Jt?-1:0;return yr===0?K(J(k0[28],0),hr,mr):yr}break;case 10:if(typeof u!="number"&&u[0]===10){var sr=u[2],Ir=u[1],Dr=a[2],on=a[1],cn=K(J(k0[27],0),on,Ir);return cn===0?K(J(k0[26],0),Dr,sr):cn}break;case 11:if(typeof u!="number"&&u[0]===11){var Lr=u[2],fn=u[1],rn=a[2],vt=a[1],qr=K(J(k0[25],0),vt,fn);return qr===0?K(J(k0[24],0),rn,Lr):qr}break;case 12:if(typeof u!="number"&&u[0]===12){var Pe=u[1],Lt=a[1];return K(J(k0[23],0),Lt,Pe)}break;case 13:if(typeof u!="number"&&u[0]===13){var Xe=u[1],Mt=a[1];return K(J(k0[22],0),Mt,Xe)}break;case 14:if(typeof u!="number"&&u[0]===14){var Gt=u[1],Ze=a[1];return K(J(k0[21],0),Ze,Gt)}break;case 15:if(typeof u!="number"&&u[0]===15){var Xr=u[4],qt=u[3],kn=u[2],Ki=u[1],Qe=a[4],Vt=a[3],We=a[2],Qt=a[1],gn=K(J(k0[20],0),Qt,Ki);if(gn!==0)return gn;var qn=K(J(k0[19],0),We,kn);if(qn!==0)return qn;var gr=K(J(k0[18],0),Vt,qt);return gr===0?K(J(k0[17],0),Qe,Xr):gr}break;case 16:if(typeof u!="number"&&u[0]===16){var wn=u[1],br=a[1];return K(J(k0[16],0),br,wn)}break;case 17:if(typeof u!="number"&&u[0]===17){var jn=u[2],Rn=u[1],ai=a[2],mn=a[1],Jn=K(J(k0[15],0),mn,Rn);return Jn===0?K(J(k0[14],0),ai,jn):Jn}break;case 18:if(typeof u!="number"&&u[0]===18){var Oi=u[1],Cn=a[1];return K(J(k0[13],0),Cn,Oi)}break;case 19:if(typeof u!="number"&&u[0]===19){var Fi=u[1],Ri=a[1];return K(J(k0[12],0),Ri,Fi)}break;case 20:if(typeof u!="number"&&u[0]===20){var Da=u[1],Ha=a[1];if(tB<=Ha){if(typeof Da=="number"&&tB===Da)return 0}else if(typeof Da=="number"&&Coe===Da)return 0;var Fs=function(gT){return tB<=gT?1:0},Ks=Fs(Da);return fc(Fs(Ha),Ks)}break;case 21:if(typeof u!="number"&&u[0]===21){var Yo=u[1],ra=a[1];return K(J(k0[11],0),ra,Yo)}break;case 22:if(typeof u!="number"&&u[0]===22){var we=u[1],Ft=a[1];return K(J(k0[10],0),Ft,we)}break;case 23:if(typeof u!="number"&&u[0]===23){var Oe=u[2],yt=u[1],yn=a[2],tn=a[1],di=K(J(k0[9],0),tn,yt);return di===0?K(J(k0[8],0),yn,Oe):di}break;case 24:if(typeof u!="number"&&u[0]===24){var ui=u[1],_s=a[1];if(h5===_s){if(typeof ui=="number"&&h5===ui)return 0}else if(lb<=_s){if(typeof ui=="number"&&lb===ui)return 0}else if(typeof ui=="number"&&ac===ui)return 0;var la=function(gT){return h5===gT?0:lb<=gT?2:1},hs=la(ui);return fc(la(_s),hs)}break;case 25:if(typeof u!="number"&&u[0]===25){var Za=u[1],ci=a[1];return K(J(k0[7],0),ci,Za)}break;case 26:if(typeof u!="number"&&u[0]===26){var Ra=u[1],Xn=a[1];return K(J(k0[6],0),Xn,Ra)}break;case 27:if(typeof u!="number"&&u[0]===27){var Zi=u[2],is=u[1],co=a[2],zR=a[1],HR=K(J(k0[5],0),zR,is);return HR===0?K(J(k0[4],0),co,Zi):HR}break;case 28:if(typeof u!="number"&&u[0]===28){var $1=u[2],Vu=u[1],Sl=a[2],c0=a[1],jl=K(J(k0[3],0),c0,Vu);return jl===0?K(J(k0[2],0),Sl,$1):jl}break;default:if(typeof u!="number"&&u[0]===29){var lR=u[1],S_=a[1];return K(J(k0[1],0),S_,lR)}}function Gc(gT){if(typeof gT!="number")switch(gT[0]){case 0:return 16;case 1:return 17;case 2:return 19;case 3:return 20;case 4:return 21;case 5:return 22;case 6:return 23;case 7:return 24;case 8:return 26;case 9:return 27;case 10:return 28;case 11:return 30;case 12:return 31;case 13:return 33;case 14:return 36;case 15:return 48;case 16:return 50;case 17:return 51;case 18:return 53;case 19:return 61;case 20:return 69;case 21:return 72;case 22:return 81;case 23:return 88;case 24:return _m;case 25:return pm;case 26:return kb;case 27:return t0;case 28:return Fg;default:return eh}var $_=gT;if(57<=$_)switch($_){case 57:return 79;case 58:return 80;case 59:return 82;case 60:return 83;case 61:return 84;case 62:return 85;case 63:return 86;case 64:return 87;case 65:return 89;case 66:return 90;case 67:return 91;case 68:return 92;case 69:return 93;case 70:return 94;case 71:return 95;case 72:return 96;case 73:return 97;case 74:return 98;case 75:return 99;case 76:return q0;case 77:return Qn;case 78:return gl;case 79:return Kl;case 80:return lc;case 81:return z6;case 82:return dT;case 83:return Hc;case 84:return Bi;case 85:return SR;case 86:return sx;case 87:return Gx;case 88:return JT;case 89:return vo;case 90:return K2;case 91:return VO;case 92:return am;case 93:return Wh;case 94:return db;case 95:return $0;case 96:return g_;case 97:return MS;case 98:return tm;case 99:return kS;case 100:return xR;case 101:return hk;case 102:return mb;case 103:return l9;case 104:return zP;case 105:return Zy;case 106:return Aee;case 107:return pee;case 108:return MY;case 109:return tee;case 110:return x0e;case 111:return T9;default:return P0e}switch($_){case 0:return 0;case 1:return 1;case 2:return 2;case 3:return 3;case 4:return 4;case 5:return 5;case 6:return 6;case 7:return 7;case 8:return 8;case 9:return 9;case 10:return 10;case 11:return 11;case 12:return 12;case 13:return 13;case 14:return 14;case 15:return 15;case 16:return 18;case 17:return 25;case 18:return 29;case 19:return 32;case 20:return 34;case 21:return 35;case 22:return 37;case 23:return 38;case 24:return 39;case 25:return 40;case 26:return 41;case 27:return 42;case 28:return 43;case 29:return 44;case 30:return 45;case 31:return 46;case 32:return 47;case 33:return 49;case 34:return 52;case 35:return 54;case 36:return 55;case 37:return 56;case 38:return 57;case 39:return 58;case 40:return 59;case 41:return 60;case 42:return 62;case 43:return 63;case 44:return 64;case 45:return 65;case 46:return 66;case 47:return 67;case 48:return 68;case 49:return 70;case 50:return 71;case 51:return 73;case 52:return 74;case 53:return 75;case 54:return 76;case 55:return 77;default:return 78}}var Q1=Gc(u);return fc(Gc(a),Q1)}var oV=zue([0,function(a,u){var p=u[2],d=a[2],q=Gb(a[1],u[1]);return q===0?BTt(d,p):q}]);function aE(a,u,p){var d=p[2][1],q=p[1];return Qa(d,oa)?u:v1[3].call(null,d,u)?(_i(a,[0,q,[0,d]]),u):v1[4].call(null,d,u)}function RV(a){return function(u){var p=u[2];switch(p[0]){case 0:return tR(function(d,q){var g=q[0]===0?q[1][2][2]:q[1][2][1];return RV(d)(g)},a,p[1][1]);case 1:return tR(function(d,q){if(q[0]===2)return d;var g=q[1][2][1];return RV(d)(g)},a,p[1][1]);case 2:return[0,p[1][1],a];default:return Ln(YXe)}}}var Er=$ue(GXe,KXe[1]);function FQ(a,u,p){var d=a?a[1]:0,q=u?u[1]:0,g=qi(p),O=st(p);if(typeof O=="number")switch(O){case 104:var B=Vr(p);return _n(p),[0,[0,g,[0,0,kr([0,B],0,he)]]];case 105:var W=Vr(p);return _n(p),[0,[0,g,[0,1,kr([0,W],0,he)]]];case 127:if(d){var Y=Vr(p);return _n(p),[0,[0,g,[0,2,kr([0,Y],0,he)]]]}break}else if(O[0]===4){var V=O[3];if(Re(V,Sx)){if(!Re(V,QO)&&q&&eV(1,p)){var Z=Vr(p);return _n(p),[0,[0,g,[0,4,kr([0,Z],0,he)]]]}}else if(q&&eV(1,p)){var se=Vr(p);_n(p);var ae=st(p);e:{if(typeof ae!="number"&&ae[0]===4&&!Re(ae[3],QO)){var ue=qi(p);_n(p);var pe=O0(g,ue),xe=5;break e}var pe=g,xe=3}return[0,[0,pe,[0,xe,kr([0,se],0,he)]]]}}return 0}function xle(a,u,p,d,q){u===1&&qc(q,76);var g=Vr(q);_n(q);var O=oi(q);if(a)var B=kr([0,pi(a[1],g)],[0,O],he),W=B,Y=hi(ZGe,d),V=-p;else var W=kr([0,g],[0,O],he),Y=d,V=p;return[30,[0,V,Y,W]]}function mle(a,u,p,d){var q=Vr(d);_n(d);var g=oi(d);if(a)var O=kr([0,pi(a[1],q)],[0,g],he),B=hi(XGe,p),W=O,Y=B,V=cQ(UK,u);else var W=kr([0,q],[0,g],he),Y=p,V=u;return[31,[0,V,Y,W]]}var kle=[],yle=[],qle=[],Cle=[],Ale=[],gle=[],ble=[],Ele=[],Ole=[],vle=[],Dle=[];function Ps(a){var u=qi(a),p=Rte(0,a);return Sle(p,u,uV(p))}function sE(a){return 1-zn(a)&&Ys(a,gl),wr(0,function(u){return cr(u,87),Ps(u)},a)}function Sle(a,u,p){var d=st(a);return typeof d=="number"&&d===42?wr([0,u],function(q){cr(q,42);var g=uV(Rte(1,q));V8(q,86);var O=Ps(q);V8(q,87);var B=Ps(q);return[17,[0,p,g,O,B,kr(0,[0,oi(q)],he)]]},a):p}function uV(a){var u=qi(a);if(st(a)===90){var p=Vr(a);_n(a);var d=p}else var d=0;return $le(a,[0,d],u,Qle(a))}function $le(a,u,p,d){var q=u?u[1]:0;return st(a)===90?wr([0,p],K(kle[1],q,[0,d,0]),a):d}function Qle(a){var u=qi(a);if(st(a)===92){var p=Vr(a);_n(a);var d=p}else var d=0;return Nle(a,[0,d],u,wle(a))}function Nle(a,u,p,d){var q=u?u[1]:0;return st(a)===92?wr([0,p],K(yle[1],q,[0,d,0]),a):d}function wle(a){return Ple(a,lV(a))}function Ple(a,u){var p=st(a);if(typeof p=="number"&&p===11&&!a[15]){var d=LQ(a,u);return HQ(1,a,d[1],0,[0,d[1],[0,0,[0,d,0],0,0]])}return u}function lV(a){var u=st(a);if(typeof u=="number"&&u===86)return wr(0,function(d){var q=Vr(d);cr(d,86);var g=kr([0,q],0,he);return[11,[0,lV(d),g]]},a);var p=qi(a);return Ble(0,a,p,ITt(a))}function cV(a,u,p,d,q){var g=u?u[1]:0;if(D_(p))return q;var O=st(p);if(typeof O=="number"){if(O===6){_n(p);var B=0;return a<50?eA(a+1|0,g,B,p,d,q):x0(eA,[0,g,B,p,d,q])}if(O===10){var W=ko(1,p);if(typeof W=="number"&&W===6){Ys(p,AGe),cr(p,10),cr(p,6);var Y=0;return a<50?eA(a+1|0,g,Y,p,d,q):x0(eA,[0,g,Y,p,d,q])}return Ys(p,gGe),q}if(O===84){_n(p),st(p)!==6&&Ys(p,40),cr(p,6);var V=1,Z=1;return a<50?eA(a+1|0,Z,V,p,d,q):x0(eA,[0,Z,V,p,d,q])}}return q}function Ble(a,u,p,d){return RQ(cV(0,a,u,p,d))}function eA(a,u,p,d,q,g){var O=wr([0,q],function(W){if(!p&&bo(W,7))return[16,[0,g,kr(0,[0,oi(W)],he)]];var Y=Ps(W);cr(W,7);var V=[0,g,Y,kr(0,[0,oi(W)],he)];return u?[21,[0,V,p]]:[20,V]},d),B=[0,u];return a<50?cV(a+1|0,B,d,q,O):x0(cV,[0,B,d,q,O])}function Ile(a){if(A0(a,0),st(a)===4){_n(a);var u=Ile(a);cr(a,5);var d=u}else if(Rx(a))var p=K(Er[13],0,a),d=[0,K(qle[1],a,[0,p[1],[0,p]])];else{Ys(a,45);var d=0}return Kn(a),d}function ITt(a){var u=qi(a),p=st(a);e:{t:{if(typeof p=="number")switch(p){case 4:var d=qi(a),q=wr(0,UTt,a),g=q[2],O=q[1];return g[0]===0?HQ(1,a,d,0,[0,O,g[1]]):g[1];case 6:return wr(0,function(At){var wt=Vr(At);cr(At,6);var or=iE(0,At),rr=K(Cle[1],or,0),Jt=rr[2],tr=rr[1];return cr(At,7),[28,[0,tr,Jt,kr([0,wt],[0,oi(At)],he)]]},a);case 47:return wr(0,function(At){var wt=Vr(At);cr(At,47);var or=Ile(At);if(!or)return bGe;var rr=or[1],Jt=D_(At)?0:hV(At);return[24,[0,rr,Jt,kr([0,wt],0,he)]]},a);case 54:return wr(0,function(At){var wt=Vr(At);_n(At);var or=zle(At),rr=or[2],Jt=or[1];return[15,[0,rr,Jt,kr([0,wt],0,he)]]},a);case 99:var B=qi(a),W=vd(a,J8(a));return HQ(1,a,B,W,zQ(a));case 105:return wr(0,MTt,a);case 107:var Y=Vr(a);return _n(a),[0,u,[10,kr([0,Y],[0,oi(a)],he)]];case 126:return wr(0,function(At){var wt=Vr(At);_n(At);var or=oi(At),rr=Ps(At);return[25,[0,rr,kr([0,wt],[0,or],he)]]},a);case 127:return wr(0,function(At){var wt=Vr(At);_n(At);var or=oi(At),rr=Ps(At);return[27,[0,rr,kr([0,wt],[0,or],he)]]},a);case 128:return wr(0,function(At){var wt=Vr(At);_n(At);var or=oi(At),rr=wr(0,function(Jt){var tr=j8(Jt);return[0,tr,pv(Jt,[0,qi(Jt)],function(mr){if(1-bo(mr,42))throw Pr(J9,1);var Xt=uV(mr);if(!mr[16]&&st(mr)===86)throw Pr(J9,1);return[1,[0,Xt[1],Xt]]}),1,0,0]},At);return[18,[0,rr,kr([0,wt],[0,or],he)]]},a);case 0:case 2:var V=_V(0,1,1,a);return[0,V[1],[14,V[2]]];case 132:case 133:break t;case 42:case 43:break;case 31:case 32:var Z=Vr(a);return _n(a),[0,u,[32,[0,p===32?1:0,kr([0,Z],[0,oi(a)],he)]]];default:break e}else switch(p[0]){case 2:var se=p[1],ae=se[3],ue=se[2],pe=se[1];se[4]&&qc(a,76);var xe=Vr(a);return _n(a),[0,pe,[29,[0,ue,ae,kr([0,xe],[0,oi(a)],he)]]];case 4:var ye=p[3];if(Re(ye,u0)){if(Re(ye,MO)){if(!Re(ye,OS))break t}else if(a[28][1]){var ge=ko(1,a);r:if(typeof ge=="number"){if(ge!==4&&ge!==99)break r;var Ne=qi(a);_n(a);var Fe=vd(a,J8(a));return HQ(0,a,Ne,Fe,zQ(a))}var ze=YQ(a);return[0,ze[1],[19,ze[2]]]}}else if(a[28][1])return wr(0,function(At){var wt=Vr(At);Od(At,EGe);var or=vd(At,J8(At)),rr=Wle(At);if(Us(At))var tr=hv(At,fV(At)),mr=rr;else var Jt=fV(At),tr=Jt,mr=K(NR(At)[2],rr,function(Xt,hr){return K(ki(Xt,420776873,12),Xt,hr)});return[13,[0,or,mr,tr,kr([0,wt],0,he)]]},a);break;case 7:if(Re(p[1],cT))break e;return Ys(a,84),[0,u,OGe];case 12:var ut=p[3],it=p[2],Tt=p[1],Rt=0;return wr(0,function(At){return xle(Rt,Tt,it,ut,At)},a);case 13:var kt=p[3],ft=p[2],It=0;return wr(0,function(At){return mle(It,ft,kt,At)},a);default:break e}var dt=YQ(a);return[0,dt[1],[19,dt[2]]]}return wr(0,function(At){return[26,Mle(At)]},a)}var Ot=WTt(a);return Ot?[0,u,Ot[1]]:(fu(vGe,a),[0,u,DGe])}function MTt(a){var u=Vr(a);_n(a);var p=st(a);if(typeof p!="number")switch(p[0]){case 12:return xle([0,u],p[1],p[2],p[3],a);case 13:return mle([0,u],p[2],p[3],a)}return fu(SGe,a),$Ge}function TV(a,u){var p=Vr(a),d=wr(0,_n,a)[1],q=kr([0,p],[0,oi(a)],he);return[0,[19,[0,[0,rC(0,[0,d,u])],0,q]]]}function WTt(a){var u=Vr(a),p=st(a);if(typeof p=="number")switch(p){case 30:return _n(a),[0,[4,kr([0,u],[0,oi(a)],he)]];case 115:return _n(a),[0,[0,kr([0,u],[0,oi(a)],he)]];case 116:return _n(a),[0,[1,kr([0,u],[0,oi(a)],he)]];case 117:return _n(a),[0,[2,kr([0,u],[0,oi(a)],he)]];case 118:return _n(a),[0,[5,kr([0,u],[0,oi(a)],he)]];case 119:return _n(a),[0,[6,kr([0,u],[0,oi(a)],he)]];case 120:return _n(a),[0,[7,kr([0,u],[0,oi(a)],he)]];case 121:return _n(a),[0,[3,kr([0,u],[0,oi(a)],he)]];case 122:return _n(a),[0,[9,kr([0,u],[0,oi(a)],he)]];case 123:return _n(a),[0,[33,kr([0,u],[0,oi(a)],he)]];case 124:return _n(a),[0,[34,kr([0,u],[0,oi(a)],he)]];case 125:return _n(a),[0,[35,kr([0,u],[0,oi(a)],he)]];case 129:return TV(a,QGe);case 130:return TV(a,NGe);case 131:return TV(a,wGe)}else if(p[0]===11){var d=p[1];_n(a);var q=oi(a),g=d?-883944824:737456202;return[0,[8,g,kr([0,u],[0,q],he)]]}return 0}function Mle(a){var u=Vr(a),p=st(a);e:{if(typeof p=="number")switch(p){case 132:var d=1;break e;case 133:var d=2;break e}else if(p[0]===4&&!Re(p[3],OS)){var d=0;break e}var d=Ln(PGe)}var q=qi(a);_n(a);var g=oi(a),O=lV(a);return[0,q,O,kr([0,u],[0,g],he),d]}function LQ(a,u){return[0,u[1],[0,0,u,0]]}function Cm(a){return K(Ale[1],a,0)}function zQ(a){return wr(0,function(u){var p=Vr(u);cr(u,4);var d=J(Cm(u),0),q=Vr(u);cr(u,5);var g=E0([0,p],[0,oi(u)],q,he);return[0,d[1],d[2],d[3],g]},a)}function Wle(a){return wr(0,function(u){var p=Vr(u);cr(u,4);var d=K(gle[1],u,0),q=Vr(u);cr(u,5);var g=E0([0,p],[0,oi(u)],q,he);return[0,d[1],d[2],g]},a)}function UTt(a){var u=Vr(a);cr(a,4);var p=iE(0,a),d=st(p);e:{t:{r:{if(typeof d!="number"){if(d[0]!==4)break t;var q=d[3];if(Re(q,u0)){if(Re(q,OS))break r;var g=ko(1,p);n:{if(typeof g=="number"&&1>=g+Yx>>>0){var O=[0,J(Cm(p),0)];break n}var O=[1,Ps(p)]}var B=O}else{if(!p[28][1])break r;var W=ko(1,p);n:{i:if(typeof W=="number"){if(W!==4&&W!==99)break i;var Y=[1,Ps(p)];break n}var Y=Ule(p)}var B=Y}var pe=B;break e}switch(d){case 5:var pe=BGe;break e;case 132:var V=ko(1,p);n:{if(typeof V=="number"&&V===87){var Z=[0,J(Cm(p),0)];break n}var Z=[1,Ps(p)]}var pe=Z;break e;case 43:break;case 12:case 114:var pe=[0,J(Cm(p),0)];break e;default:break t}}var pe=Ule(p);break e}t:{r:{if(typeof d=="number")switch(d){case 30:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:case 123:case 124:case 125:break;default:break r}else if(d[0]!==11)break r;var se=1;break t}var se=0}if(se){var ae=ko(1,p);t:{if(typeof ae=="number"&&1>=ae+Yx>>>0){var ue=[0,J(Cm(p),0)];break t}var ue=[1,Ps(p)]}var pe=ue}else var pe=[1,Ps(p)]}if(pe[0]===0)var xe=pe;else{var ye=pe[1];if(a[15])var ge=pe;else{var Ne=st(a);e:{if(typeof Ne=="number"){if(Ne===5){if(ko(1,a)===11){var Fe=[0,LQ(a,ye),0],ut=[0,J(Cm(a),Fe)];break e}var ut=[1,ye];break e}if(Ne===9){cr(a,9);var ze=[0,LQ(a,ye),0],ut=[0,J(Cm(a),ze)];break e}}var ut=pe}var ge=ut}var xe=ge}var it=Vr(a);cr(a,5);var Tt=oi(a);if(xe[0]===0)var Rt=xe[1],kt=E0([0,u],[0,Tt],it,he),ft=[0,[0,Rt[1],Rt[2],Rt[3],kt]];else var ft=[1,FTt(xe[1],u,Tt)];return ft}function Ule(a){var u=ko(1,a);if(typeof u=="number"&&1>=u+Yx>>>0)return[0,J(Cm(a),0)];var p=qi(a),d=Hle(a,j8(a)),q=$le(a,0,p,Nle(a,0,p,Ple(a,Ble(0,a,p,[0,d[1],[19,d[2]]]))));return[1,Sle(Rte(0,a),p,q)]}function HQ(a,u,p,d,q){return wr([0,p],function(g){return cr(g,11),[12,[0,d,q,Fle(g),0,a]]},u)}function Fle(a){return aV(a)?[1,pV(a)]:[0,Ps(a)]}function pV(a){function u(p){var d=Vr(p);cr(p,hk);var q=pi(d,Vr(p));return[0,[0,Ps(p)],q]}return wr(0,function(p){var d=Vr(p),q=bo(p,mb)?1:bo(p,l9)?2:0;A0(p,0);var g=cp(p);Kn(p);e:if(q===2)var O=u(p),B=O[2],W=O[1];else{var Y=st(p);if(typeof Y=="number"&&hk===Y){var V=u(p),B=V[2],W=V[1];break e}var B=0,W=0}return[0,q,[0,g,W],E0([0,d],0,B,he)]},a)}function Lle(a,u){return wr([0,u],pV,a)}function _V(a,u,p,d){var q=u&&(st(d)===2?1:0),g=u&&1-q;return wr(0,function(O){var B=Vr(O),W=q?2:0;cr(O,W);var Y=iE(0,O),V=vb(ble[1],a,g,p,q,Y,IGe),Z=V[3],se=V[2],ae=V[1],ue=pi(Z,Vr(O)),pe=q?3:1;return cr(O,pe),[0,q,se,ae,E0([0,B],[0,oi(O)],ue,he)]},d)}function zle(a){var u=bo(a,42)?ple(a,K(Ele[1],a,0)):0;return[0,u,_V(0,0,0,a)]}function j8(a){var u=cp(a),p=u[2],d=p[1],q=u[1],g=p[2];return lte(d)&&_i(a,[0,q,96]),[0,q,[0,d,g]]}function J8(a){if(st(a)!==99)return 0;1-zn(a)&&Ys(a,gl);var u=wr(0,function(d){var q=Vr(d);cr(d,99);var g=sn(Ole[1],d,0,0),O=Vr(d);return V8(d,q0),[0,g,E0([0,q],[0,oi(d)],O,he)]},a),p=u[1];return u[2][1]||_i(a,[0,p,51]),[0,u]}function hV(a){return st(a)===99?[0,wr(0,function(u){var p=Vr(u);cr(u,99);var d=iE(0,u),q=K(vle[1],d,0),g=Vr(d);return cr(d,q0),[0,q,E0([0,p],[0,oi(d)],g,he)]},a)]:0}function YQ(a){return Hle(a,j8(a))}function Hle(a,u){return wr([0,u[1]],function(p){var d=K(Dle[1],p,[0,u[1],[0,u]])[2],q=st(p)===99?K(NR(p)[2],d,function(g,O){return K(ki(g,-860373976,65),g,O)}):d;return[0,q,hV(p),0]},a)}function fV(a){var u=st(a);e:{if(typeof u=="number")switch(u){case 87:var p=qi(a);1-zn(a)&&Ys(a,gl),_n(a);var d=wr(0,Ps,a),q=d[2],g=d[1],O=q[2][0]===26?1:0;return _i(a,[0,p,[16,O]]),[1,g,[0,p,q,0,0]];case 132:case 133:break;default:break e}else if(u[0]!==4||Re(u[3],OS))break e;1-zn(a)&&Ys(a,gl);var B=wr([0,qi(a)],Mle,a);return[1,B[1],B[2]]}return[0,V9(a)]}function FTt(a,u,p){var d=a[2];function q(Mt){return up(Mt,kr([0,u],[0,p],he))}var g=a[1];switch(d[0]){case 0:var Xe=[0,q(d[1])];break;case 1:var Xe=[1,q(d[1])];break;case 2:var Xe=[2,q(d[1])];break;case 3:var Xe=[3,q(d[1])];break;case 4:var Xe=[4,q(d[1])];break;case 5:var Xe=[5,q(d[1])];break;case 6:var Xe=[6,q(d[1])];break;case 7:var Xe=[7,q(d[1])];break;case 8:var O=q(d[2]),Xe=[8,d[1],O];break;case 9:var Xe=[9,q(d[1])];break;case 10:var Xe=[10,q(d[1])];break;case 11:var B=d[1],W=q(B[2]),Xe=[11,[0,B[1],W]];break;case 12:var Y=d[1],V=Y[5],Z=q(Y[4]),Xe=[12,[0,Y[1],Y[2],Y[3],Z,V]];break;case 13:var se=d[1],ae=q(se[4]),Xe=[13,[0,se[1],se[2],se[3],ae]];break;case 14:var ue=d[1],pe=ue[4],xe=MG(pe,kr([0,u],[0,p],he)),Xe=[14,[0,ue[1],ue[2],ue[3],xe]];break;case 15:var ye=d[1],ge=q(ye[3]),Xe=[15,[0,ye[1],ye[2],ge]];break;case 16:var Ne=d[1],Fe=q(Ne[2]),Xe=[16,[0,Ne[1],Fe]];break;case 17:var ze=d[1],ut=q(ze[5]),Xe=[17,[0,ze[1],ze[2],ze[3],ze[4],ut]];break;case 18:var it=d[1],Tt=q(it[2]),Xe=[18,[0,it[1],Tt]];break;case 19:var Rt=d[1],kt=q(Rt[3]),Xe=[19,[0,Rt[1],Rt[2],kt]];break;case 20:var ft=d[1],It=q(ft[3]),Xe=[20,[0,ft[1],ft[2],It]];break;case 21:var dt=d[1],Ot=dt[1],At=dt[2],wt=q(Ot[3]),Xe=[21,[0,[0,Ot[1],Ot[2],wt],At]];break;case 22:var or=d[1],rr=q(or[2]),Xe=[22,[0,or[1],rr]];break;case 23:var Jt=d[1],tr=q(Jt[2]),Xe=[23,[0,Jt[1],tr]];break;case 24:var mr=d[1],Xt=q(mr[3]),Xe=[24,[0,mr[1],mr[2],Xt]];break;case 25:var hr=d[1],Ge=q(hr[2]),Xe=[25,[0,hr[1],Ge]];break;case 26:var Cr=d[1],rt=Cr[4],yr=q(Cr[3]),Xe=[26,[0,Cr[1],Cr[2],yr,rt]];break;case 27:var sr=d[1],Ir=q(sr[2]),Xe=[27,[0,sr[1],Ir]];break;case 28:var Dr=d[1],on=q(Dr[3]),Xe=[28,[0,Dr[1],Dr[2],on]];break;case 29:var cn=d[1],Lr=q(cn[3]),Xe=[29,[0,cn[1],cn[2],Lr]];break;case 30:var fn=d[1],rn=q(fn[3]),Xe=[30,[0,fn[1],fn[2],rn]];break;case 31:var vt=d[1],qr=q(vt[3]),Xe=[31,[0,vt[1],vt[2],qr]];break;case 32:var Pe=d[1],Lt=q(Pe[2]),Xe=[32,[0,Pe[1],Lt]];break;case 33:var Xe=[33,q(d[1])];break;case 34:var Xe=[34,q(d[1])];break;default:var Xe=[35,q(d[1])]}return[0,g,Xe]}ns(kle,[0,function(a,u,p){for(var d=u;;){if(!bo(p,90)){var q=xn(d);if(q){var g=q[2];if(g){var O=g[2],B=g[1],W=q[1];return[22,[0,[0,W,B,O],kr([0,a],0,he)]]}}throw Pr([0,Wa,JGe],1)}var d=[0,Qle(p),d]}}]),ns(yle,[0,function(a,u,p){for(var d=u;;){if(!bo(p,92)){var q=xn(d);if(q){var g=q[2];if(g){var O=g[2],B=g[1],W=q[1];return[23,[0,[0,W,B,O],kr([0,a],0,he)]]}}throw Pr([0,Wa,jGe],1)}var d=[0,wle(p),d]}}]),ns(qle,[0,function(a,u){for(var p=u;;){var d=p[2],q=p[1];if(st(a)===10&&uC(1,a)){let B=d;var g=wr([0,q],function(Y){return cr(Y,10),[0,B,cp(Y)]},a),O=g[1],p=[0,O,[1,[0,O,g[2]]]];continue}return d}}]),ns(Cle,[0,function(a,u){for(var p=u;;){var d=st(a);e:if(typeof d=="number"){if(d!==7&&vo!==d)break e;return[0,xn(p),0]}var q=wr(0,function(Y){if(!bo(Y,12)){var V=st(Y);e:{if(typeof V=="number"&&(lc===V||z6===V&&RC(1,Y))){var Z=FQ(0,0,Y);break e}var Z=0}var se=Rx(Y),ae=ko(1,Y);if(se&&typeof ae=="number"&&1>=ae+Yx>>>0){var ue=cp(Y),pe=bo(Y,86);return cr(Y,87),[0,[1,[0,ue,Ps(Y),Z,pe]]]}var xe=Z?1:0;return xe&&Ys(Y,44),[0,[0,Ps(Y)]]}var ye=st(Y);e:if(typeof ye=="number"){if(10<=ye){if(vo!==ye)break e}else{if(7>ye)break e;switch(ye-7|0){case 0:break;case 1:break e;default:return fu(VGe,Y),_n(Y),0}}return 0}var ge=Rx(Y),Ne=ko(1,Y);e:{if(ge&&typeof Ne=="number"&&1>=Ne+Yx>>>0){var Fe=cp(Y);st(Y)===86&&(Ys(Y,43),_n(Y)),cr(Y,87);var ze=[0,Fe];break e}var ze=0}return[0,[2,[0,ze,Ps(Y)]]]},a),g=q[2],O=q[1];if(!g)return[0,xn(p),1];var B=[0,[0,O,g[1]],p];st(a)!==7&&cr(a,9);var p=B}}]);function Yle(a){var u=ko(1,a);return typeof u=="number"&&1>=u+Yx>>>0?wr(0,function(p){A0(p,0);var d=K(Er[13],0,p);Kn(p),1-zn(p)&&Ys(p,gl);var q=bo(p,86);return cr(p,87),[0,[0,d],Ps(p),q]},a):LQ(a,Ps(a))}ns(Ale,[0,function(a,u,p){for(var d=u,q=p;;){var g=st(a);e:if(typeof g=="number")switch(g){case 5:case 12:case 114:var O=g===12?[0,wr(0,function(se){var ae=Vr(se);cr(se,12);var ue=kr([0,ae],0,he);return[0,Yle(se),ue]},a)]:0;return[0,d,xn(q),O,0]}else if(g[0]===4&&!Re(g[3],s3)){if(ko(1,a)!==87&&ko(1,a)!==86)break e;var B=d!==0?1:0,W=B||(q!==0?1:0);W&&Ys(a,89);var Y=wr(0,function(ae){var ue=Vr(ae);_n(ae),st(ae)===86&&Ys(ae,88);var pe=kr([0,ue],0,he);return[0,sE(ae),pe]},a);st(a)!==5&&cr(a,9);var d=[0,Y];continue}var V=[0,Yle(a),q];st(a)!==5&&cr(a,9);var q=V}}]),ns(gle,[0,function(a,u){for(var p=u;;){var d=st(a);e:if(typeof d=="number"){var q=d-5|0;if(7>>0){if(Bi!==q)break e}else if(5>=q-1>>>0)break e;var g=d===12?[0,wr(0,function(W){var Y=Vr(W);cr(W,12);var V=ko(1,W);t:{if(typeof V=="number"){if(V===86){A0(W,0);var Z=K(Er[13],0,W);Kn(W),cr(W,86),cr(W,87);var ae=1,ue=[0,Z];break t}if(V===87){A0(W,0);var se=K(Er[13],0,W);Kn(W),cr(W,87);var ae=0,ue=[0,se];break t}}var ae=0,ue=0}var pe=Ps(W);return st(W)===9&&_n(W),[0,ue,pe,ae,kr([0,Y],0,he)]},a)]:0;return[0,xn(p),g,0]}var O=[0,wr(0,function(W){var Y=st(W);e:{if(typeof Y!="number"&&Y[0]===2){var V=Y[1],Z=V[4],se=V[3],ae=V[2],ue=V[1];Z&&qc(W,76),cr(W,[2,[0,ue,ae,se,Z]]);var xe=[1,[0,ue,[0,ae,se,kr(0,[0,oi(W)],he)]]];break e}A0(W,0);var pe=K(Er[13],0,W);Kn(W);var xe=[0,pe]}var ye=bo(W,86);return[0,xe,sE(W),ye]},a),p];st(a)!==5&&cr(a,9);var p=O}}]);function KQ(a,u,p){return wr([0,u],function(d){var q=zQ(d);return cr(d,87),[0,p,q,Fle(d),0,1]},a)}function Kle(a,u,p,d,q){var g=cC(a,d),O=KQ(a,u,vd(a,J8(a))),B=[0,O[1],[12,O[2]]],W=[0,g,[0,B],0,p!==0?1:0,0,1,0,kr([0,q],0,he)];return[0,[0,B[1],W]]}function GQ(a,u,p,d,q,g,O){var B=O[2],W=O[1];return 1-zn(a)&&Ys(a,gl),[0,wr([0,u],function(Y){var V=bo(Y,86),Z=nV(Y,87)?Ps(Y):[0,W,GGe];return[0,B,[0,Z],V,d!==0?1:0,q!==0?1:0,0,p,kr([0,g],0,he)]},a)]}function oE(a,u){var p=st(u);if(typeof p=="number"&&10>p)switch(p){case 1:if(!a)return;break;case 3:if(a)return;break;case 8:case 9:return _n(u)}return ar(u,9)}function RE(a,u){if(u)return _i(a,[0,u[1][1],Hc])}function uE(a,u){if(u)return _i(a,[0,u[1],94])}function LTt(a,u,p,d,q,g,O,B,W){for(var Y=p,V=d,Z=q,se=g,ae=O,ue=B;;){var pe=st(a);if(typeof pe=="number")switch(pe){case 6:uE(a,ae);var xe=ko(1,a);if(typeof xe=="number"&&xe===6)return RE(a,Z),[4,wr([0,W],function(rt){var yr=pi(ue,Vr(rt));cr(rt,6),cr(rt,6);var sr=cp(rt);cr(rt,7),cr(rt,7);var Ir=st(rt);e:{t:if(typeof Ir=="number"){if(Ir!==4&&Ir!==99)break t;var Dr=KQ(rt,W,vd(rt,J8(rt))),Lr=0,fn=[0,Dr[1],[12,Dr[2]]],rn=1,vt=0;break e}var on=bo(rt,86),cn=oi(rt);cr(rt,87);var Lr=cn,fn=Ps(rt),rn=0,vt=on}return[0,sr,fn,vt,se!==0?1:0,rn,kr([0,yr],[0,Lr],he)]},a)];var ye=pi(ue,Vr(a));cr(a,6);var ge=ko(1,a);return typeof ge!="number"&&ge[0]===4&&!Re(ge[3],Sx)&&se===0?[5,wr([0,W],function(rt){var yr=j8(rt),sr=yr[1];_n(rt);var Ir=Ps(rt);cr(rt,7);var Dr=st(rt);e:{t:{var on=[0,yr,[0,sr],0,0,0];if(typeof Dr=="number"){var cn=Dr+ti|0;if(1>>0){if(cn!==-18)break t;_n(rt);var Lr=2}else var Lr=cn?(_n(rt),cr(rt,86),1):(_n(rt),cr(rt,86),0);var fn=Lr;break e}}var fn=3}cr(rt,87);var rn=Ps(rt);return[0,[0,sr,on],rn,Ir,Z,fn,kr([0,ye],[0,oi(rt)],he)]},a)]:[2,wr([0,W],function(rt){if(ko(1,rt)===87){var yr=cp(rt);cr(rt,87);var sr=[0,yr]}else var sr=0;var Ir=Ps(rt);cr(rt,7);var Dr=oi(rt);cr(rt,87);var on=Ps(rt);return[0,sr,Ir,on,se!==0?1:0,Z,kr([0,ye],[0,Dr],he)]},a)];case 43:if(Y){if(Z!==0)throw Pr([0,Wa,FGe],1);var Ne=[0,qi(a)],Fe=pi(ue,Vr(a));_n(a);var Y=0,V=0,se=Ne,ue=Fe;continue}break;case 127:if(Z===0){if(!RC(1,a)&&ko(1,a)!==6)break;var Y=0,V=0,Z=FQ(LGe,0,a);continue}break;case 104:case 105:if(Z===0){var Y=0,V=0,Z=FQ(0,0,a);continue}break;case 4:case 99:return uE(a,ae),RE(a,Z),[3,wr([0,W],function(rt){var yr=qi(rt),sr=KQ(rt,yr,vd(rt,J8(rt)));return[0,sr,se!==0?1:0,kr([0,ue],0,he)]},a)]}else if(pe[0]===4&&!Re(pe[3],lh)&&V){if(Z!==0)throw Pr([0,Wa,zGe],1);var ze=[0,qi(a)],ut=pi(ue,Vr(a));_n(a);var Y=0,V=0,ae=ze,ue=ut;continue}if(se){var it=se[1];if(ae)return Ln(HGe);if(typeof pe=="number"&&1>=pe+Yx>>>0)return GQ(a,W,Z,0,ae,0,[0,it,[3,rC(kr([0,ue],0,he),[0,it,YGe])]])}else if(ae){var Tt=ae[1];if(typeof pe=="number"&&1>=pe+Yx>>>0)return GQ(a,W,Z,se,0,0,[0,Tt,[3,rC(kr([0,ue],0,he),[0,Tt,KGe])]])}var Rt=function(rt){A0(rt,0);var yr=K(Er[20],0,rt);return Kn(rt),yr},kt=Vr(a),ft=Rt(a),It=ft[1],dt=ft[2];e:if(dt[0]===3){var Ot=dt[1][2][1];if(Re(Ot,wx)&&Re(Ot,YO))break e;var At=st(a);if(typeof At=="number"){var wt=At-5|0;if(93>>0){if(95>=wt+1>>>0)return uE(a,ae),RE(a,Z),Kle(a,W,se,dt,ue)}else if(1>=wt-81>>>0)return GQ(a,W,Z,se,ae,ue,[0,It,dt])}cC(a,dt);var or=Rt(a),rr=Qa(Ot,wx),Jt=pi(ue,kt);return uE(a,ae),RE(a,Z),[0,wr([0,W],function(rt){var yr=or[1],sr=cC(rt,or[2]),Ir=KQ(rt,W,0),Dr=Ir[2][2];t:if(rr){var on=Dr[2];r:{if(!on[1]){if(!on[2]&&!on[3])break r;_i(rt,[0,yr,23]);break t}_i(rt,[0,yr,24])}}else{var cn=Dr[2];if(cn[1])_i(rt,[0,yr,66]);else{var Lr=cn[2];r:{if(!cn[3]){if(Lr&&!Lr[2])break r;_i(rt,[0,yr,65]);break t}_i(rt,[0,yr,65])}}}var fn=kr([0,Jt],0,he),rn=0,vt=0,qr=0,Pe=se!==0?1:0,Lt=0,Xe=rr?[1,Ir]:[2,Ir];return[0,sr,Xe,Lt,Pe,qr,vt,rn,fn]},a)]}var tr=ft[2],mr=st(a);e:if(typeof mr=="number"){if(mr!==4&&mr!==99)break e;return uE(a,ae),RE(a,Z),Kle(a,W,se,tr,ue)}var Xt=se!==0?1:0;e:if(tr[0]===3){var hr=tr[1],Ge=hr[2][1];t:{var Cr=hr[1];if(u){if(!Qa(ht,Ge)&&(!Xt||!Qa(a3,Ge)))break t;_i(a,[0,Cr,[15,Ge,Xt,0,0]]);break e}}}return GQ(a,W,Z,se,ae,ue,[0,It,tr])}}ns(ble,[0,function(a,u,p,d,q,g){for(var O=g;;){var B=O[3],W=O[2],Y=O[1];if(a&&p)throw Pr([0,Wa,WGe],1);if(u&&!p)throw Pr([0,Wa,UGe],1);var V=qi(q),Z=st(q);if(typeof Z=="number"){if(13<=Z){if(vo===Z)return[0,xn(Y),W,B]}else if(Z)switch(Z-1|0){case 0:if(!d)return[0,xn(Y),W,B];break;case 2:if(d)return[0,xn(Y),W,B];break;case 11:if(!p){_n(q);var se=st(q);if(typeof se=="number"&&10>se)switch(se){case 1:case 3:case 8:case 9:_i(q,[0,V,32]),oE(d,q);continue}var ae=Gr(q);lv(q)(ae),_i(q,[0,V,97]),_n(q),oE(d,q);continue}var ue=Vr(q);_n(q);var pe=st(q);if(typeof pe=="number"&&10>pe)switch(pe){case 1:case 3:case 8:case 9:oE(d,q);var xe=st(q);if(typeof xe=="number"){var ye=xe-1|0;if(2>=ye>>>0)switch(ye){case 0:if(u)return[0,xn(Y),1,ue];break;case 1:break;default:return _i(q,[0,V,31]),[0,xn(Y),W,B]}}_i(q,[0,V,92]);continue}let ze=ue;var ge=[1,wr([0,V],function(it){var Tt=kr([0,ze],0,he);return[0,Ps(it),Tt]},q)];oE(d,q);var O=[0,[0,ge,Y],W,B];continue}}var Ne=LTt(q,a,a,a,0,0,0,0,V);oE(d,q);var O=[0,[0,Ne,Y],W,B]}}]),ns(Ele,[0,function(a,u){for(var p=u;;){var d=[0,YQ(a),p],q=st(a);if(typeof q=="number"&&q===9){cr(a,9);var p=d;continue}return xn(d)}}]);function Gle(a,u){var p=Po(a,u);if(p)var d=p;else{e:{if(typeof u=="number"&&1>=u+ti>>>0){var q=1;break e}var q=0}if(!q){e:{if(typeof u=="number")switch(u){case 15:case 30:case 31:case 32:case 42:case 43:case 47:case 54:case 115:case 116:case 117:case 118:case 119:case 120:case 121:case 122:case 123:case 124:case 125:case 126:case 127:break;default:break e}else switch(u[0]){case 4:if(lte(u[3]))return 1;break e;case 11:break;default:break e}return 1}return 0}var d=q}return d}ns(Ole,[0,function(a,u,p){for(var d=u,q=p;;){if(Gle(a,st(a))){let ae=d;var g=aI(0,function(xe){var ye=FQ(0,MGe,xe),ge=wr(0,function(ft){var It=j8(ft),dt=st(ft);e:{if(typeof dt=="number"){if(dt===42){var Ot=1,At=[1,wr(0,function(rr){return _n(rr),Ps(rr)},ft)];break e}if(dt===87){var Ot=0,At=[1,sE(ft)];break e}}var Ot=0,At=[0,V9(ft)]}return[0,It,At,Ot]},xe),Ne=ge[2],Fe=Ne[3],ze=Ne[2],ut=Ne[1],it=ge[1],Tt=st(xe);e:{if(typeof Tt=="number"&&Tt===83){_n(xe);var Rt=1,kt=[0,Ps(xe)];break e}ae&&_i(xe,[0,it,52]);var Rt=ae,kt=0}return[0,[0,ut,ze,Fe,ye,kt],Rt]},a),O=g[2],B=[0,g[1],q]}else var O=d,B=q;var W=st(a);if(typeof W=="number"){var Y=W+te|0;if(14>>0){if(Y===-91){_n(a);var d=O,q=B;continue}}else if(12>>0)return xn(B)}e:{t:{r:{if(typeof W!="number"){if(W[0]!==4)break t;var V=W[3];if(!tI(V)){n:{if(Re(V,E8)&&Re(V,_e)){var Z=0;break n}var Z=1}if(!Z){if(Re(V,Sk)){if(!Re(V,S8))break r;if(Re(V,Kh))break t;break r}if(!a[28][2])break t;var se=1;break e}}var se=1;break e}switch(W){case 4:case 83:break;default:break t}}var se=1;break e}var se=0}if(se)return ar(a,q0),xn(B);if(Gle(a,W)){ar(a,9);var d=O,q=B}else{cr(a,9);var d=O,q=B}}}]),ns(vle,[0,function(a,u){for(var p=u;;){var d=st(a);e:if(typeof d=="number"){if(q0!==d&&vo!==d)break e;return xn(p)}var q=[0,Ps(a),p];q0!==st(a)&&cr(a,9);var p=q}}]),ns(Dle,[0,function(a,u){for(var p=u;;){var d=p[2],q=p[1];if(st(a)===10&&eV(1,a)){let B=d;var g=wr([0,q],function(Y){return cr(Y,10),[0,B,j8(Y)]},a),O=g[1],p=[0,O,[1,[0,O,g[2]]]];continue}return[0,q,d]}}]);function Vle(a,u){if(st(a)!==4)return[0,0,kr([0,u],[0,oi(a)],he)];var p=pi(u,Vr(a));cr(a,4),A0(a,0);var d=J(Er[9],a);return Kn(a),cr(a,5),[0,[0,d],kr([0,p],[0,oi(a)],he)]}function zTt(a){var u=st(a);if(typeof u=="number"&&u===87){1-zn(a)&&Ys(a,gl);var p=qi(a);return cr(a,87),aV(a)?[2,Lle(a,p)]:[1,wr([0,p],Ps,a)]}return[0,V9(a)]}function HTt(a){var u=st(a);return typeof u=="number"&&u===87?[1,sE(a)]:[0,V9(a)]}function YTt(a){var u=Vr(a);return cr(a,67),Vle(a,u)}var KTt=0;function jle(a){var u=iE(0,a),p=st(u);return typeof p=="number"&&p===67?[0,wr(KTt,YTt,u)]:0}function GTt(a){var u=st(a);if(typeof u=="number"&&u===87){1-zn(a)&&Ys(a,gl);var p=V9(a),d=qi(a);cr(a,87);var q=st(a);if(typeof q=="number"&&q===67)return[0,[0,p],[0,wr([0,d],function(B){var W=Vr(B);return cr(B,67),Vle(B,W)},iE(0,a))]];if(aV(a))return[0,[2,Lle(a,d)],0];var g=[1,wr([0,d],Ps,a)],O=st(a)===67?x3(a,g):g;return[0,O,jle(a)]}return[0,[0,V9(a)],0]}function vl(a,u){var p=tE(1,u);A0(p,1);var d=a(p);return Kn(p),d}function R2(a){return vl(Ps,a)}function Dd(a){return vl(j8,a)}function Cc(a){return vl(J8,a)}function Jle(a){return vl(hV,a)}function X8(a){return vl(sE,a)}function dV(a){return vl(HTt,a)}function xV(a){return vl(zTt,a)}function mV(a){return vl(GTt,a)}function Xle(a){return vl(YQ,a)}function kV(a){return vl(fV,a)}function Am(a,u){var p=u[2],d=u[1],q=a[1];switch(p[0]){case 0:return tR(VTt,a,p[1][1]);case 1:return tR(jTt,a,p[1][1]);case 2:var g=p[1][1],O=g[2][1],B=a[2],W=a[1],Y=g[1];v1[3].call(null,O,B)&&_i(W,[0,Y,77]);var V=g[2][1],Z=g[1];return d3(V)&&Ed(W,[0,Z,78]),oC(V)&&Ed(W,[0,Z,80]),[0,W,v1[4].call(null,O,B)];default:return _i(q,[0,d,20]),a}}function VTt(a){return function(u){return u[0]===0?Am(a,u[1][2][2]):Am(a,u[1][2][1])}}function jTt(a){return function(u){switch(u[0]){case 0:return Am(a,u[1][2][1]);case 1:return Am(a,u[1][2][1]);default:return a}}}function Zle(a,u){var p=u[2],d=p[3],q=tR(function(g,O){return Am(g,O[2][1])},[0,a,v1[1]],p[2]);d&&Am(q,d[1][2][1])}function ece(a,u,p,d){var q=a[5],g=d[0]===0?X9(d[1]):0,O=tE(q?0:u,a),B=u||q||1-g;if(!B)return B;if(p){var W=p[1],Y=W[2][1],V=W[1];d3(Y)&&Ed(O,[0,V,70]),oC(Y)&&Ed(O,[0,V,80])}if(d[0]===0)return Zle(O,d[1]);var Z=d[1][2],se=Z[2],ae=[0,v9,[0,[0,yd(function(pe){var xe=pe[2],ye=xe[1],ge=xe[4],Ne=xe[3],Fe=xe[2],ze=ye[0]===0?[3,ye[1]]:[0,[0,v9,ye[1][2]]];return[0,[0,v9,[0,ze,Fe,Ne,ge]]]},Z[1]),[0,v9],0]]],ue=Am([0,O,v1[1]],ae);se&&Am(ue,se[1][2][1])}function tA(a,u,p,d){return ece(a,u,p,[0,d])}function tce(a,u){if(u!==12)return 0;var p=Vr(a),d=wr(0,function(O){return cr(O,12),K(Er[18],O,78)},a),q=d[2],g=d[1];return[0,[0,g,q,kr([0,p],0,he)]]}function JTt(a){st(a)===22&&Ys(a,89);var u=K(Er[18],a,78),p=st(a)===83?(cr(a,83),[0,J(Er[10],a)]):0;return[0,u,p]}var XTt=0;function rA(a,u){function p(q){var g=ste(1,ZG(u,ote(a,q))),O=Vr(g);cr(g,4);e:{if(zn(g)&&st(g)===22){var B=Vr(g),W=wr(0,function(ze){return cr(ze,22),st(ze)===87?[0,X8(ze)]:(Ys(ze,85),0)},g),Y=W[2],V=W[1];if(!Y){var se=0;break e}var Z=Y[1];st(g)===9&&_n(g);var se=[0,[0,V,[0,Z,kr([0,B],0,he)]]];break e}var se=0}e:t:{for(var ae=0;;){var ue=st(g);if(typeof ue=="number"){var pe=ue-5|0;if(7>>0){if(Bi===pe)break}else if(5>>0)break t}var xe=wr(XTt,JTt,g);st(g)!==5&&cr(g,9);var ae=[0,xe,ae]}break e}var ye=cQ(function(Fe){return[0,Fe[1],[0,Fe[2],Fe[3]]]},tce(g,ue));st(g)!==5&&Ys(g,61);var ge=xn(ae),Ne=Vr(g);return cr(g,5),[0,se,ge,ye,E0([0,O],[0,oi(g)],Ne,he)]}var d=0;return function(q){return wr(d,p,q)}}function rce(a,u,p,d,q){var g=BQ(a,u,p,q);return K(Er[16],d,g)}function lE(a,u,p,d,q){var g=rce(a,u,p,d,q);return[0,[0,g[1]],g[2]]}function Z8(a){if(Hc!==st(a))return Dje;var u=Vr(a);return _n(a),[0,1,u]}function VQ(a){if(st(a)===65&&!CT(1,a)){var u=Vr(a);return _n(a),[0,1,u]}return vje}function ZTt(a){var u=VQ(a),p=u[1],d=u[2],q=wr(0,function(ye){var ge=Vr(ye),Ne=st(ye);e:{if(typeof Ne=="number"){if(Ne===15){_n(ye);var Fe=Z8(ye),ut=Fe[2],it=Fe[1],Tt=1;break e}}else if(Ne[0]===4&&!Re(Ne[3],MO)&&!p){_n(ye);var ut=0,it=0,Tt=0;break e}ar(ye,Ne);var ze=Z8(ye),ut=ze[2],it=ze[1],Tt=1}var Rt=Nb([0,d,[0,ge,[0,ut,0]]]),kt=ye[7],ft=st(ye);e:{if(kt&&typeof ft=="number"){if(ft===4){var At=0,wt=0;break e}if(ft===99){var It=vd(ye,Cc(ye)),dt=st(ye)===4?0:[0,Vl(ye,K(Er[13],gje,ye))],At=dt,wt=It;break e}}var Ot=Rx(ye)?Vl(ye,K(Er[13],bje,ye)):(e7(ye,Eje),[0,qi(ye),Oje]),At=[0,Ot],wt=vd(ye,Cc(ye))}var or=rA(p,it)(ye),rr=st(ye)===87?or:iI(ye,or),Jt=mV(ye),tr=Jt[2],mr=Jt[1];if(tr)var Xt=lC(ye,tr),hr=mr;else var Xt=tr,hr=x3(ye,mr);return[0,it,Tt,wt,At,rr,hr,Xt,Rt]},a),g=q[2],O=g[5],B=g[4],W=g[1],Y=g[8],V=g[7],Z=g[6],se=g[3],ae=g[2],ue=q[1],pe=lE(a,p,W,0,X9(O)),xe=pe[1];return tA(a,pe[2],B,O),[27,[0,B,O,xe,p,W,ae,V,Z,se,kr([0,Y],0,he),ue]]}var e1t=0;function cE(a){return wr(e1t,ZTt,a)}function yV(a,u){var p=Vr(u);cr(u,a);var d=u[28][2];if(d)var q=a===28?1:0,g=q&&(st(u)===49?1:0);else var g=d;g&&Ys(u,19);for(var O=0,B=0;;){var W=wr(0,function(xe){var ye=K(Er[18],xe,81);if(bo(xe,83))var ge=0,Ne=[0,J(Er[10],xe)];else{var Fe=ye[1];if(ye[2][0]===2)var ge=0,Ne=0;else var ge=[0,[0,Fe,58]],Ne=0}return[0,[0,ye,Ne],ge]},u),Y=W[2],V=Y[2],Z=[0,[0,W[1],Y[1]],O],se=V?[0,V[1],B]:B;if(!bo(u,9)){var ae=xn(se);return[0,xn(Z),p,ae]}var O=Z,B=se}}var t1t=dle(Er),r1t=25;function nce(a){return yV(r1t,a)}function ice(a){var u=yV(28,wQ(1,a)),p=u[1],d=u[2];return[0,p,d,xn(tR(function(q,g){return g[2][2]?q:[0,[0,g[1],57],q]},u[3],p))]}function ace(a){return yV(29,wQ(1,a))}function sce(a){function u(d){return[20,t1t[1].call(null,a,d)]}var p=0;return function(d){return wr(p,u,d)}}function n1t(a){var u=Vr(a),p=st(a),d=ko(1,a);e:{t:if(typeof p!="number"&&p[0]===2){var q=p[1],g=q[4],O=q[3],B=q[2],W=q[1];r:{if(typeof d=="number")switch(d){case 86:case 87:break;default:break r}else{if(d[0]!==4)break r;if(Re(d[3],Hx))break t}g&&qc(a,76),cr(a,[2,[0,W,B,O,g]]);var Y=[1,[0,W,[0,B,O,kr([0,u],[0,oi(a)],he)]]];if(typeof d=="number"&&1>=d+Yx>>>0){var V=d===86?1:0;Ys(a,[17,V,B]),V&&_n(a);var Z=qi(a),xe=0,ye=[0,Z,[2,[0,[0,Z,qje],dV(a),V]]],ge=Y;break e}_n(a);var xe=0,ye=K(Er[18],a,78),ge=Y;break e}}if(typeof d!="number"&&d[0]===4&&!Re(d[3],Hx)){var se=[0,cp(a)];Od(a,Cje);var xe=0,ye=K(Er[18],a,78),ge=se;break e}if(typeof p=="number"&&!p){Ys(a,33);var ae=[0,[0,qi(a),Aje]],xe=0,ye=K(Er[18],a,78),ge=ae;break e}var ue=sn(Er[14],a,0,78),pe=ue[2],xe=1,ye=[0,ue[1],[2,pe]],ge=[0,pe[1]]}var Ne=st(a)===83?(cr(a,83),[0,J(Er[10],a)]):0;return[0,ge,ye,Ne,xe]}var i1t=0;function a1t(a){var u=ste(1,a),p=Vr(u);cr(u,4);e:t:{for(var d=0;;){var q=st(u);if(typeof q=="number"){var g=q-5|0;if(7>>0){if(Bi===g)break}else if(5>>0)break t}var O=wr(i1t,n1t,u);st(u)!==5&&cr(u,9);var d=[0,O,d]}break e}var B=cQ(function(V){var Z=V[3],se=V[2],ae=V[1];return st(u)===9&&_n(u),[0,ae,[0,se,Z]]},tce(u,q));st(u)!==5&&Ys(u,61);var W=xn(d),Y=Vr(u);return cr(u,5),[0,W,B,E0([0,p],[0,oi(u)],Y,he)]}var s1t=0;function o1t(a){var u=wr(0,function(Z){var se=Vr(Z);Od(Z,kje);var ae=Vl(Z,K(Er[13],yje,Z)),ue=vd(Z,Cc(Z)),pe=wr(s1t,a1t,Z),xe=Us(Z)?pe:K(NR(Z)[2],pe,function(ye,ge){return K(ki(ye,842685896,11),ye,ge)});return[0,ue,ae,xe,hv(Z,kV(Z)),se]},a),p=u[2],d=p[3],q=p[2],g=p[5],O=p[4],B=p[1],W=u[1],Y=rce(a,0,0,0,0),V=Y[1];return ece(a,Y[2],[0,q],[1,d]),[3,[0,q,B,d,O,V,kr([0,g],0,he),W]]}var R1t=0;function qV(a){return wr(R1t,o1t,a)}function H0(a,u){if(u[0]===0)return u[1];var p=u[1];return yR(function(d){return _i(a,d)},u[2][1]),p}function CV(a,u,p){var d=a?a[1]:36;if(p[0]===0)var q=p[1];else{var g=p[1];yR(function(Y){return _i(u,Y)},p[2][2]);var q=g}1-J(Er[23],q)&&_i(u,[0,q[1],d]);var O=q[2];e:if(O[0]===10){var B=q[1];if(d3(O[1][2][1])){Ed(u,[0,B,71]);break e}}return K(Er[19],u,q)}function AV(a,u){var p=S9(a[2],u[2]);return[0,S9(a[1],u[1]),p]}function oce(a){var u=xn(a[2]);return[0,xn(a[1]),u]}function jQ(a){var u=qi(a),p=Rce(a),d=st(a);e:{if(typeof d=="number"&&d===90){var q=wr([0,u],function(Y){for(var V=[0,p,0];;){var Z=st(Y);if(typeof Z=="number"&&Z===90){_n(Y);var V=[0,Rce(Y),V];continue}var se=xn(V);return[0,se,kr(0,[0,oi(Y)],he)]}},a),g=[0,q[1],[12,q[2]]];break e}var g=p}var O=st(a);if(typeof O!="number"&&O[0]===4&&!Re(O[3],Hx)){var B=wr([0,u],function(W){_n(W);var Y=st(W);e:{t:if(typeof Y=="number"){var V=Y+ab|0;if(4>=V>>>0){switch(V){case 0:var Z=D1(W,0),ue=[1,Z[1],Z[2]];break;case 3:var se=D1(W,2),ue=[1,se[1],se[2]];break;case 4:var ae=D1(W,1),ue=[1,ae[1],ae[2]];break;default:break t}var pe=ue;break e}}var pe=[0,K(Er[13],0,W)]}return[0,g,pe,kr(0,[0,oi(W)],he)]},a);return[0,B[1],[13,B[2]]]}return g}function Rce(a){var u=st(a);if(typeof u=="number")switch(u){case 0:var p=function(br){var jn=qi(br),Rn=Vr(br);function ai(yt){var yn=yt[2],tn=yt[1],di=[2,[0,tn,yn[2][2]]];return[0,jn,[0,di,[0,tn,[7,yn]],1,kr([0,Rn],[0,oi(br)],he)]]}var mn=st(br);if(typeof mn=="number"){var Jn=mn+ab|0;if(4>=Jn>>>0)switch(Jn){case 0:return ai(D1(br,0));case 3:return ai(D1(br,2));case 4:return ai(D1(br,1))}}var Oi=Vr(br),Cn=st(br);e:{if(typeof Cn!="number")switch(Cn[0]){case 0:var Fi=Cn[2],Ri=Cn[1],Da=qi(br),Ha=sn(Er[24],br,Ri,Fi),Ft=[1,[0,Da,[0,Ha,Fi,kr([0,Oi],[0,oi(br)],he)]]];break e;case 2:var Fs=Cn[1],Ks=Fs[4],Yo=Fs[3],ra=Fs[2],we=Fs[1];Ks&&qc(br,76),cr(br,[2,[0,we,ra,Yo,Ks]]);var Ft=[0,[0,we,[0,ra,Yo,kr([0,Oi],[0,oi(br)],he)]]];break e}var Ft=[2,cp(br)]}cr(br,87);var Oe=jQ(br);return[0,jn,[0,Ft,Oe,0,kr([0,Rn],[0,oi(br)],he)]]};return wr(0,function(br){var jn=Vr(br);cr(br,0);e:{for(var Rn=0;;){var ai=st(br);if(typeof ai=="number"){var mn=ai-2|0;if(sx>>0){if(JT>=mn+1>>>0){var Cn=[0,xn(Rn),0];break e}}else if(mn===10)break}var Jn=p(br);1-(st(br)===1?1:0)&&cr(br,9);var Rn=[0,Jn,Rn]}var Oi=lce(br);st(br)===9&&_i(br,[0,qi(br),AXe]);var Cn=[0,xn(Rn),[0,Oi]]}var Fi=Cn[2],Ri=Cn[1],Da=Vr(br);return cr(br,1),[10,[0,Ri,Fi,E0([0,jn],[0,oi(br)],Da,he)]]},a);case 4:var d=Vr(a);cr(a,4);var q=jQ(a);cr(a,5);var g=oi(a),O=q[2],B=function(br){return up(br,kr([0,d],[0,g],he))},W=function(br){return MG(br,kr([0,d],[0,g],he))},Y=q[1];switch(O[0]){case 0:var Xt=[0,B(O[1])];break;case 1:var V=O[1],Z=B(V[3]),Xt=[1,[0,V[1],V[2],Z]];break;case 2:var se=O[1],ae=B(se[3]),Xt=[2,[0,se[1],se[2],ae]];break;case 3:var ue=O[1],pe=B(ue[3]),Xt=[3,[0,ue[1],ue[2],pe]];break;case 4:var xe=O[1],ye=B(xe[2]),Xt=[4,[0,xe[1],ye]];break;case 5:var Xt=[5,B(O[1])];break;case 6:var ge=O[1],Ne=B(ge[3]),Xt=[6,[0,ge[1],ge[2],Ne]];break;case 7:var Fe=O[1],ze=B(Fe[3]),Xt=[7,[0,Fe[1],Fe[2],ze]];break;case 8:var ut=O[1],it=ut[2],Tt=ut[1],Rt=B(it[2]),Xt=[8,[0,Tt,[0,it[1],Rt]]];break;case 9:var kt=O[1],ft=kt[2],It=kt[1],dt=B(ft[3]),Xt=[9,[0,It,[0,ft[1],ft[2],dt]]];break;case 10:var Ot=O[1],At=W(Ot[3]),Xt=[10,[0,Ot[1],Ot[2],At]];break;case 11:var wt=O[1],or=W(wt[3]),Xt=[11,[0,wt[1],wt[2],or]];break;case 12:var rr=O[1],Jt=B(rr[2]),Xt=[12,[0,rr[1],Jt]];break;default:var tr=O[1],mr=B(tr[3]),Xt=[13,[0,tr[1],tr[2],mr]]}return[0,Y,Xt];case 6:return wr(0,function(br){var jn=Vr(br),Rn=qi(br);cr(br,6);e:{for(var ai=0;;){var mn=st(br);if(typeof mn=="number"){var Jn=mn-8|0;if(z6>>0){if(Hc>=Jn+1>>>0){var Ri=[0,xn(ai),0];break e}}else if(Jn===4)break}var Oi=jQ(br),Cn=O0(Rn,qi(br));st(br)!==7&&cr(br,9);var ai=[0,[0,Cn,Oi],ai]}var Fi=lce(br);st(br)===9&&_i(br,[0,qi(br),gXe]);var Ri=[0,xn(ai),[0,Fi]]}var Da=Ri[2],Ha=Ri[1],Fs=Vr(br);return cr(br,7),[11,[0,Ha,Da,E0([0,jn],[0,oi(br)],Fs,he)]]},a);case 25:var hr=D1(a,0);return[0,hr[1],[7,hr[2]]];case 28:var Ge=D1(a,2);return[0,Ge[1],[7,Ge[2]]];case 29:var Cr=D1(a,1);return[0,Cr[1],[7,Cr[2]]];case 30:var rt=Vr(a),yr=qi(a);return _n(a),[0,yr,[5,kr([0,rt],[0,oi(a)],he)]];case 104:return uce(a,0);case 105:return uce(a,1);case 31:case 32:var sr=Vr(a),Ir=qi(a);return _n(a),[0,Ir,[4,[0,u===32?1:0,kr([0,sr],[0,oi(a)],he)]]]}else switch(u[0]){case 0:var Dr=u[2],on=u[1],cn=Vr(a),Lr=qi(a),fn=sn(Er[24],a,on,Dr);return[0,Lr,[1,[0,fn,Dr,kr([0,cn],[0,oi(a)],he)]]];case 1:var rn=u[2],vt=u[1],qr=Vr(a),Pe=qi(a),Lt=sn(Er[26],a,vt,rn);return[0,Pe,[2,[0,Lt,rn,kr([0,qr],[0,oi(a)],he)]]];case 2:var Xe=u[1],Mt=Xe[4],Gt=Xe[3],Ze=Xe[2],Xr=Xe[1],qt=Vr(a);return Mt&&qc(a,76),_n(a),[0,Xr,[3,[0,Ze,Gt,kr([0,qt],[0,oi(a)],he)]]];case 4:if(!Re(u[3],TT)){var kn=Vr(a),Ki=qi(a);return _n(a),[0,Ki,[0,kr([0,kn],[0,oi(a)],he)]]}break}if(!Rx(a)){var Qe=Vr(a),Vt=qi(a);fu(0,a);e:if(typeof u!="number"&&u[0]===7){_n(a);break e}return[0,Vt,[0,kr([0,Qe],kXe,he)]]}for(var We=qi(a),Qt=[0,K(Er[13],0,a)];;){var gn=st(a);if(typeof gn=="number"){if(gn===6){let br=Qt;var Qt=[1,wr([0,We],function(Rn){cr(Rn,6);var ai=Vr(Rn),mn=st(Rn);e:{if(typeof mn!="number")switch(mn[0]){case 0:var Jn=mn[2],Oi=mn[1],Cn=qi(Rn),Fi=sn(Er[24],Rn,Oi,Jn),Yo=[1,[0,Cn,[0,Fi,Jn,kr([0,ai],[0,oi(Rn)],he)]]];break e;case 2:var Ri=mn[1],Da=Ri[4],Ha=Ri[3],Fs=Ri[2],Ks=Ri[1];Da&&qc(Rn,76),cr(Rn,[2,[0,Ks,Fs,Ha,Da]]);var Yo=[0,[0,Ks,[0,Fs,Ha,kr([0,ai],[0,oi(Rn)],he)]]];break e}fu(xXe,Rn);var Yo=[0,[0,qi(Rn),mXe]]}return cr(Rn,7),[0,br,Yo,kr(0,[0,oi(Rn)],he)]},a)];continue}if(gn===10){let br=Qt;var Qt=[1,wr([0,We],function(Rn){_n(Rn);var ai=[2,cp(Rn)];return[0,br,ai,kr(0,[0,oi(Rn)],he)]},a)];continue}}if(Qt[0]===0){var qn=Qt[1];return[0,qn[1],[8,qn]]}var gr=Qt[1],wn=gr[1];return[0,wn,[9,[0,wn,gr[2]]]]}}function uce(a,u){return wr(0,function(p){var d=Vr(p);_n(p);var q=st(p);e:{if(typeof q!="number")switch(q[0]){case 0:var g=q[2],O=q[1],B=Vr(p),W=qi(p),Y=sn(Er[24],p,O,g),xe=[0,W,[0,[0,Y,g,kr([0,B],[0,oi(p)],he)]]];break e;case 1:var V=q[2],Z=q[1],se=Vr(p),ae=qi(p),ue=sn(Er[26],p,Z,V),xe=[0,ae,[1,[0,ue,V,kr([0,se],[0,oi(p)],he)]]];break e}var pe=qi(p);fu(yXe,p);var xe=[0,pe,qXe]}return[6,[0,u,xe,kr([0,d],[0,oi(p)],he)]]},a)}function D1(a,u){return wr(0,function(p){var d=Vr(p);_n(p);var q=K(Er[13],CXe,p);return[0,u,q,kr([0,d],[0,oi(p)],he)]},a)}function lce(a){return wr(0,function(u){var p=Vr(u);cr(u,12);var d=st(u);e:{t:if(typeof d=="number"){var q=d+ab|0;if(4>=q>>>0){switch(q){case 0:var g=[0,D1(u,0)];break;case 3:var g=[0,D1(u,2)];break;case 4:var g=[0,D1(u,1)];break;default:break t}var O=g;break e}}var O=0}return[0,O,kr([0,p],[0,oi(u)],he)]},a)}function cce(a,u){var p=a[0]===0?a[1]:a[1]-1|0,d=(u[0],u[1]);return d<=p?1:0}var TE=[],JQ=[],Tce=[],pce=[],_ce=[],pE=[],hce=[],fce=[],gV=[],dce=[];function _E(a){var u=Rx(a);if(u){var p=st(a);e:{if(typeof p=="number"){if(p===59){if(a[18]){var d=0;break e}}else if(p===66&&a[19]){var d=0;break e}}var d=1}var q=d}else var q=u;var g=st(a);e:{t:if(typeof g=="number"){if(23<=g){if(g===59){if(a[18])return[0,wr(0,function(V){V[10]&&Ys(V,Gx);var Z=Vr(V),se=qi(V);cr(V,59);var ae=qi(V);if(Ik(V))var ue=0,pe=0;else{var xe=bo(V,Hc),ye=st(V);r:{n:if(typeof ye=="number"){if(ye!==87){if(10<=ye)break n;switch(ye){case 0:case 2:case 3:case 4:case 6:break n}}var ge=0;break r}var ge=1}r:{if(!xe&&!ge){var Ne=0;break r}var Ne=[0,S1(V)]}var ue=xe,pe=Ne}var Fe=pe?0:oi(V),ze=O0(se,ae);return[38,[0,pe,kr([0,Z],[0,Fe],he),ue,ze]]},a)];break t}if(g!==99)break t}else if(g!==4&&22>g)break t;break e}if(!q)return J(TE[1],a)}e:{if(g===65&&zn(a)&&ko(1,a)===99){var O=TE[2],B=Tte;break e}var O=Tte,B=TE[2]}var W=rI(a,B);if(W)return W[1];var Y=rI(a,O);return Y?Y[1]:J(TE[1],a)}function S1(a){return H0(a,_E(a))}function xce(a){var u=a[2];switch(u[0]){case 24:var p=u[1],d=p[1][2][1];if(Re(d,yh)){if(!Re(d,Y2)&&!Re(p[2][2][1],z$))return 0}else if(!Re(p[2][2][1],d5))return 0;break;case 10:case 23:break;default:return 0}return 1}function mce(a){var u=qi(a),p=wr(0,XQ,a),d=p[2],q=p[1],g=st(a);e:{if(typeof g=="number"&&g===85){var B=jK(JQ[3],1,a,d,q);break e}var O=sn(JQ[1],a,d,q),B=sn(JQ[2],a,O[2],O[1])}var W=B[2];if(st(a)!==86)return W;_n(a);var Y=S1(G9(0,a));cr(a,87);var V=wr([0,u],S1,a),Z=V[2],se=V[1];return[0,[0,se,[8,[0,H0(a,W),Y,Z,0]]]]}function XQ(a){return K(Tce[1],a,0)}function kce(a){var u=st(a);if(typeof u=="number"){if(49<=u){if(lc<=u){if(Gx>u)switch(u+ti|0){case 0:return Kje;case 1:return Gje;case 6:return Vje;case 7:return jje}}else if(u===66&&a[19])return a[10]&&Ys(a,6),Jje}else if(46<=u)switch(u+u3|0){case 0:return Xje;case 1:return Zje;default:return eJe}}return 0}function yce(a){var u=qi(a),p=Vr(a),d=kce(a);if(d){var q=d[1];_n(a);var g=wr([0,u],qce,a),O=g[2],B=g[1];e:t:if(q===6){var W=O[2];switch(W[0]){case 10:Ed(a,[0,B,68]);break;case 23:W[1][2][0]===1&&_i(a,[0,B,62]);break;default:break t}break e}return[0,[0,B,[36,[0,q,O,kr([0,p],0,he)]]]]}var Y=st(a);e:{if(typeof Y=="number"){if(Gx===Y){var V=rJe;break e}if(JT===Y){var V=tJe;break e}}var V=0}if(V){var Z=V[1];_n(a);var se=wr([0,u],qce,a),ae=se[2],ue=se[1];1-xce(ae)&&_i(a,[0,ae[1],36]);var pe=ae[2];e:if(pe[0]===10&&d3(pe[1][2][1])){qc(a,73);break e}return[0,[0,ue,[37,[0,Z,ae,1,kr([0,p],0,he)]]]]}var xe=Cce(a);if(D_(a))return xe;var ye=st(a);e:{if(typeof ye=="number"){if(Gx===ye){var ge=iJe;break e}if(JT===ye){var ge=nJe;break e}}var ge=0}if(!ge)return xe;var Ne=ge[1],Fe=H0(a,xe);1-xce(Fe)&&_i(a,[0,Fe[1],36]);var ze=Fe[2];e:if(ze[0]===10&&d3(ze[1][2][1])){qc(a,72);break e}var ut=qi(a);_n(a);var it=oi(a),Tt=O0(Fe[1],ut);return[0,[0,Tt,[37,[0,Ne,Fe,0,kr(0,[0,it],he)]]]]}function qce(a){return H0(a,yce(a))}function Cce(a){var u=qi(a),p=1-a[17],d=0,q=a[17]===0?a:[0,a[1],a[2],a[3],a[4],a[5],a[6],a[7],a[8],a[9],a[10],a[11],a[12],a[13],a[14],a[15],a[16],d,a[18],a[19],a[20],a[21],a[22],a[23],a[24],a[25],a[26],a[27],a[28],a[29],a[30],a[31]],g=st(q);e:{t:if(typeof g=="number"){var O=g+lz|0;if(7>=O>>>0){switch(O){case 0:if(!p)break t;var B=[0,bce(q)];break;case 6:var B=[0,wr(0,function(V){var Z=Vr(V),se=qi(V);if(cr(V,51),bo(V,10)){var ae=rC(0,[0,se,RJe]),ue=qi(V);Od(V,uJe);var pe=rC(0,[0,ue,lJe]);return[24,[0,ae,pe,kr([0,Z],[0,oi(V)],he)]]}var xe=Vr(V);cr(V,4);var ye=Sxe([0,xe],0,S1(G9(0,V)));return cr(V,5),[11,[0,ye,kr([0,Z],[0,oi(V)],he)]]},q)];break;case 7:var B=[0,Ace(q)];break;default:break t}var W=B;break e}}var W=j9(q)?[0,Oce(q)]:vce(q)}return gm(0,0,q,u,W)}function bV(a){return H0(a,Cce(a))}function Ace(a){switch(a[22]){case 0:var u=0,p=0;break;case 1:var u=0,p=1;break;default:var u=1,p=1}var d=qi(a),q=Vr(a);cr(a,52);var g=[0,d,[30,[0,kr([0,q],[0,oi(a)],he)]]],O=st(a);if(typeof O=="number"&&11>O)switch(O){case 4:var B=u?g:(_i(a,[0,d,q0]),[0,d,[10,rC(0,[0,d,aJe])]]);return gce(0,a,d,B);case 6:case 10:var W=p?g:(_i(a,[0,d,99]),[0,d,[10,rC(0,[0,d,oJe])]]);return gce(0,a,d,W)}return p?fu(sJe,a):_i(a,[0,d,99]),g}function gm(a,u,p,d,q){var g=a?a[1]:1,O=u?u[1]:0,B=Ece([0,g],[0,O],p,d,q),W=cle(p);e:{if(W){var Y=W[1];if(typeof Y=="number"&&Y===84){var V=1;break e}}var V=0}function Z(pe){var xe=NR(pe)[2];return K(xe,H0(pe,B),function(ye,ge){return K(ki(ye,Tm,93),ye,ge)})}function se(pe,xe,ye){var ge=ZQ(xe),Ne=ge[1],Fe=ge[2],ze=O0(d,Ne),ut=[0,ye,pe,[0,Ne,Fe],0];e:{if(!V&&!O){var it=[6,ut];break e}var it=[27,[0,ut,ze,V]]}var Tt=O||V;return gm([0,g],[0,Tt],xe,d,[0,[0,ze,it]])}if(p[13])return B;var ae=st(p);if(typeof ae=="number"){var ue=ae-99|0;if(2>>0){if(ue===-95)return se(0,p,Z(p))}else if(ue!==1&&zn(p))return pv(eI(function(pe,xe){throw Pr(J9,1)},p),B,function(pe){var xe=Z(pe);return se(EV(pe),pe,xe)})}return B}function gce(a,u,p,d){var q=a?a[1]:1;return H0(u,gm([0,q],0,u,p,[0,d]))}function bce(a){return wr(0,function(u){var p=qi(u),d=Vr(u);if(cr(u,45),u[11]&&st(u)===10){var q=oi(u);_n(u);var g=rC(kr([0,d],[0,q],he),[0,p,cJe]),O=st(u);return typeof O!="number"&&O[0]===4&&!Re(O[3],z$)?[24,[0,g,K(Er[13],0,u),0]]:(fu(TJe,u),_n(u),[10,g])}var B=qi(u),W=st(u);e:{if(typeof W=="number"){if(W===45){var Y=bce(u);break e}if(W===52){var Y=Ace(ZB(1,u));break e}}var Y=j9(u)?Oce(u):H0(u,vce(u))}var V=ZB(1,u),Z=H0(V,Ece([0,pJe[1]],0,V,B,[0,Y])),se=st(u);e:{if(typeof se!="number"&&se[0]===3){var ae=$ce(u,B,Z,se[1]);break e}var ae=Z}e:{t:if(st(u)!==4){if(zn(u)&&st(u)===99)break t;var ue=ae;break e}var ue=K(NR(u)[2],ae,function(ge,Ne){return K(ki(ge,Tm,94),ge,Ne)})}var pe=zn(u)?pv(eI(function(ge,Ne){throw Pr(J9,1)},u),0,EV):0,xe=st(u);e:{if(typeof xe=="number"&&xe===4){var ye=[0,ZQ(u)];break e}var ye=0}return[25,[0,ue,pe,ye,kr([0,d],0,he)]]},a)}function EV(a){A0(a,1);var u=st(a)===99?[0,wr(0,pce[1],a)]:0;return Kn(a),u}function ZQ(a){return wr(0,function(u){var p=Vr(u);cr(u,4);var d=K(_ce[1],u,0),q=Vr(u);return cr(u,5),[0,d,E0([0,p],[0,oi(u)],q,he)]},a)}function Ece(a,u,p,d,q){var g=a?a[1]:1,O=u?u[1]:0,B=st(p);if(typeof B=="number")switch(B){case 6:return _n(p),vb(pE[1],[0,g],[0,O],0,p,d,q);case 10:return _n(p),vb(pE[2],[0,g],[0,O],0,p,d,q);case 84:1-g&&Ys(p,59),cr(p,84);var W=st(p);if(typeof W=="number")switch(W){case 4:return q;case 6:return _n(p),vb(pE[1],[0,g],hJe,_Je,p,d,q);case 99:if(zn(p))return q;break}else if(W[0]===3)return Ys(p,60),q;return vb(pE[2],[0,g],dJe,fJe,p,d,q)}else if(B[0]===3){var Y=B[1];return O&&Ys(p,60),gm(xJe,0,p,d,[0,$ce(p,d,H0(p,q),Y)])}return q}function Oce(a){return wr(0,function(u){var p=VQ(u),d=p[1],q=p[2],g=wr(0,function(ye){var ge=Vr(ye);cr(ye,15);var Ne=Z8(ye),Fe=Ne[1],ze=Nb([0,q,[0,ge,[0,Ne[2],0]]]);if(st(ye)===4)var ut=0,it=0;else{var Tt=st(ye);e:{if(typeof Tt=="number"&&Tt===99){var kt=0;break e}var Rt=ZG(Fe,ote(d,ye)),kt=[0,Vl(Rt,K(Er[13],mJe,Rt))]}var ut=vd(ye,Cc(ye)),it=kt}var ft=rE(0,ye),It=d||ft[19],dt=rA(It,Fe)(ft),Ot=st(ft)===87?dt:iI(ft,dt),At=mV(ft),wt=At[2],or=At[1];if(wt)var rr=lC(ft,wt),Jt=or;else var rr=wt,Jt=x3(ft,or);return[0,it,Ot,Fe,rr,Jt,ut,ze]},u),O=g[2],B=O[3],W=O[2],Y=O[1],V=O[7],Z=O[6],se=O[5],ae=O[4],ue=g[1],pe=lE(u,d,B,1,X9(W)),xe=pe[1];return tA(u,pe[2],Y,W),[9,[0,Y,W,xe,d,B,1,ae,se,Z,kr([0,V],0,he),ue]]},a)}function OV(a,u,p){switch(u){case 1:qc(a,76);try{var d=tQ(Q8(hi(kJe,p))),q=d}catch(se){var g=n0(se);if(g[1]!==n_)throw Pr(g,0);var q=Ln(hi(yJe,p))}break;case 2:qc(a,75);try{var O=BK(p),q=O}catch(se){var B=n0(se);if(B[1]!==n_)throw Pr(B,0);var q=Ln(hi(qJe,p))}break;case 4:try{var W=BK(p),q=W}catch(se){var Y=n0(se);if(Y[1]!==n_)throw Pr(Y,0);var q=Ln(hi(CJe,p))}break;default:try{var V=tQ(Q8(p)),q=V}catch(se){var Z=n0(se);if(Z[1]!==n_)throw Pr(Z,0);var q=Ln(hi(AJe,p))}}return cr(a,[0,u,p]),q}function vV(a,u,p){var d=ii(p);e:{if(d!==0&&SR===r0(p,d-1|0)){var q=qR(p,0,d-1|0);break e}var q=p}var g=WRe(q);return cr(a,[1,u,p]),g}function vce(a){var u=qi(a),p=Vr(a),d=st(a);if(typeof d=="number")switch(d){case 0:var q=J(Er[12],a);return[1,[0,q[1],[26,q[2]]],q[3]];case 4:var g=Vr(a),O=wr(0,function(Xe){cr(Xe,4);var Mt=qi(Xe),Gt=S1(Xe),Ze=st(Xe);e:{if(typeof Ze=="number"){if(Ze===9){var Xr=[0,pte(Xe,Mt,[0,Gt,0])];break e}if(Ze===87){var Xr=[1,[0,Gt,X8(Xe),0]];break e}}var Xr=[0,Gt]}return cr(Xe,5),Xr},a),B=O[2],W=O[1],Y=oi(a),V=B[0]===0?B[1]:[0,W,[34,B[1]]];return[0,Sxe([0,g],[0,Y],V)];case 6:var Z=wr(0,$xe,a),se=Z[2];return[1,[0,Z[1],[0,se[1]]],se[2]];case 21:if(a[28][3]&&!CT(1,a)&&ko(1,a)===4){var ae=Vr(a),ue=qi(a),pe=K(Er[13],0,a),xe=ZQ(a),ye=xe[2],ge=xe[1];if(!D_(a)&&st(a)===0){var Ne=ye[1];if(Ne){var Fe=Ne[1];if(Fe[0]===0&&!Ne[2])return[0,Dce(a,ue,ae,Fe[1])]}return _i(a,[0,ge,49]),[0,Dce(a,ue,ae,[0,ge,gJe])]}var ze=[0,pe[1],[10,pe]],ut=O0(ue,ge);return gm(EJe,bJe,a,ue,[0,[0,ut,[6,[0,ze,0,[0,ge,ye],kr([0,ae],0,he)]]]])}break;case 22:return _n(a),[0,[0,u,[33,[0,kr([0,p],[0,oi(a)],he)]]]];case 30:return _n(a),[0,[0,u,[16,kr([0,p],[0,oi(a)],he)]]];case 41:return[0,J(Er[22],a)];case 99:var it=J(Er[17],a),Tt=it[2],Rt=it[1],kt=jp<=Tt[1]?[13,Tt[2]]:[12,Tt[2]];return[0,[0,Rt,kt]];case 31:case 32:return _n(a),[0,[0,u,[15,[0,d===32?1:0,kr([0,p],[0,oi(a)],he)]]]];case 75:case 106:A0(a,5);var ft=qi(a),It=Vr(a),dt=st(a);e:{if(typeof dt!="number"&&dt[0]===5){var Ot=dt[3],At=dt[2];_n(a);var wt=oi(a),or=wt,rr=Ot,Jt=At,tr=hi(DJe,hi(At,hi(vJe,Ot)));break e}fu(SJe,a);var or=0,rr=$Je,Jt=QJe,tr=NJe}Kn(a);var mr=vs(ii(rr));CTt(function(Xe){var Mt=Xe+te|0;if(21>=Mt>>>0)switch(Mt){case 0:case 3:case 5:case 9:case 15:case 17:case 18:case 21:return kT(mr,Xe)}},rr);var Xt=m0(mr);return Re(Xt,rr)&&Ys(a,[19,rr]),[0,[0,ft,[19,[0,Jt,Xt,tr,kr([0,It],[0,or],he)]]]]}else switch(d[0]){case 0:var hr=d[2],Ge=OV(a,d[1],hr);return[0,[0,u,[17,[0,Ge,hr,kr([0,p],[0,oi(a)],he)]]]];case 1:var Cr=d[2],rt=vV(a,d[1],Cr);return[0,[0,u,[18,[0,rt,Cr,kr([0,p],[0,oi(a)],he)]]]];case 2:var yr=d[1],sr=yr[3],Ir=yr[2],Dr=yr[1];yr[4]&&qc(a,76),_n(a);var on=kr([0,p],[0,oi(a)],he),cn=a[28],Lr=cn[7],fn=cn[8];e:{if(Lr){var rn=Lr[1];if(PRe(rn,Ir)){var qr=[20,[0,Ir,Dr,ii(rn),0,sr,on]];break e}}if(fn){var vt=fn[1];if(PRe(vt,Ir)){var qr=[20,[0,Ir,Dr,ii(vt),1,sr,on]];break e}}var qr=[14,[0,Ir,sr,on]]}return[0,[0,Dr,qr]];case 3:var Pe=Sce(a,d[1]);return[0,[0,Pe[1],[32,Pe[2]]]];case 4:if(!Re(d[3],mz)&&ko(1,a)===41)return[0,J(Er[22],a)];break}if(Rx(a)){var Lt=K(Er[13],0,a);return[0,[0,Lt[1],[10,Lt]]]}fu(0,a);e:if(typeof d!="number"&&d[0]===7){_n(a);break e}return[0,[0,u,[16,kr([0,p],OJe,he)]]]}function Dce(a,u,p,d){function q(g){var O=Vr(g),B=J(Er[27],g),W=bo(g,16)?[0,J(Er[7],g)]:0;cr(g,87);var Y=S1(g),V=st(g);e:{t:if(typeof V=="number"){if(V!==1&&vo!==V)break t;break e}cr(g,9)}return[0,B,Y,W,kr([0,O],[0,oi(g)],he)]}return wr([0,u],function(g){cr(g,0);for(var O=0;;){var B=st(g);e:if(typeof B=="number"){if(B!==1&&vo!==B)break e;var W=xn(O);return cr(g,1),[22,[0,d,W,kr([0,p],[0,oi(g)],he)]]}var O=[0,wr(0,q,g),O]}},a)}function Sce(a,u){var p=u[5],d=u[1],q=u[3],g=u[2],O=Vr(a);cr(a,[3,u]);var B=[0,d,[0,[0,q,g],p]];if(p)var Y=0,V=[0,B,0],Z=d;else var W=sn(hce[1],a,[0,B,0],0),Y=W[3],V=W[2],Z=W[1];var se=oi(a),ae=O0(d,Z);return[0,ae,[0,V,Y,kr([0,O],[0,se],he)]]}function $ce(a,u,p,d){var q=K(NR(a)[2],p,function(O,B){return K(ki(O,Tm,3),O,B)}),g=Sce(a,d);return[0,O0(u,g[1]),[31,[0,q,g,0]]]}function Sxe(a,u,p){var d=a?a[1]:0,q=u?u[1]:0,g=p[2];function O(di){return up(di,kr([0,d],[0,q],he))}function B(di){return MG(di,kr([0,d],[0,q],he))}var W=p[1];switch(g[0]){case 0:var Y=g[1],V=B(Y[2]),tn=[0,[0,Y[1],V]];break;case 1:var Z=g[1],se=Z[11],ae=O(Z[10]),tn=[1,[0,Z[1],Z[2],Z[3],Z[4],Z[5],Z[6],Z[7],Z[8],Z[9],ae,se]];break;case 2:var ue=g[1],pe=O(ue[2]),tn=[2,[0,ue[1],pe]];break;case 3:var xe=g[1],ye=O(xe[3]),tn=[3,[0,xe[1],xe[2],ye]];break;case 4:var ge=g[1],Ne=O(ge[4]),tn=[4,[0,ge[1],ge[2],ge[3],Ne]];break;case 5:var Fe=g[1],ze=O(Fe[4]),tn=[5,[0,Fe[1],Fe[2],Fe[3],ze]];break;case 6:var ut=g[1],it=O(ut[4]),tn=[6,[0,ut[1],ut[2],ut[3],it]];break;case 7:var Tt=g[1],Rt=O(Tt[7]),tn=[7,[0,Tt[1],Tt[2],Tt[3],Tt[4],Tt[5],Tt[6],Rt]];break;case 8:var kt=g[1],ft=O(kt[4]),tn=[8,[0,kt[1],kt[2],kt[3],ft]];break;case 9:var It=g[1],dt=It[11],Ot=O(It[10]),tn=[9,[0,It[1],It[2],It[3],It[4],It[5],It[6],It[7],It[8],It[9],Ot,dt]];break;case 10:var At=g[1],wt=At[2],or=At[1],rr=O(wt[2]),tn=[10,[0,or,[0,wt[1],rr]]];break;case 11:var Jt=g[1],tr=O(Jt[2]),tn=[11,[0,Jt[1],tr]];break;case 12:var mr=g[1],Xt=O(mr[4]),tn=[12,[0,mr[1],mr[2],mr[3],Xt]];break;case 13:var hr=g[1],Ge=O(hr[4]),tn=[13,[0,hr[1],hr[2],hr[3],Ge]];break;case 14:var Cr=g[1],rt=O(Cr[3]),tn=[14,[0,Cr[1],Cr[2],rt]];break;case 15:var yr=g[1],sr=O(yr[2]),tn=[15,[0,yr[1],sr]];break;case 16:var tn=[16,O(g[1])];break;case 17:var Ir=g[1],Dr=O(Ir[3]),tn=[17,[0,Ir[1],Ir[2],Dr]];break;case 18:var on=g[1],cn=O(on[3]),tn=[18,[0,on[1],on[2],cn]];break;case 19:var Lr=g[1],fn=O(Lr[4]),tn=[19,[0,Lr[1],Lr[2],Lr[3],fn]];break;case 20:var rn=g[1],vt=O(rn[6]),tn=[20,[0,rn[1],rn[2],rn[3],rn[4],rn[5],vt]];break;case 21:var qr=g[1],Pe=O(qr[4]),tn=[21,[0,qr[1],qr[2],qr[3],Pe]];break;case 22:var Lt=g[1],Xe=O(Lt[3]),tn=[22,[0,Lt[1],Lt[2],Xe]];break;case 23:var Mt=g[1],Gt=O(Mt[3]),tn=[23,[0,Mt[1],Mt[2],Gt]];break;case 24:var Ze=g[1],Xr=O(Ze[3]),tn=[24,[0,Ze[1],Ze[2],Xr]];break;case 25:var qt=g[1],kn=O(qt[4]),tn=[25,[0,qt[1],qt[2],qt[3],kn]];break;case 26:var Ki=g[1],Qe=B(Ki[2]),tn=[26,[0,Ki[1],Qe]];break;case 27:var Vt=g[1],We=Vt[1],Qt=Vt[3],gn=Vt[2],qn=O(We[4]),tn=[27,[0,[0,We[1],We[2],We[3],qn],gn,Qt]];break;case 28:var gr=g[1],wn=gr[1],br=gr[3],jn=gr[2],Rn=O(wn[3]),tn=[28,[0,[0,wn[1],wn[2],Rn],jn,br]];break;case 29:var ai=g[1],mn=O(ai[2]),tn=[29,[0,ai[1],mn]];break;case 30:var tn=[30,[0,O(g[1][1])]];break;case 31:var Jn=g[1],Oi=O(Jn[3]),tn=[31,[0,Jn[1],Jn[2],Oi]];break;case 32:var Cn=g[1],Fi=O(Cn[3]),tn=[32,[0,Cn[1],Cn[2],Fi]];break;case 33:var tn=[33,[0,O(g[1][1])]];break;case 34:var Ri=g[1],Da=O(Ri[3]),tn=[34,[0,Ri[1],Ri[2],Da]];break;case 35:var Ha=g[1],Fs=O(Ha[3]),tn=[35,[0,Ha[1],Ha[2],Fs]];break;case 36:var Ks=g[1],Yo=O(Ks[3]),tn=[36,[0,Ks[1],Ks[2],Yo]];break;case 37:var ra=g[1],we=O(ra[4]),tn=[37,[0,ra[1],ra[2],ra[3],we]];break;default:var Ft=g[1],Oe=Ft[4],yt=Ft[3],yn=O(Ft[2]),tn=[38,[0,Ft[1],yn,yt,Oe]]}return[0,W,tn]}function $xe(a){var u=Vr(a);cr(a,6);var p=K(fce[1],a,[0,0,i_]),d=p[2],q=p[1],g=Vr(a);return cr(a,7),[0,[0,q,E0([0,u],[0,oi(a)],g,he)],d]}function Tte(a){var u=eI(gV[1],a),p=qi(u);if(ko(1,u)===11)var q=0,g=0;else var d=VQ(u),q=d[2],g=d[1];var O=g||u[19],B=ote(O,u),W=B[18],Y=wr(0,function(wt){var or=vd(wt,Cc(wt));if(Rx(wt)&&or===0){var rr=K(Er[13],wJe,wt),Jt=rr[1],tr=[0,Jt,[0,[0,Jt,[2,[0,rr,[0,V9(wt)],0]]],0]];return[0,or,[0,Jt,[0,0,[0,tr,0],0,0]],[0,[0,Jt[1],Jt[3],Jt[3]]],0]}var mr=rA(O,W)(wt);Zle(wt,mr);var Xt=mV(iE(1,wt));return[0,or,mr,Xt[1],Xt[2]]},B),V=Y[2],Z=V[2],se=Z[2];e:{t:{var ae=V[4],ue=V[3],pe=V[1],xe=Y[1];if(!se[1]){var ye=se[2];if(!se[3]&&ye)break t;var ge=Tle(B);break e}}var ge=B}var Ne=Z[2],Fe=Ne[1];if(Fe){var ze=Z[1];_i(ge,[0,Fe[1][1],86]);var ut=[0,ze,[0,0,Ne[2],Ne[3],Ne[4]]]}else var ut=Z;var it=X9(ut),Tt=D_(ge),Rt=Tt&&(st(ge)===11?1:0);Rt&&Ys(ge,55),cr(ge,11);var kt=BQ(Tle(ge),g,0,it),ft=wr(0,gV[2],kt),It=ft[2],dt=It[1],Ot=ft[1];tA(kt,It[2],0,ut);var At=O0(p,Ot);return[0,[0,At,[1,[0,0,ut,dt,g,0,1,ae,ue,pe,kr([0,q],0,he),xe]]]]}function pte(a,u,p){return wr([0,u],J(dce[1],p),a)}function Qxe(a){var u=qi(a),p=mce(a),d=st(a);e:{if(typeof d=="number"){var q=d-68|0;if(15>=q>>>0){switch(q){case 0:var g=Sje;break;case 1:var g=$je;break;case 2:var g=Qje;break;case 3:var g=Nje;break;case 4:var g=wje;break;case 5:var g=Pje;break;case 6:var g=Bje;break;case 7:var g=Ije;break;case 8:var g=Mje;break;case 9:var g=Wje;break;case 10:var g=Uje;break;case 11:var g=Fje;break;case 12:var g=Lje;break;case 13:var g=zje;break;case 14:var g=Hje;break;default:var g=Yje}var O=g;break e}}var O=0}if(O!==0&&_n(a),!O)return p;var B=O[1];return[0,wr([0,u],function(W){var Y=CV(0,W,p);return[4,[0,B,Y,S1(W),0]]},a)]}function Qce(a,u){if(typeof u=="number"&&u===80)return 0;throw Pr(J9,1)}ns(TE,[0,Qxe,function(a){var u=eI(Qce,a),p=Qxe(u),d=st(u);if(typeof d=="number"){if(d===11)throw Pr(J9,1);if(d===87){var q=cle(u);e:{if(q){var g=q[1];if(typeof g=="number"&&g===5){var O=1;break e}}var O=0}if(O)throw Pr(J9,1)}}if(!Rx(u))return p;if(p[0]===0){var B=p[1][2];if(B[0]===10&&!Re(B[1][2][1],Lx)&&!D_(u))throw Pr(J9,1)}return p}]);function DV(a,u,p,d,q){var g=H0(a,u);return[0,[0,q,[21,[0,d,g,H0(a,p),0]]]]}function _te(a,u,p){for(var d=u,q=p;;){var g=st(a);if(typeof g=="number"&&g===89){_n(a);var O=wr(0,XQ,a),B=O[2],W=O0(q,O[1]),Y=SV(0,a,DV(a,d,B,1,W),W),d=Y[2],q=Y[1];continue}return[0,q,d]}}function hte(a,u,p){for(var d=u,q=p;;){var g=st(a);if(typeof g=="number"&&g===88){_n(a);var O=wr(0,XQ,a),B=_te(a,O[2],O[1]),W=B[2],Y=O0(q,B[1]),V=SV(0,a,DV(a,d,W,0,Y),Y),d=V[2],q=V[1];continue}return[0,q,d]}}function SV(a,u,p,d){for(var q=a,g=p,O=d;;){var B=st(u);if(typeof B=="number"&&B===85){1-q&&Ys(u,uXe),cr(u,85);var W=wr(0,XQ,u),Y=W[2],V=W[1],Z=st(u);e:{if(typeof Z=="number"&&1>=Z+Sy>>>0){Ys(u,[22,HB(Z)]);var se=_te(u,Y,V),ae=hte(u,se[2],se[1]),ue=ae[2],pe=ae[1];break e}var ue=Y,pe=V}var xe=O0(O,pe),q=1,g=DV(u,g,ue,2,xe),O=xe;continue}return[0,O,g]}}ns(JQ,[0,_te,hte,SV]);function Nce(a,u,p,d){return[0,d,[5,[0,p,a,u,0]]]}ns(Tce,[0,function(a,u){for(var p=u;;){var d=wr(0,function(rt){var yr=kce(rt)!==0?1:0;return[0,yr,yce(G9(0,rt))]},a),q=d[2],g=q[2],O=q[1],B=d[1];e:if(st(a)===99&&g[0]===0&&g[1][2][0]===12){Ys(a,2);break e}let Cr=B;var W=function(rt,yr){for(var sr=rt,Ir=yr;;){var Dr=st(a);e:if(typeof Dr!="number"&&Dr[0]===4){var on=Dr[3];if(Re(on,Hx)&&Re(on,Poe))break e;if(zn(a)){_n(a);var cn=H0(a,Ir);t:{if(sr){var Lr=sr[1],fn=Lr[2],rn=sr[2],vt=Lr[3],qr=fn[1],Pe=Lr[1];if(cce(fn[2],WJe)){var Lt=Nce(Pe,cn,qr,O0(vt,Cr)),Xe=rn;break t}}var Lt=cn,Xe=sr}var Mt=Lt[1];if(Qa(on,Poe))var Gt=R2(a),Ze=Gt[1],Ki=[0,[0,O0(Mt,Ze),[35,[0,Lt,[0,Ze,Gt],0]]]];else if(st(a)===28){var Xr=O0(Mt,qi(a));_n(a);var Ki=[0,[0,Xr,[2,[0,Lt,0]]]]}else var qt=R2(a),kn=qt[1],Ki=[0,[0,O0(Mt,kn),[3,[0,Lt,[0,kn,qt],0]]]];var sr=Xe,Ir=Ki;continue}}return[0,sr,Ir]}}(p,g),Y=W[2],V=W[1],Z=st(a);e:{t:if(typeof Z=="number"){var se=Z-17|0;if(1>>0){if(73>se)break t;switch(se-73|0){case 0:var ae=UJe;break;case 1:var ae=FJe;break;case 2:var ae=LJe;break;case 3:var ae=zJe;break;case 4:var ae=HJe;break;case 5:var ae=YJe;break;case 6:var ae=KJe;break;case 7:var ae=GJe;break;case 8:var ae=VJe;break;case 9:var ae=jJe;break;case 10:var ae=JJe;break;case 11:var ae=XJe;break;case 12:var ae=ZJe;break;case 13:var ae=eXe;break;case 14:var ae=tXe;break;case 15:var ae=rXe;break;case 16:var ae=nXe;break;case 17:var ae=iXe;break;case 18:var ae=aXe;break;case 19:var ae=sXe;break;default:break t}var ue=ae}else var ue=se?oXe:a[12]?0:RXe;var pe=ue;break e}var pe=0}if(pe!==0&&_n(a),!V&&!pe)return Y;if(pe){var xe=pe[1],ye=xe[1],ge=xe[2],Ne=O&&(ye===14?1:0);Ne&&_i(a,[0,B,37]);e:for(var Fe=H0(a,Y),ze=[0,ye,ge],ut=B,it=V;;){var Tt=ze[2],Rt=ze[1];if(!it)break e;var kt=it[1],ft=kt[2],It=it[2],dt=kt[3],Ot=ft[1],At=kt[1];if(!cce(ft[2],Tt))break;var wt=O0(dt,ut),Fe=Nce(At,Fe,Ot,wt),ze=[0,Rt,Tt],ut=wt,it=It}var p=[0,[0,Fe,[0,Rt,Tt],ut],it]}else for(var or=H0(a,Y),rr=B,Jt=V;;){if(!Jt)return[0,or];var tr=Jt[1],mr=Jt[2],Xt=tr[2][1],hr=tr[1],Ge=O0(tr[3],rr),or=Nce(hr,or,Xt,Ge),rr=Ge,Jt=mr}}}]),ns(pce,[0,function(a){var u=Vr(a);cr(a,99);for(var p=0;;){var d=st(a);e:if(typeof d=="number"){if(q0!==d&&vo!==d)break e;var q=xn(p),g=Vr(a);cr(a,q0);var O=st(a)===4?NR(a)[1]:oi(a);return[0,q,E0([0,u],[0,O],g,he)]}var B=st(a);e:{if(typeof B!="number"&&B[0]===4&&!Re(B[2],TT)){var W=qi(a),Y=Vr(a);Od(a,MJe);var V=[1,[0,W,[0,kr([0,Y],[0,oi(a)],he)]]];break e}var V=[0,R2(a)]}var Z=[0,V,p];q0!==st(a)&&cr(a,9);var p=Z}}]);function u1t(a){var u=Vr(a);cr(a,12);var p=S1(a);return[0,p,kr([0,u],0,he)]}ns(_ce,[0,function(a,u){for(var p=u;;){var d=st(a);e:if(typeof d=="number"){if(d!==5&&vo!==d)break e;return xn(p)}var q=st(a);e:{if(typeof q=="number"&&q===12){var g=[1,wr(0,u1t,a)];break e}var g=[0,S1(a)]}var O=[0,g,p];st(a)!==5&&cr(a,9);var p=O}}]),ns(pE,[0,function(a,u,p,d,q,g){var O=a?a[1]:1,B=u?u[1]:0,W=p?p[1]:0,Y=ZB(0,d),V=J(Er[7],Y),Z=qi(d);cr(d,7);var se=oi(d),ae=O0(q,Z),ue=kr(0,[0,se],he),pe=[0,H0(d,g),[2,V],ue],xe=B?[28,[0,pe,ae,W]]:[23,pe];return gm([0,O],[0,B],d,q,[0,[0,ae,xe]])},function(a,u,p,d,q,g){var O=a?a[1]:1,B=u?u[1]:0,W=p?p[1]:0,Y=st(d);e:{if(typeof Y=="number"&&Y===14){var V=fv(d),Z=V[1],se=d[30][1],ae=V[2][1];if(se){var ue=se[1];d[30][1]=[0,[0,ue[1],[0,[0,ae,Z],ue[2]]],se[2]]}else _i(d,[0,Z,63]);var xe=[1,V],ye=Z;break e}var pe=cp(d),xe=[0,pe],ye=pe[1]}var ge=O0(q,ye);e:if(g[0]===0&&g[1][2][0]===30&&xe[0]===1){_i(d,[0,ge,82]);break e}var Ne=[0,H0(d,g),xe,0],Fe=B?[28,[0,Ne,ge,W]]:[23,Ne];return gm([0,O],[0,B],d,q,[0,[0,ge,Fe]])}]),ns(hce,[0,function(a,u,p){for(var d=u,q=p;;){var g=J(Er[7],a),O=[0,g,q],B=st(a);if(typeof B=="number"&&B===1){A0(a,4);var W=st(a);if(typeof W!="number"&&W[0]===3){var Y=W[1],V=Y[5],Z=Y[1],se=Y[3],ae=Y[2];_n(a),Kn(a);var ue=[0,[0,Z,[0,[0,se,ae],V]],d];if(V){var pe=xn(O);return[0,Z,xn(ue),pe]}var d=ue,q=O;continue}throw Pr([0,Wa,PJe],1)}fu(BJe,a);var xe=[0,g[1],IJe],ye=xn(O),ge=xn([0,xe,d]);return[0,g[1],ge,ye]}}]),ns(fce,[0,function(a,u){for(var p=u;;){var d=p[2],q=p[1],g=st(a);e:if(typeof g=="number"){if(13<=g){if(vo!==g)break e}else{if(7>g)break e;switch(g-7|0){case 0:break;case 2:var O=qi(a);_n(a);var p=[0,[0,[2,O],q],d];continue;case 5:var B=Vr(a),W=wr(0,function(ut){_n(ut);var it=_E(ut);return it[0]===0?[0,it[1],i_]:[0,it[1],it[2]]},a),Y=W[2],V=Y[2],Z=W[1],se=Y[1],ae=[1,[0,Z,[0,se,kr([0,B],0,he)]]],ue=st(a)===7?1:0;t:{if(!ue&&ko(1,a)===7){var pe=[0,V[1],[0,[0,Z,16],V[2]]];break t}var pe=V}1-ue&&cr(a,9);var p=[0,[0,ae,q],AV(pe,d)];continue;default:break e}}var xe=oce(d);return[0,xn(q),xe]}var ye=_E(a);if(ye[0]===0)var ge=i_,Ne=ye[1];else var ge=ye[2],Ne=ye[1];st(a)!==7&&cr(a,9);var p=[0,[0,[0,Ne],q],AV(ge,d)]}}]),ns(gV,[0,function(a){return function(u){e:if(typeof u=="number"){if(61<=u){var p=u-62|0;if(49>=p>>>0){var d=p-15|0;if(9>>0)break e;switch(d){case 0:case 1:case 3:case 9:break;default:break e}}}else if(7<=u){if(u!==55)break e}else if(5>u)break e;return 0}throw Pr(J9,1)}},function(a){var u=st(a);if(typeof u=="number"&&!u){var p=K(Er[16],1,a);return[0,[0,p[1]],p[2]]}return[0,[1,J(Er[10],a)],0]}]),ns(dce,[0,function(a,u){for(var p=a;;){var d=st(u);if(typeof d=="number"&&d===9){_n(u);var p=[0,S1(u),p];continue}return[29,[0,xn(p),0]]}}]);function wce(a){var u=Vr(a);_n(a);var p=kr([0,u],0,he),d=bV(a),q=D_(a)?Ol(a):_v(a);return[0,K(q[2],d,function(g,O){return K(ki(g,Tm,95),g,O)}),p]}function m3(a){if(!a[28][4])return 0;for(var u=0;;){var p=st(a);if(typeof p=="number"&&p===13){var u=[0,wr(0,wce,a),u];continue}return xn(u)}}function nA(a,u){var p=a?a[1]:0,d=Vr(u),q=st(u);if(typeof q=="number")switch(q){case 6:var g=wr(0,function(wt){var or=Vr(wt);cr(wt,6);var rr=G9(0,wt),Jt=J(Er[10],rr);return cr(wt,7),[0,Jt,kr([0,or],[0,oi(wt)],he)]},u),O=g[1];return[0,O,[5,[0,O,g[2]]]];case 14:if(!p){var B=wr(0,function(wt){return _n(wt),[3,cp(wt)]},u),W=B[1],Y=B[2];return _i(u,[0,W,63]),[0,W,Y]}var V=fv(u),Z=u[30][1],se=V[2][1],ae=V[1];if(Z){var ue=Z[1],pe=Z[2],xe=ue[2],ye=[0,[0,v1[4].call(null,se,ue[1]),xe],pe];u[30][1]=ye}else Ln(GYe);return[0,ae,[4,V]]}else switch(q[0]){case 0:var ge=q[2],Ne=q[1],Fe=qi(u),ze=OV(u,Ne,ge);return[0,Fe,[1,[0,Fe,[0,ze,ge,kr([0,d],[0,oi(u)],he)]]]];case 1:var ut=q[2],it=q[1],Tt=qi(u),Rt=vV(u,it,ut);return[0,Tt,[2,[0,Tt,[0,Rt,ut,kr([0,d],[0,oi(u)],he)]]]];case 2:var kt=q[1],ft=kt[4],It=kt[3],dt=kt[2],Ot=kt[1];return ft&&qc(u,76),cr(u,[2,[0,Ot,dt,It,ft]]),[0,Ot,[0,[0,Ot,[0,dt,It,kr([0,d],[0,oi(u)],he)]]]]}var At=cp(u);return[0,At[1],[3,At]]}function $V(a,u,p){var d=0,q=Z8(a),g=q[1],O=q[2],B=nA([0,u],a),W=B[1],Y=cC(a,B[2]);return[0,Y,wr(0,function(V){var Z=rE(1,V),se=wr(0,function(Fe){var ze=rA(0,0)(Fe),ut=0,it=st(Fe)===87?ze:iI(Fe,ze);e:if(p){var Tt=it[2];t:{if(!Tt[1]){if(!Tt[2]&&!Tt[3])break t;_i(Fe,[0,W,23]);break e}_i(Fe,[0,W,24])}}else{var Rt=it[2];t:if(Rt[1])_i(Fe,[0,W,66]);else{var kt=Rt[2];if(kt&&!kt[2]&&!Rt[3])break t;Rt[3]?_i(Fe,[0,W,65]):_i(Fe,[0,W,65])}}return[0,ut,it,x3(Fe,xV(Fe))]},Z),ae=se[2],ue=ae[2],pe=ae[3],xe=ae[1],ye=se[1],ge=lE(Z,d,g,0,X9(ue)),Ne=ge[1];return tA(Z,ge[2],0,ue),[0,0,ue,Ne,d,g,1,0,pe,xe,kr([0,O],0,he),ye]},a)]}function Pce(a){var u=_E(a);return u[0]===0?[0,u[1],i_]:[0,u[1],u[2]]}function Bce(a,u){switch(u[0]){case 0:var p=u[1],d=p[1],q=p[2];return _i(a,[0,d,47]),[0,d,[14,q]];case 1:var g=u[1],O=g[1],B=g[2];return _i(a,[0,O,47]),[0,O,[17,B]];case 2:var W=u[1],Y=W[1],V=W[2];return _i(a,[0,Y,47]),[0,Y,[18,V]];case 3:var Z=u[1],se=Z[2][1],ae=Z[1];return tI(se)?_i(a,[0,ae,95]):oC(se)&&Ed(a,[0,ae,80]),[0,ae,[10,Z]];case 4:return Ln(IXe);default:var ue=u[1][2][1];return _i(a,[0,ue[1],7]),ue}}function Ice(a,u,p){function d(g){var O=rE(1,g),B=wr(0,function(pe){var xe=vd(pe,Cc(pe)),ye=rA(a,u)(pe),ge=st(pe)===87?ye:iI(pe,ye);return[0,xe,ge,x3(pe,xV(pe))]},O),W=B[2],Y=W[2],V=W[3],Z=W[1],se=B[1],ae=lE(O,a,u,0,X9(Y)),ue=ae[1];return tA(O,ae[2],0,Y),[0,0,Y,ue,a,u,1,0,V,Z,kr([0,p],0,he),se]}var q=0;return function(g){return wr(q,d,g)}}function fte(a){return cr(a,87),Pce(a)}function Mce(a,u,p,d,q,g){var O=wr([0,u],function(W){if(!d&&!q){var Y=st(W);e:if(typeof Y=="number"){if(87<=Y){if(Y!==99){if(88<=Y)break e;var V=fte(W);return[0,[0,p,V[1],0],V[2]]}}else{if(Y===83){if(p[0]===3)var Z=p[1],se=qi(W),ae=wr([0,Z[1]],function(ye){var ge=Vr(ye);cr(ye,83);var Ne=oi(ye),Fe=K(Er[19],ye,[0,Z[1],[10,Z]]),ze=J(Er[10],ye);return[4,[0,0,Fe,ze,kr([0,ge],[0,Ne],he)]]},W),ue=[0,ae,[0,[0,[0,se,[26,YB(BXe)]],0],0]];else var ue=fte(W);return[0,[0,p,ue[1],1],ue[2]]}if(10<=Y)break e;switch(Y){case 4:break;case 1:case 9:return[0,[0,p,Bce(W,p),1],i_];default:break e}}var pe=cC(W,p);return[0,[1,pe,Ice(d,q,g)(W)],i_]}return[0,[0,p,Bce(W,p),1],i_]}var xe=cC(W,p);return[0,[1,xe,Ice(d,q,g)(W)],i_]},a),B=O[2];return[0,[0,[0,O[1],B[1]]],B[2]]}function dte(a){if(st(a)===12){var u=Vr(a),p=wr(0,function(or){return cr(or,12),Pce(or)},a),d=p[2],q=d[2],g=d[1],O=p[1];return[0,[1,[0,O,[0,g,kr([0,u],0,he)]]],q]}var B=qi(a),W=ko(1,a);e:{t:if(typeof W=="number"){if(87<=W){if(W!==99&&88<=W)break t}else if(W!==83){if(10<=W)break t;switch(W){case 1:case 4:case 9:break;default:break t}}var V=0,Z=0;break e}var Y=VQ(a),V=Y[2],Z=Y[1]}var se=Z8(a),ae=se[1],ue=pi(V,se[2]),pe=st(a);if(!Z&&!ae&&typeof pe!="number"&&pe[0]===4){var xe=pe[3];if(!Re(xe,wx)){var ye=Vr(a),ge=nA(0,a)[2],Ne=st(a);e:if(typeof Ne=="number"){if(87<=Ne){if(Ne!==99&&88<=Ne)break e}else if(Ne!==83){if(10<=Ne)break e;switch(Ne){case 1:case 4:case 9:break;default:break e}}return Mce(a,B,ge,0,0,0)}cC(a,ge);var Fe=wr([0,B],function(or){return $V(or,0,1)},a),ze=Fe[2],ut=ze[2],it=ze[1],Tt=Fe[1];return[0,[0,[0,Tt,[2,it,ut,kr([0,ye],0,he)]]],i_]}if(!Re(xe,YO)){var Rt=Vr(a),kt=nA(0,a)[2],ft=st(a);e:if(typeof ft=="number"){if(87<=ft){if(ft!==99&&88<=ft)break e}else if(ft!==83){if(10<=ft)break e;switch(ft){case 1:case 4:case 9:break;default:break e}}return Mce(a,B,kt,0,0,0)}cC(a,kt);var It=wr([0,B],function(or){return $V(or,0,0)},a),dt=It[2],Ot=dt[2],At=dt[1],wt=It[1];return[0,[0,[0,wt,[3,At,Ot,kr([0,Rt],0,he)]]],i_]}}return Mce(a,B,nA(0,a)[2],Z,ae,ue)}function QV(a,u,p,d){var q=p[2][1],g=p[1];if(Qa(q,ht))return _i(a,[0,g,[15,q,0,q0e===d?1:0,1]]),u;e:{t:{r:{for(var O=u;;){if(typeof O=="number")break t;if(O[0]===0)break r;var B=dn(q,O[2]),W=O[5],Y=O[4],V=O[3];if(B===0)break;var Z=0<=B?W:Y,O=Z}var ae=[0,V];break e}var se=O[2];if(dn(q,O[1])===0){var ae=[0,se];break e}var ae=0;break e}var ae=0}if(!ae)return UQ(q,d,u);var ue=ae[1];e:{t:if(typeof d=="number"){if(Bz===d){if(typeof ue!="number"||JY!==ue)break t}else if(JY!==d||typeof ue!="number"||Bz!==ue)break t;break e}_i(a,[0,g,[1,q]])}return UQ(q,qee,u)}function xte(a,u){return wr(0,function(p){var d=u?Vr(p):0;cr(p,53);for(var q=0;;){var g=[0,wr(0,function(W){var Y=Dd(W),V=st(W)===99?K(NR(W)[2],Y,function(Z,se){return K(ki(Z,x9,96),Z,se)}):Y;return[0,V,Jle(W)]},p),q],O=st(p);if(typeof O=="number"&&O===9){cr(p,9);var q=g;continue}var B=xn(g);return[0,B,kr([0,d],0,he)]}},a)}function NV(a){switch(a[0]){case 0:case 3:var u=a[1];return[0,[0,u[1],u[2][1]]];default:return 0}}function wV(a,u){if(u)return _i(a,[0,u[1][1],Hc])}function mte(a,u){if(u)return _i(a,[0,u[1],12])}function kte(a,u,p,d,q,g,O,B){var W=wr([0,u],function(pe){var xe=dV(pe),ye=st(pe);e:if(g){if(typeof ye=="number"&&ye===83){Ys(pe,13),_n(pe);var ge=0;break e}var ge=0}else{if(typeof ye=="number"&&ye===83){_n(pe);var Ne=rE(1,pe),ge=[0,J(Er[7],Ne)];break e}var ge=1}var Fe=st(pe);e:{if(typeof Fe=="number"&&9>Fe)switch(Fe){case 8:_n(pe);var ze=st(pe);t:{r:if(typeof ze=="number"){if(ze!==1&&vo!==ze)break r;var ut=oi(pe);break t}var ut=D_(pe)?ux(pe):0}var It=[0,d,xe,ge,ut];break e;case 4:case 6:fu(0,pe);var It=[0,d,xe,ge,0];break e}var it=st(pe);t:{r:if(typeof it=="number"){if(it!==1&&vo!==it)break r;var Tt=[0,,function(or,rr){return or}];break t}var Tt=D_(pe)?Ol(pe):_v(pe)}if(typeof ge=="number")if(xe[0]===0)var Rt=ge,kt=xe,ft=K(Tt[2],d,function(wt,or){return K(ki(wt,Moe,99),wt,or)});else var Rt=ge,kt=[1,K(Tt[2],xe[1],function(wt,or){return K(ki(wt,yz,q0),wt,or)})],ft=d;else var Rt=[0,K(Tt[2],ge[1],function(wt,or){return K(ki(wt,Tm,Qn),wt,or)})],kt=xe,ft=d;var It=[0,ft,kt,Rt,0]}var dt=It[3],Ot=It[2],At=It[1];return[0,At,Ot,dt,kr([0,B],[0,It[4]],he)]},a),Y=W[2],V=Y[4],Z=Y[3],se=Y[2],ae=Y[1],ue=W[1];return ae[0]===4?[2,[0,ue,[0,ae[1],Z,se,q,O,p,V]]]:[1,[0,ue,[0,ae,Z,se,q,O,p,V]]]}function PV(a,u,p,d,q,g,O,B,W,Y){for(;;){var V=st(a);e:if(typeof V=="number"){var Z=V-1|0;if(7>>0){var se=Z-82|0;if(4>>0)break e;switch(se){case 3:fu(0,a),_n(a);continue;case 0:case 4:break;default:break e}}else if(5>=Z-1>>>0)break e;if(!q&&!g)return kte(a,u,p,d,O,B,W,Y)}var ae=st(a);e:{if(typeof ae=="number"&&(ae===4||ae===99)){var ue=0;break e}var ue=Ik(a)?1:0}if(ue)return kte(a,u,p,d,O,B,W,Y);mte(a,B),wV(a,W);var pe=NV(d);e:{if(O){if(pe){var xe=pe[1],ye=xe[1];if(!Re(xe[2],a3)){_i(a,[0,ye,[15,DXe,O,1,0]]);var Fe=rE(1,a),ze=1;break e}}}else if(pe){var ge=pe[1],Ne=ge[1];if(!Re(ge[2],ht)){q&&_i(a,[0,Ne,9]),g&&_i(a,[0,Ne,10]);var Fe=rE(2,a),ze=0;break e}}var Fe=rE(1,a),ze=1}var ut=cC(Fe,d),it=wr(0,function(Rt){var kt=wr(0,function(rr){var Jt=vd(rr,Cc(rr)),tr=rA(q,g)(rr),mr=st(rr)===87?tr:iI(rr,tr),Xt=mr[2],hr=Xt[1];e:{if(hr){var Ge=hr[1][1],Cr=mr[1];if(ze===0){_i(rr,[0,Ge,87]);var rt=[0,Cr,[0,0,Xt[2],Xt[3],Xt[4]]];break e}}var rt=mr}return[0,Jt,rt,x3(rr,xV(rr))]},Rt),ft=kt[2],It=ft[2],dt=ft[3],Ot=ft[1],At=kt[1],wt=lE(Rt,q,g,0,X9(It)),or=wt[1];return tA(Rt,wt[2],0,It),[0,0,It,or,q,g,1,0,dt,Ot,0,At]},Fe),Tt=[0,ze,ut,it,O,p,kr([0,Y],0,he)];return[0,[0,O0(u,it[1]),Tt]]}}function Wce(a,u){var p=ko(a,u);e:if(typeof p=="number"){if(87<=p){if(p!==99&&88<=p)break e}else if(p!==83){if(9<=p)break e;switch(p){case 1:case 4:case 8:break;default:break e}}return 1}return 0}var l1t=0;function c1t(a,u,p,d){var q=qi(a),g=st(a);e:{if(typeof g=="number")switch(g){case 104:var O=Vr(a);_n(a);var Y=[0,[0,q,[0,0,kr([0,O],0,he)]]];break e;case 105:var B=Vr(a);_n(a);var Y=[0,[0,q,[0,1,kr([0,B],0,he)]]];break e}else if(g[0]===4&&!Re(g[3],ib)&&u){var W=Vr(a);_n(a);var Y=[0,[0,q,[0,2,kr([0,W],0,he)]]];break e}var Y=0}e:if(Y){var V=Y[1][1];if(!p&&!d)break e;return _i(a,[0,V,Hc]),0}return Y}var Nxe=0;function wxe(a){return Wce(Nxe,a)}function Pxe(a){var u=qi(a),p=m3(a),d=st(a);e:{if(typeof d=="number"&&d===61&&!Wce(1,a)){var q=[0,qi(a)],g=Vr(a);_n(a);var O=g,B=q;break e}var O=0,B=0}var W=st(a);e:if(typeof W=="number"&&2>=W+BF>>>0&&RC(1,a)){t:{if(typeof W=="number"){var Y=W+BF|0;if(2>=Y>>>0){switch(Y){case 0:var V=ac;break;case 1:var V=lb;break;default:var V=h5}var Z=V;break t}}var Z=Ln(SXe)}Ys(a,[24,Z]),_n(a);break e}var se=st(a)===43?1:0;if(se){var ae=ko(1,a);e:{t:if(typeof ae=="number"){if(88<=ae){if(ae!==99&&vo!==ae)break t}else{var ue=ae-9|0;if(77>>0){if(78>ue)switch(ue+9|0){case 1:case 4:case 8:break;default:break t}}else if(ue!==74)break t}var pe=0;break e}var pe=1}var xe=pe}else var xe=se;if(xe){var ye=Vr(a);_n(a);var ge=ye}else var ge=0;var Ne=st(a)===65?1:0;if(Ne)var Fe=1-Wce(1,a),ze=Fe&&1-CT(1,a);else var ze=Ne;if(ze){var ut=Vr(a);_n(a);var it=ut}else var it=0;var Tt=Z8(a),Rt=Tt[1],kt=Tt[2],ft=RC(1,a),It=ft||(ko(1,a)===6?1:0),dt=c1t(a,It,ze,Rt);e:{if(!Rt&&dt){var Ot=Z8(a),At=Ot[2],wt=Ot[1];break e}var At=kt,wt=Rt}var or=Nb([0,O,[0,ge,[0,it,[0,At,0]]]]),rr=st(a);if(!ze&&!wt&&typeof rr!="number"&&rr[0]===4){var Jt=rr[3];if(!Re(Jt,wx)){var tr=Vr(a),mr=nA(QXe,a)[2];if(wxe(a))return PV(a,u,p,mr,ze,wt,xe,B,dt,or);mte(a,B),wV(a,dt),cC(a,mr);var Xt=pi(or,tr),hr=wr([0,u],function(kn){return $V(kn,1,1)},a),Ge=hr[2],Cr=Ge[1],rt=Ge[2],yr=hr[1],sr=NV(Cr);e:if(xe){if(sr){var Ir=sr[1],Dr=Ir[1];if(!Re(Ir[2],a3)){_i(a,[0,Dr,[15,PXe,xe,0,0]]);break e}}}else if(sr){var on=sr[1],cn=on[1];if(!Re(on[2],ht)){_i(a,[0,cn,8]);break e}}return[0,[0,yr,[0,2,Cr,rt,xe,p,kr([0,Xt],0,he)]]]}if(!Re(Jt,YO)){var Lr=Vr(a),fn=nA($Xe,a)[2];if(wxe(a))return PV(a,u,p,fn,ze,wt,xe,B,dt,or);mte(a,B),wV(a,dt),cC(a,fn);var rn=pi(or,Lr),vt=wr([0,u],function(kn){return $V(kn,1,0)},a),qr=vt[2],Pe=qr[1],Lt=qr[2],Xe=vt[1],Mt=NV(Pe);e:if(xe){if(Mt){var Gt=Mt[1],Ze=Gt[1];if(!Re(Gt[2],a3)){_i(a,[0,Ze,[15,wXe,xe,0,0]]);break e}}}else if(Mt){var Xr=Mt[1],qt=Xr[1];if(!Re(Xr[2],ht)){_i(a,[0,qt,8]);break e}}return[0,[0,Xe,[0,3,Pe,Lt,xe,p,kr([0,rn],0,he)]]]}}return PV(a,u,p,nA(NXe,a)[2],ze,wt,xe,B,dt,or)}function BV(a,u,p,d){var q=a?a[1]:0,g=tE(1,u),O=pi(q,m3(g)),B=Vr(g),W=st(g);e:if(typeof W!="number"&&W[0]===4&&!Re(W[3],mz)){Ys(g,83),_n(g);break e}cr(g,41);var Y=wQ(1,g),V=st(Y);e:{t:if(p&&typeof V=="number"){if(53<=V){if(V!==99&&54<=V)break t}else if(V!==42&&V)break t;var se=0;break e}if(Rx(g))var Z=K(Er[13],0,Y),se=[0,K(NR(g)[2],Z,function(it,Tt){return K(ki(it,x9,Kl),it,Tt)})];else{e7(g,bXe);var se=[0,[0,qi(g),EXe]]}}var ae=Cc(g);if(ae)var ue=ae[1],pe=[0,K(NR(g)[2],ue,function(it,Tt){return K(ki(it,$F,gl),it,Tt)})];else var pe=0;var xe=Vr(g);if(bo(g,42))var ye=wr(0,function(it){var Tt=bV(ZG(0,it)),Rt=st(it)===99?K(NR(it)[2],Tt,function(ft,It){return K(ki(ft,Tm,97),ft,It)}):Tt,kt=Jle(it);return[0,Rt,kt,kr([0,xe],0,he)]},g),ge=ye[1],Ne=ye[2],Fe=[0,[0,ge,K(NR(g)[2],Ne,function(it,Tt){return sn(ki(it,-663447790,98),it,ge,Tt)})]];else var Fe=0;if(st(g)===53){1-zn(g)&&Ys(g,dT);var ze=[0,_le(g,xte(g,1))]}else var ze=0;var ut=wr(0,function(it){var Tt=Vr(it);if(!bo(it,0))return ar(it,0),vXe;it[30][1]=[0,[0,v1[1],0],it[30][1]];for(var Rt=0,kt=l1t,ft=0;;){var It=st(it);if(typeof It=="number"){var dt=It-2|0;if(sx
>>0){if(JT>=dt+1>>>0)break}else if(dt===6){cr(it,8);continue}}var Ot=Pxe(it);switch(Ot[0]){case 0:var At=Ot[1],wt=At[2],or=At[1];switch(wt[1]){case 0:if(wt[4])var Lr=kt,fn=Rt;else{Rt&&_i(it,[0,or,15]);var Lr=kt,fn=1}break;case 1:var rr=wt[2],Jt=rr[0]===4?QV(it,kt,rr[1],q0e):kt,Lr=Jt,fn=Rt;break;case 2:var tr=wt[2],mr=tr[0]===4?QV(it,kt,tr[1],Bz):kt,Lr=mr,fn=Rt;break;default:var Xt=wt[2],hr=Xt[0]===4?QV(it,kt,Xt[1],JY):kt,Lr=hr,fn=Rt}break;case 1:var Ge=Ot[1][2],Cr=Ge[4],rt=Ge[1];switch(rt[0]){case 4:Ln(OXe);break;case 0:case 3:var yr=rt[1],sr=yr[2][1],Ir=Qa(sr,ht),Dr=yr[1];if(Ir)var cn=Ir;else var on=Qa(sr,a3),cn=on&&Cr;cn&&_i(it,[0,Dr,[15,sr,Cr,0,0]]);break}var Lr=kt,fn=Rt;break;default:var Lr=QV(it,kt,Ot[1][2][1],qee),fn=Rt}var Rt=fn,kt=Lr,ft=[0,Ot,ft]}function rn(Vt,We){return wb(function(Qt){return 1-v1[3].call(null,Qt[1],Vt)},We)}var vt=xn(ft),qr=it[30][1];if(qr){var Pe=qr[1],Lt=Pe[1];if(qr[2]){var Xe=qr[2],Mt=rn(Lt,Pe[2]),Gt=Qb(Xe),Ze=Gt[2],Xr=Gt[1],qt=DRe(Xe),kn=[0,[0,Xr,pi(Ze,Mt)],qt];it[30][1]=kn}else yR(function(Vt){return _i(it,[0,Vt[2],[25,Vt[1]]])},rn(Lt,Pe[2])),it[30][1]=0}else Ln(VYe);cr(it,1);var Ki=st(it);e:{t:if(!d){if(typeof Ki=="number"&&(Ki===1||vo===Ki))break t;if(D_(it)){var Qe=ux(it);break e}var Qe=0;break e}var Qe=oi(it)}return[0,vt,kr([0,Tt],[0,Qe],he)]},g);return[0,se,ut,pe,Fe,ze,O,kr([0,B],0,he)]}function yte(a,u){return wr(0,function(p){return[2,BV([0,u],p,p[7],0)]},a)}function T1t(a){return[7,BV(0,a,1,1)]}var Bxe=0,Uce=dle(Er);function IV(a){var u=cE(a);e:if(a[5])Wn(a,u[1]);else{var p=u[2];t:if(p[0]===27){var d=p[1],q=u[1];if(d[4])_i(a,[0,q,4]);else{if(!d[5])break t;_i(a,[0,q,22])}break e}}return u}function AT(a,u){var p=u[4],d=u[3],q=u[2],g=u[1];p&&qc(a,76);var O=Vr(a);return cr(a,[2,[0,g,q,d,p]]),[0,g,[0,q,d,kr([0,O],[0,oi(a)],he)]]}function cl(a,u,p){var d=a?a[1]:pje,q=u?u[1]:1,g=st(p);if(typeof g=="number"){var O=g-2|0;if(sx>>0){if(JT>=O+1>>>0)return[1,[0,oi(p),function(W,Y){return W}]]}else if(O===6){_n(p);var B=st(p);e:if(typeof B=="number"){if(B!==1&&vo!==B)break e;return[0,oi(p)]}return D_(p)?[0,ux(p)]:_je}}return D_(p)?[1,Ol(p)]:(q&&fu([0,d],p),hje)}function iA(a){var u=st(a);e:if(typeof u=="number"){if(u!==1&&vo!==u)break e;return[0,oi(a),function(p,d){return p}]}return D_(a)?Ol(a):_v(a)}function qte(a,u,p){var d=cl(0,0,u);if(d[0]===0)return[0,d[1],p];var q=d[1][2],g=xn(p);if(g)var O=g[2],B=xn([0,K(q,g[1],function(W,Y){return sn(ki(W,634872468,66),W,a,Y)}),O]);else var B=0;return[0,0,B]}var Fce=[],Lce=[],zce=[];function Cte(a,u,p){var d=p[2][1],q=p[1];if(!(d&&!d[1][2][2]&&!d[2]))return _i(a,[0,q,u])}function Ate(a,u){if(!a[5]&&dv(u))return Wn(a,u[1])}function Ixe(a){var u=j9(a)?IV(a):J(Er[2],a),p=1-a[5],d=p&&dv(u);return d&&Wn(a,u[1]),u}function p1t(a){var u=Vr(a);cr(a,44);var p=Ixe(a);return[0,p,kr([0,u],0,he)]}function _1t(a){var u=Vr(a);cr(a,16);var p=pi(u,Vr(a));cr(a,4);var d=J(Er[7],a);cr(a,5);var q=Ixe(a),g=st(a)===44?[0,wr(0,p1t,a)]:0;return[28,[0,d,q,g,kr([0,p],0,he)]]}var Mxe=0;function Wxe(a){return wr(Mxe,_1t,a)}function h1t(a){var u=J(Er[7],a),p=cl(ije,0,a);if(p[0]===0)var d=u,q=p[1];else var d=K(p[1][2],u,function(Z,se){return K(ki(Z,Tm,72),Z,se)}),q=0;if(a[20]){var g=d[2];if(g[0]===14){var O=g[1][2];e:{if(1>>0){if(p!==14)break e}else if(4>=p-1>>>0)break e;return oi(a)}return D_(a)?ux(a):0}function jce(a){return st(a)===1?0:[0,J(Er[7],a)]}function e4(a){var u=qi(a),p=st(a);e:{if(typeof p!="number"&&p[0]===8){var d=p[1];break e}fu(fXe,a);var d=dXe}var q=Vr(a);_n(a);var g=st(a);e:{t:if(typeof g=="number"){var O=g+Wee|0;if(73>>0){if(O!==77)break t}else if(71>=O-1>>>0)break t;var B=oi(a);break e}var B=TC(a)}return[0,u,[0,d,kr([0,q],[0,B],he)]]}function Jce(a){var u=ko(1,a);if(typeof u=="number"){if(u===10)for(var p=wr(0,function(q){var g=[0,e4(q)];return cr(q,10),[0,g,e4(q)]},a);;){var d=st(a);if(typeof d=="number"&&d===10){let q=p;var p=wr([0,p[1]],function(O){return cr(O,10),[0,[1,q],e4(O)]},a);continue}return[2,p]}if(u===87)return[1,wr(0,function(q){var g=e4(q);return cr(q,87),[0,g,e4(q)]},a)]}return[0,e4(a)]}function yv(a,u){return Qa(a[2][1],u[2][1])}function Dte(a,u){var p=a[2],d=p[1],q=u[2],g=q[1],O=p[2],B=q[2];e:{if(d[0]===0){var W=d[1];if(g[0]===0){var V=yv(W,g[1]);break e}}else{var Y=d[1];if(g[0]!==0){var V=Dte(Y,g[1]);break e}}var V=0}return V&&yv(O,B)}function k3(a,u){switch(a[0]){case 0:var p=a[1];if(u[0]===0)return yv(p,u[1]);break;case 1:var d=a[1];if(u[0]===1){var q=d[2],g=u[1][2],O=q[2],B=g[2],W=yv(q[1],g[1]);return W&&yv(O,B)}break;default:var Y=a[1];if(u[0]===2)return Dte(Y,u[1])}return 0}function Ste(a){switch(a[0]){case 0:return a[1][1];case 1:return a[1][1];default:return a[1][1]}}var qv=[];function Fxe(a,u){var p=Vr(u),d=wr(0,function(or){cr(or,99);var rr=st(or);if(typeof rr=="number"){if(q0===rr)return _n(or),pXe}else if(rr[0]===8){var Jt=Jce(or);e:{if(zn(or)&&st(or)===99&&dT!==ko(1,or)){var tr=pv(or,0,EV);break e}var tr=0}for(var mr=0;;){var Xt=st(or);if(typeof Xt=="number"){if(Xt===0){var hr=Vr(or);A0(or,0);var Ge=wr(0,function(Dr){cr(Dr,0),cr(Dr,12);var on=J(Er[10],Dr);return cr(Dr,1),on},or),Cr=Ge[2],rt=Ge[1];Kn(or);var mr=[0,[1,[0,rt,[0,Cr,kr([0,hr],[0,TC(or)],he)]]],mr];continue}}else if(Xt[0]===8){var mr=[0,[0,wr(0,function(Dr){var on=ko(1,Dr);e:{if(typeof on=="number"&&on===87){var cn=[1,wr(0,function(Ki){var Qe=e4(Ki);return cr(Ki,87),[0,Qe,e4(Ki)]},Dr)];break e}var cn=[0,e4(Dr)]}var Lr=st(Dr);e:{if(typeof Lr=="number"&&Lr===83){cr(Dr,83);var fn=Vr(Dr),rn=st(Dr);t:{if(typeof rn=="number"){if(rn===0){var vt=Vr(Dr);A0(Dr,0);var qr=wr(0,function(Qe){cr(Qe,0);var Vt=jce(Qe);return cr(Qe,1),Vt},Dr),Pe=qr[1],Lt=qr[2];Kn(Dr);var Xe=[0,Lt,E0([0,vt],[0,TC(Dr)],0,he)];Xe[1]||_i(Dr,[0,Pe,46]);var Xr=[0,[1,[0,Pe,Xe]]];break t}}else if(rn[0]===10){var Mt=rn[3],Gt=rn[2],Ze=rn[1];cr(Dr,rn);var Xr=[0,[0,[0,Ze,[0,Gt,Mt,kr([0,fn],[0,TC(Dr)],he)]]]];break t}Ys(Dr,35);var Xr=[0,[0,[0,qi(Dr),hXe]]]}var qt=Xr;break e}var qt=0}return[0,cn,qt]},or)],mr];continue}var yr=xn(mr),sr=[0,Bc,[0,Jt,tr,bo(or,dT),yr]];return bo(or,q0)?[0,sr]:(ar(or,q0),[1,sr])}}return ar(or,q0),_Xe},u);if(Kn(u),J(qv[3],d))var q=yee,g=wr(0,function(or){return 0},u);else{A0(u,3);var O=J(qv[4],d),B=sn(qv[1],a,O,u),q=B[2],g=B[1]}var W=oi(u);e:{t:if(typeof q!="number"){var Y=q[1];if(Bc===Y){var V=q[2],Z=V[2][1],se=d[2],ae=V[1];if(se[0]===0){var ue=se[1];if(typeof ue=="number")_i(u,[0,Ste(Z),lXe]);else{var pe=ue[2][1];r:if(1-k3(Z,pe)){if(a&&k3(a[1],Z)){var xe=[21,J(qv[2],pe)];_i(u,[0,Ste(pe),xe]);break r}var ye=[13,J(qv[2],pe)];_i(u,[0,Ste(Z),ye])}}}var ge=ae}else{if(jp!==Y)break t;var Ne=q[2],Fe=d[2];if(Fe[0]===0){var ze=Fe[1];typeof ze!="number"&&_i(u,[0,Ne,[13,J(qv[2],ze[2][1])]])}var ge=Ne}var ut=ge;break e}var ut=d[1]}var it=d[2][1],Tt=d[1];if(typeof it=="number"){e:{t:{var Rt=kr([0,p],[0,W],he);if(typeof q!="number"){var kt=q[1];if(Bc===kt)var ft=q[2][1];else{if(jp!==kt)break t;var ft=q[2]}var It=ft;break e}}var It=ut}var dt=[0,jp,[0,Tt,It,g,Rt]]}else{var Ot=it[2];e:{var At=kr([0,p],[0,W],he);if(typeof q!="number"&&Bc===q[1]){var wt=[0,q[2]];break e}var wt=0}var dt=[0,Bc,[0,[0,Tt,Ot],wt,g,At]]}return[0,O0(d[1],ut),dt]}function Xce(a,u){return A0(u,2),Fxe(a,u)}function Lxe(a,u,p,d){for(var q=d;;){var g=PQ(p);if(q&&u){var O=q[1],B=O[2],W=u[1],Y=q[2];e:{if(B[0]===0){var V=B[1],Z=V[2];if(Z){var se=Z[1][2][1],ae=1-k3(V[1][2][1],se);if(ae){var ue=k3(W,se);break e}var ue=ae;break e}}var ue=0}if(ue){var pe=O[2];e:{if(pe[0]===0){var xe=pe[1],ye=xe[2];if(ye){var ge=ye[1],Ne=O0(O[1],xe[3][1]),Fe=[0,Bc,ge],ze=[0,Ne,[0,[0,xe[1],0,xe[3],xe[4]]]];break e}}var Fe=yee,ze=O}return Kn(p),[0,xn([0,ze,Y]),g,Fe]}}var ut=st(p);if(typeof ut=="number"){if(ut===99){A0(p,2);var it=st(p),Tt=ko(1,p);e:if(typeof it=="number"&&it===99&&typeof Tt=="number"){if(dT!==Tt&&vo!==Tt)break e;var Rt=wr(0,function(rn){cr(rn,99),cr(rn,dT);var vt=st(rn);if(typeof vt=="number"){if(q0===vt)return _n(rn),jp}else if(vt[0]===8){var qr=Jce(rn);return V8(rn,q0),[0,Bc,[0,qr]]}return ar(rn,q0),jp},p),kt=Rt[2],ft=Rt[1],It=typeof kt=="number"?[0,jp,ft]:[0,Bc,[0,ft,kt[2]]],dt=p[24][1];t:{if(dt){var Ot=dt[2];if(Ot){var At=Ot[2];break t}}var At=Ln(FYe)}p[24][1]=At;var wt=Eu(p),or=Rv(p[25][1],wt);return p[26][1]=or,[0,xn(q),g,It]}var rr=Fxe(u,p),Jt=rr[2],tr=rr[1],mr=jp<=Jt[1]?[0,tr,[1,Jt[2]]]:[0,tr,[0,Jt[2]]],q=[0,mr,q];continue}if(vo===ut)return fu(0,p),[0,xn(q),g,yee]}var Xt=st(p);e:{if(typeof Xt=="number"){if(Xt===0){A0(p,0);var hr=wr(0,function(rn){cr(rn,0);var vt=st(rn);t:{if(typeof vt=="number"&&vt===12){var qr=Vr(rn);cr(rn,12);var Pe=J(Er[10],rn),Mt=[3,[0,Pe,kr([0,qr],0,he)]];break t}var Lt=jce(rn),Xe=Lt?0:Vr(rn),Mt=[2,[0,Lt,E0(0,0,Xe,he)]]}return cr(rn,1),Mt},p),Ge=hr[2],Cr=hr[1];Kn(p);var cn=[0,Cr,Ge];break e}}else if(Xt[0]===9){var rt=Xt[3],yr=Xt[2],sr=Xt[1];cr(p,Xt);var cn=[0,sr,[4,[0,yr,rt]]];break e}var Ir=Xce(u,p),Dr=Ir[2],on=Ir[1],cn=jp<=Dr[1]?[0,on,[1,Dr[2]]]:[0,on,[0,Dr[2]]]}var q=[0,cn,q]}}function $te(a){switch(a[0]){case 0:return a[1][2][1];case 1:var u=a[1][2],p=u[1],d=hi(cXe,u[2][2][1]);return hi(p[2][1],d);default:var q=a[1][2],g=q[1],O=q[2],B=g[0]===0?g[1][2][1]:$te([2,g[1]]);return hi(B,hi(TXe,O[2][1]))}}ns(qv,[0,function(a,u,p){var d=qi(p),q=Lxe(he,u,p,0),g=q[2],O=q[3],B=q[1],W=g?g[1]:d;return[0,[0,O0(d,W),B],O]},$te,function(a){var u=a[2];if(u[0]!==0)return 1;var p=u[1];return typeof p=="number"?0:p[2][3]},function(a){var u=a[2][1];return typeof u=="number"?0:[0,u[2][1]]}]);function Zce(a,u){var p=cp(u);return Qr(a,u,p),p}var Qte=[],eTe=[],zxe=[],Hxe=[];function d1t(a){var u=Vr(a);cr(a,60);var p=st(a)===8?oi(a):0,d=cl(0,0,a),q=d[0]===0?d[1]:d[1][1];return[5,[0,kr([0,u],[0,pi(p,q)],he)]]}var x1t=0;function m1t(a){var u=Vr(a);cr(a,38);var p=nE(1,a),d=J(Er[2],p),q=1-a[5],g=q&&dv(d);g&&Wn(a,d[1]);var O=oi(a);cr(a,26);var B=oi(a);cr(a,4);var W=J(Er[7],a);cr(a,5);var Y=st(a)===8?oi(a):0,V=cl(0,Tje,a),Z=V[0]===0?pi(Y,V[1]):V[1][1];return[18,[0,d,W,kr([0,u],[0,pi(O,pi(B,Z))],he)]]}var k1t=0;function y1t(a){var u=Vr(a);cr(a,40);var p=a[19],d=p&&bo(a,66),q=pi(u,Vr(a));cr(a,4);var g=kr([0,q],0,he),O=st(a);e:{if(typeof O=="number"&&O===65){var B=1;break e}var B=0}var W=G9(1,a),Y=st(W);e:{if(typeof Y=="number"){if(25<=Y){if(30>Y)switch(Y+ab|0){case 0:var V=wr(0,nce,W),Z=V[2],se=Z[3],ae=Z[1],ue=V[1],Rt=se,kt=[0,[1,[0,ue,[0,ae,0,kr([0,Z[2]],0,he)]]]];break e;case 3:var pe=wr(0,ice,W),xe=pe[2],ye=xe[3],ge=xe[1],Ne=pe[1],Rt=ye,kt=[0,[1,[0,Ne,[0,ge,2,kr([0,xe[2]],0,he)]]]];break e;case 4:if(ko(1,W)!==17){var Fe=wr(0,ace,W),ze=Fe[2],ut=ze[3],it=ze[1],Tt=Fe[1],Rt=ut,kt=[0,[1,[0,Tt,[0,it,1,kr([0,ze[2]],0,he)]]]];break e}break}}else if(Y===8){var Rt=0,kt=0;break e}}var Rt=0,kt=[0,[0,J(Er[8],W)]]}var ft=st(a);if(typeof ft=="number"){if(ft===17){if(!kt)throw Pr([0,Wa,cje],1);var It=kt[1];if(It[0]===0)var dt=[1,CV(lje,a,It[1])];else{var Ot=It[1];Cte(a,38,Ot);var dt=[0,Ot]}d?cr(a,64):cr(a,17);var At=J(Er[7],a);cr(a,5);var wt=nE(1,a),or=J(Er[2],wt);return Ate(a,or),[25,[0,dt,At,or,0,g]]}if(ft===64){if(!kt)throw Pr([0,Wa,uje],1);var rr=kt[1];if(rr[0]===0){var Jt=CV(Rje,a,rr[1]),tr=1-d,mr=tr&&B;e:if(mr){var Xt=Jt[2];if(Xt[0]===2){var hr=Xt[1][1],Ge=hr[1];if(!Re(hr[2][1],Lx)){_i(a,[0,Ge,39]);break e}}}var Cr=[1,Jt]}else{var rt=rr[1];Cte(a,39,rt);var Cr=[0,rt]}cr(a,64);var yr=J(Er[10],a);cr(a,5);var sr=nE(1,a),Ir=J(Er[2],sr);return Ate(a,Ir),[26,[0,Cr,yr,Ir,d,g]]}}if(yR(function(Lt){return _i(a,Lt)},Rt),d?cr(a,64):cr(a,8),kt)var Dr=kt[1],on=Dr[0]===0?[0,[1,H0(a,Dr[1])]]:[0,[0,Dr[1]]],cn=on;else var cn=0;var Lr=st(a);e:{if(typeof Lr=="number"&&Lr===8){var fn=0;break e}var fn=[0,J(Er[7],a)]}cr(a,8);var rn=st(a);e:{if(typeof rn=="number"&&rn===5){var vt=0;break e}var vt=[0,J(Er[7],a)]}cr(a,5);var qr=nE(1,a),Pe=J(Er[2],qr);return Ate(a,Pe),[24,[0,cn,fn,vt,Pe,g]]}var q1t=0;function C1t(a){1-a[11]&&Ys(a,27);var u=Vr(a),p=qi(a);cr(a,19);var d=st(a)===8?oi(a):0;e:{if(st(a)!==8&&!Ik(a)){var q=[0,J(Er[7],a)];break e}var q=0}var g=O0(p,qi(a)),O=cl(0,0,a);e:{if(O[0]===0)var B=O[1];else{var W=O[1],Y=W[1];if(q){var V=[0,K(W[2],q[1],function(pe,xe){return K(ki(pe,Tm,67),pe,xe)})],Z=d;break e}var B=Y}var V=q,Z=pi(d,B)}return[33,[0,V,kr([0,u],[0,Z],he),g]]}var A1t=0;function g1t(a){var u=Vr(a);cr(a,20),cr(a,4);var p=J(Er[7],a);cr(a,5),cr(a,0);for(var d=oje;;){var q=d[2],g=d[1],O=st(a);e:if(typeof O=="number"){if(O!==1&&vo!==O)break e;var B=xn(q);cr(a,1);var W=iA(a)[1],Y=p[1];return[34,[0,p,B,kr([0,u],[0,W],he),Y]]}let Z=g;var V=aI(0,function(ae){var ue=Vr(ae),pe=st(ae);e:{if(typeof pe=="number"&&pe===37){Z&&Ys(ae,53),cr(ae,37);var xe=oi(ae),ye=0;break e}cr(ae,34);var xe=0,ye=[0,J(Er[7],ae)]}var ge=Z||(ye===0?1:0);cr(ae,87);var Ne=pi(xe,iA(ae)[1]);function Fe(Tt){e:if(typeof Tt=="number"){var Rt=Tt-1|0;if(33>>0){if(Rt!==36)break e}else if(31>=Rt-1>>>0)break e;return 1}return 0}var ze=1,ut=ae[9]===1?ae:[0,ae[1],ae[2],ae[3],ae[4],ae[5],ae[6],ae[7],ae[8],ze,ae[10],ae[11],ae[12],ae[13],ae[14],ae[15],ae[16],ae[17],ae[18],ae[19],ae[20],ae[21],ae[22],ae[23],ae[24],ae[25],ae[26],ae[27],ae[28],ae[29],ae[30],ae[31]],it=K(Er[4],Fe,ut);return[0,[0,ye,it,kr([0,ue],[0,Ne],he)],ge]},a),d=[0,V[2],[0,V[1],q]]}}var b1t=0;function E1t(a){var u=Vr(a),p=qi(a);cr(a,23),D_(a)&&_i(a,[0,p,54]);var d=J(Er[7],a),q=cl(0,0,a);if(q[0]===0)var g=d,O=q[1];else var g=K(q[1][2],d,function(B,W){return K(ki(B,Tm,68),B,W)}),O=0;return[35,[0,g,kr([0,u],[0,O],he)]]}var O1t=0;function v1t(a){var u=Vr(a);cr(a,24);var p=J(Er[15],a),d=st(a)===35?K(NR(a)[2],p,function(ae,ue){var pe=ue[1];return[0,pe,sn(ki(ae,Mx,4),ae,pe,ue[2])]}):p,q=st(a);e:{if(typeof q=="number"&&q===35){var g=[0,wr(0,function(ue){var pe=Vr(ue);cr(ue,35);var xe=oi(ue);if(st(ue)===4){cr(ue,4);var ye=[0,K(Er[18],ue,67)];cr(ue,5);var ge=ye}else var ge=0;var Ne=J(Er[15],ue),Fe=st(ue)===39?Ne:K(iA(ue)[2],Ne,function(ze,ut){var it=ut[1];return[0,it,sn(ki(ze,Mx,69),ze,it,ut[2])]});return[0,ge,Fe,kr([0,pe],[0,xe],he)]},a)];break e}var g=0}var O=st(a);e:{if(typeof O=="number"&&O===39){cr(a,39);var B=J(Er[15],a),W=B[1],Y=B[2],V=[0,[0,W,K(iA(a)[2],Y,function(ue,pe){return sn(ki(ue,Mx,70),ue,W,pe)})]];break e}var V=0}var Z=g===0?1:0,se=Z&&(V===0?1:0);return se&&_i(a,[0,d[1],56]),[36,[0,d,g,V,kr([0,u],0,he)]]}var D1t=0;function S1t(a){var u=0,p=nce(a),d=p[3],q=p[2],g=qte(u,a,p[1]),O=g[2],B=g[1];return yR(function(W){return _i(a,W)},d),[39,[0,O,u,kr([0,q],[0,B],he)]]}var $1t=0;function Q1t(a){var u=2,p=ice(a),d=p[3],q=p[2],g=qte(u,a,p[1]),O=g[2],B=g[1];return yR(function(W){return _i(a,W)},d),[39,[0,O,u,kr([0,q],[0,B],he)]]}var N1t=0;function w1t(a){var u=1,p=ace(a),d=p[3],q=p[2],g=qte(u,a,p[1]),O=g[2],B=g[1];return yR(function(W){return _i(a,W)},d),[39,[0,O,u,kr([0,q],[0,B],he)]]}var P1t=0;function B1t(a){var u=Vr(a);cr(a,26);var p=pi(u,Vr(a));cr(a,4);var d=J(Er[7],a);cr(a,5);var q=nE(1,a),g=J(Er[2],q),O=1-a[5],B=O&&dv(g);return B&&Wn(a,g[1]),[40,[0,d,g,kr([0,p],0,he)]]}var I1t=0;function M1t(a){var u=Vr(a),p=J(Er[7],a),d=st(a),q=p[2];if(q[0]===10&&typeof d=="number"&&d===87){var g=q[1],O=g[2][1],B=p[1];cr(a,87),v1[3].call(null,O,a[3])&&_i(a,[0,B,[23,aje,O]]);var W=a[31],Y=a[30],V=a[29],Z=a[28],se=a[27],ae=a[26],ue=a[25],pe=a[24],xe=a[23],ye=a[22],ge=a[21],Ne=a[20],Fe=a[19],ze=a[18],ut=a[17],it=a[16],Tt=a[15],Rt=a[14],kt=a[13],ft=a[12],It=a[11],dt=a[10],Ot=a[9],At=a[8],wt=a[7],or=a[6],rr=a[5],Jt=a[4],tr=v1[4].call(null,O,a[3]),mr=[0,a[1],a[2],tr,Jt,rr,or,wt,At,Ot,dt,It,ft,kt,Rt,Tt,it,ut,ze,Fe,Ne,ge,ye,xe,pe,ue,ae,se,Z,V,Y,W],Xt=j9(mr)?IV(mr):J(Er[2],mr);return[31,[0,g,Xt,kr([0,u],0,he)]]}var hr=cl(sje,0,a);if(hr[0]===0)var Ge=p,Cr=hr[1];else var Ge=K(hr[1][2],p,function(rt,yr){return K(ki(rt,Tm,71),rt,yr)}),Cr=0;return[23,[0,Ge,0,kr(0,[0,Cr],he)]]}var W1t=0;function Yxe(a,u){var p=a?a[1]:0;1-zn(u)&&Ys(u,Kl);var d=ko(1,u);if(typeof d=="number")switch(d){case 25:return kv(0,u);case 28:return kv(2,u);case 29:return kv(1,u);case 41:return wr(0,function(ae){var ue=Vr(ae);return cr(ae,61),[6,nN(ue,ae)]},u);case 47:if(st(u)===51)return tN(u);break;case 49:if(u[28][2])return wr(0,function(ae){var ue=Vr(ae);return cr(ae,61),[8,Uce[1].call(null,[0,ue],ae)]},u);break;case 50:if(p)return Vce(u);break;case 54:return wr(0,function(ae){var ue=Vr(ae);return cr(ae,61),[11,oI(ue,ae)]},u);case 62:var q=st(u);return typeof q=="number"&&q===51&&p?tN(u):wr(0,function(ae){var ue=Vr(ae);return cr(ae,61),[15,rN(ue,ae)]},u);case 63:return wr(0,function(ae){var ue=Vr(ae);return cr(ae,61),[16,sI(wVe,ue,ae)]},u);case 15:case 65:return LV(u)}else if(d[0]===4){var g=d[3];if(Re(g,u0)){if(Re(g,MO)){if(!Re(g,KF)){var O=qi(u),B=Vr(u);cr(u,61);var W=pi(B,Vr(u));return Od(u,WVe),st(u)===10?wr([0,O],function(ae){var ue=Vr(ae);cr(ae,10);var pe=Vr(ae);Od(ae,FVe);var xe=Nb([0,W,[0,ue,[0,pe,[0,Vr(ae),0]]]]),ye=X8(ae),ge=cl(0,0,ae);if(ge[0]===0)var Ne=ge[1],Fe=ye;else var Ne=0,Fe=K(ge[1][2],ye,function(ze,ut){return K(ki(ze,yz,89),ze,ut)});return[13,[0,Fe,kr([0,xe],[0,Ne],he)]]},u):wr([0,O],J(Lce[1],W),u)}if(!Re(g,rq)){var Y=qi(u),V=Vr(u);cr(u,61);var Z=pi(V,Vr(u));return Od(u,UVe),wr([0,Y],J(zce[1],Z),u)}}else if(u[28][1])return LV(u)}else if(u[28][1])return wr(0,function(ae){var ue=Vr(ae);return cr(ae,61),[7,vte(ue,ae)]},u)}if(!p)return J(Er[2],u);var se=st(u);return typeof se=="number"&&se===51?tN(u):kv(0,u)}var Kxe=0;function tTe(a,u,p){var d=uv(1,a),q=jK(Qte[2],d,u,p,MXe),g=q[4],O=q[3],B=q[2],W=uv(0,q[1]),Y=xn(B);return yR(J(Qte[1],W),Y),[0,W,O,g]}function rTe(a){var u=m3(a),p=st(a);if(typeof p=="number"){var d=p-50|0;if(11>=d>>>0)switch(d){case 0:var q=lle(1,tE(1,a)),g=Vr(q),O=qi(q);cr(q,50);var B=st(q);if(typeof B=="number"){if(54<=B){if(64>B)switch(B-54|0){case 0:return wr([0,O],function(se){1-zn(se)&&Ys(se,lc);var ae=0,ue=wr(0,function(xe){return oI(ae,xe)},se),pe=[0,ue[1],[30,ue[2]]];return[22,[0,[0,pe],0,0,0,kr([0,g],0,he)]]},q);case 8:if(ko(1,q)!==0)return wr([0,O],function(se){1-zn(se)&&Ys(se,lc);var ae=ko(1,se);if(typeof ae=="number"){if(ae===49)return Ys(se,17),cr(se,62),[22,[0,0,0,0,0,kr([0,g],0,he)]];if(Hc===ae){cr(se,62);var ue=qi(se);cr(se,Hc);var pe=RI(se),xe=pe[1];return[22,[0,0,[0,[1,[0,ue,0]]],[0,xe],0,kr([0,g],[0,pe[2]],he)]]}}var ye=0,ge=wr(0,function(Fe){return rN(ye,Fe)},se),Ne=[0,ge[1],[37,ge[2]]];return[22,[0,[0,Ne],0,0,0,kr([0,g],0,he)]]},q);break;case 9:return wr([0,O],function(se){var ae=wr(0,function(pe){return sI(0,0,pe)},se),ue=[0,ae[1],[38,ae[2]]];return[22,[0,[0,ue],0,0,0,kr([0,g],0,he)]]},q)}}else if(B===37)return wr([0,O],function(se){var ae=pi(g,Vr(se)),ue=wr(0,function(ut){return cr(ut,37)},se)[1],pe=ute(1,se);e:{if(!j9(pe)&&!Tv(pe)){if(MQ(pe)){var Fe=0,ze=[0,yte(pe,u)];break e}if(st(pe)===49){var Fe=0,ze=[0,sce(0)(pe)];break e}if(tV(pe)){var Fe=0,ze=[0,qV(pe)];break e}var xe=J(Er[10],pe),ye=cl(0,0,pe);if(ye[0]===0)var ge=ye[1],Ne=xe;else var ge=0,Ne=K(ye[1][2],xe,function(Tt,Rt){return K(ki(Tt,Tm,91),Tt,Rt)});var Fe=ge,ze=[1,Ne];break e}var Fe=0,ze=[0,cE(pe)]}return[21,[0,ue,ze,kr([0,ae],[0,Fe],he)]]},q)}if(MQ(q))return wr([0,O],function(se){var ae=yte(se,u);return[22,[0,[0,ae],0,0,1,kr([0,g],0,he)]]},q);if(!j9(q)&&!Tv(q)){if(typeof B=="number"){var W=B+ab|0;if(4>>0){if(W===24&&q[28][2])return wr([0,O],function(se){var ae=K(Er[3],[0,u],se);return[22,[0,[0,ae],0,0,1,kr([0,g],0,he)]]},q)}else if(1>>0)return wr([0,O],function(se){var ae=K(Er[3],[0,u],se);return[22,[0,[0,ae],0,0,1,kr([0,g],0,he)]]},q)}if(tV(q))return wr([0,O],function(se){var ae=qV(se);return[22,[0,[0,ae],0,0,1,kr([0,g],0,he)]]},q);if(typeof B=="number"&&Hc===B)return wr([0,O],function(se){var ae=qi(se);cr(se,Hc);var ue=st(se);e:{if(typeof ue!="number"&&ue[0]===4&&!Re(ue[3],Hx)){_n(se);var pe=[0,cp(se)];break e}var pe=0}var xe=RI(se),ye=xe[1];return[22,[0,0,[0,[1,[0,ae,pe]]],[0,ye],1,kr([0,g],[0,xe[2]],he)]]},q);var Y=bo(q,62)?0:1;return bo(q,0)?wr([0,O],function(se){var ae=Kce(0,se,0);cr(se,1);var ue=st(se);e:{if(typeof ue!="number"&&ue[0]===4&&!Re(ue[3],Tb)){var pe=RI(se),ge=pe[2],Ne=[0,pe[1]];break e}Gce(se,ae);var xe=cl(0,0,se),ye=xe[0]===0?xe[1]:xe[1][1],ge=ye,Ne=0}return[22,[0,0,[0,[0,ae]],Ne,Y,kr([0,g],[0,ge],he)]]},q):(fu(KVe,q),K(Er[3],[0,u],q))}return wr([0,O],function(se){rV(se)(u);var ae=cE(se);return[22,[0,[0,ae],0,0,1,kr([0,g],0,he)]]},q);case 1:rV(a)(u);var V=ko(1,a);e:{t:if(typeof V=="number"){if(V!==4&&V!==10)break t;var Z=WV(a);break e}var Z=tN(a)}return Z;case 11:if(ko(1,a)===50)return rV(a)(u),Vce(a);break}}return cI([0,u],a)}function Nte(a,u){return sn(eTe[1],u,a,0)}function GV(a,u){var p=tTe(u,a,function(g){return cI(0,g)}),d=p[3],q=p[2];return[0,tR(function(g,O){return[0,O,g]},wte(a,p[1]),q),d]}function wte(a,u){return sn(zxe[1],u,a,0)}function cI(a,u){var p=a?a[1]:0;1-MQ(u)&&rV(u)(p);var d=st(u);if(typeof d=="number"){if(d===28)return wr(N1t,Q1t,u);if(d===29)return wr(P1t,w1t,u)}if(!j9(u)&&!Tv(u)){if(MQ(u))return yte(u,p);if(typeof d=="number"){var q=d-49|0;if(14>=q>>>0)switch(q){case 0:if(u[28][2])return sce(0)(u);break;case 5:if(!uC(1,u))return WV(u);var g=0,O=wr(0,function(se){return oI(g,se)},u);return[0,O[1],[30,O[2]]];case 12:return Yxe(0,u);case 13:if(RC(1,u)&&!IQ(1,u)){var B=0,W=wr(0,function(se){return rN(B,se)},u);return[0,W[1],[37,W[2]]]}return J(Er[2],u);case 14:var Y=ko(1,u);if(typeof Y=="number"&&Y===62){var V=0,Z=wr(0,function(se){return sI(PVe,V,se)},u);return[0,Z[1],[38,Z[2]]]}return J(Er[2],u)}}return tV(u)?qV(u):Pte(u)}return cE(u)}function Pte(a){for(;;){var u=st(a);if(typeof u=="number"&&K2>u)switch(u){case 0:var p=J(Er[15],a),d=p[1],q=p[2];return[0,d,[0,K(iA(a)[2],q,function(hr,Ge){return sn(ki(hr,Mx,77),hr,d,Ge)})]];case 8:var g=qi(a),O=Vr(a);return cr(a,8),[0,g,[19,[0,kr([0,O],[0,iA(a)[1]],he)]]];case 16:return Wxe(a);case 19:return wr(A1t,C1t,a);case 20:return wr(b1t,g1t,a);case 21:if(a[28][3]&&!CT(1,a)&&ko(1,a)===4){var B=Vr(a),W=qi(a),Y=K(Er[13],0,a),V=ZQ(a),Z=V[2],se=V[1];if(!D_(a)&&st(a)===0){var ae=Z[1];if(ae){var ue=ae[1];if(ue[0]===0&&!ae[2])return FV(a,W,B,ue[1])}return _i(a,[0,se,49]),FV(a,W,B,[0,se,$Ve])}var pe=[0,Y[1],[10,Y]],xe=O0(W,se),ye=H0(a,gm(NVe,QVe,a,W,[0,[0,xe,[6,[0,pe,0,[0,se,Z],kr([0,B],0,he)]]]]));return wr([0,W],function(hr){var Ge=cl(SVe,0,hr);if(Ge[0]===0)var Cr=ye,rt=Ge[1];else var Cr=K(Ge[1][2],ye,function(yr,sr){return K(ki(yr,Tm,76),yr,sr)}),rt=0;return[23,[0,Cr,0,kr(0,[0,rt],he)]]},a)}break;case 23:return wr(O1t,E1t,a);case 24:return wr(D1t,v1t,a);case 25:return wr($1t,S1t,a);case 26:return wr(I1t,B1t,a);case 27:var ge=wr(0,function(hr){var Ge=Vr(hr);cr(hr,27);var Cr=pi(Ge,Vr(hr));cr(hr,4);var rt=J(Er[7],hr);cr(hr,5);var yr=J(Er[2],hr),sr=1-hr[5],Ir=sr&&dv(yr);return Ir&&Wn(hr,yr[1]),[41,[0,rt,yr,kr([0,Cr],0,he)]]},a),Ne=ge[1],Fe=ge[2];return Ed(a,[0,Ne,74]),[0,Ne,Fe];case 33:var ze=Vr(a),ut=wr(0,function(hr){cr(hr,33);e:{if(st(hr)!==8&&!Ik(hr)){var Ge=K(Er[13],0,hr),Cr=Ge[2][1],rt=Ge[1];1-v1[3].call(null,Cr,hr[3])&&_i(hr,[0,rt,[29,Cr]]);var yr=[0,Ge];break e}var yr=0}var sr=cl(0,0,hr);e:{if(sr[0]===0)var Ir=sr[1];else{var Dr=sr[1],on=Dr[1];if(yr){var cn=[0,K(Dr[2],yr[1],function(qr,Pe){return K(ki(qr,x9,74),qr,Pe)})],Lr=0;break e}var Ir=on}var cn=yr,Lr=Ir}return[0,cn,Lr]},a),it=ut[2],Tt=it[1],Rt=ut[1],kt=Tt===0?1:0,ft=it[2];if(kt)var It=a[8],dt=It||a[9],Ot=1-dt;else var Ot=kt;return Ot&&_i(a,[0,Rt,25]),[0,Rt,[1,[0,Tt,kr([0,ze],[0,ft],he)]]];case 36:var At=Vr(a),wt=wr(0,function(hr){cr(hr,36);e:{if(st(hr)!==8&&!Ik(hr)){var Ge=K(Er[13],0,hr),Cr=Ge[2][1],rt=Ge[1];1-v1[3].call(null,Cr,hr[3])&&_i(hr,[0,rt,[29,Cr]]);var yr=[0,Ge];break e}var yr=0}var sr=cl(0,0,hr);e:{if(sr[0]===0)var Ir=sr[1];else{var Dr=sr[1],on=Dr[1];if(yr){var cn=[0,K(Dr[2],yr[1],function(qr,Pe){return K(ki(qr,x9,75),qr,Pe)})],Lr=0;break e}var Ir=on}var cn=yr,Lr=Ir}return[0,cn,Lr]},a),or=wt[2],rr=wt[1],Jt=or[2],tr=or[1];return 1-a[8]&&_i(a,[0,rr,26]),[0,rr,[4,[0,tr,kr([0,At],[0,Jt],he)]]];case 38:return wr(k1t,m1t,a);case 40:return wr(q1t,y1t,a);case 44:return Wxe(a);case 60:return wr(x1t,d1t,a);case 114:return fu(WXe,a),[0,qi(a),UXe];case 1:case 5:case 7:case 9:case 10:case 11:case 12:case 17:case 18:case 34:case 35:case 37:case 39:case 42:case 43:case 50:case 84:case 87:fu(FXe,a),_n(a);continue}if(!j9(a)&&!Tv(a)){if(typeof u=="number"&&u===29&&ko(1,a)===6){var mr=Bt(1,a);return _i(a,[0,O0(qi(a),mr),3]),WV(a)}return Rx(a)?wr(W1t,M1t,a):(MQ(a)&&(fu(0,a),_n(a)),WV(a))}var Xt=cE(a);return Wn(a,Xt[1]),Xt}}ns(Qte,[0,function(a,u){if(typeof u!="number"&&u[0]===2){var p=u[1],d=p[4],q=p[1];return d&&Ed(a,[0,q,76])}return Ln(hi(zXe,hi(nte(u),LXe)))},function(a,u,p,d){for(var q=a,g=d;;){var O=g[3],B=g[2],W=g[1],Y=st(q);if(typeof Y=="number"&&vo===Y)return[0,q,W,B,O];if(J(u,Y))return[0,q,W,B,O];if(typeof Y!="number"&&Y[0]===2){var V=J(p,q),Z=[0,V,B],se=V[2];if(se[0]===23){var ae=se[1][2];if(ae){var ue=Qa(ae[1],"use strict"),pe=V[1],xe=ue&&1-q[21];xe&&_i(q,[0,pe,79]);var ye=ue?tE(1,q):q,ge=[0,Y,W],Ne=O||ue,q=ye,g=[0,ge,Z,Ne];continue}}return[0,q,W,Z,O]}return[0,q,W,B,O]}}]),ns(eTe,[0,function(a,u,p){for(var d=p;;){var q=st(a);if(typeof q=="number"&&vo===q||J(u,q))return xn(d);var d=[0,rTe(a),d]}}]),ns(zxe,[0,function(a,u,p){for(var d=p;;){var q=st(a);if(typeof q=="number"&&vo===q||J(u,q))return xn(d);var d=[0,cI(0,a),d]}}]),ns(Hxe,[0,function(a,u,p){var d=1-a,q=Zce([0,u],p),g=d&&(st(p)===86?1:0);return g&&(1-zn(p)&&Ys(p,gl),cr(p,86)),[0,q,dV(p),g]}]),qxe(VXe[1],Er,[0,function(a){var u=st(a);e:{if(typeof u!="number"&&u[0]===6){var p=u[2],d=u[1];_n(a);var q=[0,[0,d,p]];break e}var q=0}var g=Vr(a);e:{t:{for(var O=xn(g),B=5;O;){var W=O[2],Y=O[1],V=Y[2],Z=Y[1],se=V[2];r:{n:{for(var ae=0,ue=ii(se);;){if(ue<(ae+5|0))break n;var pe=Qa(qR(se,ae,B),"@flow");if(pe)break;var ae=ae+1|0}var xe=pe;break r}var xe=0}if(xe)break t;var O=W}var ye=0;break e}a[31][1]=Z[3];var ye=xn([0,[0,Z,V],W])}e:if(ye===0){if(g){var ge=g[1],Ne=ge[2];if(!Ne[1]){var Fe=Ne[2],ze=ge[1];if(1<=ii(Fe)&&r0(Fe,0)===42){a[31][1]=ze[3];var ut=[0,ge,0];break e}}}var ut=0}else var ut=ye;function it(At){return 0}var Tt=tTe(a,it,rTe),Rt=Tt[2],kt=tR(function(At,wt){return[0,wt,At]},Nte(it,Tt[1]),Rt),ft=qi(a);if(cr(a,vo),tR(function(At,wt){var or=wt[2];switch(or[0]){case 21:return aE(a,At,rC(0,[0,or[1][1],HXe]));case 22:var rr=or[1],Jt=rr[1];if(Jt){if(!rr[2]){var tr=Jt[1],mr=tr[2],Xt=tr[1];e:{switch(mr[0]){case 39:return tR(function(yr,sr){return aE(a,yr,sr)},At,tR(function(yr,sr){return tR(RV,yr,[0,sr[2][1],0])},0,mr[1][1]));case 2:case 27:var hr=mr[1][1];if(hr){var Ge=hr[1];break e}break;case 3:case 20:case 30:case 37:case 38:var Ge=mr[1][1];break e}return At}return aE(a,At,rC(0,[0,Xt,Ge[2][1]]))}}else{var Cr=rr[2];if(Cr){var rt=Cr[1];return rt[0]===0?tR(function(yr,sr){var Ir=sr[2],Dr=Ir[2],on=Ir[1];return Dr?aE(a,yr,Dr[1]):aE(a,yr,on)},At,rt[1]):At}}return At;default:return At}},v1[1],kt),kt)var It=Qb(xn(kt))[1],dt=O0(Qb(kt)[1],It);else var dt=ft;var Ot=xn(a[2][1]);return[0,dt,[0,kt,q,kr([0,ut],0,he),Ot]]},Pte,cI,wte,GV,Nte,function(a){var u=qi(a),p=S1(a),d=st(a);return typeof d=="number"&&d===9?pte(a,u,[0,p,0]):p},function(a){var u=qi(a),p=_E(a),d=st(a);return typeof d=="number"&&d===9?[0,pte(a,u,[0,H0(a,p),0])]:p},function(a){return H0(a,mce(a))},S1,bV,function(a){var u=wr(0,function(d){var q=Vr(d);cr(d,0);e:for(var g=0,O=[0,0,i_];;){var B=O[2],W=O[1],Y=st(d);if(typeof Y=="number"){if(Y===1)break e;if(vo===Y)break}var V=dte(d),Z=V[1],se=V[2];t:{if(Z[0]===1&&st(d)===9){var ae=[0,qi(d)];break t}var ae=0}var ue=AV(se,B),pe=st(d);t:{r:if(typeof pe=="number"){var xe=pe-2|0;if(sx>>0){if(JT>>0)break r}else{if(xe!==7)break r;_n(d)}var Fe=ue;break t}var ye=jue(UYe,9),ge=Gu([0,ye],st(d)),Ne=[0,qi(d),ge];bo(d,8);var Fe=[0,[0,Ne,ue[1]],[0,Ne,ue[2]]]}var g=ae,O=[0,[0,Z,W],Fe]}var ze=g?[0,B[1],[0,[0,g[1],90],B[2]]]:B,ut=oce(ze),it=xn(W),Tt=Vr(d);return cr(d,1),[0,[0,it,E0([0,q],[0,oi(d)],Tt,he)],ut]},a),p=u[2];return[0,u[1],p[1],p[2]]},Zce,function(a,u,p){var d=u?u[1]:0;return wr(0,K(Hxe[1],d,p),a)},function(a){var u=qi(a),p=Vr(a);cr(a,0);var d=wte(function(B){return B===1?1:0},a),q=qi(a),g=d===0?Vr(a):0;cr(a,1);var O=[0,d,E0([0,p],[0,oi(a)],g,he)];return[0,O0(u,q),O]},function(a){function u(d){var q=Vr(d);cr(d,0);var g=GV(function(Z){return Z===1?1:0},d),O=g[1],B=g[2],W=O===0?Vr(d):0;cr(d,1);var Y=st(d);e:{t:if(!a){if(typeof Y=="number"&&(Y===1||vo===Y))break t;if(D_(d)){var V=ux(d);break e}var V=0;break e}var V=oi(d)}return[0,[0,O,E0([0,q],[0,V],W,he)],B]}var p=0;return function(d){return aI(p,u,d)}},function(a){return Xce(Kxe,a)},lI,KV,nA,yte,function(a){return wr(Bxe,T1t,a)},function(a){var u=a[2];switch(u[0]){case 24:var p=u[1],d=p[1][2][1];if(Re(d,yh)){if(!Re(d,Y2)&&!Re(p[2][2][1],z$))return 0}else if(!Re(p[2][2][1],d5))return 0;break;case 0:case 10:case 23:case 26:break;default:return 0}return 1},OV,X8,vV,jQ]);var nTe=[Ws,pTt,md(0)],iTe=[0,nTe,[0]],U1t=AQ(cTt,function(a){var u=Yee(a,lTt)[41],p=wB(a,0,0,TTt,BG,1)[1];return Kee(a,u,function(d,q){return 0}),function(d,q){var g=PB(q,a);return J(p,g),BB(q,g,a)}}),F1t=[Ws,ONe,md(0)];function L1t(a){if(typeof a=="number"){var u=a;if(57<=u)switch(u){case 57:return g$e;case 58:return b$e;case 59:return E$e;case 60:return O$e;case 61:return v$e;case 62:return D$e;case 63:return S$e;case 64:return $$e;case 65:return Q$e;case 66:return N$e;case 67:return w$e;case 68:return P$e;case 69:return B$e;case 70:return I$e;case 71:return M$e;case 72:return W$e;case 73:return U$e;case 74:return F$e;case 75:return L$e;case 76:return z$e;case 77:return H$e;case 78:return Y$e;case 79:return K$e;case 80:return G$e;case 81:return V$e;case 82:return j$e;case 83:return J$e;case 84:return X$e;case 85:return Z$e;case 86:return eQe;case 87:return tQe;case 88:return rQe;case 89:return nQe;case 90:return iQe;case 91:return aQe;case 92:return sQe;case 93:return oQe;case 94:return RQe;case 95:return uQe;case 96:return lQe;case 97:return cQe;case 98:return TQe;case 99:return pQe;case 100:return _Qe;case 101:return hQe;case 102:return fQe;case 103:return dQe;case 104:return xQe;case 105:return mQe;case 106:return kQe;case 107:return yQe;case 108:return qQe;case 109:return CQe;case 110:return AQe;case 111:return gQe;default:return bQe}switch(u){case 0:return kSe;case 1:return ySe;case 2:return qSe;case 3:return CSe;case 4:return ASe;case 5:return gSe;case 6:return bSe;case 7:return ESe;case 8:return OSe;case 9:return vSe;case 10:return DSe;case 11:return hi($Se,SSe);case 12:return QSe;case 13:return NSe;case 14:return wSe;case 15:return PSe;case 16:return BSe;case 17:return ISe;case 18:return MSe;case 19:return WSe;case 20:return USe;case 21:return FSe;case 22:return LSe;case 23:return zSe;case 24:return HSe;case 25:return YSe;case 26:return KSe;case 27:return GSe;case 28:return VSe;case 29:return jSe;case 30:return hi(XSe,JSe);case 31:return ZSe;case 32:return e$e;case 33:return t$e;case 34:return r$e;case 35:return n$e;case 36:return i$e;case 37:return a$e;case 38:return s$e;case 39:return o$e;case 40:return R$e;case 41:return u$e;case 42:return l$e;case 43:return c$e;case 44:return T$e;case 45:return p$e;case 46:return _$e;case 47:return h$e;case 48:return f$e;case 49:return d$e;case 50:return x$e;case 51:return m$e;case 52:return k$e;case 53:return y$e;case 54:return q$e;case 55:return C$e;default:return A$e}}switch(a[0]){case 0:var p=a[1];return J(fa(EQe),p);case 1:var d=a[1];return J(fa(OQe),d);case 2:var q=a[2],g=a[1];return K(fa(vQe),q,g);case 3:var O=a[2],B=a[1];return sn(fa(DQe),O,O,B);case 4:var W=a[2],Y=a[1];return K(fa(SQe),W,Y);case 5:var V=a[1];return J(fa($Qe),V);case 6:return a[1]?QQe:NQe;case 7:var Z=a[2],se=a[1],ae=J(fa(wQe),se);if(!Z)return J(fa(BQe),ae);var ue=Z[1];return K(fa(PQe),ue,ae);case 8:var pe=a[1];return K(fa(IQe),pe,pe);case 9:var xe=a[3],ye=a[2],ge=a[1];if(!ye)return K(fa(UQe),xe,ge);var Ne=ye[1];if(Ne===3)return K(fa(WQe),xe,ge);switch(Ne){case 0:var Fe=Hve;break;case 1:var Fe=Yve;break;case 2:var Fe=Kve;break;case 3:var Fe=Gve;break;default:var Fe=Vve}return jK(fa(MQe),ge,Fe,xe,Fe);case 10:var ze=a[2],ut=a[1],it=wRe(ze);return sn(fa(FQe),ze,it,ut);case 11:var Tt=a[2],Rt=a[1];return K(fa(LQe),Tt,Rt);case 12:var kt=a[1];return J(fa(zQe),kt);case 13:var ft=a[1];return J(fa(HQe),ft);case 14:return a[1]?hi(KQe,YQe):hi(VQe,GQe);case 15:var It=a[1],dt=a[4],Ot=a[3],At=a[2]?jQe:JQe,wt=Ot?XQe:ZQe,or=dt?hi(eNe,It):It;return sn(fa(tNe),At,wt,or);case 16:return rNe;case 17:var rr=a[2],Jt=a[1],tr=BRe(45,rr);if(tr)var mr=tr[1],Xt=tr[2]?NRe(mSe,[0,mr,yd(wRe,tr[2])]):mr;else var Xt=rr;var hr=Jt?nNe:iNe;return sn(fa(aNe),rr,Xt,hr);case 18:var Ge=a[1]?sNe:oNe;return J(fa(RNe),Ge);case 19:var Cr=a[1];return J(fa(uNe),Cr);case 20:var rt=tB<=a[1]?lNe:cNe;return J(fa(TNe),rt);case 21:var yr=a[1];return J(fa(pNe),yr);case 22:var sr=a[1];return J(fa(_Ne),sr);case 23:var Ir=a[2],Dr=a[1];return K(fa(hNe),Dr,Ir);case 24:var on=a[1];if(h5===on)var cn=kNe,Lr=yNe;else if(lb<=on)var cn=fNe,Lr=dNe;else var cn=xNe,Lr=mNe;return K(fa(qNe),Lr,cn);case 25:var fn=a[1];return J(fa(CNe),fn);case 26:var rn=a[1];return J(fa(ANe),rn);case 27:var vt=a[2],qr=a[1];return K(fa(gNe),qr,vt);case 28:var Pe=a[2],Lt=a[1];return K(fa(bNe),Lt,Pe);default:var Xe=a[1];return J(fa(ENe),Xe)}}function dE(a,u){var p=a[2];function d(Oe){return up(Oe,u)}var q=a[1];switch(p[0]){case 0:var g=p[1],O=MG(g[2],u),Ft=[0,[0,g[1],O]];break;case 1:var B=p[1],W=d(B[2]),Ft=[1,[0,B[1],W]];break;case 2:var Y=p[1],V=d(Y[7]),Ft=[2,[0,Y[1],Y[2],Y[3],Y[4],Y[5],Y[6],V]];break;case 3:var Z=p[1],se=Z[7],ae=d(Z[6]),Ft=[3,[0,Z[1],Z[2],Z[3],Z[4],Z[5],ae,se]];break;case 4:var ue=p[1],pe=d(ue[2]),Ft=[4,[0,ue[1],pe]];break;case 5:var Ft=[5,[0,d(p[1][1])]];break;case 6:var xe=p[1],ye=d(xe[7]),Ft=[6,[0,xe[1],xe[2],xe[3],xe[4],xe[5],xe[6],ye]];break;case 7:var ge=p[1],Ne=d(ge[5]),Ft=[7,[0,ge[1],ge[2],ge[3],ge[4],Ne]];break;case 8:var Fe=p[1],ze=d(Fe[3]),Ft=[8,[0,Fe[1],Fe[2],ze]];break;case 9:var ut=p[1],it=d(ut[5]),Ft=[9,[0,ut[1],ut[2],ut[3],ut[4],it]];break;case 10:var Tt=p[1],Rt=d(Tt[4]),Ft=[10,[0,Tt[1],Tt[2],Tt[3],Rt]];break;case 11:var kt=p[1],ft=d(kt[5]),Ft=[11,[0,kt[1],kt[2],kt[3],kt[4],ft]];break;case 12:var It=p[1],dt=d(It[3]),Ft=[12,[0,It[1],It[2],dt]];break;case 13:var Ot=p[1],At=d(Ot[2]),Ft=[13,[0,Ot[1],At]];break;case 14:var wt=p[1],or=d(wt[3]),Ft=[14,[0,wt[1],wt[2],or]];break;case 15:var rr=p[1],Jt=d(rr[4]),Ft=[15,[0,rr[1],rr[2],rr[3],Jt]];break;case 16:var tr=p[1],mr=d(tr[5]),Ft=[16,[0,tr[1],tr[2],tr[3],tr[4],mr]];break;case 17:var Xt=p[1],hr=d(Xt[4]),Ft=[17,[0,Xt[1],Xt[2],Xt[3],hr]];break;case 18:var Ge=p[1],Cr=d(Ge[3]),Ft=[18,[0,Ge[1],Ge[2],Cr]];break;case 19:var Ft=[19,[0,d(p[1][1])]];break;case 20:var rt=p[1],yr=d(rt[3]),Ft=[20,[0,rt[1],rt[2],yr]];break;case 21:var sr=p[1],Ir=d(sr[3]),Ft=[21,[0,sr[1],sr[2],Ir]];break;case 22:var Dr=p[1],on=d(Dr[5]),Ft=[22,[0,Dr[1],Dr[2],Dr[3],Dr[4],on]];break;case 23:var cn=p[1],Lr=d(cn[3]),Ft=[23,[0,cn[1],cn[2],Lr]];break;case 24:var fn=p[1],rn=d(fn[5]),Ft=[24,[0,fn[1],fn[2],fn[3],fn[4],rn]];break;case 25:var vt=p[1],qr=d(vt[5]),Ft=[25,[0,vt[1],vt[2],vt[3],vt[4],qr]];break;case 26:var Pe=p[1],Lt=d(Pe[5]),Ft=[26,[0,Pe[1],Pe[2],Pe[3],Pe[4],Lt]];break;case 27:var Xe=p[1],Mt=Xe[11],Gt=d(Xe[10]),Ft=[27,[0,Xe[1],Xe[2],Xe[3],Xe[4],Xe[5],Xe[6],Xe[7],Xe[8],Xe[9],Gt,Mt]];break;case 28:var Ze=p[1],Xr=d(Ze[4]),Ft=[28,[0,Ze[1],Ze[2],Ze[3],Xr]];break;case 29:var qt=p[1],kn=d(qt[5]),Ft=[29,[0,qt[1],qt[2],qt[3],qt[4],kn]];break;case 30:var Ki=p[1],Qe=d(Ki[5]),Ft=[30,[0,Ki[1],Ki[2],Ki[3],Ki[4],Qe]];break;case 31:var Vt=p[1],We=d(Vt[3]),Ft=[31,[0,Vt[1],Vt[2],We]];break;case 32:var Qt=p[1],gn=d(Qt[3]),Ft=[32,[0,Qt[1],Qt[2],gn]];break;case 33:var qn=p[1],gr=qn[3],wn=d(qn[2]),Ft=[33,[0,qn[1],wn,gr]];break;case 34:var br=p[1],jn=br[4],Rn=d(br[3]),Ft=[34,[0,br[1],br[2],Rn,jn]];break;case 35:var ai=p[1],mn=d(ai[2]),Ft=[35,[0,ai[1],mn]];break;case 36:var Jn=p[1],Oi=d(Jn[4]),Ft=[36,[0,Jn[1],Jn[2],Jn[3],Oi]];break;case 37:var Cn=p[1],Fi=d(Cn[4]),Ft=[37,[0,Cn[1],Cn[2],Cn[3],Fi]];break;case 38:var Ri=p[1],Da=d(Ri[5]),Ft=[38,[0,Ri[1],Ri[2],Ri[3],Ri[4],Da]];break;case 39:var Ha=p[1],Fs=d(Ha[3]),Ft=[39,[0,Ha[1],Ha[2],Fs]];break;case 40:var Ks=p[1],Yo=d(Ks[3]),Ft=[40,[0,Ks[1],Ks[2],Yo]];break;default:var ra=p[1],we=d(ra[3]),Ft=[41,[0,ra[1],ra[2],we]]}return[0,q,Ft]}var Sd=P8(iTe)===Ws?iTe:iTe[1];VK(Jq,Sd);var y3=t,Tp=null,Gxe=void 0;function VV(a){return 1-(a===Gxe?1:0)}y3.String,y3.RegExp,y3.Object,y3.Date,y3.Math;function z1t(a){throw a}function Vxe(a){return J(z1t,a)}y3.JSON;var jxe=y3.Array,q3=y3.Error;yG(function(a){return a[1]===nTe?[0,C1(a[2].toString())]:0}),yG(function(a){return a instanceof jxe?0:[0,C1(a.toString())]});var XT=[0,0];function Eo(a){return H3e(Pb(a))}function aa(a){return L0e(Pb(a))}function Ho(a,u){return aa(xn(TQ(a,u)))}function za(a,u){return u?J(a,u[1]):Tp}function iN(a,u){return u[0]===0?Tp:a(u[1])}function Dl(a){return Eo([0,[0,uTt,a[1]],[0,[0,RTt,a[2]],0]])}function Jxe(a){var u=a[1],p=u?Ei(u[1][1]):Tp,d=[0,[0,aTt,Dl(a[3])],0];return Eo([0,[0,oTt,p],[0,[0,sTt,Dl(a[2])],d]])}function du(a){if(!a)return 0;var u=a[1],p=u[1];return kr([0,p],[0,pi(u[3],u[2])],he)}var H1t=Ei;function aN(a,u,p){var d=u[p];return VV(d)?d|0:a}function Xxe(a,u){var p=E9(u,Gxe)?{}:u,d=C1(a),q=aN(D9[6],p,hTt),g=aN(D9[5],p,fTt),O=aN(D9[4],p,dTt),B=aN(D9[3],p,xTt),W=aN(D9[2],p,mTt),Y=[0,aN(D9[1],p,kTt),W,B,O,g,q,0,0],V=p[o5],Z=VV(V),se=Z&&V|0,ae=p[at],ue=VV(ae)?ae|0:1,pe=p.all_comments,xe=VV(pe)?pe|0:1,ye=[0,0],ge=se?[0,function(ke){return ye[1]=[0,ke,ye[1]],0}]:0,Ne=0,Fe=_Tt[1];try{var ze=0,ut=FB(d),it=ze,Tt=ut}catch(ke){var Rt=n0(ke);if(Rt!==Yb)throw Pr(Rt,0);var kt=[0,[0,[0,Ne,v9[2],v9[3]],48],0],it=kt,Tt=FB(jYe)}var ft=[0,Ne,Tt,DNe,0,Y[5],Hue,SNe],It=[0,Rv(ft,0)],dt=[0,[0,it],[0,0],v1[1],[0,0],Y[6],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,[0,XYe],[0,ft],It,[0,ge],Y,Ne,[0,0],[0,JYe]],Ot=J(Er[1],dt),At=xn(dt[1][1]),wt=xn(tR(function(ke,qe){var Ie=ke[2],Wt=ke[1];return oV[3].call(null,qe,Wt)?[0,Wt,Ie]:[0,oV[4].call(null,qe,Wt),[0,qe,Ie]]},[0,oV[1],0],At)[2]);if(wt){var or=wt[2],rr=wt[1];if(Fe)throw Pr([0,F1t,rr,or],1)}XT[1]=0;var Jt=ii(d)-0|0,tr=q1(d);e:{t:{for(var mr=0,Xt=0;;){if(Xt===Jt)break t;var hr=Lu(tr,Xt);r:{if(0<=hr&&xR>=hr){var Ge=1;break r}if(NY<=hr&&DU>=hr){var Ge=2;break r}if(S2<=hr&&ho>=hr){var Ge=3;break r}if(LO<=hr&&em>=hr){var Ge=4;break r}var Ge=0}if(Ge===0)var mr=sV(mr,Xt,0),Xt=Xt+1|0;else{if((Jt-Xt|0)>>0)throw Pr([0,Wa,Fve],1);switch(Cr){case 0:var yr=Lu(tr,Xt);break;case 1:var yr=(Lu(tr,Xt)&31)<<6|Lu(tr,Xt+1|0)&63;break;case 2:var yr=(Lu(tr,Xt)&15)<<12|(Lu(tr,Xt+1|0)&63)<<6|Lu(tr,Xt+2|0)&63;break;default:var yr=(Lu(tr,Xt)&7)<<18|(Lu(tr,Xt+1|0)&63)<<12|(Lu(tr,Xt+2|0)&63)<<6|Lu(tr,Xt+3|0)&63}var mr=sV(mr,Xt,[0,yr]),Xt=rt}}var sr=sV(mr,Xt,0);break e}var sr=mr}for(var Ir=nVe,Dr=xn([0,6,sr]);;){var on=Ir[3],cn=Ir[2],Lr=Ir[1];if(!Dr)break;var fn=Dr[1];if(fn===5){var rn=Dr[2];if(rn&&rn[1]===6){var vt=rn[2],Ir=[0,Lr+2|0,0,[0,Pb(xn([0,Lr,cn])),on]],Dr=vt;continue}}else if(6>fn){var qr=Dr[2],Ir=[0,Lr+hle(fn)|0,[0,Lr,cn],on],Dr=qr;continue}var Pe=Dr[2],Lt=[0,Pb(xn([0,Lr,cn])),on],Ir=[0,Lr+hle(fn)|0,0,Lt],Dr=Pe}var Xe=Pb(xn(on));if(ue)var Gt=Ot;else var Mt=J(U1t[1],0),Gt=K(ki(Mt,-201766268,lc),Mt,Ot);if(xe)var Xr=Gt;else var Ze=Gt[2],Xr=[0,Gt[1],[0,Ze[1],Ze[2],Ze[3],0]];function qt(ke,qe,Ie,Wt){var pr=[0,WQ(Xe,qe[3]),0],jr=[0,[0,jXe,aa([0,WQ(Xe,qe[2]),pr])],0],En=pi(jr,[0,[0,JXe,Jxe(qe)],0]);if(Ie){var Hn=Ie[1],Ci=Hn[1];if(Ci){var xi=Hn[2];if(xi)var na=[0,[0,XXe,Om(xi)],0],Gi=[0,[0,ZXe,Om(Ci)],na];else var Gi=[0,[0,eZe,Om(Ci)],0];var ha=Gi}else var ea=Hn[2],Di=ea?[0,[0,tZe,Om(ea)],0]:0,ha=Di;var wi=ha}else var wi=0;return Eo(S9(pi(En,pi(wi,[0,[0,rZe,Ei(ke)],0])),Wt))}function kn(ke){return Ho(Ki,ke)}function Ki(ke){var qe=ke[2],Ie=ke[1];switch(qe[0]){case 0:return Oi([0,Ie,qe[1]]);case 1:var Wt=qe[1],pr=Wt[2];return qt(lZe,Ie,pr,[0,[0,uZe,za(br,Wt[1])],0]);case 2:return yt(aat,[0,Ie,qe[1]]);case 3:var jr=qe[1],En=jr[3],Hn=jr[6],Ci=jr[5],xi=jr[4],na=jr[2],Gi=jr[1],ea=up(du(En[2][3]),Hn),Di=[0,[0,Jat,za(Ql,na)],0],ha=[0,[0,Xat,cx(xi)],Di],wi=En[2],Ya=wi[2],Na=wi[1];if(Ya)var gs=Ya[1],fs=gs[2],eo=fs[2],Es=gs[1],yo=qt(ist,Es,eo,[0,[0,nst,Za(fs[1])],0]),ds=aa(xn([0,yo,TQ(ui,Na)]));else var ds=aa(yd(ui,Na));var xs=[0,[0,est,br(Gi)],[0,[0,Zat,ds],ha]];return qt(rst,Ie,ea,[0,[0,tst,Oi(Ci)],xs]);case 4:var as=qe[1],os=as[2];return qt(TZe,Ie,os,[0,[0,cZe,za(br,as[1])],0]);case 5:return qt(pZe,Ie,qe[1][1],0);case 6:return Ri([0,Ie,qe[1]]);case 7:return Da([0,Ie,qe[1]]);case 8:return Yo([0,Ie,qe[1]]);case 9:var Ka=qe[1],Bs=Ka[5],Ls=Ka[4],ys=Ka[3],qo=Ka[2],Ds=Ka[1];if(ys){var ao=ys[1];if(ao[0]!==0&&!ao[1][2])return qt(hZe,Ie,Bs,[0,[0,_Ze,za(lR,Ls)],0])}if(qo){var To=qo[1];switch(To[0]){case 0:var s0=Cn(To[1]);break;case 1:var s0=Fi(To[1]);break;case 2:var s0=Ri(To[1]);break;case 3:var s0=Da(To[1]);break;case 4:var s0=$o(To[1]);break;case 5:var s0=Ft(To[1]);break;case 6:var s0=Oe(1,To[1]);break;case 7:var s0=la(To[1]);break;default:var s0=Yo(To[1])}var Q0=s0}else var Q0=Tp;var Nl=[0,[0,fZe,za(lR,Ls)],0],Ou=[0,[0,xZe,Q0],[0,[0,dZe,we(ys)],Nl]],T0=Ds?1:0;return qt(kZe,Ie,Bs,[0,[0,mZe,!!T0],Ou]);case 10:return Fi([0,Ie,qe[1]]);case 11:var eu=qe[1],xo=eu[5],wl=eu[4],v0=eu[2],ET=eu[1],Tl=[0,[0,Pit,Ho(hs,eu[3])],0],Vc=[0,[0,Bit,lx(0,wl)],Tl],OT=[0,[0,Iit,za(Ql,v0)],Vc];return qt(Wit,Ie,xo,[0,[0,Mit,br(ET)],OT]);case 12:var Ua=qe[1],Ac=Ua[1],Sa=Ua[3],tu=Ua[2],ju=Ac[0]===0?br(Ac[1]):lR(Ac[1]);return qt(CZe,Ie,Sa,[0,[0,qZe,ju],[0,[0,yZe,Oi(tu)],0]]);case 13:var YR=qe[1],Jl=YR[2];return qt(gZe,Ie,Jl,[0,[0,AZe,bT(YR[1])],0]);case 14:var Xl=qe[1],gc=Xl[3],KR=Xl[2],jc=br(Xl[1]);return qt(OZe,Ie,gc,[0,[0,EZe,jc],[0,[0,bZe,Oi(KR)],0]]);case 15:var ru=qe[1],_p=ru[4],Jc=ru[2],u_=ru[1],vu=[0,[0,Hit,$o(ru[3])],0],hp=[0,[0,Yit,za(Ql,Jc)],vu];return qt(Git,Ie,_p,[0,[0,Kit,br(u_)],hp]);case 16:return Oe(1,[0,Ie,qe[1]]);case 17:return Cn([0,Ie,qe[1]]);case 18:var nu=qe[1],vT=nu[3],bc=nu[1],e1=[0,[0,vZe,Qe(nu[2])],0];return qt(SZe,Ie,vT,[0,[0,DZe,Ki(bc)],e1]);case 19:return qt($Ze,Ie,qe[1][1],0);case 20:var fp=qe[1],Nd=fp[3],Ec=fp[1],dp=[0,[0,Kst,_s(fp[2])],0];return qt(Vst,Ie,Nd,[0,[0,Gst,br(Ec)],dp]);case 21:var Xc=qe[1],N1=Xc[2],t1=Xc[3],N_=N1[0]===0?Ki(N1[1]):Qe(N1[1]);return qt(wZe,Ie,t1,[0,[0,NZe,N_],[0,[0,QZe,Ei(ra(1))],0]]);case 22:var r1=qe[1],p2=r1[5],_2=r1[4],Uk=r1[3],Fk=r1[2],Lk=r1[1];if(Fk){var zk=Fk[1];if(zk[0]!==0){var i4=zk[1][2],Hk=[0,[0,PZe,Ei(ra(_2))],0],sA=[0,[0,BZe,za(br,i4)],Hk];return qt(MZe,Ie,p2,[0,[0,IZe,za(lR,Uk)],sA])}}var hC=[0,[0,WZe,Ei(ra(_2))],0],vm=[0,[0,UZe,za(lR,Uk)],hC],a4=[0,[0,FZe,we(Fk)],vm];return qt(zZe,Ie,p2,[0,[0,LZe,za(Ki,Lk)],a4]);case 23:var R7=qe[1],s4=R7[3],u7=R7[1],fC=[0,[0,HZe,za(H1t,R7[2])],0];return qt(KZe,Ie,s4,[0,[0,YZe,Qe(u7)],fC]);case 24:var px=qe[1],dC=px[5],Dm=px[3],o4=px[2],xC=px[1],l7=[0,[0,GZe,Ki(px[4])],0],Sm=[0,[0,VZe,za(Qe,Dm)],l7],c7=[0,[0,jZe,za(Qe,o4)],Sm];return qt(XZe,Ie,dC,[0,[0,JZe,za(function(TI){return TI[0]===0?pp(TI[1]):Qe(TI[1])},xC)],c7]);case 25:var h2=qe[1],T7=h2[1],R4=h2[5],Yk=h2[4],oA=h2[3],u4=h2[2],p7=T7[0]===0?pp(T7[1]):Za(T7[1]),_7=[0,[0,eet,Ki(oA)],[0,[0,ZZe,!!Yk],0]];return qt(net,Ie,R4,[0,[0,ret,p7],[0,[0,tet,Qe(u4)],_7]]);case 26:var h7=qe[1],f7=h7[1],mC=h7[5],f2=h7[4],l4=h7[3],xp=h7[2],DT=f7[0]===0?pp(f7[1]):Za(f7[1]),wd=[0,[0,aet,Ki(l4)],[0,[0,iet,!!f2],0]];return qt(Ret,Ie,mC,[0,[0,oet,DT],[0,[0,set,Qe(xp)],wd]]);case 27:var ST=qe[1],kC=ST[3],Kk=ST[2],c4=ST[10],Gk=ST[9],T4=ST[8],p4=ST[7],yE=ST[6],d2=ST[5],Vk=ST[4],_x=Kk[2][4],jk=ST[1],d7=kC[0]===0?kC[1]:Ln(_nt),g3=up(du(_x),c4);if(yE===0)var _4=0,b3=hnt;else var _4=[0,[0,mnt,!!Vk],[0,[0,xnt,!!d2],[0,[0,dnt,za(_C,p4)],[0,[0,fnt,!1],0]]]],b3=knt;var RN=[0,[0,ynt,za(Ql,Gk)],0],uN=[0,[0,qnt,co(T4)],RN],E3=[0,[0,Cnt,Oi(d7)],uN],Ev=[0,[0,Ant,Xn(Kk)],E3];return qt(b3,Ie,g3,pi([0,[0,gnt,za(br,jk)],Ev],_4));case 28:var O3=qe[1],qE=O3[3],$=O3[4],ne=O3[2],k=O3[1];if(qE)var v=qE[1][2],N=Ki(dE(v[1],v[2]));else var N=Tp;var L=[0,[0,cet,Ki(ne)],[0,[0,uet,N],0]];return qt(pet,Ie,$,[0,[0,Tet,Qe(k)],L]);case 29:var X=qe[1],ie=X[4],ce=X[3],be=X[5],Ye=X[2],$t=X[1];if(ie){var xr=ie[1];if(xr[0]===0)var Xi=yd(function(pI){var jV=pI[3],Bte=pI[2],Zxe=pI[1],K1t=Bte?O0(jV[1],Bte[1][1]):jV[1],e2e=Bte?Bte[1]:jV;e:{t:{var t2e=0;if(Zxe){switch(Zxe[1]){case 0:var r2e=Kh;break;case 1:var r2e=Z5;break;default:break t}var Qgt=r2e;break e}}var Qgt=Tp}var E2r=[0,[0,Fct,br(e2e)],[0,[0,Uct,Qgt],t2e]];return qt(zct,K1t,0,[0,[0,Lct,br(jV)],E2r])},xr[1]);else var un=xr[1],ni=un[1],Xi=[0,qt(Wct,ni,0,[0,[0,Mct,br(un[2])],0]),0];var ma=Xi}else var ma=0;if(ce)var ja=ce[1][1],ya=[0,[0,Bct,br(ja)],0],so=[0,qt(Ict,ja[1],0,ya),ma];else var so=ma;switch($t){case 0:var La=_et;break;case 1:var La=het;break;default:var La=fet}var N0=[0,[0,xet,lR(Ye)],[0,[0,det,Ei(La)],0]];return qt(ket,Ie,be,[0,[0,met,aa(so)],N0]);case 30:return la([0,Ie,qe[1]]);case 31:var nR=qe[1],Du=nR[3],Su=nR[1],Ju=[0,[0,yet,Ki(nR[2])],0];return qt(Cet,Ie,Du,[0,[0,qet,br(Su)],Ju]);case 32:var $u=qe[1],Xu=$u[3],Zl=$u[1],Zu=[0,[0,Aet,Ho(We,$u[2])],0];return qt(bet,Ie,Xu,[0,[0,get,Qe(Zl)],Zu]);case 33:var Zc=qe[1],$T=Zc[2];return qt(Oet,Ie,$T,[0,[0,Eet,za(Qe,Zc[1])],0]);case 34:var w1=qe[1],Pd=w1[3],w_=w1[1],Bd=[0,[0,vet,Ho(mn,w1[2])],0];return qt($et,Ie,Pd,[0,[0,Det,Qe(w_)],Bd]);case 35:var P_=qe[1],x7=P_[2];return qt(Net,Ie,x7,[0,[0,Qet,Qe(P_[1])],0]);case 36:var m7=qe[1],h4=m7[4],f4=m7[2],wa=m7[1],d4=[0,[0,wet,za(Oi,m7[3])],0],Pn=[0,[0,Pet,za(Jn,f4)],d4];return qt(Iet,Ie,h4,[0,[0,Bet,Oi(wa)],Pn]);case 37:return Ft([0,Ie,qe[1]]);case 38:return Oe(0,[0,Ie,qe[1]]);case 39:return pp([0,Ie,qe[1]]);case 40:var CE=qe[1],Pa=CE[3],qa=CE[1],aTe=[0,[0,Met,Ki(CE[2])],0];return qt(Uet,Ie,Pa,[0,[0,Wet,Qe(qa)],aTe]);default:var ba=qe[1],Y1t=ba[3],sTe=ba[1],oTe=[0,[0,Fet,Ki(ba[2])],0];return qt(zet,Ie,Y1t,[0,[0,Let,Qe(sTe)],oTe])}}function Qe(ke){var qe=ke[2],Ie=ke[1];switch(qe[0]){case 0:var Wt=qe[1],pr=Wt[2],jr=[0,[0,Het,Ho(Sl,Wt[1])],0];return qt(Yet,Ie,du(pr),jr);case 1:var En=qe[1],Hn=En[3],Ci=En[2],xi=En[10],na=En[9],Gi=En[8],ea=En[7],Di=En[4],ha=Ci[2][4];if(Hn[0]===0)var wi=0,Ya=Oi(Hn[1]);else var wi=1,Ya=Qe(Hn[1]);var Na=up(du(ha),xi),gs=[0,[0,Ket,za(Ql,na)],0],fs=[0,[0,Vet,!!wi],[0,[0,Get,co(Gi)],gs]],eo=[0,[0,Zet,Ya],[0,[0,Xet,!!Di],[0,[0,Jet,!1],[0,[0,jet,za(_C,ea)],fs]]]];return qt(rtt,Ie,Na,[0,[0,ttt,Tp],[0,[0,ett,Xn(Ci)],eo]]);case 2:var Es=qe[1],yo=Es[2];return qt(itt,Ie,yo,[0,[0,ntt,Qe(Es[1])],0]);case 3:var ds=qe[1],xs=ds[3],as=ds[1],os=[0,[0,att,$o(ds[2][2])],0];return qt(ott,Ie,xs,[0,[0,stt,Qe(as)],os]);case 4:var Ka=qe[1],Bs=Ka[1],Ls=Ka[4],ys=Ka[3],qo=Ka[2];if(Bs){switch(Bs[1]){case 0:var Ds=KDe;break;case 1:var Ds=GDe;break;case 2:var Ds=VDe;break;case 3:var Ds=jDe;break;case 4:var Ds=JDe;break;case 5:var Ds=XDe;break;case 6:var Ds=ZDe;break;case 7:var Ds=eSe;break;case 8:var Ds=tSe;break;case 9:var Ds=rSe;break;case 10:var Ds=nSe;break;case 11:var Ds=iSe;break;case 12:var Ds=aSe;break;case 13:var Ds=sSe;break;default:var Ds=oSe}var ao=Ds}else var ao=Rtt;var To=[0,[0,utt,Qe(ys)],0];return qt(Ttt,Ie,Ls,[0,[0,ctt,Ei(ao)],[0,[0,ltt,Za(qo)],To]]);case 5:var s0=qe[1],Q0=s0[4],Nl=s0[2],Ou=s0[1],T0=[0,[0,ptt,Qe(s0[3])],0],eu=[0,[0,_tt,Qe(Nl)],T0];switch(Ou){case 0:var xo=gDe;break;case 1:var xo=bDe;break;case 2:var xo=EDe;break;case 3:var xo=ODe;break;case 4:var xo=vDe;break;case 5:var xo=DDe;break;case 6:var xo=SDe;break;case 7:var xo=$De;break;case 8:var xo=QDe;break;case 9:var xo=NDe;break;case 10:var xo=wDe;break;case 11:var xo=PDe;break;case 12:var xo=BDe;break;case 13:var xo=IDe;break;case 14:var xo=MDe;break;case 15:var xo=WDe;break;case 16:var xo=UDe;break;case 17:var xo=FDe;break;case 18:var xo=LDe;break;case 19:var xo=zDe;break;case 20:var xo=HDe;break;default:var xo=YDe}return qt(ftt,Ie,Q0,[0,[0,htt,Ei(xo)],eu]);case 6:var wl=qe[1],v0=wl[4],ET=up(du(wl[3][2][2]),v0);return qt(dtt,Ie,ET,n4(wl));case 7:return yt(sat,[0,Ie,qe[1]]);case 8:var Tl=qe[1],Vc=Tl[4],OT=Tl[2],Ua=Tl[1],Ac=[0,[0,xtt,Qe(Tl[3])],0],Sa=[0,[0,mtt,Qe(OT)],Ac];return qt(ytt,Ie,Vc,[0,[0,ktt,Qe(Ua)],Sa]);case 9:return wn([0,Ie,qe[1]]);case 10:return br(qe[1]);case 11:var tu=qe[1],ju=tu[2];return qt(Ctt,Ie,ju,[0,[0,qtt,Qe(tu[1])],0]);case 12:return Mk([0,Ie,qe[1]]);case 13:return pC([0,Ie,qe[1]]);case 14:return lR([0,Ie,qe[1]]);case 15:return S_([0,Ie,qe[1]]);case 16:return Gc([0,Ie,qe[1]]);case 17:return c0([0,Ie,qe[1]]);case 18:return jl([0,Ie,qe[1]]);case 19:var YR=qe[1],Jl=YR[2],Xl=YR[1],gc=YR[4],KR=YR[3];try{var jc=new RegExp(Ei(Xl),Ei(Jl)),ru=jc}catch{var ru=Tp}return qt(f0t,Ie,gc,[0,[0,h0t,ru],[0,[0,_0t,Ei(KR)],[0,[0,p0t,Eo([0,[0,T0t,Ei(Xl)],[0,[0,c0t,Ei(Jl)],0]])],0]]]);case 20:var _p=qe[1];return lR([0,Ie,[0,_p[1],_p[5],_p[6]]]);case 21:var Jc=qe[1],u_=Jc[4],vu=Jc[3],hp=Jc[2];switch(Jc[1]){case 0:var nu=Att;break;case 1:var nu=gtt;break;default:var nu=btt}var vT=[0,[0,Ett,Qe(vu)],0];return qt(Dtt,Ie,u_,[0,[0,vtt,Ei(nu)],[0,[0,Ott,Qe(hp)],vT]]);case 22:var bc=qe[1],e1=bc[3],fp=bc[1],Nd=[0,[0,Stt,Ho(Vt,bc[2])],0];return qt(Qtt,Ie,e1,[0,[0,$tt,Qe(fp)],Nd]);case 23:var Ec=qe[1],dp=Ec[3];return qt(Ntt,Ie,dp,mE(Ec));case 24:var Xc=qe[1],N1=Xc[3],t1=Xc[1],N_=[0,[0,wtt,br(Xc[2])],0];return qt(Btt,Ie,N1,[0,[0,Ptt,br(t1)],N_]);case 25:var r1=qe[1],p2=r1[4],_2=r1[3],Uk=r1[2],Fk=r1[1];if(_2)var Lk=_2[1],zk=up(du(Lk[2][2]),p2),i4=zk,Hk=ai(Lk);else var i4=p2,Hk=aa(0);var sA=[0,[0,Mtt,za(Qd,Uk)],[0,[0,Itt,Hk],0]];return qt(Utt,Ie,i4,[0,[0,Wtt,Qe(Fk)],sA]);case 26:var hC=qe[1],vm=hC[2],a4=[0,[0,Ftt,Ho(zR,hC[1])],0];return qt(Ltt,Ie,du(vm),a4);case 27:var R7=qe[1],s4=R7[1],u7=R7[3],fC=s4[4],px=up(du(s4[3][2][2]),fC);return qt(Htt,Ie,px,pi(n4(s4),[0,[0,ztt,!!u7],0]));case 28:var dC=qe[1],Dm=dC[1],o4=Dm[3],xC=[0,[0,Ytt,!!dC[3]],0];return qt(Ktt,Ie,o4,pi(mE(Dm),xC));case 29:var l7=qe[1],Sm=l7[2];return qt(Vtt,Ie,Sm,[0,[0,Gtt,Ho(Qe,l7[1])],0]);case 30:return qt(jtt,Ie,qe[1][1],0);case 31:var c7=qe[1],h2=c7[3],T7=c7[1],R4=[0,[0,O0t,Q1(c7[2])],0];return qt(D0t,Ie,h2,[0,[0,v0t,Qe(T7)],R4]);case 32:return Q1([0,Ie,qe[1]]);case 33:return qt(Jtt,Ie,qe[1][1],0);case 34:var Yk=qe[1],oA=Yk[3],u4=Yk[1],p7=[0,[0,Xtt,bT(Yk[2])],0];return qt(ert,Ie,oA,[0,[0,Ztt,Qe(u4)],p7]);case 35:var _7=qe[1],h7=_7[3],f7=_7[1],mC=[0,[0,trt,$o(_7[2][2])],0];return qt(nrt,Ie,h7,[0,[0,rrt,Qe(f7)],mC]);case 36:var f2=qe[1],l4=f2[3],xp=f2[2],DT=f2[1];if(7<=DT)return qt(art,Ie,l4,[0,[0,irt,Qe(xp)],0]);switch(DT){case 0:var wd=srt;break;case 1:var wd=ort;break;case 2:var wd=Rrt;break;case 3:var wd=urt;break;case 4:var wd=lrt;break;case 5:var wd=crt;break;case 6:var wd=Trt;break;default:var wd=Ln(prt)}return qt(drt,Ie,l4,[0,[0,frt,Ei(wd)],[0,[0,hrt,!0],[0,[0,_rt,Qe(xp)],0]]]);case 37:var ST=qe[1],kC=ST[4],Kk=ST[3],c4=ST[2],Gk=ST[1]?xrt:mrt;return qt(Crt,Ie,kC,[0,[0,qrt,Ei(Gk)],[0,[0,yrt,Qe(c4)],[0,[0,krt,!!Kk],0]]]);default:var T4=qe[1],p4=T4[2],yE=[0,[0,Art,!!T4[3]],0];return qt(brt,Ie,p4,[0,[0,grt,za(Qe,T4[1])],yE])}}function Vt(ke){var qe=ke[2],Ie=qe[4],Wt=qe[2],pr=qe[1],jr=ke[1],En=[0,[0,Ert,za(Qe,qe[3])],0],Hn=[0,[0,Ort,Qe(Wt)],En];return qt(Drt,jr,Ie,[0,[0,vrt,Qt(pr)],Hn])}function We(ke){var qe=ke[2],Ie=qe[4],Wt=qe[2],pr=qe[1],jr=ke[1],En=[0,[0,Srt,za(Qe,qe[3])],0],Hn=[0,[0,$rt,Oi(Wt)],En];return qt(Nrt,jr,Ie,[0,[0,Qrt,Qt(pr)],Hn])}function Qt(ke){var qe=ke[2],Ie=ke[1];function Wt(Ls){return qt(Lrt,Ie,0,[0,[0,Frt,Ls],0])}switch(qe[0]){case 0:return qt(zrt,Ie,qe[1],0);case 1:return Wt(c0([0,Ie,qe[1]]));case 2:return Wt(jl([0,Ie,qe[1]]));case 3:return Wt(lR([0,Ie,qe[1]]));case 4:return Wt(S_([0,Ie,qe[1]]));case 5:return Wt(Gc([0,Ie,qe[1]]));case 6:var pr=qe[1],jr=pr[2],En=pr[3],Hn=pr[1]?Hrt:Yrt,Ci=jr[2],xi=jr[1],na=Ci[0]===0?c0([0,xi,Ci[1]]):jl([0,xi,Ci[1]]);return qt(Vrt,Ie,En,[0,[0,Grt,Ei(Hn)],[0,[0,Krt,na],0]]);case 7:return qn([0,Ie,qe[1]]);case 8:return gn(qe[1]);case 9:var Gi=function(Ls){var ys=Ls[2],qo=ys[2],Ds=ys[1],ao=ys[3],To=Ls[1],s0=0;switch(qo[0]){case 0:var Q0=lR(qo[1]);break;case 1:var Q0=c0(qo[1]);break;default:var Q0=br(qo[1])}var Nl=[0,[0,Mrt,Q0],s0],Ou=Ds[0]===0?gn(Ds[1]):Gi(Ds[1]);return qt(Urt,To,ao,[0,[0,Wrt,Ou],Nl])};return Gi(qe[1]);case 10:var ea=qe[1],Di=ea[3],ha=ea[1],wi=[0,[0,jrt,za(gr,ea[2])],0],Ya=[0,[0,Jrt,Ho(function(Ls){var ys=Ls[2],qo=ys[1],Ds=ys[4],ao=Ls[1],To=[0,[0,wrt,!!ys[3]],0],s0=[0,[0,Prt,Qt(ys[2])],To];switch(qo[0]){case 0:var Q0=lR(qo[1]);break;case 1:var Q0=c0(qo[1]);break;default:var Q0=br(qo[1])}return qt(Irt,ao,Ds,[0,[0,Brt,Q0],s0])},ha)],wi];return qt(Xrt,Ie,du(Di),Ya);case 11:var Na=qe[1],gs=Na[3],fs=Na[1],eo=[0,[0,Zrt,za(gr,Na[2])],0],Es=[0,[0,ent,Ho(function(Ls){return Qt(Ls[2])},fs)],eo];return qt(tnt,Ie,du(gs),Es);case 12:var yo=qe[1],ds=yo[2];return qt(nnt,Ie,ds,[0,[0,rnt,Ho(Qt,yo[1])],0]);default:var xs=qe[1],as=xs[2],os=xs[3],Ka=xs[1],Bs=as[0]===0?br(as[1]):qn([0,as[1],as[2]]);return qt(snt,Ie,os,[0,[0,ant,Qt(Ka)],[0,[0,int,Bs],0]])}}function gn(ke){var qe=ke[1];return qt(Rnt,qe,0,[0,[0,ont,br(ke)],0])}function qn(ke){var qe=ke[2],Ie=qe[3],Wt=qe[2],pr=ke[1],jr=[0,[0,unt,Ei($_(qe[1]))],0];return qt(cnt,pr,Ie,[0,[0,lnt,br(Wt)],jr])}function gr(ke){var qe=ke[2],Ie=qe[2],Wt=ke[1];return qt(pnt,Wt,Ie,[0,[0,Tnt,za(qn,qe[1])],0])}function wn(ke){var qe=ke[2],Ie=qe[3],Wt=qe[2],pr=qe[10],jr=qe[9],En=qe[8],Hn=qe[7],Ci=qe[5],xi=qe[4],na=Wt[2][4],Gi=qe[1],ea=ke[1],Di=Ie[0]===0?Ie[1]:Ln(bnt),ha=up(du(na),pr),wi=[0,[0,Ent,za(Ql,jr)],0],Ya=[0,[0,vnt,!1],[0,[0,Ont,co(En)],wi]],Na=[0,[0,$nt,!!xi],[0,[0,Snt,!!Ci],[0,[0,Dnt,za(_C,Hn)],Ya]]],gs=[0,[0,Qnt,Oi(Di)],Na],fs=[0,[0,Nnt,Xn(Wt)],gs];return qt(Pnt,ea,ha,[0,[0,wnt,za(br,Gi)],fs])}function br(ke){var qe=ke[2];return qt(Wnt,ke[1],qe[2],[0,[0,Mnt,Ei(qe[1])],[0,[0,Int,Tp],[0,[0,Bnt,!1],0]]])}function jn(ke){var qe=ke[2];return qt(znt,ke[1],qe[2],[0,[0,Lnt,Ei(qe[1])],[0,[0,Fnt,Tp],[0,[0,Unt,!1],0]]])}function Rn(ke,qe){var Ie=qe[1][2],Wt=Ie[2],pr=Ie[1],jr=[0,[0,Hnt,!!qe[3]],0];return qt(Gnt,ke,Wt,[0,[0,Knt,Ei(pr)],[0,[0,Ynt,iN(bT,qe[2])],jr]])}function ai(ke){return Ho(Vu,ke[2][1])}function mn(ke){var qe=ke[2],Ie=qe[3],Wt=qe[1],pr=ke[1],jr=[0,[0,Vnt,Ho(Ki,qe[2])],0];return qt(Jnt,pr,Ie,[0,[0,jnt,za(Qe,Wt)],jr])}function Jn(ke){var qe=ke[2],Ie=qe[3],Wt=qe[1],pr=ke[1],jr=[0,[0,Xnt,Oi(qe[2])],0];return qt(eit,pr,Ie,[0,[0,Znt,za(Za,Wt)],jr])}function Oi(ke){var qe=ke[2],Ie=qe[2],Wt=ke[1],pr=[0,[0,tit,kn(qe[1])],0];return qt(rit,Wt,du(Ie),pr)}function Cn(ke){var qe=ke[2],Ie=qe[2],Wt=qe[1],pr=qe[4],jr=qe[3],En=ke[1],Hn=O0(Wt[1],Ie[1]),Ci=[0,[0,nit,Ei($_(jr))],0];return qt(ait,En,pr,[0,[0,iit,Rn(Hn,[0,Wt,[1,Ie],0])],Ci])}function Fi(ke){var qe=ke[2],Ie=qe[2],Wt=qe[1],pr=qe[4],jr=qe[3],En=ke[1],Hn=O0(Wt[1],Ie[1]),Ci=Ie[2][2];e:{if(Ci[0]===12){var xi=Ci[1][5];if(typeof xi=="number"&&!xi){var na=0,Gi=sit;break e}}var na=[0,[0,oit,za(_C,jr)],0],Gi=Rit}return qt(Gi,En,pr,pi([0,[0,uit,Rn(Hn,[0,Wt,[1,Ie],0])],0],na))}function Ri(ke){var qe=ke[2],Ie=qe[6],Wt=qe[4],pr=qe[7],jr=qe[5],En=qe[3],Hn=qe[2],Ci=qe[1],xi=ke[1],na=aa(Wt?[0,hs(Wt[1]),0]:0),Gi=Ie?Ho(tn,Ie[1][2][1]):aa(0),ea=[0,[0,Tit,na],[0,[0,cit,Gi],[0,[0,lit,Ho(hs,jr)],0]]],Di=[0,[0,pit,lx(0,En)],ea],ha=[0,[0,_it,za(Ql,Hn)],Di];return qt(fit,xi,pr,[0,[0,hit,br(Ci)],ha])}function Da(ke){var qe=ke[2],Ie=qe[3],Wt=ke[1],pr=qe[5],jr=qe[4],En=qe[2],Hn=qe[1],Ci=up(du(Ie[2][3]),pr),xi=Ie[2],na=xi[1],Gi=xi[2],ea=[0,[0,dit,za(Ql,En)],0],Di=[0,[0,xit,cx(jr)],ea],ha=[0,[0,mit,Ha(na)],Di],wi=[0,[0,kit,za(Fs,Gi)],ha],Ya=[0,[0,yit,Ha(na)],wi];return qt(Cit,Wt,Ci,[0,[0,qit,br(Hn)],Ya])}function Ha(ke){return aa(yd(function(qe){var Ie=qe[2];return Ks(0,Ie[3],qe[1],[0,Ie[1]],Ie[2][2])},ke))}function Fs(ke){var qe=ke[2],Ie=qe[4],Wt=qe[3],pr=qe[2],jr=ke[1];return Ks(Ie,Wt,jr,cQ(function(En){return[0,En]},qe[1]),pr)}function Ks(ke,qe,Ie,Wt,pr){if(Wt)var jr=Wt[1],En=jr[0]===0?za(br,[0,jr[1]]):za(lR,[0,jr[1]]),Hn=En;else var Hn=za(br,0);return qt($it,Ie,ke,[0,[0,Sit,Hn],[0,[0,Dit,$o(pr)],[0,[0,vit,!!qe],0]]])}function Yo(ke){var qe=ke[2],Ie=qe[3],Wt=qe[1],pr=ke[1],jr=[0,[0,Qit,_s(qe[2])],0];return qt(wit,pr,Ie,[0,[0,Nit,br(Wt)],jr])}function ra(ke){return ke?Uit:Fit}function we(ke){if(!ke)return aa(0);var qe=ke[1];if(qe[0]===0)return Ho(Cv,qe[1]);var Ie=qe[1],Wt=Ie[2],pr=Ie[1];return aa(Wt?[0,qt(zit,pr,0,[0,[0,Lit,br(Wt[1])],0]),0]:0)}function Ft(ke){var qe=ke[2],Ie=qe[4],Wt=qe[2],pr=qe[1],jr=ke[1],En=[0,[0,Vit,$o(qe[3])],0],Hn=[0,[0,jit,za(Ql,Wt)],En];return qt(Xit,jr,Ie,[0,[0,Jit,br(pr)],Hn])}function Oe(ke,qe){var Ie=qe[2],Wt=Ie[5],pr=Ie[4],jr=Ie[3],En=Ie[2],Hn=Ie[1],Ci=qe[1],xi=ke?Zit:eat,na=[0,[0,tat,za($o,pr)],0],Gi=[0,[0,rat,za($o,jr)],na],ea=[0,[0,nat,za(Ql,En)],Gi];return qt(xi,Ci,Wt,[0,[0,iat,br(Hn)],ea])}function yt(ke,qe){var Ie=qe[2],Wt=Ie[7],pr=Ie[5],jr=Ie[4],En=Ie[2],Hn=Ie[6],Ci=Ie[3],xi=Ie[1],na=qe[1];if(jr)var Gi=jr[1][2],ea=Gi[2],Di=Gi[1],ha=up(Gi[3],Wt),wi=ea,Ya=[0,Di];else var ha=Wt,wi=0,Ya=0;if(pr)var Na=pr[1][2],gs=Na[1],fs=up(Na[2],ha),eo=fs,Es=Ho(tn,gs);else var eo=ha,Es=aa(0);var yo=[0,[0,Rat,Es],[0,[0,oat,Ho(yn,Hn)],0]],ds=[0,[0,uat,za(i7,wi)],yo],xs=[0,[0,lat,za(Qe,Ya)],ds],as=[0,[0,cat,za(Ql,Ci)],xs],os=En[2],Ka=os[2],Bs=En[1],Ls=[0,[0,Tat,qt(kat,Bs,Ka,[0,[0,mat,Ho(di,os[1])],0])],as];return qt(ke,na,eo,[0,[0,pat,za(br,xi)],Ls])}function yn(ke){var qe=ke[2],Ie=qe[2],Wt=ke[1];return qt(hat,Wt,Ie,[0,[0,_at,Qe(qe[1])],0])}function tn(ke){var qe=ke[2],Ie=qe[1],Wt=ke[1],pr=[0,[0,fat,za(i7,qe[2])],0];return qt(xat,Wt,0,[0,[0,dat,br(Ie)],pr])}function di(ke){switch(ke[0]){case 0:var qe=ke[1],Ie=qe[2],Wt=Ie[6],pr=Ie[2],jr=Ie[5],En=Ie[4],Hn=Ie[3],Ci=Ie[1],xi=qe[1];switch(pr[0]){case 0:var Di=Wt,ha=0,wi=lR(pr[1]);break;case 1:var Di=Wt,ha=0,wi=c0(pr[1]);break;case 2:var Di=Wt,ha=0,wi=jl(pr[1]);break;case 3:var Di=Wt,ha=0,wi=br(pr[1]);break;case 4:var Di=Wt,ha=0,wi=jn(pr[1]);break;default:var na=pr[1][2],Gi=na[1],ea=up(na[2],Wt),Di=ea,ha=1,wi=Qe(Gi)}switch(Ci){case 0:var Ya=yat;break;case 1:var Ya=qat;break;case 2:var Ya=Cat;break;default:var Ya=Aat}var Na=[0,[0,Oat,Ei(Ya)],[0,[0,Eat,!!En],[0,[0,bat,!!ha],[0,[0,gat,Ho(yn,jr)],0]]]];return qt(Sat,xi,Di,[0,[0,Dat,wi],[0,[0,vat,wn(Hn)],Na]]);case 1:var gs=ke[1],fs=gs[2],eo=fs[7],Es=fs[6],yo=fs[2],ds=fs[1],xs=fs[5],as=fs[4],os=fs[3],Ka=gs[1];switch(ds[0]){case 0:var Ds=eo,ao=0,To=lR(ds[1]);break;case 1:var Ds=eo,ao=0,To=c0(ds[1]);break;case 2:var Ds=eo,ao=0,To=jl(ds[1]);break;case 3:var Ds=eo,ao=0,To=br(ds[1]);break;case 4:var Bs=Ln(Uat),Ds=Bs[3],ao=Bs[2],To=Bs[1];break;default:var Ls=ds[1][2],ys=Ls[1],qo=up(Ls[2],eo),Ds=qo,ao=1,To=Qe(ys)}if(typeof yo=="number")if(yo)var s0=0,Q0=0;else var s0=1,Q0=0;else var s0=0,Q0=[0,yo[1]];var Nl=s0?[0,[0,Fat,!!s0],0]:0,Ou=Es===0?0:[0,[0,Lat,Ho(yn,Es)],0],T0=pi(Ou,Nl),eu=[0,[0,Yat,!!ao],[0,[0,Hat,!!as],[0,[0,zat,za(o_,xs)],0]]],xo=[0,[0,Kat,iN(bT,os)],eu];return qt(jat,Ka,Ds,pi([0,[0,Vat,To],[0,[0,Gat,za(Qe,Q0)],xo]],T0));default:var wl=ke[1],v0=wl[2],ET=v0[6],Tl=v0[2],Vc=v0[7],OT=v0[5],Ua=v0[4],Ac=v0[3],Sa=v0[1],tu=wl[1];if(typeof Tl=="number")if(Tl)var ju=0,YR=0;else var ju=1,YR=0;else var ju=0,YR=[0,Tl[1]];var Jl=ju?[0,[0,$at,!!ju],0]:0,Xl=ET===0?0:[0,[0,Qat,Ho(yn,ET)],0],gc=pi(Xl,Jl),KR=[0,[0,Pat,!1],[0,[0,wat,!!Ua],[0,[0,Nat,za(o_,OT)],0]]],jc=[0,[0,Bat,iN(bT,Ac)],KR],ru=[0,[0,Iat,za(Qe,YR)],jc];return qt(Wat,tu,Vc,pi([0,[0,Mat,jn(Sa)],ru],gc))}}function ui(ke){var qe=ke[2],Ie=qe[3],Wt=qe[2],pr=qe[1],jr=ke[1],En=qe[4],Hn=pr[0]===0?br(pr[1]):lR(pr[1]);if(Ie)var Ci=[0,[0,ast,Qe(Ie[1])],0],xi=qt(ost,jr,0,[0,[0,sst,Za(Wt)],Ci]);else var xi=Za(Wt);return qt(cst,jr,0,[0,[0,lst,Hn],[0,[0,ust,xi],[0,[0,Rst,!!En],0]]])}function _s(ke){var qe=ke[2],Ie=ke[1];switch(qe[0]){case 0:var Wt=qe[1],pr=Wt[4],jr=[0,[0,vst,!!Wt[2]],[0,[0,Ost,!!Wt[3]],0]],En=[0,[0,Dst,Ho(function(os){var Ka=os[2],Bs=Ka[1],Ls=os[1],ys=[0,[0,gst,S_(Ka[2])],0];return qt(Est,Ls,0,[0,[0,bst,br(Bs)],ys])},Wt[1])],jr];return qt(Sst,Ie,du(pr),En);case 1:var Hn=qe[1],Ci=Hn[4],xi=[0,[0,Qst,!!Hn[2]],[0,[0,$st,!!Hn[3]],0]],na=[0,[0,Nst,Ho(function(os){var Ka=os[2],Bs=Ka[1],Ls=os[1],ys=[0,[0,qst,c0(Ka[2])],0];return qt(Ast,Ls,0,[0,[0,Cst,br(Bs)],ys])},Hn[1])],xi];return qt(wst,Ie,du(Ci),na);case 2:var Gi=qe[1],ea=Gi[1],Di=Gi[4],ha=Gi[3],wi=Gi[2],Ya=ea[0]===0?yd(function(os){var Ka=os[1];return qt(yst,Ka,0,[0,[0,kst,br(os[2][1])],0])},ea[1]):yd(function(os){var Ka=os[2],Bs=Ka[1],Ls=os[1],ys=[0,[0,dst,lR(Ka[2])],0];return qt(mst,Ls,0,[0,[0,xst,br(Bs)],ys])},ea[1]),Na=[0,[0,Ist,aa(Ya)],[0,[0,Bst,!!wi],[0,[0,Pst,!!ha],0]]];return qt(Mst,Ie,du(Di),Na);case 3:var gs=qe[1],fs=gs[3],eo=[0,[0,Wst,!!gs[2]],0],Es=[0,[0,Ust,Ho(function(os){var Ka=os[1];return qt(fst,Ka,0,[0,[0,hst,br(os[2][1])],0])},gs[1])],eo];return qt(Fst,Ie,du(fs),Es);default:var yo=qe[1],ds=yo[4],xs=[0,[0,zst,!!yo[2]],[0,[0,Lst,!!yo[3]],0]],as=[0,[0,Hst,Ho(function(os){var Ka=os[2],Bs=Ka[1],Ls=os[1],ys=[0,[0,Tst,jl(Ka[2])],0];return qt(_st,Ls,0,[0,[0,pst,br(Bs)],ys])},yo[1])],xs];return qt(Yst,Ie,du(ds),as)}}function la(ke){var qe=ke[2],Ie=qe[5],Wt=qe[4],pr=qe[2],jr=qe[1],En=ke[1],Hn=[0,[0,jst,Ho(hs,qe[3])],0],Ci=[0,[0,Jst,lx(0,Wt)],Hn],xi=[0,[0,Xst,za(Ql,pr)],Ci];return qt(eot,En,Ie,[0,[0,Zst,br(jr)],xi])}function hs(ke){var qe=ke[2],Ie=qe[1],Wt=qe[3],pr=qe[2],jr=ke[1],En=Ie[0]===0?br(Ie[1]):l2(Ie[1]);return qt(not,jr,Wt,[0,[0,rot,En],[0,[0,tot,za(i7,pr)],0]])}function Za(ke){var qe=ke[2],Ie=ke[1];switch(qe[0]){case 0:var Wt=qe[1],pr=Wt[3],jr=Wt[1],En=[0,[0,iot,iN(bT,Wt[2])],0],Hn=[0,[0,aot,Ho(HR,jr)],En];return qt(sot,Ie,du(pr),Hn);case 1:var Ci=qe[1],xi=Ci[3],na=Ci[1],Gi=[0,[0,oot,iN(bT,Ci[2])],0],ea=[0,[0,Rot,Ho(is,na)],Gi];return qt(uot,Ie,du(xi),ea);case 2:return Rn(Ie,qe[1]);default:return Qe(qe[1])}}function ci(ke){var qe=ke[2],Ie=qe[2],Wt=qe[1],pr=ke[1];if(!Ie)return Za(Wt);var jr=[0,[0,lot,Qe(Ie[1])],0];return qt(Tot,pr,0,[0,[0,cot,Za(Wt)],jr])}function Ra(ke){var qe=ke[2],Ie=qe[2],Wt=ke[1];return qt(hot,Wt,Ie,[0,[0,_ot,s3],[0,[0,pot,bT(qe[1])],0]])}function Xn(ke){var qe=ke[2],Ie=qe[3],Wt=qe[2],pr=qe[1];if(Ie){var jr=Ie[1],En=jr[2],Hn=En[2],Ci=jr[1],xi=qt(dot,Ci,Hn,[0,[0,fot,Za(En[1])],0]),na=xn([0,xi,TQ(ci,Wt)]),Gi=pr?[0,Ra(pr[1]),na]:na;return aa(Gi)}var ea=yd(ci,Wt),Di=pr?[0,Ra(pr[1]),ea]:ea;return aa(Di)}function Zi(ke,qe){var Ie=qe[2];return qt(mot,ke,Ie,[0,[0,xot,Za(qe[1])],0])}function is(ke){switch(ke[0]){case 0:var qe=ke[1],Ie=qe[2],Wt=Ie[2],pr=Ie[1],jr=qe[1];if(!Wt)return Za(pr);var En=[0,[0,kot,Qe(Wt[1])],0];return qt(qot,jr,0,[0,[0,yot,Za(pr)],En]);case 1:var Hn=ke[1];return Zi(Hn[1],Hn[2]);default:return Tp}}function co(ke){switch(ke[0]){case 0:return Tp;case 1:return bT(ke[1]);default:var qe=ke[1],Ie=qe[2],Wt=qe[1];return qt(Plt,Wt,0,[0,[0,wlt,R_([0,Ie[1],Ie[2]])],0])}}function zR(ke){if(ke[0]===0){var qe=ke[1],Ie=qe[2],Wt=qe[1];switch(Ie[0]){case 0:var pr=Ie[3],jr=Ie[1],ha=0,wi=pr,Ya=0,Na=Cot,gs=Qe(Ie[2]),fs=jr;break;case 1:var En=Ie[2],Hn=Ie[1],ha=0,wi=0,Ya=1,Na=Aot,gs=wn([0,En[1],En[2]]),fs=Hn;break;case 2:var Ci=Ie[2],xi=Ie[3],na=Ie[1],ha=xi,wi=0,Ya=0,Na=got,gs=wn([0,Ci[1],Ci[2]]),fs=na;break;default:var Gi=Ie[2],ea=Ie[3],Di=Ie[1],ha=ea,wi=0,Ya=0,Na=bot,gs=wn([0,Gi[1],Gi[2]]),fs=Di}switch(fs[0]){case 0:var xs=ha,as=0,os=lR(fs[1]);break;case 1:var xs=ha,as=0,os=c0(fs[1]);break;case 2:var xs=ha,as=0,os=jl(fs[1]);break;case 3:var xs=ha,as=0,os=br(fs[1]);break;case 4:var eo=Ln(Eot),xs=eo[3],as=eo[2],os=eo[1];break;default:var Es=fs[1][2],yo=Es[1],ds=up(Es[2],ha),xs=ds,as=1,os=Qe(yo)}return qt(Not,Wt,xs,[0,[0,Qot,os],[0,[0,$ot,gs],[0,[0,Sot,Ei(Na)],[0,[0,Dot,!!Ya],[0,[0,vot,!!wi],[0,[0,Oot,!!as],0]]]]]])}var Ka=ke[1],Bs=Ka[2],Ls=Bs[2],ys=Ka[1];return qt(Pot,ys,Ls,[0,[0,wot,Qe(Bs[1])],0])}function HR(ke){if(ke[0]!==0){var qe=ke[1];return Zi(qe[1],qe[2])}var Ie=ke[1],Wt=Ie[2],pr=Wt[3],jr=Wt[2],En=Wt[1],Hn=Wt[4],Ci=Ie[1];switch(En[0]){case 0:var Gi=0,ea=0,Di=lR(En[1]);break;case 1:var Gi=0,ea=0,Di=c0(En[1]);break;case 2:var Gi=0,ea=0,Di=jl(En[1]);break;case 3:var Gi=0,ea=0,Di=br(En[1]);break;default:var xi=En[1][2],na=xi[2],Gi=na,ea=1,Di=Qe(xi[1])}if(pr)var ha=pr[1],wi=O0(jr[1],ha[1]),Ya=[0,[0,Bot,Qe(ha)],0],Na=qt(Mot,wi,0,[0,[0,Iot,Za(jr)],Ya]);else var Na=Za(jr);return qt(Yot,Ci,Gi,[0,[0,Hot,Di],[0,[0,zot,Na],[0,[0,Lot,rd],[0,[0,Fot,!1],[0,[0,Uot,!!Hn],[0,[0,Wot,!!ea],0]]]]]])}function $1(ke){var qe=ke[2],Ie=qe[2],Wt=ke[1];return qt(Got,Wt,Ie,[0,[0,Kot,Qe(qe[1])],0])}function Vu(ke){return ke[0]===0?Qe(ke[1]):$1(ke[1])}function Sl(ke){switch(ke[0]){case 0:return Qe(ke[1]);case 1:return $1(ke[1]);default:return Tp}}function c0(ke){var qe=ke[2];return qt(Jot,ke[1],qe[3],[0,[0,jot,qe[1]],[0,[0,Vot,Ei(qe[2])],0]])}function jl(ke){var qe=ke[2],Ie=qe[2],Wt=qe[1],pr=qe[3],jr=ke[1],En=Wt?aRe(m9,Wt[1]):NRe(Xot,BRe(95,qR(Ie,0,ii(Ie)-1|0)));return qt(r0t,jr,pr,[0,[0,t0t,Tp],[0,[0,e0t,Ei(En)],[0,[0,Zot,Ei(Ie)],0]]])}function lR(ke){var qe=ke[2];return qt(a0t,ke[1],qe[3],[0,[0,i0t,Ei(qe[1])],[0,[0,n0t,Ei(qe[2])],0]])}function S_(ke){var qe=ke[2],Ie=qe[1],Wt=qe[2],pr=ke[1],jr=Ie?s0t:o0t;return qt(l0t,pr,Wt,[0,[0,u0t,!!Ie],[0,[0,R0t,Ei(jr)],0]])}function Gc(ke){return qt(m0t,ke[1],ke[2],[0,[0,x0t,Tp],[0,[0,d0t,O8],0]])}function Q1(ke){var qe=ke[2],Ie=qe[3],Wt=qe[1],pr=ke[1],jr=[0,[0,k0t,Ho(Qe,qe[2])],0];return qt(q0t,pr,Ie,[0,[0,y0t,Ho(gT,Wt)],jr])}function gT(ke){var qe=ke[2],Ie=qe[1],Wt=qe[2],pr=ke[1];return qt(E0t,pr,0,[0,[0,b0t,Eo([0,[0,A0t,Ei(Ie[1])],[0,[0,C0t,Ei(Ie[2])],0]])],[0,[0,g0t,!!Wt],0]])}function $_(ke){switch(ke){case 0:return S0t;case 1:return $0t;default:return Q0t}}function pp(ke){var qe=ke[2],Ie=qe[3],Wt=qe[1],pr=ke[1],jr=[0,[0,N0t,Ei($_(qe[2]))],0];return qt(P0t,pr,Ie,[0,[0,w0t,Ho(Ko,Wt)],jr])}function Ko(ke){var qe=ke[2],Ie=qe[1],Wt=ke[1],pr=[0,[0,B0t,za(Qe,qe[2])],0];return qt(M0t,Wt,0,[0,[0,I0t,Za(Ie)],pr])}function o_(ke){var qe=ke[2],Ie=qe[2],Wt=ke[1];switch(qe[1]){case 0:var pr=W0t;break;case 1:var pr=U0t;break;case 2:var pr=F0t;break;case 3:var pr=L0t;break;case 4:var pr=z0t;break;default:var pr=H0t}return qt(K0t,Wt,Ie,[0,[0,Y0t,Ei(pr)],0])}function $o(ke){var qe=ke[2],Ie=ke[1];switch(qe[0]){case 0:return qt(G0t,Ie,qe[1],0);case 1:return qt(V0t,Ie,qe[1],0);case 2:return qt(j0t,Ie,qe[1],0);case 3:return qt(J0t,Ie,qe[1],0);case 4:return qt(X0t,Ie,qe[1],0);case 5:return qt(eRt,Ie,qe[1],0);case 6:return qt(tRt,Ie,qe[1],0);case 7:return qt(rRt,Ie,qe[1],0);case 8:return qt(nRt,Ie,qe[2],0);case 9:return qt(Z0t,Ie,qe[1],0);case 10:return qt($lt,Ie,qe[1],0);case 11:var Wt=qe[1],pr=Wt[2];return qt(aRt,Ie,pr,[0,[0,iRt,$o(Wt[1])],0]);case 12:return t7([0,Ie,qe[1]]);case 13:var jr=qe[1],En=jr[2],Hn=jr[4],Ci=jr[3],xi=jr[1],na=up(du(En[2][3]),Hn),Gi=En[2],ea=Gi[2],Di=Gi[1],ha=[0,[0,Ait,za(Ql,xi)],0],wi=[0,[0,git,cx(Ci)],ha],Ya=[0,[0,bit,za(Fs,ea)],wi];return qt(Oit,Ie,na,[0,[0,Eit,Ha(Di)],Ya]);case 14:return lx(1,[0,Ie,qe[1]]);case 15:var Na=qe[1],gs=Na[3],fs=Na[2],eo=[0,[0,mut,lx(0,Na[1])],0];return qt(yut,Ie,gs,[0,[0,kut,Ho(hs,fs)],eo]);case 16:var Es=qe[1],yo=Es[2];return qt(Cut,Ie,yo,[0,[0,qut,$o(Es[1])],0]);case 17:var ds=qe[1],xs=ds[5],as=ds[3],os=ds[2],Ka=ds[1],Bs=[0,[0,Aut,$o(ds[4])],0],Ls=[0,[0,gut,$o(as)],Bs],ys=[0,[0,but,$o(os)],Ls];return qt(Out,Ie,xs,[0,[0,Eut,$o(Ka)],ys]);case 18:var qo=qe[1],Ds=qo[2];return qt(Dut,Ie,Ds,[0,[0,vut,Q_(qo[1])],0]);case 19:return r7([0,Ie,qe[1]]);case 20:var ao=qe[1],To=ao[3];return qt(Mut,Ie,To,c2(ao));case 21:var s0=qe[1],Q0=s0[1],Nl=Q0[3],Ou=[0,[0,Wut,!!s0[2]],0];return qt(Uut,Ie,Nl,pi(c2(Q0),Ou));case 22:var T0=qe[1],eu=T0[1],xo=T0[2];return qt(Lut,Ie,xo,[0,[0,Fut,Ho($o,[0,eu[1],[0,eu[2],eu[3]]])],0]);case 23:var wl=qe[1],v0=wl[1],ET=wl[2];return qt(Hut,Ie,ET,[0,[0,zut,Ho($o,[0,v0[1],[0,v0[2],v0[3]]])],0]);case 24:var Tl=qe[1],Vc=Tl[2],OT=Tl[3],Ua=Tl[1],Ac=Vc?[0,[0,Yut,i7(Vc[1])],0]:0;return qt(Gut,Ie,OT,[0,[0,Kut,n7(Ua)],Ac]);case 25:var Sa=qe[1],tu=Sa[2];return qt(Zut,Ie,tu,[0,[0,Xut,$o(Sa[1])],0]);case 26:return ZT(Ie,qe[1]);case 27:var ju=qe[1];return $l(Ie,ju[2],slt,ju[1]);case 28:var YR=qe[1],Jl=YR[3],Xl=[0,[0,olt,!!YR[2]],0];return qt(ult,Ie,Jl,[0,[0,Rlt,Ho(function(hp){var nu=hp[2],vT=hp[1];switch(nu[0]){case 0:return $o(nu[1]);case 1:var bc=nu[1],e1=bc[2],fp=bc[1],Nd=[0,[0,llt,!!bc[4]],0],Ec=[0,[0,clt,za(o_,bc[3])],Nd],dp=[0,[0,Tlt,$o(e1)],Ec];return qt(_lt,vT,0,[0,[0,plt,br(fp)],dp]);default:var Xc=nu[1],N1=Xc[1],t1=[0,[0,hlt,$o(Xc[2])],0];return qt(dlt,vT,0,[0,[0,flt,za(br,N1)],t1])}},YR[1])],Xl]);case 29:var gc=qe[1];return qt(klt,Ie,gc[3],[0,[0,mlt,Ei(gc[1])],[0,[0,xlt,Ei(gc[2])],0]]);case 30:var KR=qe[1];return qt(Clt,Ie,KR[3],[0,[0,qlt,KR[1]],[0,[0,ylt,Ei(KR[2])],0]]);case 31:var jc=qe[1];return qt(blt,Ie,jc[3],[0,[0,glt,Tp],[0,[0,Alt,Ei(jc[2])],0]]);case 32:var ru=qe[1],_p=ru[1],Jc=ru[2],u_=0,vu=_p?Elt:Olt;return qt(Slt,Ie,Jc,[0,[0,Dlt,!!_p],[0,[0,vlt,Ei(vu)],u_]]);case 33:return qt(sRt,Ie,qe[1],0);case 34:return qt(oRt,Ie,qe[1],0);default:return qt(RRt,Ie,qe[1],0)}}function R_(ke){var qe=ke[2],Ie=qe[2],Wt=qe[3],pr=Ie[2],jr=Ie[1],En=ke[1];switch(qe[1]){case 0:var Hn=Tp;break;case 1:var Hn=_8;break;default:var Hn=eR}var Ci=[0,[0,lRt,za($o,pr)],[0,[0,uRt,Hn],0]],xi=[0,[0,cRt,br(jr)],Ci];return qt(TRt,En,du(Wt),xi)}function t7(ke){var qe=ke[2],Ie=qe[5],Wt=qe[3],pr=qe[2][2],jr=qe[4],En=pr[3],Hn=pr[2],Ci=pr[1],xi=qe[1],na=ke[1],Gi=up(du(pr[4]),jr),ea=Ie===0?pRt:_Rt,Di=Ie===0?0:[0,[0,hRt,za(bm,Ci)],0],ha=[0,[0,fRt,za(Ql,xi)],0],wi=[0,[0,dRt,za(u2,En)],ha],Ya=Wt[0]===0?$o(Wt[1]):R_(Wt[1]);return qt(ea,na,Gi,pi([0,[0,mRt,Ho(function(Na){return $d(0,Na)},Hn)],[0,[0,xRt,Ya],wi]],Di))}function $d(ke,qe){var Ie=qe[2],Wt=Ie[1],pr=qe[1],jr=[0,[0,kRt,!!Ie[3]],0],En=[0,[0,yRt,$o(Ie[2])],jr];return qt(CRt,pr,ke,[0,[0,qRt,za(br,Wt)],En])}function u2(ke){var qe=ke[2];return $d(qe[2],qe[1])}function bm(ke){var qe=ke[2],Ie=qe[2],Wt=ke[1],pr=[0,[0,gRt,$o(qe[1][2])],[0,[0,ARt,!1],0]];return qt(ERt,Wt,Ie,[0,[0,bRt,za(br,0)],pr])}function lx(ke,qe){var Ie=qe[2],Wt=Ie[4],pr=Ie[2],jr=Ie[1],En=qe[1],Hn=tR(function(Ya,Na){var gs=Ya[4],fs=Ya[3],eo=Ya[2],Es=Ya[1];switch(Na[0]){case 0:var yo=Na[1],ds=yo[2],xs=ds[2],as=ds[1],os=ds[8],Ka=ds[7],Bs=ds[6],Ls=ds[5],ys=ds[4],qo=ds[3],Ds=yo[1];switch(as[0]){case 0:var ao=lR(as[1]);break;case 1:var ao=c0(as[1]);break;case 2:var ao=jl(as[1]);break;case 3:var ao=br(as[1]);break;case 4:var ao=Ln(PRt);break;default:var ao=Ln(BRt)}switch(xs[0]){case 0:var Q0=IRt,Nl=$o(xs[1]);break;case 1:var To=xs[1],Q0=MRt,Nl=t7([0,To[1],To[2]]);break;default:var s0=xs[1],Q0=WRt,Nl=t7([0,s0[1],s0[2]])}return[0,[0,qt(VRt,Ds,os,[0,[0,GRt,ao],[0,[0,KRt,Nl],[0,[0,YRt,!!Bs],[0,[0,HRt,!!qo],[0,[0,zRt,!!ys],[0,[0,LRt,!!Ls],[0,[0,FRt,za(o_,Ka)],[0,[0,URt,Ei(Q0)],0]]]]]]]]),Es],eo,fs,gs];case 1:var Ou=Na[1],T0=Ou[2],eu=T0[2],xo=Ou[1];return[0,[0,qt(JRt,xo,eu,[0,[0,jRt,$o(T0[1])],0]),Es],eo,fs,gs];case 2:var wl=Na[1],v0=wl[2],ET=v0[6],Tl=v0[4],Vc=v0[3],OT=v0[2],Ua=v0[1],Ac=wl[1],Sa=[0,[0,ZRt,!!Tl],[0,[0,XRt,za(o_,v0[5])],0]],tu=[0,[0,eut,$o(Vc)],Sa],ju=[0,[0,tut,$o(OT)],tu];return[0,Es,[0,qt(nut,Ac,ET,[0,[0,rut,za(br,Ua)],ju]),eo],fs,gs];case 3:var YR=Na[1],Jl=YR[2],Xl=Jl[3],gc=YR[1],KR=[0,[0,iut,!!Jl[2]],0];return[0,Es,eo,[0,qt(sut,gc,Xl,[0,[0,aut,t7(Jl[1])],KR]),fs],gs];case 4:var jc=Na[1],ru=jc[2],_p=ru[6],Jc=ru[5],u_=ru[4],vu=ru[3],hp=ru[1],nu=jc[1],vT=[0,[0,fut,!!vu],[0,[0,hut,!!u_],[0,[0,_ut,!!Jc],[0,[0,put,$o(ru[2])],0]]]];return[0,Es,eo,fs,[0,qt(xut,nu,_p,[0,[0,dut,br(hp)],vT]),gs]];default:var bc=Na[1],e1=bc[2],fp=e1[6],Nd=e1[4],Ec=e1[3],dp=e1[2],Xc=e1[1],N1=bc[1],t1=0;switch(e1[5]){case 0:var N_="PlusOptional";break;case 1:var N_="MinusOptional";break;case 2:var N_="Optional";break;default:var N_=Tp}var r1=[0,[0,Rut,za(o_,Nd)],[0,[0,out,N_],t1]],p2=[0,[0,uut,$o(Ec)],r1],_2=[0,[0,lut,$o(dp)],p2];return[0,[0,qt(Tut,N1,fp,[0,[0,cut,Q_(Xc)],_2]),Es],eo,fs,gs]}},ORt,Ie[3]),Ci=Hn[3],xi=Hn[2],na=Hn[1],Gi=[0,[0,vRt,aa(xn(Hn[4]))],0],ea=[0,[0,DRt,aa(xn(Ci))],Gi],Di=[0,[0,SRt,aa(xn(xi))],ea],ha=[0,[0,QRt,!!jr],[0,[0,$Rt,aa(xn(na))],Di]],wi=ke?[0,[0,NRt,!!pr],ha]:ha;return qt(wRt,En,du(Wt),wi)}function l2(ke){var qe=ke[2],Ie=qe[1],Wt=qe[2],pr=ke[1],jr=Ie[0]===0?br(Ie[1]):l2(Ie[1]);return qt(Qut,pr,0,[0,[0,$ut,jr],[0,[0,Sut,br(Wt)],0]])}function r7(ke){var qe=ke[2],Ie=qe[1],Wt=qe[3],pr=qe[2],jr=ke[1],En=Ie[0]===0?br(Ie[1]):l2(Ie[1]);return qt(Put,jr,Wt,[0,[0,wut,En],[0,[0,Nut,za(i7,pr)],0]])}function c2(ke){var qe=ke[1],Ie=[0,[0,But,$o(ke[2])],0];return[0,[0,Iut,$o(qe)],Ie]}function n7(ke){if(ke[0]===0)return br(ke[1]);var qe=ke[1],Ie=qe[2],Wt=Ie[2],pr=qe[1],jr=n7(Ie[1]);return qt(Jut,pr,0,[0,[0,jut,jr],[0,[0,Vut,br(Wt)],0]])}function cx(ke){return ke[0]===0?Tp:ZT(ke[1],ke[2])}function ZT(ke,qe){var Ie=qe[3],Wt=qe[2];switch(qe[4]){case 0:var pr=elt;break;case 1:var pr=tlt;break;default:var pr=rlt}return $l(ke,Ie,pr,Wt)}function $l(ke,qe,Ie,Wt){return qt(alt,ke,qe,[0,[0,ilt,Ei(Ie)],[0,[0,nlt,$o(Wt)],0]])}function bT(ke){var qe=ke[1];return qt(Nlt,qe,0,[0,[0,Qlt,$o(ke[2])],0])}function Ql(ke){var qe=ke[2],Ie=qe[2],Wt=ke[1],pr=[0,[0,Blt,Ho(Q_,qe[1])],0];return qt(Ilt,Wt,du(Ie),pr)}function Q_(ke){var qe=ke[2],Ie=qe[1][2],Wt=qe[5],pr=qe[4],jr=qe[2],En=Ie[2],Hn=Ie[1],Ci=ke[1],xi=qe[3]?[0,[0,Mlt,!0],0]:0,na=[0,[0,Wlt,za($o,Wt)],0],Gi=[0,[0,Ult,za(o_,pr)],na];return qt(zlt,Ci,En,pi([0,[0,Llt,Ei(Hn)],[0,[0,Flt,iN(bT,jr)],Gi]],xi))}function i7(ke){var qe=ke[2],Ie=qe[2],Wt=ke[1],pr=[0,[0,Hlt,Ho($o,qe[1])],0];return qt(Ylt,Wt,du(Ie),pr)}function Qd(ke){var qe=ke[2],Ie=qe[2],Wt=ke[1],pr=[0,[0,Klt,Ho(t4,qe[1])],0];return qt(Glt,Wt,du(Ie),pr)}function t4(ke){if(ke[0]===0)return $o(ke[1]);var qe=ke[1],Ie=qe[1],Wt=qe[2][1];return r7([0,Ie,[0,[0,rC(0,[0,Ie,Vlt])],0,Wt]])}function Mk(ke){var qe=ke[2],Ie=qe[1],Wt=qe[4],pr=qe[2],jr=ke[1],En=[0,[0,jlt,Ho(a7,qe[3][2])],0],Hn=[0,[0,Jlt,za(r4,pr)],En],Ci=Ie[2],xi=Ci[2],na=Ci[4],Gi=Ci[3],ea=Ci[1],Di=Ie[1],ha=xi?[0,[0,ict,Qd(xi[1])],0]:0,wi=[0,[0,sct,Ho(Em,na)],[0,[0,act,!!Gi],0]];return qt(Zlt,jr,Wt,[0,[0,Xlt,qt(Rct,Di,0,pi([0,[0,oct,s7(ea)],wi],ha))],Hn])}function pC(ke){var qe=ke[2],Ie=qe[4],Wt=qe[3][2],pr=qe[1],jr=ke[1],En=[0,[0,ect,qt(Tct,qe[2],0,0)],0],Hn=[0,[0,tct,Ho(a7,Wt)],En];return qt(nct,jr,Ie,[0,[0,rct,qt(uct,pr,0,0)],Hn])}function Em(ke){if(ke[0]===0){var qe=ke[1],Ie=qe[2],Wt=Ie[1],pr=Ie[2],jr=qe[1],En=Wt[0]===0?T2(Wt[1]):xE(Wt[1]);return qt(hct,jr,0,[0,[0,_ct,En],[0,[0,pct,za(o7,pr)],0]])}var Hn=ke[1],Ci=Hn[2],xi=Ci[2],na=Hn[1];return qt(dct,na,xi,[0,[0,fct,Qe(Ci[1])],0])}function r4(ke){var qe=ke[1];return qt(cct,qe,0,[0,[0,lct,s7(ke[2][1])],0])}function a7(ke){var qe=ke[2],Ie=ke[1];switch(qe[0]){case 0:return Mk([0,Ie,qe[1]]);case 1:return pC([0,Ie,qe[1]]);case 2:return Wk([0,Ie,qe[1]]);case 3:var Wt=qe[1],pr=Wt[2];return qt(qct,Ie,pr,[0,[0,yct,Qe(Wt[1])],0]);default:var jr=qe[1];return qt(gct,Ie,0,[0,[0,Act,Ei(jr[1])],[0,[0,Cct,Ei(jr[2])],0]])}}function s7(ke){switch(ke[0]){case 0:return T2(ke[1]);case 1:return xE(ke[1]);default:return Tx(ke[1])}}function o7(ke){if(ke[0]===0){var qe=ke[1];return lR([0,qe[1],qe[2]])}var Ie=ke[1];return Wk([0,Ie[1],Ie[2]])}function Wk(ke){var qe=ke[2],Ie=qe[1],Wt=ke[1],pr=qe[2],jr=Ie?Qe(Ie[1]):qt(xct,[0,Wt[1],[0,Wt[2][1],Wt[2][2]+1|0],[0,Wt[3][1],Wt[3][2]-1|0]],0,0);return qt(kct,Wt,du(pr),[0,[0,mct,jr],0])}function Tx(ke){var qe=ke[2],Ie=qe[1],Wt=qe[2],pr=ke[1],jr=Ie[0]===0?T2(Ie[1]):Tx(Ie[1]);return qt(Oct,pr,0,[0,[0,Ect,jr],[0,[0,bct,T2(Wt)],0]])}function xE(ke){var qe=ke[2],Ie=qe[1],Wt=ke[1],pr=[0,[0,vct,T2(qe[2])],0];return qt(Sct,Wt,0,[0,[0,Dct,T2(Ie)],pr])}function T2(ke){var qe=ke[2];return qt(Qct,ke[1],qe[2],[0,[0,$ct,Ei(qe[1])],0])}function Cv(ke){var qe=ke[2],Ie=qe[2],Wt=qe[1],pr=ke[1],jr=br(Ie?Ie[1]:Wt);return qt(Pct,pr,0,[0,[0,wct,br(Wt)],[0,[0,Nct,jr],0]])}function Om(ke){return Ho(C3,ke)}function C3(ke){var qe=ke[2],Ie=ke[1];if(qe[1])var Wt=qe[2],pr=Hct;else var Wt=qe[2],pr=Yct;return qt(pr,Ie,0,[0,[0,Kct,Ei(Wt)],0])}function _C(ke){var qe=ke[2],Ie=qe[1],Wt=qe[2],pr=ke[1];if(Ie)var jr=[0,[0,Gct,Qe(Ie[1])],0],En=Vct;else var jr=0,En=jct;return qt(En,pr,Wt,jr)}function n4(ke){var qe=ke[2],Ie=ke[1],Wt=[0,[0,Jct,ai(ke[3])],0],pr=[0,[0,Xct,za(Qd,qe)],Wt];return[0,[0,Zct,Qe(Ie)],pr]}function mE(ke){var qe=ke[2],Ie=ke[1];switch(qe[0]){case 0:var Wt=0,pr=br(qe[1]);break;case 1:var Wt=0,pr=jn(qe[1]);break;default:var Wt=1,pr=Qe(qe[1])}return[0,[0,rTt,Qe(Ie)],[0,[0,tTt,pr],[0,[0,eTt,!!Wt],0]]]}var aA=Xr[2],Av=aA[2],sN=aA[4],oN=aA[3],gv=Xr[1],bv=kn(aA[1]),kE=[0,[0,iZe,bv],[0,[0,nZe,Om(sN)],0]];if(Av)var A3=Av[1],Ht=pi(kE,[0,[0,oZe,qt(sZe,A3[1],0,[0,[0,aZe,Ei(A3[2])],0])],0]);else var Ht=kE;var tt=qt(RZe,gv,oN,Ht);return tt.errors=Ho(function(ke){var qe=ke[1],Ie=[0,[0,nTt,Ei(L1t(ke[2]))],0];return Eo([0,[0,iTt,Jxe(qe)],Ie])},pi(wt,XT[1])),se&&(tt[o5]=aa(TQ(function(ke){var qe=ke[2],Ie=ke[1],Wt=ke[3],pr=[0,[0,aVe,Ei(HB(qe))],0],jr=[0,WQ(Xe,Ie[3]),0],En=[0,[0,sVe,aa([0,WQ(Xe,Ie[2]),jr])],pr],Hn=[0,[0,uVe,Eo([0,[0,RVe,Ie[3][1]],[0,[0,oVe,Ie[3][2]],0]])],0],Ci=[0,[0,pVe,Eo([0,[0,TVe,Eo([0,[0,cVe,Ie[2][1]],[0,[0,lVe,Ie[2][2]],0]])],Hn])],En];switch(Wt){case 0:var xi=_Ve;break;case 1:var xi=hVe;break;case 2:var xi=fVe;break;case 3:var xi=dVe;break;case 4:var xi=xVe;break;default:var xi=mVe}return Eo([0,[0,yVe,Ei(nte(qe))],[0,[0,kVe,Ei(xi)],Ci]])},ye[1]))),tt}if(typeof e<"u")var o=e;else{var T={};y3.flow=T;var o=T}o.parse=K3e(function(a,u){try{var p=Xxe(a,u);return p}catch(q){var d=n0(q);return d[1]===nTe?Vxe(d[2]):Vxe(new q3(Ei(hi(yTt,Fb(d)))))}}),tG(he)}(globalThis)}),dir={};fir(dir,{parsers:()=>b6t});b6t={};fir(b6t,{flow:()=>w1n});KTn=HTn(YTn(),1);VTn=GTn,jTn=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},Tir=jTn;XTn=JTn;e1n=ZTn,t1n=e1n(["Block","CommentBlock","MultiLine"]),q6t=t1n;pir=r1n;i1n=n1n,Bhe=null;a1n=10;for(let e=0;e<=a1n;e++)Ihe();R1n=o1n,u1n={ArrayExpression:["elements"],AssignmentExpression:["left","right"],BinaryExpression:["left","right"],InterpreterDirective:[],Directive:["value"],DirectiveLiteral:[],BlockStatement:["directives","body"],BreakStatement:["label"],CallExpression:["callee","arguments","typeParameters","typeArguments"],CatchClause:["param","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExpressionStatement:["expression"],File:["program"],ForInStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","typeParameters","params","returnType","body","predicate"],FunctionExpression:["id","typeParameters","params","returnType","body"],Identifier:["typeAnnotation","decorators"],IfStatement:["test","consequent","alternate"],LabeledStatement:["label","body"],StringLiteral:[],NumericLiteral:[],NullLiteral:[],BooleanLiteral:[],RegExpLiteral:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],NewExpression:["callee","arguments","typeParameters","typeArguments"],Program:["directives","body"],ObjectExpression:["properties"],ObjectMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectProperty:["key","value","decorators"],RestElement:["argument","typeAnnotation","decorators"],ReturnStatement:["argument"],SequenceExpression:["expressions"],ParenthesizedExpression:["expression"],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],AssignmentPattern:["left","right","decorators","typeAnnotation"],ArrayPattern:["elements","typeAnnotation","decorators"],ArrowFunctionExpression:["typeParameters","params","returnType","body","predicate"],ClassBody:["body"],ClassExpression:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ExportAllDeclaration:["source","attributes","exported"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source","attributes"],ExportSpecifier:["local","exported"],ForOfStatement:["left","right","body"],ImportDeclaration:["specifiers","source","attributes"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],ImportExpression:["source","options"],MetaProperty:["meta","property"],ClassMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectPattern:["properties","typeAnnotation","decorators"],SpreadElement:["argument"],Super:[],TaggedTemplateExpression:["tag","typeParameters","quasi","typeArguments"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],YieldExpression:["argument"],AwaitExpression:["argument"],BigIntLiteral:[],ExportNamespaceSpecifier:["exported"],OptionalMemberExpression:["object","property"],OptionalCallExpression:["callee","arguments","typeParameters","typeArguments"],ClassProperty:["decorators","key","typeAnnotation","value","variance"],ClassAccessorProperty:["decorators","key","typeAnnotation","value"],ClassPrivateProperty:["decorators","key","typeAnnotation","value","variance"],ClassPrivateMethod:["decorators","key","typeParameters","params","returnType","body"],PrivateName:["id"],StaticBlock:["body"],AnyTypeAnnotation:[],ArrayTypeAnnotation:["elementType"],BooleanTypeAnnotation:[],BooleanLiteralTypeAnnotation:[],NullLiteralTypeAnnotation:[],ClassImplements:["id","typeParameters"],DeclareClass:["id","typeParameters","extends","mixins","implements","body"],DeclareFunction:["id","predicate"],DeclareInterface:["id","typeParameters","extends","body"],DeclareModule:["id","body"],DeclareModuleExports:["typeAnnotation"],DeclareTypeAlias:["id","typeParameters","right"],DeclareOpaqueType:["id","typeParameters","supertype"],DeclareVariable:["id"],DeclareExportDeclaration:["declaration","specifiers","source","attributes"],DeclareExportAllDeclaration:["source","attributes"],DeclaredPredicate:["value"],ExistsTypeAnnotation:[],FunctionTypeAnnotation:["typeParameters","params","rest","returnType","this"],FunctionTypeParam:["name","typeAnnotation"],GenericTypeAnnotation:["id","typeParameters"],InferredPredicate:[],InterfaceExtends:["id","typeParameters"],InterfaceDeclaration:["id","typeParameters","extends","body"],InterfaceTypeAnnotation:["extends","body"],IntersectionTypeAnnotation:["types"],MixedTypeAnnotation:[],EmptyTypeAnnotation:[],NullableTypeAnnotation:["typeAnnotation"],NumberLiteralTypeAnnotation:[],NumberTypeAnnotation:[],ObjectTypeAnnotation:["properties","indexers","callProperties","internalSlots"],ObjectTypeInternalSlot:["id","value"],ObjectTypeCallProperty:["value"],ObjectTypeIndexer:["variance","id","key","value"],ObjectTypeProperty:["key","value","variance"],ObjectTypeSpreadProperty:["argument"],OpaqueType:["id","typeParameters","supertype","impltype"],QualifiedTypeIdentifier:["qualification","id"],StringLiteralTypeAnnotation:[],StringTypeAnnotation:[],SymbolTypeAnnotation:[],ThisTypeAnnotation:[],TupleTypeAnnotation:["types","elementTypes"],TypeofTypeAnnotation:["argument","typeArguments"],TypeAlias:["id","typeParameters","right"],TypeAnnotation:["typeAnnotation"],TypeCastExpression:["expression","typeAnnotation"],TypeParameter:["bound","default","variance"],TypeParameterDeclaration:["params"],TypeParameterInstantiation:["params"],UnionTypeAnnotation:["types"],Variance:[],VoidTypeAnnotation:[],EnumDeclaration:["id","body"],EnumBooleanBody:["members"],EnumNumberBody:["members"],EnumStringBody:["members"],EnumSymbolBody:["members"],EnumBooleanMember:["id","init"],EnumNumberMember:["id","init"],EnumStringMember:["id","init"],EnumDefaultedMember:["id"],IndexedAccessType:["objectType","indexType"],OptionalIndexedAccessType:["objectType","indexType"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXSpreadChild:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes","typeArguments","typeParameters"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXOpeningFragment:[],JSXClosingFragment:[],Noop:[],Placeholder:[],V8IntrinsicIdentifier:[],ArgumentPlaceholder:[],BindExpression:["object","callee"],ImportAttribute:["key","value"],Decorator:["expression"],DoExpression:["body"],ExportDefaultSpecifier:["exported"],RecordExpression:["properties"],TupleExpression:["elements"],ModuleExpression:["body"],TopicReference:[],PipelineTopicExpression:["expression"],PipelineBareFunction:["callee"],PipelinePrimaryTopicReference:[],TSParameterProperty:["parameter","decorators"],TSDeclareFunction:["id","typeParameters","params","returnType","body"],TSDeclareMethod:["decorators","key","typeParameters","params","returnType"],TSQualifiedName:["left","right"],TSCallSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSPropertySignature:["key","typeAnnotation"],TSMethodSignature:["key","typeParameters","parameters","typeAnnotation","params","returnType"],TSIndexSignature:["parameters","typeAnnotation"],TSAnyKeyword:[],TSBooleanKeyword:[],TSBigIntKeyword:[],TSIntrinsicKeyword:[],TSNeverKeyword:[],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSUndefinedKeyword:[],TSUnknownKeyword:[],TSVoidKeyword:[],TSThisType:[],TSFunctionType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructorType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSTypeReference:["typeName","typeParameters","typeArguments"],TSTypePredicate:["parameterName","typeAnnotation"],TSTypeQuery:["exprName","typeParameters","typeArguments"],TSTypeLiteral:["members"],TSArrayType:["elementType"],TSTupleType:["elementTypes"],TSOptionalType:["typeAnnotation"],TSRestType:["typeAnnotation"],TSNamedTupleMember:["label","elementType"],TSUnionType:["types"],TSIntersectionType:["types"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSInferType:["typeParameter"],TSParenthesizedType:["typeAnnotation"],TSTypeOperator:["typeAnnotation"],TSIndexedAccessType:["objectType","indexType"],TSMappedType:["typeParameter","nameType","typeAnnotation"],TSLiteralType:["literal"],TSExpressionWithTypeArguments:["expression","typeParameters"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceBody:["body"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSInstantiationExpression:["expression","typeParameters","typeArguments"],TSAsExpression:["expression","typeAnnotation"],TSSatisfiesExpression:["expression","typeAnnotation"],TSTypeAssertion:["typeAnnotation","expression"],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSModuleDeclaration:["id","body"],TSModuleBlock:["body"],TSImportType:["argument","qualifier","typeParameters","typeArguments"],TSImportEqualsDeclaration:["id","moduleReference"],TSExternalModuleReference:["expression"],TSNonNullExpression:["expression"],TSExportAssignment:["expression"],TSNamespaceExportDeclaration:["id"],TSTypeAnnotation:["typeAnnotation"],TSTypeParameterInstantiation:["params"],TSTypeParameterDeclaration:["params"],TSTypeParameter:["constraint","default","name"],ChainExpression:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],Literal:[],MethodDefinition:["decorators","key","value"],PrivateIdentifier:[],Property:["key","value"],PropertyDefinition:["decorators","key","typeAnnotation","value","variance"],AccessorProperty:["decorators","key","typeAnnotation","value"],TSAbstractAccessorProperty:["decorators","key","typeAnnotation"],TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:["decorators","key","typeAnnotation"],TSAsyncKeyword:[],TSClassImplements:["expression","typeArguments","typeParameters"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSEnumBody:["members"],TSExportKeyword:[],TSInterfaceHeritage:["expression","typeArguments","typeParameters"],TSPrivateKeyword:[],TSProtectedKeyword:[],TSPublicKeyword:[],TSReadonlyKeyword:[],TSStaticKeyword:[],TSTemplateLiteralType:["quasis","types"],AsConstExpression:["expression"],AsExpression:["expression","typeAnnotation"],BigIntLiteralTypeAnnotation:[],BigIntTypeAnnotation:[],ComponentDeclaration:["id","params","body","typeParameters","rendersType"],ComponentParameter:["name","local"],ComponentTypeAnnotation:["params","rest","typeParameters","rendersType"],ComponentTypeParameter:["name","typeAnnotation"],ConditionalTypeAnnotation:["checkType","extendsType","trueType","falseType"],DeclareComponent:["id","params","rest","typeParameters","rendersType"],DeclareEnum:["id","body"],DeclareHook:["id"],DeclareNamespace:["id","body"],EnumBigIntBody:["members"],EnumBigIntMember:["id","init"],HookDeclaration:["id","params","body","typeParameters","returnType"],HookTypeAnnotation:["params","returnType","rest","typeParameters"],InferTypeAnnotation:["typeParameter"],KeyofTypeAnnotation:["argument"],ObjectTypeMappedTypeProperty:["keyTparam","propType","sourceType","variance"],QualifiedTypeofIdentifier:["qualification","id"],TupleTypeLabeledElement:["label","elementType","variance"],TupleTypeSpreadElement:["label","typeAnnotation"],TypeOperator:["typeAnnotation"],TypePredicate:["parameterName","typeAnnotation","asserts"],NGRoot:["node"],NGPipeExpression:["left","right","arguments"],NGChainedExpression:["expressions"],NGEmptyExpression:[],NGMicrosyntax:["body"],NGMicrosyntaxKey:[],NGMicrosyntaxExpression:["expression","alias"],NGMicrosyntaxKeyedExpression:["key","expression"],NGMicrosyntaxLet:["key","value"],NGMicrosyntaxAs:["key","alias"],JsExpressionRoot:["node"],JsonRoot:["node"],TSJSDocAllType:[],TSJSDocUnknownType:[],TSJSDocNullableType:["typeAnnotation"],TSJSDocNonNullableType:["typeAnnotation"],NeverTypeAnnotation:[],UndefinedTypeAnnotation:[],UnknownTypeAnnotation:[],SatisfiesExpression:["expression","typeAnnotation"]},l1n=R1n(u1n),c1n=l1n;y6t=C6t;p1n=T1n,_1n=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},ECe=_1n,h1n=/\*\/$/,f1n=/^\/\*\*?/,d1n=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,x1n=/(^|\s+)\/\/([^\n\r]*)/g,_ir=/^(\r?\n)+/,m1n=/(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g,hir=/(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g,k1n=/(\r?\n|^) *\* ?/g,y1n=[];g1n=A1n;v1n=O1n;S1n=D1n,$1n={comments:!1,components:!0,enums:!0,esproposal_decorators:!0,esproposal_export_star_as:!0,tokens:!0};w1n=v1n(N1n),P1n=dir});var Par={};x2(Par,{default:()=>F_n,languages:()=>mar,parsers:()=>eqt,printers:()=>war});function M1n(e){if(typeof e=="string")return Xir;if(Array.isArray(e))return Zir;if(!e)return;let{type:t}=e;if(sar.has(t))return t}function U1n(e){let t=e===null?"null":typeof e;if(t!=="string"&&t!=="object")return`Unexpected doc '${t}', +Expected it to be 'string' or 'object'.`;if(oar(e))throw new Error("doc is valid.");let r=Object.prototype.toString.call(e);if(r!=="[object Object]")return`Unexpected doc '${r}'.`;let n=W1n([...sar].map(i=>`'${i}'`));return`Unexpected doc.type '${e.type}'. +Expected it to be ${n}.`}function LC(e){return yae(e),{type:z6t,contents:e}}function z1n(e,t){return yae(t),{type:H6t,contents:t,n:e}}function kA(e,t={}){return yae(e),j6t(t.expandedStates,!0),{type:Y6t,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function yir(e){return z1n(-1,e)}function qir(e){return j6t(e),{type:K6t,parts:e}}function Cir(e,t="",r={}){return yae(e),t!==""&&yae(t),{type:G6t,breakContents:e,flatContents:t,groupId:r.groupId}}function Vhe(e,t){yae(e),j6t(t);let r=[];for(let n=0;ntypeof r=="string"?Vhe(t,r.split(` +`)):r)}function J1n(e,t){let r=t===!0||t===OCe?OCe:Air,n=r===OCe?Air:OCe,i=0,s=0;for(let R of e)R===r?i++:R===n&&s++;return i>s?n:r}function X1n(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function npn(e){return Array.isArray(e)&&e.length>0}function lar(e,t){if(e.type==="TextNode"){let r=e.chars.trim();if(!r)return null;t.chars=dw.split(r).join(" ")}e.type==="ElementNode"&&(delete t.startTag,delete t.openTag,delete t.parts,delete t.endTag,delete t.closeTag,delete t.nameNode,delete t.body,delete t.blockParamNodes,delete t.params,delete t.path),e.type==="Block"&&(delete t.blockParamNodes,delete t.params),e.type==="AttrNode"&&e.name.toLowerCase()==="class"&&delete t.value,e.type==="PathExpression"&&(t.head=e.head.original)}function Lhe(e){if(Mhe!==null&&typeof Mhe.property){let t=Mhe;return Mhe=Lhe.prototype=null,t}return Mhe=Lhe.prototype=e??Object.create(null),new Lhe}function Rpn(e){return Lhe(e)}function upn(e,t="type"){Rpn(e);function r(n){let i=n[t],s=e[i];if(!Array.isArray(s))throw Object.assign(new Error(`Missing visitor keys for '${i}'.`),{node:n});return s}return r}function Yhe(e){return e.loc.start.offset}function w6t(e){return e.loc.end.offset}function car(e){return e.toUpperCase()===e}function hpn(e){return e.type==="ElementNode"&&typeof e.tag=="string"&&!e.tag.startsWith(":")&&(car(e.tag[0])||e.tag.includes("."))}function fpn(e){return _pn.has(e.toLowerCase())&&!car(e[0])}function Tar(e){return e.selfClosing===!0||fpn(e.tag)||hpn(e)&&e.children.every(t=>J6t(t))}function J6t(e){return e.type==="TextNode"&&!/\S/u.test(e.chars)}function gir(e){return e?.type==="MustacheCommentStatement"&&typeof e.value=="string"&&e.value.trim()==="prettier-ignore"}function dpn(e){return gir(e.node)||e.isInArray&&(e.key==="children"||e.key==="body"||e.key==="parts")&&gir(e.siblings[e.index-2])}function xpn(e,t,r){var n,i,s,R,l,c,h,_,f;let{node:m}=e;switch(m.type){case"Block":case"Program":case"Template":return kA(e.map(r,"body"));case"ElementNode":{let x=kA(kpn(e,r)),y=t.htmlWhitespaceSensitivity==="ignore"&&((n=e.next)==null?void 0:n.type)==="ElementNode"?wD:"";if(Tar(m))return[x,y];let A=[""];return m.children.length===0?[x,LC(A),y]:t.htmlWhitespaceSensitivity==="ignore"?[x,LC(bir(e,t,r)),Aae,LC(A),y]:[x,LC(kA(bir(e,t,r))),LC(A),y]}case"BlockStatement":return bpn(e)?[Epn(e,r),vir(e,r,t),Dir(e,r,t)]:[Apn(e,r),kA([vir(e,r,t),Dir(e,r,t),Opn(e,r,t)])];case"ElementModifierStatement":return kA(["{{",$ir(e,r),"}}"]);case"MustacheStatement":return kA([MCe(m),$ir(e,r),WCe(m)]);case"SubExpression":return kA(["(",wpn(e,r),wD,")"]);case"AttrNode":{let{name:x,value:y}=m,A=y.type==="TextNode";if(A&&y.chars===""&&Yhe(y)===w6t(y))return x;let D=A?N6t(y.chars,t.singleQuote):y.type==="ConcatStatement"?N6t(y.parts.map(P=>P.type==="TextNode"?P.chars:"").join(""),t.singleQuote):"",S=r("value");return[x,"=",D,x==="class"&&D?kA(LC(S)):S,D]}case"ConcatStatement":return e.map(r,"parts");case"Hash":return Vhe(Ty,e.map(r,"pairs"));case"HashPair":return[m.key,"=",r("value")];case"TextNode":{let x=Jir(!1,m.chars,"{{",String.raw`\{{`),y=Dpn(e);if(y){if(y==="class"){let H=x.trim().split(/\s+/u).join(" "),G=!1,ee=!1;return e.parent.type==="ConcatStatement"&&(((i=e.previous)==null?void 0:i.type)==="MustacheStatement"&&/^\s/u.test(x)&&(G=!0),((s=e.next)==null?void 0:s.type)==="MustacheStatement"&&/\s$/u.test(x)&&H!==""&&(ee=!0)),[G?Ty:"",H,ee?Ty:""]}return j1n(x)}let A=dw.isWhitespaceOnly(x),{isFirst:D,isLast:S}=e;if(t.htmlWhitespaceSensitivity!=="ignore"){let H=S&&e.parent.type==="Template",G=D&&e.parent.type==="Template";if(A){if(G||H)return"";let Ae=[Ty],Ue=xae(x);return Ue&&(Ae=Whe(Ue)),S&&(Ae=Ae.map(Ee=>yir(Ee))),Ae}let ee=dw.getLeadingWhitespace(x),fe=[];if(ee){fe=[Ty];let Ae=xae(ee);Ae&&(fe=Whe(Ae)),x=x.slice(ee.length)}let me=dw.getTrailingWhitespace(x),ve=[];if(me){if(!H){ve=[Ty];let Ae=xae(me);Ae&&(ve=Whe(Ae)),S&&(ve=ve.map(Ue=>yir(Ue)))}x=x.slice(0,-me.length)}return[...fe,qir(Sir(x)),...ve]}let P=xae(x),M=Spn(x),U=$pn(x);if((D||S)&&A&&(e.parent.type==="Block"||e.parent.type==="ElementNode"||e.parent.type==="Template"))return"";A&&P?(M=Math.min(P,par),U=0):((((R=e.next)==null?void 0:R.type)==="BlockStatement"||((l=e.next)==null?void 0:l.type)==="ElementNode")&&(U=Math.max(U,1)),(((c=e.previous)==null?void 0:c.type)==="BlockStatement"||((h=e.previous)==null?void 0:h.type)==="ElementNode")&&(M=Math.max(M,1)));let w="",F="";return U===0&&((_=e.next)==null?void 0:_.type)==="MustacheStatement"&&(F=" "),M===0&&((f=e.previous)==null?void 0:f.type)==="MustacheStatement"&&(w=" "),D&&(M=0,w=""),S&&(U=0,F=""),dw.hasLeadingWhitespace(x)&&(x=w+dw.trimStart(x)),dw.hasTrailingWhitespace(x)&&(x=dw.trimEnd(x)+F),[...Whe(M),qir(Sir(x)),...Whe(U)]}case"MustacheCommentStatement":{let x=Yhe(m),y=w6t(m),A=t.originalText.charAt(x+2)==="~",D=t.originalText.charAt(y-3)==="~",S=m.value.includes("}}")?"--":"";return["{{",A?"~":"","!",S,m.value,S,D?"~":"","}}"]}case"PathExpression":return Mpn(m);case"BooleanLiteral":return String(m.value);case"CommentStatement":return[""];case"StringLiteral":return Qpn(e,t);case"NumberLiteral":return String(m.value);case"UndefinedLiteral":return"undefined";case"NullLiteral":return"null";case"AtHead":case"VarHead":case"ThisHead":default:throw new apn(m,"Handlebars")}}function mpn(e,t){return Yhe(e)-Yhe(t)}function kpn(e,t){let{node:r}=e,n=["attributes","modifiers","comments"].filter(s=>ICe(r[s])),i=n.flatMap(s=>r[s]).sort(mpn);for(let s of n)e.each(({node:R})=>{let l=i.indexOf(R);i.splice(l,1,[Ty,t()])},s);return ICe(r.blockParams)&&i.push(Ty,Z6t(r)),["<",r.tag,LC(i),ypn(r)]}function bir(e,t,r){let{node:n}=e,i=n.children.every(s=>J6t(s));return t.htmlWhitespaceSensitivity==="ignore"&&i?"":e.map(({isFirst:s})=>{let R=r();return s&&t.htmlWhitespaceSensitivity==="ignore"?[wD,R]:R},"children")}function ypn(e){return Tar(e)?Cir([wD,"/>"],[" />",wD]):Cir([wD,">"],">")}function MCe(e){var t;let r=e.trusting?"{{{":"{{",n=(t=e.strip)!=null&&t.open?"~":"";return[r,n]}function WCe(e){var t;let r=e.trusting?"}}}":"}}";return[(t=e.strip)!=null&&t.close?"~":"",r]}function qpn(e){let t=MCe(e),r=e.openStrip.open?"~":"";return[t,r,"#"]}function Cpn(e){let t=WCe(e);return[e.openStrip.close?"~":"",t]}function Eir(e){let t=MCe(e),r=e.closeStrip.open?"~":"";return[t,r,"/"]}function Oir(e){let t=WCe(e);return[e.closeStrip.close?"~":"",t]}function _ar(e){let t=MCe(e),r=e.inverseStrip.open?"~":"";return[t,r]}function har(e){let t=WCe(e);return[e.inverseStrip.close?"~":"",t]}function Apn(e,t){let{node:r}=e,n=[],i=UCe(e,t);return i&&n.push(kA(i)),ICe(r.program.blockParams)&&n.push(Z6t(r.program)),kA([qpn(r),X6t(e,t),n.length>0?LC([Ty,Vhe(Ty,n)]):"",wD,Cpn(r)])}function gpn(e,t){return[t.htmlWhitespaceSensitivity==="ignore"?Aae:"",_ar(e),"else",har(e)]}function bpn(e){var t;let{grandparent:r,node:n}=e;return((t=r?.inverse)==null?void 0:t.body.length)===1&&r.inverse.body[0]===n&&far(r.inverse.body[0].path,r.path)}function Epn(e,t){let{node:r,grandparent:n}=e;return kA([_ar(n),["else"," ",n.inverse.body[0].path.head.name],LC([Ty,kA(UCe(e,t)),...ICe(r.program.blockParams)?[Ty,Z6t(r.program)]:[]]),wD,har(n)])}function Opn(e,t,r){let{node:n}=e;return r.htmlWhitespaceSensitivity==="ignore"?[dar(n)?wD:Aae,Eir(n),t("path"),Oir(n)]:[Eir(n),t("path"),Oir(n)]}function dar(e){return e.type==="BlockStatement"&&e.program.body.every(t=>J6t(t))}function vpn(e){return xar(e)&&e.inverse.body.length===1&&e.inverse.body[0].type==="BlockStatement"&&far(e.inverse.body[0].path,e.path)}function xar(e){return e.type==="BlockStatement"&&e.inverse}function vir(e,t,r){let{node:n}=e;if(dar(n))return"";let i=t("program");return r.htmlWhitespaceSensitivity==="ignore"?LC([Aae,i]):LC(i)}function Dir(e,t,r){let{node:n}=e,i=t("inverse"),s=r.htmlWhitespaceSensitivity==="ignore"?[Aae,i]:i;return vpn(n)?s:xar(n)?[gpn(n,r),LC(s)]:""}function Sir(e){return Vhe(Ty,dw.split(e))}function Dpn(e){for(let t=0;t<2;t++){let r=e.getParentNode(t);if(r?.type==="AttrNode")return r.name.toLowerCase()}}function xae(e){return e=typeof e=="string"?e:"",e.split(` +`).length-1}function Spn(e){e=typeof e=="string"?e:"";let t=(e.match(/^([^\S\n\r]*[\n\r])+/gu)||[])[0]||"";return xae(t)}function $pn(e){e=typeof e=="string"?e:"";let t=(e.match(/([\n\r][^\S\n\r]*)+$/gu)||[])[0]||"";return xae(t)}function Whe(e=0){return Array.from({length:Math.min(e,par)}).fill(Aae)}function Qpn(e,t){let{node:{value:r}}=e,n=N6t(r,Npn(e)?!t.singleQuote:t.singleQuote);return[n,Jir(!1,r,n,`\\${n}`),n]}function Npn(e){let{ancestors:t}=e,r=t.findIndex(n=>n.type!=="SubExpression");return r!==-1&&t[r+1].type==="ConcatStatement"&&t[r+2].type==="AttrNode"}function wpn(e,t){let r=X6t(e,t),n=UCe(e,t);return n?LC([r,Ty,kA(n)]):r}function $ir(e,t){let r=X6t(e,t),n=UCe(e,t);return n?[LC([r,Ty,n]),wD]:r}function X6t(e,t){return t("path")}function UCe(e,t){var r;let{node:n}=e,i=[];return n.params.length>0&&i.push(...e.map(t,"params")),((r=n.hash)==null?void 0:r.pairs.length)>0&&i.push(t("hash")),i.length===0?"":Vhe(Ty,i)}function Z6t(e){return["as |",e.blockParams.join(" "),"|"]}function Mpn(e){return e.tail.length===0&&e.original.includes("/")?e.original:[e.head.original,...e.tail].map((t,r)=>Ipn(t,r)?`[${t}]`:t).join(".")}function kar(){return Fpn}function Lpn(e,t="unexpected unreachable branch"){throw Qir.log("unreachable",e),Qir.log(`${t} :: ${JSON.stringify(e)} (${e})`),new Error("code reached unreachable")}function tqt(e,t){var r=t&&t.loc,n,i,s,R;r&&(n=r.start.line,i=r.end.line,s=r.start.column,R=r.end.column,e+=" - "+n+":"+s);for(var l=Error.prototype.constructor.call(this,e),c=0;c0)throw new mae("Invalid path: "+n,{loc:r});c===".."&&s++}else i.push(c)}return{type:"PathExpression",data:e,depth:s,parts:i,original:n,loc:r}}function Jpn(e,t,r,n,i,s){var R=n.charAt(3)||n.charAt(2),l=R!=="{"&&R!=="&",c=/\*/.test(n);return{type:c?"Decorator":"MustacheStatement",path:e,params:t,hash:r,escaped:l,strip:i,loc:this.locInfo(s)}}function Xpn(e,t,r,n){rqt(e,r),n=this.locInfo(n);var i={type:"Program",body:t,strip:{},loc:n};return{type:"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:i,openStrip:{},inverseStrip:{},closeStrip:{},loc:n}}function Zpn(e,t,r,n,i,s){n&&n.path&&rqt(e,n);var R=/\*/.test(e.open);t.blockParams=e.blockParams;var l,c;if(r){if(R)throw new mae("Unexpected inverse block on decorator",r);r.chain&&(r.program.body[0].closeStrip=n.strip),c=r.strip,l=r.program}return i&&(i=l,l=t,t=i),{type:R?"DecoratorBlock":"BlockStatement",path:e.path,params:e.params,hash:e.hash,program:t,inverse:l,openStrip:e.strip,inverseStrip:c,closeStrip:n&&n.strip,loc:this.locInfo(s)}}function e_n(e,t){if(!t&&e.length){var r=e[0].loc,n=e[e.length-1].loc;r&&n&&(t={source:r.source,start:{line:r.start.line,column:r.start.column},end:{line:n.end.line,column:n.end.column}})}return{type:"Program",body:e,strip:{},loc:t}}function t_n(e,t,r,n){return rqt(e,r),{type:"PartialBlockStatement",name:e.path,params:e.params,hash:e.hash,program:t,openStrip:e.strip,closeStrip:r&&r.strip,loc:this.locInfo(n)}}function I6t(e,t){if(e.type==="Program")return e;E6t.yy=Car,E6t.yy.locInfo=function(n){return new qar(t&&t.srcName,n)};var r=E6t.parse(e);return r}function Pir(e,t){var r=I6t(e,t),n=new Ypn(t);return n.accept(r)}function cy(e){return s_n.test(e)}function Bir(e){return o_n.test(e)}function u_n(e){return e.replace(R_n,` +`)}function bar(e){return function(t){return Array.isArray(t)&&t[0]===e}}function T_n(e){var t;return M6t.has(e.toLowerCase())&&((t=e[0])==null?void 0:t.toLowerCase())===e[0]}function jhe(e){return e.length>0}function Khe(e,t="unexpected empty list"){return e}function iqt(e){return e.length===0?void 0:e[e.length-1]}function p_n(e){return e.length===0?void 0:e[0]}function Ear(e){return e(new f_n).validate()}function ER(e,t){let{module:r,loc:n}=t,{line:i,column:s}=n.start,R=t.asString(),l=R?` + +| +| ${R.split(` +`).join(` +| `)} +| + +`:"",c=new Error(`${e}: ${l}(error occurred in '${r}' @ line ${i} : column ${s})`);return c.name="SyntaxError",c.location=t,c.code=R,c}function Mir(e,t,r){return new oqt("Cannot remove a node unless it is part of an array",e,t,r)}function k_n(e,t,r){return new oqt("Cannot replace a node with multiple nodes unless it is part of an array",e,t,r)}function Wir(e,t){return new oqt("Replacing and removing in key handlers is not yet supported.",e,null,t)}function Dar(e){return typeof e=="function"?e:e.enter}function Sar(e){return typeof e=="function"?void 0:e.exit}function zCe(e,t){let r,n,i,{node:s,parent:R,parentKey:l}=t,c=function(h,_){if(h.Program&&(_==="Template"&&!h.Template||_==="Block"&&!h.Block))return h.Program;let f=h[_];return f!==void 0?f:h.All}(e,s.type);if(c!==void 0&&(r=Dar(c),n=Sar(c)),r!==void 0&&(i=r(s,t)),i!=null){if(JSON.stringify(s)!==JSON.stringify(i))return Array.isArray(i)?($ar(e,i,R,l),i):zCe(e,new LCe(i,R,l))||i;i=void 0}if(i===void 0){let h=m_n[s.type];for(let _=0;_typeof t=="string"?Js.var({name:t,loc:S4.synthetic(t)}):t)}function Lir(e=[],t=[],r=!1,n){return Js.blockItself({body:e,params:Nar(t),chained:r,loc:rT(n||null)})}function zir(e=[],t=[],r){return Js.template({body:e,blockParams:t,loc:rT(r||null)})}function rT(...e){if(e.length===1){let t=e[0];return t&&typeof t=="object"?S4.forHbsLoc(D6t(),t):S4.forHbsLoc(D6t(),__n)}{let[t,r,n,i,s]=e,R=s?new Hhe("",s):D6t();return S4.forHbsLoc(R,{start:{line:t,column:r},end:{line:n||t,column:i||r}})}}function S6t(e){return function(t,r){return PCe(e,t,r)}}function $6t(e,t){let r;switch(t.path.type){case"PathExpression":r=e.PathExpression(t.path);break;case"SubExpression":r=e.SubExpression(t.path);break;case"StringLiteral":case"UndefinedLiteral":case"NullLiteral":case"NumberLiteral":case"BooleanLiteral":{let s;throw s=t.path.type==="BooleanLiteral"?t.path.original.toString():t.path.type==="StringLiteral"?`"${t.path.original}"`:t.path.type==="NullLiteral"?"null":t.path.type==="NumberLiteral"?t.path.value.toString():"undefined",ER(`${t.path.type} "${t.path.type==="StringLiteral"?t.path.original:s}" cannot be called as a sub-expression, replace (${s}) with ${s}`,e.source.spanFor(t.path.loc))}}let n=t.params?t.params.map(s=>e.acceptNode(s)):[],i=jhe(n)?iqt(n).loc:r.loc;return{path:r,params:n,hash:t.hash?e.Hash(t.hash):Js.hash({pairs:[],loc:e.source.spanFor(i).collapse("end")})}}function Q6t(e,t){let{path:r,params:n,hash:i,loc:s}=t;if(Qar(r)){let l=`{{${function(c){return c.type==="UndefinedLiteral"?"undefined":JSON.stringify(c.value)}(r)}}}`;throw ER(`In <${e.name} ... ${l} ..., ${l} is not a valid modifier`,t.loc)}let R=Js.elementModifier({path:r,params:n,hash:i,loc:s});e.modifiers.push(R)}function _ae(e){return/[\t\n\f ]/u.test(e)}function S_n(e,t={}){var r,n,i;let s,R,l,c=t.mode||"precompile";typeof e=="string"?(s=new Hhe(e,(r=t.meta)==null?void 0:r.moduleName),R=c==="codemod"?I6t(e,t.parseOptions):Pir(e,t.parseOptions)):e instanceof Hhe?(s=e,R=c==="codemod"?I6t(e.source,t.parseOptions):Pir(e.source,t.parseOptions)):(s=new Hhe("",(n=t.meta)==null?void 0:n.moduleName),R=e),c==="codemod"&&(l=new D_n);let h=S4.forCharPositions(s,0,s.source.length);R.loc={source:"(program)",start:h.startPosition,end:h.endPosition};let _=new O_n(s,l,c).parse(R,t.locals??[]);if((i=t?.plugins)!=null&&i.ast)for(let f of t.plugins.ast)A_n(_,f(yar({},t,{syntax:v_n},{plugins:void 0})).visitor);return _}function N_n(e,t){let r=new SyntaxError(e+" ("+t.loc.start.line+":"+t.loc.start.column+")");return Object.assign(r,t)}function P_n(e){let t=e.children??e.body;if(t)for(let r=0;rt.indexForLocation({line:i-1,column:s}),n=i=>{let{start:s,end:R}=i.loc;s.offset=r(s),R.offset=r(R)};return()=>({name:"prettierParsePlugin",visitor:{All(i){n(i),P_n(i)}}})}function I_n(e){let t;try{t=S_n(e,{mode:"codemod",plugins:{ast:[B_n(e)]}})}catch(r){let n=W_n(r);if(n){let i=M_n(r);throw w_n(i,{loc:n,cause:r})}throw r}return t}function M_n(e){let{message:t}=e,r=t.split(` +`);return r.length>=4&&/^Parse error on line \d+:$/u.test(r[0])&&/^-*\^$/u.test(Fhe(!1,r,-2))?Fhe(!1,r,-1):r.length>=4&&/:\s?$/u.test(r[0])&&/^\(error occurred in '.*?' @ line \d+ : column \d+\)$/u.test(Fhe(!1,r,-1))&&r[1]===""&&Fhe(!1,r,-2)===""&&r.slice(2,-2).every(n=>n.startsWith("|"))?r[0].trim().slice(0,-1):t}function W_n(e){let{location:t,hash:r}=e;if(t){let{start:n,end:i}=t;return typeof i.line!="number"?{start:n}:t}if(r){let{loc:{last_line:n,last_column:i}}=r;return{start:{line:n,column:i+1}}}}var Yir,Kir,B1n,L6t,Gir,Vir,Rg,BCe,cX,jir,I1n,Jir,Xir,Zir,ear,z6t,H6t,tar,Y6t,K6t,G6t,rar,nar,iar,Cae,aar,V6t,sar,oar,W1n,F1n,L1n,Rar,yae,j6t,uar,H1n,Y1n,Ty,wD,Aae,K1n,G1n,Fhe,OCe,Air,N6t,sO,Z1n,epn,tpn,rpn,dw,ICe,ipn,apn,spn,Mhe,opn,lpn,cpn,Tpn,ppn,_pn,par,far,Ppn,Bpn,Ipn,Wpn,Upn,mar,eqt,Fpn,w_i,P_i,yar,Qir,zpn,E6t,O6t,mae,Hpn,Ypn,NCe,Car,vCe,r_n,n_n,i_n,a_n,Aar,s_n,o_n,R_n,gar,B_i,nqt,I_i,M_i,l_n,W_i,c_n,U_i,M6t,fW,__n,zhe,hW,h_n,Iir,f_n,d_n,S4,wCe,aqt,fae,dae,sqt,pX,ND,dW,FCe,Ghe,qae,F6t,x_n,Hhe,m_n,oqt,LCe,y_n,v6t,g_n,DCe,Js,b_n,E_n,O_n,v_n,D_n,$_n,F_i,SCe,Hir,Q_n,w_n,U_n,war,F_n,Bar=mp(()=>{Yir=Object.defineProperty,Kir=e=>{throw TypeError(e)},B1n=(e,t,r)=>t in e?Yir(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,L6t=(e,t)=>{for(var r in t)Yir(e,r,{get:t[r],enumerable:!0})},Gir=(e,t,r)=>B1n(e,typeof t!="symbol"?t+"":t,r),Vir=(e,t,r)=>t.has(e)||Kir("Cannot "+r),Rg=(e,t,r)=>(Vir(e,t,"read from private field"),r?r.call(e):t.get(e)),BCe=(e,t,r)=>t.has(e)?Kir("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),cX=(e,t,r,n)=>(Vir(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),jir={};L6t(jir,{languages:()=>mar,parsers:()=>eqt,printers:()=>war});I1n=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},Jir=I1n,Xir="string",Zir="array",ear="cursor",z6t="indent",H6t="align",tar="trim",Y6t="group",K6t="fill",G6t="if-break",rar="indent-if-break",nar="line-suffix",iar="line-suffix-boundary",Cae="line",aar="label",V6t="break-parent",sar=new Set([ear,z6t,H6t,tar,Y6t,K6t,G6t,rar,nar,iar,Cae,aar,V6t]);oar=M1n,W1n=e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e);F1n=class extends Error{name="InvalidDocError";constructor(e){super(U1n(e)),this.doc=e}},L1n=F1n,Rar=()=>{},yae=Rar,j6t=Rar;uar={type:V6t},H1n={type:Cae,hard:!0},Y1n={type:Cae,hard:!0,literal:!0},Ty={type:Cae},wD={type:Cae,soft:!0},Aae=[H1n,uar],K1n=[Y1n,uar];G1n=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},Fhe=G1n;OCe="'",Air='"';N6t=J1n;Z1n=class{constructor(e){BCe(this,sO),cX(this,sO,new Set(e))}getLeadingWhitespaceCount(e){let t=Rg(this,sO),r=0;for(let n=0;n=0&&t.has(e.charAt(n));n--)r++;return r}getLeadingWhitespace(e){let t=this.getLeadingWhitespaceCount(e);return e.slice(0,t)}getTrailingWhitespace(e){let t=this.getTrailingWhitespaceCount(e);return e.slice(e.length-t)}hasLeadingWhitespace(e){return Rg(this,sO).has(e.charAt(0))}hasTrailingWhitespace(e){return Rg(this,sO).has(Fhe(!1,e,-1))}trimStart(e){let t=this.getLeadingWhitespaceCount(e);return e.slice(t)}trimEnd(e){let t=this.getTrailingWhitespaceCount(e);return e.slice(0,e.length-t)}trim(e){return this.trimEnd(this.trimStart(e))}split(e,t=!1){let r=`[${X1n([...Rg(this,sO)].join(""))}]+`,n=new RegExp(t?`(${r})`:r,"u");return e.split(n)}hasWhitespaceCharacter(e){let t=Rg(this,sO);return Array.prototype.some.call(e,r=>t.has(r))}hasNonWhitespaceCharacter(e){let t=Rg(this,sO);return Array.prototype.some.call(e,r=>!t.has(r))}isWhitespaceOnly(e){let t=Rg(this,sO);return Array.prototype.every.call(e,r=>t.has(r))}};sO=new WeakMap;epn=Z1n,tpn=[" ",` +`,"\f","\r"," "],rpn=new epn(tpn),dw=rpn;ICe=npn,ipn=class extends Error{name="UnexpectedNodeError";constructor(e,t,r="type"){super(`Unexpected ${t} node ${r}: ${JSON.stringify(e[r])}.`),this.node=e}},apn=ipn;lar.ignoredProperties=new Set(["loc","selfClosing"]);spn=lar,Mhe=null;opn=10;for(let e=0;e<=opn;e++)Lhe();lpn=upn,cpn={Template:["body"],Block:["body"],MustacheStatement:["path","params","hash"],BlockStatement:["path","params","hash","program","inverse"],ElementModifierStatement:["path","params","hash"],CommentStatement:[],MustacheCommentStatement:[],ElementNode:["attributes","modifiers","children","comments"],AttrNode:["value"],TextNode:[],ConcatStatement:["parts"],SubExpression:["path","params","hash"],PathExpression:[],StringLiteral:[],BooleanLiteral:[],NumberLiteral:[],NullLiteral:[],UndefinedLiteral:[],Hash:["pairs"],HashPair:["value"]},Tpn=lpn(cpn),ppn=Tpn;_pn=new Set(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]);par=2;far=(e,t)=>e.head.type==="VarHead"&&t.head.type==="VarHead"&&e.head.name===t.head.name;Ppn=new Set("!\"#%&'()*+,./;<=>@[\\]^`{|}~"),Bpn=new Set(["true","false","null","undefined"]),Ipn=(e,t)=>t===0&&e.startsWith("@")?!1:t!==0&&Bpn.has(e)||/\s/u.test(e)||/^\d/u.test(e)||Array.prototype.some.call(e,r=>Ppn.has(r));Wpn={print:xpn,massageAstNode:spn,hasPrettierIgnore:dpn,getVisitorKeys:ppn},Upn=Wpn,mar=[{linguistLanguageId:155,name:"Handlebars",type:"markup",color:"#f7931e",aliases:["hbs","htmlbars"],extensions:[".handlebars",".hbs"],tmScope:"text.html.handlebars",aceMode:"handlebars",parsers:["glimmer"],vscodeLanguageIds:["handlebars"]}],eqt={};L6t(eqt,{glimmer:()=>U_n});Fpn=Object.freeze([]);w_i=kar(),P_i=kar(),yar=Object.assign,Qir=console;zpn=function(){var e=function(at,_t,Ve,Dt){for(Ve=Ve||{},Dt=at.length;Dt--;Ve[at[Dt]]=_t);return Ve},t=[2,44],r=[1,20],n=[5,14,15,19,29,34,39,44,47,48,52,56,60],i=[1,35],s=[1,38],R=[1,30],l=[1,31],c=[1,32],h=[1,33],_=[1,34],f=[1,37],m=[14,15,19,29,34,39,44,47,48,52,56,60],x=[14,15,19,29,34,44,47,48,52,56,60],y=[15,18],A=[14,15,19,29,34,47,48,52,56,60],D=[33,64,71,79,80,81,82,83,84],S=[23,33,55,64,67,71,74,79,80,81,82,83,84],P=[1,51],M=[23,33,55,64,67,71,74,79,80,81,82,83,84,86],U=[2,43],w=[55,64,71,79,80,81,82,83,84],F=[1,58],H=[1,59],G=[1,66],ee=[33,64,71,74,79,80,81,82,83,84],fe=[23,64,71,79,80,81,82,83,84],me=[1,76],ve=[64,67,71,79,80,81,82,83,84],Ae=[33,74],Ue=[23,33,55,67,71,74],Ee=[1,106],Me=[1,118],gt=[71,76],xt={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,program_repetition0:6,statement:7,mustache:8,block:9,rawBlock:10,partial:11,partialBlock:12,content:13,COMMENT:14,CONTENT:15,openRawBlock:16,rawBlock_repetition0:17,END_RAW_BLOCK:18,OPEN_RAW_BLOCK:19,helperName:20,openRawBlock_repetition0:21,openRawBlock_option0:22,CLOSE_RAW_BLOCK:23,openBlock:24,block_option0:25,closeBlock:26,openInverse:27,block_option1:28,OPEN_BLOCK:29,openBlock_repetition0:30,openBlock_option0:31,openBlock_option1:32,CLOSE:33,OPEN_INVERSE:34,openInverse_repetition0:35,openInverse_option0:36,openInverse_option1:37,openInverseChain:38,OPEN_INVERSE_CHAIN:39,openInverseChain_repetition0:40,openInverseChain_option0:41,openInverseChain_option1:42,inverseAndProgram:43,INVERSE:44,inverseChain:45,inverseChain_option0:46,OPEN_ENDBLOCK:47,OPEN:48,expr:49,mustache_repetition0:50,mustache_option0:51,OPEN_UNESCAPED:52,mustache_repetition1:53,mustache_option1:54,CLOSE_UNESCAPED:55,OPEN_PARTIAL:56,partial_repetition0:57,partial_option0:58,openPartialBlock:59,OPEN_PARTIAL_BLOCK:60,openPartialBlock_repetition0:61,openPartialBlock_option0:62,sexpr:63,OPEN_SEXPR:64,sexpr_repetition0:65,sexpr_option0:66,CLOSE_SEXPR:67,hash:68,hash_repetition_plus0:69,hashSegment:70,ID:71,EQUALS:72,blockParams:73,OPEN_BLOCK_PARAMS:74,blockParams_repetition_plus0:75,CLOSE_BLOCK_PARAMS:76,path:77,dataName:78,STRING:79,NUMBER:80,BOOLEAN:81,UNDEFINED:82,NULL:83,DATA:84,pathSegments:85,SEP:86,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",52:"OPEN_UNESCAPED",55:"CLOSE_UNESCAPED",56:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",64:"OPEN_SEXPR",67:"CLOSE_SEXPR",71:"ID",72:"EQUALS",74:"OPEN_BLOCK_PARAMS",76:"CLOSE_BLOCK_PARAMS",79:"STRING",80:"NUMBER",81:"BOOLEAN",82:"UNDEFINED",83:"NULL",84:"DATA",86:"SEP"},productions_:[0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[49,1],[49,1],[63,5],[68,1],[70,3],[73,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[78,2],[77,1],[85,3],[85,1],[6,0],[6,2],[17,0],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[50,0],[50,2],[51,0],[51,1],[53,0],[53,2],[54,0],[54,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[65,0],[65,2],[66,0],[66,1],[69,1],[69,2],[75,1],[75,2]],performAction:function(at,_t,Ve,Dt,Ut,pt,ht){var He=pt.length-1;switch(Ut){case 1:return pt[He-1];case 2:this.$=Dt.prepareProgram(pt[He]);break;case 3:case 4:case 5:case 6:case 7:case 8:case 20:case 27:case 28:case 33:case 34:this.$=pt[He];break;case 9:this.$={type:"CommentStatement",value:Dt.stripComment(pt[He]),strip:Dt.stripFlags(pt[He],pt[He]),loc:Dt.locInfo(this._$)};break;case 10:this.$={type:"ContentStatement",original:pt[He],value:pt[He],loc:Dt.locInfo(this._$)};break;case 11:this.$=Dt.prepareRawBlock(pt[He-2],pt[He-1],pt[He],this._$);break;case 12:this.$={path:pt[He-3],params:pt[He-2],hash:pt[He-1]};break;case 13:this.$=Dt.prepareBlock(pt[He-3],pt[He-2],pt[He-1],pt[He],!1,this._$);break;case 14:this.$=Dt.prepareBlock(pt[He-3],pt[He-2],pt[He-1],pt[He],!0,this._$);break;case 15:this.$={open:pt[He-5],path:pt[He-4],params:pt[He-3],hash:pt[He-2],blockParams:pt[He-1],strip:Dt.stripFlags(pt[He-5],pt[He])};break;case 16:case 17:this.$={path:pt[He-4],params:pt[He-3],hash:pt[He-2],blockParams:pt[He-1],strip:Dt.stripFlags(pt[He-5],pt[He])};break;case 18:this.$={strip:Dt.stripFlags(pt[He-1],pt[He-1]),program:pt[He]};break;case 19:var jt=Dt.prepareBlock(pt[He-2],pt[He-1],pt[He],pt[He],!1,this._$),zr=Dt.prepareProgram([jt],pt[He-1].loc);zr.chained=!0,this.$={strip:pt[He-2].strip,program:zr,chain:!0};break;case 21:this.$={path:pt[He-1],strip:Dt.stripFlags(pt[He-2],pt[He])};break;case 22:case 23:this.$=Dt.prepareMustache(pt[He-3],pt[He-2],pt[He-1],pt[He-4],Dt.stripFlags(pt[He-4],pt[He]),this._$);break;case 24:this.$={type:"PartialStatement",name:pt[He-3],params:pt[He-2],hash:pt[He-1],indent:"",strip:Dt.stripFlags(pt[He-4],pt[He]),loc:Dt.locInfo(this._$)};break;case 25:this.$=Dt.preparePartialBlock(pt[He-2],pt[He-1],pt[He],this._$);break;case 26:this.$={path:pt[He-3],params:pt[He-2],hash:pt[He-1],strip:Dt.stripFlags(pt[He-4],pt[He])};break;case 29:this.$={type:"SubExpression",path:pt[He-3],params:pt[He-2],hash:pt[He-1],loc:Dt.locInfo(this._$)};break;case 30:this.$={type:"Hash",pairs:pt[He],loc:Dt.locInfo(this._$)};break;case 31:this.$={type:"HashPair",key:Dt.id(pt[He-2]),value:pt[He],loc:Dt.locInfo(this._$)};break;case 32:this.$=Dt.id(pt[He-1]);break;case 35:this.$={type:"StringLiteral",value:pt[He],original:pt[He],loc:Dt.locInfo(this._$)};break;case 36:this.$={type:"NumberLiteral",value:Number(pt[He]),original:Number(pt[He]),loc:Dt.locInfo(this._$)};break;case 37:this.$={type:"BooleanLiteral",value:pt[He]==="true",original:pt[He]==="true",loc:Dt.locInfo(this._$)};break;case 38:this.$={type:"UndefinedLiteral",original:void 0,value:void 0,loc:Dt.locInfo(this._$)};break;case 39:this.$={type:"NullLiteral",original:null,value:null,loc:Dt.locInfo(this._$)};break;case 40:this.$=Dt.preparePath(!0,pt[He],this._$);break;case 41:this.$=Dt.preparePath(!1,pt[He],this._$);break;case 42:pt[He-2].push({part:Dt.id(pt[He]),original:pt[He],separator:pt[He-1]}),this.$=pt[He-2];break;case 43:this.$=[{part:Dt.id(pt[He]),original:pt[He]}];break;case 44:case 46:case 48:case 56:case 62:case 68:case 76:case 80:case 84:case 88:case 92:this.$=[];break;case 45:case 47:case 49:case 57:case 63:case 69:case 77:case 81:case 85:case 89:case 93:case 97:case 99:pt[He-1].push(pt[He]);break;case 96:case 98:this.$=[pt[He]];break}},table:[e([5,14,15,19,29,34,48,52,56,60],t,{3:1,4:2,6:3}),{1:[3]},{5:[1,4]},e([5,39,44,47],[2,2],{7:5,8:6,9:7,10:8,11:9,12:10,13:11,24:15,27:16,16:17,59:19,14:[1,12],15:r,19:[1,23],29:[1,21],34:[1,22],48:[1,13],52:[1,14],56:[1,18],60:[1,24]}),{1:[2,1]},e(n,[2,45]),e(n,[2,3]),e(n,[2,4]),e(n,[2,5]),e(n,[2,6]),e(n,[2,7]),e(n,[2,8]),e(n,[2,9]),{20:26,49:25,63:27,64:i,71:s,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},{20:26,49:39,63:27,64:i,71:s,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},e(m,t,{6:3,4:40}),e(x,t,{6:3,4:41}),e(y,[2,46],{17:42}),{20:26,49:43,63:27,64:i,71:s,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},e(A,t,{6:3,4:44}),e([5,14,15,18,19,29,34,39,44,47,48,52,56,60],[2,10]),{20:45,71:s,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},{20:46,71:s,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},{20:47,71:s,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},{20:26,49:48,63:27,64:i,71:s,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},e(D,[2,76],{50:49}),e(S,[2,27]),e(S,[2,28]),e(S,[2,33]),e(S,[2,34]),e(S,[2,35]),e(S,[2,36]),e(S,[2,37]),e(S,[2,38]),e(S,[2,39]),{20:26,49:50,63:27,64:i,71:s,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},e(S,[2,41],{86:P}),{71:s,85:52},e(M,U),e(w,[2,80],{53:53}),{25:54,38:56,39:F,43:57,44:H,45:55,47:[2,52]},{28:60,43:61,44:H,47:[2,54]},{13:63,15:r,18:[1,62]},e(D,[2,84],{57:64}),{26:65,47:G},e(ee,[2,56],{30:67}),e(ee,[2,62],{35:68}),e(fe,[2,48],{21:69}),e(D,[2,88],{61:70}),{20:26,33:[2,78],49:72,51:71,63:27,64:i,68:73,69:74,70:75,71:me,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},e(ve,[2,92],{65:77}),{71:[1,78]},e(S,[2,40],{86:P}),{20:26,49:80,54:79,55:[2,82],63:27,64:i,68:81,69:74,70:75,71:me,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},{26:82,47:G},{47:[2,53]},e(m,t,{6:3,4:83}),{47:[2,20]},{20:84,71:s,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},e(A,t,{6:3,4:85}),{26:86,47:G},{47:[2,55]},e(n,[2,11]),e(y,[2,47]),{20:26,33:[2,86],49:88,58:87,63:27,64:i,68:89,69:74,70:75,71:me,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},e(n,[2,25]),{20:90,71:s,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},e(Ae,[2,58],{20:26,63:27,77:28,78:29,85:36,69:74,70:75,31:91,49:92,68:93,64:i,71:me,79:R,80:l,81:c,82:h,83:_,84:f}),e(Ae,[2,64],{20:26,63:27,77:28,78:29,85:36,69:74,70:75,36:94,49:95,68:96,64:i,71:me,79:R,80:l,81:c,82:h,83:_,84:f}),{20:26,22:97,23:[2,50],49:98,63:27,64:i,68:99,69:74,70:75,71:me,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},{20:26,33:[2,90],49:101,62:100,63:27,64:i,68:102,69:74,70:75,71:me,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},{33:[1,103]},e(D,[2,77]),{33:[2,79]},e([23,33,55,67,74],[2,30],{70:104,71:[1,105]}),e(Ue,[2,96]),e(M,U,{72:Ee}),{20:26,49:108,63:27,64:i,66:107,67:[2,94],68:109,69:74,70:75,71:me,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},e(M,[2,42]),{55:[1,110]},e(w,[2,81]),{55:[2,83]},e(n,[2,13]),{38:56,39:F,43:57,44:H,45:112,46:111,47:[2,74]},e(ee,[2,68],{40:113}),{47:[2,18]},e(n,[2,14]),{33:[1,114]},e(D,[2,85]),{33:[2,87]},{33:[1,115]},{32:116,33:[2,60],73:117,74:Me},e(ee,[2,57]),e(Ae,[2,59]),{33:[2,66],37:119,73:120,74:Me},e(ee,[2,63]),e(Ae,[2,65]),{23:[1,121]},e(fe,[2,49]),{23:[2,51]},{33:[1,122]},e(D,[2,89]),{33:[2,91]},e(n,[2,22]),e(Ue,[2,97]),{72:Ee},{20:26,49:123,63:27,64:i,71:s,77:28,78:29,79:R,80:l,81:c,82:h,83:_,84:f,85:36},{67:[1,124]},e(ve,[2,93]),{67:[2,95]},e(n,[2,23]),{47:[2,19]},{47:[2,75]},e(Ae,[2,70],{20:26,63:27,77:28,78:29,85:36,69:74,70:75,41:125,49:126,68:127,64:i,71:me,79:R,80:l,81:c,82:h,83:_,84:f}),e(n,[2,24]),e(n,[2,21]),{33:[1,128]},{33:[2,61]},{71:[1,130],75:129},{33:[1,131]},{33:[2,67]},e(y,[2,12]),e(A,[2,26]),e(Ue,[2,31]),e(S,[2,29]),{33:[2,72],42:132,73:133,74:Me},e(ee,[2,69]),e(Ae,[2,71]),e(m,[2,15]),{71:[1,135],76:[1,134]},e(gt,[2,98]),e(x,[2,16]),{33:[1,136]},{33:[2,73]},{33:[2,32]},e(gt,[2,99]),e(m,[2,17])],defaultActions:{4:[2,1],55:[2,53],57:[2,20],61:[2,55],73:[2,79],81:[2,83],85:[2,18],89:[2,87],99:[2,51],102:[2,91],109:[2,95],111:[2,19],112:[2,75],117:[2,61],120:[2,67],133:[2,73],134:[2,32]},parseError:function(at,_t){if(_t.recoverable)this.trace(at);else{var Ve=new Error(at);throw Ve.hash=_t,Ve}},parse:function(at){var _t=this,Ve=[0],Dt=[],Ut=[null],pt=[],ht=this.table,He="",jt=0,zr=0,Bn=0,an=2,ri=1,Zr=pt.slice.call(arguments,1),bn=Object.create(this.lexer),Zn={yy:{}};for(var mi in this.yy)Object.prototype.hasOwnProperty.call(this.yy,mi)&&(Zn.yy[mi]=this.yy[mi]);bn.setInput(at,Zn.yy),Zn.yy.lexer=bn,Zn.yy.parser=this,typeof bn.yylloc>"u"&&(bn.yylloc={});var Sn=bn.yylloc;pt.push(Sn);var $i=bn.options&&bn.options.ranges;typeof Zn.yy.parseError=="function"?this.parseError=Zn.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function cs(ln){Ve.length=Ve.length-2*ln,Ut.length=Ut.length-ln,pt.length=pt.length-ln}for(var Ti=function(){var ln;return ln=bn.lex()||ri,typeof ln!="number"&&(ln=_t.symbols_[ln]||ln),ln},Wi,Fn,Hi,Ma,mt,ot,Je={},Ct,Pt,Zt,dr;;){if(Hi=Ve[Ve.length-1],this.defaultActions[Hi]?Ma=this.defaultActions[Hi]:((Wi===null||typeof Wi>"u")&&(Wi=Ti()),Ma=ht[Hi]&&ht[Hi][Wi]),typeof Ma>"u"||!Ma.length||!Ma[0]){var vr="";dr=[];for(Ct in ht[Hi])this.terminals_[Ct]&&Ct>an&&dr.push("'"+this.terminals_[Ct]+"'");bn.showPosition?vr="Parse error on line "+(jt+1)+`: +`+bn.showPosition()+` +Expecting `+dr.join(", ")+", got '"+(this.terminals_[Wi]||Wi)+"'":vr="Parse error on line "+(jt+1)+": Unexpected "+(Wi==ri?"end of input":"'"+(this.terminals_[Wi]||Wi)+"'"),this.parseError(vr,{text:bn.match,token:this.terminals_[Wi]||Wi,line:bn.yylineno,loc:Sn,expected:dr})}if(Ma[0]instanceof Array&&Ma.length>1)throw new Error("Parse Error: multiple actions possible at state: "+Hi+", token: "+Wi);switch(Ma[0]){case 1:Ve.push(Wi),Ut.push(bn.yytext),pt.push(bn.yylloc),Ve.push(Ma[1]),Wi=null,Fn?(Wi=Fn,Fn=null):(zr=bn.yyleng,He=bn.yytext,jt=bn.yylineno,Sn=bn.yylloc,Bn>0&&Bn--);break;case 2:if(Pt=this.productions_[Ma[1]][1],Je.$=Ut[Ut.length-Pt],Je._$={first_line:pt[pt.length-(Pt||1)].first_line,last_line:pt[pt.length-1].last_line,first_column:pt[pt.length-(Pt||1)].first_column,last_column:pt[pt.length-1].last_column},$i&&(Je._$.range=[pt[pt.length-(Pt||1)].range[0],pt[pt.length-1].range[1]]),ot=this.performAction.apply(Je,[He,zr,jt,Zn.yy,Ma[1],Ut,pt].concat(Zr)),typeof ot<"u")return ot;Pt&&(Ve=Ve.slice(0,-1*Pt*2),Ut=Ut.slice(0,-1*Pt),pt=pt.slice(0,-1*Pt)),Ve.push(this.productions_[Ma[1]][0]),Ut.push(Je.$),pt.push(Je._$),Zt=ht[Ve[Ve.length-2]][Ve[Ve.length-1]],Ve.push(Zt);break;case 3:return!0}}return!0}},Nt=function(){var at={EOF:1,parseError:function(_t,Ve){if(this.yy.parser)this.yy.parser.parseError(_t,Ve);else throw new Error(_t)},setInput:function(_t,Ve){return this.yy=Ve||this.yy||{},this._input=_t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var _t=this._input[0];this.yytext+=_t,this.yyleng++,this.offset++,this.match+=_t,this.matched+=_t;var Ve=_t.match(/(?:\r\n?|\n).*/g);return Ve?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),_t},unput:function(_t){var Ve=_t.length,Dt=_t.split(/(?:\r\n?|\n)/g);this._input=_t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-Ve),this.offset-=Ve;var Ut=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),Dt.length-1&&(this.yylineno-=Dt.length-1);var pt=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:Dt?(Dt.length===Ut.length?this.yylloc.first_column:0)+Ut[Ut.length-Dt.length].length-Dt[0].length:this.yylloc.first_column-Ve},this.options.ranges&&(this.yylloc.range=[pt[0],pt[0]+this.yyleng-Ve]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true). +`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(_t){this.unput(this.match.slice(_t))},pastInput:function(){var _t=this.matched.substr(0,this.matched.length-this.match.length);return(_t.length>20?"...":"")+_t.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var _t=this.match;return _t.length<20&&(_t+=this._input.substr(0,20-_t.length)),(_t.substr(0,20)+(_t.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var _t=this.pastInput(),Ve=new Array(_t.length+1).join("-");return _t+this.upcomingInput()+` +`+Ve+"^"},test_match:function(_t,Ve){var Dt,Ut,pt;if(this.options.backtrack_lexer&&(pt={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(pt.yylloc.range=this.yylloc.range.slice(0))),Ut=_t[0].match(/(?:\r\n?|\n).*/g),Ut&&(this.yylineno+=Ut.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:Ut?Ut[Ut.length-1].length-Ut[Ut.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+_t[0].length},this.yytext+=_t[0],this.match+=_t[0],this.matches=_t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(_t[0].length),this.matched+=_t[0],Dt=this.performAction.call(this,this.yy,this,Ve,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),Dt)return Dt;if(this._backtrack){for(var ht in pt)this[ht]=pt[ht];return!1}return!1},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var _t,Ve,Dt,Ut;this._more||(this.yytext="",this.match="");for(var pt=this._currentRules(),ht=0;htVe[0].length)){if(Ve=Dt,Ut=ht,this.options.backtrack_lexer){if(_t=this.test_match(Dt,pt[ht]),_t!==!1)return _t;if(this._backtrack){Ve=!1;continue}else return!1}else if(!this.options.flex)break}return Ve?(_t=this.test_match(Ve,pt[Ut]),_t!==!1?_t:!1):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text. +`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var _t=this.next();return _t||this.lex()},begin:function(_t){this.conditionStack.push(_t)},popState:function(){var _t=this.conditionStack.length-1;return _t>0?this.conditionStack.pop():this.conditionStack[0]},_currentRules:function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},topState:function(_t){return _t=this.conditionStack.length-1-Math.abs(_t||0),_t>=0?this.conditionStack[_t]:"INITIAL"},pushState:function(_t){this.begin(_t)},stateStackSize:function(){return this.conditionStack.length},options:{},performAction:function(_t,Ve,Dt,Ut){function pt(He,jt){return Ve.yytext=Ve.yytext.substring(He,Ve.yyleng-jt+He)}var ht=Ut;switch(Dt){case 0:if(Ve.yytext.slice(-2)==="\\\\"?(pt(0,1),this.begin("mu")):Ve.yytext.slice(-1)==="\\"?(pt(0,1),this.begin("emu")):this.begin("mu"),Ve.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;case 3:return this.begin("raw"),15;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw"?15:(pt(5,9),18);case 5:return 15;case 6:return this.popState(),14;case 7:return 64;case 8:return 67;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;case 11:return 56;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;case 16:return this.popState(),44;case 17:return 34;case 18:return 39;case 19:return 52;case 20:return 48;case 21:this.unput(Ve.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;case 23:return 48;case 24:return 72;case 25:return 71;case 26:return 71;case 27:return 86;case 28:break;case 29:return this.popState(),55;case 30:return this.popState(),33;case 31:return Ve.yytext=pt(1,2).replace(/\\"/g,'"'),79;case 32:return Ve.yytext=pt(1,2).replace(/\\'/g,"'"),79;case 33:return 84;case 34:return 81;case 35:return 81;case 36:return 82;case 37:return 83;case 38:return 80;case 39:return 74;case 40:return 76;case 41:return 71;case 42:return Ve.yytext=Ve.yytext.replace(/\\([\\\]])/g,"$1"),71;case 43:return"INVALID";case 44:return 5}},rules:[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],conditions:{mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}}};return at}();xt.lexer=Nt;function lt(){this.yy={}}return lt.prototype=xt,xt.Parser=lt,new lt}(),E6t=zpn,O6t=["description","fileName","lineNumber","endLineNumber","message","name","number","stack"];tqt.prototype=new Error;mae=tqt;$Ce.prototype={constructor:$Ce,mutating:!1,acceptKey:function(e,t){var r=this.accept(e[t]);if(this.mutating){if(r&&!$Ce.prototype[r.type])throw new mae('Unexpected node type "'+r.type+'" found when accepting '+t+" on "+e.type);e[t]=r}},acceptRequired:function(e,t){if(this.acceptKey(e,t),!e[t])throw new mae(e.type+" requires "+t)},acceptArray:function(e){for(var t=0,r=e.length;tqar,id:()=>Kpn,prepareBlock:()=>Zpn,prepareMustache:()=>Jpn,preparePartialBlock:()=>t_n,preparePath:()=>jpn,prepareProgram:()=>e_n,prepareRawBlock:()=>Xpn,stripComment:()=>Vpn,stripFlags:()=>Gpn});Car={};for(vCe in NCe)Object.prototype.hasOwnProperty.call(NCe,vCe)&&(Car[vCe]=NCe[vCe]);r_n={Aacute:"\xC1",aacute:"\xE1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",Acy:"\u0410",acy:"\u0430",AElig:"\xC6",aelig:"\xE6",af:"\u2061",Afr:"\u{1D504}",afr:"\u{1D51E}",Agrave:"\xC0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03B1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2A3F",amp:"&",AMP:"&",andand:"\u2A55",And:"\u2A53",and:"\u2227",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angmsd:"\u2221",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",Aogon:"\u0104",aogon:"\u0105",Aopf:"\u{1D538}",aopf:"\u{1D552}",apacir:"\u2A6F",ap:"\u2248",apE:"\u2A70",ape:"\u224A",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",Aring:"\xC5",aring:"\xE5",Ascr:"\u{1D49C}",ascr:"\u{1D4B6}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",Beta:"\u0392",beta:"\u03B2",beth:"\u2136",between:"\u226C",Bfr:"\u{1D505}",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bNot:"\u2AED",bnot:"\u2310",Bopf:"\u{1D539}",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250C",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252C",boxHd:"\u2564",boxhD:"\u2565",boxHD:"\u2566",boxhu:"\u2534",boxHu:"\u2567",boxhU:"\u2568",boxHU:"\u2569",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxul:"\u2518",boxuL:"\u255B",boxUl:"\u255C",boxUL:"\u255D",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255A",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253C",boxvH:"\u256A",boxVh:"\u256B",boxVH:"\u256C",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251C",boxvR:"\u255E",boxVr:"\u255F",boxVR:"\u2560",bprime:"\u2035",breve:"\u02D8",Breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",Bscr:"\u212C",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsolb:"\u29C5",bsol:"\\",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",Bumpeq:"\u224E",bumpeq:"\u224F",Cacute:"\u0106",cacute:"\u0107",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",cap:"\u2229",Cap:"\u22D2",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",Ccaron:"\u010C",ccaron:"\u010D",Ccedil:"\xC7",ccedil:"\xE7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",Cdot:"\u010A",cdot:"\u010B",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",CenterDot:"\xB7",cfr:"\u{1D520}",Cfr:"\u212D",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03A7",chi:"\u03C7",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cir:"\u25CB",cirE:"\u29C3",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",Colone:"\u2A74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",conint:"\u222E",Conint:"\u222F",ContourIntegral:"\u222E",copf:"\u{1D554}",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xA9",COPY:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",cross:"\u2717",Cross:"\u2A2F",Cscr:"\u{1D49E}",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cupbrcap:"\u2A48",cupcap:"\u2A46",CupCap:"\u224D",cup:"\u222A",Cup:"\u22D3",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",Darr:"\u21A1",dArr:"\u21D3",dash:"\u2010",Dashv:"\u2AE4",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",Dcaron:"\u010E",dcaron:"\u010F",Dcy:"\u0414",dcy:"\u0434",ddagger:"\u2021",ddarr:"\u21CA",DD:"\u2145",dd:"\u2146",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",Delta:"\u0394",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",Dfr:"\u{1D507}",dfr:"\u{1D521}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",diamond:"\u22C4",Diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",Dopf:"\u{1D53B}",dopf:"\u{1D555}",Dot:"\xA8",dot:"\u02D9",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrowBar:"\u2913",downarrow:"\u2193",DownArrow:"\u2193",Downarrow:"\u21D3",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVectorBar:"\u2956",DownLeftVector:"\u21BD",DownRightTeeVector:"\u295F",DownRightVectorBar:"\u2957",DownRightVector:"\u21C1",DownTeeArrow:"\u21A7",DownTee:"\u22A4",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",Dscr:"\u{1D49F}",dscr:"\u{1D4B9}",DScy:"\u0405",dscy:"\u0455",dsol:"\u29F6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",DZcy:"\u040F",dzcy:"\u045F",dzigrarr:"\u27FF",Eacute:"\xC9",eacute:"\xE9",easter:"\u2A6E",Ecaron:"\u011A",ecaron:"\u011B",Ecirc:"\xCA",ecirc:"\xEA",ecir:"\u2256",ecolon:"\u2255",Ecy:"\u042D",ecy:"\u044D",eDDot:"\u2A77",Edot:"\u0116",edot:"\u0117",eDot:"\u2251",ee:"\u2147",efDot:"\u2252",Efr:"\u{1D508}",efr:"\u{1D522}",eg:"\u2A9A",Egrave:"\xC8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",ENG:"\u014A",eng:"\u014B",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\u{1D53C}",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",Epsilon:"\u0395",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",escr:"\u212F",Escr:"\u2130",esdot:"\u2250",Esim:"\u2A73",esim:"\u2242",Eta:"\u0397",eta:"\u03B7",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",Ffr:"\u{1D509}",ffr:"\u{1D523}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",Fopf:"\u{1D53D}",fopf:"\u{1D557}",forall:"\u2200",ForAll:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",Fscr:"\u2131",gacute:"\u01F5",Gamma:"\u0393",gamma:"\u03B3",Gammad:"\u03DC",gammad:"\u03DD",gap:"\u2A86",Gbreve:"\u011E",gbreve:"\u011F",Gcedil:"\u0122",Gcirc:"\u011C",gcirc:"\u011D",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",ge:"\u2265",gE:"\u2267",gEl:"\u2A8C",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",gescc:"\u2AA9",ges:"\u2A7E",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",Gfr:"\u{1D50A}",gfr:"\u{1D524}",gg:"\u226B",Gg:"\u22D9",ggg:"\u22D9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gla:"\u2AA5",gl:"\u2277",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gnE:"\u2269",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",Gopf:"\u{1D53E}",gopf:"\u{1D558}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gtcc:"\u2AA7",gtcir:"\u2A7A",gt:">",GT:">",Gt:"\u226B",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",HARDcy:"\u042A",hardcy:"\u044A",harrcir:"\u2948",harr:"\u2194",hArr:"\u21D4",harrw:"\u21AD",Hat:"^",hbar:"\u210F",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",Hfr:"\u210C",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",Hopf:"\u210D",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\u{1D4BD}",Hscr:"\u210B",hslash:"\u210F",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xCD",iacute:"\xED",ic:"\u2063",Icirc:"\xCE",icirc:"\xEE",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",Ifr:"\u2111",Igrave:"\xCC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Imacr:"\u012A",imacr:"\u012B",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",Im:"\u2111",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",incare:"\u2105",in:"\u2208",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",intcal:"\u22BA",int:"\u222B",Int:"\u222C",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012E",iogon:"\u012F",Iopf:"\u{1D540}",iopf:"\u{1D55A}",Iota:"\u0399",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",Iscr:"\u2110",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xCF",iuml:"\xEF",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\u{1D50D}",jfr:"\u{1D527}",jmath:"\u0237",Jopf:"\u{1D541}",jopf:"\u{1D55B}",Jscr:"\u{1D4A5}",jscr:"\u{1D4BF}",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039A",kappa:"\u03BA",kappav:"\u03F0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041A",kcy:"\u043A",Kfr:"\u{1D50E}",kfr:"\u{1D528}",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040C",kjcy:"\u045C",Kopf:"\u{1D542}",kopf:"\u{1D55C}",Kscr:"\u{1D4A6}",kscr:"\u{1D4C0}",lAarr:"\u21DA",Lacute:"\u0139",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",Lambda:"\u039B",lambda:"\u03BB",lang:"\u27E8",Lang:"\u27EA",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",larrb:"\u21E4",larrbfs:"\u291F",larr:"\u2190",Larr:"\u219E",lArr:"\u21D0",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",latail:"\u2919",lAtail:"\u291B",lat:"\u2AAB",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lBarr:"\u290E",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",Lcaron:"\u013D",lcaron:"\u013E",Lcedil:"\u013B",lcedil:"\u013C",lceil:"\u2308",lcub:"{",Lcy:"\u041B",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27E8",LeftArrowBar:"\u21E4",leftarrow:"\u2190",LeftArrow:"\u2190",Leftarrow:"\u21D0",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVectorBar:"\u2959",LeftDownVector:"\u21C3",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",LeftRightArrow:"\u2194",Leftrightarrow:"\u21D4",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTeeArrow:"\u21A4",LeftTee:"\u22A3",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangleBar:"\u29CF",LeftTriangle:"\u22B2",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVectorBar:"\u2958",LeftUpVector:"\u21BF",LeftVectorBar:"\u2952",LeftVector:"\u21BC",lEg:"\u2A8B",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",lescc:"\u2AA8",les:"\u2A7D",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",Lfr:"\u{1D50F}",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",llarr:"\u21C7",ll:"\u226A",Ll:"\u22D8",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",Lmidot:"\u013F",lmidot:"\u0140",lmoustache:"\u23B0",lmoust:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lnE:"\u2268",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",LongLeftArrow:"\u27F5",Longleftarrow:"\u27F8",longleftrightarrow:"\u27F7",LongLeftRightArrow:"\u27F7",Longleftrightarrow:"\u27FA",longmapsto:"\u27FC",longrightarrow:"\u27F6",LongRightArrow:"\u27F6",Longrightarrow:"\u27F9",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",Lopf:"\u{1D543}",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",Lscr:"\u2112",lsh:"\u21B0",Lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",Lstrok:"\u0141",lstrok:"\u0142",ltcc:"\u2AA6",ltcir:"\u2A79",lt:"<",LT:"<",Lt:"\u226A",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",Mcy:"\u041C",mcy:"\u043C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",midast:"*",midcir:"\u2AF0",mid:"\u2223",middot:"\xB7",minusb:"\u229F",minus:"\u2212",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",Mopf:"\u{1D544}",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",Mscr:"\u2133",mstpos:"\u223E",Mu:"\u039C",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natural:"\u266E",naturals:"\u2115",natur:"\u266E",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",Ncy:"\u041D",ncy:"\u043D",ndash:"\u2013",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21D7",nearrow:"\u2197",ne:"\u2260",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` +`,nexist:"\u2204",nexists:"\u2204",Nfr:"\u{1D511}",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",nGt:"\u226B\u20D2",ngt:"\u226F",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",NJcy:"\u040A",njcy:"\u045A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nLt:"\u226A\u20D2",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",Not:"\u2AEC",not:"\xAC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangle:"\u22EB",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",nparallel:"\u2226",npar:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",nprec:"\u2280",npreceq:"\u2AAF\u0338",npre:"\u2AAF\u0338",nrarrc:"\u2933\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",Nscr:"\u{1D4A9}",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",Ntilde:"\xD1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",Nu:"\u039D",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xD3",oacute:"\xF3",oast:"\u229B",Ocirc:"\xD4",ocirc:"\xF4",ocir:"\u229A",Ocy:"\u041E",ocy:"\u043E",odash:"\u229D",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29BF",Ofr:"\u{1D512}",ofr:"\u{1D52C}",ogon:"\u02DB",Ograve:"\xD2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",Omacr:"\u014C",omacr:"\u014D",Omega:"\u03A9",omega:"\u03C9",Omicron:"\u039F",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",Oopf:"\u{1D546}",oopf:"\u{1D560}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",orarr:"\u21BB",Or:"\u2A54",or:"\u2228",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",Oscr:"\u{1D4AA}",oscr:"\u2134",Oslash:"\xD8",oslash:"\xF8",osol:"\u2298",Otilde:"\xD5",otilde:"\xF5",otimesas:"\u2A36",Otimes:"\u2A37",otimes:"\u2297",Ouml:"\xD6",ouml:"\xF6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",para:"\xB6",parallel:"\u2225",par:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",Pcy:"\u041F",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",Pfr:"\u{1D513}",pfr:"\u{1D52D}",Phi:"\u03A6",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",Pi:"\u03A0",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plus:"+",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",popf:"\u{1D561}",Popf:"\u2119",pound:"\xA3",prap:"\u2AB7",Pr:"\u2ABB",pr:"\u227A",prcue:"\u227C",precapprox:"\u2AB7",prec:"\u227A",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",pre:"\u2AAF",prE:"\u2AB3",precsim:"\u227E",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportional:"\u221D",Proportion:"\u2237",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",Pscr:"\u{1D4AB}",pscr:"\u{1D4C5}",Psi:"\u03A8",psi:"\u03C8",puncsp:"\u2008",Qfr:"\u{1D514}",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",Qopf:"\u211A",qprime:"\u2057",Qscr:"\u{1D4AC}",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',QUOT:'"',rAarr:"\u21DB",race:"\u223D\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",Rang:"\u27EB",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarr:"\u2192",Rarr:"\u21A0",rArr:"\u21D2",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",rAtail:"\u291C",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rBarr:"\u290F",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",Re:"\u211C",rect:"\u25AD",reg:"\xAE",REG:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",Rfr:"\u211C",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",Rho:"\u03A1",rho:"\u03C1",rhov:"\u03F1",RightAngleBracket:"\u27E9",RightArrowBar:"\u21E5",rightarrow:"\u2192",RightArrow:"\u2192",Rightarrow:"\u21D2",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVectorBar:"\u2955",RightDownVector:"\u21C2",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTeeArrow:"\u21A6",RightTee:"\u22A2",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangleBar:"\u29D0",RightTriangle:"\u22B3",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVectorBar:"\u2954",RightUpVector:"\u21BE",RightVectorBar:"\u2953",RightVector:"\u21C0",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoustache:"\u23B1",rmoust:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",Ropf:"\u211D",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",rscr:"\u{1D4C7}",Rscr:"\u211B",rsh:"\u21B1",Rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",Sacute:"\u015A",sacute:"\u015B",sbquo:"\u201A",scap:"\u2AB8",Scaron:"\u0160",scaron:"\u0161",Sc:"\u2ABC",sc:"\u227B",sccue:"\u227D",sce:"\u2AB0",scE:"\u2AB4",Scedil:"\u015E",scedil:"\u015F",Scirc:"\u015C",scirc:"\u015D",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",Scy:"\u0421",scy:"\u0441",sdotb:"\u22A1",sdot:"\u22C5",sdote:"\u2A66",searhk:"\u2925",searr:"\u2198",seArr:"\u21D8",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\u{1D516}",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",Sigma:"\u03A3",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",SOFTcy:"\u042C",softcy:"\u044C",solbar:"\u233F",solb:"\u29C4",sol:"/",Sopf:"\u{1D54A}",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25A1",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squ:"\u25A1",squf:"\u25AA",srarr:"\u2192",Sscr:"\u{1D4AE}",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",Star:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",Sub:"\u22D0",subdot:"\u2ABD",subE:"\u2AC5",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",Subset:"\u22D0",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succapprox:"\u2AB8",succ:"\u227B",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",sum:"\u2211",Sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",Sup:"\u22D1",supdot:"\u2ABE",supdsub:"\u2AD8",supE:"\u2AC6",supe:"\u2287",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",Supset:"\u22D1",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21D9",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",Tau:"\u03A4",tau:"\u03C4",tbrk:"\u23B4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",Tfr:"\u{1D517}",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",Theta:"\u0398",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",THORN:"\xDE",thorn:"\xFE",tilde:"\u02DC",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",timesbar:"\u2A31",timesb:"\u22A0",times:"\xD7",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",topbot:"\u2336",topcir:"\u2AF1",top:"\u22A4",Topf:"\u{1D54B}",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",Tscr:"\u{1D4AF}",tscr:"\u{1D4C9}",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040B",tshcy:"\u045B",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",Uacute:"\xDA",uacute:"\xFA",uarr:"\u2191",Uarr:"\u219F",uArr:"\u21D1",Uarrocir:"\u2949",Ubrcy:"\u040E",ubrcy:"\u045E",Ubreve:"\u016C",ubreve:"\u016D",Ucirc:"\xDB",ucirc:"\xFB",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21C5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",Ufr:"\u{1D518}",ufr:"\u{1D532}",Ugrave:"\xD9",ugrave:"\xF9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",Umacr:"\u016A",umacr:"\u016B",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",uogon:"\u0173",Uopf:"\u{1D54C}",uopf:"\u{1D566}",UpArrowBar:"\u2912",uparrow:"\u2191",UpArrow:"\u2191",Uparrow:"\u21D1",UpArrowDownArrow:"\u21C5",updownarrow:"\u2195",UpDownArrow:"\u2195",Updownarrow:"\u21D5",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03C5",Upsi:"\u03D2",upsih:"\u03D2",Upsilon:"\u03A5",upsilon:"\u03C5",UpTeeArrow:"\u21A5",UpTee:"\u22A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",Uring:"\u016E",uring:"\u016F",urtri:"\u25F9",Uscr:"\u{1D4B0}",uscr:"\u{1D4CA}",utdot:"\u22F0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",Uuml:"\xDC",uuml:"\xFC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",vArr:"\u21D5",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vBar:"\u2AE8",Vbar:"\u2AEB",vBarv:"\u2AE9",Vcy:"\u0412",vcy:"\u0432",vdash:"\u22A2",vDash:"\u22A8",Vdash:"\u22A9",VDash:"\u22AB",Vdashl:"\u2AE6",veebar:"\u22BB",vee:"\u2228",Vee:"\u22C1",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",Vopf:"\u{1D54D}",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",Vscr:"\u{1D4B1}",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",Wedge:"\u22C0",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\u{1D51A}",wfr:"\u{1D534}",Wopf:"\u{1D54E}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\u{1D4B2}",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",Xfr:"\u{1D51B}",xfr:"\u{1D535}",xharr:"\u27F7",xhArr:"\u27FA",Xi:"\u039E",xi:"\u03BE",xlarr:"\u27F5",xlArr:"\u27F8",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",Xopf:"\u{1D54F}",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrarr:"\u27F6",xrArr:"\u27F9",Xscr:"\u{1D4B3}",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",Yacute:"\xDD",yacute:"\xFD",YAcy:"\u042F",yacy:"\u044F",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042B",ycy:"\u044B",yen:"\xA5",Yfr:"\u{1D51C}",yfr:"\u{1D536}",YIcy:"\u0407",yicy:"\u0457",Yopf:"\u{1D550}",yopf:"\u{1D56A}",Yscr:"\u{1D4B4}",yscr:"\u{1D4CE}",YUcy:"\u042E",yucy:"\u044E",yuml:"\xFF",Yuml:"\u0178",Zacute:"\u0179",zacute:"\u017A",Zcaron:"\u017D",zcaron:"\u017E",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017B",zdot:"\u017C",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",Zeta:"\u0396",zeta:"\u03B6",zfr:"\u{1D537}",Zfr:"\u2128",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",Zopf:"\u2124",Zscr:"\u{1D4B5}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"},n_n=/^#[xX]([A-Fa-f0-9]+)$/,i_n=/^#([0-9]+)$/,a_n=/^([A-Za-z0-9]+)$/,Aar=function(){function e(t){this.named=t}return e.prototype.parse=function(t){if(t){var r=t.match(n_n);if(r)return String.fromCharCode(parseInt(r[1],16));if(r=t.match(i_n),r)return String.fromCharCode(parseInt(r[1],10));if(r=t.match(a_n),r)return this.named[r[1]]}},e}(),s_n=/[\t\n\f ]/,o_n=/[A-Za-z]/,R_n=/\r\n?/g;gar=function(){function e(t,r,n){n===void 0&&(n="precompile"),this.delegate=t,this.entityParser=r,this.mode=n,this.state="beforeData",this.line=-1,this.column=-1,this.input="",this.index=-1,this.tagNameBuffer="",this.states={beforeData:function(){var i=this.peek();if(i==="<"&&!this.isIgnoredEndTag())this.transitionTo("tagOpen"),this.markTagStart(),this.consume();else{if(this.mode==="precompile"&&i===` +`){var s=this.tagNameBuffer.toLowerCase();(s==="pre"||s==="textarea")&&this.consume()}this.transitionTo("data"),this.delegate.beginData()}},data:function(){var i=this.peek(),s=this.tagNameBuffer;i==="<"&&!this.isIgnoredEndTag()?(this.delegate.finishData(),this.transitionTo("tagOpen"),this.markTagStart(),this.consume()):i==="&"&&s!=="script"&&s!=="style"?(this.consume(),this.delegate.appendToData(this.consumeCharRef()||"&")):(this.consume(),this.delegate.appendToData(i))},tagOpen:function(){var i=this.consume();i==="!"?this.transitionTo("markupDeclarationOpen"):i==="/"?this.transitionTo("endTagOpen"):(i==="@"||i===":"||Bir(i))&&(this.transitionTo("tagName"),this.tagNameBuffer="",this.delegate.beginStartTag(),this.appendToTagName(i))},markupDeclarationOpen:function(){var i=this.consume();if(i==="-"&&this.peek()==="-")this.consume(),this.transitionTo("commentStart"),this.delegate.beginComment();else{var s=i.toUpperCase()+this.input.substring(this.index,this.index+6).toUpperCase();s==="DOCTYPE"&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.transitionTo("doctype"),this.delegate.beginDoctype&&this.delegate.beginDoctype())}},doctype:function(){var i=this.consume();cy(i)&&this.transitionTo("beforeDoctypeName")},beforeDoctypeName:function(){var i=this.consume();cy(i)||(this.transitionTo("doctypeName"),this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(i.toLowerCase()))},doctypeName:function(){var i=this.consume();cy(i)?this.transitionTo("afterDoctypeName"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeName&&this.delegate.appendToDoctypeName(i.toLowerCase())},afterDoctypeName:function(){var i=this.consume();if(!cy(i))if(i===">")this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData");else{var s=i.toUpperCase()+this.input.substring(this.index,this.index+5).toUpperCase(),R=s.toUpperCase()==="PUBLIC",l=s.toUpperCase()==="SYSTEM";(R||l)&&(this.consume(),this.consume(),this.consume(),this.consume(),this.consume(),this.consume()),R?this.transitionTo("afterDoctypePublicKeyword"):l&&this.transitionTo("afterDoctypeSystemKeyword")}},afterDoctypePublicKeyword:function(){var i=this.peek();cy(i)?(this.transitionTo("beforeDoctypePublicIdentifier"),this.consume()):i==='"'?(this.transitionTo("doctypePublicIdentifierDoubleQuoted"),this.consume()):i==="'"?(this.transitionTo("doctypePublicIdentifierSingleQuoted"),this.consume()):i===">"&&(this.consume(),this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},doctypePublicIdentifierDoubleQuoted:function(){var i=this.consume();i==='"'?this.transitionTo("afterDoctypePublicIdentifier"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(i)},doctypePublicIdentifierSingleQuoted:function(){var i=this.consume();i==="'"?this.transitionTo("afterDoctypePublicIdentifier"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypePublicIdentifier&&this.delegate.appendToDoctypePublicIdentifier(i)},afterDoctypePublicIdentifier:function(){var i=this.consume();cy(i)?this.transitionTo("betweenDoctypePublicAndSystemIdentifiers"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):i==='"'?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):i==="'"&&this.transitionTo("doctypeSystemIdentifierSingleQuoted")},betweenDoctypePublicAndSystemIdentifiers:function(){var i=this.consume();cy(i)||(i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):i==='"'?this.transitionTo("doctypeSystemIdentifierDoubleQuoted"):i==="'"&&this.transitionTo("doctypeSystemIdentifierSingleQuoted"))},doctypeSystemIdentifierDoubleQuoted:function(){var i=this.consume();i==='"'?this.transitionTo("afterDoctypeSystemIdentifier"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(i)},doctypeSystemIdentifierSingleQuoted:function(){var i=this.consume();i==="'"?this.transitionTo("afterDoctypeSystemIdentifier"):i===">"?(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData")):this.delegate.appendToDoctypeSystemIdentifier&&this.delegate.appendToDoctypeSystemIdentifier(i)},afterDoctypeSystemIdentifier:function(){var i=this.consume();cy(i)||i===">"&&(this.delegate.endDoctype&&this.delegate.endDoctype(),this.transitionTo("beforeData"))},commentStart:function(){var i=this.consume();i==="-"?this.transitionTo("commentStartDash"):i===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData(i),this.transitionTo("comment"))},commentStartDash:function(){var i=this.consume();i==="-"?this.transitionTo("commentEnd"):i===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("-"),this.transitionTo("comment"))},comment:function(){var i=this.consume();i==="-"?this.transitionTo("commentEndDash"):this.delegate.appendToCommentData(i)},commentEndDash:function(){var i=this.consume();i==="-"?this.transitionTo("commentEnd"):(this.delegate.appendToCommentData("-"+i),this.transitionTo("comment"))},commentEnd:function(){var i=this.consume();i===">"?(this.delegate.finishComment(),this.transitionTo("beforeData")):(this.delegate.appendToCommentData("--"+i),this.transitionTo("comment"))},tagName:function(){var i=this.consume();cy(i)?this.transitionTo("beforeAttributeName"):i==="/"?this.transitionTo("selfClosingStartTag"):i===">"?(this.delegate.finishTag(),this.transitionTo("beforeData")):this.appendToTagName(i)},endTagName:function(){var i=this.consume();cy(i)?(this.transitionTo("beforeAttributeName"),this.tagNameBuffer=""):i==="/"?(this.transitionTo("selfClosingStartTag"),this.tagNameBuffer=""):i===">"?(this.delegate.finishTag(),this.transitionTo("beforeData"),this.tagNameBuffer=""):this.appendToTagName(i)},beforeAttributeName:function(){var i=this.peek();if(cy(i)){this.consume();return}else i==="/"?(this.transitionTo("selfClosingStartTag"),this.consume()):i===">"?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):i==="="?(this.delegate.reportSyntaxError("attribute name cannot start with equals sign"),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(i)):(this.transitionTo("attributeName"),this.delegate.beginAttribute())},attributeName:function(){var i=this.peek();cy(i)?(this.transitionTo("afterAttributeName"),this.consume()):i==="/"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):i==="="?(this.transitionTo("beforeAttributeValue"),this.consume()):i===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):i==='"'||i==="'"||i==="<"?(this.delegate.reportSyntaxError(i+" is not a valid character within attribute names"),this.consume(),this.delegate.appendToAttributeName(i)):(this.consume(),this.delegate.appendToAttributeName(i))},afterAttributeName:function(){var i=this.peek();if(cy(i)){this.consume();return}else i==="/"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):i==="="?(this.consume(),this.transitionTo("beforeAttributeValue")):i===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.transitionTo("attributeName"),this.delegate.beginAttribute(),this.consume(),this.delegate.appendToAttributeName(i))},beforeAttributeValue:function(){var i=this.peek();cy(i)?this.consume():i==='"'?(this.transitionTo("attributeValueDoubleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):i==="'"?(this.transitionTo("attributeValueSingleQuoted"),this.delegate.beginAttributeValue(!0),this.consume()):i===">"?(this.delegate.beginAttributeValue(!1),this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.transitionTo("attributeValueUnquoted"),this.delegate.beginAttributeValue(!1),this.consume(),this.delegate.appendToAttributeValue(i))},attributeValueDoubleQuoted:function(){var i=this.consume();i==='"'?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):i==="&"?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(i)},attributeValueSingleQuoted:function(){var i=this.consume();i==="'"?(this.delegate.finishAttributeValue(),this.transitionTo("afterAttributeValueQuoted")):i==="&"?this.delegate.appendToAttributeValue(this.consumeCharRef()||"&"):this.delegate.appendToAttributeValue(i)},attributeValueUnquoted:function(){var i=this.peek();cy(i)?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("beforeAttributeName")):i==="/"?(this.delegate.finishAttributeValue(),this.consume(),this.transitionTo("selfClosingStartTag")):i==="&"?(this.consume(),this.delegate.appendToAttributeValue(this.consumeCharRef()||"&")):i===">"?(this.delegate.finishAttributeValue(),this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):(this.consume(),this.delegate.appendToAttributeValue(i))},afterAttributeValueQuoted:function(){var i=this.peek();cy(i)?(this.consume(),this.transitionTo("beforeAttributeName")):i==="/"?(this.consume(),this.transitionTo("selfClosingStartTag")):i===">"?(this.consume(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},selfClosingStartTag:function(){var i=this.peek();i===">"?(this.consume(),this.delegate.markTagAsSelfClosing(),this.delegate.finishTag(),this.transitionTo("beforeData")):this.transitionTo("beforeAttributeName")},endTagOpen:function(){var i=this.consume();(i==="@"||i===":"||Bir(i))&&(this.transitionTo("endTagName"),this.tagNameBuffer="",this.delegate.beginEndTag(),this.appendToTagName(i))}},this.reset()}return e.prototype.reset=function(){this.transitionTo("beforeData"),this.input="",this.tagNameBuffer="",this.index=0,this.line=1,this.column=0,this.delegate.reset()},e.prototype.transitionTo=function(t){this.state=t},e.prototype.tokenize=function(t){this.reset(),this.tokenizePart(t),this.tokenizeEOF()},e.prototype.tokenizePart=function(t){for(this.input+=u_n(t);this.index"||t==="style"&&this.input.substring(this.index,this.index+8)!==""||t==="script"&&this.input.substring(this.index,this.index+9)!==""},e}(),B_i=function(){function e(t,r){r===void 0&&(r={}),this.options=r,this.token=null,this.startLine=1,this.startColumn=0,this.tokens=[],this.tokenizer=new gar(this,t,r.mode),this._currentAttribute=void 0}return e.prototype.tokenize=function(t){return this.tokens=[],this.tokenizer.tokenize(t),this.tokens},e.prototype.tokenizePart=function(t){return this.tokens=[],this.tokenizer.tokenizePart(t),this.tokens},e.prototype.tokenizeEOF=function(){return this.tokens=[],this.tokenizer.tokenizeEOF(),this.tokens[0]},e.prototype.reset=function(){this.token=null,this.startLine=1,this.startColumn=0},e.prototype.current=function(){var t=this.token;if(t===null)throw new Error("token was unexpectedly null");if(arguments.length===0)return t;for(var r=0;r\xA0]/u,U_i=new RegExp(c_n.source,"gu"),M6t=new Set(["area","base","br","col","command","embed","hr","img","input","keygen","link","meta","param","source","track","wbr"]);fW=Object.freeze({line:1,column:0}),__n=Object.freeze({source:"(synthetic)",start:fW,end:fW}),zhe=Object.freeze({source:"(nonexistent)",start:fW,end:fW}),hW=Object.freeze({source:"(broken)",start:fW,end:fW}),h_n=class{_whens;constructor(e){this._whens=e}first(e){for(let t of this._whens){let r=t.match(e);if(jhe(r))return r[0]}return null}},Iir=class{_map=new Map;get(e,t){let r=this._map.get(e);return r||(r=t(),this._map.set(e,r),r)}add(e,t){this._map.set(e,t)}match(e){let t=function(s){switch(s){case"Broken":case"InternalsSynthetic":case"NonExistent":return"IS_INVISIBLE";default:return s}}(e),r=[],n=this._map.get(t),i=this._map.get("MATCH_ANY");return n&&r.push(n),i&&r.push(i),r}};f_n=class{_whens=new Iir;validate(){return(e,t)=>this.matchFor(e.kind,t.kind)(e,t)}matchFor(e,t){let r=this._whens.match(e);return jhe(r),new h_n(r).first(t)}when(e,t,r){return this._whens.get(e,()=>new Iir).add(t,r),this}},d_n=class W6t{static synthetic(t){let r=S4.synthetic(t);return new W6t({loc:r,chars:t})}static load(t,r){return new W6t({loc:S4.load(t,r[1]),chars:r[0]})}chars;loc;constructor(t){this.loc=t.loc,this.chars=t.chars}getString(){return this.chars}serialize(){return[this.chars,this.loc.serialize()]}},S4=class hae{static get NON_EXISTENT(){return new pX("NonExistent",zhe).wrap()}static load(t,r){return typeof r=="number"?hae.forCharPositions(t,r,r):typeof r=="string"?hae.synthetic(r):Array.isArray(r)?hae.forCharPositions(t,r[0],r[1]):r==="NonExistent"?hae.NON_EXISTENT:r==="Broken"?hae.broken(hW):void Lpn(r)}static forHbsLoc(t,r){let n=new qae(t,r.start),i=new qae(t,r.end);return new sqt(t,{start:n,end:i},r).wrap()}static forCharPositions(t,r,n){let i=new Ghe(t,r),s=new Ghe(t,n);return new aqt(t,{start:i,end:s}).wrap()}static synthetic(t){return new pX("InternalsSynthetic",zhe,t).wrap()}static broken(t=hW){return new pX("Broken",t).wrap()}isInvisible;constructor(t){var r;this.data=t,this.isInvisible=(r=t.kind)!=="CharPosition"&&r!=="HbsPosition"}getStart(){return this.data.getStart().wrap()}getEnd(){return this.data.getEnd().wrap()}get loc(){let t=this.data.toHbsSpan();return t===null?hW:t.toHbsLoc()}get module(){return this.data.getModule()}get startPosition(){return this.loc.start}get endPosition(){return this.loc.end}toJSON(){return this.loc}withStart(t){return ND(t.data,this.data.getEnd())}withEnd(t){return ND(this.data.getStart(),t.data)}asString(){return this.data.asString()}toSlice(t){let r=this.data.asString();return new d_n({loc:this,chars:t||r})}get start(){return this.loc.start}set start(t){this.data.locDidUpdate({start:t})}get end(){return this.loc.end}set end(t){this.data.locDidUpdate({end:t})}get source(){return this.module}collapse(t){switch(t){case"start":return this.getStart().collapsed();case"end":return this.getEnd().collapsed()}}extend(t){return ND(this.data.getStart(),t.data.getEnd())}serialize(){return this.data.serialize()}slice({skipStart:t=0,skipEnd:r=0}){return ND(this.getStart().move(t).data,this.getEnd().move(-r).data)}sliceStartChars({skipStart:t=0,chars:r}){return ND(this.getStart().move(t).data,this.getStart().move(t+r).data)}sliceEndChars({skipEnd:t=0,chars:r}){return ND(this.getEnd().move(t-r).data,this.getStart().move(-t).data)}},aqt=class{constructor(e,t){Gir(this,"kind","CharPosition"),BCe(this,wCe,null),this.source=e,this.charPositions=t}wrap(){return new S4(this)}asString(){return this.source.slice(this.charPositions.start.charPos,this.charPositions.end.charPos)}getModule(){return this.source.module}getStart(){return this.charPositions.start}getEnd(){return this.charPositions.end}locDidUpdate(){}toHbsSpan(){let e=Rg(this,wCe);if(e===null){let t=this.charPositions.start.toHbsPos(),r=this.charPositions.end.toHbsPos();e=cX(this,wCe,t===null||r===null?dW:new sqt(this.source,{start:t,end:r}))}return e===dW?null:e}serialize(){let{start:{charPos:e},end:{charPos:t}}=this.charPositions;return e===t?e:[e,t]}toCharPosSpan(){return this}};wCe=new WeakMap;sqt=class{constructor(e,t,r=null){Gir(this,"kind","HbsPosition"),BCe(this,fae,null),BCe(this,dae),this.source=e,this.hbsPositions=t,cX(this,dae,r)}serialize(){let e=this.toCharPosSpan();return e===null?"Broken":e.wrap().serialize()}wrap(){return new S4(this)}updateProvided(e,t){Rg(this,dae)&&(Rg(this,dae)[t]=e),cX(this,fae,null),cX(this,dae,{start:e,end:e})}locDidUpdate({start:e,end:t}){e!==void 0&&(this.updateProvided(e,"start"),this.hbsPositions.start=new qae(this.source,e,null)),t!==void 0&&(this.updateProvided(t,"end"),this.hbsPositions.end=new qae(this.source,t,null))}asString(){let e=this.toCharPosSpan();return e===null?"":e.asString()}getModule(){return this.source.module}getStart(){return this.hbsPositions.start}getEnd(){return this.hbsPositions.end}toHbsLoc(){return{start:this.hbsPositions.start.hbsPos,end:this.hbsPositions.end.hbsPos}}toHbsSpan(){return this}toCharPosSpan(){let e=Rg(this,fae);if(e===null){let t=this.hbsPositions.start.toCharPos(),r=this.hbsPositions.end.toCharPos();if(!t||!r)return e=cX(this,fae,dW),null;e=cX(this,fae,new aqt(this.source,{start:t,end:r}))}return e===dW?null:e}};fae=new WeakMap,dae=new WeakMap;pX=class{constructor(e,t,r=null){this.kind=e,this.loc=t,this.string=r}serialize(){switch(this.kind){case"Broken":case"NonExistent":return this.kind;case"InternalsSynthetic":return this.string||""}}wrap(){return new S4(this)}asString(){return this.string||""}locDidUpdate({start:e,end:t}){e!==void 0&&(this.loc.start=e),t!==void 0&&(this.loc.end=t)}getModule(){return"an unknown module"}getStart(){return new F6t(this.kind,this.loc.start)}getEnd(){return new F6t(this.kind,this.loc.end)}toCharPosSpan(){return this}toHbsSpan(){return null}toHbsLoc(){return hW}},ND=Ear(e=>e.when("HbsPosition","HbsPosition",(t,r)=>new sqt(t.source,{start:t,end:r}).wrap()).when("CharPosition","CharPosition",(t,r)=>new aqt(t.source,{start:t,end:r}).wrap()).when("CharPosition","HbsPosition",(t,r)=>{let n=r.toCharPos();return n===null?new pX("Broken",hW).wrap():ND(t,n)}).when("HbsPosition","CharPosition",(t,r)=>{let n=t.toCharPos();return n===null?new pX("Broken",hW).wrap():ND(n,r)}).when("IS_INVISIBLE","MATCH_ANY",t=>new pX(t.kind,hW).wrap()).when("MATCH_ANY","IS_INVISIBLE",(t,r)=>new pX(r.kind,hW).wrap())),dW="BROKEN",FCe=class U6t{static forHbsPos(t,r){return new qae(t,r,null).wrap()}static broken(t=fW){return new F6t("Broken",t).wrap()}constructor(t){this.data=t}get offset(){let t=this.data.toCharPos();return t===null?null:t.offset}eql(t){return x_n(this.data,t.data)}until(t){return ND(this.data,t.data)}move(t){let r=this.data.toCharPos();if(r===null)return U6t.broken();{let n=r.offset+t;return r.source.validate(n)?new Ghe(r.source,n).wrap():U6t.broken()}}collapsed(){return ND(this.data,this.data)}toJSON(){return this.data.toJSON()}},Ghe=class{kind="CharPosition";_locPos=null;constructor(e,t){this.source=e,this.charPos=t}toCharPos(){return this}toJSON(){let e=this.toHbsPos();return e===null?fW:e.toJSON()}wrap(){return new FCe(this)}get offset(){return this.charPos}toHbsPos(){let e=this._locPos;if(e===null){let t=this.source.hbsPosFor(this.charPos);this._locPos=e=t===null?dW:new qae(this.source,t,this.charPos)}return e===dW?null:e}},qae=class{kind="HbsPosition";_charPos;constructor(e,t,r=null){this.source=e,this.hbsPos=t,this._charPos=r===null?null:new Ghe(e,r)}toCharPos(){let e=this._charPos;if(e===null){let t=this.source.charPosFor(this.hbsPos);this._charPos=e=t===null?dW:new Ghe(this.source,t)}return e===dW?null:e}toJSON(){return this.hbsPos}wrap(){return new FCe(this)}toHbsPos(){return this}},F6t=class{constructor(e,t){this.kind=e,this.pos=t}toCharPos(){return null}toJSON(){return this.pos}wrap(){return new FCe(this)}get offset(){return null}},x_n=Ear(e=>e.when("HbsPosition","HbsPosition",({hbsPos:t},{hbsPos:r})=>t.column===r.column&&t.line===r.line).when("CharPosition","CharPosition",({charPos:t},{charPos:r})=>t===r).when("CharPosition","HbsPosition",({offset:t},r)=>{var n;return t===((n=r.toCharPos())==null?void 0:n.offset)}).when("HbsPosition","CharPosition",(t,{offset:r})=>{var n;return((n=t.toCharPos())==null?void 0:n.offset)===r}).when("MATCH_ANY","MATCH_ANY",()=>!1)),Hhe=class Oar{static from(t,r={}){var n;return new Oar(t,(n=r.meta)==null?void 0:n.moduleName)}constructor(t,r="an unknown module"){this.source=t,this.module=r}validate(t){return t>=0&&t<=this.source.length}slice(t,r){return this.source.slice(t,r)}offsetFor(t,r){return FCe.forHbsPos(this,{line:t,column:r})}spanFor({start:t,end:r}){return S4.forHbsLoc(this,{start:{line:t.line,column:t.column},end:{line:r.line,column:r.column}})}hbsPosFor(t){let r=0,n=0;if(t>this.source.length)return null;for(;;){let i=this.source.indexOf(` +`,n);if(t<=i||i===-1)return{line:r+1,column:t-n};r+=1,n=i+1}}charPosFor(t){let{line:r,column:n}=t,i=this.source.length,s=0,R=0;for(;Rl?l:R+n;if(l===-1)return 0;s+=1,R=l+1}return i}};m_n={Template:["body"],Block:["body"],MustacheStatement:["path","params","hash"],BlockStatement:["path","params","hash","program","inverse"],ElementModifierStatement:["path","params","hash"],CommentStatement:[],MustacheCommentStatement:[],ElementNode:["attributes","modifiers","children","comments"],AttrNode:["value"],TextNode:[],ConcatStatement:["parts"],SubExpression:["path","params","hash"],PathExpression:[],StringLiteral:[],BooleanLiteral:[],NumberLiteral:[],NullLiteral:[],UndefinedLiteral:[],Hash:["pairs"],HashPair:["value"]},oqt=function(){function e(t,r,n,i){let s=Error.call(this,t);this.key=i,this.message=t,this.node=r,this.parent=n,s.stack&&(this.stack=s.stack)}return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}();LCe=class{node;parent;parentKey;constructor(e,t=null,r=null){this.node=e,this.parent=t,this.parentKey=r}get parentNode(){return this.parent?this.parent.node:null}parents(){return{[Symbol.iterator]:()=>new y_n(this)}}},y_n=class{path;constructor(e){this.path=e}next(){return this.path.parent?(this.path=this.path.parent,{done:!1,value:this.path}):{done:!0,value:null}}};g_n={mustache:function(e,t=[],r=Uhe([]),n=!1,i,s){return Js.mustache({path:pW(e),params:t,hash:r,trusting:n,strip:s,loc:rT(i||null)})},block:function(e,t,r,n,i=null,s,R,l,c){let h,_=null;return h=n.type==="Template"?Js.blockItself({params:Nar(n.blockParams),body:n.body,loc:n.loc}):n,i?.type==="Template"?(i.blockParams.length,_=Js.blockItself({params:[],body:i.body,loc:i.loc})):_=i,Js.block({path:pW(e),params:t||[],hash:r||Uhe([]),defaultBlock:h,elseBlock:_,loc:rT(s||null),openStrip:R,inverseStrip:l,closeStrip:c})},comment:function(e,t){return Js.comment({value:e,loc:rT(t||null)})},mustacheComment:function(e,t){return Js.mustacheComment({value:e,loc:rT(t||null)})},element:function(e,t={}){let r,n,{attrs:i,blockParams:s,modifiers:R,comments:l,children:c,openTag:h,closeTag:_,loc:f}=t;typeof e=="string"?e.endsWith("/")?(r=pW(e.slice(0,-1)),n=!0):r=pW(e):"type"in e?(e.type,e.type,r=e):"path"in e?(e.path.type,e.path.type,r=e.path,n=e.selfClosing):(r=pW(e.name),n=e.selfClosing);let m=s?.map(y=>typeof y=="string"?Fir(y):y),x=null;return _?x=rT(_||null):_===void 0&&(x=n||T_n(r.original)?null:rT(null)),Js.element({path:r,selfClosing:n||!1,attributes:i||[],params:m||[],modifiers:R||[],comments:l||[],children:c||[],openTag:rT(h||null),closeTag:x,loc:rT(f||null)})},elementModifier:function(e,t,r,n){return Js.elementModifier({path:pW(e),params:t||[],hash:r||Uhe([]),loc:rT(n||null)})},attr:function(e,t,r){return Js.attr({name:e,value:t,loc:rT(r||null)})},text:function(e="",t){return Js.text({chars:e,loc:rT(t||null)})},sexpr:function(e,t=[],r=Uhe([]),n){return Js.sexpr({path:pW(e),params:t,hash:r,loc:rT(n||null)})},concat:function(e,t){if(!jhe(e))throw new Error("b.concat requires at least one part");return Js.concat({parts:e,loc:rT(t||null)})},hash:Uhe,pair:function(e,t,r){return Js.pair({key:e,value:t,loc:rT(r||null)})},literal:PCe,program:function(e,t,r){return t&&t.length?Lir(e,t,!1,r):zir(e,[],r)},blockItself:Lir,template:zir,loc:rT,pos:function(e,t){return Js.pos({line:e,column:t})},path:pW,fullPath:function(e,t=[],r){return Js.path({head:e,tail:t,loc:rT(r||null)})},head:function(e,t){return Js.head({original:e,loc:rT(t||null)})},at:function(e,t){return Js.atName({name:e,loc:rT(t||null)})},var:Fir,this:function(e){return Js.this({loc:rT(e||null)})},string:S6t("StringLiteral"),boolean:S6t("BooleanLiteral"),number:S6t("NumberLiteral"),undefined:()=>PCe("UndefinedLiteral",void 0),null:()=>PCe("NullLiteral",null)};DCe={close:!1,open:!1},Js=new class{pos({line:e,column:t}){return{line:e,column:t}}blockItself({body:e,params:t,chained:r=!1,loc:n}){return{type:"Block",body:e,params:t,get blockParams(){return this.params.map(i=>i.name)},set blockParams(i){this.params=i.map(s=>Js.var({name:s,loc:S4.synthetic(s)}))},chained:r,loc:n}}template({body:e,blockParams:t,loc:r}){return{type:"Template",body:e,blockParams:t,loc:r}}mustache({path:e,params:t,hash:r,trusting:n,loc:i,strip:s=DCe}){return function({path:R,params:l,hash:c,trusting:h,strip:_,loc:f}){let m={type:"MustacheStatement",path:R,params:l,hash:c,trusting:h,strip:_,loc:f};return Object.defineProperty(m,"escaped",{enumerable:!1,get(){return!this.trusting},set(x){this.trusting=!x}}),m}({path:e,params:t,hash:r,trusting:n,strip:s,loc:i})}block({path:e,params:t,hash:r,defaultBlock:n,elseBlock:i=null,loc:s,openStrip:R=DCe,inverseStrip:l=DCe,closeStrip:c=DCe}){return{type:"BlockStatement",path:e,params:t,hash:r,program:n,inverse:i,loc:s,openStrip:R,inverseStrip:l,closeStrip:c}}comment({value:e,loc:t}){return{type:"CommentStatement",value:e,loc:t}}mustacheComment({value:e,loc:t}){return{type:"MustacheCommentStatement",value:e,loc:t}}concat({parts:e,loc:t}){return{type:"ConcatStatement",parts:e,loc:t}}element({path:e,selfClosing:t,attributes:r,modifiers:n,params:i,comments:s,children:R,openTag:l,closeTag:c,loc:h}){let _=t;return{type:"ElementNode",path:e,attributes:r,modifiers:n,params:i,comments:s,children:R,openTag:l,closeTag:c,loc:h,get tag(){return this.path.original},set tag(f){this.path.original=f},get blockParams(){return this.params.map(f=>f.name)},set blockParams(f){this.params=f.map(m=>Js.var({name:m,loc:S4.synthetic(m)}))},get selfClosing(){return _},set selfClosing(f){_=f,this.closeTag=f?null:S4.synthetic(``)}}}elementModifier({path:e,params:t,hash:r,loc:n}){return{type:"ElementModifierStatement",path:e,params:t,hash:r,loc:n}}attr({name:e,value:t,loc:r}){return{type:"AttrNode",name:e,value:t,loc:r}}text({chars:e,loc:t}){return{type:"TextNode",chars:e,loc:t}}sexpr({path:e,params:t,hash:r,loc:n}){return{type:"SubExpression",path:e,params:t,hash:r,loc:n}}path({head:e,tail:t,loc:r}){return function({head:n,tail:i,loc:s}){let R={type:"PathExpression",head:n,tail:i,get original(){return[this.head.original,...this.tail].join(".")},set original(l){let[c,...h]=Khe(l.split("."));this.head=g_n.head(c,this.head.loc),this.tail=h},loc:s};return Object.defineProperty(R,"parts",{enumerable:!1,get(){let l=Khe(this.original.split("."));return l[0]==="this"?l.shift():l[0].startsWith("@")&&(l[0]=l[0].slice(1)),Object.freeze(l)},set(l){var c;let h=[...l];h[0]==="this"||(c=h[0])!=null&&c.startsWith("@")||(this.head.type==="ThisHead"?h.unshift("this"):this.head.type==="AtHead"&&(h[0]=`@${h[0]}`)),this.original=h.join(".")}}),Object.defineProperty(R,"this",{enumerable:!1,get(){return this.head.type==="ThisHead"}}),Object.defineProperty(R,"data",{enumerable:!1,get(){return this.head.type==="AtHead"}}),R}({head:e,tail:t,loc:r})}head({original:e,loc:t}){return e==="this"?this.this({loc:t}):e[0]==="@"?this.atName({name:e,loc:t}):this.var({name:e,loc:t})}this({loc:e}){return{type:"ThisHead",get original(){return"this"},loc:e}}atName({name:e,loc:t}){let r="",n={type:"AtHead",get name(){return r},set name(i){i[0],i.indexOf("."),r=i},get original(){return this.name},set original(i){this.name=i},loc:t};return n.name=e,n}var({name:e,loc:t}){let r="",n={type:"VarHead",get name(){return r},set name(i){i[0],i.indexOf("."),r=i},get original(){return this.name},set original(i){this.name=i},loc:t};return n.name=e,n}hash({pairs:e,loc:t}){return{type:"Hash",pairs:e,loc:t}}pair({key:e,value:t,loc:r}){return{type:"HashPair",key:e,value:t,loc:r}}literal({type:e,value:t,loc:r}){return function({type:n,value:i,loc:s}){let R={type:n,value:i,loc:s};return Object.defineProperty(R,"original",{enumerable:!1,get(){return this.value},set(l){this.value=l}}),R}({type:e,value:t,loc:r})}},b_n=class{elementStack=[];lines;source;currentAttribute=null;currentNode=null;tokenizer;constructor(e,t=new Aar(r_n),r="precompile"){this.source=e,this.lines=e.source.split(/\r\n?|\n/u),this.tokenizer=new gar(this,t,r)}offset(){let{line:e,column:t}=this.tokenizer;return this.source.offsetFor(e,t)}pos({line:e,column:t}){return this.source.offsetFor(e,t)}finish(e){return yar({},e,{loc:e.start.until(this.offset())})}get currentAttr(){return this.currentAttribute}get currentTag(){let e=this.currentNode;return e&&(e.type==="StartTag"||e.type),e}get currentStartTag(){let e=this.currentNode;return e&&e.type,e}get currentEndTag(){let e=this.currentNode;return e&&e.type,e}get currentComment(){let e=this.currentNode;return e&&e.type,e}get currentData(){let e=this.currentNode;return e&&e.type,e}acceptNode(e){return this[e.type](e)}currentElement(){return iqt(Khe(this.elementStack))}sourceForNode(e,t){let r,n,i,s=e.loc.start.line-1,R=s-1,l=e.loc.start.column,c=[];for(t?(n=t.loc.end.line-1,i=t.loc.end.column):(n=e.loc.end.line-1,i=e.loc.end.column);R=x?-1:f.indexOf(y,m),A===-1||A+y.length>x?(m=x,D=this.source.spanFor(zhe)):(m=A,D=_.sliceStartChars({skipStart:m,chars:y.length}),m+=y.length),R.push(Js.var({name:y,loc:D}))}}e.program.loc||(e.program.loc=zhe),e.inverse&&!e.inverse.loc&&(e.inverse.loc=zhe);let l=this.Program(e.program,R),c=e.inverse?this.Program(e.inverse,[]):null,h=Js.block({path:r,params:n,hash:i,defaultBlock:l,elseBlock:c,loc:this.source.spanFor(e.loc),openStrip:e.openStrip,inverseStrip:e.inverseStrip,closeStrip:e.closeStrip});kae(this.currentElement(),h)}MustacheStatement(e){var t;(t=this.pendingError)==null||t.mustache(this.source.spanFor(e.loc));let{tokenizer:r}=this;if(r.state==="comment")return void this.appendToCommentData(this.sourceForNode(e));let n,{escaped:i,loc:s,strip:R}=e;if("original"in e.path&&e.path.original==="...attributes")throw ER("Illegal use of ...attributes",this.source.spanFor(e.loc));if(Qar(e.path))n=Js.mustache({path:this.acceptNode(e.path),params:[],hash:Js.hash({pairs:[],loc:this.source.spanFor(e.path.loc).collapse("end")}),trusting:!i,loc:this.source.spanFor(s),strip:R});else{let{path:l,params:c,hash:h}=$6t(this,e);n=Js.mustache({path:l,params:c,hash:h,trusting:!i,loc:this.source.spanFor(s),strip:R})}switch(r.state){case"tagOpen":case"tagName":throw ER("Cannot use mustaches in an elements tagname",n.loc);case"beforeAttributeName":Q6t(this.currentStartTag,n);break;case"attributeName":case"afterAttributeName":this.beginAttributeValue(!1),this.finishAttributeValue(),Q6t(this.currentStartTag,n),r.transitionTo("beforeAttributeName");break;case"afterAttributeValueQuoted":Q6t(this.currentStartTag,n),r.transitionTo("beforeAttributeName");break;case"beforeAttributeValue":this.beginAttributeValue(!1),this.appendDynamicAttributeValuePart(n),r.transitionTo("attributeValueUnquoted");break;case"attributeValueDoubleQuoted":case"attributeValueSingleQuoted":case"attributeValueUnquoted":this.appendDynamicAttributeValuePart(n);break;default:kae(this.currentElement(),n)}return n}appendDynamicAttributeValuePart(e){this.finalizeTextPart();let t=this.currentAttr;t.isDynamic=!0,t.parts.push(e)}finalizeTextPart(){let e=this.currentAttr.currentPart;e!==null&&(this.currentAttr.parts.push(e),this.startTextPart())}startTextPart(){this.currentAttr.currentPart=null}ContentStatement(e){(function(t,r){let n=r.loc.start.line,i=r.loc.start.column,s=function(R,l){if(l==="")return{lines:R.split(` +`).length-1,columns:0};let[c]=R.split(l),h=c.split(/\n/u),_=h.length-1;return{lines:_,columns:h[_].length}}(r.original,r.value);n+=s.lines,s.lines?i=s.columns:i+=s.columns,t.line=n,t.column=i})(this.tokenizer,e),this.tokenizer.tokenizePart(e.value),this.tokenizer.flushData()}CommentStatement(e){let{tokenizer:t}=this;if(t.state==="comment")return this.appendToCommentData(this.sourceForNode(e)),null;let{value:r,loc:n}=e,i=Js.mustacheComment({value:r,loc:this.source.spanFor(n)});switch(t.state){case"beforeAttributeName":case"afterAttributeName":this.currentStartTag.comments.push(i);break;case"beforeData":case"data":kae(this.currentElement(),i);break;default:throw ER(`Using a Handlebars comment when in the \`${t.state}\` state is not supported`,this.source.spanFor(e.loc))}return i}PartialStatement(e){throw ER("Handlebars partials are not supported",this.source.spanFor(e.loc))}PartialBlockStatement(e){throw ER("Handlebars partial blocks are not supported",this.source.spanFor(e.loc))}Decorator(e){throw ER("Handlebars decorators are not supported",this.source.spanFor(e.loc))}DecoratorBlock(e){throw ER("Handlebars decorator blocks are not supported",this.source.spanFor(e.loc))}SubExpression(e){let{path:t,params:r,hash:n}=$6t(this,e);return Js.sexpr({path:t,params:r,hash:n,loc:this.source.spanFor(e.loc)})}PathExpression(e){let{original:t}=e,r;if(t.indexOf("/")!==-1){if(t.slice(0,2)==="./")throw ER('Using "./" is not supported in Glimmer and unnecessary',this.source.spanFor(e.loc));if(t.slice(0,3)==="../")throw ER('Changing context using "../" is not supported in Glimmer',this.source.spanFor(e.loc));if(t.indexOf(".")!==-1)throw ER("Mixing '.' and '/' in paths is not supported in Glimmer; use only '.' to separate property paths",this.source.spanFor(e.loc));r=[e.parts.join("/")]}else{if(t===".")throw ER("'.' is not a supported path in Glimmer; check for a path with a trailing '.'",this.source.spanFor(e.loc));r=e.parts}let n,i=!1;if(/^this(?:\..+)?$/u.test(t)&&(i=!0),i)n=Js.this({loc:this.source.spanFor({start:e.loc.start,end:{line:e.loc.start.line,column:e.loc.start.column+4}})});else if(e.data){let s=r.shift();if(s===void 0)throw ER("Attempted to parse a path expression, but it was not valid. Paths beginning with @ must start with a-z.",this.source.spanFor(e.loc));n=Js.atName({name:`@${s}`,loc:this.source.spanFor({start:e.loc.start,end:{line:e.loc.start.line,column:e.loc.start.column+s.length+1}})})}else{let s=r.shift();if(s===void 0)throw ER("Attempted to parse a path expression, but it was not valid. Paths must start with a-z or A-Z.",this.source.spanFor(e.loc));n=Js.var({name:s,loc:this.source.spanFor({start:e.loc.start,end:{line:e.loc.start.line,column:e.loc.start.column+s.length}})})}return Js.path({head:n,tail:r,loc:this.source.spanFor(e.loc)})}Hash(e){let t=e.pairs.map(r=>Js.pair({key:r.key,value:this.acceptNode(r.value),loc:this.source.spanFor(r.loc)}));return Js.hash({pairs:t,loc:this.source.spanFor(e.loc)})}StringLiteral(e){return Js.literal({type:"StringLiteral",value:e.value,loc:this.source.spanFor(e.loc)})}BooleanLiteral(e){return Js.literal({type:"BooleanLiteral",value:e.value,loc:this.source.spanFor(e.loc)})}NumberLiteral(e){return Js.literal({type:"NumberLiteral",value:e.value,loc:this.source.spanFor(e.loc)})}UndefinedLiteral(e){return Js.literal({type:"UndefinedLiteral",value:void 0,loc:this.source.spanFor(e.loc)})}NullLiteral(e){return Js.literal({type:"NullLiteral",value:null,loc:this.source.spanFor(e.loc)})}};O_n=class extends E_n{tagOpenLine=0;tagOpenColumn=0;reset(){this.currentNode=null}beginComment(){this.currentNode={type:"CommentStatement",value:"",start:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}appendToCommentData(e){this.currentComment.value+=e}finishComment(){kae(this.currentElement(),Js.comment(this.finish(this.currentComment)))}beginData(){this.currentNode={type:"TextNode",chars:"",start:this.offset()}}appendToData(e){this.currentData.chars+=e}finishData(){kae(this.currentElement(),Js.text(this.finish(this.currentData)))}tagOpen(){this.tagOpenLine=this.tokenizer.line,this.tagOpenColumn=this.tokenizer.column}beginStartTag(){this.currentNode={type:"StartTag",name:"",nameStart:null,nameEnd:null,attributes:[],modifiers:[],comments:[],params:[],selfClosing:!1,start:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}beginEndTag(){this.currentNode={type:"EndTag",name:"",start:this.source.offsetFor(this.tagOpenLine,this.tagOpenColumn)}}finishTag(){let e=this.finish(this.currentTag);if(e.type==="StartTag"){if(this.finishStartTag(),e.name===":")throw ER("Invalid named block named detected, you may have created a named block without a name, or you may have began your name with a number. Named blocks must have names that are at least one character long, and begin with a lower case letter",this.source.spanFor({start:this.currentTag.start.toJSON(),end:this.offset().toJSON()}));(M6t.has(e.name)||e.selfClosing)&&this.finishEndTag(!0)}else e.type==="EndTag"&&this.finishEndTag(!1)}finishStartTag(){let{name:e,nameStart:t,nameEnd:r}=this.currentStartTag,n=t.until(r),[i,...s]=Khe(e.split(".")),R=Js.path({head:Js.head({original:i,loc:n.sliceStartChars({chars:i.length})}),tail:s,loc:n}),{attributes:l,modifiers:c,comments:h,params:_,selfClosing:f,loc:m}=this.finish(this.currentStartTag),x=Js.element({path:R,selfClosing:f,attributes:l,modifiers:c,comments:h,params:_,children:[],openTag:m,closeTag:f?null:S4.broken(),loc:m});this.elementStack.push(x)}finishEndTag(e){let{start:t}=this.currentTag,r=this.finish(this.currentTag),n=this.elementStack.pop();this.validateEndTag(r,n,e);let i=this.currentElement();e?n.closeTag=null:n.selfClosing?n.closeTag:n.closeTag=t.until(this.offset()),n.loc=n.loc.withEnd(this.offset()),kae(i,Js.element(n))}markTagAsSelfClosing(){let e=this.currentTag;if(e.type!=="StartTag")throw ER("Invalid end tag: closing tag must not be self-closing",this.source.spanFor({start:e.start.toJSON(),end:this.offset().toJSON()}));e.selfClosing=!0}appendToTagName(e){let t=this.currentTag;if(t.name+=e,t.type==="StartTag"){let r=this.offset();t.nameStart===null&&(t.nameEnd,t.nameStart=r.move(-1)),t.nameEnd=r}}beginAttribute(){let e=this.offset();this.currentAttribute={name:"",parts:[],currentPart:null,isQuoted:!1,isDynamic:!1,start:e,valueSpan:e.collapsed()}}appendToAttributeName(e){this.currentAttr.name+=e,this.currentAttr.name==="as"&&this.parsePossibleBlockParams()}beginAttributeValue(e){this.currentAttr.isQuoted=e,this.startTextPart(),this.currentAttr.valueSpan=this.offset().collapsed()}appendToAttributeValue(e){let t=this.currentAttr.parts,r=t[t.length-1],n=this.currentAttr.currentPart;if(n)n.chars+=e,n.loc=n.loc.withEnd(this.offset());else{let i=this.offset();i=e===` +`?r?r.loc.getEnd():this.currentAttr.valueSpan.getStart():i.move(-1),this.currentAttr.currentPart=Js.text({chars:e,loc:i.collapsed()})}}finishAttributeValue(){this.finalizeTextPart();let e=this.currentTag,t=this.offset();if(e.type==="EndTag")throw ER("Invalid end tag: closing tag must not have attributes",this.source.spanFor({start:e.start.toJSON(),end:t.toJSON()}));let{name:r,parts:n,start:i,isQuoted:s,isDynamic:R,valueSpan:l}=this.currentAttr;if(r.startsWith("|")&&n.length===0&&!s&&!R)throw ER("Invalid block parameters syntax: block parameters must be preceded by the `as` keyword",i.until(i.move(r.length)));let c=this.assembleAttributeValue(n,s,R,i.until(t));c.loc=l.withEnd(t);let h=Js.attr({name:r,value:c,loc:i.until(t)});this.currentStartTag.attributes.push(h)}parsePossibleBlockParams(){let e=/[!"#%&'()*+./;<=>@[\\\]^`{|}~]/u;this.tokenizer.state;let t=this.currentStartTag,r=this.currentAttr,n={state:"PossibleAs"},i={PossibleAs:R=>{if(n.state,_ae(R))n={state:"BeforeStartPipe"},this.tokenizer.transitionTo("afterAttributeName"),this.tokenizer.consume();else{if(R==="|")throw ER('Invalid block parameters syntax: expecting at least one space character between "as" and "|"',r.start.until(this.offset().move(1)));n={state:"Done"}}},BeforeStartPipe:R=>{n.state,_ae(R)?this.tokenizer.consume():R==="|"?(n={state:"BeforeBlockParamName"},this.tokenizer.transitionTo("beforeAttributeName"),this.tokenizer.consume()):n={state:"Done"}},BeforeBlockParamName:R=>{if(n.state,_ae(R))this.tokenizer.consume();else if(R==="")n={state:"Done"},this.pendingError={mustache(l){throw ER("Invalid block parameters syntax: mustaches cannot be used inside parameters list",l)},eof(l){throw ER('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list',r.start.until(l))}};else if(R==="|"){if(t.params.length===0)throw ER("Invalid block parameters syntax: empty parameters list, expecting at least one identifier",r.start.until(this.offset().move(1)));n={state:"AfterEndPipe"},this.tokenizer.consume()}else{if(R===">"||R==="/")throw ER('Invalid block parameters syntax: incomplete parameters list, expecting "|" but the tag was closed prematurely',r.start.until(this.offset().move(1)));n={state:"BlockParamName",name:R,start:this.offset()},this.tokenizer.consume()}},BlockParamName:R=>{if(n.state,R==="")n={state:"Done"},this.pendingError={mustache(l){throw ER("Invalid block parameters syntax: mustaches cannot be used inside parameters list",l)},eof(l){throw ER('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list',r.start.until(l))}};else if(R==="|"||_ae(R)){let l=n.start.until(this.offset());if(n.name==="this"||e.test(n.name))throw ER(`Invalid block parameters syntax: invalid identifier name \`${n.name}\``,l);t.params.push(Js.var({name:n.name,loc:l})),n=R==="|"?{state:"AfterEndPipe"}:{state:"BeforeBlockParamName"},this.tokenizer.consume()}else{if(R===">"||R==="/")throw ER('Invalid block parameters syntax: expecting "|" but the tag was closed prematurely',r.start.until(this.offset().move(1)));n.name+=R,this.tokenizer.consume()}},AfterEndPipe:R=>{n.state,_ae(R)?this.tokenizer.consume():R===""?(n={state:"Done"},this.pendingError={mustache(l){throw ER("Invalid block parameters syntax: modifiers cannot follow parameters list",l)},eof(l){throw ER('Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list',r.start.until(l))}}):R===">"||R==="/"?n={state:"Done"}:(n={state:"Error",message:'Invalid block parameters syntax: expecting the tag to be closed with ">" or "/>" after parameters list',start:this.offset()},this.tokenizer.consume())},Error:R=>{if(n.state,R===""||R==="/"||R===">"||_ae(R))throw ER(n.message,n.start.until(this.offset()));this.tokenizer.consume()},Done:()=>{}},s;do s=this.tokenizer.peek(),i[n.state](s);while(n.state!=="Done"&&s!=="");n.state}reportSyntaxError(e){throw ER(e,this.offset().collapsed())}assembleConcatenatedValue(e){for(let n of e)if(n.type!=="MustacheStatement"&&n.type!=="TextNode")throw ER(`Unsupported node in quoted attribute value: ${n.type}`,n.loc);let t=p_n(e),r=iqt(e);return Js.concat({parts:e,loc:this.source.spanFor(t.loc).extend(this.source.spanFor(r.loc))})}validateEndTag(e,t,r){if(M6t.has(e.name)&&!r)throw ER(`<${e.name}> elements do not need end tags. You should remove it`,e.loc);if(t.tag===void 0)throw ER(`Closing tag without an open tag`,e.loc);if(t.tag!==e.name)throw ER(`Closing tag did not match last open tag <${t.tag}> (on line ${t.loc.startPosition.line})`,e.loc)}assembleAttributeValue(e,t,r,n){if(r){if(t)return this.assembleConcatenatedValue(e);{let[i,s]=e;if(s===void 0||s.type==="TextNode"&&s.chars==="/")return i;throw ER("An unquoted attribute value must be a string or a mustache, preceded by whitespace or a '=' character, and followed by whitespace, a '>' character, or '/>'",n)}}return jhe(e)?e[0]:Js.text({chars:"",loc:n})}},v_n={},D_n=class extends Aar{constructor(){super({})}parse(){}};$_n={resolution:()=>nqt.GetStrictKeyword,serialize:()=>"Strict",isAngleBracket:!1},F_i={...$_n,isAngleBracket:!0},SCe=` +`,Hir="\r",Q_n=function(){function e(t){this.length=t.length;for(var r=[0],n=0;nthis.length)return null;for(var r=0,n=this.offsets;n[r+1]<=t;)r++;var i=t-n[r];return{line:r,column:i}},e.prototype.indexForLocation=function(t){var r=t.line,n=t.column;return r<0||r>=this.offsets.length||n<0||n>this.lengthOfLine(r)?null:this.offsets[r]+n},e.prototype.lengthOfLine=function(t){var r=this.offsets[t],n=t===this.offsets.length-1?this.length:this.offsets[t+1];return n-r},e}();w_n=N_n;U_n={parse:I_n,astFormat:"glimmer",locStart:Yhe,locEnd:w6t},war={glimmer:Upn},F_n=jir});var Tsr={};x2(Tsr,{default:()=>_fn,languages:()=>esr,options:()=>tsr,parsers:()=>_qt,printers:()=>csr});function zC(e){return efe(e),{type:H_n,contents:e}}function ug(e,t={}){return efe(e),Har(t.expandedStates,!0),{type:Y_n,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function ID(e,t="",r={}){return efe(e),t!==""&&efe(t),{type:K_n,breakContents:e,flatContents:t,groupId:r.groupId}}function Gm(e,t){efe(e),Har(t);let r=[];for(let n=0;n{let i=!!(n!=null&&n.backwards);if(r===!1)return!1;let{length:s}=t,R=r;for(;R>=0&&R0}function Zhe(e){if(Jhe!==null&&typeof Jhe.property){let t=Jhe;return Jhe=Zhe.prototype=null,t}return Jhe=Zhe.prototype=e??Object.create(null),new Zhe}function Thn(e){return Zhe(e)}function phn(e,t="type"){Thn(e);function r(n){let i=n[t],s=e[i];if(!Array.isArray(s))throw Object.assign(new Error(`Missing visitor keys for '${i}'.`),{node:n});return s}return r}function Jar(e){return e.loc.start}function Xar(e){return e.loc.end}function xhn(e){return/^\s*#[^\S\n]*@(?:format|prettier)\s*(?:\n|$)/u.test(e)}function mhn(e){return`# @format + +`+e}function khn(e,t,r){let{node:n}=e;if(!n.description)return"";let i=[r("description")];return n.kind==="InputValueDefinition"&&!n.description.block?i.push(bae):i.push(kx),i}function yhn(e,t,r){let{node:n}=e;switch(n.kind){case"Document":return[...Gm(kx,BD(e,t,r,"definitions")),kx];case"OperationDefinition":{let i=t.originalText[Jar(n)]!=="{",s=!!n.name;return[i?n.operation:"",i&&s?[" ",r("name")]:"",i&&!s&&Gar(n.variableDefinitions)?" ":"",Iar(e,r),$4(e,r,n),!i&&!s?"":" ",r("selectionSet")]}case"FragmentDefinition":return["fragment ",r("name"),Iar(e,r)," on ",r("typeCondition"),$4(e,r,n)," ",r("selectionSet")];case"SelectionSet":return["{",zC([kx,Gm(kx,BD(e,t,r,"selections"))]),kx,"}"];case"Field":return ug([n.alias?[r("alias"),": "]:"",r("name"),n.arguments.length>0?ug(["(",zC([Y_,Gm([ID("",", "),Y_],BD(e,t,r,"arguments"))]),Y_,")"]):"",$4(e,r,n),n.selectionSet?" ":"",r("selectionSet")]);case"Name":return n.value;case"StringValue":if(n.block){let i=Rqt(!1,n.value,'"""',String.raw`\"""`).split(` +`);return i.length===1&&(i[0]=i[0].trim()),i.every(s=>s==="")&&(i.length=0),Gm(kx,['"""',...i,'"""'])}return['"',Rqt(!1,Rqt(!1,n.value,/["\\]/gu,String.raw`\$&`),` +`,String.raw`\n`),'"'];case"IntValue":case"FloatValue":case"EnumValue":return n.value;case"BooleanValue":return n.value?"true":"false";case"NullValue":return"null";case"Variable":return["$",r("name")];case"ListValue":return ug(["[",zC([Y_,Gm([ID("",", "),Y_],e.map(r,"values"))]),Y_,"]"]);case"ObjectValue":{let i=t.bracketSpacing&&n.fields.length>0?" ":"";return ug(["{",i,zC([Y_,Gm([ID("",", "),Y_],e.map(r,"fields"))]),Y_,ID("",i),"}"])}case"ObjectField":case"Argument":return[r("name"),": ",r("value")];case"Directive":return["@",r("name"),n.arguments.length>0?ug(["(",zC([Y_,Gm([ID("",", "),Y_],BD(e,t,r,"arguments"))]),Y_,")"]):""];case"NamedType":return r("name");case"VariableDefinition":return[r("variable"),": ",r("type"),n.defaultValue?[" = ",r("defaultValue")]:"",$4(e,r,n)];case"ObjectTypeExtension":case"ObjectTypeDefinition":case"InputObjectTypeExtension":case"InputObjectTypeDefinition":case"InterfaceTypeExtension":case"InterfaceTypeDefinition":{let{kind:i}=n,s=[];return i.endsWith("TypeDefinition")?s.push(xw(e,t,r)):s.push("extend "),i.startsWith("ObjectType")?s.push("type"):i.startsWith("InputObjectType")?s.push("input"):s.push("interface"),s.push(" ",r("name")),!i.startsWith("InputObjectType")&&n.interfaces.length>0&&s.push(" implements ",...Ahn(e,t,r)),s.push($4(e,r,n)),n.fields.length>0&&s.push([" {",zC([kx,Gm(kx,BD(e,t,r,"fields"))]),kx,"}"]),s}case"FieldDefinition":return[xw(e,t,r),r("name"),n.arguments.length>0?ug(["(",zC([Y_,Gm([ID("",", "),Y_],BD(e,t,r,"arguments"))]),Y_,")"]):"",": ",r("type"),$4(e,r,n)];case"DirectiveDefinition":return[xw(e,t,r),"directive ","@",r("name"),n.arguments.length>0?ug(["(",zC([Y_,Gm([ID("",", "),Y_],BD(e,t,r,"arguments"))]),Y_,")"]):"",n.repeatable?" repeatable":""," on ",...Gm(" | ",e.map(r,"locations"))];case"EnumTypeExtension":case"EnumTypeDefinition":return[xw(e,t,r),n.kind==="EnumTypeExtension"?"extend ":"","enum ",r("name"),$4(e,r,n),n.values.length>0?[" {",zC([kx,Gm(kx,BD(e,t,r,"values"))]),kx,"}"]:""];case"EnumValueDefinition":return[xw(e,t,r),r("name"),$4(e,r,n)];case"InputValueDefinition":return[xw(e,t,r),r("name"),": ",r("type"),n.defaultValue?[" = ",r("defaultValue")]:"",$4(e,r,n)];case"SchemaExtension":return["extend schema",$4(e,r,n),...n.operationTypes.length>0?[" {",zC([kx,Gm(kx,BD(e,t,r,"operationTypes"))]),kx,"}"]:[]];case"SchemaDefinition":return[xw(e,t,r),"schema",$4(e,r,n)," {",n.operationTypes.length>0?zC([kx,Gm(kx,BD(e,t,r,"operationTypes"))]):"",kx,"}"];case"OperationTypeDefinition":return[n.operation,": ",r("type")];case"FragmentSpread":return["...",r("name"),$4(e,r,n)];case"InlineFragment":return["...",n.typeCondition?[" on ",r("typeCondition")]:"",$4(e,r,n)," ",r("selectionSet")];case"UnionTypeExtension":case"UnionTypeDefinition":return ug([xw(e,t,r),ug([n.kind==="UnionTypeExtension"?"extend ":"","union ",r("name"),$4(e,r,n),n.types.length>0?[" =",ID(""," "),zC([ID([bae,"| "]),Gm([bae,"| "],e.map(r,"types"))])]:""])]);case"ScalarTypeExtension":case"ScalarTypeDefinition":return[xw(e,t,r),n.kind==="ScalarTypeExtension"?"extend ":"","scalar ",r("name"),$4(e,r,n)];case"NonNullType":return[r("type"),"!"];case"ListType":return["[",r("type"),"]"];default:throw new lhn(n,"Graphql","kind")}}function $4(e,t,r){if(r.directives.length===0)return"";let n=Gm(bae,e.map(t,"directives"));return r.kind==="FragmentDefinition"||r.kind==="OperationDefinition"?ug([bae,n]):[" ",ug(zC([Y_,n]))]}function BD(e,t,r,n){return e.map(({isLast:i,node:s})=>{let R=r();return!i&&ohn(t.originalText,Xar(s))?[R,kx]:R},n)}function qhn(e){return e.kind!=="Comment"}function Chn(e){let t=e.node;if(t.kind==="Comment")return"#"+t.value.trimEnd();throw new Error("Not a comment: "+JSON.stringify(t))}function Ahn(e,t,r){let{node:n}=e,i=[],{interfaces:s}=n,R=e.map(r,"interfaces");for(let l=0;ln.value.trim()==="prettier-ignore")}function Dhn(e){return typeof e=="object"&&e!==null}function Shn(e,t){if(!e)throw new Error(t??"Unexpected invariant triggered.")}function cqt(e,t){let r=0,n=1;for(let i of e.body.matchAll($hn)){if(typeof i.index=="number"||Shn(!1),i.index>=t)break;r=i.index+i[0].length,n+=1}return{line:n,column:t+1-r}}function Qhn(e){return rsr(e.source,cqt(e.source,e.start))}function rsr(e,t){let r=e.locationOffset.column-1,n="".padStart(r)+e.body,i=t.line-1,s=e.locationOffset.line-1,R=t.line+s,l=t.line===1?r:0,c=t.column+l,h=`${e.name}:${R}:${c} +`,_=n.split(/\r\n|[\n\r]/g),f=_[i];if(f.length>120){let m=Math.floor(c/80),x=c%80,y=[];for(let A=0;A["|",A]),["|","^".padStart(x)],["|",y[m+1]]])}return h+Mar([[`${R-1} |`,_[i-1]],[`${R} |`,f],["|","^".padStart(c)],[`${R+1} |`,_[i+1]]])}function Mar(e){let t=e.filter(([n,i])=>i!==void 0),r=Math.max(...t.map(([n])=>n.length));return t.map(([n,i])=>n.padStart(r)+(i?" "+i:"")).join(` +`)}function Nhn(e){let t=e[0];return t==null||"kind"in t||"length"in t?{nodes:t,source:e[1],positions:e[2],path:e[3],originalError:e[4],extensions:e[5]}:t}function War(e){return e===void 0||e.length===0?void 0:e}function S7(e,t,r){return new whn(`Syntax Error: ${r}`,{source:e,positions:[t]})}function Phn(e){return e===9||e===32}function tfe(e){return e>=48&&e<=57}function isr(e){return e>=97&&e<=122||e>=65&&e<=90}function asr(e){return isr(e)||e===95}function Bhn(e){return isr(e)||tfe(e)||e===95}function Ihn(e){var t;let r=Number.MAX_SAFE_INTEGER,n=null,i=-1;for(let R=0;Rl===0?R:R.slice(r)).slice((t=n)!==null&&t!==void 0?t:0,i+1)}function Mhn(e){let t=0;for(;t=0&&e<=55295||e>=57344&&e<=1114111}function KCe(e,t){return ssr(e.charCodeAt(t))&&osr(e.charCodeAt(t+1))}function ssr(e){return e>=55296&&e<=56319}function osr(e){return e>=56320&&e<=57343}function _X(e,t){let r=e.source.body.codePointAt(t);if(r===void 0)return Ni.EOF;if(r>=32&&r<=126){let n=String.fromCodePoint(r);return n==='"'?`'"'`:`"${n}"`}return"U+"+r.toString(16).toUpperCase().padStart(4,"0")}function yx(e,t,r,n,i){let s=e.line,R=1+r-e.lineStart;return new Var(t,r,n,s,R,i)}function Fhn(e,t){let r=e.source.body,n=r.length,i=t;for(;i=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function Ghn(e,t){let r=e.source.body;switch(r.charCodeAt(t+1)){case 34:return{value:'"',size:2};case 92:return{value:"\\",size:2};case 47:return{value:"/",size:2};case 98:return{value:"\b",size:2};case 102:return{value:"\f",size:2};case 110:return{value:` +`,size:2};case 114:return{value:"\r",size:2};case 116:return{value:" ",size:2}}throw S7(e.source,t,`Invalid character escape sequence: "${r.slice(t,t+2)}".`)}function Vhn(e,t){let r=e.source.body,n=r.length,i=e.lineStart,s=t+3,R=s,l="",c=[];for(;s2?"["+tfn(e)+"]":"{ "+r.map(([n,i])=>n+": "+GCe(i,t)).join(", ")+" }"}function efn(e,t){if(e.length===0)return"[]";if(t.length>2)return"[Array]";let r=Math.min(10,e.length),n=e.length-r,i=[];for(let s=0;s1&&i.push(`... ${n} more items`),"["+i.join(", ")+"]"}function tfn(e){let t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if(t==="Object"&&typeof e.constructor=="function"){let r=e.constructor.name;if(typeof r=="string"&&r!=="")return r}return t}function ifn(e){return nfn(e,usr)}function afn(e,t){return new sfn(e,t).parseDocument()}function HCe(e){let t=e.value;return lsr(e.kind)+(t!=null?` "${t}"`:"")}function lsr(e){return Uhn(e)?`"${e}"`:e}function ofn(e,t){let r=new SyntaxError(e+" ("+t.loc.start.line+":"+t.loc.start.column+")");return Object.assign(r,t)}function ufn(e){let t=[],{startToken:r,endToken:n}=e.loc;for(let i=r;i!==n;i=i.next)i.kind==="Comment"&&t.push({...i,loc:{start:i.start,end:i.end}});return t}function cfn(e){if(e?.name==="GraphQLError"){let{message:t,locations:[r]}=e;return Rfn(t,{loc:{start:r},cause:e})}return e}function Tfn(e){let t;try{t=afn(e,lfn)}catch(r){throw cfn(r)}return t.comments=ufn(t),t}var L_n,Far,Lar,z_n,Rqt,H_n,Y_n,K_n,pqt,G_n,zar,efe,Har,V_n,j_n,bae,Y_,kx,Rhi,Yar,J_n,X_n,Kar,thn,nhn,ahn,ohn,Gar,uhn,lhn,Jhe,chn,_hn,hhn,Var,jar,uhi,gae,fhn,dhn,xw,bhn,Ehn,esr,Ohn,vhn,tsr,_qt,$hn,whn,Tqt,_0,Ni,Whn,rfn,nfn,usr,sfn,Rfn,lfn,pfn,csr,_fn,psr=mp(()=>{L_n=Object.defineProperty,Far=(e,t)=>{for(var r in t)L_n(e,r,{get:t[r],enumerable:!0})},Lar={};Far(Lar,{languages:()=>esr,options:()=>tsr,parsers:()=>_qt,printers:()=>csr});z_n=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},Rqt=z_n,H_n="indent",Y_n="group",K_n="if-break",pqt="line",G_n="break-parent",zar=()=>{},efe=zar,Har=zar;V_n={type:G_n},j_n={type:pqt,hard:!0},bae={type:pqt},Y_={type:pqt,soft:!0},kx=[j_n,V_n];Rhi=YCe(/\s/u),Yar=YCe(" "),J_n=YCe(",; "),X_n=YCe(/[^\n\r]/u);Kar=Z_n;thn=ehn;nhn=rhn;ahn=ihn;ohn=shn;Gar=Rhn,uhn=class extends Error{name="UnexpectedNodeError";constructor(e,t,r="type"){super(`Unexpected ${t} node ${r}: ${JSON.stringify(e[r])}.`),this.node=e}},lhn=uhn,Jhe=null;chn=10;for(let e=0;e<=chn;e++)Zhe();_hn=phn,hhn=class{constructor(e,t,r){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=r}get[Symbol.toStringTag](){return"Location"}toJSON(){return{start:this.start,end:this.end}}},Var=class{constructor(e,t,r,n,i,s){this.kind=e,this.start=t,this.end=r,this.line=n,this.column=i,this.value=s,this.prev=null,this.next=null}get[Symbol.toStringTag](){return"Token"}toJSON(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}}},jar={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},uhi=new Set(Object.keys(jar));(function(e){e.QUERY="query",e.MUTATION="mutation",e.SUBSCRIPTION="subscription"})(gae||(gae={}));fhn=_hn(jar,"kind"),dhn=fhn;xw=khn;Zar.ignoredProperties=new Set(["loc","comments"]);bhn={print:yhn,massageAstNode:Zar,hasPrettierIgnore:ghn,insertPragma:mhn,printComment:Chn,canAttachComment:qhn,getVisitorKeys:dhn},Ehn=bhn,esr=[{linguistLanguageId:139,name:"GraphQL",type:"data",color:"#e10098",extensions:[".graphql",".gql",".graphqls"],tmScope:"source.graphql",aceMode:"text",parsers:["graphql"],vscodeLanguageIds:["graphql"]}],Ohn={bracketSpacing:{category:"Common",type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},singleQuote:{category:"Common",type:"boolean",default:!1,description:"Use single quotes instead of double quotes."},proseWrap:{category:"Common",type:"choice",default:"preserve",description:"How to wrap prose.",choices:[{value:"always",description:"Wrap prose if it exceeds the print width."},{value:"never",description:"Do not wrap prose."},{value:"preserve",description:"Wrap prose as-is."}]},bracketSameLine:{category:"Common",type:"boolean",default:!1,description:"Put > of opening tags on the last line instead of on a new line."},singleAttributePerLine:{category:"Common",type:"boolean",default:!1,description:"Enforce single attribute per line in HTML, Vue and JSX."}},vhn={bracketSpacing:Ohn.bracketSpacing},tsr=vhn,_qt={};Far(_qt,{graphql:()=>pfn});$hn=/\r\n|[\n\r]/g;whn=class nsr extends Error{constructor(t,...r){var n,i,s;let{nodes:R,source:l,positions:c,path:h,originalError:_,extensions:f}=Nhn(r);super(t),this.name="GraphQLError",this.path=h??void 0,this.originalError=_??void 0,this.nodes=War(Array.isArray(R)?R:R?[R]:void 0);let m=War((n=this.nodes)===null||n===void 0?void 0:n.map(y=>y.loc).filter(y=>y!=null));this.source=l??(m==null||(i=m[0])===null||i===void 0?void 0:i.source),this.positions=c??m?.map(y=>y.start),this.locations=c&&l?c.map(y=>cqt(l,y)):m?.map(y=>cqt(y.source,y.start));let x=Dhn(_?.extensions)?_?.extensions:void 0;this.extensions=(s=f??x)!==null&&s!==void 0?s:Object.create(null),Object.defineProperties(this,{message:{writable:!0,enumerable:!0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),_!=null&&_.stack?Object.defineProperty(this,"stack",{value:_.stack,writable:!0,configurable:!0}):Error.captureStackTrace?Error.captureStackTrace(this,nsr):Object.defineProperty(this,"stack",{value:Error().stack,writable:!0,configurable:!0})}get[Symbol.toStringTag](){return"GraphQLError"}toString(){let t=this.message;if(this.nodes)for(let r of this.nodes)r.loc&&(t+=` + +`+Qhn(r.loc));else if(this.source&&this.locations)for(let r of this.locations)t+=` + +`+rsr(this.source,r);return t}toJSON(){let t={message:this.message};return this.locations!=null&&(t.locations=this.locations),this.path!=null&&(t.path=this.path),this.extensions!=null&&Object.keys(this.extensions).length>0&&(t.extensions=this.extensions),t}};(function(e){e.QUERY="QUERY",e.MUTATION="MUTATION",e.SUBSCRIPTION="SUBSCRIPTION",e.FIELD="FIELD",e.FRAGMENT_DEFINITION="FRAGMENT_DEFINITION",e.FRAGMENT_SPREAD="FRAGMENT_SPREAD",e.INLINE_FRAGMENT="INLINE_FRAGMENT",e.VARIABLE_DEFINITION="VARIABLE_DEFINITION",e.SCHEMA="SCHEMA",e.SCALAR="SCALAR",e.OBJECT="OBJECT",e.FIELD_DEFINITION="FIELD_DEFINITION",e.ARGUMENT_DEFINITION="ARGUMENT_DEFINITION",e.INTERFACE="INTERFACE",e.UNION="UNION",e.ENUM="ENUM",e.ENUM_VALUE="ENUM_VALUE",e.INPUT_OBJECT="INPUT_OBJECT",e.INPUT_FIELD_DEFINITION="INPUT_FIELD_DEFINITION"})(Tqt||(Tqt={}));(function(e){e.NAME="Name",e.DOCUMENT="Document",e.OPERATION_DEFINITION="OperationDefinition",e.VARIABLE_DEFINITION="VariableDefinition",e.SELECTION_SET="SelectionSet",e.FIELD="Field",e.ARGUMENT="Argument",e.FRAGMENT_SPREAD="FragmentSpread",e.INLINE_FRAGMENT="InlineFragment",e.FRAGMENT_DEFINITION="FragmentDefinition",e.VARIABLE="Variable",e.INT="IntValue",e.FLOAT="FloatValue",e.STRING="StringValue",e.BOOLEAN="BooleanValue",e.NULL="NullValue",e.ENUM="EnumValue",e.LIST="ListValue",e.OBJECT="ObjectValue",e.OBJECT_FIELD="ObjectField",e.DIRECTIVE="Directive",e.NAMED_TYPE="NamedType",e.LIST_TYPE="ListType",e.NON_NULL_TYPE="NonNullType",e.SCHEMA_DEFINITION="SchemaDefinition",e.OPERATION_TYPE_DEFINITION="OperationTypeDefinition",e.SCALAR_TYPE_DEFINITION="ScalarTypeDefinition",e.OBJECT_TYPE_DEFINITION="ObjectTypeDefinition",e.FIELD_DEFINITION="FieldDefinition",e.INPUT_VALUE_DEFINITION="InputValueDefinition",e.INTERFACE_TYPE_DEFINITION="InterfaceTypeDefinition",e.UNION_TYPE_DEFINITION="UnionTypeDefinition",e.ENUM_TYPE_DEFINITION="EnumTypeDefinition",e.ENUM_VALUE_DEFINITION="EnumValueDefinition",e.INPUT_OBJECT_TYPE_DEFINITION="InputObjectTypeDefinition",e.DIRECTIVE_DEFINITION="DirectiveDefinition",e.SCHEMA_EXTENSION="SchemaExtension",e.SCALAR_TYPE_EXTENSION="ScalarTypeExtension",e.OBJECT_TYPE_EXTENSION="ObjectTypeExtension",e.INTERFACE_TYPE_EXTENSION="InterfaceTypeExtension",e.UNION_TYPE_EXTENSION="UnionTypeExtension",e.ENUM_TYPE_EXTENSION="EnumTypeExtension",e.INPUT_OBJECT_TYPE_EXTENSION="InputObjectTypeExtension"})(_0||(_0={}));(function(e){e.SOF="",e.EOF="",e.BANG="!",e.DOLLAR="$",e.AMP="&",e.PAREN_L="(",e.PAREN_R=")",e.SPREAD="...",e.COLON=":",e.EQUALS="=",e.AT="@",e.BRACKET_L="[",e.BRACKET_R="]",e.BRACE_L="{",e.PIPE="|",e.BRACE_R="}",e.NAME="Name",e.INT="Int",e.FLOAT="Float",e.STRING="String",e.BLOCK_STRING="BlockString",e.COMMENT="Comment"})(Ni||(Ni={}));Whn=class{constructor(e){let t=new Var(Ni.SOF,0,0,0,0);this.source=e,this.lastToken=t,this.token=t,this.line=1,this.lineStart=0}get[Symbol.toStringTag](){return"Lexer"}advance(){return this.lastToken=this.token,this.token=this.lookahead()}lookahead(){let e=this.token;if(e.kind!==Ni.EOF)do if(e.next)e=e.next;else{let t=Fhn(this,e.end);e.next=t,t.prev=e,e=t}while(e.kind===Ni.COMMENT);return e}};rfn=globalThis.process&&!0,nfn=rfn?function(e,t){return e instanceof t}:function(e,t){if(e instanceof t)return!0;if(typeof e=="object"&&e!==null){var r;let n=t.prototype[Symbol.toStringTag],i=Symbol.toStringTag in e?e[Symbol.toStringTag]:(r=e.constructor)===null||r===void 0?void 0:r.name;if(n===i){let s=Rsr(e);throw new Error(`Cannot use ${n} "${s}" from another module or realm. + +Ensure that there is only one instance of "graphql" in the node_modules +directory. If different versions of "graphql" are the dependencies of other +relied on modules, use "resolutions" to ensure only one version is installed. + +https://yarnpkg.com/en/docs/selective-version-resolutions + +Duplicate "graphql" modules cannot be used at the same time since different +versions may have different capabilities and behavior. The data from one +version used in the function from another could produce confusing and +spurious results.`)}}return!1},usr=class{constructor(e,t="GraphQL request",r={line:1,column:1}){typeof e=="string"||lqt(!1,`Body must be a string. Received: ${Rsr(e)}.`),this.body=e,this.name=t,this.locationOffset=r,this.locationOffset.line>0||lqt(!1,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||lqt(!1,"column in locationOffset is 1-indexed and must be positive.")}get[Symbol.toStringTag](){return"Source"}};sfn=class{constructor(e,t={}){let r=ifn(e)?e:new usr(e);this._lexer=new Whn(r),this._options=t,this._tokenCounter=0}parseName(){let e=this.expectToken(Ni.NAME);return this.node(e,{kind:_0.NAME,value:e.value})}parseDocument(){return this.node(this._lexer.token,{kind:_0.DOCUMENT,definitions:this.many(Ni.SOF,this.parseDefinition,Ni.EOF)})}parseDefinition(){if(this.peek(Ni.BRACE_L))return this.parseOperationDefinition();let e=this.peekDescription(),t=e?this._lexer.lookahead():this._lexer.token;if(t.kind===Ni.NAME){switch(t.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}if(e)throw S7(this._lexer.source,this._lexer.token.start,"Unexpected description, descriptions are supported only on type definitions.");switch(t.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"extend":return this.parseTypeSystemExtension()}}throw this.unexpected(t)}parseOperationDefinition(){let e=this._lexer.token;if(this.peek(Ni.BRACE_L))return this.node(e,{kind:_0.OPERATION_DEFINITION,operation:gae.QUERY,name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet()});let t=this.parseOperationType(),r;return this.peek(Ni.NAME)&&(r=this.parseName()),this.node(e,{kind:_0.OPERATION_DEFINITION,operation:t,name:r,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseOperationType(){let e=this.expectToken(Ni.NAME);switch(e.value){case"query":return gae.QUERY;case"mutation":return gae.MUTATION;case"subscription":return gae.SUBSCRIPTION}throw this.unexpected(e)}parseVariableDefinitions(){return this.optionalMany(Ni.PAREN_L,this.parseVariableDefinition,Ni.PAREN_R)}parseVariableDefinition(){return this.node(this._lexer.token,{kind:_0.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(Ni.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(Ni.EQUALS)?this.parseConstValueLiteral():void 0,directives:this.parseConstDirectives()})}parseVariable(){let e=this._lexer.token;return this.expectToken(Ni.DOLLAR),this.node(e,{kind:_0.VARIABLE,name:this.parseName()})}parseSelectionSet(){return this.node(this._lexer.token,{kind:_0.SELECTION_SET,selections:this.many(Ni.BRACE_L,this.parseSelection,Ni.BRACE_R)})}parseSelection(){return this.peek(Ni.SPREAD)?this.parseFragment():this.parseField()}parseField(){let e=this._lexer.token,t=this.parseName(),r,n;return this.expectOptionalToken(Ni.COLON)?(r=t,n=this.parseName()):n=t,this.node(e,{kind:_0.FIELD,alias:r,name:n,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(Ni.BRACE_L)?this.parseSelectionSet():void 0})}parseArguments(e){let t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(Ni.PAREN_L,t,Ni.PAREN_R)}parseArgument(e=!1){let t=this._lexer.token,r=this.parseName();return this.expectToken(Ni.COLON),this.node(t,{kind:_0.ARGUMENT,name:r,value:this.parseValueLiteral(e)})}parseConstArgument(){return this.parseArgument(!0)}parseFragment(){let e=this._lexer.token;this.expectToken(Ni.SPREAD);let t=this.expectOptionalKeyword("on");return!t&&this.peek(Ni.NAME)?this.node(e,{kind:_0.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1)}):this.node(e,{kind:_0.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentDefinition(){let e=this._lexer.token;return this.expectKeyword("fragment"),this._options.allowLegacyFragmentVariables===!0?this.node(e,{kind:_0.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()}):this.node(e,{kind:_0.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet()})}parseFragmentName(){if(this._lexer.token.value==="on")throw this.unexpected();return this.parseName()}parseValueLiteral(e){let t=this._lexer.token;switch(t.kind){case Ni.BRACKET_L:return this.parseList(e);case Ni.BRACE_L:return this.parseObject(e);case Ni.INT:return this.advanceLexer(),this.node(t,{kind:_0.INT,value:t.value});case Ni.FLOAT:return this.advanceLexer(),this.node(t,{kind:_0.FLOAT,value:t.value});case Ni.STRING:case Ni.BLOCK_STRING:return this.parseStringLiteral();case Ni.NAME:switch(this.advanceLexer(),t.value){case"true":return this.node(t,{kind:_0.BOOLEAN,value:!0});case"false":return this.node(t,{kind:_0.BOOLEAN,value:!1});case"null":return this.node(t,{kind:_0.NULL});default:return this.node(t,{kind:_0.ENUM,value:t.value})}case Ni.DOLLAR:if(e)if(this.expectToken(Ni.DOLLAR),this._lexer.token.kind===Ni.NAME){let r=this._lexer.token.value;throw S7(this._lexer.source,t.start,`Unexpected variable "$${r}" in constant value.`)}else throw this.unexpected(t);return this.parseVariable();default:throw this.unexpected()}}parseConstValueLiteral(){return this.parseValueLiteral(!0)}parseStringLiteral(){let e=this._lexer.token;return this.advanceLexer(),this.node(e,{kind:_0.STRING,value:e.value,block:e.kind===Ni.BLOCK_STRING})}parseList(e){let t=()=>this.parseValueLiteral(e);return this.node(this._lexer.token,{kind:_0.LIST,values:this.any(Ni.BRACKET_L,t,Ni.BRACKET_R)})}parseObject(e){let t=()=>this.parseObjectField(e);return this.node(this._lexer.token,{kind:_0.OBJECT,fields:this.any(Ni.BRACE_L,t,Ni.BRACE_R)})}parseObjectField(e){let t=this._lexer.token,r=this.parseName();return this.expectToken(Ni.COLON),this.node(t,{kind:_0.OBJECT_FIELD,name:r,value:this.parseValueLiteral(e)})}parseDirectives(e){let t=[];for(;this.peek(Ni.AT);)t.push(this.parseDirective(e));return t}parseConstDirectives(){return this.parseDirectives(!0)}parseDirective(e){let t=this._lexer.token;return this.expectToken(Ni.AT),this.node(t,{kind:_0.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e)})}parseTypeReference(){let e=this._lexer.token,t;if(this.expectOptionalToken(Ni.BRACKET_L)){let r=this.parseTypeReference();this.expectToken(Ni.BRACKET_R),t=this.node(e,{kind:_0.LIST_TYPE,type:r})}else t=this.parseNamedType();return this.expectOptionalToken(Ni.BANG)?this.node(e,{kind:_0.NON_NULL_TYPE,type:t}):t}parseNamedType(){return this.node(this._lexer.token,{kind:_0.NAMED_TYPE,name:this.parseName()})}peekDescription(){return this.peek(Ni.STRING)||this.peek(Ni.BLOCK_STRING)}parseDescription(){if(this.peekDescription())return this.parseStringLiteral()}parseSchemaDefinition(){let e=this._lexer.token,t=this.parseDescription();this.expectKeyword("schema");let r=this.parseConstDirectives(),n=this.many(Ni.BRACE_L,this.parseOperationTypeDefinition,Ni.BRACE_R);return this.node(e,{kind:_0.SCHEMA_DEFINITION,description:t,directives:r,operationTypes:n})}parseOperationTypeDefinition(){let e=this._lexer.token,t=this.parseOperationType();this.expectToken(Ni.COLON);let r=this.parseNamedType();return this.node(e,{kind:_0.OPERATION_TYPE_DEFINITION,operation:t,type:r})}parseScalarTypeDefinition(){let e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");let r=this.parseName(),n=this.parseConstDirectives();return this.node(e,{kind:_0.SCALAR_TYPE_DEFINITION,description:t,name:r,directives:n})}parseObjectTypeDefinition(){let e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();return this.node(e,{kind:_0.OBJECT_TYPE_DEFINITION,description:t,name:r,interfaces:n,directives:i,fields:s})}parseImplementsInterfaces(){return this.expectOptionalKeyword("implements")?this.delimitedMany(Ni.AMP,this.parseNamedType):[]}parseFieldsDefinition(){return this.optionalMany(Ni.BRACE_L,this.parseFieldDefinition,Ni.BRACE_R)}parseFieldDefinition(){let e=this._lexer.token,t=this.parseDescription(),r=this.parseName(),n=this.parseArgumentDefs();this.expectToken(Ni.COLON);let i=this.parseTypeReference(),s=this.parseConstDirectives();return this.node(e,{kind:_0.FIELD_DEFINITION,description:t,name:r,arguments:n,type:i,directives:s})}parseArgumentDefs(){return this.optionalMany(Ni.PAREN_L,this.parseInputValueDef,Ni.PAREN_R)}parseInputValueDef(){let e=this._lexer.token,t=this.parseDescription(),r=this.parseName();this.expectToken(Ni.COLON);let n=this.parseTypeReference(),i;this.expectOptionalToken(Ni.EQUALS)&&(i=this.parseConstValueLiteral());let s=this.parseConstDirectives();return this.node(e,{kind:_0.INPUT_VALUE_DEFINITION,description:t,name:r,type:n,defaultValue:i,directives:s})}parseInterfaceTypeDefinition(){let e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");let r=this.parseName(),n=this.parseImplementsInterfaces(),i=this.parseConstDirectives(),s=this.parseFieldsDefinition();return this.node(e,{kind:_0.INTERFACE_TYPE_DEFINITION,description:t,name:r,interfaces:n,directives:i,fields:s})}parseUnionTypeDefinition(){let e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseUnionMemberTypes();return this.node(e,{kind:_0.UNION_TYPE_DEFINITION,description:t,name:r,directives:n,types:i})}parseUnionMemberTypes(){return this.expectOptionalToken(Ni.EQUALS)?this.delimitedMany(Ni.PIPE,this.parseNamedType):[]}parseEnumTypeDefinition(){let e=this._lexer.token,t=this.parseDescription();this.expectKeyword("enum");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseEnumValuesDefinition();return this.node(e,{kind:_0.ENUM_TYPE_DEFINITION,description:t,name:r,directives:n,values:i})}parseEnumValuesDefinition(){return this.optionalMany(Ni.BRACE_L,this.parseEnumValueDefinition,Ni.BRACE_R)}parseEnumValueDefinition(){let e=this._lexer.token,t=this.parseDescription(),r=this.parseEnumValueName(),n=this.parseConstDirectives();return this.node(e,{kind:_0.ENUM_VALUE_DEFINITION,description:t,name:r,directives:n})}parseEnumValueName(){if(this._lexer.token.value==="true"||this._lexer.token.value==="false"||this._lexer.token.value==="null")throw S7(this._lexer.source,this._lexer.token.start,`${HCe(this._lexer.token)} is reserved and cannot be used for an enum value.`);return this.parseName()}parseInputObjectTypeDefinition(){let e=this._lexer.token,t=this.parseDescription();this.expectKeyword("input");let r=this.parseName(),n=this.parseConstDirectives(),i=this.parseInputFieldsDefinition();return this.node(e,{kind:_0.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:r,directives:n,fields:i})}parseInputFieldsDefinition(){return this.optionalMany(Ni.BRACE_L,this.parseInputValueDef,Ni.BRACE_R)}parseTypeSystemExtension(){let e=this._lexer.lookahead();if(e.kind===Ni.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)}parseSchemaExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");let t=this.parseConstDirectives(),r=this.optionalMany(Ni.BRACE_L,this.parseOperationTypeDefinition,Ni.BRACE_R);if(t.length===0&&r.length===0)throw this.unexpected();return this.node(e,{kind:_0.SCHEMA_EXTENSION,directives:t,operationTypes:r})}parseScalarTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");let t=this.parseName(),r=this.parseConstDirectives();if(r.length===0)throw this.unexpected();return this.node(e,{kind:_0.SCALAR_TYPE_EXTENSION,name:t,directives:r})}parseObjectTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");let t=this.parseName(),r=this.parseImplementsInterfaces(),n=this.parseConstDirectives(),i=this.parseFieldsDefinition();if(r.length===0&&n.length===0&&i.length===0)throw this.unexpected();return this.node(e,{kind:_0.OBJECT_TYPE_EXTENSION,name:t,interfaces:r,directives:n,fields:i})}parseInterfaceTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");let t=this.parseName(),r=this.parseImplementsInterfaces(),n=this.parseConstDirectives(),i=this.parseFieldsDefinition();if(r.length===0&&n.length===0&&i.length===0)throw this.unexpected();return this.node(e,{kind:_0.INTERFACE_TYPE_EXTENSION,name:t,interfaces:r,directives:n,fields:i})}parseUnionTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");let t=this.parseName(),r=this.parseConstDirectives(),n=this.parseUnionMemberTypes();if(r.length===0&&n.length===0)throw this.unexpected();return this.node(e,{kind:_0.UNION_TYPE_EXTENSION,name:t,directives:r,types:n})}parseEnumTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");let t=this.parseName(),r=this.parseConstDirectives(),n=this.parseEnumValuesDefinition();if(r.length===0&&n.length===0)throw this.unexpected();return this.node(e,{kind:_0.ENUM_TYPE_EXTENSION,name:t,directives:r,values:n})}parseInputObjectTypeExtension(){let e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");let t=this.parseName(),r=this.parseConstDirectives(),n=this.parseInputFieldsDefinition();if(r.length===0&&n.length===0)throw this.unexpected();return this.node(e,{kind:_0.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:r,fields:n})}parseDirectiveDefinition(){let e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(Ni.AT);let r=this.parseName(),n=this.parseArgumentDefs(),i=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");let s=this.parseDirectiveLocations();return this.node(e,{kind:_0.DIRECTIVE_DEFINITION,description:t,name:r,arguments:n,repeatable:i,locations:s})}parseDirectiveLocations(){return this.delimitedMany(Ni.PIPE,this.parseDirectiveLocation)}parseDirectiveLocation(){let e=this._lexer.token,t=this.parseName();if(Object.prototype.hasOwnProperty.call(Tqt,t.value))return t;throw this.unexpected(e)}node(e,t){return this._options.noLocation!==!0&&(t.loc=new hhn(e,this._lexer.lastToken,this._lexer.source)),t}peek(e){return this._lexer.token.kind===e}expectToken(e){let t=this._lexer.token;if(t.kind===e)return this.advanceLexer(),t;throw S7(this._lexer.source,t.start,`Expected ${lsr(e)}, found ${HCe(t)}.`)}expectOptionalToken(e){return this._lexer.token.kind===e?(this.advanceLexer(),!0):!1}expectKeyword(e){let t=this._lexer.token;if(t.kind===Ni.NAME&&t.value===e)this.advanceLexer();else throw S7(this._lexer.source,t.start,`Expected "${e}", found ${HCe(t)}.`)}expectOptionalKeyword(e){let t=this._lexer.token;return t.kind===Ni.NAME&&t.value===e?(this.advanceLexer(),!0):!1}unexpected(e){let t=e??this._lexer.token;return S7(this._lexer.source,t.start,`Unexpected ${HCe(t)}.`)}any(e,t,r){this.expectToken(e);let n=[];for(;!this.expectOptionalToken(r);)n.push(t.call(this));return n}optionalMany(e,t,r){if(this.expectOptionalToken(e)){let n=[];do n.push(t.call(this));while(!this.expectOptionalToken(r));return n}return[]}many(e,t,r){this.expectToken(e);let n=[];do n.push(t.call(this));while(!this.expectOptionalToken(r));return n}delimitedMany(e,t){this.expectOptionalToken(e);let r=[];do r.push(t.call(this));while(this.expectOptionalToken(e));return r}advanceLexer(){let{maxTokens:e}=this._options,t=this._lexer.advance();if(e!==void 0&&t.kind!==Ni.EOF&&(++this._tokenCounter,this._tokenCounter>e))throw S7(this._lexer.source,t.start,`Document contains more that ${e} tokens. Parsing aborted.`)}};Rfn=ofn;lfn={allowLegacyFragmentVariables:!0};pfn={parse:Tfn,astFormat:"graphql",hasPragma:xhn,locStart:Jar,locEnd:Xar},csr={graphql:Ehn},_fn=Lar});var Vor={};x2(Vor,{default:()=>i7n,languages:()=>Por,options:()=>Bor,parsers:()=>Kqt,printers:()=>Gor});function mfn(e){if(typeof e=="string")return Vsr;if(Array.isArray(e))return jsr;if(!e)return;let{type:t}=e;if(ror.has(t))return t}function yfn(e){let t=e===null?"null":typeof e;if(t!=="string"&&t!=="object")return`Unexpected doc '${t}', +Expected it to be 'string' or 'object'.`;if(nor(e))throw new Error("doc is valid.");let r=Object.prototype.toString.call(e);if(r!=="[object Object]")return`Unexpected doc '${r}'.`;let n=kfn([...ror].map(i=>`'${i}'`));return`Unexpected doc.type '${e.type}'. +Expected it to be ${n}.`}function WD(e){return fX(e),{type:Oqt,contents:e}}function aor(e,t){return fX(t),{type:vqt,contents:t,n:e}}function b2(e,t={}){return fX(e),wqt(t.expandedStates,!0),{type:Dqt,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function Afn(e){return aor(Number.NEGATIVE_INFINITY,e)}function gfn(e){return aor({type:"root"},e)}function sor(e){return wqt(e),{type:Sqt,parts:e}}function r5e(e,t="",r={}){return fX(e),t!==""&&fX(t),{type:$qt,breakContents:e,flatContents:t,groupId:r.groupId}}function bfn(e,t){return fX(e),{type:Qqt,contents:e,groupId:t.groupId,negate:t.negate}}function $ae(e,t){fX(e),wqt(t);let r=[];for(let n=0;ntypeof r=="string"?$ae(t,r.split(` +`)):r)}function Sfn(e,t){let r=t===!0||t===VCe?VCe:_sr,n=r===VCe?_sr:VCe,i=0,s=0;for(let R of e)R===r?i++:R===n&&s++;return i>s?n:r}function Qfn(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function Wfn(e){return e?.type==="front-matter"}function Ror(e,t){var r;if(e.type==="text"||e.type==="comment"||l5e(e)||e.type==="yaml"||e.type==="toml")return null;if(e.type==="attribute"&&delete t.value,e.type==="docType"&&delete t.value,e.type==="angularControlFlowBlock"&&(r=e.parameters)!=null&&r.children)for(let n of t.parameters.children)Ffn.has(e.name)?delete n.expression:n.expression=n.expression.trim();e.type==="angularIcuExpression"&&(t.switchValue=e.switchValue.trim()),e.type==="angularLetDeclarationInitializer"&&delete t.value}async function zfn(e,t){if(e.language==="yaml"){let r=e.value.trim(),n=r?await t(r,{parser:"yaml"}):"";return gfn([e.startDelimiter,e.explicitLanguage,Ep,n,n?Ep:"",e.endDelimiter])}}function c5e(e,t=!0){return[WD([py,e]),t?py:""]}function Qae(e,t){let r=e.type==="NGRoot"?e.node.type==="NGMicrosyntax"&&e.node.body.length===1&&e.node.body[0].type==="NGMicrosyntaxExpression"?e.node.body[0].expression:e.node:e.type==="JsExpressionRoot"?e.node:e;return r&&(r.type==="ObjectExpression"||r.type==="ArrayExpression"||(t.parser==="__vue_expression"||t.parser==="__vue_ts_expression")&&(r.type==="TemplateLiteral"||r.type==="StringLiteral"))}async function lO(e,t,r,n){r={__isInHtmlAttribute:!0,__embeddedInHtml:!0,...r};let i=!0;n&&(r.__onHtmlBindingRoot=(R,l)=>{i=n(R,l)});let s=await t(e,r,t);return i?b2(s):c5e(s)}function Yfn(e,t,r,n){let{node:i}=r,s=n.originalText.slice(i.sourceSpan.start.offset,i.sourceSpan.end.offset);return/^\s*$/u.test(s)?"":lO(s,e,{parser:"__ng_directive",__isInHtmlAttribute:!1},Qae)}function hsr(e,t){if(!t)return;let r=Gfn(t).toLowerCase();return e.find(({filenames:n})=>n?.some(i=>i.toLowerCase()===r))??e.find(({extensions:n})=>n?.some(i=>r.endsWith(i)))}function Vfn(e,t){if(t)return e.find(({name:r})=>r.toLowerCase()===t)??e.find(({aliases:r})=>r?.includes(t))??e.find(({extensions:r})=>r?.includes(`.${t}`))}function jfn(e,t){let r=e.plugins.flatMap(i=>i.languages??[]),n=Vfn(r,t.language)??hsr(r,t.physicalFile)??hsr(r,t.file)??(t.physicalFile,void 0);return n?.parsers[0]}function tdn(e){return e.type==="element"&&!e.hasExplicitNamespace&&!["html","svg"].includes(e.namespace)}function lor(e,t){return!!(e.type==="ieConditionalComment"&&e.lastChild&&!e.lastChild.isSelfClosing&&!e.lastChild.endSourceSpan||e.type==="ieConditionalComment"&&!e.complete||Dae(e)&&e.children.some(r=>r.type!=="text"&&r.type!=="interpolation")||Bqt(e,t)&&!mw(e)&&e.type!=="interpolation")}function p5e(e){return e.type==="attribute"||!e.parent||!e.prev?!1:idn(e.prev)}function idn(e){return e.type==="comment"&&e.value.trim()==="prettier-ignore"}function lg(e){return e.type==="text"||e.type==="comment"}function mw(e){return e.type==="element"&&(e.fullName==="script"||e.fullName==="style"||e.fullName==="svg:style"||e.fullName==="svg:script"||lfe(e)&&(e.name==="script"||e.name==="style"))}function adn(e){return e.children&&!mw(e)}function sdn(e){return mw(e)||e.type==="interpolation"||cor(e)}function cor(e){return mor(e).startsWith("pre")}function odn(e,t){var r,n;let i=s();if(i&&!e.prev&&(n=(r=e.parent)==null?void 0:r.tagDefinition)!=null&&n.ignoreFirstLf)return e.type==="interpolation";return i;function s(){return l5e(e)||e.type==="angularControlFlowBlock"?!1:(e.type==="text"||e.type==="interpolation")&&e.prev&&(e.prev.type==="text"||e.prev.type==="interpolation")?!0:!e.parent||e.parent.cssDisplay==="none"?!1:Dae(e.parent)?!0:!(!e.prev&&(e.parent.type==="root"||Dae(e)&&e.parent||mw(e.parent)||_5e(e.parent,t)||!fdn(e.parent.cssDisplay))||e.prev&&!mdn(e.prev.cssDisplay))}}function Rdn(e,t){return l5e(e)||e.type==="angularControlFlowBlock"?!1:(e.type==="text"||e.type==="interpolation")&&e.next&&(e.next.type==="text"||e.next.type==="interpolation")?!0:!e.parent||e.parent.cssDisplay==="none"?!1:Dae(e.parent)?!0:!(!e.next&&(e.parent.type==="root"||Dae(e)&&e.parent||mw(e.parent)||_5e(e.parent,t)||!ddn(e.parent.cssDisplay))||e.next&&!xdn(e.next.cssDisplay))}function udn(e){return kdn(e.cssDisplay)&&!mw(e)}function jCe(e){return l5e(e)||e.next&&e.sourceSpan.end&&e.sourceSpan.end.line+10&&(["body","script","style"].includes(e.name)||e.children.some(t=>Tdn(t)))||e.firstChild&&e.firstChild===e.lastChild&&e.firstChild.type!=="text"&&_or(e.firstChild)&&(!e.lastChild.isTrailingSpaceSensitive||hor(e.lastChild))}function Tor(e){return e.type==="element"&&e.children.length>0&&(["html","head","ul","ol","select"].includes(e.name)||e.cssDisplay.startsWith("table")&&e.cssDisplay!=="table-cell")}function hqt(e){return dor(e)||e.prev&&cdn(e.prev)||por(e)}function cdn(e){return dor(e)||e.type==="element"&&e.fullName==="br"||por(e)}function por(e){return _or(e)&&hor(e)}function _or(e){return e.hasLeadingSpaces&&(e.prev?e.prev.sourceSpan.end.linee.sourceSpan.end.line:e.parent.type==="root"||e.parent.endSourceSpan&&e.parent.endSourceSpan.start.line>e.sourceSpan.end.line)}function dor(e){switch(e.type){case"ieConditionalComment":case"comment":case"directive":return!0;case"element":return["script","select"].includes(e.name)}return!1}function Pqt(e){return e.lastChild?Pqt(e.lastChild):e}function Tdn(e){var t;return(t=e.children)==null?void 0:t.some(r=>r.type!=="text")}function xor(e){if(e)switch(e){case"module":case"text/javascript":case"text/babel":case"application/javascript":return"babel";case"application/x-typescript":return"typescript";case"text/markdown":return"markdown";case"text/html":return"html";case"text/x-handlebars-template":return"glimmer";default:if(e.endsWith("json")||e.endsWith("importmap")||e==="speculationrules")return"json"}}function pdn(e,t){let{name:r,attrMap:n}=e;if(r!=="script"||Object.prototype.hasOwnProperty.call(n,"src"))return;let{type:i,lang:s}=e.attrMap;return!s&&!i?"babel":T5e(t,{language:s})??xor(i)}function _dn(e,t){if(!Bqt(e,t))return;let{attrMap:r}=e;if(Object.prototype.hasOwnProperty.call(r,"src"))return;let{type:n,lang:i}=r;return T5e(t,{language:i})??xor(n)}function hdn(e,t){if(e.name!=="style")return;let{lang:r}=e.attrMap;return r?T5e(t,{language:r}):"css"}function fsr(e,t){return pdn(e,t)??hdn(e,t)??_dn(e,t)}function pfe(e){return e==="block"||e==="list-item"||e.startsWith("table")}function fdn(e){return!pfe(e)&&e!=="inline-block"}function ddn(e){return!pfe(e)&&e!=="inline-block"}function xdn(e){return!pfe(e)}function mdn(e){return!pfe(e)}function kdn(e){return!pfe(e)&&e!=="inline-block"}function Dae(e){return mor(e).startsWith("pre")}function ydn(e,t){let r=e;for(;r;){if(t(r))return!0;r=r.parent}return!1}function qdn(e,t){var r;if(Nae(e,t))return"block";if(((r=e.prev)==null?void 0:r.type)==="comment"){let i=e.prev.value.match(/^\s*display:\s*([a-z]+)\s*$/u);if(i)return i[1]}let n=!1;if(e.type==="element"&&e.namespace==="svg")if(ydn(e,i=>i.fullName==="svg:foreignObject"))n=!0;else return e.name==="svg"?"inline-block":"block";switch(t.htmlWhitespaceSensitivity){case"strict":return"inline";case"ignore":return"block";default:return e.type==="element"&&(!e.namespace||n||lfe(e))&&Xfn[e.name]||Jfn}}function mor(e){return e.type==="element"&&(!e.namespace||lfe(e))&&edn[e.name]||Zfn}function Cdn(e){let t=Number.POSITIVE_INFINITY;for(let r of e.split(` +`)){if(r.length===0)continue;let n=MD.getLeadingWhitespaceCount(r);if(n===0)return 0;r.length!==n&&nr.slice(t)).join(` +`)}function yor(e){return yA(!1,yA(!1,e,"'","'"),""",'"')}function kW(e){return yor(e.value)}function _5e(e,t){return Nae(e,t)&&!Adn.has(e.fullName)}function Nae(e,t){return t.parser==="vue"&&e.type==="element"&&e.parent.type==="root"&&e.fullName.toLowerCase()!=="html"}function Bqt(e,t){return Nae(e,t)&&(_5e(e,t)||e.attrMap.lang&&e.attrMap.lang!=="html")}function gdn(e){let t=e.fullName;return t.charAt(0)==="#"||t==="slot-scope"||t==="v-slot"||t.startsWith("v-slot:")}function bdn(e,t){let r=e.parent;if(!Nae(r,t))return!1;let n=r.fullName,i=e.fullName;return n==="script"&&i==="setup"||n==="style"&&i==="vars"}function qor(e,t=e.value){return e.parent.isWhitespaceSensitive?e.parent.isIndentationSensitive?uO(t):uO(kor(uor(t)),Ep):$ae($7,MD.split(t))}function Cor(e,t){return Nae(e,t)&&e.name==="script"}async function Edn(e,t){let r=[];for(let[n,i]of e.split(Aor).entries())if(n%2===0)r.push(uO(i));else try{r.push(b2(["{{",WD([$7,await lO(i,t,{parser:"__ng_interpolation",__isInHtmlInterpolation:!0})]),$7,"}}"]))}catch{r.push("{{",uO(i),"}}")}return r}function Iqt({parser:e}){return(t,r,n)=>lO(kW(n.node),t,{parser:e},Qae)}function Sdn(e,t){if(t.parser!=="angular")return;let{node:r}=e,n=r.fullName;if(n.startsWith("(")&&n.endsWith(")")||n.startsWith("on-"))return Odn;if(n.startsWith("[")&&n.endsWith("]")||/^bind(?:on)?-/u.test(n)||/^ng-(?:if|show|hide|class|style)$/u.test(n))return vdn;if(n.startsWith("*"))return Ddn;let i=kW(r);if(/^i18n(?:-.+)?$/u.test(n))return()=>c5e(sor(qor(r,i.trim())),!i.includes("@@"));if(Aor.test(i))return s=>Edn(i,s)}function Qdn(e,t){let{node:r}=e,n=kW(r);if(r.fullName==="class"&&!t.parentParser&&!n.includes("{{"))return()=>n.trim().split(/\s+/u).join(" ")}function dsr(e){return e===" "||e===` +`||e==="\f"||e==="\r"||e===" "}function Wdn(e){let t=e.length,r,n,i,s,R,l=0,c;function h(x){let y,A=x.exec(e.substring(l));if(A)return[y]=A,l+=y.length,y}let _=[];for(;;){if(h(Pdn),l>=t){if(_.length===0)throw new Error("Must contain one or more image candidate strings.");return _}c=l,r=h(Bdn),n=[],r.slice(-1)===","?(r=r.replace(Idn,""),m()):f()}function f(){for(h(wdn),i="",s="in descriptor";;){if(R=e.charAt(l),s==="in descriptor")if(dsr(R))i&&(n.push(i),i="",s="after descriptor");else if(R===","){l+=1,i&&n.push(i),m();return}else if(R==="(")i+=R,s="in parens";else if(R===""){i&&n.push(i),m();return}else i+=R;else if(s==="in parens")if(R===")")i+=R,s="in descriptor";else if(R===""){n.push(i),m();return}else i+=R;else if(s==="after descriptor"&&!dsr(R))if(R===""){m();return}else s="in descriptor",l-=1;l+=1}}function m(){let x=!1,y,A,D,S,P={},M,U,w,F,H;for(S=0;Szdn(kW(e.node))}function zdn(e){let t=Udn(e),r=Ldn.filter(_=>t.some(f=>Object.prototype.hasOwnProperty.call(f,_)));if(r.length>1)throw new Error("Mixed descriptor in srcset is not supported");let[n]=r,i=gor[n],s=t.map(_=>_.source.value),R=Math.max(...s.map(_=>_.length)),l=t.map(_=>_[n]?String(_[n].value):""),c=l.map(_=>{let f=_.indexOf(".");return f===-1?_.length:f}),h=Math.max(...c);return c5e($ae([",",$7],s.map((_,f)=>{let m=[_],x=l[f];if(x){let y=R-_.length+1,A=h-c[f],D=" ".repeat(y+A);m.push(r5e(D," "),x+i)}return m})))}function Ydn(e,t){let{node:r}=e,n=kW(e.node).trim();if(r.fullName==="style"&&!t.parentParser&&!n.includes("{{"))return async i=>c5e(await i(n,{parser:"css",__isHTMLStyleAttribute:!0}))}function Kdn(e,t){let{root:r}=e;return fqt.has(r)||fqt.set(r,r.children.some(n=>Cor(n,t)&&["ts","typescript"].includes(n.attrMap.lang))),fqt.get(r)}function Gdn(e,t,r){let{node:n}=r,i=kW(n);return lO(`type T<${i}> = any`,e,{parser:"babel-ts",__isEmbeddedTypescriptGenericParameters:!0},Qae)}function Vdn(e,t,{parseWithTs:r}){return lO(`function _(${e}) {}`,t,{parser:r?"babel-ts":"babel",__isVueBindings:!0})}async function jdn(e,t,r,n){let i=kW(r.node),{left:s,operator:R,right:l}=Jdn(i),c=Mqt(r,n);return[b2(await lO(`function _(${s}) {}`,e,{parser:c?"babel-ts":"babel",__isVueForBindingLeft:!0}))," ",R," ",await lO(l,e,{parser:c?"__ts_expression":"__js_expression"})]}function Jdn(e){let t=/(.*?)\s+(in|of)\s+(.*)/su,r=/,([^,\]}]*)(?:,([^,\]}]*))?$/u,n=/^\(|\)$/gu,i=e.match(t);if(!i)return;let s={};if(s.for=i[3].trim(),!s.for)return;let R=yA(!1,i[1].trim(),n,""),l=R.match(r);l?(s.alias=R.replace(r,""),s.iterator1=l[1].trim(),l[2]&&(s.iterator2=l[2].trim())):s.alias=R;let c=[s.alias,s.iterator1,s.iterator2];if(!c.some((h,_)=>!h&&(_===0||c.slice(_+1).some(Boolean))))return{left:c.filter(Boolean).join(","),operator:i[2],right:s.for}}function Xdn(e,t){if(t.parser!=="vue")return;let{node:r}=e,n=r.fullName;if(n==="v-for")return jdn;if(n==="generic"&&Cor(r.parent,t))return Gdn;let i=kW(r),s=Mqt(e,t);if(gdn(r)||bdn(r,t))return R=>Vdn(i,R,{parseWithTs:s});if(n.startsWith("@")||n.startsWith("v-on:"))return R=>Zdn(i,R,{parseWithTs:s});if(n.startsWith(":")||n.startsWith("v-bind:"))return R=>exn(i,R,{parseWithTs:s});if(n.startsWith("v-"))return R=>bor(i,R,{parseWithTs:s})}async function Zdn(e,t,{parseWithTs:r}){var n;try{return await bor(e,t,{parseWithTs:r})}catch(i){if(((n=i.cause)==null?void 0:n.code)!=="BABEL_PARSER_SYNTAX_ERROR")throw i}return lO(e,t,{parser:r?"__vue_ts_event_binding":"__vue_event_binding"},Qae)}function exn(e,t,{parseWithTs:r}){return lO(e,t,{parser:r?"__vue_ts_expression":"__vue_expression"},Qae)}function bor(e,t,{parseWithTs:r}){return lO(e,t,{parser:r?"__ts_expression":"__js_expression"},Qae)}function rxn(e,t){let{node:r}=e;if(r.value){if(/^PRETTIER_HTML_PLACEHOLDER_\d+_\d+_IN_JS$/u.test(t.originalText.slice(r.valueSpan.start.offset,r.valueSpan.end.offset))||t.parser==="lwc"&&r.value.startsWith("{")&&r.value.endsWith("}"))return[r.rawName,"=",r.value];for(let n of[Hdn,Ydn,Ndn,txn,$dn]){let i=n(e,t);if(i)return nxn(i)}}}function nxn(e){return async(t,r,n,i)=>{let s=await e(t,r,n,i);if(s)return s=oor(s,R=>typeof R=="string"?yA(!1,R,'"',"""):R),[n.node.rawName,'="',b2(s),'"']}}function axn(e){return Array.isArray(e)&&e.length>0}function _fe(e){return e.sourceSpan.start.offset}function hfe(e){return e.sourceSpan.end.offset}function qqt(e,t){return[e.isSelfClosing?"":sxn(e,t),ofe(e,t)]}function sxn(e,t){return e.lastChild&&cfe(e.lastChild)?"":[oxn(e,t),Uqt(e,t)]}function ofe(e,t){return(e.next?xX(e.next):dfe(e.parent))?"":[ffe(e,t),dX(e,t)]}function oxn(e,t){return dfe(e)?ffe(e.lastChild,t):""}function dX(e,t){return cfe(e)?Uqt(e.parent,t):h5e(e)?Fqt(e.next,t):""}function Uqt(e,t){if(Oor(!e.isSelfClosing),vor(e,t))return"";switch(e.type){case"ieConditionalComment":return"";case"ieConditionalStartComment":return"]>";case"interpolation":return"}}";case"angularIcuExpression":return"}";case"element":if(e.isSelfClosing)return"/>";default:return">"}}function vor(e,t){return!e.isSelfClosing&&!e.endSourceSpan&&(p5e(e)||lor(e.parent,t))}function xX(e){return e.prev&&e.prev.type!=="docType"&&e.type!=="angularControlFlowBlock"&&!lg(e.prev)&&e.isLeadingSpaceSensitive&&!e.hasLeadingSpaces}function dfe(e){var t;return((t=e.lastChild)==null?void 0:t.isTrailingSpaceSensitive)&&!e.lastChild.hasTrailingSpaces&&!lg(Pqt(e.lastChild))&&!Dae(e)}function cfe(e){return!e.next&&!e.hasTrailingSpaces&&e.isTrailingSpaceSensitive&&lg(Pqt(e))}function h5e(e){return e.next&&!lg(e.next)&&lg(e)&&e.isTrailingSpaceSensitive&&!e.hasTrailingSpaces}function Rxn(e){let t=e.trim().match(/^prettier-ignore-attribute(?:\s+(.+))?$/su);return t?t[1]?t[1].split(/\s+/u):!0:!1}function f5e(e){return!e.prev&&e.isLeadingSpaceSensitive&&!e.hasLeadingSpaces}function uxn(e,t,r){var n;let{node:i}=e;if(!Wqt(i.attrs))return i.isSelfClosing?" ":"";let s=((n=i.prev)==null?void 0:n.type)==="comment"&&Rxn(i.prev.value),R=typeof s=="boolean"?()=>s:Array.isArray(s)?f=>s.includes(f.rawName):()=>!1,l=e.map(({node:f})=>R(f)?uO(t.originalText.slice(_fe(f),hfe(f))):r(),"attrs"),c=i.type==="element"&&i.fullName==="script"&&i.attrs.length===1&&i.attrs[0].fullName==="src"&&i.children.length===0,h=t.singleAttributePerLine&&i.attrs.length>1&&!Nae(i,t)?Ep:$7,_=[WD([c?" ":$7,$ae(h,l)])];return i.firstChild&&f5e(i.firstChild)||i.isSelfClosing&&dfe(i.parent)||c?_.push(i.isSelfClosing?" ":""):_.push(t.bracketSameLine?i.isSelfClosing?" ":"":i.isSelfClosing?$7:py),_}function lxn(e){return e.firstChild&&f5e(e.firstChild)?"":Lqt(e)}function Cqt(e,t,r){let{node:n}=e;return[Rfe(n,t),uxn(e,t,r),n.isSelfClosing?"":lxn(n)]}function Rfe(e,t){return e.prev&&h5e(e.prev)?"":[mX(e,t),Fqt(e,t)]}function mX(e,t){return f5e(e)?Lqt(e.parent):xX(e)?ffe(e.prev,t):""}function Fqt(e,t){switch(e.type){case"ieConditionalComment":case"ieConditionalStartComment":return`<${e.rawName}`;default:return`<${e.rawName}`}}function Lqt(e){switch(Oor(!e.isSelfClosing),e.type){case"ieConditionalComment":return"]>";case"element":if(e.condition)return">";default:return">"}}function cxn(e,t){if(!e.endSourceSpan)return"";let r=e.startSourceSpan.end.offset;e.firstChild&&f5e(e.firstChild)&&(r-=Lqt(e).length);let n=e.endSourceSpan.start.offset;return e.lastChild&&cfe(e.lastChild)?n+=Uqt(e,t).length:dfe(e)&&(n-=ffe(e.lastChild,t).length),t.originalText.slice(r,n)}function pxn(e,t){let{node:r}=e;switch(r.type){case"element":if(mw(r)||r.type==="interpolation")return;if(!r.isSelfClosing&&Bqt(r,t)){let n=fsr(r,t);return n?async(i,s)=>{let R=Dor(r,t),l=/^\s*$/u.test(R),c="";return l||(c=await i(uor(R),{parser:n,__embeddedInHtml:!0}),l=c===""),[mX(r,t),b2(Cqt(e,t,s)),l?"":Ep,c,l?"":Ep,qqt(r,t),dX(r,t)]}:void 0}break;case"text":if(mw(r.parent)){let n=fsr(r.parent,t);if(n)return async i=>{let s=n==="markdown"?kor(r.value.replace(/^[^\S\n]*\n/u,"")):r.value,R={parser:n,__embeddedInHtml:!0};if(t.parser==="html"&&n==="babel"){let l="script",{attrMap:c}=r.parent;c&&(c.type==="module"||c.type==="text/babel"&&c["data-type"]==="module")&&(l="module"),R.__babelSourceType=l}return[Tfe,mX(r,t),await i(s,R),dX(r,t)]}}else if(r.parent.type==="interpolation")return async n=>{let i={__isInHtmlInterpolation:!0,__embeddedInHtml:!0};return t.parser==="angular"?i.parser="__ng_interpolation":t.parser==="vue"?i.parser=Mqt(e,t)?"__vue_ts_expression":"__vue_expression":i.parser="__js_expression",[WD([$7,await n(r.value,i)]),r.parent.next&&xX(r.parent.next)?" ":$7]};break;case"attribute":return ixn(e,t);case"front-matter":return n=>Hfn(r,n);case"angularControlFlowBlockParameters":return Txn.has(e.parent.name)?Kfn:void 0;case"angularLetDeclarationInitializer":return n=>lO(r.value,n,{parser:"__ng_binding",__isInHtmlAttribute:!1})}}function ufe(e){if(rfe!==null&&typeof rfe.property){let t=rfe;return rfe=ufe.prototype=null,t}return rfe=ufe.prototype=e??Object.create(null),new ufe}function fxn(e){return ufe(e)}function dxn(e,t="type"){fxn(e);function r(n){let i=n[t],s=e[i];if(!Array.isArray(s))throw Object.assign(new Error(`Missing visitor keys for '${i}'.`),{node:n});return s}return r}function Cxn(e){return/^\s*/u.test(e)}function Axn(e){return` + +`+e}function Sor(e){let t=hfe(e);return e.type==="element"&&!e.endSourceSpan&&Wqt(e.children)?Math.max(t,Sor(u5e(!1,e.children,-1))):t}function nfe(e,t,r){let n=e.node;if(p5e(n)){let i=Sor(n);return[mX(n,t),uO(MD.trimEnd(t.originalText.slice(_fe(n)+(n.prev&&h5e(n.prev)?Fqt(n).length:0),i-(n.next&&xX(n.next)?ffe(n,t).length:0)))),dX(n,t)]}return r()}function JCe(e,t){return lg(e)&&lg(t)?e.isTrailingSpaceSensitive?e.hasTrailingSpaces?hqt(t)?Ep:$7:"":hqt(t)?Ep:py:h5e(e)&&(p5e(t)||t.firstChild||t.isSelfClosing||t.type==="element"&&t.attrs.length>0)||e.type==="element"&&e.isSelfClosing&&xX(t)?"":!t.isLeadingSpaceSensitive||hqt(t)||xX(t)&&e.lastChild&&cfe(e.lastChild)&&e.lastChild.lastChild&&cfe(e.lastChild.lastChild)?Ep:t.hasLeadingSpaces?$7:py}function zqt(e,t,r){let{node:n}=e;if(Tor(n))return[Tfe,...e.map(s=>{let R=s.node,l=R.prev?JCe(R.prev,R):"";return[l?[l,jCe(R.prev)?Ep:""]:"",nfe(s,t,r)]},"children")];let i=n.children.map(()=>Symbol(""));return e.map((s,R)=>{let l=s.node;if(lg(l)){if(l.prev&&lg(l.prev)){let y=JCe(l.prev,l);if(y)return jCe(l.prev)?[Ep,Ep,nfe(s,t,r)]:[y,nfe(s,t,r)]}return nfe(s,t,r)}let c=[],h=[],_=[],f=[],m=l.prev?JCe(l.prev,l):"",x=l.next?JCe(l,l.next):"";return m&&(jCe(l.prev)?c.push(Ep,Ep):m===Ep?c.push(Ep):lg(l.prev)?h.push(m):h.push(r5e("",py,{groupId:i[R-1]}))),x&&(jCe(l)?lg(l.next)&&f.push(Ep,Ep):x===Ep?lg(l.next)&&f.push(Ep):_.push(x)),[...c,b2([...h,b2([nfe(s,t,r),..._],{id:i[R]})]),...f]},"children")}function bxn(e,t,r){let{node:n}=e,i=[];Exn(e)&&i.push("} "),i.push("@",n.name),n.parameters&&i.push(" (",b2(r("parameters")),")"),i.push(" {");let s=$or(n);return n.children.length>0?(n.firstChild.hasLeadingSpaces=!0,n.lastChild.hasTrailingSpaces=!0,i.push(WD([Ep,zqt(e,t,r)])),s&&i.push(Ep,"}")):s&&i.push("}"),b2(i,{shouldBreak:!0})}function $or(e){var t,r;return!(((t=e.next)==null?void 0:t.type)==="angularControlFlowBlock"&&(r=gxn.get(e.name))!=null&&r.has(e.next.name))}function Exn(e){let{previous:t}=e;return t?.type==="angularControlFlowBlock"&&!p5e(t)&&!$or(t)}function Oxn(e,t,r){return[WD([py,$ae([";",$7],e.map(r,"children"))]),py]}function vxn(e,t,r){let{node:n}=e;return[Rfe(n,t),b2([n.switchValue.trim(),", ",n.clause,n.cases.length>0?[",",WD([$7,$ae($7,e.map(r,"cases"))])]:"",py]),ofe(n,t)]}function Dxn(e,t,r){let{node:n}=e;return[n.value," {",b2([WD([py,e.map(({node:i})=>i.type==="text"&&!MD.trim(i.value)?"":r(),"expression")]),py]),"}"]}function Sxn(e,t,r){let{node:n}=e;if(lor(n,t))return[mX(n,t),b2(Cqt(e,t,r)),uO(Dor(n,t)),...qqt(n,t),dX(n,t)];let i=n.children.length===1&&(n.firstChild.type==="interpolation"||n.firstChild.type==="angularIcuExpression")&&n.firstChild.isLeadingSpaceSensitive&&!n.firstChild.hasLeadingSpaces&&n.lastChild.isTrailingSpaceSensitive&&!n.lastChild.hasTrailingSpaces,s=Symbol("element-attr-group-id"),R=_=>b2([b2(Cqt(e,t,r),{id:s}),_,qqt(n,t)]),l=_=>i?bfn(_,{groupId:s}):(mw(n)||_5e(n,t))&&n.parent.type==="root"&&t.parser==="vue"&&!t.vueIndentScriptAndStyle?_:WD(_),c=()=>i?r5e(py,"",{groupId:s}):n.firstChild.hasLeadingSpaces&&n.firstChild.isLeadingSpaceSensitive?$7:n.firstChild.type==="text"&&n.isWhitespaceSensitive&&n.isIndentationSensitive?Afn(py):py,h=()=>(n.next?xX(n.next):dfe(n.parent))?n.lastChild.hasTrailingSpaces&&n.lastChild.isTrailingSpaceSensitive?" ":"":i?r5e(py,"",{groupId:s}):n.lastChild.hasTrailingSpaces&&n.lastChild.isTrailingSpaceSensitive?$7:(n.lastChild.type==="comment"||n.lastChild.type==="text"&&n.isWhitespaceSensitive&&n.isIndentationSensitive)&&new RegExp(`\\n[\\t ]{${t.tabWidth*(e.ancestors.length-1)}}$`,"u").test(n.lastChild.value)?"":py;return n.children.length===0?R(n.hasDanglingSpaces&&n.isDanglingSpaceSensitive?$7:""):R([ldn(n)?Tfe:"",l([c(),zqt(e,t,r)]),h()])}function n5e(e){return e>=9&&e<=32||e==160}function Hqt(e){return 48<=e&&e<=57}function i5e(e){return e>=97&&e<=122||e>=65&&e<=90}function $xn(e){return e>=97&&e<=102||e>=65&&e<=70||Hqt(e)}function Yqt(e){return e===10||e===13}function ksr(e){return 48<=e&&e<=55}function dqt(e){return e===39||e===34||e===96}function Nxn(e){return e.replace(Qxn,(...t)=>t[1].toUpperCase())}function Pxn(e,t){for(let r of wxn)r(e,t);return e}function Bxn(e){e.walk(t=>{if(t.type==="element"&&t.tagDefinition.ignoreFirstLf&&t.children.length>0&&t.children[0].type==="text"&&t.children[0].value[0]===` +`){let r=t.children[0];r.value.length===1?t.removeChild(r):r.value=r.value.slice(1)}})}function Ixn(e){let t=r=>{var n,i;return r.type==="element"&&((n=r.prev)==null?void 0:n.type)==="ieConditionalStartComment"&&r.prev.sourceSpan.end.offset===r.startSourceSpan.start.offset&&((i=r.firstChild)==null?void 0:i.type)==="ieConditionalEndComment"&&r.firstChild.sourceSpan.start.offset===r.startSourceSpan.end.offset};e.walk(r=>{if(r.children)for(let n=0;n{if(n.children)for(let i=0;it.type==="cdata",t=>``)}function Uxn(e){let t=r=>{var n,i;return r.type==="element"&&r.attrs.length===0&&r.children.length===1&&r.firstChild.type==="text"&&!MD.hasWhitespaceCharacter(r.children[0].value)&&!r.firstChild.hasLeadingSpaces&&!r.firstChild.hasTrailingSpaces&&r.isLeadingSpaceSensitive&&!r.hasLeadingSpaces&&r.isTrailingSpaceSensitive&&!r.hasTrailingSpaces&&((n=r.prev)==null?void 0:n.type)==="text"&&((i=r.next)==null?void 0:i.type)==="text"};e.walk(r=>{if(r.children)for(let n=0;n`+i.firstChild.value+``+R.value,s.sourceSpan=new OR(s.sourceSpan.start,R.sourceSpan.end),s.isTrailingSpaceSensitive=R.isTrailingSpaceSensitive,s.hasTrailingSpaces=R.hasTrailingSpaces,r.removeChild(i),n--,r.removeChild(R)}})}function Fxn(e,t){if(t.parser==="html")return;let r=/\{\{(.+?)\}\}/su;e.walk(n=>{if(adn(n))for(let i of n.children){if(i.type!=="text")continue;let s=i.sourceSpan.start,R=null,l=i.value.split(r);for(let c=0;c0&&n.insertChildBefore(i,{type:"text",value:h,sourceSpan:new OR(s,R)});continue}R=s.moveBy(h.length+4),n.insertChildBefore(i,{type:"interpolation",sourceSpan:new OR(s,R),children:h.length===0?[]:[{type:"text",value:h,sourceSpan:new OR(s.moveBy(2),R.moveBy(-2))}]})}n.removeChild(i)}})}function Lxn(e){e.walk(t=>{if(!t.children)return;if(t.children.length===0||t.children.length===1&&t.children[0].type==="text"&&MD.trim(t.children[0].value).length===0){t.hasDanglingSpaces=t.children.length>0,t.children=[];return}let r=sdn(t),n=cor(t);if(!r)for(let i=0;i{t.isSelfClosing=!t.children||t.type==="element"&&(t.tagDefinition.isVoid||t.endSourceSpan&&t.startSourceSpan.start===t.endSourceSpan.start&&t.startSourceSpan.end===t.endSourceSpan.end)})}function Hxn(e,t){e.walk(r=>{r.type==="element"&&(r.hasHtmComponentClosingTag=r.endSourceSpan&&/^<\s*\/\s*\/\s*>$/u.test(t.originalText.slice(r.endSourceSpan.start.offset,r.endSourceSpan.end.offset)))})}function Yxn(e,t){e.walk(r=>{r.cssDisplay=qdn(r,t)})}function Kxn(e,t){e.walk(r=>{let{children:n}=r;if(n){if(n.length===0){r.isDanglingSpaceSensitive=udn(r);return}for(let i of n)i.isLeadingSpaceSensitive=odn(i,t),i.isTrailingSpaceSensitive=Rdn(i,t);for(let i=0;i{!ife[t]&&e5e(t)===null&&(ife[t]=new sR({canSelfClose:!1}))})),ife[e]??$sr}function Mor(e,t,r=null){let n=[],i=e.visit?s=>e.visit(s,r)||s.visit(e,r):s=>s.visit(e,r);return t.forEach(s=>{let R=i(s);R&&n.push(R)}),n}function x2n(e,t){if(t!=null&&!(Array.isArray(t)&&t.length==2))throw new Error(`Expected '${e}' to be an array, [start, end].`);if(t!=null){let r=t[0],n=t[1];d2n.forEach(i=>{if(i.test(r)||i.test(n))throw new Error(`['${r}', '${n}'] contains unusable interpolation symbol.`)})}}function y2n(e,t,r,n={}){let i=new A2n(new Nor(e,t),r,n);return i.tokenize(),new k2n(D2n(i.tokens),i.errors,i.nonNormalizedIcuExpressions)}function vae(e){return`Unexpected character "${e===0?"EOF":String.fromCharCode(e)}"`}function wsr(e){return`Unknown entity "${e}" - use the "&#;" or "&#x;" syntax`}function C2n(e,t){return`Unable to parse entity "${t}" - ${e} character reference entities must end with ";"`}function qx(e){return!n5e(e)||e===0}function Psr(e){return n5e(e)||e===62||e===60||e===47||e===39||e===34||e===61||e===0}function g2n(e){return(e<97||12257)}function b2n(e){return e===59||e===0||!$xn(e)}function E2n(e){return e===59||e===0||!i5e(e)}function O2n(e){return e!==125}function v2n(e,t){return Bsr(e)===Bsr(t)}function Bsr(e){return e>=97&&e<=122?e-97+65:e}function Isr(e){return i5e(e)||Hqt(e)||e===95}function Msr(e){return e!==59&&qx(e)}function D2n(e){let t=[],r;for(let n=0;n0&&e[e.length-1]===t}function Usr(e,t){return o5e[t]!==void 0?o5e[t]||e:/^#x[a-f0-9]+$/i.test(t)?String.fromCodePoint(parseInt(t.slice(2),16)):/^#\d+$/.test(t)?String.fromCodePoint(parseInt(t.slice(1),10)):e}function Fsr(e,t={}){let{canSelfClose:r=!1,allowHtmComponentClosingTags:n=!1,isTagNameCaseSensitive:i=!1,getTagContentType:s,tokenizeAngularBlocks:R=!1,tokenizeAngularLetDeclaration:l=!1}=t;return P2n().parse(e,"angular-html-parser",{tokenizeExpansionForms:R,interpolationConfig:void 0,canSelfClose:r,allowHtmComponentClosingTags:n,tokenizeBlocks:R,tokenizeLet:l},i,s)}function B2n(e,t){let r=new SyntaxError(e+" ("+t.loc.start.line+":"+t.loc.start.column+")");return Object.assign(r,t)}function M2n(e){let t=e.slice(0,afe);if(t!=="---"&&t!=="+++")return;let r=e.indexOf(` +`,afe);if(r===-1)return;let n=e.slice(afe,r).trim(),i=e.indexOf(` +${t}`,r),s=n;if(s||(s=t==="+++"?"toml":"yaml"),i===-1&&t==="---"&&s==="yaml"&&(i=e.indexOf(` +...`,r)),i===-1)return;let R=i+1+afe,l=e.charAt(R+1);if(!/\s?/u.test(l))return;let c=e.slice(0,R);return{type:"front-matter",language:s,explicitLanguage:n,value:e.slice(r+1,i),startDelimiter:t,endDelimiter:c.slice(-afe),raw:c}}function W2n(e){let t=M2n(e);if(!t)return{content:e};let{raw:r}=t;return{frontMatter:t,content:yA(!1,r,/[^\n]/gu," ")+e.slice(r.length)}}function L2n(e,t){let r=e.map(t);return r.some((n,i)=>n!==e[i])?r:e}function H2n(e,t){if(e.value)for(let{regex:r,parse:n}of z2n){let i=e.value.match(r);if(i)return n(e,t,i)}return null}function Y2n(e,t,r){let[,n,i,s]=r,R=4+n.length,l=e.sourceSpan.start.moveBy(R),c=l.moveBy(s.length),[h,_]=(()=>{try{return[!0,t(s,l).children]}catch{return[!1,[{type:"text",value:s,sourceSpan:new OR(l,c)}]]}})();return{type:"ieConditionalComment",complete:h,children:_,condition:yA(!1,i.trim(),/\s+/gu," "),sourceSpan:e.sourceSpan,startSourceSpan:new OR(e.sourceSpan.start,l),endSourceSpan:new OR(c,e.sourceSpan.end)}}function K2n(e,t,r){let[,n]=r;return{type:"ieConditionalStartComment",condition:yA(!1,n.trim(),/\s+/gu," "),sourceSpan:e.sourceSpan}}function G2n(e){return{type:"ieConditionalEndComment",sourceSpan:e.sourceSpan}}function j2n(e){if(e.type==="block"){if(e.name=yA(!1,e.name.toLowerCase(),/\s+/gu," ").trim(),e.type="angularControlFlowBlock",!Wqt(e.parameters)){delete e.parameters;return}for(let t of e.parameters)t.type="angularControlFlowBlockParameter";e.parameters={type:"angularControlFlowBlockParameters",children:e.parameters,sourceSpan:new OR(e.parameters[0].sourceSpan.start,u5e(!1,e.parameters,-1).sourceSpan.end)}}}function J2n(e){e.type==="letDeclaration"&&(e.type="angularLetDeclaration",e.id=e.name,e.init={type:"angularLetDeclarationInitializer",sourceSpan:new OR(e.valueSpan.start,e.valueSpan.end),value:e.value},delete e.name,delete e.value)}function X2n(e){(e.type==="plural"||e.type==="select")&&(e.clause=e.type,e.type="angularIcuExpression"),e.type==="expansionCase"&&(e.type="angularIcuCase")}function Hor(e,t,r){let{name:n,canSelfClose:i=!0,normalizeTagName:s=!1,normalizeAttributeName:R=!1,allowHtmComponentClosingTags:l=!1,isTagNameCaseSensitive:c=!1,shouldParseAsRawText:h}=t,{rootNodes:_,errors:f}=Fsr(e,{canSelfClose:i,allowHtmComponentClosingTags:l,isTagNameCaseSensitive:c,getTagContentType:h?(...P)=>h(...P)?RO.RAW_TEXT:void 0:void 0,tokenizeAngularBlocks:n==="angular"?!0:void 0,tokenizeAngularLetDeclaration:n==="angular"?!0:void 0});if(n==="vue"){if(_.some(w=>w.type==="docType"&&w.value==="html"||w.type==="element"&&w.name.toLowerCase()==="html"))return Hor(e,Kor,r);let P,M=()=>P??(P=Fsr(e,{canSelfClose:i,allowHtmComponentClosingTags:l,isTagNameCaseSensitive:c})),U=w=>M().rootNodes.find(({startSourceSpan:F})=>F&&F.start.offset===w.startSourceSpan.start.offset)??w;for(let[w,F]of _.entries()){let{endSourceSpan:H,startSourceSpan:G}=F;if(H===null)f=M().errors,_[w]=U(F);else if(Z2n(F,r)){let ee=M().errors.find(fe=>fe.span.start.offset>G.start.offset&&fe.span.start.offset0&&zsr(f[0]);let m=P=>{let M=P.name.startsWith(":")?P.name.slice(1).split(":")[0]:null,U=P.nameSpan.toString(),w=M!==null&&U.startsWith(`${M}:`),F=w?U.slice(M.length+1):U;P.name=F,P.namespace=M,P.hasExplicitNamespace=w},x=P=>{switch(P.type){case"element":m(P);for(let M of P.attrs)m(M),M.valueSpan?(M.value=M.valueSpan.toString(),/["']/u.test(M.value[0])&&(M.value=M.value.slice(1,-1))):M.value=null;break;case"comment":P.value=P.sourceSpan.toString().slice(4,-3);break;case"text":P.value=P.sourceSpan.toString();break}},y=(P,M)=>{let U=P.toLowerCase();return M(U)?U:P},A=P=>{if(P.type==="element"&&(s&&(!P.namespace||P.namespace===P.tagDefinition.implicitNamespacePrefix||lfe(P))&&(P.name=y(P.name,M=>V2n.has(M))),R))for(let M of P.attrs)M.namespace||(M.name=y(M.name,U=>yqt.has(P.name)&&(yqt.get("*").has(U)||yqt.get(P.name).has(U))))},D=P=>{P.sourceSpan&&P.endSourceSpan&&(P.sourceSpan=new OR(P.sourceSpan.start,P.endSourceSpan.end))},S=P=>{if(P.type==="element"){let M=gqt(c?P.name:P.name.toLowerCase());!P.namespace||P.namespace===M.implicitNamespacePrefix||lfe(P)?P.tagDefinition=M:P.tagDefinition=gqt("")}};return Mor(new class extends h2n{visitExpansionCase(P,M){n==="angular"&&this.visitChildren(M,U=>{U(P.expression)})}visit(P){x(P),S(P),A(P),D(P)}},_),_}function Z2n(e,t){var r;if(e.type!=="element"||e.name!=="template")return!1;let n=(r=e.attrs.find(i=>i.name==="lang"))==null?void 0:r.value;return!n||T5e(t,{language:n})==="html"}function zsr(e){let{msg:t,span:{start:r,end:n}}=e;throw I2n(t,{loc:{start:{line:r.line+1,column:r.col+1},end:{line:n.line+1,column:n.col+1}},cause:e})}function Yor(e,t,r={},n=!0){let{frontMatter:i,content:s}=n?U2n(e):{frontMatter:null,content:e},R=new Nor(e,r.filepath),l=new Aqt(R,0,0,0),c=l.moveBy(e.length),h={type:"root",sourceSpan:new OR(l,c),children:Hor(s,t,r)};if(i){let m=new Aqt(R,0,0,0),x=m.moveBy(i.raw.length);i.sourceSpan=new OR(m,x),h.children.unshift(i)}let _=new F2n(h),f=(m,x)=>{let{offset:y}=x,A=yA(!1,e.slice(0,y),/[^\n\r]/gu," "),D=Yor(A+m,t,r,!1);D.sourceSpan=new OR(x,u5e(!1,D.children,-1).sourceSpan.end);let S=D.children[0];return S.length===y?D.children.shift():(S.sourceSpan=new OR(S.sourceSpan.start.moveBy(y),S.sourceSpan.end),S.value=S.value.slice(y)),D};return _.walk(m=>{if(m.type==="comment"){let x=H2n(m,f);x&&m.parent.replaceChild(m,x)}j2n(m),J2n(m),X2n(m)}),_}function x5e(e){return{parse:(t,r)=>Yor(t,e,r),hasPragma:Cxn,astFormat:"html",locStart:_fe,locEnd:hfe}}var hfn,Hsr,Ysr,Ksr,xW,ffn,dfn,Gsr,xfn,yA,Vsr,jsr,Jsr,Oqt,vqt,Xsr,Dqt,Sqt,$qt,Qqt,Zsr,eor,Sae,tor,Nqt,ror,nor,kfn,qfn,Cfn,ior,fX,wqt,Tfe,Efn,Ofn,$7,py,Ep,vfn,Dfn,u5e,VCe,_sr,$fn,oO,Nfn,wfn,Pfn,Bfn,MD,Ifn,Mfn,l5e,Ufn,Ffn,Lfn,Hfn,Kfn,Gfn,T5e,Jfn,Xfn,Zfn,edn,lfe,rdn,uor,ndn,Adn,Aor,Odn,vdn,Ddn,$dn,Ndn,wdn,Pdn,Bdn,Idn,xsr,Mdn,Udn,gor,Ldn,Hdn,fqt,Mqt,txn,ixn,Eor,Oor,Wqt,msr,Dor,Txn,_xn,rfe,hxn,xxn,mxn,kxn,yxn,qxn,gxn,Qxn,Aqt,Nor,OR,a5e,wor,wxn,Gxn,jxn,Jxn,Por,ysr,qsr,Xxn,Bor,Kqt,fhi,Csr,Asr,gsr,bsr,Esr,hX,Osr,RO,t5e,Zxn,e2n,t2n,r2n,n2n,i2n,Ior,a2n,s2n,sR,$sr,ife,wae,R2n,u2n,l2n,c2n,T2n,mW,p2n,_2n,Oae,Qsr,Nsr,h2n,o5e,f2n,d2n,m2n,Uor,xqt,k2n,q2n,R5e,mqt,A2n,For,S2n,Gqt,Q4,$2n,Q2n,N2n,w2n,kqt,P2n,I2n,afe,U2n,ZCe,Lsr,F2n,z2n,yqt,V2n,Kor,e7n,t7n,r7n,n7n,Gor,i7n,jor=mp(()=>{hfn=Object.defineProperty,Hsr=e=>{throw TypeError(e)},Ysr=(e,t)=>{for(var r in t)hfn(e,r,{get:t[r],enumerable:!0})},Ksr=(e,t,r)=>t.has(e)||Hsr("Cannot "+r),xW=(e,t,r)=>(Ksr(e,t,"read from private field"),r?r.call(e):t.get(e)),ffn=(e,t,r)=>t.has(e)?Hsr("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),dfn=(e,t,r,n)=>(Ksr(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),Gsr={};Ysr(Gsr,{languages:()=>Por,options:()=>Bor,parsers:()=>Kqt,printers:()=>Gor});xfn=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},yA=xfn,Vsr="string",jsr="array",Jsr="cursor",Oqt="indent",vqt="align",Xsr="trim",Dqt="group",Sqt="fill",$qt="if-break",Qqt="indent-if-break",Zsr="line-suffix",eor="line-suffix-boundary",Sae="line",tor="label",Nqt="break-parent",ror=new Set([Jsr,Oqt,vqt,Xsr,Dqt,Sqt,$qt,Qqt,Zsr,eor,Sae,tor,Nqt]);nor=mfn,kfn=e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e);qfn=class extends Error{name="InvalidDocError";constructor(e){super(yfn(e)),this.doc=e}},Cfn=qfn,ior=()=>{},fX=ior,wqt=ior;Tfe={type:Nqt},Efn={type:Sae,hard:!0},Ofn={type:Sae,hard:!0,literal:!0},$7={type:Sae},py={type:Sae,soft:!0},Ep=[Efn,Tfe],vfn=[Ofn,Tfe];Dfn=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},u5e=Dfn;VCe="'",_sr='"';$fn=Sfn;Nfn=class{constructor(e){ffn(this,oO),dfn(this,oO,new Set(e))}getLeadingWhitespaceCount(e){let t=xW(this,oO),r=0;for(let n=0;n=0&&t.has(e.charAt(n));n--)r++;return r}getLeadingWhitespace(e){let t=this.getLeadingWhitespaceCount(e);return e.slice(0,t)}getTrailingWhitespace(e){let t=this.getTrailingWhitespaceCount(e);return e.slice(e.length-t)}hasLeadingWhitespace(e){return xW(this,oO).has(e.charAt(0))}hasTrailingWhitespace(e){return xW(this,oO).has(u5e(!1,e,-1))}trimStart(e){let t=this.getLeadingWhitespaceCount(e);return e.slice(t)}trimEnd(e){let t=this.getTrailingWhitespaceCount(e);return e.slice(0,e.length-t)}trim(e){return this.trimEnd(this.trimStart(e))}split(e,t=!1){let r=`[${Qfn([...xW(this,oO)].join(""))}]+`,n=new RegExp(t?`(${r})`:r,"u");return e.split(n)}hasWhitespaceCharacter(e){let t=xW(this,oO);return Array.prototype.some.call(e,r=>t.has(r))}hasNonWhitespaceCharacter(e){let t=xW(this,oO);return Array.prototype.some.call(e,r=>!t.has(r))}isWhitespaceOnly(e){let t=xW(this,oO);return Array.prototype.every.call(e,r=>t.has(r))}};oO=new WeakMap;wfn=Nfn,Pfn=[" ",` +`,"\f","\r"," "],Bfn=new wfn(Pfn),MD=Bfn,Ifn=class extends Error{name="UnexpectedNodeError";constructor(e,t,r="type"){super(`Unexpected ${t} node ${r}: ${JSON.stringify(e[r])}.`),this.node=e}},Mfn=Ifn;l5e=Wfn,Ufn=new Set(["sourceSpan","startSourceSpan","endSourceSpan","nameSpan","valueSpan","keySpan","tagDefinition","tokens","valueTokens","switchValueSourceSpan","expSourceSpan","valueSourceSpan"]),Ffn=new Set(["if","else if","for","switch","case"]);Ror.ignoredProperties=Ufn;Lfn=Ror;Hfn=zfn;Kfn=Yfn,Gfn=e=>String(e).split(/[/\\]/u).pop();T5e=jfn,Jfn="inline",Xfn={area:"none",base:"none",basefont:"none",datalist:"none",head:"none",link:"none",meta:"none",noembed:"none",noframes:"none",param:"block",rp:"none",script:"block",style:"none",template:"inline",title:"none",html:"block",body:"block",address:"block",blockquote:"block",center:"block",dialog:"block",div:"block",figure:"block",figcaption:"block",footer:"block",form:"block",header:"block",hr:"block",legend:"block",listing:"block",main:"block",p:"block",plaintext:"block",pre:"block",search:"block",xmp:"block",slot:"contents",ruby:"ruby",rt:"ruby-text",article:"block",aside:"block",h1:"block",h2:"block",h3:"block",h4:"block",h5:"block",h6:"block",hgroup:"block",nav:"block",section:"block",dir:"block",dd:"block",dl:"block",dt:"block",menu:"block",ol:"block",ul:"block",li:"list-item",table:"table",caption:"table-caption",colgroup:"table-column-group",col:"table-column",thead:"table-header-group",tbody:"table-row-group",tfoot:"table-footer-group",tr:"table-row",td:"table-cell",th:"table-cell",input:"inline-block",button:"inline-block",fieldset:"block",details:"block",summary:"block",marquee:"inline-block",source:"block",track:"block",meter:"inline-block",progress:"inline-block",object:"inline-block",video:"inline-block",audio:"inline-block",select:"inline-block",option:"block",optgroup:"block"},Zfn="normal",edn={listing:"pre",plaintext:"pre",pre:"pre",xmp:"pre",nobr:"nowrap",table:"initial",textarea:"pre-wrap"};lfe=tdn,rdn=e=>yA(!1,e,/^[\t\f\r ]*\n/gu,""),uor=e=>rdn(MD.trimEnd(e)),ndn=e=>{let t=e,r=MD.getLeadingWhitespace(t);r&&(t=t.slice(r.length));let n=MD.getTrailingWhitespace(t);return n&&(t=t.slice(0,-n.length)),{leadingWhitespace:r,trailingWhitespace:n,text:t}};Adn=new Set(["template","style","script"]);Aor=/\{\{(.+?)\}\}/su;Odn=Iqt({parser:"__ng_action"}),vdn=Iqt({parser:"__ng_binding"}),Ddn=Iqt({parser:"__ng_directive"});$dn=Sdn;Ndn=Qdn;wdn=/^[ \t\n\r\u000c]+/,Pdn=/^[, \t\n\r\u000c]+/,Bdn=/^[^ \t\n\r\u000c]+/,Idn=/[,]+$/,xsr=/^\d+$/,Mdn=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/;Udn=Wdn;gor={width:"w",height:"h",density:"x"},Ldn=Object.keys(gor);Hdn=Fdn;fqt=new WeakMap;Mqt=Kdn;txn=Xdn;ixn=rxn,Eor=new Proxy(()=>{},{get:()=>Eor}),Oor=Eor;Wqt=axn;msr="0&&t<0;)if(i--,t++,r.charCodeAt(i)==10){s--;let l=r.substring(0,i-1).lastIndexOf(` +`);R=l>0?i-l:i}else R--;for(;i0;){let l=r.charCodeAt(i);i++,t--,l==10?(s++,R=0):R++}return new Qor(this.file,i,s,R)}getContext(t,r){let n=this.file.content,i=this.offset;if(i!=null){i>n.length-1&&(i=n.length-1);let s=i,R=0,l=0;for(;R0&&(i--,R++,!(n[i]==` +`&&++l==r)););for(R=0,l=0;R]${e.after}")`:this.msg}toString(){let e=this.span.details?`, ${this.span.details}`:"";return`${this.contextualMessage()}: ${this.span.start}${e}`}},wxn=[Bxn,Ixn,Wxn,Fxn,Lxn,Yxn,zxn,Hxn,Kxn,Uxn];Gxn=Pxn;jxn={preprocess:Gxn,print:Vxn,insertPragma:Axn,massageAstNode:Lfn,embed:_xn,getVisitorKeys:qxn},Jxn=jxn,Por=[{linguistLanguageId:146,name:"Angular",type:"markup",tmScope:"text.html.basic",aceMode:"html",codemirrorMode:"htmlmixed",codemirrorMimeType:"text/html",color:"#e34c26",aliases:["xhtml"],extensions:[".component.html"],parsers:["angular"],vscodeLanguageIds:["html"],filenames:[]},{linguistLanguageId:146,name:"HTML",type:"markup",tmScope:"text.html.basic",aceMode:"html",codemirrorMode:"htmlmixed",codemirrorMimeType:"text/html",color:"#e34c26",aliases:["xhtml"],extensions:[".html",".hta",".htm",".html.hl",".inc",".xht",".xhtml",".mjml"],parsers:["html"],vscodeLanguageIds:["html"]},{linguistLanguageId:146,name:"Lightning Web Components",type:"markup",tmScope:"text.html.basic",aceMode:"html",codemirrorMode:"htmlmixed",codemirrorMimeType:"text/html",color:"#e34c26",aliases:["xhtml"],extensions:[],parsers:["lwc"],vscodeLanguageIds:["html"],filenames:[]},{linguistLanguageId:391,name:"Vue",type:"markup",color:"#41b883",extensions:[".vue"],tmScope:"text.html.vue",aceMode:"html",parsers:["vue"],vscodeLanguageIds:["vue"]}],ysr={bracketSpacing:{category:"Common",type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},singleQuote:{category:"Common",type:"boolean",default:!1,description:"Use single quotes instead of double quotes."},proseWrap:{category:"Common",type:"choice",default:"preserve",description:"How to wrap prose.",choices:[{value:"always",description:"Wrap prose if it exceeds the print width."},{value:"never",description:"Do not wrap prose."},{value:"preserve",description:"Wrap prose as-is."}]},bracketSameLine:{category:"Common",type:"boolean",default:!1,description:"Put > of opening tags on the last line instead of on a new line."},singleAttributePerLine:{category:"Common",type:"boolean",default:!1,description:"Enforce single attribute per line in HTML, Vue and JSX."}},qsr="HTML",Xxn={bracketSameLine:ysr.bracketSameLine,htmlWhitespaceSensitivity:{category:qsr,type:"choice",default:"css",description:"How to handle whitespaces in HTML.",choices:[{value:"css",description:"Respect the default value of CSS display property."},{value:"strict",description:"Whitespaces are considered sensitive."},{value:"ignore",description:"Whitespaces are considered insensitive."}]},singleAttributePerLine:ysr.singleAttributePerLine,vueIndentScriptAndStyle:{category:qsr,type:"boolean",default:!1,description:"Indent script and style tags in Vue files."}},Bor=Xxn,Kqt={};Ysr(Kqt,{angular:()=>t7n,html:()=>e7n,lwc:()=>n7n,vue:()=>r7n});fhi=new RegExp(`(\\:not\\()|(([\\.\\#]?)[-\\w]+)|(?:\\[([-.\\w*\\\\$]+)(?:=(["']?)([^\\]"']*)\\5)?\\])|(\\))|(\\s*,\\s*)`,"g");(function(e){e[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom"})(Csr||(Csr={}));(function(e){e[e.OnPush=0]="OnPush",e[e.Default=1]="Default"})(Asr||(Asr={}));(function(e){e[e.None=0]="None",e[e.SignalBased=1]="SignalBased",e[e.HasDecoratorInputTransform=2]="HasDecoratorInputTransform"})(gsr||(gsr={}));bsr={name:"custom-elements"},Esr={name:"no-errors-schema"};(function(e){e[e.NONE=0]="NONE",e[e.HTML=1]="HTML",e[e.STYLE=2]="STYLE",e[e.SCRIPT=3]="SCRIPT",e[e.URL=4]="URL",e[e.RESOURCE_URL=5]="RESOURCE_URL"})(hX||(hX={}));(function(e){e[e.Error=0]="Error",e[e.Warning=1]="Warning",e[e.Ignore=2]="Ignore"})(Osr||(Osr={}));(function(e){e[e.RAW_TEXT=0]="RAW_TEXT",e[e.ESCAPABLE_RAW_TEXT=1]="ESCAPABLE_RAW_TEXT",e[e.PARSABLE_DATA=2]="PARSABLE_DATA"})(RO||(RO={}));Zxn=class{},e2n="boolean",t2n="number",r2n="string",n2n="object",i2n=["[Element]|textContent,%ariaAtomic,%ariaAutoComplete,%ariaBusy,%ariaChecked,%ariaColCount,%ariaColIndex,%ariaColSpan,%ariaCurrent,%ariaDescription,%ariaDisabled,%ariaExpanded,%ariaHasPopup,%ariaHidden,%ariaKeyShortcuts,%ariaLabel,%ariaLevel,%ariaLive,%ariaModal,%ariaMultiLine,%ariaMultiSelectable,%ariaOrientation,%ariaPlaceholder,%ariaPosInSet,%ariaPressed,%ariaReadOnly,%ariaRelevant,%ariaRequired,%ariaRoleDescription,%ariaRowCount,%ariaRowIndex,%ariaRowSpan,%ariaSelected,%ariaSetSize,%ariaSort,%ariaValueMax,%ariaValueMin,%ariaValueNow,%ariaValueText,%classList,className,elementTiming,id,innerHTML,*beforecopy,*beforecut,*beforepaste,*fullscreenchange,*fullscreenerror,*search,*webkitfullscreenchange,*webkitfullscreenerror,outerHTML,%part,#scrollLeft,#scrollTop,slot,*message,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored","[HTMLElement]^[Element]|accessKey,autocapitalize,!autofocus,contentEditable,dir,!draggable,enterKeyHint,!hidden,!inert,innerText,inputMode,lang,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate,virtualKeyboardPolicy","abbr,address,article,aside,b,bdi,bdo,cite,content,code,dd,dfn,dt,em,figcaption,figure,footer,header,hgroup,i,kbd,main,mark,nav,noscript,rb,rp,rt,rtc,ruby,s,samp,section,small,strong,sub,sup,u,var,wbr^[HTMLElement]|accessKey,autocapitalize,!autofocus,contentEditable,dir,!draggable,enterKeyHint,!hidden,innerText,inputMode,lang,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate,virtualKeyboardPolicy","media^[HTMLElement]|!autoplay,!controls,%controlsList,%crossOrigin,#currentTime,!defaultMuted,#defaultPlaybackRate,!disableRemotePlayback,!loop,!muted,*encrypted,*waitingforkey,#playbackRate,preload,!preservesPitch,src,%srcObject,#volume",":svg:^[HTMLElement]|!autofocus,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,%style,#tabIndex",":svg:graphics^:svg:|",":svg:animation^:svg:|*begin,*end,*repeat",":svg:geometry^:svg:|",":svg:componentTransferFunction^:svg:|",":svg:gradient^:svg:|",":svg:textContent^:svg:graphics|",":svg:textPositioning^:svg:textContent|","a^[HTMLElement]|charset,coords,download,hash,host,hostname,href,hreflang,name,password,pathname,ping,port,protocol,referrerPolicy,rel,%relList,rev,search,shape,target,text,type,username","area^[HTMLElement]|alt,coords,download,hash,host,hostname,href,!noHref,password,pathname,ping,port,protocol,referrerPolicy,rel,%relList,search,shape,target,username","audio^media|","br^[HTMLElement]|clear","base^[HTMLElement]|href,target","body^[HTMLElement]|aLink,background,bgColor,link,*afterprint,*beforeprint,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*messageerror,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,text,vLink","button^[HTMLElement]|!disabled,formAction,formEnctype,formMethod,!formNoValidate,formTarget,name,type,value","canvas^[HTMLElement]|#height,#width","content^[HTMLElement]|select","dl^[HTMLElement]|!compact","data^[HTMLElement]|value","datalist^[HTMLElement]|","details^[HTMLElement]|!open","dialog^[HTMLElement]|!open,returnValue","dir^[HTMLElement]|!compact","div^[HTMLElement]|align","embed^[HTMLElement]|align,height,name,src,type,width","fieldset^[HTMLElement]|!disabled,name","font^[HTMLElement]|color,face,size","form^[HTMLElement]|acceptCharset,action,autocomplete,encoding,enctype,method,name,!noValidate,target","frame^[HTMLElement]|frameBorder,longDesc,marginHeight,marginWidth,name,!noResize,scrolling,src","frameset^[HTMLElement]|cols,*afterprint,*beforeprint,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*messageerror,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,rows","hr^[HTMLElement]|align,color,!noShade,size,width","head^[HTMLElement]|","h1,h2,h3,h4,h5,h6^[HTMLElement]|align","html^[HTMLElement]|version","iframe^[HTMLElement]|align,allow,!allowFullscreen,!allowPaymentRequest,csp,frameBorder,height,loading,longDesc,marginHeight,marginWidth,name,referrerPolicy,%sandbox,scrolling,src,srcdoc,width","img^[HTMLElement]|align,alt,border,%crossOrigin,decoding,#height,#hspace,!isMap,loading,longDesc,lowsrc,name,referrerPolicy,sizes,src,srcset,useMap,#vspace,#width","input^[HTMLElement]|accept,align,alt,autocomplete,!checked,!defaultChecked,defaultValue,dirName,!disabled,%files,formAction,formEnctype,formMethod,!formNoValidate,formTarget,#height,!incremental,!indeterminate,max,#maxLength,min,#minLength,!multiple,name,pattern,placeholder,!readOnly,!required,selectionDirection,#selectionEnd,#selectionStart,#size,src,step,type,useMap,value,%valueAsDate,#valueAsNumber,#width","li^[HTMLElement]|type,#value","label^[HTMLElement]|htmlFor","legend^[HTMLElement]|align","link^[HTMLElement]|as,charset,%crossOrigin,!disabled,href,hreflang,imageSizes,imageSrcset,integrity,media,referrerPolicy,rel,%relList,rev,%sizes,target,type","map^[HTMLElement]|name","marquee^[HTMLElement]|behavior,bgColor,direction,height,#hspace,#loop,#scrollAmount,#scrollDelay,!trueSpeed,#vspace,width","menu^[HTMLElement]|!compact","meta^[HTMLElement]|content,httpEquiv,media,name,scheme","meter^[HTMLElement]|#high,#low,#max,#min,#optimum,#value","ins,del^[HTMLElement]|cite,dateTime","ol^[HTMLElement]|!compact,!reversed,#start,type","object^[HTMLElement]|align,archive,border,code,codeBase,codeType,data,!declare,height,#hspace,name,standby,type,useMap,#vspace,width","optgroup^[HTMLElement]|!disabled,label","option^[HTMLElement]|!defaultSelected,!disabled,label,!selected,text,value","output^[HTMLElement]|defaultValue,%htmlFor,name,value","p^[HTMLElement]|align","param^[HTMLElement]|name,type,value,valueType","picture^[HTMLElement]|","pre^[HTMLElement]|#width","progress^[HTMLElement]|#max,#value","q,blockquote,cite^[HTMLElement]|","script^[HTMLElement]|!async,charset,%crossOrigin,!defer,event,htmlFor,integrity,!noModule,%referrerPolicy,src,text,type","select^[HTMLElement]|autocomplete,!disabled,#length,!multiple,name,!required,#selectedIndex,#size,value","slot^[HTMLElement]|name","source^[HTMLElement]|#height,media,sizes,src,srcset,type,#width","span^[HTMLElement]|","style^[HTMLElement]|!disabled,media,type","caption^[HTMLElement]|align","th,td^[HTMLElement]|abbr,align,axis,bgColor,ch,chOff,#colSpan,headers,height,!noWrap,#rowSpan,scope,vAlign,width","col,colgroup^[HTMLElement]|align,ch,chOff,#span,vAlign,width","table^[HTMLElement]|align,bgColor,border,%caption,cellPadding,cellSpacing,frame,rules,summary,%tFoot,%tHead,width","tr^[HTMLElement]|align,bgColor,ch,chOff,vAlign","tfoot,thead,tbody^[HTMLElement]|align,ch,chOff,vAlign","template^[HTMLElement]|","textarea^[HTMLElement]|autocomplete,#cols,defaultValue,dirName,!disabled,#maxLength,#minLength,name,placeholder,!readOnly,!required,#rows,selectionDirection,#selectionEnd,#selectionStart,value,wrap","time^[HTMLElement]|dateTime","title^[HTMLElement]|text","track^[HTMLElement]|!default,kind,label,src,srclang","ul^[HTMLElement]|!compact,type","unknown^[HTMLElement]|","video^media|!disablePictureInPicture,#height,*enterpictureinpicture,*leavepictureinpicture,!playsInline,poster,#width",":svg:a^:svg:graphics|",":svg:animate^:svg:animation|",":svg:animateMotion^:svg:animation|",":svg:animateTransform^:svg:animation|",":svg:circle^:svg:geometry|",":svg:clipPath^:svg:graphics|",":svg:defs^:svg:graphics|",":svg:desc^:svg:|",":svg:discard^:svg:|",":svg:ellipse^:svg:geometry|",":svg:feBlend^:svg:|",":svg:feColorMatrix^:svg:|",":svg:feComponentTransfer^:svg:|",":svg:feComposite^:svg:|",":svg:feConvolveMatrix^:svg:|",":svg:feDiffuseLighting^:svg:|",":svg:feDisplacementMap^:svg:|",":svg:feDistantLight^:svg:|",":svg:feDropShadow^:svg:|",":svg:feFlood^:svg:|",":svg:feFuncA^:svg:componentTransferFunction|",":svg:feFuncB^:svg:componentTransferFunction|",":svg:feFuncG^:svg:componentTransferFunction|",":svg:feFuncR^:svg:componentTransferFunction|",":svg:feGaussianBlur^:svg:|",":svg:feImage^:svg:|",":svg:feMerge^:svg:|",":svg:feMergeNode^:svg:|",":svg:feMorphology^:svg:|",":svg:feOffset^:svg:|",":svg:fePointLight^:svg:|",":svg:feSpecularLighting^:svg:|",":svg:feSpotLight^:svg:|",":svg:feTile^:svg:|",":svg:feTurbulence^:svg:|",":svg:filter^:svg:|",":svg:foreignObject^:svg:graphics|",":svg:g^:svg:graphics|",":svg:image^:svg:graphics|decoding",":svg:line^:svg:geometry|",":svg:linearGradient^:svg:gradient|",":svg:mpath^:svg:|",":svg:marker^:svg:|",":svg:mask^:svg:|",":svg:metadata^:svg:|",":svg:path^:svg:geometry|",":svg:pattern^:svg:|",":svg:polygon^:svg:geometry|",":svg:polyline^:svg:geometry|",":svg:radialGradient^:svg:gradient|",":svg:rect^:svg:geometry|",":svg:svg^:svg:graphics|#currentScale,#zoomAndPan",":svg:script^:svg:|type",":svg:set^:svg:animation|",":svg:stop^:svg:|",":svg:style^:svg:|!disabled,media,title,type",":svg:switch^:svg:graphics|",":svg:symbol^:svg:|",":svg:tspan^:svg:textPositioning|",":svg:text^:svg:textPositioning|",":svg:textPath^:svg:textContent|",":svg:title^:svg:|",":svg:use^:svg:graphics|",":svg:view^:svg:|#zoomAndPan","data^[HTMLElement]|value","keygen^[HTMLElement]|!autofocus,challenge,!disabled,form,keytype,name","menuitem^[HTMLElement]|type,label,icon,!disabled,!checked,radiogroup,!default","summary^[HTMLElement]|","time^[HTMLElement]|dateTime",":svg:cursor^:svg:|",":math:^[HTMLElement]|!autofocus,nonce,*abort,*animationend,*animationiteration,*animationstart,*auxclick,*beforeinput,*beforematch,*beforetoggle,*beforexrselect,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contentvisibilityautostatechange,*contextlost,*contextmenu,*contextrestored,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*formdata,*gotpointercapture,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*lostpointercapture,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*paste,*pause,*play,*playing,*pointercancel,*pointerdown,*pointerenter,*pointerleave,*pointermove,*pointerout,*pointerover,*pointerrawupdate,*pointerup,*progress,*ratechange,*reset,*resize,*scroll,*scrollend,*securitypolicyviolation,*seeked,*seeking,*select,*selectionchange,*selectstart,*slotchange,*stalled,*submit,*suspend,*timeupdate,*toggle,*transitioncancel,*transitionend,*transitionrun,*transitionstart,*volumechange,*waiting,*webkitanimationend,*webkitanimationiteration,*webkitanimationstart,*webkittransitionend,*wheel,%style,#tabIndex",":math:math^:math:|",":math:maction^:math:|",":math:menclose^:math:|",":math:merror^:math:|",":math:mfenced^:math:|",":math:mfrac^:math:|",":math:mi^:math:|",":math:mmultiscripts^:math:|",":math:mn^:math:|",":math:mo^:math:|",":math:mover^:math:|",":math:mpadded^:math:|",":math:mphantom^:math:|",":math:mroot^:math:|",":math:mrow^:math:|",":math:ms^:math:|",":math:mspace^:math:|",":math:msqrt^:math:|",":math:mstyle^:math:|",":math:msub^:math:|",":math:msubsup^:math:|",":math:msup^:math:|",":math:mtable^:math:|",":math:mtd^:math:|",":math:mtext^:math:|",":math:mtr^:math:|",":math:munder^:math:|",":math:munderover^:math:|",":math:semantics^:math:|"],Ior=new Map(Object.entries({class:"className",for:"htmlFor",formaction:"formAction",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"})),a2n=Array.from(Ior).reduce((e,[t,r])=>(e.set(t,r),e),new Map),s2n=class extends Zxn{constructor(){super(),this._schema=new Map,this._eventSchema=new Map,i2n.forEach(e=>{let t=new Map,r=new Set,[n,i]=e.split("|"),s=i.split(","),[R,l]=n.split("^");R.split(",").forEach(h=>{this._schema.set(h.toLowerCase(),t),this._eventSchema.set(h.toLowerCase(),r)});let c=l&&this._schema.get(l.toLowerCase());if(c){for(let[h,_]of c)t.set(h,_);for(let h of this._eventSchema.get(l.toLowerCase()))r.add(h)}s.forEach(h=>{if(h.length>0)switch(h[0]){case"*":r.add(h.substring(1));break;case"!":t.set(h.substring(1),e2n);break;case"#":t.set(h.substring(1),t2n);break;case"%":t.set(h.substring(1),n2n);break;default:t.set(h,r2n)}})})}hasProperty(e,t,r){if(r.some(n=>n.name===Esr.name))return!0;if(e.indexOf("-")>-1){if(vsr(e)||Dsr(e))return!1;if(r.some(n=>n.name===bsr.name))return!0}return(this._schema.get(e.toLowerCase())||this._schema.get("unknown")).has(t)}hasElement(e,t){return t.some(r=>r.name===Esr.name)||e.indexOf("-")>-1&&(vsr(e)||Dsr(e)||t.some(r=>r.name===bsr.name))?!0:this._schema.has(e.toLowerCase())}securityContext(e,t,r){r&&(t=this.getMappedPropName(t)),e=e.toLowerCase(),t=t.toLowerCase();let n=Ssr()[e+"|"+t];return n||(n=Ssr()["*|"+t],n||hX.NONE)}getMappedPropName(e){return Ior.get(e)??e}getDefaultComponentElementName(){return"ng-component"}validateProperty(e){return e.toLowerCase().startsWith("on")?{error:!0,msg:`Binding to event property '${e}' is disallowed for security reasons, please use (${e.slice(2)})=... +If '${e}' is a directive input, make sure the directive is imported by the current module.`}:{error:!1}}validateAttribute(e){return e.toLowerCase().startsWith("on")?{error:!0,msg:`Binding to event attribute '${e}' is disallowed for security reasons, please use (${e.slice(2)})=...`}:{error:!1}}allKnownElementNames(){return Array.from(this._schema.keys())}allKnownAttributesOfElement(e){let t=this._schema.get(e.toLowerCase())||this._schema.get("unknown");return Array.from(t.keys()).map(r=>a2n.get(r)??r)}allKnownEventsOfElement(e){return Array.from(this._eventSchema.get(e.toLowerCase())??[])}normalizeAnimationStyleProperty(e){return Nxn(e)}normalizeAnimationStyleValue(e,t,r){let n="",i=r.toString().trim(),s=null;if(o2n(e)&&r!==0&&r!=="0")if(typeof r=="number")n="px";else{let R=r.match(/^[+-]?[\d\.]+([a-z]*)$/);R&&R[1].length==0&&(s=`Please provide a CSS unit value for ${t}:${r}`)}return{error:s,value:i+n}}};sR=class{constructor({closedByChildren:e,implicitNamespacePrefix:t,contentType:r=RO.PARSABLE_DATA,closedByParent:n=!1,isVoid:i=!1,ignoreFirstLf:s=!1,preventNamespaceInheritance:R=!1,canSelfClose:l=!1}={}){this.closedByChildren={},this.closedByParent=!1,e&&e.length>0&&e.forEach(c=>this.closedByChildren[c]=!0),this.isVoid=i,this.closedByParent=n||i,this.implicitNamespacePrefix=t||null,this.contentType=r,this.ignoreFirstLf=s,this.preventNamespaceInheritance=R,this.canSelfClose=l??i}isClosedByChild(e){return this.isVoid||e.toLowerCase()in this.closedByChildren}getContentType(e){return typeof this.contentType=="object"?(e===void 0?void 0:this.contentType[e])??this.contentType.default:this.contentType}};wae=class{constructor(e,t){this.sourceSpan=e,this.i18n=t}},R2n=class extends wae{constructor(e,t,r,n){super(t,n),this.value=e,this.tokens=r,this.type="text"}visit(e,t){return e.visitText(this,t)}},u2n=class extends wae{constructor(e,t,r,n){super(t,n),this.value=e,this.tokens=r,this.type="cdata"}visit(e,t){return e.visitCdata(this,t)}},l2n=class extends wae{constructor(e,t,r,n,i,s){super(n,s),this.switchValue=e,this.type=t,this.cases=r,this.switchValueSourceSpan=i}visit(e,t){return e.visitExpansion(this,t)}},c2n=class{constructor(e,t,r,n,i){this.value=e,this.expression=t,this.sourceSpan=r,this.valueSourceSpan=n,this.expSourceSpan=i,this.type="expansionCase"}visit(e,t){return e.visitExpansionCase(this,t)}},T2n=class extends wae{constructor(e,t,r,n,i,s,R){super(r,R),this.name=e,this.value=t,this.keySpan=n,this.valueSpan=i,this.valueTokens=s,this.type="attribute"}visit(e,t){return e.visitAttribute(this,t)}get nameSpan(){return this.keySpan}},mW=class extends wae{constructor(e,t,r,n,i,s=null,R=null,l){super(n,l),this.name=e,this.attrs=t,this.children=r,this.startSourceSpan=i,this.endSourceSpan=s,this.nameSpan=R,this.type="element"}visit(e,t){return e.visitElement(this,t)}},p2n=class{constructor(e,t){this.value=e,this.sourceSpan=t,this.type="comment"}visit(e,t){return e.visitComment(this,t)}},_2n=class{constructor(e,t){this.value=e,this.sourceSpan=t,this.type="docType"}visit(e,t){return e.visitDocType(this,t)}},Oae=class extends wae{constructor(e,t,r,n,i,s,R=null,l){super(n,l),this.name=e,this.parameters=t,this.children=r,this.nameSpan=i,this.startSourceSpan=s,this.endSourceSpan=R,this.type="block"}visit(e,t){return e.visitBlock(this,t)}},Qsr=class{constructor(e,t){this.expression=e,this.sourceSpan=t,this.type="blockParameter",this.startSourceSpan=null,this.endSourceSpan=null}visit(e,t){return e.visitBlockParameter(this,t)}},Nsr=class{constructor(e,t,r,n,i){this.name=e,this.value=t,this.sourceSpan=r,this.nameSpan=n,this.valueSpan=i,this.type="letDeclaration",this.startSourceSpan=null,this.endSourceSpan=null}visit(e,t){return e.visitLetDeclaration(this,t)}};h2n=class{constructor(){}visitElement(e,t){this.visitChildren(t,r=>{r(e.attrs),r(e.children)})}visitAttribute(e,t){}visitText(e,t){}visitCdata(e,t){}visitComment(e,t){}visitDocType(e,t){}visitExpansion(e,t){return this.visitChildren(t,r=>{r(e.cases)})}visitExpansionCase(e,t){}visitBlock(e,t){this.visitChildren(t,r=>{r(e.parameters),r(e.children)})}visitBlockParameter(e,t){}visitLetDeclaration(e,t){}visitChildren(e,t){let r=[],n=this;function i(s){s&&r.push(Mor(n,s,e))}return t(i),Array.prototype.concat.apply([],r)}},o5e={AElig:"\xC6",AMP:"&",amp:"&",Aacute:"\xC1",Abreve:"\u0102",Acirc:"\xC2",Acy:"\u0410",Afr:"\u{1D504}",Agrave:"\xC0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2A53",Aogon:"\u0104",Aopf:"\u{1D538}",ApplyFunction:"\u2061",af:"\u2061",Aring:"\xC5",angst:"\xC5",Ascr:"\u{1D49C}",Assign:"\u2254",colone:"\u2254",coloneq:"\u2254",Atilde:"\xC3",Auml:"\xC4",Backslash:"\u2216",setminus:"\u2216",setmn:"\u2216",smallsetminus:"\u2216",ssetmn:"\u2216",Barv:"\u2AE7",Barwed:"\u2306",doublebarwedge:"\u2306",Bcy:"\u0411",Because:"\u2235",becaus:"\u2235",because:"\u2235",Bernoullis:"\u212C",Bscr:"\u212C",bernou:"\u212C",Beta:"\u0392",Bfr:"\u{1D505}",Bopf:"\u{1D539}",Breve:"\u02D8",breve:"\u02D8",Bumpeq:"\u224E",HumpDownHump:"\u224E",bump:"\u224E",CHcy:"\u0427",COPY:"\xA9",copy:"\xA9",Cacute:"\u0106",Cap:"\u22D2",CapitalDifferentialD:"\u2145",DD:"\u2145",Cayleys:"\u212D",Cfr:"\u212D",Ccaron:"\u010C",Ccedil:"\xC7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010A",Cedilla:"\xB8",cedil:"\xB8",CenterDot:"\xB7",centerdot:"\xB7",middot:"\xB7",Chi:"\u03A7",CircleDot:"\u2299",odot:"\u2299",CircleMinus:"\u2296",ominus:"\u2296",CirclePlus:"\u2295",oplus:"\u2295",CircleTimes:"\u2297",otimes:"\u2297",ClockwiseContourIntegral:"\u2232",cwconint:"\u2232",CloseCurlyDoubleQuote:"\u201D",rdquo:"\u201D",rdquor:"\u201D",CloseCurlyQuote:"\u2019",rsquo:"\u2019",rsquor:"\u2019",Colon:"\u2237",Proportion:"\u2237",Colone:"\u2A74",Congruent:"\u2261",equiv:"\u2261",Conint:"\u222F",DoubleContourIntegral:"\u222F",ContourIntegral:"\u222E",conint:"\u222E",oint:"\u222E",Copf:"\u2102",complexes:"\u2102",Coproduct:"\u2210",coprod:"\u2210",CounterClockwiseContourIntegral:"\u2233",awconint:"\u2233",Cross:"\u2A2F",Cscr:"\u{1D49E}",Cup:"\u22D3",CupCap:"\u224D",asympeq:"\u224D",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040F",Dagger:"\u2021",ddagger:"\u2021",Darr:"\u21A1",Dashv:"\u2AE4",DoubleLeftTee:"\u2AE4",Dcaron:"\u010E",Dcy:"\u0414",Del:"\u2207",nabla:"\u2207",Delta:"\u0394",Dfr:"\u{1D507}",DiacriticalAcute:"\xB4",acute:"\xB4",DiacriticalDot:"\u02D9",dot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",dblac:"\u02DD",DiacriticalGrave:"`",grave:"`",DiacriticalTilde:"\u02DC",tilde:"\u02DC",Diamond:"\u22C4",diam:"\u22C4",diamond:"\u22C4",DifferentialD:"\u2146",dd:"\u2146",Dopf:"\u{1D53B}",Dot:"\xA8",DoubleDot:"\xA8",die:"\xA8",uml:"\xA8",DotDot:"\u20DC",DotEqual:"\u2250",doteq:"\u2250",esdot:"\u2250",DoubleDownArrow:"\u21D3",Downarrow:"\u21D3",dArr:"\u21D3",DoubleLeftArrow:"\u21D0",Leftarrow:"\u21D0",lArr:"\u21D0",DoubleLeftRightArrow:"\u21D4",Leftrightarrow:"\u21D4",hArr:"\u21D4",iff:"\u21D4",DoubleLongLeftArrow:"\u27F8",Longleftarrow:"\u27F8",xlArr:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",Longleftrightarrow:"\u27FA",xhArr:"\u27FA",DoubleLongRightArrow:"\u27F9",Longrightarrow:"\u27F9",xrArr:"\u27F9",DoubleRightArrow:"\u21D2",Implies:"\u21D2",Rightarrow:"\u21D2",rArr:"\u21D2",DoubleRightTee:"\u22A8",vDash:"\u22A8",DoubleUpArrow:"\u21D1",Uparrow:"\u21D1",uArr:"\u21D1",DoubleUpDownArrow:"\u21D5",Updownarrow:"\u21D5",vArr:"\u21D5",DoubleVerticalBar:"\u2225",par:"\u2225",parallel:"\u2225",shortparallel:"\u2225",spar:"\u2225",DownArrow:"\u2193",ShortDownArrow:"\u2193",darr:"\u2193",downarrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",duarr:"\u21F5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",leftharpoondown:"\u21BD",lhard:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",rhard:"\u21C1",rightharpoondown:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",top:"\u22A4",DownTeeArrow:"\u21A7",mapstodown:"\u21A7",Dscr:"\u{1D49F}",Dstrok:"\u0110",ENG:"\u014A",ETH:"\xD0",Eacute:"\xC9",Ecaron:"\u011A",Ecirc:"\xCA",Ecy:"\u042D",Edot:"\u0116",Efr:"\u{1D508}",Egrave:"\xC8",Element:"\u2208",in:"\u2208",isin:"\u2208",isinv:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25FB",EmptyVerySmallSquare:"\u25AB",Eogon:"\u0118",Eopf:"\u{1D53C}",Epsilon:"\u0395",Equal:"\u2A75",EqualTilde:"\u2242",eqsim:"\u2242",esim:"\u2242",Equilibrium:"\u21CC",rightleftharpoons:"\u21CC",rlhar:"\u21CC",Escr:"\u2130",expectation:"\u2130",Esim:"\u2A73",Eta:"\u0397",Euml:"\xCB",Exists:"\u2203",exist:"\u2203",ExponentialE:"\u2147",ee:"\u2147",exponentiale:"\u2147",Fcy:"\u0424",Ffr:"\u{1D509}",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",blacksquare:"\u25AA",squarf:"\u25AA",squf:"\u25AA",Fopf:"\u{1D53D}",ForAll:"\u2200",forall:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",GT:">",gt:">",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\u{1D50A}",Gg:"\u22D9",ggg:"\u22D9",Gopf:"\u{1D53E}",GreaterEqual:"\u2265",ge:"\u2265",geq:"\u2265",GreaterEqualLess:"\u22DB",gel:"\u22DB",gtreqless:"\u22DB",GreaterFullEqual:"\u2267",gE:"\u2267",geqq:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",gl:"\u2277",gtrless:"\u2277",GreaterSlantEqual:"\u2A7E",geqslant:"\u2A7E",ges:"\u2A7E",GreaterTilde:"\u2273",gsim:"\u2273",gtrsim:"\u2273",Gscr:"\u{1D4A2}",Gt:"\u226B",NestedGreaterGreater:"\u226B",gg:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",caron:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",Poincareplane:"\u210C",HilbertSpace:"\u210B",Hscr:"\u210B",hamilt:"\u210B",Hopf:"\u210D",quaternions:"\u210D",HorizontalLine:"\u2500",boxh:"\u2500",Hstrok:"\u0126",HumpEqual:"\u224F",bumpe:"\u224F",bumpeq:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacute:"\xCD",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Im:"\u2111",image:"\u2111",imagpart:"\u2111",Igrave:"\xCC",Imacr:"\u012A",ImaginaryI:"\u2148",ii:"\u2148",Int:"\u222C",Integral:"\u222B",int:"\u222B",Intersection:"\u22C2",bigcap:"\u22C2",xcap:"\u22C2",InvisibleComma:"\u2063",ic:"\u2063",InvisibleTimes:"\u2062",it:"\u2062",Iogon:"\u012E",Iopf:"\u{1D540}",Iota:"\u0399",Iscr:"\u2110",imagline:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\u{1D50D}",Jopf:"\u{1D541}",Jscr:"\u{1D4A5}",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\u{1D50E}",Kopf:"\u{1D542}",Kscr:"\u{1D4A6}",LJcy:"\u0409",LT:"<",lt:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Lscr:"\u2112",lagran:"\u2112",Larr:"\u219E",twoheadleftarrow:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",lang:"\u27E8",langle:"\u27E8",LeftArrow:"\u2190",ShortLeftArrow:"\u2190",larr:"\u2190",leftarrow:"\u2190",slarr:"\u2190",LeftArrowBar:"\u21E4",larrb:"\u21E4",LeftArrowRightArrow:"\u21C6",leftrightarrows:"\u21C6",lrarr:"\u21C6",LeftCeiling:"\u2308",lceil:"\u2308",LeftDoubleBracket:"\u27E6",lobrk:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",dharl:"\u21C3",downharpoonleft:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",lfloor:"\u230A",LeftRightArrow:"\u2194",harr:"\u2194",leftrightarrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",dashv:"\u22A3",LeftTeeArrow:"\u21A4",mapstoleft:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",vartriangleleft:"\u22B2",vltri:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",ltrie:"\u22B4",trianglelefteq:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",uharl:"\u21BF",upharpoonleft:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",leftharpoonup:"\u21BC",lharu:"\u21BC",LeftVectorBar:"\u2952",LessEqualGreater:"\u22DA",leg:"\u22DA",lesseqgtr:"\u22DA",LessFullEqual:"\u2266",lE:"\u2266",leqq:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",lg:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",leqslant:"\u2A7D",les:"\u2A7D",LessTilde:"\u2272",lesssim:"\u2272",lsim:"\u2272",Lfr:"\u{1D50F}",Ll:"\u22D8",Lleftarrow:"\u21DA",lAarr:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",longleftarrow:"\u27F5",xlarr:"\u27F5",LongLeftRightArrow:"\u27F7",longleftrightarrow:"\u27F7",xharr:"\u27F7",LongRightArrow:"\u27F6",longrightarrow:"\u27F6",xrarr:"\u27F6",Lopf:"\u{1D543}",LowerLeftArrow:"\u2199",swarr:"\u2199",swarrow:"\u2199",LowerRightArrow:"\u2198",searr:"\u2198",searrow:"\u2198",Lsh:"\u21B0",lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",NestedLessLess:"\u226A",ll:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mscr:"\u2133",phmmat:"\u2133",Mfr:"\u{1D510}",MinusPlus:"\u2213",mnplus:"\u2213",mp:"\u2213",Mopf:"\u{1D544}",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",ZeroWidthSpace:"\u200B",NewLine:` +`,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nbsp:"\xA0",Nopf:"\u2115",naturals:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",nequiv:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",npar:"\u2226",nparallel:"\u2226",nshortparallel:"\u2226",nspar:"\u2226",NotElement:"\u2209",notin:"\u2209",notinva:"\u2209",NotEqual:"\u2260",ne:"\u2260",NotEqualTilde:"\u2242\u0338",nesim:"\u2242\u0338",NotExists:"\u2204",nexist:"\u2204",nexists:"\u2204",NotGreater:"\u226F",ngt:"\u226F",ngtr:"\u226F",NotGreaterEqual:"\u2271",nge:"\u2271",ngeq:"\u2271",NotGreaterFullEqual:"\u2267\u0338",ngE:"\u2267\u0338",ngeqq:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",nGtv:"\u226B\u0338",NotGreaterLess:"\u2279",ntgl:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",NotGreaterTilde:"\u2275",ngsim:"\u2275",NotHumpDownHump:"\u224E\u0338",nbump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",nbumpe:"\u224F\u0338",NotLeftTriangle:"\u22EA",nltri:"\u22EA",ntriangleleft:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",nltrie:"\u22EC",ntrianglelefteq:"\u22EC",NotLess:"\u226E",nless:"\u226E",nlt:"\u226E",NotLessEqual:"\u2270",nle:"\u2270",nleq:"\u2270",NotLessGreater:"\u2278",ntlg:"\u2278",NotLessLess:"\u226A\u0338",nLtv:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",NotLessTilde:"\u2274",nlsim:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",npr:"\u2280",nprec:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",npre:"\u2AAF\u0338",npreceq:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",nprcue:"\u22E0",NotReverseElement:"\u220C",notni:"\u220C",notniva:"\u220C",NotRightTriangle:"\u22EB",nrtri:"\u22EB",ntriangleright:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",nrtrie:"\u22ED",ntrianglerighteq:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",nsqsube:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",nsqsupe:"\u22E3",NotSubset:"\u2282\u20D2",nsubset:"\u2282\u20D2",vnsub:"\u2282\u20D2",NotSubsetEqual:"\u2288",nsube:"\u2288",nsubseteq:"\u2288",NotSucceeds:"\u2281",nsc:"\u2281",nsucc:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",nsce:"\u2AB0\u0338",nsucceq:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",nsccue:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",nsupset:"\u2283\u20D2",vnsup:"\u2283\u20D2",NotSupersetEqual:"\u2289",nsupe:"\u2289",nsupseteq:"\u2289",NotTilde:"\u2241",nsim:"\u2241",NotTildeEqual:"\u2244",nsime:"\u2244",nsimeq:"\u2244",NotTildeFullEqual:"\u2247",ncong:"\u2247",NotTildeTilde:"\u2249",nap:"\u2249",napprox:"\u2249",NotVerticalBar:"\u2224",nmid:"\u2224",nshortmid:"\u2224",nsmid:"\u2224",Nscr:"\u{1D4A9}",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacute:"\xD3",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",ohm:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",ldquo:"\u201C",OpenCurlyQuote:"\u2018",lsquo:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslash:"\xD8",Otilde:"\xD5",Otimes:"\u2A37",Ouml:"\xD6",OverBar:"\u203E",oline:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",tbrk:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",part:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",plusmn:"\xB1",pm:"\xB1",Popf:"\u2119",primes:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",pr:"\u227A",prec:"\u227A",PrecedesEqual:"\u2AAF",pre:"\u2AAF",preceq:"\u2AAF",PrecedesSlantEqual:"\u227C",prcue:"\u227C",preccurlyeq:"\u227C",PrecedesTilde:"\u227E",precsim:"\u227E",prsim:"\u227E",Prime:"\u2033",Product:"\u220F",prod:"\u220F",Proportional:"\u221D",prop:"\u221D",propto:"\u221D",varpropto:"\u221D",vprop:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUOT:'"',quot:'"',Qfr:"\u{1D514}",Qopf:"\u211A",rationals:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",drbkarow:"\u2910",REG:"\xAE",circledR:"\xAE",reg:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",twoheadrightarrow:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",Rfr:"\u211C",real:"\u211C",realpart:"\u211C",ReverseElement:"\u220B",SuchThat:"\u220B",ni:"\u220B",niv:"\u220B",ReverseEquilibrium:"\u21CB",leftrightharpoons:"\u21CB",lrhar:"\u21CB",ReverseUpEquilibrium:"\u296F",duhar:"\u296F",Rho:"\u03A1",RightAngleBracket:"\u27E9",rang:"\u27E9",rangle:"\u27E9",RightArrow:"\u2192",ShortRightArrow:"\u2192",rarr:"\u2192",rightarrow:"\u2192",srarr:"\u2192",RightArrowBar:"\u21E5",rarrb:"\u21E5",RightArrowLeftArrow:"\u21C4",rightleftarrows:"\u21C4",rlarr:"\u21C4",RightCeiling:"\u2309",rceil:"\u2309",RightDoubleBracket:"\u27E7",robrk:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",dharr:"\u21C2",downharpoonright:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",rfloor:"\u230B",RightTee:"\u22A2",vdash:"\u22A2",RightTeeArrow:"\u21A6",map:"\u21A6",mapsto:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",vartriangleright:"\u22B3",vrtri:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",rtrie:"\u22B5",trianglerighteq:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",uharr:"\u21BE",upharpoonright:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",rharu:"\u21C0",rightharpoonup:"\u21C0",RightVectorBar:"\u2953",Ropf:"\u211D",reals:"\u211D",RoundImplies:"\u2970",Rrightarrow:"\u21DB",rAarr:"\u21DB",Rscr:"\u211B",realine:"\u211B",Rsh:"\u21B1",rsh:"\u21B1",RuleDelayed:"\u29F4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042C",Sacute:"\u015A",Sc:"\u2ABC",Scaron:"\u0160",Scedil:"\u015E",Scirc:"\u015C",Scy:"\u0421",Sfr:"\u{1D516}",ShortUpArrow:"\u2191",UpArrow:"\u2191",uarr:"\u2191",uparrow:"\u2191",Sigma:"\u03A3",SmallCircle:"\u2218",compfn:"\u2218",Sopf:"\u{1D54A}",Sqrt:"\u221A",radic:"\u221A",Square:"\u25A1",squ:"\u25A1",square:"\u25A1",SquareIntersection:"\u2293",sqcap:"\u2293",SquareSubset:"\u228F",sqsub:"\u228F",sqsubset:"\u228F",SquareSubsetEqual:"\u2291",sqsube:"\u2291",sqsubseteq:"\u2291",SquareSuperset:"\u2290",sqsup:"\u2290",sqsupset:"\u2290",SquareSupersetEqual:"\u2292",sqsupe:"\u2292",sqsupseteq:"\u2292",SquareUnion:"\u2294",sqcup:"\u2294",Sscr:"\u{1D4AE}",Star:"\u22C6",sstarf:"\u22C6",Sub:"\u22D0",Subset:"\u22D0",SubsetEqual:"\u2286",sube:"\u2286",subseteq:"\u2286",Succeeds:"\u227B",sc:"\u227B",succ:"\u227B",SucceedsEqual:"\u2AB0",sce:"\u2AB0",succeq:"\u2AB0",SucceedsSlantEqual:"\u227D",sccue:"\u227D",succcurlyeq:"\u227D",SucceedsTilde:"\u227F",scsim:"\u227F",succsim:"\u227F",Sum:"\u2211",sum:"\u2211",Sup:"\u22D1",Supset:"\u22D1",Superset:"\u2283",sup:"\u2283",supset:"\u2283",SupersetEqual:"\u2287",supe:"\u2287",supseteq:"\u2287",THORN:"\xDE",TRADE:"\u2122",trade:"\u2122",TSHcy:"\u040B",TScy:"\u0426",Tab:" ",Tau:"\u03A4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\u{1D517}",Therefore:"\u2234",there4:"\u2234",therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",thinsp:"\u2009",Tilde:"\u223C",sim:"\u223C",thicksim:"\u223C",thksim:"\u223C",TildeEqual:"\u2243",sime:"\u2243",simeq:"\u2243",TildeFullEqual:"\u2245",cong:"\u2245",TildeTilde:"\u2248",ap:"\u2248",approx:"\u2248",asymp:"\u2248",thickapprox:"\u2248",thkap:"\u2248",Topf:"\u{1D54B}",TripleDot:"\u20DB",tdot:"\u20DB",Tscr:"\u{1D4AF}",Tstrok:"\u0166",Uacute:"\xDA",Uarr:"\u219F",Uarrocir:"\u2949",Ubrcy:"\u040E",Ubreve:"\u016C",Ucirc:"\xDB",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\u{1D518}",Ugrave:"\xD9",Umacr:"\u016A",UnderBar:"_",lowbar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",bbrk:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",bigcup:"\u22C3",xcup:"\u22C3",UnionPlus:"\u228E",uplus:"\u228E",Uogon:"\u0172",Uopf:"\u{1D54C}",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",udarr:"\u21C5",UpDownArrow:"\u2195",updownarrow:"\u2195",varr:"\u2195",UpEquilibrium:"\u296E",udhar:"\u296E",UpTee:"\u22A5",bot:"\u22A5",bottom:"\u22A5",perp:"\u22A5",UpTeeArrow:"\u21A5",mapstoup:"\u21A5",UpperLeftArrow:"\u2196",nwarr:"\u2196",nwarrow:"\u2196",UpperRightArrow:"\u2197",nearr:"\u2197",nearrow:"\u2197",Upsi:"\u03D2",upsih:"\u03D2",Upsilon:"\u03A5",Uring:"\u016E",Uscr:"\u{1D4B0}",Utilde:"\u0168",Uuml:"\xDC",VDash:"\u22AB",Vbar:"\u2AEB",Vcy:"\u0412",Vdash:"\u22A9",Vdashl:"\u2AE6",Vee:"\u22C1",bigvee:"\u22C1",xvee:"\u22C1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",mid:"\u2223",shortmid:"\u2223",smid:"\u2223",VerticalLine:"|",verbar:"|",vert:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",wr:"\u2240",wreath:"\u2240",VeryThinSpace:"\u200A",hairsp:"\u200A",Vfr:"\u{1D519}",Vopf:"\u{1D54D}",Vscr:"\u{1D4B1}",Vvdash:"\u22AA",Wcirc:"\u0174",Wedge:"\u22C0",bigwedge:"\u22C0",xwedge:"\u22C0",Wfr:"\u{1D51A}",Wopf:"\u{1D54E}",Wscr:"\u{1D4B2}",Xfr:"\u{1D51B}",Xi:"\u039E",Xopf:"\u{1D54F}",Xscr:"\u{1D4B3}",YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacute:"\xDD",Ycirc:"\u0176",Ycy:"\u042B",Yfr:"\u{1D51C}",Yopf:"\u{1D550}",Yscr:"\u{1D4B4}",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",Zeta:"\u0396",Zfr:"\u2128",zeetrf:"\u2128",Zopf:"\u2124",integers:"\u2124",Zscr:"\u{1D4B5}",aacute:"\xE1",abreve:"\u0103",ac:"\u223E",mstpos:"\u223E",acE:"\u223E\u0333",acd:"\u223F",acirc:"\xE2",acy:"\u0430",aelig:"\xE6",afr:"\u{1D51E}",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",amacr:"\u0101",amalg:"\u2A3F",and:"\u2227",wedge:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",angle:"\u2220",ange:"\u29A4",angmsd:"\u2221",measuredangle:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angzarr:"\u237C",aogon:"\u0105",aopf:"\u{1D552}",apE:"\u2A70",apacir:"\u2A6F",ape:"\u224A",approxeq:"\u224A",apid:"\u224B",apos:"'",aring:"\xE5",ascr:"\u{1D4B6}",ast:"*",midast:"*",atilde:"\xE3",auml:"\xE4",awint:"\u2A11",bNot:"\u2AED",backcong:"\u224C",bcong:"\u224C",backepsilon:"\u03F6",bepsi:"\u03F6",backprime:"\u2035",bprime:"\u2035",backsim:"\u223D",bsim:"\u223D",backsimeq:"\u22CD",bsime:"\u22CD",barvee:"\u22BD",barwed:"\u2305",barwedge:"\u2305",bbrktbrk:"\u23B6",bcy:"\u0431",bdquo:"\u201E",ldquor:"\u201E",bemptyv:"\u29B0",beta:"\u03B2",beth:"\u2136",between:"\u226C",twixt:"\u226C",bfr:"\u{1D51F}",bigcirc:"\u25EF",xcirc:"\u25EF",bigodot:"\u2A00",xodot:"\u2A00",bigoplus:"\u2A01",xoplus:"\u2A01",bigotimes:"\u2A02",xotime:"\u2A02",bigsqcup:"\u2A06",xsqcup:"\u2A06",bigstar:"\u2605",starf:"\u2605",bigtriangledown:"\u25BD",xdtri:"\u25BD",bigtriangleup:"\u25B3",xutri:"\u25B3",biguplus:"\u2A04",xuplus:"\u2A04",bkarow:"\u290D",rbarr:"\u290D",blacklozenge:"\u29EB",lozf:"\u29EB",blacktriangle:"\u25B4",utrif:"\u25B4",blacktriangledown:"\u25BE",dtrif:"\u25BE",blacktriangleleft:"\u25C2",ltrif:"\u25C2",blacktriangleright:"\u25B8",rtrif:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bopf:"\u{1D553}",bowtie:"\u22C8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255D",boxUR:"\u255A",boxUl:"\u255C",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256C",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256B",boxVl:"\u2562",boxVr:"\u255F",boxbox:"\u29C9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250C",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252C",boxhu:"\u2534",boxminus:"\u229F",minusb:"\u229F",boxplus:"\u229E",plusb:"\u229E",boxtimes:"\u22A0",timesb:"\u22A0",boxuL:"\u255B",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256A",boxvL:"\u2561",boxvR:"\u255E",boxvh:"\u253C",boxvl:"\u2524",boxvr:"\u251C",brvbar:"\xA6",bscr:"\u{1D4B7}",bsemi:"\u204F",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bumpE:"\u2AAE",cacute:"\u0107",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",caps:"\u2229\uFE00",caret:"\u2041",ccaps:"\u2A4D",ccaron:"\u010D",ccedil:"\xE7",ccirc:"\u0109",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",cemptyv:"\u29B2",cent:"\xA2",cfr:"\u{1D520}",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",cir:"\u25CB",cirE:"\u29C3",circ:"\u02C6",circeq:"\u2257",cire:"\u2257",circlearrowleft:"\u21BA",olarr:"\u21BA",circlearrowright:"\u21BB",orarr:"\u21BB",circledS:"\u24C8",oS:"\u24C8",circledast:"\u229B",oast:"\u229B",circledcirc:"\u229A",ocir:"\u229A",circleddash:"\u229D",odash:"\u229D",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",clubs:"\u2663",clubsuit:"\u2663",colon:":",comma:",",commat:"@",comp:"\u2201",complement:"\u2201",congdot:"\u2A6D",copf:"\u{1D554}",copysr:"\u2117",crarr:"\u21B5",cross:"\u2717",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",curlyeqprec:"\u22DE",cuesc:"\u22DF",curlyeqsucc:"\u22DF",cularr:"\u21B6",curvearrowleft:"\u21B6",cularrp:"\u293D",cup:"\u222A",cupbrcap:"\u2A48",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curvearrowright:"\u21B7",curarrm:"\u293C",curlyvee:"\u22CE",cuvee:"\u22CE",curlywedge:"\u22CF",cuwed:"\u22CF",curren:"\xA4",cwint:"\u2231",cylcty:"\u232D",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",dash:"\u2010",hyphen:"\u2010",dbkarow:"\u290F",rBarr:"\u290F",dcaron:"\u010F",dcy:"\u0434",ddarr:"\u21CA",downdownarrows:"\u21CA",ddotseq:"\u2A77",eDDot:"\u2A77",deg:"\xB0",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",diamondsuit:"\u2666",diams:"\u2666",digamma:"\u03DD",gammad:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",dlcorn:"\u231E",llcorner:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",doteqdot:"\u2251",eDot:"\u2251",dotminus:"\u2238",minusd:"\u2238",dotplus:"\u2214",plusdo:"\u2214",dotsquare:"\u22A1",sdotb:"\u22A1",drcorn:"\u231F",lrcorner:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",dscy:"\u0455",dsol:"\u29F6",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",triangledown:"\u25BF",dwangle:"\u29A6",dzcy:"\u045F",dzigrarr:"\u27FF",eacute:"\xE9",easter:"\u2A6E",ecaron:"\u011B",ecir:"\u2256",eqcirc:"\u2256",ecirc:"\xEA",ecolon:"\u2255",eqcolon:"\u2255",ecy:"\u044D",edot:"\u0117",efDot:"\u2252",fallingdotseq:"\u2252",efr:"\u{1D522}",eg:"\u2A9A",egrave:"\xE8",egs:"\u2A96",eqslantgtr:"\u2A96",egsdot:"\u2A98",el:"\u2A99",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",eqslantless:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",varnothing:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014B",ensp:"\u2002",eogon:"\u0119",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",epsiv:"\u03F5",straightepsilon:"\u03F5",varepsilon:"\u03F5",equals:"=",equest:"\u225F",questeq:"\u225F",equivDD:"\u2A78",eqvparsl:"\u29E5",erDot:"\u2253",risingdotseq:"\u2253",erarr:"\u2971",escr:"\u212F",eta:"\u03B7",eth:"\xF0",euml:"\xEB",euro:"\u20AC",excl:"!",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",filig:"\uFB01",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",fork:"\u22D4",pitchfork:"\u22D4",forkv:"\u2AD9",fpartint:"\u2A0D",frac12:"\xBD",half:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",sfrown:"\u2322",fscr:"\u{1D4BB}",gEl:"\u2A8C",gtreqqless:"\u2A8C",gacute:"\u01F5",gamma:"\u03B3",gap:"\u2A86",gtrapprox:"\u2A86",gbreve:"\u011F",gcirc:"\u011D",gcy:"\u0433",gdot:"\u0121",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",gimel:"\u2137",gjcy:"\u0453",glE:"\u2A92",gla:"\u2AA5",glj:"\u2AA4",gnE:"\u2269",gneqq:"\u2269",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gneq:"\u2A88",gnsim:"\u22E7",gopf:"\u{1D558}",gscr:"\u210A",gsime:"\u2A8E",gsiml:"\u2A90",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtrdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrarr:"\u2978",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",hardcy:"\u044A",harrcir:"\u2948",harrw:"\u21AD",leftrightsquigarrow:"\u21AD",hbar:"\u210F",hslash:"\u210F",planck:"\u210F",plankv:"\u210F",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",mldr:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",hksearow:"\u2925",searhk:"\u2925",hkswarow:"\u2926",swarhk:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",larrhk:"\u21A9",hookrightarrow:"\u21AA",rarrhk:"\u21AA",hopf:"\u{1D559}",horbar:"\u2015",hscr:"\u{1D4BD}",hstrok:"\u0127",hybull:"\u2043",iacute:"\xED",icirc:"\xEE",icy:"\u0438",iecy:"\u0435",iexcl:"\xA1",ifr:"\u{1D526}",igrave:"\xEC",iiiint:"\u2A0C",qint:"\u2A0C",iiint:"\u222D",tint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012B",imath:"\u0131",inodot:"\u0131",imof:"\u22B7",imped:"\u01B5",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",intcal:"\u22BA",intercal:"\u22BA",intlarhk:"\u2A17",intprod:"\u2A3C",iprod:"\u2A3C",iocy:"\u0451",iogon:"\u012F",iopf:"\u{1D55A}",iota:"\u03B9",iquest:"\xBF",iscr:"\u{1D4BE}",isinE:"\u22F9",isindot:"\u22F5",isins:"\u22F4",isinsv:"\u22F3",itilde:"\u0129",iukcy:"\u0456",iuml:"\xEF",jcirc:"\u0135",jcy:"\u0439",jfr:"\u{1D527}",jmath:"\u0237",jopf:"\u{1D55B}",jscr:"\u{1D4BF}",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03BA",kappav:"\u03F0",varkappa:"\u03F0",kcedil:"\u0137",kcy:"\u043A",kfr:"\u{1D528}",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C",kopf:"\u{1D55C}",kscr:"\u{1D4C0}",lAtail:"\u291B",lBarr:"\u290E",lEg:"\u2A8B",lesseqqgtr:"\u2A8B",lHar:"\u2962",lacute:"\u013A",laemptyv:"\u29B4",lambda:"\u03BB",langd:"\u2991",lap:"\u2A85",lessapprox:"\u2A85",laquo:"\xAB",larrbfs:"\u291F",larrfs:"\u291D",larrlp:"\u21AB",looparrowleft:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",leftarrowtail:"\u21A2",lat:"\u2AAB",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lcub:"{",lbrack:"[",lsqb:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",lcedil:"\u013C",lcy:"\u043B",ldca:"\u2936",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",leq:"\u2264",leftleftarrows:"\u21C7",llarr:"\u21C7",leftthreetimes:"\u22CB",lthree:"\u22CB",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessdot:"\u22D6",ltdot:"\u22D6",lfisht:"\u297C",lfr:"\u{1D529}",lgE:"\u2A91",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnE:"\u2268",lneqq:"\u2268",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lneq:"\u2A87",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",longmapsto:"\u27FC",xmap:"\u27FC",looparrowright:"\u21AC",rarrlp:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",loz:"\u25CA",lozenge:"\u25CA",lpar:"(",lparlt:"\u2993",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",lsime:"\u2A8D",lsimg:"\u2A8F",lsquor:"\u201A",sbquo:"\u201A",lstrok:"\u0142",ltcc:"\u2AA6",ltcir:"\u2A79",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltrPar:"\u2996",ltri:"\u25C3",triangleleft:"\u25C3",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",mDDot:"\u223A",macr:"\xAF",strns:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",mdash:"\u2014",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",midcir:"\u2AF0",minus:"\u2212",minusdu:"\u2A2A",mlcp:"\u2ADB",models:"\u22A7",mopf:"\u{1D55E}",mscr:"\u{1D4C2}",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nGg:"\u22D9\u0338",nGt:"\u226B\u20D2",nLeftarrow:"\u21CD",nlArr:"\u21CD",nLeftrightarrow:"\u21CE",nhArr:"\u21CE",nLl:"\u22D8\u0338",nLt:"\u226A\u20D2",nRightarrow:"\u21CF",nrArr:"\u21CF",nVDash:"\u22AF",nVdash:"\u22AE",nacute:"\u0144",nang:"\u2220\u20D2",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",natur:"\u266E",natural:"\u266E",ncap:"\u2A43",ncaron:"\u0148",ncedil:"\u0146",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",ndash:"\u2013",neArr:"\u21D7",nearhk:"\u2924",nedot:"\u2250\u0338",nesear:"\u2928",toea:"\u2928",nfr:"\u{1D52B}",nharr:"\u21AE",nleftrightarrow:"\u21AE",nhpar:"\u2AF2",nis:"\u22FC",nisd:"\u22FA",njcy:"\u045A",nlE:"\u2266\u0338",nleqq:"\u2266\u0338",nlarr:"\u219A",nleftarrow:"\u219A",nldr:"\u2025",nopf:"\u{1D55F}",not:"\xAC",notinE:"\u22F9\u0338",notindot:"\u22F5\u0338",notinvb:"\u22F7",notinvc:"\u22F6",notnivb:"\u22FE",notnivc:"\u22FD",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",nrarr:"\u219B",nrightarrow:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nscr:"\u{1D4C3}",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsubseteqq:"\u2AC5\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupseteqq:"\u2AC6\u0338",ntilde:"\xF1",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22AD",nvHarr:"\u2904",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwArr:"\u21D6",nwarhk:"\u2923",nwnear:"\u2927",oacute:"\xF3",ocirc:"\xF4",ocy:"\u043E",odblac:"\u0151",odiv:"\u2A38",odsold:"\u29BC",oelig:"\u0153",ofcir:"\u29BF",ofr:"\u{1D52C}",ogon:"\u02DB",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",olcir:"\u29BE",olcross:"\u29BB",olt:"\u29C0",omacr:"\u014D",omega:"\u03C9",omicron:"\u03BF",omid:"\u29B6",oopf:"\u{1D560}",opar:"\u29B7",operp:"\u29B9",or:"\u2228",vee:"\u2228",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",oscr:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oslash:"\xF8",osol:"\u2298",otilde:"\xF5",otimesas:"\u2A36",ouml:"\xF6",ovbar:"\u233D",para:"\xB6",parsim:"\u2AF3",parsl:"\u2AFD",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",pertenk:"\u2031",pfr:"\u{1D52D}",phi:"\u03C6",phiv:"\u03D5",straightphi:"\u03D5",varphi:"\u03D5",phone:"\u260E",pi:"\u03C0",piv:"\u03D6",varpi:"\u03D6",planckh:"\u210E",plus:"+",plusacir:"\u2A23",pluscir:"\u2A22",plusdu:"\u2A25",pluse:"\u2A72",plussim:"\u2A26",plustwo:"\u2A27",pointint:"\u2A15",popf:"\u{1D561}",pound:"\xA3",prE:"\u2AB3",prap:"\u2AB7",precapprox:"\u2AB7",precnapprox:"\u2AB9",prnap:"\u2AB9",precneqq:"\u2AB5",prnE:"\u2AB5",precnsim:"\u22E8",prnsim:"\u22E8",prime:"\u2032",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prurel:"\u22B0",pscr:"\u{1D4C5}",psi:"\u03C8",puncsp:"\u2008",qfr:"\u{1D52E}",qopf:"\u{1D562}",qprime:"\u2057",qscr:"\u{1D4C6}",quatint:"\u2A16",quest:"?",rAtail:"\u291C",rHar:"\u2964",race:"\u223D\u0331",racute:"\u0155",raemptyv:"\u29B3",rangd:"\u2992",range:"\u29A5",raquo:"\xBB",rarrap:"\u2975",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",rightarrowtail:"\u21A3",rarrw:"\u219D",rightsquigarrow:"\u219D",ratail:"\u291A",ratio:"\u2236",rbbrk:"\u2773",rbrace:"}",rcub:"}",rbrack:"]",rsqb:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdsh:"\u21B3",rect:"\u25AD",rfisht:"\u297D",rfr:"\u{1D52F}",rharul:"\u296C",rho:"\u03C1",rhov:"\u03F1",varrho:"\u03F1",rightrightarrows:"\u21C9",rrarr:"\u21C9",rightthreetimes:"\u22CC",rthree:"\u22CC",ring:"\u02DA",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",ropar:"\u2986",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rsaquo:"\u203A",rscr:"\u{1D4C7}",rtimes:"\u22CA",rtri:"\u25B9",triangleright:"\u25B9",rtriltri:"\u29CE",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",scE:"\u2AB4",scap:"\u2AB8",succapprox:"\u2AB8",scaron:"\u0161",scedil:"\u015F",scirc:"\u015D",scnE:"\u2AB6",succneqq:"\u2AB6",scnap:"\u2ABA",succnapprox:"\u2ABA",scnsim:"\u22E9",succnsim:"\u22E9",scpolint:"\u2A13",scy:"\u0441",sdot:"\u22C5",sdote:"\u2A66",seArr:"\u21D8",sect:"\xA7",semi:";",seswar:"\u2929",tosa:"\u2929",sext:"\u2736",sfr:"\u{1D530}",sharp:"\u266F",shchcy:"\u0449",shcy:"\u0448",shy:"\xAD",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",varsigma:"\u03C2",simdot:"\u2A6A",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",smashp:"\u2A33",smeparsl:"\u29E4",smile:"\u2323",ssmile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",sqcaps:"\u2293\uFE00",sqcups:"\u2294\uFE00",sscr:"\u{1D4C8}",star:"\u2606",sub:"\u2282",subset:"\u2282",subE:"\u2AC5",subseteqq:"\u2AC5",subdot:"\u2ABD",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subsetneqq:"\u2ACB",subne:"\u228A",subsetneq:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",supE:"\u2AC6",supseteqq:"\u2AC6",supdot:"\u2ABE",supdsub:"\u2AD8",supedot:"\u2AC4",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supsetneqq:"\u2ACC",supne:"\u228B",supsetneq:"\u228B",supplus:"\u2AC0",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swArr:"\u21D9",swnwar:"\u292A",szlig:"\xDF",target:"\u2316",tau:"\u03C4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",telrec:"\u2315",tfr:"\u{1D531}",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",vartheta:"\u03D1",thorn:"\xFE",times:"\xD7",timesbar:"\u2A31",timesd:"\u2A30",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",topfork:"\u2ADA",tprime:"\u2034",triangle:"\u25B5",utri:"\u25B5",triangleq:"\u225C",trie:"\u225C",tridot:"\u25EC",triminus:"\u2A3A",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",tscy:"\u0446",tshcy:"\u045B",tstrok:"\u0167",uHar:"\u2963",uacute:"\xFA",ubrcy:"\u045E",ubreve:"\u016D",ucirc:"\xFB",ucy:"\u0443",udblac:"\u0171",ufisht:"\u297E",ufr:"\u{1D532}",ugrave:"\xF9",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",uogon:"\u0173",uopf:"\u{1D566}",upsi:"\u03C5",upsilon:"\u03C5",upuparrows:"\u21C8",uuarr:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",urtri:"\u25F9",uscr:"\u{1D4CA}",utdot:"\u22F0",utilde:"\u0169",uuml:"\xFC",uwangle:"\u29A7",vBar:"\u2AE8",vBarv:"\u2AE9",vangrt:"\u299C",varsubsetneq:"\u228A\uFE00",vsubne:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",vsubnE:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",vsupne:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vsupnE:"\u2ACC\uFE00",vcy:"\u0432",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",vfr:"\u{1D533}",vopf:"\u{1D567}",vscr:"\u{1D4CB}",vzigzag:"\u299A",wcirc:"\u0175",wedbar:"\u2A5F",wedgeq:"\u2259",weierp:"\u2118",wp:"\u2118",wfr:"\u{1D534}",wopf:"\u{1D568}",wscr:"\u{1D4CC}",xfr:"\u{1D535}",xi:"\u03BE",xnis:"\u22FB",xopf:"\u{1D569}",xscr:"\u{1D4CD}",yacute:"\xFD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",yen:"\xA5",yfr:"\u{1D536}",yicy:"\u0457",yopf:"\u{1D56A}",yscr:"\u{1D4CE}",yucy:"\u044E",yuml:"\xFF",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeta:"\u03B6",zfr:"\u{1D537}",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"},f2n="\uE500";o5e.ngsp=f2n;d2n=[/@/,/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//];m2n=class Wor{static fromArray(t){return t?(x2n("interpolation",t),new Wor(t[0],t[1])):Uor}constructor(t,r){this.start=t,this.end=r}},Uor=new m2n("{{","}}"),xqt=class extends wor{constructor(e,t,r){super(r,e),this.tokenType=t}},k2n=class{constructor(e,t,r){this.tokens=e,this.errors=t,this.nonNormalizedIcuExpressions=r}};q2n=/\r\n?/g;(function(e){e.HEX="hexadecimal",e.DEC="decimal"})(R5e||(R5e={}));mqt=class{constructor(e){this.error=e}},A2n=class{constructor(e,t,r){this._getTagContentType=t,this._currentTokenStart=null,this._currentTokenType=null,this._expansionCaseStack=[],this._inInterpolation=!1,this._fullNameStack=[],this.tokens=[],this.errors=[],this.nonNormalizedIcuExpressions=[],this._tokenizeIcu=r.tokenizeExpansionForms||!1,this._interpolationConfig=r.interpolationConfig||Uor,this._leadingTriviaCodePoints=r.leadingTriviaChars&&r.leadingTriviaChars.map(i=>i.codePointAt(0)||0),this._canSelfClose=r.canSelfClose||!1,this._allowHtmComponentClosingTags=r.allowHtmComponentClosingTags||!1;let n=r.range||{endPos:e.content.length,startPos:0,startLine:0,startCol:0};this._cursor=r.escapedString?new S2n(e,n):new For(e,n),this._preserveLineEndings=r.preserveLineEndings||!1,this._i18nNormalizeLineEndingsInICUs=r.i18nNormalizeLineEndingsInICUs||!1,this._tokenizeBlocks=r.tokenizeBlocks??!0,this._tokenizeLet=r.tokenizeLet??!0;try{this._cursor.init()}catch(i){this.handleError(i)}}_processCarriageReturns(e){return this._preserveLineEndings?e:e.replace(q2n,` +`)}tokenize(){for(;this._cursor.peek()!==0;){let e=this._cursor.clone();try{if(this._attemptCharCode(60))if(this._attemptCharCode(33))this._attemptStr("[CDATA[")?this._consumeCdata(e):this._attemptStr("--")?this._consumeComment(e):this._attemptStrCaseInsensitive("doctype")?this._consumeDocType(e):this._consumeBogusComment(e);else if(this._attemptCharCode(47))this._consumeTagClose(e);else{let t=this._cursor.clone();this._attemptCharCode(63)?(this._cursor=t,this._consumeBogusComment(e)):this._consumeTagOpen(e)}else this._tokenizeLet&&this._cursor.peek()===64&&!this._inInterpolation&&this._attemptStr("@let")?this._consumeLetDeclaration(e):this._tokenizeBlocks&&this._attemptCharCode(64)?this._consumeBlockStart(e):this._tokenizeBlocks&&!this._inInterpolation&&!this._isInExpansionCase()&&!this._isInExpansionForm()&&this._attemptCharCode(125)?this._consumeBlockEnd(e):this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeWithInterpolation(5,8,()=>this._isTextEnd(),()=>this._isTagStart())}catch(t){this.handleError(t)}}this._beginToken(34),this._endToken([])}_getBlockName(){let e=!1,t=this._cursor.clone();return this._attemptCharCodeUntilFn(r=>n5e(r)?!e:Isr(r)?(e=!0,!1):!0),this._cursor.getChars(t).trim()}_consumeBlockStart(e){this._beginToken(25,e);let t=this._endToken([this._getBlockName()]);if(this._cursor.peek()===40)if(this._cursor.advance(),this._consumeBlockParameters(),this._attemptCharCodeUntilFn(qx),this._attemptCharCode(41))this._attemptCharCodeUntilFn(qx);else{t.type=29;return}this._attemptCharCode(123)?(this._beginToken(26),this._endToken([])):t.type=29}_consumeBlockEnd(e){this._beginToken(27,e),this._endToken([])}_consumeBlockParameters(){for(this._attemptCharCodeUntilFn(Msr);this._cursor.peek()!==41&&this._cursor.peek()!==0;){this._beginToken(28);let e=this._cursor.clone(),t=null,r=0;for(;this._cursor.peek()!==59&&this._cursor.peek()!==0||t!==null;){let n=this._cursor.peek();if(n===92)this._cursor.advance();else if(n===t)t=null;else if(t===null&&dqt(n))t=n;else if(n===40&&t===null)r++;else if(n===41&&t===null){if(r===0)break;r>0&&r--}this._cursor.advance()}this._endToken([this._cursor.getChars(e)]),this._attemptCharCodeUntilFn(Msr)}}_consumeLetDeclaration(e){if(this._beginToken(30,e),n5e(this._cursor.peek()))this._attemptCharCodeUntilFn(qx);else{let r=this._endToken([this._cursor.getChars(e)]);r.type=33;return}let t=this._endToken([this._getLetDeclarationName()]);if(this._attemptCharCodeUntilFn(qx),!this._attemptCharCode(61)){t.type=33;return}this._attemptCharCodeUntilFn(r=>qx(r)&&!Yqt(r)),this._consumeLetDeclarationValue(),this._cursor.peek()===59?(this._beginToken(32),this._endToken([]),this._cursor.advance()):(t.type=33,t.sourceSpan=this._cursor.getSpan(e))}_getLetDeclarationName(){let e=this._cursor.clone(),t=!1;return this._attemptCharCodeUntilFn(r=>i5e(r)||r===36||r===95||t&&Hqt(r)?(t=!0,!1):!0),this._cursor.getChars(e).trim()}_consumeLetDeclarationValue(){let e=this._cursor.clone();for(this._beginToken(31,e);this._cursor.peek()!==0;){let t=this._cursor.peek();if(t===59)break;dqt(t)&&(this._cursor.advance(),this._attemptCharCodeUntilFn(r=>r===92?(this._cursor.advance(),!1):r===t)),this._cursor.advance()}this._endToken([this._cursor.getChars(e)])}_tokenizeExpansionForm(){if(this.isExpansionFormStart())return this._consumeExpansionFormStart(),!0;if(O2n(this._cursor.peek())&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;if(this._cursor.peek()===125){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return!1}_beginToken(e,t=this._cursor.clone()){this._currentTokenStart=t,this._currentTokenType=e}_endToken(e,t){if(this._currentTokenStart===null)throw new xqt("Programming error - attempted to end a token when there was no start to the token",this._currentTokenType,this._cursor.getSpan(t));if(this._currentTokenType===null)throw new xqt("Programming error - attempted to end a token which has no token type",null,this._cursor.getSpan(this._currentTokenStart));let r={type:this._currentTokenType,parts:e,sourceSpan:(t??this._cursor).getSpan(this._currentTokenStart,this._leadingTriviaCodePoints)};return this.tokens.push(r),this._currentTokenStart=null,this._currentTokenType=null,r}_createError(e,t){this._isInExpansionForm()&&(e+=` (Do you have an unescaped "{" in your template? Use "{{ '{' }}") to escape it.)`);let r=new xqt(e,this._currentTokenType,t);return this._currentTokenStart=null,this._currentTokenType=null,new mqt(r)}handleError(e){if(e instanceof Gqt&&(e=this._createError(e.msg,this._cursor.getSpan(e.cursor))),e instanceof mqt)this.errors.push(e.error);else throw e}_attemptCharCode(e){return this._cursor.peek()===e?(this._cursor.advance(),!0):!1}_attemptCharCodeCaseInsensitive(e){return v2n(this._cursor.peek(),e)?(this._cursor.advance(),!0):!1}_requireCharCode(e){let t=this._cursor.clone();if(!this._attemptCharCode(e))throw this._createError(vae(this._cursor.peek()),this._cursor.getSpan(t))}_attemptStr(e){let t=e.length;if(this._cursor.charsLeft()this._attemptStr("-->")),this._beginToken(11),this._requireStr("-->"),this._endToken([])}_consumeBogusComment(e){this._beginToken(10,e),this._endToken([]),this._consumeRawText(!1,()=>this._cursor.peek()===62),this._beginToken(11),this._cursor.advance(),this._endToken([])}_consumeCdata(e){this._beginToken(12,e),this._endToken([]),this._consumeRawText(!1,()=>this._attemptStr("]]>")),this._beginToken(13),this._requireStr("]]>"),this._endToken([])}_consumeDocType(e){this._beginToken(18,e),this._endToken([]),this._consumeRawText(!1,()=>this._cursor.peek()===62),this._beginToken(19),this._cursor.advance(),this._endToken([])}_consumePrefixAndName(){let e=this._cursor.clone(),t="";for(;this._cursor.peek()!==58&&!g2n(this._cursor.peek());)this._cursor.advance();let r;this._cursor.peek()===58?(t=this._cursor.getChars(e),this._cursor.advance(),r=this._cursor.clone()):r=e,this._requireCharCodeUntilFn(Psr,t===""?0:1);let n=this._cursor.getChars(r);return[t,n]}_consumeTagOpen(e){let t,r,n,i=[];try{if(!i5e(this._cursor.peek()))throw this._createError(vae(this._cursor.peek()),this._cursor.getSpan(e));for(n=this._consumeTagOpenStart(e),r=n.parts[0],t=n.parts[1],this._attemptCharCodeUntilFn(qx);this._cursor.peek()!==47&&this._cursor.peek()!==62&&this._cursor.peek()!==60&&this._cursor.peek()!==0;){let[R,l]=this._consumeAttributeName();if(this._attemptCharCodeUntilFn(qx),this._attemptCharCode(61)){this._attemptCharCodeUntilFn(qx);let c=this._consumeAttributeValue();i.push({prefix:R,name:l,value:c})}else i.push({prefix:R,name:l});this._attemptCharCodeUntilFn(qx)}this._consumeTagOpenEnd()}catch(R){if(R instanceof mqt){n?n.type=4:(this._beginToken(5,e),this._endToken(["<"]));return}throw R}if(this._canSelfClose&&this.tokens[this.tokens.length-1].type===2)return;let s=this._getTagContentType(t,r,this._fullNameStack.length>0,i);this._handleFullNameStackForTagOpen(r,t),s===RO.RAW_TEXT?this._consumeRawTextWithTagClose(r,t,!1):s===RO.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(r,t,!0)}_consumeRawTextWithTagClose(e,t,r){this._consumeRawText(r,()=>!this._attemptCharCode(60)||!this._attemptCharCode(47)||(this._attemptCharCodeUntilFn(qx),!this._attemptStrCaseInsensitive(e?`${e}:${t}`:t))?!1:(this._attemptCharCodeUntilFn(qx),this._attemptCharCode(62))),this._beginToken(3),this._requireCharCodeUntilFn(n=>n===62,3),this._cursor.advance(),this._endToken([e,t]),this._handleFullNameStackForTagClose(e,t)}_consumeTagOpenStart(e){this._beginToken(0,e);let t=this._consumePrefixAndName();return this._endToken(t)}_consumeAttributeName(){let e=this._cursor.peek();if(e===39||e===34)throw this._createError(vae(e),this._cursor.getSpan());this._beginToken(14);let t=this._consumePrefixAndName();return this._endToken(t),t}_consumeAttributeValue(){let e;if(this._cursor.peek()===39||this._cursor.peek()===34){let t=this._cursor.peek();this._consumeQuote(t);let r=()=>this._cursor.peek()===t;e=this._consumeWithInterpolation(16,17,r,r),this._consumeQuote(t)}else{let t=()=>Psr(this._cursor.peek());e=this._consumeWithInterpolation(16,17,t,t)}return e}_consumeQuote(e){this._beginToken(15),this._requireCharCode(e),this._endToken([String.fromCodePoint(e)])}_consumeTagOpenEnd(){let e=this._attemptCharCode(47)?2:1;this._beginToken(e),this._requireCharCode(62),this._endToken([])}_consumeTagClose(e){if(this._beginToken(3,e),this._attemptCharCodeUntilFn(qx),this._allowHtmComponentClosingTags&&this._attemptCharCode(47))this._attemptCharCodeUntilFn(qx),this._requireCharCode(62),this._endToken([]);else{let[t,r]=this._consumePrefixAndName();this._attemptCharCodeUntilFn(qx),this._requireCharCode(62),this._endToken([t,r]),this._handleFullNameStackForTagClose(t,r)}}_consumeExpansionFormStart(){this._beginToken(20),this._requireCharCode(123),this._endToken([]),this._expansionCaseStack.push(20),this._beginToken(7);let e=this._readUntil(44),t=this._processCarriageReturns(e);if(this._i18nNormalizeLineEndingsInICUs)this._endToken([t]);else{let n=this._endToken([e]);t!==e&&this.nonNormalizedIcuExpressions.push(n)}this._requireCharCode(44),this._attemptCharCodeUntilFn(qx),this._beginToken(7);let r=this._readUntil(44);this._endToken([r]),this._requireCharCode(44),this._attemptCharCodeUntilFn(qx)}_consumeExpansionCaseStart(){this._beginToken(21);let e=this._readUntil(123).trim();this._endToken([e]),this._attemptCharCodeUntilFn(qx),this._beginToken(22),this._requireCharCode(123),this._endToken([]),this._attemptCharCodeUntilFn(qx),this._expansionCaseStack.push(22)}_consumeExpansionCaseEnd(){this._beginToken(23),this._requireCharCode(125),this._endToken([]),this._attemptCharCodeUntilFn(qx),this._expansionCaseStack.pop()}_consumeExpansionFormEnd(){this._beginToken(24),this._requireCharCode(125),this._endToken([]),this._expansionCaseStack.pop()}_consumeWithInterpolation(e,t,r,n){this._beginToken(e);let i=[];for(;!r();){let R=this._cursor.clone();this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(this._endToken([this._processCarriageReturns(i.join(""))],R),i.length=0,this._consumeInterpolation(t,R,n),this._beginToken(e)):this._cursor.peek()===38?(this._endToken([this._processCarriageReturns(i.join(""))]),i.length=0,this._consumeEntity(e),this._beginToken(e)):i.push(this._readChar())}this._inInterpolation=!1;let s=this._processCarriageReturns(i.join(""));return this._endToken([s]),s}_consumeInterpolation(e,t,r){let n=[];this._beginToken(e,t),n.push(this._interpolationConfig.start);let i=this._cursor.clone(),s=null,R=!1;for(;this._cursor.peek()!==0&&(r===null||!r());){let l=this._cursor.clone();if(this._isTagStart()){this._cursor=l,n.push(this._getProcessedChars(i,l)),this._endToken(n);return}if(s===null)if(this._attemptStr(this._interpolationConfig.end)){n.push(this._getProcessedChars(i,l)),n.push(this._interpolationConfig.end),this._endToken(n);return}else this._attemptStr("//")&&(R=!0);let c=this._cursor.peek();this._cursor.advance(),c===92?this._cursor.advance():c===s?s=null:!R&&s===null&&dqt(c)&&(s=c)}n.push(this._getProcessedChars(i,this._cursor)),this._endToken(n)}_getProcessedChars(e,t){return this._processCarriageReturns(t.getChars(e))}_isTextEnd(){return!!(this._isTagStart()||this._cursor.peek()===0||this._tokenizeIcu&&!this._inInterpolation&&(this.isExpansionFormStart()||this._cursor.peek()===125&&this._isInExpansionCase())||this._tokenizeBlocks&&!this._inInterpolation&&!this._isInExpansion()&&(this._isBlockStart()||this._cursor.peek()===64||this._cursor.peek()===125))}_isTagStart(){if(this._cursor.peek()===60){let e=this._cursor.clone();e.advance();let t=e.peek();if(97<=t&&t<=122||65<=t&&t<=90||t===47||t===33)return!0}return!1}_isBlockStart(){if(this._tokenizeBlocks&&this._cursor.peek()===64){let e=this._cursor.clone();if(e.advance(),Isr(e.peek()))return!0}return!1}_readUntil(e){let t=this._cursor.clone();return this._attemptUntilChar(e),this._cursor.getChars(t)}_isInExpansion(){return this._isInExpansionCase()||this._isInExpansionForm()}_isInExpansionCase(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===22}_isInExpansionForm(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===20}isExpansionFormStart(){if(this._cursor.peek()!==123)return!1;if(this._interpolationConfig){let e=this._cursor.clone(),t=this._attemptStr(this._interpolationConfig.start);return this._cursor=e,!t}return!0}_handleFullNameStackForTagOpen(e,t){let r=s5e(e,t);(this._fullNameStack.length===0||this._fullNameStack[this._fullNameStack.length-1]===r)&&this._fullNameStack.push(r)}_handleFullNameStackForTagClose(e,t){let r=s5e(e,t);this._fullNameStack.length!==0&&this._fullNameStack[this._fullNameStack.length-1]===r&&this._fullNameStack.pop()}};For=class bqt{constructor(t,r){if(t instanceof bqt){this.file=t.file,this.input=t.input,this.end=t.end;let n=t.state;this.state={peek:n.peek,offset:n.offset,line:n.line,column:n.column}}else{if(!r)throw new Error("Programming error: the range argument must be provided with a file argument.");this.file=t,this.input=t.content,this.end=r.endPos,this.state={peek:-1,offset:r.startPos,line:r.startLine,column:r.startCol}}}clone(){return new bqt(this)}peek(){return this.state.peek}charsLeft(){return this.end-this.state.offset}diff(t){return this.state.offset-t.state.offset}advance(){this.advanceState(this.state)}init(){this.updatePeek(this.state)}getSpan(t,r){t=t||this;let n=t;if(r)for(;this.diff(t)>0&&r.indexOf(t.peek())!==-1;)n===t&&(t=t.clone()),t.advance();let i=this.locationFromCursor(t),s=this.locationFromCursor(this),R=n!==t?this.locationFromCursor(n):i;return new OR(i,s,R)}getChars(t){return this.input.substring(t.state.offset,this.state.offset)}charAt(t){return this.input.charCodeAt(t)}advanceState(t){if(t.offset>=this.end)throw this.state=t,new Gqt('Unexpected character "EOF"',this);let r=this.charAt(t.offset);r===10?(t.line++,t.column=0):Yqt(r)||t.column++,t.offset++,this.updatePeek(t)}updatePeek(t){t.peek=t.offset>=this.end?0:this.charAt(t.offset)}locationFromCursor(t){return new Aqt(t.file,t.state.offset,t.state.line,t.state.column)}},S2n=class Eqt extends For{constructor(t,r){t instanceof Eqt?(super(t),this.internalState={...t.internalState}):(super(t,r),this.internalState=this.state)}advance(){this.state=this.internalState,super.advance(),this.processEscapeSequence()}init(){super.init(),this.processEscapeSequence()}clone(){return new Eqt(this)}getChars(t){let r=t.clone(),n="";for(;r.internalState.offsetthis.internalState.peek;if(t()===92)if(this.internalState={...this.state},this.advanceState(this.internalState),t()===110)this.state.peek=10;else if(t()===114)this.state.peek=13;else if(t()===118)this.state.peek=11;else if(t()===116)this.state.peek=9;else if(t()===98)this.state.peek=8;else if(t()===102)this.state.peek=12;else if(t()===117)if(this.advanceState(this.internalState),t()===123){this.advanceState(this.internalState);let r=this.clone(),n=0;for(;t()!==125;)this.advanceState(this.internalState),n++;this.state.peek=this.decodeHexDigits(r,n)}else{let r=this.clone();this.advanceState(this.internalState),this.advanceState(this.internalState),this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(r,4)}else if(t()===120){this.advanceState(this.internalState);let r=this.clone();this.advanceState(this.internalState),this.state.peek=this.decodeHexDigits(r,2)}else if(ksr(t())){let r="",n=0,i=this.clone();for(;ksr(t())&&n<3;)i=this.clone(),r+=String.fromCodePoint(t()),this.advanceState(this.internalState),n++;this.state.peek=parseInt(r,8),this.internalState=i.internalState}else Yqt(this.internalState.peek)?(this.advanceState(this.internalState),this.state=this.internalState):this.state.peek=this.internalState.peek}decodeHexDigits(t,r){let n=this.input.slice(t.internalState.offset,t.internalState.offset+r),i=parseInt(n,16);if(isNaN(i))throw t.state=t.internalState,new Gqt("Invalid hexadecimal escape sequence",t);return i}},Gqt=class{constructor(e,t){this.msg=e,this.cursor=t}},Q4=class Lor extends wor{static create(t,r,n){return new Lor(t,r,n)}constructor(t,r,n){super(r,n),this.elementName=t}},$2n=class{constructor(e,t){this.rootNodes=e,this.errors=t}},Q2n=class{constructor(e){this.getTagDefinition=e}parse(e,t,r,n=!1,i){let s=x=>(y,...A)=>x(y.toLowerCase(),...A),R=n?this.getTagDefinition:s(this.getTagDefinition),l=x=>R(x).getContentType(),c=n?i:s(i),h=y2n(e,t,i?(x,y,A,D)=>{let S=c(x,y,A,D);return S!==void 0?S:l(x)}:l,r),_=r&&r.canSelfClose||!1,f=r&&r.allowHtmComponentClosingTags||!1,m=new N2n(h.tokens,R,_,f,n);return m.build(),new $2n(m.rootNodes,h.errors.concat(m.errors))}},N2n=class zor{constructor(t,r,n,i,s){this.tokens=t,this.getTagDefinition=r,this.canSelfClose=n,this.allowHtmComponentClosingTags=i,this.isTagNameCaseSensitive=s,this._index=-1,this._containerStack=[],this.rootNodes=[],this.errors=[],this._advance()}build(){for(;this._peek.type!==34;)this._peek.type===0||this._peek.type===4?this._consumeStartTag(this._advance()):this._peek.type===3?(this._closeVoidElement(),this._consumeEndTag(this._advance())):this._peek.type===12?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===10?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===5||this._peek.type===7||this._peek.type===6?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===20?this._consumeExpansion(this._advance()):this._peek.type===25?(this._closeVoidElement(),this._consumeBlockOpen(this._advance())):this._peek.type===27?(this._closeVoidElement(),this._consumeBlockClose(this._advance())):this._peek.type===29?(this._closeVoidElement(),this._consumeIncompleteBlock(this._advance())):this._peek.type===30?(this._closeVoidElement(),this._consumeLet(this._advance())):this._peek.type===18?this._consumeDocType(this._advance()):this._peek.type===33?(this._closeVoidElement(),this._consumeIncompleteLet(this._advance())):this._advance();for(let t of this._containerStack)t instanceof Oae&&this.errors.push(Q4.create(t.name,t.sourceSpan,`Unclosed block "${t.name}"`))}_advance(){let t=this._peek;return this._index0)return this.errors=this.errors.concat(s.errors),null;let R=new OR(t.sourceSpan.start,i.sourceSpan.end,t.sourceSpan.fullStart),l=new OR(r.sourceSpan.start,i.sourceSpan.end,r.sourceSpan.fullStart);return new c2n(t.parts[0],s.rootNodes,R,t.sourceSpan,l)}_collectExpansionExpTokens(t){let r=[],n=[22];for(;;){if((this._peek.type===20||this._peek.type===22)&&n.push(this._peek.type),this._peek.type===23)if(Wsr(n,22)){if(n.pop(),n.length===0)return r}else return this.errors.push(Q4.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(this._peek.type===24)if(Wsr(n,20))n.pop();else return this.errors.push(Q4.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(this._peek.type===34)return this.errors.push(Q4.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;r.push(this._advance())}}_getText(t){let r=t.parts[0];if(r.length>0&&r[0]==` +`){let n=this._getClosestParentElement();n!=null&&n.children.length==0&&this.getTagDefinition(n.name).ignoreFirstLf&&(r=r.substring(1))}return r}_consumeText(t){let r=[t],n=t.sourceSpan,i=t.parts[0];if(i.length>0&&i[0]===` +`){let s=this._getContainer();s!=null&&s.children.length===0&&this.getTagDefinition(s.name).ignoreFirstLf&&(i=i.substring(1),r[0]={type:t.type,sourceSpan:t.sourceSpan,parts:[i]})}for(;this._peek.type===8||this._peek.type===5||this._peek.type===9;)t=this._advance(),r.push(t),t.type===8?i+=t.parts.join("").replace(/&([^;]+);/g,Usr):t.type===9?i+=t.parts[0]:i+=t.parts.join("");if(i.length>0){let s=t.sourceSpan;this._addToParent(new R2n(i,new OR(n.start,s.end,n.fullStart,n.details),r))}}_closeVoidElement(){let t=this._getContainer();t instanceof mW&&this.getTagDefinition(t.name).isVoid&&this._containerStack.pop()}_consumeStartTag(t){let[r,n]=t.parts,i=[];for(;this._peek.type===14;)i.push(this._consumeAttr(this._advance()));let s=this._getElementFullName(r,n,this._getClosestParentElement()),R=!1;if(this._peek.type===2){this._advance(),R=!0;let x=this.getTagDefinition(s);this.canSelfClose||x.canSelfClose||e5e(s)!==null||x.isVoid||this.errors.push(Q4.create(s,t.sourceSpan,`Only void, custom and foreign elements can be self closed "${t.parts[1]}"`))}else this._peek.type===1&&(this._advance(),R=!1);let l=this._peek.sourceSpan.fullStart,c=new OR(t.sourceSpan.start,l,t.sourceSpan.fullStart),h=new OR(t.sourceSpan.start,l,t.sourceSpan.fullStart),_=new OR(t.sourceSpan.start.moveBy(1),t.sourceSpan.end),f=new mW(s,i,[],c,h,void 0,_),m=this._getContainer();this._pushContainer(f,m instanceof mW&&this.getTagDefinition(m.name).isClosedByChild(f.name)),R?this._popContainer(s,mW,c):t.type===4&&(this._popContainer(s,mW,null),this.errors.push(Q4.create(s,c,`Opening tag "${s}" not terminated.`)))}_pushContainer(t,r){r&&this._containerStack.pop(),this._addToParent(t),this._containerStack.push(t)}_consumeEndTag(t){let r=this.allowHtmComponentClosingTags&&t.parts.length===0?null:this._getElementFullName(t.parts[0],t.parts[1],this._getClosestParentElement());if(r&&this.getTagDefinition(r).isVoid)this.errors.push(Q4.create(r,t.sourceSpan,`Void elements do not have end tags "${t.parts[1]}"`));else if(!this._popContainer(r,mW,t.sourceSpan)){let n=`Unexpected closing tag "${r}". It may happen when the tag has already been closed by another tag. For more info see https://www.w3.org/TR/html5/syntax.html#closing-elements-that-have-implied-end-tags`;this.errors.push(Q4.create(r,t.sourceSpan,n))}}_popContainer(t,r,n){let i=!1;for(let s=this._containerStack.length-1;s>=0;s--){let R=this._containerStack[s];if(e5e(R.name)?R.name===t:(t==null||R.name.toLowerCase()===t.toLowerCase())&&R instanceof r)return R.endSourceSpan=n,R.sourceSpan.end=n!==null?n.end:R.sourceSpan.end,this._containerStack.splice(s,this._containerStack.length-s),!i;(R instanceof Oae||R instanceof mW&&!this.getTagDefinition(R.name).closedByParent)&&(i=!0)}return!1}_consumeAttr(t){let r=s5e(t.parts[0],t.parts[1]),n=t.sourceSpan.end,i;this._peek.type===15&&(i=this._advance());let s="",R=[],l,c;if(this._peek.type===16)for(l=this._peek.sourceSpan,c=this._peek.sourceSpan.end;this._peek.type===16||this._peek.type===17||this._peek.type===9;){let _=this._advance();R.push(_),_.type===17?s+=_.parts.join("").replace(/&([^;]+);/g,Usr):_.type===9?s+=_.parts[0]:s+=_.parts.join(""),c=n=_.sourceSpan.end}this._peek.type===15&&(c=n=this._advance().sourceSpan.end);let h=l&&c&&new OR(i?.sourceSpan.start??l.start,c,i?.sourceSpan.fullStart??l.fullStart);return new T2n(r,s,new OR(t.sourceSpan.start,n,t.sourceSpan.fullStart),t.sourceSpan,h,R.length>0?R:void 0,void 0)}_consumeBlockOpen(t){let r=[];for(;this._peek.type===28;){let l=this._advance();r.push(new Qsr(l.parts[0],l.sourceSpan))}this._peek.type===26&&this._advance();let n=this._peek.sourceSpan.fullStart,i=new OR(t.sourceSpan.start,n,t.sourceSpan.fullStart),s=new OR(t.sourceSpan.start,n,t.sourceSpan.fullStart),R=new Oae(t.parts[0],r,[],i,t.sourceSpan,s);this._pushContainer(R,!1)}_consumeBlockClose(t){this._popContainer(null,Oae,t.sourceSpan)||this.errors.push(Q4.create(null,t.sourceSpan,'Unexpected closing block. The block may have been closed earlier. If you meant to write the } character, you should use the "}" HTML entity instead.'))}_consumeIncompleteBlock(t){let r=[];for(;this._peek.type===28;){let l=this._advance();r.push(new Qsr(l.parts[0],l.sourceSpan))}let n=this._peek.sourceSpan.fullStart,i=new OR(t.sourceSpan.start,n,t.sourceSpan.fullStart),s=new OR(t.sourceSpan.start,n,t.sourceSpan.fullStart),R=new Oae(t.parts[0],r,[],i,t.sourceSpan,s);this._pushContainer(R,!1),this._popContainer(null,Oae,null),this.errors.push(Q4.create(t.parts[0],i,`Incomplete block "${t.parts[0]}". If you meant to write the @ character, you should use the "@" HTML entity instead.`))}_consumeLet(t){let r=t.parts[0],n,i;if(this._peek.type!==31){this.errors.push(Q4.create(t.parts[0],t.sourceSpan,`Invalid @let declaration "${r}". Declaration must have a value.`));return}else n=this._advance();if(this._peek.type!==32){this.errors.push(Q4.create(t.parts[0],t.sourceSpan,`Unterminated @let declaration "${r}". Declaration must be terminated with a semicolon.`));return}else i=this._advance();let s=i.sourceSpan.fullStart,R=new OR(t.sourceSpan.start,s,t.sourceSpan.fullStart),l=t.sourceSpan.toString().lastIndexOf(r),c=t.sourceSpan.start.moveBy(l),h=new OR(c,t.sourceSpan.end),_=new Nsr(r,n.parts[0],R,h,n.sourceSpan);this._addToParent(_)}_consumeIncompleteLet(t){let r=t.parts[0]??"",n=r?` "${r}"`:"";if(r.length>0){let i=t.sourceSpan.toString().lastIndexOf(r),s=t.sourceSpan.start.moveBy(i),R=new OR(s,t.sourceSpan.end),l=new OR(t.sourceSpan.start,t.sourceSpan.start.moveBy(0)),c=new Nsr(r,"",t.sourceSpan,R,l);this._addToParent(c)}this.errors.push(Q4.create(t.parts[0],t.sourceSpan,`Incomplete @let declaration${n}. @let declarations must be written as \`@let = ;\``))}_getContainer(){return this._containerStack.length>0?this._containerStack[this._containerStack.length-1]:null}_getClosestParentElement(){for(let t=this._containerStack.length-1;t>-1;t--)if(this._containerStack[t]instanceof mW)return this._containerStack[t];return null}_addToParent(t){let r=this._getContainer();r===null?this.rootNodes.push(t):r.children.push(t)}_getElementFullName(t,r,n){if(t===""&&(t=this.getTagDefinition(r).implicitNamespacePrefix||"",t===""&&n!=null)){let i=d5e(n.name)[1];this.getTagDefinition(i).preventNamespaceInheritance||(t=e5e(n.name))}return s5e(t,r)}};w2n=class extends Q2n{constructor(){super(gqt)}parse(e,t,r,n=!1,i){return super.parse(e,t,r,n,i)}},kqt=null,P2n=()=>(kqt||(kqt=new w2n),kqt);I2n=B2n,afe=3;U2n=W2n,ZCe={attrs:!0,children:!0,cases:!0,expression:!0},Lsr=new Set(["parent"]),F2n=class sfe{constructor(t={}){for(let r of new Set([...Lsr,...Object.keys(t)]))this.setProperty(r,t[r])}setProperty(t,r){if(this[t]!==r){if(t in ZCe&&(r=r.map(n=>this.createChild(n))),!Lsr.has(t)){this[t]=r;return}Object.defineProperty(this,t,{value:r,enumerable:!1,configurable:!0})}}map(t){let r;for(let n in ZCe){let i=this[n];if(i){let s=L2n(i,R=>R.map(t));r!==i&&(r||(r=new sfe({parent:this.parent})),r.setProperty(n,s))}}if(r)for(let n in this)n in ZCe||(r[n]=this[n]);return t(r||this)}walk(t){for(let r in ZCe){let n=this[r];if(n)for(let i=0;i[t.fullName,t.value]))}};z2n=[{regex:/^(\[if([^\]]*)\]>)(.*?)i==="lang"&&s!=="html"&&s!==""&&s!==void 0))}}),n7n=x5e({name:"lwc",canSelfClose:!1}),Gor={html:Jxn},i7n=Gsr});var j0r={};x2(j0r,{default:()=>Fyn,languages:()=>F0r,options:()=>L0r,parsers:()=>pCt,printers:()=>V0r});function D5e(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function Mmn(e){if(typeof e=="string")return yX;if(Array.isArray(e))return CW;if(!e)return;let{type:t}=e;if(O0r.has(t))return t}function Umn(e){let t=e===null?"null":typeof e;if(t!=="string"&&t!=="object")return`Unexpected doc '${t}', +Expected it to be 'string' or 'object'.`;if(gW(e))throw new Error("doc is valid.");let r=Object.prototype.toString.call(e);if(r!=="[object Object]")return`Unexpected doc '${r}'.`;let n=Wmn([...O0r].map(i=>`'${i}'`));return`Unexpected doc.type '${e.type}'. +Expected it to be ${n}.`}function Lmn(e,t,r,n){let i=[e];for(;i.length>0;){let s=i.pop();if(s===Jor){r(i.pop());continue}r&&i.push(s,Jor);let R=gW(s);if(!R)throw new C5e(s);if(t?.(s)!==!1)switch(R){case CW:case qX:{let l=R===CW?s:s.parts;for(let c=l.length,h=c-1;h>=0;--h)i.push(l[h]);break}case qW:i.push(s.flatContents,s.breakContents);break;case AW:if(n&&s.expandedStates)for(let l=s.expandedStates.length,c=l-1;c>=0;--c)i.push(s.expandedStates[c]);else i.push(s.contents);break;case Hae:case zae:case bfe:case vfe:case Efe:i.push(s.contents);break;case yX:case S5e:case gfe:case Ofe:case qw:case Yae:break;default:throw new C5e(s)}}}function Jqt(e){return Iae(e),{type:zae,contents:e}}function kX(e,t){return Iae(t),{type:Hae,contents:t,n:e}}function y5e(e,t={}){return Iae(e),oCt(t.expandedStates,!0),{type:AW,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function A5e(e){return kX({type:"root"},e)}function RCt(e){return oCt(e),{type:qX,parts:e}}function Hmn(e,t="",r={}){return Iae(e),t!==""&&Iae(t),{type:qW,breakContents:e,flatContents:t,groupId:r.groupId}}function $0r(e,t){Iae(e),oCt(t);let r=[];for(let n=0;n0){let t=TO(!1,e,-1);!t.expandedStates&&!t.break&&(t.break="propagated")}return null}function Gmn(e){let t=new Set,r=[];function n(s){if(s.type===Yae&&Xor(r),s.type===AW){if(r.push(s),t.has(s))return!1;t.add(s)}}function i(s){s.type===AW&&r.pop().break&&Xor(r)}zmn(e,n,i,!0)}function Pae(e,t=Xqt){return Kmn(e,r=>typeof r=="string"?$0r(t,r.split(` +`)):r)}function Vmn(e,t){let r=e.match(new RegExp(`(${D5e(t)})+`,"gu"));return r===null?0:r.reduce((n,i)=>Math.max(n,i.length/t.length),0)}function jmn(e,t){let r=e.match(new RegExp(`(${D5e(t)})+`,"gu"));if(r===null)return 0;let n=new Map,i=0;for(let s of r){let R=s.length/t.length;n.set(R,!0),R>i&&(i=R)}for(let s=1;ss?n:r}function nkn(e){return e?.type==="front-matter"}function akn(e){let t=e.slice(0,xfe);if(t!=="---"&&t!=="+++")return;let r=e.indexOf(` +`,xfe);if(r===-1)return;let n=e.slice(xfe,r).trim(),i=e.indexOf(` +${t}`,r),s=n;if(s||(s=t==="+++"?"toml":"yaml"),i===-1&&t==="---"&&s==="yaml"&&(i=e.indexOf(` +...`,r)),i===-1)return;let R=i+1+xfe,l=e.charAt(R+1);if(!/\s?/u.test(l))return;let c=e.slice(0,R);return{type:"front-matter",language:s,explicitLanguage:n,value:e.slice(r+1,i),startDelimiter:t,endDelimiter:c.slice(-xfe),raw:c}}function skn(e){let t=akn(e);if(!t)return{content:e};let{raw:r}=t;return{frontMatter:t,content:_y(!1,r,/[^\n]/gu," ")+e.slice(r.length)}}function w0r(e){let t=`@(${N0r.join("|")})`,r=new RegExp([``,`\\{\\s*\\/\\*\\s*${t}\\s*\\*\\/\\s*\\}`,``].join("|"),"mu"),n=e.match(r);return n?.index===0}function P0r(e,t,r){if((e.type==="front-matter"||e.type==="code"||e.type==="yaml"||e.type==="import"||e.type==="export"||e.type==="jsx")&&delete t.value,e.type==="list"&&delete t.isAligned,(e.type==="list"||e.type==="listItem")&&delete t.spread,e.type==="text")return null;if(e.type==="inlineCode"&&(t.value=_y(!1,e.value,` +`," ")),e.type==="wikiLink"&&(t.value=_y(!1,e.value.trim(),/[\t\n]+/gu," ")),(e.type==="definition"||e.type==="linkReference"||e.type==="imageReference")&&(t.label=(0,rkn.default)(e.label)),(e.type==="link"||e.type==="image")&&e.url&&e.url.includes("("))for(let n of"<>")t.url=_y(!1,e.url,n,encodeURIComponent(n));if((e.type==="definition"||e.type==="link"||e.type==="image")&&e.title&&(t.title=_y(!1,e.title,/\\(?=["')])/gu,"")),r?.type==="root"&&r.children.length>0&&(r.children[0]===e||ikn(r.children[0])&&r.children[1]===e)&&e.type==="html"&&w0r(e.value))return null}async function Tkn(e,t){if(e.language==="yaml"){let r=e.value.trim(),n=r?await t(r,{parser:"yaml"}):"";return A5e([e.startDelimiter,e.explicitLanguage,E2,n,n?E2:"",e.endDelimiter])}}function e0r(e,t){if(!t)return;let r=_kn(t).toLowerCase();return e.find(({filenames:n})=>n?.some(i=>i.toLowerCase()===r))??e.find(({extensions:n})=>n?.some(i=>r.endsWith(i)))}function hkn(e,t){if(t)return e.find(({name:r})=>r.toLowerCase()===t)??e.find(({aliases:r})=>r?.includes(t))??e.find(({extensions:r})=>r?.includes(`.${t}`))}function fkn(e,t){let r=e.plugins.flatMap(i=>i.languages??[]),n=hkn(r,t.language)??e0r(r,t.physicalFile)??e0r(r,t.file)??(t.physicalFile,void 0);return n?.parsers[0]}function b5e(e){return e.position.start.offset}function E5e(e){return e.position.end.offset}function M0r(e){let t=[],r=e.split(/([\t\n ]+)/u);for(let[i,s]of r.entries()){if(i%2===1){t.push({type:"whitespace",value:/\n/u.test(s)?` +`:" "});continue}if((i===0||i===r.length-1)&&s==="")continue;let R=s.split(new RegExp(`(${ckn.source})`,"u"));for(let[l,c]of R.entries())if(!((l===0||l===R.length-1)&&c==="")){if(l%2===0){c!==""&&n({type:"word",value:c,kind:Cfe,isCJ:!1,hasLeadingPunctuation:kfe.test(c[0]),hasTrailingPunctuation:kfe.test(TO(!1,c,-1))});continue}if(kfe.test(c)){n({type:"word",value:c,kind:O5e,isCJ:!0,hasLeadingPunctuation:!0,hasTrailingPunctuation:!0});continue}if(mkn.test(c)){n({type:"word",value:c,kind:Mae,isCJ:!1,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1});continue}n({type:"word",value:c,kind:kw,isCJ:!0,hasLeadingPunctuation:!1,hasTrailingPunctuation:!1})}}return t;function n(i){let s=TO(!1,t,-1);s?.type==="word"&&!R(Cfe,O5e)&&![s.value,i.value].some(l=>/\u3000/u.test(l))&&t.push({type:"whitespace",value:""}),t.push(i);function R(l,c){return s.kind===l&&i.kind===c||s.kind===c&&i.kind===l}}}function yfe(e,t){let r=t.originalText.slice(e.position.start.offset,e.position.end.offset),{numberText:n,leadingSpaces:i}=r.match(/^\s*(?\d+)(\.|\))(?\s*)/u).groups;return{number:Number(n),leadingSpaces:i}}function kkn(e,t){return!e.ordered||e.children.length<2||yfe(e.children[1],t).number!==1?!1:yfe(e.children[0],t).number!==0?!0:e.children.length>2&&yfe(e.children[2],t).number===1}function W0r(e,t){let{value:r}=e;return e.position.end.offset===t.length&&r.endsWith(` +`)&&t.endsWith(` +`)?r.slice(0,-1):r}function Kae(e,t){return function r(n,i,s){let R={...t(n,i,s)};return R.children&&(R.children=R.children.map((l,c)=>r(l,c,[R,...s]))),R}(e,null,[])}function t0r(e){if(e?.type!=="link"||e.children.length!==1)return!1;let[t]=e.children;return b5e(e)===b5e(t)&&E5e(e)===E5e(t)}function ykn(e,t){let{node:r}=e;if(r.type==="code"&&r.lang!==null){let n=dkn(t,{language:r.lang});if(n)return async i=>{let s=t.__inJsTemplate?"~":"`",R=s.repeat(Math.max(3,Q0r(r.value,s)+1)),l={parser:n};r.lang==="ts"||r.lang==="typescript"?l.filepath="dummy.ts":r.lang==="tsx"&&(l.filepath="dummy.tsx");let c=await i(W0r(r,t.originalText),l);return A5e([R,r.lang,r.meta?" "+r.meta:"",E2,Pae(c),E2,R])}}switch(r.type){case"front-matter":return n=>pkn(r,n);case"import":case"export":return n=>n(r.value,{parser:"babel"});case"jsx":return n=>n(`<$>${r.value}`,{parser:"__js_expression",rootMarker:"mdx"})}return null}function qfe(e){if(mfe!==null&&typeof mfe.property){let t=mfe;return mfe=qfe.prototype=null,t}return mfe=qfe.prototype=e??Object.create(null),new qfe}function Akn(e){return qfe(e)}function gkn(e,t="type"){Akn(e);function r(n){let i=n[t],s=e[i];if(!Array.isArray(s))throw Object.assign(new Error(`Missing visitor keys for '${i}'.`),{node:n});return s}return r}function Skn(e){switch(e){case"cr":return"\r";case"crlf":return`\r +`;default:return` +`}}function Qkn(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function Nkn(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101631&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129673||e>=129679&&e<=129734||e>=129742&&e<=129756||e>=129759&&e<=129769||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function Bkn(e){if(!e)return 0;if(!Pkn.test(e))return e.length;e=e.replace($kn()," ");let t=0;for(let r of e){let n=r.codePointAt(0);n<=31||n>=127&&n<=159||n>=768&&n<=879||(t+=wkn(n)?1:2)}return t}function U0r(){return{value:"",length:0,queue:[]}}function Ikn(e,t){return eCt(e,{type:"indent"},t)}function Mkn(e,t,r){return t===Number.NEGATIVE_INFINITY?e.root||U0r():t<0?eCt(e,{type:"dedent"},r):t?t.type==="root"?{...e,root:e}:eCt(e,{type:typeof t=="string"?"stringAlign":"numberAlign",n:t},r):e}function eCt(e,t,r){let n=t.type==="dedent"?e.queue.slice(0,-1):[...e.queue,t],i="",s=0,R=0,l=0;for(let y of n)switch(y.type){case"indent":_(),r.useTabs?c(1):h(r.tabWidth);break;case"stringAlign":_(),i+=y.n,s+=y.n.length;break;case"numberAlign":R+=1,l+=y.n;break;default:throw new Error(`Unexpected type '${y.type}'`)}return m(),{...e,value:i,length:s,queue:n};function c(y){i+=" ".repeat(y),s+=r.tabWidth*y}function h(y){i+=" ".repeat(y),s+=y}function _(){r.useTabs?f():m()}function f(){R>0&&c(R),x()}function m(){l>0&&h(l),x()}function x(){R=0,l=0}}function tCt(e){let t=0,r=0,n=e.length;e:for(;n--;){let i=e[n];if(i===Bae){r++;continue}for(let s=i.length-1;s>=0;s--){let R=i[s];if(R===" "||R===" ")t++;else{e[n]=i.slice(0,s+1);break e}}}if(t>0||r>0)for(e.length=n+1;r-- >0;)e.push(Bae);return t}function k5e(e,t,r,n,i,s){if(r===Number.POSITIVE_INFINITY)return!0;let R=t.length,l=[e],c=[];for(;r>=0;){if(l.length===0){if(R===0)return!0;l.push(t[--R]);continue}let{mode:h,doc:_}=l.pop(),f=gW(_);switch(f){case yX:c.push(_),r-=cCt(_);break;case CW:case qX:{let m=f===CW?_:_.parts,x=_[Zqt]??0;for(let y=m.length-1;y>=x;y--)l.push({mode:h,doc:m[y]});break}case zae:case Hae:case bfe:case vfe:l.push({mode:h,doc:_.contents});break;case gfe:r+=tCt(c);break;case AW:{if(s&&_.break)return!1;let m=_.break?YC:h,x=_.expandedStates&&m===YC?TO(!1,_.expandedStates,-1):_.contents;l.push({mode:m,doc:x});break}case qW:{let m=(_.groupId?i[_.groupId]||UD:h)===YC?_.breakContents:_.flatContents;m&&l.push({mode:h,doc:m});break}case qw:if(h===YC||_.hard)return!0;_.soft||(c.push(" "),r--);break;case Efe:n=!0;break;case Ofe:if(n)return!1;break}}return!1}function Wkn(e,t){let r={},n=t.printWidth,i=Skn(t.endOfLine),s=0,R=[{ind:U0r(),mode:YC,doc:e}],l=[],c=!1,h=[],_=0;for(Gmn(e);R.length>0;){let{ind:m,mode:x,doc:y}=R.pop();switch(gW(y)){case yX:{let A=i!==` +`?_y(!1,y,` +`,i):y;l.push(A),R.length>0&&(s+=cCt(A));break}case CW:for(let A=y.length-1;A>=0;A--)R.push({ind:m,mode:x,doc:y[A]});break;case S5e:if(_>=2)throw new Error("There are too many 'cursor' in doc.");l.push(Bae),_++;break;case zae:R.push({ind:Ikn(m,t),mode:x,doc:y.contents});break;case Hae:R.push({ind:Mkn(m,y.n,t),mode:x,doc:y.contents});break;case gfe:s-=tCt(l);break;case AW:switch(x){case UD:if(!c){R.push({ind:m,mode:y.break?YC:UD,doc:y.contents});break}case YC:{c=!1;let A={ind:m,mode:UD,doc:y.contents},D=n-s,S=h.length>0;if(!y.break&&k5e(A,R,D,S,r))R.push(A);else if(y.expandedStates){let P=TO(!1,y.expandedStates,-1);if(y.break){R.push({ind:m,mode:YC,doc:P});break}else for(let M=1;M=y.expandedStates.length){R.push({ind:m,mode:YC,doc:P});break}else{let U=y.expandedStates[M],w={ind:m,mode:UD,doc:U};if(k5e(w,R,D,S,r)){R.push(w);break}}}else R.push({ind:m,mode:YC,doc:y.contents});break}}y.id&&(r[y.id]=TO(!1,R,-1).mode);break;case qX:{let A=n-s,D=y[Zqt]??0,{parts:S}=y,P=S.length-D;if(P===0)break;let M=S[D+0],U=S[D+1],w={ind:m,mode:UD,doc:M},F={ind:m,mode:YC,doc:M},H=k5e(w,[],A,h.length>0,r,!0);if(P===1){H?R.push(w):R.push(F);break}let G={ind:m,mode:UD,doc:U},ee={ind:m,mode:YC,doc:U};if(P===2){H?R.push(G,w):R.push(ee,F);break}let fe=S[D+2],me={ind:m,mode:x,doc:{...y,[Zqt]:D+2}};k5e({ind:m,mode:UD,doc:[M,U,fe]},[],A,h.length>0,r,!0)?R.push(me,G,w):H?R.push(me,ee,w):R.push(me,ee,F);break}case qW:case bfe:{let A=y.groupId?r[y.groupId]:x;if(A===YC){let D=y.type===qW?y.breakContents:y.negate?y.contents:Jqt(y.contents);D&&R.push({ind:m,mode:x,doc:D})}if(A===UD){let D=y.type===qW?y.flatContents:y.negate?Jqt(y.contents):y.contents;D&&R.push({ind:m,mode:x,doc:D})}break}case Efe:h.push({ind:m,mode:x,doc:y.contents});break;case Ofe:h.length>0&&R.push({ind:m,mode:x,doc:uCt});break;case qw:switch(x){case UD:if(y.hard)c=!0;else{y.soft||(l.push(" "),s+=1);break}case YC:if(h.length>0){R.push({ind:m,mode:x,doc:y},...h.reverse()),h.length=0;break}y.literal?m.root?(l.push(i,m.root.value),s=m.root.length):(l.push(i),s=0):(s-=tCt(l),l.push(i+m.value),s=m.length);break}break;case vfe:R.push({ind:m,mode:x,doc:y.contents});break;case Yae:break;default:throw new C5e(y)}R.length===0&&h.length>0&&(R.push(...h.reverse()),h.length=0)}let f=l.indexOf(Bae);if(f!==-1){let m=l.indexOf(Bae,f+1);if(m===-1)return{formatted:l.filter(D=>D!==Bae).join("")};let x=l.slice(0,f).join(""),y=l.slice(f+1,m).join(""),A=l.slice(m+1).join("");return{formatted:x+y+A,cursorNodeStart:x.length,cursorNodeText:y}}return{formatted:l.join("")}}function Ukn(e,t,r){let{node:n}=e,i=[],s=e.map(()=>e.map(({index:f})=>{let m=Wkn(r(),t).formatted,x=cCt(m);return i[f]=Math.max(i[f]??3,x),{text:m,width:x}},"children"),"children"),R=c(!1);if(t.proseWrap!=="never")return[g5e,R];let l=c(!0);return[g5e,y5e(Hmn(l,R))];function c(f){return $0r(uCt,[_(s[0],f),h(f),...s.slice(1).map(m=>_(m,f))].map(m=>`| ${m.join(" | ")} |`))}function h(f){return i.map((m,x)=>{let y=n.align[x],A=y==="center"||y==="left"?":":"-",D=y==="center"||y==="right"?":":"-",S=f?"-":"-".repeat(m-2);return`${A}${S}${D}`})}function _(f,m){return f.map(({text:x,width:y},A)=>{if(m)return x;let D=i[A]-y,S=n.align[A],P=0;S==="right"?P=D:S==="center"&&(P=Math.floor(D/2));let M=D-P;return`${" ".repeat(P)}${x}${" ".repeat(M)}`})}}function Fkn(e,t,r){let n=e.map(r,"children");return Lkn(n)}function Lkn(e){let t=[""];return function r(n){for(let i of n){let s=gW(i);if(s===CW){r(i);continue}let R=i,l=[];s===qX&&([R,...l]=i.parts),t.push([t.pop(),R],...l)}}(e),RCt(t)}function Vkn(e,t){return e=jkn(e,t),e=Xkn(e),e=eyn(e,t),e=tyn(e,t),e=Zkn(e),e}function jkn(e,t){return Kae(e,r=>r.type!=="text"||r.value==="*"||r.value==="_"||!Gkn.test(r.value)||r.position.end.offset-r.position.start.offset===r.value.length?r:{...r,value:t.originalText.slice(r.position.start.offset,r.position.end.offset)})}function Jkn(e,t,r){return Kae(e,n=>{if(!n.children)return n;let i=n.children.reduce((s,R)=>{let l=TO(!1,s,-1);return l&&t(l,R)?s.splice(-1,1,r(l,R)):s.push(R),s},[]);return{...n,children:i}})}function Xkn(e){return Jkn(e,(t,r)=>t.type==="text"&&r.type==="text",(t,r)=>({type:"text",value:t.value+r.value,position:{start:t.position.start,end:r.position.end}}))}function Zkn(e){return Kae(e,(t,r,[n])=>{if(t.type!=="text")return t;let{value:i}=t;return n.type==="paragraph"&&(r===0&&(i=r0r.trimStart(i)),r===n.children.length-1&&(i=r0r.trimEnd(i))),{type:"sentence",position:t.position,children:M0r(i)}})}function eyn(e,t){return Kae(e,(r,n,i)=>{if(r.type==="code"){let s=/^\n?(?: {4,}|\t)/u.test(t.originalText.slice(r.position.start.offset,r.position.end.offset));if(r.isIndented=s,s)for(let R=0;R{if(i.type==="list"&&i.children.length>0){for(let l=0;l1)return!0;let l=r(s);if(l===-1)return!1;if(i.children.length===1)return l%t.tabWidth===0;let c=r(R);return l!==c?!1:l%t.tabWidth===0?!0:yfe(R,t).leadingSpaces.length>1}}function nyn(e,t){let r=[""];return e.each(()=>{let{node:n}=e,i=t();switch(n.type){case"whitespace":if(gW(i)!==yX){r.push(i,"");break}default:r.push([r.pop(),i])}},"children"),RCt(r)}function ayn({parent:e}){if(e.usesCJSpaces===void 0){let t={" ":0,"":0},{children:r}=e;for(let n=1;nt[""]}return e.usesCJSpaces}function syn(e,t){if(t)return!0;let{previous:r,next:n}=e;if(!r||!n)return!0;let i=r.kind,s=n.kind;return i0r(i)&&i0r(s)||i===Mae&&s===kw||s===Mae&&i===kw?!0:i===O5e||s===O5e||i===kw&&s===kw?!1:n0r.has(n.value[0])||n0r.has(TO(!1,r.value,-1))?!0:r.hasTrailingPunctuation||n.hasLeadingPunctuation?!1:ayn(e)}function i0r(e){return e===Cfe||e===Mae}function oyn(e,t,r,n){if(r!=="always"||e.hasAncestor(R=>iyn.has(R.type)))return!1;if(n)return t!=="";let{previous:i,next:s}=e;return!i||!s?!0:t===""?!1:i.kind===Mae&&s.kind===kw||s.kind===Mae&&i.kind===kw?!0:!(i.isCJ||s.isCJ)}function a0r(e,t,r,n){if(r==="preserve"&&t===` +`)return E2;let i=t===" "||t===` +`&&syn(e,n);return oyn(e,t,r,n)?i?D0r:S0r:i?" ":""}function uyn(e,t,r){var n,i;let{node:s}=e;if(hyn(e)){let R=[""],l=M0r(t.originalText.slice(s.position.start.offset,s.position.end.offset));for(let c of l){if(c.type==="word"){R.push([R.pop(),c.value]);continue}let h=a0r(e,c.value,t.proseWrap,!0);if(gW(h)===yX){R.push([R.pop(),h]);continue}R.push(h,"")}return RCt(R)}switch(s.type){case"front-matter":return t.originalText.slice(s.position.start.offset,s.position.end.offset);case"root":return s.children.length===0?"":[Tyn(e,t,r),E2];case"paragraph":return Fkn(e,t,r);case"sentence":return nyn(e,r);case"word":{let R=_y(!1,_y(!1,s.value,"*",String.raw`\*`),new RegExp([`(^|${kfe.source})(_+)`,`(_+)(${kfe.source}|$)`].join("|"),"gu"),(h,_,f,m,x)=>_y(!1,f?`${_}${f}`:`${m}${x}`,"_",String.raw`\_`)),l=(h,_,f)=>h.type==="sentence"&&f===0,c=(h,_,f)=>t0r(h.children[f-1]);return R!==s.value&&(e.match(void 0,l,c)||e.match(void 0,l,(h,_,f)=>h.type==="emphasis"&&f===0,c))&&(R=R.replace(/^(\\?[*_])+/u,h=>_y(!1,h,"\\",""))),R}case"whitespace":{let{next:R}=e,l=R&&/^>|^(?:[*+-]|#{1,6}|\d+[).])$/u.test(R.value)?"never":t.proseWrap;return a0r(e,s.value,l)}case"emphasis":{let R;if(t0r(s.children[0]))R=t.originalText[s.position.start.offset];else{let{previous:l,next:c}=e;R=l?.type==="sentence"&&((n=TO(!1,l.children,-1))==null?void 0:n.type)==="word"&&!TO(!1,l.children,-1).hasTrailingPunctuation||c?.type==="sentence"&&((i=c.children[0])==null?void 0:i.type)==="word"&&!c.children[0].hasLeadingPunctuation||e.hasAncestor(h=>h.type==="emphasis")?"*":"_"}return[R,HC(e,t,r),R]}case"strong":return["**",HC(e,t,r),"**"];case"delete":return["~~",HC(e,t,r),"~~"];case"inlineCode":{let R=t.proseWrap==="preserve"?s.value:_y(!1,s.value,` +`," "),l=Jmn(R,"`"),c="`".repeat(l||1),h=R.startsWith("`")||R.endsWith("`")||/^[\n ]/u.test(R)&&/[\n ]$/u.test(R)&&/[^\n ]/u.test(R)?" ":"";return[c,h,R,h,c]}case"wikiLink":{let R="";return t.proseWrap==="preserve"?R=s.value:R=_y(!1,s.value,/[\t\n]+/gu," "),["[[",R,"]]"]}case"link":switch(t.originalText[s.position.start.offset]){case"<":{let R="mailto:";return["<",s.url.startsWith(R)&&t.originalText.slice(s.position.start.offset+1,s.position.start.offset+1+R.length)!==R?s.url.slice(R.length):s.url,">"]}case"[":return["[",HC(e,t,r),"](",Vqt(s.url,")"),q5e(s.title,t),")"];default:return t.originalText.slice(s.position.start.offset,s.position.end.offset)}case"image":return["![",s.alt||"","](",Vqt(s.url,")"),q5e(s.title,t),")"];case"blockquote":return["> ",kX("> ",HC(e,t,r))];case"heading":return["#".repeat(s.depth)+" ",HC(e,t,r)];case"code":{if(s.isIndented){let c=" ".repeat(4);return kX(c,[c,Pae(s.value,E2)])}let R=t.__inJsTemplate?"~":"`",l=R.repeat(Math.max(3,Q0r(s.value,R)+1));return[l,s.lang||"",s.meta?" "+s.meta:"",E2,Pae(W0r(s,t.originalText),E2),E2,l]}case"html":{let{parent:R,isLast:l}=e,c=R.type==="root"&&l?s.value.trimEnd():s.value,h=/^$/su.test(c);return Pae(c,h?E2:A5e(Xqt))}case"list":{let R=o0r(s,e.parent),l=kkn(s,t);return HC(e,t,r,{processor(c){let h=f(),_=c.node;if(_.children.length===2&&_.children[1].type==="html"&&_.children[0].position.start.column!==_.children[1].position.start.column)return[h,s0r(c,t,r,h)];return[h,kX(" ".repeat(h.length),s0r(c,t,r,h))];function f(){let m=s.ordered?(c.isFirst?s.start:l?1:s.start+c.index)+(R%2===0?". ":") "):R%2===0?"- ":"* ";return(s.isAligned||s.hasIndentedCodeblock)&&s.ordered?lyn(m,t):m}}})}case"thematicBreak":{let{ancestors:R}=e,l=R.findIndex(c=>c.type==="list");return l===-1?"---":o0r(R[l],R[l+1])%2===0?"***":"---"}case"linkReference":return["[",HC(e,t,r),"]",s.referenceType==="full"?jqt(s):s.referenceType==="collapsed"?"[]":""];case"imageReference":switch(s.referenceType){case"full":return["![",s.alt||"","]",jqt(s)];default:return["![",s.alt,"]",s.referenceType==="collapsed"?"[]":""]}case"definition":{let R=t.proseWrap==="always"?D0r:" ";return y5e([jqt(s),":",Jqt([R,Vqt(s.url),s.title===null?"":[R,q5e(s.title,t,!1)]])])}case"footnote":return["[^",HC(e,t,r),"]"];case"footnoteReference":return c0r(s);case"footnoteDefinition":{let R=s.children.length===1&&s.children[0].type==="paragraph"&&(t.proseWrap==="never"||t.proseWrap==="preserve"&&s.children[0].position.start.line===s.children[0].position.end.line);return[c0r(s),": ",R?HC(e,t,r):y5e([kX(" ".repeat(4),HC(e,t,r,{processor:({isFirst:l})=>l?y5e([S0r,r()]):r()}))])]}case"table":return Ukn(e,t,r);case"tableCell":return HC(e,t,r);case"break":return/\s/u.test(t.originalText[s.position.start.offset])?[" ",A5e(Xqt)]:["\\",E2];case"liquidNode":return Pae(s.value,E2);case"import":case"export":case"jsx":return s.value;case"esComment":return["{/* ",s.value," */}"];case"math":return["$$",E2,s.value?[Pae(s.value,E2),E2]:"","$$"];case"inlineMath":return t.originalText.slice(b5e(s),E5e(s));case"tableRow":case"listItem":case"text":default:throw new tkn(s,"Markdown")}}function s0r(e,t,r,n){let{node:i}=e,s=i.checked===null?"":i.checked?"[x] ":"[ ] ";return[s,HC(e,t,r,{processor({node:R,isFirst:l}){if(l&&R.type!=="list")return kX(" ".repeat(s.length),r());let c=" ".repeat(dyn(t.tabWidth-n.length,0,3));return[c,kX(c,r())]}})]}function lyn(e,t){let r=n();return e+" ".repeat(r>=4?0:r);function n(){let i=e.length%t.tabWidth;return i===0?0:t.tabWidth-i}}function o0r(e,t){return cyn(e,t,r=>r.ordered===e.ordered)}function cyn(e,t,r){let n=-1;for(let i of t.children)if(i.type===e.type&&r(i)?n++:n=-1,i===e)return n}function Tyn(e,t,r){let n=[],i=null,{children:s}=e.node;for(let[R,l]of s.entries())switch(TCt(l)){case"start":i===null&&(i={index:R,offset:l.position.end.offset});break;case"end":i!==null&&(n.push({start:i,end:{index:R,offset:l.position.start.offset}}),i=null);break;default:break}return HC(e,t,r,{processor({index:R}){if(n.length>0){let l=n[0];if(R===l.start.index)return[R0r(s[l.start.index]),t.originalText.slice(l.start.offset,l.end.offset),R0r(s[l.end.index])];if(l.start.index{let R=i(e);R!==!1&&(s.length>0&&pyn(e)&&(s.push(E2),(_yn(e,t)||l0r(e))&&s.push(E2),l0r(e)&&s.push(E2)),s.push(R))},"children"),s}function R0r(e){if(e.type==="html")return e.value;if(e.type==="paragraph"&&Array.isArray(e.children)&&e.children.length===1&&e.children[0].type==="esComment")return["{/* ",e.children[0].value," */}"]}function TCt(e){let t;if(e.type==="html")t=e.value.match(/^$/u);else{let r;e.type==="esComment"?r=e:e.type==="paragraph"&&e.children.length===1&&e.children[0].type==="esComment"&&(r=e.children[0]),r&&(t=r.value.match(/^prettier-ignore(?:-(start|end))?$/u))}return t?t[1]||"next":!1}function pyn({node:e,parent:t}){let r=B0r.has(e.type),n=e.type==="html"&&I0r.has(t.type);return!r&&!n}function u0r(e,t){return e.type==="listItem"&&(e.spread||t.originalText.charAt(e.position.end.offset-1)===` +`)}function _yn({node:e,previous:t,parent:r},n){if(u0r(t,n))return!0;let i=t.type===e.type&&Ryn.has(e.type),s=r.type==="listItem"&&!u0r(r,n),R=TCt(t)==="next",l=e.type==="html"&&t.type==="html"&&t.position.end.line+1===e.position.start.line,c=e.type==="html"&&r.type==="listItem"&&t.type==="paragraph"&&t.position.end.line+1===e.position.start.line;return!(i||s||R||l||c)}function l0r({node:e,previous:t}){let r=t.type==="list",n=e.type==="code"&&e.isIndented;return r&&n}function hyn(e){let t=e.findAncestor(r=>r.type==="linkReference"||r.type==="imageReference");return t&&(t.type!=="linkReference"||t.referenceType!=="full")}function Vqt(e,t=[]){let r=[" ",...Array.isArray(t)?t:[t]];return new RegExp(r.map(n=>D5e(n)).join("|"),"u").test(e)?`<${fyn(e,"<>")}>`:e}function q5e(e,t,r=!0){if(!e)return"";if(r)return" "+q5e(e,t,!1);if(e=_y(!1,e,/\\(?=["')])/gu,""),e.includes('"')&&e.includes("'")&&!e.includes(")"))return`(${e})`;let n=Zmn(e,t.singleQuote);return e=_y(!1,e,"\\","\\\\"),e=_y(!1,e,n,`\\${n}`),`${n}${e}${n}`}function dyn(e,t,r){return Math.max(t,Math.min(e,r))}function xyn(e){return e.index>0&&TCt(e.previous)==="next"}function jqt(e){return`[${(0,Imn.default)(e.label)}]`}function c0r(e){return`[^${e.label}]`}function wyn(){return e=>Kae(e,(t,r,[n])=>t.type!=="html"||vyn.test(t.value)||I0r.has(n.type)?t:{...t,type:"jsx"})}function K0r({isMDX:e}){return t=>{let r=(0,gyn.default)().use(Ayn.default,{commonmark:!0,...e&&{blocks:[Oyn]}}).use(qyn.default).use(Nyn).use(Cyn.default).use(e?$yn:p0r).use(Iyn).use(e?Pyn:p0r).use(Wyn);return r.run(r.parse(t))}}function p0r(){}var a7n,nCt,s7n,o7n,R7n,u7n,h0r,da,f0r,l7n,Wae,d0r,yW,c7n,T7n,iCt,p7n,x0r,_7n,h7n,f7n,Uae,d7n,x7n,m7n,k7n,y7n,q7n,C7n,Fae,A7n,Afe,g7n,b7n,E7n,v5e,O7n,v7n,D7n,S7n,m0r,$7n,Q7n,N7n,w7n,P7n,B7n,I7n,M7n,aCt,k0r,W7n,U7n,Lae,sCt,F7n,L7n,z7n,y0r,H7n,Y7n,K7n,q0r,G7n,yw,C0r,V7n,j7n,J7n,X7n,Z7n,A0r,emn,tmn,rmn,nmn,imn,amn,smn,g0r,omn,Rmn,umn,lmn,cmn,Tmn,pmn,_mn,hmn,fmn,dmn,xmn,mmn,kmn,ymn,qmn,Cmn,b0r,Amn,gmn,bmn,Emn,Omn,vmn,Dmn,Smn,$mn,Qmn,Nmn,wmn,E0r,Pmn,_y,Bmn,TO,Imn,yX,CW,S5e,zae,Hae,gfe,AW,qX,qW,bfe,Efe,Ofe,qw,vfe,Yae,O0r,gW,Wmn,Fmn,C5e,Jor,zmn,v0r,Iae,oCt,g5e,uCt,Ymn,D0r,S0r,E2,Xqt,Q0r,Jmn,m5e,Zor,Zmn,ekn,tkn,rkn,ikn,xfe,lCt,N0r,okn,Rkn,ukn,lkn,ckn,kfe,pkn,_kn,dkn,xkn,B0r,I0r,Cfe,kw,Mae,O5e,mkn,qkn,mfe,Ckn,bkn,Ekn,Okn,vkn,Dkn,$kn,wkn,Pkn,cCt,YC,UD,Bae,Zqt,cO,zkn,Hkn,Ykn,Kkn,r0r,Gkn,ryn,iyn,n0r,Ryn,fyn,myn,kyn,F0r,T0r,yyn,L0r,pCt,qyn,Cyn,Ayn,gyn,byn,Eyn,Oyn,vyn,Dyn,Syn,z0r,rCt,H0r,Y0r,$yn,Qyn,Nyn,Pyn,Byn,Iyn,Myn,Wyn,G0r,_0r,Uyn,V0r,Fyn,J0r=mp(()=>{a7n=Object.create,nCt=Object.defineProperty,s7n=Object.getOwnPropertyDescriptor,o7n=Object.getOwnPropertyNames,R7n=Object.getPrototypeOf,u7n=Object.prototype.hasOwnProperty,h0r=e=>{throw TypeError(e)},da=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),f0r=(e,t)=>{for(var r in t)nCt(e,r,{get:t[r],enumerable:!0})},l7n=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of o7n(t))!u7n.call(e,i)&&i!==r&&nCt(e,i,{get:()=>t[i],enumerable:!(n=s7n(t,i))||n.enumerable});return e},Wae=(e,t,r)=>(r=e!=null?a7n(R7n(e)):{},l7n(t||!e||!e.__esModule?nCt(r,"default",{value:e,enumerable:!0}):r,e)),d0r=(e,t,r)=>t.has(e)||h0r("Cannot "+r),yW=(e,t,r)=>(d0r(e,t,"read from private field"),r?r.call(e):t.get(e)),c7n=(e,t,r)=>t.has(e)?h0r("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),T7n=(e,t,r,n)=>(d0r(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),iCt=da((e,t)=>{"use strict";t.exports=r;function r(n){return String(n).replace(/\s+/g," ")}}),p7n=da((e,t)=>{"use strict";t.exports=y;var r=9,n=10,i=32,s=33,R=58,l=91,c=92,h=93,_=94,f=96,m=4,x=1024;function y(w){var F=this.Parser,H=this.Compiler;A(F)&&S(F,w),D(H)&&P(H)}function A(w){return!!(w&&w.prototype&&w.prototype.blockTokenizers)}function D(w){return!!(w&&w.prototype&&w.prototype.visitors)}function S(w,F){for(var H=F||{},G=w.prototype,ee=G.blockTokenizers,fe=G.inlineTokenizers,me=G.blockMethods,ve=G.inlineMethods,Ae=ee.definition,Ue=fe.reference,Ee=[],Me=-1,gt=me.length,xt;++Mem&&(Hi=void 0,Ma=ri);else{if(Hi0&&(ot=mt[an-1],ot.contentStart===ot.contentEnd);)an--;for(cs=pt(ht.slice(0,ot.contentEnd));++ri{e.isRemarkParser=t,e.isRemarkCompiler=r;function t(n){return!!(n&&n.prototype&&n.prototype.blockTokenizers)}function r(n){return!!(n&&n.prototype&&n.prototype.visitors)}}),_7n=da((e,t)=>{var r=x0r();t.exports=f;var n=9,i=32,s=36,R=48,l=57,c=92,h=["math","math-inline"],_="math-display";function f(y){let A=this.Parser,D=this.Compiler;r.isRemarkParser(A)&&m(A,y),r.isRemarkCompiler(D)&&x(D,y)}function m(y,A){let D=y.prototype,S=D.inlineMethods;M.locator=P,D.inlineTokenizers.math=M,S.splice(S.indexOf("text"),0,"math");function P(U,w){return U.indexOf("$",w)}function M(U,w,F){let H=w.length,G=!1,ee=!1,fe=0,me,ve,Ae,Ue,Ee,Me,gt;if(w.charCodeAt(fe)===c&&(ee=!0,fe++),w.charCodeAt(fe)===s){if(fe++,ee)return F?!0:U(w.slice(0,fe))({type:"text",value:"$"});if(w.charCodeAt(fe)===s&&(G=!0,fe++),Ae=w.charCodeAt(fe),!(Ae===i||Ae===n)){for(Ue=fe;fel)&&(!G||Ae===s)){Ee=fe-1,fe++,G&&fe++,Me=fe;break}}else ve===c&&(fe++,Ae=w.charCodeAt(fe+1));fe++}if(Me!==void 0)return F?!0:(gt=w.slice(Ue,Ee+1),U(w.slice(0,Me))({type:"inlineMath",value:gt,data:{hName:"span",hProperties:{className:h.concat(G&&A.inlineMathDouble?[_]:[])},hChildren:[{type:"text",value:gt}]}}))}}}}function x(y){let A=y.prototype;A.visitors.inlineMath=D;function D(S){let P="$";return(S.data&&S.data.hProperties&&S.data.hProperties.className||[]).includes(_)&&(P="$$"),P+S.value+P}}}),h7n=da((e,t)=>{var r=x0r();t.exports=_;var n=10,i=32,s=36,R=` +`,l="$",c=2,h=["math","math-display"];function _(){let x=this.Parser,y=this.Compiler;r.isRemarkParser(x)&&f(x),r.isRemarkCompiler(y)&&m(y)}function f(x){let y=x.prototype,A=y.blockMethods,D=y.interruptParagraph,S=y.interruptList,P=y.interruptBlockquote;y.blockTokenizers.math=M,A.splice(A.indexOf("fencedCode")+1,0,"math"),D.splice(D.indexOf("fencedCode")+1,0,["math"]),S.splice(S.indexOf("fencedCode")+1,0,["math"]),P.splice(P.indexOf("fencedCode")+1,0,["math"]);function M(U,w,F){var H=w.length,G=0;let ee,fe,me,ve,Ae,Ue,Ee,Me,gt,xt,Nt;for(;Gxt&&w.charCodeAt(ve-1)===i;)ve--;for(;ve>xt&&w.charCodeAt(ve-1)===s;)gt++,ve--;for(Ue<=gt&&w.indexOf(l,xt)===ve&&(Me=!0,Nt=ve);xt<=Nt&&xt-Gxt&&w.charCodeAt(Nt-1)===i;)Nt--;if((!Me||xt!==Nt)&&fe.push(w.slice(xt,Nt)),Me)break;G=me+1,me=w.indexOf(R,G+1),me=me===-1?H:me}return fe=fe.join(` +`),U(w.slice(0,me))({type:"math",value:fe,data:{hName:"div",hProperties:{className:h.concat()},hChildren:[{type:"text",value:fe}]}})}}}}function m(x){let y=x.prototype;y.visitors.math=A;function A(D){return`$$ +`+D.value+` +$$`}}}),f7n=da((e,t)=>{var r=_7n(),n=h7n();t.exports=i;function i(s){var R=s||{};n.call(this,R),r.call(this,R)}}),Uae=da((e,t)=>{t.exports=n;var r=Object.prototype.hasOwnProperty;function n(){for(var i={},s=0;s{typeof Object.create=="function"?t.exports=function(r,n){n&&(r.super_=n,r.prototype=Object.create(n.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(r,n){if(n){r.super_=n;var i=function(){};i.prototype=n.prototype,r.prototype=new i,r.prototype.constructor=r}}}),x7n=da((e,t)=>{"use strict";var r=Uae(),n=d7n();t.exports=i;function i(s){var R,l,c;n(_,s),n(h,_),R=_.prototype;for(l in R)c=R[l],c&&typeof c=="object"&&(R[l]="concat"in c?c.concat():r(c));return _;function h(f){return s.apply(this,f)}function _(){return this instanceof _?s.apply(this,arguments):new h(arguments)}}}),m7n=da((e,t)=>{"use strict";t.exports=r;function r(n,i,s){return R;function R(){var l=s||this,c=l[n];return l[n]=!i,h;function h(){l[n]=c}}}}),k7n=da((e,t)=>{"use strict";t.exports=r;function r(n){for(var i=String(n),s=[],R=/\r?\n|\r/g;R.exec(i);)s.push(R.lastIndex);return s.push(i.length+1),{toPoint:l,toPosition:l,toOffset:c};function l(h){var _=-1;if(h>-1&&hh)return{line:_+1,column:h-(s[_-1]||0)+1,offset:h}}return{}}function c(h){var _=h&&h.line,f=h&&h.column,m;return!isNaN(_)&&!isNaN(f)&&_-1 in s&&(m=(s[_-2]||0)+f-1||0),m>-1&&m{"use strict";t.exports=n;var r="\\";function n(i,s){return R;function R(l){for(var c=0,h=l.indexOf(r),_=i[s],f=[],m;h!==-1;)f.push(l.slice(c,h)),c=h+1,m=l.charAt(c),(!m||_.indexOf(m)===-1)&&f.push(r),h=l.indexOf(r,c+1);return f.push(l.slice(c)),f.join("")}}}),q7n=da((e,t)=>{t.exports={AElig:"\xC6",AMP:"&",Aacute:"\xC1",Acirc:"\xC2",Agrave:"\xC0",Aring:"\xC5",Atilde:"\xC3",Auml:"\xC4",COPY:"\xA9",Ccedil:"\xC7",ETH:"\xD0",Eacute:"\xC9",Ecirc:"\xCA",Egrave:"\xC8",Euml:"\xCB",GT:">",Iacute:"\xCD",Icirc:"\xCE",Igrave:"\xCC",Iuml:"\xCF",LT:"<",Ntilde:"\xD1",Oacute:"\xD3",Ocirc:"\xD4",Ograve:"\xD2",Oslash:"\xD8",Otilde:"\xD5",Ouml:"\xD6",QUOT:'"',REG:"\xAE",THORN:"\xDE",Uacute:"\xDA",Ucirc:"\xDB",Ugrave:"\xD9",Uuml:"\xDC",Yacute:"\xDD",aacute:"\xE1",acirc:"\xE2",acute:"\xB4",aelig:"\xE6",agrave:"\xE0",amp:"&",aring:"\xE5",atilde:"\xE3",auml:"\xE4",brvbar:"\xA6",ccedil:"\xE7",cedil:"\xB8",cent:"\xA2",copy:"\xA9",curren:"\xA4",deg:"\xB0",divide:"\xF7",eacute:"\xE9",ecirc:"\xEA",egrave:"\xE8",eth:"\xF0",euml:"\xEB",frac12:"\xBD",frac14:"\xBC",frac34:"\xBE",gt:">",iacute:"\xED",icirc:"\xEE",iexcl:"\xA1",igrave:"\xEC",iquest:"\xBF",iuml:"\xEF",laquo:"\xAB",lt:"<",macr:"\xAF",micro:"\xB5",middot:"\xB7",nbsp:"\xA0",not:"\xAC",ntilde:"\xF1",oacute:"\xF3",ocirc:"\xF4",ograve:"\xF2",ordf:"\xAA",ordm:"\xBA",oslash:"\xF8",otilde:"\xF5",ouml:"\xF6",para:"\xB6",plusmn:"\xB1",pound:"\xA3",quot:'"',raquo:"\xBB",reg:"\xAE",sect:"\xA7",shy:"\xAD",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",szlig:"\xDF",thorn:"\xFE",times:"\xD7",uacute:"\xFA",ucirc:"\xFB",ugrave:"\xF9",uml:"\xA8",uuml:"\xFC",yacute:"\xFD",yen:"\xA5",yuml:"\xFF"}}),C7n=da((e,t)=>{t.exports={0:"\uFFFD",128:"\u20AC",130:"\u201A",131:"\u0192",132:"\u201E",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02C6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017D",145:"\u2018",146:"\u2019",147:"\u201C",148:"\u201D",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02DC",153:"\u2122",154:"\u0161",155:"\u203A",156:"\u0153",158:"\u017E",159:"\u0178"}}),Fae=da((e,t)=>{"use strict";t.exports=r;function r(n){var i=typeof n=="string"?n.charCodeAt(0):n;return i>=48&&i<=57}}),A7n=da((e,t)=>{"use strict";t.exports=r;function r(n){var i=typeof n=="string"?n.charCodeAt(0):n;return i>=97&&i<=102||i>=65&&i<=70||i>=48&&i<=57}}),Afe=da((e,t)=>{"use strict";t.exports=r;function r(n){var i=typeof n=="string"?n.charCodeAt(0):n;return i>=97&&i<=122||i>=65&&i<=90}}),g7n=da((e,t)=>{"use strict";var r=Afe(),n=Fae();t.exports=i;function i(s){return r(s)||n(s)}}),b7n=da((e,t)=>{t.exports={AEli:"\xC6",AElig:"\xC6",AM:"&",AMP:"&",Aacut:"\xC1",Aacute:"\xC1",Abreve:"\u0102",Acir:"\xC2",Acirc:"\xC2",Acy:"\u0410",Afr:"\u{1D504}",Agrav:"\xC0",Agrave:"\xC0",Alpha:"\u0391",Amacr:"\u0100",And:"\u2A53",Aogon:"\u0104",Aopf:"\u{1D538}",ApplyFunction:"\u2061",Arin:"\xC5",Aring:"\xC5",Ascr:"\u{1D49C}",Assign:"\u2254",Atild:"\xC3",Atilde:"\xC3",Aum:"\xC4",Auml:"\xC4",Backslash:"\u2216",Barv:"\u2AE7",Barwed:"\u2306",Bcy:"\u0411",Because:"\u2235",Bernoullis:"\u212C",Beta:"\u0392",Bfr:"\u{1D505}",Bopf:"\u{1D539}",Breve:"\u02D8",Bscr:"\u212C",Bumpeq:"\u224E",CHcy:"\u0427",COP:"\xA9",COPY:"\xA9",Cacute:"\u0106",Cap:"\u22D2",CapitalDifferentialD:"\u2145",Cayleys:"\u212D",Ccaron:"\u010C",Ccedi:"\xC7",Ccedil:"\xC7",Ccirc:"\u0108",Cconint:"\u2230",Cdot:"\u010A",Cedilla:"\xB8",CenterDot:"\xB7",Cfr:"\u212D",Chi:"\u03A7",CircleDot:"\u2299",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",Colon:"\u2237",Colone:"\u2A74",Congruent:"\u2261",Conint:"\u222F",ContourIntegral:"\u222E",Copf:"\u2102",Coproduct:"\u2210",CounterClockwiseContourIntegral:"\u2233",Cross:"\u2A2F",Cscr:"\u{1D49E}",Cup:"\u22D3",CupCap:"\u224D",DD:"\u2145",DDotrahd:"\u2911",DJcy:"\u0402",DScy:"\u0405",DZcy:"\u040F",Dagger:"\u2021",Darr:"\u21A1",Dashv:"\u2AE4",Dcaron:"\u010E",Dcy:"\u0414",Del:"\u2207",Delta:"\u0394",Dfr:"\u{1D507}",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",Diamond:"\u22C4",DifferentialD:"\u2146",Dopf:"\u{1D53B}",Dot:"\xA8",DotDot:"\u20DC",DotEqual:"\u2250",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",Downarrow:"\u21D3",Dscr:"\u{1D49F}",Dstrok:"\u0110",ENG:"\u014A",ET:"\xD0",ETH:"\xD0",Eacut:"\xC9",Eacute:"\xC9",Ecaron:"\u011A",Ecir:"\xCA",Ecirc:"\xCA",Ecy:"\u042D",Edot:"\u0116",Efr:"\u{1D508}",Egrav:"\xC8",Egrave:"\xC8",Element:"\u2208",Emacr:"\u0112",EmptySmallSquare:"\u25FB",EmptyVerySmallSquare:"\u25AB",Eogon:"\u0118",Eopf:"\u{1D53C}",Epsilon:"\u0395",Equal:"\u2A75",EqualTilde:"\u2242",Equilibrium:"\u21CC",Escr:"\u2130",Esim:"\u2A73",Eta:"\u0397",Eum:"\xCB",Euml:"\xCB",Exists:"\u2203",ExponentialE:"\u2147",Fcy:"\u0424",Ffr:"\u{1D509}",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",Fopf:"\u{1D53D}",ForAll:"\u2200",Fouriertrf:"\u2131",Fscr:"\u2131",GJcy:"\u0403",G:">",GT:">",Gamma:"\u0393",Gammad:"\u03DC",Gbreve:"\u011E",Gcedil:"\u0122",Gcirc:"\u011C",Gcy:"\u0413",Gdot:"\u0120",Gfr:"\u{1D50A}",Gg:"\u22D9",Gopf:"\u{1D53E}",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",Gt:"\u226B",HARDcy:"\u042A",Hacek:"\u02C7",Hat:"^",Hcirc:"\u0124",Hfr:"\u210C",HilbertSpace:"\u210B",Hopf:"\u210D",HorizontalLine:"\u2500",Hscr:"\u210B",Hstrok:"\u0126",HumpDownHump:"\u224E",HumpEqual:"\u224F",IEcy:"\u0415",IJlig:"\u0132",IOcy:"\u0401",Iacut:"\xCD",Iacute:"\xCD",Icir:"\xCE",Icirc:"\xCE",Icy:"\u0418",Idot:"\u0130",Ifr:"\u2111",Igrav:"\xCC",Igrave:"\xCC",Im:"\u2111",Imacr:"\u012A",ImaginaryI:"\u2148",Implies:"\u21D2",Int:"\u222C",Integral:"\u222B",Intersection:"\u22C2",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",Iogon:"\u012E",Iopf:"\u{1D540}",Iota:"\u0399",Iscr:"\u2110",Itilde:"\u0128",Iukcy:"\u0406",Ium:"\xCF",Iuml:"\xCF",Jcirc:"\u0134",Jcy:"\u0419",Jfr:"\u{1D50D}",Jopf:"\u{1D541}",Jscr:"\u{1D4A5}",Jsercy:"\u0408",Jukcy:"\u0404",KHcy:"\u0425",KJcy:"\u040C",Kappa:"\u039A",Kcedil:"\u0136",Kcy:"\u041A",Kfr:"\u{1D50E}",Kopf:"\u{1D542}",Kscr:"\u{1D4A6}",LJcy:"\u0409",L:"<",LT:"<",Lacute:"\u0139",Lambda:"\u039B",Lang:"\u27EA",Laplacetrf:"\u2112",Larr:"\u219E",Lcaron:"\u013D",Lcedil:"\u013B",Lcy:"\u041B",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",LeftRightArrow:"\u2194",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",Leftarrow:"\u21D0",Leftrightarrow:"\u21D4",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",LessLess:"\u2AA1",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",Lfr:"\u{1D50F}",Ll:"\u22D8",Lleftarrow:"\u21DA",Lmidot:"\u013F",LongLeftArrow:"\u27F5",LongLeftRightArrow:"\u27F7",LongRightArrow:"\u27F6",Longleftarrow:"\u27F8",Longleftrightarrow:"\u27FA",Longrightarrow:"\u27F9",Lopf:"\u{1D543}",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",Lscr:"\u2112",Lsh:"\u21B0",Lstrok:"\u0141",Lt:"\u226A",Map:"\u2905",Mcy:"\u041C",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",MinusPlus:"\u2213",Mopf:"\u{1D544}",Mscr:"\u2133",Mu:"\u039C",NJcy:"\u040A",Nacute:"\u0143",Ncaron:"\u0147",Ncedil:"\u0145",Ncy:"\u041D",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` +`,Nfr:"\u{1D511}",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",Not:"\u2AEC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",Nscr:"\u{1D4A9}",Ntild:"\xD1",Ntilde:"\xD1",Nu:"\u039D",OElig:"\u0152",Oacut:"\xD3",Oacute:"\xD3",Ocir:"\xD4",Ocirc:"\xD4",Ocy:"\u041E",Odblac:"\u0150",Ofr:"\u{1D512}",Ograv:"\xD2",Ograve:"\xD2",Omacr:"\u014C",Omega:"\u03A9",Omicron:"\u039F",Oopf:"\u{1D546}",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",Or:"\u2A54",Oscr:"\u{1D4AA}",Oslas:"\xD8",Oslash:"\xD8",Otild:"\xD5",Otilde:"\xD5",Otimes:"\u2A37",Oum:"\xD6",Ouml:"\xD6",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",PartialD:"\u2202",Pcy:"\u041F",Pfr:"\u{1D513}",Phi:"\u03A6",Pi:"\u03A0",PlusMinus:"\xB1",Poincareplane:"\u210C",Popf:"\u2119",Pr:"\u2ABB",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",Prime:"\u2033",Product:"\u220F",Proportion:"\u2237",Proportional:"\u221D",Pscr:"\u{1D4AB}",Psi:"\u03A8",QUO:'"',QUOT:'"',Qfr:"\u{1D514}",Qopf:"\u211A",Qscr:"\u{1D4AC}",RBarr:"\u2910",RE:"\xAE",REG:"\xAE",Racute:"\u0154",Rang:"\u27EB",Rarr:"\u21A0",Rarrtl:"\u2916",Rcaron:"\u0158",Rcedil:"\u0156",Rcy:"\u0420",Re:"\u211C",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",Rfr:"\u211C",Rho:"\u03A1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",Rightarrow:"\u21D2",Ropf:"\u211D",RoundImplies:"\u2970",Rrightarrow:"\u21DB",Rscr:"\u211B",Rsh:"\u21B1",RuleDelayed:"\u29F4",SHCHcy:"\u0429",SHcy:"\u0428",SOFTcy:"\u042C",Sacute:"\u015A",Sc:"\u2ABC",Scaron:"\u0160",Scedil:"\u015E",Scirc:"\u015C",Scy:"\u0421",Sfr:"\u{1D516}",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",Sigma:"\u03A3",SmallCircle:"\u2218",Sopf:"\u{1D54A}",Sqrt:"\u221A",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",Sscr:"\u{1D4AE}",Star:"\u22C6",Sub:"\u22D0",Subset:"\u22D0",SubsetEqual:"\u2286",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",SuchThat:"\u220B",Sum:"\u2211",Sup:"\u22D1",Superset:"\u2283",SupersetEqual:"\u2287",Supset:"\u22D1",THOR:"\xDE",THORN:"\xDE",TRADE:"\u2122",TSHcy:"\u040B",TScy:"\u0426",Tab:" ",Tau:"\u03A4",Tcaron:"\u0164",Tcedil:"\u0162",Tcy:"\u0422",Tfr:"\u{1D517}",Therefore:"\u2234",Theta:"\u0398",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",Topf:"\u{1D54B}",TripleDot:"\u20DB",Tscr:"\u{1D4AF}",Tstrok:"\u0166",Uacut:"\xDA",Uacute:"\xDA",Uarr:"\u219F",Uarrocir:"\u2949",Ubrcy:"\u040E",Ubreve:"\u016C",Ucir:"\xDB",Ucirc:"\xDB",Ucy:"\u0423",Udblac:"\u0170",Ufr:"\u{1D518}",Ugrav:"\xD9",Ugrave:"\xD9",Umacr:"\u016A",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",Uopf:"\u{1D54C}",UpArrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",UpEquilibrium:"\u296E",UpTee:"\u22A5",UpTeeArrow:"\u21A5",Uparrow:"\u21D1",Updownarrow:"\u21D5",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",Upsilon:"\u03A5",Uring:"\u016E",Uscr:"\u{1D4B0}",Utilde:"\u0168",Uum:"\xDC",Uuml:"\xDC",VDash:"\u22AB",Vbar:"\u2AEB",Vcy:"\u0412",Vdash:"\u22A9",Vdashl:"\u2AE6",Vee:"\u22C1",Verbar:"\u2016",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",Vopf:"\u{1D54D}",Vscr:"\u{1D4B1}",Vvdash:"\u22AA",Wcirc:"\u0174",Wedge:"\u22C0",Wfr:"\u{1D51A}",Wopf:"\u{1D54E}",Wscr:"\u{1D4B2}",Xfr:"\u{1D51B}",Xi:"\u039E",Xopf:"\u{1D54F}",Xscr:"\u{1D4B3}",YAcy:"\u042F",YIcy:"\u0407",YUcy:"\u042E",Yacut:"\xDD",Yacute:"\xDD",Ycirc:"\u0176",Ycy:"\u042B",Yfr:"\u{1D51C}",Yopf:"\u{1D550}",Yscr:"\u{1D4B4}",Yuml:"\u0178",ZHcy:"\u0416",Zacute:"\u0179",Zcaron:"\u017D",Zcy:"\u0417",Zdot:"\u017B",ZeroWidthSpace:"\u200B",Zeta:"\u0396",Zfr:"\u2128",Zopf:"\u2124",Zscr:"\u{1D4B5}",aacut:"\xE1",aacute:"\xE1",abreve:"\u0103",ac:"\u223E",acE:"\u223E\u0333",acd:"\u223F",acir:"\xE2",acirc:"\xE2",acut:"\xB4",acute:"\xB4",acy:"\u0430",aeli:"\xE6",aelig:"\xE6",af:"\u2061",afr:"\u{1D51E}",agrav:"\xE0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",alpha:"\u03B1",amacr:"\u0101",amalg:"\u2A3F",am:"&",amp:"&",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",aogon:"\u0105",aopf:"\u{1D552}",ap:"\u2248",apE:"\u2A70",apacir:"\u2A6F",ape:"\u224A",apid:"\u224B",apos:"'",approx:"\u2248",approxeq:"\u224A",arin:"\xE5",aring:"\xE5",ascr:"\u{1D4B6}",ast:"*",asymp:"\u2248",asympeq:"\u224D",atild:"\xE3",atilde:"\xE3",aum:"\xE4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",bNot:"\u2AED",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",barvee:"\u22BD",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",beta:"\u03B2",beth:"\u2136",between:"\u226C",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bnot:"\u2310",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxDL:"\u2557",boxDR:"\u2554",boxDl:"\u2556",boxDr:"\u2553",boxH:"\u2550",boxHD:"\u2566",boxHU:"\u2569",boxHd:"\u2564",boxHu:"\u2567",boxUL:"\u255D",boxUR:"\u255A",boxUl:"\u255C",boxUr:"\u2559",boxV:"\u2551",boxVH:"\u256C",boxVL:"\u2563",boxVR:"\u2560",boxVh:"\u256B",boxVl:"\u2562",boxVr:"\u255F",boxbox:"\u29C9",boxdL:"\u2555",boxdR:"\u2552",boxdl:"\u2510",boxdr:"\u250C",boxh:"\u2500",boxhD:"\u2565",boxhU:"\u2568",boxhd:"\u252C",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxuL:"\u255B",boxuR:"\u2558",boxul:"\u2518",boxur:"\u2514",boxv:"\u2502",boxvH:"\u256A",boxvL:"\u2561",boxvR:"\u255E",boxvh:"\u253C",boxvl:"\u2524",boxvr:"\u251C",bprime:"\u2035",breve:"\u02D8",brvba:"\xA6",brvbar:"\xA6",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",bumpeq:"\u224F",cacute:"\u0107",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",ccaps:"\u2A4D",ccaron:"\u010D",ccedi:"\xE7",ccedil:"\xE7",ccirc:"\u0109",ccups:"\u2A4C",ccupssm:"\u2A50",cdot:"\u010B",cedi:"\xB8",cedil:"\xB8",cemptyv:"\u29B2",cen:"\xA2",cent:"\xA2",centerdot:"\xB7",cfr:"\u{1D520}",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",chi:"\u03C7",cir:"\u25CB",cirE:"\u29C3",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledR:"\xAE",circledS:"\u24C8",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",clubs:"\u2663",clubsuit:"\u2663",colon:":",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",conint:"\u222E",copf:"\u{1D554}",coprod:"\u2210",cop:"\xA9",copy:"\xA9",copysr:"\u2117",crarr:"\u21B5",cross:"\u2717",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cup:"\u222A",cupbrcap:"\u2A48",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curre:"\xA4",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dArr:"\u21D3",dHar:"\u2965",dagger:"\u2020",daleth:"\u2138",darr:"\u2193",dash:"\u2010",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",dcaron:"\u010F",dcy:"\u0434",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",ddotseq:"\u2A77",de:"\xB0",deg:"\xB0",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",dfr:"\u{1D521}",dharl:"\u21C3",dharr:"\u21C2",diam:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divid:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",dopf:"\u{1D555}",dot:"\u02D9",doteq:"\u2250",doteqdot:"\u2251",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",downarrow:"\u2193",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",dscr:"\u{1D4B9}",dscy:"\u0455",dsol:"\u29F6",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",dzcy:"\u045F",dzigrarr:"\u27FF",eDDot:"\u2A77",eDot:"\u2251",eacut:"\xE9",eacute:"\xE9",easter:"\u2A6E",ecaron:"\u011B",ecir:"\xEA",ecirc:"\xEA",ecolon:"\u2255",ecy:"\u044D",edot:"\u0117",ee:"\u2147",efDot:"\u2252",efr:"\u{1D522}",eg:"\u2A9A",egrav:"\xE8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",emptyv:"\u2205",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",eng:"\u014B",ensp:"\u2002",eogon:"\u0119",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",equals:"=",equest:"\u225F",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erDot:"\u2253",erarr:"\u2971",escr:"\u212F",esdot:"\u2250",esim:"\u2242",eta:"\u03B7",et:"\xF0",eth:"\xF0",eum:"\xEB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",expectation:"\u2130",exponentiale:"\u2147",fallingdotseq:"\u2252",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",ffr:"\u{1D523}",filig:"\uFB01",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",fopf:"\u{1D557}",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",fpartint:"\u2A0D",frac1:"\xBC",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac3:"\xBE",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",gE:"\u2267",gEl:"\u2A8C",gacute:"\u01F5",gamma:"\u03B3",gammad:"\u03DD",gap:"\u2A86",gbreve:"\u011F",gcirc:"\u011D",gcy:"\u0433",gdot:"\u0121",ge:"\u2265",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",gfr:"\u{1D524}",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",gjcy:"\u0453",gl:"\u2277",glE:"\u2A92",gla:"\u2AA5",glj:"\u2AA4",gnE:"\u2269",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",gopf:"\u{1D558}",grave:"`",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",g:">",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",hArr:"\u21D4",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",hardcy:"\u044A",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",hbar:"\u210F",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",horbar:"\u2015",hscr:"\u{1D4BD}",hslash:"\u210F",hstrok:"\u0127",hybull:"\u2043",hyphen:"\u2010",iacut:"\xED",iacute:"\xED",ic:"\u2063",icir:"\xEE",icirc:"\xEE",icy:"\u0438",iecy:"\u0435",iexc:"\xA1",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",igrav:"\xEC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",ijlig:"\u0133",imacr:"\u012B",image:"\u2111",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",int:"\u222B",intcal:"\u22BA",integers:"\u2124",intercal:"\u22BA",intlarhk:"\u2A17",intprod:"\u2A3C",iocy:"\u0451",iogon:"\u012F",iopf:"\u{1D55A}",iota:"\u03B9",iprod:"\u2A3C",iques:"\xBF",iquest:"\xBF",iscr:"\u{1D4BE}",isin:"\u2208",isinE:"\u22F9",isindot:"\u22F5",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",itilde:"\u0129",iukcy:"\u0456",ium:"\xEF",iuml:"\xEF",jcirc:"\u0135",jcy:"\u0439",jfr:"\u{1D527}",jmath:"\u0237",jopf:"\u{1D55B}",jscr:"\u{1D4BF}",jsercy:"\u0458",jukcy:"\u0454",kappa:"\u03BA",kappav:"\u03F0",kcedil:"\u0137",kcy:"\u043A",kfr:"\u{1D528}",kgreen:"\u0138",khcy:"\u0445",kjcy:"\u045C",kopf:"\u{1D55C}",kscr:"\u{1D4C0}",lAarr:"\u21DA",lArr:"\u21D0",lAtail:"\u291B",lBarr:"\u290E",lE:"\u2266",lEg:"\u2A8B",lHar:"\u2962",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",lambda:"\u03BB",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",laqu:"\xAB",laquo:"\xAB",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",lcaron:"\u013E",lcedil:"\u013C",lceil:"\u2308",lcub:"{",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",leftarrow:"\u2190",leftarrowtail:"\u21A2",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",leftthreetimes:"\u22CB",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",lessgtr:"\u2276",lesssim:"\u2272",lfisht:"\u297C",lfloor:"\u230A",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",ljcy:"\u0459",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",llhard:"\u296B",lltri:"\u25FA",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnE:"\u2268",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",lstrok:"\u0142",l:"<",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltrPar:"\u2996",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",mDDot:"\u223A",mac:"\xAF",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",mcy:"\u043C",mdash:"\u2014",measuredangle:"\u2221",mfr:"\u{1D52A}",mho:"\u2127",micr:"\xB5",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middo:"\xB7",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",mstpos:"\u223E",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nGg:"\u22D9\u0338",nGt:"\u226B\u20D2",nGtv:"\u226B\u0338",nLeftarrow:"\u21CD",nLeftrightarrow:"\u21CE",nLl:"\u22D8\u0338",nLt:"\u226A\u20D2",nLtv:"\u226A\u0338",nRightarrow:"\u21CF",nVDash:"\u22AF",nVdash:"\u22AE",nabla:"\u2207",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbs:"\xA0",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",ncaron:"\u0148",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",neArr:"\u21D7",nearhk:"\u2924",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",nexist:"\u2204",nexists:"\u2204",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",ngsim:"\u2275",ngt:"\u226F",ngtr:"\u226F",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",njcy:"\u045A",nlArr:"\u21CD",nlE:"\u2266\u0338",nlarr:"\u219A",nldr:"\u2025",nle:"\u2270",nleftarrow:"\u219A",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nlsim:"\u2274",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nmid:"\u2224",nopf:"\u{1D55F}",no:"\xAC",not:"\xAC",notin:"\u2209",notinE:"\u22F9\u0338",notindot:"\u22F5\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",ntild:"\xF1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvDash:"\u22AD",nvHarr:"\u2904",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwArr:"\u21D6",nwarhk:"\u2923",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",oS:"\u24C8",oacut:"\xF3",oacute:"\xF3",oast:"\u229B",ocir:"\xF4",ocirc:"\xF4",ocy:"\u043E",odash:"\u229D",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",oelig:"\u0153",ofcir:"\u29BF",ofr:"\u{1D52C}",ogon:"\u02DB",ograv:"\xF2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",omacr:"\u014D",omega:"\u03C9",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",oopf:"\u{1D560}",opar:"\u29B7",operp:"\u29B9",oplus:"\u2295",or:"\u2228",orarr:"\u21BB",ord:"\xBA",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oscr:"\u2134",oslas:"\xF8",oslash:"\xF8",osol:"\u2298",otild:"\xF5",otilde:"\xF5",otimes:"\u2297",otimesas:"\u2A36",oum:"\xF6",ouml:"\xF6",ovbar:"\u233D",par:"\xB6",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",pfr:"\u{1D52D}",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",plusm:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",pointint:"\u2A15",popf:"\u{1D561}",poun:"\xA3",pound:"\xA3",pr:"\u227A",prE:"\u2AB3",prap:"\u2AB7",prcue:"\u227C",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",prime:"\u2032",primes:"\u2119",prnE:"\u2AB5",prnap:"\u2AB9",prnsim:"\u22E8",prod:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",pscr:"\u{1D4C5}",psi:"\u03C8",puncsp:"\u2008",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",qprime:"\u2057",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quo:'"',quot:'"',rAarr:"\u21DB",rArr:"\u21D2",rAtail:"\u291C",rBarr:"\u290F",rHar:"\u2964",race:"\u223D\u0331",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raqu:"\xBB",raquo:"\xBB",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",rcaron:"\u0159",rcedil:"\u0157",rceil:"\u2309",rcub:"}",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",re:"\xAE",reg:"\xAE",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",rho:"\u03C1",rhov:"\u03F1",rightarrow:"\u2192",rightarrowtail:"\u21A3",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",rightthreetimes:"\u22CC",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",rsaquo:"\u203A",rscr:"\u{1D4C7}",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",ruluhar:"\u2968",rx:"\u211E",sacute:"\u015B",sbquo:"\u201A",sc:"\u227B",scE:"\u2AB4",scap:"\u2AB8",scaron:"\u0161",sccue:"\u227D",sce:"\u2AB0",scedil:"\u015F",scirc:"\u015D",scnE:"\u2AB6",scnap:"\u2ABA",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",seArr:"\u21D8",searhk:"\u2925",searr:"\u2198",searrow:"\u2198",sec:"\xA7",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",shchcy:"\u0449",shcy:"\u0448",shortmid:"\u2223",shortparallel:"\u2225",sh:"\xAD",shy:"\xAD",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",square:"\u25A1",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",subE:"\u2AC5",subdot:"\u2ABD",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",sum:"\u2211",sung:"\u266A",sup:"\u2283",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",supE:"\u2AC6",supdot:"\u2ABE",supdsub:"\u2AD8",supe:"\u2287",supedot:"\u2AC4",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swArr:"\u21D9",swarhk:"\u2926",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szli:"\xDF",szlig:"\xDF",target:"\u2316",tau:"\u03C4",tbrk:"\u23B4",tcaron:"\u0165",tcedil:"\u0163",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",thor:"\xFE",thorn:"\xFE",tilde:"\u02DC",time:"\xD7",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",tscr:"\u{1D4C9}",tscy:"\u0446",tshcy:"\u045B",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",uArr:"\u21D1",uHar:"\u2963",uacut:"\xFA",uacute:"\xFA",uarr:"\u2191",ubrcy:"\u045E",ubreve:"\u016D",ucir:"\xFB",ucirc:"\xFB",ucy:"\u0443",udarr:"\u21C5",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",ufr:"\u{1D532}",ugrav:"\xF9",ugrave:"\xF9",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",umacr:"\u016B",um:"\xA8",uml:"\xA8",uogon:"\u0173",uopf:"\u{1D566}",uparrow:"\u2191",updownarrow:"\u2195",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",upsi:"\u03C5",upsih:"\u03D2",upsilon:"\u03C5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",uring:"\u016F",urtri:"\u25F9",uscr:"\u{1D4CA}",utdot:"\u22F0",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",uum:"\xFC",uuml:"\xFC",uwangle:"\u29A7",vArr:"\u21D5",vBar:"\u2AE8",vBarv:"\u2AE9",vDash:"\u22A8",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vcy:"\u0432",vdash:"\u22A2",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",vert:"|",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",vzigzag:"\u299A",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",wfr:"\u{1D534}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",yacut:"\xFD",yacute:"\xFD",yacy:"\u044F",ycirc:"\u0177",ycy:"\u044B",ye:"\xA5",yen:"\xA5",yfr:"\u{1D536}",yicy:"\u0457",yopf:"\u{1D56A}",yscr:"\u{1D4CE}",yucy:"\u044E",yum:"\xFF",yuml:"\xFF",zacute:"\u017A",zcaron:"\u017E",zcy:"\u0437",zdot:"\u017C",zeetrf:"\u2128",zeta:"\u03B6",zfr:"\u{1D537}",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"}}),E7n=da((e,t)=>{"use strict";var r=b7n();t.exports=i;var n={}.hasOwnProperty;function i(s){return n.call(r,s)?r[s]:!1}}),v5e=da((e,t)=>{"use strict";var r=q7n(),n=C7n(),i=Fae(),s=A7n(),R=g7n(),l=E7n();t.exports=at;var c={}.hasOwnProperty,h=String.fromCharCode,_=Function.prototype,f={warning:null,reference:null,text:null,warningContext:null,referenceContext:null,textContext:null,position:{},additional:null,attribute:!1,nonTerminated:!0},m=9,x=10,y=12,A=32,D=38,S=59,P=60,M=61,U=35,w=88,F=120,H=65533,G="named",ee="hexadecimal",fe="decimal",me={};me[ee]=16,me[fe]=10;var ve={};ve[G]=R,ve[fe]=i,ve[ee]=s;var Ae=1,Ue=2,Ee=3,Me=4,gt=5,xt=6,Nt=7,lt={};lt[Ae]="Named character references must be terminated by a semicolon",lt[Ue]="Numeric character references must be terminated by a semicolon",lt[Ee]="Named character references cannot be empty",lt[Me]="Numeric character references cannot be empty",lt[gt]="Named character references must be known",lt[xt]="Numeric character references cannot be disallowed",lt[Nt]="Numeric character references cannot be outside the permissible Unicode range";function at(Ut,pt){var ht={},He,jt;pt||(pt={});for(jt in f)He=pt[jt],ht[jt]=He??f[jt];return(ht.position.indent||ht.position.start)&&(ht.indent=ht.position.indent||[],ht.position=ht.position.start),_t(Ut,ht)}function _t(Ut,pt){var ht=pt.additional,He=pt.nonTerminated,jt=pt.text,zr=pt.reference,Bn=pt.warning,an=pt.textContext,ri=pt.referenceContext,Zr=pt.warningContext,bn=pt.position,Zn=pt.indent||[],mi=Ut.length,Sn=0,$i=-1,cs=bn.column||1,Ti=bn.line||1,Wi="",Fn=[],Hi,Ma,mt,ot,Je,Ct,Pt,Zt,dr,vr,ln,Mn,li,Pi,Ss,Ca,Jr,Mr,An;for(typeof ht=="string"&&(ht=ht.charCodeAt(0)),Ca=Ar(),Zt=Bn?nn:_,Sn--,mi++;++Sn65535&&(Ct-=65536,vr+=h(Ct>>>10|55296),Ct=56320|Ct&1023),Ct=vr+h(Ct))):Pi!==G&&Zt(Me,Mr)),Ct?(On(),Ca=Ar(),Sn=An-1,cs+=An-li+1,Fn.push(Ct),Jr=Ar(),Jr.offset++,zr&&zr.call(ri,Ct,{start:Ca,end:Jr},Ut.slice(li-1,An)),Ca=Jr):(ot=Ut.slice(li-1,An),Wi+=ot,cs+=ot.length,Sn=An-1)}else Je===10&&(Ti++,$i++,cs=0),Je===Je?(Wi+=h(Je),cs++):On();return Fn.join("");function Ar(){return{line:Ti,column:cs,offset:Sn+(bn.offset||0)}}function nn(bi,ji){var Ta=Ar();Ta.column+=ji,Ta.offset+=ji,Bn.call(Zr,lt[bi],Ta,bi)}function On(){Wi&&(Fn.push(Wi),jt&&jt.call(an,Wi,{start:Ca,end:Ar()}),Wi="")}}function Ve(Ut){return Ut>=55296&&Ut<=57343||Ut>1114111}function Dt(Ut){return Ut>=1&&Ut<=8||Ut===11||Ut>=13&&Ut<=31||Ut>=127&&Ut<=159||Ut>=64976&&Ut<=65007||(Ut&65535)===65535||(Ut&65535)===65534}}),O7n=da((e,t)=>{"use strict";var r=Uae(),n=v5e();t.exports=i;function i(s){return l.raw=c,l;function R(_){for(var f=s.offset,m=_.line,x=[];++m&&m in f;)x.push((f[m]||0)+1);return{start:_,indent:x}}function l(_,f,m){n(_,{position:R(f),warning:h,text:m,reference:m,textContext:s,referenceContext:s})}function c(_,f,m){return n(_,r(m,{position:R(f),warning:h}))}function h(_,f,m){m!==3&&s.file.message(_,f)}}}),v7n=da((e,t)=>{"use strict";t.exports=r;function r(R){return l;function l(c,h){var _=this,f=_.offset,m=[],x=_[R+"Methods"],y=_[R+"Tokenizers"],A=h.line,D=h.column,S,P,M,U,w,F;if(!c)return m;for(Ue.now=ee,Ue.file=_.file,H("");c;){for(S=-1,P=x.length,w=!1;++S{"use strict";t.exports=s;var r=["\\","`","*","{","}","[","]","(",")","#","+","-",".","!","_",">"],n=r.concat(["~","|"]),i=n.concat([` +`,'"',"$","%","&","'",",","/",":",";","<","=","?","@","^"]);s.default=r,s.gfm=n,s.commonmark=i;function s(R){var l=R||{};return l.commonmark?i:l.gfm?n:r}}),S7n=da((e,t)=>{"use strict";t.exports=["address","article","aside","base","basefont","blockquote","body","caption","center","col","colgroup","dd","details","dialog","dir","div","dl","dt","fieldset","figcaption","figure","footer","form","frame","frameset","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","iframe","legend","li","link","main","menu","menuitem","meta","nav","noframes","ol","optgroup","option","p","param","pre","section","source","title","summary","table","tbody","td","tfoot","th","thead","title","tr","track","ul"]}),m0r=da((e,t)=>{"use strict";t.exports={position:!0,gfm:!0,commonmark:!1,pedantic:!1,blocks:S7n()}}),$7n=da((e,t)=>{"use strict";var r=Uae(),n=D7n(),i=m0r();t.exports=s;function s(R){var l=this,c=l.options,h,_;if(R==null)R={};else if(typeof R=="object")R=r(R);else throw new Error("Invalid value `"+R+"` for setting `options`");for(h in i){if(_=R[h],_==null&&(_=c[h]),h!=="blocks"&&typeof _!="boolean"||h==="blocks"&&typeof _!="object")throw new Error("Invalid value `"+_+"` for setting `options."+h+"`");R[h]=_}return l.options=R,l.escape=n(R),l}}),Q7n=da((e,t)=>{"use strict";t.exports=r;function r(l){if(l==null)return R;if(typeof l=="string")return s(l);if(typeof l=="object")return"length"in l?i(l):n(l);if(typeof l=="function")return l;throw new Error("Expected function, string, or object as test")}function n(l){return c;function c(h){var _;for(_ in l)if(h[_]!==l[_])return!1;return!0}}function i(l){for(var c=[],h=-1;++h{t.exports=r;function r(n){return n}}),w7n=da((e,t)=>{"use strict";t.exports=l;var r=Q7n(),n=N7n(),i=!0,s="skip",R=!1;l.CONTINUE=i,l.SKIP=s,l.EXIT=R;function l(h,_,f,m){var x,y;typeof _=="function"&&typeof f!="function"&&(m=f,f=_,_=null),y=r(_),x=m?-1:1,A(h,null,[])();function A(D,S,P){var M=typeof D=="object"&&D!==null?D:{},U;return typeof M.type=="string"&&(U=typeof M.tagName=="string"?M.tagName:typeof M.name=="string"?M.name:void 0,w.displayName="node ("+n(M.type+(U?"<"+U+">":""))+")"),w;function w(){var F=P.concat(D),H=[],G,ee;if((!_||y(D,S,P[P.length-1]||null))&&(H=c(f(D,P)),H[0]===R))return H;if(D.children&&H[0]!==s)for(ee=(m?D.children.length:-1)+x;ee>-1&&ee{"use strict";t.exports=R;var r=w7n(),n=r.CONTINUE,i=r.SKIP,s=r.EXIT;R.CONTINUE=n,R.SKIP=i,R.EXIT=s;function R(l,c,h,_){typeof c=="function"&&typeof h!="function"&&(_=h,h=c,c=null),r(l,c,f,_);function f(m,x){var y=x[x.length-1],A=y?y.children.indexOf(m):null;return h(m,A,y)}}}),B7n=da((e,t)=>{"use strict";var r=P7n();t.exports=n;function n(R,l){return r(R,l?i:s),R}function i(R){delete R.position}function s(R){R.position=void 0}}),I7n=da((e,t)=>{"use strict";var r=Uae(),n=B7n();t.exports=R;var i=` +`,s=/\r\n|\r/g;function R(){var l=this,c=String(l.file),h={line:1,column:1,offset:0},_=r(h),f;return c=c.replace(s,i),c.charCodeAt(0)===65279&&(c=c.slice(1),_.column++,_.offset++),f={type:"root",children:l.tokenizeBlock(c,_),position:{start:h,end:l.eof||r(h)}},l.options.position||n(f,!0),f}}),M7n=da((e,t)=>{"use strict";var r=/^[ \t]*(\n|$)/;t.exports=n;function n(i,s,R){for(var l,c="",h=0,_=s.length;h<_&&(l=r.exec(s.slice(h)),l!=null);)h+=l[0].length,c+=l[0];if(c!==""){if(R)return!0;i(c)}}}),aCt=da((e,t)=>{"use strict";var r="",n;t.exports=i;function i(s,R){if(typeof s!="string")throw new TypeError("expected a string");if(R===1)return s;if(R===2)return s+s;var l=s.length*R;if(n!==s||typeof n>"u")n=s,r="";else if(r.length>=l)return r.substr(0,l);for(;l>r.length&&R>1;)R&1&&(r+=s),R>>=1,s+=s;return r+=s,r=r.substr(0,l),r}}),k0r=da((e,t)=>{"use strict";t.exports=r;function r(n){return String(n).replace(/\n+$/,"")}}),W7n=da((e,t)=>{"use strict";var r=aCt(),n=k0r();t.exports=h;var i=` +`,s=" ",R=" ",l=4,c=r(R,l);function h(_,f,m){for(var x=-1,y=f.length,A="",D="",S="",P="",M,U,w;++x{"use strict";t.exports=h;var r=` +`,n=" ",i=" ",s="~",R="`",l=3,c=4;function h(_,f,m){var x=this,y=x.options.gfm,A=f.length+1,D=0,S="",P,M,U,w,F,H,G,ee,fe,me,ve,Ae,Ue;if(y){for(;D=c)){for(G="";D{e=t.exports=r;function r(n){return n.trim?n.trim():e.right(e.left(n))}e.left=function(n){return n.trimLeft?n.trimLeft():n.replace(/^\s\s*/,"")},e.right=function(n){if(n.trimRight)return n.trimRight();for(var i=/\s/,s=n.length;i.test(n.charAt(--s)););return n.slice(0,s+1)}}),sCt=da((e,t)=>{"use strict";t.exports=r;function r(n,i,s,R){for(var l=n.length,c=-1,h,_;++c{"use strict";var r=Lae(),n=sCt();t.exports=c;var i=` +`,s=" ",R=" ",l=">";function c(h,_,f){for(var m=this,x=m.offset,y=m.blockTokenizers,A=m.interruptBlockquote,D=h.now(),S=D.line,P=_.length,M=[],U=[],w=[],F,H=0,G,ee,fe,me,ve,Ae,Ue,Ee;H{"use strict";t.exports=l;var r=` +`,n=" ",i=" ",s="#",R=6;function l(c,h,_){for(var f=this,m=f.options.pedantic,x=h.length+1,y=-1,A=c.now(),D="",S="",P,M,U;++yR)&&!(!U||!m&&h.charAt(y+1)===s)){for(x=h.length+1,M="";++y{"use strict";t.exports=h;var r=" ",n=` +`,i=" ",s="*",R="-",l="_",c=3;function h(_,f,m){for(var x=-1,y=f.length+1,A="",D,S,P,M;++x=c&&(!D||D===n)?(A+=M,m?!0:_(A)({type:"thematicBreak"})):void 0}}),y0r=da((e,t)=>{"use strict";t.exports=R;var r=" ",n=" ",i=1,s=4;function R(l){for(var c=0,h=0,_=l.charAt(c),f={},m,x=0;_===r||_===n;){for(m=_===r?s:i,h+=m,m>1&&(h=Math.floor(h/m)*m);x{"use strict";var r=Lae(),n=aCt(),i=y0r();t.exports=c;var s=` +`,R=" ",l="!";function c(h,_){var f=h.split(s),m=f.length+1,x=1/0,y=[],A,D,S;for(f.unshift(n(R,_)+l);m--;)if(D=i(f[m]),y[m]=D.stops,r(f[m]).length!==0)if(D.indent)D.indent>0&&D.indent{"use strict";var r=Lae(),n=aCt(),i=Fae(),s=y0r(),R=H7n(),l=sCt();t.exports=G;var c="*",h="_",_="+",f="-",m=".",x=" ",y=` +`,A=" ",D=")",S="x",P=4,M=/\n\n(?!\s*$)/,U=/^\[([ X\tx])][ \t]/,w=/^([ \t]*)([*+-]|\d+[.)])( {1,4}(?! )| |\t|$|(?=\n))([^\n]*)/,F=/^([ \t]*)([*+-]|\d+[.)])([ \t]+)/,H=/^( {1,4}|\t)?/gm;function G(ve,Ae,Ue){for(var Ee=this,Me=Ee.options.commonmark,gt=Ee.options.pedantic,xt=Ee.blockTokenizers,Nt=Ee.interruptList,lt=0,at=Ae.length,_t=null,Ve,Dt,Ut,pt,ht,He,jt,zr,Bn,an,ri,Zr,bn,Zn,mi,Sn,$i,cs,Ti,Wi=!1,Fn,Hi,Ma,mt;lt=$i.indent&&(mt=!0),pt=Ae.charAt(lt),Bn=null,!mt){if(pt===c||pt===_||pt===f)Bn=pt,lt++,Ve++;else{for(Dt="";lt=$i.indent||Ve>P),zr=!1,lt=jt;if(ri=Ae.slice(jt,He),an=jt===lt?ri:Ae.slice(lt,He),(Bn===c||Bn===h||Bn===f)&&xt.thematicBreak.call(Ee,ve,ri,!0))break;if(Zr=bn,bn=!zr&&!r(an).length,mt&&$i)$i.value=$i.value.concat(Sn,ri),mi=mi.concat(Sn,ri),Sn=[];else if(zr)Sn.length!==0&&(Wi=!0,$i.value.push(""),$i.trail=Sn.concat()),$i={value:[ri],indent:Ve,trail:[]},Zn.push($i),mi=mi.concat(Sn,ri),Sn=[];else if(bn){if(Zr&&!Me)break;Sn.push(ri)}else{if(Zr||l(Nt,xt,Ee,[ve,ri,!0]))break;$i.value=$i.value.concat(Sn,ri),mi=mi.concat(Sn,ri),Sn=[]}lt=He+1}for(Fn=ve(mi.join(y)).reset({type:"list",ordered:Ut,start:_t,spread:Wi,children:[]}),cs=Ee.enterList(),Ti=Ee.enterBlock(),lt=-1,at=Zn.length;++lt{"use strict";t.exports=_;var r=` +`,n=" ",i=" ",s="=",R="-",l=3,c=1,h=2;function _(f,m,x){for(var y=this,A=f.now(),D=m.length,S=-1,P="",M,U,w,F,H;++S=l){S--;break}P+=w}for(M="",U="";++S{"use strict";var t="[a-zA-Z_:][a-zA-Z0-9:._-]*",r="[^\"'=<>`\\u0000-\\u0020]+",n="'[^']*'",i='"[^"]*"',s="(?:"+r+"|"+n+"|"+i+")",R="(?:\\s+"+t+"(?:\\s*=\\s*"+s+")?)",l="<[A-Za-z][A-Za-z0-9\\-]*"+R+"*\\s*\\/?>",c="<\\/[A-Za-z][A-Za-z0-9\\-]*\\s*>",h="|",_="<[?].*?[?]>",f="]*>",m="";e.openCloseTag=new RegExp("^(?:"+l+"|"+c+")"),e.tag=new RegExp("^(?:"+l+"|"+c+"|"+h+"|"+_+"|"+f+"|"+m+")")}),G7n=da((e,t)=>{"use strict";var r=q0r().openCloseTag;t.exports=M;var n=" ",i=" ",s=` +`,R="<",l=/^<(script|pre|style)(?=(\s|>|$))/i,c=/<\/(script|pre|style)>/i,h=/^/,f=/^<\?/,m=/\?>/,x=/^/,A=/^/,S=/^$/,P=new RegExp(r.source+"\\s*$");function M(U,w,F){for(var H=this,G=H.options.blocks.join("|"),ee=new RegExp("^|$))","i"),fe=w.length,me=0,ve,Ae,Ue,Ee,Me,gt,xt,Nt=[[l,c,!0],[h,_,!0],[f,m,!0],[x,y,!0],[A,D,!0],[ee,S,!0],[P,S,!1]];me{"use strict";t.exports=i;var r=String.fromCharCode,n=/\s/;function i(s){return n.test(typeof s=="number"?r(s):s.charAt(0))}}),C0r=da((e,t)=>{"use strict";var r=iCt();t.exports=n;function n(i){return r(i).toLowerCase()}}),V7n=da((e,t)=>{"use strict";var r=yw(),n=C0r();t.exports=S;var i='"',s="'",R="\\",l=` +`,c=" ",h=" ",_="[",f="]",m="(",x=")",y=":",A="<",D=">";function S(U,w,F){for(var H=this,G=H.options.commonmark,ee=0,fe=w.length,me="",ve,Ae,Ue,Ee,Me,gt,xt,Nt;ee{"use strict";var r=yw();t.exports=A;var n=" ",i=` +`,s=" ",R="-",l=":",c="\\",h="|",_=1,f=2,m="left",x="center",y="right";function A(D,S,P){var M=this,U,w,F,H,G,ee,fe,me,ve,Ae,Ue,Ee,Me,gt,xt,Nt,lt,at,_t,Ve,Dt,Ut;if(M.options.gfm){for(U=0,Nt=0,ee=S.length+1,fe=[];UVe){if(Nt1&&(ve?(H+=me.slice(0,-1),me=me.charAt(me.length-1)):(H+=me,me="")),gt=D.now(),D(H)({type:"tableCell",children:M.tokenizeInline(Ee,gt)},G)),D(me+ve),me="",Ee=""):(me&&(Ee+=me,me=""),Ee+=ve,ve===c&&U!==ee-2&&(Ee+=lt.charAt(U+1),U++)),Me=!1,U++}xt||D(i+w)}return _t}}}}),J7n=da((e,t)=>{"use strict";var r=Lae(),n=k0r(),i=sCt();t.exports=h;var s=" ",R=` +`,l=" ",c=4;function h(_,f,m){for(var x=this,y=x.options,A=y.commonmark,D=x.blockTokenizers,S=x.interruptParagraph,P=f.indexOf(R),M=f.length,U,w,F,H,G;P=c&&F!==R){P=f.indexOf(R,P+1);continue}}if(w=f.slice(P+1),i(S,D,x,[_,w,!0]))break;if(U=P,P=f.indexOf(R,P+1),P!==-1&&r(f.slice(U,P))===""){P=U;break}}return w=f.slice(0,P),m?!0:(G=_.now(),w=n(w),_(w)({type:"paragraph",children:x.tokenizeInline(w,G)}))}}),X7n=da((e,t)=>{"use strict";t.exports=r;function r(n,i){return n.indexOf("\\",i)}}),Z7n=da((e,t)=>{"use strict";var r=X7n();t.exports=s,s.locator=r;var n=` +`,i="\\";function s(R,l,c){var h=this,_,f;if(l.charAt(0)===i&&(_=l.charAt(1),h.escape.indexOf(_)!==-1))return c?!0:(_===n?f={type:"break"}:f={type:"text",value:_},R(i+_)(f))}}),A0r=da((e,t)=>{"use strict";t.exports=r;function r(n,i){return n.indexOf("<",i)}}),emn=da((e,t)=>{"use strict";var r=yw(),n=v5e(),i=A0r();t.exports=f,f.locator=i,f.notInLink=!0;var s="<",R=">",l="@",c="/",h="mailto:",_=h.length;function f(m,x,y){var A=this,D="",S=x.length,P=0,M="",U=!1,w="",F,H,G,ee,fe;if(x.charAt(0)===s){for(P++,D=s;P{"use strict";t.exports=r;function r(n,i){var s=String(n),R=0,l;if(typeof i!="string")throw new Error("Expected character");for(l=s.indexOf(i);l!==-1;)R++,l=s.indexOf(i,l+i.length);return R}}),rmn=da((e,t)=>{"use strict";t.exports=n;var r=["www.","http://","https://"];function n(i,s){var R=-1,l,c,h;if(!this.options.gfm)return R;for(c=r.length,l=-1;++l{"use strict";var r=tmn(),n=v5e(),i=Fae(),s=Afe(),R=yw(),l=rmn();t.exports=H,H.locator=l,H.notInLink=!0;var c=33,h=38,_=41,f=42,m=44,x=45,y=46,A=58,D=59,S=63,P=60,M=95,U=126,w="(",F=")";function H(G,ee,fe){var me=this,ve=me.options.gfm,Ae=me.inlineTokenizers,Ue=ee.length,Ee=-1,Me=!1,gt,xt,Nt,lt,at,_t,Ve,Dt,Ut,pt,ht,He,jt,zr;if(ve){if(ee.slice(0,4)==="www.")Me=!0,lt=4;else if(ee.slice(0,7).toLowerCase()==="http://")lt=7;else if(ee.slice(0,8).toLowerCase()==="https://")lt=8;else return;for(Ee=lt-1,Nt=lt,gt=[];ltUt;)lt=at+_t.lastIndexOf(F),_t=ee.slice(at,lt),pt--;if(ee.charCodeAt(lt-1)===D&&(lt--,s(ee.charCodeAt(lt-1)))){for(Dt=lt-2;s(ee.charCodeAt(Dt));)Dt--;ee.charCodeAt(Dt)===h&&(lt=Dt)}return ht=ee.slice(0,lt),jt=n(ht,{nonTerminated:!1}),Me&&(jt="http://"+jt),zr=me.enterLink(),me.inlineTokenizers={text:Ae.text},He=me.tokenizeInline(ht,G.now()),me.inlineTokenizers=Ae,zr(),G(ht)({type:"link",title:null,url:jt,children:He})}}}}),imn=da((e,t)=>{"use strict";var r=Fae(),n=Afe(),i=43,s=45,R=46,l=95;t.exports=c;function c(_,f){var m=this,x,y;if(!this.options.gfm||(x=_.indexOf("@",f),x===-1))return-1;if(y=x,y===f||!h(_.charCodeAt(y-1)))return c.call(m,_,x+1);for(;y>f&&h(_.charCodeAt(y-1));)y--;return y}function h(_){return r(_)||n(_)||_===i||_===s||_===R||_===l}}),amn=da((e,t)=>{"use strict";var r=v5e(),n=Fae(),i=Afe(),s=imn();t.exports=f,f.locator=s,f.notInLink=!0;var R=43,l=45,c=46,h=64,_=95;function f(m,x,y){var A=this,D=A.options.gfm,S=A.inlineTokenizers,P=0,M=x.length,U=-1,w,F,H,G;if(D){for(w=x.charCodeAt(P);n(w)||i(w)||w===R||w===l||w===c||w===_;)w=x.charCodeAt(++P);if(P!==0&&w===h){for(P++;P{"use strict";var r=Afe(),n=A0r(),i=q0r().tag;t.exports=f,f.locator=n;var s="<",R="?",l="!",c="/",h=/^/i;function f(m,x,y){var A=this,D=x.length,S,P;if(!(x.charAt(0)!==s||D<3)&&(S=x.charAt(1),!(!r(S)&&S!==R&&S!==l&&S!==c)&&(P=x.match(i),!!P)))return y?!0:(P=P[0],!A.inLink&&h.test(P)?A.inLink=!0:A.inLink&&_.test(P)&&(A.inLink=!1),m(P)({type:"html",value:P}))}}),g0r=da((e,t)=>{"use strict";t.exports=r;function r(n,i){var s=n.indexOf("[",i),R=n.indexOf("![",i);return R===-1||s{"use strict";var r=yw(),n=g0r();t.exports=D,D.locator=n;var i=` +`,s="!",R='"',l="'",c="(",h=")",_="<",f=">",m="[",x="\\",y="]",A="`";function D(S,P,M){var U=this,w="",F=0,H=P.charAt(0),G=U.options.pedantic,ee=U.options.commonmark,fe=U.options.gfm,me,ve,Ae,Ue,Ee,Me,gt,xt,Nt,lt,at,_t,Ve,Dt,Ut,pt,ht,He;if(H===s&&(xt=!0,w=H,H=P.charAt(++F)),H===m&&!(!xt&&U.inLink)){for(w+=H,Dt="",F++,at=P.length,pt=S.now(),Ve=0,pt.column+=F,pt.offset+=F;F=Ae&&(Ae=0):Ae=ve}else if(H===x)F++,Me+=P.charAt(F);else if((!Ae||fe)&&H===m)Ve++;else if((!Ae||fe)&&H===y)if(Ve)Ve--;else{if(P.charAt(F+1)!==c)return;Me+=c,me=!0,F++;break}Dt+=Me,Me="",F++}if(me){for(Nt=Dt,w+=Dt+Me,F++;F{"use strict";var r=yw(),n=g0r(),i=C0r();t.exports=y,y.locator=n;var s="link",R="image",l="shortcut",c="collapsed",h="full",_="!",f="[",m="\\",x="]";function y(A,D,S){var P=this,M=P.options.commonmark,U=D.charAt(0),w=0,F=D.length,H="",G="",ee=s,fe=l,me,ve,Ae,Ue,Ee,Me,gt,xt;if(U===_&&(ee=R,G=U,U=D.charAt(++w)),U===f){for(w++,G+=U,Me="",xt=0;w{"use strict";t.exports=r;function r(n,i){var s=n.indexOf("**",i),R=n.indexOf("__",i);return R===-1?s:s===-1||R{"use strict";var r=Lae(),n=yw(),i=umn();t.exports=c,c.locator=i;var s="\\",R="*",l="_";function c(h,_,f){var m=this,x=0,y=_.charAt(x),A,D,S,P,M,U,w;if(!(y!==R&&y!==l||_.charAt(++x)!==y)&&(D=m.options.pedantic,S=y,M=S+S,U=_.length,x++,P="",y="",!(D&&n(_.charAt(x)))))for(;x{"use strict";t.exports=i;var r=String.fromCharCode,n=/\w/;function i(s){return n.test(typeof s=="number"?r(s):s.charAt(0))}}),Tmn=da((e,t)=>{"use strict";t.exports=r;function r(n,i){var s=n.indexOf("*",i),R=n.indexOf("_",i);return R===-1?s:s===-1||R{"use strict";var r=Lae(),n=cmn(),i=yw(),s=Tmn();t.exports=h,h.locator=s;var R="*",l="_",c="\\";function h(_,f,m){var x=this,y=0,A=f.charAt(y),D,S,P,M,U,w,F;if(!(A!==R&&A!==l)&&(S=x.options.pedantic,U=A,P=A,w=f.length,y++,M="",A="",!(S&&i(f.charAt(y)))))for(;y{"use strict";t.exports=r;function r(n,i){return n.indexOf("~~",i)}}),hmn=da((e,t)=>{"use strict";var r=yw(),n=_mn();t.exports=R,R.locator=n;var i="~",s="~~";function R(l,c,h){var _=this,f="",m="",x="",y="",A,D,S;if(!(!_.options.gfm||c.charAt(0)!==i||c.charAt(1)!==i||r(c.charAt(2))))for(A=1,D=c.length,S=l.now(),S.column+=2,S.offset+=2;++A{"use strict";t.exports=r;function r(n,i){return n.indexOf("`",i)}}),dmn=da((e,t)=>{"use strict";var r=fmn();t.exports=R,R.locator=r;var n=10,i=32,s=96;function R(l,c,h){for(var _=c.length,f=0,m,x,y,A,D,S;f<_&&c.charCodeAt(f)===s;)f++;if(!(f===0||f===_)){for(m=f,D=c.charCodeAt(f);f<_;){if(A=D,D=c.charCodeAt(f+1),A===s){if(x===void 0&&(x=f),y=f+1,D!==s&&y-x===m){S=!0;break}}else x!==void 0&&(x=void 0,y=void 0);f++}if(S){if(h)return!0;if(f=m,_=x,A=c.charCodeAt(f),D=c.charCodeAt(_-1),S=!1,_-f>2&&(A===i||A===n)&&(D===i||D===n)){for(f++,_--;f<_;){if(A=c.charCodeAt(f),A!==i&&A!==n){S=!0;break}f++}S===!0&&(m++,x--)}return l(c.slice(0,y))({type:"inlineCode",value:c.slice(m,x)})}}}}),xmn=da((e,t)=>{"use strict";t.exports=r;function r(n,i){for(var s=n.indexOf(` +`,i);s>i&&n.charAt(s-1)===" ";)s--;return s}}),mmn=da((e,t)=>{"use strict";var r=xmn();t.exports=R,R.locator=r;var n=" ",i=` +`,s=2;function R(l,c,h){for(var _=c.length,f=-1,m="",x;++f<_;){if(x=c.charAt(f),x===i)return f{"use strict";t.exports=r;function r(n,i,s){var R=this,l,c,h,_,f,m,x,y,A,D;if(s)return!0;for(l=R.inlineMethods,_=l.length,c=R.inlineTokenizers,h=-1,A=i.length;++h<_;)y=l[h],!(y==="text"||!c[y])&&(x=c[y].locator,x||n.file.fail("Missing locator: `"+y+"`"),m=x.call(R,i,1),m!==-1&&m{"use strict";var r=Uae(),n=m7n(),i=k7n(),s=y7n(),R=O7n(),l=v7n();t.exports=c;function c(f,m){this.file=m,this.offset={},this.options=r(this.options),this.setOptions({}),this.inList=!1,this.inBlock=!1,this.inLink=!1,this.atStart=!0,this.toOffset=i(m).toOffset,this.unescape=s(this,"escape"),this.decode=R(this)}var h=c.prototype;h.setOptions=$7n(),h.parse=I7n(),h.options=m0r(),h.exitStart=n("atStart",!0),h.enterList=n("inList",!1),h.enterLink=n("inLink",!1),h.enterBlock=n("inBlock",!1),h.interruptParagraph=[["thematicBreak"],["list"],["atxHeading"],["fencedCode"],["blockquote"],["html"],["setextHeading",{commonmark:!1}],["definition",{commonmark:!1}]],h.interruptList=[["atxHeading",{pedantic:!1}],["fencedCode",{pedantic:!1}],["thematicBreak",{pedantic:!1}],["definition",{commonmark:!1}]],h.interruptBlockquote=[["indentedCode",{commonmark:!0}],["fencedCode",{commonmark:!0}],["atxHeading",{commonmark:!0}],["setextHeading",{commonmark:!0}],["thematicBreak",{commonmark:!0}],["html",{commonmark:!0}],["list",{commonmark:!0}],["definition",{commonmark:!1}]],h.blockTokenizers={blankLine:M7n(),indentedCode:W7n(),fencedCode:U7n(),blockquote:F7n(),atxHeading:L7n(),thematicBreak:z7n(),list:Y7n(),setextHeading:K7n(),html:G7n(),definition:V7n(),table:j7n(),paragraph:J7n()},h.inlineTokenizers={escape:Z7n(),autoLink:emn(),url:nmn(),email:amn(),html:smn(),link:omn(),reference:Rmn(),strong:lmn(),emphasis:pmn(),deletion:hmn(),code:dmn(),break:mmn(),text:kmn()},h.blockMethods=_(h.blockTokenizers),h.inlineMethods=_(h.inlineTokenizers),h.tokenizeBlock=l("block"),h.tokenizeInline=l("inline"),h.tokenizeFactory=l;function _(f){var m=[],x;for(x in f)m.push(x);return m}}),qmn=da((e,t)=>{"use strict";var r=x7n(),n=Uae(),i=ymn();t.exports=s,s.Parser=i;function s(R){var l=this.data("settings"),c=r(i);c.prototype.options=n(c.prototype.options,l,R),this.Parser=c}}),Cmn=da((e,t)=>{"use strict";t.exports=r;function r(n){if(n)throw n}}),b0r=da((e,t)=>{t.exports=function(r){return r!=null&&r.constructor!=null&&typeof r.constructor.isBuffer=="function"&&r.constructor.isBuffer(r)}}),Amn=da((e,t)=>{"use strict";var r=Object.prototype.hasOwnProperty,n=Object.prototype.toString,i=Object.defineProperty,s=Object.getOwnPropertyDescriptor,R=function(_){return typeof Array.isArray=="function"?Array.isArray(_):n.call(_)==="[object Array]"},l=function(_){if(!_||n.call(_)!=="[object Object]")return!1;var f=r.call(_,"constructor"),m=_.constructor&&_.constructor.prototype&&r.call(_.constructor.prototype,"isPrototypeOf");if(_.constructor&&!f&&!m)return!1;var x;for(x in _);return typeof x>"u"||r.call(_,x)},c=function(_,f){i&&f.name==="__proto__"?i(_,f.name,{enumerable:!0,configurable:!0,value:f.newValue,writable:!0}):_[f.name]=f.newValue},h=function(_,f){if(f==="__proto__")if(r.call(_,f)){if(s)return s(_,f).value}else return;return _[f]};t.exports=function _(){var f,m,x,y,A,D,S=arguments[0],P=1,M=arguments.length,U=!1;for(typeof S=="boolean"&&(U=S,S=arguments[1]||{},P=2),(S==null||typeof S!="object"&&typeof S!="function")&&(S={});P{"use strict";t.exports=r=>{if(Object.prototype.toString.call(r)!=="[object Object]")return!1;let n=Object.getPrototypeOf(r);return n===null||n===Object.prototype}}),bmn=da((e,t)=>{"use strict";var r=[].slice;t.exports=n;function n(i,s){var R;return l;function l(){var _=r.call(arguments,0),f=i.length>_.length,m;f&&_.push(c);try{m=i.apply(null,_)}catch(x){if(f&&R)throw x;return c(x)}f||(m&&typeof m.then=="function"?m.then(h,c):m instanceof Error?c(m):h(m))}function c(){R||(R=!0,s.apply(null,arguments))}function h(_){c(null,_)}}}),Emn=da((e,t)=>{"use strict";var r=bmn();t.exports=i,i.wrap=r;var n=[].slice;function i(){var s=[],R={};return R.run=l,R.use=c,R;function l(){var h=-1,_=n.call(arguments,0,-1),f=arguments[arguments.length-1];if(typeof f!="function")throw new Error("Expected function as last argument, not "+f);m.apply(null,[null].concat(_));function m(x){var y=s[++h],A=n.call(arguments,0),D=A.slice(1),S=_.length,P=-1;if(x){f(x);return}for(;++P{"use strict";var r={}.hasOwnProperty;t.exports=n;function n(l){return!l||typeof l!="object"?"":r.call(l,"position")||r.call(l,"type")?s(l.position):r.call(l,"start")||r.call(l,"end")?s(l):r.call(l,"line")||r.call(l,"column")?i(l):""}function i(l){return(!l||typeof l!="object")&&(l={}),R(l.line)+":"+R(l.column)}function s(l){return(!l||typeof l!="object")&&(l={}),i(l.start)+"-"+i(l.end)}function R(l){return l&&typeof l=="number"?l:1}}),vmn=da((e,t)=>{"use strict";var r=Omn();t.exports=s;function n(){}n.prototype=Error.prototype,s.prototype=new n;var i=s.prototype;i.file="",i.name="",i.reason="",i.message="",i.stack="",i.fatal=null,i.column=null,i.line=null;function s(l,c,h){var _,f,m;typeof c=="string"&&(h=c,c=null),_=R(h),f=r(c)||"1:1",m={start:{line:null,column:null},end:{line:null,column:null}},c&&c.position&&(c=c.position),c&&(c.start?(m=c,c=c.start):m.start=c),l.stack&&(this.stack=l.stack,l=l.message),this.message=l,this.name=f,this.reason=l,this.line=c?c.line:null,this.column=c?c.column:null,this.location=m,this.source=_[0],this.ruleId=_[1]}function R(l){var c=[null,null],h;return typeof l=="string"&&(h=l.indexOf(":"),h===-1?c[1]=l:(c[0]=l.slice(0,h),c[1]=l.slice(h+1))),c}}),Dmn=da(e=>{"use strict";e.basename=t,e.dirname=r,e.extname=n,e.join=i,e.sep="/";function t(c,h){var _=0,f=-1,m,x,y,A;if(h!==void 0&&typeof h!="string")throw new TypeError('"ext" argument must be a string');if(l(c),m=c.length,h===void 0||!h.length||h.length>c.length){for(;m--;)if(c.charCodeAt(m)===47){if(y){_=m+1;break}}else f<0&&(y=!0,f=m+1);return f<0?"":c.slice(_,f)}if(h===c)return"";for(x=-1,A=h.length-1;m--;)if(c.charCodeAt(m)===47){if(y){_=m+1;break}}else x<0&&(y=!0,x=m+1),A>-1&&(c.charCodeAt(m)===h.charCodeAt(A--)?A<0&&(f=m):(A=-1,f=x));return _===f?f=x:f<0&&(f=c.length),c.slice(_,f)}function r(c){var h,_,f;if(l(c),!c.length)return".";for(h=-1,f=c.length;--f;)if(c.charCodeAt(f)===47){if(_){h=f;break}}else _||(_=!0);return h<0?c.charCodeAt(0)===47?"/":".":h===1&&c.charCodeAt(0)===47?"//":c.slice(0,h)}function n(c){var h=-1,_=0,f=-1,m=0,x,y,A;for(l(c),A=c.length;A--;){if(y=c.charCodeAt(A),y===47){if(x){_=A+1;break}continue}f<0&&(x=!0,f=A+1),y===46?h<0?h=A:m!==1&&(m=1):h>-1&&(m=-1)}return h<0||f<0||m===0||m===1&&h===f-1&&h===_+1?"":c.slice(h,f)}function i(){for(var c=-1,h;++c2){if(D=_.lastIndexOf("/"),D!==_.length-1){D<0?(_="",f=0):(_=_.slice(0,D),f=_.length-1-_.lastIndexOf("/")),m=y,x=0;continue}}else if(_.length){_="",f=0,m=y,x=0;continue}}h&&(_=_.length?_+"/..":"..",f=2)}else _.length?_+="/"+c.slice(m+1,y):_=c.slice(m+1,y),f=y-m-1;m=y,x=0}else A===46&&x>-1?x++:x=-1}return _}function l(c){if(typeof c!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(c))}}),Smn=da(e=>{"use strict";e.cwd=t;function t(){return"/"}}),$mn=da((e,t)=>{"use strict";var r=Dmn(),n=Smn(),i=b0r();t.exports=l;var s={}.hasOwnProperty,R=["history","path","basename","stem","extname","dirname"];l.prototype.toString=P,Object.defineProperty(l.prototype,"path",{get:c,set:h}),Object.defineProperty(l.prototype,"dirname",{get:_,set:f}),Object.defineProperty(l.prototype,"basename",{get:m,set:x}),Object.defineProperty(l.prototype,"extname",{get:y,set:A}),Object.defineProperty(l.prototype,"stem",{get:D,set:S});function l(F){var H,G;if(!F)F={};else if(typeof F=="string"||i(F))F={contents:F};else if("message"in F&&"messages"in F)return F;if(!(this instanceof l))return new l(F);for(this.data={},this.messages=[],this.history=[],this.cwd=n.cwd(),G=-1;++G-1)throw new Error("`extname` cannot contain multiple dots")}this.path=r.join(this.dirname,this.stem+(F||""))}function D(){return typeof this.path=="string"?r.basename(this.path,this.extname):void 0}function S(F){U(F,"stem"),M(F,"stem"),this.path=r.join(this.dirname||"",F+(this.extname||""))}function P(F){return(this.contents||"").toString(F)}function M(F,H){if(F&&F.indexOf(r.sep)>-1)throw new Error("`"+H+"` cannot be a path: did not expect `"+r.sep+"`")}function U(F,H){if(!F)throw new Error("`"+H+"` cannot be empty")}function w(F,H){if(!F)throw new Error("Setting `"+H+"` requires `path` to be set too")}}),Qmn=da((e,t)=>{"use strict";var r=vmn(),n=$mn();t.exports=n,n.prototype.message=i,n.prototype.info=R,n.prototype.fail=s;function i(l,c,h){var _=new r(l,c,h);return this.path&&(_.name=this.path+":"+_.name,_.file=this.path),_.fatal=!1,this.messages.push(_),_}function s(){var l=this.message.apply(this,arguments);throw l.fatal=!0,l}function R(){var l=this.message.apply(this,arguments);return l.fatal=null,l}}),Nmn=da((e,t)=>{"use strict";t.exports=Qmn()}),wmn=da((e,t)=>{"use strict";var r=Cmn(),n=b0r(),i=Amn(),s=gmn(),R=Emn(),l=Nmn();t.exports=y().freeze();var c=[].slice,h={}.hasOwnProperty,_=R().use(f).use(m).use(x);function f(F,H){H.tree=F.parse(H.file)}function m(F,H,G){F.run(H.tree,H.file,ee);function ee(fe,me,ve){fe?G(fe):(H.tree=me,H.file=ve,G())}}function x(F,H){var G=F.stringify(H.tree,H.file);G==null||(typeof G=="string"||n(G)?("value"in H.file&&(H.file.value=G),H.file.contents=G):H.file.result=G)}function y(){var F=[],H=R(),G={},ee=-1,fe;return me.data=Ae,me.freeze=ve,me.attachers=F,me.use=Ue,me.parse=Me,me.stringify=Nt,me.run=gt,me.runSync=xt,me.process=lt,me.processSync=at,me;function me(){for(var _t=y(),Ve=-1;++VeF0r,options:()=>L0r,parsers:()=>pCt,printers:()=>V0r});Pmn=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},_y=Pmn,Bmn=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},TO=Bmn,Imn=Wae(iCt(),1);yX="string",CW="array",S5e="cursor",zae="indent",Hae="align",gfe="trim",AW="group",qX="fill",qW="if-break",bfe="indent-if-break",Efe="line-suffix",Ofe="line-suffix-boundary",qw="line",vfe="label",Yae="break-parent",O0r=new Set([S5e,zae,Hae,gfe,AW,qX,qW,bfe,Efe,Ofe,qw,vfe,Yae]);gW=Mmn,Wmn=e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e);Fmn=class extends Error{name="InvalidDocError";constructor(e){super(Umn(e)),this.doc=e}},C5e=Fmn,Jor={};zmn=Lmn,v0r=()=>{},Iae=v0r,oCt=v0r;g5e={type:Yae},uCt={type:qw,hard:!0},Ymn={type:qw,hard:!0,literal:!0},D0r={type:qw},S0r={type:qw,soft:!0},E2=[uCt,g5e],Xqt=[Ymn,g5e];Q0r=Vmn;Jmn=jmn,m5e="'",Zor='"';Zmn=Xmn,ekn=class extends Error{name="UnexpectedNodeError";constructor(e,t,r="type"){super(`Unexpected ${t} node ${r}: ${JSON.stringify(e[r])}.`),this.node=e}},tkn=ekn,rkn=Wae(iCt(),1);ikn=nkn,xfe=3;lCt=skn,N0r=["format","prettier"];okn=e=>w0r(lCt(e).content.trimStart()),Rkn=e=>{let t=lCt(e),r=``;return t.frontMatter?`${t.frontMatter.raw} + +${r} + +${t.content}`:`${r} + +${t.content}`},ukn=new Set(["position","raw"]);P0r.ignoredProperties=ukn;lkn=P0r,ckn=/(?:[\u{2ea}-\u{2eb}\u{1100}-\u{11ff}\u{2e80}-\u{2e99}\u{2e9b}-\u{2ef3}\u{2f00}-\u{2fd5}\u{2ff0}-\u{303f}\u{3041}-\u{3096}\u{3099}-\u{30ff}\u{3105}-\u{312f}\u{3131}-\u{318e}\u{3190}-\u{4dbf}\u{4e00}-\u{9fff}\u{a700}-\u{a707}\u{a960}-\u{a97c}\u{ac00}-\u{d7a3}\u{d7b0}-\u{d7c6}\u{d7cb}-\u{d7fb}\u{f900}-\u{fa6d}\u{fa70}-\u{fad9}\u{fe10}-\u{fe1f}\u{fe30}-\u{fe6f}\u{ff00}-\u{ffef}\u{16fe3}\u{1aff0}-\u{1aff3}\u{1aff5}-\u{1affb}\u{1affd}-\u{1affe}\u{1b000}-\u{1b122}\u{1b132}\u{1b150}-\u{1b152}\u{1b155}\u{1b164}-\u{1b167}\u{1f200}\u{1f250}-\u{1f251}\u{20000}-\u{2a6df}\u{2a700}-\u{2b739}\u{2b740}-\u{2b81d}\u{2b820}-\u{2cea1}\u{2ceb0}-\u{2ebe0}\u{2f800}-\u{2fa1d}\u{30000}-\u{3134a}\u{31350}-\u{323af}])(?:[\u{fe00}-\u{fe0f}\u{e0100}-\u{e01ef}])?/u,kfe=new RegExp("(?:[\\u{21}-\\u{2f}\\u{3a}-\\u{40}\\u{5b}-\\u{60}\\u{7b}-\\u{7e}]|\\p{General_Category=Connector_Punctuation}|\\p{General_Category=Dash_Punctuation}|\\p{General_Category=Close_Punctuation}|\\p{General_Category=Final_Punctuation}|\\p{General_Category=Initial_Punctuation}|\\p{General_Category=Other_Punctuation}|\\p{General_Category=Open_Punctuation})","u");pkn=Tkn,_kn=e=>String(e).split(/[/\\]/u).pop();dkn=fkn,xkn=new Proxy(()=>{},{get:()=>xkn});B0r=new Set(["liquidNode","inlineCode","emphasis","esComment","strong","delete","wikiLink","link","linkReference","image","imageReference","footnote","footnoteReference","sentence","whitespace","word","break","inlineMath"]),I0r=new Set([...B0r,"tableCell","paragraph","heading"]),Cfe="non-cjk",kw="cj-letter",Mae="k-letter",O5e="cjk-punctuation",mkn=new RegExp("\\p{Script_Extensions=Hangul}","u");qkn=ykn,mfe=null;Ckn=10;for(let e=0;e<=Ckn;e++)qfe();bkn=gkn,Ekn={"front-matter":[],root:["children"],paragraph:["children"],sentence:["children"],word:[],whitespace:[],emphasis:["children"],strong:["children"],delete:["children"],inlineCode:[],wikiLink:[],link:["children"],image:[],blockquote:["children"],heading:["children"],code:[],html:[],list:["children"],thematicBreak:[],linkReference:["children"],imageReference:[],definition:[],footnote:["children"],footnoteReference:[],footnoteDefinition:["children"],table:["children"],tableCell:["children"],break:[],liquidNode:[],import:[],export:[],esComment:[],jsx:[],math:[],inlineMath:[],tableRow:["children"],listItem:["children"],text:[]},Okn=Ekn,vkn=bkn(Okn),Dkn=vkn;$kn=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;wkn=e=>!(Qkn(e)||Nkn(e)),Pkn=/[^\x20-\x7F]/u;cCt=Bkn,YC=Symbol("MODE_BREAK"),UD=Symbol("MODE_FLAT"),Bae=Symbol("cursor"),Zqt=Symbol("DOC_FILL_PRINTED_LENGTH");zkn=class{constructor(e){c7n(this,cO),T7n(this,cO,new Set(e))}getLeadingWhitespaceCount(e){let t=yW(this,cO),r=0;for(let n=0;n=0&&t.has(e.charAt(n));n--)r++;return r}getLeadingWhitespace(e){let t=this.getLeadingWhitespaceCount(e);return e.slice(0,t)}getTrailingWhitespace(e){let t=this.getTrailingWhitespaceCount(e);return e.slice(e.length-t)}hasLeadingWhitespace(e){return yW(this,cO).has(e.charAt(0))}hasTrailingWhitespace(e){return yW(this,cO).has(TO(!1,e,-1))}trimStart(e){let t=this.getLeadingWhitespaceCount(e);return e.slice(t)}trimEnd(e){let t=this.getTrailingWhitespaceCount(e);return e.slice(0,e.length-t)}trim(e){return this.trimEnd(this.trimStart(e))}split(e,t=!1){let r=`[${D5e([...yW(this,cO)].join(""))}]+`,n=new RegExp(t?`(${r})`:r,"u");return e.split(n)}hasWhitespaceCharacter(e){let t=yW(this,cO);return Array.prototype.some.call(e,r=>t.has(r))}hasNonWhitespaceCharacter(e){let t=yW(this,cO);return Array.prototype.some.call(e,r=>!t.has(r))}isWhitespaceOnly(e){let t=yW(this,cO);return Array.prototype.every.call(e,r=>t.has(r))}};cO=new WeakMap;Hkn=zkn,Ykn=[" ",` +`,"\f","\r"," "],Kkn=new Hkn(Ykn),r0r=Kkn,Gkn=/^.$/su;ryn=Vkn;iyn=new Set(["heading","tableCell","link","wikiLink"]),n0r=new Set("!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~");Ryn=new Set(["listItem","definition"]);fyn=(e,t)=>{for(let r of t)e=_y(!1,e,r,encodeURIComponent(r));return e};myn={preprocess:ryn,print:uyn,embed:qkn,massageAstNode:lkn,hasPrettierIgnore:xyn,insertPragma:Rkn,getVisitorKeys:Dkn},kyn=myn,F0r=[{linguistLanguageId:222,name:"Markdown",type:"prose",color:"#083fa1",aliases:["md","pandoc"],aceMode:"markdown",codemirrorMode:"gfm",codemirrorMimeType:"text/x-gfm",wrap:!0,extensions:[".md",".livemd",".markdown",".mdown",".mdwn",".mkd",".mkdn",".mkdown",".ronn",".scd",".workbook"],filenames:["contents.lr","README"],tmScope:"text.md",parsers:["markdown"],vscodeLanguageIds:["markdown"]},{linguistLanguageId:222,name:"MDX",type:"prose",color:"#083fa1",aliases:["md","pandoc"],aceMode:"markdown",codemirrorMode:"gfm",codemirrorMimeType:"text/x-gfm",wrap:!0,extensions:[".mdx"],filenames:[],tmScope:"text.md",parsers:["mdx"],vscodeLanguageIds:["mdx"]}],T0r={bracketSpacing:{category:"Common",type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},singleQuote:{category:"Common",type:"boolean",default:!1,description:"Use single quotes instead of double quotes."},proseWrap:{category:"Common",type:"choice",default:"preserve",description:"How to wrap prose.",choices:[{value:"always",description:"Wrap prose if it exceeds the print width."},{value:"never",description:"Do not wrap prose."},{value:"preserve",description:"Wrap prose as-is."}]},bracketSameLine:{category:"Common",type:"boolean",default:!1,description:"Put > of opening tags on the last line instead of on a new line."},singleAttributePerLine:{category:"Common",type:"boolean",default:!1,description:"Enforce single attribute per line in HTML, Vue and JSX."}},yyn={proseWrap:T0r.proseWrap,singleQuote:T0r.singleQuote},L0r=yyn,pCt={};f0r(pCt,{markdown:()=>_0r,mdx:()=>Uyn,remark:()=>_0r});qyn=Wae(p7n(),1),Cyn=Wae(f7n(),1),Ayn=Wae(qmn(),1),gyn=Wae(wmn(),1),byn=/^import\s/u,Eyn=/^export\s/u,Oyn=String.raw`[a-z][a-z0-9]*(\.[a-z][a-z0-9]*)*|`,vyn=/|/u,Dyn=/^\{\s*\/\*(.*)\*\/\s*\}/u,Syn=` + +`,z0r=e=>byn.test(e),rCt=e=>Eyn.test(e),H0r=(e,t)=>{let r=t.indexOf(Syn),n=t.slice(0,r);if(rCt(n)||z0r(n))return e(n)({type:rCt(n)?"export":"import",value:n})},Y0r=(e,t)=>{let r=Dyn.exec(t);if(r)return e(r[0])({type:"esComment",value:r[1].trim()})};H0r.locator=e=>rCt(e)||z0r(e)?-1:1;Y0r.locator=(e,t)=>e.indexOf("{",t);$yn=function(){let{Parser:e}=this,{blockTokenizers:t,blockMethods:r,inlineTokenizers:n,inlineMethods:i}=e.prototype;t.esSyntax=H0r,n.esComment=Y0r,r.splice(r.indexOf("paragraph"),0,"esSyntax"),i.splice(i.indexOf("text"),0,"esComment")},Qyn=function(){let e=this.Parser.prototype;e.blockMethods=["frontMatter",...e.blockMethods],e.blockTokenizers.frontMatter=t;function t(r,n){let i=lCt(n);if(i.frontMatter)return r(i.frontMatter.raw)(i.frontMatter)}t.onlyAtStart=!0},Nyn=Qyn;Pyn=wyn,Byn=function(){let e=this.Parser.prototype,t=e.inlineMethods;t.splice(t.indexOf("text"),0,"liquid"),e.inlineTokenizers.liquid=r;function r(n,i){let s=i.match(/^(\{%.*?%\}|\{\{.*?\}\})/su);if(s)return n(s[0])({type:"liquidNode",value:s[0]})}r.locator=function(n,i){return n.indexOf("{",i)}},Iyn=Byn,Myn=function(){let e="wikiLink",t=/^\[\[(?.+?)\]\]/su,r=this.Parser.prototype,n=r.inlineMethods;n.splice(n.indexOf("link"),0,e),r.inlineTokenizers.wikiLink=i;function i(s,R){let l=t.exec(R);if(l){let c=l.groups.linkContents.trim();return s(l[0])({type:e,value:c})}}i.locator=function(s,R){return s.indexOf("[",R)}},Wyn=Myn;G0r={astFormat:"mdast",hasPragma:okn,locStart:b5e,locEnd:E5e},_0r={...G0r,parse:K0r({isMDX:!1})},Uyn={...G0r,parse:K0r({isMDX:!0})},V0r={mdast:kyn},Fyn=E0r});var YRr={};x2(YRr,{default:()=>x6n,parsers:()=>CCt});function ir(e,t,...r){throw new Pfe(e.tokenIndex,e.tokenLine,e.tokenColumn,e.index,e.line,e.column,t,...r)}function L5e(e){throw new Pfe(e.tokenIndex,e.tokenLine,e.tokenColumn,e.index,e.line,e.column,e.type,...e.params)}function KC(e,t,r,n,i,s,R,...l){throw new Pfe(e,t,r,n,i,s,R,...l)}function jae(e,t,r,n,i,s,R){throw new Pfe(e,t,r,n,i,s,R)}function Yyn(e){return(TRr[(e>>>5)+0]>>>e&31&1)!==0}function cRr(e){return(TRr[(e>>>5)+34816]>>>e&31&1)!==0}function zi(e){return e.column++,e.currentChar=e.source.charCodeAt(++e.index)}function ACt(e){let t=e.currentChar;if((t&64512)!==55296)return 0;let r=e.source.charCodeAt(e.index+1);return(r&64512)!==56320?0:65536+((t&1023)<<10)+(r&1023)}function gCt(e,t){e.currentChar=e.source.charCodeAt(++e.index),e.flags|=1,t&4||(e.column=0,e.line++)}function gX(e){e.flags|=1,e.currentChar=e.source.charCodeAt(++e.index),e.column=0,e.line++}function Kyn(e){return e===160||e===65279||e===133||e===5760||e>=8192&&e<=8203||e===8239||e===8287||e===12288||e===8201||e===65519}function qA(e){return e<65?e-48:e-65+10&15}function Gyn(e){switch(e){case 134283266:return"NumericLiteral";case 134283267:return"StringLiteral";case 86021:case 86022:return"BooleanLiteral";case 86023:return"NullLiteral";case 65540:return"RegularExpression";case 67174408:case 67174409:case 131:return"TemplateLiteral";default:return(e&143360)===143360?"Identifier":(e&4096)===4096?"Keyword":"Punctuator"}}function I5e(e){return e<=127?Vyn[e]>0:cRr(e)}function N5e(e){return e<=127?pRr[e]>0:Yyn(e)||e===8204||e===8205}function jyn(e){let{source:t}=e;e.currentChar===35&&t.charCodeAt(e.index+1)===33&&(zi(e),zi(e),bCt(e,t,0,4,e.tokenIndex,e.tokenLine,e.tokenColumn))}function X0r(e,t,r,n,i,s,R,l){return n&512&&ir(e,0),bCt(e,t,r,i,s,R,l)}function bCt(e,t,r,n,i,s,R){let{index:l}=e;for(e.tokenIndex=e.index,e.tokenLine=e.line,e.tokenColumn=e.column;e.index=e.source.length)return ir(e,34)}let i=e.index-1,s=Yd.Empty,R=e.currentChar,{index:l}=e;for(;N5e(R);){switch(R){case 103:s&Yd.Global&&ir(e,36,"g"),s|=Yd.Global;break;case 105:s&Yd.IgnoreCase&&ir(e,36,"i"),s|=Yd.IgnoreCase;break;case 109:s&Yd.Multiline&&ir(e,36,"m"),s|=Yd.Multiline;break;case 117:s&Yd.Unicode&&ir(e,36,"u"),s&Yd.UnicodeSets&&ir(e,36,"vu"),s|=Yd.Unicode;break;case 118:s&Yd.Unicode&&ir(e,36,"uv"),s&Yd.UnicodeSets&&ir(e,36,"v"),s|=Yd.UnicodeSets;break;case 121:s&Yd.Sticky&&ir(e,36,"y"),s|=Yd.Sticky;break;case 115:s&Yd.DotAll&&ir(e,36,"s"),s|=Yd.DotAll;break;case 100:s&Yd.Indices&&ir(e,36,"d"),s|=Yd.Indices;break;default:ir(e,35)}R=zi(e)}let c=e.source.slice(l,e.index),h=e.source.slice(r,i);return e.tokenRegExp={pattern:h,flags:c},t&128&&(e.tokenRaw=e.source.slice(e.tokenIndex,e.index)),e.tokenValue=Zyn(e,h,c),65540}function Zyn(e,t,r){try{return new RegExp(t,r)}catch{try{return new RegExp(t,r),null}catch{ir(e,34)}}}function e8n(e,t,r){let{index:n}=e,i="",s=zi(e),R=e.index;for(;!(jR[s]&8);){if(s===r)return i+=e.source.slice(R,e.index),zi(e),t&128&&(e.tokenRaw=e.source.slice(n,e.index)),e.tokenValue=i,134283267;if((s&8)===8&&s===92){if(i+=e.source.slice(R,e.index),s=zi(e),s<127||s===8232||s===8233){let l=hRr(e,t,s);l>=0?i+=String.fromCodePoint(l):fRr(e,l,0)}else i+=String.fromCodePoint(s);R=e.index+1}e.index>=e.end&&ir(e,16),s=zi(e)}ir(e,16)}function hRr(e,t,r,n=0){switch(r){case 98:return 8;case 102:return 12;case 114:return 13;case 110:return 10;case 116:return 9;case 118:return 11;case 13:if(e.index1114111)return-5;return e.currentChar<1||e.currentChar!==125?-4:s}else{if(!(jR[i]&64))return-4;let s=e.source.charCodeAt(e.index+1);if(!(jR[s]&64))return-4;let R=e.source.charCodeAt(e.index+2);if(!(jR[R]&64))return-4;let l=e.source.charCodeAt(e.index+3);return jR[l]&64?(e.index+=3,e.column+=3,e.currentChar=e.source.charCodeAt(e.index),qA(i)<<12|qA(s)<<8|qA(R)<<4|qA(l)):-4}}case 56:case 57:if(n||!(t&64)||t&256)return-3;e.flags|=4096;default:return r}}function fRr(e,t,r){switch(t){case-1:return;case-2:ir(e,r?2:1);case-3:ir(e,r?3:14);case-4:ir(e,7);case-5:ir(e,104)}}function dRr(e,t){let{index:r}=e,n=67174409,i="",s=zi(e);for(;s!==96;){if(s===36&&e.source.charCodeAt(e.index+1)===123){zi(e),n=67174408;break}else if(s===92)if(s=zi(e),s>126)i+=String.fromCodePoint(s);else{let{index:R,line:l,column:c}=e,h=hRr(e,t|256,s,1);if(h>=0)i+=String.fromCodePoint(h);else if(h!==-1&&t&16384){e.index=R,e.line=l,e.column=c,i=null,s=t8n(e,s),s<0&&(n=67174408);break}else fRr(e,h,1)}else e.index=e.end&&ir(e,17),s=zi(e)}return zi(e),e.tokenValue=i,e.tokenRaw=e.source.slice(r+1,e.index-(n===67174409?1:2)),n}function t8n(e,t){for(;t!==96;){switch(t){case 36:{let r=e.index+1;if(r=e.end&&ir(e,17),t=zi(e)}return t}function r8n(e,t){return e.index>=e.end&&ir(e,0),e.index--,e.column--,dRr(e,t)}function Z0r(e,t,r){let n=e.currentChar,i=0,s=9,R=r&64?0:1,l=0,c=0;if(r&64)i="."+$5e(e,n),n=e.currentChar,n===110&&ir(e,12);else{if(n===48)if(n=zi(e),(n|32)===120){for(r=136,n=zi(e);jR[n]&4160;){if(n===95){c||ir(e,152),c=0,n=zi(e);continue}c=1,i=i*16+qA(n),l++,n=zi(e)}(l===0||!c)&&ir(e,l===0?21:153)}else if((n|32)===111){for(r=132,n=zi(e);jR[n]&4128;){if(n===95){c||ir(e,152),c=0,n=zi(e);continue}c=1,i=i*8+(n-48),l++,n=zi(e)}(l===0||!c)&&ir(e,l===0?0:153)}else if((n|32)===98){for(r=130,n=zi(e);jR[n]&4224;){if(n===95){c||ir(e,152),c=0,n=zi(e);continue}c=1,i=i*2+(n-48),l++,n=zi(e)}(l===0||!c)&&ir(e,l===0?0:153)}else if(jR[n]&32)for(t&256&&ir(e,1),r=1;jR[n]&16;){if(jR[n]&512){r=32,R=0;break}i=i*8+(n-48),n=zi(e)}else jR[n]&512?(t&256&&ir(e,1),e.flags|=64,r=32):n===95&&ir(e,0);if(r&48){if(R){for(;s>=0&&jR[n]&4112;){if(n===95){n=zi(e),(n===95||r&32)&&jae(e.index,e.line,e.column,e.index+1,e.line,e.column,152),c=1;continue}c=0,i=10*i+(n-48),n=zi(e),--s}if(c&&jae(e.index,e.line,e.column,e.index+1,e.line,e.column,153),s>=0&&!I5e(n)&&n!==46)return e.tokenValue=i,t&128&&(e.tokenRaw=e.source.slice(e.tokenIndex,e.index)),134283266}i+=$5e(e,n),n=e.currentChar,n===46&&(zi(e)===95&&ir(e,0),r=64,i+="."+$5e(e,e.currentChar),n=e.currentChar)}}let h=e.index,_=0;if(n===110&&r&128)_=1,n=zi(e);else if((n|32)===101){n=zi(e),jR[n]&256&&(n=zi(e));let{index:f}=e;jR[n]&16||ir(e,11),i+=e.source.substring(h,f)+$5e(e,n),n=e.currentChar}return(e.index0)N5e(R)||ir(e,20,String.fromCodePoint(R)),e.currentChar=R,e.index++,e.column++;else if(!N5e(e.currentChar))break;zi(e)}e.index<=e.end&&(e.tokenValue+=e.source.slice(i,e.index));let{length:s}=e.tokenValue;if(n&&s>=2&&s<=11){let R=xRr[e.tokenValue];return R===void 0?208897|(r?-2147483648:0):r?R===209006?t&524800?-2147483528:R|-2147483648:t&256?R===36970||(R&36864)===36864?-2147483527:(R&20480)===20480?t&67108864&&!(t&2048)?R|-2147483648:-2147483528:-2147274630:t&67108864&&!(t&2048)&&(R&20480)===20480?R|-2147483648:R===241771?t&67108864?-2147274630:t&262144?-2147483528:R|-2147483648:R===209005?-2147274630:(R&36864)===36864?R|12288|-2147483648:-2147483528:R}return 208897|(r?-2147483648:0)}function i8n(e){let t=zi(e);if(t===92)return 130;let r=ACt(e);return r&&(t=r),I5e(t)||ir(e,96),130}function mRr(e){return e.source.charCodeAt(e.index+1)!==117&&ir(e,5),e.currentChar=e.source.charCodeAt(e.index+=2),a8n(e)}function a8n(e){let t=0,r=e.currentChar;if(r===123){let R=e.index-2;for(;jR[zi(e)]&64;)t=t<<4|qA(e.currentChar),t>1114111&&jae(R,e.line,e.column,e.index,e.line,e.column,104);return e.currentChar!==125&&jae(R,e.line,e.column,e.index,e.line,e.column,7),zi(e),t}jR[r]&64||ir(e,7);let n=e.source.charCodeAt(e.index+1);jR[n]&64||ir(e,7);let i=e.source.charCodeAt(e.index+2);jR[i]&64||ir(e,7);let s=e.source.charCodeAt(e.index+3);return jR[s]&64||ir(e,7),t=qA(r)<<12|qA(n)<<8|qA(i)<<4|qA(s),e.currentChar=e.source.charCodeAt(e.index+=4),t}function xa(e,t){e.flags=(e.flags|1)^1,e.startIndex=e.index,e.startColumn=e.column,e.startLine=e.line,e.setToken(kRr(e,t,0))}function kRr(e,t,r){let n=e.index===0,{source:i}=e,s=e.index,R=e.line,l=e.column;for(;e.index=e.end)return 8391476;let _=e.currentChar;return _===61?(zi(e),4194338):_!==42?8391476:zi(e)!==61?8391735:(zi(e),4194335)}case 8389959:return zi(e)!==61?8389959:(zi(e),4194341);case 25233968:{zi(e);let _=e.currentChar;return _===43?(zi(e),33619993):_===61?(zi(e),4194336):25233968}case 25233969:{zi(e);let _=e.currentChar;if(_===45){if(zi(e),(r&1||n)&&e.currentChar===62){t&64||ir(e,112),zi(e),r=X0r(e,i,r,t,3,s,R,l),s=e.tokenIndex,R=e.tokenLine,l=e.tokenColumn;continue}return 33619994}return _===61?(zi(e),4194337):25233969}case 8457014:{if(zi(e),e.index=48&&_<=57)return Z0r(e,t,80);if(_===46){let f=e.index+1;if(f=48&&_<=57)))return zi(e),67108990}return 22}}}else{if((c^8232)<=1){r=r&-5|1,gX(e);continue}let h=ACt(e);if(h>0&&(c=h),cRr(c))return e.tokenValue="",ECt(e,t,0,0);if(Kyn(c)){zi(e);continue}ir(e,20,String.fromCodePoint(c))}}return 1048576}function o8n(e,t){return e.startIndex=e.tokenIndex=e.index,e.startColumn=e.tokenColumn=e.column,e.startLine=e.tokenLine=e.line,e.setToken(jR[e.currentChar]&8192?R8n(e,t):kRr(e,t,0)),e.getToken()}function R8n(e,t){let r=e.currentChar,n=zi(e),i=e.index;for(;n!==r;)e.index>=e.end&&ir(e,16),n=zi(e);return n!==r&&ir(e,16),e.tokenValue=e.source.slice(i,e.index),zi(e),t&128&&(e.tokenRaw=e.source.slice(e.tokenIndex,e.index)),134283267}function Bfe(e,t){if(e.startIndex=e.tokenIndex=e.index,e.startColumn=e.tokenColumn=e.column,e.startLine=e.tokenLine=e.line,e.index>=e.end){e.setToken(1048576);return}if(e.currentChar===60){zi(e),e.setToken(8456256);return}if(e.currentChar===123){zi(e),e.setToken(2162700);return}let r=0;for(;e.index1&&s&32&&e.getToken()&262144&&ir(e,61,au[e.getToken()&255]),l}function rRr(e,t,r,n,i,s){let{tokenIndex:R,tokenLine:l,tokenColumn:c}=e,h=e.getToken(),_=null,f=URr(e,t,r,n,i,s,R,l,c);return e.getToken()===1077936155?(xa(e,t|8192),_=$c(e,t,n,1,0,e.tokenIndex,e.tokenLine,e.tokenColumn),(s&32||!(h&2097152))&&(e.getToken()===274548||e.getToken()===8673330&&(h&2097152||!(i&4)||t&256))&&KC(R,l,c,e.index,e.line,e.column,60,e.getToken()===274548?"of":"in")):(i&16||(h&2097152)>0)&&(e.getToken()&262144)!==262144&&ir(e,59,i&16?"const":"destructuring"),yi(e,t,R,l,c,{type:"VariableDeclarator",id:f,init:_})}function M8n(e,t,r,n,i,s,R,l){xa(e,t);let c=((t&524288)>0||(t&512)>0&&(t&2048)>0)&&J0(e,t,209006);Rs(e,t|8192,67174411),r&&(r=K_(r,1));let h=null,_=null,f=0,m=null,x=e.getToken()===86088||e.getToken()===241737||e.getToken()===86090,y,{tokenIndex:A,tokenLine:D,tokenColumn:S}=e,P=e.getToken();if(x?P===241737?(m=kl(e,t),e.getToken()&2240512?(e.getToken()===8673330?t&256&&ir(e,67):m=yi(e,t,A,D,S,{type:"VariableDeclaration",kind:"let",declarations:Vae(e,t|33554432,r,n,8,32)}),e.assignable=1):t&256?ir(e,67):(x=!1,e.assignable=1,m=ml(e,t,n,m,0,0,A,D,S),e.getToken()===274548&&ir(e,115))):(xa(e,t),m=yi(e,t,A,D,S,P===86088?{type:"VariableDeclaration",kind:"var",declarations:Vae(e,t|33554432,r,n,4,32)}:{type:"VariableDeclaration",kind:"const",declarations:Vae(e,t|33554432,r,n,16,32)}),e.assignable=1):P===1074790417?c&&ir(e,82):(P&2097152)===2097152?(m=P===2162700?pg(e,t,void 0,n,1,0,0,2,32,A,D,S):Tg(e,t,void 0,n,1,0,0,2,32,A,D,S),f=e.destructible,f&64&&ir(e,63),e.assignable=f&16?2:1,m=ml(e,t|33554432,n,m,0,0,e.tokenIndex,e.tokenLine,e.tokenColumn)):m=cg(e,t|33554432,n,1,0,1,A,D,S),(e.getToken()&262144)===262144){if(e.getToken()===274548){e.assignable&2&&ir(e,80,c?"await":"of"),_O(e,m),xa(e,t|8192),y=$c(e,t,n,1,0,e.tokenIndex,e.tokenLine,e.tokenColumn),Rs(e,t|8192,16);let w=Qfe(e,t,r,n,i);return yi(e,t,s,R,l,{type:"ForOfStatement",left:m,right:y,body:w,await:c})}e.assignable&2&&ir(e,80,"in"),_O(e,m),xa(e,t|8192),c&&ir(e,82),y=hy(e,t,n,0,1,e.tokenIndex,e.tokenLine,e.tokenColumn),Rs(e,t|8192,16);let U=Qfe(e,t,r,n,i);return yi(e,t,s,R,l,{type:"ForInStatement",body:U,left:m,right:y})}c&&ir(e,82),x||(f&8&&e.getToken()!==1077936155&&ir(e,80,"loop"),m=o1(e,t|33554432,n,0,0,A,D,S,m)),e.getToken()===18&&(m=Aw(e,t,n,0,e.tokenIndex,e.tokenLine,e.tokenColumn,m)),Rs(e,t|8192,1074790417),e.getToken()!==1074790417&&(h=hy(e,t,n,0,1,e.tokenIndex,e.tokenLine,e.tokenColumn)),Rs(e,t|8192,1074790417),e.getToken()!==16&&(_=hy(e,t,n,0,1,e.tokenIndex,e.tokenLine,e.tokenColumn)),Rs(e,t|8192,16);let M=Qfe(e,t,r,n,i);return yi(e,t,s,R,l,{type:"ForStatement",init:m,test:h,update:_,body:M})}function vRr(e,t,r){return Ife(t,e.getToken())||ir(e,118),(e.getToken()&537079808)===537079808&&ir(e,119),r&&DW(e,t,r,e.tokenValue,8,0),kl(e,t)}function W8n(e,t,r){let n=e.tokenIndex,i=e.tokenLine,s=e.tokenColumn;xa(e,t);let R=null,{tokenIndex:l,tokenLine:c,tokenColumn:h}=e,_=[];if(e.getToken()===134283267)R=Q7(e,t);else{if(e.getToken()&143360){let m=vRr(e,t,r);if(_=[yi(e,t,l,c,h,{type:"ImportDefaultSpecifier",local:m})],J0(e,t,18))switch(e.getToken()){case 8391476:_.push(nRr(e,t,r));break;case 2162700:iRr(e,t,r,_);break;default:ir(e,107)}}else switch(e.getToken()){case 8391476:_=[nRr(e,t,r)];break;case 2162700:iRr(e,t,r,_);break;case 67174411:return SRr(e,t,void 0,n,i,s);case 67108877:return DRr(e,t,n,i,s);default:ir(e,30,au[e.getToken()&255])}R=U8n(e,t)}let f={type:"ImportDeclaration",specifiers:_,source:R};return t&1&&(f.attributes=xCt(e,t,_)),N4(e,t|8192),yi(e,t,n,i,s,f)}function nRr(e,t,r){let{tokenIndex:n,tokenLine:i,tokenColumn:s}=e;return xa(e,t),Rs(e,t,77932),(e.getToken()&134217728)===134217728&&KC(n,i,s,e.index,e.line,e.column,30,au[e.getToken()&255]),yi(e,t,n,i,s,{type:"ImportNamespaceSpecifier",local:vRr(e,t,r)})}function U8n(e,t){return Rs(e,t,12403),e.getToken()!==134283267&&ir(e,105,"Import"),Q7(e,t)}function iRr(e,t,r,n){for(xa(e,t);e.getToken()&143360||e.getToken()===134283267;){let{tokenValue:i,tokenIndex:s,tokenLine:R,tokenColumn:l}=e,c=e.getToken(),h=w5e(e,t),_;J0(e,t,77932)?((e.getToken()&134217728)===134217728||e.getToken()===18?ir(e,106):M5e(e,t,16,e.getToken(),0),i=e.tokenValue,_=kl(e,t)):h.type==="Identifier"?(M5e(e,t,16,c,0),_=h):ir(e,25,au[108]),r&&DW(e,t,r,i,8,0),n.push(yi(e,t,s,R,l,{type:"ImportSpecifier",local:_,imported:h})),e.getToken()!==1074790415&&Rs(e,t,18)}return Rs(e,t,1074790415),n}function DRr(e,t,r,n,i){let s=$Rr(e,t,yi(e,t,r,n,i,{type:"Identifier",name:"import"}),r,n,i);return s=ml(e,t,void 0,s,0,0,r,n,i),s=o1(e,t,void 0,0,0,r,n,i,s),e.getToken()===18&&(s=Aw(e,t,void 0,0,r,n,i,s)),Jae(e,t,s,r,n,i)}function SRr(e,t,r,n,i,s){let R=QRr(e,t,r,0,n,i,s);return R=ml(e,t,r,R,0,0,n,i,s),e.getToken()===18&&(R=Aw(e,t,r,0,n,i,s,R)),Jae(e,t,R,n,i,s)}function F8n(e,t,r){let n=e.tokenIndex,i=e.tokenLine,s=e.tokenColumn;xa(e,t|8192);let R=[],l=null,c=null,h=null,_;if(J0(e,t|8192,20561)){switch(e.getToken()){case 86104:{l=vW(e,t,r,void 0,4,1,1,0,e.tokenIndex,e.tokenLine,e.tokenColumn);break}case 132:case 86094:l=mCt(e,t,r,void 0,1,e.tokenIndex,e.tokenLine,e.tokenColumn);break;case 209005:{let{tokenIndex:m,tokenLine:x,tokenColumn:y}=e;l=kl(e,t);let{flags:A}=e;A&1||(e.getToken()===86104?l=vW(e,t,r,void 0,4,1,1,1,m,x,y):e.getToken()===67174411?(l=PCt(e,t,void 0,l,1,1,0,A,m,x,y),l=ml(e,t,void 0,l,0,0,m,x,y),l=o1(e,t,void 0,0,0,m,x,y,l)):e.getToken()&143360&&(r&&(r=z5e(e,t,e.tokenValue)),l=kl(e,t),l=Ufe(e,t,r,void 0,[l],1,m,x,y)));break}default:l=$c(e,t,void 0,1,0,e.tokenIndex,e.tokenLine,e.tokenColumn),N4(e,t|8192)}return r&&EW(e,"default"),yi(e,t,n,i,s,{type:"ExportDefaultDeclaration",declaration:l})}switch(e.getToken()){case 8391476:{xa(e,t);let m=null;J0(e,t,77932)&&(r&&EW(e,e.tokenValue),m=w5e(e,t)),Rs(e,t,12403),e.getToken()!==134283267&&ir(e,105,"Export"),c=Q7(e,t);let x={type:"ExportAllDeclaration",source:c,exported:m};return t&1&&(x.attributes=xCt(e,t)),N4(e,t|8192),yi(e,t,n,i,s,x)}case 2162700:{xa(e,t);let m=[],x=[],y=0;for(;e.getToken()&143360||e.getToken()===134283267;){let{tokenIndex:A,tokenValue:D,tokenLine:S,tokenColumn:P}=e,M=w5e(e,t);M.type==="Literal"&&(y=1);let U;e.getToken()===77932?(xa(e,t),!(e.getToken()&143360)&&e.getToken()!==134283267&&ir(e,106),r&&(m.push(e.tokenValue),x.push(D)),U=w5e(e,t)):(r&&(m.push(e.tokenValue),x.push(e.tokenValue)),U=M),R.push(yi(e,t,A,S,P,{type:"ExportSpecifier",local:M,exported:U})),e.getToken()!==1074790415&&Rs(e,t,18)}Rs(e,t,1074790415),J0(e,t,12403)?(e.getToken()!==134283267&&ir(e,105,"Export"),c=Q7(e,t),t&1&&(h=xCt(e,t,R)),r&&m.forEach(A=>EW(e,A))):(y&&ir(e,172),r&&(m.forEach(A=>EW(e,A)),x.forEach(A=>h8n(e,A)))),N4(e,t|8192);break}case 86094:l=mCt(e,t,r,void 0,2,e.tokenIndex,e.tokenLine,e.tokenColumn);break;case 86104:l=vW(e,t,r,void 0,4,1,2,0,e.tokenIndex,e.tokenLine,e.tokenColumn);break;case 241737:l=dCt(e,t,r,void 0,8,64,e.tokenIndex,e.tokenLine,e.tokenColumn);break;case 86090:l=dCt(e,t,r,void 0,16,64,e.tokenIndex,e.tokenLine,e.tokenColumn);break;case 86088:l=ORr(e,t,r,void 0,64,e.tokenIndex,e.tokenLine,e.tokenColumn);break;case 209005:{let{tokenIndex:m,tokenLine:x,tokenColumn:y}=e;if(xa(e,t),!(e.flags&1)&&e.getToken()===86104){l=vW(e,t,r,void 0,4,1,2,1,m,x,y),r&&(_=l.id?l.id.name:"",EW(e,_));break}}default:ir(e,30,au[e.getToken()&255])}let f={type:"ExportNamedDeclaration",declaration:l,specifiers:R,source:c};return h&&(f.attributes=h),yi(e,t,n,i,s,f)}function $c(e,t,r,n,i,s,R,l){let c=CA(e,t,r,2,0,n,i,1,s,R,l);return c=ml(e,t,r,c,i,0,s,R,l),o1(e,t,r,i,0,s,R,l,c)}function Aw(e,t,r,n,i,s,R,l){let c=[l];for(;J0(e,t|8192,18);)c.push($c(e,t,r,1,n,e.tokenIndex,e.tokenLine,e.tokenColumn));return yi(e,t,i,s,R,{type:"SequenceExpression",expressions:c})}function hy(e,t,r,n,i,s,R,l){let c=$c(e,t,r,i,n,s,R,l);return e.getToken()===18?Aw(e,t,r,n,s,R,l,c):c}function o1(e,t,r,n,i,s,R,l,c){let h=e.getToken();if((h&4194304)===4194304){e.assignable&2&&ir(e,26),(!i&&h===1077936155&&c.type==="ArrayExpression"||c.type==="ObjectExpression")&&_O(e,c),xa(e,t|8192);let _=$c(e,t,r,1,n,e.tokenIndex,e.tokenLine,e.tokenColumn);return e.assignable=2,yi(e,t,s,R,l,i?{type:"AssignmentPattern",left:c,right:_}:{type:"AssignmentExpression",left:c,operator:au[h&255],right:_})}return(h&8388608)===8388608&&(c=OW(e,t,r,n,s,R,l,4,h,c)),J0(e,t|8192,22)&&(c=CX(e,t,r,c,s,R,l)),c}function Q5e(e,t,r,n,i,s,R,l,c){let h=e.getToken();xa(e,t|8192);let _=$c(e,t,r,1,n,e.tokenIndex,e.tokenLine,e.tokenColumn);return c=yi(e,t,s,R,l,i?{type:"AssignmentPattern",left:c,right:_}:{type:"AssignmentExpression",left:c,operator:au[h&255],right:_}),e.assignable=2,c}function CX(e,t,r,n,i,s,R){let l=$c(e,(t|33554432)^33554432,r,1,0,e.tokenIndex,e.tokenLine,e.tokenColumn);Rs(e,t|8192,21),e.assignable=1;let c=$c(e,t,r,1,0,e.tokenIndex,e.tokenLine,e.tokenColumn);return e.assignable=2,yi(e,t,i,s,R,{type:"ConditionalExpression",test:n,consequent:l,alternate:c})}function OW(e,t,r,n,i,s,R,l,c,h){let _=-((t&33554432)>0)&8673330,f,m;for(e.assignable=2;e.getToken()&8388608&&(f=e.getToken(),m=f&3840,(f&524288&&c&268435456||c&524288&&f&268435456)&&ir(e,165),!(m+((f===8391735)<<8)-((_===f)<<12)<=l));)xa(e,t|8192),h=yi(e,t,i,s,R,{type:f&524288||f&268435456?"LogicalExpression":"BinaryExpression",left:h,right:OW(e,t,r,n,e.tokenIndex,e.tokenLine,e.tokenColumn,m,f,cg(e,t,r,0,n,1,e.tokenIndex,e.tokenLine,e.tokenColumn)),operator:au[f&255]});return e.getToken()===1077936155&&ir(e,26),h}function L8n(e,t,r,n,i,s,R,l){n||ir(e,0);let c=e.getToken();xa(e,t|8192);let h=cg(e,t,r,0,l,1,e.tokenIndex,e.tokenLine,e.tokenColumn);return e.getToken()===8391735&&ir(e,33),t&256&&c===16863276&&(h.type==="Identifier"?ir(e,121):u8n(h)&&ir(e,127)),e.assignable=2,yi(e,t,i,s,R,{type:"UnaryExpression",operator:au[c&255],argument:h,prefix:!0})}function z8n(e,t,r,n,i,s,R,l,c,h){let _=e.getToken(),f=kl(e,t),{flags:m}=e;if(!(m&1)){if(e.getToken()===86104)return wRr(e,t,r,1,n,l,c,h);if(Ife(t,e.getToken()))return i||ir(e,0),(e.getToken()&36864)===36864&&(e.flags|=256),IRr(e,t,r,s,l,c,h)}return!R&&e.getToken()===67174411?PCt(e,t,r,f,s,1,0,m,l,c,h):e.getToken()===10?(H5e(e,t,_),R&&ir(e,51),(_&36864)===36864&&(e.flags|=256),K5e(e,t,r,e.tokenValue,f,R,s,0,l,c,h)):(e.assignable=1,f)}function H8n(e,t,r,n,i,s,R,l){if(n&&(e.destructible|=256),t&262144){xa(e,t|8192),t&2097152&&ir(e,32),i||ir(e,26),e.getToken()===22&&ir(e,124);let c=null,h=!1;return e.flags&1?e.getToken()===8391476&&ir(e,30,au[e.getToken()&255]):(h=J0(e,t|8192,8391476),(e.getToken()&77824||h)&&(c=$c(e,t,r,1,0,e.tokenIndex,e.tokenLine,e.tokenColumn))),e.assignable=2,yi(e,t,s,R,l,{type:"YieldExpression",argument:c,delegate:h})}return t&256&&ir(e,97,"yield"),wCt(e,t,r,s,R,l)}function Y8n(e,t,r,n,i,s,R,l){i&&(e.destructible|=128),t&268435456&&ir(e,177);let c=wCt(e,t,r,s,R,l);if(c.type==="ArrowFunctionExpression"||!(e.getToken()&65536))return t&524288&&KC(s,R,l,e.startIndex,e.startLine,e.startColumn,176),t&512&&KC(s,R,l,e.startIndex,e.startLine,e.startColumn,110),t&2097152&&t&524288&&KC(s,R,l,e.startIndex,e.startLine,e.startColumn,110),c;if(t&2097152&&KC(s,R,l,e.startIndex,e.startLine,e.startColumn,31),t&524288||t&512&&t&2048){n&&KC(s,R,l,e.startIndex,e.startLine,e.startColumn,0);let h=cg(e,t,r,0,0,1,e.tokenIndex,e.tokenLine,e.tokenColumn);return e.getToken()===8391735&&ir(e,33),e.assignable=2,yi(e,t,s,R,l,{type:"AwaitExpression",argument:h})}return t&512&&KC(s,R,l,e.startIndex,e.startLine,e.startColumn,98),c}function Y5e(e,t,r,n,i,s,R){let{tokenIndex:l,tokenLine:c,tokenColumn:h}=e;Rs(e,t|8192,2162700);let _=[];if(e.getToken()!==1074790415){for(;e.getToken()===134283267;){let{index:f,tokenIndex:m,tokenValue:x}=e,y=e.getToken(),A=Q7(e,t);yRr(e,f,m,x)&&(t|=256,e.flags&128&&KC(m,c,h,e.index,e.line,e.column,66),e.flags&64&&KC(m,c,h,e.index,e.line,e.column,9),e.flags&4096&&KC(m,c,h,e.index,e.line,e.column,15),R&&L5e(R)),_.push(DCt(e,t,A,y,m,e.tokenLine,e.tokenColumn))}t&256&&(s&&((s&537079808)===537079808&&ir(e,119),(s&36864)===36864&&ir(e,40)),e.flags&512&&ir(e,119),e.flags&256&&ir(e,118))}for(e.flags=(e.flags|512|256|64|4096)^4928,e.destructible=(e.destructible|256)^256;e.getToken()!==1074790415;)_.push(Mfe(e,t,r,n,4,{}));return Rs(e,i&24?t|8192:t,1074790415),e.flags&=-4289,e.getToken()===1077936155&&ir(e,26),yi(e,t,l,c,h,{type:"BlockStatement",body:_})}function K8n(e,t,r,n,i){switch(xa(e,t),e.getToken()){case 67108990:ir(e,167);case 67174411:{t&131072||ir(e,28),e.assignable=2;break}case 69271571:case 67108877:{t&65536||ir(e,29),e.assignable=1;break}default:ir(e,30,"super")}return yi(e,t,r,n,i,{type:"Super"})}function cg(e,t,r,n,i,s,R,l,c){let h=CA(e,t,r,2,0,n,i,s,R,l,c);return ml(e,t,r,h,i,0,R,l,c)}function G8n(e,t,r,n,i,s){e.assignable&2&&ir(e,55);let R=e.getToken();return xa(e,t),e.assignable=2,yi(e,t,n,i,s,{type:"UpdateExpression",argument:r,operator:au[R&255],prefix:!1})}function ml(e,t,r,n,i,s,R,l,c){if((e.getToken()&33619968)===33619968&&!(e.flags&1))n=G8n(e,t,n,R,l,c);else if((e.getToken()&67108864)===67108864){switch(t=(t|33554432)^33554432,e.getToken()){case 67108877:{xa(e,(t|67108864|2048)^2048),t&4096&&e.getToken()===130&&e.tokenValue==="super"&&ir(e,173),e.assignable=1;let h=SCt(e,t|16384,r);n=yi(e,t,R,l,c,{type:"MemberExpression",object:n,computed:!1,property:h});break}case 69271571:{let h=!1;(e.flags&2048)===2048&&(h=!0,e.flags=(e.flags|2048)^2048),xa(e,t|8192);let{tokenIndex:_,tokenLine:f,tokenColumn:m}=e,x=hy(e,t,r,i,1,_,f,m);Rs(e,t,20),e.assignable=1,n=yi(e,t,R,l,c,{type:"MemberExpression",object:n,computed:!0,property:x}),h&&(e.flags|=2048);break}case 67174411:{if((e.flags&1024)===1024)return e.flags=(e.flags|1024)^1024,n;let h=!1;(e.flags&2048)===2048&&(h=!0,e.flags=(e.flags|2048)^2048);let _=NCt(e,t,r,i);e.assignable=2,n=yi(e,t,R,l,c,{type:"CallExpression",callee:n,arguments:_}),h&&(e.flags|=2048);break}case 67108990:{xa(e,(t|67108864|2048)^2048),e.flags|=2048,e.assignable=2,n=V8n(e,t,r,n,R,l,c);break}default:(e.flags&2048)===2048&&ir(e,166),e.assignable=2,n=yi(e,t,R,l,c,{type:"TaggedTemplateExpression",tag:n,quasi:e.getToken()===67174408?QCt(e,t|16384,r):$Ct(e,t,e.tokenIndex,e.tokenLine,e.tokenColumn)})}n=ml(e,t,r,n,0,1,R,l,c)}return s===0&&(e.flags&2048)===2048&&(e.flags=(e.flags|2048)^2048,n=yi(e,t,R,l,c,{type:"ChainExpression",expression:n})),n}function V8n(e,t,r,n,i,s,R){let l=!1,c;if((e.getToken()===69271571||e.getToken()===67174411)&&(e.flags&2048)===2048&&(l=!0,e.flags=(e.flags|2048)^2048),e.getToken()===69271571){xa(e,t|8192);let{tokenIndex:h,tokenLine:_,tokenColumn:f}=e,m=hy(e,t,r,0,1,h,_,f);Rs(e,t,20),e.assignable=2,c=yi(e,t,i,s,R,{type:"MemberExpression",object:n,computed:!0,optional:!0,property:m})}else if(e.getToken()===67174411){let h=NCt(e,t,r,0);e.assignable=2,c=yi(e,t,i,s,R,{type:"CallExpression",callee:n,arguments:h,optional:!0})}else{let h=SCt(e,t,r);e.assignable=2,c=yi(e,t,i,s,R,{type:"MemberExpression",object:n,computed:!1,optional:!0,property:h})}return l&&(e.flags|=2048),c}function SCt(e,t,r){return!(e.getToken()&143360)&&e.getToken()!==-2147483528&&e.getToken()!==-2147483527&&e.getToken()!==130&&ir(e,160),e.getToken()===130?F5e(e,t,r,0,e.tokenIndex,e.tokenLine,e.tokenColumn):kl(e,t)}function j8n(e,t,r,n,i,s,R,l){n&&ir(e,56),i||ir(e,0);let c=e.getToken();xa(e,t|8192);let h=cg(e,t,r,0,0,1,e.tokenIndex,e.tokenLine,e.tokenColumn);return e.assignable&2&&ir(e,55),e.assignable=2,yi(e,t,s,R,l,{type:"UpdateExpression",argument:h,operator:au[c&255],prefix:!0})}function CA(e,t,r,n,i,s,R,l,c,h,_){if((e.getToken()&143360)===143360){switch(e.getToken()){case 209006:return Y8n(e,t,r,i,R,c,h,_);case 241771:return H8n(e,t,r,R,s,c,h,_);case 209005:return z8n(e,t,r,R,l,s,i,c,h,_)}let{tokenValue:f}=e,m=e.getToken(),x=kl(e,t|16384);return e.getToken()===10?(l||ir(e,0),H5e(e,t,m),(m&36864)===36864&&(e.flags|=256),K5e(e,t,r,f,x,i,s,0,c,h,_)):(t&4096&&!(t&8388608)&&!(t&2097152)&&e.tokenValue==="arguments"&&ir(e,130),(m&255)===73&&(t&256&&ir(e,113),n&24&&ir(e,100)),e.assignable=t&256&&(m&537079808)===537079808?2:1,x)}if((e.getToken()&134217728)===134217728)return Q7(e,t);switch(e.getToken()){case 33619993:case 33619994:return j8n(e,t,r,i,l,c,h,_);case 16863276:case 16842798:case 16842799:case 25233968:case 25233969:case 16863275:case 16863277:return L8n(e,t,r,l,c,h,_,R);case 86104:return wRr(e,t,r,0,R,c,h,_);case 2162700:return a4n(e,t,r,s?0:1,R,c,h,_);case 69271571:return i4n(e,t,r,s?0:1,R,c,h,_);case 67174411:return o4n(e,t|16384,r,s,1,0,c,h,_);case 86021:case 86022:case 86023:return r4n(e,t,c,h,_);case 86111:return n4n(e,t);case 65540:return l4n(e,t,c,h,_);case 132:case 86094:return c4n(e,t,r,R,c,h,_);case 86109:return K8n(e,t,c,h,_);case 67174409:return $Ct(e,t,c,h,_);case 67174408:return QCt(e,t,r);case 86107:return R4n(e,t,r,R,c,h,_);case 134283388:return NRr(e,t,c,h,_);case 130:return F5e(e,t,r,0,c,h,_);case 86106:return J8n(e,t,r,i,R,c,h,_);case 8456256:if(t&8)return V5e(e,t,r,0,c,h,_);default:if(Ife(t,e.getToken()))return wCt(e,t,r,c,h,_);ir(e,30,au[e.getToken()&255])}}function J8n(e,t,r,n,i,s,R,l){let c=kl(e,t);return e.getToken()===67108877?$Rr(e,t,c,s,R,l):(n&&ir(e,142),c=QRr(e,t,r,i,s,R,l),e.assignable=2,ml(e,t,r,c,i,0,s,R,l))}function $Rr(e,t,r,n,i,s){t&512||ir(e,169),xa(e,t);let R=e.getToken();return R!==209030&&e.tokenValue!=="meta"?ir(e,174):R&-2147483648&&ir(e,175),e.assignable=2,yi(e,t,n,i,s,{type:"MetaProperty",meta:r,property:kl(e,t)})}function QRr(e,t,r,n,i,s,R){Rs(e,t|8192,67174411),e.getToken()===14&&ir(e,143);let l={type:"ImportExpression",source:$c(e,t,r,1,n,e.tokenIndex,e.tokenLine,e.tokenColumn)};if(t&1){let c=null;if(e.getToken()===18&&(Rs(e,t,18),e.getToken()!==16)){let h=(t|33554432)^33554432;c=$c(e,h,r,1,n,e.tokenIndex,e.tokenLine,e.tokenColumn)}l.options=c,J0(e,t,18)}return Rs(e,t,16),yi(e,t,i,s,R,l)}function xCt(e,t,r=null){if(!J0(e,t,20579))return[];Rs(e,t,2162700);let n=[],i=new Set;for(;e.getToken()!==1074790415;){let s=e.tokenIndex,R=e.tokenLine,l=e.tokenColumn,c=Z8n(e,t);Rs(e,t,21);let h=X8n(e,t),_=c.type==="Literal"?c.value:c.name;_==="type"&&h.value==="json"&&(r===null||r.length===1&&(r[0].type==="ImportDefaultSpecifier"||r[0].type==="ImportNamespaceSpecifier"||r[0].type==="ImportSpecifier"&&r[0].imported.type==="Identifier"&&r[0].imported.name==="default"||r[0].type==="ExportSpecifier"&&r[0].local.type==="Identifier"&&r[0].local.name==="default")||ir(e,140)),i.has(_)&&ir(e,145,`${_}`),i.add(_),n.push(yi(e,t,s,R,l,{type:"ImportAttribute",key:c,value:h})),e.getToken()!==1074790415&&Rs(e,t,18)}return Rs(e,t,1074790415),n}function X8n(e,t){if(e.getToken()===134283267)return Q7(e,t);ir(e,30,au[e.getToken()&255])}function Z8n(e,t){if(e.getToken()===134283267)return Q7(e,t);if(e.getToken()&143360)return kl(e,t);ir(e,30,au[e.getToken()&255])}function e4n(e,t){let r=t.length;for(let n=0;n56319||++n>=r||(t.charCodeAt(n)&64512)!==56320)&&ir(e,171,JSON.stringify(t.charAt(n--)))}}function w5e(e,t){if(e.getToken()===134283267)return e4n(e,e.tokenValue),Q7(e,t);if(e.getToken()&143360)return kl(e,t);ir(e,30,au[e.getToken()&255])}function NRr(e,t,r,n,i){let{tokenRaw:s,tokenValue:R}=e;return xa(e,t),e.assignable=2,yi(e,t,r,n,i,t&128?{type:"Literal",value:R,bigint:s.slice(0,-1),raw:s}:{type:"Literal",value:R,bigint:s.slice(0,-1)})}function $Ct(e,t,r,n,i){e.assignable=2;let{tokenValue:s,tokenRaw:R,tokenIndex:l,tokenLine:c,tokenColumn:h}=e;Rs(e,t,67174409);let _=[P5e(e,t,s,R,l,c,h,!0)];return yi(e,t,r,n,i,{type:"TemplateLiteral",expressions:[],quasis:_})}function QCt(e,t,r){t=(t|33554432)^33554432;let{tokenValue:n,tokenRaw:i,tokenIndex:s,tokenLine:R,tokenColumn:l}=e;Rs(e,t&-16385|8192,67174408);let c=[P5e(e,t,n,i,s,R,l,!1)],h=[hy(e,t&-16385,r,0,1,e.tokenIndex,e.tokenLine,e.tokenColumn)];for(e.getToken()!==1074790415&&ir(e,83);e.setToken(r8n(e,t),!0)!==67174409;){let{tokenValue:_,tokenRaw:f,tokenIndex:m,tokenLine:x,tokenColumn:y}=e;Rs(e,t&-16385|8192,67174408),c.push(P5e(e,t,_,f,m,x,y,!1)),h.push(hy(e,t,r,0,1,e.tokenIndex,e.tokenLine,e.tokenColumn)),e.getToken()!==1074790415&&ir(e,83)}{let{tokenValue:_,tokenRaw:f,tokenIndex:m,tokenLine:x,tokenColumn:y}=e;Rs(e,t,67174409),c.push(P5e(e,t,_,f,m,x,y,!0))}return yi(e,t,s,R,l,{type:"TemplateLiteral",expressions:h,quasis:c})}function P5e(e,t,r,n,i,s,R,l){let c=yi(e,t,i,s,R,{type:"TemplateElement",value:{cooked:r,raw:n},tail:l}),h=l?1:2;return t&2&&(c.start+=1,c.range[0]+=1,c.end-=h,c.range[1]-=h),t&4&&(c.loc.start.column+=1,c.loc.end.column-=h),c}function t4n(e,t,r,n,i,s){t=(t|33554432)^33554432,Rs(e,t|8192,14);let R=$c(e,t,r,1,0,e.tokenIndex,e.tokenLine,e.tokenColumn);return e.assignable=1,yi(e,t,n,i,s,{type:"SpreadElement",argument:R})}function NCt(e,t,r,n){xa(e,t|8192);let i=[];if(e.getToken()===16)return xa(e,t|16384),i;for(;e.getToken()!==16&&(e.getToken()===14?i.push(t4n(e,t,r,e.tokenIndex,e.tokenLine,e.tokenColumn)):i.push($c(e,t,r,1,n,e.tokenIndex,e.tokenLine,e.tokenColumn)),!(e.getToken()!==18||(xa(e,t|8192),e.getToken()===16))););return Rs(e,t|16384,16),i}function kl(e,t){let{tokenValue:r,tokenIndex:n,tokenLine:i,tokenColumn:s}=e,R=r==="await"&&(e.getToken()&-2147483648)===0;return xa(e,t|(R?8192:0)),yi(e,t,n,i,s,{type:"Identifier",name:r})}function Q7(e,t){let{tokenValue:r,tokenRaw:n,tokenIndex:i,tokenLine:s,tokenColumn:R}=e;return e.getToken()===134283388?NRr(e,t,i,s,R):(xa(e,t),e.assignable=2,yi(e,t,i,s,R,t&128?{type:"Literal",value:r,raw:n}:{type:"Literal",value:r}))}function r4n(e,t,r,n,i){let s=au[e.getToken()&255],R=e.getToken()===86023?null:s==="true";return xa(e,t),e.assignable=2,yi(e,t,r,n,i,t&128?{type:"Literal",value:R,raw:s}:{type:"Literal",value:R})}function n4n(e,t){let{tokenIndex:r,tokenLine:n,tokenColumn:i}=e;return xa(e,t),e.assignable=2,yi(e,t,r,n,i,{type:"ThisExpression"})}function vW(e,t,r,n,i,s,R,l,c,h,_){xa(e,t|8192);let f=s?OCt(e,t,8391476):0,m=null,x,y=r?bX():void 0;if(e.getToken()===67174411)R&1||ir(e,39,"Function");else{let M=i&4&&(!(t&2048)||!(t&512))?4:64|(l?1024:0)|(f?1024:0);qRr(e,t,e.getToken()),r&&(M&4?gRr(e,t,r,e.tokenValue,M):DW(e,t,r,e.tokenValue,M,i),y=K_(y,256),R&&R&2&&EW(e,e.tokenValue)),x=e.getToken(),e.getToken()&143360?m=kl(e,t):ir(e,30,au[e.getToken()&255])}let A=7274496;t=(t|A)^A|16777216|(l?524288:0)|(f?262144:0)|(f?0:67108864),r&&(y=K_(y,512));let D=BRr(e,(t|2097152)&-268435457,y,n,0,1),S=268471296,P=Y5e(e,(t|S)^S|8388608|1048576,r?K_(y,128):y,n,8,x,y?.scopeError);return yi(e,t,c,h,_,{type:"FunctionDeclaration",id:m,params:D,body:P,async:l===1,generator:f===1})}function wRr(e,t,r,n,i,s,R,l){xa(e,t|8192);let c=OCt(e,t,8391476),h=(n?524288:0)|(c?262144:0),_=null,f,m=t&16?bX():void 0,x=275709952;e.getToken()&143360&&(qRr(e,(t|x)^x|h,e.getToken()),m&&(m=K_(m,256)),f=e.getToken(),_=kl(e,t)),t=(t|x)^x|16777216|h|(c?0:67108864),m&&(m=K_(m,512));let y=BRr(e,(t|2097152)&-268435457,m,r,i,1),A=Y5e(e,t&-33594369|8388608|1048576,m&&K_(m,128),r,0,f,m?.scopeError);return e.assignable=2,yi(e,t,s,R,l,{type:"FunctionExpression",id:_,params:y,body:A,async:n===1,generator:c===1})}function i4n(e,t,r,n,i,s,R,l){let c=Tg(e,t,void 0,r,n,i,0,2,0,s,R,l);return e.destructible&64&&ir(e,63),e.destructible&8&&ir(e,62),c}function Tg(e,t,r,n,i,s,R,l,c,h,_,f){xa(e,t|8192);let m=[],x=0;for(t=(t|33554432)^33554432;e.getToken()!==20;)if(J0(e,t|8192,18))m.push(null);else{let A,{tokenIndex:D,tokenLine:S,tokenColumn:P,tokenValue:M}=e,U=e.getToken();if(U&143360)if(A=CA(e,t,n,l,0,1,s,1,D,S,P),e.getToken()===1077936155){e.assignable&2&&ir(e,26),xa(e,t|8192),r&&Cw(e,t,r,M,l,c);let w=$c(e,t,n,1,s,e.tokenIndex,e.tokenLine,e.tokenColumn);A=yi(e,t,D,S,P,R?{type:"AssignmentPattern",left:A,right:w}:{type:"AssignmentExpression",operator:"=",left:A,right:w}),x|=e.destructible&256?256:0|e.destructible&128?128:0}else e.getToken()===18||e.getToken()===20?(e.assignable&2?x|=16:r&&Cw(e,t,r,M,l,c),x|=e.destructible&256?256:0|e.destructible&128?128:0):(x|=l&1?32:l&2?0:16,A=ml(e,t,n,A,s,0,D,S,P),e.getToken()!==18&&e.getToken()!==20?(e.getToken()!==1077936155&&(x|=16),A=o1(e,t,n,s,R,D,S,P,A)):e.getToken()!==1077936155&&(x|=e.assignable&2?16:32));else U&2097152?(A=e.getToken()===2162700?pg(e,t,r,n,0,s,R,l,c,D,S,P):Tg(e,t,r,n,0,s,R,l,c,D,S,P),x|=e.destructible,e.assignable=e.destructible&16?2:1,e.getToken()===18||e.getToken()===20?e.assignable&2&&(x|=16):e.destructible&8?ir(e,71):(A=ml(e,t,n,A,s,0,D,S,P),x=e.assignable&2?16:0,e.getToken()!==18&&e.getToken()!==20?A=o1(e,t,n,s,R,D,S,P,A):e.getToken()!==1077936155&&(x|=e.assignable&2?16:32))):U===14?(A=Xae(e,t,r,n,20,l,c,0,s,R,D,S,P),x|=e.destructible,e.getToken()!==18&&e.getToken()!==20&&ir(e,30,au[e.getToken()&255])):(A=cg(e,t,n,1,0,1,D,S,P),e.getToken()!==18&&e.getToken()!==20?(A=o1(e,t,n,s,R,D,S,P,A),!(l&3)&&U===67174411&&(x|=16)):e.assignable&2?x|=16:U===67174411&&(x|=e.assignable&1&&l&3?32:16));if(m.push(A),J0(e,t|8192,18)){if(e.getToken()===20)break}else break}Rs(e,t,20);let y=yi(e,t,h,_,f,{type:R?"ArrayPattern":"ArrayExpression",elements:m});return!i&&e.getToken()&4194304?PRr(e,t,n,x,s,R,h,_,f,y):(e.destructible=x,y)}function PRr(e,t,r,n,i,s,R,l,c,h){e.getToken()!==1077936155&&ir(e,26),xa(e,t|8192),n&16&&ir(e,26),s||_O(e,h);let{tokenIndex:_,tokenLine:f,tokenColumn:m}=e,x=$c(e,t,r,1,i,_,f,m);return e.destructible=(n|64|8)^72|(e.destructible&128?128:0)|(e.destructible&256?256:0),yi(e,t,R,l,c,s?{type:"AssignmentPattern",left:h,right:x}:{type:"AssignmentExpression",left:h,operator:"=",right:x})}function Xae(e,t,r,n,i,s,R,l,c,h,_,f,m){xa(e,t|8192);let x=null,y=0,{tokenValue:A,tokenIndex:D,tokenLine:S,tokenColumn:P}=e,M=e.getToken();if(M&143360)e.assignable=1,x=CA(e,t,n,s,0,1,c,1,D,S,P),M=e.getToken(),x=ml(e,t,n,x,c,0,D,S,P),e.getToken()!==18&&e.getToken()!==i&&(e.assignable&2&&e.getToken()===1077936155&&ir(e,71),y|=16,x=o1(e,t,n,c,h,D,S,P,x)),e.assignable&2?y|=16:M===i||M===18?r&&Cw(e,t,r,A,s,R):y|=32,y|=e.destructible&128?128:0;else if(M===i)ir(e,41);else if(M&2097152)x=e.getToken()===2162700?pg(e,t,r,n,1,c,h,s,R,D,S,P):Tg(e,t,r,n,1,c,h,s,R,D,S,P),M=e.getToken(),M!==1077936155&&M!==i&&M!==18?(e.destructible&8&&ir(e,71),x=ml(e,t,n,x,c,0,D,S,P),y|=e.assignable&2?16:0,(e.getToken()&4194304)===4194304?(e.getToken()!==1077936155&&(y|=16),x=o1(e,t,n,c,h,D,S,P,x)):((e.getToken()&8388608)===8388608&&(x=OW(e,t,n,1,D,S,P,4,M,x)),J0(e,t|8192,22)&&(x=CX(e,t,n,x,D,S,P)),y|=e.assignable&2?16:32)):y|=i===1074790415&&M!==1077936155?16:e.destructible;else{y|=32,x=cg(e,t,n,1,c,1,e.tokenIndex,e.tokenLine,e.tokenColumn);let{tokenIndex:U,tokenLine:w,tokenColumn:F}=e,H=e.getToken();return H===1077936155?(e.assignable&2&&ir(e,26),x=o1(e,t,n,c,h,U,w,F,x),y|=16):(H===18?y|=16:H!==i&&(x=o1(e,t,n,c,h,U,w,F,x)),y|=e.assignable&1?32:16),e.destructible=y,e.getToken()!==i&&e.getToken()!==18&&ir(e,161),yi(e,t,_,f,m,{type:h?"RestElement":"SpreadElement",argument:x})}if(e.getToken()!==i)if(s&1&&(y|=l?16:32),J0(e,t|8192,1077936155)){y&16&&ir(e,26),_O(e,x);let U=$c(e,t,n,1,c,e.tokenIndex,e.tokenLine,e.tokenColumn);x=yi(e,t,D,S,P,h?{type:"AssignmentPattern",left:x,right:U}:{type:"AssignmentExpression",left:x,operator:"=",right:U}),y=16}else y|=16;return e.destructible=y,yi(e,t,_,f,m,{type:h?"RestElement":"SpreadElement",argument:x})}function pO(e,t,r,n,i,s,R,l){var c;let h=2883584|(n&64?0:4325376);t=(t|h)^h|(n&8?262144:0)|(n&16?524288:0)|(n&64?4194304:0)|65536|8388608|16777216;let _=t&16?K_(bX(),512):void 0,f=s4n(e,(t|2097152)&-268435457,_,r,n,1,i);_&&(_=K_(_,128));let m=Y5e(e,t&-301992961|8388608|1048576,_,r,0,void 0,(c=_?.parent)==null?void 0:c.scopeError);return yi(e,t,s,R,l,{type:"FunctionExpression",params:f,body:m,async:(n&16)>0,generator:(n&8)>0,id:null})}function a4n(e,t,r,n,i,s,R,l){let c=pg(e,t,void 0,r,n,i,0,2,0,s,R,l);return e.destructible&64&&ir(e,63),e.destructible&8&&ir(e,62),c}function pg(e,t,r,n,i,s,R,l,c,h,_,f){xa(e,t);let m=[],x=0,y=0;for(t=(t|33554432)^33554432;e.getToken()!==1074790415;){let{tokenValue:D,tokenLine:S,tokenColumn:P,tokenIndex:M}=e,U=e.getToken();if(U===14)m.push(Xae(e,t,r,n,1074790415,l,c,0,s,R,M,S,P));else{let w=0,F=null,H;if(e.getToken()&143360||e.getToken()===-2147483528||e.getToken()===-2147483527)if(e.getToken()===-2147483527&&(x|=16),F=kl(e,t),e.getToken()===18||e.getToken()===1074790415||e.getToken()===1077936155)if(w|=4,t&256&&(U&537079808)===537079808?x|=16:M5e(e,t,l,U,0),r&&Cw(e,t,r,D,l,c),J0(e,t|8192,1077936155)){x|=8;let G=$c(e,t,n,1,s,e.tokenIndex,e.tokenLine,e.tokenColumn);x|=e.destructible&256?256:0|e.destructible&128?128:0,H=yi(e,t,M,S,P,{type:"AssignmentPattern",left:t&134217728?Object.assign({},F):F,right:G})}else x|=(U===209006?128:0)|(U===-2147483528?16:0),H=t&134217728?Object.assign({},F):F;else if(J0(e,t|8192,21)){let{tokenIndex:G,tokenLine:ee,tokenColumn:fe}=e;if(D==="__proto__"&&y++,e.getToken()&143360){let me=e.getToken(),ve=e.tokenValue;H=CA(e,t,n,l,0,1,s,1,G,ee,fe);let Ae=e.getToken();H=ml(e,t,n,H,s,0,G,ee,fe),e.getToken()===18||e.getToken()===1074790415?Ae===1077936155||Ae===1074790415||Ae===18?(x|=e.destructible&128?128:0,e.assignable&2?x|=16:r&&(me&143360)===143360&&Cw(e,t,r,ve,l,c)):x|=e.assignable&1?32:16:(e.getToken()&4194304)===4194304?(e.assignable&2?x|=16:Ae!==1077936155?x|=32:r&&Cw(e,t,r,ve,l,c),H=o1(e,t,n,s,R,G,ee,fe,H)):(x|=16,(e.getToken()&8388608)===8388608&&(H=OW(e,t,n,1,G,ee,fe,4,Ae,H)),J0(e,t|8192,22)&&(H=CX(e,t,n,H,G,ee,fe)))}else(e.getToken()&2097152)===2097152?(H=e.getToken()===69271571?Tg(e,t,r,n,0,s,R,l,c,G,ee,fe):pg(e,t,r,n,0,s,R,l,c,G,ee,fe),x=e.destructible,e.assignable=x&16?2:1,e.getToken()===18||e.getToken()===1074790415?e.assignable&2&&(x|=16):e.destructible&8?ir(e,71):(H=ml(e,t,n,H,s,0,G,ee,fe),x=e.assignable&2?16:0,(e.getToken()&4194304)===4194304?H=Q5e(e,t,n,s,R,G,ee,fe,H):((e.getToken()&8388608)===8388608&&(H=OW(e,t,n,1,G,ee,fe,4,U,H)),J0(e,t|8192,22)&&(H=CX(e,t,n,H,G,ee,fe)),x|=e.assignable&2?16:32))):(H=cg(e,t,n,1,s,1,G,ee,fe),x|=e.assignable&1?32:16,e.getToken()===18||e.getToken()===1074790415?e.assignable&2&&(x|=16):(H=ml(e,t,n,H,s,0,G,ee,fe),x=e.assignable&2?16:0,e.getToken()!==18&&U!==1074790415&&(e.getToken()!==1077936155&&(x|=16),H=o1(e,t,n,s,R,G,ee,fe,H))))}else e.getToken()===69271571?(x|=16,U===209005&&(w|=16),w|=(U===12400?256:U===12401?512:1)|2,F=Gae(e,t,n,s),x|=e.assignable,H=pO(e,t,n,w,s,e.tokenIndex,e.tokenLine,e.tokenColumn)):e.getToken()&143360?(x|=16,U===-2147483528&&ir(e,95),U===209005?(e.flags&1&&ir(e,132),w|=17):U===12400?w|=256:U===12401?w|=512:ir(e,0),F=kl(e,t),H=pO(e,t,n,w,s,e.tokenIndex,e.tokenLine,e.tokenColumn)):e.getToken()===67174411?(x|=16,w|=1,H=pO(e,t,n,w,s,e.tokenIndex,e.tokenLine,e.tokenColumn)):e.getToken()===8391476?(x|=16,U===12400?ir(e,42):U===12401?ir(e,43):U!==209005&&ir(e,30,au[52]),xa(e,t),w|=9|(U===209005?16:0),e.getToken()&143360?F=kl(e,t):(e.getToken()&134217728)===134217728?F=Q7(e,t):e.getToken()===69271571?(w|=2,F=Gae(e,t,n,s),x|=e.assignable):ir(e,30,au[e.getToken()&255]),H=pO(e,t,n,w,s,e.tokenIndex,e.tokenLine,e.tokenColumn)):(e.getToken()&134217728)===134217728?(U===209005&&(w|=16),w|=U===12400?256:U===12401?512:1,x|=16,F=Q7(e,t),H=pO(e,t,n,w,s,e.tokenIndex,e.tokenLine,e.tokenColumn)):ir(e,133);else if((e.getToken()&134217728)===134217728)if(F=Q7(e,t),e.getToken()===21){Rs(e,t|8192,21);let{tokenIndex:G,tokenLine:ee,tokenColumn:fe}=e;if(D==="__proto__"&&y++,e.getToken()&143360){H=CA(e,t,n,l,0,1,s,1,G,ee,fe);let{tokenValue:me}=e,ve=e.getToken();H=ml(e,t,n,H,s,0,G,ee,fe),e.getToken()===18||e.getToken()===1074790415?ve===1077936155||ve===1074790415||ve===18?e.assignable&2?x|=16:r&&Cw(e,t,r,me,l,c):x|=e.assignable&1?32:16:e.getToken()===1077936155?(e.assignable&2&&(x|=16),H=o1(e,t,n,s,R,G,ee,fe,H)):(x|=16,H=o1(e,t,n,s,R,G,ee,fe,H))}else(e.getToken()&2097152)===2097152?(H=e.getToken()===69271571?Tg(e,t,r,n,0,s,R,l,c,G,ee,fe):pg(e,t,r,n,0,s,R,l,c,G,ee,fe),x=e.destructible,e.assignable=x&16?2:1,e.getToken()===18||e.getToken()===1074790415?e.assignable&2&&(x|=16):(e.destructible&8)!==8&&(H=ml(e,t,n,H,s,0,G,ee,fe),x=e.assignable&2?16:0,(e.getToken()&4194304)===4194304?H=Q5e(e,t,n,s,R,G,ee,fe,H):((e.getToken()&8388608)===8388608&&(H=OW(e,t,n,1,G,ee,fe,4,U,H)),J0(e,t|8192,22)&&(H=CX(e,t,n,H,G,ee,fe)),x|=e.assignable&2?16:32))):(H=cg(e,t,n,1,0,1,G,ee,fe),x|=e.assignable&1?32:16,e.getToken()===18||e.getToken()===1074790415?e.assignable&2&&(x|=16):(H=ml(e,t,n,H,s,0,G,ee,fe),x=e.assignable&1?0:16,e.getToken()!==18&&e.getToken()!==1074790415&&(e.getToken()!==1077936155&&(x|=16),H=o1(e,t,n,s,R,G,ee,fe,H))))}else e.getToken()===67174411?(w|=1,H=pO(e,t,n,w,s,e.tokenIndex,e.tokenLine,e.tokenColumn),x=e.assignable|16):ir(e,134);else if(e.getToken()===69271571)if(F=Gae(e,t,n,s),x|=e.destructible&256?256:0,w|=2,e.getToken()===21){xa(e,t|8192);let{tokenIndex:G,tokenLine:ee,tokenColumn:fe,tokenValue:me}=e,ve=e.getToken();if(e.getToken()&143360){H=CA(e,t,n,l,0,1,s,1,G,ee,fe);let Ae=e.getToken();H=ml(e,t,n,H,s,0,G,ee,fe),(e.getToken()&4194304)===4194304?(x|=e.assignable&2?16:Ae===1077936155?0:32,H=Q5e(e,t,n,s,R,G,ee,fe,H)):e.getToken()===18||e.getToken()===1074790415?Ae===1077936155||Ae===1074790415||Ae===18?e.assignable&2?x|=16:r&&(ve&143360)===143360&&Cw(e,t,r,me,l,c):x|=e.assignable&1?32:16:(x|=16,H=o1(e,t,n,s,R,G,ee,fe,H))}else(e.getToken()&2097152)===2097152?(H=e.getToken()===69271571?Tg(e,t,r,n,0,s,R,l,c,G,ee,fe):pg(e,t,r,n,0,s,R,l,c,G,ee,fe),x=e.destructible,e.assignable=x&16?2:1,e.getToken()===18||e.getToken()===1074790415?e.assignable&2&&(x|=16):x&8?ir(e,62):(H=ml(e,t,n,H,s,0,G,ee,fe),x=e.assignable&2?x|16:0,(e.getToken()&4194304)===4194304?(e.getToken()!==1077936155&&(x|=16),H=Q5e(e,t,n,s,R,G,ee,fe,H)):((e.getToken()&8388608)===8388608&&(H=OW(e,t,n,1,G,ee,fe,4,U,H)),J0(e,t|8192,22)&&(H=CX(e,t,n,H,G,ee,fe)),x|=e.assignable&2?16:32))):(H=cg(e,t,n,1,0,1,G,ee,fe),x|=e.assignable&1?32:16,e.getToken()===18||e.getToken()===1074790415?e.assignable&2&&(x|=16):(H=ml(e,t,n,H,s,0,G,ee,fe),x=e.assignable&1?0:16,e.getToken()!==18&&e.getToken()!==1074790415&&(e.getToken()!==1077936155&&(x|=16),H=o1(e,t,n,s,R,G,ee,fe,H))))}else e.getToken()===67174411?(w|=1,H=pO(e,t,n,w,s,e.tokenIndex,S,P),x=16):ir(e,44);else if(U===8391476)if(Rs(e,t|8192,8391476),w|=8,e.getToken()&143360){let G=e.getToken();F=kl(e,t),w|=1,e.getToken()===67174411?(x|=16,H=pO(e,t,n,w,s,e.tokenIndex,e.tokenLine,e.tokenColumn)):KC(e.tokenIndex,e.tokenLine,e.tokenColumn,e.index,e.line,e.column,G===209005?46:G===12400||e.getToken()===12401?45:47,au[G&255])}else(e.getToken()&134217728)===134217728?(x|=16,F=Q7(e,t),w|=1,H=pO(e,t,n,w,s,M,S,P)):e.getToken()===69271571?(x|=16,w|=3,F=Gae(e,t,n,s),H=pO(e,t,n,w,s,e.tokenIndex,e.tokenLine,e.tokenColumn)):ir(e,126);else ir(e,30,au[U&255]);x|=e.destructible&128?128:0,e.destructible=x,m.push(yi(e,t,M,S,P,{type:"Property",key:F,value:H,kind:w&768?w&512?"set":"get":"init",computed:(w&2)>0,method:(w&1)>0,shorthand:(w&4)>0}))}if(x|=e.destructible,e.getToken()!==18)break;xa(e,t)}Rs(e,t,1074790415),y>1&&(x|=64);let A=yi(e,t,h,_,f,{type:R?"ObjectPattern":"ObjectExpression",properties:m});return!i&&e.getToken()&4194304?PRr(e,t,n,x,s,R,h,_,f,A):(e.destructible=x,A)}function s4n(e,t,r,n,i,s,R){Rs(e,t,67174411);let l=[];if(e.flags=(e.flags|128)^128,e.getToken()===16)return i&512&&ir(e,37,"Setter","one",""),xa(e,t),l;i&256&&ir(e,37,"Getter","no","s"),i&512&&e.getToken()===14&&ir(e,38),t=(t|33554432)^33554432;let c=0,h=0;for(;e.getToken()!==18;){let _=null,{tokenIndex:f,tokenLine:m,tokenColumn:x}=e;if(e.getToken()&143360?(t&256||((e.getToken()&36864)===36864&&(e.flags|=256),(e.getToken()&537079808)===537079808&&(e.flags|=512)),_=BCt(e,t,r,i|1,0,f,m,x)):(e.getToken()===2162700?_=pg(e,t,r,n,1,R,1,s,0,f,m,x):e.getToken()===69271571?_=Tg(e,t,r,n,1,R,1,s,0,f,m,x):e.getToken()===14&&(_=Xae(e,t,r,n,16,s,0,0,R,1,f,m,x)),h=1,e.destructible&48&&ir(e,50)),e.getToken()===1077936155){xa(e,t|8192),h=1;let y=$c(e,t,n,1,0,e.tokenIndex,e.tokenLine,e.tokenColumn);_=yi(e,t,f,m,x,{type:"AssignmentPattern",left:_,right:y})}if(c++,l.push(_),!J0(e,t,18)||e.getToken()===16)break}return i&512&&c!==1&&ir(e,37,"Setter","one",""),r&&r.scopeError&&L5e(r.scopeError),h&&(e.flags|=128),Rs(e,t,16),l}function Gae(e,t,r,n){xa(e,t|8192);let i=$c(e,(t|33554432)^33554432,r,1,n,e.tokenIndex,e.tokenLine,e.tokenColumn);return Rs(e,t,20),i}function o4n(e,t,r,n,i,s,R,l,c){e.flags=(e.flags|128)^128;let{tokenIndex:h,tokenLine:_,tokenColumn:f}=e;xa(e,t|8192|67108864);let m=t&16?K_(bX(),1024):void 0;if(t=(t|33554432)^33554432,J0(e,t,16))return U5e(e,t,m,r,[],n,0,R,l,c);let x=0;e.destructible&=-385;let y,A=[],D=0,S=0,P=0,{tokenIndex:M,tokenLine:U,tokenColumn:w}=e;for(e.assignable=1;e.getToken()!==16;){let{tokenIndex:F,tokenLine:H,tokenColumn:G}=e,ee=e.getToken();if(ee&143360)m&&DW(e,t,m,e.tokenValue,1,0),(ee&537079808)===537079808?S=1:(ee&36864)===36864&&(P=1),y=CA(e,t,r,i,0,1,1,1,F,H,G),e.getToken()===16||e.getToken()===18?e.assignable&2&&(x|=16,S=1):(e.getToken()===1077936155?S=1:x|=16,y=ml(e,t,r,y,1,0,F,H,G),e.getToken()!==16&&e.getToken()!==18&&(y=o1(e,t,r,1,0,F,H,G,y)));else if((ee&2097152)===2097152)y=ee===2162700?pg(e,t|67108864,m,r,0,1,0,i,s,F,H,G):Tg(e,t|67108864,m,r,0,1,0,i,s,F,H,G),x|=e.destructible,S=1,e.assignable=2,e.getToken()!==16&&e.getToken()!==18&&(x&8&&ir(e,122),y=ml(e,t,r,y,0,0,F,H,G),x|=16,e.getToken()!==16&&e.getToken()!==18&&(y=o1(e,t,r,0,0,F,H,G,y)));else if(ee===14){y=Xae(e,t,m,r,16,i,s,0,1,0,F,H,G),e.destructible&16&&ir(e,74),S=1,D&&(e.getToken()===16||e.getToken()===18)&&A.push(y),x|=8;break}else{if(x|=16,y=$c(e,t,r,1,1,F,H,G),D&&(e.getToken()===16||e.getToken()===18)&&A.push(y),e.getToken()===18&&(D||(D=1,A=[y])),D){for(;J0(e,t|8192,18);)A.push($c(e,t,r,1,1,e.tokenIndex,e.tokenLine,e.tokenColumn));e.assignable=2,y=yi(e,t,M,U,w,{type:"SequenceExpression",expressions:A})}return Rs(e,t,16),e.destructible=x,y}if(D&&(e.getToken()===16||e.getToken()===18)&&A.push(y),!J0(e,t|8192,18))break;if(D||(D=1,A=[y]),e.getToken()===16){x|=8;break}}return D&&(e.assignable=2,y=yi(e,t,M,U,w,{type:"SequenceExpression",expressions:A})),Rs(e,t,16),x&16&&x&8&&ir(e,151),x|=e.destructible&256?256:0|e.destructible&128?128:0,e.getToken()===10?(x&48&&ir(e,49),t&524800&&x&128&&ir(e,31),t&262400&&x&256&&ir(e,32),S&&(e.flags|=128),P&&(e.flags|=256),U5e(e,t,m,r,D?A:[y],n,0,R,l,c)):(x&64&&ir(e,63),x&8&&ir(e,144),e.destructible=(e.destructible|256)^256|x,t&32?yi(e,t,h,_,f,{type:"ParenthesizedExpression",expression:y}):y)}function wCt(e,t,r,n,i,s){let{tokenValue:R}=e,l=0,c=0;(e.getToken()&537079808)===537079808?l=1:(e.getToken()&36864)===36864&&(c=1);let h=kl(e,t);if(e.assignable=1,e.getToken()===10){let _;return t&16&&(_=z5e(e,t,R)),l&&(e.flags|=128),c&&(e.flags|=256),Ufe(e,t,_,r,[h],0,n,i,s)}return h}function K5e(e,t,r,n,i,s,R,l,c,h,_){R||ir(e,57),s&&ir(e,51),e.flags&=-129;let f=t&16?z5e(e,t,n):void 0;return Ufe(e,t,f,r,[i],l,c,h,_)}function U5e(e,t,r,n,i,s,R,l,c,h){s||ir(e,57);for(let _=0;_0&&e.tokenValue==="constructor"&&ir(e,109),e.getToken()===1074790415&&ir(e,108),J0(e,t,1074790417)){D>0&&ir(e,120);continue}y.push(WRr(e,t,n,f,r,s,A,0,l,e.tokenIndex,e.tokenLine,e.tokenColumn))}return Rs(e,R&8?t|8192:t,1074790415),f&&_8n(f),e.flags=e.flags&-33|x,yi(e,t,c,h,_,{type:"ClassBody",body:y})}function WRr(e,t,r,n,i,s,R,l,c,h,_,f){let m=l?32:0,x=null,{tokenIndex:y,tokenLine:A,tokenColumn:D}=e,S=e.getToken();if(S&176128||S===-2147483528)switch(x=kl(e,t),S){case 36970:if(!l&&e.getToken()!==67174411&&(e.getToken()&1048576)!==1048576&&e.getToken()!==1077936155)return WRr(e,t,r,n,i,s,R,1,c,h,_,f);break;case 209005:if(e.getToken()!==67174411&&!(e.flags&1)){if((e.getToken()&1073741824)===1073741824)return Dfe(e,t,n,x,m,R,y,A,D);m|=16|(OCt(e,t,8391476)?8:0)}break;case 12400:if(e.getToken()!==67174411){if((e.getToken()&1073741824)===1073741824)return Dfe(e,t,n,x,m,R,y,A,D);m|=256}break;case 12401:if(e.getToken()!==67174411){if((e.getToken()&1073741824)===1073741824)return Dfe(e,t,n,x,m,R,y,A,D);m|=512}break;case 12402:if(e.getToken()!==67174411&&!(e.flags&1)){if((e.getToken()&1073741824)===1073741824)return Dfe(e,t,n,x,m,R,y,A,D);t&1&&(m|=1024)}break}else if(S===69271571)m|=2,x=Gae(e,i,n,c);else if((S&134217728)===134217728)x=Q7(e,t);else if(S===8391476)m|=8,xa(e,t);else if(e.getToken()===130)m|=8192,x=F5e(e,t|4096,n,768,y,A,D);else if((e.getToken()&1073741824)===1073741824)m|=128;else{if(l&&S===2162700)return P8n(e,t|4096,r,n,y,A,D);S===-2147483527?(x=kl(e,t),e.getToken()!==67174411&&ir(e,30,au[e.getToken()&255])):ir(e,30,au[e.getToken()&255])}if(m&1816&&(e.getToken()&143360||e.getToken()===-2147483528||e.getToken()===-2147483527?x=kl(e,t):(e.getToken()&134217728)===134217728?x=Q7(e,t):e.getToken()===69271571?(m|=2,x=Gae(e,t,n,0)):e.getToken()===130?(m|=8192,x=F5e(e,t,n,m,y,A,D)):ir(e,135)),m&2||(e.tokenValue==="constructor"?((e.getToken()&1073741824)===1073741824?ir(e,129):!(m&32)&&e.getToken()===67174411&&(m&920?ir(e,53,"accessor"):t&131072||(e.flags&32?ir(e,54):e.flags|=32)),m|=64):!(m&8192)&&m&32&&e.tokenValue==="prototype"&&ir(e,52)),m&1024||e.getToken()!==67174411&&!(m&768))return Dfe(e,t,n,x,m,R,y,A,D);let P=pO(e,t|4096,n,m,c,e.tokenIndex,e.tokenLine,e.tokenColumn);return yi(e,t,h,_,f,{type:"MethodDefinition",kind:!(m&32)&&m&64?"constructor":m&256?"get":m&512?"set":"method",static:(m&32)>0,computed:(m&2)>0,key:x,value:P,...t&1?{decorators:R}:null})}function F5e(e,t,r,n,i,s,R){xa(e,t);let{tokenValue:l}=e;return l==="constructor"&&ir(e,128),t&16&&(r||ir(e,4,l),n?T8n(e,r,l,n):p8n(e,r,l)),xa(e,t),yi(e,t,i,s,R,{type:"PrivateIdentifier",name:l})}function Dfe(e,t,r,n,i,s,R,l,c){let h=null;if(i&8&&ir(e,0),e.getToken()===1077936155){xa(e,t|8192);let{tokenIndex:_,tokenLine:f,tokenColumn:m}=e;e.getToken()===537079927&&ir(e,119);let x=2883584|(i&64?0:4325376);t=(t|x)^x|(i&8?262144:0)|(i&16?524288:0)|(i&64?4194304:0)|65536|16777216,h=CA(e,t|4096,r,2,0,1,0,1,_,f,m),((e.getToken()&1073741824)!==1073741824||(e.getToken()&4194304)===4194304)&&(h=ml(e,t|4096,r,h,0,0,_,f,m),h=o1(e,t|4096,r,0,0,_,f,m,h))}return N4(e,t),yi(e,t,R,l,c,{type:i&1024?"AccessorProperty":"PropertyDefinition",key:n,value:h,static:(i&32)>0,computed:(i&2)>0,...t&1?{decorators:s}:null})}function URr(e,t,r,n,i,s,R,l,c){if(e.getToken()&143360||!(t&256)&&e.getToken()===-2147483527)return BCt(e,t,r,i,s,R,l,c);(e.getToken()&2097152)!==2097152&&ir(e,30,au[e.getToken()&255]);let h=e.getToken()===69271571?Tg(e,t,r,n,1,0,1,i,s,R,l,c):pg(e,t,r,n,1,0,1,i,s,R,l,c);return e.destructible&16&&ir(e,50),e.destructible&32&&ir(e,50),h}function BCt(e,t,r,n,i,s,R,l){let{tokenValue:c}=e,h=e.getToken();return t&256&&((h&537079808)===537079808?ir(e,119):((h&36864)===36864||h===-2147483527)&&ir(e,118)),(h&20480)===20480&&ir(e,102),h===241771&&(t&262144&&ir(e,32),t&512&&ir(e,111)),(h&255)===73&&n&24&&ir(e,100),h===209006&&(t&524288&&ir(e,176),t&512&&ir(e,110)),xa(e,t),r&&Cw(e,t,r,c,n,i),yi(e,t,s,R,l,{type:"Identifier",name:c})}function V5e(e,t,r,n,i,s,R){if(n||Rs(e,t,8456256),e.getToken()===8390721){let _=p4n(e,t,i,s,R),[f,m]=d4n(e,t,r,n);return yi(e,t,i,s,R,{type:"JSXFragment",openingFragment:_,children:f,closingFragment:m})}e.getToken()===8457014&&ir(e,30,au[e.getToken()&255]);let l=null,c=[],h=k4n(e,t,r,n,i,s,R);if(!h.selfClosing){[c,l]=f4n(e,t,r,n);let _=W5e(l.name);W5e(h.name)!==_&&ir(e,155,_)}return yi(e,t,i,s,R,{type:"JSXElement",children:c,openingElement:h,closingElement:l})}function p4n(e,t,r,n,i){return Bfe(e,t),yi(e,t,r,n,i,{type:"JSXOpeningFragment"})}function _4n(e,t,r,n,i,s){Rs(e,t,8457014);let R=LRr(e,t,e.tokenIndex,e.tokenLine,e.tokenColumn);return e.getToken()!==8390721&&ir(e,25,au[65]),r?Bfe(e,t):xa(e,t),yi(e,t,n,i,s,{type:"JSXClosingElement",name:R})}function h4n(e,t,r,n,i,s){return Rs(e,t,8457014),e.getToken()!==8390721&&ir(e,25,au[65]),r?Bfe(e,t):xa(e,t),yi(e,t,n,i,s,{type:"JSXClosingFragment"})}function f4n(e,t,r,n){let i=[];for(;;){let s=x4n(e,t,r,n,e.tokenIndex,e.tokenLine,e.tokenColumn);if(s.type==="JSXClosingElement")return[i,s];i.push(s)}}function d4n(e,t,r,n){let i=[];for(;;){let s=m4n(e,t,r,n,e.tokenIndex,e.tokenLine,e.tokenColumn);if(s.type==="JSXClosingFragment")return[i,s];i.push(s)}}function x4n(e,t,r,n,i,s,R){if(e.getToken()===137)return FRr(e,t,i,s,R);if(e.getToken()===2162700)return ICt(e,t,r,1,0,i,s,R);if(e.getToken()===8456256)return xa(e,t),e.getToken()===8457014?_4n(e,t,n,i,s,R):V5e(e,t,r,1,i,s,R);ir(e,0)}function m4n(e,t,r,n,i,s,R){if(e.getToken()===137)return FRr(e,t,i,s,R);if(e.getToken()===2162700)return ICt(e,t,r,1,0,i,s,R);if(e.getToken()===8456256)return xa(e,t),e.getToken()===8457014?h4n(e,t,n,i,s,R):V5e(e,t,r,1,i,s,R);ir(e,0)}function FRr(e,t,r,n,i){xa(e,t);let s={type:"JSXText",value:e.tokenValue};return t&128&&(s.raw=e.tokenRaw),yi(e,t,r,n,i,s)}function k4n(e,t,r,n,i,s,R){(e.getToken()&143360)!==143360&&(e.getToken()&4096)!==4096&&ir(e,0);let l=LRr(e,t,e.tokenIndex,e.tokenLine,e.tokenColumn),c=q4n(e,t,r),h=e.getToken()===8457014;return h&&Rs(e,t,8457014),e.getToken()!==8390721&&ir(e,25,au[65]),n||!h?Bfe(e,t):xa(e,t),yi(e,t,i,s,R,{type:"JSXOpeningElement",name:l,attributes:c,selfClosing:h})}function LRr(e,t,r,n,i){hCt(e);let s=j5e(e,t,r,n,i);if(e.getToken()===21)return zRr(e,t,s,r,n,i);for(;J0(e,t,67108877);)hCt(e),s=y4n(e,t,s,r,n,i);return s}function y4n(e,t,r,n,i,s){let R=j5e(e,t,e.tokenIndex,e.tokenLine,e.tokenColumn);return yi(e,t,n,i,s,{type:"JSXMemberExpression",object:r,property:R})}function q4n(e,t,r){let n=[];for(;e.getToken()!==8457014&&e.getToken()!==8390721&&e.getToken()!==1048576;)n.push(A4n(e,t,r,e.tokenIndex,e.tokenLine,e.tokenColumn));return n}function C4n(e,t,r,n,i,s){xa(e,t),Rs(e,t,14);let R=$c(e,t,r,1,0,e.tokenIndex,e.tokenLine,e.tokenColumn);return Rs(e,t,1074790415),yi(e,t,n,i,s,{type:"JSXSpreadAttribute",argument:R})}function A4n(e,t,r,n,i,s){if(e.getToken()===2162700)return C4n(e,t,r,n,i,s);hCt(e);let R=null,l=j5e(e,t,n,i,s);if(e.getToken()===21&&(l=zRr(e,t,l,n,i,s)),e.getToken()===1077936155){let c=o8n(e,t),{tokenIndex:h,tokenLine:_,tokenColumn:f}=e;switch(c){case 134283267:R=Q7(e,t);break;case 8456256:R=V5e(e,t,r,0,h,_,f);break;case 2162700:R=ICt(e,t,r,0,1,h,_,f);break;default:ir(e,154)}}return yi(e,t,n,i,s,{type:"JSXAttribute",value:R,name:l})}function zRr(e,t,r,n,i,s){Rs(e,t,21);let R=j5e(e,t,e.tokenIndex,e.tokenLine,e.tokenColumn);return yi(e,t,n,i,s,{type:"JSXNamespacedName",namespace:r,name:R})}function ICt(e,t,r,n,i,s,R,l){xa(e,t|8192);let{tokenIndex:c,tokenLine:h,tokenColumn:_}=e;if(e.getToken()===14)return g4n(e,t,r,s,R,l);let f=null;return e.getToken()===1074790415?(i&&ir(e,157),f=b4n(e,t,e.startIndex,e.startLine,e.startColumn)):f=$c(e,t,r,1,0,c,h,_),e.getToken()!==1074790415&&ir(e,25,au[15]),n?Bfe(e,t):xa(e,t),yi(e,t,s,R,l,{type:"JSXExpressionContainer",expression:f})}function g4n(e,t,r,n,i,s){Rs(e,t,14);let R=$c(e,t,r,1,0,e.tokenIndex,e.tokenLine,e.tokenColumn);return Rs(e,t,1074790415),yi(e,t,n,i,s,{type:"JSXSpreadChild",expression:R})}function b4n(e,t,r,n,i){return e.startIndex=e.tokenIndex,e.startLine=e.tokenLine,e.startColumn=e.tokenColumn,yi(e,t,r,n,i,{type:"JSXEmptyExpression"})}function j5e(e,t,r,n,i){let{tokenValue:s}=e;return xa(e,t),yi(e,t,r,n,i,{type:"JSXIdentifier",name:s})}function E4n(e,t){return m8n(e,t,0)}function O4n(e,t){let r=new SyntaxError(e+" ("+t.loc.start.line+":"+t.loc.start.column+")");return Object.assign(r,t)}function D4n(e){let t=[];for(let r of e)try{return r()}catch(n){t.push(n)}throw Object.assign(new Error("All combinations failed"),{errors:t})}function Q4n(e){return Array.isArray(e)&&e.length>0}function FD(e){var t,r,n;let i=((t=e.range)==null?void 0:t[0])??e.start,s=(n=((r=e.declaration)==null?void 0:r.decorators)??e.decorators)==null?void 0:n[0];return s?Math.min(FD(s),i):i}function AX(e){var t;return((t=e.range)==null?void 0:t[1])??e.end}function w4n(e){let t=new Set(e);return r=>t.has(r?.type)}function I4n(e){let t=`*${e.value}*`.split(` +`);return t.length>1&&t.every(r=>r.trimStart()[0]==="*")}function M4n(e){return kCt(e)&&e.value[0]==="*"&&/@(?:type|satisfies)\b/u.test(e.value)}function Nfe(e){if(Sfe!==null&&typeof Sfe.property){let t=Sfe;return Sfe=Nfe.prototype=null,t}return Sfe=Nfe.prototype=e??Object.create(null),new Nfe}function F4n(e){return Nfe(e)}function L4n(e,t="type"){F4n(e);function r(n){let i=n[t],s=e[i];if(!Array.isArray(s))throw Object.assign(new Error(`Missing visitor keys for '${i}'.`),{node:n});return s}return r}function yCt(e,t){if(!(e!==null&&typeof e=="object"))return e;if(Array.isArray(e)){for(let n=0;n{var R;(R=s.leadingComments)!=null&&R.some(W4n)&&i.add(FD(s))}),e=_Ct(e,s=>{if(s.type==="ParenthesizedExpression"){let{expression:R}=s;if(R.type==="TypeCastExpression")return R.range=[...s.range],R;let l=FD(s);if(!i.has(l))return R.extra={...R.extra,parenthesized:!0},R}})}if(e=_Ct(e,i=>{switch(i.type){case"LogicalExpression":if(HRr(i))return qCt(i);break;case"VariableDeclaration":{let s=aRr(!1,i.declarations,-1);s!=null&&s.init&&n[AX(s)]!==";"&&(i.range=[FD(i),AX(s)]);break}case"TSParenthesizedType":return i.typeAnnotation;case"TSTypeParameter":if(typeof i.name=="string"){let s=FD(i);i.name={type:"Identifier",name:i.name,range:[s,s+i.name.length]}}break;case"TopicReference":e.extra={...e.extra,__isUsingHackPipeline:!0};break;case"TSUnionType":case"TSIntersectionType":if(i.types.length===1)return i.types[0];break}}),N4n(e.comments)){let i=aRr(!1,e.comments,-1);for(let s=e.comments.length-2;s>=0;s--){let R=e.comments[s];AX(R)===FD(i)&&kCt(R)&&kCt(i)&&sRr(R)&&sRr(i)&&(e.comments.splice(s+1,1),R.value+="*//*"+i.value,R.range=[FD(R),AX(i)]),i=R}}return e.type==="Program"&&(e.range=[0,n.length]),e}function HRr(e){return e.type==="LogicalExpression"&&e.right.type==="LogicalExpression"&&e.operator===e.right.operator}function qCt(e){return HRr(e)?qCt({type:"LogicalExpression",operator:e.operator,left:qCt({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:[FD(e.left),AX(e.right.left)]}),right:e.right.right,range:[FD(e),AX(e)]}):e}function n6n(e){let t=e.match(X4n);return t?t[0].trimStart():""}function i6n(e){let t=` +`;e=$fe(!1,e.replace(J4n,"").replace(j4n,""),t6n,"$1");let r="";for(;r!==e;)r=e,e=$fe(!1,e,e6n,`${t}$1 $2${t}`);e=e.replace(oRr,"").trimEnd();let n=Object.create(null),i=$fe(!1,e,RRr,"").replace(oRr,"").trimEnd(),s;for(;s=RRr.exec(e);){let R=$fe(!1,s[2],Z4n,"");if(typeof n[s[1]]=="string"||Array.isArray(n[s[1]])){let l=n[s[1]];n[s[1]]=[...r6n,...Array.isArray(l)?l:[l],R]}else n[s[1]]=R}return{comments:i,pragmas:n}}function a6n(e){if(!e.startsWith("#!"))return"";let t=e.indexOf(` +`);return t===-1?e:e.slice(0,t)}function o6n(e){let t=s6n(e);t&&(e=e.slice(t.length+1));let r=n6n(e),{pragmas:n,comments:i}=i6n(r);return{shebang:t,text:e,pragmas:n,comments:i}}function R6n(e){let{pragmas:t}=o6n(e);return Object.prototype.hasOwnProperty.call(t,"prettier")||Object.prototype.hasOwnProperty.call(t,"format")}function u6n(e){return e=typeof e=="function"?{parse:e}:e,{astFormat:"estree",hasPragma:R6n,locStart:FD,locEnd:AX,...e}}function c6n(e){let{filepath:t}=e;if(t){if(t=t.toLowerCase(),t.endsWith(".cjs")||t.endsWith(".cts"))return"script";if(t.endsWith(".mjs")||t.endsWith(".mts"))return"module"}}function _6n(e,t){let r=[],n=[],i=E4n(e,{...p6n,module:t==="module",onComment:r,onToken:n});return i.comments=r,i.tokens=n,i}function h6n(e){let{message:t,loc:r}=e;if(!r)return e;let n=`[${[r.start,r.end].map(({line:i,column:s})=>[i,s].join(":")).join("-")}]: `;return t.startsWith(n)&&(t=t.slice(n.length)),v4n(t,{loc:{start:{line:r.start.line,column:r.start.column+1},end:{line:r.end.line,column:r.end.column+1}},cause:e})}function f6n(e,t={}){let r=T6n(t),n=(r?[r]:["module","script"]).map(s=>()=>_6n(e,s)),i;try{i=S4n(n)}catch({errors:[s]}){throw h6n(s)}return V4n(i,{parser:"meriyah",text:e})}var Lyn,uRr,lRr,CCt,zyn,$fe,Hyn,Pfe,TRr,jR,Vyn,pRr,_Rr,bW,Yd,au,xRr,s8n,v4n,S4n,$4n,aRr,N4n,P4n,B4n,kCt,sRr,W4n,Sfe,U4n,z4n,H4n,Y4n,K4n,_Ct,V4n,j4n,J4n,X4n,Z4n,oRr,e6n,RRr,t6n,r6n,s6n,l6n,T6n,p6n,d6n,x6n,KRr=mp(()=>{Lyn=Object.defineProperty,uRr=(e,t)=>{for(var r in t)Lyn(e,r,{get:t[r],enumerable:!0})},lRr={};uRr(lRr,{parsers:()=>CCt});CCt={};uRr(CCt,{meriyah:()=>d6n});zyn=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},$fe=zyn,Hyn={0:"Unexpected token",30:"Unexpected token: '%0'",1:"Octal escape sequences are not allowed in strict mode",2:"Octal escape sequences are not allowed in template strings",3:"\\8 and \\9 are not allowed in template strings",4:"Private identifier #%0 is not defined",5:"Illegal Unicode escape sequence",6:"Invalid code point %0",7:"Invalid hexadecimal escape sequence",9:"Octal literals are not allowed in strict mode",8:"Decimal integer literals with a leading zero are forbidden in strict mode",10:"Expected number in radix %0",151:"Invalid left-hand side assignment to a destructible right-hand side",11:"Non-number found after exponent indicator",12:"Invalid BigIntLiteral",13:"No identifiers allowed directly after numeric literal",14:"Escapes \\8 or \\9 are not syntactically valid escapes",15:"Escapes \\8 or \\9 are not allowed in strict mode",16:"Unterminated string literal",17:"Unterminated template literal",18:"Multiline comment was not closed properly",19:"The identifier contained dynamic unicode escape that was not closed",20:"Illegal character '%0'",21:"Missing hexadecimal digits",22:"Invalid implicit octal",23:"Invalid line break in string literal",24:"Only unicode escapes are legal in identifier names",25:"Expected '%0'",26:"Invalid left-hand side in assignment",27:"Invalid left-hand side in async arrow",28:'Calls to super must be in the "constructor" method of a class expression or class declaration that has a superclass',29:"Member access on super must be in a method",31:"Await expression not allowed in formal parameter",32:"Yield expression not allowed in formal parameter",95:"Unexpected token: 'escaped keyword'",33:"Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses",123:"Async functions can only be declared at the top level or inside a block",34:"Unterminated regular expression",35:"Unexpected regular expression flag",36:"Duplicate regular expression flag '%0'",37:"%0 functions must have exactly %1 argument%2",38:"Setter function argument must not be a rest parameter",39:"%0 declaration must have a name in this context",40:"Function name may not contain any reserved words or be eval or arguments in strict mode",41:"The rest operator is missing an argument",42:"A getter cannot be a generator",43:"A setter cannot be a generator",44:"A computed property name must be followed by a colon or paren",134:"Object literal keys that are strings or numbers must be a method or have a colon",46:"Found `* async x(){}` but this should be `async * x(){}`",45:"Getters and setters can not be generators",47:"'%0' can not be generator method",48:"No line break is allowed after '=>'",49:"The left-hand side of the arrow can only be destructed through assignment",50:"The binding declaration is not destructible",51:"Async arrow can not be followed by new expression",52:"Classes may not have a static property named 'prototype'",53:"Class constructor may not be a %0",54:"Duplicate constructor method in class",55:"Invalid increment/decrement operand",56:"Invalid use of `new` keyword on an increment/decrement expression",57:"`=>` is an invalid assignment target",58:"Rest element may not have a trailing comma",59:"Missing initializer in %0 declaration",60:"'for-%0' loop head declarations can not have an initializer",61:"Invalid left-hand side in for-%0 loop: Must have a single binding",62:"Invalid shorthand property initializer",63:"Property name __proto__ appears more than once in object literal",64:"Let is disallowed as a lexically bound name",65:"Invalid use of '%0' inside new expression",66:"Illegal 'use strict' directive in function with non-simple parameter list",67:'Identifier "let" disallowed as left-hand side expression in strict mode',68:"Illegal continue statement",69:"Illegal break statement",70:"Cannot have `let[...]` as a var name in strict mode",71:"Invalid destructuring assignment target",72:"Rest parameter may not have a default initializer",73:"The rest argument must the be last parameter",74:"Invalid rest argument",76:"In strict mode code, functions can only be declared at top level or inside a block",77:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",78:"Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement",79:"Class declaration can't appear in single-statement context",80:"Invalid left-hand side in for-%0",81:"Invalid assignment in for-%0",82:"for await (... of ...) is only valid in async functions and async generators",83:"The first token after the template expression should be a continuation of the template",85:"`let` declaration not allowed here and `let` cannot be a regular var name in strict mode",84:"`let \n [` is a restricted production at the start of a statement",86:"Catch clause requires exactly one parameter, not more (and no trailing comma)",87:"Catch clause parameter does not support default values",88:"Missing catch or finally after try",89:"More than one default clause in switch statement",90:"Illegal newline after throw",91:"Strict mode code may not include a with statement",92:"Illegal return statement",93:"The left hand side of the for-header binding declaration is not destructible",94:"new.target only allowed within functions or static blocks",96:"'#' not followed by identifier",102:"Invalid keyword",101:"Can not use 'let' as a class name",100:"'A lexical declaration can't define a 'let' binding",99:"Can not use `let` as variable name in strict mode",97:"'%0' may not be used as an identifier in this context",98:"Await is only valid in async functions",103:"The %0 keyword can only be used with the module goal",104:"Unicode codepoint must not be greater than 0x10FFFF",105:"%0 source must be string",106:"Only a identifier or string can be used to indicate alias",107:"Only '*' or '{...}' can be imported after default",108:"Trailing decorator may be followed by method",109:"Decorators can't be used with a constructor",110:"Can not use `await` as identifier in module or async func",111:"Can not use `await` as identifier in module",112:"HTML comments are only allowed with web compatibility (Annex B)",113:"The identifier 'let' must not be in expression position in strict mode",114:"Cannot assign to `eval` and `arguments` in strict mode",115:"The left-hand side of a for-of loop may not start with 'let'",116:"Block body arrows can not be immediately invoked without a group",117:"Block body arrows can not be immediately accessed without a group",118:"Unexpected strict mode reserved word",119:"Unexpected eval or arguments in strict mode",120:"Decorators must not be followed by a semicolon",121:"Calling delete on expression not allowed in strict mode",122:"Pattern can not have a tail",124:"Can not have a `yield` expression on the left side of a ternary",125:"An arrow function can not have a postfix update operator",126:"Invalid object literal key character after generator star",127:"Private fields can not be deleted",129:"Classes may not have a field called constructor",128:"Classes may not have a private element named constructor",130:"A class field initializer or static block may not contain arguments",131:"Generators can only be declared at the top level or inside a block",132:"Async methods are a restricted production and cannot have a newline following it",133:"Unexpected character after object literal property name",135:"Invalid key token",136:"Label '%0' has already been declared",137:"continue statement must be nested within an iteration statement",138:"Undefined label '%0'",139:"Trailing comma is disallowed inside import(...) arguments",140:"Invalid binding in JSON import",141:"import() requires exactly one argument",142:"Cannot use new with import(...)",143:"... is not allowed in import()",144:"Expected '=>'",145:"Duplicate binding '%0'",146:"Duplicate private identifier #%0",147:"Cannot export a duplicate name '%0'",150:"Duplicate %0 for-binding",148:"Exported binding '%0' needs to refer to a top-level declared variable",149:"Unexpected private field",153:"Numeric separators are not allowed at the end of numeric literals",152:"Only one underscore is allowed as numeric separator",154:"JSX value should be either an expression or a quoted JSX text",155:"Expected corresponding JSX closing tag for %0",156:"Adjacent JSX elements must be wrapped in an enclosing tag",157:"JSX attributes must only be assigned a non-empty 'expression'",158:"'%0' has already been declared",159:"'%0' shadowed a catch clause binding",160:"Dot property must be an identifier",161:"Encountered invalid input after spread/rest argument",162:"Catch without try",163:"Finally without try",164:"Expected corresponding closing tag for JSX fragment",165:"Coalescing and logical operators used together in the same expression must be disambiguated with parentheses",166:"Invalid tagged template on optional chain",167:"Invalid optional chain from super property",168:"Invalid optional chain from new expression",169:'Cannot use "import.meta" outside a module',170:"Leading decorators must be attached to a class declaration",171:"An export name cannot include a lone surrogate, found %0",172:"A string literal cannot be used as an exported binding without `from`",173:"Private fields can't be accessed on super",174:"The only valid meta property for import is 'import.meta'",175:"'import.meta' must not contain escaped characters",176:'cannot use "await" as identifier inside an async function',177:'cannot use "await" in static blocks'},Pfe=class extends SyntaxError{constructor(e,t,r,n,i,s,R,...l){let c="["+t+":"+r+"-"+i+":"+s+"]: "+Hyn[R].replace(/%(\d+)/g,(h,_)=>l[_]);super(`${c}`),this.start=e,this.end=n,this.range=[e,n],this.loc={start:{line:t,column:r},end:{line:i,column:s}},this.description=c}};TRr=((e,t)=>{let r=new Uint32Array(104448),n=0,i=0;for(;n<3822;){let s=e[n++];if(s<0)i-=s;else{let R=e[n++];s&2&&(R=t[R]),s&1?r.fill(R,i,i+=e[n++]):r[i++]=R}}return r})([-1,2,26,2,27,2,5,-1,0,77595648,3,44,2,3,0,14,2,63,2,64,3,0,3,0,3168796671,0,4294956992,2,1,2,0,2,41,3,0,4,0,4294966523,3,0,4,2,16,2,65,2,0,0,4294836735,0,3221225471,0,4294901942,2,66,0,134152192,3,0,2,0,4294951935,3,0,2,0,2683305983,0,2684354047,2,18,2,0,0,4294961151,3,0,2,2,19,2,0,0,608174079,2,0,2,60,2,7,2,6,0,4286611199,3,0,2,2,1,3,0,3,0,4294901711,2,40,0,4089839103,0,2961209759,0,1342439375,0,4294543342,0,3547201023,0,1577204103,0,4194240,0,4294688750,2,2,0,80831,0,4261478351,0,4294549486,2,2,0,2967484831,0,196559,0,3594373100,0,3288319768,0,8469959,2,203,2,3,0,4093640191,0,660618719,0,65487,0,4294828015,0,4092591615,0,1616920031,0,982991,2,3,2,0,0,2163244511,0,4227923919,0,4236247022,2,71,0,4284449919,0,851904,2,4,2,12,0,67076095,-1,2,72,0,1073741743,0,4093607775,-1,0,50331649,0,3265266687,2,33,0,4294844415,0,4278190047,2,20,2,137,-1,3,0,2,2,23,2,0,2,10,2,0,2,15,2,22,3,0,10,2,74,2,0,2,75,2,76,2,77,2,0,2,78,2,0,2,11,0,261632,2,25,3,0,2,2,13,2,4,3,0,18,2,79,2,5,3,0,2,2,80,0,2151677951,2,29,2,9,0,909311,3,0,2,0,814743551,2,49,0,67090432,3,0,2,2,42,2,0,2,6,2,0,2,30,2,8,0,268374015,2,110,2,51,2,0,2,81,0,134153215,-1,2,7,2,0,2,8,0,2684354559,0,67044351,0,3221160064,2,17,-1,3,0,2,2,53,0,1046528,3,0,3,2,9,2,0,2,54,0,4294960127,2,10,2,6,2,11,0,4294377472,2,12,3,0,16,2,13,2,0,2,82,2,10,2,0,2,83,2,84,2,85,2,210,2,55,0,1048577,2,86,2,14,-1,2,14,0,131042,2,87,2,88,2,89,2,0,2,34,-83,3,0,7,0,1046559,2,0,2,15,2,0,0,2147516671,2,21,3,90,2,2,0,-16,2,91,0,524222462,2,4,2,0,0,4269801471,2,4,3,0,2,2,28,2,16,3,0,2,2,17,2,0,-1,2,18,-16,3,0,206,-2,3,0,692,2,73,-1,2,18,2,10,3,0,8,2,93,2,133,2,0,0,3220242431,3,0,3,2,19,2,94,2,95,3,0,2,2,96,2,0,2,97,2,46,2,0,0,4351,2,0,2,9,3,0,2,0,67043391,0,3909091327,2,0,2,24,2,9,2,20,3,0,2,0,67076097,2,8,2,0,2,21,0,67059711,0,4236247039,3,0,2,0,939524103,0,8191999,2,101,2,102,2,22,2,23,3,0,3,0,67057663,3,0,349,2,103,2,104,2,7,-264,3,0,11,2,24,3,0,2,2,32,-1,0,3774349439,2,105,2,106,3,0,2,2,19,2,107,3,0,10,2,10,2,18,2,0,2,47,2,0,2,31,2,108,2,25,0,1638399,2,183,2,109,3,0,3,2,20,2,26,2,27,2,5,2,28,2,0,2,8,2,111,-1,2,112,2,113,2,114,-1,3,0,3,2,12,-2,2,0,2,29,-3,2,163,-4,2,20,2,0,2,36,0,1,2,0,2,67,2,6,2,12,2,10,2,0,2,115,-1,3,0,4,2,10,2,23,2,116,2,7,2,0,2,117,2,0,2,118,2,119,2,120,2,0,2,9,3,0,9,2,21,2,30,2,31,2,121,2,122,-2,2,123,2,124,2,30,2,21,2,8,-2,2,125,2,30,2,32,-2,2,0,2,39,-2,0,4277137519,0,2269118463,-1,3,20,2,-1,2,33,2,38,2,0,3,30,2,2,35,2,19,-3,3,0,2,2,34,-1,2,0,2,35,2,0,2,35,2,0,2,48,2,0,0,4294950463,2,37,-7,2,0,0,203775,2,57,2,167,2,20,2,43,2,36,2,18,2,37,2,18,2,126,2,21,3,0,2,2,38,0,2151677888,2,0,2,12,0,4294901764,2,144,2,0,2,58,2,56,0,5242879,3,0,2,0,402644511,-1,2,128,2,39,0,3,-1,2,129,2,130,2,0,0,67045375,2,40,0,4226678271,0,3766565279,0,2039759,2,132,2,41,0,1046437,0,6,3,0,2,0,3288270847,0,3,3,0,2,0,67043519,-5,2,0,0,4282384383,0,1056964609,-1,3,0,2,0,67043345,-1,2,0,2,42,2,23,2,50,2,11,2,61,2,38,-5,2,0,2,12,-3,3,0,2,0,2147484671,2,134,0,4190109695,2,52,-2,2,135,0,4244635647,0,27,2,0,2,8,2,43,2,0,2,68,2,18,2,0,2,42,-6,2,0,2,45,2,59,2,44,2,45,2,46,2,47,0,8388351,-2,2,136,0,3028287487,2,48,2,138,0,33259519,2,49,-9,2,21,0,4294836223,0,3355443199,0,134152199,-2,2,69,-2,3,0,28,2,32,-3,3,0,3,2,17,3,0,6,2,50,-81,2,18,3,0,2,2,36,3,0,33,2,25,2,30,3,0,124,2,12,3,0,18,2,38,-213,2,0,2,32,-54,3,0,17,2,42,2,8,2,23,2,0,2,8,2,23,2,51,2,0,2,21,2,52,2,139,2,25,-13,2,0,2,53,-6,3,0,2,-4,3,0,2,0,4294936575,2,0,0,4294934783,-2,0,196635,3,0,191,2,54,3,0,38,2,30,2,55,2,34,-278,2,140,3,0,9,2,141,2,142,2,56,3,0,11,2,7,-72,3,0,3,2,143,0,1677656575,-130,2,26,-16,2,0,2,24,2,38,-16,0,4161266656,0,4071,2,205,-4,2,57,-13,3,0,2,2,58,2,0,2,145,2,146,2,62,2,0,2,147,2,148,2,149,3,0,10,2,150,2,151,2,22,3,58,2,3,152,2,3,59,2,0,4294954999,2,0,-16,2,0,2,92,2,0,0,2105343,0,4160749584,2,177,-34,2,8,2,154,-6,0,4194303871,0,4294903771,2,0,2,60,2,100,-3,2,0,0,1073684479,0,17407,-9,2,18,2,17,2,0,2,32,-14,2,18,2,32,-6,2,18,2,12,-15,2,155,3,0,6,0,8323103,-1,3,0,2,2,61,-37,2,62,2,156,2,157,2,158,2,159,2,160,-105,2,26,-32,3,0,1335,-1,3,0,129,2,32,3,0,6,2,10,3,0,180,2,161,3,0,233,2,162,3,0,18,2,10,-77,3,0,16,2,10,-47,3,0,154,2,6,3,0,130,2,25,-22250,3,0,7,2,25,-6130,3,5,2,-1,0,69207040,3,44,2,3,0,14,2,63,2,64,-3,0,3168731136,0,4294956864,2,1,2,0,2,41,3,0,4,0,4294966275,3,0,4,2,16,2,65,2,0,2,34,-1,2,18,2,66,-1,2,0,0,2047,0,4294885376,3,0,2,0,3145727,0,2617294944,0,4294770688,2,25,2,67,3,0,2,0,131135,2,98,0,70256639,0,71303167,0,272,2,42,2,6,0,32511,2,0,2,49,-1,2,99,2,68,0,4278255616,0,4294836227,0,4294549473,0,600178175,0,2952806400,0,268632067,0,4294543328,0,57540095,0,1577058304,0,1835008,0,4294688736,2,70,2,69,0,33554435,2,131,2,70,2,164,0,131075,0,3594373096,0,67094296,2,69,-1,0,4294828e3,0,603979263,0,654311424,0,3,0,4294828001,0,602930687,2,171,0,393219,0,4294828016,0,671088639,0,2154840064,0,4227858435,0,4236247008,2,71,2,38,-1,2,4,0,917503,2,38,-1,2,72,0,537788335,0,4026531935,-1,0,1,-1,2,33,2,73,0,7936,-3,2,0,0,2147485695,0,1010761728,0,4292984930,0,16387,2,0,2,15,2,22,3,0,10,2,74,2,0,2,75,2,76,2,77,2,0,2,78,2,0,2,12,-1,2,25,3,0,2,2,13,2,4,3,0,18,2,79,2,5,3,0,2,2,80,0,2147745791,3,19,2,0,122879,2,0,2,9,0,276824064,-2,3,0,2,2,42,2,0,0,4294903295,2,0,2,30,2,8,-1,2,18,2,51,2,0,2,81,2,49,-1,2,21,2,0,2,29,-2,0,128,-2,2,28,2,9,0,8160,-1,2,127,0,4227907585,2,0,2,37,2,0,2,50,2,184,2,10,2,6,2,11,-1,0,74440192,3,0,6,-2,3,0,8,2,13,2,0,2,82,2,10,2,0,2,83,2,84,2,85,-3,2,86,2,14,-3,2,87,2,88,2,89,2,0,2,34,-83,3,0,7,0,817183,2,0,2,15,2,0,0,33023,2,21,3,90,2,-17,2,91,0,524157950,2,4,2,0,2,92,2,4,2,0,2,22,2,28,2,16,3,0,2,2,17,2,0,-1,2,18,-16,3,0,206,-2,3,0,692,2,73,-1,2,18,2,10,3,0,8,2,93,0,3072,2,0,0,2147516415,2,10,3,0,2,2,25,2,94,2,95,3,0,2,2,96,2,0,2,97,2,46,0,4294965179,0,7,2,0,2,9,2,95,2,9,-1,0,1761345536,2,98,0,4294901823,2,38,2,20,2,99,2,35,2,100,0,2080440287,2,0,2,34,2,153,0,3296722943,2,0,0,1046675455,0,939524101,0,1837055,2,101,2,102,2,22,2,23,3,0,3,0,7,3,0,349,2,103,2,104,2,7,-264,3,0,11,2,24,3,0,2,2,32,-1,0,2700607615,2,105,2,106,3,0,2,2,19,2,107,3,0,10,2,10,2,18,2,0,2,47,2,0,2,31,2,108,-3,2,109,3,0,3,2,20,-1,3,5,2,2,110,2,0,2,8,2,111,-1,2,112,2,113,2,114,-1,3,0,3,2,12,-2,2,0,2,29,-8,2,20,2,0,2,36,-1,2,0,2,67,2,6,2,30,2,10,2,0,2,115,-1,3,0,4,2,10,2,18,2,116,2,7,2,0,2,117,2,0,2,118,2,119,2,120,2,0,2,9,3,0,9,2,21,2,30,2,31,2,121,2,122,-2,2,123,2,124,2,30,2,21,2,8,-2,2,125,2,30,2,32,-2,2,0,2,39,-2,0,4277075969,2,30,-1,3,20,2,-1,2,33,2,126,2,0,3,30,2,2,35,2,19,-3,3,0,2,2,34,-1,2,0,2,35,2,0,2,35,2,0,2,50,2,98,0,4294934591,2,37,-7,2,0,0,197631,2,57,-1,2,20,2,43,2,37,2,18,0,3,2,18,2,126,2,21,2,127,2,54,-1,0,2490368,2,127,2,25,2,18,2,34,2,127,2,38,0,4294901904,0,4718591,2,127,2,35,0,335544350,-1,2,128,0,2147487743,0,1,-1,2,129,2,130,2,8,-1,2,131,2,70,0,3758161920,0,3,2,132,0,12582911,0,655360,-1,2,0,2,29,0,2147485568,0,3,2,0,2,25,0,176,-5,2,0,2,17,2,192,-1,2,0,2,25,2,209,-1,2,0,0,16779263,-2,2,12,-1,2,38,-5,2,0,2,133,-3,3,0,2,2,55,2,134,0,2147549183,0,2,-2,2,135,2,36,0,10,0,4294965249,0,67633151,0,4026597376,2,0,0,536871935,2,18,2,0,2,42,-6,2,0,0,1,2,59,2,17,0,1,2,46,2,25,-3,2,136,2,36,2,137,2,138,0,16778239,-10,2,35,0,4294836212,2,9,-3,2,69,-2,3,0,28,2,32,-3,3,0,3,2,17,3,0,6,2,50,-81,2,18,3,0,2,2,36,3,0,33,2,25,0,126,3,0,124,2,12,3,0,18,2,38,-213,2,10,-55,3,0,17,2,42,2,8,2,18,2,0,2,8,2,18,2,60,2,0,2,25,2,50,2,139,2,25,-13,2,0,2,73,-6,3,0,2,-4,3,0,2,0,67583,-1,2,107,-2,0,11,3,0,191,2,54,3,0,38,2,30,2,55,2,34,-278,2,140,3,0,9,2,141,2,142,2,56,3,0,11,2,7,-72,3,0,3,2,143,2,144,-187,3,0,2,2,58,2,0,2,145,2,146,2,62,2,0,2,147,2,148,2,149,3,0,10,2,150,2,151,2,22,3,58,2,3,152,2,3,59,2,2,153,-57,2,8,2,154,-7,2,18,2,0,2,60,-4,2,0,0,1065361407,0,16384,-9,2,18,2,60,2,0,2,133,-14,2,18,2,133,-6,2,18,0,81919,-15,2,155,3,0,6,2,126,-1,3,0,2,0,2063,-37,2,62,2,156,2,157,2,158,2,159,2,160,-138,3,0,1335,-1,3,0,129,2,32,3,0,6,2,10,3,0,180,2,161,3,0,233,2,162,3,0,18,2,10,-77,3,0,16,2,10,-47,3,0,154,2,6,3,0,130,2,25,-28386,2,0,0,1,-1,2,55,2,0,0,8193,-21,2,201,0,10255,0,4,-11,2,69,2,182,-1,0,71680,-1,2,174,0,4292900864,0,268435519,-5,2,163,-1,2,173,-1,0,6144,-2,2,46,-1,2,168,-1,0,2147532800,2,164,2,170,0,8355840,-2,0,4,-4,2,198,0,205128192,0,1333757536,0,2147483696,0,423953,0,747766272,0,2717763192,0,4286578751,0,278545,2,165,0,4294886464,0,33292336,0,417809,2,165,0,1327482464,0,4278190128,0,700594195,0,1006647527,0,4286497336,0,4160749631,2,166,0,201327104,0,3634348576,0,8323120,2,166,0,202375680,0,2678047264,0,4293984304,2,166,-1,0,983584,0,48,0,58720273,0,3489923072,0,10517376,0,4293066815,0,1,2,213,2,167,2,0,0,2089,0,3221225552,0,201359520,2,0,-2,0,256,0,122880,0,16777216,2,163,0,4160757760,2,0,-6,2,179,-11,0,3263218176,-1,0,49664,0,2160197632,0,8388802,-1,0,12713984,-1,2,168,2,186,2,187,-2,2,175,-20,0,3758096385,-2,2,169,2,195,2,94,2,180,0,4294057984,-2,2,176,2,172,0,4227874816,-2,2,169,-1,2,170,-1,2,181,2,55,0,4026593280,0,14,0,4292919296,-1,2,178,0,939588608,-1,0,805306368,-1,2,55,2,171,2,172,2,173,2,211,2,0,-2,0,8192,-4,0,267386880,-1,0,117440512,0,7168,-1,2,170,2,168,2,174,2,188,-16,2,175,-1,0,1426112704,2,176,-1,2,196,0,271581216,0,2149777408,2,25,2,174,2,55,0,851967,2,189,-1,2,177,2,190,-4,2,178,-20,2,98,2,208,-56,0,3145728,2,191,-10,0,32505856,-1,2,179,-1,0,2147385088,2,94,1,2155905152,2,-3,2,176,2,0,0,67108864,-2,2,180,-6,2,181,2,25,0,1,-1,0,1,-1,2,182,-3,2,126,2,69,-2,2,100,-2,0,32704,2,55,-915,2,183,-1,2,207,-10,2,194,-5,2,185,-6,0,3759456256,2,19,-1,2,184,-1,2,185,-2,0,4227874752,-3,0,2146435072,2,186,-2,0,1006649344,2,55,-1,2,94,0,201375744,-3,0,134217720,2,94,0,4286677377,0,32896,-1,2,178,-3,0,4227907584,-349,0,65520,0,1920,2,167,3,0,264,-11,2,173,-2,2,187,2,0,0,520617856,0,2692743168,0,36,-3,0,524280,-13,2,193,-1,0,4294934272,2,25,2,187,-1,2,215,0,2158720,-3,2,186,0,1,-4,2,55,0,3808625411,0,3489628288,0,4096,0,1207959680,0,3221274624,2,0,-3,2,188,0,120,0,7340032,-2,2,189,2,4,2,25,2,176,3,0,4,2,186,-1,2,190,2,167,-1,0,8176,2,170,2,188,0,1073741824,-1,0,4290773232,2,0,-4,2,176,2,197,0,15728640,2,167,-1,2,174,-1,0,134250480,0,4720640,0,3825467396,-1,2,180,-9,2,94,2,181,0,4294967040,2,137,0,4160880640,3,0,2,0,704,0,1849688064,2,191,-1,2,55,0,4294901887,2,0,0,130547712,0,1879048192,2,212,3,0,2,-1,2,192,2,193,-1,0,17829776,0,2025848832,0,4261477888,-2,2,0,-1,0,4286580608,-1,0,29360128,2,200,0,16252928,0,3791388672,2,130,3,0,2,-2,2,206,2,0,-1,2,107,-1,0,66584576,-1,2,199,-1,0,448,0,4294918080,3,0,6,2,55,-1,0,4294755328,0,4294967267,2,7,-1,2,174,2,187,2,25,2,98,2,25,2,194,2,94,-2,0,245760,2,195,-1,2,163,2,202,0,4227923456,-1,2,196,2,174,2,94,-3,0,4292870145,0,262144,-1,2,95,2,0,0,1073758848,2,197,-1,0,4227921920,2,198,0,68289024,0,528402016,0,4292927536,0,46080,2,191,0,4265609306,0,4294967289,-2,0,268435456,2,95,-2,2,199,3,0,5,-1,2,200,2,176,2,0,-2,0,4227923936,2,67,-1,2,187,2,197,2,99,2,168,2,178,2,204,3,0,5,-1,2,167,3,0,3,-2,0,2146959360,0,9440640,0,104857600,0,4227923840,3,0,2,0,768,2,201,2,28,-2,2,174,-2,2,202,-1,2,169,2,98,3,0,5,-1,0,4227923964,0,512,0,8388608,2,203,2,183,2,193,0,4286578944,3,0,2,0,1152,0,1266679808,2,199,0,576,0,4261707776,2,98,3,0,9,2,169,0,131072,0,939524096,2,188,3,0,2,2,16,-1,0,2147221504,-28,2,187,3,0,3,-3,0,4292902912,-6,2,99,3,0,81,2,25,-2,2,107,-33,2,18,2,181,-124,2,188,-18,2,204,3,0,213,-1,2,187,3,0,54,-17,2,169,2,55,2,205,-1,2,55,2,197,0,4290822144,-2,0,67174336,0,520093700,2,18,3,0,13,-1,2,187,3,0,6,-2,2,188,3,0,3,-2,0,30720,-1,0,32512,3,0,2,0,4294770656,-191,2,185,-38,2,181,2,8,2,206,3,0,278,0,2417033215,-9,0,4294705144,0,4292411391,0,65295,-11,2,167,3,0,72,-3,0,3758159872,0,201391616,3,0,123,-7,2,187,-13,2,180,3,0,2,-1,2,173,2,207,-3,2,99,2,0,-7,2,181,-1,0,384,-1,0,133693440,-3,2,208,-2,2,110,3,0,3,3,180,2,-2,2,94,2,169,3,0,4,-2,2,196,-1,2,163,0,335552923,2,209,-1,0,538974272,0,2214592512,0,132e3,-10,0,192,-8,2,210,-21,0,134213632,2,162,3,0,34,2,55,0,4294965279,3,0,6,0,100663424,0,63524,-1,2,214,2,152,3,0,3,-1,0,3221282816,0,4294917120,3,0,9,2,25,2,211,-1,2,212,3,0,14,2,25,2,187,3,0,6,2,25,2,213,3,0,15,0,2147520640,-6,0,4286578784,2,0,-2,0,1006694400,3,0,24,2,36,-1,0,4292870144,3,0,2,0,1,2,176,3,0,6,2,209,0,4110942569,0,1432950139,0,2701658217,0,4026532864,0,4026532881,2,0,2,47,3,0,8,-1,2,178,-2,2,180,0,98304,0,65537,2,181,-5,2,214,2,0,2,37,2,202,2,167,0,4294770176,2,110,3,0,4,-30,2,192,0,3758153728,-3,0,125829120,-2,2,187,0,4294897664,2,178,-1,2,199,-1,2,174,0,4026580992,2,95,2,0,-10,2,180,0,3758145536,0,31744,-1,0,1610628992,0,4261477376,-4,2,215,-2,2,187,3,0,32,-1335,2,0,-129,2,187,-6,2,176,-180,0,65532,-233,2,177,-18,2,176,3,0,77,-16,2,176,3,0,47,-154,2,170,-130,2,18,3,0,22250,-7,2,18,3,0,6128],[4294967295,4294967291,4092460543,4294828031,4294967294,134217726,4294903807,268435455,2147483647,1048575,1073741823,3892314111,134217727,1061158911,536805376,4294910143,4294901759,32767,4294901760,262143,536870911,8388607,4160749567,4294902783,4294918143,65535,67043328,2281701374,4294967264,2097151,4194303,255,67108863,4294967039,511,524287,131071,63,127,3238002687,4294549487,4290772991,33554431,4294901888,4286578687,67043329,4294705152,4294770687,67043583,1023,15,2047999,67043343,67051519,16777215,2147483648,4294902e3,28,4292870143,4294966783,16383,67047423,4294967279,262083,20511,41943039,493567,4294959104,603979775,65536,602799615,805044223,4294965206,8191,1031749119,4294917631,2134769663,4286578493,4282253311,4294942719,33540095,4294905855,2868854591,1608515583,265232348,534519807,2147614720,1060109444,4093640016,17376,2139062143,224,4169138175,4294909951,4286578688,4294967292,4294965759,535511039,4294966272,4294967280,32768,8289918,4294934399,4294901775,4294965375,1602223615,4294967259,4294443008,268369920,4292804608,4294967232,486341884,4294963199,3087007615,1073692671,4128527,4279238655,4294902015,4160684047,4290246655,469499899,4294967231,134086655,4294966591,2445279231,3670015,31,4294967288,4294705151,3221208447,4294902271,4294549472,4294921215,4095,4285526655,4294966527,4294966143,64,4294966719,3774873592,1877934080,262151,2555904,536807423,67043839,3758096383,3959414372,3755993023,2080374783,4294835295,4294967103,4160749565,4294934527,4087,2016,2147446655,184024726,2862017156,1593309078,268434431,268434414,4294901763,4294901761,536870912,2952790016,202506752,139264,4026531840,402653184,4261412864,63488,1610612736,4227922944,49152,65280,3233808384,3221225472,65534,61440,57152,4293918720,4290772992,25165824,57344,4227915776,4278190080,3758096384,4227858432,4160749568,3758129152,4294836224,4194304,251658240,196608,4294963200,2143289344,2097152,64512,417808,4227923712,12582912,50331648,65528,65472,4294967168,15360,4294966784,65408,4294965248,16,12288,4294934528,2080374784,2013265920,4294950912,524288]);jR=[0,0,0,0,0,0,0,0,0,0,1032,0,0,2056,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8192,0,3,0,0,8192,0,0,0,256,0,33024,0,0,242,242,114,114,114,114,114,114,594,594,0,0,16384,0,0,0,0,67,67,67,67,67,67,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,1,0,0,4099,0,71,71,71,71,71,71,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,16384,0,0,0,0],Vyn=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0],pRr=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0];_Rr=["SingleLine","MultiLine","HTMLOpen","HTMLClose","HashbangComment"];(function(e){e[e.Empty=0]="Empty",e[e.Escape=1]="Escape",e[e.Class=2]="Class"})(bW||(bW={}));(function(e){e[e.Empty=0]="Empty",e[e.IgnoreCase=1]="IgnoreCase",e[e.Global=2]="Global",e[e.Multiline=4]="Multiline",e[e.Unicode=16]="Unicode",e[e.Sticky=8]="Sticky",e[e.DotAll=32]="DotAll",e[e.Indices=64]="Indices",e[e.UnicodeSets=128]="UnicodeSets"})(Yd||(Yd={}));au=["end of source","identifier","number","string","regular expression","false","true","null","template continuation","template tail","=>","(","{",".","...","}",")",";",",","[","]",":","?","'",'"',"++","--","=","<<=",">>=",">>>=","**=","+=","-=","*=","/=","%=","^=","|=","&=","||=","&&=","??=","typeof","delete","void","!","~","+","-","in","instanceof","*","%","/","**","&&","||","===","!==","==","!=","<=",">=","<",">","<<",">>",">>>","&","|","^","var","let","const","break","case","catch","class","continue","debugger","default","do","else","export","extends","finally","for","function","if","import","new","return","super","switch","this","throw","try","while","with","implements","interface","package","private","protected","public","static","yield","as","async","await","constructor","get","set","accessor","from","of","enum","eval","arguments","escaped keyword","escaped future reserved keyword","reserved if strict","#","BigIntLiteral","??","?.","WhiteSpace","Illegal","LineTerminator","PrivateField","Template","@","target","meta","LineFeed","Escaped","JSXText"],xRr=Object.create(null,{this:{value:86111},function:{value:86104},if:{value:20569},return:{value:20572},var:{value:86088},else:{value:20563},for:{value:20567},new:{value:86107},in:{value:8673330},typeof:{value:16863275},while:{value:20578},case:{value:20556},break:{value:20555},try:{value:20577},catch:{value:20557},delete:{value:16863276},throw:{value:86112},switch:{value:86110},continue:{value:20559},default:{value:20561},instanceof:{value:8411187},do:{value:20562},void:{value:16863277},finally:{value:20566},async:{value:209005},await:{value:209006},class:{value:86094},const:{value:86090},constructor:{value:12399},debugger:{value:20560},export:{value:20564},extends:{value:20565},false:{value:86021},from:{value:12403},get:{value:12400},implements:{value:36964},import:{value:86106},interface:{value:36965},let:{value:241737},null:{value:86023},of:{value:274548},package:{value:36966},private:{value:36967},protected:{value:36968},public:{value:36969},set:{value:12401},static:{value:36970},super:{value:86109},true:{value:86022},with:{value:20579},yield:{value:241771},enum:{value:86133},eval:{value:537079926},as:{value:77932},arguments:{value:537079927},target:{value:209029},meta:{value:209030},accessor:{value:12402}});s8n=[128,128,128,128,128,128,128,128,128,127,135,127,127,129,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,127,16842798,134283267,130,208897,8391477,8390213,134283267,67174411,16,8391476,25233968,18,25233969,67108877,8457014,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,134283266,21,1074790417,8456256,1077936155,8390721,22,132,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,208897,69271571,136,20,8389959,208897,131,4096,4096,4096,4096,4096,4096,4096,208897,4096,208897,208897,4096,208897,4096,208897,4096,208897,4096,4096,4096,208897,4096,4096,208897,4096,4096,2162700,8389702,1074790415,16842799,128];v4n=O4n;S4n=D4n,$4n=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},aRr=$4n;N4n=Q4n;P4n=w4n,B4n=P4n(["Block","CommentBlock","MultiLine"]),kCt=B4n;sRr=I4n;W4n=M4n,Sfe=null;U4n=10;for(let e=0;e<=U4n;e++)Nfe();z4n=L4n,H4n={ArrayExpression:["elements"],AssignmentExpression:["left","right"],BinaryExpression:["left","right"],InterpreterDirective:[],Directive:["value"],DirectiveLiteral:[],BlockStatement:["directives","body"],BreakStatement:["label"],CallExpression:["callee","arguments","typeParameters","typeArguments"],CatchClause:["param","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExpressionStatement:["expression"],File:["program"],ForInStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","typeParameters","params","returnType","body","predicate"],FunctionExpression:["id","typeParameters","params","returnType","body"],Identifier:["typeAnnotation","decorators"],IfStatement:["test","consequent","alternate"],LabeledStatement:["label","body"],StringLiteral:[],NumericLiteral:[],NullLiteral:[],BooleanLiteral:[],RegExpLiteral:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],NewExpression:["callee","arguments","typeParameters","typeArguments"],Program:["directives","body"],ObjectExpression:["properties"],ObjectMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectProperty:["key","value","decorators"],RestElement:["argument","typeAnnotation","decorators"],ReturnStatement:["argument"],SequenceExpression:["expressions"],ParenthesizedExpression:["expression"],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],AssignmentPattern:["left","right","decorators","typeAnnotation"],ArrayPattern:["elements","typeAnnotation","decorators"],ArrowFunctionExpression:["typeParameters","params","returnType","body","predicate"],ClassBody:["body"],ClassExpression:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ExportAllDeclaration:["source","attributes","exported"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source","attributes"],ExportSpecifier:["local","exported"],ForOfStatement:["left","right","body"],ImportDeclaration:["specifiers","source","attributes"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],ImportExpression:["source","options"],MetaProperty:["meta","property"],ClassMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectPattern:["properties","typeAnnotation","decorators"],SpreadElement:["argument"],Super:[],TaggedTemplateExpression:["tag","typeParameters","quasi","typeArguments"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],YieldExpression:["argument"],AwaitExpression:["argument"],BigIntLiteral:[],ExportNamespaceSpecifier:["exported"],OptionalMemberExpression:["object","property"],OptionalCallExpression:["callee","arguments","typeParameters","typeArguments"],ClassProperty:["decorators","key","typeAnnotation","value","variance"],ClassAccessorProperty:["decorators","key","typeAnnotation","value"],ClassPrivateProperty:["decorators","key","typeAnnotation","value","variance"],ClassPrivateMethod:["decorators","key","typeParameters","params","returnType","body"],PrivateName:["id"],StaticBlock:["body"],AnyTypeAnnotation:[],ArrayTypeAnnotation:["elementType"],BooleanTypeAnnotation:[],BooleanLiteralTypeAnnotation:[],NullLiteralTypeAnnotation:[],ClassImplements:["id","typeParameters"],DeclareClass:["id","typeParameters","extends","mixins","implements","body"],DeclareFunction:["id","predicate"],DeclareInterface:["id","typeParameters","extends","body"],DeclareModule:["id","body"],DeclareModuleExports:["typeAnnotation"],DeclareTypeAlias:["id","typeParameters","right"],DeclareOpaqueType:["id","typeParameters","supertype"],DeclareVariable:["id"],DeclareExportDeclaration:["declaration","specifiers","source","attributes"],DeclareExportAllDeclaration:["source","attributes"],DeclaredPredicate:["value"],ExistsTypeAnnotation:[],FunctionTypeAnnotation:["typeParameters","params","rest","returnType","this"],FunctionTypeParam:["name","typeAnnotation"],GenericTypeAnnotation:["id","typeParameters"],InferredPredicate:[],InterfaceExtends:["id","typeParameters"],InterfaceDeclaration:["id","typeParameters","extends","body"],InterfaceTypeAnnotation:["extends","body"],IntersectionTypeAnnotation:["types"],MixedTypeAnnotation:[],EmptyTypeAnnotation:[],NullableTypeAnnotation:["typeAnnotation"],NumberLiteralTypeAnnotation:[],NumberTypeAnnotation:[],ObjectTypeAnnotation:["properties","indexers","callProperties","internalSlots"],ObjectTypeInternalSlot:["id","value"],ObjectTypeCallProperty:["value"],ObjectTypeIndexer:["variance","id","key","value"],ObjectTypeProperty:["key","value","variance"],ObjectTypeSpreadProperty:["argument"],OpaqueType:["id","typeParameters","supertype","impltype"],QualifiedTypeIdentifier:["qualification","id"],StringLiteralTypeAnnotation:[],StringTypeAnnotation:[],SymbolTypeAnnotation:[],ThisTypeAnnotation:[],TupleTypeAnnotation:["types","elementTypes"],TypeofTypeAnnotation:["argument","typeArguments"],TypeAlias:["id","typeParameters","right"],TypeAnnotation:["typeAnnotation"],TypeCastExpression:["expression","typeAnnotation"],TypeParameter:["bound","default","variance"],TypeParameterDeclaration:["params"],TypeParameterInstantiation:["params"],UnionTypeAnnotation:["types"],Variance:[],VoidTypeAnnotation:[],EnumDeclaration:["id","body"],EnumBooleanBody:["members"],EnumNumberBody:["members"],EnumStringBody:["members"],EnumSymbolBody:["members"],EnumBooleanMember:["id","init"],EnumNumberMember:["id","init"],EnumStringMember:["id","init"],EnumDefaultedMember:["id"],IndexedAccessType:["objectType","indexType"],OptionalIndexedAccessType:["objectType","indexType"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXSpreadChild:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes","typeArguments","typeParameters"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXOpeningFragment:[],JSXClosingFragment:[],Noop:[],Placeholder:[],V8IntrinsicIdentifier:[],ArgumentPlaceholder:[],BindExpression:["object","callee"],ImportAttribute:["key","value"],Decorator:["expression"],DoExpression:["body"],ExportDefaultSpecifier:["exported"],RecordExpression:["properties"],TupleExpression:["elements"],ModuleExpression:["body"],TopicReference:[],PipelineTopicExpression:["expression"],PipelineBareFunction:["callee"],PipelinePrimaryTopicReference:[],TSParameterProperty:["parameter","decorators"],TSDeclareFunction:["id","typeParameters","params","returnType","body"],TSDeclareMethod:["decorators","key","typeParameters","params","returnType"],TSQualifiedName:["left","right"],TSCallSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSPropertySignature:["key","typeAnnotation"],TSMethodSignature:["key","typeParameters","parameters","typeAnnotation","params","returnType"],TSIndexSignature:["parameters","typeAnnotation"],TSAnyKeyword:[],TSBooleanKeyword:[],TSBigIntKeyword:[],TSIntrinsicKeyword:[],TSNeverKeyword:[],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSUndefinedKeyword:[],TSUnknownKeyword:[],TSVoidKeyword:[],TSThisType:[],TSFunctionType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructorType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSTypeReference:["typeName","typeParameters","typeArguments"],TSTypePredicate:["parameterName","typeAnnotation"],TSTypeQuery:["exprName","typeParameters","typeArguments"],TSTypeLiteral:["members"],TSArrayType:["elementType"],TSTupleType:["elementTypes"],TSOptionalType:["typeAnnotation"],TSRestType:["typeAnnotation"],TSNamedTupleMember:["label","elementType"],TSUnionType:["types"],TSIntersectionType:["types"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSInferType:["typeParameter"],TSParenthesizedType:["typeAnnotation"],TSTypeOperator:["typeAnnotation"],TSIndexedAccessType:["objectType","indexType"],TSMappedType:["typeParameter","nameType","typeAnnotation"],TSLiteralType:["literal"],TSExpressionWithTypeArguments:["expression","typeParameters"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceBody:["body"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSInstantiationExpression:["expression","typeParameters","typeArguments"],TSAsExpression:["expression","typeAnnotation"],TSSatisfiesExpression:["expression","typeAnnotation"],TSTypeAssertion:["typeAnnotation","expression"],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSModuleDeclaration:["id","body"],TSModuleBlock:["body"],TSImportType:["argument","qualifier","typeParameters","typeArguments"],TSImportEqualsDeclaration:["id","moduleReference"],TSExternalModuleReference:["expression"],TSNonNullExpression:["expression"],TSExportAssignment:["expression"],TSNamespaceExportDeclaration:["id"],TSTypeAnnotation:["typeAnnotation"],TSTypeParameterInstantiation:["params"],TSTypeParameterDeclaration:["params"],TSTypeParameter:["constraint","default","name"],ChainExpression:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],Literal:[],MethodDefinition:["decorators","key","value"],PrivateIdentifier:[],Property:["key","value"],PropertyDefinition:["decorators","key","typeAnnotation","value","variance"],AccessorProperty:["decorators","key","typeAnnotation","value"],TSAbstractAccessorProperty:["decorators","key","typeAnnotation"],TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:["decorators","key","typeAnnotation"],TSAsyncKeyword:[],TSClassImplements:["expression","typeArguments","typeParameters"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSEnumBody:["members"],TSExportKeyword:[],TSInterfaceHeritage:["expression","typeArguments","typeParameters"],TSPrivateKeyword:[],TSProtectedKeyword:[],TSPublicKeyword:[],TSReadonlyKeyword:[],TSStaticKeyword:[],TSTemplateLiteralType:["quasis","types"],AsConstExpression:["expression"],AsExpression:["expression","typeAnnotation"],BigIntLiteralTypeAnnotation:[],BigIntTypeAnnotation:[],ComponentDeclaration:["id","params","body","typeParameters","rendersType"],ComponentParameter:["name","local"],ComponentTypeAnnotation:["params","rest","typeParameters","rendersType"],ComponentTypeParameter:["name","typeAnnotation"],ConditionalTypeAnnotation:["checkType","extendsType","trueType","falseType"],DeclareComponent:["id","params","rest","typeParameters","rendersType"],DeclareEnum:["id","body"],DeclareHook:["id"],DeclareNamespace:["id","body"],EnumBigIntBody:["members"],EnumBigIntMember:["id","init"],HookDeclaration:["id","params","body","typeParameters","returnType"],HookTypeAnnotation:["params","returnType","rest","typeParameters"],InferTypeAnnotation:["typeParameter"],KeyofTypeAnnotation:["argument"],ObjectTypeMappedTypeProperty:["keyTparam","propType","sourceType","variance"],QualifiedTypeofIdentifier:["qualification","id"],TupleTypeLabeledElement:["label","elementType","variance"],TupleTypeSpreadElement:["label","typeAnnotation"],TypeOperator:["typeAnnotation"],TypePredicate:["parameterName","typeAnnotation","asserts"],NGRoot:["node"],NGPipeExpression:["left","right","arguments"],NGChainedExpression:["expressions"],NGEmptyExpression:[],NGMicrosyntax:["body"],NGMicrosyntaxKey:[],NGMicrosyntaxExpression:["expression","alias"],NGMicrosyntaxKeyedExpression:["key","expression"],NGMicrosyntaxLet:["key","value"],NGMicrosyntaxAs:["key","alias"],JsExpressionRoot:["node"],JsonRoot:["node"],TSJSDocAllType:[],TSJSDocUnknownType:[],TSJSDocNullableType:["typeAnnotation"],TSJSDocNonNullableType:["typeAnnotation"],NeverTypeAnnotation:[],UndefinedTypeAnnotation:[],UnknownTypeAnnotation:[],SatisfiesExpression:["expression","typeAnnotation"]},Y4n=z4n(H4n),K4n=Y4n;_Ct=yCt;V4n=G4n,j4n=/\*\/$/,J4n=/^\/\*\*?/,X4n=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Z4n=/(^|\s+)\/\/([^\n\r]*)/g,oRr=/^(\r?\n)+/,e6n=/(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g,RRr=/(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g,t6n=/(\r?\n|^) *\* ?/g,r6n=[];s6n=a6n;l6n=u6n;T6n=c6n,p6n={next:!0,ranges:!0,webcompat:!0,loc:!0,raw:!0,directives:!0,globalReturn:!0,impliedStrict:!1,preserveParens:!1,lexical:!1,jsx:!0,uniqueKeyInPattern:!1};d6n=l6n(f6n),x6n=lRr});var slr={};x2(slr,{default:()=>a9n,languages:()=>jur,options:()=>Jur,parsers:()=>T5t,printers:()=>alr});function gqn(e){if(typeof e=="string")return mur;if(Array.isArray(e))return kur;if(!e)return;let{type:t}=e;if(bur.has(t))return t}function Eqn(e){let t=e===null?"null":typeof e;if(t!=="string"&&t!=="object")return`Unexpected doc '${t}', +Expected it to be 'string' or 'object'.`;if(Kfe(e))throw new Error("doc is valid.");let r=Object.prototype.toString.call(e);if(r!=="[object Object]")return`Unexpected doc '${r}'.`;let n=bqn([...bur].map(i=>`'${i}'`));return`Unexpected doc.type '${e.type}'. +Expected it to be ${n}.`}function AA(e){return vX(e),{type:c9e,contents:e}}function Our(e,t){return vX(t),{type:a5t,contents:t,n:e}}function _g(e,t={}){return vX(e),h9e(t.expandedStates,!0),{type:T9e,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function Dqn(e){return Our({type:"root"},e)}function Vfe(e){return Our(-1,e)}function t9e(e){return h9e(e),{type:p9e,parts:e}}function vur(e,t="",r={}){return vX(e),t!==""&&vX(t),{type:_9e,breakContents:e,flatContents:t,groupId:r.groupId}}function Sqn(e){return vX(e),{type:s5t,contents:e}}function $W(e,t){vX(e),h9e(t);let r=[];for(let n=0;n0}function Mqn(e,t){let r=t===!0||t===J5e?J5e:GRr,n=r===J5e?GRr:J5e,i=0,s=0;for(let R of e)R===r?i++:R===n&&s++;return i>s?n:r}function Uqn(e,t,r){let n=t==='"'?"'":'"',i=Kd(!1,e,/\\(.)|(["'])/gsu,(s,R,l)=>R===n?R:l===t?"\\"+l:l||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/u.test(R)?R:"\\"+R));return t+i+t}function Lqn(e,t){Iqn(/^(?["']).*\k$/su.test(e));let r=e.slice(1,-1),n=t.parser==="json"||t.parser==="jsonc"||t.parser==="json5"&&t.quoteProps==="preserve"&&!t.singleQuote?'"':t.__isInHtmlAttribute?"'":Wqn(r,t.singleQuote);return e.charAt(0)===n?e:Fqn(r,n,!1)}function Yqn(e){return e?.type==="front-matter"}function $ur(e,t,r){if(s9e(e)&&e.language==="yaml"&&delete t.value,e.type==="css-comment"&&r.type==="css-root"&&r.nodes.length>0&&((r.nodes[0]===e||s9e(r.nodes[0])&&r.nodes[1]===e)&&(delete t.text,/^\*\s*@(?:format|prettier)\s*$/u.test(e.text))||r.type==="css-root"&&nse(!1,r.nodes,-1)===e))return null;if(e.type==="value-root"&&delete t.text,(e.type==="media-query"||e.type==="media-query-list"||e.type==="media-feature-expression")&&delete t.value,e.type==="css-rule"&&delete t.params,(e.type==="media-feature"||e.type==="media-keyword"||e.type==="media-type"||e.type==="media-unknown"||e.type==="media-url"||e.type==="media-value"||e.type==="selector-attribute"||e.type==="selector-string"||e.type==="selector-class"||e.type==="selector-combinator"||e.type==="value-string")&&e.value&&(t.value=Gqn(e.value)),e.type==="selector-combinator"&&(t.value=Kd(!1,t.value,/\s+/gu," ")),e.type==="media-feature"&&(t.value=Kd(!1,t.value," ","")),(e.type==="value-word"&&(e.isColor&&e.isHex||["initial","inherit","unset","revert"].includes(e.value.toLowerCase()))||e.type==="media-feature"||e.type==="selector-root-invalid"||e.type==="selector-pseudo")&&(t.value=t.value.toLowerCase()),e.type==="css-decl"&&(t.prop=e.prop.toLowerCase()),(e.type==="css-atrule"||e.type==="css-import")&&(t.name=e.name.toLowerCase()),e.type==="value-number"&&(t.unit=e.unit.toLowerCase()),e.type==="value-unknown"&&(t.value=Kd(!1,t.value,/;$/gu,"")),e.type==="selector-attribute"&&(t.attribute=e.attribute.trim(),e.namespace&&typeof e.namespace=="string"&&(t.namespace=e.namespace.trim()||!0),e.value&&(t.value=Kd(!1,t.value.trim(),/^["']|["']$/gu,""),delete t.quoted)),(e.type==="media-value"||e.type==="media-type"||e.type==="value-number"||e.type==="selector-root-invalid"||e.type==="selector-class"||e.type==="selector-combinator"||e.type==="selector-tag")&&e.value&&(t.value=Kd(!1,t.value,/([\d+.e-]+)([a-z]*)/giu,(n,i,s)=>{let R=Number(i);return Number.isNaN(R)?n:R+s.toLowerCase()})),e.type==="selector-tag"){let n=t.value.toLowerCase();["from","to"].includes(n)&&(t.value=n)}if(e.type==="css-atrule"&&e.name.toLowerCase()==="supports"&&delete t.value,e.type==="selector-unknown"&&delete t.value,e.type==="value-comma_group"){let n=e.groups.findIndex(i=>i.type==="value-number"&&i.unit==="...");n!==-1&&(t.groups[n].unit="",t.groups.splice(n+1,0,{type:"value-word",value:"...",isColor:!1,isHex:!1}))}if(e.type==="value-comma_group"&&e.groups.some(n=>n.type==="value-atword"&&n.value.endsWith("[")||n.type==="value-word"&&n.value.startsWith("]")))return{type:"value-atword",value:e.groups.map(n=>n.value).join(""),group:{open:null,close:null,groups:[],type:"value-paren_group"}}}function Gqn(e){return Kd(!1,Kd(!1,e,"'",'"'),/\\([^\da-f])/giu,"$1")}async function jqn(e,t){if(e.language==="yaml"){let r=e.value.trim(),n=r?await t(r,{parser:"yaml"}):"";return Dqn([e.startDelimiter,e.explicitLanguage,G_,n,n?G_:"",e.endDelimiter])}}function Qur(e){let{node:t}=e;if(t.type==="front-matter")return async r=>{let n=await Jqn(t,r);return n?[n,G_]:void 0}}function Gfe(e){if(Ffe!==null&&typeof Ffe.property){let t=Ffe;return Ffe=Gfe.prototype=null,t}return Ffe=Gfe.prototype=e??Object.create(null),new Gfe}function eCn(e){return Gfe(e)}function tCn(e,t="type"){eCn(e);function r(n){let i=n[t],s=e[i];if(!Array.isArray(s))throw Object.assign(new Error(`Missing visitor keys for '${i}'.`),{node:n});return s}return r}function oCn(e,t){let r=0;for(let n=0;n{let i=!!(n!=null&&n.backwards);if(r===!1)return!1;let{length:s}=t,R=r;for(;R>=0&&RJRr(h,t[h])).map(h=>`${i} ${h}${r}`).join("");if(!e){if(R.length===0)return"";if(R.length===1&&!Array.isArray(t[R[0]])){let h=t[R[0]];return`${n} ${JRr(R[0],h)[0]}${s}`}}let c=e.split(r).map(h=>`${i} ${h}`).join(r)+r;return n+r+(e?c:"")+(e&&R.length>0?i+r:"")+l+s}function JRr(e,t){return[...Uur,...Array.isArray(t)?t:[t]].map(r=>`@${e} ${r}`.trim())}function kCn(e){if(!e.startsWith("#!"))return"";let t=e.indexOf(` +`);return t===-1?e:e.slice(0,t)}function Fur(e){let t=yCn(e);t&&(e=e.slice(t.length+1));let r=fCn(e),{pragmas:n,comments:i}=xCn(r);return{shebang:t,text:e,pragmas:n,comments:i}}function qCn(e){let{pragmas:t}=Fur(e);return Object.prototype.hasOwnProperty.call(t,"prettier")||Object.prototype.hasOwnProperty.call(t,"format")}function CCn(e){let{shebang:t,text:r,pragmas:n,comments:i}=Fur(e),s=dCn(r),R=mCn({pragmas:{format:"",...n},comments:i.trimStart()});return(t?`${t} +`:"")+R+(s.startsWith(` +`)?` +`:` + +`)+s}function ACn(e){let t=e.slice(0,Lfe);if(t!=="---"&&t!=="+++")return;let r=e.indexOf(` +`,Lfe);if(r===-1)return;let n=e.slice(Lfe,r).trim(),i=e.indexOf(` +${t}`,r),s=n;if(s||(s=t==="+++"?"toml":"yaml"),i===-1&&t==="---"&&s==="yaml"&&(i=e.indexOf(` +...`,r)),i===-1)return;let R=i+1+Lfe,l=e.charAt(R+1);if(!/\s?/u.test(l))return;let c=e.slice(0,R);return{type:"front-matter",language:s,explicitLanguage:n,value:e.slice(r+1,i),startDelimiter:t,endDelimiter:c.slice(-Lfe),raw:c}}function gCn(e){let t=ACn(e);if(!t)return{content:e};let{raw:r}=t;return{frontMatter:t,content:Kd(!1,r,/[^\n]/gu," ")+e.slice(r.length)}}function bCn(e){return qCn(l5t(e).content)}function ECn(e){let{frontMatter:t,content:r}=l5t(e);return(t?t.raw+` + +`:"")+CCn(r)}function vCn(e){var t,r;return(r=(t=e.findAncestor(n=>n.type==="css-decl"))==null?void 0:t.prop)==null?void 0:r.toLowerCase()}function SCn(e){return DCn.has(e.toLowerCase())}function $Cn(e,t){var r;let n=e.findAncestor(i=>i.type==="css-atrule");return((r=n?.name)==null?void 0:r.toLowerCase().endsWith("keyframes"))&&["from","to"].includes(t.toLowerCase())}function tse(e){return e.includes("$")||e.includes("@")||e.includes("#")||e.startsWith("%")||e.startsWith("--")||e.startsWith(":--")||e.includes("(")&&e.includes(")")?e:e.toLowerCase()}function r9e(e,t){var r;let n=e.findAncestor(i=>i.type==="value-func");return((r=n?.value)==null?void 0:r.toLowerCase())===t}function QCn(e){var t;let r=e.findAncestor(i=>i.type==="css-rule"),n=(t=r?.raws)==null?void 0:t.selector;return n&&(n.startsWith(":import")||n.startsWith(":export"))}function n9e(e,t){let r=Array.isArray(t)?t:[t],n=e.findAncestor(i=>i.type==="css-atrule");return n&&r.includes(n.name.toLowerCase())}function NCn(e){var t;let{node:r}=e;return r.groups[0].value==="url"&&r.groups.length===2&&((t=e.findAncestor(n=>n.type==="css-atrule"))==null?void 0:t.name)==="import"}function wCn(e){return e.type==="value-func"&&e.value.toLowerCase()==="url"}function PCn(e){return e.type==="value-func"&&e.value.toLowerCase()==="var"}function BCn(e){let{selector:t}=e;return t?typeof t=="string"&&/^@.+:.*$/u.test(t)||t.value&&/^@.+:.*$/u.test(t.value):!1}function ICn(e){return e.type==="value-word"&&["from","through","end"].includes(e.value)}function MCn(e){return e.type==="value-word"&&["and","or","not"].includes(e.value)}function WCn(e){return e.type==="value-word"&&e.value==="in"}function zCt(e){return e.type==="value-operator"&&e.value==="*"}function i9e(e){return e.type==="value-operator"&&e.value==="/"}function SW(e){return e.type==="value-operator"&&e.value==="+"}function rse(e){return e.type==="value-operator"&&e.value==="-"}function UCn(e){return e.type==="value-operator"&&e.value==="%"}function MCt(e){return zCt(e)||i9e(e)||SW(e)||rse(e)||UCn(e)}function FCn(e){return e.type==="value-word"&&["==","!="].includes(e.value)}function LCn(e){return e.type==="value-word"&&["<",">","<=",">="].includes(e.value)}function HCt(e,t){return t.parser==="scss"&&e.type==="css-atrule"&&["if","else","for","each","while"].includes(e.name)}function XRr(e){var t;return((t=e.raws)==null?void 0:t.params)&&/^\(\s*\)$/u.test(e.raws.params)}function WCt(e){return e.name.startsWith("prettier-placeholder")}function zCn(e){return e.prop.startsWith("@prettier-placeholder")}function HCn(e,t){return e.value==="$$"&&e.type==="value-func"&&t?.type==="value-word"&&!t.raws.before}function YCn(e){var t,r;return((t=e.value)==null?void 0:t.type)==="value-root"&&((r=e.value.group)==null?void 0:r.type)==="value-value"&&e.prop.toLowerCase()==="composes"}function KCn(e){var t,r,n;return((n=(r=(t=e.value)==null?void 0:t.group)==null?void 0:r.group)==null?void 0:n.type)==="value-paren_group"&&e.value.group.group.open!==null&&e.value.group.group.close!==null}function Zae(e){var t;return((t=e.raws)==null?void 0:t.before)===""}function c5t(e){var t,r;return e.type==="value-comma_group"&&((r=(t=e.groups)==null?void 0:t[1])==null?void 0:r.type)==="value-colon"}function UCt(e){var t;return e.type==="value-paren_group"&&((t=e.groups)==null?void 0:t[0])&&c5t(e.groups[0])}function Lur(e,t){var r;if(t.parser!=="scss")return!1;let{node:n}=e;if(n.groups.length===0)return!1;let i=e.grandparent;if(!UCt(n)&&!(i&&UCt(i)))return!1;let s=e.findAncestor(R=>R.type==="css-decl");return!!((r=s?.prop)!=null&&r.startsWith("$")||UCt(i)||i.type==="value-func")}function zfe(e){return e.type==="value-comment"&&e.inline}function FCt(e){return e.type==="value-word"&&e.value==="#"}function ZRr(e){return e.type==="value-word"&&e.value==="{"}function LCt(e){return e.type==="value-word"&&e.value==="}"}function X5e(e){return["value-word","value-atword"].includes(e.type)}function a9e(e){return e?.type==="value-colon"}function GCn(e,t){if(!c5t(t))return!1;let{groups:r}=t,n=r.indexOf(e);return n===-1?!1:a9e(r[n+1])}function VCn(e){return e.value&&["not","and","or"].includes(e.value.toLowerCase())}function jCn(e){return e.type!=="value-func"?!1:OCn.has(e.value.toLowerCase())}function Hfe(e){return/\/\//u.test(e.split(/[\n\r]/u).pop())}function Z5e(e){return e?.type==="value-atword"&&e.value.startsWith("prettier-placeholder-")}function JCn(e,t){var r,n;if(((r=e.open)==null?void 0:r.value)!=="("||((n=e.close)==null?void 0:n.value)!==")"||e.groups.some(i=>i.type!=="value-comma_group"))return!1;if(t.type==="value-comma_group"){let i=t.groups.indexOf(e)-1,s=t.groups[i];if(s?.type==="value-word"&&s.value==="with")return!0}return!1}function e9e(e){var t,r;return e.type==="value-paren_group"&&((t=e.open)==null?void 0:t.value)==="("&&((r=e.close)==null?void 0:r.value)===")"}function XCn(e,t,r){var n;let{node:i}=e,s=e.parent,R=e.grandparent,l=vCn(e),c=l&&s.type==="value-value"&&(l==="grid"||l.startsWith("grid-template")),h=e.findAncestor(S=>S.type==="css-atrule"),_=h&&HCt(h,t),f=i.groups.some(S=>zfe(S)),m=e.map(r,"groups"),x=[""],y=r9e(e,"url"),A=!1,D=!1;for(let S=0;S2&&i.groups.slice(0,S).every(me=>me.type==="value-comment")&&!zfe(P)&&(x[x.length-2]=Vfe(nse(!1,x,-2))),n9e(e,"forward")&&M.type==="value-word"&&M.value&&P!==void 0&&P.type==="value-word"&&P.value==="as"&&U.type==="value-operator"&&U.value==="*"||!U||M.type==="value-word"&&M.value.endsWith("-")&&Z5e(U))continue;if(M.type==="value-string"&&M.quoted){let me=M.value.lastIndexOf("#{"),ve=M.value.lastIndexOf("}");me!==-1&&ve!==-1?A=me>ve:me!==-1?A=!0:ve!==-1&&(A=!1)}if(A||a9e(M)||a9e(U)||M.type==="value-atword"&&(M.value===""||M.value.endsWith("["))||U.type==="value-word"&&U.value.startsWith("]")||M.value==="~"||M.type!=="value-string"&&M.value&&M.value.includes("\\")&&U&&U.type!=="value-comment"||P!=null&&P.value&&P.value.indexOf("\\")===P.value.length-1&&M.type==="value-operator"&&M.value==="/"||M.value==="\\"||HCn(M,U)||FCt(M)||ZRr(M)||LCt(U)||ZRr(U)&&Zae(U)||LCt(M)&&Zae(U)||M.value==="--"&&FCt(U))continue;let F=MCt(M),H=MCt(U);if((F&&FCt(U)||H&&LCt(M))&&Zae(U)||!P&&i9e(M)||r9e(e,"calc")&&(SW(M)||SW(U)||rse(M)||rse(U))&&Zae(U))continue;let G=(SW(M)||rse(M))&&S===0&&(U.type==="value-number"||U.isHex)&&R&&jCn(R)&&!Zae(U),ee=w?.type==="value-func"||w&&X5e(w)||M.type==="value-func"||X5e(M),fe=U.type==="value-func"||X5e(U)||P?.type==="value-func"||P&&X5e(P);if(t.parser==="scss"&&F&&M.value==="-"&&U.type==="value-func"&&gA(M)!==bA(U)){x.push([x.pop()," "]);continue}if(!(!(zCt(U)||zCt(M))&&!r9e(e,"calc")&&!G&&(i9e(U)&&!ee||i9e(M)&&!fe||SW(U)&&!ee||SW(M)&&!fe||rse(U)||rse(M))&&(Zae(U)||F&&(!P||P&&MCt(P))))&&!((t.parser==="scss"||t.parser==="less")&&F&&M.value==="-"&&e9e(U)&&gA(M)===bA(U.open)&&U.open.value==="(")){if(zfe(M)){if(s.type==="value-paren_group"){x.push(Vfe(G_),"");continue}x.push(G_,"");continue}if(_&&(FCn(U)||LCn(U)||MCn(U)||WCn(M)||ICn(M))){x.push([x.pop()," "]);continue}if(h&&h.name.toLowerCase()==="namespace"){x.push([x.pop()," "]);continue}if(c){M.source&&U.source&&M.source.start.line!==U.source.start.line?(x.push(G_,""),D=!0):x.push([x.pop()," "]);continue}if(H){x.push([x.pop()," "]);continue}if(U?.value!=="..."&&!(Z5e(M)&&Z5e(U)&&gA(M)===bA(U))){if(Z5e(M)&&e9e(U)&&gA(M)===bA(U.open)){x.push(hO,"");continue}if(M.value==="with"&&e9e(U)){x=[[t9e(x)," "]];continue}(n=M.value)!=null&&n.endsWith("#")&&U.value==="{"&&e9e(U.group)||zfe(U)&&!w||x.push(w4,"")}}}return f&&x.push([x.pop(),R5t]),D&&x.unshift("",G_),_?_g(AA(x)):NCn(e)?_g(t9e(x)):_g(AA(t9e(x)))}function e5n(e){return e.length===1?e:e.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(?=\d)/u,"$1$2").replace(/^([+-]?[\d.]+)e[+-]?0+$/u,"$1").replace(/^([+-])?\./u,"$10.").replace(/(\.\d+?)0+(?=e|$)/u,"$1").replace(/\.(?=e|$)/u,"")}function r5n(e){let t=e.toLowerCase();return eur.has(t)?eur.get(t):e}function LD(e,t){return Kd(!1,e,zur,r=>Sur(r,t))}function o5n(e,t){let r=t.singleQuote?"'":'"';return e.includes('"')||e.includes("'")?e:r+e+r}function ese(e){return Kd(!1,e,s5n,(t,r,n,i,s)=>!n&&i?Hur(i)+tse(s||""):t)}function Hur(e){return t5n(e).replace(/\.0(?=$|e)/u,"")}function R5n(e){return e.trailingComma==="es5"||e.trailingComma==="all"}function u5n(e,t,r){let n=!!(r!=null&&r.backwards);if(t===!1)return!1;let i=e.charAt(t);if(n){if(e.charAt(t-1)==="\r"&&i===` +`)return t-2;if(i===` +`||i==="\r"||i==="\u2028"||i==="\u2029")return t-1}else{if(i==="\r"&&e.charAt(t+1)===` +`)return t+2;if(i===` +`||i==="\r"||i==="\u2028"||i==="\u2029")return t+1}return t}function l5n(e,t,r={}){let n=wur(e,r.backwards?t-1:t,r),i=Yur(e,n,r);return n!==i}function c5n(e,t){if(t===!1)return!1;if(e.charAt(t)==="/"&&e.charAt(t+1)==="*"){for(let r=t+2;rr.type==="value-comment"))&&R5n(t)&&e.callParent(()=>Lur(e,t))?vur(","):""}function x5n(e,t,r){let{node:n,parent:i}=e,s=e.map(({node:x})=>typeof x=="string"?x:r(),"groups");if(i&&wCn(i)&&(n.groups.length===1||n.groups.length>0&&n.groups[0].type==="value-comma_group"&&n.groups[0].groups.length>0&&n.groups[0].groups[0].type==="value-word"&&n.groups[0].groups[0].value.startsWith("data:")))return[n.open?r("open"):"",$W(",",s),n.close?r("close"):""];if(!n.open){let x=Vur(e);h9e(s);let y=m5n($W(",",s),2),A=$W(x?G_:w4,y);return AA(x?[G_,A]:_g(t9e(A)))}let R=e.map(({node:x,isLast:y,index:A})=>{var D;let S=s[A];c5t(x)&&x.type==="value-comma_group"&&x.groups&&x.groups[0].type!=="value-paren_group"&&((D=x.groups[2])==null?void 0:D.type)==="value-paren_group"&&Kfe(S)===T9e&&Kfe(S.contents)===c9e&&Kfe(S.contents.contents)===p9e&&(S=_g(Vfe(S)));let P=[S,y?d5n(e,t):","];if(!y&&x.type==="value-comma_group"&&f9e(x.groups)){let M=nse(!1,x.groups,-1);!M.source&&M.close&&(M=M.close),M.source&&Gur(t.originalText,gA(M))&&P.push(G_)}return P},"groups"),l=GCn(n,i),c=JCn(n,i),h=Lur(e,t),_=c||h&&!l,f=c||l,m=_g([n.open?r("open"):"",AA([hO,$W(w4,R)]),hO,n.close?r("close"):""],{shouldBreak:_});return f?Vfe(m):m}function Vur(e){return e.match(t=>t.type==="value-paren_group"&&!t.open&&t.groups.some(r=>r.type==="value-comma_group"),(t,r)=>r==="group"&&t.type==="value-value",(t,r)=>r==="group"&&t.type==="value-root",(t,r)=>r==="value"&&(t.type==="css-decl"&&!t.prop.startsWith("--")||t.type==="css-atrule"&&t.variable))}function m5n(e,t){let r=[];for(let n=0;n{let{node:i,previous:s}=e;if(s?.type==="css-comment"&&s.text.trim()==="prettier-ignore"?n.push(t.originalText.slice(bA(i),gA(i))):n.push(r()),e.isLast)return;let{next:R}=e;R.type==="css-comment"&&!Kur(t.originalText,bA(R),{backwards:!0})&&!s9e(i)||R.type==="css-atrule"&&R.name==="else"&&i.type!=="css-comment"?n.push(" "):(n.push(t.__isHTMLStyleAttribute?w4:G_),Gur(t.originalText,gA(i))&&!s9e(i)&&n.push(G_))},"nodes"),n}function y5n(e,t,r){var n,i,s,R,l,c;let{node:h}=e;switch(h.type){case"front-matter":return[h.raw,G_];case"css-root":{let _=Yfe(e,t,r),f=h.raws.after.trim();return f.startsWith(";")&&(f=f.slice(1).trim()),[h.frontMatter?[r("frontMatter"),G_]:"",_,f?` ${f}`:"",h.nodes.length>0?G_:""]}case"css-comment":{let _=h.inline||h.raws.inline,f=t.originalText.slice(bA(h),gA(h));return _?f.trimEnd():f}case"css-rule":return[r("selector"),h.important?" !important":"",h.nodes?[((n=h.selector)==null?void 0:n.type)==="selector-unknown"&&Hfe(h.selector.value)?w4:h.selector?" ":"","{",h.nodes.length>0?AA([G_,Yfe(e,t,r)]):"",G_,"}",BCn(h)?";":""]:";"];case"css-decl":{let _=e.parent,{between:f}=h.raws,m=f.trim(),x=m===":",y=typeof h.value=="string"&&/^ *$/u.test(h.value),A=typeof h.value=="string"?h.value:r("value");return A=YCn(h)?Pqn(A):A,!x&&Hfe(m)&&!((s=(i=h.value)==null?void 0:i.group)!=null&&s.group&&e.call(()=>Vur(e),"value","group","group"))&&(A=AA([G_,Vfe(A)])),[Kd(!1,h.raws.before,/[\s;]/gu,""),_.type==="css-atrule"&&_.variable||QCn(e)?h.prop:tse(h.prop),m.startsWith("//")?" ":"",m,h.extend||y?"":" ",t.parser==="less"&&h.extend&&h.selector?["extend(",r("selector"),")"]:"",A,h.raws.important?h.raws.important.replace(/\s*!\s*important/iu," !important"):h.important?" !important":"",h.raws.scssDefault?h.raws.scssDefault.replace(/\s*!default/iu," !default"):h.scssDefault?" !default":"",h.raws.scssGlobal?h.raws.scssGlobal.replace(/\s*!global/iu," !global"):h.scssGlobal?" !global":"",h.nodes?[" {",AA([hO,Yfe(e,t,r)]),hO,"}"]:zCn(h)&&!_.raws.semicolon&&t.originalText[gA(h)-1]!==";"?"":t.__isHTMLStyleAttribute&&e.isLast?vur(";"):";"]}case"css-atrule":{let _=e.parent,f=WCt(h)&&!_.raws.semicolon&&t.originalText[gA(h)-1]!==";";if(t.parser==="less"){if(h.mixin)return[r("selector"),h.important?" !important":"",f?"":";"];if(h.function)return[h.name,typeof h.params=="string"?h.params:r("params"),f?"":";"];if(h.variable)return["@",h.name,": ",h.value?r("value"):"",h.raws.between.trim()?h.raws.between.trim()+" ":"",h.nodes?["{",AA([h.nodes.length>0?hO:"",Yfe(e,t,r)]),hO,"}"]:"",f?"":";"]}let m=h.name==="import"&&((R=h.params)==null?void 0:R.type)==="value-unknown"&&h.params.value.endsWith(";");return["@",XRr(h)||h.name.endsWith(":")||WCt(h)?h.name:tse(h.name),h.params?[XRr(h)?"":WCt(h)?h.raws.afterName===""?"":h.name.endsWith(":")?" ":/^\s*\n\s*\n/u.test(h.raws.afterName)?[G_,G_]:/^\s*\n/u.test(h.raws.afterName)?G_:" ":" ",typeof h.params=="string"?h.params:r("params")]:"",h.selector?AA([" ",r("selector")]):"",h.value?_g([" ",r("value"),HCt(h,t)?KCn(h)?" ":w4:""]):h.name==="else"?" ":"",h.nodes?[HCt(h,t)?"":h.selector&&!h.selector.nodes&&typeof h.selector.value=="string"&&Hfe(h.selector.value)||!h.selector&&typeof h.params=="string"&&Hfe(h.params)?w4:" ","{",AA([h.nodes.length>0?hO:"",Yfe(e,t,r)]),hO,"}"]:f||m?"":";"]}case"media-query-list":{let _=[];return e.each(({node:f})=>{f.type==="media-query"&&f.value===""||_.push(r())},"nodes"),_g(AA($W(w4,_)))}case"media-query":return[$W(" ",e.map(r,"nodes")),e.isLast?"":","];case"media-type":return ese(LD(h.value,t));case"media-feature-expression":return h.nodes?["(",...e.map(r,"nodes"),")"]:h.value;case"media-feature":return tse(LD(Kd(!1,h.value,/ +/gu," "),t));case"media-colon":return[h.value," "];case"media-value":return ese(LD(h.value,t));case"media-keyword":return LD(h.value,t);case"media-url":return LD(Kd(!1,Kd(!1,h.value,/^url\(\s+/giu,"url("),/\s+\)$/gu,")"),t);case"media-unknown":return h.value;case"selector-root":return _g([n9e(e,"custom-selector")?[e.findAncestor(_=>_.type==="css-atrule").customSelector,w4]:"",$W([",",n9e(e,["extend","custom-selector","nest"])?w4:G_],e.map(r,"nodes"))]);case"selector-selector":{let _=h.nodes.length>1;return _g((_?AA:f=>f)(e.map(r,"nodes")))}case"selector-comment":return h.value;case"selector-string":return LD(h.value,t);case"selector-tag":return[h.namespace?[h.namespace===!0?"":h.namespace.trim(),"|"]:"",((l=e.previous)==null?void 0:l.type)==="selector-nesting"?h.value:ese($Cn(e,h.value)?h.value.toLowerCase():h.value)];case"selector-id":return["#",h.value];case"selector-class":return[".",ese(LD(h.value,t))];case"selector-attribute":return["[",h.namespace?[h.namespace===!0?"":h.namespace.trim(),"|"]:"",h.attribute.trim(),h.operator??"",h.value?o5n(LD(h.value.trim(),t),t):"",h.insensitive?" i":"","]"];case"selector-combinator":{if(h.value==="+"||h.value===">"||h.value==="~"||h.value===">>>"){let m=e.parent;return[m.type==="selector-selector"&&m.nodes[0]===h?"":w4,h.value,e.isLast?"":" "]}let _=h.value.trim().startsWith("(")?w4:"",f=ese(LD(h.value.trim(),t))||w4;return[_,f]}case"selector-universal":return[h.namespace?[h.namespace===!0?"":h.namespace.trim(),"|"]:"",h.value];case"selector-pseudo":return[tse(h.value),f9e(h.nodes)?_g(["(",AA([hO,$W([",",w4],e.map(r,"nodes"))]),hO,")"]):""];case"selector-nesting":return h.value;case"selector-unknown":{let _=e.findAncestor(x=>x.type==="css-rule");if(_!=null&&_.isSCSSNesterProperty)return ese(LD(tse(h.value),t));let f=e.parent;if((c=f.raws)!=null&&c.selector){let x=bA(f),y=x+f.raws.selector.length;return t.originalText.slice(x,y).trim()}let m=e.grandparent;if(f.type==="value-paren_group"&&m?.type==="value-func"&&m.value==="selector"){let x=gA(f.open)+1,y=bA(f.close),A=t.originalText.slice(x,y).trim();return Hfe(A)?[R5t,A]:A}return h.value}case"value-value":case"value-root":return r("group");case"value-comment":return t.originalText.slice(bA(h),gA(h));case"value-comma_group":return ZCn(e,t,r);case"value-paren_group":return x5n(e,t,r);case"value-func":return[h.value,n9e(e,"supports")&&VCn(h)?" ":"",r("group")];case"value-paren":return h.value;case"value-number":return[Hur(h.value),r5n(h.unit)];case"value-operator":return h.value;case"value-word":return h.isColor&&h.isHex||SCn(h.value)?h.value.toLowerCase():h.value;case"value-colon":{let{previous:_}=e;return _g([h.value,typeof _?.value=="string"&&_.value.endsWith("\\")||r9e(e,"url")?"":w4])}case"value-string":return Sur(h.raws.quote+h.value+h.raws.quote,t);case"value-atword":return["@",h.value];case"value-unicode-range":return h.value;case"value-unknown":return h.value;case"value-comma":default:throw new Hqn(h,"PostCSS")}}function v5n(e,t){let r=new SyntaxError(e+" ("+t.loc.start.line+":"+t.loc.start.column+")");return Object.assign(r,t)}function ede(e,t,r){if(e&&typeof e=="object"){delete e.parent;for(let n in e)ede(e[n],t,r),n==="type"&&typeof e[n]=="string"&&!e[n].startsWith(t)&&(!r||!r.test(e[n]))&&(e[n]=t+e[n])}return e}function Xur(e){if(e&&typeof e=="object"){delete e.parent;for(let t in e)Xur(e[t]);!Array.isArray(e)&&e.value&&!e.type&&(e.type="unknown")}return e}function Q5n(e){let t;try{t=$5n(e)}catch{return{type:"selector-unknown",value:e}}return ede(Xur(t),"media-")}function P5n(e){if(/\/\/|\/\*/u.test(e))return{type:"selector-unknown",value:e.trim()};let t;try{new w5n.default(r=>{t=r}).process(e)}catch{return{type:"selector-unknown",value:e}}return ede(t,"selector-")}function M5n(e){return Zur(e).text.slice(e.group.open.sourceIndex+1,e.group.close.sourceIndex).trim()}function U5n(e){if(f9e(e)){for(let t=e.length-1;t>0;t--)if(e[t].type==="word"&&e[t].value==="{"&&e[t-1].type==="word"&&e[t-1].value.endsWith("#"))return!0}return!1}function L5n(e){return e.some(t=>t.type==="string"||t.type==="func"&&!t.value.endsWith("\\"))}function H5n(e,t){return!!(t.parser==="scss"&&e?.type==="word"&&e.value.startsWith("$"))}function K5n(e,t){var r;let{nodes:n}=e,i={open:null,close:null,groups:[],type:"paren_group"},s=[i],R=i,l={groups:[],type:"comma_group"},c=[l];for(let h=0;h0&&i.groups.push(l),i.close=_,c.length===1)throw new Error("Unbalanced parenthesis");c.pop(),l=nse(!1,c,-1),l.groups.push(i),s.pop(),i=nse(!1,s,-1)}else if(_.type==="comma"){if(h===n.length-3&&n[h+1].type==="comment"&&tur(n[h+2]))continue;i.groups.push(l),l={groups:[],type:"comma_group"},c[c.length-1]=l}else l.groups.push(_)}return l.groups.length>0&&i.groups.push(l),R}function YCt(e){return e.type==="paren_group"&&!e.open&&!e.close&&e.groups.length===1||e.type==="comma_group"&&e.groups.length===1?YCt(e.groups[0]):e.type==="paren_group"||e.type==="comma_group"?{...e,groups:e.groups.map(YCt)}:e}function elr(e,t){if(e&&typeof e=="object")for(let r in e)r!=="parent"&&(elr(e[r],t),r==="nodes"&&(e.group=YCt(K5n(e,t)),delete e[r]));return e}function G5n(e,t){if(t.parser==="less"&&e.startsWith("~`"))return{type:"value-unknown",value:e};let r=null;try{r=new B5n.default(e,{loose:!0}).parse()}catch{return{type:"value-unknown",value:e}}r.text=e;let n=elr(r,t);return ede(n,"value-",/^selector-/u)}function j5n(e){return V5n.has(e)}function X5n(e,t){return t.parser!=="scss"||!e.selector?!1:e.selector.replace(/\/\*.*?\*\//u,"").replace(/\/\/.*\n/u,"").trim().endsWith(":")}function tlr(e,t){var r,n;if(e&&typeof e=="object"){delete e.parent;for(let l in e)tlr(e[l],t);if(!e.type)return e;if(e.raws??(e.raws={}),e.type==="css-decl"&&typeof e.prop=="string"&&e.prop.startsWith("--")&&typeof e.value=="string"&&e.value.startsWith("{")){let l;if(e.value.trimEnd().endsWith("}")){let c=t.originalText.slice(0,e.source.start.offset),h="a".repeat(e.prop.length)+t.originalText.slice(e.source.start.offset+e.prop.length,e.source.end.offset),_=Kd(!1,c,/[^\n]/gu," ")+h,f;t.parser==="scss"?f=ilr:t.parser==="less"?f=nlr:f=rlr;let m;try{m=f(_,{...t})}catch{}((r=m?.nodes)==null?void 0:r.length)===1&&m.nodes[0].type==="css-rule"&&(l=m.nodes[0].nodes)}return l?e.value={type:"css-rule",nodes:l}:e.value={type:"value-unknown",value:e.raws.value.raw},e}let i="";typeof e.selector=="string"&&(i=e.raws.selector?e.raws.selector.scss??e.raws.selector.raw:e.selector,e.raws.between&&e.raws.between.trim().length>0&&(i+=e.raws.between),e.raws.selector=i);let s="";typeof e.value=="string"&&(s=e.raws.value?e.raws.value.scss??e.raws.value.raw:e.value,e.raws.value=s.trim());let R="";if(typeof e.params=="string"&&(R=e.raws.params?e.raws.params.scss??e.raws.params.raw:e.params,e.raws.afterName&&e.raws.afterName.trim().length>0&&(R=e.raws.afterName+R),e.raws.between&&e.raws.between.trim().length>0&&(R=R+e.raws.between),R=R.trim(),e.raws.params=R),i.trim().length>0)return i.startsWith("@")&&i.endsWith(":")?e:e.mixin?(e.selector=EX(i,t),e):(Z5n(e,t)&&(e.isSCSSNesterProperty=!0),e.selector=OX(i),e);if(s.trim().length>0){let l=s.match(e9n);l&&(s=s.slice(0,l.index),e.scssDefault=!0,l[0].trim()!=="!default"&&(e.raws.scssDefault=l[0]));let c=s.match(t9n);if(c&&(s=s.slice(0,c.index),e.scssGlobal=!0,c[0].trim()!=="!global"&&(e.raws.scssGlobal=c[0])),s.startsWith("progid:"))return{type:"value-unknown",value:s};e.value=EX(s,t)}if(t.parser==="less"&&e.type==="css-decl"&&s.startsWith("extend(")&&(e.extend||(e.extend=e.raws.between===":"),e.extend&&!e.selector&&(delete e.value,e.selector=OX(s.slice(7,-1)))),e.type==="css-atrule"){if(t.parser==="less"){if(e.mixin){let l=e.raws.identifier+e.name+e.raws.afterName+e.raws.params;return e.selector=OX(l),delete e.params,e}if(e.function)return e}if(t.parser==="css"&&e.name==="custom-selector"){let l=e.params.match(/:--\S+\s+/u)[0].trim();return e.customSelector=l,e.selector=OX(e.params.slice(l.length).trim()),delete e.params,e}if(t.parser==="less"){if(e.name.includes(":")&&!e.params){e.variable=!0;let l=e.name.split(":");e.name=l[0],e.value=EX(l.slice(1).join(":"),t)}if(!["page","nest","keyframes"].includes(e.name)&&((n=e.params)==null?void 0:n[0])===":"){e.variable=!0;let l=e.params.slice(1);l&&(e.value=EX(l,t)),e.raws.afterName+=":"}if(e.variable)return delete e.params,e.value||delete e.value,e}}if(e.type==="css-atrule"&&R.length>0){let{name:l}=e,c=e.name.toLowerCase();return l==="warn"||l==="error"?(e.params={type:"media-unknown",value:R},e):l==="extend"||l==="nest"?(e.selector=OX(R),delete e.params,e):l==="at-root"?(/^\(\s*(?:without|with)\s*:.+\)$/su.test(R)?e.params=EX(R,t):(e.selector=OX(R),delete e.params),e):J5n(c)?(e.import=!0,delete e.filename,e.params=EX(R,t),e):["namespace","supports","if","else","for","each","while","debug","mixin","include","function","return","define-mixin","add-mixin"].includes(l)?(R=R.replace(/(\$\S+?)(\s+)?\.{3}/u,"$1...$2"),R=R.replace(/^(?!if)(\S+)(\s+)\(/u,"$1($2"),e.value=EX(R,t),delete e.params,e):["media","custom-media"].includes(c)?R.includes("#{")?{type:"media-unknown",value:R}:(e.params=N5n(R),e):(e.params=R,e)}}return e}function p5t(e,t,r){let n=l5t(t),{frontMatter:i}=n;t=n.content;let s;try{s=e(t,{map:!1})}catch(R){let{name:l,reason:c,line:h,column:_}=R;throw typeof h!="number"?R:D5n(`${l}: ${c}`,{loc:{start:{line:h,column:_}},cause:R})}return r.originalText=t,s=tlr(ede(s,"css-"),r),Iur(s,t),i&&(i.source={startOffset:0,endOffset:i.raw.length},s.frontMatter=i),s}function rlr(e,t={}){return p5t(b5n.default.default,e,t)}function nlr(e,t={}){return p5t(r=>E5n.default.parse(lCn(r)),e,t)}function ilr(e,t={}){return p5t(O5n.default,e,t)}var m6n,KCt,k6n,y6n,q6n,C6n,Ea,rur,A6n,ise,g6n,nur,GCt,VCt,o9e,jCt,R9e,jfe,u9e,DX,b6n,E6n,sur,Jfe,JCt,Xfe,our,XCt,ZCt,e5t,l9e,O6n,v6n,D6n,S6n,$6n,Q6n,N6n,w6n,t5t,P6n,Rur,uur,r5t,lur,cur,B6n,I6n,n5t,M6n,W6n,U6n,F6n,pur,_ur,L6n,z6n,hur,fur,dur,ase,GC,i5t,H6n,Y6n,Zfe,K6n,G6n,V6n,j6n,J6n,X6n,Z6n,eqn,tqn,rqn,nqn,iqn,aqn,sqn,zD,EA,oqn,Rqn,uqn,lqn,cqn,Tqn,pqn,_qn,hqn,fqn,dqn,xqn,mqn,kqn,yqn,qqn,Cqn,xur,Aqn,Kd,mur,kur,yur,c9e,a5t,qur,T9e,p9e,_9e,Cur,s5t,Aur,sse,gur,o5t,bur,Kfe,bqn,Oqn,vqn,Eur,vX,h9e,R5t,$qn,w4,hO,G_,Qqn,nse,f9e,Dur,Iqn,J5e,GRr,Wqn,Fqn,Sur,zqn,Hqn,s9e,Kqn,Vqn,Jqn,Xqn,Ffe,Zqn,rCn,nCn,iCn,aCn,sCn,Nur,Xhi,wur,RCn,Pur,cCn,TCn,Wur,pCn,VRr,_Cn,jRr,hCn,Uur,yCn,Lfe,l5t,OCn,DCn,ZCn,t5n,eur,zur,n5n,i5n,a5n,s5n,Yur,Kur,T5n,_5n,Gur,Yfe,q5n,C5n,jur,A5n,g5n,Jur,T5t,b5n,E5n,O5n,D5n,S5n,$5n,N5n,w5n,OX,B5n,I5n,Zur,W5n,F5n,z5n,Y5n,tur,EX,V5n,J5n,Z5n,e9n,t9n,_5t,r9n,n9n,i9n,alr,a9n,olr=mp(()=>{m6n=Object.create,KCt=Object.defineProperty,k6n=Object.getOwnPropertyDescriptor,y6n=Object.getOwnPropertyNames,q6n=Object.getPrototypeOf,C6n=Object.prototype.hasOwnProperty,Ea=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),rur=(e,t)=>{for(var r in t)KCt(e,r,{get:t[r],enumerable:!0})},A6n=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of y6n(t))!C6n.call(e,i)&&i!==r&&KCt(e,i,{get:()=>t[i],enumerable:!(n=k6n(t,i))||n.enumerable});return e},ise=(e,t,r)=>(r=e!=null?m6n(q6n(e)):{},A6n(t||!e||!e.__esModule?KCt(r,"default",{value:e,enumerable:!0}):r,e)),g6n=Ea((e,t)=>{var r=String,n=function(){return{isColorSupported:!1,reset:r,bold:r,dim:r,italic:r,underline:r,inverse:r,hidden:r,strikethrough:r,black:r,red:r,green:r,yellow:r,blue:r,magenta:r,cyan:r,white:r,gray:r,bgBlack:r,bgRed:r,bgGreen:r,bgYellow:r,bgBlue:r,bgMagenta:r,bgCyan:r,bgWhite:r,blackBright:r,redBright:r,greenBright:r,yellowBright:r,blueBright:r,magentaBright:r,cyanBright:r,whiteBright:r,bgBlackBright:r,bgRedBright:r,bgGreenBright:r,bgYellowBright:r,bgBlueBright:r,bgMagentaBright:r,bgCyanBright:r,bgWhiteBright:r}};t.exports=n(),t.exports.createColors=n}),nur=Ea(()=>{}),GCt=Ea((e,t)=>{"use strict";var r=g6n(),n=nur(),i=class iur extends Error{constructor(R,l,c,h,_,f){super(R),this.name="CssSyntaxError",this.reason=R,_&&(this.file=_),h&&(this.source=h),f&&(this.plugin=f),typeof l<"u"&&typeof c<"u"&&(typeof l=="number"?(this.line=l,this.column=c):(this.line=l.line,this.column=l.column,this.endLine=c.line,this.endColumn=c.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,iur)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(R){if(!this.source)return"";let l=this.source;R==null&&(R=r.isColorSupported);let c=A=>A,h=A=>A,_=A=>A;if(R){let{bold:A,gray:D,red:S}=r.createColors(!0);h=P=>A(S(P)),c=P=>D(P),n&&(_=P=>n(P))}let f=l.split(/\r?\n/),m=Math.max(this.line-3,0),x=Math.min(this.line+2,f.length),y=String(x).length;return f.slice(m,x).map((A,D)=>{let S=m+1+D,P=" "+(" "+S).slice(-y)+" | ";if(S===this.line){if(A.length>160){let U=20,w=Math.max(0,this.column-U),F=Math.max(this.column+U,this.endColumn+U),H=A.slice(w,F),G=c(P.replace(/\d/g," "))+A.slice(0,Math.min(this.column-1,U-1)).replace(/[^\t]/g," ");return h(">")+c(P)+_(H)+` + `+G+h("^")}let M=c(P.replace(/\d/g," "))+A.slice(0,this.column-1).replace(/[^\t]/g," ");return h(">")+c(P)+_(A)+` + `+M+h("^")}return" "+c(P)+_(A)}).join(` +`)}toString(){let R=this.showSourceCode();return R&&(R=` + +`+R+` +`),this.name+": "+this.message+R}};t.exports=i,i.default=i}),VCt=Ea((e,t)=>{"use strict";var r={after:` +`,beforeClose:` +`,beforeComment:` +`,beforeDecl:` +`,beforeOpen:" ",beforeRule:` +`,colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function n(s){return s[0].toUpperCase()+s.slice(1)}var i=class{constructor(s){this.builder=s}atrule(s,R){let l="@"+s.name,c=s.params?this.rawValue(s,"params"):"";if(typeof s.raws.afterName<"u"?l+=s.raws.afterName:c&&(l+=" "),s.nodes)this.block(s,l+c);else{let h=(s.raws.between||"")+(R?";":"");this.builder(l+c+h,s)}}beforeAfter(s,R){let l;s.type==="decl"?l=this.raw(s,null,"beforeDecl"):s.type==="comment"?l=this.raw(s,null,"beforeComment"):R==="before"?l=this.raw(s,null,"beforeRule"):l=this.raw(s,null,"beforeClose");let c=s.parent,h=0;for(;c&&c.type!=="root";)h+=1,c=c.parent;if(l.includes(` +`)){let _=this.raw(s,null,"indent");if(_.length)for(let f=0;f0&&s.nodes[R].type==="comment";)R-=1;let l=this.raw(s,"semicolon");for(let c=0;c{if(c=m.raws[R],typeof c<"u")return!1})}return typeof c>"u"&&(c=r[l]),_.rawCache[l]=c,c}rawBeforeClose(s){let R;return s.walk(l=>{if(l.nodes&&l.nodes.length>0&&typeof l.raws.after<"u")return R=l.raws.after,R.includes(` +`)&&(R=R.replace(/[^\n]+$/,"")),!1}),R&&(R=R.replace(/\S/g,"")),R}rawBeforeComment(s,R){let l;return s.walkComments(c=>{if(typeof c.raws.before<"u")return l=c.raws.before,l.includes(` +`)&&(l=l.replace(/[^\n]+$/,"")),!1}),typeof l>"u"?l=this.raw(R,null,"beforeDecl"):l&&(l=l.replace(/\S/g,"")),l}rawBeforeDecl(s,R){let l;return s.walkDecls(c=>{if(typeof c.raws.before<"u")return l=c.raws.before,l.includes(` +`)&&(l=l.replace(/[^\n]+$/,"")),!1}),typeof l>"u"?l=this.raw(R,null,"beforeRule"):l&&(l=l.replace(/\S/g,"")),l}rawBeforeOpen(s){let R;return s.walk(l=>{if(l.type!=="decl"&&(R=l.raws.between,typeof R<"u"))return!1}),R}rawBeforeRule(s){let R;return s.walk(l=>{if(l.nodes&&(l.parent!==s||s.first!==l)&&typeof l.raws.before<"u")return R=l.raws.before,R.includes(` +`)&&(R=R.replace(/[^\n]+$/,"")),!1}),R&&(R=R.replace(/\S/g,"")),R}rawColon(s){let R;return s.walkDecls(l=>{if(typeof l.raws.between<"u")return R=l.raws.between.replace(/[^\s:]/g,""),!1}),R}rawEmptyBody(s){let R;return s.walk(l=>{if(l.nodes&&l.nodes.length===0&&(R=l.raws.after,typeof R<"u"))return!1}),R}rawIndent(s){if(s.raws.indent)return s.raws.indent;let R;return s.walk(l=>{let c=l.parent;if(c&&c!==s&&c.parent&&c.parent===s&&typeof l.raws.before<"u"){let h=l.raws.before.split(` +`);return R=h[h.length-1],R=R.replace(/\S/g,""),!1}}),R}rawSemicolon(s){let R;return s.walk(l=>{if(l.nodes&&l.nodes.length&&l.last.type==="decl"&&(R=l.raws.semicolon,typeof R<"u"))return!1}),R}rawValue(s,R){let l=s[R],c=s.raws[R];return c&&c.value===l?c.raw:l}root(s){this.body(s),s.raws.after&&this.builder(s.raws.after)}rule(s){this.block(s,this.rawValue(s,"selector")),s.raws.ownSemicolon&&this.builder(s.raws.ownSemicolon,s,"end")}stringify(s,R){if(!this[s.type])throw new Error("Unknown AST node type "+s.type+". Maybe you need to change PostCSS stringifier.");this[s.type](s,R)}};t.exports=i,i.default=i}),o9e=Ea((e,t)=>{"use strict";var r=VCt();function n(i,s){new r(s).stringify(i)}t.exports=n,n.default=n}),jCt=Ea((e,t)=>{"use strict";t.exports.isClean=Symbol("isClean"),t.exports.my=Symbol("my")}),R9e=Ea((e,t)=>{"use strict";var r=GCt(),n=VCt(),i=o9e(),{isClean:s,my:R}=jCt();function l(_,f){let m=new _.constructor;for(let x in _){if(!Object.prototype.hasOwnProperty.call(_,x)||x==="proxyCache")continue;let y=_[x],A=typeof y;x==="parent"&&A==="object"?f&&(m[x]=f):x==="source"?m[x]=y:Array.isArray(y)?m[x]=y.map(D=>l(D,m)):(A==="object"&&y!==null&&(y=l(y)),m[x]=y)}return m}function c(_,f){if(f&&typeof f.offset<"u")return f.offset;let m=1,x=1,y=0;for(let A=0;A<_.length;A++){if(x===f.line&&m===f.column){y=A;break}_[A]===` +`?(m=1,x+=1):m+=1}return y}var h=class{constructor(_={}){this.raws={},this[s]=!1,this[R]=!0;for(let f in _)if(f==="nodes"){this.nodes=[];for(let m of _[f])typeof m.clone=="function"?this.append(m.clone()):this.append(m)}else this[f]=_[f]}addToError(_){if(_.postcssNode=this,_.stack&&this.source&&/\n\s{4}at /.test(_.stack)){let f=this.source;_.stack=_.stack.replace(/\n\s{4}at /,`$&${f.input.from}:${f.start.line}:${f.start.column}$&`)}return _}after(_){return this.parent.insertAfter(this,_),this}assign(_={}){for(let f in _)this[f]=_[f];return this}before(_){return this.parent.insertBefore(this,_),this}cleanRaws(_){delete this.raws.before,delete this.raws.after,_||delete this.raws.between}clone(_={}){let f=l(this);for(let m in _)f[m]=_[m];return f}cloneAfter(_={}){let f=this.clone(_);return this.parent.insertAfter(this,f),f}cloneBefore(_={}){let f=this.clone(_);return this.parent.insertBefore(this,f),f}error(_,f={}){if(this.source){let{end:m,start:x}=this.rangeBy(f);return this.source.input.error(_,{column:x.column,line:x.line},{column:m.column,line:m.line},f)}return new r(_)}getProxyProcessor(){return{get(_,f){return f==="proxyOf"?_:f==="root"?()=>_.root().toProxy():_[f]},set(_,f,m){return _[f]===m||(_[f]=m,(f==="prop"||f==="value"||f==="name"||f==="params"||f==="important"||f==="text")&&_.markDirty()),!0}}}markClean(){this[s]=!0}markDirty(){if(this[s]){this[s]=!1;let _=this;for(;_=_.parent;)_[s]=!1}}next(){if(!this.parent)return;let _=this.parent.index(this);return this.parent.nodes[_+1]}positionBy(_){let f=this.source.start;if(_.index)f=this.positionInside(_.index);else if(_.word){let m=this.source.input.css.slice(c(this.source.input.css,this.source.start),c(this.source.input.css,this.source.end)).indexOf(_.word);m!==-1&&(f=this.positionInside(m))}return f}positionInside(_){let f=this.source.start.column,m=this.source.start.line,x=c(this.source.input.css,this.source.start),y=x+_;for(let A=x;Atypeof S=="object"&&S.toJSON?S.toJSON(null,f):S);else if(typeof D=="object"&&D.toJSON)m[A]=D.toJSON(null,f);else if(A==="source"){let S=f.get(D.input);S==null&&(S=y,f.set(D.input,y),y++),m[A]={end:D.end,inputId:S,start:D.start}}else m[A]=D}return x&&(m.inputs=[...f.keys()].map(A=>A.toJSON())),m}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(_=i){_.stringify&&(_=_.stringify);let f="";return _(this,m=>{f+=m}),f}warn(_,f,m){let x={node:this};for(let y in m)x[y]=m[y];return _.warn(f,x)}get proxyOf(){return this}};t.exports=h,h.default=h}),jfe=Ea((e,t)=>{"use strict";var r=R9e(),n=class extends r{constructor(i){super(i),this.type="comment"}};t.exports=n,n.default=n}),u9e=Ea((e,t)=>{"use strict";var r=R9e(),n=class extends r{constructor(i){i&&typeof i.value<"u"&&typeof i.value!="string"&&(i={...i,value:String(i.value)}),super(i),this.type="decl"}get variable(){return this.prop.startsWith("--")||this.prop[0]==="$"}};t.exports=n,n.default=n}),DX=Ea((e,t)=>{"use strict";var r=jfe(),n=u9e(),i=R9e(),{isClean:s,my:R}=jCt(),l,c,h,_;function f(y){return y.map(A=>(A.nodes&&(A.nodes=f(A.nodes)),delete A.source,A))}function m(y){if(y[s]=!1,y.proxyOf.nodes)for(let A of y.proxyOf.nodes)m(A)}var x=class aur extends i{append(...A){for(let D of A){let S=this.normalize(D,this.last);for(let P of S)this.proxyOf.nodes.push(P)}return this.markDirty(),this}cleanRaws(A){if(super.cleanRaws(A),this.nodes)for(let D of this.nodes)D.cleanRaws(A)}each(A){if(!this.proxyOf.nodes)return;let D=this.getIterator(),S,P;for(;this.indexes[D]A[D](...S.map(P=>typeof P=="function"?(M,U)=>P(M.toProxy(),U):P)):D==="every"||D==="some"?S=>A[D]((P,...M)=>S(P.toProxy(),...M)):D==="root"?()=>A.root().toProxy():D==="nodes"?A.nodes.map(S=>S.toProxy()):D==="first"||D==="last"?A[D].toProxy():A[D]:A[D]},set(A,D,S){return A[D]===S||(A[D]=S,(D==="name"||D==="params"||D==="selector")&&A.markDirty()),!0}}}index(A){return typeof A=="number"?A:(A.proxyOf&&(A=A.proxyOf),this.proxyOf.nodes.indexOf(A))}insertAfter(A,D){let S=this.index(A),P=this.normalize(D,this.proxyOf.nodes[S]).reverse();S=this.index(A);for(let U of P)this.proxyOf.nodes.splice(S+1,0,U);let M;for(let U in this.indexes)M=this.indexes[U],S"u")A=[];else if(Array.isArray(A)){A=A.slice(0);for(let S of A)S.parent&&S.parent.removeChild(S,"ignore")}else if(A.type==="root"&&this.type!=="document"){A=A.nodes.slice(0);for(let S of A)S.parent&&S.parent.removeChild(S,"ignore")}else if(A.type)A=[A];else if(A.prop){if(typeof A.value>"u")throw new Error("Value field is missed in node creation");typeof A.value!="string"&&(A.value=String(A.value)),A=[new n(A)]}else if(A.selector||A.selectors)A=[new _(A)];else if(A.name)A=[new l(A)];else if(A.text)A=[new r(A)];else throw new Error("Unknown node type in node creation");return A.map(S=>(S[R]||aur.rebuild(S),S=S.proxyOf,S.parent&&S.parent.removeChild(S),S[s]&&m(S),S.raws||(S.raws={}),typeof S.raws.before>"u"&&D&&typeof D.raws.before<"u"&&(S.raws.before=D.raws.before.replace(/\S/g,"")),S.parent=this.proxyOf,S))}prepend(...A){A=A.reverse();for(let D of A){let S=this.normalize(D,this.first,"prepend").reverse();for(let P of S)this.proxyOf.nodes.unshift(P);for(let P in this.indexes)this.indexes[P]=this.indexes[P]+S.length}return this.markDirty(),this}push(A){return A.parent=this,this.proxyOf.nodes.push(A),this}removeAll(){for(let A of this.proxyOf.nodes)A.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(A){A=this.index(A),this.proxyOf.nodes[A].parent=void 0,this.proxyOf.nodes.splice(A,1);let D;for(let S in this.indexes)D=this.indexes[S],D>=A&&(this.indexes[S]=D-1);return this.markDirty(),this}replaceValues(A,D,S){return S||(S=D,D={}),this.walkDecls(P=>{D.props&&!D.props.includes(P.prop)||D.fast&&!P.value.includes(D.fast)||(P.value=P.value.replace(A,S))}),this.markDirty(),this}some(A){return this.nodes.some(A)}walk(A){return this.each((D,S)=>{let P;try{P=A(D,S)}catch(M){throw D.addToError(M)}return P!==!1&&D.walk&&(P=D.walk(A)),P})}walkAtRules(A,D){return D?A instanceof RegExp?this.walk((S,P)=>{if(S.type==="atrule"&&A.test(S.name))return D(S,P)}):this.walk((S,P)=>{if(S.type==="atrule"&&S.name===A)return D(S,P)}):(D=A,this.walk((S,P)=>{if(S.type==="atrule")return D(S,P)}))}walkComments(A){return this.walk((D,S)=>{if(D.type==="comment")return A(D,S)})}walkDecls(A,D){return D?A instanceof RegExp?this.walk((S,P)=>{if(S.type==="decl"&&A.test(S.prop))return D(S,P)}):this.walk((S,P)=>{if(S.type==="decl"&&S.prop===A)return D(S,P)}):(D=A,this.walk((S,P)=>{if(S.type==="decl")return D(S,P)}))}walkRules(A,D){return D?A instanceof RegExp?this.walk((S,P)=>{if(S.type==="rule"&&A.test(S.selector))return D(S,P)}):this.walk((S,P)=>{if(S.type==="rule"&&S.selector===A)return D(S,P)}):(D=A,this.walk((S,P)=>{if(S.type==="rule")return D(S,P)}))}get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}};x.registerParse=y=>{c=y},x.registerRule=y=>{_=y},x.registerAtRule=y=>{l=y},x.registerRoot=y=>{h=y},t.exports=x,x.default=x,x.rebuild=y=>{y.type==="atrule"?Object.setPrototypeOf(y,l.prototype):y.type==="rule"?Object.setPrototypeOf(y,_.prototype):y.type==="decl"?Object.setPrototypeOf(y,n.prototype):y.type==="comment"?Object.setPrototypeOf(y,r.prototype):y.type==="root"&&Object.setPrototypeOf(y,h.prototype),y[R]=!0,y.nodes&&y.nodes.forEach(A=>{x.rebuild(A)})}}),b6n=Ea((e,t)=>{var r="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",n=(s,R=21)=>(l=R)=>{let c="",h=l;for(;h--;)c+=s[Math.random()*s.length|0];return c},i=(s=21)=>{let R="",l=s;for(;l--;)R+=r[Math.random()*64|0];return R};t.exports={nanoid:i,customAlphabet:n}}),E6n=Ea(()=>{}),sur=Ea((e,t)=>{t.exports=class{}}),Jfe=Ea((e,t)=>{"use strict";var{nanoid:r}=b6n(),{isAbsolute:n,resolve:i}={},{SourceMapConsumer:s,SourceMapGenerator:R}=E6n(),{fileURLToPath:l,pathToFileURL:c}={},h=GCt(),_=sur(),f=nur(),m=Symbol("fromOffsetCache"),x=!!(s&&R),y=!!(i&&n),A=class{constructor(D,S={}){if(D===null||typeof D>"u"||typeof D=="object"&&!D.toString)throw new Error(`PostCSS received ${D} instead of CSS string`);if(this.css=D.toString(),this.css[0]==="\uFEFF"||this.css[0]==="\uFFFE"?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,S.from&&(!y||/^\w+:\/\//.test(S.from)||n(S.from)?this.file=S.from:this.file=i(S.from)),y&&x){let P=new _(this.css,S);if(P.text){this.map=P;let M=P.consumer().file;!this.file&&M&&(this.file=this.mapResolve(M))}}this.file||(this.id=""),this.map&&(this.map.file=this.from)}error(D,S,P,M={}){let U,w,F;if(S&&typeof S=="object"){let G=S,ee=P;if(typeof G.offset=="number"){let fe=this.fromOffset(G.offset);S=fe.line,P=fe.col}else S=G.line,P=G.column;if(typeof ee.offset=="number"){let fe=this.fromOffset(ee.offset);w=fe.line,U=fe.col}else w=ee.line,U=ee.column}else if(!P){let G=this.fromOffset(S);S=G.line,P=G.col}let H=this.origin(S,P,w,U);return H?F=new h(D,H.endLine===void 0?H.line:{column:H.column,line:H.line},H.endLine===void 0?H.column:{column:H.endColumn,line:H.endLine},H.source,H.file,M.plugin):F=new h(D,w===void 0?S:{column:P,line:S},w===void 0?P:{column:U,line:w},this.css,this.file,M.plugin),F.input={column:P,endColumn:U,endLine:w,line:S,source:this.css},this.file&&(c&&(F.input.url=c(this.file).toString()),F.input.file=this.file),F}fromOffset(D){let S,P;if(this[m])P=this[m];else{let U=this.css.split(` +`);P=new Array(U.length);let w=0;for(let F=0,H=U.length;F=S)M=P.length-1;else{let U=P.length-2,w;for(;M>1),D=P[w+1])M=w+1;else{M=w;break}}return{col:D-P[M]+1,line:M+1}}mapResolve(D){return/^\w+:\/\//.test(D)?D:i(this.map.consumer().sourceRoot||this.map.root||".",D)}origin(D,S,P,M){if(!this.map)return!1;let U=this.map.consumer(),w=U.originalPositionFor({column:S,line:D});if(!w.source)return!1;let F;typeof P=="number"&&(F=U.originalPositionFor({column:M,line:P}));let H;n(w.source)?H=c(w.source):H=new URL(w.source,this.map.consumer().sourceRoot||c(this.map.mapFile));let G={column:w.column,endColumn:F&&F.column,endLine:F&&F.line,line:w.line,url:H.toString()};if(H.protocol==="file:")if(l)G.file=l(H);else throw new Error("file: protocol is not available in this PostCSS build");let ee=U.sourceContentFor(w.source);return ee&&(G.source=ee),G}toJSON(){let D={};for(let S of["hasBOM","css","file","id"])this[S]!=null&&(D[S]=this[S]);return this.map&&(D.map={...this.map},D.map.consumerCache&&(D.map.consumerCache=void 0)),D}get from(){return this.file||this.id}};t.exports=A,A.default=A,f&&f.registerInput&&f.registerInput(A)}),JCt=Ea((e,t)=>{"use strict";var r=DX(),n=class extends r{constructor(i){super(i),this.type="atrule"}append(...i){return this.proxyOf.nodes||(this.nodes=[]),super.append(...i)}prepend(...i){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...i)}};t.exports=n,n.default=n,r.registerAtRule(n)}),Xfe=Ea((e,t)=>{"use strict";var r=DX(),n,i,s=class extends r{constructor(R){super(R),this.type="root",this.nodes||(this.nodes=[])}normalize(R,l,c){let h=super.normalize(R);if(l){if(c==="prepend")this.nodes.length>1?l.raws.before=this.nodes[1].raws.before:delete l.raws.before;else if(this.first!==l)for(let _ of h)_.raws.before=l.raws.before}return h}removeChild(R,l){let c=this.index(R);return!l&&c===0&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[c].raws.before),super.removeChild(R)}toResult(R={}){return new n(new i,this,R).stringify()}};s.registerLazyResult=R=>{n=R},s.registerProcessor=R=>{i=R},t.exports=s,s.default=s,r.registerRoot(s)}),our=Ea((e,t)=>{"use strict";var r={comma(n){return r.split(n,[","],!0)},space(n){let i=[" ",` +`," "];return r.split(n,i)},split(n,i,s){let R=[],l="",c=!1,h=0,_=!1,f="",m=!1;for(let x of n)m?m=!1:x==="\\"?m=!0:_?x===f&&(_=!1):x==='"'||x==="'"?(_=!0,f=x):x==="("?h+=1:x===")"?h>0&&(h-=1):h===0&&i.includes(x)&&(c=!0),c?(l!==""&&R.push(l.trim()),l="",c=!1):l+=x;return(s||l!=="")&&R.push(l.trim()),R}};t.exports=r,r.default=r}),XCt=Ea((e,t)=>{"use strict";var r=DX(),n=our(),i=class extends r{constructor(s){super(s),this.type="rule",this.nodes||(this.nodes=[])}get selectors(){return n.comma(this.selector)}set selectors(s){let R=this.selector?this.selector.match(/,\s*/):null,l=R?R[0]:","+this.raw("between","beforeOpen");this.selector=s.join(l)}};t.exports=i,i.default=i,r.registerRule(i)}),ZCt=Ea((e,t)=>{"use strict";var r=/[\t\n\f\r "#'()/;[\\\]{}]/g,n=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,i=/.[\r\n"'(/\\]/,s=/[\da-f]/i;t.exports=function(R,l={}){let c=R.css.valueOf(),h=l.ignoreErrors,_,f,m,x,y,A,D,S,P,M,U=c.length,w=0,F=[],H=[];function G(){return w}function ee(Ae){throw R.error("Unclosed "+Ae,w)}function fe(){return H.length===0&&w>=U}function me(Ae){if(H.length)return H.pop();if(w>=U)return;let Ue=Ae?Ae.ignoreUnclosed:!1;switch(_=c.charCodeAt(w),_){case 10:case 32:case 9:case 13:case 12:{x=w;do x+=1,_=c.charCodeAt(x);while(_===32||_===10||_===9||_===13||_===12);A=["space",c.slice(w,x)],w=x-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let Ee=String.fromCharCode(_);A=[Ee,Ee,w];break}case 40:{if(M=F.length?F.pop()[1]:"",P=c.charCodeAt(w+1),M==="url"&&P!==39&&P!==34&&P!==32&&P!==10&&P!==9&&P!==12&&P!==13){x=w;do{if(D=!1,x=c.indexOf(")",x+1),x===-1)if(h||Ue){x=w;break}else ee("bracket");for(S=x;c.charCodeAt(S-1)===92;)S-=1,D=!D}while(D);A=["brackets",c.slice(w,x+1),w,x],w=x}else x=c.indexOf(")",w+1),f=c.slice(w,x+1),x===-1||i.test(f)?A=["(","(",w]:(A=["brackets",f,w,x],w=x);break}case 39:case 34:{y=_===39?"'":'"',x=w;do{if(D=!1,x=c.indexOf(y,x+1),x===-1)if(h||Ue){x=w+1;break}else ee("string");for(S=x;c.charCodeAt(S-1)===92;)S-=1,D=!D}while(D);A=["string",c.slice(w,x+1),w,x],w=x;break}case 64:{r.lastIndex=w+1,r.test(c),r.lastIndex===0?x=c.length-1:x=r.lastIndex-2,A=["at-word",c.slice(w,x+1),w,x],w=x;break}case 92:{for(x=w,m=!0;c.charCodeAt(x+1)===92;)x+=1,m=!m;if(_=c.charCodeAt(x+1),m&&_!==47&&_!==32&&_!==10&&_!==9&&_!==13&&_!==12&&(x+=1,s.test(c.charAt(x)))){for(;s.test(c.charAt(x+1));)x+=1;c.charCodeAt(x+1)===32&&(x+=1)}A=["word",c.slice(w,x+1),w,x],w=x;break}default:{_===47&&c.charCodeAt(w+1)===42?(x=c.indexOf("*/",w+2)+1,x===0&&(h||Ue?x=c.length:ee("comment")),A=["comment",c.slice(w,x+1),w,x],w=x):(n.lastIndex=w+1,n.test(c),n.lastIndex===0?x=c.length-1:x=n.lastIndex-2,A=["word",c.slice(w,x+1),w,x],F.push(A),w=x);break}}return w++,A}function ve(Ae){H.push(Ae)}return{back:ve,endOfFile:fe,nextToken:me,position:G}}}),e5t=Ea((e,t)=>{"use strict";var r=JCt(),n=jfe(),i=u9e(),s=Xfe(),R=XCt(),l=ZCt(),c={empty:!0,space:!0};function h(f){for(let m=f.length-1;m>=0;m--){let x=f[m],y=x[3]||x[2];if(y)return y}}var _=class{constructor(f){this.input=f,this.root=new s,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:f,start:{column:1,line:1,offset:0}}}atrule(f){let m=new r;m.name=f[1].slice(1),m.name===""&&this.unnamedAtrule(m,f),this.init(m,f[2]);let x,y,A,D=!1,S=!1,P=[],M=[];for(;!this.tokenizer.endOfFile();){if(f=this.tokenizer.nextToken(),x=f[0],x==="("||x==="["?M.push(x==="("?")":"]"):x==="{"&&M.length>0?M.push("}"):x===M[M.length-1]&&M.pop(),M.length===0)if(x===";"){m.source.end=this.getPosition(f[2]),m.source.end.offset++,this.semicolon=!0;break}else if(x==="{"){S=!0;break}else if(x==="}"){if(P.length>0){for(A=P.length-1,y=P[A];y&&y[0]==="space";)y=P[--A];y&&(m.source.end=this.getPosition(y[3]||y[2]),m.source.end.offset++)}this.end(f);break}else P.push(f);else P.push(f);if(this.tokenizer.endOfFile()){D=!0;break}}m.raws.between=this.spacesAndCommentsFromEnd(P),P.length?(m.raws.afterName=this.spacesAndCommentsFromStart(P),this.raw(m,"params",P),D&&(f=P[P.length-1],m.source.end=this.getPosition(f[3]||f[2]),m.source.end.offset++,this.spaces=m.raws.between,m.raws.between="")):(m.raws.afterName="",m.params=""),S&&(m.nodes=[],this.current=m)}checkMissedSemicolon(f){let m=this.colon(f);if(m===!1)return;let x=0,y;for(let A=m-1;A>=0&&(y=f[A],!(y[0]!=="space"&&(x+=1,x===2)));A--);throw this.input.error("Missed semicolon",y[0]==="word"?y[3]+1:y[2])}colon(f){let m=0,x,y,A;for(let[D,S]of f.entries()){if(y=S,A=y[0],A==="("&&(m+=1),A===")"&&(m-=1),m===0&&A===":")if(!x)this.doubleColon(y);else{if(x[0]==="word"&&x[1]==="progid")continue;return D}x=y}return!1}comment(f){let m=new n;this.init(m,f[2]),m.source.end=this.getPosition(f[3]||f[2]),m.source.end.offset++;let x=f[1].slice(2,-2);if(/^\s*$/.test(x))m.text="",m.raws.left=x,m.raws.right="";else{let y=x.match(/^(\s*)([^]*\S)(\s*)$/);m.text=y[2],m.raws.left=y[1],m.raws.right=y[3]}}createTokenizer(){this.tokenizer=l(this.input)}decl(f,m){let x=new i;this.init(x,f[0][2]);let y=f[f.length-1];for(y[0]===";"&&(this.semicolon=!0,f.pop()),x.source.end=this.getPosition(y[3]||y[2]||h(f)),x.source.end.offset++;f[0][0]!=="word";)f.length===1&&this.unknownWord(f),x.raws.before+=f.shift()[1];for(x.source.start=this.getPosition(f[0][2]),x.prop="";f.length;){let P=f[0][0];if(P===":"||P==="space"||P==="comment")break;x.prop+=f.shift()[1]}x.raws.between="";let A;for(;f.length;)if(A=f.shift(),A[0]===":"){x.raws.between+=A[1];break}else A[0]==="word"&&/\w/.test(A[1])&&this.unknownWord([A]),x.raws.between+=A[1];(x.prop[0]==="_"||x.prop[0]==="*")&&(x.raws.before+=x.prop[0],x.prop=x.prop.slice(1));let D=[],S;for(;f.length&&(S=f[0][0],!(S!=="space"&&S!=="comment"));)D.push(f.shift());this.precheckMissedSemicolon(f);for(let P=f.length-1;P>=0;P--){if(A=f[P],A[1].toLowerCase()==="!important"){x.important=!0;let M=this.stringFrom(f,P);M=this.spacesFromEnd(f)+M,M!==" !important"&&(x.raws.important=M);break}else if(A[1].toLowerCase()==="important"){let M=f.slice(0),U="";for(let w=P;w>0;w--){let F=M[w][0];if(U.trim().startsWith("!")&&F!=="space")break;U=M.pop()[1]+U}U.trim().startsWith("!")&&(x.important=!0,x.raws.important=U,f=M)}if(A[0]!=="space"&&A[0]!=="comment")break}f.some(P=>P[0]!=="space"&&P[0]!=="comment")&&(x.raws.between+=D.map(P=>P[1]).join(""),D=[]),this.raw(x,"value",D.concat(f),m),x.value.includes(":")&&!m&&this.checkMissedSemicolon(f)}doubleColon(f){throw this.input.error("Double colon",{offset:f[2]},{offset:f[2]+f[1].length})}emptyRule(f){let m=new R;this.init(m,f[2]),m.selector="",m.raws.between="",this.current=m}end(f){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(f[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(f)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(f){if(this.spaces+=f[1],this.current.nodes){let m=this.current.nodes[this.current.nodes.length-1];m&&m.type==="rule"&&!m.raws.ownSemicolon&&(m.raws.ownSemicolon=this.spaces,this.spaces="")}}getPosition(f){let m=this.input.fromOffset(f);return{column:m.col,line:m.line,offset:f}}init(f,m){this.current.push(f),f.source={input:this.input,start:this.getPosition(m)},f.raws.before=this.spaces,this.spaces="",f.type!=="comment"&&(this.semicolon=!1)}other(f){let m=!1,x=null,y=!1,A=null,D=[],S=f[1].startsWith("--"),P=[],M=f;for(;M;){if(x=M[0],P.push(M),x==="("||x==="[")A||(A=M),D.push(x==="("?")":"]");else if(S&&y&&x==="{")A||(A=M),D.push("}");else if(D.length===0)if(x===";")if(y){this.decl(P,S);return}else break;else if(x==="{"){this.rule(P);return}else if(x==="}"){this.tokenizer.back(P.pop()),m=!0;break}else x===":"&&(y=!0);else x===D[D.length-1]&&(D.pop(),D.length===0&&(A=null));M=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(m=!0),D.length>0&&this.unclosedBracket(A),m&&y){if(!S)for(;P.length&&(M=P[P.length-1][0],!(M!=="space"&&M!=="comment"));)this.tokenizer.back(P.pop());this.decl(P,S)}else this.unknownWord(P)}parse(){let f;for(;!this.tokenizer.endOfFile();)switch(f=this.tokenizer.nextToken(),f[0]){case"space":this.spaces+=f[1];break;case";":this.freeSemicolon(f);break;case"}":this.end(f);break;case"comment":this.comment(f);break;case"at-word":this.atrule(f);break;case"{":this.emptyRule(f);break;default:this.other(f);break}this.endFile()}precheckMissedSemicolon(){}raw(f,m,x,y){let A,D,S=x.length,P="",M=!0,U,w;for(let F=0;FH+G[1],"");f.raws[m]={raw:F,value:P}}f[m]=P}rule(f){f.pop();let m=new R;this.init(m,f[0][2]),m.raws.between=this.spacesAndCommentsFromEnd(f),this.raw(m,"selector",f),this.current=m}spacesAndCommentsFromEnd(f){let m,x="";for(;f.length&&(m=f[f.length-1][0],!(m!=="space"&&m!=="comment"));)x=f.pop()[1]+x;return x}spacesAndCommentsFromStart(f){let m,x="";for(;f.length&&(m=f[0][0],!(m!=="space"&&m!=="comment"));)x+=f.shift()[1];return x}spacesFromEnd(f){let m,x="";for(;f.length&&(m=f[f.length-1][0],m==="space");)x=f.pop()[1]+x;return x}stringFrom(f,m){let x="";for(let y=m;y{"use strict";var r=DX(),n=Jfe(),i=e5t();function s(R,l){let c=new n(R,l),h=new i(c);try{h.parse()}catch(_){throw _}return h.root}t.exports=s,s.default=s,r.registerParse(s)}),O6n=Ea((e,t)=>{var r=ZCt(),n=Jfe();t.exports={isInlineComment(i){if(i[0]==="word"&&i[1].slice(0,2)==="//"){let s=i,R=[],l,c;for(;i;){if(/\r?\n/.test(i[1])){if(/['"].*\r?\n/.test(i[1])){R.push(i[1].substring(0,i[1].indexOf(` +`))),c=i[1].substring(i[1].indexOf(` +`));let _=this.input.css.valueOf().substring(this.tokenizer.position());c+=_,l=i[3]+_.length-c.length}else this.tokenizer.back(i);break}R.push(i[1]),l=i[2],i=this.tokenizer.nextToken({ignoreUnclosed:!0})}let h=["comment",R.join(""),s[2],l];return this.inlineComment(h),c&&(this.input=new n(c),this.tokenizer=r(this.input)),!0}else if(i[1]==="/"){let s=this.tokenizer.nextToken({ignoreUnclosed:!0});if(s[0]==="comment"&&/^\/\*/.test(s[1]))return s[0]="word",s[1]=s[1].slice(1),i[1]="//",this.tokenizer.back(s),t.exports.isInlineComment.bind(this)(i)}return!1}}}),v6n=Ea((e,t)=>{t.exports={interpolation(r){let n=[r,this.tokenizer.nextToken()],i=["word","}"];if(n[0][1].length>1||n[1][0]!=="{")return this.tokenizer.back(n[1]),!1;for(r=this.tokenizer.nextToken();r&&i.includes(r[0]);)n.push(r),r=this.tokenizer.nextToken();let s=n.map(h=>h[1]),[R]=n,l=n.pop(),c=["word",s.join(""),R[2],l[2]];return this.tokenizer.back(r),this.tokenizer.back(c),!0}}}),D6n=Ea((e,t)=>{var r=/^#[0-9a-fA-F]{6}$|^#[0-9a-fA-F]{3}$/,n=/\.[0-9]/,i=s=>{let[,R]=s,[l]=R;return(l==="."||l==="#")&&r.test(R)===!1&&n.test(R)===!1};t.exports={isMixinToken:i}}),S6n=Ea((e,t)=>{var r=ZCt(),n=/^url\((.+)\)/;t.exports=i=>{let{name:s,params:R=""}=i;if(s==="import"&&R.length){i.import=!0;let l=r({css:R});for(i.filename=R.replace(n,"$1");!l.endOfFile();){let[c,h]=l.nextToken();if(c==="word"&&h==="url")return;if(c==="brackets"){i.options=h,i.filename=R.replace(h,"").trim();break}}}}}),$6n=Ea((e,t)=>{var r=/:$/,n=/^:(\s+)?/;t.exports=i=>{let{name:s,params:R=""}=i;if(i.name.slice(-1)===":"){if(r.test(s)){let[l]=s.match(r);i.name=s.replace(l,""),i.raws.afterName=l+(i.raws.afterName||""),i.variable=!0,i.value=i.params}if(n.test(R)){let[l]=R.match(n);i.value=R.replace(l,""),i.raws.afterName=(i.raws.afterName||"")+l,i.variable=!0}}}}),Q6n=Ea((e,t)=>{var r=jfe(),n=e5t(),{isInlineComment:i}=O6n(),{interpolation:s}=v6n(),{isMixinToken:R}=D6n(),l=S6n(),c=$6n(),h=/(!\s*important)$/i;t.exports=class extends n{constructor(..._){super(..._),this.lastNode=null}atrule(_){s.bind(this)(_)||(super.atrule(_),l(this.lastNode),c(this.lastNode))}decl(..._){super.decl(..._),/extend\(.+\)/i.test(this.lastNode.value)&&(this.lastNode.extend=!0)}each(_){_[0][1]=` ${_[0][1]}`;let f=_.findIndex(A=>A[0]==="("),m=_.reverse().find(A=>A[0]===")"),x=_.reverse().indexOf(m),y=_.splice(f,x).map(A=>A[1]).join("");for(let A of _.reverse())this.tokenizer.back(A);this.atrule(this.tokenizer.nextToken()),this.lastNode.function=!0,this.lastNode.params=y}init(_,f,m){super.init(_,f,m),this.lastNode=_}inlineComment(_){let f=new r,m=_[1].slice(2);if(this.init(f,_[2]),f.source.end=this.getPosition(_[3]||_[2]),f.inline=!0,f.raws.begin="//",/^\s*$/.test(m))f.text="",f.raws.left=m,f.raws.right="";else{let x=m.match(/^(\s*)([^]*[^\s])(\s*)$/);[,f.raws.left,f.text,f.raws.right]=x}}mixin(_){let[f]=_,m=f[1].slice(0,1),x=_.findIndex(P=>P[0]==="brackets"),y=_.findIndex(P=>P[0]==="("),A="";if((x<0||x>3)&&y>0){let P=_.reduce((me,ve,Ae)=>ve[0]===")"?Ae:me),M=_.slice(y,P+y).map(me=>me[1]).join(""),[U]=_.slice(y),w=[U[2],U[3]],[F]=_.slice(P,P+1),H=[F[2],F[3]],G=["brackets",M].concat(w,H),ee=_.slice(0,y),fe=_.slice(P+1);_=ee,_.push(G),_=_.concat(fe)}let D=[];for(let P of _)if((P[1]==="!"||D.length)&&D.push(P),P[1]==="important")break;if(D.length){let[P]=D,M=_.indexOf(P),U=D[D.length-1],w=[P[2],P[3]],F=[U[4],U[5]],H=["word",D.map(G=>G[1]).join("")].concat(w,F);_.splice(M,D.length,H)}let S=_.findIndex(P=>h.test(P[1]));S>0&&([,A]=_[S],_.splice(S,1));for(let P of _.reverse())this.tokenizer.back(P);this.atrule(this.tokenizer.nextToken()),this.lastNode.mixin=!0,this.lastNode.raws.identifier=m,A&&(this.lastNode.important=!0,this.lastNode.raws.important=A)}other(_){i.bind(this)(_)||super.other(_)}rule(_){let f=_[_.length-1],m=_[_.length-2];if(m[0]==="at-word"&&f[0]==="{"&&(this.tokenizer.back(f),s.bind(this)(m))){let x=this.tokenizer.nextToken();_=_.slice(0,_.length-2).concat([x]);for(let y of _.reverse())this.tokenizer.back(y);return}super.rule(_),/:extend\(.+\)/i.test(this.lastNode.selector)&&(this.lastNode.extend=!0)}unknownWord(_){let[f]=_;if(_[0][1]==="each"&&_[1][0]==="("){this.each(_);return}if(R(f)){this.mixin(_);return}super.unknownWord(_)}}}),N6n=Ea((e,t)=>{var r=VCt();t.exports=class extends r{atrule(n,i){if(!n.mixin&&!n.variable&&!n.function){super.atrule(n,i);return}let s=`${n.function?"":n.raws.identifier||"@"}${n.name}`,R=n.params?this.rawValue(n,"params"):"",l=n.raws.important||"";if(n.variable&&(R=n.value),typeof n.raws.afterName<"u"?s+=n.raws.afterName:R&&(s+=" "),n.nodes)this.block(n,s+R+l);else{let c=(n.raws.between||"")+l+(i?";":"");this.builder(s+R+c,n)}}comment(n){if(n.inline){let i=this.raw(n,"left","commentLeft"),s=this.raw(n,"right","commentRight");this.builder(`//${i}${n.text}${s}`,n)}else super.comment(n)}}}),w6n=Ea((e,t)=>{var r=Jfe(),n=Q6n(),i=N6n();t.exports={parse(s,R){let l=new r(s,R),c=new n(l);return c.parse(),c.root.walk(h=>{let _=l.css.lastIndexOf(h.source.input.css);if(_===0)return;if(_+h.source.input.css.length!==l.css.length)throw new Error("Invalid state detected in postcss-less");let f=_+h.source.start.offset,m=l.fromOffset(_+h.source.start.offset);if(h.source.start={offset:f,line:m.line,column:m.col},h.source.end){let x=_+h.source.end.offset,y=l.fromOffset(_+h.source.end.offset);h.source.end={offset:x,line:y.line,column:y.col}}}),c.root},stringify(s,R){new i(R).stringify(s)},nodeToString(s){let R="";return t.exports.stringify(s,l=>{R+=l}),R}}}),t5t=Ea((e,t)=>{"use strict";var r=DX(),n,i,s=class extends r{constructor(R){super({type:"document",...R}),this.nodes||(this.nodes=[])}toResult(R={}){return new n(new i,this,R).stringify()}};s.registerLazyResult=R=>{n=R},s.registerProcessor=R=>{i=R},t.exports=s,s.default=s}),P6n=Ea((e,t)=>{"use strict";var r=JCt(),n=jfe(),i=u9e(),s=Jfe(),R=sur(),l=Xfe(),c=XCt();function h(_,f){if(Array.isArray(_))return _.map(y=>h(y));let{inputs:m,...x}=_;if(m){f=[];for(let y of m){let A={...y,__proto__:s.prototype};A.map&&(A.map={...A.map,__proto__:R.prototype}),f.push(A)}}if(x.nodes&&(x.nodes=_.nodes.map(y=>h(y,f))),x.source){let{inputId:y,...A}=x.source;x.source=A,y!=null&&(x.source.input=f[y])}if(x.type==="root")return new l(x);if(x.type==="decl")return new i(x);if(x.type==="rule")return new c(x);if(x.type==="comment")return new n(x);if(x.type==="atrule")return new r(x);throw new Error("Unknown node type: "+_.type)}t.exports=h,h.default=h}),Rur=Ea((e,t)=>{t.exports=class{generate(){}}}),uur=Ea((e,t)=>{"use strict";var r=class{constructor(n,i={}){if(this.type="warning",this.text=n,i.node&&i.node.source){let s=i.node.rangeBy(i);this.line=s.start.line,this.column=s.start.column,this.endLine=s.end.line,this.endColumn=s.end.column}for(let s in i)this[s]=i[s]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};t.exports=r,r.default=r}),r5t=Ea((e,t)=>{"use strict";var r=uur(),n=class{constructor(i,s,R){this.processor=i,this.messages=[],this.root=s,this.opts=R,this.css=void 0,this.map=void 0}toString(){return this.css}warn(i,s={}){s.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(s.plugin=this.lastPlugin.postcssPlugin);let R=new r(i,s);return this.messages.push(R),R}warnings(){return this.messages.filter(i=>i.type==="warning")}get content(){return this.css}};t.exports=n,n.default=n}),lur=Ea((e,t)=>{"use strict";var r={};t.exports=function(n){r[n]||(r[n]=!0,typeof console<"u"&&console.warn&&console.warn(n))}}),cur=Ea((e,t)=>{"use strict";var r=DX(),n=t5t(),i=Rur(),s=l9e(),R=r5t(),l=Xfe(),c=o9e(),{isClean:h,my:_}=jCt(),f=lur(),m={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},x={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},y={Once:!0,postcssPlugin:!0,prepare:!0},A=0;function D(F){return typeof F=="object"&&typeof F.then=="function"}function S(F){let H=!1,G=m[F.type];return F.type==="decl"?H=F.prop.toLowerCase():F.type==="atrule"&&(H=F.name.toLowerCase()),H&&F.append?[G,G+"-"+H,A,G+"Exit",G+"Exit-"+H]:H?[G,G+"-"+H,G+"Exit",G+"Exit-"+H]:F.append?[G,A,G+"Exit"]:[G,G+"Exit"]}function P(F){let H;return F.type==="document"?H=["Document",A,"DocumentExit"]:F.type==="root"?H=["Root",A,"RootExit"]:H=S(F),{eventIndex:0,events:H,iterator:0,node:F,visitorIndex:0,visitors:[]}}function M(F){return F[h]=!1,F.nodes&&F.nodes.forEach(H=>M(H)),F}var U={},w=class Tur{constructor(H,G,ee){this.stringified=!1,this.processed=!1;let fe;if(typeof G=="object"&&G!==null&&(G.type==="root"||G.type==="document"))fe=M(G);else if(G instanceof Tur||G instanceof R)fe=M(G.root),G.map&&(typeof ee.map>"u"&&(ee.map={}),ee.map.inline||(ee.map.inline=!1),ee.map.prev=G.map);else{let me=s;ee.syntax&&(me=ee.syntax.parse),ee.parser&&(me=ee.parser),me.parse&&(me=me.parse);try{fe=me(G,ee)}catch(ve){this.processed=!0,this.error=ve}fe&&!fe[_]&&r.rebuild(fe)}this.result=new R(H,fe,ee),this.helpers={...U,postcss:U,result:this.result},this.plugins=this.processor.plugins.map(me=>typeof me=="object"&&me.prepare?{...me,...me.prepare(this.result)}:me)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(H){return this.async().catch(H)}finally(H){return this.async().then(H,H)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(H,G){let ee=this.result.lastPlugin;try{G&&G.addToError(H),this.error=H,H.name==="CssSyntaxError"&&!H.plugin?(H.plugin=ee.postcssPlugin,H.setMessage()):ee.postcssVersion}catch(fe){console&&console.error&&console.error(fe)}return H}prepareVisitors(){this.listeners={};let H=(G,ee,fe)=>{this.listeners[ee]||(this.listeners[ee]=[]),this.listeners[ee].push([G,fe])};for(let G of this.plugins)if(typeof G=="object")for(let ee in G){if(!x[ee]&&/^[A-Z]/.test(ee))throw new Error(`Unknown event ${ee} in ${G.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!y[ee])if(typeof G[ee]=="object")for(let fe in G[ee])fe==="*"?H(G,ee,G[ee][fe]):H(G,ee+"-"+fe.toLowerCase(),G[ee][fe]);else typeof G[ee]=="function"&&H(G,ee,G[ee])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let H=0;H0;){let ee=this.visitTick(G);if(D(ee))try{await ee}catch(fe){let me=G[G.length-1].node;throw this.handleError(fe,me)}}}if(this.listeners.OnceExit)for(let[G,ee]of this.listeners.OnceExit){this.result.lastPlugin=G;try{if(H.type==="document"){let fe=H.nodes.map(me=>ee(me,this.helpers));await Promise.all(fe)}else await ee(H,this.helpers)}catch(fe){throw this.handleError(fe)}}}return this.processed=!0,this.stringify()}runOnRoot(H){this.result.lastPlugin=H;try{if(typeof H=="object"&&H.Once){if(this.result.root.type==="document"){let G=this.result.root.nodes.map(ee=>H.Once(ee,this.helpers));return D(G[0])?Promise.all(G):G}return H.Once(this.result.root,this.helpers)}else if(typeof H=="function")return H(this.result.root,this.result)}catch(G){throw this.handleError(G)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let H=this.result.opts,G=c;H.syntax&&(G=H.syntax.stringify),H.stringifier&&(G=H.stringifier),G.stringify&&(G=G.stringify);let ee=new i(G,this.result.root,this.result.opts).generate();return this.result.css=ee[0],this.result.map=ee[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let H of this.plugins){let G=this.runOnRoot(H);if(D(G))throw this.getAsyncError()}if(this.prepareVisitors(),this.hasListener){let H=this.result.root;for(;!H[h];)H[h]=!0,this.walkSync(H);if(this.listeners.OnceExit)if(H.type==="document")for(let G of H.nodes)this.visitSync(this.listeners.OnceExit,G);else this.visitSync(this.listeners.OnceExit,H)}return this.result}then(H,G){return this.async().then(H,G)}toString(){return this.css}visitSync(H,G){for(let[ee,fe]of H){this.result.lastPlugin=ee;let me;try{me=fe(G,this.helpers)}catch(ve){throw this.handleError(ve,G.proxyOf)}if(G.type!=="root"&&G.type!=="document"&&!G.parent)return!0;if(D(me))throw this.getAsyncError()}}visitTick(H){let G=H[H.length-1],{node:ee,visitors:fe}=G;if(ee.type!=="root"&&ee.type!=="document"&&!ee.parent){H.pop();return}if(fe.length>0&&G.visitorIndex{fe[h]||this.walkSync(fe)});else{let fe=this.listeners[ee];if(fe&&this.visitSync(fe,H.toProxy()))return}}warnings(){return this.sync().warnings()}get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}};w.registerPostcss=F=>{U=F},t.exports=w,w.default=w,l.registerLazyResult(w),n.registerLazyResult(w)}),B6n=Ea((e,t)=>{"use strict";var r=Rur(),n=l9e(),i=r5t(),s=o9e(),R=lur(),l=class{constructor(c,h,_){h=h.toString(),this.stringified=!1,this._processor=c,this._css=h,this._opts=_,this._map=void 0;let f,m=s;this.result=new i(this._processor,f,this._opts),this.result.css=h;let x=this;Object.defineProperty(this.result,"root",{get(){return x.root}});let y=new r(m,f,this._opts,h);if(y.isMap()){let[A,D]=y.generate();A&&(this.result.css=A),D&&(this.result.map=D)}else y.clearAnnotation(),this.result.css=y.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(c){return this.async().catch(c)}finally(c){return this.async().then(c,c)}sync(){if(this.error)throw this.error;return this.result}then(c,h){return this.async().then(c,h)}toString(){return this._css}warnings(){return[]}get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let c,h=n;try{c=h(this._css,this._opts)}catch(_){this.error=_}if(this.error)throw this.error;return this._root=c,c}get[Symbol.toStringTag](){return"NoWorkResult"}};t.exports=l,l.default=l}),I6n=Ea((e,t)=>{"use strict";var r=t5t(),n=cur(),i=B6n(),s=Xfe(),R=class{constructor(l=[]){this.version="8.4.49",this.plugins=this.normalize(l)}normalize(l){let c=[];for(let h of l)if(h.postcss===!0?h=h():h.postcss&&(h=h.postcss),typeof h=="object"&&Array.isArray(h.plugins))c=c.concat(h.plugins);else if(typeof h=="object"&&h.postcssPlugin)c.push(h);else if(typeof h=="function")c.push(h);else if(!(typeof h=="object"&&(h.parse||h.stringify)))throw new Error(h+" is not a PostCSS plugin");return c}process(l,c={}){return!this.plugins.length&&!c.parser&&!c.stringifier&&!c.syntax?new i(this,l,c):new n(this,l,c)}use(l){return this.plugins=this.plugins.concat(this.normalize([l])),this}};t.exports=R,R.default=R,s.registerProcessor(R),r.registerProcessor(R)}),n5t=Ea((e,t)=>{"use strict";var r=JCt(),n=jfe(),i=DX(),s=GCt(),R=u9e(),l=t5t(),c=P6n(),h=Jfe(),_=cur(),f=our(),m=R9e(),x=l9e(),y=I6n(),A=r5t(),D=Xfe(),S=XCt(),P=o9e(),M=uur();function U(...w){return w.length===1&&Array.isArray(w[0])&&(w=w[0]),new y(w)}U.plugin=function(w,F){let H=!1;function G(...fe){console&&console.warn&&!H&&(H=!0,console.warn(w+`: postcss.plugin was deprecated. Migration guide: +https://evilmartians.com/chronicles/postcss-8-plugin-migration`));let me=F(...fe);return me.postcssPlugin=w,me.postcssVersion=new y().version,me}let ee;return Object.defineProperty(G,"postcss",{get(){return ee||(ee=G()),ee}}),G.process=function(fe,me,ve){return U([G(ve)]).process(fe,me)},G},U.stringify=P,U.parse=x,U.fromJSON=c,U.list=f,U.comment=w=>new n(w),U.atRule=w=>new r(w),U.decl=w=>new R(w),U.rule=w=>new S(w),U.root=w=>new D(w),U.document=w=>new l(w),U.CssSyntaxError=s,U.Declaration=R,U.Container=i,U.Processor=y,U.Document=l,U.Comment=n,U.Warning=M,U.AtRule=r,U.Result=A,U.Input=h,U.Rule=S,U.Root=D,U.Node=m,_.registerPostcss(U),t.exports=U,U.default=U}),M6n=Ea((e,t)=>{var{Container:r}=n5t(),n=class extends r{constructor(i){super(i),this.type="decl",this.isNested=!0,this.nodes||(this.nodes=[])}};t.exports=n}),W6n=Ea((e,t)=>{"use strict";var r=/[\t\n\f\r "#'()/;[\\\]{}]/g,n=/[,\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,i=/.[\r\n"'(/\\]/,s=/[\da-f]/i,R=/[\n\f\r]/g;t.exports=function(l,c={}){let h=l.css.valueOf(),_=c.ignoreErrors,f,m,x,y,A,D,S,P,M,U=h.length,w=0,F=[],H=[],G;function ee(){return w}function fe(Ee){throw l.error("Unclosed "+Ee,w)}function me(){return H.length===0&&w>=U}function ve(){let Ee=1,Me=!1,gt=!1;for(;Ee>0;)m+=1,h.length<=m&&fe("interpolation"),f=h.charCodeAt(m),P=h.charCodeAt(m+1),Me?!gt&&f===Me?(Me=!1,gt=!1):f===92?gt=!gt:gt&&(gt=!1):f===39||f===34?Me=f:f===125?Ee-=1:f===35&&P===123&&(Ee+=1)}function Ae(Ee){if(H.length)return H.pop();if(w>=U)return;let Me=Ee?Ee.ignoreUnclosed:!1;switch(f=h.charCodeAt(w),f){case 10:case 32:case 9:case 13:case 12:{m=w;do m+=1,f=h.charCodeAt(m);while(f===32||f===10||f===9||f===13||f===12);M=["space",h.slice(w,m)],w=m-1;break}case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let gt=String.fromCharCode(f);M=[gt,gt,w];break}case 44:{M=["word",",",w,w+1];break}case 40:{if(S=F.length?F.pop()[1]:"",P=h.charCodeAt(w+1),S==="url"&&P!==39&&P!==34){for(G=1,D=!1,m=w+1;m<=h.length-1;){if(P=h.charCodeAt(m),P===92)D=!D;else if(P===40)G+=1;else if(P===41&&(G-=1,G===0))break;m+=1}y=h.slice(w,m+1),M=["brackets",y,w,m],w=m}else m=h.indexOf(")",w+1),y=h.slice(w,m+1),m===-1||i.test(y)?M=["(","(",w]:(M=["brackets",y,w,m],w=m);break}case 39:case 34:{for(x=f,m=w,D=!1;m{var{Comment:r}=n5t(),n=e5t(),i=M6n(),s=W6n(),R=class extends n{atrule(l){let c=l[1],h=l;for(;!this.tokenizer.endOfFile();){let _=this.tokenizer.nextToken();if(_[0]==="word"&&_[2]===h[3]+1)c+=_[1],h=_;else{this.tokenizer.back(_);break}}super.atrule(["at-word",c,l[2],h[3]])}comment(l){if(l[4]==="inline"){let c=new r;this.init(c,l[2]),c.raws.inline=!0;let h=this.input.fromOffset(l[3]);c.source.end={column:h.col,line:h.line,offset:l[3]+1};let _=l[1].slice(2);if(/^\s*$/.test(_))c.text="",c.raws.left=_,c.raws.right="";else{let f=_.match(/^(\s*)([^]*\S)(\s*)$/),m=f[2].replace(/(\*\/|\/\*)/g,"*//*");c.text=m,c.raws.left=f[1],c.raws.right=f[3],c.raws.text=f[2]}}else super.comment(l)}createTokenizer(){this.tokenizer=s(this.input)}raw(l,c,h,_){if(super.raw(l,c,h,_),l.raws[c]){let f=l.raws[c].raw;l.raws[c].raw=h.reduce((m,x)=>{if(x[0]==="comment"&&x[4]==="inline"){let y=x[1].slice(2).replace(/(\*\/|\/\*)/g,"*//*");return m+"/*"+y+"*/"}else return m+x[1]},""),f!==l.raws[c].raw&&(l.raws[c].scss=f)}}rule(l){let c=!1,h=0,_="";for(let f of l)if(c)f[0]!=="comment"&&f[0]!=="{"&&(_+=f[1]);else{if(f[0]==="space"&&f[1].includes(` +`))break;f[0]==="("?h+=1:f[0]===")"?h-=1:h===0&&f[0]===":"&&(c=!0)}if(!c||_.trim()===""||/^[#:A-Za-z-]/.test(_))super.rule(l);else{l.pop();let f=new i;this.init(f,l[0][2]);let m;for(let y=l.length-1;y>=0;y--)if(l[y][0]!=="space"){m=l[y];break}if(m[3]){let y=this.input.fromOffset(m[3]);f.source.end={column:y.col,line:y.line,offset:m[3]+1}}else{let y=this.input.fromOffset(m[2]);f.source.end={column:y.col,line:y.line,offset:m[2]+1}}for(;l[0][0]!=="word";)f.raws.before+=l.shift()[1];if(l[0][2]){let y=this.input.fromOffset(l[0][2]);f.source.start={column:y.col,line:y.line,offset:l[0][2]}}for(f.prop="";l.length;){let y=l[0][0];if(y===":"||y==="space"||y==="comment")break;f.prop+=l.shift()[1]}f.raws.between="";let x;for(;l.length;)if(x=l.shift(),x[0]===":"){f.raws.between+=x[1];break}else f.raws.between+=x[1];(f.prop[0]==="_"||f.prop[0]==="*")&&(f.raws.before+=f.prop[0],f.prop=f.prop.slice(1)),f.raws.between+=this.spacesAndCommentsFromStart(l),this.precheckMissedSemicolon(l);for(let y=l.length-1;y>0;y--){if(x=l[y],x[1]==="!important"){f.important=!0;let A=this.stringFrom(l,y);A=this.spacesFromEnd(l)+A,A!==" !important"&&(f.raws.important=A);break}else if(x[1]==="important"){let A=l.slice(0),D="";for(let S=y;S>0;S--){let P=A[S][0];if(D.trim().indexOf("!")===0&&P!=="space")break;D=A.pop()[1]+D}D.trim().indexOf("!")===0&&(f.important=!0,f.raws.important=D,l=A)}if(x[0]!=="space"&&x[0]!=="comment")break}this.raw(f,"value",l),f.value.includes(":")&&this.checkMissedSemicolon(l),this.current=f}}};t.exports=R}),F6n=Ea((e,t)=>{var{Input:r}=n5t(),n=U6n();t.exports=function(i,s){let R=new r(i,s),l=new n(R);return l.parse(),l.root}}),pur=Ea(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});function t(r){this.after=r.after,this.before=r.before,this.type=r.type,this.value=r.value,this.sourceIndex=r.sourceIndex}e.default=t}),_ur=Ea(e=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=pur(),r=n(t);function n(s){return s&&s.__esModule?s:{default:s}}function i(s){var R=this;this.constructor(s),this.nodes=s.nodes,this.after===void 0&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:""),this.before===void 0&&(this.before=this.nodes.length>0?this.nodes[0].before:""),this.sourceIndex===void 0&&(this.sourceIndex=this.before.length),this.nodes.forEach(function(l){l.parent=R})}i.prototype=Object.create(r.default.prototype),i.constructor=r.default,i.prototype.walk=function(s,R){for(var l=typeof s=="string"||s instanceof RegExp,c=l?R:s,h=typeof s=="string"?new RegExp(s):s,_=0;_{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.parseMediaFeature=R,e.parseMediaQuery=l,e.parseMediaList=c;var t=pur(),r=s(t),n=_ur(),i=s(n);function s(h){return h&&h.__esModule?h:{default:h}}function R(h){var _=arguments.length<=1||arguments[1]===void 0?0:arguments[1],f=[{mode:"normal",character:null}],m=[],x=0,y="",A=null,D=null,S=_,P=h;h[0]==="("&&h[h.length-1]===")"&&(P=h.substring(1,h.length-1),S++);for(var M=0;M0&&(f[P-1].after=y.before),y.type===void 0){if(P>0){if(f[P-1].type==="media-feature-expression"){y.type="keyword";continue}if(f[P-1].value==="not"||f[P-1].value==="only"){y.type="media-type";continue}if(f[P-1].value==="and"){y.type="media-feature-expression";continue}f[P-1].type==="media-type"&&(f[P+1]?y.type=f[P+1].type==="media-feature-expression"?"keyword":"media-feature-expression":y.type="media-feature-expression")}if(P===0){if(!f[P+1]){y.type="media-type";continue}if(f[P+1]&&(f[P+1].type==="media-feature-expression"||f[P+1].type==="keyword")){y.type="media-type";continue}if(f[P+2]){if(f[P+2].type==="media-feature-expression"){y.type="media-type",f[P+1].type="keyword";continue}if(f[P+2].type==="keyword"){y.type="keyword",f[P+1].type="media-type";continue}}if(f[P+3]&&f[P+3].type==="media-feature-expression"){y.type="keyword",f[P+1].type="media-type",f[P+2].type="keyword";continue}}}return f}function c(h){var _=[],f=0,m=0,x=/^(\s*)url\s*\(/.exec(h);if(x!==null){for(var y=x[0].length,A=1;A>0;){var D=h[y];D==="("&&A++,D===")"&&A--,y++}_.unshift(new r.default({type:"url",value:h.substring(0,y).trim(),sourceIndex:x[1].length,before:x[1],after:/^(\s*)/.exec(h.substring(y))[1]})),f=y}for(var S=f;S{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=s;var t=_ur(),r=i(t),n=L6n();function i(R){return R&&R.__esModule?R:{default:R}}function s(R){return new r.default({nodes:(0,n.parseMediaList)(R),type:"media-query-list",value:R.trim()})}}),hur=Ea((e,t)=>{t.exports=function(r,n){if(n=typeof n=="number"?n:1/0,!n)return Array.isArray(r)?r.map(function(s){return s}):r;return i(r,1);function i(s,R){return s.reduce(function(l,c){return Array.isArray(c)&&R{t.exports=function(r,n){for(var i=-1,s=[];(i=r.indexOf(n,i+1))!==-1;)s.push(i);return s}}),dur=Ea((e,t)=>{"use strict";function r(s,R){for(var l=1,c=s.length,h=s[0],_=s[0],f=1;f{"use strict";e.__esModule=!0;var r=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(R){return typeof R}:function(R){return R&&typeof Symbol=="function"&&R.constructor===Symbol&&R!==Symbol.prototype?"symbol":typeof R};function n(R,l){if(!(R instanceof l))throw new TypeError("Cannot call a class as a function")}var i=function R(l,c){if((typeof l>"u"?"undefined":r(l))!=="object")return l;var h=new l.constructor;for(var _ in l)if(l.hasOwnProperty(_)){var f=l[_],m=typeof f>"u"?"undefined":r(f);_==="parent"&&m==="object"?c&&(h[_]=c):f instanceof Array?h[_]=f.map(function(x){return R(x,h)}):h[_]=R(f,h)}return h},s=function(){function R(){var l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};n(this,R);for(var c in l)this[c]=l[c];var h=l.spaces;h=h===void 0?{}:h;var _=h.before,f=_===void 0?"":_,m=h.after,x=m===void 0?"":m;this.spaces={before:f,after:x}}return R.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},R.prototype.replaceWith=function(){if(this.parent){for(var l in arguments)this.parent.insertBefore(this,arguments[l]);this.remove()}return this},R.prototype.next=function(){return this.parent.at(this.parent.index(this)+1)},R.prototype.prev=function(){return this.parent.at(this.parent.index(this)-1)},R.prototype.clone=function(){var l=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{},c=i(this);for(var h in l)c[h]=l[h];return c},R.prototype.toString=function(){return[this.spaces.before,String(this.value),this.spaces.after].join("")},R}();e.default=s,t.exports=e.default}),GC=Ea(e=>{"use strict";e.__esModule=!0;var t=e.TAG="tag",r=e.STRING="string",n=e.SELECTOR="selector",i=e.ROOT="root",s=e.PSEUDO="pseudo",R=e.NESTING="nesting",l=e.ID="id",c=e.COMMENT="comment",h=e.COMBINATOR="combinator",_=e.CLASS="class",f=e.ATTRIBUTE="attribute",m=e.UNIVERSAL="universal"}),i5t=Ea((e,t)=>{"use strict";e.__esModule=!0;var r=function(){function x(y,A){for(var D=0;D=A&&(this.indexes[S]=D-1);return this},y.prototype.removeAll=function(){for(var S=this.nodes,A=Array.isArray(S),D=0,S=A?S:S[Symbol.iterator]();;){var P;if(A){if(D>=S.length)break;P=S[D++]}else{if(D=S.next(),D.done)break;P=D.value}var M=P;M.parent=void 0}return this.nodes=[],this},y.prototype.empty=function(){return this.removeAll()},y.prototype.insertAfter=function(A,D){var S=this.index(A);this.nodes.splice(S+1,0,D);var P=void 0;for(var M in this.indexes)P=this.indexes[M],S<=P&&(this.indexes[M]=P+this.nodes.length);return this},y.prototype.insertBefore=function(A,D){var S=this.index(A);this.nodes.splice(S,0,D);var P=void 0;for(var M in this.indexes)P=this.indexes[M],S<=P&&(this.indexes[M]=P+this.nodes.length);return this},y.prototype.each=function(A){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var D=this.lastEach;if(this.indexes[D]=0,!!this.length){for(var S=void 0,P=void 0;this.indexes[D]{"use strict";e.__esModule=!0;var r=i5t(),n=s(r),i=GC();function s(_){return _&&_.__esModule?_:{default:_}}function R(_,f){if(!(_ instanceof f))throw new TypeError("Cannot call a class as a function")}function l(_,f){if(!_)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:_}function c(_,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);_.prototype=Object.create(f&&f.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(_,f):_.__proto__=f)}var h=function(_){c(f,_);function f(m){R(this,f);var x=l(this,_.call(this,m));return x.type=i.ROOT,x}return f.prototype.toString=function(){var m=this.reduce(function(x,y){var A=String(y);return A?x+A+",":""},"").slice(0,-1);return this.trailingComma?m+",":m},f}(n.default);e.default=h,t.exports=e.default}),Y6n=Ea((e,t)=>{"use strict";e.__esModule=!0;var r=i5t(),n=s(r),i=GC();function s(_){return _&&_.__esModule?_:{default:_}}function R(_,f){if(!(_ instanceof f))throw new TypeError("Cannot call a class as a function")}function l(_,f){if(!_)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:_}function c(_,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);_.prototype=Object.create(f&&f.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(_,f):_.__proto__=f)}var h=function(_){c(f,_);function f(m){R(this,f);var x=l(this,_.call(this,m));return x.type=i.SELECTOR,x}return f}(n.default);e.default=h,t.exports=e.default}),Zfe=Ea((e,t)=>{"use strict";e.__esModule=!0;var r=function(){function _(f,m){for(var x=0;x{"use strict";e.__esModule=!0;var r=Zfe(),n=s(r),i=GC();function s(_){return _&&_.__esModule?_:{default:_}}function R(_,f){if(!(_ instanceof f))throw new TypeError("Cannot call a class as a function")}function l(_,f){if(!_)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:_}function c(_,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);_.prototype=Object.create(f&&f.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(_,f):_.__proto__=f)}var h=function(_){c(f,_);function f(m){R(this,f);var x=l(this,_.call(this,m));return x.type=i.CLASS,x}return f.prototype.toString=function(){return[this.spaces.before,this.ns,"."+this.value,this.spaces.after].join("")},f}(n.default);e.default=h,t.exports=e.default}),G6n=Ea((e,t)=>{"use strict";e.__esModule=!0;var r=ase(),n=s(r),i=GC();function s(_){return _&&_.__esModule?_:{default:_}}function R(_,f){if(!(_ instanceof f))throw new TypeError("Cannot call a class as a function")}function l(_,f){if(!_)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:_}function c(_,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);_.prototype=Object.create(f&&f.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(_,f):_.__proto__=f)}var h=function(_){c(f,_);function f(m){R(this,f);var x=l(this,_.call(this,m));return x.type=i.COMMENT,x}return f}(n.default);e.default=h,t.exports=e.default}),V6n=Ea((e,t)=>{"use strict";e.__esModule=!0;var r=Zfe(),n=s(r),i=GC();function s(_){return _&&_.__esModule?_:{default:_}}function R(_,f){if(!(_ instanceof f))throw new TypeError("Cannot call a class as a function")}function l(_,f){if(!_)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:_}function c(_,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);_.prototype=Object.create(f&&f.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(_,f):_.__proto__=f)}var h=function(_){c(f,_);function f(m){R(this,f);var x=l(this,_.call(this,m));return x.type=i.ID,x}return f.prototype.toString=function(){return[this.spaces.before,this.ns,"#"+this.value,this.spaces.after].join("")},f}(n.default);e.default=h,t.exports=e.default}),j6n=Ea((e,t)=>{"use strict";e.__esModule=!0;var r=Zfe(),n=s(r),i=GC();function s(_){return _&&_.__esModule?_:{default:_}}function R(_,f){if(!(_ instanceof f))throw new TypeError("Cannot call a class as a function")}function l(_,f){if(!_)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:_}function c(_,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);_.prototype=Object.create(f&&f.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(_,f):_.__proto__=f)}var h=function(_){c(f,_);function f(m){R(this,f);var x=l(this,_.call(this,m));return x.type=i.TAG,x}return f}(n.default);e.default=h,t.exports=e.default}),J6n=Ea((e,t)=>{"use strict";e.__esModule=!0;var r=ase(),n=s(r),i=GC();function s(_){return _&&_.__esModule?_:{default:_}}function R(_,f){if(!(_ instanceof f))throw new TypeError("Cannot call a class as a function")}function l(_,f){if(!_)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:_}function c(_,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);_.prototype=Object.create(f&&f.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(_,f):_.__proto__=f)}var h=function(_){c(f,_);function f(m){R(this,f);var x=l(this,_.call(this,m));return x.type=i.STRING,x}return f}(n.default);e.default=h,t.exports=e.default}),X6n=Ea((e,t)=>{"use strict";e.__esModule=!0;var r=i5t(),n=s(r),i=GC();function s(_){return _&&_.__esModule?_:{default:_}}function R(_,f){if(!(_ instanceof f))throw new TypeError("Cannot call a class as a function")}function l(_,f){if(!_)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:_}function c(_,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);_.prototype=Object.create(f&&f.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(_,f):_.__proto__=f)}var h=function(_){c(f,_);function f(m){R(this,f);var x=l(this,_.call(this,m));return x.type=i.PSEUDO,x}return f.prototype.toString=function(){var m=this.length?"("+this.map(String).join(",")+")":"";return[this.spaces.before,String(this.value),m,this.spaces.after].join("")},f}(n.default);e.default=h,t.exports=e.default}),Z6n=Ea((e,t)=>{"use strict";e.__esModule=!0;var r=Zfe(),n=s(r),i=GC();function s(_){return _&&_.__esModule?_:{default:_}}function R(_,f){if(!(_ instanceof f))throw new TypeError("Cannot call a class as a function")}function l(_,f){if(!_)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:_}function c(_,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);_.prototype=Object.create(f&&f.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(_,f):_.__proto__=f)}var h=function(_){c(f,_);function f(m){R(this,f);var x=l(this,_.call(this,m));return x.type=i.ATTRIBUTE,x.raws={},x}return f.prototype.toString=function(){var m=[this.spaces.before,"[",this.ns,this.attribute];return this.operator&&m.push(this.operator),this.value&&m.push(this.value),this.raws.insensitive?m.push(this.raws.insensitive):this.insensitive&&m.push(" i"),m.push("]"),m.concat(this.spaces.after).join("")},f}(n.default);e.default=h,t.exports=e.default}),eqn=Ea((e,t)=>{"use strict";e.__esModule=!0;var r=Zfe(),n=s(r),i=GC();function s(_){return _&&_.__esModule?_:{default:_}}function R(_,f){if(!(_ instanceof f))throw new TypeError("Cannot call a class as a function")}function l(_,f){if(!_)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:_}function c(_,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);_.prototype=Object.create(f&&f.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(_,f):_.__proto__=f)}var h=function(_){c(f,_);function f(m){R(this,f);var x=l(this,_.call(this,m));return x.type=i.UNIVERSAL,x.value="*",x}return f}(n.default);e.default=h,t.exports=e.default}),tqn=Ea((e,t)=>{"use strict";e.__esModule=!0;var r=ase(),n=s(r),i=GC();function s(_){return _&&_.__esModule?_:{default:_}}function R(_,f){if(!(_ instanceof f))throw new TypeError("Cannot call a class as a function")}function l(_,f){if(!_)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:_}function c(_,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);_.prototype=Object.create(f&&f.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(_,f):_.__proto__=f)}var h=function(_){c(f,_);function f(m){R(this,f);var x=l(this,_.call(this,m));return x.type=i.COMBINATOR,x}return f}(n.default);e.default=h,t.exports=e.default}),rqn=Ea((e,t)=>{"use strict";e.__esModule=!0;var r=ase(),n=s(r),i=GC();function s(_){return _&&_.__esModule?_:{default:_}}function R(_,f){if(!(_ instanceof f))throw new TypeError("Cannot call a class as a function")}function l(_,f){if(!_)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return f&&(typeof f=="object"||typeof f=="function")?f:_}function c(_,f){if(typeof f!="function"&&f!==null)throw new TypeError("Super expression must either be null or a function, not "+typeof f);_.prototype=Object.create(f&&f.prototype,{constructor:{value:_,enumerable:!1,writable:!0,configurable:!0}}),f&&(Object.setPrototypeOf?Object.setPrototypeOf(_,f):_.__proto__=f)}var h=function(_){c(f,_);function f(m){R(this,f);var x=l(this,_.call(this,m));return x.type=i.NESTING,x.value="&",x}return f}(n.default);e.default=h,t.exports=e.default}),nqn=Ea((e,t)=>{"use strict";e.__esModule=!0,e.default=r;function r(n){return n.sort(function(i,s){return i-s})}t.exports=e.default}),iqn=Ea((e,t)=>{"use strict";e.__esModule=!0,e.default=me;var r=39,n=34,i=92,s=47,R=10,l=32,c=12,h=9,_=13,f=43,m=62,x=126,y=124,A=44,D=40,S=41,P=91,M=93,U=59,w=42,F=58,H=38,G=64,ee=/[ \n\t\r\{\(\)'"\\;/]/g,fe=/[ \n\t\r\(\)\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g;function me(ve){for(var Ae=[],Ue=ve.css.valueOf(),Ee=void 0,Me=void 0,gt=void 0,xt=void 0,Nt=void 0,lt=void 0,at=void 0,_t=void 0,Ve=void 0,Dt=void 0,Ut=void 0,pt=Ue.length,ht=-1,He=1,jt=0,zr=function(Bn,an){if(ve.safe)Ue+=an,Me=Ue.length-1;else throw ve.error("Unclosed "+Bn,He,jt-ht,jt)};jt0?(_t=He+Nt,Ve=Me-xt[Nt].length):(_t=He,Ve=ht),Ae.push(["comment",lt,He,jt-ht,_t,Me-Ve,jt]),ht=Ve,He=_t,jt=Me):(fe.lastIndex=jt+1,fe.test(Ue),fe.lastIndex===0?Me=Ue.length-1:Me=fe.lastIndex-2,Ae.push(["word",Ue.slice(jt,Me+1),He,jt-ht,He,Me-ht,jt]),jt=Me);break}jt++}return Ae}t.exports=e.default}),aqn=Ea((e,t)=>{"use strict";e.__esModule=!0;var r=function(){function ht(He,jt){for(var zr=0;zr1?(an[0]===""&&(an[0]=!0),ri.attribute=this.parseValue(an[2]),ri.namespace=this.parseNamespace(an[0])):ri.attribute=this.parseValue(Bn[0]),jt=new fe.default(ri),Bn[2]){var Zr=Bn[2].split(/(\s+i\s*?)$/),bn=Zr[0].trim();jt.value=this.lossy?bn:Zr[0],Zr[1]&&(jt.insensitive=!0,this.lossy||(jt.raws.insensitive=Zr[1])),jt.quoted=bn[0]==="'"||bn[0]==='"',jt.raws.unquoted=jt.quoted?bn.slice(1,-1):bn}this.newNode(jt),this.position++},ht.prototype.combinator=function(){if(this.currToken[1]==="|")return this.namespace();for(var He=new Ue.default({value:"",source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]});this.position1&&He.nextToken&&He.nextToken[0]==="("&&He.error("Misplaced parenthesis.")})}else this.error('Unexpected "'+this.currToken[0]+'" found.')},ht.prototype.space=function(){var He=this.currToken;this.position===0||this.prevToken[0]===","||this.prevToken[0]==="("?(this.spaces=this.parseSpace(He[1]),this.position++):this.position===this.tokens.length-1||this.nextToken[0]===","||this.nextToken[0]===")"?(this.current.last.spaces.after=this.parseSpace(He[1]),this.position++):this.combinator()},ht.prototype.string=function(){var He=this.currToken;this.newNode(new F.default({value:this.currToken[1],source:{start:{line:He[2],column:He[3]},end:{line:He[4],column:He[5]}},sourceIndex:He[6]})),this.position++},ht.prototype.universal=function(He){var jt=this.nextToken;if(jt&&jt[1]==="|")return this.position++,this.namespace();this.newNode(new ve.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),He),this.position++},ht.prototype.splitWord=function(He,jt){for(var zr=this,Bn=this.nextToken,an=this.currToken[1];Bn&&Bn[0]==="word";){this.position++;var ri=this.currToken[1];if(an+=ri,ri.lastIndexOf("\\")===ri.length-1){var Zr=this.nextToken;Zr&&Zr[0]==="space"&&(an+=this.parseSpace(Zr[1]," "),this.position++)}Bn=this.nextToken}var bn=(0,R.default)(an,"."),Zn=(0,R.default)(an,"#"),mi=(0,R.default)(an,"#{");mi.length&&(Zn=Zn.filter(function($i){return!~mi.indexOf($i)}));var Sn=(0,xt.default)((0,c.default)((0,i.default)([[0],bn,Zn])));Sn.forEach(function($i,cs){var Ti=Sn[cs+1]||an.length,Wi=an.slice($i,Ti);if(cs===0&&jt)return jt.call(zr,Wi,Sn.length);var Fn=void 0;~bn.indexOf($i)?Fn=new y.default({value:Wi.slice(1),source:{start:{line:zr.currToken[2],column:zr.currToken[3]+$i},end:{line:zr.currToken[4],column:zr.currToken[3]+(Ti-1)}},sourceIndex:zr.currToken[6]+Sn[cs]}):~Zn.indexOf($i)?Fn=new P.default({value:Wi.slice(1),source:{start:{line:zr.currToken[2],column:zr.currToken[3]+$i},end:{line:zr.currToken[4],column:zr.currToken[3]+(Ti-1)}},sourceIndex:zr.currToken[6]+Sn[cs]}):Fn=new U.default({value:Wi,source:{start:{line:zr.currToken[2],column:zr.currToken[3]+$i},end:{line:zr.currToken[4],column:zr.currToken[3]+(Ti-1)}},sourceIndex:zr.currToken[6]+Sn[cs]}),zr.newNode(Fn,He)}),this.position++},ht.prototype.word=function(He){var jt=this.nextToken;return jt&&jt[1]==="|"?(this.position++,this.namespace()):this.splitWord(He)},ht.prototype.loop=function(){for(;this.position{"use strict";e.__esModule=!0;var r=function(){function c(h,_){for(var f=0;f<_.length;f++){var m=_[f];m.enumerable=m.enumerable||!1,m.configurable=!0,"value"in m&&(m.writable=!0),Object.defineProperty(h,m.key,m)}}return function(h,_,f){return _&&c(h.prototype,_),f&&c(h,f),h}}(),n=aqn(),i=s(n);function s(c){return c&&c.__esModule?c:{default:c}}function R(c,h){if(!(c instanceof h))throw new TypeError("Cannot call a class as a function")}var l=function(){function c(h){return R(this,c),this.func=h||function(){},this}return c.prototype.process=function(h){var _=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},f=new i.default({css:h,error:function(m){throw new Error(m)},options:_});return this.res=f,this.func(f),this},r(c,[{key:"result",get:function(){return String(this.res)}}]),c}();e.default=l,t.exports=e.default}),zD=Ea((e,t)=>{"use strict";var r=function(n,i){let s=new n.constructor;for(let R in n){if(!n.hasOwnProperty(R))continue;let l=n[R],c=typeof l;R==="parent"&&c==="object"?i&&(s[R]=i):R==="source"?s[R]=l:l instanceof Array?s[R]=l.map(h=>r(h,s)):R!=="before"&&R!=="after"&&R!=="between"&&R!=="semicolon"&&(c==="object"&&l!==null&&(l=r(l)),s[R]=l)}return s};t.exports=class{constructor(n){n=n||{},this.raws={before:"",after:""};for(let i in n)this[i]=n[i]}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(){return[this.raws.before,String(this.value),this.raws.after].join("")}clone(n){n=n||{};let i=r(this);for(let s in n)i[s]=n[s];return i}cloneBefore(n){n=n||{};let i=this.clone(n);return this.parent.insertBefore(this,i),i}cloneAfter(n){n=n||{};let i=this.clone(n);return this.parent.insertAfter(this,i),i}replaceWith(){let n=Array.prototype.slice.call(arguments);if(this.parent){for(let i of n)this.parent.insertBefore(this,i);this.remove()}return this}moveTo(n){return this.cleanRaws(this.root()===n.root()),this.remove(),n.append(this),this}moveBefore(n){return this.cleanRaws(this.root()===n.root()),this.remove(),n.parent.insertBefore(n,this),this}moveAfter(n){return this.cleanRaws(this.root()===n.root()),this.remove(),n.parent.insertAfter(n,this),this}next(){let n=this.parent.index(this);return this.parent.nodes[n+1]}prev(){let n=this.parent.index(this);return this.parent.nodes[n-1]}toJSON(){let n={};for(let i in this){if(!this.hasOwnProperty(i)||i==="parent")continue;let s=this[i];s instanceof Array?n[i]=s.map(R=>typeof R=="object"&&R.toJSON?R.toJSON():R):typeof s=="object"&&s.toJSON?n[i]=s.toJSON():n[i]=s}return n}root(){let n=this;for(;n.parent;)n=n.parent;return n}cleanRaws(n){delete this.raws.before,delete this.raws.after,n||delete this.raws.between}positionInside(n){let i=this.toString(),s=this.source.start.column,R=this.source.start.line;for(let l=0;l{"use strict";var r=zD(),n=class extends r{constructor(i){super(i),this.nodes||(this.nodes=[])}push(i){return i.parent=this,this.nodes.push(i),this}each(i){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let s=this.lastEach,R,l;if(this.indexes[s]=0,!!this.nodes){for(;this.indexes[s]{let l=i(s,R);return l!==!1&&s.walk&&(l=s.walk(i)),l})}walkType(i,s){if(!i||!s)throw new Error("Parameters {type} and {callback} are required.");let R=typeof i=="function";return this.walk((l,c)=>{if(R&&l instanceof i||!R&&l.type===i)return s.call(this,l,c)})}append(i){return i.parent=this,this.nodes.push(i),this}prepend(i){return i.parent=this,this.nodes.unshift(i),this}cleanRaws(i){if(super.cleanRaws(i),this.nodes)for(let s of this.nodes)s.cleanRaws(i)}insertAfter(i,s){let R=this.index(i),l;this.nodes.splice(R+1,0,s);for(let c in this.indexes)l=this.indexes[c],R<=l&&(this.indexes[c]=l+this.nodes.length);return this}insertBefore(i,s){let R=this.index(i),l;this.nodes.splice(R,0,s);for(let c in this.indexes)l=this.indexes[c],R<=l&&(this.indexes[c]=l+this.nodes.length);return this}removeChild(i){i=this.index(i),this.nodes[i].parent=void 0,this.nodes.splice(i,1);let s;for(let R in this.indexes)s=this.indexes[R],s>=i&&(this.indexes[R]=s-1);return this}removeAll(){for(let i of this.nodes)i.parent=void 0;return this.nodes=[],this}every(i){return this.nodes.every(i)}some(i){return this.nodes.some(i)}index(i){return typeof i=="number"?i:this.nodes.indexOf(i)}get first(){if(this.nodes)return this.nodes[0]}get last(){if(this.nodes)return this.nodes[this.nodes.length-1]}toString(){let i=this.nodes.map(String).join("");return this.value&&(i=this.value+i),this.raws.before&&(i=this.raws.before+i),this.raws.after&&(i+=this.raws.after),i}};n.registerWalker=i=>{let s="walk"+i.name;s.lastIndexOf("s")!==s.length-1&&(s+="s"),!n.prototype[s]&&(n.prototype[s]=function(R){return this.walkType(i,R)})},t.exports=n}),oqn=Ea((e,t)=>{"use strict";var r=EA();t.exports=class extends r{constructor(n){super(n),this.type="root"}}}),Rqn=Ea((e,t)=>{"use strict";var r=EA();t.exports=class extends r{constructor(n){super(n),this.type="value",this.unbalanced=0}}}),uqn=Ea((e,t)=>{"use strict";var r=EA(),n=class extends r{constructor(i){super(i),this.type="atword"}toString(){let i=this.quoted?this.raws.quote:"";return[this.raws.before,"@",String.prototype.toString.call(this.value),this.raws.after].join("")}};r.registerWalker(n),t.exports=n}),lqn=Ea((e,t)=>{"use strict";var r=EA(),n=zD(),i=class extends n{constructor(s){super(s),this.type="colon"}};r.registerWalker(i),t.exports=i}),cqn=Ea((e,t)=>{"use strict";var r=EA(),n=zD(),i=class extends n{constructor(s){super(s),this.type="comma"}};r.registerWalker(i),t.exports=i}),Tqn=Ea((e,t)=>{"use strict";var r=EA(),n=zD(),i=class extends n{constructor(s){super(s),this.type="comment",this.inline=Object(s).inline||!1}toString(){return[this.raws.before,this.inline?"//":"/*",String(this.value),this.inline?"":"*/",this.raws.after].join("")}};r.registerWalker(i),t.exports=i}),pqn=Ea((e,t)=>{"use strict";var r=EA(),n=class extends r{constructor(i){super(i),this.type="func",this.unbalanced=-1}};r.registerWalker(n),t.exports=n}),_qn=Ea((e,t)=>{"use strict";var r=EA(),n=zD(),i=class extends n{constructor(s){super(s),this.type="number",this.unit=Object(s).unit||""}toString(){return[this.raws.before,String(this.value),this.unit,this.raws.after].join("")}};r.registerWalker(i),t.exports=i}),hqn=Ea((e,t)=>{"use strict";var r=EA(),n=zD(),i=class extends n{constructor(s){super(s),this.type="operator"}};r.registerWalker(i),t.exports=i}),fqn=Ea((e,t)=>{"use strict";var r=EA(),n=zD(),i=class extends n{constructor(s){super(s),this.type="paren",this.parenType=""}};r.registerWalker(i),t.exports=i}),dqn=Ea((e,t)=>{"use strict";var r=EA(),n=zD(),i=class extends n{constructor(s){super(s),this.type="string"}toString(){let s=this.quoted?this.raws.quote:"";return[this.raws.before,s,this.value+"",s,this.raws.after].join("")}};r.registerWalker(i),t.exports=i}),xqn=Ea((e,t)=>{"use strict";var r=EA(),n=zD(),i=class extends n{constructor(s){super(s),this.type="word"}};r.registerWalker(i),t.exports=i}),mqn=Ea((e,t)=>{"use strict";var r=EA(),n=zD(),i=class extends n{constructor(s){super(s),this.type="unicode-range"}};r.registerWalker(i),t.exports=i}),kqn=Ea((e,t)=>{"use strict";var r=class extends Error{constructor(n){super(n),this.name=this.constructor.name,this.message=n||"An error ocurred while tokzenizing.",typeof Error.captureStackTrace=="function"?Error.captureStackTrace(this,this.constructor):this.stack=new Error(n).stack}};t.exports=r}),yqn=Ea((e,t)=>{"use strict";var r=/[ \n\t\r\{\(\)'"\\;,/]/g,n=/[ \n\t\r\(\)\{\}\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g,i=/[ \n\t\r\(\)\{\}\*:;@!&'"\-\+\|~>,\[\]\\]|\//g,s=/^[a-z0-9]/i,R=/^[a-f0-9?\-]/i,l=kqn();t.exports=function(c,h){h=h||{};let _=[],f=c.valueOf(),m=f.length,x=-1,y=1,A=0,D=0,S=null,P,M,U,w,F,H,G,ee,fe,me,ve,Ae;function Ue(Me){let gt=`Unclosed ${Me} at line: ${y}, column: ${A-x}, token: ${A}`;throw new l(gt)}function Ee(){let Me=`Syntax error at line: ${y}, column: ${A-x}, token: ${A}`;throw new l(Me)}for(;A0&&_[_.length-1][0]==="word"&&_[_.length-1][1]==="url",_.push(["(","(",y,A-x,y,M-x,A]);break;case 41:D--,S=S&&D>0,_.push([")",")",y,A-x,y,M-x,A]);break;case 39:case 34:U=P===39?"'":'"',M=A;do for(me=!1,M=f.indexOf(U,M+1),M===-1&&Ue("quote",U),ve=M;f.charCodeAt(ve-1)===92;)ve-=1,me=!me;while(me);_.push(["string",f.slice(A,M+1),y,A-x,y,M-x,A]),A=M;break;case 64:r.lastIndex=A+1,r.test(f),r.lastIndex===0?M=f.length-1:M=r.lastIndex-2,_.push(["atword",f.slice(A,M+1),y,A-x,y,M-x,A]),A=M;break;case 92:M=A,P=f.charCodeAt(M+1),G&&P!==47&&P!==32&&P!==10&&P!==9&&P!==13&&P!==12&&(M+=1),_.push(["word",f.slice(A,M+1),y,A-x,y,M-x,A]),A=M;break;case 43:case 45:case 42:M=A+1,Ae=f.slice(A+1,M+1);let Me=f.slice(A-1,A);if(P===45&&Ae.charCodeAt(0)===45){M++,_.push(["word",f.slice(A,M),y,A-x,y,M-x,A]),A=M-1;break}_.push(["operator",f.slice(A,M),y,A-x,y,M-x,A]),A=M-1;break;default:if(P===47&&(f.charCodeAt(A+1)===42||h.loose&&!S&&f.charCodeAt(A+1)===47)){if(f.charCodeAt(A+1)===42)M=f.indexOf("*/",A+2)+1,M===0&&Ue("comment","*/");else{let gt=f.indexOf(` +`,A+2);M=gt!==-1?gt-1:m}H=f.slice(A,M+1),w=H.split(` +`),F=w.length-1,F>0?(ee=y+F,fe=M-w[F].length):(ee=y,fe=x),_.push(["comment",H,y,A-x,ee,M-fe,A]),x=fe,y=ee,A=M}else if(P===35&&!s.test(f.slice(A+1,A+2)))M=A+1,_.push(["#",f.slice(A,M),y,A-x,y,M-x,A]),A=M-1;else if((P===117||P===85)&&f.charCodeAt(A+1)===43){M=A+2;do M+=1,P=f.charCodeAt(M);while(M=48&&P<=57&&(gt=i),gt.lastIndex=A+1,gt.test(f),gt.lastIndex===0?M=f.length-1:M=gt.lastIndex-2,gt===i||P===46){let xt=f.charCodeAt(M),Nt=f.charCodeAt(M+1),lt=f.charCodeAt(M+2);(xt===101||xt===69)&&(Nt===45||Nt===43)&<>=48&<<=57&&(i.lastIndex=M+2,i.test(f),i.lastIndex===0?M=f.length-1:M=i.lastIndex-2)}_.push(["word",f.slice(A,M+1),y,A-x,y,M-x,A]),A=M}break}A++}return _}}),qqn=Ea((e,t)=>{"use strict";var r=class extends Error{constructor(n){super(n),this.name=this.constructor.name,this.message=n||"An error ocurred while parsing.",typeof Error.captureStackTrace=="function"?Error.captureStackTrace(this,this.constructor):this.stack=new Error(n).stack}};t.exports=r}),Cqn=Ea((e,t)=>{"use strict";var r=oqn(),n=Rqn(),i=uqn(),s=lqn(),R=cqn(),l=Tqn(),c=pqn(),h=_qn(),_=hqn(),f=fqn(),m=dqn(),x=xqn(),y=mqn(),A=yqn(),D=hur(),S=fur(),P=dur(),M=qqn();function U(w){return w.sort((F,H)=>F-H)}t.exports=class{constructor(w,F){let H={loose:!1};this.cache=[],this.input=w,this.options=Object.assign({},H,F),this.position=0,this.unbalanced=0,this.root=new r;let G=new n;this.root.append(G),this.current=G,this.tokens=A(w,this.options)}parse(){return this.loop()}colon(){let w=this.currToken;this.newNode(new s({value:w[1],source:{start:{line:w[2],column:w[3]},end:{line:w[4],column:w[5]}},sourceIndex:w[6]})),this.position++}comma(){let w=this.currToken;this.newNode(new R({value:w[1],source:{start:{line:w[2],column:w[3]},end:{line:w[4],column:w[5]}},sourceIndex:w[6]})),this.position++}comment(){let w=!1,F=this.currToken[1].replace(/\/\*|\*\//g,""),H;this.options.loose&&F.startsWith("//")&&(F=F.substring(2),w=!0),H=new l({value:F,inline:w,source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]}),this.newNode(H),this.position++}error(w,F){throw new M(w+` at line: ${F[2]}, column ${F[3]}`)}loop(){for(;this.position0&&(this.current.type==="func"&&this.current.value==="calc"?this.prevToken[0]!=="space"&&this.prevToken[0]!=="("?this.error("Syntax Error",this.currToken):this.nextToken[0]!=="space"&&this.nextToken[0]!=="word"?this.error("Syntax Error",this.currToken):this.nextToken[0]==="word"&&this.current.last.type!=="operator"&&this.current.last.value!=="("&&this.error("Syntax Error",this.currToken):(this.nextToken[0]==="space"||this.nextToken[0]==="operator"||this.prevToken[0]==="operator")&&this.error("Syntax Error",this.currToken)),this.options.loose){if((!this.current.nodes.length||this.current.last&&this.current.last.type==="operator")&&this.nextToken[0]==="word")return this.word()}else if(this.nextToken[0]==="word")return this.word()}return F=new _({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),this.position++,this.newNode(F)}parseTokens(){switch(this.currToken[0]){case"space":this.space();break;case"colon":this.colon();break;case"comma":this.comma();break;case"comment":this.comment();break;case"(":this.parenOpen();break;case")":this.parenClose();break;case"atword":case"word":this.word();break;case"operator":this.operator();break;case"string":this.string();break;case"unicoderange":this.unicodeRange();break;default:this.word();break}}parenOpen(){let w=1,F=this.position+1,H=this.currToken,G;for(;F=this.tokens.length-1&&!this.current.unbalanced)&&(this.current.unbalanced--,this.current.unbalanced<0&&this.error("Expected opening parenthesis",w),!this.current.unbalanced&&this.cache.length&&(this.current=this.cache.pop()))}space(){let w=this.currToken;this.position===this.tokens.length-1||this.nextToken[0]===","||this.nextToken[0]===")"?(this.current.last.raws.after+=w[1],this.position++):(this.spaces=w[1],this.position++)}unicodeRange(){let w=this.currToken;this.newNode(new y({value:w[1],source:{start:{line:w[2],column:w[3]},end:{line:w[4],column:w[5]}},sourceIndex:w[6]})),this.position++}splitWord(){let w=this.nextToken,F=this.currToken[1],H=/^[\+\-]?((\d+(\.\d*)?)|(\.\d+))([eE][\+\-]?\d+)?/,G=/^(?!\#([a-z0-9]+))[\#\{\}]/gi,ee,fe;if(!G.test(F))for(;w&&w[0]==="word";){this.position++;let me=this.currToken[1];F+=me,w=this.nextToken}ee=S(F,"@"),fe=U(P(D([[0],ee]))),fe.forEach((me,ve)=>{let Ae=fe[ve+1]||F.length,Ue=F.slice(me,Ae),Ee;if(~ee.indexOf(me))Ee=new i({value:Ue.slice(1),source:{start:{line:this.currToken[2],column:this.currToken[3]+me},end:{line:this.currToken[4],column:this.currToken[3]+(Ae-1)}},sourceIndex:this.currToken[6]+fe[ve]});else if(H.test(this.currToken[1])){let Me=Ue.replace(H,"");Ee=new h({value:Ue.replace(Me,""),source:{start:{line:this.currToken[2],column:this.currToken[3]+me},end:{line:this.currToken[4],column:this.currToken[3]+(Ae-1)}},sourceIndex:this.currToken[6]+fe[ve],unit:Me})}else Ee=new(w&&w[0]==="("?c:x)({value:Ue,source:{start:{line:this.currToken[2],column:this.currToken[3]+me},end:{line:this.currToken[4],column:this.currToken[3]+(Ae-1)}},sourceIndex:this.currToken[6]+fe[ve]}),Ee.type==="word"?(Ee.isHex=/^#(.+)/.test(Ue),Ee.isColor=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(Ue)):this.cache.push(this.current);this.newNode(Ee)}),this.position++}string(){let w=this.currToken,F=this.currToken[1],H=/^(\"|\')/,G=H.test(F),ee="",fe;G&&(ee=F.match(H)[0],F=F.slice(1,F.length-1)),fe=new m({value:F,source:{start:{line:w[2],column:w[3]},end:{line:w[4],column:w[5]}},sourceIndex:w[6],quoted:G}),fe.raws.quote=ee,this.newNode(fe),this.position++}word(){return this.splitWord()}newNode(w){return this.spaces&&(w.raws.before+=this.spaces,this.spaces=""),this.current.append(w)}get currToken(){return this.tokens[this.position]}get nextToken(){return this.tokens[this.position+1]}get prevToken(){return this.tokens[this.position-1]}}}),xur={};rur(xur,{languages:()=>jur,options:()=>Jur,parsers:()=>T5t,printers:()=>alr});Aqn=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},Kd=Aqn,mur="string",kur="array",yur="cursor",c9e="indent",a5t="align",qur="trim",T9e="group",p9e="fill",_9e="if-break",Cur="indent-if-break",s5t="line-suffix",Aur="line-suffix-boundary",sse="line",gur="label",o5t="break-parent",bur=new Set([yur,c9e,a5t,qur,T9e,p9e,_9e,Cur,s5t,Aur,sse,gur,o5t]);Kfe=gqn,bqn=e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e);Oqn=class extends Error{name="InvalidDocError";constructor(e){super(Eqn(e)),this.doc=e}},vqn=Oqn,Eur=()=>{},vX=Eur,h9e=Eur;R5t={type:o5t},$qn={type:sse,hard:!0},w4={type:sse},hO={type:sse,soft:!0},G_=[$qn,R5t];Qqn=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},nse=Qqn;f9e=Bqn,Dur=new Proxy(()=>{},{get:()=>Dur}),Iqn=Dur,J5e="'",GRr='"';Wqn=Mqn;Fqn=Uqn;Sur=Lqn,zqn=class extends Error{name="UnexpectedNodeError";constructor(e,t,r="type"){super(`Unexpected ${t} node ${r}: ${JSON.stringify(e[r])}.`),this.node=e}},Hqn=zqn;s9e=Yqn,Kqn=new Set(["raw","raws","sourceIndex","source","before","after","trailingComma","spaces"]);$ur.ignoredProperties=Kqn;Vqn=$ur;Jqn=jqn;Qur.getVisitorKeys=e=>e.type==="css-root"?["frontMatter"]:[];Xqn=Qur,Ffe=null;Zqn=10;for(let e=0;e<=Zqn;e++)Gfe();rCn=tCn,nCn={"front-matter":[],"css-root":["frontMatter","nodes"],"css-comment":[],"css-rule":["selector","nodes"],"css-decl":["value","selector","nodes"],"css-atrule":["selector","params","value","nodes"],"media-query-list":["nodes"],"media-query":["nodes"],"media-type":[],"media-feature-expression":["nodes"],"media-feature":[],"media-colon":[],"media-value":[],"media-keyword":[],"media-url":[],"media-unknown":[],"selector-root":["nodes"],"selector-selector":["nodes"],"selector-comment":[],"selector-string":[],"selector-tag":[],"selector-id":[],"selector-class":[],"selector-attribute":[],"selector-combinator":["nodes"],"selector-universal":[],"selector-pseudo":["nodes"],"selector-nesting":[],"selector-unknown":[],"value-value":["group"],"value-root":["group"],"value-comment":[],"value-comma_group":["groups"],"value-paren_group":["open","groups","close"],"value-func":["group"],"value-paren":[],"value-number":[],"value-operator":[],"value-word":[],"value-colon":[],"value-comma":[],"value-string":[],"value-atword":[],"value-unicode-range":[],"value-unknown":[]},iCn=nCn,aCn=rCn(iCn),sCn=aCn;Nur=oCn;Xhi=d9e(/\s/u),wur=d9e(" "),RCn=d9e(",; "),Pur=d9e(/[^\n\r]/u);cCn=/\*\/$/,TCn=/^\/\*\*?/,Wur=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,pCn=/(^|\s+)\/\/([^\n\r]*)/g,VRr=/^(\r?\n)+/,_Cn=/(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g,jRr=/(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g,hCn=/(\r?\n|^) *\* ?/g,Uur=[];yCn=kCn;Lfe=3;l5t=gCn;OCn=new Set(["red","green","blue","alpha","a","rgb","hue","h","saturation","s","lightness","l","whiteness","w","blackness","b","tint","shade","blend","blenda","contrast","hsl","hsla","hwb","hwba"]);DCn=new Set(["initial","inherit","unset","revert"]);ZCn=XCn;t5n=e5n,eur=new Map([["em","em"],["rem","rem"],["ex","ex"],["rex","rex"],["cap","cap"],["rcap","rcap"],["ch","ch"],["rch","rch"],["ic","ic"],["ric","ric"],["lh","lh"],["rlh","rlh"],["vw","vw"],["svw","svw"],["lvw","lvw"],["dvw","dvw"],["vh","vh"],["svh","svh"],["lvh","lvh"],["dvh","dvh"],["vi","vi"],["svi","svi"],["lvi","lvi"],["dvi","dvi"],["vb","vb"],["svb","svb"],["lvb","lvb"],["dvb","dvb"],["vmin","vmin"],["svmin","svmin"],["lvmin","lvmin"],["dvmin","dvmin"],["vmax","vmax"],["svmax","svmax"],["lvmax","lvmax"],["dvmax","dvmax"],["cm","cm"],["mm","mm"],["q","Q"],["in","in"],["pt","pt"],["pc","pc"],["px","px"],["deg","deg"],["grad","grad"],["rad","rad"],["turn","turn"],["s","s"],["ms","ms"],["hz","Hz"],["khz","kHz"],["dpi","dpi"],["dpcm","dpcm"],["dppx","dppx"],["x","x"],["cqw","cqw"],["cqh","cqh"],["cqi","cqi"],["cqb","cqb"],["cqmin","cqmin"],["cqmax","cqmax"],["fr","fr"]]);zur=/(["'])(?:(?!\1)[^\\]|\\.)*\1/gsu,n5n=/(?:\d*\.\d+|\d+\.?)(?:e[+-]?\d+)?/giu,i5n=/[a-z]+/giu,a5n=/[$@]?[_a-z\u0080-\uFFFF][\w\u0080-\uFFFF-]*/giu,s5n=new RegExp(zur.source+`|(${a5n.source})?(${n5n.source})(${i5n.source})?`,"giu");Yur=u5n;Kur=l5n;T5n=c5n;_5n=p5n;Gur=h5n;Yfe=k5n;q5n={print:y5n,embed:Xqn,insertPragma:ECn,massageAstNode:Vqn,getVisitorKeys:sCn},C5n=q5n,jur=[{linguistLanguageId:50,name:"CSS",type:"markup",tmScope:"source.css",aceMode:"css",codemirrorMode:"css",codemirrorMimeType:"text/css",color:"#563d7c",extensions:[".css",".wxss"],parsers:["css"],vscodeLanguageIds:["css"]},{linguistLanguageId:262764437,name:"PostCSS",type:"markup",color:"#dc3a0c",tmScope:"source.postcss",group:"CSS",extensions:[".pcss",".postcss"],aceMode:"text",parsers:["css"],vscodeLanguageIds:["postcss"]},{linguistLanguageId:198,name:"Less",type:"markup",color:"#1d365d",aliases:["less-css"],extensions:[".less"],tmScope:"source.css.less",aceMode:"less",codemirrorMode:"css",codemirrorMimeType:"text/css",parsers:["less"],vscodeLanguageIds:["less"]},{linguistLanguageId:329,name:"SCSS",type:"markup",color:"#c6538c",tmScope:"source.css.scss",aceMode:"scss",codemirrorMode:"css",codemirrorMimeType:"text/x-scss",extensions:[".scss"],parsers:["scss"],vscodeLanguageIds:["scss"]}],A5n={bracketSpacing:{category:"Common",type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},singleQuote:{category:"Common",type:"boolean",default:!1,description:"Use single quotes instead of double quotes."},proseWrap:{category:"Common",type:"choice",default:"preserve",description:"How to wrap prose.",choices:[{value:"always",description:"Wrap prose if it exceeds the print width."},{value:"never",description:"Do not wrap prose."},{value:"preserve",description:"Wrap prose as-is."}]},bracketSameLine:{category:"Common",type:"boolean",default:!1,description:"Put > of opening tags on the last line instead of on a new line."},singleAttributePerLine:{category:"Common",type:"boolean",default:!1,description:"Enforce single attribute per line in HTML, Vue and JSX."}},g5n={singleQuote:A5n.singleQuote},Jur=g5n,T5t={};rur(T5t,{css:()=>r9n,less:()=>n9n,scss:()=>i9n});b5n=ise(l9e(),1),E5n=ise(w6n(),1),O5n=ise(F6n(),1);D5n=v5n,S5n=ise(z6n(),1);$5n=S5n.default.default;N5n=Q5n,w5n=ise(sqn(),1);OX=P5n,B5n=ise(Cqn(),1),I5n=e=>{for(;e.parent;)e=e.parent;return e},Zur=I5n;W5n=M5n;F5n=U5n;z5n=L5n;Y5n=H5n,tur=e=>e.type==="paren"&&e.value===")";EX=G5n,V5n=new Set(["import","use","forward"]);J5n=j5n;Z5n=X5n,e9n=/(\s*)(!default).*$/u,t9n=/(\s*)(!global).*$/u;_5t={astFormat:"postcss",hasPragma:bCn,locStart:bA,locEnd:gA},r9n={..._5t,parse:rlr},n9n={..._5t,parse:nlr},i9n={..._5t,parse:ilr},alr={postcss:C5n},a9n=xur});var E1r={};x2(E1r,{default:()=>aDn,parsers:()=>Z5t});function ude(e){return e!==void 0?e.length:0}function SA(e,t){if(e!==void 0)for(let r=0;r0;return!1}function r9t(e,t){return t===void 0||t.length===0?e:e===void 0||e.length===0?t:[...e,...t]}function d9n(e,t,r=i9t){if(e===void 0||t===void 0)return e===t;if(e.length!==t.length)return!1;for(let n=0;n>1),c=r(e[l],l);switch(n(c,t)){case-1:s=l+1;break;case 0:return l;case 1:R=l-1;break}}return~s}function g9n(e,t,r,n,i){if(e&&e.length>0){let s=e.length;if(s>0){let R=n===void 0||n<0?0:n,l=i===void 0||R+i>s-1?s-1:R+i,c;for(arguments.length<=2?(c=e[R],R++):c=r;R<=l;)c=t(c,e[R],R),R++;return c}}return r}function VD(e,t){return Scr.call(e,t)}function b9n(e){let t=[];for(let r in e)Scr.call(e,r)&&t.push(r);return t}function E9n(){let e=new Map;return e.add=O9n,e.remove=v9n,e}function O9n(e,t){let r=this.get(e);return r!==void 0?r.push(t):this.set(e,r=[t]),r}function v9n(e,t){let r=this.get(e);r!==void 0&&(I9n(r,t),r.length||this.delete(e))}function Dw(e){return Array.isArray(e)}function f5t(e){return Dw(e)?e:[e]}function D9n(e,t){return e!==void 0&&t(e)?e:void 0}function YD(e,t){return e!==void 0&&t(e)?e:$n.fail(`Invalid cast. The supplied value ${e} did not pass the test '${$n.getFunctionName(t)}'.`)}function Cse(e){}function S9n(){return!0}function R1(e){return e}function ulr(e){let t;return()=>(e&&(t=e(),e=void 0),t)}function hg(e){let t=new Map;return r=>{let n=`${typeof r}:${r}`,i=t.get(n);return i===void 0&&!t.has(n)&&(i=e(r),t.set(n,i)),i}}function i9t(e,t){return e===t}function a9t(e,t){return e===t||e!==void 0&&t!==void 0&&e.toUpperCase()===t.toUpperCase()}function $9n(e,t){return i9t(e,t)}function Q9n(e,t){return e===t?0:e===void 0?-1:t===void 0?1:er?l-r:1),_=Math.floor(t.length>r+l?r+l:t.length);i[0]=l;let f=l;for(let x=1;xr)return;let m=n;n=i,i=m}let R=n[t.length];return R>r?void 0:R}function P9n(e,t,r){let n=e.length-t.length;return n>=0&&(r?a9t(e.slice(n),t):e.indexOf(t,n)===n)}function B9n(e,t){e[t]=e[e.length-1],e.pop()}function I9n(e,t){return M9n(e,r=>r===t)}function M9n(e,t){for(let r=0;rt.length&&P9n(e,t)}function o9t(e){return e.length>0&&L9n(e.charCodeAt(e.length-1))}function Tlr(e){return e>=97&&e<=122||e>=65&&e<=90}function H9n(e,t){let r=e.charCodeAt(t);if(r===58)return t+1;if(r===37&&e.charCodeAt(t+1)===51){let n=e.charCodeAt(t+2);if(n===97||n===65)return t+3}return-1}function Y9n(e){if(!e)return 0;let t=e.charCodeAt(0);if(t===47||t===92){if(e.charCodeAt(1)!==t)return 1;let n=e.indexOf(t===47?zX:U9n,2);return n<0?e.length:n+1}if(Tlr(t)&&e.charCodeAt(1)===58){let n=e.charCodeAt(2);if(n===47||n===92)return 3;if(e.length===2)return 2}let r=e.indexOf(clr);if(r!==-1){let n=r+clr.length,i=e.indexOf(zX,n);if(i!==-1){let s=e.slice(0,r),R=e.slice(n,i);if(s==="file"&&(R===""||R==="localhost")&&Tlr(e.charCodeAt(i+1))){let l=H9n(e,i+2);if(l!==-1){if(e.charCodeAt(l)===47)return~(l+1);if(l===e.length)return~l}}return~(i+1)}return~e.length}return 0}function $9e(e){let t=Y9n(e);return t<0?~t:t}function zcr(e,t,r){if(e=Q9e(e),$9e(e)===e.length)return"";e=Ycr(e);let n=e.slice(Math.max($9e(e),e.lastIndexOf(zX)+1)),i=t!==void 0&&r!==void 0?Hcr(n,t,r):void 0;return i?n.slice(0,n.length-i.length):n}function plr(e,t,r){if(S9e(t,".")||(t="."+t),e.length>=t.length&&e.charCodeAt(e.length-t.length)===46){let n=e.slice(e.length-t.length);if(r(n,t))return n}}function K9n(e,t,r){if(typeof t=="string")return plr(e,t,r)||"";for(let n of t){let i=plr(e,n,r);if(i)return i}return""}function Hcr(e,t,r){if(t)return K9n(Ycr(e),t,r?a9t:$9n);let n=zcr(e),i=n.lastIndexOf(".");return i>=0?n.substring(i):""}function G9n(e,t){let r=e.substring(0,t),n=e.substring(t).split(zX);return n.length&&!MX(n)&&n.pop(),[r,...n]}function V9n(e,t=""){return e=X9n(t,e),G9n(e,$9e(e))}function j9n(e,t){return e.length===0?"":(e[0]&&R9t(e[0]))+e.slice(1,t).join(zX)}function Q9e(e){return e.includes("\\")?e.replace(F9n,zX):e}function J9n(e){if(!w7(e))return[];let t=[e[0]];for(let r=1;r1){if(t[t.length-1]!==".."){t.pop();continue}}else if(t[0])continue}t.push(n)}}return t}function X9n(e,...t){e&&(e=Q9e(e));for(let r of t)r&&(r=Q9e(r),!e||$9e(r)!==0?e=r:e=R9t(e)+r);return e}function Z9n(e){if(e=Q9e(e),!_lr.test(e))return e;let t=e.replace(/\/\.\//g,"/").replace(/^\.\//,"");if(t!==e&&(e=t,!_lr.test(e)))return e;let r=j9n(J9n(V9n(e)));return r&&o9t(e)?R9t(r):r}function Ycr(e){return o9t(e)?e.substr(0,e.length-1):e}function R9t(e){return o9t(e)?e:e+zX}function E(e,t,r,n,i,s,R){return{code:e,category:t,key:r,message:n,reportsUnnecessary:i,elidedInCompatabilityPyramid:s,reportsDeprecated:R}}function M1(e){return e>=80}function eAn(e){return e===32||M1(e)}function N9e(e,t){if(e=2?N9e(e,aAn):N9e(e,nAn)}function cAn(e,t){return t>=2?N9e(e,sAn):N9e(e,iAn)}function Vcr(e){let t=[];return e.forEach((r,n)=>{t[r]=n}),t}function Qc(e){return TAn[e]}function jcr(e){return Kcr.get(e)}function hlr(e){return Gcr.get(e)}function Jcr(e){let t=[],r=0,n=0;for(;r127&&JC(i)&&(t.push(n),n=r);break}}return t.push(n),t}function pAn(e,t,r,n,i){(t<0||t>=e.length)&&(i?t=t<0?0:t>=e.length?e.length-1:t:$n.fail(`Bad line number. Line: ${t}, lineStarts.length: ${e.length} , line map is correct? ${n!==void 0?d9n(e,Jcr(n)):"unknown"}`));let s=e[t]+r;return i?s>e[t+1]?e[t+1]:typeof n=="string"&&s>n.length?n.length:s:(t=8192&&e<=8203||e===8239||e===8287||e===12288||e===65279}function JC(e){return e===10||e===13||e===8232||e===8233}function wW(e){return e>=48&&e<=57}function d5t(e){return wW(e)||e>=65&&e<=70||e>=97&&e<=102}function l9t(e){return e>=65&&e<=90||e>=97&&e<=122}function Zcr(e){return l9t(e)||wW(e)||e===95}function x5t(e){return e>=48&&e<=55}function KD(e,t,r,n,i){if(Cde(t))return t;let s=!1;for(;;){let R=e.charCodeAt(t);switch(R){case 13:e.charCodeAt(t+1)===10&&t++;case 10:if(t++,r)return t;s=!!i;continue;case 9:case 11:case 12:case 32:t++;continue;case 47:if(n)break;if(e.charCodeAt(t+1)===47){for(t+=2;t127&&mse(R)){t++;continue}break}return t}}function wX(e,t){if($n.assert(t>=0),t===0||JC(e.charCodeAt(t-1))){let r=e.charCodeAt(t);if(t+b9e=0&&r127&&mse(y)){f&&JC(y)&&(_=!0),r++;continue}break e}}return f&&(x=i(l,c,h,_,s,x)),x}function fAn(e,t,r,n){return L9e(!1,e,t,!1,r,n)}function dAn(e,t,r,n){return L9e(!1,e,t,!0,r,n)}function xAn(e,t,r,n,i){return L9e(!0,e,t,!1,r,n,i)}function mAn(e,t,r,n,i){return L9e(!0,e,t,!0,r,n,i)}function rTr(e,t,r,n,i,s=[]){return s.push({kind:r,pos:e,end:t,hasTrailingNewLine:n}),s}function N5t(e,t){return xAn(e,t,rTr,void 0,void 0)}function kAn(e,t){return mAn(e,t,rTr,void 0,void 0)}function nTr(e){let t=c9t.exec(e);if(t)return t[0]}function fO(e,t){return l9t(e)||e===36||e===95||e>127&&lAn(e,t)}function bw(e,t,r){return Zcr(e)||e===36||(r===1?e===45||e===58:!1)||e>127&&cAn(e,t)}function yAn(e,t,r){let n=PX(e,0);if(!fO(n,t))return!1;for(let i=v2(n);i_,getStartPos:()=>_,getTokenEnd:()=>c,getTextPos:()=>c,getToken:()=>m,getTokenStart:()=>f,getTokenPos:()=>f,getTokenText:()=>l.substring(f,c),getTokenValue:()=>x,hasUnicodeEscape:()=>(y&1024)!==0,hasExtendedUnicodeEscape:()=>(y&8)!==0,hasPrecedingLineBreak:()=>(y&1)!==0,hasPrecedingJSDocComment:()=>(y&2)!==0,hasPrecedingJSDocLeadingAsterisks:()=>(y&32768)!==0,isIdentifier:()=>m===80||m>118,isReservedWord:()=>m>=83&&m<=118,isUnterminated:()=>(y&4)!==0,getCommentDirectives:()=>A,getNumericLiteralFlags:()=>y&25584,getTokenFlags:()=>y,reScanGreaterToken:zr,reScanAsteriskEqualsToken:Bn,reScanSlashToken:an,reScanTemplateToken:mi,reScanTemplateHeadOrNoSubstitutionTemplate:Sn,scanJsxIdentifier:Hi,scanJsxAttributeValue:Ma,reScanJsxAttributeValue:mt,reScanJsxToken:$i,reScanLessThanToken:cs,reScanHashToken:Ti,reScanQuestionToken:Wi,reScanInvalidIdentifier:He,scanJsxToken:Fn,scanJsDocToken:Je,scanJSDocCommentTextToken:ot,scan:pt,getText:vr,clearCommentDirectives:ln,setText:Mn,setScriptTarget:Pi,setLanguageVariant:Ss,setScriptKind:Ca,setJSDocParsingMode:Jr,setOnError:li,resetTokenState:Mr,setTextPos:Mr,setSkipJsDocLeadingAsterisks:An,tryScan:dr,lookAhead:Zt,scanRange:Pt};return $n.isDebugging&&Object.defineProperty(M,"__debugShowCurrentPositionInText",{get:()=>{let Ar=M.getText();return Ar.slice(0,M.getTokenFullStart())+"\u2551"+Ar.slice(M.getTokenFullStart())}}),M;function U(Ar){return PX(l,Ar)}function w(Ar){return Ar>=0&&Ar=0&&Ar=65&&Bi<=70)Bi+=32;else if(!(Bi>=48&&Bi<=57||Bi>=97&&Bi<=102))break;bi.push(Bi),c++,Ta=!1}return bi.length=h){On+=l.substring(bi,c),y|=4,G(Sr.Unterminated_string_literal);break}let ji=F(c);if(ji===nn){On+=l.substring(bi,c),c++;break}if(ji===92&&!Ar){On+=l.substring(bi,c),On+=xt(3),bi=c;continue}if((ji===10||ji===13)&&!Ar){On+=l.substring(bi,c),y|=4,G(Sr.Unterminated_string_literal);break}c++}return On}function gt(Ar){let nn=F(c)===96;c++;let On=c,bi="",ji;for(;;){if(c>=h){bi+=l.substring(On,c),y|=4,G(Sr.Unterminated_template_literal),ji=nn?15:18;break}let Ta=F(c);if(Ta===96){bi+=l.substring(On,c),c++,ji=nn?15:18;break}if(Ta===36&&c+1=h)return G(Sr.Unexpected_end_of_text),"";let On=F(c);switch(c++,On){case 48:if(c>=h||!wW(F(c)))return"\0";case 49:case 50:case 51:c=55296&&bi<=56319&&c+6=56320&&ws<=57343)return c=Bi,ji+String.fromCharCode(ws)}return ji;case 120:for(;c1114111&&(Ar&&G(Sr.An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive,On,c-On),Ta=!0),c>=h?(Ar&&G(Sr.Unexpected_end_of_text),Ta=!0):F(c)===125?c++:(Ar&&G(Sr.Unterminated_Unicode_escape_sequence),Ta=!0),Ta?(y|=2048,l.substring(nn,c)):(y|=8,flr(ji))}function lt(){if(c+5=0&&bw(On,e)){Ar+=Nt(!0),nn=c;continue}if(On=lt(),!(On>=0&&bw(On,e)))break;y|=1024,Ar+=l.substring(nn,c),Ar+=flr(On),c+=6,nn=c}else break}return Ar+=l.substring(nn,c),Ar}function Ve(){let Ar=x.length;if(Ar>=2&&Ar<=12){let nn=x.charCodeAt(0);if(nn>=97&&nn<=122){let On=tAn.get(x);if(On!==void 0)return m=On}}return m=80}function Dt(Ar){let nn="",On=!1,bi=!1;for(;;){let ji=F(c);if(ji===95){y|=512,On?(On=!1,bi=!0):G(bi?Sr.Multiple_consecutive_numeric_separators_are_not_permitted:Sr.Numeric_separators_are_not_allowed_here,c,1),c++;continue}if(On=!0,!wW(ji)||ji-48>=Ar)break;nn+=l[c],c++,bi=!1}return F(c-1)===95&&G(Sr.Numeric_separators_are_not_allowed_here,c-1,1),nn}function Ut(){return F(c)===110?(x+="n",y&384&&(x=Bgn(x)+"n"),c++,10):(x=""+(y&128?parseInt(x.slice(2),2):y&256?parseInt(x.slice(2),8):+x),9)}function pt(){for(_=c,y=0;;){if(f=c,c>=h)return m=1;let Ar=U(c);if(c===0&&Ar===35&&eTr(l,c)){if(c=tTr(l,c),t)continue;return m=6}switch(Ar){case 10:case 13:if(y|=1,t){c++;continue}else return Ar===13&&c+1=0&&fO(nn,e))return x=Nt(!0)+_t(),m=Ve();let On=lt();return On>=0&&fO(On,e)?(c+=6,y|=1024,x=String.fromCharCode(On)+_t(),m=Ve()):(G(Sr.Invalid_character),c++,m=0);case 35:if(c!==0&&l[c+1]==="!")return G(Sr.can_only_be_used_at_the_start_of_a_file,c,2),c++,m=0;let bi=U(c+1);if(bi===92){c++;let Bi=at();if(Bi>=0&&fO(Bi,e))return x="#"+Nt(!0)+_t(),m=81;let ws=lt();if(ws>=0&&fO(ws,e))return c+=6,y|=1024,x="#"+String.fromCharCode(ws)+_t(),m=81;c--}return fO(bi,e)?(c++,jt(bi,e)):(x="#",G(Sr.Invalid_character,c++,v2(Ar))),m=81;case 65533:return G(Sr.File_appears_to_be_binary,0,0),c=h,m=8;default:let ji=jt(Ar,e);if(ji)return m=ji;if(Tde(Ar)){c+=v2(Ar);continue}else if(JC(Ar)){y|=1,c+=v2(Ar);continue}let Ta=v2(Ar);return G(Sr.Invalid_character,c,Ta),c+=Ta,m=0}}}function ht(){switch(P){case 0:return!0;case 1:return!1}return S!==3&&S!==4?!0:P===3?!1:uAn.test(l.slice(_,c))}function He(){$n.assert(m===0,"'reScanInvalidIdentifier' should only be called when the current token is 'SyntaxKind.Unknown'."),c=f=_,y=0;let Ar=U(c),nn=jt(Ar,99);return nn?m=nn:(c+=v2(Ar),m)}function jt(Ar,nn){let On=Ar;if(fO(On,nn)){for(c+=v2(On);c=h)return m=1;let nn=F(c);if(nn===60)return F(c+1)===47?(c+=2,m=31):(c++,m=30);if(nn===123)return c++,m=19;let On=0;for(;c0)break;mse(nn)||(On=c)}c++}return x=l.substring(_,c),On===-1?13:12}function Hi(){if(M1(m)){for(;c=h)return m=1;for(let nn=F(c);c=0&&Tde(F(c-1))&&!(c+1=h)return m=1;let Ar=U(c);switch(c+=v2(Ar),Ar){case 9:case 11:case 12:case 32:for(;c=0&&fO(nn,e))return x=Nt(!0)+_t(),m=Ve();let On=lt();return On>=0&&fO(On,e)?(c+=6,y|=1024,x=String.fromCharCode(On)+_t(),m=Ve()):(c++,m=0)}if(fO(Ar,e)){let nn=Ar;for(;c=0),c=Ar,_=Ar,f=Ar,m=0,x=void 0,y=0}function An(Ar){D+=Ar?1:-1}}function PX(e,t){return e.codePointAt(t)}function v2(e){return e>=65536?2:e===-1?0:1}function qAn(e){if($n.assert(0<=e&&e<=1114111),e<=65535)return String.fromCharCode(e);let t=Math.floor((e-65536)/1024)+55296,r=(e-65536)%1024+56320;return String.fromCharCode(t,r)}function flr(e){return CAn(e)}function HD(e){return e.start+e.length}function AAn(e){return e.length===0}function p9t(e,t){if(e<0)throw new Error("start < 0");if(t<0)throw new Error("length < 0");return{start:e,length:t}}function gAn(e,t){return p9t(e,t-e)}function nde(e){return p9t(e.span.start,e.newLength)}function bAn(e){return AAn(e.span)&&e.newLength===0}function iTr(e,t){if(t<0)throw new Error("newLength < 0");return{span:e,newLength:t}}function aTr(e,t){for(;e;){let r=t(e);if(r==="quit")return;if(r)return e;e=e.parent}}function w9e(e){return(e.flags&16)===0}function EAn(e,t){if(e===void 0||w9e(e))return e;for(e=e.original;e;){if(w9e(e))return!t||t(e)?e:void 0;e=e.original}}function cse(e){return e.length>=2&&e.charCodeAt(0)===95&&e.charCodeAt(1)===95?"_"+e:e}function mde(e){let t=e;return t.length>=3&&t.charCodeAt(0)===95&&t.charCodeAt(1)===95&&t.charCodeAt(2)===95?t.substr(1):t}function ZC(e){return mde(e.escapedText)}function sTr(e){let t=jcr(e.escapedText);return t?D9n(t,PW):void 0}function w5t(e){return e.valueDeclaration&&XAn(e.valueDeclaration)?ZC(e.valueDeclaration.name):mde(e.escapedName)}function oTr(e){let t=e.parent.parent;if(t){if(qlr(t))return x9e(t);switch(t.kind){case 243:if(t.declarationList&&t.declarationList.declarations[0])return x9e(t.declarationList.declarations[0]);break;case 244:let r=t.expression;switch(r.kind===226&&r.operatorToken.kind===64&&(r=r.left),r.kind){case 211:return r.name;case 212:let n=r.argumentExpression;if(Pu(n))return n}break;case 217:return x9e(t.expression);case 256:{if(qlr(t.statement)||c3n(t.statement))return x9e(t.statement);break}}}}function x9e(e){let t=RTr(e);return t&&Pu(t)?t:void 0}function OAn(e){return e.name||oTr(e)}function vAn(e){return!!e.name}function _9t(e){switch(e.kind){case 80:return e;case 348:case 341:{let{name:r}=e;if(r.kind===166)return r.right;break}case 213:case 226:{let r=e;switch(m9t(r)){case 1:case 4:case 5:case 3:return k9t(r.left);case 7:case 8:case 9:return r.arguments[1];default:return}}case 346:return OAn(e);case 340:return oTr(e);case 277:{let{expression:r}=e;return Pu(r)?r:void 0}case 212:let t=e;if(ATr(t))return t.argumentExpression}return e.name}function RTr(e){if(e!==void 0)return _9t(e)||(zTr(e)||HTr(e)||L5t(e)?DAn(e):void 0)}function DAn(e){if(e.parent){if(Kbn(e.parent)||Dbn(e.parent))return e.parent.name;if(Ase(e.parent)&&e===e.parent.right){if(Pu(e.parent.left))return e.parent.left;if(DTr(e.parent.left))return k9t(e.parent.left)}else if(KTr(e.parent)&&Pu(e.parent.name))return e.parent.name}else return}function SAn(e){if(agn(e))return vw(e.modifiers,E9t)}function $An(e){if(bde(e,98303))return vw(e.modifiers,t3n)}function uTr(e,t){if(e.name)if(Pu(e.name)){let r=e.name.escapedText;return kde(e.parent,t).filter(n=>Ilr(n)&&Pu(n.name)&&n.name.escapedText===r)}else{let r=e.parent.parameters.indexOf(e);$n.assert(r>-1,"Parameters should always be in their parents' parameter list");let n=kde(e.parent,t).filter(Ilr);if(rREn(n)&&n.typeParameters.some(i=>i.name.escapedText===r))}function wAn(e){return lTr(e,!1)}function PAn(e){return lTr(e,!0)}function BAn(e){return UW(e,Zbn)}function IAn(e){return YAn(e,uEn)}function MAn(e){return UW(e,eEn,!0)}function WAn(e){return UW(e,tEn,!0)}function UAn(e){return UW(e,rEn,!0)}function FAn(e){return UW(e,nEn,!0)}function LAn(e){return UW(e,iEn,!0)}function zAn(e){return UW(e,sEn,!0)}function HAn(e){let t=UW(e,D9t);if(t&&t.typeExpression&&t.typeExpression.type)return t}function kde(e,t){var r;if(!y9t(e))return vp;let n=(r=e.jsDoc)==null?void 0:r.jsDocCache;if(n===void 0||t){let i=L3n(e,t);$n.assert(i.length<2||i[0]!==i[1]),n=Dcr(i,s=>r1r(s)?s.tags:s),t||(e.jsDoc??(e.jsDoc=[]),e.jsDoc.jsDocCache=n)}return n}function cTr(e){return kde(e,!1)}function UW(e,t,r){return Ocr(kde(e,r),t)}function YAn(e,t){return cTr(e).filter(t)}function P5t(e){return e.kind===80||e.kind===81}function KAn(e){return FW(e)&&!!(e.flags&64)}function GAn(e){return Ede(e)&&!!(e.flags&64)}function klr(e){return LTr(e)&&!!(e.flags&64)}function h9t(e){return S9t(e,8)}function VAn(e){return O9e(e)&&!!(e.flags&64)}function f9t(e){return e>=166}function TTr(e){return e>=0&&e<=165}function jAn(e){return TTr(e.kind)}function BW(e){return VD(e,"pos")&&VD(e,"end")}function JAn(e){return 9<=e&&e<=15}function ylr(e){return 15<=e&&e<=18}function xse(e){var t;return Pu(e)&&((t=e.emitNode)==null?void 0:t.autoGenerate)!==void 0}function pTr(e){var t;return HX(e)&&((t=e.emitNode)==null?void 0:t.autoGenerate)!==void 0}function XAn(e){return(M9e(e)||i3n(e))&&HX(e.name)}function Ew(e){switch(e){case 128:case 129:case 134:case 87:case 138:case 90:case 95:case 103:case 125:case 123:case 124:case 148:case 126:case 147:case 164:return!0}return!1}function ZAn(e){return!!(OTr(e)&31)}function e3n(e){return ZAn(e)||e===126||e===164||e===129}function t3n(e){return Ew(e.kind)}function _Tr(e){let t=e.kind;return t===80||t===81||t===11||t===9||t===167}function hTr(e){return!!e&&n3n(e.kind)}function r3n(e){switch(e){case 262:case 174:case 176:case 177:case 178:case 218:case 219:return!0;default:return!1}}function n3n(e){switch(e){case 173:case 179:case 323:case 180:case 181:case 184:case 317:case 185:return!0;default:return r3n(e)}}function kse(e){return e&&(e.kind===263||e.kind===231)}function i3n(e){switch(e.kind){case 174:case 177:case 178:return!0;default:return!1}}function a3n(e){let t=e.kind;return t===303||t===304||t===305||t===174||t===177||t===178}function s3n(e){return fgn(e.kind)}function o3n(e){if(e){let t=e.kind;return t===207||t===206}return!1}function R3n(e){let t=e.kind;return t===209||t===210}function u3n(e){switch(e.kind){case 260:case 169:case 208:return!0}return!1}function yse(e){return fTr(h9t(e).kind)}function fTr(e){switch(e){case 211:case 212:case 214:case 213:case 284:case 285:case 288:case 215:case 209:case 217:case 210:case 231:case 218:case 80:case 81:case 14:case 9:case 10:case 11:case 15:case 228:case 97:case 106:case 110:case 112:case 108:case 235:case 233:case 236:case 102:case 282:return!0;default:return!1}}function l3n(e){return dTr(h9t(e).kind)}function dTr(e){switch(e){case 224:case 225:case 220:case 221:case 222:case 223:case 216:return!0;default:return fTr(e)}}function c3n(e){return T3n(h9t(e).kind)}function T3n(e){switch(e){case 227:case 229:case 219:case 226:case 230:case 234:case 232:case 356:case 355:case 238:return!0;default:return dTr(e)}}function p3n(e){return e===219||e===208||e===263||e===231||e===175||e===176||e===266||e===306||e===281||e===262||e===218||e===177||e===273||e===271||e===276||e===264||e===291||e===174||e===173||e===267||e===270||e===274||e===280||e===169||e===303||e===172||e===171||e===178||e===304||e===265||e===168||e===260||e===346||e===338||e===348||e===202}function xTr(e){return e===262||e===282||e===263||e===264||e===265||e===266||e===267||e===272||e===271||e===278||e===277||e===270}function mTr(e){return e===252||e===251||e===259||e===246||e===244||e===242||e===249||e===250||e===248||e===245||e===256||e===253||e===255||e===257||e===258||e===243||e===247||e===254||e===353}function qlr(e){return e.kind===168?e.parent&&e.parent.kind!==345||YX(e):p3n(e.kind)}function _3n(e){let t=e.kind;return mTr(t)||xTr(t)||h3n(e)}function h3n(e){return e.kind!==241||e.parent!==void 0&&(e.parent.kind===258||e.parent.kind===299)?!1:!D3n(e)}function f3n(e){let t=e.kind;return mTr(t)||xTr(t)||t===241}function kTr(e){return e.kind>=309&&e.kind<=351}function d3n(e){return e.kind===320||e.kind===319||e.kind===321||k3n(e)||x3n(e)||Xbn(e)||n1r(e)}function x3n(e){return e.kind>=327&&e.kind<=351}function m9e(e){return e.kind===178}function k9e(e){return e.kind===177}function WX(e){if(!y9t(e))return!1;let{jsDoc:t}=e;return!!t&&t.length>0}function m3n(e){return!!e.initializer}function d9t(e){return e.kind===11||e.kind===15}function k3n(e){return e.kind===324||e.kind===325||e.kind===326}function Clr(e){return(e.flags&33554432)!==0}function y3n(){var e="";let t=r=>e+=r;return{getText:()=>e,write:t,rawWrite:t,writeKeyword:t,writeOperator:t,writePunctuation:t,writeSpace:t,writeStringLiteral:t,writeLiteral:t,writeParameter:t,writeProperty:t,writeSymbol:(r,n)=>t(r),writeTrailingSemicolon:t,writeComment:t,getTextPos:()=>e.length,getLine:()=>0,getColumn:()=>0,getIndent:()=>0,isAtStartOfLine:()=>!1,hasTrailingComment:()=>!1,hasTrailingWhitespace:()=>!!e.length&&mse(e.charCodeAt(e.length-1)),writeLine:()=>e+=" ",increaseIndent:Cse,decreaseIndent:Cse,clear:()=>e=""}}function q3n(e,t){let r=e.entries();for(let[n,i]of r){let s=t(i,n);if(s)return s}}function C3n(e){return e.end-e.pos}function yTr(e){return A3n(e),(e.flags&1048576)!==0}function A3n(e){e.flags&2097152||((e.flags&262144||Vm(e,yTr))&&(e.flags|=1048576),e.flags|=2097152)}function MW(e){for(;e&&e.kind!==307;)e=e.parent;return e}function UX(e){return e===void 0?!0:e.pos===e.end&&e.pos>=0&&e.kind!==1}function B5t(e){return!UX(e)}function P9e(e,t,r){if(UX(e))return e.pos;if(kTr(e)||e.kind===12)return KD((t??MW(e)).text,e.pos,!1,!0);if(r&&WX(e))return P9e(e.jsDoc[0],t);if(e.kind===352){t??(t=MW(e));let n=n9t(i1r(e,t));if(n)return P9e(n,t,r)}return KD((t??MW(e)).text,e.pos,!1,!1,S3n(e))}function Alr(e,t,r=!1){return pde(e.text,t,r)}function g3n(e){return!!aTr(e,Vbn)}function pde(e,t,r=!1){if(UX(t))return"";let n=e.substring(r?t.pos:KD(e,t.pos),t.end);return g3n(t)&&(n=n.split(/\r\n|\n|\r/).map(i=>i.replace(/^\s*\*/,"").trimStart()).join(` +`)),n}function qse(e){let t=e.emitNode;return t&&t.flags||0}function b3n(e,t,r){$n.assertGreaterThanOrEqual(t,0),$n.assertGreaterThanOrEqual(r,0),$n.assertLessThanOrEqual(t,e.length),$n.assertLessThanOrEqual(t+r,e.length)}function E9e(e){return e.kind===244&&e.expression.kind===11}function x9t(e){return!!(qse(e)&2097152)}function glr(e){return x9t(e)&>r(e)}function E3n(e){return Pu(e.name)&&!e.initializer}function blr(e){return x9t(e)&&Y9e(e)&&t9t(e.declarationList.declarations,E3n)}function O3n(e,t){let r=e.kind===169||e.kind===168||e.kind===218||e.kind===219||e.kind===217||e.kind===260||e.kind===281?r9t(kAn(t,e.pos),N5t(t,e.pos)):N5t(t,e.pos);return vw(r,n=>n.end<=e.end&&t.charCodeAt(n.pos+1)===42&&t.charCodeAt(n.pos+2)===42&&t.charCodeAt(n.pos+3)!==47)}function v3n(e){if(e)switch(e.kind){case 208:case 306:case 169:case 303:case 172:case 171:case 304:case 260:return!0}return!1}function D3n(e){return e&&e.kind===241&&hTr(e.parent)}function Elr(e){let t=e.kind;return(t===211||t===212)&&e.expression.kind===108}function YX(e){return!!e&&!!(e.flags&524288)}function S3n(e){return!!e&&!!(e.flags&16777216)}function $3n(e){for(;B9e(e,!0);)e=e.right;return e}function Q3n(e){return Pu(e)&&e.escapedText==="exports"}function N3n(e){return Pu(e)&&e.escapedText==="module"}function qTr(e){return(FW(e)||CTr(e))&&N3n(e.expression)&&qde(e)==="exports"}function m9t(e){let t=P3n(e);return t===5||YX(e)?t:0}function w3n(e){return ude(e.arguments)===3&&FW(e.expression)&&Pu(e.expression.expression)&&ZC(e.expression.expression)==="Object"&&ZC(e.expression.name)==="defineProperty"&&z9e(e.arguments[1])&&yde(e.arguments[0],!0)}function CTr(e){return Ede(e)&&z9e(e.argumentExpression)}function gde(e,t){return FW(e)&&(!t&&e.expression.kind===110||Pu(e.name)&&yde(e.expression,!0))||ATr(e,t)}function ATr(e,t){return CTr(e)&&(!t&&e.expression.kind===110||A9t(e.expression)||gde(e.expression,!0))}function yde(e,t){return A9t(e)||gde(e,t)}function P3n(e){if(LTr(e)){if(!w3n(e))return 0;let t=e.arguments[0];return Q3n(t)||qTr(t)?8:gde(t)&&qde(t)==="prototype"?9:7}return e.operatorToken.kind!==64||!DTr(e.left)||B3n($3n(e))?0:yde(e.left.expression,!0)&&qde(e.left)==="prototype"&&FTr(M3n(e))?6:I3n(e.left)}function B3n(e){return Qbn(e)&&gse(e.expression)&&e.expression.text==="0"}function k9t(e){if(FW(e))return e.name;let t=q9t(e.argumentExpression);return gse(t)||d9t(t)?t:e}function qde(e){let t=k9t(e);if(t){if(Pu(t))return t.escapedText;if(d9t(t)||gse(t))return cse(t.text)}}function I3n(e){if(e.expression.kind===110)return 4;if(qTr(e))return 2;if(yde(e.expression,!0)){if(_gn(e.expression))return 3;let t=e;for(;!Pu(t.expression);)t=t.expression;let r=t.expression;if((r.escapedText==="exports"||r.escapedText==="module"&&qde(t)==="exports")&&gde(e))return 1;if(yde(e,!0)||Ede(e)&&Z3n(e))return 5}return 0}function M3n(e){for(;Ase(e.right);)e=e.right;return e.right}function W3n(e){return YTr(e)&&Ase(e.expression)&&m9t(e.expression)!==0&&Ase(e.expression.right)&&(e.expression.right.operatorToken.kind===57||e.expression.right.operatorToken.kind===61)?e.expression.right.right:void 0}function U3n(e){switch(e.kind){case 243:let t=I5t(e);return t&&t.initializer;case 172:return e.initializer;case 303:return e.initializer}}function I5t(e){return Y9e(e)?n9t(e.declarationList.declarations):void 0}function F3n(e){return Ade(e)&&e.body&&e.body.kind===267?e.body:void 0}function y9t(e){switch(e.kind){case 219:case 226:case 241:case 252:case 179:case 296:case 263:case 231:case 175:case 176:case 185:case 180:case 251:case 259:case 246:case 212:case 242:case 1:case 266:case 306:case 277:case 278:case 281:case 244:case 249:case 250:case 248:case 262:case 218:case 184:case 177:case 80:case 245:case 272:case 271:case 181:case 264:case 317:case 323:case 256:case 174:case 173:case 267:case 202:case 270:case 210:case 169:case 217:case 211:case 303:case 172:case 171:case 253:case 240:case 178:case 304:case 305:case 255:case 257:case 258:case 265:case 168:case 260:case 243:case 247:case 254:return!0;default:return!1}}function L3n(e,t){let r;v3n(e)&&m3n(e)&&WX(e.initializer)&&(r=XC(r,Olr(e,e.initializer.jsDoc)));let n=e;for(;n&&n.parent;){if(WX(n)&&(r=XC(r,Olr(e,n.jsDoc))),n.kind===169){r=XC(r,(t?NAn:QAn)(n));break}if(n.kind===168){r=XC(r,(t?PAn:wAn)(n));break}n=H3n(n)}return r||vp}function Olr(e,t){let r=y9n(t);return Dcr(t,n=>{if(n===r){let i=vw(n.tags,s=>z3n(e,s));return n.tags===i?[n]:i}else return vw(n.tags,aEn)})}function z3n(e,t){return!(D9t(t)||lEn(t))||!t.parent||!r1r(t.parent)||!O9t(t.parent.parent)||t.parent.parent===e}function H3n(e){let t=e.parent;if(t.kind===303||t.kind===277||t.kind===172||t.kind===244&&e.kind===211||t.kind===253||F3n(t)||B9e(e))return t;if(t.parent&&(I5t(t.parent)===e||B9e(t)))return t.parent;if(t.parent&&t.parent.parent&&(I5t(t.parent.parent)||U3n(t.parent.parent)===e||W3n(t.parent.parent)))return t.parent.parent}function q9t(e,t){return S9t(e,t?-2147483647:1)}function Y3n(e){let t=K3n(e);if(t&&YX(e)){let r=BAn(e);if(r)return r.class}return t}function K3n(e){let t=C9t(e.heritageClauses,96);return t&&t.types.length>0?t.types[0]:void 0}function G3n(e){if(YX(e))return IAn(e).map(t=>t.class);{let t=C9t(e.heritageClauses,119);return t?.types}}function V3n(e){return v9t(e)?j3n(e)||vp:kse(e)&&r9t(S5t(Y3n(e)),G3n(e))||vp}function j3n(e){let t=C9t(e.heritageClauses,96);return t?t.types:void 0}function C9t(e,t){if(e){for(let r of e)if(r.token===t)return r}}function PW(e){return 83<=e&&e<=165}function J3n(e){return 19<=e&&e<=79}function m5t(e){return PW(e)||J3n(e)}function z9e(e){return d9t(e)||gse(e)}function X3n(e){return Nbn(e)&&(e.operator===40||e.operator===41)&&gse(e.operand)}function Z3n(e){if(!(e.kind===167||e.kind===212))return!1;let t=Ede(e)?q9t(e.argumentExpression):e.expression;return!z9e(t)&&!X3n(t)}function egn(e){return P5t(e)?ZC(e):t1r(e)?Lgn(e):e.text}function Tse(e){return Cde(e.pos)||Cde(e.end)}function k5t(e){switch(e){case 61:return 4;case 57:return 5;case 56:return 6;case 52:return 7;case 53:return 8;case 51:return 9;case 35:case 36:case 37:case 38:return 10;case 30:case 32:case 33:case 34:case 104:case 103:case 130:case 152:return 11;case 48:case 49:case 50:return 12;case 40:case 41:return 13;case 42:case 44:case 45:return 14;case 43:return 15}return-1}function y5t(e){return!!((e.templateFlags||0)&2048)}function tgn(e){return e&&!!(rbn(e)?y5t(e):y5t(e.head)||w7(e.templateSpans,t=>y5t(t.literal)))}function rgn(e){return!!e&&e.kind===80&&ngn(e)}function ngn(e){return e.escapedText==="this"}function bde(e,t){return!!sgn(e,t)}function ign(e){return bde(e,256)}function agn(e){return bde(e,32768)}function sgn(e,t){return Rgn(e)&t}function ogn(e,t,r){return e.kind>=0&&e.kind<=165?0:(e.modifierFlagsCache&536870912||(e.modifierFlagsCache=ETr(e)|536870912),r||t&&YX(e)?(!(e.modifierFlagsCache&268435456)&&e.parent&&(e.modifierFlagsCache|=gTr(e)|268435456),bTr(e.modifierFlagsCache)):ugn(e.modifierFlagsCache))}function Rgn(e){return ogn(e,!1)}function gTr(e){let t=0;return e.parent&&!I9e(e)&&(YX(e)&&(MAn(e)&&(t|=8388608),WAn(e)&&(t|=16777216),UAn(e)&&(t|=33554432),FAn(e)&&(t|=67108864),LAn(e)&&(t|=134217728)),zAn(e)&&(t|=65536)),t}function ugn(e){return e&65535}function bTr(e){return e&131071|(e&260046848)>>>23}function lgn(e){return bTr(gTr(e))}function cgn(e){return ETr(e)|lgn(e)}function ETr(e){let t=$9t(e)?vA(e.modifiers):0;return(e.flags&8||e.kind===80&&e.flags&4096)&&(t|=32),t}function vA(e){let t=0;if(e)for(let r of e)t|=OTr(r.kind);return t}function OTr(e){switch(e){case 126:return 256;case 125:return 1;case 124:return 4;case 123:return 2;case 128:return 64;case 129:return 512;case 95:return 32;case 138:return 128;case 87:return 4096;case 90:return 2048;case 134:return 1024;case 148:return 8;case 164:return 16;case 103:return 8192;case 147:return 16384;case 170:return 32768}return 0}function Tgn(e){return e===76||e===77||e===78}function vTr(e){return e>=64&&e<=79}function B9e(e,t){return Ase(e)&&(t?e.operatorToken.kind===64:vTr(e.operatorToken.kind))&&yse(e.left)}function A9t(e){return e.kind===80||pgn(e)}function pgn(e){return FW(e)&&Pu(e.name)&&A9t(e.expression)}function _gn(e){return gde(e)&&qde(e)==="prototype"}function q5t(e){return e.flags&3899393?e.objectFlags:0}function hgn(e){let t;return Vm(e,r=>{B5t(r)&&(t=r)},r=>{for(let n=r.length-1;n>=0;n--)if(B5t(r[n])){t=r[n];break}}),t}function fgn(e){return e>=182&&e<=205||e===133||e===159||e===150||e===163||e===151||e===136||e===154||e===155||e===116||e===157||e===146||e===141||e===233||e===312||e===313||e===314||e===315||e===316||e===317||e===318}function DTr(e){return e.kind===211||e.kind===212}function dgn(e,t){this.flags=e,this.escapedName=t,this.declarations=void 0,this.valueDeclaration=void 0,this.id=0,this.mergeId=0,this.parent=void 0,this.members=void 0,this.exports=void 0,this.exportSymbol=void 0,this.constEnumOnlyModule=void 0,this.isReferenced=void 0,this.lastAssignmentPos=void 0,this.links=void 0}function xgn(e,t){this.flags=t,($n.isDebugging||g9e)&&(this.checker=e)}function mgn(e,t){this.flags=t,$n.isDebugging&&(this.checker=e)}function C5t(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function kgn(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.emitNode=void 0}function ygn(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}function qgn(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r||(n=>n)}function Agn(e){Object.assign(Op,e),SA(Cgn,t=>t(Op))}function ggn(e,t){return e.replace(/\{(\d+)\}/g,(r,n)=>""+$n.checkDefined(t[+n]))}function bgn(e){return vlr&&vlr[e.key]||e.message}function ose(e,t,r,n,i,...s){r+n>t.length&&(n=t.length-r),b3n(t,r,n);let R=bgn(i);return w7(s)&&(R=ggn(R,s)),{file:void 0,start:r,length:n,messageText:R,category:i.category,code:i.code,reportsUnnecessary:i.reportsUnnecessary,fileName:e}}function Egn(e){return e.file===void 0&&e.start!==void 0&&e.length!==void 0&&typeof e.fileName=="string"}function STr(e,t){let r=t.fileName||"",n=t.text.length;$n.assertEqual(e.fileName,r),$n.assertLessThanOrEqual(e.start,n),$n.assertLessThanOrEqual(e.start+e.length,n);let i={file:t,start:e.start,length:e.length,messageText:e.messageText,category:e.category,code:e.code,reportsUnnecessary:e.reportsUnnecessary};if(e.relatedInformation){i.relatedInformation=[];for(let s of e.relatedInformation)Egn(s)&&s.fileName===r?($n.assertLessThanOrEqual(s.start,n),$n.assertLessThanOrEqual(s.start+s.length,n),i.relatedInformation.push(STr(s,t))):i.relatedInformation.push(s)}return i}function SX(e,t){let r=[];for(let n of e)r.push(STr(n,t));return r}function Dlr(e){return e===4||e===2||e===1||e===6?1:0}function Slr(e){return e>=3&&e<=99||e===100}function gw(e,t){return e[t]===void 0?!!e.strict:!!e[t]}function Ogn(e){return q3n(targetOptionDeclaration.type,(t,r)=>t===e?r:void 0)}function QTr(e,t){return e==="*"?t:e==="?"?"[^/]":"\\"+e}function $gn(e,t){return t||Qgn(e)||3}function Qgn(e){switch(e.substr(e.lastIndexOf(".")).toLowerCase()){case".js":case".cjs":case".mjs":return 1;case".jsx":return 2;case".ts":case".cts":case".mts":return 3;case".tsx":return 4;case".json":return 6;default:return 0}}function Cde(e){return!(e>=0)}function y9e(e,...t){return t.length&&(e.relatedInformation||(e.relatedInformation=[]),$n.assert(e.relatedInformation!==vp,"Diagnostic had empty array singleton for related info, but is still being constructed!"),e.relatedInformation.push(...t)),e}function Bgn(e){let t;switch(e.charCodeAt(1)){case 98:case 66:t=1;break;case 111:case 79:t=3;break;case 120:case 88:t=4;break;default:let h=e.length-1,_=0;for(;e.charCodeAt(_)===48;)_++;return e.slice(_,h)||"0"}let r=2,n=e.length-1,i=(n-r)*t,s=new Uint16Array((i>>>4)+(i&15?1:0));for(let h=n-1,_=0;h>=r;h--,_+=t){let f=_>>>4,m=e.charCodeAt(h),x=(m<=57?m-48:10+m-(m<=70?65:97))<<(_&15);s[f]|=x;let y=x>>>16;y&&(s[f+1]|=y)}let R="",l=s.length-1,c=!0;for(;c;){let h=0;c=!1;for(let _=l;_>=0;_--){let f=h<<16|s[_],m=f/10|0;s[_]=m,h=f-m*10,m&&!c&&(l=_,c=!0)}R=h+R}return R}function Ign({negative:e,base10Value:t}){return(e&&t!=="0"?"-":"")+t}function M5t(e,t){return e.pos=t,e}function Mgn(e,t){return e.end=t,e}function WW(e,t,r){return Mgn(M5t(e,t),r)}function $lr(e,t,r){return WW(e,t,t+r)}function g9t(e,t){return e&&t&&(e.parent=t),e}function Wgn(e,t){if(!e)return e;return ocr(e,kTr(e)?r:i),e;function r(s,R){if(t&&s.parent===R)return"skip";g9t(s,R)}function n(s){if(WX(s))for(let R of s.jsDoc)r(R,s),ocr(R,r)}function i(s,R){return r(s,R)||n(s)}}function Ugn(e){return!!(e.flags&262144&&e.isThisType)}function Fgn(e){var t;return((t=getSnippetElement(e))==null?void 0:t.kind)===0}function Lgn(e){return`${ZC(e.namespace)}:${ZC(e.name)}`}function Hgn(){let e,t,r,n,i;return{createBaseSourceFileNode:s,createBaseIdentifierNode:R,createBasePrivateIdentifierNode:l,createBaseTokenNode:c,createBaseNode:h};function s(_){return new(i||(i=Op.getSourceFileConstructor()))(_,-1,-1)}function R(_){return new(r||(r=Op.getIdentifierConstructor()))(_,-1,-1)}function l(_){return new(n||(n=Op.getPrivateIdentifierConstructor()))(_,-1,-1)}function c(_){return new(t||(t=Op.getTokenConstructor()))(_,-1,-1)}function h(_){return new(e||(e=Op.getNodeConstructor()))(_,-1,-1)}}function b9t(e,t){let r=e&8?R1:Xgn,n=ulr(()=>e&1?Ygn:createParenthesizerRules(S)),i=ulr(()=>e&2?nullNodeConverters:createNodeConverters(S)),s=hg(b=>(z,re)=>Te(z,b,re)),R=hg(b=>z=>Q(b,z)),l=hg(b=>z=>I(z,b)),c=hg(b=>()=>Fc(b)),h=hg(b=>z=>X1(b,z)),_=hg(b=>(z,re)=>l0(b,z,re)),f=hg(b=>(z,re)=>WT(b,z,re)),m=hg(b=>(z,re)=>zs(b,z,re)),x=hg(b=>(z,re)=>l5(b,z,re)),y=hg(b=>(z,re,de)=>Dg(b,z,re,de)),A=hg(b=>(z,re,de)=>Sg(b,z,re,de)),D=hg(b=>(z,re,de,et)=>OO(b,z,re,de,et)),S={get parenthesizer(){return n()},get converters(){return i()},baseFactory:t,flags:e,createNodeArray:P,createNumericLiteral:F,createBigIntLiteral:H,createStringLiteral:ee,createStringLiteralFromNode:fe,createRegularExpressionLiteral:me,createLiteralLikeNode:ve,createIdentifier:Ee,createTempVariable:Me,createLoopVariable:gt,createUniqueName:xt,getGeneratedNameForNode:Nt,createPrivateIdentifier:at,createUniquePrivateName:Ve,getGeneratedPrivateNameForNode:Dt,createToken:pt,createSuper:ht,createThis:He,createNull:jt,createTrue:zr,createFalse:Bn,createModifier:an,createModifiersFromModifierFlags:ri,createQualifiedName:Zr,updateQualifiedName:bn,createComputedPropertyName:Zn,updateComputedPropertyName:mi,createTypeParameterDeclaration:Sn,updateTypeParameterDeclaration:$i,createParameterDeclaration:cs,updateParameterDeclaration:Ti,createDecorator:Wi,updateDecorator:Fn,createPropertySignature:Hi,updatePropertySignature:Ma,createPropertyDeclaration:ot,updatePropertyDeclaration:Je,createMethodSignature:Ct,updateMethodSignature:Pt,createMethodDeclaration:Zt,updateMethodDeclaration:dr,createConstructorDeclaration:Pi,updateConstructorDeclaration:Ss,createGetAccessorDeclaration:Jr,updateGetAccessorDeclaration:Mr,createSetAccessorDeclaration:Ar,updateSetAccessorDeclaration:nn,createCallSignature:bi,updateCallSignature:ji,createConstructSignature:Ta,updateConstructSignature:Bi,createIndexSignature:ws,updateIndexSignature:Xo,createClassStaticBlockDeclaration:ln,updateClassStaticBlockDeclaration:Mn,createTemplateLiteralTypeSpan:No,updateTemplateLiteralTypeSpan:Fa,createKeywordTypeNode:wc,createTypePredicateNode:D0,updateTypePredicateNode:_R,createTypeReferenceNode:XR,updateTypeReferenceNode:Wr,createFunctionTypeNode:Aa,updateFunctionTypeNode:Ce,createConstructorTypeNode:$s,updateConstructorTypeNode:Ml,createTypeQueryNode:ZR,updateTypeQueryNode:RR,createTypeLiteralNode:IR,updateTypeLiteralNode:nl,createArrayTypeNode:u1,updateArrayTypeNode:V_,createTupleTypeNode:sT,updateTupleTypeNode:Nn,createNamedTupleMember:vi,updateNamedTupleMember:oo,createOptionalTypeNode:_a,updateOptionalTypeNode:Tn,createRestTypeNode:P0,updateRestTypeNode:B0,createUnionTypeNode:D2,updateUnionTypeNode:Ru,createIntersectionTypeNode:hR,updateIntersectionTypeNode:Qs,createConditionalTypeNode:S0,updateConditionalTypeNode:Jm,createInferTypeNode:Wl,updateInferTypeNode:S2,createImportTypeNode:il,updateImportTypeNode:l1,createParenthesizedType:f0,updateParenthesizedType:y0,createThisTypeNode:Or,createTypeOperatorNode:MR,updateTypeOperatorNode:Ba,createIndexedAccessTypeNode:Bu,updateIndexedAccessTypeNode:al,createMappedTypeNode:I0,updateMappedTypeNode:Iu,createLiteralTypeNode:oT,updateLiteralTypeNode:Ul,createTemplateLiteralType:uu,updateTemplateLiteralType:rc,createObjectBindingPattern:c1,updateObjectBindingPattern:RT,createArrayBindingPattern:Fl,updateArrayBindingPattern:M7,createBindingElement:L1,updateBindingElement:uT,createArrayLiteralExpression:Ax,updateArrayLiteralExpression:W7,createObjectLiteralExpression:gx,updateObjectLiteralExpression:Xm,createPropertyAccessExpression:e&4?(b,z)=>setEmitFlags(lT(b,z),262144):lT,updatePropertyAccessExpression:$p,createPropertyAccessChain:e&4?(b,z,re)=>setEmitFlags(Pc(b,z,re),262144):Pc,updatePropertyAccessChain:cT,createElementAccessExpression:T1,updateElementAccessExpression:Zm,createElementAccessChain:NT,updateElementAccessChain:Bc,createCallExpression:Qp,updateCallExpression:U7,createCallChain:Vd,updateCallChain:bx,createNewExpression:nc,updateNewExpression:Ex,createTaggedTemplateExpression:$2,updateTaggedTemplateExpression:ek,createTypeAssertion:Np,updateTypeAssertion:ql,createParenthesizedExpression:Ox,updateParenthesizedExpression:Q2,createFunctionExpression:vx,updateFunctionExpression:j_,createArrowFunction:N2,updateArrowFunction:Cl,createDeleteExpression:ic,updateDeleteExpression:W4,createTypeOfExpression:ac,updateTypeOfExpression:vR,createVoidExpression:F7,updateVoidExpression:Ic,createAwaitExpression:tk,updateAwaitExpression:J_,createPrefixUnaryExpression:Q,updatePrefixUnaryExpression:C,createPostfixUnaryExpression:I,updatePostfixUnaryExpression:j,createBinaryExpression:Te,updateBinaryExpression:ct,createConditionalExpression:zt,updateConditionalExpression:Rr,createTemplateExpression:_r,updateTemplateExpression:ei,createTemplateHead:no,createTemplateMiddle:R0,createTemplateTail:DR,createNoSubstitutionTemplateLiteral:Ll,createTemplateLiteralLikeNode:Go,createYieldExpression:zl,updateYieldExpression:wp,createSpreadElement:my,updateSpreadElement:s5,createClassExpression:rk,updateClassExpression:Dx,createOmittedExpression:TT,createExpressionWithTypeArguments:Pp,updateExpressionWithTypeArguments:ky,createAsExpression:wT,updateAsExpression:nk,createNonNullExpression:o5,updateNonNullExpression:U4,createSatisfiesExpression:L7,updateSatisfiesExpression:F4,createNonNullChain:Y1,updateNonNullChain:Hl,createMetaProperty:L4,updateMetaProperty:z7,createTemplateSpan:K1,updateTemplateSpan:H7,createSemicolonClassElement:X_,createBlock:jd,updateBlock:Bp,createVariableStatement:Ip,updateVariableStatement:G1,createEmptyStatement:PT,createExpressionStatement:Z_,updateExpressionStatement:V1,createIfStatement:Y7,updateIfStatement:yy,createDoStatement:w2,updateDoStatement:eh,createWhileStatement:th,updateWhileStatement:K7,createForStatement:f_,updateForStatement:sl,createForInStatement:BT,updateForInStatement:NA,createForOfStatement:X0,updateForOfStatement:$0,createContinueStatement:j1,updateContinueStatement:Jd,createBreakStatement:Xd,updateBreakStatement:Sx,createReturnStatement:qy,updateReturnStatement:R5,createWithStatement:Cy,updateWithStatement:Ay,createSwitchStatement:z4,updateSwitchStatement:G7,createLabeledStatement:sc,updateLabeledStatement:$x,createThrowStatement:ik,updateThrowStatement:gy,createTryStatement:rh,updateTryStatement:Qx,createDebuggerStatement:pT,createVariableDeclaration:J1,updateVariableDeclaration:by,createVariableDeclarationList:Mc,updateVariableDeclarationList:nh,createFunctionDeclaration:ak,updateFunctionDeclaration:Nx,createClassDeclaration:Oy,updateClassDeclaration:vy,createInterfaceDeclaration:sk,updateInterfaceDeclaration:ih,createTypeAliasDeclaration:u0,updateTypeAliasDeclaration:ah,createEnumDeclaration:H4,updateEnumDeclaration:IT,createModuleDeclaration:Zd,updateModuleDeclaration:uR,createModuleBlock:oc,updateModuleBlock:Wc,createCaseBlock:Dy,updateCaseBlock:u5,createNamespaceExportDeclaration:Sy,updateNamespaceExportDeclaration:ok,createImportEqualsDeclaration:d_,updateImportEqualsDeclaration:Rk,createImportDeclaration:Y4,updateImportDeclaration:K4,createImportClause:sh,updateImportClause:wx,createAssertClause:uk,updateAssertClause:$y,createAssertEntry:V7,updateAssertEntry:G4,createImportTypeAssertionContainer:V4,updateImportTypeAssertionContainer:ex,createImportAttributes:oh,updateImportAttributes:Qy,createImportAttribute:B2,updateImportAttribute:lk,createNamespaceImport:Mp,updateNamespaceImport:j7,createNamespaceExport:te,updateNamespaceExport:_e,createNamedImports:je,updateNamedImports:er,createImportSpecifier:Br,updateImportSpecifier:In,createExportAssignment:ti,updateExportAssignment:va,createExportDeclaration:io,updateExportDeclaration:ss,createNamedExports:Lo,updateNamedExports:WR,createExportSpecifier:Yl,updateExportSpecifier:Wp,createMissingDeclaration:MT,createExternalModuleReference:Rc,updateExternalModuleReference:Uc,get createJSDocAllType(){return c(312)},get createJSDocUnknownType(){return c(313)},get createJSDocNonNullableType(){return f(315)},get updateJSDocNonNullableType(){return m(315)},get createJSDocNullableType(){return f(314)},get updateJSDocNullableType(){return m(314)},get createJSDocOptionalType(){return h(316)},get updateJSDocOptionalType(){return _(316)},get createJSDocVariadicType(){return h(318)},get updateJSDocVariadicType(){return _(318)},get createJSDocNamepathType(){return h(319)},get updateJSDocNamepathType(){return _(319)},createJSDocFunctionType:fR,updateJSDocFunctionType:UT,createJSDocTypeLiteral:_T,updateJSDocTypeLiteral:FT,createJSDocTypeExpression:Up,updateJSDocTypeExpression:Rh,createJSDocSignature:Mu,updateJSDocSignature:Wu,createJSDocTemplateTag:ck,updateJSDocTemplateTag:Ny,createJSDocTypedefTag:j4,updateJSDocTypedefTag:bg,createJSDocParameterTag:J4,updateJSDocParameterTag:wA,createJSDocPropertyTag:Eg,updateJSDocPropertyTag:AO,createJSDocCallbackTag:gO,updateJSDocCallbackTag:Og,createJSDocOverloadTag:PA,updateJSDocOverloadTag:BA,createJSDocAugmentsTag:IA,updateJSDocAugmentsTag:wy,createJSDocImplementsTag:vg,updateJSDocImplementsTag:Bx,createJSDocSeeTag:J7,updateJSDocSeeTag:Lc,createJSDocImportTag:T5,updateJSDocImportTag:p5,createJSDocNameReference:ol,updateJSDocNameReference:Z0,createJSDocMemberName:Au,updateJSDocMemberName:bO,createJSDocLink:tp,updateJSDocLink:Fp,createJSDocLinkCode:EO,updateJSDocLinkCode:X7,createJSDocLinkPlain:tx,updateJSDocLinkPlain:Px,get createJSDocTypeTag(){return A(344)},get updateJSDocTypeTag(){return D(344)},get createJSDocReturnTag(){return A(342)},get updateJSDocReturnTag(){return D(342)},get createJSDocThisTag(){return A(343)},get updateJSDocThisTag(){return D(343)},get createJSDocAuthorTag(){return x(330)},get updateJSDocAuthorTag(){return y(330)},get createJSDocClassTag(){return x(332)},get updateJSDocClassTag(){return y(332)},get createJSDocPublicTag(){return x(333)},get updateJSDocPublicTag(){return y(333)},get createJSDocPrivateTag(){return x(334)},get updateJSDocPrivateTag(){return y(334)},get createJSDocProtectedTag(){return x(335)},get updateJSDocProtectedTag(){return y(335)},get createJSDocReadonlyTag(){return x(336)},get updateJSDocReadonlyTag(){return y(336)},get createJSDocOverrideTag(){return x(337)},get updateJSDocOverrideTag(){return y(337)},get createJSDocDeprecatedTag(){return x(331)},get updateJSDocDeprecatedTag(){return y(331)},get createJSDocThrowsTag(){return A(349)},get updateJSDocThrowsTag(){return D(349)},get createJSDocSatisfiesTag(){return A(350)},get updateJSDocSatisfiesTag(){return D(350)},createJSDocEnumTag:MA,updateJSDocEnumTag:c5,createJSDocUnknownTag:p1,updateJSDocUnknownTag:rp,createJSDocText:WA,updateJSDocText:RS,createJSDocComment:X4,updateJSDocComment:$g,createJsxElement:Qg,updateJsxElement:I2,createJsxSelfClosingElement:LT,updateJsxSelfClosingElement:uh,createJsxOpeningElement:Z4,updateJsxOpeningElement:lh,createJsxClosingElement:Lp,updateJsxClosingElement:gu,createJsxFragment:x_,createJsxText:Py,updateJsxText:_5,createJsxOpeningFragment:FA,createJsxJsxClosingFragment:LA,updateJsxFragment:UA,createJsxAttribute:zA,updateJsxAttribute:e6,createJsxAttributes:t6,updateJsxAttributes:h5,createJsxSpreadAttribute:HA,updateJsxSpreadAttribute:Ng,createJsxExpression:r6,updateJsxExpression:By,createJsxNamespacedName:YA,updateJsxNamespacedName:Tk,createCaseClause:Iy,updateCaseClause:vO,createDefaultClause:pk,updateDefaultClause:KA,createHeritageClause:wg,updateHeritageClause:DO,createCatchClause:GA,updateCatchClause:VA,createPropertyAssignment:_k,updatePropertyAssignment:Z7,createShorthandPropertyAssignment:hk,updateShorthandPropertyAssignment:f5,createSpreadAssignment:i6,updateSpreadAssignment:zp,createEnumMember:Uu,updateEnumMember:x5,createSourceFile:Pg,updateSourceFile:Mg,createRedirectedSourceFile:m5,createBundle:a6,updateBundle:JA,createSyntheticExpression:My,createSyntaxList:M2,createNotEmittedStatement:s6,createNotEmittedTypeElement:Wg,createPartiallyEmittedExpression:ch,updatePartiallyEmittedExpression:Ix,createCommaListExpression:rx,updateCommaListExpression:zT,createSyntheticReferenceExpression:np,updateSyntheticReferenceExpression:em,cloneNode:y5,get createComma(){return s(28)},get createAssignment(){return s(64)},get createLogicalOr(){return s(57)},get createLogicalAnd(){return s(56)},get createBitwiseOr(){return s(52)},get createBitwiseXor(){return s(53)},get createBitwiseAnd(){return s(51)},get createStrictEquality(){return s(37)},get createStrictInequality(){return s(38)},get createEquality(){return s(35)},get createInequality(){return s(36)},get createLessThan(){return s(30)},get createLessThanEquals(){return s(33)},get createGreaterThan(){return s(32)},get createGreaterThanEquals(){return s(34)},get createLeftShift(){return s(48)},get createRightShift(){return s(49)},get createUnsignedRightShift(){return s(50)},get createAdd(){return s(40)},get createSubtract(){return s(41)},get createMultiply(){return s(42)},get createDivide(){return s(44)},get createModulo(){return s(45)},get createExponent(){return s(43)},get createPrefixPlus(){return R(40)},get createPrefixMinus(){return R(41)},get createPrefixIncrement(){return R(46)},get createPrefixDecrement(){return R(47)},get createBitwiseNot(){return R(55)},get createLogicalNot(){return R(54)},get createPostfixIncrement(){return l(46)},get createPostfixDecrement(){return l(47)},createImmediatelyInvokedFunctionExpression:Lg,createImmediatelyInvokedArrowFunction:zg,createVoidZero:fk,createExportDefault:e3,createExternalModuleExport:Hg,createTypeCheck:nx,createIsNotTypeCheck:_1,createMethodCall:Hp,createGlobalMethodCall:Wy,createFunctionBindCall:Yg,createFunctionCallCall:t3,createFunctionApplyCall:Kg,createArraySliceCall:o6,createArrayConcatCall:Gg,createObjectDefinePropertyCall:R6,createObjectGetOwnPropertyDescriptorCall:Yp,createReflectGetCall:ix,createReflectSetCall:q5,createPropertyDescriptor:tm,createCallBinding:r3,createAssignmentTargetWrapper:oe,inlineExpressions:De,getInternalName:Et,getLocalName:lr,getExportName:Kr,getDeclarationName:Gn,getNamespaceMemberName:Qi,getExternalModuleOrNamespaceExportName:fi,restoreOuterExpressions:W2,restoreEnclosingLabel:hT,createUseStrictPrologue:Zs,copyPrologue:si,copyStandardPrologue:lo,copyCustomPrologue:qs,ensureUseStrict:HT,liftToBlock:ip,mergeLexicalEnvironment:k_,replaceModifiers:YT,replaceDecoratorsAndModifiers:Mx,replacePropertyName:n3};return SA(Kgn,b=>b(S)),S;function P(b,z){if(b===void 0||b===vp)b=[];else if(BW(b)){if(z===void 0||b.hasTrailingComma===z)return b.transformFlags===void 0&&Nlr(b),$n.attachNodeArrayDebugInfo(b),b;let et=b.slice();return et.pos=b.pos,et.end=b.end,et.hasTrailingComma=z,et.transformFlags=b.transformFlags,$n.attachNodeArrayDebugInfo(et),et}let re=b.length,de=re>=1&&re<=4?b.slice():b;return de.pos=-1,de.end=-1,de.hasTrailingComma=!!z,de.transformFlags=0,Nlr(de),$n.attachNodeArrayDebugInfo(de),de}function M(b){return t.createBaseNode(b)}function U(b){let z=M(b);return z.symbol=void 0,z.localSymbol=void 0,z}function w(b,z){return b!==z&&(b.typeArguments=z.typeArguments),pn(b,z)}function F(b,z=0){let re=typeof b=="number"?b+"":b;$n.assert(re.charCodeAt(0)!==45,"Negative numbers should be created in combination with createPrefixUnaryExpression");let de=U(9);return de.text=re,de.numericLiteralFlags=z,z&384&&(de.transformFlags|=1024),de}function H(b){let z=Ut(10);return z.text=typeof b=="string"?b:Ign(b)+"n",z.transformFlags|=32,z}function G(b,z){let re=U(11);return re.text=b,re.singleQuote=z,re}function ee(b,z,re){let de=G(b,z);return de.hasExtendedUnicodeEscape=re,re&&(de.transformFlags|=1024),de}function fe(b){let z=G(egn(b),void 0);return z.textSourceNode=b,z}function me(b){let z=Ut(14);return z.text=b,z}function ve(b,z){switch(b){case 9:return F(z,0);case 10:return H(z);case 11:return ee(z,void 0);case 12:return Py(z,!1);case 13:return Py(z,!0);case 14:return me(z);case 15:return Go(b,z,void 0,0)}}function Ae(b){let z=t.createBaseIdentifierNode(80);return z.escapedText=b,z.jsDoc=void 0,z.flowNode=void 0,z.symbol=void 0,z}function Ue(b,z,re,de){let et=Ae(cse(b));return setIdentifierAutoGenerate(et,{flags:z,id:q9e,prefix:re,suffix:de}),q9e++,et}function Ee(b,z,re){z===void 0&&b&&(z=jcr(b)),z===80&&(z=void 0);let de=Ae(cse(b));return re&&(de.flags|=256),de.escapedText==="await"&&(de.transformFlags|=67108864),de.flags&256&&(de.transformFlags|=1024),de}function Me(b,z,re,de){let et=1;z&&(et|=8);let ur=Ue("",et,re,de);return b&&b(ur),ur}function gt(b){let z=2;return b&&(z|=8),Ue("",z,void 0,void 0)}function xt(b,z=0,re,de){return $n.assert(!(z&7),"Argument out of range: flags"),$n.assert((z&48)!==32,"GeneratedIdentifierFlags.FileLevel cannot be set without also setting GeneratedIdentifierFlags.Optimistic"),Ue(b,3|z,re,de)}function Nt(b,z=0,re,de){$n.assert(!(z&7),"Argument out of range: flags");let et=b?P5t(b)?z5t(!1,re,b,de,ZC):`generated@${getNodeId(b)}`:"";(re||de)&&(z|=16);let ur=Ue(et,4|z,re,de);return ur.original=b,ur}function lt(b){let z=t.createBasePrivateIdentifierNode(81);return z.escapedText=b,z.transformFlags|=16777216,z}function at(b){return S9e(b,"#")||$n.fail("First character of private identifier must be #: "+b),lt(cse(b))}function _t(b,z,re,de){let et=lt(cse(b));return setIdentifierAutoGenerate(et,{flags:z,id:q9e,prefix:re,suffix:de}),q9e++,et}function Ve(b,z,re){b&&!S9e(b,"#")&&$n.fail("First character of private identifier must be #: "+b);let de=8|(b?3:1);return _t(b??"",de,z,re)}function Dt(b,z,re){let de=P5t(b)?z5t(!0,z,b,re,ZC):`#generated@${getNodeId(b)}`,et=_t(de,4|(z||re?16:0),z,re);return et.original=b,et}function Ut(b){return t.createBaseTokenNode(b)}function pt(b){$n.assert(b>=0&&b<=165,"Invalid token"),$n.assert(b<=15||b>=18,"Invalid token. Use 'createTemplateLiteralLikeNode' to create template literals."),$n.assert(b<=9||b>=15,"Invalid token. Use 'createLiteralLikeNode' to create literals."),$n.assert(b!==80,"Invalid token. Use 'createIdentifier' to create identifiers");let z=Ut(b),re=0;switch(b){case 134:re=384;break;case 160:re=4;break;case 125:case 123:case 124:case 148:case 128:case 138:case 87:case 133:case 150:case 163:case 146:case 151:case 103:case 147:case 164:case 154:case 136:case 155:case 116:case 159:case 157:re=1;break;case 108:re=134218752,z.flowNode=void 0;break;case 126:re=1024;break;case 129:re=16777216;break;case 110:re=16384,z.flowNode=void 0;break}return re&&(z.transformFlags|=re),z}function ht(){return pt(108)}function He(){return pt(110)}function jt(){return pt(106)}function zr(){return pt(112)}function Bn(){return pt(97)}function an(b){return pt(b)}function ri(b){let z=[];return b&32&&z.push(an(95)),b&128&&z.push(an(138)),b&2048&&z.push(an(90)),b&4096&&z.push(an(87)),b&1&&z.push(an(125)),b&2&&z.push(an(123)),b&4&&z.push(an(124)),b&64&&z.push(an(128)),b&256&&z.push(an(126)),b&16&&z.push(an(164)),b&8&&z.push(an(148)),b&512&&z.push(an(129)),b&1024&&z.push(an(134)),b&8192&&z.push(an(103)),b&16384&&z.push(an(147)),z.length?z:void 0}function Zr(b,z){let re=M(166);return re.left=b,re.right=Zo(z),re.transformFlags|=Un(re.left)|pse(re.right),re.flowNode=void 0,re}function bn(b,z,re){return b.left!==z||b.right!==re?pn(Zr(z,re),b):b}function Zn(b){let z=M(167);return z.expression=n().parenthesizeExpressionOfComputedPropertyName(b),z.transformFlags|=Un(z.expression)|1024|131072,z}function mi(b,z){return b.expression!==z?pn(Zn(z),b):b}function Sn(b,z,re,de){let et=U(168);return et.modifiers=us(b),et.name=Zo(z),et.constraint=re,et.default=de,et.transformFlags=1,et.expression=void 0,et.jsDoc=void 0,et}function $i(b,z,re,de,et){return b.modifiers!==z||b.name!==re||b.constraint!==de||b.default!==et?pn(Sn(z,re,de,et),b):b}function cs(b,z,re,de,et,ur){let vn=U(169);return vn.modifiers=us(b),vn.dotDotDotToken=z,vn.name=Zo(re),vn.questionToken=de,vn.type=et,vn.initializer=Th(ur),rgn(vn.name)?vn.transformFlags=1:vn.transformFlags=Xs(vn.modifiers)|Un(vn.dotDotDotToken)|OA(vn.name)|Un(vn.questionToken)|Un(vn.initializer)|(vn.questionToken??vn.type?1:0)|(vn.dotDotDotToken??vn.initializer?1024:0)|(vA(vn.modifiers)&31?8192:0),vn.jsDoc=void 0,vn}function Ti(b,z,re,de,et,ur,vn){return b.modifiers!==z||b.dotDotDotToken!==re||b.name!==de||b.questionToken!==et||b.type!==ur||b.initializer!==vn?pn(cs(z,re,de,et,ur,vn),b):b}function Wi(b){let z=M(170);return z.expression=n().parenthesizeLeftSideOfAccess(b,!1),z.transformFlags|=Un(z.expression)|1|8192|33554432,z}function Fn(b,z){return b.expression!==z?pn(Wi(z),b):b}function Hi(b,z,re,de){let et=U(171);return et.modifiers=us(b),et.name=Zo(z),et.type=de,et.questionToken=re,et.transformFlags=1,et.initializer=void 0,et.jsDoc=void 0,et}function Ma(b,z,re,de,et){return b.modifiers!==z||b.name!==re||b.questionToken!==de||b.type!==et?mt(Hi(z,re,de,et),b):b}function mt(b,z){return b!==z&&(b.initializer=z.initializer),pn(b,z)}function ot(b,z,re,de,et){let ur=U(172);ur.modifiers=us(b),ur.name=Zo(z),ur.questionToken=re&&Plr(re)?re:void 0,ur.exclamationToken=re&&wlr(re)?re:void 0,ur.type=de,ur.initializer=Th(et);let vn=ur.flags&33554432||vA(ur.modifiers)&128;return ur.transformFlags=Xs(ur.modifiers)|OA(ur.name)|Un(ur.initializer)|(vn||ur.questionToken||ur.exclamationToken||ur.type?1:0)|(wTr(ur.name)||vA(ur.modifiers)&256&&ur.initializer?8192:0)|16777216,ur.jsDoc=void 0,ur}function Je(b,z,re,de,et,ur){return b.modifiers!==z||b.name!==re||b.questionToken!==(de!==void 0&&Plr(de)?de:void 0)||b.exclamationToken!==(de!==void 0&&wlr(de)?de:void 0)||b.type!==et||b.initializer!==ur?pn(ot(z,re,de,et,ur),b):b}function Ct(b,z,re,de,et,ur){let vn=U(173);return vn.modifiers=us(b),vn.name=Zo(z),vn.questionToken=re,vn.typeParameters=us(de),vn.parameters=us(et),vn.type=ur,vn.transformFlags=1,vn.jsDoc=void 0,vn.locals=void 0,vn.nextContainer=void 0,vn.typeArguments=void 0,vn}function Pt(b,z,re,de,et,ur,vn){return b.modifiers!==z||b.name!==re||b.questionToken!==de||b.typeParameters!==et||b.parameters!==ur||b.type!==vn?w(Ct(z,re,de,et,ur,vn),b):b}function Zt(b,z,re,de,et,ur,vn,Yi){let ls=U(174);if(ls.modifiers=us(b),ls.asteriskToken=z,ls.name=Zo(re),ls.questionToken=de,ls.exclamationToken=void 0,ls.typeParameters=us(et),ls.parameters=P(ur),ls.type=vn,ls.body=Yi,!ls.body)ls.transformFlags=1;else{let Fu=vA(ls.modifiers)&1024,Kp=!!ls.asteriskToken,h1=Fu&&Kp;ls.transformFlags=Xs(ls.modifiers)|Un(ls.asteriskToken)|OA(ls.name)|Un(ls.questionToken)|Xs(ls.typeParameters)|Xs(ls.parameters)|Un(ls.type)|Un(ls.body)&-67108865|(h1?128:Fu?256:Kp?2048:0)|(ls.questionToken||ls.typeParameters||ls.type?1:0)|1024}return ls.typeArguments=void 0,ls.jsDoc=void 0,ls.locals=void 0,ls.nextContainer=void 0,ls.flowNode=void 0,ls.endFlowNode=void 0,ls.returnFlowNode=void 0,ls}function dr(b,z,re,de,et,ur,vn,Yi,ls){return b.modifiers!==z||b.asteriskToken!==re||b.name!==de||b.questionToken!==et||b.typeParameters!==ur||b.parameters!==vn||b.type!==Yi||b.body!==ls?vr(Zt(z,re,de,et,ur,vn,Yi,ls),b):b}function vr(b,z){return b!==z&&(b.exclamationToken=z.exclamationToken),pn(b,z)}function ln(b){let z=U(175);return z.body=b,z.transformFlags=Un(b)|16777216,z.modifiers=void 0,z.jsDoc=void 0,z.locals=void 0,z.nextContainer=void 0,z.endFlowNode=void 0,z.returnFlowNode=void 0,z}function Mn(b,z){return b.body!==z?li(ln(z),b):b}function li(b,z){return b!==z&&(b.modifiers=z.modifiers),pn(b,z)}function Pi(b,z,re){let de=U(176);return de.modifiers=us(b),de.parameters=P(z),de.body=re,de.body?de.transformFlags=Xs(de.modifiers)|Xs(de.parameters)|Un(de.body)&-67108865|1024:de.transformFlags=1,de.typeParameters=void 0,de.type=void 0,de.typeArguments=void 0,de.jsDoc=void 0,de.locals=void 0,de.nextContainer=void 0,de.endFlowNode=void 0,de.returnFlowNode=void 0,de}function Ss(b,z,re,de){return b.modifiers!==z||b.parameters!==re||b.body!==de?Ca(Pi(z,re,de),b):b}function Ca(b,z){return b!==z&&(b.typeParameters=z.typeParameters,b.type=z.type),w(b,z)}function Jr(b,z,re,de,et){let ur=U(177);return ur.modifiers=us(b),ur.name=Zo(z),ur.parameters=P(re),ur.type=de,ur.body=et,ur.body?ur.transformFlags=Xs(ur.modifiers)|OA(ur.name)|Xs(ur.parameters)|Un(ur.type)|Un(ur.body)&-67108865|(ur.type?1:0):ur.transformFlags=1,ur.typeArguments=void 0,ur.typeParameters=void 0,ur.jsDoc=void 0,ur.locals=void 0,ur.nextContainer=void 0,ur.flowNode=void 0,ur.endFlowNode=void 0,ur.returnFlowNode=void 0,ur}function Mr(b,z,re,de,et,ur){return b.modifiers!==z||b.name!==re||b.parameters!==de||b.type!==et||b.body!==ur?An(Jr(z,re,de,et,ur),b):b}function An(b,z){return b!==z&&(b.typeParameters=z.typeParameters),w(b,z)}function Ar(b,z,re,de){let et=U(178);return et.modifiers=us(b),et.name=Zo(z),et.parameters=P(re),et.body=de,et.body?et.transformFlags=Xs(et.modifiers)|OA(et.name)|Xs(et.parameters)|Un(et.body)&-67108865|(et.type?1:0):et.transformFlags=1,et.typeArguments=void 0,et.typeParameters=void 0,et.type=void 0,et.jsDoc=void 0,et.locals=void 0,et.nextContainer=void 0,et.flowNode=void 0,et.endFlowNode=void 0,et.returnFlowNode=void 0,et}function nn(b,z,re,de,et){return b.modifiers!==z||b.name!==re||b.parameters!==de||b.body!==et?On(Ar(z,re,de,et),b):b}function On(b,z){return b!==z&&(b.typeParameters=z.typeParameters,b.type=z.type),w(b,z)}function bi(b,z,re){let de=U(179);return de.typeParameters=us(b),de.parameters=us(z),de.type=re,de.transformFlags=1,de.jsDoc=void 0,de.locals=void 0,de.nextContainer=void 0,de.typeArguments=void 0,de}function ji(b,z,re,de){return b.typeParameters!==z||b.parameters!==re||b.type!==de?w(bi(z,re,de),b):b}function Ta(b,z,re){let de=U(180);return de.typeParameters=us(b),de.parameters=us(z),de.type=re,de.transformFlags=1,de.jsDoc=void 0,de.locals=void 0,de.nextContainer=void 0,de.typeArguments=void 0,de}function Bi(b,z,re,de){return b.typeParameters!==z||b.parameters!==re||b.type!==de?w(Ta(z,re,de),b):b}function ws(b,z,re){let de=U(181);return de.modifiers=us(b),de.parameters=us(z),de.type=re,de.transformFlags=1,de.jsDoc=void 0,de.locals=void 0,de.nextContainer=void 0,de.typeArguments=void 0,de}function Xo(b,z,re,de){return b.parameters!==re||b.type!==de||b.modifiers!==z?w(ws(z,re,de),b):b}function No(b,z){let re=M(204);return re.type=b,re.literal=z,re.transformFlags=1,re}function Fa(b,z,re){return b.type!==z||b.literal!==re?pn(No(z,re),b):b}function wc(b){return pt(b)}function D0(b,z,re){let de=M(182);return de.assertsModifier=b,de.parameterName=Zo(z),de.type=re,de.transformFlags=1,de}function _R(b,z,re,de){return b.assertsModifier!==z||b.parameterName!==re||b.type!==de?pn(D0(z,re,de),b):b}function XR(b,z){let re=M(183);return re.typeName=Zo(b),re.typeArguments=z&&n().parenthesizeTypeArguments(P(z)),re.transformFlags=1,re}function Wr(b,z,re){return b.typeName!==z||b.typeArguments!==re?pn(XR(z,re),b):b}function Aa(b,z,re){let de=U(184);return de.typeParameters=us(b),de.parameters=us(z),de.type=re,de.transformFlags=1,de.modifiers=void 0,de.jsDoc=void 0,de.locals=void 0,de.nextContainer=void 0,de.typeArguments=void 0,de}function Ce(b,z,re,de){return b.typeParameters!==z||b.parameters!==re||b.type!==de?Oa(Aa(z,re,de),b):b}function Oa(b,z){return b!==z&&(b.modifiers=z.modifiers),w(b,z)}function $s(...b){return b.length===4?hn(...b):b.length===3?ro(...b):$n.fail("Incorrect number of arguments specified.")}function hn(b,z,re,de){let et=U(185);return et.modifiers=us(b),et.typeParameters=us(z),et.parameters=us(re),et.type=de,et.transformFlags=1,et.jsDoc=void 0,et.locals=void 0,et.nextContainer=void 0,et.typeArguments=void 0,et}function ro(b,z,re){return hn(void 0,b,z,re)}function Ml(...b){return b.length===5?_o(...b):b.length===4?Mo(...b):$n.fail("Incorrect number of arguments specified.")}function _o(b,z,re,de,et){return b.modifiers!==z||b.typeParameters!==re||b.parameters!==de||b.type!==et?w($s(z,re,de,et),b):b}function Mo(b,z,re,de){return _o(b,b.modifiers,z,re,de)}function ZR(b,z){let re=M(186);return re.exprName=b,re.typeArguments=z&&n().parenthesizeTypeArguments(z),re.transformFlags=1,re}function RR(b,z,re){return b.exprName!==z||b.typeArguments!==re?pn(ZR(z,re),b):b}function IR(b){let z=U(187);return z.members=P(b),z.transformFlags=1,z}function nl(b,z){return b.members!==z?pn(IR(z),b):b}function u1(b){let z=M(188);return z.elementType=n().parenthesizeNonArrayTypeOfPostfixType(b),z.transformFlags=1,z}function V_(b,z){return b.elementType!==z?pn(u1(z),b):b}function sT(b){let z=M(189);return z.elements=P(n().parenthesizeElementTypesOfTupleType(b)),z.transformFlags=1,z}function Nn(b,z){return b.elements!==z?pn(sT(z),b):b}function vi(b,z,re,de){let et=U(202);return et.dotDotDotToken=b,et.name=z,et.questionToken=re,et.type=de,et.transformFlags=1,et.jsDoc=void 0,et}function oo(b,z,re,de,et){return b.dotDotDotToken!==z||b.name!==re||b.questionToken!==de||b.type!==et?pn(vi(z,re,de,et),b):b}function _a(b){let z=M(190);return z.type=n().parenthesizeTypeOfOptionalType(b),z.transformFlags=1,z}function Tn(b,z){return b.type!==z?pn(_a(z),b):b}function P0(b){let z=M(191);return z.type=b,z.transformFlags=1,z}function B0(b,z){return b.type!==z?pn(P0(z),b):b}function h0(b,z,re){let de=M(b);return de.types=S.createNodeArray(re(z)),de.transformFlags=1,de}function o0(b,z,re){return b.types!==z?pn(h0(b.kind,z,re),b):b}function D2(b){return h0(192,b,n().parenthesizeConstituentTypesOfUnionType)}function Ru(b,z){return o0(b,z,n().parenthesizeConstituentTypesOfUnionType)}function hR(b){return h0(193,b,n().parenthesizeConstituentTypesOfIntersectionType)}function Qs(b,z){return o0(b,z,n().parenthesizeConstituentTypesOfIntersectionType)}function S0(b,z,re,de){let et=M(194);return et.checkType=n().parenthesizeCheckTypeOfConditionalType(b),et.extendsType=n().parenthesizeExtendsTypeOfConditionalType(z),et.trueType=re,et.falseType=de,et.transformFlags=1,et.locals=void 0,et.nextContainer=void 0,et}function Jm(b,z,re,de,et){return b.checkType!==z||b.extendsType!==re||b.trueType!==de||b.falseType!==et?pn(S0(z,re,de,et),b):b}function Wl(b){let z=M(195);return z.typeParameter=b,z.transformFlags=1,z}function S2(b,z){return b.typeParameter!==z?pn(Wl(z),b):b}function uu(b,z){let re=M(203);return re.head=b,re.templateSpans=P(z),re.transformFlags=1,re}function rc(b,z,re){return b.head!==z||b.templateSpans!==re?pn(uu(z,re),b):b}function il(b,z,re,de,et=!1){let ur=M(205);return ur.argument=b,ur.attributes=z,ur.assertions&&ur.assertions.assertClause&&ur.attributes&&(ur.assertions.assertClause=ur.attributes),ur.qualifier=re,ur.typeArguments=de&&n().parenthesizeTypeArguments(de),ur.isTypeOf=et,ur.transformFlags=1,ur}function l1(b,z,re,de,et,ur=b.isTypeOf){return b.argument!==z||b.attributes!==re||b.qualifier!==de||b.typeArguments!==et||b.isTypeOf!==ur?pn(il(z,re,de,et,ur),b):b}function f0(b){let z=M(196);return z.type=b,z.transformFlags=1,z}function y0(b,z){return b.type!==z?pn(f0(z),b):b}function Or(){let b=M(197);return b.transformFlags=1,b}function MR(b,z){let re=M(198);return re.operator=b,re.type=b===148?n().parenthesizeOperandOfReadonlyTypeOperator(z):n().parenthesizeOperandOfTypeOperator(z),re.transformFlags=1,re}function Ba(b,z){return b.type!==z?pn(MR(b.operator,z),b):b}function Bu(b,z){let re=M(199);return re.objectType=n().parenthesizeNonArrayTypeOfPostfixType(b),re.indexType=z,re.transformFlags=1,re}function al(b,z,re){return b.objectType!==z||b.indexType!==re?pn(Bu(z,re),b):b}function I0(b,z,re,de,et,ur){let vn=U(200);return vn.readonlyToken=b,vn.typeParameter=z,vn.nameType=re,vn.questionToken=de,vn.type=et,vn.members=ur&&P(ur),vn.transformFlags=1,vn.locals=void 0,vn.nextContainer=void 0,vn}function Iu(b,z,re,de,et,ur,vn){return b.readonlyToken!==z||b.typeParameter!==re||b.nameType!==de||b.questionToken!==et||b.type!==ur||b.members!==vn?pn(I0(z,re,de,et,ur,vn),b):b}function oT(b){let z=M(201);return z.literal=b,z.transformFlags=1,z}function Ul(b,z){return b.literal!==z?pn(oT(z),b):b}function c1(b){let z=M(206);return z.elements=P(b),z.transformFlags|=Xs(z.elements)|1024|524288,z.transformFlags&32768&&(z.transformFlags|=65664),z}function RT(b,z){return b.elements!==z?pn(c1(z),b):b}function Fl(b){let z=M(207);return z.elements=P(b),z.transformFlags|=Xs(z.elements)|1024|524288,z}function M7(b,z){return b.elements!==z?pn(Fl(z),b):b}function L1(b,z,re,de){let et=U(208);return et.dotDotDotToken=b,et.propertyName=Zo(z),et.name=Zo(re),et.initializer=Th(de),et.transformFlags|=Un(et.dotDotDotToken)|OA(et.propertyName)|OA(et.name)|Un(et.initializer)|(et.dotDotDotToken?32768:0)|1024,et.flowNode=void 0,et}function uT(b,z,re,de,et){return b.propertyName!==re||b.dotDotDotToken!==z||b.name!==de||b.initializer!==et?pn(L1(z,re,de,et),b):b}function Ax(b,z){let re=M(209),de=b&&MX(b),et=P(b,de&&Pbn(de)?!0:void 0);return re.elements=n().parenthesizeExpressionsOfCommaDelimitedList(et),re.multiLine=z,re.transformFlags|=Xs(re.elements),re}function W7(b,z){return b.elements!==z?pn(Ax(z,b.multiLine),b):b}function gx(b,z){let re=U(210);return re.properties=P(b),re.multiLine=z,re.transformFlags|=Xs(re.properties),re.jsDoc=void 0,re}function Xm(b,z){return b.properties!==z?pn(gx(z,b.multiLine),b):b}function Ia(b,z,re){let de=U(211);return de.expression=b,de.questionDotToken=z,de.name=re,de.transformFlags=Un(de.expression)|Un(de.questionDotToken)|(Pu(de.name)?pse(de.name):Un(de.name)|536870912),de.jsDoc=void 0,de.flowNode=void 0,de}function lT(b,z){let re=Ia(n().parenthesizeLeftSideOfAccess(b,!1),void 0,Zo(z));return A5t(b)&&(re.transformFlags|=384),re}function $p(b,z,re){return KAn(b)?cT(b,z,b.questionDotToken,YD(re,Pu)):b.expression!==z||b.name!==re?pn(lT(z,re),b):b}function Pc(b,z,re){let de=Ia(n().parenthesizeLeftSideOfAccess(b,!0),z,Zo(re));return de.flags|=64,de.transformFlags|=32,de}function cT(b,z,re,de){return $n.assert(!!(b.flags&64),"Cannot update a PropertyAccessExpression using updatePropertyAccessChain. Use updatePropertyAccess instead."),b.expression!==z||b.questionDotToken!==re||b.name!==de?pn(Pc(z,re,de),b):b}function z1(b,z,re){let de=U(212);return de.expression=b,de.questionDotToken=z,de.argumentExpression=re,de.transformFlags|=Un(de.expression)|Un(de.questionDotToken)|Un(de.argumentExpression),de.jsDoc=void 0,de.flowNode=void 0,de}function T1(b,z){let re=z1(n().parenthesizeLeftSideOfAccess(b,!1),void 0,Wx(z));return A5t(b)&&(re.transformFlags|=384),re}function Zm(b,z,re){return GAn(b)?Bc(b,z,b.questionDotToken,re):b.expression!==z||b.argumentExpression!==re?pn(T1(z,re),b):b}function NT(b,z,re){let de=z1(n().parenthesizeLeftSideOfAccess(b,!0),z,Wx(re));return de.flags|=64,de.transformFlags|=32,de}function Bc(b,z,re,de){return $n.assert(!!(b.flags&64),"Cannot update a ElementAccessExpression using updateElementAccessChain. Use updateElementAccess instead."),b.expression!==z||b.questionDotToken!==re||b.argumentExpression!==de?pn(NT(z,re,de),b):b}function H1(b,z,re,de){let et=U(213);return et.expression=b,et.questionDotToken=z,et.typeArguments=re,et.arguments=de,et.transformFlags|=Un(et.expression)|Un(et.questionDotToken)|Xs(et.typeArguments)|Xs(et.arguments),et.typeArguments&&(et.transformFlags|=1),Elr(et.expression)&&(et.transformFlags|=16384),et}function Qp(b,z,re){let de=H1(n().parenthesizeLeftSideOfAccess(b,!1),void 0,us(z),n().parenthesizeExpressionsOfCommaDelimitedList(P(re)));return abn(de.expression)&&(de.transformFlags|=8388608),de}function U7(b,z,re,de){return klr(b)?bx(b,z,b.questionDotToken,re,de):b.expression!==z||b.typeArguments!==re||b.arguments!==de?pn(Qp(z,re,de),b):b}function Vd(b,z,re,de){let et=H1(n().parenthesizeLeftSideOfAccess(b,!0),z,us(re),n().parenthesizeExpressionsOfCommaDelimitedList(P(de)));return et.flags|=64,et.transformFlags|=32,et}function bx(b,z,re,de,et){return $n.assert(!!(b.flags&64),"Cannot update a CallExpression using updateCallChain. Use updateCall instead."),b.expression!==z||b.questionDotToken!==re||b.typeArguments!==de||b.arguments!==et?pn(Vd(z,re,de,et),b):b}function nc(b,z,re){let de=U(214);return de.expression=n().parenthesizeExpressionOfNew(b),de.typeArguments=us(z),de.arguments=re?n().parenthesizeExpressionsOfCommaDelimitedList(re):void 0,de.transformFlags|=Un(de.expression)|Xs(de.typeArguments)|Xs(de.arguments)|32,de.typeArguments&&(de.transformFlags|=1),de}function Ex(b,z,re,de){return b.expression!==z||b.typeArguments!==re||b.arguments!==de?pn(nc(z,re,de),b):b}function $2(b,z,re){let de=M(215);return de.tag=n().parenthesizeLeftSideOfAccess(b,!1),de.typeArguments=us(z),de.template=re,de.transformFlags|=Un(de.tag)|Xs(de.typeArguments)|Un(de.template)|1024,de.typeArguments&&(de.transformFlags|=1),tgn(de.template)&&(de.transformFlags|=128),de}function ek(b,z,re,de){return b.tag!==z||b.typeArguments!==re||b.template!==de?pn($2(z,re,de),b):b}function Np(b,z){let re=M(216);return re.expression=n().parenthesizeOperandOfPrefixUnary(z),re.type=b,re.transformFlags|=Un(re.expression)|Un(re.type)|1,re}function ql(b,z,re){return b.type!==z||b.expression!==re?pn(Np(z,re),b):b}function Ox(b){let z=M(217);return z.expression=b,z.transformFlags=Un(z.expression),z.jsDoc=void 0,z}function Q2(b,z){return b.expression!==z?pn(Ox(z),b):b}function vx(b,z,re,de,et,ur,vn){let Yi=U(218);Yi.modifiers=us(b),Yi.asteriskToken=z,Yi.name=Zo(re),Yi.typeParameters=us(de),Yi.parameters=P(et),Yi.type=ur,Yi.body=vn;let ls=vA(Yi.modifiers)&1024,Fu=!!Yi.asteriskToken,Kp=ls&&Fu;return Yi.transformFlags=Xs(Yi.modifiers)|Un(Yi.asteriskToken)|OA(Yi.name)|Xs(Yi.typeParameters)|Xs(Yi.parameters)|Un(Yi.type)|Un(Yi.body)&-67108865|(Kp?128:ls?256:Fu?2048:0)|(Yi.typeParameters||Yi.type?1:0)|4194304,Yi.typeArguments=void 0,Yi.jsDoc=void 0,Yi.locals=void 0,Yi.nextContainer=void 0,Yi.flowNode=void 0,Yi.endFlowNode=void 0,Yi.returnFlowNode=void 0,Yi}function j_(b,z,re,de,et,ur,vn,Yi){return b.name!==de||b.modifiers!==z||b.asteriskToken!==re||b.typeParameters!==et||b.parameters!==ur||b.type!==vn||b.body!==Yi?w(vx(z,re,de,et,ur,vn,Yi),b):b}function N2(b,z,re,de,et,ur){let vn=U(219);vn.modifiers=us(b),vn.typeParameters=us(z),vn.parameters=P(re),vn.type=de,vn.equalsGreaterThanToken=et??pt(39),vn.body=n().parenthesizeConciseBodyOfArrowFunction(ur);let Yi=vA(vn.modifiers)&1024;return vn.transformFlags=Xs(vn.modifiers)|Xs(vn.typeParameters)|Xs(vn.parameters)|Un(vn.type)|Un(vn.equalsGreaterThanToken)|Un(vn.body)&-67108865|(vn.typeParameters||vn.type?1:0)|(Yi?16640:0)|1024,vn.typeArguments=void 0,vn.jsDoc=void 0,vn.locals=void 0,vn.nextContainer=void 0,vn.flowNode=void 0,vn.endFlowNode=void 0,vn.returnFlowNode=void 0,vn}function Cl(b,z,re,de,et,ur,vn){return b.modifiers!==z||b.typeParameters!==re||b.parameters!==de||b.type!==et||b.equalsGreaterThanToken!==ur||b.body!==vn?w(N2(z,re,de,et,ur,vn),b):b}function ic(b){let z=M(220);return z.expression=n().parenthesizeOperandOfPrefixUnary(b),z.transformFlags|=Un(z.expression),z}function W4(b,z){return b.expression!==z?pn(ic(z),b):b}function ac(b){let z=M(221);return z.expression=n().parenthesizeOperandOfPrefixUnary(b),z.transformFlags|=Un(z.expression),z}function vR(b,z){return b.expression!==z?pn(ac(z),b):b}function F7(b){let z=M(222);return z.expression=n().parenthesizeOperandOfPrefixUnary(b),z.transformFlags|=Un(z.expression),z}function Ic(b,z){return b.expression!==z?pn(F7(z),b):b}function tk(b){let z=M(223);return z.expression=n().parenthesizeOperandOfPrefixUnary(b),z.transformFlags|=Un(z.expression)|256|128|2097152,z}function J_(b,z){return b.expression!==z?pn(tk(z),b):b}function Q(b,z){let re=M(224);return re.operator=b,re.operand=n().parenthesizeOperandOfPrefixUnary(z),re.transformFlags|=Un(re.operand),(b===46||b===47)&&Pu(re.operand)&&!xse(re.operand)&&!Wlr(re.operand)&&(re.transformFlags|=268435456),re}function C(b,z){return b.operand!==z?pn(Q(b.operator,z),b):b}function I(b,z){let re=M(225);return re.operator=z,re.operand=n().parenthesizeOperandOfPostfixUnary(b),re.transformFlags|=Un(re.operand),Pu(re.operand)&&!xse(re.operand)&&!Wlr(re.operand)&&(re.transformFlags|=268435456),re}function j(b,z){return b.operand!==z?pn(I(z,b.operator),b):b}function Te(b,z,re){let de=U(226),et=KT(z),ur=et.kind;return de.left=n().parenthesizeLeftSideOfBinary(ur,b),de.operatorToken=et,de.right=n().parenthesizeRightSideOfBinary(ur,de.left,re),de.transformFlags|=Un(de.left)|Un(de.operatorToken)|Un(de.right),ur===61?de.transformFlags|=32:ur===64?FTr(de.left)?de.transformFlags|=5248|Be(de.left):Sbn(de.left)&&(de.transformFlags|=5120|Be(de.left)):ur===43||ur===68?de.transformFlags|=512:Tgn(ur)&&(de.transformFlags|=16),ur===103&&HX(de.left)&&(de.transformFlags|=536870912),de.jsDoc=void 0,de}function Be(b){return s1r(b)?65536:0}function ct(b,z,re,de){return b.left!==z||b.operatorToken!==re||b.right!==de?pn(Te(z,re,de),b):b}function zt(b,z,re,de,et){let ur=M(227);return ur.condition=n().parenthesizeConditionOfConditionalExpression(b),ur.questionToken=z??pt(58),ur.whenTrue=n().parenthesizeBranchOfConditionalExpression(re),ur.colonToken=de??pt(59),ur.whenFalse=n().parenthesizeBranchOfConditionalExpression(et),ur.transformFlags|=Un(ur.condition)|Un(ur.questionToken)|Un(ur.whenTrue)|Un(ur.colonToken)|Un(ur.whenFalse),ur}function Rr(b,z,re,de,et,ur){return b.condition!==z||b.questionToken!==re||b.whenTrue!==de||b.colonToken!==et||b.whenFalse!==ur?pn(zt(z,re,de,et,ur),b):b}function _r(b,z){let re=M(228);return re.head=b,re.templateSpans=P(z),re.transformFlags|=Un(re.head)|Xs(re.templateSpans)|1024,re}function ei(b,z,re){return b.head!==z||b.templateSpans!==re?pn(_r(z,re),b):b}function Si(b,z,re,de=0){$n.assert(!(de&-7177),"Unsupported template flags.");let et;if(re!==void 0&&re!==z&&(et=Ggn(b,re),typeof et=="object"))return $n.fail("Invalid raw text");if(z===void 0){if(et===void 0)return $n.fail("Arguments 'text' and 'rawText' may not both be undefined.");z=et}else et!==void 0&&$n.assert(z===et,"Expected argument 'text' to be the normalized (i.e. 'cooked') version of argument 'rawText'.");return z}function Ji(b){let z=1024;return b&&(z|=128),z}function $a(b,z,re,de){let et=Ut(b);return et.text=z,et.rawText=re,et.templateFlags=de&7176,et.transformFlags=Ji(et.templateFlags),et}function ho(b,z,re,de){let et=U(b);return et.text=z,et.rawText=re,et.templateFlags=de&7176,et.transformFlags=Ji(et.templateFlags),et}function Go(b,z,re,de){return b===15?ho(b,z,re,de):$a(b,z,re,de)}function no(b,z,re){return b=Si(16,b,z,re),Go(16,b,z,re)}function R0(b,z,re){return b=Si(16,b,z,re),Go(17,b,z,re)}function DR(b,z,re){return b=Si(16,b,z,re),Go(18,b,z,re)}function Ll(b,z,re){return b=Si(16,b,z,re),ho(15,b,z,re)}function zl(b,z){$n.assert(!b||!!z,"A `YieldExpression` with an asteriskToken must have an expression.");let re=M(229);return re.expression=z&&n().parenthesizeExpressionForDisallowedComma(z),re.asteriskToken=b,re.transformFlags|=Un(re.expression)|Un(re.asteriskToken)|1024|128|1048576,re}function wp(b,z,re){return b.expression!==re||b.asteriskToken!==z?pn(zl(z,re),b):b}function my(b){let z=M(230);return z.expression=n().parenthesizeExpressionForDisallowedComma(b),z.transformFlags|=Un(z.expression)|1024|32768,z}function s5(b,z){return b.expression!==z?pn(my(z),b):b}function rk(b,z,re,de,et){let ur=U(231);return ur.modifiers=us(b),ur.name=Zo(z),ur.typeParameters=us(re),ur.heritageClauses=us(de),ur.members=P(et),ur.transformFlags|=Xs(ur.modifiers)|OA(ur.name)|Xs(ur.typeParameters)|Xs(ur.heritageClauses)|Xs(ur.members)|(ur.typeParameters?1:0)|1024,ur.jsDoc=void 0,ur}function Dx(b,z,re,de,et,ur){return b.modifiers!==z||b.name!==re||b.typeParameters!==de||b.heritageClauses!==et||b.members!==ur?pn(rk(z,re,de,et,ur),b):b}function TT(){return M(232)}function Pp(b,z){let re=M(233);return re.expression=n().parenthesizeLeftSideOfAccess(b,!1),re.typeArguments=z&&n().parenthesizeTypeArguments(z),re.transformFlags|=Un(re.expression)|Xs(re.typeArguments)|1024,re}function ky(b,z,re){return b.expression!==z||b.typeArguments!==re?pn(Pp(z,re),b):b}function wT(b,z){let re=M(234);return re.expression=b,re.type=z,re.transformFlags|=Un(re.expression)|Un(re.type)|1,re}function nk(b,z,re){return b.expression!==z||b.type!==re?pn(wT(z,re),b):b}function o5(b){let z=M(235);return z.expression=n().parenthesizeLeftSideOfAccess(b,!1),z.transformFlags|=Un(z.expression)|1,z}function U4(b,z){return VAn(b)?Hl(b,z):b.expression!==z?pn(o5(z),b):b}function L7(b,z){let re=M(238);return re.expression=b,re.type=z,re.transformFlags|=Un(re.expression)|Un(re.type)|1,re}function F4(b,z,re){return b.expression!==z||b.type!==re?pn(L7(z,re),b):b}function Y1(b){let z=M(235);return z.flags|=64,z.expression=n().parenthesizeLeftSideOfAccess(b,!0),z.transformFlags|=Un(z.expression)|1,z}function Hl(b,z){return $n.assert(!!(b.flags&64),"Cannot update a NonNullExpression using updateNonNullChain. Use updateNonNullExpression instead."),b.expression!==z?pn(Y1(z),b):b}function L4(b,z){let re=M(236);switch(re.keywordToken=b,re.name=z,re.transformFlags|=Un(re.name),b){case 105:re.transformFlags|=1024;break;case 102:re.transformFlags|=32;break;default:return $n.assertNever(b)}return re.flowNode=void 0,re}function z7(b,z){return b.name!==z?pn(L4(b.keywordToken,z),b):b}function K1(b,z){let re=M(239);return re.expression=b,re.literal=z,re.transformFlags|=Un(re.expression)|Un(re.literal)|1024,re}function H7(b,z,re){return b.expression!==z||b.literal!==re?pn(K1(z,re),b):b}function X_(){let b=M(240);return b.transformFlags|=1024,b}function jd(b,z){let re=M(241);return re.statements=P(b),re.multiLine=z,re.transformFlags|=Xs(re.statements),re.jsDoc=void 0,re.locals=void 0,re.nextContainer=void 0,re}function Bp(b,z){return b.statements!==z?pn(jd(z,b.multiLine),b):b}function Ip(b,z){let re=M(243);return re.modifiers=us(b),re.declarationList=Dw(z)?Mc(z):z,re.transformFlags|=Xs(re.modifiers)|Un(re.declarationList),vA(re.modifiers)&128&&(re.transformFlags=1),re.jsDoc=void 0,re.flowNode=void 0,re}function G1(b,z,re){return b.modifiers!==z||b.declarationList!==re?pn(Ip(z,re),b):b}function PT(){let b=M(242);return b.jsDoc=void 0,b}function Z_(b){let z=M(244);return z.expression=n().parenthesizeExpressionOfExpressionStatement(b),z.transformFlags|=Un(z.expression),z.jsDoc=void 0,z.flowNode=void 0,z}function V1(b,z){return b.expression!==z?pn(Z_(z),b):b}function Y7(b,z,re){let de=M(245);return de.expression=b,de.thenStatement=M0(z),de.elseStatement=M0(re),de.transformFlags|=Un(de.expression)|Un(de.thenStatement)|Un(de.elseStatement),de.jsDoc=void 0,de.flowNode=void 0,de}function yy(b,z,re,de){return b.expression!==z||b.thenStatement!==re||b.elseStatement!==de?pn(Y7(z,re,de),b):b}function w2(b,z){let re=M(246);return re.statement=M0(b),re.expression=z,re.transformFlags|=Un(re.statement)|Un(re.expression),re.jsDoc=void 0,re.flowNode=void 0,re}function eh(b,z,re){return b.statement!==z||b.expression!==re?pn(w2(z,re),b):b}function th(b,z){let re=M(247);return re.expression=b,re.statement=M0(z),re.transformFlags|=Un(re.expression)|Un(re.statement),re.jsDoc=void 0,re.flowNode=void 0,re}function K7(b,z,re){return b.expression!==z||b.statement!==re?pn(th(z,re),b):b}function f_(b,z,re,de){let et=M(248);return et.initializer=b,et.condition=z,et.incrementor=re,et.statement=M0(de),et.transformFlags|=Un(et.initializer)|Un(et.condition)|Un(et.incrementor)|Un(et.statement),et.jsDoc=void 0,et.locals=void 0,et.nextContainer=void 0,et.flowNode=void 0,et}function sl(b,z,re,de,et){return b.initializer!==z||b.condition!==re||b.incrementor!==de||b.statement!==et?pn(f_(z,re,de,et),b):b}function BT(b,z,re){let de=M(249);return de.initializer=b,de.expression=z,de.statement=M0(re),de.transformFlags|=Un(de.initializer)|Un(de.expression)|Un(de.statement),de.jsDoc=void 0,de.locals=void 0,de.nextContainer=void 0,de.flowNode=void 0,de}function NA(b,z,re,de){return b.initializer!==z||b.expression!==re||b.statement!==de?pn(BT(z,re,de),b):b}function X0(b,z,re,de){let et=M(250);return et.awaitModifier=b,et.initializer=z,et.expression=n().parenthesizeExpressionForDisallowedComma(re),et.statement=M0(de),et.transformFlags|=Un(et.awaitModifier)|Un(et.initializer)|Un(et.expression)|Un(et.statement)|1024,b&&(et.transformFlags|=128),et.jsDoc=void 0,et.locals=void 0,et.nextContainer=void 0,et.flowNode=void 0,et}function $0(b,z,re,de,et){return b.awaitModifier!==z||b.initializer!==re||b.expression!==de||b.statement!==et?pn(X0(z,re,de,et),b):b}function j1(b){let z=M(251);return z.label=Zo(b),z.transformFlags|=Un(z.label)|4194304,z.jsDoc=void 0,z.flowNode=void 0,z}function Jd(b,z){return b.label!==z?pn(j1(z),b):b}function Xd(b){let z=M(252);return z.label=Zo(b),z.transformFlags|=Un(z.label)|4194304,z.jsDoc=void 0,z.flowNode=void 0,z}function Sx(b,z){return b.label!==z?pn(Xd(z),b):b}function qy(b){let z=M(253);return z.expression=b,z.transformFlags|=Un(z.expression)|128|4194304,z.jsDoc=void 0,z.flowNode=void 0,z}function R5(b,z){return b.expression!==z?pn(qy(z),b):b}function Cy(b,z){let re=M(254);return re.expression=b,re.statement=M0(z),re.transformFlags|=Un(re.expression)|Un(re.statement),re.jsDoc=void 0,re.flowNode=void 0,re}function Ay(b,z,re){return b.expression!==z||b.statement!==re?pn(Cy(z,re),b):b}function z4(b,z){let re=M(255);return re.expression=n().parenthesizeExpressionForDisallowedComma(b),re.caseBlock=z,re.transformFlags|=Un(re.expression)|Un(re.caseBlock),re.jsDoc=void 0,re.flowNode=void 0,re.possiblyExhaustive=!1,re}function G7(b,z,re){return b.expression!==z||b.caseBlock!==re?pn(z4(z,re),b):b}function sc(b,z){let re=M(256);return re.label=Zo(b),re.statement=M0(z),re.transformFlags|=Un(re.label)|Un(re.statement),re.jsDoc=void 0,re.flowNode=void 0,re}function $x(b,z,re){return b.label!==z||b.statement!==re?pn(sc(z,re),b):b}function ik(b){let z=M(257);return z.expression=b,z.transformFlags|=Un(z.expression),z.jsDoc=void 0,z.flowNode=void 0,z}function gy(b,z){return b.expression!==z?pn(ik(z),b):b}function rh(b,z,re){let de=M(258);return de.tryBlock=b,de.catchClause=z,de.finallyBlock=re,de.transformFlags|=Un(de.tryBlock)|Un(de.catchClause)|Un(de.finallyBlock),de.jsDoc=void 0,de.flowNode=void 0,de}function Qx(b,z,re,de){return b.tryBlock!==z||b.catchClause!==re||b.finallyBlock!==de?pn(rh(z,re,de),b):b}function pT(){let b=M(259);return b.jsDoc=void 0,b.flowNode=void 0,b}function J1(b,z,re,de){let et=U(260);return et.name=Zo(b),et.exclamationToken=z,et.type=re,et.initializer=Th(de),et.transformFlags|=OA(et.name)|Un(et.initializer)|(et.exclamationToken??et.type?1:0),et.jsDoc=void 0,et}function by(b,z,re,de,et){return b.name!==z||b.type!==de||b.exclamationToken!==re||b.initializer!==et?pn(J1(z,re,de,et),b):b}function Mc(b,z=0){let re=M(261);return re.flags|=z&7,re.declarations=P(b),re.transformFlags|=Xs(re.declarations)|4194304,z&7&&(re.transformFlags|=263168),z&4&&(re.transformFlags|=4),re}function nh(b,z){return b.declarations!==z?pn(Mc(z,b.flags),b):b}function ak(b,z,re,de,et,ur,vn){let Yi=U(262);if(Yi.modifiers=us(b),Yi.asteriskToken=z,Yi.name=Zo(re),Yi.typeParameters=us(de),Yi.parameters=P(et),Yi.type=ur,Yi.body=vn,!Yi.body||vA(Yi.modifiers)&128)Yi.transformFlags=1;else{let ls=vA(Yi.modifiers)&1024,Fu=!!Yi.asteriskToken,Kp=ls&&Fu;Yi.transformFlags=Xs(Yi.modifiers)|Un(Yi.asteriskToken)|OA(Yi.name)|Xs(Yi.typeParameters)|Xs(Yi.parameters)|Un(Yi.type)|Un(Yi.body)&-67108865|(Kp?128:ls?256:Fu?2048:0)|(Yi.typeParameters||Yi.type?1:0)|4194304}return Yi.typeArguments=void 0,Yi.jsDoc=void 0,Yi.locals=void 0,Yi.nextContainer=void 0,Yi.endFlowNode=void 0,Yi.returnFlowNode=void 0,Yi}function Nx(b,z,re,de,et,ur,vn,Yi){return b.modifiers!==z||b.asteriskToken!==re||b.name!==de||b.typeParameters!==et||b.parameters!==ur||b.type!==vn||b.body!==Yi?Ey(ak(z,re,de,et,ur,vn,Yi),b):b}function Ey(b,z){return b!==z&&b.modifiers===z.modifiers&&(b.modifiers=z.modifiers),w(b,z)}function Oy(b,z,re,de,et){let ur=U(263);return ur.modifiers=us(b),ur.name=Zo(z),ur.typeParameters=us(re),ur.heritageClauses=us(de),ur.members=P(et),vA(ur.modifiers)&128?ur.transformFlags=1:(ur.transformFlags|=Xs(ur.modifiers)|OA(ur.name)|Xs(ur.typeParameters)|Xs(ur.heritageClauses)|Xs(ur.members)|(ur.typeParameters?1:0)|1024,ur.transformFlags&8192&&(ur.transformFlags|=1)),ur.jsDoc=void 0,ur}function vy(b,z,re,de,et,ur){return b.modifiers!==z||b.name!==re||b.typeParameters!==de||b.heritageClauses!==et||b.members!==ur?pn(Oy(z,re,de,et,ur),b):b}function sk(b,z,re,de,et){let ur=U(264);return ur.modifiers=us(b),ur.name=Zo(z),ur.typeParameters=us(re),ur.heritageClauses=us(de),ur.members=P(et),ur.transformFlags=1,ur.jsDoc=void 0,ur}function ih(b,z,re,de,et,ur){return b.modifiers!==z||b.name!==re||b.typeParameters!==de||b.heritageClauses!==et||b.members!==ur?pn(sk(z,re,de,et,ur),b):b}function u0(b,z,re,de){let et=U(265);return et.modifiers=us(b),et.name=Zo(z),et.typeParameters=us(re),et.type=de,et.transformFlags=1,et.jsDoc=void 0,et.locals=void 0,et.nextContainer=void 0,et}function ah(b,z,re,de,et){return b.modifiers!==z||b.name!==re||b.typeParameters!==de||b.type!==et?pn(u0(z,re,de,et),b):b}function H4(b,z,re){let de=U(266);return de.modifiers=us(b),de.name=Zo(z),de.members=P(re),de.transformFlags|=Xs(de.modifiers)|Un(de.name)|Xs(de.members)|1,de.transformFlags&=-67108865,de.jsDoc=void 0,de}function IT(b,z,re,de){return b.modifiers!==z||b.name!==re||b.members!==de?pn(H4(z,re,de),b):b}function Zd(b,z,re,de=0){let et=U(267);return et.modifiers=us(b),et.flags|=de&2088,et.name=z,et.body=re,vA(et.modifiers)&128?et.transformFlags=1:et.transformFlags|=Xs(et.modifiers)|Un(et.name)|Un(et.body)|1,et.transformFlags&=-67108865,et.jsDoc=void 0,et.locals=void 0,et.nextContainer=void 0,et}function uR(b,z,re,de){return b.modifiers!==z||b.name!==re||b.body!==de?pn(Zd(z,re,de,b.flags),b):b}function oc(b){let z=M(268);return z.statements=P(b),z.transformFlags|=Xs(z.statements),z.jsDoc=void 0,z}function Wc(b,z){return b.statements!==z?pn(oc(z),b):b}function Dy(b){let z=M(269);return z.clauses=P(b),z.transformFlags|=Xs(z.clauses),z.locals=void 0,z.nextContainer=void 0,z}function u5(b,z){return b.clauses!==z?pn(Dy(z),b):b}function Sy(b){let z=U(270);return z.name=Zo(b),z.transformFlags|=pse(z.name)|1,z.modifiers=void 0,z.jsDoc=void 0,z}function ok(b,z){return b.name!==z?P2(Sy(z),b):b}function P2(b,z){return b!==z&&(b.modifiers=z.modifiers),pn(b,z)}function d_(b,z,re,de){let et=U(271);return et.modifiers=us(b),et.name=Zo(re),et.isTypeOnly=z,et.moduleReference=de,et.transformFlags|=Xs(et.modifiers)|pse(et.name)|Un(et.moduleReference),e1r(et.moduleReference)||(et.transformFlags|=1),et.transformFlags&=-67108865,et.jsDoc=void 0,et}function Rk(b,z,re,de,et){return b.modifiers!==z||b.isTypeOnly!==re||b.name!==de||b.moduleReference!==et?pn(d_(z,re,de,et),b):b}function Y4(b,z,re,de){let et=M(272);return et.modifiers=us(b),et.importClause=z,et.moduleSpecifier=re,et.attributes=et.assertClause=de,et.transformFlags|=Un(et.importClause)|Un(et.moduleSpecifier),et.transformFlags&=-67108865,et.jsDoc=void 0,et}function K4(b,z,re,de,et){return b.modifiers!==z||b.importClause!==re||b.moduleSpecifier!==de||b.attributes!==et?pn(Y4(z,re,de,et),b):b}function sh(b,z,re){let de=U(273);return de.isTypeOnly=b,de.name=z,de.namedBindings=re,de.transformFlags|=Un(de.name)|Un(de.namedBindings),b&&(de.transformFlags|=1),de.transformFlags&=-67108865,de}function wx(b,z,re,de){return b.isTypeOnly!==z||b.name!==re||b.namedBindings!==de?pn(sh(z,re,de),b):b}function uk(b,z){let re=M(300);return re.elements=P(b),re.multiLine=z,re.token=132,re.transformFlags|=4,re}function $y(b,z,re){return b.elements!==z||b.multiLine!==re?pn(uk(z,re),b):b}function V7(b,z){let re=M(301);return re.name=b,re.value=z,re.transformFlags|=4,re}function G4(b,z,re){return b.name!==z||b.value!==re?pn(V7(z,re),b):b}function V4(b,z){let re=M(302);return re.assertClause=b,re.multiLine=z,re}function ex(b,z,re){return b.assertClause!==z||b.multiLine!==re?pn(V4(z,re),b):b}function oh(b,z,re){let de=M(300);return de.token=re??118,de.elements=P(b),de.multiLine=z,de.transformFlags|=4,de}function Qy(b,z,re){return b.elements!==z||b.multiLine!==re?pn(oh(z,re,b.token),b):b}function B2(b,z){let re=M(301);return re.name=b,re.value=z,re.transformFlags|=4,re}function lk(b,z,re){return b.name!==z||b.value!==re?pn(B2(z,re),b):b}function Mp(b){let z=U(274);return z.name=b,z.transformFlags|=Un(z.name),z.transformFlags&=-67108865,z}function j7(b,z){return b.name!==z?pn(Mp(z),b):b}function te(b){let z=U(280);return z.name=b,z.transformFlags|=Un(z.name)|32,z.transformFlags&=-67108865,z}function _e(b,z){return b.name!==z?pn(te(z),b):b}function je(b){let z=M(275);return z.elements=P(b),z.transformFlags|=Xs(z.elements),z.transformFlags&=-67108865,z}function er(b,z){return b.elements!==z?pn(je(z),b):b}function Br(b,z,re){let de=U(276);return de.isTypeOnly=b,de.propertyName=z,de.name=re,de.transformFlags|=Un(de.propertyName)|Un(de.name),de.transformFlags&=-67108865,de}function In(b,z,re,de){return b.isTypeOnly!==z||b.propertyName!==re||b.name!==de?pn(Br(z,re,de),b):b}function ti(b,z,re){let de=U(277);return de.modifiers=us(b),de.isExportEquals=z,de.expression=z?n().parenthesizeRightSideOfBinary(64,void 0,re):n().parenthesizeExpressionOfExportDefault(re),de.transformFlags|=Xs(de.modifiers)|Un(de.expression),de.transformFlags&=-67108865,de.jsDoc=void 0,de}function va(b,z,re){return b.modifiers!==z||b.expression!==re?pn(ti(z,b.isExportEquals,re),b):b}function io(b,z,re,de,et){let ur=U(278);return ur.modifiers=us(b),ur.isTypeOnly=z,ur.exportClause=re,ur.moduleSpecifier=de,ur.attributes=ur.assertClause=et,ur.transformFlags|=Xs(ur.modifiers)|Un(ur.exportClause)|Un(ur.moduleSpecifier),ur.transformFlags&=-67108865,ur.jsDoc=void 0,ur}function ss(b,z,re,de,et,ur){return b.modifiers!==z||b.isTypeOnly!==re||b.exportClause!==de||b.moduleSpecifier!==et||b.attributes!==ur?Ms(io(z,re,de,et,ur),b):b}function Ms(b,z){return b!==z&&b.modifiers===z.modifiers&&(b.modifiers=z.modifiers),pn(b,z)}function Lo(b){let z=M(279);return z.elements=P(b),z.transformFlags|=Xs(z.elements),z.transformFlags&=-67108865,z}function WR(b,z){return b.elements!==z?pn(Lo(z),b):b}function Yl(b,z,re){let de=M(281);return de.isTypeOnly=b,de.propertyName=Zo(z),de.name=Zo(re),de.transformFlags|=Un(de.propertyName)|Un(de.name),de.transformFlags&=-67108865,de.jsDoc=void 0,de}function Wp(b,z,re,de){return b.isTypeOnly!==z||b.propertyName!==re||b.name!==de?pn(Yl(z,re,de),b):b}function MT(){let b=U(282);return b.jsDoc=void 0,b}function Rc(b){let z=M(283);return z.expression=b,z.transformFlags|=Un(z.expression),z.transformFlags&=-67108865,z}function Uc(b,z){return b.expression!==z?pn(Rc(z),b):b}function Fc(b){return M(b)}function WT(b,z,re=!1){let de=X1(b,re?z&&n().parenthesizeNonArrayTypeOfPostfixType(z):z);return de.postfix=re,de}function X1(b,z){let re=M(b);return re.type=z,re}function zs(b,z,re){return z.type!==re?pn(WT(b,re,z.postfix),z):z}function l0(b,z,re){return z.type!==re?pn(X1(b,re),z):z}function fR(b,z){let re=U(317);return re.parameters=us(b),re.type=z,re.transformFlags=Xs(re.parameters)|(re.type?1:0),re.jsDoc=void 0,re.locals=void 0,re.nextContainer=void 0,re.typeArguments=void 0,re}function UT(b,z,re){return b.parameters!==z||b.type!==re?pn(fR(z,re),b):b}function _T(b,z=!1){let re=U(322);return re.jsDocPropertyTags=us(b),re.isArrayType=z,re}function FT(b,z,re){return b.jsDocPropertyTags!==z||b.isArrayType!==re?pn(_T(z,re),b):b}function Up(b){let z=M(309);return z.type=b,z}function Rh(b,z){return b.type!==z?pn(Up(z),b):b}function Mu(b,z,re){let de=U(323);return de.typeParameters=us(b),de.parameters=P(z),de.type=re,de.jsDoc=void 0,de.locals=void 0,de.nextContainer=void 0,de}function Wu(b,z,re,de){return b.typeParameters!==z||b.parameters!==re||b.type!==de?pn(Mu(z,re,de),b):b}function Z1(b){let z=C9e(b.kind);return b.tagName.escapedText===cse(z)?b.tagName:Ee(z)}function uc(b,z,re){let de=M(b);return de.tagName=z,de.comment=re,de}function ep(b,z,re){let de=U(b);return de.tagName=z,de.comment=re,de}function ck(b,z,re,de){let et=uc(345,b??Ee("template"),de);return et.constraint=z,et.typeParameters=P(re),et}function Ny(b,z=Z1(b),re,de,et){return b.tagName!==z||b.constraint!==re||b.typeParameters!==de||b.comment!==et?pn(ck(z,re,de,et),b):b}function j4(b,z,re,de){let et=ep(346,b??Ee("typedef"),de);return et.typeExpression=z,et.fullName=re,et.name=Ulr(re),et.locals=void 0,et.nextContainer=void 0,et}function bg(b,z=Z1(b),re,de,et){return b.tagName!==z||b.typeExpression!==re||b.fullName!==de||b.comment!==et?pn(j4(z,re,de,et),b):b}function J4(b,z,re,de,et,ur){let vn=ep(341,b??Ee("param"),ur);return vn.typeExpression=de,vn.name=z,vn.isNameFirst=!!et,vn.isBracketed=re,vn}function wA(b,z=Z1(b),re,de,et,ur,vn){return b.tagName!==z||b.name!==re||b.isBracketed!==de||b.typeExpression!==et||b.isNameFirst!==ur||b.comment!==vn?pn(J4(z,re,de,et,ur,vn),b):b}function Eg(b,z,re,de,et,ur){let vn=ep(348,b??Ee("prop"),ur);return vn.typeExpression=de,vn.name=z,vn.isNameFirst=!!et,vn.isBracketed=re,vn}function AO(b,z=Z1(b),re,de,et,ur,vn){return b.tagName!==z||b.name!==re||b.isBracketed!==de||b.typeExpression!==et||b.isNameFirst!==ur||b.comment!==vn?pn(Eg(z,re,de,et,ur,vn),b):b}function gO(b,z,re,de){let et=ep(338,b??Ee("callback"),de);return et.typeExpression=z,et.fullName=re,et.name=Ulr(re),et.locals=void 0,et.nextContainer=void 0,et}function Og(b,z=Z1(b),re,de,et){return b.tagName!==z||b.typeExpression!==re||b.fullName!==de||b.comment!==et?pn(gO(z,re,de,et),b):b}function PA(b,z,re){let de=uc(339,b??Ee("overload"),re);return de.typeExpression=z,de}function BA(b,z=Z1(b),re,de){return b.tagName!==z||b.typeExpression!==re||b.comment!==de?pn(PA(z,re,de),b):b}function IA(b,z,re){let de=uc(328,b??Ee("augments"),re);return de.class=z,de}function wy(b,z=Z1(b),re,de){return b.tagName!==z||b.class!==re||b.comment!==de?pn(IA(z,re,de),b):b}function vg(b,z,re){let de=uc(329,b??Ee("implements"),re);return de.class=z,de}function J7(b,z,re){let de=uc(347,b??Ee("see"),re);return de.name=z,de}function Lc(b,z,re,de){return b.tagName!==z||b.name!==re||b.comment!==de?pn(J7(z,re,de),b):b}function ol(b){let z=M(310);return z.name=b,z}function Z0(b,z){return b.name!==z?pn(ol(z),b):b}function Au(b,z){let re=M(311);return re.left=b,re.right=z,re.transformFlags|=Un(re.left)|Un(re.right),re}function bO(b,z,re){return b.left!==z||b.right!==re?pn(Au(z,re),b):b}function tp(b,z){let re=M(324);return re.name=b,re.text=z,re}function Fp(b,z,re){return b.name!==z?pn(tp(z,re),b):b}function EO(b,z){let re=M(325);return re.name=b,re.text=z,re}function X7(b,z,re){return b.name!==z?pn(EO(z,re),b):b}function tx(b,z){let re=M(326);return re.name=b,re.text=z,re}function Px(b,z,re){return b.name!==z?pn(tx(z,re),b):b}function Bx(b,z=Z1(b),re,de){return b.tagName!==z||b.class!==re||b.comment!==de?pn(vg(z,re,de),b):b}function l5(b,z,re){return uc(b,z??Ee(C9e(b)),re)}function Dg(b,z,re=Z1(z),de){return z.tagName!==re||z.comment!==de?pn(l5(b,re,de),z):z}function Sg(b,z,re,de){let et=uc(b,z??Ee(C9e(b)),de);return et.typeExpression=re,et}function OO(b,z,re=Z1(z),de,et){return z.tagName!==re||z.typeExpression!==de||z.comment!==et?pn(Sg(b,re,de,et),z):z}function p1(b,z){return uc(327,b,z)}function rp(b,z,re){return b.tagName!==z||b.comment!==re?pn(p1(z,re),b):b}function MA(b,z,re){let de=ep(340,b??Ee(C9e(340)),re);return de.typeExpression=z,de.locals=void 0,de.nextContainer=void 0,de}function c5(b,z=Z1(b),re,de){return b.tagName!==z||b.typeExpression!==re||b.comment!==de?pn(MA(z,re,de),b):b}function T5(b,z,re,de,et){let ur=uc(351,b??Ee("import"),et);return ur.importClause=z,ur.moduleSpecifier=re,ur.attributes=de,ur.comment=et,ur}function p5(b,z,re,de,et,ur){return b.tagName!==z||b.comment!==ur||b.importClause!==re||b.moduleSpecifier!==de||b.attributes!==et?pn(T5(z,re,de,et,ur),b):b}function WA(b){let z=M(321);return z.text=b,z}function RS(b,z){return b.text!==z?pn(WA(z),b):b}function X4(b,z){let re=M(320);return re.comment=b,re.tags=us(z),re}function $g(b,z,re){return b.comment!==z||b.tags!==re?pn(X4(z,re),b):b}function Qg(b,z,re){let de=M(284);return de.openingElement=b,de.children=P(z),de.closingElement=re,de.transformFlags|=Un(de.openingElement)|Xs(de.children)|Un(de.closingElement)|2,de}function I2(b,z,re,de){return b.openingElement!==z||b.children!==re||b.closingElement!==de?pn(Qg(z,re,de),b):b}function LT(b,z,re){let de=M(285);return de.tagName=b,de.typeArguments=us(z),de.attributes=re,de.transformFlags|=Un(de.tagName)|Xs(de.typeArguments)|Un(de.attributes)|2,de.typeArguments&&(de.transformFlags|=1),de}function uh(b,z,re,de){return b.tagName!==z||b.typeArguments!==re||b.attributes!==de?pn(LT(z,re,de),b):b}function Z4(b,z,re){let de=M(286);return de.tagName=b,de.typeArguments=us(z),de.attributes=re,de.transformFlags|=Un(de.tagName)|Xs(de.typeArguments)|Un(de.attributes)|2,z&&(de.transformFlags|=1),de}function lh(b,z,re,de){return b.tagName!==z||b.typeArguments!==re||b.attributes!==de?pn(Z4(z,re,de),b):b}function Lp(b){let z=M(287);return z.tagName=b,z.transformFlags|=Un(z.tagName)|2,z}function gu(b,z){return b.tagName!==z?pn(Lp(z),b):b}function x_(b,z,re){let de=M(288);return de.openingFragment=b,de.children=P(z),de.closingFragment=re,de.transformFlags|=Un(de.openingFragment)|Xs(de.children)|Un(de.closingFragment)|2,de}function UA(b,z,re,de){return b.openingFragment!==z||b.children!==re||b.closingFragment!==de?pn(x_(z,re,de),b):b}function Py(b,z){let re=M(12);return re.text=b,re.containsOnlyTriviaWhiteSpaces=!!z,re.transformFlags|=2,re}function _5(b,z,re){return b.text!==z||b.containsOnlyTriviaWhiteSpaces!==re?pn(Py(z,re),b):b}function FA(){let b=M(289);return b.transformFlags|=2,b}function LA(){let b=M(290);return b.transformFlags|=2,b}function zA(b,z){let re=U(291);return re.name=b,re.initializer=z,re.transformFlags|=Un(re.name)|Un(re.initializer)|2,re}function e6(b,z,re){return b.name!==z||b.initializer!==re?pn(zA(z,re),b):b}function t6(b){let z=U(292);return z.properties=P(b),z.transformFlags|=Xs(z.properties)|2,z}function h5(b,z){return b.properties!==z?pn(t6(z),b):b}function HA(b){let z=M(293);return z.expression=b,z.transformFlags|=Un(z.expression)|2,z}function Ng(b,z){return b.expression!==z?pn(HA(z),b):b}function r6(b,z){let re=M(294);return re.dotDotDotToken=b,re.expression=z,re.transformFlags|=Un(re.dotDotDotToken)|Un(re.expression)|2,re}function By(b,z){return b.expression!==z?pn(r6(b.dotDotDotToken,z),b):b}function YA(b,z){let re=M(295);return re.namespace=b,re.name=z,re.transformFlags|=Un(re.namespace)|Un(re.name)|2,re}function Tk(b,z,re){return b.namespace!==z||b.name!==re?pn(YA(z,re),b):b}function Iy(b,z){let re=M(296);return re.expression=n().parenthesizeExpressionForDisallowedComma(b),re.statements=P(z),re.transformFlags|=Un(re.expression)|Xs(re.statements),re.jsDoc=void 0,re}function vO(b,z,re){return b.expression!==z||b.statements!==re?pn(Iy(z,re),b):b}function pk(b){let z=M(297);return z.statements=P(b),z.transformFlags=Xs(z.statements),z}function KA(b,z){return b.statements!==z?pn(pk(z),b):b}function wg(b,z){let re=M(298);switch(re.token=b,re.types=P(z),re.transformFlags|=Xs(re.types),b){case 96:re.transformFlags|=1024;break;case 119:re.transformFlags|=1;break;default:return $n.assertNever(b)}return re}function DO(b,z){return b.types!==z?pn(wg(b.token,z),b):b}function GA(b,z){let re=M(299);return re.variableDeclaration=Rl(b),re.block=z,re.transformFlags|=Un(re.variableDeclaration)|Un(re.block)|(b?0:64),re.locals=void 0,re.nextContainer=void 0,re}function VA(b,z,re){return b.variableDeclaration!==z||b.block!==re?pn(GA(z,re),b):b}function _k(b,z){let re=U(303);return re.name=Zo(b),re.initializer=n().parenthesizeExpressionForDisallowedComma(z),re.transformFlags|=OA(re.name)|Un(re.initializer),re.modifiers=void 0,re.questionToken=void 0,re.exclamationToken=void 0,re.jsDoc=void 0,re}function Z7(b,z,re){return b.name!==z||b.initializer!==re?n6(_k(z,re),b):b}function n6(b,z){return b!==z&&(b.modifiers=z.modifiers,b.questionToken=z.questionToken,b.exclamationToken=z.exclamationToken),pn(b,z)}function hk(b,z){let re=U(304);return re.name=Zo(b),re.objectAssignmentInitializer=z&&n().parenthesizeExpressionForDisallowedComma(z),re.transformFlags|=pse(re.name)|Un(re.objectAssignmentInitializer)|1024,re.equalsToken=void 0,re.modifiers=void 0,re.questionToken=void 0,re.exclamationToken=void 0,re.jsDoc=void 0,re}function f5(b,z,re){return b.name!==z||b.objectAssignmentInitializer!==re?d5(hk(z,re),b):b}function d5(b,z){return b!==z&&(b.modifiers=z.modifiers,b.questionToken=z.questionToken,b.exclamationToken=z.exclamationToken,b.equalsToken=z.equalsToken),pn(b,z)}function i6(b){let z=U(305);return z.expression=n().parenthesizeExpressionForDisallowedComma(b),z.transformFlags|=Un(z.expression)|128|65536,z.jsDoc=void 0,z}function zp(b,z){return b.expression!==z?pn(i6(z),b):b}function Uu(b,z){let re=U(306);return re.name=Zo(b),re.initializer=z&&n().parenthesizeExpressionForDisallowedComma(z),re.transformFlags|=Un(re.name)|Un(re.initializer)|1,re.jsDoc=void 0,re}function x5(b,z,re){return b.name!==z||b.initializer!==re?pn(Uu(z,re),b):b}function Pg(b,z,re){let de=t.createBaseSourceFileNode(307);return de.statements=P(b),de.endOfFileToken=z,de.flags|=re,de.text="",de.fileName="",de.path="",de.resolvedPath="",de.originalFileName="",de.languageVersion=1,de.languageVariant=0,de.scriptKind=0,de.isDeclarationFile=!1,de.hasNoDefaultLib=!1,de.transformFlags|=Xs(de.statements)|Un(de.endOfFileToken),de.locals=void 0,de.nextContainer=void 0,de.endFlowNode=void 0,de.nodeCount=0,de.identifierCount=0,de.symbolCount=0,de.parseDiagnostics=void 0,de.bindDiagnostics=void 0,de.bindSuggestionDiagnostics=void 0,de.lineMap=void 0,de.externalModuleIndicator=void 0,de.setExternalModuleIndicator=void 0,de.pragmas=void 0,de.checkJsDirective=void 0,de.referencedFiles=void 0,de.typeReferenceDirectives=void 0,de.libReferenceDirectives=void 0,de.amdDependencies=void 0,de.commentDirectives=void 0,de.identifiers=void 0,de.packageJsonLocations=void 0,de.packageJsonScope=void 0,de.imports=void 0,de.moduleAugmentations=void 0,de.ambientModuleNames=void 0,de.classifiableNames=void 0,de.impliedNodeFormat=void 0,de}function m5(b){let z=Object.create(b.redirectTarget);return Object.defineProperties(z,{id:{get(){return this.redirectInfo.redirectTarget.id},set(re){this.redirectInfo.redirectTarget.id=re}},symbol:{get(){return this.redirectInfo.redirectTarget.symbol},set(re){this.redirectInfo.redirectTarget.symbol=re}}}),z.redirectInfo=b,z}function jA(b){let z=m5(b.redirectInfo);return z.flags|=b.flags&-17,z.fileName=b.fileName,z.path=b.path,z.resolvedPath=b.resolvedPath,z.originalFileName=b.originalFileName,z.packageJsonLocations=b.packageJsonLocations,z.packageJsonScope=b.packageJsonScope,z.emitNode=void 0,z}function Bg(b){let z=t.createBaseSourceFileNode(307);z.flags|=b.flags&-17;for(let re in b)if(!(VD(z,re)||!VD(b,re))){if(re==="emitNode"){z.emitNode=void 0;continue}z[re]=b[re]}return z}function k5(b){let z=b.redirectInfo?jA(b):Bg(b);return r(z,b),z}function Ig(b,z,re,de,et,ur,vn){let Yi=k5(b);return Yi.statements=P(z),Yi.isDeclarationFile=re,Yi.referencedFiles=de,Yi.typeReferenceDirectives=et,Yi.hasNoDefaultLib=ur,Yi.libReferenceDirectives=vn,Yi.transformFlags=Xs(Yi.statements)|Un(Yi.endOfFileToken),Yi}function Mg(b,z,re=b.isDeclarationFile,de=b.referencedFiles,et=b.typeReferenceDirectives,ur=b.hasNoDefaultLib,vn=b.libReferenceDirectives){return b.statements!==z||b.isDeclarationFile!==re||b.referencedFiles!==de||b.typeReferenceDirectives!==et||b.hasNoDefaultLib!==ur||b.libReferenceDirectives!==vn?pn(Ig(b,z,re,de,et,ur,vn),b):b}function a6(b){let z=M(308);return z.sourceFiles=b,z.syntheticFileReferences=void 0,z.syntheticTypeReferences=void 0,z.syntheticLibReferences=void 0,z.hasNoDefaultLib=void 0,z}function JA(b,z){return b.sourceFiles!==z?pn(a6(z),b):b}function My(b,z=!1,re){let de=M(237);return de.type=b,de.isSpread=z,de.tupleNameSource=re,de}function M2(b){let z=M(352);return z._children=b,z}function s6(b){let z=M(353);return z.original=b,P4(z,b),z}function ch(b,z){let re=M(355);return re.expression=b,re.original=z,re.transformFlags|=Un(re.expression)|1,P4(re,z),re}function Ix(b,z){return b.expression!==z?pn(ch(z,b.original),b):b}function Wg(){return M(354)}function Ug(b){if(Tse(b)&&!w9e(b)&&!b.original&&!b.emitNode&&!b.id){if(Mbn(b))return b.elements;if(Ase(b)&&nbn(b.operatorToken))return[b.left,b.right]}return b}function rx(b){let z=M(356);return z.elements=P(h9n(b,Ug)),z.transformFlags|=Xs(z.elements),z}function zT(b,z){return b.elements!==z?pn(rx(z),b):b}function np(b,z){let re=M(357);return re.expression=b,re.thisArg=z,re.transformFlags|=Un(re.expression)|Un(re.thisArg),re}function em(b,z,re){return b.expression!==z||b.thisArg!==re?pn(np(z,re),b):b}function XA(b){let z=Ae(b.escapedText);return z.flags|=b.flags&-17,z.transformFlags=b.transformFlags,r(z,b),setIdentifierAutoGenerate(z,{...b.emitNode.autoGenerate}),z}function SO(b){let z=Ae(b.escapedText);z.flags|=b.flags&-17,z.jsDoc=b.jsDoc,z.flowNode=b.flowNode,z.symbol=b.symbol,z.transformFlags=b.transformFlags,r(z,b);let re=getIdentifierTypeArguments(b);return re&&setIdentifierTypeArguments(z,re),z}function Fg(b){let z=lt(b.escapedText);return z.flags|=b.flags&-17,z.transformFlags=b.transformFlags,r(z,b),setIdentifierAutoGenerate(z,{...b.emitNode.autoGenerate}),z}function ZA(b){let z=lt(b.escapedText);return z.flags|=b.flags&-17,z.transformFlags=b.transformFlags,r(z,b),z}function y5(b){if(b===void 0)return b;if(Gbn(b))return k5(b);if(xse(b))return XA(b);if(Pu(b))return SO(b);if(pTr(b))return Fg(b);if(HX(b))return ZA(b);let z=f9t(b.kind)?t.createBaseNode(b.kind):t.createBaseTokenNode(b.kind);z.flags|=b.flags&-17,z.transformFlags=b.transformFlags,r(z,b);for(let re in b)VD(z,re)||!VD(b,re)||(z[re]=b[re]);return z}function Lg(b,z,re){return Qp(vx(void 0,void 0,void 0,void 0,z?[z]:[],void 0,jd(b,!0)),void 0,re?[re]:[])}function zg(b,z,re){return Qp(N2(void 0,void 0,z?[z]:[],void 0,void 0,jd(b,!0)),void 0,re?[re]:[])}function fk(){return F7(F("0"))}function e3(b){return ti(void 0,!1,b)}function Hg(b){return io(void 0,!1,Lo([Yl(!1,void 0,b)]))}function nx(b,z){return z==="null"?S.createStrictEquality(b,jt()):z==="undefined"?S.createStrictEquality(b,fk()):S.createStrictEquality(ac(b),ee(z))}function _1(b,z){return z==="null"?S.createStrictInequality(b,jt()):z==="undefined"?S.createStrictInequality(b,fk()):S.createStrictInequality(ac(b),ee(z))}function Hp(b,z,re){return klr(b)?Vd(Pc(b,void 0,z),void 0,void 0,re):Qp(lT(b,z),void 0,re)}function Yg(b,z,re){return Hp(b,"bind",[z,...re])}function t3(b,z,re){return Hp(b,"call",[z,...re])}function Kg(b,z,re){return Hp(b,"apply",[z,re])}function Wy(b,z,re){return Hp(Ee(b),z,re)}function o6(b,z){return Hp(b,"slice",z===void 0?[]:[Wx(z)])}function Gg(b,z){return Hp(b,"concat",z)}function R6(b,z,re){return Wy("Object","defineProperty",[b,Wx(z),re])}function Yp(b,z){return Wy("Object","getOwnPropertyDescriptor",[b,Wx(z)])}function ix(b,z,re){return Wy("Reflect","get",re?[b,z,re]:[b,z])}function q5(b,z,re,de){return Wy("Reflect","set",de?[b,z,re,de]:[b,z,re])}function m_(b,z,re){return re?(b.push(_k(z,re)),!0):!1}function tm(b,z){let re=[];m_(re,"enumerable",Wx(b.enumerable)),m_(re,"configurable",Wx(b.configurable));let de=m_(re,"writable",Wx(b.writable));de=m_(re,"value",b.value)||de;let et=m_(re,"get",b.get);return et=m_(re,"set",b.set)||et,$n.assert(!(de&&et),"A PropertyDescriptor may not be both an accessor descriptor and a data descriptor."),gx(re,!z)}function $O(b,z){switch(b.kind){case 217:return Q2(b,z);case 216:return ql(b,b.type,z);case 234:return nk(b,z,b.type);case 238:return F4(b,z,b.type);case 235:return U4(b,z);case 233:return ky(b,z,b.typeArguments);case 355:return Ix(b,z)}}function uS(b){return O9t(b)&&Tse(b)&&Tse(getSourceMapRange(b))&&Tse(getCommentRange(b))&&!w7(getSyntheticLeadingComments(b))&&!w7(getSyntheticTrailingComments(b))}function W2(b,z,re=31){return b&&a1r(b,re)&&!uS(b)?$O(b,W2(b.expression,z)):z}function hT(b,z,re){if(!z)return b;let de=$x(z,z.label,Wbn(z.statement)?hT(b,z.statement):b);return re&&re(z),de}function ax(b,z){let re=q9t(b);switch(re.kind){case 80:return z;case 110:case 9:case 10:case 11:return!1;case 209:return re.elements.length!==0;case 210:return re.properties.length>0;default:return!0}}function r3(b,z,re,de=!1){let et=S9t(b,31),ur,vn;return Elr(et)?(ur=He(),vn=et):A5t(et)?(ur=He(),vn=re!==void 0&&re<2?P4(Ee("_super"),et):et):qse(et)&8192?(ur=fk(),vn=n().parenthesizeLeftSideOfAccess(et,!1)):FW(et)?ax(et.expression,de)?(ur=Me(z),vn=lT(P4(S.createAssignment(ur,et.expression),et.expression),et.name),P4(vn,et)):(ur=et.expression,vn=et):Ede(et)?ax(et.expression,de)?(ur=Me(z),vn=T1(P4(S.createAssignment(ur,et.expression),et.expression),et.argumentExpression),P4(vn,et)):(ur=et.expression,vn=et):(ur=fk(),vn=n().parenthesizeLeftSideOfAccess(b,!1)),{target:vn,thisArg:ur}}function oe(b,z){return lT(Ox(gx([Ar(void 0,"value",[cs(void 0,void 0,b,void 0,void 0,void 0)],jd([Z_(z)]))])),"value")}function De(b){return b.length>10?rx(b):g9n(b,S.createComma)}function nt(b,z,re,de=0,et){let ur=et?b&&_9t(b):RTr(b);if(ur&&Pu(ur)&&!xse(ur)){let vn=g9t(P4(y5(ur),ur),ur.parent);return de|=qse(ur),re||(de|=96),z||(de|=3072),de&&setEmitFlags(vn,de),vn}return Nt(b)}function Et(b,z,re){return nt(b,z,re,98304)}function lr(b,z,re,de){return nt(b,z,re,32768,de)}function Kr(b,z,re){return nt(b,z,re,16384)}function Gn(b,z,re){return nt(b,z,re)}function Qi(b,z,re,de){let et=lT(b,Tse(z)?z:y5(z));P4(et,z);let ur=0;return de||(ur|=96),re||(ur|=3072),ur&&setEmitFlags(et,ur),et}function fi(b,z,re,de){return b&&bde(z,32)?Qi(b,nt(z),re,de):Kr(z,re,de)}function si(b,z,re,de){let et=lo(b,z,0,re);return qs(b,z,et,de)}function Ui(b){return H9e(b.expression)&&b.expression.text==="use strict"}function Zs(){return fEn(Z_(ee("use strict")))}function lo(b,z,re=0,de){$n.assert(z.length===0,"Prologue directives should be at the first statement in the target statements array");let et=!1,ur=b.length;for(;reYi&&Fu.splice(et,0,...z.slice(Yi,ls)),Yi>vn&&Fu.splice(de,0,...z.slice(vn,Yi)),vn>ur&&Fu.splice(re,0,...z.slice(ur,vn)),ur>0)if(re===0)Fu.splice(0,0,...z.slice(0,ur));else{let Kp=new Map;for(let h1=0;h1=0;h1--){let Ux=z[h1];Kp.has(Ux.expression.text)||Fu.unshift(Ux)}}return BW(b)?P4(P(Fu,b.hasTrailingComma),b):b}function YT(b,z){let re;return typeof z=="number"?re=ri(z):re=z,PTr(b)?$i(b,re,b.name,b.constraint,b.default):I9e(b)?Ti(b,re,b.dotDotDotToken,b.name,b.questionToken,b.type,b.initializer):UTr(b)?_o(b,re,b.typeParameters,b.parameters,b.type):obn(b)?Ma(b,re,b.name,b.questionToken,b.type):M9e(b)?Je(b,re,b.name,b.questionToken??b.exclamationToken,b.type,b.initializer):Rbn(b)?Pt(b,re,b.name,b.questionToken,b.typeParameters,b.parameters,b.type):U5t(b)?dr(b,re,b.asteriskToken,b.name,b.questionToken,b.typeParameters,b.parameters,b.type,b.body):BTr(b)?Ss(b,re,b.parameters,b.body):F5t(b)?Mr(b,re,b.name,b.parameters,b.type,b.body):W9e(b)?nn(b,re,b.name,b.parameters,b.body):ITr(b)?Xo(b,re,b.parameters,b.type):zTr(b)?j_(b,re,b.asteriskToken,b.name,b.typeParameters,b.parameters,b.type,b.body):HTr(b)?Cl(b,re,b.typeParameters,b.parameters,b.type,b.equalsGreaterThanToken,b.body):L5t(b)?Dx(b,re,b.name,b.typeParameters,b.heritageClauses,b.members):Y9e(b)?G1(b,re,b.declarationList):GTr(b)?Nx(b,re,b.asteriskToken,b.name,b.typeParameters,b.parameters,b.type,b.body):U9e(b)?vy(b,re,b.name,b.typeParameters,b.heritageClauses,b.members):v9t(b)?ih(b,re,b.name,b.typeParameters,b.heritageClauses,b.members):VTr(b)?ah(b,re,b.name,b.typeParameters,b.type):Fbn(b)?IT(b,re,b.name,b.members):Ade(b)?uR(b,re,b.name,b.body):jTr(b)?Rk(b,re,b.isTypeOnly,b.name,b.moduleReference):JTr(b)?K4(b,re,b.importClause,b.moduleSpecifier,b.attributes):XTr(b)?va(b,re,b.expression):ZTr(b)?ss(b,re,b.isTypeOnly,b.exportClause,b.moduleSpecifier,b.attributes):$n.assertNever(b)}function Mx(b,z){return I9e(b)?Ti(b,z,b.dotDotDotToken,b.name,b.questionToken,b.type,b.initializer):M9e(b)?Je(b,z,b.name,b.questionToken??b.exclamationToken,b.type,b.initializer):U5t(b)?dr(b,z,b.asteriskToken,b.name,b.questionToken,b.typeParameters,b.parameters,b.type,b.body):F5t(b)?Mr(b,z,b.name,b.parameters,b.type,b.body):W9e(b)?nn(b,z,b.name,b.parameters,b.body):L5t(b)?Dx(b,z,b.name,b.typeParameters,b.heritageClauses,b.members):U9e(b)?vy(b,z,b.name,b.typeParameters,b.heritageClauses,b.members):$n.assertNever(b)}function n3(b,z){switch(b.kind){case 177:return Mr(b,b.modifiers,z,b.parameters,b.type,b.body);case 178:return nn(b,b.modifiers,z,b.parameters,b.body);case 174:return dr(b,b.modifiers,b.asteriskToken,z,b.questionToken,b.typeParameters,b.parameters,b.type,b.body);case 173:return Pt(b,b.modifiers,z,b.questionToken,b.typeParameters,b.parameters,b.type);case 172:return Je(b,b.modifiers,z,b.questionToken??b.exclamationToken,b.type,b.initializer);case 171:return Ma(b,b.modifiers,z,b.questionToken,b.type);case 303:return Z7(b,z,b.initializer)}}function us(b){return b?P(b):void 0}function Zo(b){return typeof b=="string"?Ee(b):b}function Wx(b){return typeof b=="string"?ee(b):typeof b=="number"?F(b):typeof b=="boolean"?b?zr():Bn():b}function Th(b){return b&&n().parenthesizeExpressionForDisallowedComma(b)}function KT(b){return typeof b=="number"?pt(b):b}function M0(b){return b&&zbn(b)?P4(r(PT(),b),b):b}function Rl(b){return typeof b=="string"||b&&!KTr(b)?J1(b,void 0,void 0,void 0):b}function pn(b,z){return b!==z&&(r(b,z),P4(b,z)),b}}function C9e(e){switch(e){case 344:return"type";case 342:return"returns";case 343:return"this";case 340:return"enum";case 330:return"author";case 332:return"class";case 333:return"public";case 334:return"private";case 335:return"protected";case 336:return"readonly";case 337:return"override";case 345:return"template";case 346:return"typedef";case 341:return"param";case 348:return"prop";case 338:return"callback";case 339:return"overload";case 328:return"augments";case 329:return"implements";case 351:return"import";default:return $n.fail(`Unsupported kind: ${$n.formatSyntaxKind(e)}`)}}function Ggn(e,t){switch(VC||(VC=T9t(99,!1,0)),e){case 15:VC.setText("`"+t+"`");break;case 16:VC.setText("`"+t+"${");break;case 17:VC.setText("}"+t+"${");break;case 18:VC.setText("}"+t+"`");break}let r=VC.scan();if(r===20&&(r=VC.reScanTemplateToken(!1)),VC.isUnterminated())return VC.setText(void 0),Qlr;let n;switch(r){case 15:case 16:case 17:case 18:n=VC.getTokenValue();break}return n===void 0||VC.scan()!==1?(VC.setText(void 0),Qlr):(VC.setText(void 0),n)}function OA(e){return e&&Pu(e)?pse(e):Un(e)}function pse(e){return Un(e)&-67108865}function Vgn(e,t){return t|e.transformFlags&134234112}function Un(e){if(!e)return 0;let t=e.transformFlags&~jgn(e.kind);return vAn(e)&&_Tr(e.name)?Vgn(e.name,t):t}function Xs(e){return e?e.transformFlags:0}function Nlr(e){let t=0;for(let r of e)t|=Un(r);e.transformFlags=t}function jgn(e){if(e>=182&&e<=205)return-2;switch(e){case 213:case 214:case 209:return-2147450880;case 267:return-1941676032;case 169:return-2147483648;case 219:return-2072174592;case 218:case 262:return-1937940480;case 261:return-2146893824;case 263:case 231:return-2147344384;case 176:return-1937948672;case 172:return-2013249536;case 174:case 177:case 178:return-2005057536;case 133:case 150:case 163:case 146:case 154:case 151:case 136:case 155:case 116:case 168:case 171:case 173:case 179:case 180:case 181:case 264:case 265:return-2;case 210:return-2147278848;case 299:return-2147418112;case 206:case 207:return-2147450880;case 216:case 238:case 234:case 355:case 217:case 108:return-2147483648;case 211:case 212:return-2147483648;default:return-2147483648}}function ade(e){return e.flags|=16,e}function Xgn(e,t){if(e.original!==t&&(e.original=t,t)){let r=t.emitNode;r&&(e.emitNode=Zgn(r,e.emitNode))}return e}function Zgn(e,t){let{flags:r,internalFlags:n,leadingComments:i,trailingComments:s,commentRange:R,sourceMapRange:l,tokenSourceMapRanges:c,constantValue:h,helpers:_,startsOnNewLine:f,snippetElement:m,classThis:x,assignedName:y}=e;if(t||(t={}),r&&(t.flags=r),n&&(t.internalFlags=n&-9),i&&(t.leadingComments=XC(i.slice(),t.leadingComments)),s&&(t.trailingComments=XC(s.slice(),t.trailingComments)),R&&(t.commentRange=R),l&&(t.sourceMapRange=l),c&&(t.tokenSourceMapRanges=ebn(c,t.tokenSourceMapRanges)),h!==void 0&&(t.constantValue=h),_)for(let A of _)t.helpers=m9n(t.helpers,A);return f!==void 0&&(t.startsOnNewLine=f),m!==void 0&&(t.snippetElement=m),x&&(t.classThis=x),y&&(t.assignedName=y),t}function ebn(e,t){t||(t=[]);for(let r in e)t[r]=e[r];return t}function gse(e){return e.kind===9}function tbn(e){return e.kind===10}function H9e(e){return e.kind===11}function rbn(e){return e.kind===15}function nbn(e){return e.kind===28}function wlr(e){return e.kind===54}function Plr(e){return e.kind===58}function Pu(e){return e.kind===80}function HX(e){return e.kind===81}function ibn(e){return e.kind===95}function A9e(e){return e.kind===134}function A5t(e){return e.kind===108}function abn(e){return e.kind===102}function sbn(e){return e.kind===166}function wTr(e){return e.kind===167}function PTr(e){return e.kind===168}function I9e(e){return e.kind===169}function E9t(e){return e.kind===170}function obn(e){return e.kind===171}function M9e(e){return e.kind===172}function Rbn(e){return e.kind===173}function U5t(e){return e.kind===174}function BTr(e){return e.kind===176}function F5t(e){return e.kind===177}function W9e(e){return e.kind===178}function ubn(e){return e.kind===179}function lbn(e){return e.kind===180}function ITr(e){return e.kind===181}function cbn(e){return e.kind===182}function MTr(e){return e.kind===183}function WTr(e){return e.kind===184}function UTr(e){return e.kind===185}function Tbn(e){return e.kind===186}function pbn(e){return e.kind===187}function _bn(e){return e.kind===188}function hbn(e){return e.kind===189}function fbn(e){return e.kind===202}function dbn(e){return e.kind===190}function xbn(e){return e.kind===191}function mbn(e){return e.kind===192}function kbn(e){return e.kind===193}function ybn(e){return e.kind===194}function qbn(e){return e.kind===195}function Cbn(e){return e.kind===196}function Abn(e){return e.kind===197}function gbn(e){return e.kind===198}function bbn(e){return e.kind===199}function Ebn(e){return e.kind===200}function Obn(e){return e.kind===201}function vbn(e){return e.kind===205}function Dbn(e){return e.kind===208}function Sbn(e){return e.kind===209}function FTr(e){return e.kind===210}function FW(e){return e.kind===211}function Ede(e){return e.kind===212}function LTr(e){return e.kind===213}function $bn(e){return e.kind===215}function O9t(e){return e.kind===217}function zTr(e){return e.kind===218}function HTr(e){return e.kind===219}function Qbn(e){return e.kind===222}function Nbn(e){return e.kind===224}function Ase(e){return e.kind===226}function wbn(e){return e.kind===230}function L5t(e){return e.kind===231}function Pbn(e){return e.kind===232}function Bbn(e){return e.kind===233}function O9e(e){return e.kind===235}function Ibn(e){return e.kind===236}function Mbn(e){return e.kind===356}function Y9e(e){return e.kind===243}function YTr(e){return e.kind===244}function Wbn(e){return e.kind===256}function KTr(e){return e.kind===260}function Ubn(e){return e.kind===261}function GTr(e){return e.kind===262}function U9e(e){return e.kind===263}function v9t(e){return e.kind===264}function VTr(e){return e.kind===265}function Fbn(e){return e.kind===266}function Ade(e){return e.kind===267}function jTr(e){return e.kind===271}function JTr(e){return e.kind===272}function XTr(e){return e.kind===277}function ZTr(e){return e.kind===278}function Lbn(e){return e.kind===279}function zbn(e){return e.kind===353}function e1r(e){return e.kind===283}function Blr(e){return e.kind===286}function Hbn(e){return e.kind===289}function t1r(e){return e.kind===295}function Ybn(e){return e.kind===297}function Kbn(e){return e.kind===303}function Gbn(e){return e.kind===307}function Vbn(e){return e.kind===309}function jbn(e){return e.kind===314}function Jbn(e){return e.kind===317}function r1r(e){return e.kind===320}function Xbn(e){return e.kind===322}function n1r(e){return e.kind===323}function Zbn(e){return e.kind===328}function eEn(e){return e.kind===333}function tEn(e){return e.kind===334}function rEn(e){return e.kind===335}function nEn(e){return e.kind===336}function iEn(e){return e.kind===337}function aEn(e){return e.kind===339}function sEn(e){return e.kind===331}function Ilr(e){return e.kind===341}function oEn(e){return e.kind===342}function D9t(e){return e.kind===344}function REn(e){return e.kind===345}function uEn(e){return e.kind===329}function lEn(e){return e.kind===350}function i1r(e,t){var r;let n=e.kind;return f9t(n)?n===352?e._children:(r=FX.get(t))==null?void 0:r.get(e):vp}function cEn(e,t,r){e.kind===352&&$n.fail("Should not need to re-set the children of a SyntaxList.");let n=FX.get(t);return n===void 0&&(n=new WeakMap,FX.set(t,n)),n.set(e,r),r}function Mlr(e,t){var r;e.kind===352&&$n.fail("Did not expect to unset the children of a SyntaxList."),(r=FX.get(t))==null||r.delete(e)}function TEn(e,t){let r=FX.get(e);r!==void 0&&(FX.delete(e),FX.set(t,r))}function Wlr(e){return(qse(e)&32768)!==0}function pEn(e){return H9e(e.expression)&&e.expression.text==="use strict"}function _En(e){for(let t of e)if(E9e(t)){if(pEn(t))return t}else break}function hEn(e){return O9t(e)&&YX(e)&&!!HAn(e)}function a1r(e,t=31){switch(e.kind){case 217:return t&-2147483648&&hEn(e)?!1:(t&1)!==0;case 216:case 234:case 238:return(t&2)!==0;case 233:return(t&16)!==0;case 235:return(t&4)!==0;case 355:return(t&8)!==0}return!1}function S9t(e,t=31){for(;a1r(e,t);)e=e.expression;return e}function fEn(e){return setStartsOnNewLine(e,!0)}function _de(e){if(u3n(e))return e.name;if(a3n(e)){switch(e.kind){case 303:return _de(e.initializer);case 304:return e.name;case 305:return _de(e.expression)}return}return B9e(e,!0)?_de(e.left):wbn(e)?_de(e.expression):e}function dEn(e){switch(e.kind){case 206:case 207:case 209:return e.elements;case 210:return e.properties}}function Ulr(e){if(e){let t=e;for(;;){if(Pu(t)||!t.body)return Pu(t)?t:t.name;t=t.body}}}function Llr(e,t){return typeof e=="object"?z5t(!1,e.prefix,e.node,e.suffix,t):typeof e=="string"?e.length>0&&e.charCodeAt(0)===35?e.slice(1):e:""}function xEn(e,t){return typeof e=="string"?e:mEn(e,$n.checkDefined(t))}function mEn(e,t){return pTr(e)?t(e).slice(1):xse(e)?t(e):HX(e)?e.escapedText.slice(1):ZC(e)}function z5t(e,t,r,n,i){return t=Llr(t,i),n=Llr(n,i),r=xEn(r,i),`${e?"#":""}${t}${r}${n}`}function s1r(e){if(e.transformFlags&65536)return!0;if(e.transformFlags&128)for(let t of dEn(e)){let r=_de(t);if(r&&R3n(r)&&(r.transformFlags&65536||r.transformFlags&128&&s1r(r)))return!0}return!1}function P4(e,t){return t?WW(e,t.pos,t.end):e}function $9t(e){let t=e.kind;return t===168||t===169||t===171||t===172||t===173||t===174||t===176||t===177||t===178||t===181||t===185||t===218||t===219||t===231||t===243||t===262||t===263||t===264||t===265||t===266||t===267||t===271||t===272||t===277||t===278}function kEn(e){let t=e.kind;return t===169||t===172||t===174||t===177||t===178||t===231||t===263}function fr(e,t){return t&&e(t)}function Mi(e,t,r){if(r){if(t)return t(r);for(let n of r){let i=e(n);if(i)return i}}}function qEn(e,t){return e.charCodeAt(t+1)===42&&e.charCodeAt(t+2)===42&&e.charCodeAt(t+3)!==47}function CEn(e){return SA(e.statements,AEn)||gEn(e)}function AEn(e){return $9t(e)&&bEn(e,95)||jTr(e)&&e1r(e.moduleReference)||JTr(e)||XTr(e)||ZTr(e)?e:void 0}function gEn(e){return e.flags&8388608?o1r(e):void 0}function o1r(e){return EEn(e)?e:Vm(e,o1r)}function bEn(e,t){return w7(e.modifiers,r=>r.kind===t)}function EEn(e){return Ibn(e)&&e.keywordToken===102&&e.name.escapedText==="meta"}function Vlr(e,t,r){return Mi(t,r,e.typeParameters)||Mi(t,r,e.parameters)||fr(t,e.type)}function jlr(e,t,r){return Mi(t,r,e.types)}function Jlr(e,t,r){return fr(t,e.type)}function Xlr(e,t,r){return Mi(t,r,e.elements)}function Zlr(e,t,r){return fr(t,e.expression)||fr(t,e.questionDotToken)||Mi(t,r,e.typeArguments)||Mi(t,r,e.arguments)}function ecr(e,t,r){return Mi(t,r,e.statements)}function tcr(e,t,r){return fr(t,e.label)}function rcr(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)||Mi(t,r,e.typeParameters)||Mi(t,r,e.heritageClauses)||Mi(t,r,e.members)}function ncr(e,t,r){return Mi(t,r,e.elements)}function icr(e,t,r){return fr(t,e.propertyName)||fr(t,e.name)}function acr(e,t,r){return fr(t,e.tagName)||Mi(t,r,e.typeArguments)||fr(t,e.attributes)}function $X(e,t,r){return fr(t,e.type)}function scr(e,t,r){return fr(t,e.tagName)||(e.isNameFirst?fr(t,e.name)||fr(t,e.typeExpression):fr(t,e.typeExpression)||fr(t,e.name))||(typeof e.comment=="string"?void 0:Mi(t,r,e.comment))}function QX(e,t,r){return fr(t,e.tagName)||fr(t,e.typeExpression)||(typeof e.comment=="string"?void 0:Mi(t,r,e.comment))}function g5t(e,t,r){return fr(t,e.name)}function QW(e,t,r){return fr(t,e.tagName)||(typeof e.comment=="string"?void 0:Mi(t,r,e.comment))}function vEn(e,t,r){return fr(t,e.tagName)||fr(t,e.importClause)||fr(t,e.moduleSpecifier)||fr(t,e.attributes)||(typeof e.comment=="string"?void 0:Mi(t,r,e.comment))}function DEn(e,t,r){return fr(t,e.expression)}function Vm(e,t,r){if(e===void 0||e.kind<=165)return;let n=OEn[e.kind];return n===void 0?void 0:n(e,t,r)}function ocr(e,t,r){let n=Rcr(e),i=[];for(;i.length=0;--l)n.push(s[l]),i.push(R)}else{let l=t(s,R);if(l){if(l==="skip")continue;return l}if(s.kind>=166)for(let c of Rcr(s))n.push(c),i.push(s)}}}function Rcr(e){let t=[];return Vm(e,r,r),t;function r(n){t.unshift(n)}}function R1r(e){e.externalModuleIndicator=CEn(e)}function SEn(e,t,r,n=!1,i){var s,R;(s=g9e)==null||s.push(g9e.Phase.Parse,"createSourceFile",{path:e},!0),llr("beforeParse");let l,{languageVersion:c,setExternalModuleIndicator:h,impliedNodeFormat:_,jsDocParsingMode:f}=typeof r=="object"?r:{languageVersion:r};if(c===100)l=LX.parseSourceFile(e,t,c,void 0,n,6,Cse,f);else{let m=_===void 0?h:x=>(x.impliedNodeFormat=_,(h||R1r)(x));l=LX.parseSourceFile(e,t,c,void 0,n,i,m,f)}return llr("afterParse"),W9n("Parse","beforeParse","afterParse"),(R=g9e)==null||R.pop(),l}function $En(e){return e.externalModuleIndicator!==void 0}function QEn(e,t,r,n=!1){let i=F9e.updateSourceFile(e,t,r,n);return i.flags|=e.flags&12582912,i}function NEn(e){ucr.has(e)&&$n.fail("Source file has already been incrementally parsed"),ucr.add(e)}function wEn(e){return u1r.has(e)}function H5t(e){u1r.add(e)}function PEn(e){return BEn(e)!==void 0}function BEn(e){let t=Hcr(e,Pgn,!1);if(t)return t;if(z9n(e,".ts")){let r=zcr(e),n=r.lastIndexOf(".d.");if(n>=0)return r.substring(n)}}function IEn(e,t,r,n){if(e){if(e==="import")return 99;if(e==="require")return 1;n(t,r-t,Sr.resolution_mode_should_be_either_require_or_import)}}function MEn(e,t){let r=[];for(let n of N5t(t,0)||vp){let i=t.substring(n.pos,n.end);zEn(r,n,i)}e.pragmas=new Map;for(let n of r){if(e.pragmas.has(n.name)){let i=e.pragmas.get(n.name);i instanceof Array?i.push(n.args):e.pragmas.set(n.name,[i,n.args]);continue}e.pragmas.set(n.name,n.args)}}function WEn(e,t){e.checkJsDirective=void 0,e.referencedFiles=[],e.typeReferenceDirectives=[],e.libReferenceDirectives=[],e.amdDependencies=[],e.hasNoDefaultLib=!1,e.pragmas.forEach((r,n)=>{switch(n){case"reference":{let i=e.referencedFiles,s=e.typeReferenceDirectives,R=e.libReferenceDirectives;SA(f5t(r),l=>{let{types:c,lib:h,path:_,["resolution-mode"]:f,preserve:m}=l.arguments,x=m==="true"?!0:void 0;if(l.arguments["no-default-lib"]==="true")e.hasNoDefaultLib=!0;else if(c){let y=IEn(f,c.pos,c.end,t);s.push({pos:c.pos,end:c.end,fileName:c.value,...y?{resolutionMode:y}:{},...x?{preserve:x}:{}})}else h?R.push({pos:h.pos,end:h.end,fileName:h.value,...x?{preserve:x}:{}}):_?i.push({pos:_.pos,end:_.end,fileName:_.value,...x?{preserve:x}:{}}):t(l.range.pos,l.range.end-l.range.pos,Sr.Invalid_reference_directive_syntax)});break}case"amd-dependency":{e.amdDependencies=v5t(f5t(r),i=>({name:i.arguments.name,path:i.arguments.path}));break}case"amd-module":{if(r instanceof Array)for(let i of r)e.moduleName&&t(i.range.pos,i.range.end-i.range.pos,Sr.An_AMD_module_cannot_have_multiple_name_assignments),e.moduleName=i.arguments.name;else e.moduleName=r.arguments.name;break}case"ts-nocheck":case"ts-check":{SA(f5t(r),i=>{(!e.checkJsDirective||i.range.pos>e.checkJsDirective.pos)&&(e.checkJsDirective={enabled:n==="ts-check",end:i.range.end,pos:i.range.pos})});break}case"jsx":case"jsxfrag":case"jsximportsource":case"jsxruntime":return;default:$n.fail("Unhandled pragma kind")}})}function UEn(e){if(b5t.has(e))return b5t.get(e);let t=new RegExp(`(\\s${e}\\s*=\\s*)(?:(?:'([^']*)')|(?:"([^"]*)"))`,"im");return b5t.set(e,t),t}function zEn(e,t,r){let n=t.kind===2&&FEn.exec(r);if(n){let s=n[1].toLowerCase(),R=Lcr[s];if(!R||!(R.kind&1))return;if(R.args){let l={};for(let c of R.args){let h=UEn(c.name).exec(r);if(!h&&!c.optional)return;if(h){let _=h[2]||h[3];if(c.captureSpan){let f=t.pos+h.index+h[1].length+1;l[c.name]={value:_,pos:f,end:f+_.length}}else l[c.name]=_}}e.push({name:s,args:{arguments:l,range:t}})}else e.push({name:s,args:{arguments:{},range:t}});return}let i=t.kind===2&&LEn.exec(r);if(i)return lcr(e,t,2,i);if(t.kind===3){let s=/@(\S+)(\s+(?:\S.*)?)?$/gm,R;for(;R=s.exec(r);)lcr(e,t,4,R)}}function lcr(e,t,r,n){if(!n)return;let i=n[1].toLowerCase(),s=Lcr[i];if(!s||!(s.kind&r))return;let R=n[2],l=HEn(s,R);l!=="fail"&&e.push({name:i,args:{arguments:l,range:t}})}function HEn(e,t){if(!t)return{};if(!e.args)return{};let r=t.trim().split(/\s+/),n={};for(let i=0;i{r.push(R)}),r;fde.setText((t||e.getSourceFile()).text);let n=e.pos,i=R=>{dde(r,n,R.pos,e),r.push(R),n=R.end},s=R=>{dde(r,n,R.pos,e),r.push(KEn(R,e)),n=R.end};return SA(e.jsDoc,i),n=e.pos,e.forEachChild(i,s),dde(r,n,e.end,e),fde.setText(void 0),r}function dde(e,t,r,n){for(fde.resetTokenState(t);tt.tagName.text==="inheritDoc"||t.tagName.text==="inheritdoc")}function v9e(e,t){if(!e)return vp;let r=ts_JsDoc_exports.getJsDocTagsFromDeclarations(e,t);if(t&&(r.length===0||e.some(_1r))){let n=new Set;for(let i of e){let s=h1r(t,i,R=>{var l;if(!n.has(R))return n.add(R),i.kind===177||i.kind===178?R.getContextualJsDocTags(i,t):((l=R.declarations)==null?void 0:l.length)===1?R.getJsDocTags(t):void 0});s&&(r=[...s,...r])}}return r}function hde(e,t){if(!e)return vp;let r=ts_JsDoc_exports.getJsDocCommentsFromDeclarations(e,t);if(t&&(r.length===0||e.some(_1r))){let n=new Set;for(let i of e){let s=h1r(t,i,R=>{if(!n.has(R))return n.add(R),i.kind===177||i.kind===178?R.getContextualDocumentationComment(i,t):R.getDocumentationComment(t)});s&&(r=r.length===0?s.slice():s.concat(lineBreakPart(),r))}}return r}function h1r(e,t,r){var n;let i=((n=t.parent)==null?void 0:n.kind)===176?t.parent.parent:t.parent;if(!i)return;let s=ign(t);return p9n(V3n(i),R=>{let l=e.getTypeAtLocation(R),c=s&&l.symbol?e.getTypeOfSymbol(l.symbol):l,h=e.getPropertyOfType(c,t.symbol.name);return h?r(h):void 0})}function ZEn(){return{getNodeConstructor:()=>Q9t,getTokenConstructor:()=>c1r,getIdentifierConstructor:()=>T1r,getPrivateIdentifierConstructor:()=>p1r,getSourceFileConstructor:()=>JEn,getSymbolConstructor:()=>GEn,getTypeConstructor:()=>VEn,getSignatureConstructor:()=>jEn,getSourceMapSourceConstructor:()=>XEn}}function jD(e,t=!1){var r;if(e!=null){if(d1r){if(t||$9t(e)){let n=$An(e);return n?[...n]:void 0}return}return(r=e.modifiers)==null?void 0:r.filter(n=>!E9t(n))}}function _se(e,t=!1){var r;if(e!=null){if(d1r){if(t||kEn(e)){let n=SAn(e);return n?[...n]:void 0}return}return(r=e.decorators)==null?void 0:r.filter(E9t)}}function oOn(e){return aOn.has(e.kind)}function ROn(e){return iOn.has(e.kind)}function uOn(e){return sOn.has(e.kind)}function IW(e){return Qc(e)}function lOn(e){return e.kind!==ka.SemicolonClassElement}function oR(e,t){let r=jD(t);return r?.some(n=>n.kind===e)===!0}function cOn(e){let t=jD(e);return t==null?null:t[t.length-1]??null}function TOn(e){return e.kind===ka.CommaToken}function pOn(e){return e.kind===ka.SingleLineCommentTrivia||e.kind===ka.MultiLineCommentTrivia}function _On(e){return e.kind===ka.JSDocComment}function hOn(e){if(oOn(e))return{type:Yr.AssignmentExpression,operator:IW(e.kind)};if(ROn(e))return{type:Yr.LogicalExpression,operator:IW(e.kind)};if(uOn(e))return{type:Yr.BinaryExpression,operator:IW(e.kind)};throw new Error(`Unexpected binary operator ${Qc(e.kind)}`)}function D9e(e,t){let r=t.getLineAndCharacterOfPosition(e);return{column:r.character,line:r.line+1}}function BX(e,t){let[r,n]=e.map(i=>D9e(i,t));return{end:n,start:r}}function fOn(e){if(e.kind===Io.Block)switch(e.parent.kind){case Io.Constructor:case Io.GetAccessor:case Io.SetAccessor:case Io.ArrowFunction:case Io.FunctionExpression:case Io.FunctionDeclaration:case Io.MethodDeclaration:return!0;default:return!1}return!0}function sde(e,t){return[e.getStart(t),e.getEnd()]}function dOn(e){return e.kind>=ka.FirstToken&&e.kind<=ka.LastToken}function k1r(e){return e.kind>=ka.JsxElement&&e.kind<=ka.JsxAttribute}function Y5t(e){return e.flags&DA.Let?"let":(e.flags&DA.AwaitUsing)===DA.AwaitUsing?"await using":e.flags&DA.Const?"const":e.flags&DA.Using?"using":"var"}function NX(e){let t=jD(e);if(t!=null)for(let r of t)switch(r.kind){case ka.PublicKeyword:return"public";case ka.ProtectedKeyword:return"protected";case ka.PrivateKeyword:return"private";default:break}}function Rse(e,t,r){return n(t);function n(i){return jAn(i)&&i.pos===e.end?i:EOn(i.getChildren(r),s=>(s.pos<=e.pos&&s.end>e.end||s.pos===e.end)&&bOn(s,r)?n(s):void 0)}}function xOn(e,t){let r=e;for(;r;){if(t(r))return r;r=r.parent}}function mOn(e){return!!xOn(e,k1r)}function ccr(e){return fse(!1,e,/&(?:#\d+|#x[\da-fA-F]+|[0-9a-zA-Z]+);/g,t=>{let r=t.slice(1,-1);if(r[0]==="#"){let n=r[1]==="x"?parseInt(r.slice(2),16):parseInt(r.slice(1),10);return n>1114111?t:String.fromCodePoint(n)}return tOn[r]||t})}function use(e){return e.kind===ka.ComputedPropertyName}function Tcr(e){return!!e.questionToken}function y1r(e){return e.type===Yr.ChainExpression}function kOn(e,t){return y1r(t)&&e.expression.kind!==Io.ParenthesizedExpression}function yOn(e){let t;if(m1r&&e.kind===ka.Identifier?t=sTr(e):"originalKeywordKind"in e&&(t=e.originalKeywordKind),t)return t===ka.NullKeyword?N7.Null:t>=ka.FirstFutureReservedWord&&t<=ka.LastKeyword?N7.Identifier:N7.Keyword;if(e.kind>=ka.FirstKeyword&&e.kind<=ka.LastFutureReservedWord)return e.kind===ka.FalseKeyword||e.kind===ka.TrueKeyword?N7.Boolean:N7.Keyword;if(e.kind>=ka.FirstPunctuation&&e.kind<=ka.LastPunctuation)return N7.Punctuator;if(e.kind>=ka.NoSubstitutionTemplateLiteral&&e.kind<=ka.TemplateTail)return N7.Template;switch(e.kind){case ka.NumericLiteral:return N7.Numeric;case ka.JsxText:return N7.JSXText;case ka.StringLiteral:return e.parent.kind===ka.JsxAttribute||e.parent.kind===ka.JsxElement?N7.JSXText:N7.String;case ka.RegularExpressionLiteral:return N7.RegularExpression;case ka.Identifier:case ka.ConstructorKeyword:case ka.GetKeyword:case ka.SetKeyword:default:}return e.kind===ka.Identifier&&(k1r(e.parent)||e.parent.kind===ka.PropertyAccessExpression&&mOn(e))?N7.JSXIdentifier:N7.Identifier}function qOn(e,t){let r=e.kind===ka.JsxText?e.getFullStart():e.getStart(t),n=e.getEnd(),i=t.text.slice(r,n),s=yOn(e),R=[r,n],l=BX(R,t);return s===N7.RegularExpression?{type:s,loc:l,range:R,regex:{flags:i.slice(i.lastIndexOf("/")+1),pattern:i.slice(1,i.lastIndexOf("/"))},value:i}:{type:s,loc:l,range:R,value:i}}function COn(e){let t=[];function r(n){pOn(n)||_On(n)||(dOn(n)&&n.kind!==ka.EndOfFileToken?t.push(qOn(n,e)):n.getChildren(e).forEach(r))}return r(e),t}function q1r(e,t,r,n=r){let[i,s]=[r,n].map(R=>{let{character:l,line:c}=t.getLineAndCharacterOfPosition(R);return{column:l,line:c+1,offset:R}});return new AOn(e,t.fileName,{end:s,start:i})}function gOn(e){var t;return!!("illegalDecorators"in e&&(t=e.illegalDecorators)!=null&&t.length)}function bOn(e,t){return e.kind===ka.EndOfFileToken?!!e.jsDoc:e.getWidth(t)!==0}function EOn(e,t){if(e!==void 0)for(let r=0;r=0&&e.kind!==ka.EndOfFileToken}function pcr(e){return!DOn(e)}function SOn(e){return aTr(e.parent,hTr)}function $On(e){return oR(ka.AbstractKeyword,e)}function QOn(e){if(e.parameters.length&&!n1r(e)){let t=e.parameters[0];if(NOn(t))return t}return null}function NOn(e){return C1r(e.name)}function wOn(e){switch(e.kind){case ka.ClassDeclaration:return!0;case ka.ClassExpression:return!0;case ka.PropertyDeclaration:{let{parent:t}=e;return!!(U9e(t)||kse(t)&&!$On(e))}case ka.GetAccessor:case ka.SetAccessor:case ka.MethodDeclaration:{let{parent:t}=e;return!!e.body&&(U9e(t)||kse(t))}case ka.Parameter:{let{parent:t}=e,r=t.parent;return!!t&&"body"in t&&!!t.body&&(t.kind===ka.Constructor||t.kind===ka.MethodDeclaration||t.kind===ka.SetAccessor)&&QOn(t)!==e&&!!r&&r.kind===ka.ClassDeclaration}}return!1}function w9t(e){switch(e.kind){case ka.Identifier:return!0;case ka.PropertyAccessExpression:case ka.ElementAccessExpression:return!(e.flags&DA.OptionalChain);case ka.ParenthesizedExpression:case ka.TypeAssertionExpression:case ka.AsExpression:case ka.SatisfiesExpression:case ka.ExpressionWithTypeArguments:case ka.NonNullExpression:return w9t(e.expression);default:return!1}}function POn(e){let t=jD(e),r=e;for(;(!t||t.length===0)&&Ade(r.parent);){let n=jD(r.parent);n!=null&&n.length&&(t=n),r=r.parent}return t}function BOn(e){return q1r("message"in e&&e.message||e.messageText,e.file,e.start)}function MOn(e,t,r=e.getSourceFile()){let n=[];for(;;){if(TTr(e.kind))t(e);else if(e.kind!==Io.JSDocComment){let i=e.getChildren(r);if(i.length===1){e=i[0];continue}for(let s=i.length-1;s>=0;--s)n.push(i[s])}if(n.length===0)break;e=n.pop()}}function WOn(e){switch(e.kind){case Io.CloseBraceToken:return e.parent.kind!==Io.JsxExpression||!E5t(e.parent.parent);case Io.GreaterThanToken:switch(e.parent.kind){case Io.JsxOpeningElement:return e.end!==e.parent.end;case Io.JsxOpeningFragment:return!1;case Io.JsxSelfClosingElement:return e.end!==e.parent.end||!E5t(e.parent.parent);case Io.JsxClosingElement:case Io.JsxClosingFragment:return!E5t(e.parent.parent.parent)}}return!0}function E5t(e){return e.kind===Io.JsxElement||e.kind===Io.JsxFragment}function UOn(e,t,r=e.getSourceFile()){let n=r.text,i=r.languageVariant!==Mcr.JSX;return MOn(e,R=>{if(R.pos!==R.end&&(R.kind!==Io.JsxText&&fAn(n,R.pos===0?(nTr(n)??"").length:R.pos,s),i||WOn(R)))return dAn(n,R.end,s)},r);function s(R,l,c){t(n,{end:l,kind:c,pos:R})}}function FOn(e,t){let r=[];return UOn(e,(n,i)=>{let s=i.kind===Io.SingleLineCommentTrivia?N7.Line:N7.Block,R=[i.pos,i.end],l=BX(R,e),c=R[0]+2,h=i.kind===Io.SingleLineCommentTrivia?R[1]-c:R[1]-c-2;r.push({type:s,loc:l,range:R,value:t.slice(c,c+h)})},e),r}function zOn(e,t,r){let{parseDiagnostics:n}=e;if(n.length)throw BOn(n[0]);let i=new IOn(e,{allowInvalidAST:t.allowInvalidAST,errorOnUnknownASTType:t.errorOnUnknownASTType,shouldPreserveNodeMaps:r,suppressDeprecatedPropertyWarnings:t.suppressDeprecatedPropertyWarnings}),s=i.convertProgram();return(!t.range||!t.loc)&&LOn(s,{enter:R=>{t.range||delete R.range,t.loc||delete R.loc}}),t.tokens&&(s.tokens=COn(e)),t.comment&&(s.comments=FOn(e,t.codeFullText)),{astMaps:i.getASTMaps(),estree:s}}function g1r(e){if(typeof e!="object"||e==null)return!1;let t=e;return t.kind===Io.SourceFile&&typeof t.getFullText=="function"}function KOn(e,t){switch(YOn.default.extname(e).toLowerCase()){case fg.Cjs:case fg.Js:case fg.Mjs:return Ow.JS;case fg.Cts:case fg.Mts:case fg.Ts:return Ow.TS;case fg.Json:return Ow.JSON;case fg.Jsx:return Ow.JSX;case fg.Tsx:return Ow.TSX;default:return t?Ow.TSX:Ow.TS}}function jOn(e){return VOn("Getting AST without type information in %s mode for: %s",e.jsx?"TSX":"TS",e.filePath),g1r(e.code)?e.code:SEn(e.filePath,e.codeFullText,{jsDocParsingMode:e.jsDocParsingMode,languageVersion:s9t.Latest,setExternalModuleIndicator:e.setExternalModuleIndicator},!0,KOn(e.filePath,e.jsx))}function avn(e,t={}){var r;let n=svn(e),i=evn(t),s=typeof t.tsconfigRootDir=="string"?t.tsconfigRootDir:"/prettier-security-dirname-placeholder",R=typeof t.loggerFn=="function",l=XOn(typeof t.filePath=="string"&&t.filePath!==""?t.filePath:ovn(t.jsx),s),c=nvn.default.extname(l).toLowerCase(),h=(()=>{switch(t.jsDocParsingMode){case"all":return ode.ParseAll;case"none":return ode.ParseNone;case"type-info":return ode.ParseForTypeInfo;default:return ode.ParseAll}})(),_={loc:t.loc===!0,range:t.range===!0,allowInvalidAST:t.allowInvalidAST===!0,code:e,codeFullText:n,comment:t.comment===!0,comments:[],debugLevel:t.debugLevel===!0?new Set(["typescript-eslint"]):Array.isArray(t.debugLevel)?new Set(t.debugLevel):new Set,errorOnTypeScriptSyntacticAndSemanticIssues:!1,errorOnUnknownASTType:t.errorOnUnknownASTType===!0,extraFileExtensions:Array.isArray(t.extraFileExtensions)&&t.extraFileExtensions.every(f=>typeof f=="string")?t.extraFileExtensions:[],filePath:l,jsDocParsingMode:h,jsx:t.jsx===!0,log:typeof t.loggerFn=="function"?t.loggerFn:t.loggerFn===!1?()=>{}:console.log,preserveNodeMaps:t.preserveNodeMaps!==!1,programs:Array.isArray(t.programs)?t.programs:null,projects:new Map,projectService:t.projectService||t.project&&t.projectService!==!1&&(void 0).env.TYPESCRIPT_ESLINT_PROJECT_SERVICE==="true"?hcr??(hcr=JOn(t.projectService,h,s)):void 0,setExternalModuleIndicator:t.sourceType==="module"||t.sourceType===void 0&&c===fg.Mjs||t.sourceType===void 0&&c===fg.Mts?f=>{f.externalModuleIndicator=!0}:void 0,singleRun:i,suppressDeprecatedPropertyWarnings:t.suppressDeprecatedPropertyWarnings??!0,tokens:t.tokens===!0?[]:null,tsconfigMatchCache:_cr??(_cr=new ZOn(i?"Infinity":((r=t.cacheLifetime)==null?void 0:r.glob)??void 0)),tsconfigRootDir:s};if(_.debugLevel.size>0){let f=[];_.debugLevel.has("typescript-eslint")&&f.push("typescript-eslint:*"),(_.debugLevel.has("eslint")||V5t.default.enabled("eslint:*,-eslint:code-path"))&&f.push("eslint:*,-eslint:code-path"),V5t.default.enable(f.join(","))}if(Array.isArray(t.programs)){if(!t.programs.length)throw new Error("You have set parserOptions.programs to an empty array. This will cause all files to not be found in existing programs. Either provide one or more existing TypeScript Program instances in the array, or remove the parserOptions.programs setting.");ivn("parserOptions.programs was provided, so parserOptions.project will be ignored.")}return!_.programs&&!_.projectService&&(_.projects=new Map),t.jsDocParsingMode==null&&_.projects.size===0&&_.programs==null&&_.projectService==null&&(_.jsDocParsingMode=ode.ParseNone),tvn(_,R),_}function svn(e){return g1r(e)?e.getFullText(e):typeof e=="string"?e:String(e)}function ovn(e){return e?"estree.tsx":"estree.ts"}function uvn(e,t){let{ast:r}=lvn(e,t,!1);return r}function lvn(e,t,r){let n=avn(e,t);if(t!=null&&t.errorOnTypeScriptSyntacticAndSemanticIssues)throw new Error('"errorOnTypeScriptSyntacticAndSemanticIssues" is only supported for parseAndGenerateServices()');let i=jOn(n),{astMaps:s,estree:R}=zOn(i,n,r);return{ast:R,esTreeNodeToTSNodeMap:s.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:s.tsNodeToESTreeNodeMap}}function cvn(e,t){let r=new SyntaxError(e+" ("+t.loc.start.line+":"+t.loc.start.column+")");return Object.assign(r,t)}function pvn(e){let t=[];for(let r of e)try{return r()}catch(n){t.push(n)}throw Object.assign(new Error("All combinations failed"),{errors:t})}function fvn(e){return Array.isArray(e)&&e.length>0}function GD(e){var t,r,n;let i=((t=e.range)==null?void 0:t[0])??e.start,s=(n=((r=e.declaration)==null?void 0:r.decorators)??e.decorators)==null?void 0:n[0];return s?Math.min(GD(s),i):i}function IX(e){var t;return((t=e.range)==null?void 0:t[1])??e.end}function xvn(e){let t=new Set(e);return r=>t.has(r?.type)}function yvn(e){let t=`*${e.value}*`.split(` +`);return t.length>1&&t.every(r=>r.trimStart()[0]==="*")}function qvn(e){return j5t(e)&&e.value[0]==="*"&&/@(?:type|satisfies)\b/u.test(e.value)}function xde(e){if(Rde!==null&&typeof Rde.property){let t=Rde;return Rde=xde.prototype=null,t}return Rde=xde.prototype=e??Object.create(null),new xde}function gvn(e){return xde(e)}function bvn(e,t="type"){gvn(e);function r(n){let i=n[t],s=e[i];if(!Array.isArray(s))throw Object.assign(new Error(`Missing visitor keys for '${i}'.`),{node:n});return s}return r}function J5t(e,t){if(!(e!==null&&typeof e=="object"))return e;if(Array.isArray(e)){for(let n=0;n{var R;(R=s.leadingComments)!=null&&R.some(Cvn)&&i.add(GD(s))}),e=O5t(e,s=>{if(s.type==="ParenthesizedExpression"){let{expression:R}=s;if(R.type==="TypeCastExpression")return R.range=[...s.range],R;let l=GD(s);if(!i.has(l))return R.extra={...R.extra,parenthesized:!0},R}})}if(e=O5t(e,i=>{switch(i.type){case"LogicalExpression":if(b1r(i))return X5t(i);break;case"VariableDeclaration":{let s=kcr(!1,i.declarations,-1);s!=null&&s.init&&n[IX(s)]!==";"&&(i.range=[GD(i),IX(s)]);break}case"TSParenthesizedType":return i.typeAnnotation;case"TSTypeParameter":if(typeof i.name=="string"){let s=GD(i);i.name={type:"Identifier",name:i.name,range:[s,s+i.name.length]}}break;case"TopicReference":e.extra={...e.extra,__isUsingHackPipeline:!0};break;case"TSUnionType":case"TSIntersectionType":if(i.types.length===1)return i.types[0];break}}),dvn(e.comments)){let i=kcr(!1,e.comments,-1);for(let s=e.comments.length-2;s>=0;s--){let R=e.comments[s];IX(R)===GD(i)&&j5t(R)&&j5t(i)&&ycr(R)&&ycr(i)&&(e.comments.splice(s+1,1),R.value+="*//*"+i.value,R.range=[GD(R),IX(i)]),i=R}}return e.type==="Program"&&(e.range=[0,n.length]),e}function b1r(e){return e.type==="LogicalExpression"&&e.right.type==="LogicalExpression"&&e.operator===e.right.operator}function X5t(e){return b1r(e)?X5t({type:"LogicalExpression",operator:e.operator,left:X5t({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:[GD(e.left),IX(e.right.left)]}),right:e.right.right,range:[GD(e),IX(e)]}):e}function Wvn(e){let t=e.match(wvn);return t?t[0].trimStart():""}function Uvn(e){let t=` +`;e=fse(!1,e.replace(Nvn,"").replace(Qvn,""),Ivn,"$1");let r="";for(;r!==e;)r=e,e=fse(!1,e,Bvn,`${t}$1 $2${t}`);e=e.replace(qcr,"").trimEnd();let n=Object.create(null),i=fse(!1,e,Ccr,"").replace(qcr,"").trimEnd(),s;for(;s=Ccr.exec(e);){let R=fse(!1,s[2],Pvn,"");if(typeof n[s[1]]=="string"||Array.isArray(n[s[1]])){let l=n[s[1]];n[s[1]]=[...Mvn,...Array.isArray(l)?l:[l],R]}else n[s[1]]=R}return{comments:i,pragmas:n}}function Fvn(e){if(!e.startsWith("#!"))return"";let t=e.indexOf(` +`);return t===-1?e:e.slice(0,t)}function zvn(e){let t=Lvn(e);t&&(e=e.slice(t.length+1));let r=Wvn(e),{pragmas:n,comments:i}=Uvn(r);return{shebang:t,text:e,pragmas:n,comments:i}}function Hvn(e){let{pragmas:t}=zvn(e);return Object.prototype.hasOwnProperty.call(t,"prettier")||Object.prototype.hasOwnProperty.call(t,"format")}function Yvn(e){return e=typeof e=="function"?{parse:e}:e,{astFormat:"estree",hasPragma:Hvn,locStart:GD,locEnd:IX,...e}}function Gvn(e){let{filepath:t}=e;if(t){if(t=t.toLowerCase(),t.endsWith(".cjs")||t.endsWith(".cts"))return"script";if(t.endsWith(".mjs")||t.endsWith(".mts"))return"module"}}function jvn(e){return e.charAt(0)==="#"&&e.charAt(1)==="!"?"//"+e.slice(2):e}function Zvn(e){if(!(e!=null&&e.location))return e;let{message:t,location:{start:r,end:n}}=e;return Tvn(t,{loc:{start:{line:r.line,column:r.column+1},end:{line:n.line,column:n.column+1}},cause:e})}function tDn(e,t){let r=t?.filepath,n=[{...Xvn,filePath:r}],i=Vvn(t);if(i?n=n.map(R=>({...R,sourceType:i})):n=["module","script"].flatMap(R=>n.map(l=>({...l,sourceType:R}))),r&&eDn(r))return n;let s=nDn(e);return[s,!s].flatMap(R=>n.map(l=>({...l,jsx:R})))}function rDn(e,t={}){let r=Jvn(e),n=tDn(e,t),i;try{i=_vn(n.map(s=>()=>uvn(r,s)))}catch({errors:[s]}){throw Zvn(s)}return $vn(i,{text:e})}function nDn(e){return new RegExp(["(?:^[^\"'`]*)"].join(""),"mu").test(e)}var Acr,gcr,s9n,bcr,tde,o9n,R9n,rs,Ecr,Z5t,u9n,e9t,l9n,fse,c9n,vp,T9n,Mfi,Scr,$n,Wfi,llr,W9n,g9e,Io,DA,Qcr,Ncr,$5t,wcr,Pcr,fy,Bcr,Icr,Ow,s9t,Mcr,fg,Wcr,Ucr,Fcr,rde,Lcr,cde,zX,U9n,clr,F9n,_lr,Sr,u9t,tAn,Kcr,Gcr,rAn,nAn,iAn,aAn,sAn,oAn,RAn,uAn,TAn,Ufi,b9e,c9t,CAn,dlr,xlr,mlr,dse,Ffi,Lfi,zfi,Hfi,Op,Cgn,vlr,Il,Yfi,Kfi,Gfi,Vfi,jfi,Jfi,Xfi,Zfi,edi,tdi,rdi,ndi,idi,adi,sdi,odi,Rdi,vgn,$Tr,Dgn,Sgn,NTr,udi,ldi,Ngn,cdi,wgn,Tdi,Pgn,pdi,W5t,_di,zgn,hdi,Ygn,q9e,Kgn,VC,Qlr,ide,Jgn,fdi,FX,Flr,zlr,Hlr,Ylr,Klr,Glr,yEn,ddi,OEn,LX,ucr,u1r,F9e,b5t,FEn,LEn,fde,Q9t,N9t,GEn,c1r,T1r,p1r,VEn,jEn,JEn,XEn,eOn,xdi,f1r,d1r,tOn,x1r,rOn,nOn,Yr,N7,m1r,ka,iOn,aOn,sOn,AOn,Yt,Ga,K5t,A1r,Jo,O2,hse,G5t,IOn,mdi,kdi,ydi,LOn,HOn,YOn,GOn,VOn,JOn,XOn,ZOn,evn,tvn,rvn,V5t,nvn,ivn,_cr,hcr,fcr,dcr,xcr,mcr,ode,Rvn,qdi,Tvn,_vn,hvn,kcr,dvn,mvn,kvn,j5t,ycr,Cvn,Rde,Avn,Evn,Ovn,vvn,Dvn,O5t,$vn,Qvn,Nvn,wvn,Pvn,qcr,Bvn,Ccr,Ivn,Mvn,Lvn,Kvn,Vvn,Jvn,Xvn,eDn,iDn,aDn,O1r=mp(()=>{Acr=Object.defineProperty,gcr=e=>{throw TypeError(e)},s9n=(e,t,r)=>t in e?Acr(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,bcr=(e,t)=>{for(var r in t)Acr(e,r,{get:t[r],enumerable:!0})},tde=(e,t,r)=>s9n(e,typeof t!="symbol"?t+"":t,r),o9n=(e,t,r)=>t.has(e)||gcr("Cannot "+r),R9n=(e,t,r)=>t.has(e)?gcr("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),rs=(e,t,r)=>(o9n(e,t,"access private method"),r),Ecr={};bcr(Ecr,{parsers:()=>Z5t});Z5t={};bcr(Z5t,{typescript:()=>iDn});u9n=()=>()=>{},e9t=u9n,l9n=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},fse=l9n,c9n="5.7",vp=[],T9n=new Map;Mfi=Array.prototype.at?(e,t)=>e?.at(t):(e,t)=>{if(e!==void 0&&(t=D5t(e,t),t{let t=0;e.currentLogLevel=2,e.isDebugging=!1;function r(Je){return e.currentLogLevel<=Je}e.shouldLog=r;function n(Je,Ct){e.loggingHost&&r(Je)&&e.loggingHost.log(Je,Ct)}function i(Je){n(3,Je)}e.log=i,(Je=>{function Ct(vr){n(1,vr)}Je.error=Ct;function Pt(vr){n(2,vr)}Je.warn=Pt;function Zt(vr){n(3,vr)}Je.log=Zt;function dr(vr){n(4,vr)}Je.trace=dr})(i=e.log||(e.log={}));let s={};function R(){return t}e.getAssertionLevel=R;function l(Je){let Ct=t;if(t=Je,Je>Ct)for(let Pt of b9n(s)){let Zt=s[Pt];Zt!==void 0&&e[Pt]!==Zt.assertion&&Je>=Zt.level&&(e[Pt]=Zt,s[Pt]=void 0)}}e.setAssertionLevel=l;function c(Je){return t>=Je}e.shouldAssert=c;function h(Je,Ct){return c(Je)?!0:(s[Ct]={level:Je,assertion:e[Ct]},e[Ct]=Cse,!1)}function _(Je,Ct){debugger;let Pt=new Error(Je?`Debug Failure. ${Je}`:"Debug Failure.");throw Error.captureStackTrace&&Error.captureStackTrace(Pt,Ct||_),Pt}e.fail=_;function f(Je,Ct,Pt){return _(`${Ct||"Unexpected node."}\r +Node ${xt(Je.kind)} was unexpected.`,Pt||f)}e.failBadSyntaxKind=f;function m(Je,Ct,Pt,Zt){Je||(Ct=Ct?`False expression: ${Ct}`:"False expression.",Pt&&(Ct+=`\r +Verbose Debug Information: `+(typeof Pt=="string"?Pt:Pt())),_(Ct,Zt||m))}e.assert=m;function x(Je,Ct,Pt,Zt,dr){if(Je!==Ct){let vr=Pt?Zt?`${Pt} ${Zt}`:Pt:"";_(`Expected ${Je} === ${Ct}. ${vr}`,dr||x)}}e.assertEqual=x;function y(Je,Ct,Pt,Zt){Je>=Ct&&_(`Expected ${Je} < ${Ct}. ${Pt||""}`,Zt||y)}e.assertLessThan=y;function A(Je,Ct,Pt){Je>Ct&&_(`Expected ${Je} <= ${Ct}`,Pt||A)}e.assertLessThanOrEqual=A;function D(Je,Ct,Pt){Je= ${Ct}`,Pt||D)}e.assertGreaterThanOrEqual=D;function S(Je,Ct,Pt){Je==null&&_(Ct,Pt||S)}e.assertIsDefined=S;function P(Je,Ct,Pt){return S(Je,Ct,Pt||P),Je}e.checkDefined=P;function M(Je,Ct,Pt){for(let Zt of Je)S(Zt,Ct,Pt||M)}e.assertEachIsDefined=M;function U(Je,Ct,Pt){return M(Je,Ct,Pt||U),Je}e.checkEachDefined=U;function w(Je,Ct="Illegal value:",Pt){let Zt=typeof Je=="object"&&VD(Je,"kind")&&VD(Je,"pos")?"SyntaxKind: "+xt(Je.kind):JSON.stringify(Je);return _(`${Ct} ${Zt}`,Pt||w)}e.assertNever=w;function F(Je,Ct,Pt,Zt){h(1,"assertEachNode")&&m(Ct===void 0||t9t(Je,Ct),Pt||"Unexpected node.",()=>`Node array did not pass test '${Ae(Ct)}'.`,Zt||F)}e.assertEachNode=F;function H(Je,Ct,Pt,Zt){h(1,"assertNode")&&m(Je!==void 0&&(Ct===void 0||Ct(Je)),Pt||"Unexpected node.",()=>`Node ${xt(Je?.kind)} did not pass test '${Ae(Ct)}'.`,Zt||H)}e.assertNode=H;function G(Je,Ct,Pt,Zt){h(1,"assertNotNode")&&m(Je===void 0||Ct===void 0||!Ct(Je),Pt||"Unexpected node.",()=>`Node ${xt(Je.kind)} should not have passed test '${Ae(Ct)}'.`,Zt||G)}e.assertNotNode=G;function ee(Je,Ct,Pt,Zt){h(1,"assertOptionalNode")&&m(Ct===void 0||Je===void 0||Ct(Je),Pt||"Unexpected node.",()=>`Node ${xt(Je?.kind)} did not pass test '${Ae(Ct)}'.`,Zt||ee)}e.assertOptionalNode=ee;function fe(Je,Ct,Pt,Zt){h(1,"assertOptionalToken")&&m(Ct===void 0||Je===void 0||Je.kind===Ct,Pt||"Unexpected node.",()=>`Node ${xt(Je?.kind)} was not a '${xt(Ct)}' token.`,Zt||fe)}e.assertOptionalToken=fe;function me(Je,Ct,Pt){h(1,"assertMissingNode")&&m(Je===void 0,Ct||"Unexpected node.",()=>`Node ${xt(Je.kind)} was unexpected'.`,Pt||me)}e.assertMissingNode=me;function ve(Je){}e.type=ve;function Ae(Je){if(typeof Je!="function")return"";if(VD(Je,"name"))return Je.name;{let Ct=Function.prototype.toString.call(Je),Pt=/^function\s+([\w$]+)\s*\(/.exec(Ct);return Pt?Pt[1]:""}}e.getFunctionName=Ae;function Ue(Je){return`{ name: ${mde(Je.escapedName)}; flags: ${pt(Je.flags)}; declarations: ${v5t(Je.declarations,Ct=>xt(Ct.kind))} }`}e.formatSymbol=Ue;function Ee(Je=0,Ct,Pt){let Zt=gt(Ct);if(Je===0)return Zt.length>0&&Zt[0][0]===0?Zt[0][1]:"0";if(Pt){let dr=[],vr=Je;for(let[ln,Mn]of Zt){if(ln>Je)break;ln!==0&&ln&Je&&(dr.push(Mn),vr&=~ln)}if(vr===0)return dr.join("|")}else for(let[dr,vr]of Zt)if(dr===Je)return vr;return Je.toString()}e.formatEnum=Ee;let Me=new Map;function gt(Je){let Ct=Me.get(Je);if(Ct)return Ct;let Pt=[];for(let dr in Je){let vr=Je[dr];typeof vr=="number"&&Pt.push([vr,dr])}let Zt=k9n(Pt,(dr,vr)=>$cr(dr[0],vr[0]));return Me.set(Je,Zt),Zt}function xt(Je){return Ee(Je,Io,!1)}e.formatSyntaxKind=xt;function Nt(Je){return Ee(Je,Ucr,!1)}e.formatSnippetKind=Nt;function lt(Je){return Ee(Je,Ow,!1)}e.formatScriptKind=lt;function at(Je){return Ee(Je,DA,!0)}e.formatNodeFlags=at;function _t(Je){return Ee(Je,Pcr,!0)}e.formatNodeCheckFlags=_t;function Ve(Je){return Ee(Je,Qcr,!0)}e.formatModifierFlags=Ve;function Dt(Je){return Ee(Je,Wcr,!0)}e.formatTransformFlags=Dt;function Ut(Je){return Ee(Je,Fcr,!0)}e.formatEmitFlags=Ut;function pt(Je){return Ee(Je,wcr,!0)}e.formatSymbolFlags=pt;function ht(Je){return Ee(Je,fy,!0)}e.formatTypeFlags=ht;function He(Je){return Ee(Je,Icr,!0)}e.formatSignatureFlags=He;function jt(Je){return Ee(Je,Bcr,!0)}e.formatObjectFlags=jt;function zr(Je){return Ee(Je,$5t,!0)}e.formatFlowFlags=zr;function Bn(Je){return Ee(Je,Ncr,!0)}e.formatRelationComparisonResult=Bn;function an(Je){return Ee(Je,CheckMode,!0)}e.formatCheckMode=an;function ri(Je){return Ee(Je,SignatureCheckMode,!0)}e.formatSignatureCheckMode=ri;function Zr(Je){return Ee(Je,TypeFacts,!0)}e.formatTypeFacts=Zr;let bn=!1,Zn;function mi(Je){"__debugFlowFlags"in Je||Object.defineProperties(Je,{__tsDebuggerDisplay:{value(){let Ct=this.flags&2?"FlowStart":this.flags&4?"FlowBranchLabel":this.flags&8?"FlowLoopLabel":this.flags&16?"FlowAssignment":this.flags&32?"FlowTrueCondition":this.flags&64?"FlowFalseCondition":this.flags&128?"FlowSwitchClause":this.flags&256?"FlowArrayMutation":this.flags&512?"FlowCall":this.flags&1024?"FlowReduceLabel":this.flags&1?"FlowUnreachable":"UnknownFlow",Pt=this.flags&-2048;return`${Ct}${Pt?` (${zr(Pt)})`:""}`}},__debugFlowFlags:{get(){return Ee(this.flags,$5t,!0)}},__debugToString:{value(){return ot(this)}}})}function Sn(Je){return bn&&(typeof Object.setPrototypeOf=="function"?(Zn||(Zn=Object.create(Object.prototype),mi(Zn)),Object.setPrototypeOf(Je,Zn)):mi(Je)),Je}e.attachFlowNodeDebugInfo=Sn;let $i;function cs(Je){"__tsDebuggerDisplay"in Je||Object.defineProperties(Je,{__tsDebuggerDisplay:{value(Ct){return Ct=String(Ct).replace(/(?:,[\s\w]+:[^,]+)+\]$/,"]"),`NodeArray ${Ct}`}}})}function Ti(Je){bn&&(typeof Object.setPrototypeOf=="function"?($i||($i=Object.create(Array.prototype),cs($i)),Object.setPrototypeOf(Je,$i)):cs(Je))}e.attachNodeArrayDebugInfo=Ti;function Wi(){if(bn)return;let Je=new WeakMap,Ct=new WeakMap;Object.defineProperties(Op.getSymbolConstructor().prototype,{__tsDebuggerDisplay:{value(){let Zt=this.flags&33554432?"TransientSymbol":"Symbol",dr=this.flags&-33554433;return`${Zt} '${w5t(this)}'${dr?` (${pt(dr)})`:""}`}},__debugFlags:{get(){return pt(this.flags)}}}),Object.defineProperties(Op.getTypeConstructor().prototype,{__tsDebuggerDisplay:{value(){let Zt=this.flags&67359327?`IntrinsicType ${this.intrinsicName}${this.debugIntrinsicName?` (${this.debugIntrinsicName})`:""}`:this.flags&98304?"NullableType":this.flags&384?`LiteralType ${JSON.stringify(this.value)}`:this.flags&2048?`LiteralType ${this.value.negative?"-":""}${this.value.base10Value}n`:this.flags&8192?"UniqueESSymbolType":this.flags&32?"EnumType":this.flags&1048576?"UnionType":this.flags&2097152?"IntersectionType":this.flags&4194304?"IndexType":this.flags&8388608?"IndexedAccessType":this.flags&16777216?"ConditionalType":this.flags&33554432?"SubstitutionType":this.flags&262144?"TypeParameter":this.flags&524288?this.objectFlags&3?"InterfaceType":this.objectFlags&4?"TypeReference":this.objectFlags&8?"TupleType":this.objectFlags&16?"AnonymousType":this.objectFlags&32?"MappedType":this.objectFlags&1024?"ReverseMappedType":this.objectFlags&256?"EvolvingArrayType":"ObjectType":"Type",dr=this.flags&524288?this.objectFlags&-1344:0;return`${Zt}${this.symbol?` '${w5t(this.symbol)}'`:""}${dr?` (${jt(dr)})`:""}`}},__debugFlags:{get(){return ht(this.flags)}},__debugObjectFlags:{get(){return this.flags&524288?jt(this.objectFlags):""}},__debugTypeToString:{value(){let Zt=Je.get(this);return Zt===void 0&&(Zt=this.checker.typeToString(this),Je.set(this,Zt)),Zt}}}),Object.defineProperties(Op.getSignatureConstructor().prototype,{__debugFlags:{get(){return He(this.flags)}},__debugSignatureToString:{value(){var Zt;return(Zt=this.checker)==null?void 0:Zt.signatureToString(this)}}});let Pt=[Op.getNodeConstructor(),Op.getIdentifierConstructor(),Op.getTokenConstructor(),Op.getSourceFileConstructor()];for(let Zt of Pt)VD(Zt.prototype,"__debugKind")||Object.defineProperties(Zt.prototype,{__tsDebuggerDisplay:{value(){return`${xse(this)?"GeneratedIdentifier":Pu(this)?`Identifier '${ZC(this)}'`:HX(this)?`PrivateIdentifier '${ZC(this)}'`:H9e(this)?`StringLiteral ${JSON.stringify(this.text.length<10?this.text:this.text.slice(10)+"...")}`:gse(this)?`NumericLiteral ${this.text}`:tbn(this)?`BigIntLiteral ${this.text}n`:PTr(this)?"TypeParameterDeclaration":I9e(this)?"ParameterDeclaration":BTr(this)?"ConstructorDeclaration":F5t(this)?"GetAccessorDeclaration":W9e(this)?"SetAccessorDeclaration":ubn(this)?"CallSignatureDeclaration":lbn(this)?"ConstructSignatureDeclaration":ITr(this)?"IndexSignatureDeclaration":cbn(this)?"TypePredicateNode":MTr(this)?"TypeReferenceNode":WTr(this)?"FunctionTypeNode":UTr(this)?"ConstructorTypeNode":Tbn(this)?"TypeQueryNode":pbn(this)?"TypeLiteralNode":_bn(this)?"ArrayTypeNode":hbn(this)?"TupleTypeNode":dbn(this)?"OptionalTypeNode":xbn(this)?"RestTypeNode":mbn(this)?"UnionTypeNode":kbn(this)?"IntersectionTypeNode":ybn(this)?"ConditionalTypeNode":qbn(this)?"InferTypeNode":Cbn(this)?"ParenthesizedTypeNode":Abn(this)?"ThisTypeNode":gbn(this)?"TypeOperatorNode":bbn(this)?"IndexedAccessTypeNode":Ebn(this)?"MappedTypeNode":Obn(this)?"LiteralTypeNode":fbn(this)?"NamedTupleMember":vbn(this)?"ImportTypeNode":xt(this.kind)}${this.flags?` (${at(this.flags)})`:""}`}},__debugKind:{get(){return xt(this.kind)}},__debugNodeFlags:{get(){return at(this.flags)}},__debugModifierFlags:{get(){return Ve(cgn(this))}},__debugTransformFlags:{get(){return Dt(this.transformFlags)}},__debugIsParseTreeNode:{get(){return w9e(this)}},__debugEmitFlags:{get(){return Ut(qse(this))}},__debugGetText:{value(dr){if(Tse(this))return"";let vr=Ct.get(this);if(vr===void 0){let ln=EAn(this),Mn=ln&&MW(ln);vr=Mn?Alr(Mn,ln,dr):"",Ct.set(this,vr)}return vr}}});bn=!0}e.enableDebugInfo=Wi;function Fn(Je){let Ct=Je&7,Pt=Ct===0?"in out":Ct===3?"[bivariant]":Ct===2?"in":Ct===1?"out":Ct===4?"[independent]":"";return Je&8?Pt+=" (unmeasurable)":Je&16&&(Pt+=" (unreliable)"),Pt}e.formatVariance=Fn;class Hi{__debugToString(){var Ct;switch(this.kind){case 3:return((Ct=this.debugInfo)==null?void 0:Ct.call(this))||"(function mapper)";case 0:return`${this.source.__debugTypeToString()} -> ${this.target.__debugTypeToString()}`;case 1:return Rlr(this.sources,this.targets||v5t(this.sources,()=>"any"),(Pt,Zt)=>`${Pt.__debugTypeToString()} -> ${typeof Zt=="string"?Zt:Zt.__debugTypeToString()}`).join(", ");case 2:return Rlr(this.sources,this.targets,(Pt,Zt)=>`${Pt.__debugTypeToString()} -> ${Zt().__debugTypeToString()}`).join(", ");case 5:case 4:return`m1: ${this.mapper1.__debugToString().split(` +`).join(` + `)} +m2: ${this.mapper2.__debugToString().split(` +`).join(` + `)}`;default:return w(this)}}}e.DebugTypeMapper=Hi;function Ma(Je){return e.isDebugging?Object.setPrototypeOf(Je,Hi.prototype):Je}e.attachDebugPrototypeIfDebug=Ma;function mt(Je){return console.log(ot(Je))}e.printControlFlowGraph=mt;function ot(Je){let Ct=-1;function Pt(Ce){return Ce.id||(Ce.id=Ct,Ct--),Ce.id}let Zt;(Ce=>{Ce.lr="\u2500",Ce.ud="\u2502",Ce.dr="\u256D",Ce.dl="\u256E",Ce.ul="\u256F",Ce.ur="\u2570",Ce.udr="\u251C",Ce.udl="\u2524",Ce.dlr="\u252C",Ce.ulr="\u2534",Ce.udlr="\u256B"})(Zt||(Zt={}));let dr;(Ce=>{Ce[Ce.None=0]="None",Ce[Ce.Up=1]="Up",Ce[Ce.Down=2]="Down",Ce[Ce.Left=4]="Left",Ce[Ce.Right=8]="Right",Ce[Ce.UpDown=3]="UpDown",Ce[Ce.LeftRight=12]="LeftRight",Ce[Ce.UpLeft=5]="UpLeft",Ce[Ce.UpRight=9]="UpRight",Ce[Ce.DownLeft=6]="DownLeft",Ce[Ce.DownRight=10]="DownRight",Ce[Ce.UpDownLeft=7]="UpDownLeft",Ce[Ce.UpDownRight=11]="UpDownRight",Ce[Ce.UpLeftRight=13]="UpLeftRight",Ce[Ce.DownLeftRight=14]="DownLeftRight",Ce[Ce.UpDownLeftRight=15]="UpDownLeftRight",Ce[Ce.NoChildren=16]="NoChildren"})(dr||(dr={}));let vr=2032,ln=882,Mn=Object.create(null),li=[],Pi=[],Ss=ji(Je,new Set);for(let Ce of li)Ce.text=D0(Ce.flowNode,Ce.circular),Bi(Ce);let Ca=ws(Ss),Jr=Xo(Ca);return No(Ss,0),_R();function Mr(Ce){return!!(Ce.flags&128)}function An(Ce){return!!(Ce.flags&12)&&!!Ce.antecedent}function Ar(Ce){return!!(Ce.flags&vr)}function nn(Ce){return!!(Ce.flags&ln)}function On(Ce){let Oa=[];for(let $s of Ce.edges)$s.source===Ce&&Oa.push($s.target);return Oa}function bi(Ce){let Oa=[];for(let $s of Ce.edges)$s.target===Ce&&Oa.push($s.source);return Oa}function ji(Ce,Oa){let $s=Pt(Ce),hn=Mn[$s];if(hn&&Oa.has(Ce))return hn.circular=!0,hn={id:-1,flowNode:Ce,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:"circularity"},li.push(hn),hn;if(Oa.add(Ce),!hn)if(Mn[$s]=hn={id:$s,flowNode:Ce,edges:[],text:"",lane:-1,endLane:-1,level:-1,circular:!1},li.push(hn),An(Ce))for(let ro of Ce.antecedent)Ta(hn,ro,Oa);else Ar(Ce)&&Ta(hn,Ce.antecedent,Oa);return Oa.delete(Ce),hn}function Ta(Ce,Oa,$s){let hn=ji(Oa,$s),ro={source:Ce,target:hn};Pi.push(ro),Ce.edges.push(ro),hn.edges.push(ro)}function Bi(Ce){if(Ce.level!==-1)return Ce.level;let Oa=0;for(let $s of bi(Ce))Oa=Math.max(Oa,Bi($s)+1);return Ce.level=Oa}function ws(Ce){let Oa=0;for(let $s of On(Ce))Oa=Math.max(Oa,ws($s));return Oa+1}function Xo(Ce){let Oa=Wr(Array(Ce),0);for(let $s of li)Oa[$s.level]=Math.max(Oa[$s.level],$s.text.length);return Oa}function No(Ce,Oa){if(Ce.lane===-1){Ce.lane=Oa,Ce.endLane=Oa;let $s=On(Ce);for(let hn=0;hn<$s.length;hn++){hn>0&&Oa++;let ro=$s[hn];No(ro,Oa),ro.endLane>Ce.endLane&&(Oa=ro.endLane)}Ce.endLane=Oa}}function Fa(Ce){if(Ce&2)return"Start";if(Ce&4)return"Branch";if(Ce&8)return"Loop";if(Ce&16)return"Assignment";if(Ce&32)return"True";if(Ce&64)return"False";if(Ce&128)return"SwitchClause";if(Ce&256)return"ArrayMutation";if(Ce&512)return"Call";if(Ce&1024)return"ReduceLabel";if(Ce&1)return"Unreachable";throw new Error}function wc(Ce){let Oa=MW(Ce);return Alr(Oa,Ce,!1)}function D0(Ce,Oa){let $s=Fa(Ce.flags);if(Oa&&($s=`${$s}#${Pt(Ce)}`),Mr(Ce)){let hn=[],{switchStatement:ro,clauseStart:Ml,clauseEnd:_o}=Ce.node;for(let Mo=Ml;Mo<_o;Mo++){let ZR=ro.caseBlock.clauses[Mo];Ybn(ZR)?hn.push("default"):hn.push(wc(ZR.expression))}$s+=` (${hn.join(", ")})`}else nn(Ce)&&Ce.node&&($s+=` (${wc(Ce.node)})`);return Oa==="circularity"?`Circular(${$s})`:$s}function _R(){let Ce=Jr.length,Oa=N9n(li,0,_o=>_o.lane)+1,$s=Wr(Array(Oa),""),hn=Jr.map(()=>Array(Oa)),ro=Jr.map(()=>Wr(Array(Oa),0));for(let _o of li){hn[_o.level][_o.lane]=_o;let Mo=On(_o);for(let RR=0;RR0&&(nl|=1),RR0&&(nl|=1),RR0?ro[_o-1][Mo]:0,RR=Mo>0?ro[_o][Mo-1]:0,IR=ro[_o][Mo];IR||(ZR&8&&(IR|=12),RR&2&&(IR|=3),ro[_o][Mo]=IR)}for(let _o=0;_o0?Ce.repeat(Oa):"";let $s="";for(;$s.length{},W9n=()=>{},Io=(e=>(e[e.Unknown=0]="Unknown",e[e.EndOfFileToken=1]="EndOfFileToken",e[e.SingleLineCommentTrivia=2]="SingleLineCommentTrivia",e[e.MultiLineCommentTrivia=3]="MultiLineCommentTrivia",e[e.NewLineTrivia=4]="NewLineTrivia",e[e.WhitespaceTrivia=5]="WhitespaceTrivia",e[e.ShebangTrivia=6]="ShebangTrivia",e[e.ConflictMarkerTrivia=7]="ConflictMarkerTrivia",e[e.NonTextFileMarkerTrivia=8]="NonTextFileMarkerTrivia",e[e.NumericLiteral=9]="NumericLiteral",e[e.BigIntLiteral=10]="BigIntLiteral",e[e.StringLiteral=11]="StringLiteral",e[e.JsxText=12]="JsxText",e[e.JsxTextAllWhiteSpaces=13]="JsxTextAllWhiteSpaces",e[e.RegularExpressionLiteral=14]="RegularExpressionLiteral",e[e.NoSubstitutionTemplateLiteral=15]="NoSubstitutionTemplateLiteral",e[e.TemplateHead=16]="TemplateHead",e[e.TemplateMiddle=17]="TemplateMiddle",e[e.TemplateTail=18]="TemplateTail",e[e.OpenBraceToken=19]="OpenBraceToken",e[e.CloseBraceToken=20]="CloseBraceToken",e[e.OpenParenToken=21]="OpenParenToken",e[e.CloseParenToken=22]="CloseParenToken",e[e.OpenBracketToken=23]="OpenBracketToken",e[e.CloseBracketToken=24]="CloseBracketToken",e[e.DotToken=25]="DotToken",e[e.DotDotDotToken=26]="DotDotDotToken",e[e.SemicolonToken=27]="SemicolonToken",e[e.CommaToken=28]="CommaToken",e[e.QuestionDotToken=29]="QuestionDotToken",e[e.LessThanToken=30]="LessThanToken",e[e.LessThanSlashToken=31]="LessThanSlashToken",e[e.GreaterThanToken=32]="GreaterThanToken",e[e.LessThanEqualsToken=33]="LessThanEqualsToken",e[e.GreaterThanEqualsToken=34]="GreaterThanEqualsToken",e[e.EqualsEqualsToken=35]="EqualsEqualsToken",e[e.ExclamationEqualsToken=36]="ExclamationEqualsToken",e[e.EqualsEqualsEqualsToken=37]="EqualsEqualsEqualsToken",e[e.ExclamationEqualsEqualsToken=38]="ExclamationEqualsEqualsToken",e[e.EqualsGreaterThanToken=39]="EqualsGreaterThanToken",e[e.PlusToken=40]="PlusToken",e[e.MinusToken=41]="MinusToken",e[e.AsteriskToken=42]="AsteriskToken",e[e.AsteriskAsteriskToken=43]="AsteriskAsteriskToken",e[e.SlashToken=44]="SlashToken",e[e.PercentToken=45]="PercentToken",e[e.PlusPlusToken=46]="PlusPlusToken",e[e.MinusMinusToken=47]="MinusMinusToken",e[e.LessThanLessThanToken=48]="LessThanLessThanToken",e[e.GreaterThanGreaterThanToken=49]="GreaterThanGreaterThanToken",e[e.GreaterThanGreaterThanGreaterThanToken=50]="GreaterThanGreaterThanGreaterThanToken",e[e.AmpersandToken=51]="AmpersandToken",e[e.BarToken=52]="BarToken",e[e.CaretToken=53]="CaretToken",e[e.ExclamationToken=54]="ExclamationToken",e[e.TildeToken=55]="TildeToken",e[e.AmpersandAmpersandToken=56]="AmpersandAmpersandToken",e[e.BarBarToken=57]="BarBarToken",e[e.QuestionToken=58]="QuestionToken",e[e.ColonToken=59]="ColonToken",e[e.AtToken=60]="AtToken",e[e.QuestionQuestionToken=61]="QuestionQuestionToken",e[e.BacktickToken=62]="BacktickToken",e[e.HashToken=63]="HashToken",e[e.EqualsToken=64]="EqualsToken",e[e.PlusEqualsToken=65]="PlusEqualsToken",e[e.MinusEqualsToken=66]="MinusEqualsToken",e[e.AsteriskEqualsToken=67]="AsteriskEqualsToken",e[e.AsteriskAsteriskEqualsToken=68]="AsteriskAsteriskEqualsToken",e[e.SlashEqualsToken=69]="SlashEqualsToken",e[e.PercentEqualsToken=70]="PercentEqualsToken",e[e.LessThanLessThanEqualsToken=71]="LessThanLessThanEqualsToken",e[e.GreaterThanGreaterThanEqualsToken=72]="GreaterThanGreaterThanEqualsToken",e[e.GreaterThanGreaterThanGreaterThanEqualsToken=73]="GreaterThanGreaterThanGreaterThanEqualsToken",e[e.AmpersandEqualsToken=74]="AmpersandEqualsToken",e[e.BarEqualsToken=75]="BarEqualsToken",e[e.BarBarEqualsToken=76]="BarBarEqualsToken",e[e.AmpersandAmpersandEqualsToken=77]="AmpersandAmpersandEqualsToken",e[e.QuestionQuestionEqualsToken=78]="QuestionQuestionEqualsToken",e[e.CaretEqualsToken=79]="CaretEqualsToken",e[e.Identifier=80]="Identifier",e[e.PrivateIdentifier=81]="PrivateIdentifier",e[e.JSDocCommentTextToken=82]="JSDocCommentTextToken",e[e.BreakKeyword=83]="BreakKeyword",e[e.CaseKeyword=84]="CaseKeyword",e[e.CatchKeyword=85]="CatchKeyword",e[e.ClassKeyword=86]="ClassKeyword",e[e.ConstKeyword=87]="ConstKeyword",e[e.ContinueKeyword=88]="ContinueKeyword",e[e.DebuggerKeyword=89]="DebuggerKeyword",e[e.DefaultKeyword=90]="DefaultKeyword",e[e.DeleteKeyword=91]="DeleteKeyword",e[e.DoKeyword=92]="DoKeyword",e[e.ElseKeyword=93]="ElseKeyword",e[e.EnumKeyword=94]="EnumKeyword",e[e.ExportKeyword=95]="ExportKeyword",e[e.ExtendsKeyword=96]="ExtendsKeyword",e[e.FalseKeyword=97]="FalseKeyword",e[e.FinallyKeyword=98]="FinallyKeyword",e[e.ForKeyword=99]="ForKeyword",e[e.FunctionKeyword=100]="FunctionKeyword",e[e.IfKeyword=101]="IfKeyword",e[e.ImportKeyword=102]="ImportKeyword",e[e.InKeyword=103]="InKeyword",e[e.InstanceOfKeyword=104]="InstanceOfKeyword",e[e.NewKeyword=105]="NewKeyword",e[e.NullKeyword=106]="NullKeyword",e[e.ReturnKeyword=107]="ReturnKeyword",e[e.SuperKeyword=108]="SuperKeyword",e[e.SwitchKeyword=109]="SwitchKeyword",e[e.ThisKeyword=110]="ThisKeyword",e[e.ThrowKeyword=111]="ThrowKeyword",e[e.TrueKeyword=112]="TrueKeyword",e[e.TryKeyword=113]="TryKeyword",e[e.TypeOfKeyword=114]="TypeOfKeyword",e[e.VarKeyword=115]="VarKeyword",e[e.VoidKeyword=116]="VoidKeyword",e[e.WhileKeyword=117]="WhileKeyword",e[e.WithKeyword=118]="WithKeyword",e[e.ImplementsKeyword=119]="ImplementsKeyword",e[e.InterfaceKeyword=120]="InterfaceKeyword",e[e.LetKeyword=121]="LetKeyword",e[e.PackageKeyword=122]="PackageKeyword",e[e.PrivateKeyword=123]="PrivateKeyword",e[e.ProtectedKeyword=124]="ProtectedKeyword",e[e.PublicKeyword=125]="PublicKeyword",e[e.StaticKeyword=126]="StaticKeyword",e[e.YieldKeyword=127]="YieldKeyword",e[e.AbstractKeyword=128]="AbstractKeyword",e[e.AccessorKeyword=129]="AccessorKeyword",e[e.AsKeyword=130]="AsKeyword",e[e.AssertsKeyword=131]="AssertsKeyword",e[e.AssertKeyword=132]="AssertKeyword",e[e.AnyKeyword=133]="AnyKeyword",e[e.AsyncKeyword=134]="AsyncKeyword",e[e.AwaitKeyword=135]="AwaitKeyword",e[e.BooleanKeyword=136]="BooleanKeyword",e[e.ConstructorKeyword=137]="ConstructorKeyword",e[e.DeclareKeyword=138]="DeclareKeyword",e[e.GetKeyword=139]="GetKeyword",e[e.InferKeyword=140]="InferKeyword",e[e.IntrinsicKeyword=141]="IntrinsicKeyword",e[e.IsKeyword=142]="IsKeyword",e[e.KeyOfKeyword=143]="KeyOfKeyword",e[e.ModuleKeyword=144]="ModuleKeyword",e[e.NamespaceKeyword=145]="NamespaceKeyword",e[e.NeverKeyword=146]="NeverKeyword",e[e.OutKeyword=147]="OutKeyword",e[e.ReadonlyKeyword=148]="ReadonlyKeyword",e[e.RequireKeyword=149]="RequireKeyword",e[e.NumberKeyword=150]="NumberKeyword",e[e.ObjectKeyword=151]="ObjectKeyword",e[e.SatisfiesKeyword=152]="SatisfiesKeyword",e[e.SetKeyword=153]="SetKeyword",e[e.StringKeyword=154]="StringKeyword",e[e.SymbolKeyword=155]="SymbolKeyword",e[e.TypeKeyword=156]="TypeKeyword",e[e.UndefinedKeyword=157]="UndefinedKeyword",e[e.UniqueKeyword=158]="UniqueKeyword",e[e.UnknownKeyword=159]="UnknownKeyword",e[e.UsingKeyword=160]="UsingKeyword",e[e.FromKeyword=161]="FromKeyword",e[e.GlobalKeyword=162]="GlobalKeyword",e[e.BigIntKeyword=163]="BigIntKeyword",e[e.OverrideKeyword=164]="OverrideKeyword",e[e.OfKeyword=165]="OfKeyword",e[e.QualifiedName=166]="QualifiedName",e[e.ComputedPropertyName=167]="ComputedPropertyName",e[e.TypeParameter=168]="TypeParameter",e[e.Parameter=169]="Parameter",e[e.Decorator=170]="Decorator",e[e.PropertySignature=171]="PropertySignature",e[e.PropertyDeclaration=172]="PropertyDeclaration",e[e.MethodSignature=173]="MethodSignature",e[e.MethodDeclaration=174]="MethodDeclaration",e[e.ClassStaticBlockDeclaration=175]="ClassStaticBlockDeclaration",e[e.Constructor=176]="Constructor",e[e.GetAccessor=177]="GetAccessor",e[e.SetAccessor=178]="SetAccessor",e[e.CallSignature=179]="CallSignature",e[e.ConstructSignature=180]="ConstructSignature",e[e.IndexSignature=181]="IndexSignature",e[e.TypePredicate=182]="TypePredicate",e[e.TypeReference=183]="TypeReference",e[e.FunctionType=184]="FunctionType",e[e.ConstructorType=185]="ConstructorType",e[e.TypeQuery=186]="TypeQuery",e[e.TypeLiteral=187]="TypeLiteral",e[e.ArrayType=188]="ArrayType",e[e.TupleType=189]="TupleType",e[e.OptionalType=190]="OptionalType",e[e.RestType=191]="RestType",e[e.UnionType=192]="UnionType",e[e.IntersectionType=193]="IntersectionType",e[e.ConditionalType=194]="ConditionalType",e[e.InferType=195]="InferType",e[e.ParenthesizedType=196]="ParenthesizedType",e[e.ThisType=197]="ThisType",e[e.TypeOperator=198]="TypeOperator",e[e.IndexedAccessType=199]="IndexedAccessType",e[e.MappedType=200]="MappedType",e[e.LiteralType=201]="LiteralType",e[e.NamedTupleMember=202]="NamedTupleMember",e[e.TemplateLiteralType=203]="TemplateLiteralType",e[e.TemplateLiteralTypeSpan=204]="TemplateLiteralTypeSpan",e[e.ImportType=205]="ImportType",e[e.ObjectBindingPattern=206]="ObjectBindingPattern",e[e.ArrayBindingPattern=207]="ArrayBindingPattern",e[e.BindingElement=208]="BindingElement",e[e.ArrayLiteralExpression=209]="ArrayLiteralExpression",e[e.ObjectLiteralExpression=210]="ObjectLiteralExpression",e[e.PropertyAccessExpression=211]="PropertyAccessExpression",e[e.ElementAccessExpression=212]="ElementAccessExpression",e[e.CallExpression=213]="CallExpression",e[e.NewExpression=214]="NewExpression",e[e.TaggedTemplateExpression=215]="TaggedTemplateExpression",e[e.TypeAssertionExpression=216]="TypeAssertionExpression",e[e.ParenthesizedExpression=217]="ParenthesizedExpression",e[e.FunctionExpression=218]="FunctionExpression",e[e.ArrowFunction=219]="ArrowFunction",e[e.DeleteExpression=220]="DeleteExpression",e[e.TypeOfExpression=221]="TypeOfExpression",e[e.VoidExpression=222]="VoidExpression",e[e.AwaitExpression=223]="AwaitExpression",e[e.PrefixUnaryExpression=224]="PrefixUnaryExpression",e[e.PostfixUnaryExpression=225]="PostfixUnaryExpression",e[e.BinaryExpression=226]="BinaryExpression",e[e.ConditionalExpression=227]="ConditionalExpression",e[e.TemplateExpression=228]="TemplateExpression",e[e.YieldExpression=229]="YieldExpression",e[e.SpreadElement=230]="SpreadElement",e[e.ClassExpression=231]="ClassExpression",e[e.OmittedExpression=232]="OmittedExpression",e[e.ExpressionWithTypeArguments=233]="ExpressionWithTypeArguments",e[e.AsExpression=234]="AsExpression",e[e.NonNullExpression=235]="NonNullExpression",e[e.MetaProperty=236]="MetaProperty",e[e.SyntheticExpression=237]="SyntheticExpression",e[e.SatisfiesExpression=238]="SatisfiesExpression",e[e.TemplateSpan=239]="TemplateSpan",e[e.SemicolonClassElement=240]="SemicolonClassElement",e[e.Block=241]="Block",e[e.EmptyStatement=242]="EmptyStatement",e[e.VariableStatement=243]="VariableStatement",e[e.ExpressionStatement=244]="ExpressionStatement",e[e.IfStatement=245]="IfStatement",e[e.DoStatement=246]="DoStatement",e[e.WhileStatement=247]="WhileStatement",e[e.ForStatement=248]="ForStatement",e[e.ForInStatement=249]="ForInStatement",e[e.ForOfStatement=250]="ForOfStatement",e[e.ContinueStatement=251]="ContinueStatement",e[e.BreakStatement=252]="BreakStatement",e[e.ReturnStatement=253]="ReturnStatement",e[e.WithStatement=254]="WithStatement",e[e.SwitchStatement=255]="SwitchStatement",e[e.LabeledStatement=256]="LabeledStatement",e[e.ThrowStatement=257]="ThrowStatement",e[e.TryStatement=258]="TryStatement",e[e.DebuggerStatement=259]="DebuggerStatement",e[e.VariableDeclaration=260]="VariableDeclaration",e[e.VariableDeclarationList=261]="VariableDeclarationList",e[e.FunctionDeclaration=262]="FunctionDeclaration",e[e.ClassDeclaration=263]="ClassDeclaration",e[e.InterfaceDeclaration=264]="InterfaceDeclaration",e[e.TypeAliasDeclaration=265]="TypeAliasDeclaration",e[e.EnumDeclaration=266]="EnumDeclaration",e[e.ModuleDeclaration=267]="ModuleDeclaration",e[e.ModuleBlock=268]="ModuleBlock",e[e.CaseBlock=269]="CaseBlock",e[e.NamespaceExportDeclaration=270]="NamespaceExportDeclaration",e[e.ImportEqualsDeclaration=271]="ImportEqualsDeclaration",e[e.ImportDeclaration=272]="ImportDeclaration",e[e.ImportClause=273]="ImportClause",e[e.NamespaceImport=274]="NamespaceImport",e[e.NamedImports=275]="NamedImports",e[e.ImportSpecifier=276]="ImportSpecifier",e[e.ExportAssignment=277]="ExportAssignment",e[e.ExportDeclaration=278]="ExportDeclaration",e[e.NamedExports=279]="NamedExports",e[e.NamespaceExport=280]="NamespaceExport",e[e.ExportSpecifier=281]="ExportSpecifier",e[e.MissingDeclaration=282]="MissingDeclaration",e[e.ExternalModuleReference=283]="ExternalModuleReference",e[e.JsxElement=284]="JsxElement",e[e.JsxSelfClosingElement=285]="JsxSelfClosingElement",e[e.JsxOpeningElement=286]="JsxOpeningElement",e[e.JsxClosingElement=287]="JsxClosingElement",e[e.JsxFragment=288]="JsxFragment",e[e.JsxOpeningFragment=289]="JsxOpeningFragment",e[e.JsxClosingFragment=290]="JsxClosingFragment",e[e.JsxAttribute=291]="JsxAttribute",e[e.JsxAttributes=292]="JsxAttributes",e[e.JsxSpreadAttribute=293]="JsxSpreadAttribute",e[e.JsxExpression=294]="JsxExpression",e[e.JsxNamespacedName=295]="JsxNamespacedName",e[e.CaseClause=296]="CaseClause",e[e.DefaultClause=297]="DefaultClause",e[e.HeritageClause=298]="HeritageClause",e[e.CatchClause=299]="CatchClause",e[e.ImportAttributes=300]="ImportAttributes",e[e.ImportAttribute=301]="ImportAttribute",e[e.AssertClause=300]="AssertClause",e[e.AssertEntry=301]="AssertEntry",e[e.ImportTypeAssertionContainer=302]="ImportTypeAssertionContainer",e[e.PropertyAssignment=303]="PropertyAssignment",e[e.ShorthandPropertyAssignment=304]="ShorthandPropertyAssignment",e[e.SpreadAssignment=305]="SpreadAssignment",e[e.EnumMember=306]="EnumMember",e[e.SourceFile=307]="SourceFile",e[e.Bundle=308]="Bundle",e[e.JSDocTypeExpression=309]="JSDocTypeExpression",e[e.JSDocNameReference=310]="JSDocNameReference",e[e.JSDocMemberName=311]="JSDocMemberName",e[e.JSDocAllType=312]="JSDocAllType",e[e.JSDocUnknownType=313]="JSDocUnknownType",e[e.JSDocNullableType=314]="JSDocNullableType",e[e.JSDocNonNullableType=315]="JSDocNonNullableType",e[e.JSDocOptionalType=316]="JSDocOptionalType",e[e.JSDocFunctionType=317]="JSDocFunctionType",e[e.JSDocVariadicType=318]="JSDocVariadicType",e[e.JSDocNamepathType=319]="JSDocNamepathType",e[e.JSDoc=320]="JSDoc",e[e.JSDocComment=320]="JSDocComment",e[e.JSDocText=321]="JSDocText",e[e.JSDocTypeLiteral=322]="JSDocTypeLiteral",e[e.JSDocSignature=323]="JSDocSignature",e[e.JSDocLink=324]="JSDocLink",e[e.JSDocLinkCode=325]="JSDocLinkCode",e[e.JSDocLinkPlain=326]="JSDocLinkPlain",e[e.JSDocTag=327]="JSDocTag",e[e.JSDocAugmentsTag=328]="JSDocAugmentsTag",e[e.JSDocImplementsTag=329]="JSDocImplementsTag",e[e.JSDocAuthorTag=330]="JSDocAuthorTag",e[e.JSDocDeprecatedTag=331]="JSDocDeprecatedTag",e[e.JSDocClassTag=332]="JSDocClassTag",e[e.JSDocPublicTag=333]="JSDocPublicTag",e[e.JSDocPrivateTag=334]="JSDocPrivateTag",e[e.JSDocProtectedTag=335]="JSDocProtectedTag",e[e.JSDocReadonlyTag=336]="JSDocReadonlyTag",e[e.JSDocOverrideTag=337]="JSDocOverrideTag",e[e.JSDocCallbackTag=338]="JSDocCallbackTag",e[e.JSDocOverloadTag=339]="JSDocOverloadTag",e[e.JSDocEnumTag=340]="JSDocEnumTag",e[e.JSDocParameterTag=341]="JSDocParameterTag",e[e.JSDocReturnTag=342]="JSDocReturnTag",e[e.JSDocThisTag=343]="JSDocThisTag",e[e.JSDocTypeTag=344]="JSDocTypeTag",e[e.JSDocTemplateTag=345]="JSDocTemplateTag",e[e.JSDocTypedefTag=346]="JSDocTypedefTag",e[e.JSDocSeeTag=347]="JSDocSeeTag",e[e.JSDocPropertyTag=348]="JSDocPropertyTag",e[e.JSDocThrowsTag=349]="JSDocThrowsTag",e[e.JSDocSatisfiesTag=350]="JSDocSatisfiesTag",e[e.JSDocImportTag=351]="JSDocImportTag",e[e.SyntaxList=352]="SyntaxList",e[e.NotEmittedStatement=353]="NotEmittedStatement",e[e.NotEmittedTypeElement=354]="NotEmittedTypeElement",e[e.PartiallyEmittedExpression=355]="PartiallyEmittedExpression",e[e.CommaListExpression=356]="CommaListExpression",e[e.SyntheticReferenceExpression=357]="SyntheticReferenceExpression",e[e.Count=358]="Count",e[e.FirstAssignment=64]="FirstAssignment",e[e.LastAssignment=79]="LastAssignment",e[e.FirstCompoundAssignment=65]="FirstCompoundAssignment",e[e.LastCompoundAssignment=79]="LastCompoundAssignment",e[e.FirstReservedWord=83]="FirstReservedWord",e[e.LastReservedWord=118]="LastReservedWord",e[e.FirstKeyword=83]="FirstKeyword",e[e.LastKeyword=165]="LastKeyword",e[e.FirstFutureReservedWord=119]="FirstFutureReservedWord",e[e.LastFutureReservedWord=127]="LastFutureReservedWord",e[e.FirstTypeNode=182]="FirstTypeNode",e[e.LastTypeNode=205]="LastTypeNode",e[e.FirstPunctuation=19]="FirstPunctuation",e[e.LastPunctuation=79]="LastPunctuation",e[e.FirstToken=0]="FirstToken",e[e.LastToken=165]="LastToken",e[e.FirstTriviaToken=2]="FirstTriviaToken",e[e.LastTriviaToken=7]="LastTriviaToken",e[e.FirstLiteralToken=9]="FirstLiteralToken",e[e.LastLiteralToken=15]="LastLiteralToken",e[e.FirstTemplateToken=15]="FirstTemplateToken",e[e.LastTemplateToken=18]="LastTemplateToken",e[e.FirstBinaryOperator=30]="FirstBinaryOperator",e[e.LastBinaryOperator=79]="LastBinaryOperator",e[e.FirstStatement=243]="FirstStatement",e[e.LastStatement=259]="LastStatement",e[e.FirstNode=166]="FirstNode",e[e.FirstJSDocNode=309]="FirstJSDocNode",e[e.LastJSDocNode=351]="LastJSDocNode",e[e.FirstJSDocTagNode=327]="FirstJSDocTagNode",e[e.LastJSDocTagNode=351]="LastJSDocTagNode",e[e.FirstContextualKeyword=128]="FirstContextualKeyword",e[e.LastContextualKeyword=165]="LastContextualKeyword",e))(Io||{}),DA=(e=>(e[e.None=0]="None",e[e.Let=1]="Let",e[e.Const=2]="Const",e[e.Using=4]="Using",e[e.AwaitUsing=6]="AwaitUsing",e[e.NestedNamespace=8]="NestedNamespace",e[e.Synthesized=16]="Synthesized",e[e.Namespace=32]="Namespace",e[e.OptionalChain=64]="OptionalChain",e[e.ExportContext=128]="ExportContext",e[e.ContainsThis=256]="ContainsThis",e[e.HasImplicitReturn=512]="HasImplicitReturn",e[e.HasExplicitReturn=1024]="HasExplicitReturn",e[e.GlobalAugmentation=2048]="GlobalAugmentation",e[e.HasAsyncFunctions=4096]="HasAsyncFunctions",e[e.DisallowInContext=8192]="DisallowInContext",e[e.YieldContext=16384]="YieldContext",e[e.DecoratorContext=32768]="DecoratorContext",e[e.AwaitContext=65536]="AwaitContext",e[e.DisallowConditionalTypesContext=131072]="DisallowConditionalTypesContext",e[e.ThisNodeHasError=262144]="ThisNodeHasError",e[e.JavaScriptFile=524288]="JavaScriptFile",e[e.ThisNodeOrAnySubNodesHasError=1048576]="ThisNodeOrAnySubNodesHasError",e[e.HasAggregatedChildData=2097152]="HasAggregatedChildData",e[e.PossiblyContainsDynamicImport=4194304]="PossiblyContainsDynamicImport",e[e.PossiblyContainsImportMeta=8388608]="PossiblyContainsImportMeta",e[e.JSDoc=16777216]="JSDoc",e[e.Ambient=33554432]="Ambient",e[e.InWithStatement=67108864]="InWithStatement",e[e.JsonFile=134217728]="JsonFile",e[e.TypeCached=268435456]="TypeCached",e[e.Deprecated=536870912]="Deprecated",e[e.BlockScoped=7]="BlockScoped",e[e.Constant=6]="Constant",e[e.ReachabilityCheckFlags=1536]="ReachabilityCheckFlags",e[e.ReachabilityAndEmitFlags=5632]="ReachabilityAndEmitFlags",e[e.ContextFlags=101441536]="ContextFlags",e[e.TypeExcludesFlags=81920]="TypeExcludesFlags",e[e.PermanentlySetIncrementalFlags=12582912]="PermanentlySetIncrementalFlags",e[e.IdentifierHasExtendedUnicodeEscape=256]="IdentifierHasExtendedUnicodeEscape",e[e.IdentifierIsInJSDocNamespace=4096]="IdentifierIsInJSDocNamespace",e))(DA||{}),Qcr=(e=>(e[e.None=0]="None",e[e.Public=1]="Public",e[e.Private=2]="Private",e[e.Protected=4]="Protected",e[e.Readonly=8]="Readonly",e[e.Override=16]="Override",e[e.Export=32]="Export",e[e.Abstract=64]="Abstract",e[e.Ambient=128]="Ambient",e[e.Static=256]="Static",e[e.Accessor=512]="Accessor",e[e.Async=1024]="Async",e[e.Default=2048]="Default",e[e.Const=4096]="Const",e[e.In=8192]="In",e[e.Out=16384]="Out",e[e.Decorator=32768]="Decorator",e[e.Deprecated=65536]="Deprecated",e[e.JSDocPublic=8388608]="JSDocPublic",e[e.JSDocPrivate=16777216]="JSDocPrivate",e[e.JSDocProtected=33554432]="JSDocProtected",e[e.JSDocReadonly=67108864]="JSDocReadonly",e[e.JSDocOverride=134217728]="JSDocOverride",e[e.SyntacticOrJSDocModifiers=31]="SyntacticOrJSDocModifiers",e[e.SyntacticOnlyModifiers=65504]="SyntacticOnlyModifiers",e[e.SyntacticModifiers=65535]="SyntacticModifiers",e[e.JSDocCacheOnlyModifiers=260046848]="JSDocCacheOnlyModifiers",e[e.JSDocOnlyModifiers=65536]="JSDocOnlyModifiers",e[e.NonCacheOnlyModifiers=131071]="NonCacheOnlyModifiers",e[e.HasComputedJSDocModifiers=268435456]="HasComputedJSDocModifiers",e[e.HasComputedFlags=536870912]="HasComputedFlags",e[e.AccessibilityModifier=7]="AccessibilityModifier",e[e.ParameterPropertyModifier=31]="ParameterPropertyModifier",e[e.NonPublicAccessibilityModifier=6]="NonPublicAccessibilityModifier",e[e.TypeScriptModifier=28895]="TypeScriptModifier",e[e.ExportDefault=2080]="ExportDefault",e[e.All=131071]="All",e[e.Modifier=98303]="Modifier",e))(Qcr||{}),Ncr=(e=>(e[e.None=0]="None",e[e.Succeeded=1]="Succeeded",e[e.Failed=2]="Failed",e[e.ReportsUnmeasurable=8]="ReportsUnmeasurable",e[e.ReportsUnreliable=16]="ReportsUnreliable",e[e.ReportsMask=24]="ReportsMask",e[e.ComplexityOverflow=32]="ComplexityOverflow",e[e.StackDepthOverflow=64]="StackDepthOverflow",e[e.Overflow=96]="Overflow",e))(Ncr||{}),$5t=(e=>(e[e.Unreachable=1]="Unreachable",e[e.Start=2]="Start",e[e.BranchLabel=4]="BranchLabel",e[e.LoopLabel=8]="LoopLabel",e[e.Assignment=16]="Assignment",e[e.TrueCondition=32]="TrueCondition",e[e.FalseCondition=64]="FalseCondition",e[e.SwitchClause=128]="SwitchClause",e[e.ArrayMutation=256]="ArrayMutation",e[e.Call=512]="Call",e[e.ReduceLabel=1024]="ReduceLabel",e[e.Referenced=2048]="Referenced",e[e.Shared=4096]="Shared",e[e.Label=12]="Label",e[e.Condition=96]="Condition",e))($5t||{}),wcr=(e=>(e[e.None=0]="None",e[e.FunctionScopedVariable=1]="FunctionScopedVariable",e[e.BlockScopedVariable=2]="BlockScopedVariable",e[e.Property=4]="Property",e[e.EnumMember=8]="EnumMember",e[e.Function=16]="Function",e[e.Class=32]="Class",e[e.Interface=64]="Interface",e[e.ConstEnum=128]="ConstEnum",e[e.RegularEnum=256]="RegularEnum",e[e.ValueModule=512]="ValueModule",e[e.NamespaceModule=1024]="NamespaceModule",e[e.TypeLiteral=2048]="TypeLiteral",e[e.ObjectLiteral=4096]="ObjectLiteral",e[e.Method=8192]="Method",e[e.Constructor=16384]="Constructor",e[e.GetAccessor=32768]="GetAccessor",e[e.SetAccessor=65536]="SetAccessor",e[e.Signature=131072]="Signature",e[e.TypeParameter=262144]="TypeParameter",e[e.TypeAlias=524288]="TypeAlias",e[e.ExportValue=1048576]="ExportValue",e[e.Alias=2097152]="Alias",e[e.Prototype=4194304]="Prototype",e[e.ExportStar=8388608]="ExportStar",e[e.Optional=16777216]="Optional",e[e.Transient=33554432]="Transient",e[e.Assignment=67108864]="Assignment",e[e.ModuleExports=134217728]="ModuleExports",e[e.All=-1]="All",e[e.Enum=384]="Enum",e[e.Variable=3]="Variable",e[e.Value=111551]="Value",e[e.Type=788968]="Type",e[e.Namespace=1920]="Namespace",e[e.Module=1536]="Module",e[e.Accessor=98304]="Accessor",e[e.FunctionScopedVariableExcludes=111550]="FunctionScopedVariableExcludes",e[e.BlockScopedVariableExcludes=111551]="BlockScopedVariableExcludes",e[e.ParameterExcludes=111551]="ParameterExcludes",e[e.PropertyExcludes=0]="PropertyExcludes",e[e.EnumMemberExcludes=900095]="EnumMemberExcludes",e[e.FunctionExcludes=110991]="FunctionExcludes",e[e.ClassExcludes=899503]="ClassExcludes",e[e.InterfaceExcludes=788872]="InterfaceExcludes",e[e.RegularEnumExcludes=899327]="RegularEnumExcludes",e[e.ConstEnumExcludes=899967]="ConstEnumExcludes",e[e.ValueModuleExcludes=110735]="ValueModuleExcludes",e[e.NamespaceModuleExcludes=0]="NamespaceModuleExcludes",e[e.MethodExcludes=103359]="MethodExcludes",e[e.GetAccessorExcludes=46015]="GetAccessorExcludes",e[e.SetAccessorExcludes=78783]="SetAccessorExcludes",e[e.AccessorExcludes=13247]="AccessorExcludes",e[e.TypeParameterExcludes=526824]="TypeParameterExcludes",e[e.TypeAliasExcludes=788968]="TypeAliasExcludes",e[e.AliasExcludes=2097152]="AliasExcludes",e[e.ModuleMember=2623475]="ModuleMember",e[e.ExportHasLocal=944]="ExportHasLocal",e[e.BlockScoped=418]="BlockScoped",e[e.PropertyOrAccessor=98308]="PropertyOrAccessor",e[e.ClassMember=106500]="ClassMember",e[e.ExportSupportsDefaultModifier=112]="ExportSupportsDefaultModifier",e[e.ExportDoesNotSupportDefaultModifier=-113]="ExportDoesNotSupportDefaultModifier",e[e.Classifiable=2885600]="Classifiable",e[e.LateBindingContainer=6256]="LateBindingContainer",e))(wcr||{}),Pcr=(e=>(e[e.None=0]="None",e[e.TypeChecked=1]="TypeChecked",e[e.LexicalThis=2]="LexicalThis",e[e.CaptureThis=4]="CaptureThis",e[e.CaptureNewTarget=8]="CaptureNewTarget",e[e.SuperInstance=16]="SuperInstance",e[e.SuperStatic=32]="SuperStatic",e[e.ContextChecked=64]="ContextChecked",e[e.MethodWithSuperPropertyAccessInAsync=128]="MethodWithSuperPropertyAccessInAsync",e[e.MethodWithSuperPropertyAssignmentInAsync=256]="MethodWithSuperPropertyAssignmentInAsync",e[e.CaptureArguments=512]="CaptureArguments",e[e.EnumValuesComputed=1024]="EnumValuesComputed",e[e.LexicalModuleMergesWithClass=2048]="LexicalModuleMergesWithClass",e[e.LoopWithCapturedBlockScopedBinding=4096]="LoopWithCapturedBlockScopedBinding",e[e.ContainsCapturedBlockScopeBinding=8192]="ContainsCapturedBlockScopeBinding",e[e.CapturedBlockScopedBinding=16384]="CapturedBlockScopedBinding",e[e.BlockScopedBindingInLoop=32768]="BlockScopedBindingInLoop",e[e.NeedsLoopOutParameter=65536]="NeedsLoopOutParameter",e[e.AssignmentsMarked=131072]="AssignmentsMarked",e[e.ContainsConstructorReference=262144]="ContainsConstructorReference",e[e.ConstructorReference=536870912]="ConstructorReference",e[e.ContainsClassWithPrivateIdentifiers=1048576]="ContainsClassWithPrivateIdentifiers",e[e.ContainsSuperPropertyInStaticInitializer=2097152]="ContainsSuperPropertyInStaticInitializer",e[e.InCheckIdentifier=4194304]="InCheckIdentifier",e[e.PartiallyTypeChecked=8388608]="PartiallyTypeChecked",e[e.LazyFlags=539358128]="LazyFlags",e))(Pcr||{}),fy=(e=>(e[e.Any=1]="Any",e[e.Unknown=2]="Unknown",e[e.String=4]="String",e[e.Number=8]="Number",e[e.Boolean=16]="Boolean",e[e.Enum=32]="Enum",e[e.BigInt=64]="BigInt",e[e.StringLiteral=128]="StringLiteral",e[e.NumberLiteral=256]="NumberLiteral",e[e.BooleanLiteral=512]="BooleanLiteral",e[e.EnumLiteral=1024]="EnumLiteral",e[e.BigIntLiteral=2048]="BigIntLiteral",e[e.ESSymbol=4096]="ESSymbol",e[e.UniqueESSymbol=8192]="UniqueESSymbol",e[e.Void=16384]="Void",e[e.Undefined=32768]="Undefined",e[e.Null=65536]="Null",e[e.Never=131072]="Never",e[e.TypeParameter=262144]="TypeParameter",e[e.Object=524288]="Object",e[e.Union=1048576]="Union",e[e.Intersection=2097152]="Intersection",e[e.Index=4194304]="Index",e[e.IndexedAccess=8388608]="IndexedAccess",e[e.Conditional=16777216]="Conditional",e[e.Substitution=33554432]="Substitution",e[e.NonPrimitive=67108864]="NonPrimitive",e[e.TemplateLiteral=134217728]="TemplateLiteral",e[e.StringMapping=268435456]="StringMapping",e[e.Reserved1=536870912]="Reserved1",e[e.Reserved2=1073741824]="Reserved2",e[e.AnyOrUnknown=3]="AnyOrUnknown",e[e.Nullable=98304]="Nullable",e[e.Literal=2944]="Literal",e[e.Unit=109472]="Unit",e[e.Freshable=2976]="Freshable",e[e.StringOrNumberLiteral=384]="StringOrNumberLiteral",e[e.StringOrNumberLiteralOrUnique=8576]="StringOrNumberLiteralOrUnique",e[e.DefinitelyFalsy=117632]="DefinitelyFalsy",e[e.PossiblyFalsy=117724]="PossiblyFalsy",e[e.Intrinsic=67359327]="Intrinsic",e[e.StringLike=402653316]="StringLike",e[e.NumberLike=296]="NumberLike",e[e.BigIntLike=2112]="BigIntLike",e[e.BooleanLike=528]="BooleanLike",e[e.EnumLike=1056]="EnumLike",e[e.ESSymbolLike=12288]="ESSymbolLike",e[e.VoidLike=49152]="VoidLike",e[e.Primitive=402784252]="Primitive",e[e.DefinitelyNonNullable=470302716]="DefinitelyNonNullable",e[e.DisjointDomains=469892092]="DisjointDomains",e[e.UnionOrIntersection=3145728]="UnionOrIntersection",e[e.StructuredType=3670016]="StructuredType",e[e.TypeVariable=8650752]="TypeVariable",e[e.InstantiableNonPrimitive=58982400]="InstantiableNonPrimitive",e[e.InstantiablePrimitive=406847488]="InstantiablePrimitive",e[e.Instantiable=465829888]="Instantiable",e[e.StructuredOrInstantiable=469499904]="StructuredOrInstantiable",e[e.ObjectFlagsType=3899393]="ObjectFlagsType",e[e.Simplifiable=25165824]="Simplifiable",e[e.Singleton=67358815]="Singleton",e[e.Narrowable=536624127]="Narrowable",e[e.IncludesMask=473694207]="IncludesMask",e[e.IncludesMissingType=262144]="IncludesMissingType",e[e.IncludesNonWideningType=4194304]="IncludesNonWideningType",e[e.IncludesWildcard=8388608]="IncludesWildcard",e[e.IncludesEmptyObject=16777216]="IncludesEmptyObject",e[e.IncludesInstantiable=33554432]="IncludesInstantiable",e[e.IncludesConstrainedTypeVariable=536870912]="IncludesConstrainedTypeVariable",e[e.IncludesError=1073741824]="IncludesError",e[e.NotPrimitiveUnion=36323331]="NotPrimitiveUnion",e))(fy||{}),Bcr=(e=>(e[e.None=0]="None",e[e.Class=1]="Class",e[e.Interface=2]="Interface",e[e.Reference=4]="Reference",e[e.Tuple=8]="Tuple",e[e.Anonymous=16]="Anonymous",e[e.Mapped=32]="Mapped",e[e.Instantiated=64]="Instantiated",e[e.ObjectLiteral=128]="ObjectLiteral",e[e.EvolvingArray=256]="EvolvingArray",e[e.ObjectLiteralPatternWithComputedProperties=512]="ObjectLiteralPatternWithComputedProperties",e[e.ReverseMapped=1024]="ReverseMapped",e[e.JsxAttributes=2048]="JsxAttributes",e[e.JSLiteral=4096]="JSLiteral",e[e.FreshLiteral=8192]="FreshLiteral",e[e.ArrayLiteral=16384]="ArrayLiteral",e[e.PrimitiveUnion=32768]="PrimitiveUnion",e[e.ContainsWideningType=65536]="ContainsWideningType",e[e.ContainsObjectOrArrayLiteral=131072]="ContainsObjectOrArrayLiteral",e[e.NonInferrableType=262144]="NonInferrableType",e[e.CouldContainTypeVariablesComputed=524288]="CouldContainTypeVariablesComputed",e[e.CouldContainTypeVariables=1048576]="CouldContainTypeVariables",e[e.ClassOrInterface=3]="ClassOrInterface",e[e.RequiresWidening=196608]="RequiresWidening",e[e.PropagatingFlags=458752]="PropagatingFlags",e[e.InstantiatedMapped=96]="InstantiatedMapped",e[e.ObjectTypeKindMask=1343]="ObjectTypeKindMask",e[e.ContainsSpread=2097152]="ContainsSpread",e[e.ObjectRestType=4194304]="ObjectRestType",e[e.InstantiationExpressionType=8388608]="InstantiationExpressionType",e[e.SingleSignatureType=134217728]="SingleSignatureType",e[e.IsClassInstanceClone=16777216]="IsClassInstanceClone",e[e.IdenticalBaseTypeCalculated=33554432]="IdenticalBaseTypeCalculated",e[e.IdenticalBaseTypeExists=67108864]="IdenticalBaseTypeExists",e[e.IsGenericTypeComputed=2097152]="IsGenericTypeComputed",e[e.IsGenericObjectType=4194304]="IsGenericObjectType",e[e.IsGenericIndexType=8388608]="IsGenericIndexType",e[e.IsGenericType=12582912]="IsGenericType",e[e.ContainsIntersections=16777216]="ContainsIntersections",e[e.IsUnknownLikeUnionComputed=33554432]="IsUnknownLikeUnionComputed",e[e.IsUnknownLikeUnion=67108864]="IsUnknownLikeUnion",e[e.IsNeverIntersectionComputed=16777216]="IsNeverIntersectionComputed",e[e.IsNeverIntersection=33554432]="IsNeverIntersection",e[e.IsConstrainedTypeVariable=67108864]="IsConstrainedTypeVariable",e))(Bcr||{}),Icr=(e=>(e[e.None=0]="None",e[e.HasRestParameter=1]="HasRestParameter",e[e.HasLiteralTypes=2]="HasLiteralTypes",e[e.Abstract=4]="Abstract",e[e.IsInnerCallChain=8]="IsInnerCallChain",e[e.IsOuterCallChain=16]="IsOuterCallChain",e[e.IsUntypedSignatureInJSFile=32]="IsUntypedSignatureInJSFile",e[e.IsNonInferrable=64]="IsNonInferrable",e[e.IsSignatureCandidateForOverloadFailure=128]="IsSignatureCandidateForOverloadFailure",e[e.PropagatingFlags=167]="PropagatingFlags",e[e.CallChainFlags=24]="CallChainFlags",e))(Icr||{}),Ow=(e=>(e[e.Unknown=0]="Unknown",e[e.JS=1]="JS",e[e.JSX=2]="JSX",e[e.TS=3]="TS",e[e.TSX=4]="TSX",e[e.External=5]="External",e[e.JSON=6]="JSON",e[e.Deferred=7]="Deferred",e))(Ow||{}),s9t=(e=>(e[e.ES3=0]="ES3",e[e.ES5=1]="ES5",e[e.ES2015=2]="ES2015",e[e.ES2016=3]="ES2016",e[e.ES2017=4]="ES2017",e[e.ES2018=5]="ES2018",e[e.ES2019=6]="ES2019",e[e.ES2020=7]="ES2020",e[e.ES2021=8]="ES2021",e[e.ES2022=9]="ES2022",e[e.ES2023=10]="ES2023",e[e.ES2024=11]="ES2024",e[e.ESNext=99]="ESNext",e[e.JSON=100]="JSON",e[e.Latest=99]="Latest",e))(s9t||{}),Mcr=(e=>(e[e.Standard=0]="Standard",e[e.JSX=1]="JSX",e))(Mcr||{}),fg=(e=>(e.Ts=".ts",e.Tsx=".tsx",e.Dts=".d.ts",e.Js=".js",e.Jsx=".jsx",e.Json=".json",e.TsBuildInfo=".tsbuildinfo",e.Mjs=".mjs",e.Mts=".mts",e.Dmts=".d.mts",e.Cjs=".cjs",e.Cts=".cts",e.Dcts=".d.cts",e))(fg||{}),Wcr=(e=>(e[e.None=0]="None",e[e.ContainsTypeScript=1]="ContainsTypeScript",e[e.ContainsJsx=2]="ContainsJsx",e[e.ContainsESNext=4]="ContainsESNext",e[e.ContainsES2022=8]="ContainsES2022",e[e.ContainsES2021=16]="ContainsES2021",e[e.ContainsES2020=32]="ContainsES2020",e[e.ContainsES2019=64]="ContainsES2019",e[e.ContainsES2018=128]="ContainsES2018",e[e.ContainsES2017=256]="ContainsES2017",e[e.ContainsES2016=512]="ContainsES2016",e[e.ContainsES2015=1024]="ContainsES2015",e[e.ContainsGenerator=2048]="ContainsGenerator",e[e.ContainsDestructuringAssignment=4096]="ContainsDestructuringAssignment",e[e.ContainsTypeScriptClassSyntax=8192]="ContainsTypeScriptClassSyntax",e[e.ContainsLexicalThis=16384]="ContainsLexicalThis",e[e.ContainsRestOrSpread=32768]="ContainsRestOrSpread",e[e.ContainsObjectRestOrSpread=65536]="ContainsObjectRestOrSpread",e[e.ContainsComputedPropertyName=131072]="ContainsComputedPropertyName",e[e.ContainsBlockScopedBinding=262144]="ContainsBlockScopedBinding",e[e.ContainsBindingPattern=524288]="ContainsBindingPattern",e[e.ContainsYield=1048576]="ContainsYield",e[e.ContainsAwait=2097152]="ContainsAwait",e[e.ContainsHoistedDeclarationOrCompletion=4194304]="ContainsHoistedDeclarationOrCompletion",e[e.ContainsDynamicImport=8388608]="ContainsDynamicImport",e[e.ContainsClassFields=16777216]="ContainsClassFields",e[e.ContainsDecorators=33554432]="ContainsDecorators",e[e.ContainsPossibleTopLevelAwait=67108864]="ContainsPossibleTopLevelAwait",e[e.ContainsLexicalSuper=134217728]="ContainsLexicalSuper",e[e.ContainsUpdateExpressionForIdentifier=268435456]="ContainsUpdateExpressionForIdentifier",e[e.ContainsPrivateIdentifierInExpression=536870912]="ContainsPrivateIdentifierInExpression",e[e.HasComputedFlags=-2147483648]="HasComputedFlags",e[e.AssertTypeScript=1]="AssertTypeScript",e[e.AssertJsx=2]="AssertJsx",e[e.AssertESNext=4]="AssertESNext",e[e.AssertES2022=8]="AssertES2022",e[e.AssertES2021=16]="AssertES2021",e[e.AssertES2020=32]="AssertES2020",e[e.AssertES2019=64]="AssertES2019",e[e.AssertES2018=128]="AssertES2018",e[e.AssertES2017=256]="AssertES2017",e[e.AssertES2016=512]="AssertES2016",e[e.AssertES2015=1024]="AssertES2015",e[e.AssertGenerator=2048]="AssertGenerator",e[e.AssertDestructuringAssignment=4096]="AssertDestructuringAssignment",e[e.OuterExpressionExcludes=-2147483648]="OuterExpressionExcludes",e[e.PropertyAccessExcludes=-2147483648]="PropertyAccessExcludes",e[e.NodeExcludes=-2147483648]="NodeExcludes",e[e.ArrowFunctionExcludes=-2072174592]="ArrowFunctionExcludes",e[e.FunctionExcludes=-1937940480]="FunctionExcludes",e[e.ConstructorExcludes=-1937948672]="ConstructorExcludes",e[e.MethodOrAccessorExcludes=-2005057536]="MethodOrAccessorExcludes",e[e.PropertyExcludes=-2013249536]="PropertyExcludes",e[e.ClassExcludes=-2147344384]="ClassExcludes",e[e.ModuleExcludes=-1941676032]="ModuleExcludes",e[e.TypeExcludes=-2]="TypeExcludes",e[e.ObjectLiteralExcludes=-2147278848]="ObjectLiteralExcludes",e[e.ArrayLiteralOrCallOrNewExcludes=-2147450880]="ArrayLiteralOrCallOrNewExcludes",e[e.VariableDeclarationListExcludes=-2146893824]="VariableDeclarationListExcludes",e[e.ParameterExcludes=-2147483648]="ParameterExcludes",e[e.CatchClauseExcludes=-2147418112]="CatchClauseExcludes",e[e.BindingPatternExcludes=-2147450880]="BindingPatternExcludes",e[e.ContainsLexicalThisOrSuper=134234112]="ContainsLexicalThisOrSuper",e[e.PropertyNamePropagatingFlags=134234112]="PropertyNamePropagatingFlags",e))(Wcr||{}),Ucr=(e=>(e[e.TabStop=0]="TabStop",e[e.Placeholder=1]="Placeholder",e[e.Choice=2]="Choice",e[e.Variable=3]="Variable",e))(Ucr||{}),Fcr=(e=>(e[e.None=0]="None",e[e.SingleLine=1]="SingleLine",e[e.MultiLine=2]="MultiLine",e[e.AdviseOnEmitNode=4]="AdviseOnEmitNode",e[e.NoSubstitution=8]="NoSubstitution",e[e.CapturesThis=16]="CapturesThis",e[e.NoLeadingSourceMap=32]="NoLeadingSourceMap",e[e.NoTrailingSourceMap=64]="NoTrailingSourceMap",e[e.NoSourceMap=96]="NoSourceMap",e[e.NoNestedSourceMaps=128]="NoNestedSourceMaps",e[e.NoTokenLeadingSourceMaps=256]="NoTokenLeadingSourceMaps",e[e.NoTokenTrailingSourceMaps=512]="NoTokenTrailingSourceMaps",e[e.NoTokenSourceMaps=768]="NoTokenSourceMaps",e[e.NoLeadingComments=1024]="NoLeadingComments",e[e.NoTrailingComments=2048]="NoTrailingComments",e[e.NoComments=3072]="NoComments",e[e.NoNestedComments=4096]="NoNestedComments",e[e.HelperName=8192]="HelperName",e[e.ExportName=16384]="ExportName",e[e.LocalName=32768]="LocalName",e[e.InternalName=65536]="InternalName",e[e.Indented=131072]="Indented",e[e.NoIndentation=262144]="NoIndentation",e[e.AsyncFunctionBody=524288]="AsyncFunctionBody",e[e.ReuseTempVariableScope=1048576]="ReuseTempVariableScope",e[e.CustomPrologue=2097152]="CustomPrologue",e[e.NoHoisting=4194304]="NoHoisting",e[e.Iterator=8388608]="Iterator",e[e.NoAsciiEscaping=16777216]="NoAsciiEscaping",e))(Fcr||{}),rde={Classes:2,ForOf:2,Generators:2,Iteration:2,SpreadElements:2,RestElements:2,TaggedTemplates:2,DestructuringAssignment:2,BindingPatterns:2,ArrowFunctions:2,BlockScopedVariables:2,ObjectAssign:2,RegularExpressionFlagsUnicode:2,RegularExpressionFlagsSticky:2,Exponentiation:3,AsyncFunctions:4,ForAwaitOf:5,AsyncGenerators:5,AsyncIteration:5,ObjectSpreadRest:5,RegularExpressionFlagsDotAll:5,BindinglessCatch:6,BigInt:7,NullishCoalesce:7,OptionalChaining:7,LogicalAssignment:8,TopLevelAwait:9,ClassFields:9,PrivateNamesAndClassStaticBlocks:9,RegularExpressionFlagsHasIndices:9,ShebangComments:10,RegularExpressionFlagsUnicodeSets:11,UsingAndAwaitUsing:99,ClassAndClassElementDecorators:99},Lcr={reference:{args:[{name:"types",optional:!0,captureSpan:!0},{name:"lib",optional:!0,captureSpan:!0},{name:"path",optional:!0,captureSpan:!0},{name:"no-default-lib",optional:!0},{name:"resolution-mode",optional:!0},{name:"preserve",optional:!0}],kind:1},"amd-dependency":{args:[{name:"path"},{name:"name",optional:!0}],kind:1},"amd-module":{args:[{name:"name"}],kind:1},"ts-check":{kind:2},"ts-nocheck":{kind:2},jsx:{args:[{name:"factory"}],kind:4},jsxfrag:{args:[{name:"factory"}],kind:4},jsximportsource:{args:[{name:"factory"}],kind:4},jsxruntime:{args:[{name:"factory"}],kind:4}},cde=(e=>(e[e.ParseAll=0]="ParseAll",e[e.ParseNone=1]="ParseNone",e[e.ParseForTypeErrors=2]="ParseForTypeErrors",e[e.ParseForTypeInfo=3]="ParseForTypeInfo",e))(cde||{}),zX="/",U9n="\\",clr="://",F9n=/\\/g;_lr=/\/\/|(?:^|\/)\.\.?(?:$|\/)/;Sr={Unterminated_string_literal:E(1002,1,"Unterminated_string_literal_1002","Unterminated string literal."),Identifier_expected:E(1003,1,"Identifier_expected_1003","Identifier expected."),_0_expected:E(1005,1,"_0_expected_1005","'{0}' expected."),A_file_cannot_have_a_reference_to_itself:E(1006,1,"A_file_cannot_have_a_reference_to_itself_1006","A file cannot have a reference to itself."),The_parser_expected_to_find_a_1_to_match_the_0_token_here:E(1007,1,"The_parser_expected_to_find_a_1_to_match_the_0_token_here_1007","The parser expected to find a '{1}' to match the '{0}' token here."),Trailing_comma_not_allowed:E(1009,1,"Trailing_comma_not_allowed_1009","Trailing comma not allowed."),Asterisk_Slash_expected:E(1010,1,"Asterisk_Slash_expected_1010","'*/' expected."),An_element_access_expression_should_take_an_argument:E(1011,1,"An_element_access_expression_should_take_an_argument_1011","An element access expression should take an argument."),Unexpected_token:E(1012,1,"Unexpected_token_1012","Unexpected token."),A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma:E(1013,1,"A_rest_parameter_or_binding_pattern_may_not_have_a_trailing_comma_1013","A rest parameter or binding pattern may not have a trailing comma."),A_rest_parameter_must_be_last_in_a_parameter_list:E(1014,1,"A_rest_parameter_must_be_last_in_a_parameter_list_1014","A rest parameter must be last in a parameter list."),Parameter_cannot_have_question_mark_and_initializer:E(1015,1,"Parameter_cannot_have_question_mark_and_initializer_1015","Parameter cannot have question mark and initializer."),A_required_parameter_cannot_follow_an_optional_parameter:E(1016,1,"A_required_parameter_cannot_follow_an_optional_parameter_1016","A required parameter cannot follow an optional parameter."),An_index_signature_cannot_have_a_rest_parameter:E(1017,1,"An_index_signature_cannot_have_a_rest_parameter_1017","An index signature cannot have a rest parameter."),An_index_signature_parameter_cannot_have_an_accessibility_modifier:E(1018,1,"An_index_signature_parameter_cannot_have_an_accessibility_modifier_1018","An index signature parameter cannot have an accessibility modifier."),An_index_signature_parameter_cannot_have_a_question_mark:E(1019,1,"An_index_signature_parameter_cannot_have_a_question_mark_1019","An index signature parameter cannot have a question mark."),An_index_signature_parameter_cannot_have_an_initializer:E(1020,1,"An_index_signature_parameter_cannot_have_an_initializer_1020","An index signature parameter cannot have an initializer."),An_index_signature_must_have_a_type_annotation:E(1021,1,"An_index_signature_must_have_a_type_annotation_1021","An index signature must have a type annotation."),An_index_signature_parameter_must_have_a_type_annotation:E(1022,1,"An_index_signature_parameter_must_have_a_type_annotation_1022","An index signature parameter must have a type annotation."),readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature:E(1024,1,"readonly_modifier_can_only_appear_on_a_property_declaration_or_index_signature_1024","'readonly' modifier can only appear on a property declaration or index signature."),An_index_signature_cannot_have_a_trailing_comma:E(1025,1,"An_index_signature_cannot_have_a_trailing_comma_1025","An index signature cannot have a trailing comma."),Accessibility_modifier_already_seen:E(1028,1,"Accessibility_modifier_already_seen_1028","Accessibility modifier already seen."),_0_modifier_must_precede_1_modifier:E(1029,1,"_0_modifier_must_precede_1_modifier_1029","'{0}' modifier must precede '{1}' modifier."),_0_modifier_already_seen:E(1030,1,"_0_modifier_already_seen_1030","'{0}' modifier already seen."),_0_modifier_cannot_appear_on_class_elements_of_this_kind:E(1031,1,"_0_modifier_cannot_appear_on_class_elements_of_this_kind_1031","'{0}' modifier cannot appear on class elements of this kind."),super_must_be_followed_by_an_argument_list_or_member_access:E(1034,1,"super_must_be_followed_by_an_argument_list_or_member_access_1034","'super' must be followed by an argument list or member access."),Only_ambient_modules_can_use_quoted_names:E(1035,1,"Only_ambient_modules_can_use_quoted_names_1035","Only ambient modules can use quoted names."),Statements_are_not_allowed_in_ambient_contexts:E(1036,1,"Statements_are_not_allowed_in_ambient_contexts_1036","Statements are not allowed in ambient contexts."),A_declare_modifier_cannot_be_used_in_an_already_ambient_context:E(1038,1,"A_declare_modifier_cannot_be_used_in_an_already_ambient_context_1038","A 'declare' modifier cannot be used in an already ambient context."),Initializers_are_not_allowed_in_ambient_contexts:E(1039,1,"Initializers_are_not_allowed_in_ambient_contexts_1039","Initializers are not allowed in ambient contexts."),_0_modifier_cannot_be_used_in_an_ambient_context:E(1040,1,"_0_modifier_cannot_be_used_in_an_ambient_context_1040","'{0}' modifier cannot be used in an ambient context."),_0_modifier_cannot_be_used_here:E(1042,1,"_0_modifier_cannot_be_used_here_1042","'{0}' modifier cannot be used here."),_0_modifier_cannot_appear_on_a_module_or_namespace_element:E(1044,1,"_0_modifier_cannot_appear_on_a_module_or_namespace_element_1044","'{0}' modifier cannot appear on a module or namespace element."),Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier:E(1046,1,"Top_level_declarations_in_d_ts_files_must_start_with_either_a_declare_or_export_modifier_1046","Top-level declarations in .d.ts files must start with either a 'declare' or 'export' modifier."),A_rest_parameter_cannot_be_optional:E(1047,1,"A_rest_parameter_cannot_be_optional_1047","A rest parameter cannot be optional."),A_rest_parameter_cannot_have_an_initializer:E(1048,1,"A_rest_parameter_cannot_have_an_initializer_1048","A rest parameter cannot have an initializer."),A_set_accessor_must_have_exactly_one_parameter:E(1049,1,"A_set_accessor_must_have_exactly_one_parameter_1049","A 'set' accessor must have exactly one parameter."),A_set_accessor_cannot_have_an_optional_parameter:E(1051,1,"A_set_accessor_cannot_have_an_optional_parameter_1051","A 'set' accessor cannot have an optional parameter."),A_set_accessor_parameter_cannot_have_an_initializer:E(1052,1,"A_set_accessor_parameter_cannot_have_an_initializer_1052","A 'set' accessor parameter cannot have an initializer."),A_set_accessor_cannot_have_rest_parameter:E(1053,1,"A_set_accessor_cannot_have_rest_parameter_1053","A 'set' accessor cannot have rest parameter."),A_get_accessor_cannot_have_parameters:E(1054,1,"A_get_accessor_cannot_have_parameters_1054","A 'get' accessor cannot have parameters."),Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compatible_constructor_value:E(1055,1,"Type_0_is_not_a_valid_async_function_return_type_in_ES5_because_it_does_not_refer_to_a_Promise_compa_1055","Type '{0}' is not a valid async function return type in ES5 because it does not refer to a Promise-compatible constructor value."),Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher:E(1056,1,"Accessors_are_only_available_when_targeting_ECMAScript_5_and_higher_1056","Accessors are only available when targeting ECMAScript 5 and higher."),The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:E(1058,1,"The_return_type_of_an_async_function_must_either_be_a_valid_promise_or_must_not_contain_a_callable_t_1058","The return type of an async function must either be a valid promise or must not contain a callable 'then' member."),A_promise_must_have_a_then_method:E(1059,1,"A_promise_must_have_a_then_method_1059","A promise must have a 'then' method."),The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback:E(1060,1,"The_first_parameter_of_the_then_method_of_a_promise_must_be_a_callback_1060","The first parameter of the 'then' method of a promise must be a callback."),Enum_member_must_have_initializer:E(1061,1,"Enum_member_must_have_initializer_1061","Enum member must have initializer."),Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method:E(1062,1,"Type_is_referenced_directly_or_indirectly_in_the_fulfillment_callback_of_its_own_then_method_1062","Type is referenced directly or indirectly in the fulfillment callback of its own 'then' method."),An_export_assignment_cannot_be_used_in_a_namespace:E(1063,1,"An_export_assignment_cannot_be_used_in_a_namespace_1063","An export assignment cannot be used in a namespace."),The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_write_Promise_0:E(1064,1,"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_Did_you_mean_to_wri_1064","The return type of an async function or method must be the global Promise type. Did you mean to write 'Promise<{0}>'?"),The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type:E(1065,1,"The_return_type_of_an_async_function_or_method_must_be_the_global_Promise_T_type_1065","The return type of an async function or method must be the global Promise type."),In_ambient_enum_declarations_member_initializer_must_be_constant_expression:E(1066,1,"In_ambient_enum_declarations_member_initializer_must_be_constant_expression_1066","In ambient enum declarations member initializer must be constant expression."),Unexpected_token_A_constructor_method_accessor_or_property_was_expected:E(1068,1,"Unexpected_token_A_constructor_method_accessor_or_property_was_expected_1068","Unexpected token. A constructor, method, accessor, or property was expected."),Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces:E(1069,1,"Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces_1069","Unexpected token. A type parameter name was expected without curly braces."),_0_modifier_cannot_appear_on_a_type_member:E(1070,1,"_0_modifier_cannot_appear_on_a_type_member_1070","'{0}' modifier cannot appear on a type member."),_0_modifier_cannot_appear_on_an_index_signature:E(1071,1,"_0_modifier_cannot_appear_on_an_index_signature_1071","'{0}' modifier cannot appear on an index signature."),A_0_modifier_cannot_be_used_with_an_import_declaration:E(1079,1,"A_0_modifier_cannot_be_used_with_an_import_declaration_1079","A '{0}' modifier cannot be used with an import declaration."),Invalid_reference_directive_syntax:E(1084,1,"Invalid_reference_directive_syntax_1084","Invalid 'reference' directive syntax."),_0_modifier_cannot_appear_on_a_constructor_declaration:E(1089,1,"_0_modifier_cannot_appear_on_a_constructor_declaration_1089","'{0}' modifier cannot appear on a constructor declaration."),_0_modifier_cannot_appear_on_a_parameter:E(1090,1,"_0_modifier_cannot_appear_on_a_parameter_1090","'{0}' modifier cannot appear on a parameter."),Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement:E(1091,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_in_statement_1091","Only a single variable declaration is allowed in a 'for...in' statement."),Type_parameters_cannot_appear_on_a_constructor_declaration:E(1092,1,"Type_parameters_cannot_appear_on_a_constructor_declaration_1092","Type parameters cannot appear on a constructor declaration."),Type_annotation_cannot_appear_on_a_constructor_declaration:E(1093,1,"Type_annotation_cannot_appear_on_a_constructor_declaration_1093","Type annotation cannot appear on a constructor declaration."),An_accessor_cannot_have_type_parameters:E(1094,1,"An_accessor_cannot_have_type_parameters_1094","An accessor cannot have type parameters."),A_set_accessor_cannot_have_a_return_type_annotation:E(1095,1,"A_set_accessor_cannot_have_a_return_type_annotation_1095","A 'set' accessor cannot have a return type annotation."),An_index_signature_must_have_exactly_one_parameter:E(1096,1,"An_index_signature_must_have_exactly_one_parameter_1096","An index signature must have exactly one parameter."),_0_list_cannot_be_empty:E(1097,1,"_0_list_cannot_be_empty_1097","'{0}' list cannot be empty."),Type_parameter_list_cannot_be_empty:E(1098,1,"Type_parameter_list_cannot_be_empty_1098","Type parameter list cannot be empty."),Type_argument_list_cannot_be_empty:E(1099,1,"Type_argument_list_cannot_be_empty_1099","Type argument list cannot be empty."),Invalid_use_of_0_in_strict_mode:E(1100,1,"Invalid_use_of_0_in_strict_mode_1100","Invalid use of '{0}' in strict mode."),with_statements_are_not_allowed_in_strict_mode:E(1101,1,"with_statements_are_not_allowed_in_strict_mode_1101","'with' statements are not allowed in strict mode."),delete_cannot_be_called_on_an_identifier_in_strict_mode:E(1102,1,"delete_cannot_be_called_on_an_identifier_in_strict_mode_1102","'delete' cannot be called on an identifier in strict mode."),for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:E(1103,1,"for_await_loops_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1103","'for await' loops are only allowed within async functions and at the top levels of modules."),A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement:E(1104,1,"A_continue_statement_can_only_be_used_within_an_enclosing_iteration_statement_1104","A 'continue' statement can only be used within an enclosing iteration statement."),A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement:E(1105,1,"A_break_statement_can_only_be_used_within_an_enclosing_iteration_or_switch_statement_1105","A 'break' statement can only be used within an enclosing iteration or switch statement."),The_left_hand_side_of_a_for_of_statement_may_not_be_async:E(1106,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_async_1106","The left-hand side of a 'for...of' statement may not be 'async'."),Jump_target_cannot_cross_function_boundary:E(1107,1,"Jump_target_cannot_cross_function_boundary_1107","Jump target cannot cross function boundary."),A_return_statement_can_only_be_used_within_a_function_body:E(1108,1,"A_return_statement_can_only_be_used_within_a_function_body_1108","A 'return' statement can only be used within a function body."),Expression_expected:E(1109,1,"Expression_expected_1109","Expression expected."),Type_expected:E(1110,1,"Type_expected_1110","Type expected."),Private_field_0_must_be_declared_in_an_enclosing_class:E(1111,1,"Private_field_0_must_be_declared_in_an_enclosing_class_1111","Private field '{0}' must be declared in an enclosing class."),A_default_clause_cannot_appear_more_than_once_in_a_switch_statement:E(1113,1,"A_default_clause_cannot_appear_more_than_once_in_a_switch_statement_1113","A 'default' clause cannot appear more than once in a 'switch' statement."),Duplicate_label_0:E(1114,1,"Duplicate_label_0_1114","Duplicate label '{0}'."),A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement:E(1115,1,"A_continue_statement_can_only_jump_to_a_label_of_an_enclosing_iteration_statement_1115","A 'continue' statement can only jump to a label of an enclosing iteration statement."),A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement:E(1116,1,"A_break_statement_can_only_jump_to_a_label_of_an_enclosing_statement_1116","A 'break' statement can only jump to a label of an enclosing statement."),An_object_literal_cannot_have_multiple_properties_with_the_same_name:E(1117,1,"An_object_literal_cannot_have_multiple_properties_with_the_same_name_1117","An object literal cannot have multiple properties with the same name."),An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name:E(1118,1,"An_object_literal_cannot_have_multiple_get_Slashset_accessors_with_the_same_name_1118","An object literal cannot have multiple get/set accessors with the same name."),An_object_literal_cannot_have_property_and_accessor_with_the_same_name:E(1119,1,"An_object_literal_cannot_have_property_and_accessor_with_the_same_name_1119","An object literal cannot have property and accessor with the same name."),An_export_assignment_cannot_have_modifiers:E(1120,1,"An_export_assignment_cannot_have_modifiers_1120","An export assignment cannot have modifiers."),Octal_literals_are_not_allowed_Use_the_syntax_0:E(1121,1,"Octal_literals_are_not_allowed_Use_the_syntax_0_1121","Octal literals are not allowed. Use the syntax '{0}'."),Variable_declaration_list_cannot_be_empty:E(1123,1,"Variable_declaration_list_cannot_be_empty_1123","Variable declaration list cannot be empty."),Digit_expected:E(1124,1,"Digit_expected_1124","Digit expected."),Hexadecimal_digit_expected:E(1125,1,"Hexadecimal_digit_expected_1125","Hexadecimal digit expected."),Unexpected_end_of_text:E(1126,1,"Unexpected_end_of_text_1126","Unexpected end of text."),Invalid_character:E(1127,1,"Invalid_character_1127","Invalid character."),Declaration_or_statement_expected:E(1128,1,"Declaration_or_statement_expected_1128","Declaration or statement expected."),Statement_expected:E(1129,1,"Statement_expected_1129","Statement expected."),case_or_default_expected:E(1130,1,"case_or_default_expected_1130","'case' or 'default' expected."),Property_or_signature_expected:E(1131,1,"Property_or_signature_expected_1131","Property or signature expected."),Enum_member_expected:E(1132,1,"Enum_member_expected_1132","Enum member expected."),Variable_declaration_expected:E(1134,1,"Variable_declaration_expected_1134","Variable declaration expected."),Argument_expression_expected:E(1135,1,"Argument_expression_expected_1135","Argument expression expected."),Property_assignment_expected:E(1136,1,"Property_assignment_expected_1136","Property assignment expected."),Expression_or_comma_expected:E(1137,1,"Expression_or_comma_expected_1137","Expression or comma expected."),Parameter_declaration_expected:E(1138,1,"Parameter_declaration_expected_1138","Parameter declaration expected."),Type_parameter_declaration_expected:E(1139,1,"Type_parameter_declaration_expected_1139","Type parameter declaration expected."),Type_argument_expected:E(1140,1,"Type_argument_expected_1140","Type argument expected."),String_literal_expected:E(1141,1,"String_literal_expected_1141","String literal expected."),Line_break_not_permitted_here:E(1142,1,"Line_break_not_permitted_here_1142","Line break not permitted here."),or_expected:E(1144,1,"or_expected_1144","'{' or ';' expected."),or_JSX_element_expected:E(1145,1,"or_JSX_element_expected_1145","'{' or JSX element expected."),Declaration_expected:E(1146,1,"Declaration_expected_1146","Declaration expected."),Import_declarations_in_a_namespace_cannot_reference_a_module:E(1147,1,"Import_declarations_in_a_namespace_cannot_reference_a_module_1147","Import declarations in a namespace cannot reference a module."),Cannot_use_imports_exports_or_module_augmentations_when_module_is_none:E(1148,1,"Cannot_use_imports_exports_or_module_augmentations_when_module_is_none_1148","Cannot use imports, exports, or module augmentations when '--module' is 'none'."),File_name_0_differs_from_already_included_file_name_1_only_in_casing:E(1149,1,"File_name_0_differs_from_already_included_file_name_1_only_in_casing_1149","File name '{0}' differs from already included file name '{1}' only in casing."),_0_declarations_must_be_initialized:E(1155,1,"_0_declarations_must_be_initialized_1155","'{0}' declarations must be initialized."),_0_declarations_can_only_be_declared_inside_a_block:E(1156,1,"_0_declarations_can_only_be_declared_inside_a_block_1156","'{0}' declarations can only be declared inside a block."),Unterminated_template_literal:E(1160,1,"Unterminated_template_literal_1160","Unterminated template literal."),Unterminated_regular_expression_literal:E(1161,1,"Unterminated_regular_expression_literal_1161","Unterminated regular expression literal."),An_object_member_cannot_be_declared_optional:E(1162,1,"An_object_member_cannot_be_declared_optional_1162","An object member cannot be declared optional."),A_yield_expression_is_only_allowed_in_a_generator_body:E(1163,1,"A_yield_expression_is_only_allowed_in_a_generator_body_1163","A 'yield' expression is only allowed in a generator body."),Computed_property_names_are_not_allowed_in_enums:E(1164,1,"Computed_property_names_are_not_allowed_in_enums_1164","Computed property names are not allowed in enums."),A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:E(1165,1,"A_computed_property_name_in_an_ambient_context_must_refer_to_an_expression_whose_type_is_a_literal_t_1165","A computed property name in an ambient context must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_symbol_type:E(1166,1,"A_computed_property_name_in_a_class_property_declaration_must_have_a_simple_literal_type_or_a_unique_1166","A computed property name in a class property declaration must have a simple literal type or a 'unique symbol' type."),A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:E(1168,1,"A_computed_property_name_in_a_method_overload_must_refer_to_an_expression_whose_type_is_a_literal_ty_1168","A computed property name in a method overload must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:E(1169,1,"A_computed_property_name_in_an_interface_must_refer_to_an_expression_whose_type_is_a_literal_type_or_1169","A computed property name in an interface must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type_or_a_unique_symbol_type:E(1170,1,"A_computed_property_name_in_a_type_literal_must_refer_to_an_expression_whose_type_is_a_literal_type__1170","A computed property name in a type literal must refer to an expression whose type is a literal type or a 'unique symbol' type."),A_comma_expression_is_not_allowed_in_a_computed_property_name:E(1171,1,"A_comma_expression_is_not_allowed_in_a_computed_property_name_1171","A comma expression is not allowed in a computed property name."),extends_clause_already_seen:E(1172,1,"extends_clause_already_seen_1172","'extends' clause already seen."),extends_clause_must_precede_implements_clause:E(1173,1,"extends_clause_must_precede_implements_clause_1173","'extends' clause must precede 'implements' clause."),Classes_can_only_extend_a_single_class:E(1174,1,"Classes_can_only_extend_a_single_class_1174","Classes can only extend a single class."),implements_clause_already_seen:E(1175,1,"implements_clause_already_seen_1175","'implements' clause already seen."),Interface_declaration_cannot_have_implements_clause:E(1176,1,"Interface_declaration_cannot_have_implements_clause_1176","Interface declaration cannot have 'implements' clause."),Binary_digit_expected:E(1177,1,"Binary_digit_expected_1177","Binary digit expected."),Octal_digit_expected:E(1178,1,"Octal_digit_expected_1178","Octal digit expected."),Unexpected_token_expected:E(1179,1,"Unexpected_token_expected_1179","Unexpected token. '{' expected."),Property_destructuring_pattern_expected:E(1180,1,"Property_destructuring_pattern_expected_1180","Property destructuring pattern expected."),Array_element_destructuring_pattern_expected:E(1181,1,"Array_element_destructuring_pattern_expected_1181","Array element destructuring pattern expected."),A_destructuring_declaration_must_have_an_initializer:E(1182,1,"A_destructuring_declaration_must_have_an_initializer_1182","A destructuring declaration must have an initializer."),An_implementation_cannot_be_declared_in_ambient_contexts:E(1183,1,"An_implementation_cannot_be_declared_in_ambient_contexts_1183","An implementation cannot be declared in ambient contexts."),Modifiers_cannot_appear_here:E(1184,1,"Modifiers_cannot_appear_here_1184","Modifiers cannot appear here."),Merge_conflict_marker_encountered:E(1185,1,"Merge_conflict_marker_encountered_1185","Merge conflict marker encountered."),A_rest_element_cannot_have_an_initializer:E(1186,1,"A_rest_element_cannot_have_an_initializer_1186","A rest element cannot have an initializer."),A_parameter_property_may_not_be_declared_using_a_binding_pattern:E(1187,1,"A_parameter_property_may_not_be_declared_using_a_binding_pattern_1187","A parameter property may not be declared using a binding pattern."),Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement:E(1188,1,"Only_a_single_variable_declaration_is_allowed_in_a_for_of_statement_1188","Only a single variable declaration is allowed in a 'for...of' statement."),The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer:E(1189,1,"The_variable_declaration_of_a_for_in_statement_cannot_have_an_initializer_1189","The variable declaration of a 'for...in' statement cannot have an initializer."),The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer:E(1190,1,"The_variable_declaration_of_a_for_of_statement_cannot_have_an_initializer_1190","The variable declaration of a 'for...of' statement cannot have an initializer."),An_import_declaration_cannot_have_modifiers:E(1191,1,"An_import_declaration_cannot_have_modifiers_1191","An import declaration cannot have modifiers."),Module_0_has_no_default_export:E(1192,1,"Module_0_has_no_default_export_1192","Module '{0}' has no default export."),An_export_declaration_cannot_have_modifiers:E(1193,1,"An_export_declaration_cannot_have_modifiers_1193","An export declaration cannot have modifiers."),Export_declarations_are_not_permitted_in_a_namespace:E(1194,1,"Export_declarations_are_not_permitted_in_a_namespace_1194","Export declarations are not permitted in a namespace."),export_Asterisk_does_not_re_export_a_default:E(1195,1,"export_Asterisk_does_not_re_export_a_default_1195","'export *' does not re-export a default."),Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified:E(1196,1,"Catch_clause_variable_type_annotation_must_be_any_or_unknown_if_specified_1196","Catch clause variable type annotation must be 'any' or 'unknown' if specified."),Catch_clause_variable_cannot_have_an_initializer:E(1197,1,"Catch_clause_variable_cannot_have_an_initializer_1197","Catch clause variable cannot have an initializer."),An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive:E(1198,1,"An_extended_Unicode_escape_value_must_be_between_0x0_and_0x10FFFF_inclusive_1198","An extended Unicode escape value must be between 0x0 and 0x10FFFF inclusive."),Unterminated_Unicode_escape_sequence:E(1199,1,"Unterminated_Unicode_escape_sequence_1199","Unterminated Unicode escape sequence."),Line_terminator_not_permitted_before_arrow:E(1200,1,"Line_terminator_not_permitted_before_arrow_1200","Line terminator not permitted before arrow."),Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead:E(1202,1,"Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_1202",`Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead.`),Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead:E(1203,1,"Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or__1203","Export assignment cannot be used when targeting ECMAScript modules. Consider using 'export default' or another module format instead."),Re_exporting_a_type_when_0_is_enabled_requires_using_export_type:E(1205,1,"Re_exporting_a_type_when_0_is_enabled_requires_using_export_type_1205","Re-exporting a type when '{0}' is enabled requires using 'export type'."),Decorators_are_not_valid_here:E(1206,1,"Decorators_are_not_valid_here_1206","Decorators are not valid here."),Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name:E(1207,1,"Decorators_cannot_be_applied_to_multiple_get_Slashset_accessors_of_the_same_name_1207","Decorators cannot be applied to multiple get/set accessors of the same name."),Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0:E(1209,1,"Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0_1209","Invalid optional chain from new expression. Did you mean to call '{0}()'?"),Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of_0_For_more_information_see_https_Colon_Slash_Slashdeveloper_mozilla_org_Slashen_US_Slashdocs_SlashWeb_SlashJavaScript_SlashReference_SlashStrict_mode:E(1210,1,"Code_contained_in_a_class_is_evaluated_in_JavaScript_s_strict_mode_which_does_not_allow_this_use_of__1210","Code contained in a class is evaluated in JavaScript's strict mode which does not allow this use of '{0}'. For more information, see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Strict_mode."),A_class_declaration_without_the_default_modifier_must_have_a_name:E(1211,1,"A_class_declaration_without_the_default_modifier_must_have_a_name_1211","A class declaration without the 'default' modifier must have a name."),Identifier_expected_0_is_a_reserved_word_in_strict_mode:E(1212,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_1212","Identifier expected. '{0}' is a reserved word in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_strict_mode:E(1213,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Class_definitions_are_automatically_in_stric_1213","Identifier expected. '{0}' is a reserved word in strict mode. Class definitions are automatically in strict mode."),Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode:E(1214,1,"Identifier_expected_0_is_a_reserved_word_in_strict_mode_Modules_are_automatically_in_strict_mode_1214","Identifier expected. '{0}' is a reserved word in strict mode. Modules are automatically in strict mode."),Invalid_use_of_0_Modules_are_automatically_in_strict_mode:E(1215,1,"Invalid_use_of_0_Modules_are_automatically_in_strict_mode_1215","Invalid use of '{0}'. Modules are automatically in strict mode."),Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules:E(1216,1,"Identifier_expected_esModule_is_reserved_as_an_exported_marker_when_transforming_ECMAScript_modules_1216","Identifier expected. '__esModule' is reserved as an exported marker when transforming ECMAScript modules."),Export_assignment_is_not_supported_when_module_flag_is_system:E(1218,1,"Export_assignment_is_not_supported_when_module_flag_is_system_1218","Export assignment is not supported when '--module' flag is 'system'."),Generators_are_not_allowed_in_an_ambient_context:E(1221,1,"Generators_are_not_allowed_in_an_ambient_context_1221","Generators are not allowed in an ambient context."),An_overload_signature_cannot_be_declared_as_a_generator:E(1222,1,"An_overload_signature_cannot_be_declared_as_a_generator_1222","An overload signature cannot be declared as a generator."),_0_tag_already_specified:E(1223,1,"_0_tag_already_specified_1223","'{0}' tag already specified."),Signature_0_must_be_a_type_predicate:E(1224,1,"Signature_0_must_be_a_type_predicate_1224","Signature '{0}' must be a type predicate."),Cannot_find_parameter_0:E(1225,1,"Cannot_find_parameter_0_1225","Cannot find parameter '{0}'."),Type_predicate_0_is_not_assignable_to_1:E(1226,1,"Type_predicate_0_is_not_assignable_to_1_1226","Type predicate '{0}' is not assignable to '{1}'."),Parameter_0_is_not_in_the_same_position_as_parameter_1:E(1227,1,"Parameter_0_is_not_in_the_same_position_as_parameter_1_1227","Parameter '{0}' is not in the same position as parameter '{1}'."),A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods:E(1228,1,"A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods_1228","A type predicate is only allowed in return type position for functions and methods."),A_type_predicate_cannot_reference_a_rest_parameter:E(1229,1,"A_type_predicate_cannot_reference_a_rest_parameter_1229","A type predicate cannot reference a rest parameter."),A_type_predicate_cannot_reference_element_0_in_a_binding_pattern:E(1230,1,"A_type_predicate_cannot_reference_element_0_in_a_binding_pattern_1230","A type predicate cannot reference element '{0}' in a binding pattern."),An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration:E(1231,1,"An_export_assignment_must_be_at_the_top_level_of_a_file_or_module_declaration_1231","An export assignment must be at the top level of a file or module declaration."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:E(1232,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1232","An import declaration can only be used at the top level of a namespace or module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module:E(1233,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_namespace_or_module_1233","An export declaration can only be used at the top level of a namespace or module."),An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file:E(1234,1,"An_ambient_module_declaration_is_only_allowed_at_the_top_level_in_a_file_1234","An ambient module declaration is only allowed at the top level in a file."),A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module:E(1235,1,"A_namespace_declaration_is_only_allowed_at_the_top_level_of_a_namespace_or_module_1235","A namespace declaration is only allowed at the top level of a namespace or module."),The_return_type_of_a_property_decorator_function_must_be_either_void_or_any:E(1236,1,"The_return_type_of_a_property_decorator_function_must_be_either_void_or_any_1236","The return type of a property decorator function must be either 'void' or 'any'."),The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any:E(1237,1,"The_return_type_of_a_parameter_decorator_function_must_be_either_void_or_any_1237","The return type of a parameter decorator function must be either 'void' or 'any'."),Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression:E(1238,1,"Unable_to_resolve_signature_of_class_decorator_when_called_as_an_expression_1238","Unable to resolve signature of class decorator when called as an expression."),Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression:E(1239,1,"Unable_to_resolve_signature_of_parameter_decorator_when_called_as_an_expression_1239","Unable to resolve signature of parameter decorator when called as an expression."),Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression:E(1240,1,"Unable_to_resolve_signature_of_property_decorator_when_called_as_an_expression_1240","Unable to resolve signature of property decorator when called as an expression."),Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression:E(1241,1,"Unable_to_resolve_signature_of_method_decorator_when_called_as_an_expression_1241","Unable to resolve signature of method decorator when called as an expression."),abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration:E(1242,1,"abstract_modifier_can_only_appear_on_a_class_method_or_property_declaration_1242","'abstract' modifier can only appear on a class, method, or property declaration."),_0_modifier_cannot_be_used_with_1_modifier:E(1243,1,"_0_modifier_cannot_be_used_with_1_modifier_1243","'{0}' modifier cannot be used with '{1}' modifier."),Abstract_methods_can_only_appear_within_an_abstract_class:E(1244,1,"Abstract_methods_can_only_appear_within_an_abstract_class_1244","Abstract methods can only appear within an abstract class."),Method_0_cannot_have_an_implementation_because_it_is_marked_abstract:E(1245,1,"Method_0_cannot_have_an_implementation_because_it_is_marked_abstract_1245","Method '{0}' cannot have an implementation because it is marked abstract."),An_interface_property_cannot_have_an_initializer:E(1246,1,"An_interface_property_cannot_have_an_initializer_1246","An interface property cannot have an initializer."),A_type_literal_property_cannot_have_an_initializer:E(1247,1,"A_type_literal_property_cannot_have_an_initializer_1247","A type literal property cannot have an initializer."),A_class_member_cannot_have_the_0_keyword:E(1248,1,"A_class_member_cannot_have_the_0_keyword_1248","A class member cannot have the '{0}' keyword."),A_decorator_can_only_decorate_a_method_implementation_not_an_overload:E(1249,1,"A_decorator_can_only_decorate_a_method_implementation_not_an_overload_1249","A decorator can only decorate a method implementation, not an overload."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5:E(1250,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_1250","Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Class_definitions_are_automatically_in_strict_mode:E(1251,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Class_definiti_1251","Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. Class definitions are automatically in strict mode."),Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Modules_are_automatically_in_strict_mode:E(1252,1,"Function_declarations_are_not_allowed_inside_blocks_in_strict_mode_when_targeting_ES5_Modules_are_au_1252","Function declarations are not allowed inside blocks in strict mode when targeting 'ES5'. Modules are automatically in strict mode."),Abstract_properties_can_only_appear_within_an_abstract_class:E(1253,1,"Abstract_properties_can_only_appear_within_an_abstract_class_1253","Abstract properties can only appear within an abstract class."),A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_reference:E(1254,1,"A_const_initializer_in_an_ambient_context_must_be_a_string_or_numeric_literal_or_literal_enum_refere_1254","A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference."),A_definite_assignment_assertion_is_not_permitted_in_this_context:E(1255,1,"A_definite_assignment_assertion_is_not_permitted_in_this_context_1255","A definite assignment assertion '!' is not permitted in this context."),A_required_element_cannot_follow_an_optional_element:E(1257,1,"A_required_element_cannot_follow_an_optional_element_1257","A required element cannot follow an optional element."),A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration:E(1258,1,"A_default_export_must_be_at_the_top_level_of_a_file_or_module_declaration_1258","A default export must be at the top level of a file or module declaration."),Module_0_can_only_be_default_imported_using_the_1_flag:E(1259,1,"Module_0_can_only_be_default_imported_using_the_1_flag_1259","Module '{0}' can only be default-imported using the '{1}' flag"),Keywords_cannot_contain_escape_characters:E(1260,1,"Keywords_cannot_contain_escape_characters_1260","Keywords cannot contain escape characters."),Already_included_file_name_0_differs_from_file_name_1_only_in_casing:E(1261,1,"Already_included_file_name_0_differs_from_file_name_1_only_in_casing_1261","Already included file name '{0}' differs from file name '{1}' only in casing."),Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module:E(1262,1,"Identifier_expected_0_is_a_reserved_word_at_the_top_level_of_a_module_1262","Identifier expected. '{0}' is a reserved word at the top-level of a module."),Declarations_with_initializers_cannot_also_have_definite_assignment_assertions:E(1263,1,"Declarations_with_initializers_cannot_also_have_definite_assignment_assertions_1263","Declarations with initializers cannot also have definite assignment assertions."),Declarations_with_definite_assignment_assertions_must_also_have_type_annotations:E(1264,1,"Declarations_with_definite_assignment_assertions_must_also_have_type_annotations_1264","Declarations with definite assignment assertions must also have type annotations."),A_rest_element_cannot_follow_another_rest_element:E(1265,1,"A_rest_element_cannot_follow_another_rest_element_1265","A rest element cannot follow another rest element."),An_optional_element_cannot_follow_a_rest_element:E(1266,1,"An_optional_element_cannot_follow_a_rest_element_1266","An optional element cannot follow a rest element."),Property_0_cannot_have_an_initializer_because_it_is_marked_abstract:E(1267,1,"Property_0_cannot_have_an_initializer_because_it_is_marked_abstract_1267","Property '{0}' cannot have an initializer because it is marked abstract."),An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type:E(1268,1,"An_index_signature_parameter_type_must_be_string_number_symbol_or_a_template_literal_type_1268","An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type."),Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled:E(1269,1,"Cannot_use_export_import_on_a_type_or_type_only_namespace_when_0_is_enabled_1269","Cannot use 'export import' on a type or type-only namespace when '{0}' is enabled."),Decorator_function_return_type_0_is_not_assignable_to_type_1:E(1270,1,"Decorator_function_return_type_0_is_not_assignable_to_type_1_1270","Decorator function return type '{0}' is not assignable to type '{1}'."),Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any:E(1271,1,"Decorator_function_return_type_is_0_but_is_expected_to_be_void_or_any_1271","Decorator function return type is '{0}' but is expected to be 'void' or 'any'."),A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_when_isolatedModules_and_emitDecoratorMetadata_are_enabled:E(1272,1,"A_type_referenced_in_a_decorated_signature_must_be_imported_with_import_type_or_a_namespace_import_w_1272","A type referenced in a decorated signature must be imported with 'import type' or a namespace import when 'isolatedModules' and 'emitDecoratorMetadata' are enabled."),_0_modifier_cannot_appear_on_a_type_parameter:E(1273,1,"_0_modifier_cannot_appear_on_a_type_parameter_1273","'{0}' modifier cannot appear on a type parameter"),_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias:E(1274,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_class_interface_or_type_alias_1274","'{0}' modifier can only appear on a type parameter of a class, interface or type alias"),accessor_modifier_can_only_appear_on_a_property_declaration:E(1275,1,"accessor_modifier_can_only_appear_on_a_property_declaration_1275","'accessor' modifier can only appear on a property declaration."),An_accessor_property_cannot_be_declared_optional:E(1276,1,"An_accessor_property_cannot_be_declared_optional_1276","An 'accessor' property cannot be declared optional."),_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class:E(1277,1,"_0_modifier_can_only_appear_on_a_type_parameter_of_a_function_method_or_class_1277","'{0}' modifier can only appear on a type parameter of a function, method or class"),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0:E(1278,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_0_1278","The runtime will invoke the decorator with {1} arguments, but the decorator expects {0}."),The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0:E(1279,1,"The_runtime_will_invoke_the_decorator_with_1_arguments_but_the_decorator_expects_at_least_0_1279","The runtime will invoke the decorator with {1} arguments, but the decorator expects at least {0}."),Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to_be_a_global_script_set_moduleDetection_to_force_or_add_an_empty_export_statement:E(1280,1,"Namespaces_are_not_allowed_in_global_script_files_when_0_is_enabled_If_this_file_is_not_intended_to__1280","Namespaces are not allowed in global script files when '{0}' is enabled. If this file is not intended to be a global script, set 'moduleDetection' to 'force' or add an empty 'export {}' statement."),Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead:E(1281,1,"Cannot_access_0_from_another_file_without_qualification_when_1_is_enabled_Use_2_instead_1281","Cannot access '{0}' from another file without qualification when '{1}' is enabled. Use '{2}' instead."),An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:E(1282,1,"An_export_declaration_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers__1282","An 'export =' declaration must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:E(1283,1,"An_export_declaration_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolve_1283","An 'export =' declaration must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_type:E(1284,1,"An_export_default_must_reference_a_value_when_verbatimModuleSyntax_is_enabled_but_0_only_refers_to_a_1284","An 'export default' must reference a value when 'verbatimModuleSyntax' is enabled, but '{0}' only refers to a type."),An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_a_type_only_declaration:E(1285,1,"An_export_default_must_reference_a_real_value_when_verbatimModuleSyntax_is_enabled_but_0_resolves_to_1285","An 'export default' must reference a real value when 'verbatimModuleSyntax' is enabled, but '{0}' resolves to a type-only declaration."),ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:E(1286,1,"ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled_1286","ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled."),A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled:E(1287,1,"A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimM_1287","A top-level 'export' modifier cannot be used on value declarations in a CommonJS module when 'verbatimModuleSyntax' is enabled."),An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabled:E(1288,1,"An_import_alias_cannot_resolve_to_a_type_or_type_only_declaration_when_verbatimModuleSyntax_is_enabl_1288","An import alias cannot resolve to a type or type-only declaration when 'verbatimModuleSyntax' is enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_import_type_where_0_is_imported:E(1289,1,"_0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_1289","'{0}' resolves to a type-only declaration and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'import type' where '{0}' is imported."),_0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_export_type_0_as_default:E(1290,1,"_0_resolves_to_a_type_only_declaration_and_must_be_marked_type_only_in_this_file_before_re_exporting_1290","'{0}' resolves to a type-only declaration and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'export type { {0} as default }'."),_0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_import_type_where_0_is_imported:E(1291,1,"_0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enable_1291","'{0}' resolves to a type and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'import type' where '{0}' is imported."),_0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enabled_Consider_using_export_type_0_as_default:E(1292,1,"_0_resolves_to_a_type_and_must_be_marked_type_only_in_this_file_before_re_exporting_when_1_is_enable_1292","'{0}' resolves to a type and must be marked type-only in this file before re-exporting when '{1}' is enabled. Consider using 'export type { {0} as default }'."),ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_module_is_set_to_preserve:E(1293,1,"ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_module_is_set_to_preserve_1293","ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'."),with_statements_are_not_allowed_in_an_async_function_block:E(1300,1,"with_statements_are_not_allowed_in_an_async_function_block_1300","'with' statements are not allowed in an async function block."),await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:E(1308,1,"await_expressions_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_1308","'await' expressions are only allowed within async functions and at the top levels of modules."),The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level:E(1309,1,"The_current_file_is_a_CommonJS_module_and_cannot_use_await_at_the_top_level_1309","The current file is a CommonJS module and cannot use 'await' at the top level."),Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_part_of_a_destructuring_pattern:E(1312,1,"Did_you_mean_to_use_a_Colon_An_can_only_follow_a_property_name_when_the_containing_object_literal_is_1312","Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern."),The_body_of_an_if_statement_cannot_be_the_empty_statement:E(1313,1,"The_body_of_an_if_statement_cannot_be_the_empty_statement_1313","The body of an 'if' statement cannot be the empty statement."),Global_module_exports_may_only_appear_in_module_files:E(1314,1,"Global_module_exports_may_only_appear_in_module_files_1314","Global module exports may only appear in module files."),Global_module_exports_may_only_appear_in_declaration_files:E(1315,1,"Global_module_exports_may_only_appear_in_declaration_files_1315","Global module exports may only appear in declaration files."),Global_module_exports_may_only_appear_at_top_level:E(1316,1,"Global_module_exports_may_only_appear_at_top_level_1316","Global module exports may only appear at top level."),A_parameter_property_cannot_be_declared_using_a_rest_parameter:E(1317,1,"A_parameter_property_cannot_be_declared_using_a_rest_parameter_1317","A parameter property cannot be declared using a rest parameter."),An_abstract_accessor_cannot_have_an_implementation:E(1318,1,"An_abstract_accessor_cannot_have_an_implementation_1318","An abstract accessor cannot have an implementation."),A_default_export_can_only_be_used_in_an_ECMAScript_style_module:E(1319,1,"A_default_export_can_only_be_used_in_an_ECMAScript_style_module_1319","A default export can only be used in an ECMAScript-style module."),Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:E(1320,1,"Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member_1320","Type of 'await' operand must either be a valid promise or must not contain a callable 'then' member."),Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:E(1321,1,"Type_of_yield_operand_in_an_async_generator_must_either_be_a_valid_promise_or_must_not_contain_a_cal_1321","Type of 'yield' operand in an async generator must either be a valid promise or must not contain a callable 'then' member."),Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member:E(1322,1,"Type_of_iterated_elements_of_a_yield_Asterisk_operand_must_either_be_a_valid_promise_or_must_not_con_1322","Type of iterated elements of a 'yield*' operand must either be a valid promise or must not contain a callable 'then' member."),Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd_system_umd_node16_or_nodenext:E(1323,1,"Dynamic_imports_are_only_supported_when_the_module_flag_is_set_to_es2020_es2022_esnext_commonjs_amd__1323","Dynamic imports are only supported when the '--module' flag is set to 'es2020', 'es2022', 'esnext', 'commonjs', 'amd', 'system', 'umd', 'node16', or 'nodenext'."),Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_nodenext_or_preserve:E(1324,1,"Dynamic_imports_only_support_a_second_argument_when_the_module_option_is_set_to_esnext_node16_nodene_1324","Dynamic imports only support a second argument when the '--module' option is set to 'esnext', 'node16', 'nodenext', or 'preserve'."),Argument_of_dynamic_import_cannot_be_spread_element:E(1325,1,"Argument_of_dynamic_import_cannot_be_spread_element_1325","Argument of dynamic import cannot be spread element."),This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot_have_type_arguments:E(1326,1,"This_use_of_import_is_invalid_import_calls_can_be_written_but_they_must_have_parentheses_and_cannot__1326","This use of 'import' is invalid. 'import()' calls can be written, but they must have parentheses and cannot have type arguments."),String_literal_with_double_quotes_expected:E(1327,1,"String_literal_with_double_quotes_expected_1327","String literal with double quotes expected."),Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_literal:E(1328,1,"Property_value_can_only_be_string_literal_numeric_literal_true_false_null_object_literal_or_array_li_1328","Property value can only be string literal, numeric literal, 'true', 'false', 'null', object literal or array literal."),_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write_0:E(1329,1,"_0_accepts_too_few_arguments_to_be_used_as_a_decorator_here_Did_you_mean_to_call_it_first_and_write__1329","'{0}' accepts too few arguments to be used as a decorator here. Did you mean to call it first and write '@{0}()'?"),A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly:E(1330,1,"A_property_of_an_interface_or_type_literal_whose_type_is_a_unique_symbol_type_must_be_readonly_1330","A property of an interface or type literal whose type is a 'unique symbol' type must be 'readonly'."),A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly:E(1331,1,"A_property_of_a_class_whose_type_is_a_unique_symbol_type_must_be_both_static_and_readonly_1331","A property of a class whose type is a 'unique symbol' type must be both 'static' and 'readonly'."),A_variable_whose_type_is_a_unique_symbol_type_must_be_const:E(1332,1,"A_variable_whose_type_is_a_unique_symbol_type_must_be_const_1332","A variable whose type is a 'unique symbol' type must be 'const'."),unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name:E(1333,1,"unique_symbol_types_may_not_be_used_on_a_variable_declaration_with_a_binding_name_1333","'unique symbol' types may not be used on a variable declaration with a binding name."),unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement:E(1334,1,"unique_symbol_types_are_only_allowed_on_variables_in_a_variable_statement_1334","'unique symbol' types are only allowed on variables in a variable statement."),unique_symbol_types_are_not_allowed_here:E(1335,1,"unique_symbol_types_are_not_allowed_here_1335","'unique symbol' types are not allowed here."),An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_object_type_instead:E(1337,1,"An_index_signature_parameter_type_cannot_be_a_literal_type_or_generic_type_Consider_using_a_mapped_o_1337","An index signature parameter type cannot be a literal type or generic type. Consider using a mapped object type instead."),infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type:E(1338,1,"infer_declarations_are_only_permitted_in_the_extends_clause_of_a_conditional_type_1338","'infer' declarations are only permitted in the 'extends' clause of a conditional type."),Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here:E(1339,1,"Module_0_does_not_refer_to_a_value_but_is_used_as_a_value_here_1339","Module '{0}' does not refer to a value, but is used as a value here."),Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0:E(1340,1,"Module_0_does_not_refer_to_a_type_but_is_used_as_a_type_here_Did_you_mean_typeof_import_0_1340","Module '{0}' does not refer to a type, but is used as a type here. Did you mean 'typeof import('{0}')'?"),Class_constructor_may_not_be_an_accessor:E(1341,1,"Class_constructor_may_not_be_an_accessor_1341","Class constructor may not be an accessor."),The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system_node16_or_nodenext:E(1343,1,"The_import_meta_meta_property_is_only_allowed_when_the_module_option_is_es2020_es2022_esnext_system__1343","The 'import.meta' meta-property is only allowed when the '--module' option is 'es2020', 'es2022', 'esnext', 'system', 'node16', or 'nodenext'."),A_label_is_not_allowed_here:E(1344,1,"A_label_is_not_allowed_here_1344","'A label is not allowed here."),An_expression_of_type_void_cannot_be_tested_for_truthiness:E(1345,1,"An_expression_of_type_void_cannot_be_tested_for_truthiness_1345","An expression of type 'void' cannot be tested for truthiness."),This_parameter_is_not_allowed_with_use_strict_directive:E(1346,1,"This_parameter_is_not_allowed_with_use_strict_directive_1346","This parameter is not allowed with 'use strict' directive."),use_strict_directive_cannot_be_used_with_non_simple_parameter_list:E(1347,1,"use_strict_directive_cannot_be_used_with_non_simple_parameter_list_1347","'use strict' directive cannot be used with non-simple parameter list."),Non_simple_parameter_declared_here:E(1348,1,"Non_simple_parameter_declared_here_1348","Non-simple parameter declared here."),use_strict_directive_used_here:E(1349,1,"use_strict_directive_used_here_1349","'use strict' directive used here."),Print_the_final_configuration_instead_of_building:E(1350,3,"Print_the_final_configuration_instead_of_building_1350","Print the final configuration instead of building."),An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal:E(1351,1,"An_identifier_or_keyword_cannot_immediately_follow_a_numeric_literal_1351","An identifier or keyword cannot immediately follow a numeric literal."),A_bigint_literal_cannot_use_exponential_notation:E(1352,1,"A_bigint_literal_cannot_use_exponential_notation_1352","A bigint literal cannot use exponential notation."),A_bigint_literal_must_be_an_integer:E(1353,1,"A_bigint_literal_must_be_an_integer_1353","A bigint literal must be an integer."),readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types:E(1354,1,"readonly_type_modifier_is_only_permitted_on_array_and_tuple_literal_types_1354","'readonly' type modifier is only permitted on array and tuple literal types."),A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array_or_object_literals:E(1355,1,"A_const_assertions_can_only_be_applied_to_references_to_enum_members_or_string_number_boolean_array__1355","A 'const' assertions can only be applied to references to enum members, or string, number, boolean, array, or object literals."),Did_you_mean_to_mark_this_function_as_async:E(1356,1,"Did_you_mean_to_mark_this_function_as_async_1356","Did you mean to mark this function as 'async'?"),An_enum_member_name_must_be_followed_by_a_or:E(1357,1,"An_enum_member_name_must_be_followed_by_a_or_1357","An enum member name must be followed by a ',', '=', or '}'."),Tagged_template_expressions_are_not_permitted_in_an_optional_chain:E(1358,1,"Tagged_template_expressions_are_not_permitted_in_an_optional_chain_1358","Tagged template expressions are not permitted in an optional chain."),Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:E(1359,1,"Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here_1359","Identifier expected. '{0}' is a reserved word that cannot be used here."),Type_0_does_not_satisfy_the_expected_type_1:E(1360,1,"Type_0_does_not_satisfy_the_expected_type_1_1360","Type '{0}' does not satisfy the expected type '{1}'."),_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type:E(1361,1,"_0_cannot_be_used_as_a_value_because_it_was_imported_using_import_type_1361","'{0}' cannot be used as a value because it was imported using 'import type'."),_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type:E(1362,1,"_0_cannot_be_used_as_a_value_because_it_was_exported_using_export_type_1362","'{0}' cannot be used as a value because it was exported using 'export type'."),A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both:E(1363,1,"A_type_only_import_can_specify_a_default_import_or_named_bindings_but_not_both_1363","A type-only import can specify a default import or named bindings, but not both."),Convert_to_type_only_export:E(1364,3,"Convert_to_type_only_export_1364","Convert to type-only export"),Convert_all_re_exported_types_to_type_only_exports:E(1365,3,"Convert_all_re_exported_types_to_type_only_exports_1365","Convert all re-exported types to type-only exports"),Split_into_two_separate_import_declarations:E(1366,3,"Split_into_two_separate_import_declarations_1366","Split into two separate import declarations"),Split_all_invalid_type_only_imports:E(1367,3,"Split_all_invalid_type_only_imports_1367","Split all invalid type-only imports"),Class_constructor_may_not_be_a_generator:E(1368,1,"Class_constructor_may_not_be_a_generator_1368","Class constructor may not be a generator."),Did_you_mean_0:E(1369,3,"Did_you_mean_0_1369","Did you mean '{0}'?"),await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:E(1375,1,"await_expressions_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_fi_1375","'await' expressions are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),_0_was_imported_here:E(1376,3,"_0_was_imported_here_1376","'{0}' was imported here."),_0_was_exported_here:E(1377,3,"_0_was_exported_here_1377","'{0}' was exported here."),Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher:E(1378,1,"Top_level_await_expressions_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_n_1378","Top-level 'await' expressions are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher."),An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type:E(1379,1,"An_import_alias_cannot_reference_a_declaration_that_was_exported_using_export_type_1379","An import alias cannot reference a declaration that was exported using 'export type'."),An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type:E(1380,1,"An_import_alias_cannot_reference_a_declaration_that_was_imported_using_import_type_1380","An import alias cannot reference a declaration that was imported using 'import type'."),Unexpected_token_Did_you_mean_or_rbrace:E(1381,1,"Unexpected_token_Did_you_mean_or_rbrace_1381","Unexpected token. Did you mean `{'}'}` or `}`?"),Unexpected_token_Did_you_mean_or_gt:E(1382,1,"Unexpected_token_Did_you_mean_or_gt_1382","Unexpected token. Did you mean `{'>'}` or `>`?"),Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:E(1385,1,"Function_type_notation_must_be_parenthesized_when_used_in_a_union_type_1385","Function type notation must be parenthesized when used in a union type."),Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:E(1386,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type_1386","Constructor type notation must be parenthesized when used in a union type."),Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:E(1387,1,"Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1387","Function type notation must be parenthesized when used in an intersection type."),Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:E(1388,1,"Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type_1388","Constructor type notation must be parenthesized when used in an intersection type."),_0_is_not_allowed_as_a_variable_declaration_name:E(1389,1,"_0_is_not_allowed_as_a_variable_declaration_name_1389","'{0}' is not allowed as a variable declaration name."),_0_is_not_allowed_as_a_parameter_name:E(1390,1,"_0_is_not_allowed_as_a_parameter_name_1390","'{0}' is not allowed as a parameter name."),An_import_alias_cannot_use_import_type:E(1392,1,"An_import_alias_cannot_use_import_type_1392","An import alias cannot use 'import type'"),Imported_via_0_from_file_1:E(1393,3,"Imported_via_0_from_file_1_1393","Imported via {0} from file '{1}'"),Imported_via_0_from_file_1_with_packageId_2:E(1394,3,"Imported_via_0_from_file_1_with_packageId_2_1394","Imported via {0} from file '{1}' with packageId '{2}'"),Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions:E(1395,3,"Imported_via_0_from_file_1_to_import_importHelpers_as_specified_in_compilerOptions_1395","Imported via {0} from file '{1}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions:E(1396,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_importHelpers_as_specified_in_compilerOptions_1396","Imported via {0} from file '{1}' with packageId '{2}' to import 'importHelpers' as specified in compilerOptions"),Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions:E(1397,3,"Imported_via_0_from_file_1_to_import_jsx_and_jsxs_factory_functions_1397","Imported via {0} from file '{1}' to import 'jsx' and 'jsxs' factory functions"),Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions:E(1398,3,"Imported_via_0_from_file_1_with_packageId_2_to_import_jsx_and_jsxs_factory_functions_1398","Imported via {0} from file '{1}' with packageId '{2}' to import 'jsx' and 'jsxs' factory functions"),File_is_included_via_import_here:E(1399,3,"File_is_included_via_import_here_1399","File is included via import here."),Referenced_via_0_from_file_1:E(1400,3,"Referenced_via_0_from_file_1_1400","Referenced via '{0}' from file '{1}'"),File_is_included_via_reference_here:E(1401,3,"File_is_included_via_reference_here_1401","File is included via reference here."),Type_library_referenced_via_0_from_file_1:E(1402,3,"Type_library_referenced_via_0_from_file_1_1402","Type library referenced via '{0}' from file '{1}'"),Type_library_referenced_via_0_from_file_1_with_packageId_2:E(1403,3,"Type_library_referenced_via_0_from_file_1_with_packageId_2_1403","Type library referenced via '{0}' from file '{1}' with packageId '{2}'"),File_is_included_via_type_library_reference_here:E(1404,3,"File_is_included_via_type_library_reference_here_1404","File is included via type library reference here."),Library_referenced_via_0_from_file_1:E(1405,3,"Library_referenced_via_0_from_file_1_1405","Library referenced via '{0}' from file '{1}'"),File_is_included_via_library_reference_here:E(1406,3,"File_is_included_via_library_reference_here_1406","File is included via library reference here."),Matched_by_include_pattern_0_in_1:E(1407,3,"Matched_by_include_pattern_0_in_1_1407","Matched by include pattern '{0}' in '{1}'"),File_is_matched_by_include_pattern_specified_here:E(1408,3,"File_is_matched_by_include_pattern_specified_here_1408","File is matched by include pattern specified here."),Part_of_files_list_in_tsconfig_json:E(1409,3,"Part_of_files_list_in_tsconfig_json_1409","Part of 'files' list in tsconfig.json"),File_is_matched_by_files_list_specified_here:E(1410,3,"File_is_matched_by_files_list_specified_here_1410","File is matched by 'files' list specified here."),Output_from_referenced_project_0_included_because_1_specified:E(1411,3,"Output_from_referenced_project_0_included_because_1_specified_1411","Output from referenced project '{0}' included because '{1}' specified"),Output_from_referenced_project_0_included_because_module_is_specified_as_none:E(1412,3,"Output_from_referenced_project_0_included_because_module_is_specified_as_none_1412","Output from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_output_from_referenced_project_specified_here:E(1413,3,"File_is_output_from_referenced_project_specified_here_1413","File is output from referenced project specified here."),Source_from_referenced_project_0_included_because_1_specified:E(1414,3,"Source_from_referenced_project_0_included_because_1_specified_1414","Source from referenced project '{0}' included because '{1}' specified"),Source_from_referenced_project_0_included_because_module_is_specified_as_none:E(1415,3,"Source_from_referenced_project_0_included_because_module_is_specified_as_none_1415","Source from referenced project '{0}' included because '--module' is specified as 'none'"),File_is_source_from_referenced_project_specified_here:E(1416,3,"File_is_source_from_referenced_project_specified_here_1416","File is source from referenced project specified here."),Entry_point_of_type_library_0_specified_in_compilerOptions:E(1417,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_1417","Entry point of type library '{0}' specified in compilerOptions"),Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1:E(1418,3,"Entry_point_of_type_library_0_specified_in_compilerOptions_with_packageId_1_1418","Entry point of type library '{0}' specified in compilerOptions with packageId '{1}'"),File_is_entry_point_of_type_library_specified_here:E(1419,3,"File_is_entry_point_of_type_library_specified_here_1419","File is entry point of type library specified here."),Entry_point_for_implicit_type_library_0:E(1420,3,"Entry_point_for_implicit_type_library_0_1420","Entry point for implicit type library '{0}'"),Entry_point_for_implicit_type_library_0_with_packageId_1:E(1421,3,"Entry_point_for_implicit_type_library_0_with_packageId_1_1421","Entry point for implicit type library '{0}' with packageId '{1}'"),Library_0_specified_in_compilerOptions:E(1422,3,"Library_0_specified_in_compilerOptions_1422","Library '{0}' specified in compilerOptions"),File_is_library_specified_here:E(1423,3,"File_is_library_specified_here_1423","File is library specified here."),Default_library:E(1424,3,"Default_library_1424","Default library"),Default_library_for_target_0:E(1425,3,"Default_library_for_target_0_1425","Default library for target '{0}'"),File_is_default_library_for_target_specified_here:E(1426,3,"File_is_default_library_for_target_specified_here_1426","File is default library for target specified here."),Root_file_specified_for_compilation:E(1427,3,"Root_file_specified_for_compilation_1427","Root file specified for compilation"),File_is_output_of_project_reference_source_0:E(1428,3,"File_is_output_of_project_reference_source_0_1428","File is output of project reference source '{0}'"),File_redirects_to_file_0:E(1429,3,"File_redirects_to_file_0_1429","File redirects to file '{0}'"),The_file_is_in_the_program_because_Colon:E(1430,3,"The_file_is_in_the_program_because_Colon_1430","The file is in the program because:"),for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:E(1431,1,"for_await_loops_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_1431","'for await' loops are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher:E(1432,1,"Top_level_for_await_loops_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_nod_1432","Top-level 'for await' loops are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher."),Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters:E(1433,1,"Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters_1433","Neither decorators nor modifiers may be applied to 'this' parameters."),Unexpected_keyword_or_identifier:E(1434,1,"Unexpected_keyword_or_identifier_1434","Unexpected keyword or identifier."),Unknown_keyword_or_identifier_Did_you_mean_0:E(1435,1,"Unknown_keyword_or_identifier_Did_you_mean_0_1435","Unknown keyword or identifier. Did you mean '{0}'?"),Decorators_must_precede_the_name_and_all_keywords_of_property_declarations:E(1436,1,"Decorators_must_precede_the_name_and_all_keywords_of_property_declarations_1436","Decorators must precede the name and all keywords of property declarations."),Namespace_must_be_given_a_name:E(1437,1,"Namespace_must_be_given_a_name_1437","Namespace must be given a name."),Interface_must_be_given_a_name:E(1438,1,"Interface_must_be_given_a_name_1438","Interface must be given a name."),Type_alias_must_be_given_a_name:E(1439,1,"Type_alias_must_be_given_a_name_1439","Type alias must be given a name."),Variable_declaration_not_allowed_at_this_location:E(1440,1,"Variable_declaration_not_allowed_at_this_location_1440","Variable declaration not allowed at this location."),Cannot_start_a_function_call_in_a_type_annotation:E(1441,1,"Cannot_start_a_function_call_in_a_type_annotation_1441","Cannot start a function call in a type annotation."),Expected_for_property_initializer:E(1442,1,"Expected_for_property_initializer_1442","Expected '=' for property initializer."),Module_declaration_names_may_only_use_or_quoted_strings:E(1443,1,"Module_declaration_names_may_only_use_or_quoted_strings_1443",`Module declaration names may only use ' or " quoted strings.`),_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_enabled:E(1448,1,"_0_resolves_to_a_type_only_declaration_and_must_be_re_exported_using_a_type_only_re_export_when_1_is_1448","'{0}' resolves to a type-only declaration and must be re-exported using a type-only re-export when '{1}' is enabled."),Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed:E(1449,3,"Preserve_unused_imported_values_in_the_JavaScript_output_that_would_otherwise_be_removed_1449","Preserve unused imported values in the JavaScript output that would otherwise be removed."),Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments:E(1450,3,"Dynamic_imports_can_only_accept_a_module_specifier_and_an_optional_set_of_attributes_as_arguments_1450","Dynamic imports can only accept a module specifier and an optional set of attributes as arguments"),Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member_declaration_property_access_or_on_the_left_hand_side_of_an_in_expression:E(1451,1,"Private_identifiers_are_only_allowed_in_class_bodies_and_may_only_be_used_as_part_of_a_class_member__1451","Private identifiers are only allowed in class bodies and may only be used as part of a class member declaration, property access, or on the left-hand-side of an 'in' expression"),resolution_mode_should_be_either_require_or_import:E(1453,1,"resolution_mode_should_be_either_require_or_import_1453","`resolution-mode` should be either `require` or `import`."),resolution_mode_can_only_be_set_for_type_only_imports:E(1454,1,"resolution_mode_can_only_be_set_for_type_only_imports_1454","`resolution-mode` can only be set for type-only imports."),resolution_mode_is_the_only_valid_key_for_type_import_assertions:E(1455,1,"resolution_mode_is_the_only_valid_key_for_type_import_assertions_1455","`resolution-mode` is the only valid key for type import assertions."),Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require:E(1456,1,"Type_import_assertions_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1456","Type import assertions should have exactly one key - `resolution-mode` - with value `import` or `require`."),Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk:E(1457,3,"Matched_by_default_include_pattern_Asterisk_Asterisk_Slash_Asterisk_1457","Matched by default include pattern '**/*'"),File_is_ECMAScript_module_because_0_has_field_type_with_value_module:E(1458,3,"File_is_ECMAScript_module_because_0_has_field_type_with_value_module_1458",`File is ECMAScript module because '{0}' has field "type" with value "module"`),File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module:E(1459,3,"File_is_CommonJS_module_because_0_has_field_type_whose_value_is_not_module_1459",`File is CommonJS module because '{0}' has field "type" whose value is not "module"`),File_is_CommonJS_module_because_0_does_not_have_field_type:E(1460,3,"File_is_CommonJS_module_because_0_does_not_have_field_type_1460",`File is CommonJS module because '{0}' does not have field "type"`),File_is_CommonJS_module_because_package_json_was_not_found:E(1461,3,"File_is_CommonJS_module_because_package_json_was_not_found_1461","File is CommonJS module because 'package.json' was not found"),resolution_mode_is_the_only_valid_key_for_type_import_attributes:E(1463,1,"resolution_mode_is_the_only_valid_key_for_type_import_attributes_1463","'resolution-mode' is the only valid key for type import attributes."),Type_import_attributes_should_have_exactly_one_key_resolution_mode_with_value_import_or_require:E(1464,1,"Type_import_attributes_should_have_exactly_one_key_resolution_mode_with_value_import_or_require_1464","Type import attributes should have exactly one key - 'resolution-mode' - with value 'import' or 'require'."),The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output:E(1470,1,"The_import_meta_meta_property_is_not_allowed_in_files_which_will_build_into_CommonJS_output_1470","The 'import.meta' meta-property is not allowed in files which will build into CommonJS output."),Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_cannot_be_imported_with_require_Use_an_ECMAScript_import_instead:E(1471,1,"Module_0_cannot_be_imported_using_this_construct_The_specifier_only_resolves_to_an_ES_module_which_c_1471","Module '{0}' cannot be imported using this construct. The specifier only resolves to an ES module, which cannot be imported with 'require'. Use an ECMAScript import instead."),catch_or_finally_expected:E(1472,1,"catch_or_finally_expected_1472","'catch' or 'finally' expected."),An_import_declaration_can_only_be_used_at_the_top_level_of_a_module:E(1473,1,"An_import_declaration_can_only_be_used_at_the_top_level_of_a_module_1473","An import declaration can only be used at the top level of a module."),An_export_declaration_can_only_be_used_at_the_top_level_of_a_module:E(1474,1,"An_export_declaration_can_only_be_used_at_the_top_level_of_a_module_1474","An export declaration can only be used at the top level of a module."),Control_what_method_is_used_to_detect_module_format_JS_files:E(1475,3,"Control_what_method_is_used_to_detect_module_format_JS_files_1475","Control what method is used to detect module-format JS files."),auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_with_module_Colon_node16_as_modules:E(1476,3,"auto_Colon_Treat_files_with_imports_exports_import_meta_jsx_with_jsx_Colon_react_jsx_or_esm_format_w_1476",'"auto": Treat files with imports, exports, import.meta, jsx (with jsx: react-jsx), or esm format (with module: node16+) as modules.'),An_instantiation_expression_cannot_be_followed_by_a_property_access:E(1477,1,"An_instantiation_expression_cannot_be_followed_by_a_property_access_1477","An instantiation expression cannot be followed by a property access."),Identifier_or_string_literal_expected:E(1478,1,"Identifier_or_string_literal_expected_1478","Identifier or string literal expected."),The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_referenced_file_is_an_ECMAScript_module_and_cannot_be_imported_with_require_Consider_writing_a_dynamic_import_0_call_instead:E(1479,1,"The_current_file_is_a_CommonJS_module_whose_imports_will_produce_require_calls_however_the_reference_1479",`The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("{0}")' call instead.`),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module:E(1480,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_packag_1480",'To convert this file to an ECMAScript module, change its file extension to \'{0}\' or create a local package.json file with `{ "type": "module" }`.'),To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1:E(1481,3,"To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Co_1481",`To convert this file to an ECMAScript module, change its file extension to '{0}', or add the field \`"type": "module"\` to '{1}'.`),To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0:E(1482,3,"To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0_1482",'To convert this file to an ECMAScript module, add the field `"type": "module"` to \'{0}\'.'),To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module:E(1483,3,"To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module_1483",'To convert this file to an ECMAScript module, create a local package.json file with `{ "type": "module" }`.'),_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:E(1484,1,"_0_is_a_type_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled_1484","'{0}' is a type and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimModuleSyntax_is_enabled:E(1485,1,"_0_resolves_to_a_type_only_declaration_and_must_be_imported_using_a_type_only_import_when_verbatimMo_1485","'{0}' resolves to a type-only declaration and must be imported using a type-only import when 'verbatimModuleSyntax' is enabled."),Decorator_used_before_export_here:E(1486,1,"Decorator_used_before_export_here_1486","Decorator used before 'export' here."),Octal_escape_sequences_are_not_allowed_Use_the_syntax_0:E(1487,1,"Octal_escape_sequences_are_not_allowed_Use_the_syntax_0_1487","Octal escape sequences are not allowed. Use the syntax '{0}'."),Escape_sequence_0_is_not_allowed:E(1488,1,"Escape_sequence_0_is_not_allowed_1488","Escape sequence '{0}' is not allowed."),Decimals_with_leading_zeros_are_not_allowed:E(1489,1,"Decimals_with_leading_zeros_are_not_allowed_1489","Decimals with leading zeros are not allowed."),File_appears_to_be_binary:E(1490,1,"File_appears_to_be_binary_1490","File appears to be binary."),_0_modifier_cannot_appear_on_a_using_declaration:E(1491,1,"_0_modifier_cannot_appear_on_a_using_declaration_1491","'{0}' modifier cannot appear on a 'using' declaration."),_0_declarations_may_not_have_binding_patterns:E(1492,1,"_0_declarations_may_not_have_binding_patterns_1492","'{0}' declarations may not have binding patterns."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_using_declaration:E(1493,1,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_using_declaration_1493","The left-hand side of a 'for...in' statement cannot be a 'using' declaration."),The_left_hand_side_of_a_for_in_statement_cannot_be_an_await_using_declaration:E(1494,1,"The_left_hand_side_of_a_for_in_statement_cannot_be_an_await_using_declaration_1494","The left-hand side of a 'for...in' statement cannot be an 'await using' declaration."),_0_modifier_cannot_appear_on_an_await_using_declaration:E(1495,1,"_0_modifier_cannot_appear_on_an_await_using_declaration_1495","'{0}' modifier cannot appear on an 'await using' declaration."),Identifier_string_literal_or_number_literal_expected:E(1496,1,"Identifier_string_literal_or_number_literal_expected_1496","Identifier, string literal, or number literal expected."),Expression_must_be_enclosed_in_parentheses_to_be_used_as_a_decorator:E(1497,1,"Expression_must_be_enclosed_in_parentheses_to_be_used_as_a_decorator_1497","Expression must be enclosed in parentheses to be used as a decorator."),Invalid_syntax_in_decorator:E(1498,1,"Invalid_syntax_in_decorator_1498","Invalid syntax in decorator."),Unknown_regular_expression_flag:E(1499,1,"Unknown_regular_expression_flag_1499","Unknown regular expression flag."),Duplicate_regular_expression_flag:E(1500,1,"Duplicate_regular_expression_flag_1500","Duplicate regular expression flag."),This_regular_expression_flag_is_only_available_when_targeting_0_or_later:E(1501,1,"This_regular_expression_flag_is_only_available_when_targeting_0_or_later_1501","This regular expression flag is only available when targeting '{0}' or later."),The_Unicode_u_flag_and_the_Unicode_Sets_v_flag_cannot_be_set_simultaneously:E(1502,1,"The_Unicode_u_flag_and_the_Unicode_Sets_v_flag_cannot_be_set_simultaneously_1502","The Unicode (u) flag and the Unicode Sets (v) flag cannot be set simultaneously."),Named_capturing_groups_are_only_available_when_targeting_ES2018_or_later:E(1503,1,"Named_capturing_groups_are_only_available_when_targeting_ES2018_or_later_1503","Named capturing groups are only available when targeting 'ES2018' or later."),Subpattern_flags_must_be_present_when_there_is_a_minus_sign:E(1504,1,"Subpattern_flags_must_be_present_when_there_is_a_minus_sign_1504","Subpattern flags must be present when there is a minus sign."),Incomplete_quantifier_Digit_expected:E(1505,1,"Incomplete_quantifier_Digit_expected_1505","Incomplete quantifier. Digit expected."),Numbers_out_of_order_in_quantifier:E(1506,1,"Numbers_out_of_order_in_quantifier_1506","Numbers out of order in quantifier."),There_is_nothing_available_for_repetition:E(1507,1,"There_is_nothing_available_for_repetition_1507","There is nothing available for repetition."),Unexpected_0_Did_you_mean_to_escape_it_with_backslash:E(1508,1,"Unexpected_0_Did_you_mean_to_escape_it_with_backslash_1508","Unexpected '{0}'. Did you mean to escape it with backslash?"),This_regular_expression_flag_cannot_be_toggled_within_a_subpattern:E(1509,1,"This_regular_expression_flag_cannot_be_toggled_within_a_subpattern_1509","This regular expression flag cannot be toggled within a subpattern."),k_must_be_followed_by_a_capturing_group_name_enclosed_in_angle_brackets:E(1510,1,"k_must_be_followed_by_a_capturing_group_name_enclosed_in_angle_brackets_1510","'\\k' must be followed by a capturing group name enclosed in angle brackets."),q_is_only_available_inside_character_class:E(1511,1,"q_is_only_available_inside_character_class_1511","'\\q' is only available inside character class."),c_must_be_followed_by_an_ASCII_letter:E(1512,1,"c_must_be_followed_by_an_ASCII_letter_1512","'\\c' must be followed by an ASCII letter."),Undetermined_character_escape:E(1513,1,"Undetermined_character_escape_1513","Undetermined character escape."),Expected_a_capturing_group_name:E(1514,1,"Expected_a_capturing_group_name_1514","Expected a capturing group name."),Named_capturing_groups_with_the_same_name_must_be_mutually_exclusive_to_each_other:E(1515,1,"Named_capturing_groups_with_the_same_name_must_be_mutually_exclusive_to_each_other_1515","Named capturing groups with the same name must be mutually exclusive to each other."),A_character_class_range_must_not_be_bounded_by_another_character_class:E(1516,1,"A_character_class_range_must_not_be_bounded_by_another_character_class_1516","A character class range must not be bounded by another character class."),Range_out_of_order_in_character_class:E(1517,1,"Range_out_of_order_in_character_class_1517","Range out of order in character class."),Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_character_class:E(1518,1,"Anything_that_would_possibly_match_more_than_a_single_character_is_invalid_inside_a_negated_characte_1518","Anything that would possibly match more than a single character is invalid inside a negated character class."),Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead:E(1519,1,"Operators_must_not_be_mixed_within_a_character_class_Wrap_it_in_a_nested_class_instead_1519","Operators must not be mixed within a character class. Wrap it in a nested class instead."),Expected_a_class_set_operand:E(1520,1,"Expected_a_class_set_operand_1520","Expected a class set operand."),q_must_be_followed_by_string_alternatives_enclosed_in_braces:E(1521,1,"q_must_be_followed_by_string_alternatives_enclosed_in_braces_1521","'\\q' must be followed by string alternatives enclosed in braces."),A_character_class_must_not_contain_a_reserved_double_punctuator_Did_you_mean_to_escape_it_with_backslash:E(1522,1,"A_character_class_must_not_contain_a_reserved_double_punctuator_Did_you_mean_to_escape_it_with_backs_1522","A character class must not contain a reserved double punctuator. Did you mean to escape it with backslash?"),Expected_a_Unicode_property_name:E(1523,1,"Expected_a_Unicode_property_name_1523","Expected a Unicode property name."),Unknown_Unicode_property_name:E(1524,1,"Unknown_Unicode_property_name_1524","Unknown Unicode property name."),Expected_a_Unicode_property_value:E(1525,1,"Expected_a_Unicode_property_value_1525","Expected a Unicode property value."),Unknown_Unicode_property_value:E(1526,1,"Unknown_Unicode_property_value_1526","Unknown Unicode property value."),Expected_a_Unicode_property_name_or_value:E(1527,1,"Expected_a_Unicode_property_name_or_value_1527","Expected a Unicode property name or value."),Any_Unicode_property_that_would_possibly_match_more_than_a_single_character_is_only_available_when_the_Unicode_Sets_v_flag_is_set:E(1528,1,"Any_Unicode_property_that_would_possibly_match_more_than_a_single_character_is_only_available_when_t_1528","Any Unicode property that would possibly match more than a single character is only available when the Unicode Sets (v) flag is set."),Unknown_Unicode_property_name_or_value:E(1529,1,"Unknown_Unicode_property_name_or_value_1529","Unknown Unicode property name or value."),Unicode_property_value_expressions_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_set:E(1530,1,"Unicode_property_value_expressions_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v__1530","Unicode property value expressions are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set."),_0_must_be_followed_by_a_Unicode_property_value_expression_enclosed_in_braces:E(1531,1,"_0_must_be_followed_by_a_Unicode_property_value_expression_enclosed_in_braces_1531","'\\{0}' must be followed by a Unicode property value expression enclosed in braces."),There_is_no_capturing_group_named_0_in_this_regular_expression:E(1532,1,"There_is_no_capturing_group_named_0_in_this_regular_expression_1532","There is no capturing group named '{0}' in this regular expression."),This_backreference_refers_to_a_group_that_does_not_exist_There_are_only_0_capturing_groups_in_this_regular_expression:E(1533,1,"This_backreference_refers_to_a_group_that_does_not_exist_There_are_only_0_capturing_groups_in_this_r_1533","This backreference refers to a group that does not exist. There are only {0} capturing groups in this regular expression."),This_backreference_refers_to_a_group_that_does_not_exist_There_are_no_capturing_groups_in_this_regular_expression:E(1534,1,"This_backreference_refers_to_a_group_that_does_not_exist_There_are_no_capturing_groups_in_this_regul_1534","This backreference refers to a group that does not exist. There are no capturing groups in this regular expression."),This_character_cannot_be_escaped_in_a_regular_expression:E(1535,1,"This_character_cannot_be_escaped_in_a_regular_expression_1535","This character cannot be escaped in a regular expression."),Octal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class_If_this_was_intended_as_an_escape_sequence_use_the_syntax_0_instead:E(1536,1,"Octal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class_If_this_was_intended__1536","Octal escape sequences and backreferences are not allowed in a character class. If this was intended as an escape sequence, use the syntax '{0}' instead."),Decimal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class:E(1537,1,"Decimal_escape_sequences_and_backreferences_are_not_allowed_in_a_character_class_1537","Decimal escape sequences and backreferences are not allowed in a character class."),Unicode_escape_sequences_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_set:E(1538,1,"Unicode_escape_sequences_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_se_1538","Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set."),A_bigint_literal_cannot_be_used_as_a_property_name:E(1539,1,"A_bigint_literal_cannot_be_used_as_a_property_name_1539","A 'bigint' literal cannot be used as a property name."),A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_keyword_instead:E(1540,2,"A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_key_1540","A 'namespace' declaration should not be declared using the 'module' keyword. Please use the 'namespace' keyword instead.",void 0,void 0,!0),Type_only_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute:E(1541,1,"Type_only_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribut_1541","Type-only import of an ECMAScript module from a CommonJS module must have a 'resolution-mode' attribute."),Type_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute:E(1542,1,"Type_import_of_an_ECMAScript_module_from_a_CommonJS_module_must_have_a_resolution_mode_attribute_1542","Type import of an ECMAScript module from a CommonJS module must have a 'resolution-mode' attribute."),Importing_a_JSON_file_into_an_ECMAScript_module_requires_a_type_Colon_json_import_attribute_when_module_is_set_to_0:E(1543,1,"Importing_a_JSON_file_into_an_ECMAScript_module_requires_a_type_Colon_json_import_attribute_when_mod_1543",`Importing a JSON file into an ECMAScript module requires a 'type: "json"' import attribute when 'module' is set to '{0}'.`),Named_imports_from_a_JSON_file_into_an_ECMAScript_module_are_not_allowed_when_module_is_set_to_0:E(1544,1,"Named_imports_from_a_JSON_file_into_an_ECMAScript_module_are_not_allowed_when_module_is_set_to_0_1544","Named imports from a JSON file into an ECMAScript module are not allowed when 'module' is set to '{0}'."),The_types_of_0_are_incompatible_between_these_types:E(2200,1,"The_types_of_0_are_incompatible_between_these_types_2200","The types of '{0}' are incompatible between these types."),The_types_returned_by_0_are_incompatible_between_these_types:E(2201,1,"The_types_returned_by_0_are_incompatible_between_these_types_2201","The types returned by '{0}' are incompatible between these types."),Call_signature_return_types_0_and_1_are_incompatible:E(2202,1,"Call_signature_return_types_0_and_1_are_incompatible_2202","Call signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Construct_signature_return_types_0_and_1_are_incompatible:E(2203,1,"Construct_signature_return_types_0_and_1_are_incompatible_2203","Construct signature return types '{0}' and '{1}' are incompatible.",void 0,!0),Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:E(2204,1,"Call_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2204","Call signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1:E(2205,1,"Construct_signatures_with_no_arguments_have_incompatible_return_types_0_and_1_2205","Construct signatures with no arguments have incompatible return types '{0}' and '{1}'.",void 0,!0),The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement:E(2206,1,"The_type_modifier_cannot_be_used_on_a_named_import_when_import_type_is_used_on_its_import_statement_2206","The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement."),The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement:E(2207,1,"The_type_modifier_cannot_be_used_on_a_named_export_when_export_type_is_used_on_its_export_statement_2207","The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement."),This_type_parameter_might_need_an_extends_0_constraint:E(2208,1,"This_type_parameter_might_need_an_extends_0_constraint_2208","This type parameter might need an `extends {0}` constraint."),The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:E(2209,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_export_map_entry_0_in_file_1_Supply_the_roo_2209","The project root is ambiguous, but is required to resolve export map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_rootDir_compiler_option_to_disambiguate:E(2210,1,"The_project_root_is_ambiguous_but_is_required_to_resolve_import_map_entry_0_in_file_1_Supply_the_roo_2210","The project root is ambiguous, but is required to resolve import map entry '{0}' in file '{1}'. Supply the `rootDir` compiler option to disambiguate."),Add_extends_constraint:E(2211,3,"Add_extends_constraint_2211","Add `extends` constraint."),Add_extends_constraint_to_all_type_parameters:E(2212,3,"Add_extends_constraint_to_all_type_parameters_2212","Add `extends` constraint to all type parameters"),Duplicate_identifier_0:E(2300,1,"Duplicate_identifier_0_2300","Duplicate identifier '{0}'."),Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:E(2301,1,"Initializer_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2301","Initializer of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),Static_members_cannot_reference_class_type_parameters:E(2302,1,"Static_members_cannot_reference_class_type_parameters_2302","Static members cannot reference class type parameters."),Circular_definition_of_import_alias_0:E(2303,1,"Circular_definition_of_import_alias_0_2303","Circular definition of import alias '{0}'."),Cannot_find_name_0:E(2304,1,"Cannot_find_name_0_2304","Cannot find name '{0}'."),Module_0_has_no_exported_member_1:E(2305,1,"Module_0_has_no_exported_member_1_2305","Module '{0}' has no exported member '{1}'."),File_0_is_not_a_module:E(2306,1,"File_0_is_not_a_module_2306","File '{0}' is not a module."),Cannot_find_module_0_or_its_corresponding_type_declarations:E(2307,1,"Cannot_find_module_0_or_its_corresponding_type_declarations_2307","Cannot find module '{0}' or its corresponding type declarations."),Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambiguity:E(2308,1,"Module_0_has_already_exported_a_member_named_1_Consider_explicitly_re_exporting_to_resolve_the_ambig_2308","Module {0} has already exported a member named '{1}'. Consider explicitly re-exporting to resolve the ambiguity."),An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements:E(2309,1,"An_export_assignment_cannot_be_used_in_a_module_with_other_exported_elements_2309","An export assignment cannot be used in a module with other exported elements."),Type_0_recursively_references_itself_as_a_base_type:E(2310,1,"Type_0_recursively_references_itself_as_a_base_type_2310","Type '{0}' recursively references itself as a base type."),Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function:E(2311,1,"Cannot_find_name_0_Did_you_mean_to_write_this_in_an_async_function_2311","Cannot find name '{0}'. Did you mean to write this in an async function?"),An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_members:E(2312,1,"An_interface_can_only_extend_an_object_type_or_intersection_of_object_types_with_statically_known_me_2312","An interface can only extend an object type or intersection of object types with statically known members."),Type_parameter_0_has_a_circular_constraint:E(2313,1,"Type_parameter_0_has_a_circular_constraint_2313","Type parameter '{0}' has a circular constraint."),Generic_type_0_requires_1_type_argument_s:E(2314,1,"Generic_type_0_requires_1_type_argument_s_2314","Generic type '{0}' requires {1} type argument(s)."),Type_0_is_not_generic:E(2315,1,"Type_0_is_not_generic_2315","Type '{0}' is not generic."),Global_type_0_must_be_a_class_or_interface_type:E(2316,1,"Global_type_0_must_be_a_class_or_interface_type_2316","Global type '{0}' must be a class or interface type."),Global_type_0_must_have_1_type_parameter_s:E(2317,1,"Global_type_0_must_have_1_type_parameter_s_2317","Global type '{0}' must have {1} type parameter(s)."),Cannot_find_global_type_0:E(2318,1,"Cannot_find_global_type_0_2318","Cannot find global type '{0}'."),Named_property_0_of_types_1_and_2_are_not_identical:E(2319,1,"Named_property_0_of_types_1_and_2_are_not_identical_2319","Named property '{0}' of types '{1}' and '{2}' are not identical."),Interface_0_cannot_simultaneously_extend_types_1_and_2:E(2320,1,"Interface_0_cannot_simultaneously_extend_types_1_and_2_2320","Interface '{0}' cannot simultaneously extend types '{1}' and '{2}'."),Excessive_stack_depth_comparing_types_0_and_1:E(2321,1,"Excessive_stack_depth_comparing_types_0_and_1_2321","Excessive stack depth comparing types '{0}' and '{1}'."),Type_0_is_not_assignable_to_type_1:E(2322,1,"Type_0_is_not_assignable_to_type_1_2322","Type '{0}' is not assignable to type '{1}'."),Cannot_redeclare_exported_variable_0:E(2323,1,"Cannot_redeclare_exported_variable_0_2323","Cannot redeclare exported variable '{0}'."),Property_0_is_missing_in_type_1:E(2324,1,"Property_0_is_missing_in_type_1_2324","Property '{0}' is missing in type '{1}'."),Property_0_is_private_in_type_1_but_not_in_type_2:E(2325,1,"Property_0_is_private_in_type_1_but_not_in_type_2_2325","Property '{0}' is private in type '{1}' but not in type '{2}'."),Types_of_property_0_are_incompatible:E(2326,1,"Types_of_property_0_are_incompatible_2326","Types of property '{0}' are incompatible."),Property_0_is_optional_in_type_1_but_required_in_type_2:E(2327,1,"Property_0_is_optional_in_type_1_but_required_in_type_2_2327","Property '{0}' is optional in type '{1}' but required in type '{2}'."),Types_of_parameters_0_and_1_are_incompatible:E(2328,1,"Types_of_parameters_0_and_1_are_incompatible_2328","Types of parameters '{0}' and '{1}' are incompatible."),Index_signature_for_type_0_is_missing_in_type_1:E(2329,1,"Index_signature_for_type_0_is_missing_in_type_1_2329","Index signature for type '{0}' is missing in type '{1}'."),_0_and_1_index_signatures_are_incompatible:E(2330,1,"_0_and_1_index_signatures_are_incompatible_2330","'{0}' and '{1}' index signatures are incompatible."),this_cannot_be_referenced_in_a_module_or_namespace_body:E(2331,1,"this_cannot_be_referenced_in_a_module_or_namespace_body_2331","'this' cannot be referenced in a module or namespace body."),this_cannot_be_referenced_in_current_location:E(2332,1,"this_cannot_be_referenced_in_current_location_2332","'this' cannot be referenced in current location."),this_cannot_be_referenced_in_a_static_property_initializer:E(2334,1,"this_cannot_be_referenced_in_a_static_property_initializer_2334","'this' cannot be referenced in a static property initializer."),super_can_only_be_referenced_in_a_derived_class:E(2335,1,"super_can_only_be_referenced_in_a_derived_class_2335","'super' can only be referenced in a derived class."),super_cannot_be_referenced_in_constructor_arguments:E(2336,1,"super_cannot_be_referenced_in_constructor_arguments_2336","'super' cannot be referenced in constructor arguments."),Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors:E(2337,1,"Super_calls_are_not_permitted_outside_constructors_or_in_nested_functions_inside_constructors_2337","Super calls are not permitted outside constructors or in nested functions inside constructors."),super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_derived_class:E(2338,1,"super_property_access_is_permitted_only_in_a_constructor_member_function_or_member_accessor_of_a_der_2338","'super' property access is permitted only in a constructor, member function, or member accessor of a derived class."),Property_0_does_not_exist_on_type_1:E(2339,1,"Property_0_does_not_exist_on_type_1_2339","Property '{0}' does not exist on type '{1}'."),Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword:E(2340,1,"Only_public_and_protected_methods_of_the_base_class_are_accessible_via_the_super_keyword_2340","Only public and protected methods of the base class are accessible via the 'super' keyword."),Property_0_is_private_and_only_accessible_within_class_1:E(2341,1,"Property_0_is_private_and_only_accessible_within_class_1_2341","Property '{0}' is private and only accessible within class '{1}'."),This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_version_of_0:E(2343,1,"This_syntax_requires_an_imported_helper_named_1_which_does_not_exist_in_0_Consider_upgrading_your_ve_2343","This syntax requires an imported helper named '{1}' which does not exist in '{0}'. Consider upgrading your version of '{0}'."),Type_0_does_not_satisfy_the_constraint_1:E(2344,1,"Type_0_does_not_satisfy_the_constraint_1_2344","Type '{0}' does not satisfy the constraint '{1}'."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1:E(2345,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_2345","Argument of type '{0}' is not assignable to parameter of type '{1}'."),Untyped_function_calls_may_not_accept_type_arguments:E(2347,1,"Untyped_function_calls_may_not_accept_type_arguments_2347","Untyped function calls may not accept type arguments."),Value_of_type_0_is_not_callable_Did_you_mean_to_include_new:E(2348,1,"Value_of_type_0_is_not_callable_Did_you_mean_to_include_new_2348","Value of type '{0}' is not callable. Did you mean to include 'new'?"),This_expression_is_not_callable:E(2349,1,"This_expression_is_not_callable_2349","This expression is not callable."),Only_a_void_function_can_be_called_with_the_new_keyword:E(2350,1,"Only_a_void_function_can_be_called_with_the_new_keyword_2350","Only a void function can be called with the 'new' keyword."),This_expression_is_not_constructable:E(2351,1,"This_expression_is_not_constructable_2351","This expression is not constructable."),Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the_other_If_this_was_intentional_convert_the_expression_to_unknown_first:E(2352,1,"Conversion_of_type_0_to_type_1_may_be_a_mistake_because_neither_type_sufficiently_overlaps_with_the__2352","Conversion of type '{0}' to type '{1}' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first."),Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1:E(2353,1,"Object_literal_may_only_specify_known_properties_and_0_does_not_exist_in_type_1_2353","Object literal may only specify known properties, and '{0}' does not exist in type '{1}'."),This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found:E(2354,1,"This_syntax_requires_an_imported_helper_but_module_0_cannot_be_found_2354","This syntax requires an imported helper but module '{0}' cannot be found."),A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value:E(2355,1,"A_function_whose_declared_type_is_neither_undefined_void_nor_any_must_return_a_value_2355","A function whose declared type is neither 'undefined', 'void', nor 'any' must return a value."),An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type:E(2356,1,"An_arithmetic_operand_must_be_of_type_any_number_bigint_or_an_enum_type_2356","An arithmetic operand must be of type 'any', 'number', 'bigint' or an enum type."),The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access:E(2357,1,"The_operand_of_an_increment_or_decrement_operator_must_be_a_variable_or_a_property_access_2357","The operand of an increment or decrement operator must be a variable or a property access."),The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_parameter:E(2358,1,"The_left_hand_side_of_an_instanceof_expression_must_be_of_type_any_an_object_type_or_a_type_paramete_2358","The left-hand side of an 'instanceof' expression must be of type 'any', an object type or a type parameter."),The_right_hand_side_of_an_instanceof_expression_must_be_either_of_type_any_a_class_function_or_other_type_assignable_to_the_Function_interface_type_or_an_object_type_with_a_Symbol_hasInstance_method:E(2359,1,"The_right_hand_side_of_an_instanceof_expression_must_be_either_of_type_any_a_class_function_or_other_2359","The right-hand side of an 'instanceof' expression must be either of type 'any', a class, function, or other type assignable to the 'Function' interface type, or an object type with a 'Symbol.hasInstance' method."),The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:E(2362,1,"The_left_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2362","The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type:E(2363,1,"The_right_hand_side_of_an_arithmetic_operation_must_be_of_type_any_number_bigint_or_an_enum_type_2363","The right-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type."),The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access:E(2364,1,"The_left_hand_side_of_an_assignment_expression_must_be_a_variable_or_a_property_access_2364","The left-hand side of an assignment expression must be a variable or a property access."),Operator_0_cannot_be_applied_to_types_1_and_2:E(2365,1,"Operator_0_cannot_be_applied_to_types_1_and_2_2365","Operator '{0}' cannot be applied to types '{1}' and '{2}'."),Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined:E(2366,1,"Function_lacks_ending_return_statement_and_return_type_does_not_include_undefined_2366","Function lacks ending return statement and return type does not include 'undefined'."),This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap:E(2367,1,"This_comparison_appears_to_be_unintentional_because_the_types_0_and_1_have_no_overlap_2367","This comparison appears to be unintentional because the types '{0}' and '{1}' have no overlap."),Type_parameter_name_cannot_be_0:E(2368,1,"Type_parameter_name_cannot_be_0_2368","Type parameter name cannot be '{0}'."),A_parameter_property_is_only_allowed_in_a_constructor_implementation:E(2369,1,"A_parameter_property_is_only_allowed_in_a_constructor_implementation_2369","A parameter property is only allowed in a constructor implementation."),A_rest_parameter_must_be_of_an_array_type:E(2370,1,"A_rest_parameter_must_be_of_an_array_type_2370","A rest parameter must be of an array type."),A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation:E(2371,1,"A_parameter_initializer_is_only_allowed_in_a_function_or_constructor_implementation_2371","A parameter initializer is only allowed in a function or constructor implementation."),Parameter_0_cannot_reference_itself:E(2372,1,"Parameter_0_cannot_reference_itself_2372","Parameter '{0}' cannot reference itself."),Parameter_0_cannot_reference_identifier_1_declared_after_it:E(2373,1,"Parameter_0_cannot_reference_identifier_1_declared_after_it_2373","Parameter '{0}' cannot reference identifier '{1}' declared after it."),Duplicate_index_signature_for_type_0:E(2374,1,"Duplicate_index_signature_for_type_0_2374","Duplicate index signature for type '{0}'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:E(2375,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2375","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_class_contains_initialized_properties_parameter_properties_or_private_identifiers:E(2376,1,"A_super_call_must_be_the_first_statement_in_the_constructor_to_refer_to_super_or_this_when_a_derived_2376","A 'super' call must be the first statement in the constructor to refer to 'super' or 'this' when a derived class contains initialized properties, parameter properties, or private identifiers."),Constructors_for_derived_classes_must_contain_a_super_call:E(2377,1,"Constructors_for_derived_classes_must_contain_a_super_call_2377","Constructors for derived classes must contain a 'super' call."),A_get_accessor_must_return_a_value:E(2378,1,"A_get_accessor_must_return_a_value_2378","A 'get' accessor must return a value."),Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_types_of_the_target_s_properties:E(2379,1,"Argument_of_type_0_is_not_assignable_to_parameter_of_type_1_with_exactOptionalPropertyTypes_Colon_tr_2379","Argument of type '{0}' is not assignable to parameter of type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the types of the target's properties."),Overload_signatures_must_all_be_exported_or_non_exported:E(2383,1,"Overload_signatures_must_all_be_exported_or_non_exported_2383","Overload signatures must all be exported or non-exported."),Overload_signatures_must_all_be_ambient_or_non_ambient:E(2384,1,"Overload_signatures_must_all_be_ambient_or_non_ambient_2384","Overload signatures must all be ambient or non-ambient."),Overload_signatures_must_all_be_public_private_or_protected:E(2385,1,"Overload_signatures_must_all_be_public_private_or_protected_2385","Overload signatures must all be public, private or protected."),Overload_signatures_must_all_be_optional_or_required:E(2386,1,"Overload_signatures_must_all_be_optional_or_required_2386","Overload signatures must all be optional or required."),Function_overload_must_be_static:E(2387,1,"Function_overload_must_be_static_2387","Function overload must be static."),Function_overload_must_not_be_static:E(2388,1,"Function_overload_must_not_be_static_2388","Function overload must not be static."),Function_implementation_name_must_be_0:E(2389,1,"Function_implementation_name_must_be_0_2389","Function implementation name must be '{0}'."),Constructor_implementation_is_missing:E(2390,1,"Constructor_implementation_is_missing_2390","Constructor implementation is missing."),Function_implementation_is_missing_or_not_immediately_following_the_declaration:E(2391,1,"Function_implementation_is_missing_or_not_immediately_following_the_declaration_2391","Function implementation is missing or not immediately following the declaration."),Multiple_constructor_implementations_are_not_allowed:E(2392,1,"Multiple_constructor_implementations_are_not_allowed_2392","Multiple constructor implementations are not allowed."),Duplicate_function_implementation:E(2393,1,"Duplicate_function_implementation_2393","Duplicate function implementation."),This_overload_signature_is_not_compatible_with_its_implementation_signature:E(2394,1,"This_overload_signature_is_not_compatible_with_its_implementation_signature_2394","This overload signature is not compatible with its implementation signature."),Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local:E(2395,1,"Individual_declarations_in_merged_declaration_0_must_be_all_exported_or_all_local_2395","Individual declarations in merged declaration '{0}' must be all exported or all local."),Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters:E(2396,1,"Duplicate_identifier_arguments_Compiler_uses_arguments_to_initialize_rest_parameters_2396","Duplicate identifier 'arguments'. Compiler uses 'arguments' to initialize rest parameters."),Declaration_name_conflicts_with_built_in_global_identifier_0:E(2397,1,"Declaration_name_conflicts_with_built_in_global_identifier_0_2397","Declaration name conflicts with built-in global identifier '{0}'."),constructor_cannot_be_used_as_a_parameter_property_name:E(2398,1,"constructor_cannot_be_used_as_a_parameter_property_name_2398","'constructor' cannot be used as a parameter property name."),Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference:E(2399,1,"Duplicate_identifier_this_Compiler_uses_variable_declaration_this_to_capture_this_reference_2399","Duplicate identifier '_this'. Compiler uses variable declaration '_this' to capture 'this' reference."),Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference:E(2400,1,"Expression_resolves_to_variable_declaration_this_that_compiler_uses_to_capture_this_reference_2400","Expression resolves to variable declaration '_this' that compiler uses to capture 'this' reference."),A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_initialized_properties_parameter_properties_or_private_identifiers:E(2401,1,"A_super_call_must_be_a_root_level_statement_within_a_constructor_of_a_derived_class_that_contains_in_2401","A 'super' call must be a root-level statement within a constructor of a derived class that contains initialized properties, parameter properties, or private identifiers."),Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference:E(2402,1,"Expression_resolves_to_super_that_compiler_uses_to_capture_base_class_reference_2402","Expression resolves to '_super' that compiler uses to capture base class reference."),Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_type_2:E(2403,1,"Subsequent_variable_declarations_must_have_the_same_type_Variable_0_must_be_of_type_1_but_here_has_t_2403","Subsequent variable declarations must have the same type. Variable '{0}' must be of type '{1}', but here has type '{2}'."),The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation:E(2404,1,"The_left_hand_side_of_a_for_in_statement_cannot_use_a_type_annotation_2404","The left-hand side of a 'for...in' statement cannot use a type annotation."),The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any:E(2405,1,"The_left_hand_side_of_a_for_in_statement_must_be_of_type_string_or_any_2405","The left-hand side of a 'for...in' statement must be of type 'string' or 'any'."),The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access:E(2406,1,"The_left_hand_side_of_a_for_in_statement_must_be_a_variable_or_a_property_access_2406","The left-hand side of a 'for...in' statement must be a variable or a property access."),The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_here_has_type_0:E(2407,1,"The_right_hand_side_of_a_for_in_statement_must_be_of_type_any_an_object_type_or_a_type_parameter_but_2407","The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type '{0}'."),Setters_cannot_return_a_value:E(2408,1,"Setters_cannot_return_a_value_2408","Setters cannot return a value."),Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class:E(2409,1,"Return_type_of_constructor_signature_must_be_assignable_to_the_instance_type_of_the_class_2409","Return type of constructor signature must be assignable to the instance type of the class."),The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any:E(2410,1,"The_with_statement_is_not_supported_All_symbols_in_a_with_block_will_have_type_any_2410","The 'with' statement is not supported. All symbols in a 'with' block will have type 'any'."),Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefined_to_the_type_of_the_target:E(2412,1,"Type_0_is_not_assignable_to_type_1_with_exactOptionalPropertyTypes_Colon_true_Consider_adding_undefi_2412","Type '{0}' is not assignable to type '{1}' with 'exactOptionalPropertyTypes: true'. Consider adding 'undefined' to the type of the target."),Property_0_of_type_1_is_not_assignable_to_2_index_type_3:E(2411,1,"Property_0_of_type_1_is_not_assignable_to_2_index_type_3_2411","Property '{0}' of type '{1}' is not assignable to '{2}' index type '{3}'."),_0_index_type_1_is_not_assignable_to_2_index_type_3:E(2413,1,"_0_index_type_1_is_not_assignable_to_2_index_type_3_2413","'{0}' index type '{1}' is not assignable to '{2}' index type '{3}'."),Class_name_cannot_be_0:E(2414,1,"Class_name_cannot_be_0_2414","Class name cannot be '{0}'."),Class_0_incorrectly_extends_base_class_1:E(2415,1,"Class_0_incorrectly_extends_base_class_1_2415","Class '{0}' incorrectly extends base class '{1}'."),Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2:E(2416,1,"Property_0_in_type_1_is_not_assignable_to_the_same_property_in_base_type_2_2416","Property '{0}' in type '{1}' is not assignable to the same property in base type '{2}'."),Class_static_side_0_incorrectly_extends_base_class_static_side_1:E(2417,1,"Class_static_side_0_incorrectly_extends_base_class_static_side_1_2417","Class static side '{0}' incorrectly extends base class static side '{1}'."),Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1:E(2418,1,"Type_of_computed_property_s_value_is_0_which_is_not_assignable_to_type_1_2418","Type of computed property's value is '{0}', which is not assignable to type '{1}'."),Types_of_construct_signatures_are_incompatible:E(2419,1,"Types_of_construct_signatures_are_incompatible_2419","Types of construct signatures are incompatible."),Class_0_incorrectly_implements_interface_1:E(2420,1,"Class_0_incorrectly_implements_interface_1_2420","Class '{0}' incorrectly implements interface '{1}'."),A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_members:E(2422,1,"A_class_can_only_implement_an_object_type_or_intersection_of_object_types_with_statically_known_memb_2422","A class can only implement an object type or intersection of object types with statically known members."),Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_accessor:E(2423,1,"Class_0_defines_instance_member_function_1_but_extended_class_2_defines_it_as_instance_member_access_2423","Class '{0}' defines instance member function '{1}', but extended class '{2}' defines it as instance member accessor."),Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_function:E(2425,1,"Class_0_defines_instance_member_property_1_but_extended_class_2_defines_it_as_instance_member_functi_2425","Class '{0}' defines instance member property '{1}', but extended class '{2}' defines it as instance member function."),Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_function:E(2426,1,"Class_0_defines_instance_member_accessor_1_but_extended_class_2_defines_it_as_instance_member_functi_2426","Class '{0}' defines instance member accessor '{1}', but extended class '{2}' defines it as instance member function."),Interface_name_cannot_be_0:E(2427,1,"Interface_name_cannot_be_0_2427","Interface name cannot be '{0}'."),All_declarations_of_0_must_have_identical_type_parameters:E(2428,1,"All_declarations_of_0_must_have_identical_type_parameters_2428","All declarations of '{0}' must have identical type parameters."),Interface_0_incorrectly_extends_interface_1:E(2430,1,"Interface_0_incorrectly_extends_interface_1_2430","Interface '{0}' incorrectly extends interface '{1}'."),Enum_name_cannot_be_0:E(2431,1,"Enum_name_cannot_be_0_2431","Enum name cannot be '{0}'."),In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enum_element:E(2432,1,"In_an_enum_with_multiple_declarations_only_one_declaration_can_omit_an_initializer_for_its_first_enu_2432","In an enum with multiple declarations, only one declaration can omit an initializer for its first enum element."),A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merged:E(2433,1,"A_namespace_declaration_cannot_be_in_a_different_file_from_a_class_or_function_with_which_it_is_merg_2433","A namespace declaration cannot be in a different file from a class or function with which it is merged."),A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged:E(2434,1,"A_namespace_declaration_cannot_be_located_prior_to_a_class_or_function_with_which_it_is_merged_2434","A namespace declaration cannot be located prior to a class or function with which it is merged."),Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces:E(2435,1,"Ambient_modules_cannot_be_nested_in_other_modules_or_namespaces_2435","Ambient modules cannot be nested in other modules or namespaces."),Ambient_module_declaration_cannot_specify_relative_module_name:E(2436,1,"Ambient_module_declaration_cannot_specify_relative_module_name_2436","Ambient module declaration cannot specify relative module name."),Module_0_is_hidden_by_a_local_declaration_with_the_same_name:E(2437,1,"Module_0_is_hidden_by_a_local_declaration_with_the_same_name_2437","Module '{0}' is hidden by a local declaration with the same name."),Import_name_cannot_be_0:E(2438,1,"Import_name_cannot_be_0_2438","Import name cannot be '{0}'."),Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relative_module_name:E(2439,1,"Import_or_export_declaration_in_an_ambient_module_declaration_cannot_reference_module_through_relati_2439","Import or export declaration in an ambient module declaration cannot reference module through relative module name."),Import_declaration_conflicts_with_local_declaration_of_0:E(2440,1,"Import_declaration_conflicts_with_local_declaration_of_0_2440","Import declaration conflicts with local declaration of '{0}'."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module:E(2441,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_2441","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module."),Types_have_separate_declarations_of_a_private_property_0:E(2442,1,"Types_have_separate_declarations_of_a_private_property_0_2442","Types have separate declarations of a private property '{0}'."),Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2:E(2443,1,"Property_0_is_protected_but_type_1_is_not_a_class_derived_from_2_2443","Property '{0}' is protected but type '{1}' is not a class derived from '{2}'."),Property_0_is_protected_in_type_1_but_public_in_type_2:E(2444,1,"Property_0_is_protected_in_type_1_but_public_in_type_2_2444","Property '{0}' is protected in type '{1}' but public in type '{2}'."),Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses:E(2445,1,"Property_0_is_protected_and_only_accessible_within_class_1_and_its_subclasses_2445","Property '{0}' is protected and only accessible within class '{1}' and its subclasses."),Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_class_2:E(2446,1,"Property_0_is_protected_and_only_accessible_through_an_instance_of_class_1_This_is_an_instance_of_cl_2446","Property '{0}' is protected and only accessible through an instance of class '{1}'. This is an instance of class '{2}'."),The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead:E(2447,1,"The_0_operator_is_not_allowed_for_boolean_types_Consider_using_1_instead_2447","The '{0}' operator is not allowed for boolean types. Consider using '{1}' instead."),Block_scoped_variable_0_used_before_its_declaration:E(2448,1,"Block_scoped_variable_0_used_before_its_declaration_2448","Block-scoped variable '{0}' used before its declaration."),Class_0_used_before_its_declaration:E(2449,1,"Class_0_used_before_its_declaration_2449","Class '{0}' used before its declaration."),Enum_0_used_before_its_declaration:E(2450,1,"Enum_0_used_before_its_declaration_2450","Enum '{0}' used before its declaration."),Cannot_redeclare_block_scoped_variable_0:E(2451,1,"Cannot_redeclare_block_scoped_variable_0_2451","Cannot redeclare block-scoped variable '{0}'."),An_enum_member_cannot_have_a_numeric_name:E(2452,1,"An_enum_member_cannot_have_a_numeric_name_2452","An enum member cannot have a numeric name."),Variable_0_is_used_before_being_assigned:E(2454,1,"Variable_0_is_used_before_being_assigned_2454","Variable '{0}' is used before being assigned."),Type_alias_0_circularly_references_itself:E(2456,1,"Type_alias_0_circularly_references_itself_2456","Type alias '{0}' circularly references itself."),Type_alias_name_cannot_be_0:E(2457,1,"Type_alias_name_cannot_be_0_2457","Type alias name cannot be '{0}'."),An_AMD_module_cannot_have_multiple_name_assignments:E(2458,1,"An_AMD_module_cannot_have_multiple_name_assignments_2458","An AMD module cannot have multiple name assignments."),Module_0_declares_1_locally_but_it_is_not_exported:E(2459,1,"Module_0_declares_1_locally_but_it_is_not_exported_2459","Module '{0}' declares '{1}' locally, but it is not exported."),Module_0_declares_1_locally_but_it_is_exported_as_2:E(2460,1,"Module_0_declares_1_locally_but_it_is_exported_as_2_2460","Module '{0}' declares '{1}' locally, but it is exported as '{2}'."),Type_0_is_not_an_array_type:E(2461,1,"Type_0_is_not_an_array_type_2461","Type '{0}' is not an array type."),A_rest_element_must_be_last_in_a_destructuring_pattern:E(2462,1,"A_rest_element_must_be_last_in_a_destructuring_pattern_2462","A rest element must be last in a destructuring pattern."),A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature:E(2463,1,"A_binding_pattern_parameter_cannot_be_optional_in_an_implementation_signature_2463","A binding pattern parameter cannot be optional in an implementation signature."),A_computed_property_name_must_be_of_type_string_number_symbol_or_any:E(2464,1,"A_computed_property_name_must_be_of_type_string_number_symbol_or_any_2464","A computed property name must be of type 'string', 'number', 'symbol', or 'any'."),this_cannot_be_referenced_in_a_computed_property_name:E(2465,1,"this_cannot_be_referenced_in_a_computed_property_name_2465","'this' cannot be referenced in a computed property name."),super_cannot_be_referenced_in_a_computed_property_name:E(2466,1,"super_cannot_be_referenced_in_a_computed_property_name_2466","'super' cannot be referenced in a computed property name."),A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type:E(2467,1,"A_computed_property_name_cannot_reference_a_type_parameter_from_its_containing_type_2467","A computed property name cannot reference a type parameter from its containing type."),Cannot_find_global_value_0:E(2468,1,"Cannot_find_global_value_0_2468","Cannot find global value '{0}'."),The_0_operator_cannot_be_applied_to_type_symbol:E(2469,1,"The_0_operator_cannot_be_applied_to_type_symbol_2469","The '{0}' operator cannot be applied to type 'symbol'."),Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher:E(2472,1,"Spread_operator_in_new_expressions_is_only_available_when_targeting_ECMAScript_5_and_higher_2472","Spread operator in 'new' expressions is only available when targeting ECMAScript 5 and higher."),Enum_declarations_must_all_be_const_or_non_const:E(2473,1,"Enum_declarations_must_all_be_const_or_non_const_2473","Enum declarations must all be const or non-const."),const_enum_member_initializers_must_be_constant_expressions:E(2474,1,"const_enum_member_initializers_must_be_constant_expressions_2474","const enum member initializers must be constant expressions."),const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query:E(2475,1,"const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_im_2475","'const' enums can only be used in property or index access expressions or the right hand side of an import declaration or export assignment or type query."),A_const_enum_member_can_only_be_accessed_using_a_string_literal:E(2476,1,"A_const_enum_member_can_only_be_accessed_using_a_string_literal_2476","A const enum member can only be accessed using a string literal."),const_enum_member_initializer_was_evaluated_to_a_non_finite_value:E(2477,1,"const_enum_member_initializer_was_evaluated_to_a_non_finite_value_2477","'const' enum member initializer was evaluated to a non-finite value."),const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN:E(2478,1,"const_enum_member_initializer_was_evaluated_to_disallowed_value_NaN_2478","'const' enum member initializer was evaluated to disallowed value 'NaN'."),let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations:E(2480,1,"let_is_not_allowed_to_be_used_as_a_name_in_let_or_const_declarations_2480","'let' is not allowed to be used as a name in 'let' or 'const' declarations."),Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1:E(2481,1,"Cannot_initialize_outer_scoped_variable_0_in_the_same_scope_as_block_scoped_declaration_1_2481","Cannot initialize outer scoped variable '{0}' in the same scope as block scoped declaration '{1}'."),The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation:E(2483,1,"The_left_hand_side_of_a_for_of_statement_cannot_use_a_type_annotation_2483","The left-hand side of a 'for...of' statement cannot use a type annotation."),Export_declaration_conflicts_with_exported_declaration_of_0:E(2484,1,"Export_declaration_conflicts_with_exported_declaration_of_0_2484","Export declaration conflicts with exported declaration of '{0}'."),The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access:E(2487,1,"The_left_hand_side_of_a_for_of_statement_must_be_a_variable_or_a_property_access_2487","The left-hand side of a 'for...of' statement must be a variable or a property access."),Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator:E(2488,1,"Type_0_must_have_a_Symbol_iterator_method_that_returns_an_iterator_2488","Type '{0}' must have a '[Symbol.iterator]()' method that returns an iterator."),An_iterator_must_have_a_next_method:E(2489,1,"An_iterator_must_have_a_next_method_2489","An iterator must have a 'next()' method."),The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property:E(2490,1,"The_type_returned_by_the_0_method_of_an_iterator_must_have_a_value_property_2490","The type returned by the '{0}()' method of an iterator must have a 'value' property."),The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern:E(2491,1,"The_left_hand_side_of_a_for_in_statement_cannot_be_a_destructuring_pattern_2491","The left-hand side of a 'for...in' statement cannot be a destructuring pattern."),Cannot_redeclare_identifier_0_in_catch_clause:E(2492,1,"Cannot_redeclare_identifier_0_in_catch_clause_2492","Cannot redeclare identifier '{0}' in catch clause."),Tuple_type_0_of_length_1_has_no_element_at_index_2:E(2493,1,"Tuple_type_0_of_length_1_has_no_element_at_index_2_2493","Tuple type '{0}' of length '{1}' has no element at index '{2}'."),Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher:E(2494,1,"Using_a_string_in_a_for_of_statement_is_only_supported_in_ECMAScript_5_and_higher_2494","Using a string in a 'for...of' statement is only supported in ECMAScript 5 and higher."),Type_0_is_not_an_array_type_or_a_string_type:E(2495,1,"Type_0_is_not_an_array_type_or_a_string_type_2495","Type '{0}' is not an array type or a string type."),The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES5_Consider_using_a_standard_function_expression:E(2496,1,"The_arguments_object_cannot_be_referenced_in_an_arrow_function_in_ES5_Consider_using_a_standard_func_2496","The 'arguments' object cannot be referenced in an arrow function in ES5. Consider using a standard function expression."),This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_referencing_its_default_export:E(2497,1,"This_module_can_only_be_referenced_with_ECMAScript_imports_Slashexports_by_turning_on_the_0_flag_and_2497","This module can only be referenced with ECMAScript imports/exports by turning on the '{0}' flag and referencing its default export."),Module_0_uses_export_and_cannot_be_used_with_export_Asterisk:E(2498,1,"Module_0_uses_export_and_cannot_be_used_with_export_Asterisk_2498","Module '{0}' uses 'export =' and cannot be used with 'export *'."),An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments:E(2499,1,"An_interface_can_only_extend_an_identifier_Slashqualified_name_with_optional_type_arguments_2499","An interface can only extend an identifier/qualified-name with optional type arguments."),A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments:E(2500,1,"A_class_can_only_implement_an_identifier_Slashqualified_name_with_optional_type_arguments_2500","A class can only implement an identifier/qualified-name with optional type arguments."),A_rest_element_cannot_contain_a_binding_pattern:E(2501,1,"A_rest_element_cannot_contain_a_binding_pattern_2501","A rest element cannot contain a binding pattern."),_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation:E(2502,1,"_0_is_referenced_directly_or_indirectly_in_its_own_type_annotation_2502","'{0}' is referenced directly or indirectly in its own type annotation."),Cannot_find_namespace_0:E(2503,1,"Cannot_find_namespace_0_2503","Cannot find namespace '{0}'."),Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator:E(2504,1,"Type_0_must_have_a_Symbol_asyncIterator_method_that_returns_an_async_iterator_2504","Type '{0}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator."),A_generator_cannot_have_a_void_type_annotation:E(2505,1,"A_generator_cannot_have_a_void_type_annotation_2505","A generator cannot have a 'void' type annotation."),_0_is_referenced_directly_or_indirectly_in_its_own_base_expression:E(2506,1,"_0_is_referenced_directly_or_indirectly_in_its_own_base_expression_2506","'{0}' is referenced directly or indirectly in its own base expression."),Type_0_is_not_a_constructor_function_type:E(2507,1,"Type_0_is_not_a_constructor_function_type_2507","Type '{0}' is not a constructor function type."),No_base_constructor_has_the_specified_number_of_type_arguments:E(2508,1,"No_base_constructor_has_the_specified_number_of_type_arguments_2508","No base constructor has the specified number of type arguments."),Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_known_members:E(2509,1,"Base_constructor_return_type_0_is_not_an_object_type_or_intersection_of_object_types_with_statically_2509","Base constructor return type '{0}' is not an object type or intersection of object types with statically known members."),Base_constructors_must_all_have_the_same_return_type:E(2510,1,"Base_constructors_must_all_have_the_same_return_type_2510","Base constructors must all have the same return type."),Cannot_create_an_instance_of_an_abstract_class:E(2511,1,"Cannot_create_an_instance_of_an_abstract_class_2511","Cannot create an instance of an abstract class."),Overload_signatures_must_all_be_abstract_or_non_abstract:E(2512,1,"Overload_signatures_must_all_be_abstract_or_non_abstract_2512","Overload signatures must all be abstract or non-abstract."),Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression:E(2513,1,"Abstract_method_0_in_class_1_cannot_be_accessed_via_super_expression_2513","Abstract method '{0}' in class '{1}' cannot be accessed via super expression."),A_tuple_type_cannot_be_indexed_with_a_negative_value:E(2514,1,"A_tuple_type_cannot_be_indexed_with_a_negative_value_2514","A tuple type cannot be indexed with a negative value."),Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2:E(2515,1,"Non_abstract_class_0_does_not_implement_inherited_abstract_member_1_from_class_2_2515","Non-abstract class '{0}' does not implement inherited abstract member {1} from class '{2}'."),All_declarations_of_an_abstract_method_must_be_consecutive:E(2516,1,"All_declarations_of_an_abstract_method_must_be_consecutive_2516","All declarations of an abstract method must be consecutive."),Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type:E(2517,1,"Cannot_assign_an_abstract_constructor_type_to_a_non_abstract_constructor_type_2517","Cannot assign an abstract constructor type to a non-abstract constructor type."),A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard:E(2518,1,"A_this_based_type_guard_is_not_compatible_with_a_parameter_based_type_guard_2518","A 'this'-based type guard is not compatible with a parameter-based type guard."),An_async_iterator_must_have_a_next_method:E(2519,1,"An_async_iterator_must_have_a_next_method_2519","An async iterator must have a 'next()' method."),Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions:E(2520,1,"Duplicate_identifier_0_Compiler_uses_declaration_1_to_support_async_functions_2520","Duplicate identifier '{0}'. Compiler uses declaration '{1}' to support async functions."),The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES5_Consider_using_a_standard_function_or_method:E(2522,1,"The_arguments_object_cannot_be_referenced_in_an_async_function_or_method_in_ES5_Consider_using_a_sta_2522","The 'arguments' object cannot be referenced in an async function or method in ES5. Consider using a standard function or method."),yield_expressions_cannot_be_used_in_a_parameter_initializer:E(2523,1,"yield_expressions_cannot_be_used_in_a_parameter_initializer_2523","'yield' expressions cannot be used in a parameter initializer."),await_expressions_cannot_be_used_in_a_parameter_initializer:E(2524,1,"await_expressions_cannot_be_used_in_a_parameter_initializer_2524","'await' expressions cannot be used in a parameter initializer."),A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface:E(2526,1,"A_this_type_is_available_only_in_a_non_static_member_of_a_class_or_interface_2526","A 'this' type is available only in a non-static member of a class or interface."),The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary:E(2527,1,"The_inferred_type_of_0_references_an_inaccessible_1_type_A_type_annotation_is_necessary_2527","The inferred type of '{0}' references an inaccessible '{1}' type. A type annotation is necessary."),A_module_cannot_have_multiple_default_exports:E(2528,1,"A_module_cannot_have_multiple_default_exports_2528","A module cannot have multiple default exports."),Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_functions:E(2529,1,"Duplicate_identifier_0_Compiler_reserves_name_1_in_top_level_scope_of_a_module_containing_async_func_2529","Duplicate identifier '{0}'. Compiler reserves name '{1}' in top level scope of a module containing async functions."),Property_0_is_incompatible_with_index_signature:E(2530,1,"Property_0_is_incompatible_with_index_signature_2530","Property '{0}' is incompatible with index signature."),Object_is_possibly_null:E(2531,1,"Object_is_possibly_null_2531","Object is possibly 'null'."),Object_is_possibly_undefined:E(2532,1,"Object_is_possibly_undefined_2532","Object is possibly 'undefined'."),Object_is_possibly_null_or_undefined:E(2533,1,"Object_is_possibly_null_or_undefined_2533","Object is possibly 'null' or 'undefined'."),A_function_returning_never_cannot_have_a_reachable_end_point:E(2534,1,"A_function_returning_never_cannot_have_a_reachable_end_point_2534","A function returning 'never' cannot have a reachable end point."),Type_0_cannot_be_used_to_index_type_1:E(2536,1,"Type_0_cannot_be_used_to_index_type_1_2536","Type '{0}' cannot be used to index type '{1}'."),Type_0_has_no_matching_index_signature_for_type_1:E(2537,1,"Type_0_has_no_matching_index_signature_for_type_1_2537","Type '{0}' has no matching index signature for type '{1}'."),Type_0_cannot_be_used_as_an_index_type:E(2538,1,"Type_0_cannot_be_used_as_an_index_type_2538","Type '{0}' cannot be used as an index type."),Cannot_assign_to_0_because_it_is_not_a_variable:E(2539,1,"Cannot_assign_to_0_because_it_is_not_a_variable_2539","Cannot assign to '{0}' because it is not a variable."),Cannot_assign_to_0_because_it_is_a_read_only_property:E(2540,1,"Cannot_assign_to_0_because_it_is_a_read_only_property_2540","Cannot assign to '{0}' because it is a read-only property."),Index_signature_in_type_0_only_permits_reading:E(2542,1,"Index_signature_in_type_0_only_permits_reading_2542","Index signature in type '{0}' only permits reading."),Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_meta_property_reference:E(2543,1,"Duplicate_identifier_newTarget_Compiler_uses_variable_declaration_newTarget_to_capture_new_target_me_2543","Duplicate identifier '_newTarget'. Compiler uses variable declaration '_newTarget' to capture 'new.target' meta-property reference."),Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta_property_reference:E(2544,1,"Expression_resolves_to_variable_declaration_newTarget_that_compiler_uses_to_capture_new_target_meta__2544","Expression resolves to variable declaration '_newTarget' that compiler uses to capture 'new.target' meta-property reference."),A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any:E(2545,1,"A_mixin_class_must_have_a_constructor_with_a_single_rest_parameter_of_type_any_2545","A mixin class must have a constructor with a single rest parameter of type 'any[]'."),The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_property:E(2547,1,"The_type_returned_by_the_0_method_of_an_async_iterator_must_be_a_promise_for_a_type_with_a_value_pro_2547","The type returned by the '{0}()' method of an async iterator must be a promise for a type with a 'value' property."),Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:E(2548,1,"Type_0_is_not_an_array_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator_2548","Type '{0}' is not an array type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns_an_iterator:E(2549,1,"Type_0_is_not_an_array_type_or_a_string_type_or_does_not_have_a_Symbol_iterator_method_that_returns__2549","Type '{0}' is not an array type or a string type or does not have a '[Symbol.iterator]()' method that returns an iterator."),Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2_or_later:E(2550,1,"Property_0_does_not_exist_on_type_1_Do_you_need_to_change_your_target_library_Try_changing_the_lib_c_2550","Property '{0}' does not exist on type '{1}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{2}' or later."),Property_0_does_not_exist_on_type_1_Did_you_mean_2:E(2551,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_2_2551","Property '{0}' does not exist on type '{1}'. Did you mean '{2}'?"),Cannot_find_name_0_Did_you_mean_1:E(2552,1,"Cannot_find_name_0_Did_you_mean_1_2552","Cannot find name '{0}'. Did you mean '{1}'?"),Computed_values_are_not_permitted_in_an_enum_with_string_valued_members:E(2553,1,"Computed_values_are_not_permitted_in_an_enum_with_string_valued_members_2553","Computed values are not permitted in an enum with string valued members."),Expected_0_arguments_but_got_1:E(2554,1,"Expected_0_arguments_but_got_1_2554","Expected {0} arguments, but got {1}."),Expected_at_least_0_arguments_but_got_1:E(2555,1,"Expected_at_least_0_arguments_but_got_1_2555","Expected at least {0} arguments, but got {1}."),A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter:E(2556,1,"A_spread_argument_must_either_have_a_tuple_type_or_be_passed_to_a_rest_parameter_2556","A spread argument must either have a tuple type or be passed to a rest parameter."),Expected_0_type_arguments_but_got_1:E(2558,1,"Expected_0_type_arguments_but_got_1_2558","Expected {0} type arguments, but got {1}."),Type_0_has_no_properties_in_common_with_type_1:E(2559,1,"Type_0_has_no_properties_in_common_with_type_1_2559","Type '{0}' has no properties in common with type '{1}'."),Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it:E(2560,1,"Value_of_type_0_has_no_properties_in_common_with_type_1_Did_you_mean_to_call_it_2560","Value of type '{0}' has no properties in common with type '{1}'. Did you mean to call it?"),Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_write_2:E(2561,1,"Object_literal_may_only_specify_known_properties_but_0_does_not_exist_in_type_1_Did_you_mean_to_writ_2561","Object literal may only specify known properties, but '{0}' does not exist in type '{1}'. Did you mean to write '{2}'?"),Base_class_expressions_cannot_reference_class_type_parameters:E(2562,1,"Base_class_expressions_cannot_reference_class_type_parameters_2562","Base class expressions cannot reference class type parameters."),The_containing_function_or_module_body_is_too_large_for_control_flow_analysis:E(2563,1,"The_containing_function_or_module_body_is_too_large_for_control_flow_analysis_2563","The containing function or module body is too large for control flow analysis."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor:E(2564,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_the_constructor_2564","Property '{0}' has no initializer and is not definitely assigned in the constructor."),Property_0_is_used_before_being_assigned:E(2565,1,"Property_0_is_used_before_being_assigned_2565","Property '{0}' is used before being assigned."),A_rest_element_cannot_have_a_property_name:E(2566,1,"A_rest_element_cannot_have_a_property_name_2566","A rest element cannot have a property name."),Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations:E(2567,1,"Enum_declarations_can_only_merge_with_namespace_or_other_enum_declarations_2567","Enum declarations can only merge with namespace or other enum declarations."),Property_0_may_not_exist_on_type_1_Did_you_mean_2:E(2568,1,"Property_0_may_not_exist_on_type_1_Did_you_mean_2_2568","Property '{0}' may not exist on type '{1}'. Did you mean '{2}'?"),Could_not_find_name_0_Did_you_mean_1:E(2570,1,"Could_not_find_name_0_Did_you_mean_1_2570","Could not find name '{0}'. Did you mean '{1}'?"),Object_is_of_type_unknown:E(2571,1,"Object_is_of_type_unknown_2571","Object is of type 'unknown'."),A_rest_element_type_must_be_an_array_type:E(2574,1,"A_rest_element_type_must_be_an_array_type_2574","A rest element type must be an array type."),No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments:E(2575,1,"No_overload_expects_0_arguments_but_overloads_do_exist_that_expect_either_1_or_2_arguments_2575","No overload expects {0} arguments, but overloads do exist that expect either {1} or {2} arguments."),Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead:E(2576,1,"Property_0_does_not_exist_on_type_1_Did_you_mean_to_access_the_static_member_2_instead_2576","Property '{0}' does not exist on type '{1}'. Did you mean to access the static member '{2}' instead?"),Return_type_annotation_circularly_references_itself:E(2577,1,"Return_type_annotation_circularly_references_itself_2577","Return type annotation circularly references itself."),Unused_ts_expect_error_directive:E(2578,1,"Unused_ts_expect_error_directive_2578","Unused '@ts-expect-error' directive."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode:E(2580,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2580","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery:E(2581,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2581","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha:E(2582,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2582","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha`."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_1_or_later:E(2583,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2583","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to '{1}' or later."),Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_include_dom:E(2584,1,"Cannot_find_name_0_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_2584","Cannot find name '{0}'. Do you need to change your target library? Try changing the 'lib' compiler option to include 'dom'."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_Try_changing_the_lib_compiler_option_to_es2015_or_later:E(2585,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Do_you_need_to_change_your_target_library_2585","'{0}' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later."),Cannot_assign_to_0_because_it_is_a_constant:E(2588,1,"Cannot_assign_to_0_because_it_is_a_constant_2588","Cannot assign to '{0}' because it is a constant."),Type_instantiation_is_excessively_deep_and_possibly_infinite:E(2589,1,"Type_instantiation_is_excessively_deep_and_possibly_infinite_2589","Type instantiation is excessively deep and possibly infinite."),Expression_produces_a_union_type_that_is_too_complex_to_represent:E(2590,1,"Expression_produces_a_union_type_that_is_too_complex_to_represent_2590","Expression produces a union type that is too complex to represent."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashnode_and_then_add_node_to_the_types_field_in_your_tsconfig:E(2591,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_node_Try_npm_i_save_dev_types_Slashno_2591","Cannot find name '{0}'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node` and then add 'node' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slashjquery_and_then_add_jquery_to_the_types_field_in_your_tsconfig:E(2592,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_jQuery_Try_npm_i_save_dev_types_Slash_2592","Cannot find name '{0}'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery` and then add 'jquery' to the types field in your tsconfig."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_types_Slashjest_or_npm_i_save_dev_types_Slashmocha_and_then_add_jest_or_mocha_to_the_types_field_in_your_tsconfig:E(2593,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_a_test_runner_Try_npm_i_save_dev_type_2593","Cannot find name '{0}'. Do you need to install type definitions for a test runner? Try `npm i --save-dev @types/jest` or `npm i --save-dev @types/mocha` and then add 'jest' or 'mocha' to the types field in your tsconfig."),This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag:E(2594,1,"This_module_is_declared_with_export_and_can_only_be_used_with_a_default_import_when_using_the_0_flag_2594","This module is declared with 'export =', and can only be used with a default import when using the '{0}' flag."),_0_can_only_be_imported_by_using_a_default_import:E(2595,1,"_0_can_only_be_imported_by_using_a_default_import_2595","'{0}' can only be imported by using a default import."),_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:E(2596,1,"_0_can_only_be_imported_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import_2596","'{0}' can only be imported by turning on the 'esModuleInterop' flag and using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import:E(2597,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_using_a_default_import_2597","'{0}' can only be imported by using a 'require' call or by using a default import."),_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:E(2598,1,"_0_can_only_be_imported_by_using_a_require_call_or_by_turning_on_the_esModuleInterop_flag_and_using__2598","'{0}' can only be imported by using a 'require' call or by turning on the 'esModuleInterop' flag and using a default import."),JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist:E(2602,1,"JSX_element_implicitly_has_type_any_because_the_global_type_JSX_Element_does_not_exist_2602","JSX element implicitly has type 'any' because the global type 'JSX.Element' does not exist."),Property_0_in_type_1_is_not_assignable_to_type_2:E(2603,1,"Property_0_in_type_1_is_not_assignable_to_type_2_2603","Property '{0}' in type '{1}' is not assignable to type '{2}'."),JSX_element_type_0_does_not_have_any_construct_or_call_signatures:E(2604,1,"JSX_element_type_0_does_not_have_any_construct_or_call_signatures_2604","JSX element type '{0}' does not have any construct or call signatures."),Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property:E(2606,1,"Property_0_of_JSX_spread_attribute_is_not_assignable_to_target_property_2606","Property '{0}' of JSX spread attribute is not assignable to target property."),JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property:E(2607,1,"JSX_element_class_does_not_support_attributes_because_it_does_not_have_a_0_property_2607","JSX element class does not support attributes because it does not have a '{0}' property."),The_global_type_JSX_0_may_not_have_more_than_one_property:E(2608,1,"The_global_type_JSX_0_may_not_have_more_than_one_property_2608","The global type 'JSX.{0}' may not have more than one property."),JSX_spread_child_must_be_an_array_type:E(2609,1,"JSX_spread_child_must_be_an_array_type_2609","JSX spread child must be an array type."),_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property:E(2610,1,"_0_is_defined_as_an_accessor_in_class_1_but_is_overridden_here_in_2_as_an_instance_property_2610","'{0}' is defined as an accessor in class '{1}', but is overridden here in '{2}' as an instance property."),_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor:E(2611,1,"_0_is_defined_as_a_property_in_class_1_but_is_overridden_here_in_2_as_an_accessor_2611","'{0}' is defined as a property in class '{1}', but is overridden here in '{2}' as an accessor."),Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_add_a_declare_modifier_or_remove_the_redundant_declaration:E(2612,1,"Property_0_will_overwrite_the_base_property_in_1_If_this_is_intentional_add_an_initializer_Otherwise_2612","Property '{0}' will overwrite the base property in '{1}'. If this is intentional, add an initializer. Otherwise, add a 'declare' modifier or remove the redundant declaration."),Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead:E(2613,1,"Module_0_has_no_default_export_Did_you_mean_to_use_import_1_from_0_instead_2613","Module '{0}' has no default export. Did you mean to use 'import { {1} } from {0}' instead?"),Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead:E(2614,1,"Module_0_has_no_exported_member_1_Did_you_mean_to_use_import_1_from_0_instead_2614","Module '{0}' has no exported member '{1}'. Did you mean to use 'import {1} from {0}' instead?"),Type_of_property_0_circularly_references_itself_in_mapped_type_1:E(2615,1,"Type_of_property_0_circularly_references_itself_in_mapped_type_1_2615","Type of property '{0}' circularly references itself in mapped type '{1}'."),_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import:E(2616,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_a_default_import_2616","'{0}' can only be imported by using 'import {1} = require({2})' or a default import."),_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_using_a_default_import:E(2617,1,"_0_can_only_be_imported_by_using_import_1_require_2_or_by_turning_on_the_esModuleInterop_flag_and_us_2617","'{0}' can only be imported by using 'import {1} = require({2})' or by turning on the 'esModuleInterop' flag and using a default import."),Source_has_0_element_s_but_target_requires_1:E(2618,1,"Source_has_0_element_s_but_target_requires_1_2618","Source has {0} element(s) but target requires {1}."),Source_has_0_element_s_but_target_allows_only_1:E(2619,1,"Source_has_0_element_s_but_target_allows_only_1_2619","Source has {0} element(s) but target allows only {1}."),Target_requires_0_element_s_but_source_may_have_fewer:E(2620,1,"Target_requires_0_element_s_but_source_may_have_fewer_2620","Target requires {0} element(s) but source may have fewer."),Target_allows_only_0_element_s_but_source_may_have_more:E(2621,1,"Target_allows_only_0_element_s_but_source_may_have_more_2621","Target allows only {0} element(s) but source may have more."),Source_provides_no_match_for_required_element_at_position_0_in_target:E(2623,1,"Source_provides_no_match_for_required_element_at_position_0_in_target_2623","Source provides no match for required element at position {0} in target."),Source_provides_no_match_for_variadic_element_at_position_0_in_target:E(2624,1,"Source_provides_no_match_for_variadic_element_at_position_0_in_target_2624","Source provides no match for variadic element at position {0} in target."),Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target:E(2625,1,"Variadic_element_at_position_0_in_source_does_not_match_element_at_position_1_in_target_2625","Variadic element at position {0} in source does not match element at position {1} in target."),Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target:E(2626,1,"Type_at_position_0_in_source_is_not_compatible_with_type_at_position_1_in_target_2626","Type at position {0} in source is not compatible with type at position {1} in target."),Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target:E(2627,1,"Type_at_positions_0_through_1_in_source_is_not_compatible_with_type_at_position_2_in_target_2627","Type at positions {0} through {1} in source is not compatible with type at position {2} in target."),Cannot_assign_to_0_because_it_is_an_enum:E(2628,1,"Cannot_assign_to_0_because_it_is_an_enum_2628","Cannot assign to '{0}' because it is an enum."),Cannot_assign_to_0_because_it_is_a_class:E(2629,1,"Cannot_assign_to_0_because_it_is_a_class_2629","Cannot assign to '{0}' because it is a class."),Cannot_assign_to_0_because_it_is_a_function:E(2630,1,"Cannot_assign_to_0_because_it_is_a_function_2630","Cannot assign to '{0}' because it is a function."),Cannot_assign_to_0_because_it_is_a_namespace:E(2631,1,"Cannot_assign_to_0_because_it_is_a_namespace_2631","Cannot assign to '{0}' because it is a namespace."),Cannot_assign_to_0_because_it_is_an_import:E(2632,1,"Cannot_assign_to_0_because_it_is_an_import_2632","Cannot assign to '{0}' because it is an import."),JSX_property_access_expressions_cannot_include_JSX_namespace_names:E(2633,1,"JSX_property_access_expressions_cannot_include_JSX_namespace_names_2633","JSX property access expressions cannot include JSX namespace names"),_0_index_signatures_are_incompatible:E(2634,1,"_0_index_signatures_are_incompatible_2634","'{0}' index signatures are incompatible."),Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable:E(2635,1,"Type_0_has_no_signatures_for_which_the_type_argument_list_is_applicable_2635","Type '{0}' has no signatures for which the type argument list is applicable."),Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation:E(2636,1,"Type_0_is_not_assignable_to_type_1_as_implied_by_variance_annotation_2636","Type '{0}' is not assignable to type '{1}' as implied by variance annotation."),Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_types:E(2637,1,"Variance_annotations_are_only_supported_in_type_aliases_for_object_function_constructor_and_mapped_t_2637","Variance annotations are only supported in type aliases for object, function, constructor, and mapped types."),Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operator:E(2638,1,"Type_0_may_represent_a_primitive_value_which_is_not_permitted_as_the_right_operand_of_the_in_operato_2638","Type '{0}' may represent a primitive value, which is not permitted as the right operand of the 'in' operator."),React_components_cannot_include_JSX_namespace_names:E(2639,1,"React_components_cannot_include_JSX_namespace_names_2639","React components cannot include JSX namespace names"),Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity:E(2649,1,"Cannot_augment_module_0_with_value_exports_because_it_resolves_to_a_non_module_entity_2649","Cannot augment module '{0}' with value exports because it resolves to a non-module entity."),Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1_and_2_more:E(2650,1,"Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1_and__2650","Non-abstract class expression is missing implementations for the following members of '{0}': {1} and {2} more."),A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_members_defined_in_other_enums:E(2651,1,"A_member_initializer_in_a_enum_declaration_cannot_reference_members_declared_after_it_including_memb_2651","A member initializer in a enum declaration cannot reference members declared after it, including members defined in other enums."),Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_default_0_declaration_instead:E(2652,1,"Merged_declaration_0_cannot_include_a_default_export_declaration_Consider_adding_a_separate_export_d_2652","Merged declaration '{0}' cannot include a default export declaration. Consider adding a separate 'export default {0}' declaration instead."),Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1:E(2653,1,"Non_abstract_class_expression_does_not_implement_inherited_abstract_member_0_from_class_1_2653","Non-abstract class expression does not implement inherited abstract member '{0}' from class '{1}'."),Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2:E(2654,1,"Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2_2654","Non-abstract class '{0}' is missing implementations for the following members of '{1}': {2}."),Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2_and_3_more:E(2655,1,"Non_abstract_class_0_is_missing_implementations_for_the_following_members_of_1_Colon_2_and_3_more_2655","Non-abstract class '{0}' is missing implementations for the following members of '{1}': {2} and {3} more."),Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1:E(2656,1,"Non_abstract_class_expression_is_missing_implementations_for_the_following_members_of_0_Colon_1_2656","Non-abstract class expression is missing implementations for the following members of '{0}': {1}."),JSX_expressions_must_have_one_parent_element:E(2657,1,"JSX_expressions_must_have_one_parent_element_2657","JSX expressions must have one parent element."),Type_0_provides_no_match_for_the_signature_1:E(2658,1,"Type_0_provides_no_match_for_the_signature_1_2658","Type '{0}' provides no match for the signature '{1}'."),super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_higher:E(2659,1,"super_is_only_allowed_in_members_of_object_literal_expressions_when_option_target_is_ES2015_or_highe_2659","'super' is only allowed in members of object literal expressions when option 'target' is 'ES2015' or higher."),super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions:E(2660,1,"super_can_only_be_referenced_in_members_of_derived_classes_or_object_literal_expressions_2660","'super' can only be referenced in members of derived classes or object literal expressions."),Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module:E(2661,1,"Cannot_export_0_Only_local_declarations_can_be_exported_from_a_module_2661","Cannot export '{0}'. Only local declarations can be exported from a module."),Cannot_find_name_0_Did_you_mean_the_static_member_1_0:E(2662,1,"Cannot_find_name_0_Did_you_mean_the_static_member_1_0_2662","Cannot find name '{0}'. Did you mean the static member '{1}.{0}'?"),Cannot_find_name_0_Did_you_mean_the_instance_member_this_0:E(2663,1,"Cannot_find_name_0_Did_you_mean_the_instance_member_this_0_2663","Cannot find name '{0}'. Did you mean the instance member 'this.{0}'?"),Invalid_module_name_in_augmentation_module_0_cannot_be_found:E(2664,1,"Invalid_module_name_in_augmentation_module_0_cannot_be_found_2664","Invalid module name in augmentation, module '{0}' cannot be found."),Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augmented:E(2665,1,"Invalid_module_name_in_augmentation_Module_0_resolves_to_an_untyped_module_at_1_which_cannot_be_augm_2665","Invalid module name in augmentation. Module '{0}' resolves to an untyped module at '{1}', which cannot be augmented."),Exports_and_export_assignments_are_not_permitted_in_module_augmentations:E(2666,1,"Exports_and_export_assignments_are_not_permitted_in_module_augmentations_2666","Exports and export assignments are not permitted in module augmentations."),Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module:E(2667,1,"Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_mod_2667","Imports are not permitted in module augmentations. Consider moving them to the enclosing external module."),export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always_visible:E(2668,1,"export_modifier_cannot_be_applied_to_ambient_modules_and_module_augmentations_since_they_are_always__2668","'export' modifier cannot be applied to ambient modules and module augmentations since they are always visible."),Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_declarations:E(2669,1,"Augmentations_for_the_global_scope_can_only_be_directly_nested_in_external_modules_or_ambient_module_2669","Augmentations for the global scope can only be directly nested in external modules or ambient module declarations."),Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambient_context:E(2670,1,"Augmentations_for_the_global_scope_should_have_declare_modifier_unless_they_appear_in_already_ambien_2670","Augmentations for the global scope should have 'declare' modifier unless they appear in already ambient context."),Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity:E(2671,1,"Cannot_augment_module_0_because_it_resolves_to_a_non_module_entity_2671","Cannot augment module '{0}' because it resolves to a non-module entity."),Cannot_assign_a_0_constructor_type_to_a_1_constructor_type:E(2672,1,"Cannot_assign_a_0_constructor_type_to_a_1_constructor_type_2672","Cannot assign a '{0}' constructor type to a '{1}' constructor type."),Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration:E(2673,1,"Constructor_of_class_0_is_private_and_only_accessible_within_the_class_declaration_2673","Constructor of class '{0}' is private and only accessible within the class declaration."),Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration:E(2674,1,"Constructor_of_class_0_is_protected_and_only_accessible_within_the_class_declaration_2674","Constructor of class '{0}' is protected and only accessible within the class declaration."),Cannot_extend_a_class_0_Class_constructor_is_marked_as_private:E(2675,1,"Cannot_extend_a_class_0_Class_constructor_is_marked_as_private_2675","Cannot extend a class '{0}'. Class constructor is marked as private."),Accessors_must_both_be_abstract_or_non_abstract:E(2676,1,"Accessors_must_both_be_abstract_or_non_abstract_2676","Accessors must both be abstract or non-abstract."),A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type:E(2677,1,"A_type_predicate_s_type_must_be_assignable_to_its_parameter_s_type_2677","A type predicate's type must be assignable to its parameter's type."),Type_0_is_not_comparable_to_type_1:E(2678,1,"Type_0_is_not_comparable_to_type_1_2678","Type '{0}' is not comparable to type '{1}'."),A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void:E(2679,1,"A_function_that_is_called_with_the_new_keyword_cannot_have_a_this_type_that_is_void_2679","A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'."),A_0_parameter_must_be_the_first_parameter:E(2680,1,"A_0_parameter_must_be_the_first_parameter_2680","A '{0}' parameter must be the first parameter."),A_constructor_cannot_have_a_this_parameter:E(2681,1,"A_constructor_cannot_have_a_this_parameter_2681","A constructor cannot have a 'this' parameter."),this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation:E(2683,1,"this_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_2683","'this' implicitly has type 'any' because it does not have a type annotation."),The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1:E(2684,1,"The_this_context_of_type_0_is_not_assignable_to_method_s_this_of_type_1_2684","The 'this' context of type '{0}' is not assignable to method's 'this' of type '{1}'."),The_this_types_of_each_signature_are_incompatible:E(2685,1,"The_this_types_of_each_signature_are_incompatible_2685","The 'this' types of each signature are incompatible."),_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead:E(2686,1,"_0_refers_to_a_UMD_global_but_the_current_file_is_a_module_Consider_adding_an_import_instead_2686","'{0}' refers to a UMD global, but the current file is a module. Consider adding an import instead."),All_declarations_of_0_must_have_identical_modifiers:E(2687,1,"All_declarations_of_0_must_have_identical_modifiers_2687","All declarations of '{0}' must have identical modifiers."),Cannot_find_type_definition_file_for_0:E(2688,1,"Cannot_find_type_definition_file_for_0_2688","Cannot find type definition file for '{0}'."),Cannot_extend_an_interface_0_Did_you_mean_implements:E(2689,1,"Cannot_extend_an_interface_0_Did_you_mean_implements_2689","Cannot extend an interface '{0}'. Did you mean 'implements'?"),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0:E(2690,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_Did_you_mean_to_use_1_in_0_2690","'{0}' only refers to a type, but is being used as a value here. Did you mean to use '{1} in {0}'?"),_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible:E(2692,1,"_0_is_a_primitive_but_1_is_a_wrapper_object_Prefer_using_0_when_possible_2692","'{0}' is a primitive, but '{1}' is a wrapper object. Prefer using '{0}' when possible."),_0_only_refers_to_a_type_but_is_being_used_as_a_value_here:E(2693,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_value_here_2693","'{0}' only refers to a type, but is being used as a value here."),Namespace_0_has_no_exported_member_1:E(2694,1,"Namespace_0_has_no_exported_member_1_2694","Namespace '{0}' has no exported member '{1}'."),Left_side_of_comma_operator_is_unused_and_has_no_side_effects:E(2695,1,"Left_side_of_comma_operator_is_unused_and_has_no_side_effects_2695","Left side of comma operator is unused and has no side effects.",!0),The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead:E(2696,1,"The_Object_type_is_assignable_to_very_few_other_types_Did_you_mean_to_use_the_any_type_instead_2696","The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?"),An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:E(2697,1,"An_async_function_or_method_must_return_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_in_2697","An async function or method must return a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),Spread_types_may_only_be_created_from_object_types:E(2698,1,"Spread_types_may_only_be_created_from_object_types_2698","Spread types may only be created from object types."),Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1:E(2699,1,"Static_property_0_conflicts_with_built_in_property_Function_0_of_constructor_function_1_2699","Static property '{0}' conflicts with built-in property 'Function.{0}' of constructor function '{1}'."),Rest_types_may_only_be_created_from_object_types:E(2700,1,"Rest_types_may_only_be_created_from_object_types_2700","Rest types may only be created from object types."),The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access:E(2701,1,"The_target_of_an_object_rest_assignment_must_be_a_variable_or_a_property_access_2701","The target of an object rest assignment must be a variable or a property access."),_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here:E(2702,1,"_0_only_refers_to_a_type_but_is_being_used_as_a_namespace_here_2702","'{0}' only refers to a type, but is being used as a namespace here."),The_operand_of_a_delete_operator_must_be_a_property_reference:E(2703,1,"The_operand_of_a_delete_operator_must_be_a_property_reference_2703","The operand of a 'delete' operator must be a property reference."),The_operand_of_a_delete_operator_cannot_be_a_read_only_property:E(2704,1,"The_operand_of_a_delete_operator_cannot_be_a_read_only_property_2704","The operand of a 'delete' operator cannot be a read-only property."),An_async_function_or_method_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:E(2705,1,"An_async_function_or_method_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_2705","An async function or method in ES5 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Required_type_parameters_may_not_follow_optional_type_parameters:E(2706,1,"Required_type_parameters_may_not_follow_optional_type_parameters_2706","Required type parameters may not follow optional type parameters."),Generic_type_0_requires_between_1_and_2_type_arguments:E(2707,1,"Generic_type_0_requires_between_1_and_2_type_arguments_2707","Generic type '{0}' requires between {1} and {2} type arguments."),Cannot_use_namespace_0_as_a_value:E(2708,1,"Cannot_use_namespace_0_as_a_value_2708","Cannot use namespace '{0}' as a value."),Cannot_use_namespace_0_as_a_type:E(2709,1,"Cannot_use_namespace_0_as_a_type_2709","Cannot use namespace '{0}' as a type."),_0_are_specified_twice_The_attribute_named_0_will_be_overwritten:E(2710,1,"_0_are_specified_twice_The_attribute_named_0_will_be_overwritten_2710","'{0}' are specified twice. The attribute named '{0}' will be overwritten."),A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES2015_in_your_lib_option:E(2711,1,"A_dynamic_import_call_returns_a_Promise_Make_sure_you_have_a_declaration_for_Promise_or_include_ES20_2711","A dynamic import call returns a 'Promise'. Make sure you have a declaration for 'Promise' or include 'ES2015' in your '--lib' option."),A_dynamic_import_call_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_the_Promise_constructor_or_include_ES2015_in_your_lib_option:E(2712,1,"A_dynamic_import_call_in_ES5_requires_the_Promise_constructor_Make_sure_you_have_a_declaration_for_t_2712","A dynamic import call in ES5 requires the 'Promise' constructor. Make sure you have a declaration for the 'Promise' constructor or include 'ES2015' in your '--lib' option."),Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_property_1_in_0_with_0_1:E(2713,1,"Cannot_access_0_1_because_0_is_a_type_but_not_a_namespace_Did_you_mean_to_retrieve_the_type_of_the_p_2713",`Cannot access '{0}.{1}' because '{0}' is a type, but not a namespace. Did you mean to retrieve the type of the property '{1}' in '{0}' with '{0}["{1}"]'?`),The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context:E(2714,1,"The_expression_of_an_export_assignment_must_be_an_identifier_or_qualified_name_in_an_ambient_context_2714","The expression of an export assignment must be an identifier or qualified name in an ambient context."),Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor:E(2715,1,"Abstract_property_0_in_class_1_cannot_be_accessed_in_the_constructor_2715","Abstract property '{0}' in class '{1}' cannot be accessed in the constructor."),Type_parameter_0_has_a_circular_default:E(2716,1,"Type_parameter_0_has_a_circular_default_2716","Type parameter '{0}' has a circular default."),Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_type_2:E(2717,1,"Subsequent_property_declarations_must_have_the_same_type_Property_0_must_be_of_type_1_but_here_has_t_2717","Subsequent property declarations must have the same type. Property '{0}' must be of type '{1}', but here has type '{2}'."),Duplicate_property_0:E(2718,1,"Duplicate_property_0_2718","Duplicate property '{0}'."),Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated:E(2719,1,"Type_0_is_not_assignable_to_type_1_Two_different_types_with_this_name_exist_but_they_are_unrelated_2719","Type '{0}' is not assignable to type '{1}'. Two different types with this name exist, but they are unrelated."),Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclass:E(2720,1,"Class_0_incorrectly_implements_class_1_Did_you_mean_to_extend_1_and_inherit_its_members_as_a_subclas_2720","Class '{0}' incorrectly implements class '{1}'. Did you mean to extend '{1}' and inherit its members as a subclass?"),Cannot_invoke_an_object_which_is_possibly_null:E(2721,1,"Cannot_invoke_an_object_which_is_possibly_null_2721","Cannot invoke an object which is possibly 'null'."),Cannot_invoke_an_object_which_is_possibly_undefined:E(2722,1,"Cannot_invoke_an_object_which_is_possibly_undefined_2722","Cannot invoke an object which is possibly 'undefined'."),Cannot_invoke_an_object_which_is_possibly_null_or_undefined:E(2723,1,"Cannot_invoke_an_object_which_is_possibly_null_or_undefined_2723","Cannot invoke an object which is possibly 'null' or 'undefined'."),_0_has_no_exported_member_named_1_Did_you_mean_2:E(2724,1,"_0_has_no_exported_member_named_1_Did_you_mean_2_2724","'{0}' has no exported member named '{1}'. Did you mean '{2}'?"),Class_name_cannot_be_Object_when_targeting_ES5_with_module_0:E(2725,1,"Class_name_cannot_be_Object_when_targeting_ES5_with_module_0_2725","Class name cannot be 'Object' when targeting ES5 with module {0}."),Cannot_find_lib_definition_for_0:E(2726,1,"Cannot_find_lib_definition_for_0_2726","Cannot find lib definition for '{0}'."),Cannot_find_lib_definition_for_0_Did_you_mean_1:E(2727,1,"Cannot_find_lib_definition_for_0_Did_you_mean_1_2727","Cannot find lib definition for '{0}'. Did you mean '{1}'?"),_0_is_declared_here:E(2728,3,"_0_is_declared_here_2728","'{0}' is declared here."),Property_0_is_used_before_its_initialization:E(2729,1,"Property_0_is_used_before_its_initialization_2729","Property '{0}' is used before its initialization."),An_arrow_function_cannot_have_a_this_parameter:E(2730,1,"An_arrow_function_cannot_have_a_this_parameter_2730","An arrow function cannot have a 'this' parameter."),Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_in_String:E(2731,1,"Implicit_conversion_of_a_symbol_to_a_string_will_fail_at_runtime_Consider_wrapping_this_expression_i_2731","Implicit conversion of a 'symbol' to a 'string' will fail at runtime. Consider wrapping this expression in 'String(...)'."),Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension:E(2732,1,"Cannot_find_module_0_Consider_using_resolveJsonModule_to_import_module_with_json_extension_2732","Cannot find module '{0}'. Consider using '--resolveJsonModule' to import module with '.json' extension."),Property_0_was_also_declared_here:E(2733,1,"Property_0_was_also_declared_here_2733","Property '{0}' was also declared here."),Are_you_missing_a_semicolon:E(2734,1,"Are_you_missing_a_semicolon_2734","Are you missing a semicolon?"),Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1:E(2735,1,"Did_you_mean_for_0_to_be_constrained_to_type_new_args_Colon_any_1_2735","Did you mean for '{0}' to be constrained to type 'new (...args: any[]) => {1}'?"),Operator_0_cannot_be_applied_to_type_1:E(2736,1,"Operator_0_cannot_be_applied_to_type_1_2736","Operator '{0}' cannot be applied to type '{1}'."),BigInt_literals_are_not_available_when_targeting_lower_than_ES2020:E(2737,1,"BigInt_literals_are_not_available_when_targeting_lower_than_ES2020_2737","BigInt literals are not available when targeting lower than ES2020."),An_outer_value_of_this_is_shadowed_by_this_container:E(2738,3,"An_outer_value_of_this_is_shadowed_by_this_container_2738","An outer value of 'this' is shadowed by this container."),Type_0_is_missing_the_following_properties_from_type_1_Colon_2:E(2739,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_2739","Type '{0}' is missing the following properties from type '{1}': {2}"),Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more:E(2740,1,"Type_0_is_missing_the_following_properties_from_type_1_Colon_2_and_3_more_2740","Type '{0}' is missing the following properties from type '{1}': {2}, and {3} more."),Property_0_is_missing_in_type_1_but_required_in_type_2:E(2741,1,"Property_0_is_missing_in_type_1_but_required_in_type_2_2741","Property '{0}' is missing in type '{1}' but required in type '{2}'."),The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_annotation_is_necessary:E(2742,1,"The_inferred_type_of_0_cannot_be_named_without_a_reference_to_1_This_is_likely_not_portable_A_type_a_2742","The inferred type of '{0}' cannot be named without a reference to '{1}'. This is likely not portable. A type annotation is necessary."),No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments:E(2743,1,"No_overload_expects_0_type_arguments_but_overloads_do_exist_that_expect_either_1_or_2_type_arguments_2743","No overload expects {0} type arguments, but overloads do exist that expect either {1} or {2} type arguments."),Type_parameter_defaults_can_only_reference_previously_declared_type_parameters:E(2744,1,"Type_parameter_defaults_can_only_reference_previously_declared_type_parameters_2744","Type parameter defaults can only reference previously declared type parameters."),This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_provided:E(2745,1,"This_JSX_tag_s_0_prop_expects_type_1_which_requires_multiple_children_but_only_a_single_child_was_pr_2745","This JSX tag's '{0}' prop expects type '{1}' which requires multiple children, but only a single child was provided."),This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided:E(2746,1,"This_JSX_tag_s_0_prop_expects_a_single_child_of_type_1_but_multiple_children_were_provided_2746","This JSX tag's '{0}' prop expects a single child of type '{1}', but multiple children were provided."),_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_type_of_1_is_2:E(2747,1,"_0_components_don_t_accept_text_as_child_elements_Text_in_JSX_has_the_type_string_but_the_expected_t_2747","'{0}' components don't accept text as child elements. Text in JSX has the type 'string', but the expected type of '{1}' is '{2}'."),Cannot_access_ambient_const_enums_when_0_is_enabled:E(2748,1,"Cannot_access_ambient_const_enums_when_0_is_enabled_2748","Cannot access ambient const enums when '{0}' is enabled."),_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0:E(2749,1,"_0_refers_to_a_value_but_is_being_used_as_a_type_here_Did_you_mean_typeof_0_2749","'{0}' refers to a value, but is being used as a type here. Did you mean 'typeof {0}'?"),The_implementation_signature_is_declared_here:E(2750,1,"The_implementation_signature_is_declared_here_2750","The implementation signature is declared here."),Circularity_originates_in_type_at_this_location:E(2751,1,"Circularity_originates_in_type_at_this_location_2751","Circularity originates in type at this location."),The_first_export_default_is_here:E(2752,1,"The_first_export_default_is_here_2752","The first export default is here."),Another_export_default_is_here:E(2753,1,"Another_export_default_is_here_2753","Another export default is here."),super_may_not_use_type_arguments:E(2754,1,"super_may_not_use_type_arguments_2754","'super' may not use type arguments."),No_constituent_of_type_0_is_callable:E(2755,1,"No_constituent_of_type_0_is_callable_2755","No constituent of type '{0}' is callable."),Not_all_constituents_of_type_0_are_callable:E(2756,1,"Not_all_constituents_of_type_0_are_callable_2756","Not all constituents of type '{0}' are callable."),Type_0_has_no_call_signatures:E(2757,1,"Type_0_has_no_call_signatures_2757","Type '{0}' has no call signatures."),Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_other:E(2758,1,"Each_member_of_the_union_type_0_has_signatures_but_none_of_those_signatures_are_compatible_with_each_2758","Each member of the union type '{0}' has signatures, but none of those signatures are compatible with each other."),No_constituent_of_type_0_is_constructable:E(2759,1,"No_constituent_of_type_0_is_constructable_2759","No constituent of type '{0}' is constructable."),Not_all_constituents_of_type_0_are_constructable:E(2760,1,"Not_all_constituents_of_type_0_are_constructable_2760","Not all constituents of type '{0}' are constructable."),Type_0_has_no_construct_signatures:E(2761,1,"Type_0_has_no_construct_signatures_2761","Type '{0}' has no construct signatures."),Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_with_each_other:E(2762,1,"Each_member_of_the_union_type_0_has_construct_signatures_but_none_of_those_signatures_are_compatible_2762","Each member of the union type '{0}' has construct signatures, but none of those signatures are compatible with each other."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_send_0:E(2763,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_for_of_will_always_s_2763","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but for-of will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_always_send_0:E(2764,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_spread_will_al_2764","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array spread will always send '{0}'."),Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring_will_always_send_0:E(2765,1,"Cannot_iterate_value_because_the_next_method_of_its_iterator_expects_type_1_but_array_destructuring__2765","Cannot iterate value because the 'next' method of its iterator expects type '{1}', but array destructuring will always send '{0}'."),Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_containing_generator_will_always_send_0:E(2766,1,"Cannot_delegate_iteration_to_value_because_the_next_method_of_its_iterator_expects_type_1_but_the_co_2766","Cannot delegate iteration to value because the 'next' method of its iterator expects type '{1}', but the containing generator will always send '{0}'."),The_0_property_of_an_iterator_must_be_a_method:E(2767,1,"The_0_property_of_an_iterator_must_be_a_method_2767","The '{0}' property of an iterator must be a method."),The_0_property_of_an_async_iterator_must_be_a_method:E(2768,1,"The_0_property_of_an_async_iterator_must_be_a_method_2768","The '{0}' property of an async iterator must be a method."),No_overload_matches_this_call:E(2769,1,"No_overload_matches_this_call_2769","No overload matches this call."),The_last_overload_gave_the_following_error:E(2770,1,"The_last_overload_gave_the_following_error_2770","The last overload gave the following error."),The_last_overload_is_declared_here:E(2771,1,"The_last_overload_is_declared_here_2771","The last overload is declared here."),Overload_0_of_1_2_gave_the_following_error:E(2772,1,"Overload_0_of_1_2_gave_the_following_error_2772","Overload {0} of {1}, '{2}', gave the following error."),Did_you_forget_to_use_await:E(2773,1,"Did_you_forget_to_use_await_2773","Did you forget to use 'await'?"),This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_instead:E(2774,1,"This_condition_will_always_return_true_since_this_function_is_always_defined_Did_you_mean_to_call_it_2774","This condition will always return true since this function is always defined. Did you mean to call it instead?"),Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation:E(2775,1,"Assertions_require_every_name_in_the_call_target_to_be_declared_with_an_explicit_type_annotation_2775","Assertions require every name in the call target to be declared with an explicit type annotation."),Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name:E(2776,1,"Assertions_require_the_call_target_to_be_an_identifier_or_qualified_name_2776","Assertions require the call target to be an identifier or qualified name."),The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access:E(2777,1,"The_operand_of_an_increment_or_decrement_operator_may_not_be_an_optional_property_access_2777","The operand of an increment or decrement operator may not be an optional property access."),The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access:E(2778,1,"The_target_of_an_object_rest_assignment_may_not_be_an_optional_property_access_2778","The target of an object rest assignment may not be an optional property access."),The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access:E(2779,1,"The_left_hand_side_of_an_assignment_expression_may_not_be_an_optional_property_access_2779","The left-hand side of an assignment expression may not be an optional property access."),The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access:E(2780,1,"The_left_hand_side_of_a_for_in_statement_may_not_be_an_optional_property_access_2780","The left-hand side of a 'for...in' statement may not be an optional property access."),The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access:E(2781,1,"The_left_hand_side_of_a_for_of_statement_may_not_be_an_optional_property_access_2781","The left-hand side of a 'for...of' statement may not be an optional property access."),_0_needs_an_explicit_type_annotation:E(2782,3,"_0_needs_an_explicit_type_annotation_2782","'{0}' needs an explicit type annotation."),_0_is_specified_more_than_once_so_this_usage_will_be_overwritten:E(2783,1,"_0_is_specified_more_than_once_so_this_usage_will_be_overwritten_2783","'{0}' is specified more than once, so this usage will be overwritten."),get_and_set_accessors_cannot_declare_this_parameters:E(2784,1,"get_and_set_accessors_cannot_declare_this_parameters_2784","'get' and 'set' accessors cannot declare 'this' parameters."),This_spread_always_overwrites_this_property:E(2785,1,"This_spread_always_overwrites_this_property_2785","This spread always overwrites this property."),_0_cannot_be_used_as_a_JSX_component:E(2786,1,"_0_cannot_be_used_as_a_JSX_component_2786","'{0}' cannot be used as a JSX component."),Its_return_type_0_is_not_a_valid_JSX_element:E(2787,1,"Its_return_type_0_is_not_a_valid_JSX_element_2787","Its return type '{0}' is not a valid JSX element."),Its_instance_type_0_is_not_a_valid_JSX_element:E(2788,1,"Its_instance_type_0_is_not_a_valid_JSX_element_2788","Its instance type '{0}' is not a valid JSX element."),Its_element_type_0_is_not_a_valid_JSX_element:E(2789,1,"Its_element_type_0_is_not_a_valid_JSX_element_2789","Its element type '{0}' is not a valid JSX element."),The_operand_of_a_delete_operator_must_be_optional:E(2790,1,"The_operand_of_a_delete_operator_must_be_optional_2790","The operand of a 'delete' operator must be optional."),Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_later:E(2791,1,"Exponentiation_cannot_be_performed_on_bigint_values_unless_the_target_option_is_set_to_es2016_or_lat_2791","Exponentiation cannot be performed on 'bigint' values unless the 'target' option is set to 'es2016' or later."),Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_to_the_paths_option:E(2792,1,"Cannot_find_module_0_Did_you_mean_to_set_the_moduleResolution_option_to_nodenext_or_to_add_aliases_t_2792","Cannot find module '{0}'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option?"),The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_are_not_externally_visible:E(2793,1,"The_call_would_have_succeeded_against_this_implementation_but_implementation_signatures_of_overloads_2793","The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible."),Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise:E(2794,1,"Expected_0_arguments_but_got_1_Did_you_forget_to_include_void_in_your_type_argument_to_Promise_2794","Expected {0} arguments, but got {1}. Did you forget to include 'void' in your type argument to 'Promise'?"),The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types:E(2795,1,"The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types_2795","The 'intrinsic' keyword can only be used to declare compiler provided intrinsic types."),It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tagged_template_expression_which_cannot_be_invoked:E(2796,1,"It_is_likely_that_you_are_missing_a_comma_to_separate_these_two_template_expressions_They_form_a_tag_2796","It is likely that you are missing a comma to separate these two template expressions. They form a tagged template expression which cannot be invoked."),A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_be_declared_abstract:E(2797,1,"A_mixin_class_that_extends_from_a_type_variable_containing_an_abstract_construct_signature_must_also_2797","A mixin class that extends from a type variable containing an abstract construct signature must also be declared 'abstract'."),The_declaration_was_marked_as_deprecated_here:E(2798,1,"The_declaration_was_marked_as_deprecated_here_2798","The declaration was marked as deprecated here."),Type_produces_a_tuple_type_that_is_too_large_to_represent:E(2799,1,"Type_produces_a_tuple_type_that_is_too_large_to_represent_2799","Type produces a tuple type that is too large to represent."),Expression_produces_a_tuple_type_that_is_too_large_to_represent:E(2800,1,"Expression_produces_a_tuple_type_that_is_too_large_to_represent_2800","Expression produces a tuple type that is too large to represent."),This_condition_will_always_return_true_since_this_0_is_always_defined:E(2801,1,"This_condition_will_always_return_true_since_this_0_is_always_defined_2801","This condition will always return true since this '{0}' is always defined."),Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es2015_or_higher:E(2802,1,"Type_0_can_only_be_iterated_through_when_using_the_downlevelIteration_flag_or_with_a_target_of_es201_2802","Type '{0}' can only be iterated through when using the '--downlevelIteration' flag or with a '--target' of 'es2015' or higher."),Cannot_assign_to_private_method_0_Private_methods_are_not_writable:E(2803,1,"Cannot_assign_to_private_method_0_Private_methods_are_not_writable_2803","Cannot assign to private method '{0}'. Private methods are not writable."),Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name:E(2804,1,"Duplicate_identifier_0_Static_and_instance_elements_cannot_share_the_same_private_name_2804","Duplicate identifier '{0}'. Static and instance elements cannot share the same private name."),Private_accessor_was_defined_without_a_getter:E(2806,1,"Private_accessor_was_defined_without_a_getter_2806","Private accessor was defined without a getter."),This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_one_in_0_Consider_upgrading_your_version_of_0:E(2807,1,"This_syntax_requires_an_imported_helper_named_1_with_2_parameters_which_is_not_compatible_with_the_o_2807","This syntax requires an imported helper named '{1}' with {2} parameters, which is not compatible with the one in '{0}'. Consider upgrading your version of '{0}'."),A_get_accessor_must_be_at_least_as_accessible_as_the_setter:E(2808,1,"A_get_accessor_must_be_at_least_as_accessible_as_the_setter_2808","A get accessor must be at least as accessible as the setter"),Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses:E(2809,1,"Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_d_2809","Declaration or statement expected. This '=' follows a block of statements, so if you intended to write a destructuring assignment, you might need to wrap the whole assignment in parentheses."),Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_without_arguments:E(2810,1,"Expected_1_argument_but_got_0_new_Promise_needs_a_JSDoc_hint_to_produce_a_resolve_that_can_be_called_2810","Expected 1 argument, but got 0. 'new Promise()' needs a JSDoc hint to produce a 'resolve' that can be called without arguments."),Initializer_for_property_0:E(2811,1,"Initializer_for_property_0_2811","Initializer for property '{0}'"),Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom:E(2812,1,"Property_0_does_not_exist_on_type_1_Try_changing_the_lib_compiler_option_to_include_dom_2812","Property '{0}' does not exist on type '{1}'. Try changing the 'lib' compiler option to include 'dom'."),Class_declaration_cannot_implement_overload_list_for_0:E(2813,1,"Class_declaration_cannot_implement_overload_list_for_0_2813","Class declaration cannot implement overload list for '{0}'."),Function_with_bodies_can_only_merge_with_classes_that_are_ambient:E(2814,1,"Function_with_bodies_can_only_merge_with_classes_that_are_ambient_2814","Function with bodies can only merge with classes that are ambient."),arguments_cannot_be_referenced_in_property_initializers:E(2815,1,"arguments_cannot_be_referenced_in_property_initializers_2815","'arguments' cannot be referenced in property initializers."),Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class:E(2816,1,"Cannot_use_this_in_a_static_property_initializer_of_a_decorated_class_2816","Cannot use 'this' in a static property initializer of a decorated class."),Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block:E(2817,1,"Property_0_has_no_initializer_and_is_not_definitely_assigned_in_a_class_static_block_2817","Property '{0}' has no initializer and is not definitely assigned in a class static block."),Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializers:E(2818,1,"Duplicate_identifier_0_Compiler_reserves_name_1_when_emitting_super_references_in_static_initializer_2818","Duplicate identifier '{0}'. Compiler reserves name '{1}' when emitting 'super' references in static initializers."),Namespace_name_cannot_be_0:E(2819,1,"Namespace_name_cannot_be_0_2819","Namespace name cannot be '{0}'."),Type_0_is_not_assignable_to_type_1_Did_you_mean_2:E(2820,1,"Type_0_is_not_assignable_to_type_1_Did_you_mean_2_2820","Type '{0}' is not assignable to type '{1}'. Did you mean '{2}'?"),Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_nodenext_or_preserve:E(2821,1,"Import_assertions_are_only_supported_when_the_module_option_is_set_to_esnext_nodenext_or_preserve_2821","Import assertions are only supported when the '--module' option is set to 'esnext', 'nodenext', or 'preserve'."),Import_assertions_cannot_be_used_with_type_only_imports_or_exports:E(2822,1,"Import_assertions_cannot_be_used_with_type_only_imports_or_exports_2822","Import assertions cannot be used with type-only imports or exports."),Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_nodenext_or_preserve:E(2823,1,"Import_attributes_are_only_supported_when_the_module_option_is_set_to_esnext_nodenext_or_preserve_2823","Import attributes are only supported when the '--module' option is set to 'esnext', 'nodenext', or 'preserve'."),Cannot_find_namespace_0_Did_you_mean_1:E(2833,1,"Cannot_find_namespace_0_Did_you_mean_1_2833","Cannot find namespace '{0}'. Did you mean '{1}'?"),Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Consider_adding_an_extension_to_the_import_path:E(2834,1,"Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_n_2834","Relative import paths need explicit file extensions in ECMAScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Consider adding an extension to the import path."),Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_node16_or_nodenext_Did_you_mean_0:E(2835,1,"Relative_import_paths_need_explicit_file_extensions_in_ECMAScript_imports_when_moduleResolution_is_n_2835","Relative import paths need explicit file extensions in ECMAScript imports when '--moduleResolution' is 'node16' or 'nodenext'. Did you mean '{0}'?"),Import_assertions_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls:E(2836,1,"Import_assertions_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls_2836","Import assertions are not allowed on statements that compile to CommonJS 'require' calls."),Import_assertion_values_must_be_string_literal_expressions:E(2837,1,"Import_assertion_values_must_be_string_literal_expressions_2837","Import assertion values must be string literal expressions."),All_declarations_of_0_must_have_identical_constraints:E(2838,1,"All_declarations_of_0_must_have_identical_constraints_2838","All declarations of '{0}' must have identical constraints."),This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value:E(2839,1,"This_condition_will_always_return_0_since_JavaScript_compares_objects_by_reference_not_value_2839","This condition will always return '{0}' since JavaScript compares objects by reference, not value."),An_interface_cannot_extend_a_primitive_type_like_0_It_can_only_extend_other_named_object_types:E(2840,1,"An_interface_cannot_extend_a_primitive_type_like_0_It_can_only_extend_other_named_object_types_2840","An interface cannot extend a primitive type like '{0}'. It can only extend other named object types."),_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation:E(2842,1,"_0_is_an_unused_renaming_of_1_Did_you_intend_to_use_it_as_a_type_annotation_2842","'{0}' is an unused renaming of '{1}'. Did you intend to use it as a type annotation?"),We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here:E(2843,1,"We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here_2843","We can only write a type for '{0}' by adding a type for the entire parameter here."),Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor:E(2844,1,"Type_of_instance_member_variable_0_cannot_reference_identifier_1_declared_in_the_constructor_2844","Type of instance member variable '{0}' cannot reference identifier '{1}' declared in the constructor."),This_condition_will_always_return_0:E(2845,1,"This_condition_will_always_return_0_2845","This condition will always return '{0}'."),A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_file_0_instead:E(2846,1,"A_declaration_file_cannot_be_imported_without_import_type_Did_you_mean_to_import_an_implementation_f_2846","A declaration file cannot be imported without 'import type'. Did you mean to import an implementation file '{0}' instead?"),The_right_hand_side_of_an_instanceof_expression_must_not_be_an_instantiation_expression:E(2848,1,"The_right_hand_side_of_an_instanceof_expression_must_not_be_an_instantiation_expression_2848","The right-hand side of an 'instanceof' expression must not be an instantiation expression."),Target_signature_provides_too_few_arguments_Expected_0_or_more_but_got_1:E(2849,1,"Target_signature_provides_too_few_arguments_Expected_0_or_more_but_got_1_2849","Target signature provides too few arguments. Expected {0} or more, but got {1}."),The_initializer_of_a_using_declaration_must_be_either_an_object_with_a_Symbol_dispose_method_or_be_null_or_undefined:E(2850,1,"The_initializer_of_a_using_declaration_must_be_either_an_object_with_a_Symbol_dispose_method_or_be_n_2850","The initializer of a 'using' declaration must be either an object with a '[Symbol.dispose]()' method, or be 'null' or 'undefined'."),The_initializer_of_an_await_using_declaration_must_be_either_an_object_with_a_Symbol_asyncDispose_or_Symbol_dispose_method_or_be_null_or_undefined:E(2851,1,"The_initializer_of_an_await_using_declaration_must_be_either_an_object_with_a_Symbol_asyncDispose_or_2851","The initializer of an 'await using' declaration must be either an object with a '[Symbol.asyncDispose]()' or '[Symbol.dispose]()' method, or be 'null' or 'undefined'."),await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules:E(2852,1,"await_using_statements_are_only_allowed_within_async_functions_and_at_the_top_levels_of_modules_2852","'await using' statements are only allowed within async functions and at the top levels of modules."),await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_this_file_has_no_imports_or_exports_Consider_adding_an_empty_export_to_make_this_file_a_module:E(2853,1,"await_using_statements_are_only_allowed_at_the_top_level_of_a_file_when_that_file_is_a_module_but_th_2853","'await using' statements are only allowed at the top level of a file when that file is a module, but this file has no imports or exports. Consider adding an empty 'export {}' to make this file a module."),Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_system_node16_nodenext_or_preserve_and_the_target_option_is_set_to_es2017_or_higher:E(2854,1,"Top_level_await_using_statements_are_only_allowed_when_the_module_option_is_set_to_es2022_esnext_sys_2854","Top-level 'await using' statements are only allowed when the 'module' option is set to 'es2022', 'esnext', 'system', 'node16', 'nodenext', or 'preserve', and the 'target' option is set to 'es2017' or higher."),Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super:E(2855,1,"Class_field_0_defined_by_the_parent_class_is_not_accessible_in_the_child_class_via_super_2855","Class field '{0}' defined by the parent class is not accessible in the child class via super."),Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls:E(2856,1,"Import_attributes_are_not_allowed_on_statements_that_compile_to_CommonJS_require_calls_2856","Import attributes are not allowed on statements that compile to CommonJS 'require' calls."),Import_attributes_cannot_be_used_with_type_only_imports_or_exports:E(2857,1,"Import_attributes_cannot_be_used_with_type_only_imports_or_exports_2857","Import attributes cannot be used with type-only imports or exports."),Import_attribute_values_must_be_string_literal_expressions:E(2858,1,"Import_attribute_values_must_be_string_literal_expressions_2858","Import attribute values must be string literal expressions."),Excessive_complexity_comparing_types_0_and_1:E(2859,1,"Excessive_complexity_comparing_types_0_and_1_2859","Excessive complexity comparing types '{0}' and '{1}'."),The_left_hand_side_of_an_instanceof_expression_must_be_assignable_to_the_first_argument_of_the_right_hand_side_s_Symbol_hasInstance_method:E(2860,1,"The_left_hand_side_of_an_instanceof_expression_must_be_assignable_to_the_first_argument_of_the_right_2860","The left-hand side of an 'instanceof' expression must be assignable to the first argument of the right-hand side's '[Symbol.hasInstance]' method."),An_object_s_Symbol_hasInstance_method_must_return_a_boolean_value_for_it_to_be_used_on_the_right_hand_side_of_an_instanceof_expression:E(2861,1,"An_object_s_Symbol_hasInstance_method_must_return_a_boolean_value_for_it_to_be_used_on_the_right_han_2861","An object's '[Symbol.hasInstance]' method must return a boolean value for it to be used on the right-hand side of an 'instanceof' expression."),Type_0_is_generic_and_can_only_be_indexed_for_reading:E(2862,1,"Type_0_is_generic_and_can_only_be_indexed_for_reading_2862","Type '{0}' is generic and can only be indexed for reading."),A_class_cannot_extend_a_primitive_type_like_0_Classes_can_only_extend_constructable_values:E(2863,1,"A_class_cannot_extend_a_primitive_type_like_0_Classes_can_only_extend_constructable_values_2863","A class cannot extend a primitive type like '{0}'. Classes can only extend constructable values."),A_class_cannot_implement_a_primitive_type_like_0_It_can_only_implement_other_named_object_types:E(2864,1,"A_class_cannot_implement_a_primitive_type_like_0_It_can_only_implement_other_named_object_types_2864","A class cannot implement a primitive type like '{0}'. It can only implement other named object types."),Import_0_conflicts_with_local_value_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled:E(2865,1,"Import_0_conflicts_with_local_value_so_must_be_declared_with_a_type_only_import_when_isolatedModules_2865","Import '{0}' conflicts with local value, so must be declared with a type-only import when 'isolatedModules' is enabled."),Import_0_conflicts_with_global_value_used_in_this_file_so_must_be_declared_with_a_type_only_import_when_isolatedModules_is_enabled:E(2866,1,"Import_0_conflicts_with_global_value_used_in_this_file_so_must_be_declared_with_a_type_only_import_w_2866","Import '{0}' conflicts with global value used in this file, so must be declared with a type-only import when 'isolatedModules' is enabled."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun:E(2867,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun_2867","Cannot find name '{0}'. Do you need to install type definitions for Bun? Try `npm i --save-dev @types/bun`."),Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun_and_then_add_bun_to_the_types_field_in_your_tsconfig:E(2868,1,"Cannot_find_name_0_Do_you_need_to_install_type_definitions_for_Bun_Try_npm_i_save_dev_types_Slashbun_2868","Cannot find name '{0}'. Do you need to install type definitions for Bun? Try `npm i --save-dev @types/bun` and then add 'bun' to the types field in your tsconfig."),Right_operand_of_is_unreachable_because_the_left_operand_is_never_nullish:E(2869,1,"Right_operand_of_is_unreachable_because_the_left_operand_is_never_nullish_2869","Right operand of ?? is unreachable because the left operand is never nullish."),This_binary_expression_is_never_nullish_Are_you_missing_parentheses:E(2870,1,"This_binary_expression_is_never_nullish_Are_you_missing_parentheses_2870","This binary expression is never nullish. Are you missing parentheses?"),This_expression_is_always_nullish:E(2871,1,"This_expression_is_always_nullish_2871","This expression is always nullish."),This_kind_of_expression_is_always_truthy:E(2872,1,"This_kind_of_expression_is_always_truthy_2872","This kind of expression is always truthy."),This_kind_of_expression_is_always_falsy:E(2873,1,"This_kind_of_expression_is_always_falsy_2873","This kind of expression is always falsy."),This_JSX_tag_requires_0_to_be_in_scope_but_it_could_not_be_found:E(2874,1,"This_JSX_tag_requires_0_to_be_in_scope_but_it_could_not_be_found_2874","This JSX tag requires '{0}' to be in scope, but it could not be found."),This_JSX_tag_requires_the_module_path_0_to_exist_but_none_could_be_found_Make_sure_you_have_types_for_the_appropriate_package_installed:E(2875,1,"This_JSX_tag_requires_the_module_path_0_to_exist_but_none_could_be_found_Make_sure_you_have_types_fo_2875","This JSX tag requires the module path '{0}' to exist, but none could be found. Make sure you have types for the appropriate package installed."),This_relative_import_path_is_unsafe_to_rewrite_because_it_looks_like_a_file_name_but_actually_resolves_to_0:E(2876,1,"This_relative_import_path_is_unsafe_to_rewrite_because_it_looks_like_a_file_name_but_actually_resolv_2876",'This relative import path is unsafe to rewrite because it looks like a file name, but actually resolves to "{0}".'),This_import_uses_a_0_extension_to_resolve_to_an_input_TypeScript_file_but_will_not_be_rewritten_during_emit_because_it_is_not_a_relative_path:E(2877,1,"This_import_uses_a_0_extension_to_resolve_to_an_input_TypeScript_file_but_will_not_be_rewritten_duri_2877","This import uses a '{0}' extension to resolve to an input TypeScript file, but will not be rewritten during emit because it is not a relative path."),This_import_path_is_unsafe_to_rewrite_because_it_resolves_to_another_project_and_the_relative_path_between_the_projects_output_files_is_not_the_same_as_the_relative_path_between_its_input_files:E(2878,1,"This_import_path_is_unsafe_to_rewrite_because_it_resolves_to_another_project_and_the_relative_path_b_2878","This import path is unsafe to rewrite because it resolves to another project, and the relative path between the projects' output files is not the same as the relative path between its input files."),Using_JSX_fragments_requires_fragment_factory_0_to_be_in_scope_but_it_could_not_be_found:E(2879,1,"Using_JSX_fragments_requires_fragment_factory_0_to_be_in_scope_but_it_could_not_be_found_2879","Using JSX fragments requires fragment factory '{0}' to be in scope, but it could not be found."),Import_declaration_0_is_using_private_name_1:E(4e3,1,"Import_declaration_0_is_using_private_name_1_4000","Import declaration '{0}' is using private name '{1}'."),Type_parameter_0_of_exported_class_has_or_is_using_private_name_1:E(4002,1,"Type_parameter_0_of_exported_class_has_or_is_using_private_name_1_4002","Type parameter '{0}' of exported class has or is using private name '{1}'."),Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1:E(4004,1,"Type_parameter_0_of_exported_interface_has_or_is_using_private_name_1_4004","Type parameter '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:E(4006,1,"Type_parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4006","Type parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:E(4008,1,"Type_parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4008","Type parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:E(4010,1,"Type_parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4010","Type parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:E(4012,1,"Type_parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4012","Type parameter '{0}' of public method from exported class has or is using private name '{1}'."),Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:E(4014,1,"Type_parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4014","Type parameter '{0}' of method from exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_function_has_or_is_using_private_name_1:E(4016,1,"Type_parameter_0_of_exported_function_has_or_is_using_private_name_1_4016","Type parameter '{0}' of exported function has or is using private name '{1}'."),Implements_clause_of_exported_class_0_has_or_is_using_private_name_1:E(4019,1,"Implements_clause_of_exported_class_0_has_or_is_using_private_name_1_4019","Implements clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_0_has_or_is_using_private_name_1:E(4020,1,"extends_clause_of_exported_class_0_has_or_is_using_private_name_1_4020","'extends' clause of exported class '{0}' has or is using private name '{1}'."),extends_clause_of_exported_class_has_or_is_using_private_name_0:E(4021,1,"extends_clause_of_exported_class_has_or_is_using_private_name_0_4021","'extends' clause of exported class has or is using private name '{0}'."),extends_clause_of_exported_interface_0_has_or_is_using_private_name_1:E(4022,1,"extends_clause_of_exported_interface_0_has_or_is_using_private_name_1_4022","'extends' clause of exported interface '{0}' has or is using private name '{1}'."),Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:E(4023,1,"Exported_variable_0_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4023","Exported variable '{0}' has or is using name '{1}' from external module {2} but cannot be named."),Exported_variable_0_has_or_is_using_name_1_from_private_module_2:E(4024,1,"Exported_variable_0_has_or_is_using_name_1_from_private_module_2_4024","Exported variable '{0}' has or is using name '{1}' from private module '{2}'."),Exported_variable_0_has_or_is_using_private_name_1:E(4025,1,"Exported_variable_0_has_or_is_using_private_name_1_4025","Exported variable '{0}' has or is using private name '{1}'."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:E(4026,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot__4026","Public static property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:E(4027,1,"Public_static_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4027","Public static property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_property_0_of_exported_class_has_or_is_using_private_name_1:E(4028,1,"Public_static_property_0_of_exported_class_has_or_is_using_private_name_1_4028","Public static property '{0}' of exported class has or is using private name '{1}'."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:E(4029,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_name_4029","Public property '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:E(4030,1,"Public_property_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4030","Public property '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_property_0_of_exported_class_has_or_is_using_private_name_1:E(4031,1,"Public_property_0_of_exported_class_has_or_is_using_private_name_1_4031","Public property '{0}' of exported class has or is using private name '{1}'."),Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:E(4032,1,"Property_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4032","Property '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Property_0_of_exported_interface_has_or_is_using_private_name_1:E(4033,1,"Property_0_of_exported_interface_has_or_is_using_private_name_1_4033","Property '{0}' of exported interface has or is using private name '{1}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:E(4034,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_name_1_from_private_mod_4034","Parameter type of public static setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1:E(4035,1,"Parameter_type_of_public_static_setter_0_from_exported_class_has_or_is_using_private_name_1_4035","Parameter type of public static setter '{0}' from exported class has or is using private name '{1}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:E(4036,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4036","Parameter type of public setter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1:E(4037,1,"Parameter_type_of_public_setter_0_from_exported_class_has_or_is_using_private_name_1_4037","Parameter type of public setter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:E(4038,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_external_modul_4038","Return type of public static getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:E(4039,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_4039","Return type of public static getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1:E(4040,1,"Return_type_of_public_static_getter_0_from_exported_class_has_or_is_using_private_name_1_4040","Return type of public static getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:E(4041,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_4041","Return type of public getter '{0}' from exported class has or is using name '{1}' from external module {2} but cannot be named."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2:E(4042,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_name_1_from_private_module_2_4042","Return type of public getter '{0}' from exported class has or is using name '{1}' from private module '{2}'."),Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1:E(4043,1,"Return_type_of_public_getter_0_from_exported_class_has_or_is_using_private_name_1_4043","Return type of public getter '{0}' from exported class has or is using private name '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:E(4044,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_name_0_from_private_mod_4044","Return type of constructor signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0:E(4045,1,"Return_type_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_0_4045","Return type of constructor signature from exported interface has or is using private name '{0}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:E(4046,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4046","Return type of call signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0:E(4047,1,"Return_type_of_call_signature_from_exported_interface_has_or_is_using_private_name_0_4047","Return type of call signature from exported interface has or is using private name '{0}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1:E(4048,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4048","Return type of index signature from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0:E(4049,1,"Return_type_of_index_signature_from_exported_interface_has_or_is_using_private_name_0_4049","Return type of index signature from exported interface has or is using private name '{0}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:E(4050,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_external_module__4050","Return type of public static method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:E(4051,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4051","Return type of public static method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0:E(4052,1,"Return_type_of_public_static_method_from_exported_class_has_or_is_using_private_name_0_4052","Return type of public static method from exported class has or is using private name '{0}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:E(4053,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_external_module_1_but_c_4053","Return type of public method from exported class has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1:E(4054,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_name_0_from_private_module_1_4054","Return type of public method from exported class has or is using name '{0}' from private module '{1}'."),Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0:E(4055,1,"Return_type_of_public_method_from_exported_class_has_or_is_using_private_name_0_4055","Return type of public method from exported class has or is using private name '{0}'."),Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1:E(4056,1,"Return_type_of_method_from_exported_interface_has_or_is_using_name_0_from_private_module_1_4056","Return type of method from exported interface has or is using name '{0}' from private module '{1}'."),Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0:E(4057,1,"Return_type_of_method_from_exported_interface_has_or_is_using_private_name_0_4057","Return type of method from exported interface has or is using private name '{0}'."),Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named:E(4058,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_external_module_1_but_cannot_be_named_4058","Return type of exported function has or is using name '{0}' from external module {1} but cannot be named."),Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1:E(4059,1,"Return_type_of_exported_function_has_or_is_using_name_0_from_private_module_1_4059","Return type of exported function has or is using name '{0}' from private module '{1}'."),Return_type_of_exported_function_has_or_is_using_private_name_0:E(4060,1,"Return_type_of_exported_function_has_or_is_using_private_name_0_4060","Return type of exported function has or is using private name '{0}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:E(4061,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_can_4061","Parameter '{0}' of constructor from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2:E(4062,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_name_1_from_private_module_2_4062","Parameter '{0}' of constructor from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1:E(4063,1,"Parameter_0_of_constructor_from_exported_class_has_or_is_using_private_name_1_4063","Parameter '{0}' of constructor from exported class has or is using private name '{1}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:E(4064,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_name_1_from_private_mod_4064","Parameter '{0}' of constructor signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1:E(4065,1,"Parameter_0_of_constructor_signature_from_exported_interface_has_or_is_using_private_name_1_4065","Parameter '{0}' of constructor signature from exported interface has or is using private name '{1}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:E(4066,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4066","Parameter '{0}' of call signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1:E(4067,1,"Parameter_0_of_call_signature_from_exported_interface_has_or_is_using_private_name_1_4067","Parameter '{0}' of call signature from exported interface has or is using private name '{1}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:E(4068,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_external_module__4068","Parameter '{0}' of public static method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:E(4069,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4069","Parameter '{0}' of public static method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1:E(4070,1,"Parameter_0_of_public_static_method_from_exported_class_has_or_is_using_private_name_1_4070","Parameter '{0}' of public static method from exported class has or is using private name '{1}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:E(4071,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_external_module_2_but_c_4071","Parameter '{0}' of public method from exported class has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2:E(4072,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_name_1_from_private_module_2_4072","Parameter '{0}' of public method from exported class has or is using name '{1}' from private module '{2}'."),Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1:E(4073,1,"Parameter_0_of_public_method_from_exported_class_has_or_is_using_private_name_1_4073","Parameter '{0}' of public method from exported class has or is using private name '{1}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2:E(4074,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4074","Parameter '{0}' of method from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1:E(4075,1,"Parameter_0_of_method_from_exported_interface_has_or_is_using_private_name_1_4075","Parameter '{0}' of method from exported interface has or is using private name '{1}'."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:E(4076,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4076","Parameter '{0}' of exported function has or is using name '{1}' from external module {2} but cannot be named."),Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2:E(4077,1,"Parameter_0_of_exported_function_has_or_is_using_name_1_from_private_module_2_4077","Parameter '{0}' of exported function has or is using name '{1}' from private module '{2}'."),Parameter_0_of_exported_function_has_or_is_using_private_name_1:E(4078,1,"Parameter_0_of_exported_function_has_or_is_using_private_name_1_4078","Parameter '{0}' of exported function has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1:E(4081,1,"Exported_type_alias_0_has_or_is_using_private_name_1_4081","Exported type alias '{0}' has or is using private name '{1}'."),Default_export_of_the_module_has_or_is_using_private_name_0:E(4082,1,"Default_export_of_the_module_has_or_is_using_private_name_0_4082","Default export of the module has or is using private name '{0}'."),Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1:E(4083,1,"Type_parameter_0_of_exported_type_alias_has_or_is_using_private_name_1_4083","Type parameter '{0}' of exported type alias has or is using private name '{1}'."),Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2:E(4084,1,"Exported_type_alias_0_has_or_is_using_private_name_1_from_module_2_4084","Exported type alias '{0}' has or is using private name '{1}' from module {2}."),Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1:E(4085,1,"Extends_clause_for_inferred_type_0_has_or_is_using_private_name_1_4085","Extends clause for inferred type '{0}' has or is using private name '{1}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2:E(4091,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_name_1_from_private_module_2_4091","Parameter '{0}' of index signature from exported interface has or is using name '{1}' from private module '{2}'."),Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1:E(4092,1,"Parameter_0_of_index_signature_from_exported_interface_has_or_is_using_private_name_1_4092","Parameter '{0}' of index signature from exported interface has or is using private name '{1}'."),Property_0_of_exported_anonymous_class_type_may_not_be_private_or_protected:E(4094,1,"Property_0_of_exported_anonymous_class_type_may_not_be_private_or_protected_4094","Property '{0}' of exported anonymous class type may not be private or protected."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:E(4095,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_4095","Public static method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:E(4096,1,"Public_static_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4096","Public static method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_static_method_0_of_exported_class_has_or_is_using_private_name_1:E(4097,1,"Public_static_method_0_of_exported_class_has_or_is_using_private_name_1_4097","Public static method '{0}' of exported class has or is using private name '{1}'."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:E(4098,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4098","Public method '{0}' of exported class has or is using name '{1}' from external module {2} but cannot be named."),Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2:E(4099,1,"Public_method_0_of_exported_class_has_or_is_using_name_1_from_private_module_2_4099","Public method '{0}' of exported class has or is using name '{1}' from private module '{2}'."),Public_method_0_of_exported_class_has_or_is_using_private_name_1:E(4100,1,"Public_method_0_of_exported_class_has_or_is_using_private_name_1_4100","Public method '{0}' of exported class has or is using private name '{1}'."),Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2:E(4101,1,"Method_0_of_exported_interface_has_or_is_using_name_1_from_private_module_2_4101","Method '{0}' of exported interface has or is using name '{1}' from private module '{2}'."),Method_0_of_exported_interface_has_or_is_using_private_name_1:E(4102,1,"Method_0_of_exported_interface_has_or_is_using_private_name_1_4102","Method '{0}' of exported interface has or is using private name '{1}'."),Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1:E(4103,1,"Type_parameter_0_of_exported_mapped_object_type_is_using_private_name_1_4103","Type parameter '{0}' of exported mapped object type is using private name '{1}'."),The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1:E(4104,1,"The_type_0_is_readonly_and_cannot_be_assigned_to_the_mutable_type_1_4104","The type '{0}' is 'readonly' and cannot be assigned to the mutable type '{1}'."),Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter:E(4105,1,"Private_or_protected_member_0_cannot_be_accessed_on_a_type_parameter_4105","Private or protected member '{0}' cannot be accessed on a type parameter."),Parameter_0_of_accessor_has_or_is_using_private_name_1:E(4106,1,"Parameter_0_of_accessor_has_or_is_using_private_name_1_4106","Parameter '{0}' of accessor has or is using private name '{1}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2:E(4107,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_private_module_2_4107","Parameter '{0}' of accessor has or is using name '{1}' from private module '{2}'."),Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named:E(4108,1,"Parameter_0_of_accessor_has_or_is_using_name_1_from_external_module_2_but_cannot_be_named_4108","Parameter '{0}' of accessor has or is using name '{1}' from external module '{2}' but cannot be named."),Type_arguments_for_0_circularly_reference_themselves:E(4109,1,"Type_arguments_for_0_circularly_reference_themselves_4109","Type arguments for '{0}' circularly reference themselves."),Tuple_type_arguments_circularly_reference_themselves:E(4110,1,"Tuple_type_arguments_circularly_reference_themselves_4110","Tuple type arguments circularly reference themselves."),Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0:E(4111,1,"Property_0_comes_from_an_index_signature_so_it_must_be_accessed_with_0_4111","Property '{0}' comes from an index signature, so it must be accessed with ['{0}']."),This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another_class:E(4112,1,"This_member_cannot_have_an_override_modifier_because_its_containing_class_0_does_not_extend_another__4112","This member cannot have an 'override' modifier because its containing class '{0}' does not extend another class."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0:E(4113,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_4113","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0:E(4114,1,"This_member_must_have_an_override_modifier_because_it_overrides_a_member_in_the_base_class_0_4114","This member must have an 'override' modifier because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0:E(4115,1,"This_parameter_property_must_have_an_override_modifier_because_it_overrides_a_member_in_base_class_0_4115","This parameter property must have an 'override' modifier because it overrides a member in base class '{0}'."),This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared_in_the_base_class_0:E(4116,1,"This_member_must_have_an_override_modifier_because_it_overrides_an_abstract_method_that_is_declared__4116","This member must have an 'override' modifier because it overrides an abstract method that is declared in the base class '{0}'."),This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:E(4117,1,"This_member_cannot_have_an_override_modifier_because_it_is_not_declared_in_the_base_class_0_Did_you__4117","This member cannot have an 'override' modifier because it is not declared in the base class '{0}'. Did you mean '{1}'?"),The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized:E(4118,1,"The_type_of_this_node_cannot_be_serialized_because_its_property_0_cannot_be_serialized_4118","The type of this node cannot be serialized because its property '{0}' cannot be serialized."),This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:E(4119,1,"This_member_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_4119","This member must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_in_the_base_class_0:E(4120,1,"This_parameter_property_must_have_a_JSDoc_comment_with_an_override_tag_because_it_overrides_a_member_4120","This parameter property must have a JSDoc comment with an '@override' tag because it overrides a member in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_extend_another_class:E(4121,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_its_containing_class_0_does_not_4121","This member cannot have a JSDoc comment with an '@override' tag because its containing class '{0}' does not extend another class."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0:E(4122,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4122","This member cannot have a JSDoc comment with an '@override' tag because it is not declared in the base class '{0}'."),This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base_class_0_Did_you_mean_1:E(4123,1,"This_member_cannot_have_a_JSDoc_comment_with_an_override_tag_because_it_is_not_declared_in_the_base__4123","This member cannot have a JSDoc comment with an 'override' tag because it is not declared in the base class '{0}'. Did you mean '{1}'?"),Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_with_npm_install_D_typescript_next:E(4124,1,"Compiler_option_0_of_value_1_is_unstable_Use_nightly_TypeScript_to_silence_this_error_Try_updating_w_4124","Compiler option '{0}' of value '{1}' is unstable. Use nightly TypeScript to silence this error. Try updating with 'npm install -D typescript@next'."),Each_declaration_of_0_1_differs_in_its_value_where_2_was_expected_but_3_was_given:E(4125,1,"Each_declaration_of_0_1_differs_in_its_value_where_2_was_expected_but_3_was_given_4125","Each declaration of '{0}.{1}' differs in its value, where '{2}' was expected but '{3}' was given."),One_value_of_0_1_is_the_string_2_and_the_other_is_assumed_to_be_an_unknown_numeric_value:E(4126,1,"One_value_of_0_1_is_the_string_2_and_the_other_is_assumed_to_be_an_unknown_numeric_value_4126","One value of '{0}.{1}' is the string '{2}', and the other is assumed to be an unknown numeric value."),The_current_host_does_not_support_the_0_option:E(5001,1,"The_current_host_does_not_support_the_0_option_5001","The current host does not support the '{0}' option."),Cannot_find_the_common_subdirectory_path_for_the_input_files:E(5009,1,"Cannot_find_the_common_subdirectory_path_for_the_input_files_5009","Cannot find the common subdirectory path for the input files."),File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:E(5010,1,"File_specification_cannot_end_in_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0_5010","File specification cannot end in a recursive directory wildcard ('**'): '{0}'."),Cannot_read_file_0_Colon_1:E(5012,1,"Cannot_read_file_0_Colon_1_5012","Cannot read file '{0}': {1}."),Unknown_compiler_option_0:E(5023,1,"Unknown_compiler_option_0_5023","Unknown compiler option '{0}'."),Compiler_option_0_requires_a_value_of_type_1:E(5024,1,"Compiler_option_0_requires_a_value_of_type_1_5024","Compiler option '{0}' requires a value of type {1}."),Unknown_compiler_option_0_Did_you_mean_1:E(5025,1,"Unknown_compiler_option_0_Did_you_mean_1_5025","Unknown compiler option '{0}'. Did you mean '{1}'?"),Could_not_write_file_0_Colon_1:E(5033,1,"Could_not_write_file_0_Colon_1_5033","Could not write file '{0}': {1}."),Option_project_cannot_be_mixed_with_source_files_on_a_command_line:E(5042,1,"Option_project_cannot_be_mixed_with_source_files_on_a_command_line_5042","Option 'project' cannot be mixed with source files on a command line."),Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES2015_or_higher:E(5047,1,"Option_isolatedModules_can_only_be_used_when_either_option_module_is_provided_or_option_target_is_ES_5047","Option 'isolatedModules' can only be used when either option '--module' is provided or option 'target' is 'ES2015' or higher."),Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided:E(5051,1,"Option_0_can_only_be_used_when_either_option_inlineSourceMap_or_option_sourceMap_is_provided_5051","Option '{0} can only be used when either option '--inlineSourceMap' or option '--sourceMap' is provided."),Option_0_cannot_be_specified_without_specifying_option_1:E(5052,1,"Option_0_cannot_be_specified_without_specifying_option_1_5052","Option '{0}' cannot be specified without specifying option '{1}'."),Option_0_cannot_be_specified_with_option_1:E(5053,1,"Option_0_cannot_be_specified_with_option_1_5053","Option '{0}' cannot be specified with option '{1}'."),A_tsconfig_json_file_is_already_defined_at_Colon_0:E(5054,1,"A_tsconfig_json_file_is_already_defined_at_Colon_0_5054","A 'tsconfig.json' file is already defined at: '{0}'."),Cannot_write_file_0_because_it_would_overwrite_input_file:E(5055,1,"Cannot_write_file_0_because_it_would_overwrite_input_file_5055","Cannot write file '{0}' because it would overwrite input file."),Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files:E(5056,1,"Cannot_write_file_0_because_it_would_be_overwritten_by_multiple_input_files_5056","Cannot write file '{0}' because it would be overwritten by multiple input files."),Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0:E(5057,1,"Cannot_find_a_tsconfig_json_file_at_the_specified_directory_Colon_0_5057","Cannot find a tsconfig.json file at the specified directory: '{0}'."),The_specified_path_does_not_exist_Colon_0:E(5058,1,"The_specified_path_does_not_exist_Colon_0_5058","The specified path does not exist: '{0}'."),Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier:E(5059,1,"Invalid_value_for_reactNamespace_0_is_not_a_valid_identifier_5059","Invalid value for '--reactNamespace'. '{0}' is not a valid identifier."),Pattern_0_can_have_at_most_one_Asterisk_character:E(5061,1,"Pattern_0_can_have_at_most_one_Asterisk_character_5061","Pattern '{0}' can have at most one '*' character."),Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character:E(5062,1,"Substitution_0_in_pattern_1_can_have_at_most_one_Asterisk_character_5062","Substitution '{0}' in pattern '{1}' can have at most one '*' character."),Substitutions_for_pattern_0_should_be_an_array:E(5063,1,"Substitutions_for_pattern_0_should_be_an_array_5063","Substitutions for pattern '{0}' should be an array."),Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2:E(5064,1,"Substitution_0_for_pattern_1_has_incorrect_type_expected_string_got_2_5064","Substitution '{0}' for pattern '{1}' has incorrect type, expected 'string', got '{2}'."),File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildcard_Asterisk_Asterisk_Colon_0:E(5065,1,"File_specification_cannot_contain_a_parent_directory_that_appears_after_a_recursive_directory_wildca_5065","File specification cannot contain a parent directory ('..') that appears after a recursive directory wildcard ('**'): '{0}'."),Substitutions_for_pattern_0_shouldn_t_be_an_empty_array:E(5066,1,"Substitutions_for_pattern_0_shouldn_t_be_an_empty_array_5066","Substitutions for pattern '{0}' shouldn't be an empty array."),Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name:E(5067,1,"Invalid_value_for_jsxFactory_0_is_not_a_valid_identifier_or_qualified_name_5067","Invalid value for 'jsxFactory'. '{0}' is not a valid identifier or qualified-name."),Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript_files_Learn_more_at_https_Colon_Slash_Slashaka_ms_Slashtsconfig:E(5068,1,"Adding_a_tsconfig_json_file_will_help_organize_projects_that_contain_both_TypeScript_and_JavaScript__5068","Adding a tsconfig.json file will help organize projects that contain both TypeScript and JavaScript files. Learn more at https://aka.ms/tsconfig."),Option_0_cannot_be_specified_without_specifying_option_1_or_option_2:E(5069,1,"Option_0_cannot_be_specified_without_specifying_option_1_or_option_2_5069","Option '{0}' cannot be specified without specifying option '{1}' or option '{2}'."),Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic:E(5070,1,"Option_resolveJsonModule_cannot_be_specified_when_moduleResolution_is_set_to_classic_5070","Option '--resolveJsonModule' cannot be specified when 'moduleResolution' is set to 'classic'."),Option_resolveJsonModule_cannot_be_specified_when_module_is_set_to_none_system_or_umd:E(5071,1,"Option_resolveJsonModule_cannot_be_specified_when_module_is_set_to_none_system_or_umd_5071","Option '--resolveJsonModule' cannot be specified when 'module' is set to 'none', 'system', or 'umd'."),Unknown_build_option_0:E(5072,1,"Unknown_build_option_0_5072","Unknown build option '{0}'."),Build_option_0_requires_a_value_of_type_1:E(5073,1,"Build_option_0_requires_a_value_of_type_1_5073","Build option '{0}' requires a value of type {1}."),Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBuildInfoFile_is_specified:E(5074,1,"Option_incremental_can_only_be_specified_using_tsconfig_emitting_to_single_file_or_when_option_tsBui_5074","Option '--incremental' can only be specified using tsconfig, emitting to single file or when option '--tsBuildInfoFile' is specified."),_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_constraint_2:E(5075,1,"_0_is_assignable_to_the_constraint_of_type_1_but_1_could_be_instantiated_with_a_different_subtype_of_5075","'{0}' is assignable to the constraint of type '{1}', but '{1}' could be instantiated with a different subtype of constraint '{2}'."),_0_and_1_operations_cannot_be_mixed_without_parentheses:E(5076,1,"_0_and_1_operations_cannot_be_mixed_without_parentheses_5076","'{0}' and '{1}' operations cannot be mixed without parentheses."),Unknown_build_option_0_Did_you_mean_1:E(5077,1,"Unknown_build_option_0_Did_you_mean_1_5077","Unknown build option '{0}'. Did you mean '{1}'?"),Unknown_watch_option_0:E(5078,1,"Unknown_watch_option_0_5078","Unknown watch option '{0}'."),Unknown_watch_option_0_Did_you_mean_1:E(5079,1,"Unknown_watch_option_0_Did_you_mean_1_5079","Unknown watch option '{0}'. Did you mean '{1}'?"),Watch_option_0_requires_a_value_of_type_1:E(5080,1,"Watch_option_0_requires_a_value_of_type_1_5080","Watch option '{0}' requires a value of type {1}."),Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0:E(5081,1,"Cannot_find_a_tsconfig_json_file_at_the_current_directory_Colon_0_5081","Cannot find a tsconfig.json file at the current directory: {0}."),_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1:E(5082,1,"_0_could_be_instantiated_with_an_arbitrary_type_which_could_be_unrelated_to_1_5082","'{0}' could be instantiated with an arbitrary type which could be unrelated to '{1}'."),Cannot_read_file_0:E(5083,1,"Cannot_read_file_0_5083","Cannot read file '{0}'."),A_tuple_member_cannot_be_both_optional_and_rest:E(5085,1,"A_tuple_member_cannot_be_both_optional_and_rest_5085","A tuple member cannot be both optional and rest."),A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_colon_rather_than_after_the_type:E(5086,1,"A_labeled_tuple_element_is_declared_as_optional_with_a_question_mark_after_the_name_and_before_the_c_5086","A labeled tuple element is declared as optional with a question mark after the name and before the colon, rather than after the type."),A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type:E(5087,1,"A_labeled_tuple_element_is_declared_as_rest_with_a_before_the_name_rather_than_before_the_type_5087","A labeled tuple element is declared as rest with a '...' before the name, rather than before the type."),The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialized_A_type_annotation_is_necessary:E(5088,1,"The_inferred_type_of_0_references_a_type_with_a_cyclic_structure_which_cannot_be_trivially_serialize_5088","The inferred type of '{0}' references a type with a cyclic structure which cannot be trivially serialized. A type annotation is necessary."),Option_0_cannot_be_specified_when_option_jsx_is_1:E(5089,1,"Option_0_cannot_be_specified_when_option_jsx_is_1_5089","Option '{0}' cannot be specified when option 'jsx' is '{1}'."),Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash:E(5090,1,"Non_relative_paths_are_not_allowed_when_baseUrl_is_not_set_Did_you_forget_a_leading_Slash_5090","Non-relative paths are not allowed when 'baseUrl' is not set. Did you forget a leading './'?"),Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled:E(5091,1,"Option_preserveConstEnums_cannot_be_disabled_when_0_is_enabled_5091","Option 'preserveConstEnums' cannot be disabled when '{0}' is enabled."),The_root_value_of_a_0_file_must_be_an_object:E(5092,1,"The_root_value_of_a_0_file_must_be_an_object_5092","The root value of a '{0}' file must be an object."),Compiler_option_0_may_only_be_used_with_build:E(5093,1,"Compiler_option_0_may_only_be_used_with_build_5093","Compiler option '--{0}' may only be used with '--build'."),Compiler_option_0_may_not_be_used_with_build:E(5094,1,"Compiler_option_0_may_not_be_used_with_build_5094","Compiler option '--{0}' may not be used with '--build'."),Option_0_can_only_be_used_when_module_is_set_to_preserve_or_to_es2015_or_later:E(5095,1,"Option_0_can_only_be_used_when_module_is_set_to_preserve_or_to_es2015_or_later_5095","Option '{0}' can only be used when 'module' is set to 'preserve' or to 'es2015' or later."),Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set:E(5096,1,"Option_allowImportingTsExtensions_can_only_be_used_when_either_noEmit_or_emitDeclarationOnly_is_set_5096","Option 'allowImportingTsExtensions' can only be used when either 'noEmit' or 'emitDeclarationOnly' is set."),An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled:E(5097,1,"An_import_path_can_only_end_with_a_0_extension_when_allowImportingTsExtensions_is_enabled_5097","An import path can only end with a '{0}' extension when 'allowImportingTsExtensions' is enabled."),Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler:E(5098,1,"Option_0_can_only_be_used_when_moduleResolution_is_set_to_node16_nodenext_or_bundler_5098","Option '{0}' can only be used when 'moduleResolution' is set to 'node16', 'nodenext', or 'bundler'."),Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprecations_Colon_2_to_silence_this_error:E(5101,1,"Option_0_is_deprecated_and_will_stop_functioning_in_TypeScript_1_Specify_compilerOption_ignoreDeprec_5101",`Option '{0}' is deprecated and will stop functioning in TypeScript {1}. Specify compilerOption '"ignoreDeprecations": "{2}"' to silence this error.`),Option_0_has_been_removed_Please_remove_it_from_your_configuration:E(5102,1,"Option_0_has_been_removed_Please_remove_it_from_your_configuration_5102","Option '{0}' has been removed. Please remove it from your configuration."),Invalid_value_for_ignoreDeprecations:E(5103,1,"Invalid_value_for_ignoreDeprecations_5103","Invalid value for '--ignoreDeprecations'."),Option_0_is_redundant_and_cannot_be_specified_with_option_1:E(5104,1,"Option_0_is_redundant_and_cannot_be_specified_with_option_1_5104","Option '{0}' is redundant and cannot be specified with option '{1}'."),Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System:E(5105,1,"Option_verbatimModuleSyntax_cannot_be_used_when_module_is_set_to_UMD_AMD_or_System_5105","Option 'verbatimModuleSyntax' cannot be used when 'module' is set to 'UMD', 'AMD', or 'System'."),Use_0_instead:E(5106,3,"Use_0_instead_5106","Use '{0}' instead."),Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDeprecations_Colon_3_to_silence_this_error:E(5107,1,"Option_0_1_is_deprecated_and_will_stop_functioning_in_TypeScript_2_Specify_compilerOption_ignoreDepr_5107",`Option '{0}={1}' is deprecated and will stop functioning in TypeScript {2}. Specify compilerOption '"ignoreDeprecations": "{3}"' to silence this error.`),Option_0_1_has_been_removed_Please_remove_it_from_your_configuration:E(5108,1,"Option_0_1_has_been_removed_Please_remove_it_from_your_configuration_5108","Option '{0}={1}' has been removed. Please remove it from your configuration."),Option_moduleResolution_must_be_set_to_0_or_left_unspecified_when_option_module_is_set_to_1:E(5109,1,"Option_moduleResolution_must_be_set_to_0_or_left_unspecified_when_option_module_is_set_to_1_5109","Option 'moduleResolution' must be set to '{0}' (or left unspecified) when option 'module' is set to '{1}'."),Option_module_must_be_set_to_0_when_option_moduleResolution_is_set_to_1:E(5110,1,"Option_module_must_be_set_to_0_when_option_moduleResolution_is_set_to_1_5110","Option 'module' must be set to '{0}' when option 'moduleResolution' is set to '{1}'."),Generates_a_sourcemap_for_each_corresponding_d_ts_file:E(6e3,3,"Generates_a_sourcemap_for_each_corresponding_d_ts_file_6000","Generates a sourcemap for each corresponding '.d.ts' file."),Concatenate_and_emit_output_to_single_file:E(6001,3,"Concatenate_and_emit_output_to_single_file_6001","Concatenate and emit output to single file."),Generates_corresponding_d_ts_file:E(6002,3,"Generates_corresponding_d_ts_file_6002","Generates corresponding '.d.ts' file."),Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations:E(6004,3,"Specify_the_location_where_debugger_should_locate_TypeScript_files_instead_of_source_locations_6004","Specify the location where debugger should locate TypeScript files instead of source locations."),Watch_input_files:E(6005,3,"Watch_input_files_6005","Watch input files."),Redirect_output_structure_to_the_directory:E(6006,3,"Redirect_output_structure_to_the_directory_6006","Redirect output structure to the directory."),Do_not_erase_const_enum_declarations_in_generated_code:E(6007,3,"Do_not_erase_const_enum_declarations_in_generated_code_6007","Do not erase const enum declarations in generated code."),Do_not_emit_outputs_if_any_errors_were_reported:E(6008,3,"Do_not_emit_outputs_if_any_errors_were_reported_6008","Do not emit outputs if any errors were reported."),Do_not_emit_comments_to_output:E(6009,3,"Do_not_emit_comments_to_output_6009","Do not emit comments to output."),Do_not_emit_outputs:E(6010,3,"Do_not_emit_outputs_6010","Do not emit outputs."),Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typechecking:E(6011,3,"Allow_default_imports_from_modules_with_no_default_export_This_does_not_affect_code_emit_just_typech_6011","Allow default imports from modules with no default export. This does not affect code emit, just typechecking."),Skip_type_checking_of_declaration_files:E(6012,3,"Skip_type_checking_of_declaration_files_6012","Skip type checking of declaration files."),Do_not_resolve_the_real_path_of_symlinks:E(6013,3,"Do_not_resolve_the_real_path_of_symlinks_6013","Do not resolve the real path of symlinks."),Only_emit_d_ts_declaration_files:E(6014,3,"Only_emit_d_ts_declaration_files_6014","Only emit '.d.ts' declaration files."),Specify_ECMAScript_target_version:E(6015,3,"Specify_ECMAScript_target_version_6015","Specify ECMAScript target version."),Specify_module_code_generation:E(6016,3,"Specify_module_code_generation_6016","Specify module code generation."),Print_this_message:E(6017,3,"Print_this_message_6017","Print this message."),Print_the_compiler_s_version:E(6019,3,"Print_the_compiler_s_version_6019","Print the compiler's version."),Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json:E(6020,3,"Compile_the_project_given_the_path_to_its_configuration_file_or_to_a_folder_with_a_tsconfig_json_6020","Compile the project given the path to its configuration file, or to a folder with a 'tsconfig.json'."),Syntax_Colon_0:E(6023,3,"Syntax_Colon_0_6023","Syntax: {0}"),options:E(6024,3,"options_6024","options"),file:E(6025,3,"file_6025","file"),Examples_Colon_0:E(6026,3,"Examples_Colon_0_6026","Examples: {0}"),Options_Colon:E(6027,3,"Options_Colon_6027","Options:"),Version_0:E(6029,3,"Version_0_6029","Version {0}"),Insert_command_line_options_and_files_from_a_file:E(6030,3,"Insert_command_line_options_and_files_from_a_file_6030","Insert command line options and files from a file."),Starting_compilation_in_watch_mode:E(6031,3,"Starting_compilation_in_watch_mode_6031","Starting compilation in watch mode..."),File_change_detected_Starting_incremental_compilation:E(6032,3,"File_change_detected_Starting_incremental_compilation_6032","File change detected. Starting incremental compilation..."),KIND:E(6034,3,"KIND_6034","KIND"),FILE:E(6035,3,"FILE_6035","FILE"),VERSION:E(6036,3,"VERSION_6036","VERSION"),LOCATION:E(6037,3,"LOCATION_6037","LOCATION"),DIRECTORY:E(6038,3,"DIRECTORY_6038","DIRECTORY"),STRATEGY:E(6039,3,"STRATEGY_6039","STRATEGY"),FILE_OR_DIRECTORY:E(6040,3,"FILE_OR_DIRECTORY_6040","FILE OR DIRECTORY"),Errors_Files:E(6041,3,"Errors_Files_6041","Errors Files"),Generates_corresponding_map_file:E(6043,3,"Generates_corresponding_map_file_6043","Generates corresponding '.map' file."),Compiler_option_0_expects_an_argument:E(6044,1,"Compiler_option_0_expects_an_argument_6044","Compiler option '{0}' expects an argument."),Unterminated_quoted_string_in_response_file_0:E(6045,1,"Unterminated_quoted_string_in_response_file_0_6045","Unterminated quoted string in response file '{0}'."),Argument_for_0_option_must_be_Colon_1:E(6046,1,"Argument_for_0_option_must_be_Colon_1_6046","Argument for '{0}' option must be: {1}."),Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1:E(6048,1,"Locale_must_be_of_the_form_language_or_language_territory_For_example_0_or_1_6048","Locale must be of the form or -. For example '{0}' or '{1}'."),Unable_to_open_file_0:E(6050,1,"Unable_to_open_file_0_6050","Unable to open file '{0}'."),Corrupted_locale_file_0:E(6051,1,"Corrupted_locale_file_0_6051","Corrupted locale file {0}."),Raise_error_on_expressions_and_declarations_with_an_implied_any_type:E(6052,3,"Raise_error_on_expressions_and_declarations_with_an_implied_any_type_6052","Raise error on expressions and declarations with an implied 'any' type."),File_0_not_found:E(6053,1,"File_0_not_found_6053","File '{0}' not found."),File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1:E(6054,1,"File_0_has_an_unsupported_extension_The_only_supported_extensions_are_1_6054","File '{0}' has an unsupported extension. The only supported extensions are {1}."),Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures:E(6055,3,"Suppress_noImplicitAny_errors_for_indexing_objects_lacking_index_signatures_6055","Suppress noImplicitAny errors for indexing objects lacking index signatures."),Do_not_emit_declarations_for_code_that_has_an_internal_annotation:E(6056,3,"Do_not_emit_declarations_for_code_that_has_an_internal_annotation_6056","Do not emit declarations for code that has an '@internal' annotation."),Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir:E(6058,3,"Specify_the_root_directory_of_input_files_Use_to_control_the_output_directory_structure_with_outDir_6058","Specify the root directory of input files. Use to control the output directory structure with --outDir."),File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files:E(6059,1,"File_0_is_not_under_rootDir_1_rootDir_is_expected_to_contain_all_source_files_6059","File '{0}' is not under 'rootDir' '{1}'. 'rootDir' is expected to contain all source files."),Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix:E(6060,3,"Specify_the_end_of_line_sequence_to_be_used_when_emitting_files_Colon_CRLF_dos_or_LF_unix_6060","Specify the end of line sequence to be used when emitting files: 'CRLF' (dos) or 'LF' (unix)."),NEWLINE:E(6061,3,"NEWLINE_6061","NEWLINE"),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line:E(6064,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_null_on_command_line_6064","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'null' on command line."),Enables_experimental_support_for_ES7_decorators:E(6065,3,"Enables_experimental_support_for_ES7_decorators_6065","Enables experimental support for ES7 decorators."),Enables_experimental_support_for_emitting_type_metadata_for_decorators:E(6066,3,"Enables_experimental_support_for_emitting_type_metadata_for_decorators_6066","Enables experimental support for emitting type metadata for decorators."),Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file:E(6070,3,"Initializes_a_TypeScript_project_and_creates_a_tsconfig_json_file_6070","Initializes a TypeScript project and creates a tsconfig.json file."),Successfully_created_a_tsconfig_json_file:E(6071,3,"Successfully_created_a_tsconfig_json_file_6071","Successfully created a tsconfig.json file."),Suppress_excess_property_checks_for_object_literals:E(6072,3,"Suppress_excess_property_checks_for_object_literals_6072","Suppress excess property checks for object literals."),Stylize_errors_and_messages_using_color_and_context_experimental:E(6073,3,"Stylize_errors_and_messages_using_color_and_context_experimental_6073","Stylize errors and messages using color and context (experimental)."),Do_not_report_errors_on_unused_labels:E(6074,3,"Do_not_report_errors_on_unused_labels_6074","Do not report errors on unused labels."),Report_error_when_not_all_code_paths_in_function_return_a_value:E(6075,3,"Report_error_when_not_all_code_paths_in_function_return_a_value_6075","Report error when not all code paths in function return a value."),Report_errors_for_fallthrough_cases_in_switch_statement:E(6076,3,"Report_errors_for_fallthrough_cases_in_switch_statement_6076","Report errors for fallthrough cases in switch statement."),Do_not_report_errors_on_unreachable_code:E(6077,3,"Do_not_report_errors_on_unreachable_code_6077","Do not report errors on unreachable code."),Disallow_inconsistently_cased_references_to_the_same_file:E(6078,3,"Disallow_inconsistently_cased_references_to_the_same_file_6078","Disallow inconsistently-cased references to the same file."),Specify_library_files_to_be_included_in_the_compilation:E(6079,3,"Specify_library_files_to_be_included_in_the_compilation_6079","Specify library files to be included in the compilation."),Specify_JSX_code_generation:E(6080,3,"Specify_JSX_code_generation_6080","Specify JSX code generation."),Only_amd_and_system_modules_are_supported_alongside_0:E(6082,1,"Only_amd_and_system_modules_are_supported_alongside_0_6082","Only 'amd' and 'system' modules are supported alongside --{0}."),Base_directory_to_resolve_non_absolute_module_names:E(6083,3,"Base_directory_to_resolve_non_absolute_module_names_6083","Base directory to resolve non-absolute module names."),Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react_JSX_emit:E(6084,3,"Deprecated_Use_jsxFactory_instead_Specify_the_object_invoked_for_createElement_when_targeting_react__6084","[Deprecated] Use '--jsxFactory' instead. Specify the object invoked for createElement when targeting 'react' JSX emit"),Enable_tracing_of_the_name_resolution_process:E(6085,3,"Enable_tracing_of_the_name_resolution_process_6085","Enable tracing of the name resolution process."),Resolving_module_0_from_1:E(6086,3,"Resolving_module_0_from_1_6086","======== Resolving module '{0}' from '{1}'. ========"),Explicitly_specified_module_resolution_kind_Colon_0:E(6087,3,"Explicitly_specified_module_resolution_kind_Colon_0_6087","Explicitly specified module resolution kind: '{0}'."),Module_resolution_kind_is_not_specified_using_0:E(6088,3,"Module_resolution_kind_is_not_specified_using_0_6088","Module resolution kind is not specified, using '{0}'."),Module_name_0_was_successfully_resolved_to_1:E(6089,3,"Module_name_0_was_successfully_resolved_to_1_6089","======== Module name '{0}' was successfully resolved to '{1}'. ========"),Module_name_0_was_not_resolved:E(6090,3,"Module_name_0_was_not_resolved_6090","======== Module name '{0}' was not resolved. ========"),paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0:E(6091,3,"paths_option_is_specified_looking_for_a_pattern_to_match_module_name_0_6091","'paths' option is specified, looking for a pattern to match module name '{0}'."),Module_name_0_matched_pattern_1:E(6092,3,"Module_name_0_matched_pattern_1_6092","Module name '{0}', matched pattern '{1}'."),Trying_substitution_0_candidate_module_location_Colon_1:E(6093,3,"Trying_substitution_0_candidate_module_location_Colon_1_6093","Trying substitution '{0}', candidate module location: '{1}'."),Resolving_module_name_0_relative_to_base_url_1_2:E(6094,3,"Resolving_module_name_0_relative_to_base_url_1_2_6094","Resolving module name '{0}' relative to base url '{1}' - '{2}'."),Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1:E(6095,3,"Loading_module_as_file_Slash_folder_candidate_module_location_0_target_file_types_Colon_1_6095","Loading module as file / folder, candidate module location '{0}', target file types: {1}."),File_0_does_not_exist:E(6096,3,"File_0_does_not_exist_6096","File '{0}' does not exist."),File_0_exists_use_it_as_a_name_resolution_result:E(6097,3,"File_0_exists_use_it_as_a_name_resolution_result_6097","File '{0}' exists - use it as a name resolution result."),Loading_module_0_from_node_modules_folder_target_file_types_Colon_1:E(6098,3,"Loading_module_0_from_node_modules_folder_target_file_types_Colon_1_6098","Loading module '{0}' from 'node_modules' folder, target file types: {1}."),Found_package_json_at_0:E(6099,3,"Found_package_json_at_0_6099","Found 'package.json' at '{0}'."),package_json_does_not_have_a_0_field:E(6100,3,"package_json_does_not_have_a_0_field_6100","'package.json' does not have a '{0}' field."),package_json_has_0_field_1_that_references_2:E(6101,3,"package_json_has_0_field_1_that_references_2_6101","'package.json' has '{0}' field '{1}' that references '{2}'."),Allow_javascript_files_to_be_compiled:E(6102,3,"Allow_javascript_files_to_be_compiled_6102","Allow javascript files to be compiled."),Checking_if_0_is_the_longest_matching_prefix_for_1_2:E(6104,3,"Checking_if_0_is_the_longest_matching_prefix_for_1_2_6104","Checking if '{0}' is the longest matching prefix for '{1}' - '{2}'."),Expected_type_of_0_field_in_package_json_to_be_1_got_2:E(6105,3,"Expected_type_of_0_field_in_package_json_to_be_1_got_2_6105","Expected type of '{0}' field in 'package.json' to be '{1}', got '{2}'."),baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1:E(6106,3,"baseUrl_option_is_set_to_0_using_this_value_to_resolve_non_relative_module_name_1_6106","'baseUrl' option is set to '{0}', using this value to resolve non-relative module name '{1}'."),rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0:E(6107,3,"rootDirs_option_is_set_using_it_to_resolve_relative_module_name_0_6107","'rootDirs' option is set, using it to resolve relative module name '{0}'."),Longest_matching_prefix_for_0_is_1:E(6108,3,"Longest_matching_prefix_for_0_is_1_6108","Longest matching prefix for '{0}' is '{1}'."),Loading_0_from_the_root_dir_1_candidate_location_2:E(6109,3,"Loading_0_from_the_root_dir_1_candidate_location_2_6109","Loading '{0}' from the root dir '{1}', candidate location '{2}'."),Trying_other_entries_in_rootDirs:E(6110,3,"Trying_other_entries_in_rootDirs_6110","Trying other entries in 'rootDirs'."),Module_resolution_using_rootDirs_has_failed:E(6111,3,"Module_resolution_using_rootDirs_has_failed_6111","Module resolution using 'rootDirs' has failed."),Do_not_emit_use_strict_directives_in_module_output:E(6112,3,"Do_not_emit_use_strict_directives_in_module_output_6112","Do not emit 'use strict' directives in module output."),Enable_strict_null_checks:E(6113,3,"Enable_strict_null_checks_6113","Enable strict null checks."),Unknown_option_excludes_Did_you_mean_exclude:E(6114,1,"Unknown_option_excludes_Did_you_mean_exclude_6114","Unknown option 'excludes'. Did you mean 'exclude'?"),Raise_error_on_this_expressions_with_an_implied_any_type:E(6115,3,"Raise_error_on_this_expressions_with_an_implied_any_type_6115","Raise error on 'this' expressions with an implied 'any' type."),Resolving_type_reference_directive_0_containing_file_1_root_directory_2:E(6116,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_2_6116","======== Resolving type reference directive '{0}', containing file '{1}', root directory '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2:E(6119,3,"Type_reference_directive_0_was_successfully_resolved_to_1_primary_Colon_2_6119","======== Type reference directive '{0}' was successfully resolved to '{1}', primary: {2}. ========"),Type_reference_directive_0_was_not_resolved:E(6120,3,"Type_reference_directive_0_was_not_resolved_6120","======== Type reference directive '{0}' was not resolved. ========"),Resolving_with_primary_search_path_0:E(6121,3,"Resolving_with_primary_search_path_0_6121","Resolving with primary search path '{0}'."),Root_directory_cannot_be_determined_skipping_primary_search_paths:E(6122,3,"Root_directory_cannot_be_determined_skipping_primary_search_paths_6122","Root directory cannot be determined, skipping primary search paths."),Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set:E(6123,3,"Resolving_type_reference_directive_0_containing_file_1_root_directory_not_set_6123","======== Resolving type reference directive '{0}', containing file '{1}', root directory not set. ========"),Type_declaration_files_to_be_included_in_compilation:E(6124,3,"Type_declaration_files_to_be_included_in_compilation_6124","Type declaration files to be included in compilation."),Looking_up_in_node_modules_folder_initial_location_0:E(6125,3,"Looking_up_in_node_modules_folder_initial_location_0_6125","Looking up in 'node_modules' folder, initial location '{0}'."),Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_modules_folder:E(6126,3,"Containing_file_is_not_specified_and_root_directory_cannot_be_determined_skipping_lookup_in_node_mod_6126","Containing file is not specified and root directory cannot be determined, skipping lookup in 'node_modules' folder."),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1:E(6127,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_1_6127","======== Resolving type reference directive '{0}', containing file not set, root directory '{1}'. ========"),Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set:E(6128,3,"Resolving_type_reference_directive_0_containing_file_not_set_root_directory_not_set_6128","======== Resolving type reference directive '{0}', containing file not set, root directory not set. ========"),Resolving_real_path_for_0_result_1:E(6130,3,"Resolving_real_path_for_0_result_1_6130","Resolving real path for '{0}', result '{1}'."),Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system:E(6131,1,"Cannot_compile_modules_using_option_0_unless_the_module_flag_is_amd_or_system_6131","Cannot compile modules using option '{0}' unless the '--module' flag is 'amd' or 'system'."),File_name_0_has_a_1_extension_stripping_it:E(6132,3,"File_name_0_has_a_1_extension_stripping_it_6132","File name '{0}' has a '{1}' extension - stripping it."),_0_is_declared_but_its_value_is_never_read:E(6133,1,"_0_is_declared_but_its_value_is_never_read_6133","'{0}' is declared but its value is never read.",!0),Report_errors_on_unused_locals:E(6134,3,"Report_errors_on_unused_locals_6134","Report errors on unused locals."),Report_errors_on_unused_parameters:E(6135,3,"Report_errors_on_unused_parameters_6135","Report errors on unused parameters."),The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files:E(6136,3,"The_maximum_dependency_depth_to_search_under_node_modules_and_load_JavaScript_files_6136","The maximum dependency depth to search under node_modules and load JavaScript files."),Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1:E(6137,1,"Cannot_import_type_declaration_files_Consider_importing_0_instead_of_1_6137","Cannot import type declaration files. Consider importing '{0}' instead of '{1}'."),Property_0_is_declared_but_its_value_is_never_read:E(6138,1,"Property_0_is_declared_but_its_value_is_never_read_6138","Property '{0}' is declared but its value is never read.",!0),Import_emit_helpers_from_tslib:E(6139,3,"Import_emit_helpers_from_tslib_6139","Import emit helpers from 'tslib'."),Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using_cache_location_2:E(6140,1,"Auto_discovery_for_typings_is_enabled_in_project_0_Running_extra_resolution_pass_for_module_1_using__6140","Auto discovery for typings is enabled in project '{0}'. Running extra resolution pass for module '{1}' using cache location '{2}'."),Parse_in_strict_mode_and_emit_use_strict_for_each_source_file:E(6141,3,"Parse_in_strict_mode_and_emit_use_strict_for_each_source_file_6141",'Parse in strict mode and emit "use strict" for each source file.'),Module_0_was_resolved_to_1_but_jsx_is_not_set:E(6142,1,"Module_0_was_resolved_to_1_but_jsx_is_not_set_6142","Module '{0}' was resolved to '{1}', but '--jsx' is not set."),Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1:E(6144,3,"Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1_6144","Module '{0}' was resolved as locally declared ambient module in file '{1}'."),Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h:E(6146,3,"Specify_the_JSX_factory_function_to_use_when_targeting_react_JSX_emit_e_g_React_createElement_or_h_6146","Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'."),Resolution_for_module_0_was_found_in_cache_from_location_1:E(6147,3,"Resolution_for_module_0_was_found_in_cache_from_location_1_6147","Resolution for module '{0}' was found in cache from location '{1}'."),Directory_0_does_not_exist_skipping_all_lookups_in_it:E(6148,3,"Directory_0_does_not_exist_skipping_all_lookups_in_it_6148","Directory '{0}' does not exist, skipping all lookups in it."),Show_diagnostic_information:E(6149,3,"Show_diagnostic_information_6149","Show diagnostic information."),Show_verbose_diagnostic_information:E(6150,3,"Show_verbose_diagnostic_information_6150","Show verbose diagnostic information."),Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file:E(6151,3,"Emit_a_single_file_with_source_maps_instead_of_having_a_separate_file_6151","Emit a single file with source maps instead of having a separate file."),Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap_to_be_set:E(6152,3,"Emit_the_source_alongside_the_sourcemaps_within_a_single_file_requires_inlineSourceMap_or_sourceMap__6152","Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set."),Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule:E(6153,3,"Transpile_each_file_as_a_separate_module_similar_to_ts_transpileModule_6153","Transpile each file as a separate module (similar to 'ts.transpileModule')."),Print_names_of_generated_files_part_of_the_compilation:E(6154,3,"Print_names_of_generated_files_part_of_the_compilation_6154","Print names of generated files part of the compilation."),Print_names_of_files_part_of_the_compilation:E(6155,3,"Print_names_of_files_part_of_the_compilation_6155","Print names of files part of the compilation."),The_locale_used_when_displaying_messages_to_the_user_e_g_en_us:E(6156,3,"The_locale_used_when_displaying_messages_to_the_user_e_g_en_us_6156","The locale used when displaying messages to the user (e.g. 'en-us')"),Do_not_generate_custom_helper_functions_like_extends_in_compiled_output:E(6157,3,"Do_not_generate_custom_helper_functions_like_extends_in_compiled_output_6157","Do not generate custom helper functions like '__extends' in compiled output."),Do_not_include_the_default_library_file_lib_d_ts:E(6158,3,"Do_not_include_the_default_library_file_lib_d_ts_6158","Do not include the default library file (lib.d.ts)."),Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files:E(6159,3,"Do_not_add_triple_slash_references_or_imported_modules_to_the_list_of_compiled_files_6159","Do not add triple-slash references or imported modules to the list of compiled files."),Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files:E(6160,3,"Deprecated_Use_skipLibCheck_instead_Skip_type_checking_of_default_library_declaration_files_6160","[Deprecated] Use '--skipLibCheck' instead. Skip type checking of default library declaration files."),List_of_folders_to_include_type_definitions_from:E(6161,3,"List_of_folders_to_include_type_definitions_from_6161","List of folders to include type definitions from."),Disable_size_limitations_on_JavaScript_projects:E(6162,3,"Disable_size_limitations_on_JavaScript_projects_6162","Disable size limitations on JavaScript projects."),The_character_set_of_the_input_files:E(6163,3,"The_character_set_of_the_input_files_6163","The character set of the input files."),Skipping_module_0_that_looks_like_an_absolute_URI_target_file_types_Colon_1:E(6164,3,"Skipping_module_0_that_looks_like_an_absolute_URI_target_file_types_Colon_1_6164","Skipping module '{0}' that looks like an absolute URI, target file types: {1}."),Do_not_truncate_error_messages:E(6165,3,"Do_not_truncate_error_messages_6165","Do not truncate error messages."),Output_directory_for_generated_declaration_files:E(6166,3,"Output_directory_for_generated_declaration_files_6166","Output directory for generated declaration files."),A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl:E(6167,3,"A_series_of_entries_which_re_map_imports_to_lookup_locations_relative_to_the_baseUrl_6167","A series of entries which re-map imports to lookup locations relative to the 'baseUrl'."),List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime:E(6168,3,"List_of_root_folders_whose_combined_content_represents_the_structure_of_the_project_at_runtime_6168","List of root folders whose combined content represents the structure of the project at runtime."),Show_all_compiler_options:E(6169,3,"Show_all_compiler_options_6169","Show all compiler options."),Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file:E(6170,3,"Deprecated_Use_outFile_instead_Concatenate_and_emit_output_to_single_file_6170","[Deprecated] Use '--outFile' instead. Concatenate and emit output to single file"),Command_line_Options:E(6171,3,"Command_line_Options_6171","Command-line Options"),Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5:E(6179,3,"Provide_full_support_for_iterables_in_for_of_spread_and_destructuring_when_targeting_ES5_6179","Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5'."),Enable_all_strict_type_checking_options:E(6180,3,"Enable_all_strict_type_checking_options_6180","Enable all strict type-checking options."),Scoped_package_detected_looking_in_0:E(6182,3,"Scoped_package_detected_looking_in_0_6182","Scoped package detected, looking in '{0}'"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2:E(6183,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_6183","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:E(6184,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package__6184","Reusing resolution of module '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Enable_strict_checking_of_function_types:E(6186,3,"Enable_strict_checking_of_function_types_6186","Enable strict checking of function types."),Enable_strict_checking_of_property_initialization_in_classes:E(6187,3,"Enable_strict_checking_of_property_initialization_in_classes_6187","Enable strict checking of property initialization in classes."),Numeric_separators_are_not_allowed_here:E(6188,1,"Numeric_separators_are_not_allowed_here_6188","Numeric separators are not allowed here."),Multiple_consecutive_numeric_separators_are_not_permitted:E(6189,1,"Multiple_consecutive_numeric_separators_are_not_permitted_6189","Multiple consecutive numeric separators are not permitted."),Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen:E(6191,3,"Whether_to_keep_outdated_console_output_in_watch_mode_instead_of_clearing_the_screen_6191","Whether to keep outdated console output in watch mode instead of clearing the screen."),All_imports_in_import_declaration_are_unused:E(6192,1,"All_imports_in_import_declaration_are_unused_6192","All imports in import declaration are unused.",!0),Found_1_error_Watching_for_file_changes:E(6193,3,"Found_1_error_Watching_for_file_changes_6193","Found 1 error. Watching for file changes."),Found_0_errors_Watching_for_file_changes:E(6194,3,"Found_0_errors_Watching_for_file_changes_6194","Found {0} errors. Watching for file changes."),Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols:E(6195,3,"Resolve_keyof_to_string_valued_property_names_only_no_numbers_or_symbols_6195","Resolve 'keyof' to string valued property names only (no numbers or symbols)."),_0_is_declared_but_never_used:E(6196,1,"_0_is_declared_but_never_used_6196","'{0}' is declared but never used.",!0),Include_modules_imported_with_json_extension:E(6197,3,"Include_modules_imported_with_json_extension_6197","Include modules imported with '.json' extension"),All_destructured_elements_are_unused:E(6198,1,"All_destructured_elements_are_unused_6198","All destructured elements are unused.",!0),All_variables_are_unused:E(6199,1,"All_variables_are_unused_6199","All variables are unused.",!0),Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0:E(6200,1,"Definitions_of_the_following_identifiers_conflict_with_those_in_another_file_Colon_0_6200","Definitions of the following identifiers conflict with those in another file: {0}"),Conflicts_are_in_this_file:E(6201,3,"Conflicts_are_in_this_file_6201","Conflicts are in this file."),Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0:E(6202,1,"Project_references_may_not_form_a_circular_graph_Cycle_detected_Colon_0_6202","Project references may not form a circular graph. Cycle detected: {0}"),_0_was_also_declared_here:E(6203,3,"_0_was_also_declared_here_6203","'{0}' was also declared here."),and_here:E(6204,3,"and_here_6204","and here."),All_type_parameters_are_unused:E(6205,1,"All_type_parameters_are_unused_6205","All type parameters are unused."),package_json_has_a_typesVersions_field_with_version_specific_path_mappings:E(6206,3,"package_json_has_a_typesVersions_field_with_version_specific_path_mappings_6206","'package.json' has a 'typesVersions' field with version-specific path mappings."),package_json_does_not_have_a_typesVersions_entry_that_matches_version_0:E(6207,3,"package_json_does_not_have_a_typesVersions_entry_that_matches_version_0_6207","'package.json' does not have a 'typesVersions' entry that matches version '{0}'."),package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_match_module_name_2:E(6208,3,"package_json_has_a_typesVersions_entry_0_that_matches_compiler_version_1_looking_for_a_pattern_to_ma_6208","'package.json' has a 'typesVersions' entry '{0}' that matches compiler version '{1}', looking for a pattern to match module name '{2}'."),package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range:E(6209,3,"package_json_has_a_typesVersions_entry_0_that_is_not_a_valid_semver_range_6209","'package.json' has a 'typesVersions' entry '{0}' that is not a valid semver range."),An_argument_for_0_was_not_provided:E(6210,3,"An_argument_for_0_was_not_provided_6210","An argument for '{0}' was not provided."),An_argument_matching_this_binding_pattern_was_not_provided:E(6211,3,"An_argument_matching_this_binding_pattern_was_not_provided_6211","An argument matching this binding pattern was not provided."),Did_you_mean_to_call_this_expression:E(6212,3,"Did_you_mean_to_call_this_expression_6212","Did you mean to call this expression?"),Did_you_mean_to_use_new_with_this_expression:E(6213,3,"Did_you_mean_to_use_new_with_this_expression_6213","Did you mean to use 'new' with this expression?"),Enable_strict_bind_call_and_apply_methods_on_functions:E(6214,3,"Enable_strict_bind_call_and_apply_methods_on_functions_6214","Enable strict 'bind', 'call', and 'apply' methods on functions."),Using_compiler_options_of_project_reference_redirect_0:E(6215,3,"Using_compiler_options_of_project_reference_redirect_0_6215","Using compiler options of project reference redirect '{0}'."),Found_1_error:E(6216,3,"Found_1_error_6216","Found 1 error."),Found_0_errors:E(6217,3,"Found_0_errors_6217","Found {0} errors."),Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2:E(6218,3,"Module_name_0_was_successfully_resolved_to_1_with_Package_ID_2_6218","======== Module name '{0}' was successfully resolved to '{1}' with Package ID '{2}'. ========"),Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3:E(6219,3,"Type_reference_directive_0_was_successfully_resolved_to_1_with_Package_ID_2_primary_Colon_3_6219","======== Type reference directive '{0}' was successfully resolved to '{1}' with Package ID '{2}', primary: {3}. ========"),package_json_had_a_falsy_0_field:E(6220,3,"package_json_had_a_falsy_0_field_6220","'package.json' had a falsy '{0}' field."),Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects:E(6221,3,"Disable_use_of_source_files_instead_of_declaration_files_from_referenced_projects_6221","Disable use of source files instead of declaration files from referenced projects."),Emit_class_fields_with_Define_instead_of_Set:E(6222,3,"Emit_class_fields_with_Define_instead_of_Set_6222","Emit class fields with Define instead of Set."),Generates_a_CPU_profile:E(6223,3,"Generates_a_CPU_profile_6223","Generates a CPU profile."),Disable_solution_searching_for_this_project:E(6224,3,"Disable_solution_searching_for_this_project_6224","Disable solution searching for this project."),Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling_UseFsEvents_UseFsEventsOnParentDirectory:E(6225,3,"Specify_strategy_for_watching_file_Colon_FixedPollingInterval_default_PriorityPollingInterval_Dynami_6225","Specify strategy for watching file: 'FixedPollingInterval' (default), 'PriorityPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling', 'UseFsEvents', 'UseFsEventsOnParentDirectory'."),Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively_Colon_UseFsEvents_default_FixedPollingInterval_DynamicPriorityPolling_FixedChunkSizePolling:E(6226,3,"Specify_strategy_for_watching_directory_on_platforms_that_don_t_support_recursive_watching_natively__6226","Specify strategy for watching directory on platforms that don't support recursive watching natively: 'UseFsEvents' (default), 'FixedPollingInterval', 'DynamicPriorityPolling', 'FixedChunkSizePolling'."),Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_FixedInterval_default_PriorityInterval_DynamicPriority_FixedChunkSize:E(6227,3,"Specify_strategy_for_creating_a_polling_watch_when_it_fails_to_create_using_file_system_events_Colon_6227","Specify strategy for creating a polling watch when it fails to create using file system events: 'FixedInterval' (default), 'PriorityInterval', 'DynamicPriority', 'FixedChunkSize'."),Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3:E(6229,1,"Tag_0_expects_at_least_1_arguments_but_the_JSX_factory_2_provides_at_most_3_6229","Tag '{0}' expects at least '{1}' arguments, but the JSX factory '{2}' provides at most '{3}'."),Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line:E(6230,1,"Option_0_can_only_be_specified_in_tsconfig_json_file_or_set_to_false_or_null_on_command_line_6230","Option '{0}' can only be specified in 'tsconfig.json' file or set to 'false' or 'null' on command line."),Could_not_resolve_the_path_0_with_the_extensions_Colon_1:E(6231,1,"Could_not_resolve_the_path_0_with_the_extensions_Colon_1_6231","Could not resolve the path '{0}' with the extensions: {1}."),Declaration_augments_declaration_in_another_file_This_cannot_be_serialized:E(6232,1,"Declaration_augments_declaration_in_another_file_This_cannot_be_serialized_6232","Declaration augments declaration in another file. This cannot be serialized."),This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_file:E(6233,1,"This_is_the_declaration_being_augmented_Consider_moving_the_augmenting_declaration_into_the_same_fil_6233","This is the declaration being augmented. Consider moving the augmenting declaration into the same file."),This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without:E(6234,1,"This_expression_is_not_callable_because_it_is_a_get_accessor_Did_you_mean_to_use_it_without_6234","This expression is not callable because it is a 'get' accessor. Did you mean to use it without '()'?"),Disable_loading_referenced_projects:E(6235,3,"Disable_loading_referenced_projects_6235","Disable loading referenced projects."),Arguments_for_the_rest_parameter_0_were_not_provided:E(6236,1,"Arguments_for_the_rest_parameter_0_were_not_provided_6236","Arguments for the rest parameter '{0}' were not provided."),Generates_an_event_trace_and_a_list_of_types:E(6237,3,"Generates_an_event_trace_and_a_list_of_types_6237","Generates an event trace and a list of types."),Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react:E(6238,1,"Specify_the_module_specifier_to_be_used_to_import_the_jsx_and_jsxs_factory_functions_from_eg_react_6238","Specify the module specifier to be used to import the 'jsx' and 'jsxs' factory functions from. eg, react"),File_0_exists_according_to_earlier_cached_lookups:E(6239,3,"File_0_exists_according_to_earlier_cached_lookups_6239","File '{0}' exists according to earlier cached lookups."),File_0_does_not_exist_according_to_earlier_cached_lookups:E(6240,3,"File_0_does_not_exist_according_to_earlier_cached_lookups_6240","File '{0}' does not exist according to earlier cached lookups."),Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1:E(6241,3,"Resolution_for_type_reference_directive_0_was_found_in_cache_from_location_1_6241","Resolution for type reference directive '{0}' was found in cache from location '{1}'."),Resolving_type_reference_directive_0_containing_file_1:E(6242,3,"Resolving_type_reference_directive_0_containing_file_1_6242","======== Resolving type reference directive '{0}', containing file '{1}'. ========"),Interpret_optional_property_types_as_written_rather_than_adding_undefined:E(6243,3,"Interpret_optional_property_types_as_written_rather_than_adding_undefined_6243","Interpret optional property types as written, rather than adding 'undefined'."),Modules:E(6244,3,"Modules_6244","Modules"),File_Management:E(6245,3,"File_Management_6245","File Management"),Emit:E(6246,3,"Emit_6246","Emit"),JavaScript_Support:E(6247,3,"JavaScript_Support_6247","JavaScript Support"),Type_Checking:E(6248,3,"Type_Checking_6248","Type Checking"),Editor_Support:E(6249,3,"Editor_Support_6249","Editor Support"),Watch_and_Build_Modes:E(6250,3,"Watch_and_Build_Modes_6250","Watch and Build Modes"),Compiler_Diagnostics:E(6251,3,"Compiler_Diagnostics_6251","Compiler Diagnostics"),Interop_Constraints:E(6252,3,"Interop_Constraints_6252","Interop Constraints"),Backwards_Compatibility:E(6253,3,"Backwards_Compatibility_6253","Backwards Compatibility"),Language_and_Environment:E(6254,3,"Language_and_Environment_6254","Language and Environment"),Projects:E(6255,3,"Projects_6255","Projects"),Output_Formatting:E(6256,3,"Output_Formatting_6256","Output Formatting"),Completeness:E(6257,3,"Completeness_6257","Completeness"),_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file:E(6258,1,"_0_should_be_set_inside_the_compilerOptions_object_of_the_config_json_file_6258","'{0}' should be set inside the 'compilerOptions' object of the config json file"),Found_1_error_in_0:E(6259,3,"Found_1_error_in_0_6259","Found 1 error in {0}"),Found_0_errors_in_the_same_file_starting_at_Colon_1:E(6260,3,"Found_0_errors_in_the_same_file_starting_at_Colon_1_6260","Found {0} errors in the same file, starting at: {1}"),Found_0_errors_in_1_files:E(6261,3,"Found_0_errors_in_1_files_6261","Found {0} errors in {1} files."),File_name_0_has_a_1_extension_looking_up_2_instead:E(6262,3,"File_name_0_has_a_1_extension_looking_up_2_instead_6262","File name '{0}' has a '{1}' extension - looking up '{2}' instead."),Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set:E(6263,1,"Module_0_was_resolved_to_1_but_allowArbitraryExtensions_is_not_set_6263","Module '{0}' was resolved to '{1}', but '--allowArbitraryExtensions' is not set."),Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present:E(6264,3,"Enable_importing_files_with_any_extension_provided_a_declaration_file_is_present_6264","Enable importing files with any extension, provided a declaration file is present."),Resolving_type_reference_directive_for_program_that_specifies_custom_typeRoots_skipping_lookup_in_node_modules_folder:E(6265,3,"Resolving_type_reference_directive_for_program_that_specifies_custom_typeRoots_skipping_lookup_in_no_6265","Resolving type reference directive for program that specifies custom typeRoots, skipping lookup in 'node_modules' folder."),Option_0_can_only_be_specified_on_command_line:E(6266,1,"Option_0_can_only_be_specified_on_command_line_6266","Option '{0}' can only be specified on command line."),Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve:E(6270,3,"Directory_0_has_no_containing_package_json_scope_Imports_will_not_resolve_6270","Directory '{0}' has no containing package.json scope. Imports will not resolve."),Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1:E(6271,3,"Import_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6271","Import specifier '{0}' does not exist in package.json scope at path '{1}'."),Invalid_import_specifier_0_has_no_possible_resolutions:E(6272,3,"Invalid_import_specifier_0_has_no_possible_resolutions_6272","Invalid import specifier '{0}' has no possible resolutions."),package_json_scope_0_has_no_imports_defined:E(6273,3,"package_json_scope_0_has_no_imports_defined_6273","package.json scope '{0}' has no imports defined."),package_json_scope_0_explicitly_maps_specifier_1_to_null:E(6274,3,"package_json_scope_0_explicitly_maps_specifier_1_to_null_6274","package.json scope '{0}' explicitly maps specifier '{1}' to null."),package_json_scope_0_has_invalid_type_for_target_of_specifier_1:E(6275,3,"package_json_scope_0_has_invalid_type_for_target_of_specifier_1_6275","package.json scope '{0}' has invalid type for target of specifier '{1}'"),Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1:E(6276,3,"Export_specifier_0_does_not_exist_in_package_json_scope_at_path_1_6276","Export specifier '{0}' does not exist in package.json scope at path '{1}'."),Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_if_npm_library_needs_configuration_update:E(6277,3,"Resolution_of_non_relative_name_failed_trying_with_modern_Node_resolution_features_disabled_to_see_i_6277","Resolution of non-relative name failed; trying with modern Node resolution features disabled to see if npm library needs configuration update."),There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The_1_library_may_need_to_update_its_package_json_or_typings:E(6278,3,"There_are_types_at_0_but_this_result_could_not_be_resolved_when_respecting_package_json_exports_The__6278",`There are types at '{0}', but this result could not be resolved when respecting package.json "exports". The '{1}' library may need to update its package.json or typings.`),Resolution_of_non_relative_name_failed_trying_with_moduleResolution_bundler_to_see_if_project_may_need_configuration_update:E(6279,3,"Resolution_of_non_relative_name_failed_trying_with_moduleResolution_bundler_to_see_if_project_may_ne_6279","Resolution of non-relative name failed; trying with '--moduleResolution bundler' to see if project may need configuration update."),There_are_types_at_0_but_this_result_could_not_be_resolved_under_your_current_moduleResolution_setting_Consider_updating_to_node16_nodenext_or_bundler:E(6280,3,"There_are_types_at_0_but_this_result_could_not_be_resolved_under_your_current_moduleResolution_setti_6280","There are types at '{0}', but this result could not be resolved under your current 'moduleResolution' setting. Consider updating to 'node16', 'nodenext', or 'bundler'."),package_json_has_a_peerDependencies_field:E(6281,3,"package_json_has_a_peerDependencies_field_6281","'package.json' has a 'peerDependencies' field."),Found_peerDependency_0_with_1_version:E(6282,3,"Found_peerDependency_0_with_1_version_6282","Found peerDependency '{0}' with '{1}' version."),Failed_to_find_peerDependency_0:E(6283,3,"Failed_to_find_peerDependency_0_6283","Failed to find peerDependency '{0}'."),Enable_project_compilation:E(6302,3,"Enable_project_compilation_6302","Enable project compilation"),Composite_projects_may_not_disable_declaration_emit:E(6304,1,"Composite_projects_may_not_disable_declaration_emit_6304","Composite projects may not disable declaration emit."),Output_file_0_has_not_been_built_from_source_file_1:E(6305,1,"Output_file_0_has_not_been_built_from_source_file_1_6305","Output file '{0}' has not been built from source file '{1}'."),Referenced_project_0_must_have_setting_composite_Colon_true:E(6306,1,"Referenced_project_0_must_have_setting_composite_Colon_true_6306",`Referenced project '{0}' must have setting "composite": true.`),File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_include_pattern:E(6307,1,"File_0_is_not_listed_within_the_file_list_of_project_1_Projects_must_list_all_files_or_use_an_includ_6307","File '{0}' is not listed within the file list of project '{1}'. Projects must list all files or use an 'include' pattern."),Referenced_project_0_may_not_disable_emit:E(6310,1,"Referenced_project_0_may_not_disable_emit_6310","Referenced project '{0}' may not disable emit."),Project_0_is_out_of_date_because_output_1_is_older_than_input_2:E(6350,3,"Project_0_is_out_of_date_because_output_1_is_older_than_input_2_6350","Project '{0}' is out of date because output '{1}' is older than input '{2}'"),Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2:E(6351,3,"Project_0_is_up_to_date_because_newest_input_1_is_older_than_output_2_6351","Project '{0}' is up to date because newest input '{1}' is older than output '{2}'"),Project_0_is_out_of_date_because_output_file_1_does_not_exist:E(6352,3,"Project_0_is_out_of_date_because_output_file_1_does_not_exist_6352","Project '{0}' is out of date because output file '{1}' does not exist"),Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date:E(6353,3,"Project_0_is_out_of_date_because_its_dependency_1_is_out_of_date_6353","Project '{0}' is out of date because its dependency '{1}' is out of date"),Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies:E(6354,3,"Project_0_is_up_to_date_with_d_ts_files_from_its_dependencies_6354","Project '{0}' is up to date with .d.ts files from its dependencies"),Projects_in_this_build_Colon_0:E(6355,3,"Projects_in_this_build_Colon_0_6355","Projects in this build: {0}"),A_non_dry_build_would_delete_the_following_files_Colon_0:E(6356,3,"A_non_dry_build_would_delete_the_following_files_Colon_0_6356","A non-dry build would delete the following files: {0}"),A_non_dry_build_would_build_project_0:E(6357,3,"A_non_dry_build_would_build_project_0_6357","A non-dry build would build project '{0}'"),Building_project_0:E(6358,3,"Building_project_0_6358","Building project '{0}'..."),Updating_output_timestamps_of_project_0:E(6359,3,"Updating_output_timestamps_of_project_0_6359","Updating output timestamps of project '{0}'..."),Project_0_is_up_to_date:E(6361,3,"Project_0_is_up_to_date_6361","Project '{0}' is up to date"),Skipping_build_of_project_0_because_its_dependency_1_has_errors:E(6362,3,"Skipping_build_of_project_0_because_its_dependency_1_has_errors_6362","Skipping build of project '{0}' because its dependency '{1}' has errors"),Project_0_can_t_be_built_because_its_dependency_1_has_errors:E(6363,3,"Project_0_can_t_be_built_because_its_dependency_1_has_errors_6363","Project '{0}' can't be built because its dependency '{1}' has errors"),Build_one_or_more_projects_and_their_dependencies_if_out_of_date:E(6364,3,"Build_one_or_more_projects_and_their_dependencies_if_out_of_date_6364","Build one or more projects and their dependencies, if out of date"),Delete_the_outputs_of_all_projects:E(6365,3,"Delete_the_outputs_of_all_projects_6365","Delete the outputs of all projects."),Show_what_would_be_built_or_deleted_if_specified_with_clean:E(6367,3,"Show_what_would_be_built_or_deleted_if_specified_with_clean_6367","Show what would be built (or deleted, if specified with '--clean')"),Option_build_must_be_the_first_command_line_argument:E(6369,1,"Option_build_must_be_the_first_command_line_argument_6369","Option '--build' must be the first command line argument."),Options_0_and_1_cannot_be_combined:E(6370,1,"Options_0_and_1_cannot_be_combined_6370","Options '{0}' and '{1}' cannot be combined."),Updating_unchanged_output_timestamps_of_project_0:E(6371,3,"Updating_unchanged_output_timestamps_of_project_0_6371","Updating unchanged output timestamps of project '{0}'..."),A_non_dry_build_would_update_timestamps_for_output_of_project_0:E(6374,3,"A_non_dry_build_would_update_timestamps_for_output_of_project_0_6374","A non-dry build would update timestamps for output of project '{0}'"),Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1:E(6377,1,"Cannot_write_file_0_because_it_will_overwrite_tsbuildinfo_file_generated_by_referenced_project_1_6377","Cannot write file '{0}' because it will overwrite '.tsbuildinfo' file generated by referenced project '{1}'"),Composite_projects_may_not_disable_incremental_compilation:E(6379,1,"Composite_projects_may_not_disable_incremental_compilation_6379","Composite projects may not disable incremental compilation."),Specify_file_to_store_incremental_compilation_information:E(6380,3,"Specify_file_to_store_incremental_compilation_information_6380","Specify file to store incremental compilation information"),Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_current_version_2:E(6381,3,"Project_0_is_out_of_date_because_output_for_it_was_generated_with_version_1_that_differs_with_curren_6381","Project '{0}' is out of date because output for it was generated with version '{1}' that differs with current version '{2}'"),Skipping_build_of_project_0_because_its_dependency_1_was_not_built:E(6382,3,"Skipping_build_of_project_0_because_its_dependency_1_was_not_built_6382","Skipping build of project '{0}' because its dependency '{1}' was not built"),Project_0_can_t_be_built_because_its_dependency_1_was_not_built:E(6383,3,"Project_0_can_t_be_built_because_its_dependency_1_was_not_built_6383","Project '{0}' can't be built because its dependency '{1}' was not built"),Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:E(6384,3,"Have_recompiles_in_incremental_and_watch_assume_that_changes_within_a_file_will_only_affect_files_di_6384","Have recompiles in '--incremental' and '--watch' assume that changes within a file will only affect files directly depending on it."),_0_is_deprecated:E(6385,2,"_0_is_deprecated_6385","'{0}' is deprecated.",void 0,void 0,!0),Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_native_implementation_of_the_Web_Performance_API_could_not_be_found:E(6386,3,"Performance_timings_for_diagnostics_or_extendedDiagnostics_are_not_available_in_this_session_A_nativ_6386","Performance timings for '--diagnostics' or '--extendedDiagnostics' are not available in this session. A native implementation of the Web Performance API could not be found."),The_signature_0_of_1_is_deprecated:E(6387,2,"The_signature_0_of_1_is_deprecated_6387","The signature '{0}' of '{1}' is deprecated.",void 0,void 0,!0),Project_0_is_being_forcibly_rebuilt:E(6388,3,"Project_0_is_being_forcibly_rebuilt_6388","Project '{0}' is being forcibly rebuilt"),Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved:E(6389,3,"Reusing_resolution_of_module_0_from_1_of_old_program_it_was_not_resolved_6389","Reusing resolution of module '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2:E(6390,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6390","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved_to_2_with_Package_ID_3:E(6391,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_successfully_resolved__6391","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was successfully resolved to '{2}' with Package ID '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved:E(6392,3,"Reusing_resolution_of_type_reference_directive_0_from_1_of_old_program_it_was_not_resolved_6392","Reusing resolution of type reference directive '{0}' from '{1}' of old program, it was not resolved."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:E(6393,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6393","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:E(6394,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_6394","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:E(6395,3,"Reusing_resolution_of_module_0_from_1_found_in_cache_from_location_2_it_was_not_resolved_6395","Reusing resolution of module '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3:E(6396,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6396","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_successfully_resolved_to_3_with_Package_ID_4:E(6397,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_succes_6397","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was successfully resolved to '{3}' with Package ID '{4}'."),Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_resolved:E(6398,3,"Reusing_resolution_of_type_reference_directive_0_from_1_found_in_cache_from_location_2_it_was_not_re_6398","Reusing resolution of type reference directive '{0}' from '{1}' found in cache from location '{2}', it was not resolved."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitted:E(6399,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_some_of_the_changes_were_not_emitte_6399","Project '{0}' is out of date because buildinfo file '{1}' indicates that some of the changes were not emitted"),Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_files:E(6400,3,"Project_0_is_up_to_date_but_needs_to_update_timestamps_of_output_files_that_are_older_than_input_fil_6400","Project '{0}' is up to date but needs to update timestamps of output files that are older than input files"),Project_0_is_out_of_date_because_there_was_error_reading_file_1:E(6401,3,"Project_0_is_out_of_date_because_there_was_error_reading_file_1_6401","Project '{0}' is out of date because there was error reading file '{1}'"),Resolving_in_0_mode_with_conditions_1:E(6402,3,"Resolving_in_0_mode_with_conditions_1_6402","Resolving in {0} mode with conditions {1}."),Matched_0_condition_1:E(6403,3,"Matched_0_condition_1_6403","Matched '{0}' condition '{1}'."),Using_0_subpath_1_with_target_2:E(6404,3,"Using_0_subpath_1_with_target_2_6404","Using '{0}' subpath '{1}' with target '{2}'."),Saw_non_matching_condition_0:E(6405,3,"Saw_non_matching_condition_0_6405","Saw non-matching condition '{0}'."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions:E(6406,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_there_is_change_in_compilerOptions_6406","Project '{0}' is out of date because buildinfo file '{1}' indicates there is change in compilerOptions"),Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noEmit_or_emitDeclarationOnly_to_be_set:E(6407,3,"Allow_imports_to_include_TypeScript_file_extensions_Requires_moduleResolution_bundler_and_either_noE_6407","Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set."),Use_the_package_json_exports_field_when_resolving_package_imports:E(6408,3,"Use_the_package_json_exports_field_when_resolving_package_imports_6408","Use the package.json 'exports' field when resolving package imports."),Use_the_package_json_imports_field_when_resolving_imports:E(6409,3,"Use_the_package_json_imports_field_when_resolving_imports_6409","Use the package.json 'imports' field when resolving imports."),Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports:E(6410,3,"Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports_6410","Conditions to set in addition to the resolver-specific defaults when resolving imports."),true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false:E(6411,3,"true_when_moduleResolution_is_node16_nodenext_or_bundler_otherwise_false_6411","`true` when 'moduleResolution' is 'node16', 'nodenext', or 'bundler'; otherwise `false`."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_but_not_any_more:E(6412,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_file_2_was_root_file_of_compilation_6412","Project '{0}' is out of date because buildinfo file '{1}' indicates that file '{2}' was root file of compilation but not any more."),Entering_conditional_exports:E(6413,3,"Entering_conditional_exports_6413","Entering conditional exports."),Resolved_under_condition_0:E(6414,3,"Resolved_under_condition_0_6414","Resolved under condition '{0}'."),Failed_to_resolve_under_condition_0:E(6415,3,"Failed_to_resolve_under_condition_0_6415","Failed to resolve under condition '{0}'."),Exiting_conditional_exports:E(6416,3,"Exiting_conditional_exports_6416","Exiting conditional exports."),Searching_all_ancestor_node_modules_directories_for_preferred_extensions_Colon_0:E(6417,3,"Searching_all_ancestor_node_modules_directories_for_preferred_extensions_Colon_0_6417","Searching all ancestor node_modules directories for preferred extensions: {0}."),Searching_all_ancestor_node_modules_directories_for_fallback_extensions_Colon_0:E(6418,3,"Searching_all_ancestor_node_modules_directories_for_fallback_extensions_Colon_0_6418","Searching all ancestor node_modules directories for fallback extensions: {0}."),Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_program_needs_to_report_errors:E(6419,3,"Project_0_is_out_of_date_because_buildinfo_file_1_indicates_that_program_needs_to_report_errors_6419","Project '{0}' is out of date because buildinfo file '{1}' indicates that program needs to report errors."),Project_0_is_out_of_date_because_1:E(6420,3,"Project_0_is_out_of_date_because_1_6420","Project '{0}' is out of date because {1}."),Rewrite_ts_tsx_mts_and_cts_file_extensions_in_relative_import_paths_to_their_JavaScript_equivalent_in_output_files:E(6421,3,"Rewrite_ts_tsx_mts_and_cts_file_extensions_in_relative_import_paths_to_their_JavaScript_equivalent_i_6421","Rewrite '.ts', '.tsx', '.mts', and '.cts' file extensions in relative import paths to their JavaScript equivalent in output files."),The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1:E(6500,3,"The_expected_type_comes_from_property_0_which_is_declared_here_on_type_1_6500","The expected type comes from property '{0}' which is declared here on type '{1}'"),The_expected_type_comes_from_this_index_signature:E(6501,3,"The_expected_type_comes_from_this_index_signature_6501","The expected type comes from this index signature."),The_expected_type_comes_from_the_return_type_of_this_signature:E(6502,3,"The_expected_type_comes_from_the_return_type_of_this_signature_6502","The expected type comes from the return type of this signature."),Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing:E(6503,3,"Print_names_of_files_that_are_part_of_the_compilation_and_then_stop_processing_6503","Print names of files that are part of the compilation and then stop processing."),File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option:E(6504,1,"File_0_is_a_JavaScript_file_Did_you_mean_to_enable_the_allowJs_option_6504","File '{0}' is a JavaScript file. Did you mean to enable the 'allowJs' option?"),Print_names_of_files_and_the_reason_they_are_part_of_the_compilation:E(6505,3,"Print_names_of_files_and_the_reason_they_are_part_of_the_compilation_6505","Print names of files and the reason they are part of the compilation."),Consider_adding_a_declare_modifier_to_this_class:E(6506,3,"Consider_adding_a_declare_modifier_to_this_class_6506","Consider adding a 'declare' modifier to this class."),Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these_files:E(6600,3,"Allow_JavaScript_files_to_be_a_part_of_your_program_Use_the_checkJS_option_to_get_errors_from_these__6600","Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files."),Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export:E(6601,3,"Allow_import_x_from_y_when_a_module_doesn_t_have_a_default_export_6601","Allow 'import x from y' when a module doesn't have a default export."),Allow_accessing_UMD_globals_from_modules:E(6602,3,"Allow_accessing_UMD_globals_from_modules_6602","Allow accessing UMD globals from modules."),Disable_error_reporting_for_unreachable_code:E(6603,3,"Disable_error_reporting_for_unreachable_code_6603","Disable error reporting for unreachable code."),Disable_error_reporting_for_unused_labels:E(6604,3,"Disable_error_reporting_for_unused_labels_6604","Disable error reporting for unused labels."),Ensure_use_strict_is_always_emitted:E(6605,3,"Ensure_use_strict_is_always_emitted_6605","Ensure 'use strict' is always emitted."),Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_will_only_affect_files_directly_depending_on_it:E(6606,3,"Have_recompiles_in_projects_that_use_incremental_and_watch_mode_assume_that_changes_within_a_file_wi_6606","Have recompiles in projects that use 'incremental' and 'watch' mode assume that changes within a file will only affect files directly depending on it."),Specify_the_base_directory_to_resolve_non_relative_module_names:E(6607,3,"Specify_the_base_directory_to_resolve_non_relative_module_names_6607","Specify the base directory to resolve non-relative module names."),No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files:E(6608,3,"No_longer_supported_In_early_versions_manually_set_the_text_encoding_for_reading_files_6608","No longer supported. In early versions, manually set the text encoding for reading files."),Enable_error_reporting_in_type_checked_JavaScript_files:E(6609,3,"Enable_error_reporting_in_type_checked_JavaScript_files_6609","Enable error reporting in type-checked JavaScript files."),Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references:E(6611,3,"Enable_constraints_that_allow_a_TypeScript_project_to_be_used_with_project_references_6611","Enable constraints that allow a TypeScript project to be used with project references."),Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project:E(6612,3,"Generate_d_ts_files_from_TypeScript_and_JavaScript_files_in_your_project_6612","Generate .d.ts files from TypeScript and JavaScript files in your project."),Specify_the_output_directory_for_generated_declaration_files:E(6613,3,"Specify_the_output_directory_for_generated_declaration_files_6613","Specify the output directory for generated declaration files."),Create_sourcemaps_for_d_ts_files:E(6614,3,"Create_sourcemaps_for_d_ts_files_6614","Create sourcemaps for d.ts files."),Output_compiler_performance_information_after_building:E(6615,3,"Output_compiler_performance_information_after_building_6615","Output compiler performance information after building."),Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project:E(6616,3,"Disables_inference_for_type_acquisition_by_looking_at_filenames_in_a_project_6616","Disables inference for type acquisition by looking at filenames in a project."),Reduce_the_number_of_projects_loaded_automatically_by_TypeScript:E(6617,3,"Reduce_the_number_of_projects_loaded_automatically_by_TypeScript_6617","Reduce the number of projects loaded automatically by TypeScript."),Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server:E(6618,3,"Remove_the_20mb_cap_on_total_source_code_size_for_JavaScript_files_in_the_TypeScript_language_server_6618","Remove the 20mb cap on total source code size for JavaScript files in the TypeScript language server."),Opt_a_project_out_of_multi_project_reference_checking_when_editing:E(6619,3,"Opt_a_project_out_of_multi_project_reference_checking_when_editing_6619","Opt a project out of multi-project reference checking when editing."),Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects:E(6620,3,"Disable_preferring_source_files_instead_of_declaration_files_when_referencing_composite_projects_6620","Disable preferring source files instead of declaration files when referencing composite projects."),Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration:E(6621,3,"Emit_more_compliant_but_verbose_and_less_performant_JavaScript_for_iteration_6621","Emit more compliant, but verbose and less performant JavaScript for iteration."),Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files:E(6622,3,"Emit_a_UTF_8_Byte_Order_Mark_BOM_in_the_beginning_of_output_files_6622","Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files."),Only_output_d_ts_files_and_not_JavaScript_files:E(6623,3,"Only_output_d_ts_files_and_not_JavaScript_files_6623","Only output d.ts files and not JavaScript files."),Emit_design_type_metadata_for_decorated_declarations_in_source_files:E(6624,3,"Emit_design_type_metadata_for_decorated_declarations_in_source_files_6624","Emit design-type metadata for decorated declarations in source files."),Disable_the_type_acquisition_for_JavaScript_projects:E(6625,3,"Disable_the_type_acquisition_for_JavaScript_projects_6625","Disable the type acquisition for JavaScript projects"),Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheticDefaultImports_for_type_compatibility:E(6626,3,"Emit_additional_JavaScript_to_ease_support_for_importing_CommonJS_modules_This_enables_allowSyntheti_6626","Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility."),Filters_results_from_the_include_option:E(6627,3,"Filters_results_from_the_include_option_6627","Filters results from the `include` option."),Remove_a_list_of_directories_from_the_watch_process:E(6628,3,"Remove_a_list_of_directories_from_the_watch_process_6628","Remove a list of directories from the watch process."),Remove_a_list_of_files_from_the_watch_mode_s_processing:E(6629,3,"Remove_a_list_of_files_from_the_watch_mode_s_processing_6629","Remove a list of files from the watch mode's processing."),Enable_experimental_support_for_legacy_experimental_decorators:E(6630,3,"Enable_experimental_support_for_legacy_experimental_decorators_6630","Enable experimental support for legacy experimental decorators."),Print_files_read_during_the_compilation_including_why_it_was_included:E(6631,3,"Print_files_read_during_the_compilation_including_why_it_was_included_6631","Print files read during the compilation including why it was included."),Output_more_detailed_compiler_performance_information_after_building:E(6632,3,"Output_more_detailed_compiler_performance_information_after_building_6632","Output more detailed compiler performance information after building."),Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_are_inherited:E(6633,3,"Specify_one_or_more_path_or_node_module_references_to_base_configuration_files_from_which_settings_a_6633","Specify one or more path or node module references to base configuration files from which settings are inherited."),Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers:E(6634,3,"Specify_what_approach_the_watcher_should_use_if_the_system_runs_out_of_native_file_watchers_6634","Specify what approach the watcher should use if the system runs out of native file watchers."),Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include:E(6635,3,"Include_a_list_of_files_This_does_not_support_glob_patterns_as_opposed_to_include_6635","Include a list of files. This does not support glob patterns, as opposed to `include`."),Build_all_projects_including_those_that_appear_to_be_up_to_date:E(6636,3,"Build_all_projects_including_those_that_appear_to_be_up_to_date_6636","Build all projects, including those that appear to be up to date."),Ensure_that_casing_is_correct_in_imports:E(6637,3,"Ensure_that_casing_is_correct_in_imports_6637","Ensure that casing is correct in imports."),Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging:E(6638,3,"Emit_a_v8_CPU_profile_of_the_compiler_run_for_debugging_6638","Emit a v8 CPU profile of the compiler run for debugging."),Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file:E(6639,3,"Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file_6639","Allow importing helper functions from tslib once per project, instead of including them per-file."),Skip_building_downstream_projects_on_error_in_upstream_project:E(6640,3,"Skip_building_downstream_projects_on_error_in_upstream_project_6640","Skip building downstream projects on error in upstream project."),Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation:E(6641,3,"Specify_a_list_of_glob_patterns_that_match_files_to_be_included_in_compilation_6641","Specify a list of glob patterns that match files to be included in compilation."),Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects:E(6642,3,"Save_tsbuildinfo_files_to_allow_for_incremental_compilation_of_projects_6642","Save .tsbuildinfo files to allow for incremental compilation of projects."),Include_sourcemap_files_inside_the_emitted_JavaScript:E(6643,3,"Include_sourcemap_files_inside_the_emitted_JavaScript_6643","Include sourcemap files inside the emitted JavaScript."),Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript:E(6644,3,"Include_source_code_in_the_sourcemaps_inside_the_emitted_JavaScript_6644","Include source code in the sourcemaps inside the emitted JavaScript."),Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports:E(6645,3,"Ensure_that_each_file_can_be_safely_transpiled_without_relying_on_other_imports_6645","Ensure that each file can be safely transpiled without relying on other imports."),Specify_what_JSX_code_is_generated:E(6646,3,"Specify_what_JSX_code_is_generated_6646","Specify what JSX code is generated."),Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h:E(6647,3,"Specify_the_JSX_factory_function_used_when_targeting_React_JSX_emit_e_g_React_createElement_or_h_6647","Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'."),Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragment_or_Fragment:E(6648,3,"Specify_the_JSX_Fragment_reference_used_for_fragments_when_targeting_React_JSX_emit_e_g_React_Fragme_6648","Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'."),Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk:E(6649,3,"Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Ast_6649","Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'."),Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option:E(6650,3,"Make_keyof_only_return_strings_instead_of_string_numbers_or_symbols_Legacy_option_6650","Make keyof only return strings instead of string, numbers or symbols. Legacy option."),Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment:E(6651,3,"Specify_a_set_of_bundled_library_declaration_files_that_describe_the_target_runtime_environment_6651","Specify a set of bundled library declaration files that describe the target runtime environment."),Print_the_names_of_emitted_files_after_a_compilation:E(6652,3,"Print_the_names_of_emitted_files_after_a_compilation_6652","Print the names of emitted files after a compilation."),Print_all_of_the_files_read_during_the_compilation:E(6653,3,"Print_all_of_the_files_read_during_the_compilation_6653","Print all of the files read during the compilation."),Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit:E(6654,3,"Set_the_language_of_the_messaging_from_TypeScript_This_does_not_affect_emit_6654","Set the language of the messaging from TypeScript. This does not affect emit."),Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations:E(6655,3,"Specify_the_location_where_debugger_should_locate_map_files_instead_of_generated_locations_6655","Specify the location where debugger should locate map files instead of generated locations."),Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicable_with_allowJs:E(6656,3,"Specify_the_maximum_folder_depth_used_for_checking_JavaScript_files_from_node_modules_Only_applicabl_6656","Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'."),Specify_what_module_code_is_generated:E(6657,3,"Specify_what_module_code_is_generated_6657","Specify what module code is generated."),Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier:E(6658,3,"Specify_how_TypeScript_looks_up_a_file_from_a_given_module_specifier_6658","Specify how TypeScript looks up a file from a given module specifier."),Set_the_newline_character_for_emitting_files:E(6659,3,"Set_the_newline_character_for_emitting_files_6659","Set the newline character for emitting files."),Disable_emitting_files_from_a_compilation:E(6660,3,"Disable_emitting_files_from_a_compilation_6660","Disable emitting files from a compilation."),Disable_generating_custom_helper_functions_like_extends_in_compiled_output:E(6661,3,"Disable_generating_custom_helper_functions_like_extends_in_compiled_output_6661","Disable generating custom helper functions like '__extends' in compiled output."),Disable_emitting_files_if_any_type_checking_errors_are_reported:E(6662,3,"Disable_emitting_files_if_any_type_checking_errors_are_reported_6662","Disable emitting files if any type checking errors are reported."),Disable_truncating_types_in_error_messages:E(6663,3,"Disable_truncating_types_in_error_messages_6663","Disable truncating types in error messages."),Enable_error_reporting_for_fallthrough_cases_in_switch_statements:E(6664,3,"Enable_error_reporting_for_fallthrough_cases_in_switch_statements_6664","Enable error reporting for fallthrough cases in switch statements."),Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type:E(6665,3,"Enable_error_reporting_for_expressions_and_declarations_with_an_implied_any_type_6665","Enable error reporting for expressions and declarations with an implied 'any' type."),Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier:E(6666,3,"Ensure_overriding_members_in_derived_classes_are_marked_with_an_override_modifier_6666","Ensure overriding members in derived classes are marked with an override modifier."),Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function:E(6667,3,"Enable_error_reporting_for_codepaths_that_do_not_explicitly_return_in_a_function_6667","Enable error reporting for codepaths that do not explicitly return in a function."),Enable_error_reporting_when_this_is_given_the_type_any:E(6668,3,"Enable_error_reporting_when_this_is_given_the_type_any_6668","Enable error reporting when 'this' is given the type 'any'."),Disable_adding_use_strict_directives_in_emitted_JavaScript_files:E(6669,3,"Disable_adding_use_strict_directives_in_emitted_JavaScript_files_6669","Disable adding 'use strict' directives in emitted JavaScript files."),Disable_including_any_library_files_including_the_default_lib_d_ts:E(6670,3,"Disable_including_any_library_files_including_the_default_lib_d_ts_6670","Disable including any library files, including the default lib.d.ts."),Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type:E(6671,3,"Enforces_using_indexed_accessors_for_keys_declared_using_an_indexed_type_6671","Enforces using indexed accessors for keys declared using an indexed type."),Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add_to_a_project:E(6672,3,"Disallow_import_s_require_s_or_reference_s_from_expanding_the_number_of_files_TypeScript_should_add__6672","Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project."),Disable_strict_checking_of_generic_signatures_in_function_types:E(6673,3,"Disable_strict_checking_of_generic_signatures_in_function_types_6673","Disable strict checking of generic signatures in function types."),Add_undefined_to_a_type_when_accessed_using_an_index:E(6674,3,"Add_undefined_to_a_type_when_accessed_using_an_index_6674","Add 'undefined' to a type when accessed using an index."),Enable_error_reporting_when_local_variables_aren_t_read:E(6675,3,"Enable_error_reporting_when_local_variables_aren_t_read_6675","Enable error reporting when local variables aren't read."),Raise_an_error_when_a_function_parameter_isn_t_read:E(6676,3,"Raise_an_error_when_a_function_parameter_isn_t_read_6676","Raise an error when a function parameter isn't read."),Deprecated_setting_Use_outFile_instead:E(6677,3,"Deprecated_setting_Use_outFile_instead_6677","Deprecated setting. Use 'outFile' instead."),Specify_an_output_folder_for_all_emitted_files:E(6678,3,"Specify_an_output_folder_for_all_emitted_files_6678","Specify an output folder for all emitted files."),Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designates_a_file_that_bundles_all_d_ts_output:E(6679,3,"Specify_a_file_that_bundles_all_outputs_into_one_JavaScript_file_If_declaration_is_true_also_designa_6679","Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output."),Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations:E(6680,3,"Specify_a_set_of_entries_that_re_map_imports_to_additional_lookup_locations_6680","Specify a set of entries that re-map imports to additional lookup locations."),Specify_a_list_of_language_service_plugins_to_include:E(6681,3,"Specify_a_list_of_language_service_plugins_to_include_6681","Specify a list of language service plugins to include."),Disable_erasing_const_enum_declarations_in_generated_code:E(6682,3,"Disable_erasing_const_enum_declarations_in_generated_code_6682","Disable erasing 'const enum' declarations in generated code."),Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node:E(6683,3,"Disable_resolving_symlinks_to_their_realpath_This_correlates_to_the_same_flag_in_node_6683","Disable resolving symlinks to their realpath. This correlates to the same flag in node."),Disable_wiping_the_console_in_watch_mode:E(6684,3,"Disable_wiping_the_console_in_watch_mode_6684","Disable wiping the console in watch mode."),Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read:E(6685,3,"Enable_color_and_formatting_in_TypeScript_s_output_to_make_compiler_errors_easier_to_read_6685","Enable color and formatting in TypeScript's output to make compiler errors easier to read."),Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit:E(6686,3,"Specify_the_object_invoked_for_createElement_This_only_applies_when_targeting_react_JSX_emit_6686","Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit."),Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references:E(6687,3,"Specify_an_array_of_objects_that_specify_paths_for_projects_Used_in_project_references_6687","Specify an array of objects that specify paths for projects. Used in project references."),Disable_emitting_comments:E(6688,3,"Disable_emitting_comments_6688","Disable emitting comments."),Enable_importing_json_files:E(6689,3,"Enable_importing_json_files_6689","Enable importing .json files."),Specify_the_root_folder_within_your_source_files:E(6690,3,"Specify_the_root_folder_within_your_source_files_6690","Specify the root folder within your source files."),Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules:E(6691,3,"Allow_multiple_folders_to_be_treated_as_one_when_resolving_modules_6691","Allow multiple folders to be treated as one when resolving modules."),Skip_type_checking_d_ts_files_that_are_included_with_TypeScript:E(6692,3,"Skip_type_checking_d_ts_files_that_are_included_with_TypeScript_6692","Skip type checking .d.ts files that are included with TypeScript."),Skip_type_checking_all_d_ts_files:E(6693,3,"Skip_type_checking_all_d_ts_files_6693","Skip type checking all .d.ts files."),Create_source_map_files_for_emitted_JavaScript_files:E(6694,3,"Create_source_map_files_for_emitted_JavaScript_files_6694","Create source map files for emitted JavaScript files."),Specify_the_root_path_for_debuggers_to_find_the_reference_source_code:E(6695,3,"Specify_the_root_path_for_debuggers_to_find_the_reference_source_code_6695","Specify the root path for debuggers to find the reference source code."),Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function:E(6697,3,"Check_that_the_arguments_for_bind_call_and_apply_methods_match_the_original_function_6697","Check that the arguments for 'bind', 'call', and 'apply' methods match the original function."),When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible:E(6698,3,"When_assigning_functions_check_to_ensure_parameters_and_the_return_values_are_subtype_compatible_6698","When assigning functions, check to ensure parameters and the return values are subtype-compatible."),When_type_checking_take_into_account_null_and_undefined:E(6699,3,"When_type_checking_take_into_account_null_and_undefined_6699","When type checking, take into account 'null' and 'undefined'."),Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor:E(6700,3,"Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor_6700","Check for class properties that are declared but not set in the constructor."),Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments:E(6701,3,"Disable_emitting_declarations_that_have_internal_in_their_JSDoc_comments_6701","Disable emitting declarations that have '@internal' in their JSDoc comments."),Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals:E(6702,3,"Disable_reporting_of_excess_property_errors_during_the_creation_of_object_literals_6702","Disable reporting of excess property errors during the creation of object literals."),Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures:E(6703,3,"Suppress_noImplicitAny_errors_when_indexing_objects_that_lack_index_signatures_6703","Suppress 'noImplicitAny' errors when indexing objects that lack index signatures."),Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_support_recursive_watching_natively:E(6704,3,"Synchronously_call_callbacks_and_update_the_state_of_directory_watchers_on_platforms_that_don_t_supp_6704","Synchronously call callbacks and update the state of directory watchers on platforms that don`t support recursive watching natively."),Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declarations:E(6705,3,"Set_the_JavaScript_language_version_for_emitted_JavaScript_and_include_compatible_library_declaratio_6705","Set the JavaScript language version for emitted JavaScript and include compatible library declarations."),Log_paths_used_during_the_moduleResolution_process:E(6706,3,"Log_paths_used_during_the_moduleResolution_process_6706","Log paths used during the 'moduleResolution' process."),Specify_the_path_to_tsbuildinfo_incremental_compilation_file:E(6707,3,"Specify_the_path_to_tsbuildinfo_incremental_compilation_file_6707","Specify the path to .tsbuildinfo incremental compilation file."),Specify_options_for_automatic_acquisition_of_declaration_files:E(6709,3,"Specify_options_for_automatic_acquisition_of_declaration_files_6709","Specify options for automatic acquisition of declaration files."),Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types:E(6710,3,"Specify_multiple_folders_that_act_like_Slashnode_modules_Slash_types_6710","Specify multiple folders that act like './node_modules/@types'."),Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file:E(6711,3,"Specify_type_package_names_to_be_included_without_being_referenced_in_a_source_file_6711","Specify type package names to be included without being referenced in a source file."),Emit_ECMAScript_standard_compliant_class_fields:E(6712,3,"Emit_ECMAScript_standard_compliant_class_fields_6712","Emit ECMAScript-standard-compliant class fields."),Enable_verbose_logging:E(6713,3,"Enable_verbose_logging_6713","Enable verbose logging."),Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality:E(6714,3,"Specify_how_directories_are_watched_on_systems_that_lack_recursive_file_watching_functionality_6714","Specify how directories are watched on systems that lack recursive file-watching functionality."),Specify_how_the_TypeScript_watch_mode_works:E(6715,3,"Specify_how_the_TypeScript_watch_mode_works_6715","Specify how the TypeScript watch mode works."),Require_undeclared_properties_from_index_signatures_to_use_element_accesses:E(6717,3,"Require_undeclared_properties_from_index_signatures_to_use_element_accesses_6717","Require undeclared properties from index signatures to use element accesses."),Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types:E(6718,3,"Specify_emit_Slashchecking_behavior_for_imports_that_are_only_used_for_types_6718","Specify emit/checking behavior for imports that are only used for types."),Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files:E(6719,3,"Require_sufficient_annotation_on_exports_so_other_tools_can_trivially_generate_declaration_files_6719","Require sufficient annotation on exports so other tools can trivially generate declaration files."),Built_in_iterators_are_instantiated_with_a_TReturn_type_of_undefined_instead_of_any:E(6720,3,"Built_in_iterators_are_instantiated_with_a_TReturn_type_of_undefined_instead_of_any_6720","Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'."),Default_catch_clause_variables_as_unknown_instead_of_any:E(6803,3,"Default_catch_clause_variables_as_unknown_instead_of_any_6803","Default catch clause variables as 'unknown' instead of 'any'."),Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_in_the_output_file_s_format_based_on_the_module_setting:E(6804,3,"Do_not_transform_or_elide_any_imports_or_exports_not_marked_as_type_only_ensuring_they_are_written_i_6804","Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting."),Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported:E(6805,3,"Disable_full_type_checking_only_critical_parse_and_emit_errors_will_be_reported_6805","Disable full type checking (only critical parse and emit errors will be reported)."),Check_side_effect_imports:E(6806,3,"Check_side_effect_imports_6806","Check side effect imports."),This_operation_can_be_simplified_This_shift_is_identical_to_0_1_2:E(6807,1,"This_operation_can_be_simplified_This_shift_is_identical_to_0_1_2_6807","This operation can be simplified. This shift is identical to `{0} {1} {2}`."),one_of_Colon:E(6900,3,"one_of_Colon_6900","one of:"),one_or_more_Colon:E(6901,3,"one_or_more_Colon_6901","one or more:"),type_Colon:E(6902,3,"type_Colon_6902","type:"),default_Colon:E(6903,3,"default_Colon_6903","default:"),module_system_or_esModuleInterop:E(6904,3,"module_system_or_esModuleInterop_6904",'module === "system" or esModuleInterop'),false_unless_strict_is_set:E(6905,3,"false_unless_strict_is_set_6905","`false`, unless `strict` is set"),false_unless_composite_is_set:E(6906,3,"false_unless_composite_is_set_6906","`false`, unless `composite` is set"),node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified:E(6907,3,"node_modules_bower_components_jspm_packages_plus_the_value_of_outDir_if_one_is_specified_6907",'`["node_modules", "bower_components", "jspm_packages"]`, plus the value of `outDir` if one is specified.'),if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk:E(6908,3,"if_files_is_specified_otherwise_Asterisk_Asterisk_Slash_Asterisk_6908",'`[]` if `files` is specified, otherwise `["**/*"]`'),true_if_composite_false_otherwise:E(6909,3,"true_if_composite_false_otherwise_6909","`true` if `composite`, `false` otherwise"),module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node:E(69010,3,"module_AMD_or_UMD_or_System_or_ES6_then_Classic_Otherwise_Node_69010","module === `AMD` or `UMD` or `System` or `ES6`, then `Classic`, Otherwise `Node`"),Computed_from_the_list_of_input_files:E(6911,3,"Computed_from_the_list_of_input_files_6911","Computed from the list of input files"),Platform_specific:E(6912,3,"Platform_specific_6912","Platform specific"),You_can_learn_about_all_of_the_compiler_options_at_0:E(6913,3,"You_can_learn_about_all_of_the_compiler_options_at_0_6913","You can learn about all of the compiler options at {0}"),Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_config_watch_mode_with_Colon:E(6914,3,"Including_watch_w_will_start_watching_the_current_project_for_the_file_changes_Once_set_you_can_conf_6914","Including --watch, -w will start watching the current project for the file changes. Once set, you can config watch mode with:"),Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_trigger_building_composite_projects_which_you_can_learn_more_about_at_0:E(6915,3,"Using_build_b_will_make_tsc_behave_more_like_a_build_orchestrator_than_a_compiler_This_is_used_to_tr_6915","Using --build, -b will make tsc behave more like a build orchestrator than a compiler. This is used to trigger building composite projects which you can learn more about at {0}"),COMMON_COMMANDS:E(6916,3,"COMMON_COMMANDS_6916","COMMON COMMANDS"),ALL_COMPILER_OPTIONS:E(6917,3,"ALL_COMPILER_OPTIONS_6917","ALL COMPILER OPTIONS"),WATCH_OPTIONS:E(6918,3,"WATCH_OPTIONS_6918","WATCH OPTIONS"),BUILD_OPTIONS:E(6919,3,"BUILD_OPTIONS_6919","BUILD OPTIONS"),COMMON_COMPILER_OPTIONS:E(6920,3,"COMMON_COMPILER_OPTIONS_6920","COMMON COMPILER OPTIONS"),COMMAND_LINE_FLAGS:E(6921,3,"COMMAND_LINE_FLAGS_6921","COMMAND LINE FLAGS"),tsc_Colon_The_TypeScript_Compiler:E(6922,3,"tsc_Colon_The_TypeScript_Compiler_6922","tsc: The TypeScript Compiler"),Compiles_the_current_project_tsconfig_json_in_the_working_directory:E(6923,3,"Compiles_the_current_project_tsconfig_json_in_the_working_directory_6923","Compiles the current project (tsconfig.json in the working directory.)"),Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options:E(6924,3,"Ignoring_tsconfig_json_compiles_the_specified_files_with_default_compiler_options_6924","Ignoring tsconfig.json, compiles the specified files with default compiler options."),Build_a_composite_project_in_the_working_directory:E(6925,3,"Build_a_composite_project_in_the_working_directory_6925","Build a composite project in the working directory."),Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory:E(6926,3,"Creates_a_tsconfig_json_with_the_recommended_settings_in_the_working_directory_6926","Creates a tsconfig.json with the recommended settings in the working directory."),Compiles_the_TypeScript_project_located_at_the_specified_path:E(6927,3,"Compiles_the_TypeScript_project_located_at_the_specified_path_6927","Compiles the TypeScript project located at the specified path."),An_expanded_version_of_this_information_showing_all_possible_compiler_options:E(6928,3,"An_expanded_version_of_this_information_showing_all_possible_compiler_options_6928","An expanded version of this information, showing all possible compiler options"),Compiles_the_current_project_with_additional_settings:E(6929,3,"Compiles_the_current_project_with_additional_settings_6929","Compiles the current project, with additional settings."),true_for_ES2022_and_above_including_ESNext:E(6930,3,"true_for_ES2022_and_above_including_ESNext_6930","`true` for ES2022 and above, including ESNext."),List_of_file_name_suffixes_to_search_when_resolving_a_module:E(6931,1,"List_of_file_name_suffixes_to_search_when_resolving_a_module_6931","List of file name suffixes to search when resolving a module."),Variable_0_implicitly_has_an_1_type:E(7005,1,"Variable_0_implicitly_has_an_1_type_7005","Variable '{0}' implicitly has an '{1}' type."),Parameter_0_implicitly_has_an_1_type:E(7006,1,"Parameter_0_implicitly_has_an_1_type_7006","Parameter '{0}' implicitly has an '{1}' type."),Member_0_implicitly_has_an_1_type:E(7008,1,"Member_0_implicitly_has_an_1_type_7008","Member '{0}' implicitly has an '{1}' type."),new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type:E(7009,1,"new_expression_whose_target_lacks_a_construct_signature_implicitly_has_an_any_type_7009","'new' expression, whose target lacks a construct signature, implicitly has an 'any' type."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type:E(7010,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_return_type_7010","'{0}', which lacks return-type annotation, implicitly has an '{1}' return type."),Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:E(7011,1,"Function_expression_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7011","Function expression, which lacks return-type annotation, implicitly has an '{0}' return type."),This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation:E(7012,1,"This_overload_implicitly_returns_the_type_0_because_it_lacks_a_return_type_annotation_7012","This overload implicitly returns the type '{0}' because it lacks a return type annotation."),Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:E(7013,1,"Construct_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7013","Construct signature, which lacks return-type annotation, implicitly has an 'any' return type."),Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type:E(7014,1,"Function_type_which_lacks_return_type_annotation_implicitly_has_an_0_return_type_7014","Function type, which lacks return-type annotation, implicitly has an '{0}' return type."),Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number:E(7015,1,"Element_implicitly_has_an_any_type_because_index_expression_is_not_of_type_number_7015","Element implicitly has an 'any' type because index expression is not of type 'number'."),Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type:E(7016,1,"Could_not_find_a_declaration_file_for_module_0_1_implicitly_has_an_any_type_7016","Could not find a declaration file for module '{0}'. '{1}' implicitly has an 'any' type."),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature:E(7017,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_7017","Element implicitly has an 'any' type because type '{0}' has no index signature."),Object_literal_s_property_0_implicitly_has_an_1_type:E(7018,1,"Object_literal_s_property_0_implicitly_has_an_1_type_7018","Object literal's property '{0}' implicitly has an '{1}' type."),Rest_parameter_0_implicitly_has_an_any_type:E(7019,1,"Rest_parameter_0_implicitly_has_an_any_type_7019","Rest parameter '{0}' implicitly has an 'any[]' type."),Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type:E(7020,1,"Call_signature_which_lacks_return_type_annotation_implicitly_has_an_any_return_type_7020","Call signature, which lacks return-type annotation, implicitly has an 'any' return type."),_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or_indirectly_in_its_own_initializer:E(7022,1,"_0_implicitly_has_type_any_because_it_does_not_have_a_type_annotation_and_is_referenced_directly_or__7022","'{0}' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer."),_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:E(7023,1,"_0_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_reference_7023","'{0}' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_referenced_directly_or_indirectly_in_one_of_its_return_expressions:E(7024,1,"Function_implicitly_has_return_type_any_because_it_does_not_have_a_return_type_annotation_and_is_ref_7024","Function implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions."),Generator_implicitly_has_yield_type_0_Consider_supplying_a_return_type_annotation:E(7025,1,"Generator_implicitly_has_yield_type_0_Consider_supplying_a_return_type_annotation_7025","Generator implicitly has yield type '{0}'. Consider supplying a return type annotation."),JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists:E(7026,1,"JSX_element_implicitly_has_type_any_because_no_interface_JSX_0_exists_7026","JSX element implicitly has type 'any' because no interface 'JSX.{0}' exists."),Unreachable_code_detected:E(7027,1,"Unreachable_code_detected_7027","Unreachable code detected.",!0),Unused_label:E(7028,1,"Unused_label_7028","Unused label.",!0),Fallthrough_case_in_switch:E(7029,1,"Fallthrough_case_in_switch_7029","Fallthrough case in switch."),Not_all_code_paths_return_a_value:E(7030,1,"Not_all_code_paths_return_a_value_7030","Not all code paths return a value."),Binding_element_0_implicitly_has_an_1_type:E(7031,1,"Binding_element_0_implicitly_has_an_1_type_7031","Binding element '{0}' implicitly has an '{1}' type."),Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation:E(7032,1,"Property_0_implicitly_has_type_any_because_its_set_accessor_lacks_a_parameter_type_annotation_7032","Property '{0}' implicitly has type 'any', because its set accessor lacks a parameter type annotation."),Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation:E(7033,1,"Property_0_implicitly_has_type_any_because_its_get_accessor_lacks_a_return_type_annotation_7033","Property '{0}' implicitly has type 'any', because its get accessor lacks a return type annotation."),Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined:E(7034,1,"Variable_0_implicitly_has_type_1_in_some_locations_where_its_type_cannot_be_determined_7034","Variable '{0}' implicitly has type '{1}' in some locations where its type cannot be determined."),Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare_module_0:E(7035,1,"Try_npm_i_save_dev_types_Slash_1_if_it_exists_or_add_a_new_declaration_d_ts_file_containing_declare__7035","Try `npm i --save-dev @types/{1}` if it exists or add a new declaration (.d.ts) file containing `declare module '{0}';`"),Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0:E(7036,1,"Dynamic_import_s_specifier_must_be_of_type_string_but_here_has_type_0_7036","Dynamic import's specifier must be of type 'string', but here has type '{0}'."),Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for_all_imports_Implies_allowSyntheticDefaultImports:E(7037,3,"Enables_emit_interoperability_between_CommonJS_and_ES_Modules_via_creation_of_namespace_objects_for__7037","Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'."),Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cause_a_failure_at_runtime_Consider_using_a_default_import_or_import_require_here_instead:E(7038,3,"Type_originates_at_this_import_A_namespace_style_import_cannot_be_called_or_constructed_and_will_cau_7038","Type originates at this import. A namespace-style import cannot be called or constructed, and will cause a failure at runtime. Consider using a default import or import require here instead."),Mapped_object_type_implicitly_has_an_any_template_type:E(7039,1,"Mapped_object_type_implicitly_has_an_any_template_type_7039","Mapped object type implicitly has an 'any' template type."),If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_Slash_Slashgithub_com_SlashDefinitelyTyped_SlashDefinitelyTyped_Slashtree_Slashmaster_Slashtypes_Slash_1:E(7040,1,"If_the_0_package_actually_exposes_this_module_consider_sending_a_pull_request_to_amend_https_Colon_S_7040","If the '{0}' package actually exposes this module, consider sending a pull request to amend 'https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/{1}'"),The_containing_arrow_function_captures_the_global_value_of_this:E(7041,1,"The_containing_arrow_function_captures_the_global_value_of_this_7041","The containing arrow function captures the global value of 'this'."),Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used:E(7042,1,"Module_0_was_resolved_to_1_but_resolveJsonModule_is_not_used_7042","Module '{0}' was resolved to '{1}', but '--resolveJsonModule' is not used."),Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:E(7043,2,"Variable_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7043","Variable '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:E(7044,2,"Parameter_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7044","Parameter '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage:E(7045,2,"Member_0_implicitly_has_an_1_type_but_a_better_type_may_be_inferred_from_usage_7045","Member '{0}' implicitly has an '{1}' type, but a better type may be inferred from usage."),Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage:E(7046,2,"Variable_0_implicitly_has_type_1_in_some_locations_but_a_better_type_may_be_inferred_from_usage_7046","Variable '{0}' implicitly has type '{1}' in some locations, but a better type may be inferred from usage."),Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage:E(7047,2,"Rest_parameter_0_implicitly_has_an_any_type_but_a_better_type_may_be_inferred_from_usage_7047","Rest parameter '{0}' implicitly has an 'any[]' type, but a better type may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage:E(7048,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_get_accessor_may_be_inferred_from_usage_7048","Property '{0}' implicitly has type 'any', but a better type for its get accessor may be inferred from usage."),Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage:E(7049,2,"Property_0_implicitly_has_type_any_but_a_better_type_for_its_set_accessor_may_be_inferred_from_usage_7049","Property '{0}' implicitly has type 'any', but a better type for its set accessor may be inferred from usage."),_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage:E(7050,2,"_0_implicitly_has_an_1_return_type_but_a_better_type_may_be_inferred_from_usage_7050","'{0}' implicitly has an '{1}' return type, but a better type may be inferred from usage."),Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1:E(7051,1,"Parameter_has_a_name_but_no_type_Did_you_mean_0_Colon_1_7051","Parameter has a name but no type. Did you mean '{0}: {1}'?"),Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1:E(7052,1,"Element_implicitly_has_an_any_type_because_type_0_has_no_index_signature_Did_you_mean_to_call_1_7052","Element implicitly has an 'any' type because type '{0}' has no index signature. Did you mean to call '{1}'?"),Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1:E(7053,1,"Element_implicitly_has_an_any_type_because_expression_of_type_0_can_t_be_used_to_index_type_1_7053","Element implicitly has an 'any' type because expression of type '{0}' can't be used to index type '{1}'."),No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1:E(7054,1,"No_index_signature_with_a_parameter_of_type_0_was_found_on_type_1_7054","No index signature with a parameter of type '{0}' was found on type '{1}'."),_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type:E(7055,1,"_0_which_lacks_return_type_annotation_implicitly_has_an_1_yield_type_7055","'{0}', which lacks return-type annotation, implicitly has an '{1}' yield type."),The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_type_annotation_is_needed:E(7056,1,"The_inferred_type_of_this_node_exceeds_the_maximum_length_the_compiler_will_serialize_An_explicit_ty_7056","The inferred type of this node exceeds the maximum length the compiler will serialize. An explicit type annotation is needed."),yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_type_annotation:E(7057,1,"yield_expression_implicitly_results_in_an_any_type_because_its_containing_generator_lacks_a_return_t_7057","'yield' expression implicitly results in an 'any' type because its containing generator lacks a return-type annotation."),If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_declare_module_1:E(7058,1,"If_the_0_package_actually_exposes_this_module_try_adding_a_new_declaration_d_ts_file_containing_decl_7058","If the '{0}' package actually exposes this module, try adding a new declaration (.d.ts) file containing `declare module '{1}';`"),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead:E(7059,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Use_an_as_expression_instead_7059","This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead."),This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_constraint:E(7060,1,"This_syntax_is_reserved_in_files_with_the_mts_or_cts_extension_Add_a_trailing_comma_or_explicit_cons_7060","This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma or explicit constraint."),A_mapped_type_may_not_declare_properties_or_methods:E(7061,1,"A_mapped_type_may_not_declare_properties_or_methods_7061","A mapped type may not declare properties or methods."),You_cannot_rename_this_element:E(8e3,1,"You_cannot_rename_this_element_8000","You cannot rename this element."),You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library:E(8001,1,"You_cannot_rename_elements_that_are_defined_in_the_standard_TypeScript_library_8001","You cannot rename elements that are defined in the standard TypeScript library."),import_can_only_be_used_in_TypeScript_files:E(8002,1,"import_can_only_be_used_in_TypeScript_files_8002","'import ... =' can only be used in TypeScript files."),export_can_only_be_used_in_TypeScript_files:E(8003,1,"export_can_only_be_used_in_TypeScript_files_8003","'export =' can only be used in TypeScript files."),Type_parameter_declarations_can_only_be_used_in_TypeScript_files:E(8004,1,"Type_parameter_declarations_can_only_be_used_in_TypeScript_files_8004","Type parameter declarations can only be used in TypeScript files."),implements_clauses_can_only_be_used_in_TypeScript_files:E(8005,1,"implements_clauses_can_only_be_used_in_TypeScript_files_8005","'implements' clauses can only be used in TypeScript files."),_0_declarations_can_only_be_used_in_TypeScript_files:E(8006,1,"_0_declarations_can_only_be_used_in_TypeScript_files_8006","'{0}' declarations can only be used in TypeScript files."),Type_aliases_can_only_be_used_in_TypeScript_files:E(8008,1,"Type_aliases_can_only_be_used_in_TypeScript_files_8008","Type aliases can only be used in TypeScript files."),The_0_modifier_can_only_be_used_in_TypeScript_files:E(8009,1,"The_0_modifier_can_only_be_used_in_TypeScript_files_8009","The '{0}' modifier can only be used in TypeScript files."),Type_annotations_can_only_be_used_in_TypeScript_files:E(8010,1,"Type_annotations_can_only_be_used_in_TypeScript_files_8010","Type annotations can only be used in TypeScript files."),Type_arguments_can_only_be_used_in_TypeScript_files:E(8011,1,"Type_arguments_can_only_be_used_in_TypeScript_files_8011","Type arguments can only be used in TypeScript files."),Parameter_modifiers_can_only_be_used_in_TypeScript_files:E(8012,1,"Parameter_modifiers_can_only_be_used_in_TypeScript_files_8012","Parameter modifiers can only be used in TypeScript files."),Non_null_assertions_can_only_be_used_in_TypeScript_files:E(8013,1,"Non_null_assertions_can_only_be_used_in_TypeScript_files_8013","Non-null assertions can only be used in TypeScript files."),Type_assertion_expressions_can_only_be_used_in_TypeScript_files:E(8016,1,"Type_assertion_expressions_can_only_be_used_in_TypeScript_files_8016","Type assertion expressions can only be used in TypeScript files."),Signature_declarations_can_only_be_used_in_TypeScript_files:E(8017,1,"Signature_declarations_can_only_be_used_in_TypeScript_files_8017","Signature declarations can only be used in TypeScript files."),Report_errors_in_js_files:E(8019,3,"Report_errors_in_js_files_8019","Report errors in .js files."),JSDoc_types_can_only_be_used_inside_documentation_comments:E(8020,1,"JSDoc_types_can_only_be_used_inside_documentation_comments_8020","JSDoc types can only be used inside documentation comments."),JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags:E(8021,1,"JSDoc_typedef_tag_should_either_have_a_type_annotation_or_be_followed_by_property_or_member_tags_8021","JSDoc '@typedef' tag should either have a type annotation or be followed by '@property' or '@member' tags."),JSDoc_0_is_not_attached_to_a_class:E(8022,1,"JSDoc_0_is_not_attached_to_a_class_8022","JSDoc '@{0}' is not attached to a class."),JSDoc_0_1_does_not_match_the_extends_2_clause:E(8023,1,"JSDoc_0_1_does_not_match_the_extends_2_clause_8023","JSDoc '@{0} {1}' does not match the 'extends {2}' clause."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name:E(8024,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_8024","JSDoc '@param' tag has name '{0}', but there is no parameter with that name."),Class_declarations_cannot_have_more_than_one_augments_or_extends_tag:E(8025,1,"Class_declarations_cannot_have_more_than_one_augments_or_extends_tag_8025","Class declarations cannot have more than one '@augments' or '@extends' tag."),Expected_0_type_arguments_provide_these_with_an_extends_tag:E(8026,1,"Expected_0_type_arguments_provide_these_with_an_extends_tag_8026","Expected {0} type arguments; provide these with an '@extends' tag."),Expected_0_1_type_arguments_provide_these_with_an_extends_tag:E(8027,1,"Expected_0_1_type_arguments_provide_these_with_an_extends_tag_8027","Expected {0}-{1} type arguments; provide these with an '@extends' tag."),JSDoc_may_only_appear_in_the_last_parameter_of_a_signature:E(8028,1,"JSDoc_may_only_appear_in_the_last_parameter_of_a_signature_8028","JSDoc '...' may only appear in the last parameter of a signature."),JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_had_an_array_type:E(8029,1,"JSDoc_param_tag_has_name_0_but_there_is_no_parameter_with_that_name_It_would_match_arguments_if_it_h_8029","JSDoc '@param' tag has name '{0}', but there is no parameter with that name. It would match 'arguments' if it had an array type."),The_type_of_a_function_declaration_must_match_the_function_s_signature:E(8030,1,"The_type_of_a_function_declaration_must_match_the_function_s_signature_8030","The type of a function declaration must match the function's signature."),You_cannot_rename_a_module_via_a_global_import:E(8031,1,"You_cannot_rename_a_module_via_a_global_import_8031","You cannot rename a module via a global import."),Qualified_name_0_is_not_allowed_without_a_leading_param_object_1:E(8032,1,"Qualified_name_0_is_not_allowed_without_a_leading_param_object_1_8032","Qualified name '{0}' is not allowed without a leading '@param {object} {1}'."),A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags:E(8033,1,"A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags_8033","A JSDoc '@typedef' comment may not contain multiple '@type' tags."),The_tag_was_first_specified_here:E(8034,1,"The_tag_was_first_specified_here_8034","The tag was first specified here."),You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder:E(8035,1,"You_cannot_rename_elements_that_are_defined_in_a_node_modules_folder_8035","You cannot rename elements that are defined in a 'node_modules' folder."),You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder:E(8036,1,"You_cannot_rename_elements_that_are_defined_in_another_node_modules_folder_8036","You cannot rename elements that are defined in another 'node_modules' folder."),Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files:E(8037,1,"Type_satisfaction_expressions_can_only_be_used_in_TypeScript_files_8037","Type satisfaction expressions can only be used in TypeScript files."),Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export:E(8038,1,"Decorators_may_not_appear_after_export_or_export_default_if_they_also_appear_before_export_8038","Decorators may not appear after 'export' or 'export default' if they also appear before 'export'."),A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag:E(8039,1,"A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag_8039","A JSDoc '@template' tag may not follow a '@typedef', '@callback', or '@overload' tag"),Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_declaration_emit:E(9005,1,"Declaration_emit_for_this_file_requires_using_private_name_0_An_explicit_type_annotation_may_unblock_9005","Declaration emit for this file requires using private name '{0}'. An explicit type annotation may unblock declaration emit."),Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotation_may_unblock_declaration_emit:E(9006,1,"Declaration_emit_for_this_file_requires_using_private_name_0_from_module_1_An_explicit_type_annotati_9006","Declaration emit for this file requires using private name '{0}' from module '{1}'. An explicit type annotation may unblock declaration emit."),Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations:E(9007,1,"Function_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9007","Function must have an explicit return type annotation with --isolatedDeclarations."),Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations:E(9008,1,"Method_must_have_an_explicit_return_type_annotation_with_isolatedDeclarations_9008","Method must have an explicit return type annotation with --isolatedDeclarations."),At_least_one_accessor_must_have_an_explicit_type_annotation_with_isolatedDeclarations:E(9009,1,"At_least_one_accessor_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9009","At least one accessor must have an explicit type annotation with --isolatedDeclarations."),Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations:E(9010,1,"Variable_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9010","Variable must have an explicit type annotation with --isolatedDeclarations."),Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations:E(9011,1,"Parameter_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9011","Parameter must have an explicit type annotation with --isolatedDeclarations."),Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations:E(9012,1,"Property_must_have_an_explicit_type_annotation_with_isolatedDeclarations_9012","Property must have an explicit type annotation with --isolatedDeclarations."),Expression_type_can_t_be_inferred_with_isolatedDeclarations:E(9013,1,"Expression_type_can_t_be_inferred_with_isolatedDeclarations_9013","Expression type can't be inferred with --isolatedDeclarations."),Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedDeclarations:E(9014,1,"Computed_properties_must_be_number_or_string_literals_variables_or_dotted_expressions_with_isolatedD_9014","Computed properties must be number or string literals, variables or dotted expressions with --isolatedDeclarations."),Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations:E(9015,1,"Objects_that_contain_spread_assignments_can_t_be_inferred_with_isolatedDeclarations_9015","Objects that contain spread assignments can't be inferred with --isolatedDeclarations."),Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations:E(9016,1,"Objects_that_contain_shorthand_properties_can_t_be_inferred_with_isolatedDeclarations_9016","Objects that contain shorthand properties can't be inferred with --isolatedDeclarations."),Only_const_arrays_can_be_inferred_with_isolatedDeclarations:E(9017,1,"Only_const_arrays_can_be_inferred_with_isolatedDeclarations_9017","Only const arrays can be inferred with --isolatedDeclarations."),Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations:E(9018,1,"Arrays_with_spread_elements_can_t_inferred_with_isolatedDeclarations_9018","Arrays with spread elements can't inferred with --isolatedDeclarations."),Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations:E(9019,1,"Binding_elements_can_t_be_exported_directly_with_isolatedDeclarations_9019","Binding elements can't be exported directly with --isolatedDeclarations."),Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDeclarations:E(9020,1,"Enum_member_initializers_must_be_computable_without_references_to_external_symbols_with_isolatedDecl_9020","Enum member initializers must be computable without references to external symbols with --isolatedDeclarations."),Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations:E(9021,1,"Extends_clause_can_t_contain_an_expression_with_isolatedDeclarations_9021","Extends clause can't contain an expression with --isolatedDeclarations."),Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations:E(9022,1,"Inference_from_class_expressions_is_not_supported_with_isolatedDeclarations_9022","Inference from class expressions is not supported with --isolatedDeclarations."),Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations_Add_an_explicit_declaration_for_the_properties_assigned_to_this_function:E(9023,1,"Assigning_properties_to_functions_without_declaring_them_is_not_supported_with_isolatedDeclarations__9023","Assigning properties to functions without declaring them is not supported with --isolatedDeclarations. Add an explicit declaration for the properties assigned to this function."),Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_its_type_This_is_not_supported_with_isolatedDeclarations:E(9025,1,"Declaration_emit_for_this_parameter_requires_implicitly_adding_undefined_to_its_type_This_is_not_sup_9025","Declaration emit for this parameter requires implicitly adding undefined to its type. This is not supported with --isolatedDeclarations."),Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_supported_with_isolatedDeclarations:E(9026,1,"Declaration_emit_for_this_file_requires_preserving_this_import_for_augmentations_This_is_not_support_9026","Declaration emit for this file requires preserving this import for augmentations. This is not supported with --isolatedDeclarations."),Add_a_type_annotation_to_the_variable_0:E(9027,1,"Add_a_type_annotation_to_the_variable_0_9027","Add a type annotation to the variable {0}."),Add_a_type_annotation_to_the_parameter_0:E(9028,1,"Add_a_type_annotation_to_the_parameter_0_9028","Add a type annotation to the parameter {0}."),Add_a_type_annotation_to_the_property_0:E(9029,1,"Add_a_type_annotation_to_the_property_0_9029","Add a type annotation to the property {0}."),Add_a_return_type_to_the_function_expression:E(9030,1,"Add_a_return_type_to_the_function_expression_9030","Add a return type to the function expression."),Add_a_return_type_to_the_function_declaration:E(9031,1,"Add_a_return_type_to_the_function_declaration_9031","Add a return type to the function declaration."),Add_a_return_type_to_the_get_accessor_declaration:E(9032,1,"Add_a_return_type_to_the_get_accessor_declaration_9032","Add a return type to the get accessor declaration."),Add_a_type_to_parameter_of_the_set_accessor_declaration:E(9033,1,"Add_a_type_to_parameter_of_the_set_accessor_declaration_9033","Add a type to parameter of the set accessor declaration."),Add_a_return_type_to_the_method:E(9034,1,"Add_a_return_type_to_the_method_9034","Add a return type to the method"),Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit:E(9035,1,"Add_satisfies_and_a_type_assertion_to_this_expression_satisfies_T_as_T_to_make_the_type_explicit_9035","Add satisfies and a type assertion to this expression (satisfies T as T) to make the type explicit."),Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it:E(9036,1,"Move_the_expression_in_default_export_to_a_variable_and_add_a_type_annotation_to_it_9036","Move the expression in default export to a variable and add a type annotation to it."),Default_exports_can_t_be_inferred_with_isolatedDeclarations:E(9037,1,"Default_exports_can_t_be_inferred_with_isolatedDeclarations_9037","Default exports can't be inferred with --isolatedDeclarations."),Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations:E(9038,1,"Computed_property_names_on_class_or_object_literals_cannot_be_inferred_with_isolatedDeclarations_9038","Computed property names on class or object literals cannot be inferred with --isolatedDeclarations."),Type_containing_private_name_0_can_t_be_used_with_isolatedDeclarations:E(9039,1,"Type_containing_private_name_0_can_t_be_used_with_isolatedDeclarations_9039","Type containing private name '{0}' can't be used with --isolatedDeclarations."),JSX_attributes_must_only_be_assigned_a_non_empty_expression:E(17e3,1,"JSX_attributes_must_only_be_assigned_a_non_empty_expression_17000","JSX attributes must only be assigned a non-empty 'expression'."),JSX_elements_cannot_have_multiple_attributes_with_the_same_name:E(17001,1,"JSX_elements_cannot_have_multiple_attributes_with_the_same_name_17001","JSX elements cannot have multiple attributes with the same name."),Expected_corresponding_JSX_closing_tag_for_0:E(17002,1,"Expected_corresponding_JSX_closing_tag_for_0_17002","Expected corresponding JSX closing tag for '{0}'."),Cannot_use_JSX_unless_the_jsx_flag_is_provided:E(17004,1,"Cannot_use_JSX_unless_the_jsx_flag_is_provided_17004","Cannot use JSX unless the '--jsx' flag is provided."),A_constructor_cannot_contain_a_super_call_when_its_class_extends_null:E(17005,1,"A_constructor_cannot_contain_a_super_call_when_its_class_extends_null_17005","A constructor cannot contain a 'super' call when its class extends 'null'."),An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:E(17006,1,"An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_ex_17006","An unary expression with the '{0}' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses:E(17007,1,"A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Con_17007","A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses."),JSX_element_0_has_no_corresponding_closing_tag:E(17008,1,"JSX_element_0_has_no_corresponding_closing_tag_17008","JSX element '{0}' has no corresponding closing tag."),super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class:E(17009,1,"super_must_be_called_before_accessing_this_in_the_constructor_of_a_derived_class_17009","'super' must be called before accessing 'this' in the constructor of a derived class."),Unknown_type_acquisition_option_0:E(17010,1,"Unknown_type_acquisition_option_0_17010","Unknown type acquisition option '{0}'."),super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class:E(17011,1,"super_must_be_called_before_accessing_a_property_of_super_in_the_constructor_of_a_derived_class_17011","'super' must be called before accessing a property of 'super' in the constructor of a derived class."),_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2:E(17012,1,"_0_is_not_a_valid_meta_property_for_keyword_1_Did_you_mean_2_17012","'{0}' is not a valid meta-property for keyword '{1}'. Did you mean '{2}'?"),Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constructor:E(17013,1,"Meta_property_0_is_only_allowed_in_the_body_of_a_function_declaration_function_expression_or_constru_17013","Meta-property '{0}' is only allowed in the body of a function declaration, function expression, or constructor."),JSX_fragment_has_no_corresponding_closing_tag:E(17014,1,"JSX_fragment_has_no_corresponding_closing_tag_17014","JSX fragment has no corresponding closing tag."),Expected_corresponding_closing_tag_for_JSX_fragment:E(17015,1,"Expected_corresponding_closing_tag_for_JSX_fragment_17015","Expected corresponding closing tag for JSX fragment."),The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_compiler_option:E(17016,1,"The_jsxFragmentFactory_compiler_option_must_be_provided_to_use_JSX_fragments_with_the_jsxFactory_com_17016","The 'jsxFragmentFactory' compiler option must be provided to use JSX fragments with the 'jsxFactory' compiler option."),An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments:E(17017,1,"An_jsxFrag_pragma_is_required_when_using_an_jsx_pragma_with_JSX_fragments_17017","An @jsxFrag pragma is required when using an @jsx pragma with JSX fragments."),Unknown_type_acquisition_option_0_Did_you_mean_1:E(17018,1,"Unknown_type_acquisition_option_0_Did_you_mean_1_17018","Unknown type acquisition option '{0}'. Did you mean '{1}'?"),_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:E(17019,1,"_0_at_the_end_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17019","'{0}' at the end of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1:E(17020,1,"_0_at_the_start_of_a_type_is_not_valid_TypeScript_syntax_Did_you_mean_to_write_1_17020","'{0}' at the start of a type is not valid TypeScript syntax. Did you mean to write '{1}'?"),Unicode_escape_sequence_cannot_appear_here:E(17021,1,"Unicode_escape_sequence_cannot_appear_here_17021","Unicode escape sequence cannot appear here."),Circularity_detected_while_resolving_configuration_Colon_0:E(18e3,1,"Circularity_detected_while_resolving_configuration_Colon_0_18000","Circularity detected while resolving configuration: {0}"),The_files_list_in_config_file_0_is_empty:E(18002,1,"The_files_list_in_config_file_0_is_empty_18002","The 'files' list in config file '{0}' is empty."),No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2:E(18003,1,"No_inputs_were_found_in_config_file_0_Specified_include_paths_were_1_and_exclude_paths_were_2_18003","No inputs were found in config file '{0}'. Specified 'include' paths were '{1}' and 'exclude' paths were '{2}'."),File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module:E(80001,2,"File_is_a_CommonJS_module_it_may_be_converted_to_an_ES_module_80001","File is a CommonJS module; it may be converted to an ES module."),This_constructor_function_may_be_converted_to_a_class_declaration:E(80002,2,"This_constructor_function_may_be_converted_to_a_class_declaration_80002","This constructor function may be converted to a class declaration."),Import_may_be_converted_to_a_default_import:E(80003,2,"Import_may_be_converted_to_a_default_import_80003","Import may be converted to a default import."),JSDoc_types_may_be_moved_to_TypeScript_types:E(80004,2,"JSDoc_types_may_be_moved_to_TypeScript_types_80004","JSDoc types may be moved to TypeScript types."),require_call_may_be_converted_to_an_import:E(80005,2,"require_call_may_be_converted_to_an_import_80005","'require' call may be converted to an import."),This_may_be_converted_to_an_async_function:E(80006,2,"This_may_be_converted_to_an_async_function_80006","This may be converted to an async function."),await_has_no_effect_on_the_type_of_this_expression:E(80007,2,"await_has_no_effect_on_the_type_of_this_expression_80007","'await' has no effect on the type of this expression."),Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accurately_as_integers:E(80008,2,"Numeric_literals_with_absolute_values_equal_to_2_53_or_greater_are_too_large_to_be_represented_accur_80008","Numeric literals with absolute values equal to 2^53 or greater are too large to be represented accurately as integers."),JSDoc_typedef_may_be_converted_to_TypeScript_type:E(80009,2,"JSDoc_typedef_may_be_converted_to_TypeScript_type_80009","JSDoc typedef may be converted to TypeScript type."),JSDoc_typedefs_may_be_converted_to_TypeScript_types:E(80010,2,"JSDoc_typedefs_may_be_converted_to_TypeScript_types_80010","JSDoc typedefs may be converted to TypeScript types."),Add_missing_super_call:E(90001,3,"Add_missing_super_call_90001","Add missing 'super()' call"),Make_super_call_the_first_statement_in_the_constructor:E(90002,3,"Make_super_call_the_first_statement_in_the_constructor_90002","Make 'super()' call the first statement in the constructor"),Change_extends_to_implements:E(90003,3,"Change_extends_to_implements_90003","Change 'extends' to 'implements'"),Remove_unused_declaration_for_Colon_0:E(90004,3,"Remove_unused_declaration_for_Colon_0_90004","Remove unused declaration for: '{0}'"),Remove_import_from_0:E(90005,3,"Remove_import_from_0_90005","Remove import from '{0}'"),Implement_interface_0:E(90006,3,"Implement_interface_0_90006","Implement interface '{0}'"),Implement_inherited_abstract_class:E(90007,3,"Implement_inherited_abstract_class_90007","Implement inherited abstract class"),Add_0_to_unresolved_variable:E(90008,3,"Add_0_to_unresolved_variable_90008","Add '{0}.' to unresolved variable"),Remove_variable_statement:E(90010,3,"Remove_variable_statement_90010","Remove variable statement"),Remove_template_tag:E(90011,3,"Remove_template_tag_90011","Remove template tag"),Remove_type_parameters:E(90012,3,"Remove_type_parameters_90012","Remove type parameters"),Import_0_from_1:E(90013,3,"Import_0_from_1_90013",`Import '{0}' from "{1}"`),Change_0_to_1:E(90014,3,"Change_0_to_1_90014","Change '{0}' to '{1}'"),Declare_property_0:E(90016,3,"Declare_property_0_90016","Declare property '{0}'"),Add_index_signature_for_property_0:E(90017,3,"Add_index_signature_for_property_0_90017","Add index signature for property '{0}'"),Disable_checking_for_this_file:E(90018,3,"Disable_checking_for_this_file_90018","Disable checking for this file"),Ignore_this_error_message:E(90019,3,"Ignore_this_error_message_90019","Ignore this error message"),Initialize_property_0_in_the_constructor:E(90020,3,"Initialize_property_0_in_the_constructor_90020","Initialize property '{0}' in the constructor"),Initialize_static_property_0:E(90021,3,"Initialize_static_property_0_90021","Initialize static property '{0}'"),Change_spelling_to_0:E(90022,3,"Change_spelling_to_0_90022","Change spelling to '{0}'"),Declare_method_0:E(90023,3,"Declare_method_0_90023","Declare method '{0}'"),Declare_static_method_0:E(90024,3,"Declare_static_method_0_90024","Declare static method '{0}'"),Prefix_0_with_an_underscore:E(90025,3,"Prefix_0_with_an_underscore_90025","Prefix '{0}' with an underscore"),Rewrite_as_the_indexed_access_type_0:E(90026,3,"Rewrite_as_the_indexed_access_type_0_90026","Rewrite as the indexed access type '{0}'"),Declare_static_property_0:E(90027,3,"Declare_static_property_0_90027","Declare static property '{0}'"),Call_decorator_expression:E(90028,3,"Call_decorator_expression_90028","Call decorator expression"),Add_async_modifier_to_containing_function:E(90029,3,"Add_async_modifier_to_containing_function_90029","Add async modifier to containing function"),Replace_infer_0_with_unknown:E(90030,3,"Replace_infer_0_with_unknown_90030","Replace 'infer {0}' with 'unknown'"),Replace_all_unused_infer_with_unknown:E(90031,3,"Replace_all_unused_infer_with_unknown_90031","Replace all unused 'infer' with 'unknown'"),Add_parameter_name:E(90034,3,"Add_parameter_name_90034","Add parameter name"),Declare_private_property_0:E(90035,3,"Declare_private_property_0_90035","Declare private property '{0}'"),Replace_0_with_Promise_1:E(90036,3,"Replace_0_with_Promise_1_90036","Replace '{0}' with 'Promise<{1}>'"),Fix_all_incorrect_return_type_of_an_async_functions:E(90037,3,"Fix_all_incorrect_return_type_of_an_async_functions_90037","Fix all incorrect return type of an async functions"),Declare_private_method_0:E(90038,3,"Declare_private_method_0_90038","Declare private method '{0}'"),Remove_unused_destructuring_declaration:E(90039,3,"Remove_unused_destructuring_declaration_90039","Remove unused destructuring declaration"),Remove_unused_declarations_for_Colon_0:E(90041,3,"Remove_unused_declarations_for_Colon_0_90041","Remove unused declarations for: '{0}'"),Declare_a_private_field_named_0:E(90053,3,"Declare_a_private_field_named_0_90053","Declare a private field named '{0}'."),Includes_imports_of_types_referenced_by_0:E(90054,3,"Includes_imports_of_types_referenced_by_0_90054","Includes imports of types referenced by '{0}'"),Remove_type_from_import_declaration_from_0:E(90055,3,"Remove_type_from_import_declaration_from_0_90055",`Remove 'type' from import declaration from "{0}"`),Remove_type_from_import_of_0_from_1:E(90056,3,"Remove_type_from_import_of_0_from_1_90056",`Remove 'type' from import of '{0}' from "{1}"`),Add_import_from_0:E(90057,3,"Add_import_from_0_90057",'Add import from "{0}"'),Update_import_from_0:E(90058,3,"Update_import_from_0_90058",'Update import from "{0}"'),Export_0_from_module_1:E(90059,3,"Export_0_from_module_1_90059","Export '{0}' from module '{1}'"),Export_all_referenced_locals:E(90060,3,"Export_all_referenced_locals_90060","Export all referenced locals"),Update_modifiers_of_0:E(90061,3,"Update_modifiers_of_0_90061","Update modifiers of '{0}'"),Add_annotation_of_type_0:E(90062,3,"Add_annotation_of_type_0_90062","Add annotation of type '{0}'"),Add_return_type_0:E(90063,3,"Add_return_type_0_90063","Add return type '{0}'"),Extract_base_class_to_variable:E(90064,3,"Extract_base_class_to_variable_90064","Extract base class to variable"),Extract_default_export_to_variable:E(90065,3,"Extract_default_export_to_variable_90065","Extract default export to variable"),Extract_binding_expressions_to_variable:E(90066,3,"Extract_binding_expressions_to_variable_90066","Extract binding expressions to variable"),Add_all_missing_type_annotations:E(90067,3,"Add_all_missing_type_annotations_90067","Add all missing type annotations"),Add_satisfies_and_an_inline_type_assertion_with_0:E(90068,3,"Add_satisfies_and_an_inline_type_assertion_with_0_90068","Add satisfies and an inline type assertion with '{0}'"),Extract_to_variable_and_replace_with_0_as_typeof_0:E(90069,3,"Extract_to_variable_and_replace_with_0_as_typeof_0_90069","Extract to variable and replace with '{0} as typeof {0}'"),Mark_array_literal_as_const:E(90070,3,"Mark_array_literal_as_const_90070","Mark array literal as const"),Annotate_types_of_properties_expando_function_in_a_namespace:E(90071,3,"Annotate_types_of_properties_expando_function_in_a_namespace_90071","Annotate types of properties expando function in a namespace"),Convert_function_to_an_ES2015_class:E(95001,3,"Convert_function_to_an_ES2015_class_95001","Convert function to an ES2015 class"),Convert_0_to_1_in_0:E(95003,3,"Convert_0_to_1_in_0_95003","Convert '{0}' to '{1} in {0}'"),Extract_to_0_in_1:E(95004,3,"Extract_to_0_in_1_95004","Extract to {0} in {1}"),Extract_function:E(95005,3,"Extract_function_95005","Extract function"),Extract_constant:E(95006,3,"Extract_constant_95006","Extract constant"),Extract_to_0_in_enclosing_scope:E(95007,3,"Extract_to_0_in_enclosing_scope_95007","Extract to {0} in enclosing scope"),Extract_to_0_in_1_scope:E(95008,3,"Extract_to_0_in_1_scope_95008","Extract to {0} in {1} scope"),Annotate_with_type_from_JSDoc:E(95009,3,"Annotate_with_type_from_JSDoc_95009","Annotate with type from JSDoc"),Infer_type_of_0_from_usage:E(95011,3,"Infer_type_of_0_from_usage_95011","Infer type of '{0}' from usage"),Infer_parameter_types_from_usage:E(95012,3,"Infer_parameter_types_from_usage_95012","Infer parameter types from usage"),Convert_to_default_import:E(95013,3,"Convert_to_default_import_95013","Convert to default import"),Install_0:E(95014,3,"Install_0_95014","Install '{0}'"),Replace_import_with_0:E(95015,3,"Replace_import_with_0_95015","Replace import with '{0}'."),Use_synthetic_default_member:E(95016,3,"Use_synthetic_default_member_95016","Use synthetic 'default' member."),Convert_to_ES_module:E(95017,3,"Convert_to_ES_module_95017","Convert to ES module"),Add_undefined_type_to_property_0:E(95018,3,"Add_undefined_type_to_property_0_95018","Add 'undefined' type to property '{0}'"),Add_initializer_to_property_0:E(95019,3,"Add_initializer_to_property_0_95019","Add initializer to property '{0}'"),Add_definite_assignment_assertion_to_property_0:E(95020,3,"Add_definite_assignment_assertion_to_property_0_95020","Add definite assignment assertion to property '{0}'"),Convert_all_type_literals_to_mapped_type:E(95021,3,"Convert_all_type_literals_to_mapped_type_95021","Convert all type literals to mapped type"),Add_all_missing_members:E(95022,3,"Add_all_missing_members_95022","Add all missing members"),Infer_all_types_from_usage:E(95023,3,"Infer_all_types_from_usage_95023","Infer all types from usage"),Delete_all_unused_declarations:E(95024,3,"Delete_all_unused_declarations_95024","Delete all unused declarations"),Prefix_all_unused_declarations_with_where_possible:E(95025,3,"Prefix_all_unused_declarations_with_where_possible_95025","Prefix all unused declarations with '_' where possible"),Fix_all_detected_spelling_errors:E(95026,3,"Fix_all_detected_spelling_errors_95026","Fix all detected spelling errors"),Add_initializers_to_all_uninitialized_properties:E(95027,3,"Add_initializers_to_all_uninitialized_properties_95027","Add initializers to all uninitialized properties"),Add_definite_assignment_assertions_to_all_uninitialized_properties:E(95028,3,"Add_definite_assignment_assertions_to_all_uninitialized_properties_95028","Add definite assignment assertions to all uninitialized properties"),Add_undefined_type_to_all_uninitialized_properties:E(95029,3,"Add_undefined_type_to_all_uninitialized_properties_95029","Add undefined type to all uninitialized properties"),Change_all_jsdoc_style_types_to_TypeScript:E(95030,3,"Change_all_jsdoc_style_types_to_TypeScript_95030","Change all jsdoc-style types to TypeScript"),Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types:E(95031,3,"Change_all_jsdoc_style_types_to_TypeScript_and_add_undefined_to_nullable_types_95031","Change all jsdoc-style types to TypeScript (and add '| undefined' to nullable types)"),Implement_all_unimplemented_interfaces:E(95032,3,"Implement_all_unimplemented_interfaces_95032","Implement all unimplemented interfaces"),Install_all_missing_types_packages:E(95033,3,"Install_all_missing_types_packages_95033","Install all missing types packages"),Rewrite_all_as_indexed_access_types:E(95034,3,"Rewrite_all_as_indexed_access_types_95034","Rewrite all as indexed access types"),Convert_all_to_default_imports:E(95035,3,"Convert_all_to_default_imports_95035","Convert all to default imports"),Make_all_super_calls_the_first_statement_in_their_constructor:E(95036,3,"Make_all_super_calls_the_first_statement_in_their_constructor_95036","Make all 'super()' calls the first statement in their constructor"),Add_qualifier_to_all_unresolved_variables_matching_a_member_name:E(95037,3,"Add_qualifier_to_all_unresolved_variables_matching_a_member_name_95037","Add qualifier to all unresolved variables matching a member name"),Change_all_extended_interfaces_to_implements:E(95038,3,"Change_all_extended_interfaces_to_implements_95038","Change all extended interfaces to 'implements'"),Add_all_missing_super_calls:E(95039,3,"Add_all_missing_super_calls_95039","Add all missing super calls"),Implement_all_inherited_abstract_classes:E(95040,3,"Implement_all_inherited_abstract_classes_95040","Implement all inherited abstract classes"),Add_all_missing_async_modifiers:E(95041,3,"Add_all_missing_async_modifiers_95041","Add all missing 'async' modifiers"),Add_ts_ignore_to_all_error_messages:E(95042,3,"Add_ts_ignore_to_all_error_messages_95042","Add '@ts-ignore' to all error messages"),Annotate_everything_with_types_from_JSDoc:E(95043,3,"Annotate_everything_with_types_from_JSDoc_95043","Annotate everything with types from JSDoc"),Add_to_all_uncalled_decorators:E(95044,3,"Add_to_all_uncalled_decorators_95044","Add '()' to all uncalled decorators"),Convert_all_constructor_functions_to_classes:E(95045,3,"Convert_all_constructor_functions_to_classes_95045","Convert all constructor functions to classes"),Generate_get_and_set_accessors:E(95046,3,"Generate_get_and_set_accessors_95046","Generate 'get' and 'set' accessors"),Convert_require_to_import:E(95047,3,"Convert_require_to_import_95047","Convert 'require' to 'import'"),Convert_all_require_to_import:E(95048,3,"Convert_all_require_to_import_95048","Convert all 'require' to 'import'"),Move_to_a_new_file:E(95049,3,"Move_to_a_new_file_95049","Move to a new file"),Remove_unreachable_code:E(95050,3,"Remove_unreachable_code_95050","Remove unreachable code"),Remove_all_unreachable_code:E(95051,3,"Remove_all_unreachable_code_95051","Remove all unreachable code"),Add_missing_typeof:E(95052,3,"Add_missing_typeof_95052","Add missing 'typeof'"),Remove_unused_label:E(95053,3,"Remove_unused_label_95053","Remove unused label"),Remove_all_unused_labels:E(95054,3,"Remove_all_unused_labels_95054","Remove all unused labels"),Convert_0_to_mapped_object_type:E(95055,3,"Convert_0_to_mapped_object_type_95055","Convert '{0}' to mapped object type"),Convert_namespace_import_to_named_imports:E(95056,3,"Convert_namespace_import_to_named_imports_95056","Convert namespace import to named imports"),Convert_named_imports_to_namespace_import:E(95057,3,"Convert_named_imports_to_namespace_import_95057","Convert named imports to namespace import"),Add_or_remove_braces_in_an_arrow_function:E(95058,3,"Add_or_remove_braces_in_an_arrow_function_95058","Add or remove braces in an arrow function"),Add_braces_to_arrow_function:E(95059,3,"Add_braces_to_arrow_function_95059","Add braces to arrow function"),Remove_braces_from_arrow_function:E(95060,3,"Remove_braces_from_arrow_function_95060","Remove braces from arrow function"),Convert_default_export_to_named_export:E(95061,3,"Convert_default_export_to_named_export_95061","Convert default export to named export"),Convert_named_export_to_default_export:E(95062,3,"Convert_named_export_to_default_export_95062","Convert named export to default export"),Add_missing_enum_member_0:E(95063,3,"Add_missing_enum_member_0_95063","Add missing enum member '{0}'"),Add_all_missing_imports:E(95064,3,"Add_all_missing_imports_95064","Add all missing imports"),Convert_to_async_function:E(95065,3,"Convert_to_async_function_95065","Convert to async function"),Convert_all_to_async_functions:E(95066,3,"Convert_all_to_async_functions_95066","Convert all to async functions"),Add_missing_call_parentheses:E(95067,3,"Add_missing_call_parentheses_95067","Add missing call parentheses"),Add_all_missing_call_parentheses:E(95068,3,"Add_all_missing_call_parentheses_95068","Add all missing call parentheses"),Add_unknown_conversion_for_non_overlapping_types:E(95069,3,"Add_unknown_conversion_for_non_overlapping_types_95069","Add 'unknown' conversion for non-overlapping types"),Add_unknown_to_all_conversions_of_non_overlapping_types:E(95070,3,"Add_unknown_to_all_conversions_of_non_overlapping_types_95070","Add 'unknown' to all conversions of non-overlapping types"),Add_missing_new_operator_to_call:E(95071,3,"Add_missing_new_operator_to_call_95071","Add missing 'new' operator to call"),Add_missing_new_operator_to_all_calls:E(95072,3,"Add_missing_new_operator_to_all_calls_95072","Add missing 'new' operator to all calls"),Add_names_to_all_parameters_without_names:E(95073,3,"Add_names_to_all_parameters_without_names_95073","Add names to all parameters without names"),Enable_the_experimentalDecorators_option_in_your_configuration_file:E(95074,3,"Enable_the_experimentalDecorators_option_in_your_configuration_file_95074","Enable the 'experimentalDecorators' option in your configuration file"),Convert_parameters_to_destructured_object:E(95075,3,"Convert_parameters_to_destructured_object_95075","Convert parameters to destructured object"),Extract_type:E(95077,3,"Extract_type_95077","Extract type"),Extract_to_type_alias:E(95078,3,"Extract_to_type_alias_95078","Extract to type alias"),Extract_to_typedef:E(95079,3,"Extract_to_typedef_95079","Extract to typedef"),Infer_this_type_of_0_from_usage:E(95080,3,"Infer_this_type_of_0_from_usage_95080","Infer 'this' type of '{0}' from usage"),Add_const_to_unresolved_variable:E(95081,3,"Add_const_to_unresolved_variable_95081","Add 'const' to unresolved variable"),Add_const_to_all_unresolved_variables:E(95082,3,"Add_const_to_all_unresolved_variables_95082","Add 'const' to all unresolved variables"),Add_await:E(95083,3,"Add_await_95083","Add 'await'"),Add_await_to_initializer_for_0:E(95084,3,"Add_await_to_initializer_for_0_95084","Add 'await' to initializer for '{0}'"),Fix_all_expressions_possibly_missing_await:E(95085,3,"Fix_all_expressions_possibly_missing_await_95085","Fix all expressions possibly missing 'await'"),Remove_unnecessary_await:E(95086,3,"Remove_unnecessary_await_95086","Remove unnecessary 'await'"),Remove_all_unnecessary_uses_of_await:E(95087,3,"Remove_all_unnecessary_uses_of_await_95087","Remove all unnecessary uses of 'await'"),Enable_the_jsx_flag_in_your_configuration_file:E(95088,3,"Enable_the_jsx_flag_in_your_configuration_file_95088","Enable the '--jsx' flag in your configuration file"),Add_await_to_initializers:E(95089,3,"Add_await_to_initializers_95089","Add 'await' to initializers"),Extract_to_interface:E(95090,3,"Extract_to_interface_95090","Extract to interface"),Convert_to_a_bigint_numeric_literal:E(95091,3,"Convert_to_a_bigint_numeric_literal_95091","Convert to a bigint numeric literal"),Convert_all_to_bigint_numeric_literals:E(95092,3,"Convert_all_to_bigint_numeric_literals_95092","Convert all to bigint numeric literals"),Convert_const_to_let:E(95093,3,"Convert_const_to_let_95093","Convert 'const' to 'let'"),Prefix_with_declare:E(95094,3,"Prefix_with_declare_95094","Prefix with 'declare'"),Prefix_all_incorrect_property_declarations_with_declare:E(95095,3,"Prefix_all_incorrect_property_declarations_with_declare_95095","Prefix all incorrect property declarations with 'declare'"),Convert_to_template_string:E(95096,3,"Convert_to_template_string_95096","Convert to template string"),Add_export_to_make_this_file_into_a_module:E(95097,3,"Add_export_to_make_this_file_into_a_module_95097","Add 'export {}' to make this file into a module"),Set_the_target_option_in_your_configuration_file_to_0:E(95098,3,"Set_the_target_option_in_your_configuration_file_to_0_95098","Set the 'target' option in your configuration file to '{0}'"),Set_the_module_option_in_your_configuration_file_to_0:E(95099,3,"Set_the_module_option_in_your_configuration_file_to_0_95099","Set the 'module' option in your configuration file to '{0}'"),Convert_invalid_character_to_its_html_entity_code:E(95100,3,"Convert_invalid_character_to_its_html_entity_code_95100","Convert invalid character to its html entity code"),Convert_all_invalid_characters_to_HTML_entity_code:E(95101,3,"Convert_all_invalid_characters_to_HTML_entity_code_95101","Convert all invalid characters to HTML entity code"),Convert_all_const_to_let:E(95102,3,"Convert_all_const_to_let_95102","Convert all 'const' to 'let'"),Convert_function_expression_0_to_arrow_function:E(95105,3,"Convert_function_expression_0_to_arrow_function_95105","Convert function expression '{0}' to arrow function"),Convert_function_declaration_0_to_arrow_function:E(95106,3,"Convert_function_declaration_0_to_arrow_function_95106","Convert function declaration '{0}' to arrow function"),Fix_all_implicit_this_errors:E(95107,3,"Fix_all_implicit_this_errors_95107","Fix all implicit-'this' errors"),Wrap_invalid_character_in_an_expression_container:E(95108,3,"Wrap_invalid_character_in_an_expression_container_95108","Wrap invalid character in an expression container"),Wrap_all_invalid_characters_in_an_expression_container:E(95109,3,"Wrap_all_invalid_characters_in_an_expression_container_95109","Wrap all invalid characters in an expression container"),Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file:E(95110,3,"Visit_https_Colon_Slash_Slashaka_ms_Slashtsconfig_to_read_more_about_this_file_95110","Visit https://aka.ms/tsconfig to read more about this file"),Add_a_return_statement:E(95111,3,"Add_a_return_statement_95111","Add a return statement"),Remove_braces_from_arrow_function_body:E(95112,3,"Remove_braces_from_arrow_function_body_95112","Remove braces from arrow function body"),Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal:E(95113,3,"Wrap_the_following_body_with_parentheses_which_should_be_an_object_literal_95113","Wrap the following body with parentheses which should be an object literal"),Add_all_missing_return_statement:E(95114,3,"Add_all_missing_return_statement_95114","Add all missing return statement"),Remove_braces_from_all_arrow_function_bodies_with_relevant_issues:E(95115,3,"Remove_braces_from_all_arrow_function_bodies_with_relevant_issues_95115","Remove braces from all arrow function bodies with relevant issues"),Wrap_all_object_literal_with_parentheses:E(95116,3,"Wrap_all_object_literal_with_parentheses_95116","Wrap all object literal with parentheses"),Move_labeled_tuple_element_modifiers_to_labels:E(95117,3,"Move_labeled_tuple_element_modifiers_to_labels_95117","Move labeled tuple element modifiers to labels"),Convert_overload_list_to_single_signature:E(95118,3,"Convert_overload_list_to_single_signature_95118","Convert overload list to single signature"),Generate_get_and_set_accessors_for_all_overriding_properties:E(95119,3,"Generate_get_and_set_accessors_for_all_overriding_properties_95119","Generate 'get' and 'set' accessors for all overriding properties"),Wrap_in_JSX_fragment:E(95120,3,"Wrap_in_JSX_fragment_95120","Wrap in JSX fragment"),Wrap_all_unparented_JSX_in_JSX_fragment:E(95121,3,"Wrap_all_unparented_JSX_in_JSX_fragment_95121","Wrap all unparented JSX in JSX fragment"),Convert_arrow_function_or_function_expression:E(95122,3,"Convert_arrow_function_or_function_expression_95122","Convert arrow function or function expression"),Convert_to_anonymous_function:E(95123,3,"Convert_to_anonymous_function_95123","Convert to anonymous function"),Convert_to_named_function:E(95124,3,"Convert_to_named_function_95124","Convert to named function"),Convert_to_arrow_function:E(95125,3,"Convert_to_arrow_function_95125","Convert to arrow function"),Remove_parentheses:E(95126,3,"Remove_parentheses_95126","Remove parentheses"),Could_not_find_a_containing_arrow_function:E(95127,3,"Could_not_find_a_containing_arrow_function_95127","Could not find a containing arrow function"),Containing_function_is_not_an_arrow_function:E(95128,3,"Containing_function_is_not_an_arrow_function_95128","Containing function is not an arrow function"),Could_not_find_export_statement:E(95129,3,"Could_not_find_export_statement_95129","Could not find export statement"),This_file_already_has_a_default_export:E(95130,3,"This_file_already_has_a_default_export_95130","This file already has a default export"),Could_not_find_import_clause:E(95131,3,"Could_not_find_import_clause_95131","Could not find import clause"),Could_not_find_namespace_import_or_named_imports:E(95132,3,"Could_not_find_namespace_import_or_named_imports_95132","Could not find namespace import or named imports"),Selection_is_not_a_valid_type_node:E(95133,3,"Selection_is_not_a_valid_type_node_95133","Selection is not a valid type node"),No_type_could_be_extracted_from_this_type_node:E(95134,3,"No_type_could_be_extracted_from_this_type_node_95134","No type could be extracted from this type node"),Could_not_find_property_for_which_to_generate_accessor:E(95135,3,"Could_not_find_property_for_which_to_generate_accessor_95135","Could not find property for which to generate accessor"),Name_is_not_valid:E(95136,3,"Name_is_not_valid_95136","Name is not valid"),Can_only_convert_property_with_modifier:E(95137,3,"Can_only_convert_property_with_modifier_95137","Can only convert property with modifier"),Switch_each_misused_0_to_1:E(95138,3,"Switch_each_misused_0_to_1_95138","Switch each misused '{0}' to '{1}'"),Convert_to_optional_chain_expression:E(95139,3,"Convert_to_optional_chain_expression_95139","Convert to optional chain expression"),Could_not_find_convertible_access_expression:E(95140,3,"Could_not_find_convertible_access_expression_95140","Could not find convertible access expression"),Could_not_find_matching_access_expressions:E(95141,3,"Could_not_find_matching_access_expressions_95141","Could not find matching access expressions"),Can_only_convert_logical_AND_access_chains:E(95142,3,"Can_only_convert_logical_AND_access_chains_95142","Can only convert logical AND access chains"),Add_void_to_Promise_resolved_without_a_value:E(95143,3,"Add_void_to_Promise_resolved_without_a_value_95143","Add 'void' to Promise resolved without a value"),Add_void_to_all_Promises_resolved_without_a_value:E(95144,3,"Add_void_to_all_Promises_resolved_without_a_value_95144","Add 'void' to all Promises resolved without a value"),Use_element_access_for_0:E(95145,3,"Use_element_access_for_0_95145","Use element access for '{0}'"),Use_element_access_for_all_undeclared_properties:E(95146,3,"Use_element_access_for_all_undeclared_properties_95146","Use element access for all undeclared properties."),Delete_all_unused_imports:E(95147,3,"Delete_all_unused_imports_95147","Delete all unused imports"),Infer_function_return_type:E(95148,3,"Infer_function_return_type_95148","Infer function return type"),Return_type_must_be_inferred_from_a_function:E(95149,3,"Return_type_must_be_inferred_from_a_function_95149","Return type must be inferred from a function"),Could_not_determine_function_return_type:E(95150,3,"Could_not_determine_function_return_type_95150","Could not determine function return type"),Could_not_convert_to_arrow_function:E(95151,3,"Could_not_convert_to_arrow_function_95151","Could not convert to arrow function"),Could_not_convert_to_named_function:E(95152,3,"Could_not_convert_to_named_function_95152","Could not convert to named function"),Could_not_convert_to_anonymous_function:E(95153,3,"Could_not_convert_to_anonymous_function_95153","Could not convert to anonymous function"),Can_only_convert_string_concatenations_and_string_literals:E(95154,3,"Can_only_convert_string_concatenations_and_string_literals_95154","Can only convert string concatenations and string literals"),Selection_is_not_a_valid_statement_or_statements:E(95155,3,"Selection_is_not_a_valid_statement_or_statements_95155","Selection is not a valid statement or statements"),Add_missing_function_declaration_0:E(95156,3,"Add_missing_function_declaration_0_95156","Add missing function declaration '{0}'"),Add_all_missing_function_declarations:E(95157,3,"Add_all_missing_function_declarations_95157","Add all missing function declarations"),Method_not_implemented:E(95158,3,"Method_not_implemented_95158","Method not implemented."),Function_not_implemented:E(95159,3,"Function_not_implemented_95159","Function not implemented."),Add_override_modifier:E(95160,3,"Add_override_modifier_95160","Add 'override' modifier"),Remove_override_modifier:E(95161,3,"Remove_override_modifier_95161","Remove 'override' modifier"),Add_all_missing_override_modifiers:E(95162,3,"Add_all_missing_override_modifiers_95162","Add all missing 'override' modifiers"),Remove_all_unnecessary_override_modifiers:E(95163,3,"Remove_all_unnecessary_override_modifiers_95163","Remove all unnecessary 'override' modifiers"),Can_only_convert_named_export:E(95164,3,"Can_only_convert_named_export_95164","Can only convert named export"),Add_missing_properties:E(95165,3,"Add_missing_properties_95165","Add missing properties"),Add_all_missing_properties:E(95166,3,"Add_all_missing_properties_95166","Add all missing properties"),Add_missing_attributes:E(95167,3,"Add_missing_attributes_95167","Add missing attributes"),Add_all_missing_attributes:E(95168,3,"Add_all_missing_attributes_95168","Add all missing attributes"),Add_undefined_to_optional_property_type:E(95169,3,"Add_undefined_to_optional_property_type_95169","Add 'undefined' to optional property type"),Convert_named_imports_to_default_import:E(95170,3,"Convert_named_imports_to_default_import_95170","Convert named imports to default import"),Delete_unused_param_tag_0:E(95171,3,"Delete_unused_param_tag_0_95171","Delete unused '@param' tag '{0}'"),Delete_all_unused_param_tags:E(95172,3,"Delete_all_unused_param_tags_95172","Delete all unused '@param' tags"),Rename_param_tag_name_0_to_1:E(95173,3,"Rename_param_tag_name_0_to_1_95173","Rename '@param' tag name '{0}' to '{1}'"),Use_0:E(95174,3,"Use_0_95174","Use `{0}`."),Use_Number_isNaN_in_all_conditions:E(95175,3,"Use_Number_isNaN_in_all_conditions_95175","Use `Number.isNaN` in all conditions."),Convert_typedef_to_TypeScript_type:E(95176,3,"Convert_typedef_to_TypeScript_type_95176","Convert typedef to TypeScript type."),Convert_all_typedef_to_TypeScript_types:E(95177,3,"Convert_all_typedef_to_TypeScript_types_95177","Convert all typedef to TypeScript types."),Move_to_file:E(95178,3,"Move_to_file_95178","Move to file"),Cannot_move_to_file_selected_file_is_invalid:E(95179,3,"Cannot_move_to_file_selected_file_is_invalid_95179","Cannot move to file, selected file is invalid"),Use_import_type:E(95180,3,"Use_import_type_95180","Use 'import type'"),Use_type_0:E(95181,3,"Use_type_0_95181","Use 'type {0}'"),Fix_all_with_type_only_imports:E(95182,3,"Fix_all_with_type_only_imports_95182","Fix all with type-only imports"),Cannot_move_statements_to_the_selected_file:E(95183,3,"Cannot_move_statements_to_the_selected_file_95183","Cannot move statements to the selected file"),Inline_variable:E(95184,3,"Inline_variable_95184","Inline variable"),Could_not_find_variable_to_inline:E(95185,3,"Could_not_find_variable_to_inline_95185","Could not find variable to inline."),Variables_with_multiple_declarations_cannot_be_inlined:E(95186,3,"Variables_with_multiple_declarations_cannot_be_inlined_95186","Variables with multiple declarations cannot be inlined."),Add_missing_comma_for_object_member_completion_0:E(95187,3,"Add_missing_comma_for_object_member_completion_0_95187","Add missing comma for object member completion '{0}'."),Add_missing_parameter_to_0:E(95188,3,"Add_missing_parameter_to_0_95188","Add missing parameter to '{0}'"),Add_missing_parameters_to_0:E(95189,3,"Add_missing_parameters_to_0_95189","Add missing parameters to '{0}'"),Add_all_missing_parameters:E(95190,3,"Add_all_missing_parameters_95190","Add all missing parameters"),Add_optional_parameter_to_0:E(95191,3,"Add_optional_parameter_to_0_95191","Add optional parameter to '{0}'"),Add_optional_parameters_to_0:E(95192,3,"Add_optional_parameters_to_0_95192","Add optional parameters to '{0}'"),Add_all_optional_parameters:E(95193,3,"Add_all_optional_parameters_95193","Add all optional parameters"),Wrap_in_parentheses:E(95194,3,"Wrap_in_parentheses_95194","Wrap in parentheses"),Wrap_all_invalid_decorator_expressions_in_parentheses:E(95195,3,"Wrap_all_invalid_decorator_expressions_in_parentheses_95195","Wrap all invalid decorator expressions in parentheses"),Add_resolution_mode_import_attribute:E(95196,3,"Add_resolution_mode_import_attribute_95196","Add 'resolution-mode' import attribute"),Add_resolution_mode_import_attribute_to_all_type_only_imports_that_need_it:E(95197,3,"Add_resolution_mode_import_attribute_to_all_type_only_imports_that_need_it_95197","Add 'resolution-mode' import attribute to all type-only imports that need it"),No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer:E(18004,1,"No_value_exists_in_scope_for_the_shorthand_property_0_Either_declare_one_or_provide_an_initializer_18004","No value exists in scope for the shorthand property '{0}'. Either declare one or provide an initializer."),Classes_may_not_have_a_field_named_constructor:E(18006,1,"Classes_may_not_have_a_field_named_constructor_18006","Classes may not have a field named 'constructor'."),JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array:E(18007,1,"JSX_expressions_may_not_use_the_comma_operator_Did_you_mean_to_write_an_array_18007","JSX expressions may not use the comma operator. Did you mean to write an array?"),Private_identifiers_cannot_be_used_as_parameters:E(18009,1,"Private_identifiers_cannot_be_used_as_parameters_18009","Private identifiers cannot be used as parameters."),An_accessibility_modifier_cannot_be_used_with_a_private_identifier:E(18010,1,"An_accessibility_modifier_cannot_be_used_with_a_private_identifier_18010","An accessibility modifier cannot be used with a private identifier."),The_operand_of_a_delete_operator_cannot_be_a_private_identifier:E(18011,1,"The_operand_of_a_delete_operator_cannot_be_a_private_identifier_18011","The operand of a 'delete' operator cannot be a private identifier."),constructor_is_a_reserved_word:E(18012,1,"constructor_is_a_reserved_word_18012","'#constructor' is a reserved word."),Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier:E(18013,1,"Property_0_is_not_accessible_outside_class_1_because_it_has_a_private_identifier_18013","Property '{0}' is not accessible outside class '{1}' because it has a private identifier."),The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_private_identifier_with_the_same_spelling:E(18014,1,"The_property_0_cannot_be_accessed_on_type_1_within_this_class_because_it_is_shadowed_by_another_priv_18014","The property '{0}' cannot be accessed on type '{1}' within this class because it is shadowed by another private identifier with the same spelling."),Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2:E(18015,1,"Property_0_in_type_1_refers_to_a_different_member_that_cannot_be_accessed_from_within_type_2_18015","Property '{0}' in type '{1}' refers to a different member that cannot be accessed from within type '{2}'."),Private_identifiers_are_not_allowed_outside_class_bodies:E(18016,1,"Private_identifiers_are_not_allowed_outside_class_bodies_18016","Private identifiers are not allowed outside class bodies."),The_shadowing_declaration_of_0_is_defined_here:E(18017,1,"The_shadowing_declaration_of_0_is_defined_here_18017","The shadowing declaration of '{0}' is defined here"),The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here:E(18018,1,"The_declaration_of_0_that_you_probably_intended_to_use_is_defined_here_18018","The declaration of '{0}' that you probably intended to use is defined here"),_0_modifier_cannot_be_used_with_a_private_identifier:E(18019,1,"_0_modifier_cannot_be_used_with_a_private_identifier_18019","'{0}' modifier cannot be used with a private identifier."),An_enum_member_cannot_be_named_with_a_private_identifier:E(18024,1,"An_enum_member_cannot_be_named_with_a_private_identifier_18024","An enum member cannot be named with a private identifier."),can_only_be_used_at_the_start_of_a_file:E(18026,1,"can_only_be_used_at_the_start_of_a_file_18026","'#!' can only be used at the start of a file."),Compiler_reserves_name_0_when_emitting_private_identifier_downlevel:E(18027,1,"Compiler_reserves_name_0_when_emitting_private_identifier_downlevel_18027","Compiler reserves name '{0}' when emitting private identifier downlevel."),Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher:E(18028,1,"Private_identifiers_are_only_available_when_targeting_ECMAScript_2015_and_higher_18028","Private identifiers are only available when targeting ECMAScript 2015 and higher."),Private_identifiers_are_not_allowed_in_variable_declarations:E(18029,1,"Private_identifiers_are_not_allowed_in_variable_declarations_18029","Private identifiers are not allowed in variable declarations."),An_optional_chain_cannot_contain_private_identifiers:E(18030,1,"An_optional_chain_cannot_contain_private_identifiers_18030","An optional chain cannot contain private identifiers."),The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituents:E(18031,1,"The_intersection_0_was_reduced_to_never_because_property_1_has_conflicting_types_in_some_constituent_18031","The intersection '{0}' was reduced to 'never' because property '{1}' has conflicting types in some constituents."),The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_private_in_some:E(18032,1,"The_intersection_0_was_reduced_to_never_because_property_1_exists_in_multiple_constituents_and_is_pr_18032","The intersection '{0}' was reduced to 'never' because property '{1}' exists in multiple constituents and is private in some."),Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values:E(18033,1,"Type_0_is_not_assignable_to_type_1_as_required_for_computed_enum_member_values_18033","Type '{0}' is not assignable to type '{1}' as required for computed enum member values."),Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compiler_option_is_specified_e_g_Fragment:E(18034,3,"Specify_the_JSX_fragment_factory_function_to_use_when_targeting_react_JSX_emit_with_jsxFactory_compi_18034","Specify the JSX fragment factory function to use when targeting 'react' JSX emit with 'jsxFactory' compiler option is specified, e.g. 'Fragment'."),Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name:E(18035,1,"Invalid_value_for_jsxFragmentFactory_0_is_not_a_valid_identifier_or_qualified_name_18035","Invalid value for 'jsxFragmentFactory'. '{0}' is not a valid identifier or qualified-name."),Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_decorator:E(18036,1,"Class_decorators_can_t_be_used_with_static_private_identifier_Consider_removing_the_experimental_dec_18036","Class decorators can't be used with static private identifier. Consider removing the experimental decorator."),await_expression_cannot_be_used_inside_a_class_static_block:E(18037,1,"await_expression_cannot_be_used_inside_a_class_static_block_18037","'await' expression cannot be used inside a class static block."),for_await_loops_cannot_be_used_inside_a_class_static_block:E(18038,1,"for_await_loops_cannot_be_used_inside_a_class_static_block_18038","'for await' loops cannot be used inside a class static block."),Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block:E(18039,1,"Invalid_use_of_0_It_cannot_be_used_inside_a_class_static_block_18039","Invalid use of '{0}'. It cannot be used inside a class static block."),A_return_statement_cannot_be_used_inside_a_class_static_block:E(18041,1,"A_return_statement_cannot_be_used_inside_a_class_static_block_18041","A 'return' statement cannot be used inside a class static block."),_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation:E(18042,1,"_0_is_a_type_and_cannot_be_imported_in_JavaScript_files_Use_1_in_a_JSDoc_type_annotation_18042","'{0}' is a type and cannot be imported in JavaScript files. Use '{1}' in a JSDoc type annotation."),Types_cannot_appear_in_export_declarations_in_JavaScript_files:E(18043,1,"Types_cannot_appear_in_export_declarations_in_JavaScript_files_18043","Types cannot appear in export declarations in JavaScript files."),_0_is_automatically_exported_here:E(18044,3,"_0_is_automatically_exported_here_18044","'{0}' is automatically exported here."),Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher:E(18045,1,"Properties_with_the_accessor_modifier_are_only_available_when_targeting_ECMAScript_2015_and_higher_18045","Properties with the 'accessor' modifier are only available when targeting ECMAScript 2015 and higher."),_0_is_of_type_unknown:E(18046,1,"_0_is_of_type_unknown_18046","'{0}' is of type 'unknown'."),_0_is_possibly_null:E(18047,1,"_0_is_possibly_null_18047","'{0}' is possibly 'null'."),_0_is_possibly_undefined:E(18048,1,"_0_is_possibly_undefined_18048","'{0}' is possibly 'undefined'."),_0_is_possibly_null_or_undefined:E(18049,1,"_0_is_possibly_null_or_undefined_18049","'{0}' is possibly 'null' or 'undefined'."),The_value_0_cannot_be_used_here:E(18050,1,"The_value_0_cannot_be_used_here_18050","The value '{0}' cannot be used here."),Compiler_option_0_cannot_be_given_an_empty_string:E(18051,1,"Compiler_option_0_cannot_be_given_an_empty_string_18051","Compiler option '{0}' cannot be given an empty string."),Its_type_0_is_not_a_valid_JSX_element_type:E(18053,1,"Its_type_0_is_not_a_valid_JSX_element_type_18053","Its type '{0}' is not a valid JSX element type."),await_using_statements_cannot_be_used_inside_a_class_static_block:E(18054,1,"await_using_statements_cannot_be_used_inside_a_class_static_block_18054","'await using' statements cannot be used inside a class static block."),_0_has_a_string_type_but_must_have_syntactically_recognizable_string_syntax_when_isolatedModules_is_enabled:E(18055,1,"_0_has_a_string_type_but_must_have_syntactically_recognizable_string_syntax_when_isolatedModules_is__18055","'{0}' has a string type, but must have syntactically recognizable string syntax when 'isolatedModules' is enabled."),Enum_member_following_a_non_literal_numeric_member_must_have_an_initializer_when_isolatedModules_is_enabled:E(18056,1,"Enum_member_following_a_non_literal_numeric_member_must_have_an_initializer_when_isolatedModules_is__18056","Enum member following a non-literal numeric member must have an initializer when 'isolatedModules' is enabled."),String_literal_import_and_export_names_are_not_supported_when_the_module_flag_is_set_to_es2015_or_es2020:E(18057,1,"String_literal_import_and_export_names_are_not_supported_when_the_module_flag_is_set_to_es2015_or_es_18057","String literal import and export names are not supported when the '--module' flag is set to 'es2015' or 'es2020'.")};u9t={abstract:128,accessor:129,any:133,as:130,asserts:131,assert:132,bigint:163,boolean:136,break:83,case:84,catch:85,class:86,continue:88,const:87,constructor:137,debugger:89,declare:138,default:90,delete:91,do:92,else:93,enum:94,export:95,extends:96,false:97,finally:98,for:99,from:161,function:100,get:139,if:101,implements:119,import:102,in:103,infer:140,instanceof:104,interface:120,intrinsic:141,is:142,keyof:143,let:121,module:144,namespace:145,never:146,new:105,null:106,number:150,object:151,package:122,private:123,protected:124,public:125,override:164,out:147,readonly:148,require:149,global:162,return:107,satisfies:152,set:153,static:126,string:154,super:108,switch:109,symbol:155,this:110,throw:111,true:112,try:113,type:156,typeof:114,undefined:157,unique:158,unknown:159,using:160,var:115,void:116,while:117,with:118,yield:127,async:134,await:135,of:165},tAn=new Map(Object.entries(u9t)),Kcr=new Map(Object.entries({...u9t,"{":19,"}":20,"(":21,")":22,"[":23,"]":24,".":25,"...":26,";":27,",":28,"<":30,">":32,"<=":33,">=":34,"==":35,"!=":36,"===":37,"!==":38,"=>":39,"+":40,"-":41,"**":43,"*":42,"/":44,"%":45,"++":46,"--":47,"<<":48,">":49,">>>":50,"&":51,"|":52,"^":53,"!":54,"~":55,"&&":56,"||":57,"?":58,"??":61,"?.":29,":":59,"=":64,"+=":65,"-=":66,"*=":67,"**=":68,"/=":69,"%=":70,"<<=":71,">>=":72,">>>=":73,"&=":74,"|=":75,"^=":79,"||=":76,"&&=":77,"??=":78,"@":60,"#":63,"`":62})),Gcr=new Map([[100,1],[103,2],[105,4],[109,8],[115,16],[117,32],[118,64],[121,128]]),rAn=new Map([[1,rde.RegularExpressionFlagsHasIndices],[16,rde.RegularExpressionFlagsDotAll],[32,rde.RegularExpressionFlagsUnicode],[64,rde.RegularExpressionFlagsUnicodeSets],[128,rde.RegularExpressionFlagsSticky]]),nAn=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1319,1329,1366,1369,1369,1377,1415,1488,1514,1520,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2208,2208,2210,2220,2308,2361,2365,2365,2384,2384,2392,2401,2417,2423,2425,2431,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3133,3160,3161,3168,3169,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3294,3294,3296,3297,3313,3314,3333,3340,3342,3344,3346,3386,3389,3389,3406,3406,3424,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5905,5920,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6263,6272,6312,6314,6314,6320,6389,6400,6428,6480,6509,6512,6516,6528,6571,6593,6599,6656,6678,6688,6740,6823,6823,6917,6963,6981,6987,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7401,7404,7406,7409,7413,7414,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11823,11823,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42647,42656,42735,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43648,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],iAn=[170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,902,902,904,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1319,1329,1366,1369,1369,1377,1415,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1520,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2048,2093,2112,2139,2208,2208,2210,2220,2276,2302,2304,2403,2406,2415,2417,2423,2425,2431,2433,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2902,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3073,3075,3077,3084,3086,3088,3090,3112,3114,3123,3125,3129,3133,3140,3142,3144,3146,3149,3157,3158,3160,3161,3168,3171,3174,3183,3202,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3294,3294,3296,3299,3302,3311,3313,3314,3330,3331,3333,3340,3342,3344,3346,3386,3389,3396,3398,3400,3402,3406,3415,3415,3424,3427,3430,3439,3450,3455,3458,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3719,3720,3722,3722,3725,3725,3732,3735,3737,3743,3745,3747,3749,3749,3751,3751,3754,3755,3757,3769,3771,3773,3776,3780,3782,3782,3784,3789,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4992,5007,5024,5108,5121,5740,5743,5759,5761,5786,5792,5866,5870,5872,5888,5900,5902,5908,5920,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6160,6169,6176,6263,6272,6314,6320,6389,6400,6428,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6617,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6912,6987,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7376,7378,7380,7414,7424,7654,7676,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8473,8477,8484,8484,8486,8486,8488,8488,8490,8493,8495,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11310,11312,11358,11360,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,11823,11823,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12442,12445,12447,12449,12538,12540,12543,12549,12589,12593,12686,12704,12730,12784,12799,13312,19893,19968,40908,40960,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42647,42655,42737,42775,42783,42786,42888,42891,42894,42896,42899,42912,42922,43e3,43047,43072,43123,43136,43204,43216,43225,43232,43255,43259,43259,43264,43309,43312,43347,43360,43388,43392,43456,43471,43481,43520,43574,43584,43597,43600,43609,43616,43638,43642,43643,43648,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43968,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65062,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500],aAn=[65,90,97,122,170,170,181,181,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,880,884,886,887,890,893,895,895,902,902,904,906,908,908,910,929,931,1013,1015,1153,1162,1327,1329,1366,1369,1369,1376,1416,1488,1514,1519,1522,1568,1610,1646,1647,1649,1747,1749,1749,1765,1766,1774,1775,1786,1788,1791,1791,1808,1808,1810,1839,1869,1957,1969,1969,1994,2026,2036,2037,2042,2042,2048,2069,2074,2074,2084,2084,2088,2088,2112,2136,2144,2154,2160,2183,2185,2190,2208,2249,2308,2361,2365,2365,2384,2384,2392,2401,2417,2432,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2493,2493,2510,2510,2524,2525,2527,2529,2544,2545,2556,2556,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2649,2652,2654,2654,2674,2676,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2749,2749,2768,2768,2784,2785,2809,2809,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2877,2877,2908,2909,2911,2913,2929,2929,2947,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3024,3024,3077,3084,3086,3088,3090,3112,3114,3129,3133,3133,3160,3162,3165,3165,3168,3169,3200,3200,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3261,3261,3293,3294,3296,3297,3313,3314,3332,3340,3342,3344,3346,3386,3389,3389,3406,3406,3412,3414,3423,3425,3450,3455,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3585,3632,3634,3635,3648,3654,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3760,3762,3763,3773,3773,3776,3780,3782,3782,3804,3807,3840,3840,3904,3911,3913,3948,3976,3980,4096,4138,4159,4159,4176,4181,4186,4189,4193,4193,4197,4198,4206,4208,4213,4225,4238,4238,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5905,5919,5937,5952,5969,5984,5996,5998,6e3,6016,6067,6103,6103,6108,6108,6176,6264,6272,6312,6314,6314,6320,6389,6400,6430,6480,6509,6512,6516,6528,6571,6576,6601,6656,6678,6688,6740,6823,6823,6917,6963,6981,6988,7043,7072,7086,7087,7098,7141,7168,7203,7245,7247,7258,7293,7296,7304,7312,7354,7357,7359,7401,7404,7406,7411,7413,7414,7418,7418,7424,7615,7680,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8305,8305,8319,8319,8336,8348,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11492,11499,11502,11506,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11648,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,12293,12295,12321,12329,12337,12341,12344,12348,12353,12438,12443,12447,12449,12538,12540,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42527,42538,42539,42560,42606,42623,42653,42656,42735,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43009,43011,43013,43015,43018,43020,43042,43072,43123,43138,43187,43250,43255,43259,43259,43261,43262,43274,43301,43312,43334,43360,43388,43396,43442,43471,43471,43488,43492,43494,43503,43514,43518,43520,43560,43584,43586,43588,43595,43616,43638,43642,43642,43646,43695,43697,43697,43701,43702,43705,43709,43712,43712,43714,43714,43739,43741,43744,43754,43762,43764,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44002,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64285,64287,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65136,65140,65142,65276,65313,65338,65345,65370,65382,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66176,66204,66208,66256,66304,66335,66349,66378,66384,66421,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68096,68112,68115,68117,68119,68121,68149,68192,68220,68224,68252,68288,68295,68297,68324,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68899,69248,69289,69296,69297,69376,69404,69415,69415,69424,69445,69488,69505,69552,69572,69600,69622,69635,69687,69745,69746,69749,69749,69763,69807,69840,69864,69891,69926,69956,69956,69959,69959,69968,70002,70006,70006,70019,70066,70081,70084,70106,70106,70108,70108,70144,70161,70163,70187,70207,70208,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70366,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70461,70461,70480,70480,70493,70497,70656,70708,70727,70730,70751,70753,70784,70831,70852,70853,70855,70855,71040,71086,71128,71131,71168,71215,71236,71236,71296,71338,71352,71352,71424,71450,71488,71494,71680,71723,71840,71903,71935,71942,71945,71945,71948,71955,71957,71958,71960,71983,71999,71999,72001,72001,72096,72103,72106,72144,72161,72161,72163,72163,72192,72192,72203,72242,72250,72250,72272,72272,72284,72329,72349,72349,72368,72440,72704,72712,72714,72750,72768,72768,72818,72847,72960,72966,72968,72969,72971,73008,73030,73030,73056,73061,73063,73064,73066,73097,73112,73112,73440,73458,73474,73474,73476,73488,73490,73523,73648,73648,73728,74649,74752,74862,74880,75075,77712,77808,77824,78895,78913,78918,82944,83526,92160,92728,92736,92766,92784,92862,92880,92909,92928,92975,92992,92995,93027,93047,93053,93071,93760,93823,93952,94026,94032,94032,94099,94111,94176,94177,94179,94179,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,122624,122654,122661,122666,122928,122989,123136,123180,123191,123197,123214,123214,123536,123565,123584,123627,124112,124139,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125184,125251,125259,125259,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,131072,173791,173824,177977,177984,178205,178208,183969,183984,191456,191472,192093,194560,195101,196608,201546,201552,205743],sAn=[48,57,65,90,95,95,97,122,170,170,181,181,183,183,186,186,192,214,216,246,248,705,710,721,736,740,748,748,750,750,768,884,886,887,890,893,895,895,902,906,908,908,910,929,931,1013,1015,1153,1155,1159,1162,1327,1329,1366,1369,1369,1376,1416,1425,1469,1471,1471,1473,1474,1476,1477,1479,1479,1488,1514,1519,1522,1552,1562,1568,1641,1646,1747,1749,1756,1759,1768,1770,1788,1791,1791,1808,1866,1869,1969,1984,2037,2042,2042,2045,2045,2048,2093,2112,2139,2144,2154,2160,2183,2185,2190,2200,2273,2275,2403,2406,2415,2417,2435,2437,2444,2447,2448,2451,2472,2474,2480,2482,2482,2486,2489,2492,2500,2503,2504,2507,2510,2519,2519,2524,2525,2527,2531,2534,2545,2556,2556,2558,2558,2561,2563,2565,2570,2575,2576,2579,2600,2602,2608,2610,2611,2613,2614,2616,2617,2620,2620,2622,2626,2631,2632,2635,2637,2641,2641,2649,2652,2654,2654,2662,2677,2689,2691,2693,2701,2703,2705,2707,2728,2730,2736,2738,2739,2741,2745,2748,2757,2759,2761,2763,2765,2768,2768,2784,2787,2790,2799,2809,2815,2817,2819,2821,2828,2831,2832,2835,2856,2858,2864,2866,2867,2869,2873,2876,2884,2887,2888,2891,2893,2901,2903,2908,2909,2911,2915,2918,2927,2929,2929,2946,2947,2949,2954,2958,2960,2962,2965,2969,2970,2972,2972,2974,2975,2979,2980,2984,2986,2990,3001,3006,3010,3014,3016,3018,3021,3024,3024,3031,3031,3046,3055,3072,3084,3086,3088,3090,3112,3114,3129,3132,3140,3142,3144,3146,3149,3157,3158,3160,3162,3165,3165,3168,3171,3174,3183,3200,3203,3205,3212,3214,3216,3218,3240,3242,3251,3253,3257,3260,3268,3270,3272,3274,3277,3285,3286,3293,3294,3296,3299,3302,3311,3313,3315,3328,3340,3342,3344,3346,3396,3398,3400,3402,3406,3412,3415,3423,3427,3430,3439,3450,3455,3457,3459,3461,3478,3482,3505,3507,3515,3517,3517,3520,3526,3530,3530,3535,3540,3542,3542,3544,3551,3558,3567,3570,3571,3585,3642,3648,3662,3664,3673,3713,3714,3716,3716,3718,3722,3724,3747,3749,3749,3751,3773,3776,3780,3782,3782,3784,3790,3792,3801,3804,3807,3840,3840,3864,3865,3872,3881,3893,3893,3895,3895,3897,3897,3902,3911,3913,3948,3953,3972,3974,3991,3993,4028,4038,4038,4096,4169,4176,4253,4256,4293,4295,4295,4301,4301,4304,4346,4348,4680,4682,4685,4688,4694,4696,4696,4698,4701,4704,4744,4746,4749,4752,4784,4786,4789,4792,4798,4800,4800,4802,4805,4808,4822,4824,4880,4882,4885,4888,4954,4957,4959,4969,4977,4992,5007,5024,5109,5112,5117,5121,5740,5743,5759,5761,5786,5792,5866,5870,5880,5888,5909,5919,5940,5952,5971,5984,5996,5998,6e3,6002,6003,6016,6099,6103,6103,6108,6109,6112,6121,6155,6157,6159,6169,6176,6264,6272,6314,6320,6389,6400,6430,6432,6443,6448,6459,6470,6509,6512,6516,6528,6571,6576,6601,6608,6618,6656,6683,6688,6750,6752,6780,6783,6793,6800,6809,6823,6823,6832,6845,6847,6862,6912,6988,6992,7001,7019,7027,7040,7155,7168,7223,7232,7241,7245,7293,7296,7304,7312,7354,7357,7359,7376,7378,7380,7418,7424,7957,7960,7965,7968,8005,8008,8013,8016,8023,8025,8025,8027,8027,8029,8029,8031,8061,8064,8116,8118,8124,8126,8126,8130,8132,8134,8140,8144,8147,8150,8155,8160,8172,8178,8180,8182,8188,8204,8205,8255,8256,8276,8276,8305,8305,8319,8319,8336,8348,8400,8412,8417,8417,8421,8432,8450,8450,8455,8455,8458,8467,8469,8469,8472,8477,8484,8484,8486,8486,8488,8488,8490,8505,8508,8511,8517,8521,8526,8526,8544,8584,11264,11492,11499,11507,11520,11557,11559,11559,11565,11565,11568,11623,11631,11631,11647,11670,11680,11686,11688,11694,11696,11702,11704,11710,11712,11718,11720,11726,11728,11734,11736,11742,11744,11775,12293,12295,12321,12335,12337,12341,12344,12348,12353,12438,12441,12447,12449,12543,12549,12591,12593,12686,12704,12735,12784,12799,13312,19903,19968,42124,42192,42237,42240,42508,42512,42539,42560,42607,42612,42621,42623,42737,42775,42783,42786,42888,42891,42954,42960,42961,42963,42963,42965,42969,42994,43047,43052,43052,43072,43123,43136,43205,43216,43225,43232,43255,43259,43259,43261,43309,43312,43347,43360,43388,43392,43456,43471,43481,43488,43518,43520,43574,43584,43597,43600,43609,43616,43638,43642,43714,43739,43741,43744,43759,43762,43766,43777,43782,43785,43790,43793,43798,43808,43814,43816,43822,43824,43866,43868,43881,43888,44010,44012,44013,44016,44025,44032,55203,55216,55238,55243,55291,63744,64109,64112,64217,64256,64262,64275,64279,64285,64296,64298,64310,64312,64316,64318,64318,64320,64321,64323,64324,64326,64433,64467,64829,64848,64911,64914,64967,65008,65019,65024,65039,65056,65071,65075,65076,65101,65103,65136,65140,65142,65276,65296,65305,65313,65338,65343,65343,65345,65370,65381,65470,65474,65479,65482,65487,65490,65495,65498,65500,65536,65547,65549,65574,65576,65594,65596,65597,65599,65613,65616,65629,65664,65786,65856,65908,66045,66045,66176,66204,66208,66256,66272,66272,66304,66335,66349,66378,66384,66426,66432,66461,66464,66499,66504,66511,66513,66517,66560,66717,66720,66729,66736,66771,66776,66811,66816,66855,66864,66915,66928,66938,66940,66954,66956,66962,66964,66965,66967,66977,66979,66993,66995,67001,67003,67004,67072,67382,67392,67413,67424,67431,67456,67461,67463,67504,67506,67514,67584,67589,67592,67592,67594,67637,67639,67640,67644,67644,67647,67669,67680,67702,67712,67742,67808,67826,67828,67829,67840,67861,67872,67897,67968,68023,68030,68031,68096,68099,68101,68102,68108,68115,68117,68119,68121,68149,68152,68154,68159,68159,68192,68220,68224,68252,68288,68295,68297,68326,68352,68405,68416,68437,68448,68466,68480,68497,68608,68680,68736,68786,68800,68850,68864,68903,68912,68921,69248,69289,69291,69292,69296,69297,69373,69404,69415,69415,69424,69456,69488,69509,69552,69572,69600,69622,69632,69702,69734,69749,69759,69818,69826,69826,69840,69864,69872,69881,69888,69940,69942,69951,69956,69959,69968,70003,70006,70006,70016,70084,70089,70092,70094,70106,70108,70108,70144,70161,70163,70199,70206,70209,70272,70278,70280,70280,70282,70285,70287,70301,70303,70312,70320,70378,70384,70393,70400,70403,70405,70412,70415,70416,70419,70440,70442,70448,70450,70451,70453,70457,70459,70468,70471,70472,70475,70477,70480,70480,70487,70487,70493,70499,70502,70508,70512,70516,70656,70730,70736,70745,70750,70753,70784,70853,70855,70855,70864,70873,71040,71093,71096,71104,71128,71133,71168,71232,71236,71236,71248,71257,71296,71352,71360,71369,71424,71450,71453,71467,71472,71481,71488,71494,71680,71738,71840,71913,71935,71942,71945,71945,71948,71955,71957,71958,71960,71989,71991,71992,71995,72003,72016,72025,72096,72103,72106,72151,72154,72161,72163,72164,72192,72254,72263,72263,72272,72345,72349,72349,72368,72440,72704,72712,72714,72758,72760,72768,72784,72793,72818,72847,72850,72871,72873,72886,72960,72966,72968,72969,72971,73014,73018,73018,73020,73021,73023,73031,73040,73049,73056,73061,73063,73064,73066,73102,73104,73105,73107,73112,73120,73129,73440,73462,73472,73488,73490,73530,73534,73538,73552,73561,73648,73648,73728,74649,74752,74862,74880,75075,77712,77808,77824,78895,78912,78933,82944,83526,92160,92728,92736,92766,92768,92777,92784,92862,92864,92873,92880,92909,92912,92916,92928,92982,92992,92995,93008,93017,93027,93047,93053,93071,93760,93823,93952,94026,94031,94087,94095,94111,94176,94177,94179,94180,94192,94193,94208,100343,100352,101589,101632,101640,110576,110579,110581,110587,110589,110590,110592,110882,110898,110898,110928,110930,110933,110933,110948,110951,110960,111355,113664,113770,113776,113788,113792,113800,113808,113817,113821,113822,118528,118573,118576,118598,119141,119145,119149,119154,119163,119170,119173,119179,119210,119213,119362,119364,119808,119892,119894,119964,119966,119967,119970,119970,119973,119974,119977,119980,119982,119993,119995,119995,119997,120003,120005,120069,120071,120074,120077,120084,120086,120092,120094,120121,120123,120126,120128,120132,120134,120134,120138,120144,120146,120485,120488,120512,120514,120538,120540,120570,120572,120596,120598,120628,120630,120654,120656,120686,120688,120712,120714,120744,120746,120770,120772,120779,120782,120831,121344,121398,121403,121452,121461,121461,121476,121476,121499,121503,121505,121519,122624,122654,122661,122666,122880,122886,122888,122904,122907,122913,122915,122916,122918,122922,122928,122989,123023,123023,123136,123180,123184,123197,123200,123209,123214,123214,123536,123566,123584,123641,124112,124153,124896,124902,124904,124907,124909,124910,124912,124926,124928,125124,125136,125142,125184,125259,125264,125273,126464,126467,126469,126495,126497,126498,126500,126500,126503,126503,126505,126514,126516,126519,126521,126521,126523,126523,126530,126530,126535,126535,126537,126537,126539,126539,126541,126543,126545,126546,126548,126548,126551,126551,126553,126553,126555,126555,126557,126557,126559,126559,126561,126562,126564,126564,126567,126570,126572,126578,126580,126583,126585,126588,126590,126590,126592,126601,126603,126619,126625,126627,126629,126633,126635,126651,130032,130041,131072,173791,173824,177977,177984,178205,178208,183969,183984,191456,191472,192093,194560,195101,196608,201546,201552,205743,917760,917999],oAn=/^\/\/\/?\s*@(ts-expect-error|ts-ignore)/,RAn=/^(?:\/|\*)*\s*@(ts-expect-error|ts-ignore)/,uAn=/@(?:see|link)/i;TAn=Vcr(Kcr);Ufi=Vcr(Gcr);b9e=7;c9t=/^#!.*/;CAn=String.fromCodePoint?e=>String.fromCodePoint(e):qAn;dlr=new Map(Object.entries({General_Category:"General_Category",gc:"General_Category",Script:"Script",sc:"Script",Script_Extensions:"Script_Extensions",scx:"Script_Extensions"})),xlr=new Set(["ASCII","ASCII_Hex_Digit","AHex","Alphabetic","Alpha","Any","Assigned","Bidi_Control","Bidi_C","Bidi_Mirrored","Bidi_M","Case_Ignorable","CI","Cased","Changes_When_Casefolded","CWCF","Changes_When_Casemapped","CWCM","Changes_When_Lowercased","CWL","Changes_When_NFKC_Casefolded","CWKCF","Changes_When_Titlecased","CWT","Changes_When_Uppercased","CWU","Dash","Default_Ignorable_Code_Point","DI","Deprecated","Dep","Diacritic","Dia","Emoji","Emoji_Component","EComp","Emoji_Modifier","EMod","Emoji_Modifier_Base","EBase","Emoji_Presentation","EPres","Extended_Pictographic","ExtPict","Extender","Ext","Grapheme_Base","Gr_Base","Grapheme_Extend","Gr_Ext","Hex_Digit","Hex","IDS_Binary_Operator","IDSB","IDS_Trinary_Operator","IDST","ID_Continue","IDC","ID_Start","IDS","Ideographic","Ideo","Join_Control","Join_C","Logical_Order_Exception","LOE","Lowercase","Lower","Math","Noncharacter_Code_Point","NChar","Pattern_Syntax","Pat_Syn","Pattern_White_Space","Pat_WS","Quotation_Mark","QMark","Radical","Regional_Indicator","RI","Sentence_Terminal","STerm","Soft_Dotted","SD","Terminal_Punctuation","Term","Unified_Ideograph","UIdeo","Uppercase","Upper","Variation_Selector","VS","White_Space","space","XID_Continue","XIDC","XID_Start","XIDS"]),mlr=new Set(["Basic_Emoji","Emoji_Keycap_Sequence","RGI_Emoji_Modifier_Sequence","RGI_Emoji_Flag_Sequence","RGI_Emoji_Tag_Sequence","RGI_Emoji_ZWJ_Sequence","RGI_Emoji"]),dse={General_Category:new Set(["C","Other","Cc","Control","cntrl","Cf","Format","Cn","Unassigned","Co","Private_Use","Cs","Surrogate","L","Letter","LC","Cased_Letter","Ll","Lowercase_Letter","Lm","Modifier_Letter","Lo","Other_Letter","Lt","Titlecase_Letter","Lu","Uppercase_Letter","M","Mark","Combining_Mark","Mc","Spacing_Mark","Me","Enclosing_Mark","Mn","Nonspacing_Mark","N","Number","Nd","Decimal_Number","digit","Nl","Letter_Number","No","Other_Number","P","Punctuation","punct","Pc","Connector_Punctuation","Pd","Dash_Punctuation","Pe","Close_Punctuation","Pf","Final_Punctuation","Pi","Initial_Punctuation","Po","Other_Punctuation","Ps","Open_Punctuation","S","Symbol","Sc","Currency_Symbol","Sk","Modifier_Symbol","Sm","Math_Symbol","So","Other_Symbol","Z","Separator","Zl","Line_Separator","Zp","Paragraph_Separator","Zs","Space_Separator"]),Script:new Set(["Adlm","Adlam","Aghb","Caucasian_Albanian","Ahom","Arab","Arabic","Armi","Imperial_Aramaic","Armn","Armenian","Avst","Avestan","Bali","Balinese","Bamu","Bamum","Bass","Bassa_Vah","Batk","Batak","Beng","Bengali","Bhks","Bhaiksuki","Bopo","Bopomofo","Brah","Brahmi","Brai","Braille","Bugi","Buginese","Buhd","Buhid","Cakm","Chakma","Cans","Canadian_Aboriginal","Cari","Carian","Cham","Cher","Cherokee","Chrs","Chorasmian","Copt","Coptic","Qaac","Cpmn","Cypro_Minoan","Cprt","Cypriot","Cyrl","Cyrillic","Deva","Devanagari","Diak","Dives_Akuru","Dogr","Dogra","Dsrt","Deseret","Dupl","Duployan","Egyp","Egyptian_Hieroglyphs","Elba","Elbasan","Elym","Elymaic","Ethi","Ethiopic","Geor","Georgian","Glag","Glagolitic","Gong","Gunjala_Gondi","Gonm","Masaram_Gondi","Goth","Gothic","Gran","Grantha","Grek","Greek","Gujr","Gujarati","Guru","Gurmukhi","Hang","Hangul","Hani","Han","Hano","Hanunoo","Hatr","Hatran","Hebr","Hebrew","Hira","Hiragana","Hluw","Anatolian_Hieroglyphs","Hmng","Pahawh_Hmong","Hmnp","Nyiakeng_Puachue_Hmong","Hrkt","Katakana_Or_Hiragana","Hung","Old_Hungarian","Ital","Old_Italic","Java","Javanese","Kali","Kayah_Li","Kana","Katakana","Kawi","Khar","Kharoshthi","Khmr","Khmer","Khoj","Khojki","Kits","Khitan_Small_Script","Knda","Kannada","Kthi","Kaithi","Lana","Tai_Tham","Laoo","Lao","Latn","Latin","Lepc","Lepcha","Limb","Limbu","Lina","Linear_A","Linb","Linear_B","Lisu","Lyci","Lycian","Lydi","Lydian","Mahj","Mahajani","Maka","Makasar","Mand","Mandaic","Mani","Manichaean","Marc","Marchen","Medf","Medefaidrin","Mend","Mende_Kikakui","Merc","Meroitic_Cursive","Mero","Meroitic_Hieroglyphs","Mlym","Malayalam","Modi","Mong","Mongolian","Mroo","Mro","Mtei","Meetei_Mayek","Mult","Multani","Mymr","Myanmar","Nagm","Nag_Mundari","Nand","Nandinagari","Narb","Old_North_Arabian","Nbat","Nabataean","Newa","Nkoo","Nko","Nshu","Nushu","Ogam","Ogham","Olck","Ol_Chiki","Orkh","Old_Turkic","Orya","Oriya","Osge","Osage","Osma","Osmanya","Ougr","Old_Uyghur","Palm","Palmyrene","Pauc","Pau_Cin_Hau","Perm","Old_Permic","Phag","Phags_Pa","Phli","Inscriptional_Pahlavi","Phlp","Psalter_Pahlavi","Phnx","Phoenician","Plrd","Miao","Prti","Inscriptional_Parthian","Rjng","Rejang","Rohg","Hanifi_Rohingya","Runr","Runic","Samr","Samaritan","Sarb","Old_South_Arabian","Saur","Saurashtra","Sgnw","SignWriting","Shaw","Shavian","Shrd","Sharada","Sidd","Siddham","Sind","Khudawadi","Sinh","Sinhala","Sogd","Sogdian","Sogo","Old_Sogdian","Sora","Sora_Sompeng","Soyo","Soyombo","Sund","Sundanese","Sylo","Syloti_Nagri","Syrc","Syriac","Tagb","Tagbanwa","Takr","Takri","Tale","Tai_Le","Talu","New_Tai_Lue","Taml","Tamil","Tang","Tangut","Tavt","Tai_Viet","Telu","Telugu","Tfng","Tifinagh","Tglg","Tagalog","Thaa","Thaana","Thai","Tibt","Tibetan","Tirh","Tirhuta","Tnsa","Tangsa","Toto","Ugar","Ugaritic","Vaii","Vai","Vith","Vithkuqi","Wara","Warang_Citi","Wcho","Wancho","Xpeo","Old_Persian","Xsux","Cuneiform","Yezi","Yezidi","Yiii","Yi","Zanb","Zanabazar_Square","Zinh","Inherited","Qaai","Zyyy","Common","Zzzz","Unknown"]),Script_Extensions:void 0};dse.Script_Extensions=dse.Script;Ffi=iTr(p9t(0,0),0);Lfi=y3n();zfi=new Map(Object.entries({" ":"\\t","\v":"\\v","\f":"\\f","\b":"\\b","\r":"\\r","\n":"\\n","\\":"\\\\",'"':'\\"',"'":"\\'","`":"\\`","\u2028":"\\u2028","\u2029":"\\u2029","\x85":"\\u0085","\r\n":"\\r\\n"})),Hfi=new Map(Object.entries({'"':""","'":"'"}));Op={getNodeConstructor:()=>C5t,getTokenConstructor:()=>kgn,getIdentifierConstructor:()=>ygn,getPrivateIdentifierConstructor:()=>C5t,getSourceFileConstructor:()=>C5t,getSymbolConstructor:()=>dgn,getTypeConstructor:()=>xgn,getSignatureConstructor:()=>mgn,getSourceMapSourceConstructor:()=>qgn},Cgn=[];Il={allowImportingTsExtensions:{dependencies:["rewriteRelativeImportExtensions"],computeValue:e=>!!(e.allowImportingTsExtensions||e.rewriteRelativeImportExtensions)},target:{dependencies:["module"],computeValue:e=>(e.target===0?void 0:e.target)??(e.module===100&&9||e.module===199&&99||1)},module:{dependencies:["target"],computeValue:e=>typeof e.module=="number"?e.module:Il.target.computeValue(e)>=2?5:1},moduleResolution:{dependencies:["module","target"],computeValue:e=>{let t=e.moduleResolution;if(t===void 0)switch(Il.module.computeValue(e)){case 1:t=2;break;case 100:t=3;break;case 199:t=99;break;case 200:t=100;break;default:t=1;break}return t}},moduleDetection:{dependencies:["module","target"],computeValue:e=>e.moduleDetection||(Il.module.computeValue(e)===100||Il.module.computeValue(e)===199?3:2)},isolatedModules:{dependencies:["verbatimModuleSyntax"],computeValue:e=>!!(e.isolatedModules||e.verbatimModuleSyntax)},esModuleInterop:{dependencies:["module","target"],computeValue:e=>{if(e.esModuleInterop!==void 0)return e.esModuleInterop;switch(Il.module.computeValue(e)){case 100:case 199:case 200:return!0}return!1}},allowSyntheticDefaultImports:{dependencies:["module","target","moduleResolution"],computeValue:e=>e.allowSyntheticDefaultImports!==void 0?e.allowSyntheticDefaultImports:Il.esModuleInterop.computeValue(e)||Il.module.computeValue(e)===4||Il.moduleResolution.computeValue(e)===100},resolvePackageJsonExports:{dependencies:["moduleResolution"],computeValue:e=>{let t=Il.moduleResolution.computeValue(e);if(!Slr(t))return!1;if(e.resolvePackageJsonExports!==void 0)return e.resolvePackageJsonExports;switch(t){case 3:case 99:case 100:return!0}return!1}},resolvePackageJsonImports:{dependencies:["moduleResolution","resolvePackageJsonExports"],computeValue:e=>{let t=Il.moduleResolution.computeValue(e);if(!Slr(t))return!1;if(e.resolvePackageJsonExports!==void 0)return e.resolvePackageJsonExports;switch(t){case 3:case 99:case 100:return!0}return!1}},resolveJsonModule:{dependencies:["moduleResolution","module","target"],computeValue:e=>e.resolveJsonModule!==void 0?e.resolveJsonModule:Il.moduleResolution.computeValue(e)===100},declaration:{dependencies:["composite"],computeValue:e=>!!(e.declaration||e.composite)},preserveConstEnums:{dependencies:["isolatedModules","verbatimModuleSyntax"],computeValue:e=>!!(e.preserveConstEnums||Il.isolatedModules.computeValue(e))},incremental:{dependencies:["composite"],computeValue:e=>!!(e.incremental||e.composite)},declarationMap:{dependencies:["declaration","composite"],computeValue:e=>!!(e.declarationMap&&Il.declaration.computeValue(e))},allowJs:{dependencies:["checkJs"],computeValue:e=>e.allowJs===void 0?!!e.checkJs:e.allowJs},useDefineForClassFields:{dependencies:["target","module"],computeValue:e=>e.useDefineForClassFields===void 0?Il.target.computeValue(e)>=9:e.useDefineForClassFields},noImplicitAny:{dependencies:["strict"],computeValue:e=>gw(e,"noImplicitAny")},noImplicitThis:{dependencies:["strict"],computeValue:e=>gw(e,"noImplicitThis")},strictNullChecks:{dependencies:["strict"],computeValue:e=>gw(e,"strictNullChecks")},strictFunctionTypes:{dependencies:["strict"],computeValue:e=>gw(e,"strictFunctionTypes")},strictBindCallApply:{dependencies:["strict"],computeValue:e=>gw(e,"strictBindCallApply")},strictPropertyInitialization:{dependencies:["strict"],computeValue:e=>gw(e,"strictPropertyInitialization")},strictBuiltinIteratorReturn:{dependencies:["strict"],computeValue:e=>gw(e,"strictBuiltinIteratorReturn")},alwaysStrict:{dependencies:["strict"],computeValue:e=>gw(e,"alwaysStrict")},useUnknownInCatchVariables:{dependencies:["strict"],computeValue:e=>gw(e,"useUnknownInCatchVariables")}},Yfi=Il.allowImportingTsExtensions.computeValue,Kfi=Il.target.computeValue,Gfi=Il.module.computeValue,Vfi=Il.moduleResolution.computeValue,jfi=Il.moduleDetection.computeValue,Jfi=Il.isolatedModules.computeValue,Xfi=Il.esModuleInterop.computeValue,Zfi=Il.allowSyntheticDefaultImports.computeValue,edi=Il.resolvePackageJsonExports.computeValue,tdi=Il.resolvePackageJsonImports.computeValue,rdi=Il.resolveJsonModule.computeValue,ndi=Il.declaration.computeValue,idi=Il.preserveConstEnums.computeValue,adi=Il.incremental.computeValue,sdi=Il.declarationMap.computeValue,odi=Il.allowJs.computeValue,Rdi=Il.useDefineForClassFields.computeValue;vgn=["node_modules","bower_components","jspm_packages"],$Tr=`(?!(${vgn.join("|")})(/|$))`,Dgn={singleAsteriskRegexFragment:"([^./]|(\\.(?!min\\.js$))?)*",doubleAsteriskRegexFragment:`(/${$Tr}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>QTr(e,Dgn.singleAsteriskRegexFragment)},Sgn={singleAsteriskRegexFragment:"[^/]*",doubleAsteriskRegexFragment:`(/${$Tr}[^/.][^/]*)*?`,replaceWildcardCharacter:e=>QTr(e,Sgn.singleAsteriskRegexFragment)};NTr=[[".ts",".tsx",".d.ts"],[".cts",".d.cts"],[".mts",".d.mts"]],udi=vcr(NTr),ldi=[...NTr,[".json"]],Ngn=[[".js",".jsx"],[".mjs"],[".cjs"]],cdi=vcr(Ngn),wgn=[[".ts",".tsx",".d.ts",".js",".jsx"],[".cts",".d.cts",".cjs"],[".mts",".d.mts",".mjs"]],Tdi=[...wgn,[".json"]],Pgn=[".d.ts",".d.cts",".d.mts"];pdi=String.prototype.replace,W5t=["assert","assert/strict","async_hooks","buffer","child_process","cluster","console","constants","crypto","dgram","diagnostics_channel","dns","dns/promises","domain","events","fs","fs/promises","http","http2","https","inspector","inspector/promises","module","net","os","path","path/posix","path/win32","perf_hooks","process","punycode","querystring","readline","readline/promises","repl","stream","stream/consumers","stream/promises","stream/web","string_decoder","sys","test/mock_loader","timers","timers/promises","tls","trace_events","tty","url","util","util/types","v8","vm","wasi","worker_threads","zlib"],_di=new Set(W5t),zgn=new Set(["node:sea","node:sqlite","node:test","node:test/reporters"]),hdi=new Set([...W5t,...W5t.map(e=>`node:${e}`),...zgn]);Ygn={getParenthesizeLeftSideOfBinaryForOperator:e=>R1,getParenthesizeRightSideOfBinaryForOperator:e=>R1,parenthesizeLeftSideOfBinary:(e,t)=>t,parenthesizeRightSideOfBinary:(e,t,r)=>r,parenthesizeExpressionOfComputedPropertyName:R1,parenthesizeConditionOfConditionalExpression:R1,parenthesizeBranchOfConditionalExpression:R1,parenthesizeExpressionOfExportDefault:R1,parenthesizeExpressionOfNew:e=>YD(e,yse),parenthesizeLeftSideOfAccess:e=>YD(e,yse),parenthesizeOperandOfPostfixUnary:e=>YD(e,yse),parenthesizeOperandOfPrefixUnary:e=>YD(e,l3n),parenthesizeExpressionsOfCommaDelimitedList:e=>YD(e,BW),parenthesizeExpressionForDisallowedComma:R1,parenthesizeExpressionOfExpressionStatement:R1,parenthesizeConciseBodyOfArrowFunction:R1,parenthesizeCheckTypeOfConditionalType:R1,parenthesizeExtendsTypeOfConditionalType:R1,parenthesizeConstituentTypesOfUnionType:e=>YD(e,BW),parenthesizeConstituentTypeOfUnionType:R1,parenthesizeConstituentTypesOfIntersectionType:e=>YD(e,BW),parenthesizeConstituentTypeOfIntersectionType:R1,parenthesizeOperandOfTypeOperator:R1,parenthesizeOperandOfReadonlyTypeOperator:R1,parenthesizeNonArrayTypeOfPostfixType:R1,parenthesizeElementTypesOfTupleType:e=>YD(e,BW),parenthesizeElementTypeOfTupleType:R1,parenthesizeTypeOfOptionalType:R1,parenthesizeTypeArguments:e=>e&&YD(e,BW),parenthesizeLeadingTypeArgument:R1},q9e=0,Kgn=[];Qlr={};ide=Hgn();Jgn={createBaseSourceFileNode:e=>ade(ide.createBaseSourceFileNode(e)),createBaseIdentifierNode:e=>ade(ide.createBaseIdentifierNode(e)),createBasePrivateIdentifierNode:e=>ade(ide.createBasePrivateIdentifierNode(e)),createBaseTokenNode:e=>ade(ide.createBaseTokenNode(e)),createBaseNode:e=>ade(ide.createBaseNode(e))},fdi=b9t(4,Jgn);FX=new WeakMap;(e=>{function t(_,f,m,x,y,A,D){let S=f>0?y[f-1]:void 0;return $n.assertEqual(m[f],t),y[f]=_.onEnter(x[f],S,D),m[f]=l(_,t),f}e.enter=t;function r(_,f,m,x,y,A,D){$n.assertEqual(m[f],r),$n.assertIsDefined(_.onLeft),m[f]=l(_,r);let S=_.onLeft(x[f].left,y[f],x[f]);return S?(h(f,x,S),c(f,m,x,y,S)):f}e.left=r;function n(_,f,m,x,y,A,D){return $n.assertEqual(m[f],n),$n.assertIsDefined(_.onOperator),m[f]=l(_,n),_.onOperator(x[f].operatorToken,y[f],x[f]),f}e.operator=n;function i(_,f,m,x,y,A,D){$n.assertEqual(m[f],i),$n.assertIsDefined(_.onRight),m[f]=l(_,i);let S=_.onRight(x[f].right,y[f],x[f]);return S?(h(f,x,S),c(f,m,x,y,S)):f}e.right=i;function s(_,f,m,x,y,A,D){$n.assertEqual(m[f],s),m[f]=l(_,s);let S=_.onExit(x[f],y[f]);if(f>0){if(f--,_.foldState){let P=m[f]===s?"right":"left";y[f]=_.foldState(y[f],S,P)}}else A.value=S;return f}e.exit=s;function R(_,f,m,x,y,A,D){return $n.assertEqual(m[f],R),f}e.done=R;function l(_,f){switch(f){case t:if(_.onLeft)return r;case r:if(_.onOperator)return n;case n:if(_.onRight)return i;case i:return s;case s:return R;case R:return R;default:$n.fail("Invalid state")}}e.nextState=l;function c(_,f,m,x,y){return _++,f[_]=t,m[_]=y,x[_]=void 0,_}function h(_,f,m){if($n.shouldAssert(2))for(;_>=0;)$n.assert(f[_]!==m,"Circular traversal detected."),_--}})(Flr||(Flr={}));yEn={createBaseSourceFileNode:e=>new(Glr||(Glr=Op.getSourceFileConstructor()))(e,-1,-1),createBaseIdentifierNode:e=>new(Ylr||(Ylr=Op.getIdentifierConstructor()))(e,-1,-1),createBasePrivateIdentifierNode:e=>new(Klr||(Klr=Op.getPrivateIdentifierConstructor()))(e,-1,-1),createBaseTokenNode:e=>new(Hlr||(Hlr=Op.getTokenConstructor()))(e,-1,-1),createBaseNode:e=>new(zlr||(zlr=Op.getNodeConstructor()))(e,-1,-1)},ddi=b9t(1,yEn);OEn={166:function(e,t,r){return fr(t,e.left)||fr(t,e.right)},168:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)||fr(t,e.constraint)||fr(t,e.default)||fr(t,e.expression)},304:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)||fr(t,e.questionToken)||fr(t,e.exclamationToken)||fr(t,e.equalsToken)||fr(t,e.objectAssignmentInitializer)},305:function(e,t,r){return fr(t,e.expression)},169:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.dotDotDotToken)||fr(t,e.name)||fr(t,e.questionToken)||fr(t,e.type)||fr(t,e.initializer)},172:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)||fr(t,e.questionToken)||fr(t,e.exclamationToken)||fr(t,e.type)||fr(t,e.initializer)},171:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)||fr(t,e.questionToken)||fr(t,e.type)||fr(t,e.initializer)},303:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)||fr(t,e.questionToken)||fr(t,e.exclamationToken)||fr(t,e.initializer)},260:function(e,t,r){return fr(t,e.name)||fr(t,e.exclamationToken)||fr(t,e.type)||fr(t,e.initializer)},208:function(e,t,r){return fr(t,e.dotDotDotToken)||fr(t,e.propertyName)||fr(t,e.name)||fr(t,e.initializer)},181:function(e,t,r){return Mi(t,r,e.modifiers)||Mi(t,r,e.typeParameters)||Mi(t,r,e.parameters)||fr(t,e.type)},185:function(e,t,r){return Mi(t,r,e.modifiers)||Mi(t,r,e.typeParameters)||Mi(t,r,e.parameters)||fr(t,e.type)},184:function(e,t,r){return Mi(t,r,e.modifiers)||Mi(t,r,e.typeParameters)||Mi(t,r,e.parameters)||fr(t,e.type)},179:Vlr,180:Vlr,174:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.asteriskToken)||fr(t,e.name)||fr(t,e.questionToken)||fr(t,e.exclamationToken)||Mi(t,r,e.typeParameters)||Mi(t,r,e.parameters)||fr(t,e.type)||fr(t,e.body)},173:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)||fr(t,e.questionToken)||Mi(t,r,e.typeParameters)||Mi(t,r,e.parameters)||fr(t,e.type)},176:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)||Mi(t,r,e.typeParameters)||Mi(t,r,e.parameters)||fr(t,e.type)||fr(t,e.body)},177:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)||Mi(t,r,e.typeParameters)||Mi(t,r,e.parameters)||fr(t,e.type)||fr(t,e.body)},178:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)||Mi(t,r,e.typeParameters)||Mi(t,r,e.parameters)||fr(t,e.type)||fr(t,e.body)},262:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.asteriskToken)||fr(t,e.name)||Mi(t,r,e.typeParameters)||Mi(t,r,e.parameters)||fr(t,e.type)||fr(t,e.body)},218:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.asteriskToken)||fr(t,e.name)||Mi(t,r,e.typeParameters)||Mi(t,r,e.parameters)||fr(t,e.type)||fr(t,e.body)},219:function(e,t,r){return Mi(t,r,e.modifiers)||Mi(t,r,e.typeParameters)||Mi(t,r,e.parameters)||fr(t,e.type)||fr(t,e.equalsGreaterThanToken)||fr(t,e.body)},175:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.body)},183:function(e,t,r){return fr(t,e.typeName)||Mi(t,r,e.typeArguments)},182:function(e,t,r){return fr(t,e.assertsModifier)||fr(t,e.parameterName)||fr(t,e.type)},186:function(e,t,r){return fr(t,e.exprName)||Mi(t,r,e.typeArguments)},187:function(e,t,r){return Mi(t,r,e.members)},188:function(e,t,r){return fr(t,e.elementType)},189:function(e,t,r){return Mi(t,r,e.elements)},192:jlr,193:jlr,194:function(e,t,r){return fr(t,e.checkType)||fr(t,e.extendsType)||fr(t,e.trueType)||fr(t,e.falseType)},195:function(e,t,r){return fr(t,e.typeParameter)},205:function(e,t,r){return fr(t,e.argument)||fr(t,e.attributes)||fr(t,e.qualifier)||Mi(t,r,e.typeArguments)},302:function(e,t,r){return fr(t,e.assertClause)},196:Jlr,198:Jlr,199:function(e,t,r){return fr(t,e.objectType)||fr(t,e.indexType)},200:function(e,t,r){return fr(t,e.readonlyToken)||fr(t,e.typeParameter)||fr(t,e.nameType)||fr(t,e.questionToken)||fr(t,e.type)||Mi(t,r,e.members)},201:function(e,t,r){return fr(t,e.literal)},202:function(e,t,r){return fr(t,e.dotDotDotToken)||fr(t,e.name)||fr(t,e.questionToken)||fr(t,e.type)},206:Xlr,207:Xlr,209:function(e,t,r){return Mi(t,r,e.elements)},210:function(e,t,r){return Mi(t,r,e.properties)},211:function(e,t,r){return fr(t,e.expression)||fr(t,e.questionDotToken)||fr(t,e.name)},212:function(e,t,r){return fr(t,e.expression)||fr(t,e.questionDotToken)||fr(t,e.argumentExpression)},213:Zlr,214:Zlr,215:function(e,t,r){return fr(t,e.tag)||fr(t,e.questionDotToken)||Mi(t,r,e.typeArguments)||fr(t,e.template)},216:function(e,t,r){return fr(t,e.type)||fr(t,e.expression)},217:function(e,t,r){return fr(t,e.expression)},220:function(e,t,r){return fr(t,e.expression)},221:function(e,t,r){return fr(t,e.expression)},222:function(e,t,r){return fr(t,e.expression)},224:function(e,t,r){return fr(t,e.operand)},229:function(e,t,r){return fr(t,e.asteriskToken)||fr(t,e.expression)},223:function(e,t,r){return fr(t,e.expression)},225:function(e,t,r){return fr(t,e.operand)},226:function(e,t,r){return fr(t,e.left)||fr(t,e.operatorToken)||fr(t,e.right)},234:function(e,t,r){return fr(t,e.expression)||fr(t,e.type)},235:function(e,t,r){return fr(t,e.expression)},238:function(e,t,r){return fr(t,e.expression)||fr(t,e.type)},236:function(e,t,r){return fr(t,e.name)},227:function(e,t,r){return fr(t,e.condition)||fr(t,e.questionToken)||fr(t,e.whenTrue)||fr(t,e.colonToken)||fr(t,e.whenFalse)},230:function(e,t,r){return fr(t,e.expression)},241:ecr,268:ecr,307:function(e,t,r){return Mi(t,r,e.statements)||fr(t,e.endOfFileToken)},243:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.declarationList)},261:function(e,t,r){return Mi(t,r,e.declarations)},244:function(e,t,r){return fr(t,e.expression)},245:function(e,t,r){return fr(t,e.expression)||fr(t,e.thenStatement)||fr(t,e.elseStatement)},246:function(e,t,r){return fr(t,e.statement)||fr(t,e.expression)},247:function(e,t,r){return fr(t,e.expression)||fr(t,e.statement)},248:function(e,t,r){return fr(t,e.initializer)||fr(t,e.condition)||fr(t,e.incrementor)||fr(t,e.statement)},249:function(e,t,r){return fr(t,e.initializer)||fr(t,e.expression)||fr(t,e.statement)},250:function(e,t,r){return fr(t,e.awaitModifier)||fr(t,e.initializer)||fr(t,e.expression)||fr(t,e.statement)},251:tcr,252:tcr,253:function(e,t,r){return fr(t,e.expression)},254:function(e,t,r){return fr(t,e.expression)||fr(t,e.statement)},255:function(e,t,r){return fr(t,e.expression)||fr(t,e.caseBlock)},269:function(e,t,r){return Mi(t,r,e.clauses)},296:function(e,t,r){return fr(t,e.expression)||Mi(t,r,e.statements)},297:function(e,t,r){return Mi(t,r,e.statements)},256:function(e,t,r){return fr(t,e.label)||fr(t,e.statement)},257:function(e,t,r){return fr(t,e.expression)},258:function(e,t,r){return fr(t,e.tryBlock)||fr(t,e.catchClause)||fr(t,e.finallyBlock)},299:function(e,t,r){return fr(t,e.variableDeclaration)||fr(t,e.block)},170:function(e,t,r){return fr(t,e.expression)},263:rcr,231:rcr,264:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)||Mi(t,r,e.typeParameters)||Mi(t,r,e.heritageClauses)||Mi(t,r,e.members)},265:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)||Mi(t,r,e.typeParameters)||fr(t,e.type)},266:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)||Mi(t,r,e.members)},306:function(e,t,r){return fr(t,e.name)||fr(t,e.initializer)},267:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)||fr(t,e.body)},271:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)||fr(t,e.moduleReference)},272:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.importClause)||fr(t,e.moduleSpecifier)||fr(t,e.attributes)},273:function(e,t,r){return fr(t,e.name)||fr(t,e.namedBindings)},300:function(e,t,r){return Mi(t,r,e.elements)},301:function(e,t,r){return fr(t,e.name)||fr(t,e.value)},270:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.name)},274:function(e,t,r){return fr(t,e.name)},280:function(e,t,r){return fr(t,e.name)},275:ncr,279:ncr,278:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.exportClause)||fr(t,e.moduleSpecifier)||fr(t,e.attributes)},276:icr,281:icr,277:function(e,t,r){return Mi(t,r,e.modifiers)||fr(t,e.expression)},228:function(e,t,r){return fr(t,e.head)||Mi(t,r,e.templateSpans)},239:function(e,t,r){return fr(t,e.expression)||fr(t,e.literal)},203:function(e,t,r){return fr(t,e.head)||Mi(t,r,e.templateSpans)},204:function(e,t,r){return fr(t,e.type)||fr(t,e.literal)},167:function(e,t,r){return fr(t,e.expression)},298:function(e,t,r){return Mi(t,r,e.types)},233:function(e,t,r){return fr(t,e.expression)||Mi(t,r,e.typeArguments)},283:function(e,t,r){return fr(t,e.expression)},282:function(e,t,r){return Mi(t,r,e.modifiers)},356:function(e,t,r){return Mi(t,r,e.elements)},284:function(e,t,r){return fr(t,e.openingElement)||Mi(t,r,e.children)||fr(t,e.closingElement)},288:function(e,t,r){return fr(t,e.openingFragment)||Mi(t,r,e.children)||fr(t,e.closingFragment)},285:acr,286:acr,292:function(e,t,r){return Mi(t,r,e.properties)},291:function(e,t,r){return fr(t,e.name)||fr(t,e.initializer)},293:function(e,t,r){return fr(t,e.expression)},294:function(e,t,r){return fr(t,e.dotDotDotToken)||fr(t,e.expression)},287:function(e,t,r){return fr(t,e.tagName)},295:function(e,t,r){return fr(t,e.namespace)||fr(t,e.name)},190:$X,191:$X,309:$X,315:$X,314:$X,316:$X,318:$X,317:function(e,t,r){return Mi(t,r,e.parameters)||fr(t,e.type)},320:function(e,t,r){return(typeof e.comment=="string"?void 0:Mi(t,r,e.comment))||Mi(t,r,e.tags)},347:function(e,t,r){return fr(t,e.tagName)||fr(t,e.name)||(typeof e.comment=="string"?void 0:Mi(t,r,e.comment))},310:function(e,t,r){return fr(t,e.name)},311:function(e,t,r){return fr(t,e.left)||fr(t,e.right)},341:scr,348:scr,330:function(e,t,r){return fr(t,e.tagName)||(typeof e.comment=="string"?void 0:Mi(t,r,e.comment))},329:function(e,t,r){return fr(t,e.tagName)||fr(t,e.class)||(typeof e.comment=="string"?void 0:Mi(t,r,e.comment))},328:function(e,t,r){return fr(t,e.tagName)||fr(t,e.class)||(typeof e.comment=="string"?void 0:Mi(t,r,e.comment))},345:function(e,t,r){return fr(t,e.tagName)||fr(t,e.constraint)||Mi(t,r,e.typeParameters)||(typeof e.comment=="string"?void 0:Mi(t,r,e.comment))},346:function(e,t,r){return fr(t,e.tagName)||(e.typeExpression&&e.typeExpression.kind===309?fr(t,e.typeExpression)||fr(t,e.fullName)||(typeof e.comment=="string"?void 0:Mi(t,r,e.comment)):fr(t,e.fullName)||fr(t,e.typeExpression)||(typeof e.comment=="string"?void 0:Mi(t,r,e.comment)))},338:function(e,t,r){return fr(t,e.tagName)||fr(t,e.fullName)||fr(t,e.typeExpression)||(typeof e.comment=="string"?void 0:Mi(t,r,e.comment))},342:QX,344:QX,343:QX,340:QX,350:QX,349:QX,339:QX,323:function(e,t,r){return SA(e.typeParameters,t)||SA(e.parameters,t)||fr(t,e.type)},324:g5t,325:g5t,326:g5t,322:function(e,t,r){return SA(e.jsDocPropertyTags,t)},327:QW,332:QW,333:QW,334:QW,335:QW,336:QW,331:QW,337:QW,351:vEn,355:DEn};(e=>{var t=T9t(99,!0),r=40960,n,i,s,R,l;function c(oe){return Bn++,oe}var h={createBaseSourceFileNode:oe=>c(new l(oe,0,0)),createBaseIdentifierNode:oe=>c(new s(oe,0,0)),createBasePrivateIdentifierNode:oe=>c(new R(oe,0,0)),createBaseTokenNode:oe=>c(new i(oe,0,0)),createBaseNode:oe=>c(new n(oe,0,0))},_=b9t(11,h),{createNodeArray:f,createNumericLiteral:m,createStringLiteral:x,createLiteralLikeNode:y,createIdentifier:A,createPrivateIdentifier:D,createToken:S,createArrayLiteralExpression:P,createObjectLiteralExpression:M,createPropertyAccessExpression:U,createPropertyAccessChain:w,createElementAccessExpression:F,createElementAccessChain:H,createCallExpression:G,createCallChain:ee,createNewExpression:fe,createParenthesizedExpression:me,createBlock:ve,createVariableStatement:Ae,createExpressionStatement:Ue,createIfStatement:Ee,createWhileStatement:Me,createForStatement:gt,createForOfStatement:xt,createVariableDeclaration:Nt,createVariableDeclarationList:lt}=_,at,_t,Ve,Dt,Ut,pt,ht,He,jt,zr,Bn,an,ri,Zr,bn,Zn,mi=!0,Sn=!1;function $i(oe,De,nt,Et,lr=!1,Kr,Gn,Qi=0){var fi;if(Kr=$gn(oe,Kr),Kr===6){let Ui=Ti(oe,De,nt,Et,lr);return convertToJson(Ui,(fi=Ui.statements[0])==null?void 0:fi.expression,Ui.parseDiagnostics,!1,void 0),Ui.referencedFiles=vp,Ui.typeReferenceDirectives=vp,Ui.libReferenceDirectives=vp,Ui.amdDependencies=vp,Ui.hasNoDefaultLib=!1,Ui.pragmas=T9n,Ui}Wi(oe,De,nt,Et,Kr,Qi);let si=Hi(nt,lr,Kr,Gn||R1r,Qi);return Fn(),si}e.parseSourceFile=$i;function cs(oe,De){Wi("",oe,De,void 0,1,0),hn();let nt=Q(!0),Et=Ce()===1&&!ht.length;return Fn(),Et?nt:void 0}e.parseIsolatedEntityName=cs;function Ti(oe,De,nt=2,Et,lr=!1){Wi(oe,De,nt,Et,6,0),_t=Zn,hn();let Kr=Wr(),Gn,Qi;if(Ce()===1)Gn=y0([],Kr,Kr),Qi=uu();else{let Ui;for(;Ce()!==1;){let qs;switch(Ce()){case 23:qs=Og();break;case 112:case 97:case 106:qs=uu();break;case 41:Nn(()=>hn()===9&&hn()!==59)?qs=lk():qs=BA();break;case 9:case 11:if(Nn(()=>hn()!==59)){qs=ei();break}default:qs=BA();break}Ui&&Dw(Ui)?Ui.push(qs):Ui?Ui=[Ui,qs]:(Ui=qs,Ce()!==1&&Fa(Sr.Unexpected_token))}let Zs=Dw(Ui)?Or(P(Ui),Kr):$n.checkDefined(Ui),lo=Ue(Zs);Or(lo,Kr),Gn=y0([lo],Kr),Qi=Wl(1,Sr.Unexpected_token)}let fi=Ct(oe,2,6,!1,Gn,Qi,_t,Cse);lr&&Je(fi),fi.nodeCount=Bn,fi.identifierCount=ri,fi.identifiers=an,fi.parseDiagnostics=SX(ht,fi),He&&(fi.jsDocDiagnostics=SX(He,fi));let si=fi;return Fn(),si}e.parseJsonText=Ti;function Wi(oe,De,nt,Et,lr,Kr){switch(n=Op.getNodeConstructor(),i=Op.getTokenConstructor(),s=Op.getIdentifierConstructor(),R=Op.getPrivateIdentifierConstructor(),l=Op.getSourceFileConstructor(),at=Z9n(oe),Ve=De,Dt=nt,jt=Et,Ut=lr,pt=Dlr(lr),ht=[],Zr=0,an=new Map,ri=0,Bn=0,_t=0,mi=!0,Ut){case 1:case 2:Zn=524288;break;case 6:Zn=134742016;break;default:Zn=0;break}Sn=!1,t.setText(Ve),t.setOnError(XR),t.setScriptTarget(Dt),t.setLanguageVariant(pt),t.setScriptKind(Ut),t.setJSDocParsingMode(Kr)}function Fn(){t.clearCommentDirectives(),t.setText(""),t.setOnError(void 0),t.setScriptKind(0),t.setJSDocParsingMode(0),Ve=void 0,Dt=void 0,jt=void 0,Ut=void 0,pt=void 0,_t=0,ht=void 0,He=void 0,Zr=0,an=void 0,bn=void 0,mi=!0}function Hi(oe,De,nt,Et,lr){let Kr=PEn(at);Kr&&(Zn|=33554432),_t=Zn,hn();let Gn=nc(0,gu);$n.assert(Ce()===1);let Qi=Aa(),fi=mt(uu(),Qi),si=Ct(at,oe,nt,Kr,Gn,fi,_t,Et);return MEn(si,Ve),WEn(si,Ui),si.commentDirectives=t.getCommentDirectives(),si.nodeCount=Bn,si.identifierCount=ri,si.identifiers=an,si.parseDiagnostics=SX(ht,si),si.jsDocParsingMode=lr,He&&(si.jsDocDiagnostics=SX(He,si)),De&&Je(si),si;function Ui(Zs,lo,qs){ht.push(ose(at,Ve,Zs,lo,qs))}}let Ma=!1;function mt(oe,De){if(!De)return oe;$n.assert(!oe.jsDoc);let nt=f9n(O3n(oe,Ve),Et=>r3.parseJSDocComment(oe,Et.pos,Et.end-Et.pos));return nt.length&&(oe.jsDoc=nt),Ma&&(Ma=!1,oe.flags|=536870912),oe}function ot(oe){let De=jt,nt=F9e.createSyntaxCursor(oe);jt={currentNode:Ui};let Et=[],lr=ht;ht=[];let Kr=0,Gn=fi(oe.statements,0);for(;Gn!==-1;){let Zs=oe.statements[Kr],lo=oe.statements[Gn];XC(Et,oe.statements,Kr,Gn),Kr=si(oe.statements,Gn);let qs=h5t(lr,ip=>ip.start>=Zs.pos),HT=qs>=0?h5t(lr,ip=>ip.start>=lo.pos,qs):-1;qs>=0&&XC(ht,lr,qs,HT>=0?HT:void 0),sT(()=>{let ip=Zn;for(Zn|=65536,t.resetTokenState(lo.pos),hn();Ce()!==1;){let ap=t.getTokenFullStart(),k_=Ex(0,gu);if(Et.push(k_),ap===t.getTokenFullStart()&&hn(),Kr>=0){let YT=oe.statements[Kr];if(k_.end===YT.pos)break;k_.end>YT.pos&&(Kr=si(oe.statements,Kr+1))}}Zn=ip},2),Gn=Kr>=0?fi(oe.statements,Kr):-1}if(Kr>=0){let Zs=oe.statements[Kr];XC(Et,oe.statements,Kr);let lo=h5t(lr,qs=>qs.start>=Zs.pos);lo>=0&&XC(ht,lr,lo)}return jt=De,_.updateSourceFile(oe,P4(f(Et),oe.statements));function Qi(Zs){return!(Zs.flags&65536)&&!!(Zs.transformFlags&67108864)}function fi(Zs,lo){for(let qs=lo;qs118}function _a(){return Ce()===80?!0:Ce()===127&&Ta()||Ce()===135&&No()?!1:Ce()>118}function Tn(oe,De,nt=!0){return Ce()===oe?(nt&&hn(),!0):(De?Fa(De):Fa(Sr._0_expected,Qc(oe)),!1)}let P0=Object.keys(u9t).filter(oe=>oe.length>2);function B0(oe){if($bn(oe)){D0(KD(Ve,oe.template.pos),oe.template.end,Sr.Module_declaration_names_may_only_use_or_quoted_strings);return}let De=Pu(oe)?ZC(oe):void 0;if(!De||!yAn(De,Dt)){Fa(Sr._0_expected,Qc(27));return}let nt=KD(Ve,oe.pos);switch(De){case"const":case"let":case"var":D0(nt,oe.end,Sr.Variable_declaration_not_allowed_at_this_location);return;case"declare":return;case"interface":h0(Sr.Interface_name_cannot_be_0,Sr.Interface_must_be_given_a_name,19);return;case"is":D0(nt,t.getTokenStart(),Sr.A_type_predicate_is_only_allowed_in_return_type_position_for_functions_and_methods);return;case"module":case"namespace":h0(Sr.Namespace_name_cannot_be_0,Sr.Namespace_must_be_given_a_name,19);return;case"type":h0(Sr.Type_alias_name_cannot_be_0,Sr.Type_alias_must_be_given_a_name,64);return}let Et=lde(De,P0,R1)??o0(De);if(Et){D0(nt,oe.end,Sr.Unknown_keyword_or_identifier_Did_you_mean_0,Et);return}Ce()!==0&&D0(nt,oe.end,Sr.Unexpected_keyword_or_identifier)}function h0(oe,De,nt){Ce()===nt?Fa(De):Fa(oe,t.getTokenValue())}function o0(oe){for(let De of P0)if(oe.length>De.length+2&&S9e(oe,De))return`${De} ${oe.slice(De.length)}`}function D2(oe,De,nt){if(Ce()===60&&!t.hasPrecedingLineBreak()){Fa(Sr.Decorators_must_precede_the_name_and_all_keywords_of_property_declarations);return}if(Ce()===21){Fa(Sr.Cannot_start_a_function_call_in_a_type_annotation),hn();return}if(De&&!il()){nt?Fa(Sr._0_expected,Qc(27)):Fa(Sr.Expected_for_property_initializer);return}if(!l1()){if(nt){Fa(Sr._0_expected,Qc(27));return}B0(oe)}}function Ru(oe){return Ce()===oe?(ro(),!0):($n.assert(m5t(oe)),Fa(Sr._0_expected,Qc(oe)),!1)}function hR(oe,De,nt,Et){if(Ce()===De){hn();return}let lr=Fa(Sr._0_expected,Qc(De));nt&&lr&&y9e(lr,ose(at,Ve,Et,1,Sr.The_parser_expected_to_find_a_1_to_match_the_0_token_here,Qc(oe),Qc(De)))}function Qs(oe){return Ce()===oe?(hn(),!0):!1}function S0(oe){if(Ce()===oe)return uu()}function Jm(oe){if(Ce()===oe)return rc()}function Wl(oe,De,nt){return S0(oe)||MR(oe,!1,De||Sr._0_expected,nt||Qc(oe))}function S2(oe){return Jm(oe)||($n.assert(m5t(oe)),MR(oe,!1,Sr._0_expected,Qc(oe)))}function uu(){let oe=Wr(),De=Ce();return hn(),Or(S(De),oe)}function rc(){let oe=Wr(),De=Ce();return ro(),Or(S(De),oe)}function il(){return Ce()===27?!0:Ce()===20||Ce()===1||t.hasPrecedingLineBreak()}function l1(){return il()?(Ce()===27&&hn(),!0):!1}function f0(){return l1()||Tn(27)}function y0(oe,De,nt,Et){let lr=f(oe,Et);return WW(lr,De,nt??t.getTokenFullStart()),lr}function Or(oe,De,nt){return WW(oe,De,nt??t.getTokenFullStart()),Zn&&(oe.flags|=Zn),Sn&&(Sn=!1,oe.flags|=262144),oe}function MR(oe,De,nt,...Et){De?wc(t.getTokenFullStart(),0,nt,...Et):nt&&Fa(nt,...Et);let lr=Wr(),Kr=oe===80?A("",void 0):ylr(oe)?_.createTemplateLiteralLikeNode(oe,"","",void 0):oe===9?m("",void 0):oe===11?x("",void 0):oe===282?_.createMissingDeclaration():S(oe);return Or(Kr,lr)}function Ba(oe){let De=an.get(oe);return De===void 0&&an.set(oe,De=oe),De}function Bu(oe,De,nt){if(oe){ri++;let Qi=t.hasPrecedingJSDocLeadingAsterisks()?t.getTokenStart():Wr(),fi=Ce(),si=Ba(t.getTokenValue()),Ui=t.hasExtendedUnicodeEscape();return Oa(),Or(A(si,fi,Ui),Qi)}if(Ce()===81)return Fa(nt||Sr.Private_identifiers_are_not_allowed_outside_class_bodies),Bu(!0);if(Ce()===0&&t.tryScan(()=>t.reScanInvalidIdentifier()===80))return Bu(!0);ri++;let Et=Ce()===1,lr=t.isReservedWord(),Kr=t.getTokenText(),Gn=lr?Sr.Identifier_expected_0_is_a_reserved_word_that_cannot_be_used_here:Sr.Identifier_expected;return MR(80,Et,De||Gn,Kr)}function al(oe){return Bu(oo(),void 0,oe)}function I0(oe,De){return Bu(_a(),oe,De)}function Iu(oe){return Bu(M1(Ce()),oe)}function oT(){return(t.hasUnicodeEscape()||t.hasExtendedUnicodeEscape())&&Fa(Sr.Unicode_escape_sequence_cannot_appear_here),Bu(M1(Ce()))}function Ul(){return M1(Ce())||Ce()===11||Ce()===9||Ce()===10}function c1(){return M1(Ce())||Ce()===11}function RT(oe){if(Ce()===11||Ce()===9||Ce()===10){let De=ei();return De.text=Ba(De.text),De}return oe&&Ce()===23?M7():Ce()===81?L1():Iu()}function Fl(){return RT(!0)}function M7(){let oe=Wr();Tn(23);let De=Pi(uR);return Tn(24),Or(_.createComputedPropertyName(De),oe)}function L1(){let oe=Wr(),De=D(Ba(t.getTokenValue()));return hn(),Or(De,oe)}function uT(oe){return Ce()===oe&&vi(W7)}function Ax(){return hn(),t.hasPrecedingLineBreak()?!1:lT()}function W7(){switch(Ce()){case 87:return hn()===94;case 95:return hn(),Ce()===90?Nn(Pc):Ce()===156?Nn(Xm):gx();case 90:return Pc();case 126:return hn(),lT();case 139:case 153:return hn(),$p();default:return Ax()}}function gx(){return Ce()===60||Ce()!==42&&Ce()!==130&&Ce()!==19&&lT()}function Xm(){return hn(),gx()}function Ia(){return Ew(Ce())&&vi(W7)}function lT(){return Ce()===23||Ce()===19||Ce()===42||Ce()===26||Ul()}function $p(){return Ce()===23||Ul()}function Pc(){return hn(),Ce()===86||Ce()===100||Ce()===120||Ce()===60||Ce()===128&&Nn(T5)||Ce()===134&&Nn(p5)}function cT(oe,De){if($2(oe))return!0;switch(oe){case 0:case 1:case 3:return!(Ce()===27&&De)&&$g();case 2:return Ce()===84||Ce()===90;case 4:return Nn(PT);case 5:return Nn(n6)||Ce()===27&&!De;case 6:return Ce()===23||Ul();case 12:switch(Ce()){case 23:case 42:case 26:case 25:return!0;default:return Ul()}case 18:return Ul();case 9:return Ce()===23||Ce()===26||Ul();case 24:return c1();case 7:return Ce()===19?Nn(z1):De?_a()&&!Bc():H4()&&!Bc();case 8:return r6();case 10:return Ce()===28||Ce()===26||r6();case 19:return Ce()===103||Ce()===87||_a();case 15:switch(Ce()){case 28:case 25:return!0}case 11:return Ce()===26||IT();case 16:return nk(!1);case 17:return nk(!0);case 20:case 21:return Ce()===28||G7();case 22:return s6();case 23:return Ce()===161&&Nn(FA)?!1:Ce()===11?!0:M1(Ce());case 13:return M1(Ce())||Ce()===19;case 14:return!0;case 25:return!0;case 26:return $n.fail("ParsingContext.Count used as a context");default:$n.assertNever(oe,"Non-exhaustive case in 'isListElement'.")}}function z1(){if($n.assert(Ce()===19),hn()===20){let oe=hn();return oe===28||oe===19||oe===96||oe===119}return!0}function T1(){return hn(),_a()}function Zm(){return hn(),M1(Ce())}function NT(){return hn(),eAn(Ce())}function Bc(){return Ce()===119||Ce()===96?Nn(H1):!1}function H1(){return hn(),IT()}function Qp(){return hn(),G7()}function U7(oe){if(Ce()===1)return!0;switch(oe){case 1:case 2:case 4:case 5:case 6:case 12:case 9:case 23:case 24:return Ce()===20;case 3:return Ce()===20||Ce()===84||Ce()===90;case 7:return Ce()===19||Ce()===96||Ce()===119;case 8:return Vd();case 19:return Ce()===32||Ce()===21||Ce()===19||Ce()===96||Ce()===119;case 11:return Ce()===22||Ce()===27;case 15:case 21:case 10:return Ce()===24;case 17:case 16:case 18:return Ce()===22||Ce()===24;case 20:return Ce()!==28;case 22:return Ce()===19||Ce()===20;case 13:return Ce()===32||Ce()===44;case 14:return Ce()===30&&Nn(y5);default:return!1}}function Vd(){return!!(il()||G4(Ce())||Ce()===39)}function bx(){$n.assert(Zr,"Missing parsing context");for(let oe=0;oe<26;oe++)if(Zr&1<=0)}function F7(oe){return oe===6?Sr.An_enum_member_name_must_be_followed_by_a_or:void 0}function Ic(){let oe=y0([],Wr());return oe.isMissingList=!0,oe}function tk(oe){return!!oe.isMissingList}function J_(oe,De,nt,Et){if(Tn(nt)){let lr=vR(oe,De);return Tn(Et),lr}return Ic()}function Q(oe,De){let nt=Wr(),Et=oe?Iu(De):I0(De);for(;Qs(25)&&Ce()!==30;)Et=Or(_.createQualifiedName(Et,I(oe,!1,!0)),nt);return Et}function C(oe,De){return Or(_.createQualifiedName(oe,De),oe.pos)}function I(oe,De,nt){if(t.hasPrecedingLineBreak()&&M1(Ce())&&Nn(c5))return MR(80,!0,Sr.Identifier_expected);if(Ce()===81){let Et=L1();return De?Et:MR(80,!0,Sr.Identifier_expected)}return oe?nt?Iu():oT():I0()}function j(oe){let De=Wr(),nt=[],Et;do Et=_r(oe),nt.push(Et);while(Et.literal.kind===17);return y0(nt,De)}function Te(oe){let De=Wr();return Or(_.createTemplateExpression(Si(oe),j(oe)),De)}function Be(){let oe=Wr();return Or(_.createTemplateLiteralType(Si(!1),ct()),oe)}function ct(){let oe=Wr(),De=[],nt;do nt=zt(),De.push(nt);while(nt.literal.kind===17);return y0(De,oe)}function zt(){let oe=Wr();return Or(_.createTemplateLiteralTypeSpan(u0(),Rr(!1)),oe)}function Rr(oe){return Ce()===20?(ZR(oe),Ji()):Wl(18,Sr._0_expected,Qc(20))}function _r(oe){let De=Wr();return Or(_.createTemplateSpan(Pi(uR),Rr(oe)),De)}function ei(){return ho(Ce())}function Si(oe){!oe&&t.getTokenFlags()&26656&&ZR(!1);let De=ho(Ce());return $n.assert(De.kind===16,"Template head has wrong token kind"),De}function Ji(){let oe=ho(Ce());return $n.assert(oe.kind===17||oe.kind===18,"Template fragment has wrong token kind"),oe}function $a(oe){let De=oe===15||oe===18,nt=t.getTokenText();return nt.substring(1,nt.length-(t.isUnterminated()?0:De?1:2))}function ho(oe){let De=Wr(),nt=ylr(oe)?_.createTemplateLiteralLikeNode(oe,t.getTokenValue(),$a(oe),t.getTokenFlags()&7176):oe===9?m(t.getTokenValue(),t.getNumericLiteralFlags()):oe===11?x(t.getTokenValue(),void 0,t.hasExtendedUnicodeEscape()):JAn(oe)?y(oe,t.getTokenValue()):$n.fail();return t.hasExtendedUnicodeEscape()&&(nt.hasExtendedUnicodeEscape=!0),t.isUnterminated()&&(nt.isUnterminated=!0),hn(),Or(nt,De)}function Go(){return Q(!0,Sr.Type_expected)}function no(){if(!t.hasPrecedingLineBreak()&&RR()===30)return J_(20,u0,30,32)}function R0(){let oe=Wr();return Or(_.createTypeReferenceNode(Go(),no()),oe)}function DR(oe){switch(oe.kind){case 183:return UX(oe.typeName);case 184:case 185:{let{parameters:De,type:nt}=oe;return tk(De)||DR(nt)}case 196:return DR(oe.type);default:return!1}}function Ll(oe){return hn(),Or(_.createTypePredicateNode(void 0,oe,u0()),oe.pos)}function zl(){let oe=Wr();return hn(),Or(_.createThisTypeNode(),oe)}function wp(){let oe=Wr();return hn(),Or(_.createJSDocAllType(),oe)}function my(){let oe=Wr();return hn(),Or(_.createJSDocNonNullableType(z4(),!1),oe)}function s5(){let oe=Wr();return hn(),Ce()===28||Ce()===20||Ce()===22||Ce()===32||Ce()===64||Ce()===52?Or(_.createJSDocUnknownType(),oe):Or(_.createJSDocNullableType(u0(),!1),oe)}function rk(){let oe=Wr(),De=Aa();if(vi(Fg)){let nt=K1(36),Et=Hl(59,!1);return mt(Or(_.createJSDocFunctionType(nt,Et),oe),De)}return Or(_.createTypeReferenceNode(Iu(),void 0),oe)}function Dx(){let oe=Wr(),De;return(Ce()===110||Ce()===105)&&(De=Iu(),Tn(59)),Or(_.createParameterDeclaration(void 0,void 0,De,void 0,TT(),void 0),oe)}function TT(){t.setSkipJsDocLeadingAsterisks(!0);let oe=Wr();if(Qs(144)){let Et=_.createJSDocNamepathType(void 0);e:for(;;)switch(Ce()){case 20:case 1:case 28:case 5:break e;default:ro()}return t.setSkipJsDocLeadingAsterisks(!1),Or(Et,oe)}let De=Qs(26),nt=vy();return t.setSkipJsDocLeadingAsterisks(!1),De&&(nt=Or(_.createJSDocVariadicType(nt),oe)),Ce()===64?(hn(),Or(_.createJSDocOptionalType(nt),oe)):nt}function Pp(){let oe=Wr();Tn(114);let De=Q(!0),nt=t.hasPrecedingLineBreak()?void 0:M2();return Or(_.createTypeQueryNode(De,nt),oe)}function ky(){let oe=Wr(),De=Uu(!1,!0),nt=I0(),Et,lr;Qs(96)&&(G7()||!IT()?Et=u0():lr=er());let Kr=Qs(64)?u0():void 0,Gn=_.createTypeParameterDeclaration(De,nt,Et,Kr);return Gn.expression=lr,Or(Gn,oe)}function wT(){if(Ce()===30)return J_(19,ky,30,32)}function nk(oe){return Ce()===26||r6()||Ew(Ce())||Ce()===60||G7(!oe)}function o5(oe){let De=By(Sr.Private_identifiers_cannot_be_used_as_parameters);return C3n(De)===0&&!w7(oe)&&Ew(Ce())&&hn(),De}function U4(){return oo()||Ce()===23||Ce()===19}function L7(oe){return Y1(oe)}function F4(oe){return Y1(oe,!1)}function Y1(oe,De=!0){let nt=Wr(),Et=Aa(),lr=oe?Ar(()=>Uu(!0)):nn(()=>Uu(!0));if(Ce()===110){let fi=_.createParameterDeclaration(lr,void 0,Bu(!0),void 0,ah(),void 0),si=n9t(lr);return si&&_R(si,Sr.Neither_decorators_nor_modifiers_may_be_applied_to_this_parameters),mt(Or(fi,nt),Et)}let Kr=mi;mi=!1;let Gn=S0(26);if(!De&&!U4())return;let Qi=mt(Or(_.createParameterDeclaration(lr,Gn,o5(lr),S0(58),ah(),oc()),nt),Et);return mi=Kr,Qi}function Hl(oe,De){if(L4(oe,De))return Ca(vy)}function L4(oe,De){return oe===39?(Tn(oe),!0):Qs(59)?!0:De&&Ce()===39?(Fa(Sr._0_expected,Qc(59)),hn(),!0):!1}function z7(oe,De){let nt=Ta(),Et=No();dr(!!(oe&1)),ln(!!(oe&2));let lr=oe&32?vR(17,Dx):vR(16,()=>De?L7(Et):F4(Et));return dr(nt),ln(Et),lr}function K1(oe){if(!Tn(21))return Ic();let De=z7(oe,!0);return Tn(22),De}function H7(){Qs(28)||f0()}function X_(oe){let De=Wr(),nt=Aa();oe===180&&Tn(105);let Et=wT(),lr=K1(4),Kr=Hl(59,!0);H7();let Gn=oe===179?_.createCallSignature(Et,lr,Kr):_.createConstructSignature(Et,lr,Kr);return mt(Or(Gn,De),nt)}function jd(){return Ce()===23&&Nn(Bp)}function Bp(){if(hn(),Ce()===26||Ce()===24)return!0;if(Ew(Ce())){if(hn(),_a())return!0}else if(_a())hn();else return!1;return Ce()===59||Ce()===28?!0:Ce()!==58?!1:(hn(),Ce()===59||Ce()===28||Ce()===24)}function Ip(oe,De,nt){let Et=J_(16,()=>L7(!1),23,24),lr=ah();H7();let Kr=_.createIndexSignature(nt,Et,lr);return mt(Or(Kr,oe),De)}function G1(oe,De,nt){let Et=Fl(),lr=S0(58),Kr;if(Ce()===21||Ce()===30){let Gn=wT(),Qi=K1(4),fi=Hl(59,!0);Kr=_.createMethodSignature(nt,Et,lr,Gn,Qi,fi)}else{let Gn=ah();Kr=_.createPropertySignature(nt,Et,lr,Gn),Ce()===64&&(Kr.initializer=oc())}return H7(),mt(Or(Kr,oe),De)}function PT(){if(Ce()===21||Ce()===30||Ce()===139||Ce()===153)return!0;let oe=!1;for(;Ew(Ce());)oe=!0,hn();return Ce()===23?!0:(Ul()&&(oe=!0,hn()),oe?Ce()===21||Ce()===30||Ce()===58||Ce()===59||Ce()===28||il():!1)}function Z_(){if(Ce()===21||Ce()===30)return X_(179);if(Ce()===105&&Nn(V1))return X_(180);let oe=Wr(),De=Aa(),nt=Uu(!1);return uT(139)?Z7(oe,De,nt,177,4):uT(153)?Z7(oe,De,nt,178,4):jd()?Ip(oe,De,nt):G1(oe,De,nt)}function V1(){return hn(),Ce()===21||Ce()===30}function Y7(){return hn()===25}function yy(){switch(hn()){case 21:case 30:case 25:return!0}return!1}function w2(){let oe=Wr();return Or(_.createTypeLiteralNode(eh()),oe)}function eh(){let oe;return Tn(19)?(oe=nc(4,Z_),Tn(20)):oe=Ic(),oe}function th(){return hn(),Ce()===40||Ce()===41?hn()===148:(Ce()===148&&hn(),Ce()===23&&T1()&&hn()===103)}function K7(){let oe=Wr(),De=Iu();Tn(103);let nt=u0();return Or(_.createTypeParameterDeclaration(void 0,De,nt,void 0),oe)}function f_(){let oe=Wr();Tn(19);let De;(Ce()===148||Ce()===40||Ce()===41)&&(De=uu(),De.kind!==148&&Tn(148)),Tn(23);let nt=K7(),Et=Qs(130)?u0():void 0;Tn(24);let lr;(Ce()===58||Ce()===40||Ce()===41)&&(lr=uu(),lr.kind!==58&&Tn(58));let Kr=ah();f0();let Gn=nc(4,Z_);return Tn(20),Or(_.createMappedTypeNode(De,nt,Et,lr,Kr,Gn),oe)}function sl(){let oe=Wr();if(Qs(26))return Or(_.createRestTypeNode(u0()),oe);let De=u0();if(jbn(De)&&De.pos===De.type.pos){let nt=_.createOptionalTypeNode(De.type);return P4(nt,De),nt.flags=De.flags,nt}return De}function BT(){return hn()===59||Ce()===58&&hn()===59}function NA(){return Ce()===26?M1(hn())&&BT():M1(Ce())&&BT()}function X0(){if(Nn(NA)){let oe=Wr(),De=Aa(),nt=S0(26),Et=Iu(),lr=S0(58);Tn(59);let Kr=sl(),Gn=_.createNamedTupleMember(nt,Et,lr,Kr);return mt(Or(Gn,oe),De)}return sl()}function $0(){let oe=Wr();return Or(_.createTupleTypeNode(J_(21,X0,23,24)),oe)}function j1(){let oe=Wr();Tn(21);let De=u0();return Tn(22),Or(_.createParenthesizedType(De),oe)}function Jd(){let oe;if(Ce()===128){let De=Wr();hn();let nt=Or(S(128),De);oe=y0([nt],De)}return oe}function Xd(){let oe=Wr(),De=Aa(),nt=Jd(),Et=Qs(105);$n.assert(!nt||Et,"Per isStartOfFunctionOrConstructorType, a function type cannot have modifiers.");let lr=wT(),Kr=K1(4),Gn=Hl(39,!1),Qi=Et?_.createConstructorTypeNode(nt,lr,Kr,Gn):_.createFunctionTypeNode(lr,Kr,Gn);return mt(Or(Qi,oe),De)}function Sx(){let oe=uu();return Ce()===25?void 0:oe}function qy(oe){let De=Wr();oe&&hn();let nt=Ce()===112||Ce()===97||Ce()===106?uu():ho(Ce());return oe&&(nt=Or(_.createPrefixUnaryExpression(41,nt),De)),Or(_.createLiteralTypeNode(nt),De)}function R5(){return hn(),Ce()===102}function Cy(){_t|=4194304;let oe=Wr(),De=Qs(114);Tn(102),Tn(21);let nt=u0(),Et;if(Qs(28)){let Gn=t.getTokenStart();Tn(19);let Qi=Ce();if(Qi===118||Qi===132?hn():Fa(Sr._0_expected,Qc(118)),Tn(59),Et=nx(Qi,!0),!Tn(20)){let fi=MX(ht);fi&&fi.code===Sr._0_expected.code&&y9e(fi,ose(at,Ve,Gn,1,Sr.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}}Tn(22);let lr=Qs(25)?Go():void 0,Kr=no();return Or(_.createImportTypeNode(nt,Et,lr,Kr,De),oe)}function Ay(){return hn(),Ce()===9||Ce()===10}function z4(){switch(Ce()){case 133:case 159:case 154:case 150:case 163:case 155:case 136:case 157:case 146:case 151:return vi(Sx)||R0();case 67:t.reScanAsteriskEqualsToken();case 42:return wp();case 61:t.reScanQuestionToken();case 58:return s5();case 100:return rk();case 54:return my();case 15:case 11:case 9:case 10:case 112:case 97:case 106:return qy();case 41:return Nn(Ay)?qy(!0):R0();case 116:return uu();case 110:{let oe=zl();return Ce()===142&&!t.hasPrecedingLineBreak()?Ll(oe):oe}case 114:return Nn(R5)?Cy():Pp();case 19:return Nn(th)?f_():w2();case 23:return $0();case 21:return j1();case 102:return Cy();case 131:return Nn(c5)?ih():R0();case 16:return Be();default:return R0()}}function G7(oe){switch(Ce()){case 133:case 159:case 154:case 150:case 163:case 136:case 148:case 155:case 158:case 116:case 157:case 106:case 110:case 114:case 146:case 19:case 23:case 30:case 52:case 51:case 105:case 11:case 9:case 10:case 112:case 97:case 151:case 42:case 58:case 54:case 26:case 140:case 102:case 131:case 15:case 16:return!0;case 100:return!oe;case 41:return!oe&&Nn(Ay);case 21:return!oe&&Nn(sc);default:return _a()}}function sc(){return hn(),Ce()===22||nk(!1)||G7()}function $x(){let oe=Wr(),De=z4();for(;!t.hasPrecedingLineBreak();)switch(Ce()){case 54:hn(),De=Or(_.createJSDocNonNullableType(De,!0),oe);break;case 58:if(Nn(Qp))return De;hn(),De=Or(_.createJSDocNullableType(De,!0),oe);break;case 23:if(Tn(23),G7()){let nt=u0();Tn(24),De=Or(_.createIndexedAccessTypeNode(De,nt),oe)}else Tn(24),De=Or(_.createArrayTypeNode(De),oe);break;default:return De}return De}function ik(oe){let De=Wr();return Tn(oe),Or(_.createTypeOperatorNode(oe,pT()),De)}function gy(){if(Qs(96)){let oe=Jr(u0);if(ws()||Ce()!==58)return oe}}function rh(){let oe=Wr(),De=I0(),nt=vi(gy),Et=_.createTypeParameterDeclaration(void 0,De,nt);return Or(Et,oe)}function Qx(){let oe=Wr();return Tn(140),Or(_.createInferTypeNode(rh()),oe)}function pT(){let oe=Ce();switch(oe){case 143:case 158:case 148:return ik(oe);case 140:return Qx()}return Ca($x)}function J1(oe){if(Nx()){let De=Xd(),nt;return WTr(De)?nt=oe?Sr.Function_type_notation_must_be_parenthesized_when_used_in_a_union_type:Sr.Function_type_notation_must_be_parenthesized_when_used_in_an_intersection_type:nt=oe?Sr.Constructor_type_notation_must_be_parenthesized_when_used_in_a_union_type:Sr.Constructor_type_notation_must_be_parenthesized_when_used_in_an_intersection_type,_R(De,nt),De}}function by(oe,De,nt){let Et=Wr(),lr=oe===52,Kr=Qs(oe),Gn=Kr&&J1(lr)||De();if(Ce()===oe||Kr){let Qi=[Gn];for(;Qs(oe);)Qi.push(J1(lr)||De());Gn=Or(nt(y0(Qi,Et)),Et)}return Gn}function Mc(){return by(51,pT,_.createIntersectionTypeNode)}function nh(){return by(52,Mc,_.createUnionTypeNode)}function ak(){return hn(),Ce()===105}function Nx(){return Ce()===30||Ce()===21&&Nn(Oy)?!0:Ce()===105||Ce()===128&&Nn(ak)}function Ey(){if(Ew(Ce())&&Uu(!1),_a()||Ce()===110)return hn(),!0;if(Ce()===23||Ce()===19){let oe=ht.length;return By(),oe===ht.length}return!1}function Oy(){return hn(),!!(Ce()===22||Ce()===26||Ey()&&(Ce()===59||Ce()===28||Ce()===58||Ce()===64||Ce()===22&&(hn(),Ce()===39)))}function vy(){let oe=Wr(),De=_a()&&vi(sk),nt=u0();return De?Or(_.createTypePredicateNode(void 0,De,nt),oe):nt}function sk(){let oe=I0();if(Ce()===142&&!t.hasPrecedingLineBreak())return hn(),oe}function ih(){let oe=Wr(),De=Wl(131),nt=Ce()===110?zl():I0(),Et=Qs(142)?u0():void 0;return Or(_.createTypePredicateNode(De,nt,Et),oe)}function u0(){if(Zn&81920)return Mn(81920,u0);if(Nx())return Xd();let oe=Wr(),De=nh();if(!ws()&&!t.hasPrecedingLineBreak()&&Qs(96)){let nt=Jr(u0);Tn(58);let Et=Ca(u0);Tn(59);let lr=Ca(u0);return Or(_.createConditionalTypeNode(De,nt,Et,lr),oe)}return De}function ah(){return Qs(59)?u0():void 0}function H4(){switch(Ce()){case 110:case 108:case 106:case 112:case 97:case 9:case 10:case 11:case 15:case 16:case 21:case 23:case 19:case 100:case 86:case 105:case 44:case 69:case 80:return!0;case 102:return Nn(yy);default:return _a()}}function IT(){if(H4())return!0;switch(Ce()){case 40:case 41:case 55:case 54:case 91:case 114:case 116:case 46:case 47:case 30:case 135:case 127:case 81:case 60:return!0;default:return ex()?!0:_a()}}function Zd(){return Ce()!==19&&Ce()!==100&&Ce()!==86&&Ce()!==60&&IT()}function uR(){let oe=Xo();oe&&vr(!1);let De=Wr(),nt=Wc(!0),Et;for(;Et=S0(28);)nt=Qy(nt,Et,Wc(!0),De);return oe&&vr(!0),nt}function oc(){return Qs(64)?Wc(!0):void 0}function Wc(oe){if(Dy())return Sy();let De=P2(oe)||K4(oe);if(De)return De;let nt=Wr(),Et=Aa(),lr=V7(0);return lr.kind===80&&Ce()===39?ok(nt,lr,oe,Et,void 0):yse(lr)&&vTr(_o())?Qy(lr,uu(),Wc(oe),nt):$y(lr,nt,oe)}function Dy(){return Ce()===127?Ta()?!0:Nn(WA):!1}function u5(){return hn(),!t.hasPrecedingLineBreak()&&_a()}function Sy(){let oe=Wr();return hn(),!t.hasPrecedingLineBreak()&&(Ce()===42||IT())?Or(_.createYieldExpression(S0(42),Wc(!0)),oe):Or(_.createYieldExpression(void 0,void 0),oe)}function ok(oe,De,nt,Et,lr){$n.assert(Ce()===39,"parseSimpleArrowFunctionExpression should only have been called if we had a =>");let Kr=_.createParameterDeclaration(void 0,void 0,De,void 0,void 0,void 0);Or(Kr,De.pos);let Gn=y0([Kr],Kr.pos,Kr.end),Qi=Wl(39),fi=uk(!!lr,nt),si=_.createArrowFunction(lr,void 0,Gn,void 0,Qi,fi);return mt(Or(si,oe),Et)}function P2(oe){let De=d_();if(De!==0)return De===1?wx(!0,!0):vi(()=>Y4(oe))}function d_(){return Ce()===21||Ce()===30||Ce()===134?Nn(Rk):Ce()===39?1:0}function Rk(){if(Ce()===134&&(hn(),t.hasPrecedingLineBreak()||Ce()!==21&&Ce()!==30))return 0;let oe=Ce(),De=hn();if(oe===21){if(De===22)switch(hn()){case 39:case 59:case 19:return 1;default:return 0}if(De===23||De===19)return 2;if(De===26)return 1;if(Ew(De)&&De!==134&&Nn(T1))return hn()===130?0:1;if(!_a()&&De!==110)return 0;switch(hn()){case 59:return 1;case 58:return hn(),Ce()===59||Ce()===28||Ce()===64||Ce()===22?1:0;case 28:case 64:case 22:return 2}return 0}else return $n.assert(oe===30),!_a()&&Ce()!==87?0:pt===1?Nn(()=>{Qs(87);let nt=hn();if(nt===96)switch(hn()){case 64:case 32:case 44:return!1;default:return!0}else if(nt===28||nt===64)return!0;return!1})?1:0:2}function Y4(oe){let De=t.getTokenStart();if(bn!=null&&bn.has(De))return;let nt=wx(!1,oe);return nt||(bn||(bn=new Set)).add(De),nt}function K4(oe){if(Ce()===134&&Nn(sh)===1){let De=Wr(),nt=Aa(),Et=x5(),lr=V7(0);return ok(De,lr,oe,nt,Et)}}function sh(){if(Ce()===134){if(hn(),t.hasPrecedingLineBreak()||Ce()===39)return 0;let oe=V7(0);if(!t.hasPrecedingLineBreak()&&oe.kind===80&&Ce()===39)return 1}return 0}function wx(oe,De){let nt=Wr(),Et=Aa(),lr=x5(),Kr=w7(lr,A9e)?2:0,Gn=wT(),Qi;if(Tn(21)){if(oe)Qi=z7(Kr,oe);else{let ap=z7(Kr,oe);if(!ap)return;Qi=ap}if(!Tn(22)&&!oe)return}else{if(!oe)return;Qi=Ic()}let fi=Ce()===59,si=Hl(59,!1);if(si&&!oe&&DR(si))return;let Ui=si;for(;Ui?.kind===196;)Ui=Ui.type;let Zs=Ui&&Jbn(Ui);if(!oe&&Ce()!==39&&(Zs||Ce()!==19))return;let lo=Ce(),qs=Wl(39),HT=lo===39||lo===19?uk(w7(lr,A9e),De):I0();if(!De&&fi&&Ce()!==59)return;let ip=_.createArrowFunction(lr,Gn,Qi,si,qs,HT);return mt(Or(ip,nt),Et)}function uk(oe,De){if(Ce()===19)return Lc(oe?2:0);if(Ce()!==27&&Ce()!==100&&Ce()!==86&&$g()&&!Zd())return Lc(16|(oe?2:0));let nt=mi;mi=!1;let Et=oe?Ar(()=>Wc(De)):nn(()=>Wc(De));return mi=nt,Et}function $y(oe,De,nt){let Et=S0(58);if(!Et)return oe;let lr;return Or(_.createConditionalExpression(oe,Et,Mn(r,()=>Wc(!1)),lr=Wl(59),B5t(lr)?Wc(nt):MR(80,!1,Sr._0_expected,Qc(59))),De)}function V7(oe){let De=Wr(),nt=er();return V4(oe,nt,De)}function G4(oe){return oe===103||oe===165}function V4(oe,De,nt){for(;;){_o();let Et=k5t(Ce());if(!(Ce()===43?Et>=oe:Et>oe)||Ce()===103&&Bi())break;if(Ce()===130||Ce()===152){if(t.hasPrecedingLineBreak())break;{let lr=Ce();hn(),De=lr===152?oh(De,u0()):B2(De,u0())}}else De=Qy(De,uu(),V7(Et),nt)}return De}function ex(){return Bi()&&Ce()===103?!1:k5t(Ce())>0}function oh(oe,De){return Or(_.createSatisfiesExpression(oe,De),oe.pos)}function Qy(oe,De,nt,Et){return Or(_.createBinaryExpression(oe,De,nt),Et)}function B2(oe,De){return Or(_.createAsExpression(oe,De),oe.pos)}function lk(){let oe=Wr();return Or(_.createPrefixUnaryExpression(Ce(),$s(Br)),oe)}function Mp(){let oe=Wr();return Or(_.createDeleteExpression($s(Br)),oe)}function j7(){let oe=Wr();return Or(_.createTypeOfExpression($s(Br)),oe)}function te(){let oe=Wr();return Or(_.createVoidExpression($s(Br)),oe)}function _e(){return Ce()===135?No()?!0:Nn(WA):!1}function je(){let oe=Wr();return Or(_.createAwaitExpression($s(Br)),oe)}function er(){if(In()){let nt=Wr(),Et=ti();return Ce()===43?V4(k5t(Ce()),Et,nt):Et}let oe=Ce(),De=Br();if(Ce()===43){let nt=KD(Ve,De.pos),{end:Et}=De;De.kind===216?D0(nt,Et,Sr.A_type_assertion_expression_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses):($n.assert(m5t(oe)),D0(nt,Et,Sr.An_unary_expression_with_the_0_operator_is_not_allowed_in_the_left_hand_side_of_an_exponentiation_expression_Consider_enclosing_the_expression_in_parentheses,Qc(oe)))}return De}function Br(){switch(Ce()){case 40:case 41:case 55:case 54:return lk();case 91:return Mp();case 114:return j7();case 116:return te();case 30:return pt===1?Ms(!0,void 0,void 0,!0):_T();case 135:if(_e())return je();default:return ti()}}function In(){switch(Ce()){case 40:case 41:case 55:case 54:case 91:case 114:case 116:case 135:return!1;case 30:if(pt!==1)return!1;default:return!0}}function ti(){if(Ce()===46||Ce()===47){let De=Wr();return Or(_.createPrefixUnaryExpression(Ce(),$s(va)),De)}else if(pt===1&&Ce()===30&&Nn(NT))return Ms(!0);let oe=va();if($n.assert(yse(oe)),(Ce()===46||Ce()===47)&&!t.hasPrecedingLineBreak()){let De=Ce();return hn(),Or(_.createPostfixUnaryExpression(oe,De),oe.pos)}return oe}function va(){let oe=Wr(),De;return Ce()===102?Nn(V1)?(_t|=4194304,De=uu()):Nn(Y7)?(hn(),hn(),De=Or(_.createMetaProperty(102,Iu()),oe),_t|=8388608):De=io():De=Ce()===108?ss():io(),ck(oe,De)}function io(){let oe=Wr(),De=J4();return Z1(oe,De,!0)}function ss(){let oe=Wr(),De=uu();if(Ce()===30){let nt=Wr(),Et=vi(j4);Et!==void 0&&(D0(nt,Wr(),Sr.super_may_not_use_type_arguments),uc()||(De=_.createExpressionWithTypeArguments(De,Et)))}return Ce()===21||Ce()===25||Ce()===23?De:(Wl(25,Sr.super_must_be_followed_by_an_argument_list_or_member_access),Or(U(De,I(!0,!0,!0)),oe))}function Ms(oe,De,nt,Et=!1){let lr=Wr(),Kr=MT(oe),Gn;if(Kr.kind===286){let Qi=Yl(Kr),fi,si=Qi[Qi.length-1];if(si?.kind===284&&!NW(si.openingElement.tagName,si.closingElement.tagName)&&NW(Kr.tagName,si.closingElement.tagName)){let Ui=si.children.end,Zs=Or(_.createJsxElement(si.openingElement,si.children,Or(_.createJsxClosingElement(Or(A(""),Ui,Ui)),Ui,Ui)),si.openingElement.pos,Ui);Qi=y0([...Qi.slice(0,Qi.length-1),Zs],Qi.pos,Ui),fi=si.closingElement}else fi=fR(Kr,oe),NW(Kr.tagName,fi.tagName)||(nt&&Blr(nt)&&NW(fi.tagName,nt.tagName)?_R(Kr.tagName,Sr.JSX_element_0_has_no_corresponding_closing_tag,pde(Ve,Kr.tagName)):_R(fi.tagName,Sr.Expected_corresponding_JSX_closing_tag_for_0,pde(Ve,Kr.tagName)));Gn=Or(_.createJsxElement(Kr,Qi,fi),lr)}else Kr.kind===289?Gn=Or(_.createJsxFragment(Kr,Yl(Kr),UT(oe)),lr):($n.assert(Kr.kind===285),Gn=Kr);if(!Et&&oe&&Ce()===30){let Qi=typeof De>"u"?Gn.pos:De,fi=vi(()=>Ms(!0,Qi));if(fi){let si=MR(28,!1);return $lr(si,fi.pos,0),D0(KD(Ve,Qi),fi.end,Sr.JSX_expressions_must_have_one_parent_element),Or(_.createBinaryExpression(Gn,si,fi),lr)}}return Gn}function Lo(){let oe=Wr(),De=_.createJsxText(t.getTokenValue(),zr===13);return zr=t.scanJsxToken(),Or(De,oe)}function WR(oe,De){switch(De){case 1:if(Hbn(oe))_R(oe,Sr.JSX_fragment_has_no_corresponding_closing_tag);else{let nt=oe.tagName,Et=Math.min(KD(Ve,nt.pos),nt.end);D0(Et,nt.end,Sr.JSX_element_0_has_no_corresponding_closing_tag,pde(Ve,oe.tagName))}return;case 31:case 7:return;case 12:case 13:return Lo();case 19:return Fc(!1);case 30:return Ms(!1,void 0,oe);default:return $n.assertNever(De)}}function Yl(oe){let De=[],nt=Wr(),Et=Zr;for(Zr|=16384;;){let lr=WR(oe,zr=t.reScanJsxToken());if(!lr||(De.push(lr),Blr(oe)&&lr?.kind===284&&!NW(lr.openingElement.tagName,lr.closingElement.tagName)&&NW(oe.tagName,lr.closingElement.tagName)))break}return Zr=Et,y0(De,nt)}function Wp(){let oe=Wr();return Or(_.createJsxAttributes(nc(13,WT)),oe)}function MT(oe){let De=Wr();if(Tn(30),Ce()===32)return u1(),Or(_.createJsxOpeningFragment(),De);let nt=Rc(),Et=Zn&524288?void 0:M2(),lr=Wp(),Kr;return Ce()===32?(u1(),Kr=_.createJsxOpeningElement(nt,Et,lr)):(Tn(44),Tn(32,void 0,!1)&&(oe?hn():u1()),Kr=_.createJsxSelfClosingElement(nt,Et,lr)),Or(Kr,De)}function Rc(){let oe=Wr(),De=Uc();if(t1r(De))return De;let nt=De;for(;Qs(25);)nt=Or(U(nt,I(!0,!1,!1)),oe);return nt}function Uc(){let oe=Wr();nl();let De=Ce()===110,nt=oT();return Qs(59)?(nl(),Or(_.createJsxNamespacedName(nt,oT()),oe)):De?Or(_.createToken(110),oe):nt}function Fc(oe){let De=Wr();if(!Tn(19))return;let nt,Et;return Ce()!==20&&(oe||(nt=S0(26)),Et=uR()),oe?Tn(20):Tn(20,void 0,!1)&&u1(),Or(_.createJsxExpression(nt,Et),De)}function WT(){if(Ce()===19)return l0();let oe=Wr();return Or(_.createJsxAttribute(zs(),X1()),oe)}function X1(){if(Ce()===64){if(V_()===11)return ei();if(Ce()===19)return Fc(!0);if(Ce()===30)return Ms(!0);Fa(Sr.or_JSX_element_expected)}}function zs(){let oe=Wr();nl();let De=oT();return Qs(59)?(nl(),Or(_.createJsxNamespacedName(De,oT()),oe)):De}function l0(){let oe=Wr();Tn(19),Tn(26);let De=uR();return Tn(20),Or(_.createJsxSpreadAttribute(De),oe)}function fR(oe,De){let nt=Wr();Tn(31);let Et=Rc();return Tn(32,void 0,!1)&&(De||!NW(oe.tagName,Et)?hn():u1()),Or(_.createJsxClosingElement(Et),nt)}function UT(oe){let De=Wr();return Tn(31),Tn(32,Sr.Expected_corresponding_closing_tag_for_JSX_fragment,!1)&&(oe?hn():u1()),Or(_.createJsxJsxClosingFragment(),De)}function _T(){$n.assert(pt!==1,"Type assertions should never be parsed in JSX; they should be parsed as comparisons or JSX elements/fragments.");let oe=Wr();Tn(30);let De=u0();Tn(32);let nt=Br();return Or(_.createTypeAssertion(De,nt),oe)}function FT(){return hn(),M1(Ce())||Ce()===23||uc()}function Up(){return Ce()===29&&Nn(FT)}function Rh(oe){if(oe.flags&64)return!0;if(O9e(oe)){let De=oe.expression;for(;O9e(De)&&!(De.flags&64);)De=De.expression;if(De.flags&64){for(;O9e(oe);)oe.flags|=64,oe=oe.expression;return!0}}return!1}function Mu(oe,De,nt){let Et=I(!0,!0,!0),lr=nt||Rh(De),Kr=lr?w(De,nt,Et):U(De,Et);if(lr&&HX(Kr.name)&&_R(Kr.name,Sr.An_optional_chain_cannot_contain_private_identifiers),Bbn(De)&&De.typeArguments){let Gn=De.typeArguments.pos-1,Qi=KD(Ve,De.typeArguments.end)+1;D0(Gn,Qi,Sr.An_instantiation_expression_cannot_be_followed_by_a_property_access)}return Or(Kr,oe)}function Wu(oe,De,nt){let Et;if(Ce()===24)Et=MR(80,!0,Sr.An_element_access_expression_should_take_an_argument);else{let Kr=Pi(uR);z9e(Kr)&&(Kr.text=Ba(Kr.text)),Et=Kr}Tn(24);let lr=nt||Rh(De)?H(De,nt,Et):F(De,Et);return Or(lr,oe)}function Z1(oe,De,nt){for(;;){let Et,lr=!1;if(nt&&Up()?(Et=Wl(29),lr=M1(Ce())):lr=Qs(25),lr){De=Mu(oe,De,Et);continue}if((Et||!Xo())&&Qs(23)){De=Wu(oe,De,Et);continue}if(uc()){De=!Et&&De.kind===233?ep(oe,De.expression,Et,De.typeArguments):ep(oe,De,Et,void 0);continue}if(!Et){if(Ce()===54&&!t.hasPrecedingLineBreak()){hn(),De=Or(_.createNonNullExpression(De),oe);continue}let Kr=vi(j4);if(Kr){De=Or(_.createExpressionWithTypeArguments(De,Kr),oe);continue}}return De}}function uc(){return Ce()===15||Ce()===16}function ep(oe,De,nt,Et){let lr=_.createTaggedTemplateExpression(De,Et,Ce()===15?(ZR(!0),ei()):Te(!0));return(nt||De.flags&64)&&(lr.flags|=64),lr.questionDotToken=nt,Or(lr,oe)}function ck(oe,De){for(;;){De=Z1(oe,De,!0);let nt,Et=S0(29);if(Et&&(nt=vi(j4),uc())){De=ep(oe,De,Et,nt);continue}if(nt||Ce()===21){!Et&&De.kind===233&&(nt=De.typeArguments,De=De.expression);let lr=Ny(),Kr=Et||Rh(De)?ee(De,Et,nt,lr):G(De,nt,lr);De=Or(Kr,oe);continue}if(Et){let lr=MR(80,!1,Sr.Identifier_expected);De=Or(w(De,Et,lr),oe)}break}return De}function Ny(){Tn(21);let oe=vR(11,gO);return Tn(22),oe}function j4(){if(Zn&524288||RR()!==30)return;hn();let oe=vR(20,u0);if(_o()===32)return hn(),oe&&bg()?oe:void 0}function bg(){switch(Ce()){case 21:case 15:case 16:return!0;case 30:case 32:case 40:case 41:return!1}return t.hasPrecedingLineBreak()||ex()||!IT()}function J4(){switch(Ce()){case 15:t.getTokenFlags()&26656&&ZR(!1);case 9:case 10:case 11:return ei();case 110:case 108:case 106:case 112:case 97:return uu();case 21:return wA();case 23:return Og();case 19:return BA();case 134:if(!Nn(p5))break;return IA();case 60:return m5();case 86:return jA();case 100:return IA();case 105:return vg();case 44:case 69:if(Mo()===14)return ei();break;case 16:return Te(!1);case 81:return L1()}return I0(Sr.Expression_expected)}function wA(){let oe=Wr(),De=Aa();Tn(21);let nt=Pi(uR);return Tn(22),mt(Or(me(nt),oe),De)}function Eg(){let oe=Wr();Tn(26);let De=Wc(!0);return Or(_.createSpreadElement(De),oe)}function AO(){return Ce()===26?Eg():Ce()===28?Or(_.createOmittedExpression(),Wr()):Wc(!0)}function gO(){return Mn(r,AO)}function Og(){let oe=Wr(),De=t.getTokenStart(),nt=Tn(23),Et=t.hasPrecedingLineBreak(),lr=vR(15,AO);return hR(23,24,nt,De),Or(P(lr,Et),oe)}function PA(){let oe=Wr(),De=Aa();if(S0(26)){let si=Wc(!0);return mt(Or(_.createSpreadAssignment(si),oe),De)}let nt=Uu(!0);if(uT(139))return Z7(oe,De,nt,177,0);if(uT(153))return Z7(oe,De,nt,178,0);let Et=S0(42),lr=_a(),Kr=Fl(),Gn=S0(58),Qi=S0(54);if(Et||Ce()===21||Ce()===30)return GA(oe,De,nt,Et,Kr,Gn,Qi);let fi;if(lr&&Ce()!==59){let si=S0(64),Ui=si?Pi(()=>Wc(!0)):void 0;fi=_.createShorthandPropertyAssignment(Kr,Ui),fi.equalsToken=si}else{Tn(59);let si=Pi(()=>Wc(!0));fi=_.createPropertyAssignment(Kr,si)}return fi.modifiers=nt,fi.questionToken=Gn,fi.exclamationToken=Qi,mt(Or(fi,oe),De)}function BA(){let oe=Wr(),De=t.getTokenStart(),nt=Tn(19),Et=t.hasPrecedingLineBreak(),lr=vR(12,PA,!0);return hR(19,20,nt,De),Or(M(lr,Et),oe)}function IA(){let oe=Xo();vr(!1);let De=Wr(),nt=Aa(),Et=Uu(!1);Tn(100);let lr=S0(42),Kr=lr?1:0,Gn=w7(Et,A9e)?2:0,Qi=Kr&&Gn?On(wy):Kr?Mr(wy):Gn?Ar(wy):wy(),fi=wT(),si=K1(Kr|Gn),Ui=Hl(59,!1),Zs=Lc(Kr|Gn);vr(oe);let lo=_.createFunctionExpression(Et,lr,Qi,fi,si,Ui,Zs);return mt(Or(lo,De),nt)}function wy(){return oo()?al():void 0}function vg(){let oe=Wr();if(Tn(105),Qs(25)){let Kr=Iu();return Or(_.createMetaProperty(105,Kr),oe)}let De=Wr(),nt=Z1(De,J4(),!1),Et;nt.kind===233&&(Et=nt.typeArguments,nt=nt.expression),Ce()===29&&Fa(Sr.Invalid_optional_chain_from_new_expression_Did_you_mean_to_call_0,pde(Ve,nt));let lr=Ce()===21?Ny():void 0;return Or(fe(nt,Et,lr),oe)}function J7(oe,De){let nt=Wr(),Et=Aa(),lr=t.getTokenStart(),Kr=Tn(19,De);if(Kr||oe){let Gn=t.hasPrecedingLineBreak(),Qi=nc(1,gu);hR(19,20,Kr,lr);let fi=mt(Or(ve(Qi,Gn),nt),Et);return Ce()===64&&(Fa(Sr.Declaration_or_statement_expected_This_follows_a_block_of_statements_so_if_you_intended_to_write_a_destructuring_assignment_you_might_need_to_wrap_the_whole_assignment_in_parentheses),hn()),fi}else{let Gn=Ic();return mt(Or(ve(Gn,void 0),nt),Et)}}function Lc(oe,De){let nt=Ta();dr(!!(oe&1));let Et=No();ln(!!(oe&2));let lr=mi;mi=!1;let Kr=Xo();Kr&&vr(!1);let Gn=J7(!!(oe&16),De);return Kr&&vr(!0),mi=lr,dr(nt),ln(Et),Gn}function ol(){let oe=Wr(),De=Aa();return Tn(27),mt(Or(_.createEmptyStatement(),oe),De)}function Z0(){let oe=Wr(),De=Aa();Tn(101);let nt=t.getTokenStart(),Et=Tn(21),lr=Pi(uR);hR(21,22,Et,nt);let Kr=gu(),Gn=Qs(93)?gu():void 0;return mt(Or(Ee(lr,Kr,Gn),oe),De)}function Au(){let oe=Wr(),De=Aa();Tn(92);let nt=gu();Tn(117);let Et=t.getTokenStart(),lr=Tn(21),Kr=Pi(uR);return hR(21,22,lr,Et),Qs(27),mt(Or(_.createDoStatement(nt,Kr),oe),De)}function bO(){let oe=Wr(),De=Aa();Tn(117);let nt=t.getTokenStart(),Et=Tn(21),lr=Pi(uR);hR(21,22,Et,nt);let Kr=gu();return mt(Or(Me(lr,Kr),oe),De)}function tp(){let oe=Wr(),De=Aa();Tn(99);let nt=S0(135);Tn(21);let Et;Ce()!==27&&(Ce()===115||Ce()===121||Ce()===87||Ce()===160&&Nn(LT)||Ce()===135&&Nn(lh)?Et=Iy(!0):Et=Ss(uR));let lr;if(nt?Tn(165):Qs(165)){let Kr=Pi(()=>Wc(!0));Tn(22),lr=xt(nt,Et,Kr,gu())}else if(Qs(103)){let Kr=Pi(uR);Tn(22),lr=_.createForInStatement(Et,Kr,gu())}else{Tn(27);let Kr=Ce()!==27&&Ce()!==22?Pi(uR):void 0;Tn(27);let Gn=Ce()!==22?Pi(uR):void 0;Tn(22),lr=gt(Et,Kr,Gn,gu())}return mt(Or(lr,oe),De)}function Fp(oe){let De=Wr(),nt=Aa();Tn(oe===252?83:88);let Et=il()?void 0:I0();f0();let lr=oe===252?_.createBreakStatement(Et):_.createContinueStatement(Et);return mt(Or(lr,De),nt)}function EO(){let oe=Wr(),De=Aa();Tn(107);let nt=il()?void 0:Pi(uR);return f0(),mt(Or(_.createReturnStatement(nt),oe),De)}function X7(){let oe=Wr(),De=Aa();Tn(118);let nt=t.getTokenStart(),Et=Tn(21),lr=Pi(uR);hR(21,22,Et,nt);let Kr=li(67108864,gu);return mt(Or(_.createWithStatement(lr,Kr),oe),De)}function tx(){let oe=Wr(),De=Aa();Tn(84);let nt=Pi(uR);Tn(59);let Et=nc(3,gu);return mt(Or(_.createCaseClause(nt,Et),oe),De)}function Px(){let oe=Wr();Tn(90),Tn(59);let De=nc(3,gu);return Or(_.createDefaultClause(De),oe)}function Bx(){return Ce()===84?tx():Px()}function l5(){let oe=Wr();Tn(19);let De=nc(2,Bx);return Tn(20),Or(_.createCaseBlock(De),oe)}function Dg(){let oe=Wr(),De=Aa();Tn(109),Tn(21);let nt=Pi(uR);Tn(22);let Et=l5();return mt(Or(_.createSwitchStatement(nt,Et),oe),De)}function Sg(){let oe=Wr(),De=Aa();Tn(111);let nt=t.hasPrecedingLineBreak()?void 0:Pi(uR);return nt===void 0&&(ri++,nt=Or(A(""),Wr())),l1()||B0(nt),mt(Or(_.createThrowStatement(nt),oe),De)}function OO(){let oe=Wr(),De=Aa();Tn(113);let nt=J7(!1),Et=Ce()===85?p1():void 0,lr;return(!Et||Ce()===98)&&(Tn(98,Sr.catch_or_finally_expected),lr=J7(!1)),mt(Or(_.createTryStatement(nt,Et,lr),oe),De)}function p1(){let oe=Wr();Tn(85);let De;Qs(21)?(De=Tk(),Tn(22)):De=void 0;let nt=J7(!1);return Or(_.createCatchClause(De,nt),oe)}function rp(){let oe=Wr(),De=Aa();return Tn(89),f0(),mt(Or(_.createDebuggerStatement(),oe),De)}function MA(){let oe=Wr(),De=Aa(),nt,Et=Ce()===21,lr=Pi(uR);return Pu(lr)&&Qs(59)?nt=_.createLabeledStatement(lr,gu()):(l1()||B0(lr),nt=Ue(lr),Et&&(De=!1)),mt(Or(nt,oe),De)}function c5(){return hn(),M1(Ce())&&!t.hasPrecedingLineBreak()}function T5(){return hn(),Ce()===86&&!t.hasPrecedingLineBreak()}function p5(){return hn(),Ce()===100&&!t.hasPrecedingLineBreak()}function WA(){return hn(),(M1(Ce())||Ce()===9||Ce()===10||Ce()===11)&&!t.hasPrecedingLineBreak()}function RS(){for(;;)switch(Ce()){case 115:case 121:case 87:case 100:case 86:case 94:return!0;case 160:return Z4();case 135:return Lp();case 120:case 156:return u5();case 144:case 145:return zA();case 128:case 129:case 134:case 138:case 123:case 124:case 125:case 148:let oe=Ce();if(hn(),t.hasPrecedingLineBreak())return!1;if(oe===138&&Ce()===156)return!0;continue;case 162:return hn(),Ce()===19||Ce()===80||Ce()===95;case 102:return hn(),Ce()===11||Ce()===42||Ce()===19||M1(Ce());case 95:let De=hn();if(De===156&&(De=Nn(hn)),De===64||De===42||De===19||De===90||De===130||De===60)return!0;continue;case 126:hn();continue;default:return!1}}function X4(){return Nn(RS)}function $g(){switch(Ce()){case 60:case 27:case 19:case 115:case 121:case 160:case 100:case 86:case 94:case 101:case 92:case 117:case 99:case 88:case 83:case 107:case 118:case 109:case 111:case 113:case 89:case 85:case 98:return!0;case 102:return X4()||Nn(yy);case 87:case 95:return X4();case 134:case 138:case 120:case 144:case 145:case 156:case 162:return!0;case 129:case 125:case 123:case 124:case 126:case 148:return X4()||!Nn(c5);default:return IT()}}function Qg(){return hn(),oo()||Ce()===19||Ce()===23}function I2(){return Nn(Qg)}function LT(){return uh(!0)}function uh(oe){return hn(),oe&&Ce()===165?!1:(oo()||Ce()===19)&&!t.hasPrecedingLineBreak()}function Z4(){return Nn(uh)}function lh(oe){return hn()===160?uh(oe):!1}function Lp(){return Nn(lh)}function gu(){switch(Ce()){case 27:return ol();case 19:return J7(!1);case 115:return pk(Wr(),Aa(),void 0);case 121:if(I2())return pk(Wr(),Aa(),void 0);break;case 135:if(Lp())return pk(Wr(),Aa(),void 0);break;case 160:if(Z4())return pk(Wr(),Aa(),void 0);break;case 100:return KA(Wr(),Aa(),void 0);case 86:return Bg(Wr(),Aa(),void 0);case 101:return Z0();case 92:return Au();case 117:return bO();case 99:return tp();case 88:return Fp(251);case 83:return Fp(252);case 107:return EO();case 118:return X7();case 109:return Dg();case 111:return Sg();case 113:case 85:case 98:return OO();case 89:return rp();case 60:return UA();case 134:case 120:case 156:case 144:case 145:case 138:case 87:case 94:case 95:case 102:case 123:case 124:case 125:case 128:case 129:case 126:case 148:case 162:if(X4())return UA();break}return MA()}function x_(oe){return oe.kind===138}function UA(){let oe=Wr(),De=Aa(),nt=Uu(!0);if(w7(nt,x_)){let Et=Py(oe);if(Et)return Et;for(let lr of nt)lr.flags|=33554432;return li(33554432,()=>_5(oe,De,nt))}else return _5(oe,De,nt)}function Py(oe){return li(33554432,()=>{let De=$2(Zr,oe);if(De)return ek(De)})}function _5(oe,De,nt){switch(Ce()){case 115:case 121:case 87:case 160:case 135:return pk(oe,De,nt);case 100:return KA(oe,De,nt);case 86:return Bg(oe,De,nt);case 120:return Ix(oe,De,nt);case 156:return Wg(oe,De,nt);case 94:return rx(oe,De,nt);case 162:case 144:case 145:return XA(oe,De,nt);case 102:return zg(oe,De,nt);case 95:switch(hn(),Ce()){case 90:case 64:return W2(oe,De,nt);case 130:return Lg(oe,De,nt);default:return uS(oe,De,nt)}default:if(nt){let Et=MR(282,!0,Sr.Declaration_expected);return M5t(Et,oe),Et.modifiers=nt,Et}return}}function FA(){return hn()===11}function LA(){return hn(),Ce()===161||Ce()===64}function zA(){return hn(),!t.hasPrecedingLineBreak()&&(_a()||Ce()===11)}function e6(oe,De){if(Ce()!==19){if(oe&4){H7();return}if(il()){f0();return}}return Lc(oe,De)}function t6(){let oe=Wr();if(Ce()===28)return Or(_.createOmittedExpression(),oe);let De=S0(26),nt=By(),Et=oc();return Or(_.createBindingElement(De,void 0,nt,Et),oe)}function h5(){let oe=Wr(),De=S0(26),nt=oo(),Et=Fl(),lr;nt&&Ce()!==59?(lr=Et,Et=void 0):(Tn(59),lr=By());let Kr=oc();return Or(_.createBindingElement(De,Et,lr,Kr),oe)}function HA(){let oe=Wr();Tn(19);let De=Pi(()=>vR(9,h5));return Tn(20),Or(_.createObjectBindingPattern(De),oe)}function Ng(){let oe=Wr();Tn(23);let De=Pi(()=>vR(10,t6));return Tn(24),Or(_.createArrayBindingPattern(De),oe)}function r6(){return Ce()===19||Ce()===23||Ce()===81||oo()}function By(oe){return Ce()===23?Ng():Ce()===19?HA():al(oe)}function YA(){return Tk(!0)}function Tk(oe){let De=Wr(),nt=Aa(),Et=By(Sr.Private_identifiers_are_not_allowed_in_variable_declarations),lr;oe&&Et.kind===80&&Ce()===54&&!t.hasPrecedingLineBreak()&&(lr=uu());let Kr=ah(),Gn=G4(Ce())?void 0:oc(),Qi=Nt(Et,lr,Kr,Gn);return mt(Or(Qi,De),nt)}function Iy(oe){let De=Wr(),nt=0;switch(Ce()){case 115:break;case 121:nt|=1;break;case 87:nt|=2;break;case 160:nt|=4;break;case 135:$n.assert(Lp()),nt|=6,hn();break;default:$n.fail()}hn();let Et;if(Ce()===165&&Nn(vO))Et=Ic();else{let lr=Bi();Zt(oe),Et=vR(8,oe?Tk:YA),Zt(lr)}return Or(lt(Et,nt),De)}function vO(){return T1()&&hn()===22}function pk(oe,De,nt){let Et=Iy(!1);f0();let lr=Ae(nt,Et);return mt(Or(lr,oe),De)}function KA(oe,De,nt){let Et=No(),lr=vA(nt);Tn(100);let Kr=S0(42),Gn=lr&2048?wy():al(),Qi=Kr?1:0,fi=lr&1024?2:0,si=wT();lr&32&&ln(!0);let Ui=K1(Qi|fi),Zs=Hl(59,!1),lo=e6(Qi|fi,Sr.or_expected);ln(Et);let qs=_.createFunctionDeclaration(nt,Kr,Gn,si,Ui,Zs,lo);return mt(Or(qs,oe),De)}function wg(){if(Ce()===137)return Tn(137);if(Ce()===11&&Nn(hn)===21)return vi(()=>{let oe=ei();return oe.text==="constructor"?oe:void 0})}function DO(oe,De,nt){return vi(()=>{if(wg()){let Et=wT(),lr=K1(0),Kr=Hl(59,!1),Gn=e6(0,Sr.or_expected),Qi=_.createConstructorDeclaration(nt,lr,Gn);return Qi.typeParameters=Et,Qi.type=Kr,mt(Or(Qi,oe),De)}})}function GA(oe,De,nt,Et,lr,Kr,Gn,Qi){let fi=Et?1:0,si=w7(nt,A9e)?2:0,Ui=wT(),Zs=K1(fi|si),lo=Hl(59,!1),qs=e6(fi|si,Qi),HT=_.createMethodDeclaration(nt,Et,lr,Kr,Ui,Zs,lo,qs);return HT.exclamationToken=Gn,mt(Or(HT,oe),De)}function VA(oe,De,nt,Et,lr){let Kr=!lr&&!t.hasPrecedingLineBreak()?S0(54):void 0,Gn=ah(),Qi=Mn(90112,oc);D2(Et,Gn,Qi);let fi=_.createPropertyDeclaration(nt,Et,lr||Kr,Gn,Qi);return mt(Or(fi,oe),De)}function _k(oe,De,nt){let Et=S0(42),lr=Fl(),Kr=S0(58);return Et||Ce()===21||Ce()===30?GA(oe,De,nt,Et,lr,Kr,void 0,Sr.or_expected):VA(oe,De,nt,lr,Kr)}function Z7(oe,De,nt,Et,lr){let Kr=Fl(),Gn=wT(),Qi=K1(0),fi=Hl(59,!1),si=e6(lr),Ui=Et===177?_.createGetAccessorDeclaration(nt,Kr,Qi,fi,si):_.createSetAccessorDeclaration(nt,Kr,Qi,si);return Ui.typeParameters=Gn,W9e(Ui)&&(Ui.type=fi),mt(Or(Ui,oe),De)}function n6(){let oe;if(Ce()===60)return!0;for(;Ew(Ce());){if(oe=Ce(),e3n(oe))return!0;hn()}if(Ce()===42||(Ul()&&(oe=Ce(),hn()),Ce()===23))return!0;if(oe!==void 0){if(!PW(oe)||oe===153||oe===139)return!0;switch(Ce()){case 21:case 30:case 54:case 59:case 64:case 58:return!0;default:return il()}}return!1}function hk(oe,De,nt){Wl(126);let Et=f5(),lr=mt(Or(_.createClassStaticBlockDeclaration(Et),oe),De);return lr.modifiers=nt,lr}function f5(){let oe=Ta(),De=No();dr(!1),ln(!0);let nt=J7(!1);return dr(oe),ln(De),nt}function d5(){if(No()&&Ce()===135){let oe=Wr(),De=I0(Sr.Expression_expected);hn();let nt=Z1(oe,De,!0);return ck(oe,nt)}return va()}function i6(){let oe=Wr();if(!Qs(60))return;let De=An(d5);return Or(_.createDecorator(De),oe)}function zp(oe,De,nt){let Et=Wr(),lr=Ce();if(Ce()===87&&De){if(!vi(Ax))return}else if(nt&&Ce()===126&&Nn(ZA)||oe&&Ce()===126||!Ia())return;return Or(S(lr),Et)}function Uu(oe,De,nt){let Et=Wr(),lr,Kr,Gn,Qi=!1,fi=!1,si=!1;if(oe&&Ce()===60)for(;Kr=i6();)lr=jC(lr,Kr);for(;Gn=zp(Qi,De,nt);)Gn.kind===126&&(Qi=!0),lr=jC(lr,Gn),fi=!0;if(fi&&oe&&Ce()===60)for(;Kr=i6();)lr=jC(lr,Kr),si=!0;if(si)for(;Gn=zp(Qi,De,nt);)Gn.kind===126&&(Qi=!0),lr=jC(lr,Gn);return lr&&y0(lr,Et)}function x5(){let oe;if(Ce()===134){let De=Wr();hn();let nt=Or(S(134),De);oe=y0([nt],De)}return oe}function Pg(){let oe=Wr(),De=Aa();if(Ce()===27)return hn(),mt(Or(_.createSemicolonClassElement(),oe),De);let nt=Uu(!0,!0,!0);if(Ce()===126&&Nn(ZA))return hk(oe,De,nt);if(uT(139))return Z7(oe,De,nt,177,0);if(uT(153))return Z7(oe,De,nt,178,0);if(Ce()===137||Ce()===11){let Et=DO(oe,De,nt);if(Et)return Et}if(jd())return Ip(oe,De,nt);if(M1(Ce())||Ce()===11||Ce()===9||Ce()===10||Ce()===42||Ce()===23)if(w7(nt,x_)){for(let Et of nt)Et.flags|=33554432;return li(33554432,()=>_k(oe,De,nt))}else return _k(oe,De,nt);if(nt){let Et=MR(80,!0,Sr.Declaration_expected);return VA(oe,De,nt,Et,void 0)}return $n.fail("Should not have attempted to parse class member declaration.")}function m5(){let oe=Wr(),De=Aa(),nt=Uu(!0);if(Ce()===86)return k5(oe,De,nt,231);let Et=MR(282,!0,Sr.Expression_expected);return M5t(Et,oe),Et.modifiers=nt,Et}function jA(){return k5(Wr(),Aa(),void 0,231)}function Bg(oe,De,nt){return k5(oe,De,nt,263)}function k5(oe,De,nt,Et){let lr=No();Tn(86);let Kr=Ig(),Gn=wT();w7(nt,ibn)&&ln(!0);let Qi=a6(),fi;Tn(19)?(fi=ch(),Tn(20)):fi=Ic(),ln(lr);let si=Et===263?_.createClassDeclaration(nt,Kr,Gn,Qi,fi):_.createClassExpression(nt,Kr,Gn,Qi,fi);return mt(Or(si,oe),De)}function Ig(){return oo()&&!Mg()?Bu(oo()):void 0}function Mg(){return Ce()===119&&Nn(Zm)}function a6(){if(s6())return nc(22,JA)}function JA(){let oe=Wr(),De=Ce();$n.assert(De===96||De===119),hn();let nt=vR(7,My);return Or(_.createHeritageClause(De,nt),oe)}function My(){let oe=Wr(),De=va();if(De.kind===233)return De;let nt=M2();return Or(_.createExpressionWithTypeArguments(De,nt),oe)}function M2(){return Ce()===30?J_(20,u0,30,32):void 0}function s6(){return Ce()===96||Ce()===119}function ch(){return nc(5,Pg)}function Ix(oe,De,nt){Tn(120);let Et=I0(),lr=wT(),Kr=a6(),Gn=eh(),Qi=_.createInterfaceDeclaration(nt,Et,lr,Kr,Gn);return mt(Or(Qi,oe),De)}function Wg(oe,De,nt){Tn(156),t.hasPrecedingLineBreak()&&Fa(Sr.Line_break_not_permitted_here);let Et=I0(),lr=wT();Tn(64);let Kr=Ce()===141&&vi(Sx)||u0();f0();let Gn=_.createTypeAliasDeclaration(nt,Et,lr,Kr);return mt(Or(Gn,oe),De)}function Ug(){let oe=Wr(),De=Aa(),nt=Fl(),Et=Pi(oc);return mt(Or(_.createEnumMember(nt,Et),oe),De)}function rx(oe,De,nt){Tn(94);let Et=I0(),lr;Tn(19)?(lr=bi(()=>vR(6,Ug)),Tn(20)):lr=Ic();let Kr=_.createEnumDeclaration(nt,Et,lr);return mt(Or(Kr,oe),De)}function zT(){let oe=Wr(),De;return Tn(19)?(De=nc(1,gu),Tn(20)):De=Ic(),Or(_.createModuleBlock(De),oe)}function np(oe,De,nt,Et){let lr=Et&32,Kr=Et&8?Iu():I0(),Gn=Qs(25)?np(Wr(),!1,void 0,8|lr):zT(),Qi=_.createModuleDeclaration(nt,Kr,Gn,Et);return mt(Or(Qi,oe),De)}function em(oe,De,nt){let Et=0,lr;Ce()===162?(lr=I0(),Et|=2048):(lr=ei(),lr.text=Ba(lr.text));let Kr;Ce()===19?Kr=zT():f0();let Gn=_.createModuleDeclaration(nt,lr,Kr,Et);return mt(Or(Gn,oe),De)}function XA(oe,De,nt){let Et=0;if(Ce()===162)return em(oe,De,nt);if(Qs(145))Et|=32;else if(Tn(144),Ce()===11)return em(oe,De,nt);return np(oe,De,nt,Et)}function SO(){return Ce()===149&&Nn(Fg)}function Fg(){return hn()===21}function ZA(){return hn()===19}function y5(){return hn()===44}function Lg(oe,De,nt){Tn(130),Tn(145);let Et=I0();f0();let lr=_.createNamespaceExportDeclaration(Et);return lr.modifiers=nt,mt(Or(lr,oe),De)}function zg(oe,De,nt){Tn(102);let Et=t.getTokenFullStart(),lr;_a()&&(lr=I0());let Kr=!1;if(lr?.escapedText==="type"&&(Ce()!==161||_a()&&Nn(LA))&&(_a()||_1())&&(Kr=!0,lr=_a()?I0():void 0),lr&&!Hp())return Yg(oe,De,nt,lr,Kr);let Gn=fk(lr,Et,Kr),Qi=o6(),fi=e3();f0();let si=_.createImportDeclaration(nt,Gn,Qi,fi);return mt(Or(si,oe),De)}function fk(oe,De,nt,Et=!1){let lr;return(oe||Ce()===42||Ce()===19)&&(lr=t3(oe,De,nt,Et),Tn(161)),lr}function e3(){let oe=Ce();if((oe===118||oe===132)&&!t.hasPrecedingLineBreak())return nx(oe)}function Hg(){let oe=Wr(),De=M1(Ce())?Iu():ho(11);Tn(59);let nt=Wc(!0);return Or(_.createImportAttribute(De,nt),oe)}function nx(oe,De){let nt=Wr();De||Tn(oe);let Et=t.getTokenStart();if(Tn(19)){let lr=t.hasPrecedingLineBreak(),Kr=vR(24,Hg,!0);if(!Tn(20)){let Gn=MX(ht);Gn&&Gn.code===Sr._0_expected.code&&y9e(Gn,ose(at,Ve,Et,1,Sr.The_parser_expected_to_find_a_1_to_match_the_0_token_here,"{","}"))}return Or(_.createImportAttributes(Kr,lr,oe),nt)}else{let lr=y0([],Wr(),void 0,!1);return Or(_.createImportAttributes(lr,!1,oe),nt)}}function _1(){return Ce()===42||Ce()===19}function Hp(){return Ce()===28||Ce()===161}function Yg(oe,De,nt,Et,lr){Tn(64);let Kr=Kg();f0();let Gn=_.createImportEqualsDeclaration(nt,lr,Et,Kr);return mt(Or(Gn,oe),De)}function t3(oe,De,nt,Et){let lr;return(!oe||Qs(28))&&(Et&&t.setSkipJsDocLeadingAsterisks(!0),lr=Ce()===42?Gg():ix(275),Et&&t.setSkipJsDocLeadingAsterisks(!1)),Or(_.createImportClause(nt,oe,lr),De)}function Kg(){return SO()?Wy():Q(!1)}function Wy(){let oe=Wr();Tn(149),Tn(21);let De=o6();return Tn(22),Or(_.createExternalModuleReference(De),oe)}function o6(){if(Ce()===11){let oe=ei();return oe.text=Ba(oe.text),oe}else return uR()}function Gg(){let oe=Wr();Tn(42),Tn(130);let De=I0();return Or(_.createNamespaceImport(De),oe)}function R6(){return M1(Ce())||Ce()===11}function Yp(oe){return Ce()===11?ei():oe()}function ix(oe){let De=Wr(),nt=oe===275?_.createNamedImports(J_(23,m_,19,20)):_.createNamedExports(J_(23,q5,19,20));return Or(nt,De)}function q5(){let oe=Aa();return mt(tm(281),oe)}function m_(){return tm(276)}function tm(oe){let De=Wr(),nt=PW(Ce())&&!_a(),Et=t.getTokenStart(),lr=t.getTokenEnd(),Kr=!1,Gn,Qi=!0,fi=Yp(Iu);if(fi.kind===80&&fi.escapedText==="type")if(Ce()===130){let Zs=Iu();if(Ce()===130){let lo=Iu();R6()?(Kr=!0,Gn=Zs,fi=Yp(Ui),Qi=!1):(Gn=fi,fi=lo,Qi=!1)}else R6()?(Gn=fi,Qi=!1,fi=Yp(Ui)):(Kr=!0,fi=Zs)}else R6()&&(Kr=!0,fi=Yp(Ui));Qi&&Ce()===130&&(Gn=fi,Tn(130),fi=Yp(Ui)),oe===276&&(fi.kind!==80?(D0(KD(Ve,fi.pos),fi.end,Sr.Identifier_expected),fi=WW(MR(80,!1),fi.pos,fi.pos)):nt&&D0(Et,lr,Sr.Identifier_expected));let si=oe===276?_.createImportSpecifier(Kr,Gn,fi):_.createExportSpecifier(Kr,Gn,fi);return Or(si,De);function Ui(){return nt=PW(Ce())&&!_a(),Et=t.getTokenStart(),lr=t.getTokenEnd(),Iu()}}function $O(oe){return Or(_.createNamespaceExport(Yp(Iu)),oe)}function uS(oe,De,nt){let Et=No();ln(!0);let lr,Kr,Gn,Qi=Qs(156),fi=Wr();Qs(42)?(Qs(130)&&(lr=$O(fi)),Tn(161),Kr=o6()):(lr=ix(279),(Ce()===161||Ce()===11&&!t.hasPrecedingLineBreak())&&(Tn(161),Kr=o6()));let si=Ce();Kr&&(si===118||si===132)&&!t.hasPrecedingLineBreak()&&(Gn=nx(si)),f0(),ln(Et);let Ui=_.createExportDeclaration(nt,Qi,lr,Kr,Gn);return mt(Or(Ui,oe),De)}function W2(oe,De,nt){let Et=No();ln(!0);let lr;Qs(64)?lr=!0:Tn(90);let Kr=Wc(!0);f0(),ln(Et);let Gn=_.createExportAssignment(nt,lr,Kr);return mt(Or(Gn,oe),De)}let hT;(oe=>{oe[oe.SourceElements=0]="SourceElements",oe[oe.BlockStatements=1]="BlockStatements",oe[oe.SwitchClauses=2]="SwitchClauses",oe[oe.SwitchClauseStatements=3]="SwitchClauseStatements",oe[oe.TypeMembers=4]="TypeMembers",oe[oe.ClassMembers=5]="ClassMembers",oe[oe.EnumMembers=6]="EnumMembers",oe[oe.HeritageClauseElement=7]="HeritageClauseElement",oe[oe.VariableDeclarations=8]="VariableDeclarations",oe[oe.ObjectBindingElements=9]="ObjectBindingElements",oe[oe.ArrayBindingElements=10]="ArrayBindingElements",oe[oe.ArgumentExpressions=11]="ArgumentExpressions",oe[oe.ObjectLiteralMembers=12]="ObjectLiteralMembers",oe[oe.JsxAttributes=13]="JsxAttributes",oe[oe.JsxChildren=14]="JsxChildren",oe[oe.ArrayLiteralMembers=15]="ArrayLiteralMembers",oe[oe.Parameters=16]="Parameters",oe[oe.JSDocParameters=17]="JSDocParameters",oe[oe.RestProperties=18]="RestProperties",oe[oe.TypeParameters=19]="TypeParameters",oe[oe.TypeArguments=20]="TypeArguments",oe[oe.TupleElementTypes=21]="TupleElementTypes",oe[oe.HeritageClauses=22]="HeritageClauses",oe[oe.ImportOrExportSpecifiers=23]="ImportOrExportSpecifiers",oe[oe.ImportAttributes=24]="ImportAttributes",oe[oe.JSDocComment=25]="JSDocComment",oe[oe.Count=26]="Count"})(hT||(hT={}));let ax;(oe=>{oe[oe.False=0]="False",oe[oe.True=1]="True",oe[oe.Unknown=2]="Unknown"})(ax||(ax={}));let r3;(oe=>{function De(si,Ui,Zs){Wi("file.js",si,99,void 0,1,0),t.setText(si,Ui,Zs),zr=t.scan();let lo=nt(),qs=Ct("file.js",99,1,!1,[],S(1),0,Cse),HT=SX(ht,qs);return He&&(qs.jsDocDiagnostics=SX(He,qs)),Fn(),lo?{jsDocTypeExpression:lo,diagnostics:HT}:void 0}oe.parseJSDocTypeExpressionForTests=De;function nt(si){let Ui=Wr(),Zs=(si?Qs:Tn)(19),lo=li(16777216,TT);(!si||Zs)&&Ru(20);let qs=_.createJSDocTypeExpression(lo);return Je(qs),Or(qs,Ui)}oe.parseJSDocTypeExpression=nt;function Et(){let si=Wr(),Ui=Qs(19),Zs=Wr(),lo=Q(!1);for(;Ce()===81;)IR(),ro(),lo=Or(_.createJSDocMemberName(lo,I0()),Zs);Ui&&Ru(20);let qs=_.createJSDocNameReference(lo);return Je(qs),Or(qs,si)}oe.parseJSDocNameReference=Et;function lr(si,Ui,Zs){Wi("",si,99,void 0,1,0);let lo=li(16777216,()=>fi(Ui,Zs)),qs=SX(ht,{languageVariant:0,text:si});return Fn(),lo?{jsDoc:lo,diagnostics:qs}:void 0}oe.parseIsolatedJSDocComment=lr;function Kr(si,Ui,Zs){let lo=zr,qs=ht.length,HT=Sn,ip=li(16777216,()=>fi(Ui,Zs));return g9t(ip,si),Zn&524288&&(He||(He=[]),XC(He,ht,qs)),zr=lo,ht.length=qs,Sn=HT,ip}oe.parseJSDocComment=Kr;let Gn;(si=>{si[si.BeginningOfLine=0]="BeginningOfLine",si[si.SawAsterisk=1]="SawAsterisk",si[si.SavingComments=2]="SavingComments",si[si.SavingBackticks=3]="SavingBackticks"})(Gn||(Gn={}));let Qi;(si=>{si[si.Property=1]="Property",si[si.Parameter=2]="Parameter",si[si.CallbackParameter=4]="CallbackParameter"})(Qi||(Qi={}));function fi(si=0,Ui){let Zs=Ve,lo=Ui===void 0?Zs.length:si+Ui;if(Ui=lo-si,$n.assert(si>=0),$n.assert(si<=lo),$n.assert(lo<=Zs.length),!qEn(Zs,si))return;let qs,HT,ip,ap,k_,YT=[],Mx=[],n3=Zr;Zr|=1<<25;let us=t.scanRange(si+3,Ui-5,Zo);return Zr=n3,us;function Zo(){let Fr=1,Qn,Yn=si-(Zs.lastIndexOf(` +`,si)+1)+4;function Ai(Hs){Qn||(Qn=Yn),YT.push(Hs),Yn+=Hs.length}for(ro();am(5););am(4)&&(Fr=0,Yn=0);e:for(;;){switch(Ce()){case 60:Th(YT),k_||(k_=Wr()),Yi(pn(Yn)),Fr=0,Qn=void 0;break;case 4:YT.push(t.getTokenText()),Fr=0,Yn=0;break;case 42:let Hs=t.getTokenText();Fr===1?(Fr=2,Ai(Hs)):($n.assert(Fr===0),Fr=1,Yn+=Hs.length);break;case 5:$n.assert(Fr!==2,"whitespace shouldn't come from the scanner while saving top-level comment text");let eR=t.getTokenText();Qn!==void 0&&Yn+eR.length>Qn&&YT.push(eR.slice(Qn-Yn)),Yn+=eR.length;break;case 1:break e;case 82:Fr=2,Ai(t.getTokenValue());break;case 19:Fr=2;let f1=t.getTokenFullStart(),ul=t.getTokenEnd()-1,ll=re(ul);if(ll){ap||Wx(YT),Mx.push(Or(_.createJSDocText(YT.join("")),ap??si,f1)),Mx.push(ll),YT=[],ap=t.getTokenEnd();break}default:Fr=2,Ai(t.getTokenText());break}Fr===2?Ml(!1):ro()}let gi=YT.join("").trimEnd();Mx.length&&gi.length&&Mx.push(Or(_.createJSDocText(gi),ap??si,k_)),Mx.length&&qs&&$n.assertIsDefined(k_,"having parsed tags implies that the end of the comment span should be set");let Cs=qs&&y0(qs,HT,ip);return Or(_.createJSDocComment(Mx.length?y0(Mx,si,k_):gi.length?gi:void 0,Cs),si,lo)}function Wx(Fr){for(;Fr.length&&(Fr[0]===` +`||Fr[0]==="\r");)Fr.shift()}function Th(Fr){for(;Fr.length;){let Qn=Fr[Fr.length-1].trimEnd();if(Qn==="")Fr.pop();else if(Qn.lengtheR&&(Ai.push(ph.slice(eR-Fr)),Hs=2),Fr+=ph.length;break;case 19:Hs=2;let dR=t.getTokenFullStart(),q0=t.getTokenEnd()-1,GT=re(q0);GT?(gi.push(Or(_.createJSDocText(Ai.join("")),Cs??Yn,dR)),gi.push(GT),Ai=[],Cs=t.getTokenEnd()):f1(t.getTokenText());break;case 62:Hs===3?Hs=2:Hs=3,f1(t.getTokenText());break;case 82:Hs!==3&&(Hs=2),f1(t.getTokenValue());break;case 42:if(Hs===0){Hs=1,Fr+=1;break}default:Hs!==3&&(Hs=2),f1(t.getTokenText());break}Hs===2||Hs===3?ul=Ml(Hs===3):ul=ro()}Wx(Ai);let ll=Ai.join("").trimEnd();if(gi.length)return ll.length&&gi.push(Or(_.createJSDocText(ll),Cs??Yn)),y0(gi,Yn,t.getTokenEnd());if(ll.length)return ll}function re(Fr){let Qn=vi(et);if(!Qn)return;ro(),M0();let Yn=de(),Ai=[];for(;Ce()!==20&&Ce()!==4&&Ce()!==1;)Ai.push(t.getTokenText()),ro();let gi=Qn==="link"?_.createJSDocLink:Qn==="linkcode"?_.createJSDocLinkCode:_.createJSDocLinkPlain;return Or(gi(Yn,Ai.join("")),Fr,t.getTokenEnd())}function de(){if(M1(Ce())){let Fr=Wr(),Qn=Iu();for(;Qs(25);)Qn=Or(_.createQualifiedName(Qn,Ce()===81?MR(80,!1):Iu()),Fr);for(;Ce()===81;)IR(),ro(),Qn=Or(_.createJSDocMemberName(Qn,I0()),Fr);return Qn}}function et(){if(Rl(),Ce()===19&&ro()===60&&M1(ro())){let Fr=t.getTokenValue();if(ur(Fr))return Fr}}function ur(Fr){return Fr==="link"||Fr==="linkcode"||Fr==="linkplain"}function vn(Fr,Qn,Yn,Ai){return Or(_.createJSDocUnknownTag(Qn,b(Fr,Wr(),Yn,Ai)),Fr)}function Yi(Fr){Fr&&(qs?qs.push(Fr):(qs=[Fr],HT=Fr.pos),ip=Fr.end)}function ls(){return Rl(),Ce()===19?nt():void 0}function Fu(){let Fr=am(23);Fr&&M0();let Qn=am(62),Yn=hS();return Qn&&S2(62),Fr&&(M0(),S0(64)&&uR(),Tn(24)),{name:Yn,isBracketed:Fr}}function Kp(Fr){switch(Fr.kind){case 151:return!0;case 188:return Kp(Fr.elementType);default:return MTr(Fr)&&Pu(Fr.typeName)&&Fr.typeName.escapedText==="Object"&&!Fr.typeArguments}}function h1(Fr,Qn,Yn,Ai){let gi=ls(),Cs=!gi;Rl();let{name:Hs,isBracketed:eR}=Fu(),f1=Rl();Cs&&!Nn(et)&&(gi=ls());let ul=b(Fr,Wr(),Ai,f1),ll=Ux(gi,Hs,Yn,Ai);ll&&(gi=ll,Cs=!0);let ph=Yn===1?_.createJSDocPropertyTag(Qn,Hs,eR,gi,Cs,ul):_.createJSDocParameterTag(Qn,Hs,eR,gi,Cs,ul);return Or(ph,Fr)}function Ux(Fr,Qn,Yn,Ai){if(Fr&&Kp(Fr.type)){let gi=Wr(),Cs,Hs;for(;Cs=vi(()=>Vg(Yn,Ai,Qn));)Cs.kind===341||Cs.kind===348?Hs=jC(Hs,Cs):Cs.kind===345&&_R(Cs.tagName,Sr.A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag);if(Hs){let eR=Or(_.createJSDocTypeLiteral(Hs,Fr.type.kind===188),gi);return Or(_.createJSDocTypeExpression(eR),gi)}}}function lS(Fr,Qn,Yn,Ai){w7(qs,oEn)&&D0(Qn.pos,t.getTokenStart(),Sr._0_tag_already_specified,mde(Qn.escapedText));let gi=ls();return Or(_.createJSDocReturnTag(Qn,gi,b(Fr,Wr(),Yn,Ai)),Fr)}function QO(Fr,Qn,Yn,Ai){w7(qs,D9t)&&D0(Qn.pos,t.getTokenStart(),Sr._0_tag_already_specified,mde(Qn.escapedText));let gi=nt(!0),Cs=Yn!==void 0&&Ai!==void 0?b(Fr,Wr(),Yn,Ai):void 0;return Or(_.createJSDocTypeTag(Qn,gi,Cs),Fr)}function Vw(Fr,Qn,Yn,Ai){let gi=Ce()===23||Nn(()=>ro()===60&&M1(ro())&&ur(t.getTokenValue()))?void 0:Et(),Cs=Yn!==void 0&&Ai!==void 0?b(Fr,Wr(),Yn,Ai):void 0;return Or(_.createJSDocSeeTag(Qn,gi,Cs),Fr)}function Uy(Fr,Qn,Yn,Ai){let gi=ls(),Cs=b(Fr,Wr(),Yn,Ai);return Or(_.createJSDocThrowsTag(Qn,gi,Cs),Fr)}function dk(Fr,Qn,Yn,Ai){let gi=Wr(),Cs=cS(),Hs=t.getTokenFullStart(),eR=b(Fr,Hs,Yn,Ai);eR||(Hs=t.getTokenFullStart());let f1=typeof eR!="string"?y0(r9t([Or(Cs,gi,Hs)],eR),gi):Cs.text+eR;return Or(_.createJSDocAuthorTag(Qn,f1),Fr)}function cS(){let Fr=[],Qn=!1,Yn=t.getToken();for(;Yn!==1&&Yn!==4;){if(Yn===30)Qn=!0;else{if(Yn===60&&!Qn)break;if(Yn===32&&Qn){Fr.push(t.getTokenText()),t.resetTokenState(t.getTokenEnd());break}}Fr.push(t.getTokenText()),Yn=ro()}return _.createJSDocText(Fr.join(""))}function jw(Fr,Qn,Yn,Ai){let gi=rm();return Or(_.createJSDocImplementsTag(Qn,gi,b(Fr,Wr(),Yn,Ai)),Fr)}function Jw(Fr,Qn,Yn,Ai){let gi=rm();return Or(_.createJSDocAugmentsTag(Qn,gi,b(Fr,Wr(),Yn,Ai)),Fr)}function TS(Fr,Qn,Yn,Ai){let gi=nt(!1),Cs=Yn!==void 0&&Ai!==void 0?b(Fr,Wr(),Yn,Ai):void 0;return Or(_.createJSDocSatisfiesTag(Qn,gi,Cs),Fr)}function xk(Fr,Qn,Yn,Ai){let gi=t.getTokenFullStart(),Cs;_a()&&(Cs=I0());let Hs=fk(Cs,gi,!0,!0),eR=o6(),f1=e3(),ul=Yn!==void 0&&Ai!==void 0?b(Fr,Wr(),Yn,Ai):void 0;return Or(_.createJSDocImportTag(Qn,Hs,eR,f1,ul),Fr)}function rm(){let Fr=Qs(19),Qn=Wr(),Yn=mk();t.setSkipJsDocLeadingAsterisks(!0);let Ai=M2();t.setSkipJsDocLeadingAsterisks(!1);let gi=_.createExpressionWithTypeArguments(Yn,Ai),Cs=Or(gi,Qn);return Fr&&Tn(20),Cs}function mk(){let Fr=Wr(),Qn=Ak();for(;Qs(25);){let Yn=Ak();Qn=Or(U(Qn,Yn),Fr)}return Qn}function y_(Fr,Qn,Yn,Ai,gi){return Or(Qn(Yn,b(Fr,Wr(),Ai,gi)),Fr)}function NO(Fr,Qn,Yn,Ai){let gi=nt(!0);return M0(),Or(_.createJSDocThisTag(Qn,gi,b(Fr,Wr(),Yn,Ai)),Fr)}function Xw(Fr,Qn,Yn,Ai){let gi=nt(!0);return M0(),Or(_.createJSDocEnumTag(Qn,gi,b(Fr,Wr(),Yn,Ai)),Fr)}function oU(Fr,Qn,Yn,Ai){let gi=ls();Rl();let Cs=nm();M0();let Hs=z(Yn),eR;if(!gi||Kp(gi.type)){let ul,ll,ph,dR=!1;for(;(ul=vi(()=>Ck(Yn)))&&ul.kind!==345;)if(dR=!0,ul.kind===344)if(ll){let q0=Fa(Sr.A_JSDoc_typedef_comment_may_not_contain_multiple_type_tags);q0&&y9e(q0,ose(at,Ve,0,0,Sr.The_tag_was_first_specified_here));break}else ll=ul;else ph=jC(ph,ul);if(dR){let q0=gi&&gi.type.kind===188,GT=_.createJSDocTypeLiteral(ph,q0);gi=ll&&ll.typeExpression&&!Kp(ll.typeExpression.type)?ll.typeExpression:Or(GT,Fr),eR=gi.end}}eR=eR||Hs!==void 0?Wr():(Cs??gi??Qn).end,Hs||(Hs=b(Fr,eR,Yn,Ai));let f1=_.createJSDocTypedefTag(Qn,gi,Cs,Hs);return Or(f1,Fr,eR)}function nm(Fr){let Qn=t.getTokenStart();if(!M1(Ce()))return;let Yn=Ak();if(Qs(25)){let Ai=nm(!0),gi=_.createModuleDeclaration(void 0,Yn,Ai,Fr?8:void 0);return Or(gi,Qn)}return Fr&&(Yn.flags|=4096),Yn}function kk(Fr){let Qn=Wr(),Yn,Ai;for(;Yn=vi(()=>Vg(4,Fr));){if(Yn.kind===345){_R(Yn.tagName,Sr.A_JSDoc_template_tag_may_not_follow_a_typedef_callback_or_overload_tag);break}Ai=jC(Ai,Yn)}return y0(Ai||[],Qn)}function im(Fr,Qn){let Yn=kk(Qn),Ai=vi(()=>{if(am(60)){let gi=pn(Qn);if(gi&&gi.kind===342)return gi}});return Or(_.createJSDocSignature(void 0,Yn,Ai),Fr)}function Gp(Fr,Qn,Yn,Ai){let gi=nm();M0();let Cs=z(Yn),Hs=im(Fr,Yn);Cs||(Cs=b(Fr,Wr(),Yn,Ai));let eR=Cs!==void 0?Wr():Hs.end;return Or(_.createJSDocCallbackTag(Qn,Hs,gi,Cs),Fr,eR)}function yk(Fr,Qn,Yn,Ai){M0();let gi=z(Yn),Cs=im(Fr,Yn);gi||(gi=b(Fr,Wr(),Yn,Ai));let Hs=gi!==void 0?Wr():Cs.end;return Or(_.createJSDocOverloadTag(Qn,Cs,gi),Fr,Hs)}function qk(Fr,Qn){for(;!Pu(Fr)||!Pu(Qn);)if(!Pu(Fr)&&!Pu(Qn)&&Fr.right.escapedText===Qn.right.escapedText)Fr=Fr.left,Qn=Qn.left;else return!1;return Fr.escapedText===Qn.escapedText}function Ck(Fr){return Vg(1,Fr)}function Vg(Fr,Qn,Yn){let Ai=!0,gi=!1;for(;;)switch(ro()){case 60:if(Ai){let Cs=pS(Fr,Qn);return Cs&&(Cs.kind===341||Cs.kind===348)&&Yn&&(Pu(Cs.name)||!qk(Yn,Cs.name.left))?!1:Cs}gi=!1;break;case 4:Ai=!0,gi=!1;break;case 42:gi&&(Ai=!1),gi=!0;break;case 80:Ai=!1;break;case 1:return!1}}function pS(Fr,Qn){$n.assert(Ce()===60);let Yn=t.getTokenFullStart();ro();let Ai=Ak(),gi=Rl(),Cs;switch(Ai.escapedText){case"type":return Fr===1&&QO(Yn,Ai);case"prop":case"property":Cs=1;break;case"arg":case"argument":case"param":Cs=6;break;case"template":return jg(Yn,Ai,Qn,gi);case"this":return NO(Yn,Ai,Qn,gi);default:return!1}return Fr&Cs?h1(Yn,Ai,Fr,Qn):!1}function wO(){let Fr=Wr(),Qn=am(23);Qn&&M0();let Yn=Uu(!1,!0),Ai=Ak(Sr.Unexpected_token_A_type_parameter_name_was_expected_without_curly_braces),gi;if(Qn&&(M0(),Tn(64),gi=li(16777216,TT),Tn(24)),!UX(Ai))return Or(_.createTypeParameterDeclaration(Yn,Ai,void 0,gi),Fr)}function _S(){let Fr=Wr(),Qn=[];do{M0();let Yn=wO();Yn!==void 0&&Qn.push(Yn),Rl()}while(am(28));return y0(Qn,Fr)}function jg(Fr,Qn,Yn,Ai){let gi=Ce()===19?nt():void 0,Cs=_S();return Or(_.createJSDocTemplateTag(Qn,gi,Cs,b(Fr,Wr(),Yn,Ai)),Fr)}function am(Fr){return Ce()===Fr?(ro(),!0):!1}function hS(){let Fr=Ak();for(Qs(23)&&Tn(24);Qs(25);){let Qn=Ak();Qs(23)&&Tn(24),Fr=C(Fr,Qn)}return Fr}function Ak(Fr){if(!M1(Ce()))return MR(80,!Fr,Fr||Sr.Identifier_expected);ri++;let Qn=t.getTokenStart(),Yn=t.getTokenEnd(),Ai=Ce(),gi=Ba(t.getTokenValue()),Cs=Or(A(gi,Ai),Qn,Yn);return ro(),Cs}}})(r3=e.JSDocParser||(e.JSDocParser={}))})(LX||(LX={}));ucr=new WeakSet;u1r=new WeakSet;(e=>{function t(x,y,A,D){if(D=D||$n.shouldAssert(2),_(x,y,A,D),bAn(A))return x;if(x.statements.length===0)return LX.parseSourceFile(x.fileName,y,x.languageVersion,void 0,!0,x.scriptKind,x.setExternalModuleIndicator,x.jsDocParsingMode);NEn(x),LX.fixupParentReferences(x);let S=x.text,P=f(x),M=c(x,A);_(x,y,M,D),$n.assert(M.span.start<=A.span.start),$n.assert(HD(M.span)===HD(A.span)),$n.assert(HD(nde(M))===HD(nde(A)));let U=nde(M).length-M.span.length;l(x,M.span.start,HD(M.span),HD(nde(M)),U,S,y,D);let w=LX.parseSourceFile(x.fileName,y,x.languageVersion,P,!0,x.scriptKind,x.setExternalModuleIndicator,x.jsDocParsingMode);return w.commentDirectives=r(x.commentDirectives,w.commentDirectives,M.span.start,HD(M.span),U,S,y,D),w.impliedNodeFormat=x.impliedNodeFormat,TEn(x,w),w}e.updateSourceFile=t;function r(x,y,A,D,S,P,M,U){if(!x)return y;let w,F=!1;for(let G of x){let{range:ee,type:fe}=G;if(ee.endD){H();let me={range:{pos:ee.pos+S,end:ee.end+S},type:fe};w=jC(w,me),U&&$n.assert(P.substring(ee.pos,ee.end)===M.substring(me.range.pos,me.range.end))}}return H(),w;function H(){F||(F=!0,w?y&&w.push(...y):w=y)}}function n(x,y,A,D,S,P,M){A?w(x):U(x);return;function U(F){let H="";if(M&&i(F)&&(H=S.substring(F.pos,F.end)),Mlr(F,y),WW(F,F.pos+D,F.end+D),M&&i(F)&&$n.assert(H===P.substring(F.pos,F.end)),Vm(F,U,w),WX(F))for(let G of F.jsDoc)U(G);R(F,M)}function w(F){WW(F,F.pos+D,F.end+D);for(let H of F)U(H)}}function i(x){switch(x.kind){case 11:case 9:case 80:return!0}return!1}function s(x,y,A,D,S){$n.assert(x.end>=y,"Adjusting an element that was entirely before the change range"),$n.assert(x.pos<=A,"Adjusting an element that was entirely after the change range"),$n.assert(x.pos<=x.end);let P=Math.min(x.pos,D),M=x.end>=A?x.end+S:Math.min(x.end,D);if($n.assert(P<=M),x.parent){let U=x.parent;$n.assertGreaterThanOrEqual(P,U.pos),$n.assertLessThanOrEqual(M,U.end)}WW(x,P,M)}function R(x,y){if(y){let A=x.pos,D=S=>{$n.assert(S.pos>=A),A=S.end};if(WX(x))for(let S of x.jsDoc)D(S);Vm(x,D),$n.assert(A<=x.end)}}function l(x,y,A,D,S,P,M,U){w(x);return;function w(H){if($n.assert(H.pos<=H.end),H.pos>A){n(H,x,!1,S,P,M,U);return}let G=H.end;if(G>=y){if(H5t(H),Mlr(H,x),s(H,y,A,D,S),Vm(H,w,F),WX(H))for(let ee of H.jsDoc)w(ee);R(H,U);return}$n.assert(GA){n(H,x,!0,S,P,M,U);return}let G=H.end;if(G>=y){H5t(H),s(H,y,A,D,S);for(let ee of H)w(ee);return}$n.assert(G0&&P<=1;P++){let M=h(x,A);$n.assert(M.pos<=A);let U=M.pos;A=Math.max(0,U-1)}let D=gAn(A,HD(y.span)),S=y.newLength+(y.span.start-A);return iTr(D,S)}function h(x,y){let A=x,D;if(Vm(x,P),D){let M=S(D);M.pos>A.pos&&(A=M)}return A;function S(M){for(;;){let U=hgn(M);if(U)M=U;else return M}}function P(M){if(!UX(M))if(M.pos<=y){if(M.pos>=A.pos&&(A=M),yy),!0}}function _(x,y,A,D){let S=x.text;if(A&&($n.assert(S.length-A.span.length+A.newLength===y.length),D||$n.shouldAssert(3))){let P=S.substr(0,A.span.start),M=y.substr(0,A.span.start);$n.assert(P===M);let U=S.substring(HD(A.span),S.length),w=y.substring(HD(nde(A)),y.length);$n.assert(U===w)}}function f(x){let y=x.statements,A=0;$n.assert(A=F.pos&&M=F.pos&&M{x[x.Value=-1]="Value"})(m||(m={}))})(F9e||(F9e={}));b5t=new Map;FEn=/^\/\/\/\s*<(\S+)\s.*?\/>/m,LEn=/^\/\/\/?\s*@([^\s:]+)((?:[^\S\r\n]|:).*)?$/m;fde=T9t(s9t.Latest,!0);Q9t=class{constructor(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.modifierFlagsCache=0,this.transformFlags=0,this.parent=void 0,this.original=void 0,this.emitNode=void 0}assertHasRealPosition(e){$n.assert(!Cde(this.pos)&&!Cde(this.end),e||"Node must have a real position for this operation")}getSourceFile(){return MW(this)}getStart(e,t){return this.assertHasRealPosition(),P9e(this,e,t)}getFullStart(){return this.assertHasRealPosition(),this.pos}getEnd(){return this.assertHasRealPosition(),this.end}getWidth(e){return this.assertHasRealPosition(),this.getEnd()-this.getStart(e)}getFullWidth(){return this.assertHasRealPosition(),this.end-this.pos}getLeadingTriviaWidth(e){return this.assertHasRealPosition(),this.getStart(e)-this.pos}getFullText(e){return this.assertHasRealPosition(),(e||this.getSourceFile()).text.substring(this.pos,this.end)}getText(e){return this.assertHasRealPosition(),e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())}getChildCount(e){return this.getChildren(e).length}getChildAt(e,t){return this.getChildren(t)[e]}getChildren(e=MW(this)){return this.assertHasRealPosition("Node without a real position cannot be scanned and thus has no token nodes - use forEachChild and collect the result if that's fine"),i1r(this,e)??cEn(this,e,YEn(this,e))}getFirstToken(e){this.assertHasRealPosition();let t=this.getChildren(e);if(!t.length)return;let r=Ocr(t,n=>n.kind<309||n.kind>351);return r.kind<166?r:r.getFirstToken(e)}getLastToken(e){this.assertHasRealPosition();let t=this.getChildren(e),r=MX(t);if(r)return r.kind<166?r:r.getLastToken(e)}forEachChild(e,t){return Vm(this,e,t)}};N9t=class{constructor(e,t,r){this.pos=t,this.end=r,this.kind=e,this.id=0,this.flags=0,this.transformFlags=0,this.parent=void 0,this.emitNode=void 0}getSourceFile(){return MW(this)}getStart(e,t){return P9e(this,e,t)}getFullStart(){return this.pos}getEnd(){return this.end}getWidth(e){return this.getEnd()-this.getStart(e)}getFullWidth(){return this.end-this.pos}getLeadingTriviaWidth(e){return this.getStart(e)-this.pos}getFullText(e){return(e||this.getSourceFile()).text.substring(this.pos,this.end)}getText(e){return e||(e=this.getSourceFile()),e.text.substring(this.getStart(e),this.getEnd())}getChildCount(){return this.getChildren().length}getChildAt(e){return this.getChildren()[e]}getChildren(){return this.kind===1&&this.jsDoc||vp}getFirstToken(){}getLastToken(){}forEachChild(){}},GEn=class{constructor(e,t){this.flags=e,this.escapedName=t,this.declarations=void 0,this.valueDeclaration=void 0,this.id=0,this.mergeId=0,this.parent=void 0,this.members=void 0,this.exports=void 0,this.exportSymbol=void 0,this.constEnumOnlyModule=void 0,this.isReferenced=void 0,this.lastAssignmentPos=void 0,this.links=void 0}getFlags(){return this.flags}get name(){return w5t(this)}getEscapedName(){return this.escapedName}getName(){return this.name}getDeclarations(){return this.declarations}getDocumentationComment(e){if(!this.documentationComment)if(this.documentationComment=vp,!this.declarations&&Clr(this)&&this.links.target&&Clr(this.links.target)&&this.links.target.links.tupleLabelDeclaration){let t=this.links.target.links.tupleLabelDeclaration;this.documentationComment=hde([t],e)}else this.documentationComment=hde(this.declarations,e);return this.documentationComment}getContextualDocumentationComment(e,t){if(e){if(k9e(e)&&(this.contextualGetAccessorDocumentationComment||(this.contextualGetAccessorDocumentationComment=vp,this.contextualGetAccessorDocumentationComment=hde(vw(this.declarations,k9e),t)),ude(this.contextualGetAccessorDocumentationComment)))return this.contextualGetAccessorDocumentationComment;if(m9e(e)&&(this.contextualSetAccessorDocumentationComment||(this.contextualSetAccessorDocumentationComment=vp,this.contextualSetAccessorDocumentationComment=hde(vw(this.declarations,m9e),t)),ude(this.contextualSetAccessorDocumentationComment)))return this.contextualSetAccessorDocumentationComment}return this.getDocumentationComment(t)}getJsDocTags(e){return this.tags===void 0&&(this.tags=vp,this.tags=v9e(this.declarations,e)),this.tags}getContextualJsDocTags(e,t){if(e){if(k9e(e)&&(this.contextualGetAccessorTags||(this.contextualGetAccessorTags=vp,this.contextualGetAccessorTags=v9e(vw(this.declarations,k9e),t)),ude(this.contextualGetAccessorTags)))return this.contextualGetAccessorTags;if(m9e(e)&&(this.contextualSetAccessorTags||(this.contextualSetAccessorTags=vp,this.contextualSetAccessorTags=v9e(vw(this.declarations,m9e),t)),ude(this.contextualSetAccessorTags)))return this.contextualSetAccessorTags}return this.getJsDocTags(t)}},c1r=class extends N9t{constructor(e,t,r){super(e,t,r)}},T1r=class extends N9t{constructor(e,t,r){super(e,t,r)}get text(){return ZC(this)}},p1r=class extends N9t{constructor(e,t,r){super(e,t,r)}get text(){return ZC(this)}},VEn=class{constructor(e,t){this.flags=t,this.checker=e}getFlags(){return this.flags}getSymbol(){return this.symbol}getProperties(){return this.checker.getPropertiesOfType(this)}getProperty(e){return this.checker.getPropertyOfType(this,e)}getApparentProperties(){return this.checker.getAugmentedPropertiesOfType(this)}getCallSignatures(){return this.checker.getSignaturesOfType(this,0)}getConstructSignatures(){return this.checker.getSignaturesOfType(this,1)}getStringIndexType(){return this.checker.getIndexTypeOfType(this,0)}getNumberIndexType(){return this.checker.getIndexTypeOfType(this,1)}getBaseTypes(){return this.isClassOrInterface()?this.checker.getBaseTypes(this):void 0}isNullableType(){return this.checker.isNullableType(this)}getNonNullableType(){return this.checker.getNonNullableType(this)}getNonOptionalType(){return this.checker.getNonOptionalType(this)}getConstraint(){return this.checker.getBaseConstraintOfType(this)}getDefault(){return this.checker.getDefaultFromTypeParameter(this)}isUnion(){return!!(this.flags&1048576)}isIntersection(){return!!(this.flags&2097152)}isUnionOrIntersection(){return!!(this.flags&3145728)}isLiteral(){return!!(this.flags&2432)}isStringLiteral(){return!!(this.flags&128)}isNumberLiteral(){return!!(this.flags&256)}isTypeParameter(){return!!(this.flags&262144)}isClassOrInterface(){return!!(q5t(this)&3)}isClass(){return!!(q5t(this)&1)}isIndexType(){return!!(this.flags&4194304)}get typeArguments(){if(q5t(this)&4)return this.checker.getTypeArguments(this)}},jEn=class{constructor(e,t){this.flags=t,this.checker=e}getDeclaration(){return this.declaration}getTypeParameters(){return this.typeParameters}getParameters(){return this.parameters}getReturnType(){return this.checker.getReturnTypeOfSignature(this)}getTypeParameterAtPosition(e){let t=this.checker.getParameterType(this,e);if(t.isIndexType()&&Ugn(t.type)){let r=t.type.getConstraint();if(r)return this.checker.getIndexType(r)}return t}getDocumentationComment(){return this.documentationComment||(this.documentationComment=hde(S5t(this.declaration),this.checker))}getJsDocTags(){return this.jsDocTags||(this.jsDocTags=v9e(S5t(this.declaration),this.checker))}};JEn=class extends Q9t{constructor(e,t,r){super(e,t,r)}update(e,t){return QEn(this,e,t)}getLineAndCharacterOfPosition(e){return Xcr(this,e)}getLineStarts(){return Q5t(this)}getPositionOfLineAndCharacter(e,t,r){return pAn(Q5t(this),e,t,this.text,r)}getLineEndOfPosition(e){let{line:t}=this.getLineAndCharacterOfPosition(e),r=this.getLineStarts(),n;t+1>=r.length&&(n=this.getEnd()),n||(n=r[t+1]-1);let i=this.getFullText();return i[n]===` +`&&i[n-1]==="\r"?n-1:n}getNamedDeclarations(){return this.namedDeclarations||(this.namedDeclarations=this.computeNamedDeclarations()),this.namedDeclarations}computeNamedDeclarations(){let e=E9n();return this.forEachChild(i),e;function t(s){let R=n(s);R&&e.add(R,s)}function r(s){let R=e.get(s);return R||e.set(s,R=[]),R}function n(s){let R=_9t(s);return R&&(wTr(R)&&FW(R.expression)?R.expression.name.text:_Tr(R)?getNameFromPropertyName(R):void 0)}function i(s){switch(s.kind){case 262:case 218:case 174:case 173:let R=s,l=n(R);if(l){let _=r(l),f=MX(_);f&&R.parent===f.parent&&R.symbol===f.symbol?R.body&&!f.body&&(_[_.length-1]=R):_.push(R)}Vm(s,i);break;case 263:case 231:case 264:case 265:case 266:case 267:case 271:case 281:case 276:case 273:case 274:case 177:case 178:case 187:t(s),Vm(s,i);break;case 169:if(!bde(s,31))break;case 260:case 208:{let _=s;if(o3n(_.name)){Vm(_.name,i);break}_.initializer&&i(_.initializer)}case 306:case 172:case 171:t(s);break;case 278:let c=s;c.exportClause&&(Lbn(c.exportClause)?SA(c.exportClause.elements,i):i(c.exportClause.name));break;case 272:let h=s.importClause;h&&(h.name&&t(h.name),h.namedBindings&&(h.namedBindings.kind===274?t(h.namedBindings):SA(h.namedBindings.elements,i)));break;case 226:m9t(s)!==0&&t(s);default:Vm(s,i)}}}},XEn=class{constructor(e,t,r){this.fileName=e,this.text=t,this.skipTrivia=r||(n=>n)}getLineAndCharacterOfPosition(e){return Xcr(this,e)}};eOn=["getSemanticDiagnostics","getSuggestionDiagnostics","getCompilerOptionsDiagnostics","getSemanticClassifications","getEncodedSemanticClassifications","getCodeFixesAtPosition","getCombinedCodeFix","applyCodeActionCommand","organizeImports","getEditsForFileRename","getEmitOutput","getApplicableRefactors","getEditsForRefactor","prepareCallHierarchy","provideCallHierarchyIncomingCalls","provideCallHierarchyOutgoingCalls","provideInlayHints","getSupportedCodeFixes","getPasteEdits"],xdi=[...eOn,"getCompletionsAtPosition","getCompletionEntryDetails","getCompletionEntrySymbol","getSignatureHelpItems","getQuickInfoAtPosition","getDefinitionAtPosition","getDefinitionAndBoundSpan","getImplementationAtPosition","getTypeDefinitionAtPosition","getReferencesAtPosition","findReferences","getDocumentHighlights","getNavigateToItems","getRenameInfo","findRenameLocations","getApplicableRefactors","preparePasteEditsForFile"];Agn(ZEn());f1r=new Proxy({},{get:()=>!0}),d1r=f1r["4.8"];tOn={},x1r=new Proxy({},{get:(e,t)=>t}),rOn=x1r,nOn=x1r,Yr=rOn,N7=nOn,m1r=f1r["5.0"],ka=Io,iOn=new Set([ka.AmpersandAmpersandToken,ka.BarBarToken,ka.QuestionQuestionToken]),aOn=new Set([Io.AmpersandAmpersandEqualsToken,Io.AmpersandEqualsToken,Io.AsteriskAsteriskEqualsToken,Io.AsteriskEqualsToken,Io.BarBarEqualsToken,Io.BarEqualsToken,Io.CaretEqualsToken,Io.EqualsToken,Io.GreaterThanGreaterThanEqualsToken,Io.GreaterThanGreaterThanGreaterThanEqualsToken,Io.LessThanLessThanEqualsToken,Io.MinusEqualsToken,Io.PercentEqualsToken,Io.PlusEqualsToken,Io.QuestionQuestionEqualsToken,Io.SlashEqualsToken]),sOn=new Set([ka.AmpersandAmpersandToken,ka.AmpersandToken,ka.AsteriskAsteriskToken,ka.AsteriskToken,ka.BarBarToken,ka.BarToken,ka.CaretToken,ka.EqualsEqualsEqualsToken,ka.EqualsEqualsToken,ka.ExclamationEqualsEqualsToken,ka.ExclamationEqualsToken,ka.GreaterThanEqualsToken,ka.GreaterThanGreaterThanGreaterThanToken,ka.GreaterThanGreaterThanToken,ka.GreaterThanToken,ka.InKeyword,ka.InstanceOfKeyword,ka.LessThanEqualsToken,ka.LessThanLessThanToken,ka.LessThanToken,ka.MinusToken,ka.PercentToken,ka.PlusToken,ka.SlashToken]);AOn=class extends Error{fileName;location;constructor(e,t,r){super(e),this.fileName=t,this.location=r,Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:new.target.name})}get index(){return this.location.start.offset}get lineNumber(){return this.location.start.line}get column(){return this.location.start.column}};Yt=Io;IOn=class{constructor(e,t){R9n(this,Ga),tde(this,"allowPattern",!1),tde(this,"ast"),tde(this,"esTreeNodeToTSNodeMap",new WeakMap),tde(this,"options"),tde(this,"tsNodeToESTreeNodeMap",new WeakMap),this.ast=e,this.options={...t}}assertModuleSpecifier(e,t){var r;!t&&e.moduleSpecifier==null&&rs(this,Ga,O2).call(this,e,"Module specifier must be a string literal."),e.moduleSpecifier&&((r=e.moduleSpecifier)==null?void 0:r.kind)!==Yt.StringLiteral&&rs(this,Ga,O2).call(this,e.moduleSpecifier,"Module specifier must be a string literal.")}convertBindingNameWithTypeAnnotation(e,t,r){let n=this.convertPattern(e);return t&&(n.typeAnnotation=this.convertTypeAnnotation(t,r),this.fixParentLocation(n,n.typeAnnotation.range)),n}convertBodyExpressions(e,t){let r=fOn(t);return e.map(n=>{let i=this.convertChild(n);if(r){if(i!=null&&i.expression&&YTr(n)&&H9e(n.expression)){let s=i.expression.raw;return i.directive=s.slice(1,-1),i}r=!1}return i}).filter(n=>n)}convertChainExpression(e,t){let{child:r,isOptional:n}=e.type===Yr.MemberExpression?{child:e.object,isOptional:e.optional}:e.type===Yr.CallExpression?{child:e.callee,isOptional:e.optional}:{child:e.expression,isOptional:!1},i=kOn(t,r);if(!i&&!n)return e;if(i&&y1r(r)){let s=r.expression;e.type===Yr.MemberExpression?e.object=s:e.type===Yr.CallExpression?e.callee=s:e.expression=s}return this.createNode(t,{type:Yr.ChainExpression,expression:e})}convertChild(e,t){return this.converter(e,t,!1)}convertPattern(e,t){return this.converter(e,t,!0)}convertTypeAnnotation(e,t){let r=t?.kind===Yt.FunctionType||t?.kind===Yt.ConstructorType?2:1,n=[e.getFullStart()-r,e.end],i=BX(n,this.ast);return{type:Yr.TSTypeAnnotation,loc:i,range:n,typeAnnotation:this.convertChild(e)}}convertTypeArgumentsToTypeParameterInstantiation(e,t){let r=Rse(e,this.ast,this.ast);return this.createNode(t,{type:Yr.TSTypeParameterInstantiation,range:[e.pos-1,r.end],params:e.map(n=>this.convertChild(n))})}convertTSTypeParametersToTypeParametersDeclaration(e){let t=Rse(e,this.ast,this.ast),r=[e.pos-1,t.end];return{type:Yr.TSTypeParameterDeclaration,loc:BX(r,this.ast),range:r,params:e.map(n=>this.convertChild(n))}}convertParameters(e){return e!=null&&e.length?e.map(t=>{var r;let n=this.convertChild(t);return n.decorators=((r=_se(t))==null?void 0:r.map(i=>this.convertChild(i)))??[],n}):[]}converter(e,t,r){if(!e)return null;rs(this,Ga,A1r).call(this,e);let n=this.allowPattern;r!==void 0&&(this.allowPattern=r);let i=this.convertNode(e,t??e.parent);return this.registerTSNodeInNodeMap(e,i),this.allowPattern=n,i}convertImportAttributes(e){return e===void 0?[]:e.elements.map(t=>this.convertChild(t))}convertJSXIdentifier(e){let t=this.createNode(e,{type:Yr.JSXIdentifier,name:e.getText()});return this.registerTSNodeInNodeMap(e,t),t}convertJSXNamespaceOrIdentifier(e){if(e.kind===Io.JsxNamespacedName){let n=this.createNode(e,{type:Yr.JSXNamespacedName,name:this.createNode(e.name,{type:Yr.JSXIdentifier,name:e.name.text}),namespace:this.createNode(e.namespace,{type:Yr.JSXIdentifier,name:e.namespace.text})});return this.registerTSNodeInNodeMap(e,n),n}let t=e.getText(),r=t.indexOf(":");if(r>0){let n=sde(e,this.ast),i=this.createNode(e,{type:Yr.JSXNamespacedName,range:n,name:this.createNode(e,{type:Yr.JSXIdentifier,range:[n[0]+r+1,n[1]],name:t.slice(r+1)}),namespace:this.createNode(e,{type:Yr.JSXIdentifier,range:[n[0],n[0]+r],name:t.slice(0,r)})});return this.registerTSNodeInNodeMap(e,i),i}return this.convertJSXIdentifier(e)}convertJSXTagName(e,t){let r;switch(e.kind){case Yt.PropertyAccessExpression:e.name.kind===Yt.PrivateIdentifier&&rs(this,Ga,Jo).call(this,e.name,"Non-private identifier expected."),r=this.createNode(e,{type:Yr.JSXMemberExpression,object:this.convertJSXTagName(e.expression,t),property:this.convertJSXIdentifier(e.name)});break;case Yt.ThisKeyword:case Yt.Identifier:default:return this.convertJSXNamespaceOrIdentifier(e)}return this.registerTSNodeInNodeMap(e,r),r}convertMethodSignature(e){return this.createNode(e,{type:Yr.TSMethodSignature,accessibility:NX(e),computed:use(e.name),key:this.convertChild(e.name),kind:(()=>{switch(e.kind){case Yt.GetAccessor:return"get";case Yt.SetAccessor:return"set";case Yt.MethodSignature:return"method"}})(),optional:Tcr(e),params:this.convertParameters(e.parameters),readonly:oR(Yt.ReadonlyKeyword,e),returnType:e.type&&this.convertTypeAnnotation(e.type,e),static:oR(Yt.StaticKeyword,e),typeParameters:e.typeParameters&&this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)})}fixParentLocation(e,t){t[0]e.range[1]&&(e.range[1]=t[1],e.loc.end=D9e(e.range[1],this.ast))}convertNode(e,t){var r,n,i,s,R,l,c,h;switch(e.kind){case Yt.SourceFile:return this.createNode(e,{type:Yr.Program,range:[e.getStart(this.ast),e.endOfFileToken.end],body:this.convertBodyExpressions(e.statements,e),comments:void 0,sourceType:e.externalModuleIndicator?"module":"script",tokens:void 0});case Yt.Block:return this.createNode(e,{type:Yr.BlockStatement,body:this.convertBodyExpressions(e.statements,e)});case Yt.Identifier:return vOn(e)?this.createNode(e,{type:Yr.ThisExpression}):this.createNode(e,{type:Yr.Identifier,decorators:[],name:e.text,optional:!1,typeAnnotation:void 0});case Yt.PrivateIdentifier:return this.createNode(e,{type:Yr.PrivateIdentifier,name:e.text.slice(1)});case Yt.WithStatement:return this.createNode(e,{type:Yr.WithStatement,body:this.convertChild(e.statement),object:this.convertChild(e.expression)});case Yt.ReturnStatement:return this.createNode(e,{type:Yr.ReturnStatement,argument:this.convertChild(e.expression)});case Yt.LabeledStatement:return this.createNode(e,{type:Yr.LabeledStatement,body:this.convertChild(e.statement),label:this.convertChild(e.label)});case Yt.ContinueStatement:return this.createNode(e,{type:Yr.ContinueStatement,label:this.convertChild(e.label)});case Yt.BreakStatement:return this.createNode(e,{type:Yr.BreakStatement,label:this.convertChild(e.label)});case Yt.IfStatement:return this.createNode(e,{type:Yr.IfStatement,alternate:this.convertChild(e.elseStatement),consequent:this.convertChild(e.thenStatement),test:this.convertChild(e.expression)});case Yt.SwitchStatement:return e.caseBlock.clauses.filter(_=>_.kind===Yt.DefaultClause).length>1&&rs(this,Ga,Jo).call(this,e,"A 'default' clause cannot appear more than once in a 'switch' statement."),this.createNode(e,{type:Yr.SwitchStatement,cases:e.caseBlock.clauses.map(_=>this.convertChild(_)),discriminant:this.convertChild(e.expression)});case Yt.CaseClause:case Yt.DefaultClause:return this.createNode(e,{type:Yr.SwitchCase,consequent:e.statements.map(_=>this.convertChild(_)),test:e.kind===Yt.CaseClause?this.convertChild(e.expression):null});case Yt.ThrowStatement:return e.expression.end===e.expression.pos&&rs(this,Ga,O2).call(this,e,"A throw statement must throw an expression."),this.createNode(e,{type:Yr.ThrowStatement,argument:this.convertChild(e.expression)});case Yt.TryStatement:return this.createNode(e,{type:Yr.TryStatement,block:this.convertChild(e.tryBlock),finalizer:this.convertChild(e.finallyBlock),handler:this.convertChild(e.catchClause)});case Yt.CatchClause:return(r=e.variableDeclaration)!=null&&r.initializer&&rs(this,Ga,Jo).call(this,e.variableDeclaration.initializer,"Catch clause variable cannot have an initializer."),this.createNode(e,{type:Yr.CatchClause,body:this.convertChild(e.block),param:e.variableDeclaration?this.convertBindingNameWithTypeAnnotation(e.variableDeclaration.name,e.variableDeclaration.type):null});case Yt.WhileStatement:return this.createNode(e,{type:Yr.WhileStatement,body:this.convertChild(e.statement),test:this.convertChild(e.expression)});case Yt.DoStatement:return this.createNode(e,{type:Yr.DoWhileStatement,body:this.convertChild(e.statement),test:this.convertChild(e.expression)});case Yt.ForStatement:return this.createNode(e,{type:Yr.ForStatement,body:this.convertChild(e.statement),init:this.convertChild(e.initializer),test:this.convertChild(e.condition),update:this.convertChild(e.incrementor)});case Yt.ForInStatement:return rs(this,Ga,K5t).call(this,e.initializer,e.kind),this.createNode(e,{type:Yr.ForInStatement,body:this.convertChild(e.statement),left:this.convertPattern(e.initializer),right:this.convertChild(e.expression)});case Yt.ForOfStatement:return rs(this,Ga,K5t).call(this,e.initializer,e.kind),this.createNode(e,{type:Yr.ForOfStatement,await:!!(e.awaitModifier&&e.awaitModifier.kind===Yt.AwaitKeyword),body:this.convertChild(e.statement),left:this.convertPattern(e.initializer),right:this.convertChild(e.expression)});case Yt.FunctionDeclaration:{let _=oR(Yt.DeclareKeyword,e),f=oR(Yt.AsyncKeyword,e),m=!!e.asteriskToken;_?e.body?rs(this,Ga,Jo).call(this,e,"An implementation cannot be declared in ambient contexts."):f?rs(this,Ga,Jo).call(this,e,"'async' modifier cannot be used in an ambient context."):m&&rs(this,Ga,Jo).call(this,e,"Generators are not allowed in an ambient context."):!e.body&&m&&rs(this,Ga,Jo).call(this,e,"A function signature cannot be declared as a generator.");let x=this.createNode(e,{type:e.body?Yr.FunctionDeclaration:Yr.TSDeclareFunction,async:f,body:this.convertChild(e.body)||void 0,declare:_,expression:!1,generator:m,id:this.convertChild(e.name),params:this.convertParameters(e.parameters),returnType:e.type&&this.convertTypeAnnotation(e.type,e),typeParameters:e.typeParameters&&this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)});return this.fixExports(e,x)}case Yt.VariableDeclaration:{let _=!!e.exclamationToken,f=this.convertChild(e.initializer),m=this.convertBindingNameWithTypeAnnotation(e.name,e.type,e);return _&&(f?rs(this,Ga,Jo).call(this,e,"Declarations with initializers cannot also have definite assignment assertions."):(m.type!==Yr.Identifier||!m.typeAnnotation)&&rs(this,Ga,Jo).call(this,e,"Declarations with definite assignment assertions must also have type annotations.")),this.createNode(e,{type:Yr.VariableDeclarator,definite:_,id:m,init:f})}case Yt.VariableStatement:{let _=this.createNode(e,{type:Yr.VariableDeclaration,declarations:e.declarationList.declarations.map(f=>this.convertChild(f)),declare:oR(Yt.DeclareKeyword,e),kind:Y5t(e.declarationList)});return _.declarations.length||rs(this,Ga,O2).call(this,e,"A variable declaration list must have at least one variable declarator."),(_.kind==="using"||_.kind==="await using")&&e.declarationList.declarations.forEach((f,m)=>{_.declarations[m].init==null&&rs(this,Ga,Jo).call(this,f,`'${_.kind}' declarations must be initialized.`),_.declarations[m].id.type!==Yr.Identifier&&rs(this,Ga,Jo).call(this,f.name,`'${_.kind}' declarations may not have binding patterns.`)}),(_.declare||["await using","const","using"].includes(_.kind))&&e.declarationList.declarations.forEach((f,m)=>{_.declarations[m].definite&&rs(this,Ga,Jo).call(this,f,"A definite assignment assertion '!' is not permitted in this context.")}),_.declare&&e.declarationList.declarations.forEach((f,m)=>{_.declarations[m].init&&(["let","var"].includes(_.kind)||_.declarations[m].id.typeAnnotation)&&rs(this,Ga,Jo).call(this,f,"Initializers are not permitted in ambient contexts.")}),this.fixExports(e,_)}case Yt.VariableDeclarationList:{let _=this.createNode(e,{type:Yr.VariableDeclaration,declarations:e.declarations.map(f=>this.convertChild(f)),declare:!1,kind:Y5t(e)});return(_.kind==="using"||_.kind==="await using")&&e.declarations.forEach((f,m)=>{_.declarations[m].init!=null&&rs(this,Ga,Jo).call(this,f,`'${_.kind}' declarations may not be initialized in for statement.`),_.declarations[m].id.type!==Yr.Identifier&&rs(this,Ga,Jo).call(this,f.name,`'${_.kind}' declarations may not have binding patterns.`)}),_}case Yt.ExpressionStatement:return this.createNode(e,{type:Yr.ExpressionStatement,directive:void 0,expression:this.convertChild(e.expression)});case Yt.ThisKeyword:return this.createNode(e,{type:Yr.ThisExpression});case Yt.ArrayLiteralExpression:return this.allowPattern?this.createNode(e,{type:Yr.ArrayPattern,decorators:[],elements:e.elements.map(_=>this.convertPattern(_)),optional:!1,typeAnnotation:void 0}):this.createNode(e,{type:Yr.ArrayExpression,elements:e.elements.map(_=>this.convertChild(_))});case Yt.ObjectLiteralExpression:{if(this.allowPattern)return this.createNode(e,{type:Yr.ObjectPattern,decorators:[],optional:!1,properties:e.properties.map(f=>this.convertPattern(f)),typeAnnotation:void 0});let _=[];for(let f of e.properties)(f.kind===Yt.GetAccessor||f.kind===Yt.SetAccessor||f.kind===Yt.MethodDeclaration)&&!f.body&&rs(this,Ga,O2).call(this,f.end-1,"'{' expected."),_.push(this.convertChild(f));return this.createNode(e,{type:Yr.ObjectExpression,properties:_})}case Yt.PropertyAssignment:{let{exclamationToken:_,questionToken:f}=e;return f&&rs(this,Ga,Jo).call(this,f,"A property assignment cannot have a question token."),_&&rs(this,Ga,Jo).call(this,_,"A property assignment cannot have an exclamation token."),this.createNode(e,{type:Yr.Property,computed:use(e.name),key:this.convertChild(e.name),kind:"init",method:!1,optional:!1,shorthand:!1,value:this.converter(e.initializer,e,this.allowPattern)})}case Yt.ShorthandPropertyAssignment:{let{exclamationToken:_,modifiers:f,questionToken:m}=e;return f&&rs(this,Ga,Jo).call(this,f[0],"A shorthand property assignment cannot have modifiers."),m&&rs(this,Ga,Jo).call(this,m,"A shorthand property assignment cannot have a question token."),_&&rs(this,Ga,Jo).call(this,_,"A shorthand property assignment cannot have an exclamation token."),e.objectAssignmentInitializer?this.createNode(e,{type:Yr.Property,computed:!1,key:this.convertChild(e.name),kind:"init",method:!1,optional:!1,shorthand:!0,value:this.createNode(e,{type:Yr.AssignmentPattern,decorators:[],left:this.convertPattern(e.name),optional:!1,right:this.convertChild(e.objectAssignmentInitializer),typeAnnotation:void 0})}):this.createNode(e,{type:Yr.Property,computed:!1,key:this.convertChild(e.name),kind:"init",method:!1,optional:!1,shorthand:!0,value:this.convertChild(e.name)})}case Yt.ComputedPropertyName:return this.convertChild(e.expression);case Yt.PropertyDeclaration:{let _=oR(Yt.AbstractKeyword,e);_&&e.initializer&&rs(this,Ga,Jo).call(this,e.initializer,"Abstract property cannot have an initializer.");let f=oR(Yt.AccessorKeyword,e),m=f?_?Yr.TSAbstractAccessorProperty:Yr.AccessorProperty:_?Yr.TSAbstractPropertyDefinition:Yr.PropertyDefinition,x=this.convertChild(e.name);return this.createNode(e,{type:m,accessibility:NX(e),computed:use(e.name),declare:oR(Yt.DeclareKeyword,e),decorators:((n=_se(e))==null?void 0:n.map(y=>this.convertChild(y)))??[],definite:!!e.exclamationToken,key:x,optional:(x.type===Yr.Literal||e.name.kind===Yt.Identifier||e.name.kind===Yt.ComputedPropertyName||e.name.kind===Yt.PrivateIdentifier)&&!!e.questionToken,override:oR(Yt.OverrideKeyword,e),readonly:oR(Yt.ReadonlyKeyword,e),static:oR(Yt.StaticKeyword,e),typeAnnotation:e.type&&this.convertTypeAnnotation(e.type,e),value:_?null:this.convertChild(e.initializer)})}case Yt.GetAccessor:case Yt.SetAccessor:if(e.parent.kind===Yt.InterfaceDeclaration||e.parent.kind===Yt.TypeLiteral)return this.convertMethodSignature(e);case Yt.MethodDeclaration:{let _=this.createNode(e,{type:e.body?Yr.FunctionExpression:Yr.TSEmptyBodyFunctionExpression,range:[e.parameters.pos-1,e.end],async:oR(Yt.AsyncKeyword,e),body:this.convertChild(e.body),declare:!1,expression:!1,generator:!!e.asteriskToken,id:null,params:[],returnType:e.type&&this.convertTypeAnnotation(e.type,e),typeParameters:e.typeParameters&&this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)});_.typeParameters&&this.fixParentLocation(_,_.typeParameters.range);let f;if(t.kind===Yt.ObjectLiteralExpression)_.params=e.parameters.map(m=>this.convertChild(m)),f=this.createNode(e,{type:Yr.Property,computed:use(e.name),key:this.convertChild(e.name),kind:"init",method:e.kind===Yt.MethodDeclaration,optional:!!e.questionToken,shorthand:!1,value:_});else{_.params=this.convertParameters(e.parameters);let m=oR(Yt.AbstractKeyword,e)?Yr.TSAbstractMethodDefinition:Yr.MethodDefinition;f=this.createNode(e,{type:m,accessibility:NX(e),computed:use(e.name),decorators:((i=_se(e))==null?void 0:i.map(x=>this.convertChild(x)))??[],key:this.convertChild(e.name),kind:"method",optional:!!e.questionToken,override:oR(Yt.OverrideKeyword,e),static:oR(Yt.StaticKeyword,e),value:_})}return e.kind===Yt.GetAccessor?f.kind="get":e.kind===Yt.SetAccessor?f.kind="set":!f.static&&e.name.kind===Yt.StringLiteral&&e.name.text==="constructor"&&f.type!==Yr.Property&&(f.kind="constructor"),f}case Yt.Constructor:{let _=cOn(e),f=(_&&Rse(_,e,this.ast))??e.getFirstToken(),m=this.createNode(e,{type:e.body?Yr.FunctionExpression:Yr.TSEmptyBodyFunctionExpression,range:[e.parameters.pos-1,e.end],async:!1,body:this.convertChild(e.body),declare:!1,expression:!1,generator:!1,id:null,params:this.convertParameters(e.parameters),returnType:e.type&&this.convertTypeAnnotation(e.type,e),typeParameters:e.typeParameters&&this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)});m.typeParameters&&this.fixParentLocation(m,m.typeParameters.range);let x=this.createNode(e,{type:Yr.Identifier,range:[f.getStart(this.ast),f.end],decorators:[],name:"constructor",optional:!1,typeAnnotation:void 0}),y=oR(Yt.StaticKeyword,e);return this.createNode(e,{type:oR(Yt.AbstractKeyword,e)?Yr.TSAbstractMethodDefinition:Yr.MethodDefinition,accessibility:NX(e),computed:!1,decorators:[],key:x,kind:y?"method":"constructor",optional:!1,override:!1,static:y,value:m})}case Yt.FunctionExpression:return this.createNode(e,{type:Yr.FunctionExpression,async:oR(Yt.AsyncKeyword,e),body:this.convertChild(e.body),declare:!1,expression:!1,generator:!!e.asteriskToken,id:this.convertChild(e.name),params:this.convertParameters(e.parameters),returnType:e.type&&this.convertTypeAnnotation(e.type,e),typeParameters:e.typeParameters&&this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)});case Yt.SuperKeyword:return this.createNode(e,{type:Yr.Super});case Yt.ArrayBindingPattern:return this.createNode(e,{type:Yr.ArrayPattern,decorators:[],elements:e.elements.map(_=>this.convertPattern(_)),optional:!1,typeAnnotation:void 0});case Yt.OmittedExpression:return null;case Yt.ObjectBindingPattern:return this.createNode(e,{type:Yr.ObjectPattern,decorators:[],optional:!1,properties:e.elements.map(_=>this.convertPattern(_)),typeAnnotation:void 0});case Yt.BindingElement:{if(t.kind===Yt.ArrayBindingPattern){let f=this.convertChild(e.name,t);return e.initializer?this.createNode(e,{type:Yr.AssignmentPattern,decorators:[],left:f,optional:!1,right:this.convertChild(e.initializer),typeAnnotation:void 0}):e.dotDotDotToken?this.createNode(e,{type:Yr.RestElement,argument:f,decorators:[],optional:!1,typeAnnotation:void 0,value:void 0}):f}let _;return e.dotDotDotToken?_=this.createNode(e,{type:Yr.RestElement,argument:this.convertChild(e.propertyName??e.name),decorators:[],optional:!1,typeAnnotation:void 0,value:void 0}):_=this.createNode(e,{type:Yr.Property,computed:!!(e.propertyName&&e.propertyName.kind===Yt.ComputedPropertyName),key:this.convertChild(e.propertyName??e.name),kind:"init",method:!1,optional:!1,shorthand:!e.propertyName,value:this.convertChild(e.name)}),e.initializer&&(_.value=this.createNode(e,{type:Yr.AssignmentPattern,range:[e.name.getStart(this.ast),e.initializer.end],decorators:[],left:this.convertChild(e.name),optional:!1,right:this.convertChild(e.initializer),typeAnnotation:void 0})),_}case Yt.ArrowFunction:return this.createNode(e,{type:Yr.ArrowFunctionExpression,async:oR(Yt.AsyncKeyword,e),body:this.convertChild(e.body),expression:e.body.kind!==Yt.Block,generator:!1,id:null,params:this.convertParameters(e.parameters),returnType:e.type&&this.convertTypeAnnotation(e.type,e),typeParameters:e.typeParameters&&this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)});case Yt.YieldExpression:return this.createNode(e,{type:Yr.YieldExpression,argument:this.convertChild(e.expression),delegate:!!e.asteriskToken});case Yt.AwaitExpression:return this.createNode(e,{type:Yr.AwaitExpression,argument:this.convertChild(e.expression)});case Yt.NoSubstitutionTemplateLiteral:return this.createNode(e,{type:Yr.TemplateLiteral,expressions:[],quasis:[this.createNode(e,{type:Yr.TemplateElement,tail:!0,value:{cooked:e.text,raw:this.ast.text.slice(e.getStart(this.ast)+1,e.end-1)}})]});case Yt.TemplateExpression:{let _=this.createNode(e,{type:Yr.TemplateLiteral,expressions:[],quasis:[this.convertChild(e.head)]});return e.templateSpans.forEach(f=>{_.expressions.push(this.convertChild(f.expression)),_.quasis.push(this.convertChild(f.literal))}),_}case Yt.TaggedTemplateExpression:return this.createNode(e,{type:Yr.TaggedTemplateExpression,quasi:this.convertChild(e.template),tag:this.convertChild(e.tag),typeArguments:e.typeArguments&&this.convertTypeArgumentsToTypeParameterInstantiation(e.typeArguments,e)});case Yt.TemplateHead:case Yt.TemplateMiddle:case Yt.TemplateTail:{let _=e.kind===Yt.TemplateTail;return this.createNode(e,{type:Yr.TemplateElement,tail:_,value:{cooked:e.text,raw:this.ast.text.slice(e.getStart(this.ast)+1,e.end-(_?1:2))}})}case Yt.SpreadAssignment:case Yt.SpreadElement:return this.allowPattern?this.createNode(e,{type:Yr.RestElement,argument:this.convertPattern(e.expression),decorators:[],optional:!1,typeAnnotation:void 0,value:void 0}):this.createNode(e,{type:Yr.SpreadElement,argument:this.convertChild(e.expression)});case Yt.Parameter:{let _,f;return e.dotDotDotToken?_=f=this.createNode(e,{type:Yr.RestElement,argument:this.convertChild(e.name),decorators:[],optional:!1,typeAnnotation:void 0,value:void 0}):e.initializer?(_=this.convertChild(e.name),f=this.createNode(e,{type:Yr.AssignmentPattern,decorators:[],left:_,optional:!1,right:this.convertChild(e.initializer),typeAnnotation:void 0}),jD(e)&&(f.range[0]=_.range[0],f.loc=BX(f.range,this.ast))):_=f=this.convertChild(e.name,t),e.type&&(_.typeAnnotation=this.convertTypeAnnotation(e.type,e),this.fixParentLocation(_,_.typeAnnotation.range)),e.questionToken&&(e.questionToken.end>_.range[1]&&(_.range[1]=e.questionToken.end,_.loc.end=D9e(_.range[1],this.ast)),_.optional=!0),jD(e)?this.createNode(e,{type:Yr.TSParameterProperty,accessibility:NX(e),decorators:[],override:oR(Yt.OverrideKeyword,e),parameter:f,readonly:oR(Yt.ReadonlyKeyword,e),static:oR(Yt.StaticKeyword,e)}):f}case Yt.ClassDeclaration:!e.name&&(!oR(Io.ExportKeyword,e)||!oR(Io.DefaultKeyword,e))&&rs(this,Ga,O2).call(this,e,"A class declaration without the 'default' modifier must have a name.");case Yt.ClassExpression:{let _=e.heritageClauses??[],f=e.kind===Yt.ClassDeclaration?Yr.ClassDeclaration:Yr.ClassExpression,m,x;for(let A of _){let{token:D,types:S}=A;S.length===0&&rs(this,Ga,O2).call(this,A,`'${Qc(D)}' list cannot be empty.`),D===Yt.ExtendsKeyword?(m&&rs(this,Ga,O2).call(this,A,"'extends' clause already seen."),x&&rs(this,Ga,O2).call(this,A,"'extends' clause must precede 'implements' clause."),S.length>1&&rs(this,Ga,O2).call(this,S[1],"Classes can only extend a single class."),m??(m=A)):D===Yt.ImplementsKeyword&&(x&&rs(this,Ga,O2).call(this,A,"'implements' clause already seen."),x??(x=A))}let y=this.createNode(e,{type:f,abstract:oR(Yt.AbstractKeyword,e),body:this.createNode(e,{type:Yr.ClassBody,range:[e.members.pos-1,e.end],body:e.members.filter(lOn).map(A=>this.convertChild(A))}),declare:oR(Yt.DeclareKeyword,e),decorators:((s=_se(e))==null?void 0:s.map(A=>this.convertChild(A)))??[],id:this.convertChild(e.name),implements:x?.types.map(A=>this.convertChild(A))??[],superClass:m!=null&&m.types[0]?this.convertChild(m.types[0].expression):null,superTypeArguments:void 0,typeParameters:e.typeParameters&&this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)});return(R=m?.types[0])!=null&&R.typeArguments&&(y.superTypeArguments=this.convertTypeArgumentsToTypeParameterInstantiation(m.types[0].typeArguments,m.types[0])),this.fixExports(e,y)}case Yt.ModuleBlock:return this.createNode(e,{type:Yr.TSModuleBlock,body:this.convertBodyExpressions(e.statements,e)});case Yt.ImportDeclaration:{this.assertModuleSpecifier(e,!1);let _=this.createNode(e,rs(this,Ga,hse).call(this,{type:Yr.ImportDeclaration,attributes:this.convertImportAttributes(e.attributes??e.assertClause),importKind:"value",source:this.convertChild(e.moduleSpecifier),specifiers:[]},"assertions","attributes",!0));if(e.importClause&&(e.importClause.isTypeOnly&&(_.importKind="type"),e.importClause.name&&_.specifiers.push(this.convertChild(e.importClause)),e.importClause.namedBindings))switch(e.importClause.namedBindings.kind){case Yt.NamespaceImport:_.specifiers.push(this.convertChild(e.importClause.namedBindings));break;case Yt.NamedImports:_.specifiers.push(...e.importClause.namedBindings.elements.map(f=>this.convertChild(f)));break}return _}case Yt.NamespaceImport:return this.createNode(e,{type:Yr.ImportNamespaceSpecifier,local:this.convertChild(e.name)});case Yt.ImportSpecifier:return this.createNode(e,{type:Yr.ImportSpecifier,imported:this.convertChild(e.propertyName??e.name),importKind:e.isTypeOnly?"type":"value",local:this.convertChild(e.name)});case Yt.ImportClause:{let _=this.convertChild(e.name);return this.createNode(e,{type:Yr.ImportDefaultSpecifier,range:_.range,local:_})}case Yt.ExportDeclaration:return((l=e.exportClause)==null?void 0:l.kind)===Yt.NamedExports?(this.assertModuleSpecifier(e,!0),this.createNode(e,rs(this,Ga,hse).call(this,{type:Yr.ExportNamedDeclaration,attributes:this.convertImportAttributes(e.attributes??e.assertClause),declaration:null,exportKind:e.isTypeOnly?"type":"value",source:this.convertChild(e.moduleSpecifier),specifiers:e.exportClause.elements.map(_=>this.convertChild(_,e))},"assertions","attributes",!0))):(this.assertModuleSpecifier(e,!1),this.createNode(e,rs(this,Ga,hse).call(this,{type:Yr.ExportAllDeclaration,attributes:this.convertImportAttributes(e.attributes??e.assertClause),exported:((c=e.exportClause)==null?void 0:c.kind)===Yt.NamespaceExport?this.convertChild(e.exportClause.name):null,exportKind:e.isTypeOnly?"type":"value",source:this.convertChild(e.moduleSpecifier)},"assertions","attributes",!0)));case Yt.ExportSpecifier:{let _=e.propertyName??e.name;return _.kind===Yt.StringLiteral&&t.kind===Yt.ExportDeclaration&&((h=t.moduleSpecifier)==null?void 0:h.kind)!==Yt.StringLiteral&&rs(this,Ga,Jo).call(this,_,"A string literal cannot be used as a local exported binding without `from`."),this.createNode(e,{type:Yr.ExportSpecifier,exported:this.convertChild(e.name),exportKind:e.isTypeOnly?"type":"value",local:this.convertChild(_)})}case Yt.ExportAssignment:return e.isExportEquals?this.createNode(e,{type:Yr.TSExportAssignment,expression:this.convertChild(e.expression)}):this.createNode(e,{type:Yr.ExportDefaultDeclaration,declaration:this.convertChild(e.expression),exportKind:"value"});case Yt.PrefixUnaryExpression:case Yt.PostfixUnaryExpression:{let _=IW(e.operator);return _==="++"||_==="--"?(w9t(e.operand)||rs(this,Ga,O2).call(this,e.operand,"Invalid left-hand side expression in unary operation"),this.createNode(e,{type:Yr.UpdateExpression,argument:this.convertChild(e.operand),operator:_,prefix:e.kind===Yt.PrefixUnaryExpression})):this.createNode(e,{type:Yr.UnaryExpression,argument:this.convertChild(e.operand),operator:_,prefix:e.kind===Yt.PrefixUnaryExpression})}case Yt.DeleteExpression:return this.createNode(e,{type:Yr.UnaryExpression,argument:this.convertChild(e.expression),operator:"delete",prefix:!0});case Yt.VoidExpression:return this.createNode(e,{type:Yr.UnaryExpression,argument:this.convertChild(e.expression),operator:"void",prefix:!0});case Yt.TypeOfExpression:return this.createNode(e,{type:Yr.UnaryExpression,argument:this.convertChild(e.expression),operator:"typeof",prefix:!0});case Yt.TypeOperator:return this.createNode(e,{type:Yr.TSTypeOperator,operator:IW(e.operator),typeAnnotation:this.convertChild(e.type)});case Yt.BinaryExpression:{if(TOn(e.operatorToken)){let f=this.createNode(e,{type:Yr.SequenceExpression,expressions:[]}),m=this.convertChild(e.left);return m.type===Yr.SequenceExpression&&e.left.kind!==Yt.ParenthesizedExpression?f.expressions.push(...m.expressions):f.expressions.push(m),f.expressions.push(this.convertChild(e.right)),f}let _=hOn(e.operatorToken);return this.allowPattern&&_.type===Yr.AssignmentExpression?this.createNode(e,{type:Yr.AssignmentPattern,decorators:[],left:this.convertPattern(e.left,e),optional:!1,right:this.convertChild(e.right),typeAnnotation:void 0}):this.createNode(e,{..._,left:this.converter(e.left,e,_.type===Yr.AssignmentExpression),right:this.convertChild(e.right)})}case Yt.PropertyAccessExpression:{let _=this.convertChild(e.expression),f=this.convertChild(e.name),m=this.createNode(e,{type:Yr.MemberExpression,computed:!1,object:_,optional:e.questionDotToken!==void 0,property:f});return this.convertChainExpression(m,e)}case Yt.ElementAccessExpression:{let _=this.convertChild(e.expression),f=this.convertChild(e.argumentExpression),m=this.createNode(e,{type:Yr.MemberExpression,computed:!0,object:_,optional:e.questionDotToken!==void 0,property:f});return this.convertChainExpression(m,e)}case Yt.CallExpression:{if(e.expression.kind===Yt.ImportKeyword)return e.arguments.length!==1&&e.arguments.length!==2&&rs(this,Ga,O2).call(this,e.arguments[2]??e,"Dynamic import requires exactly one or two arguments."),this.createNode(e,rs(this,Ga,hse).call(this,{type:Yr.ImportExpression,options:e.arguments[1]?this.convertChild(e.arguments[1]):null,source:this.convertChild(e.arguments[0])},"attributes","options",!0));let _=this.convertChild(e.expression),f=e.arguments.map(y=>this.convertChild(y)),m=e.typeArguments&&this.convertTypeArgumentsToTypeParameterInstantiation(e.typeArguments,e),x=this.createNode(e,{type:Yr.CallExpression,arguments:f,callee:_,optional:e.questionDotToken!==void 0,typeArguments:m});return this.convertChainExpression(x,e)}case Yt.NewExpression:{let _=e.typeArguments&&this.convertTypeArgumentsToTypeParameterInstantiation(e.typeArguments,e);return this.createNode(e,{type:Yr.NewExpression,arguments:e.arguments?e.arguments.map(f=>this.convertChild(f)):[],callee:this.convertChild(e.expression),typeArguments:_})}case Yt.ConditionalExpression:return this.createNode(e,{type:Yr.ConditionalExpression,alternate:this.convertChild(e.whenFalse),consequent:this.convertChild(e.whenTrue),test:this.convertChild(e.condition)});case Yt.MetaProperty:return this.createNode(e,{type:Yr.MetaProperty,meta:this.createNode(e.getFirstToken(),{type:Yr.Identifier,decorators:[],name:IW(e.keywordToken),optional:!1,typeAnnotation:void 0}),property:this.convertChild(e.name)});case Yt.Decorator:return this.createNode(e,{type:Yr.Decorator,expression:this.convertChild(e.expression)});case Yt.StringLiteral:return this.createNode(e,{type:Yr.Literal,raw:e.getText(),value:t.kind===Yt.JsxAttribute?ccr(e.text):e.text});case Yt.NumericLiteral:return this.createNode(e,{type:Yr.Literal,raw:e.getText(),value:Number(e.text)});case Yt.BigIntLiteral:{let _=sde(e,this.ast),f=this.ast.text.slice(_[0],_[1]),m=fse(!1,f.slice(0,-1),"_",""),x=typeof BigInt<"u"?BigInt(m):null;return this.createNode(e,{type:Yr.Literal,range:_,bigint:x==null?m:String(x),raw:f,value:x})}case Yt.RegularExpressionLiteral:{let _=e.text.slice(1,e.text.lastIndexOf("/")),f=e.text.slice(e.text.lastIndexOf("/")+1),m=null;try{m=new RegExp(_,f)}catch{}return this.createNode(e,{type:Yr.Literal,raw:e.text,regex:{flags:f,pattern:_},value:m})}case Yt.TrueKeyword:return this.createNode(e,{type:Yr.Literal,raw:"true",value:!0});case Yt.FalseKeyword:return this.createNode(e,{type:Yr.Literal,raw:"false",value:!1});case Yt.NullKeyword:return this.createNode(e,{type:Yr.Literal,raw:"null",value:null});case Yt.EmptyStatement:return this.createNode(e,{type:Yr.EmptyStatement});case Yt.DebuggerStatement:return this.createNode(e,{type:Yr.DebuggerStatement});case Yt.JsxElement:return this.createNode(e,{type:Yr.JSXElement,children:e.children.map(_=>this.convertChild(_)),closingElement:this.convertChild(e.closingElement),openingElement:this.convertChild(e.openingElement)});case Yt.JsxFragment:return this.createNode(e,{type:Yr.JSXFragment,children:e.children.map(_=>this.convertChild(_)),closingFragment:this.convertChild(e.closingFragment),openingFragment:this.convertChild(e.openingFragment)});case Yt.JsxSelfClosingElement:return this.createNode(e,{type:Yr.JSXElement,children:[],closingElement:null,openingElement:this.createNode(e,{type:Yr.JSXOpeningElement,range:sde(e,this.ast),attributes:e.attributes.properties.map(_=>this.convertChild(_)),name:this.convertJSXTagName(e.tagName,e),selfClosing:!0,typeArguments:e.typeArguments?this.convertTypeArgumentsToTypeParameterInstantiation(e.typeArguments,e):void 0})});case Yt.JsxOpeningElement:return this.createNode(e,{type:Yr.JSXOpeningElement,attributes:e.attributes.properties.map(_=>this.convertChild(_)),name:this.convertJSXTagName(e.tagName,e),selfClosing:!1,typeArguments:e.typeArguments&&this.convertTypeArgumentsToTypeParameterInstantiation(e.typeArguments,e)});case Yt.JsxClosingElement:return this.createNode(e,{type:Yr.JSXClosingElement,name:this.convertJSXTagName(e.tagName,e)});case Yt.JsxOpeningFragment:return this.createNode(e,{type:Yr.JSXOpeningFragment});case Yt.JsxClosingFragment:return this.createNode(e,{type:Yr.JSXClosingFragment});case Yt.JsxExpression:{let _=e.expression?this.convertChild(e.expression):this.createNode(e,{type:Yr.JSXEmptyExpression,range:[e.getStart(this.ast)+1,e.getEnd()-1]});return e.dotDotDotToken?this.createNode(e,{type:Yr.JSXSpreadChild,expression:_}):this.createNode(e,{type:Yr.JSXExpressionContainer,expression:_})}case Yt.JsxAttribute:return this.createNode(e,{type:Yr.JSXAttribute,name:this.convertJSXNamespaceOrIdentifier(e.name),value:this.convertChild(e.initializer)});case Yt.JsxText:{let _=e.getFullStart(),f=e.getEnd(),m=this.ast.text.slice(_,f);return this.createNode(e,{type:Yr.JSXText,range:[_,f],raw:m,value:ccr(m)})}case Yt.JsxSpreadAttribute:return this.createNode(e,{type:Yr.JSXSpreadAttribute,argument:this.convertChild(e.expression)});case Yt.QualifiedName:return this.createNode(e,{type:Yr.TSQualifiedName,left:this.convertChild(e.left),right:this.convertChild(e.right)});case Yt.TypeReference:return this.createNode(e,{type:Yr.TSTypeReference,typeArguments:e.typeArguments&&this.convertTypeArgumentsToTypeParameterInstantiation(e.typeArguments,e),typeName:this.convertChild(e.typeName)});case Yt.TypeParameter:return this.createNode(e,{type:Yr.TSTypeParameter,const:oR(Yt.ConstKeyword,e),constraint:e.constraint&&this.convertChild(e.constraint),default:e.default?this.convertChild(e.default):void 0,in:oR(Yt.InKeyword,e),name:this.convertChild(e.name),out:oR(Yt.OutKeyword,e)});case Yt.ThisType:return this.createNode(e,{type:Yr.TSThisType});case Yt.AnyKeyword:case Yt.BigIntKeyword:case Yt.BooleanKeyword:case Yt.NeverKeyword:case Yt.NumberKeyword:case Yt.ObjectKeyword:case Yt.StringKeyword:case Yt.SymbolKeyword:case Yt.UnknownKeyword:case Yt.VoidKeyword:case Yt.UndefinedKeyword:case Yt.IntrinsicKeyword:return this.createNode(e,{type:Yr[`TS${Yt[e.kind]}`]});case Yt.NonNullExpression:{let _=this.createNode(e,{type:Yr.TSNonNullExpression,expression:this.convertChild(e.expression)});return this.convertChainExpression(_,e)}case Yt.TypeLiteral:return this.createNode(e,{type:Yr.TSTypeLiteral,members:e.members.map(_=>this.convertChild(_))});case Yt.ArrayType:return this.createNode(e,{type:Yr.TSArrayType,elementType:this.convertChild(e.elementType)});case Yt.IndexedAccessType:return this.createNode(e,{type:Yr.TSIndexedAccessType,indexType:this.convertChild(e.indexType),objectType:this.convertChild(e.objectType)});case Yt.ConditionalType:return this.createNode(e,{type:Yr.TSConditionalType,checkType:this.convertChild(e.checkType),extendsType:this.convertChild(e.extendsType),falseType:this.convertChild(e.falseType),trueType:this.convertChild(e.trueType)});case Yt.TypeQuery:return this.createNode(e,{type:Yr.TSTypeQuery,exprName:this.convertChild(e.exprName),typeArguments:e.typeArguments&&this.convertTypeArgumentsToTypeParameterInstantiation(e.typeArguments,e)});case Yt.MappedType:return e.members&&e.members.length>0&&rs(this,Ga,O2).call(this,e.members[0],"A mapped type may not declare properties or methods."),this.createNode(e,rs(this,Ga,G5t).call(this,{type:Yr.TSMappedType,constraint:this.convertChild(e.typeParameter.constraint),key:this.convertChild(e.typeParameter.name),nameType:this.convertChild(e.nameType)??null,optional:e.questionToken&&(e.questionToken.kind===Yt.QuestionToken||IW(e.questionToken.kind)),readonly:e.readonlyToken&&(e.readonlyToken.kind===Yt.ReadonlyKeyword||IW(e.readonlyToken.kind)),typeAnnotation:e.type&&this.convertChild(e.type)},"typeParameter","'constraint' and 'key'",this.convertChild(e.typeParameter)));case Yt.ParenthesizedExpression:return this.convertChild(e.expression,t);case Yt.TypeAliasDeclaration:{let _=this.createNode(e,{type:Yr.TSTypeAliasDeclaration,declare:oR(Yt.DeclareKeyword,e),id:this.convertChild(e.name),typeAnnotation:this.convertChild(e.type),typeParameters:e.typeParameters&&this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)});return this.fixExports(e,_)}case Yt.MethodSignature:return this.convertMethodSignature(e);case Yt.PropertySignature:{let{initializer:_}=e;return _&&rs(this,Ga,Jo).call(this,_,"A property signature cannot have an initializer."),this.createNode(e,{type:Yr.TSPropertySignature,accessibility:NX(e),computed:use(e.name),key:this.convertChild(e.name),optional:Tcr(e),readonly:oR(Yt.ReadonlyKeyword,e),static:oR(Yt.StaticKeyword,e),typeAnnotation:e.type&&this.convertTypeAnnotation(e.type,e)})}case Yt.IndexSignature:return this.createNode(e,{type:Yr.TSIndexSignature,accessibility:NX(e),parameters:e.parameters.map(_=>this.convertChild(_)),readonly:oR(Yt.ReadonlyKeyword,e),static:oR(Yt.StaticKeyword,e),typeAnnotation:e.type&&this.convertTypeAnnotation(e.type,e)});case Yt.ConstructorType:return this.createNode(e,{type:Yr.TSConstructorType,abstract:oR(Yt.AbstractKeyword,e),params:this.convertParameters(e.parameters),returnType:e.type&&this.convertTypeAnnotation(e.type,e),typeParameters:e.typeParameters&&this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)});case Yt.FunctionType:{let{modifiers:_}=e;_&&rs(this,Ga,Jo).call(this,_[0],"A function type cannot have modifiers.")}case Yt.ConstructSignature:case Yt.CallSignature:{let _=e.kind===Yt.ConstructSignature?Yr.TSConstructSignatureDeclaration:e.kind===Yt.CallSignature?Yr.TSCallSignatureDeclaration:Yr.TSFunctionType;return this.createNode(e,{type:_,params:this.convertParameters(e.parameters),returnType:e.type&&this.convertTypeAnnotation(e.type,e),typeParameters:e.typeParameters&&this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)})}case Yt.ExpressionWithTypeArguments:{let _=t.kind,f=_===Yt.InterfaceDeclaration?Yr.TSInterfaceHeritage:_===Yt.HeritageClause?Yr.TSClassImplements:Yr.TSInstantiationExpression;return this.createNode(e,{type:f,expression:this.convertChild(e.expression),typeArguments:e.typeArguments&&this.convertTypeArgumentsToTypeParameterInstantiation(e.typeArguments,e)})}case Yt.InterfaceDeclaration:{let _=e.heritageClauses??[],f=[];for(let x of _){x.token!==Yt.ExtendsKeyword&&rs(this,Ga,Jo).call(this,x,x.token===Yt.ImplementsKeyword?"Interface declaration cannot have 'implements' clause.":"Unexpected token.");for(let y of x.types)f.push(this.convertChild(y,e))}let m=this.createNode(e,{type:Yr.TSInterfaceDeclaration,body:this.createNode(e,{type:Yr.TSInterfaceBody,range:[e.members.pos-1,e.end],body:e.members.map(x=>this.convertChild(x))}),declare:oR(Yt.DeclareKeyword,e),extends:f,id:this.convertChild(e.name),typeParameters:e.typeParameters&&this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters)});return this.fixExports(e,m)}case Yt.TypePredicate:{let _=this.createNode(e,{type:Yr.TSTypePredicate,asserts:e.assertsModifier!==void 0,parameterName:this.convertChild(e.parameterName),typeAnnotation:null});return e.type&&(_.typeAnnotation=this.convertTypeAnnotation(e.type,e),_.typeAnnotation.loc=_.typeAnnotation.typeAnnotation.loc,_.typeAnnotation.range=_.typeAnnotation.typeAnnotation.range),_}case Yt.ImportType:{let _=sde(e,this.ast);if(e.isTypeOf){let m=Rse(e.getFirstToken(),e,this.ast);_[0]=m.getStart(this.ast)}let f=this.createNode(e,{type:Yr.TSImportType,range:_,argument:this.convertChild(e.argument),qualifier:this.convertChild(e.qualifier),typeArguments:e.typeArguments?this.convertTypeArgumentsToTypeParameterInstantiation(e.typeArguments,e):null});return e.isTypeOf?this.createNode(e,{type:Yr.TSTypeQuery,exprName:f,typeArguments:void 0}):f}case Yt.EnumDeclaration:{let _=e.members.map(m=>this.convertChild(m)),f=this.createNode(e,rs(this,Ga,G5t).call(this,{type:Yr.TSEnumDeclaration,body:this.createNode(e,{type:Yr.TSEnumBody,range:[e.members.pos-1,e.end],members:_}),const:oR(Yt.ConstKeyword,e),declare:oR(Yt.DeclareKeyword,e),id:this.convertChild(e.name)},"members","'body.members'",e.members.map(m=>this.convertChild(m))));return this.fixExports(e,f)}case Yt.EnumMember:return this.createNode(e,{type:Yr.TSEnumMember,computed:e.name.kind===Io.ComputedPropertyName,id:this.convertChild(e.name),initializer:e.initializer&&this.convertChild(e.initializer)});case Yt.ModuleDeclaration:{let _=oR(Yt.DeclareKeyword,e),f=this.createNode(e,{type:Yr.TSModuleDeclaration,...(()=>{if(e.flags&DA.GlobalAugmentation){let x=this.convertChild(e.name),y=this.convertChild(e.body);return(y==null||y.type===Yr.TSModuleDeclaration)&&rs(this,Ga,O2).call(this,e.body??e,"Expected a valid module body"),x.type!==Yr.Identifier&&rs(this,Ga,O2).call(this,e.name,"global module augmentation must have an Identifier id"),{body:y,declare:!1,global:!1,id:x,kind:"global"}}if(!(e.flags&DA.Namespace)){let x=this.convertChild(e.body);return{kind:"module",...x!=null?{body:x}:{},declare:!1,global:!1,id:this.convertChild(e.name)}}e.body==null&&rs(this,Ga,O2).call(this,e,"Expected a module body"),e.name.kind!==Io.Identifier&&rs(this,Ga,O2).call(this,e.name,"`namespace`s must have an Identifier id");let m=this.createNode(e.name,{type:Yr.Identifier,range:[e.name.getStart(this.ast),e.name.getEnd()],decorators:[],name:e.name.text,optional:!1,typeAnnotation:void 0});for(;e.body&&Ade(e.body)&&e.body.name;){e=e.body,_||(_=oR(Yt.DeclareKeyword,e));let x=e.name,y=this.createNode(x,{type:Yr.Identifier,range:[x.getStart(this.ast),x.getEnd()],decorators:[],name:x.text,optional:!1,typeAnnotation:void 0});m=this.createNode(x,{type:Yr.TSQualifiedName,range:[m.range[0],y.range[1]],left:m,right:y})}return{body:this.convertChild(e.body),declare:!1,global:!1,id:m,kind:"namespace"}})()});return f.declare=_,e.flags&DA.GlobalAugmentation&&(f.global=!0),this.fixExports(e,f)}case Yt.ParenthesizedType:return this.convertChild(e.type);case Yt.UnionType:return this.createNode(e,{type:Yr.TSUnionType,types:e.types.map(_=>this.convertChild(_))});case Yt.IntersectionType:return this.createNode(e,{type:Yr.TSIntersectionType,types:e.types.map(_=>this.convertChild(_))});case Yt.AsExpression:return this.createNode(e,{type:Yr.TSAsExpression,expression:this.convertChild(e.expression),typeAnnotation:this.convertChild(e.type)});case Yt.InferType:return this.createNode(e,{type:Yr.TSInferType,typeParameter:this.convertChild(e.typeParameter)});case Yt.LiteralType:return e.literal.kind===Yt.NullKeyword?this.createNode(e.literal,{type:Yr.TSNullKeyword}):this.createNode(e,{type:Yr.TSLiteralType,literal:this.convertChild(e.literal)});case Yt.TypeAssertionExpression:return this.createNode(e,{type:Yr.TSTypeAssertion,expression:this.convertChild(e.expression),typeAnnotation:this.convertChild(e.type)});case Yt.ImportEqualsDeclaration:return this.fixExports(e,this.createNode(e,{type:Yr.TSImportEqualsDeclaration,id:this.convertChild(e.name),importKind:e.isTypeOnly?"type":"value",moduleReference:this.convertChild(e.moduleReference)}));case Yt.ExternalModuleReference:return e.expression.kind!==Yt.StringLiteral&&rs(this,Ga,Jo).call(this,e.expression,"String literal expected."),this.createNode(e,{type:Yr.TSExternalModuleReference,expression:this.convertChild(e.expression)});case Yt.NamespaceExportDeclaration:return this.createNode(e,{type:Yr.TSNamespaceExportDeclaration,id:this.convertChild(e.name)});case Yt.AbstractKeyword:return this.createNode(e,{type:Yr.TSAbstractKeyword});case Yt.TupleType:{let _=e.elements.map(f=>this.convertChild(f));return this.createNode(e,{type:Yr.TSTupleType,elementTypes:_})}case Yt.NamedTupleMember:{let _=this.createNode(e,{type:Yr.TSNamedTupleMember,elementType:this.convertChild(e.type,e),label:this.convertChild(e.name,e),optional:e.questionToken!=null});return e.dotDotDotToken?(_.range[0]=_.label.range[0],_.loc.start=_.label.loc.start,this.createNode(e,{type:Yr.TSRestType,typeAnnotation:_})):_}case Yt.OptionalType:return this.createNode(e,{type:Yr.TSOptionalType,typeAnnotation:this.convertChild(e.type)});case Yt.RestType:return this.createNode(e,{type:Yr.TSRestType,typeAnnotation:this.convertChild(e.type)});case Yt.TemplateLiteralType:{let _=this.createNode(e,{type:Yr.TSTemplateLiteralType,quasis:[this.convertChild(e.head)],types:[]});return e.templateSpans.forEach(f=>{_.types.push(this.convertChild(f.type)),_.quasis.push(this.convertChild(f.literal))}),_}case Yt.ClassStaticBlockDeclaration:return this.createNode(e,{type:Yr.StaticBlock,body:this.convertBodyExpressions(e.body.statements,e)});case Yt.AssertEntry:case Yt.ImportAttribute:return this.createNode(e,{type:Yr.ImportAttribute,key:this.convertChild(e.name),value:this.convertChild(e.value)});case Yt.SatisfiesExpression:return this.createNode(e,{type:Yr.TSSatisfiesExpression,expression:this.convertChild(e.expression),typeAnnotation:this.convertChild(e.type)});default:return this.deeplyCopy(e)}}createNode(e,t){let r=t;return r.range??(r.range=sde(e,this.ast)),r.loc??(r.loc=BX(r.range,this.ast)),r&&this.options.shouldPreserveNodeMaps&&this.esTreeNodeToTSNodeMap.set(r,e),r}convertProgram(){return this.converter(this.ast)}deeplyCopy(e){e.kind===Io.JSDocFunctionType&&rs(this,Ga,Jo).call(this,e,"JSDoc types can only be used inside documentation comments.");let t=`TS${Yt[e.kind]}`;if(this.options.errorOnUnknownASTType&&!Yr[t])throw new Error(`Unknown AST_NODE_TYPE: "${t}"`);let r=this.createNode(e,{type:t});"type"in e&&(r.typeAnnotation=e.type&&"kind"in e.type&&s3n(e.type)?this.convertTypeAnnotation(e.type,e):null),"typeArguments"in e&&(r.typeArguments=e.typeArguments&&"pos"in e.typeArguments?this.convertTypeArgumentsToTypeParameterInstantiation(e.typeArguments,e):null),"typeParameters"in e&&(r.typeParameters=e.typeParameters&&"pos"in e.typeParameters?this.convertTSTypeParametersToTypeParametersDeclaration(e.typeParameters):null);let n=_se(e);n!=null&&n.length&&(r.decorators=n.map(s=>this.convertChild(s)));let i=new Set(["_children","decorators","end","flags","heritageClauses","illegalDecorators","jsDoc","kind","locals","localSymbol","modifierFlagsCache","modifiers","nextContainer","parent","pos","symbol","transformFlags","type","typeArguments","typeParameters"]);return Object.entries(e).filter(([s])=>!i.has(s)).forEach(([s,R])=>{Array.isArray(R)?r[s]=R.map(l=>this.convertChild(l)):R&&typeof R=="object"&&R.kind?r[s]=this.convertChild(R):r[s]=R}),r}fixExports(e,t){let r=Ade(e)&&e.flags&DA.Namespace?POn(e):jD(e);if(r?.[0].kind===Yt.ExportKeyword){this.registerTSNodeInNodeMap(e,t);let n=r[0],i=r[1],s=i?.kind===Yt.DefaultKeyword,R=s?Rse(i,this.ast,this.ast):Rse(n,this.ast,this.ast);if(t.range[0]=R.getStart(this.ast),t.loc=BX(t.range,this.ast),s)return this.createNode(e,{type:Yr.ExportDefaultDeclaration,range:[n.getStart(this.ast),t.range[1]],declaration:t,exportKind:"value"});let l=t.type===Yr.TSInterfaceDeclaration||t.type===Yr.TSTypeAliasDeclaration,c="declare"in t&&t.declare;return this.createNode(e,rs(this,Ga,hse).call(this,{type:Yr.ExportNamedDeclaration,range:[n.getStart(this.ast),t.range[1]],attributes:[],declaration:t,exportKind:l||c?"type":"value",source:null,specifiers:[]},"assertions","attributes",!0))}return t}getASTMaps(){return{esTreeNodeToTSNodeMap:this.esTreeNodeToTSNodeMap,tsNodeToESTreeNodeMap:this.tsNodeToESTreeNodeMap}}registerTSNodeInNodeMap(e,t){t&&this.options.shouldPreserveNodeMaps&&!this.tsNodeToESTreeNodeMap.has(e)&&this.tsNodeToESTreeNodeMap.set(e,t)}};Ga=new WeakSet,K5t=function(e,t){let r=t===Io.ForInStatement?"for...in":"for...of";if(Ubn(e)){e.declarations.length!==1&&rs(this,Ga,Jo).call(this,e,`Only a single variable declaration is allowed in a '${r}' statement.`);let n=e.declarations[0];n.initializer?rs(this,Ga,Jo).call(this,n,`The variable declaration of a '${r}' statement cannot have an initializer.`):n.type&&rs(this,Ga,Jo).call(this,n,`The variable declaration of a '${r}' statement cannot have a type annotation.`),t===Io.ForInStatement&&e.flags&DA.Using&&rs(this,Ga,Jo).call(this,e,"The left-hand side of a 'for...in' statement cannot be a 'using' declaration.")}else!w9t(e)&&e.kind!==Io.ObjectLiteralExpression&&e.kind!==Io.ArrayLiteralExpression&&rs(this,Ga,Jo).call(this,e,`The left-hand side of a '${r}' statement must be a variable or a property access.`)},A1r=function(e){if(!this.options.allowInvalidAST){gOn(e)&&rs(this,Ga,Jo).call(this,e.illegalDecorators[0],"Decorators are not valid here.");for(let t of _se(e,!0)??[])wOn(e)||(U5t(e)&&!pcr(e.body)?rs(this,Ga,Jo).call(this,t,"A decorator can only decorate a method implementation, not an overload."):rs(this,Ga,Jo).call(this,t,"Decorators are not valid here."));for(let t of jD(e,!0)??[]){if(t.kind!==Yt.ReadonlyKeyword&&((e.kind===Yt.PropertySignature||e.kind===Yt.MethodSignature)&&rs(this,Ga,Jo).call(this,t,`'${Qc(t.kind)}' modifier cannot appear on a type member`),e.kind===Yt.IndexSignature&&(t.kind!==Yt.StaticKeyword||!kse(e.parent))&&rs(this,Ga,Jo).call(this,t,`'${Qc(t.kind)}' modifier cannot appear on an index signature`)),t.kind!==Yt.InKeyword&&t.kind!==Yt.OutKeyword&&t.kind!==Yt.ConstKeyword&&e.kind===Yt.TypeParameter&&rs(this,Ga,Jo).call(this,t,`'${Qc(t.kind)}' modifier cannot appear on a type parameter`),(t.kind===Yt.InKeyword||t.kind===Yt.OutKeyword)&&(e.kind!==Yt.TypeParameter||!(v9t(e.parent)||kse(e.parent)||VTr(e.parent)))&&rs(this,Ga,Jo).call(this,t,`'${Qc(t.kind)}' modifier can only appear on a type parameter of a class, interface or type alias`),t.kind===Yt.ReadonlyKeyword&&e.kind!==Yt.PropertyDeclaration&&e.kind!==Yt.PropertySignature&&e.kind!==Yt.IndexSignature&&e.kind!==Yt.Parameter&&rs(this,Ga,Jo).call(this,t,"'readonly' modifier can only appear on a property declaration or index signature."),t.kind===Yt.DeclareKeyword&&kse(e.parent)&&!M9e(e)&&rs(this,Ga,Jo).call(this,t,`'${Qc(t.kind)}' modifier cannot appear on class elements of this kind.`),t.kind===Yt.DeclareKeyword&&Y9e(e)){let r=Y5t(e.declarationList);(r==="using"||r==="await using")&&rs(this,Ga,Jo).call(this,t,`'declare' modifier cannot appear on a '${r}' declaration.`)}if(t.kind===Yt.AbstractKeyword&&e.kind!==Yt.ClassDeclaration&&e.kind!==Yt.ConstructorType&&e.kind!==Yt.MethodDeclaration&&e.kind!==Yt.PropertyDeclaration&&e.kind!==Yt.GetAccessor&&e.kind!==Yt.SetAccessor&&rs(this,Ga,Jo).call(this,t,`'${Qc(t.kind)}' modifier can only appear on a class, method, or property declaration.`),(t.kind===Yt.StaticKeyword||t.kind===Yt.PublicKeyword||t.kind===Yt.ProtectedKeyword||t.kind===Yt.PrivateKeyword)&&(e.parent.kind===Yt.ModuleBlock||e.parent.kind===Yt.SourceFile)&&rs(this,Ga,Jo).call(this,t,`'${Qc(t.kind)}' modifier cannot appear on a module or namespace element.`),t.kind===Yt.AccessorKeyword&&e.kind!==Yt.PropertyDeclaration&&rs(this,Ga,Jo).call(this,t,"'accessor' modifier can only appear on a property declaration."),t.kind===Yt.AsyncKeyword&&e.kind!==Yt.MethodDeclaration&&e.kind!==Yt.FunctionDeclaration&&e.kind!==Yt.FunctionExpression&&e.kind!==Yt.ArrowFunction&&rs(this,Ga,Jo).call(this,t,"'async' modifier cannot be used here."),e.kind===Yt.Parameter&&(t.kind===Yt.StaticKeyword||t.kind===Yt.ExportKeyword||t.kind===Yt.DeclareKeyword||t.kind===Yt.AsyncKeyword)&&rs(this,Ga,Jo).call(this,t,`'${Qc(t.kind)}' modifier cannot appear on a parameter.`),t.kind===Yt.PublicKeyword||t.kind===Yt.ProtectedKeyword||t.kind===Yt.PrivateKeyword)for(let r of jD(e)??[])r!==t&&(r.kind===Yt.PublicKeyword||r.kind===Yt.ProtectedKeyword||r.kind===Yt.PrivateKeyword)&&rs(this,Ga,Jo).call(this,r,"Accessibility modifier already seen.");if(e.kind===Yt.Parameter&&(t.kind===Yt.PublicKeyword||t.kind===Yt.PrivateKeyword||t.kind===Yt.ProtectedKeyword||t.kind===Yt.ReadonlyKeyword||t.kind===Yt.OverrideKeyword)){let r=SOn(e);r.kind===Yt.Constructor&&pcr(r.body)||rs(this,Ga,Jo).call(this,t,"A parameter property is only allowed in a constructor implementation.")}}}},Jo=function(e,t){let r,n;throw typeof e=="number"?r=n=e:(r=e.getStart(this.ast),n=e.getEnd()),q1r(t,this.ast,r,n)},O2=function(e,t){this.options.allowInvalidAST||rs(this,Ga,Jo).call(this,e,t)},hse=function(e,t,r,n=!1){let i=n;return Object.defineProperty(e,t,{configurable:!0,get:this.options.suppressDeprecatedPropertyWarnings?()=>e[r]:()=>(i||((void 0)(`The '${t}' property is deprecated on ${e.type} nodes. Use '${r}' instead. See https://typescript-eslint.io/troubleshooting/faqs/general#the-key-property-is-deprecated-on-type-nodes-use-key-instead-warnings.`,"DeprecationWarning"),i=!0),e[r]),set(s){Object.defineProperty(e,t,{enumerable:!0,value:s,writable:!0})}}),e},G5t=function(e,t,r,n){let i=!1;return Object.defineProperty(e,t,{configurable:!0,get:this.options.suppressDeprecatedPropertyWarnings?()=>n:()=>(i||((void 0)(`The '${t}' property is deprecated on ${e.type} nodes. Use ${r} instead. See https://typescript-eslint.io/troubleshooting/faqs/general#the-key-property-is-deprecated-on-type-nodes-use-key-instead-warnings.`,"DeprecationWarning"),i=!0),n),set(s){Object.defineProperty(e,t,{enumerable:!0,value:s,writable:!0})}}),e};[mdi,kdi]=c9n.split(".").map(e=>Number.parseInt(e,10)),ydi=fy.Intrinsic??fy.Any|fy.Unknown|fy.String|fy.Number|fy.BigInt|fy.Boolean|fy.BooleanLiteral|fy.ESSymbol|fy.Void|fy.Undefined|fy.Null|fy.Never|fy.NonPrimitive;LOn=()=>{};HOn=function(e){return e&&e.__esModule?e:{default:e}},YOn=HOn({extname:e=>"."+e.split(".").pop()});GOn={default:e9t},VOn=(0,GOn.default)("typescript-eslint:typescript-estree:createSourceFile");JOn=()=>{},XOn=e=>e,ZOn=class{},evn=()=>!1,tvn=()=>{},rvn=function(e){return e&&e.__esModule?e:{default:e}},V5t={default:e9t},nvn=rvn({extname:e=>"."+e.split(".").pop()}),ivn=(0,V5t.default)("typescript-eslint:typescript-estree:parser:parseSettings:createParseSettings"),hcr=null,ode={ParseAll:(fcr=cde)==null?void 0:fcr.ParseAll,ParseForTypeErrors:(dcr=cde)==null?void 0:dcr.ParseForTypeErrors,ParseForTypeInfo:(xcr=cde)==null?void 0:xcr.ParseForTypeInfo,ParseNone:(mcr=cde)==null?void 0:mcr.ParseNone};Rvn={default:e9t},qdi=(0,Rvn.default)("typescript-eslint:typescript-estree:parser");Tvn=cvn;_vn=pvn,hvn=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},kcr=hvn;dvn=fvn;mvn=xvn,kvn=mvn(["Block","CommentBlock","MultiLine"]),j5t=kvn;ycr=yvn;Cvn=qvn,Rde=null;Avn=10;for(let e=0;e<=Avn;e++)xde();Evn=bvn,Ovn={ArrayExpression:["elements"],AssignmentExpression:["left","right"],BinaryExpression:["left","right"],InterpreterDirective:[],Directive:["value"],DirectiveLiteral:[],BlockStatement:["directives","body"],BreakStatement:["label"],CallExpression:["callee","arguments","typeParameters","typeArguments"],CatchClause:["param","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExpressionStatement:["expression"],File:["program"],ForInStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","typeParameters","params","returnType","body","predicate"],FunctionExpression:["id","typeParameters","params","returnType","body"],Identifier:["typeAnnotation","decorators"],IfStatement:["test","consequent","alternate"],LabeledStatement:["label","body"],StringLiteral:[],NumericLiteral:[],NullLiteral:[],BooleanLiteral:[],RegExpLiteral:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],NewExpression:["callee","arguments","typeParameters","typeArguments"],Program:["directives","body"],ObjectExpression:["properties"],ObjectMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectProperty:["key","value","decorators"],RestElement:["argument","typeAnnotation","decorators"],ReturnStatement:["argument"],SequenceExpression:["expressions"],ParenthesizedExpression:["expression"],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],AssignmentPattern:["left","right","decorators","typeAnnotation"],ArrayPattern:["elements","typeAnnotation","decorators"],ArrowFunctionExpression:["typeParameters","params","returnType","body","predicate"],ClassBody:["body"],ClassExpression:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ClassDeclaration:["decorators","id","typeParameters","superClass","superTypeParameters","mixins","implements","body","superTypeArguments"],ExportAllDeclaration:["source","attributes","exported"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source","attributes"],ExportSpecifier:["local","exported"],ForOfStatement:["left","right","body"],ImportDeclaration:["specifiers","source","attributes"],ImportDefaultSpecifier:["local"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],ImportExpression:["source","options"],MetaProperty:["meta","property"],ClassMethod:["decorators","key","typeParameters","params","returnType","body"],ObjectPattern:["properties","typeAnnotation","decorators"],SpreadElement:["argument"],Super:[],TaggedTemplateExpression:["tag","typeParameters","quasi","typeArguments"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],YieldExpression:["argument"],AwaitExpression:["argument"],BigIntLiteral:[],ExportNamespaceSpecifier:["exported"],OptionalMemberExpression:["object","property"],OptionalCallExpression:["callee","arguments","typeParameters","typeArguments"],ClassProperty:["decorators","key","typeAnnotation","value","variance"],ClassAccessorProperty:["decorators","key","typeAnnotation","value"],ClassPrivateProperty:["decorators","key","typeAnnotation","value","variance"],ClassPrivateMethod:["decorators","key","typeParameters","params","returnType","body"],PrivateName:["id"],StaticBlock:["body"],AnyTypeAnnotation:[],ArrayTypeAnnotation:["elementType"],BooleanTypeAnnotation:[],BooleanLiteralTypeAnnotation:[],NullLiteralTypeAnnotation:[],ClassImplements:["id","typeParameters"],DeclareClass:["id","typeParameters","extends","mixins","implements","body"],DeclareFunction:["id","predicate"],DeclareInterface:["id","typeParameters","extends","body"],DeclareModule:["id","body"],DeclareModuleExports:["typeAnnotation"],DeclareTypeAlias:["id","typeParameters","right"],DeclareOpaqueType:["id","typeParameters","supertype"],DeclareVariable:["id"],DeclareExportDeclaration:["declaration","specifiers","source","attributes"],DeclareExportAllDeclaration:["source","attributes"],DeclaredPredicate:["value"],ExistsTypeAnnotation:[],FunctionTypeAnnotation:["typeParameters","params","rest","returnType","this"],FunctionTypeParam:["name","typeAnnotation"],GenericTypeAnnotation:["id","typeParameters"],InferredPredicate:[],InterfaceExtends:["id","typeParameters"],InterfaceDeclaration:["id","typeParameters","extends","body"],InterfaceTypeAnnotation:["extends","body"],IntersectionTypeAnnotation:["types"],MixedTypeAnnotation:[],EmptyTypeAnnotation:[],NullableTypeAnnotation:["typeAnnotation"],NumberLiteralTypeAnnotation:[],NumberTypeAnnotation:[],ObjectTypeAnnotation:["properties","indexers","callProperties","internalSlots"],ObjectTypeInternalSlot:["id","value"],ObjectTypeCallProperty:["value"],ObjectTypeIndexer:["variance","id","key","value"],ObjectTypeProperty:["key","value","variance"],ObjectTypeSpreadProperty:["argument"],OpaqueType:["id","typeParameters","supertype","impltype"],QualifiedTypeIdentifier:["qualification","id"],StringLiteralTypeAnnotation:[],StringTypeAnnotation:[],SymbolTypeAnnotation:[],ThisTypeAnnotation:[],TupleTypeAnnotation:["types","elementTypes"],TypeofTypeAnnotation:["argument","typeArguments"],TypeAlias:["id","typeParameters","right"],TypeAnnotation:["typeAnnotation"],TypeCastExpression:["expression","typeAnnotation"],TypeParameter:["bound","default","variance"],TypeParameterDeclaration:["params"],TypeParameterInstantiation:["params"],UnionTypeAnnotation:["types"],Variance:[],VoidTypeAnnotation:[],EnumDeclaration:["id","body"],EnumBooleanBody:["members"],EnumNumberBody:["members"],EnumStringBody:["members"],EnumSymbolBody:["members"],EnumBooleanMember:["id","init"],EnumNumberMember:["id","init"],EnumStringMember:["id","init"],EnumDefaultedMember:["id"],IndexedAccessType:["objectType","indexType"],OptionalIndexedAccessType:["objectType","indexType"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXSpreadChild:["expression"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes","typeArguments","typeParameters"],JSXSpreadAttribute:["argument"],JSXText:[],JSXFragment:["openingFragment","children","closingFragment"],JSXOpeningFragment:[],JSXClosingFragment:[],Noop:[],Placeholder:[],V8IntrinsicIdentifier:[],ArgumentPlaceholder:[],BindExpression:["object","callee"],ImportAttribute:["key","value"],Decorator:["expression"],DoExpression:["body"],ExportDefaultSpecifier:["exported"],RecordExpression:["properties"],TupleExpression:["elements"],ModuleExpression:["body"],TopicReference:[],PipelineTopicExpression:["expression"],PipelineBareFunction:["callee"],PipelinePrimaryTopicReference:[],TSParameterProperty:["parameter","decorators"],TSDeclareFunction:["id","typeParameters","params","returnType","body"],TSDeclareMethod:["decorators","key","typeParameters","params","returnType"],TSQualifiedName:["left","right"],TSCallSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructSignatureDeclaration:["typeParameters","parameters","typeAnnotation","params","returnType"],TSPropertySignature:["key","typeAnnotation"],TSMethodSignature:["key","typeParameters","parameters","typeAnnotation","params","returnType"],TSIndexSignature:["parameters","typeAnnotation"],TSAnyKeyword:[],TSBooleanKeyword:[],TSBigIntKeyword:[],TSIntrinsicKeyword:[],TSNeverKeyword:[],TSNullKeyword:[],TSNumberKeyword:[],TSObjectKeyword:[],TSStringKeyword:[],TSSymbolKeyword:[],TSUndefinedKeyword:[],TSUnknownKeyword:[],TSVoidKeyword:[],TSThisType:[],TSFunctionType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSConstructorType:["typeParameters","parameters","typeAnnotation","params","returnType"],TSTypeReference:["typeName","typeParameters","typeArguments"],TSTypePredicate:["parameterName","typeAnnotation"],TSTypeQuery:["exprName","typeParameters","typeArguments"],TSTypeLiteral:["members"],TSArrayType:["elementType"],TSTupleType:["elementTypes"],TSOptionalType:["typeAnnotation"],TSRestType:["typeAnnotation"],TSNamedTupleMember:["label","elementType"],TSUnionType:["types"],TSIntersectionType:["types"],TSConditionalType:["checkType","extendsType","trueType","falseType"],TSInferType:["typeParameter"],TSParenthesizedType:["typeAnnotation"],TSTypeOperator:["typeAnnotation"],TSIndexedAccessType:["objectType","indexType"],TSMappedType:["typeParameter","nameType","typeAnnotation"],TSLiteralType:["literal"],TSExpressionWithTypeArguments:["expression","typeParameters"],TSInterfaceDeclaration:["id","typeParameters","extends","body"],TSInterfaceBody:["body"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSInstantiationExpression:["expression","typeParameters","typeArguments"],TSAsExpression:["expression","typeAnnotation"],TSSatisfiesExpression:["expression","typeAnnotation"],TSTypeAssertion:["typeAnnotation","expression"],TSEnumDeclaration:["id","members"],TSEnumMember:["id","initializer"],TSModuleDeclaration:["id","body"],TSModuleBlock:["body"],TSImportType:["argument","qualifier","typeParameters","typeArguments"],TSImportEqualsDeclaration:["id","moduleReference"],TSExternalModuleReference:["expression"],TSNonNullExpression:["expression"],TSExportAssignment:["expression"],TSNamespaceExportDeclaration:["id"],TSTypeAnnotation:["typeAnnotation"],TSTypeParameterInstantiation:["params"],TSTypeParameterDeclaration:["params"],TSTypeParameter:["constraint","default","name"],ChainExpression:["expression"],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],Literal:[],MethodDefinition:["decorators","key","value"],PrivateIdentifier:[],Property:["key","value"],PropertyDefinition:["decorators","key","typeAnnotation","value","variance"],AccessorProperty:["decorators","key","typeAnnotation","value"],TSAbstractAccessorProperty:["decorators","key","typeAnnotation"],TSAbstractKeyword:[],TSAbstractMethodDefinition:["key","value"],TSAbstractPropertyDefinition:["decorators","key","typeAnnotation"],TSAsyncKeyword:[],TSClassImplements:["expression","typeArguments","typeParameters"],TSDeclareKeyword:[],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSEnumBody:["members"],TSExportKeyword:[],TSInterfaceHeritage:["expression","typeArguments","typeParameters"],TSPrivateKeyword:[],TSProtectedKeyword:[],TSPublicKeyword:[],TSReadonlyKeyword:[],TSStaticKeyword:[],TSTemplateLiteralType:["quasis","types"],AsConstExpression:["expression"],AsExpression:["expression","typeAnnotation"],BigIntLiteralTypeAnnotation:[],BigIntTypeAnnotation:[],ComponentDeclaration:["id","params","body","typeParameters","rendersType"],ComponentParameter:["name","local"],ComponentTypeAnnotation:["params","rest","typeParameters","rendersType"],ComponentTypeParameter:["name","typeAnnotation"],ConditionalTypeAnnotation:["checkType","extendsType","trueType","falseType"],DeclareComponent:["id","params","rest","typeParameters","rendersType"],DeclareEnum:["id","body"],DeclareHook:["id"],DeclareNamespace:["id","body"],EnumBigIntBody:["members"],EnumBigIntMember:["id","init"],HookDeclaration:["id","params","body","typeParameters","returnType"],HookTypeAnnotation:["params","returnType","rest","typeParameters"],InferTypeAnnotation:["typeParameter"],KeyofTypeAnnotation:["argument"],ObjectTypeMappedTypeProperty:["keyTparam","propType","sourceType","variance"],QualifiedTypeofIdentifier:["qualification","id"],TupleTypeLabeledElement:["label","elementType","variance"],TupleTypeSpreadElement:["label","typeAnnotation"],TypeOperator:["typeAnnotation"],TypePredicate:["parameterName","typeAnnotation","asserts"],NGRoot:["node"],NGPipeExpression:["left","right","arguments"],NGChainedExpression:["expressions"],NGEmptyExpression:[],NGMicrosyntax:["body"],NGMicrosyntaxKey:[],NGMicrosyntaxExpression:["expression","alias"],NGMicrosyntaxKeyedExpression:["key","expression"],NGMicrosyntaxLet:["key","value"],NGMicrosyntaxAs:["key","alias"],JsExpressionRoot:["node"],JsonRoot:["node"],TSJSDocAllType:[],TSJSDocUnknownType:[],TSJSDocNullableType:["typeAnnotation"],TSJSDocNonNullableType:["typeAnnotation"],NeverTypeAnnotation:[],UndefinedTypeAnnotation:[],UnknownTypeAnnotation:[],SatisfiesExpression:["expression","typeAnnotation"]},vvn=Evn(Ovn),Dvn=vvn;O5t=J5t;$vn=Svn,Qvn=/\*\/$/,Nvn=/^\/\*\*?/,wvn=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Pvn=/(^|\s+)\/\/([^\n\r]*)/g,qcr=/^(\r?\n)+/,Bvn=/(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g,Ccr=/(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g,Ivn=/(\r?\n|^) *\* ?/g,Mvn=[];Lvn=Fvn;Kvn=Yvn;Vvn=Gvn;Jvn=jvn,Xvn={loc:!0,range:!0,comment:!0,tokens:!0,loggerFn:!1,project:!1,jsDocParsingMode:"none",suppressDeprecatedPropertyWarnings:!0};eDn=e=>/\.(?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$/iu.test(e);iDn=Kvn(rDn),aDn=Ecr});var Ipr={};x2(Ipr,{default:()=>B$n,languages:()=>qpr,options:()=>Cpr,parsers:()=>aAt,printers:()=>Bpr});function xDn(e){if(typeof e=="string")return epr;if(Array.isArray(e))return tpr;if(!e)return;let{type:t}=e;if(Rpr.has(t))return t}function kDn(e){let t=e===null?"null":typeof e;if(t!=="string"&&t!=="object")return`Unexpected doc '${t}', +Expected it to be 'string' or 'object'.`;if(upr(e))throw new Error("doc is valid.");let r=Object.prototype.toString.call(e);if(r!=="[object Object]")return`Unexpected doc '${r}'.`;let n=mDn([...Rpr].map(i=>`'${i}'`));return`Unexpected doc.type '${e.type}'. +Expected it to be ${n}.`}function eAe(e,t){return Ose(t),{type:J9t,contents:t,n:e}}function j9e(e,t={}){return Ose(e),nAt(t.expandedStates,!0),{type:X9t,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function v1r(e){return eAe(Number.NEGATIVE_INFINITY,e)}function CDn(e){return eAe({type:"root"},e)}function ADn(e){return eAe(-1,e)}function D1r(e,t){return j9e(e[0],{...t,expandedStates:e})}function cpr(e){return nAt(e),{type:Z9t,parts:e}}function z9t(e,t="",r={}){return Ose(e),t!==""&&Ose(t),{type:eAt,breakContents:e,flatContents:t,groupId:r.groupId}}function gDn(e){return Ose(e),{type:tAt,contents:e}}function e5(e,t){Ose(e),nAt(t);let r=[];for(let n=0;ntypeof r=="string"?e5(t,r.split(` +`)):r)}function tAe(e){return(t,r,n)=>{let i=!!(n!=null&&n.backwards);if(r===!1)return!1;let{length:s}=t,R=r;for(;R>=0&&R{let i=await n(t.originalText,{parser:"json"});return i?[i,yl]:void 0}}function Sde(e){if(Ode!==null&&typeof Ode.property){let t=Ode;return Ode=Sde.prototype=null,t}return Ode=Sde.prototype=e??Object.create(null),new Sde}function IDn(e){return Sde(e)}function MDn(e,t="type"){IDn(e);function r(n){let i=n[t],s=e[i];if(!Array.isArray(s))throw Object.assign(new Error(`Missing visitor keys for '${i}'.`),{node:n});return s}return r}function J9e(e){return e.position.start.offset}function HDn(e){return e.position.end.offset}function YDn(e){return/^\s*@(?:prettier|format)\s*$/u.test(e)}function KDn(e){return/^\s*#[^\S\n]*@(?:prettier|format)\s*?(?:\n|$)/u.test(e)}function GDn(e){return`# @format + +${e}`}function VDn(e){return Array.isArray(e)&&e.length>0}function $w(e,t){return typeof e?.type=="string"&&(!t||t.includes(e.type))}function _pr(e,t,r){return t("children"in e?{...e,children:e.children.map(n=>_pr(n,t,e))}:e,r)}function vde(e,t,r){Object.defineProperty(e,t,{get:r,enumerable:!1})}function jDn(e,t){let r=0,n=t.length;for(let i=e.position.end.offset-1;is===0&&s===R.length-1?i:s!==0&&s!==R.length-1?i.trim():s===0?i.trimEnd():i.trimStart());return r.proseWrap==="preserve"?n.map(i=>i.length===0?[]:[i]):n.map(i=>i.length===0?[]:dpr(i)).reduce((i,s,R)=>R!==0&&n[R-1].length>0&&s.length>0&&!(e==="quoteDouble"&&xg(!1,xg(!1,i,-1),-1).endsWith("\\"))?[...i.slice(0,-1),[...xg(!1,i,-1),...s]]:[...i,s],[]).map(i=>r.proseWrap==="never"?[i.join(" ")]:i)}function eSn(e,{parentIndent:t,isLastDescendant:r,options:n}){let i=e.position.start.line===e.position.end.line?"":n.originalText.slice(e.position.start.offset,e.position.end.offset).match(/^[^\n]*\n(.*)$/su)[1],s;if(e.indent===null){let c=i.match(/^(? *)[^\n\r ]/mu);s=c?c.groups.leadingSpace.length:Number.POSITIVE_INFINITY}else s=e.indent-1+t;let R=i.split(` +`).map(c=>c.slice(s));if(n.proseWrap==="preserve"||e.type==="blockLiteral")return l(R.map(c=>c.length===0?[]:[c]));return l(R.map(c=>c.length===0?[]:dpr(c)).reduce((c,h,_)=>_!==0&&R[_-1].length>0&&h.length>0&&!/^\s/u.test(h[0])&&!/^\s|\s$/u.test(xg(!1,c,-1))?[...c.slice(0,-1),[...xg(!1,c,-1),...h]]:[...c,h],[]).map(c=>c.reduce((h,_)=>h.length>0&&/\s$/u.test(xg(!1,h,-1))?[...h.slice(0,-1),xg(!1,h,-1)+" "+_]:[...h,_],[])).map(c=>n.proseWrap==="never"?[c.join(" ")]:c));function l(c){if(e.chomping==="keep")return xg(!1,c,-1).length===0?c.slice(0,-1):c;let h=0;for(let _=c.length-1;_>=0&&c[_].length===0;_--)h++;return h===0?c:h>=2&&!r?c.slice(0,-(h-1)):c.slice(0,-h)}}function K9t(e){if(!e)return!0;switch(e.type){case"plain":case"quoteDouble":case"quoteSingle":case"alias":case"flowMapping":case"flowSequence":return!0;default:return!1}}function xpr(e,t){let{node:r,root:n}=e,i;return B9t.has(n)?i=B9t.get(n):(i=new Set,B9t.set(n,i)),!i.has(r.position.end.line)&&(i.add(r.position.end.line),jDn(r,t)&&!mpr(e.parent))?Tpr:""}function mpr(e){return xO(e)&&!$w(e,["documentHead","documentBody","flowMapping","flowSequence"])}function dg(e,t){return eAe(" ".repeat(e),t)}function tSn(e,t,r){let{node:n}=e,i=e.ancestors.filter(h=>h.type==="sequence"||h.type==="mapping").length,s=hpr(e),R=[n.type==="blockFolded"?">":"|"];n.indent!==null&&R.push(n.indent.toString()),n.chomping!=="clip"&&R.push(n.chomping==="keep"?"+":"-"),fpr(n)&&R.push(" ",t("indicatorComment"));let l=eSn(n,{parentIndent:i,isLastDescendant:s,options:r}),c=[];for(let[h,_]of l.entries())h===0&&c.push(yl),c.push(cpr(e5(Qde,_))),h!==l.length-1?c.push(_.length===0?yl:CDn(H9t)):n.chomping==="keep"&&s&&c.push(v1r(_.length===0?yl:H9t));return n.indent===null?R.push(ADn(dg(r.tabWidth,c))):R.push(v1r(dg(n.indent-1+i,c))),R}function N1r(e,t,r){let{node:n}=e,i=n.type==="flowMapping",s=i?"{":"[",R=i?"}":"]",l=Tpr;i&&n.children.length>0&&r.bracketSpacing&&(l=Qde);let c=xg(!1,n.children,-1),h=c?.type==="flowMappingItem"&&X9e(c.key)&&X9e(c.value);return[s,dg(r.tabWidth,[l,nSn(e,t,r),r.trailingComma==="none"?"":z9t(","),xO(n)?[yl,e5(yl,e.map(t,"endComments"))]:""]),h?"":l,R]}function nSn(e,t,r){return e.map(({isLast:n,node:i,next:s})=>[t(),n?"":[",",Qde,i.position.start.line!==s.position.start.line?xpr(e,r.originalText):""]],"children")}function iSn(e,t,r){var n;let{node:i,parent:s}=e,{key:R,value:l}=i,c=X9e(R),h=X9e(l);if(c&&h)return": ";let _=t("key"),f=aSn(i)?" ":"";if(h)return i.type==="flowMappingItem"&&s.type==="flowMapping"?_:i.type==="mappingItem"&&I9t(R.content,r)&&!dO(R.content)&&((n=s.tag)==null?void 0:n.value)!=="tag:yaml.org,2002:set"?[_,f,":"]:["? ",dg(2,_)];let m=t("value");if(c)return[": ",dg(2,m)];if(LW(l)||!K9t(R.content))return["? ",dg(2,_),yl,...e.map(()=>[t(),yl],"value","leadingComments"),": ",dg(2,m)];if(sSn(R.content)&&!LW(R.content)&&!bse(R.content)&&!dO(R.content)&&!xO(R)&&!LW(l.content)&&!bse(l.content)&&!xO(l)&&I9t(l.content,r))return[_,f,": ",m];let x=Symbol("mappingKey"),y=j9e([z9t("? "),j9e(dg(2,_),{id:x})]),A=[yl,": ",dg(2,m)],D=[f,":"];LW(l.content)||xO(l)&&l.content&&!$w(l.content,["mapping","sequence"])||s.type==="mapping"&&dO(R.content)&&K9t(l.content)||$w(l.content,["mapping","sequence"])&&l.content.tag===null&&l.content.anchor===null?D.push(yl):l.content?D.push(Qde):dO(l)&&D.push(" "),D.push(m);let S=dg(r.tabWidth,D);return I9t(R.content,r)&&!LW(R.content)&&!bse(R.content)&&!xO(R)?D1r([[_,S]]):D1r([[y,z9t(A,S,{groupId:x})]])}function I9t(e,t){if(!e)return!0;switch(e.type){case"plain":case"quoteSingle":case"quoteDouble":break;case"alias":return!0;default:return!1}if(t.proseWrap==="preserve")return e.position.start.line===e.position.end.line;if(/\\$/mu.test(t.originalText.slice(e.position.start.offset,e.position.end.offset)))return!1;switch(t.proseWrap){case"never":return!e.value.includes(` +`);case"always":return!/[\n ]/u.test(e.value);default:return!1}}function aSn(e){var t;return((t=e.key.content)==null?void 0:t.type)==="alias"}function sSn(e){if(!e)return!0;switch(e.type){case"plain":case"quoteDouble":case"quoteSingle":return e.position.start.line===e.position.end.line;case"alias":return!0;default:return!1}}function RSn(e){return _pr(e,uSn)}function uSn(e){switch(e.type){case"document":vde(e,"head",()=>e.children[0]),vde(e,"body",()=>e.children[1]);break;case"documentBody":case"sequenceItem":case"flowSequenceItem":case"mappingKey":case"mappingValue":vde(e,"content",()=>e.children[0]);break;case"mappingItem":case"flowMappingItem":vde(e,"key",()=>e.children[0]),vde(e,"value",()=>e.children[1]);break}return e}function cSn(e,t,r){let{node:n}=e,i=[];n.type!=="mappingValue"&&LW(n)&&i.push([e5(yl,e.map(r,"leadingComments")),yl]);let{tag:s,anchor:R}=n;s&&i.push(r("tag")),s&&R&&i.push(" "),R&&i.push(r("anchor"));let l="";return $w(n,["mapping","sequence","comment","directive","mappingItem","sequenceItem"])&&!hpr(e)&&(l=xpr(e,t.originalText)),(s||R)&&($w(n,["sequence","mapping"])&&!bse(n)?i.push(yl):i.push(" ")),bse(n)&&i.push([n.middleComments.length===1?"":yl,e5(yl,e.map(r,"middleComments")),yl]),JDn(e)?i.push(DDn(t.originalText.slice(n.position.start.offset,n.position.end.offset).trimEnd())):i.push(j9e(TSn(e,t,r))),dO(n)&&!$w(n,["document","documentHead"])&&i.push(gDn([n.type==="mappingValue"&&!n.content?"":" ",e.parent.type==="mappingKey"&&e.getParentNode(2).type==="mapping"&&K9t(n)?"":iAt,r("trailingComment")])),mpr(n)&&i.push(dg(n.type==="sequenceItem"?2:0,[yl,e5(yl,e.map(({node:c})=>[QDn(t.originalText,J9e(c))?yl:"",r()],"endComments"))])),i.push(l),i}function TSn(e,t,r){let{node:n}=e;switch(n.type){case"root":{let i=[];e.each(({node:R,next:l,isFirst:c})=>{c||i.push(yl),i.push(r()),kpr(R,l)?(i.push(yl,"..."),dO(R)&&i.push(" ",r("trailingComment"))):l&&!dO(l.head)&&i.push(yl,"---")},"children");let s=Y9t(n);return(!$w(s,["blockLiteral","blockFolded"])||s.chomping!=="keep")&&i.push(yl),i}case"document":{let i=[];return _Sn(e,t)==="head"&&((n.head.children.length>0||n.head.endComments.length>0)&&i.push(r("head")),dO(n.head)?i.push(["---"," ",r(["head","trailingComment"])]):i.push("---")),pSn(n)&&i.push(r("body")),e5(yl,i)}case"documentHead":return e5(yl,[...e.map(r,"children"),...e.map(r,"endComments")]);case"documentBody":{let{children:i,endComments:s}=n,R="";if(i.length>0&&s.length>0){let l=Y9t(n);$w(l,["blockFolded","blockLiteral"])?l.chomping!=="keep"&&(R=[yl,yl]):R=yl}return[e5(yl,e.map(r,"children")),R,e5(yl,e.map(r,"endComments"))]}case"directive":return["%",e5(" ",[n.name,...n.parameters])];case"comment":return["#",n.value];case"alias":return["*",n.value];case"tag":return t.originalText.slice(n.position.start.offset,n.position.end.offset);case"anchor":return["&",n.value];case"plain":return Dde(n.type,t.originalText.slice(n.position.start.offset,n.position.end.offset),t);case"quoteDouble":case"quoteSingle":{let i="'",s='"',R=t.originalText.slice(n.position.start.offset+1,n.position.end.offset-1);if(n.type==="quoteSingle"&&R.includes("\\")||n.type==="quoteDouble"&&/\\[^"]/u.test(R)){let c=n.type==="quoteDouble"?s:i;return[c,Dde(n.type,R,t),c]}if(R.includes(s))return[i,Dde(n.type,n.type==="quoteDouble"?P9t(!1,P9t(!1,R,String.raw`\"`,s),"'",i.repeat(2)):R,t),i];if(R.includes(i))return[s,Dde(n.type,n.type==="quoteSingle"?P9t(!1,R,"''",i):R,t),s];let l=t.singleQuote?i:s;return[l,Dde(n.type,R,t),l]}case"blockFolded":case"blockLiteral":return rSn(e,r,t);case"mapping":case"sequence":return e5(yl,e.map(r,"children"));case"sequenceItem":return["- ",dg(2,n.content?r("content"):"")];case"mappingKey":case"mappingValue":return n.content?r("content"):"";case"mappingItem":case"flowMappingItem":return oSn(e,r,t);case"flowMapping":return N1r(e,r,t);case"flowSequence":return N1r(e,r,t);case"flowSequenceItem":return r("content");default:throw new wDn(n,"YAML")}}function pSn(e){return e.body.children.length>0||xO(e.body)}function kpr(e,t){return dO(e)||t&&(t.head.children.length>0||xO(t.head))}function _Sn(e,t){let r=e.node;if(e.isFirst&&/---(?:\s|$)/u.test(t.originalText.slice(J9e(r),J9e(r)+4))||r.head.children.length>0||xO(r.head)||dO(r.head))return"head";let n=e.next;return kpr(r,n)?!1:n?"root":!1}function Dde(e,t,r){let n=ZDn(e,t,r);return e5(yl,n.map(i=>cpr(e5(Qde,i))))}function ypr(e,t){if($w(e))switch(e.type){case"comment":if(YDn(e.value))return null;break;case"quoteDouble":case"quoteSingle":t.type="quote";break}}function $A(e,t=null){"children"in e&&e.children.forEach(r=>$A(r,e)),"anchor"in e&&e.anchor&&$A(e.anchor,e),"tag"in e&&e.tag&&$A(e.tag,e),"leadingComments"in e&&e.leadingComments.forEach(r=>$A(r,e)),"middleComments"in e&&e.middleComments.forEach(r=>$A(r,e)),"indicatorComment"in e&&e.indicatorComment&&$A(e.indicatorComment,e),"trailingComment"in e&&e.trailingComment&&$A(e.trailingComment,e),"endComments"in e&&e.endComments.forEach(r=>$A(r,e)),Object.defineProperty(e,"_parent",{value:t,enumerable:!1})}function Z9e(e){return`${e.line}:${e.column}`}function mSn(e){$A(e);let t=kSn(e),r=e.children.slice();e.comments.sort((n,i)=>n.position.start.offset-i.position.end.offset).filter(n=>!n._parent).forEach(n=>{for(;r.length>1&&n.position.start.line>r[0].position.end.line;)r.shift();ySn(n,t,r[0])})}function kSn(e){let t=Array.from(new Array(e.position.end.line),()=>({}));for(let r of e.comments)t[r.position.start.line-1].comment=r;return Apr(t,e),t}function Apr(e,t){if(t.position.start.offset!==t.position.end.offset){if("leadingComments"in t){let{start:r}=t.position,{leadingAttachableNode:n}=e[r.line-1];(!n||r.column1&&t.type!=="document"&&t.type!=="documentHead"){let{end:r}=t.position,{trailingAttachableNode:n}=e[r.line-1];(!n||r.column>=n.position.end.column)&&(e[r.line-1].trailingAttachableNode=t)}if(t.type!=="root"&&t.type!=="document"&&t.type!=="documentHead"&&t.type!=="documentBody"){let{start:r,end:n}=t.position,i=[n.line].concat(r.line===n.line?[]:r.line);for(let s of i){let R=e[s-1].trailingNode;(!R||n.column>=R.position.end.column)&&(e[s-1].trailingNode=t)}}"children"in t&&t.children.forEach(r=>{Apr(e,r)})}}function ySn(e,t,r){let n=e.position.start.line,{trailingAttachableNode:i}=t[n-1];if(i){if(i.trailingComment)throw new Error(`Unexpected multiple trailing comment at ${Z9e(e.position.start)}`);$A(e,i),i.trailingComment=e;return}for(let R=n;R>=r.position.start.line;R--){let{trailingNode:l}=t[R-1],c;if(l)c=l;else if(R!==n&&t[R-1].comment)c=t[R-1].comment._parent;else continue;if((c.type==="sequence"||c.type==="mapping")&&(c=c.children[0]),c.type==="mappingItem"){let[h,_]=c.children;c=gpr(h)?h:_}for(;;){if(qSn(c,e)){$A(e,c),c.endComments.push(e);return}if(!c._parent)break;c=c._parent}break}for(let R=n+1;R<=r.position.end.line;R++){let{leadingAttachableNode:l}=t[R-1];if(l){$A(e,l),l.leadingComments.push(e);return}}let s=r.children[1];$A(e,s),s.endComments.push(e)}function qSn(e,t){if(e.position.start.offsett.position.end.offset)switch(e.type){case"flowMapping":case"flowSequence":return e.children.length===0||t.position.start.line>e.children[e.children.length-1].position.end.line}if(t.position.end.offsete.position.start.column;case"mappingKey":case"mappingValue":return t.position.start.column>e._parent.position.start.column&&(e.children.length===0||e.children.length===1&&e.children[0].type!=="blockFolded"&&e.children[0].type!=="blockLiteral")&&(e.type==="mappingValue"||gpr(e));default:return!1}}function gpr(e){return e.position.start!==e.position.end&&(e.children.length===0||e.position.start.offset!==e.children[0].position.start.offset)}function Gd(e,t){return{type:e,position:t}}function CSn(e,t,r){return{...Gd("root",e),children:t,comments:r}}function V9e(e){switch(e.type){case"DOCUMENT":for(let t=e.contents.length-1;t>=0;t--)e.contents[t].type==="BLANK_LINE"?e.contents.splice(t,1):V9e(e.contents[t]);for(let t=e.directives.length-1;t>=0;t--)e.directives[t].type==="BLANK_LINE"&&e.directives.splice(t,1);break;case"FLOW_MAP":case"FLOW_SEQ":case"MAP":case"SEQ":for(let t=e.items.length-1;t>=0;t--){let r=e.items[t];"char"in r||(r.type==="BLANK_LINE"?e.items.splice(t,1):V9e(r))}break;case"MAP_KEY":case"MAP_VALUE":case"SEQ_ITEM":e.node&&V9e(e.node);break;case"ALIAS":case"BLANK_LINE":case"BLOCK_FOLDED":case"BLOCK_LITERAL":case"COMMENT":case"DIRECTIVE":case"PLAIN":case"QUOTE_DOUBLE":case"QUOTE_SINGLE":break;default:throw new Error(`Unexpected node type ${JSON.stringify(e.type)}`)}}function Dse(){return{leadingComments:[]}}function rAe(e=null){return{trailingComment:e}}function jX(){return{...Dse(),...rAe()}}function ASn(e,t,r){return{...Gd("alias",e),...jX(),...t,value:r}}function gSn(e,t){let r=e.cstNode;return ASn(t.transformRange({origStart:r.valueRange.origStart-1,origEnd:r.valueRange.origEnd}),t.transformContent(e),r.rawValue)}function bSn(e){return{...e,type:"blockFolded"}}function ESn(e,t,r,n,i,s){return{...Gd("blockValue",e),...Dse(),...t,chomping:r,indent:n,value:i,indicatorComment:s}}function OSn(e,t){return{...Gd("anchor",e),value:t}}function sAt(e,t){return{...Gd("comment",e),value:t}}function vSn(e,t,r){return{anchor:t,tag:e,middleComments:r}}function DSn(e,t){return{...Gd("tag",e),value:t}}function bpr(e,t,r=()=>!1){let n=e.cstNode,i=[],s=null,R=null,l=null;for(let c of n.props){let h=t.text[c.origStart];switch(h){case Ese.Tag:s=s||c,R=DSn(t.transformRange(c),e.tag);break;case Ese.Anchor:s=s||c,l=OSn(t.transformRange(c),n.anchor);break;case Ese.Comment:{let _=sAt(t.transformRange(c),t.text.slice(c.origStart+1,c.origEnd));t.comments.push(_),!r(_)&&s&&s.origEnd<=c.origStart&&c.origEnd<=n.valueRange.origStart&&i.push(_);break}default:throw new Error(`Unexpected leading character ${JSON.stringify(h)}`)}}return vSn(R,l,i)}function Epr(e,t){let r=e.cstNode,n=1,i=r.chomping==="CLIP"?0:1,s=r.header.origEnd-r.header.origStart-n-i!==0,R=t.transformRange({origStart:r.header.origStart,origEnd:r.valueRange.origEnd}),l=null,c=bpr(e,t,h=>{if(!(R.start.offset=0;c--){let h=e.contents[c];if(h.type==="COMMENT"){let _=t.transformNode(h);r&&r.line===_.position.start.line?R.unshift(_):l?n.unshift(_):_.position.start.offset>=e.valueRange.origEnd?s.unshift(_):n.unshift(_)}else l=!0}if(s.length>1)throw new Error(`Unexpected multiple document trailing comments at ${Z9e(s[1].position.start)}`);if(R.length>1)throw new Error(`Unexpected multiple documentHead trailing comments at ${Z9e(R[1].position.start)}`);return{comments:n,endComments:i,documentTrailingComment:zW(s)||null,documentHeadTrailingComment:zW(R)||null}}function USn(e,t,r){let n=Opr(r.text.slice(e.valueRange.origEnd),/^\.\.\./),i=n===-1?e.valueRange.origEnd:Math.max(0,e.valueRange.origEnd-1);r.text[i-1]==="\r"&&i--;let s=r.transformRange({origStart:t!==null?t.position.start.offset:i,origEnd:i}),R=n===-1?s.end:r.transformOffset(e.valueRange.origEnd+3);return{position:s,documentEndPoint:R}}function FSn(e,t,r,n){return{...Gd("documentHead",e),...JX(r),...rAe(n),children:t}}function LSn(e,t){let r=e.cstNode,{directives:n,comments:i,endComments:s}=zSn(r,t),{position:R,endMarkerPoint:l}=HSn(r,n,t);return t.comments.push(...i,...s),{createDocumentHeadWithTrailingComment:c=>(c&&t.comments.push(c),FSn(R,n,s,c)),documentHeadEndMarkerPoint:l}}function zSn(e,t){let r=[],n=[],i=[],s=!1;for(let R=e.directives.length-1;R>=0;R--){let l=t.transformNode(e.directives[R]);l.type==="comment"?s?n.unshift(l):i.unshift(l):(s=!0,r.unshift(l))}return{directives:r,comments:n,endComments:i}}function HSn(e,t,r){let n=Opr(r.text.slice(0,e.valueRange.origStart),/---\s*$/);n>0&&!/[\r\n]/.test(r.text[n-1])&&(n=-1);let i=n===-1?{origStart:e.valueRange.origStart,origEnd:e.valueRange.origStart}:{origStart:n,origEnd:n+3};return t.length!==0&&(i.origStart=t[0].position.start.offset),{position:r.transformRange(i),endMarkerPoint:n===-1?null:r.transformOffset(n)}}function YSn(e,t){let{createDocumentHeadWithTrailingComment:r,documentHeadEndMarkerPoint:n}=LSn(e,t),{documentBody:i,documentEndPoint:s,documentTrailingComment:R,documentHeadTrailingComment:l}=MSn(e,t,n),c=r(l);return R&&t.comments.push(R),BSn(GX(c.position.start,s),c,i,R)}function vpr(e,t,r){return{...Gd("flowCollection",e),...jX(),...JX(),...t,children:r}}function KSn(e,t,r){return{...vpr(e,t,r),type:"flowMapping"}}function Dpr(e,t,r){return{...Gd("flowMappingItem",e),...Dse(),children:[t,r]}}function nAe(e,t){let r=[];for(let n of e)n&&"type"in n&&n.type==="COMMENT"?t.comments.push(t.transformNode(n)):r.push(n);return r}function Spr(e){let[t,r]=["?",":"].map(n=>{let i=e.find(s=>"char"in s&&s.char===n);return i?{origStart:i.origOffset,origEnd:i.origOffset+1}:null});return{additionalKeyRange:t,additionalValueRange:r}}function $pr(e,t){let r=t;return n=>e.slice(r,r=n)}function Qpr(e){let t=[],r=$pr(e,1),n=!1;for(let i=1;i{let h=n[c],{additionalKeyRange:_,additionalValueRange:f}=Spr(h);return RAt(l,t,Dpr,_,f)}),s=r[0],R=zW(r);return KSn(t.transformRange({origStart:s.origOffset,origEnd:R.origOffset+1}),t.transformContent(e),i)}function VSn(e,t,r){return{...vpr(e,t,r),type:"flowSequence"}}function jSn(e,t){return{...Gd("flowSequenceItem",e),children:[t]}}function JSn(e,t){let r=nAe(e.cstNode.items,t),n=Qpr(r),i=e.items.map((l,c)=>{if(l.type!=="PAIR"){let h=t.transformNode(l);return jSn(GX(h.position.start,h.position.end),h)}else{let h=n[c],{additionalKeyRange:_,additionalValueRange:f}=Spr(h);return RAt(l,t,Dpr,_,f)}}),s=r[0],R=zW(r);return VSn(t.transformRange({origStart:s.origOffset,origEnd:R.origOffset+1}),t.transformContent(e),i)}function XSn(e,t,r){return{...Gd("mapping",e),...Dse(),...t,children:r}}function ZSn(e,t,r){return{...Gd("mappingItem",e),...Dse(),children:[t,r]}}function e$n(e,t){let r=e.cstNode;r.items.filter(R=>R.type==="MAP_KEY"||R.type==="MAP_VALUE").forEach(R=>oAt(R,t));let n=nAe(r.items,t),i=t$n(n),s=e.items.map((R,l)=>{let c=i[l],[h,_]=c[0].type==="MAP_VALUE"?[null,c[0].range]:[c[0].range,c.length===1?null:c[1].range];return RAt(R,t,ZSn,h,_)});return XSn(GX(s[0].position.start,zW(s).position.end),t.transformContent(e),s)}function t$n(e){let t=[],r=$pr(e,0),n=!1;for(let i=0;i=0;n--)if(r.test(e[n]))return n;return-1}function i$n(e,t){let r=e.cstNode;return r$n(t.transformRange({origStart:r.valueRange.origStart,origEnd:n$n(t.text,r.valueRange.origEnd-1,/\S/)+1}),t.transformContent(e),r.strValue)}function a$n(e){return{...e,type:"quoteDouble"}}function s$n(e,t,r){return{...Gd("quoteValue",e),...t,...jX(),value:r}}function Npr(e,t){let r=e.cstNode;return s$n(t.transformRange(r.valueRange),t.transformContent(e),r.strValue)}function o$n(e,t){return a$n(Npr(e,t))}function R$n(e){return{...e,type:"quoteSingle"}}function u$n(e,t){return R$n(Npr(e,t))}function l$n(e,t,r){return{...Gd("sequence",e),...Dse(),...JX(),...t,children:r}}function c$n(e,t){return{...Gd("sequenceItem",e),...jX(),...JX(),children:t?[t]:[]}}function T$n(e,t){let r=nAe(e.cstNode.items,t).map((n,i)=>{oAt(n,t);let s=t.transformNode(e.items[i]);return c$n(GX(t.transformOffset(n.valueRange.origStart),s===null?t.transformOffset(n.valueRange.origStart+1):s.position.end),s)});return l$n(GX(r[0].position.start,zW(r).position.end),t.transformContent(e),r)}function p$n(e,t){if(e===null||e.type===void 0&&e.value===null)return null;switch(e.type){case"ALIAS":return gSn(e,t);case"BLOCK_FOLDED":return SSn(e,t);case"BLOCK_LITERAL":return QSn(e,t);case"COMMENT":return NSn(e,t);case"DIRECTIVE":return PSn(e,t);case"DOCUMENT":return YSn(e,t);case"FLOW_MAP":return GSn(e,t);case"FLOW_SEQ":return JSn(e,t);case"MAP":return e$n(e,t);case"PLAIN":return i$n(e,t);case"QUOTE_DOUBLE":return o$n(e,t);case"QUOTE_SINGLE":return u$n(e,t);case"SEQ":return T$n(e,t);default:throw new Error(`Unexpected node type ${e.type}`)}}function _$n(e,t,r){let n=new SyntaxError(e);return n.name="YAMLSyntaxError",n.source=t,n.position=r,n}function h$n(e,t){let r=e.source.range||e.source.valueRange;return _$n(e.message,t.text,t.transformRange(r))}function f$n(e,t,r){return{offset:e,line:t,column:r}}function d$n(e,t){e<0?e=0:e>t.text.length&&(e=t.text.length);let r=t.locator.locationForIndex(e);return f$n(e,r.line+1,r.column+1)}function x$n(e,t){return GX(t.transformOffset(e.origStart),t.transformOffset(e.origEnd))}function m$n(e){if(!e.setOrigRanges()){let t=r=>{if(k$n(r))return r.origStart=r.start,r.origEnd=r.end,!0;if(y$n(r))return r.origOffset=r.offset,!0};e.forEach(r=>V9t(r,t))}}function V9t(e,t){if(!(!e||typeof e!="object")&&t(e)!==!0)for(let r of Object.keys(e)){if(r==="context"||r==="error")continue;let n=e[r];Array.isArray(n)?n.forEach(i=>V9t(i,t)):V9t(n,t)}}function k$n(e){return typeof e.start=="number"}function y$n(e){return typeof e.offset=="number"}function wpr(e){if("children"in e){if(e.children.length===1){let t=e.children[0];if(t.type==="plain"&&t.tag===null&&t.anchor===null&&t.value==="")return e.children.splice(0,1),e}e.children.forEach(wpr)}return e}function M1r(e,t,r,n){let i=t(e);return s=>{n(i,s)&&r(e,i=s)}}function Ppr(e){if(e===null||!("children"in e))return;let t=e.children;if(t.forEach(Ppr),e.type==="document"){let[s,R]=e.children;s.position.start.offset===s.position.end.offset?s.position.start=s.position.end=R.position.start:R.position.start.offset===R.position.end.offset&&(R.position.start=R.position.end=s.position.end)}let r=M1r(e.position,q$n,C$n,b$n),n=M1r(e.position,A$n,g$n,E$n);"endComments"in e&&e.endComments.length!==0&&(r(e.endComments[0].position.start),n(zW(e.endComments).position.end));let i=t.filter(s=>s!==null);if(i.length!==0){let s=i[0],R=zW(i);r(s.position.start),n(R.position.end),"leadingComments"in s&&s.leadingComments.length!==0&&r(s.leadingComments[0].position.start),"tag"in s&&s.tag&&r(s.tag.position.start),"anchor"in s&&s.anchor&&r(s.anchor.position.start),"trailingComment"in R&&R.trailingComment&&n(R.trailingComment.position.end)}}function q$n(e){return e.start}function C$n(e,t){e.start=t}function A$n(e){return e.end}function g$n(e,t){e.end=t}function b$n(e,t){return t.offsete.offset}function $$n(e){let t=S$n(e);m$n(t);let r=t.map(l=>new D$n({merge:!1,keepCstNodes:!0}).parse(l)),n=new xSn(e),i=[],s={text:e,locator:n,comments:i,transformOffset:l=>d$n(l,s),transformRange:l=>x$n(l,s),transformNode:l=>p$n(l,s),transformContent:l=>bpr(l,s)};for(let l of r)for(let c of l.errors)if(!(c instanceof v$n&&c.message==='Map keys must be unique; "<<" is repeated'))throw h$n(c,s);r.forEach(l=>V9e(l.cstNode));let R=CSn(s.transformRange({origStart:0,origEnd:s.text.length}),r.map(s.transformNode),i);return mSn(R),Ppr(R),wpr(R),R}function Q$n(e,t){let r=new SyntaxError(e+" ("+t.loc.start.line+":"+t.loc.start.column+")");return Object.assign(r,t)}function w$n(e){try{let t=$$n(e);return delete t.comments,t}catch(t){throw t!=null&&t.position?N$n(t.message,{loc:t.position,cause:t}):t}}var sDn,j9t,oDn,RDn,uDn,lDn,Qw,W1r,cDn,U1r,VX,TDn,$de,K1r,j1r,pDn,_Dn,hDn,fDn,Z1r,dDn,P9t,epr,tpr,rpr,npr,J9t,ipr,X9t,Z9t,eAt,apr,tAt,spr,vse,opr,rAt,Rpr,upr,mDn,yDn,qDn,lpr,Ose,nAt,iAt,bDn,EDn,Qde,Tpr,yl,H9t,ODn,xg,Pdi,S1r,Bdi,Idi,$1r,QDn,NDn,wDn,PDn,Ode,BDn,WDn,UDn,FDn,LDn,zDn,Nde,B9t,rSn,oSn,lSn,hSn,fSn,qpr,M9t,dSn,Cpr,aAt,K9e,w1r,xSn,Ese,G9t,O$n,mg,Mdi,Wdi,Udi,Fdi,Ldi,zdi,Hdi,Ydi,Kdi,v$n,Gdi,Vdi,D$n,S$n,N$n,P$n,Bpr,B$n,Mpr=mp(()=>{sDn=Object.create,j9t=Object.defineProperty,oDn=Object.getOwnPropertyDescriptor,RDn=Object.getOwnPropertyNames,uDn=Object.getPrototypeOf,lDn=Object.prototype.hasOwnProperty,Qw=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),W1r=(e,t)=>{for(var r in t)j9t(e,r,{get:t[r],enumerable:!0})},cDn=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of RDn(t))!lDn.call(e,i)&&i!==r&&j9t(e,i,{get:()=>t[i],enumerable:!(n=oDn(t,i))||n.enumerable});return e},U1r=(e,t,r)=>(r=e!=null?sDn(uDn(e)):{},cDn(t||!e||!e.__esModule?j9t(r,"default",{value:e,enumerable:!0}):r,e)),VX=Qw(e=>{"use strict";var t={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."},r={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"},n="tag:yaml.org,2002:",i={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function s(M){let U=[0],w=M.indexOf(` +`);for(;w!==-1;)w+=1,U.push(w),w=M.indexOf(` +`,w);return U}function R(M){let U,w;return typeof M=="string"?(U=s(M),w=M):(Array.isArray(M)&&(M=M[0]),M&&M.context&&(M.lineStarts||(M.lineStarts=s(M.context.src)),U=M.lineStarts,w=M.context.src)),{lineStarts:U,src:w}}function l(M,U){if(typeof M!="number"||M<0)return null;let{lineStarts:w,src:F}=R(U);if(!w||!F||M>F.length)return null;for(let G=0;G=1)||M>w.length)return null;let H=w[M-1],G=w[M];for(;G&&G>H&&F[G-1]===` +`;)--G;return F.slice(H,G)}function h({start:M,end:U},w,F=80){let H=c(M.line,w);if(!H)return null;let{col:G}=M;if(H.length>F)if(G<=F-10)H=H.substr(0,F-1)+"\u2026";else{let Ae=Math.round(F/2);H.length>G+Ae&&(H=H.substr(0,G+Ae-1)+"\u2026"),G-=H.length-F,H="\u2026"+H.substr(1-F)}let ee=1,fe="";U&&(U.line===M.line&&G+(U.col-M.col)<=F+1?ee=U.col-M.col:(ee=Math.min(H.length+1,F)-G,fe="\u2026"));let me=G>1?" ".repeat(G-1):"",ve="^".repeat(ee);return`${H} +${me}${ve}${fe}`}var _=class F1r{static copy(U){return new F1r(U.start,U.end)}constructor(U,w){this.start=U,this.end=w||U}isEmpty(){return typeof this.start!="number"||!this.end||this.end<=this.start}setOrigRange(U,w){let{start:F,end:H}=this;if(U.length===0||H<=U[0])return this.origStart=F,this.origEnd=H,w;let G=w;for(;GF);)++G;this.origStart=F+G;let ee=G;for(;G=H);)++G;return this.origEnd=H+G,ee}},f=class Sw{static addStringTerminator(U,w,F){if(F[F.length-1]===` +`)return F;let H=Sw.endOfWhiteSpace(U,w);return H>=U.length||U[H]===` +`?F+` +`:F}static atDocumentBoundary(U,w,F){let H=U[w];if(!H)return!0;let G=U[w-1];if(G&&G!==` +`)return!1;if(F){if(H!==F)return!1}else if(H!==t.DIRECTIVES_END&&H!==t.DOCUMENT_END)return!1;let ee=U[w+1],fe=U[w+2];if(ee!==H||fe!==H)return!1;let me=U[w+3];return!me||me===` +`||me===" "||me===" "}static endOfIdentifier(U,w){let F=U[w],H=F==="<",G=H?[` +`," "," ",">"]:[` +`," "," ","[","]","{","}",","];for(;F&&G.indexOf(F)===-1;)F=U[w+=1];return H&&F===">"&&(w+=1),w}static endOfIndent(U,w){let F=U[w];for(;F===" ";)F=U[w+=1];return w}static endOfLine(U,w){let F=U[w];for(;F&&F!==` +`;)F=U[w+=1];return w}static endOfWhiteSpace(U,w){let F=U[w];for(;F===" "||F===" ";)F=U[w+=1];return w}static startOfLine(U,w){let F=U[w-1];if(F===` +`)return w;for(;F&&F!==` +`;)F=U[w-=1];return w+1}static endOfBlockIndent(U,w,F){let H=Sw.endOfIndent(U,F);if(H>F+w)return H;{let G=Sw.endOfWhiteSpace(U,H),ee=U[G];if(!ee||ee===` +`)return G}return null}static atBlank(U,w,F){let H=U[w];return H===` +`||H===" "||H===" "||F&&!H}static nextNodeIsIndented(U,w,F){return!U||w<0?!1:w>0?!0:F&&U==="-"}static normalizeOffset(U,w){let F=U[w];return F?F!==` +`&&U[w-1]===` +`?w-1:Sw.endOfWhiteSpace(U,w):w}static foldNewline(U,w,F){let H=0,G=!1,ee="",fe=U[w+1];for(;fe===" "||fe===" "||fe===` +`;){switch(fe){case` +`:H=0,w+=1,ee+=` +`;break;case" ":H<=F&&(G=!0),w=Sw.endOfWhiteSpace(U,w+2)-1;break;case" ":H+=1,w+=1;break}fe=U[w+1]}return ee||(ee=" "),fe&&H<=F&&(G=!0),{fold:ee,offset:w,error:G}}constructor(U,w,F){Object.defineProperty(this,"context",{value:F||null,writable:!0}),this.error=null,this.range=null,this.valueRange=null,this.props=w||[],this.type=U,this.value=null}getPropValue(U,w,F){if(!this.context)return null;let{src:H}=this.context,G=this.props[U];return G&&H[G.start]===w?H.slice(G.start+(F?1:0),G.end):null}get anchor(){for(let U=0;U0?U.join(` +`):null}commentHasRequiredWhitespace(U){let{src:w}=this.context;if(this.header&&U===this.header.end||!this.valueRange)return!1;let{end:F}=this.valueRange;return U!==F||Sw.atBlank(w,F-1)}get hasComment(){if(this.context){let{src:U}=this.context;for(let w=0;wF.setOrigRange(U,w)),w}toString(){let{context:{src:U},range:w,value:F}=this;if(F!=null)return F;let H=U.slice(w.start,w.end);return Sw.addStringTerminator(U,w.end,H)}},m=class extends Error{constructor(M,U,w){if(!w||!(U instanceof f))throw new Error(`Invalid arguments for new ${M}`);super(),this.name=M,this.message=w,this.source=U}makePretty(){if(!this.source)return;this.nodeType=this.source.type;let M=this.source.context&&this.source.context.root;if(typeof this.offset=="number"){this.range=new _(this.offset,this.offset+1);let U=M&&l(this.offset,M);if(U){let w={line:U.line,col:U.col+1};this.linePos={start:U,end:w}}delete this.offset}else this.range=this.source.range,this.linePos=this.source.rangeAsLinePos;if(this.linePos){let{line:U,col:w}=this.linePos.start;this.message+=` at line ${U}, column ${w}`;let F=M&&h(this.linePos,M);F&&(this.message+=`: + +${F} +`)}delete this.source}},x=class extends m{constructor(M,U){super("YAMLReferenceError",M,U)}},y=class extends m{constructor(M,U){super("YAMLSemanticError",M,U)}},A=class extends m{constructor(M,U){super("YAMLSyntaxError",M,U)}},D=class extends m{constructor(M,U){super("YAMLWarning",M,U)}};function S(M,U,w){return U in M?Object.defineProperty(M,U,{value:w,enumerable:!0,configurable:!0,writable:!0}):M[U]=w,M}var P=class W9t extends f{static endOfLine(U,w,F){let H=U[w],G=w;for(;H&&H!==` +`&&!(F&&(H==="["||H==="]"||H==="{"||H==="}"||H===","));){let ee=U[G+1];if(H===":"&&(!ee||ee===` +`||ee===" "||ee===" "||F&&ee===",")||(H===" "||H===" ")&&ee==="#")break;G+=1,H=ee}return G}get strValue(){if(!this.valueRange||!this.context)return null;let{start:U,end:w}=this.valueRange,{src:F}=this.context,H=F[w-1];for(;Uve?F.slice(ve,fe+1):me)}else G+=me}let ee=F[U];switch(ee){case" ":{let fe="Plain value cannot start with a tab character";return{errors:[new y(this,fe)],str:G}}case"@":case"`":{let fe=`Plain value cannot start with reserved character ${ee}`;return{errors:[new y(this,fe)],str:G}}default:return G}}parseBlockValue(U){let{indent:w,inFlow:F,src:H}=this.context,G=U,ee=U;for(let fe=H[G];fe===` +`&&!f.atDocumentBoundary(H,G+1);fe=H[G]){let me=f.endOfBlockIndent(H,w,G+1);if(me===null||H[me]==="#")break;H[me]===` +`?G=me:(ee=W9t.endOfLine(H,me,F),G=ee)}return this.valueRange.isEmpty()&&(this.valueRange.start=U),this.valueRange.end=ee,ee}parse(U,w){this.context=U;let{inFlow:F,src:H}=U,G=w,ee=H[G];return ee&&ee!=="#"&&ee!==` +`&&(G=W9t.endOfLine(H,w,F)),this.valueRange=new _(w,G),G=f.endOfWhiteSpace(H,G),G=this.parseComment(G),(!this.hasComment||this.valueRange.isEmpty())&&(G=this.parseBlockValue(G)),G}};e.Char=t,e.Node=f,e.PlainValue=P,e.Range=_,e.Type=r,e.YAMLError=m,e.YAMLReferenceError=x,e.YAMLSemanticError=y,e.YAMLSyntaxError=A,e.YAMLWarning=D,e._defineProperty=S,e.defaultTagPrefix=n,e.defaultTags=i}),TDn=Qw(e=>{"use strict";var t=VX(),r=class extends t.Node{constructor(){super(t.Type.BLANK_LINE)}get includesTrailingLines(){return!0}parse(P,M){return this.context=P,this.range=new t.Range(M,M+1),M+1}},n=class extends t.Node{constructor(P,M){super(P,M),this.node=null}get includesTrailingLines(){return!!this.node&&this.node.includesTrailingLines}parse(P,M){this.context=P;let{parseNode:U,src:w}=P,{atLineStart:F,lineStart:H}=P;!F&&this.type===t.Type.SEQ_ITEM&&(this.error=new t.YAMLSemanticError(this,"Sequence items must not have preceding content on the same line"));let G=F?M-H:P.indent,ee=t.Node.endOfWhiteSpace(w,M+1),fe=w[ee],me=fe==="#",ve=[],Ae=null;for(;fe===` +`||fe==="#";){if(fe==="#"){let Ee=t.Node.endOfLine(w,ee+1);ve.push(new t.Range(ee,Ee)),ee=Ee}else{F=!0,H=ee+1;let Ee=t.Node.endOfWhiteSpace(w,H);w[Ee]===` +`&&ve.length===0&&(Ae=new r,H=Ae.parse({src:w},H)),ee=t.Node.endOfIndent(w,H)}fe=w[ee]}if(t.Node.nextNodeIsIndented(fe,ee-(H+G),this.type!==t.Type.SEQ_ITEM)?this.node=U({atLineStart:F,inCollection:!1,indent:G,lineStart:H,parent:this},ee):fe&&H>M+1&&(ee=H-1),this.node){if(Ae){let Ee=P.parent.items||P.parent.contents;Ee&&Ee.push(Ae)}ve.length&&Array.prototype.push.apply(this.props,ve),ee=this.node.range.end}else if(me){let Ee=ve[0];this.props.push(Ee),ee=Ee.end}else ee=t.Node.endOfLine(w,M+1);let Ue=this.node?this.node.valueRange.end:ee;return this.valueRange=new t.Range(M,Ue),ee}setOrigRanges(P,M){return M=super.setOrigRanges(P,M),this.node?this.node.setOrigRanges(P,M):M}toString(){let{context:{src:P},node:M,range:U,value:w}=this;if(w!=null)return w;let F=M?P.slice(U.start,M.range.start)+String(M):P.slice(U.start,U.end);return t.Node.addStringTerminator(P,U.end,F)}},i=class extends t.Node{constructor(){super(t.Type.COMMENT)}parse(P,M){this.context=P;let U=this.parseComment(M);return this.range=new t.Range(M,U),U}};function s(P){let M=P;for(;M instanceof n;)M=M.node;if(!(M instanceof R))return null;let U=M.items.length,w=-1;for(let G=U-1;G>=0;--G){let ee=M.items[G];if(ee.type===t.Type.COMMENT){let{indent:fe,lineStart:me}=ee.context;if(fe>0&&ee.range.start>=me+fe)break;w=G}else if(ee.type===t.Type.BLANK_LINE)w=G;else break}if(w===-1)return null;let F=M.items.splice(w,U-w),H=F[0].range.start;for(;M.range.end=H,M.valueRange&&M.valueRange.end>H&&(M.valueRange.end=H),M!==P;)M=M.context.parent;return F}var R=class U9t extends t.Node{static nextContentHasIndent(M,U,w){let F=t.Node.endOfLine(M,U)+1;U=t.Node.endOfWhiteSpace(M,F);let H=M[U];return H?U>=F+w?!0:H!=="#"&&H!==` +`?!1:U9t.nextContentHasIndent(M,U,w):!1}constructor(M){super(M.type===t.Type.SEQ_ITEM?t.Type.SEQ:t.Type.MAP);for(let w=M.props.length-1;w>=0;--w)if(M.props[w].start0}parse(M,U){this.context=M;let{parseNode:w,src:F}=M,H=t.Node.startOfLine(F,U),G=this.items[0];G.context.parent=this,this.valueRange=t.Range.copy(G.valueRange);let ee=G.range.start-G.context.lineStart,fe=U;fe=t.Node.normalizeOffset(F,fe);let me=F[fe],ve=t.Node.endOfWhiteSpace(F,H)===fe,Ae=!1;for(;me;){for(;me===` +`||me==="#";){if(ve&&me===` +`&&!Ae){let Me=new r;if(fe=Me.parse({src:F},fe),this.valueRange.end=fe,fe>=F.length){me=null;break}this.items.push(Me),fe-=1}else if(me==="#"){if(fe=F.length){me=null;break}}if(H=fe+1,fe=t.Node.endOfIndent(F,H),t.Node.atBlank(F,fe)){let Me=t.Node.endOfWhiteSpace(F,fe),gt=F[Me];(!gt||gt===` +`||gt==="#")&&(fe=Me)}me=F[fe],ve=!0}if(!me)break;if(fe!==H+ee&&(ve||me!==":")){if(feU&&(fe=H);break}else if(!this.error){let Me="All collection items must start at the same column";this.error=new t.YAMLSyntaxError(this,Me)}}if(G.type===t.Type.SEQ_ITEM){if(me!=="-"){H>U&&(fe=H);break}}else if(me==="-"&&!this.error){let Me=F[fe+1];if(!Me||Me===` +`||Me===" "||Me===" "){let gt="A collection cannot be both a mapping and a sequence";this.error=new t.YAMLSyntaxError(this,gt)}}let Ue=w({atLineStart:ve,inCollection:!0,indent:ee,lineStart:H,parent:this},fe);if(!Ue)return fe;if(this.items.push(Ue),this.valueRange.end=Ue.valueRange.end,fe=t.Node.normalizeOffset(F,Ue.range.end),me=F[fe],ve=!1,Ae=Ue.includesTrailingLines,me){let Me=fe-1,gt=F[Me];for(;gt===" "||gt===" ";)gt=F[--Me];gt===` +`&&(H=Me+1,ve=!0)}let Ee=s(Ue);Ee&&Array.prototype.push.apply(this.items,Ee)}return fe}setOrigRanges(M,U){return U=super.setOrigRanges(M,U),this.items.forEach(w=>{U=w.setOrigRanges(M,U)}),U}toString(){let{context:{src:M},items:U,range:w,value:F}=this;if(F!=null)return F;let H=M.slice(w.start,U[0].range.start)+String(U[0]);for(let G=1;G0&&(this.contents=this.directives,this.directives=[]),H}return U[H]?(this.directivesEndMarker=new t.Range(H,H+3),H+3):(F?this.error=new t.YAMLSemanticError(this,"Missing directives-end indicator line"):this.directives.length>0&&(this.contents=this.directives,this.directives=[]),H)}parseContents(M){let{parseNode:U,src:w}=this.context;this.contents||(this.contents=[]);let F=M;for(;w[F-1]==="-";)F-=1;let H=t.Node.endOfWhiteSpace(w,M),G=F===M;for(this.valueRange=new t.Range(H);!t.Node.atDocumentBoundary(w,H,t.Char.DOCUMENT_END);){switch(w[H]){case` +`:if(G){let ee=new r;H=ee.parse({src:w},H),H{U=w.setOrigRanges(M,U)}),this.directivesEndMarker&&(U=this.directivesEndMarker.setOrigRange(M,U)),this.contents.forEach(w=>{U=w.setOrigRanges(M,U)}),this.documentEndMarker&&(U=this.documentEndMarker.setOrigRange(M,U)),U}toString(){let{contents:M,directives:U,value:w}=this;if(w!=null)return w;let F=U.join("");return M.length>0&&((U.length>0||M[0].type===t.Type.COMMENT)&&(F+=`--- +`),F+=M.join("")),F[F.length-1]!==` +`&&(F+=` +`),F}},h=class extends t.Node{parse(P,M){this.context=P;let{src:U}=P,w=t.Node.endOfIdentifier(U,M+1);return this.valueRange=new t.Range(M+1,w),w=t.Node.endOfWhiteSpace(U,w),w=this.parseComment(w),w}},_={CLIP:"CLIP",KEEP:"KEEP",STRIP:"STRIP"},f=class extends t.Node{constructor(P,M){super(P,M),this.blockIndent=null,this.chomping=_.CLIP,this.header=null}get includesTrailingLines(){return this.chomping===_.KEEP}get strValue(){if(!this.valueRange||!this.context)return null;let{start:P,end:M}=this.valueRange,{indent:U,src:w}=this.context;if(this.valueRange.isEmpty())return"";let F=null,H=w[M-1];for(;H===` +`||H===" "||H===" ";){if(M-=1,M<=P){if(this.chomping===_.KEEP)break;return""}H===` +`&&(F=M),H=w[M-1]}let G=M+1;F&&(this.chomping===_.KEEP?(G=F,M=this.valueRange.end):M=F);let ee=U+this.blockIndent,fe=this.type===t.Type.BLOCK_FOLDED,me=!0,ve="",Ae="",Ue=!1;for(let Ee=P;EeG&&(G=ve);U[fe]===` +`?F=fe:F=H=t.Node.endOfLine(U,fe)}return this.chomping!==_.KEEP&&(F=U[H]?H+1:H),this.valueRange=new t.Range(P+1,F),F}parse(P,M){this.context=P;let{src:U}=P,w=this.parseBlockHeader(M);return w=t.Node.endOfWhiteSpace(U,w),w=this.parseComment(w),w=this.parseBlockValue(w),w}setOrigRanges(P,M){return M=super.setOrigRanges(P,M),this.header?this.header.setOrigRange(P,M):M}},m=class extends t.Node{constructor(P,M){super(P,M),this.items=null}prevNodeIsJsonLike(P=this.items.length){let M=this.items[P-1];return!!M&&(M.jsonLike||M.type===t.Type.COMMENT&&this.prevNodeIsJsonLike(P-1))}parse(P,M){this.context=P;let{parseNode:U,src:w}=P,{indent:F,lineStart:H}=P,G=w[M];this.items=[{char:G,offset:M}];let ee=t.Node.endOfWhiteSpace(w,M+1);for(G=w[ee];G&&G!=="]"&&G!=="}";){switch(G){case` +`:{H=ee+1;let fe=t.Node.endOfWhiteSpace(w,H);if(w[fe]===` +`){let me=new r;H=me.parse({src:w},H),this.items.push(me)}if(ee=t.Node.endOfIndent(w,H),ee<=H+F&&(G=w[ee],ee{if(U instanceof t.Node)M=U.setOrigRanges(P,M);else if(P.length===0)U.origOffset=U.offset;else{let w=M;for(;wU.offset);)++w;U.origOffset=U.offset+w,M=w}}),M}toString(){let{context:{src:P},items:M,range:U,value:w}=this;if(w!=null)return w;let F=M.filter(ee=>ee instanceof t.Node),H="",G=U.start;return F.forEach(ee=>{let fe=P.slice(G,ee.range.start);G=ee.range.end,H+=fe+String(ee),H[H.length-1]===` +`&&P[G-1]!==` +`&&P[G]===` +`&&(G+=1)}),H+=P.slice(G,U.end),t.Node.addStringTerminator(P,U.end,H)}},x=class L1r extends t.Node{static endOfQuote(M,U){let w=M[U];for(;w&&w!=='"';)U+=w==="\\"?2:1,w=M[U];return U+1}get strValue(){if(!this.valueRange||!this.context)return null;let M=[],{start:U,end:w}=this.valueRange,{indent:F,src:H}=this.context;H[w-1]!=='"'&&M.push(new t.YAMLSyntaxError(this,'Missing closing "quote'));let G="";for(let ee=U+1;eeme?H.slice(me,ee+1):fe)}else G+=fe}return M.length>0?{errors:M,str:G}:G}parseCharCode(M,U,w){let{src:F}=this.context,H=F.substr(M,U),G=H.length===U&&/^[0-9a-fA-F]+$/.test(H)?parseInt(H,16):NaN;return isNaN(G)?(w.push(new t.YAMLSyntaxError(this,`Invalid escape sequence ${F.substr(M-2,U+2)}`)),F.substr(M-2,U+2)):String.fromCodePoint(G)}parse(M,U){this.context=M;let{src:w}=M,F=L1r.endOfQuote(w,U+1);return this.valueRange=new t.Range(U,F),F=t.Node.endOfWhiteSpace(w,F),F=this.parseComment(F),F}},y=class z1r extends t.Node{static endOfQuote(M,U){let w=M[U];for(;w;)if(w==="'"){if(M[U+1]!=="'")break;w=M[U+=2]}else w=M[U+=1];return U+1}get strValue(){if(!this.valueRange||!this.context)return null;let M=[],{start:U,end:w}=this.valueRange,{indent:F,src:H}=this.context;H[w-1]!=="'"&&M.push(new t.YAMLSyntaxError(this,"Missing closing 'quote"));let G="";for(let ee=U+1;eeme?H.slice(me,ee+1):fe)}else G+=fe}return M.length>0?{errors:M,str:G}:G}parse(M,U){this.context=M;let{src:w}=M,F=z1r.endOfQuote(w,U+1);return this.valueRange=new t.Range(U,F),F=t.Node.endOfWhiteSpace(w,F),F=this.parseComment(F),F}};function A(P,M){switch(P){case t.Type.ALIAS:return new h(P,M);case t.Type.BLOCK_FOLDED:case t.Type.BLOCK_LITERAL:return new f(P,M);case t.Type.FLOW_MAP:case t.Type.FLOW_SEQ:return new m(P,M);case t.Type.MAP_KEY:case t.Type.MAP_VALUE:case t.Type.SEQ_ITEM:return new n(P,M);case t.Type.COMMENT:case t.Type.PLAIN:return new t.PlainValue(P,M);case t.Type.QUOTE_DOUBLE:return new x(P,M);case t.Type.QUOTE_SINGLE:return new y(P,M);default:return null}}var D=class G9e{static parseType(M,U,w){switch(M[U]){case"*":return t.Type.ALIAS;case">":return t.Type.BLOCK_FOLDED;case"|":return t.Type.BLOCK_LITERAL;case"{":return t.Type.FLOW_MAP;case"[":return t.Type.FLOW_SEQ;case"?":return!w&&t.Node.atBlank(M,U+1,!0)?t.Type.MAP_KEY:t.Type.PLAIN;case":":return!w&&t.Node.atBlank(M,U+1,!0)?t.Type.MAP_VALUE:t.Type.PLAIN;case"-":return!w&&t.Node.atBlank(M,U+1,!0)?t.Type.SEQ_ITEM:t.Type.PLAIN;case'"':return t.Type.QUOTE_DOUBLE;case"'":return t.Type.QUOTE_SINGLE;default:return t.Type.PLAIN}}constructor(M={},{atLineStart:U,inCollection:w,inFlow:F,indent:H,lineStart:G,parent:ee}={}){t._defineProperty(this,"parseNode",(fe,me)=>{if(t.Node.atDocumentBoundary(this.src,me))return null;let ve=new G9e(this,fe),{props:Ae,type:Ue,valueStart:Ee}=ve.parseProps(me),Me=A(Ue,Ae),gt=Me.parse(ve,Ee);if(Me.range=new t.Range(me,gt),gt<=me&&(Me.error=new Error("Node#parse consumed no characters"),Me.error.parseEnd=gt,Me.error.source=Me,Me.range.end=me+1),ve.nodeStartsCollection(Me)){!Me.error&&!ve.atLineStart&&ve.parent.type===t.Type.DOCUMENT&&(Me.error=new t.YAMLSyntaxError(Me,"Block collection must not have preceding content here (e.g. directives-end indicator)"));let xt=new R(Me);return gt=xt.parse(new G9e(ve),gt),xt.range=new t.Range(me,gt),xt}return Me}),this.atLineStart=U??(M.atLineStart||!1),this.inCollection=w??(M.inCollection||!1),this.inFlow=F??(M.inFlow||!1),this.indent=H??M.indent,this.lineStart=G??M.lineStart,this.parent=ee??(M.parent||{}),this.root=M.root,this.src=M.src}nodeStartsCollection(M){let{inCollection:U,inFlow:w,src:F}=this;if(U||w)return!1;if(M instanceof n)return!0;let H=M.range.end;return F[H]===` +`||F[H-1]===` +`?!1:(H=t.Node.endOfWhiteSpace(F,H),F[H]===":")}parseProps(M){let{inFlow:U,parent:w,src:F}=this,H=[],G=!1;M=this.atLineStart?t.Node.endOfIndent(F,M):t.Node.endOfWhiteSpace(F,M);let ee=F[M];for(;ee===t.Char.ANCHOR||ee===t.Char.COMMENT||ee===t.Char.TAG||ee===` +`;){if(ee===` +`){let me=M,ve;do ve=me+1,me=t.Node.endOfIndent(F,ve);while(F[me]===` +`);let Ae=me-(ve+this.indent),Ue=w.type===t.Type.SEQ_ITEM&&w.context.atLineStart;if(F[me]!=="#"&&!t.Node.nextNodeIsIndented(F[me],Ae,!Ue))break;this.atLineStart=!0,this.lineStart=ve,G=!1,M=me}else if(ee===t.Char.COMMENT){let me=t.Node.endOfLine(F,M+1);H.push(new t.Range(M,me)),M=me}else{let me=t.Node.endOfIdentifier(F,M+1);ee===t.Char.TAG&&F[me]===","&&/^[a-zA-Z0-9-]+\.[a-zA-Z0-9-]+,\d\d\d\d(-\d\d){0,2}\/\S/.test(F.slice(M+1,me+13))&&(me=t.Node.endOfIdentifier(F,me+5)),H.push(new t.Range(M,me)),G=!0,M=t.Node.endOfWhiteSpace(F,me)}ee=F[M]}G&&ee===":"&&t.Node.atBlank(F,M+1,!0)&&(M-=1);let fe=G9e.parseType(F,M,U);return{props:H,type:fe,valueStart:M}}};function S(P){let M=[];P.indexOf("\r")!==-1&&(P=P.replace(/\r\n?/g,(F,H)=>(F.length>1&&M.push(H),` +`)));let U=[],w=0;do{let F=new c,H=new D({src:P});w=F.parse(H,w),U.push(F)}while(w{if(M.length===0)return!1;for(let H=1;HU.join(`... +`),U}e.parse=S}),$de=Qw(e=>{"use strict";var t=VX();function r(mt,ot,Je){return Je?`#${Je.replace(/[\s\S]^/gm,`$&${ot}#`)} +${ot}${mt}`:mt}function n(mt,ot,Je){return Je?Je.indexOf(` +`)===-1?`${mt} #${Je}`:`${mt} +`+Je.replace(/^/gm,`${ot||""}#`):mt}var i=class{};function s(mt,ot,Je){if(Array.isArray(mt))return mt.map((Ct,Pt)=>s(Ct,String(Pt),Je));if(mt&&typeof mt.toJSON=="function"){let Ct=Je&&Je.anchors&&Je.anchors.get(mt);Ct&&(Je.onCreate=Zt=>{Ct.res=Zt,delete Je.onCreate});let Pt=mt.toJSON(ot,Je);return Ct&&Je.onCreate&&Je.onCreate(Pt),Pt}return(!Je||!Je.keep)&&typeof mt=="bigint"?Number(mt):mt}var R=class extends i{constructor(mt){super(),this.value=mt}toJSON(mt,ot){return ot&&ot.keep?this.value:s(this.value,mt,ot)}toString(){return String(this.value)}};function l(mt,ot,Je){let Ct=Je;for(let Pt=ot.length-1;Pt>=0;--Pt){let Zt=ot[Pt];if(Number.isInteger(Zt)&&Zt>=0){let dr=[];dr[Zt]=Ct,Ct=dr}else{let dr={};Object.defineProperty(dr,Zt,{value:Ct,writable:!0,enumerable:!0,configurable:!0}),Ct=dr}}return mt.createNode(Ct,!1)}var c=mt=>mt==null||typeof mt=="object"&&mt[Symbol.iterator]().next().done,h=class KX extends i{constructor(ot){super(),t._defineProperty(this,"items",[]),this.schema=ot}addIn(ot,Je){if(c(ot))this.add(Je);else{let[Ct,...Pt]=ot,Zt=this.get(Ct,!0);if(Zt instanceof KX)Zt.addIn(Pt,Je);else if(Zt===void 0&&this.schema)this.set(Ct,l(this.schema,Pt,Je));else throw new Error(`Expected YAML collection at ${Ct}. Remaining path: ${Pt}`)}}deleteIn([ot,...Je]){if(Je.length===0)return this.delete(ot);let Ct=this.get(ot,!0);if(Ct instanceof KX)return Ct.deleteIn(Je);throw new Error(`Expected YAML collection at ${ot}. Remaining path: ${Je}`)}getIn([ot,...Je],Ct){let Pt=this.get(ot,!0);return Je.length===0?!Ct&&Pt instanceof R?Pt.value:Pt:Pt instanceof KX?Pt.getIn(Je,Ct):void 0}hasAllNullValues(){return this.items.every(ot=>{if(!ot||ot.type!=="PAIR")return!1;let Je=ot.value;return Je==null||Je instanceof R&&Je.value==null&&!Je.commentBefore&&!Je.comment&&!Je.tag})}hasIn([ot,...Je]){if(Je.length===0)return this.has(ot);let Ct=this.get(ot,!0);return Ct instanceof KX?Ct.hasIn(Je):!1}setIn([ot,...Je],Ct){if(Je.length===0)this.set(ot,Ct);else{let Pt=this.get(ot,!0);if(Pt instanceof KX)Pt.setIn(Je,Ct);else if(Pt===void 0&&this.schema)this.set(ot,l(this.schema,Je,Ct));else throw new Error(`Expected YAML collection at ${ot}. Remaining path: ${Je}`)}}toJSON(){return null}toString(ot,{blockItem:Je,flowChars:Ct,isMap:Pt,itemIndent:Zt},dr,vr){let{indent:ln,indentStep:Mn,stringify:li}=ot,Pi=this.type===t.Type.FLOW_MAP||this.type===t.Type.FLOW_SEQ||ot.inFlow;Pi&&(Zt+=Mn);let Ss=Pt&&this.hasAllNullValues();ot=Object.assign({},ot,{allNullValues:Ss,indent:Zt,inFlow:Pi,type:null});let Ca=!1,Jr=!1,Mr=this.items.reduce((Ar,nn,On)=>{let bi;nn&&(!Ca&&nn.spaceBefore&&Ar.push({type:"comment",str:""}),nn.commentBefore&&nn.commentBefore.match(/^.*$/gm).forEach(Ta=>{Ar.push({type:"comment",str:`#${Ta}`})}),nn.comment&&(bi=nn.comment),Pi&&(!Ca&&nn.spaceBefore||nn.commentBefore||nn.comment||nn.key&&(nn.key.commentBefore||nn.key.comment)||nn.value&&(nn.value.commentBefore||nn.value.comment))&&(Jr=!0)),Ca=!1;let ji=li(nn,ot,()=>bi=null,()=>Ca=!0);return Pi&&!Jr&&ji.includes(` +`)&&(Jr=!0),Pi&&Onbi.str);if(Jr||On.reduce((bi,ji)=>bi+ji.length+2,2)>KX.maxFlowStringSingleLineLength){An=Ar;for(let bi of On)An+=bi?` +${Mn}${ln}${bi}`:` +`;An+=` +${ln}${nn}`}else An=`${Ar} ${On.join(" ")} ${nn}`}else{let Ar=Mr.map(Je);An=Ar.shift();for(let nn of Ar)An+=nn?` +${ln}${nn}`:` +`}return this.comment?(An+=` +`+this.comment.replace(/^/gm,`${ln}#`),dr&&dr()):Ca&&vr&&vr(),An}};t._defineProperty(h,"maxFlowStringSingleLineLength",60);function _(mt){let ot=mt instanceof R?mt.value:mt;return ot&&typeof ot=="string"&&(ot=Number(ot)),Number.isInteger(ot)&&ot>=0?ot:null}var f=class extends h{add(mt){this.items.push(mt)}delete(mt){let ot=_(mt);return typeof ot!="number"?!1:this.items.splice(ot,1).length>0}get(mt,ot){let Je=_(mt);if(typeof Je!="number")return;let Ct=this.items[Je];return!ot&&Ct instanceof R?Ct.value:Ct}has(mt){let ot=_(mt);return typeof ot=="number"&&otCt.type==="comment"?Ct.str:`- ${Ct.str}`,flowChars:{start:"[",end:"]"},isMap:!1,itemIndent:(mt.indent||"")+" "},ot,Je):JSON.stringify(this)}},m=(mt,ot,Je)=>ot===null?"":typeof ot!="object"?String(ot):mt instanceof i&&Je&&Je.doc?mt.toString({anchors:Object.create(null),doc:Je.doc,indent:"",indentStep:Je.indentStep,inFlow:!0,inStringifyKey:!0,stringify:Je.stringify}):JSON.stringify(ot),x=class H1r extends i{constructor(ot,Je=null){super(),this.key=ot,this.value=Je,this.type=H1r.Type.PAIR}get commentBefore(){return this.key instanceof i?this.key.commentBefore:void 0}set commentBefore(ot){if(this.key==null&&(this.key=new R(null)),this.key instanceof i)this.key.commentBefore=ot;else{let Je="Pair.commentBefore is an alias for Pair.key.commentBefore. To set it, the key must be a Node.";throw new Error(Je)}}addToJSMap(ot,Je){let Ct=s(this.key,"",ot);if(Je instanceof Map){let Pt=s(this.value,Ct,ot);Je.set(Ct,Pt)}else if(Je instanceof Set)Je.add(Ct);else{let Pt=m(this.key,Ct,ot),Zt=s(this.value,Pt,ot);Pt in Je?Object.defineProperty(Je,Pt,{value:Zt,writable:!0,enumerable:!0,configurable:!0}):Je[Pt]=Zt}return Je}toJSON(ot,Je){let Ct=Je&&Je.mapAsMap?new Map:{};return this.addToJSMap(Je,Ct)}toString(ot,Je,Ct){if(!ot||!ot.doc)return JSON.stringify(this);let{indent:Pt,indentSeq:Zt,simpleKeys:dr}=ot.doc.options,{key:vr,value:ln}=this,Mn=vr instanceof i&&vr.comment;if(dr){if(Mn)throw new Error("With simple keys, key nodes cannot have comments");if(vr instanceof h){let ji="With simple keys, collection cannot be used as a key value";throw new Error(ji)}}let li=!dr&&(!vr||Mn||(vr instanceof i?vr instanceof h||vr.type===t.Type.BLOCK_FOLDED||vr.type===t.Type.BLOCK_LITERAL:typeof vr=="object")),{doc:Pi,indent:Ss,indentStep:Ca,stringify:Jr}=ot;ot=Object.assign({},ot,{implicitKey:!li,indent:Ss+Ca});let Mr=!1,An=Jr(vr,ot,()=>Mn=null,()=>Mr=!0);if(An=n(An,ot.indent,Mn),!li&&An.length>1024){if(dr)throw new Error("With simple keys, single line scalar must not span more than 1024 characters");li=!0}if(ot.allNullValues&&!dr)return this.comment?(An=n(An,ot.indent,this.comment),Je&&Je()):Mr&&!Mn&&Ct&&Ct(),ot.inFlow&&!li?An:`? ${An}`;An=li?`? ${An} +${Ss}:`:`${An}:`,this.comment&&(An=n(An,ot.indent,this.comment),Je&&Je());let Ar="",nn=null;if(ln instanceof i){if(ln.spaceBefore&&(Ar=` +`),ln.commentBefore){let ji=ln.commentBefore.replace(/^/gm,`${ot.indent}#`);Ar+=` +${ji}`}nn=ln.comment}else ln&&typeof ln=="object"&&(ln=Pi.schema.createNode(ln,!0));ot.implicitKey=!1,!li&&!this.comment&&ln instanceof R&&(ot.indentAtStart=An.length+1),Mr=!1,!Zt&&Pt>=2&&!ot.inFlow&&!li&&ln instanceof f&&ln.type!==t.Type.FLOW_SEQ&&!ln.tag&&!Pi.anchors.getName(ln)&&(ot.indent=ot.indent.substr(2));let On=Jr(ln,ot,()=>nn=null,()=>Mr=!0),bi=" ";return Ar||this.comment?bi=`${Ar} +${ot.indent}`:!li&&ln instanceof h?(!(On[0]==="["||On[0]==="{")||On.includes(` +`))&&(bi=` +${ot.indent}`):On[0]===` +`&&(bi=""),Mr&&!nn&&Ct&&Ct(),n(An+bi+On,ot.indent,nn)}};t._defineProperty(x,"Type",{PAIR:"PAIR",MERGE_PAIR:"MERGE_PAIR"});var y=(mt,ot)=>{if(mt instanceof A){let Je=ot.get(mt.source);return Je.count*Je.aliasCount}else if(mt instanceof h){let Je=0;for(let Ct of mt.items){let Pt=y(Ct,ot);Pt>Je&&(Je=Pt)}return Je}else if(mt instanceof x){let Je=y(mt.key,ot),Ct=y(mt.value,ot);return Math.max(Je,Ct)}return 1},A=class Y1r extends i{static stringify({range:ot,source:Je},{anchors:Ct,doc:Pt,implicitKey:Zt,inStringifyKey:dr}){let vr=Object.keys(Ct).find(Mn=>Ct[Mn]===Je);if(!vr&&dr&&(vr=Pt.anchors.getName(Je)||Pt.anchors.newName()),vr)return`*${vr}${Zt?" ":""}`;let ln=Pt.anchors.getName(Je)?"Alias node must be after source node":"Source node not found for alias node";throw new Error(`${ln} [${ot}]`)}constructor(ot){super(),this.source=ot,this.type=t.Type.ALIAS}set tag(ot){throw new Error("Alias nodes cannot have tags")}toJSON(ot,Je){if(!Je)return s(this.source,ot,Je);let{anchors:Ct,maxAliasCount:Pt}=Je,Zt=Ct.get(this.source);if(!Zt||Zt.res===void 0){let dr="This should not happen: Alias anchor was not resolved?";throw this.cstNode?new t.YAMLReferenceError(this.cstNode,dr):new ReferenceError(dr)}if(Pt>=0&&(Zt.count+=1,Zt.aliasCount===0&&(Zt.aliasCount=y(this.source,Ct)),Zt.count*Zt.aliasCount>Pt)){let dr="Excessive alias count indicates a resource exhaustion attack";throw this.cstNode?new t.YAMLReferenceError(this.cstNode,dr):new ReferenceError(dr)}return Zt.res}toString(ot){return Y1r.stringify(this,ot)}};t._defineProperty(A,"default",!0);function D(mt,ot){let Je=ot instanceof R?ot.value:ot;for(let Ct of mt)if(Ct instanceof x&&(Ct.key===ot||Ct.key===Je||Ct.key&&Ct.key.value===Je))return Ct}var S=class extends h{add(mt,ot){mt?mt instanceof x||(mt=new x(mt.key||mt,mt.value)):mt=new x(mt);let Je=D(this.items,mt.key),Ct=this.schema&&this.schema.sortMapEntries;if(Je)if(ot)Je.value=mt.value;else throw new Error(`Key ${mt.key} already set`);else if(Ct){let Pt=this.items.findIndex(Zt=>Ct(mt,Zt)<0);Pt===-1?this.items.push(mt):this.items.splice(Pt,0,mt)}else this.items.push(mt)}delete(mt){let ot=D(this.items,mt);return ot?this.items.splice(this.items.indexOf(ot),1).length>0:!1}get(mt,ot){let Je=D(this.items,mt),Ct=Je&&Je.value;return!ot&&Ct instanceof R?Ct.value:Ct}has(mt){return!!D(this.items,mt)}set(mt,ot){this.add(new x(mt,ot),!0)}toJSON(mt,ot,Je){let Ct=Je?new Je:ot&&ot.mapAsMap?new Map:{};ot&&ot.onCreate&&ot.onCreate(Ct);for(let Pt of this.items)Pt.addToJSMap(ot,Ct);return Ct}toString(mt,ot,Je){if(!mt)return JSON.stringify(this);for(let Ct of this.items)if(!(Ct instanceof x))throw new Error(`Map items must all be pairs; found ${JSON.stringify(Ct)} instead`);return super.toString(mt,{blockItem:Ct=>Ct.str,flowChars:{start:"{",end:"}"},isMap:!0,itemIndent:mt.indent||""},ot,Je)}},P="<<",M=class extends x{constructor(mt){if(mt instanceof x){let ot=mt.value;ot instanceof f||(ot=new f,ot.items.push(mt.value),ot.range=mt.value.range),super(mt.key,ot),this.range=mt.range}else super(new R(P),new f);this.type=x.Type.MERGE_PAIR}addToJSMap(mt,ot){for(let{source:Je}of this.value.items){if(!(Je instanceof S))throw new Error("Merge sources must be maps");let Ct=Je.toJSON(null,mt,Map);for(let[Pt,Zt]of Ct)ot instanceof Map?ot.has(Pt)||ot.set(Pt,Zt):ot instanceof Set?ot.add(Pt):Object.prototype.hasOwnProperty.call(ot,Pt)||Object.defineProperty(ot,Pt,{value:Zt,writable:!0,enumerable:!0,configurable:!0})}return ot}toString(mt,ot){let Je=this.value;if(Je.items.length>1)return super.toString(mt,ot);this.value=Je.items[0];let Ct=super.toString(mt,ot);return this.value=Je,Ct}},U={defaultType:t.Type.BLOCK_LITERAL,lineWidth:76},w={trueStr:"true",falseStr:"false"},F={asBigInt:!1},H={nullStr:"null"},G={defaultType:t.Type.PLAIN,doubleQuoted:{jsonEncoding:!1,minMultiLineLength:40},fold:{lineWidth:80,minContentWidth:20}};function ee(mt,ot,Je){for(let{format:Ct,test:Pt,resolve:Zt}of ot)if(Pt){let dr=mt.match(Pt);if(dr){let vr=Zt.apply(null,dr);return vr instanceof R||(vr=new R(vr)),Ct&&(vr.format=Ct),vr}}return Je&&(mt=Je(mt)),new R(mt)}var fe="flow",me="block",ve="quoted",Ae=(mt,ot)=>{let Je=mt[ot+1];for(;Je===" "||Je===" ";){do Je=mt[ot+=1];while(Je&&Je!==` +`);Je=mt[ot+1]}return ot};function Ue(mt,ot,Je,{indentAtStart:Ct,lineWidth:Pt=80,minContentWidth:Zt=20,onFold:dr,onOverflow:vr}){if(!Pt||Pt<0)return mt;let ln=Math.max(1+Zt,1+Pt-ot.length);if(mt.length<=ln)return mt;let Mn=[],li={},Pi=Pt-ot.length;typeof Ct=="number"&&(Ct>Pt-Math.max(2,Zt)?Mn.push(0):Pi=Pt-Ct);let Ss,Ca,Jr=!1,Mr=-1,An=-1,Ar=-1;Je===me&&(Mr=Ae(mt,Mr),Mr!==-1&&(Pi=Mr+ln));for(let On;On=mt[Mr+=1];){if(Je===ve&&On==="\\"){switch(An=Mr,mt[Mr+1]){case"x":Mr+=3;break;case"u":Mr+=5;break;case"U":Mr+=9;break;default:Mr+=1}Ar=Mr}if(On===` +`)Je===me&&(Mr=Ae(mt,Mr)),Pi=Mr+ln,Ss=void 0;else{if(On===" "&&Ca&&Ca!==" "&&Ca!==` +`&&Ca!==" "){let bi=mt[Mr+1];bi&&bi!==" "&&bi!==` +`&&bi!==" "&&(Ss=Mr)}if(Mr>=Pi)if(Ss)Mn.push(Ss),Pi=Ss+ln,Ss=void 0;else if(Je===ve){for(;Ca===" "||Ca===" ";)Ca=On,On=mt[Mr+=1],Jr=!0;let bi=Mr>Ar+1?Mr-2:An-1;if(li[bi])return mt;Mn.push(bi),li[bi]=!0,Pi=bi+ln,Ss=void 0}else Jr=!0}Ca=On}if(Jr&&vr&&vr(),Mn.length===0)return mt;dr&&dr();let nn=mt.slice(0,Mn[0]);for(let On=0;Onmt?Object.assign({indentAtStart:mt},G.fold):G.fold,Me=mt=>/^(%|---|\.\.\.)/m.test(mt);function gt(mt,ot,Je){if(!ot||ot<0)return!1;let Ct=ot-Je,Pt=mt.length;if(Pt<=Ct)return!1;for(let Zt=0,dr=0;ZtCt)return!0;if(dr=Zt+1,Pt-dr<=Ct)return!1}return!0}function xt(mt,ot){let{implicitKey:Je}=ot,{jsonEncoding:Ct,minMultiLineLength:Pt}=G.doubleQuoted,Zt=JSON.stringify(mt);if(Ct)return Zt;let dr=ot.indent||(Me(mt)?" ":""),vr="",ln=0;for(let Mn=0,li=Zt[Mn];li;li=Zt[++Mn])if(li===" "&&Zt[Mn+1]==="\\"&&Zt[Mn+2]==="n"&&(vr+=Zt.slice(ln,Mn)+"\\ ",Mn+=1,ln=Mn,li="\\"),li==="\\")switch(Zt[Mn+1]){case"u":{vr+=Zt.slice(ln,Mn);let Pi=Zt.substr(Mn+2,4);switch(Pi){case"0000":vr+="\\0";break;case"0007":vr+="\\a";break;case"000b":vr+="\\v";break;case"001b":vr+="\\e";break;case"0085":vr+="\\N";break;case"00a0":vr+="\\_";break;case"2028":vr+="\\L";break;case"2029":vr+="\\P";break;default:Pi.substr(0,2)==="00"?vr+="\\x"+Pi.substr(2):vr+=Zt.substr(Mn,6)}Mn+=5,ln=Mn+1}break;case"n":if(Je||Zt[Mn+2]==='"'||Zt.length";if(!Je)return Mn+` +`;let li="",Pi="";if(Je=Je.replace(/[\n\t ]*$/,Ca=>{let Jr=Ca.indexOf(` +`);return Jr===-1?Mn+="-":(Je===Ca||Jr!==Ca.length-1)&&(Mn+="+",Zt&&Zt()),Pi=Ca.replace(/\n$/,""),""}).replace(/^[\n ]*/,Ca=>{Ca.indexOf(" ")!==-1&&(Mn+=vr);let Jr=Ca.match(/ +$/);return Jr?(li=Ca.slice(0,-Jr[0].length),Jr[0]):(li=Ca,"")}),Pi&&(Pi=Pi.replace(/\n+(?!\n|$)/g,`$&${dr}`)),li&&(li=li.replace(/\n+/g,`$&${dr}`)),mt&&(Mn+=" #"+mt.replace(/ ?[\r\n]+/g," "),Pt&&Pt()),!Je)return`${Mn}${vr} +${dr}${Pi}`;if(ln)return Je=Je.replace(/\n+/g,`$&${dr}`),`${Mn} +${dr}${li}${Je}${Pi}`;Je=Je.replace(/\n+/g,` +$&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\n+/g,`$&${dr}`);let Ss=Ue(`${li}${Je}${Pi}`,dr,me,G.fold);return`${Mn} +${dr}${Ss}`}function at(mt,ot,Je,Ct){let{comment:Pt,type:Zt,value:dr}=mt,{actualString:vr,implicitKey:ln,indent:Mn,inFlow:li}=ot;if(ln&&/[\n[\]{},]/.test(dr)||li&&/[[\]{},]/.test(dr))return xt(dr,ot);if(!dr||/^[\n\t ,[\]{}#&*!|>'"%@`]|^[?-]$|^[?-][ \t]|[\n:][ \t]|[ \t]\n|[\n\t ]#|[\n\t :]$/.test(dr))return ln||li||dr.indexOf(` +`)===-1?dr.indexOf('"')!==-1&&dr.indexOf("'")===-1?Nt(dr,ot):xt(dr,ot):lt(mt,ot,Je,Ct);if(!ln&&!li&&Zt!==t.Type.PLAIN&&dr.indexOf(` +`)!==-1)return lt(mt,ot,Je,Ct);if(Mn===""&&Me(dr))return ot.forceBlockIndent=!0,lt(mt,ot,Je,Ct);let Pi=dr.replace(/\n+/g,`$& +${Mn}`);if(vr){let{tags:Ca}=ot.doc.schema;if(typeof ee(Pi,Ca,Ca.scalarFallback).value!="string")return xt(dr,ot)}let Ss=ln?Pi:Ue(Pi,Mn,fe,Ee(ot));return Pt&&!li&&(Ss.indexOf(` +`)!==-1||Pt.indexOf(` +`)!==-1)?(Je&&Je(),r(Ss,Mn,Pt)):Ss}function _t(mt,ot,Je,Ct){let{defaultType:Pt}=G,{implicitKey:Zt,inFlow:dr}=ot,{type:vr,value:ln}=mt;typeof ln!="string"&&(ln=String(ln),mt=Object.assign({},mt,{value:ln}));let Mn=Pi=>{switch(Pi){case t.Type.BLOCK_FOLDED:case t.Type.BLOCK_LITERAL:return lt(mt,ot,Je,Ct);case t.Type.QUOTE_DOUBLE:return xt(ln,ot);case t.Type.QUOTE_SINGLE:return Nt(ln,ot);case t.Type.PLAIN:return at(mt,ot,Je,Ct);default:return null}};(vr!==t.Type.QUOTE_DOUBLE&&/[\x00-\x08\x0b-\x1f\x7f-\x9f]/.test(ln)||(Zt||dr)&&(vr===t.Type.BLOCK_FOLDED||vr===t.Type.BLOCK_LITERAL))&&(vr=t.Type.QUOTE_DOUBLE);let li=Mn(vr);if(li===null&&(li=Mn(Pt),li===null))throw new Error(`Unsupported default string type ${Pt}`);return li}function Ve({format:mt,minFractionDigits:ot,tag:Je,value:Ct}){if(typeof Ct=="bigint")return String(Ct);if(!isFinite(Ct))return isNaN(Ct)?".nan":Ct<0?"-.inf":".inf";let Pt=JSON.stringify(Ct);if(!mt&&ot&&(!Je||Je==="tag:yaml.org,2002:float")&&/^\d/.test(Pt)){let Zt=Pt.indexOf(".");Zt<0&&(Zt=Pt.length,Pt+=".");let dr=ot-(Pt.length-Zt-1);for(;dr-- >0;)Pt+="0"}return Pt}function Dt(mt,ot){let Je,Ct;switch(ot.type){case t.Type.FLOW_MAP:Je="}",Ct="flow map";break;case t.Type.FLOW_SEQ:Je="]",Ct="flow sequence";break;default:mt.push(new t.YAMLSemanticError(ot,"Not a flow collection!?"));return}let Pt;for(let Zt=ot.items.length-1;Zt>=0;--Zt){let dr=ot.items[Zt];if(!dr||dr.type!==t.Type.COMMENT){Pt=dr;break}}if(Pt&&Pt.char!==Je){let Zt=`Expected ${Ct} to end with ${Je}`,dr;typeof Pt.offset=="number"?(dr=new t.YAMLSemanticError(ot,Zt),dr.offset=Pt.offset+1):(dr=new t.YAMLSemanticError(Pt,Zt),Pt.range&&Pt.range.end&&(dr.offset=Pt.range.end-Pt.range.start)),mt.push(dr)}}function Ut(mt,ot){let Je=ot.context.src[ot.range.start-1];if(Je!==` +`&&Je!==" "&&Je!==" "){let Ct="Comments must be separated from other tokens by white space characters";mt.push(new t.YAMLSemanticError(ot,Ct))}}function pt(mt,ot){let Je=String(ot),Ct=Je.substr(0,8)+"..."+Je.substr(-8);return new t.YAMLSemanticError(mt,`The "${Ct}" key is too long`)}function ht(mt,ot){for(let{afterKey:Je,before:Ct,comment:Pt}of ot){let Zt=mt.items[Ct];Zt?(Je&&Zt.value&&(Zt=Zt.value),Pt===void 0?(Je||!Zt.commentBefore)&&(Zt.spaceBefore=!0):Zt.commentBefore?Zt.commentBefore+=` +`+Pt:Zt.commentBefore=Pt):Pt!==void 0&&(mt.comment?mt.comment+=` +`+Pt:mt.comment=Pt)}}function He(mt,ot){let Je=ot.strValue;return Je?typeof Je=="string"?Je:(Je.errors.forEach(Ct=>{Ct.source||(Ct.source=ot),mt.errors.push(Ct)}),Je.str):""}function jt(mt,ot){let{handle:Je,suffix:Ct}=ot.tag,Pt=mt.tagPrefixes.find(Zt=>Zt.handle===Je);if(!Pt){let Zt=mt.getDefaults().tagPrefixes;if(Zt&&(Pt=Zt.find(dr=>dr.handle===Je)),!Pt)throw new t.YAMLSemanticError(ot,`The ${Je} tag handle is non-default and was not declared.`)}if(!Ct)throw new t.YAMLSemanticError(ot,`The ${Je} tag has no suffix.`);if(Je==="!"&&(mt.version||mt.options.version)==="1.0"){if(Ct[0]==="^")return mt.warnings.push(new t.YAMLWarning(ot,"YAML 1.0 ^ tag expansion is not supported")),Ct;if(/[:/]/.test(Ct)){let Zt=Ct.match(/^([a-z0-9-]+)\/(.*)/i);return Zt?`tag:${Zt[1]}.yaml.org,2002:${Zt[2]}`:`tag:${Ct}`}}return Pt.prefix+decodeURIComponent(Ct)}function zr(mt,ot){let{tag:Je,type:Ct}=ot,Pt=!1;if(Je){let{handle:Zt,suffix:dr,verbatim:vr}=Je;if(vr){if(vr!=="!"&&vr!=="!!")return vr;let ln=`Verbatim tags aren't resolved, so ${vr} is invalid.`;mt.errors.push(new t.YAMLSemanticError(ot,ln))}else if(Zt==="!"&&!dr)Pt=!0;else try{return jt(mt,ot)}catch(ln){mt.errors.push(ln)}}switch(Ct){case t.Type.BLOCK_FOLDED:case t.Type.BLOCK_LITERAL:case t.Type.QUOTE_DOUBLE:case t.Type.QUOTE_SINGLE:return t.defaultTags.STR;case t.Type.FLOW_MAP:case t.Type.MAP:return t.defaultTags.MAP;case t.Type.FLOW_SEQ:case t.Type.SEQ:return t.defaultTags.SEQ;case t.Type.PLAIN:return Pt?t.defaultTags.STR:null;default:return null}}function Bn(mt,ot,Je){let{tags:Ct}=mt.schema,Pt=[];for(let dr of Ct)if(dr.tag===Je)if(dr.test)Pt.push(dr);else{let vr=dr.resolve(mt,ot);return vr instanceof h?vr:new R(vr)}let Zt=He(mt,ot);return typeof Zt=="string"&&Pt.length>0?ee(Zt,Pt,Ct.scalarFallback):null}function an({type:mt}){switch(mt){case t.Type.FLOW_MAP:case t.Type.MAP:return t.defaultTags.MAP;case t.Type.FLOW_SEQ:case t.Type.SEQ:return t.defaultTags.SEQ;default:return t.defaultTags.STR}}function ri(mt,ot,Je){try{let Ct=Bn(mt,ot,Je);if(Ct)return Je&&ot.tag&&(Ct.tag=Je),Ct}catch(Ct){return Ct.source||(Ct.source=ot),mt.errors.push(Ct),null}try{let Ct=an(ot);if(!Ct)throw new Error(`The tag ${Je} is unavailable`);let Pt=`The tag ${Je} is unavailable, falling back to ${Ct}`;mt.warnings.push(new t.YAMLWarning(ot,Pt));let Zt=Bn(mt,ot,Ct);return Zt.tag=Je,Zt}catch(Ct){let Pt=new t.YAMLReferenceError(ot,Ct.message);return Pt.stack=Ct.stack,mt.errors.push(Pt),null}}var Zr=mt=>{if(!mt)return!1;let{type:ot}=mt;return ot===t.Type.MAP_KEY||ot===t.Type.MAP_VALUE||ot===t.Type.SEQ_ITEM};function bn(mt,ot){let Je={before:[],after:[]},Ct=!1,Pt=!1,Zt=Zr(ot.context.parent)?ot.context.parent.props.concat(ot.props):ot.props;for(let{start:dr,end:vr}of Zt)switch(ot.context.src[dr]){case t.Char.COMMENT:{if(!ot.commentHasRequiredWhitespace(dr)){let li="Comments must be separated from other tokens by white space characters";mt.push(new t.YAMLSemanticError(ot,li))}let{header:ln,valueRange:Mn}=ot;(Mn&&(dr>Mn.start||ln&&dr>ln.start)?Je.after:Je.before).push(ot.context.src.slice(dr+1,vr));break}case t.Char.ANCHOR:if(Ct){let ln="A node can have at most one anchor";mt.push(new t.YAMLSemanticError(ot,ln))}Ct=!0;break;case t.Char.TAG:if(Pt){let ln="A node can have at most one tag";mt.push(new t.YAMLSemanticError(ot,ln))}Pt=!0;break}return{comments:Je,hasAnchor:Ct,hasTag:Pt}}function Zn(mt,ot){let{anchors:Je,errors:Ct,schema:Pt}=mt;if(ot.type===t.Type.ALIAS){let dr=ot.rawValue,vr=Je.getNode(dr);if(!vr){let Mn=`Aliased anchor not found: ${dr}`;return Ct.push(new t.YAMLReferenceError(ot,Mn)),null}let ln=new A(vr);return Je._cstAliases.push(ln),ln}let Zt=zr(mt,ot);if(Zt)return ri(mt,ot,Zt);if(ot.type!==t.Type.PLAIN){let dr=`Failed to resolve ${ot.type} node here`;return Ct.push(new t.YAMLSyntaxError(ot,dr)),null}try{let dr=He(mt,ot);return ee(dr,Pt.tags,Pt.tags.scalarFallback)}catch(dr){return dr.source||(dr.source=ot),Ct.push(dr),null}}function mi(mt,ot){if(!ot)return null;ot.error&&mt.errors.push(ot.error);let{comments:Je,hasAnchor:Ct,hasTag:Pt}=bn(mt.errors,ot);if(Ct){let{anchors:dr}=mt,vr=ot.anchor,ln=dr.getNode(vr);ln&&(dr.map[dr.newName(vr)]=ln),dr.map[vr]=ot}if(ot.type===t.Type.ALIAS&&(Ct||Pt)){let dr="An alias node must not specify any properties";mt.errors.push(new t.YAMLSemanticError(ot,dr))}let Zt=Zn(mt,ot);if(Zt){Zt.range=[ot.range.start,ot.range.end],mt.options.keepCstNodes&&(Zt.cstNode=ot),mt.options.keepNodeTypes&&(Zt.type=ot.type);let dr=Je.before.join(` +`);dr&&(Zt.commentBefore=Zt.commentBefore?`${Zt.commentBefore} +${dr}`:dr);let vr=Je.after.join(` +`);vr&&(Zt.comment=Zt.comment?`${Zt.comment} +${vr}`:vr)}return ot.resolved=Zt}function Sn(mt,ot){if(ot.type!==t.Type.MAP&&ot.type!==t.Type.FLOW_MAP){let dr=`A ${ot.type} node cannot be resolved as a mapping`;return mt.errors.push(new t.YAMLSyntaxError(ot,dr)),null}let{comments:Je,items:Ct}=ot.type===t.Type.FLOW_MAP?Wi(mt,ot):Ti(mt,ot),Pt=new S;Pt.items=Ct,ht(Pt,Je);let Zt=!1;for(let dr=0;dr{if(li instanceof A){let{type:Pi}=li.source;return Pi===t.Type.MAP||Pi===t.Type.FLOW_MAP?!1:Mn="Merge nodes aliases can only point to maps"}return Mn="Merge nodes can only have Alias nodes as values"}),Mn&&mt.errors.push(new t.YAMLSemanticError(ot,Mn))}else for(let ln=dr+1;ln{if(Ct.length===0)return!1;let{start:Pt}=Ct[0];if(ot&&Pt>ot.valueRange.start||Je[Pt]!==t.Char.COMMENT)return!1;for(let Zt=mt;Zt0){ln=new t.PlainValue(t.Type.PLAIN,[]),ln.context={parent:vr,src:vr.context.src};let li=vr.range.start+1;if(ln.range={start:li,end:li},ln.valueRange={start:li,end:li},typeof vr.range.origStart=="number"){let Pi=vr.range.origStart+1;ln.range.origStart=ln.range.origEnd=Pi,ln.valueRange.origStart=ln.valueRange.origEnd=Pi}}let Mn=new x(Pt,mi(mt,ln));cs(vr,Mn),Ct.push(Mn),Pt&&typeof Zt=="number"&&vr.range.start>Zt+1024&&mt.errors.push(pt(ot,Pt)),Pt=void 0,Zt=null}break;default:Pt!==void 0&&Ct.push(new x(Pt)),Pt=mi(mt,vr),Zt=vr.range.start,vr.error&&mt.errors.push(vr.error);e:for(let ln=dr+1;;++ln){let Mn=ot.items[ln];switch(Mn&&Mn.type){case t.Type.BLANK_LINE:case t.Type.COMMENT:continue e;case t.Type.MAP_VALUE:break e;default:{let li="Implicit map keys need to be followed by map values";mt.errors.push(new t.YAMLSemanticError(vr,li));break e}}}if(vr.valueRangeContainsNewline){let ln="Implicit map keys need to be on a single line";mt.errors.push(new t.YAMLSemanticError(vr,ln))}}}return Pt!==void 0&&Ct.push(new x(Pt)),{comments:Je,items:Ct}}function Wi(mt,ot){let Je=[],Ct=[],Pt,Zt=!1,dr="{";for(let vr=0;vrZt instanceof x&&Zt.key instanceof h)){let Zt="Keys with collection values will be stringified as YAML due to JS Object restrictions. Use mapAsMap: true to avoid this.";mt.warnings.push(new t.YAMLWarning(ot,Zt))}return ot.resolved=Pt,Pt}function Hi(mt,ot){let Je=[],Ct=[];for(let Pt=0;Ptdr+1024&&mt.errors.push(pt(ot,Zt));let{src:Jr}=ln.context;for(let Mr=dr;Mr{"use strict";var t=VX(),r=$de(),n={identify:ee=>ee instanceof Uint8Array,default:!1,tag:"tag:yaml.org,2002:binary",resolve:(ee,fe)=>{let me=r.resolveString(ee,fe);if(typeof Buffer=="function")return Buffer.from(me,"base64");if(typeof atob=="function"){let ve=atob(me.replace(/[\n\r]/g,"")),Ae=new Uint8Array(ve.length);for(let Ue=0;Ue{let Ee;if(typeof Buffer=="function")Ee=me instanceof Buffer?me.toString("base64"):Buffer.from(me.buffer).toString("base64");else if(typeof btoa=="function"){let Me="";for(let gt=0;gt1){let Ee="Each pair must have its own sequence indicator";throw new t.YAMLSemanticError(fe,Ee)}let Ue=Ae.items[0]||new r.Pair;Ae.commentBefore&&(Ue.commentBefore=Ue.commentBefore?`${Ae.commentBefore} +${Ue.commentBefore}`:Ae.commentBefore),Ae.comment&&(Ue.comment=Ue.comment?`${Ae.comment} +${Ue.comment}`:Ae.comment),Ae=Ue}me.items[ve]=Ae instanceof r.Pair?Ae:new r.Pair(Ae)}}return me}function s(ee,fe,me){let ve=new r.YAMLSeq(ee);ve.tag="tag:yaml.org,2002:pairs";for(let Ae of fe){let Ue,Ee;if(Array.isArray(Ae))if(Ae.length===2)Ue=Ae[0],Ee=Ae[1];else throw new TypeError(`Expected [key, value] tuple: ${Ae}`);else if(Ae&&Ae instanceof Object){let gt=Object.keys(Ae);if(gt.length===1)Ue=gt[0],Ee=Ae[Ue];else throw new TypeError(`Expected { key: value } tuple: ${Ae}`)}else Ue=Ae;let Me=ee.createPair(Ue,Ee,me);ve.items.push(Me)}return ve}var R={default:!1,tag:"tag:yaml.org,2002:pairs",resolve:i,createNode:s},l=class G1r extends r.YAMLSeq{constructor(){super(),t._defineProperty(this,"add",r.YAMLMap.prototype.add.bind(this)),t._defineProperty(this,"delete",r.YAMLMap.prototype.delete.bind(this)),t._defineProperty(this,"get",r.YAMLMap.prototype.get.bind(this)),t._defineProperty(this,"has",r.YAMLMap.prototype.has.bind(this)),t._defineProperty(this,"set",r.YAMLMap.prototype.set.bind(this)),this.tag=G1r.tag}toJSON(fe,me){let ve=new Map;me&&me.onCreate&&me.onCreate(ve);for(let Ae of this.items){let Ue,Ee;if(Ae instanceof r.Pair?(Ue=r.toJSON(Ae.key,"",me),Ee=r.toJSON(Ae.value,Ue,me)):Ue=r.toJSON(Ae,"",me),ve.has(Ue))throw new Error("Ordered maps must not include duplicate keys");ve.set(Ue,Ee)}return ve}};t._defineProperty(l,"tag","tag:yaml.org,2002:omap");function c(ee,fe){let me=i(ee,fe),ve=[];for(let{key:Ae}of me.items)if(Ae instanceof r.Scalar)if(ve.includes(Ae.value)){let Ue="Ordered maps must not include duplicate keys";throw new t.YAMLSemanticError(fe,Ue)}else ve.push(Ae.value);return Object.assign(new l,me)}function h(ee,fe,me){let ve=s(ee,fe,me),Ae=new l;return Ae.items=ve.items,Ae}var _={identify:ee=>ee instanceof Map,nodeClass:l,default:!1,tag:"tag:yaml.org,2002:omap",resolve:c,createNode:h},f=class V1r extends r.YAMLMap{constructor(){super(),this.tag=V1r.tag}add(fe){let me=fe instanceof r.Pair?fe:new r.Pair(fe);r.findPair(this.items,me.key)||this.items.push(me)}get(fe,me){let ve=r.findPair(this.items,fe);return!me&&ve instanceof r.Pair?ve.key instanceof r.Scalar?ve.key.value:ve.key:ve}set(fe,me){if(typeof me!="boolean")throw new Error(`Expected boolean value for set(key, value) in a YAML set, not ${typeof me}`);let ve=r.findPair(this.items,fe);ve&&!me?this.items.splice(this.items.indexOf(ve),1):!ve&&me&&this.items.push(new r.Pair(fe))}toJSON(fe,me){return super.toJSON(fe,me,Set)}toString(fe,me,ve){if(!fe)return JSON.stringify(this);if(this.hasAllNullValues())return super.toString(fe,me,ve);throw new Error("Set items must all have null values")}};t._defineProperty(f,"tag","tag:yaml.org,2002:set");function m(ee,fe){let me=r.resolveMap(ee,fe);if(!me.hasAllNullValues())throw new t.YAMLSemanticError(fe,"Set items must all have null values");return Object.assign(new f,me)}function x(ee,fe,me){let ve=new f;for(let Ae of fe)ve.items.push(ee.createPair(Ae,null,me));return ve}var y={identify:ee=>ee instanceof Set,nodeClass:f,default:!1,tag:"tag:yaml.org,2002:set",resolve:m,createNode:x},A=(ee,fe)=>{let me=fe.split(":").reduce((ve,Ae)=>ve*60+Number(Ae),0);return ee==="-"?-me:me},D=({value:ee})=>{if(isNaN(ee)||!isFinite(ee))return r.stringifyNumber(ee);let fe="";ee<0&&(fe="-",ee=Math.abs(ee));let me=[ee%60];return ee<60?me.unshift(0):(ee=Math.round((ee-me[0])/60),me.unshift(ee%60),ee>=60&&(ee=Math.round((ee-me[0])/60),me.unshift(ee))),fe+me.map(ve=>ve<10?"0"+String(ve):String(ve)).join(":").replace(/000000\d*$/,"")},S={identify:ee=>typeof ee=="number",default:!0,tag:"tag:yaml.org,2002:int",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+)$/,resolve:(ee,fe,me)=>A(fe,me.replace(/_/g,"")),stringify:D},P={identify:ee=>typeof ee=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"TIME",test:/^([-+]?)([0-9][0-9_]*(?::[0-5]?[0-9])+\.[0-9_]*)$/,resolve:(ee,fe,me)=>A(fe,me.replace(/_/g,"")),stringify:D},M={identify:ee=>ee instanceof Date,default:!0,tag:"tag:yaml.org,2002:timestamp",test:RegExp("^(?:([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})(?:(?:t|T|[ \\t]+)([0-9]{1,2}):([0-9]{1,2}):([0-9]{1,2}(\\.[0-9]+)?)(?:[ \\t]*(Z|[-+][012]?[0-9](?::[0-9]{2})?))?)?)$"),resolve:(ee,fe,me,ve,Ae,Ue,Ee,Me,gt)=>{Me&&(Me=(Me+"00").substr(1,3));let xt=Date.UTC(fe,me-1,ve,Ae||0,Ue||0,Ee||0,Me||0);if(gt&>!=="Z"){let Nt=A(gt[0],gt.slice(1));Math.abs(Nt)<30&&(Nt*=60),xt-=6e4*Nt}return new Date(xt)},stringify:({value:ee})=>ee.toISOString().replace(/((T00:00)?:00)?\.000Z$/,"")};function U(ee){let fe={};return ee?typeof YAML_SILENCE_DEPRECATION_WARNINGS<"u"?!YAML_SILENCE_DEPRECATION_WARNINGS:!fe.YAML_SILENCE_DEPRECATION_WARNINGS:typeof YAML_SILENCE_WARNINGS<"u"?!YAML_SILENCE_WARNINGS:!fe.YAML_SILENCE_WARNINGS}function w(ee,fe){U(!1)&&console.warn(fe?`${fe}: ${ee}`:ee)}function F(ee){if(U(!0)){let fe=ee.replace(/.*yaml[/\\]/i,"").replace(/\.js$/,"").replace(/\\/g,"/");w(`The endpoint 'yaml/${fe}' will be removed in a future release.`,"DeprecationWarning")}}var H={};function G(ee,fe){if(!H[ee]&&U(!0)){H[ee]=!0;let me=`The option '${ee}' will be removed in a future release`;me+=fe?`, use '${fe}' instead.`:".",w(me,"DeprecationWarning")}}e.binary=n,e.floatTime=P,e.intTime=S,e.omap=_,e.pairs=R,e.set=y,e.timestamp=M,e.warn=w,e.warnFileDeprecation=F,e.warnOptionDeprecation=G}),j1r=Qw(e=>{"use strict";var t=VX(),r=$de(),n=K1r();function i(at,_t,Ve){let Dt=new r.YAMLMap(at);if(_t instanceof Map)for(let[Ut,pt]of _t)Dt.items.push(at.createPair(Ut,pt,Ve));else if(_t&&typeof _t=="object")for(let Ut of Object.keys(_t))Dt.items.push(at.createPair(Ut,_t[Ut],Ve));return typeof at.sortMapEntries=="function"&&Dt.items.sort(at.sortMapEntries),Dt}var s={createNode:i,default:!0,nodeClass:r.YAMLMap,tag:"tag:yaml.org,2002:map",resolve:r.resolveMap};function R(at,_t,Ve){let Dt=new r.YAMLSeq(at);if(_t&&_t[Symbol.iterator])for(let Ut of _t){let pt=at.createNode(Ut,Ve.wrapScalars,null,Ve);Dt.items.push(pt)}return Dt}var l={createNode:R,default:!0,nodeClass:r.YAMLSeq,tag:"tag:yaml.org,2002:seq",resolve:r.resolveSeq},c={identify:at=>typeof at=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r.resolveString,stringify(at,_t,Ve,Dt){return _t=Object.assign({actualString:!0},_t),r.stringifyString(at,_t,Ve,Dt)},options:r.strOptions},h=[s,l,c],_=at=>typeof at=="bigint"||Number.isInteger(at),f=(at,_t,Ve)=>r.intOptions.asBigInt?BigInt(at):parseInt(_t,Ve);function m(at,_t,Ve){let{value:Dt}=at;return _(Dt)&&Dt>=0?Ve+Dt.toString(_t):r.stringifyNumber(at)}var x={identify:at=>at==null,createNode:(at,_t,Ve)=>Ve.wrapScalars?new r.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:r.nullOptions,stringify:()=>r.nullOptions.nullStr},y={identify:at=>typeof at=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:[Tt]rue|TRUE|[Ff]alse|FALSE)$/,resolve:at=>at[0]==="t"||at[0]==="T",options:r.boolOptions,stringify:({value:at})=>at?r.boolOptions.trueStr:r.boolOptions.falseStr},A={identify:at=>_(at)&&at>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^0o([0-7]+)$/,resolve:(at,_t)=>f(at,_t,8),options:r.intOptions,stringify:at=>m(at,8,"0o")},D={identify:_,default:!0,tag:"tag:yaml.org,2002:int",test:/^[-+]?[0-9]+$/,resolve:at=>f(at,at,10),options:r.intOptions,stringify:r.stringifyNumber},S={identify:at=>_(at)&&at>=0,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^0x([0-9a-fA-F]+)$/,resolve:(at,_t)=>f(at,_t,16),options:r.intOptions,stringify:at=>m(at,16,"0x")},P={identify:at=>typeof at=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(at,_t)=>_t?NaN:at[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:r.stringifyNumber},M={identify:at=>typeof at=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?(?:\.[0-9]+|[0-9]+(?:\.[0-9]*)?)[eE][-+]?[0-9]+$/,resolve:at=>parseFloat(at),stringify:({value:at})=>Number(at).toExponential()},U={identify:at=>typeof at=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:\.([0-9]+)|[0-9]+\.([0-9]*))$/,resolve(at,_t,Ve){let Dt=_t||Ve,Ut=new r.Scalar(parseFloat(at));return Dt&&Dt[Dt.length-1]==="0"&&(Ut.minFractionDigits=Dt.length),Ut},stringify:r.stringifyNumber},w=h.concat([x,y,A,D,S,P,M,U]),F=at=>typeof at=="bigint"||Number.isInteger(at),H=({value:at})=>JSON.stringify(at),G=[s,l,{identify:at=>typeof at=="string",default:!0,tag:"tag:yaml.org,2002:str",resolve:r.resolveString,stringify:H},{identify:at=>at==null,createNode:(at,_t,Ve)=>Ve.wrapScalars?new r.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^null$/,resolve:()=>null,stringify:H},{identify:at=>typeof at=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^true|false$/,resolve:at=>at==="true",stringify:H},{identify:F,default:!0,tag:"tag:yaml.org,2002:int",test:/^-?(?:0|[1-9][0-9]*)$/,resolve:at=>r.intOptions.asBigInt?BigInt(at):parseInt(at,10),stringify:({value:at})=>F(at)?at.toString():JSON.stringify(at)},{identify:at=>typeof at=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^-?(?:0|[1-9][0-9]*)(?:\.[0-9]*)?(?:[eE][-+]?[0-9]+)?$/,resolve:at=>parseFloat(at),stringify:H}];G.scalarFallback=at=>{throw new SyntaxError(`Unresolved plain scalar ${JSON.stringify(at)}`)};var ee=({value:at})=>at?r.boolOptions.trueStr:r.boolOptions.falseStr,fe=at=>typeof at=="bigint"||Number.isInteger(at);function me(at,_t,Ve){let Dt=_t.replace(/_/g,"");if(r.intOptions.asBigInt){switch(Ve){case 2:Dt=`0b${Dt}`;break;case 8:Dt=`0o${Dt}`;break;case 16:Dt=`0x${Dt}`;break}let pt=BigInt(Dt);return at==="-"?BigInt(-1)*pt:pt}let Ut=parseInt(Dt,Ve);return at==="-"?-1*Ut:Ut}function ve(at,_t,Ve){let{value:Dt}=at;if(fe(Dt)){let Ut=Dt.toString(_t);return Dt<0?"-"+Ve+Ut.substr(1):Ve+Ut}return r.stringifyNumber(at)}var Ae=h.concat([{identify:at=>at==null,createNode:(at,_t,Ve)=>Ve.wrapScalars?new r.Scalar(null):null,default:!0,tag:"tag:yaml.org,2002:null",test:/^(?:~|[Nn]ull|NULL)?$/,resolve:()=>null,options:r.nullOptions,stringify:()=>r.nullOptions.nullStr},{identify:at=>typeof at=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:Y|y|[Yy]es|YES|[Tt]rue|TRUE|[Oo]n|ON)$/,resolve:()=>!0,options:r.boolOptions,stringify:ee},{identify:at=>typeof at=="boolean",default:!0,tag:"tag:yaml.org,2002:bool",test:/^(?:N|n|[Nn]o|NO|[Ff]alse|FALSE|[Oo]ff|OFF)$/i,resolve:()=>!1,options:r.boolOptions,stringify:ee},{identify:fe,default:!0,tag:"tag:yaml.org,2002:int",format:"BIN",test:/^([-+]?)0b([0-1_]+)$/,resolve:(at,_t,Ve)=>me(_t,Ve,2),stringify:at=>ve(at,2,"0b")},{identify:fe,default:!0,tag:"tag:yaml.org,2002:int",format:"OCT",test:/^([-+]?)0([0-7_]+)$/,resolve:(at,_t,Ve)=>me(_t,Ve,8),stringify:at=>ve(at,8,"0")},{identify:fe,default:!0,tag:"tag:yaml.org,2002:int",test:/^([-+]?)([0-9][0-9_]*)$/,resolve:(at,_t,Ve)=>me(_t,Ve,10),stringify:r.stringifyNumber},{identify:fe,default:!0,tag:"tag:yaml.org,2002:int",format:"HEX",test:/^([-+]?)0x([0-9a-fA-F_]+)$/,resolve:(at,_t,Ve)=>me(_t,Ve,16),stringify:at=>ve(at,16,"0x")},{identify:at=>typeof at=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^(?:[-+]?\.inf|(\.nan))$/i,resolve:(at,_t)=>_t?NaN:at[0]==="-"?Number.NEGATIVE_INFINITY:Number.POSITIVE_INFINITY,stringify:r.stringifyNumber},{identify:at=>typeof at=="number",default:!0,tag:"tag:yaml.org,2002:float",format:"EXP",test:/^[-+]?([0-9][0-9_]*)?(\.[0-9_]*)?[eE][-+]?[0-9]+$/,resolve:at=>parseFloat(at.replace(/_/g,"")),stringify:({value:at})=>Number(at).toExponential()},{identify:at=>typeof at=="number",default:!0,tag:"tag:yaml.org,2002:float",test:/^[-+]?(?:[0-9][0-9_]*)?\.([0-9_]*)$/,resolve(at,_t){let Ve=new r.Scalar(parseFloat(at.replace(/_/g,"")));if(_t){let Dt=_t.replace(/_/g,"");Dt[Dt.length-1]==="0"&&(Ve.minFractionDigits=Dt.length)}return Ve},stringify:r.stringifyNumber}],n.binary,n.omap,n.pairs,n.set,n.intTime,n.floatTime,n.timestamp),Ue={core:w,failsafe:h,json:G,yaml11:Ae},Ee={binary:n.binary,bool:y,float:U,floatExp:M,floatNaN:P,floatTime:n.floatTime,int:D,intHex:S,intOct:A,intTime:n.intTime,map:s,null:x,omap:n.omap,pairs:n.pairs,seq:l,set:n.set,timestamp:n.timestamp};function Me(at,_t,Ve){if(_t){let Dt=Ve.filter(pt=>pt.tag===_t),Ut=Dt.find(pt=>!pt.format)||Dt[0];if(!Ut)throw new Error(`Tag ${_t} not found`);return Ut}return Ve.find(Dt=>(Dt.identify&&Dt.identify(at)||Dt.class&&at instanceof Dt.class)&&!Dt.format)}function gt(at,_t,Ve){if(at instanceof r.Node)return at;let{defaultPrefix:Dt,onTagObj:Ut,prevObjects:pt,schema:ht,wrapScalars:He}=Ve;_t&&_t.startsWith("!!")&&(_t=Dt+_t.slice(2));let jt=Me(at,_t,ht.tags);if(!jt){if(typeof at.toJSON=="function"&&(at=at.toJSON()),!at||typeof at!="object")return He?new r.Scalar(at):at;jt=at instanceof Map?s:at[Symbol.iterator]?l:s}Ut&&(Ut(jt),delete Ve.onTagObj);let zr={value:void 0,node:void 0};if(at&&typeof at=="object"&&pt){let Bn=pt.get(at);if(Bn){let an=new r.Alias(Bn);return Ve.aliasNodes.push(an),an}zr.value=at,pt.set(at,zr)}return zr.node=jt.createNode?jt.createNode(Ve.schema,at,Ve):He?new r.Scalar(at):at,_t&&zr.node instanceof r.Node&&(zr.node.tag=_t),zr.node}function xt(at,_t,Ve,Dt){let Ut=at[Dt.replace(/\W/g,"")];if(!Ut){let pt=Object.keys(at).map(ht=>JSON.stringify(ht)).join(", ");throw new Error(`Unknown schema "${Dt}"; use one of ${pt}`)}if(Array.isArray(Ve))for(let pt of Ve)Ut=Ut.concat(pt);else typeof Ve=="function"&&(Ut=Ve(Ut.slice()));for(let pt=0;ptJSON.stringify(zr)).join(", ");throw new Error(`Unknown custom tag "${ht}"; use one of ${jt}`)}Ut[pt]=He}}return Ut}var Nt=(at,_t)=>at.key<_t.key?-1:at.key>_t.key?1:0,lt=class J1r{constructor({customTags:_t,merge:Ve,schema:Dt,sortMapEntries:Ut,tags:pt}){this.merge=!!Ve,this.name=Dt,this.sortMapEntries=Ut===!0?Nt:Ut||null,!_t&&pt&&n.warnOptionDeprecation("tags","customTags"),this.tags=xt(Ue,Ee,_t||pt,Dt)}createNode(_t,Ve,Dt,Ut){let pt={defaultPrefix:J1r.defaultPrefix,schema:this,wrapScalars:Ve},ht=Ut?Object.assign(Ut,pt):pt;return gt(_t,Dt,ht)}createPair(_t,Ve,Dt){Dt||(Dt={wrapScalars:!0});let Ut=this.createNode(_t,Dt.wrapScalars,null,Dt),pt=this.createNode(Ve,Dt.wrapScalars,null,Dt);return new r.Pair(Ut,pt)}};t._defineProperty(lt,"defaultPrefix",t.defaultTagPrefix),t._defineProperty(lt,"defaultTags",t.defaultTags),e.Schema=lt}),pDn=Qw(e=>{"use strict";var t=VX(),r=$de(),n=j1r(),i={anchorPrefix:"a",customTags:null,indent:2,indentSeq:!0,keepCstNodes:!1,keepNodeTypes:!0,keepBlobsInJSON:!0,mapAsMap:!1,maxAliasCount:100,prettyErrors:!1,simpleKeys:!1,version:"1.2"},s={get binary(){return r.binaryOptions},set binary(U){Object.assign(r.binaryOptions,U)},get bool(){return r.boolOptions},set bool(U){Object.assign(r.boolOptions,U)},get int(){return r.intOptions},set int(U){Object.assign(r.intOptions,U)},get null(){return r.nullOptions},set null(U){Object.assign(r.nullOptions,U)},get str(){return r.strOptions},set str(U){Object.assign(r.strOptions,U)}},R={"1.0":{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:t.defaultTagPrefix},{handle:"!!",prefix:"tag:private.yaml.org,2002:"}]},1.1:{schema:"yaml-1.1",merge:!0,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:t.defaultTagPrefix}]},1.2:{schema:"core",merge:!1,tagPrefixes:[{handle:"!",prefix:"!"},{handle:"!!",prefix:t.defaultTagPrefix}]}};function l(U,w){if((U.version||U.options.version)==="1.0"){let G=w.match(/^tag:private\.yaml\.org,2002:([^:/]+)$/);if(G)return"!"+G[1];let ee=w.match(/^tag:([a-zA-Z0-9-]+)\.yaml\.org,2002:(.*)/);return ee?`!${ee[1]}/${ee[2]}`:`!${w.replace(/^tag:/,"")}`}let F=U.tagPrefixes.find(G=>w.indexOf(G.prefix)===0);if(!F){let G=U.getDefaults().tagPrefixes;F=G&&G.find(ee=>w.indexOf(ee.prefix)===0)}if(!F)return w[0]==="!"?w:`!<${w}>`;let H=w.substr(F.prefix.length).replace(/[!,[\]{}]/g,G=>({"!":"%21",",":"%2C","[":"%5B","]":"%5D","{":"%7B","}":"%7D"})[G]);return F.handle+H}function c(U,w){if(w instanceof r.Alias)return r.Alias;if(w.tag){let G=U.filter(ee=>ee.tag===w.tag);if(G.length>0)return G.find(ee=>ee.format===w.format)||G[0]}let F,H;if(w instanceof r.Scalar){H=w.value;let G=U.filter(ee=>ee.identify&&ee.identify(H)||ee.class&&H instanceof ee.class);F=G.find(ee=>ee.format===w.format)||G.find(ee=>!ee.format)}else H=w,F=U.find(G=>G.nodeClass&&H instanceof G.nodeClass);if(!F){let G=H&&H.constructor?H.constructor.name:typeof H;throw new Error(`Tag not resolved for ${G} value`)}return F}function h(U,w,{anchors:F,doc:H}){let G=[],ee=H.anchors.getName(U);return ee&&(F[ee]=U,G.push(`&${ee}`)),U.tag?G.push(l(H,U.tag)):w.default||G.push(l(H,w.tag)),G.join(" ")}function _(U,w,F,H){let{anchors:G,schema:ee}=w.doc,fe;if(!(U instanceof r.Node)){let Ae={aliasNodes:[],onTagObj:Ue=>fe=Ue,prevObjects:new Map};U=ee.createNode(U,!0,null,Ae);for(let Ue of Ae.aliasNodes){Ue.source=Ue.source.node;let Ee=G.getName(Ue.source);Ee||(Ee=G.newName(),G.map[Ee]=Ue.source)}}if(U instanceof r.Pair)return U.toString(w,F,H);fe||(fe=c(ee.tags,U));let me=h(U,fe,w);me.length>0&&(w.indentAtStart=(w.indentAtStart||0)+me.length+1);let ve=typeof fe.stringify=="function"?fe.stringify(U,w,F,H):U instanceof r.Scalar?r.stringifyString(U,w,F,H):U.toString(w,F,H);return me?U instanceof r.Scalar||ve[0]==="{"||ve[0]==="["?`${me} ${ve}`:`${me} +${w.indent}${ve}`:ve}var f=class X1r{static validAnchorNode(w){return w instanceof r.Scalar||w instanceof r.YAMLSeq||w instanceof r.YAMLMap}constructor(w){t._defineProperty(this,"map",Object.create(null)),this.prefix=w}createAlias(w,F){return this.setAnchor(w,F),new r.Alias(w)}createMergePair(...w){let F=new r.Merge;return F.value.items=w.map(H=>{if(H instanceof r.Alias){if(H.source instanceof r.YAMLMap)return H}else if(H instanceof r.YAMLMap)return this.createAlias(H);throw new Error("Merge sources must be Map nodes or their Aliases")}),F}getName(w){let{map:F}=this;return Object.keys(F).find(H=>F[H]===w)}getNames(){return Object.keys(this.map)}getNode(w){return this.map[w]}newName(w){w||(w=this.prefix);let F=Object.keys(this.map);for(let H=1;;++H){let G=`${w}${H}`;if(!F.includes(G))return G}}resolveNodes(){let{map:w,_cstAliases:F}=this;Object.keys(w).forEach(H=>{w[H]=w[H].resolved}),F.forEach(H=>{H.source=H.source.resolved}),delete this._cstAliases}setAnchor(w,F){if(w!=null&&!X1r.validAnchorNode(w))throw new Error("Anchors may only be set for Scalar, Seq and Map nodes");if(F&&/[\x00-\x19\s,[\]{}]/.test(F))throw new Error("Anchor names must not contain whitespace or control characters");let{map:H}=this,G=w&&Object.keys(H).find(ee=>H[ee]===w);if(G)if(F)G!==F&&(delete H[G],H[F]=w);else return G;else{if(!F){if(!w)return null;F=this.newName()}H[F]=w}return F}},m=(U,w)=>{if(U&&typeof U=="object"){let{tag:F}=U;U instanceof r.Collection?(F&&(w[F]=!0),U.items.forEach(H=>m(H,w))):U instanceof r.Pair?(m(U.key,w),m(U.value,w)):U instanceof r.Scalar&&F&&(w[F]=!0)}return w},x=U=>Object.keys(m(U,{}));function y(U,w){let F={before:[],after:[]},H,G=!1;for(let ee of w)if(ee.valueRange){if(H!==void 0){let me="Document contains trailing content not separated by a ... or --- line";U.errors.push(new t.YAMLSyntaxError(ee,me));break}let fe=r.resolveNode(U,ee);G&&(fe.spaceBefore=!0,G=!1),H=fe}else ee.comment!==null?(H===void 0?F.before:F.after).push(ee.comment):ee.type===t.Type.BLANK_LINE&&(G=!0,H===void 0&&F.before.length>0&&!U.commentBefore&&(U.commentBefore=F.before.join(` +`),F.before=[]));if(U.contents=H||null,!H)U.comment=F.before.concat(F.after).join(` +`)||null;else{let ee=F.before.join(` +`);if(ee){let fe=H instanceof r.Collection&&H.items[0]?H.items[0]:H;fe.commentBefore=fe.commentBefore?`${ee} +${fe.commentBefore}`:ee}U.comment=F.after.join(` +`)||null}}function A({tagPrefixes:U},w){let[F,H]=w.parameters;if(!F||!H){let G="Insufficient parameters given for %TAG directive";throw new t.YAMLSemanticError(w,G)}if(U.some(G=>G.handle===F)){let G="The %TAG directive must only be given at most once per handle in the same document.";throw new t.YAMLSemanticError(w,G)}return{handle:F,prefix:H}}function D(U,w){let[F]=w.parameters;if(w.name==="YAML:1.0"&&(F="1.0"),!F){let H="Insufficient parameters given for %YAML directive";throw new t.YAMLSemanticError(w,H)}if(!R[F]){let H=`Document will be parsed as YAML ${U.version||U.options.version} rather than YAML ${F}`;U.warnings.push(new t.YAMLWarning(w,H))}return F}function S(U,w,F){let H=[],G=!1;for(let ee of w){let{comment:fe,name:me}=ee;switch(me){case"TAG":try{U.tagPrefixes.push(A(U,ee))}catch(ve){U.errors.push(ve)}G=!0;break;case"YAML":case"YAML:1.0":if(U.version){let ve="The %YAML directive must only be given at most once per document.";U.errors.push(new t.YAMLSemanticError(ee,ve))}try{U.version=D(U,ee)}catch(ve){U.errors.push(ve)}G=!0;break;default:if(me){let ve=`YAML only supports %TAG and %YAML directives, and not %${me}`;U.warnings.push(new t.YAMLWarning(ee,ve))}}fe&&H.push(fe)}if(F&&!G&&(U.version||F.version||U.options.version)==="1.1"){let ee=({handle:fe,prefix:me})=>({handle:fe,prefix:me});U.tagPrefixes=F.tagPrefixes.map(ee),U.version=F.version}U.commentBefore=H.join(` +`)||null}function P(U){if(U instanceof r.Collection)return!0;throw new Error("Expected a YAML collection as document contents")}var M=class L9t{constructor(w){this.anchors=new f(w.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=w,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}add(w){return P(this.contents),this.contents.add(w)}addIn(w,F){P(this.contents),this.contents.addIn(w,F)}delete(w){return P(this.contents),this.contents.delete(w)}deleteIn(w){return r.isEmptyPath(w)?this.contents==null?!1:(this.contents=null,!0):(P(this.contents),this.contents.deleteIn(w))}getDefaults(){return L9t.defaults[this.version]||L9t.defaults[this.options.version]||{}}get(w,F){return this.contents instanceof r.Collection?this.contents.get(w,F):void 0}getIn(w,F){return r.isEmptyPath(w)?!F&&this.contents instanceof r.Scalar?this.contents.value:this.contents:this.contents instanceof r.Collection?this.contents.getIn(w,F):void 0}has(w){return this.contents instanceof r.Collection?this.contents.has(w):!1}hasIn(w){return r.isEmptyPath(w)?this.contents!==void 0:this.contents instanceof r.Collection?this.contents.hasIn(w):!1}set(w,F){P(this.contents),this.contents.set(w,F)}setIn(w,F){r.isEmptyPath(w)?this.contents=F:(P(this.contents),this.contents.setIn(w,F))}setSchema(w,F){if(!w&&!F&&this.schema)return;typeof w=="number"&&(w=w.toFixed(1)),w==="1.0"||w==="1.1"||w==="1.2"?(this.version?this.version=w:this.options.version=w,delete this.options.schema):w&&typeof w=="string"&&(this.options.schema=w),Array.isArray(F)&&(this.options.customTags=F);let H=Object.assign({},this.getDefaults(),this.options);this.schema=new n.Schema(H)}parse(w,F){this.options.keepCstNodes&&(this.cstNode=w),this.options.keepNodeTypes&&(this.type="DOCUMENT");let{directives:H=[],contents:G=[],directivesEndMarker:ee,error:fe,valueRange:me}=w;if(fe&&(fe.source||(fe.source=this),this.errors.push(fe)),S(this,H,F),ee&&(this.directivesEndMarker=!0),this.range=me?[me.start,me.end]:null,this.setSchema(),this.anchors._cstAliases=[],y(this,G),this.anchors.resolveNodes(),this.options.prettyErrors){for(let ve of this.errors)ve instanceof t.YAMLError&&ve.makePretty();for(let ve of this.warnings)ve instanceof t.YAMLError&&ve.makePretty()}return this}listNonDefaultTags(){return x(this.contents).filter(w=>w.indexOf(n.Schema.defaultPrefix)!==0)}setTagPrefix(w,F){if(w[0]!=="!"||w[w.length-1]!=="!")throw new Error("Handle must start and end with !");if(F){let H=this.tagPrefixes.find(G=>G.handle===w);H?H.prefix=F:this.tagPrefixes.push({handle:w,prefix:F})}else this.tagPrefixes=this.tagPrefixes.filter(H=>H.handle!==w)}toJSON(w,F){let{keepBlobsInJSON:H,mapAsMap:G,maxAliasCount:ee}=this.options,fe=H&&(typeof w!="string"||!(this.contents instanceof r.Scalar)),me={doc:this,indentStep:" ",keep:fe,mapAsMap:fe&&!!G,maxAliasCount:ee,stringify:_},ve=Object.keys(this.anchors.map);ve.length>0&&(me.anchors=new Map(ve.map(Ue=>[this.anchors.map[Ue],{alias:[],aliasCount:0,count:1}])));let Ae=r.toJSON(this.contents,w,me);if(typeof F=="function"&&me.anchors)for(let{count:Ue,res:Ee}of me.anchors.values())F(Ee,Ue);return Ae}toString(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");let w=this.options.indent;if(!Number.isInteger(w)||w<=0){let ve=JSON.stringify(w);throw new Error(`"indent" option must be a positive integer, not ${ve}`)}this.setSchema();let F=[],H=!1;if(this.version){let ve="%YAML 1.2";this.schema.name==="yaml-1.1"&&(this.version==="1.0"?ve="%YAML:1.0":this.version==="1.1"&&(ve="%YAML 1.1")),F.push(ve),H=!0}let G=this.listNonDefaultTags();this.tagPrefixes.forEach(({handle:ve,prefix:Ae})=>{G.some(Ue=>Ue.indexOf(Ae)===0)&&(F.push(`%TAG ${ve} ${Ae}`),H=!0)}),(H||this.directivesEndMarker)&&F.push("---"),this.commentBefore&&((H||!this.directivesEndMarker)&&F.unshift(""),F.unshift(this.commentBefore.replace(/^/gm,"#")));let ee={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(w),stringify:_},fe=!1,me=null;if(this.contents){this.contents instanceof r.Node&&(this.contents.spaceBefore&&(H||this.directivesEndMarker)&&F.push(""),this.contents.commentBefore&&F.push(this.contents.commentBefore.replace(/^/gm,"#")),ee.forceBlockIndent=!!this.comment,me=this.contents.comment);let ve=me?null:()=>fe=!0,Ae=_(this.contents,ee,()=>me=null,ve);F.push(r.addComment(Ae,"",me))}else this.contents!==void 0&&F.push(_(this.contents,ee));return this.comment&&((!fe||me)&&F[F.length-1]!==""&&F.push(""),F.push(this.comment.replace(/^/gm,"#"))),F.join(` +`)+` +`}};t._defineProperty(M,"defaults",R),e.Document=M,e.defaultOptions=i,e.scalarOptions=s}),_Dn=Qw(e=>{"use strict";var t=TDn(),r=pDn(),n=j1r(),i=VX(),s=K1r();$de();function R(x,y=!0,A){A===void 0&&typeof y=="string"&&(A=y,y=!0);let D=Object.assign({},r.Document.defaults[r.defaultOptions.version],r.defaultOptions);return new n.Schema(D).createNode(x,y,A)}var l=class extends r.Document{constructor(x){super(Object.assign({},r.defaultOptions,x))}};function c(x,y){let A=[],D;for(let S of t.parse(x)){let P=new l(y);P.parse(S,D),A.push(P),D=P}return A}function h(x,y){let A=t.parse(x),D=new l(y).parse(A[0]);if(A.length>1){let S="Source contains multiple documents; please use YAML.parseAllDocuments()";D.errors.unshift(new i.YAMLSemanticError(A[1],S))}return D}function _(x,y){let A=h(x,y);if(A.warnings.forEach(D=>s.warn(D)),A.errors.length>0)throw A.errors[0];return A.toJSON()}function f(x,y){let A=new l(y);return A.contents=x,String(A)}var m={createNode:R,defaultOptions:r.defaultOptions,Document:l,parse:_,parseAllDocuments:c,parseCST:t.parse,parseDocument:h,scalarOptions:r.scalarOptions,stringify:f};e.YAML=m}),hDn=Qw((e,t)=>{t.exports=_Dn().YAML}),fDn=Qw(e=>{"use strict";var t=$de(),r=VX();e.findPair=t.findPair,e.parseMap=t.resolveMap,e.parseSeq=t.resolveSeq,e.stringifyNumber=t.stringifyNumber,e.stringifyString=t.stringifyString,e.toJSON=t.toJSON,e.Type=r.Type,e.YAMLError=r.YAMLError,e.YAMLReferenceError=r.YAMLReferenceError,e.YAMLSemanticError=r.YAMLSemanticError,e.YAMLSyntaxError=r.YAMLSyntaxError,e.YAMLWarning=r.YAMLWarning}),Z1r={};W1r(Z1r,{languages:()=>qpr,options:()=>Cpr,parsers:()=>aAt,printers:()=>Bpr});dDn=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},P9t=dDn,epr="string",tpr="array",rpr="cursor",npr="indent",J9t="align",ipr="trim",X9t="group",Z9t="fill",eAt="if-break",apr="indent-if-break",tAt="line-suffix",spr="line-suffix-boundary",vse="line",opr="label",rAt="break-parent",Rpr=new Set([rpr,npr,J9t,ipr,X9t,Z9t,eAt,apr,tAt,spr,vse,opr,rAt]);upr=xDn,mDn=e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e);yDn=class extends Error{name="InvalidDocError";constructor(e){super(kDn(e)),this.doc=e}},qDn=yDn,lpr=()=>{},Ose=lpr,nAt=lpr;iAt={type:rAt},bDn={type:vse,hard:!0},EDn={type:vse,hard:!0,literal:!0},Qde={type:vse},Tpr={type:vse,soft:!0},yl=[bDn,iAt],H9t=[EDn,iAt];ODn=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},xg=ODn;Pdi=tAe(/\s/u),S1r=tAe(" "),Bdi=tAe(",; "),Idi=tAe(/[^\n\r]/u);$1r=SDn;QDn=$Dn,NDn=class extends Error{name="UnexpectedNodeError";constructor(e,t,r="type"){super(`Unexpected ${t} node ${r}: ${JSON.stringify(e[r])}.`),this.node=e}},wDn=NDn;ppr.getVisitorKeys=()=>[];PDn=ppr,Ode=null;BDn=10;for(let e=0;e<=BDn;e++)Sde();WDn=MDn,UDn=Object.fromEntries(Object.entries({root:["children"],document:["head","body","children"],documentHead:["children"],documentBody:["children"],directive:[],alias:[],blockLiteral:[],blockFolded:["children"],plain:["children"],quoteSingle:[],quoteDouble:[],mapping:["children"],mappingItem:["key","value","children"],mappingKey:["content","children"],mappingValue:["content","children"],sequence:["children"],sequenceItem:["content","children"],flowMapping:["children"],flowMappingItem:["key","value","children"],flowSequence:["children"],flowSequenceItem:["content","children"],comment:[],tag:[],anchor:[]}).map(([e,t])=>[e,[...t,"anchor","tag","indicatorComment","leadingComments","middleComments","trailingComment","endComments"]])),FDn=UDn,LDn=WDn(FDn),zDn=LDn;Nde=VDn;B9t=new WeakMap;rSn=tSn;oSn=iSn;lSn=RSn;ypr.ignoredProperties=new Set(["position"]);hSn={preprocess:lSn,embed:PDn,print:cSn,massageAstNode:ypr,insertPragma:GDn,getVisitorKeys:zDn},fSn=hSn,qpr=[{linguistLanguageId:407,name:"YAML",type:"data",color:"#cb171e",tmScope:"source.yaml",aliases:["yml"],extensions:[".yml",".mir",".reek",".rviz",".sublime-syntax",".syntax",".yaml",".yaml-tmlanguage",".yaml.sed",".yml.mysql"],filenames:[".clang-format",".clang-tidy",".gemrc","CITATION.cff","glide.lock",".prettierrc",".stylelintrc",".lintstagedrc"],aceMode:"yaml",codemirrorMode:"yaml",codemirrorMimeType:"text/x-yaml",parsers:["yaml"],vscodeLanguageIds:["yaml","ansible","home-assistant"]}],M9t={bracketSpacing:{category:"Common",type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},singleQuote:{category:"Common",type:"boolean",default:!1,description:"Use single quotes instead of double quotes."},proseWrap:{category:"Common",type:"choice",default:"preserve",description:"How to wrap prose.",choices:[{value:"always",description:"Wrap prose if it exceeds the print width."},{value:"never",description:"Do not wrap prose."},{value:"preserve",description:"Wrap prose as-is."}]},bracketSameLine:{category:"Common",type:"boolean",default:!1,description:"Put > of opening tags on the last line instead of on a new line."},singleAttributePerLine:{category:"Common",type:"boolean",default:!1,description:"Enforce single attribute per line in HTML, Vue and JSX."}},dSn={bracketSpacing:M9t.bracketSpacing,singleQuote:M9t.singleQuote,proseWrap:M9t.proseWrap},Cpr=dSn,aAt={};W1r(aAt,{yaml:()=>P$n});K9e=` +`,w1r="\r",xSn=function(){function e(t){this.length=t.length;for(var r=[0],n=0;nthis.length)return null;for(var r=0,n=this.offsets;n[r+1]<=t;)r++;var i=t-n[r];return{line:r,column:i}},e.prototype.indexForLocation=function(t){var r=t.line,n=t.column;return r<0||r>=this.offsets.length||n<0||n>this.lengthOfLine(r)?null:this.offsets[r]+n},e.prototype.lengthOfLine=function(t){var r=this.offsets[t],n=t===this.offsets.length-1?this.length:this.offsets[t+1];return n-r},e}();(function(e){e.Tag="!",e.Anchor="&",e.Comment="#"})(Ese||(Ese={}));(function(e){e.CLIP="clip",e.STRIP="strip",e.KEEP="keep"})(G9t||(G9t={}));O$n=U1r(hDn(),1),mg=U1r(fDn(),1),Mdi=mg.default.findPair,Wdi=mg.default.toJSON,Udi=mg.default.parseMap,Fdi=mg.default.parseSeq,Ldi=mg.default.stringifyNumber,zdi=mg.default.stringifyString,Hdi=mg.default.Type,Ydi=mg.default.YAMLError,Kdi=mg.default.YAMLReferenceError,v$n=mg.default.YAMLSemanticError,Gdi=mg.default.YAMLSyntaxError,Vdi=mg.default.YAMLWarning,{Document:D$n,parseCST:S$n}=O$n.default;N$n=Q$n;P$n={astFormat:"yaml",parse:w$n,hasPragma:KDn,locStart:J9e,locEnd:HDn},Bpr={yaml:fSn},B$n=Z1r});var W3t={};x2(W3t,{__debug:()=>Jfr,__internal:()=>jfr,check:()=>Yfr,clearConfigCache:()=>Kfr,default:()=>nLn,doc:()=>Qqe,format:()=>M3t,formatWithCursor:()=>I3t,getFileInfo:()=>Gfr,getSupportInfo:()=>Vfr,resolveConfig:()=>A3t,resolveConfigFile:()=>ffr,util:()=>Q3t,version:()=>Hfr});import{createRequire as I$n}from"module";import{fileURLToPath as M$n}from"url";import{dirname as W$n}from"path";import R3t from"process";import INn from"os";import Jpr from"tty";import GW from"path";import{fileURLToPath as Awn}from"url";import Dhr from"path";import*as Shr from"path";import p_r from"fs/promises";import $wn from"path";import*as Kse from"path";import l3t from"path";import Kwn from"fs/promises";import h_r from"fs/promises";import{pathToFileURL as Xwn}from"url";import kIn from"fs/promises";import OIn from"path";import{pathToFileURL as vIn}from"url";import rfr from"assert";import{statSync as nfr,realpathSync as DIn}from"fs";import sZ from"process";import{URL as __,fileURLToPath as nT,pathToFileURL as m3t}from"url";import ifr from"path";import{builtinModules as k3t}from"module";import{fileURLToPath as SIn}from"url";import $In from"fs";import QIn from"path";import{fileURLToPath as zAt}from"url";import NIn from"v8";import oZ from"assert";import{format as wIn,inspect as HAt}from"util";import{createRequire as vMn}from"module";import dAe from"path";import KMn from"url";import F_r from"fs";import V_r from"assert";import OUn from"assert";import ihr from"path";import{pathToFileURL as ahr}from"url";import yFn from"path";function qO(){}function Wpr(e,t,r,n,i){for(var s=[],R;t;)s.push(t),R=t.previousComponent,delete t.previousComponent,t=R;s.reverse();for(var l=0,c=s.length,h=0,_=0;lx.length?A:x}),f.value=e.join(m)}else f.value=e.join(r.slice(h,h+f.count));h+=f.count,f.added||(_+=f.count)}}return s}function Upr(e,t){var r;for(r=0;rt.length&&(r=e.length-t.length);var n=t.length;e.length0&&t[R]!=t[s];)s=i[s];t[R]==t[s]&&s++}s=0;for(var l=r;l0&&e[l]!=t[s];)s=i[s];e[l]==t[s]&&s++}return s}function zpr(e,t,r,n){if(t&&r){var i=t.value.match(/^\s*/)[0],s=t.value.match(/\s*$/)[0],R=r.value.match(/^\s*/)[0],l=r.value.match(/\s*$/)[0];if(e){var c=Upr(i,R);e.value=OAt(e.value,R,c),t.value=wde(t.value,c),r.value=wde(r.value,c)}if(n){var h=Fpr(s,l);n.value=EAt(n.value,l,h),t.value=aAe(t.value,h),r.value=aAe(r.value,h)}}else if(r)e&&(r.value=r.value.replace(/^\s*/,"")),n&&(n.value=n.value.replace(/^\s*/,""));else if(e&&n){var _=n.value.match(/^\s*/)[0],f=t.value.match(/^\s*/)[0],m=t.value.match(/\s*$/)[0],x=Upr(_,f);t.value=wde(t.value,x);var y=Fpr(wde(_,x),m);t.value=aAe(t.value,y),n.value=EAt(n.value,_,y),e.value=OAt(e.value,_,_.slice(0,_.length-y.length))}else if(n){var A=n.value.match(/^\s*/)[0],D=t.value.match(/\s*$/)[0],S=Lpr(D,A);t.value=aAe(t.value,S)}else if(e){var P=e.value.match(/\s*$/)[0],M=t.value.match(/^\s*/)[0],U=Lpr(P,M);t.value=wde(t.value,U)}}function Hpr(e,t,r){return IAe.diff(e,t,r)}function Ypr(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(i){return Object.getOwnPropertyDescriptor(e,i).enumerable})),r.push.apply(r,n)}return r}function qAe(e){for(var t=1;te.length)&&(t=e.length);for(var r=0,n=new Array(t);r"u"&&(R.context=4),R.newlineIsToken)throw new Error("newlineIsToken may not be used with patch-generation functions, only with diffing functions");if(R.callback){var l=R,c=l.callback;Hpr(r,n,qAe(qAe({},R),{},{callback:function(f){var m=h(f);c(m)}}))}else return h(Hpr(r,n,R));function h(_){if(!_)return;_.push({value:"",lines:[]});function f(G){return G.map(function(ee){return" "+ee})}for(var m=[],x=0,y=0,A=[],D=1,S=1,P=function(){var ee=_[M],fe=ee.lines||$Nn(ee.value);if(ee.lines=fe,ee.added||ee.removed){var me;if(!x){var ve=_[M-1];x=D,y=S,ve&&(A=R.context>0?f(ve.lines.slice(-R.context)):[],x-=A.length,y-=A.length)}(me=A).push.apply(me,uAt(fe.map(function(gt){return(ee.added?"+":"-")+gt}))),ee.added?S+=fe.length:D+=fe.length}else{if(x)if(fe.length<=R.context*2&&M<_.length-2){var Ae;(Ae=A).push.apply(Ae,uAt(f(fe)))}else{var Ue,Ee=Math.min(fe.length,R.context);(Ue=A).push.apply(Ue,uAt(f(fe.slice(0,Ee))));var Me={oldStart:x,oldLines:D-x+Ee,newStart:y,newLines:S-y+Ee,lines:A};m.push(Me),x=0,y=0,A=[]}D+=fe.length,S+=fe.length}},M=0;M<_.length;M++)P();for(var U=0,w=m;U"u"?"":" "+e.oldHeader)),t.push("+++ "+e.newFileName+(typeof e.newHeader>"u"?"":" "+e.newHeader));for(var r=0;r248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(r/255*5)+Math.round(n/255*5)},enumerable:!1},hexToRgb:{value(t){let r=/[a-f\d]{6}|[a-f\d]{3}/i.exec(t.toString(16));if(!r)return[0,0,0];let[n]=r;n.length===3&&(n=[...n].map(s=>s+s).join(""));let i=Number.parseInt(n,16);return[i>>16&255,i>>8&255,i&255]},enumerable:!1},hexToAnsi256:{value:t=>Dp.rgbToAnsi256(...Dp.hexToRgb(t)),enumerable:!1},ansi256ToAnsi:{value(t){if(t<8)return 30+t;if(t<16)return 90+(t-8);let r,n,i;if(t>=232)r=((t-232)*10+8)/255,n=r,i=r;else{t-=16;let l=t%36;r=Math.floor(t/36)/5,n=Math.floor(l/6)/5,i=l%6/5}let s=Math.max(r,n,i)*2;if(s===0)return 30;let R=30+(Math.round(i)<<2|Math.round(n)<<1|Math.round(r));return s===2&&(R+=60),R},enumerable:!1},rgbToAnsi:{value:(t,r,n)=>Dp.ansi256ToAnsi(Dp.rgbToAnsi256(t,r,n)),enumerable:!1},hexToAnsi:{value:t=>Dp.ansi256ToAnsi(Dp.hexToAnsi256(t)),enumerable:!1}}),Dp}function kg(e,t=globalThis.Deno?globalThis.Deno.args:R3t.argv){let r=e.startsWith("-")?"":e.length===1?"-":"--",n=t.indexOf(r+e),i=t.indexOf("--");return n!==-1&&(i===-1||n=2,has16m:e>=3}}function UNn(e,{streamIsTTY:t,sniffFlags:r=!0}={}){let n=MNn();n!==void 0&&(AAe=n);let i=r?AAe:n;if(i===0)return 0;if(r){if(kg("color=16m")||kg("color=full")||kg("color=truecolor"))return 3;if(kg("color=256"))return 2}if("TF_BUILD"in p_&&"AGENT_NAME"in p_)return 1;if(e&&!t&&i===void 0)return 0;let s=i||0;if(p_.TERM==="dumb")return s;if(R3t.platform==="win32"){let R=INn.release().split(".");return Number(R[0])>=10&&Number(R[2])>=10586?Number(R[2])>=14931?3:2:1}if("CI"in p_)return"GITHUB_ACTIONS"in p_||"GITEA_ACTIONS"in p_?3:["TRAVIS","CIRCLECI","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(R=>R in p_)||p_.CI_NAME==="codeship"?1:s;if("TEAMCITY_VERSION"in p_)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(p_.TEAMCITY_VERSION)?1:0;if(p_.COLORTERM==="truecolor"||p_.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in p_){let R=Number.parseInt((p_.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(p_.TERM_PROGRAM){case"iTerm.app":return R>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(p_.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(p_.TERM)||"COLORTERM"in p_?1:s}function Xpr(e,t={}){let r=UNn(e,{streamIsTTY:e&&e.isTTY,...t});return WNn(r)}function zNn(e,t,r){let n=e.indexOf(t);if(n===-1)return e;let i=t.length,s=0,R="";do R+=e.slice(s,n)+t+r,s=n+i,n=e.indexOf(t,s);while(n!==-1);return R+=e.slice(s),R}function HNn(e,t,r,n){let i=0,s="";do{let R=e[n-1]==="\r";s+=e.slice(i,R?n-1:n)+t+(R?`\r +`:` +`)+r,i=n+1,n=e.indexOf(` +`,i)}while(n!==-1);return s+=e.slice(i),s}function Jde(e){return KNn(e)}function n_r(e,t,r,n){return[`Invalid ${tS.red(n.key(e))} value.`,`Expected ${tS.blue(r)},`,`but received ${t===yhr?tS.gray("nothing"):tS.red(n.value(t))}.`].join(" ")}function qhr({text:e,list:t},r){let n=[];return e&&n.push(`- ${tS.blue(e)}`),t&&n.push([`- ${tS.blue(t.title)}:`].concat(t.values.map(i=>qhr(i,r-r_r.length).replace(/^|\n/g,`$&${r_r}`))).join(` +`)),Chr(n,r)}function Chr(e,t){if(e.length===1)return e[0];let[r,n]=e,[i,s]=e.map(R=>R.split(` +`,1)[0].length);return i>t&&i>s?n:r}function ewn(e,t){if(e===t)return 0;let r=e;e.length>t.length&&(e=t,t=r);let n=e.length,i=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-i);)n--,i--;let s=0;for(;sl?h>l?l+1:h:h>c?c+1:h;return l}function rwn(e,t){let r=new e(t),n=Object.create(r);for(let i of twn)i in t&&(n[i]=nwn(t[i],r,eU.prototype[i].length));return n}function nwn(e,t,r){return typeof e=="function"?(...n)=>e(...n.slice(0,r-1),t,...n.slice(r-1)):()=>e}function a_r({from:e,to:t}){return{from:[e],to:t}}function Rwn(e,t){let r=Object.create(null);for(let n of e){let i=n[t];if(r[i])throw new Error(`Duplicate ${t} ${JSON.stringify(i)}`);r[i]=n}return r}function uwn(e,t){let r=new Map;for(let n of e){let i=n[t];if(r.has(i))throw new Error(`Duplicate ${t} ${JSON.stringify(i)}`);r.set(i,n)}return r}function lwn(){let e=Object.create(null);return t=>{let r=JSON.stringify(t);return e[r]?!0:(e[r]=!0,!1)}}function cwn(e,t){let r=[],n=[];for(let i of e)t(i)?r.push(i):n.push(i);return[r,n]}function Twn(e){return e===Math.floor(e)}function pwn(e,t){if(e===t)return 0;let r=typeof e,n=typeof t,i=["undefined","object","boolean","number","string"];return r!==n?i.indexOf(r)-i.indexOf(n):r!=="string"?Number(e)-Number(t):e.localeCompare(t)}function _wn(e){return(...t)=>{let r=e(...t);return typeof r=="string"?new Error(r):r}}function s_r(e){return e===void 0?{}:e}function ghr(e){if(typeof e=="string")return{text:e};let{text:t,list:r}=e;return hwn((t||r)!==void 0,"Unexpected `expected` result, there should be at least one field."),r?{text:t,list:{title:r.title,values:r.values.map(ghr)}}:{text:t}}function o_r(e,t){return e===!0?!0:e===!1?{value:t}:e}function R_r(e,t,r=!1){return e===!1?!1:e===!0?r?!0:[{value:t}]:"value"in e?[e]:e.length===0?!1:e}function u_r(e,t){return typeof e=="string"||"key"in e?{from:t,to:e}:"from"in e?{from:e.from,to:e.to}:{from:t,to:e.to}}function PAt(e,t){return e===void 0?[]:Array.isArray(e)?e.map(r=>u_r(r,t)):[u_r(e,t)]}function l_r(e,t){let r=PAt(typeof e=="object"&&"redirect"in e?e.redirect:e,t);return r.length===0?{remain:t,redirect:r}:typeof e=="object"&&"remain"in e?{remain:e.remain,redirect:r}:{redirect:r}}function hwn(e,t){if(!e)throw new Error(t)}function Ewn(e,t){let r=[[],[]];for(let n of e)r[t(n)?0:1].push(n);return r}async function Dwn(e,t){let r=t?.allowSymlinks??!0,n;try{n=await(r?p_r.stat:p_r.lstat)(Yse(e))}catch{return!1}return n.isDirectory()}function*Qwn(e,t){e=__r(e);let{root:r}=Kse.parse(e);if(t=t?__r(t):r,!(e!==t&&!e.startsWith(t))){for(let n=e;n!==t;n=Kse.dirname(n))yield n;yield t}}async function Iwn(e,t){Fde??(Fde=new Qhr(Bwn));let r=await Fde.search(e,t);return r?Shr.dirname(r):void 0}function Mwn(){Fde?.clearCache()}function Wwn(e){let t={},r=Object.keys(e);for(let n=0;n"u"||e===null}function Zwn(e){return typeof e=="object"&&e!==null}function ePn(e){return Array.isArray(e)?e:whr(e)?[]:[e]}function tPn(e,t){var r,n,i,s;if(t)for(s=Object.keys(t),r=0,n=s.length;rl&&(s=" ... ",t=n-l+s.length),r-n>l&&(R=" ...",r=n+l-R.length),{str:s+e.slice(t,r).replace(/\t/g,"\u2192")+R,pos:n-t+s.length}}function pAt(e,t){return B4.repeat(" ",t-e.length)+e}function lPn(e,t){if(t=Object.create(t||null),!e.buffer)return null;t.maxLength||(t.maxLength=79),typeof t.indent!="number"&&(t.indent=1),typeof t.linesBefore!="number"&&(t.linesBefore=3),typeof t.linesAfter!="number"&&(t.linesAfter=2);for(var r=/\r?\n|\r|\0/g,n=[0],i=[],s,R=-1;s=r.exec(e.buffer);)i.push(s.index),n.push(s.index+s[0].length),e.position<=s.index&&R<0&&(R=n.length-2);R<0&&(R=n.length-1);var l="",c,h,_=Math.min(e.line+t.linesAfter,i.length).toString().length,f=t.maxLength-(t.indent+_+3);for(c=1;c<=t.linesBefore&&!(R-c<0);c++)h=TAt(e.buffer,n[R-c],i[R-c],e.position-(n[R]-n[R-c]),f),l=B4.repeat(" ",t.indent)+pAt((e.line-c+1).toString(),_)+" | "+h.str+` +`+l;for(h=TAt(e.buffer,n[R],i[R],e.position,f),l+=B4.repeat(" ",t.indent)+pAt((e.line+1).toString(),_)+" | "+h.str+` +`,l+=B4.repeat("-",t.indent+_+3+h.pos)+`^ +`,c=1;c<=t.linesAfter&&!(R+c>=i.length);c++)h=TAt(e.buffer,n[R+c],i[R+c],e.position-(n[R]-n[R+c]),f),l+=B4.repeat(" ",t.indent)+pAt((e.line+c+1).toString(),_)+" | "+h.str+` +`;return l.replace(/\n$/,"")}function _Pn(e){var t={};return e!==null&&Object.keys(e).forEach(function(r){e[r].forEach(function(n){t[String(n)]=r})}),t}function hPn(e,t){if(t=t||{},Object.keys(t).forEach(function(r){if(TPn.indexOf(r)===-1)throw new Iw('Unknown option "'+r+'" is met in definition of "'+e+'" YAML type.')}),this.options=t,this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(r){return r},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.representName=t.representName||null,this.defaultStyle=t.defaultStyle||null,this.multi=t.multi||!1,this.styleAliases=_Pn(t.styleAliases||null),pPn.indexOf(this.kind)===-1)throw new Iw('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}function f_r(e,t){var r=[];return e[t].forEach(function(n){var i=r.length;r.forEach(function(s,R){s.tag===n.tag&&s.kind===n.kind&&s.multi===n.multi&&(i=R)}),r[i]=n}),r}function fPn(){var e={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},t,r;function n(i){i.multi?(e.multi[i.kind].push(i),e.multi.fallback.push(i)):e[i.kind][i.tag]=e.fallback[i.tag]=i}for(t=0,r=arguments.length;t=0&&(t=t.slice(1)),t===".inf"?r===1?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:t===".nan"?NaN:r*parseFloat(t,10)}function UPn(e,t){var r;if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===e)switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(B4.isNegativeZero(e))return"-0.0";return r=e.toString(10),WPn.test(r)?r.replace("e",".e"):r}function FPn(e){return Object.prototype.toString.call(e)==="[object Number]"&&(e%1!==0||B4.isNegativeZero(e))}function YPn(e){return e===null?!1:Bhr.exec(e)!==null||Ihr.exec(e)!==null}function KPn(e){var t,r,n,i,s,R,l,c=0,h=null,_,f,m;if(t=Bhr.exec(e),t===null&&(t=Ihr.exec(e)),t===null)throw new Error("Date resolve error");if(r=+t[1],n=+t[2]-1,i=+t[3],!t[4])return new Date(Date.UTC(r,n,i));if(s=+t[4],R=+t[5],l=+t[6],t[7]){for(c=t[7].slice(0,3);c.length<3;)c+="0";c=+c}return t[9]&&(_=+t[10],f=+(t[11]||0),h=(_*60+f)*6e4,t[9]==="-"&&(h=-h)),m=new Date(Date.UTC(r,n,i,s,R,l,c)),h&&m.setTime(m.getTime()-h),m}function GPn(e){return e.toISOString()}function jPn(e){return e==="<<"||e===null}function XPn(e){if(e===null)return!1;var t,r,n=0,i=e.length,s=T3t;for(r=0;r64)){if(t<0)return!1;n+=6}return n%8===0}function ZPn(e){var t,r,n=e.replace(/[\r\n=]/g,""),i=n.length,s=T3t,R=0,l=[];for(t=0;t>16&255),l.push(R>>8&255),l.push(R&255)),R=R<<6|s.indexOf(n.charAt(t));return r=i%4*6,r===0?(l.push(R>>16&255),l.push(R>>8&255),l.push(R&255)):r===18?(l.push(R>>10&255),l.push(R>>2&255)):r===12&&l.push(R>>4&255),new Uint8Array(l)}function eBn(e){var t="",r=0,n,i,s=e.length,R=T3t;for(n=0;n>18&63],t+=R[r>>12&63],t+=R[r>>6&63],t+=R[r&63]),r=(r<<8)+e[n];return i=s%3,i===0?(t+=R[r>>18&63],t+=R[r>>12&63],t+=R[r>>6&63],t+=R[r&63]):i===2?(t+=R[r>>10&63],t+=R[r>>4&63],t+=R[r<<2&63],t+=R[64]):i===1&&(t+=R[r>>2&63],t+=R[r<<4&63],t+=R[64],t+=R[64]),t}function tBn(e){return Object.prototype.toString.call(e)==="[object Uint8Array]"}function aBn(e){if(e===null)return!0;var t=[],r,n,i,s,R,l=e;for(r=0,n=l.length;r>10)+55296,(e-65536&1023)+56320)}function gBn(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||fBn,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.json=t.json||!1,this.listener=t.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Hhr(e,t){var r={name:e.filename,buffer:e.input.slice(0,-1),position:e.position,line:e.line,column:e.position-e.lineStart};return r.snippet=cPn(r),new Iw(t,r)}function Oo(e,t){throw Hhr(e,t)}function DAe(e,t){e.onWarning&&e.onWarning.call(null,Hhr(e,t))}function YW(e,t,r,n){var i,s,R,l;if(t1&&(e.result+=B4.repeat(` +`,t-1))}function bBn(e,t,r){var n,i,s,R,l,c,h,_,f=e.kind,m=e.result,x;if(x=e.input.charCodeAt(e.position),i5(x)||Qse(x)||x===35||x===38||x===42||x===33||x===124||x===62||x===39||x===34||x===37||x===64||x===96||(x===63||x===45)&&(i=e.input.charCodeAt(e.position+1),i5(i)||r&&Qse(i)))return!1;for(e.kind="scalar",e.result="",s=R=e.position,l=!1;x!==0;){if(x===58){if(i=e.input.charCodeAt(e.position+1),i5(i)||r&&Qse(i))break}else if(x===35){if(n=e.input.charCodeAt(e.position-1),i5(n))break}else{if(e.position===e.lineStart&&MAe(e)||r&&Qse(x))break;if(rS(x))if(c=e.line,h=e.lineStart,_=e.lineIndent,Cx(e,!1,-1),e.lineIndent>=t){l=!0,x=e.input.charCodeAt(e.position);continue}else{e.position=R,e.line=c,e.lineStart=h,e.lineIndent=_;break}}l&&(YW(e,s,R,!1),_3t(e,e.line-c),s=R=e.position,l=!1),aZ(x)||(R=e.position+1),x=e.input.charCodeAt(++e.position)}return YW(e,s,R,!1),e.result?!0:(e.kind=f,e.result=m,!1)}function EBn(e,t){var r,n,i;if(r=e.input.charCodeAt(e.position),r!==39)return!1;for(e.kind="scalar",e.result="",e.position++,n=i=e.position;(r=e.input.charCodeAt(e.position))!==0;)if(r===39)if(YW(e,n,e.position,!0),r=e.input.charCodeAt(++e.position),r===39)n=e.position,e.position++,i=e.position;else return!0;else rS(r)?(YW(e,n,i,!0),_3t(e,Cx(e,!1,t)),n=i=e.position):e.position===e.lineStart&&MAe(e)?Oo(e,"unexpected end of the document within a single quoted scalar"):(e.position++,i=e.position);Oo(e,"unexpected end of the stream within a single quoted scalar")}function OBn(e,t){var r,n,i,s,R,l;if(l=e.input.charCodeAt(e.position),l!==34)return!1;for(e.kind="scalar",e.result="",e.position++,r=n=e.position;(l=e.input.charCodeAt(e.position))!==0;){if(l===34)return YW(e,r,e.position,!0),e.position++,!0;if(l===92){if(YW(e,r,e.position,!0),l=e.input.charCodeAt(++e.position),rS(l))Cx(e,!1,t);else if(l<256&&Lhr[l])e.result+=zhr[l],e.position++;else if((R=qBn(l))>0){for(i=R,s=0;i>0;i--)l=e.input.charCodeAt(++e.position),(R=yBn(l))>=0?s=(s<<4)+R:Oo(e,"expected hexadecimal character");e.result+=ABn(s),e.position++}else Oo(e,"unknown escape sequence");r=n=e.position}else rS(l)?(YW(e,r,n,!0),_3t(e,Cx(e,!1,t)),r=n=e.position):e.position===e.lineStart&&MAe(e)?Oo(e,"unexpected end of the document within a double quoted scalar"):(e.position++,n=e.position)}Oo(e,"unexpected end of the stream within a double quoted scalar")}function vBn(e,t){var r=!0,n,i,s,R=e.tag,l,c=e.anchor,h,_,f,m,x,y=Object.create(null),A,D,S,P;if(P=e.input.charCodeAt(e.position),P===91)_=93,x=!1,l=[];else if(P===123)_=125,x=!0,l={};else return!1;for(e.anchor!==null&&(e.anchorMap[e.anchor]=l),P=e.input.charCodeAt(++e.position);P!==0;){if(Cx(e,!0,t),P=e.input.charCodeAt(e.position),P===_)return e.position++,e.tag=R,e.anchor=c,e.kind=x?"mapping":"sequence",e.result=l,!0;r?P===44&&Oo(e,"expected the node content, but found ','"):Oo(e,"missed comma between flow collection entries"),D=A=S=null,f=m=!1,P===63&&(h=e.input.charCodeAt(e.position+1),i5(h)&&(f=m=!0,e.position++,Cx(e,!0,t))),n=e.line,i=e.lineStart,s=e.position,Fse(e,t,OAe,!1,!0),D=e.tag,A=e.result,Cx(e,!0,t),P=e.input.charCodeAt(e.position),(m||e.line===n)&&P===58&&(f=!0,P=e.input.charCodeAt(++e.position),Cx(e,!0,t),Fse(e,t,OAe,!1,!0),S=e.result),x?Nse(e,l,y,D,A,S,n,i,s):f?l.push(Nse(e,null,y,D,A,S,n,i,s)):l.push(A),Cx(e,!0,t),P=e.input.charCodeAt(e.position),P===44?(r=!0,P=e.input.charCodeAt(++e.position)):r=!1}Oo(e,"unexpected end of the stream within a flow collection")}function DBn(e,t){var r,n,i=_At,s=!1,R=!1,l=t,c=0,h=!1,_,f;if(f=e.input.charCodeAt(e.position),f===124)n=!1;else if(f===62)n=!0;else return!1;for(e.kind="scalar",e.result="";f!==0;)if(f=e.input.charCodeAt(++e.position),f===43||f===45)_At===i?i=f===43?d_r:dBn:Oo(e,"repeat of a chomping mode identifier");else if((_=CBn(f))>=0)_===0?Oo(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):R?Oo(e,"repeat of an indentation width identifier"):(l=t+_-1,R=!0);else break;if(aZ(f)){do f=e.input.charCodeAt(++e.position);while(aZ(f));if(f===35)do f=e.input.charCodeAt(++e.position);while(!rS(f)&&f!==0)}for(;f!==0;){for(p3t(e),e.lineIndent=0,f=e.input.charCodeAt(e.position);(!R||e.lineIndentl&&(l=e.lineIndent),rS(f)){c++;continue}if(e.lineIndentt)&&c!==0)Oo(e,"bad indentation of a sequence entry");else if(e.lineIndentt)&&(D&&(R=e.line,l=e.lineStart,c=e.position),Fse(e,t,vAe,!0,i)&&(D?y=e.result:A=e.result),D||(Nse(e,f,m,x,y,A,R,l,c),x=y=A=null),Cx(e,!0,-1),P=e.input.charCodeAt(e.position)),(e.line===s||e.lineIndent>t)&&P!==0)Oo(e,"bad indentation of a mapping entry");else if(e.lineIndentt?c=1:e.lineIndent===t?c=0:e.lineIndentt?c=1:e.lineIndent===t?c=0:e.lineIndent tag; it should be "scalar", not "'+e.kind+'"'),f=0,m=e.implicitTypes.length;f"),e.result!==null&&y.kind!==e.kind&&Oo(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+y.kind+'", not "'+e.kind+'"'),y.resolve(e.result,e.tag)?(e.result=y.construct(e.result,e.tag),e.anchor!==null&&(e.anchorMap[e.anchor]=e.result)):Oo(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")}return e.listener!==null&&e.listener("close",e),e.tag!==null||e.anchor!==null||_}function wBn(e){var t=e.position,r,n,i,s=!1,R;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap=Object.create(null),e.anchorMap=Object.create(null);(R=e.input.charCodeAt(e.position))!==0&&(Cx(e,!0,-1),R=e.input.charCodeAt(e.position),!(e.lineIndent>0||R!==37));){for(s=!0,R=e.input.charCodeAt(++e.position),r=e.position;R!==0&&!i5(R);)R=e.input.charCodeAt(++e.position);for(n=e.input.slice(r,e.position),i=[],n.length<1&&Oo(e,"directive name must not be less than one character in length");R!==0;){for(;aZ(R);)R=e.input.charCodeAt(++e.position);if(R===35){do R=e.input.charCodeAt(++e.position);while(R!==0&&!rS(R));break}if(rS(R))break;for(r=e.position;R!==0&&!i5(R);)R=e.input.charCodeAt(++e.position);i.push(e.input.slice(r,e.position))}R!==0&&p3t(e),VW.call(k_r,n)?k_r[n](e,n,i):DAe(e,'unknown document directive "'+n+'"')}if(Cx(e,!0,-1),e.lineIndent===0&&e.input.charCodeAt(e.position)===45&&e.input.charCodeAt(e.position+1)===45&&e.input.charCodeAt(e.position+2)===45?(e.position+=3,Cx(e,!0,-1)):s&&Oo(e,"directives end mark is expected"),Fse(e,e.lineIndent-1,vAe,!1,!0),Cx(e,!0,-1),e.checkLineBreaks&&mBn.test(e.input.slice(t,e.position))&&DAe(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&MAe(e)){e.input.charCodeAt(e.position)===46&&(e.position+=3,Cx(e,!0,-1));return}if(e.position"u"&&(r=t,t=null);var n=Yhr(e,r);if(typeof t!="function")return n;for(var i=0,s=n.length;i0;){let r=Ww();if(!P7.isHexDigit(r))throw U1(Ii());e+=Ii()}return String.fromCodePoint(parseInt(e,16))}function fAt(){let e;switch(B7.type){case"punctuator":switch(B7.value){case"{":e={};break;case"[":e=[];break}break;case"null":case"boolean":case"numeric":case"string":e=B7.value;break}if(zde===void 0)zde=e;else{let t=Mw[Mw.length-1];Array.isArray(t)?t.push(e):Object.defineProperty(t,f3t,{value:e,writable:!0,enumerable:!0,configurable:!0})}if(e!==null&&typeof e=="object")Mw.push(e),Array.isArray(e)?I4="beforeArrayValue":I4="beforePropertyName";else{let t=Mw[Mw.length-1];t==null?I4="end":Array.isArray(t)?I4="afterArrayValue":I4="afterPropertyValue"}}function sAe(){Mw.pop();let e=Mw[Mw.length-1];e==null?I4="end":Array.isArray(e)?I4="afterArrayValue":I4="afterPropertyValue"}function U1(e){return $Ae(e===void 0?`JSON5: invalid end of input at ${jW}:${mO}`:`JSON5: invalid character '${Vhr(e)}' at ${jW}:${mO}`)}function eZ(){return $Ae(`JSON5: invalid end of input at ${jW}:${mO}`)}function C_r(){return mO-=5,$Ae(`JSON5: invalid identifier character at ${jW}:${mO}`)}function VBn(e){console.warn(`JSON5: '${Vhr(e)}' in strings is not valid ECMAScript; consider escaping`)}function Vhr(e){let t={"'":"\\'",'"':'\\"',"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t","\v":"\\v","\0":"\\0","\u2028":"\\u2028","\u2029":"\\u2029"};if(t[e])return t[e];if(e<" "){let r=e.charCodeAt(0).toString(16);return"\\x"+("00"+r).substring(r.length)}return e}function $Ae(e){let t=new SyntaxError(e);return t.lineNumber=jW,t.columnNumber=mO,t}function XBn(e,t){let r=A_r(e,` +`,t-1),n=t-r-1,i=0;for(let s=r;s>=0;s=A_r(e,` +`,s-1))i++;return{line:i,column:n}}function g_r(e,t,{oneBased:r=!1}={}){if(t<0||t>=e.length&&e.length>0)throw new RangeError("Index out of bounds");let n=XBn(e,t);return r?{line:n.line+1,column:n.column+1}:n}function iIn(e,t,r){typeof t=="string"&&(r=t,t=void 0);let n;try{return JSON.parse(e,t)}catch(R){n=R.message}let i;e?(i=rIn(e,n),n=nIn(n)):n+=" while parsing empty string";let s=new tIn(n);throw s.fileName=r,i&&(s.codeFrame=b_r(e,i),s.rawCodeFrame=b_r(e,i,!1)),s}function aIn(e,t){let r=e.slice(0,t).split(/\r\n|\n|\r/g);return[r.length,r.pop().length+1]}function sIn(e,t,r){let n=e.split(/\r\n|\n|\r/g),i="",s=(Math.log10(t+1)|0)+1;for(let R=t-1;R<=t+1;R++){let l=n[R-1];l&&(i+=R.toString().padEnd(s," "),i+=": ",i+=l,i+=` +`,R===t&&(i+=" ".repeat(s+r+2),i+=`^ +`))}return i}function QAe(e,t=0,r=e.length){let n=e.indexOf(` +`,t);return e[n-1]==="\r"&&n--,n<=r?n:-1}function d3t(e,t){for(let r=t;r-1&&r!=="'"&&e[t-1]==="\\"&&e[t-2]!=="\\");return t>-1&&(t+=n.length,n.length>1&&(e[t]===r&&t++,e[t]===r&&t++)),t}function Xhr(e,t=0,r=e.length){let n=e[t]==="'",i=e[t++]===e[t]&&e[t]===e[t+1];i&&(r-=2,e[t+=2]==="\r"&&t++,e[t]===` +`&&t++);let s=0,R,l="",c=t;for(;t-1&&(d3t(e,s),i=i.slice(0,s));let R=i.trimEnd();if(!n){let l=i.indexOf(` +`,R.length);if(l>-1)throw new JR("newlines are not allowed in inline tables",{toml:e,ptr:t+l})}return[R,s]}function x3t(e,t,r,n){if(n===0)throw new JR("document contains excessively nested structures. aborting.",{toml:e,ptr:t});let i=e[t];if(i==="["||i==="{"){let[l,c]=i==="["?xIn(e,t,n):dIn(e,t,n),h=E_r(e,c,",",r);if(r==="}"){let _=QAe(e,c,h);if(_>-1)throw new JR("newlines are not allowed in inline tables",{toml:e,ptr:_})}return[l,h]}let s;if(i==='"'||i==="'"){s=Jhr(e,t);let l=Xhr(e,t,s);if(r){if(s=Uw(e,s,r!=="]"),e[s]&&e[s]!==","&&e[s]!==r&&e[s]!==` +`&&e[s]!=="\r")throw new JR("unexpected character encountered",{toml:e,ptr:s});s+=+(e[s]===",")}return[l,s]}s=E_r(e,t,",",r);let R=hIn(e,t,s-+(e[s-1]===","),r==="]");if(!R[0])throw new JR("incomplete key-value declaration: no value specified",{toml:e,ptr:t});return r&&R[1]>-1&&(s=Uw(e,t+R[1]),s+=+(e[s]===",")),[_In(R[0],e,t),s]}function LAt(e,t,r="="){let n=t-1,i=[],s=e.indexOf(r,t);if(s<0)throw new JR("incomplete key-value: cannot find end of key",{toml:e,ptr:t});do{let R=e[t=++n];if(R!==" "&&R!==" ")if(R==='"'||R==="'"){if(R===e[t+1]&&R===e[t+2])throw new JR("multiline strings are not allowed in keys",{toml:e,ptr:t});let l=Jhr(e,t);if(l<0)throw new JR("unfinished string encountered",{toml:e,ptr:t});n=e.indexOf(".",l);let c=e.slice(l,n<0||n>s?s:n),h=QAe(c);if(h>-1)throw new JR("newlines are not allowed in keys",{toml:e,ptr:t+n+h});if(c.trimStart())throw new JR("found extra tokens after the string part",{toml:e,ptr:l});if(ss?s:n);if(!fIn.test(l))throw new JR("only letter, numbers, dashes and underscores are allowed in keys",{toml:e,ptr:t});i.push(l.trimEnd())}}while(n+1&&n28&&(t=`${t.slice(0,25)}...`),`type ${typeof e} (${t})`}function sfr(e,{base:t,specifier:r}){let n=S_r.get(e);if(n)return n;let i;try{i=$In.readFileSync(QIn.toNamespacedPath(e),"utf8")}catch(R){let l=R;if(l.code!=="ENOENT")throw l}let s={exists:!1,pjsonPath:e,main:void 0,name:void 0,type:"none",exports:void 0,imports:void 0};if(i!==void 0){let R;try{R=JSON.parse(i)}catch(l){let c=l,h=new HIn(e,(t?`"${r}" from `:"")+zAt(t||r),c.message);throw h.cause=c,h}s.exists=!0,Pde.call(R,"name")&&typeof R.name=="string"&&(s.name=R.name),Pde.call(R,"main")&&typeof R.main=="string"&&(s.main=R.main),Pde.call(R,"exports")&&(s.exports=R.exports),Pde.call(R,"imports")&&(s.imports=R.imports),Pde.call(R,"type")&&(R.type==="commonjs"||R.type==="module")&&(s.type=R.type)}return S_r.set(e,s),s}function y3t(e){let t=new URL("package.json",e);for(;!t.pathname.endsWith("node_modules/package.json");){let i=sfr(zAt(t),{specifier:e});if(i.exists)return i;let s=t;if(t=new URL("../package.json",t),t.pathname===s.pathname)break}return{pjsonPath:zAt(t),exists:!1,type:"none"}}function $_r(e){return y3t(e).type}function VIn(e){return e&&/\s*(text|application)\/javascript\s*(;\s*charset=utf-?8\s*)?/i.test(e)?"module":e==="application/json"?"json":null}function jIn(e){let{1:t}=/^([^/]+\/[^;,]+)[^,]*?(;base64)?,/.exec(e.pathname)||[null,null,null];return VIn(t)}function JIn(e){let t=e.pathname,r=t.length;for(;r--;){let n=t.codePointAt(r);if(n===47)return"";if(n===46)return t.codePointAt(r-1)===47?"":t.slice(r)}return""}function XIn(e,t,r){let n=JIn(e);if(n===".js"){let R=$_r(e);return R!=="none"?R:"commonjs"}if(n===""){let R=$_r(e);return R==="none"||R==="commonjs"?"commonjs":"module"}let i=GIn[n];if(i)return i;if(r)return;let s=SIn(e);throw new YIn(n,s)}function N_r(){}function ofr(e,t){let r=e.protocol;return KIn.call(Q_r,r)&&Q_r[r](e,t,!0)||null}function tMn(){return Rfr}function rMn(){return eMn}function nMn(e){if(e!==void 0&&e!==tMn()){if(!Array.isArray(e))throw new ZIn("conditions",e,"expected an array");return new Set(e)}return rMn()}function M_r(e,t,r,n,i,s,R){if(sZ.noDeprecation)return;let l=nT(n),c=lMn.exec(R?e:t)!==null;sZ.emitWarning(`Use of deprecated ${c?"double slash":"leading or trailing slash matching"} resolving "${e}" for module request "${t}" ${t===r?"":`matched to "${r}" `}in the "${i?"imports":"exports"}" field module resolution of the package at ${l}${s?` imported from ${nT(s)}`:""}.`,"DeprecationWarning","DEP0166")}function W_r(e,t,r,n){if(sZ.noDeprecation||ofr(e,{parentURL:r.href})!=="module")return;let s=nT(e.href),R=nT(new __(".",t)),l=nT(r);n?ifr.resolve(R,n)!==s&&sZ.emitWarning(`Package ${R} has a "main" field set to "${n}", excluding the full filename and extension to the resolved file at "${s.slice(R.length)}", imported from ${l}. + Automatic extension resolution of the "main" field is deprecated for ES modules.`,"DeprecationWarning","DEP0151"):sZ.emitWarning(`No "main" or "exports" field defined in the package.json for ${R} resolving the main entry point "${s.slice(R.length)}", imported from ${l}. +Default "index" lookups for the main are deprecated for ES modules.`,"DeprecationWarning","DEP0151")}function cfr(e){try{return nfr(e)}catch{}}function kAt(e){let t=nfr(e,{throwIfNoEntry:!1}),r=t?t.isFile():void 0;return r??!1}function cMn(e,t,r){let n;if(t.main!==void 0){if(n=new __(t.main,e),kAt(n))return n;let R=[`./${t.main}.js`,`./${t.main}.json`,`./${t.main}.node`,`./${t.main}/index.js`,`./${t.main}/index.json`,`./${t.main}/index.node`],l=-1;for(;++lt):e+t;return pfr(x,n,c)}}throw Wde(r,e,n,R,i)}if(P_r.exec(e.slice(2))!==null)if(B_r.exec(e.slice(2))===null){if(!l){let m=s?r.replace("*",()=>t):r+t,x=s?oAe.call(RAe,e,()=>t):e;M_r(x,m,r,n,R,i,!0)}}else throw Wde(r,e,n,R,i);let h=new __(e,n),_=h.pathname,f=new __(".",n).pathname;if(!_.startsWith(f))throw Wde(r,e,n,R,i);if(t==="")return h;if(P_r.exec(t)!==null){let m=s?r.replace("*",()=>t):r+t;if(B_r.exec(t)===null){if(!l){let x=s?oAe.call(RAe,e,()=>t):e;M_r(x,m,r,n,R,i,!1)}}else _Mn(m,r,n,R,i)}return s?new __(oAe.call(RAe,h.href,()=>t)):new __(t,h)}function fMn(e){let t=Number(e);return`${t}`!==e?!1:t>=0&&t<4294967295}function Lse(e,t,r,n,i,s,R,l,c){if(typeof t=="string")return hMn(t,r,n,e,i,s,R,l,c);if(Array.isArray(t)){let h=t;if(h.length===0)return null;let _,f=-1;for(;++f=_.length&&t.endsWith(m)&&Tfr(R,_)===1&&_.lastIndexOf("*")===f&&(R=_,l=t.slice(f,t.length-m.length))}}if(R){let _=s[R],f=Lse(e,_,l,R,n,!0,!1,t.endsWith("/"),i);if(f==null)throw yAt(t,e,n);return f}throw yAt(t,e,n)}function Tfr(e,t){let r=e.indexOf("*"),n=t.indexOf("*"),i=r===-1?e.length:r+1,s=n===-1?t.length:n+1;return i>s?-1:s>i||r===-1?1:n===-1||e.length>t.length?-1:t.length>e.length?1:0}function mMn(e,t,r){if(e==="#"||e.startsWith("#/")||e.endsWith("/")){let s="is not a valid internal imports specifier name";throw new WAe(e,s,nT(t))}let n,i=y3t(t);if(i.exists){n=m3t(i.pjsonPath);let s=i.imports;if(s)if(lfr.call(s,e)&&!e.includes("*")){let R=Lse(n,s[e],"",e,t,!1,!0,!1,r);if(R!=null)return R}else{let R="",l="",c=Object.getOwnPropertyNames(s),h=-1;for(;++h=_.length&&e.endsWith(m)&&Tfr(R,_)===1&&_.lastIndexOf("*")===f&&(R=_,l=e.slice(f,e.length-m.length))}}if(R){let _=s[R],f=Lse(n,_,l,R,t,!0,!0,!1,r);if(f!=null)return f}}}throw pMn(e,n,t)}function kMn(e,t){let r=e.indexOf("/"),n=!0,i=!1;e[0]==="@"&&(i=!0,r===-1||e.length===0?n=!1:r=e.indexOf("/",r+1));let s=r===-1?e:e.slice(0,r);if(RMn.exec(s)!==null&&(n=!1),!n)throw new WAe(e,"is not a valid package name",nT(t));let R="."+(r===-1?"":e.slice(r));return{packageName:s,packageSubpath:R,isScoped:i}}function pfr(e,t,r){if(k3t.includes(e))return new __("node:"+e);let{packageName:n,packageSubpath:i,isScoped:s}=kMn(e,t),R=y3t(t);if(R.exists){let _=m3t(R.pjsonPath);if(R.name===n&&R.exports!==void 0&&R.exports!==null)return U_r(_,i,R,t,r)}let l=new __("./node_modules/"+n+"/package.json",t),c=nT(l),h;do{let _=cfr(c.slice(0,-13));if(!_||!_.isDirectory()){h=c,l=new __((s?"../../../../node_modules/":"../../../node_modules/")+n+"/package.json",l),c=nT(l);continue}let f=sfr(c,{base:t,specifier:e});return f.exports!==void 0&&f.exports!==null?U_r(l,i,f,t,r):i==="."?cMn(l,f,t):new __(i,l)}while(c.length!==h.length);throw new q3t(n,nT(t),!1)}function yMn(e){return e[0]==="."&&(e.length===1||e[1]==="/"||e[1]==="."&&(e.length===2||e[2]==="/"))}function C3t(e){return e===""?!1:e[0]==="/"?!0:yMn(e)}function qMn(e,t,r,n){let i=t.protocol,R=i==="data:"||i==="http:"||i==="https:",l;if(C3t(e))try{l=new __(e,t)}catch(c){let h=new w_r(e,t);throw h.cause=c,h}else if(i==="file:"&&e[0]==="#")l=mMn(e,t,r);else try{l=new __(e)}catch(c){if(R&&!k3t.includes(e)){let h=new w_r(e,t);throw h.cause=c,h}l=pfr(e,t,r)}return rfr(l!==void 0,"expected to be defined"),l.protocol!=="file:"?l:TMn(l,t,n)}function CMn(e,t,r){if(r){let n=r.protocol;if(n==="http:"||n==="https:"){if(C3t(e)){let i=t?.protocol;if(i&&i!=="https:"&&i!=="http:")throw new mAt(e,r,"remote imports cannot import from a local location.");return{url:t?.href||""}}throw k3t.includes(e)?new mAt(e,r,"remote imports cannot import from a local location."):new mAt(e,r,"only relative and absolute specifiers are supported.")}}}function AMn(e){return!!(e&&typeof e=="object"&&"href"in e&&typeof e.href=="string"&&"protocol"in e&&typeof e.protocol=="string"&&e.href&&e.protocol)}function gMn(e){if(e!==void 0&&typeof e!="string"&&!AMn(e))throw new jm.ERR_INVALID_ARG_TYPE("parentURL",["string","URL"],e)}function bMn(e,t={}){let{parentURL:r}=t;rfr(r!==void 0,"expected `parentURL` to be defined"),gMn(r);let n;if(r)try{n=new __(r)}catch{}let i,s;try{if(i=C3t(e)?new __(e,n):new __(e),s=i.protocol,s==="data:")return{url:i.href,format:null}}catch{}let R=CMn(e,i,n);if(R)return R;if(s===void 0&&i&&(s=i.protocol),s==="node:")return{url:e};if(i&&i.protocol==="node:")return{url:e};let l=nMn(t.conditions),c=qMn(e,new __(r),l,!1);return{url:c.href,format:ofr(c,{parentURL:r})}}function EMn(e,t){if(!t)throw new Error("Please pass `parent`: `import-meta-resolve` cannot ponyfill that");try{return bMn(e,{parentURL:t}).url}catch(r){let n=r;if((n.code==="ERR_UNSUPPORTED_DIR_IMPORT"||n.code==="ERR_MODULE_NOT_FOUND")&&typeof n.url=="string")return n.url;throw r}}function OMn(e,t){return import(EMn(e,vIn(t).href))}function DMn(e,t){return vMn(t)(e)}async function QMn(e,t){try{let n=SMn(e,t);return process.features.require_module&&n.__esModule?n.default:n}catch(n){if(!$Mn.has(n?.code))throw n}return(await _fr(e,t)).default}async function wMn(e){let{base:t,ext:r}=OIn.parse(e),n=t==="package.json"?efr:t==="package.yaml"?tfr:CIn[r];if(!n)throw new Error(`No loader specified for extension "${r||"noExt"}"`);let i=await n(e);if(i){if(typeof i=="string"&&(i=await NMn(i,e)),typeof i!="object")throw new TypeError(`Config is only allowed to be an object, but received ${typeof i} in "${e}"`);return delete i.$schema,i}}function BMn(){hAe.clear(),fAe.clear()}function IMn(e,{shouldCache:t}){return e=l3t.resolve(e),(!t||!hAe.has(e))&&hAe.set(e,PMn(e)),hAe.get(e)}function MMn(e){if(e=e?l3t.resolve(e):void 0,!fAe.has(e)){let t=EIn(e),r=t.search.bind(t);fAe.set(e,r)}return fAe.get(e)}function hfr(e,t={}){e=e?l3t.resolve(e):process.cwd();let r=c3t.getPrettierConfigSearchStopDirectory();return MMn(r)(e,{shouldCache:t.shouldCache})}function WMn(){BMn(),Lwn()}function UMn(e,t){if(!e||!t.editorconfig)return;let r=t.useCache;return Hwn(e,{shouldCache:r})}async function FMn(e,t){let r=t.useCache,n=t.config;if(!n){let s=e?GW.dirname(GW.resolve(e)):void 0;n=await hfr(s,{shouldCache:r})}return n?{config:await IMn(n,{shouldCache:r}),configFile:n}:void 0}async function A3t(e,t){t={useCache:!0,...t};let r=Yse(e),[n,i]=await Promise.all([FMn(r,t),UMn(r,t)]);if(!n&&!i)return null;let s={...i,...LMn(n,r)};return Array.isArray(s.plugins)&&(s.plugins=s.plugins.map(R=>typeof R=="string"&&R.startsWith(".")?GW.resolve(GW.dirname(n.configFile),R):R)),s}async function ffr(e){let t=e?GW.dirname(GW.resolve(Yse(e))):void 0;return await hfr(t,{shouldCache:!1})??null}function LMn(e,t){let{config:r,configFile:n}=e||{},{overrides:i,...s}=r||{};if(t&&i){let R=GW.relative(GW.dirname(n),t);for(let l of i)zMn(R,l.files,l.excludeFiles)&&Object.assign(s,l.options)}return s}function zMn(e,t,r){let n=Array.isArray(t)?t:[t],[i,s]=Own(n,R=>R.includes("/"));return T_r.default.isMatch(e,s,{ignore:r,basename:!0,dot:!0})||T_r.default.isMatch(e,i,{ignore:r,basename:!1,dot:!0})}function jMn(e,t){let r=Yse(t),n=vhr(e)?KMn.fileURLToPath(e):dAe.resolve(e);return dAe.relative(r?dAe.dirname(r):process.cwd(),n)}async function JMn(e,t){let r="";if(e&&(r+=await Vde(e)??""),t||(r+=` +node_modules`),!r)return;let n=GMn({allowRelativePaths:!0}).add(r);return i=>n.ignores(VMn(jMn(i,e)))}async function dfr(e,t){e.length===0&&!t&&(e=[void 0]);let r=(await Promise.all(e.map(n=>JMn(n,t)))).filter(Boolean);return n=>r.some(i=>i(n))}async function XMn(e,t){let{ignorePath:r,withNodeModules:n}=t;return(await dfr(r,n))(e)}function eWn(e){let t;try{t=F_r.openSync(e,"r")}catch{return}try{let n=new ZMn.default(t).next().toString("utf8"),i=n.match(/^#!\/(?:usr\/)?bin\/env\s+(\S+)/u);if(i)return i[1];let s=n.match(/^#!\/(?:usr\/(?:local\/)?)?bin\/(\S+)/u);if(s)return s[1]}finally{try{F_r.closeSync(t)}catch{}}}function L_r(e,t){if(!t)return;let r=xfr(t).toLowerCase();return e.find(({filenames:n})=>n?.some(i=>i.toLowerCase()===r))??e.find(({extensions:n})=>n?.some(i=>r.endsWith(i)))}function rWn(e,t){if(t)return e.find(({name:r})=>r.toLowerCase()===t)??e.find(({aliases:r})=>r?.includes(t))??e.find(({extensions:r})=>r?.includes(`.${t}`))}function nWn(e,t){if(!t||xfr(t).includes("."))return;let r=tWn(t);if(r)return e.find(({interpreters:n})=>n?.includes(r))}function iWn(e,t){let r=e.plugins.flatMap(i=>i.languages??[]),n=rWn(r,t.language)??L_r(r,t.physicalFile)??L_r(r,t.file)??nWn(r,t.physicalFile);return n?.parsers[0]}async function aWn(e,t){if(typeof e!="string"&&!(e instanceof URL))throw new TypeError(`expect \`file\` to be a string or URL, got \`${typeof e}\``);let{ignorePath:r,withNodeModules:n}=t;Array.isArray(r)||(r=[r]);let i=await XMn(e,{ignorePath:r,withNodeModules:n}),s;return i||(s=await sWn(e,t)),{ignored:i,inferredParser:s??null}}async function sWn(e,t){let r;return t.resolveConfig!==!1&&(r=await A3t(e)),r?.parser??mfr(t,{physicalFile:e})}function RWn(e){let t=e.indexOf("\r");return t!==-1?e.charAt(t+1)===` +`?"crlf":"cr":"lf"}function g3t(e){switch(e){case"cr":return"\r";case"crlf":return`\r +`;default:return` +`}}function kfr(e,t){let r;switch(t){case` +`:r=/\n/gu;break;case"\r":r=/\r/gu;break;case`\r +`:r=/\r\n/gu;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(t)}.`)}let n=e.match(r);return n?n.length:0}function uWn(e){return Xde(!1,e,/\r\n?/gu,` +`)}function lWn(e){if(typeof e=="string")return uZ;if(Array.isArray(e))return Fw;if(!e)return;let{type:t}=e;if(yfr.has(t))return t}function TWn(e){let t=e===null?"null":typeof e;if(t!=="string"&&t!=="object")return`Unexpected doc '${t}', +Expected it to be 'string' or 'object'.`;if(cZ(e))throw new Error("doc is valid.");let r=Object.prototype.toString.call(e);if(r!=="[object Object]")return`Unexpected doc '${r}'.`;let n=cWn([...yfr].map(i=>`'${i}'`));return`Unexpected doc.type '${e.type}'. +Expected it to be ${n}.`}function _Wn(e,t,r,n){let i=[e];for(;i.length>0;){let s=i.pop();if(s===z_r){r(i.pop());continue}r&&i.push(s,z_r);let R=cZ(s);if(!R)throw new zse(s);if(t?.(s)!==!1)switch(R){case Fw:case Hw:{let l=R===Fw?s:s.parts;for(let c=l.length,h=c-1;h>=0;--h)i.push(l[h]);break}case kO:i.push(s.flatContents,s.breakContents);break;case yg:if(n&&s.expandedStates)for(let l=s.expandedStates.length,c=l-1;c>=0;--c)i.push(s.expandedStates[c]);else i.push(s.contents);break;case zw:case Lw:case rU:case Kw:case Yw:i.push(s.contents);break;case uZ:case lZ:case tU:case nU:case qg:case yO:break;default:throw new zse(s)}}}function KAt(e){return UAe(e),{type:Lw,contents:e}}function H_r(e,t){return UAe(t),{type:zw,contents:t,n:e}}function Y_r(e){return UAe(e),{type:Yw,contents:e}}function xWn(e,t,r){UAe(e);let n=e;if(t>0){for(let i=0;i0?`, { ${_.join(", ")} }`:"";return`indentIfBreak(${n(s.contents)}${f})`}if(s.type===yg){let _=[];s.break&&s.break!=="propagated"&&_.push("shouldBreak: true"),s.id&&_.push(`id: ${i(s.id)}`);let f=_.length>0?`, { ${_.join(", ")} }`:"";return s.expandedStates?`conditionalGroup([${s.expandedStates.map(m=>n(m)).join(",")}]${f})`:`group(${n(s.contents)}${f})`}if(s.type===Hw)return`fill([${s.parts.map(_=>n(_)).join(", ")}])`;if(s.type===Yw)return"lineSuffix("+n(s.contents)+")";if(s.type===nU)return"lineSuffixBoundary";if(s.type===Kw)return`label(${JSON.stringify(s.label)}, ${n(s.contents)})`;throw new Error("Unknown doc type "+s.type)}function i(s){if(typeof s!="symbol")return JSON.stringify(String(s));if(s in t)return t[s];let R=s.description||"symbol";for(let l=0;;l++){let c=R+(l>0?` #${l}`:"");if(!r.has(c))return r.add(c),t[s]=`Symbol.for(${JSON.stringify(c)})`}}}function qWn(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function CWn(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9776&&e<=9783||e>=9800&&e<=9811||e===9855||e>=9866&&e<=9871||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101631&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129673||e>=129679&&e<=129734||e>=129742&&e<=129756||e>=129759&&e<=129769||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}function bWn(e){if(!e)return 0;if(!gWn.test(e))return e.length;e=e.replace(yWn()," ");let t=0;for(let r of e){let n=r.codePointAt(0);n<=31||n>=127&&n<=159||n>=768&&n<=879||(t+=AWn(n)?1:2)}return t}function EWn(e,t){if(typeof e=="string")return t(e);let r=new Map;return n(e);function n(s){if(r.has(s))return r.get(s);let R=i(s);return r.set(s,R),R}function i(s){switch(cZ(s)){case Fw:return t(s.map(n));case Hw:return t({...s,parts:s.parts.map(n)});case kO:return t({...s,breakContents:n(s.breakContents),flatContents:n(s.flatContents)});case yg:{let{expandedStates:R,contents:l}=s;return R?(R=R.map(n),l=R[0]):l=n(l),t({...s,contents:l,expandedStates:R})}case zw:case Lw:case rU:case Kw:case Yw:return t({...s,contents:n(s.contents)});case uZ:case lZ:case tU:case nU:case qg:case yO:return t(s);default:throw new zse(s)}}}function K_r(e){if(e.length>0){let t=I7(!1,e,-1);!t.expandedStates&&!t.break&&(t.break="propagated")}return null}function OWn(e){let t=new Set,r=[];function n(s){if(s.type===yO&&K_r(r),s.type===yg){if(r.push(s),t.has(s))return!1;t.add(s)}}function i(s){s.type===yg&&r.pop().break&&K_r(r)}hWn(e,n,i,!0)}function G_r(e){for(e=[...e];e.length>=2&&I7(!1,e,-2).type===qg&&I7(!1,e,-1).type===yO;)e.length-=2;if(e.length>0){let t=Hde(I7(!1,e,-1));e[e.length-1]=t}return e}function Hde(e){switch(cZ(e)){case Lw:case rU:case yg:case Yw:case Kw:{let t=Hde(e.contents);return{...e,contents:t}}case kO:return{...e,breakContents:Hde(e.breakContents),flatContents:Hde(e.flatContents)};case Hw:return{...e,parts:G_r(e.parts)};case Fw:return G_r(e);case uZ:return e.replace(/[\n\r]*$/u,"");case zw:case lZ:case tU:case nU:case qg:case yO:break;default:throw new zse(e)}return e}function vWn(e){return Hde(SWn(e))}function DWn(e){switch(cZ(e)){case Hw:if(e.parts.every(t=>t===""))return"";break;case yg:if(!e.contents&&!e.id&&!e.break&&!e.expandedStates)return"";if(e.contents.type===yg&&e.contents.id===e.id&&e.contents.break===e.break&&e.contents.expandedStates===e.expandedStates)return e.contents;break;case zw:case Lw:case rU:case Yw:if(!e.contents)return"";break;case kO:if(!e.flatContents&&!e.breakContents)return"";break;case Fw:{let t=[];for(let r of e){if(!r)continue;let[n,...i]=Array.isArray(r)?r:[r];typeof n=="string"&&typeof I7(!1,t,-1)=="string"?t[t.length-1]+=n:t.push(n),t.push(...i)}return t.length===0?"":t.length===1?t[0]:t}case uZ:case lZ:case tU:case nU:case qg:case Kw:case yO:break;default:throw new zse(e)}return e}function SWn(e){return EWn(e,t=>DWn(t))}function xAe(e,t){return e.type===Kw?{...e,contents:t(e.contents)}:t(e)}function Afr(){return{value:"",length:0,queue:[]}}function $Wn(e,t){return VAt(e,{type:"indent"},t)}function QWn(e,t,r){return t===Number.NEGATIVE_INFINITY?e.root||Afr():t<0?VAt(e,{type:"dedent"},r):t?t.type==="root"?{...e,root:e}:VAt(e,{type:typeof t=="string"?"stringAlign":"numberAlign",n:t},r):e}function VAt(e,t,r){let n=t.type==="dedent"?e.queue.slice(0,-1):[...e.queue,t],i="",s=0,R=0,l=0;for(let y of n)switch(y.type){case"indent":_(),r.useTabs?c(1):h(r.tabWidth);break;case"stringAlign":_(),i+=y.n,s+=y.n.length;break;case"numberAlign":R+=1,l+=y.n;break;default:throw new Error(`Unexpected type '${y.type}'`)}return m(),{...e,value:i,length:s,queue:n};function c(y){i+=" ".repeat(y),s+=r.tabWidth*y}function h(y){i+=" ".repeat(y),s+=y}function _(){r.useTabs?f():m()}function f(){R>0&&c(R),x()}function m(){l>0&&h(l),x()}function x(){R=0,l=0}}function jAt(e){let t=0,r=0,n=e.length;e:for(;n--;){let i=e[n];if(i===Pse){r++;continue}for(let s=i.length-1;s>=0;s--){let R=i[s];if(R===" "||R===" ")t++;else{e[n]=i.slice(0,s+1);break e}}}if(t>0||r>0)for(e.length=n+1;r-- >0;)e.push(Pse);return t}function uAe(e,t,r,n,i,s){if(r===Number.POSITIVE_INFINITY)return!0;let R=t.length,l=[e],c=[];for(;r>=0;){if(l.length===0){if(R===0)return!0;l.push(t[--R]);continue}let{mode:h,doc:_}=l.pop(),f=cZ(_);switch(f){case uZ:c.push(_),r-=b3t(_);break;case Fw:case Hw:{let m=f===Fw?_:_.parts,x=_[GAt]??0;for(let y=m.length-1;y>=x;y--)l.push({mode:h,doc:m[y]});break}case Lw:case zw:case rU:case Kw:l.push({mode:h,doc:_.contents});break;case tU:r+=jAt(c);break;case yg:{if(s&&_.break)return!1;let m=_.break?r5:h,x=_.expandedStates&&m===r5?I7(!1,_.expandedStates,-1):_.contents;l.push({mode:m,doc:x});break}case kO:{let x=(_.groupId?i[_.groupId]||XD:h)===r5?_.breakContents:_.flatContents;x&&l.push({mode:h,doc:x});break}case qg:if(h===r5||_.hard)return!0;_.soft||(c.push(" "),r--);break;case Yw:n=!0;break;case nU:if(n)return!1;break}}return!1}function E3t(e,t){let r={},n=t.printWidth,i=g3t(t.endOfLine),s=0,R=[{ind:Afr(),mode:r5,doc:e}],l=[],c=!1,h=[],_=0;for(OWn(e);R.length>0;){let{ind:m,mode:x,doc:y}=R.pop();switch(cZ(y)){case uZ:{let A=i!==` +`?Xde(!1,y,` +`,i):y;l.push(A),R.length>0&&(s+=b3t(A));break}case Fw:for(let A=y.length-1;A>=0;A--)R.push({ind:m,mode:x,doc:y[A]});break;case lZ:if(_>=2)throw new Error("There are too many 'cursor' in doc.");l.push(Pse),_++;break;case Lw:R.push({ind:$Wn(m,t),mode:x,doc:y.contents});break;case zw:R.push({ind:QWn(m,y.n,t),mode:x,doc:y.contents});break;case tU:s-=jAt(l);break;case yg:switch(x){case XD:if(!c){R.push({ind:m,mode:y.break?r5:XD,doc:y.contents});break}case r5:{c=!1;let A={ind:m,mode:XD,doc:y.contents},D=n-s,S=h.length>0;if(!y.break&&uAe(A,R,D,S,r))R.push(A);else if(y.expandedStates){let P=I7(!1,y.expandedStates,-1);if(y.break){R.push({ind:m,mode:r5,doc:P});break}else for(let M=1;M=y.expandedStates.length){R.push({ind:m,mode:r5,doc:P});break}else{let U=y.expandedStates[M],w={ind:m,mode:XD,doc:U};if(uAe(w,R,D,S,r)){R.push(w);break}}}else R.push({ind:m,mode:r5,doc:y.contents});break}}y.id&&(r[y.id]=I7(!1,R,-1).mode);break;case Hw:{let A=n-s,D=y[GAt]??0,{parts:S}=y,P=S.length-D;if(P===0)break;let M=S[D+0],U=S[D+1],w={ind:m,mode:XD,doc:M},F={ind:m,mode:r5,doc:M},H=uAe(w,[],A,h.length>0,r,!0);if(P===1){H?R.push(w):R.push(F);break}let G={ind:m,mode:XD,doc:U},ee={ind:m,mode:r5,doc:U};if(P===2){H?R.push(G,w):R.push(ee,F);break}let fe=S[D+2],me={ind:m,mode:x,doc:{...y,[GAt]:D+2}};uAe({ind:m,mode:XD,doc:[M,U,fe]},[],A,h.length>0,r,!0)?R.push(me,G,w):H?R.push(me,ee,w):R.push(me,ee,F);break}case kO:case rU:{let A=y.groupId?r[y.groupId]:x;if(A===r5){let D=y.type===kO?y.breakContents:y.negate?y.contents:KAt(y.contents);D&&R.push({ind:m,mode:x,doc:D})}if(A===XD){let D=y.type===kO?y.flatContents:y.negate?KAt(y.contents):y.contents;D&&R.push({ind:m,mode:x,doc:D})}break}case Yw:h.push({ind:m,mode:x,doc:y.contents});break;case nU:h.length>0&&R.push({ind:m,mode:x,doc:Cfr});break;case qg:switch(x){case XD:if(y.hard)c=!0;else{y.soft||(l.push(" "),s+=1);break}case r5:if(h.length>0){R.push({ind:m,mode:x,doc:y},...h.reverse()),h.length=0;break}y.literal?m.root?(l.push(i,m.root.value),s=m.root.length):(l.push(i),s=0):(s-=jAt(l),l.push(i+m.value),s=m.length);break}break;case Kw:R.push({ind:m,mode:x,doc:y.contents});break;case yO:break;default:throw new zse(y)}R.length===0&&h.length>0&&(R.push(...h.reverse()),h.length=0)}let f=l.indexOf(Pse);if(f!==-1){let m=l.indexOf(Pse,f+1);if(m===-1)return{formatted:l.filter(D=>D!==Pse).join("")};let x=l.slice(0,f).join(""),y=l.slice(f+1,m).join(""),A=l.slice(m+1).join("");return{formatted:x+y+A,cursorNodeStart:x.length,cursorNodeText:y}}return{formatted:l.join("")}}function NWn(e,t,r=0){let n=0;for(let i=r;i!0}=t,i=s=>IWn(s)&&n(s);for(let s of r(e)){let R=e[s];if(Array.isArray(R))for(let l of R)i(l)&&(yield l);else i(R)&&(yield R)}}function*MWn(e,t){let r=[e];for(let n=0;n{let i=!!n?.backwards;if(r===!1)return!1;let{length:s}=t,R=r;for(;R>=0&&R0}function KWn(e){return e?t=>e(t,Efr):YWn}function GWn(e){let t=e.type||e.kind||"(unknown type)",r=String(e.name||e.id&&(typeof e.id=="object"?e.id.name:e.id)||e.key&&(typeof e.key=="object"?e.key.name:e.key)||e.value&&(typeof e.value=="object"?"":String(e.value))||e.operator||"");return r.length>20&&(r=r.slice(0,19)+"\u2026"),t+(r?" "+r:"")}function v3t(e,t){(e.comments??(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=GWn(e)}function Bse(e,t){t.leading=!0,t.trailing=!1,v3t(e,t)}function nZ(e,t,r){t.leading=!1,t.trailing=!1,r&&(t.marker=r),v3t(e,t)}function Ise(e,t){t.leading=!1,t.trailing=!0,v3t(e,t)}function D3t(e,t){if(qAt.has(e))return qAt.get(e);let{printer:{getCommentChildNodes:r,canAttachComment:n,getVisitorKeys:i},locStart:s,locEnd:R}=t;if(!n)return[];let l=(r?.(e,t)??[...FAe(e,{getVisitorKeys:exe(i)})]).flatMap(c=>n(c)?[c]:D3t(c,t));return l.sort((c,h)=>s(c)-s(h)||R(c)-R(h)),qAt.set(e,l),l}function Ofr(e,t,r,n){let{locStart:i,locEnd:s}=r,R=i(t),l=s(t),c=D3t(e,r),h,_,f=0,m=c.length;for(;f>1,y=c[x],A=i(y),D=s(y);if(A<=R&&l<=D)return Ofr(y,t,r,y);if(D<=R){h=y,f=x+1;continue}if(l<=A){_=y,m=x;continue}throw new Error("Comment location overlaps with node location")}if(n?.type==="TemplateLiteral"){let{quasis:x}=n,y=AAt(x,t,r);h&&AAt(x,h,r)!==y&&(h=null),_&&AAt(x,_,r)!==y&&(_=null)}return{enclosingNode:n,precedingNode:h,followingNode:_}}function VWn(e,t){let{comments:r}=e;if(delete e.comments,!HWn(r)||!t.printer.canAttachComment)return;let n=[],{locStart:i,locEnd:s,printer:{experimentalFeatures:{avoidAstMutation:R=!1}={},handleComments:l={}},originalText:c}=t,{ownLine:h=CAt,endOfLine:_=CAt,remaining:f=CAt}=l,m=r.map((x,y)=>({...Ofr(e,x,t),comment:x,text:c,options:t,ast:e,isLastComment:r.length-1===y}));for(let[x,y]of m.entries()){let{comment:A,precedingNode:D,enclosingNode:S,followingNode:P,text:M,options:U,ast:w,isLastComment:F}=y;if(U.parser==="json"||U.parser==="json5"||U.parser==="jsonc"||U.parser==="__js_expression"||U.parser==="__ts_expression"||U.parser==="__vue_expression"||U.parser==="__vue_ts_expression"){if(i(A)-i(w)<=0){Bse(w,A);continue}if(s(A)-s(w)>=0){Ise(w,A);continue}}let H;if(R?H=[y]:(A.enclosingNode=S,A.precedingNode=D,A.followingNode=P,H=[A,M,U,w,F]),jWn(M,U,m,x))A.placement="ownLine",h(...H)||(P?Bse(P,A):D?Ise(D,A):nZ(S||w,A));else if(JWn(M,U,m,x))A.placement="endOfLine",_(...H)||(D?Ise(D,A):P?Bse(P,A):nZ(S||w,A));else if(A.placement="remaining",!f(...H))if(D&&P){let G=n.length;G>0&&n[G-1].followingNode!==P&&j_r(n,U),n.push(y)}else D?Ise(D,A):P?Bse(P,A):nZ(S||w,A)}if(j_r(n,t),!R)for(let x of r)delete x.precedingNode,delete x.enclosingNode,delete x.followingNode}function jWn(e,t,r,n){let{comment:i,precedingNode:s}=r[n],{locStart:R,locEnd:l}=t,c=R(i);if(s)for(let h=n-1;h>=0;h--){let{comment:_,precedingNode:f}=r[h];if(f!==s||!vfr(e.slice(l(_),c)))break;c=R(_)}return KW(e,c,{backwards:!0})}function JWn(e,t,r,n){let{comment:i,followingNode:s}=r[n],{locStart:R,locEnd:l}=t,c=l(i);if(s)for(let h=n+1;h0;--c){let{comment:h,precedingNode:_,followingNode:f}=e[c-1];V_r.strictEqual(_,s),V_r.strictEqual(f,R);let m=t.originalText.slice(t.locEnd(h),l);if(((n=(r=t.printer).isGap)==null?void 0:n.call(r,m,t))??/^[\s(]*$/u.test(m))l=t.locStart(h);else break}for(let[h,{comment:_}]of e.entries())h1&&h.comments.sort((_,f)=>t.locStart(_)-t.locStart(f));e.length=0}function AAt(e,t,r){let n=r.locStart(t)-1;for(let i=1;i!n.has(c)).length===0)return{leading:"",trailing:""};let s=[],R=[],l;return e.each(()=>{let c=e.node;if(n?.has(c))return;let{leading:h,trailing:_}=c;h?s.push(ZWn(e,t)):_&&(l=eUn(e,t,l),R.push(l.doc))},"comments"),{leading:s,trailing:R}}function rUn(e,t,r){let{leading:n,trailing:i}=tUn(e,r);return!n&&!i?t:xAe(t,s=>[n,s,i])}function nUn(e){let{[Symbol.for("comments")]:t,[Symbol.for("printedComments")]:r}=e;for(let n of t){if(!n.printed&&!r.has(n))throw new Error('Comment "'+n.value.trim()+'" was not printed. Please report this error!');delete n.printed}}function iUn(e){return()=>{}}function $3t({plugins:e=[],showDeprecated:t=!1}={}){let r=e.flatMap(i=>i.languages??[]),n=[];for(let i of Sfr(Object.assign({},...e.map(({options:s})=>s),sUn)))!t&&i.deprecated||(Array.isArray(i.choices)&&(t||(i.choices=i.choices.filter(s=>!s.deprecated)),i.name==="parser"&&(i.choices=[...i.choices,...oUn(i.choices,r,e)])),i.pluginDefaults=Object.fromEntries(e.filter(s=>{var R;return((R=s.defaultOptions)==null?void 0:R[i.name])!==void 0}).map(s=>[s.name,s.defaultOptions[i.name]])),n.push(i));return{languages:r,options:n}}function*oUn(e,t,r){let n=new Set(e.map(i=>i.value));for(let i of t)if(i.parsers){for(let s of i.parsers)if(!n.has(s)){n.add(s);let R=r.find(c=>c.parsers&&Object.prototype.hasOwnProperty.call(c.parsers,s)),l=i.name;R?.name&&(l+=` (plugin: ${R.name})`),yield{value:s,description:l}}}}function Sfr(e){let t=[];for(let[r,n]of Object.entries(e)){let i={name:r,...n};Array.isArray(i.default)&&(i.default=I7(!1,i.default,-1).value),t.push(i)}return t}function RUn(e,t,{logger:r=!1,isCLI:n=!1,passThrough:i=!1,FlagSchema:s,descriptor:R}={}){if(n){if(!s)throw new Error("'FlagSchema' option is required.");if(!R)throw new Error("'descriptor' option is required.")}else R=iZ;let l=i?Array.isArray(i)?(m,x)=>i.includes(m)?{[m]:x}:void 0:(m,x)=>({[m]:x}):(m,x,y)=>{let{_:A,...D}=y.schemas;return Ahr(m,x,{...y,schemas:D})},c=uUn(t,{isCLI:n,FlagSchema:s}),h=new qwn(c,{logger:r,unknown:l,descriptor:R}),_=r!==!1;_&&gAt&&(h._hasDeprecationWarned=gAt);let f=h.normalize(e);return _&&(gAt=h._hasDeprecationWarned),f}function uUn(e,{isCLI:t,FlagSchema:r}){let n=[];t&&n.push(awn.create({name:"_"}));for(let i of e)n.push(lUn(i,{isCLI:t,optionInfos:e,FlagSchema:r})),i.alias&&t&&n.push(iwn.create({name:i.alias,sourceName:i.name}));return n}function lUn(e,{isCLI:t,optionInfos:r,FlagSchema:n}){let{name:i}=e,s={name:i},R,l={};switch(e.type){case"int":R=dwn,t&&(s.preprocess=Number);break;case"string":R=c_r;break;case"choice":R=bhr,s.choices=e.choices.map(c=>c?.redirect?{...c,redirect:{to:{key:e.name,value:c.redirect}}}:c);break;case"boolean":R=own;break;case"flag":R=n,s.flags=r.flatMap(c=>[c.alias,c.description&&c.name,c.oppositeDescription&&`no-${c.name}`].filter(Boolean));break;case"path":R=c_r;break;default:throw new Error(`Unexpected type ${e.type}`)}if(e.exception?s.validate=(c,h,_)=>e.exception(c)||h.validate(c,_):s.validate=(c,h,_)=>c===void 0||h.validate(c,_),e.redirect&&(l.redirect=c=>c?{to:typeof e.redirect=="string"?e.redirect:{key:e.redirect.option,value:e.redirect.value}}:void 0),e.deprecated&&(l.deprecated=!0),t&&!e.array){let c=s.preprocess||(h=>h);s.preprocess=(h,_,f)=>_.preprocess(c(Array.isArray(h)?I7(!1,h,-1):h),f)}return e.array?swn.create({...t?{preprocess:c=>Array.isArray(c)?c:[c]}:{},...l,valueSchema:R.create(s)}):R.create({...s,...l})}function Nfr(e,t){if(!t)throw new Error("parserName is required.");let r=Qfr(!1,e,i=>i.parsers&&Object.prototype.hasOwnProperty.call(i.parsers,t));if(r)return r;let n=`Couldn't resolve parser "${t}".`;throw new u3t(n)}function TUn(e,t){if(!t)throw new Error("astFormat is required.");let r=Qfr(!1,e,i=>i.printers&&Object.prototype.hasOwnProperty.call(i.printers,t));if(r)return r;let n=`Couldn't find plugin for AST format "${t}".`;throw new u3t(n)}function wfr({plugins:e,parser:t}){let r=Nfr(e,t);return Pfr(r,t)}function Pfr(e,t){let r=e.parsers[t];return typeof r=="function"?r():r}function pUn(e,t){let r=e.printers[t];return typeof r=="function"?r():r}async function _Un(e,t={}){var r;let n={...e};if(!n.parser)if(n.filepath){if(n.parser=mfr(n,{physicalFile:n.filepath}),!n.parser)throw new BAt(`No parser could be inferred for file "${n.filepath}".`)}else throw new BAt("No parser and no file path given, couldn't infer a parser.");let i=$3t({plugins:e.plugins,showDeprecated:!0}).options,s={...XAt,...Object.fromEntries(i.filter(m=>m.default!==void 0).map(m=>[m.name,m.default]))},R=Nfr(n.plugins,n.parser),l=await Pfr(R,n.parser);n.astFormat=l.astFormat,n.locEnd=l.locEnd,n.locStart=l.locStart;let c=(r=R.printers)!=null&&r[l.astFormat]?R:TUn(n.plugins,l.astFormat),h=await pUn(c,l.astFormat);n.printer=h;let _=c.defaultOptions?Object.fromEntries(Object.entries(c.defaultOptions).filter(([,m])=>m!==void 0)):{},f={...s,..._};for(let[m,x]of Object.entries(f))(n[m]===null||n[m]===void 0)&&(n[m]=x);return n.parser==="json"&&(n.trailingComma="none"),$fr(n,i,{passThrough:Object.keys(XAt),...t})}async function fUn(e,t){let r=await wfr(t),n=r.preprocess?r.preprocess(e,t):e;t.originalText=n;let i;try{i=await r.parse(n,t,t)}catch(s){dUn(s,e)}return{text:n,ast:i}}function dUn(e,t){let{loc:r}=e;if(r){let n=(0,hUn.codeFrameColumns)(t,r,{highlightCode:!0});throw e.message+=` +`+n,e.codeFrame=n,e}throw e}async function xUn(e,t,r,n,i){let{embeddedLanguageFormatting:s,printer:{embed:R,hasPrettierIgnore:l=()=>!1,getVisitorKeys:c}}=r;if(!R||s!=="auto")return;if(R.length>2)throw new Error("printer.embed has too many parameters. The API changed in Prettier v3. Please update your plugin. See https://prettier.io/docs/en/plugins.html#optional-embed");let h=exe(R.getVisitorKeys??c),_=[];x();let f=e.stack;for(let{print:y,node:A,pathStack:D}of _)try{e.stack=D;let S=await y(m,t,e,r);S&&i.set(A,S)}catch(S){if(process.env.PRETTIER_DEBUG)throw S}e.stack=f;function m(y,A){return mUn(y,A,r,n)}function x(){let{node:y}=e;if(y===null||typeof y!="object"||l(e))return;for(let D of h(y))Array.isArray(y[D])?e.each(x,D):e.call(x,D);let A=R(e,r);if(A){if(typeof A=="function"){_.push({print:A,node:y,pathStack:[...e.stack]});return}i.set(y,A)}}}async function mUn(e,t,r,n){let i=await Gse({...r,...t,parentParser:r.parser,originalText:e},{passThrough:!0}),{ast:s}=await txe(e,i),R=await n(s,i);return vWn(R)}function kUn(e,t){let{originalText:r,[Symbol.for("comments")]:n,locStart:i,locEnd:s,[Symbol.for("printedComments")]:R}=t,{node:l}=e,c=i(l),h=s(l);for(let _ of n)i(_)>=c&&s(_)<=h&&R.add(_);return r.slice(c,h)}async function LAe(e,t){({ast:e}=await Bfr(e,t));let r=new Map,n=new PWn(e),i=aUn(t),s=new Map;await xUn(n,l,t,LAe,s);let R=await J_r(n,t,l,void 0,s);if(nUn(t),t.nodeAfterCursor&&!t.nodeBeforeCursor)return[wse,R];if(t.nodeBeforeCursor&&!t.nodeAfterCursor)return[R,wse];return R;function l(h,_){return h===void 0||h===n?c(_):Array.isArray(h)?n.call(()=>c(_),...h):n.call(()=>c(_),h)}function c(h){i(n);let _=n.node;if(_==null)return"";let f=_&&typeof _=="object"&&h===void 0;if(f&&r.has(_))return r.get(_);let m=J_r(n,t,l,h,s);return f&&r.set(_,m),m}}function J_r(e,t,r,n,i){var s;let{node:R}=e,{printer:l}=t,c;switch((s=l.hasPrettierIgnore)!=null&&s.call(l,e)?c=yUn(e,t):i.has(R)?c=i.get(R):c=l.print(e,t,r,n),R){case t.cursorNode:c=xAe(c,h=>[wse,h,wse]);break;case t.nodeBeforeCursor:c=xAe(c,h=>[h,wse]);break;case t.nodeAfterCursor:c=xAe(c,h=>[wse,h]);break}return l.printComment&&(!l.willPrintOwnComments||!l.willPrintOwnComments(e,t))&&(c=rUn(e,c,t)),c}async function Bfr(e,t){let r=e.comments??[];t[Symbol.for("comments")]=r,t[Symbol.for("tokens")]=e.tokens??[],t[Symbol.for("printedComments")]=new Set,VWn(e,t);let{printer:{preprocess:n}}=t;return e=n?await n(e,t):e,{ast:e,comments:r}}function qUn(e,t){let{cursorOffset:r,locStart:n,locEnd:i}=t,s=exe(t.printer.getVisitorKeys),R=x=>n(x)<=r&&i(x)>=r,l=e,c=[e];for(let x of MWn(e,{getVisitorKeys:s,filter:R}))c.push(x),l=x;if(WWn(l,{getVisitorKeys:s}))return{cursorNode:l};let h,_,f=-1,m=Number.POSITIVE_INFINITY;for(;c.length>0&&(h===void 0||_===void 0);){l=c.pop();let x=h!==void 0,y=_!==void 0;for(let A of FAe(l,{getVisitorKeys:s})){if(!x){let D=i(A);D<=r&&D>f&&(h=A,f=D)}if(!y){let D=n(A);D>=r&&DR(m,c)).filter(Boolean);let h={},_=new Set(i(l));for(let m in l)!Object.prototype.hasOwnProperty.call(l,m)||s.has(m)||(_.has(m)?h[m]=R(l[m],l):h[m]=l[m]);let f=r(l,h,c);if(f!==null)return f??h}}function DUn(e,t){let r=[e.node,...e.parentNodes],n=new Set([t.node,...t.parentNodes]);return r.find(i=>Ifr.has(i.type)&&n.has(i))}function X_r(e){let t=EUn(!1,e,r=>r.type!=="Program"&&r.type!=="File");return t===-1?e:e.slice(0,t+1)}function SUn(e,t,{locStart:r,locEnd:n}){let i=e.node,s=t.node;if(i===s)return{startNode:i,endNode:s};let R=r(e.node);for(let c of X_r(t.parentNodes))if(r(c)>=R)s=c;else break;let l=n(t.node);for(let c of X_r(e.parentNodes)){if(n(c)<=l)i=c;else break;if(i===s)break}return{startNode:i,endNode:s}}function ZAt(e,t,r,n,i=[],s){let{locStart:R,locEnd:l}=r,c=R(e),h=l(e);if(!(t>h||tn);let l=e.slice(n,i).search(/\S/u),c=l===-1;if(!c)for(n+=l;i>n&&!/\S/u.test(e[i-1]);--i);let h=ZAt(r,n,t,(x,y)=>Z_r(t,x,y),[],"rangeStart"),_=c?h:ZAt(r,i,t,x=>Z_r(t,x),[],"rangeEnd");if(!h||!_)return{rangeStart:0,rangeEnd:0};let f,m;if(vUn(t)){let x=DUn(h,_);f=x,m=x}else({startNode:f,endNode:m}=SUn(h,_,t));return{rangeStart:Math.min(s(f),s(m)),rangeEnd:Math.max(R(f),R(m))}}async function Wfr(e,t,r=0){if(!e||e.trim().length===0)return{formatted:"",cursorOffset:-1,comments:[]};let{ast:n,text:i}=await txe(e,t);t.cursorOffset>=0&&(t={...t,...CUn(n,t)});let s=await LAe(n,t,r);r>0&&(s=xWn([Mse,s],r,t.tabWidth));let R=E3t(s,t);if(r>0){let c=R.formatted.trim();R.cursorNodeStart!==void 0&&(R.cursorNodeStart-=R.formatted.indexOf(c),R.cursorNodeStart<0&&(R.cursorNodeStart=0,R.cursorNodeText=R.cursorNodeText.trimStart()),R.cursorNodeStart+R.cursorNodeText.length>c.length&&(R.cursorNodeText=R.cursorNodeText.trimEnd())),R.formatted=c+g3t(t.endOfLine)}let l=t[Symbol.for("comments")];if(t.cursorOffset>=0){let c,h,_,f;if((t.cursorNode||t.nodeBeforeCursor||t.nodeAfterCursor)&&R.cursorNodeText)if(_=R.cursorNodeStart,f=R.cursorNodeText,t.cursorNode)c=t.locStart(t.cursorNode),h=i.slice(c,t.locEnd(t.cursorNode));else{if(!t.nodeBeforeCursor&&!t.nodeAfterCursor)throw new Error("Cursor location must contain at least one of cursorNode, nodeBeforeCursor, nodeAfterCursor");c=t.nodeBeforeCursor?t.locEnd(t.nodeBeforeCursor):0;let S=t.nodeAfterCursor?t.locStart(t.nodeAfterCursor):i.length;h=i.slice(c,S)}else c=0,h=i,_=0,f=R.formatted;let m=t.cursorOffset-c;if(h===f)return{formatted:R.formatted,cursorOffset:_+m,comments:l};let x=h.split("");x.splice(m,0,ehr);let y=f.split(""),A=DNn(x,y),D=_;for(let S of A)if(S.removed){if(S.value.includes(ehr))break}else D+=S.count;return{formatted:R.formatted,cursorOffset:D,comments:l}}return{formatted:R.formatted,cursorOffset:-1,comments:l}}async function wUn(e,t){let{ast:r,text:n}=await txe(e,t),{rangeStart:i,rangeEnd:s}=NUn(n,t,r),R=n.slice(i,s),l=Math.min(i,n.lastIndexOf(` +`,i)+1),c=n.slice(l,i).match(/^\s*/u)[0],h=O3t(c,t.tabWidth),_=await Wfr(R,{...t,rangeStart:0,rangeEnd:Number.POSITIVE_INFINITY,cursorOffset:t.cursorOffset>i&&t.cursorOffset<=s?t.cursorOffset-i:-1,endOfLine:"lf"},h),f=_.formatted.trimEnd(),{cursorOffset:m}=t;m>s?m+=f.length-R.length:_.cursorOffset>=0&&(m=_.cursorOffset+i);let x=n.slice(0,i)+f+n.slice(s);if(t.endOfLine!=="lf"){let y=g3t(t.endOfLine);m>=0&&y===`\r +`&&(m+=kfr(x.slice(0,m),` +`)),x=Xde(!1,x,` +`,y)}return{formatted:x,cursorOffset:m,comments:_.comments}}function bAt(e,t,r){return typeof t!="number"||Number.isNaN(t)||t<0||t>e.length?r:t}function thr(e,t){let{cursorOffset:r,rangeStart:n,rangeEnd:i}=t;return r=bAt(e,r,-1),n=bAt(e,n,0),i=bAt(e,i,e.length),{...t,cursorOffset:r,rangeStart:n,rangeEnd:i}}function Ufr(e,t){let{cursorOffset:r,rangeStart:n,rangeEnd:i,endOfLine:s}=thr(e,t),R=e.charAt(0)===Mfr;if(R&&(e=e.slice(1),r--,n--,i--),s==="auto"&&(s=RWn(e)),e.includes("\r")){let l=c=>kfr(e.slice(0,Math.max(c,0)),`\r +`);r-=l(r),n-=l(n),i-=l(i),e=uWn(e)}return{hasBOM:R,text:e,options:thr(e,{...t,cursorOffset:r,rangeStart:n,rangeEnd:i,endOfLine:s})}}async function rhr(e,t){let r=await wfr(t);return!r.hasPragma||r.hasPragma(e)}async function Ffr(e,t){let{hasBOM:r,text:n,options:i}=Ufr(e,await Gse(t));if(i.rangeStart>=i.rangeEnd&&n!==""||i.requirePragma&&!await rhr(n,i))return{formatted:e,cursorOffset:t.cursorOffset,comments:[]};let s;return i.rangeStart>0||i.rangeEnd=0&&s.cursorOffset++),s}async function PUn(e,t,r){let{text:n,options:i}=Ufr(e,await Gse(t)),s=await txe(n,i);return r&&(r.preprocessForPrint&&(s.ast=await Bfr(s.ast,i)),r.massage&&(s.ast=gUn(s.ast,i))),s}async function BUn(e,t){t=await Gse(t);let r=await LAe(e,t);return E3t(r,t)}async function IUn(e,t){let r=mWn(e),{formatted:n}=await Ffr(r,{...t,parser:"__js_expression"});return n}async function MUn(e,t){t=await Gse(t);let{ast:r}=await txe(e,t);return LAe(r,t)}async function WUn(e,t){return E3t(e,await Gse(t))}function _Fn(e){let t=Object.create(null),r=Object.create(null);for(let{importPlugin:n,parsers:i=[],printers:s=[]}of e){let R=async()=>{let l=await n();return Object.assign(t,l.parsers),Object.assign(r,l.printers),l};for(let l of i)t[l]=async()=>(await R()).parsers[l];for(let l of s)r[l]=async()=>(await R()).printers[l]}return{parsers:t,printers:r}}function mFn(){return[zfr]}function qFn(e,t){return _fr(e,yFn.join(t,"noop.js"))}async function AFn(e,t){if(ihr.isAbsolute(e))return import(ahr(e).href);try{return await import(ahr(ihr.resolve(e)).href)}catch{return CFn(e,t)}}async function gFn(e,t){let r=await AFn(e,t);return{name:e,...r.default??r}}function bFn(e){if(typeof e!="string")return e;let t=process.cwd(),r=JSON.stringify({name:e,cwd:t});return kAe.has(r)||kAe.set(r,gFn(e,t)),kAe.get(r)}function EFn(){kAe.clear()}function OFn(e=[]){return Promise.all(e.map(t=>bFn(t)))}function DFn(e,t){return t=new Set(t),Object.fromEntries(Object.entries(e).filter(([r])=>!t.has(r)))}function $Fn(e,t){if(t===!1)return!1;if(e.charAt(t)==="/"&&e.charAt(t+1)==="*"){for(let r=t+2;rMath.max(n,i.length/t.length),0)}function UFn(e,t){let r=P3t(e,t);return r===!1?"":e.charAt(r)}function LFn(e,t){let r=t===!0||t===lAe?lAe:shr,n=r===lAe?shr:lAe,i=0,s=0;for(let R of e)R===r?i++:R===n&&s++;return i>s?n:r}function HFn(e,t,r){for(let n=t;nl===n?l:c===t?"\\"+c:c||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/u.test(l)?l:"\\"+l));return t+s+t}function JFn(e,t,r){return P3t(e,r(t))}function XFn(e,t){return arguments.length===2||typeof t=="number"?P3t(e,t):JFn(...arguments)}function ZFn(e,t,r){return S3t(e,r(t))}function eLn(e,t){return arguments.length===2||typeof t=="number"?S3t(e,t):ZFn(...arguments)}function tLn(e,t,r){return B3t(e,r(t))}function rLn(e,t){return arguments.length===2||typeof t=="number"?B3t(e,t):tLn(...arguments)}function HW(e,t=1){return async(...r)=>{let n=r[t]??{},{plugins:i=[]}=n;return r[t]={...n,plugins:(await Promise.all([kFn(),vFn(i)])).flat()},e(...r)}}async function M3t(e,t){let{formatted:r}=await I3t(e,{...t,cursorOffset:-1});return r}async function Yfr(e,t){return await M3t(e,t)===e}async function Kfr(){WMn(),EFn()}var Sse,U$n,mxi,F$n,NAe,L$n,ohr,z$n,H$n,Rhr,Y$n,Nc,sa,jde,K$n,XW,iAe,e3t,Sp,eS,n5,$se,G$n,V$n,j$n,J$n,X$n,Z$n,eQn,t3t,r3t,tQn,rQn,uhr,nQn,iQn,aQn,sQn,oQn,wAe,PAe,RQn,uQn,lQn,cQn,lhr,TQn,pQn,_Qn,hQn,ZW,fQn,dQn,xQn,mQn,kQn,Hse,yQn,qQn,chr,CQn,Thr,phr,AQn,gQn,bQn,EQn,n3t,OQn,vQn,i3t,_hr,hhr,DQn,SQn,$Qn,QQn,NQn,a3t,s3t,fhr,wQn,PQn,BQn,IQn,MQn,WQn,UQn,o3t,FQn,LQn,zQn,HQn,YQn,KQn,dhr,xhr,GQn,VQn,jQn,JQn,XQn,ZQn,eNn,tNn,rNn,nNn,iNn,aNn,sNn,oNn,RNn,uNn,lNn,cNn,TNn,pNn,_Nn,hNn,mhr,fNn,dNn,khr,kxi,yAe,mNn,BAe,kNn,IAe,yNn,qNn,Yde,CAe,QNn,iZ,lAt,Gpr,Vpr,jpr,Dp,yxi,NNn,wNn,qxi,BNn,ZD,p_,AAe,FNn,LNn,Zpr,e_r,QAt,Wse,Kde,t_r,Use,YNn,KNn,NAt,GNn,VNn,wAt,gAe,jNn,JNn,bxi,tS,XNn,yhr,cAe,r_r,ZNn,cAt,i_r,Ahr,twn,eU,iwn,awn,swn,own,bhr,fwn,dwn,c_r,xwn,mwn,kwn,ywn,qwn,Ehr,u3t,BAt,Cwn,T_r,gwn,bwn,Ohr,vhr,Yse,Own,vwn,Swn,__r,Nwn,bAe,EAe,TAe,Ude,IAt,$hr,wwn,Qhr,Pwn,Fde,Bwn,Fwn,pAe,Ywn,Lde,Vwn,c3t,Jwn,iPn,aPn,sPn,oPn,RPn,uPn,B4,Iw,cPn,TPn,pPn,dy,dPn,xPn,mPn,kPn,yPn,gPn,vPn,PPn,BPn,WPn,LPn,zPn,HPn,Bhr,Ihr,VPn,JPn,T3t,rBn,nBn,iBn,oBn,RBn,cBn,TBn,hBn,fBn,VW,OAe,Mhr,Whr,vAe,_At,dBn,d_r,xBn,mBn,kBn,Uhr,Fhr,Lhr,zhr,XX,k_r,IBn,MBn,Khr,M4,WBn,Bxi,Ixi,Mxi,Wxi,UBn,FBn,LBn,hAt,P7,WAt,I4,Mw,SAe,jW,mO,B7,f3t,zde,zBn,pR,K0,Bde,Nw,su,Ghr,GBn,jBn,JBn,A_r,ZBn,Ide,eIn,tIn,b_r,rIn,nIn,JR,oIn,ww,Pw,t5,RIn,uIn,lIn,cIn,TIn,pIn,O_r,fIn,Vde,qIn,CIn,AIn,EIn,PIn,BIn,IIn,jm,afr,MIn,D_r,FIn,Pde,HIn,S_r,YIn,KIn,GIn,Q_r,ZIn,Rfr,eMn,oAe,mAt,WAe,ufr,iMn,q3t,aMn,sMn,oMn,w_r,lfr,P_r,B_r,RMn,RAe,uMn,I_r,lMn,_fr,SMn,$Mn,NMn,PMn,hAe,fAe,HMn,Xde,YMn,GMn,VMn,ZMn,tWn,xfr,mfr,oWn,uZ,Fw,lZ,Lw,zw,tU,yg,Hw,kO,rU,Yw,nU,qg,Kw,yO,yfr,cZ,cWn,pWn,zse,z_r,hWn,fWn,UAe,qfr,Cfr,dWn,Mse,wse,kWn,I7,yWn,AWn,gWn,b3t,r5,XD,Pse,GAt,O3t,rZ,JAt,mAe,wWn,PWn,IWn,UWn,JW,gfr,bfr,RZ,KW,HWn,Efr,YWn,exe,qAt,CAt,vfr,S3t,aUn,sUn,gAt,$fr,cUn,Qfr,XAt,Gse,hUn,txe,yUn,CUn,gUn,bUn,EUn,vUn,Ifr,QUn,Mfr,ehr,Lfr,UUn,FUn,LUn,zUn,HUn,YUn,KUn,zfr,GUn,QA,VUn,jUn,JUn,XUn,ZUn,eFn,tFn,nhr,rFn,nFn,iFn,tZ,aFn,sFn,oFn,RFn,uFn,lFn,cFn,TFn,pFn,hFn,fFn,dFn,xFn,kFn,CFn,kAe,vFn,SFn,Hfr,Q3t,N3t,w3t,P3t,B3t,BFn,WFn,FFn,lAe,shr,zFn,YFn,GFn,jFn,I3t,Gfr,Vfr,jfr,Jfr,nLn,U3t=mp(()=>{KJt();Sse=I$n(import.meta.url),U$n=M$n(import.meta.url),mxi=W$n(U$n),F$n=Object.create,NAe=Object.defineProperty,L$n=Object.getOwnPropertyDescriptor,ohr=Object.getOwnPropertyNames,z$n=Object.getPrototypeOf,H$n=Object.prototype.hasOwnProperty,Rhr=e=>{throw TypeError(e)},Y$n=(e,t,r)=>t in e?NAe(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Nc=(e=>typeof Sse<"u"?Sse:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof Sse<"u"?Sse:t)[r]}):e)(function(e){if(typeof Sse<"u")return Sse.apply(this,arguments);throw Error('Dynamic require of "'+e+'" is not supported')}),sa=(e,t)=>function(){return t||(0,e[ohr(e)[0]])((t={exports:{}}).exports,t),t.exports},jde=(e,t)=>{for(var r in t)NAe(e,r,{get:t[r],enumerable:!0})},K$n=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of ohr(t))!H$n.call(e,i)&&i!==r&&NAe(e,i,{get:()=>t[i],enumerable:!(n=L$n(t,i))||n.enumerable});return e},XW=(e,t,r)=>(r=e!=null?F$n(z$n(e)):{},K$n(t||!e||!e.__esModule?NAe(r,"default",{value:e,enumerable:!0}):r,e)),iAe=(e,t,r)=>Y$n(e,typeof t!="symbol"?t+"":t,r),e3t=(e,t,r)=>t.has(e)||Rhr("Cannot "+r),Sp=(e,t,r)=>(e3t(e,t,"read from private field"),r?r.call(e):t.get(e)),eS=(e,t,r)=>t.has(e)?Rhr("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r),n5=(e,t,r,n)=>(e3t(e,t,"write to private field"),n?n.call(e,r):t.set(e,r),r),$se=(e,t,r)=>(e3t(e,t,"access private method"),r),G$n=sa({"node_modules/fast-glob/out/utils/array.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.splitWhen=e.flatten=void 0;function t(n){return n.reduce((i,s)=>[].concat(i,s),[])}e.flatten=t;function r(n,i){let s=[[]],R=0;for(let l of n)i(l)?(R++,s[R]=[]):s[R].push(l);return s}e.splitWhen=r}}),V$n=sa({"node_modules/fast-glob/out/utils/errno.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isEnoentCodeError=void 0;function t(r){return r.code==="ENOENT"}e.isEnoentCodeError=t}}),j$n=sa({"node_modules/fast-glob/out/utils/fs.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createDirentFromStats=void 0;var t=class{constructor(n,i){this.name=n,this.isBlockDevice=i.isBlockDevice.bind(i),this.isCharacterDevice=i.isCharacterDevice.bind(i),this.isDirectory=i.isDirectory.bind(i),this.isFIFO=i.isFIFO.bind(i),this.isFile=i.isFile.bind(i),this.isSocket=i.isSocket.bind(i),this.isSymbolicLink=i.isSymbolicLink.bind(i)}};function r(n,i){return new t(n,i)}e.createDirentFromStats=r}}),J$n=sa({"node_modules/fast-glob/out/utils/path.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.convertPosixPathToPattern=e.convertWindowsPathToPattern=e.convertPathToPattern=e.escapePosixPath=e.escapeWindowsPath=e.escape=e.removeLeadingDotSegment=e.makeAbsolute=e.unixify=void 0;var t=Nc("os"),r=Nc("path"),n=t.platform()==="win32",i=2,s=/(\\?)([()*?[\]{|}]|^!|[!+@](?=\()|\\(?![!()*+?@[\]{|}]))/g,R=/(\\?)([()[\]{}]|^!|[!+@](?=\())/g,l=/^\\\\([.?])/,c=/\\(?![!()+@[\]{}])/g;function h(D){return D.replace(/\\/g,"/")}e.unixify=h;function _(D,S){return r.resolve(D,S)}e.makeAbsolute=_;function f(D){if(D.charAt(0)==="."){let S=D.charAt(1);if(S==="/"||S==="\\")return D.slice(i)}return D}e.removeLeadingDotSegment=f,e.escape=n?m:x;function m(D){return D.replace(R,"\\$2")}e.escapeWindowsPath=m;function x(D){return D.replace(s,"\\$2")}e.escapePosixPath=x,e.convertPathToPattern=n?y:A;function y(D){return m(D).replace(l,"//$1").replace(c,"/")}e.convertWindowsPathToPattern=y;function A(D){return x(D)}e.convertPosixPathToPattern=A}}),X$n=sa({"node_modules/is-extglob/index.js"(e,t){t.exports=function(n){if(typeof n!="string"||n==="")return!1;for(var i;i=/(\\).|([@?!+*]\(.*\))/g.exec(n);){if(i[2])return!0;n=n.slice(i.index+i[0].length)}return!1}}}),Z$n=sa({"node_modules/is-glob/index.js"(e,t){var r=X$n(),n={"{":"}","(":")","[":"]"},i=function(R){if(R[0]==="!")return!0;for(var l=0,c=-2,h=-2,_=-2,f=-2,m=-2;ll&&(m===-1||m>h||(m=R.indexOf("\\",l),m===-1||m>h)))||_!==-1&&R[l]==="{"&&R[l+1]!=="}"&&(_=R.indexOf("}",l),_>l&&(m=R.indexOf("\\",l),m===-1||m>_))||f!==-1&&R[l]==="("&&R[l+1]==="?"&&/[:!=]/.test(R[l+2])&&R[l+3]!==")"&&(f=R.indexOf(")",l),f>l&&(m=R.indexOf("\\",l),m===-1||m>f))||c!==-1&&R[l]==="("&&R[l+1]!=="|"&&(cc&&(m=R.indexOf("\\",c),m===-1||m>f))))return!0;if(R[l]==="\\"){var x=R[l+1];l+=2;var y=n[x];if(y){var A=R.indexOf(y,l);A!==-1&&(l=A+1)}if(R[l]==="!")return!0}else l++}return!1},s=function(R){if(R[0]==="!")return!0;for(var l=0;ltypeof t=="number"?Number.isInteger(t):typeof t=="string"&&t.trim()!==""?Number.isInteger(Number(t)):!1,e.find=(t,r)=>t.nodes.find(n=>n.type===r),e.exceedsLimit=(t,r,n=1,i)=>i===!1||!e.isInteger(t)||!e.isInteger(r)?!1:(Number(r)-Number(t))/Number(n)>=i,e.escapeNode=(t,r=0,n)=>{let i=t.nodes[r];i&&(n&&i.type===n||i.type==="open"||i.type==="close")&&i.escaped!==!0&&(i.value="\\"+i.value,i.escaped=!0)},e.encloseBrace=t=>t.type!=="brace"||t.commas>>0+t.ranges>>0?!1:(t.invalid=!0,!0),e.isInvalidBrace=t=>t.type!=="brace"?!1:t.invalid===!0||t.dollar?!0:!(t.commas>>0+t.ranges>>0)||t.open!==!0||t.close!==!0?(t.invalid=!0,!0):!1,e.isOpenOrClose=t=>t.type==="open"||t.type==="close"?!0:t.open===!0||t.close===!0,e.reduce=t=>t.reduce((r,n)=>(n.type==="text"&&r.push(n.value),n.type==="range"&&(n.type="text"),r),[]),e.flatten=(...t)=>{let r=[],n=i=>{for(let s=0;s{let s=(R,l={})=>{let c=i.escapeInvalid&&r.isInvalidBrace(l),h=R.invalid===!0&&i.escapeInvalid===!0,_="";if(R.value)return(c||h)&&r.isOpenOrClose(R)?"\\"+R.value:R.value;if(R.value)return R.value;if(R.nodes)for(let f of R.nodes)_+=s(f);return _};return s(n)}}}),tQn=sa({"node_modules/is-number/index.js"(e,t){"use strict";t.exports=function(r){return typeof r=="number"?r-r===0:typeof r=="string"&&r.trim()!==""?Number.isFinite?Number.isFinite(+r):isFinite(+r):!1}}}),rQn=sa({"node_modules/to-regex-range/index.js"(e,t){"use strict";var r=tQn(),n=(P,M,U)=>{if(r(P)===!1)throw new TypeError("toRegexRange: expected the first argument to be a number");if(M===void 0||P===M)return String(P);if(r(M)===!1)throw new TypeError("toRegexRange: expected the second argument to be a number.");let w={relaxZeros:!0,...U};typeof w.strictZeros=="boolean"&&(w.relaxZeros=w.strictZeros===!1);let F=String(w.relaxZeros),H=String(w.shorthand),G=String(w.capture),ee=String(w.wrap),fe=P+":"+M+"="+F+H+G+ee;if(n.cache.hasOwnProperty(fe))return n.cache[fe].result;let me=Math.min(P,M),ve=Math.max(P,M);if(Math.abs(me-ve)===1){let gt=P+"|"+M;return w.capture?`(${gt})`:w.wrap===!1?gt:`(?:${gt})`}let Ae=D(P)||D(M),Ue={min:P,max:M,a:me,b:ve},Ee=[],Me=[];if(Ae&&(Ue.isPadded=Ae,Ue.maxLen=String(Ue.max).length),me<0){let gt=ve<0?Math.abs(ve):1;Me=l(gt,Math.abs(me),Ue,w),me=Ue.a=0}return ve>=0&&(Ee=l(me,ve,Ue,w)),Ue.negatives=Me,Ue.positives=Ee,Ue.result=i(Me,Ee,w),w.capture===!0?Ue.result=`(${Ue.result})`:w.wrap!==!1&&Ee.length+Me.length>1&&(Ue.result=`(?:${Ue.result})`),n.cache[fe]=Ue,Ue.result};function i(P,M,U){let w=c(P,M,"-",!1,U)||[],F=c(M,P,"",!1,U)||[],H=c(P,M,"-?",!0,U)||[];return w.concat(H).concat(F).join("|")}function s(P,M){let U=1,w=1,F=m(P,U),H=new Set([M]);for(;P<=F&&F<=M;)H.add(F),U+=1,F=m(P,U);for(F=x(M+1,w)-1;P1&&ee.count.pop(),ee.count.push(ve.count[0]),ee.string=ee.pattern+y(ee.count),G=me+1;continue}U.isPadded&&(Ae=S(me,U,w)),ve.string=Ae+ve.pattern+y(ve.count),H.push(ve),G=me+1,ee=ve}return H}function c(P,M,U,w,F){let H=[];for(let G of P){let{string:ee}=G;!w&&!f(M,"string",ee)&&H.push(U+ee),w&&f(M,"string",ee)&&H.push(U+ee)}return H}function h(P,M){let U=[];for(let w=0;wM?1:M>P?-1:0}function f(P,M,U){return P.some(w=>w[M]===U)}function m(P,M){return Number(String(P).slice(0,-M)+"9".repeat(M))}function x(P,M){return P-P%Math.pow(10,M)}function y(P){let[M=0,U=""]=P;return U||M>1?`{${M+(U?","+U:"")}}`:""}function A(P,M,U){return`[${P}${M-P===1?"":"-"}${M}]`}function D(P){return/^-?(0+)\d/.test(P)}function S(P,M,U){if(!M.isPadded)return P;let w=Math.abs(M.maxLen-String(P).length),F=U.relaxZeros!==!1;switch(w){case 0:return"";case 1:return F?"0?":"0";case 2:return F?"0{0,2}":"00";default:return F?`0{0,${w}}`:`0{${w}}`}}n.cache={},n.clearCache=()=>n.cache={},t.exports=n}}),uhr=sa({"node_modules/fill-range/index.js"(e,t){"use strict";var r=Nc("util"),n=rQn(),i=w=>w!==null&&typeof w=="object"&&!Array.isArray(w),s=w=>F=>w===!0?Number(F):String(F),R=w=>typeof w=="number"||typeof w=="string"&&w!=="",l=w=>Number.isInteger(+w),c=w=>{let F=`${w}`,H=-1;if(F[0]==="-"&&(F=F.slice(1)),F==="0")return!1;for(;F[++H]==="0";);return H>0},h=(w,F,H)=>typeof w=="string"||typeof F=="string"?!0:H.stringify===!0,_=(w,F,H)=>{if(F>0){let G=w[0]==="-"?"-":"";G&&(w=w.slice(1)),w=G+w.padStart(G?F-1:F,"0")}return H===!1?String(w):w},f=(w,F)=>{let H=w[0]==="-"?"-":"";for(H&&(w=w.slice(1),F--);w.length{w.negatives.sort((ve,Ae)=>veAe?1:0),w.positives.sort((ve,Ae)=>veAe?1:0);let G=F.capture?"":"?:",ee="",fe="",me;return w.positives.length&&(ee=w.positives.map(ve=>f(String(ve),H)).join("|")),w.negatives.length&&(fe=`-(${G}${w.negatives.map(ve=>f(String(ve),H)).join("|")})`),ee&&fe?me=`${ee}|${fe}`:me=ee||fe,F.wrap?`(${G}${me})`:me},x=(w,F,H,G)=>{if(H)return n(w,F,{wrap:!1,...G});let ee=String.fromCharCode(w);if(w===F)return ee;let fe=String.fromCharCode(F);return`[${ee}-${fe}]`},y=(w,F,H)=>{if(Array.isArray(w)){let G=H.wrap===!0,ee=H.capture?"":"?:";return G?`(${ee}${w.join("|")})`:w.join("|")}return n(w,F,H)},A=(...w)=>new RangeError("Invalid range arguments: "+r.inspect(...w)),D=(w,F,H)=>{if(H.strictRanges===!0)throw A([w,F]);return[]},S=(w,F)=>{if(F.strictRanges===!0)throw new TypeError(`Expected step "${w}" to be a number`);return[]},P=(w,F,H=1,G={})=>{let ee=Number(w),fe=Number(F);if(!Number.isInteger(ee)||!Number.isInteger(fe)){if(G.strictRanges===!0)throw A([w,F]);return[]}ee===0&&(ee=0),fe===0&&(fe=0);let me=ee>fe,ve=String(w),Ae=String(F),Ue=String(H);H=Math.max(Math.abs(H),1);let Ee=c(ve)||c(Ae)||c(Ue),Me=Ee?Math.max(ve.length,Ae.length,Ue.length):0,gt=Ee===!1&&h(w,F,G)===!1,xt=G.transform||s(gt);if(G.toRegex&&H===1)return x(f(w,Me),f(F,Me),!0,G);let Nt={negatives:[],positives:[]},lt=Ve=>Nt[Ve<0?"negatives":"positives"].push(Math.abs(Ve)),at=[],_t=0;for(;me?ee>=fe:ee<=fe;)G.toRegex===!0&&H>1?lt(ee):at.push(_(xt(ee,_t),Me,gt)),ee=me?ee-H:ee+H,_t++;return G.toRegex===!0?H>1?m(Nt,G,Me):y(at,null,{wrap:!1,...G}):at},M=(w,F,H=1,G={})=>{if(!l(w)&&w.length>1||!l(F)&&F.length>1)return D(w,F,G);let ee=G.transform||(gt=>String.fromCharCode(gt)),fe=`${w}`.charCodeAt(0),me=`${F}`.charCodeAt(0),ve=fe>me,Ae=Math.min(fe,me),Ue=Math.max(fe,me);if(G.toRegex&&H===1)return x(Ae,Ue,!1,G);let Ee=[],Me=0;for(;ve?fe>=me:fe<=me;)Ee.push(ee(fe,Me)),fe=ve?fe-H:fe+H,Me++;return G.toRegex===!0?y(Ee,null,{wrap:!1,options:G}):Ee},U=(w,F,H,G={})=>{if(F==null&&R(w))return[w];if(!R(w)||!R(F))return D(w,F,G);if(typeof H=="function")return U(w,F,1,{transform:H});if(i(H))return U(w,F,0,H);let ee={...G};return ee.capture===!0&&(ee.wrap=!0),H=H||ee.step||1,l(H)?l(w)&&l(F)?P(w,F,H,ee):M(w,F,Math.max(Math.abs(H),1),ee):H!=null&&!i(H)?S(H,ee):U(w,F,1,H)};t.exports=U}}),nQn=sa({"node_modules/braces/lib/compile.js"(e,t){"use strict";var r=uhr(),n=t3t(),i=(s,R={})=>{let l=(c,h={})=>{let _=n.isInvalidBrace(h),f=c.invalid===!0&&R.escapeInvalid===!0,m=_===!0||f===!0,x=R.escapeInvalid===!0?"\\":"",y="";if(c.isOpen===!0)return x+c.value;if(c.isClose===!0)return console.log("node.isClose",x,c.value),x+c.value;if(c.type==="open")return m?x+c.value:"(";if(c.type==="close")return m?x+c.value:")";if(c.type==="comma")return c.prev.type==="comma"?"":m?c.value:"|";if(c.value)return c.value;if(c.nodes&&c.ranges>0){let A=n.reduce(c.nodes),D=r(...A,{...R,wrap:!1,toRegex:!0,strictZeros:!0});if(D.length!==0)return A.length>1&&D.length>1?`(${D})`:D}if(c.nodes)for(let A of c.nodes)y+=l(A,c);return y};return l(s)};t.exports=i}}),iQn=sa({"node_modules/braces/lib/expand.js"(e,t){"use strict";var r=uhr(),n=r3t(),i=t3t(),s=(l="",c="",h=!1)=>{let _=[];if(l=[].concat(l),c=[].concat(c),!c.length)return l;if(!l.length)return h?i.flatten(c).map(f=>`{${f}}`):c;for(let f of l)if(Array.isArray(f))for(let m of f)_.push(s(m,c,h));else for(let m of c)h===!0&&typeof m=="string"&&(m=`{${m}}`),_.push(Array.isArray(m)?s(f,m,h):f+m);return i.flatten(_)},R=(l,c={})=>{let h=c.rangeLimit===void 0?1e3:c.rangeLimit,_=(f,m={})=>{f.queue=[];let x=m,y=m.queue;for(;x.type!=="brace"&&x.type!=="root"&&x.parent;)x=x.parent,y=x.queue;if(f.invalid||f.dollar){y.push(s(y.pop(),n(f,c)));return}if(f.type==="brace"&&f.invalid!==!0&&f.nodes.length===2){y.push(s(y.pop(),["{}"]));return}if(f.nodes&&f.ranges>0){let P=i.reduce(f.nodes);if(i.exceedsLimit(...P,c.step,h))throw new RangeError("expanded array length exceeds range limit. Use options.rangeLimit to increase or disable the limit.");let M=r(...P,c);M.length===0&&(M=n(f,c)),y.push(s(y.pop(),M)),f.nodes=[];return}let A=i.encloseBrace(f),D=f.queue,S=f;for(;S.type!=="brace"&&S.type!=="root"&&S.parent;)S=S.parent,D=S.queue;for(let P=0;P",CHAR_RIGHT_CURLY_BRACE:"}",CHAR_RIGHT_SQUARE_BRACKET:"]",CHAR_SEMICOLON:";",CHAR_SINGLE_QUOTE:"'",CHAR_SPACE:" ",CHAR_TAB:" ",CHAR_UNDERSCORE:"_",CHAR_VERTICAL_LINE:"|",CHAR_ZERO_WIDTH_NOBREAK_SPACE:"\uFEFF"}}}),sQn=sa({"node_modules/braces/lib/parse.js"(e,t){"use strict";var r=r3t(),{MAX_LENGTH:n,CHAR_BACKSLASH:i,CHAR_BACKTICK:s,CHAR_COMMA:R,CHAR_DOT:l,CHAR_LEFT_PARENTHESES:c,CHAR_RIGHT_PARENTHESES:h,CHAR_LEFT_CURLY_BRACE:_,CHAR_RIGHT_CURLY_BRACE:f,CHAR_LEFT_SQUARE_BRACKET:m,CHAR_RIGHT_SQUARE_BRACKET:x,CHAR_DOUBLE_QUOTE:y,CHAR_SINGLE_QUOTE:A,CHAR_NO_BREAK_SPACE:D,CHAR_ZERO_WIDTH_NOBREAK_SPACE:S}=aQn(),P=(M,U={})=>{if(typeof M!="string")throw new TypeError("Expected a string");let w=U||{},F=typeof w.maxLength=="number"?Math.min(n,w.maxLength):n;if(M.length>F)throw new SyntaxError(`Input length (${M.length}), exceeds max characters (${F})`);let H={type:"root",input:M,nodes:[]},G=[H],ee=H,fe=H,me=0,ve=M.length,Ae=0,Ue=0,Ee,Me=()=>M[Ae++],gt=xt=>{if(xt.type==="text"&&fe.type==="dot"&&(fe.type="text"),fe&&fe.type==="text"&&xt.type==="text"){fe.value+=xt.value;return}return ee.nodes.push(xt),xt.parent=ee,xt.prev=fe,fe=xt,xt};for(gt({type:"bos"});Ae0){if(ee.ranges>0){ee.ranges=0;let xt=ee.nodes.shift();ee.nodes=[xt,{type:"text",value:r(ee)}]}gt({type:"comma",value:Ee}),ee.commas++;continue}if(Ee===l&&Ue>0&&ee.commas===0){let xt=ee.nodes;if(Ue===0||xt.length===0){gt({type:"text",value:Ee});continue}if(fe.type==="dot"){if(ee.range=[],fe.value+=Ee,fe.type="range",ee.nodes.length!==3&&ee.nodes.length!==5){ee.invalid=!0,ee.ranges=0,fe.type="text";continue}ee.ranges++,ee.args=[];continue}if(fe.type==="range"){xt.pop();let Nt=xt[xt.length-1];Nt.value+=fe.value+Ee,fe=Nt,ee.ranges--;continue}gt({type:"dot",value:Ee});continue}gt({type:"text",value:Ee})}do if(ee=G.pop(),ee.type!=="root"){ee.nodes.forEach(lt=>{lt.nodes||(lt.type==="open"&&(lt.isOpen=!0),lt.type==="close"&&(lt.isClose=!0),lt.nodes||(lt.type="text"),lt.invalid=!0)});let xt=G[G.length-1],Nt=xt.nodes.indexOf(ee);xt.nodes.splice(Nt,1,...ee.nodes)}while(G.length>0);return gt({type:"eos"}),H};t.exports=P}}),oQn=sa({"node_modules/braces/index.js"(e,t){"use strict";var r=r3t(),n=nQn(),i=iQn(),s=sQn(),R=(l,c={})=>{let h=[];if(Array.isArray(l))for(let _ of l){let f=R.create(_,c);Array.isArray(f)?h.push(...f):h.push(f)}else h=[].concat(R.create(l,c));return c&&c.expand===!0&&c.nodupes===!0&&(h=[...new Set(h)]),h};R.parse=(l,c={})=>s(l,c),R.stringify=(l,c={})=>r(typeof l=="string"?R.parse(l,c):l,c),R.compile=(l,c={})=>(typeof l=="string"&&(l=R.parse(l,c)),n(l,c)),R.expand=(l,c={})=>{typeof l=="string"&&(l=R.parse(l,c));let h=i(l,c);return c.noempty===!0&&(h=h.filter(Boolean)),c.nodupes===!0&&(h=[...new Set(h)]),h},R.create=(l,c={})=>l===""||l.length<3?[l]:c.expand!==!0?R.compile(l,c):R.expand(l,c),t.exports=R}}),wAe=sa({"node_modules/picomatch/lib/constants.js"(e,t){"use strict";var r=Nc("path"),n="\\\\/",i=`[^${n}]`,s="\\.",R="\\+",l="\\?",c="\\/",h="(?=.)",_="[^/]",f=`(?:${c}|$)`,m=`(?:^|${c})`,x=`${s}{1,2}${f}`,y=`(?!${s})`,A=`(?!${m}${x})`,D=`(?!${s}{0,1}${f})`,S=`(?!${x})`,P=`[^.${c}]`,M=`${_}*?`,U={DOT_LITERAL:s,PLUS_LITERAL:R,QMARK_LITERAL:l,SLASH_LITERAL:c,ONE_CHAR:h,QMARK:_,END_ANCHOR:f,DOTS_SLASH:x,NO_DOT:y,NO_DOTS:A,NO_DOT_SLASH:D,NO_DOTS_SLASH:S,QMARK_NO_DOT:P,STAR:M,START_ANCHOR:m},w={...U,SLASH_LITERAL:`[${n}]`,QMARK:i,STAR:`${i}*?`,DOTS_SLASH:`${s}{1,2}(?:[${n}]|$)`,NO_DOT:`(?!${s})`,NO_DOTS:`(?!(?:^|[${n}])${s}{1,2}(?:[${n}]|$))`,NO_DOT_SLASH:`(?!${s}{0,1}(?:[${n}]|$))`,NO_DOTS_SLASH:`(?!${s}{1,2}(?:[${n}]|$))`,QMARK_NO_DOT:`[^.${n}]`,START_ANCHOR:`(?:^|[${n}])`,END_ANCHOR:`(?:[${n}]|$)`},F={alnum:"a-zA-Z0-9",alpha:"a-zA-Z",ascii:"\\x00-\\x7F",blank:" \\t",cntrl:"\\x00-\\x1F\\x7F",digit:"0-9",graph:"\\x21-\\x7E",lower:"a-z",print:"\\x20-\\x7E ",punct:"\\-!\"#$%&'()\\*+,./:;<=>?@[\\]^_`{|}~",space:" \\t\\r\\n\\v\\f",upper:"A-Z",word:"A-Za-z0-9_",xdigit:"A-Fa-f0-9"};t.exports={MAX_LENGTH:1024*64,POSIX_REGEX_SOURCE:F,REGEX_BACKSLASH:/\\(?![*+?^${}(|)[\]])/g,REGEX_NON_SPECIAL_CHARS:/^[^@![\].,$*+?^{}()|\\/]+/,REGEX_SPECIAL_CHARS:/[-*+?.^${}(|)[\]]/,REGEX_SPECIAL_CHARS_BACKREF:/(\\?)((\W)(\3*))/g,REGEX_SPECIAL_CHARS_GLOBAL:/([-*+?.^${}(|)[\]])/g,REGEX_REMOVE_BACKSLASH:/(?:\[.*?[^\\]\]|\\(?=.))/g,REPLACEMENTS:{"***":"*","**/**":"**","**/**/**":"**"},CHAR_0:48,CHAR_9:57,CHAR_UPPERCASE_A:65,CHAR_LOWERCASE_A:97,CHAR_UPPERCASE_Z:90,CHAR_LOWERCASE_Z:122,CHAR_LEFT_PARENTHESES:40,CHAR_RIGHT_PARENTHESES:41,CHAR_ASTERISK:42,CHAR_AMPERSAND:38,CHAR_AT:64,CHAR_BACKWARD_SLASH:92,CHAR_CARRIAGE_RETURN:13,CHAR_CIRCUMFLEX_ACCENT:94,CHAR_COLON:58,CHAR_COMMA:44,CHAR_DOT:46,CHAR_DOUBLE_QUOTE:34,CHAR_EQUAL:61,CHAR_EXCLAMATION_MARK:33,CHAR_FORM_FEED:12,CHAR_FORWARD_SLASH:47,CHAR_GRAVE_ACCENT:96,CHAR_HASH:35,CHAR_HYPHEN_MINUS:45,CHAR_LEFT_ANGLE_BRACKET:60,CHAR_LEFT_CURLY_BRACE:123,CHAR_LEFT_SQUARE_BRACKET:91,CHAR_LINE_FEED:10,CHAR_NO_BREAK_SPACE:160,CHAR_PERCENT:37,CHAR_PLUS:43,CHAR_QUESTION_MARK:63,CHAR_RIGHT_ANGLE_BRACKET:62,CHAR_RIGHT_CURLY_BRACE:125,CHAR_RIGHT_SQUARE_BRACKET:93,CHAR_SEMICOLON:59,CHAR_SINGLE_QUOTE:39,CHAR_SPACE:32,CHAR_TAB:9,CHAR_UNDERSCORE:95,CHAR_VERTICAL_LINE:124,CHAR_ZERO_WIDTH_NOBREAK_SPACE:65279,SEP:r.sep,extglobChars(H){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${H.STAR})`},"?":{type:"qmark",open:"(?:",close:")?"},"+":{type:"plus",open:"(?:",close:")+"},"*":{type:"star",open:"(?:",close:")*"},"@":{type:"at",open:"(?:",close:")"}}},globChars(H){return H===!0?w:U}}}}),PAe=sa({"node_modules/picomatch/lib/utils.js"(e){"use strict";var t=Nc("path"),r=process.platform==="win32",{REGEX_BACKSLASH:n,REGEX_REMOVE_BACKSLASH:i,REGEX_SPECIAL_CHARS:s,REGEX_SPECIAL_CHARS_GLOBAL:R}=wAe();e.isObject=l=>l!==null&&typeof l=="object"&&!Array.isArray(l),e.hasRegexChars=l=>s.test(l),e.isRegexChar=l=>l.length===1&&e.hasRegexChars(l),e.escapeRegex=l=>l.replace(R,"\\$1"),e.toPosixSlashes=l=>l.replace(n,"/"),e.removeBackslashes=l=>l.replace(i,c=>c==="\\"?"":c),e.supportsLookbehinds=()=>{let l=process.version.slice(1).split(".").map(Number);return l.length===3&&l[0]>=9||l[0]===8&&l[1]>=10},e.isWindows=l=>l&&typeof l.windows=="boolean"?l.windows:r===!0||t.sep==="\\",e.escapeLast=(l,c,h)=>{let _=l.lastIndexOf(c,h);return _===-1?l:l[_-1]==="\\"?e.escapeLast(l,c,_-1):`${l.slice(0,_)}\\${l.slice(_)}`},e.removePrefix=(l,c={})=>{let h=l;return h.startsWith("./")&&(h=h.slice(2),c.prefix="./"),h},e.wrapOutput=(l,c={},h={})=>{let _=h.contains?"":"^",f=h.contains?"":"$",m=`${_}(?:${l})${f}`;return c.negated===!0&&(m=`(?:^(?!${m}).*$)`),m}}}),RQn=sa({"node_modules/picomatch/lib/scan.js"(e,t){"use strict";var r=PAe(),{CHAR_ASTERISK:n,CHAR_AT:i,CHAR_BACKWARD_SLASH:s,CHAR_COMMA:R,CHAR_DOT:l,CHAR_EXCLAMATION_MARK:c,CHAR_FORWARD_SLASH:h,CHAR_LEFT_CURLY_BRACE:_,CHAR_LEFT_PARENTHESES:f,CHAR_LEFT_SQUARE_BRACKET:m,CHAR_PLUS:x,CHAR_QUESTION_MARK:y,CHAR_RIGHT_CURLY_BRACE:A,CHAR_RIGHT_PARENTHESES:D,CHAR_RIGHT_SQUARE_BRACKET:S}=wAe(),P=w=>w===h||w===s,M=w=>{w.isPrefix!==!0&&(w.depth=w.isGlobstar?1/0:1)},U=(w,F)=>{let H=F||{},G=w.length-1,ee=H.parts===!0||H.scanToEnd===!0,fe=[],me=[],ve=[],Ae=w,Ue=-1,Ee=0,Me=0,gt=!1,xt=!1,Nt=!1,lt=!1,at=!1,_t=!1,Ve=!1,Dt=!1,Ut=!1,pt=!1,ht=0,He,jt,zr={value:"",depth:0,isGlob:!1},Bn=()=>Ue>=G,an=()=>Ae.charCodeAt(Ue+1),ri=()=>(He=jt,Ae.charCodeAt(++Ue));for(;Ue0&&(bn=Ae.slice(0,Ee),Ae=Ae.slice(Ee),Me-=Ee),Zr&&Nt===!0&&Me>0?(Zr=Ae.slice(0,Me),Zn=Ae.slice(Me)):Nt===!0?(Zr="",Zn=Ae):Zr=Ae,Zr&&Zr!==""&&Zr!=="/"&&Zr!==Ae&&P(Zr.charCodeAt(Zr.length-1))&&(Zr=Zr.slice(0,-1)),H.unescape===!0&&(Zn&&(Zn=r.removeBackslashes(Zn)),Zr&&Ve===!0&&(Zr=r.removeBackslashes(Zr)));let mi={prefix:bn,input:w,start:Ee,base:Zr,glob:Zn,isBrace:gt,isBracket:xt,isGlob:Nt,isExtglob:lt,isGlobstar:at,negated:Dt,negatedExtglob:Ut};if(H.tokens===!0&&(mi.maxDepth=0,P(jt)||me.push(zr),mi.tokens=me),H.parts===!0||H.tokens===!0){let Sn;for(let $i=0;$i{if(typeof x.expandRange=="function")return x.expandRange(...m,x);m.sort();let y=`[${m.join("-")}]`;try{new RegExp(y)}catch{return m.map(D=>n.escapeRegex(D)).join("..")}return y},_=(m,x)=>`Missing ${m}: "${x}" - use "\\\\${x}" to match literal characters`,f=(m,x)=>{if(typeof m!="string")throw new TypeError("Expected a string");m=c[m]||m;let y={...x},A=typeof y.maxLength=="number"?Math.min(i,y.maxLength):i,D=m.length;if(D>A)throw new SyntaxError(`Input length: ${D}, exceeds maximum allowed length: ${A}`);let S={type:"bos",value:"",output:y.prepend||""},P=[S],M=y.capture?"":"?:",U=n.isWindows(x),w=r.globChars(U),F=r.extglobChars(w),{DOT_LITERAL:H,PLUS_LITERAL:G,SLASH_LITERAL:ee,ONE_CHAR:fe,DOTS_SLASH:me,NO_DOT:ve,NO_DOT_SLASH:Ae,NO_DOTS_SLASH:Ue,QMARK:Ee,QMARK_NO_DOT:Me,STAR:gt,START_ANCHOR:xt}=w,Nt=Ti=>`(${M}(?:(?!${xt}${Ti.dot?me:H}).)*?)`,lt=y.dot?"":ve,at=y.dot?Ee:Me,_t=y.bash===!0?Nt(y):gt;y.capture&&(_t=`(${_t})`),typeof y.noext=="boolean"&&(y.noextglob=y.noext);let Ve={input:m,index:-1,start:0,dot:y.dot===!0,consumed:"",output:"",prefix:"",backtrack:!1,negated:!1,brackets:0,braces:0,parens:0,quotes:0,globstar:!1,tokens:P};m=n.removePrefix(m,Ve),D=m.length;let Dt=[],Ut=[],pt=[],ht=S,He,jt=()=>Ve.index===D-1,zr=Ve.peek=(Ti=1)=>m[Ve.index+Ti],Bn=Ve.advance=()=>m[++Ve.index]||"",an=()=>m.slice(Ve.index+1),ri=(Ti="",Wi=0)=>{Ve.consumed+=Ti,Ve.index+=Wi},Zr=Ti=>{Ve.output+=Ti.output!=null?Ti.output:Ti.value,ri(Ti.value)},bn=()=>{let Ti=1;for(;zr()==="!"&&(zr(2)!=="("||zr(3)==="?");)Bn(),Ve.start++,Ti++;return Ti%2===0?!1:(Ve.negated=!0,Ve.start++,!0)},Zn=Ti=>{Ve[Ti]++,pt.push(Ti)},mi=Ti=>{Ve[Ti]--,pt.pop()},Sn=Ti=>{if(ht.type==="globstar"){let Wi=Ve.braces>0&&(Ti.type==="comma"||Ti.type==="brace"),Fn=Ti.extglob===!0||Dt.length&&(Ti.type==="pipe"||Ti.type==="paren");Ti.type!=="slash"&&Ti.type!=="paren"&&!Wi&&!Fn&&(Ve.output=Ve.output.slice(0,-ht.output.length),ht.type="star",ht.value="*",ht.output=_t,Ve.output+=ht.output)}if(Dt.length&&Ti.type!=="paren"&&(Dt[Dt.length-1].inner+=Ti.value),(Ti.value||Ti.output)&&Zr(Ti),ht&&ht.type==="text"&&Ti.type==="text"){ht.value+=Ti.value,ht.output=(ht.output||"")+Ti.value;return}Ti.prev=ht,P.push(Ti),ht=Ti},$i=(Ti,Wi)=>{let Fn={...F[Wi],conditions:1,inner:""};Fn.prev=ht,Fn.parens=Ve.parens,Fn.output=Ve.output;let Hi=(y.capture?"(":"")+Fn.open;Zn("parens"),Sn({type:Ti,value:Wi,output:Ve.output?"":fe}),Sn({type:"paren",extglob:!0,value:Bn(),output:Hi}),Dt.push(Fn)},cs=Ti=>{let Wi=Ti.close+(y.capture?")":""),Fn;if(Ti.type==="negate"){let Hi=_t;if(Ti.inner&&Ti.inner.length>1&&Ti.inner.includes("/")&&(Hi=Nt(y)),(Hi!==_t||jt()||/^\)+$/.test(an()))&&(Wi=Ti.close=`)$))${Hi}`),Ti.inner.includes("*")&&(Fn=an())&&/^\.[^\\/.]+$/.test(Fn)){let Ma=f(Fn,{...x,fastpaths:!1}).output;Wi=Ti.close=`)${Ma})${Hi})`}Ti.prev.type==="bos"&&(Ve.negatedExtglob=!0)}Sn({type:"paren",extglob:!0,value:He,output:Wi}),mi("parens")};if(y.fastpaths!==!1&&!/(^[*!]|[/()[\]{}"])/.test(m)){let Ti=!1,Wi=m.replace(l,(Fn,Hi,Ma,mt,ot,Je)=>mt==="\\"?(Ti=!0,Fn):mt==="?"?Hi?Hi+mt+(ot?Ee.repeat(ot.length):""):Je===0?at+(ot?Ee.repeat(ot.length):""):Ee.repeat(Ma.length):mt==="."?H.repeat(Ma.length):mt==="*"?Hi?Hi+mt+(ot?_t:""):_t:Hi?Fn:`\\${Fn}`);return Ti===!0&&(y.unescape===!0?Wi=Wi.replace(/\\/g,""):Wi=Wi.replace(/\\+/g,Fn=>Fn.length%2===0?"\\\\":Fn?"\\":"")),Wi===m&&y.contains===!0?(Ve.output=m,Ve):(Ve.output=n.wrapOutput(Wi,Ve,x),Ve)}for(;!jt();){if(He=Bn(),He==="\0")continue;if(He==="\\"){let Fn=zr();if(Fn==="/"&&y.bash!==!0||Fn==="."||Fn===";")continue;if(!Fn){He+="\\",Sn({type:"text",value:He});continue}let Hi=/^\\+/.exec(an()),Ma=0;if(Hi&&Hi[0].length>2&&(Ma=Hi[0].length,Ve.index+=Ma,Ma%2!==0&&(He+="\\")),y.unescape===!0?He=Bn():He+=Bn(),Ve.brackets===0){Sn({type:"text",value:He});continue}}if(Ve.brackets>0&&(He!=="]"||ht.value==="["||ht.value==="[^")){if(y.posix!==!1&&He===":"){let Fn=ht.value.slice(1);if(Fn.includes("[")&&(ht.posix=!0,Fn.includes(":"))){let Hi=ht.value.lastIndexOf("["),Ma=ht.value.slice(0,Hi),mt=ht.value.slice(Hi+2),ot=s[mt];if(ot){ht.value=Ma+ot,Ve.backtrack=!0,Bn(),!S.output&&P.indexOf(ht)===1&&(S.output=fe);continue}}}(He==="["&&zr()!==":"||He==="-"&&zr()==="]")&&(He=`\\${He}`),He==="]"&&(ht.value==="["||ht.value==="[^")&&(He=`\\${He}`),y.posix===!0&&He==="!"&&ht.value==="["&&(He="^"),ht.value+=He,Zr({value:He});continue}if(Ve.quotes===1&&He!=='"'){He=n.escapeRegex(He),ht.value+=He,Zr({value:He});continue}if(He==='"'){Ve.quotes=Ve.quotes===1?0:1,y.keepQuotes===!0&&Sn({type:"text",value:He});continue}if(He==="("){Zn("parens"),Sn({type:"paren",value:He});continue}if(He===")"){if(Ve.parens===0&&y.strictBrackets===!0)throw new SyntaxError(_("opening","("));let Fn=Dt[Dt.length-1];if(Fn&&Ve.parens===Fn.parens+1){cs(Dt.pop());continue}Sn({type:"paren",value:He,output:Ve.parens?")":"\\)"}),mi("parens");continue}if(He==="["){if(y.nobracket===!0||!an().includes("]")){if(y.nobracket!==!0&&y.strictBrackets===!0)throw new SyntaxError(_("closing","]"));He=`\\${He}`}else Zn("brackets");Sn({type:"bracket",value:He});continue}if(He==="]"){if(y.nobracket===!0||ht&&ht.type==="bracket"&&ht.value.length===1){Sn({type:"text",value:He,output:`\\${He}`});continue}if(Ve.brackets===0){if(y.strictBrackets===!0)throw new SyntaxError(_("opening","["));Sn({type:"text",value:He,output:`\\${He}`});continue}mi("brackets");let Fn=ht.value.slice(1);if(ht.posix!==!0&&Fn[0]==="^"&&!Fn.includes("/")&&(He=`/${He}`),ht.value+=He,Zr({value:He}),y.literalBrackets===!1||n.hasRegexChars(Fn))continue;let Hi=n.escapeRegex(ht.value);if(Ve.output=Ve.output.slice(0,-ht.value.length),y.literalBrackets===!0){Ve.output+=Hi,ht.value=Hi;continue}ht.value=`(${M}${Hi}|${ht.value})`,Ve.output+=ht.value;continue}if(He==="{"&&y.nobrace!==!0){Zn("braces");let Fn={type:"brace",value:He,output:"(",outputIndex:Ve.output.length,tokensIndex:Ve.tokens.length};Ut.push(Fn),Sn(Fn);continue}if(He==="}"){let Fn=Ut[Ut.length-1];if(y.nobrace===!0||!Fn){Sn({type:"text",value:He,output:He});continue}let Hi=")";if(Fn.dots===!0){let Ma=P.slice(),mt=[];for(let ot=Ma.length-1;ot>=0&&(P.pop(),Ma[ot].type!=="brace");ot--)Ma[ot].type!=="dots"&&mt.unshift(Ma[ot].value);Hi=h(mt,y),Ve.backtrack=!0}if(Fn.comma!==!0&&Fn.dots!==!0){let Ma=Ve.output.slice(0,Fn.outputIndex),mt=Ve.tokens.slice(Fn.tokensIndex);Fn.value=Fn.output="\\{",He=Hi="\\}",Ve.output=Ma;for(let ot of mt)Ve.output+=ot.output||ot.value}Sn({type:"brace",value:He,output:Hi}),mi("braces"),Ut.pop();continue}if(He==="|"){Dt.length>0&&Dt[Dt.length-1].conditions++,Sn({type:"text",value:He});continue}if(He===","){let Fn=He,Hi=Ut[Ut.length-1];Hi&&pt[pt.length-1]==="braces"&&(Hi.comma=!0,Fn="|"),Sn({type:"comma",value:He,output:Fn});continue}if(He==="/"){if(ht.type==="dot"&&Ve.index===Ve.start+1){Ve.start=Ve.index+1,Ve.consumed="",Ve.output="",P.pop(),ht=S;continue}Sn({type:"slash",value:He,output:ee});continue}if(He==="."){if(Ve.braces>0&&ht.type==="dot"){ht.value==="."&&(ht.output=H);let Fn=Ut[Ut.length-1];ht.type="dots",ht.output+=He,ht.value+=He,Fn.dots=!0;continue}if(Ve.braces+Ve.parens===0&&ht.type!=="bos"&&ht.type!=="slash"){Sn({type:"text",value:He,output:H});continue}Sn({type:"dot",value:He,output:H});continue}if(He==="?"){if(!(ht&&ht.value==="(")&&y.noextglob!==!0&&zr()==="("&&zr(2)!=="?"){$i("qmark",He);continue}if(ht&&ht.type==="paren"){let Hi=zr(),Ma=He;if(Hi==="<"&&!n.supportsLookbehinds())throw new Error("Node.js v10 or higher is required for regex lookbehinds");(ht.value==="("&&!/[!=<:]/.test(Hi)||Hi==="<"&&!/<([!=]|\w+>)/.test(an()))&&(Ma=`\\${He}`),Sn({type:"text",value:He,output:Ma});continue}if(y.dot!==!0&&(ht.type==="slash"||ht.type==="bos")){Sn({type:"qmark",value:He,output:Me});continue}Sn({type:"qmark",value:He,output:Ee});continue}if(He==="!"){if(y.noextglob!==!0&&zr()==="("&&(zr(2)!=="?"||!/[!=<:]/.test(zr(3)))){$i("negate",He);continue}if(y.nonegate!==!0&&Ve.index===0){bn();continue}}if(He==="+"){if(y.noextglob!==!0&&zr()==="("&&zr(2)!=="?"){$i("plus",He);continue}if(ht&&ht.value==="("||y.regex===!1){Sn({type:"plus",value:He,output:G});continue}if(ht&&(ht.type==="bracket"||ht.type==="paren"||ht.type==="brace")||Ve.parens>0){Sn({type:"plus",value:He});continue}Sn({type:"plus",value:G});continue}if(He==="@"){if(y.noextglob!==!0&&zr()==="("&&zr(2)!=="?"){Sn({type:"at",extglob:!0,value:He,output:""});continue}Sn({type:"text",value:He});continue}if(He!=="*"){(He==="$"||He==="^")&&(He=`\\${He}`);let Fn=R.exec(an());Fn&&(He+=Fn[0],Ve.index+=Fn[0].length),Sn({type:"text",value:He});continue}if(ht&&(ht.type==="globstar"||ht.star===!0)){ht.type="star",ht.star=!0,ht.value+=He,ht.output=_t,Ve.backtrack=!0,Ve.globstar=!0,ri(He);continue}let Ti=an();if(y.noextglob!==!0&&/^\([^?]/.test(Ti)){$i("star",He);continue}if(ht.type==="star"){if(y.noglobstar===!0){ri(He);continue}let Fn=ht.prev,Hi=Fn.prev,Ma=Fn.type==="slash"||Fn.type==="bos",mt=Hi&&(Hi.type==="star"||Hi.type==="globstar");if(y.bash===!0&&(!Ma||Ti[0]&&Ti[0]!=="/")){Sn({type:"star",value:He,output:""});continue}let ot=Ve.braces>0&&(Fn.type==="comma"||Fn.type==="brace"),Je=Dt.length&&(Fn.type==="pipe"||Fn.type==="paren");if(!Ma&&Fn.type!=="paren"&&!ot&&!Je){Sn({type:"star",value:He,output:""});continue}for(;Ti.slice(0,3)==="/**";){let Ct=m[Ve.index+4];if(Ct&&Ct!=="/")break;Ti=Ti.slice(3),ri("/**",3)}if(Fn.type==="bos"&&jt()){ht.type="globstar",ht.value+=He,ht.output=Nt(y),Ve.output=ht.output,Ve.globstar=!0,ri(He);continue}if(Fn.type==="slash"&&Fn.prev.type!=="bos"&&!mt&&jt()){Ve.output=Ve.output.slice(0,-(Fn.output+ht.output).length),Fn.output=`(?:${Fn.output}`,ht.type="globstar",ht.output=Nt(y)+(y.strictSlashes?")":"|$)"),ht.value+=He,Ve.globstar=!0,Ve.output+=Fn.output+ht.output,ri(He);continue}if(Fn.type==="slash"&&Fn.prev.type!=="bos"&&Ti[0]==="/"){let Ct=Ti[1]!==void 0?"|$":"";Ve.output=Ve.output.slice(0,-(Fn.output+ht.output).length),Fn.output=`(?:${Fn.output}`,ht.type="globstar",ht.output=`${Nt(y)}${ee}|${ee}${Ct})`,ht.value+=He,Ve.output+=Fn.output+ht.output,Ve.globstar=!0,ri(He+Bn()),Sn({type:"slash",value:"/",output:""});continue}if(Fn.type==="bos"&&Ti[0]==="/"){ht.type="globstar",ht.value+=He,ht.output=`(?:^|${ee}|${Nt(y)}${ee})`,Ve.output=ht.output,Ve.globstar=!0,ri(He+Bn()),Sn({type:"slash",value:"/",output:""});continue}Ve.output=Ve.output.slice(0,-ht.output.length),ht.type="globstar",ht.output=Nt(y),ht.value+=He,Ve.output+=ht.output,Ve.globstar=!0,ri(He);continue}let Wi={type:"star",value:He,output:_t};if(y.bash===!0){Wi.output=".*?",(ht.type==="bos"||ht.type==="slash")&&(Wi.output=lt+Wi.output),Sn(Wi);continue}if(ht&&(ht.type==="bracket"||ht.type==="paren")&&y.regex===!0){Wi.output=He,Sn(Wi);continue}(Ve.index===Ve.start||ht.type==="slash"||ht.type==="dot")&&(ht.type==="dot"?(Ve.output+=Ae,ht.output+=Ae):y.dot===!0?(Ve.output+=Ue,ht.output+=Ue):(Ve.output+=lt,ht.output+=lt),zr()!=="*"&&(Ve.output+=fe,ht.output+=fe)),Sn(Wi)}for(;Ve.brackets>0;){if(y.strictBrackets===!0)throw new SyntaxError(_("closing","]"));Ve.output=n.escapeLast(Ve.output,"["),mi("brackets")}for(;Ve.parens>0;){if(y.strictBrackets===!0)throw new SyntaxError(_("closing",")"));Ve.output=n.escapeLast(Ve.output,"("),mi("parens")}for(;Ve.braces>0;){if(y.strictBrackets===!0)throw new SyntaxError(_("closing","}"));Ve.output=n.escapeLast(Ve.output,"{"),mi("braces")}if(y.strictSlashes!==!0&&(ht.type==="star"||ht.type==="bracket")&&Sn({type:"maybe_slash",value:"",output:`${ee}?`}),Ve.backtrack===!0){Ve.output="";for(let Ti of Ve.tokens)Ve.output+=Ti.output!=null?Ti.output:Ti.value,Ti.suffix&&(Ve.output+=Ti.suffix)}return Ve};f.fastpaths=(m,x)=>{let y={...x},A=typeof y.maxLength=="number"?Math.min(i,y.maxLength):i,D=m.length;if(D>A)throw new SyntaxError(`Input length: ${D}, exceeds maximum allowed length: ${A}`);m=c[m]||m;let S=n.isWindows(x),{DOT_LITERAL:P,SLASH_LITERAL:M,ONE_CHAR:U,DOTS_SLASH:w,NO_DOT:F,NO_DOTS:H,NO_DOTS_SLASH:G,STAR:ee,START_ANCHOR:fe}=r.globChars(S),me=y.dot?H:F,ve=y.dot?G:F,Ae=y.capture?"":"?:",Ue={negated:!1,prefix:""},Ee=y.bash===!0?".*?":ee;y.capture&&(Ee=`(${Ee})`);let Me=lt=>lt.noglobstar===!0?Ee:`(${Ae}(?:(?!${fe}${lt.dot?w:P}).)*?)`,gt=lt=>{switch(lt){case"*":return`${me}${U}${Ee}`;case".*":return`${P}${U}${Ee}`;case"*.*":return`${me}${Ee}${P}${U}${Ee}`;case"*/*":return`${me}${Ee}${M}${U}${ve}${Ee}`;case"**":return me+Me(y);case"**/*":return`(?:${me}${Me(y)}${M})?${ve}${U}${Ee}`;case"**/*.*":return`(?:${me}${Me(y)}${M})?${ve}${Ee}${P}${U}${Ee}`;case"**/.*":return`(?:${me}${Me(y)}${M})?${P}${U}${Ee}`;default:{let at=/^(.*?)\.(\w+)$/.exec(lt);if(!at)return;let _t=gt(at[1]);return _t?_t+P+at[2]:void 0}}},xt=n.removePrefix(m,Ue),Nt=gt(xt);return Nt&&y.strictSlashes!==!0&&(Nt+=`${M}?`),Nt},t.exports=f}}),lQn=sa({"node_modules/picomatch/lib/picomatch.js"(e,t){"use strict";var r=Nc("path"),n=RQn(),i=uQn(),s=PAe(),R=wAe(),l=h=>h&&typeof h=="object"&&!Array.isArray(h),c=(h,_,f=!1)=>{if(Array.isArray(h)){let M=h.map(w=>c(w,_,f));return w=>{for(let F of M){let H=F(w);if(H)return H}return!1}}let m=l(h)&&h.tokens&&h.input;if(h===""||typeof h!="string"&&!m)throw new TypeError("Expected pattern to be a non-empty string");let x=_||{},y=s.isWindows(_),A=m?c.compileRe(h,_):c.makeRe(h,_,!1,!0),D=A.state;delete A.state;let S=()=>!1;if(x.ignore){let M={..._,ignore:null,onMatch:null,onResult:null};S=c(x.ignore,M,f)}let P=(M,U=!1)=>{let{isMatch:w,match:F,output:H}=c.test(M,A,_,{glob:h,posix:y}),G={glob:h,state:D,regex:A,posix:y,input:M,output:H,match:F,isMatch:w};return typeof x.onResult=="function"&&x.onResult(G),w===!1?(G.isMatch=!1,U?G:!1):S(M)?(typeof x.onIgnore=="function"&&x.onIgnore(G),G.isMatch=!1,U?G:!1):(typeof x.onMatch=="function"&&x.onMatch(G),U?G:!0)};return f&&(P.state=D),P};c.test=(h,_,f,{glob:m,posix:x}={})=>{if(typeof h!="string")throw new TypeError("Expected input to be a string");if(h==="")return{isMatch:!1,output:""};let y=f||{},A=y.format||(x?s.toPosixSlashes:null),D=h===m,S=D&&A?A(h):h;return D===!1&&(S=A?A(h):h,D=S===m),(D===!1||y.capture===!0)&&(y.matchBase===!0||y.basename===!0?D=c.matchBase(h,_,f,x):D=_.exec(S)),{isMatch:!!D,match:D,output:S}},c.matchBase=(h,_,f,m=s.isWindows(f))=>(_ instanceof RegExp?_:c.makeRe(_,f)).test(r.basename(h)),c.isMatch=(h,_,f)=>c(_,f)(h),c.parse=(h,_)=>Array.isArray(h)?h.map(f=>c.parse(f,_)):i(h,{..._,fastpaths:!1}),c.scan=(h,_)=>n(h,_),c.compileRe=(h,_,f=!1,m=!1)=>{if(f===!0)return h.output;let x=_||{},y=x.contains?"":"^",A=x.contains?"":"$",D=`${y}(?:${h.output})${A}`;h&&h.negated===!0&&(D=`^(?!${D}).*$`);let S=c.toRegex(D,_);return m===!0&&(S.state=h),S},c.makeRe=(h,_={},f=!1,m=!1)=>{if(!h||typeof h!="string")throw new TypeError("Expected a non-empty string");let x={negated:!1,fastpaths:!0};return _.fastpaths!==!1&&(h[0]==="."||h[0]==="*")&&(x.output=i.fastpaths(h,_)),x.output||(x=i(h,_)),c.compileRe(x,_,f,m)},c.toRegex=(h,_)=>{try{let f=_||{};return new RegExp(h,f.flags||(f.nocase?"i":""))}catch(f){if(_&&_.debug===!0)throw f;return/$^/}},c.constants=R,t.exports=c}}),cQn=sa({"node_modules/picomatch/index.js"(e,t){"use strict";t.exports=lQn()}}),lhr=sa({"node_modules/micromatch/index.js"(e,t){"use strict";var r=Nc("util"),n=oQn(),i=cQn(),s=PAe(),R=h=>h===""||h==="./",l=h=>{let _=h.indexOf("{");return _>-1&&h.indexOf("}",_)>-1},c=(h,_,f)=>{_=[].concat(_),h=[].concat(h);let m=new Set,x=new Set,y=new Set,A=0,D=M=>{y.add(M.output),f&&f.onResult&&f.onResult(M)};for(let M=0;M<_.length;M++){let U=i(String(_[M]),{...f,onResult:D},!0),w=U.state.negated||U.state.negatedExtglob;w&&A++;for(let F of h){let H=U(F,!0);(w?!H.isMatch:H.isMatch)&&(w?m.add(H.output):(m.delete(H.output),x.add(H.output)))}}let P=(A===_.length?[...y]:[...x]).filter(M=>!m.has(M));if(f&&P.length===0){if(f.failglob===!0)throw new Error(`No matches found for "${_.join(", ")}"`);if(f.nonull===!0||f.nullglob===!0)return f.unescape?_.map(M=>M.replace(/\\/g,"")):_}return P};c.match=c,c.matcher=(h,_)=>i(h,_),c.isMatch=(h,_,f)=>i(_,f)(h),c.any=c.isMatch,c.not=(h,_,f={})=>{_=[].concat(_).map(String);let m=new Set,x=[],y=D=>{f.onResult&&f.onResult(D),x.push(D.output)},A=new Set(c(h,_,{...f,onResult:y}));for(let D of x)A.has(D)||m.add(D);return[...m]},c.contains=(h,_,f)=>{if(typeof h!="string")throw new TypeError(`Expected a string: "${r.inspect(h)}"`);if(Array.isArray(_))return _.some(m=>c.contains(h,m,f));if(typeof _=="string"){if(R(h)||R(_))return!1;if(h.includes(_)||h.startsWith("./")&&h.slice(2).includes(_))return!0}return c.isMatch(h,_,{...f,contains:!0})},c.matchKeys=(h,_,f)=>{if(!s.isObject(h))throw new TypeError("Expected the first argument to be an object");let m=c(Object.keys(h),_,f),x={};for(let y of m)x[y]=h[y];return x},c.some=(h,_,f)=>{let m=[].concat(h);for(let x of[].concat(_)){let y=i(String(x),f);if(m.some(A=>y(A)))return!0}return!1},c.every=(h,_,f)=>{let m=[].concat(h);for(let x of[].concat(_)){let y=i(String(x),f);if(!m.every(A=>y(A)))return!1}return!0},c.all=(h,_,f)=>{if(typeof h!="string")throw new TypeError(`Expected a string: "${r.inspect(h)}"`);return[].concat(_).every(m=>i(m,f)(h))},c.capture=(h,_,f)=>{let m=s.isWindows(f),y=i.makeRe(String(h),{...f,capture:!0}).exec(m?s.toPosixSlashes(_):_);if(y)return y.slice(1).map(A=>A===void 0?"":A)},c.makeRe=(...h)=>i.makeRe(...h),c.scan=(...h)=>i.scan(...h),c.parse=(h,_)=>{let f=[];for(let m of[].concat(h||[]))for(let x of n(String(m),_))f.push(i.parse(x,_));return f},c.braces=(h,_)=>{if(typeof h!="string")throw new TypeError("Expected a string");return _&&_.nobrace===!0||!l(h)?[h]:n(h,_)},c.braceExpand=(h,_)=>{if(typeof h!="string")throw new TypeError("Expected a string");return c.braces(h,{..._,expand:!0})},c.hasBraces=l,t.exports=c}}),TQn=sa({"node_modules/fast-glob/out/utils/pattern.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.removeDuplicateSlashes=e.matchAny=e.convertPatternsToRe=e.makeRe=e.getPatternParts=e.expandBraceExpansion=e.expandPatternsWithBraceExpansion=e.isAffectDepthOfReadingPattern=e.endsWithSlashGlobStar=e.hasGlobStar=e.getBaseDirectory=e.isPatternRelatedToParentDirectory=e.getPatternsOutsideCurrentDirectory=e.getPatternsInsideCurrentDirectory=e.getPositivePatterns=e.getNegativePatterns=e.isPositivePattern=e.isNegativePattern=e.convertToNegativePattern=e.convertToPositivePattern=e.isDynamicPattern=e.isStaticPattern=void 0;var t=Nc("path"),r=eQn(),n=lhr(),i="**",s="\\",R=/[*?]|^!/,l=/\[[^[]*]/,c=/(?:^|[^!*+?@])\([^(]*\|[^|]*\)/,h=/[!*+?@]\([^(]*\)/,_=/,|\.\./,f=/(?!^)\/{2,}/g;function m(Nt,lt={}){return!x(Nt,lt)}e.isStaticPattern=m;function x(Nt,lt={}){return Nt===""?!1:!!(lt.caseSensitiveMatch===!1||Nt.includes(s)||R.test(Nt)||l.test(Nt)||c.test(Nt)||lt.extglob!==!1&&h.test(Nt)||lt.braceExpansion!==!1&&y(Nt))}e.isDynamicPattern=x;function y(Nt){let lt=Nt.indexOf("{");if(lt===-1)return!1;let at=Nt.indexOf("}",lt+1);if(at===-1)return!1;let _t=Nt.slice(lt,at);return _.test(_t)}function A(Nt){return S(Nt)?Nt.slice(1):Nt}e.convertToPositivePattern=A;function D(Nt){return"!"+Nt}e.convertToNegativePattern=D;function S(Nt){return Nt.startsWith("!")&&Nt[1]!=="("}e.isNegativePattern=S;function P(Nt){return!S(Nt)}e.isPositivePattern=P;function M(Nt){return Nt.filter(S)}e.getNegativePatterns=M;function U(Nt){return Nt.filter(P)}e.getPositivePatterns=U;function w(Nt){return Nt.filter(lt=>!H(lt))}e.getPatternsInsideCurrentDirectory=w;function F(Nt){return Nt.filter(H)}e.getPatternsOutsideCurrentDirectory=F;function H(Nt){return Nt.startsWith("..")||Nt.startsWith("./..")}e.isPatternRelatedToParentDirectory=H;function G(Nt){return r(Nt,{flipBackslashes:!1})}e.getBaseDirectory=G;function ee(Nt){return Nt.includes(i)}e.hasGlobStar=ee;function fe(Nt){return Nt.endsWith("/"+i)}e.endsWithSlashGlobStar=fe;function me(Nt){let lt=t.basename(Nt);return fe(Nt)||m(lt)}e.isAffectDepthOfReadingPattern=me;function ve(Nt){return Nt.reduce((lt,at)=>lt.concat(Ae(at)),[])}e.expandPatternsWithBraceExpansion=ve;function Ae(Nt){let lt=n.braces(Nt,{expand:!0,nodupes:!0,keepEscaping:!0});return lt.sort((at,_t)=>at.length-_t.length),lt.filter(at=>at!=="")}e.expandBraceExpansion=Ae;function Ue(Nt,lt){let{parts:at}=n.scan(Nt,Object.assign(Object.assign({},lt),{parts:!0}));return at.length===0&&(at=[Nt]),at[0].startsWith("/")&&(at[0]=at[0].slice(1),at.unshift("")),at}e.getPatternParts=Ue;function Ee(Nt,lt){return n.makeRe(Nt,lt)}e.makeRe=Ee;function Me(Nt,lt){return Nt.map(at=>Ee(at,lt))}e.convertPatternsToRe=Me;function gt(Nt,lt){return lt.some(at=>at.test(Nt))}e.matchAny=gt;function xt(Nt){return Nt.replace(f,"/")}e.removeDuplicateSlashes=xt}}),pQn=sa({"node_modules/merge2/index.js"(e,t){"use strict";var r=Nc("stream"),n=r.PassThrough,i=Array.prototype.slice;t.exports=s;function s(){let l=[],c=i.call(arguments),h=!1,_=c[c.length-1];_&&!Array.isArray(_)&&_.pipe==null?c.pop():_={};let f=_.end!==!1,m=_.pipeError===!0;_.objectMode==null&&(_.objectMode=!0),_.highWaterMark==null&&(_.highWaterMark=64*1024);let x=n(_);function y(){for(let S=0,P=arguments.length;S0||(h=!1,A())}function U(w){function F(){w.removeListener("merge2UnpipeEnd",F),w.removeListener("end",F),m&&w.removeListener("error",H),M()}function H(G){x.emit("error",G)}if(w._readableState.endEmitted)return M();w.on("merge2UnpipeEnd",F),w.on("end",F),m&&w.on("error",H),w.pipe(x,{end:!1}),w.resume()}for(let w=0;w{R.once("error",l=>s.emit("error",l))}),s.once("close",()=>n(i)),s.once("end",()=>n(i)),s}e.merge=r;function n(i){i.forEach(s=>s.emit("close"))}}}),hQn=sa({"node_modules/fast-glob/out/utils/string.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isEmpty=e.isString=void 0;function t(n){return typeof n=="string"}e.isString=t;function r(n){return n===""}e.isEmpty=r}}),ZW=sa({"node_modules/fast-glob/out/utils/index.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.string=e.stream=e.pattern=e.path=e.fs=e.errno=e.array=void 0;var t=G$n();e.array=t;var r=V$n();e.errno=r;var n=j$n();e.fs=n;var i=J$n();e.path=i;var s=TQn();e.pattern=s;var R=_Qn();e.stream=R;var l=hQn();e.string=l}}),fQn=sa({"node_modules/fast-glob/out/managers/tasks.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.convertPatternGroupToTask=e.convertPatternGroupsToTasks=e.groupPatternsByBaseDirectory=e.getNegativePatternsAsPositive=e.getPositivePatterns=e.convertPatternsToTasks=e.generate=void 0;var t=ZW();function r(_,f){let m=n(_,f),x=n(f.ignore,f),y=s(m),A=R(m,x),D=y.filter(U=>t.pattern.isStaticPattern(U,f)),S=y.filter(U=>t.pattern.isDynamicPattern(U,f)),P=i(D,A,!1),M=i(S,A,!0);return P.concat(M)}e.generate=r;function n(_,f){let m=_;return f.braceExpansion&&(m=t.pattern.expandPatternsWithBraceExpansion(m)),f.baseNameMatch&&(m=m.map(x=>x.includes("/")?x:`**/${x}`)),m.map(x=>t.pattern.removeDuplicateSlashes(x))}function i(_,f,m){let x=[],y=t.pattern.getPatternsOutsideCurrentDirectory(_),A=t.pattern.getPatternsInsideCurrentDirectory(_),D=l(y),S=l(A);return x.push(...c(D,f,m)),"."in S?x.push(h(".",A,f,m)):x.push(...c(S,f,m)),x}e.convertPatternsToTasks=i;function s(_){return t.pattern.getPositivePatterns(_)}e.getPositivePatterns=s;function R(_,f){return t.pattern.getNegativePatterns(_).concat(f).map(t.pattern.convertToPositivePattern)}e.getNegativePatternsAsPositive=R;function l(_){let f={};return _.reduce((m,x)=>{let y=t.pattern.getBaseDirectory(x);return y in m?m[y].push(x):m[y]=[x],m},f)}e.groupPatternsByBaseDirectory=l;function c(_,f,m){return Object.keys(_).map(x=>h(x,_[x],f,m))}e.convertPatternGroupsToTasks=c;function h(_,f,m,x){return{dynamic:x,positive:f,negative:m,base:_,patterns:[].concat(f,m.map(t.pattern.convertToNegativePattern))}}e.convertPatternGroupToTask=h}}),dQn=sa({"node_modules/@nodelib/fs.stat/out/providers/async.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.read=void 0;function t(i,s,R){s.fs.lstat(i,(l,c)=>{if(l!==null){r(R,l);return}if(!c.isSymbolicLink()||!s.followSymbolicLink){n(R,c);return}s.fs.stat(i,(h,_)=>{if(h!==null){if(s.throwErrorOnBrokenSymbolicLink){r(R,h);return}n(R,c);return}s.markSymbolicLink&&(_.isSymbolicLink=()=>!0),n(R,_)})})}e.read=t;function r(i,s){i(s)}function n(i,s){i(null,s)}}}),xQn=sa({"node_modules/@nodelib/fs.stat/out/providers/sync.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.read=void 0;function t(r,n){let i=n.fs.lstatSync(r);if(!i.isSymbolicLink()||!n.followSymbolicLink)return i;try{let s=n.fs.statSync(r);return n.markSymbolicLink&&(s.isSymbolicLink=()=>!0),s}catch(s){if(!n.throwErrorOnBrokenSymbolicLink)return i;throw s}}e.read=t}}),mQn=sa({"node_modules/@nodelib/fs.stat/out/adapters/fs.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createFileSystemAdapter=e.FILE_SYSTEM_ADAPTER=void 0;var t=Nc("fs");e.FILE_SYSTEM_ADAPTER={lstat:t.lstat,stat:t.stat,lstatSync:t.lstatSync,statSync:t.statSync};function r(n){return n===void 0?e.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},e.FILE_SYSTEM_ADAPTER),n)}e.createFileSystemAdapter=r}}),kQn=sa({"node_modules/@nodelib/fs.stat/out/settings.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=mQn(),r=class{constructor(n={}){this._options=n,this.followSymbolicLink=this._getValue(this._options.followSymbolicLink,!0),this.fs=t.createFileSystemAdapter(this._options.fs),this.markSymbolicLink=this._getValue(this._options.markSymbolicLink,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0)}_getValue(n,i){return n??i}};e.default=r}}),Hse=sa({"node_modules/@nodelib/fs.stat/out/index.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.statSync=e.stat=e.Settings=void 0;var t=dQn(),r=xQn(),n=kQn();e.Settings=n.default;function i(l,c,h){if(typeof c=="function"){t.read(l,R(),c);return}t.read(l,R(c),h)}e.stat=i;function s(l,c){let h=R(c);return r.read(l,h)}e.statSync=s;function R(l={}){return l instanceof n.default?l:new n.default(l)}}}),yQn=sa({"node_modules/queue-microtask/index.js"(e,t){var r;t.exports=typeof queueMicrotask=="function"?queueMicrotask.bind(typeof window<"u"?window:global):n=>(r||(r=Promise.resolve())).then(n).catch(i=>setTimeout(()=>{throw i},0))}}),qQn=sa({"node_modules/run-parallel/index.js"(e,t){t.exports=n;var r=yQn();function n(i,s){let R,l,c,h=!0;Array.isArray(i)?(R=[],l=i.length):(c=Object.keys(i),R={},l=c.length);function _(m){function x(){s&&s(m,R),s=null}h?r(x):x()}function f(m,x,y){R[m]=y,(--l===0||x)&&_(x)}l?c?c.forEach(function(m){i[m](function(x,y){f(m,x,y)})}):i.forEach(function(m,x){m(function(y,A){f(x,y,A)})}):_(null),h=!1}}}),chr=sa({"node_modules/@nodelib/fs.scandir/out/constants.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.IS_SUPPORT_READDIR_WITH_FILE_TYPES=void 0;var t=process.versions.node.split(".");if(t[0]===void 0||t[1]===void 0)throw new Error(`Unexpected behavior. The 'process.versions.node' variable has invalid value: ${process.versions.node}`);var r=Number.parseInt(t[0],10),n=Number.parseInt(t[1],10),i=10,s=10,R=r>i,l=r===i&&n>=s;e.IS_SUPPORT_READDIR_WITH_FILE_TYPES=R||l}}),CQn=sa({"node_modules/@nodelib/fs.scandir/out/utils/fs.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createDirentFromStats=void 0;var t=class{constructor(n,i){this.name=n,this.isBlockDevice=i.isBlockDevice.bind(i),this.isCharacterDevice=i.isCharacterDevice.bind(i),this.isDirectory=i.isDirectory.bind(i),this.isFIFO=i.isFIFO.bind(i),this.isFile=i.isFile.bind(i),this.isSocket=i.isSocket.bind(i),this.isSymbolicLink=i.isSymbolicLink.bind(i)}};function r(n,i){return new t(n,i)}e.createDirentFromStats=r}}),Thr=sa({"node_modules/@nodelib/fs.scandir/out/utils/index.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.fs=void 0;var t=CQn();e.fs=t}}),phr=sa({"node_modules/@nodelib/fs.scandir/out/providers/common.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.joinPathSegments=void 0;function t(r,n,i){return r.endsWith(i)?r+n:r+i+n}e.joinPathSegments=t}}),AQn=sa({"node_modules/@nodelib/fs.scandir/out/providers/async.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.readdir=e.readdirWithFileTypes=e.read=void 0;var t=Hse(),r=qQn(),n=chr(),i=Thr(),s=phr();function R(m,x,y){if(!x.stats&&n.IS_SUPPORT_READDIR_WITH_FILE_TYPES){l(m,x,y);return}h(m,x,y)}e.read=R;function l(m,x,y){x.fs.readdir(m,{withFileTypes:!0},(A,D)=>{if(A!==null){_(y,A);return}let S=D.map(M=>({dirent:M,name:M.name,path:s.joinPathSegments(m,M.name,x.pathSegmentSeparator)}));if(!x.followSymbolicLinks){f(y,S);return}let P=S.map(M=>c(M,x));r(P,(M,U)=>{if(M!==null){_(y,M);return}f(y,U)})})}e.readdirWithFileTypes=l;function c(m,x){return y=>{if(!m.dirent.isSymbolicLink()){y(null,m);return}x.fs.stat(m.path,(A,D)=>{if(A!==null){if(x.throwErrorOnBrokenSymbolicLink){y(A);return}y(null,m);return}m.dirent=i.fs.createDirentFromStats(m.name,D),y(null,m)})}}function h(m,x,y){x.fs.readdir(m,(A,D)=>{if(A!==null){_(y,A);return}let S=D.map(P=>{let M=s.joinPathSegments(m,P,x.pathSegmentSeparator);return U=>{t.stat(M,x.fsStatSettings,(w,F)=>{if(w!==null){U(w);return}let H={name:P,path:M,dirent:i.fs.createDirentFromStats(P,F)};x.stats&&(H.stats=F),U(null,H)})}});r(S,(P,M)=>{if(P!==null){_(y,P);return}f(y,M)})})}e.readdir=h;function _(m,x){m(x)}function f(m,x){m(null,x)}}}),gQn=sa({"node_modules/@nodelib/fs.scandir/out/providers/sync.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.readdir=e.readdirWithFileTypes=e.read=void 0;var t=Hse(),r=chr(),n=Thr(),i=phr();function s(c,h){return!h.stats&&r.IS_SUPPORT_READDIR_WITH_FILE_TYPES?R(c,h):l(c,h)}e.read=s;function R(c,h){return h.fs.readdirSync(c,{withFileTypes:!0}).map(f=>{let m={dirent:f,name:f.name,path:i.joinPathSegments(c,f.name,h.pathSegmentSeparator)};if(m.dirent.isSymbolicLink()&&h.followSymbolicLinks)try{let x=h.fs.statSync(m.path);m.dirent=n.fs.createDirentFromStats(m.name,x)}catch(x){if(h.throwErrorOnBrokenSymbolicLink)throw x}return m})}e.readdirWithFileTypes=R;function l(c,h){return h.fs.readdirSync(c).map(f=>{let m=i.joinPathSegments(c,f,h.pathSegmentSeparator),x=t.statSync(m,h.fsStatSettings),y={name:f,path:m,dirent:n.fs.createDirentFromStats(f,x)};return h.stats&&(y.stats=x),y})}e.readdir=l}}),bQn=sa({"node_modules/@nodelib/fs.scandir/out/adapters/fs.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.createFileSystemAdapter=e.FILE_SYSTEM_ADAPTER=void 0;var t=Nc("fs");e.FILE_SYSTEM_ADAPTER={lstat:t.lstat,stat:t.stat,lstatSync:t.lstatSync,statSync:t.statSync,readdir:t.readdir,readdirSync:t.readdirSync};function r(n){return n===void 0?e.FILE_SYSTEM_ADAPTER:Object.assign(Object.assign({},e.FILE_SYSTEM_ADAPTER),n)}e.createFileSystemAdapter=r}}),EQn=sa({"node_modules/@nodelib/fs.scandir/out/settings.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=Nc("path"),r=Hse(),n=bQn(),i=class{constructor(s={}){this._options=s,this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!1),this.fs=n.createFileSystemAdapter(this._options.fs),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,t.sep),this.stats=this._getValue(this._options.stats,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!0),this.fsStatSettings=new r.Settings({followSymbolicLink:this.followSymbolicLinks,fs:this.fs,throwErrorOnBrokenSymbolicLink:this.throwErrorOnBrokenSymbolicLink})}_getValue(s,R){return s??R}};e.default=i}}),n3t=sa({"node_modules/@nodelib/fs.scandir/out/index.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Settings=e.scandirSync=e.scandir=void 0;var t=AQn(),r=gQn(),n=EQn();e.Settings=n.default;function i(l,c,h){if(typeof c=="function"){t.read(l,R(),c);return}t.read(l,R(c),h)}e.scandir=i;function s(l,c){let h=R(c);return r.read(l,h)}e.scandirSync=s;function R(l={}){return l instanceof n.default?l:new n.default(l)}}}),OQn=sa({"node_modules/reusify/reusify.js"(e,t){"use strict";function r(n){var i=new n,s=i;function R(){var c=i;return c.next?i=c.next:(i=new n,s=i),c.next=null,c}function l(c){s.next=c,s=c}return{get:R,release:l}}t.exports=r}}),vQn=sa({"node_modules/fastq/queue.js"(e,t){"use strict";var r=OQn();function n(l,c,h){if(typeof l=="function"&&(h=c,c=l,l=null),!(h>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");var _=r(s),f=null,m=null,x=0,y=null,A={push:F,drain:i,saturated:i,pause:S,paused:!1,get concurrency(){return h},set concurrency(ve){if(!(ve>=1))throw new Error("fastqueue concurrency must be equal to or greater than 1");if(h=ve,!A.paused)for(;f&&x=h||A.paused?m?(m.next=Ue,m=Ue):(f=Ue,m=Ue,A.saturated()):(x++,c.call(l,Ue.value,Ue.worked))}function H(ve,Ae){var Ue=_.get();Ue.context=l,Ue.release=G,Ue.value=ve,Ue.callback=Ae||i,Ue.errorHandler=y,x>=h||A.paused?f?(Ue.next=f,f=Ue):(f=Ue,m=Ue,A.saturated()):(x++,c.call(l,Ue.value,Ue.worked))}function G(ve){ve&&_.release(ve);var Ae=f;Ae&&x<=h?A.paused?x--:(m===f&&(m=null),f=Ae.next,Ae.next=null,c.call(l,Ae.value,Ae.worked),m===null&&A.empty()):--x===0&&A.drain()}function ee(){f=null,m=null,A.drain=i}function fe(){f=null,m=null,A.drain(),A.drain=i}function me(ve){y=ve}}function i(){}function s(){this.value=null,this.callback=i,this.next=null,this.release=i,this.context=null,this.errorHandler=null;var l=this;this.worked=function(h,_){var f=l.callback,m=l.errorHandler,x=l.value;l.value=null,l.callback=i,l.errorHandler&&m(h,x),f.call(l.context,h,_),l.release(l)}}function R(l,c,h){typeof l=="function"&&(h=c,c=l,l=null);function _(S,P){c.call(this,S).then(function(M){P(null,M)},P)}var f=n(l,_,h),m=f.push,x=f.unshift;return f.push=y,f.unshift=A,f.drained=D,f;function y(S){var P=new Promise(function(M,U){m(S,function(w,F){if(w){U(w);return}M(F)})});return P.catch(i),P}function A(S){var P=new Promise(function(M,U){x(S,function(w,F){if(w){U(w);return}M(F)})});return P.catch(i),P}function D(){if(f.idle())return new Promise(function(M){M()});var S=f.drain,P=new Promise(function(M){f.drain=function(){S(),M()}});return P}}t.exports=n,t.exports.promise=R}}),i3t=sa({"node_modules/@nodelib/fs.walk/out/readers/common.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.joinPathSegments=e.replacePathSegmentSeparator=e.isAppliedFilter=e.isFatalError=void 0;function t(s,R){return s.errorFilter===null?!0:!s.errorFilter(R)}e.isFatalError=t;function r(s,R){return s===null||s(R)}e.isAppliedFilter=r;function n(s,R){return s.split(/[/\\]/).join(R)}e.replacePathSegmentSeparator=n;function i(s,R,l){return s===""?R:s.endsWith(l)?s+R:s+l+R}e.joinPathSegments=i}}),_hr=sa({"node_modules/@nodelib/fs.walk/out/readers/reader.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=i3t(),r=class{constructor(n,i){this._root=n,this._settings=i,this._root=t.replacePathSegmentSeparator(n,i.pathSegmentSeparator)}};e.default=r}}),hhr=sa({"node_modules/@nodelib/fs.walk/out/readers/async.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=Nc("events"),r=n3t(),n=vQn(),i=i3t(),s=_hr(),R=class extends s.default{constructor(l,c){super(l,c),this._settings=c,this._scandir=r.scandir,this._emitter=new t.EventEmitter,this._queue=n(this._worker.bind(this),this._settings.concurrency),this._isFatalError=!1,this._isDestroyed=!1,this._queue.drain=()=>{this._isFatalError||this._emitter.emit("end")}}read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()=>{this._pushToQueue(this._root,this._settings.basePath)}),this._emitter}get isDestroyed(){return this._isDestroyed}destroy(){if(this._isDestroyed)throw new Error("The reader is already destroyed");this._isDestroyed=!0,this._queue.killAndDrain()}onEntry(l){this._emitter.on("entry",l)}onError(l){this._emitter.once("error",l)}onEnd(l){this._emitter.once("end",l)}_pushToQueue(l,c){let h={directory:l,base:c};this._queue.push(h,_=>{_!==null&&this._handleError(_)})}_worker(l,c){this._scandir(l.directory,this._settings.fsScandirSettings,(h,_)=>{if(h!==null){c(h,void 0);return}for(let f of _)this._handleEntry(f,l.base);c(null,void 0)})}_handleError(l){this._isDestroyed||!i.isFatalError(this._settings,l)||(this._isFatalError=!0,this._isDestroyed=!0,this._emitter.emit("error",l))}_handleEntry(l,c){if(this._isDestroyed||this._isFatalError)return;let h=l.path;c!==void 0&&(l.path=i.joinPathSegments(c,l.name,this._settings.pathSegmentSeparator)),i.isAppliedFilter(this._settings.entryFilter,l)&&this._emitEntry(l),l.dirent.isDirectory()&&i.isAppliedFilter(this._settings.deepFilter,l)&&this._pushToQueue(h,c===void 0?void 0:l.path)}_emitEntry(l){this._emitter.emit("entry",l)}};e.default=R}}),DQn=sa({"node_modules/@nodelib/fs.walk/out/providers/async.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=hhr(),r=class{constructor(s,R){this._root=s,this._settings=R,this._reader=new t.default(this._root,this._settings),this._storage=[]}read(s){this._reader.onError(R=>{n(s,R)}),this._reader.onEntry(R=>{this._storage.push(R)}),this._reader.onEnd(()=>{i(s,this._storage)}),this._reader.read()}};e.default=r;function n(s,R){s(R)}function i(s,R){s(null,R)}}}),SQn=sa({"node_modules/@nodelib/fs.walk/out/providers/stream.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=Nc("stream"),r=hhr(),n=class{constructor(i,s){this._root=i,this._settings=s,this._reader=new r.default(this._root,this._settings),this._stream=new t.Readable({objectMode:!0,read:()=>{},destroy:()=>{this._reader.isDestroyed||this._reader.destroy()}})}read(){return this._reader.onError(i=>{this._stream.emit("error",i)}),this._reader.onEntry(i=>{this._stream.push(i)}),this._reader.onEnd(()=>{this._stream.push(null)}),this._reader.read(),this._stream}};e.default=n}}),$Qn=sa({"node_modules/@nodelib/fs.walk/out/readers/sync.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=n3t(),r=i3t(),n=_hr(),i=class extends n.default{constructor(){super(...arguments),this._scandir=t.scandirSync,this._storage=[],this._queue=new Set}read(){return this._pushToQueue(this._root,this._settings.basePath),this._handleQueue(),this._storage}_pushToQueue(s,R){this._queue.add({directory:s,base:R})}_handleQueue(){for(let s of this._queue.values())this._handleDirectory(s.directory,s.base)}_handleDirectory(s,R){try{let l=this._scandir(s,this._settings.fsScandirSettings);for(let c of l)this._handleEntry(c,R)}catch(l){this._handleError(l)}}_handleError(s){if(r.isFatalError(this._settings,s))throw s}_handleEntry(s,R){let l=s.path;R!==void 0&&(s.path=r.joinPathSegments(R,s.name,this._settings.pathSegmentSeparator)),r.isAppliedFilter(this._settings.entryFilter,s)&&this._pushToStorage(s),s.dirent.isDirectory()&&r.isAppliedFilter(this._settings.deepFilter,s)&&this._pushToQueue(l,R===void 0?void 0:s.path)}_pushToStorage(s){this._storage.push(s)}};e.default=i}}),QQn=sa({"node_modules/@nodelib/fs.walk/out/providers/sync.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=$Qn(),r=class{constructor(n,i){this._root=n,this._settings=i,this._reader=new t.default(this._root,this._settings)}read(){return this._reader.read()}};e.default=r}}),NQn=sa({"node_modules/@nodelib/fs.walk/out/settings.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=Nc("path"),r=n3t(),n=class{constructor(i={}){this._options=i,this.basePath=this._getValue(this._options.basePath,void 0),this.concurrency=this._getValue(this._options.concurrency,Number.POSITIVE_INFINITY),this.deepFilter=this._getValue(this._options.deepFilter,null),this.entryFilter=this._getValue(this._options.entryFilter,null),this.errorFilter=this._getValue(this._options.errorFilter,null),this.pathSegmentSeparator=this._getValue(this._options.pathSegmentSeparator,t.sep),this.fsScandirSettings=new r.Settings({followSymbolicLinks:this._options.followSymbolicLinks,fs:this._options.fs,pathSegmentSeparator:this._options.pathSegmentSeparator,stats:this._options.stats,throwErrorOnBrokenSymbolicLink:this._options.throwErrorOnBrokenSymbolicLink})}_getValue(i,s){return i??s}};e.default=n}}),a3t=sa({"node_modules/@nodelib/fs.walk/out/index.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Settings=e.walkStream=e.walkSync=e.walk=void 0;var t=DQn(),r=SQn(),n=QQn(),i=NQn();e.Settings=i.default;function s(h,_,f){if(typeof _=="function"){new t.default(h,c()).read(_);return}new t.default(h,c(_)).read(f)}e.walk=s;function R(h,_){let f=c(_);return new n.default(h,f).read()}e.walkSync=R;function l(h,_){let f=c(_);return new r.default(h,f).read()}e.walkStream=l;function c(h={}){return h instanceof i.default?h:new i.default(h)}}}),s3t=sa({"node_modules/fast-glob/out/readers/reader.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=Nc("path"),r=Hse(),n=ZW(),i=class{constructor(s){this._settings=s,this._fsStatSettings=new r.Settings({followSymbolicLink:this._settings.followSymbolicLinks,fs:this._settings.fs,throwErrorOnBrokenSymbolicLink:this._settings.followSymbolicLinks})}_getFullEntryPath(s){return t.resolve(this._settings.cwd,s)}_makeEntry(s,R){let l={name:R,path:R,dirent:n.fs.createDirentFromStats(R,s)};return this._settings.stats&&(l.stats=s),l}_isFatalError(s){return!n.errno.isEnoentCodeError(s)&&!this._settings.suppressErrors}};e.default=i}}),fhr=sa({"node_modules/fast-glob/out/readers/stream.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=Nc("stream"),r=Hse(),n=a3t(),i=s3t(),s=class extends i.default{constructor(){super(...arguments),this._walkStream=n.walkStream,this._stat=r.stat}dynamic(R,l){return this._walkStream(R,l)}static(R,l){let c=R.map(this._getFullEntryPath,this),h=new t.PassThrough({objectMode:!0});h._write=(_,f,m)=>this._getEntry(c[_],R[_],l).then(x=>{x!==null&&l.entryFilter(x)&&h.push(x),_===c.length-1&&h.end(),m()}).catch(m);for(let _=0;_this._makeEntry(h,l)).catch(h=>{if(c.errorFilter(h))return null;throw h})}_getStat(R){return new Promise((l,c)=>{this._stat(R,this._fsStatSettings,(h,_)=>h===null?l(_):c(h))})}};e.default=s}}),wQn=sa({"node_modules/fast-glob/out/readers/async.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=a3t(),r=s3t(),n=fhr(),i=class extends r.default{constructor(){super(...arguments),this._walkAsync=t.walk,this._readerStream=new n.default(this._settings)}dynamic(s,R){return new Promise((l,c)=>{this._walkAsync(s,R,(h,_)=>{h===null?l(_):c(h)})})}async static(s,R){let l=[],c=this._readerStream.static(s,R);return new Promise((h,_)=>{c.once("error",_),c.on("data",f=>l.push(f)),c.once("end",()=>h(l))})}};e.default=i}}),PQn=sa({"node_modules/fast-glob/out/providers/matchers/matcher.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=ZW(),r=class{constructor(n,i,s){this._patterns=n,this._settings=i,this._micromatchOptions=s,this._storage=[],this._fillStorage()}_fillStorage(){for(let n of this._patterns){let i=this._getPatternSegments(n),s=this._splitSegmentsIntoSections(i);this._storage.push({complete:s.length<=1,pattern:n,segments:i,sections:s})}}_getPatternSegments(n){return t.pattern.getPatternParts(n,this._micromatchOptions).map(s=>t.pattern.isDynamicPattern(s,this._settings)?{dynamic:!0,pattern:s,patternRe:t.pattern.makeRe(s,this._micromatchOptions)}:{dynamic:!1,pattern:s})}_splitSegmentsIntoSections(n){return t.array.splitWhen(n,i=>i.dynamic&&t.pattern.hasGlobStar(i.pattern))}};e.default=r}}),BQn=sa({"node_modules/fast-glob/out/providers/matchers/partial.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=PQn(),r=class extends t.default{match(n){let i=n.split("/"),s=i.length,R=this._storage.filter(l=>!l.complete||l.segments.length>s);for(let l of R){let c=l.sections[0];if(!l.complete&&s>c.length||i.every((_,f)=>{let m=l.segments[f];return!!(m.dynamic&&m.patternRe.test(_)||!m.dynamic&&m.pattern===_)}))return!0}return!1}};e.default=r}}),IQn=sa({"node_modules/fast-glob/out/providers/filters/deep.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=ZW(),r=BQn(),n=class{constructor(i,s){this._settings=i,this._micromatchOptions=s}getFilter(i,s,R){let l=this._getMatcher(s),c=this._getNegativePatternsRe(R);return h=>this._filter(i,h,l,c)}_getMatcher(i){return new r.default(i,this._settings,this._micromatchOptions)}_getNegativePatternsRe(i){let s=i.filter(t.pattern.isAffectDepthOfReadingPattern);return t.pattern.convertPatternsToRe(s,this._micromatchOptions)}_filter(i,s,R,l){if(this._isSkippedByDeep(i,s.path)||this._isSkippedSymbolicLink(s))return!1;let c=t.path.removeLeadingDotSegment(s.path);return this._isSkippedByPositivePatterns(c,R)?!1:this._isSkippedByNegativePatterns(c,l)}_isSkippedByDeep(i,s){return this._settings.deep===1/0?!1:this._getEntryLevel(i,s)>=this._settings.deep}_getEntryLevel(i,s){let R=s.split("/").length;if(i==="")return R;let l=i.split("/").length;return R-l}_isSkippedSymbolicLink(i){return!this._settings.followSymbolicLinks&&i.dirent.isSymbolicLink()}_isSkippedByPositivePatterns(i,s){return!this._settings.baseNameMatch&&!s.match(i)}_isSkippedByNegativePatterns(i,s){return!t.pattern.matchAny(i,s)}};e.default=n}}),MQn=sa({"node_modules/fast-glob/out/providers/filters/entry.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=ZW(),r=class{constructor(n,i){this._settings=n,this._micromatchOptions=i,this.index=new Map}getFilter(n,i){let s=t.pattern.convertPatternsToRe(n,this._micromatchOptions),R=t.pattern.convertPatternsToRe(i,Object.assign(Object.assign({},this._micromatchOptions),{dot:!0}));return l=>this._filter(l,s,R)}_filter(n,i,s){let R=t.path.removeLeadingDotSegment(n.path);if(this._settings.unique&&this._isDuplicateEntry(R)||this._onlyFileFilter(n)||this._onlyDirectoryFilter(n)||this._isSkippedByAbsoluteNegativePatterns(R,s))return!1;let l=n.dirent.isDirectory(),c=this._isMatchToPatterns(R,i,l)&&!this._isMatchToPatterns(R,s,l);return this._settings.unique&&c&&this._createIndexRecord(R),c}_isDuplicateEntry(n){return this.index.has(n)}_createIndexRecord(n){this.index.set(n,void 0)}_onlyFileFilter(n){return this._settings.onlyFiles&&!n.dirent.isFile()}_onlyDirectoryFilter(n){return this._settings.onlyDirectories&&!n.dirent.isDirectory()}_isSkippedByAbsoluteNegativePatterns(n,i){if(!this._settings.absolute)return!1;let s=t.path.makeAbsolute(this._settings.cwd,n);return t.pattern.matchAny(s,i)}_isMatchToPatterns(n,i,s){let R=t.pattern.matchAny(n,i);return!R&&s?t.pattern.matchAny(n+"/",i):R}};e.default=r}}),WQn=sa({"node_modules/fast-glob/out/providers/filters/error.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=ZW(),r=class{constructor(n){this._settings=n}getFilter(){return n=>this._isNonFatalError(n)}_isNonFatalError(n){return t.errno.isEnoentCodeError(n)||this._settings.suppressErrors}};e.default=r}}),UQn=sa({"node_modules/fast-glob/out/providers/transformers/entry.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=ZW(),r=class{constructor(n){this._settings=n}getTransformer(){return n=>this._transform(n)}_transform(n){let i=n.path;return this._settings.absolute&&(i=t.path.makeAbsolute(this._settings.cwd,i),i=t.path.unixify(i)),this._settings.markDirectories&&n.dirent.isDirectory()&&(i+="/"),this._settings.objectMode?Object.assign(Object.assign({},n),{path:i}):i}};e.default=r}}),o3t=sa({"node_modules/fast-glob/out/providers/provider.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=Nc("path"),r=IQn(),n=MQn(),i=WQn(),s=UQn(),R=class{constructor(l){this._settings=l,this.errorFilter=new i.default(this._settings),this.entryFilter=new n.default(this._settings,this._getMicromatchOptions()),this.deepFilter=new r.default(this._settings,this._getMicromatchOptions()),this.entryTransformer=new s.default(this._settings)}_getRootDirectory(l){return t.resolve(this._settings.cwd,l.base)}_getReaderOptions(l){let c=l.base==="."?"":l.base;return{basePath:c,pathSegmentSeparator:"/",concurrency:this._settings.concurrency,deepFilter:this.deepFilter.getFilter(c,l.positive,l.negative),entryFilter:this.entryFilter.getFilter(l.positive,l.negative),errorFilter:this.errorFilter.getFilter(),followSymbolicLinks:this._settings.followSymbolicLinks,fs:this._settings.fs,stats:this._settings.stats,throwErrorOnBrokenSymbolicLink:this._settings.throwErrorOnBrokenSymbolicLink,transform:this.entryTransformer.getTransformer()}}_getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._settings.baseNameMatch,nobrace:!this._settings.braceExpansion,nocase:!this._settings.caseSensitiveMatch,noext:!this._settings.extglob,noglobstar:!this._settings.globstar,posix:!0,strictSlashes:!1}}};e.default=R}}),FQn=sa({"node_modules/fast-glob/out/providers/async.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=wQn(),r=o3t(),n=class extends r.default{constructor(){super(...arguments),this._reader=new t.default(this._settings)}async read(i){let s=this._getRootDirectory(i),R=this._getReaderOptions(i);return(await this.api(s,i,R)).map(c=>R.transform(c))}api(i,s,R){return s.dynamic?this._reader.dynamic(i,R):this._reader.static(s.patterns,R)}};e.default=n}}),LQn=sa({"node_modules/fast-glob/out/providers/stream.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=Nc("stream"),r=fhr(),n=o3t(),i=class extends n.default{constructor(){super(...arguments),this._reader=new r.default(this._settings)}read(s){let R=this._getRootDirectory(s),l=this._getReaderOptions(s),c=this.api(R,s,l),h=new t.Readable({objectMode:!0,read:()=>{}});return c.once("error",_=>h.emit("error",_)).on("data",_=>h.emit("data",l.transform(_))).once("end",()=>h.emit("end")),h.once("close",()=>c.destroy()),h}api(s,R,l){return R.dynamic?this._reader.dynamic(s,l):this._reader.static(R.patterns,l)}};e.default=i}}),zQn=sa({"node_modules/fast-glob/out/readers/sync.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=Hse(),r=a3t(),n=s3t(),i=class extends n.default{constructor(){super(...arguments),this._walkSync=r.walkSync,this._statSync=t.statSync}dynamic(s,R){return this._walkSync(s,R)}static(s,R){let l=[];for(let c of s){let h=this._getFullEntryPath(c),_=this._getEntry(h,c,R);_===null||!R.entryFilter(_)||l.push(_)}return l}_getEntry(s,R,l){try{let c=this._getStat(s);return this._makeEntry(c,R)}catch(c){if(l.errorFilter(c))return null;throw c}}_getStat(s){return this._statSync(s,this._fsStatSettings)}};e.default=i}}),HQn=sa({"node_modules/fast-glob/out/providers/sync.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var t=zQn(),r=o3t(),n=class extends r.default{constructor(){super(...arguments),this._reader=new t.default(this._settings)}read(i){let s=this._getRootDirectory(i),R=this._getReaderOptions(i);return this.api(s,i,R).map(R.transform)}api(i,s,R){return s.dynamic?this._reader.dynamic(i,R):this._reader.static(s.patterns,R)}};e.default=n}}),YQn=sa({"node_modules/fast-glob/out/settings.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.DEFAULT_FILE_SYSTEM_ADAPTER=void 0;var t=Nc("fs"),r=Nc("os"),n=Math.max(r.cpus().length,1);e.DEFAULT_FILE_SYSTEM_ADAPTER={lstat:t.lstat,lstatSync:t.lstatSync,stat:t.stat,statSync:t.statSync,readdir:t.readdir,readdirSync:t.readdirSync};var i=class{constructor(s={}){this._options=s,this.absolute=this._getValue(this._options.absolute,!1),this.baseNameMatch=this._getValue(this._options.baseNameMatch,!1),this.braceExpansion=this._getValue(this._options.braceExpansion,!0),this.caseSensitiveMatch=this._getValue(this._options.caseSensitiveMatch,!0),this.concurrency=this._getValue(this._options.concurrency,n),this.cwd=this._getValue(this._options.cwd,process.cwd()),this.deep=this._getValue(this._options.deep,1/0),this.dot=this._getValue(this._options.dot,!1),this.extglob=this._getValue(this._options.extglob,!0),this.followSymbolicLinks=this._getValue(this._options.followSymbolicLinks,!0),this.fs=this._getFileSystemMethods(this._options.fs),this.globstar=this._getValue(this._options.globstar,!0),this.ignore=this._getValue(this._options.ignore,[]),this.markDirectories=this._getValue(this._options.markDirectories,!1),this.objectMode=this._getValue(this._options.objectMode,!1),this.onlyDirectories=this._getValue(this._options.onlyDirectories,!1),this.onlyFiles=this._getValue(this._options.onlyFiles,!0),this.stats=this._getValue(this._options.stats,!1),this.suppressErrors=this._getValue(this._options.suppressErrors,!1),this.throwErrorOnBrokenSymbolicLink=this._getValue(this._options.throwErrorOnBrokenSymbolicLink,!1),this.unique=this._getValue(this._options.unique,!0),this.onlyDirectories&&(this.onlyFiles=!1),this.stats&&(this.objectMode=!0),this.ignore=[].concat(this.ignore)}_getValue(s,R){return s===void 0?R:s}_getFileSystemMethods(s={}){return Object.assign(Object.assign({},e.DEFAULT_FILE_SYSTEM_ADAPTER),s)}};e.default=i}}),KQn=sa({"node_modules/fast-glob/out/index.js"(e,t){"use strict";var r=fQn(),n=FQn(),i=LQn(),s=HQn(),R=YQn(),l=ZW();async function c(f,m){_(f);let x=h(f,n.default,m),y=await Promise.all(x);return l.array.flatten(y)}(function(f){f.glob=f,f.globSync=m,f.globStream=x,f.async=f;function m(U,w){_(U);let F=h(U,s.default,w);return l.array.flatten(F)}f.sync=m;function x(U,w){_(U);let F=h(U,i.default,w);return l.stream.merge(F)}f.stream=x;function y(U,w){_(U);let F=[].concat(U),H=new R.default(w);return r.generate(F,H)}f.generateTasks=y;function A(U,w){_(U);let F=new R.default(w);return l.pattern.isDynamicPattern(U,F)}f.isDynamicPattern=A;function D(U){return _(U),l.path.escape(U)}f.escapePath=D;function S(U){return _(U),l.path.convertPathToPattern(U)}f.convertPathToPattern=S;let P;(function(U){function w(H){return _(H),l.path.escapePosixPath(H)}U.escapePath=w;function F(H){return _(H),l.path.convertPosixPathToPattern(H)}U.convertPathToPattern=F})(P=f.posix||(f.posix={}));let M;(function(U){function w(H){return _(H),l.path.escapeWindowsPath(H)}U.escapePath=w;function F(H){return _(H),l.path.convertWindowsPathToPattern(H)}U.convertPathToPattern=F})(M=f.win32||(f.win32={}))})(c||(c={}));function h(f,m,x){let y=[].concat(f),A=new R.default(x),D=r.generate(y,A),S=new m(A);return D.map(S.read,S)}function _(f){if(![].concat(f).every(y=>l.string.isString(y)&&!l.string.isEmpty(y)))throw new TypeError("Patterns must be a string (non empty) or an array of strings")}t.exports=c}}),dhr=sa({"node_modules/semver/internal/debug.js"(e,t){var r=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...n)=>console.error("SEMVER",...n):()=>{};t.exports=r}}),xhr=sa({"node_modules/semver/internal/constants.js"(e,t){var r="2.0.0",n=256,i=Number.MAX_SAFE_INTEGER||9007199254740991,s=16,R=n-6,l=["major","premajor","minor","preminor","patch","prepatch","prerelease"];t.exports={MAX_LENGTH:n,MAX_SAFE_COMPONENT_LENGTH:s,MAX_SAFE_BUILD_LENGTH:R,MAX_SAFE_INTEGER:i,RELEASE_TYPES:l,SEMVER_SPEC_VERSION:r,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}}}),GQn=sa({"node_modules/semver/internal/re.js"(e,t){var{MAX_SAFE_COMPONENT_LENGTH:r,MAX_SAFE_BUILD_LENGTH:n,MAX_LENGTH:i}=xhr(),s=dhr();e=t.exports={};var R=e.re=[],l=e.safeRe=[],c=e.src=[],h=e.t={},_=0,f="[a-zA-Z0-9-]",m=[["\\s",1],["\\d",i],[f,n]],x=A=>{for(let[D,S]of m)A=A.split(`${D}*`).join(`${D}{0,${S}}`).split(`${D}+`).join(`${D}{1,${S}}`);return A},y=(A,D,S)=>{let P=x(D),M=_++;s(A,M,D),h[A]=M,c[M]=D,R[M]=new RegExp(D,S?"g":void 0),l[M]=new RegExp(P,S?"g":void 0)};y("NUMERICIDENTIFIER","0|[1-9]\\d*"),y("NUMERICIDENTIFIERLOOSE","\\d+"),y("NONNUMERICIDENTIFIER",`\\d*[a-zA-Z-]${f}*`),y("MAINVERSION",`(${c[h.NUMERICIDENTIFIER]})\\.(${c[h.NUMERICIDENTIFIER]})\\.(${c[h.NUMERICIDENTIFIER]})`),y("MAINVERSIONLOOSE",`(${c[h.NUMERICIDENTIFIERLOOSE]})\\.(${c[h.NUMERICIDENTIFIERLOOSE]})\\.(${c[h.NUMERICIDENTIFIERLOOSE]})`),y("PRERELEASEIDENTIFIER",`(?:${c[h.NUMERICIDENTIFIER]}|${c[h.NONNUMERICIDENTIFIER]})`),y("PRERELEASEIDENTIFIERLOOSE",`(?:${c[h.NUMERICIDENTIFIERLOOSE]}|${c[h.NONNUMERICIDENTIFIER]})`),y("PRERELEASE",`(?:-(${c[h.PRERELEASEIDENTIFIER]}(?:\\.${c[h.PRERELEASEIDENTIFIER]})*))`),y("PRERELEASELOOSE",`(?:-?(${c[h.PRERELEASEIDENTIFIERLOOSE]}(?:\\.${c[h.PRERELEASEIDENTIFIERLOOSE]})*))`),y("BUILDIDENTIFIER",`${f}+`),y("BUILD",`(?:\\+(${c[h.BUILDIDENTIFIER]}(?:\\.${c[h.BUILDIDENTIFIER]})*))`),y("FULLPLAIN",`v?${c[h.MAINVERSION]}${c[h.PRERELEASE]}?${c[h.BUILD]}?`),y("FULL",`^${c[h.FULLPLAIN]}$`),y("LOOSEPLAIN",`[v=\\s]*${c[h.MAINVERSIONLOOSE]}${c[h.PRERELEASELOOSE]}?${c[h.BUILD]}?`),y("LOOSE",`^${c[h.LOOSEPLAIN]}$`),y("GTLT","((?:<|>)?=?)"),y("XRANGEIDENTIFIERLOOSE",`${c[h.NUMERICIDENTIFIERLOOSE]}|x|X|\\*`),y("XRANGEIDENTIFIER",`${c[h.NUMERICIDENTIFIER]}|x|X|\\*`),y("XRANGEPLAIN",`[v=\\s]*(${c[h.XRANGEIDENTIFIER]})(?:\\.(${c[h.XRANGEIDENTIFIER]})(?:\\.(${c[h.XRANGEIDENTIFIER]})(?:${c[h.PRERELEASE]})?${c[h.BUILD]}?)?)?`),y("XRANGEPLAINLOOSE",`[v=\\s]*(${c[h.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[h.XRANGEIDENTIFIERLOOSE]})(?:\\.(${c[h.XRANGEIDENTIFIERLOOSE]})(?:${c[h.PRERELEASELOOSE]})?${c[h.BUILD]}?)?)?`),y("XRANGE",`^${c[h.GTLT]}\\s*${c[h.XRANGEPLAIN]}$`),y("XRANGELOOSE",`^${c[h.GTLT]}\\s*${c[h.XRANGEPLAINLOOSE]}$`),y("COERCEPLAIN",`(^|[^\\d])(\\d{1,${r}})(?:\\.(\\d{1,${r}}))?(?:\\.(\\d{1,${r}}))?`),y("COERCE",`${c[h.COERCEPLAIN]}(?:$|[^\\d])`),y("COERCEFULL",c[h.COERCEPLAIN]+`(?:${c[h.PRERELEASE]})?(?:${c[h.BUILD]})?(?:$|[^\\d])`),y("COERCERTL",c[h.COERCE],!0),y("COERCERTLFULL",c[h.COERCEFULL],!0),y("LONETILDE","(?:~>?)"),y("TILDETRIM",`(\\s*)${c[h.LONETILDE]}\\s+`,!0),e.tildeTrimReplace="$1~",y("TILDE",`^${c[h.LONETILDE]}${c[h.XRANGEPLAIN]}$`),y("TILDELOOSE",`^${c[h.LONETILDE]}${c[h.XRANGEPLAINLOOSE]}$`),y("LONECARET","(?:\\^)"),y("CARETTRIM",`(\\s*)${c[h.LONECARET]}\\s+`,!0),e.caretTrimReplace="$1^",y("CARET",`^${c[h.LONECARET]}${c[h.XRANGEPLAIN]}$`),y("CARETLOOSE",`^${c[h.LONECARET]}${c[h.XRANGEPLAINLOOSE]}$`),y("COMPARATORLOOSE",`^${c[h.GTLT]}\\s*(${c[h.LOOSEPLAIN]})$|^$`),y("COMPARATOR",`^${c[h.GTLT]}\\s*(${c[h.FULLPLAIN]})$|^$`),y("COMPARATORTRIM",`(\\s*)${c[h.GTLT]}\\s*(${c[h.LOOSEPLAIN]}|${c[h.XRANGEPLAIN]})`,!0),e.comparatorTrimReplace="$1$2$3",y("HYPHENRANGE",`^\\s*(${c[h.XRANGEPLAIN]})\\s+-\\s+(${c[h.XRANGEPLAIN]})\\s*$`),y("HYPHENRANGELOOSE",`^\\s*(${c[h.XRANGEPLAINLOOSE]})\\s+-\\s+(${c[h.XRANGEPLAINLOOSE]})\\s*$`),y("STAR","(<|>)?=?\\s*\\*"),y("GTE0","^\\s*>=\\s*0\\.0\\.0\\s*$"),y("GTE0PRE","^\\s*>=\\s*0\\.0\\.0-0\\s*$")}}),VQn=sa({"node_modules/semver/internal/parse-options.js"(e,t){var r=Object.freeze({loose:!0}),n=Object.freeze({}),i=s=>s?typeof s!="object"?r:s:n;t.exports=i}}),jQn=sa({"node_modules/semver/internal/identifiers.js"(e,t){var r=/^[0-9]+$/,n=(s,R)=>{let l=r.test(s),c=r.test(R);return l&&c&&(s=+s,R=+R),s===R?0:l&&!c?-1:c&&!l?1:sn(R,s);t.exports={compareIdentifiers:n,rcompareIdentifiers:i}}}),JQn=sa({"node_modules/semver/classes/semver.js"(e,t){var r=dhr(),{MAX_LENGTH:n,MAX_SAFE_INTEGER:i}=xhr(),{safeRe:s,t:R}=GQn(),l=VQn(),{compareIdentifiers:c}=jQn(),h=class JD{constructor(f,m){if(m=l(m),f instanceof JD){if(f.loose===!!m.loose&&f.includePrerelease===!!m.includePrerelease)return f;f=f.version}else if(typeof f!="string")throw new TypeError(`Invalid version. Must be a string. Got type "${typeof f}".`);if(f.length>n)throw new TypeError(`version is longer than ${n} characters`);r("SemVer",f,m),this.options=m,this.loose=!!m.loose,this.includePrerelease=!!m.includePrerelease;let x=f.trim().match(m.loose?s[R.LOOSE]:s[R.FULL]);if(!x)throw new TypeError(`Invalid Version: ${f}`);if(this.raw=f,this.major=+x[1],this.minor=+x[2],this.patch=+x[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");x[4]?this.prerelease=x[4].split(".").map(y=>{if(/^[0-9]+$/.test(y)){let A=+y;if(A>=0&&A=0;)typeof this.prerelease[A]=="number"&&(this.prerelease[A]++,A=-2);if(A===-1){if(m===this.prerelease.join(".")&&x===!1)throw new Error("invalid increment argument: identifier already exists");this.prerelease.push(y)}}if(m){let A=[m,y];x===!1&&(A=[m]),c(this.prerelease[0],m)===0?isNaN(this.prerelease[1])&&(this.prerelease=A):this.prerelease=A}break}default:throw new Error(`invalid increment argument: ${f}`)}return this.raw=this.format(),this.build.length&&(this.raw+=`+${this.build.join(".")}`),this}};t.exports=h}}),XQn=sa({"node_modules/semver/functions/compare.js"(e,t){var r=JQn(),n=(i,s,R)=>new r(i,R).compare(new r(s,R));t.exports=n}}),ZQn=sa({"node_modules/semver/functions/gte.js"(e,t){var r=XQn(),n=(i,s,R)=>r(i,s,R)>=0;t.exports=n}}),eNn=sa({"node_modules/pseudomap/pseudomap.js"(e,t){var r=Object.prototype.hasOwnProperty;t.exports=n;function n(c){if(!(this instanceof n))throw new TypeError("Constructor PseudoMap requires 'new'");if(this.clear(),c)if(c instanceof n||typeof Map=="function"&&c instanceof Map)c.forEach(function(h,_){this.set(_,h)},this);else if(Array.isArray(c))c.forEach(function(h){this.set(h[0],h[1])},this);else throw new TypeError("invalid argument")}n.prototype.forEach=function(c,h){h=h||this,Object.keys(this._data).forEach(function(_){_!=="size"&&c.call(h,this._data[_].value,this._data[_].key)},this)},n.prototype.has=function(c){return!!R(this._data,c)},n.prototype.get=function(c){var h=R(this._data,c);return h&&h.value},n.prototype.set=function(c,h){l(this._data,c,h)},n.prototype.delete=function(c){var h=R(this._data,c);h&&(delete this._data[h._index],this._data.size--)},n.prototype.clear=function(){var c=Object.create(null);c.size=0,Object.defineProperty(this,"_data",{value:c,enumerable:!1,configurable:!0,writable:!1})},Object.defineProperty(n.prototype,"size",{get:function(){return this._data.size},set:function(c){},enumerable:!0,configurable:!0}),n.prototype.values=n.prototype.keys=n.prototype.entries=function(){throw new Error("iterators are not implemented in this version")};function i(c,h){return c===h||c!==c&&h!==h}function s(c,h,_){this.key=c,this.value=h,this._index=_}function R(c,h){for(var _=0,f="_"+h,m=f;r.call(c,m);m=f+_++)if(i(c[m].key,h))return c[m]}function l(c,h,_){for(var f=0,m="_"+h,x=m;r.call(c,x);x=m+f++)if(i(c[x].key,h)){c[x].value=_;return}c.size++,c[x]=new s(h,_,x)}}}),tNn=sa({"node_modules/pseudomap/map.js"(e,t){process.env.npm_package_name==="pseudomap"&&process.env.npm_lifecycle_script==="test"&&(process.env.TEST_PSEUDOMAP="true"),typeof Map=="function"&&!process.env.TEST_PSEUDOMAP?t.exports=Map:t.exports=eNn()}}),rNn=sa({"node_modules/yallist/yallist.js"(e,t){t.exports=r,r.Node=s,r.create=r;function r(R){var l=this;if(l instanceof r||(l=new r),l.tail=null,l.head=null,l.length=0,R&&typeof R.forEach=="function")R.forEach(function(_){l.push(_)});else if(arguments.length>0)for(var c=0,h=arguments.length;c1)c=l;else if(this.head)h=this.head.next,c=this.head.value;else throw new TypeError("Reduce of empty list with no initial value");for(var _=0;h!==null;_++)c=R(c,h.value,_),h=h.next;return c},r.prototype.reduceReverse=function(R,l){var c,h=this.tail;if(arguments.length>1)c=l;else if(this.tail)h=this.tail.prev,c=this.tail.value;else throw new TypeError("Reduce of empty list with no initial value");for(var _=this.length-1;h!==null;_--)c=R(c,h.value,_),h=h.prev;return c},r.prototype.toArray=function(){for(var R=new Array(this.length),l=0,c=this.head;c!==null;l++)R[l]=c.value,c=c.next;return R},r.prototype.toArrayReverse=function(){for(var R=new Array(this.length),l=0,c=this.tail;c!==null;l++)R[l]=c.value,c=c.prev;return R},r.prototype.slice=function(R,l){l=l||this.length,l<0&&(l+=this.length),R=R||0,R<0&&(R+=this.length);var c=new r;if(lthis.length&&(l=this.length);for(var h=0,_=this.head;_!==null&&hthis.length&&(l=this.length);for(var h=this.length,_=this.tail;_!==null&&h>l;h--)_=_.prev;for(;_!==null&&h>R;h--,_=_.prev)c.push(_.value);return c},r.prototype.reverse=function(){for(var R=this.head,l=this.tail,c=R;c!==null;c=c.prev){var h=c.prev;c.prev=c.next,c.next=h}return this.head=l,this.tail=R,this};function n(R,l){R.tail=new s(l,R.tail,null,R),R.head||(R.head=R.tail),R.length++}function i(R,l){R.head=new s(l,null,R.head,R),R.tail||(R.tail=R.head),R.length++}function s(R,l,c,h){if(!(this instanceof s))return new s(R,l,c,h);this.list=h,this.value=R,l?(l.next=this,this.prev=l):this.prev=null,c?(c.prev=this,this.next=c):this.next=null}}}),nNn=sa({"node_modules/lru-cache/index.js"(e,t){"use strict";t.exports=S;var r=tNn(),n=Nc("util"),i=rNn(),s=typeof Symbol=="function"&&process.env._nodeLRUCacheForceNoSymbol!=="1",R;s?R=function(G){return Symbol(G)}:R=function(G){return"_"+G};var l=R("max"),c=R("length"),h=R("lengthCalculator"),_=R("allowStale"),f=R("maxAge"),m=R("dispose"),x=R("noDisposeOnSet"),y=R("lruList"),A=R("cache");function D(){return 1}function S(G){if(!(this instanceof S))return new S(G);typeof G=="number"&&(G={max:G}),G||(G={});var ee=this[l]=G.max;(!ee||typeof ee!="number"||ee<=0)&&(this[l]=1/0);var fe=G.length||D;typeof fe!="function"&&(fe=D),this[h]=fe,this[_]=G.stale||!1,this[f]=G.maxAge||0,this[m]=G.dispose,this[x]=G.noDisposeOnSet||!1,this.reset()}Object.defineProperty(S.prototype,"max",{set:function(G){(!G||typeof G!="number"||G<=0)&&(G=1/0),this[l]=G,w(this)},get:function(){return this[l]},enumerable:!0}),Object.defineProperty(S.prototype,"allowStale",{set:function(G){this[_]=!!G},get:function(){return this[_]},enumerable:!0}),Object.defineProperty(S.prototype,"maxAge",{set:function(G){(!G||typeof G!="number"||G<0)&&(G=0),this[f]=G,w(this)},get:function(){return this[f]},enumerable:!0}),Object.defineProperty(S.prototype,"lengthCalculator",{set:function(G){typeof G!="function"&&(G=D),G!==this[h]&&(this[h]=G,this[c]=0,this[y].forEach(function(ee){ee.length=this[h](ee.value,ee.key),this[c]+=ee.length},this)),w(this)},get:function(){return this[h]},enumerable:!0}),Object.defineProperty(S.prototype,"length",{get:function(){return this[c]},enumerable:!0}),Object.defineProperty(S.prototype,"itemCount",{get:function(){return this[y].length},enumerable:!0}),S.prototype.rforEach=function(G,ee){ee=ee||this;for(var fe=this[y].tail;fe!==null;){var me=fe.prev;P(this,G,fe,ee),fe=me}};function P(G,ee,fe,me){var ve=fe.value;U(G,ve)&&(F(G,fe),G[_]||(ve=void 0)),ve&&ee.call(me,ve.value,ve.key,G)}S.prototype.forEach=function(G,ee){ee=ee||this;for(var fe=this[y].head;fe!==null;){var me=fe.next;P(this,G,fe,ee),fe=me}},S.prototype.keys=function(){return this[y].toArray().map(function(G){return G.key},this)},S.prototype.values=function(){return this[y].toArray().map(function(G){return G.value},this)},S.prototype.reset=function(){this[m]&&this[y]&&this[y].length&&this[y].forEach(function(G){this[m](G.key,G.value)},this),this[A]=new r,this[y]=new i,this[c]=0},S.prototype.dump=function(){return this[y].map(function(G){if(!U(this,G))return{k:G.key,v:G.value,e:G.now+(G.maxAge||0)}},this).toArray().filter(function(G){return G})},S.prototype.dumpLru=function(){return this[y]},S.prototype.inspect=function(G,ee){var fe="LRUCache {",me=!1,ve=this[_];ve&&(fe+=` + allowStale: true`,me=!0);var Ae=this[l];Ae&&Ae!==1/0&&(me&&(fe+=","),fe+=` + max: `+n.inspect(Ae,ee),me=!0);var Ue=this[f];Ue&&(me&&(fe+=","),fe+=` + maxAge: `+n.inspect(Ue,ee),me=!0);var Ee=this[h];Ee&&Ee!==D&&(me&&(fe+=","),fe+=` + length: `+n.inspect(this[c],ee),me=!0);var Me=!1;return this[y].forEach(function(gt){Me?fe+=`, + `:(me&&(fe+=`, +`),Me=!0,fe+=` + `);var xt=n.inspect(gt.key).split(` +`).join(` + `),Nt={value:gt.value};gt.maxAge!==Ue&&(Nt.maxAge=gt.maxAge),Ee!==D&&(Nt.length=gt.length),U(this,gt)&&(Nt.stale=!0),Nt=n.inspect(Nt,ee).split(` +`).join(` + `),fe+=xt+" => "+Nt}),(Me||me)&&(fe+=` +`),fe+="}",fe},S.prototype.set=function(G,ee,fe){fe=fe||this[f];var me=fe?Date.now():0,ve=this[h](ee,G);if(this[A].has(G)){if(ve>this[l])return F(this,this[A].get(G)),!1;var Ae=this[A].get(G),Ue=Ae.value;return this[m]&&(this[x]||this[m](G,Ue.value)),Ue.now=me,Ue.maxAge=fe,Ue.value=ee,this[c]+=ve-Ue.length,Ue.length=ve,this.get(G),w(this),!0}var Ee=new H(G,ee,ve,me,fe);return Ee.length>this[l]?(this[m]&&this[m](G,ee),!1):(this[c]+=Ee.length,this[y].unshift(Ee),this[A].set(G,this[y].head),w(this),!0)},S.prototype.has=function(G){if(!this[A].has(G))return!1;var ee=this[A].get(G).value;return!U(this,ee)},S.prototype.get=function(G){return M(this,G,!0)},S.prototype.peek=function(G){return M(this,G,!1)},S.prototype.pop=function(){var G=this[y].tail;return G?(F(this,G),G.value):null},S.prototype.del=function(G){F(this,this[A].get(G))},S.prototype.load=function(G){this.reset();for(var ee=Date.now(),fe=G.length-1;fe>=0;fe--){var me=G[fe],ve=me.e||0;if(ve===0)this.set(me.k,me.v);else{var Ae=ve-ee;Ae>0&&this.set(me.k,me.v,Ae)}}},S.prototype.prune=function(){var G=this;this[A].forEach(function(ee,fe){M(G,fe,!1)})};function M(G,ee,fe){var me=G[A].get(ee);if(me){var ve=me.value;U(G,ve)?(F(G,me),G[_]||(ve=void 0)):fe&&G[y].unshiftNode(me),ve&&(ve=ve.value)}return ve}function U(G,ee){if(!ee||!ee.maxAge&&!G[f])return!1;var fe=!1,me=Date.now()-ee.now;return ee.maxAge?fe=me>ee.maxAge:fe=G[f]&&me>G[f],fe}function w(G){if(G[c]>G[l])for(var ee=G[y].tail;G[c]>G[l]&&ee!==null;){var fe=ee.prev;F(G,ee),ee=fe}}function F(G,ee){if(ee){var fe=ee.value;G[m]&&G[m](fe.key,fe.value),G[c]-=fe.length,G[A].delete(fe.key),G[y].removeNode(ee)}}function H(G,ee,fe,me,ve){this.key=G,this.value=ee,this.length=fe,this.now=me,this.maxAge=ve||0}}}),iNn=sa({"node_modules/sigmund/sigmund.js"(e,t){t.exports=r;function r(n,i){i=i||10;var s=[],R="",l=RegExp;function c(h,_){if(!(_>i)&&!(typeof h=="function"||typeof h>"u")){if(typeof h!="object"||!h||h instanceof l){R+=h;return}s.indexOf(h)!==-1||_===i||(s.push(h),R+="{",Object.keys(h).forEach(function(f,m,x){if(f.charAt(0)!=="_"){var y=typeof h[f];y==="function"||y==="undefined"||(R+=f,c(h[f],_+1))}}))}}return c(n,0),R}}}),aNn=sa({"node_modules/editorconfig/src/lib/fnmatch.js"(e,t){var r=typeof process=="object"?process.platform:"win32";t?t.exports=P:e.minimatch=P,P.Minimatch=M;var n=nNn(),i=P.cache=new n({max:100}),s=P.GLOBSTAR=M.GLOBSTAR={},R=iNn(),l=Nc("path"),c="[^/]",h=c+"*?",_="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",f="(?:(?!(?:\\/|^)\\.).)*?",m=x("().*{}+?[]^$\\!");function x(Ae){return Ae.split("").reduce(function(Ue,Ee){return Ue[Ee]=!0,Ue},{})}var y=/\/+/;P.monkeyPatch=A;function A(){var Ae=Object.getOwnPropertyDescriptor(String.prototype,"match"),Ue=Ae.value;Ae.value=function(Ee){return Ee instanceof M?Ee.match(this):Ue.call(this,Ee)},Object.defineProperty(String.prototype,Ae)}P.filter=D;function D(Ae,Ue){return Ue=Ue||{},function(Ee,Me,gt){return P(Ee,Ae,Ue)}}function S(Ae,Ue){Ae=Ae||{},Ue=Ue||{};var Ee={};return Object.keys(Ue).forEach(function(Me){Ee[Me]=Ue[Me]}),Object.keys(Ae).forEach(function(Me){Ee[Me]=Ae[Me]}),Ee}P.defaults=function(Ae){if(!Ae||!Object.keys(Ae).length)return P;var Ue=P,Ee=function(gt,xt,Nt){return Ue.minimatch(gt,xt,S(Ae,Nt))};return Ee.Minimatch=function(gt,xt){return new Ue.Minimatch(gt,S(Ae,xt))},Ee},M.defaults=function(Ae){return!Ae||!Object.keys(Ae).length?M:P.defaults(Ae).Minimatch};function P(Ae,Ue,Ee){if(typeof Ue!="string")throw new TypeError("glob pattern string required");return Ee||(Ee={}),!Ee.nocomment&&Ue.charAt(0)==="#"?!1:Ue.trim()===""?Ae==="":new M(Ue,Ee).match(Ae)}function M(Ae,Ue){if(!(this instanceof M))return new M(Ae,Ue,i);if(typeof Ae!="string")throw new TypeError("glob pattern string required");Ue||(Ue={}),r==="win32"&&(Ae=Ae.split("\\").join("/"));var Ee=Ae+` +`+R(Ue),Me=P.cache.get(Ee);if(Me)return Me;P.cache.set(Ee,this),this.options=Ue,this.set=[],this.pattern=Ae,this.regexp=null,this.negate=!1,this.comment=!1,this.empty=!1,this.make()}M.prototype.make=U;function U(){if(!this._made){var Ae=this.pattern,Ue=this.options;if(!Ue.nocomment&&Ae.charAt(0)==="#"){this.comment=!0;return}if(!Ae){this.empty=!0;return}this.parseNegate();var Ee=this.globSet=this.braceExpand();Ue.debug&&console.error(this.pattern,Ee),Ee=this.globParts=Ee.map(function(Me){return Me.split(y)}),Ue.debug&&console.error(this.pattern,Ee),Ee=Ee.map(function(Me,gt,xt){return Me.map(this.parse,this)},this),Ue.debug&&console.error(this.pattern,Ee),Ee=Ee.filter(function(Me){return Me.indexOf(!1)===-1}),Ue.debug&&console.error(this.pattern,Ee),this.set=Ee}}M.prototype.parseNegate=w;function w(){var Ae=this.pattern,Ue=!1,Ee=this.options,Me=0;if(!Ee.nonegate){for(var gt=0,xt=Ae.length;gt"u"?this.pattern:Ae,typeof Ae>"u")throw new Error("undefined pattern");if(Ue.nobrace||!Ae.match(/\{.*\}/))return[Ae];var zr=!1;if(Ae.charAt(0)!=="{"){for(var Ee=null,Ut=0,Me=Ae.length;Utat?-1:1,ht=[],Ut=lt;Ut!=at+_t;Ut+=_t)for(var Ve=0,Dt=an.length;Ve0&&y[y.length-1])&&(P[0]===6||P[0]===2)){f=0;continue}if(P[0]===3&&(!y||P[1]>y[0]&&P[1]0&&Me[Me.length-1])&&(lt[0]===6||lt[0]===2)){Ae=0;continue}if(lt[0]===3&&(!Me||lt[1]>Me[0]&<[1]"u"||Ue===null)&&(Me=String(Ue)),me[Ee]=Me}return me}function P(me,ve,Ae){return y(me.reverse().reduce(function(Ue,Ee){var Me=R.dirname(Ee.name);return Ee.contents.forEach(function(gt){var xt=gt[0],Nt=gt[1];if(xt){var lt=D(Me,xt);m(ve,lt)&&(Ue=S(Ue,Nt))}}),Ue},{}),Ae.version)}function M(me){var ve=[];for(var Ae in me)if(me.hasOwnProperty(Ae)){var Ue=me[Ae],Ee=h.parseString(Ue.contents);if(ve.push({name:Ue.name,contents:Ee}),(Ee[0][1].root||"").toLowerCase()==="true")break}return ve}function U(me){return t(this,void 0,void 0,function(){return r(this,function(ve){return[2,Promise.all(me.map(function(Ae){return new Promise(function(Ue){s.readFile(Ae,"utf8",function(Ee,Me){Ue({name:Ae,contents:Ee?"":Me})})})}))]})})}function w(me){var ve=[],Ae;return me.forEach(function(Ue){try{Ae=s.readFileSync(Ue,"utf8")}catch{Ae=""}ve.push({name:Ue,contents:Ae})}),ve}function F(me,ve){ve===void 0&&(ve={});var Ae=R.resolve(me);return[Ae,A(ve,Ae)]}function H(me,ve,Ae){return Ae===void 0&&(Ae={}),t(this,void 0,void 0,function(){var Ue,Ee,Me;return r(this,function(gt){return Ue=F(me,Ae),Ee=Ue[0],Me=Ue[1],[2,ve.then(M).then(function(xt){return P(xt,Ee,Me)})]})})}e.parseFromFiles=H;function G(me,ve,Ae){Ae===void 0&&(Ae={});var Ue=F(me,Ae),Ee=Ue[0],Me=Ue[1];return P(M(ve),Ee,Me)}e.parseFromFilesSync=G;function ee(me,ve){return ve===void 0&&(ve={}),t(this,void 0,void 0,function(){var Ae,Ue,Ee,Me;return r(this,function(gt){return Ae=F(me,ve),Ue=Ae[0],Ee=Ae[1],Me=x(Ue,Ee),[2,U(Me).then(M).then(function(xt){return P(xt,Ue,Ee)})]})})}e.parse=ee;function fe(me,ve){ve===void 0&&(ve={});var Ae=F(me,ve),Ue=Ae[0],Ee=Ae[1],Me=x(Ue,Ee),gt=w(Me);return P(M(gt),Ue,Ee)}e.parseSync=fe}}),uNn=sa({"node_modules/ci-info/vendors.json"(e,t){t.exports=[{name:"Agola CI",constant:"AGOLA",env:"AGOLA_GIT_REF",pr:"AGOLA_PULL_REQUEST_ID"},{name:"Appcircle",constant:"APPCIRCLE",env:"AC_APPCIRCLE",pr:{env:"AC_GIT_PR",ne:"false"}},{name:"AppVeyor",constant:"APPVEYOR",env:"APPVEYOR",pr:"APPVEYOR_PULL_REQUEST_NUMBER"},{name:"AWS CodeBuild",constant:"CODEBUILD",env:"CODEBUILD_BUILD_ARN",pr:{env:"CODEBUILD_WEBHOOK_EVENT",any:["PULL_REQUEST_CREATED","PULL_REQUEST_UPDATED","PULL_REQUEST_REOPENED"]}},{name:"Azure Pipelines",constant:"AZURE_PIPELINES",env:"TF_BUILD",pr:{BUILD_REASON:"PullRequest"}},{name:"Bamboo",constant:"BAMBOO",env:"bamboo_planKey"},{name:"Bitbucket Pipelines",constant:"BITBUCKET",env:"BITBUCKET_COMMIT",pr:"BITBUCKET_PR_ID"},{name:"Bitrise",constant:"BITRISE",env:"BITRISE_IO",pr:"BITRISE_PULL_REQUEST"},{name:"Buddy",constant:"BUDDY",env:"BUDDY_WORKSPACE_ID",pr:"BUDDY_EXECUTION_PULL_REQUEST_ID"},{name:"Buildkite",constant:"BUILDKITE",env:"BUILDKITE",pr:{env:"BUILDKITE_PULL_REQUEST",ne:"false"}},{name:"CircleCI",constant:"CIRCLE",env:"CIRCLECI",pr:"CIRCLE_PULL_REQUEST"},{name:"Cirrus CI",constant:"CIRRUS",env:"CIRRUS_CI",pr:"CIRRUS_PR"},{name:"Codefresh",constant:"CODEFRESH",env:"CF_BUILD_ID",pr:{any:["CF_PULL_REQUEST_NUMBER","CF_PULL_REQUEST_ID"]}},{name:"Codemagic",constant:"CODEMAGIC",env:"CM_BUILD_ID",pr:"CM_PULL_REQUEST"},{name:"Codeship",constant:"CODESHIP",env:{CI_NAME:"codeship"}},{name:"Drone",constant:"DRONE",env:"DRONE",pr:{DRONE_BUILD_EVENT:"pull_request"}},{name:"dsari",constant:"DSARI",env:"DSARI"},{name:"Earthly",constant:"EARTHLY",env:"EARTHLY_CI"},{name:"Expo Application Services",constant:"EAS",env:"EAS_BUILD"},{name:"Gerrit",constant:"GERRIT",env:"GERRIT_PROJECT"},{name:"Gitea Actions",constant:"GITEA_ACTIONS",env:"GITEA_ACTIONS"},{name:"GitHub Actions",constant:"GITHUB_ACTIONS",env:"GITHUB_ACTIONS",pr:{GITHUB_EVENT_NAME:"pull_request"}},{name:"GitLab CI",constant:"GITLAB",env:"GITLAB_CI",pr:"CI_MERGE_REQUEST_ID"},{name:"GoCD",constant:"GOCD",env:"GO_PIPELINE_LABEL"},{name:"Google Cloud Build",constant:"GOOGLE_CLOUD_BUILD",env:"BUILDER_OUTPUT"},{name:"Harness CI",constant:"HARNESS",env:"HARNESS_BUILD_ID"},{name:"Heroku",constant:"HEROKU",env:{env:"NODE",includes:"/app/.heroku/node/bin/node"}},{name:"Hudson",constant:"HUDSON",env:"HUDSON_URL"},{name:"Jenkins",constant:"JENKINS",env:["JENKINS_URL","BUILD_ID"],pr:{any:["ghprbPullId","CHANGE_ID"]}},{name:"LayerCI",constant:"LAYERCI",env:"LAYERCI",pr:"LAYERCI_PULL_REQUEST"},{name:"Magnum CI",constant:"MAGNUM",env:"MAGNUM"},{name:"Netlify CI",constant:"NETLIFY",env:"NETLIFY",pr:{env:"PULL_REQUEST",ne:"false"}},{name:"Nevercode",constant:"NEVERCODE",env:"NEVERCODE",pr:{env:"NEVERCODE_PULL_REQUEST",ne:"false"}},{name:"Prow",constant:"PROW",env:"PROW_JOB_ID"},{name:"ReleaseHub",constant:"RELEASEHUB",env:"RELEASE_BUILD_ID"},{name:"Render",constant:"RENDER",env:"RENDER",pr:{IS_PULL_REQUEST:"true"}},{name:"Sail CI",constant:"SAIL",env:"SAILCI",pr:"SAIL_PULL_REQUEST_NUMBER"},{name:"Screwdriver",constant:"SCREWDRIVER",env:"SCREWDRIVER",pr:{env:"SD_PULL_REQUEST",ne:"false"}},{name:"Semaphore",constant:"SEMAPHORE",env:"SEMAPHORE",pr:"PULL_REQUEST_NUMBER"},{name:"Sourcehut",constant:"SOURCEHUT",env:{CI_NAME:"sourcehut"}},{name:"Strider CD",constant:"STRIDER",env:"STRIDER"},{name:"TaskCluster",constant:"TASKCLUSTER",env:["TASK_ID","RUN_ID"]},{name:"TeamCity",constant:"TEAMCITY",env:"TEAMCITY_VERSION"},{name:"Travis CI",constant:"TRAVIS",env:"TRAVIS",pr:{env:"TRAVIS_PULL_REQUEST",ne:"false"}},{name:"Vela",constant:"VELA",env:"VELA",pr:{VELA_PULL_REQUEST:"1"}},{name:"Vercel",constant:"VERCEL",env:{any:["NOW_BUILDER","VERCEL"]},pr:"VERCEL_GIT_PULL_REQUEST_ID"},{name:"Visual Studio App Center",constant:"APPCENTER",env:"APPCENTER_BUILD_ID"},{name:"Woodpecker",constant:"WOODPECKER",env:{CI:"woodpecker"},pr:{CI_BUILD_EVENT:"pull_request"}},{name:"Xcode Cloud",constant:"XCODE_CLOUD",env:"CI_XCODE_PROJECT",pr:"CI_PULL_REQUEST_NUMBER"},{name:"Xcode Server",constant:"XCODE_SERVER",env:"XCS"}]}}),lNn=sa({"node_modules/ci-info/index.js"(e){"use strict";var t=uNn(),r=process.env;Object.defineProperty(e,"_vendors",{value:t.map(function(s){return s.constant})}),e.name=null,e.isPR=null,e.id=null,t.forEach(function(s){let l=(Array.isArray(s.env)?s.env:[s.env]).every(function(c){return n(c)});e[s.constant]=l,l&&(e.name=s.name,e.isPR=i(s),e.id=s.constant)}),e.isCI=!!(r.CI!=="false"&&(r.BUILD_ID||r.BUILD_NUMBER||r.CI||r.CI_APP_ID||r.CI_BUILD_ID||r.CI_BUILD_NUMBER||r.CI_NAME||r.CONTINUOUS_INTEGRATION||r.RUN_ID||e.name));function n(s){return typeof s=="string"?!!r[s]:"env"in s?r[s.env]&&r[s.env].includes(s.includes):"any"in s?s.any.some(function(R){return!!r[R]}):Object.keys(s).every(function(R){return r[R]===s[R]})}function i(s){switch(typeof s.pr){case"string":return!!r[s.pr];case"object":return"env"in s.pr?"any"in s.pr?s.pr.any.some(function(R){return r[s.pr.env]===R}):s.pr.env in r&&r[s.pr.env]!==s.pr.ne:"any"in s.pr?s.pr.any.some(function(R){return!!r[R]}):n(s.pr);default:return null}}}}),cNn=sa({"node_modules/picocolors/picocolors.js"(e,t){var r=process||{},n=r.argv||[],i=r.env||{},s=!(i.NO_COLOR||n.includes("--no-color"))&&(!!i.FORCE_COLOR||n.includes("--color")||r.platform==="win32"||(r.stdout||{}).isTTY&&i.TERM!=="dumb"||!!i.CI),R=(h,_,f=h)=>m=>{let x=""+m,y=x.indexOf(_,h.length);return~y?h+l(x,_,f,y)+_:h+x+_},l=(h,_,f,m)=>{let x="",y=0;do x+=h.substring(y,m)+f,y=m+_.length,m=h.indexOf(_,y);while(~m);return x+h.substring(y)},c=(h=s)=>{let _=h?R:()=>String;return{isColorSupported:h,reset:_("\x1B[0m","\x1B[0m"),bold:_("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:_("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:_("\x1B[3m","\x1B[23m"),underline:_("\x1B[4m","\x1B[24m"),inverse:_("\x1B[7m","\x1B[27m"),hidden:_("\x1B[8m","\x1B[28m"),strikethrough:_("\x1B[9m","\x1B[29m"),black:_("\x1B[30m","\x1B[39m"),red:_("\x1B[31m","\x1B[39m"),green:_("\x1B[32m","\x1B[39m"),yellow:_("\x1B[33m","\x1B[39m"),blue:_("\x1B[34m","\x1B[39m"),magenta:_("\x1B[35m","\x1B[39m"),cyan:_("\x1B[36m","\x1B[39m"),white:_("\x1B[37m","\x1B[39m"),gray:_("\x1B[90m","\x1B[39m"),bgBlack:_("\x1B[40m","\x1B[49m"),bgRed:_("\x1B[41m","\x1B[49m"),bgGreen:_("\x1B[42m","\x1B[49m"),bgYellow:_("\x1B[43m","\x1B[49m"),bgBlue:_("\x1B[44m","\x1B[49m"),bgMagenta:_("\x1B[45m","\x1B[49m"),bgCyan:_("\x1B[46m","\x1B[49m"),bgWhite:_("\x1B[47m","\x1B[49m"),blackBright:_("\x1B[90m","\x1B[39m"),redBright:_("\x1B[91m","\x1B[39m"),greenBright:_("\x1B[92m","\x1B[39m"),yellowBright:_("\x1B[93m","\x1B[39m"),blueBright:_("\x1B[94m","\x1B[39m"),magentaBright:_("\x1B[95m","\x1B[39m"),cyanBright:_("\x1B[96m","\x1B[39m"),whiteBright:_("\x1B[97m","\x1B[39m"),bgBlackBright:_("\x1B[100m","\x1B[49m"),bgRedBright:_("\x1B[101m","\x1B[49m"),bgGreenBright:_("\x1B[102m","\x1B[49m"),bgYellowBright:_("\x1B[103m","\x1B[49m"),bgBlueBright:_("\x1B[104m","\x1B[49m"),bgMagentaBright:_("\x1B[105m","\x1B[49m"),bgCyanBright:_("\x1B[106m","\x1B[49m"),bgWhiteBright:_("\x1B[107m","\x1B[49m")}};t.exports=c(),t.exports.createColors=c}}),TNn=sa({"node_modules/js-tokens/index.js"(e){Object.defineProperty(e,"__esModule",{value:!0}),e.default=/((['"])(?:(?!\2|\\).|\\(?:\r\n|[\s\S]))*(\2)?|`(?:[^`\\$]|\\[\s\S]|\$(?!\{)|\$\{(?:[^{}]|\{[^}]*\}?)*\}?)*(`)?)|(\/\/.*)|(\/\*(?:[^*]|\*(?!\/))*(\*\/)?)|(\/(?!\*)(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\]\\]).|\\.)+\/(?:(?!\s*(?:\b|[\u0080-\uFFFF$\\'"~({]|[+\-!](?!=)|\.?\d))|[gmiyus]{1,6}\b(?![\u0080-\uFFFF$\\]|\s*(?:[+\-*%&|^<>!=?({]|\/(?![\/*])))))|(0[xX][\da-fA-F]+|0[oO][0-7]+|0[bB][01]+|(?:\d*\.\d+|\d+\.?)(?:[eE][+-]?\d+)?)|((?!\d)(?:(?!\s)[$\w\u0080-\uFFFF]|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+)|(--|\+\+|&&|\|\||=>|\.{3}|(?:[+\-\/%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2})=?|[?~.,:;[\](){}])|(\s+)|(^$|[\s\S])/g,e.matchToToken=function(t){var r={type:"invalid",value:t[0],closed:void 0};return t[1]?(r.type="string",r.closed=!!(t[3]||t[4])):t[5]?r.type="comment":t[6]?(r.type="comment",r.closed=!!t[7]):t[8]?r.type="regex":t[9]?r.type="number":t[10]?r.type="name":t[11]?r.type="punctuator":t[12]&&(r.type="whitespace"),r}}}),pNn=sa({"node_modules/@babel/helper-validator-identifier/lib/identifier.js"(e){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.isIdentifierChar=h,e.isIdentifierName=_,e.isIdentifierStart=c;var t="\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC",r="\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65",n=new RegExp("["+t+"]"),i=new RegExp("["+t+r+"]");t=r=null;var s=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],R=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239];function l(f,m){let x=65536;for(let y=0,A=m.length;yf)return!1;if(x+=m[y+1],x>=f)return!0}return!1}function c(f){return f<65?f===36:f<=90?!0:f<97?f===95:f<=122?!0:f<=65535?f>=170&&n.test(String.fromCharCode(f)):l(f,s)}function h(f){return f<48?f===36:f<58?!0:f<65?!1:f<=90?!0:f<97?f===95:f<=122?!0:f<=65535?f>=170&&i.test(String.fromCharCode(f)):l(f,s)||l(f,R)}function _(f){let m=!0;for(let x=0;xF=>U(w(F));function R(U){return{keyword:U.cyan,capitalized:U.yellow,jsxIdentifier:U.yellow,punctuator:U.yellow,number:U.magenta,string:U.green,regex:U.magenta,comment:U.gray,invalid:s(s(U.white,U.bgRed),U.bold),gutter:U.gray,marker:s(U.red,U.bold),message:s(U.red,U.bold),reset:U.reset}}var l=R(t.createColors(!0)),c=R(t.createColors(!1));function h(U){return U?l:c}var _=new Set(["as","async","from","get","of","set"]),f=/\r\n|[\n\r\u2028\u2029]/,m=/^[()[\]{}]$/,x;{let U=/^[a-z][\w-]*$/i,w=function(F,H,G){if(F.type==="name"){if(n.isKeyword(F.value)||n.isStrictReservedWord(F.value,!0)||_.has(F.value))return"keyword";if(U.test(F.value)&&(G[H-1]==="<"||G.slice(H-2,H)==="w[H](ee)).join(` +`):F+=G;return F}var A=!1,D=/\r\n|[\n\r\u2028\u2029]/;function S(U,w,F){let H=Object.assign({column:0,line:-1},U.start),G=Object.assign({},H,U.end),{linesAbove:ee=2,linesBelow:fe=3}=F||{},me=H.line,ve=H.column,Ae=G.line,Ue=G.column,Ee=Math.max(me-(ee+1),0),Me=Math.min(w.length,Ae+fe);me===-1&&(Ee=0),Ae===-1&&(Me=w.length);let gt=Ae-me,xt={};if(gt)for(let Nt=0;Nt<=gt;Nt++){let lt=Nt+me;if(!ve)xt[lt]=!0;else if(Nt===0){let at=w[lt-1].length;xt[lt]=[ve,at-ve+1]}else if(Nt===gt)xt[lt]=[0,Ue];else{let at=w[lt-Nt].length;xt[lt]=[0,at]}}else ve===Ue?ve?xt[me]=[ve,0]:xt[me]=!0:xt[me]=[ve,Ue-ve];return{start:Ee,end:Me,markerLines:xt}}function P(U,w,F={}){let H=F.forceColor||i()&&F.highlightCode,G=h(H),ee=U.split(D),{start:fe,end:me,markerLines:ve}=S(w,ee,F),Ae=w.start&&typeof w.start.column=="number",Ue=String(me).length,Me=(H?y(U):U).split(D,me).slice(fe,me).map((gt,xt)=>{let Nt=fe+1+xt,at=` ${` ${Nt}`.slice(-Ue)} |`,_t=ve[Nt],Ve=!ve[Nt+1];if(_t){let Dt="";if(Array.isArray(_t)){let Ut=gt.slice(0,Math.max(_t[0]-1,0)).replace(/[^\t]/g," "),pt=_t[1]||1;Dt=[` + `,G.gutter(at.replace(/\d/g," "))," ",Ut,G.marker("^").repeat(pt)].join(""),Ve&&F.message&&(Dt+=" "+G.message(F.message))}return[G.marker(">"),G.gutter(at),gt.length>0?` ${gt}`:"",Dt].join("")}else return` ${G.gutter(at)}${gt.length>0?` ${gt}`:""}`}).join(` +`);return F.message&&!Ae&&(Me=`${" ".repeat(Ue+1)}${F.message} +${Me}`),H?G.reset(Me):Me}function M(U,w,F,H={}){if(!A){A=!0;let ee="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";if(process.emitWarning)process.emitWarning(ee,"DeprecationWarning");else{let fe=new Error(ee);fe.name="DeprecationWarning",console.warn(new Error(ee))}}return F=Math.max(F,0),P(U,{start:{column:F,line:w}},H)}e.codeFrameColumns=P,e.default=M,e.highlight=y}}),fNn=sa({"node_modules/ignore/index.js"(e,t){function r(xt){return Array.isArray(xt)?xt:[xt]}var n="",i=" ",s="\\",R=/^\s+$/,l=/(?:[^\\]|^)\\$/,c=/^\\!/,h=/^\\#/,_=/\r?\n/g,f=/^\.*\/|^\.+$/,m="/",x="node-ignore";typeof Symbol<"u"&&(x=Symbol.for("node-ignore"));var y=x,A=(xt,Nt,lt)=>Object.defineProperty(xt,Nt,{value:lt}),D=/([0-z])-([0-z])/g,S=()=>!1,P=xt=>xt.replace(D,(Nt,lt,at)=>lt.charCodeAt(0)<=at.charCodeAt(0)?Nt:n),M=xt=>{let{length:Nt}=xt;return xt.slice(0,Nt-Nt%2)},U=[[/^\uFEFF/,()=>n],[/((?:\\\\)*?)(\\?\s+)$/,(xt,Nt,lt)=>Nt+(lt.indexOf("\\")===0?i:n)],[/(\\+?)\s/g,(xt,Nt)=>{let{length:lt}=Nt;return Nt.slice(0,lt-lt%2)+i}],[/[\\$.|*+(){^]/g,xt=>`\\${xt}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(xt,Nt,lt)=>Nt+6{let at=lt.replace(/\\\*/g,"[^\\/]*");return Nt+at}],[/\\\\\\(?=[$.|*+(){^])/g,()=>s],[/\\\\/g,()=>s],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(xt,Nt,lt,at,_t)=>Nt===s?`\\[${lt}${M(at)}${_t}`:_t==="]"&&at.length%2===0?`[${P(lt)}${at}]`:"[]"],[/(?:[^*])$/,xt=>/\/$/.test(xt)?`${xt}$`:`${xt}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(xt,Nt)=>`${Nt?`${Nt}[^/]+`:"[^/]*"}(?=$|\\/$)`]],w=Object.create(null),F=(xt,Nt)=>{let lt=w[xt];return lt||(lt=U.reduce((at,[_t,Ve])=>at.replace(_t,Ve.bind(xt)),xt),w[xt]=lt),Nt?new RegExp(lt,"i"):new RegExp(lt)},H=xt=>typeof xt=="string",G=xt=>xt&&H(xt)&&!R.test(xt)&&!l.test(xt)&&xt.indexOf("#")!==0,ee=xt=>xt.split(_),fe=class{constructor(xt,Nt,lt,at){this.origin=xt,this.pattern=Nt,this.negative=lt,this.regex=at}},me=(xt,Nt)=>{let lt=xt,at=!1;xt.indexOf("!")===0&&(at=!0,xt=xt.substr(1)),xt=xt.replace(c,"!").replace(h,"#");let _t=F(xt,Nt);return new fe(lt,xt,at,_t)},ve=(xt,Nt)=>{throw new Nt(xt)},Ae=(xt,Nt,lt)=>H(xt)?xt?Ae.isNotRelative(xt)?lt(`path should be a \`path.relative()\`d string, but got "${Nt}"`,RangeError):!0:lt("path must not be empty",TypeError):lt(`path must be a string, but got \`${Nt}\``,TypeError),Ue=xt=>f.test(xt);Ae.isNotRelative=Ue,Ae.convert=xt=>xt;var Ee=class{constructor({ignorecase:xt=!0,ignoreCase:Nt=xt,allowRelativePaths:lt=!1}={}){A(this,y,!0),this._rules=[],this._ignoreCase=Nt,this._allowRelativePaths=lt,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(xt){if(xt&&xt[y]){this._rules=this._rules.concat(xt._rules),this._added=!0;return}if(G(xt)){let Nt=me(xt,this._ignoreCase);this._added=!0,this._rules.push(Nt)}}add(xt){return this._added=!1,r(H(xt)?ee(xt):xt).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(xt){return this.add(xt)}_testOne(xt,Nt){let lt=!1,at=!1;return this._rules.forEach(_t=>{let{negative:Ve}=_t;if(at===Ve&<!==at||Ve&&!lt&&!at&&!Nt)return;_t.regex.test(xt)&&(lt=!Ve,at=Ve)}),{ignored:lt,unignored:at}}_test(xt,Nt,lt,at){let _t=xt&&Ae.convert(xt);return Ae(_t,xt,this._allowRelativePaths?S:ve),this._t(_t,Nt,lt,at)}_t(xt,Nt,lt,at){if(xt in Nt)return Nt[xt];if(at||(at=xt.split(m)),at.pop(),!at.length)return Nt[xt]=this._testOne(xt,lt);let _t=this._t(at.join(m)+m,Nt,lt,at);return Nt[xt]=_t.ignored?_t:this._testOne(xt,lt)}ignores(xt){return this._test(xt,this._ignoreCache,!1).ignored}createFilter(){return xt=>!this.ignores(xt)}filter(xt){return r(xt).filter(this.createFilter())}test(xt){return this._test(xt,this._testCache,!0)}},Me=xt=>new Ee(xt),gt=xt=>Ae(xt&&Ae.convert(xt),xt,S);if(Me.isPathValid=gt,Me.default=Me,t.exports=Me,typeof process<"u"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let xt=lt=>/^\\\\\?\\/.test(lt)||/["<>|\u0000-\u001F]+/u.test(lt)?lt:lt.replace(/\\/g,"/");Ae.convert=xt;let Nt=/^[a-z]:\//i;Ae.isNotRelative=lt=>Nt.test(lt)||Ue(lt)}}}),dNn=sa({"node_modules/n-readlines/readlines.js"(e,t){"use strict";var r=Nc("fs"),n=class{constructor(i,s){s=s||{},s.readChunk||(s.readChunk=1024),s.newLineCharacter?s.newLineCharacter=s.newLineCharacter.charCodeAt(0):s.newLineCharacter=10,typeof i=="number"?this.fd=i:this.fd=r.openSync(i,"r"),this.options=s,this.newLineCharacter=s.newLineCharacter,this.reset()}_searchInBuffer(i,s){let R=-1;for(let l=0;l<=i.length;l++)if(i[l]===s){R=l;break}return R}reset(){this.eofReached=!1,this.linesCache=[],this.fdPosition=0}close(){r.closeSync(this.fd),this.fd=null}_extractLines(i){let s,R=[],l=0,c=0;for(;;){let _=i[l++];if(_===this.newLineCharacter)s=i.slice(c,l),R.push(s),c=l;else if(_===void 0)break}let h=i.slice(c,l);return h.length&&R.push(h),R}_readChunk(i){let s=0,R,l=[];do{let h=Buffer.alloc(this.options.readChunk);R=r.readSync(this.fd,h,0,this.options.readChunk,this.fdPosition),s=s+R,this.fdPosition=this.fdPosition+R,l.push(h)}while(R&&this._searchInBuffer(l[l.length-1],this.options.newLineCharacter)===-1);let c=Buffer.concat(l);return RJfr,__internal:()=>jfr,check:()=>Yfr,clearConfigCache:()=>Kfr,doc:()=>Qqe,format:()=>M3t,formatWithCursor:()=>I3t,getFileInfo:()=>Gfr,getSupportInfo:()=>Vfr,resolveConfig:()=>A3t,resolveConfigFile:()=>ffr,util:()=>Q3t,version:()=>Hfr});qO.prototype={diff:function(t,r){var n,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=i.callback;typeof i=="function"&&(s=i,i={});var R=this;function l(U){return U=R.postProcess(U,i),s?(setTimeout(function(){s(U)},0),!0):U}t=this.castInput(t,i),r=this.castInput(r,i),t=this.removeEmpty(this.tokenize(t,i)),r=this.removeEmpty(this.tokenize(r,i));var c=r.length,h=t.length,_=1,f=c+h;i.maxEditLength!=null&&(f=Math.min(f,i.maxEditLength));var m=(n=i.timeout)!==null&&n!==void 0?n:1/0,x=Date.now()+m,y=[{oldPos:-1,lastComponent:void 0}],A=this.extractCommon(y[0],r,t,0,i);if(y[0].oldPos+1>=h&&A+1>=c)return l(Wpr(R,y[0].lastComponent,r,t,R.useLongestToken));var D=-1/0,S=1/0;function P(){for(var U=Math.max(D,-_);U<=Math.min(S,_);U+=2){var w=void 0,F=y[U-1],H=y[U+1];F&&(y[U-1]=void 0);var G=!1;if(H){var ee=H.oldPos-U;G=H&&0<=ee&&ee=h&&A+1>=c)return l(Wpr(R,w.lastComponent,r,t,R.useLongestToken));y[U]=w,w.oldPos+1>=h&&(S=Math.min(S,U-1)),A+1>=c&&(D=Math.max(D,U+1))}_++}if(s)(function U(){setTimeout(function(){if(_>f||Date.now()>x)return s();P()||U()},0)})();else for(;_<=f&&Date.now()<=x;){var M=P();if(M)return M}},addToPath:function(t,r,n,i,s){var R=t.lastComponent;return R&&!s.oneChangePerToken&&R.added===r&&R.removed===n?{oldPos:t.oldPos+i,lastComponent:{count:R.count+1,added:r,removed:n,previousComponent:R.previousComponent}}:{oldPos:t.oldPos+i,lastComponent:{count:1,added:r,removed:n,previousComponent:R}}},extractCommon:function(t,r,n,i,s){for(var R=r.length,l=n.length,c=t.oldPos,h=c-i,_=0;h+11&&arguments[1]!==void 0?arguments[1]:{},r;if(t.intlSegmenter){if(t.intlSegmenter.resolvedOptions().granularity!="word")throw new Error('The segmenter passed must have a granularity of "word"');r=Array.from(t.intlSegmenter.segment(e),function(s){return s.segment})}else r=e.match(mNn)||[];var n=[],i=null;return r.forEach(function(s){/\s/.test(s)?i==null?n.push(s):n.push(n.pop()+s):/\s/.test(i)?n[n.length-1]==i?n.push(n.pop()+s):n.push(i+s):n.push(s),i=s}),n};BAe.join=function(e){return e.map(function(t,r){return r==0?t:t.replace(/^\s+/,"")}).join("")};BAe.postProcess=function(e,t){if(!e||t.oneChangePerToken)return e;var r=null,n=null,i=null;return e.forEach(function(s){s.added?n=s:s.removed?i=s:((n||i)&&zpr(r,i,n,s),r=s,n=null,i=null)}),(n||i)&&zpr(r,i,n,null),e};kNn=new qO;kNn.tokenize=function(e){var t=new RegExp("(\\r?\\n)|[".concat(yAe,"]+|[^\\S\\n\\r]+|[^").concat(yAe,"]"),"ug");return e.match(t)||[]};IAe=new qO;IAe.tokenize=function(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,` +`));var r=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(var i=0;i"u"?r:R}:n;return typeof e=="string"?e:JSON.stringify(SAt(e,null,null,i),i," ")};Yde.equals=function(e,t,r){return qO.prototype.equals.call(Yde,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"),r)};CAe=new qO;CAe.tokenize=function(e){return e.slice()};CAe.join=CAe.removeEmpty=function(e){return e};QNn=XW(KQn(),1),iZ={key:e=>/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e)?e:JSON.stringify(e),value(e){if(e===null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(r=>iZ.value(r)).join(", ")}]`;let t=Object.keys(e);return t.length===0?"{}":`{ ${t.map(r=>`${iZ.key(r)}: ${iZ.value(e[r])}`).join(", ")} }`},pair:({key:e,value:t})=>iZ.value({[e]:t})},lAt=10,Gpr=(e=0)=>t=>`\x1B[${t+e}m`,Vpr=(e=0)=>t=>`\x1B[${38+e};5;${t}m`,jpr=(e=0)=>(t,r,n)=>`\x1B[${38+e};2;${t};${r};${n}m`,Dp={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},yxi=Object.keys(Dp.modifier),NNn=Object.keys(Dp.color),wNn=Object.keys(Dp.bgColor),qxi=[...NNn,...wNn];BNn=PNn(),ZD=BNn;({env:p_}=R3t);kg("no-color")||kg("no-colors")||kg("color=false")||kg("color=never")?AAe=0:(kg("color")||kg("colors")||kg("color=true")||kg("color=always"))&&(AAe=1);FNn={stdout:Xpr({isTTY:Jpr.isatty(1)}),stderr:Xpr({isTTY:Jpr.isatty(2)})},LNn=FNn;({stdout:Zpr,stderr:e_r}=LNn),QAt=Symbol("GENERATOR"),Wse=Symbol("STYLER"),Kde=Symbol("IS_EMPTY"),t_r=["ansi","ansi","ansi256","ansi16m"],Use=Object.create(null),YNn=(e,t={})=>{if(t.level&&!(Number.isInteger(t.level)&&t.level>=0&&t.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let r=Zpr?Zpr.level:0;e.level=t.level===void 0?r:t.level},KNn=e=>{let t=(...r)=>r.join(" ");return YNn(t,e),Object.setPrototypeOf(t,Jde.prototype),t};Object.setPrototypeOf(Jde.prototype,Function.prototype);for(let[e,t]of Object.entries(ZD))Use[e]={get(){let r=gAe(this,wAt(t.open,t.close,this[Wse]),this[Kde]);return Object.defineProperty(this,e,{value:r}),r}};Use.visible={get(){let e=gAe(this,this[Wse],!0);return Object.defineProperty(this,"visible",{value:e}),e}};NAt=(e,t,r,...n)=>e==="rgb"?t==="ansi16m"?ZD[r].ansi16m(...n):t==="ansi256"?ZD[r].ansi256(ZD.rgbToAnsi256(...n)):ZD[r].ansi(ZD.rgbToAnsi(...n)):e==="hex"?NAt("rgb",t,r,...ZD.hexToRgb(...n)):ZD[r][e](...n),GNn=["rgb","hex","ansi256"];for(let e of GNn){Use[e]={get(){let{level:r}=this;return function(...n){let i=wAt(NAt(e,t_r[r],"color",...n),ZD.color.close,this[Wse]);return gAe(this,i,this[Kde])}}};let t="bg"+e[0].toUpperCase()+e.slice(1);Use[t]={get(){let{level:r}=this;return function(...n){let i=wAt(NAt(e,t_r[r],"bgColor",...n),ZD.bgColor.close,this[Wse]);return gAe(this,i,this[Kde])}}}}VNn=Object.defineProperties(()=>{},{...Use,level:{enumerable:!0,get(){return this[QAt].level},set(e){this[QAt].level=e}}}),wAt=(e,t,r)=>{let n,i;return r===void 0?(n=e,i=t):(n=r.openAll+e,i=t+r.closeAll),{open:e,close:t,openAll:n,closeAll:i,parent:r}},gAe=(e,t,r)=>{let n=(...i)=>jNn(n,i.length===1?""+i[0]:i.join(" "));return Object.setPrototypeOf(n,VNn),n[QAt]=e,n[Wse]=t,n[Kde]=r,n},jNn=(e,t)=>{if(e.level<=0||!t)return e[Kde]?"":t;let r=e[Wse];if(r===void 0)return t;let{openAll:n,closeAll:i}=r;if(t.includes("\x1B"))for(;r!==void 0;)t=zNn(t,r.close,r.open),r=r.parent;let s=t.indexOf(` +`);return s!==-1&&(t=HNn(t,i,n,s)),n+t+i};Object.defineProperties(Jde.prototype,Use);JNn=Jde(),bxi=Jde({level:e_r?e_r.level:0}),tS=JNn,XNn=(e,t,{descriptor:r})=>{let n=[`${tS.yellow(typeof e=="string"?r.key(e):r.pair(e))} is deprecated`];return t&&n.push(`we now treat it as ${tS.blue(typeof t=="string"?r.key(t):r.pair(t))}`),n.join("; ")+"."},yhr=Symbol.for("vnopts.VALUE_NOT_EXIST"),cAe=Symbol.for("vnopts.VALUE_UNCHANGED"),r_r=" ".repeat(2),ZNn=(e,t,r)=>{let{text:n,list:i}=r.normalizeExpectedResult(r.schemas[e].expected(r)),s=[];return n&&s.push(n_r(e,t,n,r.descriptor)),i&&s.push([n_r(e,t,i.title,r.descriptor)].concat(i.values.map(R=>qhr(R,r.loggerPrintWidth))).join(` +`)),Chr(s,r.loggerPrintWidth)};cAt=[],i_r=[];Ahr=(e,t,{descriptor:r,logger:n,schemas:i})=>{let s=[`Ignored unknown option ${tS.yellow(r.pair({key:e,value:t}))}.`],R=Object.keys(i).sort().find(l=>ewn(e,l)<3);R&&s.push(`Did you mean ${tS.blue(r.key(R))}?`),n.warn(s.join(" "))},twn=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];eU=class{static create(e){return rwn(this,e)}constructor(e){this.name=e.name}default(e){}expected(e){return"nothing"}validate(e,t){return!1}deprecated(e,t){return!1}forward(e,t){}redirect(e,t){}overlap(e,t,r){return e}preprocess(e,t){return e}postprocess(e,t){return cAe}};iwn=class extends eU{constructor(e){super(e),this._sourceName=e.sourceName}expected(e){return e.schemas[this._sourceName].expected(e)}validate(e,t){return t.schemas[this._sourceName].validate(e,t)}redirect(e,t){return this._sourceName}},awn=class extends eU{expected(){return"anything"}validate(){return!0}},swn=class extends eU{constructor({valueSchema:e,name:t=e.name,...r}){super({...r,name:t}),this._valueSchema=e}expected(e){let{text:t,list:r}=e.normalizeExpectedResult(this._valueSchema.expected(e));return{text:t&&`an array of ${t}`,list:r&&{title:"an array of the following values",values:[{list:r}]}}}validate(e,t){if(!Array.isArray(e))return!1;let r=[];for(let n of e){let i=t.normalizeValidateResult(this._valueSchema.validate(n,t),n);i!==!0&&r.push(i.value)}return r.length===0?!0:{value:r}}deprecated(e,t){let r=[];for(let n of e){let i=t.normalizeDeprecatedResult(this._valueSchema.deprecated(n,t),n);i!==!1&&r.push(...i.map(({value:s})=>({value:[s]})))}return r}forward(e,t){let r=[];for(let n of e){let i=t.normalizeForwardResult(this._valueSchema.forward(n,t),n);r.push(...i.map(a_r))}return r}redirect(e,t){let r=[],n=[];for(let i of e){let s=t.normalizeRedirectResult(this._valueSchema.redirect(i,t),i);"remain"in s&&r.push(s.remain),n.push(...s.redirect.map(a_r))}return r.length===0?{redirect:n}:{redirect:n,remain:r}}overlap(e,t){return e.concat(t)}};own=class extends eU{expected(){return"true or false"}validate(e){return typeof e=="boolean"}};bhr=class extends eU{constructor(e){super(e),this._choices=uwn(e.choices.map(t=>t&&typeof t=="object"?t:{value:t}),"value")}expected({descriptor:e}){let t=Array.from(this._choices.keys()).map(s=>this._choices.get(s)).filter(({hidden:s})=>!s).map(s=>s.value).sort(pwn).map(e.value),r=t.slice(0,-2),n=t.slice(-2);return{text:r.concat(n.join(" or ")).join(", "),list:{title:"one of the following values",values:t}}}validate(e){return this._choices.has(e)}deprecated(e){let t=this._choices.get(e);return t&&t.deprecated?{value:e}:!1}forward(e){let t=this._choices.get(e);return t?t.forward:void 0}redirect(e){let t=this._choices.get(e);return t?t.redirect:void 0}},fwn=class extends eU{expected(){return"a number"}validate(e,t){return typeof e=="number"}},dwn=class extends fwn{expected(){return"an integer"}validate(e,t){return t.normalizeValidateResult(super.validate(e,t),e)===!0&&Twn(e)}},c_r=class extends eU{expected(){return"a string"}validate(e){return typeof e=="string"}},xwn=iZ,mwn=Ahr,kwn=ZNn,ywn=XNn,qwn=class{constructor(e,t){let{logger:r=console,loggerPrintWidth:n=80,descriptor:i=xwn,unknown:s=mwn,invalid:R=kwn,deprecated:l=ywn,missing:c=()=>!1,required:h=()=>!1,preprocess:_=m=>m,postprocess:f=()=>cAe}=t||{};this._utils={descriptor:i,logger:r||{warn:()=>{}},loggerPrintWidth:n,schemas:Rwn(e,"name"),normalizeDefaultResult:s_r,normalizeExpectedResult:ghr,normalizeDeprecatedResult:R_r,normalizeForwardResult:PAt,normalizeRedirectResult:l_r,normalizeValidateResult:o_r},this._unknownHandler=s,this._invalidHandler=_wn(R),this._deprecatedHandler=l,this._identifyMissing=(m,x)=>!(m in x)||c(m,x),this._identifyRequired=h,this._preprocess=_,this._postprocess=f,this.cleanHistory()}cleanHistory(){this._hasDeprecationWarned=lwn()}normalize(e){let t={},n=[this._preprocess(e,this._utils)],i=()=>{for(;n.length!==0;){let s=n.shift(),R=this._applyNormalization(s,t);n.push(...R)}};i();for(let s of Object.keys(this._utils.schemas)){let R=this._utils.schemas[s];if(!(s in t)){let l=s_r(R.default(this._utils));"value"in l&&n.push({[s]:l.value})}}i();for(let s of Object.keys(this._utils.schemas)){if(!(s in t))continue;let R=this._utils.schemas[s],l=t[s],c=R.postprocess(l,this._utils);c!==cAe&&(this._applyValidation(c,s,R),t[s]=c)}return this._applyPostprocess(t),this._applyRequiredCheck(t),t}_applyNormalization(e,t){let r=[],{knownKeys:n,unknownKeys:i}=this._partitionOptionKeys(e);for(let s of n){let R=this._utils.schemas[s],l=R.preprocess(e[s],this._utils);this._applyValidation(l,s,R);let c=({from:m,to:x})=>{r.push(typeof x=="string"?{[x]:m}:{[x.key]:x.value})},h=({value:m,redirectTo:x})=>{let y=R_r(R.deprecated(m,this._utils),l,!0);if(y!==!1)if(y===!0)this._hasDeprecationWarned(s)||this._utils.logger.warn(this._deprecatedHandler(s,x,this._utils));else for(let{value:A}of y){let D={key:s,value:A};if(!this._hasDeprecationWarned(D)){let S=typeof x=="string"?{key:x,value:A}:x;this._utils.logger.warn(this._deprecatedHandler(D,S,this._utils))}}};PAt(R.forward(l,this._utils),l).forEach(c);let f=l_r(R.redirect(l,this._utils),l);if(f.redirect.forEach(c),"remain"in f){let m=f.remain;t[s]=s in t?R.overlap(t[s],m,this._utils):m,h({value:m})}for(let{from:m,to:x}of f.redirect)h({value:m,redirectTo:x})}for(let s of i){let R=e[s];this._applyUnknownHandler(s,R,t,(l,c)=>{r.push({[l]:c})})}return r}_applyRequiredCheck(e){for(let t of Object.keys(this._utils.schemas))if(this._identifyMissing(t,e)&&this._identifyRequired(t))throw this._invalidHandler(t,yhr,this._utils)}_partitionOptionKeys(e){let[t,r]=cwn(Object.keys(e).filter(n=>!this._identifyMissing(n,e)),n=>n in this._utils.schemas);return{knownKeys:t,unknownKeys:r}}_applyValidation(e,t,r){let n=o_r(r.validate(e,this._utils),e);if(n!==!0)throw this._invalidHandler(t,n.value,this._utils)}_applyUnknownHandler(e,t,r,n){let i=this._unknownHandler(e,t,this._utils);if(i)for(let s of Object.keys(i)){if(this._identifyMissing(s,i))continue;let R=i[s];s in this._utils.schemas?n(s,R):r[s]=R}}_applyPostprocess(e){let t=this._postprocess(e,this._utils);if(t!==cAe){if(t.delete)for(let r of t.delete)delete e[r];if(t.override){let{knownKeys:r,unknownKeys:n}=this._partitionOptionKeys(t.override);for(let i of r){let s=t.override[i];this._applyValidation(s,i,this._utils.schemas[i]),e[i]=s}for(let i of n){let s=t.override[i];this._applyUnknownHandler(i,s,e,(R,l)=>{let c=this._utils.schemas[R];this._applyValidation(l,R,c),e[R]=l})}}}}},Ehr={};jde(Ehr,{ArgExpansionBailout:()=>Cwn,ConfigError:()=>u3t,UndefinedParserError:()=>BAt});u3t=class extends Error{name="ConfigError"},BAt=class extends Error{name="UndefinedParserError"},Cwn=class extends Error{name="ArgExpansionBailout"},T_r=XW(lhr(),1),gwn="file:",bwn=e=>e instanceof URL,Ohr=e=>typeof e=="string"&&e.startsWith(gwn),vhr=e=>bwn(e)||Ohr(e),Yse=e=>vhr(e)?Awn(e):e;Own=Ewn,vwn=XW(RNn(),1);Swn=Dwn,__r=e=>Kse.resolve(Yse(e));Nwn=Qwn,wwn=class{constructor({names:e,filter:t,stopDirectory:r}){eS(this,IAt),eS(this,bAe),eS(this,EAe),eS(this,TAe),eS(this,Ude,new Map),n5(this,bAe,e),n5(this,EAe,t),n5(this,TAe,r)}async search(e,{shouldCache:t}){let r=Sp(this,Ude);if(t&&r.has(e))return r.get(e);let n=[],i;for(let s of Nwn(e,Sp(this,TAe)))if(n.push(s),i=await $se(this,IAt,$hr).call(this,s,t),i)break;for(let s of n)r.set(s,i);return i}clearCache(){Sp(this,Ude).clear()}};bAe=new WeakMap;EAe=new WeakMap;TAe=new WeakMap;Ude=new WeakMap;IAt=new WeakSet;$hr=async function(e,t){let r=Sp(this,Ude);if(t&&r.has(e))return r.get(e);for(let n of Sp(this,bAe)){let i=$wn.join(e,n);if(await Sp(this,EAe).call(this,{name:n,path:i}))return i}};Qhr=wwn,Pwn=[".git",".hg"],Bwn={names:Pwn,filter:({path:e})=>Swn(e,{allowSymlinks:!1})};Fwn=Uwn,pAe=new Map;Ywn=XW(lNn(),1),{stdin:Lde}=process;Nhr.buffer=async()=>{let e=[],t=0;if(Lde.isTTY)return Buffer.concat([]);for await(let r of Lde)e.push(r),t+=r.length;return Buffer.concat(e,t)};Vwn={getPrettierConfigSearchStopDirectory:()=>{},getStdin:Nhr,isCI:()=>Ywn.isCI,writeFormattedFile:Gwn},c3t=Vwn;Jwn=jwn;iPn=whr,aPn=Zwn,sPn=ePn,oPn=rPn,RPn=nPn,uPn=tPn,B4={isNothing:iPn,isObject:aPn,toArray:sPn,repeat:oPn,isNegativeZero:RPn,extend:uPn};Gde.prototype=Object.create(Error.prototype);Gde.prototype.constructor=Gde;Gde.prototype.toString=function(t){return this.name+": "+Phr(this,t)};Iw=Gde;cPn=lPn,TPn=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],pPn=["scalar","sequence","mapping"];dy=hPn;MAt.prototype.extend=function(t){var r=[],n=[];if(t instanceof dy)n.push(t);else if(Array.isArray(t))n=n.concat(t);else if(t&&(Array.isArray(t.implicit)||Array.isArray(t.explicit)))t.implicit&&(r=r.concat(t.implicit)),t.explicit&&(n=n.concat(t.explicit));else throw new Iw("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");r.forEach(function(s){if(!(s instanceof dy))throw new Iw("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(s.loadKind&&s.loadKind!=="scalar")throw new Iw("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(s.multi)throw new Iw("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),n.forEach(function(s){if(!(s instanceof dy))throw new Iw("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(MAt.prototype);return i.implicit=(this.implicit||[]).concat(r),i.explicit=(this.explicit||[]).concat(n),i.compiledImplicit=f_r(i,"implicit"),i.compiledExplicit=f_r(i,"explicit"),i.compiledTypeMap=fPn(i.compiledImplicit,i.compiledExplicit),i};dPn=MAt,xPn=new dy("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return e!==null?e:""}}),mPn=new dy("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return e!==null?e:[]}}),kPn=new dy("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return e!==null?e:{}}}),yPn=new dPn({explicit:[xPn,mPn,kPn]});gPn=new dy("tag:yaml.org,2002:null",{kind:"scalar",resolve:qPn,construct:CPn,predicate:APn,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});vPn=new dy("tag:yaml.org,2002:bool",{kind:"scalar",resolve:bPn,construct:EPn,predicate:OPn,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"});PPn=new dy("tag:yaml.org,2002:int",{kind:"scalar",resolve:QPn,construct:NPn,predicate:wPn,represent:{binary:function(e){return e>=0?"0b"+e.toString(2):"-0b"+e.toString(2).slice(1)},octal:function(e){return e>=0?"0o"+e.toString(8):"-0o"+e.toString(8).slice(1)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return e>=0?"0x"+e.toString(16).toUpperCase():"-0x"+e.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),BPn=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");WPn=/^[-+]?[0-9]+e/;LPn=new dy("tag:yaml.org,2002:float",{kind:"scalar",resolve:IPn,construct:MPn,predicate:FPn,represent:UPn,defaultStyle:"lowercase"}),zPn=yPn.extend({implicit:[gPn,vPn,PPn,LPn]}),HPn=zPn,Bhr=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Ihr=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");VPn=new dy("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:YPn,construct:KPn,instanceOf:Date,represent:GPn});JPn=new dy("tag:yaml.org,2002:merge",{kind:"scalar",resolve:jPn}),T3t=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/= +\r`;rBn=new dy("tag:yaml.org,2002:binary",{kind:"scalar",resolve:XPn,construct:ZPn,predicate:tBn,represent:eBn}),nBn=Object.prototype.hasOwnProperty,iBn=Object.prototype.toString;oBn=new dy("tag:yaml.org,2002:omap",{kind:"sequence",resolve:aBn,construct:sBn}),RBn=Object.prototype.toString;cBn=new dy("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:uBn,construct:lBn}),TBn=Object.prototype.hasOwnProperty;hBn=new dy("tag:yaml.org,2002:set",{kind:"mapping",resolve:pBn,construct:_Bn}),fBn=HPn.extend({implicit:[VPn,JPn],explicit:[rBn,oBn,cBn,hBn]}),VW=Object.prototype.hasOwnProperty,OAe=1,Mhr=2,Whr=3,vAe=4,_At=1,dBn=2,d_r=3,xBn=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,mBn=/[\x85\u2028\u2029]/,kBn=/[,\[\]\{\}]/,Uhr=/^(?:!|!!|![a-z\-]+!)$/i,Fhr=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;Lhr=new Array(256),zhr=new Array(256);for(XX=0;XX<256;XX++)Lhr[XX]=m_r(XX)?1:0,zhr[XX]=m_r(XX);k_r={YAML:function(t,r,n){var i,s,R;t.version!==null&&Oo(t,"duplication of %YAML directive"),n.length!==1&&Oo(t,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),i===null&&Oo(t,"ill-formed argument of the YAML directive"),s=parseInt(i[1],10),R=parseInt(i[2],10),s!==1&&Oo(t,"unacceptable YAML version of the document"),t.version=n[0],t.checkLineBreaks=R<2,R!==1&&R!==2&&DAe(t,"unsupported YAML version of the document")},TAG:function(t,r,n){var i,s;n.length!==2&&Oo(t,"TAG directive accepts exactly two arguments"),i=n[0],s=n[1],Uhr.test(i)||Oo(t,"ill-formed tag handle (first argument) of the TAG directive"),VW.call(t.tagMap,i)&&Oo(t,'there is a previously declared suffix for "'+i+'" tag handle'),Fhr.test(s)||Oo(t,"ill-formed tag prefix (second argument) of the TAG directive");try{s=decodeURIComponent(s)}catch{Oo(t,"tag prefix is malformed: "+s)}t.tagMap[i]=s}};IBn=PBn,MBn=BBn,Khr={loadAll:IBn,load:MBn},M4={};M4[0]="\\0";M4[7]="\\a";M4[8]="\\b";M4[9]="\\t";M4[10]="\\n";M4[11]="\\v";M4[12]="\\f";M4[13]="\\r";M4[27]="\\e";M4[34]='\\"';M4[92]="\\\\";M4[133]="\\N";M4[160]="\\_";M4[8232]="\\L";M4[8233]="\\P";WBn=Khr.load,Bxi=Khr.loadAll,Ixi=h3t("safeLoad","load"),Mxi=h3t("safeLoadAll","loadAll"),Wxi=h3t("safeDump","dump"),UBn=/[\u1680\u2000-\u200A\u202F\u205F\u3000]/,FBn=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1877\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C88\u1CE9-\u1CEC\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC03-\uDC37\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDF00-\uDF19]|\uD806[\uDCA0-\uDCDF\uDCFF\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE83\uDE86-\uDE89\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50\uDF93-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]/,LBn=/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0300-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u0483-\u0487\u048A-\u052F\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u05D0-\u05EA\u05F0-\u05F2\u0610-\u061A\u0620-\u0669\u066E-\u06D3\u06D5-\u06DC\u06DF-\u06E8\u06EA-\u06FC\u06FF\u0710-\u074A\u074D-\u07B1\u07C0-\u07F5\u07FA\u0800-\u082D\u0840-\u085B\u0860-\u086A\u08A0-\u08B4\u08B6-\u08BD\u08D4-\u08E1\u08E3-\u0963\u0966-\u096F\u0971-\u0983\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BC-\u09C4\u09C7\u09C8\u09CB-\u09CE\u09D7\u09DC\u09DD\u09DF-\u09E3\u09E6-\u09F1\u09FC\u0A01-\u0A03\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A59-\u0A5C\u0A5E\u0A66-\u0A75\u0A81-\u0A83\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABC-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AD0\u0AE0-\u0AE3\u0AE6-\u0AEF\u0AF9-\u0AFF\u0B01-\u0B03\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3C-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B56\u0B57\u0B5C\u0B5D\u0B5F-\u0B63\u0B66-\u0B6F\u0B71\u0B82\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD0\u0BD7\u0BE6-\u0BEF\u0C00-\u0C03\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C58-\u0C5A\u0C60-\u0C63\u0C66-\u0C6F\u0C80-\u0C83\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBC-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CDE\u0CE0-\u0CE3\u0CE6-\u0CEF\u0CF1\u0CF2\u0D00-\u0D03\u0D05-\u0D0C\u0D0E-\u0D10\u0D12-\u0D44\u0D46-\u0D48\u0D4A-\u0D4E\u0D54-\u0D57\u0D5F-\u0D63\u0D66-\u0D6F\u0D7A-\u0D7F\u0D82\u0D83\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E01-\u0E3A\u0E40-\u0E4E\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB9\u0EBB-\u0EBD\u0EC0-\u0EC4\u0EC6\u0EC8-\u0ECD\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E-\u0F47\u0F49-\u0F6C\u0F71-\u0F84\u0F86-\u0F97\u0F99-\u0FBC\u0FC6\u1000-\u1049\u1050-\u109D\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u135D-\u135F\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u170C\u170E-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176C\u176E-\u1770\u1772\u1773\u1780-\u17D3\u17D7\u17DC\u17DD\u17E0-\u17E9\u180B-\u180D\u1810-\u1819\u1820-\u1877\u1880-\u18AA\u18B0-\u18F5\u1900-\u191E\u1920-\u192B\u1930-\u193B\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19D9\u1A00-\u1A1B\u1A20-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AA7\u1AB0-\u1ABD\u1B00-\u1B4B\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1BF3\u1C00-\u1C37\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1CD0-\u1CD2\u1CD4-\u1CF9\u1D00-\u1DF9\u1DFB-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u203F\u2040\u2054\u2071\u207F\u2090-\u209C\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D7F-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2DE0-\u2DFF\u2E2F\u3005-\u3007\u3021-\u302F\u3031-\u3035\u3038-\u303C\u3041-\u3096\u3099\u309A\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312E\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FEA\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66F\uA674-\uA67D\uA67F-\uA6F1\uA717-\uA71F\uA722-\uA788\uA78B-\uA7AE\uA7B0-\uA7B7\uA7F7-\uA827\uA840-\uA873\uA880-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F7\uA8FB\uA8FD\uA900-\uA92D\uA930-\uA953\uA960-\uA97C\uA980-\uA9C0\uA9CF-\uA9D9\uA9E0-\uA9FE\uAA00-\uAA36\uAA40-\uAA4D\uAA50-\uAA59\uAA60-\uAA76\uAA7A-\uAAC2\uAADB-\uAADD\uAAE0-\uAAEF\uAAF2-\uAAF6\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB65\uAB70-\uABEA\uABEC\uABED\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF3F\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDDFD\uDE80-\uDE9C\uDEA0-\uDED0\uDEE0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF7A\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00-\uDE03\uDE05\uDE06\uDE0C-\uDE13\uDE15-\uDE17\uDE19-\uDE33\uDE38-\uDE3A\uDE3F\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE6\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2]|\uD804[\uDC00-\uDC46\uDC66-\uDC6F\uDC7F-\uDCBA\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD00-\uDD34\uDD36-\uDD3F\uDD50-\uDD73\uDD76\uDD80-\uDDC4\uDDCA-\uDDCC\uDDD0-\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE37\uDE3E\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3C-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF50\uDF57\uDF5D-\uDF63\uDF66-\uDF6C\uDF70-\uDF74]|\uD805[\uDC00-\uDC4A\uDC50-\uDC59\uDC80-\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDB5\uDDB8-\uDDC0\uDDD8-\uDDDD\uDE00-\uDE40\uDE44\uDE50-\uDE59\uDE80-\uDEB7\uDEC0-\uDEC9\uDF00-\uDF19\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDCA0-\uDCE9\uDCFF\uDE00-\uDE3E\uDE47\uDE50-\uDE83\uDE86-\uDE99\uDEC0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC36\uDC38-\uDC40\uDC50-\uDC59\uDC72-\uDC8F\uDC92-\uDCA7\uDCA9-\uDCB6\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD47\uDD50-\uDD59]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|[\uD80C\uD81C-\uD820\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDED0-\uDEED\uDEF0-\uDEF4\uDF00-\uDF36\uDF40-\uDF43\uDF50-\uDF59\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDF00-\uDF44\uDF50-\uDF7E\uDF8F-\uDF9F\uDFE0\uDFE1]|\uD821[\uDC00-\uDFEC]|\uD822[\uDC00-\uDEF2]|\uD82C[\uDC00-\uDD1E\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99\uDC9D\uDC9E]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A]|\uD83A[\uDC00-\uDCC4\uDCD0-\uDCD6\uDD00-\uDD4A\uDD50-\uDD59]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDED6\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF34\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uDB40[\uDD00-\uDDEF]/,hAt={Space_Separator:UBn,ID_Start:FBn,ID_Continue:LBn},P7={isSpaceSeparator(e){return typeof e=="string"&&hAt.Space_Separator.test(e)},isIdStartChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e==="$"||e==="_"||hAt.ID_Start.test(e))},isIdContinueChar(e){return typeof e=="string"&&(e>="a"&&e<="z"||e>="A"&&e<="Z"||e>="0"&&e<="9"||e==="$"||e==="_"||e==="\u200C"||e==="\u200D"||hAt.ID_Continue.test(e))},isDigit(e){return typeof e=="string"&&/[0-9]/.test(e)},isHexDigit(e){return typeof e=="string"&&/[0-9A-Fa-f]/.test(e)}},zBn=function(t,r){WAt=String(t),I4="start",Mw=[],SAe=0,jW=1,mO=0,B7=void 0,f3t=void 0,zde=void 0;do B7=HBn(),GBn[I4]();while(B7.type!=="eof");return typeof r=="function"?UAt({"":zde},"",r):zde};Ghr={default(){switch(su){case" ":case"\v":case"\f":case" ":case"\xA0":case"\uFEFF":case` +`:case"\r":case"\u2028":case"\u2029":Ii();return;case"/":Ii(),pR="comment";return;case void 0:return Ii(),W1("eof")}if(P7.isSpaceSeparator(su)){Ii();return}return Ghr[I4]()},comment(){switch(su){case"*":Ii(),pR="multiLineComment";return;case"/":Ii(),pR="singleLineComment";return}throw U1(Ii())},multiLineComment(){switch(su){case"*":Ii(),pR="multiLineCommentAsterisk";return;case void 0:throw U1(Ii())}Ii()},multiLineCommentAsterisk(){switch(su){case"*":Ii();return;case"/":Ii(),pR="default";return;case void 0:throw U1(Ii())}Ii(),pR="multiLineComment"},singleLineComment(){switch(su){case` +`:case"\r":case"\u2028":case"\u2029":Ii(),pR="default";return;case void 0:return Ii(),W1("eof")}Ii()},value(){switch(su){case"{":case"[":return W1("punctuator",Ii());case"n":return Ii(),ZX("ull"),W1("null",null);case"t":return Ii(),ZX("rue"),W1("boolean",!0);case"f":return Ii(),ZX("alse"),W1("boolean",!1);case"-":case"+":Ii()==="-"&&(Nw=-1),pR="sign";return;case".":K0=Ii(),pR="decimalPointLeading";return;case"0":K0=Ii(),pR="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":K0=Ii(),pR="decimalInteger";return;case"I":return Ii(),ZX("nfinity"),W1("numeric",1/0);case"N":return Ii(),ZX("aN"),W1("numeric",NaN);case'"':case"'":Bde=Ii()==='"',K0="",pR="string";return}throw U1(Ii())},identifierNameStartEscape(){if(su!=="u")throw U1(Ii());Ii();let e=FAt();switch(e){case"$":case"_":break;default:if(!P7.isIdStartChar(e))throw C_r();break}K0+=e,pR="identifierName"},identifierName(){switch(su){case"$":case"_":case"\u200C":case"\u200D":K0+=Ii();return;case"\\":Ii(),pR="identifierNameEscape";return}if(P7.isIdContinueChar(su)){K0+=Ii();return}return W1("identifier",K0)},identifierNameEscape(){if(su!=="u")throw U1(Ii());Ii();let e=FAt();switch(e){case"$":case"_":case"\u200C":case"\u200D":break;default:if(!P7.isIdContinueChar(e))throw C_r();break}K0+=e,pR="identifierName"},sign(){switch(su){case".":K0=Ii(),pR="decimalPointLeading";return;case"0":K0=Ii(),pR="zero";return;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":K0=Ii(),pR="decimalInteger";return;case"I":return Ii(),ZX("nfinity"),W1("numeric",Nw*(1/0));case"N":return Ii(),ZX("aN"),W1("numeric",NaN)}throw U1(Ii())},zero(){switch(su){case".":K0+=Ii(),pR="decimalPoint";return;case"e":case"E":K0+=Ii(),pR="decimalExponent";return;case"x":case"X":K0+=Ii(),pR="hexadecimal";return}return W1("numeric",Nw*0)},decimalInteger(){switch(su){case".":K0+=Ii(),pR="decimalPoint";return;case"e":case"E":K0+=Ii(),pR="decimalExponent";return}if(P7.isDigit(su)){K0+=Ii();return}return W1("numeric",Nw*Number(K0))},decimalPointLeading(){if(P7.isDigit(su)){K0+=Ii(),pR="decimalFraction";return}throw U1(Ii())},decimalPoint(){switch(su){case"e":case"E":K0+=Ii(),pR="decimalExponent";return}if(P7.isDigit(su)){K0+=Ii(),pR="decimalFraction";return}return W1("numeric",Nw*Number(K0))},decimalFraction(){switch(su){case"e":case"E":K0+=Ii(),pR="decimalExponent";return}if(P7.isDigit(su)){K0+=Ii();return}return W1("numeric",Nw*Number(K0))},decimalExponent(){switch(su){case"+":case"-":K0+=Ii(),pR="decimalExponentSign";return}if(P7.isDigit(su)){K0+=Ii(),pR="decimalExponentInteger";return}throw U1(Ii())},decimalExponentSign(){if(P7.isDigit(su)){K0+=Ii(),pR="decimalExponentInteger";return}throw U1(Ii())},decimalExponentInteger(){if(P7.isDigit(su)){K0+=Ii();return}return W1("numeric",Nw*Number(K0))},hexadecimal(){if(P7.isHexDigit(su)){K0+=Ii(),pR="hexadecimalInteger";return}throw U1(Ii())},hexadecimalInteger(){if(P7.isHexDigit(su)){K0+=Ii();return}return W1("numeric",Nw*Number(K0))},string(){switch(su){case"\\":Ii(),K0+=YBn();return;case'"':if(Bde)return Ii(),W1("string",K0);K0+=Ii();return;case"'":if(!Bde)return Ii(),W1("string",K0);K0+=Ii();return;case` +`:case"\r":throw U1(Ii());case"\u2028":case"\u2029":VBn(su);break;case void 0:throw U1(Ii())}K0+=Ii()},start(){switch(su){case"{":case"[":return W1("punctuator",Ii())}pR="value"},beforePropertyName(){switch(su){case"$":case"_":K0=Ii(),pR="identifierName";return;case"\\":Ii(),pR="identifierNameStartEscape";return;case"}":return W1("punctuator",Ii());case'"':case"'":Bde=Ii()==='"',pR="string";return}if(P7.isIdStartChar(su)){K0+=Ii(),pR="identifierName";return}throw U1(Ii())},afterPropertyName(){if(su===":")return W1("punctuator",Ii());throw U1(Ii())},beforePropertyValue(){pR="value"},afterPropertyValue(){switch(su){case",":case"}":return W1("punctuator",Ii())}throw U1(Ii())},beforeArrayValue(){if(su==="]")return W1("punctuator",Ii());pR="value"},afterArrayValue(){switch(su){case",":case"]":return W1("punctuator",Ii())}throw U1(Ii())},end(){throw U1(Ii())}};GBn={start(){if(B7.type==="eof")throw eZ();fAt()},beforePropertyName(){switch(B7.type){case"identifier":case"string":f3t=B7.value,I4="afterPropertyName";return;case"punctuator":sAe();return;case"eof":throw eZ()}},afterPropertyName(){if(B7.type==="eof")throw eZ();I4="beforePropertyValue"},beforePropertyValue(){if(B7.type==="eof")throw eZ();fAt()},beforeArrayValue(){if(B7.type==="eof")throw eZ();if(B7.type==="punctuator"&&B7.value==="]"){sAe();return}fAt()},afterPropertyValue(){if(B7.type==="eof")throw eZ();switch(B7.value){case",":I4="beforePropertyName";return;case"}":sAe()}},afterArrayValue(){if(B7.type==="eof")throw eZ();switch(B7.value){case",":I4="beforeArrayValue";return;case"]":sAe()}},end(){}};jBn={parse:zBn},JBn=XW(mhr(),1),A_r=(e,t,r)=>r<0?-1:e.lastIndexOf(t,r);ZBn=e=>`\\u{${e.codePointAt(0).toString(16)}}`,eIn=class jhr extends Error{constructor(t){var r;super(),iAe(this,"name","JSONError"),iAe(this,"fileName"),iAe(this,"codeFrame"),iAe(this,"rawCodeFrame"),eS(this,Ide),n5(this,Ide,t),(r=Error.captureStackTrace)==null||r.call(Error,this,jhr)}get message(){let{fileName:t,codeFrame:r}=this;return`${Sp(this,Ide)}${t?` in ${t}`:""}${r?` + +${r} +`:""}`}set message(t){n5(this,Ide,t)}};Ide=new WeakMap;tIn=eIn,b_r=(e,t,r=!0)=>(0,JBn.codeFrameColumns)(e,{start:t},{highlightCode:r}),rIn=(e,t)=>{let r=t.match(/in JSON at position (?\d+)(?: \(line (?\d+) column (?\d+)\))?$/);if(!r)return;let{index:n,line:i,column:s}=r.groups;if(i&&s)return{line:Number(i),column:Number(s)};if(n=Number(n),n===e.length){let{line:R,column:l}=g_r(e,e.length-1,{oneBased:!0});return{line:R,column:l+1}}return g_r(e,n,{oneBased:!0})},nIn=e=>e.replace(/(?<=^Unexpected token )(?')?(.)\k/,(t,r,n)=>`"${n}"(${ZBn(n)})`);JR=class extends Error{line;column;codeblock;constructor(e,t){let[r,n]=aIn(t.toml,t.ptr),i=sIn(t.toml,r,n);super(`Invalid TOML document: ${e} + +${i}`,t),this.line=r,this.column=n,this.codeblock=i}};oIn=/^(\d{4}-\d{2}-\d{2})?[T ]?(?:(\d{2}):\d{2}:\d{2}(?:\.\d+)?)?(Z|[-+]\d{2}:\d{2})?$/i,RIn=class Mde extends Date{constructor(t){let r=!0,n=!0,i="Z";if(typeof t=="string"){let s=t.match(oIn);s?(s[1]||(r=!1,t=`0000-01-01T${t}`),n=!!s[2],s[2]&&+s[2]>23?t="":(i=s[3]||null,t=t.toUpperCase(),!i&&n&&(t+="Z"))):t=""}super(t),eS(this,ww,!1),eS(this,Pw,!1),eS(this,t5,null),isNaN(this.getTime())||(n5(this,ww,r),n5(this,Pw,n),n5(this,t5,i))}isDateTime(){return Sp(this,ww)&&Sp(this,Pw)}isLocal(){return!Sp(this,ww)||!Sp(this,Pw)||!Sp(this,t5)}isDate(){return Sp(this,ww)&&!Sp(this,Pw)}isTime(){return Sp(this,Pw)&&!Sp(this,ww)}isValid(){return Sp(this,ww)||Sp(this,Pw)}toISOString(){let t=super.toISOString();if(this.isDate())return t.slice(0,10);if(this.isTime())return t.slice(11,23);if(Sp(this,t5)===null)return t.slice(0,-1);if(Sp(this,t5)==="Z")return t;let r=+Sp(this,t5).slice(1,3)*60+ +Sp(this,t5).slice(4,6);return r=Sp(this,t5)[0]==="-"?r:-r,new Date(this.getTime()-r*6e4).toISOString().slice(0,-1)+Sp(this,t5)}static wrapAsOffsetDateTime(t,r="Z"){let n=new Mde(t);return n5(n,t5,r),n}static wrapAsLocalDateTime(t){let r=new Mde(t);return n5(r,t5,null),r}static wrapAsLocalDate(t){let r=new Mde(t);return n5(r,Pw,!1),n5(r,t5,null),r}static wrapAsLocalTime(t){let r=new Mde(t);return n5(r,ww,!1),n5(r,t5,null),r}};ww=new WeakMap;Pw=new WeakMap;t5=new WeakMap;uIn=RIn,lIn=/^((0x[0-9a-fA-F](_?[0-9a-fA-F])*)|(([+-]|0[ob])?\d(_?\d)*))$/,cIn=/^[+-]?\d(_?\d)*(\.\d(_?\d)*)?([eE][+-]?\d(_?\d)*)?$/,TIn=/^[+-]?0[0-9_]/,pIn=/^[0-9a-f]{4,8}$/i,O_r={b:"\b",t:" ",n:` +`,f:"\f",r:"\r",'"':'"',"\\":"\\"};fIn=/^[a-zA-Z0-9-_]+[ \t]*$/;Vde=yIn;qIn={async".toml"(e){let t=await Vde(e);try{return mIn(t)}catch(r){throw r.message=`TOML Error in ${e}: +${r.message}`,r}},async".json5"(e){let t=await Vde(e);try{return jBn.parse(t)}catch(r){throw r.message=`JSON5 Error in ${e}: +${r.message}`,r}},".json":Zhr,".js":dAt,".mjs":dAt,".cjs":dAt,".yaml":_Ae,".yml":_Ae,"":_Ae},CIn=qIn,AIn=["package.json","package.yaml",".prettierrc",".prettierrc.json",".prettierrc.yaml",".prettierrc.yml",".prettierrc.json5",".prettierrc.js",".prettierrc.mjs",".prettierrc.cjs","prettier.config.js","prettier.config.mjs","prettier.config.cjs",".prettierrc.toml"];EIn=bIn,PIn={}.hasOwnProperty,BIn=/^([A-Z][a-z\d]*)+$/,IIn=new Set(["string","function","number","object","Function","Object","boolean","bigint","symbol"]),jm={};afr=new Map,MIn="__node_internal_";jm.ERR_INVALID_ARG_TYPE=Cg("ERR_INVALID_ARG_TYPE",(e,t,r)=>{oZ(typeof e=="string","'name' must be a string"),Array.isArray(t)||(t=[t]);let n="The ";if(e.endsWith(" argument"))n+=`${e} `;else{let l=e.includes(".")?"property":"argument";n+=`"${e}" ${l} `}n+="must be ";let i=[],s=[],R=[];for(let l of t)oZ(typeof l=="string","All expected entries have to be of type string"),IIn.has(l)?i.push(l.toLowerCase()):BIn.exec(l)===null?(oZ(l!=="object",'The value "object" should be written as "Object"'),R.push(l)):s.push(l);if(s.length>0){let l=i.indexOf("object");l!==-1&&(i.slice(l,1),s.push("Object"))}return i.length>0&&(n+=`${i.length>1?"one of type":"of type"} ${xAt(i,"or")}`,(s.length>0||R.length>0)&&(n+=" or ")),s.length>0&&(n+=`an instance of ${xAt(s,"or")}`,R.length>0&&(n+=" or ")),R.length>0&&(R.length>1?n+=`one of ${xAt(R,"or")}`:(R[0].toLowerCase()!==R[0]&&(n+="an "),n+=`${R[0]}`)),n+=`. Received ${zIn(r)}`,n},TypeError);jm.ERR_INVALID_MODULE_SPECIFIER=Cg("ERR_INVALID_MODULE_SPECIFIER",(e,t,r=void 0)=>`Invalid module "${e}" ${t}${r?` imported from ${r}`:""}`,TypeError);jm.ERR_INVALID_PACKAGE_CONFIG=Cg("ERR_INVALID_PACKAGE_CONFIG",(e,t,r)=>`Invalid package config ${e}${t?` while importing ${t}`:""}${r?`. ${r}`:""}`,Error);jm.ERR_INVALID_PACKAGE_TARGET=Cg("ERR_INVALID_PACKAGE_TARGET",(e,t,r,n=!1,i=void 0)=>{let s=typeof r=="string"&&!n&&r.length>0&&!r.startsWith("./");return t==="."?(oZ(n===!1),`Invalid "exports" main target ${JSON.stringify(r)} defined in the package config ${e}package.json${i?` imported from ${i}`:""}${s?'; targets must start with "./"':""}`):`Invalid "${n?"imports":"exports"}" target ${JSON.stringify(r)} defined for '${t}' in the package config ${e}package.json${i?` imported from ${i}`:""}${s?'; targets must start with "./"':""}`},Error);jm.ERR_MODULE_NOT_FOUND=Cg("ERR_MODULE_NOT_FOUND",(e,t,r=!1)=>`Cannot find ${r?"module":"package"} '${e}' imported from ${t}`,Error);jm.ERR_NETWORK_IMPORT_DISALLOWED=Cg("ERR_NETWORK_IMPORT_DISALLOWED","import of '%s' by %s is not supported: %s",Error);jm.ERR_PACKAGE_IMPORT_NOT_DEFINED=Cg("ERR_PACKAGE_IMPORT_NOT_DEFINED",(e,t,r)=>`Package import specifier "${e}" is not defined${t?` in package ${t}package.json`:""} imported from ${r}`,TypeError);jm.ERR_PACKAGE_PATH_NOT_EXPORTED=Cg("ERR_PACKAGE_PATH_NOT_EXPORTED",(e,t,r=void 0)=>t==="."?`No "exports" main defined in ${e}package.json${r?` imported from ${r}`:""}`:`Package subpath '${t}' is not defined by "exports" in ${e}package.json${r?` imported from ${r}`:""}`,Error);jm.ERR_UNSUPPORTED_DIR_IMPORT=Cg("ERR_UNSUPPORTED_DIR_IMPORT","Directory import '%s' is not supported resolving ES modules imported from %s",Error);jm.ERR_UNSUPPORTED_RESOLVE_REQUEST=Cg("ERR_UNSUPPORTED_RESOLVE_REQUEST",'Failed to resolve module specifier "%s" from "%s": Invalid relative URL or base scheme is not hierarchical.',TypeError);jm.ERR_UNKNOWN_FILE_EXTENSION=Cg("ERR_UNKNOWN_FILE_EXTENSION",(e,t)=>`Unknown file extension "${e}" for ${t}`,TypeError);jm.ERR_INVALID_ARG_VALUE=Cg("ERR_INVALID_ARG_VALUE",(e,t,r="is invalid")=>{let n=HAt(t);return n.length>128&&(n=`${n.slice(0,128)}...`),`The ${e.includes(".")?"property":"argument"} '${e}' ${r}. Received ${n}`},TypeError);FIn=UIn(function(e){let t=YAt();return t&&(D_r=Error.stackTraceLimit,Error.stackTraceLimit=Number.POSITIVE_INFINITY),Error.captureStackTrace(e),t&&(Error.stackTraceLimit=D_r),e});Pde={}.hasOwnProperty,{ERR_INVALID_PACKAGE_CONFIG:HIn}=jm,S_r=new Map;({ERR_UNKNOWN_FILE_EXTENSION:YIn}=jm),KIn={}.hasOwnProperty,GIn={__proto__:null,".cjs":"commonjs",".js":"module",".json":"json",".mjs":"module"};Q_r={__proto__:null,"data:":jIn,"file:":XIn,"http:":N_r,"https:":N_r,"node:"(){return"builtin"}};({ERR_INVALID_ARG_VALUE:ZIn}=jm),Rfr=Object.freeze(["node","import"]),eMn=new Set(Rfr);oAe=RegExp.prototype[Symbol.replace],{ERR_NETWORK_IMPORT_DISALLOWED:mAt,ERR_INVALID_MODULE_SPECIFIER:WAe,ERR_INVALID_PACKAGE_CONFIG:ufr,ERR_INVALID_PACKAGE_TARGET:iMn,ERR_MODULE_NOT_FOUND:q3t,ERR_PACKAGE_IMPORT_NOT_DEFINED:aMn,ERR_PACKAGE_PATH_NOT_EXPORTED:sMn,ERR_UNSUPPORTED_DIR_IMPORT:oMn,ERR_UNSUPPORTED_RESOLVE_REQUEST:w_r}=jm,lfr={}.hasOwnProperty,P_r=/(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))?(\\|\/|$)/i,B_r=/(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i,RMn=/^\.|%|\\/,RAe=/\*/g,uMn=/%2f|%5c/i,I_r=new Set,lMn=/[/\\]{2}/;_fr=OMn;SMn=DMn,$Mn=new Set(["MODULE_NOT_FOUND","ERR_REQUIRE_ESM","ERR_PACKAGE_PATH_NOT_EXPORTED","ERR_REQUIRE_ASYNC_MODULE"]);NMn=QMn;PMn=wMn,hAe=new Map,fAe=new Map;HMn=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},Xde=HMn,YMn=XW(fNn(),1),GMn=YMn.default.default,VMn=dAe.sep==="\\"?e=>Xde(!1,e,"\\","/"):e=>e;ZMn=XW(dNn(),1);tWn=eWn,xfr=e=>String(e).split(/[/\\]/u).pop();mfr=iWn;oWn=aWn;uZ="string",Fw="array",lZ="cursor",Lw="indent",zw="align",tU="trim",yg="group",Hw="fill",kO="if-break",rU="indent-if-break",Yw="line-suffix",nU="line-suffix-boundary",qg="line",Kw="label",yO="break-parent",yfr=new Set([lZ,Lw,zw,tU,yg,Hw,kO,rU,Yw,nU,qg,Kw,yO]);cZ=lWn,cWn=e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e);pWn=class extends Error{name="InvalidDocError";constructor(e){super(TWn(e)),this.doc=e}},zse=pWn,z_r={};hWn=_Wn,fWn=()=>{},UAe=fWn;qfr={type:yO},Cfr={type:qg,hard:!0},dWn={type:qg},Mse=[Cfr,qfr],wse={type:lZ};kWn=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},I7=kWn,yWn=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE89\uDE8F-\uDEC2\uDEC6\uDECE-\uDEDC\uDEDF-\uDEE9]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;AWn=e=>!(qWn(e)||CWn(e)),gWn=/[^\x20-\x7F]/u;b3t=bWn;r5=Symbol("MODE_BREAK"),XD=Symbol("MODE_FLAT"),Pse=Symbol("cursor"),GAt=Symbol("DOC_FILL_PRINTED_LENGTH");O3t=NWn,wWn=class{constructor(e){eS(this,rZ),this.stack=[e]}get key(){let{stack:e,siblings:t}=this;return I7(!1,e,t===null?-2:-4)??null}get index(){return this.siblings===null?null:I7(!1,this.stack,-2)}get node(){return I7(!1,this.stack,-1)}get parent(){return this.getNode(1)}get grandparent(){return this.getNode(2)}get isInArray(){return this.siblings!==null}get siblings(){let{stack:e}=this,t=I7(!1,e,-3);return Array.isArray(t)?t:null}get next(){let{siblings:e}=this;return e===null?null:e[this.index+1]}get previous(){let{siblings:e}=this;return e===null?null:e[this.index-1]}get isFirst(){return this.index===0}get isLast(){let{siblings:e,index:t}=this;return e!==null&&t===e.length-1}get isRoot(){return this.stack.length===1}get root(){return this.stack[0]}get ancestors(){return[...$se(this,rZ,mAe).call(this)]}getName(){let{stack:e}=this,{length:t}=e;return t>1?I7(!1,e,-2):null}getValue(){return I7(!1,this.stack,-1)}getNode(e=0){let t=$se(this,rZ,JAt).call(this,e);return t===-1?null:this.stack[t]}getParentNode(e=0){return this.getNode(e+1)}call(e,...t){let{stack:r}=this,{length:n}=r,i=I7(!1,r,-1);for(let s of t)i=i[s],r.push(s,i);try{return e(this)}finally{r.length=n}}callParent(e,t=0){let r=$se(this,rZ,JAt).call(this,t+1),n=this.stack.splice(r+1);try{return e(this)}finally{this.stack.push(...n)}}each(e,...t){let{stack:r}=this,{length:n}=r,i=I7(!1,r,-1);for(let s of t)i=i[s],r.push(s,i);try{for(let s=0;s{r[i]=e(n,i,s)},...t),r}match(...e){let t=this.stack.length-1,r=null,n=this.stack[t--];for(let i of e){if(n===void 0)return!1;let s=null;if(typeof r=="number"&&(s=r,r=this.stack[t--],n=this.stack[t--]),i&&!i(n,r,s))return!1;r=this.stack[t--],n=this.stack[t--]}return!0}findAncestor(e){for(let t of $se(this,rZ,mAe).call(this))if(e(t))return t}hasAncestor(e){for(let t of $se(this,rZ,mAe).call(this))if(e(t))return!0;return!1}};rZ=new WeakSet;JAt=function(e){let{stack:t}=this;for(let r=t.length-1;r>=0;r-=2)if(!Array.isArray(t[r])&&--e<0)return r;return-1};mAe=function*(){let{stack:e}=this;for(let t=e.length-3;t>=0;t-=2){let r=e[t];Array.isArray(r)||(yield r)}};PWn=wWn;IWn=BWn;UWn=Zde(/\s/u),JW=Zde(" "),gfr=Zde(",; "),bfr=Zde(/[^\n\r]/u);RZ=FWn;KW=LWn;HWn=zWn,Efr=new Set(["tokens","comments","parent","enclosingNode","precedingNode","followingNode"]),YWn=e=>Object.keys(e).filter(t=>!Efr.has(t));exe=KWn;qAt=new WeakMap;CAt=()=>!1;vfr=e=>!/[\S\n\u2028\u2029]/u.test(e);S3t=XWn;aUn=iUn,sUn={cursorOffset:{category:"Special",type:"int",default:-1,range:{start:-1,end:1/0,step:1},description:"Print (to stderr) where a cursor at the given position would move to after formatting.",cliCategory:"Editor"},endOfLine:{category:"Global",type:"choice",default:"lf",description:"Which end of line characters to apply.",choices:[{value:"lf",description:"Line Feed only (\\n), common on Linux and macOS as well as inside git repos"},{value:"crlf",description:"Carriage Return + Line Feed characters (\\r\\n), common on Windows"},{value:"cr",description:"Carriage Return character only (\\r), used very rarely"},{value:"auto",description:`Maintain existing +(mixed values within one file are normalised by looking at what's used after the first line)`}]},filepath:{category:"Special",type:"path",description:"Specify the input filepath. This will be used to do parser inference.",cliName:"stdin-filepath",cliCategory:"Other",cliDescription:"Path to the file to pretend that stdin comes from."},insertPragma:{category:"Special",type:"boolean",default:!1,description:"Insert @format pragma into file's first docblock comment.",cliCategory:"Other"},parser:{category:"Global",type:"choice",default:void 0,description:"Which parser to use.",exception:e=>typeof e=="string"||typeof e=="function",choices:[{value:"flow",description:"Flow"},{value:"babel",description:"JavaScript"},{value:"babel-flow",description:"Flow"},{value:"babel-ts",description:"TypeScript"},{value:"typescript",description:"TypeScript"},{value:"acorn",description:"JavaScript"},{value:"espree",description:"JavaScript"},{value:"meriyah",description:"JavaScript"},{value:"css",description:"CSS"},{value:"less",description:"Less"},{value:"scss",description:"SCSS"},{value:"json",description:"JSON"},{value:"json5",description:"JSON5"},{value:"jsonc",description:"JSON with Comments"},{value:"json-stringify",description:"JSON.stringify"},{value:"graphql",description:"GraphQL"},{value:"markdown",description:"Markdown"},{value:"mdx",description:"MDX"},{value:"vue",description:"Vue"},{value:"yaml",description:"YAML"},{value:"glimmer",description:"Ember / Handlebars"},{value:"html",description:"HTML"},{value:"angular",description:"Angular"},{value:"lwc",description:"Lightning Web Components"}]},plugins:{type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>typeof e=="string"||typeof e=="object",cliName:"plugin",cliCategory:"Config"},printWidth:{category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:`Format code ending at a given character offset (exclusive). +The range will extend forwards to the end of the selected statement.`,cliCategory:"Editor"},rangeStart:{category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:`Format code starting at a given character offset. +The range will extend backwards to the start of the first line containing the selected statement.`,cliCategory:"Editor"},requirePragma:{category:"Special",type:"boolean",default:!1,description:`Require either '@prettier' or '@format' to be present in the file's first docblock comment +in order for it to be formatted.`,cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{category:"Global",type:"choice",default:"auto",description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};$fr=RUn,cUn=(e,t,r)=>{if(!(e&&t==null)){if(t.findLast)return t.findLast(r);for(let n=t.length-1;n>=0;n--){let i=t[n];if(r(i,n,t))return i}}},Qfr=cUn;XAt={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null};Gse=_Un,hUn=XW(mhr(),1);txe=fUn;yUn=kUn;CUn=qUn;gUn=AUn,bUn=(e,t,r)=>{if(!(e&&t==null)){if(t.findLastIndex)return t.findLastIndex(r);for(let n=t.length-1;n>=0;n--){let i=t[n];if(r(i,n,t))return n}return-1}},EUn=bUn,vUn=({parser:e})=>e==="json"||e==="json5"||e==="jsonc"||e==="json-stringify";Ifr=new Set(["JsonRoot","ObjectExpression","ArrayExpression","StringLiteral","NumericLiteral","BooleanLiteral","NullLiteral","UnaryExpression","TemplateLiteral"]),QUn=new Set(["OperationDefinition","FragmentDefinition","VariableDefinition","TypeExtensionDefinition","ObjectTypeDefinition","FieldDefinition","DirectiveDefinition","EnumTypeDefinition","EnumValueDefinition","InputValueDefinition","InputObjectTypeDefinition","SchemaDefinition","OperationTypeDefinition","InterfaceTypeDefinition","UnionTypeDefinition","ScalarTypeDefinition"]);Mfr="\uFEFF",ehr=Symbol("cursor");Lfr={};jde(Lfr,{CATEGORY_CONFIG:()=>UUn,CATEGORY_EDITOR:()=>FUn,CATEGORY_FORMAT:()=>LUn,CATEGORY_GLOBAL:()=>YUn,CATEGORY_OTHER:()=>zUn,CATEGORY_OUTPUT:()=>HUn,CATEGORY_SPECIAL:()=>KUn});UUn="Config",FUn="Editor",LUn="Format",zUn="Other",HUn="Output",YUn="Global",KUn="Special",zfr={};jde(zfr,{languages:()=>fFn,options:()=>hFn,parsers:()=>dFn,printers:()=>xFn});GUn=[{linguistLanguageId:50,name:"CSS",type:"markup",tmScope:"source.css",aceMode:"css",codemirrorMode:"css",codemirrorMimeType:"text/css",color:"#563d7c",extensions:[".css",".wxss"],parsers:["css"],vscodeLanguageIds:["css"]},{linguistLanguageId:262764437,name:"PostCSS",type:"markup",color:"#dc3a0c",tmScope:"source.postcss",group:"CSS",extensions:[".pcss",".postcss"],aceMode:"text",parsers:["css"],vscodeLanguageIds:["postcss"]},{linguistLanguageId:198,name:"Less",type:"markup",color:"#1d365d",aliases:["less-css"],extensions:[".less"],tmScope:"source.css.less",aceMode:"less",codemirrorMode:"css",codemirrorMimeType:"text/css",parsers:["less"],vscodeLanguageIds:["less"]},{linguistLanguageId:329,name:"SCSS",type:"markup",color:"#c6538c",tmScope:"source.css.scss",aceMode:"scss",codemirrorMode:"css",codemirrorMimeType:"text/x-scss",extensions:[".scss"],parsers:["scss"],vscodeLanguageIds:["scss"]}],QA={bracketSpacing:{category:"Common",type:"boolean",default:!0,description:"Print spaces between brackets.",oppositeDescription:"Do not print spaces between brackets."},singleQuote:{category:"Common",type:"boolean",default:!1,description:"Use single quotes instead of double quotes."},proseWrap:{category:"Common",type:"choice",default:"preserve",description:"How to wrap prose.",choices:[{value:"always",description:"Wrap prose if it exceeds the print width."},{value:"never",description:"Do not wrap prose."},{value:"preserve",description:"Wrap prose as-is."}]},bracketSameLine:{category:"Common",type:"boolean",default:!1,description:"Put > of opening tags on the last line instead of on a new line."},singleAttributePerLine:{category:"Common",type:"boolean",default:!1,description:"Enforce single attribute per line in HTML, Vue and JSX."}},VUn={singleQuote:QA.singleQuote},jUn=VUn,JUn=[{linguistLanguageId:139,name:"GraphQL",type:"data",color:"#e10098",extensions:[".graphql",".gql",".graphqls"],tmScope:"source.graphql",aceMode:"text",parsers:["graphql"],vscodeLanguageIds:["graphql"]}],XUn={bracketSpacing:QA.bracketSpacing},ZUn=XUn,eFn=[{linguistLanguageId:155,name:"Handlebars",type:"markup",color:"#f7931e",aliases:["hbs","htmlbars"],extensions:[".handlebars",".hbs"],tmScope:"text.html.handlebars",aceMode:"handlebars",parsers:["glimmer"],vscodeLanguageIds:["handlebars"]}],tFn=[{linguistLanguageId:146,name:"Angular",type:"markup",tmScope:"text.html.basic",aceMode:"html",codemirrorMode:"htmlmixed",codemirrorMimeType:"text/html",color:"#e34c26",aliases:["xhtml"],extensions:[".component.html"],parsers:["angular"],vscodeLanguageIds:["html"],filenames:[]},{linguistLanguageId:146,name:"HTML",type:"markup",tmScope:"text.html.basic",aceMode:"html",codemirrorMode:"htmlmixed",codemirrorMimeType:"text/html",color:"#e34c26",aliases:["xhtml"],extensions:[".html",".hta",".htm",".html.hl",".inc",".xht",".xhtml",".mjml"],parsers:["html"],vscodeLanguageIds:["html"]},{linguistLanguageId:146,name:"Lightning Web Components",type:"markup",tmScope:"text.html.basic",aceMode:"html",codemirrorMode:"htmlmixed",codemirrorMimeType:"text/html",color:"#e34c26",aliases:["xhtml"],extensions:[],parsers:["lwc"],vscodeLanguageIds:["html"],filenames:[]},{linguistLanguageId:391,name:"Vue",type:"markup",color:"#41b883",extensions:[".vue"],tmScope:"text.html.vue",aceMode:"html",parsers:["vue"],vscodeLanguageIds:["vue"]}],nhr="HTML",rFn={bracketSameLine:QA.bracketSameLine,htmlWhitespaceSensitivity:{category:nhr,type:"choice",default:"css",description:"How to handle whitespaces in HTML.",choices:[{value:"css",description:"Respect the default value of CSS display property."},{value:"strict",description:"Whitespaces are considered sensitive."},{value:"ignore",description:"Whitespaces are considered insensitive."}]},singleAttributePerLine:QA.singleAttributePerLine,vueIndentScriptAndStyle:{category:nhr,type:"boolean",default:!1,description:"Indent script and style tags in Vue files."}},nFn=rFn,iFn=[{linguistLanguageId:183,name:"JavaScript",type:"programming",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",color:"#f1e05a",aliases:["js","node"],extensions:[".js","._js",".bones",".cjs",".es",".es6",".frag",".gs",".jake",".javascript",".jsb",".jscad",".jsfl",".jslib",".jsm",".jspre",".jss",".mjs",".njs",".pac",".sjs",".ssjs",".xsjs",".xsjslib",".wxs"],filenames:["Jakefile"],interpreters:["chakra","d8","gjs","js","node","nodejs","qjs","rhino","v8","v8-shell","zx"],parsers:["babel","acorn","espree","meriyah","babel-flow","babel-ts","flow","typescript"],vscodeLanguageIds:["javascript","mongo"]},{linguistLanguageId:183,name:"Flow",type:"programming",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",color:"#f1e05a",aliases:[],extensions:[".js.flow"],filenames:[],interpreters:["chakra","d8","gjs","js","node","nodejs","qjs","rhino","v8","v8-shell"],parsers:["flow","babel-flow"],vscodeLanguageIds:["javascript"]},{linguistLanguageId:183,name:"JSX",type:"programming",tmScope:"source.js.jsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",color:void 0,aliases:void 0,extensions:[".jsx"],filenames:void 0,interpreters:void 0,parsers:["babel","babel-flow","babel-ts","flow","typescript","espree","meriyah"],vscodeLanguageIds:["javascriptreact"],group:"JavaScript"},{linguistLanguageId:378,name:"TypeScript",type:"programming",color:"#3178c6",aliases:["ts"],interpreters:["deno","ts-node"],extensions:[".ts",".cts",".mts"],tmScope:"source.ts",aceMode:"typescript",codemirrorMode:"javascript",codemirrorMimeType:"application/typescript",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescript"]},{linguistLanguageId:94901924,name:"TSX",type:"programming",color:"#3178c6",group:"TypeScript",extensions:[".tsx"],tmScope:"source.tsx",aceMode:"javascript",codemirrorMode:"jsx",codemirrorMimeType:"text/jsx",parsers:["typescript","babel-ts"],vscodeLanguageIds:["typescriptreact"]}],tZ="JavaScript",aFn={arrowParens:{category:tZ,type:"choice",default:"always",description:"Include parentheses around a sole arrow function parameter.",choices:[{value:"always",description:"Always include parens. Example: `(x) => x`"},{value:"avoid",description:"Omit parens when possible. Example: `x => x`"}]},bracketSameLine:QA.bracketSameLine,bracketSpacing:QA.bracketSpacing,jsxBracketSameLine:{category:tZ,type:"boolean",description:"Put > on the last line instead of at a new line.",deprecated:"2.4.0"},semi:{category:tZ,type:"boolean",default:!0,description:"Print semicolons.",oppositeDescription:"Do not print semicolons, except at the beginning of lines which may need them."},experimentalTernaries:{category:tZ,type:"boolean",default:!1,description:"Use curious ternaries, with the question mark after the condition.",oppositeDescription:"Default behavior of ternaries; keep question marks on the same line as the consequent."},singleQuote:QA.singleQuote,jsxSingleQuote:{category:tZ,type:"boolean",default:!1,description:"Use single quotes in JSX."},quoteProps:{category:tZ,type:"choice",default:"as-needed",description:"Change when properties in objects are quoted.",choices:[{value:"as-needed",description:"Only add quotes around object properties where required."},{value:"consistent",description:"If at least one property in an object requires quotes, quote all properties."},{value:"preserve",description:"Respect the input use of quotes in object properties."}]},trailingComma:{category:tZ,type:"choice",default:"all",description:"Print trailing commas wherever possible when multi-line.",choices:[{value:"all",description:"Trailing commas wherever possible (including function arguments)."},{value:"es5",description:"Trailing commas where valid in ES5 (objects, arrays, etc.)"},{value:"none",description:"No trailing commas."}]},singleAttributePerLine:QA.singleAttributePerLine},sFn=aFn,oFn=[{linguistLanguageId:174,name:"JSON.stringify",type:"data",color:"#292929",tmScope:"source.json",aceMode:"json",codemirrorMode:"javascript",codemirrorMimeType:"application/json",aliases:["geojson","jsonl","topojson"],extensions:[".importmap"],filenames:["package.json","package-lock.json","composer.json"],parsers:["json-stringify"],vscodeLanguageIds:["json"]},{linguistLanguageId:174,name:"JSON",type:"data",color:"#292929",tmScope:"source.json",aceMode:"json",codemirrorMode:"javascript",codemirrorMimeType:"application/json",aliases:["geojson","jsonl","topojson"],extensions:[".json",".4DForm",".4DProject",".avsc",".geojson",".gltf",".har",".ice",".JSON-tmLanguage",".mcmeta",".tfstate",".tfstate.backup",".topojson",".webapp",".webmanifest",".yy",".yyp"],filenames:[".all-contributorsrc",".arcconfig",".auto-changelog",".c8rc",".htmlhintrc",".imgbotconfig",".nycrc",".tern-config",".tern-project",".watchmanconfig","Pipfile.lock","composer.lock","flake.lock","mcmod.info",".babelrc",".jscsrc",".jshintrc",".jslintrc",".swcrc"],parsers:["json"],vscodeLanguageIds:["json"]},{linguistLanguageId:423,name:"JSON with Comments",type:"data",color:"#292929",group:"JSON",tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"text/javascript",aliases:["jsonc"],extensions:[".jsonc",".code-snippets",".code-workspace",".sublime-build",".sublime-commands",".sublime-completions",".sublime-keymap",".sublime-macro",".sublime-menu",".sublime-mousemap",".sublime-project",".sublime-settings",".sublime-theme",".sublime-workspace",".sublime_metrics",".sublime_session"],filenames:[],parsers:["jsonc"],vscodeLanguageIds:["jsonc"]},{linguistLanguageId:175,name:"JSON5",type:"data",color:"#267CB9",extensions:[".json5"],tmScope:"source.js",aceMode:"javascript",codemirrorMode:"javascript",codemirrorMimeType:"application/json",parsers:["json5"],vscodeLanguageIds:["json5"]}],RFn=[{linguistLanguageId:222,name:"Markdown",type:"prose",color:"#083fa1",aliases:["md","pandoc"],aceMode:"markdown",codemirrorMode:"gfm",codemirrorMimeType:"text/x-gfm",wrap:!0,extensions:[".md",".livemd",".markdown",".mdown",".mdwn",".mkd",".mkdn",".mkdown",".ronn",".scd",".workbook"],filenames:["contents.lr","README"],tmScope:"text.md",parsers:["markdown"],vscodeLanguageIds:["markdown"]},{linguistLanguageId:222,name:"MDX",type:"prose",color:"#083fa1",aliases:["md","pandoc"],aceMode:"markdown",codemirrorMode:"gfm",codemirrorMimeType:"text/x-gfm",wrap:!0,extensions:[".mdx"],filenames:[],tmScope:"text.md",parsers:["mdx"],vscodeLanguageIds:["mdx"]}],uFn={proseWrap:QA.proseWrap,singleQuote:QA.singleQuote},lFn=uFn,cFn=[{linguistLanguageId:407,name:"YAML",type:"data",color:"#cb171e",tmScope:"source.yaml",aliases:["yml"],extensions:[".yml",".mir",".reek",".rviz",".sublime-syntax",".syntax",".yaml",".yaml-tmlanguage",".yaml.sed",".yml.mysql"],filenames:[".clang-format",".clang-tidy",".gemrc","CITATION.cff","glide.lock",".prettierrc",".stylelintrc",".lintstagedrc"],aceMode:"yaml",codemirrorMode:"yaml",codemirrorMimeType:"text/x-yaml",parsers:["yaml"],vscodeLanguageIds:["yaml","ansible","home-assistant"]}],TFn={bracketSpacing:QA.bracketSpacing,singleQuote:QA.singleQuote,proseWrap:QA.proseWrap},pFn=TFn;hFn={...jUn,...ZUn,...nFn,...sFn,...lFn,...pFn},fFn=[...GUn,...JUn,...eFn,...tFn,...iFn,...oFn,...RFn,...cFn],{parsers:dFn,printers:xFn}=_Fn([{importPlugin:()=>Promise.resolve().then(()=>(XXt(),JXt)),parsers:["acorn","espree"]},{importPlugin:()=>Promise.resolve().then(()=>(Xer(),Jer)),parsers:["__ng_action","__ng_binding","__ng_interpolation","__ng_directive"]},{importPlugin:()=>Promise.resolve().then(()=>(Atr(),Ctr)),parsers:["babel","babel-flow","babel-ts","__js_expression","__ts_expression","__vue_expression","__vue_ts_expression","__vue_event_binding","__vue_ts_event_binding","__babel_estree","json","json5","jsonc","json-stringify"]},{importPlugin:()=>Promise.resolve().then(()=>(cir(),lir)),printers:["estree","estree-json"]},{importPlugin:()=>Promise.resolve().then(()=>(kir(),mir)),parsers:["flow"]},{importPlugin:()=>Promise.resolve().then(()=>(Bar(),Par)),parsers:["glimmer"],printers:["glimmer"]},{importPlugin:()=>Promise.resolve().then(()=>(psr(),Tsr)),parsers:["graphql"],printers:["graphql"]},{importPlugin:()=>Promise.resolve().then(()=>(jor(),Vor)),parsers:["html","angular","vue","lwc"],printers:["html"]},{importPlugin:()=>Promise.resolve().then(()=>(J0r(),j0r)),parsers:["markdown","mdx","remark"],printers:["mdast"]},{importPlugin:()=>Promise.resolve().then(()=>(KRr(),YRr)),parsers:["meriyah"]},{importPlugin:()=>Promise.resolve().then(()=>(olr(),slr)),parsers:["css","less","scss"],printers:["postcss"]},{importPlugin:()=>Promise.resolve().then(()=>(O1r(),E1r)),parsers:["typescript"]},{importPlugin:()=>Promise.resolve().then(()=>(Mpr(),Ipr)),parsers:["yaml"],printers:["yaml"]}]);kFn=mFn;CFn=qFn;kAe=new Map;vFn=OFn;SFn=DFn,Hfr="3.4.2",Q3t={};jde(Q3t,{addDanglingComment:()=>nZ,addLeadingComment:()=>Bse,addTrailingComment:()=>Ise,getAlignmentSize:()=>O3t,getIndentSize:()=>BFn,getMaxContinuousCount:()=>WFn,getNextNonSpaceNonCommentCharacter:()=>FFn,getNextNonSpaceNonCommentCharacterIndex:()=>XFn,getPreferredQuote:()=>zFn,getStringWidth:()=>b3t,hasNewline:()=>KW,hasNewlineInRange:()=>YFn,hasSpaces:()=>GFn,isNextLineEmpty:()=>rLn,isNextLineEmptyAfterIndex:()=>B3t,isPreviousLineEmpty:()=>eLn,makeString:()=>jFn,skip:()=>Zde,skipEverythingButNewLine:()=>bfr,skipInlineComment:()=>N3t,skipNewline:()=>RZ,skipSpaces:()=>JW,skipToLineEnd:()=>gfr,skipTrailingComment:()=>w3t,skipWhitespace:()=>UWn});N3t=$Fn;w3t=QFn;P3t=NFn;B3t=wFn;BFn=PFn;WFn=MFn;FFn=UFn,lAe="'",shr='"';zFn=LFn;YFn=HFn;GFn=KFn;jFn=VFn;I3t=HW(Ffr);Gfr=HW(oWn),Vfr=HW($3t,0),jfr={errors:Ehr,optionCategories:Lfr,createIsIgnoredFunction:dfr,formatOptionsHiddenDefaults:XAt,normalizeOptions:$fr,getSupportInfoWithoutPlugins:$3t,normalizeOptionSettings:Sfr,vnopts:{ChoiceSchema:bhr,apiDescriptor:iZ},fastGlob:QNn.default,createTwoFilesPatch:SNn,utils:{omit:SFn},mockable:c3t},Jfr={parse:HW(PUn),formatAST:HW(BUn),formatDoc:HW(IUn),printToDoc:HW(MUn),printDocToString:HW(WUn),mockable:c3t},nLn=khr});var d2r=Le((fmi,f2r)=>{var Hjn="Expected a function",R2r="__lodash_hash_undefined__",u2r=1/0,Yjn="[object Function]",Kjn="[object GeneratorFunction]",Gjn="[object Symbol]",Vjn=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,jjn=/^\w*$/,Jjn=/^\./,Xjn=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Zjn=/[\\^$.*+?()[\]{}|]/g,eJn=/\\(\\)?/g,tJn=/^\[object .+?Constructor\]$/,rJn=typeof global=="object"&&global&&global.Object===Object&&global,nJn=typeof self=="object"&&self&&self.Object===Object&&self,Egt=rJn||nJn||Function("return this")();function iJn(e,t){return e?.[t]}function aJn(e){var t=!1;if(e!=null&&typeof e.toString!="function")try{t=!!(e+"")}catch{}return t}var sJn=Array.prototype,oJn=Function.prototype,l2r=Object.prototype,bgt=Egt["__core-js_shared__"],i2r=function(){var e=/[^.]+$/.exec(bgt&&bgt.keys&&bgt.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),c2r=oJn.toString,Ogt=l2r.hasOwnProperty,T2r=l2r.toString,RJn=RegExp("^"+c2r.call(Ogt).replace(Zjn,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),a2r=Egt.Symbol,uJn=sJn.splice,lJn=p2r(Egt,"Map"),dxe=p2r(Object,"create"),s2r=a2r?a2r.prototype:void 0,o2r=s2r?s2r.toString:void 0;function fZ(e){var t=-1,r=e?e.length:0;for(this.clear();++t-1}function kJn(e,t){var r=this.__data__,n=c3e(r,e);return n<0?r.push([e,t]):r[n][1]=t,this}uoe.prototype.clear=fJn;uoe.prototype.delete=dJn;uoe.prototype.get=xJn;uoe.prototype.has=mJn;uoe.prototype.set=kJn;function dZ(e){var t=-1,r=e?e.length:0;for(this.clear();++tt in e?A2e(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,D3=(e,t)=>{for(var r in t||(t={}))eEt.call(t,r)&&qbt(e,r,t[r]);if(ybt)for(var r of ybt(t))d7r.call(t,r)&&qbt(e,r,t[r]);return e},lTe=(e,t)=>_7r(e,f7r(t)),es=(e,t)=>function(){return e&&(t=(0,e[Opt(e)[0]])(e=0)),t},x7r=(e,t)=>function(){return t||(0,e[Opt(e)[0]])((t={exports:{}}).exports,t),t.exports},Md=(e,t)=>{for(var r in t)A2e(e,r,{get:t[r],enumerable:!0})},m7r=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Opt(t))!eEt.call(e,i)&&i!==r&&A2e(e,i,{get:()=>t[i],enumerable:!(n=h7r(t,i))||n.enumerable});return e},B_=e=>m7r(A2e({},"__esModule",{value:!0}),e),uTe=(e,t,r)=>new Promise((n,i)=>{var s=c=>{try{l(r.next(c))}catch(h){i(h)}},R=c=>{try{l(r.throw(c))}catch(h){i(h)}},l=c=>c.done?n(c.value):Promise.resolve(c.value).then(s,R);l((r=r.apply(e,t)).next())});function k7r(...e){let t=new String(e);return g2e.set(t,e),t}function k2e(e){return e instanceof String&&g2e.has(e)}function Cbt(e){return g2e.get(e)||[]}var g2e,_Te=es({"src/lib/args/pathspec.ts"(){"use strict";g2e=new WeakMap}}),cN,fI=es({"src/lib/errors/git-error.ts"(){"use strict";cN=class extends Error{constructor(e,t){super(t),this.task=e,Object.setPrototypeOf(this,new.target.prototype)}}}}),hTe,Yte=es({"src/lib/errors/git-response-error.ts"(){"use strict";fI(),hTe=class extends cN{constructor(e,t){super(void 0,t||String(e)),this.git=e}}}}),tEt,rEt=es({"src/lib/errors/task-configuration-error.ts"(){"use strict";fI(),tEt=class extends cN{constructor(e){super(void 0,e)}}}});function nEt(e){return typeof e=="function"?e:rj}function iEt(e){return typeof e=="function"&&e!==rj}function aEt(e,t){let r=e.indexOf(t);return r<=0?[e,""]:[e.substr(0,r),e.substr(r+1)]}function sEt(e,t=0){return oEt(e)&&e.length>t?e[t]:void 0}function tj(e,t=0){if(oEt(e)&&e.length>t)return e[e.length-1-t]}function oEt(e){return!!(e&&typeof e.length=="number")}function fTe(e="",t=!0,r=` +`){return e.split(r).reduce((n,i)=>{let s=t?i.trim():i;return s&&n.push(s),n},[])}function vpt(e,t){return fTe(e,!0).map(r=>t(r))}function Dpt(e){return(0,b2e.exists)(e,b2e.FOLDER)}function pl(e,t){return Array.isArray(e)?e.includes(t)||e.push(t):e.add(t),t}function REt(e,t){return Array.isArray(e)&&!e.includes(t)&&e.push(t),e}function E2e(e,t){if(Array.isArray(e)){let r=e.indexOf(t);r>=0&&e.splice(r,1)}else e.delete(t);return t}function Ov(e){return Array.isArray(e)?e:[e]}function uEt(e){return e.replace(/[\s-]+(.)/g,(t,r)=>r.toUpperCase())}function lEt(e){return Ov(e).map(String)}function n1(e,t=0){if(e==null)return t;let r=parseInt(e,10);return isNaN(r)?t:r}function cTe(e,t){let r=[];for(let n=0,i=e.length;nr in e?{[r]:e[r]}:{}))}function hpt(e=0){return new Promise(t=>setTimeout(t,e))}function fpt(e){if(e!==!1)return e}var Hte,rj,dTe,O2e=es({"src/lib/utils/util.ts"(){"use strict";Hte="\0",rj=()=>{},dTe=Object.prototype.toString.call.bind(Object.prototype.toString)}});function vv(e,t,r){return t(e)?e:arguments.length>2?r:void 0}function Spt(e,t){let r=k2e(e)?"string":typeof e;return/number|string|boolean/.test(r)&&(!t||!t.includes(r))}function $pt(e){return!!e&&dTe(e)==="[object Object]"}function TEt(e){return typeof e=="function"}var xTe,Jk,pEt,y2e,Qpt,_Et=es({"src/lib/utils/argument-filters.ts"(){"use strict";O2e(),_Te(),xTe=e=>Array.isArray(e),Jk=e=>typeof e=="string",pEt=e=>Array.isArray(e)&&e.every(Jk),y2e=e=>Jk(e)||Array.isArray(e)&&e.every(Jk),Qpt=e=>e==null||"number|boolean|function".includes(typeof e)?!1:Array.isArray(e)||typeof e=="string"||typeof e.length=="number"}}),dpt,y7r=es({"src/lib/utils/exit-codes.ts"(){"use strict";dpt=(e=>(e[e.SUCCESS=0]="SUCCESS",e[e.ERROR=1]="ERROR",e[e.NOT_FOUND=-2]="NOT_FOUND",e[e.UNCLEAN=128]="UNCLEAN",e))(dpt||{})}}),pTe,q7r=es({"src/lib/utils/git-output-streams.ts"(){"use strict";pTe=class{constructor(e,t){this.stdOut=e,this.stdErr=t}asStrings(){return new pTe(this.stdOut.toString("utf8"),this.stdErr.toString("utf8"))}}}}),Y0,hI,C7r=es({"src/lib/utils/line-parser.ts"(){"use strict";Y0=class{constructor(e,t){this.matches=[],this.parse=(r,n)=>(this.resetMatches(),this._regExp.every((i,s)=>this.addMatch(i,s,r(s)))?this.useMatches(n,this.prepareMatches())!==!1:!1),this._regExp=Array.isArray(e)?e:[e],t&&(this.useMatches=t)}useMatches(e,t){throw new Error("LineParser:useMatches not implemented")}resetMatches(){this.matches.length=0}prepareMatches(){return this.matches}addMatch(e,t,r){let n=r&&e.exec(r);return n&&this.pushMatch(t,n),!!n}pushMatch(e,t){this.matches.push(...t.slice(1))}},hI=class extends Y0{addMatch(e,t,r){return/^remote:\s/.test(String(r))&&super.addMatch(e,t,r)}pushMatch(e,t){(e>0||t.length>1)&&super.pushMatch(e,t)}}}});function hEt(...e){let t=process.cwd(),r=Object.assign(D3({baseDir:t},fEt),...e.filter(n=>typeof n=="object"&&n));return r.baseDir=r.baseDir||t,r.trimmed=r.trimmed===!0,r}var fEt,A7r=es({"src/lib/utils/simple-git-options.ts"(){"use strict";fEt={binary:"git",maxConcurrentProcesses:5,config:[],trimmed:!1}}});function Npt(e,t=[]){return $pt(e)?Object.keys(e).reduce((r,n)=>{let i=e[n];return k2e(i)?r.push(i):Spt(i,["boolean"])?r.push(n+"="+i):r.push(n),r},t):t}function yC(e,t=0,r=!1){let n=[];for(let i=0,s=t<0?e.length:t;i{for(let s=fTe(i,n),R=0,l=s.length;R{if(!(R+h>=l))return s[R+h]};t.some(({parse:h})=>h(c,e))}}),e}var E7r=es({"src/lib/utils/task-parser.ts"(){"use strict";O2e()}}),dEt={};Md(dEt,{ExitCodes:()=>dpt,GitOutputStreams:()=>pTe,LineParser:()=>Y0,NOOP:()=>rj,NULL:()=>Hte,RemoteLineParser:()=>hI,append:()=>pl,appendTaskOptions:()=>Npt,asArray:()=>Ov,asCamelCase:()=>uEt,asFunction:()=>nEt,asNumber:()=>n1,asStringArray:()=>lEt,bufferToString:()=>TTe,callTaskParser:()=>xpt,createInstanceConfig:()=>hEt,delay:()=>hpt,filterArray:()=>xTe,filterFunction:()=>TEt,filterHasLength:()=>Qpt,filterPlainObject:()=>$pt,filterPrimitives:()=>Spt,filterString:()=>Jk,filterStringArray:()=>pEt,filterStringOrStringArray:()=>y2e,filterType:()=>vv,first:()=>sEt,folderExists:()=>Dpt,forEachLineWithContent:()=>vpt,getTrailingOptions:()=>yC,including:()=>REt,isUserFunction:()=>iEt,last:()=>tj,objectToString:()=>dTe,orVoid:()=>fpt,parseStringResponse:()=>CC,pick:()=>cEt,prefixedArray:()=>cTe,remove:()=>E2e,splitOn:()=>aEt,toLinesWithContent:()=>fTe,trailingFunctionArgument:()=>I_,trailingOptionsArgument:()=>wpt});var g0=es({"src/lib/utils/index.ts"(){"use strict";_Et(),y7r(),q7r(),C7r(),A7r(),b7r(),E7r(),O2e()}}),xEt={};Md(xEt,{CheckRepoActions:()=>mpt,checkIsBareRepoTask:()=>kEt,checkIsRepoRootTask:()=>mEt,checkIsRepoTask:()=>O7r});function O7r(e){switch(e){case"bare":return kEt();case"root":return mEt()}return{commands:["rev-parse","--is-inside-work-tree"],format:"utf-8",onError:v2e,parser:Ppt}}function mEt(){return{commands:["rev-parse","--git-dir"],format:"utf-8",onError:v2e,parser(t){return/^\.(git)?$/.test(t.trim())}}}function kEt(){return{commands:["rev-parse","--is-bare-repository"],format:"utf-8",onError:v2e,parser:Ppt}}function v7r(e){return/(Not a git repository|Kein Git-Repository)/i.test(String(e))}var mpt,v2e,Ppt,yEt=es({"src/lib/tasks/check-is-repo.ts"(){"use strict";g0(),mpt=(e=>(e.BARE="bare",e.IN_TREE="tree",e.IS_REPO_ROOT="root",e))(mpt||{}),v2e=({exitCode:e},t,r,n)=>{if(e===128&&v7r(t))return r(Buffer.from("false"));n(t)},Ppt=e=>e.trim()==="true"}});function D7r(e,t){let r=new qEt(e),n=e?AEt:CEt;return fTe(t).forEach(i=>{let s=i.replace(n,"");r.paths.push(s),(gEt.test(s)?r.folders:r.files).push(s)}),r}var qEt,CEt,AEt,gEt,S7r=es({"src/lib/responses/CleanSummary.ts"(){"use strict";g0(),qEt=class{constructor(e){this.dryRun=e,this.paths=[],this.files=[],this.folders=[]}},CEt=/^[a-z]+\s*/i,AEt=/^[a-z]+\s+[a-z]+\s*/i,gEt=/\/$/}}),kpt={};Md(kpt,{EMPTY_COMMANDS:()=>D2e,adhocExecTask:()=>bEt,configurationErrorTask:()=>qC,isBufferTask:()=>OEt,isEmptyTask:()=>vEt,straightThroughBufferTask:()=>EEt,straightThroughStringTask:()=>x4});function bEt(e){return{commands:D2e,format:"empty",parser:e}}function qC(e){return{commands:D2e,format:"empty",parser(){throw typeof e=="string"?new tEt(e):e}}}function x4(e,t=!1){return{commands:e,format:"utf-8",parser(r){return t?String(r).trim():r}}}function EEt(e){return{commands:e,format:"buffer",parser(t){return t}}}function OEt(e){return e.format==="buffer"}function vEt(e){return e.format==="empty"||!e.commands.length}var D2e,Id=es({"src/lib/tasks/task.ts"(){"use strict";rEt(),D2e=[]}}),DEt={};Md(DEt,{CONFIG_ERROR_INTERACTIVE_MODE:()=>Bpt,CONFIG_ERROR_MODE_REQUIRED:()=>Ipt,CONFIG_ERROR_UNKNOWN_OPTION:()=>Mpt,CleanOptions:()=>ej,cleanTask:()=>SEt,cleanWithOptionsTask:()=>$7r,isCleanOptionsArray:()=>Q7r});function $7r(e,t){let{cleanMode:r,options:n,valid:i}=N7r(e);return r?i.options?(n.push(...t),n.some(B7r)?qC(Bpt):SEt(r,n)):qC(Mpt+JSON.stringify(e)):qC(Ipt)}function SEt(e,t){return{commands:["clean",`-${e}`,...t],format:"utf-8",parser(n){return D7r(e==="n",n)}}}function Q7r(e){return Array.isArray(e)&&e.every(t=>Wpt.has(t))}function N7r(e){let t,r=[],n={cleanMode:!1,options:!0};return e.replace(/[^a-z]i/g,"").split("").forEach(i=>{w7r(i)?(t=i,n.cleanMode=!0):n.options=n.options&&P7r(r[r.length]=`-${i}`)}),{cleanMode:t,options:r,valid:n}}function w7r(e){return e==="f"||e==="n"}function P7r(e){return/^-[a-z]$/i.test(e)&&Wpt.has(e.charAt(1))}function B7r(e){return/^-[^\-]/.test(e)?e.indexOf("i")>0:e==="--interactive"}var Bpt,Ipt,Mpt,ej,Wpt,$Et=es({"src/lib/tasks/clean.ts"(){"use strict";S7r(),g0(),Id(),Bpt="Git clean interactive mode is not supported",Ipt='Git clean mode parameter ("n" or "f") is required',Mpt="Git clean unknown option found in: ",ej=(e=>(e.DRY_RUN="n",e.FORCE="f",e.IGNORED_INCLUDED="x",e.IGNORED_ONLY="X",e.EXCLUDING="e",e.QUIET="q",e.RECURSIVE="d",e))(ej||{}),Wpt=new Set(["i",...lEt(Object.values(ej))])}});function I7r(e){let t=new NEt;for(let r of QEt(e))t.addValue(r.file,String(r.key),r.value);return t}function M7r(e,t){let r=null,n=[],i=new Map;for(let s of QEt(e,t))s.key===t&&(n.push(r=s.value),i.has(s.file)||i.set(s.file,[]),i.get(s.file).push(r));return{key:t,paths:Array.from(i.keys()),scopes:i,value:r,values:n}}function W7r(e){return e.replace(/^(file):/,"")}function*QEt(e,t=null){let r=e.split("\0");for(let n=0,i=r.length-1;nObject.assign(e,this.values[t]),{})),this._all}addFile(e){if(!(e in this.values)){let t=tj(this.files);this.values[e]=t?Object.create(this.values[t]):{},this.files.push(e)}return this.values[e]}addValue(e,t,r){let n=this.addFile(e);n.hasOwnProperty(t)?Array.isArray(n[t])?n[t].push(r):n[t]=[n[t],r]:n[t]=r,this._all=void 0}}}});function upt(e,t){return typeof e=="string"&&ypt.hasOwnProperty(e)?e:t}function F7r(e,t,r,n){let i=["config",`--${n}`];return r&&i.push("--add"),i.push(e,t),{commands:i,format:"utf-8",parser(s){return s}}}function L7r(e,t){let r=["config","--null","--show-origin","--get-all",e];return t&&r.splice(1,0,`--${t}`),{commands:r,format:"utf-8",parser(n){return M7r(n,e)}}}function z7r(e){let t=["config","--list","--show-origin","--null"];return e&&t.push(`--${e}`),{commands:t,format:"utf-8",parser(r){return I7r(r)}}}function H7r(){return{addConfig(e,t,...r){return this._runTask(F7r(e,t,r[0]===!0,upt(r[1],"local")),I_(arguments))},getConfig(e,t){return this._runTask(L7r(e,upt(t,void 0)),I_(arguments))},listConfig(...e){return this._runTask(z7r(upt(e[0],void 0)),I_(arguments))}}}var ypt,wEt=es({"src/lib/tasks/config.ts"(){"use strict";U7r(),g0(),ypt=(e=>(e.system="system",e.global="global",e.local="local",e.worktree="worktree",e))(ypt||{})}});function Y7r(e){return PEt.has(e)}var lpt,PEt,BEt=es({"src/lib/tasks/diff-name-status.ts"(){"use strict";lpt=(e=>(e.ADDED="A",e.COPIED="C",e.DELETED="D",e.MODIFIED="M",e.RENAMED="R",e.CHANGED="T",e.UNMERGED="U",e.UNKNOWN="X",e.BROKEN="B",e))(lpt||{}),PEt=new Set(Object.values(lpt))}});function K7r(...e){return new MEt().param(...e)}function G7r(e){let t=new Set,r={};return vpt(e,n=>{let[i,s,R]=n.split(Hte);t.add(i),(r[i]=r[i]||[]).push({line:n1(s),path:i,preview:R})}),{paths:t,results:r}}function V7r(){return{grep(e){let t=I_(arguments),r=yC(arguments);for(let i of IEt)if(r.includes(i))return this._runTask(qC(`git.grep: use of "${i}" is not supported.`),t);typeof e=="string"&&(e=K7r().param(e));let n=["grep","--null","-n","--full-name",...r,...e];return this._runTask({commands:n,format:"utf-8",parser(i){return G7r(i)}},t)}}}var IEt,RTe,Abt,MEt,WEt=es({"src/lib/tasks/grep.ts"(){"use strict";g0(),Id(),IEt=["-h"],RTe=Symbol("grepQuery"),MEt=class{constructor(){this[Abt]=[]}*[(Abt=RTe,Symbol.iterator)](){for(let e of this[RTe])yield e}and(...e){return e.length&&this[RTe].push("--and","(",...cTe(e,"-e"),")"),this}param(...e){return this[RTe].push(...cTe(e,"-e")),this}}}}),UEt={};Md(UEt,{ResetMode:()=>d2e,getResetMode:()=>J7r,resetTask:()=>j7r});function j7r(e,t){let r=["reset"];return FEt(e)&&r.push(`--${e}`),r.push(...t),x4(r)}function J7r(e){if(FEt(e))return e;switch(typeof e){case"string":case"undefined":return"soft"}}function FEt(e){return LEt.includes(e)}var d2e,LEt,zEt=es({"src/lib/tasks/reset.ts"(){"use strict";Id(),d2e=(e=>(e.MIXED="mixed",e.SOFT="soft",e.HARD="hard",e.MERGE="merge",e.KEEP="keep",e))(d2e||{}),LEt=Array.from(Object.values(d2e))}});function X7r(){return(0,q2e.default)("simple-git")}function gbt(e,t,r){return!t||!String(t).replace(/\s*/,"")?r?(n,...i)=>{e(n,...i),r(n,...i)}:e:(n,...i)=>{e(`%s ${n}`,t,...i),r&&r(n,...i)}}function Z7r(e,t,{namespace:r}){if(typeof e=="string")return e;let n=t&&t.namespace||"";return n.startsWith(r)?n.substr(r.length+1):n||r}function Upt(e,t,r,n=X7r()){let i=e&&`[${e}]`||"",s=[],R=typeof t=="string"?n.extend(t):t,l=Z7r(vv(t,Jk),R,n);return h(r);function c(_,f){return pl(s,Upt(e,l.replace(/^[^:]+/,_),f,n))}function h(_){let f=_&&`[${_}]`||"",m=R&&gbt(R,f)||rj,x=gbt(n,`${i} ${f}`,m);return Object.assign(R?m:x,{label:e,sibling:c,info:x,step:h})}}var HEt=es({"src/lib/git-logger.ts"(){"use strict";g0(),q2e.default.formatters.L=e=>String(Qpt(e)?e.length:"-"),q2e.default.formatters.B=e=>Buffer.isBuffer(e)?e.toString("utf8"):dTe(e)}}),h2e,qpt,emr=es({"src/lib/runners/tasks-pending-queue.ts"(){"use strict";fI(),HEt(),h2e=class{constructor(e="GitExecutor"){this.logLabel=e,this._queue=new Map}withProgress(e){return this._queue.get(e)}createProgress(e){let t=h2e.getName(e.commands[0]),r=Upt(this.logLabel,t);return{task:e,logger:r,name:t}}push(e){let t=this.createProgress(e);return t.logger("Adding task to the queue, commands = %o",e.commands),this._queue.set(e,t),t}fatal(e){for(let[t,{logger:r}]of Array.from(this._queue.entries()))t===e.task?(r.info("Failed %o",e),r("Fatal exception, any as-yet un-started tasks run through this executor will not be attempted")):r.info("A fatal exception occurred in a previous task, the queue has been purged: %o",e.message),this.complete(t);if(this._queue.size!==0)throw new Error(`Queue size should be zero after fatal: ${this._queue.size}`)}complete(e){this.withProgress(e)&&this._queue.delete(e)}attempt(e){let t=this.withProgress(e);if(!t)throw new cN(void 0,"TasksPendingQueue: attempt called for an unknown task");return t.logger("Starting task"),t}static getName(e="empty"){return`task:${e}:${++h2e.counter}`}},qpt=h2e,qpt.counter=0}});function ZV(e,t){return{method:sEt(e.commands)||"",commands:t}}function rmr(e,t){return r=>{t("[ERROR] child process exception %o",r),e.push(Buffer.from(String(r.stack),"ascii"))}}function bbt(e,t,r,n){return i=>{r("%s received %L bytes",t,i),n("%B",i),e.push(i)}}var Cpt,nmr=es({"src/lib/runners/git-executor-chain.ts"(){"use strict";fI(),Id(),g0(),emr(),Cpt=class{constructor(e,t,r){this._executor=e,this._scheduler=t,this._plugins=r,this._chain=Promise.resolve(),this._queue=new qpt}get cwd(){return this._cwd||this._executor.cwd}set cwd(e){this._cwd=e}get env(){return this._executor.env}get outputHandler(){return this._executor.outputHandler}chain(){return this}push(e){return this._queue.push(e),this._chain=this._chain.then(()=>this.attemptTask(e))}attemptTask(e){return uTe(this,null,function*(){let t=yield this._scheduler.next(),r=()=>this._queue.complete(e);try{let{logger:n}=this._queue.attempt(e);return yield vEt(e)?this.attemptEmptyTask(e,n):this.attemptRemoteTask(e,n)}catch(n){throw this.onFatalException(e,n)}finally{r(),t()}})}onFatalException(e,t){let r=t instanceof cN?Object.assign(t,{task:e}):new cN(e,t&&String(t));return this._chain=Promise.resolve(),this._queue.fatal(r),r}attemptRemoteTask(e,t){return uTe(this,null,function*(){let r=this._plugins.exec("spawn.binary","",ZV(e,e.commands)),n=this._plugins.exec("spawn.args",[...e.commands],ZV(e,e.commands)),i=yield this.gitResponse(e,r,n,this.outputHandler,t.step("SPAWN")),s=yield this.handleTaskData(e,n,i,t.step("HANDLE"));return t("passing response to task's parser as a %s",e.format),OEt(e)?xpt(e.parser,s):xpt(e.parser,s.asStrings())})}attemptEmptyTask(e,t){return uTe(this,null,function*(){return t("empty task bypassing child process to call to task's parser"),e.parser(this)})}handleTaskData(e,t,r,n){let{exitCode:i,rejection:s,stdOut:R,stdErr:l}=r;return new Promise((c,h)=>{n("Preparing to handle process response exitCode=%d stdOut=",i);let{error:_}=this._plugins.exec("task.error",{error:s},D3(D3({},ZV(e,t)),r));if(_&&e.onError)return n.info("exitCode=%s handling with custom error handler"),e.onError(r,_,f=>{n.info("custom error handler treated as success"),n("custom error returned a %s",dTe(f)),c(new pTe(Array.isArray(f)?Buffer.concat(f):f,Buffer.concat(l)))},h);if(_)return n.info("handling as error: exitCode=%s stdErr=%s rejection=%o",i,l.length,s),h(_);n.info("retrieving task output complete"),c(new pTe(Buffer.concat(R),Buffer.concat(l)))})}gitResponse(e,t,r,n,i){return uTe(this,null,function*(){let s=i.sibling("output"),R=this._plugins.exec("spawn.options",{cwd:this.cwd,env:this.env,windowsHide:!0},ZV(e,e.commands));return new Promise(l=>{let c=[],h=[];i.info("%s %o",t,r),i("%O",R);let _=this._beforeSpawn(e,r);if(_)return l({stdOut:c,stdErr:h,exitCode:9901,rejection:_});this._plugins.exec("spawn.before",void 0,lTe(D3({},ZV(e,r)),{kill(m){_=m||_}}));let f=tmr(t,r,R);f.stdout.on("data",bbt(c,"stdOut",i,s.step("stdOut"))),f.stderr.on("data",bbt(h,"stdErr",i,s.step("stdErr"))),f.on("error",rmr(h,i)),n&&(i("Passing child process stdOut/stdErr to custom outputHandler"),n(t,f.stdout,f.stderr,[...r])),this._plugins.exec("spawn.after",void 0,lTe(D3({},ZV(e,r)),{spawned:f,close(m,x){l({stdOut:c,stdErr:h,exitCode:m,rejection:_||x})},kill(m){f.killed||(_=m,f.kill("SIGINT"))}}))})})}_beforeSpawn(e,t){let r;return this._plugins.exec("spawn.before",void 0,lTe(D3({},ZV(e,t)),{kill(n){r=n||r}})),r}}}}),YEt={};Md(YEt,{GitExecutor:()=>KEt});var KEt,imr=es({"src/lib/runners/git-executor.ts"(){"use strict";nmr(),KEt=class{constructor(e,t,r){this.cwd=e,this._scheduler=t,this._plugins=r,this._chain=new Cpt(this,this._scheduler,this._plugins)}chain(){return new Cpt(this,this._scheduler,this._plugins)}push(e){return this._chain.push(e)}}}});function amr(e,t,r=rj){let n=s=>{r(null,s)},i=s=>{s?.task===e&&r(s instanceof hTe?smr(s):s,void 0)};t.then(n,i)}function smr(e){let t=n=>{console.warn(`simple-git deprecation notice: accessing GitResponseError.${n} should be GitResponseError.git.${n}, this will no longer be available in version 3`),t=rj};return Object.create(e,Object.getOwnPropertyNames(e.git).reduce(r,{}));function r(n,i){return i in e||(n[i]={enumerable:!1,configurable:!1,get(){return t(i),e.git[i]}}),n}}var omr=es({"src/lib/task-callback.ts"(){"use strict";Yte(),g0()}});function Ebt(e,t){return bEt(r=>{if(!Dpt(e))throw new Error(`Git.cwd: cannot change to non-directory "${e}"`);return(t||r).cwd=e})}var Rmr=es({"src/lib/tasks/change-working-directory.ts"(){"use strict";g0(),Id()}});function cpt(e){let t=["checkout",...e];return t[1]==="-b"&&t.includes("-B")&&(t[1]=E2e(t,"-B")),x4(t)}function umr(){return{checkout(){return this._runTask(cpt(yC(arguments,1)),I_(arguments))},checkoutBranch(e,t){return this._runTask(cpt(["-b",e,t,...yC(arguments)]),I_(arguments))},checkoutLocalBranch(e){return this._runTask(cpt(["-b",e,...yC(arguments)]),I_(arguments))}}}var lmr=es({"src/lib/tasks/checkout.ts"(){"use strict";g0(),Id()}});function cmr(){return{count:0,garbage:0,inPack:0,packs:0,prunePackable:0,size:0,sizeGarbage:0,sizePack:0}}function Tmr(){return{countObjects(){return this._runTask({commands:["count-objects","--verbose"],format:"utf-8",parser(e){return CC(cmr(),[GEt],e)}})}}}var GEt,pmr=es({"src/lib/tasks/count-objects.ts"(){"use strict";g0(),GEt=new Y0(/([a-z-]+): (\d+)$/,(e,[t,r])=>{let n=uEt(t);e.hasOwnProperty(n)&&(e[n]=n1(r))})}});function _mr(e){return CC({author:null,branch:"",commit:"",root:!1,summary:{changes:0,insertions:0,deletions:0}},VEt,e)}var VEt,hmr=es({"src/lib/parsers/parse-commit.ts"(){"use strict";g0(),VEt=[new Y0(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/,(e,[t,r,n])=>{e.branch=t,e.commit=n,e.root=!!r}),new Y0(/\s*Author:\s(.+)/i,(e,[t])=>{let r=t.split("<"),n=r.pop();!n||!n.includes("@")||(e.author={email:n.substr(0,n.length-1),name:r.join("<").trim()})}),new Y0(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g,(e,[t,r,n])=>{e.summary.changes=parseInt(t,10)||0,e.summary.insertions=parseInt(r,10)||0,e.summary.deletions=parseInt(n,10)||0}),new Y0(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/,(e,[t,r,n])=>{e.summary.changes=parseInt(t,10)||0;let i=parseInt(r,10)||0;n==="-"?e.summary.deletions=i:n==="+"&&(e.summary.insertions=i)})]}});function fmr(e,t,r){return{commands:["-c","core.abbrev=40","commit",...cTe(e,"-m"),...t,...r],format:"utf-8",parser:_mr}}function dmr(){return{commit(t,...r){let n=I_(arguments),i=e(t)||fmr(Ov(t),Ov(vv(r[0],y2e,[])),[...vv(r[1],xTe,[]),...yC(arguments,0,!0)]);return this._runTask(i,n)}};function e(t){return!y2e(t)&&qC("git.commit: requires the commit message to be supplied as a string/string[]")}}var xmr=es({"src/lib/tasks/commit.ts"(){"use strict";hmr(),g0(),Id()}});function mmr(){return{firstCommit(){return this._runTask(x4(["rev-list","--max-parents=0","HEAD"],!0),I_(arguments))}}}var kmr=es({"src/lib/tasks/first-commit.ts"(){"use strict";g0(),Id()}});function ymr(e,t){let r=["hash-object",e];return t&&r.push("-w"),x4(r,!0)}var qmr=es({"src/lib/tasks/hash-object.ts"(){"use strict";Id()}});function Cmr(e,t,r){let n=String(r).trim(),i;if(i=jEt.exec(n))return new x2e(e,t,!1,i[1]);if(i=JEt.exec(n))return new x2e(e,t,!0,i[1]);let s="",R=n.split(" ");for(;R.length;)if(R.shift()==="in"){s=R.join(" ");break}return new x2e(e,t,/^re/i.test(n),s)}var x2e,jEt,JEt,Amr=es({"src/lib/responses/InitSummary.ts"(){"use strict";x2e=class{constructor(e,t,r,n){this.bare=e,this.path=t,this.existing=r,this.gitDir=n}},jEt=/^Init.+ repository in (.+)$/,JEt=/^Rein.+ in (.+)$/}});function gmr(e){return e.includes(Fpt)}function bmr(e=!1,t,r){let n=["init",...r];return e&&!gmr(n)&&n.splice(1,0,Fpt),{commands:n,format:"utf-8",parser(i){return Cmr(n.includes("--bare"),t,i)}}}var Fpt,Emr=es({"src/lib/tasks/init.ts"(){"use strict";Amr(),Fpt="--bare"}});function Lpt(e){for(let t=0;tCC(new XEt,t,r,!1)}var Tpt,Obt,vbt,Dbt,eOt,tOt=es({"src/lib/parsers/parse-diff-summary.ts"(){"use strict";mTe(),vmr(),BEt(),g0(),Tpt=[new Y0(/^(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/,(e,[t,r,n=""])=>{e.files.push({file:t.trim(),changes:n1(r),insertions:n.replace(/[^+]/g,"").length,deletions:n.replace(/[^-]/g,"").length,binary:!1})}),new Y0(/^(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,(e,[t,r,n])=>{e.files.push({file:t.trim(),before:n1(r),after:n1(n),binary:!0})}),new Y0(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/,(e,[t,r])=>{let n=/(\d+) i/.exec(r),i=/(\d+) d/.exec(r);e.changed=n1(t),e.insertions=n1(n?.[1]),e.deletions=n1(i?.[1])})],Obt=[new Y0(/(\d+)\t(\d+)\t(.+)$/,(e,[t,r,n])=>{let i=n1(t),s=n1(r);e.changed++,e.insertions+=i,e.deletions+=s,e.files.push({file:n,changes:i+s,insertions:i,deletions:s,binary:!1})}),new Y0(/-\t-\t(.+)$/,(e,[t])=>{e.changed++,e.files.push({file:t,after:0,before:0,binary:!0})})],vbt=[new Y0(/(.+)$/,(e,[t])=>{e.changed++,e.files.push({file:t,changes:0,insertions:0,deletions:0,binary:!1})})],Dbt=[new Y0(/([ACDMRTUXB])([0-9]{0,3})\t(.[^\t]*)(\t(.[^\t]*))?$/,(e,[t,r,n,i,s])=>{e.changed++,e.files.push({file:s??n,changes:0,insertions:0,deletions:0,binary:!1,status:fpt(Y7r(t)&&t),from:fpt(!!s&&n!==s&&n),similarity:n1(r)})})],eOt={"":Tpt,"--stat":Tpt,"--numstat":Obt,"--name-status":Dbt,"--name-only":vbt}}});function Dmr(e,t){return t.reduce((r,n,i)=>(r[n]=e[i]||"",r),Object.create({diff:null}))}function rOt(e=Kpt,t=nOt,r=""){let n=ZEt(r);return function(i){let s=fTe(i.trim(),!1,Hpt).map(function(R){let l=R.split(Ypt),c=Dmr(l[0].split(e),t);return l.length>1&&l[1].trim()&&(c.diff=n(l[1])),c});return{all:s,latest:s.length&&s[0]||null,total:s.length}}}var Hpt,Ypt,Kpt,nOt,iOt=es({"src/lib/parsers/parse-list-log-summary.ts"(){"use strict";g0(),tOt(),mTe(),Hpt="\xF2\xF2\xF2\xF2\xF2\xF2 ",Ypt=" \xF2\xF2",Kpt=" \xF2 ",nOt=["hash","date","message","refs","author_name","author_email"]}}),aOt={};Md(aOt,{diffSummaryTask:()=>Smr,validateLogFormatConfig:()=>S2e});function Smr(e){let t=Lpt(e),r=["diff"];return t===""&&(t="--stat",r.push("--stat=4096")),r.push(...e),S2e(r)||{commands:r,format:"utf-8",parser:ZEt(t)}}function S2e(e){let t=e.filter(Omr);if(t.length>1)return qC(`Summary flags are mutually exclusive - pick one of ${t.join(",")}`);if(t.length&&e.includes("-z"))return qC(`Summary flag ${t} parsing is not compatible with null termination option '-z'`)}var Gpt=es({"src/lib/tasks/diff.ts"(){"use strict";mTe(),tOt(),Id()}});function $mr(e,t){let r=[],n=[];return Object.keys(e).forEach(i=>{r.push(i),n.push(String(e[i]))}),[r,n.join(t)]}function Qmr(e){return Object.keys(e).reduce((t,r)=>(r in Apt||(t[r]=e[r]),t),{})}function sOt(e={},t=[]){let r=vv(e.splitter,Jk,Kpt),n=!Spt(e.format)&&e.format?e.format:{hash:"%H",date:e.strictDate===!1?"%ai":"%aI",message:"%s",refs:"%D",body:e.multiLine?"%B":"%b",author_name:e.mailMap!==!1?"%aN":"%an",author_email:e.mailMap!==!1?"%aE":"%ae"},[i,s]=$mr(n,r),R=[],l=[`--pretty=format:${Hpt}${s}${Ypt}`,...t],c=e.n||e["max-count"]||e.maxCount;if(c&&l.push(`--max-count=${c}`),e.from||e.to){let h=e.symmetric!==!1?"...":"..";R.push(`${e.from||""}${h}${e.to||""}`)}return Jk(e.file)&&l.push("--follow",k7r(e.file)),Npt(Qmr(e),l),{fields:i,splitter:r,commands:[...l,...R]}}function Nmr(e,t,r){let n=rOt(e,t,Lpt(r));return{commands:["log",...r],format:"utf-8",parser:n}}function wmr(){return{log(...r){let n=I_(arguments),i=sOt(wpt(arguments),vv(arguments[0],xTe)),s=t(...r)||S2e(i.commands)||e(i);return this._runTask(s,n)}};function e(r){return Nmr(r.splitter,r.fields,r.commands)}function t(r,n){return Jk(r)&&Jk(n)&&qC("git.log(string, string) should be replaced with git.log({ from: string, to: string })")}}var Apt,oOt=es({"src/lib/tasks/log.ts"(){"use strict";mTe(),_Te(),iOt(),g0(),Id(),Gpt(),Apt=(e=>(e[e["--pretty"]=0]="--pretty",e[e["max-count"]=1]="max-count",e[e.maxCount=2]="maxCount",e[e.n=3]="n",e[e.file=4]="file",e[e.format=5]="format",e[e.from=6]="from",e[e.to=7]="to",e[e.splitter=8]="splitter",e[e.symmetric=9]="symmetric",e[e.mailMap=10]="mailMap",e[e.multiLine=11]="multiLine",e[e.strictDate=12]="strictDate",e))(Apt||{})}}),m2e,ROt,Pmr=es({"src/lib/responses/MergeSummary.ts"(){"use strict";m2e=class{constructor(e,t=null,r){this.reason=e,this.file=t,this.meta=r}toString(){return`${this.file}:${this.reason}`}},ROt=class{constructor(){this.conflicts=[],this.merges=[],this.result="success"}get failed(){return this.conflicts.length>0}get reason(){return this.result}toString(){return this.conflicts.length?`CONFLICTS: ${this.conflicts.join(", ")}`:"OK"}}}}),gpt,uOt,Bmr=es({"src/lib/responses/PullSummary.ts"(){"use strict";gpt=class{constructor(){this.remoteMessages={all:[]},this.created=[],this.deleted=[],this.files=[],this.deletions={},this.insertions={},this.summary={changes:0,deletions:0,insertions:0}}},uOt=class{constructor(){this.remote="",this.hash={local:"",remote:""},this.branch={local:"",remote:""},this.message=""}toString(){return this.message}}}});function ppt(e){return e.objects=e.objects||{compressing:0,counting:0,enumerating:0,packReused:0,reused:{count:0,delta:0},total:{count:0,delta:0}}}function Sbt(e){let t=/^\s*(\d+)/.exec(e),r=/delta (\d+)/i.exec(e);return{count:n1(t&&t[1]||"0"),delta:n1(r&&r[1]||"0")}}var lOt,Imr=es({"src/lib/parsers/parse-remote-objects.ts"(){"use strict";g0(),lOt=[new hI(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i,(e,[t,r])=>{let n=t.toLowerCase(),i=ppt(e.remoteMessages);Object.assign(i,{[n]:n1(r)})}),new hI(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i,(e,[t,r])=>{let n=t.toLowerCase(),i=ppt(e.remoteMessages);Object.assign(i,{[n]:n1(r)})}),new hI(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i,(e,[t,r,n])=>{let i=ppt(e.remoteMessages);i.total=Sbt(t),i.reused=Sbt(r),i.packReused=n1(n)})]}});function cOt(e,t){return CC({remoteMessages:new pOt},TOt,t)}var TOt,pOt,_Ot=es({"src/lib/parsers/parse-remote-messages.ts"(){"use strict";g0(),Imr(),TOt=[new hI(/^remote:\s*(.+)$/,(e,[t])=>(e.remoteMessages.all.push(t.trim()),!1)),...lOt,new hI([/create a (?:pull|merge) request/i,/\s(https?:\/\/\S+)$/],(e,[t])=>{e.remoteMessages.pullRequestUrl=t}),new hI([/found (\d+) vulnerabilities.+\(([^)]+)\)/i,/\s(https?:\/\/\S+)$/],(e,[t,r,n])=>{e.remoteMessages.vulnerabilities={count:n1(t),summary:r,url:n}})],pOt=class{constructor(){this.all=[]}}}});function Mmr(e,t){let r=CC(new uOt,hOt,[e,t]);return r.message&&r}var $bt,Qbt,Nbt,wbt,hOt,Pbt,Vpt,fOt=es({"src/lib/parsers/parse-pull.ts"(){"use strict";Bmr(),g0(),_Ot(),$bt=/^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/,Qbt=/(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/,Nbt=/^(create|delete) mode \d+ (.+)/,wbt=[new Y0($bt,(e,[t,r,n])=>{e.files.push(t),r&&(e.insertions[t]=r.length),n&&(e.deletions[t]=n.length)}),new Y0(Qbt,(e,[t,,r,,n])=>r!==void 0||n!==void 0?(e.summary.changes=+t||0,e.summary.insertions=+r||0,e.summary.deletions=+n||0,!0):!1),new Y0(Nbt,(e,[t,r])=>{pl(e.files,r),pl(t==="create"?e.created:e.deleted,r)})],hOt=[new Y0(/^from\s(.+)$/i,(e,[t])=>void(e.remote=t)),new Y0(/^fatal:\s(.+)$/,(e,[t])=>void(e.message=t)),new Y0(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/,(e,[t,r,n,i])=>{e.branch.local=n,e.hash.local=t,e.branch.remote=i,e.hash.remote=r})],Pbt=(e,t)=>CC(new gpt,wbt,[e,t]),Vpt=(e,t)=>Object.assign(new gpt,Pbt(e,t),cOt(e,t))}}),Bbt,dOt,Ibt,Wmr=es({"src/lib/parsers/parse-merge.ts"(){"use strict";Pmr(),g0(),fOt(),Bbt=[new Y0(/^Auto-merging\s+(.+)$/,(e,[t])=>{e.merges.push(t)}),new Y0(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/,(e,[t,r])=>{e.conflicts.push(new m2e(t,r))}),new Y0(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/,(e,[t,r,n])=>{e.conflicts.push(new m2e(t,r,{deleteRef:n}))}),new Y0(/^CONFLICT\s+\((.+)\):/,(e,[t])=>{e.conflicts.push(new m2e(t,null))}),new Y0(/^Automatic merge failed;\s+(.+)$/,(e,[t])=>{e.result=t})],dOt=(e,t)=>Object.assign(Ibt(e,t),Vpt(e,t)),Ibt=e=>CC(new ROt,Bbt,e)}});function Mbt(e){return e.length?{commands:["merge",...e],format:"utf-8",parser(t,r){let n=dOt(t,r);if(n.failed)throw new hTe(n);return n}}:qC("Git.merge requires at least one option")}var Umr=es({"src/lib/tasks/merge.ts"(){"use strict";Yte(),Wmr(),Id()}});function Fmr(e,t,r){let n=r.includes("deleted"),i=r.includes("tag")||/^refs\/tags/.test(e),s=!r.includes("new");return{deleted:n,tag:i,branch:!i,new:!s,alreadyUpdated:s,local:e,remote:t}}var Wbt,xOt,Ubt,Lmr=es({"src/lib/parsers/parse-push.ts"(){"use strict";g0(),_Ot(),Wbt=[new Y0(/^Pushing to (.+)$/,(e,[t])=>{e.repo=t}),new Y0(/^updating local tracking ref '(.+)'/,(e,[t])=>{e.ref=lTe(D3({},e.ref||{}),{local:t})}),new Y0(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/,(e,[t,r,n])=>{e.pushed.push(Fmr(t,r,n))}),new Y0(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,(e,[t,r,n])=>{e.branch=lTe(D3({},e.branch||{}),{local:t,remote:r,remoteName:n})}),new Y0(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/,(e,[t,r,n,i])=>{e.update={head:{local:t,remote:r},hash:{from:n,to:i}}})],xOt=(e,t)=>{let r=Ubt(e,t),n=cOt(e,t);return D3(D3({},r),n)},Ubt=(e,t)=>CC({pushed:[]},Wbt,[e,t])}}),mOt={};Md(mOt,{pushTagsTask:()=>zmr,pushTask:()=>jpt});function zmr(e={},t){return pl(t,"--tags"),jpt(e,t)}function jpt(e={},t){let r=["push",...t];return e.branch&&r.splice(1,0,e.branch),e.remote&&r.splice(1,0,e.remote),E2e(r,"-v"),pl(r,"--verbose"),pl(r,"--porcelain"),{commands:r,format:"utf-8",parser:xOt}}var kOt=es({"src/lib/tasks/push.ts"(){"use strict";Lmr(),g0()}});function Hmr(){return{showBuffer(){let e=["show",...yC(arguments,1)];return e.includes("--binary")||e.splice(1,0,"--binary"),this._runTask(EEt(e),I_(arguments))},show(){let e=["show",...yC(arguments,1)];return this._runTask(x4(e),I_(arguments))}}}var Ymr=es({"src/lib/tasks/show.ts"(){"use strict";g0(),Id()}}),Fbt,yOt,Kmr=es({"src/lib/responses/FileStatusSummary.ts"(){"use strict";Fbt=/^(.+)\0(.+)$/,yOt=class{constructor(e,t,r){if(this.path=e,this.index=t,this.working_dir=r,t==="R"||r==="R"){let n=Fbt.exec(e)||[null,e,e];this.from=n[2]||"",this.path=n[1]||""}}}}});function Lbt(e){let[t,r]=e.split(Hte);return{from:r||t,to:t}}function lA(e,t,r){return[`${e}${t}`,r]}function _pt(e,...t){return t.map(r=>lA(e,r,(n,i)=>pl(n.conflicted,i)))}function Gmr(e,t){let r=t.trim();switch(" "){case r.charAt(2):return n(r.charAt(0),r.charAt(1),r.substr(3));case r.charAt(1):return n(" ",r.charAt(0),r.substr(2));default:return}function n(i,s,R){let l=`${i}${s}`,c=qOt.get(l);c&&c(e,R),l!=="##"&&l!=="!!"&&e.files.push(new yOt(R,i,s))}}var zbt,qOt,COt,Vmr=es({"src/lib/responses/StatusSummary.ts"(){"use strict";g0(),Kmr(),zbt=class{constructor(){this.not_added=[],this.conflicted=[],this.created=[],this.deleted=[],this.ignored=void 0,this.modified=[],this.renamed=[],this.files=[],this.staged=[],this.ahead=0,this.behind=0,this.current=null,this.tracking=null,this.detached=!1,this.isClean=()=>!this.files.length}},qOt=new Map([lA(" ","A",(e,t)=>pl(e.created,t)),lA(" ","D",(e,t)=>pl(e.deleted,t)),lA(" ","M",(e,t)=>pl(e.modified,t)),lA("A"," ",(e,t)=>pl(e.created,t)&&pl(e.staged,t)),lA("A","M",(e,t)=>pl(e.created,t)&&pl(e.staged,t)&&pl(e.modified,t)),lA("D"," ",(e,t)=>pl(e.deleted,t)&&pl(e.staged,t)),lA("M"," ",(e,t)=>pl(e.modified,t)&&pl(e.staged,t)),lA("M","M",(e,t)=>pl(e.modified,t)&&pl(e.staged,t)),lA("R"," ",(e,t)=>{pl(e.renamed,Lbt(t))}),lA("R","M",(e,t)=>{let r=Lbt(t);pl(e.renamed,r),pl(e.modified,r.to)}),lA("!","!",(e,t)=>{pl(e.ignored=e.ignored||[],t)}),lA("?","?",(e,t)=>pl(e.not_added,t)),..._pt("A","A","U"),..._pt("D","D","U"),..._pt("U","A","D","U"),["##",(e,t)=>{let r=/ahead (\d+)/,n=/behind (\d+)/,i=/^(.+?(?=(?:\.{3}|\s|$)))/,s=/\.{3}(\S*)/,R=/\son\s([\S]+)$/,l;l=r.exec(t),e.ahead=l&&+l[1]||0,l=n.exec(t),e.behind=l&&+l[1]||0,l=i.exec(t),e.current=l&&l[1],l=s.exec(t),e.tracking=l&&l[1],l=R.exec(t),e.current=l&&l[1]||e.current,e.detached=/\(no branch\)/.test(t)}]]),COt=function(e){let t=e.split(Hte),r=new zbt;for(let n=0,i=t.length;n!AOt.includes(r))],parser(r){return COt(r)}}}var AOt,Jmr=es({"src/lib/tasks/status.ts"(){"use strict";Vmr(),AOt=["--null","-z"]}});function C2e(e=0,t=0,r=0,n="",i=!0){return Object.defineProperty({major:e,minor:t,patch:r,agent:n,installed:i},"toString",{value(){return`${this.major}.${this.minor}.${this.patch}`},configurable:!1,enumerable:!1})}function Xmr(){return C2e(0,0,0,"",!1)}function Zmr(){return{version(){return this._runTask({commands:["--version"],format:"utf-8",parser:ekr,onError(e,t,r,n){if(e.exitCode===-2)return r(Buffer.from(Jpt));n(t)}})}}}function ekr(e){return e===Jpt?Xmr():CC(C2e(0,0,0,e),gOt,e)}var Jpt,gOt,tkr=es({"src/lib/tasks/version.ts"(){"use strict";g0(),Jpt="installed=false",gOt=[new Y0(/version (\d+)\.(\d+)\.(\d+)(?:\s*\((.+)\))?/,(e,[t,r,n,i=""])=>{Object.assign(e,C2e(n1(t),n1(r),n1(n),i))}),new Y0(/version (\d+)\.(\d+)\.(\D+)(.+)?$/,(e,[t,r,n,i=""])=>{Object.assign(e,C2e(n1(t),n1(r),n,i))})]}}),bOt={};Md(bOt,{SimpleGitApi:()=>bpt});var bpt,rkr=es({"src/lib/simple-git-api.ts"(){"use strict";omr(),Rmr(),lmr(),pmr(),xmr(),wEt(),kmr(),WEt(),qmr(),Emr(),oOt(),Umr(),kOt(),Ymr(),Jmr(),Id(),tkr(),g0(),bpt=class{constructor(e){this._executor=e}_runTask(e,t){let r=this._executor.chain(),n=r.push(e);return t&&amr(e,n,t),Object.create(this,{then:{value:n.then.bind(n)},catch:{value:n.catch.bind(n)},_executor:{value:r}})}add(e){return this._runTask(x4(["add",...Ov(e)]),I_(arguments))}cwd(e){let t=I_(arguments);return typeof e=="string"?this._runTask(Ebt(e,this._executor),t):typeof e?.path=="string"?this._runTask(Ebt(e.path,e.root&&this._executor||void 0),t):this._runTask(qC("Git.cwd: workingDirectory must be supplied as a string"),t)}hashObject(e,t){return this._runTask(ymr(e,t===!0),I_(arguments))}init(e){return this._runTask(bmr(e===!0,this._executor.cwd,yC(arguments)),I_(arguments))}merge(){return this._runTask(Mbt(yC(arguments)),I_(arguments))}mergeFromTo(e,t){return Jk(e)&&Jk(t)?this._runTask(Mbt([e,t,...yC(arguments)]),I_(arguments,!1)):this._runTask(qC("Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings"))}outputHandler(e){return this._executor.outputHandler=e,this}push(){let e=jpt({remote:vv(arguments[0],Jk),branch:vv(arguments[1],Jk)},yC(arguments));return this._runTask(e,I_(arguments))}stash(){return this._runTask(x4(["stash",...yC(arguments)]),I_(arguments))}status(){return this._runTask(jmr(yC(arguments)),I_(arguments))}},Object.assign(bpt.prototype,umr(),dmr(),H7r(),Tmr(),mmr(),V7r(),wmr(),Hmr(),Zmr())}}),EOt={};Md(EOt,{Scheduler:()=>vOt});var Hbt,vOt,nkr=es({"src/lib/runners/scheduler.ts"(){"use strict";g0(),HEt(),Hbt=(()=>{let e=0;return()=>{e++;let{promise:t,done:r}=(0,OOt.createDeferred)();return{promise:t,done:r,id:e}}})(),vOt=class{constructor(e=2){this.concurrency=e,this.logger=Upt("","scheduler"),this.pending=[],this.running=[],this.logger("Constructed, concurrency=%s",e)}schedule(){if(!this.pending.length||this.running.length>=this.concurrency){this.logger("Schedule attempt ignored, pending=%s running=%s concurrency=%s",this.pending.length,this.running.length,this.concurrency);return}let e=pl(this.running,this.pending.shift());this.logger("Attempting id=%s",e.id),e.done(()=>{this.logger("Completing id=",e.id),E2e(this.running,e),this.schedule()})}next(){let{promise:e,id:t}=pl(this.pending,Hbt());return this.logger("Scheduling id=%s",t),this.schedule(),e}}}}),DOt={};Md(DOt,{applyPatchTask:()=>ikr});function ikr(e,t){return x4(["apply",...t,...e])}var akr=es({"src/lib/tasks/apply-patch.ts"(){"use strict";Id()}});function skr(e,t){return{branch:e,hash:t,success:!0}}function okr(e){return{branch:e,hash:null,success:!1}}var SOt,Rkr=es({"src/lib/responses/BranchDeleteSummary.ts"(){"use strict";SOt=class{constructor(){this.all=[],this.branches={},this.errors=[]}get success(){return!this.errors.length}}}});function $Ot(e,t){return t===1&&Ept.test(e)}var Ybt,Ept,Kbt,$2e,ukr=es({"src/lib/parsers/parse-branch-delete.ts"(){"use strict";Rkr(),g0(),Ybt=/(\S+)\s+\(\S+\s([^)]+)\)/,Ept=/^error[^']+'([^']+)'/m,Kbt=[new Y0(Ybt,(e,[t,r])=>{let n=skr(t,r);e.all.push(n),e.branches[t]=n}),new Y0(Ept,(e,[t])=>{let r=okr(t);e.errors.push(r),e.all.push(r),e.branches[t]=r})],$2e=(e,t)=>CC(new SOt,Kbt,[e,t])}}),QOt,lkr=es({"src/lib/responses/BranchSummary.ts"(){"use strict";QOt=class{constructor(){this.all=[],this.branches={},this.current="",this.detached=!1}push(e,t,r,n,i){e==="*"&&(this.detached=t,this.current=r),this.all.push(r),this.branches[r]={current:e==="*",linkedWorkTree:e==="+",name:r,commit:n,label:i}}}}});function Gbt(e){return e?e.charAt(0):""}function NOt(e){return CC(new QOt,wOt,e)}var wOt,ckr=es({"src/lib/parsers/parse-branch.ts"(){"use strict";lkr(),g0(),wOt=[new Y0(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/,(e,[t,r,n,i])=>{e.push(Gbt(t),!0,r,n,i)}),new Y0(new RegExp("^([*+]\\s)?(\\S+)\\s+([a-z0-9]+)\\s?(.*)$","s"),(e,[t,r,n,i])=>{e.push(Gbt(t),!1,r,n,i)})]}}),POt={};Md(POt,{branchLocalTask:()=>pkr,branchTask:()=>Tkr,containsDeleteBranchCommand:()=>BOt,deleteBranchTask:()=>hkr,deleteBranchesTask:()=>_kr});function BOt(e){let t=["-d","-D","--delete"];return e.some(r=>t.includes(r))}function Tkr(e){let t=BOt(e),r=["branch",...e];return r.length===1&&r.push("-a"),r.includes("-v")||r.splice(1,0,"-v"),{format:"utf-8",commands:r,parser(n,i){return t?$2e(n,i).all[0]:NOt(n)}}}function pkr(){return{format:"utf-8",commands:["branch","-v"],parser:NOt}}function _kr(e,t=!1){return{format:"utf-8",commands:["branch","-v",t?"-D":"-d",...e],parser(r,n){return $2e(r,n)},onError({exitCode:r,stdOut:n},i,s,R){if(!$Ot(String(i),r))return R(i);s(n)}}}function hkr(e,t=!1){let r={format:"utf-8",commands:["branch","-v",t?"-D":"-d",e],parser(n,i){return $2e(n,i).branches[e]},onError({exitCode:n,stdErr:i,stdOut:s},R,l,c){if(!$Ot(String(R),n))return c(R);throw new hTe(r.parser(TTe(s),TTe(i)),String(R))}};return r}var fkr=es({"src/lib/tasks/branch.ts"(){"use strict";Yte(),ukr(),ckr(),g0()}}),IOt,dkr=es({"src/lib/responses/CheckIgnore.ts"(){"use strict";IOt=e=>e.split(/\n/g).map(t=>t.trim()).filter(t=>!!t)}}),MOt={};Md(MOt,{checkIgnoreTask:()=>xkr});function xkr(e){return{commands:["check-ignore",...e],format:"utf-8",parser:IOt}}var mkr=es({"src/lib/tasks/check-ignore.ts"(){"use strict";dkr()}}),WOt={};Md(WOt,{cloneMirrorTask:()=>ykr,cloneTask:()=>UOt});function kkr(e){return/^--upload-pack(=|$)/.test(e)}function UOt(e,t,r){let n=["clone",...r];return Jk(e)&&n.push(e),Jk(t)&&n.push(t),n.find(kkr)?qC("git.fetch: potential exploit argument blocked."):x4(n)}function ykr(e,t,r){return pl(r,"--mirror"),UOt(e,t,r)}var qkr=es({"src/lib/tasks/clone.ts"(){"use strict";Id(),g0()}});function Ckr(e,t){return CC({raw:e,remote:null,branches:[],tags:[],updated:[],deleted:[]},FOt,[e,t])}var FOt,Akr=es({"src/lib/parsers/parse-fetch.ts"(){"use strict";g0(),FOt=[new Y0(/From (.+)$/,(e,[t])=>{e.remote=t}),new Y0(/\* \[new branch]\s+(\S+)\s*-> (.+)$/,(e,[t,r])=>{e.branches.push({name:t,tracking:r})}),new Y0(/\* \[new tag]\s+(\S+)\s*-> (.+)$/,(e,[t,r])=>{e.tags.push({name:t,tracking:r})}),new Y0(/- \[deleted]\s+\S+\s*-> (.+)$/,(e,[t])=>{e.deleted.push({tracking:t})}),new Y0(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/,(e,[t,r,n,i])=>{e.updated.push({name:n,tracking:i,to:r,from:t})})]}}),LOt={};Md(LOt,{fetchTask:()=>bkr});function gkr(e){return/^--upload-pack(=|$)/.test(e)}function bkr(e,t,r){let n=["fetch",...r];return e&&t&&n.push(e,t),n.find(gkr)?qC("git.fetch: potential exploit argument blocked."):{commands:n,format:"utf-8",parser:Ckr}}var Ekr=es({"src/lib/tasks/fetch.ts"(){"use strict";Akr(),Id()}});function Okr(e){return CC({moves:[]},zOt,e)}var zOt,vkr=es({"src/lib/parsers/parse-move.ts"(){"use strict";g0(),zOt=[new Y0(/^Renaming (.+) to (.+)$/,(e,[t,r])=>{e.moves.push({from:t,to:r})})]}}),HOt={};Md(HOt,{moveTask:()=>Dkr});function Dkr(e,t){return{commands:["mv","-v",...Ov(e),t],format:"utf-8",parser:Okr}}var Skr=es({"src/lib/tasks/move.ts"(){"use strict";vkr(),g0()}}),YOt={};Md(YOt,{pullTask:()=>$kr});function $kr(e,t,r){let n=["pull",...r];return e&&t&&n.splice(1,0,e,t),{commands:n,format:"utf-8",parser(i,s){return Vpt(i,s)},onError(i,s,R,l){let c=Mmr(TTe(i.stdOut),TTe(i.stdErr));if(c)return l(new hTe(c));l(s)}}}var Qkr=es({"src/lib/tasks/pull.ts"(){"use strict";Yte(),fOt(),g0()}});function Nkr(e){let t={};return KOt(e,([r])=>t[r]={name:r}),Object.values(t)}function wkr(e){let t={};return KOt(e,([r,n,i])=>{t.hasOwnProperty(r)||(t[r]={name:r,refs:{fetch:"",push:""}}),i&&n&&(t[r].refs[i.replace(/[^a-z]/g,"")]=n)}),Object.values(t)}function KOt(e,t){vpt(e,r=>t(r.split(/\s+/)))}var Pkr=es({"src/lib/responses/GetRemoteSummary.ts"(){"use strict";g0()}}),GOt={};Md(GOt,{addRemoteTask:()=>Bkr,getRemotesTask:()=>Ikr,listRemotesTask:()=>Mkr,remoteTask:()=>Wkr,removeRemoteTask:()=>Ukr});function Bkr(e,t,r){return x4(["remote","add",...r,e,t])}function Ikr(e){let t=["remote"];return e&&t.push("-v"),{commands:t,format:"utf-8",parser:e?wkr:Nkr}}function Mkr(e){let t=[...e];return t[0]!=="ls-remote"&&t.unshift("ls-remote"),x4(t)}function Wkr(e){let t=[...e];return t[0]!=="remote"&&t.unshift("remote"),x4(t)}function Ukr(e){return x4(["remote","remove",e])}var Fkr=es({"src/lib/tasks/remote.ts"(){"use strict";Pkr(),Id()}}),VOt={};Md(VOt,{stashListTask:()=>Lkr});function Lkr(e={},t){let r=sOt(e),n=["stash","list",...r.commands,...t],i=rOt(r.splitter,r.fields,Lpt(n));return S2e(n)||{commands:n,format:"utf-8",parser:i}}var zkr=es({"src/lib/tasks/stash-list.ts"(){"use strict";mTe(),iOt(),Gpt(),oOt()}}),jOt={};Md(jOt,{addSubModuleTask:()=>Hkr,initSubModuleTask:()=>Ykr,subModuleTask:()=>Q2e,updateSubModuleTask:()=>Kkr});function Hkr(e,t){return Q2e(["add",e,t])}function Ykr(e){return Q2e(["init",...e])}function Q2e(e){let t=[...e];return t[0]!=="submodule"&&t.unshift("submodule"),x4(t)}function Kkr(e){return Q2e(["update",...e])}var Gkr=es({"src/lib/tasks/sub-module.ts"(){"use strict";Id()}});function Vkr(e,t){let r=isNaN(e),n=isNaN(t);return r!==n?r?1:-1:r?JOt(e,t):0}function JOt(e,t){return e===t?0:e>t?1:-1}function jkr(e){return e.trim()}function f2e(e){return typeof e=="string"&&parseInt(e.replace(/^\D+/g,""),10)||0}var Vbt,XOt,Jkr=es({"src/lib/responses/TagList.ts"(){"use strict";Vbt=class{constructor(e,t){this.all=e,this.latest=t}},XOt=function(e,t=!1){let r=e.split(` +`).map(jkr).filter(Boolean);t||r.sort(function(i,s){let R=i.split("."),l=s.split(".");if(R.length===1||l.length===1)return Vkr(f2e(R[0]),f2e(l[0]));for(let c=0,h=Math.max(R.length,l.length);ci.indexOf(".")>=0);return new Vbt(r,n)}}}),ZOt={};Md(ZOt,{addAnnotatedTagTask:()=>eyr,addTagTask:()=>Zkr,tagListTask:()=>Xkr});function Xkr(e=[]){let t=e.some(r=>/^--sort=/.test(r));return{format:"utf-8",commands:["tag","-l",...e],parser(r){return XOt(r,t)}}}function Zkr(e){return{format:"utf-8",commands:["tag",e],parser(){return{name:e}}}}function eyr(e,t){return{format:"utf-8",commands:["tag","-a","-m",t,e],parser(){return{name:e}}}}var tyr=es({"src/lib/tasks/tag.ts"(){"use strict";Jkr()}}),ryr=x7r({"src/git.js"(e,t){"use strict";var{GitExecutor:r}=(imr(),B_(YEt)),{SimpleGitApi:n}=(rkr(),B_(bOt)),{Scheduler:i}=(nkr(),B_(EOt)),{configurationErrorTask:s}=(Id(),B_(kpt)),{asArray:R,filterArray:l,filterPrimitives:c,filterString:h,filterStringOrStringArray:_,filterType:f,getTrailingOptions:m,trailingFunctionArgument:x,trailingOptionsArgument:y}=(g0(),B_(dEt)),{applyPatchTask:A}=(akr(),B_(DOt)),{branchTask:D,branchLocalTask:S,deleteBranchesTask:P,deleteBranchTask:M}=(fkr(),B_(POt)),{checkIgnoreTask:U}=(mkr(),B_(MOt)),{checkIsRepoTask:w}=(yEt(),B_(xEt)),{cloneTask:F,cloneMirrorTask:H}=(qkr(),B_(WOt)),{cleanWithOptionsTask:G,isCleanOptionsArray:ee}=($Et(),B_(DEt)),{diffSummaryTask:fe}=(Gpt(),B_(aOt)),{fetchTask:me}=(Ekr(),B_(LOt)),{moveTask:ve}=(Skr(),B_(HOt)),{pullTask:Ae}=(Qkr(),B_(YOt)),{pushTagsTask:Ue}=(kOt(),B_(mOt)),{addRemoteTask:Ee,getRemotesTask:Me,listRemotesTask:gt,remoteTask:xt,removeRemoteTask:Nt}=(Fkr(),B_(GOt)),{getResetMode:lt,resetTask:at}=(zEt(),B_(UEt)),{stashListTask:_t}=(zkr(),B_(VOt)),{addSubModuleTask:Ve,initSubModuleTask:Dt,subModuleTask:Ut,updateSubModuleTask:pt}=(Gkr(),B_(jOt)),{addAnnotatedTagTask:ht,addTagTask:He,tagListTask:jt}=(tyr(),B_(ZOt)),{straightThroughBufferTask:zr,straightThroughStringTask:Bn}=(Id(),B_(kpt));function an(Zr,bn){this._plugins=bn,this._executor=new r(Zr.baseDir,new i(Zr.maxConcurrentProcesses),bn),this._trimmed=Zr.trimmed}(an.prototype=Object.create(n.prototype)).constructor=an,an.prototype.customBinary=function(Zr){return this._plugins.reconfigure("binary",Zr),this},an.prototype.env=function(Zr,bn){return arguments.length===1&&typeof Zr=="object"?this._executor.env=Zr:(this._executor.env=this._executor.env||{})[Zr]=bn,this},an.prototype.stashList=function(Zr){return this._runTask(_t(y(arguments)||{},l(Zr)&&Zr||[]),x(arguments))};function ri(Zr,bn,Zn,mi){return typeof Zn!="string"?s(`git.${Zr}() requires a string 'repoPath'`):bn(Zn,f(mi,h),m(arguments))}an.prototype.clone=function(){return this._runTask(ri("clone",F,...arguments),x(arguments))},an.prototype.mirror=function(){return this._runTask(ri("mirror",H,...arguments),x(arguments))},an.prototype.mv=function(Zr,bn){return this._runTask(ve(Zr,bn),x(arguments))},an.prototype.checkoutLatestTag=function(Zr){var bn=this;return this.pull(function(){bn.tags(function(Zn,mi){bn.checkout(mi.latest,Zr)})})},an.prototype.pull=function(Zr,bn,Zn,mi){return this._runTask(Ae(f(Zr,h),f(bn,h),m(arguments)),x(arguments))},an.prototype.fetch=function(Zr,bn){return this._runTask(me(f(Zr,h),f(bn,h),m(arguments)),x(arguments))},an.prototype.silent=function(Zr){return console.warn("simple-git deprecation notice: git.silent: logging should be configured using the `debug` library / `DEBUG` environment variable, this will be an error in version 3"),this},an.prototype.tags=function(Zr,bn){return this._runTask(jt(m(arguments)),x(arguments))},an.prototype.rebase=function(){return this._runTask(Bn(["rebase",...m(arguments)]),x(arguments))},an.prototype.reset=function(Zr){return this._runTask(at(lt(Zr),m(arguments)),x(arguments))},an.prototype.revert=function(Zr){let bn=x(arguments);return typeof Zr!="string"?this._runTask(s("Commit must be a string"),bn):this._runTask(Bn(["revert",...m(arguments,0,!0),Zr]),bn)},an.prototype.addTag=function(Zr){let bn=typeof Zr=="string"?He(Zr):s("Git.addTag requires a tag name");return this._runTask(bn,x(arguments))},an.prototype.addAnnotatedTag=function(Zr,bn){return this._runTask(ht(Zr,bn),x(arguments))},an.prototype.deleteLocalBranch=function(Zr,bn,Zn){return this._runTask(M(Zr,typeof bn=="boolean"?bn:!1),x(arguments))},an.prototype.deleteLocalBranches=function(Zr,bn,Zn){return this._runTask(P(Zr,typeof bn=="boolean"?bn:!1),x(arguments))},an.prototype.branch=function(Zr,bn){return this._runTask(D(m(arguments)),x(arguments))},an.prototype.branchLocal=function(Zr){return this._runTask(S(),x(arguments))},an.prototype.raw=function(Zr){let bn=!Array.isArray(Zr),Zn=[].slice.call(bn?arguments:Zr,0);for(let Sn=0;Sne.removeEventListener("abort",s))}}]:void 0}function ayr(e){return typeof e=="string"&&e.trim().toLowerCase()==="-c"}function syr(e,t){if(ayr(e)&&/^\s*protocol(.[a-z]+)?.allow/.test(t))throw new lN(void 0,"unsafe","Configuring protocol.allow is not permitted without enabling allowUnsafeExtProtocol")}function oyr(e,t){if(/^\s*--(upload|receive)-pack/.test(e))throw new lN(void 0,"unsafe","Use of --upload-pack or --receive-pack is not permitted without enabling allowUnsafePack");if(t==="clone"&&/^\s*-u\b/.test(e))throw new lN(void 0,"unsafe","Use of clone with option -u is not permitted without enabling allowUnsafePack");if(t==="push"&&/^\s*--exec\b/.test(e))throw new lN(void 0,"unsafe","Use of push with option --exec is not permitted without enabling allowUnsafePack")}function Ryr({allowUnsafeProtocolOverride:e=!1,allowUnsafePack:t=!1}={}){return{type:"spawn.args",action(r,n){return r.forEach((i,s)=>{let R=shpt(i))).then(R.done)}return{type:"spawn.after",action(i,s){return uTe(this,arguments,function*(R,{spawned:l,close:c}){var h,_;let f=r(),m=!0,x=()=>void(m=!1);(h=l.stdout)==null||h.on("data",x),(_=l.stderr)==null||_.on("data",x),l.on("error",x),l.on("close",y=>f.close(y)),l.on("exit",y=>f.exit(y));try{yield f.result,m&&(yield hpt(50)),c(f.exitCode)}catch(y){c(f.exitCode,y)}})}}}g0();var cyr="Invalid value supplied for custom binary, requires a single string or an array containing either one or two strings",Jbt="Invalid value supplied for custom binary, restricted characters must be removed or supply the unsafe.allowUnsafeCustomBinary option";function Tyr(e){return!e||!/^([a-z]:)?([a-z0-9/.\\_-]+)$/i.test(e)}function Xbt(e,t){if(e.length<1||e.length>2)throw new lN(void 0,"binary",cyr);if(e.some(Tyr))if(t)console.warn(Jbt);else throw new lN(void 0,"binary",Jbt);let[n,i]=e;return{binary:n,prefix:i}}function pyr(e,t=["git"],r=!1){let n=Xbt(Ov(t),r);e.on("binary",i=>{n=Xbt(Ov(i),r)}),e.append("spawn.binary",()=>n.binary),e.append("spawn.args",i=>n.prefix?[n.prefix,...i]:i)}fI();function _yr(e){return!!(e.exitCode&&e.stdErr.length)}function hyr(e){return Buffer.concat([...e.stdOut,...e.stdErr])}function fyr(e=!1,t=_yr,r=hyr){return(n,i)=>!e&&n||!t(i)?n:r(i)}function Zbt(e){return{type:"task.error",action(t,r){let n=e(t.error,{stdErr:r.stdErr,stdOut:r.stdOut,exitCode:r.exitCode});return Buffer.isBuffer(n)?{error:new cN(void 0,n.toString("utf-8"))}:{error:n}}}}g0();var xyr=class{constructor(){this.plugins=new Set,this.events=new dyr}on(e,t){this.events.on(e,t)}reconfigure(e,t){this.events.emit(e,t)}append(e,t){let r=pl(this.plugins,{type:e,action:t});return()=>this.plugins.delete(r)}add(e){let t=[];return Ov(e).forEach(r=>r&&this.plugins.add(pl(t,r))),()=>{t.forEach(r=>this.plugins.delete(r))}}exec(e,t,r){let n=t,i=Object.freeze(Object.create(r));for(let s of this.plugins)s.type===e&&(n=s.action(n,i));return n}};g0();function myr(e){let t="--progress",r=["checkout","clone","fetch","pull","push"];return[{type:"spawn.args",action(s,R){return r.includes(R.method)?REt(s,t):s}},{type:"spawn.after",action(s,R){var l;R.commands.includes(t)&&((l=R.spawned.stderr)==null||l.on("data",c=>{let h=/^([\s\S]+?):\s*(\d+)% \((\d+)\/(\d+)\)/.exec(c.toString("utf8"));h&&e({method:R.method,stage:kyr(h[1]),progress:n1(h[2]),processed:n1(h[3]),total:n1(h[4])})}))}}]}function kyr(e){return String(e.toLowerCase().split(" ",1))||"unknown"}g0();function yyr(e){let t=cEt(e,["uid","gid"]);return{type:"spawn.options",action(r){return D3(D3({},t),r)}}}function qyr({block:e,stdErr:t=!0,stdOut:r=!0}){if(e>0)return{type:"spawn.after",action(n,i){var s,R;let l;function c(){l&&clearTimeout(l),l=setTimeout(_,e)}function h(){var f,m;(f=i.spawned.stdout)==null||f.off("data",c),(m=i.spawned.stderr)==null||m.off("data",c),i.spawned.off("exit",h),i.spawned.off("close",h),l&&clearTimeout(l)}function _(){h(),i.kill(new lN(void 0,"timeout","block timeout reached"))}r&&((s=i.spawned.stdout)==null||s.on("data",c)),t&&((R=i.spawned.stderr)==null||R.on("data",c)),i.spawned.on("exit",h),i.spawned.on("close",h),c()}}}_Te();function Cyr(){return{type:"spawn.args",action(e){let t=[],r;function n(i){(r=r||[]).push(...i)}for(let i=0;ik2e(R)&&Cbt(R)||R));break}t.push(s)}return r?[...t,"--",...r.map(String)]:t}}}g0();var Ayr=ryr();function gyr(e,t){var r;let n=new xyr,i=hEt(e&&(typeof e=="string"?{baseDir:e}:e)||{},t);if(!Dpt(i.baseDir))throw new nyr(i,"Cannot use simple-git on a directory that does not exist");return Array.isArray(i.config)&&n.add(uyr(i.config)),n.add(Ryr(i.unsafe)),n.add(Cyr()),n.add(lyr(i.completion)),i.abort&&n.add(iyr(i.abort)),i.progress&&n.add(myr(i.progress)),i.timeout&&n.add(qyr(i.timeout)),i.spawnOptions&&n.add(yyr(i.spawnOptions)),n.add(Zbt(fyr(!0))),i.errors&&n.add(Zbt(i.errors)),pyr(n,i.binary,(r=i.unsafe)==null?void 0:r.allowUnsafeCustomBinary),new Ayr(i,n)}Yte();var Dv=gyr;var nxe=Gs(lvt(),1),GAe=Gs(fvt(),1);import{AsyncLocalStorage as dgt}from"node:async_hooks";import{createHash as tVn}from"node:crypto";import*as yxr from"node:child_process";import*as qxr from"node:fs";import*as lxe from"node:path";var Bvt=Gs(vvt(),1);var qTe=e=>{if(typeof e!="string")throw new TypeError("invalid pattern");if(e.length>65536)throw new TypeError("pattern is too long")};var wyr={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},CTe=e=>e.replace(/[[\]\\-]/g,"\\$&"),Pyr=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),Dvt=e=>e.join(""),Svt=(e,t)=>{let r=t;if(e.charAt(r)!=="[")throw new Error("not in a brace expression");let n=[],i=[],s=r+1,R=!1,l=!1,c=!1,h=!1,_=r,f="";e:for(;sf?n.push(CTe(f)+"-"+CTe(A)):A===f&&n.push(CTe(A)),f="",s++;continue}if(e.startsWith("-]",s+1)){n.push(CTe(A+"-")),s+=2;continue}if(e.startsWith("-",s+1)){f=A,s+=2;continue}n.push(CTe(A)),s++}if(_t?e.replace(/\[([^\/\\])\]/g,"$1"):e.replace(/((?!\\).|^)\[([^\/\\])\]/g,"$1$2").replace(/\\([^\/])/g,"$1");var Byr=new Set(["!","?","+","*","@"]),$vt=e=>Byr.has(e),Iyr="(?!(?:^|/)\\.\\.?(?:$|/))",N2e="(?!\\.)",Myr=new Set(["[","."]),Wyr=new Set(["..","."]),Uyr=new Set("().*{}+?[]^$\\!"),Fyr=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),t_t="[^/]",Qvt=t_t+"*?",Nvt=t_t+"+?",Kte=class e{type;#e;#t;#a=!1;#n=[];#s;#k;#u;#c=!1;#o;#R;#i=!1;constructor(t,r,n={}){this.type=t,t&&(this.#t=!0),this.#s=r,this.#e=this.#s?this.#s.#e:this,this.#o=this.#e===this?n:this.#e.#o,this.#u=this.#e===this?[]:this.#e.#u,t==="!"&&!this.#e.#c&&this.#u.push(this),this.#k=this.#s?this.#s.#n.length:0}get hasMagic(){if(this.#t!==void 0)return this.#t;for(let t of this.#n)if(typeof t!="string"&&(t.type||t.hasMagic))return this.#t=!0;return this.#t}toString(){return this.#R!==void 0?this.#R:this.type?this.#R=this.type+"("+this.#n.map(t=>String(t)).join("|")+")":this.#R=this.#n.map(t=>String(t)).join("")}#f(){if(this!==this.#e)throw new Error("should only call on root");if(this.#c)return this;this.toString(),this.#c=!0;let t;for(;t=this.#u.pop();){if(t.type!=="!")continue;let r=t,n=r.#s;for(;n;){for(let i=r.#k+1;!n.type&&itypeof r=="string"?r:r.toJSON()):[this.type,...this.#n.map(r=>r.toJSON())];return this.isStart()&&!this.type&&t.unshift([]),this.isEnd()&&(this===this.#e||this.#e.#c&&this.#s?.type==="!")&&t.push({}),t}isStart(){if(this.#e===this)return!0;if(!this.#s?.isStart())return!1;if(this.#k===0)return!0;let t=this.#s;for(let r=0;r{let[y,A,D,S]=typeof x=="string"?e.#T(x,this.#t,c):x.toRegExpSource(t);return this.#t=this.#t||D,this.#a=this.#a||S,y}).join(""),_="";if(this.isStart()&&typeof this.#n[0]=="string"&&!(this.#n.length===1&&Wyr.has(this.#n[0]))){let y=Myr,A=r&&y.has(h.charAt(0))||h.startsWith("\\.")&&y.has(h.charAt(2))||h.startsWith("\\.\\.")&&y.has(h.charAt(4)),D=!r&&!t&&y.has(h.charAt(0));_=A?Iyr:D?N2e:""}let f="";return this.isEnd()&&this.#e.#c&&this.#s?.type==="!"&&(f="(?:$|\\/)"),[_+h+f,AE(h),this.#t=!!this.#t,this.#a]}let n=this.type==="*"||this.type==="+",i=this.type==="!"?"(?:(?!(?:":"(?:",s=this.#p(r);if(this.isStart()&&this.isEnd()&&!s&&this.type!=="!"){let c=this.toString();return this.#n=[c],this.type=null,this.#t=void 0,[c,AE(this.toString()),!1,!1]}let R=!n||t||r||!N2e?"":this.#p(!0);R===s&&(R=""),R&&(s=`(?:${s})(?:${R})*?`);let l="";if(this.type==="!"&&this.#i)l=(this.isStart()&&!r?N2e:"")+Nvt;else{let c=this.type==="!"?"))"+(this.isStart()&&!r&&!t?N2e:"")+Qvt+")":this.type==="@"?")":this.type==="?"?")?":this.type==="+"&&R?")":this.type==="*"&&R?")?":`)${this.type}`;l=i+s+c}return[l,AE(s),this.#t=!!this.#t,this.#a]}#p(t){return this.#n.map(r=>{if(typeof r=="string")throw new Error("string type in extglob ast??");let[n,i,s,R]=r.toRegExpSource(t);return this.#a=this.#a||R,n}).filter(r=>!(this.isStart()&&this.isEnd())||!!r).join("|")}static#T(t,r,n=!1){let i=!1,s="",R=!1;for(let l=0;lt?e.replace(/[?*()[\]]/g,"[$&]"):e.replace(/[?*()[\]\\]/g,"\\$&");var m4=(e,t,r={})=>(qTe(t),!r.nocomment&&t.charAt(0)==="#"?!1:new cA(t,r).match(e)),Lyr=/^\*+([^+@!?\*\[\(]*)$/,zyr=e=>t=>!t.startsWith(".")&&t.endsWith(e),Hyr=e=>t=>t.endsWith(e),Yyr=e=>(e=e.toLowerCase(),t=>!t.startsWith(".")&&t.toLowerCase().endsWith(e)),Kyr=e=>(e=e.toLowerCase(),t=>t.toLowerCase().endsWith(e)),Gyr=/^\*+\.\*+$/,Vyr=e=>!e.startsWith(".")&&e.includes("."),jyr=e=>e!=="."&&e!==".."&&e.includes("."),Jyr=/^\.\*+$/,Xyr=e=>e!=="."&&e!==".."&&e.startsWith("."),Zyr=/^\*+$/,e8r=e=>e.length!==0&&!e.startsWith("."),t8r=e=>e.length!==0&&e!=="."&&e!=="..",r8r=/^\?+([^+@!?\*\[\(]*)?$/,n8r=([e,t=""])=>{let r=Ivt([e]);return t?(t=t.toLowerCase(),n=>r(n)&&n.toLowerCase().endsWith(t)):r},i8r=([e,t=""])=>{let r=Mvt([e]);return t?(t=t.toLowerCase(),n=>r(n)&&n.toLowerCase().endsWith(t)):r},a8r=([e,t=""])=>{let r=Mvt([e]);return t?n=>r(n)&&n.endsWith(t):r},s8r=([e,t=""])=>{let r=Ivt([e]);return t?n=>r(n)&&n.endsWith(t):r},Ivt=([e])=>{let t=e.length;return r=>r.length===t&&!r.startsWith(".")},Mvt=([e])=>{let t=e.length;return r=>r.length===t&&r!=="."&&r!==".."},Wvt=typeof process=="object"&&process?typeof process.env=="object"&&process.env&&process.env.__MINIMATCH_TESTING_PLATFORM__||process.platform:"posix",wvt={win32:{sep:"\\"},posix:{sep:"/"}},o8r=Wvt==="win32"?wvt.win32.sep:wvt.posix.sep;m4.sep=o8r;var Qm=Symbol("globstar **");m4.GLOBSTAR=Qm;var R8r="[^/]",u8r=R8r+"*?",l8r="(?:(?!(?:\\/|^)(?:\\.{1,2})($|\\/)).)*?",c8r="(?:(?!(?:\\/|^)\\.).)*?",T8r=(e,t={})=>r=>m4(r,e,t);m4.filter=T8r;var S3=(e,t={})=>Object.assign({},e,t),p8r=e=>{if(!e||typeof e!="object"||!Object.keys(e).length)return m4;let t=m4;return Object.assign((n,i,s={})=>t(n,i,S3(e,s)),{Minimatch:class extends t.Minimatch{constructor(i,s={}){super(i,S3(e,s))}static defaults(i){return t.defaults(S3(e,i)).Minimatch}},AST:class extends t.AST{constructor(i,s,R={}){super(i,s,S3(e,R))}static fromGlob(i,s={}){return t.AST.fromGlob(i,S3(e,s))}},unescape:(n,i={})=>t.unescape(n,S3(e,i)),escape:(n,i={})=>t.escape(n,S3(e,i)),filter:(n,i={})=>t.filter(n,S3(e,i)),defaults:n=>t.defaults(S3(e,n)),makeRe:(n,i={})=>t.makeRe(n,S3(e,i)),braceExpand:(n,i={})=>t.braceExpand(n,S3(e,i)),match:(n,i,s={})=>t.match(n,i,S3(e,s)),sep:t.sep,GLOBSTAR:Qm})};m4.defaults=p8r;var Uvt=(e,t={})=>(qTe(e),t.nobrace||!/\{(?:(?!\{).)*\}/.test(e)?[e]:(0,Bvt.default)(e));m4.braceExpand=Uvt;var _8r=(e,t={})=>new cA(e,t).makeRe();m4.makeRe=_8r;var h8r=(e,t,r={})=>{let n=new cA(t,r);return e=e.filter(i=>n.match(i)),n.options.nonull&&!e.length&&e.push(t),e};m4.match=h8r;var Pvt=/[?*]|[+@!]\(.*?\)|\[|\]/,f8r=e=>e.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),cA=class{options;set;pattern;windowsPathsNoEscape;nonegate;negate;comment;empty;preserveMultipleSlashes;partial;globSet;globParts;nocase;isWindows;platform;windowsNoMagicRoot;regexp;constructor(t,r={}){qTe(t),r=r||{},this.options=r,this.pattern=t,this.platform=r.platform||Wvt,this.isWindows=this.platform==="win32",this.windowsPathsNoEscape=!!r.windowsPathsNoEscape||r.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(this.pattern=this.pattern.replace(/\\/g,"/")),this.preserveMultipleSlashes=!!r.preserveMultipleSlashes,this.regexp=null,this.negate=!1,this.nonegate=!!r.nonegate,this.comment=!1,this.empty=!1,this.partial=!!r.partial,this.nocase=!!this.options.nocase,this.windowsNoMagicRoot=r.windowsNoMagicRoot!==void 0?r.windowsNoMagicRoot:!!(this.isWindows&&this.nocase),this.globSet=[],this.globParts=[],this.set=[],this.make()}hasMagic(){if(this.options.magicalBraces&&this.set.length>1)return!0;for(let t of this.set)for(let r of t)if(typeof r!="string")return!0;return!1}debug(...t){}make(){let t=this.pattern,r=this.options;if(!r.nocomment&&t.charAt(0)==="#"){this.comment=!0;return}if(!t){this.empty=!0;return}this.parseNegate(),this.globSet=[...new Set(this.braceExpand())],r.debug&&(this.debug=(...s)=>console.error(...s)),this.debug(this.pattern,this.globSet);let n=this.globSet.map(s=>this.slashSplit(s));this.globParts=this.preprocess(n),this.debug(this.pattern,this.globParts);let i=this.globParts.map((s,R,l)=>{if(this.isWindows&&this.windowsNoMagicRoot){let c=s[0]===""&&s[1]===""&&(s[2]==="?"||!Pvt.test(s[2]))&&!Pvt.test(s[3]),h=/^[a-z]:/i.test(s[0]);if(c)return[...s.slice(0,4),...s.slice(4).map(_=>this.parse(_))];if(h)return[s[0],...s.slice(1).map(_=>this.parse(_))]}return s.map(c=>this.parse(c))});if(this.debug(this.pattern,i),this.set=i.filter(s=>s.indexOf(!1)===-1),this.isWindows)for(let s=0;s=2?(t=this.firstPhasePreProcess(t),t=this.secondPhasePreProcess(t)):r>=1?t=this.levelOneOptimize(t):t=this.adjascentGlobstarOptimize(t),t}adjascentGlobstarOptimize(t){return t.map(r=>{let n=-1;for(;(n=r.indexOf("**",n+1))!==-1;){let i=n;for(;r[i+1]==="**";)i++;i!==n&&r.splice(n,i-n)}return r})}levelOneOptimize(t){return t.map(r=>(r=r.reduce((n,i)=>{let s=n[n.length-1];return i==="**"&&s==="**"?n:i===".."&&s&&s!==".."&&s!=="."&&s!=="**"?(n.pop(),n):(n.push(i),n)},[]),r.length===0?[""]:r))}levelTwoFileOptimize(t){Array.isArray(t)||(t=this.slashSplit(t));let r=!1;do{if(r=!1,!this.preserveMultipleSlashes){for(let i=1;ii&&n.splice(i+1,R-i);let l=n[i+1],c=n[i+2],h=n[i+3];if(l!==".."||!c||c==="."||c===".."||!h||h==="."||h==="..")continue;r=!0,n.splice(i,1);let _=n.slice(0);_[i]="**",t.push(_),i--}if(!this.preserveMultipleSlashes){for(let R=1;Rr.length)}partsMatch(t,r,n=!1){let i=0,s=0,R=[],l="";for(;iM?r=r.slice(U):M>U&&(t=t.slice(M)))}}let{optimizationLevel:s=1}=this.options;s>=2&&(t=this.levelTwoFileOptimize(t)),this.debug("matchOne",this,{file:t,pattern:r}),this.debug("matchOne",t.length,r.length);for(var R=0,l=0,c=t.length,h=r.length;R>> no match, partial?`,t,m,r,x),m===c))}let A;if(typeof _=="string"?(A=f===_,this.debug("string match",_,f,A)):(A=_.test(f),this.debug("pattern match",_,f,A)),!A)return!1}if(R===c&&l===h)return!0;if(R===c)return n;if(l===h)return R===c-1&&t[R]==="";throw new Error("wtf?")}braceExpand(){return Uvt(this.pattern,this.options)}parse(t){qTe(t);let r=this.options;if(t==="**")return Qm;if(t==="")return"";let n,i=null;(n=t.match(Zyr))?i=r.dot?t8r:e8r:(n=t.match(Lyr))?i=(r.nocase?r.dot?Kyr:Yyr:r.dot?Hyr:zyr)(n[1]):(n=t.match(r8r))?i=(r.nocase?r.dot?i8r:n8r:r.dot?a8r:s8r)(n):(n=t.match(Gyr))?i=r.dot?jyr:Vyr:(n=t.match(Jyr))&&(i=Xyr);let s=Kte.fromGlob(t,this.options).toMMPattern();return i&&typeof s=="object"&&Reflect.defineProperty(s,"test",{value:i}),s}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let t=this.set;if(!t.length)return this.regexp=!1,this.regexp;let r=this.options,n=r.noglobstar?u8r:r.dot?l8r:c8r,i=new Set(r.nocase?["i"]:[]),s=t.map(c=>{let h=c.map(_=>{if(_ instanceof RegExp)for(let f of _.flags.split(""))i.add(f);return typeof _=="string"?f8r(_):_===Qm?Qm:_._src});return h.forEach((_,f)=>{let m=h[f+1],x=h[f-1];_!==Qm||x===Qm||(x===void 0?m!==void 0&&m!==Qm?h[f+1]="(?:\\/|"+n+"\\/)?"+m:h[f]=n:m===void 0?h[f-1]=x+"(?:\\/|"+n+")?":m!==Qm&&(h[f-1]=x+"(?:\\/|\\/"+n+"\\/)"+m,h[f+1]=Qm))}),h.filter(_=>_!==Qm).join("/")}).join("|"),[R,l]=t.length>1?["(?:",")"]:["",""];s="^"+R+s+l+"$",this.negate&&(s="^(?!"+s+").+$");try{this.regexp=new RegExp(s,[...i].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(t){return this.preserveMultipleSlashes?t.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(t)?["",...t.split(/\/+/)]:t.split(/\/+/)}match(t,r=this.partial){if(this.debug("match",t,this.pattern),this.comment)return!1;if(this.empty)return t==="";if(t==="/"&&r)return!0;let n=this.options;this.isWindows&&(t=t.split("\\").join("/"));let i=this.slashSplit(t);this.debug(this.pattern,"split",i);let s=this.set;this.debug(this.pattern,"set",s);let R=i[i.length-1];if(!R)for(let l=i.length-2;!R&&l>=0;l--)R=i[l];for(let l=0;l{typeof r_t.emitWarning=="function"?r_t.emitWarning(e,t,r,n):console.error(`[${r}] ${t}: ${e}`)},w2e=globalThis.AbortController,Fvt=globalThis.AbortSignal;if(typeof w2e>"u"){Fvt=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(n,i){this._onabort.push(i)}},w2e=class{constructor(){t()}signal=new Fvt;abort(n){if(!this.signal.aborted){this.signal.reason=n,this.signal.aborted=!0;for(let i of this.signal._onabort)i(n);this.signal.onabort?.(n)}}};let e=r_t.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",t=()=>{e&&(e=!1,zvt("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",t))}}var d8r=e=>!Lvt.has(e),RZn=Symbol("type"),xI=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e),Hvt=e=>xI(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?jte:null:null,jte=class extends Array{constructor(t){super(t),this.fill(0)}},n_t=class e{heap;length;static#e=!1;static create(t){let r=Hvt(t);if(!r)return[];e.#e=!0;let n=new e(t,r);return e.#e=!1,n}constructor(t,r){if(!e.#e)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new r(t),this.length=0}push(t){this.heap[this.length++]=t}pop(){return this.heap[--this.length]}},ATe=class e{#e;#t;#a;#n;#s;#k;ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#u;#c;#o;#R;#i;#f;#d;#p;#T;#C;#h;#A;#g;#m;#y;#q;#_;static unsafeExposeInternals(t){return{starts:t.#g,ttls:t.#m,sizes:t.#A,keyMap:t.#o,keyList:t.#R,valList:t.#i,next:t.#f,prev:t.#d,get head(){return t.#p},get tail(){return t.#T},free:t.#C,isBackgroundFetch:r=>t.#l(r),backgroundFetch:(r,n,i,s)=>t.#I(r,n,i,s),moveToTail:r=>t.#W(r),indexes:r=>t.#E(r),rindexes:r=>t.#O(r),isStale:r=>t.#x(r)}}get max(){return this.#e}get maxSize(){return this.#t}get calculatedSize(){return this.#c}get size(){return this.#u}get fetchMethod(){return this.#s}get memoMethod(){return this.#k}get dispose(){return this.#a}get disposeAfter(){return this.#n}constructor(t){let{max:r=0,ttl:n,ttlResolution:i=1,ttlAutopurge:s,updateAgeOnGet:R,updateAgeOnHas:l,allowStale:c,dispose:h,disposeAfter:_,noDisposeOnSet:f,noUpdateTTL:m,maxSize:x=0,maxEntrySize:y=0,sizeCalculation:A,fetchMethod:D,memoMethod:S,noDeleteOnFetchRejection:P,noDeleteOnStaleGet:M,allowStaleOnFetchRejection:U,allowStaleOnFetchAbort:w,ignoreFetchAbort:F}=t;if(r!==0&&!xI(r))throw new TypeError("max option must be a nonnegative integer");let H=r?Hvt(r):Array;if(!H)throw new Error("invalid max value: "+r);if(this.#e=r,this.#t=x,this.maxEntrySize=y||this.#t,this.sizeCalculation=A,this.sizeCalculation){if(!this.#t&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(S!==void 0&&typeof S!="function")throw new TypeError("memoMethod must be a function if defined");if(this.#k=S,D!==void 0&&typeof D!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#s=D,this.#q=!!D,this.#o=new Map,this.#R=new Array(r).fill(void 0),this.#i=new Array(r).fill(void 0),this.#f=new H(r),this.#d=new H(r),this.#p=0,this.#T=0,this.#C=n_t.create(r),this.#u=0,this.#c=0,typeof h=="function"&&(this.#a=h),typeof _=="function"?(this.#n=_,this.#h=[]):(this.#n=void 0,this.#h=void 0),this.#y=!!this.#a,this.#_=!!this.#n,this.noDisposeOnSet=!!f,this.noUpdateTTL=!!m,this.noDeleteOnFetchRejection=!!P,this.allowStaleOnFetchRejection=!!U,this.allowStaleOnFetchAbort=!!w,this.ignoreFetchAbort=!!F,this.maxEntrySize!==0){if(this.#t!==0&&!xI(this.#t))throw new TypeError("maxSize must be a positive integer if specified");if(!xI(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.#D()}if(this.allowStale=!!c,this.noDeleteOnStaleGet=!!M,this.updateAgeOnGet=!!R,this.updateAgeOnHas=!!l,this.ttlResolution=xI(i)||i===0?i:1,this.ttlAutopurge=!!s,this.ttl=n||0,this.ttl){if(!xI(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.#v()}if(this.#e===0&&this.ttl===0&&this.#t===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.#e&&!this.#t){let G="LRU_CACHE_UNBOUNDED";d8r(G)&&(Lvt.add(G),zvt("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",G,e))}}getRemainingTTL(t){return this.#o.has(t)?1/0:0}#v(){let t=new jte(this.#e),r=new jte(this.#e);this.#m=t,this.#g=r,this.#$=(s,R,l=Vte.now())=>{if(r[s]=R!==0?l:0,t[s]=R,R!==0&&this.ttlAutopurge){let c=setTimeout(()=>{this.#x(s)&&this.#S(this.#R[s],"expire")},R+1);c.unref&&c.unref()}},this.#b=s=>{r[s]=t[s]!==0?Vte.now():0},this.#r=(s,R)=>{if(t[R]){let l=t[R],c=r[R];if(!l||!c)return;s.ttl=l,s.start=c,s.now=n||i();let h=s.now-c;s.remainingTTL=l-h}};let n=0,i=()=>{let s=Vte.now();if(this.ttlResolution>0){n=s;let R=setTimeout(()=>n=0,this.ttlResolution);R.unref&&R.unref()}return s};this.getRemainingTTL=s=>{let R=this.#o.get(s);if(R===void 0)return 0;let l=t[R],c=r[R];if(!l||!c)return 1/0;let h=(n||i())-c;return l-h},this.#x=s=>{let R=r[s],l=t[s];return!!l&&!!R&&(n||i())-R>l}}#b=()=>{};#r=()=>{};#$=()=>{};#x=()=>!1;#D(){let t=new jte(this.#e);this.#c=0,this.#A=t,this.#Q=r=>{this.#c-=t[r],t[r]=0},this.#w=(r,n,i,s)=>{if(this.#l(n))return 0;if(!xI(i))if(s){if(typeof s!="function")throw new TypeError("sizeCalculation must be a function");if(i=s(n,r),!xI(i))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return i},this.#N=(r,n,i)=>{if(t[r]=n,this.#t){let s=this.#t-t[r];for(;this.#c>s;)this.#B(!0)}this.#c+=t[r],i&&(i.entrySize=n,i.totalCalculatedSize=this.#c)}}#Q=t=>{};#N=(t,r,n)=>{};#w=(t,r,n,i)=>{if(n||i)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0};*#E({allowStale:t=this.allowStale}={}){if(this.#u)for(let r=this.#T;!(!this.#P(r)||((t||!this.#x(r))&&(yield r),r===this.#p));)r=this.#d[r]}*#O({allowStale:t=this.allowStale}={}){if(this.#u)for(let r=this.#p;!(!this.#P(r)||((t||!this.#x(r))&&(yield r),r===this.#T));)r=this.#f[r]}#P(t){return t!==void 0&&this.#o.get(this.#R[t])===t}*entries(){for(let t of this.#E())this.#i[t]!==void 0&&this.#R[t]!==void 0&&!this.#l(this.#i[t])&&(yield[this.#R[t],this.#i[t]])}*rentries(){for(let t of this.#O())this.#i[t]!==void 0&&this.#R[t]!==void 0&&!this.#l(this.#i[t])&&(yield[this.#R[t],this.#i[t]])}*keys(){for(let t of this.#E()){let r=this.#R[t];r!==void 0&&!this.#l(this.#i[t])&&(yield r)}}*rkeys(){for(let t of this.#O()){let r=this.#R[t];r!==void 0&&!this.#l(this.#i[t])&&(yield r)}}*values(){for(let t of this.#E())this.#i[t]!==void 0&&!this.#l(this.#i[t])&&(yield this.#i[t])}*rvalues(){for(let t of this.#O())this.#i[t]!==void 0&&!this.#l(this.#i[t])&&(yield this.#i[t])}[Symbol.iterator](){return this.entries()}[Symbol.toStringTag]="LRUCache";find(t,r={}){for(let n of this.#E()){let i=this.#i[n],s=this.#l(i)?i.__staleWhileFetching:i;if(s!==void 0&&t(s,this.#R[n],this))return this.get(this.#R[n],r)}}forEach(t,r=this){for(let n of this.#E()){let i=this.#i[n],s=this.#l(i)?i.__staleWhileFetching:i;s!==void 0&&t.call(r,s,this.#R[n],this)}}rforEach(t,r=this){for(let n of this.#O()){let i=this.#i[n],s=this.#l(i)?i.__staleWhileFetching:i;s!==void 0&&t.call(r,s,this.#R[n],this)}}purgeStale(){let t=!1;for(let r of this.#O({allowStale:!0}))this.#x(r)&&(this.#S(this.#R[r],"expire"),t=!0);return t}info(t){let r=this.#o.get(t);if(r===void 0)return;let n=this.#i[r],i=this.#l(n)?n.__staleWhileFetching:n;if(i===void 0)return;let s={value:i};if(this.#m&&this.#g){let R=this.#m[r],l=this.#g[r];if(R&&l){let c=R-(Vte.now()-l);s.ttl=c,s.start=Date.now()}}return this.#A&&(s.size=this.#A[r]),s}dump(){let t=[];for(let r of this.#E({allowStale:!0})){let n=this.#R[r],i=this.#i[r],s=this.#l(i)?i.__staleWhileFetching:i;if(s===void 0||n===void 0)continue;let R={value:s};if(this.#m&&this.#g){R.ttl=this.#m[r];let l=Vte.now()-this.#g[r];R.start=Math.floor(Date.now()-l)}this.#A&&(R.size=this.#A[r]),t.unshift([n,R])}return t}load(t){this.clear();for(let[r,n]of t){if(n.start){let i=Date.now()-n.start;n.start=Vte.now()-i}this.set(r,n.value,n)}}set(t,r,n={}){if(r===void 0)return this.delete(t),this;let{ttl:i=this.ttl,start:s,noDisposeOnSet:R=this.noDisposeOnSet,sizeCalculation:l=this.sizeCalculation,status:c}=n,{noUpdateTTL:h=this.noUpdateTTL}=n,_=this.#w(t,r,n.size||0,l);if(this.maxEntrySize&&_>this.maxEntrySize)return c&&(c.set="miss",c.maxEntrySizeExceeded=!0),this.#S(t,"set"),this;let f=this.#u===0?void 0:this.#o.get(t);if(f===void 0)f=this.#u===0?this.#T:this.#C.length!==0?this.#C.pop():this.#u===this.#e?this.#B(!1):this.#u,this.#R[f]=t,this.#i[f]=r,this.#o.set(t,f),this.#f[this.#T]=f,this.#d[f]=this.#T,this.#T=f,this.#u++,this.#N(f,_,c),c&&(c.set="add"),h=!1;else{this.#W(f);let m=this.#i[f];if(r!==m){if(this.#q&&this.#l(m)){m.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:x}=m;x!==void 0&&!R&&(this.#y&&this.#a?.(x,t,"set"),this.#_&&this.#h?.push([x,t,"set"]))}else R||(this.#y&&this.#a?.(m,t,"set"),this.#_&&this.#h?.push([m,t,"set"]));if(this.#Q(f),this.#N(f,_,c),this.#i[f]=r,c){c.set="replace";let x=m&&this.#l(m)?m.__staleWhileFetching:m;x!==void 0&&(c.oldValue=x)}}else c&&(c.set="update")}if(i!==0&&!this.#m&&this.#v(),this.#m&&(h||this.#$(f,i,s),c&&this.#r(c,f)),!R&&this.#_&&this.#h){let m=this.#h,x;for(;x=m?.shift();)this.#n?.(...x)}return this}pop(){try{for(;this.#u;){let t=this.#i[this.#p];if(this.#B(!0),this.#l(t)){if(t.__staleWhileFetching)return t.__staleWhileFetching}else if(t!==void 0)return t}}finally{if(this.#_&&this.#h){let t=this.#h,r;for(;r=t?.shift();)this.#n?.(...r)}}}#B(t){let r=this.#p,n=this.#R[r],i=this.#i[r];return this.#q&&this.#l(i)?i.__abortController.abort(new Error("evicted")):(this.#y||this.#_)&&(this.#y&&this.#a?.(i,n,"evict"),this.#_&&this.#h?.push([i,n,"evict"])),this.#Q(r),t&&(this.#R[r]=void 0,this.#i[r]=void 0,this.#C.push(r)),this.#u===1?(this.#p=this.#T=0,this.#C.length=0):this.#p=this.#f[r],this.#o.delete(n),this.#u--,r}has(t,r={}){let{updateAgeOnHas:n=this.updateAgeOnHas,status:i}=r,s=this.#o.get(t);if(s!==void 0){let R=this.#i[s];if(this.#l(R)&&R.__staleWhileFetching===void 0)return!1;if(this.#x(s))i&&(i.has="stale",this.#r(i,s));else return n&&this.#b(s),i&&(i.has="hit",this.#r(i,s)),!0}else i&&(i.has="miss");return!1}peek(t,r={}){let{allowStale:n=this.allowStale}=r,i=this.#o.get(t);if(i===void 0||!n&&this.#x(i))return;let s=this.#i[i];return this.#l(s)?s.__staleWhileFetching:s}#I(t,r,n,i){let s=r===void 0?void 0:this.#i[r];if(this.#l(s))return s;let R=new w2e,{signal:l}=n;l?.addEventListener("abort",()=>R.abort(l.reason),{signal:R.signal});let c={signal:R.signal,options:n,context:i},h=(A,D=!1)=>{let{aborted:S}=R.signal,P=n.ignoreFetchAbort&&A!==void 0;if(n.status&&(S&&!D?(n.status.fetchAborted=!0,n.status.fetchError=R.signal.reason,P&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),S&&!P&&!D)return f(R.signal.reason);let M=x;return this.#i[r]===x&&(A===void 0?M.__staleWhileFetching?this.#i[r]=M.__staleWhileFetching:this.#S(t,"fetch"):(n.status&&(n.status.fetchUpdated=!0),this.set(t,A,c.options))),A},_=A=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=A),f(A)),f=A=>{let{aborted:D}=R.signal,S=D&&n.allowStaleOnFetchAbort,P=S||n.allowStaleOnFetchRejection,M=P||n.noDeleteOnFetchRejection,U=x;if(this.#i[r]===x&&(!M||U.__staleWhileFetching===void 0?this.#S(t,"fetch"):S||(this.#i[r]=U.__staleWhileFetching)),P)return n.status&&U.__staleWhileFetching!==void 0&&(n.status.returnedStale=!0),U.__staleWhileFetching;if(U.__returned===U)throw A},m=(A,D)=>{let S=this.#s?.(t,s,c);S&&S instanceof Promise&&S.then(P=>A(P===void 0?void 0:P),D),R.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(A(void 0),n.allowStaleOnFetchAbort&&(A=P=>h(P,!0)))})};n.status&&(n.status.fetchDispatched=!0);let x=new Promise(m).then(h,_),y=Object.assign(x,{__abortController:R,__staleWhileFetching:s,__returned:void 0});return r===void 0?(this.set(t,y,{...c.options,status:void 0}),r=this.#o.get(t)):this.#i[r]=y,y}#l(t){if(!this.#q)return!1;let r=t;return!!r&&r instanceof Promise&&r.hasOwnProperty("__staleWhileFetching")&&r.__abortController instanceof w2e}async fetch(t,r={}){let{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,ttl:R=this.ttl,noDisposeOnSet:l=this.noDisposeOnSet,size:c=0,sizeCalculation:h=this.sizeCalculation,noUpdateTTL:_=this.noUpdateTTL,noDeleteOnFetchRejection:f=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:m=this.allowStaleOnFetchRejection,ignoreFetchAbort:x=this.ignoreFetchAbort,allowStaleOnFetchAbort:y=this.allowStaleOnFetchAbort,context:A,forceRefresh:D=!1,status:S,signal:P}=r;if(!this.#q)return S&&(S.fetch="get"),this.get(t,{allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:s,status:S});let M={allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:s,ttl:R,noDisposeOnSet:l,size:c,sizeCalculation:h,noUpdateTTL:_,noDeleteOnFetchRejection:f,allowStaleOnFetchRejection:m,allowStaleOnFetchAbort:y,ignoreFetchAbort:x,status:S,signal:P},U=this.#o.get(t);if(U===void 0){S&&(S.fetch="miss");let w=this.#I(t,U,M,A);return w.__returned=w}else{let w=this.#i[U];if(this.#l(w)){let fe=n&&w.__staleWhileFetching!==void 0;return S&&(S.fetch="inflight",fe&&(S.returnedStale=!0)),fe?w.__staleWhileFetching:w.__returned=w}let F=this.#x(U);if(!D&&!F)return S&&(S.fetch="hit"),this.#W(U),i&&this.#b(U),S&&this.#r(S,U),w;let H=this.#I(t,U,M,A),ee=H.__staleWhileFetching!==void 0&&n;return S&&(S.fetch=F?"stale":"refresh",ee&&F&&(S.returnedStale=!0)),ee?H.__staleWhileFetching:H.__returned=H}}async forceFetch(t,r={}){let n=await this.fetch(t,r);if(n===void 0)throw new Error("fetch() returned undefined");return n}memo(t,r={}){let n=this.#k;if(!n)throw new Error("no memoMethod provided to constructor");let{context:i,forceRefresh:s,...R}=r,l=this.get(t,R);if(!s&&l!==void 0)return l;let c=n(t,l,{options:R,context:i});return this.set(t,c,R),c}get(t,r={}){let{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:s=this.noDeleteOnStaleGet,status:R}=r,l=this.#o.get(t);if(l!==void 0){let c=this.#i[l],h=this.#l(c);return R&&this.#r(R,l),this.#x(l)?(R&&(R.get="stale"),h?(R&&n&&c.__staleWhileFetching!==void 0&&(R.returnedStale=!0),n?c.__staleWhileFetching:void 0):(s||this.#S(t,"expire"),R&&n&&(R.returnedStale=!0),n?c:void 0)):(R&&(R.get="hit"),h?c.__staleWhileFetching:(this.#W(l),i&&this.#b(l),c))}else R&&(R.get="miss")}#M(t,r){this.#d[r]=t,this.#f[t]=r}#W(t){t!==this.#T&&(t===this.#p?this.#p=this.#f[t]:this.#M(this.#d[t],this.#f[t]),this.#M(this.#T,t),this.#T=t)}delete(t){return this.#S(t,"delete")}#S(t,r){let n=!1;if(this.#u!==0){let i=this.#o.get(t);if(i!==void 0)if(n=!0,this.#u===1)this.#U(r);else{this.#Q(i);let s=this.#i[i];if(this.#l(s)?s.__abortController.abort(new Error("deleted")):(this.#y||this.#_)&&(this.#y&&this.#a?.(s,t,r),this.#_&&this.#h?.push([s,t,r])),this.#o.delete(t),this.#R[i]=void 0,this.#i[i]=void 0,i===this.#T)this.#T=this.#d[i];else if(i===this.#p)this.#p=this.#f[i];else{let R=this.#d[i];this.#f[R]=this.#f[i];let l=this.#f[i];this.#d[l]=this.#d[i]}this.#u--,this.#C.push(i)}}if(this.#_&&this.#h?.length){let i=this.#h,s;for(;s=i?.shift();)this.#n?.(...s)}return n}clear(){return this.#U("delete")}#U(t){for(let r of this.#O({allowStale:!0})){let n=this.#i[r];if(this.#l(n))n.__abortController.abort(new Error("deleted"));else{let i=this.#R[r];this.#y&&this.#a?.(n,i,t),this.#_&&this.#h?.push([n,i,t])}}if(this.#o.clear(),this.#i.fill(void 0),this.#R.fill(void 0),this.#m&&this.#g&&(this.#m.fill(0),this.#g.fill(0)),this.#A&&this.#A.fill(0),this.#p=0,this.#T=0,this.#C.length=0,this.#c=0,this.#u=0,this.#_&&this.#h){let r=this.#h,n;for(;n=r?.shift();)this.#n?.(...n)}}};import{posix as O8r,win32 as p_t}from"node:path";import{fileURLToPath as v8r}from"node:url";import{lstatSync as D8r,readdir as S8r,readdirSync as $8r,readlinkSync as Q8r,realpathSync as N8r}from"fs";import*as w8r from"node:fs";import{lstat as B8r,readdir as I8r,readlink as M8r,realpath as W8r}from"node:fs/promises";import{EventEmitter as l_t}from"node:events";import jvt from"node:stream";import{StringDecoder as x8r}from"node:string_decoder";var Yvt=typeof process=="object"&&process?process:{stdout:null,stderr:null},m8r=e=>!!e&&typeof e=="object"&&(e instanceof kI||e instanceof jvt||k8r(e)||y8r(e)),k8r=e=>!!e&&typeof e=="object"&&e instanceof l_t&&typeof e.pipe=="function"&&e.pipe!==jvt.Writable.prototype.pipe,y8r=e=>!!e&&typeof e=="object"&&e instanceof l_t&&typeof e.write=="function"&&typeof e.end=="function",TN=Symbol("EOF"),pN=Symbol("maybeEmitEnd"),mI=Symbol("emittedEnd"),P2e=Symbol("emittingEnd"),gTe=Symbol("emittedError"),B2e=Symbol("closed"),Kvt=Symbol("read"),I2e=Symbol("flush"),Gvt=Symbol("flushChunk"),gE=Symbol("encoding"),Jte=Symbol("decoder"),q7=Symbol("flowing"),bTe=Symbol("paused"),Xte=Symbol("resume"),C7=Symbol("buffer"),k4=Symbol("pipes"),A7=Symbol("bufferLength"),i_t=Symbol("bufferPush"),M2e=Symbol("bufferShift"),Xk=Symbol("objectMode"),Wd=Symbol("destroyed"),a_t=Symbol("error"),s_t=Symbol("emitData"),Vvt=Symbol("emitEnd"),o_t=Symbol("emitEnd2"),$v=Symbol("async"),R_t=Symbol("abort"),W2e=Symbol("aborted"),ETe=Symbol("signal"),nj=Symbol("dataListeners"),TA=Symbol("discarded"),OTe=e=>Promise.resolve().then(e),q8r=e=>e(),C8r=e=>e==="end"||e==="finish"||e==="prefinish",A8r=e=>e instanceof ArrayBuffer||!!e&&typeof e=="object"&&e.constructor&&e.constructor.name==="ArrayBuffer"&&e.byteLength>=0,g8r=e=>!Buffer.isBuffer(e)&&ArrayBuffer.isView(e),U2e=class{src;dest;opts;ondrain;constructor(t,r,n){this.src=t,this.dest=r,this.opts=n,this.ondrain=()=>t[Xte](),this.dest.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(t){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},u_t=class extends U2e{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(t,r,n){super(t,r,n),this.proxyErrors=i=>r.emit("error",i),t.on("error",this.proxyErrors)}},b8r=e=>!!e.objectMode,E8r=e=>!e.objectMode&&!!e.encoding&&e.encoding!=="buffer",kI=class extends l_t{[q7]=!1;[bTe]=!1;[k4]=[];[C7]=[];[Xk];[gE];[$v];[Jte];[TN]=!1;[mI]=!1;[P2e]=!1;[B2e]=!1;[gTe]=null;[A7]=0;[Wd]=!1;[ETe];[W2e]=!1;[nj]=0;[TA]=!1;writable=!0;readable=!0;constructor(...t){let r=t[0]||{};if(super(),r.objectMode&&typeof r.encoding=="string")throw new TypeError("Encoding and objectMode may not be used together");b8r(r)?(this[Xk]=!0,this[gE]=null):E8r(r)?(this[gE]=r.encoding,this[Xk]=!1):(this[Xk]=!1,this[gE]=null),this[$v]=!!r.async,this[Jte]=this[gE]?new x8r(this[gE]):null,r&&r.debugExposeBuffer===!0&&Object.defineProperty(this,"buffer",{get:()=>this[C7]}),r&&r.debugExposePipes===!0&&Object.defineProperty(this,"pipes",{get:()=>this[k4]});let{signal:n}=r;n&&(this[ETe]=n,n.aborted?this[R_t]():n.addEventListener("abort",()=>this[R_t]()))}get bufferLength(){return this[A7]}get encoding(){return this[gE]}set encoding(t){throw new Error("Encoding must be set at instantiation time")}setEncoding(t){throw new Error("Encoding must be set at instantiation time")}get objectMode(){return this[Xk]}set objectMode(t){throw new Error("objectMode must be set at instantiation time")}get async(){return this[$v]}set async(t){this[$v]=this[$v]||!!t}[R_t](){this[W2e]=!0,this.emit("abort",this[ETe]?.reason),this.destroy(this[ETe]?.reason)}get aborted(){return this[W2e]}set aborted(t){}write(t,r,n){if(this[W2e])return!1;if(this[TN])throw new Error("write after end");if(this[Wd])return this.emit("error",Object.assign(new Error("Cannot call write after a stream was destroyed"),{code:"ERR_STREAM_DESTROYED"})),!0;typeof r=="function"&&(n=r,r="utf8"),r||(r="utf8");let i=this[$v]?OTe:q8r;if(!this[Xk]&&!Buffer.isBuffer(t)){if(g8r(t))t=Buffer.from(t.buffer,t.byteOffset,t.byteLength);else if(A8r(t))t=Buffer.from(t);else if(typeof t!="string")throw new Error("Non-contiguous data written to non-objectMode stream")}return this[Xk]?(this[q7]&&this[A7]!==0&&this[I2e](!0),this[q7]?this.emit("data",t):this[i_t](t),this[A7]!==0&&this.emit("readable"),n&&i(n),this[q7]):t.length?(typeof t=="string"&&!(r===this[gE]&&!this[Jte]?.lastNeed)&&(t=Buffer.from(t,r)),Buffer.isBuffer(t)&&this[gE]&&(t=this[Jte].write(t)),this[q7]&&this[A7]!==0&&this[I2e](!0),this[q7]?this.emit("data",t):this[i_t](t),this[A7]!==0&&this.emit("readable"),n&&i(n),this[q7]):(this[A7]!==0&&this.emit("readable"),n&&i(n),this[q7])}read(t){if(this[Wd])return null;if(this[TA]=!1,this[A7]===0||t===0||t&&t>this[A7])return this[pN](),null;this[Xk]&&(t=null),this[C7].length>1&&!this[Xk]&&(this[C7]=[this[gE]?this[C7].join(""):Buffer.concat(this[C7],this[A7])]);let r=this[Kvt](t||null,this[C7][0]);return this[pN](),r}[Kvt](t,r){if(this[Xk])this[M2e]();else{let n=r;t===n.length||t===null?this[M2e]():typeof n=="string"?(this[C7][0]=n.slice(t),r=n.slice(0,t),this[A7]-=t):(this[C7][0]=n.subarray(t),r=n.subarray(0,t),this[A7]-=t)}return this.emit("data",r),!this[C7].length&&!this[TN]&&this.emit("drain"),r}end(t,r,n){return typeof t=="function"&&(n=t,t=void 0),typeof r=="function"&&(n=r,r="utf8"),t!==void 0&&this.write(t,r),n&&this.once("end",n),this[TN]=!0,this.writable=!1,(this[q7]||!this[bTe])&&this[pN](),this}[Xte](){this[Wd]||(!this[nj]&&!this[k4].length&&(this[TA]=!0),this[bTe]=!1,this[q7]=!0,this.emit("resume"),this[C7].length?this[I2e]():this[TN]?this[pN]():this.emit("drain"))}resume(){return this[Xte]()}pause(){this[q7]=!1,this[bTe]=!0,this[TA]=!1}get destroyed(){return this[Wd]}get flowing(){return this[q7]}get paused(){return this[bTe]}[i_t](t){this[Xk]?this[A7]+=1:this[A7]+=t.length,this[C7].push(t)}[M2e](){return this[Xk]?this[A7]-=1:this[A7]-=this[C7][0].length,this[C7].shift()}[I2e](t=!1){do;while(this[Gvt](this[M2e]())&&this[C7].length);!t&&!this[C7].length&&!this[TN]&&this.emit("drain")}[Gvt](t){return this.emit("data",t),this[q7]}pipe(t,r){if(this[Wd])return t;this[TA]=!1;let n=this[mI];return r=r||{},t===Yvt.stdout||t===Yvt.stderr?r.end=!1:r.end=r.end!==!1,r.proxyErrors=!!r.proxyErrors,n?r.end&&t.end():(this[k4].push(r.proxyErrors?new u_t(this,t,r):new U2e(this,t,r)),this[$v]?OTe(()=>this[Xte]()):this[Xte]()),t}unpipe(t){let r=this[k4].find(n=>n.dest===t);r&&(this[k4].length===1?(this[q7]&&this[nj]===0&&(this[q7]=!1),this[k4]=[]):this[k4].splice(this[k4].indexOf(r),1),r.unpipe())}addListener(t,r){return this.on(t,r)}on(t,r){let n=super.on(t,r);if(t==="data")this[TA]=!1,this[nj]++,!this[k4].length&&!this[q7]&&this[Xte]();else if(t==="readable"&&this[A7]!==0)super.emit("readable");else if(C8r(t)&&this[mI])super.emit(t),this.removeAllListeners(t);else if(t==="error"&&this[gTe]){let i=r;this[$v]?OTe(()=>i.call(this,this[gTe])):i.call(this,this[gTe])}return n}removeListener(t,r){return this.off(t,r)}off(t,r){let n=super.off(t,r);return t==="data"&&(this[nj]=this.listeners("data").length,this[nj]===0&&!this[TA]&&!this[k4].length&&(this[q7]=!1)),n}removeAllListeners(t){let r=super.removeAllListeners(t);return(t==="data"||t===void 0)&&(this[nj]=0,!this[TA]&&!this[k4].length&&(this[q7]=!1)),r}get emittedEnd(){return this[mI]}[pN](){!this[P2e]&&!this[mI]&&!this[Wd]&&this[C7].length===0&&this[TN]&&(this[P2e]=!0,this.emit("end"),this.emit("prefinish"),this.emit("finish"),this[B2e]&&this.emit("close"),this[P2e]=!1)}emit(t,...r){let n=r[0];if(t!=="error"&&t!=="close"&&t!==Wd&&this[Wd])return!1;if(t==="data")return!this[Xk]&&!n?!1:this[$v]?(OTe(()=>this[s_t](n)),!0):this[s_t](n);if(t==="end")return this[Vvt]();if(t==="close"){if(this[B2e]=!0,!this[mI]&&!this[Wd])return!1;let s=super.emit("close");return this.removeAllListeners("close"),s}else if(t==="error"){this[gTe]=n,super.emit(a_t,n);let s=!this[ETe]||this.listeners("error").length?super.emit("error",n):!1;return this[pN](),s}else if(t==="resume"){let s=super.emit("resume");return this[pN](),s}else if(t==="finish"||t==="prefinish"){let s=super.emit(t);return this.removeAllListeners(t),s}let i=super.emit(t,...r);return this[pN](),i}[s_t](t){for(let n of this[k4])n.dest.write(t)===!1&&this.pause();let r=this[TA]?!1:super.emit("data",t);return this[pN](),r}[Vvt](){return this[mI]?!1:(this[mI]=!0,this.readable=!1,this[$v]?(OTe(()=>this[o_t]()),!0):this[o_t]())}[o_t](){if(this[Jte]){let r=this[Jte].end();if(r){for(let n of this[k4])n.dest.write(r);this[TA]||super.emit("data",r)}}for(let r of this[k4])r.end();let t=super.emit("end");return this.removeAllListeners("end"),t}async collect(){let t=Object.assign([],{dataLength:0});this[Xk]||(t.dataLength=0);let r=this.promise();return this.on("data",n=>{t.push(n),this[Xk]||(t.dataLength+=n.length)}),await r,t}async concat(){if(this[Xk])throw new Error("cannot concat in objectMode");let t=await this.collect();return this[gE]?t.join(""):Buffer.concat(t,t.dataLength)}async promise(){return new Promise((t,r)=>{this.on(Wd,()=>r(new Error("stream destroyed"))),this.on("error",n=>r(n)),this.on("end",()=>t())})}[Symbol.asyncIterator](){this[TA]=!1;let t=!1,r=async()=>(this.pause(),t=!0,{value:void 0,done:!0});return{next:()=>{if(t)return r();let i=this.read();if(i!==null)return Promise.resolve({done:!1,value:i});if(this[TN])return r();let s,R,l=f=>{this.off("data",c),this.off("end",h),this.off(Wd,_),r(),R(f)},c=f=>{this.off("error",l),this.off("end",h),this.off(Wd,_),this.pause(),s({value:f,done:!!this[TN]})},h=()=>{this.off("error",l),this.off("data",c),this.off(Wd,_),r(),s({done:!0,value:void 0})},_=()=>l(new Error("stream destroyed"));return new Promise((f,m)=>{R=m,s=f,this.once(Wd,_),this.once("error",l),this.once("end",h),this.once("data",c)})},throw:r,return:r,[Symbol.asyncIterator](){return this}}}[Symbol.iterator](){this[TA]=!1;let t=!1,r=()=>(this.pause(),this.off(a_t,r),this.off(Wd,r),this.off("end",r),t=!0,{done:!0,value:void 0}),n=()=>{if(t)return r();let i=this.read();return i===null?r():{done:!1,value:i}};return this.once("end",r),this.once(a_t,r),this.once(Wd,r),{next:n,throw:r,return:r,[Symbol.iterator](){return this}}}destroy(t){if(this[Wd])return t?this.emit("error",t):this.emit(Wd),this;this[Wd]=!0,this[TA]=!0,this[C7].length=0,this[A7]=0;let r=this;return typeof r.close=="function"&&!this[B2e]&&r.close(),t?this.emit("error",t):this.emit(Wd),this}static get isStream(){return m8r}};var P8r=N8r.native,DTe={lstatSync:D8r,readdir:S8r,readdirSync:$8r,readlinkSync:Q8r,realpathSync:P8r,promises:{lstat:B8r,readdir:I8r,readlink:M8r,realpath:W8r}},tDt=e=>!e||e===DTe||e===w8r?DTe:{...DTe,...e,promises:{...DTe.promises,...e.promises||{}}},rDt=/^\\\\\?\\([a-z]:)\\?$/i,U8r=e=>e.replace(/\//g,"\\").replace(rDt,"$1\\"),F8r=/[\\\/]/,Q3=0,nDt=1,iDt=2,Qv=4,aDt=6,sDt=8,ij=10,oDt=12,$3=15,vTe=~$3,c_t=16,Jvt=32,STe=64,bE=128,F2e=256,z2e=512,Xvt=STe|bE|z2e,L8r=1023,T_t=e=>e.isFile()?sDt:e.isDirectory()?Qv:e.isSymbolicLink()?ij:e.isCharacterDevice()?iDt:e.isBlockDevice()?aDt:e.isSocket()?oDt:e.isFIFO()?nDt:Q3,Zvt=new Map,$Te=e=>{let t=Zvt.get(e);if(t)return t;let r=e.normalize("NFKD");return Zvt.set(e,r),r},eDt=new Map,L2e=e=>{let t=eDt.get(e);if(t)return t;let r=$Te(e.toLowerCase());return eDt.set(e,r),r},H2e=class extends ATe{constructor(){super({max:256})}},__t=class extends ATe{constructor(t=16*1024){super({maxSize:t,sizeCalculation:r=>r.length+1})}},RDt=Symbol("PathScurry setAsCwd"),Zk=class{name;root;roots;parent;nocase;isCWD=!1;#e;#t;get dev(){return this.#t}#a;get mode(){return this.#a}#n;get nlink(){return this.#n}#s;get uid(){return this.#s}#k;get gid(){return this.#k}#u;get rdev(){return this.#u}#c;get blksize(){return this.#c}#o;get ino(){return this.#o}#R;get size(){return this.#R}#i;get blocks(){return this.#i}#f;get atimeMs(){return this.#f}#d;get mtimeMs(){return this.#d}#p;get ctimeMs(){return this.#p}#T;get birthtimeMs(){return this.#T}#C;get atime(){return this.#C}#h;get mtime(){return this.#h}#A;get ctime(){return this.#A}#g;get birthtime(){return this.#g}#m;#y;#q;#_;#v;#b;#r;#$;#x;#D;get parentPath(){return(this.parent||this).fullpath()}get path(){return this.parentPath}constructor(t,r=Q3,n,i,s,R,l){this.name=t,this.#m=s?L2e(t):$Te(t),this.#r=r&L8r,this.nocase=s,this.roots=i,this.root=n||this,this.#$=R,this.#q=l.fullpath,this.#v=l.relative,this.#b=l.relativePosix,this.parent=l.parent,this.parent?this.#e=this.parent.#e:this.#e=tDt(l.fs)}depth(){return this.#y!==void 0?this.#y:this.parent?this.#y=this.parent.depth()+1:this.#y=0}childrenCache(){return this.#$}resolve(t){if(!t)return this;let r=this.getRootString(t),i=t.substring(r.length).split(this.splitSep);return r?this.getRoot(r).#Q(i):this.#Q(i)}#Q(t){let r=this;for(let n of t)r=r.child(n);return r}children(){let t=this.#$.get(this);if(t)return t;let r=Object.assign([],{provisional:0});return this.#$.set(this,r),this.#r&=~c_t,r}child(t,r){if(t===""||t===".")return this;if(t==="..")return this.parent||this;let n=this.children(),i=this.nocase?L2e(t):$Te(t);for(let c of n)if(c.#m===i)return c;let s=this.parent?this.sep:"",R=this.#q?this.#q+s+t:void 0,l=this.newChild(t,Q3,{...r,parent:this,fullpath:R});return this.canReaddir()||(l.#r|=bE),n.push(l),l}relative(){if(this.isCWD)return"";if(this.#v!==void 0)return this.#v;let t=this.name,r=this.parent;if(!r)return this.#v=this.name;let n=r.relative();return n+(!n||!r.parent?"":this.sep)+t}relativePosix(){if(this.sep==="/")return this.relative();if(this.isCWD)return"";if(this.#b!==void 0)return this.#b;let t=this.name,r=this.parent;if(!r)return this.#b=this.fullpathPosix();let n=r.relativePosix();return n+(!n||!r.parent?"":"/")+t}fullpath(){if(this.#q!==void 0)return this.#q;let t=this.name,r=this.parent;if(!r)return this.#q=this.name;let i=r.fullpath()+(r.parent?this.sep:"")+t;return this.#q=i}fullpathPosix(){if(this.#_!==void 0)return this.#_;if(this.sep==="/")return this.#_=this.fullpath();if(!this.parent){let i=this.fullpath().replace(/\\/g,"/");return/^[a-z]:\//i.test(i)?this.#_=`//?/${i}`:this.#_=i}let t=this.parent,r=t.fullpathPosix(),n=r+(!r||!t.parent?"":"/")+this.name;return this.#_=n}isUnknown(){return(this.#r&$3)===Q3}isType(t){return this[`is${t}`]()}getType(){return this.isUnknown()?"Unknown":this.isDirectory()?"Directory":this.isFile()?"File":this.isSymbolicLink()?"SymbolicLink":this.isFIFO()?"FIFO":this.isCharacterDevice()?"CharacterDevice":this.isBlockDevice()?"BlockDevice":this.isSocket()?"Socket":"Unknown"}isFile(){return(this.#r&$3)===sDt}isDirectory(){return(this.#r&$3)===Qv}isCharacterDevice(){return(this.#r&$3)===iDt}isBlockDevice(){return(this.#r&$3)===aDt}isFIFO(){return(this.#r&$3)===nDt}isSocket(){return(this.#r&$3)===oDt}isSymbolicLink(){return(this.#r&ij)===ij}lstatCached(){return this.#r&Jvt?this:void 0}readlinkCached(){return this.#x}realpathCached(){return this.#D}readdirCached(){let t=this.children();return t.slice(0,t.provisional)}canReadlink(){if(this.#x)return!0;if(!this.parent)return!1;let t=this.#r&$3;return!(t!==Q3&&t!==ij||this.#r&F2e||this.#r&bE)}calledReaddir(){return!!(this.#r&c_t)}isENOENT(){return!!(this.#r&bE)}isNamed(t){return this.nocase?this.#m===L2e(t):this.#m===$Te(t)}async readlink(){let t=this.#x;if(t)return t;if(this.canReadlink()&&this.parent)try{let r=await this.#e.promises.readlink(this.fullpath()),n=(await this.parent.realpath())?.resolve(r);if(n)return this.#x=n}catch(r){this.#l(r.code);return}}readlinkSync(){let t=this.#x;if(t)return t;if(this.canReadlink()&&this.parent)try{let r=this.#e.readlinkSync(this.fullpath()),n=this.parent.realpathSync()?.resolve(r);if(n)return this.#x=n}catch(r){this.#l(r.code);return}}#N(t){this.#r|=c_t;for(let r=t.provisional;rn(null,t))}readdirCB(t,r=!1){if(!this.canReaddir()){r?t(null,[]):queueMicrotask(()=>t(null,[]));return}let n=this.children();if(this.calledReaddir()){let s=n.slice(0,n.provisional);r?t(null,s):queueMicrotask(()=>t(null,s));return}if(this.#L.push(t),this.#z)return;this.#z=!0;let i=this.fullpath();this.#e.readdir(i,{withFileTypes:!0},(s,R)=>{if(s)this.#B(s.code),n.provisional=0;else{for(let l of R)this.#M(l,n);this.#N(n)}this.#Y(n.slice(0,n.provisional))})}#F;async readdir(){if(!this.canReaddir())return[];let t=this.children();if(this.calledReaddir())return t.slice(0,t.provisional);let r=this.fullpath();if(this.#F)await this.#F;else{let n=()=>{};this.#F=new Promise(i=>n=i);try{for(let i of await this.#e.promises.readdir(r,{withFileTypes:!0}))this.#M(i,t);this.#N(t)}catch(i){this.#B(i.code),t.provisional=0}this.#F=void 0,n()}return t.slice(0,t.provisional)}readdirSync(){if(!this.canReaddir())return[];let t=this.children();if(this.calledReaddir())return t.slice(0,t.provisional);let r=this.fullpath();try{for(let n of this.#e.readdirSync(r,{withFileTypes:!0}))this.#M(n,t);this.#N(t)}catch(n){this.#B(n.code),t.provisional=0}return t.slice(0,t.provisional)}canReaddir(){if(this.#r&Xvt)return!1;let t=$3&this.#r;return t===Q3||t===Qv||t===ij}shouldWalk(t,r){return(this.#r&Qv)===Qv&&!(this.#r&Xvt)&&!t.has(this)&&(!r||r(this))}async realpath(){if(this.#D)return this.#D;if(!((z2e|F2e|bE)&this.#r))try{let t=await this.#e.promises.realpath(this.fullpath());return this.#D=this.resolve(t)}catch{this.#O()}}realpathSync(){if(this.#D)return this.#D;if(!((z2e|F2e|bE)&this.#r))try{let t=this.#e.realpathSync(this.fullpath());return this.#D=this.resolve(t)}catch{this.#O()}}[RDt](t){if(t===this)return;t.isCWD=!1,this.isCWD=!0;let r=new Set([]),n=[],i=this;for(;i&&i.parent;)r.add(i),i.#v=n.join(this.sep),i.#b=n.join("/"),i=i.parent,n.push("..");for(i=t;i&&i.parent&&!r.has(i);)i.#v=void 0,i.#b=void 0,i=i.parent}},Y2e=class e extends Zk{sep="\\";splitSep=F8r;constructor(t,r=Q3,n,i,s,R,l){super(t,r,n,i,s,R,l)}newChild(t,r=Q3,n={}){return new e(t,r,this.root,this.roots,this.nocase,this.childrenCache(),n)}getRootString(t){return p_t.parse(t).root}getRoot(t){if(t=U8r(t.toUpperCase()),t===this.root.name)return this.root;for(let[r,n]of Object.entries(this.roots))if(this.sameRoot(t,r))return this.roots[t]=n;return this.roots[t]=new Zte(t,this).root}sameRoot(t,r=this.root.name){return t=t.toUpperCase().replace(/\//g,"\\").replace(rDt,"$1\\"),t===r}},K2e=class e extends Zk{splitSep="/";sep="/";constructor(t,r=Q3,n,i,s,R,l){super(t,r,n,i,s,R,l)}getRootString(t){return t.startsWith("/")?"/":""}getRoot(t){return this.root}newChild(t,r=Q3,n={}){return new e(t,r,this.root,this.roots,this.nocase,this.childrenCache(),n)}},G2e=class{root;rootPath;roots;cwd;#e;#t;#a;nocase;#n;constructor(t=process.cwd(),r,n,{nocase:i,childrenCacheSize:s=16*1024,fs:R=DTe}={}){this.#n=tDt(R),(t instanceof URL||t.startsWith("file://"))&&(t=v8r(t));let l=r.resolve(t);this.roots=Object.create(null),this.rootPath=this.parseRootPath(l),this.#e=new H2e,this.#t=new H2e,this.#a=new __t(s);let c=l.substring(this.rootPath.length).split(n);if(c.length===1&&!c[0]&&c.pop(),i===void 0)throw new TypeError("must provide nocase setting to PathScurryBase ctor");this.nocase=i,this.root=this.newRoot(this.#n),this.roots[this.rootPath]=this.root;let h=this.root,_=c.length-1,f=r.sep,m=this.rootPath,x=!1;for(let y of c){let A=_--;h=h.child(y,{relative:new Array(A).fill("..").join(f),relativePosix:new Array(A).fill("..").join("/"),fullpath:m+=(x?"":f)+y}),x=!0}this.cwd=h}depth(t=this.cwd){return typeof t=="string"&&(t=this.cwd.resolve(t)),t.depth()}childrenCache(){return this.#a}resolve(...t){let r="";for(let s=t.length-1;s>=0;s--){let R=t[s];if(!(!R||R===".")&&(r=r?`${R}/${r}`:R,this.isAbsolute(R)))break}let n=this.#e.get(r);if(n!==void 0)return n;let i=this.cwd.resolve(r).fullpath();return this.#e.set(r,i),i}resolvePosix(...t){let r="";for(let s=t.length-1;s>=0;s--){let R=t[s];if(!(!R||R===".")&&(r=r?`${R}/${r}`:R,this.isAbsolute(R)))break}let n=this.#t.get(r);if(n!==void 0)return n;let i=this.cwd.resolve(r).fullpathPosix();return this.#t.set(r,i),i}relative(t=this.cwd){return typeof t=="string"&&(t=this.cwd.resolve(t)),t.relative()}relativePosix(t=this.cwd){return typeof t=="string"&&(t=this.cwd.resolve(t)),t.relativePosix()}basename(t=this.cwd){return typeof t=="string"&&(t=this.cwd.resolve(t)),t.name}dirname(t=this.cwd){return typeof t=="string"&&(t=this.cwd.resolve(t)),(t.parent||t).fullpath()}async readdir(t=this.cwd,r={withFileTypes:!0}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof Zk||(r=t,t=this.cwd);let{withFileTypes:n}=r;if(t.canReaddir()){let i=await t.readdir();return n?i:i.map(s=>s.name)}else return[]}readdirSync(t=this.cwd,r={withFileTypes:!0}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof Zk||(r=t,t=this.cwd);let{withFileTypes:n=!0}=r;return t.canReaddir()?n?t.readdirSync():t.readdirSync().map(i=>i.name):[]}async lstat(t=this.cwd){return typeof t=="string"&&(t=this.cwd.resolve(t)),t.lstat()}lstatSync(t=this.cwd){return typeof t=="string"&&(t=this.cwd.resolve(t)),t.lstatSync()}async readlink(t=this.cwd,{withFileTypes:r}={withFileTypes:!1}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof Zk||(r=t.withFileTypes,t=this.cwd);let n=await t.readlink();return r?n:n?.fullpath()}readlinkSync(t=this.cwd,{withFileTypes:r}={withFileTypes:!1}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof Zk||(r=t.withFileTypes,t=this.cwd);let n=t.readlinkSync();return r?n:n?.fullpath()}async realpath(t=this.cwd,{withFileTypes:r}={withFileTypes:!1}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof Zk||(r=t.withFileTypes,t=this.cwd);let n=await t.realpath();return r?n:n?.fullpath()}realpathSync(t=this.cwd,{withFileTypes:r}={withFileTypes:!1}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof Zk||(r=t.withFileTypes,t=this.cwd);let n=t.realpathSync();return r?n:n?.fullpath()}async walk(t=this.cwd,r={}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof Zk||(r=t,t=this.cwd);let{withFileTypes:n=!0,follow:i=!1,filter:s,walkFilter:R}=r,l=[];(!s||s(t))&&l.push(n?t:t.fullpath());let c=new Set,h=(f,m)=>{c.add(f),f.readdirCB((x,y)=>{if(x)return m(x);let A=y.length;if(!A)return m();let D=()=>{--A===0&&m()};for(let S of y)(!s||s(S))&&l.push(n?S:S.fullpath()),i&&S.isSymbolicLink()?S.realpath().then(P=>P?.isUnknown()?P.lstat():P).then(P=>P?.shouldWalk(c,R)?h(P,D):D()):S.shouldWalk(c,R)?h(S,D):D()},!0)},_=t;return new Promise((f,m)=>{h(_,x=>{if(x)return m(x);f(l)})})}walkSync(t=this.cwd,r={}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof Zk||(r=t,t=this.cwd);let{withFileTypes:n=!0,follow:i=!1,filter:s,walkFilter:R}=r,l=[];(!s||s(t))&&l.push(n?t:t.fullpath());let c=new Set([t]);for(let h of c){let _=h.readdirSync();for(let f of _){(!s||s(f))&&l.push(n?f:f.fullpath());let m=f;if(f.isSymbolicLink()){if(!(i&&(m=f.realpathSync())))continue;m.isUnknown()&&m.lstatSync()}m.shouldWalk(c,R)&&c.add(m)}}return l}[Symbol.asyncIterator](){return this.iterate()}iterate(t=this.cwd,r={}){return typeof t=="string"?t=this.cwd.resolve(t):t instanceof Zk||(r=t,t=this.cwd),this.stream(t,r)[Symbol.asyncIterator]()}[Symbol.iterator](){return this.iterateSync()}*iterateSync(t=this.cwd,r={}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof Zk||(r=t,t=this.cwd);let{withFileTypes:n=!0,follow:i=!1,filter:s,walkFilter:R}=r;(!s||s(t))&&(yield n?t:t.fullpath());let l=new Set([t]);for(let c of l){let h=c.readdirSync();for(let _ of h){(!s||s(_))&&(yield n?_:_.fullpath());let f=_;if(_.isSymbolicLink()){if(!(i&&(f=_.realpathSync())))continue;f.isUnknown()&&f.lstatSync()}f.shouldWalk(l,R)&&l.add(f)}}}stream(t=this.cwd,r={}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof Zk||(r=t,t=this.cwd);let{withFileTypes:n=!0,follow:i=!1,filter:s,walkFilter:R}=r,l=new kI({objectMode:!0});(!s||s(t))&&l.write(n?t:t.fullpath());let c=new Set,h=[t],_=0,f=()=>{let m=!1;for(;!m;){let x=h.shift();if(!x){_===0&&l.end();return}_++,c.add(x);let y=(D,S,P=!1)=>{if(D)return l.emit("error",D);if(i&&!P){let M=[];for(let U of S)U.isSymbolicLink()&&M.push(U.realpath().then(w=>w?.isUnknown()?w.lstat():w));if(M.length){Promise.all(M).then(()=>y(null,S,!0));return}}for(let M of S)M&&(!s||s(M))&&(l.write(n?M:M.fullpath())||(m=!0));_--;for(let M of S){let U=M.realpathCached()||M;U.shouldWalk(c,R)&&h.push(U)}m&&!l.flowing?l.once("drain",f):A||f()},A=!0;x.readdirCB(y,!0),A=!1}};return f(),l}streamSync(t=this.cwd,r={}){typeof t=="string"?t=this.cwd.resolve(t):t instanceof Zk||(r=t,t=this.cwd);let{withFileTypes:n=!0,follow:i=!1,filter:s,walkFilter:R}=r,l=new kI({objectMode:!0}),c=new Set;(!s||s(t))&&l.write(n?t:t.fullpath());let h=[t],_=0,f=()=>{let m=!1;for(;!m;){let x=h.shift();if(!x){_===0&&l.end();return}_++,c.add(x);let y=x.readdirSync();for(let A of y)(!s||s(A))&&(l.write(n?A:A.fullpath())||(m=!0));_--;for(let A of y){let D=A;if(A.isSymbolicLink()){if(!(i&&(D=A.realpathSync())))continue;D.isUnknown()&&D.lstatSync()}D.shouldWalk(c,R)&&h.push(D)}}m&&!l.flowing&&l.once("drain",f)};return f(),l}chdir(t=this.cwd){let r=this.cwd;this.cwd=typeof t=="string"?this.cwd.resolve(t):t,this.cwd[RDt](r)}},Zte=class extends G2e{sep="\\";constructor(t=process.cwd(),r={}){let{nocase:n=!0}=r;super(t,p_t,"\\",{...r,nocase:n}),this.nocase=n;for(let i=this.cwd;i;i=i.parent)i.nocase=this.nocase}parseRootPath(t){return p_t.parse(t).root.toUpperCase()}newRoot(t){return new Y2e(this.rootPath,Qv,void 0,this.roots,this.nocase,this.childrenCache(),{fs:t})}isAbsolute(t){return t.startsWith("/")||t.startsWith("\\")||/^[a-z]:(\/|\\)/i.test(t)}},ere=class extends G2e{sep="/";constructor(t=process.cwd(),r={}){let{nocase:n=!1}=r;super(t,O8r,"/",{...r,nocase:n}),this.nocase=n}parseRootPath(t){return"/"}newRoot(t){return new K2e(this.rootPath,Qv,void 0,this.roots,this.nocase,this.childrenCache(),{fs:t})}isAbsolute(t){return t.startsWith("/")}},QTe=class extends ere{constructor(t=process.cwd(),r={}){let{nocase:n=!0}=r;super(t,{...r,nocase:n})}},kZn=process.platform==="win32"?Y2e:K2e,uDt=process.platform==="win32"?Zte:process.platform==="darwin"?QTe:ere;var z8r=e=>e.length>=1,H8r=e=>e.length>=1,tre=class e{#e;#t;#a;length;#n;#s;#k;#u;#c;#o;#R=!0;constructor(t,r,n,i){if(!z8r(t))throw new TypeError("empty pattern list");if(!H8r(r))throw new TypeError("empty glob list");if(r.length!==t.length)throw new TypeError("mismatched pattern list and glob list lengths");if(this.length=t.length,n<0||n>=this.length)throw new TypeError("index out of range");if(this.#e=t,this.#t=r,this.#a=n,this.#n=i,this.#a===0){if(this.isUNC()){let[s,R,l,c,...h]=this.#e,[_,f,m,x,...y]=this.#t;h[0]===""&&(h.shift(),y.shift());let A=[s,R,l,c,""].join("/"),D=[_,f,m,x,""].join("/");this.#e=[A,...h],this.#t=[D,...y],this.length=this.#e.length}else if(this.isDrive()||this.isAbsolute()){let[s,...R]=this.#e,[l,...c]=this.#t;R[0]===""&&(R.shift(),c.shift());let h=s+"/",_=l+"/";this.#e=[h,...R],this.#t=[_,...c],this.length=this.#e.length}}}pattern(){return this.#e[this.#a]}isString(){return typeof this.#e[this.#a]=="string"}isGlobstar(){return this.#e[this.#a]===Qm}isRegExp(){return this.#e[this.#a]instanceof RegExp}globString(){return this.#k=this.#k||(this.#a===0?this.isAbsolute()?this.#t[0]+this.#t.slice(1).join("/"):this.#t.join("/"):this.#t.slice(this.#a).join("/"))}hasMore(){return this.length>this.#a+1}rest(){return this.#s!==void 0?this.#s:this.hasMore()?(this.#s=new e(this.#e,this.#t,this.#a+1,this.#n),this.#s.#o=this.#o,this.#s.#c=this.#c,this.#s.#u=this.#u,this.#s):this.#s=null}isUNC(){let t=this.#e;return this.#c!==void 0?this.#c:this.#c=this.#n==="win32"&&this.#a===0&&t[0]===""&&t[1]===""&&typeof t[2]=="string"&&!!t[2]&&typeof t[3]=="string"&&!!t[3]}isDrive(){let t=this.#e;return this.#u!==void 0?this.#u:this.#u=this.#n==="win32"&&this.#a===0&&this.length>1&&typeof t[0]=="string"&&/^[a-z]:$/i.test(t[0])}isAbsolute(){let t=this.#e;return this.#o!==void 0?this.#o:this.#o=t[0]===""&&t.length>1||this.isDrive()||this.isUNC()}root(){let t=this.#e[0];return typeof t=="string"&&this.isAbsolute()&&this.#a===0?t:""}checkFollowGlobstar(){return!(this.#a===0||!this.isGlobstar()||!this.#R)}markFollowGlobstar(){return this.#a===0||!this.isGlobstar()||!this.#R?!1:(this.#R=!1,!0)}};var Y8r=typeof process=="object"&&process&&typeof process.platform=="string"?process.platform:"linux",rre=class{relative;relativeChildren;absolute;absoluteChildren;platform;mmopts;constructor(t,{nobrace:r,nocase:n,noext:i,noglobstar:s,platform:R=Y8r}){this.relative=[],this.absolute=[],this.relativeChildren=[],this.absoluteChildren=[],this.platform=R,this.mmopts={dot:!0,nobrace:r,nocase:n,noext:i,noglobstar:s,optimizationLevel:2,platform:R,nocomment:!0,nonegate:!0};for(let l of t)this.add(l)}add(t){let r=new cA(t,this.mmopts);for(let n=0;n[t,!!(r&2),!!(r&1)])}},d_t=class{store=new Map;add(t,r){if(!t.canReaddir())return;let n=this.store.get(t);n?n.find(i=>i.globString()===r.globString())||n.push(r):this.store.set(t,[r])}get(t){let r=this.store.get(t);if(!r)throw new Error("attempting to walk unknown path");return r}entries(){return this.keys().map(t=>[t,this.store.get(t)])}keys(){return[...this.store.keys()].filter(t=>t.canReaddir())}},NTe=class e{hasWalkedCache;matches=new f_t;subwalks=new d_t;patterns;follow;dot;opts;constructor(t,r){this.opts=t,this.follow=!!t.follow,this.dot=!!t.dot,this.hasWalkedCache=r?r.copy():new h_t}processPatterns(t,r){this.patterns=r;let n=r.map(i=>[t,i]);for(let[i,s]of n){this.hasWalkedCache.storeWalked(i,s);let R=s.root(),l=s.isAbsolute()&&this.opts.absolute!==!1;if(R){i=i.resolve(R==="/"&&this.opts.root!==void 0?this.opts.root:R);let f=s.rest();if(f)s=f;else{this.matches.add(i,!0,!1);continue}}if(i.isENOENT())continue;let c,h,_=!1;for(;typeof(c=s.pattern())=="string"&&(h=s.rest());)i=i.resolve(c),s=h,_=!0;if(c=s.pattern(),h=s.rest(),_){if(this.hasWalkedCache.hasWalked(i,s))continue;this.hasWalkedCache.storeWalked(i,s)}if(typeof c=="string"){let f=c===".."||c===""||c===".";this.matches.add(i.resolve(c),l,f);continue}else if(c===Qm){(!i.isSymbolicLink()||this.follow||s.checkFollowGlobstar())&&this.subwalks.add(i,s);let f=h?.pattern(),m=h?.rest();if(!h||(f===""||f===".")&&!m)this.matches.add(i,l,f===""||f===".");else if(f===".."){let x=i.parent||i;m?this.hasWalkedCache.hasWalked(x,m)||this.subwalks.add(x,m):this.matches.add(x,l,!0)}}else c instanceof RegExp&&this.subwalks.add(i,s)}return this}subwalkTargets(){return this.subwalks.keys()}child(){return new e(this.opts,this.hasWalkedCache)}filterEntries(t,r){let n=this.subwalks.get(t),i=this.child();for(let s of r)for(let R of n){let l=R.isAbsolute(),c=R.pattern(),h=R.rest();c===Qm?i.testGlobstar(s,R,h,l):c instanceof RegExp?i.testRegExp(s,c,h,l):i.testString(s,c,h,l)}return i}testGlobstar(t,r,n,i){if((this.dot||!t.name.startsWith("."))&&(r.hasMore()||this.matches.add(t,i,!1),t.canReaddir()&&(this.follow||!t.isSymbolicLink()?this.subwalks.add(t,r):t.isSymbolicLink()&&(n&&r.checkFollowGlobstar()?this.subwalks.add(t,n):r.markFollowGlobstar()&&this.subwalks.add(t,r)))),n){let s=n.pattern();if(typeof s=="string"&&s!==".."&&s!==""&&s!==".")this.testString(t,s,n.rest(),i);else if(s===".."){let R=t.parent||t;this.subwalks.add(R,n)}else s instanceof RegExp&&this.testRegExp(t,s,n.rest(),i)}}testRegExp(t,r,n,i){r.test(t.name)&&(n?this.subwalks.add(t,n):this.matches.add(t,i,!1))}testString(t,r,n,i){t.isNamed(r)&&(n?this.subwalks.add(t,n):this.matches.add(t,i,!1))}};var K8r=(e,t)=>typeof e=="string"?new rre([e],t):Array.isArray(e)?new rre(e,t):e,V2e=class{path;patterns;opts;seen=new Set;paused=!1;aborted=!1;#e=[];#t;#a;signal;maxDepth;includeChildMatches;constructor(t,r,n){if(this.patterns=t,this.path=r,this.opts=n,this.#a=!n.posix&&n.platform==="win32"?"\\":"/",this.includeChildMatches=n.includeChildMatches!==!1,(n.ignore||!this.includeChildMatches)&&(this.#t=K8r(n.ignore??[],n),!this.includeChildMatches&&typeof this.#t.add!="function")){let i="cannot ignore child matches, ignore lacks add() method.";throw new Error(i)}this.maxDepth=n.maxDepth||1/0,n.signal&&(this.signal=n.signal,this.signal.addEventListener("abort",()=>{this.#e.length=0}))}#n(t){return this.seen.has(t)||!!this.#t?.ignored?.(t)}#s(t){return!!this.#t?.childrenIgnored?.(t)}pause(){this.paused=!0}resume(){if(this.signal?.aborted)return;this.paused=!1;let t;for(;!this.paused&&(t=this.#e.shift());)t()}onResume(t){this.signal?.aborted||(this.paused?this.#e.push(t):t())}async matchCheck(t,r){if(r&&this.opts.nodir)return;let n;if(this.opts.realpath){if(n=t.realpathCached()||await t.realpath(),!n)return;t=n}let s=t.isUnknown()||this.opts.stat?await t.lstat():t;if(this.opts.follow&&this.opts.nodir&&s?.isSymbolicLink()){let R=await s.realpath();R&&(R.isUnknown()||this.opts.stat)&&await R.lstat()}return this.matchCheckTest(s,r)}matchCheckTest(t,r){return t&&(this.maxDepth===1/0||t.depth()<=this.maxDepth)&&(!r||t.canReaddir())&&(!this.opts.nodir||!t.isDirectory())&&(!this.opts.nodir||!this.opts.follow||!t.isSymbolicLink()||!t.realpathCached()?.isDirectory())&&!this.#n(t)?t:void 0}matchCheckSync(t,r){if(r&&this.opts.nodir)return;let n;if(this.opts.realpath){if(n=t.realpathCached()||t.realpathSync(),!n)return;t=n}let s=t.isUnknown()||this.opts.stat?t.lstatSync():t;if(this.opts.follow&&this.opts.nodir&&s?.isSymbolicLink()){let R=s.realpathSync();R&&(R?.isUnknown()||this.opts.stat)&&R.lstatSync()}return this.matchCheckTest(s,r)}matchFinish(t,r){if(this.#n(t))return;if(!this.includeChildMatches&&this.#t?.add){let s=`${t.relativePosix()}/**`;this.#t.add(s)}let n=this.opts.absolute===void 0?r:this.opts.absolute;this.seen.add(t);let i=this.opts.mark&&t.isDirectory()?this.#a:"";if(this.opts.withFileTypes)this.matchEmit(t);else if(n){let s=this.opts.posix?t.fullpathPosix():t.fullpath();this.matchEmit(s+i)}else{let s=this.opts.posix?t.relativePosix():t.relative(),R=this.opts.dotRelative&&!s.startsWith(".."+this.#a)?"."+this.#a:"";this.matchEmit(s?R+s+i:"."+i)}}async match(t,r,n){let i=await this.matchCheck(t,n);i&&this.matchFinish(i,r)}matchSync(t,r,n){let i=this.matchCheckSync(t,n);i&&this.matchFinish(i,r)}walkCB(t,r,n){this.signal?.aborted&&n(),this.walkCB2(t,r,new NTe(this.opts),n)}walkCB2(t,r,n,i){if(this.#s(t))return i();if(this.signal?.aborted&&i(),this.paused){this.onResume(()=>this.walkCB2(t,r,n,i));return}n.processPatterns(t,r);let s=1,R=()=>{--s===0&&i()};for(let[l,c,h]of n.matches.entries())this.#n(l)||(s++,this.match(l,c,h).then(()=>R()));for(let l of n.subwalkTargets()){if(this.maxDepth!==1/0&&l.depth()>=this.maxDepth)continue;s++;let c=l.readdirCached();l.calledReaddir()?this.walkCB3(l,c,n,R):l.readdirCB((h,_)=>this.walkCB3(l,_,n,R),!0)}R()}walkCB3(t,r,n,i){n=n.filterEntries(t,r);let s=1,R=()=>{--s===0&&i()};for(let[l,c,h]of n.matches.entries())this.#n(l)||(s++,this.match(l,c,h).then(()=>R()));for(let[l,c]of n.subwalks.entries())s++,this.walkCB2(l,c,n.child(),R);R()}walkCBSync(t,r,n){this.signal?.aborted&&n(),this.walkCB2Sync(t,r,new NTe(this.opts),n)}walkCB2Sync(t,r,n,i){if(this.#s(t))return i();if(this.signal?.aborted&&i(),this.paused){this.onResume(()=>this.walkCB2Sync(t,r,n,i));return}n.processPatterns(t,r);let s=1,R=()=>{--s===0&&i()};for(let[l,c,h]of n.matches.entries())this.#n(l)||this.matchSync(l,c,h);for(let l of n.subwalkTargets()){if(this.maxDepth!==1/0&&l.depth()>=this.maxDepth)continue;s++;let c=l.readdirSync();this.walkCB3Sync(l,c,n,R)}R()}walkCB3Sync(t,r,n,i){n=n.filterEntries(t,r);let s=1,R=()=>{--s===0&&i()};for(let[l,c,h]of n.matches.entries())this.#n(l)||this.matchSync(l,c,h);for(let[l,c]of n.subwalks.entries())s++,this.walkCB2Sync(l,c,n.child(),R);R()}},wTe=class extends V2e{matches=new Set;constructor(t,r,n){super(t,r,n)}matchEmit(t){this.matches.add(t)}async walk(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&await this.path.lstat(),await new Promise((t,r)=>{this.walkCB(this.path,this.patterns,()=>{this.signal?.aborted?r(this.signal.reason):t(this.matches)})}),this.matches}walkSync(){if(this.signal?.aborted)throw this.signal.reason;return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>{if(this.signal?.aborted)throw this.signal.reason}),this.matches}},PTe=class extends V2e{results;constructor(t,r,n){super(t,r,n),this.results=new kI({signal:this.signal,objectMode:!0}),this.results.on("drain",()=>this.resume()),this.results.on("resume",()=>this.resume())}matchEmit(t){this.results.write(t),this.results.flowing||this.pause()}stream(){let t=this.path;return t.isUnknown()?t.lstat().then(()=>{this.walkCB(t,this.patterns,()=>this.results.end())}):this.walkCB(t,this.patterns,()=>this.results.end()),this.results}streamSync(){return this.path.isUnknown()&&this.path.lstatSync(),this.walkCBSync(this.path,this.patterns,()=>this.results.end()),this.results}};var V8r=typeof process=="object"&&process&&typeof process.platform=="string"?process.platform:"linux",EE=class{absolute;cwd;root;dot;dotRelative;follow;ignore;magicalBraces;mark;matchBase;maxDepth;nobrace;nocase;nodir;noext;noglobstar;pattern;platform;realpath;scurry;stat;signal;windowsPathsNoEscape;withFileTypes;includeChildMatches;opts;patterns;constructor(t,r){if(!r)throw new TypeError("glob options required");if(this.withFileTypes=!!r.withFileTypes,this.signal=r.signal,this.follow=!!r.follow,this.dot=!!r.dot,this.dotRelative=!!r.dotRelative,this.nodir=!!r.nodir,this.mark=!!r.mark,r.cwd?(r.cwd instanceof URL||r.cwd.startsWith("file://"))&&(r.cwd=G8r(r.cwd)):this.cwd="",this.cwd=r.cwd||"",this.root=r.root,this.magicalBraces=!!r.magicalBraces,this.nobrace=!!r.nobrace,this.noext=!!r.noext,this.realpath=!!r.realpath,this.absolute=r.absolute,this.includeChildMatches=r.includeChildMatches!==!1,this.noglobstar=!!r.noglobstar,this.matchBase=!!r.matchBase,this.maxDepth=typeof r.maxDepth=="number"?r.maxDepth:1/0,this.stat=!!r.stat,this.ignore=r.ignore,this.withFileTypes&&this.absolute!==void 0)throw new Error("cannot set absolute and withFileTypes:true");if(typeof t=="string"&&(t=[t]),this.windowsPathsNoEscape=!!r.windowsPathsNoEscape||r.allowWindowsEscape===!1,this.windowsPathsNoEscape&&(t=t.map(c=>c.replace(/\\/g,"/"))),this.matchBase){if(r.noglobstar)throw new TypeError("base matching requires globstar");t=t.map(c=>c.includes("/")?c:`./**/${c}`)}if(this.pattern=t,this.platform=r.platform||V8r,this.opts={...r,platform:this.platform},r.scurry){if(this.scurry=r.scurry,r.nocase!==void 0&&r.nocase!==r.scurry.nocase)throw new Error("nocase option contradicts provided scurry option")}else{let c=r.platform==="win32"?Zte:r.platform==="darwin"?QTe:r.platform?ere:uDt;this.scurry=new c(this.cwd,{nocase:r.nocase,fs:r.fs})}this.nocase=this.scurry.nocase;let n=this.platform==="darwin"||this.platform==="win32",i={...r,dot:this.dot,matchBase:this.matchBase,nobrace:this.nobrace,nocase:this.nocase,nocaseMagicOnly:n,nocomment:!0,noext:this.noext,nonegate:!0,optimizationLevel:2,platform:this.platform,windowsPathsNoEscape:this.windowsPathsNoEscape,debug:!!this.opts.debug},s=this.pattern.map(c=>new cA(c,i)),[R,l]=s.reduce((c,h)=>(c[0].push(...h.set),c[1].push(...h.globParts),c),[[],[]]);this.patterns=R.map((c,h)=>{let _=l[h];if(!_)throw new Error("invalid pattern object");return new tre(c,_,0,this.platform)})}async walk(){return[...await new wTe(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walk()]}walkSync(){return[...new wTe(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).walkSync()]}stream(){return new PTe(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).stream()}streamSync(){return new PTe(this.patterns,this.scurry.cwd,{...this.opts,maxDepth:this.maxDepth!==1/0?this.maxDepth+this.scurry.cwd.depth():1/0,platform:this.platform,nocase:this.nocase,includeChildMatches:this.includeChildMatches}).streamSync()}iterateSync(){return this.streamSync()[Symbol.iterator]()}[Symbol.iterator](){return this.iterateSync()}iterate(){return this.stream()[Symbol.asyncIterator]()}[Symbol.asyncIterator](){return this.iterate()}};var nre=(e,t={})=>{Array.isArray(e)||(e=[e]);for(let r of e)if(new cA(r,t).hasMagic())return!0;return!1};function j2e(e,t={}){return new EE(e,t).streamSync()}function cDt(e,t={}){return new EE(e,t).stream()}function TDt(e,t={}){return new EE(e,t).walkSync()}async function lDt(e,t={}){return new EE(e,t).walk()}function J2e(e,t={}){return new EE(e,t).iterateSync()}function pDt(e,t={}){return new EE(e,t).iterate()}var j8r=j2e,J8r=Object.assign(cDt,{sync:j2e}),X8r=J2e,Z8r=Object.assign(pDt,{sync:J2e}),e4r=Object.assign(TDt,{stream:j2e,iterate:J2e}),Nv=Object.assign(lDt,{glob:lDt,globSync:TDt,sync:e4r,globStream:cDt,stream:J8r,globStreamSync:j2e,streamSync:j8r,globIterate:pDt,iterate:Z8r,globIterateSync:J2e,iterateSync:X8r,Glob:EE,hasMagic:nre,escape:Gte,unescape:AE});Nv.glob=Nv;var ou=Gs(Z2e(),1),bxr=Gs(J7e(),1);import*as Cxr from"node:child_process";import*as Axr from"node:fs/promises";import*as t3e from"node:path";import*as gxr from"node:util";var Tj="4.23.0";var nQt=!1,pj,Zht,F5r,L5r,z5r,eft,H5r,X7e,tft,rft,nft,Z7e,ift;function iQt(e,t={auto:!1}){if(nQt)throw new Error(`you must \`import 'openai/shims/${e.kind}'\` before importing anything else from openai`);if(pj)throw new Error(`can't \`import 'openai/shims/${e.kind}'\` after \`import 'openai/shims/${pj}'\``);nQt=t.auto,pj=e.kind,Zht=e.fetch,F5r=e.Request,L5r=e.Response,z5r=e.Headers,eft=e.FormData,H5r=e.Blob,X7e=e.File,tft=e.ReadableStream,rft=e.getMultipartRequestOptions,nft=e.getDefaultAgent,Z7e=e.fileFromPath,ift=e.isFsReadStream}var FI=Gs(LQt(),1);$1e();Gft();import{inspect as TAr}from"util";wme();var hwt=e=>e instanceof Uv;$me();import{deprecate as cAr}from"util";var fwt=cAr(()=>{},'Constructor "entries" argument is not spec-compliant and will be removed in next major release.');var Fv=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Ime,Lv,Vft,Mme=class{constructor(t){Ime.add(this),Lv.set(this,new Map),t&&(fwt(),t.forEach(({name:r,value:n,fileName:i})=>this.append(r,n,i)))}static[(Lv=new WeakMap,Ime=new WeakSet,Symbol.hasInstance)](t){return!!(t&&Fd(t.constructor)&&t[Symbol.toStringTag]==="FormData"&&Fd(t.append)&&Fd(t.set)&&Fd(t.get)&&Fd(t.getAll)&&Fd(t.has)&&Fd(t.delete)&&Fd(t.entries)&&Fd(t.values)&&Fd(t.keys)&&Fd(t[Symbol.iterator])&&Fd(t.forEach))}append(t,r,n){Fv(this,Ime,"m",Vft).call(this,{name:t,fileName:n,append:!0,rawValue:r,argsLength:arguments.length})}set(t,r,n){Fv(this,Ime,"m",Vft).call(this,{name:t,fileName:n,append:!1,rawValue:r,argsLength:arguments.length})}get(t){let r=Fv(this,Lv,"f").get(String(t));return r?r[0]:null}getAll(t){let r=Fv(this,Lv,"f").get(String(t));return r?r.slice():[]}has(t){return Fv(this,Lv,"f").has(String(t))}delete(t){Fv(this,Lv,"f").delete(String(t))}*keys(){for(let t of Fv(this,Lv,"f").keys())yield t}*entries(){for(let t of this.keys()){let r=this.getAll(t);for(let n of r)yield[t,n]}}*values(){for(let[,t]of this)yield t}[(Vft=function({name:r,rawValue:n,append:i,fileName:s,argsLength:R}){let l=i?"append":"set";if(R<2)throw new TypeError(`Failed to execute '${l}' on 'FormData': 2 arguments required, but only ${R} present.`);r=String(r);let c;if(Kft(n))c=s===void 0?n:new PE([n],s,{type:n.type,lastModified:n.lastModified});else if(hwt(n))c=new PE([n],s===void 0?"blob":s,{type:n.type});else{if(s)throw new TypeError(`Failed to execute '${l}' on 'FormData': parameter 2 is not of type 'Blob'.`);c=String(n)}let h=Fv(this,Lv,"f").get(r);if(!h)return void Fv(this,Lv,"f").set(r,[c]);if(!i)return void Fv(this,Lv,"f").set(r,[c]);h.push(c)},Symbol.iterator)](){return this.entries()}forEach(t,r){for(let[n,i]of this)t.call(r,i,n,this)}get[Symbol.toStringTag](){return"FormData"}[TAr.custom](){return this[Symbol.toStringTag]}};wme();$1e();var cdt=Gs(Ewt(),1),nPt=Gs(Wwt(),1);import{ReadStream as zAr}from"node:fs";var Uwt="abcdefghijklmnopqrstuvwxyz0123456789";function vAr(){let e=16,t="";for(;e--;)t+=Uwt[Math.random()*Uwt.length<<0];return t}var Fwt=vAr;var DAr=e=>Object.prototype.toString.call(e).slice(8,-1).toLowerCase();function SAr(e){if(DAr(e)!=="object")return!1;let t=Object.getPrototypeOf(e);return t==null?!0:(t.constructor&&t.constructor.toString())===Object.toString()}var sdt=SAr;var $Ar=e=>String(e).replace(/\r|\n/g,(t,r,n)=>t==="\r"&&n[r+1]!==` +`||t===` +`&&n[r-1]!=="\r"?`\r +`:t),odt=$Ar;var QAr=e=>String(e).replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/"/g,"%22"),Rdt=QAr;var NAr=e=>typeof e=="function",ON=NAr;var Aj=e=>!!(e&&typeof e=="object"&&ON(e.constructor)&&e[Symbol.toStringTag]==="File"&&ON(e.stream)&&e.name!=null&&e.size!=null&&e.lastModified!=null);var Lwt=e=>!!(e&&ON(e.constructor)&&e[Symbol.toStringTag]==="FormData"&&ON(e.append)&&ON(e.getAll)&&ON(e.entries)&&ON(e[Symbol.iterator]));var U1e=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},kp=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Yme,UI,F1e,Kme,L1e,gj,z1e,H1e,Gme,udt,wAr={enableAdditionalHeaders:!1},Vme=class{constructor(t,r,n){if(Yme.add(this),UI.set(this,`\r +`),F1e.set(this,void 0),Kme.set(this,void 0),L1e.set(this,"-".repeat(2)),gj.set(this,new TextEncoder),z1e.set(this,void 0),H1e.set(this,void 0),Gme.set(this,void 0),!Lwt(t))throw new TypeError("Expected first argument to be a FormData instance.");let i;if(sdt(r)?n=r:i=r,i||(i=Fwt()),typeof i!="string")throw new TypeError("Expected boundary argument to be a string.");if(n&&!sdt(n))throw new TypeError("Expected options argument to be an object.");U1e(this,H1e,t,"f"),U1e(this,Gme,{...wAr,...n},"f"),U1e(this,F1e,kp(this,gj,"f").encode(kp(this,UI,"f")),"f"),U1e(this,Kme,kp(this,F1e,"f").byteLength,"f"),this.boundary=`form-data-boundary-${i}`,this.contentType=`multipart/form-data; boundary=${this.boundary}`,U1e(this,z1e,kp(this,gj,"f").encode(`${kp(this,L1e,"f")}${this.boundary}${kp(this,L1e,"f")}${kp(this,UI,"f").repeat(2)}`),"f"),this.contentLength=String(this.getContentLength()),this.headers=Object.freeze({"Content-Type":this.contentType,"Content-Length":this.contentLength}),Object.defineProperties(this,{boundary:{writable:!1,configurable:!1},contentType:{writable:!1,configurable:!1},contentLength:{writable:!1,configurable:!1},headers:{writable:!1,configurable:!1}})}getContentLength(){let t=0;for(let[r,n]of kp(this,H1e,"f")){let i=Aj(n)?n:kp(this,gj,"f").encode(odt(n));t+=kp(this,Yme,"m",udt).call(this,r,i).byteLength,t+=Aj(i)?i.size:i.byteLength,t+=kp(this,Kme,"f")}return t+kp(this,z1e,"f").byteLength}*values(){for(let[t,r]of kp(this,H1e,"f").entries()){let n=Aj(r)?r:kp(this,gj,"f").encode(odt(r));yield kp(this,Yme,"m",udt).call(this,t,n),yield n,yield kp(this,F1e,"f")}yield kp(this,z1e,"f")}async*encode(){for(let t of this.values())Aj(t)?yield*t.stream():yield t}[(UI=new WeakMap,F1e=new WeakMap,Kme=new WeakMap,L1e=new WeakMap,gj=new WeakMap,z1e=new WeakMap,H1e=new WeakMap,Gme=new WeakMap,Yme=new WeakSet,udt=function(r,n){let i="";return i+=`${kp(this,L1e,"f")}${this.boundary}${kp(this,UI,"f")}`,i+=`Content-Disposition: form-data; name="${Rdt(r)}"`,Aj(n)&&(i+=`; filename="${Rdt(n.name)}"${kp(this,UI,"f")}`,i+=`Content-Type: ${n.type||"application/octet-stream"}`),kp(this,Gme,"f").enableAdditionalHeaders===!0&&(i+=`${kp(this,UI,"f")}Content-Length: ${Aj(n)?n.size:n.byteLength}`),kp(this,gj,"f").encode(`${i}${kp(this,UI,"f").repeat(2)}`)},Symbol.iterator)](){return this.values()}[Symbol.asyncIterator](){return this.encode()}};import{Readable as HAr}from"node:stream";var jme=class{constructor(t){this.body=t}get[Symbol.toStringTag](){return"MultipartBody"}};var iPt=Gs(Hwt(),1),rPt=!1;async function YAr(e,...t){let{fileFromPath:r}=await Promise.resolve().then(()=>(tPt(),ePt));return rPt||(console.warn(`fileFromPath is deprecated; use fs.createReadStream(${JSON.stringify(e)}) instead`),rPt=!0),await r(e,...t)}var KAr=new cdt.default({keepAlive:!0,timeout:5*60*1e3}),GAr=new cdt.default.HttpsAgent({keepAlive:!0,timeout:5*60*1e3});async function VAr(e,t){let r=new Vme(e),n=HAr.from(r),i=new jme(n),s={...t.headers,...r.headers,"Content-Length":r.contentLength};return{...t,body:i,headers:s}}function aPt(){return typeof AbortController>"u"&&(globalThis.AbortController=nPt.AbortController),{kind:"node",fetch:FI.default,Request:FI.Request,Response:FI.Response,Headers:FI.Headers,FormData:Mme,Blob:Uv,File:PE,ReadableStream:iPt.ReadableStream,getMultipartRequestOptions:VAr,getDefaultAgent:e=>e.startsWith("https")?GAr:KAr,fileFromPath:YAr,isFsReadStream:e=>e instanceof zAr}}pj||iQt(aPt(),{auto:!0});var Tdt={};x2(Tdt,{APIConnectionError:()=>vN,APIConnectionTimeoutError:()=>DN,APIError:()=>y2,APIUserAbortError:()=>vC,AuthenticationError:()=>Sre,BadRequestError:()=>Dre,ConflictError:()=>Nre,InternalServerError:()=>Bre,NotFoundError:()=>Qre,OpenAIError:()=>wR,PermissionDeniedError:()=>$re,RateLimitError:()=>Pre,UnprocessableEntityError:()=>wre});var wR=class extends Error{},y2=class e extends wR{constructor(t,r,n,i){super(`${e.makeMessage(t,r,n)}`),this.status=t,this.headers=i;let s=r;this.error=s,this.code=s?.code,this.param=s?.param,this.type=s?.type}static makeMessage(t,r,n){let i=r?.message?typeof r.message=="string"?r.message:JSON.stringify(r.message):r?JSON.stringify(r):n;return t&&i?`${t} ${i}`:t?`${t} status code (no body)`:i||"(no status code or body)"}static generate(t,r,n,i){if(!t)return new vN({cause:Xme(r)});let s=r?.error;return t===400?new Dre(t,s,n,i):t===401?new Sre(t,s,n,i):t===403?new $re(t,s,n,i):t===404?new Qre(t,s,n,i):t===409?new Nre(t,s,n,i):t===422?new wre(t,s,n,i):t===429?new Pre(t,s,n,i):t>=500?new Bre(t,s,n,i):new e(t,s,n,i)}},vC=class extends y2{constructor({message:t}={}){super(void 0,void 0,t||"Request was aborted.",void 0),this.status=void 0}},vN=class extends y2{constructor({message:t,cause:r}){super(void 0,void 0,t||"Connection error.",void 0),this.status=void 0,r&&(this.cause=r)}},DN=class extends vN{constructor({message:t}={}){super({message:t??"Request timed out."})}},Dre=class extends y2{constructor(){super(...arguments),this.status=400}},Sre=class extends y2{constructor(){super(...arguments),this.status=401}},$re=class extends y2{constructor(){super(...arguments),this.status=403}},Qre=class extends y2{constructor(){super(...arguments),this.status=404}},Nre=class extends y2{constructor(){super(...arguments),this.status=409}},wre=class extends y2{constructor(){super(...arguments),this.status=422}},Pre=class extends y2{constructor(){super(...arguments),this.status=429}},Bre=class extends y2{};var Ej=class e{constructor(t,r){this.iterator=t,this.controller=r}static fromSSEResponse(t,r){let n=!1,i=new pdt;async function*s(){if(!t.body)throw r.abort(),new wR("Attempted to iterate over a response with no body");let l=new Ire,c=sPt(t.body);for await(let h of c)for(let _ of l.decode(h)){let f=i.decode(_);f&&(yield f)}for(let h of l.flush()){let _=i.decode(h);_&&(yield _)}}async function*R(){if(n)throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");n=!0;let l=!1;try{for await(let c of s())if(!l){if(c.data.startsWith("[DONE]")){l=!0;continue}if(c.event===null){let h;try{h=JSON.parse(c.data)}catch(_){throw console.error("Could not parse message into JSON:",c.data),console.error("From chunk:",c.raw),_}if(h&&h.error)throw new y2(void 0,h.error,void 0,void 0);yield h}}l=!0}catch(c){if(c instanceof Error&&c.name==="AbortError")return;throw c}finally{l||r.abort()}}return new e(R,r)}static fromReadableStream(t,r){let n=!1;async function*i(){let R=new Ire,l=sPt(t);for await(let c of l)for(let h of R.decode(c))yield h;for(let c of R.flush())yield c}async function*s(){if(n)throw new Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");n=!0;let R=!1;try{for await(let l of i())R||l&&(yield JSON.parse(l));R=!0}catch(l){if(l instanceof Error&&l.name==="AbortError")return;throw l}finally{R||r.abort()}}return new e(s,r)}[Symbol.asyncIterator](){return this.iterator()}tee(){let t=[],r=[],n=this.iterator(),i=s=>({next:()=>{if(s.length===0){let R=n.next();t.push(R),r.push(R)}return s.shift()}});return[new e(()=>i(t),this.controller),new e(()=>i(r),this.controller)]}toReadableStream(){let t=this,r,n=new TextEncoder;return new tft({async start(){r=t[Symbol.asyncIterator]()},async pull(i){try{let{value:s,done:R}=await r.next();if(R)return i.close();let l=n.encode(JSON.stringify(s)+` +`);i.enqueue(l)}catch(s){i.error(s)}},async cancel(){await r.return?.()}})}},pdt=class{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(t){if(t.endsWith("\r")&&(t=t.substring(0,t.length-1)),!t){if(!this.event&&!this.data.length)return null;let s={event:this.event,data:this.data.join(` +`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],s}if(this.chunks.push(t),t.startsWith(":"))return null;let[r,n,i]=jAr(t,":");return i.startsWith(" ")&&(i=i.substring(1)),r==="event"?this.event=i:r==="data"&&this.data.push(i),null}},Ire=class e{constructor(){this.buffer=[],this.trailingCR=!1}decode(t){let r=this.decodeText(t);if(this.trailingCR&&(r="\r"+r,this.trailingCR=!1),r.endsWith("\r")&&(this.trailingCR=!0,r=r.slice(0,-1)),!r)return[];let n=e.NEWLINE_CHARS.has(r[r.length-1]||""),i=r.split(e.NEWLINE_REGEXP);return i.length===1&&!n?(this.buffer.push(i[0]),[]):(this.buffer.length>0&&(i=[this.buffer.join("")+i[0],...i.slice(1)],this.buffer=[]),n||(this.buffer=[i.pop()||""]),i)}decodeText(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof Buffer<"u"){if(t instanceof Buffer)return t.toString();if(t instanceof Uint8Array)return Buffer.from(t).toString();throw new wR(`Unexpected: received non-Uint8Array (${t.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`)}if(typeof TextDecoder<"u"){if(t instanceof Uint8Array||t instanceof ArrayBuffer)return this.textDecoder??(this.textDecoder=new TextDecoder("utf8")),this.textDecoder.decode(t);throw new wR(`Unexpected: received non-Uint8Array/ArrayBuffer (${t.constructor.name}) in a web platform. Please report this error.`)}throw new wR("Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.")}flush(){if(!this.buffer.length&&!this.trailingCR)return[];let t=[this.buffer.join("")];return this.buffer=[],this.trailingCR=!1,t}};Ire.NEWLINE_CHARS=new Set([` +`,"\r","\v","\f","","","","\x85","\u2028","\u2029"]);Ire.NEWLINE_REGEXP=/\r\n|[\n\r\x0b\x0c\x1c\x1d\x1e\x85\u2028\u2029]/g;function jAr(e,t){let r=e.indexOf(t);return r!==-1?[e.substring(0,r),t,e.substring(r+t.length)]:[e,"",""]}function sPt(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let r=await t.read();return r?.done&&t.releaseLock(),r}catch(r){throw t.releaseLock(),r}},async return(){let r=t.cancel();return t.releaseLock(),await r,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}var oPt=e=>e!=null&&typeof e=="object"&&typeof e.url=="string"&&typeof e.blob=="function",JAr=e=>e!=null&&typeof e=="object"&&typeof e.name=="string"&&typeof e.lastModified=="number"&&RPt(e),RPt=e=>e!=null&&typeof e=="object"&&typeof e.size=="number"&&typeof e.type=="string"&&typeof e.text=="function"&&typeof e.slice=="function"&&typeof e.arrayBuffer=="function",XAr=e=>JAr(e)||oPt(e)||ift(e);async function fdt(e,t,r={}){if(e=await e,oPt(e)){let i=await e.blob();return t||(t=new URL(e.url).pathname.split(/[\\/]/).pop()??"unknown_file"),new X7e([i],t,r)}let n=await ZAr(e);if(t||(t=t3r(e)??"unknown_file"),!r.type){let i=n[0]?.type;typeof i=="string"&&(r={...r,type:i})}return new X7e(n,t,r)}async function ZAr(e){let t=[];if(typeof e=="string"||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(RPt(e))t.push(await e.arrayBuffer());else if(r3r(e))for await(let r of e)t.push(r);else throw new Error(`Unexpected data type: ${typeof e}; constructor: ${e?.constructor?.name}; props: ${e3r(e)}`);return t}function e3r(e){return`[${Object.getOwnPropertyNames(e).map(r=>`"${r}"`).join(", ")}]`}function t3r(e){return _dt(e.name)||_dt(e.filename)||_dt(e.path)?.split(/[\\/]/).pop()}var _dt=e=>{if(typeof e=="string")return e;if(typeof Buffer<"u"&&e instanceof Buffer)return String(e)},r3r=e=>e!=null&&typeof e=="object"&&typeof e[Symbol.asyncIterator]=="function",ddt=e=>e&&typeof e=="object"&&e.body&&e[Symbol.toStringTag]==="MultipartBody";var Hv=async e=>{let t=await uPt(e.body);return rft(t,e)},uPt=async e=>{let t=new eft;return await Promise.all(Object.entries(e||{}).map(([r,n])=>hdt(t,r,n))),t};var hdt=async(e,t,r)=>{if(r!==void 0){if(r==null)throw new TypeError(`Received null for "${t}"; to pass null in FormData, you must use the string 'null'`);if(typeof r=="string"||typeof r=="number"||typeof r=="boolean")e.append(t,String(r));else if(XAr(r)){let n=await fdt(r);e.append(t,n)}else if(Array.isArray(r))await Promise.all(r.map(n=>hdt(e,t+"[]",n)));else if(typeof r=="object")await Promise.all(Object.entries(r).map(([n,i])=>hdt(e,`${t}[${n}]`,i)));else throw new TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${r} instead`)}};var i3r=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},a3r=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Zme;async function pPt(e){let{response:t}=e;if(e.options.stream)return K1e("response",t.status,t.url,t.headers,t.body),Ej.fromSSEResponse(t,e.controller);if(t.status===204)return null;if(e.options.__binaryResponse)return t;if(t.headers.get("content-type")?.includes("application/json")){let i=await t.json();return K1e("response",t.status,t.url,t.headers,i),i}let n=await t.text();return K1e("response",t.status,t.url,t.headers,n),n}var eke=class e extends Promise{constructor(t,r=pPt){super(n=>{n(null)}),this.responsePromise=t,this.parseResponse=r}_thenUnwrap(t){return new e(this.responsePromise,async r=>t(await this.parseResponse(r)))}asResponse(){return this.responsePromise.then(t=>t.response)}async withResponse(){let[t,r]=await Promise.all([this.parse(),this.asResponse()]);return{data:t,response:r}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(this.parseResponse)),this.parsedPromise}then(t,r){return this.parse().then(t,r)}catch(t){return this.parse().catch(t)}finally(t){return this.parse().finally(t)}},tke=class{constructor({baseURL:t,maxRetries:r=2,timeout:n=6e5,httpAgent:i,fetch:s}){this.baseURL=t,this.maxRetries=xdt("maxRetries",r),this.timeout=xdt("timeout",n),this.httpAgent=i,this.fetch=s??Zht}authHeaders(t){return{}}defaultHeaders(t){return{Accept:"application/json","Content-Type":"application/json","User-Agent":this.getUserAgent(),...l3r(),...this.authHeaders(t)}}validateHeaders(t,r){}defaultIdempotencyKey(){return`stainless-node-retry-${h3r()}`}get(t,r){return this.methodRequest("get",t,r)}post(t,r){return this.methodRequest("post",t,r)}patch(t,r){return this.methodRequest("patch",t,r)}put(t,r){return this.methodRequest("put",t,r)}delete(t,r){return this.methodRequest("delete",t,r)}methodRequest(t,r,n){return this.request(Promise.resolve(n).then(i=>({method:t,path:r,...i})))}getAPIList(t,r,n){return this.requestAPIList(r,{method:"get",path:t,...n})}calculateContentLength(t){if(typeof t=="string"){if(typeof Buffer<"u")return Buffer.byteLength(t,"utf8").toString();if(typeof TextEncoder<"u")return new TextEncoder().encode(t).length.toString()}return null}buildRequest(t){let{method:r,path:n,query:i,headers:s={}}=t,R=ddt(t.body)?t.body.body:t.body?JSON.stringify(t.body,null,2):null,l=this.calculateContentLength(R),c=this.buildURL(n,i);"timeout"in t&&xdt("timeout",t.timeout);let h=t.timeout??this.timeout,_=t.httpAgent??this.httpAgent??nft(c),f=h+1e3;typeof _?.options?.timeout=="number"&&f>(_.options.timeout??0)&&(_.options.timeout=f),this.idempotencyHeader&&r!=="get"&&(t.idempotencyKey||(t.idempotencyKey=this.defaultIdempotencyKey()),s[this.idempotencyHeader]=t.idempotencyKey);let m={...l&&{"Content-Length":l},...this.defaultHeaders(t),...s};ddt(t.body)&&pj!=="node"&&delete m["Content-Type"],Object.keys(m).forEach(y=>m[y]===null&&delete m[y]);let x={method:r,...R&&{body:R},headers:m,..._&&{agent:_},signal:t.signal??null};return this.validateHeaders(m,s),{req:x,url:c,timeout:h}}async prepareRequest(t,{url:r,options:n}){}parseHeaders(t){return t?Symbol.iterator in t?Object.fromEntries(Array.from(t).map(r=>[...r])):{...t}:{}}makeStatusError(t,r,n,i){return y2.generate(t,r,n,i)}request(t,r=null){return new eke(this.makeRequest(t,r))}async makeRequest(t,r){let n=await t;r==null&&(r=n.maxRetries??this.maxRetries);let{req:i,url:s,timeout:R}=this.buildRequest(n);if(await this.prepareRequest(i,{url:s,options:n}),K1e("request",s,n,i.headers),n.signal?.aborted)throw new vC;let l=new AbortController,c=await this.fetchWithTimeout(s,i,R,l).catch(Xme);if(c instanceof Error){if(n.signal?.aborted)throw new vC;if(r)return this.retryRequest(n,r);throw c.name==="AbortError"?new DN:new vN({cause:c})}let h=s3r(c.headers);if(!c.ok){if(r&&this.shouldRetry(c))return this.retryRequest(n,r,h);let _=await c.text().catch(y=>Xme(y).message),f=c3r(_),m=f?void 0:_;throw K1e("response",c.status,s,h,m),this.makeStatusError(c.status,f,m,h)}return{response:c,options:n,controller:l}}requestAPIList(t,r){let n=this.makeRequest(r,null);return new mdt(this,n,t)}buildURL(t,r){let n=p3r(t)?new URL(t):new URL(this.baseURL+(this.baseURL.endsWith("/")&&t.startsWith("/")?t.slice(1):t)),i=this.defaultQuery();return _Pt(i)||(r={...i,...r}),r&&(n.search=this.stringifyQuery(r)),n.toString()}stringifyQuery(t){return Object.entries(t).filter(([r,n])=>typeof n<"u").map(([r,n])=>{if(typeof n=="string"||typeof n=="number"||typeof n=="boolean")return`${encodeURIComponent(r)}=${encodeURIComponent(n)}`;if(n===null)return`${encodeURIComponent(r)}=`;throw new wR(`Cannot stringify type ${typeof n}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}async fetchWithTimeout(t,r,n,i){let{signal:s,...R}=r||{};s&&s.addEventListener("abort",()=>i.abort());let l=setTimeout(()=>i.abort(),n);return this.getRequestClient().fetch.call(void 0,t,{signal:i.signal,...R}).finally(()=>{clearTimeout(l)})}getRequestClient(){return{fetch:this.fetch}}shouldRetry(t){let r=t.headers.get("x-should-retry");return r==="true"?!0:r==="false"?!1:t.status===408||t.status===409||t.status===429||t.status>=500}async retryRequest(t,r,n){let i,s=n?.["retry-after"];if(s){let R=parseInt(s);Number.isNaN(R)?i=Date.parse(s)-Date.now():i=R*1e3}if(!i||!Number.isInteger(i)||i<=0||i>60*1e3){let R=t.maxRetries??this.maxRetries;i=this.calculateDefaultRetryTimeoutMillis(r,R)}return await kdt(i),this.makeRequest(t,r-1)}calculateDefaultRetryTimeoutMillis(t,r){let s=r-t,R=Math.min(.5*Math.pow(2,s),8),l=1-Math.random()*.25;return R*l*1e3}getUserAgent(){return`${this.constructor.name}/JS ${Tj}`}},G1e=class{constructor(t,r,n,i){Zme.set(this,void 0),i3r(this,Zme,t,"f"),this.options=i,this.response=r,this.body=n}hasNextPage(){return this.getPaginatedItems().length?this.nextPageInfo()!=null:!1}async getNextPage(){let t=this.nextPageInfo();if(!t)throw new wR("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");let r={...this.options};if("params"in t)r.query={...r.query,...t.params};else if("url"in t){let n=[...Object.entries(r.query||{}),...t.url.searchParams.entries()];for(let[i,s]of n)t.url.searchParams.set(i,s);r.query=void 0,r.path=t.url.toString()}return await a3r(this,Zme,"f").requestAPIList(this.constructor,r)}async*iterPages(){let t=this;for(yield t;t.hasNextPage();)t=await t.getNextPage(),yield t}async*[(Zme=new WeakMap,Symbol.asyncIterator)](){for await(let t of this.iterPages())for(let r of t.getPaginatedItems())yield r}},mdt=class extends eke{constructor(t,r,n){super(r,async i=>new n(t,i.response,await pPt(i),i.options))}async*[Symbol.asyncIterator](){let t=await this;for await(let r of t)yield r}},s3r=e=>new Proxy(Object.fromEntries(e.entries()),{get(t,r){let n=r.toString();return t[n.toLowerCase()]||t[n]}}),o3r={method:!0,path:!0,query:!0,body:!0,headers:!0,maxRetries:!0,stream:!0,timeout:!0,httpAgent:!0,signal:!0,idempotencyKey:!0,__binaryResponse:!0},q2=e=>typeof e=="object"&&e!==null&&!_Pt(e)&&Object.keys(e).every(t=>_3r(o3r,t)),R3r=()=>{if(typeof Deno<"u"&&Deno.build!=null)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Tj,"X-Stainless-OS":cPt(Deno.build.os),"X-Stainless-Arch":lPt(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":Deno.version};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Tj,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":process.version};if(Object.prototype.toString.call(typeof process<"u"?process:0)==="[object process]")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Tj,"X-Stainless-OS":cPt(process.platform),"X-Stainless-Arch":lPt(process.arch),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":process.version};let e=u3r();return e?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Tj,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${e.browser}`,"X-Stainless-Runtime-Version":e.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":Tj,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function u3r(){if(typeof navigator>"u"||!navigator)return null;let e=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:t,pattern:r}of e){let n=r.exec(navigator.userAgent);if(n){let i=n[1]||0,s=n[2]||0,R=n[3]||0;return{browser:t,version:`${i}.${s}.${R}`}}}return null}var lPt=e=>e==="x32"?"x32":e==="x86_64"||e==="x64"?"x64":e==="arm"?"arm":e==="aarch64"||e==="arm64"?"arm64":e?`other:${e}`:"unknown",cPt=e=>(e=e.toLowerCase(),e.includes("ios")?"iOS":e==="android"?"Android":e==="darwin"?"MacOS":e==="win32"?"Windows":e==="freebsd"?"FreeBSD":e==="openbsd"?"OpenBSD":e==="linux"?"Linux":e?`Other:${e}`:"Unknown"),TPt,l3r=()=>TPt??(TPt=R3r()),c3r=e=>{try{return JSON.parse(e)}catch{return}},T3r=new RegExp("^(?:[a-z]+:)?//","i"),p3r=e=>T3r.test(e),kdt=e=>new Promise(t=>setTimeout(t,e)),xdt=(e,t)=>{if(typeof t!="number"||!Number.isInteger(t))throw new wR(`${e} must be an integer`);if(t<0)throw new wR(`${e} must be a positive integer`);return t},Xme=e=>e instanceof Error?e:new Error(e);var rke=e=>{if(typeof process<"u")return process.env?.[e]??void 0;if(typeof Deno<"u")return Deno.env?.get?.(e)};function _Pt(e){if(!e)return!0;for(let t in e)return!1;return!0}function _3r(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function K1e(e,...t){typeof process<"u"&&process.env.DEBUG==="true"&&console.log(`OpenAI:DEBUG:${e}`,...t)}var h3r=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=Math.random()*16|0;return(e==="x"?t:t&3|8).toString(16)}),hPt=()=>typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u";var Yv=class extends G1e{constructor(t,r,n,i){super(t,r,n,i),this.data=n.data,this.object=n.object}getPaginatedItems(){return this.data}nextPageParams(){return null}nextPageInfo(){return null}},C2=class extends G1e{constructor(t,r,n,i){super(t,r,n,i),this.data=n.data}getPaginatedItems(){return this.data}nextPageParams(){let t=this.nextPageInfo();if(!t)return null;if("params"in t)return t.params;let r=Object.fromEntries(t.url.searchParams);return Object.keys(r).length?r:null}nextPageInfo(){if(!this.data?.length)return null;let t=this.data[this.data.length-1]?.id;return t?{params:{after:t}}:null}};var Bo=class{constructor(t){this._client=t}};var Oj=class extends Bo{create(t,r){return this._client.post("/chat/completions",{body:t,...r,stream:t.stream??!1})}};Oj||(Oj={});var LI=class extends Bo{constructor(){super(...arguments),this.completions=new Oj(this._client)}};(function(e){e.Completions=Oj})(LI||(LI={}));var vj=class extends Bo{create(t,r){return this._client.post("/audio/speech",{body:t,...r,__binaryResponse:!0})}};vj||(vj={});var Dj=class extends Bo{create(t,r){return this._client.post("/audio/transcriptions",Hv({body:t,...r}))}};Dj||(Dj={});var Sj=class extends Bo{create(t,r){return this._client.post("/audio/translations",Hv({body:t,...r}))}};Sj||(Sj={});var zI=class extends Bo{constructor(){super(...arguments),this.transcriptions=new Dj(this._client),this.translations=new Sj(this._client),this.speech=new vj(this._client)}};(function(e){e.Transcriptions=Dj,e.Translations=Sj,e.Speech=vj})(zI||(zI={}));var $j=class extends Bo{create(t,r,n){return this._client.post(`/assistants/${t}/files`,{body:r,...n,headers:{"OpenAI-Beta":"assistants=v1",...n?.headers}})}retrieve(t,r,n){return this._client.get(`/assistants/${t}/files/${r}`,{...n,headers:{"OpenAI-Beta":"assistants=v1",...n?.headers}})}list(t,r={},n){return q2(r)?this.list(t,{},r):this._client.getAPIList(`/assistants/${t}/files`,Qj,{query:r,...n,headers:{"OpenAI-Beta":"assistants=v1",...n?.headers}})}del(t,r,n){return this._client.delete(`/assistants/${t}/files/${r}`,{...n,headers:{"OpenAI-Beta":"assistants=v1",...n?.headers}})}},Qj=class extends C2{};(function(e){e.AssistantFilesPage=Qj})($j||($j={}));var Nj=class extends Bo{constructor(){super(...arguments),this.files=new $j(this._client)}create(t,r){return this._client.post("/assistants",{body:t,...r,headers:{"OpenAI-Beta":"assistants=v1",...r?.headers}})}retrieve(t,r){return this._client.get(`/assistants/${t}`,{...r,headers:{"OpenAI-Beta":"assistants=v1",...r?.headers}})}update(t,r,n){return this._client.post(`/assistants/${t}`,{body:r,...n,headers:{"OpenAI-Beta":"assistants=v1",...n?.headers}})}list(t={},r){return q2(t)?this.list({},t):this._client.getAPIList("/assistants",wj,{query:t,...r,headers:{"OpenAI-Beta":"assistants=v1",...r?.headers}})}del(t,r){return this._client.delete(`/assistants/${t}`,{...r,headers:{"OpenAI-Beta":"assistants=v1",...r?.headers}})}},wj=class extends C2{};(function(e){e.AssistantsPage=wj,e.Files=$j,e.AssistantFilesPage=Qj})(Nj||(Nj={}));function ydt(e){return typeof e.parse=="function"}var HI=e=>e?.role==="assistant",qdt=e=>e?.role==="function",Cdt=e=>e?.role==="tool";var IE=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},VR=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},ay,nke,ike,V1e,j1e,ake,J1e,SN,X1e,ske,oke,Mre,Adt,Rke,gdt,bdt,Edt,Odt,mPt,vdt,xPt=10,Wre=class{constructor(){ay.add(this),this.controller=new AbortController,nke.set(this,void 0),ike.set(this,()=>{}),V1e.set(this,()=>{}),j1e.set(this,void 0),ake.set(this,()=>{}),J1e.set(this,()=>{}),SN.set(this,{}),this._chatCompletions=[],this.messages=[],X1e.set(this,!1),ske.set(this,!1),oke.set(this,!1),Mre.set(this,!1),Odt.set(this,t=>{if(IE(this,ske,!0,"f"),t instanceof Error&&t.name==="AbortError"&&(t=new vC),t instanceof vC)return IE(this,oke,!0,"f"),this._emit("abort",t);if(t instanceof wR)return this._emit("error",t);if(t instanceof Error){let r=new wR(t.message);return r.cause=t,this._emit("error",r)}return this._emit("error",new wR(String(t)))}),IE(this,nke,new Promise((t,r)=>{IE(this,ike,t,"f"),IE(this,V1e,r,"f")}),"f"),IE(this,j1e,new Promise((t,r)=>{IE(this,ake,t,"f"),IE(this,J1e,r,"f")}),"f"),VR(this,nke,"f").catch(()=>{}),VR(this,j1e,"f").catch(()=>{})}_run(t){setTimeout(()=>{t().then(()=>{this._emitFinal(),this._emit("end")},VR(this,Odt,"f"))},0)}_addChatCompletion(t){this._chatCompletions.push(t),this._emit("chatCompletion",t);let r=t.choices[0]?.message;return r&&this._addMessage(r),t}_addMessage(t,r=!0){if("content"in t||(t.content=null),this.messages.push(t),r){if(this._emit("message",t),(qdt(t)||Cdt(t))&&t.content)this._emit("functionCallResult",t.content);else if(HI(t)&&t.function_call)this._emit("functionCall",t.function_call);else if(HI(t)&&t.tool_calls)for(let n of t.tool_calls)n.type==="function"&&this._emit("functionCall",n.function)}}_connected(){this.ended||(VR(this,ike,"f").call(this),this._emit("connect"))}get ended(){return VR(this,X1e,"f")}get errored(){return VR(this,ske,"f")}get aborted(){return VR(this,oke,"f")}abort(){this.controller.abort()}on(t,r){return(VR(this,SN,"f")[t]||(VR(this,SN,"f")[t]=[])).push({listener:r}),this}off(t,r){let n=VR(this,SN,"f")[t];if(!n)return this;let i=n.findIndex(s=>s.listener===r);return i>=0&&n.splice(i,1),this}once(t,r){return(VR(this,SN,"f")[t]||(VR(this,SN,"f")[t]=[])).push({listener:r,once:!0}),this}emitted(t){return new Promise((r,n)=>{IE(this,Mre,!0,"f"),t!=="error"&&this.once("error",n),this.once(t,r)})}async done(){IE(this,Mre,!0,"f"),await VR(this,j1e,"f")}async finalChatCompletion(){await this.done();let t=this._chatCompletions[this._chatCompletions.length-1];if(!t)throw new wR("stream ended without producing a ChatCompletion");return t}async finalContent(){return await this.done(),VR(this,ay,"m",Adt).call(this)}async finalMessage(){return await this.done(),VR(this,ay,"m",Rke).call(this)}async finalFunctionCall(){return await this.done(),VR(this,ay,"m",gdt).call(this)}async finalFunctionCallResult(){return await this.done(),VR(this,ay,"m",bdt).call(this)}async totalUsage(){return await this.done(),VR(this,ay,"m",Edt).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emit(t,...r){if(VR(this,X1e,"f"))return;t==="end"&&(IE(this,X1e,!0,"f"),VR(this,ake,"f").call(this));let n=VR(this,SN,"f")[t];if(n&&(VR(this,SN,"f")[t]=n.filter(i=>!i.once),n.forEach(({listener:i})=>i(...r))),t==="abort"){let i=r[0];!VR(this,Mre,"f")&&!n?.length&&Promise.reject(i),VR(this,V1e,"f").call(this,i),VR(this,J1e,"f").call(this,i),this._emit("end");return}if(t==="error"){let i=r[0];!VR(this,Mre,"f")&&!n?.length&&Promise.reject(i),VR(this,V1e,"f").call(this,i),VR(this,J1e,"f").call(this,i),this._emit("end")}}_emitFinal(){let t=this._chatCompletions[this._chatCompletions.length-1];t&&this._emit("finalChatCompletion",t);let r=VR(this,ay,"m",Rke).call(this);r&&this._emit("finalMessage",r);let n=VR(this,ay,"m",Adt).call(this);n&&this._emit("finalContent",n);let i=VR(this,ay,"m",gdt).call(this);i&&this._emit("finalFunctionCall",i);let s=VR(this,ay,"m",bdt).call(this);s!=null&&this._emit("finalFunctionCallResult",s),this._chatCompletions.some(R=>R.usage)&&this._emit("totalUsage",VR(this,ay,"m",Edt).call(this))}async _createChatCompletion(t,r,n){let i=n?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort())),VR(this,ay,"m",mPt).call(this,r);let s=await t.create({...r,stream:!1},{...n,signal:this.controller.signal});return this._connected(),this._addChatCompletion(s)}async _runChatCompletion(t,r,n){for(let i of r.messages)this._addMessage(i,!1);return await this._createChatCompletion(t,r,n)}async _runFunctions(t,r,n){let i="function",{function_call:s="auto",stream:R,...l}=r,c=typeof s!="string"&&s?.name,{maxChatCompletions:h=xPt}=n||{},_={};for(let m of r.functions)_[m.name||m.function.name]=m;let f=r.functions.map(m=>({name:m.name||m.function.name,parameters:m.parameters,description:m.description}));for(let m of r.messages)this._addMessage(m,!1);for(let m=0;mJSON.stringify(F.name)).join(", ")}. Please try again`;this._addMessage({role:i,name:A,content:w});continue}let P;try{P=ydt(S)?await S.parse(D):D}catch(w){this._addMessage({role:i,name:A,content:w instanceof Error?w.message:String(w)});continue}let M=await S.function(P,this),U=VR(this,ay,"m",vdt).call(this,M);if(this._addMessage({role:i,name:A,content:U}),c)return}}async _runTools(t,r,n){let i="tool",{tool_choice:s="auto",stream:R,...l}=r,c=typeof s!="string"&&s?.function?.name,{maxChatCompletions:h=xPt}=n||{},_={};for(let m of r.tools)m.type==="function"&&(_[m.function.name||m.function.function.name]=m.function);let f="tools"in r?r.tools.map(m=>m.type==="function"?{type:"function",function:{name:m.function.name||m.function.function.name,parameters:m.function.parameters,description:m.function.description}}:m):void 0;for(let m of r.messages)this._addMessage(m,!1);for(let m=0;mJSON.stringify(G.function.name)).join(", ")}. Please try again`;this._addMessage({role:i,tool_call_id:D,content:H});continue}let U;try{U=ydt(M)?await M.parse(P):P}catch(H){let G=H instanceof Error?H.message:String(H);this._addMessage({role:i,tool_call_id:D,content:G});continue}let w=await M.function(U,this),F=VR(this,ay,"m",vdt).call(this,w);if(this._addMessage({role:i,tool_call_id:D,content:F}),c)return}}}};nke=new WeakMap,ike=new WeakMap,V1e=new WeakMap,j1e=new WeakMap,ake=new WeakMap,J1e=new WeakMap,SN=new WeakMap,X1e=new WeakMap,ske=new WeakMap,oke=new WeakMap,Mre=new WeakMap,Odt=new WeakMap,ay=new WeakSet,Adt=function(){return VR(this,ay,"m",Rke).call(this).content??null},Rke=function(){let t=this.messages.length;for(;t-- >0;){let r=this.messages[t];if(HI(r))return{...r,content:r.content??null}}throw new wR("stream ended without producing a ChatCompletionMessage with role=assistant")},gdt=function(){for(let t=this.messages.length-1;t>=0;t--){let r=this.messages[t];if(HI(r)&&r?.function_call)return r.function_call;if(HI(r)&&r?.tool_calls?.length)return r.tool_calls.at(-1)?.function}},bdt=function(){for(let t=this.messages.length-1;t>=0;t--){let r=this.messages[t];if(qdt(r)&&r.content!=null||Cdt(r)&&r.content!=null&&this.messages.some(n=>n.role==="assistant"&&n.tool_calls?.some(i=>i.type==="function"&&i.id===r.tool_call_id)))return r.content}},Edt=function(){let t={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:r}of this._chatCompletions)r&&(t.completion_tokens+=r.completion_tokens,t.prompt_tokens+=r.prompt_tokens,t.total_tokens+=r.total_tokens);return t},mPt=function(t){if(t.n!=null&&t.n>1)throw new wR("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},vdt=function(t){return typeof t=="string"?t:t===void 0?"undefined":JSON.stringify(t)};var Z1e=class e extends Wre{static runFunctions(t,r,n){let i=new e,s={...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return i._run(()=>i._runFunctions(t,r,s)),i}static runTools(t,r,n){let i=new e,s={...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"runTools"}};return i._run(()=>i._runTools(t,r,s)),i}_addMessage(t){super._addMessage(t),HI(t)&&t.content&&this._emit("content",t.content)}};var ME=function(e,t,r,n){if(r==="a"&&!n)throw new TypeError("Private accessor was defined without a getter");if(typeof t=="function"?e!==t||!n:!t.has(e))throw new TypeError("Cannot read private member from an object whose class did not declare it");return r==="m"?n:r==="a"?n.call(e):n?n.value:t.get(e)},Ddt=function(e,t,r,n,i){if(n==="m")throw new TypeError("Private method is not writable");if(n==="a"&&!i)throw new TypeError("Private accessor was defined without a setter");if(typeof t=="function"?e!==t||!i:!t.has(e))throw new TypeError("Cannot write private member to an object whose class did not declare it");return n==="a"?i.call(e,r):i?i.value=r:t.set(e,r),r},Kv,YI,Sdt,$dt,uke,kPt,Ure=class e extends Wre{constructor(){super(...arguments),Kv.add(this),YI.set(this,void 0)}get currentChatCompletionSnapshot(){return ME(this,YI,"f")}static fromReadableStream(t){let r=new e;return r._run(()=>r._fromReadableStream(t)),r}static createChatCompletion(t,r,n){let i=new e;return i._run(()=>i._runChatCompletion(t,{...r,stream:!0},{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),i}async _createChatCompletion(t,r,n){let i=n?.signal;i&&(i.aborted&&this.controller.abort(),i.addEventListener("abort",()=>this.controller.abort())),ME(this,Kv,"m",Sdt).call(this);let s=await t.create({...r,stream:!0},{...n,signal:this.controller.signal});this._connected();for await(let R of s)ME(this,Kv,"m",$dt).call(this,R);if(s.controller.signal?.aborted)throw new vC;return this._addChatCompletion(ME(this,Kv,"m",uke).call(this))}async _fromReadableStream(t,r){let n=r?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),ME(this,Kv,"m",Sdt).call(this),this._connected();let i=Ej.fromReadableStream(t,this.controller),s;for await(let R of i)s&&s!==R.id&&this._addChatCompletion(ME(this,Kv,"m",uke).call(this)),ME(this,Kv,"m",$dt).call(this,R),s=R.id;if(i.controller.signal?.aborted)throw new vC;return this._addChatCompletion(ME(this,Kv,"m",uke).call(this))}[(YI=new WeakMap,Kv=new WeakSet,Sdt=function(){this.ended||Ddt(this,YI,void 0,"f")},$dt=function(r){if(this.ended)return;let n=ME(this,Kv,"m",kPt).call(this,r);this._emit("chunk",r,n);let i=r.choices[0]?.delta?.content,s=n.choices[0]?.message;i!=null&&s?.role==="assistant"&&s?.content&&this._emit("content",i,s.content)},uke=function(){if(this.ended)throw new wR("stream has ended, this shouldn't happen");let r=ME(this,YI,"f");if(!r)throw new wR("request ended without sending any chunks");return Ddt(this,YI,void 0,"f"),q3r(r)},kPt=function(r){var n,i,s;let R=ME(this,YI,"f"),{choices:l,...c}=r;R?Object.assign(R,c):R=Ddt(this,YI,{...c,choices:[]},"f");for(let{delta:h,finish_reason:_,index:f,logprobs:m=null,...x}of r.choices){let y=R.choices[f];if(!y){R.choices[f]={finish_reason:_,index:f,message:h,logprobs:m,...x};continue}if(m&&(y.logprobs?m.content&&((n=y.logprobs).content??(n.content=[]),y.logprobs.content.push(...m.content)):y.logprobs=m),_&&(y.finish_reason=_),Object.assign(y,x),!h)continue;let{content:A,function_call:D,role:S,tool_calls:P}=h;if(A&&(y.message.content=(y.message.content||"")+A),S&&(y.message.role=S),D&&(y.message.function_call?(D.name&&(y.message.function_call.name=D.name),D.arguments&&((i=y.message.function_call).arguments??(i.arguments=""),y.message.function_call.arguments+=D.arguments)):y.message.function_call=D),P){y.message.tool_calls||(y.message.tool_calls=[]);for(let{index:M,id:U,type:w,function:F}of P){let H=(s=y.message.tool_calls)[M]??(s[M]={});U&&(H.id=U),w&&(H.type=w),F&&(H.function??(H.function={arguments:""})),F?.name&&(H.function.name=F.name),F?.arguments&&(H.function.arguments+=F.arguments)}}}return R},Symbol.asyncIterator)](){let t=[],r=[],n=!1;return this.on("chunk",i=>{let s=r.shift();s?s(i):t.push(i)}),this.on("end",()=>{n=!0;for(let i of r)i(void 0);r.length=0}),{next:async()=>t.length?{value:t.shift(),done:!1}:n?{value:void 0,done:!0}:new Promise(s=>r.push(s)).then(s=>s?{value:s,done:!1}:{value:void 0,done:!0})}}toReadableStream(){return new Ej(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}};function q3r(e){let{id:t,choices:r,created:n,model:i}=e;return{id:t,choices:r.map(({message:s,finish_reason:R,index:l,logprobs:c})=>{if(!R)throw new wR(`missing finish_reason for choice ${l}`);let{content:h=null,function_call:_,tool_calls:f}=s,m=s.role;if(!m)throw new wR(`missing role for choice ${l}`);if(_){let{arguments:x,name:y}=_;if(x==null)throw new wR(`missing function_call.arguments for choice ${l}`);if(!y)throw new wR(`missing function_call.name for choice ${l}`);return{message:{content:h,function_call:{arguments:x,name:y},role:m},finish_reason:R,index:l,logprobs:c}}return f?{index:l,finish_reason:R,logprobs:c,message:{role:m,content:h,tool_calls:f.map((x,y)=>{let{function:A,type:D,id:S}=x,{arguments:P,name:M}=A||{};if(S==null)throw new wR(`missing choices[${l}].tool_calls[${y}].id +${lke(e)}`);if(D==null)throw new wR(`missing choices[${l}].tool_calls[${y}].type +${lke(e)}`);if(M==null)throw new wR(`missing choices[${l}].tool_calls[${y}].function.name +${lke(e)}`);if(P==null)throw new wR(`missing choices[${l}].tool_calls[${y}].function.arguments +${lke(e)}`);return{id:S,type:D,function:{name:M,arguments:P}}})}}:{message:{content:h,role:m},finish_reason:R,index:l,logprobs:c}}),created:n,model:i,object:"chat.completion"}}function lke(e){return JSON.stringify(e)}var epe=class e extends Ure{static fromReadableStream(t){let r=new e;return r._run(()=>r._fromReadableStream(t)),r}static runFunctions(t,r,n){let i=new e,s={...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return i._run(()=>i._runFunctions(t,r,s)),i}static runTools(t,r,n){let i=new e,s={...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"runTools"}};return i._run(()=>i._runTools(t,r,s)),i}};var tpe=class extends Bo{runFunctions(t,r){return t.stream?epe.runFunctions(this._client.chat.completions,t,r):Z1e.runFunctions(this._client.chat.completions,t,r)}runTools(t,r){return t.stream?epe.runTools(this._client.chat.completions,t,r):Z1e.runTools(this._client.chat.completions,t,r)}stream(t,r){return Ure.createChatCompletion(this._client.chat.completions,t,r)}};var Pj=class extends Bo{constructor(){super(...arguments),this.completions=new tpe(this._client)}};(function(e){e.Completions=tpe})(Pj||(Pj={}));var Bj=class extends Bo{retrieve(t,r,n,i){return this._client.get(`/threads/${t}/messages/${r}/files/${n}`,{...i,headers:{"OpenAI-Beta":"assistants=v1",...i?.headers}})}list(t,r,n={},i){return q2(n)?this.list(t,r,{},n):this._client.getAPIList(`/threads/${t}/messages/${r}/files`,Ij,{query:n,...i,headers:{"OpenAI-Beta":"assistants=v1",...i?.headers}})}},Ij=class extends C2{};(function(e){e.MessageFilesPage=Ij})(Bj||(Bj={}));var Mj=class extends Bo{constructor(){super(...arguments),this.files=new Bj(this._client)}create(t,r,n){return this._client.post(`/threads/${t}/messages`,{body:r,...n,headers:{"OpenAI-Beta":"assistants=v1",...n?.headers}})}retrieve(t,r,n){return this._client.get(`/threads/${t}/messages/${r}`,{...n,headers:{"OpenAI-Beta":"assistants=v1",...n?.headers}})}update(t,r,n,i){return this._client.post(`/threads/${t}/messages/${r}`,{body:n,...i,headers:{"OpenAI-Beta":"assistants=v1",...i?.headers}})}list(t,r={},n){return q2(r)?this.list(t,{},r):this._client.getAPIList(`/threads/${t}/messages`,Wj,{query:r,...n,headers:{"OpenAI-Beta":"assistants=v1",...n?.headers}})}},Wj=class extends C2{};(function(e){e.ThreadMessagesPage=Wj,e.Files=Bj,e.MessageFilesPage=Ij})(Mj||(Mj={}));var Uj=class extends Bo{retrieve(t,r,n,i){return this._client.get(`/threads/${t}/runs/${r}/steps/${n}`,{...i,headers:{"OpenAI-Beta":"assistants=v1",...i?.headers}})}list(t,r,n={},i){return q2(n)?this.list(t,r,{},n):this._client.getAPIList(`/threads/${t}/runs/${r}/steps`,Fj,{query:n,...i,headers:{"OpenAI-Beta":"assistants=v1",...i?.headers}})}},Fj=class extends C2{};(function(e){e.RunStepsPage=Fj})(Uj||(Uj={}));var Lj=class extends Bo{constructor(){super(...arguments),this.steps=new Uj(this._client)}create(t,r,n){return this._client.post(`/threads/${t}/runs`,{body:r,...n,headers:{"OpenAI-Beta":"assistants=v1",...n?.headers}})}retrieve(t,r,n){return this._client.get(`/threads/${t}/runs/${r}`,{...n,headers:{"OpenAI-Beta":"assistants=v1",...n?.headers}})}update(t,r,n,i){return this._client.post(`/threads/${t}/runs/${r}`,{body:n,...i,headers:{"OpenAI-Beta":"assistants=v1",...i?.headers}})}list(t,r={},n){return q2(r)?this.list(t,{},r):this._client.getAPIList(`/threads/${t}/runs`,zj,{query:r,...n,headers:{"OpenAI-Beta":"assistants=v1",...n?.headers}})}cancel(t,r,n){return this._client.post(`/threads/${t}/runs/${r}/cancel`,{...n,headers:{"OpenAI-Beta":"assistants=v1",...n?.headers}})}submitToolOutputs(t,r,n,i){return this._client.post(`/threads/${t}/runs/${r}/submit_tool_outputs`,{body:n,...i,headers:{"OpenAI-Beta":"assistants=v1",...i?.headers}})}},zj=class extends C2{};(function(e){e.RunsPage=zj,e.Steps=Uj,e.RunStepsPage=Fj})(Lj||(Lj={}));var Hj=class extends Bo{constructor(){super(...arguments),this.runs=new Lj(this._client),this.messages=new Mj(this._client)}create(t={},r){return q2(t)?this.create({},t):this._client.post("/threads",{body:t,...r,headers:{"OpenAI-Beta":"assistants=v1",...r?.headers}})}retrieve(t,r){return this._client.get(`/threads/${t}`,{...r,headers:{"OpenAI-Beta":"assistants=v1",...r?.headers}})}update(t,r,n){return this._client.post(`/threads/${t}`,{body:r,...n,headers:{"OpenAI-Beta":"assistants=v1",...n?.headers}})}del(t,r){return this._client.delete(`/threads/${t}`,{...r,headers:{"OpenAI-Beta":"assistants=v1",...r?.headers}})}createAndRun(t,r){return this._client.post("/threads/runs",{body:t,...r,headers:{"OpenAI-Beta":"assistants=v1",...r?.headers}})}};(function(e){e.Runs=Lj,e.RunsPage=zj,e.Messages=Mj,e.ThreadMessagesPage=Wj})(Hj||(Hj={}));var KI=class extends Bo{constructor(){super(...arguments),this.chat=new Pj(this._client),this.assistants=new Nj(this._client),this.threads=new Hj(this._client)}};(function(e){e.Chat=Pj,e.Assistants=Nj,e.AssistantsPage=wj,e.Threads=Hj})(KI||(KI={}));var GI=class extends Bo{create(t,r){return this._client.post("/completions",{body:t,...r,stream:t.stream??!1})}};GI||(GI={});var VI=class extends Bo{create(t,r){return this._client.post("/embeddings",{body:t,...r})}};VI||(VI={});var jI=class extends Bo{create(t,r){return this._client.post("/edits",{body:t,...r})}};jI||(jI={});var JI=class extends Bo{create(t,r){return this._client.post("/files",Hv({body:t,...r}))}retrieve(t,r){return this._client.get(`/files/${t}`,r)}list(t={},r){return q2(t)?this.list({},t):this._client.getAPIList("/files",XI,{query:t,...r})}del(t,r){return this._client.delete(`/files/${t}`,r)}content(t,r){return this._client.get(`/files/${t}/content`,{...r,__binaryResponse:!0})}retrieveContent(t,r){return this._client.get(`/files/${t}/content`,{...r,headers:{Accept:"application/json",...r?.headers}})}async waitForProcessing(t,{pollInterval:r=5e3,maxWait:n=30*60*1e3}={}){let i=new Set(["processed","error","deleted"]),s=Date.now(),R=await this.retrieve(t);for(;!R.status||!i.has(R.status);)if(await kdt(r),R=await this.retrieve(t),Date.now()-s>n)throw new DN({message:`Giving up on waiting for file ${t} to finish processing after ${n} milliseconds.`});return R}},XI=class extends Yv{};(function(e){e.FileObjectsPage=XI})(JI||(JI={}));var ZI=class extends Bo{create(t,r){return this._client.post("/fine-tunes",{body:t,...r})}retrieve(t,r){return this._client.get(`/fine-tunes/${t}`,r)}list(t){return this._client.getAPIList("/fine-tunes",eM,t)}cancel(t,r){return this._client.post(`/fine-tunes/${t}/cancel`,r)}listEvents(t,r,n){return this._client.get(`/fine-tunes/${t}/events`,{query:r,timeout:864e5,...n,stream:r?.stream??!1})}},eM=class extends Yv{};(function(e){e.FineTunesPage=eM})(ZI||(ZI={}));var Yj=class extends Bo{create(t,r){return this._client.post("/fine_tuning/jobs",{body:t,...r})}retrieve(t,r){return this._client.get(`/fine_tuning/jobs/${t}`,r)}list(t={},r){return q2(t)?this.list({},t):this._client.getAPIList("/fine_tuning/jobs",Kj,{query:t,...r})}cancel(t,r){return this._client.post(`/fine_tuning/jobs/${t}/cancel`,r)}listEvents(t,r={},n){return q2(r)?this.listEvents(t,{},r):this._client.getAPIList(`/fine_tuning/jobs/${t}/events`,Gj,{query:r,...n})}},Kj=class extends C2{},Gj=class extends C2{};(function(e){e.FineTuningJobsPage=Kj,e.FineTuningJobEventsPage=Gj})(Yj||(Yj={}));var tM=class extends Bo{constructor(){super(...arguments),this.jobs=new Yj(this._client)}};(function(e){e.Jobs=Yj,e.FineTuningJobsPage=Kj,e.FineTuningJobEventsPage=Gj})(tM||(tM={}));var rM=class extends Bo{createVariation(t,r){return this._client.post("/images/variations",Hv({body:t,...r}))}edit(t,r){return this._client.post("/images/edits",Hv({body:t,...r}))}generate(t,r){return this._client.post("/images/generations",{body:t,...r})}};rM||(rM={});var nM=class extends Bo{retrieve(t,r){return this._client.get(`/models/${t}`,r)}list(t){return this._client.getAPIList("/models",iM,t)}del(t,r){return this._client.delete(`/models/${t}`,r)}},iM=class extends Yv{};(function(e){e.ModelsPage=iM})(nM||(nM={}));var aM=class extends Bo{create(t,r){return this._client.post("/moderations",{body:t,...r})}};aM||(aM={});var bPt,dx=class extends tke{constructor({baseURL:t=rke("OPENAI_BASE_URL"),apiKey:r=rke("OPENAI_API_KEY"),organization:n=rke("OPENAI_ORG_ID")??null,...i}={}){if(r===void 0)throw new wR("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");let s={apiKey:r,organization:n,...i,baseURL:t??"https://api.openai.com/v1"};if(!s.dangerouslyAllowBrowser&&hPt())throw new wR(`It looks like you're running in a browser-like environment. + +This is disabled by default, as it risks exposing your secret API credentials to attackers. +If you understand the risks and have appropriate mitigations in place, +you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g., + +new OpenAI({ apiKey, dangerouslyAllowBrowser: true }); + +https://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety +`);super({baseURL:s.baseURL,timeout:s.timeout??6e5,httpAgent:s.httpAgent,maxRetries:s.maxRetries,fetch:s.fetch}),this.completions=new GI(this),this.chat=new LI(this),this.edits=new jI(this),this.embeddings=new VI(this),this.files=new JI(this),this.images=new rM(this),this.audio=new zI(this),this.moderations=new aM(this),this.models=new nM(this),this.fineTuning=new tM(this),this.fineTunes=new ZI(this),this.beta=new KI(this),this._options=s,this.apiKey=r,this.organization=n}defaultQuery(){return this._options.defaultQuery}defaultHeaders(t){return{...super.defaultHeaders(t),"OpenAI-Organization":this.organization,...this._options.defaultHeaders}}authHeaders(t){return{Authorization:`Bearer ${this.apiKey}`}}};bPt=dx;dx.OpenAI=bPt;dx.OpenAIError=wR;dx.APIError=y2;dx.APIConnectionError=vN;dx.APIConnectionTimeoutError=DN;dx.APIUserAbortError=vC;dx.NotFoundError=Qre;dx.ConflictError=Nre;dx.RateLimitError=Pre;dx.BadRequestError=Dre;dx.AuthenticationError=Sre;dx.InternalServerError=Bre;dx.PermissionDeniedError=$re;dx.UnprocessableEntityError=wre;var{OpenAIError:Wii,APIError:Uii,APIConnectionError:Fii,APIConnectionTimeoutError:Lii,APIUserAbortError:zii,NotFoundError:Hii,ConflictError:Yii,RateLimitError:Kii,BadRequestError:Gii,AuthenticationError:Vii,InternalServerError:jii,PermissionDeniedError:Jii,UnprocessableEntityError:Xii}=Tdt;(function(e){e.toFile=fdt,e.fileFromPath=Z7e,e.Page=Yv,e.CursorPage=C2,e.Completions=GI,e.Chat=LI,e.Edits=jI,e.Embeddings=VI,e.Files=JI,e.FileObjectsPage=XI,e.Images=rM,e.Audio=zI,e.Moderations=aM,e.Models=nM,e.ModelsPage=iM,e.FineTuning=tM,e.FineTunes=ZI,e.FineTunesPage=eM,e.Beta=KI})(dx||(dx={}));var EPt=dx;import*as r3e from"node:fs/promises";import{extname as uVn}from"node:path";var ixe=Gs(vWt(),1);function FN(){}FN.prototype={diff:function(t,r){var n,i=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},s=i.callback;typeof i=="function"&&(s=i,i={}),this.options=i;var R=this;function l(U){return s?(setTimeout(function(){s(void 0,U)},0),!0):U}t=this.castInput(t),r=this.castInput(r),t=this.removeEmpty(this.tokenize(t)),r=this.removeEmpty(this.tokenize(r));var c=r.length,h=t.length,_=1,f=c+h;i.maxEditLength&&(f=Math.min(f,i.maxEditLength));var m=(n=i.timeout)!==null&&n!==void 0?n:1/0,x=Date.now()+m,y=[{oldPos:-1,lastComponent:void 0}],A=this.extractCommon(y[0],r,t,0);if(y[0].oldPos+1>=h&&A+1>=c)return l([{value:this.join(r),count:r.length}]);var D=-1/0,S=1/0;function P(){for(var U=Math.max(D,-_);U<=Math.min(S,_);U+=2){var w=void 0,F=y[U-1],H=y[U+1];F&&(y[U-1]=void 0);var G=!1;if(H){var ee=H.oldPos-U;G=H&&0<=ee&&ee=h&&A+1>=c)return l(GDr(R,w.lastComponent,r,t,R.useLongestToken));y[U]=w,w.oldPos+1>=h&&(S=Math.min(S,U-1)),A+1>=c&&(D=Math.max(D,U+1))}_++}if(s)(function U(){setTimeout(function(){if(_>f||Date.now()>x)return s();P()||U()},0)})();else for(;_<=f&&Date.now()<=x;){var M=P();if(M)return M}},addToPath:function(t,r,n,i){var s=t.lastComponent;return s&&s.added===r&&s.removed===n?{oldPos:t.oldPos+i,lastComponent:{count:s.count+1,added:r,removed:n,previousComponent:s.previousComponent}}:{oldPos:t.oldPos+i,lastComponent:{count:1,added:r,removed:n,previousComponent:s}}},extractCommon:function(t,r,n,i){for(var s=r.length,R=n.length,l=t.oldPos,c=l-i,h=0;c+1A.length?S:A}),f.value=e.join(m)}else f.value=e.join(r.slice(h,h+f.count));h+=f.count,f.added||(_+=f.count)}}var y=s[c-1];return c>1&&typeof y.value=="string"&&(y.added||y.removed)&&e.equals("",y.value)&&(s[c-2].value+=y.value,s.pop()),s}var esi=new FN;var DWt=/^[A-Za-z\xC0-\u02C6\u02C8-\u02D7\u02DE-\u02FF\u1E00-\u1EFF]+$/,SWt=/\S/,$Wt=new FN;$Wt.equals=function(e,t){return this.options.ignoreCase&&(e=e.toLowerCase(),t=t.toLowerCase()),e===t||this.options.ignoreWhitespace&&!SWt.test(e)&&!SWt.test(t)};$Wt.tokenize=function(e){for(var t=e.split(/([^\S\r\n]+|[()[\]{}'"\r\n]|\b)/),r=0;r"u"?r:R}:n;return typeof e=="string"?e:JSON.stringify(u7t(e,null,null,i),i," ")};Wpe.equals=function(e,t){return FN.prototype.equals.call(Wpe,e.replace(/,([\r\n])/g,"$1"),t.replace(/,([\r\n])/g,"$1"))};function u7t(e,t,r,n,i){t=t||[],r=r||[],n&&(e=n(i,e));var s;for(s=0;s>>=5,n>0&&(i|=32),e.write(IWt[i])}while(n>0);return t}var PWt=1024*16,BWt=typeof TextDecoder<"u"?new TextDecoder:typeof Buffer<"u"?{decode(e){return Buffer.from(e.buffer,e.byteOffset,e.byteLength).toString()}}:{decode(e){let t="";for(let r=0;r0?r+BWt.decode(t.subarray(0,n)):r}};function MWt(e){let t=new T7t,r=0,n=0,i=0,s=0;for(let R=0;R0&&t.write(59),l.length===0)continue;let c=0;for(let h=0;h0&&t.write(44),c=Upe(t,_[0],c),_.length!==1&&(r=Upe(t,_[1],r),n=Upe(t,_[2],n),i=Upe(t,_[3],i),_.length!==4&&(s=Upe(t,_[4],s)))}}return t.flush()}var aye=class e{constructor(t){this.bits=t instanceof e?t.bits.slice():[]}add(t){this.bits[t>>5]|=1<<(t&31)}has(t){return!!(this.bits[t>>5]&1<<(t&31))}},sye=class e{constructor(t,r,n){this.start=t,this.end=r,this.original=n,this.intro="",this.outro="",this.content=n,this.storeName=!1,this.edited=!1,this.previous=null,this.next=null}appendLeft(t){this.outro+=t}appendRight(t){this.intro=this.intro+t}clone(){let t=new e(this.start,this.end,this.original);return t.intro=this.intro,t.outro=this.outro,t.content=this.content,t.storeName=this.storeName,t.edited=this.edited,t}contains(t){return this.startglobalThis.btoa(unescape(encodeURIComponent(e))):typeof Buffer=="function"?e=>Buffer.from(e,"utf-8").toString("base64"):()=>{throw new Error("Unsupported environment: `window.btoa` or `Buffer` should be supported.")}}var eSr=ZDr(),p7t=class{constructor(t){this.version=3,this.file=t.file,this.sources=t.sources,this.sourcesContent=t.sourcesContent,this.names=t.names,this.mappings=MWt(t.mappings),typeof t.x_google_ignoreList<"u"&&(this.x_google_ignoreList=t.x_google_ignoreList),typeof t.debugId<"u"&&(this.debugId=t.debugId)}toString(){return JSON.stringify(this)}toUrl(){return"data:application/json;charset=utf-8;base64,"+eSr(this.toString())}};function tSr(e){let t=e.split(` +`),r=t.filter(s=>/^\t+/.test(s)),n=t.filter(s=>/^ {2,}/.test(s));if(r.length===0&&n.length===0)return null;if(r.length>=n.length)return" ";let i=n.reduce((s,R)=>{let l=/^ +/.exec(R)[0].length;return Math.min(l,s)},1/0);return new Array(i+1).join(" ")}function rSr(e,t){let r=e.split(/[/\\]/),n=t.split(/[/\\]/);for(r.pop();r[0]===n[0];)r.shift(),n.shift();if(r.length){let i=r.length;for(;i--;)r[i]=".."}return r.concat(n).join("/")}var nSr=Object.prototype.toString;function iSr(e){return nSr.call(e)==="[object Object]"}function WWt(e){let t=e.split(` +`),r=[];for(let n=0,i=0;n>1;i=0&&s>R;){let h=[this.generatedCodeColumn,t,n.line,n.column];i>=0&&h.push(i),this.rawSegments.push(h),this.generatedCodeLine+=1,this.raw[this.generatedCodeLine]=this.rawSegments=[],this.generatedCodeColumn=0,l=R,R=r.indexOf(` +`,R+1)}let c=[this.generatedCodeColumn,t,n.line,n.column];i>=0&&c.push(i),this.rawSegments.push(c),this.advance(r.slice(l+1))}else this.pending&&(this.rawSegments.push(this.pending),this.advance(r));this.pending=null}addUneditedChunk(t,r,n,i,s){let R=r.start,l=!0,c=!1;for(;R1){for(let n=0;n{let l=s(R.start);R.intro.length&&i.advance(R.intro),R.edited?i.addEdit(r,R.content,l,R.storeName?n.indexOf(R.original):-1):i.addUneditedChunk(r,R,this.original,l,this.sourcemapLocations),R.outro.length&&i.advance(R.outro)}),{file:t.file?t.file.split(/[/\\]/).pop():void 0,sources:[t.source?rSr(t.file||"",t.source):t.file||""],sourcesContent:t.includeContent?[this.original]:void 0,names:n,mappings:i.raw,x_google_ignoreList:this.ignoreList?[r]:void 0}}generateMap(t){return new p7t(this.generateDecodedMap(t))}_ensureindentStr(){this.indentStr===void 0&&(this.indentStr=tSr(this.original))}_getRawIndentString(){return this._ensureindentStr(),this.indentStr}getIndentString(){return this._ensureindentStr(),this.indentStr===null?" ":this.indentStr}indent(t,r){let n=/^[^\r\n]/gm;if(iSr(t)&&(r=t,t=void 0),t===void 0&&(this._ensureindentStr(),t=this.indentStr||" "),t==="")return this;r=r||{};let i={};r.exclude&&(typeof r.exclude[0]=="number"?[r.exclude]:r.exclude).forEach(_=>{for(let f=_[0];f<_[1];f+=1)i[f]=!0});let s=r.indentStart!==!1,R=h=>s?`${t}${h}`:(s=!0,h);this.intro=this.intro.replace(n,R);let l=0,c=this.firstChunk;for(;c;){let h=c.end;if(c.edited)i[l]||(c.content=c.content.replace(n,R),c.content.length&&(s=c.content[c.content.length-1]===` +`));else for(l=c.start;l=t&&n<=r)throw new Error("Cannot move a selection inside itself");this._split(t),this._split(r),this._split(n);let i=this.byStart[t],s=this.byEnd[r],R=i.previous,l=s.next,c=this.byStart[n];if(!c&&s===this.lastChunk)return this;let h=c?c.previous:this.lastChunk;return R&&(R.next=l),l&&(l.previous=R),h&&(h.next=i),c&&(c.previous=s),i.previous||(this.firstChunk=s.next),s.next||(this.lastChunk=i.previous,this.lastChunk.next=null),i.previous=h,s.next=c||null,h||(this.firstChunk=i),c||(this.lastChunk=s),this}overwrite(t,r,n,i){return i=i||{},this.update(t,r,n,{...i,overwrite:!i.contentOnly})}update(t,r,n,i){if(typeof n!="string")throw new TypeError("replacement content must be a string");if(this.original.length!==0){for(;t<0;)t+=this.original.length;for(;r<0;)r+=this.original.length}if(r>this.original.length)throw new Error("end is out of bounds");if(t===r)throw new Error("Cannot overwrite a zero-length range \u2013 use appendLeft or prependRight instead");this._split(t),this._split(r),i===!0&&(dne.storeName||(console.warn("The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string"),dne.storeName=!0),i={storeName:!0});let s=i!==void 0?i.storeName:!1,R=i!==void 0?i.overwrite:!1;if(s){let h=this.original.slice(t,r);Object.defineProperty(this.storedNames,h,{writable:!0,value:!0,enumerable:!0})}let l=this.byStart[t],c=this.byEnd[r];if(l){let h=l;for(;h!==c;){if(h.next!==this.byStart[h.end])throw new Error("Cannot overwrite across a split point");h=h.next,h.edit("",!1)}l.edit(n,s,!R)}else{let h=new sye(t,r,"").edit(n,s);c.next=h,h.previous=c}return this}prepend(t){if(typeof t!="string")throw new TypeError("outro content must be a string");return this.intro=t+this.intro,this}prependLeft(t,r){if(typeof r!="string")throw new TypeError("inserted content must be a string");this._split(t);let n=this.byEnd[t];return n?n.prependLeft(r):this.intro=r+this.intro,this}prependRight(t,r){if(typeof r!="string")throw new TypeError("inserted content must be a string");this._split(t);let n=this.byStart[t];return n?n.prependRight(r):this.outro=r+this.outro,this}remove(t,r){if(this.original.length!==0){for(;t<0;)t+=this.original.length;for(;r<0;)r+=this.original.length}if(t===r)return this;if(t<0||r>this.original.length)throw new Error("Character is out of bounds");if(t>r)throw new Error("end must be greater than start");this._split(t),this._split(r);let n=this.byStart[t];for(;n;)n.intro="",n.outro="",n.edit(""),n=r>n.end?this.byStart[n.end]:null;return this}reset(t,r){if(this.original.length!==0){for(;t<0;)t+=this.original.length;for(;r<0;)r+=this.original.length}if(t===r)return this;if(t<0||r>this.original.length)throw new Error("Character is out of bounds");if(t>r)throw new Error("end must be greater than start");this._split(t),this._split(r);let n=this.byStart[t];for(;n;)n.reset(),n=r>n.end?this.byStart[n.end]:null;return this}lastChar(){if(this.outro.length)return this.outro[this.outro.length-1];let t=this.lastChunk;do{if(t.outro.length)return t.outro[t.outro.length-1];if(t.content.length)return t.content[t.content.length-1];if(t.intro.length)return t.intro[t.intro.length-1]}while(t=t.previous);return this.intro.length?this.intro[this.intro.length-1]:""}lastLine(){let t=this.outro.lastIndexOf(Fpe);if(t!==-1)return this.outro.substr(t+1);let r=this.outro,n=this.lastChunk;do{if(n.outro.length>0){if(t=n.outro.lastIndexOf(Fpe),t!==-1)return n.outro.substr(t+1)+r;r=n.outro+r}if(n.content.length>0){if(t=n.content.lastIndexOf(Fpe),t!==-1)return n.content.substr(t+1)+r;r=n.content+r}if(n.intro.length>0){if(t=n.intro.lastIndexOf(Fpe),t!==-1)return n.intro.substr(t+1)+r;r=n.intro+r}}while(n=n.previous);return t=this.intro.lastIndexOf(Fpe),t!==-1?this.intro.substr(t+1)+r:this.intro+r}slice(t=0,r=this.original.length){if(this.original.length!==0){for(;t<0;)t+=this.original.length;for(;r<0;)r+=this.original.length}let n="",i=this.firstChunk;for(;i&&(i.start>t||i.end<=t);){if(i.start=r)return n;i=i.next}if(i&&i.edited&&i.start!==t)throw new Error(`Cannot use replaced character ${t} as slice start anchor.`);let s=i;for(;i;){i.intro&&(s!==i||i.start===t)&&(n+=i.intro);let R=i.start=r;if(R&&i.edited&&i.end!==r)throw new Error(`Cannot use replaced character ${r} as slice end anchor.`);let l=s===i?t-i.start:0,c=R?i.content.length+r-i.end:i.content.length;if(n+=i.content.slice(l,c),i.outro&&(!R||i.end===r)&&(n+=i.outro),R)break;i=i.next}return n}snip(t,r){let n=this.clone();return n.remove(0,t),n.remove(r,n.original.length),n}_split(t){if(this.byStart[t]||this.byEnd[t])return;let r=this.lastSearchedChunk,n=t>r.end;for(;r;){if(r.contains(t))return this._splitChunk(r,t);r=n?this.byStart[r.end]:this.byEnd[r.start]}}_splitChunk(t,r){if(t.edited&&t.content.length){let i=WWt(this.original)(r);throw new Error(`Cannot split a chunk that has already been edited (${i.line}:${i.column} \u2013 "${t.original}")`)}let n=t.split(r);return this.byEnd[r]=t,this.byStart[r]=n,this.byEnd[n.end]=n,t===this.lastChunk&&(this.lastChunk=n),this.lastSearchedChunk=t,!0}toString(){let t=this.intro,r=this.firstChunk;for(;r;)t+=r.toString(),r=r.next;return t+this.outro}isEmpty(){let t=this.firstChunk;do if(t.intro.length&&t.intro.trim()||t.content.length&&t.content.trim()||t.outro.length&&t.outro.trim())return!1;while(t=t.next);return!0}length(){let t=this.firstChunk,r=0;do r+=t.intro.length+t.content.length+t.outro.length;while(t=t.next);return r}trimLines(){return this.trim("[\\r\\n]")}trim(t){return this.trimStart(t).trimEnd(t)}trimEndAborted(t){let r=new RegExp((t||"\\s")+"+$");if(this.outro=this.outro.replace(r,""),this.outro.length)return!0;let n=this.lastChunk;do{let i=n.end,s=n.trimEnd(r);if(n.end!==i&&(this.lastChunk===n&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),s)return!0;n=n.previous}while(n);return!1}trimEnd(t){return this.trimEndAborted(t),this}trimStartAborted(t){let r=new RegExp("^"+(t||"\\s")+"+");if(this.intro=this.intro.replace(r,""),this.intro.length)return!0;let n=this.firstChunk;do{let i=n.end,s=n.trimStart(r);if(n.end!==i&&(n===this.lastChunk&&(this.lastChunk=n.next),this.byEnd[n.end]=n,this.byStart[n.next.start]=n.next,this.byEnd[n.next.end]=n.next),s)return!0;n=n.next}while(n);return!1}trimStart(t){return this.trimStartAborted(t),this}hasChanged(){return this.original!==this.toString()}_replaceRegexp(t,r){function n(s,R){return typeof r=="string"?r.replace(/\$(\$|&|\d+)/g,(l,c)=>c==="$"?"$":c==="&"?s[0]:+c{if(R.index!=null){let l=n(R,this.original);l!==R[0]&&this.overwrite(R.index,R.index+R[0].length,l)}});else{let s=this.original.match(t);if(s&&s.index!=null){let R=n(s,this.original);R!==s[0]&&this.overwrite(s.index,s.index+s[0].length,R)}}return this}_replaceString(t,r){let{original:n}=this,i=n.indexOf(t);return i!==-1&&this.overwrite(i,i+t.length,r),this}replace(t,r){return typeof t=="string"?this._replaceString(t,r):this._replaceRegexp(t,r)}_replaceAllString(t,r){let{original:n}=this,i=t.length;for(let s=n.indexOf(t);s!==-1;s=n.indexOf(t,s+i))n.slice(s,s+i)!==r&&this.overwrite(s,s+i,r);return this}replaceAll(t,r){if(typeof t=="string")return this._replaceAllString(t,r);if(!t.global)throw new TypeError("MagicString.prototype.replaceAll called with a non-global RegExp argument");return this._replaceRegexp(t,r)}};import*as gg from"node:fs/promises";import*as nS from"node:path";import*as h_ from"node:path/posix";var Qxr=Gs(Z2e(),1);var sSr=/^(?:( )+|\t+)/,Lpe="space",FWt="tab";function UWt(e,t){let r=new Map,n=0,i,s;for(let R of e.split(/\n/g)){if(!R)continue;let l,c,h,_,f,m=R.match(sSr);if(m===null)n=0,i="";else{if(l=m[0].length,c=m[1]?Lpe:FWt,t&&c===Lpe&&l===1)continue;c!==i&&(n=0),i=c,h=1,_=0;let x=l-n;if(n=l,x===0)h=0,_=1;else{let y=x>0?x:-x;s=oSr(c,y)}f=r.get(s),f=f===void 0?[1,0]:[f[0]+h,f[1]+_],r.set(s,f)}}return r}function oSr(e,t){return(e===Lpe?"s":"t")+String(t)}function RSr(e){let r=e[0]==="s"?Lpe:FWt,n=Number(e.slice(1));return{type:r,amount:n}}function uSr(e){let t,r=0,n=0;for(let[i,[s,R]]of e)(s>r||s===r&&R>n)&&(r=s,n=R,t=i);return t}function lSr(e,t){return(e===Lpe?" ":" ").repeat(t)}function zpe(e){if(typeof e!="string")throw new TypeError("Expected a string");let t=UWt(e,!0);t.size===0&&(t=UWt(e,!1));let r=uSr(t),n,i=0,s="";return r!==void 0&&({type:n,amount:i}=RSr(r),s=lSr(n,i)),{amount:i,type:n,indent:s}}function LWt(e){if(typeof e!="string")throw new TypeError("Expected a string");let t=e.match(/(?:\r?\n)/g)||[];if(t.length===0)return;let r=t.filter(i=>i===`\r +`).length,n=t.length-r;return r>n?`\r +`:` +`}var wxr=Gs(J7e(),1);var n3e=Gs(J7e(),1);import*as Pxr from"node:fs/promises";import*as axe from"node:path";var Ixr=Gs(Z2e(),1);import*as Bxr from"node:path";import*as iU from"node:fs/promises";import*as Wxr from"node:os";import*as Uxr from"node:path";function xne(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}var cSr=[["\xDF","ss"],["\u1E9E","Ss"],["\xE4","ae"],["\xC4","Ae"],["\xF6","oe"],["\xD6","Oe"],["\xFC","ue"],["\xDC","Ue"],["\xC0","A"],["\xC1","A"],["\xC2","A"],["\xC3","A"],["\xC4","Ae"],["\xC5","A"],["\xC6","AE"],["\xC7","C"],["\xC8","E"],["\xC9","E"],["\xCA","E"],["\xCB","E"],["\xCC","I"],["\xCD","I"],["\xCE","I"],["\xCF","I"],["\xD0","D"],["\xD1","N"],["\xD2","O"],["\xD3","O"],["\xD4","O"],["\xD5","O"],["\xD6","Oe"],["\u0150","O"],["\xD8","O"],["\xD9","U"],["\xDA","U"],["\xDB","U"],["\xDC","Ue"],["\u0170","U"],["\xDD","Y"],["\xDE","TH"],["\xDF","ss"],["\xE0","a"],["\xE1","a"],["\xE2","a"],["\xE3","a"],["\xE4","ae"],["\xE5","a"],["\xE6","ae"],["\xE7","c"],["\xE8","e"],["\xE9","e"],["\xEA","e"],["\xEB","e"],["\xEC","i"],["\xED","i"],["\xEE","i"],["\xEF","i"],["\xF0","d"],["\xF1","n"],["\xF2","o"],["\xF3","o"],["\xF4","o"],["\xF5","o"],["\xF6","oe"],["\u0151","o"],["\xF8","o"],["\xF9","u"],["\xFA","u"],["\xFB","u"],["\xFC","ue"],["\u0171","u"],["\xFD","y"],["\xFE","th"],["\xFF","y"],["\u1E9E","SS"],["\xE0","a"],["\xC0","A"],["\xE1","a"],["\xC1","A"],["\xE2","a"],["\xC2","A"],["\xE3","a"],["\xC3","A"],["\xE8","e"],["\xC8","E"],["\xE9","e"],["\xC9","E"],["\xEA","e"],["\xCA","E"],["\xEC","i"],["\xCC","I"],["\xED","i"],["\xCD","I"],["\xF2","o"],["\xD2","O"],["\xF3","o"],["\xD3","O"],["\xF4","o"],["\xD4","O"],["\xF5","o"],["\xD5","O"],["\xF9","u"],["\xD9","U"],["\xFA","u"],["\xDA","U"],["\xFD","y"],["\xDD","Y"],["\u0103","a"],["\u0102","A"],["\u0110","D"],["\u0111","d"],["\u0129","i"],["\u0128","I"],["\u0169","u"],["\u0168","U"],["\u01A1","o"],["\u01A0","O"],["\u01B0","u"],["\u01AF","U"],["\u1EA1","a"],["\u1EA0","A"],["\u1EA3","a"],["\u1EA2","A"],["\u1EA5","a"],["\u1EA4","A"],["\u1EA7","a"],["\u1EA6","A"],["\u1EA9","a"],["\u1EA8","A"],["\u1EAB","a"],["\u1EAA","A"],["\u1EAD","a"],["\u1EAC","A"],["\u1EAF","a"],["\u1EAE","A"],["\u1EB1","a"],["\u1EB0","A"],["\u1EB3","a"],["\u1EB2","A"],["\u1EB5","a"],["\u1EB4","A"],["\u1EB7","a"],["\u1EB6","A"],["\u1EB9","e"],["\u1EB8","E"],["\u1EBB","e"],["\u1EBA","E"],["\u1EBD","e"],["\u1EBC","E"],["\u1EBF","e"],["\u1EBE","E"],["\u1EC1","e"],["\u1EC0","E"],["\u1EC3","e"],["\u1EC2","E"],["\u1EC5","e"],["\u1EC4","E"],["\u1EC7","e"],["\u1EC6","E"],["\u1EC9","i"],["\u1EC8","I"],["\u1ECB","i"],["\u1ECA","I"],["\u1ECD","o"],["\u1ECC","O"],["\u1ECF","o"],["\u1ECE","O"],["\u1ED1","o"],["\u1ED0","O"],["\u1ED3","o"],["\u1ED2","O"],["\u1ED5","o"],["\u1ED4","O"],["\u1ED7","o"],["\u1ED6","O"],["\u1ED9","o"],["\u1ED8","O"],["\u1EDB","o"],["\u1EDA","O"],["\u1EDD","o"],["\u1EDC","O"],["\u1EDF","o"],["\u1EDE","O"],["\u1EE1","o"],["\u1EE0","O"],["\u1EE3","o"],["\u1EE2","O"],["\u1EE5","u"],["\u1EE4","U"],["\u1EE7","u"],["\u1EE6","U"],["\u1EE9","u"],["\u1EE8","U"],["\u1EEB","u"],["\u1EEA","U"],["\u1EED","u"],["\u1EEC","U"],["\u1EEF","u"],["\u1EEE","U"],["\u1EF1","u"],["\u1EF0","U"],["\u1EF3","y"],["\u1EF2","Y"],["\u1EF5","y"],["\u1EF4","Y"],["\u1EF7","y"],["\u1EF6","Y"],["\u1EF9","y"],["\u1EF8","Y"],["\u0621","e"],["\u0622","a"],["\u0623","a"],["\u0624","w"],["\u0625","i"],["\u0626","y"],["\u0627","a"],["\u0628","b"],["\u0629","t"],["\u062A","t"],["\u062B","th"],["\u062C","j"],["\u062D","h"],["\u062E","kh"],["\u062F","d"],["\u0630","dh"],["\u0631","r"],["\u0632","z"],["\u0633","s"],["\u0634","sh"],["\u0635","s"],["\u0636","d"],["\u0637","t"],["\u0638","z"],["\u0639","e"],["\u063A","gh"],["\u0640","_"],["\u0641","f"],["\u0642","q"],["\u0643","k"],["\u0644","l"],["\u0645","m"],["\u0646","n"],["\u0647","h"],["\u0648","w"],["\u0649","a"],["\u064A","y"],["\u064E\u200E","a"],["\u064F","u"],["\u0650\u200E","i"],["\u0660","0"],["\u0661","1"],["\u0662","2"],["\u0663","3"],["\u0664","4"],["\u0665","5"],["\u0666","6"],["\u0667","7"],["\u0668","8"],["\u0669","9"],["\u0686","ch"],["\u06A9","k"],["\u06AF","g"],["\u067E","p"],["\u0698","zh"],["\u06CC","y"],["\u06F0","0"],["\u06F1","1"],["\u06F2","2"],["\u06F3","3"],["\u06F4","4"],["\u06F5","5"],["\u06F6","6"],["\u06F7","7"],["\u06F8","8"],["\u06F9","9"],["\u067C","p"],["\u0681","z"],["\u0685","c"],["\u0689","d"],["\uFEAB","d"],["\uFEAD","r"],["\u0693","r"],["\uFEAF","z"],["\u0696","g"],["\u069A","x"],["\u06AB","g"],["\u06BC","n"],["\u06C0","e"],["\u06D0","e"],["\u06CD","ai"],["\u0679","t"],["\u0688","d"],["\u0691","r"],["\u06BA","n"],["\u06C1","h"],["\u06BE","h"],["\u06D2","e"],["\u0410","A"],["\u0430","a"],["\u0411","B"],["\u0431","b"],["\u0412","V"],["\u0432","v"],["\u0413","G"],["\u0433","g"],["\u0414","D"],["\u0434","d"],["\u044A\u0435","ye"],["\u042A\u0435","Ye"],["\u044A\u0415","yE"],["\u042A\u0415","YE"],["\u0415","E"],["\u0435","e"],["\u0401","Yo"],["\u0451","yo"],["\u0416","Zh"],["\u0436","zh"],["\u0417","Z"],["\u0437","z"],["\u0418","I"],["\u0438","i"],["\u044B\u0439","iy"],["\u042B\u0439","Iy"],["\u042B\u0419","IY"],["\u044B\u0419","iY"],["\u0419","Y"],["\u0439","y"],["\u041A","K"],["\u043A","k"],["\u041B","L"],["\u043B","l"],["\u041C","M"],["\u043C","m"],["\u041D","N"],["\u043D","n"],["\u041E","O"],["\u043E","o"],["\u041F","P"],["\u043F","p"],["\u0420","R"],["\u0440","r"],["\u0421","S"],["\u0441","s"],["\u0422","T"],["\u0442","t"],["\u0423","U"],["\u0443","u"],["\u0424","F"],["\u0444","f"],["\u0425","Kh"],["\u0445","kh"],["\u0426","Ts"],["\u0446","ts"],["\u0427","Ch"],["\u0447","ch"],["\u0428","Sh"],["\u0448","sh"],["\u0429","Sch"],["\u0449","sch"],["\u042A",""],["\u044A",""],["\u042B","Y"],["\u044B","y"],["\u042C",""],["\u044C",""],["\u042D","E"],["\u044D","e"],["\u042E","Yu"],["\u044E","yu"],["\u042F","Ya"],["\u044F","ya"],["\u0103","a"],["\u0102","A"],["\u0219","s"],["\u0218","S"],["\u021B","t"],["\u021A","T"],["\u0163","t"],["\u0162","T"],["\u015F","s"],["\u015E","S"],["\xE7","c"],["\xC7","C"],["\u011F","g"],["\u011E","G"],["\u0131","i"],["\u0130","I"],["\u0561","a"],["\u0531","A"],["\u0562","b"],["\u0532","B"],["\u0563","g"],["\u0533","G"],["\u0564","d"],["\u0534","D"],["\u0565","ye"],["\u0535","Ye"],["\u0566","z"],["\u0536","Z"],["\u0567","e"],["\u0537","E"],["\u0568","y"],["\u0538","Y"],["\u0569","t"],["\u0539","T"],["\u056A","zh"],["\u053A","Zh"],["\u056B","i"],["\u053B","I"],["\u056C","l"],["\u053C","L"],["\u056D","kh"],["\u053D","Kh"],["\u056E","ts"],["\u053E","Ts"],["\u056F","k"],["\u053F","K"],["\u0570","h"],["\u0540","H"],["\u0571","dz"],["\u0541","Dz"],["\u0572","gh"],["\u0542","Gh"],["\u0573","tch"],["\u0543","Tch"],["\u0574","m"],["\u0544","M"],["\u0575","y"],["\u0545","Y"],["\u0576","n"],["\u0546","N"],["\u0577","sh"],["\u0547","Sh"],["\u0578","vo"],["\u0548","Vo"],["\u0579","ch"],["\u0549","Ch"],["\u057A","p"],["\u054A","P"],["\u057B","j"],["\u054B","J"],["\u057C","r"],["\u054C","R"],["\u057D","s"],["\u054D","S"],["\u057E","v"],["\u054E","V"],["\u057F","t"],["\u054F","T"],["\u0580","r"],["\u0550","R"],["\u0581","c"],["\u0551","C"],["\u0578\u0582","u"],["\u0548\u0552","U"],["\u0548\u0582","U"],["\u0583","p"],["\u0553","P"],["\u0584","q"],["\u0554","Q"],["\u0585","o"],["\u0555","O"],["\u0586","f"],["\u0556","F"],["\u0587","yev"],["\u10D0","a"],["\u10D1","b"],["\u10D2","g"],["\u10D3","d"],["\u10D4","e"],["\u10D5","v"],["\u10D6","z"],["\u10D7","t"],["\u10D8","i"],["\u10D9","k"],["\u10DA","l"],["\u10DB","m"],["\u10DC","n"],["\u10DD","o"],["\u10DE","p"],["\u10DF","zh"],["\u10E0","r"],["\u10E1","s"],["\u10E2","t"],["\u10E3","u"],["\u10E4","ph"],["\u10E5","q"],["\u10E6","gh"],["\u10E7","k"],["\u10E8","sh"],["\u10E9","ch"],["\u10EA","ts"],["\u10EB","dz"],["\u10EC","ts"],["\u10ED","tch"],["\u10EE","kh"],["\u10EF","j"],["\u10F0","h"],["\u010D","c"],["\u010F","d"],["\u011B","e"],["\u0148","n"],["\u0159","r"],["\u0161","s"],["\u0165","t"],["\u016F","u"],["\u017E","z"],["\u010C","C"],["\u010E","D"],["\u011A","E"],["\u0147","N"],["\u0158","R"],["\u0160","S"],["\u0164","T"],["\u016E","U"],["\u017D","Z"],["\u0780","h"],["\u0781","sh"],["\u0782","n"],["\u0783","r"],["\u0784","b"],["\u0785","lh"],["\u0786","k"],["\u0787","a"],["\u0788","v"],["\u0789","m"],["\u078A","f"],["\u078B","dh"],["\u078C","th"],["\u078D","l"],["\u078E","g"],["\u078F","gn"],["\u0790","s"],["\u0791","d"],["\u0792","z"],["\u0793","t"],["\u0794","y"],["\u0795","p"],["\u0796","j"],["\u0797","ch"],["\u0798","tt"],["\u0799","hh"],["\u079A","kh"],["\u079B","th"],["\u079C","z"],["\u079D","sh"],["\u079E","s"],["\u079F","d"],["\u07A0","t"],["\u07A1","z"],["\u07A2","a"],["\u07A3","gh"],["\u07A4","q"],["\u07A5","w"],["\u07A6","a"],["\u07A7","aa"],["\u07A8","i"],["\u07A9","ee"],["\u07AA","u"],["\u07AB","oo"],["\u07AC","e"],["\u07AD","ey"],["\u07AE","o"],["\u07AF","oa"],["\u07B0",""],["\u03B1","a"],["\u03B2","v"],["\u03B3","g"],["\u03B4","d"],["\u03B5","e"],["\u03B6","z"],["\u03B7","i"],["\u03B8","th"],["\u03B9","i"],["\u03BA","k"],["\u03BB","l"],["\u03BC","m"],["\u03BD","n"],["\u03BE","ks"],["\u03BF","o"],["\u03C0","p"],["\u03C1","r"],["\u03C3","s"],["\u03C4","t"],["\u03C5","y"],["\u03C6","f"],["\u03C7","x"],["\u03C8","ps"],["\u03C9","o"],["\u03AC","a"],["\u03AD","e"],["\u03AF","i"],["\u03CC","o"],["\u03CD","y"],["\u03AE","i"],["\u03CE","o"],["\u03C2","s"],["\u03CA","i"],["\u03B0","y"],["\u03CB","y"],["\u0390","i"],["\u0391","A"],["\u0392","B"],["\u0393","G"],["\u0394","D"],["\u0395","E"],["\u0396","Z"],["\u0397","I"],["\u0398","TH"],["\u0399","I"],["\u039A","K"],["\u039B","L"],["\u039C","M"],["\u039D","N"],["\u039E","KS"],["\u039F","O"],["\u03A0","P"],["\u03A1","R"],["\u03A3","S"],["\u03A4","T"],["\u03A5","Y"],["\u03A6","F"],["\u03A7","X"],["\u03A8","PS"],["\u03A9","O"],["\u0386","A"],["\u0388","E"],["\u038A","I"],["\u038C","O"],["\u038E","Y"],["\u0389","I"],["\u038F","O"],["\u03AA","I"],["\u03AB","Y"],["\u0101","a"],["\u0113","e"],["\u0123","g"],["\u012B","i"],["\u0137","k"],["\u013C","l"],["\u0146","n"],["\u016B","u"],["\u0100","A"],["\u0112","E"],["\u0122","G"],["\u012A","I"],["\u0136","K"],["\u013B","L"],["\u0145","N"],["\u016A","U"],["\u010D","c"],["\u0161","s"],["\u017E","z"],["\u010C","C"],["\u0160","S"],["\u017D","Z"],["\u0105","a"],["\u010D","c"],["\u0119","e"],["\u0117","e"],["\u012F","i"],["\u0161","s"],["\u0173","u"],["\u016B","u"],["\u017E","z"],["\u0104","A"],["\u010C","C"],["\u0118","E"],["\u0116","E"],["\u012E","I"],["\u0160","S"],["\u0172","U"],["\u016A","U"],["\u040C","Kj"],["\u045C","kj"],["\u0409","Lj"],["\u0459","lj"],["\u040A","Nj"],["\u045A","nj"],["\u0422\u0441","Ts"],["\u0442\u0441","ts"],["\u0105","a"],["\u0107","c"],["\u0119","e"],["\u0142","l"],["\u0144","n"],["\u015B","s"],["\u017A","z"],["\u017C","z"],["\u0104","A"],["\u0106","C"],["\u0118","E"],["\u0141","L"],["\u0143","N"],["\u015A","S"],["\u0179","Z"],["\u017B","Z"],["\u0404","Ye"],["\u0406","I"],["\u0407","Yi"],["\u0490","G"],["\u0454","ye"],["\u0456","i"],["\u0457","yi"],["\u0491","g"],["\u0132","IJ"],["\u0133","ij"],["\xA2","c"],["\xA5","Y"],["\u07FF","b"],["\u09F3","t"],["\u0AF1","Bo"],["\u0E3F","B"],["\u20A0","CE"],["\u20A1","C"],["\u20A2","Cr"],["\u20A3","F"],["\u20A5","m"],["\u20A6","N"],["\u20A7","Pt"],["\u20A8","Rs"],["\u20A9","W"],["\u20AB","s"],["\u20AC","E"],["\u20AD","K"],["\u20AE","T"],["\u20AF","Dp"],["\u20B0","S"],["\u20B1","P"],["\u20B2","G"],["\u20B3","A"],["\u20B4","S"],["\u20B5","C"],["\u20B6","tt"],["\u20B7","S"],["\u20B8","T"],["\u20B9","R"],["\u20BA","L"],["\u20BD","P"],["\u20BF","B"],["\uFE69","$"],["\uFFE0","c"],["\uFFE5","Y"],["\uFFE6","W"],["\u{1D400}","A"],["\u{1D401}","B"],["\u{1D402}","C"],["\u{1D403}","D"],["\u{1D404}","E"],["\u{1D405}","F"],["\u{1D406}","G"],["\u{1D407}","H"],["\u{1D408}","I"],["\u{1D409}","J"],["\u{1D40A}","K"],["\u{1D40B}","L"],["\u{1D40C}","M"],["\u{1D40D}","N"],["\u{1D40E}","O"],["\u{1D40F}","P"],["\u{1D410}","Q"],["\u{1D411}","R"],["\u{1D412}","S"],["\u{1D413}","T"],["\u{1D414}","U"],["\u{1D415}","V"],["\u{1D416}","W"],["\u{1D417}","X"],["\u{1D418}","Y"],["\u{1D419}","Z"],["\u{1D41A}","a"],["\u{1D41B}","b"],["\u{1D41C}","c"],["\u{1D41D}","d"],["\u{1D41E}","e"],["\u{1D41F}","f"],["\u{1D420}","g"],["\u{1D421}","h"],["\u{1D422}","i"],["\u{1D423}","j"],["\u{1D424}","k"],["\u{1D425}","l"],["\u{1D426}","m"],["\u{1D427}","n"],["\u{1D428}","o"],["\u{1D429}","p"],["\u{1D42A}","q"],["\u{1D42B}","r"],["\u{1D42C}","s"],["\u{1D42D}","t"],["\u{1D42E}","u"],["\u{1D42F}","v"],["\u{1D430}","w"],["\u{1D431}","x"],["\u{1D432}","y"],["\u{1D433}","z"],["\u{1D434}","A"],["\u{1D435}","B"],["\u{1D436}","C"],["\u{1D437}","D"],["\u{1D438}","E"],["\u{1D439}","F"],["\u{1D43A}","G"],["\u{1D43B}","H"],["\u{1D43C}","I"],["\u{1D43D}","J"],["\u{1D43E}","K"],["\u{1D43F}","L"],["\u{1D440}","M"],["\u{1D441}","N"],["\u{1D442}","O"],["\u{1D443}","P"],["\u{1D444}","Q"],["\u{1D445}","R"],["\u{1D446}","S"],["\u{1D447}","T"],["\u{1D448}","U"],["\u{1D449}","V"],["\u{1D44A}","W"],["\u{1D44B}","X"],["\u{1D44C}","Y"],["\u{1D44D}","Z"],["\u{1D44E}","a"],["\u{1D44F}","b"],["\u{1D450}","c"],["\u{1D451}","d"],["\u{1D452}","e"],["\u{1D453}","f"],["\u{1D454}","g"],["\u{1D456}","i"],["\u{1D457}","j"],["\u{1D458}","k"],["\u{1D459}","l"],["\u{1D45A}","m"],["\u{1D45B}","n"],["\u{1D45C}","o"],["\u{1D45D}","p"],["\u{1D45E}","q"],["\u{1D45F}","r"],["\u{1D460}","s"],["\u{1D461}","t"],["\u{1D462}","u"],["\u{1D463}","v"],["\u{1D464}","w"],["\u{1D465}","x"],["\u{1D466}","y"],["\u{1D467}","z"],["\u{1D468}","A"],["\u{1D469}","B"],["\u{1D46A}","C"],["\u{1D46B}","D"],["\u{1D46C}","E"],["\u{1D46D}","F"],["\u{1D46E}","G"],["\u{1D46F}","H"],["\u{1D470}","I"],["\u{1D471}","J"],["\u{1D472}","K"],["\u{1D473}","L"],["\u{1D474}","M"],["\u{1D475}","N"],["\u{1D476}","O"],["\u{1D477}","P"],["\u{1D478}","Q"],["\u{1D479}","R"],["\u{1D47A}","S"],["\u{1D47B}","T"],["\u{1D47C}","U"],["\u{1D47D}","V"],["\u{1D47E}","W"],["\u{1D47F}","X"],["\u{1D480}","Y"],["\u{1D481}","Z"],["\u{1D482}","a"],["\u{1D483}","b"],["\u{1D484}","c"],["\u{1D485}","d"],["\u{1D486}","e"],["\u{1D487}","f"],["\u{1D488}","g"],["\u{1D489}","h"],["\u{1D48A}","i"],["\u{1D48B}","j"],["\u{1D48C}","k"],["\u{1D48D}","l"],["\u{1D48E}","m"],["\u{1D48F}","n"],["\u{1D490}","o"],["\u{1D491}","p"],["\u{1D492}","q"],["\u{1D493}","r"],["\u{1D494}","s"],["\u{1D495}","t"],["\u{1D496}","u"],["\u{1D497}","v"],["\u{1D498}","w"],["\u{1D499}","x"],["\u{1D49A}","y"],["\u{1D49B}","z"],["\u{1D49C}","A"],["\u{1D49E}","C"],["\u{1D49F}","D"],["\u{1D4A2}","g"],["\u{1D4A5}","J"],["\u{1D4A6}","K"],["\u{1D4A9}","N"],["\u{1D4AA}","O"],["\u{1D4AB}","P"],["\u{1D4AC}","Q"],["\u{1D4AE}","S"],["\u{1D4AF}","T"],["\u{1D4B0}","U"],["\u{1D4B1}","V"],["\u{1D4B2}","W"],["\u{1D4B3}","X"],["\u{1D4B4}","Y"],["\u{1D4B5}","Z"],["\u{1D4B6}","a"],["\u{1D4B7}","b"],["\u{1D4B8}","c"],["\u{1D4B9}","d"],["\u{1D4BB}","f"],["\u{1D4BD}","h"],["\u{1D4BE}","i"],["\u{1D4BF}","j"],["\u{1D4C0}","h"],["\u{1D4C1}","l"],["\u{1D4C2}","m"],["\u{1D4C3}","n"],["\u{1D4C5}","p"],["\u{1D4C6}","q"],["\u{1D4C7}","r"],["\u{1D4C8}","s"],["\u{1D4C9}","t"],["\u{1D4CA}","u"],["\u{1D4CB}","v"],["\u{1D4CC}","w"],["\u{1D4CD}","x"],["\u{1D4CE}","y"],["\u{1D4CF}","z"],["\u{1D4D0}","A"],["\u{1D4D1}","B"],["\u{1D4D2}","C"],["\u{1D4D3}","D"],["\u{1D4D4}","E"],["\u{1D4D5}","F"],["\u{1D4D6}","G"],["\u{1D4D7}","H"],["\u{1D4D8}","I"],["\u{1D4D9}","J"],["\u{1D4DA}","K"],["\u{1D4DB}","L"],["\u{1D4DC}","M"],["\u{1D4DD}","N"],["\u{1D4DE}","O"],["\u{1D4DF}","P"],["\u{1D4E0}","Q"],["\u{1D4E1}","R"],["\u{1D4E2}","S"],["\u{1D4E3}","T"],["\u{1D4E4}","U"],["\u{1D4E5}","V"],["\u{1D4E6}","W"],["\u{1D4E7}","X"],["\u{1D4E8}","Y"],["\u{1D4E9}","Z"],["\u{1D4EA}","a"],["\u{1D4EB}","b"],["\u{1D4EC}","c"],["\u{1D4ED}","d"],["\u{1D4EE}","e"],["\u{1D4EF}","f"],["\u{1D4F0}","g"],["\u{1D4F1}","h"],["\u{1D4F2}","i"],["\u{1D4F3}","j"],["\u{1D4F4}","k"],["\u{1D4F5}","l"],["\u{1D4F6}","m"],["\u{1D4F7}","n"],["\u{1D4F8}","o"],["\u{1D4F9}","p"],["\u{1D4FA}","q"],["\u{1D4FB}","r"],["\u{1D4FC}","s"],["\u{1D4FD}","t"],["\u{1D4FE}","u"],["\u{1D4FF}","v"],["\u{1D500}","w"],["\u{1D501}","x"],["\u{1D502}","y"],["\u{1D503}","z"],["\u{1D504}","A"],["\u{1D505}","B"],["\u{1D507}","D"],["\u{1D508}","E"],["\u{1D509}","F"],["\u{1D50A}","G"],["\u{1D50D}","J"],["\u{1D50E}","K"],["\u{1D50F}","L"],["\u{1D510}","M"],["\u{1D511}","N"],["\u{1D512}","O"],["\u{1D513}","P"],["\u{1D514}","Q"],["\u{1D516}","S"],["\u{1D517}","T"],["\u{1D518}","U"],["\u{1D519}","V"],["\u{1D51A}","W"],["\u{1D51B}","X"],["\u{1D51C}","Y"],["\u{1D51E}","a"],["\u{1D51F}","b"],["\u{1D520}","c"],["\u{1D521}","d"],["\u{1D522}","e"],["\u{1D523}","f"],["\u{1D524}","g"],["\u{1D525}","h"],["\u{1D526}","i"],["\u{1D527}","j"],["\u{1D528}","k"],["\u{1D529}","l"],["\u{1D52A}","m"],["\u{1D52B}","n"],["\u{1D52C}","o"],["\u{1D52D}","p"],["\u{1D52E}","q"],["\u{1D52F}","r"],["\u{1D530}","s"],["\u{1D531}","t"],["\u{1D532}","u"],["\u{1D533}","v"],["\u{1D534}","w"],["\u{1D535}","x"],["\u{1D536}","y"],["\u{1D537}","z"],["\u{1D538}","A"],["\u{1D539}","B"],["\u{1D53B}","D"],["\u{1D53C}","E"],["\u{1D53D}","F"],["\u{1D53E}","G"],["\u{1D540}","I"],["\u{1D541}","J"],["\u{1D542}","K"],["\u{1D543}","L"],["\u{1D544}","M"],["\u{1D546}","N"],["\u{1D54A}","S"],["\u{1D54B}","T"],["\u{1D54C}","U"],["\u{1D54D}","V"],["\u{1D54E}","W"],["\u{1D54F}","X"],["\u{1D550}","Y"],["\u{1D552}","a"],["\u{1D553}","b"],["\u{1D554}","c"],["\u{1D555}","d"],["\u{1D556}","e"],["\u{1D557}","f"],["\u{1D558}","g"],["\u{1D559}","h"],["\u{1D55A}","i"],["\u{1D55B}","j"],["\u{1D55C}","k"],["\u{1D55D}","l"],["\u{1D55E}","m"],["\u{1D55F}","n"],["\u{1D560}","o"],["\u{1D561}","p"],["\u{1D562}","q"],["\u{1D563}","r"],["\u{1D564}","s"],["\u{1D565}","t"],["\u{1D566}","u"],["\u{1D567}","v"],["\u{1D568}","w"],["\u{1D569}","x"],["\u{1D56A}","y"],["\u{1D56B}","z"],["\u{1D56C}","A"],["\u{1D56D}","B"],["\u{1D56E}","C"],["\u{1D56F}","D"],["\u{1D570}","E"],["\u{1D571}","F"],["\u{1D572}","G"],["\u{1D573}","H"],["\u{1D574}","I"],["\u{1D575}","J"],["\u{1D576}","K"],["\u{1D577}","L"],["\u{1D578}","M"],["\u{1D579}","N"],["\u{1D57A}","O"],["\u{1D57B}","P"],["\u{1D57C}","Q"],["\u{1D57D}","R"],["\u{1D57E}","S"],["\u{1D57F}","T"],["\u{1D580}","U"],["\u{1D581}","V"],["\u{1D582}","W"],["\u{1D583}","X"],["\u{1D584}","Y"],["\u{1D585}","Z"],["\u{1D586}","a"],["\u{1D587}","b"],["\u{1D588}","c"],["\u{1D589}","d"],["\u{1D58A}","e"],["\u{1D58B}","f"],["\u{1D58C}","g"],["\u{1D58D}","h"],["\u{1D58E}","i"],["\u{1D58F}","j"],["\u{1D590}","k"],["\u{1D591}","l"],["\u{1D592}","m"],["\u{1D593}","n"],["\u{1D594}","o"],["\u{1D595}","p"],["\u{1D596}","q"],["\u{1D597}","r"],["\u{1D598}","s"],["\u{1D599}","t"],["\u{1D59A}","u"],["\u{1D59B}","v"],["\u{1D59C}","w"],["\u{1D59D}","x"],["\u{1D59E}","y"],["\u{1D59F}","z"],["\u{1D5A0}","A"],["\u{1D5A1}","B"],["\u{1D5A2}","C"],["\u{1D5A3}","D"],["\u{1D5A4}","E"],["\u{1D5A5}","F"],["\u{1D5A6}","G"],["\u{1D5A7}","H"],["\u{1D5A8}","I"],["\u{1D5A9}","J"],["\u{1D5AA}","K"],["\u{1D5AB}","L"],["\u{1D5AC}","M"],["\u{1D5AD}","N"],["\u{1D5AE}","O"],["\u{1D5AF}","P"],["\u{1D5B0}","Q"],["\u{1D5B1}","R"],["\u{1D5B2}","S"],["\u{1D5B3}","T"],["\u{1D5B4}","U"],["\u{1D5B5}","V"],["\u{1D5B6}","W"],["\u{1D5B7}","X"],["\u{1D5B8}","Y"],["\u{1D5B9}","Z"],["\u{1D5BA}","a"],["\u{1D5BB}","b"],["\u{1D5BC}","c"],["\u{1D5BD}","d"],["\u{1D5BE}","e"],["\u{1D5BF}","f"],["\u{1D5C0}","g"],["\u{1D5C1}","h"],["\u{1D5C2}","i"],["\u{1D5C3}","j"],["\u{1D5C4}","k"],["\u{1D5C5}","l"],["\u{1D5C6}","m"],["\u{1D5C7}","n"],["\u{1D5C8}","o"],["\u{1D5C9}","p"],["\u{1D5CA}","q"],["\u{1D5CB}","r"],["\u{1D5CC}","s"],["\u{1D5CD}","t"],["\u{1D5CE}","u"],["\u{1D5CF}","v"],["\u{1D5D0}","w"],["\u{1D5D1}","x"],["\u{1D5D2}","y"],["\u{1D5D3}","z"],["\u{1D5D4}","A"],["\u{1D5D5}","B"],["\u{1D5D6}","C"],["\u{1D5D7}","D"],["\u{1D5D8}","E"],["\u{1D5D9}","F"],["\u{1D5DA}","G"],["\u{1D5DB}","H"],["\u{1D5DC}","I"],["\u{1D5DD}","J"],["\u{1D5DE}","K"],["\u{1D5DF}","L"],["\u{1D5E0}","M"],["\u{1D5E1}","N"],["\u{1D5E2}","O"],["\u{1D5E3}","P"],["\u{1D5E4}","Q"],["\u{1D5E5}","R"],["\u{1D5E6}","S"],["\u{1D5E7}","T"],["\u{1D5E8}","U"],["\u{1D5E9}","V"],["\u{1D5EA}","W"],["\u{1D5EB}","X"],["\u{1D5EC}","Y"],["\u{1D5ED}","Z"],["\u{1D5EE}","a"],["\u{1D5EF}","b"],["\u{1D5F0}","c"],["\u{1D5F1}","d"],["\u{1D5F2}","e"],["\u{1D5F3}","f"],["\u{1D5F4}","g"],["\u{1D5F5}","h"],["\u{1D5F6}","i"],["\u{1D5F7}","j"],["\u{1D5F8}","k"],["\u{1D5F9}","l"],["\u{1D5FA}","m"],["\u{1D5FB}","n"],["\u{1D5FC}","o"],["\u{1D5FD}","p"],["\u{1D5FE}","q"],["\u{1D5FF}","r"],["\u{1D600}","s"],["\u{1D601}","t"],["\u{1D602}","u"],["\u{1D603}","v"],["\u{1D604}","w"],["\u{1D605}","x"],["\u{1D606}","y"],["\u{1D607}","z"],["\u{1D608}","A"],["\u{1D609}","B"],["\u{1D60A}","C"],["\u{1D60B}","D"],["\u{1D60C}","E"],["\u{1D60D}","F"],["\u{1D60E}","G"],["\u{1D60F}","H"],["\u{1D610}","I"],["\u{1D611}","J"],["\u{1D612}","K"],["\u{1D613}","L"],["\u{1D614}","M"],["\u{1D615}","N"],["\u{1D616}","O"],["\u{1D617}","P"],["\u{1D618}","Q"],["\u{1D619}","R"],["\u{1D61A}","S"],["\u{1D61B}","T"],["\u{1D61C}","U"],["\u{1D61D}","V"],["\u{1D61E}","W"],["\u{1D61F}","X"],["\u{1D620}","Y"],["\u{1D621}","Z"],["\u{1D622}","a"],["\u{1D623}","b"],["\u{1D624}","c"],["\u{1D625}","d"],["\u{1D626}","e"],["\u{1D627}","f"],["\u{1D628}","g"],["\u{1D629}","h"],["\u{1D62A}","i"],["\u{1D62B}","j"],["\u{1D62C}","k"],["\u{1D62D}","l"],["\u{1D62E}","m"],["\u{1D62F}","n"],["\u{1D630}","o"],["\u{1D631}","p"],["\u{1D632}","q"],["\u{1D633}","r"],["\u{1D634}","s"],["\u{1D635}","t"],["\u{1D636}","u"],["\u{1D637}","v"],["\u{1D638}","w"],["\u{1D639}","x"],["\u{1D63A}","y"],["\u{1D63B}","z"],["\u{1D63C}","A"],["\u{1D63D}","B"],["\u{1D63E}","C"],["\u{1D63F}","D"],["\u{1D640}","E"],["\u{1D641}","F"],["\u{1D642}","G"],["\u{1D643}","H"],["\u{1D644}","I"],["\u{1D645}","J"],["\u{1D646}","K"],["\u{1D647}","L"],["\u{1D648}","M"],["\u{1D649}","N"],["\u{1D64A}","O"],["\u{1D64B}","P"],["\u{1D64C}","Q"],["\u{1D64D}","R"],["\u{1D64E}","S"],["\u{1D64F}","T"],["\u{1D650}","U"],["\u{1D651}","V"],["\u{1D652}","W"],["\u{1D653}","X"],["\u{1D654}","Y"],["\u{1D655}","Z"],["\u{1D656}","a"],["\u{1D657}","b"],["\u{1D658}","c"],["\u{1D659}","d"],["\u{1D65A}","e"],["\u{1D65B}","f"],["\u{1D65C}","g"],["\u{1D65D}","h"],["\u{1D65E}","i"],["\u{1D65F}","j"],["\u{1D660}","k"],["\u{1D661}","l"],["\u{1D662}","m"],["\u{1D663}","n"],["\u{1D664}","o"],["\u{1D665}","p"],["\u{1D666}","q"],["\u{1D667}","r"],["\u{1D668}","s"],["\u{1D669}","t"],["\u{1D66A}","u"],["\u{1D66B}","v"],["\u{1D66C}","w"],["\u{1D66D}","x"],["\u{1D66E}","y"],["\u{1D66F}","z"],["\u{1D670}","A"],["\u{1D671}","B"],["\u{1D672}","C"],["\u{1D673}","D"],["\u{1D674}","E"],["\u{1D675}","F"],["\u{1D676}","G"],["\u{1D677}","H"],["\u{1D678}","I"],["\u{1D679}","J"],["\u{1D67A}","K"],["\u{1D67B}","L"],["\u{1D67C}","M"],["\u{1D67D}","N"],["\u{1D67E}","O"],["\u{1D67F}","P"],["\u{1D680}","Q"],["\u{1D681}","R"],["\u{1D682}","S"],["\u{1D683}","T"],["\u{1D684}","U"],["\u{1D685}","V"],["\u{1D686}","W"],["\u{1D687}","X"],["\u{1D688}","Y"],["\u{1D689}","Z"],["\u{1D68A}","a"],["\u{1D68B}","b"],["\u{1D68C}","c"],["\u{1D68D}","d"],["\u{1D68E}","e"],["\u{1D68F}","f"],["\u{1D690}","g"],["\u{1D691}","h"],["\u{1D692}","i"],["\u{1D693}","j"],["\u{1D694}","k"],["\u{1D695}","l"],["\u{1D696}","m"],["\u{1D697}","n"],["\u{1D698}","o"],["\u{1D699}","p"],["\u{1D69A}","q"],["\u{1D69B}","r"],["\u{1D69C}","s"],["\u{1D69D}","t"],["\u{1D69E}","u"],["\u{1D69F}","v"],["\u{1D6A0}","w"],["\u{1D6A1}","x"],["\u{1D6A2}","y"],["\u{1D6A3}","z"],["\u{1D6A4}","l"],["\u{1D6A5}","j"],["\u{1D6E2}","A"],["\u{1D6E3}","B"],["\u{1D6E4}","G"],["\u{1D6E5}","D"],["\u{1D6E6}","E"],["\u{1D6E7}","Z"],["\u{1D6E8}","I"],["\u{1D6E9}","TH"],["\u{1D6EA}","I"],["\u{1D6EB}","K"],["\u{1D6EC}","L"],["\u{1D6ED}","M"],["\u{1D6EE}","N"],["\u{1D6EF}","KS"],["\u{1D6F0}","O"],["\u{1D6F1}","P"],["\u{1D6F2}","R"],["\u{1D6F3}","TH"],["\u{1D6F4}","S"],["\u{1D6F5}","T"],["\u{1D6F6}","Y"],["\u{1D6F7}","F"],["\u{1D6F8}","x"],["\u{1D6F9}","PS"],["\u{1D6FA}","O"],["\u{1D6FB}","D"],["\u{1D6FC}","a"],["\u{1D6FD}","b"],["\u{1D6FE}","g"],["\u{1D6FF}","d"],["\u{1D700}","e"],["\u{1D701}","z"],["\u{1D702}","i"],["\u{1D703}","th"],["\u{1D704}","i"],["\u{1D705}","k"],["\u{1D706}","l"],["\u{1D707}","m"],["\u{1D708}","n"],["\u{1D709}","ks"],["\u{1D70A}","o"],["\u{1D70B}","p"],["\u{1D70C}","r"],["\u{1D70D}","s"],["\u{1D70E}","s"],["\u{1D70F}","t"],["\u{1D710}","y"],["\u{1D711}","f"],["\u{1D712}","x"],["\u{1D713}","ps"],["\u{1D714}","o"],["\u{1D715}","d"],["\u{1D716}","E"],["\u{1D717}","TH"],["\u{1D718}","K"],["\u{1D719}","f"],["\u{1D71A}","r"],["\u{1D71B}","p"],["\u{1D71C}","A"],["\u{1D71D}","V"],["\u{1D71E}","G"],["\u{1D71F}","D"],["\u{1D720}","E"],["\u{1D721}","Z"],["\u{1D722}","I"],["\u{1D723}","TH"],["\u{1D724}","I"],["\u{1D725}","K"],["\u{1D726}","L"],["\u{1D727}","M"],["\u{1D728}","N"],["\u{1D729}","KS"],["\u{1D72A}","O"],["\u{1D72B}","P"],["\u{1D72C}","S"],["\u{1D72D}","TH"],["\u{1D72E}","S"],["\u{1D72F}","T"],["\u{1D730}","Y"],["\u{1D731}","F"],["\u{1D732}","X"],["\u{1D733}","PS"],["\u{1D734}","O"],["\u{1D735}","D"],["\u{1D736}","a"],["\u{1D737}","v"],["\u{1D738}","g"],["\u{1D739}","d"],["\u{1D73A}","e"],["\u{1D73B}","z"],["\u{1D73C}","i"],["\u{1D73D}","th"],["\u{1D73E}","i"],["\u{1D73F}","k"],["\u{1D740}","l"],["\u{1D741}","m"],["\u{1D742}","n"],["\u{1D743}","ks"],["\u{1D744}","o"],["\u{1D745}","p"],["\u{1D746}","r"],["\u{1D747}","s"],["\u{1D748}","s"],["\u{1D749}","t"],["\u{1D74A}","y"],["\u{1D74B}","f"],["\u{1D74C}","x"],["\u{1D74D}","ps"],["\u{1D74E}","o"],["\u{1D74F}","a"],["\u{1D750}","e"],["\u{1D751}","i"],["\u{1D752}","k"],["\u{1D753}","f"],["\u{1D754}","r"],["\u{1D755}","p"],["\u{1D756}","A"],["\u{1D757}","B"],["\u{1D758}","G"],["\u{1D759}","D"],["\u{1D75A}","E"],["\u{1D75B}","Z"],["\u{1D75C}","I"],["\u{1D75D}","TH"],["\u{1D75E}","I"],["\u{1D75F}","K"],["\u{1D760}","L"],["\u{1D761}","M"],["\u{1D762}","N"],["\u{1D763}","KS"],["\u{1D764}","O"],["\u{1D765}","P"],["\u{1D766}","R"],["\u{1D767}","TH"],["\u{1D768}","S"],["\u{1D769}","T"],["\u{1D76A}","Y"],["\u{1D76B}","F"],["\u{1D76C}","X"],["\u{1D76D}","PS"],["\u{1D76E}","O"],["\u{1D76F}","D"],["\u{1D770}","a"],["\u{1D771}","v"],["\u{1D772}","g"],["\u{1D773}","d"],["\u{1D774}","e"],["\u{1D775}","z"],["\u{1D776}","i"],["\u{1D777}","th"],["\u{1D778}","i"],["\u{1D779}","k"],["\u{1D77A}","l"],["\u{1D77B}","m"],["\u{1D77C}","n"],["\u{1D77D}","ks"],["\u{1D77E}","o"],["\u{1D77F}","p"],["\u{1D780}","r"],["\u{1D781}","s"],["\u{1D782}","s"],["\u{1D783}","t"],["\u{1D784}","y"],["\u{1D785}","f"],["\u{1D786}","x"],["\u{1D787}","ps"],["\u{1D788}","o"],["\u{1D789}","a"],["\u{1D78A}","e"],["\u{1D78B}","i"],["\u{1D78C}","k"],["\u{1D78D}","f"],["\u{1D78E}","r"],["\u{1D78F}","p"],["\u{1D790}","A"],["\u{1D791}","V"],["\u{1D792}","G"],["\u{1D793}","D"],["\u{1D794}","E"],["\u{1D795}","Z"],["\u{1D796}","I"],["\u{1D797}","TH"],["\u{1D798}","I"],["\u{1D799}","K"],["\u{1D79A}","L"],["\u{1D79B}","M"],["\u{1D79C}","N"],["\u{1D79D}","KS"],["\u{1D79E}","O"],["\u{1D79F}","P"],["\u{1D7A0}","S"],["\u{1D7A1}","TH"],["\u{1D7A2}","S"],["\u{1D7A3}","T"],["\u{1D7A4}","Y"],["\u{1D7A5}","F"],["\u{1D7A6}","X"],["\u{1D7A7}","PS"],["\u{1D7A8}","O"],["\u{1D7A9}","D"],["\u{1D7AA}","av"],["\u{1D7AB}","g"],["\u{1D7AC}","d"],["\u{1D7AD}","e"],["\u{1D7AE}","z"],["\u{1D7AF}","i"],["\u{1D7B0}","i"],["\u{1D7B1}","th"],["\u{1D7B2}","i"],["\u{1D7B3}","k"],["\u{1D7B4}","l"],["\u{1D7B5}","m"],["\u{1D7B6}","n"],["\u{1D7B7}","ks"],["\u{1D7B8}","o"],["\u{1D7B9}","p"],["\u{1D7BA}","r"],["\u{1D7BB}","s"],["\u{1D7BC}","s"],["\u{1D7BD}","t"],["\u{1D7BE}","y"],["\u{1D7BF}","f"],["\u{1D7C0}","x"],["\u{1D7C1}","ps"],["\u{1D7C2}","o"],["\u{1D7C3}","a"],["\u{1D7C4}","e"],["\u{1D7C5}","i"],["\u{1D7C6}","k"],["\u{1D7C7}","f"],["\u{1D7C8}","r"],["\u{1D7C9}","p"],["\u{1D7CA}","F"],["\u{1D7CB}","f"],["\u249C","(a)"],["\u249D","(b)"],["\u249E","(c)"],["\u249F","(d)"],["\u24A0","(e)"],["\u24A1","(f)"],["\u24A2","(g)"],["\u24A3","(h)"],["\u24A4","(i)"],["\u24A5","(j)"],["\u24A6","(k)"],["\u24A7","(l)"],["\u24A8","(m)"],["\u24A9","(n)"],["\u24AA","(o)"],["\u24AB","(p)"],["\u24AC","(q)"],["\u24AD","(r)"],["\u24AE","(s)"],["\u24AF","(t)"],["\u24B0","(u)"],["\u24B1","(v)"],["\u24B2","(w)"],["\u24B3","(x)"],["\u24B4","(y)"],["\u24B5","(z)"],["\u24B6","(A)"],["\u24B7","(B)"],["\u24B8","(C)"],["\u24B9","(D)"],["\u24BA","(E)"],["\u24BB","(F)"],["\u24BC","(G)"],["\u24BD","(H)"],["\u24BE","(I)"],["\u24BF","(J)"],["\u24C0","(K)"],["\u24C1","(L)"],["\u24C3","(N)"],["\u24C4","(O)"],["\u24C5","(P)"],["\u24C6","(Q)"],["\u24C7","(R)"],["\u24C8","(S)"],["\u24C9","(T)"],["\u24CA","(U)"],["\u24CB","(V)"],["\u24CC","(W)"],["\u24CD","(X)"],["\u24CE","(Y)"],["\u24CF","(Z)"],["\u24D0","(a)"],["\u24D1","(b)"],["\u24D2","(b)"],["\u24D3","(c)"],["\u24D4","(e)"],["\u24D5","(f)"],["\u24D6","(g)"],["\u24D7","(h)"],["\u24D8","(i)"],["\u24D9","(j)"],["\u24DA","(k)"],["\u24DB","(l)"],["\u24DC","(m)"],["\u24DD","(n)"],["\u24DE","(o)"],["\u24DF","(p)"],["\u24E0","(q)"],["\u24E1","(r)"],["\u24E2","(s)"],["\u24E3","(t)"],["\u24E4","(u)"],["\u24E5","(v)"],["\u24E6","(w)"],["\u24E7","(x)"],["\u24E8","(y)"],["\u24E9","(z)"],["\u010A","C"],["\u010B","c"],["\u0120","G"],["\u0121","g"],["\u0126","H"],["\u0127","h"],["\u017B","Z"],["\u017C","z"],["\u{1D7CE}","0"],["\u{1D7CF}","1"],["\u{1D7D0}","2"],["\u{1D7D1}","3"],["\u{1D7D2}","4"],["\u{1D7D3}","5"],["\u{1D7D4}","6"],["\u{1D7D5}","7"],["\u{1D7D6}","8"],["\u{1D7D7}","9"],["\u{1D7D8}","0"],["\u{1D7D9}","1"],["\u{1D7DA}","2"],["\u{1D7DB}","3"],["\u{1D7DC}","4"],["\u{1D7DD}","5"],["\u{1D7DE}","6"],["\u{1D7DF}","7"],["\u{1D7E0}","8"],["\u{1D7E1}","9"],["\u{1D7E2}","0"],["\u{1D7E3}","1"],["\u{1D7E4}","2"],["\u{1D7E5}","3"],["\u{1D7E6}","4"],["\u{1D7E7}","5"],["\u{1D7E8}","6"],["\u{1D7E9}","7"],["\u{1D7EA}","8"],["\u{1D7EB}","9"],["\u{1D7EC}","0"],["\u{1D7ED}","1"],["\u{1D7EE}","2"],["\u{1D7EF}","3"],["\u{1D7F0}","4"],["\u{1D7F1}","5"],["\u{1D7F2}","6"],["\u{1D7F3}","7"],["\u{1D7F4}","8"],["\u{1D7F5}","9"],["\u{1D7F6}","0"],["\u{1D7F7}","1"],["\u{1D7F8}","2"],["\u{1D7F9}","3"],["\u{1D7FA}","4"],["\u{1D7FB}","5"],["\u{1D7FC}","6"],["\u{1D7FD}","7"],["\u{1D7FE}","8"],["\u{1D7FF}","9"],["\u2460","1"],["\u2461","2"],["\u2462","3"],["\u2463","4"],["\u2464","5"],["\u2465","6"],["\u2466","7"],["\u2467","8"],["\u2468","9"],["\u2469","10"],["\u246A","11"],["\u246B","12"],["\u246C","13"],["\u246D","14"],["\u246E","15"],["\u246F","16"],["\u2470","17"],["\u2471","18"],["\u2472","19"],["\u2473","20"],["\u2474","1"],["\u2475","2"],["\u2476","3"],["\u2477","4"],["\u2478","5"],["\u2479","6"],["\u247A","7"],["\u247B","8"],["\u247C","9"],["\u247D","10"],["\u247E","11"],["\u247F","12"],["\u2480","13"],["\u2481","14"],["\u2482","15"],["\u2483","16"],["\u2484","17"],["\u2485","18"],["\u2486","19"],["\u2487","20"],["\u2488","1."],["\u2489","2."],["\u248A","3."],["\u248B","4."],["\u248C","5."],["\u248D","6."],["\u248E","7."],["\u248F","8."],["\u2490","9."],["\u2491","10."],["\u2492","11."],["\u2493","12."],["\u2494","13."],["\u2495","14."],["\u2496","15."],["\u2497","16."],["\u2498","17."],["\u2499","18."],["\u249A","19."],["\u249B","20."],["\u24EA","0"],["\u24EB","11"],["\u24EC","12"],["\u24ED","13"],["\u24EE","14"],["\u24EF","15"],["\u24F0","16"],["\u24F1","17"],["\u24F2","18"],["\u24F3","19"],["\u24F4","20"],["\u24F5","1"],["\u24F6","2"],["\u24F7","3"],["\u24F8","4"],["\u24F9","5"],["\u24FA","6"],["\u24FB","7"],["\u24FC","8"],["\u24FD","9"],["\u24FE","10"],["\u24FF","0"],["\u{1F670}","&"],["\u{1F671}","&"],["\u{1F672}","&"],["\u{1F673}","&"],["\u{1F674}","&"],["\u{1F675}","&"],["\u{1F676}",'"'],["\u{1F677}",'"'],["\u{1F678}",'"'],["\u203D","?!"],["\u{1F679}","?!"],["\u{1F67A}","?!"],["\u{1F67B}","?!"],["\u{1F67C}","/"],["\u{1F67D}","\\"],["\u{1F707}","AR"],["\u{1F708}","V"],["\u{1F709}","V"],["\u{1F706}","VR"],["\u{1F705}","VF"],["\u{1F729}","2"],["\u{1F72A}","5"],["\u{1F761}","f"],["\u{1F762}","W"],["\u{1F763}","U"],["\u{1F767}","V"],["\u{1F768}","T"],["\u{1F76A}","V"],["\u{1F76B}","MB"],["\u{1F76C}","VB"],["\u{1F772}","3B"],["\u{1F773}","3B"],["\u{1F4AF}","100"],["\u{1F519}","BACK"],["\u{1F51A}","END"],["\u{1F51B}","ON!"],["\u{1F51C}","SOON"],["\u{1F51D}","TOP"],["\u{1F51E}","18"],["\u{1F524}","abc"],["\u{1F520}","ABCD"],["\u{1F521}","abcd"],["\u{1F522}","1234"],["\u{1F523}","T&@%"],["#\uFE0F\u20E3","#"],["*\uFE0F\u20E3","*"],["0\uFE0F\u20E3","0"],["1\uFE0F\u20E3","1"],["2\uFE0F\u20E3","2"],["3\uFE0F\u20E3","3"],["4\uFE0F\u20E3","4"],["5\uFE0F\u20E3","5"],["6\uFE0F\u20E3","6"],["7\uFE0F\u20E3","7"],["8\uFE0F\u20E3","8"],["9\uFE0F\u20E3","9"],["\u{1F51F}","10"],["\u{1F170}\uFE0F","A"],["\u{1F171}\uFE0F","B"],["\u{1F18E}","AB"],["\u{1F191}","CL"],["\u{1F17E}\uFE0F","O"],["\u{1F17F}","P"],["\u{1F198}","SOS"],["\u{1F172}","C"],["\u{1F173}","D"],["\u{1F174}","E"],["\u{1F175}","F"],["\u{1F176}","G"],["\u{1F177}","H"],["\u{1F178}","I"],["\u{1F179}","J"],["\u{1F17A}","K"],["\u{1F17B}","L"],["\u{1F17C}","M"],["\u{1F17D}","N"],["\u{1F180}","Q"],["\u{1F181}","R"],["\u{1F182}","S"],["\u{1F183}","T"],["\u{1F184}","U"],["\u{1F185}","V"],["\u{1F186}","W"],["\u{1F187}","X"],["\u{1F188}","Y"],["\u{1F189}","Z"]],zWt=cSr;var TSr=(e,t)=>{for(let[r,n]of t)e=e.replace(new RegExp(xne(r),"g"),n);return e};function h7t(e,t){if(typeof e!="string")throw new TypeError(`Expected a string, got \`${typeof e}\``);t={customReplacements:[],...t};let r=new Map([...zWt,...t.customReplacements]);return e=e.normalize(),e=TSr(e,r),e=e.normalize("NFD").replace(new RegExp("\\p{Diacritic}","gu"),"").normalize(),e}var pSr=[["&"," and "],["\u{1F984}"," unicorn "],["\u2665"," love "]],HWt=pSr;var _Sr=e=>e.replace(/([A-Z]{2,})(\d+)/g,"$1 $2").replace(/([a-z\d]+)([A-Z]{2,})/g,"$1 $2").replace(/([a-z\d])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-rt-z\d]+)/g,"$1 $2"),hSr=(e,t)=>{let r=xne(t);return e.replace(new RegExp(`${r}{2,}`,"g"),t).replace(new RegExp(`^${r}|${r}$`,"g"),"")},fSr=e=>{let t="a-z\\d";if(t+=e.lowercase?"":"A-Z",e.preserveCharacters.length>0)for(let r of e.preserveCharacters){if(r===e.separator)throw new Error(`The separator character \`${e.separator}\` cannot be included in preserved characters: ${e.preserveCharacters}`);t+=xne(r)}return new RegExp(`[^${t}]+`,"g")};function f7t(e,t){if(typeof e!="string")throw new TypeError(`Expected a string, got \`${typeof e}\``);t={separator:"-",lowercase:!0,decamelize:!0,customReplacements:[],preserveLeadingUnderscore:!1,preserveTrailingDash:!1,preserveCharacters:[],...t};let r=t.preserveLeadingUnderscore&&e.startsWith("_"),n=t.preserveTrailingDash&&e.endsWith("-"),i=new Map([...HWt,...t.customReplacements]);e=h7t(e,{customReplacements:i}),t.decamelize&&(e=_Sr(e));let s=fSr(t);return t.lowercase&&(e=e.toLowerCase()),e=e.replace(/([a-zA-Z\d]+)'([ts])(\s|$)/g,"$1$2$3"),e=e.replace(s,t.separator),e=e.replace(/\\/g,""),t.separator&&(e=hSr(e,t.separator)),r&&(e=`_${e}`),n&&(e=`${e}-`),e}function Rye(){return/[<>:"/\\|?*\u0000-\u001F]/g}function YWt(){return/^(con|prn|aux|nul|com\d|lpt\d)$/i}var dSr=100,xSr=/^\.+(\\|\/)|^\.+$/,mSr=/\.+$/;function Hpe(e,t={}){let r=/[\u0000-\u001F\u0080-\u009F]/g,n=/([<>:"/\\|?*\u0000-\u001F]){2,}/g;if(typeof e!="string")throw new TypeError("Expected a string");let i=t.replacement===void 0?"!":t.replacement;if(Rye().test(i)&&r.test(i))throw new Error("Replacement string cannot contain reserved filename characters");i.length>0&&(e=e.replace(n,"$1")),e=e.normalize("NFD"),e=e.replace(xSr,i),e=e.replace(Rye(),i),e=e.replace(r,i),e=e.replace(mSr,""),i.length>0&&(!(e[0]===".")&&e[0]==="."&&(e=i+e),e[e.length-1]==="."&&(e+=i)),e=YWt().test(e)?e+i:e;let s=typeof t.maxLength=="number"?t.maxLength:dSr;if(e.length>s){let R=e.lastIndexOf(".");if(R===-1)e=e.slice(0,s);else{let l=e.slice(0,R),c=e.slice(R);e=l.slice(0,Math.max(1,s-c.length))+c}}return e}var Fxr=Gs(P7t(),1),tgt=Gs(W7t(),1);var cxe=Gs(Z1t(),1);var HVt=Gs(Xpe(),1),nqe=Gs(L3(),1);import rD from"node:process";function sNr(){return rD.platform!=="win32"?rD.env.TERM!=="linux":!!rD.env.WT_SESSION||!!rD.env.TERMINUS_SUBLIME||rD.env.ConEmuTask==="{cmd::Cmder}"||rD.env.TERM_PROGRAM==="Terminus-Sublime"||rD.env.TERM_PROGRAM==="vscode"||rD.env.TERM==="xterm-256color"||rD.env.TERM==="alacritty"||rD.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var OFt={circleQuestionMark:"(?)",questionMarkPrefix:"(?)",square:"\u2588",squareDarkShade:"\u2593",squareMediumShade:"\u2592",squareLightShade:"\u2591",squareTop:"\u2580",squareBottom:"\u2584",squareLeft:"\u258C",squareRight:"\u2590",squareCenter:"\u25A0",bullet:"\u25CF",dot:"\u2024",ellipsis:"\u2026",pointerSmall:"\u203A",triangleUp:"\u25B2",triangleUpSmall:"\u25B4",triangleDown:"\u25BC",triangleDownSmall:"\u25BE",triangleLeftSmall:"\u25C2",triangleRightSmall:"\u25B8",home:"\u2302",heart:"\u2665",musicNote:"\u266A",musicNoteBeamed:"\u266B",arrowUp:"\u2191",arrowDown:"\u2193",arrowLeft:"\u2190",arrowRight:"\u2192",arrowLeftRight:"\u2194",arrowUpDown:"\u2195",almostEqual:"\u2248",notEqual:"\u2260",lessOrEqual:"\u2264",greaterOrEqual:"\u2265",identical:"\u2261",infinity:"\u221E",subscriptZero:"\u2080",subscriptOne:"\u2081",subscriptTwo:"\u2082",subscriptThree:"\u2083",subscriptFour:"\u2084",subscriptFive:"\u2085",subscriptSix:"\u2086",subscriptSeven:"\u2087",subscriptEight:"\u2088",subscriptNine:"\u2089",oneHalf:"\xBD",oneThird:"\u2153",oneQuarter:"\xBC",oneFifth:"\u2155",oneSixth:"\u2159",oneEighth:"\u215B",twoThirds:"\u2154",twoFifths:"\u2156",threeQuarters:"\xBE",threeFifths:"\u2157",threeEighths:"\u215C",fourFifths:"\u2158",fiveSixths:"\u215A",fiveEighths:"\u215D",sevenEighths:"\u215E",line:"\u2500",lineBold:"\u2501",lineDouble:"\u2550",lineDashed0:"\u2504",lineDashed1:"\u2505",lineDashed2:"\u2508",lineDashed3:"\u2509",lineDashed4:"\u254C",lineDashed5:"\u254D",lineDashed6:"\u2574",lineDashed7:"\u2576",lineDashed8:"\u2578",lineDashed9:"\u257A",lineDashed10:"\u257C",lineDashed11:"\u257E",lineDashed12:"\u2212",lineDashed13:"\u2013",lineDashed14:"\u2010",lineDashed15:"\u2043",lineVertical:"\u2502",lineVerticalBold:"\u2503",lineVerticalDouble:"\u2551",lineVerticalDashed0:"\u2506",lineVerticalDashed1:"\u2507",lineVerticalDashed2:"\u250A",lineVerticalDashed3:"\u250B",lineVerticalDashed4:"\u254E",lineVerticalDashed5:"\u254F",lineVerticalDashed6:"\u2575",lineVerticalDashed7:"\u2577",lineVerticalDashed8:"\u2579",lineVerticalDashed9:"\u257B",lineVerticalDashed10:"\u257D",lineVerticalDashed11:"\u257F",lineDownLeft:"\u2510",lineDownLeftArc:"\u256E",lineDownBoldLeftBold:"\u2513",lineDownBoldLeft:"\u2512",lineDownLeftBold:"\u2511",lineDownDoubleLeftDouble:"\u2557",lineDownDoubleLeft:"\u2556",lineDownLeftDouble:"\u2555",lineDownRight:"\u250C",lineDownRightArc:"\u256D",lineDownBoldRightBold:"\u250F",lineDownBoldRight:"\u250E",lineDownRightBold:"\u250D",lineDownDoubleRightDouble:"\u2554",lineDownDoubleRight:"\u2553",lineDownRightDouble:"\u2552",lineUpLeft:"\u2518",lineUpLeftArc:"\u256F",lineUpBoldLeftBold:"\u251B",lineUpBoldLeft:"\u251A",lineUpLeftBold:"\u2519",lineUpDoubleLeftDouble:"\u255D",lineUpDoubleLeft:"\u255C",lineUpLeftDouble:"\u255B",lineUpRight:"\u2514",lineUpRightArc:"\u2570",lineUpBoldRightBold:"\u2517",lineUpBoldRight:"\u2516",lineUpRightBold:"\u2515",lineUpDoubleRightDouble:"\u255A",lineUpDoubleRight:"\u2559",lineUpRightDouble:"\u2558",lineUpDownLeft:"\u2524",lineUpBoldDownBoldLeftBold:"\u252B",lineUpBoldDownBoldLeft:"\u2528",lineUpDownLeftBold:"\u2525",lineUpBoldDownLeftBold:"\u2529",lineUpDownBoldLeftBold:"\u252A",lineUpDownBoldLeft:"\u2527",lineUpBoldDownLeft:"\u2526",lineUpDoubleDownDoubleLeftDouble:"\u2563",lineUpDoubleDownDoubleLeft:"\u2562",lineUpDownLeftDouble:"\u2561",lineUpDownRight:"\u251C",lineUpBoldDownBoldRightBold:"\u2523",lineUpBoldDownBoldRight:"\u2520",lineUpDownRightBold:"\u251D",lineUpBoldDownRightBold:"\u2521",lineUpDownBoldRightBold:"\u2522",lineUpDownBoldRight:"\u251F",lineUpBoldDownRight:"\u251E",lineUpDoubleDownDoubleRightDouble:"\u2560",lineUpDoubleDownDoubleRight:"\u255F",lineUpDownRightDouble:"\u255E",lineDownLeftRight:"\u252C",lineDownBoldLeftBoldRightBold:"\u2533",lineDownLeftBoldRightBold:"\u252F",lineDownBoldLeftRight:"\u2530",lineDownBoldLeftBoldRight:"\u2531",lineDownBoldLeftRightBold:"\u2532",lineDownLeftRightBold:"\u252E",lineDownLeftBoldRight:"\u252D",lineDownDoubleLeftDoubleRightDouble:"\u2566",lineDownDoubleLeftRight:"\u2565",lineDownLeftDoubleRightDouble:"\u2564",lineUpLeftRight:"\u2534",lineUpBoldLeftBoldRightBold:"\u253B",lineUpLeftBoldRightBold:"\u2537",lineUpBoldLeftRight:"\u2538",lineUpBoldLeftBoldRight:"\u2539",lineUpBoldLeftRightBold:"\u253A",lineUpLeftRightBold:"\u2536",lineUpLeftBoldRight:"\u2535",lineUpDoubleLeftDoubleRightDouble:"\u2569",lineUpDoubleLeftRight:"\u2568",lineUpLeftDoubleRightDouble:"\u2567",lineUpDownLeftRight:"\u253C",lineUpBoldDownBoldLeftBoldRightBold:"\u254B",lineUpDownBoldLeftBoldRightBold:"\u2548",lineUpBoldDownLeftBoldRightBold:"\u2547",lineUpBoldDownBoldLeftRightBold:"\u254A",lineUpBoldDownBoldLeftBoldRight:"\u2549",lineUpBoldDownLeftRight:"\u2540",lineUpDownBoldLeftRight:"\u2541",lineUpDownLeftBoldRight:"\u253D",lineUpDownLeftRightBold:"\u253E",lineUpBoldDownBoldLeftRight:"\u2542",lineUpDownLeftBoldRightBold:"\u253F",lineUpBoldDownLeftBoldRight:"\u2543",lineUpBoldDownLeftRightBold:"\u2544",lineUpDownBoldLeftBoldRight:"\u2545",lineUpDownBoldLeftRightBold:"\u2546",lineUpDoubleDownDoubleLeftDoubleRightDouble:"\u256C",lineUpDoubleDownDoubleLeftRight:"\u256B",lineUpDownLeftDoubleRightDouble:"\u256A",lineCross:"\u2573",lineBackslash:"\u2572",lineSlash:"\u2571"},vFt={tick:"\u2714",info:"\u2139",warning:"\u26A0",cross:"\u2718",squareSmall:"\u25FB",squareSmallFilled:"\u25FC",circle:"\u25EF",circleFilled:"\u25C9",circleDotted:"\u25CC",circleDouble:"\u25CE",circleCircle:"\u24DE",circleCross:"\u24E7",circlePipe:"\u24BE",radioOn:"\u25C9",radioOff:"\u25EF",checkboxOn:"\u2612",checkboxOff:"\u2610",checkboxCircleOn:"\u24E7",checkboxCircleOff:"\u24BE",pointer:"\u276F",triangleUpOutline:"\u25B3",triangleLeft:"\u25C0",triangleRight:"\u25B6",lozenge:"\u25C6",lozengeOutline:"\u25C7",hamburger:"\u2630",smiley:"\u32E1",mustache:"\u0DF4",star:"\u2605",play:"\u25B6",nodejs:"\u2B22",oneSeventh:"\u2150",oneNinth:"\u2151",oneTenth:"\u2152"},oNr={tick:"\u221A",info:"i",warning:"\u203C",cross:"\xD7",squareSmall:"\u25A1",squareSmallFilled:"\u25A0",circle:"( )",circleFilled:"(*)",circleDotted:"( )",circleDouble:"( )",circleCircle:"(\u25CB)",circleCross:"(\xD7)",circlePipe:"(\u2502)",radioOn:"(*)",radioOff:"( )",checkboxOn:"[\xD7]",checkboxOff:"[ ]",checkboxCircleOn:"(\xD7)",checkboxCircleOff:"( )",pointer:">",triangleUpOutline:"\u2206",triangleLeft:"\u25C4",triangleRight:"\u25BA",lozenge:"\u2666",lozengeOutline:"\u25CA",hamburger:"\u2261",smiley:"\u263A",mustache:"\u250C\u2500\u2510",star:"\u2736",play:"\u25BA",nodejs:"\u2666",oneSeventh:"1/7",oneNinth:"1/9",oneTenth:"1/10"},RNr={...OFt,...vFt},uNr={...OFt,...oNr},lNr=sNr(),cNr=lNr?RNr:uNr,pM=cNr,soi=Object.entries(vFt);var YVt=Gs(Zpe(),1),cD=Gs(fA(),1);var c_=Gs(fA(),1);function CJr(e,t){return{value:e,key:t||{}}}function Um(e){let t=(0,c_.fromEvent)(e.input,"keypress",CJr).pipe((0,c_.takeUntil)((0,c_.fromEvent)(e,"close"))).pipe((0,c_.filter)(({key:r})=>r.name!=="enter"&&r.name!=="return"));return{line:(0,c_.fromEvent)(e,"line"),keypress:t,normalizedUpKey:t.pipe((0,c_.filter)(({key:r})=>r.name==="up"||r.name==="k"||r.name==="p"&&r.ctrl),(0,c_.share)()),normalizedDownKey:t.pipe((0,c_.filter)(({key:r})=>r.name==="down"||r.name==="j"||r.name==="n"&&r.ctrl),(0,c_.share)()),numberKey:t.pipe((0,c_.filter)(r=>r.value&&"123456789".includes(r.value)),(0,c_.map)(r=>Number(r.value)),(0,c_.share)()),spaceKey:t.pipe((0,c_.filter)(({key:r})=>r&&r.name==="space"),(0,c_.share)()),aKey:t.pipe((0,c_.filter)(({key:r})=>r&&r.name==="a"),(0,c_.share)()),iKey:t.pipe((0,c_.filter)(({key:r})=>r&&r.name==="i"),(0,c_.share)())}}var aKt=Gs(L3(),1),KE=class{constructor(t,r={}){let{isInfinite:n=!0}=r;this.lastIndex=0,this.screen=t,this.isInfinite=n}paginate(t,r,n){n||=7;let i=t.split(` +`);if(this.screen&&(i=this.screen.breakLines(i),r=i.map(R=>R.length).splice(0,r).reduce((R,l)=>R+l,0),i=i.flat()),i.length<=n)return t;let s=this.isInfinite?this.getInfiniteLines(i,r,n):this.getFiniteLines(i,r,n);return this.lastIndex=r,s.join(` +`)+` +`+aKt.default.dim("(Move up and down to reveal more choices)")}getInfiniteLines(t,r,n){this.pointer===void 0&&(this.pointer=0);let i=Math.floor(n/2);this.pointert.length&&(i=t.length-n),t.splice(i,n)}};function GN(e,t,r){let n=r.choices.realLength,i="loop"in r?!!r.loop:!0;if(t==="up")return e>0?e-1:i?n-1:e;if(t==="down")return en.type==="separator"?(n instanceof NC||(n=new NC(n.line)),n):new sie(n,r)),this.realChoices=this.choices.filter(NC.exclude).filter(n=>!n.disabled),Object.defineProperty(this,"length",{get(){return this.choices.length},set(n){this.choices.length=n}}),Object.defineProperty(this,"realLength",{get(){return this.realChoices.length},set(){throw new Error("Cannot set `realLength` of a Choices collection")}})}[Symbol.iterator](){let t=this.choices,r=-1;return{next:()=>({value:t[++r],done:!(r in t)})}}getChoice(t){return oKt(typeof t=="number"),this.realChoices[t]}get(t){return oKt(typeof t=="number"),this.choices[t]}where(t){let r;if(typeof t=="function")r=t;else{let[n,i]=Object.entries(t)[0];r=s=>s[n]===i}return this.realChoices.filter(r)}pluck(t){return this.realChoices.map(r=>r[t])}indexOf(...t){return this.choices.indexOf(...t)}forEach(...t){return this.choices.forEach(...t)}filter(...t){return this.choices.filter(...t)}reduce(...t){return this.choices.reduce(...t)}find(t){return this.choices.find(t)}some(t){return this.choices.some(t)}push(...t){let r=t.map(n=>new sie(n));return this.choices.push(...r),this.realChoices=this.choices.filter(NC.exclude).filter(n=>!n.disabled),this.choices}};var WVt=Gs(Xpe(),1),UVt=Gs(uKt(),1),FVt=Gs(QKt(),1),LVt=Gs(d_e(),1),zVt=Gs(ikt(),1),iyt=Gs(NVt(),1);var mie=Gs(Xpe(),1),rqe=function(e,t){e.output.write(mie.default.cursorBackward(t))},wVt=function(e,t){e.output.write(mie.default.cursorForward(t))},PVt=function(e,t){e.output.write(mie.default.cursorUp(t))},nyt=function(e,t){e.output.write(mie.default.cursorDown(t))},Q_e=function(e,t){e.output.write(mie.default.eraseLines(t))};function IVt(e){return e.split(` +`).length}function MVt(e){return e.split(` +`).pop()}var N_e=class{constructor(t){this.height=0,this.extraLinesUnderPrompt=0,this.rl=t}renderWithSpinner(t,r){this.spinnerId&&clearInterval(this.spinnerId);let n,i,s;r?(n=(0,iyt.default)(r),i=()=>t,s=()=>n.frame()):(n=(0,iyt.default)(t),i=()=>n.frame(),s=()=>""),this.spinnerId=setInterval(()=>this.render(i(),s(),!0),n.interval)}render(t,r,n=!1){this.spinnerId&&!n&&clearInterval(this.spinnerId),this.rl.output.unmute(),this.clean(this.extraLinesUnderPrompt);let i=MVt(t),s=(0,LVt.default)(i),R=s;this.rl.line.length>0&&(R=R.slice(0,-this.rl.line.length)),this.rl.setPrompt(R);let l=this.rl._getCursorPos(),c=this.normalizedCliWidth();t=this.forceLineReturn(t,c),r&&=this.forceLineReturn(r,c),s.length%c===0&&(t+=` +`);let h=t+(r?` +`+r:"");this.rl.output.write(h);let f=Math.floor(s.length/c)-l.rows+(r?IVt(r):0);f>0&&PVt(this.rl,f),rqe(this.rl,(0,zVt.default)(MVt(h))),l.cols>0&&wVt(this.rl,l.cols),this.extraLinesUnderPrompt=f,this.height=IVt(h),this.rl.output.mute()}clean(t){t>0&&nyt(this.rl,t),Q_e(this.rl,this.height)}done(){this.rl.setPrompt(""),this.rl.output.unmute(),this.rl.output.write(` +${WVt.default.cursorShow}`)}releaseCursor(){this.extraLinesUnderPrompt>0&&nyt(this.rl,this.extraLinesUnderPrompt)}normalizedCliWidth(){return(0,UVt.default)({defaultWidth:80,output:this.rl.output})}breakLines(t,r=this.normalizedCliWidth()){return t.map(n=>(0,FVt.default)(n,r,{trim:!1,hard:!0}).split(` +`))}forceLineReturn(t,r=this.normalizedCliWidth()){return this.breakLines(t.split(` +`),r).flat().join(` +`)}};var A2=class{constructor(t,r,n){Object.assign(this,{answers:n,status:"pending"}),this.opt={validate:()=>!0,validatingText:"",filter:i=>i,filteringText:"",when:()=>!0,suffix:"",prefix:DJ.default.green("?"),transformer:i=>i,...t},this.opt.name||this.throwParamError("name"),this.opt.message||=this.opt.name+":",Array.isArray(this.opt.choices)&&(this.opt.choices=new f_e(this.opt.choices,n)),this.rl=r,this.screen=new N_e(this.rl)}run(){return new Promise((t,r)=>{this._run(n=>t(n),n=>r(n))})}_run(t){t()}throwParamError(t){throw new Error("You must provide a `"+t+"` parameter")}close(){this.screen.releaseCursor()}handleSubmitEvents(t){let r=(0,ayt.default)(this.opt.validate),n=(0,ayt.default)(this.opt.filter),i=t.pipe((0,VE.mergeMap)(l=>(this.startSpinner(l,this.opt.filteringText),n(l,this.answers).then(c=>(this.startSpinner(c,this.opt.validatingText),r(c,this.answers).then(h=>({isValid:h,value:c}),h=>({isValid:h,value:c}))),c=>({isValid:c})))),(0,VE.share)()),s=i.pipe((0,VE.filter)(l=>l.isValid===!0),(0,VE.take)(1)),R=i.pipe((0,VE.filter)(l=>l.isValid!==!0),(0,VE.takeUntil)(s));return{success:s,error:R}}startSpinner(t,r){t=this.getSpinningValue(t);let n=r?this.getQuestion()+t:this.getQuestion().slice(this.opt.prefix.length+1)+t;this.screen.renderWithSpinner(n,r)}getSpinningValue(t){return t}getQuestion(){let t=(this.opt.prefix?this.opt.prefix+" ":"")+DJ.default.bold(this.opt.message)+this.opt.suffix+DJ.default.reset(" ");return this.opt.default!=null&&this.status!=="touched"&&this.status!=="answered"&&(t+=this.opt.type==="password"?DJ.default.italic(DJ.default.dim("[hidden] ")):DJ.default.dim("("+this.opt.default+") ")),t}};var w_e=class extends A2{constructor(t,r,n){super(t,r,n),this.opt.choices||this.throwParamError("choices"),this.firstRender=!0,this.selected=0;let i=this.opt.default;if(typeof i=="number"&&i>=0&&il===i);this.selected=Math.max(R,0)}this.opt.default=null;let s=this.opt.loop===void 0?!0:this.opt.loop;this.paginator=new KE(this.screen,{isInfinite:s})}_run(t){this.done=t;let r=Um(this.rl);return r.normalizedUpKey.pipe((0,cD.takeUntil)(r.line)).forEach(this.onUpKey.bind(this)),r.normalizedDownKey.pipe((0,cD.takeUntil)(r.line)).forEach(this.onDownKey.bind(this)),r.numberKey.pipe((0,cD.takeUntil)(r.line)).forEach(this.onNumberKey.bind(this)),r.line.pipe((0,cD.take)(1),(0,cD.map)(this.getCurrentValue.bind(this)),(0,cD.flatMap)(n=>(0,YVt.default)(this.opt.filter)(n,this.answers).catch(i=>i))).forEach(this.onSubmit.bind(this)),this.render(),this}render(){let t=this.getQuestion();if(this.firstRender&&(t+=nqe.default.dim("(Use arrow keys)")),this.status==="answered")t+=nqe.default.cyan(this.opt.choices.getChoice(this.selected).short);else{let r=Sen(this.opt.choices,this.selected),n=this.opt.choices.indexOf(this.opt.choices.getChoice(this.selected)),i=this.opt.choices.reduce((s,R,l)=>{if(l>n)return s;if(R.type==="separator")return s+1;let c=R.name;return typeof c!="string"?s+1:(c=c.split(` +`),s+c.length)},0)-1;t+=` +`+this.paginator.paginate(r,i,this.opt.pageSize)}t+=HVt.default.cursorHide,this.firstRender=!1,this.screen.render(t)}onSubmit(t){this.status="answered",this.render(),this.screen.done(),this.done(t)}getCurrentValue(){return this.opt.choices.getChoice(this.selected).value}onUpKey(){this.selected=GN(this.selected,"up",this.opt),this.render()}onDownKey(){this.selected=GN(this.selected,"down",this.opt),this.render()}onNumberKey(t){t<=this.opt.choices.realLength&&(this.selected=t-1),this.render()}};function Sen(e,t){let r="",n=0;return e.forEach((i,s)=>{if(i.type==="separator"){n++,r+=" "+i+` +`;return}if(i.disabled){n++,r+=" - "+i.name,r+=` (${typeof i.disabled=="string"?i.disabled:"Disabled"})`,r+=` +`;return}let R=s-n===t,l=(R?pM.pointer+" ":" ")+i.name;R&&(l=nqe.default.cyan(l)),r+=l+` +`}),r.replaceAll(/\n$/g,"")}var syt=Gs(L3(),1),iqe=Gs(fA(),1);var SJ=class extends A2{_run(t){this.done=t;let r=Um(this.rl),n=r.line.pipe((0,iqe.map)(this.filterInput.bind(this))),i=this.handleSubmitEvents(n);return i.success.forEach(this.onEnd.bind(this)),i.error.forEach(this.onError.bind(this)),r.keypress.pipe((0,iqe.takeUntil)(i.success)).forEach(this.onKeypress.bind(this)),this.render(),this}render(t){let r="",n="",i=this.getQuestion(),{transformer:s}=this.opt,R=this.status==="answered";n=R?this.answer:this.rl.line,s?i+=s(n,this.answers,{isFinal:R}):i+=R?syt.default.cyan(n):n,t&&(r=syt.default.red(">> ")+t),this.screen.render(i,r)}filterInput(t){return t||(this.opt.default==null?"":this.opt.default)}onEnd(t){this.answer=t.value,this.status="answered",this.render(),this.screen.done(),this.done(t.value)}onError({value:t="",isValid:r}){this.rl.line+=t,this.rl.cursor+=t.length,this.render(r)}onKeypress(){this.status="touched",this.render()}};var P_e=class extends SJ{filterInput(t){if(t&&typeof t=="string"){t=t.trim();let r=t.match(/(^-?\d+|^-?\d+\.\d*|^\d*\.\d+)(e\d+)?$/);if(r)return Number(r[0])}return this.opt.default==null?Number.NaN:this.opt.default}};var KVt=Gs(L3(),1),aqe=Gs(fA(),1);var B_e=class extends A2{constructor(t,r,n){super(t,r,n);let i=!0;Object.assign(this.opt,{filter(s){if(s!=null&&s!==""){if(/^y(es)?/i.test(s))return!0;if(/^n(o)?/i.test(s))return!1}return i}}),this.opt.default!=null&&(i=!!this.opt.default),this.opt.default=i?"Y/n":"y/N"}_run(t){this.done=t;let r=Um(this.rl);return r.keypress.pipe((0,aqe.takeUntil)(r.line)).forEach(this.onKeypress.bind(this)),r.line.pipe((0,aqe.take)(1)).forEach(this.onEnd.bind(this)),this.render(),this}render(t){let r=this.getQuestion();return typeof t=="boolean"?r+=KVt.default.cyan(t?"Yes":"No"):t?r+=t:r+=this.rl.line,this.screen.render(r),this}onEnd(t){this.status="answered";let r=this.opt.filter(t);this.opt.transformer&&(r=this.opt.transformer(r)),this.render(r),this.screen.done(),this.done(r)}onKeypress(){this.render()}};var sqe=Gs(L3(),1),kie=Gs(fA(),1);var I_e=class extends A2{constructor(t,r,n){super(t,r,n),this.hiddenLine="",this.lastKey="",this.opt.choices||this.throwParamError("choices"),this.opt.validChoices=this.opt.choices.filter(NC.exclude),this.selected=0,this.rawDefault=0,Object.assign(this.opt,{validate(R){return R!=null}});let i=this.opt.default;if(typeof i=="number"&&i>=0&&ic===i),l=Math.max(R,0);this.selected=l,this.rawDefault=l}this.opt.default=null;let s=this.opt.loop===void 0?!0:this.opt.loop;this.paginator=new KE(void 0,{isInfinite:s})}_run(t){this.done=t;let r=Um(this.rl),n=r.line.pipe((0,kie.map)(this.getCurrentValue.bind(this))),i=this.handleSubmitEvents(n);return i.success.forEach(this.onEnd.bind(this)),i.error.forEach(this.onError.bind(this)),r.normalizedUpKey.pipe((0,kie.takeUntil)(i.success)).forEach(this.onUpKey.bind(this)),r.normalizedDownKey.pipe((0,kie.takeUntil)(i.success)).forEach(this.onDownKey.bind(this)),r.keypress.pipe((0,kie.takeUntil)(i.success)).forEach(this.onKeypress.bind(this)),this.render(),this}render(t){let r=this.getQuestion(),n="";if(this.status==="answered")r+=sqe.default.cyan(this.opt.choices.getChoice(this.selected).short);else{let i=$en(this.opt.choices,this.selected);r+=` +`+this.paginator.paginate(i,this.selected,this.opt.pageSize),r+=` + Answer: `}r+=this.rl.line,t&&(n=` +`+sqe.default.red(">> ")+t),this.screen.render(r,n)}getCurrentValue(t){t==null?t=this.rawDefault:t===""?(this.selected=this.selected===void 0?-1:this.selected,t=this.selected):t-=1;let r=this.opt.choices.getChoice(t);return r?r.value:null}onEnd(t){this.status="answered",this.answer=t.value,this.render(),this.screen.done(),this.done(t.value)}onError(){this.render("Please enter a valid index")}onKeypress(){let t;this.lastKey==="arrow"?t=this.hiddenLine.length>0?Number(this.hiddenLine)-1:0:t=this.rl.line.length>0?Number(this.rl.line)-1:0,this.lastKey="",this.selected=this.opt.choices.getChoice(t)?t:void 0,this.render()}onUpKey(){this.onArrowKey("up")}onDownKey(){this.onArrowKey("down")}onArrowKey(t){this.selected=GN(this.selected,t,this.opt)||0,this.hiddenLine=String(this.selected+1),this.rl.line="",this.lastKey="arrow"}};function $en(e,t){let r="",n=0;return e.forEach((i,s)=>{if(r+=r?` + `:" ",i.type==="separator"){n++,r+=" "+i;return}let R=s-n,l=R+1+") "+i.name;R===t&&(l=sqe.default.cyan(l)),r+=l}),r}var yie=Gs(L3(),1),oqe=Gs(fA(),1);var M_e=class extends A2{constructor(t,r,n){super(t,r,n),this.opt.choices||this.throwParamError("choices"),this.validateChoices(this.opt.choices),this.opt.choices.push({key:"h",name:"Help, list all options",value:"help"}),this.opt.validate=i=>i==null?"Please enter a valid command":i!=="help",this.opt.default=this.generateChoicesString(this.opt.choices,this.opt.default),this.paginator=new KE(this.screen)}_run(t){this.done=t;let r=Um(this.rl),n=this.handleSubmitEvents(r.line.pipe((0,oqe.map)(this.getCurrentValue.bind(this))));return n.success.forEach(this.onSubmit.bind(this)),n.error.forEach(this.onError.bind(this)),this.keypressObs=r.keypress.pipe((0,oqe.takeUntil)(n.success)).forEach(this.onKeypress.bind(this)),this.render(),this}render(t,r){let n=this.getQuestion(),i="";if(this.status==="answered")n+=yie.default.cyan(this.answer);else if(this.status==="expanded"){let s=Qen(this.opt.choices,this.selectedKey);n+=this.paginator.paginate(s,this.selectedKey,this.opt.pageSize),n+=` + Answer: `}n+=this.rl.line,t&&(i=yie.default.red(">> ")+t),r&&(i=yie.default.cyan(">> ")+r),this.screen.render(n,i)}getCurrentValue(t){t||=this.rawDefault;let r=this.opt.choices.where({key:t.toLowerCase().trim()})[0];return r?r.value:null}getChoices(){let t="";return this.opt.choices.forEach(r=>{if(t+=` + `,r.type==="separator"){t+=" "+r;return}let n=r.key+") "+r.name;this.selectedKey===r.key&&(n=yie.default.cyan(n)),t+=n}),t}onError(t){if(t.value==="help"){this.selectedKey="",this.status="expanded",this.render();return}this.render(t.isValid)}onSubmit(t){this.status="answered";let r=this.opt.choices.where({value:t.value})[0];this.answer=r.short||r.name,this.render(),this.screen.done(),this.done(t.value)}onKeypress(){this.selectedKey=this.rl.line.toLowerCase();let t=this.opt.choices.where({key:this.selectedKey})[0];this.status==="expanded"?this.render():this.render(null,t?t.name:null)}validateChoices(t){let r,n=[],i={};if(t.filter(NC.exclude).forEach(s=>{(!s.key||s.key.length!==1)&&(r=!0),s.key=String(s.key).toLowerCase(),i[s.key]&&n.push(s.key),i[s.key]=!0}),r)throw new Error("Format error: `key` param must be a single letter and is required.");if(i.h)throw new Error("Reserved key error: `key` param cannot be `h` - this value is reserved.");if(n.length>0)throw new Error("Duplicate key error: `key` param must be unique. Duplicates: "+[...new Set(n)].join(","))}generateChoicesString(t,r){let n=t.realLength-1;if(typeof r=="number"&&this.opt.choices.getChoice(r))n=r;else if(typeof r=="string"){let s=t.realChoices.findIndex(({value:R})=>R===r);n=s===-1?n:s}let i=this.opt.choices.pluck("key");return this.rawDefault=i[n],i[n]=String(i[n]).toUpperCase(),i.join("")}};function Qen(e,t){let r="";return e.forEach(n=>{if(r+=` + `,n.type==="separator"){r+=" "+n;return}let i=n.key+") "+n.name;t===n.key&&(i=yie.default.cyan(i)),r+=i}),r}var GVt=Gs(Xpe(),1),dA=Gs(L3(),1);var jN=Gs(fA(),1);var W_e=class extends A2{constructor(t,r,n){if(super(t,r,n),this.opt.choices||this.throwParamError("choices"),Array.isArray(this.opt.default))for(let s of this.opt.choices)this.opt.default.includes(s.value)&&(s.checked=!0);this.pointer=0,this.opt.default=null;let i=this.opt.loop===void 0?!0:this.opt.loop;this.paginator=new KE(this.screen,{isInfinite:i})}_run(t){this.done=t;let r=Um(this.rl),n=this.handleSubmitEvents(r.line.pipe((0,jN.map)(this.getCurrentValue.bind(this))));return n.success.forEach(this.onEnd.bind(this)),n.error.forEach(this.onError.bind(this)),r.normalizedUpKey.pipe((0,jN.takeUntil)(n.success)).forEach(this.onUpKey.bind(this)),r.normalizedDownKey.pipe((0,jN.takeUntil)(n.success)).forEach(this.onDownKey.bind(this)),r.numberKey.pipe((0,jN.takeUntil)(n.success)).forEach(this.onNumberKey.bind(this)),r.spaceKey.pipe((0,jN.takeUntil)(n.success)).forEach(this.onSpaceKey.bind(this)),r.aKey.pipe((0,jN.takeUntil)(n.success)).forEach(this.onAllKey.bind(this)),r.iKey.pipe((0,jN.takeUntil)(n.success)).forEach(this.onInverseKey.bind(this)),this.render(),this.firstRender=!1,this}render(t){let r=this.getQuestion(),n="";if(this.dontShowHints||(r+="(Press "+dA.default.cyan(dA.default.bold(""))+" to select, "+dA.default.cyan(dA.default.bold(""))+" to toggle all, "+dA.default.cyan(dA.default.bold(""))+" to invert selection, and "+dA.default.cyan(dA.default.bold(""))+" to proceed)"),this.status==="answered")r+=dA.default.cyan(this.selection.join(", "));else{let i=Nen(this.opt.choices,this.pointer),s=this.opt.choices.indexOf(this.opt.choices.getChoice(this.pointer)),R=this.opt.choices.reduce((l,c,h)=>{if(h>s)return l;if(c.type==="separator")return l+1;let _=c.name;return typeof _!="string"?l+1:(_=_.split(` +`),l+_.length)},0)-1;r+=` +`+this.paginator.paginate(i,R,this.opt.pageSize)}t&&(n=dA.default.red(">> ")+t),r+=GVt.default.cursorHide,this.screen.render(r,n)}onEnd(t){this.status="answered",this.dontShowHints=!0,this.render(),this.screen.done(),this.done(t.value)}onError(t){this.render(t.isValid)}getCurrentValue(){let t=this.opt.choices.filter(r=>!!r.checked&&!r.disabled);return this.selection=t.map(r=>r.short),t.map(r=>r.value)}onUpKey(){this.pointer=GN(this.pointer,"up",this.opt),this.render()}onDownKey(){this.pointer=GN(this.pointer,"down",this.opt),this.render()}onNumberKey(t){t<=this.opt.choices.realLength&&(this.pointer=t-1,this.toggleChoice(this.pointer)),this.render()}onSpaceKey(){this.toggleChoice(this.pointer),this.render()}onAllKey(){let t=this.opt.choices.some(r=>r.type!=="separator"&&!r.checked);this.opt.choices.forEach(r=>{r.type!=="separator"&&(r.checked=t)}),this.render()}onInverseKey(){this.opt.choices.forEach(t=>{t.type!=="separator"&&(t.checked=!t.checked)}),this.render()}toggleChoice(t){let r=this.opt.choices.getChoice(t);r!==void 0&&(this.opt.choices.getChoice(t).checked=!r.checked)}};function Nen(e,t){let r="",n=0;return e.forEach((i,s)=>{if(i.type==="separator"){n++,r+=" "+i+` +`;return}if(i.disabled)n++,r+=" - "+i.name,r+=` (${typeof i.disabled=="string"?i.disabled:"Disabled"})`;else{let R=wen(i.checked)+" "+i.name;r+=s-n===t?dA.default.cyan(pM.pointer+R):" "+R}r+=` +`}),r.replaceAll(/\n$/g,"")}function wen(e){return e?dA.default.green(pM.radioOn):pM.radioOff}var $J=Gs(L3(),1),Rqe=Gs(fA(),1);function VVt(e,t){return e=String(e),t=typeof t=="string"?t:"*",e.length===0?"":Array.from({length:e.length+1}).join(t)}var U_e=class extends A2{_run(t){this.done=t;let r=Um(this.rl),n=r.line.pipe((0,Rqe.map)(this.filterInput.bind(this))),i=this.handleSubmitEvents(n);return i.success.forEach(this.onEnd.bind(this)),i.error.forEach(this.onError.bind(this)),r.keypress.pipe((0,Rqe.takeUntil)(i.success)).forEach(this.onKeypress.bind(this)),this.render(),this}render(t){let r=this.getQuestion(),n="";r+=this.status==="answered"?this.getMaskedValue(this.answer):this.getMaskedValue(this.rl.line||""),t&&(n=` +`+$J.default.red(">> ")+t),this.screen.render(r,n)}getMaskedValue(t){return this.status==="answered"?this.opt.mask?$J.default.cyan(VVt(t,this.opt.mask)):$J.default.italic($J.default.dim("[hidden]")):this.opt.mask?VVt(t,this.opt.mask):$J.default.italic($J.default.dim("[input is hidden] "))}getSpinningValue(t){return this.getMaskedValue(t)}filterInput(t){return t||(this.opt.default==null?"":this.opt.default)}onEnd(t){this.status="answered",this.answer=t.value,this.render(),this.screen.done(),this.done(t.value)}onError(t){this.render(t.isValid)}onKeypress(){this.opt.default&&=void 0,this.render()}};var Eqe=Gs(L3(),1),qJt=Gs(yJt(),1),CJt=Gs(fA(),1);var J_e=class extends A2{_run(t){this.done=t,this.editorResult=new CJt.Subject;let r=Um(this.rl);this.lineSubscription=r.line.subscribe(this.startExternalEditor.bind(this));let n=this.opt.waitUserInput===void 0?!0:this.opt.waitUserInput,i=this.handleSubmitEvents(this.editorResult);return i.success.forEach(this.onEnd.bind(this)),i.error.forEach(this.onError.bind(this)),this.currentText=this.opt.default,this.opt.default=null,n?this.render():this.startExternalEditor(),this}render(t){let r="",n=this.getQuestion();n+=this.status==="answered"?Eqe.default.dim("Received"):Eqe.default.dim("Press to launch your preferred editor."),t&&(r=Eqe.default.red(">> ")+t),this.screen.render(n,r)}startExternalEditor(){this.rl.pause(),(0,qJt.editAsync)(this.currentText,this.endExternalEditor.bind(this),{postfix:this.opt.postfix??".txt"})}endExternalEditor(t,r){this.rl.resume(),t?this.editorResult.error(t):this.editorResult.next(r)}onEnd(t){this.editorResult.unsubscribe(),this.lineSubscription.unsubscribe(),this.answer=t.value,this.status="answered",this.render(),this.screen.done(),this.done(this.answer)}onError(t){this.render(t.isValid)}};import{Writable as btn}from"node:stream";var bJt=Gs(gJt(),1);import Atn from"node:readline";var WJ=class{constructor(t){this.rl||=Atn.createInterface(gtn(t)),this.rl.resume(),this.onForceClose=this.onForceClose.bind(this),process.on("exit",this.onForceClose),this.rl.on("SIGINT",this.onForceClose)}onForceClose(){this.close(),process.kill(process.pid,"SIGINT"),console.log("")}close(){this.rl.removeListener("SIGINT",this.onForceClose),process.removeListener("exit",this.onForceClose),this.rl.output.unmute(),this.activePrompt&&typeof this.activePrompt.close=="function"&&this.activePrompt.close(),this.rl.output.end(),this.rl.pause(),this.rl.close()}};function gtn(e={}){e.skipTTYChecks=e.skipTTYChecks===void 0?!0:e.skipTTYChecks;let t=e.input||process.stdin;if(!e.skipTTYChecks&&!t.isTTY){let i=new Error("Prompts can not be meaningfully rendered in non-TTY environments");throw i.isTtyError=!0,i}let r=new bJt.default;return r.pipe(e.output||process.stdout),{terminal:!0,...e,input:t,output:r}}var X_e=class extends WJ{constructor(t={}){super(t),this.log=new btn({write:(r,n,i)=>{this.writeLog(r),i()}}),this.bottomBar=t.bottomBar||"",this.render()}render(){return this.write(this.bottomBar),this}clean(){return Q_e(this.rl,this.bottomBar.split(` +`).length),this}updateBottomBar(t){return Q_e(this.rl,1),this.rl.output.unmute(),this.clean(),this.bottomBar=t,this.render(),this.rl.output.mute(),this}writeLog(t){return this.rl.output.unmute(),this.clean(),this.rl.output.write(this.enforceLF(t.toString())),this.render(),this.rl.output.mute(),this}enforceLF(t){return/[\n\r]$/.test(t)?t:t+` +`}write(t){let r=t.split(/\n/);this.height=r.length,this.rl.setPrompt(r.at(-1)),this.rl.output.rows===0&&this.rl.output.columns===0&&rqe(this.rl,t.length+this.rl.line.length),this.rl.output.write(t)}};var wu=Gs(fA(),1),vJt=Gs(Zpe(),1);var Oqe=Gs(fA(),1),EJt=Gs(Zpe(),1),vqe=function(e,t,r){return typeof e[t]!="function"?(0,Oqe.of)(e):(0,Oqe.from)((0,EJt.default)(e[t])(r).then(n=>(e[t]=n,e)))};var OJt={set:(e,t="",r)=>{let n=e;t.split(".").forEach((i,s,R)=>{i==="__proto__"||i==="constructor"||(s===R.length-1?n[i]=r:(!(i in n)||typeof n[i]!="object")&&(n[i]={}),n=n[i])})},get:(e,t="",r)=>{let n=s=>String.prototype.split.call(t,s).filter(Boolean).reduce((R,l)=>R!=null?R[l]:R,e),i=n(/[,[\]]+?/)||n(/[,.[\]]+?/);return i===void 0||i===e?r:i}},Sie=class extends WJ{constructor(t,r){super(r),this.prompts=t}run(t,r){this.answers=typeof r=="object"?{...r}:{};let n;return Array.isArray(t)?n=(0,wu.from)(t):(0,wu.isObservable)(t)?n=t:Object.values(t).every(i=>typeof i=="object"&&!Array.isArray(i)&&i!=null)?n=(0,wu.from)(Object.entries(t).map(([i,s])=>({name:i,...s}))):n=(0,wu.from)([t]),this.process=n.pipe((0,wu.concatMap)(this.processQuestion.bind(this)),(0,wu.publish)()),this.process.connect(),this.process.pipe((0,wu.reduce)((i,s)=>(OJt.set(i,s.name,s.answer),i),this.answers)).toPromise(Promise).then(this.onCompletion.bind(this),this.onError.bind(this))}onCompletion(){return this.close(),this.answers}onError(t){return this.close(),Promise.reject(t)}processQuestion(t){return t={...t},(0,wu.defer)(()=>(0,wu.of)(t).pipe((0,wu.concatMap)(this.setDefaultType.bind(this)),(0,wu.concatMap)(this.filterIfRunnable.bind(this)),(0,wu.concatMap)(()=>vqe(t,"message",this.answers)),(0,wu.concatMap)(()=>vqe(t,"default",this.answers)),(0,wu.concatMap)(()=>vqe(t,"choices",this.answers)),(0,wu.concatMap)(this.fetchAnswer.bind(this))))}fetchAnswer(t){let r=this.prompts[t.type];return this.activePrompt=new r(t,this.rl,this.answers),(0,wu.defer)(()=>(0,wu.from)(this.activePrompt.run().then(n=>({name:t.name,answer:n}))))}setDefaultType(t){return this.prompts[t.type]||(t.type="input"),(0,wu.defer)(()=>(0,wu.of)(t))}filterIfRunnable(t){if(t.askAnswered!==!0&&OJt.get(this.answers,t.name)!==void 0)return wu.EMPTY;if(t.when===!1)return wu.EMPTY;if(typeof t.when!="function")return(0,wu.of)(t);let{answers:r}=this;return(0,wu.defer)(()=>(0,wu.from)((0,vJt.default)(t.when)(r).then(n=>{if(n)return t})).pipe((0,wu.filter)(n=>n!=null)))}};function DJt(e){let t=function(r,n){let i;try{i=new Sie(t.prompts,e)}catch(R){return Promise.reject(R)}let s=i.run(r,n);return s.ui=i,s};return t.prompts={},t.registerPrompt=function(r,n){return t.prompts[r]=n,this},t.restoreDefaultPrompts=function(){this.registerPrompt("list",w_e),this.registerPrompt("input",SJ),this.registerPrompt("number",P_e),this.registerPrompt("confirm",B_e),this.registerPrompt("rawlist",I_e),this.registerPrompt("expand",M_e),this.registerPrompt("checkbox",W_e),this.registerPrompt("password",U_e),this.registerPrompt("editor",J_e)},t.restoreDefaultPrompts(),t}var jyt=DJt();function Otn(e,t){jyt.registerPrompt(e,t)}function vtn(){jyt.restoreDefaultPrompts()}var Dtn={prompt:jyt,ui:{BottomBar:X_e,Prompt:Sie},createPromptModule:DJt,registerPrompt:Otn,restoreDefaultPrompts:vtn,Separator:NC},SJt=Dtn;var Yxr=Gs(P7t(),1),Kxr=Gs(W7t(),1);var iLn=Object.defineProperty,Xfr=(e=>typeof Li<"u"?Li:typeof Proxy<"u"?new Proxy(e,{get:(t,r)=>(typeof Li<"u"?Li:t)[r]}):e)(function(e){if(typeof Li<"u")return Li.apply(this,arguments);throw new Error('Dynamic require of "'+e+'" is not supported')}),aLn=(e,t)=>{for(var r in t)iLn(e,r,{get:t[r],enumerable:!0})},Wdr={};aLn(Wdr,{astGrepNodeContext:()=>_gt,cwdContext:()=>aU,describeContext:()=>hxr,fileContext:()=>pxe,getAstGrepNodeContext:()=>Ag,getContextsSnapshot:()=>XGn,getCwdContext:()=>CO,getDescribeContext:()=>eVn,getFileContext:()=>xy,getGitContext:()=>fgt,getParentContext:()=>jGn,getParentCwdContext:()=>dxr,getRepositoriesContext:()=>ZGn,getRepositoryContext:()=>xxr,gitContext:()=>pgt,migrateContext:()=>JGn,parentContextLegacy:()=>_xr,parentCwdContext:()=>hgt,registerContext:()=>oS,repositoriesContext:()=>fxr,repositoryContext:()=>soe});var Udr=class{_context;constructor(e){this._context=e}set(e,t){this._context[e]=t}get(e){return this._context[e]}},Fdr=class extends Udr{get simpleGit(){return Dv(CO().cwd)}async checkout({branch:e,force:t}){try{await this.simpleGit.checkout(e)}catch(r){if(t)await this.simpleGit.checkout(["-b",e]);else throw r}}},sLn=typeof global=="object"&&global&&global.Object===Object&&global,Ldr=sLn,oLn=typeof self=="object"&&self&&self.Object===Object&&self,RLn=Ldr||oLn||Function("return this")(),Gw=RLn,uLn=Gw.Symbol,iS=uLn,zdr=Object.prototype,lLn=zdr.hasOwnProperty,cLn=zdr.toString,rxe=iS?iS.toStringTag:void 0;function TLn(e){var t=lLn.call(e,rxe),r=e[rxe];try{e[rxe]=void 0;var n=!0}catch{}var i=cLn.call(e);return n&&(t?e[rxe]=r:delete e[rxe]),i}var pLn=TLn,_Ln=Object.prototype,hLn=_Ln.toString;function fLn(e){return hLn.call(e)}var dLn=fLn,xLn="[object Null]",mLn="[object Undefined]",Zfr=iS?iS.toStringTag:void 0;function kLn(e){return e==null?e===void 0?mLn:xLn:Zfr&&Zfr in Object(e)?pLn(e):dLn(e)}var eoe=kLn;function yLn(e){return e!=null&&typeof e=="object"}var Vse=yLn,qLn="[object Symbol]";function CLn(e){return typeof e=="symbol"||Vse(e)&&eoe(e)==qLn}var ngt=CLn;function ALn(e,t){for(var r=-1,n=e==null?0:e.length,i=Array(n);++r-1&&e%1==0&&e-1&&e%1==0&&e<=Tzn}var sgt=pzn;function _zn(e){return e!=null&&sgt(e.length)&&!Kdr(e)}var Vdr=_zn,hzn=Object.prototype;function fzn(e){var t=e&&e.constructor,r=typeof t=="function"&&t.prototype||hzn;return e===r}var jdr=fzn;function dzn(e,t){for(var r=-1,n=Array(e);++r-1}var tYn=eYn;function rYn(e,t){var r=this.__data__,n=jAe(r,e);return n<0?(++this.size,r.push([e,t])):r[n][1]=t,this}var nYn=rYn;function roe(e){var t=-1,r=e==null?0:e.length;for(this.clear();++t0&&r(l)?t>1?nxr(l,t-1,r,n,i):Tgt(i,l):n||(i[i.length]=l)}return i}var BYn=nxr,IYn=rxr(Object.getPrototypeOf,Object),MYn=IYn;function WYn(){this.__data__=new JAe,this.size=0}var UYn=WYn;function FYn(e){var t=this.__data__,r=t.delete(e);return this.size=t.size,r}var LYn=FYn;function zYn(e){return this.__data__.get(e)}var HYn=zYn;function YYn(e){return this.__data__.has(e)}var KYn=YYn,GYn=200;function VYn(e,t){var r=this.__data__;if(r instanceof JAe){var n=r.__data__;if(!Rxe||n.lengthl))return!1;var h=s.get(e),_=s.get(t);if(h&&_)return h==t&&_==e;var f=-1,m=!0,x=r&SKn?new gKn:void 0;for(s.set(e,t),s.set(t,e);++fnxe.default.blue_bt(e),green:e=>nxe.default.green(e),red:e=>nxe.default.red(e),yellow:e=>nxe.default.yellow(e)},aoe=e=>(console.info(`${a5.blueBright("RUN ")} ${e}`),{success:t=>console.info(`${a5.green("SUCC")} ${e}${t?` + ${t.split(` +`).map(r=>` + ${r}`).join("").trim()}`:""}`),fail:t=>console.error(`${a5.red("ERR ")} ${e} - ${t}`),warn:t=>console.warn(`${a5.yellow("WARN")} ${e} - ${t}`)}),Xse=(e,t=/[\n,; ]/)=>typeof e=="string"?e.split(t).map(r=>r.trim()).filter(K3t):FGn(e.map(r=>r.split(/[\n, ;]/).map(n=>n.trim()))).filter(K3t),egt=e=>e(),pxr=new Map,oS=(e,t)=>(pxr.set(e,t),t),_xr=new sS,jGn=()=>_xr.getStore()??egt,pgt=oS("git",new sS),_gt=oS("astGrepNodeContext",new sS),hxr=oS("describeContext",new sS),JGn=oS("migrateContext",new sS),aU=oS("cwdContext",new sS),hgt=oS("parentCwdContext",new sS),pxe=oS("fileContext",new sS),soe=oS("repositoryContext",new sS),fxr=oS("repositoriesContext",new sS),XGn=()=>[...pxr.entries()].map(([e,t])=>[e,t.getStore()]).filter(([,e])=>typeof e<"u"),Ag=()=>{let e=_gt.getStore();return(0,Zse.invariant)(e,"No ast-grep node context found"),e},CO=()=>aU.getStore()??{cwd:process.cwd()},dxr=()=>hgt.getStore()??{cwd:process.cwd()},xy=()=>{let e=pxe.getStore();return(0,Zse.invariant)(e,"No file context found"),e},fgt=()=>pgt.getStore()||new Fdr({repository:"",id:""}),xxr=()=>{let e=soe.getStore();return(0,Zse.invariant)(e,"No repository context found"),e},ZGn=()=>{let e=fxr.getStore();return(0,Zse.invariant)(e,"No repositories context found"),e},eVn=()=>{let e=hxr.getStore();return(0,Zse.invariant)(e,"No describe context found"),e},YAe=class extends Promise{#e;#t;constructor(e){super(t=>{t()}),this.#e=e}static from(e){return new YAe(t=>{t(e())})}static resolve(e){return new YAe(t=>{t(e)})}static reject(e){return new YAe((t,r)=>{r(e)})}then(e,t){return this.#t??=new Promise(this.#e),this.#t.then(e,t)}catch(e){return this.#t=this.#t||new Promise(this.#e),this.#t.catch(e)}};function rVn(e){let t=tVn("sha1");return t.update(JSON.stringify(e)),t.digest("hex")}var nVn=class{name;hash;arguments;children;constructor(e,t,r){this.name=e,this.arguments=r.map(n=>String(n)),this.hash=rVn({name:e,fn:t.toString(),args:r}),this.children=[]}},mxr=new dgt,KAe=new dgt,H3t=new dgt,kxr={children:[]},iVn=()=>kxr;function iT(e,t){return(...r)=>{let n=KAe.getStore(),i=new nVn(e,t.toString(),r);return n?n.children.push(i):kxr.children.push(i),mxr.run(i,t,...r)}}var aT=class{constructor(e){this.name=e,this._context=mxr.getStore(),this._parentWrapper=H3t.getStore()??egt}_init;_helpers;_return;_context;_copyHelpersToPromise=!0;_executor;_parentWrapper;_callback;_arguments;_done;parentArgs=[];childArgs=[];initiated=!1;setParentArgs(...e){return this.parentArgs=e,this}getChildArgs(){return this.childArgs}getChildArg(e){return this.childArgs.find(t=>typeof t[e]<"u")?.[e]}doNotCopyHelpersToPromise(){return this._copyHelpersToPromise=!1,this}init(e){return e&&(this._init=Jse(e)),this}done(e){return this._done=e,this}arguments(e){return this._arguments=e,this}getArguments(){return this._arguments?.(this)}helpers(e){return this._helpers=e,this}callback(e){return this._callback=e,this}wrappedHelpers(){return Z3t(typeof this._helpers=="function"?this._helpers(this):this._helpers,e=>(...t)=>KAe.run(this._context,()=>H3t.run(this.context(),()=>e(...t))))}wrapHelpers(e){return Z3t(e,t=>(...r)=>KAe.run(this._context,()=>H3t.run(this.context(),()=>t(...r))))}context(){return(e,...t)=>(this.childArgs=t,this._parentWrapper(()=>(this._executor??egt)(async()=>(this._init&&!this.initiated&&(this.initiated=!0,await this._init(this)),this._callback&&await KAe.run(this._context,this._callback,this),e?.()),this),...this.parentArgs))}return(e){return this._return=e,this}executor(e){return this._executor=e,this}run(){let e=new YAe((t,r)=>{(async()=>{let n,i=!1;return await this.context()(async()=>{n=await this._return?.(this),i=!0}),i||(n=await this._return?.(this)),n})().then(t).catch(r)});if(this._copyHelpersToPromise){let t=this.wrappedHelpers();for(let r in t)e[r]=t[r]}return e}},uxe=(e,t,r={})=>{let n=r.cwd??process.cwd();return qxr.existsSync(n)?new Promise((i,s)=>{let{doNotThrowError:R,printOutput:l,printNewline:c,watch:h,doNotKill:_,filterEnv:f,...m}=r,x=VGn({...process.env,...m?.env,FORCE_COLOR:""},(w,F)=>f?.(F,w)??!0),y=yxr.spawn(e,t,{...m,cwd:n,env:x}),A=y.pid,D=[],S=[],P,M=!1,U=_?()=>{M=!0,(0,GAe.default)(A,"SIGKILL"),y.stdin.end(),y.stdout.destroy(),y.stderr.destroy()}:tzn;y.stdout.on("data",w=>{let F=w.toString();if(S.push(F),F.includes("Proceed")&&y.stdin.write(`y +`),h&&F.includes(h)){_||(M=!0,(0,GAe.default)(A,"SIGKILL"),y.stdin.end(),y.stdout.destroy(),y.stderr.destroy()),i({stdout:S,stderr:D,error:P,kill:U});return}M||(l&&process.stdout.write(F),c&&y.stdin.write(` +`))}),y.stderr.on("data",w=>{let F=w.toString();if(D.push(F),h&&F.includes(h)){_||(M=!0,(0,GAe.default)(A,"SIGKILL"),y.stdin.end(),y.stdout.destroy(),y.stderr.destroy()),i({stdout:S,stderr:D,error:P,kill:U});return}M||(l&&process.stdout.write(F),c&&y.stdin.write(` +`))}),y.on("error",w=>{P=w}),y.on("close",w=>{if(!R){if(P){s(new Error(`Failed to execute command "${e} ${t.join(" ")}" with error ${P.toString()}`));return}if(w){console.error(S.join(` +`)),console.error(D.join(` +`)),s(new Error(`Failed to execute command "${e} ${t.join(" ")}" with code ${w}`));return}}i({stdout:S,stderr:D,error:P,kill:U})})}):Promise.reject(new Error(`Provided directory: ${n} does not exist`))};function aVn(e,t){return new aT("exec").arguments(()=>({command:e,args:t})).helpers(sVn).executor(async(r,n)=>{let{cwd:i}=CO(),{command:s,args:R}=n.getArguments();console.log(`${a5.blueBright(`${s} ${R?.join(" ")??""}`)} ${i}`),await uxe(s,R??[],{cwd:i,doNotThrowError:!0}),await r?.()}).return(r=>r.wrappedHelpers()).run()}var ooe=iT("exec",aVn),sVn={exec:ooe,codemod:Roe};function oVn(e,t){return new aT("codemod").arguments(()=>({name:e,args:t})).helpers(RVn).executor(async(r,n)=>{let{cwd:i}=CO(),s=Object.entries(n.getArguments().args??{}).reduce((R,[l,c])=>(Array.isArray(c)?c.forEach(h=>R.push(`--${l}=${h}`)):R.push(`--${l}=${c}`),R),["--no-interactive"]);console.log(`${a5.blueBright(`codemod ${e} ${s.join(" ")}`)} ${i}`),await uxe("npx",["codemod@latest",e,...s],{cwd:i,doNotThrowError:!0,printOutput:!0}),await r?.()}).return(r=>r.wrappedHelpers()).run()}var Roe=iT("codemod",oVn),RVn={codemod:Roe,exec:ooe},lVn=new Map([["ts","typescript"],["tsx","typescript"],["js","babel"],["jsx","babel"],["json","json"],["json5","json5"],["jsonc","json"],["css","css"],["scss","scss"],["less","less"],["graphql","graphql"],["md","markdown"],["mdx","mdx"],["html","html"],["vue","vue"],["yaml","yaml"],["yml","yaml"]]),cVn={tabWidth:4,useTabs:!0,semi:!0,singleQuote:!0,quoteProps:"as-needed",trailingComma:"all",bracketSpacing:!0,arrowParens:"always",endOfLine:"lf",parser:"typescript"},TVn=async e=>{let{resolveConfig:t}=await Promise.resolve().then(()=>(U3t(),W3t)),r=await t(e,{editorconfig:!1});(r===null||Object.keys(r).length===0)&&(r=cVn);let n=lVn.get(uVn(e).slice(1))??"typescript";return{...r,parser:n}},pVn=async(e,t)=>{let r=t.replace(/\/\*\* \*\*\//gm,"");try{let{format:n}=await Promise.resolve().then(()=>(U3t(),W3t)),i=await TVn(e);return await n(r,i)}catch{return r}},_Vn=e=>({j:e?ixe.default.withParser(e):ixe.default,jscodeshift:e?ixe.default.withParser(e):ixe.default,stats:()=>{console.error("The stats function was called, which is not supported on purpose")},report:()=>{console.error("The report function was called, which is not supported on purpose")}}),_7i=process.argv.includes("--format"),xgt=class extends Udr{_contents=void 0;_magicString=void 0;_contentsChanged=!1;_oldContents=void 0;importsUpdates=[];get file(){return this.get("file")}async contents(){return typeof this._contents>"u"&&(this._contents=await r3e.readFile(this.file,{encoding:"utf-8"}),this._oldContents=this._contents),typeof this._magicString<"u"?this._magicString.toString():this._contents}setContents(e){this._contents=e,this._magicString=void 0,this._contentsChanged=!0}async magicString(){return typeof this._magicString>"u"&&(this._magicString=new oye(await this.contents())),this._magicString}async update({start:e,end:t,replacement:r}){(await this.magicString()).update(e,t,r)}async save({format:e}={}){let t;if(this._magicString?.hasChanged()?t=this._magicString.toString():this._contentsChanged&&(t=this._contents),typeof t=="string"){let r=this._oldContents,n=e?await pVn(this.file,t):t;await r3e.writeFile(this.file,n),this._oldContents=void 0,this._contents=void 0,this._magicString=void 0,this._contentsChanged=!1,console.error(`${a5.blueBright("FILE")} ${this.file}`);let i=NWt(QWt(r??n,n));for(let[s,R]of i)switch(s){case-1:process.stdout.write(a5.red(R));break;case 1:process.stdout.write(a5.green(R));break}process.stdout.write(` +`)}}get extension(){return this.file.split(".").pop()}},hVn=` +You are a meticulous engineer assigned to migrate a codebase by updating its code when necessary. + +When you write code, the code works on the first try, and is complete. Take into account the current repository's language, code style, and dependencies. + +You will be given a Context File, a Migration Description and a Source File. You will rewrite the Source File in order to apply the changes described in the Migration Description. + +You will use a Context File to understand the codebase and the Migration Description to apply the changes. +Context file will be surrounded by triple single quotes like this: +''' +context file here +''' + +If a line of code is not affected by the migration, you should keep it as it is. + +Source file will be split into multiple parts, each part starts with a comment like this: +// codemod#ai#0 +part code here +// codemod#ai#0 +where 0 is a number that represents the part number. + +You must print the modified Source File in the following format: + +\`\`\` +modified Source File +\`\`\` + +You must preserve parts naming and order. +`,Exr=class{constructor(e){this.userPrompt=e}beforesSamples={};query;_usage={completion_tokens:0,prompt_tokens:0,total_tokens:0};addBefore(e){this.beforesSamples[e.filename]??=[],this.beforesSamples[e.filename]?.push(e)}get prompts(){return Z3t(this.beforesSamples,e=>` +You are migrating a code, which matches ast-grep pattern: +${this.query??""} + +Context file: +''' +${e[0]?.contents} +''' + +${this.userPrompt} + +${e.map((t,r)=>` +// codemod#ai#${r} +${t.text} +// codemod#ai#${r} + +`).join("")}`)}get usage(){return this._usage}static getReplacements(e){let t=e?.match(/```([\s\S]*?)```/g)?.[0]?.replace(/^```/g,"")?.replace(/```$/g,""),r=[],n=t?.split(` +`)??[],i=-1,s="";for(let R of n){let l=Number.parseInt(R.match(/\/\/ codemod#ai#(\d+)/)?.[1]??"",10);if(!Number.isNaN(l)){i===l?(r.push(s),s=""):i=l;continue}s+=R}return r}async execute(){let e=process.argv.find(r=>r.startsWith("--OPENAI_API_KEY="))?.replace("--OPENAI_API_KEY=","");e||(console.error('Please set OPENAI_API_KEY environment variable like "codemod ... --OPENAI_API_KEY=YOUR_API_KEY"'),process.exit(1));let t=new EPt({apiKey:e});await Promise.all(Object.entries(this.prompts).map(async([r,n])=>{let i=await t.chat.completions.create({model:"gpt-4-turbo",seed:7,messages:[{role:"system",content:hVn},{role:"user",content:n}],temperature:.001,n:1}),s=i?.usage;s&&(this._usage.completion_tokens+=s.completion_tokens,this._usage.prompt_tokens+=s.prompt_tokens,this._usage.total_tokens+=s.total_tokens);let R=i?.choices[0]?.message.content,l=Exr.getReplacements(R),c=[],h=this.beforesSamples[r]??[];for(let _=0;_({prompt:t})).helpers(dVn).executor(async()=>{let{node:n,query:i}=Ag(),s=xy(),R=n.range();r.query=typeof i=="string"?i:JSON.stringify(i),r.addBefore({filename:s.file,contents:await s.contents(),startPosition:R.start.index,endPosition:R.end.index,text:n.text()})}).return(async n=>(await r.execute(),n.wrappedHelpers())).run()}var Oxr=iT("ai",fVn),dVn={};function xVn(){let e=!1;return new aT("exists").executor(async(t,r)=>{e=!0,await t?.()}).return(()=>e).run()}var vxr=iT("exists",xVn);function mVn(e){let t=[];return new aT("map").helpers(Adr).arguments(()=>({callback:e})).executor(async(r,n)=>{let{callback:i}=n.getArguments(),s=await i(Adr);t.push(s),await r?.()}).return(()=>t).run()}var mgt=iT("map",mVn),Adr={getNode:()=>Ag().node,getMatch:e=>Ag().node.getMatch(e),getMultipleMatches:e=>Ag().node.getMultipleMatches(e)},kVn={getNode:()=>Ag().node,getMatch:e=>Ag().node.getMatch(e),getMultipleMatches:e=>Ag().node.getMultipleMatches(e)};function yVn(e){return new aT("replace").arguments(()=>{let t;return typeof e=="string"?t=e:Array.isArray(e)&&(t=e.join("")),{replacement:t,callback:typeof e=="function"?e:void 0}}).helpers(()=>qVn).return(t=>t.wrappedHelpers()).executor(async(t,r)=>{let n=xy(),{node:i}=Ag(),{callback:s,replacement:R}=r.getArguments();if(s&&(R=await s(r.wrapHelpers(kVn))),R){let l=R.replace(/(\$\$)?\$([A-Z]+)/gm,(h,_,f)=>_?i?.getMultipleMatches(f).map(m=>m.text()).join(" "):i.getMatch(f)?.text()||""),c=i.range();await n.update({start:c.start.index,end:c.end.index,replacement:l})}}).run()}var Dxr=iT("replace",yVn),qVn={map:mgt},CVn={getNode:()=>Ag().node,getMatch:e=>Ag().node.getMatch(e),getMultipleMatches:e=>Ag().node.getMultipleMatches(e)};function AVn(e){return new aT("replace").arguments(()=>({callback:e})).helpers(()=>gVn).return(t=>t.wrappedHelpers()).executor(async(t,r)=>{let{callback:n}=r.getArguments();await n(r.wrapHelpers(CVn))&&await t()}).run()}var Sxr=iT("filter",AVn),gVn={map:mgt,filter:Sxr,replace:Dxr,ai:Oxr,exists:vxr},bVn={css:ou.Lang.Css,html:ou.Lang.Html,js:ou.Lang.JavaScript,jsx:ou.Lang.JavaScript,mjs:ou.Lang.JavaScript,cjs:ou.Lang.JavaScript,ts:ou.Lang.TypeScript,tsx:ou.Lang.Tsx,sh:ou.Lang.Bash,c:ou.Lang.C,h:ou.Lang.C,cpp:ou.Lang.Cpp,hpp:ou.Lang.Cpp,cs:ou.Lang.CSharp,dart:ou.Lang.Dart,ex:ou.Lang.Elixir,exs:ou.Lang.Elixir,go:ou.Lang.Go,java:ou.Lang.Java,json:ou.Lang.Json,kt:ou.Lang.Kotlin,lua:ou.Lang.Lua,php:ou.Lang.Php,py:ou.Lang.Python,py3:ou.Lang.Python,rb:ou.Lang.Ruby,rs:ou.Lang.Rust,scala:ou.Lang.Scala,swift:ou.Lang.Swift,sql:ou.Lang.Sql,psql:ou.Lang.Sql,mysql:ou.Lang.Sql},EVn=gxr.promisify(Cxr.execFile),OVn=async(e,t)=>{let r=Xfr.resolve("@ast-grep/cli/package.json"),{bin:n}=JSON.parse(await Axr.readFile(r,"utf-8")),i=t3e.join(t3e.dirname(Xfr.resolve("@ast-grep/cli/package.json")),n.sg);await EVn(i,["scan","--update-all","--inline-rules",JSON.stringify(e),t])};function vVn(e,t){return new aT("astGrep").arguments(()=>{let r=e;return typeof e=="object"&&(r=Array.isArray(e)?e.join(""):e),{grep:r,callback:t}}).helpers(r=>{let{grep:n}=r.getArguments();return typeof n=="object"&&"id"in n?DVn:gdr}).return(r=>r.wrappedHelpers()).executor(async(r,n)=>{let i=xy(),{grep:s,callback:R}=n.getArguments(),l;if(typeof s=="string")try{l=bxr.parse(s)}catch{l={rule:{pattern:{context:s,strictness:"relaxed"}}}}else l=s;if(typeof s=="object"&&"id"in s)await OVn(l,i.file);else{if(!i.extension)return;let c=bVn[i.extension];if(!c){console.warn(`${a5.yellow("WARN")} Unsupported file extension: ${i.extension}`);return}let h=(0,ou.parse)(c,await i.contents()).root().findAll(l).reverse(),_={query:s};for(let f of h)r&&(_.node=f,await _gt.run(_,async()=>(await R?.(gdr),await r())));await i.save()}}).run()}var sU=iT("astGrep",vVn),gdr={replace:Dxr,map:mgt,ai:Oxr,filter:Sxr,exists:vxr},DVn={astGrep:sU},bdr=["js","jsx","ts","tsx","cjs","mjs"],SVn=(e,t)=>{for(let[r,n]of Object.entries(t))if(e===n)return r},$Vn=async(e,t)=>{if(e in t)return t[e];let r=e.indexOf("?");if(r!==-1){let n=e.slice(0,r);if(n in t)return`${t[n]}?${e.slice(r+1)}`}for(let n of bdr){let i=`${e}.${n}`;if(i in t)return h_.format({...h_.parse(t[i]),base:void 0,ext:void 0})}try{if((await gg.stat(e)).isDirectory())for(let n of bdr){let i=`${h_.join(e,"index")}.${n}`;if(i in t)return h_.format({...h_.parse(t[i]),base:void 0,ext:void 0,name:void 0})}}catch{}},QVn=async(e,t,r)=>{if(r?.startsWith(".")&&!r.endsWith("package.json")){let n=SVn(e,t),i=h_.resolve(h_.dirname(n??e),r),s=await $Vn(i,t)??i,R=h_.join(h_.relative(h_.dirname(e),h_.dirname(s)),h_.basename(s));R.startsWith(".")||(R=`./${R}`);let l=h_.extname(R);return l===".ts"?l=".js":(l===".tsx"||l===".jsx")&&(l=void 0),R=h_.format({...h_.parse(R),base:void 0,ext:l}),r!==R?R:r}return r};function NVn(e){return new aT("move").arguments(()=>({target:e})).helpers(wVn).executor(async(t,r)=>{let{target:n}=r.getArguments(),{cwd:i}=CO(),s=pxe.getStore(),R=[],l=!1;s?(l=!0,R=[nS.basename(s.file)]):R=await Nv("**/*.*",{cwd:i,nodir:!0,ignore:["**/node_modules/**","**/.git/**","**/dist/**","**/build/**"]});let c={};for(let h of R){let _=nS.resolve(i,h),f=nS.resolve(n,...l?[]:[nS.basename(i)],h);console.log(`Moving ${_} to ${f}`),await gg.mkdir(nS.dirname(f),{recursive:!0}),await gg.rename(_,f),f.match(/\.(ts|js|tsx|jsx|cjs|mjs)$/)&&(c[_]=f);try{await gg.readdir(nS.dirname(_)).then(m=>m.length===0)&&await gg.rmdir(nS.dirname(_))}catch{}}try{await gg.readdir(i).then(h=>h.length===0)&&await gg.rmdir(i)}catch{}await aU.run(dxr(),async()=>await _xe("**/*.{js,jsx,ts,tsx,cjs,mjs}").jsFam(async({astGrep:h})=>{let _=xy().file;await h({rule:{any:[{kind:"string_fragment",inside:{kind:"string",inside:{any:[{kind:"import_statement"},{kind:"export_statement"}]}}},{kind:"string_fragment",inside:{kind:"string",inside:{kind:"arguments",inside:{kind:"call_expression",regex:"^require"}}}}]}}).replace(async({getNode:f})=>await QVn(_,c,f().text()))}))}).return(t=>t.wrappedHelpers()).run()}var $xr=iT("move",NVn),wVn={};function Nxr(e){return sU({rule:{any:[{pattern:e.replace(/"/g,"'")},{pattern:e.replace(/'/g,'"')}]}})}function PVn(e){let t=_Vn("tsx");return new aT("jscodeshift").arguments(()=>({callback:e})).helpers(()=>IVn).return(r=>r.wrappedHelpers()).executor(async(r,n)=>{let{callback:i}=n.getArguments(),s=xy(),R=await s.contents();try{let l=await i({path:s.file,source:R},t,{});typeof l=="string"&&R!==l&&(s.setContents(l),await s.save())}catch(l){console.error(`jscodeshift error: ${l} in ${s.file}`)}await r()}).run()}var BVn=iT("jscodeshift",PVn),IVn={};function MVn(e){return new aT("jsFam").arguments(()=>({callback:e})).helpers(Edr).setParentArgs({defaultGlob:"**/*.{js,jsx,ts,tsx,cjs,mjs}"}).return(t=>t.wrappedHelpers()).executor(async(t,r)=>{let{callback:n}=r.getArguments();n&&await n(Edr),await t();let{importsUpdates:i}=xy(),s=l=>({from:l.getMatch("FROM")?.text(),imports:l.getMultipleMatches("IMPORTS").filter(c=>c.kind()!==",").map(c=>c.text())}),R={rule:{any:[{pattern:"import { $$$IMPORTS } from '$FROM'"},{pattern:'import { $$$IMPORTS } from "$FROM"'}]}};if(i.length)for(let{type:l,import:c}of i){let h=Qxr.ts.parse(c).root().findAll(R);for(let _ of h){let f=s(_);await sU(R).replace(({getNode:m})=>{let x=s(m()),y=!1;if(x.from===f.from)for(let A of f.imports)l==="add"?x.imports.includes(A)||(y=!0,x.imports.push(A)):l==="remove"&&x.imports.includes(A)&&(y=!0,x.imports=x.imports.filter(D=>D!==A));if(y)return`import { ${x.imports.join(", ")} } from "${x.from}"`})}}}).run()}var WVn=iT("jsFam",MVn),Edr={astGrep:sU,getImports:Nxr,addImport:e=>{xy().importsUpdates.push({type:"add",import:e})},removeImport:e=>{xy().importsUpdates.push({type:"remove",import:e})},jscodeshift:BVn};function UVn(e){let t=[];return new aT("map").helpers(Odr).arguments(()=>({callback:e})).executor(async(r,n)=>{let{callback:i}=n.getArguments(),s=await i(Odr);t.push(s),await r?.()}).return(()=>t).run()}var FVn=iT("map",UVn),Odr={getContents:async()=>JSON.parse(await xy().contents())};function LVn(e){return new aT("update").helpers(HVn).arguments(()=>({callback:e})).executor(async(t,r)=>{let{callback:n}=r.getArguments(),i=xy(),s=await i.contents(),R=zpe(s).indent||" ",l=LWt(s)||` +`,c=s.slice(-l.length),h=l.localeCompare(c)===0?l:"",_=await n(JSON.parse(s));i.setContents(JSON.stringify(_,null,R).concat(h)),await i.save(),await t?.()}).return(t=>t.wrappedHelpers()).run()}var zVn=iT("update",LVn),HVn={};function YVn(e){return new aT("json").arguments(()=>({callback:e})).helpers(vdr).setParentArgs({defaultGlob:"**/*.json"}).return(t=>t.wrappedHelpers()).executor(async(t,r)=>{let{callback:n}=r.getArguments();n&&await n(vdr),await t()}).run()}var KVn=iT("json",YVn),vdr={map:FVn,update:zVn};function GVn(e){let t=[];return new aT("map").helpers(Ddr).arguments(()=>({callback:e})).executor(async(r,n)=>{let{callback:i}=n.getArguments(),s=await i(Ddr);t.push(s),await r?.()}).return(()=>t).run()}var VVn=iT("map",GVn),Ddr={getContents:async()=>wxr.parse(await xy().contents())};function jVn(e){return new aT("update").helpers(XVn).arguments(()=>({callback:e})).executor(async(t,r)=>{let{callback:n}=r.getArguments(),i=xy(),s=await i.contents(),R=zpe(s).amount||2,l=await n(n3e.parse(s));i.setContents(n3e.stringify(l,{indent:R})),await i.save(),await t?.()}).return(t=>t.wrappedHelpers()).run()}var JVn=iT("update",jVn),XVn={};function ZVn(e){return new aT("yaml").arguments(()=>({callback:e})).helpers(Sdr).setParentArgs({defaultGlob:"**/*.yaml"}).return(t=>t.wrappedHelpers()).executor(async(t,r)=>{let{callback:n}=r.getArguments();n&&await n(Sdr),await t()}).run()}var ejn=iT("yaml",ZVn),Sdr={map:VVn,update:JVn};function tjn(e,t){return new aT("files").arguments(r=>{let n=r.getChildArg("defaultGlob")??"**/*.*";return{globs:Xse(!e||typeof e=="function"?n:e,/[\n; ]/),callback:typeof e=="function"?e:t}}).helpers($dr).executor(async(r,n)=>{let{globs:i,callback:s}=n.getArguments(),{cwd:R}=CO(),l=i.filter(_=>lxe.isAbsolute(_)),c=i.filter(_=>!lxe.isAbsolute(_)),h=[...(await Nv(c,{cwd:R,nodir:!0,ignore:["**/node_modules/**","**/.git/**","**/dist/**","**/build/**"]})).map(_=>lxe.join(R,_)),...l];for(let _ of h)await pxe.run(new xgt({file:_}),async()=>{s&&await s($dr),await r()})}).run()}var _xe=iT("files",tjn),$dr={jsFam:WVn,move:$xr,astGrep:sU,yaml:ejn,json:KVn};function rjn(e,t){return new aT("jsFiles").arguments(()=>({globs:Xse(!e||typeof e=="function"?"**/*.{js,jsx,ts,tsx,cjs,mjs}":e,/[\n; ]/),callback:typeof e=="function"?e:t})).helpers(Qdr).executor(async(r,n)=>{let{globs:i,callback:s}=n.getArguments(),{cwd:R}=CO(),l=await Nv(i,{cwd:R,nodir:!0,ignore:["**/node_modules/**","**/.git/**","**/dist/**","**/build/**"]});for(let c of l)await pxe.run(new xgt({file:Bxr.join(R,c)}),async()=>{s&&await s(Qdr),await r();let{importsUpdates:h}=xy(),_=m=>({from:m.getMatch("FROM")?.text(),imports:m.getMultipleMatches("IMPORTS").filter(x=>x.kind()!==",").map(x=>x.text())}),f={rule:{any:[{pattern:"import { $$$IMPORTS } from '$FROM'"},{pattern:'import { $$$IMPORTS } from "$FROM"'}]}};if(h.length)for(let{type:m,import:x}of h){let y=Ixr.ts.parse(x).root().findAll(f);for(let A of y){let D=_(A);await sU(f).replace(({getNode:S})=>{let P=_(S()),M=!1;if(P.from===D.from)for(let U of D.imports)m==="add"?P.imports.includes(U)||(M=!0,P.imports.push(U)):m==="remove"&&P.imports.includes(U)&&(M=!0,P.imports=P.imports.filter(w=>w!==U));if(M)return`import { ${P.imports.join(", ")} } from "${P.from}"`})}}})}).return(r=>r.wrappedHelpers()).run()}var i3e=iT("jsFiles",rjn),Qdr={astGrep:sU,getImports:Nxr,addImport:e=>{xy().importsUpdates.push({type:"add",import:e})},removeImport:e=>{xy().importsUpdates.push({type:"remove",import:e})}};function njn(e){let t=[];return new aT("map").helpers(Ndr).executor(async()=>{let r=await e(Ndr);t.push(r)}).return(()=>t).run()}var ijn=iT("map",njn),Ndr={cwd:()=>CO().cwd};function ajn(e,t){return new aT("dirs").arguments(()=>{if(typeof e=="object"&&!Array.isArray(e)){let{dirs:n,...i}=e;return{params:{...i,dirs:Xse(n)},callback:t}}let r=Xse(e);return{params:{create:r.length===1&&!nre(r[0]),dirs:r},callback:t}}).helpers(wdr).executor(async(r,n)=>{let{params:{dirs:i,create:s,ignore:R}}=n.getArguments(),{cwd:l}=CO(),c=await Nv(i,{cwd:l,ignore:R}),h=new Set;for(let _ of c)h.has(_)||(h.add(_),await aU.run({cwd:axe.join(l,_)},r));if(s)for(let _ of i)!nre(_)&&!h.has(_)&&(h.add(_),console.log(`Creating directory ${axe.join(l,_)}`),await Pxr.mkdir(axe.join(l,_),{recursive:!0}),await aU.run({cwd:axe.join(l,_)},r))}).callback(async r=>{let{callback:n}=r.getArguments();await n?.(wdr)}).return(r=>r.wrappedHelpers()).run()}var a3e=iT("dirs",ajn),wdr={dirs:a3e,jsFiles:i3e,codemod:Roe,exec:ooe,move:$xr,map:ijn,files:_xe};function sjn({force:e}={force:!0}){return new aT("push").arguments(()=>({force:e})).helpers(ojn).executor(async t=>{let{repository:r,branch:n}=xxr(),{cwd:i}=CO(),s=aoe(`Pushing to ${r}/tree/${n}`);try{await uxe("git",["push",...e?["-f"]:[]],{cwd:i}),s.success()}catch(R){s.fail(R.toString())}await t()}).return(t=>t.wrappedHelpers()).run()}var s3e=iT("push",sjn),ojn={};function Rjn(e){return new aT("commit").arguments(()=>({message:e})).helpers(ujn).executor(async(t,r)=>{let{message:n}=r.getArguments(),{cwd:i}=CO(),s=soe.getStore(),R=aoe(`Committing${s?` to ${s.repository}/tree/${s.branch}`:""}${n?` with message: ${JSON.stringify(n)}`:""}`);try{await uxe("git",["add","."],{cwd:i});let{stdout:l}=await uxe("git",["commit","-m",n],{cwd:i,doNotThrowError:!0});l.join("").match(/nothing to commit, working tree clean/gm)?R.warn("Nothing to commit"):R.success(l.join(""))}catch(l){R.fail(l.toString())}await t()}).return(t=>t.wrappedHelpers()).run()}var kgt=iT("commit",Rjn),ujn={push:s3e};function ljn(e,t){let r=Jse((n,i,s,R)=>i.checkout({branch:s,force:R}));return new aT("branch").arguments(()=>({branchArg:typeof e=="string"?{branch:e,force:!0}:e,callback:t})).helpers(Pdr).executor(async(n,i)=>{let{branchArg:s}=i.getArguments(),R=fgt();await r(`${R.get("id")}-${s.branch}-${String(s.force)}`,R,s.branch,s.force),await n()}).callback(async n=>{let{callback:i}=n.getArguments();await i?.(Pdr)}).return(n=>n.wrappedHelpers()).run()}var Mxr=iT("branch",ljn),Pdr={jsFiles:i3e,commit:kgt,push:s3e,dirs:a3e,codemod:Roe,exec:ooe,files:_xe},cjn="cm",Tjn=(...e)=>{let t=e.map(r=>{let n=f7t(r);return Hpe(n)});return Uxr.join(Wxr.tmpdir(),cjn,...t)},pjn=async e=>{try{let t=await iU.stat(e);return await iU.access(e,iU.constants.R_OK|iU.constants.W_OK|iU.constants.X_OK),t.isDirectory()}catch{return!1}},Lxr;function _jn(e){Lxr=e}function zxr(){return Lxr}var ygt=async e=>(await Dv().listRemote(["--symref",e,"HEAD"])).match(/refs\/heads\/(\S+)/m)?.[1],rgt=async(e,t)=>(await Dv().listRemote([e,t])).split(" ")[0],hjn=async({cwd:e,hash:t,branch:r})=>{await Dv(e).revparse("HEAD")!==t&&await Dv(e).pull("origin",r)},fjn=async(e,{branch:t,upstream:r,fork:n})=>{let i=aU.getStore();(0,cxe.invariant)(i,"No cwd found");let s=Dv(i.cwd),R=await ygt(r);(0,cxe.invariant)(R,`No remote default branch found in ${r}`);let l=await Promise.all([rgt(r,R),rgt(n,R)]);if(l[0]!==l[1]){let c=aoe("Syncing forked repository");try{(await s.getRemotes()).some(h=>h.name==="upstream")||await s.addRemote("upstream",r),await s.fetch("upstream",R),await s.checkout(t||R),await s.mergeFromTo(`upstream/${R}`,t||R),await s.push("origin",t||R),c.success()}catch(h){c.fail(h.toString())}}},djn=async(e,{repositoryUrl:t,extraName:r,shallow:n,branch:i,tmpDir:s})=>{if(await pjn(s)){let l=Dv(s);console.log(`Directory ${s} already exists, skipping clone`),await l.clean(ej.FORCE+ej.RECURSIVE),await l.reset(["--hard"]);let c=await ygt(t);(0,cxe.invariant)(c,`No remote default branch found in ${t}`),await l.checkout(c);let h=c&&await rgt(t,c);(0,cxe.invariant)(h,`No remote default branch hash found in remote ${t}`),await hjn({cwd:s,hash:h,branch:c});let _=(await l.branchLocal()).all.filter(f=>f!==c);_.length&&await l.deleteLocalBranches(_,!0);return}let R=aoe(`Cloning repository: ${t} to ${s}`);await Dv().clone(t,s,n?["--depth","1","--single-branch",...i?[`--branch=${i}`]:[]]:[]),R.success()};function xjn({title:e,body:t,draft:r}){return new aT("pr").arguments(()=>({title:e,body:t})).helpers(mjn).executor(async(n,i)=>{let{body:s,title:R}=i.getArguments(),l=zxr();if(!await l?.ensureGithubScopes(["repo"])){console.log("Github scopes not available");return}let c=await l?.getGithubAPIKey(),h=fgt();if(c){let _=new Fxr.Octokit({auth:c}),f=(0,tgt.default)(h.get("repository")),m=f.owner,x=f.name,y=(await h.simpleGit.branchLocal()).current,A=soe.getStore();if(A?.forkedFrom){let P=(0,tgt.default)(A?.forkedFrom);m=P.owner,x=P.name,y=`${f.owner}:${y}`}let D={owner:m,repo:x,title:R,head:y,base:await ygt(h.get("repository")),body:s,draft:r},S=aoe(`Creating PR for ${m}/${x}`);try{let P=await _.pulls.create(D);S.success(`Created PR ${P.data.html_url}`)}catch(P){if(P.toString().includes("A pull request already exists")){let M=await _.pulls.list({owner:m,repo:x,head:y});if(M.data.length>0){let U=M.data[0];try{await _.pulls.update({owner:m,repo:x,pull_number:U.number,title:R,body:s}),S.success(`Updated PR ${U.html_url}`)}catch(w){S.fail(w.toString())}}else S.fail(P.toString())}else S.fail(P.toString())}await n()}}).return(n=>n.wrappedHelpers()).run()}var qgt=iT("pr",xjn),mjn={},Y3t=e=>typeof e=="string"?{repository:e,shallow:!0}:e;function kjn(e,t){let r=Jse(djn),n=Jse(fjn);return new aT("clone").arguments(()=>{let i=[],s=t;return typeof e=="string"||Array.isArray(e)&&e.every(R=>typeof R=="string")?i=Xse(e).map(Y3t):Array.isArray(e)?i=e.map(Y3t):typeof e=="function"?(i=[],s=e):e&&(i=[Y3t(e)]),{repositories:i,callback:s}}).helpers(Bdr).executor(async(i,s)=>{let{repositories:R}=s.getArguments(),l=soe.getStore();R.length===0&&l&&R.push({...l,shallow:!0}),await Promise.all(R.map(({repository:c,shallow:h,branch:_},f)=>aU.run({cwd:process.cwd()},async()=>{let m=`${c}, ${String(f)}, ${String(h)}, ${String(_)}`,x=Tjn(`${c}${String(f)}`),y=aU.getStore(),A=hgt.getStore();y&&(y.cwd=x),A&&(A.cwd=x),await r(m,{repositoryUrl:c,branch:_,shallow:h,extraName:String(f),tmpDir:x}),l?.forkedFrom&&await n("",{branch:_,upstream:l.forkedFrom,fork:c}),await pgt.run(new Fdr({repository:c,id:m}),i)})))}).callback(async i=>{let{callback:s}=i.getArguments();await s?.(Bdr)}).return(i=>i.wrappedHelpers()).run()}var Hxr=iT("clone",kjn),Bdr={jsFiles:i3e,branch:Mxr,commit:kgt,push:s3e,dirs:a3e,codemod:Roe,exec:ooe,files:_xe,pr:qgt},yjn={clone:Hxr,branch:Mxr,push:s3e,commit:kgt};function qjn(...e){let t;return new aT("question").arguments(()=>({questions:e[0],answers:e[1]})).executor(async(r,n)=>{let{questions:i,answers:s}=n.getArguments();t=await SJt.prompt(i,s),await r?.()}).return(()=>t).run()}var Cjn=iT("question",qjn),Idr=e=>{let t=(0,Kxr.default)(e);return{owner:t.owner,repo:t.name,name:t.name}},Ajn=async(e,{githubAPIKey:t,parameters:r})=>{let n=new Yxr.Octokit({auth:t}),i=aoe(`Forking ${r.owner}/${r.repo}`);try{let s=await n.repos.createFork(r);i.success(`Forked to ${s.data.full_name}`);let R=s.data.ssh_url,l=s.data.parent?.default_branch??"main";return{repository:R,branch:l}}catch(s){i.fail(s.toString())}};function gjn(e,t){let r=Jse(Ajn);return new aT("fork").arguments(()=>{let n;return typeof e=="string"||Array.isArray(e)&&e.every(i=>typeof i=="string")?n=Xse(e).map(Idr):Array.isArray(e)?n=e.map(i=>typeof i=="string"?Idr(i):i):n=[e],{forkParameters:n,callback:t}}).helpers(Mdr).executor(async(n,i)=>{let{forkParameters:s}=i.getArguments(),R=zxr();if(!await R?.ensureGithubScopes(["repo"])){console.log("Github scopes not available");return}let l=await R?.getGithubAPIKey();if(l)for(let c of s){let h=`${c.owner}/${c.repo}`,_=await r(h,{githubAPIKey:l,parameters:c});if(!_)return;await soe.run({..._,forkedFrom:`https://github.com/${c.owner}/${c.repo}`},()=>n())}}).callback(async n=>{let{callback:i}=n.getArguments();await i?.(Mdr)}).return(n=>n.wrappedHelpers()).run()}var bjn=iT("fork",gjn),Mdr={clone:Hxr,pr:qgt},Ejn={fork:bjn,pr:qgt};var Gxr={git:yjn,astGrep:sU,jsFiles:i3e,contexts:Wdr,dirs:a3e,codemod:Roe,getTree:iVn,files:_xe,exec:ooe,question:Cjn,github:Ejn,setAuthService:_jn};import{access as Qjn,constants as Njn}from"node:fs/promises";import{isAbsolute as Sjn}from"node:path";import{fileURLToPath as Vxr,pathToFileURL as $jn}from"node:url";import{pathToFileURL as Ojn}from"node:url";var o3e=e=>Ojn(e?.url??e.message.split("'")[1])?.href;import{isAbsolute as vjn}from"node:path";import{pathToFileURL as Djn}from"node:url";function hxe(e,t){if(!URL.canParse(e))throw new TypeError("resolvedUrl must be a file url string");let r=vjn(t)?Djn(t).href:t,n=0;for(let i=e.length;nQjn(e,Njn.F_OK).then(()=>!0,()=>!1);import Cgt from"node:process";var fxe=(e,t,r)=>{let n=new Set(u3e.has(e)?u3e.get(e):[]);n.add({msg:r,type:t}),u3e.set(e,n)},u3e=new Map;Cgt.once("beforeExit",Pjn);function Pjn(){let e=!1;for(let[t,r]of u3e.entries()){console.log("[Codemod: correct-ts-specifiers]:",t);for(let{msg:n,type:i}of r)console[i](" \u2022",n),i==="error"&&(e=!0)}e?(console.error("[Codemod: correct-ts-specifiers]: migration incomplete!"),Cgt.exitCode=1):(Cgt.exitCode=0,console.log("[Codemod: correct-ts-specifiers]: migration complete!"))}import{lstat as Bjn}from"node:fs/promises";async function l3e(e,t){let r;try{r=R3e(e,t)}catch(n){if(n.code==="ERR_MODULE_NOT_FOUND")return null}try{return(await Bjn(r)).isDirectory()}catch{return null}}import{isBuiltin as Wjn}from"node:module";import{extname as Ujn,sep as Xxr}from"node:path";import{pathToFileURL as Fjn}from"node:url";var Agt={".cjs":".cts",".mjs":".mts",".js":".ts",".jsx":".tsx"},jxr={"":".js",...Agt},Ijn=Object.keys(Agt),ggt=Object.values(Agt),Mjn=[".d.cts",".d.ts",".d.mts"],Jxr=new Set([Ijn,ggt,Mjn]);function Zxr(e,t){if(Wjn(t)||t.startsWith("data:"))return!0;let r=Ujn(t);if(ggt.includes(r))return!0;if(r)return!1;if(t[0]==="@")return!0;if(t[0]===Xxr||t.startsWith(`.${Xxr}`)||t.startsWith("file://"))return!1;let n;try{n=import.meta.resolve(t,Fjn(e).href)}catch(i){if(!(i instanceof Error)||!Ljn.has(i.code))throw i;n=o3e(i)}finally{if(hxe(n,e))return!0}return!1}var Ljn=new Set(["ERR_MODULE_NOT_FOUND","ERR_PACKAGE_PATH_NOT_EXPORTED"]);import{extname as e2r}from"node:path";var t2r=async(e,t,r)=>{if(t==="."||t===".."?t+="/index":(t.endsWith("/")||await l3e(e,t))&&(t.endsWith("/")||(t+="/"),t+="index"),!e2r(t)&&(t+=".js",await hZ(e,t)))return{replacement:t,isType:!1};let n=e2r(t),i=r2r(t,n,r??jxr[n]);if(await hZ(e,i))return{replacement:i,isType:!1};for(let s of Jxr){let R=await zjn(e,t,n,s);if(R)return R}return{replacement:null}},r2r=(e,t,r)=>t?e.replace(t,r):`${e}${r}`;async function zjn(e,t,r,n){let i,s=new Set;for(let R of n){let l=r2r(t,r,R);await hZ(e,l)&&s.add(i=l)}if(s.size){if(s.size===1)return{isType:n[0].startsWith(".d"),replacement:i};fxe(e,"error",[`"${t}" appears to resolve to multiple files. Cannot disambiguate between`,`"${Array.from(s).join('", "')}"`,"(skipping)."].join(" "))}}var n2r=async(e,t)=>{if(Zxr(e,t))return{};let{isType:r,replacement:n}=await t2r(e,t);return n?await hZ(e,t)&&!await l3e(e,t)?(fxe(e,"warn",[`Import specifier "${t}" contains a JS extension AND a file`,"with the corresponding TS extension exists. Cannot disambiguate (skipping)."].join(" ")),{isType:r,replacement:t}):{isType:r,replacement:n}:(await hZ(e,t)||fxe(e,"error",`No matching file found for "${t}"`),{})};var $gt={};x2($gt,{readConfigFile:()=>q2r,resolve:()=>zJn,resolveAliases:()=>y2r});var m2r=Gs(d2r(),1);import{readFile as UJn}from"node:fs/promises";import FJn from"node:path";import{pathToFileURL as LJn,URL as x2r}from"node:url";var k2r=LJn(`${process.cwd()}/`),Sgt=await q2r("tsconfig.json");Sgt||console.warn('Alias loader was registered but no "paths" were found in tsconfig.json',"This loader will behave as a noop (but you should probably remove it if you aren\u2019t using it).");function zJn(e,t,r){return(Sgt?y2r:r)(e,t,r)}function y2r(e,t,r){for(let[n,i]of Sgt){if(e===n)return r(i,t);if(e.startsWith(n))return r(e.replace(n,i),t)}return r(e,t)}function q2r(e){let t=FJn.join(k2r.pathname,e);return UJn(t).then(JSON.parse).then(r=>(0,m2r.default)(r,"compilerOptions.paths")).then(HJn).catch(r=>{if(r.code!=="ENOENT")throw r})}function HJn(e){if(!e)return;let t=new Map;for(let r of Object.keys(e)){let n=e[r][0],i=r.endsWith("*"),s=i?r.slice(0,-1):r,R=i?n.slice(0,-1):n,l=R[0]==="/"||x2r.canParse(R)?R:new x2r(R,k2r).href;t.set(s,l)}return t}YJn.registerHooks($gt);async function KJn({contexts:e,files:t}){await t(GJn).jsFam(r);async function r({astGrep:n}){let i=e.getFileContext().file;await n({rule:{any:[{kind:"import_statement"},{kind:"export_statement",has:{kind:"string"}},{pattern:'import("$$$_")'},{pattern:"import('$$$_')"}]}}).replace(async({getNode:s})=>{let R=s(),l=R.find({rule:{kind:"string_fragment",inside:{kind:"string"}}});if(!l)return;let{isType:c,replacement:h}=await n2r(i,l.text());if(!h)return;let _=[l.replace(h)];if(c&&!R.children().some(f=>f.kind()==="type")){let f=R.find({rule:{any:[{kind:"import_clause"},{kind:"export_clause"}]}});f&&(_[1]=f.replace(`type ${f.text()}`))}return R.commitEdits(_)})}}var GJn="**/*.{cjs,mjs,js,jsx,?(d.)cts,?(d.)mts,?(d.)ts,tsx}";KJn(Gxr);export{KJn as workflow}; +/*! Bundled license information: + +web-streams-polyfill/dist/ponyfill.mjs: + (** + * @license + * web-streams-polyfill v4.0.0-beta.3 + * Copyright 2021 Mattias Buelens, Diwank Singh Tomer and other contributors. + * This code is released under the MIT license. + * SPDX-License-Identifier: MIT + *) + +formdata-node/lib/esm/blobHelpers.js: + (*! Based on fetch-blob. MIT License. Jimmy Wärting & David Frank *) + +formdata-node/lib/esm/Blob.js: + (*! Based on fetch-blob. MIT License. Jimmy Wärting & David Frank *) + +humanize-ms/index.js: + (*! + * humanize-ms - index.js + * Copyright(c) 2014 dead_horse + * MIT Licensed + *) + +web-streams-polyfill/dist/ponyfill.es2018.js: + (** + * @license + * web-streams-polyfill v3.3.3 + * Copyright 2024 Mattias Buelens, Diwank Singh Tomer and other contributors. + * This code is released under the MIT license. + * SPDX-License-Identifier: MIT + *) + +node-domexception/index.js: + (*! node-domexception. MIT License. Jimmy Wärting *) + +git-url-parse/lib/index.js: + (*! + * buildToken + * Builds OAuth token prefix (helper function) + * + * @name buildToken + * @function + * @param {GitUrl} obj The parsed Git url object. + * @return {String} token prefix + *) + +safe-buffer/index.js: + (*! safe-buffer. MIT License. Feross Aboukhadijeh *) + +tmp/lib/tmp.js: + (*! + * Tmp + * + * Copyright (c) 2011-2017 KARASZI Istvan + * + * MIT Licensed + *) + +@codemod.com/workflow/dist/index.mjs: + (** + * @license + * Lodash (Custom Build) + * Build: `lodash modularize exports="es" -o ./` + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + *) +*/ +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vbm9kZV9tb2R1bGVzL3RzbGliL3RzbGliLmVzNi5tanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3RzLWludmFyaWFudC9saWIvaW52YXJpYW50LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tcy9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZGVidWcvc3JjL2NvbW1vbi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZGVidWcvc3JjL2Jyb3dzZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2hhcy1mbGFnL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zdXBwb3J0cy1jb2xvci9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZGVidWcvc3JjL25vZGUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2RlYnVnL3NyYy9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGt3c2l0ZXMvZmlsZS1leGlzdHMvc3JjL2luZGV4LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9Aa3dzaXRlcy9maWxlLWV4aXN0cy9pbmRleC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGt3c2l0ZXMvcHJvbWlzZS1kZWZlcnJlZC9zcmMvaW5kZXgudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbG9ycy1jbGkvbGliL3N0eWxlcy1uYW1lLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9jb2xvcnMtY2xpL2xpYi9zdXBwb3J0cy1jb2xvcnMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2NvbG9ycy1jbGkvbGliL2NvbG9yLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9jb2xvcnMtY2xpL2xpYi9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvdHJlZS1raWxsL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9iYWxhbmNlZC1tYXRjaC9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvYnJhY2UtZXhwYW5zaW9uL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYXN0LWdyZXAvbmFwaS9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L25vZGVzL2lkZW50aXR5LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3QvdmlzaXQuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9kb2MvZGlyZWN0aXZlcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L2RvYy9hbmNob3JzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3QvZG9jL2FwcGx5UmV2aXZlci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L25vZGVzL3RvSlMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9ub2Rlcy9Ob2RlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3Qvbm9kZXMvQWxpYXMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9ub2Rlcy9TY2FsYXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9kb2MvY3JlYXRlTm9kZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L25vZGVzL0NvbGxlY3Rpb24uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9zdHJpbmdpZnkvc3RyaW5naWZ5Q29tbWVudC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L3N0cmluZ2lmeS9mb2xkRmxvd0xpbmVzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3Qvc3RyaW5naWZ5L3N0cmluZ2lmeVN0cmluZy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L3N0cmluZ2lmeS9zdHJpbmdpZnkuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9zdHJpbmdpZnkvc3RyaW5naWZ5UGFpci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L2xvZy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L3NjaGVtYS95YW1sLTEuMS9tZXJnZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L25vZGVzL2FkZFBhaXJUb0pTTWFwLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3Qvbm9kZXMvUGFpci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L3N0cmluZ2lmeS9zdHJpbmdpZnlDb2xsZWN0aW9uLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3Qvbm9kZXMvWUFNTE1hcC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L3NjaGVtYS9jb21tb24vbWFwLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3Qvbm9kZXMvWUFNTFNlcS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L3NjaGVtYS9jb21tb24vc2VxLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3Qvc2NoZW1hL2NvbW1vbi9zdHJpbmcuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9zY2hlbWEvY29tbW9uL251bGwuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9zY2hlbWEvY29yZS9ib29sLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3Qvc3RyaW5naWZ5L3N0cmluZ2lmeU51bWJlci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L3NjaGVtYS9jb3JlL2Zsb2F0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3Qvc2NoZW1hL2NvcmUvaW50LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3Qvc2NoZW1hL2NvcmUvc2NoZW1hLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3Qvc2NoZW1hL2pzb24vc2NoZW1hLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3Qvc2NoZW1hL3lhbWwtMS4xL2JpbmFyeS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L3NjaGVtYS95YW1sLTEuMS9wYWlycy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L3NjaGVtYS95YW1sLTEuMS9vbWFwLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3Qvc2NoZW1hL3lhbWwtMS4xL2Jvb2wuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9zY2hlbWEveWFtbC0xLjEvZmxvYXQuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9zY2hlbWEveWFtbC0xLjEvaW50LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3Qvc2NoZW1hL3lhbWwtMS4xL3NldC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L3NjaGVtYS95YW1sLTEuMS90aW1lc3RhbXAuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9zY2hlbWEveWFtbC0xLjEvc2NoZW1hLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3Qvc2NoZW1hL3RhZ3MuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9zY2hlbWEvU2NoZW1hLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3Qvc3RyaW5naWZ5L3N0cmluZ2lmeURvY3VtZW50LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3QvZG9jL0RvY3VtZW50LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3QvZXJyb3JzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3QvY29tcG9zZS9yZXNvbHZlLXByb3BzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3QvY29tcG9zZS91dGlsLWNvbnRhaW5zLW5ld2xpbmUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9jb21wb3NlL3V0aWwtZmxvdy1pbmRlbnQtY2hlY2suanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9jb21wb3NlL3V0aWwtbWFwLWluY2x1ZGVzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3QvY29tcG9zZS9yZXNvbHZlLWJsb2NrLW1hcC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L2NvbXBvc2UvcmVzb2x2ZS1ibG9jay1zZXEuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9jb21wb3NlL3Jlc29sdmUtZW5kLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3QvY29tcG9zZS9yZXNvbHZlLWZsb3ctY29sbGVjdGlvbi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L2NvbXBvc2UvY29tcG9zZS1jb2xsZWN0aW9uLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3QvY29tcG9zZS9yZXNvbHZlLWJsb2NrLXNjYWxhci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L2NvbXBvc2UvcmVzb2x2ZS1mbG93LXNjYWxhci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L2NvbXBvc2UvY29tcG9zZS1zY2FsYXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9jb21wb3NlL3V0aWwtZW1wdHktc2NhbGFyLXBvc2l0aW9uLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3QvY29tcG9zZS9jb21wb3NlLW5vZGUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9jb21wb3NlL2NvbXBvc2UtZG9jLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3QvY29tcG9zZS9jb21wb3Nlci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveWFtbC9kaXN0L3BhcnNlL2NzdC1zY2FsYXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9wYXJzZS9jc3Qtc3RyaW5naWZ5LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3QvcGFyc2UvY3N0LXZpc2l0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3QvcGFyc2UvY3N0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3QvcGFyc2UvbGV4ZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9wYXJzZS9saW5lLWNvdW50ZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9wYXJzZS9wYXJzZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3lhbWwvZGlzdC9wdWJsaWMtYXBpLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy95YW1sL2Rpc3QvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYmlkbC1jb252ZXJzaW9ucy9saWIvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3doYXR3Zy11cmwvbGliL3V0aWxzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy90cjQ2L2xpYi9tYXBwaW5nVGFibGUuanNvbiIsICIuLi8uLi9ub2RlX21vZHVsZXMvdHI0Ni9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2hhdHdnLXVybC9saWIvdXJsLXN0YXRlLW1hY2hpbmUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3doYXR3Zy11cmwvbGliL1VSTC1pbXBsLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93aGF0d2ctdXJsL2xpYi9VUkwuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3doYXR3Zy11cmwvbGliL3B1YmxpYy1hcGkuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtZmV0Y2gvbGliL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9mb3JtZGF0YS1ub2RlL25vZGVfbW9kdWxlcy93ZWItc3RyZWFtcy1wb2x5ZmlsbC9kaXN0L3BvbnlmaWxsLm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZm9ybWRhdGEtbm9kZS9saWIvZXNtL2lzRnVuY3Rpb24uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2Zvcm1kYXRhLW5vZGUvbGliL2VzbS9ibG9iSGVscGVycy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZm9ybWRhdGEtbm9kZS9saWIvZXNtL0Jsb2IuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2Zvcm1kYXRhLW5vZGUvbGliL2VzbS9GaWxlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9mb3JtZGF0YS1ub2RlL2xpYi9lc20vaXNGaWxlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9odW1hbml6ZS1tcy9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvYWdlbnRrZWVwYWxpdmUvbGliL2NvbnN0YW50cy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvYWdlbnRrZWVwYWxpdmUvbGliL2FnZW50LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9hZ2VudGtlZXBhbGl2ZS9saWIvaHR0cHNfYWdlbnQuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2FnZW50a2VlcGFsaXZlL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9ldmVudC10YXJnZXQtc2hpbS9zcmMvZXZlbnQubWpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9ldmVudC10YXJnZXQtc2hpbS9zcmMvZXZlbnQtdGFyZ2V0Lm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvYWJvcnQtY29udHJvbGxlci9zcmMvYWJvcnQtc2lnbmFsLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9hYm9ydC1jb250cm9sbGVyL3NyYy9hYm9ydC1jb250cm9sbGVyLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93ZWItc3RyZWFtcy1wb2x5ZmlsbC9zcmMvdXRpbHMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi1zdHJlYW1zLXBvbHlmaWxsL3NyYy9saWIvaGVscGVycy9taXNjZWxsYW5lb3VzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93ZWItc3RyZWFtcy1wb2x5ZmlsbC9zcmMvbGliL2hlbHBlcnMvd2ViaWRsLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93ZWItc3RyZWFtcy1wb2x5ZmlsbC9zcmMvbGliL3NpbXBsZS1xdWV1ZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL2xpYi9hYnN0cmFjdC1vcHMvaW50ZXJuYWwtbWV0aG9kcy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL2xpYi9yZWFkYWJsZS1zdHJlYW0vZ2VuZXJpYy1yZWFkZXIudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi1zdHJlYW1zLXBvbHlmaWxsL3NyYy9zdHViL251bWJlci1pc2Zpbml0ZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL3N0dWIvbWF0aC10cnVuYy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL2xpYi92YWxpZGF0b3JzL2Jhc2ljLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93ZWItc3RyZWFtcy1wb2x5ZmlsbC9zcmMvbGliL3ZhbGlkYXRvcnMvcmVhZGFibGUtc3RyZWFtLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93ZWItc3RyZWFtcy1wb2x5ZmlsbC9zcmMvbGliL3JlYWRhYmxlLXN0cmVhbS9kZWZhdWx0LXJlYWRlci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL3RhcmdldC9lczIwMTgvc3R1Yi9hc3luYy1pdGVyYXRvci1wcm90b3R5cGUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi1zdHJlYW1zLXBvbHlmaWxsL3NyYy9saWIvcmVhZGFibGUtc3RyZWFtL2FzeW5jLWl0ZXJhdG9yLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93ZWItc3RyZWFtcy1wb2x5ZmlsbC9zcmMvc3R1Yi9udW1iZXItaXNuYW4udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi1zdHJlYW1zLXBvbHlmaWxsL3NyYy9saWIvYWJzdHJhY3Qtb3BzL2VjbWFzY3JpcHQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi1zdHJlYW1zLXBvbHlmaWxsL3NyYy9saWIvYWJzdHJhY3Qtb3BzL21pc2NlbGxhbmVvdXMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi1zdHJlYW1zLXBvbHlmaWxsL3NyYy9saWIvYWJzdHJhY3Qtb3BzL3F1ZXVlLXdpdGgtc2l6ZXMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi1zdHJlYW1zLXBvbHlmaWxsL3NyYy9saWIvaGVscGVycy9hcnJheS1idWZmZXItdmlldy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL2xpYi9yZWFkYWJsZS1zdHJlYW0vYnl0ZS1zdHJlYW0tY29udHJvbGxlci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL2xpYi92YWxpZGF0b3JzL3JlYWRlci1vcHRpb25zLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93ZWItc3RyZWFtcy1wb2x5ZmlsbC9zcmMvbGliL3JlYWRhYmxlLXN0cmVhbS9ieW9iLXJlYWRlci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL2xpYi9hYnN0cmFjdC1vcHMvcXVldWluZy1zdHJhdGVneS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL2xpYi92YWxpZGF0b3JzL3F1ZXVpbmctc3RyYXRlZ3kudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi1zdHJlYW1zLXBvbHlmaWxsL3NyYy9saWIvdmFsaWRhdG9ycy91bmRlcmx5aW5nLXNpbmsudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi1zdHJlYW1zLXBvbHlmaWxsL3NyYy9saWIvdmFsaWRhdG9ycy93cml0YWJsZS1zdHJlYW0udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi1zdHJlYW1zLXBvbHlmaWxsL3NyYy9saWIvYWJvcnQtc2lnbmFsLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93ZWItc3RyZWFtcy1wb2x5ZmlsbC9zcmMvbGliL3dyaXRhYmxlLXN0cmVhbS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL2dsb2JhbHMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi1zdHJlYW1zLXBvbHlmaWxsL3NyYy9zdHViL2RvbS1leGNlcHRpb24udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi1zdHJlYW1zLXBvbHlmaWxsL3NyYy9saWIvcmVhZGFibGUtc3RyZWFtL3BpcGUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi1zdHJlYW1zLXBvbHlmaWxsL3NyYy9saWIvcmVhZGFibGUtc3RyZWFtL2RlZmF1bHQtY29udHJvbGxlci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL2xpYi9yZWFkYWJsZS1zdHJlYW0vdGVlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93ZWItc3RyZWFtcy1wb2x5ZmlsbC9zcmMvbGliL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS1zdHJlYW0tbGlrZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL2xpYi9yZWFkYWJsZS1zdHJlYW0vZnJvbS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL2xpYi92YWxpZGF0b3JzL3VuZGVybHlpbmctc291cmNlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93ZWItc3RyZWFtcy1wb2x5ZmlsbC9zcmMvbGliL3ZhbGlkYXRvcnMvaXRlcmF0b3Itb3B0aW9ucy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL2xpYi92YWxpZGF0b3JzL3BpcGUtb3B0aW9ucy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL2xpYi92YWxpZGF0b3JzL3JlYWRhYmxlLXdyaXRhYmxlLXBhaXIudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi1zdHJlYW1zLXBvbHlmaWxsL3NyYy9saWIvcmVhZGFibGUtc3RyZWFtLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93ZWItc3RyZWFtcy1wb2x5ZmlsbC9zcmMvbGliL3ZhbGlkYXRvcnMvcXVldWluZy1zdHJhdGVneS1pbml0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93ZWItc3RyZWFtcy1wb2x5ZmlsbC9zcmMvbGliL2J5dGUtbGVuZ3RoLXF1ZXVpbmctc3RyYXRlZ3kudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3dlYi1zdHJlYW1zLXBvbHlmaWxsL3NyYy9saWIvY291bnQtcXVldWluZy1zdHJhdGVneS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2ViLXN0cmVhbXMtcG9seWZpbGwvc3JjL2xpYi92YWxpZGF0b3JzL3RyYW5zZm9ybWVyLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93ZWItc3RyZWFtcy1wb2x5ZmlsbC9zcmMvbGliL3RyYW5zZm9ybS1zdHJlYW0udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL25vZGUtZG9tZXhjZXB0aW9uL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9mb3JtZGF0YS1ub2RlL2xpYi9lc20vaXNQbGFpbk9iamVjdC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZm9ybWRhdGEtbm9kZS9saWIvZXNtL2ZpbGVGcm9tUGF0aC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvc3JjL3V0aWxzL2ludGVyc2VjdGlvbi5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvc2hhcmVkLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9ub2RlX21vZHVsZXMvYXN0LXR5cGVzL3NyYy90eXBlcy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvcGF0aC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvc2NvcGUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2pzY29kZXNoaWZ0L25vZGVfbW9kdWxlcy9hc3QtdHlwZXMvc3JjL25vZGUtcGF0aC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvcGF0aC12aXNpdG9yLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9ub2RlX21vZHVsZXMvYXN0LXR5cGVzL3NyYy9lcXVpdi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZm9yay50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZGVmL29wZXJhdG9ycy9jb3JlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9ub2RlX21vZHVsZXMvYXN0LXR5cGVzL3NyYy9kZWYvb3BlcmF0b3JzL2VzMjAxNi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZGVmL29wZXJhdG9ycy9lczIwMjAudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2pzY29kZXNoaWZ0L25vZGVfbW9kdWxlcy9hc3QtdHlwZXMvc3JjL2RlZi9vcGVyYXRvcnMvZXMyMDIxLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9ub2RlX21vZHVsZXMvYXN0LXR5cGVzL3NyYy9kZWYvY29yZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZGVmL2VzNi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZGVmL2VzMjAxNi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZGVmL2VzMjAxNy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZGVmL2VzMjAxOC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZGVmL2VzMjAxOS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZGVmL2VzMjAyMC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZGVmL2VzMjAyMS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZGVmL2VzMjAyMi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZGVmL2VzLXByb3Bvc2Fscy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZGVmL2pzeC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZGVmL3R5cGUtYW5ub3RhdGlvbnMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2pzY29kZXNoaWZ0L25vZGVfbW9kdWxlcy9hc3QtdHlwZXMvc3JjL2RlZi9mbG93LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9ub2RlX21vZHVsZXMvYXN0LXR5cGVzL3NyYy9kZWYvZXNwcmltYS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZGVmL2JhYmVsLWNvcmUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2pzY29kZXNoaWZ0L25vZGVfbW9kdWxlcy9hc3QtdHlwZXMvc3JjL2RlZi9iYWJlbC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL2FzdC10eXBlcy9zcmMvZGVmL3R5cGVzY3JpcHQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2pzY29kZXNoaWZ0L25vZGVfbW9kdWxlcy9hc3QtdHlwZXMvc3JjL2dlbi9uYW1lZFR5cGVzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9ub2RlX21vZHVsZXMvYXN0LXR5cGVzL3NyYy9tYWluLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy90aW55LWludmFyaWFudC9kaXN0L3RpbnktaW52YXJpYW50LmNqcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc291cmNlLW1hcC9saWIvYmFzZTY0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zb3VyY2UtbWFwL2xpYi9iYXNlNjQtdmxxLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zb3VyY2UtbWFwL2xpYi91dGlsLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zb3VyY2UtbWFwL2xpYi9hcnJheS1zZXQuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NvdXJjZS1tYXAvbGliL21hcHBpbmctbGlzdC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc291cmNlLW1hcC9saWIvc291cmNlLW1hcC1nZW5lcmF0b3IuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NvdXJjZS1tYXAvbGliL2JpbmFyeS1zZWFyY2guanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NvdXJjZS1tYXAvbGliL3F1aWNrLXNvcnQuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NvdXJjZS1tYXAvbGliL3NvdXJjZS1tYXAtY29uc3VtZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NvdXJjZS1tYXAvbGliL3NvdXJjZS1ub2RlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zb3VyY2UtbWFwL3NvdXJjZS1tYXAuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2pzY29kZXNoaWZ0L25vZGVfbW9kdWxlcy9yZWNhc3QvbGliL3V0aWwuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2VzcHJpbWEvZGlzdC9lc3ByaW1hLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9ub2RlX21vZHVsZXMvcmVjYXN0L3BhcnNlcnMvZXNwcmltYS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL3JlY2FzdC9saWIvb3B0aW9ucy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL3JlY2FzdC9saWIvbWFwcGluZy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL3JlY2FzdC9saWIvbGluZXMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2pzY29kZXNoaWZ0L25vZGVfbW9kdWxlcy9yZWNhc3QvbGliL2NvbW1lbnRzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9ub2RlX21vZHVsZXMvcmVjYXN0L2xpYi9wYXJzZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2pzY29kZXNoaWZ0L25vZGVfbW9kdWxlcy9yZWNhc3QvbGliL2Zhc3QtcGF0aC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL3JlY2FzdC9saWIvcGF0Y2hlci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL3JlY2FzdC9saWIvcHJpbnRlci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvbm9kZV9tb2R1bGVzL3JlY2FzdC9tYWluLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9zcmMvdXRpbHMvdW5pb24uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2pzY29kZXNoaWZ0L3NyYy9Db2xsZWN0aW9uLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9zcmMvbWF0Y2hOb2RlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9zcmMvdXRpbHMvb25jZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvc3JjL2NvbGxlY3Rpb25zL05vZGUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2pzY29kZXNoaWZ0L3NyYy9jb2xsZWN0aW9ucy9WYXJpYWJsZURlY2xhcmF0b3IuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2pzY29kZXNoaWZ0L3NyYy9jb2xsZWN0aW9ucy9KU1hFbGVtZW50LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9zcmMvY29sbGVjdGlvbnMvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9wYXJzZXIvc3JjL3V0aWwvbG9jYXRpb24udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9wYXJzZXIvc3JjL3BhcnNlLWVycm9yL21vZHVsZS1lcnJvcnMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9wYXJzZXIvc3JjL3BhcnNlLWVycm9yL3RvLW5vZGUtZGVzY3JpcHRpb24udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9wYXJzZXIvc3JjL3BhcnNlLWVycm9yL3N0YW5kYXJkLWVycm9ycy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3BhcnNlci9zcmMvcGFyc2UtZXJyb3Ivc3RyaWN0LW1vZGUtZXJyb3JzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcGFyc2VyL3NyYy9wYXJzZS1lcnJvci9waXBlbGluZS1vcGVyYXRvci1lcnJvcnMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9wYXJzZXIvc3JjL3BhcnNlLWVycm9yLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcGFyc2VyL3NyYy9wbHVnaW5zL2VzdHJlZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3BhcnNlci9zcmMvdG9rZW5pemVyL2NvbnRleHQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9wYXJzZXIvc3JjL3Rva2VuaXplci90eXBlcy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL2JhYmVsLWhlbHBlci12YWxpZGF0b3ItaWRlbnRpZmllci9zcmMvaWRlbnRpZmllci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL2JhYmVsLWhlbHBlci12YWxpZGF0b3ItaWRlbnRpZmllci9zcmMva2V5d29yZC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3BhcnNlci9zcmMvdXRpbC9pZGVudGlmaWVyLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcGFyc2VyL3NyYy91dGlsL3Njb3BlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcGFyc2VyL3NyYy9wbHVnaW5zL2Zsb3cvc2NvcGUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9wYXJzZXIvc3JjL3BhcnNlci9iYXNlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcGFyc2VyL3NyYy9wYXJzZXIvY29tbWVudHMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9wYXJzZXIvc3JjL3V0aWwvd2hpdGVzcGFjZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3BhcnNlci9zcmMvdG9rZW5pemVyL3N0YXRlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvYmFiZWwtaGVscGVyLXN0cmluZy1wYXJzZXIvc3JjL2luZGV4LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcGFyc2VyL3NyYy90b2tlbml6ZXIvaW5kZXgudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9wYXJzZXIvc3JjL3V0aWwvY2xhc3Mtc2NvcGUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9wYXJzZXIvc3JjL3V0aWwvZXhwcmVzc2lvbi1zY29wZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3BhcnNlci9zcmMvdXRpbC9wcm9kdWN0aW9uLXBhcmFtZXRlci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3BhcnNlci9zcmMvcGFyc2VyL3V0aWwudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9wYXJzZXIvc3JjL3BhcnNlci9ub2RlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcGFyc2VyL3NyYy9wbHVnaW5zL2Zsb3cvaW5kZXgudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BiYWJlbC9wYXJzZXIvc3JjL3BsdWdpbnMvanN4L3hodG1sLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcGFyc2VyL3NyYy9wbHVnaW5zL2pzeC9pbmRleC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3BhcnNlci9zcmMvcGx1Z2lucy90eXBlc2NyaXB0L3Njb3BlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcGFyc2VyL3NyYy9wYXJzZXIvbHZhbC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3BhcnNlci9zcmMvcGx1Z2lucy90eXBlc2NyaXB0L2luZGV4LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcGFyc2VyL3NyYy9wbHVnaW5zL3BsYWNlaG9sZGVycy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3BhcnNlci9zcmMvcGx1Z2lucy92OGludHJpbnNpYy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3BhcnNlci9zcmMvcGx1Z2luLXV0aWxzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcGFyc2VyL3NyYy9vcHRpb25zLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcGFyc2VyL3NyYy9wYXJzZXIvZXhwcmVzc2lvbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3BhcnNlci9zcmMvcGFyc2VyL3N0YXRlbWVudC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGJhYmVsL3BhcnNlci9zcmMvcGFyc2VyL2luZGV4LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AYmFiZWwvcGFyc2VyL3NyYy9pbmRleC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvcGFyc2VyL2JhYnlsb24uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2Zsb3ctcGFyc2VyL2Zsb3dfcGFyc2VyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9wYXJzZXIvZmxvdy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvcGFyc2VyL3RzT3B0aW9ucy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvanNjb2Rlc2hpZnQvcGFyc2VyL3RzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9wYXJzZXIvdHN4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9wYXJzZXIvYmFiZWw1Q29tcGF0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9zcmMvZ2V0UGFyc2VyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9zcmMvdGVtcGxhdGUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2pzY29kZXNoaWZ0L3NyYy9jb3JlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9qc2NvZGVzaGlmdC9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvdW5pdmVyc2FsLXVzZXItYWdlbnQvZGlzdC1zcmMvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2JlZm9yZS1hZnRlci1ob29rL2xpYi9yZWdpc3Rlci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvYmVmb3JlLWFmdGVyLWhvb2svbGliL2FkZC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvYmVmb3JlLWFmdGVyLWhvb2svbGliL3JlbW92ZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvYmVmb3JlLWFmdGVyLWhvb2svaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BvY3Rva2l0L2VuZHBvaW50L2Rpc3Qtbm9kZS9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZGVwcmVjYXRpb24vZGlzdC1ub2RlL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93cmFwcHkvd3JhcHB5LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vbmNlL29uY2UuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BvY3Rva2l0L3JlcXVlc3QtZXJyb3IvZGlzdC1ub2RlL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9Ab2N0b2tpdC9yZXF1ZXN0L2Rpc3Qtbm9kZS9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQG9jdG9raXQvZ3JhcGhxbC9kaXN0LW5vZGUvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BvY3Rva2l0L2F1dGgtdG9rZW4vZGlzdC1ub2RlL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9Ab2N0b2tpdC9jb3JlL2Rpc3Qtbm9kZS9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQG9jdG9raXQvcGx1Z2luLXJlcXVlc3QtbG9nL2Rpc3Qtbm9kZS9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQG9jdG9raXQvcGx1Z2luLXBhZ2luYXRlLXJlc3QvZGlzdC1ub2RlL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9Ab2N0b2tpdC9wbHVnaW4tcmVzdC1lbmRwb2ludC1tZXRob2RzL2Rpc3Qtbm9kZS9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQG9jdG9raXQvcmVzdC9kaXN0LW5vZGUvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3Byb3RvY29scy9saWIvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3BhcnNlLXBhdGgvbGliL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wYXJzZS11cmwvZGlzdC9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaXMtc3NoL2xpYi9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZ2l0LXVwL2xpYi9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZ2l0LXVybC1wYXJzZS9saWIvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2Fuc2ktZXNjYXBlcy9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMveW9jdG9jb2xvcnMtY2pzL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9ydW4tYXN5bmMvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3V0aWwvaXNGdW5jdGlvbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvdXRpbC9jcmVhdGVFcnJvckNsYXNzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC91dGlsL1Vuc3Vic2NyaXB0aW9uRXJyb3IudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3V0aWwvYXJyUmVtb3ZlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9TdWJzY3JpcHRpb24udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL2NvbmZpZy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvc2NoZWR1bGVyL3RpbWVvdXRQcm92aWRlci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvdXRpbC9yZXBvcnRVbmhhbmRsZWRFcnJvci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvdXRpbC9ub29wLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9Ob3RpZmljYXRpb25GYWN0b3JpZXMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3V0aWwvZXJyb3JDb250ZXh0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9TdWJzY3JpYmVyLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9zeW1ib2wvb2JzZXJ2YWJsZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvdXRpbC9pZGVudGl0eS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvdXRpbC9waXBlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9PYnNlcnZhYmxlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC91dGlsL2xpZnQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9PcGVyYXRvclN1YnNjcmliZXIudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9yZWZDb3VudC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9Db25uZWN0YWJsZU9ic2VydmFibGUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3NjaGVkdWxlci9wZXJmb3JtYW5jZVRpbWVzdGFtcFByb3ZpZGVyLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9zY2hlZHVsZXIvYW5pbWF0aW9uRnJhbWVQcm92aWRlci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9kb20vYW5pbWF0aW9uRnJhbWVzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC91dGlsL09iamVjdFVuc3Vic2NyaWJlZEVycm9yLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9TdWJqZWN0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9CZWhhdmlvclN1YmplY3QudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3NjaGVkdWxlci9kYXRlVGltZXN0YW1wUHJvdmlkZXIudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL1JlcGxheVN1YmplY3QudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL0FzeW5jU3ViamVjdC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvc2NoZWR1bGVyL0FjdGlvbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvc2NoZWR1bGVyL2ludGVydmFsUHJvdmlkZXIudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3NjaGVkdWxlci9Bc3luY0FjdGlvbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvdXRpbC9JbW1lZGlhdGUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3NjaGVkdWxlci9pbW1lZGlhdGVQcm92aWRlci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvc2NoZWR1bGVyL0FzYXBBY3Rpb24udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL1NjaGVkdWxlci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvc2NoZWR1bGVyL0FzeW5jU2NoZWR1bGVyLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9zY2hlZHVsZXIvQXNhcFNjaGVkdWxlci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvc2NoZWR1bGVyL2FzYXAudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3NjaGVkdWxlci9hc3luYy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvc2NoZWR1bGVyL1F1ZXVlQWN0aW9uLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9zY2hlZHVsZXIvUXVldWVTY2hlZHVsZXIudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3NjaGVkdWxlci9xdWV1ZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvc2NoZWR1bGVyL0FuaW1hdGlvbkZyYW1lQWN0aW9uLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9zY2hlZHVsZXIvQW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3NjaGVkdWxlci9hbmltYXRpb25GcmFtZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvc2NoZWR1bGVyL1ZpcnR1YWxUaW1lU2NoZWR1bGVyLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vYnNlcnZhYmxlL2VtcHR5LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC91dGlsL2lzU2NoZWR1bGVyLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC91dGlsL2FyZ3MudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3V0aWwvaXNBcnJheUxpa2UudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3V0aWwvaXNQcm9taXNlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC91dGlsL2lzSW50ZXJvcE9ic2VydmFibGUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3V0aWwvaXNBc3luY0l0ZXJhYmxlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC91dGlsL3Rocm93VW5vYnNlcnZhYmxlRXJyb3IudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3N5bWJvbC9pdGVyYXRvci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvdXRpbC9pc0l0ZXJhYmxlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC91dGlsL2lzUmVhZGFibGVTdHJlYW1MaWtlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vYnNlcnZhYmxlL2lubmVyRnJvbS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvdXRpbC9leGVjdXRlU2NoZWR1bGUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9vYnNlcnZlT24udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9zdWJzY3JpYmVPbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvc2NoZWR1bGVkL3NjaGVkdWxlT2JzZXJ2YWJsZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvc2NoZWR1bGVkL3NjaGVkdWxlUHJvbWlzZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvc2NoZWR1bGVkL3NjaGVkdWxlQXJyYXkudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3NjaGVkdWxlZC9zY2hlZHVsZUl0ZXJhYmxlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9zY2hlZHVsZWQvc2NoZWR1bGVBc3luY0l0ZXJhYmxlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9zY2hlZHVsZWQvc2NoZWR1bGVSZWFkYWJsZVN0cmVhbUxpa2UudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3NjaGVkdWxlZC9zY2hlZHVsZWQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29ic2VydmFibGUvZnJvbS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9vZi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb2JzZXJ2YWJsZS90aHJvd0Vycm9yLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9Ob3RpZmljYXRpb24udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3V0aWwvaXNPYnNlcnZhYmxlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC91dGlsL0VtcHR5RXJyb3IudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL2xhc3RWYWx1ZUZyb20udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL2ZpcnN0VmFsdWVGcm9tLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC91dGlsL0FyZ3VtZW50T3V0T2ZSYW5nZUVycm9yLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC91dGlsL05vdEZvdW5kRXJyb3IudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3V0aWwvU2VxdWVuY2VFcnJvci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvdXRpbC9pc0RhdGUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy90aW1lb3V0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvbWFwLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC91dGlsL21hcE9uZU9yTWFueUFyZ3MudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29ic2VydmFibGUvYmluZENhbGxiYWNrSW50ZXJuYWxzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vYnNlcnZhYmxlL2JpbmRDYWxsYmFjay50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9iaW5kTm9kZUNhbGxiYWNrLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC91dGlsL2FyZ3NBcmdBcnJheU9yT2JqZWN0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC91dGlsL2NyZWF0ZU9iamVjdC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9jb21iaW5lTGF0ZXN0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvbWVyZ2VJbnRlcm5hbHMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9tZXJnZU1hcC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL21lcmdlQWxsLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvY29uY2F0QWxsLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vYnNlcnZhYmxlL2NvbmNhdC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9kZWZlci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9jb25uZWN0YWJsZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9mb3JrSm9pbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9mcm9tRXZlbnQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29ic2VydmFibGUvZnJvbUV2ZW50UGF0dGVybi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9nZW5lcmF0ZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9paWYudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29ic2VydmFibGUvdGltZXIudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29ic2VydmFibGUvaW50ZXJ2YWwudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29ic2VydmFibGUvbWVyZ2UudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29ic2VydmFibGUvbmV2ZXIudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3V0aWwvYXJnc09yQXJnQXJyYXkudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29ic2VydmFibGUvb25FcnJvclJlc3VtZU5leHQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29ic2VydmFibGUvcGFpcnMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL3V0aWwvbm90LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvZmlsdGVyLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vYnNlcnZhYmxlL3BhcnRpdGlvbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9yYWNlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vYnNlcnZhYmxlL3JhbmdlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vYnNlcnZhYmxlL3VzaW5nLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vYnNlcnZhYmxlL3ppcC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9kaXN0L2Nqcy9pbnRlcm5hbC90eXBlcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL2F1ZGl0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvYXVkaXRUaW1lLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvYnVmZmVyLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvYnVmZmVyQ291bnQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9idWZmZXJUaW1lLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvYnVmZmVyVG9nZ2xlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvYnVmZmVyV2hlbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL2NhdGNoRXJyb3IudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9zY2FuSW50ZXJuYWxzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvcmVkdWNlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvdG9BcnJheS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL2pvaW5BbGxJbnRlcm5hbHMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9jb21iaW5lTGF0ZXN0QWxsLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvY29tYmluZUFsbC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL2NvbWJpbmVMYXRlc3QudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9jb21iaW5lTGF0ZXN0V2l0aC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL2NvbmNhdE1hcC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL2NvbmNhdE1hcFRvLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvY29uY2F0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvY29uY2F0V2l0aC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb2JzZXJ2YWJsZS9mcm9tU3Vic2NyaWJhYmxlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvY29ubmVjdC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL2NvdW50LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvZGVib3VuY2UudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9kZWJvdW5jZVRpbWUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9kZWZhdWx0SWZFbXB0eS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL3Rha2UudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9pZ25vcmVFbGVtZW50cy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL21hcFRvLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvZGVsYXlXaGVuLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvZGVsYXkudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9kZW1hdGVyaWFsaXplLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvZGlzdGluY3QudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9kaXN0aW5jdFVudGlsQ2hhbmdlZC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL2Rpc3RpbmN0VW50aWxLZXlDaGFuZ2VkLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvdGhyb3dJZkVtcHR5LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvZWxlbWVudEF0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvZW5kV2l0aC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL2V2ZXJ5LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvZXhoYXVzdE1hcC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL2V4aGF1c3RBbGwudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9leGhhdXN0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvZXhwYW5kLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvZmluYWxpemUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9maW5kLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvZmluZEluZGV4LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvZmlyc3QudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9ncm91cEJ5LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvaXNFbXB0eS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL3Rha2VMYXN0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvbGFzdC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL21hdGVyaWFsaXplLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvbWF4LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvZmxhdE1hcC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL21lcmdlTWFwVG8udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9tZXJnZVNjYW4udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9tZXJnZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL21lcmdlV2l0aC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL21pbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL211bHRpY2FzdC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL29uRXJyb3JSZXN1bWVOZXh0V2l0aC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL3BhaXJ3aXNlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvcGx1Y2sudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9wdWJsaXNoLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvcHVibGlzaEJlaGF2aW9yLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvcHVibGlzaExhc3QudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9wdWJsaXNoUmVwbGF5LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvcmFjZVdpdGgudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9yZXBlYXQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9yZXBlYXRXaGVuLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvcmV0cnkudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9yZXRyeVdoZW4udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9zYW1wbGUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9zYW1wbGVUaW1lLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvc2Nhbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL3NlcXVlbmNlRXF1YWwudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9zaGFyZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL3NoYXJlUmVwbGF5LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvc2luZ2xlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvc2tpcC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL3NraXBMYXN0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvc2tpcFVudGlsLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvc2tpcFdoaWxlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvc3RhcnRXaXRoLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvc3dpdGNoTWFwLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvc3dpdGNoQWxsLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvc3dpdGNoTWFwVG8udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy9zd2l0Y2hTY2FuLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvdGFrZVVudGlsLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvdGFrZVdoaWxlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvdGFwLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvdGhyb3R0bGUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy90aHJvdHRsZVRpbWUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy90aW1lSW50ZXJ2YWwudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy90aW1lb3V0V2l0aC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL3RpbWVzdGFtcC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL3dpbmRvdy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL3dpbmRvd0NvdW50LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yeGpzL3NyYy9pbnRlcm5hbC9vcGVyYXRvcnMvd2luZG93VGltZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL3dpbmRvd1RvZ2dsZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL3dpbmRvd1doZW4udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2ludGVybmFsL29wZXJhdG9ycy93aXRoTGF0ZXN0RnJvbS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL3ppcEFsbC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL3ppcC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcnhqcy9zcmMvaW50ZXJuYWwvb3BlcmF0b3JzL3ppcFdpdGgudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3J4anMvc3JjL2luZGV4LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9jbGktd2lkdGgvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2Fuc2ktcmVnZXgvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N0cmlwLWFuc2kvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2lzLWZ1bGx3aWR0aC1jb2RlLXBvaW50L2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9lbW9qaS1yZWdleC9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc3RyaW5nLXdpZHRoL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9jb2xvci1uYW1lL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L2NvbnZlcnNpb25zLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L3JvdXRlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9jb2xvci1jb252ZXJ0L2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9hbnNpLXN0eWxlcy9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd3JhcC1hbnNpL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9jaGFsay9zb3VyY2UvdXRpbC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvY2hhbGsvc291cmNlL3RlbXBsYXRlcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvY2hhbGsvc291cmNlL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9taW1pYy1mbi9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvb25ldGltZS9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcmVzdG9yZS1jdXJzb3Ivbm9kZV9tb2R1bGVzL3NpZ25hbC1leGl0L3NpZ25hbHMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3Jlc3RvcmUtY3Vyc29yL25vZGVfbW9kdWxlcy9zaWduYWwtZXhpdC9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcmVzdG9yZS1jdXJzb3IvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2NsaS1jdXJzb3IvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2NsaS1zcGlubmVycy9zcGlubmVycy5qc29uIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9jbGktc3Bpbm5lcnMvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2lzLXVuaWNvZGUtc3VwcG9ydGVkL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sb2ctc3ltYm9scy9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvY2xvbmUvY2xvbmUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2RlZmF1bHRzL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy93Y3dpZHRoL2NvbWJpbmluZy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvd2N3aWR0aC9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaXMtaW50ZXJhY3RpdmUvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9idWZmZXJfbGlzdC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3kuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9lcnJvcnMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9zdGF0ZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHNfYnJvd3Nlci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaW5oZXJpdHMvaW5oZXJpdHMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3V0aWwtZGVwcmVjYXRlL25vZGUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV93cml0YWJsZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX2R1cGxleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2FmZS1idWZmZXIvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3N0cmluZ19kZWNvZGVyL2xpYi9zdHJpbmdfZGVjb2Rlci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvaW50ZXJuYWwvc3RyZWFtcy9hc3luY19pdGVyYXRvci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2Zyb20uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9saWIvX3N0cmVhbV9yZWFkYWJsZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3RyYW5zZm9ybS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcmVhZGFibGUtc3RyZWFtL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9yZWFkYWJsZS1zdHJlYW0vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3JlYWRhYmxlLXN0cmVhbS9yZWFkYWJsZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvYmwvQnVmZmVyTGlzdC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvYmwvYmwuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29yYS9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvY2hhcmRldC9tYXRjaC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvY2hhcmRldC9lbmNvZGluZy91dGY4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9jaGFyZGV0L2VuY29kaW5nL3VuaWNvZGUuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2NoYXJkZXQvZW5jb2RpbmcvbWJjcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvY2hhcmRldC9lbmNvZGluZy9zYmNzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9jaGFyZGV0L2VuY29kaW5nL2lzbzIwMjIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2NoYXJkZXQvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NhZmVyLWJ1ZmZlci9zYWZlci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9saWIvYm9tLWhhbmRsaW5nLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy9pbnRlcm5hbC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdXRmMTYuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3V0ZjcuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3NiY3MtY29kZWMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3NiY3MtZGF0YS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3Mvc2Jjcy1kYXRhLWdlbmVyYXRlZC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvZGJjcy1jb2RlYy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdGFibGVzL3NoaWZ0amlzLmpzb24iLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3RhYmxlcy9ldWNqcC5qc29uIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy90YWJsZXMvY3A5MzYuanNvbiIsICIuLi8uLi9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdGFibGVzL2diay1hZGRlZC5qc29uIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy90YWJsZXMvZ2IxODAzMC1yYW5nZXMuanNvbiIsICIuLi8uLi9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9lbmNvZGluZ3MvdGFibGVzL2NwOTQ5Lmpzb24iLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL3RhYmxlcy9jcDk1MC5qc29uIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy90YWJsZXMvYmlnNS1hZGRlZC5qc29uIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2VuY29kaW5ncy9kYmNzLWRhdGEuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2ljb252LWxpdGUvZW5jb2RpbmdzL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2xpYi9zdHJlYW1zLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pY29udi1saXRlL2xpYi9leHRlbmQtbm9kZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaWNvbnYtbGl0ZS9saWIvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29zLXRtcGRpci9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvdG1wL2xpYi90bXAuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2V4dGVybmFsLWVkaXRvci9tYWluL2Vycm9ycy9DcmVhdGVGaWxlRXJyb3IuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2V4dGVybmFsLWVkaXRvci9tYWluL2Vycm9ycy9MYXVuY2hFZGl0b3JFcnJvci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZXh0ZXJuYWwtZWRpdG9yL21haW4vZXJyb3JzL1JlYWRGaWxlRXJyb3IuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2V4dGVybmFsLWVkaXRvci9tYWluL2Vycm9ycy9SZW1vdmVGaWxlRXJyb3IuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2V4dGVybmFsLWVkaXRvci9tYWluL2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tdXRlLXN0cmVhbS9saWIvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZXR0aWVyL2RvYy5tanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3ByZXR0aWVyL3BsdWdpbnMvYWNvcm4ubWpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmV0dGllci9wbHVnaW5zL2FuZ3VsYXIubWpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmV0dGllci9wbHVnaW5zL2JhYmVsLm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJldHRpZXIvcGx1Z2lucy9lc3RyZWUubWpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmV0dGllci9wbHVnaW5zL2Zsb3cubWpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmV0dGllci9wbHVnaW5zL2dsaW1tZXIubWpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmV0dGllci9wbHVnaW5zL2dyYXBocWwubWpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmV0dGllci9wbHVnaW5zL2h0bWwubWpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wcmV0dGllci9wbHVnaW5zL21hcmtkb3duLm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJldHRpZXIvcGx1Z2lucy9tZXJpeWFoLm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJldHRpZXIvcGx1Z2lucy9wb3N0Y3NzLm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJldHRpZXIvcGx1Z2lucy90eXBlc2NyaXB0Lm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJldHRpZXIvcGx1Z2lucy95YW1sLm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvcHJldHRpZXIvaW5kZXgubWpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9sb2Rhc2guZ2V0L2luZGV4LmpzIiwgInNyYy9pbmRleC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGNvZGVtb2QuY29tL3dvcmtmbG93L2Rpc3QvaW5kZXgubWpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvYXJncy9wYXRoc3BlYy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL2Vycm9ycy9naXQtZXJyb3IudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9lcnJvcnMvZ2l0LXJlc3BvbnNlLWVycm9yLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvZXJyb3JzL3Rhc2stY29uZmlndXJhdGlvbi1lcnJvci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3V0aWxzL3V0aWwudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi91dGlscy9hcmd1bWVudC1maWx0ZXJzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvdXRpbHMvZXhpdC1jb2Rlcy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3V0aWxzL2dpdC1vdXRwdXQtc3RyZWFtcy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3V0aWxzL2xpbmUtcGFyc2VyLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvdXRpbHMvc2ltcGxlLWdpdC1vcHRpb25zLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvdXRpbHMvdGFzay1vcHRpb25zLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvdXRpbHMvdGFzay1wYXJzZXIudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi91dGlscy9pbmRleC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3Rhc2tzL2NoZWNrLWlzLXJlcG8udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9yZXNwb25zZXMvQ2xlYW5TdW1tYXJ5LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvdGFza3MvdGFzay50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3Rhc2tzL2NsZWFuLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvcmVzcG9uc2VzL0NvbmZpZ0xpc3QudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi90YXNrcy9jb25maWcudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi90YXNrcy9kaWZmLW5hbWUtc3RhdHVzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvdGFza3MvZ3JlcC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3Rhc2tzL3Jlc2V0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvZ2l0LWxvZ2dlci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3J1bm5lcnMvdGFza3MtcGVuZGluZy1xdWV1ZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3J1bm5lcnMvZ2l0LWV4ZWN1dG9yLWNoYWluLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvcnVubmVycy9naXQtZXhlY3V0b3IudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi90YXNrLWNhbGxiYWNrLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvdGFza3MvY2hhbmdlLXdvcmtpbmctZGlyZWN0b3J5LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvdGFza3MvY2hlY2tvdXQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi90YXNrcy9jb3VudC1vYmplY3RzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvcGFyc2Vycy9wYXJzZS1jb21taXQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi90YXNrcy9jb21taXQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi90YXNrcy9maXJzdC1jb21taXQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi90YXNrcy9oYXNoLW9iamVjdC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3Jlc3BvbnNlcy9Jbml0U3VtbWFyeS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3Rhc2tzL2luaXQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9hcmdzL2xvZy1mb3JtYXQudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9yZXNwb25zZXMvRGlmZlN1bW1hcnkudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9wYXJzZXJzL3BhcnNlLWRpZmYtc3VtbWFyeS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3BhcnNlcnMvcGFyc2UtbGlzdC1sb2ctc3VtbWFyeS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3Rhc2tzL2RpZmYudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi90YXNrcy9sb2cudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9yZXNwb25zZXMvTWVyZ2VTdW1tYXJ5LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvcmVzcG9uc2VzL1B1bGxTdW1tYXJ5LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvcGFyc2Vycy9wYXJzZS1yZW1vdGUtb2JqZWN0cy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3BhcnNlcnMvcGFyc2UtcmVtb3RlLW1lc3NhZ2VzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvcGFyc2Vycy9wYXJzZS1wdWxsLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvcGFyc2Vycy9wYXJzZS1tZXJnZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3Rhc2tzL21lcmdlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvcGFyc2Vycy9wYXJzZS1wdXNoLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvdGFza3MvcHVzaC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3Rhc2tzL3Nob3cudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9yZXNwb25zZXMvRmlsZVN0YXR1c1N1bW1hcnkudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9yZXNwb25zZXMvU3RhdHVzU3VtbWFyeS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3Rhc2tzL3N0YXR1cy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3Rhc2tzL3ZlcnNpb24udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9zaW1wbGUtZ2l0LWFwaS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3J1bm5lcnMvc2NoZWR1bGVyLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvdGFza3MvYXBwbHktcGF0Y2gudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9yZXNwb25zZXMvQnJhbmNoRGVsZXRlU3VtbWFyeS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3BhcnNlcnMvcGFyc2UtYnJhbmNoLWRlbGV0ZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3Jlc3BvbnNlcy9CcmFuY2hTdW1tYXJ5LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvcGFyc2Vycy9wYXJzZS1icmFuY2gudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi90YXNrcy9icmFuY2gudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9yZXNwb25zZXMvQ2hlY2tJZ25vcmUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi90YXNrcy9jaGVjay1pZ25vcmUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi90YXNrcy9jbG9uZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3BhcnNlcnMvcGFyc2UtZmV0Y2gudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi90YXNrcy9mZXRjaC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3BhcnNlcnMvcGFyc2UtbW92ZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3Rhc2tzL21vdmUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi90YXNrcy9wdWxsLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvcmVzcG9uc2VzL0dldFJlbW90ZVN1bW1hcnkudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi90YXNrcy9yZW1vdGUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi90YXNrcy9zdGFzaC1saXN0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvdGFza3Mvc3ViLW1vZHVsZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3Jlc3BvbnNlcy9UYWdMaXN0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvdGFza3MvdGFnLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9naXQuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9hcGkudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9lcnJvcnMvZ2l0LWNvbnN0cnVjdC1lcnJvci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL2Vycm9ycy9naXQtcGx1Z2luLWVycm9yLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvcGx1Z2lucy9hYm9ydC1wbHVnaW4udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9wbHVnaW5zL2Jsb2NrLXVuc2FmZS1vcGVyYXRpb25zLXBsdWdpbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3BsdWdpbnMvY29tbWFuZC1jb25maWctcHJlZml4aW5nLXBsdWdpbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3BsdWdpbnMvY29tcGxldGlvbi1kZXRlY3Rpb24ucGx1Z2luLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvcGx1Z2lucy9jdXN0b20tYmluYXJ5LnBsdWdpbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3BsdWdpbnMvZXJyb3ItZGV0ZWN0aW9uLnBsdWdpbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3BsdWdpbnMvcGx1Z2luLXN0b3JlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9saWIvcGx1Z2lucy9wcm9ncmVzcy1tb25pdG9yLXBsdWdpbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3BsdWdpbnMvc3Bhd24tb3B0aW9ucy1wbHVnaW4udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9wbHVnaW5zL3RpbW91dC1wbHVnaW4udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9wbHVnaW5zL3N1ZmZpeC1wYXRocy5wbHVnaW4udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3NpbXBsZS1naXQvc3JjL2xpYi9naXQtZmFjdG9yeS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvc2ltcGxlLWdpdC9zcmMvbGliL3J1bm5lcnMvcHJvbWlzZS13cmFwcGVkLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9zaW1wbGUtZ2l0L3NyYy9lc20ubWpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9taW5pbWF0Y2gvc3JjL2luZGV4LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9taW5pbWF0Y2gvc3JjL2Fzc2VydC12YWxpZC1wYXR0ZXJuLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9taW5pbWF0Y2gvc3JjL2JyYWNlLWV4cHJlc3Npb25zLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9taW5pbWF0Y2gvc3JjL3VuZXNjYXBlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9taW5pbWF0Y2gvc3JjL2FzdC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbWluaW1hdGNoL3NyYy9lc2NhcGUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2dsb2Ivc3JjL2dsb2IudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL3BhdGgtc2N1cnJ5L25vZGVfbW9kdWxlcy9scnUtY2FjaGUvc3JjL2luZGV4LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9wYXRoLXNjdXJyeS9zcmMvaW5kZXgudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21pbmlwYXNzL3NyYy9pbmRleC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZ2xvYi9zcmMvcGF0dGVybi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZ2xvYi9zcmMvaWdub3JlLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9nbG9iL3NyYy9wcm9jZXNzb3IudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2dsb2Ivc3JjL3dhbGtlci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZ2xvYi9zcmMvaGFzLW1hZ2ljLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9nbG9iL3NyYy9pbmRleC50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvb3BlbmFpL3NyYy92ZXJzaW9uLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL19zaGltcy9yZWdpc3RyeS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvb3BlbmFpL3NyYy9fc2hpbXMvbm9kZS1ydW50aW1lLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9mb3JtZGF0YS1ub2RlL2xpYi9lc20vRm9ybURhdGEuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2Zvcm1kYXRhLW5vZGUvbGliL2VzbS9pc0Jsb2IuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2Zvcm1kYXRhLW5vZGUvbGliL2VzbS9kZXByZWNhdGVDb25zdHJ1Y3RvckVudHJpZXMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2Zvcm1kYXRhLW5vZGUvbGliL2VzbS9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZm9ybS1kYXRhLWVuY29kZXIvbGliL2VzbS91dGlsL2NyZWF0ZUJvdW5kYXJ5LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9mb3JtLWRhdGEtZW5jb2Rlci9saWIvZXNtL3V0aWwvaXNQbGFpbk9iamVjdC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZm9ybS1kYXRhLWVuY29kZXIvbGliL2VzbS91dGlsL25vcm1hbGl6ZVZhbHVlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9mb3JtLWRhdGEtZW5jb2Rlci9saWIvZXNtL3V0aWwvZXNjYXBlTmFtZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZm9ybS1kYXRhLWVuY29kZXIvbGliL2VzbS91dGlsL2lzRnVuY3Rpb24uanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2Zvcm0tZGF0YS1lbmNvZGVyL2xpYi9lc20vdXRpbC9pc0ZpbGVMaWtlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9mb3JtLWRhdGEtZW5jb2Rlci9saWIvZXNtL3V0aWwvaXNGb3JtRGF0YS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZm9ybS1kYXRhLWVuY29kZXIvbGliL2VzbS9Gb3JtRGF0YUVuY29kZXIuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvX3NoaW1zL011bHRpcGFydEJvZHkudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9fc2hpbXMvaW5kZXgubWpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL2Vycm9yLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL3N0cmVhbWluZy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvb3BlbmFpL3NyYy91cGxvYWRzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL2NvcmUudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvcGFnaW5hdGlvbi50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvb3BlbmFpL3NyYy9yZXNvdXJjZS50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvb3BlbmFpL3NyYy9yZXNvdXJjZXMvY2hhdC9jb21wbGV0aW9ucy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvb3BlbmFpL3NyYy9yZXNvdXJjZXMvY2hhdC9jaGF0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL3Jlc291cmNlcy9hdWRpby9zcGVlY2gudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvcmVzb3VyY2VzL2F1ZGlvL3RyYW5zY3JpcHRpb25zLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL3Jlc291cmNlcy9hdWRpby90cmFuc2xhdGlvbnMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvcmVzb3VyY2VzL2F1ZGlvL2F1ZGlvLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL3Jlc291cmNlcy9iZXRhL2Fzc2lzdGFudHMvZmlsZXMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvcmVzb3VyY2VzL2JldGEvYXNzaXN0YW50cy9hc3Npc3RhbnRzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL2xpYi9SdW5uYWJsZUZ1bmN0aW9uLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL2xpYi9jaGF0Q29tcGxldGlvblV0aWxzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL2xpYi9BYnN0cmFjdENoYXRDb21wbGV0aW9uUnVubmVyLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL2xpYi9DaGF0Q29tcGxldGlvblJ1bm5lci50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvb3BlbmFpL3NyYy9saWIvQ2hhdENvbXBsZXRpb25TdHJlYW0udHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvbGliL0NoYXRDb21wbGV0aW9uU3RyZWFtaW5nUnVubmVyLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL3Jlc291cmNlcy9iZXRhL2NoYXQvY29tcGxldGlvbnMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvcmVzb3VyY2VzL2JldGEvY2hhdC9jaGF0LnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL3Jlc291cmNlcy9iZXRhL3RocmVhZHMvbWVzc2FnZXMvZmlsZXMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvcmVzb3VyY2VzL2JldGEvdGhyZWFkcy9tZXNzYWdlcy9tZXNzYWdlcy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvb3BlbmFpL3NyYy9yZXNvdXJjZXMvYmV0YS90aHJlYWRzL3J1bnMvc3RlcHMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvcmVzb3VyY2VzL2JldGEvdGhyZWFkcy9ydW5zL3J1bnMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvcmVzb3VyY2VzL2JldGEvdGhyZWFkcy90aHJlYWRzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL3Jlc291cmNlcy9iZXRhL2JldGEudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvcmVzb3VyY2VzL2NvbXBsZXRpb25zLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL3Jlc291cmNlcy9lbWJlZGRpbmdzLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL3Jlc291cmNlcy9lZGl0cy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvb3BlbmFpL3NyYy9yZXNvdXJjZXMvZmlsZXMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvcmVzb3VyY2VzL2ZpbmUtdHVuZXMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvcmVzb3VyY2VzL2ZpbmUtdHVuaW5nL2pvYnMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvcmVzb3VyY2VzL2ZpbmUtdHVuaW5nL2ZpbmUtdHVuaW5nLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9vcGVuYWkvc3JjL3Jlc291cmNlcy9pbWFnZXMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvcmVzb3VyY2VzL21vZGVscy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvb3BlbmFpL3NyYy9yZXNvdXJjZXMvbW9kZXJhdGlvbnMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL29wZW5haS9zcmMvaW5kZXgudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2RpZmYvbGliL2luZGV4Lm1qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGpyaWRnZXdlbGwvc291cmNlbWFwLWNvZGVjL3NyYy92bHEudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BqcmlkZ2V3ZWxsL3NvdXJjZW1hcC1jb2RlYy9zcmMvc3RyaW5ncy50cyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQGpyaWRnZXdlbGwvc291cmNlbWFwLWNvZGVjL3NyYy9zY29wZXMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BqcmlkZ2V3ZWxsL3NvdXJjZW1hcC1jb2RlYy9zcmMvc291cmNlbWFwLWNvZGVjLnRzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tYWdpYy1zdHJpbmcvc3JjL0JpdFNldC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbWFnaWMtc3RyaW5nL3NyYy9DaHVuay5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvbWFnaWMtc3RyaW5nL3NyYy9Tb3VyY2VNYXAuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21hZ2ljLXN0cmluZy9zcmMvdXRpbHMvZ3Vlc3NJbmRlbnQuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21hZ2ljLXN0cmluZy9zcmMvdXRpbHMvZ2V0UmVsYXRpdmVQYXRoLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tYWdpYy1zdHJpbmcvc3JjL3V0aWxzL2lzT2JqZWN0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9tYWdpYy1zdHJpbmcvc3JjL3V0aWxzL2dldExvY2F0b3IuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21hZ2ljLXN0cmluZy9zcmMvdXRpbHMvTWFwcGluZ3MuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21hZ2ljLXN0cmluZy9zcmMvTWFnaWNTdHJpbmcuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL21hZ2ljLXN0cmluZy9zcmMvQnVuZGxlLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9kZXRlY3QtaW5kZW50L2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9kZXRlY3QtbmV3bGluZS9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZXNjYXBlLXN0cmluZy1yZWdleHAvaW5kZXguanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BzaW5kcmVzb3JodXMvdHJhbnNsaXRlcmF0ZS9yZXBsYWNlbWVudHMuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0BzaW5kcmVzb3JodXMvdHJhbnNsaXRlcmF0ZS9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQHNpbmRyZXNvcmh1cy9zbHVnaWZ5L292ZXJyaWRhYmxlLXJlcGxhY2VtZW50cy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvQHNpbmRyZXNvcmh1cy9zbHVnaWZ5L2luZGV4LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9maWxlbmFtZS1yZXNlcnZlZC1yZWdleC9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvZmlsZW5hbWlmeS9maWxlbmFtaWZ5LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pbnF1aXJlci9saWIvcHJvbXB0cy9saXN0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9AaW5xdWlyZXIvZmlndXJlcy9kaXN0L2VzbS9pbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaW5xdWlyZXIvbGliL3V0aWxzL2V2ZW50cy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaW5xdWlyZXIvbGliL3V0aWxzL3BhZ2luYXRvci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaW5xdWlyZXIvbGliL3V0aWxzL2luY3JlbWVudExpc3RJbmRleC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaW5xdWlyZXIvbGliL3Byb21wdHMvYmFzZS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaW5xdWlyZXIvbGliL29iamVjdHMvY2hvaWNlcy5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaW5xdWlyZXIvbGliL29iamVjdHMvc2VwYXJhdG9yLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pbnF1aXJlci9saWIvb2JqZWN0cy9jaG9pY2UuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2lucXVpcmVyL2xpYi91dGlscy9zY3JlZW4tbWFuYWdlci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaW5xdWlyZXIvbGliL3V0aWxzL3JlYWRsaW5lLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pbnF1aXJlci9saWIvcHJvbXB0cy9pbnB1dC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaW5xdWlyZXIvbGliL3Byb21wdHMvbnVtYmVyLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pbnF1aXJlci9saWIvcHJvbXB0cy9jb25maXJtLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pbnF1aXJlci9saWIvcHJvbXB0cy9yYXdsaXN0LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pbnF1aXJlci9saWIvcHJvbXB0cy9leHBhbmQuanMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL2lucXVpcmVyL2xpYi9wcm9tcHRzL2NoZWNrYm94LmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pbnF1aXJlci9saWIvcHJvbXB0cy9wYXNzd29yZC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaW5xdWlyZXIvbGliL3Byb21wdHMvZWRpdG9yLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pbnF1aXJlci9saWIvdWkvYm90dG9tLWJhci5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaW5xdWlyZXIvbGliL3VpL2Jhc2VVSS5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaW5xdWlyZXIvbGliL3VpL3Byb21wdC5qcyIsICIuLi8uLi9ub2RlX21vZHVsZXMvaW5xdWlyZXIvbGliL3V0aWxzL3V0aWxzLmpzIiwgIi4uLy4uL25vZGVfbW9kdWxlcy9pbnF1aXJlci9saWIvaW5kZXguanMiLCAic3JjL2ZleGlzdHMudHMiLCAic3JjL3Jlc29sdmUtc3BlY2lmaWVyLnRzIiwgInNyYy9nZXQtbm90LWZvdW5kLXVybC50cyIsICJzcmMvcmVzb2x2ZXMtdG8tbm9kZS1tb2R1bGUudHMiLCAic3JjL2xvZ2dlci50cyIsICJzcmMvaXMtZGlyLnRzIiwgInNyYy9pcy1pZ25vcmFibGUtc3BlY2lmaWVyLnRzIiwgInNyYy9leHRzLnRzIiwgInNyYy9yZXBsYWNlLWpzLWV4dC13aXRoLXRzLWV4dC50cyIsICJzcmMvbWFwLWltcG9ydHMudHMiLCAiLi4vLi4vbm9kZV9tb2R1bGVzL0Bub2RlanMtbG9hZGVycy9hbGlhcy9hbGlhcy5tanMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbkNvcHlyaWdodCAoYykgTWljcm9zb2Z0IENvcnBvcmF0aW9uLlxuXG5QZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnlcbnB1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZC5cblxuVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMgV0lUSFxuUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZXG5BTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SIEFOWSBTUEVDSUFMLCBESVJFQ1QsXG5JTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTIFdIQVRTT0VWRVIgUkVTVUxUSU5HIEZST01cbkxPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SXG5PVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SXG5QRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLlxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiogKi9cbi8qIGdsb2JhbCBSZWZsZWN0LCBQcm9taXNlLCBTdXBwcmVzc2VkRXJyb3IsIFN5bWJvbCwgSXRlcmF0b3IgKi9cblxudmFyIGV4dGVuZFN0YXRpY3MgPSBmdW5jdGlvbihkLCBiKSB7XG4gIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcbiAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcbiAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChiLCBwKSkgZFtwXSA9IGJbcF07IH07XG4gIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9fZXh0ZW5kcyhkLCBiKSB7XG4gIGlmICh0eXBlb2YgYiAhPT0gXCJmdW5jdGlvblwiICYmIGIgIT09IG51bGwpXG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2xhc3MgZXh0ZW5kcyB2YWx1ZSBcIiArIFN0cmluZyhiKSArIFwiIGlzIG5vdCBhIGNvbnN0cnVjdG9yIG9yIG51bGxcIik7XG4gIGV4dGVuZFN0YXRpY3MoZCwgYik7XG4gIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxuICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XG59XG5cbmV4cG9ydCB2YXIgX19hc3NpZ24gPSBmdW5jdGlvbigpIHtcbiAgX19hc3NpZ24gPSBPYmplY3QuYXNzaWduIHx8IGZ1bmN0aW9uIF9fYXNzaWduKHQpIHtcbiAgICAgIGZvciAodmFyIHMsIGkgPSAxLCBuID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IG47IGkrKykge1xuICAgICAgICAgIHMgPSBhcmd1bWVudHNbaV07XG4gICAgICAgICAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApKSB0W3BdID0gc1twXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0O1xuICB9XG4gIHJldHVybiBfX2Fzc2lnbi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19yZXN0KHMsIGUpIHtcbiAgdmFyIHQgPSB7fTtcbiAgZm9yICh2YXIgcCBpbiBzKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHMsIHApICYmIGUuaW5kZXhPZihwKSA8IDApXG4gICAgICB0W3BdID0gc1twXTtcbiAgaWYgKHMgIT0gbnVsbCAmJiB0eXBlb2YgT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyA9PT0gXCJmdW5jdGlvblwiKVxuICAgICAgZm9yICh2YXIgaSA9IDAsIHAgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHMpOyBpIDwgcC5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGlmIChlLmluZGV4T2YocFtpXSkgPCAwICYmIE9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzLCBwW2ldKSlcbiAgICAgICAgICAgICAgdFtwW2ldXSA9IHNbcFtpXV07XG4gICAgICB9XG4gIHJldHVybiB0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19kZWNvcmF0ZShkZWNvcmF0b3JzLCB0YXJnZXQsIGtleSwgZGVzYykge1xuICB2YXIgYyA9IGFyZ3VtZW50cy5sZW5ndGgsIHIgPSBjIDwgMyA/IHRhcmdldCA6IGRlc2MgPT09IG51bGwgPyBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGtleSkgOiBkZXNjLCBkO1xuICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QuZGVjb3JhdGUgPT09IFwiZnVuY3Rpb25cIikgciA9IFJlZmxlY3QuZGVjb3JhdGUoZGVjb3JhdG9ycywgdGFyZ2V0LCBrZXksIGRlc2MpO1xuICBlbHNlIGZvciAodmFyIGkgPSBkZWNvcmF0b3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSBpZiAoZCA9IGRlY29yYXRvcnNbaV0pIHIgPSAoYyA8IDMgPyBkKHIpIDogYyA+IDMgPyBkKHRhcmdldCwga2V5LCByKSA6IGQodGFyZ2V0LCBrZXkpKSB8fCByO1xuICByZXR1cm4gYyA+IDMgJiYgciAmJiBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHIpLCByO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19wYXJhbShwYXJhbUluZGV4LCBkZWNvcmF0b3IpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uICh0YXJnZXQsIGtleSkgeyBkZWNvcmF0b3IodGFyZ2V0LCBrZXksIHBhcmFtSW5kZXgpOyB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2VzRGVjb3JhdGUoY3RvciwgZGVzY3JpcHRvckluLCBkZWNvcmF0b3JzLCBjb250ZXh0SW4sIGluaXRpYWxpemVycywgZXh0cmFJbml0aWFsaXplcnMpIHtcbiAgZnVuY3Rpb24gYWNjZXB0KGYpIHsgaWYgKGYgIT09IHZvaWQgMCAmJiB0eXBlb2YgZiAhPT0gXCJmdW5jdGlvblwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRnVuY3Rpb24gZXhwZWN0ZWRcIik7IHJldHVybiBmOyB9XG4gIHZhciBraW5kID0gY29udGV4dEluLmtpbmQsIGtleSA9IGtpbmQgPT09IFwiZ2V0dGVyXCIgPyBcImdldFwiIDoga2luZCA9PT0gXCJzZXR0ZXJcIiA/IFwic2V0XCIgOiBcInZhbHVlXCI7XG4gIHZhciB0YXJnZXQgPSAhZGVzY3JpcHRvckluICYmIGN0b3IgPyBjb250ZXh0SW5bXCJzdGF0aWNcIl0gPyBjdG9yIDogY3Rvci5wcm90b3R5cGUgOiBudWxsO1xuICB2YXIgZGVzY3JpcHRvciA9IGRlc2NyaXB0b3JJbiB8fCAodGFyZ2V0ID8gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0YXJnZXQsIGNvbnRleHRJbi5uYW1lKSA6IHt9KTtcbiAgdmFyIF8sIGRvbmUgPSBmYWxzZTtcbiAgZm9yICh2YXIgaSA9IGRlY29yYXRvcnMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIHZhciBjb250ZXh0ID0ge307XG4gICAgICBmb3IgKHZhciBwIGluIGNvbnRleHRJbikgY29udGV4dFtwXSA9IHAgPT09IFwiYWNjZXNzXCIgPyB7fSA6IGNvbnRleHRJbltwXTtcbiAgICAgIGZvciAodmFyIHAgaW4gY29udGV4dEluLmFjY2VzcykgY29udGV4dC5hY2Nlc3NbcF0gPSBjb250ZXh0SW4uYWNjZXNzW3BdO1xuICAgICAgY29udGV4dC5hZGRJbml0aWFsaXplciA9IGZ1bmN0aW9uIChmKSB7IGlmIChkb25lKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGFkZCBpbml0aWFsaXplcnMgYWZ0ZXIgZGVjb3JhdGlvbiBoYXMgY29tcGxldGVkXCIpOyBleHRyYUluaXRpYWxpemVycy5wdXNoKGFjY2VwdChmIHx8IG51bGwpKTsgfTtcbiAgICAgIHZhciByZXN1bHQgPSAoMCwgZGVjb3JhdG9yc1tpXSkoa2luZCA9PT0gXCJhY2Nlc3NvclwiID8geyBnZXQ6IGRlc2NyaXB0b3IuZ2V0LCBzZXQ6IGRlc2NyaXB0b3Iuc2V0IH0gOiBkZXNjcmlwdG9yW2tleV0sIGNvbnRleHQpO1xuICAgICAgaWYgKGtpbmQgPT09IFwiYWNjZXNzb3JcIikge1xuICAgICAgICAgIGlmIChyZXN1bHQgPT09IHZvaWQgMCkgY29udGludWU7XG4gICAgICAgICAgaWYgKHJlc3VsdCA9PT0gbnVsbCB8fCB0eXBlb2YgcmVzdWx0ICE9PSBcIm9iamVjdFwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiT2JqZWN0IGV4cGVjdGVkXCIpO1xuICAgICAgICAgIGlmIChfID0gYWNjZXB0KHJlc3VsdC5nZXQpKSBkZXNjcmlwdG9yLmdldCA9IF87XG4gICAgICAgICAgaWYgKF8gPSBhY2NlcHQocmVzdWx0LnNldCkpIGRlc2NyaXB0b3Iuc2V0ID0gXztcbiAgICAgICAgICBpZiAoXyA9IGFjY2VwdChyZXN1bHQuaW5pdCkpIGluaXRpYWxpemVycy51bnNoaWZ0KF8pO1xuICAgICAgfVxuICAgICAgZWxzZSBpZiAoXyA9IGFjY2VwdChyZXN1bHQpKSB7XG4gICAgICAgICAgaWYgKGtpbmQgPT09IFwiZmllbGRcIikgaW5pdGlhbGl6ZXJzLnVuc2hpZnQoXyk7XG4gICAgICAgICAgZWxzZSBkZXNjcmlwdG9yW2tleV0gPSBfO1xuICAgICAgfVxuICB9XG4gIGlmICh0YXJnZXQpIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGNvbnRleHRJbi5uYW1lLCBkZXNjcmlwdG9yKTtcbiAgZG9uZSA9IHRydWU7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gX19ydW5Jbml0aWFsaXplcnModGhpc0FyZywgaW5pdGlhbGl6ZXJzLCB2YWx1ZSkge1xuICB2YXIgdXNlVmFsdWUgPSBhcmd1bWVudHMubGVuZ3RoID4gMjtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBpbml0aWFsaXplcnMubGVuZ3RoOyBpKyspIHtcbiAgICAgIHZhbHVlID0gdXNlVmFsdWUgPyBpbml0aWFsaXplcnNbaV0uY2FsbCh0aGlzQXJnLCB2YWx1ZSkgOiBpbml0aWFsaXplcnNbaV0uY2FsbCh0aGlzQXJnKTtcbiAgfVxuICByZXR1cm4gdXNlVmFsdWUgPyB2YWx1ZSA6IHZvaWQgMDtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBfX3Byb3BLZXkoeCkge1xuICByZXR1cm4gdHlwZW9mIHggPT09IFwic3ltYm9sXCIgPyB4IDogXCJcIi5jb25jYXQoeCk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gX19zZXRGdW5jdGlvbk5hbWUoZiwgbmFtZSwgcHJlZml4KSB7XG4gIGlmICh0eXBlb2YgbmFtZSA9PT0gXCJzeW1ib2xcIikgbmFtZSA9IG5hbWUuZGVzY3JpcHRpb24gPyBcIltcIi5jb25jYXQobmFtZS5kZXNjcmlwdGlvbiwgXCJdXCIpIDogXCJcIjtcbiAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShmLCBcIm5hbWVcIiwgeyBjb25maWd1cmFibGU6IHRydWUsIHZhbHVlOiBwcmVmaXggPyBcIlwiLmNvbmNhdChwcmVmaXgsIFwiIFwiLCBuYW1lKSA6IG5hbWUgfSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gX19tZXRhZGF0YShtZXRhZGF0YUtleSwgbWV0YWRhdGFWYWx1ZSkge1xuICBpZiAodHlwZW9mIFJlZmxlY3QgPT09IFwib2JqZWN0XCIgJiYgdHlwZW9mIFJlZmxlY3QubWV0YWRhdGEgPT09IFwiZnVuY3Rpb25cIikgcmV0dXJuIFJlZmxlY3QubWV0YWRhdGEobWV0YWRhdGFLZXksIG1ldGFkYXRhVmFsdWUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdGVyKHRoaXNBcmcsIF9hcmd1bWVudHMsIFAsIGdlbmVyYXRvcikge1xuICBmdW5jdGlvbiBhZG9wdCh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBQID8gdmFsdWUgOiBuZXcgUChmdW5jdGlvbiAocmVzb2x2ZSkgeyByZXNvbHZlKHZhbHVlKTsgfSk7IH1cbiAgcmV0dXJuIG5ldyAoUCB8fCAoUCA9IFByb21pc2UpKShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHsgdHJ5IHsgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpOyB9IGNhdGNoIChlKSB7IHJlamVjdChlKTsgfSB9XG4gICAgICBmdW5jdGlvbiByZWplY3RlZCh2YWx1ZSkgeyB0cnkgeyBzdGVwKGdlbmVyYXRvcltcInRocm93XCJdKHZhbHVlKSk7IH0gY2F0Y2ggKGUpIHsgcmVqZWN0KGUpOyB9IH1cbiAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7IHJlc3VsdC5kb25lID8gcmVzb2x2ZShyZXN1bHQudmFsdWUpIDogYWRvcHQocmVzdWx0LnZhbHVlKS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpOyB9XG4gICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19nZW5lcmF0b3IodGhpc0FyZywgYm9keSkge1xuICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkgeyBpZiAodFswXSAmIDEpIHRocm93IHRbMV07IHJldHVybiB0WzFdOyB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnID0gT2JqZWN0LmNyZWF0ZSgodHlwZW9mIEl0ZXJhdG9yID09PSBcImZ1bmN0aW9uXCIgPyBJdGVyYXRvciA6IE9iamVjdCkucHJvdG90eXBlKTtcbiAgcmV0dXJuIGcubmV4dCA9IHZlcmIoMCksIGdbXCJ0aHJvd1wiXSA9IHZlcmIoMSksIGdbXCJyZXR1cm5cIl0gPSB2ZXJiKDIpLCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkgeyByZXR1cm4gdGhpczsgfSksIGc7XG4gIGZ1bmN0aW9uIHZlcmIobikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIHN0ZXAoW24sIHZdKTsgfTsgfVxuICBmdW5jdGlvbiBzdGVwKG9wKSB7XG4gICAgICBpZiAoZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkdlbmVyYXRvciBpcyBhbHJlYWR5IGV4ZWN1dGluZy5cIik7XG4gICAgICB3aGlsZSAoZyAmJiAoZyA9IDAsIG9wWzBdICYmIChfID0gMCkpLCBfKSB0cnkge1xuICAgICAgICAgIGlmIChmID0gMSwgeSAmJiAodCA9IG9wWzBdICYgMiA/IHlbXCJyZXR1cm5cIl0gOiBvcFswXSA/IHlbXCJ0aHJvd1wiXSB8fCAoKHQgPSB5W1wicmV0dXJuXCJdKSAmJiB0LmNhbGwoeSksIDApIDogeS5uZXh0KSAmJiAhKHQgPSB0LmNhbGwoeSwgb3BbMV0pKS5kb25lKSByZXR1cm4gdDtcbiAgICAgICAgICBpZiAoeSA9IDAsIHQpIG9wID0gW29wWzBdICYgMiwgdC52YWx1ZV07XG4gICAgICAgICAgc3dpdGNoIChvcFswXSkge1xuICAgICAgICAgICAgICBjYXNlIDA6IGNhc2UgMTogdCA9IG9wOyBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSA0OiBfLmxhYmVsKys7IHJldHVybiB7IHZhbHVlOiBvcFsxXSwgZG9uZTogZmFsc2UgfTtcbiAgICAgICAgICAgICAgY2FzZSA1OiBfLmxhYmVsKys7IHkgPSBvcFsxXTsgb3AgPSBbMF07IGNvbnRpbnVlO1xuICAgICAgICAgICAgICBjYXNlIDc6IG9wID0gXy5vcHMucG9wKCk7IF8udHJ5cy5wb3AoKTsgY29udGludWU7XG4gICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkgeyBfID0gMDsgY29udGludWU7IH1cbiAgICAgICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgKG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSkgeyBfLmxhYmVsID0gb3BbMV07IGJyZWFrOyB9XG4gICAgICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDYgJiYgXy5sYWJlbCA8IHRbMV0pIHsgXy5sYWJlbCA9IHRbMV07IHQgPSBvcDsgYnJlYWs7IH1cbiAgICAgICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7IF8ubGFiZWwgPSB0WzJdOyBfLm9wcy5wdXNoKG9wKTsgYnJlYWs7IH1cbiAgICAgICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcbiAgICAgICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTsgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIG9wID0gYm9keS5jYWxsKHRoaXNBcmcsIF8pO1xuICAgICAgfSBjYXRjaCAoZSkgeyBvcCA9IFs2LCBlXTsgeSA9IDA7IH0gZmluYWxseSB7IGYgPSB0ID0gMDsgfVxuICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07IHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XG4gIH1cbn1cblxuZXhwb3J0IHZhciBfX2NyZWF0ZUJpbmRpbmcgPSBPYmplY3QuY3JlYXRlID8gKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XG4gIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XG4gIHZhciBkZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihtLCBrKTtcbiAgaWYgKCFkZXNjIHx8IChcImdldFwiIGluIGRlc2MgPyAhbS5fX2VzTW9kdWxlIDogZGVzYy53cml0YWJsZSB8fCBkZXNjLmNvbmZpZ3VyYWJsZSkpIHtcbiAgICAgIGRlc2MgPSB7IGVudW1lcmFibGU6IHRydWUsIGdldDogZnVuY3Rpb24oKSB7IHJldHVybiBtW2tdOyB9IH07XG4gIH1cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sIGsyLCBkZXNjKTtcbn0pIDogKGZ1bmN0aW9uKG8sIG0sIGssIGsyKSB7XG4gIGlmIChrMiA9PT0gdW5kZWZpbmVkKSBrMiA9IGs7XG4gIG9bazJdID0gbVtrXTtcbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gX19leHBvcnRTdGFyKG0sIG8pIHtcbiAgZm9yICh2YXIgcCBpbiBtKSBpZiAocCAhPT0gXCJkZWZhdWx0XCIgJiYgIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvLCBwKSkgX19jcmVhdGVCaW5kaW5nKG8sIG0sIHApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX192YWx1ZXMobykge1xuICB2YXIgcyA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBTeW1ib2wuaXRlcmF0b3IsIG0gPSBzICYmIG9bc10sIGkgPSAwO1xuICBpZiAobSkgcmV0dXJuIG0uY2FsbChvKTtcbiAgaWYgKG8gJiYgdHlwZW9mIG8ubGVuZ3RoID09PSBcIm51bWJlclwiKSByZXR1cm4ge1xuICAgICAgbmV4dDogZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGlmIChvICYmIGkgPj0gby5sZW5ndGgpIG8gPSB2b2lkIDA7XG4gICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG8gJiYgb1tpKytdLCBkb25lOiAhbyB9O1xuICAgICAgfVxuICB9O1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKHMgPyBcIk9iamVjdCBpcyBub3QgaXRlcmFibGUuXCIgOiBcIlN5bWJvbC5pdGVyYXRvciBpcyBub3QgZGVmaW5lZC5cIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX3JlYWQobywgbikge1xuICB2YXIgbSA9IHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiBvW1N5bWJvbC5pdGVyYXRvcl07XG4gIGlmICghbSkgcmV0dXJuIG87XG4gIHZhciBpID0gbS5jYWxsKG8pLCByLCBhciA9IFtdLCBlO1xuICB0cnkge1xuICAgICAgd2hpbGUgKChuID09PSB2b2lkIDAgfHwgbi0tID4gMCkgJiYgIShyID0gaS5uZXh0KCkpLmRvbmUpIGFyLnB1c2goci52YWx1ZSk7XG4gIH1cbiAgY2F0Y2ggKGVycm9yKSB7IGUgPSB7IGVycm9yOiBlcnJvciB9OyB9XG4gIGZpbmFsbHkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAociAmJiAhci5kb25lICYmIChtID0gaVtcInJldHVyblwiXSkpIG0uY2FsbChpKTtcbiAgICAgIH1cbiAgICAgIGZpbmFsbHkgeyBpZiAoZSkgdGhyb3cgZS5lcnJvcjsgfVxuICB9XG4gIHJldHVybiBhcjtcbn1cblxuLyoqIEBkZXByZWNhdGVkICovXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWQoKSB7XG4gIGZvciAodmFyIGFyID0gW10sIGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aDsgaSsrKVxuICAgICAgYXIgPSBhci5jb25jYXQoX19yZWFkKGFyZ3VtZW50c1tpXSkpO1xuICByZXR1cm4gYXI7XG59XG5cbi8qKiBAZGVwcmVjYXRlZCAqL1xuZXhwb3J0IGZ1bmN0aW9uIF9fc3ByZWFkQXJyYXlzKCkge1xuICBmb3IgKHZhciBzID0gMCwgaSA9IDAsIGlsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGlsOyBpKyspIHMgKz0gYXJndW1lbnRzW2ldLmxlbmd0aDtcbiAgZm9yICh2YXIgciA9IEFycmF5KHMpLCBrID0gMCwgaSA9IDA7IGkgPCBpbDsgaSsrKVxuICAgICAgZm9yICh2YXIgYSA9IGFyZ3VtZW50c1tpXSwgaiA9IDAsIGpsID0gYS5sZW5ndGg7IGogPCBqbDsgaisrLCBrKyspXG4gICAgICAgICAgcltrXSA9IGFbal07XG4gIHJldHVybiByO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19zcHJlYWRBcnJheSh0bywgZnJvbSwgcGFjaykge1xuICBpZiAocGFjayB8fCBhcmd1bWVudHMubGVuZ3RoID09PSAyKSBmb3IgKHZhciBpID0gMCwgbCA9IGZyb20ubGVuZ3RoLCBhcjsgaSA8IGw7IGkrKykge1xuICAgICAgaWYgKGFyIHx8ICEoaSBpbiBmcm9tKSkge1xuICAgICAgICAgIGlmICghYXIpIGFyID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSwgMCwgaSk7XG4gICAgICAgICAgYXJbaV0gPSBmcm9tW2ldO1xuICAgICAgfVxuICB9XG4gIHJldHVybiB0by5jb25jYXQoYXIgfHwgQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoZnJvbSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hd2FpdCh2KSB7XG4gIHJldHVybiB0aGlzIGluc3RhbmNlb2YgX19hd2FpdCA/ICh0aGlzLnYgPSB2LCB0aGlzKSA6IG5ldyBfX2F3YWl0KHYpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hc3luY0dlbmVyYXRvcih0aGlzQXJnLCBfYXJndW1lbnRzLCBnZW5lcmF0b3IpIHtcbiAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcbiAgdmFyIGcgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSksIGksIHEgPSBbXTtcbiAgcmV0dXJuIGkgPSBPYmplY3QuY3JlYXRlKCh0eXBlb2YgQXN5bmNJdGVyYXRvciA9PT0gXCJmdW5jdGlvblwiID8gQXN5bmNJdGVyYXRvciA6IE9iamVjdCkucHJvdG90eXBlKSwgdmVyYihcIm5leHRcIiksIHZlcmIoXCJ0aHJvd1wiKSwgdmVyYihcInJldHVyblwiLCBhd2FpdFJldHVybiksIGlbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID0gZnVuY3Rpb24gKCkgeyByZXR1cm4gdGhpczsgfSwgaTtcbiAgZnVuY3Rpb24gYXdhaXRSZXR1cm4oZikgeyByZXR1cm4gZnVuY3Rpb24gKHYpIHsgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh2KS50aGVuKGYsIHJlamVjdCk7IH07IH1cbiAgZnVuY3Rpb24gdmVyYihuLCBmKSB7IGlmIChnW25dKSB7IGlbbl0gPSBmdW5jdGlvbiAodikgeyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKGEsIGIpIHsgcS5wdXNoKFtuLCB2LCBhLCBiXSkgPiAxIHx8IHJlc3VtZShuLCB2KTsgfSk7IH07IGlmIChmKSBpW25dID0gZihpW25dKTsgfSB9XG4gIGZ1bmN0aW9uIHJlc3VtZShuLCB2KSB7IHRyeSB7IHN0ZXAoZ1tuXSh2KSk7IH0gY2F0Y2ggKGUpIHsgc2V0dGxlKHFbMF1bM10sIGUpOyB9IH1cbiAgZnVuY3Rpb24gc3RlcChyKSB7IHIudmFsdWUgaW5zdGFuY2VvZiBfX2F3YWl0ID8gUHJvbWlzZS5yZXNvbHZlKHIudmFsdWUudikudGhlbihmdWxmaWxsLCByZWplY3QpIDogc2V0dGxlKHFbMF1bMl0sIHIpOyB9XG4gIGZ1bmN0aW9uIGZ1bGZpbGwodmFsdWUpIHsgcmVzdW1lKFwibmV4dFwiLCB2YWx1ZSk7IH1cbiAgZnVuY3Rpb24gcmVqZWN0KHZhbHVlKSB7IHJlc3VtZShcInRocm93XCIsIHZhbHVlKTsgfVxuICBmdW5jdGlvbiBzZXR0bGUoZiwgdikgeyBpZiAoZih2KSwgcS5zaGlmdCgpLCBxLmxlbmd0aCkgcmVzdW1lKHFbMF1bMF0sIHFbMF1bMV0pOyB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jRGVsZWdhdG9yKG8pIHtcbiAgdmFyIGksIHA7XG4gIHJldHVybiBpID0ge30sIHZlcmIoXCJuZXh0XCIpLCB2ZXJiKFwidGhyb3dcIiwgZnVuY3Rpb24gKGUpIHsgdGhyb3cgZTsgfSksIHZlcmIoXCJyZXR1cm5cIiksIGlbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGk7XG4gIGZ1bmN0aW9uIHZlcmIobiwgZikgeyBpW25dID0gb1tuXSA/IGZ1bmN0aW9uICh2KSB7IHJldHVybiAocCA9ICFwKSA/IHsgdmFsdWU6IF9fYXdhaXQob1tuXSh2KSksIGRvbmU6IGZhbHNlIH0gOiBmID8gZih2KSA6IHY7IH0gOiBmOyB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2FzeW5jVmFsdWVzKG8pIHtcbiAgaWYgKCFTeW1ib2wuYXN5bmNJdGVyYXRvcikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5hc3luY0l0ZXJhdG9yIGlzIG5vdCBkZWZpbmVkLlwiKTtcbiAgdmFyIG0gPSBvW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSwgaTtcbiAgcmV0dXJuIG0gPyBtLmNhbGwobykgOiAobyA9IHR5cGVvZiBfX3ZhbHVlcyA9PT0gXCJmdW5jdGlvblwiID8gX192YWx1ZXMobykgOiBvW1N5bWJvbC5pdGVyYXRvcl0oKSwgaSA9IHt9LCB2ZXJiKFwibmV4dFwiKSwgdmVyYihcInRocm93XCIpLCB2ZXJiKFwicmV0dXJuXCIpLCBpW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSA9IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHRoaXM7IH0sIGkpO1xuICBmdW5jdGlvbiB2ZXJiKG4pIHsgaVtuXSA9IG9bbl0gJiYgZnVuY3Rpb24gKHYpIHsgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHsgdiA9IG9bbl0odiksIHNldHRsZShyZXNvbHZlLCByZWplY3QsIHYuZG9uZSwgdi52YWx1ZSk7IH0pOyB9OyB9XG4gIGZ1bmN0aW9uIHNldHRsZShyZXNvbHZlLCByZWplY3QsIGQsIHYpIHsgUHJvbWlzZS5yZXNvbHZlKHYpLnRoZW4oZnVuY3Rpb24odikgeyByZXNvbHZlKHsgdmFsdWU6IHYsIGRvbmU6IGQgfSk7IH0sIHJlamVjdCk7IH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fbWFrZVRlbXBsYXRlT2JqZWN0KGNvb2tlZCwgcmF3KSB7XG4gIGlmIChPYmplY3QuZGVmaW5lUHJvcGVydHkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvb2tlZCwgXCJyYXdcIiwgeyB2YWx1ZTogcmF3IH0pOyB9IGVsc2UgeyBjb29rZWQucmF3ID0gcmF3OyB9XG4gIHJldHVybiBjb29rZWQ7XG59O1xuXG52YXIgX19zZXRNb2R1bGVEZWZhdWx0ID0gT2JqZWN0LmNyZWF0ZSA/IChmdW5jdGlvbihvLCB2KSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvLCBcImRlZmF1bHRcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCB2YWx1ZTogdiB9KTtcbn0pIDogZnVuY3Rpb24obywgdikge1xuICBvW1wiZGVmYXVsdFwiXSA9IHY7XG59O1xuXG52YXIgb3duS2V5cyA9IGZ1bmN0aW9uKG8pIHtcbiAgb3duS2V5cyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzIHx8IGZ1bmN0aW9uIChvKSB7XG4gICAgdmFyIGFyID0gW107XG4gICAgZm9yICh2YXIgayBpbiBvKSBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG8sIGspKSBhclthci5sZW5ndGhdID0gaztcbiAgICByZXR1cm4gYXI7XG4gIH07XG4gIHJldHVybiBvd25LZXlzKG8pO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIF9faW1wb3J0U3Rhcihtb2QpIHtcbiAgaWYgKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgcmV0dXJuIG1vZDtcbiAgdmFyIHJlc3VsdCA9IHt9O1xuICBpZiAobW9kICE9IG51bGwpIGZvciAodmFyIGsgPSBvd25LZXlzKG1vZCksIGkgPSAwOyBpIDwgay5sZW5ndGg7IGkrKykgaWYgKGtbaV0gIT09IFwiZGVmYXVsdFwiKSBfX2NyZWF0ZUJpbmRpbmcocmVzdWx0LCBtb2QsIGtbaV0pO1xuICBfX3NldE1vZHVsZURlZmF1bHQocmVzdWx0LCBtb2QpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19pbXBvcnREZWZhdWx0KG1vZCkge1xuICByZXR1cm4gKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgPyBtb2QgOiB7IGRlZmF1bHQ6IG1vZCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19jbGFzc1ByaXZhdGVGaWVsZEdldChyZWNlaXZlciwgc3RhdGUsIGtpbmQsIGYpIHtcbiAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgZ2V0dGVyXCIpO1xuICBpZiAodHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCByZWFkIHByaXZhdGUgbWVtYmVyIGZyb20gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcbiAgcmV0dXJuIGtpbmQgPT09IFwibVwiID8gZiA6IGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyKSA6IGYgPyBmLnZhbHVlIDogc3RhdGUuZ2V0KHJlY2VpdmVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fY2xhc3NQcml2YXRlRmllbGRTZXQocmVjZWl2ZXIsIHN0YXRlLCB2YWx1ZSwga2luZCwgZikge1xuICBpZiAoa2luZCA9PT0gXCJtXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGVcIik7XG4gIGlmIChraW5kID09PSBcImFcIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIHNldHRlclwiKTtcbiAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcbiAgcmV0dXJuIChraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4oc3RhdGUsIHJlY2VpdmVyKSB7XG4gIGlmIChyZWNlaXZlciA9PT0gbnVsbCB8fCAodHlwZW9mIHJlY2VpdmVyICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiByZWNlaXZlciAhPT0gXCJmdW5jdGlvblwiKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCB1c2UgJ2luJyBvcGVyYXRvciBvbiBub24tb2JqZWN0XCIpO1xuICByZXR1cm4gdHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciA9PT0gc3RhdGUgOiBzdGF0ZS5oYXMocmVjZWl2ZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gX19hZGREaXNwb3NhYmxlUmVzb3VyY2UoZW52LCB2YWx1ZSwgYXN5bmMpIHtcbiAgaWYgKHZhbHVlICE9PSBudWxsICYmIHZhbHVlICE9PSB2b2lkIDApIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSBcIm9iamVjdFwiICYmIHR5cGVvZiB2YWx1ZSAhPT0gXCJmdW5jdGlvblwiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiT2JqZWN0IGV4cGVjdGVkLlwiKTtcbiAgICB2YXIgZGlzcG9zZSwgaW5uZXI7XG4gICAgaWYgKGFzeW5jKSB7XG4gICAgICBpZiAoIVN5bWJvbC5hc3luY0Rpc3Bvc2UpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJTeW1ib2wuYXN5bmNEaXNwb3NlIGlzIG5vdCBkZWZpbmVkLlwiKTtcbiAgICAgIGRpc3Bvc2UgPSB2YWx1ZVtTeW1ib2wuYXN5bmNEaXNwb3NlXTtcbiAgICB9XG4gICAgaWYgKGRpc3Bvc2UgPT09IHZvaWQgMCkge1xuICAgICAgaWYgKCFTeW1ib2wuZGlzcG9zZSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN5bWJvbC5kaXNwb3NlIGlzIG5vdCBkZWZpbmVkLlwiKTtcbiAgICAgIGRpc3Bvc2UgPSB2YWx1ZVtTeW1ib2wuZGlzcG9zZV07XG4gICAgICBpZiAoYXN5bmMpIGlubmVyID0gZGlzcG9zZTtcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBkaXNwb3NlICE9PSBcImZ1bmN0aW9uXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJPYmplY3Qgbm90IGRpc3Bvc2FibGUuXCIpO1xuICAgIGlmIChpbm5lcikgZGlzcG9zZSA9IGZ1bmN0aW9uKCkgeyB0cnkgeyBpbm5lci5jYWxsKHRoaXMpOyB9IGNhdGNoIChlKSB7IHJldHVybiBQcm9taXNlLnJlamVjdChlKTsgfSB9O1xuICAgIGVudi5zdGFjay5wdXNoKHsgdmFsdWU6IHZhbHVlLCBkaXNwb3NlOiBkaXNwb3NlLCBhc3luYzogYXN5bmMgfSk7XG4gIH1cbiAgZWxzZSBpZiAoYXN5bmMpIHtcbiAgICBlbnYuc3RhY2sucHVzaCh7IGFzeW5jOiB0cnVlIH0pO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cblxudmFyIF9TdXBwcmVzc2VkRXJyb3IgPSB0eXBlb2YgU3VwcHJlc3NlZEVycm9yID09PSBcImZ1bmN0aW9uXCIgPyBTdXBwcmVzc2VkRXJyb3IgOiBmdW5jdGlvbiAoZXJyb3IsIHN1cHByZXNzZWQsIG1lc3NhZ2UpIHtcbiAgdmFyIGUgPSBuZXcgRXJyb3IobWVzc2FnZSk7XG4gIHJldHVybiBlLm5hbWUgPSBcIlN1cHByZXNzZWRFcnJvclwiLCBlLmVycm9yID0gZXJyb3IsIGUuc3VwcHJlc3NlZCA9IHN1cHByZXNzZWQsIGU7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gX19kaXNwb3NlUmVzb3VyY2VzKGVudikge1xuICBmdW5jdGlvbiBmYWlsKGUpIHtcbiAgICBlbnYuZXJyb3IgPSBlbnYuaGFzRXJyb3IgPyBuZXcgX1N1cHByZXNzZWRFcnJvcihlLCBlbnYuZXJyb3IsIFwiQW4gZXJyb3Igd2FzIHN1cHByZXNzZWQgZHVyaW5nIGRpc3Bvc2FsLlwiKSA6IGU7XG4gICAgZW52Lmhhc0Vycm9yID0gdHJ1ZTtcbiAgfVxuICB2YXIgciwgcyA9IDA7XG4gIGZ1bmN0aW9uIG5leHQoKSB7XG4gICAgd2hpbGUgKHIgPSBlbnYuc3RhY2sucG9wKCkpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmICghci5hc3luYyAmJiBzID09PSAxKSByZXR1cm4gcyA9IDAsIGVudi5zdGFjay5wdXNoKHIpLCBQcm9taXNlLnJlc29sdmUoKS50aGVuKG5leHQpO1xuICAgICAgICBpZiAoci5kaXNwb3NlKSB7XG4gICAgICAgICAgdmFyIHJlc3VsdCA9IHIuZGlzcG9zZS5jYWxsKHIudmFsdWUpO1xuICAgICAgICAgIGlmIChyLmFzeW5jKSByZXR1cm4gcyB8PSAyLCBQcm9taXNlLnJlc29sdmUocmVzdWx0KS50aGVuKG5leHQsIGZ1bmN0aW9uKGUpIHsgZmFpbChlKTsgcmV0dXJuIG5leHQoKTsgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBzIHw9IDE7XG4gICAgICB9XG4gICAgICBjYXRjaCAoZSkge1xuICAgICAgICBmYWlsKGUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAocyA9PT0gMSkgcmV0dXJuIGVudi5oYXNFcnJvciA/IFByb21pc2UucmVqZWN0KGVudi5lcnJvcikgOiBQcm9taXNlLnJlc29sdmUoKTtcbiAgICBpZiAoZW52Lmhhc0Vycm9yKSB0aHJvdyBlbnYuZXJyb3I7XG4gIH1cbiAgcmV0dXJuIG5leHQoKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9fcmV3cml0ZVJlbGF0aXZlSW1wb3J0RXh0ZW5zaW9uKHBhdGgsIHByZXNlcnZlSnN4KSB7XG4gIGlmICh0eXBlb2YgcGF0aCA9PT0gXCJzdHJpbmdcIiAmJiAvXlxcLlxcLj9cXC8vLnRlc3QocGF0aCkpIHtcbiAgICAgIHJldHVybiBwYXRoLnJlcGxhY2UoL1xcLih0c3gpJHwoKD86XFwuZCk/KSgoPzpcXC5bXi4vXSs/KT8pXFwuKFtjbV0/KXRzJC9pLCBmdW5jdGlvbiAobSwgdHN4LCBkLCBleHQsIGNtKSB7XG4gICAgICAgICAgcmV0dXJuIHRzeCA/IHByZXNlcnZlSnN4ID8gXCIuanN4XCIgOiBcIi5qc1wiIDogZCAmJiAoIWV4dCB8fCAhY20pID8gbSA6IChkICsgZXh0ICsgXCIuXCIgKyBjbS50b0xvd2VyQ2FzZSgpICsgXCJqc1wiKTtcbiAgICAgIH0pO1xuICB9XG4gIHJldHVybiBwYXRoO1xufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIF9fZXh0ZW5kcyxcbiAgX19hc3NpZ24sXG4gIF9fcmVzdCxcbiAgX19kZWNvcmF0ZSxcbiAgX19wYXJhbSxcbiAgX19lc0RlY29yYXRlLFxuICBfX3J1bkluaXRpYWxpemVycyxcbiAgX19wcm9wS2V5LFxuICBfX3NldEZ1bmN0aW9uTmFtZSxcbiAgX19tZXRhZGF0YSxcbiAgX19hd2FpdGVyLFxuICBfX2dlbmVyYXRvcixcbiAgX19jcmVhdGVCaW5kaW5nLFxuICBfX2V4cG9ydFN0YXIsXG4gIF9fdmFsdWVzLFxuICBfX3JlYWQsXG4gIF9fc3ByZWFkLFxuICBfX3NwcmVhZEFycmF5cyxcbiAgX19zcHJlYWRBcnJheSxcbiAgX19hd2FpdCxcbiAgX19hc3luY0dlbmVyYXRvcixcbiAgX19hc3luY0RlbGVnYXRvcixcbiAgX19hc3luY1ZhbHVlcyxcbiAgX19tYWtlVGVtcGxhdGVPYmplY3QsXG4gIF9faW1wb3J0U3RhcixcbiAgX19pbXBvcnREZWZhdWx0LFxuICBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0LFxuICBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0LFxuICBfX2NsYXNzUHJpdmF0ZUZpZWxkSW4sXG4gIF9fYWRkRGlzcG9zYWJsZVJlc291cmNlLFxuICBfX2Rpc3Bvc2VSZXNvdXJjZXMsXG4gIF9fcmV3cml0ZVJlbGF0aXZlSW1wb3J0RXh0ZW5zaW9uLFxufTtcbiIsICJpbXBvcnQgeyBfX2V4dGVuZHMgfSBmcm9tIFwidHNsaWJcIjtcbnZhciBnZW5lcmljTWVzc2FnZSA9IFwiSW52YXJpYW50IFZpb2xhdGlvblwiO1xudmFyIF9hID0gT2JqZWN0LnNldFByb3RvdHlwZU9mLCBzZXRQcm90b3R5cGVPZiA9IF9hID09PSB2b2lkIDAgPyBmdW5jdGlvbiAob2JqLCBwcm90bykge1xuICAgIG9iai5fX3Byb3RvX18gPSBwcm90bztcbiAgICByZXR1cm4gb2JqO1xufSA6IF9hO1xudmFyIEludmFyaWFudEVycm9yID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhJbnZhcmlhbnRFcnJvciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBJbnZhcmlhbnRFcnJvcihtZXNzYWdlKSB7XG4gICAgICAgIGlmIChtZXNzYWdlID09PSB2b2lkIDApIHsgbWVzc2FnZSA9IGdlbmVyaWNNZXNzYWdlOyB9XG4gICAgICAgIHZhciBfdGhpcyA9IF9zdXBlci5jYWxsKHRoaXMsIHR5cGVvZiBtZXNzYWdlID09PSBcIm51bWJlclwiXG4gICAgICAgICAgICA/IGdlbmVyaWNNZXNzYWdlICsgXCI6IFwiICsgbWVzc2FnZSArIFwiIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL2Fwb2xsb2dyYXBocWwvaW52YXJpYW50LXBhY2thZ2VzKVwiXG4gICAgICAgICAgICA6IG1lc3NhZ2UpIHx8IHRoaXM7XG4gICAgICAgIF90aGlzLmZyYW1lc1RvUG9wID0gMTtcbiAgICAgICAgX3RoaXMubmFtZSA9IGdlbmVyaWNNZXNzYWdlO1xuICAgICAgICBzZXRQcm90b3R5cGVPZihfdGhpcywgSW52YXJpYW50RXJyb3IucHJvdG90eXBlKTtcbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICByZXR1cm4gSW52YXJpYW50RXJyb3I7XG59KEVycm9yKSk7XG5leHBvcnQgeyBJbnZhcmlhbnRFcnJvciB9O1xuZXhwb3J0IGZ1bmN0aW9uIGludmFyaWFudChjb25kaXRpb24sIG1lc3NhZ2UpIHtcbiAgICBpZiAoIWNvbmRpdGlvbikge1xuICAgICAgICB0aHJvdyBuZXcgSW52YXJpYW50RXJyb3IobWVzc2FnZSk7XG4gICAgfVxufVxudmFyIHZlcmJvc2l0eUxldmVscyA9IFtcImRlYnVnXCIsIFwibG9nXCIsIFwid2FyblwiLCBcImVycm9yXCIsIFwic2lsZW50XCJdO1xudmFyIHZlcmJvc2l0eUxldmVsID0gdmVyYm9zaXR5TGV2ZWxzLmluZGV4T2YoXCJsb2dcIik7XG5mdW5jdGlvbiB3cmFwQ29uc29sZU1ldGhvZChuYW1lKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHZlcmJvc2l0eUxldmVscy5pbmRleE9mKG5hbWUpID49IHZlcmJvc2l0eUxldmVsKSB7XG4gICAgICAgICAgICAvLyBEZWZhdWx0IHRvIGNvbnNvbGUubG9nIGlmIHRoaXMgaG9zdCBlbnZpcm9ubWVudCBoYXBwZW5zIG5vdCB0byBwcm92aWRlXG4gICAgICAgICAgICAvLyBhbGwgdGhlIGNvbnNvbGUuKiBtZXRob2RzIHdlIG5lZWQuXG4gICAgICAgICAgICB2YXIgbWV0aG9kID0gY29uc29sZVtuYW1lXSB8fCBjb25zb2xlLmxvZztcbiAgICAgICAgICAgIHJldHVybiBtZXRob2QuYXBwbHkoY29uc29sZSwgYXJndW1lbnRzKTtcbiAgICAgICAgfVxuICAgIH07XG59XG4oZnVuY3Rpb24gKGludmFyaWFudCkge1xuICAgIGludmFyaWFudC5kZWJ1ZyA9IHdyYXBDb25zb2xlTWV0aG9kKFwiZGVidWdcIik7XG4gICAgaW52YXJpYW50LmxvZyA9IHdyYXBDb25zb2xlTWV0aG9kKFwibG9nXCIpO1xuICAgIGludmFyaWFudC53YXJuID0gd3JhcENvbnNvbGVNZXRob2QoXCJ3YXJuXCIpO1xuICAgIGludmFyaWFudC5lcnJvciA9IHdyYXBDb25zb2xlTWV0aG9kKFwiZXJyb3JcIik7XG59KShpbnZhcmlhbnQgfHwgKGludmFyaWFudCA9IHt9KSk7XG5leHBvcnQgZnVuY3Rpb24gc2V0VmVyYm9zaXR5KGxldmVsKSB7XG4gICAgdmFyIG9sZCA9IHZlcmJvc2l0eUxldmVsc1t2ZXJib3NpdHlMZXZlbF07XG4gICAgdmVyYm9zaXR5TGV2ZWwgPSBNYXRoLm1heCgwLCB2ZXJib3NpdHlMZXZlbHMuaW5kZXhPZihsZXZlbCkpO1xuICAgIHJldHVybiBvbGQ7XG59XG5leHBvcnQgZGVmYXVsdCBpbnZhcmlhbnQ7XG4vLyMgc291cmNlTWFwcGluZ1VSTD1pbnZhcmlhbnQuanMubWFwIiwgIi8qKlxuICogSGVscGVycy5cbiAqL1xuXG52YXIgcyA9IDEwMDA7XG52YXIgbSA9IHMgKiA2MDtcbnZhciBoID0gbSAqIDYwO1xudmFyIGQgPSBoICogMjQ7XG52YXIgdyA9IGQgKiA3O1xudmFyIHkgPSBkICogMzY1LjI1O1xuXG4vKipcbiAqIFBhcnNlIG9yIGZvcm1hdCB0aGUgZ2l2ZW4gYHZhbGAuXG4gKlxuICogT3B0aW9uczpcbiAqXG4gKiAgLSBgbG9uZ2AgdmVyYm9zZSBmb3JtYXR0aW5nIFtmYWxzZV1cbiAqXG4gKiBAcGFyYW0ge1N0cmluZ3xOdW1iZXJ9IHZhbFxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXVxuICogQHRocm93cyB7RXJyb3J9IHRocm93IGFuIGVycm9yIGlmIHZhbCBpcyBub3QgYSBub24tZW1wdHkgc3RyaW5nIG9yIGEgbnVtYmVyXG4gKiBAcmV0dXJuIHtTdHJpbmd8TnVtYmVyfVxuICogQGFwaSBwdWJsaWNcbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICh2YWwsIG9wdGlvbnMpIHtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbDtcbiAgaWYgKHR5cGUgPT09ICdzdHJpbmcnICYmIHZhbC5sZW5ndGggPiAwKSB7XG4gICAgcmV0dXJuIHBhcnNlKHZhbCk7XG4gIH0gZWxzZSBpZiAodHlwZSA9PT0gJ251bWJlcicgJiYgaXNGaW5pdGUodmFsKSkge1xuICAgIHJldHVybiBvcHRpb25zLmxvbmcgPyBmbXRMb25nKHZhbCkgOiBmbXRTaG9ydCh2YWwpO1xuICB9XG4gIHRocm93IG5ldyBFcnJvcihcbiAgICAndmFsIGlzIG5vdCBhIG5vbi1lbXB0eSBzdHJpbmcgb3IgYSB2YWxpZCBudW1iZXIuIHZhbD0nICtcbiAgICAgIEpTT04uc3RyaW5naWZ5KHZhbClcbiAgKTtcbn07XG5cbi8qKlxuICogUGFyc2UgdGhlIGdpdmVuIGBzdHJgIGFuZCByZXR1cm4gbWlsbGlzZWNvbmRzLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBzdHJcbiAqIEByZXR1cm4ge051bWJlcn1cbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5cbmZ1bmN0aW9uIHBhcnNlKHN0cikge1xuICBzdHIgPSBTdHJpbmcoc3RyKTtcbiAgaWYgKHN0ci5sZW5ndGggPiAxMDApIHtcbiAgICByZXR1cm47XG4gIH1cbiAgdmFyIG1hdGNoID0gL14oLT8oPzpcXGQrKT9cXC4/XFxkKykgKihtaWxsaXNlY29uZHM/fG1zZWNzP3xtc3xzZWNvbmRzP3xzZWNzP3xzfG1pbnV0ZXM/fG1pbnM/fG18aG91cnM/fGhycz98aHxkYXlzP3xkfHdlZWtzP3x3fHllYXJzP3x5cnM/fHkpPyQvaS5leGVjKFxuICAgIHN0clxuICApO1xuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIHZhciBuID0gcGFyc2VGbG9hdChtYXRjaFsxXSk7XG4gIHZhciB0eXBlID0gKG1hdGNoWzJdIHx8ICdtcycpLnRvTG93ZXJDYXNlKCk7XG4gIHN3aXRjaCAodHlwZSkge1xuICAgIGNhc2UgJ3llYXJzJzpcbiAgICBjYXNlICd5ZWFyJzpcbiAgICBjYXNlICd5cnMnOlxuICAgIGNhc2UgJ3lyJzpcbiAgICBjYXNlICd5JzpcbiAgICAgIHJldHVybiBuICogeTtcbiAgICBjYXNlICd3ZWVrcyc6XG4gICAgY2FzZSAnd2Vlayc6XG4gICAgY2FzZSAndyc6XG4gICAgICByZXR1cm4gbiAqIHc7XG4gICAgY2FzZSAnZGF5cyc6XG4gICAgY2FzZSAnZGF5JzpcbiAgICBjYXNlICdkJzpcbiAgICAgIHJldHVybiBuICogZDtcbiAgICBjYXNlICdob3Vycyc6XG4gICAgY2FzZSAnaG91cic6XG4gICAgY2FzZSAnaHJzJzpcbiAgICBjYXNlICdocic6XG4gICAgY2FzZSAnaCc6XG4gICAgICByZXR1cm4gbiAqIGg7XG4gICAgY2FzZSAnbWludXRlcyc6XG4gICAgY2FzZSAnbWludXRlJzpcbiAgICBjYXNlICdtaW5zJzpcbiAgICBjYXNlICdtaW4nOlxuICAgIGNhc2UgJ20nOlxuICAgICAgcmV0dXJuIG4gKiBtO1xuICAgIGNhc2UgJ3NlY29uZHMnOlxuICAgIGNhc2UgJ3NlY29uZCc6XG4gICAgY2FzZSAnc2Vjcyc6XG4gICAgY2FzZSAnc2VjJzpcbiAgICBjYXNlICdzJzpcbiAgICAgIHJldHVybiBuICogcztcbiAgICBjYXNlICdtaWxsaXNlY29uZHMnOlxuICAgIGNhc2UgJ21pbGxpc2Vjb25kJzpcbiAgICBjYXNlICdtc2Vjcyc6XG4gICAgY2FzZSAnbXNlYyc6XG4gICAgY2FzZSAnbXMnOlxuICAgICAgcmV0dXJuIG47XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cblxuLyoqXG4gKiBTaG9ydCBmb3JtYXQgZm9yIGBtc2AuXG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9IG1zXG4gKiBAcmV0dXJuIHtTdHJpbmd9XG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuXG5mdW5jdGlvbiBmbXRTaG9ydChtcykge1xuICB2YXIgbXNBYnMgPSBNYXRoLmFicyhtcyk7XG4gIGlmIChtc0FicyA+PSBkKSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQobXMgLyBkKSArICdkJztcbiAgfVxuICBpZiAobXNBYnMgPj0gaCkge1xuICAgIHJldHVybiBNYXRoLnJvdW5kKG1zIC8gaCkgKyAnaCc7XG4gIH1cbiAgaWYgKG1zQWJzID49IG0pIHtcbiAgICByZXR1cm4gTWF0aC5yb3VuZChtcyAvIG0pICsgJ20nO1xuICB9XG4gIGlmIChtc0FicyA+PSBzKSB7XG4gICAgcmV0dXJuIE1hdGgucm91bmQobXMgLyBzKSArICdzJztcbiAgfVxuICByZXR1cm4gbXMgKyAnbXMnO1xufVxuXG4vKipcbiAqIExvbmcgZm9ybWF0IGZvciBgbXNgLlxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSBtc1xuICogQHJldHVybiB7U3RyaW5nfVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gZm10TG9uZyhtcykge1xuICB2YXIgbXNBYnMgPSBNYXRoLmFicyhtcyk7XG4gIGlmIChtc0FicyA+PSBkKSB7XG4gICAgcmV0dXJuIHBsdXJhbChtcywgbXNBYnMsIGQsICdkYXknKTtcbiAgfVxuICBpZiAobXNBYnMgPj0gaCkge1xuICAgIHJldHVybiBwbHVyYWwobXMsIG1zQWJzLCBoLCAnaG91cicpO1xuICB9XG4gIGlmIChtc0FicyA+PSBtKSB7XG4gICAgcmV0dXJuIHBsdXJhbChtcywgbXNBYnMsIG0sICdtaW51dGUnKTtcbiAgfVxuICBpZiAobXNBYnMgPj0gcykge1xuICAgIHJldHVybiBwbHVyYWwobXMsIG1zQWJzLCBzLCAnc2Vjb25kJyk7XG4gIH1cbiAgcmV0dXJuIG1zICsgJyBtcyc7XG59XG5cbi8qKlxuICogUGx1cmFsaXphdGlvbiBoZWxwZXIuXG4gKi9cblxuZnVuY3Rpb24gcGx1cmFsKG1zLCBtc0FicywgbiwgbmFtZSkge1xuICB2YXIgaXNQbHVyYWwgPSBtc0FicyA+PSBuICogMS41O1xuICByZXR1cm4gTWF0aC5yb3VuZChtcyAvIG4pICsgJyAnICsgbmFtZSArIChpc1BsdXJhbCA/ICdzJyA6ICcnKTtcbn1cbiIsICJcbi8qKlxuICogVGhpcyBpcyB0aGUgY29tbW9uIGxvZ2ljIGZvciBib3RoIHRoZSBOb2RlLmpzIGFuZCB3ZWIgYnJvd3NlclxuICogaW1wbGVtZW50YXRpb25zIG9mIGBkZWJ1ZygpYC5cbiAqL1xuXG5mdW5jdGlvbiBzZXR1cChlbnYpIHtcblx0Y3JlYXRlRGVidWcuZGVidWcgPSBjcmVhdGVEZWJ1Zztcblx0Y3JlYXRlRGVidWcuZGVmYXVsdCA9IGNyZWF0ZURlYnVnO1xuXHRjcmVhdGVEZWJ1Zy5jb2VyY2UgPSBjb2VyY2U7XG5cdGNyZWF0ZURlYnVnLmRpc2FibGUgPSBkaXNhYmxlO1xuXHRjcmVhdGVEZWJ1Zy5lbmFibGUgPSBlbmFibGU7XG5cdGNyZWF0ZURlYnVnLmVuYWJsZWQgPSBlbmFibGVkO1xuXHRjcmVhdGVEZWJ1Zy5odW1hbml6ZSA9IHJlcXVpcmUoJ21zJyk7XG5cdGNyZWF0ZURlYnVnLmRlc3Ryb3kgPSBkZXN0cm95O1xuXG5cdE9iamVjdC5rZXlzKGVudikuZm9yRWFjaChrZXkgPT4ge1xuXHRcdGNyZWF0ZURlYnVnW2tleV0gPSBlbnZba2V5XTtcblx0fSk7XG5cblx0LyoqXG5cdCogVGhlIGN1cnJlbnRseSBhY3RpdmUgZGVidWcgbW9kZSBuYW1lcywgYW5kIG5hbWVzIHRvIHNraXAuXG5cdCovXG5cblx0Y3JlYXRlRGVidWcubmFtZXMgPSBbXTtcblx0Y3JlYXRlRGVidWcuc2tpcHMgPSBbXTtcblxuXHQvKipcblx0KiBNYXAgb2Ygc3BlY2lhbCBcIiVuXCIgaGFuZGxpbmcgZnVuY3Rpb25zLCBmb3IgdGhlIGRlYnVnIFwiZm9ybWF0XCIgYXJndW1lbnQuXG5cdCpcblx0KiBWYWxpZCBrZXkgbmFtZXMgYXJlIGEgc2luZ2xlLCBsb3dlciBvciB1cHBlci1jYXNlIGxldHRlciwgaS5lLiBcIm5cIiBhbmQgXCJOXCIuXG5cdCovXG5cdGNyZWF0ZURlYnVnLmZvcm1hdHRlcnMgPSB7fTtcblxuXHQvKipcblx0KiBTZWxlY3RzIGEgY29sb3IgZm9yIGEgZGVidWcgbmFtZXNwYWNlXG5cdCogQHBhcmFtIHtTdHJpbmd9IG5hbWVzcGFjZSBUaGUgbmFtZXNwYWNlIHN0cmluZyBmb3IgdGhlIGRlYnVnIGluc3RhbmNlIHRvIGJlIGNvbG9yZWRcblx0KiBAcmV0dXJuIHtOdW1iZXJ8U3RyaW5nfSBBbiBBTlNJIGNvbG9yIGNvZGUgZm9yIHRoZSBnaXZlbiBuYW1lc3BhY2Vcblx0KiBAYXBpIHByaXZhdGVcblx0Ki9cblx0ZnVuY3Rpb24gc2VsZWN0Q29sb3IobmFtZXNwYWNlKSB7XG5cdFx0bGV0IGhhc2ggPSAwO1xuXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBuYW1lc3BhY2UubGVuZ3RoOyBpKyspIHtcblx0XHRcdGhhc2ggPSAoKGhhc2ggPDwgNSkgLSBoYXNoKSArIG5hbWVzcGFjZS5jaGFyQ29kZUF0KGkpO1xuXHRcdFx0aGFzaCB8PSAwOyAvLyBDb252ZXJ0IHRvIDMyYml0IGludGVnZXJcblx0XHR9XG5cblx0XHRyZXR1cm4gY3JlYXRlRGVidWcuY29sb3JzW01hdGguYWJzKGhhc2gpICUgY3JlYXRlRGVidWcuY29sb3JzLmxlbmd0aF07XG5cdH1cblx0Y3JlYXRlRGVidWcuc2VsZWN0Q29sb3IgPSBzZWxlY3RDb2xvcjtcblxuXHQvKipcblx0KiBDcmVhdGUgYSBkZWJ1Z2dlciB3aXRoIHRoZSBnaXZlbiBgbmFtZXNwYWNlYC5cblx0KlxuXHQqIEBwYXJhbSB7U3RyaW5nfSBuYW1lc3BhY2Vcblx0KiBAcmV0dXJuIHtGdW5jdGlvbn1cblx0KiBAYXBpIHB1YmxpY1xuXHQqL1xuXHRmdW5jdGlvbiBjcmVhdGVEZWJ1ZyhuYW1lc3BhY2UpIHtcblx0XHRsZXQgcHJldlRpbWU7XG5cdFx0bGV0IGVuYWJsZU92ZXJyaWRlID0gbnVsbDtcblx0XHRsZXQgbmFtZXNwYWNlc0NhY2hlO1xuXHRcdGxldCBlbmFibGVkQ2FjaGU7XG5cblx0XHRmdW5jdGlvbiBkZWJ1ZyguLi5hcmdzKSB7XG5cdFx0XHQvLyBEaXNhYmxlZD9cblx0XHRcdGlmICghZGVidWcuZW5hYmxlZCkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGNvbnN0IHNlbGYgPSBkZWJ1ZztcblxuXHRcdFx0Ly8gU2V0IGBkaWZmYCB0aW1lc3RhbXBcblx0XHRcdGNvbnN0IGN1cnIgPSBOdW1iZXIobmV3IERhdGUoKSk7XG5cdFx0XHRjb25zdCBtcyA9IGN1cnIgLSAocHJldlRpbWUgfHwgY3Vycik7XG5cdFx0XHRzZWxmLmRpZmYgPSBtcztcblx0XHRcdHNlbGYucHJldiA9IHByZXZUaW1lO1xuXHRcdFx0c2VsZi5jdXJyID0gY3Vycjtcblx0XHRcdHByZXZUaW1lID0gY3VycjtcblxuXHRcdFx0YXJnc1swXSA9IGNyZWF0ZURlYnVnLmNvZXJjZShhcmdzWzBdKTtcblxuXHRcdFx0aWYgKHR5cGVvZiBhcmdzWzBdICE9PSAnc3RyaW5nJykge1xuXHRcdFx0XHQvLyBBbnl0aGluZyBlbHNlIGxldCdzIGluc3BlY3Qgd2l0aCAlT1xuXHRcdFx0XHRhcmdzLnVuc2hpZnQoJyVPJyk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIEFwcGx5IGFueSBgZm9ybWF0dGVyc2AgdHJhbnNmb3JtYXRpb25zXG5cdFx0XHRsZXQgaW5kZXggPSAwO1xuXHRcdFx0YXJnc1swXSA9IGFyZ3NbMF0ucmVwbGFjZSgvJShbYS16QS1aJV0pL2csIChtYXRjaCwgZm9ybWF0KSA9PiB7XG5cdFx0XHRcdC8vIElmIHdlIGVuY291bnRlciBhbiBlc2NhcGVkICUgdGhlbiBkb24ndCBpbmNyZWFzZSB0aGUgYXJyYXkgaW5kZXhcblx0XHRcdFx0aWYgKG1hdGNoID09PSAnJSUnKSB7XG5cdFx0XHRcdFx0cmV0dXJuICclJztcblx0XHRcdFx0fVxuXHRcdFx0XHRpbmRleCsrO1xuXHRcdFx0XHRjb25zdCBmb3JtYXR0ZXIgPSBjcmVhdGVEZWJ1Zy5mb3JtYXR0ZXJzW2Zvcm1hdF07XG5cdFx0XHRcdGlmICh0eXBlb2YgZm9ybWF0dGVyID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0XHRcdFx0Y29uc3QgdmFsID0gYXJnc1tpbmRleF07XG5cdFx0XHRcdFx0bWF0Y2ggPSBmb3JtYXR0ZXIuY2FsbChzZWxmLCB2YWwpO1xuXG5cdFx0XHRcdFx0Ly8gTm93IHdlIG5lZWQgdG8gcmVtb3ZlIGBhcmdzW2luZGV4XWAgc2luY2UgaXQncyBpbmxpbmVkIGluIHRoZSBgZm9ybWF0YFxuXHRcdFx0XHRcdGFyZ3Muc3BsaWNlKGluZGV4LCAxKTtcblx0XHRcdFx0XHRpbmRleC0tO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiBtYXRjaDtcblx0XHRcdH0pO1xuXG5cdFx0XHQvLyBBcHBseSBlbnYtc3BlY2lmaWMgZm9ybWF0dGluZyAoY29sb3JzLCBldGMuKVxuXHRcdFx0Y3JlYXRlRGVidWcuZm9ybWF0QXJncy5jYWxsKHNlbGYsIGFyZ3MpO1xuXG5cdFx0XHRjb25zdCBsb2dGbiA9IHNlbGYubG9nIHx8IGNyZWF0ZURlYnVnLmxvZztcblx0XHRcdGxvZ0ZuLmFwcGx5KHNlbGYsIGFyZ3MpO1xuXHRcdH1cblxuXHRcdGRlYnVnLm5hbWVzcGFjZSA9IG5hbWVzcGFjZTtcblx0XHRkZWJ1Zy51c2VDb2xvcnMgPSBjcmVhdGVEZWJ1Zy51c2VDb2xvcnMoKTtcblx0XHRkZWJ1Zy5jb2xvciA9IGNyZWF0ZURlYnVnLnNlbGVjdENvbG9yKG5hbWVzcGFjZSk7XG5cdFx0ZGVidWcuZXh0ZW5kID0gZXh0ZW5kO1xuXHRcdGRlYnVnLmRlc3Ryb3kgPSBjcmVhdGVEZWJ1Zy5kZXN0cm95OyAvLyBYWFggVGVtcG9yYXJ5LiBXaWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgcmVsZWFzZS5cblxuXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShkZWJ1ZywgJ2VuYWJsZWQnLCB7XG5cdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuXHRcdFx0Y29uZmlndXJhYmxlOiBmYWxzZSxcblx0XHRcdGdldDogKCkgPT4ge1xuXHRcdFx0XHRpZiAoZW5hYmxlT3ZlcnJpZGUgIT09IG51bGwpIHtcblx0XHRcdFx0XHRyZXR1cm4gZW5hYmxlT3ZlcnJpZGU7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKG5hbWVzcGFjZXNDYWNoZSAhPT0gY3JlYXRlRGVidWcubmFtZXNwYWNlcykge1xuXHRcdFx0XHRcdG5hbWVzcGFjZXNDYWNoZSA9IGNyZWF0ZURlYnVnLm5hbWVzcGFjZXM7XG5cdFx0XHRcdFx0ZW5hYmxlZENhY2hlID0gY3JlYXRlRGVidWcuZW5hYmxlZChuYW1lc3BhY2UpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0cmV0dXJuIGVuYWJsZWRDYWNoZTtcblx0XHRcdH0sXG5cdFx0XHRzZXQ6IHYgPT4ge1xuXHRcdFx0XHRlbmFibGVPdmVycmlkZSA9IHY7XG5cdFx0XHR9XG5cdFx0fSk7XG5cblx0XHQvLyBFbnYtc3BlY2lmaWMgaW5pdGlhbGl6YXRpb24gbG9naWMgZm9yIGRlYnVnIGluc3RhbmNlc1xuXHRcdGlmICh0eXBlb2YgY3JlYXRlRGVidWcuaW5pdCA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0Y3JlYXRlRGVidWcuaW5pdChkZWJ1Zyk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIGRlYnVnO1xuXHR9XG5cblx0ZnVuY3Rpb24gZXh0ZW5kKG5hbWVzcGFjZSwgZGVsaW1pdGVyKSB7XG5cdFx0Y29uc3QgbmV3RGVidWcgPSBjcmVhdGVEZWJ1Zyh0aGlzLm5hbWVzcGFjZSArICh0eXBlb2YgZGVsaW1pdGVyID09PSAndW5kZWZpbmVkJyA/ICc6JyA6IGRlbGltaXRlcikgKyBuYW1lc3BhY2UpO1xuXHRcdG5ld0RlYnVnLmxvZyA9IHRoaXMubG9nO1xuXHRcdHJldHVybiBuZXdEZWJ1Zztcblx0fVxuXG5cdC8qKlxuXHQqIEVuYWJsZXMgYSBkZWJ1ZyBtb2RlIGJ5IG5hbWVzcGFjZXMuIFRoaXMgY2FuIGluY2x1ZGUgbW9kZXNcblx0KiBzZXBhcmF0ZWQgYnkgYSBjb2xvbiBhbmQgd2lsZGNhcmRzLlxuXHQqXG5cdCogQHBhcmFtIHtTdHJpbmd9IG5hbWVzcGFjZXNcblx0KiBAYXBpIHB1YmxpY1xuXHQqL1xuXHRmdW5jdGlvbiBlbmFibGUobmFtZXNwYWNlcykge1xuXHRcdGNyZWF0ZURlYnVnLnNhdmUobmFtZXNwYWNlcyk7XG5cdFx0Y3JlYXRlRGVidWcubmFtZXNwYWNlcyA9IG5hbWVzcGFjZXM7XG5cblx0XHRjcmVhdGVEZWJ1Zy5uYW1lcyA9IFtdO1xuXHRcdGNyZWF0ZURlYnVnLnNraXBzID0gW107XG5cblx0XHRjb25zdCBzcGxpdCA9ICh0eXBlb2YgbmFtZXNwYWNlcyA9PT0gJ3N0cmluZycgPyBuYW1lc3BhY2VzIDogJycpXG5cdFx0XHQudHJpbSgpXG5cdFx0XHQucmVwbGFjZSgnICcsICcsJylcblx0XHRcdC5zcGxpdCgnLCcpXG5cdFx0XHQuZmlsdGVyKEJvb2xlYW4pO1xuXG5cdFx0Zm9yIChjb25zdCBucyBvZiBzcGxpdCkge1xuXHRcdFx0aWYgKG5zWzBdID09PSAnLScpIHtcblx0XHRcdFx0Y3JlYXRlRGVidWcuc2tpcHMucHVzaChucy5zbGljZSgxKSk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRjcmVhdGVEZWJ1Zy5uYW1lcy5wdXNoKG5zKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ2hlY2tzIGlmIHRoZSBnaXZlbiBzdHJpbmcgbWF0Y2hlcyBhIG5hbWVzcGFjZSB0ZW1wbGF0ZSwgaG9ub3Jpbmdcblx0ICogYXN0ZXJpc2tzIGFzIHdpbGRjYXJkcy5cblx0ICpcblx0ICogQHBhcmFtIHtTdHJpbmd9IHNlYXJjaFxuXHQgKiBAcGFyYW0ge1N0cmluZ30gdGVtcGxhdGVcblx0ICogQHJldHVybiB7Qm9vbGVhbn1cblx0ICovXG5cdGZ1bmN0aW9uIG1hdGNoZXNUZW1wbGF0ZShzZWFyY2gsIHRlbXBsYXRlKSB7XG5cdFx0bGV0IHNlYXJjaEluZGV4ID0gMDtcblx0XHRsZXQgdGVtcGxhdGVJbmRleCA9IDA7XG5cdFx0bGV0IHN0YXJJbmRleCA9IC0xO1xuXHRcdGxldCBtYXRjaEluZGV4ID0gMDtcblxuXHRcdHdoaWxlIChzZWFyY2hJbmRleCA8IHNlYXJjaC5sZW5ndGgpIHtcblx0XHRcdGlmICh0ZW1wbGF0ZUluZGV4IDwgdGVtcGxhdGUubGVuZ3RoICYmICh0ZW1wbGF0ZVt0ZW1wbGF0ZUluZGV4XSA9PT0gc2VhcmNoW3NlYXJjaEluZGV4XSB8fCB0ZW1wbGF0ZVt0ZW1wbGF0ZUluZGV4XSA9PT0gJyonKSkge1xuXHRcdFx0XHQvLyBNYXRjaCBjaGFyYWN0ZXIgb3IgcHJvY2VlZCB3aXRoIHdpbGRjYXJkXG5cdFx0XHRcdGlmICh0ZW1wbGF0ZVt0ZW1wbGF0ZUluZGV4XSA9PT0gJyonKSB7XG5cdFx0XHRcdFx0c3RhckluZGV4ID0gdGVtcGxhdGVJbmRleDtcblx0XHRcdFx0XHRtYXRjaEluZGV4ID0gc2VhcmNoSW5kZXg7XG5cdFx0XHRcdFx0dGVtcGxhdGVJbmRleCsrOyAvLyBTa2lwIHRoZSAnKidcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRzZWFyY2hJbmRleCsrO1xuXHRcdFx0XHRcdHRlbXBsYXRlSW5kZXgrKztcblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIGlmIChzdGFySW5kZXggIT09IC0xKSB7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tbmVnYXRlZC1jb25kaXRpb25cblx0XHRcdFx0Ly8gQmFja3RyYWNrIHRvIHRoZSBsYXN0ICcqJyBhbmQgdHJ5IHRvIG1hdGNoIG1vcmUgY2hhcmFjdGVyc1xuXHRcdFx0XHR0ZW1wbGF0ZUluZGV4ID0gc3RhckluZGV4ICsgMTtcblx0XHRcdFx0bWF0Y2hJbmRleCsrO1xuXHRcdFx0XHRzZWFyY2hJbmRleCA9IG1hdGNoSW5kZXg7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRyZXR1cm4gZmFsc2U7IC8vIE5vIG1hdGNoXG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0Ly8gSGFuZGxlIHRyYWlsaW5nICcqJyBpbiB0ZW1wbGF0ZVxuXHRcdHdoaWxlICh0ZW1wbGF0ZUluZGV4IDwgdGVtcGxhdGUubGVuZ3RoICYmIHRlbXBsYXRlW3RlbXBsYXRlSW5kZXhdID09PSAnKicpIHtcblx0XHRcdHRlbXBsYXRlSW5kZXgrKztcblx0XHR9XG5cblx0XHRyZXR1cm4gdGVtcGxhdGVJbmRleCA9PT0gdGVtcGxhdGUubGVuZ3RoO1xuXHR9XG5cblx0LyoqXG5cdCogRGlzYWJsZSBkZWJ1ZyBvdXRwdXQuXG5cdCpcblx0KiBAcmV0dXJuIHtTdHJpbmd9IG5hbWVzcGFjZXNcblx0KiBAYXBpIHB1YmxpY1xuXHQqL1xuXHRmdW5jdGlvbiBkaXNhYmxlKCkge1xuXHRcdGNvbnN0IG5hbWVzcGFjZXMgPSBbXG5cdFx0XHQuLi5jcmVhdGVEZWJ1Zy5uYW1lcyxcblx0XHRcdC4uLmNyZWF0ZURlYnVnLnNraXBzLm1hcChuYW1lc3BhY2UgPT4gJy0nICsgbmFtZXNwYWNlKVxuXHRcdF0uam9pbignLCcpO1xuXHRcdGNyZWF0ZURlYnVnLmVuYWJsZSgnJyk7XG5cdFx0cmV0dXJuIG5hbWVzcGFjZXM7XG5cdH1cblxuXHQvKipcblx0KiBSZXR1cm5zIHRydWUgaWYgdGhlIGdpdmVuIG1vZGUgbmFtZSBpcyBlbmFibGVkLCBmYWxzZSBvdGhlcndpc2UuXG5cdCpcblx0KiBAcGFyYW0ge1N0cmluZ30gbmFtZVxuXHQqIEByZXR1cm4ge0Jvb2xlYW59XG5cdCogQGFwaSBwdWJsaWNcblx0Ki9cblx0ZnVuY3Rpb24gZW5hYmxlZChuYW1lKSB7XG5cdFx0Zm9yIChjb25zdCBza2lwIG9mIGNyZWF0ZURlYnVnLnNraXBzKSB7XG5cdFx0XHRpZiAobWF0Y2hlc1RlbXBsYXRlKG5hbWUsIHNraXApKSB7XG5cdFx0XHRcdHJldHVybiBmYWxzZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRmb3IgKGNvbnN0IG5zIG9mIGNyZWF0ZURlYnVnLm5hbWVzKSB7XG5cdFx0XHRpZiAobWF0Y2hlc1RlbXBsYXRlKG5hbWUsIG5zKSkge1xuXHRcdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHQvKipcblx0KiBDb2VyY2UgYHZhbGAuXG5cdCpcblx0KiBAcGFyYW0ge01peGVkfSB2YWxcblx0KiBAcmV0dXJuIHtNaXhlZH1cblx0KiBAYXBpIHByaXZhdGVcblx0Ki9cblx0ZnVuY3Rpb24gY29lcmNlKHZhbCkge1xuXHRcdGlmICh2YWwgaW5zdGFuY2VvZiBFcnJvcikge1xuXHRcdFx0cmV0dXJuIHZhbC5zdGFjayB8fCB2YWwubWVzc2FnZTtcblx0XHR9XG5cdFx0cmV0dXJuIHZhbDtcblx0fVxuXG5cdC8qKlxuXHQqIFhYWCBETyBOT1QgVVNFLiBUaGlzIGlzIGEgdGVtcG9yYXJ5IHN0dWIgZnVuY3Rpb24uXG5cdCogWFhYIEl0IFdJTEwgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCBtYWpvciByZWxlYXNlLlxuXHQqL1xuXHRmdW5jdGlvbiBkZXN0cm95KCkge1xuXHRcdGNvbnNvbGUud2FybignSW5zdGFuY2UgbWV0aG9kIGBkZWJ1Zy5kZXN0cm95KClgIGlzIGRlcHJlY2F0ZWQgYW5kIG5vIGxvbmdlciBkb2VzIGFueXRoaW5nLiBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiBvZiBgZGVidWdgLicpO1xuXHR9XG5cblx0Y3JlYXRlRGVidWcuZW5hYmxlKGNyZWF0ZURlYnVnLmxvYWQoKSk7XG5cblx0cmV0dXJuIGNyZWF0ZURlYnVnO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHNldHVwO1xuIiwgIi8qIGVzbGludC1lbnYgYnJvd3NlciAqL1xuXG4vKipcbiAqIFRoaXMgaXMgdGhlIHdlYiBicm93c2VyIGltcGxlbWVudGF0aW9uIG9mIGBkZWJ1ZygpYC5cbiAqL1xuXG5leHBvcnRzLmZvcm1hdEFyZ3MgPSBmb3JtYXRBcmdzO1xuZXhwb3J0cy5zYXZlID0gc2F2ZTtcbmV4cG9ydHMubG9hZCA9IGxvYWQ7XG5leHBvcnRzLnVzZUNvbG9ycyA9IHVzZUNvbG9ycztcbmV4cG9ydHMuc3RvcmFnZSA9IGxvY2Fsc3RvcmFnZSgpO1xuZXhwb3J0cy5kZXN0cm95ID0gKCgpID0+IHtcblx0bGV0IHdhcm5lZCA9IGZhbHNlO1xuXG5cdHJldHVybiAoKSA9PiB7XG5cdFx0aWYgKCF3YXJuZWQpIHtcblx0XHRcdHdhcm5lZCA9IHRydWU7XG5cdFx0XHRjb25zb2xlLndhcm4oJ0luc3RhbmNlIG1ldGhvZCBgZGVidWcuZGVzdHJveSgpYCBpcyBkZXByZWNhdGVkIGFuZCBubyBsb25nZXIgZG9lcyBhbnl0aGluZy4gSXQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IG1ham9yIHZlcnNpb24gb2YgYGRlYnVnYC4nKTtcblx0XHR9XG5cdH07XG59KSgpO1xuXG4vKipcbiAqIENvbG9ycy5cbiAqL1xuXG5leHBvcnRzLmNvbG9ycyA9IFtcblx0JyMwMDAwQ0MnLFxuXHQnIzAwMDBGRicsXG5cdCcjMDAzM0NDJyxcblx0JyMwMDMzRkYnLFxuXHQnIzAwNjZDQycsXG5cdCcjMDA2NkZGJyxcblx0JyMwMDk5Q0MnLFxuXHQnIzAwOTlGRicsXG5cdCcjMDBDQzAwJyxcblx0JyMwMENDMzMnLFxuXHQnIzAwQ0M2NicsXG5cdCcjMDBDQzk5Jyxcblx0JyMwMENDQ0MnLFxuXHQnIzAwQ0NGRicsXG5cdCcjMzMwMENDJyxcblx0JyMzMzAwRkYnLFxuXHQnIzMzMzNDQycsXG5cdCcjMzMzM0ZGJyxcblx0JyMzMzY2Q0MnLFxuXHQnIzMzNjZGRicsXG5cdCcjMzM5OUNDJyxcblx0JyMzMzk5RkYnLFxuXHQnIzMzQ0MwMCcsXG5cdCcjMzNDQzMzJyxcblx0JyMzM0NDNjYnLFxuXHQnIzMzQ0M5OScsXG5cdCcjMzNDQ0NDJyxcblx0JyMzM0NDRkYnLFxuXHQnIzY2MDBDQycsXG5cdCcjNjYwMEZGJyxcblx0JyM2NjMzQ0MnLFxuXHQnIzY2MzNGRicsXG5cdCcjNjZDQzAwJyxcblx0JyM2NkNDMzMnLFxuXHQnIzk5MDBDQycsXG5cdCcjOTkwMEZGJyxcblx0JyM5OTMzQ0MnLFxuXHQnIzk5MzNGRicsXG5cdCcjOTlDQzAwJyxcblx0JyM5OUNDMzMnLFxuXHQnI0NDMDAwMCcsXG5cdCcjQ0MwMDMzJyxcblx0JyNDQzAwNjYnLFxuXHQnI0NDMDA5OScsXG5cdCcjQ0MwMENDJyxcblx0JyNDQzAwRkYnLFxuXHQnI0NDMzMwMCcsXG5cdCcjQ0MzMzMzJyxcblx0JyNDQzMzNjYnLFxuXHQnI0NDMzM5OScsXG5cdCcjQ0MzM0NDJyxcblx0JyNDQzMzRkYnLFxuXHQnI0NDNjYwMCcsXG5cdCcjQ0M2NjMzJyxcblx0JyNDQzk5MDAnLFxuXHQnI0NDOTkzMycsXG5cdCcjQ0NDQzAwJyxcblx0JyNDQ0NDMzMnLFxuXHQnI0ZGMDAwMCcsXG5cdCcjRkYwMDMzJyxcblx0JyNGRjAwNjYnLFxuXHQnI0ZGMDA5OScsXG5cdCcjRkYwMENDJyxcblx0JyNGRjAwRkYnLFxuXHQnI0ZGMzMwMCcsXG5cdCcjRkYzMzMzJyxcblx0JyNGRjMzNjYnLFxuXHQnI0ZGMzM5OScsXG5cdCcjRkYzM0NDJyxcblx0JyNGRjMzRkYnLFxuXHQnI0ZGNjYwMCcsXG5cdCcjRkY2NjMzJyxcblx0JyNGRjk5MDAnLFxuXHQnI0ZGOTkzMycsXG5cdCcjRkZDQzAwJyxcblx0JyNGRkNDMzMnXG5dO1xuXG4vKipcbiAqIEN1cnJlbnRseSBvbmx5IFdlYktpdC1iYXNlZCBXZWIgSW5zcGVjdG9ycywgRmlyZWZveCA+PSB2MzEsXG4gKiBhbmQgdGhlIEZpcmVidWcgZXh0ZW5zaW9uIChhbnkgRmlyZWZveCB2ZXJzaW9uKSBhcmUga25vd25cbiAqIHRvIHN1cHBvcnQgXCIlY1wiIENTUyBjdXN0b21pemF0aW9ucy5cbiAqXG4gKiBUT0RPOiBhZGQgYSBgbG9jYWxTdG9yYWdlYCB2YXJpYWJsZSB0byBleHBsaWNpdGx5IGVuYWJsZS9kaXNhYmxlIGNvbG9yc1xuICovXG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjb21wbGV4aXR5XG5mdW5jdGlvbiB1c2VDb2xvcnMoKSB7XG5cdC8vIE5COiBJbiBhbiBFbGVjdHJvbiBwcmVsb2FkIHNjcmlwdCwgZG9jdW1lbnQgd2lsbCBiZSBkZWZpbmVkIGJ1dCBub3QgZnVsbHlcblx0Ly8gaW5pdGlhbGl6ZWQuIFNpbmNlIHdlIGtub3cgd2UncmUgaW4gQ2hyb21lLCB3ZSdsbCBqdXN0IGRldGVjdCB0aGlzIGNhc2Vcblx0Ly8gZXhwbGljaXRseVxuXHRpZiAodHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LnByb2Nlc3MgJiYgKHdpbmRvdy5wcm9jZXNzLnR5cGUgPT09ICdyZW5kZXJlcicgfHwgd2luZG93LnByb2Nlc3MuX19ud2pzKSkge1xuXHRcdHJldHVybiB0cnVlO1xuXHR9XG5cblx0Ly8gSW50ZXJuZXQgRXhwbG9yZXIgYW5kIEVkZ2UgZG8gbm90IHN1cHBvcnQgY29sb3JzLlxuXHRpZiAodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudCAmJiBuYXZpZ2F0b3IudXNlckFnZW50LnRvTG93ZXJDYXNlKCkubWF0Y2goLyhlZGdlfHRyaWRlbnQpXFwvKFxcZCspLykpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRsZXQgbTtcblxuXHQvLyBJcyB3ZWJraXQ/IGh0dHA6Ly9zdGFja292ZXJmbG93LmNvbS9hLzE2NDU5NjA2LzM3Njc3M1xuXHQvLyBkb2N1bWVudCBpcyB1bmRlZmluZWQgaW4gcmVhY3QtbmF0aXZlOiBodHRwczovL2dpdGh1Yi5jb20vZmFjZWJvb2svcmVhY3QtbmF0aXZlL3B1bGwvMTYzMlxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmV0dXJuLWFzc2lnblxuXHRyZXR1cm4gKHR5cGVvZiBkb2N1bWVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50ICYmIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5zdHlsZSAmJiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc3R5bGUuV2Via2l0QXBwZWFyYW5jZSkgfHxcblx0XHQvLyBJcyBmaXJlYnVnPyBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zOTgxMjAvMzc2NzczXG5cdFx0KHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnICYmIHdpbmRvdy5jb25zb2xlICYmICh3aW5kb3cuY29uc29sZS5maXJlYnVnIHx8ICh3aW5kb3cuY29uc29sZS5leGNlcHRpb24gJiYgd2luZG93LmNvbnNvbGUudGFibGUpKSkgfHxcblx0XHQvLyBJcyBmaXJlZm94ID49IHYzMT9cblx0XHQvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1Rvb2xzL1dlYl9Db25zb2xlI1N0eWxpbmdfbWVzc2FnZXNcblx0XHQodHlwZW9mIG5hdmlnYXRvciAhPT0gJ3VuZGVmaW5lZCcgJiYgbmF2aWdhdG9yLnVzZXJBZ2VudCAmJiAobSA9IG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvZmlyZWZveFxcLyhcXGQrKS8pKSAmJiBwYXJzZUludChtWzFdLCAxMCkgPj0gMzEpIHx8XG5cdFx0Ly8gRG91YmxlIGNoZWNrIHdlYmtpdCBpbiB1c2VyQWdlbnQganVzdCBpbiBjYXNlIHdlIGFyZSBpbiBhIHdvcmtlclxuXHRcdCh0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJyAmJiBuYXZpZ2F0b3IudXNlckFnZW50ICYmIG5hdmlnYXRvci51c2VyQWdlbnQudG9Mb3dlckNhc2UoKS5tYXRjaCgvYXBwbGV3ZWJraXRcXC8oXFxkKykvKSk7XG59XG5cbi8qKlxuICogQ29sb3JpemUgbG9nIGFyZ3VtZW50cyBpZiBlbmFibGVkLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gZm9ybWF0QXJncyhhcmdzKSB7XG5cdGFyZ3NbMF0gPSAodGhpcy51c2VDb2xvcnMgPyAnJWMnIDogJycpICtcblx0XHR0aGlzLm5hbWVzcGFjZSArXG5cdFx0KHRoaXMudXNlQ29sb3JzID8gJyAlYycgOiAnICcpICtcblx0XHRhcmdzWzBdICtcblx0XHQodGhpcy51c2VDb2xvcnMgPyAnJWMgJyA6ICcgJykgK1xuXHRcdCcrJyArIG1vZHVsZS5leHBvcnRzLmh1bWFuaXplKHRoaXMuZGlmZik7XG5cblx0aWYgKCF0aGlzLnVzZUNvbG9ycykge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGNvbnN0IGMgPSAnY29sb3I6ICcgKyB0aGlzLmNvbG9yO1xuXHRhcmdzLnNwbGljZSgxLCAwLCBjLCAnY29sb3I6IGluaGVyaXQnKTtcblxuXHQvLyBUaGUgZmluYWwgXCIlY1wiIGlzIHNvbWV3aGF0IHRyaWNreSwgYmVjYXVzZSB0aGVyZSBjb3VsZCBiZSBvdGhlclxuXHQvLyBhcmd1bWVudHMgcGFzc2VkIGVpdGhlciBiZWZvcmUgb3IgYWZ0ZXIgdGhlICVjLCBzbyB3ZSBuZWVkIHRvXG5cdC8vIGZpZ3VyZSBvdXQgdGhlIGNvcnJlY3QgaW5kZXggdG8gaW5zZXJ0IHRoZSBDU1MgaW50b1xuXHRsZXQgaW5kZXggPSAwO1xuXHRsZXQgbGFzdEMgPSAwO1xuXHRhcmdzWzBdLnJlcGxhY2UoLyVbYS16QS1aJV0vZywgbWF0Y2ggPT4ge1xuXHRcdGlmIChtYXRjaCA9PT0gJyUlJykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRpbmRleCsrO1xuXHRcdGlmIChtYXRjaCA9PT0gJyVjJykge1xuXHRcdFx0Ly8gV2Ugb25seSBhcmUgaW50ZXJlc3RlZCBpbiB0aGUgKmxhc3QqICVjXG5cdFx0XHQvLyAodGhlIHVzZXIgbWF5IGhhdmUgcHJvdmlkZWQgdGhlaXIgb3duKVxuXHRcdFx0bGFzdEMgPSBpbmRleDtcblx0XHR9XG5cdH0pO1xuXG5cdGFyZ3Muc3BsaWNlKGxhc3RDLCAwLCBjKTtcbn1cblxuLyoqXG4gKiBJbnZva2VzIGBjb25zb2xlLmRlYnVnKClgIHdoZW4gYXZhaWxhYmxlLlxuICogTm8tb3Agd2hlbiBgY29uc29sZS5kZWJ1Z2AgaXMgbm90IGEgXCJmdW5jdGlvblwiLlxuICogSWYgYGNvbnNvbGUuZGVidWdgIGlzIG5vdCBhdmFpbGFibGUsIGZhbGxzIGJhY2tcbiAqIHRvIGBjb25zb2xlLmxvZ2AuXG4gKlxuICogQGFwaSBwdWJsaWNcbiAqL1xuZXhwb3J0cy5sb2cgPSBjb25zb2xlLmRlYnVnIHx8IGNvbnNvbGUubG9nIHx8ICgoKSA9PiB7fSk7XG5cbi8qKlxuICogU2F2ZSBgbmFtZXNwYWNlc2AuXG4gKlxuICogQHBhcmFtIHtTdHJpbmd9IG5hbWVzcGFjZXNcbiAqIEBhcGkgcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBzYXZlKG5hbWVzcGFjZXMpIHtcblx0dHJ5IHtcblx0XHRpZiAobmFtZXNwYWNlcykge1xuXHRcdFx0ZXhwb3J0cy5zdG9yYWdlLnNldEl0ZW0oJ2RlYnVnJywgbmFtZXNwYWNlcyk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGV4cG9ydHMuc3RvcmFnZS5yZW1vdmVJdGVtKCdkZWJ1ZycpO1xuXHRcdH1cblx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHQvLyBTd2FsbG93XG5cdFx0Ly8gWFhYIChAUWl4LSkgc2hvdWxkIHdlIGJlIGxvZ2dpbmcgdGhlc2U/XG5cdH1cbn1cblxuLyoqXG4gKiBMb2FkIGBuYW1lc3BhY2VzYC5cbiAqXG4gKiBAcmV0dXJuIHtTdHJpbmd9IHJldHVybnMgdGhlIHByZXZpb3VzbHkgcGVyc2lzdGVkIGRlYnVnIG1vZGVzXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gbG9hZCgpIHtcblx0bGV0IHI7XG5cdHRyeSB7XG5cdFx0ciA9IGV4cG9ydHMuc3RvcmFnZS5nZXRJdGVtKCdkZWJ1ZycpO1xuXHR9IGNhdGNoIChlcnJvcikge1xuXHRcdC8vIFN3YWxsb3dcblx0XHQvLyBYWFggKEBRaXgtKSBzaG91bGQgd2UgYmUgbG9nZ2luZyB0aGVzZT9cblx0fVxuXG5cdC8vIElmIGRlYnVnIGlzbid0IHNldCBpbiBMUywgYW5kIHdlJ3JlIGluIEVsZWN0cm9uLCB0cnkgdG8gbG9hZCAkREVCVUdcblx0aWYgKCFyICYmIHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyAmJiAnZW52JyBpbiBwcm9jZXNzKSB7XG5cdFx0ciA9IHByb2Nlc3MuZW52LkRFQlVHO1xuXHR9XG5cblx0cmV0dXJuIHI7XG59XG5cbi8qKlxuICogTG9jYWxzdG9yYWdlIGF0dGVtcHRzIHRvIHJldHVybiB0aGUgbG9jYWxzdG9yYWdlLlxuICpcbiAqIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugc2FmYXJpIHRocm93c1xuICogd2hlbiBhIHVzZXIgZGlzYWJsZXMgY29va2llcy9sb2NhbHN0b3JhZ2VcbiAqIGFuZCB5b3UgYXR0ZW1wdCB0byBhY2Nlc3MgaXQuXG4gKlxuICogQHJldHVybiB7TG9jYWxTdG9yYWdlfVxuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gbG9jYWxzdG9yYWdlKCkge1xuXHR0cnkge1xuXHRcdC8vIFRWTUxLaXQgKEFwcGxlIFRWIEpTIFJ1bnRpbWUpIGRvZXMgbm90IGhhdmUgYSB3aW5kb3cgb2JqZWN0LCBqdXN0IGxvY2FsU3RvcmFnZSBpbiB0aGUgZ2xvYmFsIGNvbnRleHRcblx0XHQvLyBUaGUgQnJvd3NlciBhbHNvIGhhcyBsb2NhbFN0b3JhZ2UgaW4gdGhlIGdsb2JhbCBjb250ZXh0LlxuXHRcdHJldHVybiBsb2NhbFN0b3JhZ2U7XG5cdH0gY2F0Y2ggKGVycm9yKSB7XG5cdFx0Ly8gU3dhbGxvd1xuXHRcdC8vIFhYWCAoQFFpeC0pIHNob3VsZCB3ZSBiZSBsb2dnaW5nIHRoZXNlP1xuXHR9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9jb21tb24nKShleHBvcnRzKTtcblxuY29uc3Qge2Zvcm1hdHRlcnN9ID0gbW9kdWxlLmV4cG9ydHM7XG5cbi8qKlxuICogTWFwICVqIHRvIGBKU09OLnN0cmluZ2lmeSgpYCwgc2luY2Ugbm8gV2ViIEluc3BlY3RvcnMgZG8gdGhhdCBieSBkZWZhdWx0LlxuICovXG5cbmZvcm1hdHRlcnMuaiA9IGZ1bmN0aW9uICh2KSB7XG5cdHRyeSB7XG5cdFx0cmV0dXJuIEpTT04uc3RyaW5naWZ5KHYpO1xuXHR9IGNhdGNoIChlcnJvcikge1xuXHRcdHJldHVybiAnW1VuZXhwZWN0ZWRKU09OUGFyc2VFcnJvcl06ICcgKyBlcnJvci5tZXNzYWdlO1xuXHR9XG59O1xuIiwgIid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSAoZmxhZywgYXJndiA9IHByb2Nlc3MuYXJndikgPT4ge1xuXHRjb25zdCBwcmVmaXggPSBmbGFnLnN0YXJ0c1dpdGgoJy0nKSA/ICcnIDogKGZsYWcubGVuZ3RoID09PSAxID8gJy0nIDogJy0tJyk7XG5cdGNvbnN0IHBvc2l0aW9uID0gYXJndi5pbmRleE9mKHByZWZpeCArIGZsYWcpO1xuXHRjb25zdCB0ZXJtaW5hdG9yUG9zaXRpb24gPSBhcmd2LmluZGV4T2YoJy0tJyk7XG5cdHJldHVybiBwb3NpdGlvbiAhPT0gLTEgJiYgKHRlcm1pbmF0b3JQb3NpdGlvbiA9PT0gLTEgfHwgcG9zaXRpb24gPCB0ZXJtaW5hdG9yUG9zaXRpb24pO1xufTtcbiIsICIndXNlIHN0cmljdCc7XG5jb25zdCBvcyA9IHJlcXVpcmUoJ29zJyk7XG5jb25zdCB0dHkgPSByZXF1aXJlKCd0dHknKTtcbmNvbnN0IGhhc0ZsYWcgPSByZXF1aXJlKCdoYXMtZmxhZycpO1xuXG5jb25zdCB7ZW52fSA9IHByb2Nlc3M7XG5cbmxldCBmb3JjZUNvbG9yO1xuaWYgKGhhc0ZsYWcoJ25vLWNvbG9yJykgfHxcblx0aGFzRmxhZygnbm8tY29sb3JzJykgfHxcblx0aGFzRmxhZygnY29sb3I9ZmFsc2UnKSB8fFxuXHRoYXNGbGFnKCdjb2xvcj1uZXZlcicpKSB7XG5cdGZvcmNlQ29sb3IgPSAwO1xufSBlbHNlIGlmIChoYXNGbGFnKCdjb2xvcicpIHx8XG5cdGhhc0ZsYWcoJ2NvbG9ycycpIHx8XG5cdGhhc0ZsYWcoJ2NvbG9yPXRydWUnKSB8fFxuXHRoYXNGbGFnKCdjb2xvcj1hbHdheXMnKSkge1xuXHRmb3JjZUNvbG9yID0gMTtcbn1cblxuaWYgKCdGT1JDRV9DT0xPUicgaW4gZW52KSB7XG5cdGlmIChlbnYuRk9SQ0VfQ09MT1IgPT09ICd0cnVlJykge1xuXHRcdGZvcmNlQ29sb3IgPSAxO1xuXHR9IGVsc2UgaWYgKGVudi5GT1JDRV9DT0xPUiA9PT0gJ2ZhbHNlJykge1xuXHRcdGZvcmNlQ29sb3IgPSAwO1xuXHR9IGVsc2Uge1xuXHRcdGZvcmNlQ29sb3IgPSBlbnYuRk9SQ0VfQ09MT1IubGVuZ3RoID09PSAwID8gMSA6IE1hdGgubWluKHBhcnNlSW50KGVudi5GT1JDRV9DT0xPUiwgMTApLCAzKTtcblx0fVxufVxuXG5mdW5jdGlvbiB0cmFuc2xhdGVMZXZlbChsZXZlbCkge1xuXHRpZiAobGV2ZWwgPT09IDApIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHRyZXR1cm4ge1xuXHRcdGxldmVsLFxuXHRcdGhhc0Jhc2ljOiB0cnVlLFxuXHRcdGhhczI1NjogbGV2ZWwgPj0gMixcblx0XHRoYXMxNm06IGxldmVsID49IDNcblx0fTtcbn1cblxuZnVuY3Rpb24gc3VwcG9ydHNDb2xvcihoYXZlU3RyZWFtLCBzdHJlYW1Jc1RUWSkge1xuXHRpZiAoZm9yY2VDb2xvciA9PT0gMCkge1xuXHRcdHJldHVybiAwO1xuXHR9XG5cblx0aWYgKGhhc0ZsYWcoJ2NvbG9yPTE2bScpIHx8XG5cdFx0aGFzRmxhZygnY29sb3I9ZnVsbCcpIHx8XG5cdFx0aGFzRmxhZygnY29sb3I9dHJ1ZWNvbG9yJykpIHtcblx0XHRyZXR1cm4gMztcblx0fVxuXG5cdGlmIChoYXNGbGFnKCdjb2xvcj0yNTYnKSkge1xuXHRcdHJldHVybiAyO1xuXHR9XG5cblx0aWYgKGhhdmVTdHJlYW0gJiYgIXN0cmVhbUlzVFRZICYmIGZvcmNlQ29sb3IgPT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiAwO1xuXHR9XG5cblx0Y29uc3QgbWluID0gZm9yY2VDb2xvciB8fCAwO1xuXG5cdGlmIChlbnYuVEVSTSA9PT0gJ2R1bWInKSB7XG5cdFx0cmV0dXJuIG1pbjtcblx0fVxuXG5cdGlmIChwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInKSB7XG5cdFx0Ly8gV2luZG93cyAxMCBidWlsZCAxMDU4NiBpcyB0aGUgZmlyc3QgV2luZG93cyByZWxlYXNlIHRoYXQgc3VwcG9ydHMgMjU2IGNvbG9ycy5cblx0XHQvLyBXaW5kb3dzIDEwIGJ1aWxkIDE0OTMxIGlzIHRoZSBmaXJzdCByZWxlYXNlIHRoYXQgc3VwcG9ydHMgMTZtL1RydWVDb2xvci5cblx0XHRjb25zdCBvc1JlbGVhc2UgPSBvcy5yZWxlYXNlKCkuc3BsaXQoJy4nKTtcblx0XHRpZiAoXG5cdFx0XHROdW1iZXIob3NSZWxlYXNlWzBdKSA+PSAxMCAmJlxuXHRcdFx0TnVtYmVyKG9zUmVsZWFzZVsyXSkgPj0gMTA1ODZcblx0XHQpIHtcblx0XHRcdHJldHVybiBOdW1iZXIob3NSZWxlYXNlWzJdKSA+PSAxNDkzMSA/IDMgOiAyO1xuXHRcdH1cblxuXHRcdHJldHVybiAxO1xuXHR9XG5cblx0aWYgKCdDSScgaW4gZW52KSB7XG5cdFx0aWYgKFsnVFJBVklTJywgJ0NJUkNMRUNJJywgJ0FQUFZFWU9SJywgJ0dJVExBQl9DSScsICdHSVRIVUJfQUNUSU9OUycsICdCVUlMREtJVEUnXS5zb21lKHNpZ24gPT4gc2lnbiBpbiBlbnYpIHx8IGVudi5DSV9OQU1FID09PSAnY29kZXNoaXAnKSB7XG5cdFx0XHRyZXR1cm4gMTtcblx0XHR9XG5cblx0XHRyZXR1cm4gbWluO1xuXHR9XG5cblx0aWYgKCdURUFNQ0lUWV9WRVJTSU9OJyBpbiBlbnYpIHtcblx0XHRyZXR1cm4gL14oOVxcLigwKlsxLTldXFxkKilcXC58XFxkezIsfVxcLikvLnRlc3QoZW52LlRFQU1DSVRZX1ZFUlNJT04pID8gMSA6IDA7XG5cdH1cblxuXHRpZiAoZW52LkNPTE9SVEVSTSA9PT0gJ3RydWVjb2xvcicpIHtcblx0XHRyZXR1cm4gMztcblx0fVxuXG5cdGlmICgnVEVSTV9QUk9HUkFNJyBpbiBlbnYpIHtcblx0XHRjb25zdCB2ZXJzaW9uID0gcGFyc2VJbnQoKGVudi5URVJNX1BST0dSQU1fVkVSU0lPTiB8fCAnJykuc3BsaXQoJy4nKVswXSwgMTApO1xuXG5cdFx0c3dpdGNoIChlbnYuVEVSTV9QUk9HUkFNKSB7XG5cdFx0XHRjYXNlICdpVGVybS5hcHAnOlxuXHRcdFx0XHRyZXR1cm4gdmVyc2lvbiA+PSAzID8gMyA6IDI7XG5cdFx0XHRjYXNlICdBcHBsZV9UZXJtaW5hbCc6XG5cdFx0XHRcdHJldHVybiAyO1xuXHRcdFx0Ly8gTm8gZGVmYXVsdFxuXHRcdH1cblx0fVxuXG5cdGlmICgvLTI1Nihjb2xvcik/JC9pLnRlc3QoZW52LlRFUk0pKSB7XG5cdFx0cmV0dXJuIDI7XG5cdH1cblxuXHRpZiAoL15zY3JlZW58Xnh0ZXJtfF52dDEwMHxednQyMjB8XnJ4dnR8Y29sb3J8YW5zaXxjeWd3aW58bGludXgvaS50ZXN0KGVudi5URVJNKSkge1xuXHRcdHJldHVybiAxO1xuXHR9XG5cblx0aWYgKCdDT0xPUlRFUk0nIGluIGVudikge1xuXHRcdHJldHVybiAxO1xuXHR9XG5cblx0cmV0dXJuIG1pbjtcbn1cblxuZnVuY3Rpb24gZ2V0U3VwcG9ydExldmVsKHN0cmVhbSkge1xuXHRjb25zdCBsZXZlbCA9IHN1cHBvcnRzQ29sb3Ioc3RyZWFtLCBzdHJlYW0gJiYgc3RyZWFtLmlzVFRZKTtcblx0cmV0dXJuIHRyYW5zbGF0ZUxldmVsKGxldmVsKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSB7XG5cdHN1cHBvcnRzQ29sb3I6IGdldFN1cHBvcnRMZXZlbCxcblx0c3Rkb3V0OiB0cmFuc2xhdGVMZXZlbChzdXBwb3J0c0NvbG9yKHRydWUsIHR0eS5pc2F0dHkoMSkpKSxcblx0c3RkZXJyOiB0cmFuc2xhdGVMZXZlbChzdXBwb3J0c0NvbG9yKHRydWUsIHR0eS5pc2F0dHkoMikpKVxufTtcbiIsICIvKipcbiAqIE1vZHVsZSBkZXBlbmRlbmNpZXMuXG4gKi9cblxuY29uc3QgdHR5ID0gcmVxdWlyZSgndHR5Jyk7XG5jb25zdCB1dGlsID0gcmVxdWlyZSgndXRpbCcpO1xuXG4vKipcbiAqIFRoaXMgaXMgdGhlIE5vZGUuanMgaW1wbGVtZW50YXRpb24gb2YgYGRlYnVnKClgLlxuICovXG5cbmV4cG9ydHMuaW5pdCA9IGluaXQ7XG5leHBvcnRzLmxvZyA9IGxvZztcbmV4cG9ydHMuZm9ybWF0QXJncyA9IGZvcm1hdEFyZ3M7XG5leHBvcnRzLnNhdmUgPSBzYXZlO1xuZXhwb3J0cy5sb2FkID0gbG9hZDtcbmV4cG9ydHMudXNlQ29sb3JzID0gdXNlQ29sb3JzO1xuZXhwb3J0cy5kZXN0cm95ID0gdXRpbC5kZXByZWNhdGUoXG5cdCgpID0+IHt9LFxuXHQnSW5zdGFuY2UgbWV0aG9kIGBkZWJ1Zy5kZXN0cm95KClgIGlzIGRlcHJlY2F0ZWQgYW5kIG5vIGxvbmdlciBkb2VzIGFueXRoaW5nLiBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvbiBvZiBgZGVidWdgLidcbik7XG5cbi8qKlxuICogQ29sb3JzLlxuICovXG5cbmV4cG9ydHMuY29sb3JzID0gWzYsIDIsIDMsIDQsIDUsIDFdO1xuXG50cnkge1xuXHQvLyBPcHRpb25hbCBkZXBlbmRlbmN5IChhcyBpbiwgZG9lc24ndCBuZWVkIHRvIGJlIGluc3RhbGxlZCwgTk9UIGxpa2Ugb3B0aW9uYWxEZXBlbmRlbmNpZXMgaW4gcGFja2FnZS5qc29uKVxuXHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5cdGNvbnN0IHN1cHBvcnRzQ29sb3IgPSByZXF1aXJlKCdzdXBwb3J0cy1jb2xvcicpO1xuXG5cdGlmIChzdXBwb3J0c0NvbG9yICYmIChzdXBwb3J0c0NvbG9yLnN0ZGVyciB8fCBzdXBwb3J0c0NvbG9yKS5sZXZlbCA+PSAyKSB7XG5cdFx0ZXhwb3J0cy5jb2xvcnMgPSBbXG5cdFx0XHQyMCxcblx0XHRcdDIxLFxuXHRcdFx0MjYsXG5cdFx0XHQyNyxcblx0XHRcdDMyLFxuXHRcdFx0MzMsXG5cdFx0XHQzOCxcblx0XHRcdDM5LFxuXHRcdFx0NDAsXG5cdFx0XHQ0MSxcblx0XHRcdDQyLFxuXHRcdFx0NDMsXG5cdFx0XHQ0NCxcblx0XHRcdDQ1LFxuXHRcdFx0NTYsXG5cdFx0XHQ1Nyxcblx0XHRcdDYyLFxuXHRcdFx0NjMsXG5cdFx0XHQ2OCxcblx0XHRcdDY5LFxuXHRcdFx0NzQsXG5cdFx0XHQ3NSxcblx0XHRcdDc2LFxuXHRcdFx0NzcsXG5cdFx0XHQ3OCxcblx0XHRcdDc5LFxuXHRcdFx0ODAsXG5cdFx0XHQ4MSxcblx0XHRcdDkyLFxuXHRcdFx0OTMsXG5cdFx0XHQ5OCxcblx0XHRcdDk5LFxuXHRcdFx0MTEyLFxuXHRcdFx0MTEzLFxuXHRcdFx0MTI4LFxuXHRcdFx0MTI5LFxuXHRcdFx0MTM0LFxuXHRcdFx0MTM1LFxuXHRcdFx0MTQ4LFxuXHRcdFx0MTQ5LFxuXHRcdFx0MTYwLFxuXHRcdFx0MTYxLFxuXHRcdFx0MTYyLFxuXHRcdFx0MTYzLFxuXHRcdFx0MTY0LFxuXHRcdFx0MTY1LFxuXHRcdFx0MTY2LFxuXHRcdFx0MTY3LFxuXHRcdFx0MTY4LFxuXHRcdFx0MTY5LFxuXHRcdFx0MTcwLFxuXHRcdFx0MTcxLFxuXHRcdFx0MTcyLFxuXHRcdFx0MTczLFxuXHRcdFx0MTc4LFxuXHRcdFx0MTc5LFxuXHRcdFx0MTg0LFxuXHRcdFx0MTg1LFxuXHRcdFx0MTk2LFxuXHRcdFx0MTk3LFxuXHRcdFx0MTk4LFxuXHRcdFx0MTk5LFxuXHRcdFx0MjAwLFxuXHRcdFx0MjAxLFxuXHRcdFx0MjAyLFxuXHRcdFx0MjAzLFxuXHRcdFx0MjA0LFxuXHRcdFx0MjA1LFxuXHRcdFx0MjA2LFxuXHRcdFx0MjA3LFxuXHRcdFx0MjA4LFxuXHRcdFx0MjA5LFxuXHRcdFx0MjE0LFxuXHRcdFx0MjE1LFxuXHRcdFx0MjIwLFxuXHRcdFx0MjIxXG5cdFx0XTtcblx0fVxufSBjYXRjaCAoZXJyb3IpIHtcblx0Ly8gU3dhbGxvdyAtIHdlIG9ubHkgY2FyZSBpZiBgc3VwcG9ydHMtY29sb3JgIGlzIGF2YWlsYWJsZTsgaXQgZG9lc24ndCBoYXZlIHRvIGJlLlxufVxuXG4vKipcbiAqIEJ1aWxkIHVwIHRoZSBkZWZhdWx0IGBpbnNwZWN0T3B0c2Agb2JqZWN0IGZyb20gdGhlIGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqXG4gKiAgICQgREVCVUdfQ09MT1JTPW5vIERFQlVHX0RFUFRIPTEwIERFQlVHX1NIT1dfSElEREVOPWVuYWJsZWQgbm9kZSBzY3JpcHQuanNcbiAqL1xuXG5leHBvcnRzLmluc3BlY3RPcHRzID0gT2JqZWN0LmtleXMocHJvY2Vzcy5lbnYpLmZpbHRlcihrZXkgPT4ge1xuXHRyZXR1cm4gL15kZWJ1Z18vaS50ZXN0KGtleSk7XG59KS5yZWR1Y2UoKG9iaiwga2V5KSA9PiB7XG5cdC8vIENhbWVsLWNhc2Vcblx0Y29uc3QgcHJvcCA9IGtleVxuXHRcdC5zdWJzdHJpbmcoNilcblx0XHQudG9Mb3dlckNhc2UoKVxuXHRcdC5yZXBsYWNlKC9fKFthLXpdKS9nLCAoXywgaykgPT4ge1xuXHRcdFx0cmV0dXJuIGsudG9VcHBlckNhc2UoKTtcblx0XHR9KTtcblxuXHQvLyBDb2VyY2Ugc3RyaW5nIHZhbHVlIGludG8gSlMgdmFsdWVcblx0bGV0IHZhbCA9IHByb2Nlc3MuZW52W2tleV07XG5cdGlmICgvXih5ZXN8b258dHJ1ZXxlbmFibGVkKSQvaS50ZXN0KHZhbCkpIHtcblx0XHR2YWwgPSB0cnVlO1xuXHR9IGVsc2UgaWYgKC9eKG5vfG9mZnxmYWxzZXxkaXNhYmxlZCkkL2kudGVzdCh2YWwpKSB7XG5cdFx0dmFsID0gZmFsc2U7XG5cdH0gZWxzZSBpZiAodmFsID09PSAnbnVsbCcpIHtcblx0XHR2YWwgPSBudWxsO1xuXHR9IGVsc2Uge1xuXHRcdHZhbCA9IE51bWJlcih2YWwpO1xuXHR9XG5cblx0b2JqW3Byb3BdID0gdmFsO1xuXHRyZXR1cm4gb2JqO1xufSwge30pO1xuXG4vKipcbiAqIElzIHN0ZG91dCBhIFRUWT8gQ29sb3JlZCBvdXRwdXQgaXMgZW5hYmxlZCB3aGVuIGB0cnVlYC5cbiAqL1xuXG5mdW5jdGlvbiB1c2VDb2xvcnMoKSB7XG5cdHJldHVybiAnY29sb3JzJyBpbiBleHBvcnRzLmluc3BlY3RPcHRzID9cblx0XHRCb29sZWFuKGV4cG9ydHMuaW5zcGVjdE9wdHMuY29sb3JzKSA6XG5cdFx0dHR5LmlzYXR0eShwcm9jZXNzLnN0ZGVyci5mZCk7XG59XG5cbi8qKlxuICogQWRkcyBBTlNJIGNvbG9yIGVzY2FwZSBjb2RlcyBpZiBlbmFibGVkLlxuICpcbiAqIEBhcGkgcHVibGljXG4gKi9cblxuZnVuY3Rpb24gZm9ybWF0QXJncyhhcmdzKSB7XG5cdGNvbnN0IHtuYW1lc3BhY2U6IG5hbWUsIHVzZUNvbG9yc30gPSB0aGlzO1xuXG5cdGlmICh1c2VDb2xvcnMpIHtcblx0XHRjb25zdCBjID0gdGhpcy5jb2xvcjtcblx0XHRjb25zdCBjb2xvckNvZGUgPSAnXFx1MDAxQlszJyArIChjIDwgOCA/IGMgOiAnODs1OycgKyBjKTtcblx0XHRjb25zdCBwcmVmaXggPSBgICAke2NvbG9yQ29kZX07MW0ke25hbWV9IFxcdTAwMUJbMG1gO1xuXG5cdFx0YXJnc1swXSA9IHByZWZpeCArIGFyZ3NbMF0uc3BsaXQoJ1xcbicpLmpvaW4oJ1xcbicgKyBwcmVmaXgpO1xuXHRcdGFyZ3MucHVzaChjb2xvckNvZGUgKyAnbSsnICsgbW9kdWxlLmV4cG9ydHMuaHVtYW5pemUodGhpcy5kaWZmKSArICdcXHUwMDFCWzBtJyk7XG5cdH0gZWxzZSB7XG5cdFx0YXJnc1swXSA9IGdldERhdGUoKSArIG5hbWUgKyAnICcgKyBhcmdzWzBdO1xuXHR9XG59XG5cbmZ1bmN0aW9uIGdldERhdGUoKSB7XG5cdGlmIChleHBvcnRzLmluc3BlY3RPcHRzLmhpZGVEYXRlKSB7XG5cdFx0cmV0dXJuICcnO1xuXHR9XG5cdHJldHVybiBuZXcgRGF0ZSgpLnRvSVNPU3RyaW5nKCkgKyAnICc7XG59XG5cbi8qKlxuICogSW52b2tlcyBgdXRpbC5mb3JtYXRXaXRoT3B0aW9ucygpYCB3aXRoIHRoZSBzcGVjaWZpZWQgYXJndW1lbnRzIGFuZCB3cml0ZXMgdG8gc3RkZXJyLlxuICovXG5cbmZ1bmN0aW9uIGxvZyguLi5hcmdzKSB7XG5cdHJldHVybiBwcm9jZXNzLnN0ZGVyci53cml0ZSh1dGlsLmZvcm1hdFdpdGhPcHRpb25zKGV4cG9ydHMuaW5zcGVjdE9wdHMsIC4uLmFyZ3MpICsgJ1xcbicpO1xufVxuXG4vKipcbiAqIFNhdmUgYG5hbWVzcGFjZXNgLlxuICpcbiAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lc3BhY2VzXG4gKiBAYXBpIHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gc2F2ZShuYW1lc3BhY2VzKSB7XG5cdGlmIChuYW1lc3BhY2VzKSB7XG5cdFx0cHJvY2Vzcy5lbnYuREVCVUcgPSBuYW1lc3BhY2VzO1xuXHR9IGVsc2Uge1xuXHRcdC8vIElmIHlvdSBzZXQgYSBwcm9jZXNzLmVudiBmaWVsZCB0byBudWxsIG9yIHVuZGVmaW5lZCwgaXQgZ2V0cyBjYXN0IHRvIHRoZVxuXHRcdC8vIHN0cmluZyAnbnVsbCcgb3IgJ3VuZGVmaW5lZCcuIEp1c3QgZGVsZXRlIGluc3RlYWQuXG5cdFx0ZGVsZXRlIHByb2Nlc3MuZW52LkRFQlVHO1xuXHR9XG59XG5cbi8qKlxuICogTG9hZCBgbmFtZXNwYWNlc2AuXG4gKlxuICogQHJldHVybiB7U3RyaW5nfSByZXR1cm5zIHRoZSBwcmV2aW91c2x5IHBlcnNpc3RlZCBkZWJ1ZyBtb2Rlc1xuICogQGFwaSBwcml2YXRlXG4gKi9cblxuZnVuY3Rpb24gbG9hZCgpIHtcblx0cmV0dXJuIHByb2Nlc3MuZW52LkRFQlVHO1xufVxuXG4vKipcbiAqIEluaXQgbG9naWMgZm9yIGBkZWJ1Z2AgaW5zdGFuY2VzLlxuICpcbiAqIENyZWF0ZSBhIG5ldyBgaW5zcGVjdE9wdHNgIG9iamVjdCBpbiBjYXNlIGB1c2VDb2xvcnNgIGlzIHNldFxuICogZGlmZmVyZW50bHkgZm9yIGEgcGFydGljdWxhciBgZGVidWdgIGluc3RhbmNlLlxuICovXG5cbmZ1bmN0aW9uIGluaXQoZGVidWcpIHtcblx0ZGVidWcuaW5zcGVjdE9wdHMgPSB7fTtcblxuXHRjb25zdCBrZXlzID0gT2JqZWN0LmtleXMoZXhwb3J0cy5pbnNwZWN0T3B0cyk7XG5cdGZvciAobGV0IGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuXHRcdGRlYnVnLmluc3BlY3RPcHRzW2tleXNbaV1dID0gZXhwb3J0cy5pbnNwZWN0T3B0c1trZXlzW2ldXTtcblx0fVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vY29tbW9uJykoZXhwb3J0cyk7XG5cbmNvbnN0IHtmb3JtYXR0ZXJzfSA9IG1vZHVsZS5leHBvcnRzO1xuXG4vKipcbiAqIE1hcCAlbyB0byBgdXRpbC5pbnNwZWN0KClgLCBhbGwgb24gYSBzaW5nbGUgbGluZS5cbiAqL1xuXG5mb3JtYXR0ZXJzLm8gPSBmdW5jdGlvbiAodikge1xuXHR0aGlzLmluc3BlY3RPcHRzLmNvbG9ycyA9IHRoaXMudXNlQ29sb3JzO1xuXHRyZXR1cm4gdXRpbC5pbnNwZWN0KHYsIHRoaXMuaW5zcGVjdE9wdHMpXG5cdFx0LnNwbGl0KCdcXG4nKVxuXHRcdC5tYXAoc3RyID0+IHN0ci50cmltKCkpXG5cdFx0LmpvaW4oJyAnKTtcbn07XG5cbi8qKlxuICogTWFwICVPIHRvIGB1dGlsLmluc3BlY3QoKWAsIGFsbG93aW5nIG11bHRpcGxlIGxpbmVzIGlmIG5lZWRlZC5cbiAqL1xuXG5mb3JtYXR0ZXJzLk8gPSBmdW5jdGlvbiAodikge1xuXHR0aGlzLmluc3BlY3RPcHRzLmNvbG9ycyA9IHRoaXMudXNlQ29sb3JzO1xuXHRyZXR1cm4gdXRpbC5pbnNwZWN0KHYsIHRoaXMuaW5zcGVjdE9wdHMpO1xufTtcbiIsICIvKipcbiAqIERldGVjdCBFbGVjdHJvbiByZW5kZXJlciAvIG53anMgcHJvY2Vzcywgd2hpY2ggaXMgbm9kZSwgYnV0IHdlIHNob3VsZFxuICogdHJlYXQgYXMgYSBicm93c2VyLlxuICovXG5cbmlmICh0eXBlb2YgcHJvY2VzcyA9PT0gJ3VuZGVmaW5lZCcgfHwgcHJvY2Vzcy50eXBlID09PSAncmVuZGVyZXInIHx8IHByb2Nlc3MuYnJvd3NlciA9PT0gdHJ1ZSB8fCBwcm9jZXNzLl9fbndqcykge1xuXHRtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vYnJvd3Nlci5qcycpO1xufSBlbHNlIHtcblx0bW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlKCcuL25vZGUuanMnKTtcbn1cbiIsIG51bGwsIG51bGwsIG51bGwsICJtb2R1bGUuZXhwb3J0cyA9IHtcbiAgLy8gXHU1QjU3XHU4MENDXHU2NjZGXHU5ODlDXHU4MjcyXHU4MzAzXHU1NkY0OjQwfjQ5XG4gIC8vIDQwOlx1OUVEMSwgNDE6XHU2REYxXHU3RUEyLCA0MjpcdTdFRkYsIDQzOlx1OUVDNFx1ODI3MiwgNDQ6XHU4NEREXHU4MjcyLCA0NTpcdTdEMkJcdTgyNzIsIDQ2Olx1NkRGMVx1N0VGRiwgNDc6XHU3NjdEXHU4MjcyLFxuICAvLyBcdTVCNTdcdTk4OUNcdTgyNzI6MzB+MzlcbiAgLy8gMzA6XHU5RUQxLCAzMTpcdTdFQTIsIDMyOlx1N0VGRiwgMzM6XHU5RUM0LCAzNDpcdTg0RERcdTgyNzIsIDM1Olx1N0QyQlx1ODI3MiwgMzY6XHU2REYxXHU3RUZGLCAzNzpcdTc2N0RcdTgyNzIsXG4gIC8vXG4gIC8vIGVjaG8gLWUgXCJcXHgxYlszMTsxbSBjb2xvciByZWQgdW5kZXJsaW5lIFxceDFiWzBtXCJcbiAgLy8gMW0gXHU0RUFFXHU3Njg0XHU5ODlDXHU4MjcyXHVGRjBDXHU5RUQ4XHU4QkE0XHU0RTBEXHU3RUQ5XHU2NjJGXHU2Njk3XHU2REUxXHU3Njg0XHU5ODlDXHU4MjcyXG4gIC8vXG4gIC8vIHwgICAgQU5TSSB8ICAgIEFOU0kgfCAgICBBTlNJICAgIHwgICAgICAgICAgICAgICAgfCBBaXh0ZXJtIHwgQWl4dGVybVxuICAvLyB8ICAgQ29sb3IgfCBGRyBDb2RlIHwgQkcgQ29kZSAgICB8IEJyaWdodCBDb2xvciAgIHwgRkcgQ29kZSB8IEJHIENvZGVcbiAgLy8gKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0gICAgKy0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tXG4gIC8vIHwgICBCbGFjayB8ICAgICAgMzAgfCAgICAgIDQwICAgIHwgICBCcmlnaHQgQmxhY2sgfCAgICAgIDkwIHwgICAgIDEwMFxuICAvLyB8ICAgICBSZWQgfCAgICAgIDMxIHwgICAgICA0MSAgICB8ICAgICBCcmlnaHQgUmVkIHwgICAgICA5MSB8ICAgICAxMDFcbiAgLy8gfCAgIEdyZWVuIHwgICAgICAzMiB8ICAgICAgNDIgICAgfCAgIEJyaWdodCBHcmVlbiB8ICAgICAgOTIgfCAgICAgMTAyXG4gIC8vIHwgIFllbGxvdyB8ICAgICAgMzMgfCAgICAgIDQzICAgIHwgIEJyaWdodCBZZWxsb3cgfCAgICAgIDkzIHwgICAgIDEwM1xuICAvLyB8ICAgIEJsdWUgfCAgICAgIDM0IHwgICAgICA0NCAgICB8ICAgIEJyaWdodCBCbHVlIHwgICAgICA5NCB8ICAgICAxMDRcbiAgLy8gfCBNYWdlbnRhIHwgICAgICAzNSB8ICAgICAgNDUgICAgfCBCcmlnaHQgTWFnZW50YSB8ICAgICAgOTUgfCAgICAgMTA1XG4gIC8vIHwgICAgQ3lhbiB8ICAgICAgMzYgfCAgICAgIDQ2ICAgIHwgICAgQnJpZ2h0IEN5YW4gfCAgICAgIDk2IHwgICAgIDEwNlxuICAvLyB8ICAgV2hpdGUgfCAgICAgIDM3IHwgICAgICA0NyAgICB8ICAgQnJpZ2h0IFdoaXRlIHwgICAgICA5NyB8ICAgICAxMDdcbiAgLy9cbiAgY29sb3JzOiBbXG4gICAgJ2JsYWNrJyxcbiAgICAncmVkJyxcbiAgICAnZ3JlZW4nLFxuICAgICd5ZWxsb3cnLFxuICAgICdibHVlJyxcbiAgICAnbWFnZW50YScsXG4gICAgJ2N5YW4nLFxuICAgICd3aGl0ZSdcbiAgXSxcbiAgc3R5bGVzOltcbiAgICAnYm9sZCcsIC8vXHU3Qzk3XHU0RjUzXG4gICAgJ2ZhaW50JyxcbiAgICAnaXRhbGljJyxcbiAgICAndW5kZXJsaW5lJyxcbiAgICAnYmxpbmsnLFxuICAgICdvdmVybGluZScsXG4gICAgJ2ludmVyc2UnLFxuICAgICdjb25jZWFsJyxcbiAgICAnc3RyaWtlJ1xuICBdXG59XG4iLCAidmFyIGFyZ3YgPSBwcm9jZXNzLmFyZ3Y7XG5cbm1vZHVsZS5leHBvcnRzID0gKGZ1bmN0aW9uICgpIHtcbiAgaWYgKGFyZ3YuaW5kZXhPZignLS1uby1jb2xvcicpICE9PSAtMSB8fFxuICAgIGFyZ3YuaW5kZXhPZignLS1jb2xvcj1mYWxzZScpICE9PSAtMSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChhcmd2LmluZGV4T2YoJy0tY29sb3InKSAhPT0gLTEgfHxcbiAgICBhcmd2LmluZGV4T2YoJy0tY29sb3I9dHJ1ZScpICE9PSAtMSB8fFxuICAgIGFyZ3YuaW5kZXhPZignLS1jb2xvcj1hbHdheXMnKSAhPT0gLTEpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGlmIChwcm9jZXNzLnN0ZG91dCAmJiAhcHJvY2Vzcy5zdGRvdXQuaXNUVFkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKCdDT0xPUlRFUk0nIGluIHByb2Nlc3MuZW52KSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBpZiAocHJvY2Vzcy5lbnYuVEVSTSA9PT0gJ2R1bWInKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKC9ec2NyZWVufF54dGVybXxednQxMDB8Y29sb3J8YW5zaXxjeWd3aW58bGludXgvaS50ZXN0KHByb2Nlc3MuZW52LlRFUk0pKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59KSgpO1xuIiwgIi8qKlxuICpcbiAqIFtUaGUgb3BhcXVlIG5hbWVkIGNvbG9yc10oaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzcy1jb2xvci8jbmFtZWQtY29sb3JzKVxuICogW0FOU0kgRXNjYXBlIHNlcXVlbmNlc10oaHR0cDovL2FzY2lpLXRhYmxlLmNvbS9hbnNpLWVzY2FwZS1zZXF1ZW5jZXMucGhwKVxuICogW0FOU0kgZXNjYXBlIGNvZGVdKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FOU0lfZXNjYXBlX2NvZGUpXG4gKiBbTGludXggU2hlbGwgU2NyaXB0aW5nIFR1dG9yaWFsXShodHRwOi8vd3d3LmZyZWVvcy5jb20vZ3VpZGVzL2xzc3QvbWlzYy5odG0jY29sb3JmdW5hbmRtb3JlKVxuICpcbiAqIFt0aXAgY29sb3JzIGFuZCBmb3JtYXR0aW5nXShodHRwOi8vbWlzYy5mbG9naXNvZnQuY29tL2Jhc2gvdGlwX2NvbG9yc19hbmRfZm9ybWF0dGluZylcbiAqXG4gKi9cblxudmFyIF9zdHlsZXMgPSByZXF1aXJlKCcuL3N0eWxlcy1uYW1lJylcbnZhciBpc1N1cHBvcnRlZCA9IHJlcXVpcmUoJy4vc3VwcG9ydHMtY29sb3JzJylcbnZhciBjb2xvcnMgPSBfc3R5bGVzLmNvbG9ycztcbnZhciBzdHlsZXMgPSBfc3R5bGVzLnN0eWxlcztcblxuZXhwb3J0cy5jb2xvciA9IHt9XG5cbmZ1bmN0aW9uIENvbG9ycyhzdHIpe1xuICB0aGlzLnN0cmluZyA9IHN0cjtcbiAgdGhpcy5zdHlsZXMgPSBbXTtcbiAgdGhpcy5mZ2NvbG9yID0gbnVsbDsgICAgLy8gRm9yZWdyb3VuZFxuICB0aGlzLmJnY29sb3IgPSBudWxsOyAgICAvLyBCYWNrZ3JvdW5kXG4gIHRoaXMuZmdjb2xvcl9idCA9IG51bGw7IC8vIEJyaWdodCBGb3JlZ3JvdW5kXG4gIHRoaXMuYmdjb2xvcl9idCA9IG51bGw7IC8vIEJyaWdodCBCYWNrZ3JvdW5kXG4gIHRoaXMuZmdjb2xvcl94ID0gbnVsbDsgIC8vIDI1NiBGb3JlZ3JvdW5kXG4gIHRoaXMuYmdjb2xvcl94ID0gbnVsbDsgLy8gMjU2IEJhY2tncm91bmRcbn1cblxuLy8gXHU1QjU3XHU4MENDXHU2NjZGXHU5ODlDXHU4MjcyXHU4MzAzXHU1NkY0OjQwfjQ5XG4vLyA0MDpcdTlFRDEsIDQxOlx1NkRGMVx1N0VBMiwgNDI6XHU3RUZGLCA0MzpcdTlFQzRcdTgyNzIsIDQ0Olx1ODRERFx1ODI3MiwgNDU6XHU3RDJCXHU4MjcyLCA0NjpcdTZERjFcdTdFRkYsIDQ3Olx1NzY3RFx1ODI3Mixcbi8vIFx1NUI1N1x1OTg5Q1x1ODI3MjozMH4zOVxuLy8gMzA6XHU5RUQxLCAzMTpcdTdFQTIsIDMyOlx1N0VGRiwgMzM6XHU5RUM0LCAzNDpcdTg0RERcdTgyNzIsIDM1Olx1N0QyQlx1ODI3MiwgMzY6XHU2REYxXHU3RUZGLCAzNzpcdTc2N0RcdTgyNzIsXG4vL1xuLy8gZWNobyAtZSBcIlxceDFiWzMxOzFtIGNvbG9yIHJlZCB1bmRlcmxpbmUgXFx4MWJbMG1cIlxuLy8gMW0gXHU0RUFFXHU3Njg0XHU5ODlDXHU4MjcyXHVGRjBDXHU5RUQ4XHU4QkE0XHU0RTBEXHU3RUQ5XHU2NjJGXHU2Njk3XHU2REUxXHU3Njg0XHU5ODlDXHU4MjcyXG4vL1xuLy8gfCAgICBBTlNJIHwgICAgQU5TSSB8ICAgIEFOU0kgICAgfCAgICAgICAgICAgICAgICB8IEFpeHRlcm0gfCBBaXh0ZXJtXG4vLyB8ICAgQ29sb3IgfCBGRyBDb2RlIHwgQkcgQ29kZSAgICB8IEJyaWdodCBDb2xvciAgIHwgRkcgQ29kZSB8IEJHIENvZGVcbi8vICstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tICAgICstLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLVxuLy8gfCAgIEJsYWNrIHwgICAgICAzMCB8ICAgICAgNDAgICAgfCAgIEJyaWdodCBCbGFjayB8ICAgICAgOTAgfCAgICAgMTAwXG4vLyB8ICAgICBSZWQgfCAgICAgIDMxIHwgICAgICA0MSAgICB8ICAgICBCcmlnaHQgUmVkIHwgICAgICA5MSB8ICAgICAxMDFcbi8vIHwgICBHcmVlbiB8ICAgICAgMzIgfCAgICAgIDQyICAgIHwgICBCcmlnaHQgR3JlZW4gfCAgICAgIDkyIHwgICAgIDEwMlxuLy8gfCAgWWVsbG93IHwgICAgICAzMyB8ICAgICAgNDMgICAgfCAgQnJpZ2h0IFllbGxvdyB8ICAgICAgOTMgfCAgICAgMTAzXG4vLyB8ICAgIEJsdWUgfCAgICAgIDM0IHwgICAgICA0NCAgICB8ICAgIEJyaWdodCBCbHVlIHwgICAgICA5NCB8ICAgICAxMDRcbi8vIHwgTWFnZW50YSB8ICAgICAgMzUgfCAgICAgIDQ1ICAgIHwgQnJpZ2h0IE1hZ2VudGEgfCAgICAgIDk1IHwgICAgIDEwNVxuLy8gfCAgICBDeWFuIHwgICAgICAzNiB8ICAgICAgNDYgICAgfCAgICBCcmlnaHQgQ3lhbiB8ICAgICAgOTYgfCAgICAgMTA2XG4vLyB8ICAgV2hpdGUgfCAgICAgIDM3IHwgICAgICA0NyAgICB8ICAgQnJpZ2h0IFdoaXRlIHwgICAgICA5NyB8ICAgICAxMDdcbi8vXG5cbmZvciAodmFyIGkgPSAwOyBpIDwgY29sb3JzLmxlbmd0aDsgaSsrKSB7XG4gIChmdW5jdGlvbihpKXtcbiAgICB2YXIgbmFtZSA9IGNvbG9yc1tpXTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQ29sb3JzLnByb3RvdHlwZSwgbmFtZSwge1xuICAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgLy8gRm9yZWdyb3VuZCBcdTUyNERcdTY2NkZcdTgyNzJcbiAgICAgICAgdGhpcy5mZ2NvbG9yID0gaTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG4gICAgfSk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KENvbG9ycy5wcm90b3R5cGUsIG5hbWUgKyAnX2InLCB7XG4gICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gQmFja2dyb3VuZCBcdTgwQ0NcdTY2NkZcdTgyNzJcbiAgICAgICAgdGhpcy5iZ2NvbG9yID0gaTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG4gICAgfSk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KENvbG9ycy5wcm90b3R5cGUsIG5hbWUgKyAnX2J0Jywge1xuICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIC8vIEJyaWdodCBGb3JlZ3JvdW5kIFx1NjYwRVx1NEVBRSBcdTUyNERcdTY2NkZcdTgyNzJcbiAgICAgICAgdGhpcy5mZ2NvbG9yX2J0ID0gaTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG4gICAgfSk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KENvbG9ycy5wcm90b3R5cGUsIG5hbWUgKyAnX2JidCcsIHtcbiAgICAgIGdldDogZnVuY3Rpb24gKCkge1xuICAgICAgICAvLyBCcmlnaHQgQmFja2dyb3VuZCBcdTY2MEVcdTRFQUUgXHU4MENDXHU2NjZGXHU4MjcyXG4gICAgICAgIHRoaXMuYmdjb2xvcl9idCA9IGk7XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZXhwb3J0cy5jb2xvcltuYW1lXSA9IGV4cG9ydHNbbmFtZV0gPSBmdW5jdGlvbih0ZXh0KSB7XG4gICAgICBpZiAoIWlzU3VwcG9ydGVkKSByZXR1cm4gdGV4dDtcbiAgICAgIHJldHVybiAnXFx4MWJbJyArICgzMCArIGkpICsgJ20nICsgdGV4dCArICdcXHgxYlswbSc7XG4gICAgfTtcbiAgICBleHBvcnRzLmNvbG9yW25hbWUgKyAnX2InXSA9IGV4cG9ydHNbbmFtZSArICdfYiddID0gZnVuY3Rpb24odGV4dCkge1xuICAgICAgaWYgKCFpc1N1cHBvcnRlZCkgcmV0dXJuIHRleHQ7XG4gICAgICByZXR1cm4gJ1xceDFiWycgKyAoNDAgKyBpKSArICdtJyArIHRleHQgKyAnXFx4MWJbMG0nO1xuICAgIH07XG5cbiAgICBleHBvcnRzLmNvbG9yW25hbWUgKyAnX2J0J10gPSBleHBvcnRzW25hbWUgKyAnX2J0J10gPSBmdW5jdGlvbih0ZXh0KSB7XG4gICAgICBpZiAoIWlzU3VwcG9ydGVkKSByZXR1cm4gdGV4dDtcbiAgICAgIHJldHVybiAnXFx4MWJbJyArICg5MCArIGkpICsgJ20nICsgdGV4dCArICdcXHgxYlswbSc7XG4gICAgfTtcbiAgICBleHBvcnRzLmNvbG9yW25hbWUgKyAnX2JidCddID0gZXhwb3J0c1tuYW1lICsgJ19iYnQnXSA9IGZ1bmN0aW9uKHRleHQpIHtcbiAgICAgIGlmICghaXNTdXBwb3J0ZWQpIHJldHVybiB0ZXh0O1xuICAgICAgcmV0dXJuICdcXHgxYlsnICsgKDEwMCArIGkpICsgJ20nICsgdGV4dCArICdcXHgxYlswbSc7XG4gICAgfTtcbiAgfSkoaSlcbn1cblxuXG5mb3IgKHZhciBpID0gMDsgaSA8IDI1NjsgaSsrKSB7XG4gIChmdW5jdGlvbihpKXtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQ29sb3JzLnByb3RvdHlwZSwgJ3gnK2ksIHtcbiAgICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHRoaXMuZmdjb2xvcl94ID0gaTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG4gICAgfSk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KENvbG9ycy5wcm90b3R5cGUsICd4YicraSwge1xuICAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgdGhpcy5iZ2NvbG9yX3ggPSBpO1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGV4cG9ydHMuY29sb3JbJ3gnK2ldID0gZXhwb3J0c1sneCcraV0gPSBmdW5jdGlvbih0ZXh0KSB7XG4gICAgICBpZiAoIWlzU3VwcG9ydGVkKSByZXR1cm4gdGV4dDtcbiAgICAgIHJldHVybiAnXFx4MWJbMzg7NTsnICsgaSArICdtJyArIHRleHQgKyAnXFx4MWJbMG0nO1xuICAgIH07XG5cbiAgICBleHBvcnRzLmNvbG9yWyd4YicraV0gPSBleHBvcnRzWyd4YicraV0gPSBmdW5jdGlvbih0ZXh0KSB7XG4gICAgICBpZiAoIWlzU3VwcG9ydGVkKSByZXR1cm4gdGV4dDtcbiAgICAgIHJldHVybiAnXFx4MWJbNDg7NTsnICsgaSArICdtJyArIHRleHQgKyAnXFx4MWJbMG0nO1xuICAgIH07XG4gIH0pKGkpXG59XG4vKipcbiAqIEFOU0lcdTYzQTdcdTUyMzZcdTc4MDFcdTc2ODRcdThCRjRcdTY2MEVcbiAqXG4gKiAzM1swbSBcdTUxNzNcdTk1RURcdTYyNDBcdTY3MDlcdTVDNUVcdTYwMjdcbiAqIDMzWzFtIFx1OEJCRVx1N0Y2RVx1OUFEOFx1NEVBRVx1NUVBNlxuICogMzNbNG0gXHU0RTBCXHU1MjEyXHU3RUJGXG4gKiAzM1s1bSBcdTk1RUFcdTcwQzFcbiAqIDMzWzdtIFx1NTNDRFx1NjYzRVxuICogMzNbOG0gXHU2RDg4XHU5NjkwXG4gKiAzM1szMG0gLS0gMzNbMzdtIFx1OEJCRVx1N0Y2RVx1NTI0RFx1NjY2Rlx1ODI3MlxuICogMzNbNDBtIC0tIDMzWzQ3bSBcdThCQkVcdTdGNkVcdTgwQ0NcdTY2NkZcdTgyNzJcbiAqIDMzW25BIFx1NTE0OVx1NjgwN1x1NEUwQVx1NzlGQm5cdTg4NENcbiAqIDMzW25CIFx1NTE0OVx1NjgwN1x1NEUwQlx1NzlGQm5cdTg4NENcbiAqIDMzW25DIFx1NTE0OVx1NjgwN1x1NTNGM1x1NzlGQm5cdTg4NENcbiAqIDMzW25EIFx1NTE0OVx1NjgwN1x1NURFNlx1NzlGQm5cdTg4NENcbiAqIDMzW3k7eEhcdThCQkVcdTdGNkVcdTUxNDlcdTY4MDdcdTRGNERcdTdGNkVcbiAqIDMzWzJKIFx1NkUwNVx1NUM0RlxuICogMzNbSyBcdTZFMDVcdTk2NjRcdTRFQ0VcdTUxNDlcdTY4MDdcdTUyMzBcdTg4NENcdTVDM0VcdTc2ODRcdTUxODVcdTVCQjlcbiAqIDMzW3MgXHU0RkREXHU1QjU4XHU1MTQ5XHU2ODA3XHU0RjREXHU3RjZFXG4gKiAzM1t1IFx1NjA2Mlx1NTkwRFx1NTE0OVx1NjgwN1x1NEY0RFx1N0Y2RVxuICogMzNbPzI1bCBcdTk2OTBcdTg1Q0ZcdTUxNDlcdTY4MDdcbiAqIDMzWz8yNWggXHU2NjNFXHU3OTNBXHU1MTQ5XHU2ODA3XG4gKi9cblxuZm9yICh2YXIgaSA9IDA7IGkgPCBzdHlsZXMubGVuZ3RoOyBpKyspIHtcbiAgKGZ1bmN0aW9uKGkpIHtcbiAgICB2YXIgbmFtZSA9IHN0eWxlc1tpXTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQ29sb3JzLnByb3RvdHlwZSwgbmFtZSwge1xuICAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgaWYgKHRoaXMuc3R5bGVzLmluZGV4T2YoaSkgPT09IC0xKSB7XG4gICAgICAgICAgdGhpcy5zdHlsZXMgPSB0aGlzLnN0eWxlcy5jb25jYXQoaSArIDEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfVxuICAgIH0pO1xuICAgIGV4cG9ydHMuY29sb3JbbmFtZV0gPSBleHBvcnRzW25hbWVdID0gZnVuY3Rpb24odGV4dCkge1xuICAgICAgaWYgKCFpc1N1cHBvcnRlZCkgcmV0dXJuIHRleHQ7XG4gICAgICByZXR1cm4gJ1xceDFiWycgKyAoaSArIDEpICsgJ20nICsgdGV4dCArICdcXHgxYlswbSc7XG4gICAgfTtcbiAgfSkoaSk7XG59XG5cbkNvbG9ycy5wcm90b3R5cGUuY29sb3JlZCA9IGZ1bmN0aW9uICh0ZXh0KSB7XG4gIHZhciByZXNldCA9ICdcXHgxYlswbSc7XG4gIHZhciBpczI1NiA9IGlzU3VwcG9ydGVkO1xuICAvLyAyNTYgRm9yZWdyb3VuZCAyNTYgXHU1MjREXHU2NjZGXHU4MjcyXG4gIGlmICh0aGlzLmZnY29sb3JfeCAmJiB0aGlzLmZnY29sb3JfeCAhPT0gbnVsbCAmJiBpczI1Nikge1xuICAgIHRleHQgPSAnXFx4MWJbMzg7NTsnICsgdGhpcy5mZ2NvbG9yX3ggKyAnbScgKyB0ZXh0ICsgcmVzZXQ7XG4gIH1cbiAgLy8gMjU2IEZvcmVncm91bmQgMjU2IFx1NTI0RFx1NjY2Rlx1ODI3MlxuICBpZiAodGhpcy5iZ2NvbG9yX3ggJiYgdGhpcy5iZ2NvbG9yX3ggIT09IG51bGwgJiYgaXMyNTYpIHtcbiAgICB0ZXh0ID0gJ1xceDFiWzQ4OzU7JyArIHRoaXMuYmdjb2xvcl94ICsgJ20nICsgdGV4dCArIHJlc2V0O1xuICB9XG4gIC8vIEZvcmVncm91bmQgXHU1MjREXHU2NjZGXHU4MjcyXG4gIGlmICh0aGlzLmZnY29sb3IgIT09IG51bGwgJiYgdGhpcy5mZ2NvbG9yIDwgOCkge1xuICAgIHRleHQgPSAnXFx4MWJbJyArICgzMCArIHRoaXMuZmdjb2xvcikgKyAnbScgKyB0ZXh0ICsgcmVzZXQ7XG4gIH1cbiAgLy8gQnJpZ2h0IEZvcmVncm91bmQgXHU0RUFFIFx1NTI0RFx1NjY2Rlx1ODI3MlxuICBpZiAodGhpcy5mZ2NvbG9yX2J0ICE9PSBudWxsICYmIHRoaXMuZmdjb2xvcl9idCA8IDgpIHtcbiAgICB0ZXh0ID0gJ1xceDFiWycgKyAoOTAgKyB0aGlzLmZnY29sb3JfYnQpICsgJ20nICsgdGV4dCArIHJlc2V0O1xuICB9XG4gIC8vIEJhY2tncm91bmQgXHU4MENDXHU2NjZGXHU4MjcyXG4gIGlmICh0aGlzLmJnY29sb3IgIT09IG51bGwgJiYgdGhpcy5iZ2NvbG9yIDwgOCkge1xuICAgIHRleHQgPSAnXFx4MWJbJyArICg0MCArIHRoaXMuYmdjb2xvcikgKyAnbScgKyB0ZXh0ICsgcmVzZXQ7XG4gIH1cbiAgLy8gQnJpZ2h0IEJhY2tncm91bmQgXHU0RUFFIFx1ODBDQ1x1NjY2Rlx1ODI3MlxuICBpZiAodGhpcy5iZ2NvbG9yX2J0ICE9PSBudWxsICYmIHRoaXMuYmdjb2xvcl9idCA8IDgpIHtcbiAgICB0ZXh0ID0gJ1xceDFiWycgKyAoMTAwICsgdGhpcy5iZ2NvbG9yX2J0KSArICdtJyArIHRleHQgKyByZXNldDtcbiAgfVxuXG4gIGlmICh0aGlzLnN0eWxlcyAmJiB0aGlzLnN0eWxlcy5sZW5ndGgpIHtcbiAgICB0ZXh0ID0gJ1xceDFiWycgKyB0aGlzLnN0eWxlcy5qb2luKCc7JykgKyAnbScgKyB0ZXh0ICsgcmVzZXQ7XG4gIH1cbiAgcmV0dXJuIHRleHQ7XG59XG5cbkNvbG9ycy5wcm90b3R5cGUudmFsdWVPZiA9IGZ1bmN0aW9uKHR5cGUpe1xuICB2YXIgdGV4dCA9IHRoaXMuc3RyaW5nO1xuICB0ZXh0ID0gdGhpcy5jb2xvcmVkKHRleHQpO1xuICByZXR1cm4gdGV4dDtcbn1cblxuZXhwb3J0cy5Db2xvcnMgPSBDb2xvcnM7XG4iLCAiY29uc3QgY29sb3IgPSByZXF1aXJlKCcuL2NvbG9yJyk7XG5cbmV4cG9ydHMgPSBtb2R1bGUuZXhwb3J0cyA9IGNvbG9yO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIGNoaWxkUHJvY2VzcyA9IHJlcXVpcmUoJ2NoaWxkX3Byb2Nlc3MnKTtcbnZhciBzcGF3biA9IGNoaWxkUHJvY2Vzcy5zcGF3bjtcbnZhciBleGVjID0gY2hpbGRQcm9jZXNzLmV4ZWM7XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKHBpZCwgc2lnbmFsLCBjYWxsYmFjaykge1xuICAgIGlmICh0eXBlb2Ygc2lnbmFsID09PSAnZnVuY3Rpb24nICYmIGNhbGxiYWNrID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY2FsbGJhY2sgPSBzaWduYWw7XG4gICAgICAgIHNpZ25hbCA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBwaWQgPSBwYXJzZUludChwaWQpO1xuICAgIGlmIChOdW1iZXIuaXNOYU4ocGlkKSkge1xuICAgICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhuZXcgRXJyb3IoXCJwaWQgbXVzdCBiZSBhIG51bWJlclwiKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJwaWQgbXVzdCBiZSBhIG51bWJlclwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHZhciB0cmVlID0ge307XG4gICAgdmFyIHBpZHNUb1Byb2Nlc3MgPSB7fTtcbiAgICB0cmVlW3BpZF0gPSBbXTtcbiAgICBwaWRzVG9Qcm9jZXNzW3BpZF0gPSAxO1xuXG4gICAgc3dpdGNoIChwcm9jZXNzLnBsYXRmb3JtKSB7XG4gICAgY2FzZSAnd2luMzInOlxuICAgICAgICBleGVjKCd0YXNra2lsbCAvcGlkICcgKyBwaWQgKyAnIC9UIC9GJywgY2FsbGJhY2spO1xuICAgICAgICBicmVhaztcbiAgICBjYXNlICdkYXJ3aW4nOlxuICAgICAgICBidWlsZFByb2Nlc3NUcmVlKHBpZCwgdHJlZSwgcGlkc1RvUHJvY2VzcywgZnVuY3Rpb24gKHBhcmVudFBpZCkge1xuICAgICAgICAgIHJldHVybiBzcGF3bigncGdyZXAnLCBbJy1QJywgcGFyZW50UGlkXSk7XG4gICAgICAgIH0sIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGtpbGxBbGwodHJlZSwgc2lnbmFsLCBjYWxsYmFjayk7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICAvLyBjYXNlICdzdW5vcyc6XG4gICAgLy8gICAgIGJ1aWxkUHJvY2Vzc1RyZWVTdW5PUyhwaWQsIHRyZWUsIHBpZHNUb1Byb2Nlc3MsIGZ1bmN0aW9uICgpIHtcbiAgICAvLyAgICAgICAgIGtpbGxBbGwodHJlZSwgc2lnbmFsLCBjYWxsYmFjayk7XG4gICAgLy8gICAgIH0pO1xuICAgIC8vICAgICBicmVhaztcbiAgICBkZWZhdWx0OiAvLyBMaW51eFxuICAgICAgICBidWlsZFByb2Nlc3NUcmVlKHBpZCwgdHJlZSwgcGlkc1RvUHJvY2VzcywgZnVuY3Rpb24gKHBhcmVudFBpZCkge1xuICAgICAgICAgIHJldHVybiBzcGF3bigncHMnLCBbJy1vJywgJ3BpZCcsICctLW5vLWhlYWRlcnMnLCAnLS1wcGlkJywgcGFyZW50UGlkXSk7XG4gICAgICAgIH0sIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGtpbGxBbGwodHJlZSwgc2lnbmFsLCBjYWxsYmFjayk7XG4gICAgICAgIH0pO1xuICAgICAgICBicmVhaztcbiAgICB9XG59O1xuXG5mdW5jdGlvbiBraWxsQWxsICh0cmVlLCBzaWduYWwsIGNhbGxiYWNrKSB7XG4gICAgdmFyIGtpbGxlZCA9IHt9O1xuICAgIHRyeSB7XG4gICAgICAgIE9iamVjdC5rZXlzKHRyZWUpLmZvckVhY2goZnVuY3Rpb24gKHBpZCkge1xuICAgICAgICAgICAgdHJlZVtwaWRdLmZvckVhY2goZnVuY3Rpb24gKHBpZHBpZCkge1xuICAgICAgICAgICAgICAgIGlmICgha2lsbGVkW3BpZHBpZF0pIHtcbiAgICAgICAgICAgICAgICAgICAga2lsbFBpZChwaWRwaWQsIHNpZ25hbCk7XG4gICAgICAgICAgICAgICAgICAgIGtpbGxlZFtwaWRwaWRdID0gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmICgha2lsbGVkW3BpZF0pIHtcbiAgICAgICAgICAgICAgICBraWxsUGlkKHBpZCwgc2lnbmFsKTtcbiAgICAgICAgICAgICAgICBraWxsZWRbcGlkXSA9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgICAgIHJldHVybiBjYWxsYmFjayhlcnIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgZXJyO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICB9XG59XG5cbmZ1bmN0aW9uIGtpbGxQaWQocGlkLCBzaWduYWwpIHtcbiAgICB0cnkge1xuICAgICAgICBwcm9jZXNzLmtpbGwocGFyc2VJbnQocGlkLCAxMCksIHNpZ25hbCk7XG4gICAgfVxuICAgIGNhdGNoIChlcnIpIHtcbiAgICAgICAgaWYgKGVyci5jb2RlICE9PSAnRVNSQ0gnKSB0aHJvdyBlcnI7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBidWlsZFByb2Nlc3NUcmVlIChwYXJlbnRQaWQsIHRyZWUsIHBpZHNUb1Byb2Nlc3MsIHNwYXduQ2hpbGRQcm9jZXNzZXNMaXN0LCBjYikge1xuICAgIHZhciBwcyA9IHNwYXduQ2hpbGRQcm9jZXNzZXNMaXN0KHBhcmVudFBpZCk7XG4gICAgdmFyIGFsbERhdGEgPSAnJztcbiAgICBwcy5zdGRvdXQub24oJ2RhdGEnLCBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICB2YXIgZGF0YSA9IGRhdGEudG9TdHJpbmcoJ2FzY2lpJyk7XG4gICAgICAgIGFsbERhdGEgKz0gZGF0YTtcbiAgICB9KTtcblxuICAgIHZhciBvbkNsb3NlID0gZnVuY3Rpb24gKGNvZGUpIHtcbiAgICAgICAgZGVsZXRlIHBpZHNUb1Byb2Nlc3NbcGFyZW50UGlkXTtcblxuICAgICAgICBpZiAoY29kZSAhPSAwKSB7XG4gICAgICAgICAgICAvLyBubyBtb3JlIHBhcmVudCBwcm9jZXNzZXNcbiAgICAgICAgICAgIGlmIChPYmplY3Qua2V5cyhwaWRzVG9Qcm9jZXNzKS5sZW5ndGggPT0gMCkge1xuICAgICAgICAgICAgICAgIGNiKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBhbGxEYXRhLm1hdGNoKC9cXGQrL2cpLmZvckVhY2goZnVuY3Rpb24gKHBpZCkge1xuICAgICAgICAgIHBpZCA9IHBhcnNlSW50KHBpZCwgMTApO1xuICAgICAgICAgIHRyZWVbcGFyZW50UGlkXS5wdXNoKHBpZCk7XG4gICAgICAgICAgdHJlZVtwaWRdID0gW107XG4gICAgICAgICAgcGlkc1RvUHJvY2Vzc1twaWRdID0gMTtcbiAgICAgICAgICBidWlsZFByb2Nlc3NUcmVlKHBpZCwgdHJlZSwgcGlkc1RvUHJvY2Vzcywgc3Bhd25DaGlsZFByb2Nlc3Nlc0xpc3QsIGNiKTtcbiAgICAgICAgfSk7XG4gICAgfTtcblxuICAgIHBzLm9uKCdjbG9zZScsIG9uQ2xvc2UpO1xufVxuIiwgIid1c2Ugc3RyaWN0Jztcbm1vZHVsZS5leHBvcnRzID0gYmFsYW5jZWQ7XG5mdW5jdGlvbiBiYWxhbmNlZChhLCBiLCBzdHIpIHtcbiAgaWYgKGEgaW5zdGFuY2VvZiBSZWdFeHApIGEgPSBtYXliZU1hdGNoKGEsIHN0cik7XG4gIGlmIChiIGluc3RhbmNlb2YgUmVnRXhwKSBiID0gbWF5YmVNYXRjaChiLCBzdHIpO1xuXG4gIHZhciByID0gcmFuZ2UoYSwgYiwgc3RyKTtcblxuICByZXR1cm4gciAmJiB7XG4gICAgc3RhcnQ6IHJbMF0sXG4gICAgZW5kOiByWzFdLFxuICAgIHByZTogc3RyLnNsaWNlKDAsIHJbMF0pLFxuICAgIGJvZHk6IHN0ci5zbGljZShyWzBdICsgYS5sZW5ndGgsIHJbMV0pLFxuICAgIHBvc3Q6IHN0ci5zbGljZShyWzFdICsgYi5sZW5ndGgpXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1heWJlTWF0Y2gocmVnLCBzdHIpIHtcbiAgdmFyIG0gPSBzdHIubWF0Y2gocmVnKTtcbiAgcmV0dXJuIG0gPyBtWzBdIDogbnVsbDtcbn1cblxuYmFsYW5jZWQucmFuZ2UgPSByYW5nZTtcbmZ1bmN0aW9uIHJhbmdlKGEsIGIsIHN0cikge1xuICB2YXIgYmVncywgYmVnLCBsZWZ0LCByaWdodCwgcmVzdWx0O1xuICB2YXIgYWkgPSBzdHIuaW5kZXhPZihhKTtcbiAgdmFyIGJpID0gc3RyLmluZGV4T2YoYiwgYWkgKyAxKTtcbiAgdmFyIGkgPSBhaTtcblxuICBpZiAoYWkgPj0gMCAmJiBiaSA+IDApIHtcbiAgICBpZihhPT09Yikge1xuICAgICAgcmV0dXJuIFthaSwgYmldO1xuICAgIH1cbiAgICBiZWdzID0gW107XG4gICAgbGVmdCA9IHN0ci5sZW5ndGg7XG5cbiAgICB3aGlsZSAoaSA+PSAwICYmICFyZXN1bHQpIHtcbiAgICAgIGlmIChpID09IGFpKSB7XG4gICAgICAgIGJlZ3MucHVzaChpKTtcbiAgICAgICAgYWkgPSBzdHIuaW5kZXhPZihhLCBpICsgMSk7XG4gICAgICB9IGVsc2UgaWYgKGJlZ3MubGVuZ3RoID09IDEpIHtcbiAgICAgICAgcmVzdWx0ID0gWyBiZWdzLnBvcCgpLCBiaSBdO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmVnID0gYmVncy5wb3AoKTtcbiAgICAgICAgaWYgKGJlZyA8IGxlZnQpIHtcbiAgICAgICAgICBsZWZ0ID0gYmVnO1xuICAgICAgICAgIHJpZ2h0ID0gYmk7XG4gICAgICAgIH1cblxuICAgICAgICBiaSA9IHN0ci5pbmRleE9mKGIsIGkgKyAxKTtcbiAgICAgIH1cblxuICAgICAgaSA9IGFpIDwgYmkgJiYgYWkgPj0gMCA/IGFpIDogYmk7XG4gICAgfVxuXG4gICAgaWYgKGJlZ3MubGVuZ3RoKSB7XG4gICAgICByZXN1bHQgPSBbIGxlZnQsIHJpZ2h0IF07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiIsICJ2YXIgYmFsYW5jZWQgPSByZXF1aXJlKCdiYWxhbmNlZC1tYXRjaCcpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGV4cGFuZFRvcDtcblxudmFyIGVzY1NsYXNoID0gJ1xcMFNMQVNIJytNYXRoLnJhbmRvbSgpKydcXDAnO1xudmFyIGVzY09wZW4gPSAnXFwwT1BFTicrTWF0aC5yYW5kb20oKSsnXFwwJztcbnZhciBlc2NDbG9zZSA9ICdcXDBDTE9TRScrTWF0aC5yYW5kb20oKSsnXFwwJztcbnZhciBlc2NDb21tYSA9ICdcXDBDT01NQScrTWF0aC5yYW5kb20oKSsnXFwwJztcbnZhciBlc2NQZXJpb2QgPSAnXFwwUEVSSU9EJytNYXRoLnJhbmRvbSgpKydcXDAnO1xuXG5mdW5jdGlvbiBudW1lcmljKHN0cikge1xuICByZXR1cm4gcGFyc2VJbnQoc3RyLCAxMCkgPT0gc3RyXG4gICAgPyBwYXJzZUludChzdHIsIDEwKVxuICAgIDogc3RyLmNoYXJDb2RlQXQoMCk7XG59XG5cbmZ1bmN0aW9uIGVzY2FwZUJyYWNlcyhzdHIpIHtcbiAgcmV0dXJuIHN0ci5zcGxpdCgnXFxcXFxcXFwnKS5qb2luKGVzY1NsYXNoKVxuICAgICAgICAgICAgLnNwbGl0KCdcXFxceycpLmpvaW4oZXNjT3BlbilcbiAgICAgICAgICAgIC5zcGxpdCgnXFxcXH0nKS5qb2luKGVzY0Nsb3NlKVxuICAgICAgICAgICAgLnNwbGl0KCdcXFxcLCcpLmpvaW4oZXNjQ29tbWEpXG4gICAgICAgICAgICAuc3BsaXQoJ1xcXFwuJykuam9pbihlc2NQZXJpb2QpO1xufVxuXG5mdW5jdGlvbiB1bmVzY2FwZUJyYWNlcyhzdHIpIHtcbiAgcmV0dXJuIHN0ci5zcGxpdChlc2NTbGFzaCkuam9pbignXFxcXCcpXG4gICAgICAgICAgICAuc3BsaXQoZXNjT3Blbikuam9pbigneycpXG4gICAgICAgICAgICAuc3BsaXQoZXNjQ2xvc2UpLmpvaW4oJ30nKVxuICAgICAgICAgICAgLnNwbGl0KGVzY0NvbW1hKS5qb2luKCcsJylcbiAgICAgICAgICAgIC5zcGxpdChlc2NQZXJpb2QpLmpvaW4oJy4nKTtcbn1cblxuXG4vLyBCYXNpY2FsbHkganVzdCBzdHIuc3BsaXQoXCIsXCIpLCBidXQgaGFuZGxpbmcgY2FzZXNcbi8vIHdoZXJlIHdlIGhhdmUgbmVzdGVkIGJyYWNlZCBzZWN0aW9ucywgd2hpY2ggc2hvdWxkIGJlXG4vLyB0cmVhdGVkIGFzIGluZGl2aWR1YWwgbWVtYmVycywgbGlrZSB7YSx7YixjfSxkfVxuZnVuY3Rpb24gcGFyc2VDb21tYVBhcnRzKHN0cikge1xuICBpZiAoIXN0cilcbiAgICByZXR1cm4gWycnXTtcblxuICB2YXIgcGFydHMgPSBbXTtcbiAgdmFyIG0gPSBiYWxhbmNlZCgneycsICd9Jywgc3RyKTtcblxuICBpZiAoIW0pXG4gICAgcmV0dXJuIHN0ci5zcGxpdCgnLCcpO1xuXG4gIHZhciBwcmUgPSBtLnByZTtcbiAgdmFyIGJvZHkgPSBtLmJvZHk7XG4gIHZhciBwb3N0ID0gbS5wb3N0O1xuICB2YXIgcCA9IHByZS5zcGxpdCgnLCcpO1xuXG4gIHBbcC5sZW5ndGgtMV0gKz0gJ3snICsgYm9keSArICd9JztcbiAgdmFyIHBvc3RQYXJ0cyA9IHBhcnNlQ29tbWFQYXJ0cyhwb3N0KTtcbiAgaWYgKHBvc3QubGVuZ3RoKSB7XG4gICAgcFtwLmxlbmd0aC0xXSArPSBwb3N0UGFydHMuc2hpZnQoKTtcbiAgICBwLnB1c2guYXBwbHkocCwgcG9zdFBhcnRzKTtcbiAgfVxuXG4gIHBhcnRzLnB1c2guYXBwbHkocGFydHMsIHApO1xuXG4gIHJldHVybiBwYXJ0cztcbn1cblxuZnVuY3Rpb24gZXhwYW5kVG9wKHN0cikge1xuICBpZiAoIXN0cilcbiAgICByZXR1cm4gW107XG5cbiAgLy8gSSBkb24ndCBrbm93IHdoeSBCYXNoIDQuMyBkb2VzIHRoaXMsIGJ1dCBpdCBkb2VzLlxuICAvLyBBbnl0aGluZyBzdGFydGluZyB3aXRoIHt9IHdpbGwgaGF2ZSB0aGUgZmlyc3QgdHdvIGJ5dGVzIHByZXNlcnZlZFxuICAvLyBidXQgKm9ubHkqIGF0IHRoZSB0b3AgbGV2ZWwsIHNvIHt9LGF9YiB3aWxsIG5vdCBleHBhbmQgdG8gYW55dGhpbmcsXG4gIC8vIGJ1dCBhe30sYn1jIHdpbGwgYmUgZXhwYW5kZWQgdG8gW2F9YyxhYmNdLlxuICAvLyBPbmUgY291bGQgYXJndWUgdGhhdCB0aGlzIGlzIGEgYnVnIGluIEJhc2gsIGJ1dCBzaW5jZSB0aGUgZ29hbCBvZlxuICAvLyB0aGlzIG1vZHVsZSBpcyB0byBtYXRjaCBCYXNoJ3MgcnVsZXMsIHdlIGVzY2FwZSBhIGxlYWRpbmcge31cbiAgaWYgKHN0ci5zdWJzdHIoMCwgMikgPT09ICd7fScpIHtcbiAgICBzdHIgPSAnXFxcXHtcXFxcfScgKyBzdHIuc3Vic3RyKDIpO1xuICB9XG5cbiAgcmV0dXJuIGV4cGFuZChlc2NhcGVCcmFjZXMoc3RyKSwgdHJ1ZSkubWFwKHVuZXNjYXBlQnJhY2VzKTtcbn1cblxuZnVuY3Rpb24gZW1icmFjZShzdHIpIHtcbiAgcmV0dXJuICd7JyArIHN0ciArICd9Jztcbn1cbmZ1bmN0aW9uIGlzUGFkZGVkKGVsKSB7XG4gIHJldHVybiAvXi0/MFxcZC8udGVzdChlbCk7XG59XG5cbmZ1bmN0aW9uIGx0ZShpLCB5KSB7XG4gIHJldHVybiBpIDw9IHk7XG59XG5mdW5jdGlvbiBndGUoaSwgeSkge1xuICByZXR1cm4gaSA+PSB5O1xufVxuXG5mdW5jdGlvbiBleHBhbmQoc3RyLCBpc1RvcCkge1xuICB2YXIgZXhwYW5zaW9ucyA9IFtdO1xuXG4gIHZhciBtID0gYmFsYW5jZWQoJ3snLCAnfScsIHN0cik7XG4gIGlmICghbSkgcmV0dXJuIFtzdHJdO1xuXG4gIC8vIG5vIG5lZWQgdG8gZXhwYW5kIHByZSwgc2luY2UgaXQgaXMgZ3VhcmFudGVlZCB0byBiZSBmcmVlIG9mIGJyYWNlLXNldHNcbiAgdmFyIHByZSA9IG0ucHJlO1xuICB2YXIgcG9zdCA9IG0ucG9zdC5sZW5ndGhcbiAgICA/IGV4cGFuZChtLnBvc3QsIGZhbHNlKVxuICAgIDogWycnXTtcblxuICBpZiAoL1xcJCQvLnRlc3QobS5wcmUpKSB7ICAgIFxuICAgIGZvciAodmFyIGsgPSAwOyBrIDwgcG9zdC5sZW5ndGg7IGsrKykge1xuICAgICAgdmFyIGV4cGFuc2lvbiA9IHByZSsgJ3snICsgbS5ib2R5ICsgJ30nICsgcG9zdFtrXTtcbiAgICAgIGV4cGFuc2lvbnMucHVzaChleHBhbnNpb24pO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB2YXIgaXNOdW1lcmljU2VxdWVuY2UgPSAvXi0/XFxkK1xcLlxcLi0/XFxkKyg/OlxcLlxcLi0/XFxkKyk/JC8udGVzdChtLmJvZHkpO1xuICAgIHZhciBpc0FscGhhU2VxdWVuY2UgPSAvXlthLXpBLVpdXFwuXFwuW2EtekEtWl0oPzpcXC5cXC4tP1xcZCspPyQvLnRlc3QobS5ib2R5KTtcbiAgICB2YXIgaXNTZXF1ZW5jZSA9IGlzTnVtZXJpY1NlcXVlbmNlIHx8IGlzQWxwaGFTZXF1ZW5jZTtcbiAgICB2YXIgaXNPcHRpb25zID0gbS5ib2R5LmluZGV4T2YoJywnKSA+PSAwO1xuICAgIGlmICghaXNTZXF1ZW5jZSAmJiAhaXNPcHRpb25zKSB7XG4gICAgICAvLyB7YX0sYn1cbiAgICAgIGlmIChtLnBvc3QubWF0Y2goLywuKlxcfS8pKSB7XG4gICAgICAgIHN0ciA9IG0ucHJlICsgJ3snICsgbS5ib2R5ICsgZXNjQ2xvc2UgKyBtLnBvc3Q7XG4gICAgICAgIHJldHVybiBleHBhbmQoc3RyKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBbc3RyXTtcbiAgICB9XG5cbiAgICB2YXIgbjtcbiAgICBpZiAoaXNTZXF1ZW5jZSkge1xuICAgICAgbiA9IG0uYm9keS5zcGxpdCgvXFwuXFwuLyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG4gPSBwYXJzZUNvbW1hUGFydHMobS5ib2R5KTtcbiAgICAgIGlmIChuLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAvLyB4e3thLGJ9fXkgPT0+IHh7YX15IHh7Yn15XG4gICAgICAgIG4gPSBleHBhbmQoblswXSwgZmFsc2UpLm1hcChlbWJyYWNlKTtcbiAgICAgICAgaWYgKG4ubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgcmV0dXJuIHBvc3QubWFwKGZ1bmN0aW9uKHApIHtcbiAgICAgICAgICAgIHJldHVybiBtLnByZSArIG5bMF0gKyBwO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYXQgdGhpcyBwb2ludCwgbiBpcyB0aGUgcGFydHMsIGFuZCB3ZSBrbm93IGl0J3Mgbm90IGEgY29tbWEgc2V0XG4gICAgLy8gd2l0aCBhIHNpbmdsZSBlbnRyeS5cbiAgICB2YXIgTjtcblxuICAgIGlmIChpc1NlcXVlbmNlKSB7XG4gICAgICB2YXIgeCA9IG51bWVyaWMoblswXSk7XG4gICAgICB2YXIgeSA9IG51bWVyaWMoblsxXSk7XG4gICAgICB2YXIgd2lkdGggPSBNYXRoLm1heChuWzBdLmxlbmd0aCwgblsxXS5sZW5ndGgpXG4gICAgICB2YXIgaW5jciA9IG4ubGVuZ3RoID09IDNcbiAgICAgICAgPyBNYXRoLmFicyhudW1lcmljKG5bMl0pKVxuICAgICAgICA6IDE7XG4gICAgICB2YXIgdGVzdCA9IGx0ZTtcbiAgICAgIHZhciByZXZlcnNlID0geSA8IHg7XG4gICAgICBpZiAocmV2ZXJzZSkge1xuICAgICAgICBpbmNyICo9IC0xO1xuICAgICAgICB0ZXN0ID0gZ3RlO1xuICAgICAgfVxuICAgICAgdmFyIHBhZCA9IG4uc29tZShpc1BhZGRlZCk7XG5cbiAgICAgIE4gPSBbXTtcblxuICAgICAgZm9yICh2YXIgaSA9IHg7IHRlc3QoaSwgeSk7IGkgKz0gaW5jcikge1xuICAgICAgICB2YXIgYztcbiAgICAgICAgaWYgKGlzQWxwaGFTZXF1ZW5jZSkge1xuICAgICAgICAgIGMgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGkpO1xuICAgICAgICAgIGlmIChjID09PSAnXFxcXCcpXG4gICAgICAgICAgICBjID0gJyc7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYyA9IFN0cmluZyhpKTtcbiAgICAgICAgICBpZiAocGFkKSB7XG4gICAgICAgICAgICB2YXIgbmVlZCA9IHdpZHRoIC0gYy5sZW5ndGg7XG4gICAgICAgICAgICBpZiAobmVlZCA+IDApIHtcbiAgICAgICAgICAgICAgdmFyIHogPSBuZXcgQXJyYXkobmVlZCArIDEpLmpvaW4oJzAnKTtcbiAgICAgICAgICAgICAgaWYgKGkgPCAwKVxuICAgICAgICAgICAgICAgIGMgPSAnLScgKyB6ICsgYy5zbGljZSgxKTtcbiAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGMgPSB6ICsgYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgTi5wdXNoKGMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBOID0gW107XG5cbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgbi5sZW5ndGg7IGorKykge1xuICAgICAgICBOLnB1c2guYXBwbHkoTiwgZXhwYW5kKG5bal0sIGZhbHNlKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBOLmxlbmd0aDsgaisrKSB7XG4gICAgICBmb3IgKHZhciBrID0gMDsgayA8IHBvc3QubGVuZ3RoOyBrKyspIHtcbiAgICAgICAgdmFyIGV4cGFuc2lvbiA9IHByZSArIE5bal0gKyBwb3N0W2tdO1xuICAgICAgICBpZiAoIWlzVG9wIHx8IGlzU2VxdWVuY2UgfHwgZXhwYW5zaW9uKVxuICAgICAgICAgIGV4cGFuc2lvbnMucHVzaChleHBhbnNpb24pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBleHBhbnNpb25zO1xufVxuXG4iLCAiLyogdHNsaW50OmRpc2FibGUgKi9cbi8qIGVzbGludC1kaXNhYmxlICovXG4vKiBwcmV0dGllci1pZ25vcmUgKi9cblxuLyogYXV0by1nZW5lcmF0ZWQgYnkgTkFQSS1SUyAqL1xuXG5jb25zdCB7IGV4aXN0c1N5bmMsIHJlYWRGaWxlU3luYyB9ID0gcmVxdWlyZSgnZnMnKVxuY29uc3QgeyBqb2luIH0gPSByZXF1aXJlKCdwYXRoJylcblxuY29uc3QgeyBwbGF0Zm9ybSwgYXJjaCB9ID0gcHJvY2Vzc1xuXG5sZXQgbmF0aXZlQmluZGluZyA9IG51bGxcbmxldCBsb2NhbEZpbGVFeGlzdGVkID0gZmFsc2VcbmxldCBsb2FkRXJyb3IgPSBudWxsXG5cbmZ1bmN0aW9uIGlzTXVzbCgpIHtcbiAgLy8gRm9yIE5vZGUgMTBcbiAgaWYgKCFwcm9jZXNzLnJlcG9ydCB8fCB0eXBlb2YgcHJvY2Vzcy5yZXBvcnQuZ2V0UmVwb3J0ICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGxkZFBhdGggPSByZXF1aXJlKCdjaGlsZF9wcm9jZXNzJykuZXhlY1N5bmMoJ3doaWNoIGxkZCcpLnRvU3RyaW5nKCkudHJpbSgpXG4gICAgICByZXR1cm4gcmVhZEZpbGVTeW5jKGxkZFBhdGgsICd1dGY4JykuaW5jbHVkZXMoJ211c2wnKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGNvbnN0IHsgZ2xpYmNWZXJzaW9uUnVudGltZSB9ID0gcHJvY2Vzcy5yZXBvcnQuZ2V0UmVwb3J0KCkuaGVhZGVyXG4gICAgcmV0dXJuICFnbGliY1ZlcnNpb25SdW50aW1lXG4gIH1cbn1cblxuc3dpdGNoIChwbGF0Zm9ybSkge1xuICBjYXNlICdhbmRyb2lkJzpcbiAgICBzd2l0Y2ggKGFyY2gpIHtcbiAgICAgIGNhc2UgJ2FybTY0JzpcbiAgICAgICAgbG9jYWxGaWxlRXhpc3RlZCA9IGV4aXN0c1N5bmMoam9pbihfX2Rpcm5hbWUsICdhc3QtZ3JlcC1uYXBpLmFuZHJvaWQtYXJtNjQubm9kZScpKVxuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmIChsb2NhbEZpbGVFeGlzdGVkKSB7XG4gICAgICAgICAgICBuYXRpdmVCaW5kaW5nID0gcmVxdWlyZSgnLi9hc3QtZ3JlcC1uYXBpLmFuZHJvaWQtYXJtNjQubm9kZScpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5hdGl2ZUJpbmRpbmcgPSByZXF1aXJlKCdAYXN0LWdyZXAvbmFwaS1hbmRyb2lkLWFybTY0JylcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBsb2FkRXJyb3IgPSBlXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2FybSc6XG4gICAgICAgIGxvY2FsRmlsZUV4aXN0ZWQgPSBleGlzdHNTeW5jKGpvaW4oX19kaXJuYW1lLCAnYXN0LWdyZXAtbmFwaS5hbmRyb2lkLWFybS1lYWJpLm5vZGUnKSlcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAobG9jYWxGaWxlRXhpc3RlZCkge1xuICAgICAgICAgICAgbmF0aXZlQmluZGluZyA9IHJlcXVpcmUoJy4vYXN0LWdyZXAtbmFwaS5hbmRyb2lkLWFybS1lYWJpLm5vZGUnKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuYXRpdmVCaW5kaW5nID0gcmVxdWlyZSgnQGFzdC1ncmVwL25hcGktYW5kcm9pZC1hcm0tZWFiaScpXG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgbG9hZEVycm9yID0gZVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZSBvbiBBbmRyb2lkICR7YXJjaH1gKVxuICAgIH1cbiAgICBicmVha1xuICBjYXNlICd3aW4zMic6XG4gICAgc3dpdGNoIChhcmNoKSB7XG4gICAgICBjYXNlICd4NjQnOlxuICAgICAgICBsb2NhbEZpbGVFeGlzdGVkID0gZXhpc3RzU3luYyhcbiAgICAgICAgICBqb2luKF9fZGlybmFtZSwgJ2FzdC1ncmVwLW5hcGkud2luMzIteDY0LW1zdmMubm9kZScpXG4gICAgICAgIClcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAobG9jYWxGaWxlRXhpc3RlZCkge1xuICAgICAgICAgICAgbmF0aXZlQmluZGluZyA9IHJlcXVpcmUoJy4vYXN0LWdyZXAtbmFwaS53aW4zMi14NjQtbXN2Yy5ub2RlJylcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmF0aXZlQmluZGluZyA9IHJlcXVpcmUoJ0Bhc3QtZ3JlcC9uYXBpLXdpbjMyLXg2NC1tc3ZjJylcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBsb2FkRXJyb3IgPSBlXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2lhMzInOlxuICAgICAgICBsb2NhbEZpbGVFeGlzdGVkID0gZXhpc3RzU3luYyhcbiAgICAgICAgICBqb2luKF9fZGlybmFtZSwgJ2FzdC1ncmVwLW5hcGkud2luMzItaWEzMi1tc3ZjLm5vZGUnKVxuICAgICAgICApXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgaWYgKGxvY2FsRmlsZUV4aXN0ZWQpIHtcbiAgICAgICAgICAgIG5hdGl2ZUJpbmRpbmcgPSByZXF1aXJlKCcuL2FzdC1ncmVwLW5hcGkud2luMzItaWEzMi1tc3ZjLm5vZGUnKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuYXRpdmVCaW5kaW5nID0gcmVxdWlyZSgnQGFzdC1ncmVwL25hcGktd2luMzItaWEzMi1tc3ZjJylcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBsb2FkRXJyb3IgPSBlXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2FybTY0JzpcbiAgICAgICAgbG9jYWxGaWxlRXhpc3RlZCA9IGV4aXN0c1N5bmMoXG4gICAgICAgICAgam9pbihfX2Rpcm5hbWUsICdhc3QtZ3JlcC1uYXBpLndpbjMyLWFybTY0LW1zdmMubm9kZScpXG4gICAgICAgIClcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpZiAobG9jYWxGaWxlRXhpc3RlZCkge1xuICAgICAgICAgICAgbmF0aXZlQmluZGluZyA9IHJlcXVpcmUoJy4vYXN0LWdyZXAtbmFwaS53aW4zMi1hcm02NC1tc3ZjLm5vZGUnKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuYXRpdmVCaW5kaW5nID0gcmVxdWlyZSgnQGFzdC1ncmVwL25hcGktd2luMzItYXJtNjQtbXN2YycpXG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgbG9hZEVycm9yID0gZVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZSBvbiBXaW5kb3dzOiAke2FyY2h9YClcbiAgICB9XG4gICAgYnJlYWtcbiAgY2FzZSAnZGFyd2luJzpcbiAgICBsb2NhbEZpbGVFeGlzdGVkID0gZXhpc3RzU3luYyhqb2luKF9fZGlybmFtZSwgJ2FzdC1ncmVwLW5hcGkuZGFyd2luLXVuaXZlcnNhbC5ub2RlJykpXG4gICAgdHJ5IHtcbiAgICAgIGlmIChsb2NhbEZpbGVFeGlzdGVkKSB7XG4gICAgICAgIG5hdGl2ZUJpbmRpbmcgPSByZXF1aXJlKCcuL2FzdC1ncmVwLW5hcGkuZGFyd2luLXVuaXZlcnNhbC5ub2RlJylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5hdGl2ZUJpbmRpbmcgPSByZXF1aXJlKCdAYXN0LWdyZXAvbmFwaS1kYXJ3aW4tdW5pdmVyc2FsJylcbiAgICAgIH1cbiAgICAgIGJyZWFrXG4gICAgfSBjYXRjaCB7fVxuICAgIHN3aXRjaCAoYXJjaCkge1xuICAgICAgY2FzZSAneDY0JzpcbiAgICAgICAgbG9jYWxGaWxlRXhpc3RlZCA9IGV4aXN0c1N5bmMoam9pbihfX2Rpcm5hbWUsICdhc3QtZ3JlcC1uYXBpLmRhcndpbi14NjQubm9kZScpKVxuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmIChsb2NhbEZpbGVFeGlzdGVkKSB7XG4gICAgICAgICAgICBuYXRpdmVCaW5kaW5nID0gcmVxdWlyZSgnLi9hc3QtZ3JlcC1uYXBpLmRhcndpbi14NjQubm9kZScpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5hdGl2ZUJpbmRpbmcgPSByZXF1aXJlKCdAYXN0LWdyZXAvbmFwaS1kYXJ3aW4teDY0JylcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBsb2FkRXJyb3IgPSBlXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ2FybTY0JzpcbiAgICAgICAgbG9jYWxGaWxlRXhpc3RlZCA9IGV4aXN0c1N5bmMoXG4gICAgICAgICAgam9pbihfX2Rpcm5hbWUsICdhc3QtZ3JlcC1uYXBpLmRhcndpbi1hcm02NC5ub2RlJylcbiAgICAgICAgKVxuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmIChsb2NhbEZpbGVFeGlzdGVkKSB7XG4gICAgICAgICAgICBuYXRpdmVCaW5kaW5nID0gcmVxdWlyZSgnLi9hc3QtZ3JlcC1uYXBpLmRhcndpbi1hcm02NC5ub2RlJylcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbmF0aXZlQmluZGluZyA9IHJlcXVpcmUoJ0Bhc3QtZ3JlcC9uYXBpLWRhcndpbi1hcm02NCcpXG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgbG9hZEVycm9yID0gZVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZSBvbiBtYWNPUzogJHthcmNofWApXG4gICAgfVxuICAgIGJyZWFrXG4gIGNhc2UgJ2ZyZWVic2QnOlxuICAgIGlmIChhcmNoICE9PSAneDY0Jykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBhcmNoaXRlY3R1cmUgb24gRnJlZUJTRDogJHthcmNofWApXG4gICAgfVxuICAgIGxvY2FsRmlsZUV4aXN0ZWQgPSBleGlzdHNTeW5jKGpvaW4oX19kaXJuYW1lLCAnYXN0LWdyZXAtbmFwaS5mcmVlYnNkLXg2NC5ub2RlJykpXG4gICAgdHJ5IHtcbiAgICAgIGlmIChsb2NhbEZpbGVFeGlzdGVkKSB7XG4gICAgICAgIG5hdGl2ZUJpbmRpbmcgPSByZXF1aXJlKCcuL2FzdC1ncmVwLW5hcGkuZnJlZWJzZC14NjQubm9kZScpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuYXRpdmVCaW5kaW5nID0gcmVxdWlyZSgnQGFzdC1ncmVwL25hcGktZnJlZWJzZC14NjQnKVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGxvYWRFcnJvciA9IGVcbiAgICB9XG4gICAgYnJlYWtcbiAgY2FzZSAnbGludXgnOlxuICAgIHN3aXRjaCAoYXJjaCkge1xuICAgICAgY2FzZSAneDY0JzpcbiAgICAgICAgaWYgKGlzTXVzbCgpKSB7XG4gICAgICAgICAgbG9jYWxGaWxlRXhpc3RlZCA9IGV4aXN0c1N5bmMoXG4gICAgICAgICAgICBqb2luKF9fZGlybmFtZSwgJ2FzdC1ncmVwLW5hcGkubGludXgteDY0LW11c2wubm9kZScpXG4gICAgICAgICAgKVxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAobG9jYWxGaWxlRXhpc3RlZCkge1xuICAgICAgICAgICAgICBuYXRpdmVCaW5kaW5nID0gcmVxdWlyZSgnLi9hc3QtZ3JlcC1uYXBpLmxpbnV4LXg2NC1tdXNsLm5vZGUnKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbmF0aXZlQmluZGluZyA9IHJlcXVpcmUoJ0Bhc3QtZ3JlcC9uYXBpLWxpbnV4LXg2NC1tdXNsJylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBsb2FkRXJyb3IgPSBlXG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGxvY2FsRmlsZUV4aXN0ZWQgPSBleGlzdHNTeW5jKFxuICAgICAgICAgICAgam9pbihfX2Rpcm5hbWUsICdhc3QtZ3JlcC1uYXBpLmxpbnV4LXg2NC1nbnUubm9kZScpXG4gICAgICAgICAgKVxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAobG9jYWxGaWxlRXhpc3RlZCkge1xuICAgICAgICAgICAgICBuYXRpdmVCaW5kaW5nID0gcmVxdWlyZSgnLi9hc3QtZ3JlcC1uYXBpLmxpbnV4LXg2NC1nbnUubm9kZScpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBuYXRpdmVCaW5kaW5nID0gcmVxdWlyZSgnQGFzdC1ncmVwL25hcGktbGludXgteDY0LWdudScpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgbG9hZEVycm9yID0gZVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBicmVha1xuICAgICAgY2FzZSAnYXJtNjQnOlxuICAgICAgICBpZiAoaXNNdXNsKCkpIHtcbiAgICAgICAgICBsb2NhbEZpbGVFeGlzdGVkID0gZXhpc3RzU3luYyhcbiAgICAgICAgICAgIGpvaW4oX19kaXJuYW1lLCAnYXN0LWdyZXAtbmFwaS5saW51eC1hcm02NC1tdXNsLm5vZGUnKVxuICAgICAgICAgIClcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKGxvY2FsRmlsZUV4aXN0ZWQpIHtcbiAgICAgICAgICAgICAgbmF0aXZlQmluZGluZyA9IHJlcXVpcmUoJy4vYXN0LWdyZXAtbmFwaS5saW51eC1hcm02NC1tdXNsLm5vZGUnKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbmF0aXZlQmluZGluZyA9IHJlcXVpcmUoJ0Bhc3QtZ3JlcC9uYXBpLWxpbnV4LWFybTY0LW11c2wnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGxvYWRFcnJvciA9IGVcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbG9jYWxGaWxlRXhpc3RlZCA9IGV4aXN0c1N5bmMoXG4gICAgICAgICAgICBqb2luKF9fZGlybmFtZSwgJ2FzdC1ncmVwLW5hcGkubGludXgtYXJtNjQtZ251Lm5vZGUnKVxuICAgICAgICAgIClcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgaWYgKGxvY2FsRmlsZUV4aXN0ZWQpIHtcbiAgICAgICAgICAgICAgbmF0aXZlQmluZGluZyA9IHJlcXVpcmUoJy4vYXN0LWdyZXAtbmFwaS5saW51eC1hcm02NC1nbnUubm9kZScpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBuYXRpdmVCaW5kaW5nID0gcmVxdWlyZSgnQGFzdC1ncmVwL25hcGktbGludXgtYXJtNjQtZ251JylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBsb2FkRXJyb3IgPSBlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBjYXNlICdhcm0nOlxuICAgICAgICBsb2NhbEZpbGVFeGlzdGVkID0gZXhpc3RzU3luYyhcbiAgICAgICAgICBqb2luKF9fZGlybmFtZSwgJ2FzdC1ncmVwLW5hcGkubGludXgtYXJtLWdudWVhYmloZi5ub2RlJylcbiAgICAgICAgKVxuICAgICAgICB0cnkge1xuICAgICAgICAgIGlmIChsb2NhbEZpbGVFeGlzdGVkKSB7XG4gICAgICAgICAgICBuYXRpdmVCaW5kaW5nID0gcmVxdWlyZSgnLi9hc3QtZ3JlcC1uYXBpLmxpbnV4LWFybS1nbnVlYWJpaGYubm9kZScpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG5hdGl2ZUJpbmRpbmcgPSByZXF1aXJlKCdAYXN0LWdyZXAvbmFwaS1saW51eC1hcm0tZ251ZWFiaWhmJylcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBsb2FkRXJyb3IgPSBlXG4gICAgICAgIH1cbiAgICAgICAgYnJlYWtcbiAgICAgIGNhc2UgJ3Jpc2N2NjQnOlxuICAgICAgICBpZiAoaXNNdXNsKCkpIHtcbiAgICAgICAgICBsb2NhbEZpbGVFeGlzdGVkID0gZXhpc3RzU3luYyhcbiAgICAgICAgICAgIGpvaW4oX19kaXJuYW1lLCAnYXN0LWdyZXAtbmFwaS5saW51eC1yaXNjdjY0LW11c2wubm9kZScpXG4gICAgICAgICAgKVxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAobG9jYWxGaWxlRXhpc3RlZCkge1xuICAgICAgICAgICAgICBuYXRpdmVCaW5kaW5nID0gcmVxdWlyZSgnLi9hc3QtZ3JlcC1uYXBpLmxpbnV4LXJpc2N2NjQtbXVzbC5ub2RlJylcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIG5hdGl2ZUJpbmRpbmcgPSByZXF1aXJlKCdAYXN0LWdyZXAvbmFwaS1saW51eC1yaXNjdjY0LW11c2wnKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIGxvYWRFcnJvciA9IGVcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbG9jYWxGaWxlRXhpc3RlZCA9IGV4aXN0c1N5bmMoXG4gICAgICAgICAgICBqb2luKF9fZGlybmFtZSwgJ2FzdC1ncmVwLW5hcGkubGludXgtcmlzY3Y2NC1nbnUubm9kZScpXG4gICAgICAgICAgKVxuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAobG9jYWxGaWxlRXhpc3RlZCkge1xuICAgICAgICAgICAgICBuYXRpdmVCaW5kaW5nID0gcmVxdWlyZSgnLi9hc3QtZ3JlcC1uYXBpLmxpbnV4LXJpc2N2NjQtZ251Lm5vZGUnKVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbmF0aXZlQmluZGluZyA9IHJlcXVpcmUoJ0Bhc3QtZ3JlcC9uYXBpLWxpbnV4LXJpc2N2NjQtZ251JylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICBsb2FkRXJyb3IgPSBlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrXG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZSBvbiBMaW51eDogJHthcmNofWApXG4gICAgfVxuICAgIGJyZWFrXG4gIGRlZmF1bHQ6XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBPUzogJHtwbGF0Zm9ybX0sIGFyY2hpdGVjdHVyZTogJHthcmNofWApXG59XG5cbmlmICghbmF0aXZlQmluZGluZykge1xuICBpZiAobG9hZEVycm9yKSB7XG4gICAgdGhyb3cgbG9hZEVycm9yXG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKGBGYWlsZWQgdG8gbG9hZCBuYXRpdmUgYmluZGluZ2ApXG59XG5cbmNvbnN0IHsgcGFyc2VGaWxlcywgTGFuZywgU2dOb2RlLCBTZ1Jvb3QsIHBhcnNlLCBwYXJzZUFzeW5jLCBraW5kLCBwYXR0ZXJuLCBmaW5kSW5GaWxlcywgaHRtbCwganMsIGpzeCwgdHMsIHRzeCwgY3NzIH0gPSBuYXRpdmVCaW5kaW5nXG5cbm1vZHVsZS5leHBvcnRzLnBhcnNlRmlsZXMgPSBwYXJzZUZpbGVzXG5tb2R1bGUuZXhwb3J0cy5MYW5nID0gTGFuZ1xubW9kdWxlLmV4cG9ydHMuU2dOb2RlID0gU2dOb2RlXG5tb2R1bGUuZXhwb3J0cy5TZ1Jvb3QgPSBTZ1Jvb3Rcbm1vZHVsZS5leHBvcnRzLnBhcnNlID0gcGFyc2Vcbm1vZHVsZS5leHBvcnRzLnBhcnNlQXN5bmMgPSBwYXJzZUFzeW5jXG5tb2R1bGUuZXhwb3J0cy5raW5kID0ga2luZFxubW9kdWxlLmV4cG9ydHMucGF0dGVybiA9IHBhdHRlcm5cbm1vZHVsZS5leHBvcnRzLmZpbmRJbkZpbGVzID0gZmluZEluRmlsZXNcbm1vZHVsZS5leHBvcnRzLmh0bWwgPSBodG1sXG5tb2R1bGUuZXhwb3J0cy5qcyA9IGpzXG5tb2R1bGUuZXhwb3J0cy5qc3ggPSBqc3hcbm1vZHVsZS5leHBvcnRzLnRzID0gdHNcbm1vZHVsZS5leHBvcnRzLnRzeCA9IHRzeFxubW9kdWxlLmV4cG9ydHMuY3NzID0gY3NzXG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBBTElBUyA9IFN5bWJvbC5mb3IoJ3lhbWwuYWxpYXMnKTtcbmNvbnN0IERPQyA9IFN5bWJvbC5mb3IoJ3lhbWwuZG9jdW1lbnQnKTtcbmNvbnN0IE1BUCA9IFN5bWJvbC5mb3IoJ3lhbWwubWFwJyk7XG5jb25zdCBQQUlSID0gU3ltYm9sLmZvcigneWFtbC5wYWlyJyk7XG5jb25zdCBTQ0FMQVIgPSBTeW1ib2wuZm9yKCd5YW1sLnNjYWxhcicpO1xuY29uc3QgU0VRID0gU3ltYm9sLmZvcigneWFtbC5zZXEnKTtcbmNvbnN0IE5PREVfVFlQRSA9IFN5bWJvbC5mb3IoJ3lhbWwubm9kZS50eXBlJyk7XG5jb25zdCBpc0FsaWFzID0gKG5vZGUpID0+ICEhbm9kZSAmJiB0eXBlb2Ygbm9kZSA9PT0gJ29iamVjdCcgJiYgbm9kZVtOT0RFX1RZUEVdID09PSBBTElBUztcbmNvbnN0IGlzRG9jdW1lbnQgPSAobm9kZSkgPT4gISFub2RlICYmIHR5cGVvZiBub2RlID09PSAnb2JqZWN0JyAmJiBub2RlW05PREVfVFlQRV0gPT09IERPQztcbmNvbnN0IGlzTWFwID0gKG5vZGUpID0+ICEhbm9kZSAmJiB0eXBlb2Ygbm9kZSA9PT0gJ29iamVjdCcgJiYgbm9kZVtOT0RFX1RZUEVdID09PSBNQVA7XG5jb25zdCBpc1BhaXIgPSAobm9kZSkgPT4gISFub2RlICYmIHR5cGVvZiBub2RlID09PSAnb2JqZWN0JyAmJiBub2RlW05PREVfVFlQRV0gPT09IFBBSVI7XG5jb25zdCBpc1NjYWxhciA9IChub2RlKSA9PiAhIW5vZGUgJiYgdHlwZW9mIG5vZGUgPT09ICdvYmplY3QnICYmIG5vZGVbTk9ERV9UWVBFXSA9PT0gU0NBTEFSO1xuY29uc3QgaXNTZXEgPSAobm9kZSkgPT4gISFub2RlICYmIHR5cGVvZiBub2RlID09PSAnb2JqZWN0JyAmJiBub2RlW05PREVfVFlQRV0gPT09IFNFUTtcbmZ1bmN0aW9uIGlzQ29sbGVjdGlvbihub2RlKSB7XG4gICAgaWYgKG5vZGUgJiYgdHlwZW9mIG5vZGUgPT09ICdvYmplY3QnKVxuICAgICAgICBzd2l0Y2ggKG5vZGVbTk9ERV9UWVBFXSkge1xuICAgICAgICAgICAgY2FzZSBNQVA6XG4gICAgICAgICAgICBjYXNlIFNFUTpcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGlzTm9kZShub2RlKSB7XG4gICAgaWYgKG5vZGUgJiYgdHlwZW9mIG5vZGUgPT09ICdvYmplY3QnKVxuICAgICAgICBzd2l0Y2ggKG5vZGVbTk9ERV9UWVBFXSkge1xuICAgICAgICAgICAgY2FzZSBBTElBUzpcbiAgICAgICAgICAgIGNhc2UgTUFQOlxuICAgICAgICAgICAgY2FzZSBTQ0FMQVI6XG4gICAgICAgICAgICBjYXNlIFNFUTpcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbmNvbnN0IGhhc0FuY2hvciA9IChub2RlKSA9PiAoaXNTY2FsYXIobm9kZSkgfHwgaXNDb2xsZWN0aW9uKG5vZGUpKSAmJiAhIW5vZGUuYW5jaG9yO1xuXG5leHBvcnRzLkFMSUFTID0gQUxJQVM7XG5leHBvcnRzLkRPQyA9IERPQztcbmV4cG9ydHMuTUFQID0gTUFQO1xuZXhwb3J0cy5OT0RFX1RZUEUgPSBOT0RFX1RZUEU7XG5leHBvcnRzLlBBSVIgPSBQQUlSO1xuZXhwb3J0cy5TQ0FMQVIgPSBTQ0FMQVI7XG5leHBvcnRzLlNFUSA9IFNFUTtcbmV4cG9ydHMuaGFzQW5jaG9yID0gaGFzQW5jaG9yO1xuZXhwb3J0cy5pc0FsaWFzID0gaXNBbGlhcztcbmV4cG9ydHMuaXNDb2xsZWN0aW9uID0gaXNDb2xsZWN0aW9uO1xuZXhwb3J0cy5pc0RvY3VtZW50ID0gaXNEb2N1bWVudDtcbmV4cG9ydHMuaXNNYXAgPSBpc01hcDtcbmV4cG9ydHMuaXNOb2RlID0gaXNOb2RlO1xuZXhwb3J0cy5pc1BhaXIgPSBpc1BhaXI7XG5leHBvcnRzLmlzU2NhbGFyID0gaXNTY2FsYXI7XG5leHBvcnRzLmlzU2VxID0gaXNTZXE7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuL25vZGVzL2lkZW50aXR5LmpzJyk7XG5cbmNvbnN0IEJSRUFLID0gU3ltYm9sKCdicmVhayB2aXNpdCcpO1xuY29uc3QgU0tJUCA9IFN5bWJvbCgnc2tpcCBjaGlsZHJlbicpO1xuY29uc3QgUkVNT1ZFID0gU3ltYm9sKCdyZW1vdmUgbm9kZScpO1xuLyoqXG4gKiBBcHBseSBhIHZpc2l0b3IgdG8gYW4gQVNUIG5vZGUgb3IgZG9jdW1lbnQuXG4gKlxuICogV2Fsa3MgdGhyb3VnaCB0aGUgdHJlZSAoZGVwdGgtZmlyc3QpIHN0YXJ0aW5nIGZyb20gYG5vZGVgLCBjYWxsaW5nIGFcbiAqIGB2aXNpdG9yYCBmdW5jdGlvbiB3aXRoIHRocmVlIGFyZ3VtZW50czpcbiAqICAgLSBga2V5YDogRm9yIHNlcXVlbmNlIHZhbHVlcyBhbmQgbWFwIGBQYWlyYCwgdGhlIG5vZGUncyBpbmRleCBpbiB0aGVcbiAqICAgICBjb2xsZWN0aW9uLiBXaXRoaW4gYSBgUGFpcmAsIGAna2V5J2Agb3IgYCd2YWx1ZSdgLCBjb3JyZXNwb25kaW5nbHkuXG4gKiAgICAgYG51bGxgIGZvciB0aGUgcm9vdCBub2RlLlxuICogICAtIGBub2RlYDogVGhlIGN1cnJlbnQgbm9kZS5cbiAqICAgLSBgcGF0aGA6IFRoZSBhbmNlc3RyeSBvZiB0aGUgY3VycmVudCBub2RlLlxuICpcbiAqIFRoZSByZXR1cm4gdmFsdWUgb2YgdGhlIHZpc2l0b3IgbWF5IGJlIHVzZWQgdG8gY29udHJvbCB0aGUgdHJhdmVyc2FsOlxuICogICAtIGB1bmRlZmluZWRgIChkZWZhdWx0KTogRG8gbm90aGluZyBhbmQgY29udGludWVcbiAqICAgLSBgdmlzaXQuU0tJUGA6IERvIG5vdCB2aXNpdCB0aGUgY2hpbGRyZW4gb2YgdGhpcyBub2RlLCBjb250aW51ZSB3aXRoIG5leHRcbiAqICAgICBzaWJsaW5nXG4gKiAgIC0gYHZpc2l0LkJSRUFLYDogVGVybWluYXRlIHRyYXZlcnNhbCBjb21wbGV0ZWx5XG4gKiAgIC0gYHZpc2l0LlJFTU9WRWA6IFJlbW92ZSB0aGUgY3VycmVudCBub2RlLCB0aGVuIGNvbnRpbnVlIHdpdGggdGhlIG5leHQgb25lXG4gKiAgIC0gYE5vZGVgOiBSZXBsYWNlIHRoZSBjdXJyZW50IG5vZGUsIHRoZW4gY29udGludWUgYnkgdmlzaXRpbmcgaXRcbiAqICAgLSBgbnVtYmVyYDogV2hpbGUgaXRlcmF0aW5nIHRoZSBpdGVtcyBvZiBhIHNlcXVlbmNlIG9yIG1hcCwgc2V0IHRoZSBpbmRleFxuICogICAgIG9mIHRoZSBuZXh0IHN0ZXAuIFRoaXMgaXMgdXNlZnVsIGVzcGVjaWFsbHkgaWYgdGhlIGluZGV4IG9mIHRoZSBjdXJyZW50XG4gKiAgICAgbm9kZSBoYXMgY2hhbmdlZC5cbiAqXG4gKiBJZiBgdmlzaXRvcmAgaXMgYSBzaW5nbGUgZnVuY3Rpb24sIGl0IHdpbGwgYmUgY2FsbGVkIHdpdGggYWxsIHZhbHVlc1xuICogZW5jb3VudGVyZWQgaW4gdGhlIHRyZWUsIGluY2x1ZGluZyBlLmcuIGBudWxsYCB2YWx1ZXMuIEFsdGVybmF0aXZlbHksXG4gKiBzZXBhcmF0ZSB2aXNpdG9yIGZ1bmN0aW9ucyBtYXkgYmUgZGVmaW5lZCBmb3IgZWFjaCBgTWFwYCwgYFBhaXJgLCBgU2VxYCxcbiAqIGBBbGlhc2AgYW5kIGBTY2FsYXJgIG5vZGUuIFRvIGRlZmluZSB0aGUgc2FtZSB2aXNpdG9yIGZ1bmN0aW9uIGZvciBtb3JlIHRoYW5cbiAqIG9uZSBub2RlIHR5cGUsIHVzZSB0aGUgYENvbGxlY3Rpb25gIChtYXAgYW5kIHNlcSksIGBWYWx1ZWAgKG1hcCwgc2VxICYgc2NhbGFyKVxuICogYW5kIGBOb2RlYCAoYWxpYXMsIG1hcCwgc2VxICYgc2NhbGFyKSB0YXJnZXRzLiBPZiBhbGwgdGhlc2UsIG9ubHkgdGhlIG1vc3RcbiAqIHNwZWNpZmljIGRlZmluZWQgb25lIHdpbGwgYmUgdXNlZCBmb3IgZWFjaCBub2RlLlxuICovXG5mdW5jdGlvbiB2aXNpdChub2RlLCB2aXNpdG9yKSB7XG4gICAgY29uc3QgdmlzaXRvcl8gPSBpbml0VmlzaXRvcih2aXNpdG9yKTtcbiAgICBpZiAoaWRlbnRpdHkuaXNEb2N1bWVudChub2RlKSkge1xuICAgICAgICBjb25zdCBjZCA9IHZpc2l0XyhudWxsLCBub2RlLmNvbnRlbnRzLCB2aXNpdG9yXywgT2JqZWN0LmZyZWV6ZShbbm9kZV0pKTtcbiAgICAgICAgaWYgKGNkID09PSBSRU1PVkUpXG4gICAgICAgICAgICBub2RlLmNvbnRlbnRzID0gbnVsbDtcbiAgICB9XG4gICAgZWxzZVxuICAgICAgICB2aXNpdF8obnVsbCwgbm9kZSwgdmlzaXRvcl8sIE9iamVjdC5mcmVlemUoW10pKTtcbn1cbi8vIFdpdGhvdXQgdGhlIGBhcyBzeW1ib2xgIGNhc3RzLCBUUyBkZWNsYXJlcyB0aGVzZSBpbiB0aGUgYHZpc2l0YFxuLy8gbmFtZXNwYWNlIHVzaW5nIGB2YXJgLCBidXQgdGhlbiBjb21wbGFpbnMgYWJvdXQgdGhhdCBiZWNhdXNlXG4vLyBgdW5pcXVlIHN5bWJvbGAgbXVzdCBiZSBgY29uc3RgLlxuLyoqIFRlcm1pbmF0ZSB2aXNpdCB0cmF2ZXJzYWwgY29tcGxldGVseSAqL1xudmlzaXQuQlJFQUsgPSBCUkVBSztcbi8qKiBEbyBub3QgdmlzaXQgdGhlIGNoaWxkcmVuIG9mIHRoZSBjdXJyZW50IG5vZGUgKi9cbnZpc2l0LlNLSVAgPSBTS0lQO1xuLyoqIFJlbW92ZSB0aGUgY3VycmVudCBub2RlICovXG52aXNpdC5SRU1PVkUgPSBSRU1PVkU7XG5mdW5jdGlvbiB2aXNpdF8oa2V5LCBub2RlLCB2aXNpdG9yLCBwYXRoKSB7XG4gICAgY29uc3QgY3RybCA9IGNhbGxWaXNpdG9yKGtleSwgbm9kZSwgdmlzaXRvciwgcGF0aCk7XG4gICAgaWYgKGlkZW50aXR5LmlzTm9kZShjdHJsKSB8fCBpZGVudGl0eS5pc1BhaXIoY3RybCkpIHtcbiAgICAgICAgcmVwbGFjZU5vZGUoa2V5LCBwYXRoLCBjdHJsKTtcbiAgICAgICAgcmV0dXJuIHZpc2l0XyhrZXksIGN0cmwsIHZpc2l0b3IsIHBhdGgpO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIGN0cmwgIT09ICdzeW1ib2wnKSB7XG4gICAgICAgIGlmIChpZGVudGl0eS5pc0NvbGxlY3Rpb24obm9kZSkpIHtcbiAgICAgICAgICAgIHBhdGggPSBPYmplY3QuZnJlZXplKHBhdGguY29uY2F0KG5vZGUpKTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZS5pdGVtcy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNpID0gdmlzaXRfKGksIG5vZGUuaXRlbXNbaV0sIHZpc2l0b3IsIHBhdGgpO1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgY2kgPT09ICdudW1iZXInKVxuICAgICAgICAgICAgICAgICAgICBpID0gY2kgLSAxO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNpID09PSBCUkVBSylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEJSRUFLO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNpID09PSBSRU1PVkUpIHtcbiAgICAgICAgICAgICAgICAgICAgbm9kZS5pdGVtcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIGkgLT0gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaWRlbnRpdHkuaXNQYWlyKG5vZGUpKSB7XG4gICAgICAgICAgICBwYXRoID0gT2JqZWN0LmZyZWV6ZShwYXRoLmNvbmNhdChub2RlKSk7XG4gICAgICAgICAgICBjb25zdCBjayA9IHZpc2l0Xygna2V5Jywgbm9kZS5rZXksIHZpc2l0b3IsIHBhdGgpO1xuICAgICAgICAgICAgaWYgKGNrID09PSBCUkVBSylcbiAgICAgICAgICAgICAgICByZXR1cm4gQlJFQUs7XG4gICAgICAgICAgICBlbHNlIGlmIChjayA9PT0gUkVNT1ZFKVxuICAgICAgICAgICAgICAgIG5vZGUua2V5ID0gbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IGN2ID0gdmlzaXRfKCd2YWx1ZScsIG5vZGUudmFsdWUsIHZpc2l0b3IsIHBhdGgpO1xuICAgICAgICAgICAgaWYgKGN2ID09PSBCUkVBSylcbiAgICAgICAgICAgICAgICByZXR1cm4gQlJFQUs7XG4gICAgICAgICAgICBlbHNlIGlmIChjdiA9PT0gUkVNT1ZFKVxuICAgICAgICAgICAgICAgIG5vZGUudmFsdWUgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjdHJsO1xufVxuLyoqXG4gKiBBcHBseSBhbiBhc3luYyB2aXNpdG9yIHRvIGFuIEFTVCBub2RlIG9yIGRvY3VtZW50LlxuICpcbiAqIFdhbGtzIHRocm91Z2ggdGhlIHRyZWUgKGRlcHRoLWZpcnN0KSBzdGFydGluZyBmcm9tIGBub2RlYCwgY2FsbGluZyBhXG4gKiBgdmlzaXRvcmAgZnVuY3Rpb24gd2l0aCB0aHJlZSBhcmd1bWVudHM6XG4gKiAgIC0gYGtleWA6IEZvciBzZXF1ZW5jZSB2YWx1ZXMgYW5kIG1hcCBgUGFpcmAsIHRoZSBub2RlJ3MgaW5kZXggaW4gdGhlXG4gKiAgICAgY29sbGVjdGlvbi4gV2l0aGluIGEgYFBhaXJgLCBgJ2tleSdgIG9yIGAndmFsdWUnYCwgY29ycmVzcG9uZGluZ2x5LlxuICogICAgIGBudWxsYCBmb3IgdGhlIHJvb3Qgbm9kZS5cbiAqICAgLSBgbm9kZWA6IFRoZSBjdXJyZW50IG5vZGUuXG4gKiAgIC0gYHBhdGhgOiBUaGUgYW5jZXN0cnkgb2YgdGhlIGN1cnJlbnQgbm9kZS5cbiAqXG4gKiBUaGUgcmV0dXJuIHZhbHVlIG9mIHRoZSB2aXNpdG9yIG1heSBiZSB1c2VkIHRvIGNvbnRyb2wgdGhlIHRyYXZlcnNhbDpcbiAqICAgLSBgUHJvbWlzZWA6IE11c3QgcmVzb2x2ZSB0byBvbmUgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXNcbiAqICAgLSBgdW5kZWZpbmVkYCAoZGVmYXVsdCk6IERvIG5vdGhpbmcgYW5kIGNvbnRpbnVlXG4gKiAgIC0gYHZpc2l0LlNLSVBgOiBEbyBub3QgdmlzaXQgdGhlIGNoaWxkcmVuIG9mIHRoaXMgbm9kZSwgY29udGludWUgd2l0aCBuZXh0XG4gKiAgICAgc2libGluZ1xuICogICAtIGB2aXNpdC5CUkVBS2A6IFRlcm1pbmF0ZSB0cmF2ZXJzYWwgY29tcGxldGVseVxuICogICAtIGB2aXNpdC5SRU1PVkVgOiBSZW1vdmUgdGhlIGN1cnJlbnQgbm9kZSwgdGhlbiBjb250aW51ZSB3aXRoIHRoZSBuZXh0IG9uZVxuICogICAtIGBOb2RlYDogUmVwbGFjZSB0aGUgY3VycmVudCBub2RlLCB0aGVuIGNvbnRpbnVlIGJ5IHZpc2l0aW5nIGl0XG4gKiAgIC0gYG51bWJlcmA6IFdoaWxlIGl0ZXJhdGluZyB0aGUgaXRlbXMgb2YgYSBzZXF1ZW5jZSBvciBtYXAsIHNldCB0aGUgaW5kZXhcbiAqICAgICBvZiB0aGUgbmV4dCBzdGVwLiBUaGlzIGlzIHVzZWZ1bCBlc3BlY2lhbGx5IGlmIHRoZSBpbmRleCBvZiB0aGUgY3VycmVudFxuICogICAgIG5vZGUgaGFzIGNoYW5nZWQuXG4gKlxuICogSWYgYHZpc2l0b3JgIGlzIGEgc2luZ2xlIGZ1bmN0aW9uLCBpdCB3aWxsIGJlIGNhbGxlZCB3aXRoIGFsbCB2YWx1ZXNcbiAqIGVuY291bnRlcmVkIGluIHRoZSB0cmVlLCBpbmNsdWRpbmcgZS5nLiBgbnVsbGAgdmFsdWVzLiBBbHRlcm5hdGl2ZWx5LFxuICogc2VwYXJhdGUgdmlzaXRvciBmdW5jdGlvbnMgbWF5IGJlIGRlZmluZWQgZm9yIGVhY2ggYE1hcGAsIGBQYWlyYCwgYFNlcWAsXG4gKiBgQWxpYXNgIGFuZCBgU2NhbGFyYCBub2RlLiBUbyBkZWZpbmUgdGhlIHNhbWUgdmlzaXRvciBmdW5jdGlvbiBmb3IgbW9yZSB0aGFuXG4gKiBvbmUgbm9kZSB0eXBlLCB1c2UgdGhlIGBDb2xsZWN0aW9uYCAobWFwIGFuZCBzZXEpLCBgVmFsdWVgIChtYXAsIHNlcSAmIHNjYWxhcilcbiAqIGFuZCBgTm9kZWAgKGFsaWFzLCBtYXAsIHNlcSAmIHNjYWxhcikgdGFyZ2V0cy4gT2YgYWxsIHRoZXNlLCBvbmx5IHRoZSBtb3N0XG4gKiBzcGVjaWZpYyBkZWZpbmVkIG9uZSB3aWxsIGJlIHVzZWQgZm9yIGVhY2ggbm9kZS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gdmlzaXRBc3luYyhub2RlLCB2aXNpdG9yKSB7XG4gICAgY29uc3QgdmlzaXRvcl8gPSBpbml0VmlzaXRvcih2aXNpdG9yKTtcbiAgICBpZiAoaWRlbnRpdHkuaXNEb2N1bWVudChub2RlKSkge1xuICAgICAgICBjb25zdCBjZCA9IGF3YWl0IHZpc2l0QXN5bmNfKG51bGwsIG5vZGUuY29udGVudHMsIHZpc2l0b3JfLCBPYmplY3QuZnJlZXplKFtub2RlXSkpO1xuICAgICAgICBpZiAoY2QgPT09IFJFTU9WRSlcbiAgICAgICAgICAgIG5vZGUuY29udGVudHMgPSBudWxsO1xuICAgIH1cbiAgICBlbHNlXG4gICAgICAgIGF3YWl0IHZpc2l0QXN5bmNfKG51bGwsIG5vZGUsIHZpc2l0b3JfLCBPYmplY3QuZnJlZXplKFtdKSk7XG59XG4vLyBXaXRob3V0IHRoZSBgYXMgc3ltYm9sYCBjYXN0cywgVFMgZGVjbGFyZXMgdGhlc2UgaW4gdGhlIGB2aXNpdGBcbi8vIG5hbWVzcGFjZSB1c2luZyBgdmFyYCwgYnV0IHRoZW4gY29tcGxhaW5zIGFib3V0IHRoYXQgYmVjYXVzZVxuLy8gYHVuaXF1ZSBzeW1ib2xgIG11c3QgYmUgYGNvbnN0YC5cbi8qKiBUZXJtaW5hdGUgdmlzaXQgdHJhdmVyc2FsIGNvbXBsZXRlbHkgKi9cbnZpc2l0QXN5bmMuQlJFQUsgPSBCUkVBSztcbi8qKiBEbyBub3QgdmlzaXQgdGhlIGNoaWxkcmVuIG9mIHRoZSBjdXJyZW50IG5vZGUgKi9cbnZpc2l0QXN5bmMuU0tJUCA9IFNLSVA7XG4vKiogUmVtb3ZlIHRoZSBjdXJyZW50IG5vZGUgKi9cbnZpc2l0QXN5bmMuUkVNT1ZFID0gUkVNT1ZFO1xuYXN5bmMgZnVuY3Rpb24gdmlzaXRBc3luY18oa2V5LCBub2RlLCB2aXNpdG9yLCBwYXRoKSB7XG4gICAgY29uc3QgY3RybCA9IGF3YWl0IGNhbGxWaXNpdG9yKGtleSwgbm9kZSwgdmlzaXRvciwgcGF0aCk7XG4gICAgaWYgKGlkZW50aXR5LmlzTm9kZShjdHJsKSB8fCBpZGVudGl0eS5pc1BhaXIoY3RybCkpIHtcbiAgICAgICAgcmVwbGFjZU5vZGUoa2V5LCBwYXRoLCBjdHJsKTtcbiAgICAgICAgcmV0dXJuIHZpc2l0QXN5bmNfKGtleSwgY3RybCwgdmlzaXRvciwgcGF0aCk7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgY3RybCAhPT0gJ3N5bWJvbCcpIHtcbiAgICAgICAgaWYgKGlkZW50aXR5LmlzQ29sbGVjdGlvbihub2RlKSkge1xuICAgICAgICAgICAgcGF0aCA9IE9iamVjdC5mcmVlemUocGF0aC5jb25jYXQobm9kZSkpO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBub2RlLml0ZW1zLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2kgPSBhd2FpdCB2aXNpdEFzeW5jXyhpLCBub2RlLml0ZW1zW2ldLCB2aXNpdG9yLCBwYXRoKTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIGNpID09PSAnbnVtYmVyJylcbiAgICAgICAgICAgICAgICAgICAgaSA9IGNpIC0gMTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjaSA9PT0gQlJFQUspXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBCUkVBSztcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjaSA9PT0gUkVNT1ZFKSB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGUuaXRlbXMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgICAgICAgICAgICBpIC09IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlkZW50aXR5LmlzUGFpcihub2RlKSkge1xuICAgICAgICAgICAgcGF0aCA9IE9iamVjdC5mcmVlemUocGF0aC5jb25jYXQobm9kZSkpO1xuICAgICAgICAgICAgY29uc3QgY2sgPSBhd2FpdCB2aXNpdEFzeW5jXygna2V5Jywgbm9kZS5rZXksIHZpc2l0b3IsIHBhdGgpO1xuICAgICAgICAgICAgaWYgKGNrID09PSBCUkVBSylcbiAgICAgICAgICAgICAgICByZXR1cm4gQlJFQUs7XG4gICAgICAgICAgICBlbHNlIGlmIChjayA9PT0gUkVNT1ZFKVxuICAgICAgICAgICAgICAgIG5vZGUua2V5ID0gbnVsbDtcbiAgICAgICAgICAgIGNvbnN0IGN2ID0gYXdhaXQgdmlzaXRBc3luY18oJ3ZhbHVlJywgbm9kZS52YWx1ZSwgdmlzaXRvciwgcGF0aCk7XG4gICAgICAgICAgICBpZiAoY3YgPT09IEJSRUFLKVxuICAgICAgICAgICAgICAgIHJldHVybiBCUkVBSztcbiAgICAgICAgICAgIGVsc2UgaWYgKGN2ID09PSBSRU1PVkUpXG4gICAgICAgICAgICAgICAgbm9kZS52YWx1ZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGN0cmw7XG59XG5mdW5jdGlvbiBpbml0VmlzaXRvcih2aXNpdG9yKSB7XG4gICAgaWYgKHR5cGVvZiB2aXNpdG9yID09PSAnb2JqZWN0JyAmJlxuICAgICAgICAodmlzaXRvci5Db2xsZWN0aW9uIHx8IHZpc2l0b3IuTm9kZSB8fCB2aXNpdG9yLlZhbHVlKSkge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbih7XG4gICAgICAgICAgICBBbGlhczogdmlzaXRvci5Ob2RlLFxuICAgICAgICAgICAgTWFwOiB2aXNpdG9yLk5vZGUsXG4gICAgICAgICAgICBTY2FsYXI6IHZpc2l0b3IuTm9kZSxcbiAgICAgICAgICAgIFNlcTogdmlzaXRvci5Ob2RlXG4gICAgICAgIH0sIHZpc2l0b3IuVmFsdWUgJiYge1xuICAgICAgICAgICAgTWFwOiB2aXNpdG9yLlZhbHVlLFxuICAgICAgICAgICAgU2NhbGFyOiB2aXNpdG9yLlZhbHVlLFxuICAgICAgICAgICAgU2VxOiB2aXNpdG9yLlZhbHVlXG4gICAgICAgIH0sIHZpc2l0b3IuQ29sbGVjdGlvbiAmJiB7XG4gICAgICAgICAgICBNYXA6IHZpc2l0b3IuQ29sbGVjdGlvbixcbiAgICAgICAgICAgIFNlcTogdmlzaXRvci5Db2xsZWN0aW9uXG4gICAgICAgIH0sIHZpc2l0b3IpO1xuICAgIH1cbiAgICByZXR1cm4gdmlzaXRvcjtcbn1cbmZ1bmN0aW9uIGNhbGxWaXNpdG9yKGtleSwgbm9kZSwgdmlzaXRvciwgcGF0aCkge1xuICAgIGlmICh0eXBlb2YgdmlzaXRvciA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgcmV0dXJuIHZpc2l0b3Ioa2V5LCBub2RlLCBwYXRoKTtcbiAgICBpZiAoaWRlbnRpdHkuaXNNYXAobm9kZSkpXG4gICAgICAgIHJldHVybiB2aXNpdG9yLk1hcD8uKGtleSwgbm9kZSwgcGF0aCk7XG4gICAgaWYgKGlkZW50aXR5LmlzU2VxKG5vZGUpKVxuICAgICAgICByZXR1cm4gdmlzaXRvci5TZXE/LihrZXksIG5vZGUsIHBhdGgpO1xuICAgIGlmIChpZGVudGl0eS5pc1BhaXIobm9kZSkpXG4gICAgICAgIHJldHVybiB2aXNpdG9yLlBhaXI/LihrZXksIG5vZGUsIHBhdGgpO1xuICAgIGlmIChpZGVudGl0eS5pc1NjYWxhcihub2RlKSlcbiAgICAgICAgcmV0dXJuIHZpc2l0b3IuU2NhbGFyPy4oa2V5LCBub2RlLCBwYXRoKTtcbiAgICBpZiAoaWRlbnRpdHkuaXNBbGlhcyhub2RlKSlcbiAgICAgICAgcmV0dXJuIHZpc2l0b3IuQWxpYXM/LihrZXksIG5vZGUsIHBhdGgpO1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG59XG5mdW5jdGlvbiByZXBsYWNlTm9kZShrZXksIHBhdGgsIG5vZGUpIHtcbiAgICBjb25zdCBwYXJlbnQgPSBwYXRoW3BhdGgubGVuZ3RoIC0gMV07XG4gICAgaWYgKGlkZW50aXR5LmlzQ29sbGVjdGlvbihwYXJlbnQpKSB7XG4gICAgICAgIHBhcmVudC5pdGVtc1trZXldID0gbm9kZTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaWRlbnRpdHkuaXNQYWlyKHBhcmVudCkpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2tleScpXG4gICAgICAgICAgICBwYXJlbnQua2V5ID0gbm9kZTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcGFyZW50LnZhbHVlID0gbm9kZTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaWRlbnRpdHkuaXNEb2N1bWVudChwYXJlbnQpKSB7XG4gICAgICAgIHBhcmVudC5jb250ZW50cyA9IG5vZGU7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBwdCA9IGlkZW50aXR5LmlzQWxpYXMocGFyZW50KSA/ICdhbGlhcycgOiAnc2NhbGFyJztcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgcmVwbGFjZSBub2RlIHdpdGggJHtwdH0gcGFyZW50YCk7XG4gICAgfVxufVxuXG5leHBvcnRzLnZpc2l0ID0gdmlzaXQ7XG5leHBvcnRzLnZpc2l0QXN5bmMgPSB2aXNpdEFzeW5jO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIGlkZW50aXR5ID0gcmVxdWlyZSgnLi4vbm9kZXMvaWRlbnRpdHkuanMnKTtcbnZhciB2aXNpdCA9IHJlcXVpcmUoJy4uL3Zpc2l0LmpzJyk7XG5cbmNvbnN0IGVzY2FwZUNoYXJzID0ge1xuICAgICchJzogJyUyMScsXG4gICAgJywnOiAnJTJDJyxcbiAgICAnWyc6ICclNUInLFxuICAgICddJzogJyU1RCcsXG4gICAgJ3snOiAnJTdCJyxcbiAgICAnfSc6ICclN0QnXG59O1xuY29uc3QgZXNjYXBlVGFnTmFtZSA9ICh0bikgPT4gdG4ucmVwbGFjZSgvWyEsW1xcXXt9XS9nLCBjaCA9PiBlc2NhcGVDaGFyc1tjaF0pO1xuY2xhc3MgRGlyZWN0aXZlcyB7XG4gICAgY29uc3RydWN0b3IoeWFtbCwgdGFncykge1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIGRpcmVjdGl2ZXMtZW5kL2RvYy1zdGFydCBtYXJrZXIgYC0tLWAuIElmIGBudWxsYCwgYSBtYXJrZXIgbWF5IHN0aWxsIGJlXG4gICAgICAgICAqIGluY2x1ZGVkIGluIHRoZSBkb2N1bWVudCdzIHN0cmluZ2lmaWVkIHJlcHJlc2VudGF0aW9uLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5kb2NTdGFydCA9IG51bGw7XG4gICAgICAgIC8qKiBUaGUgZG9jLWVuZCBtYXJrZXIgYC4uLmAuICAqL1xuICAgICAgICB0aGlzLmRvY0VuZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLnlhbWwgPSBPYmplY3QuYXNzaWduKHt9LCBEaXJlY3RpdmVzLmRlZmF1bHRZYW1sLCB5YW1sKTtcbiAgICAgICAgdGhpcy50YWdzID0gT2JqZWN0LmFzc2lnbih7fSwgRGlyZWN0aXZlcy5kZWZhdWx0VGFncywgdGFncyk7XG4gICAgfVxuICAgIGNsb25lKCkge1xuICAgICAgICBjb25zdCBjb3B5ID0gbmV3IERpcmVjdGl2ZXModGhpcy55YW1sLCB0aGlzLnRhZ3MpO1xuICAgICAgICBjb3B5LmRvY1N0YXJ0ID0gdGhpcy5kb2NTdGFydDtcbiAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIER1cmluZyBwYXJzaW5nLCBnZXQgYSBEaXJlY3RpdmVzIGluc3RhbmNlIGZvciB0aGUgY3VycmVudCBkb2N1bWVudCBhbmRcbiAgICAgKiB1cGRhdGUgdGhlIHN0cmVhbSBzdGF0ZSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgdmVyc2lvbidzIHNwZWMuXG4gICAgICovXG4gICAgYXREb2N1bWVudCgpIHtcbiAgICAgICAgY29uc3QgcmVzID0gbmV3IERpcmVjdGl2ZXModGhpcy55YW1sLCB0aGlzLnRhZ3MpO1xuICAgICAgICBzd2l0Y2ggKHRoaXMueWFtbC52ZXJzaW9uKSB7XG4gICAgICAgICAgICBjYXNlICcxLjEnOlxuICAgICAgICAgICAgICAgIHRoaXMuYXROZXh0RG9jdW1lbnQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMS4yJzpcbiAgICAgICAgICAgICAgICB0aGlzLmF0TmV4dERvY3VtZW50ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgdGhpcy55YW1sID0ge1xuICAgICAgICAgICAgICAgICAgICBleHBsaWNpdDogRGlyZWN0aXZlcy5kZWZhdWx0WWFtbC5leHBsaWNpdCxcbiAgICAgICAgICAgICAgICAgICAgdmVyc2lvbjogJzEuMidcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIHRoaXMudGFncyA9IE9iamVjdC5hc3NpZ24oe30sIERpcmVjdGl2ZXMuZGVmYXVsdFRhZ3MpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEBwYXJhbSBvbkVycm9yIC0gTWF5IGJlIGNhbGxlZCBldmVuIGlmIHRoZSBhY3Rpb24gd2FzIHN1Y2Nlc3NmdWxcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgb24gc3VjY2Vzc1xuICAgICAqL1xuICAgIGFkZChsaW5lLCBvbkVycm9yKSB7XG4gICAgICAgIGlmICh0aGlzLmF0TmV4dERvY3VtZW50KSB7XG4gICAgICAgICAgICB0aGlzLnlhbWwgPSB7IGV4cGxpY2l0OiBEaXJlY3RpdmVzLmRlZmF1bHRZYW1sLmV4cGxpY2l0LCB2ZXJzaW9uOiAnMS4xJyB9O1xuICAgICAgICAgICAgdGhpcy50YWdzID0gT2JqZWN0LmFzc2lnbih7fSwgRGlyZWN0aXZlcy5kZWZhdWx0VGFncyk7XG4gICAgICAgICAgICB0aGlzLmF0TmV4dERvY3VtZW50ID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFydHMgPSBsaW5lLnRyaW0oKS5zcGxpdCgvWyBcXHRdKy8pO1xuICAgICAgICBjb25zdCBuYW1lID0gcGFydHMuc2hpZnQoKTtcbiAgICAgICAgc3dpdGNoIChuYW1lKSB7XG4gICAgICAgICAgICBjYXNlICclVEFHJzoge1xuICAgICAgICAgICAgICAgIGlmIChwYXJ0cy5sZW5ndGggIT09IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcigwLCAnJVRBRyBkaXJlY3RpdmUgc2hvdWxkIGNvbnRhaW4gZXhhY3RseSB0d28gcGFydHMnKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnRzLmxlbmd0aCA8IDIpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IFtoYW5kbGUsIHByZWZpeF0gPSBwYXJ0cztcbiAgICAgICAgICAgICAgICB0aGlzLnRhZ3NbaGFuZGxlXSA9IHByZWZpeDtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJyVZQU1MJzoge1xuICAgICAgICAgICAgICAgIHRoaXMueWFtbC5leHBsaWNpdCA9IHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKHBhcnRzLmxlbmd0aCAhPT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKDAsICclWUFNTCBkaXJlY3RpdmUgc2hvdWxkIGNvbnRhaW4gZXhhY3RseSBvbmUgcGFydCcpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IFt2ZXJzaW9uXSA9IHBhcnRzO1xuICAgICAgICAgICAgICAgIGlmICh2ZXJzaW9uID09PSAnMS4xJyB8fCB2ZXJzaW9uID09PSAnMS4yJykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnlhbWwudmVyc2lvbiA9IHZlcnNpb247XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXNWYWxpZCA9IC9eXFxkK1xcLlxcZCskLy50ZXN0KHZlcnNpb24pO1xuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKDYsIGBVbnN1cHBvcnRlZCBZQU1MIHZlcnNpb24gJHt2ZXJzaW9ufWAsIGlzVmFsaWQpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBvbkVycm9yKDAsIGBVbmtub3duIGRpcmVjdGl2ZSAke25hbWV9YCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlc29sdmVzIGEgdGFnLCBtYXRjaGluZyBoYW5kbGVzIHRvIHRob3NlIGRlZmluZWQgaW4gJVRBRyBkaXJlY3RpdmVzLlxuICAgICAqXG4gICAgICogQHJldHVybnMgUmVzb2x2ZWQgdGFnLCB3aGljaCBtYXkgYWxzbyBiZSB0aGUgbm9uLXNwZWNpZmljIHRhZyBgJyEnYCBvciBhXG4gICAgICogICBgJyFsb2NhbCdgIHRhZywgb3IgYG51bGxgIGlmIHVucmVzb2x2YWJsZS5cbiAgICAgKi9cbiAgICB0YWdOYW1lKHNvdXJjZSwgb25FcnJvcikge1xuICAgICAgICBpZiAoc291cmNlID09PSAnIScpXG4gICAgICAgICAgICByZXR1cm4gJyEnOyAvLyBub24tc3BlY2lmaWMgdGFnXG4gICAgICAgIGlmIChzb3VyY2VbMF0gIT09ICchJykge1xuICAgICAgICAgICAgb25FcnJvcihgTm90IGEgdmFsaWQgdGFnOiAke3NvdXJjZX1gKTtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzb3VyY2VbMV0gPT09ICc8Jykge1xuICAgICAgICAgICAgY29uc3QgdmVyYmF0aW0gPSBzb3VyY2Uuc2xpY2UoMiwgLTEpO1xuICAgICAgICAgICAgaWYgKHZlcmJhdGltID09PSAnIScgfHwgdmVyYmF0aW0gPT09ICchIScpIHtcbiAgICAgICAgICAgICAgICBvbkVycm9yKGBWZXJiYXRpbSB0YWdzIGFyZW4ndCByZXNvbHZlZCwgc28gJHtzb3VyY2V9IGlzIGludmFsaWQuYCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoc291cmNlW3NvdXJjZS5sZW5ndGggLSAxXSAhPT0gJz4nKVxuICAgICAgICAgICAgICAgIG9uRXJyb3IoJ1ZlcmJhdGltIHRhZ3MgbXVzdCBlbmQgd2l0aCBhID4nKTtcbiAgICAgICAgICAgIHJldHVybiB2ZXJiYXRpbTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBbLCBoYW5kbGUsIHN1ZmZpeF0gPSBzb3VyY2UubWF0Y2goL14oLiohKShbXiFdKikkL3MpO1xuICAgICAgICBpZiAoIXN1ZmZpeClcbiAgICAgICAgICAgIG9uRXJyb3IoYFRoZSAke3NvdXJjZX0gdGFnIGhhcyBubyBzdWZmaXhgKTtcbiAgICAgICAgY29uc3QgcHJlZml4ID0gdGhpcy50YWdzW2hhbmRsZV07XG4gICAgICAgIGlmIChwcmVmaXgpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByZWZpeCArIGRlY29kZVVSSUNvbXBvbmVudChzdWZmaXgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICAgICAgb25FcnJvcihTdHJpbmcoZXJyb3IpKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaGFuZGxlID09PSAnIScpXG4gICAgICAgICAgICByZXR1cm4gc291cmNlOyAvLyBsb2NhbCB0YWdcbiAgICAgICAgb25FcnJvcihgQ291bGQgbm90IHJlc29sdmUgdGFnOiAke3NvdXJjZX1gKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEdpdmVuIGEgZnVsbHkgcmVzb2x2ZWQgdGFnLCByZXR1cm5zIGl0cyBwcmludGFibGUgc3RyaW5nIGZvcm0sXG4gICAgICogdGFraW5nIGludG8gYWNjb3VudCBjdXJyZW50IHRhZyBwcmVmaXhlcyBhbmQgZGVmYXVsdHMuXG4gICAgICovXG4gICAgdGFnU3RyaW5nKHRhZykge1xuICAgICAgICBmb3IgKGNvbnN0IFtoYW5kbGUsIHByZWZpeF0gb2YgT2JqZWN0LmVudHJpZXModGhpcy50YWdzKSkge1xuICAgICAgICAgICAgaWYgKHRhZy5zdGFydHNXaXRoKHByZWZpeCkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGhhbmRsZSArIGVzY2FwZVRhZ05hbWUodGFnLnN1YnN0cmluZyhwcmVmaXgubGVuZ3RoKSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRhZ1swXSA9PT0gJyEnID8gdGFnIDogYCE8JHt0YWd9PmA7XG4gICAgfVxuICAgIHRvU3RyaW5nKGRvYykge1xuICAgICAgICBjb25zdCBsaW5lcyA9IHRoaXMueWFtbC5leHBsaWNpdFxuICAgICAgICAgICAgPyBbYCVZQU1MICR7dGhpcy55YW1sLnZlcnNpb24gfHwgJzEuMid9YF1cbiAgICAgICAgICAgIDogW107XG4gICAgICAgIGNvbnN0IHRhZ0VudHJpZXMgPSBPYmplY3QuZW50cmllcyh0aGlzLnRhZ3MpO1xuICAgICAgICBsZXQgdGFnTmFtZXM7XG4gICAgICAgIGlmIChkb2MgJiYgdGFnRW50cmllcy5sZW5ndGggPiAwICYmIGlkZW50aXR5LmlzTm9kZShkb2MuY29udGVudHMpKSB7XG4gICAgICAgICAgICBjb25zdCB0YWdzID0ge307XG4gICAgICAgICAgICB2aXNpdC52aXNpdChkb2MuY29udGVudHMsIChfa2V5LCBub2RlKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGlkZW50aXR5LmlzTm9kZShub2RlKSAmJiBub2RlLnRhZylcbiAgICAgICAgICAgICAgICAgICAgdGFnc1tub2RlLnRhZ10gPSB0cnVlO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0YWdOYW1lcyA9IE9iamVjdC5rZXlzKHRhZ3MpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRhZ05hbWVzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgW2hhbmRsZSwgcHJlZml4XSBvZiB0YWdFbnRyaWVzKSB7XG4gICAgICAgICAgICBpZiAoaGFuZGxlID09PSAnISEnICYmIHByZWZpeCA9PT0gJ3RhZzp5YW1sLm9yZywyMDAyOicpXG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBpZiAoIWRvYyB8fCB0YWdOYW1lcy5zb21lKHRuID0+IHRuLnN0YXJ0c1dpdGgocHJlZml4KSkpXG4gICAgICAgICAgICAgICAgbGluZXMucHVzaChgJVRBRyAke2hhbmRsZX0gJHtwcmVmaXh9YCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxpbmVzLmpvaW4oJ1xcbicpO1xuICAgIH1cbn1cbkRpcmVjdGl2ZXMuZGVmYXVsdFlhbWwgPSB7IGV4cGxpY2l0OiBmYWxzZSwgdmVyc2lvbjogJzEuMicgfTtcbkRpcmVjdGl2ZXMuZGVmYXVsdFRhZ3MgPSB7ICchISc6ICd0YWc6eWFtbC5vcmcsMjAwMjonIH07XG5cbmV4cG9ydHMuRGlyZWN0aXZlcyA9IERpcmVjdGl2ZXM7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuLi9ub2Rlcy9pZGVudGl0eS5qcycpO1xudmFyIHZpc2l0ID0gcmVxdWlyZSgnLi4vdmlzaXQuanMnKTtcblxuLyoqXG4gKiBWZXJpZnkgdGhhdCB0aGUgaW5wdXQgc3RyaW5nIGlzIGEgdmFsaWQgYW5jaG9yLlxuICpcbiAqIFdpbGwgdGhyb3cgb24gZXJyb3JzLlxuICovXG5mdW5jdGlvbiBhbmNob3JJc1ZhbGlkKGFuY2hvcikge1xuICAgIGlmICgvW1xceDAwLVxceDE5XFxzLFtcXF17fV0vLnRlc3QoYW5jaG9yKSkge1xuICAgICAgICBjb25zdCBzYSA9IEpTT04uc3RyaW5naWZ5KGFuY2hvcik7XG4gICAgICAgIGNvbnN0IG1zZyA9IGBBbmNob3IgbXVzdCBub3QgY29udGFpbiB3aGl0ZXNwYWNlIG9yIGNvbnRyb2wgY2hhcmFjdGVyczogJHtzYX1gO1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IobXNnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBhbmNob3JOYW1lcyhyb290KSB7XG4gICAgY29uc3QgYW5jaG9ycyA9IG5ldyBTZXQoKTtcbiAgICB2aXNpdC52aXNpdChyb290LCB7XG4gICAgICAgIFZhbHVlKF9rZXksIG5vZGUpIHtcbiAgICAgICAgICAgIGlmIChub2RlLmFuY2hvcilcbiAgICAgICAgICAgICAgICBhbmNob3JzLmFkZChub2RlLmFuY2hvcik7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gYW5jaG9ycztcbn1cbi8qKiBGaW5kIGEgbmV3IGFuY2hvciBuYW1lIHdpdGggdGhlIGdpdmVuIGBwcmVmaXhgIGFuZCBhIG9uZS1pbmRleGVkIHN1ZmZpeC4gKi9cbmZ1bmN0aW9uIGZpbmROZXdBbmNob3IocHJlZml4LCBleGNsdWRlKSB7XG4gICAgZm9yIChsZXQgaSA9IDE7IHRydWU7ICsraSkge1xuICAgICAgICBjb25zdCBuYW1lID0gYCR7cHJlZml4fSR7aX1gO1xuICAgICAgICBpZiAoIWV4Y2x1ZGUuaGFzKG5hbWUpKVxuICAgICAgICAgICAgcmV0dXJuIG5hbWU7XG4gICAgfVxufVxuZnVuY3Rpb24gY3JlYXRlTm9kZUFuY2hvcnMoZG9jLCBwcmVmaXgpIHtcbiAgICBjb25zdCBhbGlhc09iamVjdHMgPSBbXTtcbiAgICBjb25zdCBzb3VyY2VPYmplY3RzID0gbmV3IE1hcCgpO1xuICAgIGxldCBwcmV2QW5jaG9ycyA9IG51bGw7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgb25BbmNob3I6IChzb3VyY2UpID0+IHtcbiAgICAgICAgICAgIGFsaWFzT2JqZWN0cy5wdXNoKHNvdXJjZSk7XG4gICAgICAgICAgICBpZiAoIXByZXZBbmNob3JzKVxuICAgICAgICAgICAgICAgIHByZXZBbmNob3JzID0gYW5jaG9yTmFtZXMoZG9jKTtcbiAgICAgICAgICAgIGNvbnN0IGFuY2hvciA9IGZpbmROZXdBbmNob3IocHJlZml4LCBwcmV2QW5jaG9ycyk7XG4gICAgICAgICAgICBwcmV2QW5jaG9ycy5hZGQoYW5jaG9yKTtcbiAgICAgICAgICAgIHJldHVybiBhbmNob3I7XG4gICAgICAgIH0sXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBXaXRoIGNpcmN1bGFyIHJlZmVyZW5jZXMsIHRoZSBzb3VyY2Ugbm9kZSBpcyBvbmx5IHJlc29sdmVkIGFmdGVyIGFsbFxuICAgICAgICAgKiBvZiBpdHMgY2hpbGQgbm9kZXMgYXJlLiBUaGlzIGlzIHdoeSBhbmNob3JzIGFyZSBzZXQgb25seSBhZnRlciBhbGwgb2ZcbiAgICAgICAgICogdGhlIG5vZGVzIGhhdmUgYmVlbiBjcmVhdGVkLlxuICAgICAgICAgKi9cbiAgICAgICAgc2V0QW5jaG9yczogKCkgPT4ge1xuICAgICAgICAgICAgZm9yIChjb25zdCBzb3VyY2Ugb2YgYWxpYXNPYmplY3RzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVmID0gc291cmNlT2JqZWN0cy5nZXQoc291cmNlKTtcbiAgICAgICAgICAgICAgICBpZiAodHlwZW9mIHJlZiA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAgICAgICAgICAgcmVmLmFuY2hvciAmJlxuICAgICAgICAgICAgICAgICAgICAoaWRlbnRpdHkuaXNTY2FsYXIocmVmLm5vZGUpIHx8IGlkZW50aXR5LmlzQ29sbGVjdGlvbihyZWYubm9kZSkpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJlZi5ub2RlLmFuY2hvciA9IHJlZi5hbmNob3I7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBFcnJvcignRmFpbGVkIHRvIHJlc29sdmUgcmVwZWF0ZWQgb2JqZWN0ICh0aGlzIHNob3VsZCBub3QgaGFwcGVuKScpO1xuICAgICAgICAgICAgICAgICAgICBlcnJvci5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgc291cmNlT2JqZWN0c1xuICAgIH07XG59XG5cbmV4cG9ydHMuYW5jaG9ySXNWYWxpZCA9IGFuY2hvcklzVmFsaWQ7XG5leHBvcnRzLmFuY2hvck5hbWVzID0gYW5jaG9yTmFtZXM7XG5leHBvcnRzLmNyZWF0ZU5vZGVBbmNob3JzID0gY3JlYXRlTm9kZUFuY2hvcnM7XG5leHBvcnRzLmZpbmROZXdBbmNob3IgPSBmaW5kTmV3QW5jaG9yO1xuIiwgIid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBBcHBsaWVzIHRoZSBKU09OLnBhcnNlIHJldml2ZXIgYWxnb3JpdGhtIGFzIGRlZmluZWQgaW4gdGhlIEVDTUEtMjYyIHNwZWMsXG4gKiBpbiBzZWN0aW9uIDI0LjUuMS4xIFwiUnVudGltZSBTZW1hbnRpY3M6IEludGVybmFsaXplSlNPTlByb3BlcnR5XCIgb2YgdGhlXG4gKiAyMDIxIGVkaXRpb246IGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNzZWMtanNvbi5wYXJzZVxuICpcbiAqIEluY2x1ZGVzIGV4dGVuc2lvbnMgZm9yIGhhbmRsaW5nIE1hcCBhbmQgU2V0IG9iamVjdHMuXG4gKi9cbmZ1bmN0aW9uIGFwcGx5UmV2aXZlcihyZXZpdmVyLCBvYmosIGtleSwgdmFsKSB7XG4gICAgaWYgKHZhbCAmJiB0eXBlb2YgdmFsID09PSAnb2JqZWN0Jykge1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWwpKSB7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMCwgbGVuID0gdmFsLmxlbmd0aDsgaSA8IGxlbjsgKytpKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdjAgPSB2YWxbaV07XG4gICAgICAgICAgICAgICAgY29uc3QgdjEgPSBhcHBseVJldml2ZXIocmV2aXZlciwgdmFsLCBTdHJpbmcoaSksIHYwKTtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWFycmF5LWRlbGV0ZVxuICAgICAgICAgICAgICAgIGlmICh2MSA9PT0gdW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdmFsW2ldO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHYxICE9PSB2MClcbiAgICAgICAgICAgICAgICAgICAgdmFsW2ldID0gdjE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodmFsIGluc3RhbmNlb2YgTWFwKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IGsgb2YgQXJyYXkuZnJvbSh2YWwua2V5cygpKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IHYwID0gdmFsLmdldChrKTtcbiAgICAgICAgICAgICAgICBjb25zdCB2MSA9IGFwcGx5UmV2aXZlcihyZXZpdmVyLCB2YWwsIGssIHYwKTtcbiAgICAgICAgICAgICAgICBpZiAodjEgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgICAgdmFsLmRlbGV0ZShrKTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh2MSAhPT0gdjApXG4gICAgICAgICAgICAgICAgICAgIHZhbC5zZXQoaywgdjEpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHZhbCBpbnN0YW5jZW9mIFNldCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCB2MCBvZiBBcnJheS5mcm9tKHZhbCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2MSA9IGFwcGx5UmV2aXZlcihyZXZpdmVyLCB2YWwsIHYwLCB2MCk7XG4gICAgICAgICAgICAgICAgaWYgKHYxID09PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgICAgIHZhbC5kZWxldGUodjApO1xuICAgICAgICAgICAgICAgIGVsc2UgaWYgKHYxICE9PSB2MCkge1xuICAgICAgICAgICAgICAgICAgICB2YWwuZGVsZXRlKHYwKTtcbiAgICAgICAgICAgICAgICAgICAgdmFsLmFkZCh2MSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZm9yIChjb25zdCBbaywgdjBdIG9mIE9iamVjdC5lbnRyaWVzKHZhbCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB2MSA9IGFwcGx5UmV2aXZlcihyZXZpdmVyLCB2YWwsIGssIHYwKTtcbiAgICAgICAgICAgICAgICBpZiAodjEgPT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHZhbFtrXTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICh2MSAhPT0gdjApXG4gICAgICAgICAgICAgICAgICAgIHZhbFtrXSA9IHYxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXZpdmVyLmNhbGwob2JqLCBrZXksIHZhbCk7XG59XG5cbmV4cG9ydHMuYXBwbHlSZXZpdmVyID0gYXBwbHlSZXZpdmVyO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIGlkZW50aXR5ID0gcmVxdWlyZSgnLi9pZGVudGl0eS5qcycpO1xuXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IGNvbnZlcnQgYW55IG5vZGUgb3IgaXRzIGNvbnRlbnRzIHRvIG5hdGl2ZSBKYXZhU2NyaXB0XG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIGlucHV0IHZhbHVlXG4gKiBAcGFyYW0gYXJnIC0gSWYgYHZhbHVlYCBkZWZpbmVzIGEgYHRvSlNPTigpYCBtZXRob2QsIHVzZSB0aGlzXG4gKiAgIGFzIGl0cyBmaXJzdCBhcmd1bWVudFxuICogQHBhcmFtIGN0eCAtIENvbnZlcnNpb24gY29udGV4dCwgb3JpZ2luYWxseSBzZXQgaW4gRG9jdW1lbnQjdG9KUygpLiBJZlxuICogICBgeyBrZWVwOiB0cnVlIH1gIGlzIG5vdCBzZXQsIG91dHB1dCBzaG91bGQgYmUgc3VpdGFibGUgZm9yIEpTT05cbiAqICAgc3RyaW5naWZpY2F0aW9uLlxuICovXG5mdW5jdGlvbiB0b0pTKHZhbHVlLCBhcmcsIGN0eCkge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLXJldHVyblxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSlcbiAgICAgICAgcmV0dXJuIHZhbHVlLm1hcCgodiwgaSkgPT4gdG9KUyh2LCBTdHJpbmcoaSksIGN0eCkpO1xuICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUudG9KU09OID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGxcbiAgICAgICAgaWYgKCFjdHggfHwgIWlkZW50aXR5Lmhhc0FuY2hvcih2YWx1ZSkpXG4gICAgICAgICAgICByZXR1cm4gdmFsdWUudG9KU09OKGFyZywgY3R4KTtcbiAgICAgICAgY29uc3QgZGF0YSA9IHsgYWxpYXNDb3VudDogMCwgY291bnQ6IDEsIHJlczogdW5kZWZpbmVkIH07XG4gICAgICAgIGN0eC5hbmNob3JzLnNldCh2YWx1ZSwgZGF0YSk7XG4gICAgICAgIGN0eC5vbkNyZWF0ZSA9IHJlcyA9PiB7XG4gICAgICAgICAgICBkYXRhLnJlcyA9IHJlcztcbiAgICAgICAgICAgIGRlbGV0ZSBjdHgub25DcmVhdGU7XG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IHJlcyA9IHZhbHVlLnRvSlNPTihhcmcsIGN0eCk7XG4gICAgICAgIGlmIChjdHgub25DcmVhdGUpXG4gICAgICAgICAgICBjdHgub25DcmVhdGUocmVzKTtcbiAgICAgICAgcmV0dXJuIHJlcztcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ2JpZ2ludCcgJiYgIWN0eD8ua2VlcClcbiAgICAgICAgcmV0dXJuIE51bWJlcih2YWx1ZSk7XG4gICAgcmV0dXJuIHZhbHVlO1xufVxuXG5leHBvcnRzLnRvSlMgPSB0b0pTO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIGFwcGx5UmV2aXZlciA9IHJlcXVpcmUoJy4uL2RvYy9hcHBseVJldml2ZXIuanMnKTtcbnZhciBpZGVudGl0eSA9IHJlcXVpcmUoJy4vaWRlbnRpdHkuanMnKTtcbnZhciB0b0pTID0gcmVxdWlyZSgnLi90b0pTLmpzJyk7XG5cbmNsYXNzIE5vZGVCYXNlIHtcbiAgICBjb25zdHJ1Y3Rvcih0eXBlKSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBpZGVudGl0eS5OT0RFX1RZUEUsIHsgdmFsdWU6IHR5cGUgfSk7XG4gICAgfVxuICAgIC8qKiBDcmVhdGUgYSBjb3B5IG9mIHRoaXMgbm9kZS4gICovXG4gICAgY2xvbmUoKSB7XG4gICAgICAgIGNvbnN0IGNvcHkgPSBPYmplY3QuY3JlYXRlKE9iamVjdC5nZXRQcm90b3R5cGVPZih0aGlzKSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModGhpcykpO1xuICAgICAgICBpZiAodGhpcy5yYW5nZSlcbiAgICAgICAgICAgIGNvcHkucmFuZ2UgPSB0aGlzLnJhbmdlLnNsaWNlKCk7XG4gICAgICAgIHJldHVybiBjb3B5O1xuICAgIH1cbiAgICAvKiogQSBwbGFpbiBKYXZhU2NyaXB0IHJlcHJlc2VudGF0aW9uIG9mIHRoaXMgbm9kZS4gKi9cbiAgICB0b0pTKGRvYywgeyBtYXBBc01hcCwgbWF4QWxpYXNDb3VudCwgb25BbmNob3IsIHJldml2ZXIgfSA9IHt9KSB7XG4gICAgICAgIGlmICghaWRlbnRpdHkuaXNEb2N1bWVudChkb2MpKVxuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQSBkb2N1bWVudCBhcmd1bWVudCBpcyByZXF1aXJlZCcpO1xuICAgICAgICBjb25zdCBjdHggPSB7XG4gICAgICAgICAgICBhbmNob3JzOiBuZXcgTWFwKCksXG4gICAgICAgICAgICBkb2MsXG4gICAgICAgICAgICBrZWVwOiB0cnVlLFxuICAgICAgICAgICAgbWFwQXNNYXA6IG1hcEFzTWFwID09PSB0cnVlLFxuICAgICAgICAgICAgbWFwS2V5V2FybmVkOiBmYWxzZSxcbiAgICAgICAgICAgIG1heEFsaWFzQ291bnQ6IHR5cGVvZiBtYXhBbGlhc0NvdW50ID09PSAnbnVtYmVyJyA/IG1heEFsaWFzQ291bnQgOiAxMDBcbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgcmVzID0gdG9KUy50b0pTKHRoaXMsICcnLCBjdHgpO1xuICAgICAgICBpZiAodHlwZW9mIG9uQW5jaG9yID09PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgZm9yIChjb25zdCB7IGNvdW50LCByZXMgfSBvZiBjdHguYW5jaG9ycy52YWx1ZXMoKSlcbiAgICAgICAgICAgICAgICBvbkFuY2hvcihyZXMsIGNvdW50KTtcbiAgICAgICAgcmV0dXJuIHR5cGVvZiByZXZpdmVyID09PSAnZnVuY3Rpb24nXG4gICAgICAgICAgICA/IGFwcGx5UmV2aXZlci5hcHBseVJldml2ZXIocmV2aXZlciwgeyAnJzogcmVzIH0sICcnLCByZXMpXG4gICAgICAgICAgICA6IHJlcztcbiAgICB9XG59XG5cbmV4cG9ydHMuTm9kZUJhc2UgPSBOb2RlQmFzZTtcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBhbmNob3JzID0gcmVxdWlyZSgnLi4vZG9jL2FuY2hvcnMuanMnKTtcbnZhciB2aXNpdCA9IHJlcXVpcmUoJy4uL3Zpc2l0LmpzJyk7XG52YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuL2lkZW50aXR5LmpzJyk7XG52YXIgTm9kZSA9IHJlcXVpcmUoJy4vTm9kZS5qcycpO1xudmFyIHRvSlMgPSByZXF1aXJlKCcuL3RvSlMuanMnKTtcblxuY2xhc3MgQWxpYXMgZXh0ZW5kcyBOb2RlLk5vZGVCYXNlIHtcbiAgICBjb25zdHJ1Y3Rvcihzb3VyY2UpIHtcbiAgICAgICAgc3VwZXIoaWRlbnRpdHkuQUxJQVMpO1xuICAgICAgICB0aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICd0YWcnLCB7XG4gICAgICAgICAgICBzZXQoKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdBbGlhcyBub2RlcyBjYW5ub3QgaGF2ZSB0YWdzJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXNvbHZlIHRoZSB2YWx1ZSBvZiB0aGlzIGFsaWFzIHdpdGhpbiBgZG9jYCwgZmluZGluZyB0aGUgbGFzdFxuICAgICAqIGluc3RhbmNlIG9mIHRoZSBgc291cmNlYCBhbmNob3IgYmVmb3JlIHRoaXMgbm9kZS5cbiAgICAgKi9cbiAgICByZXNvbHZlKGRvYykge1xuICAgICAgICBsZXQgZm91bmQgPSB1bmRlZmluZWQ7XG4gICAgICAgIHZpc2l0LnZpc2l0KGRvYywge1xuICAgICAgICAgICAgTm9kZTogKF9rZXksIG5vZGUpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAobm9kZSA9PT0gdGhpcylcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHZpc2l0LnZpc2l0LkJSRUFLO1xuICAgICAgICAgICAgICAgIGlmIChub2RlLmFuY2hvciA9PT0gdGhpcy5zb3VyY2UpXG4gICAgICAgICAgICAgICAgICAgIGZvdW5kID0gbm9kZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBmb3VuZDtcbiAgICB9XG4gICAgdG9KU09OKF9hcmcsIGN0eCkge1xuICAgICAgICBpZiAoIWN0eClcbiAgICAgICAgICAgIHJldHVybiB7IHNvdXJjZTogdGhpcy5zb3VyY2UgfTtcbiAgICAgICAgY29uc3QgeyBhbmNob3JzLCBkb2MsIG1heEFsaWFzQ291bnQgfSA9IGN0eDtcbiAgICAgICAgY29uc3Qgc291cmNlID0gdGhpcy5yZXNvbHZlKGRvYyk7XG4gICAgICAgIGlmICghc291cmNlKSB7XG4gICAgICAgICAgICBjb25zdCBtc2cgPSBgVW5yZXNvbHZlZCBhbGlhcyAodGhlIGFuY2hvciBtdXN0IGJlIHNldCBiZWZvcmUgdGhlIGFsaWFzKTogJHt0aGlzLnNvdXJjZX1gO1xuICAgICAgICAgICAgdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKG1zZyk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGRhdGEgPSBhbmNob3JzLmdldChzb3VyY2UpO1xuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIC8vIFJlc29sdmUgYW5jaG9ycyBmb3IgTm9kZS5wcm90b3R5cGUudG9KUygpXG4gICAgICAgICAgICB0b0pTLnRvSlMoc291cmNlLCBudWxsLCBjdHgpO1xuICAgICAgICAgICAgZGF0YSA9IGFuY2hvcnMuZ2V0KHNvdXJjZSk7XG4gICAgICAgIH1cbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICAgIGlmICghZGF0YSB8fCBkYXRhLnJlcyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBjb25zdCBtc2cgPSAnVGhpcyBzaG91bGQgbm90IGhhcHBlbjogQWxpYXMgYW5jaG9yIHdhcyBub3QgcmVzb2x2ZWQ/JztcbiAgICAgICAgICAgIHRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihtc2cpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChtYXhBbGlhc0NvdW50ID49IDApIHtcbiAgICAgICAgICAgIGRhdGEuY291bnQgKz0gMTtcbiAgICAgICAgICAgIGlmIChkYXRhLmFsaWFzQ291bnQgPT09IDApXG4gICAgICAgICAgICAgICAgZGF0YS5hbGlhc0NvdW50ID0gZ2V0QWxpYXNDb3VudChkb2MsIHNvdXJjZSwgYW5jaG9ycyk7XG4gICAgICAgICAgICBpZiAoZGF0YS5jb3VudCAqIGRhdGEuYWxpYXNDb3VudCA+IG1heEFsaWFzQ291bnQpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtc2cgPSAnRXhjZXNzaXZlIGFsaWFzIGNvdW50IGluZGljYXRlcyBhIHJlc291cmNlIGV4aGF1c3Rpb24gYXR0YWNrJztcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IobXNnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZGF0YS5yZXM7XG4gICAgfVxuICAgIHRvU3RyaW5nKGN0eCwgX29uQ29tbWVudCwgX29uQ2hvbXBLZWVwKSB7XG4gICAgICAgIGNvbnN0IHNyYyA9IGAqJHt0aGlzLnNvdXJjZX1gO1xuICAgICAgICBpZiAoY3R4KSB7XG4gICAgICAgICAgICBhbmNob3JzLmFuY2hvcklzVmFsaWQodGhpcy5zb3VyY2UpO1xuICAgICAgICAgICAgaWYgKGN0eC5vcHRpb25zLnZlcmlmeUFsaWFzT3JkZXIgJiYgIWN0eC5hbmNob3JzLmhhcyh0aGlzLnNvdXJjZSkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtc2cgPSBgVW5yZXNvbHZlZCBhbGlhcyAodGhlIGFuY2hvciBtdXN0IGJlIHNldCBiZWZvcmUgdGhlIGFsaWFzKTogJHt0aGlzLnNvdXJjZX1gO1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtc2cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGN0eC5pbXBsaWNpdEtleSlcbiAgICAgICAgICAgICAgICByZXR1cm4gYCR7c3JjfSBgO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzcmM7XG4gICAgfVxufVxuZnVuY3Rpb24gZ2V0QWxpYXNDb3VudChkb2MsIG5vZGUsIGFuY2hvcnMpIHtcbiAgICBpZiAoaWRlbnRpdHkuaXNBbGlhcyhub2RlKSkge1xuICAgICAgICBjb25zdCBzb3VyY2UgPSBub2RlLnJlc29sdmUoZG9jKTtcbiAgICAgICAgY29uc3QgYW5jaG9yID0gYW5jaG9ycyAmJiBzb3VyY2UgJiYgYW5jaG9ycy5nZXQoc291cmNlKTtcbiAgICAgICAgcmV0dXJuIGFuY2hvciA/IGFuY2hvci5jb3VudCAqIGFuY2hvci5hbGlhc0NvdW50IDogMDtcbiAgICB9XG4gICAgZWxzZSBpZiAoaWRlbnRpdHkuaXNDb2xsZWN0aW9uKG5vZGUpKSB7XG4gICAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBub2RlLml0ZW1zKSB7XG4gICAgICAgICAgICBjb25zdCBjID0gZ2V0QWxpYXNDb3VudChkb2MsIGl0ZW0sIGFuY2hvcnMpO1xuICAgICAgICAgICAgaWYgKGMgPiBjb3VudClcbiAgICAgICAgICAgICAgICBjb3VudCA9IGM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvdW50O1xuICAgIH1cbiAgICBlbHNlIGlmIChpZGVudGl0eS5pc1BhaXIobm9kZSkpIHtcbiAgICAgICAgY29uc3Qga2MgPSBnZXRBbGlhc0NvdW50KGRvYywgbm9kZS5rZXksIGFuY2hvcnMpO1xuICAgICAgICBjb25zdCB2YyA9IGdldEFsaWFzQ291bnQoZG9jLCBub2RlLnZhbHVlLCBhbmNob3JzKTtcbiAgICAgICAgcmV0dXJuIE1hdGgubWF4KGtjLCB2Yyk7XG4gICAgfVxuICAgIHJldHVybiAxO1xufVxuXG5leHBvcnRzLkFsaWFzID0gQWxpYXM7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuL2lkZW50aXR5LmpzJyk7XG52YXIgTm9kZSA9IHJlcXVpcmUoJy4vTm9kZS5qcycpO1xudmFyIHRvSlMgPSByZXF1aXJlKCcuL3RvSlMuanMnKTtcblxuY29uc3QgaXNTY2FsYXJWYWx1ZSA9ICh2YWx1ZSkgPT4gIXZhbHVlIHx8ICh0eXBlb2YgdmFsdWUgIT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIHZhbHVlICE9PSAnb2JqZWN0Jyk7XG5jbGFzcyBTY2FsYXIgZXh0ZW5kcyBOb2RlLk5vZGVCYXNlIHtcbiAgICBjb25zdHJ1Y3Rvcih2YWx1ZSkge1xuICAgICAgICBzdXBlcihpZGVudGl0eS5TQ0FMQVIpO1xuICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG4gICAgfVxuICAgIHRvSlNPTihhcmcsIGN0eCkge1xuICAgICAgICByZXR1cm4gY3R4Py5rZWVwID8gdGhpcy52YWx1ZSA6IHRvSlMudG9KUyh0aGlzLnZhbHVlLCBhcmcsIGN0eCk7XG4gICAgfVxuICAgIHRvU3RyaW5nKCkge1xuICAgICAgICByZXR1cm4gU3RyaW5nKHRoaXMudmFsdWUpO1xuICAgIH1cbn1cblNjYWxhci5CTE9DS19GT0xERUQgPSAnQkxPQ0tfRk9MREVEJztcblNjYWxhci5CTE9DS19MSVRFUkFMID0gJ0JMT0NLX0xJVEVSQUwnO1xuU2NhbGFyLlBMQUlOID0gJ1BMQUlOJztcblNjYWxhci5RVU9URV9ET1VCTEUgPSAnUVVPVEVfRE9VQkxFJztcblNjYWxhci5RVU9URV9TSU5HTEUgPSAnUVVPVEVfU0lOR0xFJztcblxuZXhwb3J0cy5TY2FsYXIgPSBTY2FsYXI7XG5leHBvcnRzLmlzU2NhbGFyVmFsdWUgPSBpc1NjYWxhclZhbHVlO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIEFsaWFzID0gcmVxdWlyZSgnLi4vbm9kZXMvQWxpYXMuanMnKTtcbnZhciBpZGVudGl0eSA9IHJlcXVpcmUoJy4uL25vZGVzL2lkZW50aXR5LmpzJyk7XG52YXIgU2NhbGFyID0gcmVxdWlyZSgnLi4vbm9kZXMvU2NhbGFyLmpzJyk7XG5cbmNvbnN0IGRlZmF1bHRUYWdQcmVmaXggPSAndGFnOnlhbWwub3JnLDIwMDI6JztcbmZ1bmN0aW9uIGZpbmRUYWdPYmplY3QodmFsdWUsIHRhZ05hbWUsIHRhZ3MpIHtcbiAgICBpZiAodGFnTmFtZSkge1xuICAgICAgICBjb25zdCBtYXRjaCA9IHRhZ3MuZmlsdGVyKHQgPT4gdC50YWcgPT09IHRhZ05hbWUpO1xuICAgICAgICBjb25zdCB0YWdPYmogPSBtYXRjaC5maW5kKHQgPT4gIXQuZm9ybWF0KSA/PyBtYXRjaFswXTtcbiAgICAgICAgaWYgKCF0YWdPYmopXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFRhZyAke3RhZ05hbWV9IG5vdCBmb3VuZGApO1xuICAgICAgICByZXR1cm4gdGFnT2JqO1xuICAgIH1cbiAgICByZXR1cm4gdGFncy5maW5kKHQgPT4gdC5pZGVudGlmeT8uKHZhbHVlKSAmJiAhdC5mb3JtYXQpO1xufVxuZnVuY3Rpb24gY3JlYXRlTm9kZSh2YWx1ZSwgdGFnTmFtZSwgY3R4KSB7XG4gICAgaWYgKGlkZW50aXR5LmlzRG9jdW1lbnQodmFsdWUpKVxuICAgICAgICB2YWx1ZSA9IHZhbHVlLmNvbnRlbnRzO1xuICAgIGlmIChpZGVudGl0eS5pc05vZGUodmFsdWUpKVxuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgaWYgKGlkZW50aXR5LmlzUGFpcih2YWx1ZSkpIHtcbiAgICAgICAgY29uc3QgbWFwID0gY3R4LnNjaGVtYVtpZGVudGl0eS5NQVBdLmNyZWF0ZU5vZGU/LihjdHguc2NoZW1hLCBudWxsLCBjdHgpO1xuICAgICAgICBtYXAuaXRlbXMucHVzaCh2YWx1ZSk7XG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgfVxuICAgIGlmICh2YWx1ZSBpbnN0YW5jZW9mIFN0cmluZyB8fFxuICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIE51bWJlciB8fFxuICAgICAgICB2YWx1ZSBpbnN0YW5jZW9mIEJvb2xlYW4gfHxcbiAgICAgICAgKHR5cGVvZiBCaWdJbnQgIT09ICd1bmRlZmluZWQnICYmIHZhbHVlIGluc3RhbmNlb2YgQmlnSW50KSAvLyBub3Qgc3VwcG9ydGVkIGV2ZXJ5d2hlcmVcbiAgICApIHtcbiAgICAgICAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1zZXJpYWxpemVqc29ucHJvcGVydHlcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS52YWx1ZU9mKCk7XG4gICAgfVxuICAgIGNvbnN0IHsgYWxpYXNEdXBsaWNhdGVPYmplY3RzLCBvbkFuY2hvciwgb25UYWdPYmosIHNjaGVtYSwgc291cmNlT2JqZWN0cyB9ID0gY3R4O1xuICAgIC8vIERldGVjdCBkdXBsaWNhdGUgcmVmZXJlbmNlcyB0byB0aGUgc2FtZSBvYmplY3QgJiB1c2UgQWxpYXMgbm9kZXMgZm9yIGFsbFxuICAgIC8vIGFmdGVyIGZpcnN0LiBUaGUgYHJlZmAgd3JhcHBlciBhbGxvd3MgZm9yIGNpcmN1bGFyIHJlZmVyZW5jZXMgdG8gcmVzb2x2ZS5cbiAgICBsZXQgcmVmID0gdW5kZWZpbmVkO1xuICAgIGlmIChhbGlhc0R1cGxpY2F0ZU9iamVjdHMgJiYgdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jykge1xuICAgICAgICByZWYgPSBzb3VyY2VPYmplY3RzLmdldCh2YWx1ZSk7XG4gICAgICAgIGlmIChyZWYpIHtcbiAgICAgICAgICAgIGlmICghcmVmLmFuY2hvcilcbiAgICAgICAgICAgICAgICByZWYuYW5jaG9yID0gb25BbmNob3IodmFsdWUpO1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBBbGlhcy5BbGlhcyhyZWYuYW5jaG9yKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJlZiA9IHsgYW5jaG9yOiBudWxsLCBub2RlOiBudWxsIH07XG4gICAgICAgICAgICBzb3VyY2VPYmplY3RzLnNldCh2YWx1ZSwgcmVmKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAodGFnTmFtZT8uc3RhcnRzV2l0aCgnISEnKSlcbiAgICAgICAgdGFnTmFtZSA9IGRlZmF1bHRUYWdQcmVmaXggKyB0YWdOYW1lLnNsaWNlKDIpO1xuICAgIGxldCB0YWdPYmogPSBmaW5kVGFnT2JqZWN0KHZhbHVlLCB0YWdOYW1lLCBzY2hlbWEudGFncyk7XG4gICAgaWYgKCF0YWdPYmopIHtcbiAgICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZS50b0pTT04gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWNhbGxcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUudG9KU09OKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF2YWx1ZSB8fCB0eXBlb2YgdmFsdWUgIT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICBjb25zdCBub2RlID0gbmV3IFNjYWxhci5TY2FsYXIodmFsdWUpO1xuICAgICAgICAgICAgaWYgKHJlZilcbiAgICAgICAgICAgICAgICByZWYubm9kZSA9IG5vZGU7XG4gICAgICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgICAgfVxuICAgICAgICB0YWdPYmogPVxuICAgICAgICAgICAgdmFsdWUgaW5zdGFuY2VvZiBNYXBcbiAgICAgICAgICAgICAgICA/IHNjaGVtYVtpZGVudGl0eS5NQVBdXG4gICAgICAgICAgICAgICAgOiBTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KHZhbHVlKVxuICAgICAgICAgICAgICAgICAgICA/IHNjaGVtYVtpZGVudGl0eS5TRVFdXG4gICAgICAgICAgICAgICAgICAgIDogc2NoZW1hW2lkZW50aXR5Lk1BUF07XG4gICAgfVxuICAgIGlmIChvblRhZ09iaikge1xuICAgICAgICBvblRhZ09iaih0YWdPYmopO1xuICAgICAgICBkZWxldGUgY3R4Lm9uVGFnT2JqO1xuICAgIH1cbiAgICBjb25zdCBub2RlID0gdGFnT2JqPy5jcmVhdGVOb2RlXG4gICAgICAgID8gdGFnT2JqLmNyZWF0ZU5vZGUoY3R4LnNjaGVtYSwgdmFsdWUsIGN0eClcbiAgICAgICAgOiB0eXBlb2YgdGFnT2JqPy5ub2RlQ2xhc3M/LmZyb20gPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgID8gdGFnT2JqLm5vZGVDbGFzcy5mcm9tKGN0eC5zY2hlbWEsIHZhbHVlLCBjdHgpXG4gICAgICAgICAgICA6IG5ldyBTY2FsYXIuU2NhbGFyKHZhbHVlKTtcbiAgICBpZiAodGFnTmFtZSlcbiAgICAgICAgbm9kZS50YWcgPSB0YWdOYW1lO1xuICAgIGVsc2UgaWYgKCF0YWdPYmouZGVmYXVsdClcbiAgICAgICAgbm9kZS50YWcgPSB0YWdPYmoudGFnO1xuICAgIGlmIChyZWYpXG4gICAgICAgIHJlZi5ub2RlID0gbm9kZTtcbiAgICByZXR1cm4gbm9kZTtcbn1cblxuZXhwb3J0cy5jcmVhdGVOb2RlID0gY3JlYXRlTm9kZTtcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBjcmVhdGVOb2RlID0gcmVxdWlyZSgnLi4vZG9jL2NyZWF0ZU5vZGUuanMnKTtcbnZhciBpZGVudGl0eSA9IHJlcXVpcmUoJy4vaWRlbnRpdHkuanMnKTtcbnZhciBOb2RlID0gcmVxdWlyZSgnLi9Ob2RlLmpzJyk7XG5cbmZ1bmN0aW9uIGNvbGxlY3Rpb25Gcm9tUGF0aChzY2hlbWEsIHBhdGgsIHZhbHVlKSB7XG4gICAgbGV0IHYgPSB2YWx1ZTtcbiAgICBmb3IgKGxldCBpID0gcGF0aC5sZW5ndGggLSAxOyBpID49IDA7IC0taSkge1xuICAgICAgICBjb25zdCBrID0gcGF0aFtpXTtcbiAgICAgICAgaWYgKHR5cGVvZiBrID09PSAnbnVtYmVyJyAmJiBOdW1iZXIuaXNJbnRlZ2VyKGspICYmIGsgPj0gMCkge1xuICAgICAgICAgICAgY29uc3QgYSA9IFtdO1xuICAgICAgICAgICAgYVtrXSA9IHY7XG4gICAgICAgICAgICB2ID0gYTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHYgPSBuZXcgTWFwKFtbaywgdl1dKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY3JlYXRlTm9kZS5jcmVhdGVOb2RlKHYsIHVuZGVmaW5lZCwge1xuICAgICAgICBhbGlhc0R1cGxpY2F0ZU9iamVjdHM6IGZhbHNlLFxuICAgICAgICBrZWVwVW5kZWZpbmVkOiBmYWxzZSxcbiAgICAgICAgb25BbmNob3I6ICgpID0+IHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignVGhpcyBzaG91bGQgbm90IGhhcHBlbiwgcGxlYXNlIHJlcG9ydCBhIGJ1Zy4nKTtcbiAgICAgICAgfSxcbiAgICAgICAgc2NoZW1hLFxuICAgICAgICBzb3VyY2VPYmplY3RzOiBuZXcgTWFwKClcbiAgICB9KTtcbn1cbi8vIFR5cGUgZ3VhcmQgaXMgaW50ZW50aW9uYWxseSBhIGxpdHRsZSB3cm9uZyBzbyBhcyB0byBiZSBtb3JlIHVzZWZ1bCxcbi8vIGFzIGl0IGRvZXMgbm90IGNvdmVyIHVudHlwYWJsZSBlbXB0eSBub24tc3RyaW5nIGl0ZXJhYmxlcyAoZS5nLiBbXSkuXG5jb25zdCBpc0VtcHR5UGF0aCA9IChwYXRoKSA9PiBwYXRoID09IG51bGwgfHxcbiAgICAodHlwZW9mIHBhdGggPT09ICdvYmplY3QnICYmICEhcGF0aFtTeW1ib2wuaXRlcmF0b3JdKCkubmV4dCgpLmRvbmUpO1xuY2xhc3MgQ29sbGVjdGlvbiBleHRlbmRzIE5vZGUuTm9kZUJhc2Uge1xuICAgIGNvbnN0cnVjdG9yKHR5cGUsIHNjaGVtYSkge1xuICAgICAgICBzdXBlcih0eXBlKTtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdzY2hlbWEnLCB7XG4gICAgICAgICAgICB2YWx1ZTogc2NoZW1hLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgY29weSBvZiB0aGlzIGNvbGxlY3Rpb24uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2NoZW1hIC0gSWYgZGVmaW5lZCwgb3ZlcndyaXRlcyB0aGUgb3JpZ2luYWwncyBzY2hlbWFcbiAgICAgKi9cbiAgICBjbG9uZShzY2hlbWEpIHtcbiAgICAgICAgY29uc3QgY29weSA9IE9iamVjdC5jcmVhdGUoT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyh0aGlzKSk7XG4gICAgICAgIGlmIChzY2hlbWEpXG4gICAgICAgICAgICBjb3B5LnNjaGVtYSA9IHNjaGVtYTtcbiAgICAgICAgY29weS5pdGVtcyA9IGNvcHkuaXRlbXMubWFwKGl0ID0+IGlkZW50aXR5LmlzTm9kZShpdCkgfHwgaWRlbnRpdHkuaXNQYWlyKGl0KSA/IGl0LmNsb25lKHNjaGVtYSkgOiBpdCk7XG4gICAgICAgIGlmICh0aGlzLnJhbmdlKVxuICAgICAgICAgICAgY29weS5yYW5nZSA9IHRoaXMucmFuZ2Uuc2xpY2UoKTtcbiAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEFkZHMgYSB2YWx1ZSB0byB0aGUgY29sbGVjdGlvbi4gRm9yIGAhIW1hcGAgYW5kIGAhIW9tYXBgIHRoZSB2YWx1ZSBtdXN0XG4gICAgICogYmUgYSBQYWlyIGluc3RhbmNlIG9yIGEgYHsga2V5LCB2YWx1ZSB9YCBvYmplY3QsIHdoaWNoIG1heSBub3QgaGF2ZSBhIGtleVxuICAgICAqIHRoYXQgYWxyZWFkeSBleGlzdHMgaW4gdGhlIG1hcC5cbiAgICAgKi9cbiAgICBhZGRJbihwYXRoLCB2YWx1ZSkge1xuICAgICAgICBpZiAoaXNFbXB0eVBhdGgocGF0aCkpXG4gICAgICAgICAgICB0aGlzLmFkZCh2YWx1ZSk7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgW2tleSwgLi4ucmVzdF0gPSBwYXRoO1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0KGtleSwgdHJ1ZSk7XG4gICAgICAgICAgICBpZiAoaWRlbnRpdHkuaXNDb2xsZWN0aW9uKG5vZGUpKVxuICAgICAgICAgICAgICAgIG5vZGUuYWRkSW4ocmVzdCwgdmFsdWUpO1xuICAgICAgICAgICAgZWxzZSBpZiAobm9kZSA9PT0gdW5kZWZpbmVkICYmIHRoaXMuc2NoZW1hKVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0KGtleSwgY29sbGVjdGlvbkZyb21QYXRoKHRoaXMuc2NoZW1hLCByZXN0LCB2YWx1ZSkpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgWUFNTCBjb2xsZWN0aW9uIGF0ICR7a2V5fS4gUmVtYWluaW5nIHBhdGg6ICR7cmVzdH1gKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZW1vdmVzIGEgdmFsdWUgZnJvbSB0aGUgY29sbGVjdGlvbi5cbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGl0ZW0gd2FzIGZvdW5kIGFuZCByZW1vdmVkLlxuICAgICAqL1xuICAgIGRlbGV0ZUluKHBhdGgpIHtcbiAgICAgICAgY29uc3QgW2tleSwgLi4ucmVzdF0gPSBwYXRoO1xuICAgICAgICBpZiAocmVzdC5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5kZWxldGUoa2V5KTtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0KGtleSwgdHJ1ZSk7XG4gICAgICAgIGlmIChpZGVudGl0eS5pc0NvbGxlY3Rpb24obm9kZSkpXG4gICAgICAgICAgICByZXR1cm4gbm9kZS5kZWxldGVJbihyZXN0KTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBZQU1MIGNvbGxlY3Rpb24gYXQgJHtrZXl9LiBSZW1haW5pbmcgcGF0aDogJHtyZXN0fWApO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGl0ZW0gYXQgYGtleWAsIG9yIGB1bmRlZmluZWRgIGlmIG5vdCBmb3VuZC4gQnkgZGVmYXVsdCB1bndyYXBzXG4gICAgICogc2NhbGFyIHZhbHVlcyBmcm9tIHRoZWlyIHN1cnJvdW5kaW5nIG5vZGU7IHRvIGRpc2FibGUgc2V0IGBrZWVwU2NhbGFyYCB0b1xuICAgICAqIGB0cnVlYCAoY29sbGVjdGlvbnMgYXJlIGFsd2F5cyByZXR1cm5lZCBpbnRhY3QpLlxuICAgICAqL1xuICAgIGdldEluKHBhdGgsIGtlZXBTY2FsYXIpIHtcbiAgICAgICAgY29uc3QgW2tleSwgLi4ucmVzdF0gPSBwYXRoO1xuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5nZXQoa2V5LCB0cnVlKTtcbiAgICAgICAgaWYgKHJlc3QubGVuZ3RoID09PSAwKVxuICAgICAgICAgICAgcmV0dXJuICFrZWVwU2NhbGFyICYmIGlkZW50aXR5LmlzU2NhbGFyKG5vZGUpID8gbm9kZS52YWx1ZSA6IG5vZGU7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHJldHVybiBpZGVudGl0eS5pc0NvbGxlY3Rpb24obm9kZSkgPyBub2RlLmdldEluKHJlc3QsIGtlZXBTY2FsYXIpIDogdW5kZWZpbmVkO1xuICAgIH1cbiAgICBoYXNBbGxOdWxsVmFsdWVzKGFsbG93U2NhbGFyKSB7XG4gICAgICAgIHJldHVybiB0aGlzLml0ZW1zLmV2ZXJ5KG5vZGUgPT4ge1xuICAgICAgICAgICAgaWYgKCFpZGVudGl0eS5pc1BhaXIobm9kZSkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgbiA9IG5vZGUudmFsdWU7XG4gICAgICAgICAgICByZXR1cm4gKG4gPT0gbnVsbCB8fFxuICAgICAgICAgICAgICAgIChhbGxvd1NjYWxhciAmJlxuICAgICAgICAgICAgICAgICAgICBpZGVudGl0eS5pc1NjYWxhcihuKSAmJlxuICAgICAgICAgICAgICAgICAgICBuLnZhbHVlID09IG51bGwgJiZcbiAgICAgICAgICAgICAgICAgICAgIW4uY29tbWVudEJlZm9yZSAmJlxuICAgICAgICAgICAgICAgICAgICAhbi5jb21tZW50ICYmXG4gICAgICAgICAgICAgICAgICAgICFuLnRhZykpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hlY2tzIGlmIHRoZSBjb2xsZWN0aW9uIGluY2x1ZGVzIGEgdmFsdWUgd2l0aCB0aGUga2V5IGBrZXlgLlxuICAgICAqL1xuICAgIGhhc0luKHBhdGgpIHtcbiAgICAgICAgY29uc3QgW2tleSwgLi4ucmVzdF0gPSBwYXRoO1xuICAgICAgICBpZiAocmVzdC5sZW5ndGggPT09IDApXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5oYXMoa2V5KTtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZ2V0KGtleSwgdHJ1ZSk7XG4gICAgICAgIHJldHVybiBpZGVudGl0eS5pc0NvbGxlY3Rpb24obm9kZSkgPyBub2RlLmhhc0luKHJlc3QpIDogZmFsc2U7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFNldHMgYSB2YWx1ZSBpbiB0aGlzIGNvbGxlY3Rpb24uIEZvciBgISFzZXRgLCBgdmFsdWVgIG5lZWRzIHRvIGJlIGFcbiAgICAgKiBib29sZWFuIHRvIGFkZC9yZW1vdmUgdGhlIGl0ZW0gZnJvbSB0aGUgc2V0LlxuICAgICAqL1xuICAgIHNldEluKHBhdGgsIHZhbHVlKSB7XG4gICAgICAgIGNvbnN0IFtrZXksIC4uLnJlc3RdID0gcGF0aDtcbiAgICAgICAgaWYgKHJlc3QubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLmdldChrZXksIHRydWUpO1xuICAgICAgICAgICAgaWYgKGlkZW50aXR5LmlzQ29sbGVjdGlvbihub2RlKSlcbiAgICAgICAgICAgICAgICBub2RlLnNldEluKHJlc3QsIHZhbHVlKTtcbiAgICAgICAgICAgIGVsc2UgaWYgKG5vZGUgPT09IHVuZGVmaW5lZCAmJiB0aGlzLnNjaGVtYSlcbiAgICAgICAgICAgICAgICB0aGlzLnNldChrZXksIGNvbGxlY3Rpb25Gcm9tUGF0aCh0aGlzLnNjaGVtYSwgcmVzdCwgdmFsdWUpKTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkIFlBTUwgY29sbGVjdGlvbiBhdCAke2tleX0uIFJlbWFpbmluZyBwYXRoOiAke3Jlc3R9YCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydHMuQ29sbGVjdGlvbiA9IENvbGxlY3Rpb247XG5leHBvcnRzLmNvbGxlY3Rpb25Gcm9tUGF0aCA9IGNvbGxlY3Rpb25Gcm9tUGF0aDtcbmV4cG9ydHMuaXNFbXB0eVBhdGggPSBpc0VtcHR5UGF0aDtcbiIsICIndXNlIHN0cmljdCc7XG5cbi8qKlxuICogU3RyaW5naWZpZXMgYSBjb21tZW50LlxuICpcbiAqIEVtcHR5IGNvbW1lbnQgbGluZXMgYXJlIGxlZnQgZW1wdHksXG4gKiBsaW5lcyBjb25zaXN0aW5nIG9mIGEgc2luZ2xlIHNwYWNlIGFyZSByZXBsYWNlZCBieSBgI2AsXG4gKiBhbmQgYWxsIG90aGVyIGxpbmVzIGFyZSBwcmVmaXhlZCB3aXRoIGEgYCNgLlxuICovXG5jb25zdCBzdHJpbmdpZnlDb21tZW50ID0gKHN0cikgPT4gc3RyLnJlcGxhY2UoL14oPyEkKSg/OiAkKT8vZ20sICcjJyk7XG5mdW5jdGlvbiBpbmRlbnRDb21tZW50KGNvbW1lbnQsIGluZGVudCkge1xuICAgIGlmICgvXlxcbiskLy50ZXN0KGNvbW1lbnQpKVxuICAgICAgICByZXR1cm4gY29tbWVudC5zdWJzdHJpbmcoMSk7XG4gICAgcmV0dXJuIGluZGVudCA/IGNvbW1lbnQucmVwbGFjZSgvXig/ISAqJCkvZ20sIGluZGVudCkgOiBjb21tZW50O1xufVxuY29uc3QgbGluZUNvbW1lbnQgPSAoc3RyLCBpbmRlbnQsIGNvbW1lbnQpID0+IHN0ci5lbmRzV2l0aCgnXFxuJylcbiAgICA/IGluZGVudENvbW1lbnQoY29tbWVudCwgaW5kZW50KVxuICAgIDogY29tbWVudC5pbmNsdWRlcygnXFxuJylcbiAgICAgICAgPyAnXFxuJyArIGluZGVudENvbW1lbnQoY29tbWVudCwgaW5kZW50KVxuICAgICAgICA6IChzdHIuZW5kc1dpdGgoJyAnKSA/ICcnIDogJyAnKSArIGNvbW1lbnQ7XG5cbmV4cG9ydHMuaW5kZW50Q29tbWVudCA9IGluZGVudENvbW1lbnQ7XG5leHBvcnRzLmxpbmVDb21tZW50ID0gbGluZUNvbW1lbnQ7XG5leHBvcnRzLnN0cmluZ2lmeUNvbW1lbnQgPSBzdHJpbmdpZnlDb21tZW50O1xuIiwgIid1c2Ugc3RyaWN0JztcblxuY29uc3QgRk9MRF9GTE9XID0gJ2Zsb3cnO1xuY29uc3QgRk9MRF9CTE9DSyA9ICdibG9jayc7XG5jb25zdCBGT0xEX1FVT1RFRCA9ICdxdW90ZWQnO1xuLyoqXG4gKiBUcmllcyB0byBrZWVwIGlucHV0IGF0IHVwIHRvIGBsaW5lV2lkdGhgIGNoYXJhY3RlcnMsIHNwbGl0dGluZyBvbmx5IG9uIHNwYWNlc1xuICogbm90IGZvbGxvd2VkIGJ5IG5ld2xpbmVzIG9yIHNwYWNlcyB1bmxlc3MgYG1vZGVgIGlzIGAncXVvdGVkJ2AuIExpbmVzIGFyZVxuICogdGVybWluYXRlZCB3aXRoIGBcXG5gIGFuZCBzdGFydGVkIHdpdGggYGluZGVudGAuXG4gKi9cbmZ1bmN0aW9uIGZvbGRGbG93TGluZXModGV4dCwgaW5kZW50LCBtb2RlID0gJ2Zsb3cnLCB7IGluZGVudEF0U3RhcnQsIGxpbmVXaWR0aCA9IDgwLCBtaW5Db250ZW50V2lkdGggPSAyMCwgb25Gb2xkLCBvbk92ZXJmbG93IH0gPSB7fSkge1xuICAgIGlmICghbGluZVdpZHRoIHx8IGxpbmVXaWR0aCA8IDApXG4gICAgICAgIHJldHVybiB0ZXh0O1xuICAgIGlmIChsaW5lV2lkdGggPCBtaW5Db250ZW50V2lkdGgpXG4gICAgICAgIG1pbkNvbnRlbnRXaWR0aCA9IDA7XG4gICAgY29uc3QgZW5kU3RlcCA9IE1hdGgubWF4KDEgKyBtaW5Db250ZW50V2lkdGgsIDEgKyBsaW5lV2lkdGggLSBpbmRlbnQubGVuZ3RoKTtcbiAgICBpZiAodGV4dC5sZW5ndGggPD0gZW5kU3RlcClcbiAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgY29uc3QgZm9sZHMgPSBbXTtcbiAgICBjb25zdCBlc2NhcGVkRm9sZHMgPSB7fTtcbiAgICBsZXQgZW5kID0gbGluZVdpZHRoIC0gaW5kZW50Lmxlbmd0aDtcbiAgICBpZiAodHlwZW9mIGluZGVudEF0U3RhcnQgPT09ICdudW1iZXInKSB7XG4gICAgICAgIGlmIChpbmRlbnRBdFN0YXJ0ID4gbGluZVdpZHRoIC0gTWF0aC5tYXgoMiwgbWluQ29udGVudFdpZHRoKSlcbiAgICAgICAgICAgIGZvbGRzLnB1c2goMCk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGVuZCA9IGxpbmVXaWR0aCAtIGluZGVudEF0U3RhcnQ7XG4gICAgfVxuICAgIGxldCBzcGxpdCA9IHVuZGVmaW5lZDtcbiAgICBsZXQgcHJldiA9IHVuZGVmaW5lZDtcbiAgICBsZXQgb3ZlcmZsb3cgPSBmYWxzZTtcbiAgICBsZXQgaSA9IC0xO1xuICAgIGxldCBlc2NTdGFydCA9IC0xO1xuICAgIGxldCBlc2NFbmQgPSAtMTtcbiAgICBpZiAobW9kZSA9PT0gRk9MRF9CTE9DSykge1xuICAgICAgICBpID0gY29uc3VtZU1vcmVJbmRlbnRlZExpbmVzKHRleHQsIGksIGluZGVudC5sZW5ndGgpO1xuICAgICAgICBpZiAoaSAhPT0gLTEpXG4gICAgICAgICAgICBlbmQgPSBpICsgZW5kU3RlcDtcbiAgICB9XG4gICAgZm9yIChsZXQgY2g7IChjaCA9IHRleHRbKGkgKz0gMSldKTspIHtcbiAgICAgICAgaWYgKG1vZGUgPT09IEZPTERfUVVPVEVEICYmIGNoID09PSAnXFxcXCcpIHtcbiAgICAgICAgICAgIGVzY1N0YXJ0ID0gaTtcbiAgICAgICAgICAgIHN3aXRjaCAodGV4dFtpICsgMV0pIHtcbiAgICAgICAgICAgICAgICBjYXNlICd4JzpcbiAgICAgICAgICAgICAgICAgICAgaSArPSAzO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICd1JzpcbiAgICAgICAgICAgICAgICAgICAgaSArPSA1O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdVJzpcbiAgICAgICAgICAgICAgICAgICAgaSArPSA5O1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICBpICs9IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlc2NFbmQgPSBpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaCA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgIGlmIChtb2RlID09PSBGT0xEX0JMT0NLKVxuICAgICAgICAgICAgICAgIGkgPSBjb25zdW1lTW9yZUluZGVudGVkTGluZXModGV4dCwgaSwgaW5kZW50Lmxlbmd0aCk7XG4gICAgICAgICAgICBlbmQgPSBpICsgaW5kZW50Lmxlbmd0aCArIGVuZFN0ZXA7XG4gICAgICAgICAgICBzcGxpdCA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjaCA9PT0gJyAnICYmXG4gICAgICAgICAgICAgICAgcHJldiAmJlxuICAgICAgICAgICAgICAgIHByZXYgIT09ICcgJyAmJlxuICAgICAgICAgICAgICAgIHByZXYgIT09ICdcXG4nICYmXG4gICAgICAgICAgICAgICAgcHJldiAhPT0gJ1xcdCcpIHtcbiAgICAgICAgICAgICAgICAvLyBzcGFjZSBzdXJyb3VuZGVkIGJ5IG5vbi1zcGFjZSBjYW4gYmUgcmVwbGFjZWQgd2l0aCBuZXdsaW5lICsgaW5kZW50XG4gICAgICAgICAgICAgICAgY29uc3QgbmV4dCA9IHRleHRbaSArIDFdO1xuICAgICAgICAgICAgICAgIGlmIChuZXh0ICYmIG5leHQgIT09ICcgJyAmJiBuZXh0ICE9PSAnXFxuJyAmJiBuZXh0ICE9PSAnXFx0JylcbiAgICAgICAgICAgICAgICAgICAgc3BsaXQgPSBpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGkgPj0gZW5kKSB7XG4gICAgICAgICAgICAgICAgaWYgKHNwbGl0KSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbGRzLnB1c2goc3BsaXQpO1xuICAgICAgICAgICAgICAgICAgICBlbmQgPSBzcGxpdCArIGVuZFN0ZXA7XG4gICAgICAgICAgICAgICAgICAgIHNwbGl0ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChtb2RlID09PSBGT0xEX1FVT1RFRCkge1xuICAgICAgICAgICAgICAgICAgICAvLyB3aGl0ZS1zcGFjZSBjb2xsZWN0ZWQgYXQgZW5kIG1heSBzdHJldGNoIHBhc3QgbGluZVdpZHRoXG4gICAgICAgICAgICAgICAgICAgIHdoaWxlIChwcmV2ID09PSAnICcgfHwgcHJldiA9PT0gJ1xcdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXYgPSBjaDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNoID0gdGV4dFsoaSArPSAxKV07XG4gICAgICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdyA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgLy8gQWNjb3VudCBmb3IgbmV3bGluZSBlc2NhcGUsIGJ1dCBkb24ndCBicmVhayBwcmVjZWRpbmcgZXNjYXBlXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGogPSBpID4gZXNjRW5kICsgMSA/IGkgLSAyIDogZXNjU3RhcnQgLSAxO1xuICAgICAgICAgICAgICAgICAgICAvLyBCYWlsIG91dCBpZiBsaW5lV2lkdGggJiBtaW5Db250ZW50V2lkdGggYXJlIHNob3J0ZXIgdGhhbiBhbiBlc2NhcGUgc3RyaW5nXG4gICAgICAgICAgICAgICAgICAgIGlmIChlc2NhcGVkRm9sZHNbal0pXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGV4dDtcbiAgICAgICAgICAgICAgICAgICAgZm9sZHMucHVzaChqKTtcbiAgICAgICAgICAgICAgICAgICAgZXNjYXBlZEZvbGRzW2pdID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgZW5kID0gaiArIGVuZFN0ZXA7XG4gICAgICAgICAgICAgICAgICAgIHNwbGl0ID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3cgPSB0cnVlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwcmV2ID0gY2g7XG4gICAgfVxuICAgIGlmIChvdmVyZmxvdyAmJiBvbk92ZXJmbG93KVxuICAgICAgICBvbk92ZXJmbG93KCk7XG4gICAgaWYgKGZvbGRzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgaWYgKG9uRm9sZClcbiAgICAgICAgb25Gb2xkKCk7XG4gICAgbGV0IHJlcyA9IHRleHQuc2xpY2UoMCwgZm9sZHNbMF0pO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZm9sZHMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgY29uc3QgZm9sZCA9IGZvbGRzW2ldO1xuICAgICAgICBjb25zdCBlbmQgPSBmb2xkc1tpICsgMV0gfHwgdGV4dC5sZW5ndGg7XG4gICAgICAgIGlmIChmb2xkID09PSAwKVxuICAgICAgICAgICAgcmVzID0gYFxcbiR7aW5kZW50fSR7dGV4dC5zbGljZSgwLCBlbmQpfWA7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKG1vZGUgPT09IEZPTERfUVVPVEVEICYmIGVzY2FwZWRGb2xkc1tmb2xkXSlcbiAgICAgICAgICAgICAgICByZXMgKz0gYCR7dGV4dFtmb2xkXX1cXFxcYDtcbiAgICAgICAgICAgIHJlcyArPSBgXFxuJHtpbmRlbnR9JHt0ZXh0LnNsaWNlKGZvbGQgKyAxLCBlbmQpfWA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cbi8qKlxuICogUHJlc3VtZXMgYGkgKyAxYCBpcyBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lXG4gKiBAcmV0dXJucyBpbmRleCBvZiBsYXN0IG5ld2xpbmUgaW4gbW9yZS1pbmRlbnRlZCBibG9ja1xuICovXG5mdW5jdGlvbiBjb25zdW1lTW9yZUluZGVudGVkTGluZXModGV4dCwgaSwgaW5kZW50KSB7XG4gICAgbGV0IGVuZCA9IGk7XG4gICAgbGV0IHN0YXJ0ID0gaSArIDE7XG4gICAgbGV0IGNoID0gdGV4dFtzdGFydF07XG4gICAgd2hpbGUgKGNoID09PSAnICcgfHwgY2ggPT09ICdcXHQnKSB7XG4gICAgICAgIGlmIChpIDwgc3RhcnQgKyBpbmRlbnQpIHtcbiAgICAgICAgICAgIGNoID0gdGV4dFsrK2ldO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICAgIGNoID0gdGV4dFsrK2ldO1xuICAgICAgICAgICAgfSB3aGlsZSAoY2ggJiYgY2ggIT09ICdcXG4nKTtcbiAgICAgICAgICAgIGVuZCA9IGk7XG4gICAgICAgICAgICBzdGFydCA9IGkgKyAxO1xuICAgICAgICAgICAgY2ggPSB0ZXh0W3N0YXJ0XTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZW5kO1xufVxuXG5leHBvcnRzLkZPTERfQkxPQ0sgPSBGT0xEX0JMT0NLO1xuZXhwb3J0cy5GT0xEX0ZMT1cgPSBGT0xEX0ZMT1c7XG5leHBvcnRzLkZPTERfUVVPVEVEID0gRk9MRF9RVU9URUQ7XG5leHBvcnRzLmZvbGRGbG93TGluZXMgPSBmb2xkRmxvd0xpbmVzO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIFNjYWxhciA9IHJlcXVpcmUoJy4uL25vZGVzL1NjYWxhci5qcycpO1xudmFyIGZvbGRGbG93TGluZXMgPSByZXF1aXJlKCcuL2ZvbGRGbG93TGluZXMuanMnKTtcblxuY29uc3QgZ2V0Rm9sZE9wdGlvbnMgPSAoY3R4LCBpc0Jsb2NrKSA9PiAoe1xuICAgIGluZGVudEF0U3RhcnQ6IGlzQmxvY2sgPyBjdHguaW5kZW50Lmxlbmd0aCA6IGN0eC5pbmRlbnRBdFN0YXJ0LFxuICAgIGxpbmVXaWR0aDogY3R4Lm9wdGlvbnMubGluZVdpZHRoLFxuICAgIG1pbkNvbnRlbnRXaWR0aDogY3R4Lm9wdGlvbnMubWluQ29udGVudFdpZHRoXG59KTtcbi8vIEFsc28gY2hlY2tzIGZvciBsaW5lcyBzdGFydGluZyB3aXRoICUsIGFzIHBhcnNpbmcgdGhlIG91dHB1dCBhcyBZQU1MIDEuMSB3aWxsXG4vLyBwcmVzdW1lIHRoYXQncyBzdGFydGluZyBhIG5ldyBkb2N1bWVudC5cbmNvbnN0IGNvbnRhaW5zRG9jdW1lbnRNYXJrZXIgPSAoc3RyKSA9PiAvXiglfC0tLXxcXC5cXC5cXC4pL20udGVzdChzdHIpO1xuZnVuY3Rpb24gbGluZUxlbmd0aE92ZXJMaW1pdChzdHIsIGxpbmVXaWR0aCwgaW5kZW50TGVuZ3RoKSB7XG4gICAgaWYgKCFsaW5lV2lkdGggfHwgbGluZVdpZHRoIDwgMClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IGxpbWl0ID0gbGluZVdpZHRoIC0gaW5kZW50TGVuZ3RoO1xuICAgIGNvbnN0IHN0ckxlbiA9IHN0ci5sZW5ndGg7XG4gICAgaWYgKHN0ckxlbiA8PSBsaW1pdClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGZvciAobGV0IGkgPSAwLCBzdGFydCA9IDA7IGkgPCBzdHJMZW47ICsraSkge1xuICAgICAgICBpZiAoc3RyW2ldID09PSAnXFxuJykge1xuICAgICAgICAgICAgaWYgKGkgLSBzdGFydCA+IGxpbWl0KVxuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgc3RhcnQgPSBpICsgMTtcbiAgICAgICAgICAgIGlmIChzdHJMZW4gLSBzdGFydCA8PSBsaW1pdClcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBkb3VibGVRdW90ZWRTdHJpbmcodmFsdWUsIGN0eCkge1xuICAgIGNvbnN0IGpzb24gPSBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gICAgaWYgKGN0eC5vcHRpb25zLmRvdWJsZVF1b3RlZEFzSlNPTilcbiAgICAgICAgcmV0dXJuIGpzb247XG4gICAgY29uc3QgeyBpbXBsaWNpdEtleSB9ID0gY3R4O1xuICAgIGNvbnN0IG1pbk11bHRpTGluZUxlbmd0aCA9IGN0eC5vcHRpb25zLmRvdWJsZVF1b3RlZE1pbk11bHRpTGluZUxlbmd0aDtcbiAgICBjb25zdCBpbmRlbnQgPSBjdHguaW5kZW50IHx8IChjb250YWluc0RvY3VtZW50TWFya2VyKHZhbHVlKSA/ICcgICcgOiAnJyk7XG4gICAgbGV0IHN0ciA9ICcnO1xuICAgIGxldCBzdGFydCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDAsIGNoID0ganNvbltpXTsgY2g7IGNoID0ganNvblsrK2ldKSB7XG4gICAgICAgIGlmIChjaCA9PT0gJyAnICYmIGpzb25baSArIDFdID09PSAnXFxcXCcgJiYganNvbltpICsgMl0gPT09ICduJykge1xuICAgICAgICAgICAgLy8gc3BhY2UgYmVmb3JlIG5ld2xpbmUgbmVlZHMgdG8gYmUgZXNjYXBlZCB0byBub3QgYmUgZm9sZGVkXG4gICAgICAgICAgICBzdHIgKz0ganNvbi5zbGljZShzdGFydCwgaSkgKyAnXFxcXCAnO1xuICAgICAgICAgICAgaSArPSAxO1xuICAgICAgICAgICAgc3RhcnQgPSBpO1xuICAgICAgICAgICAgY2ggPSAnXFxcXCc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNoID09PSAnXFxcXCcpXG4gICAgICAgICAgICBzd2l0Y2ggKGpzb25baSArIDFdKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAndSc6XG4gICAgICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSBqc29uLnNsaWNlKHN0YXJ0LCBpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvZGUgPSBqc29uLnN1YnN0cihpICsgMiwgNCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKGNvZGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICcwMDAwJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyICs9ICdcXFxcMCc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJzAwMDcnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcXFxhJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnMDAwYic6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSAnXFxcXHYnO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICcwMDFiJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyICs9ICdcXFxcZSc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJzAwODUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcXFxOJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnMDBhMCc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSAnXFxcXF8nO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICcyMDI4JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyICs9ICdcXFxcTCc7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJzIwMjknOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcXFxQJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGNvZGUuc3Vic3RyKDAsIDIpID09PSAnMDAnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyICs9ICdcXFxceCcgKyBjb2RlLnN1YnN0cigyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyICs9IGpzb24uc3Vic3RyKGksIDYpO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgaSArPSA1O1xuICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnQgPSBpICsgMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICduJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKGltcGxpY2l0S2V5IHx8XG4gICAgICAgICAgICAgICAgICAgICAgICBqc29uW2kgKyAyXSA9PT0gJ1wiJyB8fFxuICAgICAgICAgICAgICAgICAgICAgICAganNvbi5sZW5ndGggPCBtaW5NdWx0aUxpbmVMZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGkgKz0gMTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGZvbGRpbmcgd2lsbCBlYXQgZmlyc3QgbmV3bGluZVxuICAgICAgICAgICAgICAgICAgICAgICAgc3RyICs9IGpzb24uc2xpY2Uoc3RhcnQsIGkpICsgJ1xcblxcbic7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAoanNvbltpICsgMl0gPT09ICdcXFxcJyAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzb25baSArIDNdID09PSAnbicgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc29uW2kgKyA0XSAhPT0gJ1wiJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSAnXFxuJztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpICs9IDI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gaW5kZW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gc3BhY2UgYWZ0ZXIgbmV3bGluZSBuZWVkcyB0byBiZSBlc2NhcGVkIHRvIG5vdCBiZSBmb2xkZWRcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChqc29uW2kgKyAyXSA9PT0gJyAnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSAnXFxcXCc7XG4gICAgICAgICAgICAgICAgICAgICAgICBpICs9IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBzdGFydCA9IGkgKyAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGkgKz0gMTtcbiAgICAgICAgICAgIH1cbiAgICB9XG4gICAgc3RyID0gc3RhcnQgPyBzdHIgKyBqc29uLnNsaWNlKHN0YXJ0KSA6IGpzb247XG4gICAgcmV0dXJuIGltcGxpY2l0S2V5XG4gICAgICAgID8gc3RyXG4gICAgICAgIDogZm9sZEZsb3dMaW5lcy5mb2xkRmxvd0xpbmVzKHN0ciwgaW5kZW50LCBmb2xkRmxvd0xpbmVzLkZPTERfUVVPVEVELCBnZXRGb2xkT3B0aW9ucyhjdHgsIGZhbHNlKSk7XG59XG5mdW5jdGlvbiBzaW5nbGVRdW90ZWRTdHJpbmcodmFsdWUsIGN0eCkge1xuICAgIGlmIChjdHgub3B0aW9ucy5zaW5nbGVRdW90ZSA9PT0gZmFsc2UgfHxcbiAgICAgICAgKGN0eC5pbXBsaWNpdEtleSAmJiB2YWx1ZS5pbmNsdWRlcygnXFxuJykpIHx8XG4gICAgICAgIC9bIFxcdF1cXG58XFxuWyBcXHRdLy50ZXN0KHZhbHVlKSAvLyBzaW5nbGUgcXVvdGVkIHN0cmluZyBjYW4ndCBoYXZlIGxlYWRpbmcgb3IgdHJhaWxpbmcgd2hpdGVzcGFjZSBhcm91bmQgbmV3bGluZVxuICAgIClcbiAgICAgICAgcmV0dXJuIGRvdWJsZVF1b3RlZFN0cmluZyh2YWx1ZSwgY3R4KTtcbiAgICBjb25zdCBpbmRlbnQgPSBjdHguaW5kZW50IHx8IChjb250YWluc0RvY3VtZW50TWFya2VyKHZhbHVlKSA/ICcgICcgOiAnJyk7XG4gICAgY29uc3QgcmVzID0gXCInXCIgKyB2YWx1ZS5yZXBsYWNlKC8nL2csIFwiJydcIikucmVwbGFjZSgvXFxuKy9nLCBgJCZcXG4ke2luZGVudH1gKSArIFwiJ1wiO1xuICAgIHJldHVybiBjdHguaW1wbGljaXRLZXlcbiAgICAgICAgPyByZXNcbiAgICAgICAgOiBmb2xkRmxvd0xpbmVzLmZvbGRGbG93TGluZXMocmVzLCBpbmRlbnQsIGZvbGRGbG93TGluZXMuRk9MRF9GTE9XLCBnZXRGb2xkT3B0aW9ucyhjdHgsIGZhbHNlKSk7XG59XG5mdW5jdGlvbiBxdW90ZWRTdHJpbmcodmFsdWUsIGN0eCkge1xuICAgIGNvbnN0IHsgc2luZ2xlUXVvdGUgfSA9IGN0eC5vcHRpb25zO1xuICAgIGxldCBxcztcbiAgICBpZiAoc2luZ2xlUXVvdGUgPT09IGZhbHNlKVxuICAgICAgICBxcyA9IGRvdWJsZVF1b3RlZFN0cmluZztcbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QgaGFzRG91YmxlID0gdmFsdWUuaW5jbHVkZXMoJ1wiJyk7XG4gICAgICAgIGNvbnN0IGhhc1NpbmdsZSA9IHZhbHVlLmluY2x1ZGVzKFwiJ1wiKTtcbiAgICAgICAgaWYgKGhhc0RvdWJsZSAmJiAhaGFzU2luZ2xlKVxuICAgICAgICAgICAgcXMgPSBzaW5nbGVRdW90ZWRTdHJpbmc7XG4gICAgICAgIGVsc2UgaWYgKGhhc1NpbmdsZSAmJiAhaGFzRG91YmxlKVxuICAgICAgICAgICAgcXMgPSBkb3VibGVRdW90ZWRTdHJpbmc7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHFzID0gc2luZ2xlUXVvdGUgPyBzaW5nbGVRdW90ZWRTdHJpbmcgOiBkb3VibGVRdW90ZWRTdHJpbmc7XG4gICAgfVxuICAgIHJldHVybiBxcyh2YWx1ZSwgY3R4KTtcbn1cbi8vIFRoZSBuZWdhdGl2ZSBsb29rYmVoaW5kIGF2b2lkcyBhIHBvbHlub21pYWwgc2VhcmNoLFxuLy8gYnV0IGlzbid0IHN1cHBvcnRlZCB5ZXQgb24gU2FmYXJpOiBodHRwczovL2Nhbml1c2UuY29tL2pzLXJlZ2V4cC1sb29rYmVoaW5kXG5sZXQgYmxvY2tFbmROZXdsaW5lcztcbnRyeSB7XG4gICAgYmxvY2tFbmROZXdsaW5lcyA9IG5ldyBSZWdFeHAoJyhefCg/PCFcXG4pKVxcbisoPyFcXG58JCknLCAnZycpO1xufVxuY2F0Y2gge1xuICAgIGJsb2NrRW5kTmV3bGluZXMgPSAvXFxuKyg/IVxcbnwkKS9nO1xufVxuZnVuY3Rpb24gYmxvY2tTdHJpbmcoeyBjb21tZW50LCB0eXBlLCB2YWx1ZSB9LCBjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApIHtcbiAgICBjb25zdCB7IGJsb2NrUXVvdGUsIGNvbW1lbnRTdHJpbmcsIGxpbmVXaWR0aCB9ID0gY3R4Lm9wdGlvbnM7XG4gICAgLy8gMS4gQmxvY2sgY2FuJ3QgZW5kIGluIHdoaXRlc3BhY2UgdW5sZXNzIHRoZSBsYXN0IGxpbmUgaXMgbm9uLWVtcHR5LlxuICAgIC8vIDIuIFN0cmluZ3MgY29uc2lzdGluZyBvZiBvbmx5IHdoaXRlc3BhY2UgYXJlIGJlc3QgcmVuZGVyZWQgZXhwbGljaXRseS5cbiAgICBpZiAoIWJsb2NrUXVvdGUgfHwgL1xcbltcXHQgXSskLy50ZXN0KHZhbHVlKSB8fCAvXlxccyokLy50ZXN0KHZhbHVlKSkge1xuICAgICAgICByZXR1cm4gcXVvdGVkU3RyaW5nKHZhbHVlLCBjdHgpO1xuICAgIH1cbiAgICBjb25zdCBpbmRlbnQgPSBjdHguaW5kZW50IHx8XG4gICAgICAgIChjdHguZm9yY2VCbG9ja0luZGVudCB8fCBjb250YWluc0RvY3VtZW50TWFya2VyKHZhbHVlKSA/ICcgICcgOiAnJyk7XG4gICAgY29uc3QgbGl0ZXJhbCA9IGJsb2NrUXVvdGUgPT09ICdsaXRlcmFsJ1xuICAgICAgICA/IHRydWVcbiAgICAgICAgOiBibG9ja1F1b3RlID09PSAnZm9sZGVkJyB8fCB0eXBlID09PSBTY2FsYXIuU2NhbGFyLkJMT0NLX0ZPTERFRFxuICAgICAgICAgICAgPyBmYWxzZVxuICAgICAgICAgICAgOiB0eXBlID09PSBTY2FsYXIuU2NhbGFyLkJMT0NLX0xJVEVSQUxcbiAgICAgICAgICAgICAgICA/IHRydWVcbiAgICAgICAgICAgICAgICA6ICFsaW5lTGVuZ3RoT3ZlckxpbWl0KHZhbHVlLCBsaW5lV2lkdGgsIGluZGVudC5sZW5ndGgpO1xuICAgIGlmICghdmFsdWUpXG4gICAgICAgIHJldHVybiBsaXRlcmFsID8gJ3xcXG4nIDogJz5cXG4nO1xuICAgIC8vIGRldGVybWluZSBjaG9tcGluZyBmcm9tIHdoaXRlc3BhY2UgYXQgdmFsdWUgZW5kXG4gICAgbGV0IGNob21wO1xuICAgIGxldCBlbmRTdGFydDtcbiAgICBmb3IgKGVuZFN0YXJ0ID0gdmFsdWUubGVuZ3RoOyBlbmRTdGFydCA+IDA7IC0tZW5kU3RhcnQpIHtcbiAgICAgICAgY29uc3QgY2ggPSB2YWx1ZVtlbmRTdGFydCAtIDFdO1xuICAgICAgICBpZiAoY2ggIT09ICdcXG4nICYmIGNoICE9PSAnXFx0JyAmJiBjaCAhPT0gJyAnKVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGxldCBlbmQgPSB2YWx1ZS5zdWJzdHJpbmcoZW5kU3RhcnQpO1xuICAgIGNvbnN0IGVuZE5sUG9zID0gZW5kLmluZGV4T2YoJ1xcbicpO1xuICAgIGlmIChlbmRObFBvcyA9PT0gLTEpIHtcbiAgICAgICAgY2hvbXAgPSAnLSc7IC8vIHN0cmlwXG4gICAgfVxuICAgIGVsc2UgaWYgKHZhbHVlID09PSBlbmQgfHwgZW5kTmxQb3MgIT09IGVuZC5sZW5ndGggLSAxKSB7XG4gICAgICAgIGNob21wID0gJysnOyAvLyBrZWVwXG4gICAgICAgIGlmIChvbkNob21wS2VlcClcbiAgICAgICAgICAgIG9uQ2hvbXBLZWVwKCk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjaG9tcCA9ICcnOyAvLyBjbGlwXG4gICAgfVxuICAgIGlmIChlbmQpIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5zbGljZSgwLCAtZW5kLmxlbmd0aCk7XG4gICAgICAgIGlmIChlbmRbZW5kLmxlbmd0aCAtIDFdID09PSAnXFxuJylcbiAgICAgICAgICAgIGVuZCA9IGVuZC5zbGljZSgwLCAtMSk7XG4gICAgICAgIGVuZCA9IGVuZC5yZXBsYWNlKGJsb2NrRW5kTmV3bGluZXMsIGAkJiR7aW5kZW50fWApO1xuICAgIH1cbiAgICAvLyBkZXRlcm1pbmUgaW5kZW50IGluZGljYXRvciBmcm9tIHdoaXRlc3BhY2UgYXQgdmFsdWUgc3RhcnRcbiAgICBsZXQgc3RhcnRXaXRoU3BhY2UgPSBmYWxzZTtcbiAgICBsZXQgc3RhcnRFbmQ7XG4gICAgbGV0IHN0YXJ0TmxQb3MgPSAtMTtcbiAgICBmb3IgKHN0YXJ0RW5kID0gMDsgc3RhcnRFbmQgPCB2YWx1ZS5sZW5ndGg7ICsrc3RhcnRFbmQpIHtcbiAgICAgICAgY29uc3QgY2ggPSB2YWx1ZVtzdGFydEVuZF07XG4gICAgICAgIGlmIChjaCA9PT0gJyAnKVxuICAgICAgICAgICAgc3RhcnRXaXRoU3BhY2UgPSB0cnVlO1xuICAgICAgICBlbHNlIGlmIChjaCA9PT0gJ1xcbicpXG4gICAgICAgICAgICBzdGFydE5sUG9zID0gc3RhcnRFbmQ7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBsZXQgc3RhcnQgPSB2YWx1ZS5zdWJzdHJpbmcoMCwgc3RhcnRObFBvcyA8IHN0YXJ0RW5kID8gc3RhcnRObFBvcyArIDEgOiBzdGFydEVuZCk7XG4gICAgaWYgKHN0YXJ0KSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUuc3Vic3RyaW5nKHN0YXJ0Lmxlbmd0aCk7XG4gICAgICAgIHN0YXJ0ID0gc3RhcnQucmVwbGFjZSgvXFxuKy9nLCBgJCYke2luZGVudH1gKTtcbiAgICB9XG4gICAgY29uc3QgaW5kZW50U2l6ZSA9IGluZGVudCA/ICcyJyA6ICcxJzsgLy8gcm9vdCBpcyBhdCAtMVxuICAgIC8vIExlYWRpbmcgfCBvciA+IGlzIGFkZGVkIGxhdGVyXG4gICAgbGV0IGhlYWRlciA9IChzdGFydFdpdGhTcGFjZSA/IGluZGVudFNpemUgOiAnJykgKyBjaG9tcDtcbiAgICBpZiAoY29tbWVudCkge1xuICAgICAgICBoZWFkZXIgKz0gJyAnICsgY29tbWVudFN0cmluZyhjb21tZW50LnJlcGxhY2UoLyA/W1xcclxcbl0rL2csICcgJykpO1xuICAgICAgICBpZiAob25Db21tZW50KVxuICAgICAgICAgICAgb25Db21tZW50KCk7XG4gICAgfVxuICAgIGlmICghbGl0ZXJhbCkge1xuICAgICAgICBjb25zdCBmb2xkZWRWYWx1ZSA9IHZhbHVlXG4gICAgICAgICAgICAucmVwbGFjZSgvXFxuKy9nLCAnXFxuJCYnKVxuICAgICAgICAgICAgLnJlcGxhY2UoLyg/Ol58XFxuKShbXFx0IF0uKikoPzooW1xcblxcdCBdKilcXG4oPyFbXFxuXFx0IF0pKT8vZywgJyQxJDInKSAvLyBtb3JlLWluZGVudGVkIGxpbmVzIGFyZW4ndCBmb2xkZWRcbiAgICAgICAgICAgIC8vICAgICAgICAgICAgICAgIF4gbW9yZS1pbmQuIF4gZW1wdHkgICAgIF4gY2FwdHVyZSBuZXh0IGVtcHR5IGxpbmVzIG9ubHkgYXQgZW5kIG9mIGluZGVudFxuICAgICAgICAgICAgLnJlcGxhY2UoL1xcbisvZywgYCQmJHtpbmRlbnR9YCk7XG4gICAgICAgIGxldCBsaXRlcmFsRmFsbGJhY2sgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgZm9sZE9wdGlvbnMgPSBnZXRGb2xkT3B0aW9ucyhjdHgsIHRydWUpO1xuICAgICAgICBpZiAoYmxvY2tRdW90ZSAhPT0gJ2ZvbGRlZCcgJiYgdHlwZSAhPT0gU2NhbGFyLlNjYWxhci5CTE9DS19GT0xERUQpIHtcbiAgICAgICAgICAgIGZvbGRPcHRpb25zLm9uT3ZlcmZsb3cgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgbGl0ZXJhbEZhbGxiYWNrID0gdHJ1ZTtcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYm9keSA9IGZvbGRGbG93TGluZXMuZm9sZEZsb3dMaW5lcyhgJHtzdGFydH0ke2ZvbGRlZFZhbHVlfSR7ZW5kfWAsIGluZGVudCwgZm9sZEZsb3dMaW5lcy5GT0xEX0JMT0NLLCBmb2xkT3B0aW9ucyk7XG4gICAgICAgIGlmICghbGl0ZXJhbEZhbGxiYWNrKVxuICAgICAgICAgICAgcmV0dXJuIGA+JHtoZWFkZXJ9XFxuJHtpbmRlbnR9JHtib2R5fWA7XG4gICAgfVxuICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvXFxuKy9nLCBgJCYke2luZGVudH1gKTtcbiAgICByZXR1cm4gYHwke2hlYWRlcn1cXG4ke2luZGVudH0ke3N0YXJ0fSR7dmFsdWV9JHtlbmR9YDtcbn1cbmZ1bmN0aW9uIHBsYWluU3RyaW5nKGl0ZW0sIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCkge1xuICAgIGNvbnN0IHsgdHlwZSwgdmFsdWUgfSA9IGl0ZW07XG4gICAgY29uc3QgeyBhY3R1YWxTdHJpbmcsIGltcGxpY2l0S2V5LCBpbmRlbnQsIGluZGVudFN0ZXAsIGluRmxvdyB9ID0gY3R4O1xuICAgIGlmICgoaW1wbGljaXRLZXkgJiYgdmFsdWUuaW5jbHVkZXMoJ1xcbicpKSB8fFxuICAgICAgICAoaW5GbG93ICYmIC9bW1xcXXt9LF0vLnRlc3QodmFsdWUpKSkge1xuICAgICAgICByZXR1cm4gcXVvdGVkU3RyaW5nKHZhbHVlLCBjdHgpO1xuICAgIH1cbiAgICBpZiAoIXZhbHVlIHx8XG4gICAgICAgIC9eW1xcblxcdCAsW1xcXXt9IyYqIXw+J1wiJUBgXXxeWz8tXSR8Xls/LV1bIFxcdF18W1xcbjpdWyBcXHRdfFsgXFx0XVxcbnxbXFxuXFx0IF0jfFtcXG5cXHQgOl0kLy50ZXN0KHZhbHVlKSkge1xuICAgICAgICAvLyBub3QgYWxsb3dlZDpcbiAgICAgICAgLy8gLSBlbXB0eSBzdHJpbmcsICctJyBvciAnPydcbiAgICAgICAgLy8gLSBzdGFydCB3aXRoIGFuIGluZGljYXRvciBjaGFyYWN0ZXIgKGV4Y2VwdCBbPzotXSkgb3IgL1s/LV0gL1xuICAgICAgICAvLyAtICdcXG4gJywgJzogJyBvciAnIFxcbicgYW55d2hlcmVcbiAgICAgICAgLy8gLSAnIycgbm90IHByZWNlZGVkIGJ5IGEgbm9uLXNwYWNlIGNoYXJcbiAgICAgICAgLy8gLSBlbmQgd2l0aCAnICcgb3IgJzonXG4gICAgICAgIHJldHVybiBpbXBsaWNpdEtleSB8fCBpbkZsb3cgfHwgIXZhbHVlLmluY2x1ZGVzKCdcXG4nKVxuICAgICAgICAgICAgPyBxdW90ZWRTdHJpbmcodmFsdWUsIGN0eClcbiAgICAgICAgICAgIDogYmxvY2tTdHJpbmcoaXRlbSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKTtcbiAgICB9XG4gICAgaWYgKCFpbXBsaWNpdEtleSAmJlxuICAgICAgICAhaW5GbG93ICYmXG4gICAgICAgIHR5cGUgIT09IFNjYWxhci5TY2FsYXIuUExBSU4gJiZcbiAgICAgICAgdmFsdWUuaW5jbHVkZXMoJ1xcbicpKSB7XG4gICAgICAgIC8vIFdoZXJlIGFsbG93ZWQgJiB0eXBlIG5vdCBzZXQgZXhwbGljaXRseSwgcHJlZmVyIGJsb2NrIHN0eWxlIGZvciBtdWx0aWxpbmUgc3RyaW5nc1xuICAgICAgICByZXR1cm4gYmxvY2tTdHJpbmcoaXRlbSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKTtcbiAgICB9XG4gICAgaWYgKGNvbnRhaW5zRG9jdW1lbnRNYXJrZXIodmFsdWUpKSB7XG4gICAgICAgIGlmIChpbmRlbnQgPT09ICcnKSB7XG4gICAgICAgICAgICBjdHguZm9yY2VCbG9ja0luZGVudCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gYmxvY2tTdHJpbmcoaXRlbSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpbXBsaWNpdEtleSAmJiBpbmRlbnQgPT09IGluZGVudFN0ZXApIHtcbiAgICAgICAgICAgIHJldHVybiBxdW90ZWRTdHJpbmcodmFsdWUsIGN0eCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3Qgc3RyID0gdmFsdWUucmVwbGFjZSgvXFxuKy9nLCBgJCZcXG4ke2luZGVudH1gKTtcbiAgICAvLyBWZXJpZnkgdGhhdCBvdXRwdXQgd2lsbCBiZSBwYXJzZWQgYXMgYSBzdHJpbmcsIGFzIGUuZy4gcGxhaW4gbnVtYmVycyBhbmRcbiAgICAvLyBib29sZWFucyBnZXQgcGFyc2VkIHdpdGggdGhvc2UgdHlwZXMgaW4gdjEuMiAoZS5nLiAnNDInLCAndHJ1ZScgJiAnMC45ZS0zJyksXG4gICAgLy8gYW5kIG90aGVycyBpbiB2MS4xLlxuICAgIGlmIChhY3R1YWxTdHJpbmcpIHtcbiAgICAgICAgY29uc3QgdGVzdCA9ICh0YWcpID0+IHRhZy5kZWZhdWx0ICYmIHRhZy50YWcgIT09ICd0YWc6eWFtbC5vcmcsMjAwMjpzdHInICYmIHRhZy50ZXN0Py50ZXN0KHN0cik7XG4gICAgICAgIGNvbnN0IHsgY29tcGF0LCB0YWdzIH0gPSBjdHguZG9jLnNjaGVtYTtcbiAgICAgICAgaWYgKHRhZ3Muc29tZSh0ZXN0KSB8fCBjb21wYXQ/LnNvbWUodGVzdCkpXG4gICAgICAgICAgICByZXR1cm4gcXVvdGVkU3RyaW5nKHZhbHVlLCBjdHgpO1xuICAgIH1cbiAgICByZXR1cm4gaW1wbGljaXRLZXlcbiAgICAgICAgPyBzdHJcbiAgICAgICAgOiBmb2xkRmxvd0xpbmVzLmZvbGRGbG93TGluZXMoc3RyLCBpbmRlbnQsIGZvbGRGbG93TGluZXMuRk9MRF9GTE9XLCBnZXRGb2xkT3B0aW9ucyhjdHgsIGZhbHNlKSk7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlTdHJpbmcoaXRlbSwgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKSB7XG4gICAgY29uc3QgeyBpbXBsaWNpdEtleSwgaW5GbG93IH0gPSBjdHg7XG4gICAgY29uc3Qgc3MgPSB0eXBlb2YgaXRlbS52YWx1ZSA9PT0gJ3N0cmluZydcbiAgICAgICAgPyBpdGVtXG4gICAgICAgIDogT2JqZWN0LmFzc2lnbih7fSwgaXRlbSwgeyB2YWx1ZTogU3RyaW5nKGl0ZW0udmFsdWUpIH0pO1xuICAgIGxldCB7IHR5cGUgfSA9IGl0ZW07XG4gICAgaWYgKHR5cGUgIT09IFNjYWxhci5TY2FsYXIuUVVPVEVfRE9VQkxFKSB7XG4gICAgICAgIC8vIGZvcmNlIGRvdWJsZSBxdW90ZXMgb24gY29udHJvbCBjaGFyYWN0ZXJzICYgdW5wYWlyZWQgc3Vycm9nYXRlc1xuICAgICAgICBpZiAoL1tcXHgwMC1cXHgwOFxceDBiLVxceDFmXFx4N2YtXFx4OWZcXHV7RDgwMH0tXFx1e0RGRkZ9XS91LnRlc3Qoc3MudmFsdWUpKVxuICAgICAgICAgICAgdHlwZSA9IFNjYWxhci5TY2FsYXIuUVVPVEVfRE9VQkxFO1xuICAgIH1cbiAgICBjb25zdCBfc3RyaW5naWZ5ID0gKF90eXBlKSA9PiB7XG4gICAgICAgIHN3aXRjaCAoX3R5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgU2NhbGFyLlNjYWxhci5CTE9DS19GT0xERUQ6XG4gICAgICAgICAgICBjYXNlIFNjYWxhci5TY2FsYXIuQkxPQ0tfTElURVJBTDpcbiAgICAgICAgICAgICAgICByZXR1cm4gaW1wbGljaXRLZXkgfHwgaW5GbG93XG4gICAgICAgICAgICAgICAgICAgID8gcXVvdGVkU3RyaW5nKHNzLnZhbHVlLCBjdHgpIC8vIGJsb2NrcyBhcmUgbm90IHZhbGlkIGluc2lkZSBmbG93IGNvbnRhaW5lcnNcbiAgICAgICAgICAgICAgICAgICAgOiBibG9ja1N0cmluZyhzcywgY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKTtcbiAgICAgICAgICAgIGNhc2UgU2NhbGFyLlNjYWxhci5RVU9URV9ET1VCTEU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIGRvdWJsZVF1b3RlZFN0cmluZyhzcy52YWx1ZSwgY3R4KTtcbiAgICAgICAgICAgIGNhc2UgU2NhbGFyLlNjYWxhci5RVU9URV9TSU5HTEU6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHNpbmdsZVF1b3RlZFN0cmluZyhzcy52YWx1ZSwgY3R4KTtcbiAgICAgICAgICAgIGNhc2UgU2NhbGFyLlNjYWxhci5QTEFJTjpcbiAgICAgICAgICAgICAgICByZXR1cm4gcGxhaW5TdHJpbmcoc3MsIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCk7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBsZXQgcmVzID0gX3N0cmluZ2lmeSh0eXBlKTtcbiAgICBpZiAocmVzID09PSBudWxsKSB7XG4gICAgICAgIGNvbnN0IHsgZGVmYXVsdEtleVR5cGUsIGRlZmF1bHRTdHJpbmdUeXBlIH0gPSBjdHgub3B0aW9ucztcbiAgICAgICAgY29uc3QgdCA9IChpbXBsaWNpdEtleSAmJiBkZWZhdWx0S2V5VHlwZSkgfHwgZGVmYXVsdFN0cmluZ1R5cGU7XG4gICAgICAgIHJlcyA9IF9zdHJpbmdpZnkodCk7XG4gICAgICAgIGlmIChyZXMgPT09IG51bGwpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuc3VwcG9ydGVkIGRlZmF1bHQgc3RyaW5nIHR5cGUgJHt0fWApO1xuICAgIH1cbiAgICByZXR1cm4gcmVzO1xufVxuXG5leHBvcnRzLnN0cmluZ2lmeVN0cmluZyA9IHN0cmluZ2lmeVN0cmluZztcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBhbmNob3JzID0gcmVxdWlyZSgnLi4vZG9jL2FuY2hvcnMuanMnKTtcbnZhciBpZGVudGl0eSA9IHJlcXVpcmUoJy4uL25vZGVzL2lkZW50aXR5LmpzJyk7XG52YXIgc3RyaW5naWZ5Q29tbWVudCA9IHJlcXVpcmUoJy4vc3RyaW5naWZ5Q29tbWVudC5qcycpO1xudmFyIHN0cmluZ2lmeVN0cmluZyA9IHJlcXVpcmUoJy4vc3RyaW5naWZ5U3RyaW5nLmpzJyk7XG5cbmZ1bmN0aW9uIGNyZWF0ZVN0cmluZ2lmeUNvbnRleHQoZG9jLCBvcHRpb25zKSB7XG4gICAgY29uc3Qgb3B0ID0gT2JqZWN0LmFzc2lnbih7XG4gICAgICAgIGJsb2NrUXVvdGU6IHRydWUsXG4gICAgICAgIGNvbW1lbnRTdHJpbmc6IHN0cmluZ2lmeUNvbW1lbnQuc3RyaW5naWZ5Q29tbWVudCxcbiAgICAgICAgZGVmYXVsdEtleVR5cGU6IG51bGwsXG4gICAgICAgIGRlZmF1bHRTdHJpbmdUeXBlOiAnUExBSU4nLFxuICAgICAgICBkaXJlY3RpdmVzOiBudWxsLFxuICAgICAgICBkb3VibGVRdW90ZWRBc0pTT046IGZhbHNlLFxuICAgICAgICBkb3VibGVRdW90ZWRNaW5NdWx0aUxpbmVMZW5ndGg6IDQwLFxuICAgICAgICBmYWxzZVN0cjogJ2ZhbHNlJyxcbiAgICAgICAgZmxvd0NvbGxlY3Rpb25QYWRkaW5nOiB0cnVlLFxuICAgICAgICBpbmRlbnRTZXE6IHRydWUsXG4gICAgICAgIGxpbmVXaWR0aDogODAsXG4gICAgICAgIG1pbkNvbnRlbnRXaWR0aDogMjAsXG4gICAgICAgIG51bGxTdHI6ICdudWxsJyxcbiAgICAgICAgc2ltcGxlS2V5czogZmFsc2UsXG4gICAgICAgIHNpbmdsZVF1b3RlOiBudWxsLFxuICAgICAgICB0cnVlU3RyOiAndHJ1ZScsXG4gICAgICAgIHZlcmlmeUFsaWFzT3JkZXI6IHRydWVcbiAgICB9LCBkb2Muc2NoZW1hLnRvU3RyaW5nT3B0aW9ucywgb3B0aW9ucyk7XG4gICAgbGV0IGluRmxvdztcbiAgICBzd2l0Y2ggKG9wdC5jb2xsZWN0aW9uU3R5bGUpIHtcbiAgICAgICAgY2FzZSAnYmxvY2snOlxuICAgICAgICAgICAgaW5GbG93ID0gZmFsc2U7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnZmxvdyc6XG4gICAgICAgICAgICBpbkZsb3cgPSB0cnVlO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBpbkZsb3cgPSBudWxsO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgICBhbmNob3JzOiBuZXcgU2V0KCksXG4gICAgICAgIGRvYyxcbiAgICAgICAgZmxvd0NvbGxlY3Rpb25QYWRkaW5nOiBvcHQuZmxvd0NvbGxlY3Rpb25QYWRkaW5nID8gJyAnIDogJycsXG4gICAgICAgIGluZGVudDogJycsXG4gICAgICAgIGluZGVudFN0ZXA6IHR5cGVvZiBvcHQuaW5kZW50ID09PSAnbnVtYmVyJyA/ICcgJy5yZXBlYXQob3B0LmluZGVudCkgOiAnICAnLFxuICAgICAgICBpbkZsb3csXG4gICAgICAgIG9wdGlvbnM6IG9wdFxuICAgIH07XG59XG5mdW5jdGlvbiBnZXRUYWdPYmplY3QodGFncywgaXRlbSkge1xuICAgIGlmIChpdGVtLnRhZykge1xuICAgICAgICBjb25zdCBtYXRjaCA9IHRhZ3MuZmlsdGVyKHQgPT4gdC50YWcgPT09IGl0ZW0udGFnKTtcbiAgICAgICAgaWYgKG1hdGNoLmxlbmd0aCA+IDApXG4gICAgICAgICAgICByZXR1cm4gbWF0Y2guZmluZCh0ID0+IHQuZm9ybWF0ID09PSBpdGVtLmZvcm1hdCkgPz8gbWF0Y2hbMF07XG4gICAgfVxuICAgIGxldCB0YWdPYmogPSB1bmRlZmluZWQ7XG4gICAgbGV0IG9iajtcbiAgICBpZiAoaWRlbnRpdHkuaXNTY2FsYXIoaXRlbSkpIHtcbiAgICAgICAgb2JqID0gaXRlbS52YWx1ZTtcbiAgICAgICAgbGV0IG1hdGNoID0gdGFncy5maWx0ZXIodCA9PiB0LmlkZW50aWZ5Py4ob2JqKSk7XG4gICAgICAgIGlmIChtYXRjaC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICBjb25zdCB0ZXN0TWF0Y2ggPSBtYXRjaC5maWx0ZXIodCA9PiB0LnRlc3QpO1xuICAgICAgICAgICAgaWYgKHRlc3RNYXRjaC5sZW5ndGggPiAwKVxuICAgICAgICAgICAgICAgIG1hdGNoID0gdGVzdE1hdGNoO1xuICAgICAgICB9XG4gICAgICAgIHRhZ09iaiA9XG4gICAgICAgICAgICBtYXRjaC5maW5kKHQgPT4gdC5mb3JtYXQgPT09IGl0ZW0uZm9ybWF0KSA/PyBtYXRjaC5maW5kKHQgPT4gIXQuZm9ybWF0KTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIG9iaiA9IGl0ZW07XG4gICAgICAgIHRhZ09iaiA9IHRhZ3MuZmluZCh0ID0+IHQubm9kZUNsYXNzICYmIG9iaiBpbnN0YW5jZW9mIHQubm9kZUNsYXNzKTtcbiAgICB9XG4gICAgaWYgKCF0YWdPYmopIHtcbiAgICAgICAgY29uc3QgbmFtZSA9IG9iaj8uY29uc3RydWN0b3I/Lm5hbWUgPz8gdHlwZW9mIG9iajtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBUYWcgbm90IHJlc29sdmVkIGZvciAke25hbWV9IHZhbHVlYCk7XG4gICAgfVxuICAgIHJldHVybiB0YWdPYmo7XG59XG4vLyBuZWVkcyB0byBiZSBjYWxsZWQgYmVmb3JlIHZhbHVlIHN0cmluZ2lmaWVyIHRvIGFsbG93IGZvciBjaXJjdWxhciBhbmNob3IgcmVmc1xuZnVuY3Rpb24gc3RyaW5naWZ5UHJvcHMobm9kZSwgdGFnT2JqLCB7IGFuY2hvcnM6IGFuY2hvcnMkMSwgZG9jIH0pIHtcbiAgICBpZiAoIWRvYy5kaXJlY3RpdmVzKVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgY29uc3QgcHJvcHMgPSBbXTtcbiAgICBjb25zdCBhbmNob3IgPSAoaWRlbnRpdHkuaXNTY2FsYXIobm9kZSkgfHwgaWRlbnRpdHkuaXNDb2xsZWN0aW9uKG5vZGUpKSAmJiBub2RlLmFuY2hvcjtcbiAgICBpZiAoYW5jaG9yICYmIGFuY2hvcnMuYW5jaG9ySXNWYWxpZChhbmNob3IpKSB7XG4gICAgICAgIGFuY2hvcnMkMS5hZGQoYW5jaG9yKTtcbiAgICAgICAgcHJvcHMucHVzaChgJiR7YW5jaG9yfWApO1xuICAgIH1cbiAgICBjb25zdCB0YWcgPSBub2RlLnRhZyA/IG5vZGUudGFnIDogdGFnT2JqLmRlZmF1bHQgPyBudWxsIDogdGFnT2JqLnRhZztcbiAgICBpZiAodGFnKVxuICAgICAgICBwcm9wcy5wdXNoKGRvYy5kaXJlY3RpdmVzLnRhZ1N0cmluZyh0YWcpKTtcbiAgICByZXR1cm4gcHJvcHMuam9pbignICcpO1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5KGl0ZW0sIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCkge1xuICAgIGlmIChpZGVudGl0eS5pc1BhaXIoaXRlbSkpXG4gICAgICAgIHJldHVybiBpdGVtLnRvU3RyaW5nKGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCk7XG4gICAgaWYgKGlkZW50aXR5LmlzQWxpYXMoaXRlbSkpIHtcbiAgICAgICAgaWYgKGN0eC5kb2MuZGlyZWN0aXZlcylcbiAgICAgICAgICAgIHJldHVybiBpdGVtLnRvU3RyaW5nKGN0eCk7XG4gICAgICAgIGlmIChjdHgucmVzb2x2ZWRBbGlhc2VzPy5oYXMoaXRlbSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYENhbm5vdCBzdHJpbmdpZnkgY2lyY3VsYXIgc3RydWN0dXJlIHdpdGhvdXQgYWxpYXMgbm9kZXNgKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChjdHgucmVzb2x2ZWRBbGlhc2VzKVxuICAgICAgICAgICAgICAgIGN0eC5yZXNvbHZlZEFsaWFzZXMuYWRkKGl0ZW0pO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGN0eC5yZXNvbHZlZEFsaWFzZXMgPSBuZXcgU2V0KFtpdGVtXSk7XG4gICAgICAgICAgICBpdGVtID0gaXRlbS5yZXNvbHZlKGN0eC5kb2MpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGxldCB0YWdPYmogPSB1bmRlZmluZWQ7XG4gICAgY29uc3Qgbm9kZSA9IGlkZW50aXR5LmlzTm9kZShpdGVtKVxuICAgICAgICA/IGl0ZW1cbiAgICAgICAgOiBjdHguZG9jLmNyZWF0ZU5vZGUoaXRlbSwgeyBvblRhZ09iajogbyA9PiAodGFnT2JqID0gbykgfSk7XG4gICAgaWYgKCF0YWdPYmopXG4gICAgICAgIHRhZ09iaiA9IGdldFRhZ09iamVjdChjdHguZG9jLnNjaGVtYS50YWdzLCBub2RlKTtcbiAgICBjb25zdCBwcm9wcyA9IHN0cmluZ2lmeVByb3BzKG5vZGUsIHRhZ09iaiwgY3R4KTtcbiAgICBpZiAocHJvcHMubGVuZ3RoID4gMClcbiAgICAgICAgY3R4LmluZGVudEF0U3RhcnQgPSAoY3R4LmluZGVudEF0U3RhcnQgPz8gMCkgKyBwcm9wcy5sZW5ndGggKyAxO1xuICAgIGNvbnN0IHN0ciA9IHR5cGVvZiB0YWdPYmouc3RyaW5naWZ5ID09PSAnZnVuY3Rpb24nXG4gICAgICAgID8gdGFnT2JqLnN0cmluZ2lmeShub2RlLCBjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApXG4gICAgICAgIDogaWRlbnRpdHkuaXNTY2FsYXIobm9kZSlcbiAgICAgICAgICAgID8gc3RyaW5naWZ5U3RyaW5nLnN0cmluZ2lmeVN0cmluZyhub2RlLCBjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApXG4gICAgICAgICAgICA6IG5vZGUudG9TdHJpbmcoY3R4LCBvbkNvbW1lbnQsIG9uQ2hvbXBLZWVwKTtcbiAgICBpZiAoIXByb3BzKVxuICAgICAgICByZXR1cm4gc3RyO1xuICAgIHJldHVybiBpZGVudGl0eS5pc1NjYWxhcihub2RlKSB8fCBzdHJbMF0gPT09ICd7JyB8fCBzdHJbMF0gPT09ICdbJ1xuICAgICAgICA/IGAke3Byb3BzfSAke3N0cn1gXG4gICAgICAgIDogYCR7cHJvcHN9XFxuJHtjdHguaW5kZW50fSR7c3RyfWA7XG59XG5cbmV4cG9ydHMuY3JlYXRlU3RyaW5naWZ5Q29udGV4dCA9IGNyZWF0ZVN0cmluZ2lmeUNvbnRleHQ7XG5leHBvcnRzLnN0cmluZ2lmeSA9IHN0cmluZ2lmeTtcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBpZGVudGl0eSA9IHJlcXVpcmUoJy4uL25vZGVzL2lkZW50aXR5LmpzJyk7XG52YXIgU2NhbGFyID0gcmVxdWlyZSgnLi4vbm9kZXMvU2NhbGFyLmpzJyk7XG52YXIgc3RyaW5naWZ5ID0gcmVxdWlyZSgnLi9zdHJpbmdpZnkuanMnKTtcbnZhciBzdHJpbmdpZnlDb21tZW50ID0gcmVxdWlyZSgnLi9zdHJpbmdpZnlDb21tZW50LmpzJyk7XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeVBhaXIoeyBrZXksIHZhbHVlIH0sIGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCkge1xuICAgIGNvbnN0IHsgYWxsTnVsbFZhbHVlcywgZG9jLCBpbmRlbnQsIGluZGVudFN0ZXAsIG9wdGlvbnM6IHsgY29tbWVudFN0cmluZywgaW5kZW50U2VxLCBzaW1wbGVLZXlzIH0gfSA9IGN0eDtcbiAgICBsZXQga2V5Q29tbWVudCA9IChpZGVudGl0eS5pc05vZGUoa2V5KSAmJiBrZXkuY29tbWVudCkgfHwgbnVsbDtcbiAgICBpZiAoc2ltcGxlS2V5cykge1xuICAgICAgICBpZiAoa2V5Q29tbWVudCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdXaXRoIHNpbXBsZSBrZXlzLCBrZXkgbm9kZXMgY2Fubm90IGhhdmUgY29tbWVudHMnKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaWRlbnRpdHkuaXNDb2xsZWN0aW9uKGtleSkgfHwgKCFpZGVudGl0eS5pc05vZGUoa2V5KSAmJiB0eXBlb2Yga2V5ID09PSAnb2JqZWN0JykpIHtcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9ICdXaXRoIHNpbXBsZSBrZXlzLCBjb2xsZWN0aW9uIGNhbm5vdCBiZSB1c2VkIGFzIGEga2V5IHZhbHVlJztcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihtc2cpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGxldCBleHBsaWNpdEtleSA9ICFzaW1wbGVLZXlzICYmXG4gICAgICAgICgha2V5IHx8XG4gICAgICAgICAgICAoa2V5Q29tbWVudCAmJiB2YWx1ZSA9PSBudWxsICYmICFjdHguaW5GbG93KSB8fFxuICAgICAgICAgICAgaWRlbnRpdHkuaXNDb2xsZWN0aW9uKGtleSkgfHxcbiAgICAgICAgICAgIChpZGVudGl0eS5pc1NjYWxhcihrZXkpXG4gICAgICAgICAgICAgICAgPyBrZXkudHlwZSA9PT0gU2NhbGFyLlNjYWxhci5CTE9DS19GT0xERUQgfHwga2V5LnR5cGUgPT09IFNjYWxhci5TY2FsYXIuQkxPQ0tfTElURVJBTFxuICAgICAgICAgICAgICAgIDogdHlwZW9mIGtleSA9PT0gJ29iamVjdCcpKTtcbiAgICBjdHggPSBPYmplY3QuYXNzaWduKHt9LCBjdHgsIHtcbiAgICAgICAgYWxsTnVsbFZhbHVlczogZmFsc2UsXG4gICAgICAgIGltcGxpY2l0S2V5OiAhZXhwbGljaXRLZXkgJiYgKHNpbXBsZUtleXMgfHwgIWFsbE51bGxWYWx1ZXMpLFxuICAgICAgICBpbmRlbnQ6IGluZGVudCArIGluZGVudFN0ZXBcbiAgICB9KTtcbiAgICBsZXQga2V5Q29tbWVudERvbmUgPSBmYWxzZTtcbiAgICBsZXQgY2hvbXBLZWVwID0gZmFsc2U7XG4gICAgbGV0IHN0ciA9IHN0cmluZ2lmeS5zdHJpbmdpZnkoa2V5LCBjdHgsICgpID0+IChrZXlDb21tZW50RG9uZSA9IHRydWUpLCAoKSA9PiAoY2hvbXBLZWVwID0gdHJ1ZSkpO1xuICAgIGlmICghZXhwbGljaXRLZXkgJiYgIWN0eC5pbkZsb3cgJiYgc3RyLmxlbmd0aCA+IDEwMjQpIHtcbiAgICAgICAgaWYgKHNpbXBsZUtleXMpXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1dpdGggc2ltcGxlIGtleXMsIHNpbmdsZSBsaW5lIHNjYWxhciBtdXN0IG5vdCBzcGFuIG1vcmUgdGhhbiAxMDI0IGNoYXJhY3RlcnMnKTtcbiAgICAgICAgZXhwbGljaXRLZXkgPSB0cnVlO1xuICAgIH1cbiAgICBpZiAoY3R4LmluRmxvdykge1xuICAgICAgICBpZiAoYWxsTnVsbFZhbHVlcyB8fCB2YWx1ZSA9PSBudWxsKSB7XG4gICAgICAgICAgICBpZiAoa2V5Q29tbWVudERvbmUgJiYgb25Db21tZW50KVxuICAgICAgICAgICAgICAgIG9uQ29tbWVudCgpO1xuICAgICAgICAgICAgcmV0dXJuIHN0ciA9PT0gJycgPyAnPycgOiBleHBsaWNpdEtleSA/IGA/ICR7c3RyfWAgOiBzdHI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAoKGFsbE51bGxWYWx1ZXMgJiYgIXNpbXBsZUtleXMpIHx8ICh2YWx1ZSA9PSBudWxsICYmIGV4cGxpY2l0S2V5KSkge1xuICAgICAgICBzdHIgPSBgPyAke3N0cn1gO1xuICAgICAgICBpZiAoa2V5Q29tbWVudCAmJiAha2V5Q29tbWVudERvbmUpIHtcbiAgICAgICAgICAgIHN0ciArPSBzdHJpbmdpZnlDb21tZW50LmxpbmVDb21tZW50KHN0ciwgY3R4LmluZGVudCwgY29tbWVudFN0cmluZyhrZXlDb21tZW50KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoY2hvbXBLZWVwICYmIG9uQ2hvbXBLZWVwKVxuICAgICAgICAgICAgb25DaG9tcEtlZXAoKTtcbiAgICAgICAgcmV0dXJuIHN0cjtcbiAgICB9XG4gICAgaWYgKGtleUNvbW1lbnREb25lKVxuICAgICAgICBrZXlDb21tZW50ID0gbnVsbDtcbiAgICBpZiAoZXhwbGljaXRLZXkpIHtcbiAgICAgICAgaWYgKGtleUNvbW1lbnQpXG4gICAgICAgICAgICBzdHIgKz0gc3RyaW5naWZ5Q29tbWVudC5saW5lQ29tbWVudChzdHIsIGN0eC5pbmRlbnQsIGNvbW1lbnRTdHJpbmcoa2V5Q29tbWVudCkpO1xuICAgICAgICBzdHIgPSBgPyAke3N0cn1cXG4ke2luZGVudH06YDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHN0ciA9IGAke3N0cn06YDtcbiAgICAgICAgaWYgKGtleUNvbW1lbnQpXG4gICAgICAgICAgICBzdHIgKz0gc3RyaW5naWZ5Q29tbWVudC5saW5lQ29tbWVudChzdHIsIGN0eC5pbmRlbnQsIGNvbW1lbnRTdHJpbmcoa2V5Q29tbWVudCkpO1xuICAgIH1cbiAgICBsZXQgdnNiLCB2Y2IsIHZhbHVlQ29tbWVudDtcbiAgICBpZiAoaWRlbnRpdHkuaXNOb2RlKHZhbHVlKSkge1xuICAgICAgICB2c2IgPSAhIXZhbHVlLnNwYWNlQmVmb3JlO1xuICAgICAgICB2Y2IgPSB2YWx1ZS5jb21tZW50QmVmb3JlO1xuICAgICAgICB2YWx1ZUNvbW1lbnQgPSB2YWx1ZS5jb21tZW50O1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgdnNiID0gZmFsc2U7XG4gICAgICAgIHZjYiA9IG51bGw7XG4gICAgICAgIHZhbHVlQ29tbWVudCA9IG51bGw7XG4gICAgICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKVxuICAgICAgICAgICAgdmFsdWUgPSBkb2MuY3JlYXRlTm9kZSh2YWx1ZSk7XG4gICAgfVxuICAgIGN0eC5pbXBsaWNpdEtleSA9IGZhbHNlO1xuICAgIGlmICghZXhwbGljaXRLZXkgJiYgIWtleUNvbW1lbnQgJiYgaWRlbnRpdHkuaXNTY2FsYXIodmFsdWUpKVxuICAgICAgICBjdHguaW5kZW50QXRTdGFydCA9IHN0ci5sZW5ndGggKyAxO1xuICAgIGNob21wS2VlcCA9IGZhbHNlO1xuICAgIGlmICghaW5kZW50U2VxICYmXG4gICAgICAgIGluZGVudFN0ZXAubGVuZ3RoID49IDIgJiZcbiAgICAgICAgIWN0eC5pbkZsb3cgJiZcbiAgICAgICAgIWV4cGxpY2l0S2V5ICYmXG4gICAgICAgIGlkZW50aXR5LmlzU2VxKHZhbHVlKSAmJlxuICAgICAgICAhdmFsdWUuZmxvdyAmJlxuICAgICAgICAhdmFsdWUudGFnICYmXG4gICAgICAgICF2YWx1ZS5hbmNob3IpIHtcbiAgICAgICAgLy8gSWYgaW5kZW50U2VxID09PSBmYWxzZSwgY29uc2lkZXIgJy0gJyBhcyBwYXJ0IG9mIGluZGVudGF0aW9uIHdoZXJlIHBvc3NpYmxlXG4gICAgICAgIGN0eC5pbmRlbnQgPSBjdHguaW5kZW50LnN1YnN0cmluZygyKTtcbiAgICB9XG4gICAgbGV0IHZhbHVlQ29tbWVudERvbmUgPSBmYWxzZTtcbiAgICBjb25zdCB2YWx1ZVN0ciA9IHN0cmluZ2lmeS5zdHJpbmdpZnkodmFsdWUsIGN0eCwgKCkgPT4gKHZhbHVlQ29tbWVudERvbmUgPSB0cnVlKSwgKCkgPT4gKGNob21wS2VlcCA9IHRydWUpKTtcbiAgICBsZXQgd3MgPSAnICc7XG4gICAgaWYgKGtleUNvbW1lbnQgfHwgdnNiIHx8IHZjYikge1xuICAgICAgICB3cyA9IHZzYiA/ICdcXG4nIDogJyc7XG4gICAgICAgIGlmICh2Y2IpIHtcbiAgICAgICAgICAgIGNvbnN0IGNzID0gY29tbWVudFN0cmluZyh2Y2IpO1xuICAgICAgICAgICAgd3MgKz0gYFxcbiR7c3RyaW5naWZ5Q29tbWVudC5pbmRlbnRDb21tZW50KGNzLCBjdHguaW5kZW50KX1gO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZVN0ciA9PT0gJycgJiYgIWN0eC5pbkZsb3cpIHtcbiAgICAgICAgICAgIGlmICh3cyA9PT0gJ1xcbicpXG4gICAgICAgICAgICAgICAgd3MgPSAnXFxuXFxuJztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHdzICs9IGBcXG4ke2N0eC5pbmRlbnR9YDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmICghZXhwbGljaXRLZXkgJiYgaWRlbnRpdHkuaXNDb2xsZWN0aW9uKHZhbHVlKSkge1xuICAgICAgICBjb25zdCB2czAgPSB2YWx1ZVN0clswXTtcbiAgICAgICAgY29uc3QgbmwwID0gdmFsdWVTdHIuaW5kZXhPZignXFxuJyk7XG4gICAgICAgIGNvbnN0IGhhc05ld2xpbmUgPSBubDAgIT09IC0xO1xuICAgICAgICBjb25zdCBmbG93ID0gY3R4LmluRmxvdyA/PyB2YWx1ZS5mbG93ID8/IHZhbHVlLml0ZW1zLmxlbmd0aCA9PT0gMDtcbiAgICAgICAgaWYgKGhhc05ld2xpbmUgfHwgIWZsb3cpIHtcbiAgICAgICAgICAgIGxldCBoYXNQcm9wc0xpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIGlmIChoYXNOZXdsaW5lICYmICh2czAgPT09ICcmJyB8fCB2czAgPT09ICchJykpIHtcbiAgICAgICAgICAgICAgICBsZXQgc3AwID0gdmFsdWVTdHIuaW5kZXhPZignICcpO1xuICAgICAgICAgICAgICAgIGlmICh2czAgPT09ICcmJyAmJlxuICAgICAgICAgICAgICAgICAgICBzcDAgIT09IC0xICYmXG4gICAgICAgICAgICAgICAgICAgIHNwMCA8IG5sMCAmJlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZVN0cltzcDAgKyAxXSA9PT0gJyEnKSB7XG4gICAgICAgICAgICAgICAgICAgIHNwMCA9IHZhbHVlU3RyLmluZGV4T2YoJyAnLCBzcDAgKyAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHNwMCA9PT0gLTEgfHwgbmwwIDwgc3AwKVxuICAgICAgICAgICAgICAgICAgICBoYXNQcm9wc0xpbmUgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFoYXNQcm9wc0xpbmUpXG4gICAgICAgICAgICAgICAgd3MgPSBgXFxuJHtjdHguaW5kZW50fWA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSBpZiAodmFsdWVTdHIgPT09ICcnIHx8IHZhbHVlU3RyWzBdID09PSAnXFxuJykge1xuICAgICAgICB3cyA9ICcnO1xuICAgIH1cbiAgICBzdHIgKz0gd3MgKyB2YWx1ZVN0cjtcbiAgICBpZiAoY3R4LmluRmxvdykge1xuICAgICAgICBpZiAodmFsdWVDb21tZW50RG9uZSAmJiBvbkNvbW1lbnQpXG4gICAgICAgICAgICBvbkNvbW1lbnQoKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodmFsdWVDb21tZW50ICYmICF2YWx1ZUNvbW1lbnREb25lKSB7XG4gICAgICAgIHN0ciArPSBzdHJpbmdpZnlDb21tZW50LmxpbmVDb21tZW50KHN0ciwgY3R4LmluZGVudCwgY29tbWVudFN0cmluZyh2YWx1ZUNvbW1lbnQpKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoY2hvbXBLZWVwICYmIG9uQ2hvbXBLZWVwKSB7XG4gICAgICAgIG9uQ2hvbXBLZWVwKCk7XG4gICAgfVxuICAgIHJldHVybiBzdHI7XG59XG5cbmV4cG9ydHMuc3RyaW5naWZ5UGFpciA9IHN0cmluZ2lmeVBhaXI7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBkZWJ1Zyhsb2dMZXZlbCwgLi4ubWVzc2FnZXMpIHtcbiAgICBpZiAobG9nTGV2ZWwgPT09ICdkZWJ1ZycpXG4gICAgICAgIGNvbnNvbGUubG9nKC4uLm1lc3NhZ2VzKTtcbn1cbmZ1bmN0aW9uIHdhcm4obG9nTGV2ZWwsIHdhcm5pbmcpIHtcbiAgICBpZiAobG9nTGV2ZWwgPT09ICdkZWJ1ZycgfHwgbG9nTGV2ZWwgPT09ICd3YXJuJykge1xuICAgICAgICBpZiAodHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnICYmIHByb2Nlc3MuZW1pdFdhcm5pbmcpXG4gICAgICAgICAgICBwcm9jZXNzLmVtaXRXYXJuaW5nKHdhcm5pbmcpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICBjb25zb2xlLndhcm4od2FybmluZyk7XG4gICAgfVxufVxuXG5leHBvcnRzLmRlYnVnID0gZGVidWc7XG5leHBvcnRzLndhcm4gPSB3YXJuO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIGlkZW50aXR5ID0gcmVxdWlyZSgnLi4vLi4vbm9kZXMvaWRlbnRpdHkuanMnKTtcbnZhciBTY2FsYXIgPSByZXF1aXJlKCcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnKTtcblxuLy8gSWYgdGhlIHZhbHVlIGFzc29jaWF0ZWQgd2l0aCBhIG1lcmdlIGtleSBpcyBhIHNpbmdsZSBtYXBwaW5nIG5vZGUsIGVhY2ggb2Zcbi8vIGl0cyBrZXkvdmFsdWUgcGFpcnMgaXMgaW5zZXJ0ZWQgaW50byB0aGUgY3VycmVudCBtYXBwaW5nLCB1bmxlc3MgdGhlIGtleVxuLy8gYWxyZWFkeSBleGlzdHMgaW4gaXQuIElmIHRoZSB2YWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhlIG1lcmdlIGtleSBpcyBhXG4vLyBzZXF1ZW5jZSwgdGhlbiB0aGlzIHNlcXVlbmNlIGlzIGV4cGVjdGVkIHRvIGNvbnRhaW4gbWFwcGluZyBub2RlcyBhbmQgZWFjaFxuLy8gb2YgdGhlc2Ugbm9kZXMgaXMgbWVyZ2VkIGluIHR1cm4gYWNjb3JkaW5nIHRvIGl0cyBvcmRlciBpbiB0aGUgc2VxdWVuY2UuXG4vLyBLZXlzIGluIG1hcHBpbmcgbm9kZXMgZWFybGllciBpbiB0aGUgc2VxdWVuY2Ugb3ZlcnJpZGUga2V5cyBzcGVjaWZpZWQgaW5cbi8vIGxhdGVyIG1hcHBpbmcgbm9kZXMuIC0tIGh0dHA6Ly95YW1sLm9yZy90eXBlL21lcmdlLmh0bWxcbmNvbnN0IE1FUkdFX0tFWSA9ICc8PCc7XG5jb25zdCBtZXJnZSA9IHtcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdmFsdWUgPT09IE1FUkdFX0tFWSB8fFxuICAgICAgICAodHlwZW9mIHZhbHVlID09PSAnc3ltYm9sJyAmJiB2YWx1ZS5kZXNjcmlwdGlvbiA9PT0gTUVSR0VfS0VZKSxcbiAgICBkZWZhdWx0OiAna2V5JyxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjptZXJnZScsXG4gICAgdGVzdDogL148PCQvLFxuICAgIHJlc29sdmU6ICgpID0+IE9iamVjdC5hc3NpZ24obmV3IFNjYWxhci5TY2FsYXIoU3ltYm9sKE1FUkdFX0tFWSkpLCB7XG4gICAgICAgIGFkZFRvSlNNYXA6IGFkZE1lcmdlVG9KU01hcFxuICAgIH0pLFxuICAgIHN0cmluZ2lmeTogKCkgPT4gTUVSR0VfS0VZXG59O1xuY29uc3QgaXNNZXJnZUtleSA9IChjdHgsIGtleSkgPT4gKG1lcmdlLmlkZW50aWZ5KGtleSkgfHxcbiAgICAoaWRlbnRpdHkuaXNTY2FsYXIoa2V5KSAmJlxuICAgICAgICAoIWtleS50eXBlIHx8IGtleS50eXBlID09PSBTY2FsYXIuU2NhbGFyLlBMQUlOKSAmJlxuICAgICAgICBtZXJnZS5pZGVudGlmeShrZXkudmFsdWUpKSkgJiZcbiAgICBjdHg/LmRvYy5zY2hlbWEudGFncy5zb21lKHRhZyA9PiB0YWcudGFnID09PSBtZXJnZS50YWcgJiYgdGFnLmRlZmF1bHQpO1xuZnVuY3Rpb24gYWRkTWVyZ2VUb0pTTWFwKGN0eCwgbWFwLCB2YWx1ZSkge1xuICAgIHZhbHVlID0gY3R4ICYmIGlkZW50aXR5LmlzQWxpYXModmFsdWUpID8gdmFsdWUucmVzb2x2ZShjdHguZG9jKSA6IHZhbHVlO1xuICAgIGlmIChpZGVudGl0eS5pc1NlcSh2YWx1ZSkpXG4gICAgICAgIGZvciAoY29uc3QgaXQgb2YgdmFsdWUuaXRlbXMpXG4gICAgICAgICAgICBtZXJnZVZhbHVlKGN0eCwgbWFwLCBpdCk7XG4gICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpXG4gICAgICAgIGZvciAoY29uc3QgaXQgb2YgdmFsdWUpXG4gICAgICAgICAgICBtZXJnZVZhbHVlKGN0eCwgbWFwLCBpdCk7XG4gICAgZWxzZVxuICAgICAgICBtZXJnZVZhbHVlKGN0eCwgbWFwLCB2YWx1ZSk7XG59XG5mdW5jdGlvbiBtZXJnZVZhbHVlKGN0eCwgbWFwLCB2YWx1ZSkge1xuICAgIGNvbnN0IHNvdXJjZSA9IGN0eCAmJiBpZGVudGl0eS5pc0FsaWFzKHZhbHVlKSA/IHZhbHVlLnJlc29sdmUoY3R4LmRvYykgOiB2YWx1ZTtcbiAgICBpZiAoIWlkZW50aXR5LmlzTWFwKHNvdXJjZSkpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignTWVyZ2Ugc291cmNlcyBtdXN0IGJlIG1hcHMgb3IgbWFwIGFsaWFzZXMnKTtcbiAgICBjb25zdCBzcmNNYXAgPSBzb3VyY2UudG9KU09OKG51bGwsIGN0eCwgTWFwKTtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBzcmNNYXApIHtcbiAgICAgICAgaWYgKG1hcCBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICAgICAgaWYgKCFtYXAuaGFzKGtleSkpXG4gICAgICAgICAgICAgICAgbWFwLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChtYXAgaW5zdGFuY2VvZiBTZXQpIHtcbiAgICAgICAgICAgIG1hcC5hZGQoa2V5KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1hcCwga2V5KSkge1xuICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG1hcCwga2V5LCB7XG4gICAgICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYXA7XG59XG5cbmV4cG9ydHMuYWRkTWVyZ2VUb0pTTWFwID0gYWRkTWVyZ2VUb0pTTWFwO1xuZXhwb3J0cy5pc01lcmdlS2V5ID0gaXNNZXJnZUtleTtcbmV4cG9ydHMubWVyZ2UgPSBtZXJnZTtcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBsb2cgPSByZXF1aXJlKCcuLi9sb2cuanMnKTtcbnZhciBtZXJnZSA9IHJlcXVpcmUoJy4uL3NjaGVtYS95YW1sLTEuMS9tZXJnZS5qcycpO1xudmFyIHN0cmluZ2lmeSA9IHJlcXVpcmUoJy4uL3N0cmluZ2lmeS9zdHJpbmdpZnkuanMnKTtcbnZhciBpZGVudGl0eSA9IHJlcXVpcmUoJy4vaWRlbnRpdHkuanMnKTtcbnZhciB0b0pTID0gcmVxdWlyZSgnLi90b0pTLmpzJyk7XG5cbmZ1bmN0aW9uIGFkZFBhaXJUb0pTTWFwKGN0eCwgbWFwLCB7IGtleSwgdmFsdWUgfSkge1xuICAgIGlmIChpZGVudGl0eS5pc05vZGUoa2V5KSAmJiBrZXkuYWRkVG9KU01hcClcbiAgICAgICAga2V5LmFkZFRvSlNNYXAoY3R4LCBtYXAsIHZhbHVlKTtcbiAgICAvLyBUT0RPOiBTaG91bGQgZHJvcCB0aGlzIHNwZWNpYWwgY2FzZSBmb3IgYmFyZSA8PCBoYW5kbGluZ1xuICAgIGVsc2UgaWYgKG1lcmdlLmlzTWVyZ2VLZXkoY3R4LCBrZXkpKVxuICAgICAgICBtZXJnZS5hZGRNZXJnZVRvSlNNYXAoY3R4LCBtYXAsIHZhbHVlKTtcbiAgICBlbHNlIHtcbiAgICAgICAgY29uc3QganNLZXkgPSB0b0pTLnRvSlMoa2V5LCAnJywgY3R4KTtcbiAgICAgICAgaWYgKG1hcCBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICAgICAgbWFwLnNldChqc0tleSwgdG9KUy50b0pTKHZhbHVlLCBqc0tleSwgY3R4KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAobWFwIGluc3RhbmNlb2YgU2V0KSB7XG4gICAgICAgICAgICBtYXAuYWRkKGpzS2V5KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHN0cmluZ0tleSA9IHN0cmluZ2lmeUtleShrZXksIGpzS2V5LCBjdHgpO1xuICAgICAgICAgICAgY29uc3QganNWYWx1ZSA9IHRvSlMudG9KUyh2YWx1ZSwgc3RyaW5nS2V5LCBjdHgpO1xuICAgICAgICAgICAgaWYgKHN0cmluZ0tleSBpbiBtYXApXG4gICAgICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG1hcCwgc3RyaW5nS2V5LCB7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBqc1ZhbHVlLFxuICAgICAgICAgICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgbWFwW3N0cmluZ0tleV0gPSBqc1ZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBtYXA7XG59XG5mdW5jdGlvbiBzdHJpbmdpZnlLZXkoa2V5LCBqc0tleSwgY3R4KSB7XG4gICAgaWYgKGpzS2V5ID09PSBudWxsKVxuICAgICAgICByZXR1cm4gJyc7XG4gICAgaWYgKHR5cGVvZiBqc0tleSAhPT0gJ29iamVjdCcpXG4gICAgICAgIHJldHVybiBTdHJpbmcoanNLZXkpO1xuICAgIGlmIChpZGVudGl0eS5pc05vZGUoa2V5KSAmJiBjdHg/LmRvYykge1xuICAgICAgICBjb25zdCBzdHJDdHggPSBzdHJpbmdpZnkuY3JlYXRlU3RyaW5naWZ5Q29udGV4dChjdHguZG9jLCB7fSk7XG4gICAgICAgIHN0ckN0eC5hbmNob3JzID0gbmV3IFNldCgpO1xuICAgICAgICBmb3IgKGNvbnN0IG5vZGUgb2YgY3R4LmFuY2hvcnMua2V5cygpKVxuICAgICAgICAgICAgc3RyQ3R4LmFuY2hvcnMuYWRkKG5vZGUuYW5jaG9yKTtcbiAgICAgICAgc3RyQ3R4LmluRmxvdyA9IHRydWU7XG4gICAgICAgIHN0ckN0eC5pblN0cmluZ2lmeUtleSA9IHRydWU7XG4gICAgICAgIGNvbnN0IHN0cktleSA9IGtleS50b1N0cmluZyhzdHJDdHgpO1xuICAgICAgICBpZiAoIWN0eC5tYXBLZXlXYXJuZWQpIHtcbiAgICAgICAgICAgIGxldCBqc29uU3RyID0gSlNPTi5zdHJpbmdpZnkoc3RyS2V5KTtcbiAgICAgICAgICAgIGlmIChqc29uU3RyLmxlbmd0aCA+IDQwKVxuICAgICAgICAgICAgICAgIGpzb25TdHIgPSBqc29uU3RyLnN1YnN0cmluZygwLCAzNikgKyAnLi4uXCInO1xuICAgICAgICAgICAgbG9nLndhcm4oY3R4LmRvYy5vcHRpb25zLmxvZ0xldmVsLCBgS2V5cyB3aXRoIGNvbGxlY3Rpb24gdmFsdWVzIHdpbGwgYmUgc3RyaW5naWZpZWQgZHVlIHRvIEpTIE9iamVjdCByZXN0cmljdGlvbnM6ICR7anNvblN0cn0uIFNldCBtYXBBc01hcDogdHJ1ZSB0byB1c2Ugb2JqZWN0IGtleXMuYCk7XG4gICAgICAgICAgICBjdHgubWFwS2V5V2FybmVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RyS2V5O1xuICAgIH1cbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoanNLZXkpO1xufVxuXG5leHBvcnRzLmFkZFBhaXJUb0pTTWFwID0gYWRkUGFpclRvSlNNYXA7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgY3JlYXRlTm9kZSA9IHJlcXVpcmUoJy4uL2RvYy9jcmVhdGVOb2RlLmpzJyk7XG52YXIgc3RyaW5naWZ5UGFpciA9IHJlcXVpcmUoJy4uL3N0cmluZ2lmeS9zdHJpbmdpZnlQYWlyLmpzJyk7XG52YXIgYWRkUGFpclRvSlNNYXAgPSByZXF1aXJlKCcuL2FkZFBhaXJUb0pTTWFwLmpzJyk7XG52YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuL2lkZW50aXR5LmpzJyk7XG5cbmZ1bmN0aW9uIGNyZWF0ZVBhaXIoa2V5LCB2YWx1ZSwgY3R4KSB7XG4gICAgY29uc3QgayA9IGNyZWF0ZU5vZGUuY3JlYXRlTm9kZShrZXksIHVuZGVmaW5lZCwgY3R4KTtcbiAgICBjb25zdCB2ID0gY3JlYXRlTm9kZS5jcmVhdGVOb2RlKHZhbHVlLCB1bmRlZmluZWQsIGN0eCk7XG4gICAgcmV0dXJuIG5ldyBQYWlyKGssIHYpO1xufVxuY2xhc3MgUGFpciB7XG4gICAgY29uc3RydWN0b3Ioa2V5LCB2YWx1ZSA9IG51bGwpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIGlkZW50aXR5Lk5PREVfVFlQRSwgeyB2YWx1ZTogaWRlbnRpdHkuUEFJUiB9KTtcbiAgICAgICAgdGhpcy5rZXkgPSBrZXk7XG4gICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICB9XG4gICAgY2xvbmUoc2NoZW1hKSB7XG4gICAgICAgIGxldCB7IGtleSwgdmFsdWUgfSA9IHRoaXM7XG4gICAgICAgIGlmIChpZGVudGl0eS5pc05vZGUoa2V5KSlcbiAgICAgICAgICAgIGtleSA9IGtleS5jbG9uZShzY2hlbWEpO1xuICAgICAgICBpZiAoaWRlbnRpdHkuaXNOb2RlKHZhbHVlKSlcbiAgICAgICAgICAgIHZhbHVlID0gdmFsdWUuY2xvbmUoc2NoZW1hKTtcbiAgICAgICAgcmV0dXJuIG5ldyBQYWlyKGtleSwgdmFsdWUpO1xuICAgIH1cbiAgICB0b0pTT04oXywgY3R4KSB7XG4gICAgICAgIGNvbnN0IHBhaXIgPSBjdHg/Lm1hcEFzTWFwID8gbmV3IE1hcCgpIDoge307XG4gICAgICAgIHJldHVybiBhZGRQYWlyVG9KU01hcC5hZGRQYWlyVG9KU01hcChjdHgsIHBhaXIsIHRoaXMpO1xuICAgIH1cbiAgICB0b1N0cmluZyhjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApIHtcbiAgICAgICAgcmV0dXJuIGN0eD8uZG9jXG4gICAgICAgICAgICA/IHN0cmluZ2lmeVBhaXIuc3RyaW5naWZ5UGFpcih0aGlzLCBjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApXG4gICAgICAgICAgICA6IEpTT04uc3RyaW5naWZ5KHRoaXMpO1xuICAgIH1cbn1cblxuZXhwb3J0cy5QYWlyID0gUGFpcjtcbmV4cG9ydHMuY3JlYXRlUGFpciA9IGNyZWF0ZVBhaXI7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuLi9ub2Rlcy9pZGVudGl0eS5qcycpO1xudmFyIHN0cmluZ2lmeSA9IHJlcXVpcmUoJy4vc3RyaW5naWZ5LmpzJyk7XG52YXIgc3RyaW5naWZ5Q29tbWVudCA9IHJlcXVpcmUoJy4vc3RyaW5naWZ5Q29tbWVudC5qcycpO1xuXG5mdW5jdGlvbiBzdHJpbmdpZnlDb2xsZWN0aW9uKGNvbGxlY3Rpb24sIGN0eCwgb3B0aW9ucykge1xuICAgIGNvbnN0IGZsb3cgPSBjdHguaW5GbG93ID8/IGNvbGxlY3Rpb24uZmxvdztcbiAgICBjb25zdCBzdHJpbmdpZnkgPSBmbG93ID8gc3RyaW5naWZ5Rmxvd0NvbGxlY3Rpb24gOiBzdHJpbmdpZnlCbG9ja0NvbGxlY3Rpb247XG4gICAgcmV0dXJuIHN0cmluZ2lmeShjb2xsZWN0aW9uLCBjdHgsIG9wdGlvbnMpO1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5QmxvY2tDb2xsZWN0aW9uKHsgY29tbWVudCwgaXRlbXMgfSwgY3R4LCB7IGJsb2NrSXRlbVByZWZpeCwgZmxvd0NoYXJzLCBpdGVtSW5kZW50LCBvbkNob21wS2VlcCwgb25Db21tZW50IH0pIHtcbiAgICBjb25zdCB7IGluZGVudCwgb3B0aW9uczogeyBjb21tZW50U3RyaW5nIH0gfSA9IGN0eDtcbiAgICBjb25zdCBpdGVtQ3R4ID0gT2JqZWN0LmFzc2lnbih7fSwgY3R4LCB7IGluZGVudDogaXRlbUluZGVudCwgdHlwZTogbnVsbCB9KTtcbiAgICBsZXQgY2hvbXBLZWVwID0gZmFsc2U7IC8vIGZsYWcgZm9yIHRoZSBwcmVjZWRpbmcgbm9kZSdzIHN0YXR1c1xuICAgIGNvbnN0IGxpbmVzID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBpdGVtID0gaXRlbXNbaV07XG4gICAgICAgIGxldCBjb21tZW50ID0gbnVsbDtcbiAgICAgICAgaWYgKGlkZW50aXR5LmlzTm9kZShpdGVtKSkge1xuICAgICAgICAgICAgaWYgKCFjaG9tcEtlZXAgJiYgaXRlbS5zcGFjZUJlZm9yZSlcbiAgICAgICAgICAgICAgICBsaW5lcy5wdXNoKCcnKTtcbiAgICAgICAgICAgIGFkZENvbW1lbnRCZWZvcmUoY3R4LCBsaW5lcywgaXRlbS5jb21tZW50QmVmb3JlLCBjaG9tcEtlZXApO1xuICAgICAgICAgICAgaWYgKGl0ZW0uY29tbWVudClcbiAgICAgICAgICAgICAgICBjb21tZW50ID0gaXRlbS5jb21tZW50O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlkZW50aXR5LmlzUGFpcihpdGVtKSkge1xuICAgICAgICAgICAgY29uc3QgaWsgPSBpZGVudGl0eS5pc05vZGUoaXRlbS5rZXkpID8gaXRlbS5rZXkgOiBudWxsO1xuICAgICAgICAgICAgaWYgKGlrKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFjaG9tcEtlZXAgJiYgaWsuc3BhY2VCZWZvcmUpXG4gICAgICAgICAgICAgICAgICAgIGxpbmVzLnB1c2goJycpO1xuICAgICAgICAgICAgICAgIGFkZENvbW1lbnRCZWZvcmUoY3R4LCBsaW5lcywgaWsuY29tbWVudEJlZm9yZSwgY2hvbXBLZWVwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjaG9tcEtlZXAgPSBmYWxzZTtcbiAgICAgICAgbGV0IHN0ciA9IHN0cmluZ2lmeS5zdHJpbmdpZnkoaXRlbSwgaXRlbUN0eCwgKCkgPT4gKGNvbW1lbnQgPSBudWxsKSwgKCkgPT4gKGNob21wS2VlcCA9IHRydWUpKTtcbiAgICAgICAgaWYgKGNvbW1lbnQpXG4gICAgICAgICAgICBzdHIgKz0gc3RyaW5naWZ5Q29tbWVudC5saW5lQ29tbWVudChzdHIsIGl0ZW1JbmRlbnQsIGNvbW1lbnRTdHJpbmcoY29tbWVudCkpO1xuICAgICAgICBpZiAoY2hvbXBLZWVwICYmIGNvbW1lbnQpXG4gICAgICAgICAgICBjaG9tcEtlZXAgPSBmYWxzZTtcbiAgICAgICAgbGluZXMucHVzaChibG9ja0l0ZW1QcmVmaXggKyBzdHIpO1xuICAgIH1cbiAgICBsZXQgc3RyO1xuICAgIGlmIChsaW5lcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgc3RyID0gZmxvd0NoYXJzLnN0YXJ0ICsgZmxvd0NoYXJzLmVuZDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHN0ciA9IGxpbmVzWzBdO1xuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IGxpbmVzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICBjb25zdCBsaW5lID0gbGluZXNbaV07XG4gICAgICAgICAgICBzdHIgKz0gbGluZSA/IGBcXG4ke2luZGVudH0ke2xpbmV9YCA6ICdcXG4nO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChjb21tZW50KSB7XG4gICAgICAgIHN0ciArPSAnXFxuJyArIHN0cmluZ2lmeUNvbW1lbnQuaW5kZW50Q29tbWVudChjb21tZW50U3RyaW5nKGNvbW1lbnQpLCBpbmRlbnQpO1xuICAgICAgICBpZiAob25Db21tZW50KVxuICAgICAgICAgICAgb25Db21tZW50KCk7XG4gICAgfVxuICAgIGVsc2UgaWYgKGNob21wS2VlcCAmJiBvbkNob21wS2VlcClcbiAgICAgICAgb25DaG9tcEtlZXAoKTtcbiAgICByZXR1cm4gc3RyO1xufVxuZnVuY3Rpb24gc3RyaW5naWZ5Rmxvd0NvbGxlY3Rpb24oeyBpdGVtcyB9LCBjdHgsIHsgZmxvd0NoYXJzLCBpdGVtSW5kZW50IH0pIHtcbiAgICBjb25zdCB7IGluZGVudCwgaW5kZW50U3RlcCwgZmxvd0NvbGxlY3Rpb25QYWRkaW5nOiBmY1BhZGRpbmcsIG9wdGlvbnM6IHsgY29tbWVudFN0cmluZyB9IH0gPSBjdHg7XG4gICAgaXRlbUluZGVudCArPSBpbmRlbnRTdGVwO1xuICAgIGNvbnN0IGl0ZW1DdHggPSBPYmplY3QuYXNzaWduKHt9LCBjdHgsIHtcbiAgICAgICAgaW5kZW50OiBpdGVtSW5kZW50LFxuICAgICAgICBpbkZsb3c6IHRydWUsXG4gICAgICAgIHR5cGU6IG51bGxcbiAgICB9KTtcbiAgICBsZXQgcmVxTmV3bGluZSA9IGZhbHNlO1xuICAgIGxldCBsaW5lc0F0VmFsdWUgPSAwO1xuICAgIGNvbnN0IGxpbmVzID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBpdGVtID0gaXRlbXNbaV07XG4gICAgICAgIGxldCBjb21tZW50ID0gbnVsbDtcbiAgICAgICAgaWYgKGlkZW50aXR5LmlzTm9kZShpdGVtKSkge1xuICAgICAgICAgICAgaWYgKGl0ZW0uc3BhY2VCZWZvcmUpXG4gICAgICAgICAgICAgICAgbGluZXMucHVzaCgnJyk7XG4gICAgICAgICAgICBhZGRDb21tZW50QmVmb3JlKGN0eCwgbGluZXMsIGl0ZW0uY29tbWVudEJlZm9yZSwgZmFsc2UpO1xuICAgICAgICAgICAgaWYgKGl0ZW0uY29tbWVudClcbiAgICAgICAgICAgICAgICBjb21tZW50ID0gaXRlbS5jb21tZW50O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlkZW50aXR5LmlzUGFpcihpdGVtKSkge1xuICAgICAgICAgICAgY29uc3QgaWsgPSBpZGVudGl0eS5pc05vZGUoaXRlbS5rZXkpID8gaXRlbS5rZXkgOiBudWxsO1xuICAgICAgICAgICAgaWYgKGlrKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlrLnNwYWNlQmVmb3JlKVxuICAgICAgICAgICAgICAgICAgICBsaW5lcy5wdXNoKCcnKTtcbiAgICAgICAgICAgICAgICBhZGRDb21tZW50QmVmb3JlKGN0eCwgbGluZXMsIGlrLmNvbW1lbnRCZWZvcmUsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICBpZiAoaWsuY29tbWVudClcbiAgICAgICAgICAgICAgICAgICAgcmVxTmV3bGluZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBpdiA9IGlkZW50aXR5LmlzTm9kZShpdGVtLnZhbHVlKSA/IGl0ZW0udmFsdWUgOiBudWxsO1xuICAgICAgICAgICAgaWYgKGl2KSB7XG4gICAgICAgICAgICAgICAgaWYgKGl2LmNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBpdi5jb21tZW50O1xuICAgICAgICAgICAgICAgIGlmIChpdi5jb21tZW50QmVmb3JlKVxuICAgICAgICAgICAgICAgICAgICByZXFOZXdsaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGl0ZW0udmFsdWUgPT0gbnVsbCAmJiBpaz8uY29tbWVudCkge1xuICAgICAgICAgICAgICAgIGNvbW1lbnQgPSBpay5jb21tZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChjb21tZW50KVxuICAgICAgICAgICAgcmVxTmV3bGluZSA9IHRydWU7XG4gICAgICAgIGxldCBzdHIgPSBzdHJpbmdpZnkuc3RyaW5naWZ5KGl0ZW0sIGl0ZW1DdHgsICgpID0+IChjb21tZW50ID0gbnVsbCkpO1xuICAgICAgICBpZiAoaSA8IGl0ZW1zLmxlbmd0aCAtIDEpXG4gICAgICAgICAgICBzdHIgKz0gJywnO1xuICAgICAgICBpZiAoY29tbWVudClcbiAgICAgICAgICAgIHN0ciArPSBzdHJpbmdpZnlDb21tZW50LmxpbmVDb21tZW50KHN0ciwgaXRlbUluZGVudCwgY29tbWVudFN0cmluZyhjb21tZW50KSk7XG4gICAgICAgIGlmICghcmVxTmV3bGluZSAmJiAobGluZXMubGVuZ3RoID4gbGluZXNBdFZhbHVlIHx8IHN0ci5pbmNsdWRlcygnXFxuJykpKVxuICAgICAgICAgICAgcmVxTmV3bGluZSA9IHRydWU7XG4gICAgICAgIGxpbmVzLnB1c2goc3RyKTtcbiAgICAgICAgbGluZXNBdFZhbHVlID0gbGluZXMubGVuZ3RoO1xuICAgIH1cbiAgICBjb25zdCB7IHN0YXJ0LCBlbmQgfSA9IGZsb3dDaGFycztcbiAgICBpZiAobGluZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBzdGFydCArIGVuZDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGlmICghcmVxTmV3bGluZSkge1xuICAgICAgICAgICAgY29uc3QgbGVuID0gbGluZXMucmVkdWNlKChzdW0sIGxpbmUpID0+IHN1bSArIGxpbmUubGVuZ3RoICsgMiwgMik7XG4gICAgICAgICAgICByZXFOZXdsaW5lID0gY3R4Lm9wdGlvbnMubGluZVdpZHRoID4gMCAmJiBsZW4gPiBjdHgub3B0aW9ucy5saW5lV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHJlcU5ld2xpbmUpIHtcbiAgICAgICAgICAgIGxldCBzdHIgPSBzdGFydDtcbiAgICAgICAgICAgIGZvciAoY29uc3QgbGluZSBvZiBsaW5lcylcbiAgICAgICAgICAgICAgICBzdHIgKz0gbGluZSA/IGBcXG4ke2luZGVudFN0ZXB9JHtpbmRlbnR9JHtsaW5lfWAgOiAnXFxuJztcbiAgICAgICAgICAgIHJldHVybiBgJHtzdHJ9XFxuJHtpbmRlbnR9JHtlbmR9YDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBgJHtzdGFydH0ke2ZjUGFkZGluZ30ke2xpbmVzLmpvaW4oJyAnKX0ke2ZjUGFkZGluZ30ke2VuZH1gO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gYWRkQ29tbWVudEJlZm9yZSh7IGluZGVudCwgb3B0aW9uczogeyBjb21tZW50U3RyaW5nIH0gfSwgbGluZXMsIGNvbW1lbnQsIGNob21wS2VlcCkge1xuICAgIGlmIChjb21tZW50ICYmIGNob21wS2VlcClcbiAgICAgICAgY29tbWVudCA9IGNvbW1lbnQucmVwbGFjZSgvXlxcbisvLCAnJyk7XG4gICAgaWYgKGNvbW1lbnQpIHtcbiAgICAgICAgY29uc3QgaWMgPSBzdHJpbmdpZnlDb21tZW50LmluZGVudENvbW1lbnQoY29tbWVudFN0cmluZyhjb21tZW50KSwgaW5kZW50KTtcbiAgICAgICAgbGluZXMucHVzaChpYy50cmltU3RhcnQoKSk7IC8vIEF2b2lkIGRvdWJsZSBpbmRlbnQgb24gZmlyc3QgbGluZVxuICAgIH1cbn1cblxuZXhwb3J0cy5zdHJpbmdpZnlDb2xsZWN0aW9uID0gc3RyaW5naWZ5Q29sbGVjdGlvbjtcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBzdHJpbmdpZnlDb2xsZWN0aW9uID0gcmVxdWlyZSgnLi4vc3RyaW5naWZ5L3N0cmluZ2lmeUNvbGxlY3Rpb24uanMnKTtcbnZhciBhZGRQYWlyVG9KU01hcCA9IHJlcXVpcmUoJy4vYWRkUGFpclRvSlNNYXAuanMnKTtcbnZhciBDb2xsZWN0aW9uID0gcmVxdWlyZSgnLi9Db2xsZWN0aW9uLmpzJyk7XG52YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuL2lkZW50aXR5LmpzJyk7XG52YXIgUGFpciA9IHJlcXVpcmUoJy4vUGFpci5qcycpO1xudmFyIFNjYWxhciA9IHJlcXVpcmUoJy4vU2NhbGFyLmpzJyk7XG5cbmZ1bmN0aW9uIGZpbmRQYWlyKGl0ZW1zLCBrZXkpIHtcbiAgICBjb25zdCBrID0gaWRlbnRpdHkuaXNTY2FsYXIoa2V5KSA/IGtleS52YWx1ZSA6IGtleTtcbiAgICBmb3IgKGNvbnN0IGl0IG9mIGl0ZW1zKSB7XG4gICAgICAgIGlmIChpZGVudGl0eS5pc1BhaXIoaXQpKSB7XG4gICAgICAgICAgICBpZiAoaXQua2V5ID09PSBrZXkgfHwgaXQua2V5ID09PSBrKVxuICAgICAgICAgICAgICAgIHJldHVybiBpdDtcbiAgICAgICAgICAgIGlmIChpZGVudGl0eS5pc1NjYWxhcihpdC5rZXkpICYmIGl0LmtleS52YWx1ZSA9PT0gaylcbiAgICAgICAgICAgICAgICByZXR1cm4gaXQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbmNsYXNzIFlBTUxNYXAgZXh0ZW5kcyBDb2xsZWN0aW9uLkNvbGxlY3Rpb24ge1xuICAgIHN0YXRpYyBnZXQgdGFnTmFtZSgpIHtcbiAgICAgICAgcmV0dXJuICd0YWc6eWFtbC5vcmcsMjAwMjptYXAnO1xuICAgIH1cbiAgICBjb25zdHJ1Y3RvcihzY2hlbWEpIHtcbiAgICAgICAgc3VwZXIoaWRlbnRpdHkuTUFQLCBzY2hlbWEpO1xuICAgICAgICB0aGlzLml0ZW1zID0gW107XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEEgZ2VuZXJpYyBjb2xsZWN0aW9uIHBhcnNpbmcgbWV0aG9kIHRoYXQgY2FuIGJlIGV4dGVuZGVkXG4gICAgICogdG8gb3RoZXIgbm9kZSBjbGFzc2VzIHRoYXQgaW5oZXJpdCBmcm9tIFlBTUxNYXBcbiAgICAgKi9cbiAgICBzdGF0aWMgZnJvbShzY2hlbWEsIG9iaiwgY3R4KSB7XG4gICAgICAgIGNvbnN0IHsga2VlcFVuZGVmaW5lZCwgcmVwbGFjZXIgfSA9IGN0eDtcbiAgICAgICAgY29uc3QgbWFwID0gbmV3IHRoaXMoc2NoZW1hKTtcbiAgICAgICAgY29uc3QgYWRkID0gKGtleSwgdmFsdWUpID0+IHtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgcmVwbGFjZXIgPT09ICdmdW5jdGlvbicpXG4gICAgICAgICAgICAgICAgdmFsdWUgPSByZXBsYWNlci5jYWxsKG9iaiwga2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICBlbHNlIGlmIChBcnJheS5pc0FycmF5KHJlcGxhY2VyKSAmJiAhcmVwbGFjZXIuaW5jbHVkZXMoa2V5KSlcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCB8fCBrZWVwVW5kZWZpbmVkKVxuICAgICAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKFBhaXIuY3JlYXRlUGFpcihrZXksIHZhbHVlLCBjdHgpKTtcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKG9iaiBpbnN0YW5jZW9mIE1hcCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2Ygb2JqKVxuICAgICAgICAgICAgICAgIGFkZChrZXksIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChvYmogJiYgdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKG9iaikpXG4gICAgICAgICAgICAgICAgYWRkKGtleSwgb2JqW2tleV0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2Ygc2NoZW1hLnNvcnRNYXBFbnRyaWVzID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBtYXAuaXRlbXMuc29ydChzY2hlbWEuc29ydE1hcEVudHJpZXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEFkZHMgYSB2YWx1ZSB0byB0aGUgY29sbGVjdGlvbi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvdmVyd3JpdGUgLSBJZiBub3Qgc2V0IGB0cnVlYCwgdXNpbmcgYSBrZXkgdGhhdCBpcyBhbHJlYWR5IGluIHRoZVxuICAgICAqICAgY29sbGVjdGlvbiB3aWxsIHRocm93LiBPdGhlcndpc2UsIG92ZXJ3cml0ZXMgdGhlIHByZXZpb3VzIHZhbHVlLlxuICAgICAqL1xuICAgIGFkZChwYWlyLCBvdmVyd3JpdGUpIHtcbiAgICAgICAgbGV0IF9wYWlyO1xuICAgICAgICBpZiAoaWRlbnRpdHkuaXNQYWlyKHBhaXIpKVxuICAgICAgICAgICAgX3BhaXIgPSBwYWlyO1xuICAgICAgICBlbHNlIGlmICghcGFpciB8fCB0eXBlb2YgcGFpciAhPT0gJ29iamVjdCcgfHwgISgna2V5JyBpbiBwYWlyKSkge1xuICAgICAgICAgICAgLy8gSW4gVHlwZVNjcmlwdCwgdGhpcyBuZXZlciBoYXBwZW5zLlxuICAgICAgICAgICAgX3BhaXIgPSBuZXcgUGFpci5QYWlyKHBhaXIsIHBhaXI/LnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBfcGFpciA9IG5ldyBQYWlyLlBhaXIocGFpci5rZXksIHBhaXIudmFsdWUpO1xuICAgICAgICBjb25zdCBwcmV2ID0gZmluZFBhaXIodGhpcy5pdGVtcywgX3BhaXIua2V5KTtcbiAgICAgICAgY29uc3Qgc29ydEVudHJpZXMgPSB0aGlzLnNjaGVtYT8uc29ydE1hcEVudHJpZXM7XG4gICAgICAgIGlmIChwcmV2KSB7XG4gICAgICAgICAgICBpZiAoIW92ZXJ3cml0ZSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYEtleSAke19wYWlyLmtleX0gYWxyZWFkeSBzZXRgKTtcbiAgICAgICAgICAgIC8vIEZvciBzY2FsYXJzLCBrZWVwIHRoZSBvbGQgbm9kZSAmIGl0cyBjb21tZW50cyBhbmQgYW5jaG9yc1xuICAgICAgICAgICAgaWYgKGlkZW50aXR5LmlzU2NhbGFyKHByZXYudmFsdWUpICYmIFNjYWxhci5pc1NjYWxhclZhbHVlKF9wYWlyLnZhbHVlKSlcbiAgICAgICAgICAgICAgICBwcmV2LnZhbHVlLnZhbHVlID0gX3BhaXIudmFsdWU7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgcHJldi52YWx1ZSA9IF9wYWlyLnZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHNvcnRFbnRyaWVzKSB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5pdGVtcy5maW5kSW5kZXgoaXRlbSA9PiBzb3J0RW50cmllcyhfcGFpciwgaXRlbSkgPCAwKTtcbiAgICAgICAgICAgIGlmIChpID09PSAtMSlcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1zLnB1c2goX3BhaXIpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKGksIDAsIF9wYWlyKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuaXRlbXMucHVzaChfcGFpcik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZGVsZXRlKGtleSkge1xuICAgICAgICBjb25zdCBpdCA9IGZpbmRQYWlyKHRoaXMuaXRlbXMsIGtleSk7XG4gICAgICAgIGlmICghaXQpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGNvbnN0IGRlbCA9IHRoaXMuaXRlbXMuc3BsaWNlKHRoaXMuaXRlbXMuaW5kZXhPZihpdCksIDEpO1xuICAgICAgICByZXR1cm4gZGVsLmxlbmd0aCA+IDA7XG4gICAgfVxuICAgIGdldChrZXksIGtlZXBTY2FsYXIpIHtcbiAgICAgICAgY29uc3QgaXQgPSBmaW5kUGFpcih0aGlzLml0ZW1zLCBrZXkpO1xuICAgICAgICBjb25zdCBub2RlID0gaXQ/LnZhbHVlO1xuICAgICAgICByZXR1cm4gKCFrZWVwU2NhbGFyICYmIGlkZW50aXR5LmlzU2NhbGFyKG5vZGUpID8gbm9kZS52YWx1ZSA6IG5vZGUpID8/IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgaGFzKGtleSkge1xuICAgICAgICByZXR1cm4gISFmaW5kUGFpcih0aGlzLml0ZW1zLCBrZXkpO1xuICAgIH1cbiAgICBzZXQoa2V5LCB2YWx1ZSkge1xuICAgICAgICB0aGlzLmFkZChuZXcgUGFpci5QYWlyKGtleSwgdmFsdWUpLCB0cnVlKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQHBhcmFtIGN0eCAtIENvbnZlcnNpb24gY29udGV4dCwgb3JpZ2luYWxseSBzZXQgaW4gRG9jdW1lbnQjdG9KUygpXG4gICAgICogQHBhcmFtIHtDbGFzc30gVHlwZSAtIElmIHNldCwgZm9yY2VzIHRoZSByZXR1cm5lZCBjb2xsZWN0aW9uIHR5cGVcbiAgICAgKiBAcmV0dXJucyBJbnN0YW5jZSBvZiBUeXBlLCBNYXAsIG9yIE9iamVjdFxuICAgICAqL1xuICAgIHRvSlNPTihfLCBjdHgsIFR5cGUpIHtcbiAgICAgICAgY29uc3QgbWFwID0gVHlwZSA/IG5ldyBUeXBlKCkgOiBjdHg/Lm1hcEFzTWFwID8gbmV3IE1hcCgpIDoge307XG4gICAgICAgIGlmIChjdHg/Lm9uQ3JlYXRlKVxuICAgICAgICAgICAgY3R4Lm9uQ3JlYXRlKG1hcCk7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLml0ZW1zKVxuICAgICAgICAgICAgYWRkUGFpclRvSlNNYXAuYWRkUGFpclRvSlNNYXAoY3R4LCBtYXAsIGl0ZW0pO1xuICAgICAgICByZXR1cm4gbWFwO1xuICAgIH1cbiAgICB0b1N0cmluZyhjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApIHtcbiAgICAgICAgaWYgKCFjdHgpXG4gICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcyk7XG4gICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0aGlzLml0ZW1zKSB7XG4gICAgICAgICAgICBpZiAoIWlkZW50aXR5LmlzUGFpcihpdGVtKSlcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1hcCBpdGVtcyBtdXN0IGFsbCBiZSBwYWlyczsgZm91bmQgJHtKU09OLnN0cmluZ2lmeShpdGVtKX0gaW5zdGVhZGApO1xuICAgICAgICB9XG4gICAgICAgIGlmICghY3R4LmFsbE51bGxWYWx1ZXMgJiYgdGhpcy5oYXNBbGxOdWxsVmFsdWVzKGZhbHNlKSlcbiAgICAgICAgICAgIGN0eCA9IE9iamVjdC5hc3NpZ24oe30sIGN0eCwgeyBhbGxOdWxsVmFsdWVzOiB0cnVlIH0pO1xuICAgICAgICByZXR1cm4gc3RyaW5naWZ5Q29sbGVjdGlvbi5zdHJpbmdpZnlDb2xsZWN0aW9uKHRoaXMsIGN0eCwge1xuICAgICAgICAgICAgYmxvY2tJdGVtUHJlZml4OiAnJyxcbiAgICAgICAgICAgIGZsb3dDaGFyczogeyBzdGFydDogJ3snLCBlbmQ6ICd9JyB9LFxuICAgICAgICAgICAgaXRlbUluZGVudDogY3R4LmluZGVudCB8fCAnJyxcbiAgICAgICAgICAgIG9uQ2hvbXBLZWVwLFxuICAgICAgICAgICAgb25Db21tZW50XG4gICAgICAgIH0pO1xuICAgIH1cbn1cblxuZXhwb3J0cy5ZQU1MTWFwID0gWUFNTE1hcDtcbmV4cG9ydHMuZmluZFBhaXIgPSBmaW5kUGFpcjtcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBpZGVudGl0eSA9IHJlcXVpcmUoJy4uLy4uL25vZGVzL2lkZW50aXR5LmpzJyk7XG52YXIgWUFNTE1hcCA9IHJlcXVpcmUoJy4uLy4uL25vZGVzL1lBTUxNYXAuanMnKTtcblxuY29uc3QgbWFwID0ge1xuICAgIGNvbGxlY3Rpb246ICdtYXAnLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgbm9kZUNsYXNzOiBZQU1MTWFwLllBTUxNYXAsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6bWFwJyxcbiAgICByZXNvbHZlKG1hcCwgb25FcnJvcikge1xuICAgICAgICBpZiAoIWlkZW50aXR5LmlzTWFwKG1hcCkpXG4gICAgICAgICAgICBvbkVycm9yKCdFeHBlY3RlZCBhIG1hcHBpbmcgZm9yIHRoaXMgdGFnJyk7XG4gICAgICAgIHJldHVybiBtYXA7XG4gICAgfSxcbiAgICBjcmVhdGVOb2RlOiAoc2NoZW1hLCBvYmosIGN0eCkgPT4gWUFNTE1hcC5ZQU1MTWFwLmZyb20oc2NoZW1hLCBvYmosIGN0eClcbn07XG5cbmV4cG9ydHMubWFwID0gbWFwO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIGNyZWF0ZU5vZGUgPSByZXF1aXJlKCcuLi9kb2MvY3JlYXRlTm9kZS5qcycpO1xudmFyIHN0cmluZ2lmeUNvbGxlY3Rpb24gPSByZXF1aXJlKCcuLi9zdHJpbmdpZnkvc3RyaW5naWZ5Q29sbGVjdGlvbi5qcycpO1xudmFyIENvbGxlY3Rpb24gPSByZXF1aXJlKCcuL0NvbGxlY3Rpb24uanMnKTtcbnZhciBpZGVudGl0eSA9IHJlcXVpcmUoJy4vaWRlbnRpdHkuanMnKTtcbnZhciBTY2FsYXIgPSByZXF1aXJlKCcuL1NjYWxhci5qcycpO1xudmFyIHRvSlMgPSByZXF1aXJlKCcuL3RvSlMuanMnKTtcblxuY2xhc3MgWUFNTFNlcSBleHRlbmRzIENvbGxlY3Rpb24uQ29sbGVjdGlvbiB7XG4gICAgc3RhdGljIGdldCB0YWdOYW1lKCkge1xuICAgICAgICByZXR1cm4gJ3RhZzp5YW1sLm9yZywyMDAyOnNlcSc7XG4gICAgfVxuICAgIGNvbnN0cnVjdG9yKHNjaGVtYSkge1xuICAgICAgICBzdXBlcihpZGVudGl0eS5TRVEsIHNjaGVtYSk7XG4gICAgICAgIHRoaXMuaXRlbXMgPSBbXTtcbiAgICB9XG4gICAgYWRkKHZhbHVlKSB7XG4gICAgICAgIHRoaXMuaXRlbXMucHVzaCh2YWx1ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJlbW92ZXMgYSB2YWx1ZSBmcm9tIHRoZSBjb2xsZWN0aW9uLlxuICAgICAqXG4gICAgICogYGtleWAgbXVzdCBjb250YWluIGEgcmVwcmVzZW50YXRpb24gb2YgYW4gaW50ZWdlciBmb3IgdGhpcyB0byBzdWNjZWVkLlxuICAgICAqIEl0IG1heSBiZSB3cmFwcGVkIGluIGEgYFNjYWxhcmAuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGl0ZW0gd2FzIGZvdW5kIGFuZCByZW1vdmVkLlxuICAgICAqL1xuICAgIGRlbGV0ZShrZXkpIHtcbiAgICAgICAgY29uc3QgaWR4ID0gYXNJdGVtSW5kZXgoa2V5KTtcbiAgICAgICAgaWYgKHR5cGVvZiBpZHggIT09ICdudW1iZXInKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBjb25zdCBkZWwgPSB0aGlzLml0ZW1zLnNwbGljZShpZHgsIDEpO1xuICAgICAgICByZXR1cm4gZGVsLmxlbmd0aCA+IDA7XG4gICAgfVxuICAgIGdldChrZXksIGtlZXBTY2FsYXIpIHtcbiAgICAgICAgY29uc3QgaWR4ID0gYXNJdGVtSW5kZXgoa2V5KTtcbiAgICAgICAgaWYgKHR5cGVvZiBpZHggIT09ICdudW1iZXInKVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgY29uc3QgaXQgPSB0aGlzLml0ZW1zW2lkeF07XG4gICAgICAgIHJldHVybiAha2VlcFNjYWxhciAmJiBpZGVudGl0eS5pc1NjYWxhcihpdCkgPyBpdC52YWx1ZSA6IGl0O1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGNvbGxlY3Rpb24gaW5jbHVkZXMgYSB2YWx1ZSB3aXRoIHRoZSBrZXkgYGtleWAuXG4gICAgICpcbiAgICAgKiBga2V5YCBtdXN0IGNvbnRhaW4gYSByZXByZXNlbnRhdGlvbiBvZiBhbiBpbnRlZ2VyIGZvciB0aGlzIHRvIHN1Y2NlZWQuXG4gICAgICogSXQgbWF5IGJlIHdyYXBwZWQgaW4gYSBgU2NhbGFyYC5cbiAgICAgKi9cbiAgICBoYXMoa2V5KSB7XG4gICAgICAgIGNvbnN0IGlkeCA9IGFzSXRlbUluZGV4KGtleSk7XG4gICAgICAgIHJldHVybiB0eXBlb2YgaWR4ID09PSAnbnVtYmVyJyAmJiBpZHggPCB0aGlzLml0ZW1zLmxlbmd0aDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU2V0cyBhIHZhbHVlIGluIHRoaXMgY29sbGVjdGlvbi4gRm9yIGAhIXNldGAsIGB2YWx1ZWAgbmVlZHMgdG8gYmUgYVxuICAgICAqIGJvb2xlYW4gdG8gYWRkL3JlbW92ZSB0aGUgaXRlbSBmcm9tIHRoZSBzZXQuXG4gICAgICpcbiAgICAgKiBJZiBga2V5YCBkb2VzIG5vdCBjb250YWluIGEgcmVwcmVzZW50YXRpb24gb2YgYW4gaW50ZWdlciwgdGhpcyB3aWxsIHRocm93LlxuICAgICAqIEl0IG1heSBiZSB3cmFwcGVkIGluIGEgYFNjYWxhcmAuXG4gICAgICovXG4gICAgc2V0KGtleSwgdmFsdWUpIHtcbiAgICAgICAgY29uc3QgaWR4ID0gYXNJdGVtSW5kZXgoa2V5KTtcbiAgICAgICAgaWYgKHR5cGVvZiBpZHggIT09ICdudW1iZXInKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBFeHBlY3RlZCBhIHZhbGlkIGluZGV4LCBub3QgJHtrZXl9LmApO1xuICAgICAgICBjb25zdCBwcmV2ID0gdGhpcy5pdGVtc1tpZHhdO1xuICAgICAgICBpZiAoaWRlbnRpdHkuaXNTY2FsYXIocHJldikgJiYgU2NhbGFyLmlzU2NhbGFyVmFsdWUodmFsdWUpKVxuICAgICAgICAgICAgcHJldi52YWx1ZSA9IHZhbHVlO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aGlzLml0ZW1zW2lkeF0gPSB2YWx1ZTtcbiAgICB9XG4gICAgdG9KU09OKF8sIGN0eCkge1xuICAgICAgICBjb25zdCBzZXEgPSBbXTtcbiAgICAgICAgaWYgKGN0eD8ub25DcmVhdGUpXG4gICAgICAgICAgICBjdHgub25DcmVhdGUoc2VxKTtcbiAgICAgICAgbGV0IGkgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5pdGVtcylcbiAgICAgICAgICAgIHNlcS5wdXNoKHRvSlMudG9KUyhpdGVtLCBTdHJpbmcoaSsrKSwgY3R4KSk7XG4gICAgICAgIHJldHVybiBzZXE7XG4gICAgfVxuICAgIHRvU3RyaW5nKGN0eCwgb25Db21tZW50LCBvbkNob21wS2VlcCkge1xuICAgICAgICBpZiAoIWN0eClcbiAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzKTtcbiAgICAgICAgcmV0dXJuIHN0cmluZ2lmeUNvbGxlY3Rpb24uc3RyaW5naWZ5Q29sbGVjdGlvbih0aGlzLCBjdHgsIHtcbiAgICAgICAgICAgIGJsb2NrSXRlbVByZWZpeDogJy0gJyxcbiAgICAgICAgICAgIGZsb3dDaGFyczogeyBzdGFydDogJ1snLCBlbmQ6ICddJyB9LFxuICAgICAgICAgICAgaXRlbUluZGVudDogKGN0eC5pbmRlbnQgfHwgJycpICsgJyAgJyxcbiAgICAgICAgICAgIG9uQ2hvbXBLZWVwLFxuICAgICAgICAgICAgb25Db21tZW50XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBzdGF0aWMgZnJvbShzY2hlbWEsIG9iaiwgY3R4KSB7XG4gICAgICAgIGNvbnN0IHsgcmVwbGFjZXIgfSA9IGN0eDtcbiAgICAgICAgY29uc3Qgc2VxID0gbmV3IHRoaXMoc2NoZW1hKTtcbiAgICAgICAgaWYgKG9iaiAmJiBTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KG9iaikpIHtcbiAgICAgICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgICAgIGZvciAobGV0IGl0IG9mIG9iaikge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgcmVwbGFjZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gb2JqIGluc3RhbmNlb2YgU2V0ID8gaXQgOiBTdHJpbmcoaSsrKTtcbiAgICAgICAgICAgICAgICAgICAgaXQgPSByZXBsYWNlci5jYWxsKG9iaiwga2V5LCBpdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlcS5pdGVtcy5wdXNoKGNyZWF0ZU5vZGUuY3JlYXRlTm9kZShpdCwgdW5kZWZpbmVkLCBjdHgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2VxO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGFzSXRlbUluZGV4KGtleSkge1xuICAgIGxldCBpZHggPSBpZGVudGl0eS5pc1NjYWxhcihrZXkpID8ga2V5LnZhbHVlIDoga2V5O1xuICAgIGlmIChpZHggJiYgdHlwZW9mIGlkeCA9PT0gJ3N0cmluZycpXG4gICAgICAgIGlkeCA9IE51bWJlcihpZHgpO1xuICAgIHJldHVybiB0eXBlb2YgaWR4ID09PSAnbnVtYmVyJyAmJiBOdW1iZXIuaXNJbnRlZ2VyKGlkeCkgJiYgaWR4ID49IDBcbiAgICAgICAgPyBpZHhcbiAgICAgICAgOiBudWxsO1xufVxuXG5leHBvcnRzLllBTUxTZXEgPSBZQU1MU2VxO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIGlkZW50aXR5ID0gcmVxdWlyZSgnLi4vLi4vbm9kZXMvaWRlbnRpdHkuanMnKTtcbnZhciBZQU1MU2VxID0gcmVxdWlyZSgnLi4vLi4vbm9kZXMvWUFNTFNlcS5qcycpO1xuXG5jb25zdCBzZXEgPSB7XG4gICAgY29sbGVjdGlvbjogJ3NlcScsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICBub2RlQ2xhc3M6IFlBTUxTZXEuWUFNTFNlcSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpzZXEnLFxuICAgIHJlc29sdmUoc2VxLCBvbkVycm9yKSB7XG4gICAgICAgIGlmICghaWRlbnRpdHkuaXNTZXEoc2VxKSlcbiAgICAgICAgICAgIG9uRXJyb3IoJ0V4cGVjdGVkIGEgc2VxdWVuY2UgZm9yIHRoaXMgdGFnJyk7XG4gICAgICAgIHJldHVybiBzZXE7XG4gICAgfSxcbiAgICBjcmVhdGVOb2RlOiAoc2NoZW1hLCBvYmosIGN0eCkgPT4gWUFNTFNlcS5ZQU1MU2VxLmZyb20oc2NoZW1hLCBvYmosIGN0eClcbn07XG5cbmV4cG9ydHMuc2VxID0gc2VxO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIHN0cmluZ2lmeVN0cmluZyA9IHJlcXVpcmUoJy4uLy4uL3N0cmluZ2lmeS9zdHJpbmdpZnlTdHJpbmcuanMnKTtcblxuY29uc3Qgc3RyaW5nID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6c3RyJyxcbiAgICByZXNvbHZlOiBzdHIgPT4gc3RyLFxuICAgIHN0cmluZ2lmeShpdGVtLCBjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApIHtcbiAgICAgICAgY3R4ID0gT2JqZWN0LmFzc2lnbih7IGFjdHVhbFN0cmluZzogdHJ1ZSB9LCBjdHgpO1xuICAgICAgICByZXR1cm4gc3RyaW5naWZ5U3RyaW5nLnN0cmluZ2lmeVN0cmluZyhpdGVtLCBjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApO1xuICAgIH1cbn07XG5cbmV4cG9ydHMuc3RyaW5nID0gc3RyaW5nO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIFNjYWxhciA9IHJlcXVpcmUoJy4uLy4uL25vZGVzL1NjYWxhci5qcycpO1xuXG5jb25zdCBudWxsVGFnID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB2YWx1ZSA9PSBudWxsLFxuICAgIGNyZWF0ZU5vZGU6ICgpID0+IG5ldyBTY2FsYXIuU2NhbGFyKG51bGwpLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6bnVsbCcsXG4gICAgdGVzdDogL14oPzp+fFtObl11bGx8TlVMTCk/JC8sXG4gICAgcmVzb2x2ZTogKCkgPT4gbmV3IFNjYWxhci5TY2FsYXIobnVsbCksXG4gICAgc3RyaW5naWZ5OiAoeyBzb3VyY2UgfSwgY3R4KSA9PiB0eXBlb2Ygc291cmNlID09PSAnc3RyaW5nJyAmJiBudWxsVGFnLnRlc3QudGVzdChzb3VyY2UpXG4gICAgICAgID8gc291cmNlXG4gICAgICAgIDogY3R4Lm9wdGlvbnMubnVsbFN0clxufTtcblxuZXhwb3J0cy5udWxsVGFnID0gbnVsbFRhZztcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBTY2FsYXIgPSByZXF1aXJlKCcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnKTtcblxuY29uc3QgYm9vbFRhZyA9IHtcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpib29sJyxcbiAgICB0ZXN0OiAvXig/OltUdF1ydWV8VFJVRXxbRmZdYWxzZXxGQUxTRSkkLyxcbiAgICByZXNvbHZlOiBzdHIgPT4gbmV3IFNjYWxhci5TY2FsYXIoc3RyWzBdID09PSAndCcgfHwgc3RyWzBdID09PSAnVCcpLFxuICAgIHN0cmluZ2lmeSh7IHNvdXJjZSwgdmFsdWUgfSwgY3R4KSB7XG4gICAgICAgIGlmIChzb3VyY2UgJiYgYm9vbFRhZy50ZXN0LnRlc3Qoc291cmNlKSkge1xuICAgICAgICAgICAgY29uc3Qgc3YgPSBzb3VyY2VbMF0gPT09ICd0JyB8fCBzb3VyY2VbMF0gPT09ICdUJztcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gc3YpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHNvdXJjZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsdWUgPyBjdHgub3B0aW9ucy50cnVlU3RyIDogY3R4Lm9wdGlvbnMuZmFsc2VTdHI7XG4gICAgfVxufTtcblxuZXhwb3J0cy5ib29sVGFnID0gYm9vbFRhZztcbiIsICIndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeU51bWJlcih7IGZvcm1hdCwgbWluRnJhY3Rpb25EaWdpdHMsIHRhZywgdmFsdWUgfSkge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdiaWdpbnQnKVxuICAgICAgICByZXR1cm4gU3RyaW5nKHZhbHVlKTtcbiAgICBjb25zdCBudW0gPSB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInID8gdmFsdWUgOiBOdW1iZXIodmFsdWUpO1xuICAgIGlmICghaXNGaW5pdGUobnVtKSlcbiAgICAgICAgcmV0dXJuIGlzTmFOKG51bSkgPyAnLm5hbicgOiBudW0gPCAwID8gJy0uaW5mJyA6ICcuaW5mJztcbiAgICBsZXQgbiA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICBpZiAoIWZvcm1hdCAmJlxuICAgICAgICBtaW5GcmFjdGlvbkRpZ2l0cyAmJlxuICAgICAgICAoIXRhZyB8fCB0YWcgPT09ICd0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCcpICYmXG4gICAgICAgIC9eXFxkLy50ZXN0KG4pKSB7XG4gICAgICAgIGxldCBpID0gbi5pbmRleE9mKCcuJyk7XG4gICAgICAgIGlmIChpIDwgMCkge1xuICAgICAgICAgICAgaSA9IG4ubGVuZ3RoO1xuICAgICAgICAgICAgbiArPSAnLic7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGQgPSBtaW5GcmFjdGlvbkRpZ2l0cyAtIChuLmxlbmd0aCAtIGkgLSAxKTtcbiAgICAgICAgd2hpbGUgKGQtLSA+IDApXG4gICAgICAgICAgICBuICs9ICcwJztcbiAgICB9XG4gICAgcmV0dXJuIG47XG59XG5cbmV4cG9ydHMuc3RyaW5naWZ5TnVtYmVyID0gc3RyaW5naWZ5TnVtYmVyO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIFNjYWxhciA9IHJlcXVpcmUoJy4uLy4uL25vZGVzL1NjYWxhci5qcycpO1xudmFyIHN0cmluZ2lmeU51bWJlciA9IHJlcXVpcmUoJy4uLy4uL3N0cmluZ2lmeS9zdHJpbmdpZnlOdW1iZXIuanMnKTtcblxuY29uc3QgZmxvYXROYU4gPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCcsXG4gICAgdGVzdDogL14oPzpbLStdP1xcLig/OmluZnxJbmZ8SU5GKXxcXC5uYW58XFwuTmFOfFxcLk5BTikkLyxcbiAgICByZXNvbHZlOiBzdHIgPT4gc3RyLnNsaWNlKC0zKS50b0xvd2VyQ2FzZSgpID09PSAnbmFuJ1xuICAgICAgICA/IE5hTlxuICAgICAgICA6IHN0clswXSA9PT0gJy0nXG4gICAgICAgICAgICA/IE51bWJlci5ORUdBVElWRV9JTkZJTklUWVxuICAgICAgICAgICAgOiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksXG4gICAgc3RyaW5naWZ5OiBzdHJpbmdpZnlOdW1iZXIuc3RyaW5naWZ5TnVtYmVyXG59O1xuY29uc3QgZmxvYXRFeHAgPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCcsXG4gICAgZm9ybWF0OiAnRVhQJyxcbiAgICB0ZXN0OiAvXlstK10/KD86XFwuWzAtOV0rfFswLTldKyg/OlxcLlswLTldKik/KVtlRV1bLStdP1swLTldKyQvLFxuICAgIHJlc29sdmU6IHN0ciA9PiBwYXJzZUZsb2F0KHN0ciksXG4gICAgc3RyaW5naWZ5KG5vZGUpIHtcbiAgICAgICAgY29uc3QgbnVtID0gTnVtYmVyKG5vZGUudmFsdWUpO1xuICAgICAgICByZXR1cm4gaXNGaW5pdGUobnVtKSA/IG51bS50b0V4cG9uZW50aWFsKCkgOiBzdHJpbmdpZnlOdW1iZXIuc3RyaW5naWZ5TnVtYmVyKG5vZGUpO1xuICAgIH1cbn07XG5jb25zdCBmbG9hdCA9IHtcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyxcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmZsb2F0JyxcbiAgICB0ZXN0OiAvXlstK10/KD86XFwuWzAtOV0rfFswLTldK1xcLlswLTldKikkLyxcbiAgICByZXNvbHZlKHN0cikge1xuICAgICAgICBjb25zdCBub2RlID0gbmV3IFNjYWxhci5TY2FsYXIocGFyc2VGbG9hdChzdHIpKTtcbiAgICAgICAgY29uc3QgZG90ID0gc3RyLmluZGV4T2YoJy4nKTtcbiAgICAgICAgaWYgKGRvdCAhPT0gLTEgJiYgc3RyW3N0ci5sZW5ndGggLSAxXSA9PT0gJzAnKVxuICAgICAgICAgICAgbm9kZS5taW5GcmFjdGlvbkRpZ2l0cyA9IHN0ci5sZW5ndGggLSBkb3QgLSAxO1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICB9LFxuICAgIHN0cmluZ2lmeTogc3RyaW5naWZ5TnVtYmVyLnN0cmluZ2lmeU51bWJlclxufTtcblxuZXhwb3J0cy5mbG9hdCA9IGZsb2F0O1xuZXhwb3J0cy5mbG9hdEV4cCA9IGZsb2F0RXhwO1xuZXhwb3J0cy5mbG9hdE5hTiA9IGZsb2F0TmFOO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIHN0cmluZ2lmeU51bWJlciA9IHJlcXVpcmUoJy4uLy4uL3N0cmluZ2lmeS9zdHJpbmdpZnlOdW1iZXIuanMnKTtcblxuY29uc3QgaW50SWRlbnRpZnkgPSAodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ2JpZ2ludCcgfHwgTnVtYmVyLmlzSW50ZWdlcih2YWx1ZSk7XG5jb25zdCBpbnRSZXNvbHZlID0gKHN0ciwgb2Zmc2V0LCByYWRpeCwgeyBpbnRBc0JpZ0ludCB9KSA9PiAoaW50QXNCaWdJbnQgPyBCaWdJbnQoc3RyKSA6IHBhcnNlSW50KHN0ci5zdWJzdHJpbmcob2Zmc2V0KSwgcmFkaXgpKTtcbmZ1bmN0aW9uIGludFN0cmluZ2lmeShub2RlLCByYWRpeCwgcHJlZml4KSB7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gbm9kZTtcbiAgICBpZiAoaW50SWRlbnRpZnkodmFsdWUpICYmIHZhbHVlID49IDApXG4gICAgICAgIHJldHVybiBwcmVmaXggKyB2YWx1ZS50b1N0cmluZyhyYWRpeCk7XG4gICAgcmV0dXJuIHN0cmluZ2lmeU51bWJlci5zdHJpbmdpZnlOdW1iZXIobm9kZSk7XG59XG5jb25zdCBpbnRPY3QgPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IGludElkZW50aWZ5KHZhbHVlKSAmJiB2YWx1ZSA+PSAwLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6aW50JyxcbiAgICBmb3JtYXQ6ICdPQ1QnLFxuICAgIHRlc3Q6IC9eMG9bMC03XSskLyxcbiAgICByZXNvbHZlOiAoc3RyLCBfb25FcnJvciwgb3B0KSA9PiBpbnRSZXNvbHZlKHN0ciwgMiwgOCwgb3B0KSxcbiAgICBzdHJpbmdpZnk6IG5vZGUgPT4gaW50U3RyaW5naWZ5KG5vZGUsIDgsICcwbycpXG59O1xuY29uc3QgaW50ID0ge1xuICAgIGlkZW50aWZ5OiBpbnRJZGVudGlmeSxcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmludCcsXG4gICAgdGVzdDogL15bLStdP1swLTldKyQvLFxuICAgIHJlc29sdmU6IChzdHIsIF9vbkVycm9yLCBvcHQpID0+IGludFJlc29sdmUoc3RyLCAwLCAxMCwgb3B0KSxcbiAgICBzdHJpbmdpZnk6IHN0cmluZ2lmeU51bWJlci5zdHJpbmdpZnlOdW1iZXJcbn07XG5jb25zdCBpbnRIZXggPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IGludElkZW50aWZ5KHZhbHVlKSAmJiB2YWx1ZSA+PSAwLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6aW50JyxcbiAgICBmb3JtYXQ6ICdIRVgnLFxuICAgIHRlc3Q6IC9eMHhbMC05YS1mQS1GXSskLyxcbiAgICByZXNvbHZlOiAoc3RyLCBfb25FcnJvciwgb3B0KSA9PiBpbnRSZXNvbHZlKHN0ciwgMiwgMTYsIG9wdCksXG4gICAgc3RyaW5naWZ5OiBub2RlID0+IGludFN0cmluZ2lmeShub2RlLCAxNiwgJzB4Jylcbn07XG5cbmV4cG9ydHMuaW50ID0gaW50O1xuZXhwb3J0cy5pbnRIZXggPSBpbnRIZXg7XG5leHBvcnRzLmludE9jdCA9IGludE9jdDtcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBtYXAgPSByZXF1aXJlKCcuLi9jb21tb24vbWFwLmpzJyk7XG52YXIgX251bGwgPSByZXF1aXJlKCcuLi9jb21tb24vbnVsbC5qcycpO1xudmFyIHNlcSA9IHJlcXVpcmUoJy4uL2NvbW1vbi9zZXEuanMnKTtcbnZhciBzdHJpbmcgPSByZXF1aXJlKCcuLi9jb21tb24vc3RyaW5nLmpzJyk7XG52YXIgYm9vbCA9IHJlcXVpcmUoJy4vYm9vbC5qcycpO1xudmFyIGZsb2F0ID0gcmVxdWlyZSgnLi9mbG9hdC5qcycpO1xudmFyIGludCA9IHJlcXVpcmUoJy4vaW50LmpzJyk7XG5cbmNvbnN0IHNjaGVtYSA9IFtcbiAgICBtYXAubWFwLFxuICAgIHNlcS5zZXEsXG4gICAgc3RyaW5nLnN0cmluZyxcbiAgICBfbnVsbC5udWxsVGFnLFxuICAgIGJvb2wuYm9vbFRhZyxcbiAgICBpbnQuaW50T2N0LFxuICAgIGludC5pbnQsXG4gICAgaW50LmludEhleCxcbiAgICBmbG9hdC5mbG9hdE5hTixcbiAgICBmbG9hdC5mbG9hdEV4cCxcbiAgICBmbG9hdC5mbG9hdFxuXTtcblxuZXhwb3J0cy5zY2hlbWEgPSBzY2hlbWE7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgU2NhbGFyID0gcmVxdWlyZSgnLi4vLi4vbm9kZXMvU2NhbGFyLmpzJyk7XG52YXIgbWFwID0gcmVxdWlyZSgnLi4vY29tbW9uL21hcC5qcycpO1xudmFyIHNlcSA9IHJlcXVpcmUoJy4uL2NvbW1vbi9zZXEuanMnKTtcblxuZnVuY3Rpb24gaW50SWRlbnRpZnkodmFsdWUpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnYmlnaW50JyB8fCBOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKTtcbn1cbmNvbnN0IHN0cmluZ2lmeUpTT04gPSAoeyB2YWx1ZSB9KSA9PiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG5jb25zdCBqc29uU2NhbGFycyA9IFtcbiAgICB7XG4gICAgICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnLFxuICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpzdHInLFxuICAgICAgICByZXNvbHZlOiBzdHIgPT4gc3RyLFxuICAgICAgICBzdHJpbmdpZnk6IHN0cmluZ2lmeUpTT05cbiAgICB9LFxuICAgIHtcbiAgICAgICAgaWRlbnRpZnk6IHZhbHVlID0+IHZhbHVlID09IG51bGwsXG4gICAgICAgIGNyZWF0ZU5vZGU6ICgpID0+IG5ldyBTY2FsYXIuU2NhbGFyKG51bGwpLFxuICAgICAgICBkZWZhdWx0OiB0cnVlLFxuICAgICAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpudWxsJyxcbiAgICAgICAgdGVzdDogL15udWxsJC8sXG4gICAgICAgIHJlc29sdmU6ICgpID0+IG51bGwsXG4gICAgICAgIHN0cmluZ2lmeTogc3RyaW5naWZ5SlNPTlxuICAgIH0sXG4gICAge1xuICAgICAgICBpZGVudGlmeTogdmFsdWUgPT4gdHlwZW9mIHZhbHVlID09PSAnYm9vbGVhbicsXG4gICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmJvb2wnLFxuICAgICAgICB0ZXN0OiAvXnRydWUkfF5mYWxzZSQvLFxuICAgICAgICByZXNvbHZlOiBzdHIgPT4gc3RyID09PSAndHJ1ZScsXG4gICAgICAgIHN0cmluZ2lmeTogc3RyaW5naWZ5SlNPTlxuICAgIH0sXG4gICAge1xuICAgICAgICBpZGVudGlmeTogaW50SWRlbnRpZnksXG4gICAgICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmludCcsXG4gICAgICAgIHRlc3Q6IC9eLT8oPzowfFsxLTldWzAtOV0qKSQvLFxuICAgICAgICByZXNvbHZlOiAoc3RyLCBfb25FcnJvciwgeyBpbnRBc0JpZ0ludCB9KSA9PiBpbnRBc0JpZ0ludCA/IEJpZ0ludChzdHIpIDogcGFyc2VJbnQoc3RyLCAxMCksXG4gICAgICAgIHN0cmluZ2lmeTogKHsgdmFsdWUgfSkgPT4gaW50SWRlbnRpZnkodmFsdWUpID8gdmFsdWUudG9TdHJpbmcoKSA6IEpTT04uc3RyaW5naWZ5KHZhbHVlKVxuICAgIH0sXG4gICAge1xuICAgICAgICBpZGVudGlmeTogdmFsdWUgPT4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyxcbiAgICAgICAgZGVmYXVsdDogdHJ1ZSxcbiAgICAgICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQnLFxuICAgICAgICB0ZXN0OiAvXi0/KD86MHxbMS05XVswLTldKikoPzpcXC5bMC05XSopPyg/OltlRV1bLStdP1swLTldKyk/JC8sXG4gICAgICAgIHJlc29sdmU6IHN0ciA9PiBwYXJzZUZsb2F0KHN0ciksXG4gICAgICAgIHN0cmluZ2lmeTogc3RyaW5naWZ5SlNPTlxuICAgIH1cbl07XG5jb25zdCBqc29uRXJyb3IgPSB7XG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICcnLFxuICAgIHRlc3Q6IC9eLyxcbiAgICByZXNvbHZlKHN0ciwgb25FcnJvcikge1xuICAgICAgICBvbkVycm9yKGBVbnJlc29sdmVkIHBsYWluIHNjYWxhciAke0pTT04uc3RyaW5naWZ5KHN0cil9YCk7XG4gICAgICAgIHJldHVybiBzdHI7XG4gICAgfVxufTtcbmNvbnN0IHNjaGVtYSA9IFttYXAubWFwLCBzZXEuc2VxXS5jb25jYXQoanNvblNjYWxhcnMsIGpzb25FcnJvcik7XG5cbmV4cG9ydHMuc2NoZW1hID0gc2NoZW1hO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIFNjYWxhciA9IHJlcXVpcmUoJy4uLy4uL25vZGVzL1NjYWxhci5qcycpO1xudmFyIHN0cmluZ2lmeVN0cmluZyA9IHJlcXVpcmUoJy4uLy4uL3N0cmluZ2lmeS9zdHJpbmdpZnlTdHJpbmcuanMnKTtcblxuY29uc3QgYmluYXJ5ID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB2YWx1ZSBpbnN0YW5jZW9mIFVpbnQ4QXJyYXksIC8vIEJ1ZmZlciBpbmhlcml0cyBmcm9tIFVpbnQ4QXJyYXlcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpiaW5hcnknLFxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYSBCdWZmZXIgaW4gbm9kZSBhbmQgYW4gVWludDhBcnJheSBpbiBicm93c2Vyc1xuICAgICAqXG4gICAgICogVG8gdXNlIHRoZSByZXN1bHRpbmcgYnVmZmVyIGFzIGFuIGltYWdlLCB5b3UnbGwgd2FudCB0byBkbyBzb21ldGhpbmcgbGlrZTpcbiAgICAgKlxuICAgICAqICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7IHR5cGU6ICdpbWFnZS9qcGVnJyB9KVxuICAgICAqICAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI3Bob3RvJykuc3JjID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKVxuICAgICAqL1xuICAgIHJlc29sdmUoc3JjLCBvbkVycm9yKSB7XG4gICAgICAgIGlmICh0eXBlb2YgQnVmZmVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICByZXR1cm4gQnVmZmVyLmZyb20oc3JjLCAnYmFzZTY0Jyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodHlwZW9mIGF0b2IgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIC8vIE9uIElFIDExLCBhdG9iKCkgY2FuJ3QgaGFuZGxlIG5ld2xpbmVzXG4gICAgICAgICAgICBjb25zdCBzdHIgPSBhdG9iKHNyYy5yZXBsYWNlKC9bXFxuXFxyXS9nLCAnJykpO1xuICAgICAgICAgICAgY29uc3QgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoc3RyLmxlbmd0aCk7XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0ci5sZW5ndGg7ICsraSlcbiAgICAgICAgICAgICAgICBidWZmZXJbaV0gPSBzdHIuY2hhckNvZGVBdChpKTtcbiAgICAgICAgICAgIHJldHVybiBidWZmZXI7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBvbkVycm9yKCdUaGlzIGVudmlyb25tZW50IGRvZXMgbm90IHN1cHBvcnQgcmVhZGluZyBiaW5hcnkgdGFnczsgZWl0aGVyIEJ1ZmZlciBvciBhdG9iIGlzIHJlcXVpcmVkJyk7XG4gICAgICAgICAgICByZXR1cm4gc3JjO1xuICAgICAgICB9XG4gICAgfSxcbiAgICBzdHJpbmdpZnkoeyBjb21tZW50LCB0eXBlLCB2YWx1ZSB9LCBjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApIHtcbiAgICAgICAgY29uc3QgYnVmID0gdmFsdWU7IC8vIGNoZWNrZWQgZWFybGllciBieSBiaW5hcnkuaWRlbnRpZnkoKVxuICAgICAgICBsZXQgc3RyO1xuICAgICAgICBpZiAodHlwZW9mIEJ1ZmZlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgc3RyID1cbiAgICAgICAgICAgICAgICBidWYgaW5zdGFuY2VvZiBCdWZmZXJcbiAgICAgICAgICAgICAgICAgICAgPyBidWYudG9TdHJpbmcoJ2Jhc2U2NCcpXG4gICAgICAgICAgICAgICAgICAgIDogQnVmZmVyLmZyb20oYnVmLmJ1ZmZlcikudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiBidG9hID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICBsZXQgcyA9ICcnO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBidWYubGVuZ3RoOyArK2kpXG4gICAgICAgICAgICAgICAgcyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGJ1ZltpXSk7XG4gICAgICAgICAgICBzdHIgPSBidG9hKHMpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGlzIGVudmlyb25tZW50IGRvZXMgbm90IHN1cHBvcnQgd3JpdGluZyBiaW5hcnkgdGFnczsgZWl0aGVyIEJ1ZmZlciBvciBidG9hIGlzIHJlcXVpcmVkJyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0eXBlKVxuICAgICAgICAgICAgdHlwZSA9IFNjYWxhci5TY2FsYXIuQkxPQ0tfTElURVJBTDtcbiAgICAgICAgaWYgKHR5cGUgIT09IFNjYWxhci5TY2FsYXIuUVVPVEVfRE9VQkxFKSB7XG4gICAgICAgICAgICBjb25zdCBsaW5lV2lkdGggPSBNYXRoLm1heChjdHgub3B0aW9ucy5saW5lV2lkdGggLSBjdHguaW5kZW50Lmxlbmd0aCwgY3R4Lm9wdGlvbnMubWluQ29udGVudFdpZHRoKTtcbiAgICAgICAgICAgIGNvbnN0IG4gPSBNYXRoLmNlaWwoc3RyLmxlbmd0aCAvIGxpbmVXaWR0aCk7XG4gICAgICAgICAgICBjb25zdCBsaW5lcyA9IG5ldyBBcnJheShuKTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwLCBvID0gMDsgaSA8IG47ICsraSwgbyArPSBsaW5lV2lkdGgpIHtcbiAgICAgICAgICAgICAgICBsaW5lc1tpXSA9IHN0ci5zdWJzdHIobywgbGluZVdpZHRoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN0ciA9IGxpbmVzLmpvaW4odHlwZSA9PT0gU2NhbGFyLlNjYWxhci5CTE9DS19MSVRFUkFMID8gJ1xcbicgOiAnICcpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdHJpbmdpZnlTdHJpbmcuc3RyaW5naWZ5U3RyaW5nKHsgY29tbWVudCwgdHlwZSwgdmFsdWU6IHN0ciB9LCBjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApO1xuICAgIH1cbn07XG5cbmV4cG9ydHMuYmluYXJ5ID0gYmluYXJ5O1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIGlkZW50aXR5ID0gcmVxdWlyZSgnLi4vLi4vbm9kZXMvaWRlbnRpdHkuanMnKTtcbnZhciBQYWlyID0gcmVxdWlyZSgnLi4vLi4vbm9kZXMvUGFpci5qcycpO1xudmFyIFNjYWxhciA9IHJlcXVpcmUoJy4uLy4uL25vZGVzL1NjYWxhci5qcycpO1xudmFyIFlBTUxTZXEgPSByZXF1aXJlKCcuLi8uLi9ub2Rlcy9ZQU1MU2VxLmpzJyk7XG5cbmZ1bmN0aW9uIHJlc29sdmVQYWlycyhzZXEsIG9uRXJyb3IpIHtcbiAgICBpZiAoaWRlbnRpdHkuaXNTZXEoc2VxKSkge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNlcS5pdGVtcy5sZW5ndGg7ICsraSkge1xuICAgICAgICAgICAgbGV0IGl0ZW0gPSBzZXEuaXRlbXNbaV07XG4gICAgICAgICAgICBpZiAoaWRlbnRpdHkuaXNQYWlyKGl0ZW0pKVxuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgZWxzZSBpZiAoaWRlbnRpdHkuaXNNYXAoaXRlbSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5pdGVtcy5sZW5ndGggPiAxKVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKCdFYWNoIHBhaXIgbXVzdCBoYXZlIGl0cyBvd24gc2VxdWVuY2UgaW5kaWNhdG9yJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFpciA9IGl0ZW0uaXRlbXNbMF0gfHwgbmV3IFBhaXIuUGFpcihuZXcgU2NhbGFyLlNjYWxhcihudWxsKSk7XG4gICAgICAgICAgICAgICAgaWYgKGl0ZW0uY29tbWVudEJlZm9yZSlcbiAgICAgICAgICAgICAgICAgICAgcGFpci5rZXkuY29tbWVudEJlZm9yZSA9IHBhaXIua2V5LmNvbW1lbnRCZWZvcmVcbiAgICAgICAgICAgICAgICAgICAgICAgID8gYCR7aXRlbS5jb21tZW50QmVmb3JlfVxcbiR7cGFpci5rZXkuY29tbWVudEJlZm9yZX1gXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGl0ZW0uY29tbWVudEJlZm9yZTtcbiAgICAgICAgICAgICAgICBpZiAoaXRlbS5jb21tZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNuID0gcGFpci52YWx1ZSA/PyBwYWlyLmtleTtcbiAgICAgICAgICAgICAgICAgICAgY24uY29tbWVudCA9IGNuLmNvbW1lbnRcbiAgICAgICAgICAgICAgICAgICAgICAgID8gYCR7aXRlbS5jb21tZW50fVxcbiR7Y24uY29tbWVudH1gXG4gICAgICAgICAgICAgICAgICAgICAgICA6IGl0ZW0uY29tbWVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaXRlbSA9IHBhaXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzZXEuaXRlbXNbaV0gPSBpZGVudGl0eS5pc1BhaXIoaXRlbSkgPyBpdGVtIDogbmV3IFBhaXIuUGFpcihpdGVtKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlXG4gICAgICAgIG9uRXJyb3IoJ0V4cGVjdGVkIGEgc2VxdWVuY2UgZm9yIHRoaXMgdGFnJyk7XG4gICAgcmV0dXJuIHNlcTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVBhaXJzKHNjaGVtYSwgaXRlcmFibGUsIGN0eCkge1xuICAgIGNvbnN0IHsgcmVwbGFjZXIgfSA9IGN0eDtcbiAgICBjb25zdCBwYWlycyA9IG5ldyBZQU1MU2VxLllBTUxTZXEoc2NoZW1hKTtcbiAgICBwYWlycy50YWcgPSAndGFnOnlhbWwub3JnLDIwMDI6cGFpcnMnO1xuICAgIGxldCBpID0gMDtcbiAgICBpZiAoaXRlcmFibGUgJiYgU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChpdGVyYWJsZSkpXG4gICAgICAgIGZvciAobGV0IGl0IG9mIGl0ZXJhYmxlKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIHJlcGxhY2VyID09PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgICAgIGl0ID0gcmVwbGFjZXIuY2FsbChpdGVyYWJsZSwgU3RyaW5nKGkrKyksIGl0KTtcbiAgICAgICAgICAgIGxldCBrZXksIHZhbHVlO1xuICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXQpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGl0Lmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgICAgICAgICBrZXkgPSBpdFswXTtcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSBpdFsxXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBba2V5LCB2YWx1ZV0gdHVwbGU6ICR7aXR9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChpdCAmJiBpdCBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhpdCk7XG4gICAgICAgICAgICAgICAgaWYgKGtleXMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGtleSA9IGtleXNbMF07XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlID0gaXRba2V5XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYEV4cGVjdGVkIHR1cGxlIHdpdGggb25lIGtleSwgbm90ICR7a2V5cy5sZW5ndGh9IGtleXNgKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBrZXkgPSBpdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhaXJzLml0ZW1zLnB1c2goUGFpci5jcmVhdGVQYWlyKGtleSwgdmFsdWUsIGN0eCkpO1xuICAgICAgICB9XG4gICAgcmV0dXJuIHBhaXJzO1xufVxuY29uc3QgcGFpcnMgPSB7XG4gICAgY29sbGVjdGlvbjogJ3NlcScsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6cGFpcnMnLFxuICAgIHJlc29sdmU6IHJlc29sdmVQYWlycyxcbiAgICBjcmVhdGVOb2RlOiBjcmVhdGVQYWlyc1xufTtcblxuZXhwb3J0cy5jcmVhdGVQYWlycyA9IGNyZWF0ZVBhaXJzO1xuZXhwb3J0cy5wYWlycyA9IHBhaXJzO1xuZXhwb3J0cy5yZXNvbHZlUGFpcnMgPSByZXNvbHZlUGFpcnM7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuLi8uLi9ub2Rlcy9pZGVudGl0eS5qcycpO1xudmFyIHRvSlMgPSByZXF1aXJlKCcuLi8uLi9ub2Rlcy90b0pTLmpzJyk7XG52YXIgWUFNTE1hcCA9IHJlcXVpcmUoJy4uLy4uL25vZGVzL1lBTUxNYXAuanMnKTtcbnZhciBZQU1MU2VxID0gcmVxdWlyZSgnLi4vLi4vbm9kZXMvWUFNTFNlcS5qcycpO1xudmFyIHBhaXJzID0gcmVxdWlyZSgnLi9wYWlycy5qcycpO1xuXG5jbGFzcyBZQU1MT01hcCBleHRlbmRzIFlBTUxTZXEuWUFNTFNlcSB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgICAgIHRoaXMuYWRkID0gWUFNTE1hcC5ZQU1MTWFwLnByb3RvdHlwZS5hZGQuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5kZWxldGUgPSBZQU1MTWFwLllBTUxNYXAucHJvdG90eXBlLmRlbGV0ZS5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLmdldCA9IFlBTUxNYXAuWUFNTE1hcC5wcm90b3R5cGUuZ2V0LmJpbmQodGhpcyk7XG4gICAgICAgIHRoaXMuaGFzID0gWUFNTE1hcC5ZQU1MTWFwLnByb3RvdHlwZS5oYXMuYmluZCh0aGlzKTtcbiAgICAgICAgdGhpcy5zZXQgPSBZQU1MTWFwLllBTUxNYXAucHJvdG90eXBlLnNldC5iaW5kKHRoaXMpO1xuICAgICAgICB0aGlzLnRhZyA9IFlBTUxPTWFwLnRhZztcbiAgICB9XG4gICAgLyoqXG4gICAgICogSWYgYGN0eGAgaXMgZ2l2ZW4sIHRoZSByZXR1cm4gdHlwZSBpcyBhY3R1YWxseSBgTWFwPHVua25vd24sIHVua25vd24+YCxcbiAgICAgKiBidXQgVHlwZVNjcmlwdCB3b24ndCBhbGxvdyB3aWRlbmluZyB0aGUgc2lnbmF0dXJlIG9mIGEgY2hpbGQgbWV0aG9kLlxuICAgICAqL1xuICAgIHRvSlNPTihfLCBjdHgpIHtcbiAgICAgICAgaWYgKCFjdHgpXG4gICAgICAgICAgICByZXR1cm4gc3VwZXIudG9KU09OKF8pO1xuICAgICAgICBjb25zdCBtYXAgPSBuZXcgTWFwKCk7XG4gICAgICAgIGlmIChjdHg/Lm9uQ3JlYXRlKVxuICAgICAgICAgICAgY3R4Lm9uQ3JlYXRlKG1hcCk7XG4gICAgICAgIGZvciAoY29uc3QgcGFpciBvZiB0aGlzLml0ZW1zKSB7XG4gICAgICAgICAgICBsZXQga2V5LCB2YWx1ZTtcbiAgICAgICAgICAgIGlmIChpZGVudGl0eS5pc1BhaXIocGFpcikpIHtcbiAgICAgICAgICAgICAgICBrZXkgPSB0b0pTLnRvSlMocGFpci5rZXksICcnLCBjdHgpO1xuICAgICAgICAgICAgICAgIHZhbHVlID0gdG9KUy50b0pTKHBhaXIudmFsdWUsIGtleSwgY3R4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGtleSA9IHRvSlMudG9KUyhwYWlyLCAnJywgY3R4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChtYXAuaGFzKGtleSkpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdPcmRlcmVkIG1hcHMgbXVzdCBub3QgaW5jbHVkZSBkdXBsaWNhdGUga2V5cycpO1xuICAgICAgICAgICAgbWFwLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbWFwO1xuICAgIH1cbiAgICBzdGF0aWMgZnJvbShzY2hlbWEsIGl0ZXJhYmxlLCBjdHgpIHtcbiAgICAgICAgY29uc3QgcGFpcnMkMSA9IHBhaXJzLmNyZWF0ZVBhaXJzKHNjaGVtYSwgaXRlcmFibGUsIGN0eCk7XG4gICAgICAgIGNvbnN0IG9tYXAgPSBuZXcgdGhpcygpO1xuICAgICAgICBvbWFwLml0ZW1zID0gcGFpcnMkMS5pdGVtcztcbiAgICAgICAgcmV0dXJuIG9tYXA7XG4gICAgfVxufVxuWUFNTE9NYXAudGFnID0gJ3RhZzp5YW1sLm9yZywyMDAyOm9tYXAnO1xuY29uc3Qgb21hcCA9IHtcbiAgICBjb2xsZWN0aW9uOiAnc2VxJyxcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdmFsdWUgaW5zdGFuY2VvZiBNYXAsXG4gICAgbm9kZUNsYXNzOiBZQU1MT01hcCxcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpvbWFwJyxcbiAgICByZXNvbHZlKHNlcSwgb25FcnJvcikge1xuICAgICAgICBjb25zdCBwYWlycyQxID0gcGFpcnMucmVzb2x2ZVBhaXJzKHNlcSwgb25FcnJvcik7XG4gICAgICAgIGNvbnN0IHNlZW5LZXlzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgeyBrZXkgfSBvZiBwYWlycyQxLml0ZW1zKSB7XG4gICAgICAgICAgICBpZiAoaWRlbnRpdHkuaXNTY2FsYXIoa2V5KSkge1xuICAgICAgICAgICAgICAgIGlmIChzZWVuS2V5cy5pbmNsdWRlcyhrZXkudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IoYE9yZGVyZWQgbWFwcyBtdXN0IG5vdCBpbmNsdWRlIGR1cGxpY2F0ZSBrZXlzOiAke2tleS52YWx1ZX1gKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNlZW5LZXlzLnB1c2goa2V5LnZhbHVlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IFlBTUxPTWFwKCksIHBhaXJzJDEpO1xuICAgIH0sXG4gICAgY3JlYXRlTm9kZTogKHNjaGVtYSwgaXRlcmFibGUsIGN0eCkgPT4gWUFNTE9NYXAuZnJvbShzY2hlbWEsIGl0ZXJhYmxlLCBjdHgpXG59O1xuXG5leHBvcnRzLllBTUxPTWFwID0gWUFNTE9NYXA7XG5leHBvcnRzLm9tYXAgPSBvbWFwO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIFNjYWxhciA9IHJlcXVpcmUoJy4uLy4uL25vZGVzL1NjYWxhci5qcycpO1xuXG5mdW5jdGlvbiBib29sU3RyaW5naWZ5KHsgdmFsdWUsIHNvdXJjZSB9LCBjdHgpIHtcbiAgICBjb25zdCBib29sT2JqID0gdmFsdWUgPyB0cnVlVGFnIDogZmFsc2VUYWc7XG4gICAgaWYgKHNvdXJjZSAmJiBib29sT2JqLnRlc3QudGVzdChzb3VyY2UpKVxuICAgICAgICByZXR1cm4gc291cmNlO1xuICAgIHJldHVybiB2YWx1ZSA/IGN0eC5vcHRpb25zLnRydWVTdHIgOiBjdHgub3B0aW9ucy5mYWxzZVN0cjtcbn1cbmNvbnN0IHRydWVUYWcgPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHZhbHVlID09PSB0cnVlLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6Ym9vbCcsXG4gICAgdGVzdDogL14oPzpZfHl8W1l5XWVzfFlFU3xbVHRdcnVlfFRSVUV8W09vXW58T04pJC8sXG4gICAgcmVzb2x2ZTogKCkgPT4gbmV3IFNjYWxhci5TY2FsYXIodHJ1ZSksXG4gICAgc3RyaW5naWZ5OiBib29sU3RyaW5naWZ5XG59O1xuY29uc3QgZmFsc2VUYWcgPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHZhbHVlID09PSBmYWxzZSxcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmJvb2wnLFxuICAgIHRlc3Q6IC9eKD86TnxufFtObl1vfE5PfFtGZl1hbHNlfEZBTFNFfFtPb11mZnxPRkYpJC8sXG4gICAgcmVzb2x2ZTogKCkgPT4gbmV3IFNjYWxhci5TY2FsYXIoZmFsc2UpLFxuICAgIHN0cmluZ2lmeTogYm9vbFN0cmluZ2lmeVxufTtcblxuZXhwb3J0cy5mYWxzZVRhZyA9IGZhbHNlVGFnO1xuZXhwb3J0cy50cnVlVGFnID0gdHJ1ZVRhZztcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBTY2FsYXIgPSByZXF1aXJlKCcuLi8uLi9ub2Rlcy9TY2FsYXIuanMnKTtcbnZhciBzdHJpbmdpZnlOdW1iZXIgPSByZXF1aXJlKCcuLi8uLi9zdHJpbmdpZnkvc3RyaW5naWZ5TnVtYmVyLmpzJyk7XG5cbmNvbnN0IGZsb2F0TmFOID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQnLFxuICAgIHRlc3Q6IC9eKD86Wy0rXT9cXC4oPzppbmZ8SW5mfElORil8XFwubmFufFxcLk5hTnxcXC5OQU4pJC8sXG4gICAgcmVzb2x2ZTogKHN0cikgPT4gc3RyLnNsaWNlKC0zKS50b0xvd2VyQ2FzZSgpID09PSAnbmFuJ1xuICAgICAgICA/IE5hTlxuICAgICAgICA6IHN0clswXSA9PT0gJy0nXG4gICAgICAgICAgICA/IE51bWJlci5ORUdBVElWRV9JTkZJTklUWVxuICAgICAgICAgICAgOiBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksXG4gICAgc3RyaW5naWZ5OiBzdHJpbmdpZnlOdW1iZXIuc3RyaW5naWZ5TnVtYmVyXG59O1xuY29uc3QgZmxvYXRFeHAgPSB7XG4gICAgaWRlbnRpZnk6IHZhbHVlID0+IHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdCcsXG4gICAgZm9ybWF0OiAnRVhQJyxcbiAgICB0ZXN0OiAvXlstK10/KD86WzAtOV1bMC05X10qKT8oPzpcXC5bMC05X10qKT9bZUVdWy0rXT9bMC05XSskLyxcbiAgICByZXNvbHZlOiAoc3RyKSA9PiBwYXJzZUZsb2F0KHN0ci5yZXBsYWNlKC9fL2csICcnKSksXG4gICAgc3RyaW5naWZ5KG5vZGUpIHtcbiAgICAgICAgY29uc3QgbnVtID0gTnVtYmVyKG5vZGUudmFsdWUpO1xuICAgICAgICByZXR1cm4gaXNGaW5pdGUobnVtKSA/IG51bS50b0V4cG9uZW50aWFsKCkgOiBzdHJpbmdpZnlOdW1iZXIuc3RyaW5naWZ5TnVtYmVyKG5vZGUpO1xuICAgIH1cbn07XG5jb25zdCBmbG9hdCA9IHtcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyxcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmZsb2F0JyxcbiAgICB0ZXN0OiAvXlstK10/KD86WzAtOV1bMC05X10qKT9cXC5bMC05X10qJC8sXG4gICAgcmVzb2x2ZShzdHIpIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IG5ldyBTY2FsYXIuU2NhbGFyKHBhcnNlRmxvYXQoc3RyLnJlcGxhY2UoL18vZywgJycpKSk7XG4gICAgICAgIGNvbnN0IGRvdCA9IHN0ci5pbmRleE9mKCcuJyk7XG4gICAgICAgIGlmIChkb3QgIT09IC0xKSB7XG4gICAgICAgICAgICBjb25zdCBmID0gc3RyLnN1YnN0cmluZyhkb3QgKyAxKS5yZXBsYWNlKC9fL2csICcnKTtcbiAgICAgICAgICAgIGlmIChmW2YubGVuZ3RoIC0gMV0gPT09ICcwJylcbiAgICAgICAgICAgICAgICBub2RlLm1pbkZyYWN0aW9uRGlnaXRzID0gZi5sZW5ndGg7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfSxcbiAgICBzdHJpbmdpZnk6IHN0cmluZ2lmeU51bWJlci5zdHJpbmdpZnlOdW1iZXJcbn07XG5cbmV4cG9ydHMuZmxvYXQgPSBmbG9hdDtcbmV4cG9ydHMuZmxvYXRFeHAgPSBmbG9hdEV4cDtcbmV4cG9ydHMuZmxvYXROYU4gPSBmbG9hdE5hTjtcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBzdHJpbmdpZnlOdW1iZXIgPSByZXF1aXJlKCcuLi8uLi9zdHJpbmdpZnkvc3RyaW5naWZ5TnVtYmVyLmpzJyk7XG5cbmNvbnN0IGludElkZW50aWZ5ID0gKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09ICdiaWdpbnQnIHx8IE51bWJlci5pc0ludGVnZXIodmFsdWUpO1xuZnVuY3Rpb24gaW50UmVzb2x2ZShzdHIsIG9mZnNldCwgcmFkaXgsIHsgaW50QXNCaWdJbnQgfSkge1xuICAgIGNvbnN0IHNpZ24gPSBzdHJbMF07XG4gICAgaWYgKHNpZ24gPT09ICctJyB8fCBzaWduID09PSAnKycpXG4gICAgICAgIG9mZnNldCArPSAxO1xuICAgIHN0ciA9IHN0ci5zdWJzdHJpbmcob2Zmc2V0KS5yZXBsYWNlKC9fL2csICcnKTtcbiAgICBpZiAoaW50QXNCaWdJbnQpIHtcbiAgICAgICAgc3dpdGNoIChyYWRpeCkge1xuICAgICAgICAgICAgY2FzZSAyOlxuICAgICAgICAgICAgICAgIHN0ciA9IGAwYiR7c3RyfWA7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDg6XG4gICAgICAgICAgICAgICAgc3RyID0gYDBvJHtzdHJ9YDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgMTY6XG4gICAgICAgICAgICAgICAgc3RyID0gYDB4JHtzdHJ9YDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBuID0gQmlnSW50KHN0cik7XG4gICAgICAgIHJldHVybiBzaWduID09PSAnLScgPyBCaWdJbnQoLTEpICogbiA6IG47XG4gICAgfVxuICAgIGNvbnN0IG4gPSBwYXJzZUludChzdHIsIHJhZGl4KTtcbiAgICByZXR1cm4gc2lnbiA9PT0gJy0nID8gLTEgKiBuIDogbjtcbn1cbmZ1bmN0aW9uIGludFN0cmluZ2lmeShub2RlLCByYWRpeCwgcHJlZml4KSB7XG4gICAgY29uc3QgeyB2YWx1ZSB9ID0gbm9kZTtcbiAgICBpZiAoaW50SWRlbnRpZnkodmFsdWUpKSB7XG4gICAgICAgIGNvbnN0IHN0ciA9IHZhbHVlLnRvU3RyaW5nKHJhZGl4KTtcbiAgICAgICAgcmV0dXJuIHZhbHVlIDwgMCA/ICctJyArIHByZWZpeCArIHN0ci5zdWJzdHIoMSkgOiBwcmVmaXggKyBzdHI7XG4gICAgfVxuICAgIHJldHVybiBzdHJpbmdpZnlOdW1iZXIuc3RyaW5naWZ5TnVtYmVyKG5vZGUpO1xufVxuY29uc3QgaW50QmluID0ge1xuICAgIGlkZW50aWZ5OiBpbnRJZGVudGlmeSxcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmludCcsXG4gICAgZm9ybWF0OiAnQklOJyxcbiAgICB0ZXN0OiAvXlstK10/MGJbMC0xX10rJC8sXG4gICAgcmVzb2x2ZTogKHN0ciwgX29uRXJyb3IsIG9wdCkgPT4gaW50UmVzb2x2ZShzdHIsIDIsIDIsIG9wdCksXG4gICAgc3RyaW5naWZ5OiBub2RlID0+IGludFN0cmluZ2lmeShub2RlLCAyLCAnMGInKVxufTtcbmNvbnN0IGludE9jdCA9IHtcbiAgICBpZGVudGlmeTogaW50SWRlbnRpZnksXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjppbnQnLFxuICAgIGZvcm1hdDogJ09DVCcsXG4gICAgdGVzdDogL15bLStdPzBbMC03X10rJC8sXG4gICAgcmVzb2x2ZTogKHN0ciwgX29uRXJyb3IsIG9wdCkgPT4gaW50UmVzb2x2ZShzdHIsIDEsIDgsIG9wdCksXG4gICAgc3RyaW5naWZ5OiBub2RlID0+IGludFN0cmluZ2lmeShub2RlLCA4LCAnMCcpXG59O1xuY29uc3QgaW50ID0ge1xuICAgIGlkZW50aWZ5OiBpbnRJZGVudGlmeSxcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmludCcsXG4gICAgdGVzdDogL15bLStdP1swLTldWzAtOV9dKiQvLFxuICAgIHJlc29sdmU6IChzdHIsIF9vbkVycm9yLCBvcHQpID0+IGludFJlc29sdmUoc3RyLCAwLCAxMCwgb3B0KSxcbiAgICBzdHJpbmdpZnk6IHN0cmluZ2lmeU51bWJlci5zdHJpbmdpZnlOdW1iZXJcbn07XG5jb25zdCBpbnRIZXggPSB7XG4gICAgaWRlbnRpZnk6IGludElkZW50aWZ5LFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6aW50JyxcbiAgICBmb3JtYXQ6ICdIRVgnLFxuICAgIHRlc3Q6IC9eWy0rXT8weFswLTlhLWZBLUZfXSskLyxcbiAgICByZXNvbHZlOiAoc3RyLCBfb25FcnJvciwgb3B0KSA9PiBpbnRSZXNvbHZlKHN0ciwgMiwgMTYsIG9wdCksXG4gICAgc3RyaW5naWZ5OiBub2RlID0+IGludFN0cmluZ2lmeShub2RlLCAxNiwgJzB4Jylcbn07XG5cbmV4cG9ydHMuaW50ID0gaW50O1xuZXhwb3J0cy5pbnRCaW4gPSBpbnRCaW47XG5leHBvcnRzLmludEhleCA9IGludEhleDtcbmV4cG9ydHMuaW50T2N0ID0gaW50T2N0O1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIGlkZW50aXR5ID0gcmVxdWlyZSgnLi4vLi4vbm9kZXMvaWRlbnRpdHkuanMnKTtcbnZhciBQYWlyID0gcmVxdWlyZSgnLi4vLi4vbm9kZXMvUGFpci5qcycpO1xudmFyIFlBTUxNYXAgPSByZXF1aXJlKCcuLi8uLi9ub2Rlcy9ZQU1MTWFwLmpzJyk7XG5cbmNsYXNzIFlBTUxTZXQgZXh0ZW5kcyBZQU1MTWFwLllBTUxNYXAge1xuICAgIGNvbnN0cnVjdG9yKHNjaGVtYSkge1xuICAgICAgICBzdXBlcihzY2hlbWEpO1xuICAgICAgICB0aGlzLnRhZyA9IFlBTUxTZXQudGFnO1xuICAgIH1cbiAgICBhZGQoa2V5KSB7XG4gICAgICAgIGxldCBwYWlyO1xuICAgICAgICBpZiAoaWRlbnRpdHkuaXNQYWlyKGtleSkpXG4gICAgICAgICAgICBwYWlyID0ga2V5O1xuICAgICAgICBlbHNlIGlmIChrZXkgJiZcbiAgICAgICAgICAgIHR5cGVvZiBrZXkgPT09ICdvYmplY3QnICYmXG4gICAgICAgICAgICAna2V5JyBpbiBrZXkgJiZcbiAgICAgICAgICAgICd2YWx1ZScgaW4ga2V5ICYmXG4gICAgICAgICAgICBrZXkudmFsdWUgPT09IG51bGwpXG4gICAgICAgICAgICBwYWlyID0gbmV3IFBhaXIuUGFpcihrZXkua2V5LCBudWxsKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcGFpciA9IG5ldyBQYWlyLlBhaXIoa2V5LCBudWxsKTtcbiAgICAgICAgY29uc3QgcHJldiA9IFlBTUxNYXAuZmluZFBhaXIodGhpcy5pdGVtcywgcGFpci5rZXkpO1xuICAgICAgICBpZiAoIXByZXYpXG4gICAgICAgICAgICB0aGlzLml0ZW1zLnB1c2gocGFpcik7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIElmIGBrZWVwUGFpcmAgaXMgYHRydWVgLCByZXR1cm5zIHRoZSBQYWlyIG1hdGNoaW5nIGBrZXlgLlxuICAgICAqIE90aGVyd2lzZSwgcmV0dXJucyB0aGUgdmFsdWUgb2YgdGhhdCBQYWlyJ3Mga2V5LlxuICAgICAqL1xuICAgIGdldChrZXksIGtlZXBQYWlyKSB7XG4gICAgICAgIGNvbnN0IHBhaXIgPSBZQU1MTWFwLmZpbmRQYWlyKHRoaXMuaXRlbXMsIGtleSk7XG4gICAgICAgIHJldHVybiAha2VlcFBhaXIgJiYgaWRlbnRpdHkuaXNQYWlyKHBhaXIpXG4gICAgICAgICAgICA/IGlkZW50aXR5LmlzU2NhbGFyKHBhaXIua2V5KVxuICAgICAgICAgICAgICAgID8gcGFpci5rZXkudmFsdWVcbiAgICAgICAgICAgICAgICA6IHBhaXIua2V5XG4gICAgICAgICAgICA6IHBhaXI7XG4gICAgfVxuICAgIHNldChrZXksIHZhbHVlKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJylcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgYm9vbGVhbiB2YWx1ZSBmb3Igc2V0KGtleSwgdmFsdWUpIGluIGEgWUFNTCBzZXQsIG5vdCAke3R5cGVvZiB2YWx1ZX1gKTtcbiAgICAgICAgY29uc3QgcHJldiA9IFlBTUxNYXAuZmluZFBhaXIodGhpcy5pdGVtcywga2V5KTtcbiAgICAgICAgaWYgKHByZXYgJiYgIXZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zLnNwbGljZSh0aGlzLml0ZW1zLmluZGV4T2YocHJldiksIDEpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKCFwcmV2ICYmIHZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLml0ZW1zLnB1c2gobmV3IFBhaXIuUGFpcihrZXkpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0b0pTT04oXywgY3R4KSB7XG4gICAgICAgIHJldHVybiBzdXBlci50b0pTT04oXywgY3R4LCBTZXQpO1xuICAgIH1cbiAgICB0b1N0cmluZyhjdHgsIG9uQ29tbWVudCwgb25DaG9tcEtlZXApIHtcbiAgICAgICAgaWYgKCFjdHgpXG4gICAgICAgICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcyk7XG4gICAgICAgIGlmICh0aGlzLmhhc0FsbE51bGxWYWx1ZXModHJ1ZSkpXG4gICAgICAgICAgICByZXR1cm4gc3VwZXIudG9TdHJpbmcoT2JqZWN0LmFzc2lnbih7fSwgY3R4LCB7IGFsbE51bGxWYWx1ZXM6IHRydWUgfSksIG9uQ29tbWVudCwgb25DaG9tcEtlZXApO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1NldCBpdGVtcyBtdXN0IGFsbCBoYXZlIG51bGwgdmFsdWVzJyk7XG4gICAgfVxuICAgIHN0YXRpYyBmcm9tKHNjaGVtYSwgaXRlcmFibGUsIGN0eCkge1xuICAgICAgICBjb25zdCB7IHJlcGxhY2VyIH0gPSBjdHg7XG4gICAgICAgIGNvbnN0IHNldCA9IG5ldyB0aGlzKHNjaGVtYSk7XG4gICAgICAgIGlmIChpdGVyYWJsZSAmJiBTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGl0ZXJhYmxlKSlcbiAgICAgICAgICAgIGZvciAobGV0IHZhbHVlIG9mIGl0ZXJhYmxlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiByZXBsYWNlciA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAgICAgICAgICAgdmFsdWUgPSByZXBsYWNlci5jYWxsKGl0ZXJhYmxlLCB2YWx1ZSwgdmFsdWUpO1xuICAgICAgICAgICAgICAgIHNldC5pdGVtcy5wdXNoKFBhaXIuY3JlYXRlUGFpcih2YWx1ZSwgbnVsbCwgY3R4KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIHJldHVybiBzZXQ7XG4gICAgfVxufVxuWUFNTFNldC50YWcgPSAndGFnOnlhbWwub3JnLDIwMDI6c2V0JztcbmNvbnN0IHNldCA9IHtcbiAgICBjb2xsZWN0aW9uOiAnbWFwJyxcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdmFsdWUgaW5zdGFuY2VvZiBTZXQsXG4gICAgbm9kZUNsYXNzOiBZQU1MU2V0LFxuICAgIGRlZmF1bHQ6IGZhbHNlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOnNldCcsXG4gICAgY3JlYXRlTm9kZTogKHNjaGVtYSwgaXRlcmFibGUsIGN0eCkgPT4gWUFNTFNldC5mcm9tKHNjaGVtYSwgaXRlcmFibGUsIGN0eCksXG4gICAgcmVzb2x2ZShtYXAsIG9uRXJyb3IpIHtcbiAgICAgICAgaWYgKGlkZW50aXR5LmlzTWFwKG1hcCkpIHtcbiAgICAgICAgICAgIGlmIChtYXAuaGFzQWxsTnVsbFZhbHVlcyh0cnVlKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihuZXcgWUFNTFNldCgpLCBtYXApO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIG9uRXJyb3IoJ1NldCBpdGVtcyBtdXN0IGFsbCBoYXZlIG51bGwgdmFsdWVzJyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgb25FcnJvcignRXhwZWN0ZWQgYSBtYXBwaW5nIGZvciB0aGlzIHRhZycpO1xuICAgICAgICByZXR1cm4gbWFwO1xuICAgIH1cbn07XG5cbmV4cG9ydHMuWUFNTFNldCA9IFlBTUxTZXQ7XG5leHBvcnRzLnNldCA9IHNldDtcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBzdHJpbmdpZnlOdW1iZXIgPSByZXF1aXJlKCcuLi8uLi9zdHJpbmdpZnkvc3RyaW5naWZ5TnVtYmVyLmpzJyk7XG5cbi8qKiBJbnRlcm5hbCB0eXBlcyBoYW5kbGUgYmlnaW50IGFzIG51bWJlciwgYmVjYXVzZSBUUyBjYW4ndCBmaWd1cmUgaXQgb3V0LiAqL1xuZnVuY3Rpb24gcGFyc2VTZXhhZ2VzaW1hbChzdHIsIGFzQmlnSW50KSB7XG4gICAgY29uc3Qgc2lnbiA9IHN0clswXTtcbiAgICBjb25zdCBwYXJ0cyA9IHNpZ24gPT09ICctJyB8fCBzaWduID09PSAnKycgPyBzdHIuc3Vic3RyaW5nKDEpIDogc3RyO1xuICAgIGNvbnN0IG51bSA9IChuKSA9PiBhc0JpZ0ludCA/IEJpZ0ludChuKSA6IE51bWJlcihuKTtcbiAgICBjb25zdCByZXMgPSBwYXJ0c1xuICAgICAgICAucmVwbGFjZSgvXy9nLCAnJylcbiAgICAgICAgLnNwbGl0KCc6JylcbiAgICAgICAgLnJlZHVjZSgocmVzLCBwKSA9PiByZXMgKiBudW0oNjApICsgbnVtKHApLCBudW0oMCkpO1xuICAgIHJldHVybiAoc2lnbiA9PT0gJy0nID8gbnVtKC0xKSAqIHJlcyA6IHJlcyk7XG59XG4vKipcbiAqIGhoaGg6bW06c3Muc3NzXG4gKlxuICogSW50ZXJuYWwgdHlwZXMgaGFuZGxlIGJpZ2ludCBhcyBudW1iZXIsIGJlY2F1c2UgVFMgY2FuJ3QgZmlndXJlIGl0IG91dC5cbiAqL1xuZnVuY3Rpb24gc3RyaW5naWZ5U2V4YWdlc2ltYWwobm9kZSkge1xuICAgIGxldCB7IHZhbHVlIH0gPSBub2RlO1xuICAgIGxldCBudW0gPSAobikgPT4gbjtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnYmlnaW50JylcbiAgICAgICAgbnVtID0gbiA9PiBCaWdJbnQobik7XG4gICAgZWxzZSBpZiAoaXNOYU4odmFsdWUpIHx8ICFpc0Zpbml0ZSh2YWx1ZSkpXG4gICAgICAgIHJldHVybiBzdHJpbmdpZnlOdW1iZXIuc3RyaW5naWZ5TnVtYmVyKG5vZGUpO1xuICAgIGxldCBzaWduID0gJyc7XG4gICAgaWYgKHZhbHVlIDwgMCkge1xuICAgICAgICBzaWduID0gJy0nO1xuICAgICAgICB2YWx1ZSAqPSBudW0oLTEpO1xuICAgIH1cbiAgICBjb25zdCBfNjAgPSBudW0oNjApO1xuICAgIGNvbnN0IHBhcnRzID0gW3ZhbHVlICUgXzYwXTsgLy8gc2Vjb25kcywgaW5jbHVkaW5nIG1zXG4gICAgaWYgKHZhbHVlIDwgNjApIHtcbiAgICAgICAgcGFydHMudW5zaGlmdCgwKTsgLy8gYXQgbGVhc3Qgb25lIDogaXMgcmVxdWlyZWRcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHZhbHVlID0gKHZhbHVlIC0gcGFydHNbMF0pIC8gXzYwO1xuICAgICAgICBwYXJ0cy51bnNoaWZ0KHZhbHVlICUgXzYwKTsgLy8gbWludXRlc1xuICAgICAgICBpZiAodmFsdWUgPj0gNjApIHtcbiAgICAgICAgICAgIHZhbHVlID0gKHZhbHVlIC0gcGFydHNbMF0pIC8gXzYwO1xuICAgICAgICAgICAgcGFydHMudW5zaGlmdCh2YWx1ZSk7IC8vIGhvdXJzXG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIChzaWduICtcbiAgICAgICAgcGFydHNcbiAgICAgICAgICAgIC5tYXAobiA9PiBTdHJpbmcobikucGFkU3RhcnQoMiwgJzAnKSlcbiAgICAgICAgICAgIC5qb2luKCc6JylcbiAgICAgICAgICAgIC5yZXBsYWNlKC8wMDAwMDBcXGQqJC8sICcnKSAvLyAlIDYwIG1heSBpbnRyb2R1Y2UgZXJyb3JcbiAgICApO1xufVxuY29uc3QgaW50VGltZSA9IHtcbiAgICBpZGVudGlmeTogdmFsdWUgPT4gdHlwZW9mIHZhbHVlID09PSAnYmlnaW50JyB8fCBOdW1iZXIuaXNJbnRlZ2VyKHZhbHVlKSxcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIHRhZzogJ3RhZzp5YW1sLm9yZywyMDAyOmludCcsXG4gICAgZm9ybWF0OiAnVElNRScsXG4gICAgdGVzdDogL15bLStdP1swLTldWzAtOV9dKig/OjpbMC01XT9bMC05XSkrJC8sXG4gICAgcmVzb2x2ZTogKHN0ciwgX29uRXJyb3IsIHsgaW50QXNCaWdJbnQgfSkgPT4gcGFyc2VTZXhhZ2VzaW1hbChzdHIsIGludEFzQmlnSW50KSxcbiAgICBzdHJpbmdpZnk6IHN0cmluZ2lmeVNleGFnZXNpbWFsXG59O1xuY29uc3QgZmxvYXRUaW1lID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInLFxuICAgIGRlZmF1bHQ6IHRydWUsXG4gICAgdGFnOiAndGFnOnlhbWwub3JnLDIwMDI6ZmxvYXQnLFxuICAgIGZvcm1hdDogJ1RJTUUnLFxuICAgIHRlc3Q6IC9eWy0rXT9bMC05XVswLTlfXSooPzo6WzAtNV0/WzAtOV0pK1xcLlswLTlfXSokLyxcbiAgICByZXNvbHZlOiBzdHIgPT4gcGFyc2VTZXhhZ2VzaW1hbChzdHIsIGZhbHNlKSxcbiAgICBzdHJpbmdpZnk6IHN0cmluZ2lmeVNleGFnZXNpbWFsXG59O1xuY29uc3QgdGltZXN0YW1wID0ge1xuICAgIGlkZW50aWZ5OiB2YWx1ZSA9PiB2YWx1ZSBpbnN0YW5jZW9mIERhdGUsXG4gICAgZGVmYXVsdDogdHJ1ZSxcbiAgICB0YWc6ICd0YWc6eWFtbC5vcmcsMjAwMjp0aW1lc3RhbXAnLFxuICAgIC8vIElmIHRoZSB0aW1lIHpvbmUgaXMgb21pdHRlZCwgdGhlIHRpbWVzdGFtcCBpcyBhc3N1bWVkIHRvIGJlIHNwZWNpZmllZCBpbiBVVEMuIFRoZSB0aW1lIHBhcnRcbiAgICAvLyBtYXkgYmUgb21pdHRlZCBhbHRvZ2V0aGVyLCByZXN1bHRpbmcgaW4gYSBkYXRlIGZvcm1hdC4gSW4gc3VjaCBhIGNhc2UsIHRoZSB0aW1lIHBhcnQgaXNcbiAgICAvLyBhc3N1bWVkIHRvIGJlIDAwOjAwOjAwWiAoc3RhcnQgb2YgZGF5LCBVVEMpLlxuICAgIHRlc3Q6IFJlZ0V4cCgnXihbMC05XXs0fSktKFswLTldezEsMn0pLShbMC05XXsxLDJ9KScgKyAvLyBZWVlZLU1tLURkXG4gICAgICAgICcoPzonICsgLy8gdGltZSBpcyBvcHRpb25hbFxuICAgICAgICAnKD86dHxUfFsgXFxcXHRdKyknICsgLy8gdCB8IFQgfCB3aGl0ZXNwYWNlXG4gICAgICAgICcoWzAtOV17MSwyfSk6KFswLTldezEsMn0pOihbMC05XXsxLDJ9KFxcXFwuWzAtOV0rKT8pJyArIC8vIEhoOk1tOlNzKC5zcyk/XG4gICAgICAgICcoPzpbIFxcXFx0XSooWnxbLStdWzAxMl0/WzAtOV0oPzo6WzAtOV17Mn0pPykpPycgKyAvLyBaIHwgKzUgfCAtMDM6MzBcbiAgICAgICAgJyk/JCcpLFxuICAgIHJlc29sdmUoc3RyKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gc3RyLm1hdGNoKHRpbWVzdGFtcC50ZXN0KTtcbiAgICAgICAgaWYgKCFtYXRjaClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignISF0aW1lc3RhbXAgZXhwZWN0cyBhIGRhdGUsIHN0YXJ0aW5nIHdpdGggeXl5eS1tbS1kZCcpO1xuICAgICAgICBjb25zdCBbLCB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZF0gPSBtYXRjaC5tYXAoTnVtYmVyKTtcbiAgICAgICAgY29uc3QgbWlsbGlzZWMgPSBtYXRjaFs3XSA/IE51bWJlcigobWF0Y2hbN10gKyAnMDAnKS5zdWJzdHIoMSwgMykpIDogMDtcbiAgICAgICAgbGV0IGRhdGUgPSBEYXRlLlVUQyh5ZWFyLCBtb250aCAtIDEsIGRheSwgaG91ciB8fCAwLCBtaW51dGUgfHwgMCwgc2Vjb25kIHx8IDAsIG1pbGxpc2VjKTtcbiAgICAgICAgY29uc3QgdHogPSBtYXRjaFs4XTtcbiAgICAgICAgaWYgKHR6ICYmIHR6ICE9PSAnWicpIHtcbiAgICAgICAgICAgIGxldCBkID0gcGFyc2VTZXhhZ2VzaW1hbCh0eiwgZmFsc2UpO1xuICAgICAgICAgICAgaWYgKE1hdGguYWJzKGQpIDwgMzApXG4gICAgICAgICAgICAgICAgZCAqPSA2MDtcbiAgICAgICAgICAgIGRhdGUgLT0gNjAwMDAgKiBkO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgRGF0ZShkYXRlKTtcbiAgICB9LFxuICAgIHN0cmluZ2lmeTogKHsgdmFsdWUgfSkgPT4gdmFsdWUudG9JU09TdHJpbmcoKS5yZXBsYWNlKC8oVDAwOjAwOjAwKT9cXC4wMDBaJC8sICcnKVxufTtcblxuZXhwb3J0cy5mbG9hdFRpbWUgPSBmbG9hdFRpbWU7XG5leHBvcnRzLmludFRpbWUgPSBpbnRUaW1lO1xuZXhwb3J0cy50aW1lc3RhbXAgPSB0aW1lc3RhbXA7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgbWFwID0gcmVxdWlyZSgnLi4vY29tbW9uL21hcC5qcycpO1xudmFyIF9udWxsID0gcmVxdWlyZSgnLi4vY29tbW9uL251bGwuanMnKTtcbnZhciBzZXEgPSByZXF1aXJlKCcuLi9jb21tb24vc2VxLmpzJyk7XG52YXIgc3RyaW5nID0gcmVxdWlyZSgnLi4vY29tbW9uL3N0cmluZy5qcycpO1xudmFyIGJpbmFyeSA9IHJlcXVpcmUoJy4vYmluYXJ5LmpzJyk7XG52YXIgYm9vbCA9IHJlcXVpcmUoJy4vYm9vbC5qcycpO1xudmFyIGZsb2F0ID0gcmVxdWlyZSgnLi9mbG9hdC5qcycpO1xudmFyIGludCA9IHJlcXVpcmUoJy4vaW50LmpzJyk7XG52YXIgbWVyZ2UgPSByZXF1aXJlKCcuL21lcmdlLmpzJyk7XG52YXIgb21hcCA9IHJlcXVpcmUoJy4vb21hcC5qcycpO1xudmFyIHBhaXJzID0gcmVxdWlyZSgnLi9wYWlycy5qcycpO1xudmFyIHNldCA9IHJlcXVpcmUoJy4vc2V0LmpzJyk7XG52YXIgdGltZXN0YW1wID0gcmVxdWlyZSgnLi90aW1lc3RhbXAuanMnKTtcblxuY29uc3Qgc2NoZW1hID0gW1xuICAgIG1hcC5tYXAsXG4gICAgc2VxLnNlcSxcbiAgICBzdHJpbmcuc3RyaW5nLFxuICAgIF9udWxsLm51bGxUYWcsXG4gICAgYm9vbC50cnVlVGFnLFxuICAgIGJvb2wuZmFsc2VUYWcsXG4gICAgaW50LmludEJpbixcbiAgICBpbnQuaW50T2N0LFxuICAgIGludC5pbnQsXG4gICAgaW50LmludEhleCxcbiAgICBmbG9hdC5mbG9hdE5hTixcbiAgICBmbG9hdC5mbG9hdEV4cCxcbiAgICBmbG9hdC5mbG9hdCxcbiAgICBiaW5hcnkuYmluYXJ5LFxuICAgIG1lcmdlLm1lcmdlLFxuICAgIG9tYXAub21hcCxcbiAgICBwYWlycy5wYWlycyxcbiAgICBzZXQuc2V0LFxuICAgIHRpbWVzdGFtcC5pbnRUaW1lLFxuICAgIHRpbWVzdGFtcC5mbG9hdFRpbWUsXG4gICAgdGltZXN0YW1wLnRpbWVzdGFtcFxuXTtcblxuZXhwb3J0cy5zY2hlbWEgPSBzY2hlbWE7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgbWFwID0gcmVxdWlyZSgnLi9jb21tb24vbWFwLmpzJyk7XG52YXIgX251bGwgPSByZXF1aXJlKCcuL2NvbW1vbi9udWxsLmpzJyk7XG52YXIgc2VxID0gcmVxdWlyZSgnLi9jb21tb24vc2VxLmpzJyk7XG52YXIgc3RyaW5nID0gcmVxdWlyZSgnLi9jb21tb24vc3RyaW5nLmpzJyk7XG52YXIgYm9vbCA9IHJlcXVpcmUoJy4vY29yZS9ib29sLmpzJyk7XG52YXIgZmxvYXQgPSByZXF1aXJlKCcuL2NvcmUvZmxvYXQuanMnKTtcbnZhciBpbnQgPSByZXF1aXJlKCcuL2NvcmUvaW50LmpzJyk7XG52YXIgc2NoZW1hID0gcmVxdWlyZSgnLi9jb3JlL3NjaGVtYS5qcycpO1xudmFyIHNjaGVtYSQxID0gcmVxdWlyZSgnLi9qc29uL3NjaGVtYS5qcycpO1xudmFyIGJpbmFyeSA9IHJlcXVpcmUoJy4veWFtbC0xLjEvYmluYXJ5LmpzJyk7XG52YXIgbWVyZ2UgPSByZXF1aXJlKCcuL3lhbWwtMS4xL21lcmdlLmpzJyk7XG52YXIgb21hcCA9IHJlcXVpcmUoJy4veWFtbC0xLjEvb21hcC5qcycpO1xudmFyIHBhaXJzID0gcmVxdWlyZSgnLi95YW1sLTEuMS9wYWlycy5qcycpO1xudmFyIHNjaGVtYSQyID0gcmVxdWlyZSgnLi95YW1sLTEuMS9zY2hlbWEuanMnKTtcbnZhciBzZXQgPSByZXF1aXJlKCcuL3lhbWwtMS4xL3NldC5qcycpO1xudmFyIHRpbWVzdGFtcCA9IHJlcXVpcmUoJy4veWFtbC0xLjEvdGltZXN0YW1wLmpzJyk7XG5cbmNvbnN0IHNjaGVtYXMgPSBuZXcgTWFwKFtcbiAgICBbJ2NvcmUnLCBzY2hlbWEuc2NoZW1hXSxcbiAgICBbJ2ZhaWxzYWZlJywgW21hcC5tYXAsIHNlcS5zZXEsIHN0cmluZy5zdHJpbmddXSxcbiAgICBbJ2pzb24nLCBzY2hlbWEkMS5zY2hlbWFdLFxuICAgIFsneWFtbDExJywgc2NoZW1hJDIuc2NoZW1hXSxcbiAgICBbJ3lhbWwtMS4xJywgc2NoZW1hJDIuc2NoZW1hXVxuXSk7XG5jb25zdCB0YWdzQnlOYW1lID0ge1xuICAgIGJpbmFyeTogYmluYXJ5LmJpbmFyeSxcbiAgICBib29sOiBib29sLmJvb2xUYWcsXG4gICAgZmxvYXQ6IGZsb2F0LmZsb2F0LFxuICAgIGZsb2F0RXhwOiBmbG9hdC5mbG9hdEV4cCxcbiAgICBmbG9hdE5hTjogZmxvYXQuZmxvYXROYU4sXG4gICAgZmxvYXRUaW1lOiB0aW1lc3RhbXAuZmxvYXRUaW1lLFxuICAgIGludDogaW50LmludCxcbiAgICBpbnRIZXg6IGludC5pbnRIZXgsXG4gICAgaW50T2N0OiBpbnQuaW50T2N0LFxuICAgIGludFRpbWU6IHRpbWVzdGFtcC5pbnRUaW1lLFxuICAgIG1hcDogbWFwLm1hcCxcbiAgICBtZXJnZTogbWVyZ2UubWVyZ2UsXG4gICAgbnVsbDogX251bGwubnVsbFRhZyxcbiAgICBvbWFwOiBvbWFwLm9tYXAsXG4gICAgcGFpcnM6IHBhaXJzLnBhaXJzLFxuICAgIHNlcTogc2VxLnNlcSxcbiAgICBzZXQ6IHNldC5zZXQsXG4gICAgdGltZXN0YW1wOiB0aW1lc3RhbXAudGltZXN0YW1wXG59O1xuY29uc3QgY29yZUtub3duVGFncyA9IHtcbiAgICAndGFnOnlhbWwub3JnLDIwMDI6YmluYXJ5JzogYmluYXJ5LmJpbmFyeSxcbiAgICAndGFnOnlhbWwub3JnLDIwMDI6bWVyZ2UnOiBtZXJnZS5tZXJnZSxcbiAgICAndGFnOnlhbWwub3JnLDIwMDI6b21hcCc6IG9tYXAub21hcCxcbiAgICAndGFnOnlhbWwub3JnLDIwMDI6cGFpcnMnOiBwYWlycy5wYWlycyxcbiAgICAndGFnOnlhbWwub3JnLDIwMDI6c2V0Jzogc2V0LnNldCxcbiAgICAndGFnOnlhbWwub3JnLDIwMDI6dGltZXN0YW1wJzogdGltZXN0YW1wLnRpbWVzdGFtcFxufTtcbmZ1bmN0aW9uIGdldFRhZ3MoY3VzdG9tVGFncywgc2NoZW1hTmFtZSwgYWRkTWVyZ2VUYWcpIHtcbiAgICBjb25zdCBzY2hlbWFUYWdzID0gc2NoZW1hcy5nZXQoc2NoZW1hTmFtZSk7XG4gICAgaWYgKHNjaGVtYVRhZ3MgJiYgIWN1c3RvbVRhZ3MpIHtcbiAgICAgICAgcmV0dXJuIGFkZE1lcmdlVGFnICYmICFzY2hlbWFUYWdzLmluY2x1ZGVzKG1lcmdlLm1lcmdlKVxuICAgICAgICAgICAgPyBzY2hlbWFUYWdzLmNvbmNhdChtZXJnZS5tZXJnZSlcbiAgICAgICAgICAgIDogc2NoZW1hVGFncy5zbGljZSgpO1xuICAgIH1cbiAgICBsZXQgdGFncyA9IHNjaGVtYVRhZ3M7XG4gICAgaWYgKCF0YWdzKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGN1c3RvbVRhZ3MpKVxuICAgICAgICAgICAgdGFncyA9IFtdO1xuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IGtleXMgPSBBcnJheS5mcm9tKHNjaGVtYXMua2V5cygpKVxuICAgICAgICAgICAgICAgIC5maWx0ZXIoa2V5ID0+IGtleSAhPT0gJ3lhbWwxMScpXG4gICAgICAgICAgICAgICAgLm1hcChrZXkgPT4gSlNPTi5zdHJpbmdpZnkoa2V5KSlcbiAgICAgICAgICAgICAgICAuam9pbignLCAnKTtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biBzY2hlbWEgXCIke3NjaGVtYU5hbWV9XCI7IHVzZSBvbmUgb2YgJHtrZXlzfSBvciBkZWZpbmUgY3VzdG9tVGFncyBhcnJheWApO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KGN1c3RvbVRhZ3MpKSB7XG4gICAgICAgIGZvciAoY29uc3QgdGFnIG9mIGN1c3RvbVRhZ3MpXG4gICAgICAgICAgICB0YWdzID0gdGFncy5jb25jYXQodGFnKTtcbiAgICB9XG4gICAgZWxzZSBpZiAodHlwZW9mIGN1c3RvbVRhZ3MgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgdGFncyA9IGN1c3RvbVRhZ3ModGFncy5zbGljZSgpKTtcbiAgICB9XG4gICAgaWYgKGFkZE1lcmdlVGFnKVxuICAgICAgICB0YWdzID0gdGFncy5jb25jYXQobWVyZ2UubWVyZ2UpO1xuICAgIHJldHVybiB0YWdzLnJlZHVjZSgodGFncywgdGFnKSA9PiB7XG4gICAgICAgIGNvbnN0IHRhZ09iaiA9IHR5cGVvZiB0YWcgPT09ICdzdHJpbmcnID8gdGFnc0J5TmFtZVt0YWddIDogdGFnO1xuICAgICAgICBpZiAoIXRhZ09iaikge1xuICAgICAgICAgICAgY29uc3QgdGFnTmFtZSA9IEpTT04uc3RyaW5naWZ5KHRhZyk7XG4gICAgICAgICAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModGFnc0J5TmFtZSlcbiAgICAgICAgICAgICAgICAubWFwKGtleSA9PiBKU09OLnN0cmluZ2lmeShrZXkpKVxuICAgICAgICAgICAgICAgIC5qb2luKCcsICcpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmtub3duIGN1c3RvbSB0YWcgJHt0YWdOYW1lfTsgdXNlIG9uZSBvZiAke2tleXN9YCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCF0YWdzLmluY2x1ZGVzKHRhZ09iaikpXG4gICAgICAgICAgICB0YWdzLnB1c2godGFnT2JqKTtcbiAgICAgICAgcmV0dXJuIHRhZ3M7XG4gICAgfSwgW10pO1xufVxuXG5leHBvcnRzLmNvcmVLbm93blRhZ3MgPSBjb3JlS25vd25UYWdzO1xuZXhwb3J0cy5nZXRUYWdzID0gZ2V0VGFncztcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBpZGVudGl0eSA9IHJlcXVpcmUoJy4uL25vZGVzL2lkZW50aXR5LmpzJyk7XG52YXIgbWFwID0gcmVxdWlyZSgnLi9jb21tb24vbWFwLmpzJyk7XG52YXIgc2VxID0gcmVxdWlyZSgnLi9jb21tb24vc2VxLmpzJyk7XG52YXIgc3RyaW5nID0gcmVxdWlyZSgnLi9jb21tb24vc3RyaW5nLmpzJyk7XG52YXIgdGFncyA9IHJlcXVpcmUoJy4vdGFncy5qcycpO1xuXG5jb25zdCBzb3J0TWFwRW50cmllc0J5S2V5ID0gKGEsIGIpID0+IGEua2V5IDwgYi5rZXkgPyAtMSA6IGEua2V5ID4gYi5rZXkgPyAxIDogMDtcbmNsYXNzIFNjaGVtYSB7XG4gICAgY29uc3RydWN0b3IoeyBjb21wYXQsIGN1c3RvbVRhZ3MsIG1lcmdlLCByZXNvbHZlS25vd25UYWdzLCBzY2hlbWEsIHNvcnRNYXBFbnRyaWVzLCB0b1N0cmluZ0RlZmF1bHRzIH0pIHtcbiAgICAgICAgdGhpcy5jb21wYXQgPSBBcnJheS5pc0FycmF5KGNvbXBhdClcbiAgICAgICAgICAgID8gdGFncy5nZXRUYWdzKGNvbXBhdCwgJ2NvbXBhdCcpXG4gICAgICAgICAgICA6IGNvbXBhdFxuICAgICAgICAgICAgICAgID8gdGFncy5nZXRUYWdzKG51bGwsIGNvbXBhdClcbiAgICAgICAgICAgICAgICA6IG51bGw7XG4gICAgICAgIHRoaXMubmFtZSA9ICh0eXBlb2Ygc2NoZW1hID09PSAnc3RyaW5nJyAmJiBzY2hlbWEpIHx8ICdjb3JlJztcbiAgICAgICAgdGhpcy5rbm93blRhZ3MgPSByZXNvbHZlS25vd25UYWdzID8gdGFncy5jb3JlS25vd25UYWdzIDoge307XG4gICAgICAgIHRoaXMudGFncyA9IHRhZ3MuZ2V0VGFncyhjdXN0b21UYWdzLCB0aGlzLm5hbWUsIG1lcmdlKTtcbiAgICAgICAgdGhpcy50b1N0cmluZ09wdGlvbnMgPSB0b1N0cmluZ0RlZmF1bHRzID8/IG51bGw7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBpZGVudGl0eS5NQVAsIHsgdmFsdWU6IG1hcC5tYXAgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBpZGVudGl0eS5TQ0FMQVIsIHsgdmFsdWU6IHN0cmluZy5zdHJpbmcgfSk7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBpZGVudGl0eS5TRVEsIHsgdmFsdWU6IHNlcS5zZXEgfSk7XG4gICAgICAgIC8vIFVzZWQgYnkgY3JlYXRlTWFwKClcbiAgICAgICAgdGhpcy5zb3J0TWFwRW50cmllcyA9XG4gICAgICAgICAgICB0eXBlb2Ygc29ydE1hcEVudHJpZXMgPT09ICdmdW5jdGlvbidcbiAgICAgICAgICAgICAgICA/IHNvcnRNYXBFbnRyaWVzXG4gICAgICAgICAgICAgICAgOiBzb3J0TWFwRW50cmllcyA9PT0gdHJ1ZVxuICAgICAgICAgICAgICAgICAgICA/IHNvcnRNYXBFbnRyaWVzQnlLZXlcbiAgICAgICAgICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cbiAgICBjbG9uZSgpIHtcbiAgICAgICAgY29uc3QgY29weSA9IE9iamVjdC5jcmVhdGUoU2NoZW1hLnByb3RvdHlwZSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModGhpcykpO1xuICAgICAgICBjb3B5LnRhZ3MgPSB0aGlzLnRhZ3Muc2xpY2UoKTtcbiAgICAgICAgcmV0dXJuIGNvcHk7XG4gICAgfVxufVxuXG5leHBvcnRzLlNjaGVtYSA9IFNjaGVtYTtcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBpZGVudGl0eSA9IHJlcXVpcmUoJy4uL25vZGVzL2lkZW50aXR5LmpzJyk7XG52YXIgc3RyaW5naWZ5ID0gcmVxdWlyZSgnLi9zdHJpbmdpZnkuanMnKTtcbnZhciBzdHJpbmdpZnlDb21tZW50ID0gcmVxdWlyZSgnLi9zdHJpbmdpZnlDb21tZW50LmpzJyk7XG5cbmZ1bmN0aW9uIHN0cmluZ2lmeURvY3VtZW50KGRvYywgb3B0aW9ucykge1xuICAgIGNvbnN0IGxpbmVzID0gW107XG4gICAgbGV0IGhhc0RpcmVjdGl2ZXMgPSBvcHRpb25zLmRpcmVjdGl2ZXMgPT09IHRydWU7XG4gICAgaWYgKG9wdGlvbnMuZGlyZWN0aXZlcyAhPT0gZmFsc2UgJiYgZG9jLmRpcmVjdGl2ZXMpIHtcbiAgICAgICAgY29uc3QgZGlyID0gZG9jLmRpcmVjdGl2ZXMudG9TdHJpbmcoZG9jKTtcbiAgICAgICAgaWYgKGRpcikge1xuICAgICAgICAgICAgbGluZXMucHVzaChkaXIpO1xuICAgICAgICAgICAgaGFzRGlyZWN0aXZlcyA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZG9jLmRpcmVjdGl2ZXMuZG9jU3RhcnQpXG4gICAgICAgICAgICBoYXNEaXJlY3RpdmVzID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGhhc0RpcmVjdGl2ZXMpXG4gICAgICAgIGxpbmVzLnB1c2goJy0tLScpO1xuICAgIGNvbnN0IGN0eCA9IHN0cmluZ2lmeS5jcmVhdGVTdHJpbmdpZnlDb250ZXh0KGRvYywgb3B0aW9ucyk7XG4gICAgY29uc3QgeyBjb21tZW50U3RyaW5nIH0gPSBjdHgub3B0aW9ucztcbiAgICBpZiAoZG9jLmNvbW1lbnRCZWZvcmUpIHtcbiAgICAgICAgaWYgKGxpbmVzLmxlbmd0aCAhPT0gMSlcbiAgICAgICAgICAgIGxpbmVzLnVuc2hpZnQoJycpO1xuICAgICAgICBjb25zdCBjcyA9IGNvbW1lbnRTdHJpbmcoZG9jLmNvbW1lbnRCZWZvcmUpO1xuICAgICAgICBsaW5lcy51bnNoaWZ0KHN0cmluZ2lmeUNvbW1lbnQuaW5kZW50Q29tbWVudChjcywgJycpKTtcbiAgICB9XG4gICAgbGV0IGNob21wS2VlcCA9IGZhbHNlO1xuICAgIGxldCBjb250ZW50Q29tbWVudCA9IG51bGw7XG4gICAgaWYgKGRvYy5jb250ZW50cykge1xuICAgICAgICBpZiAoaWRlbnRpdHkuaXNOb2RlKGRvYy5jb250ZW50cykpIHtcbiAgICAgICAgICAgIGlmIChkb2MuY29udGVudHMuc3BhY2VCZWZvcmUgJiYgaGFzRGlyZWN0aXZlcylcbiAgICAgICAgICAgICAgICBsaW5lcy5wdXNoKCcnKTtcbiAgICAgICAgICAgIGlmIChkb2MuY29udGVudHMuY29tbWVudEJlZm9yZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNzID0gY29tbWVudFN0cmluZyhkb2MuY29udGVudHMuY29tbWVudEJlZm9yZSk7XG4gICAgICAgICAgICAgICAgbGluZXMucHVzaChzdHJpbmdpZnlDb21tZW50LmluZGVudENvbW1lbnQoY3MsICcnKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyB0b3AtbGV2ZWwgYmxvY2sgc2NhbGFycyBuZWVkIHRvIGJlIGluZGVudGVkIGlmIGZvbGxvd2VkIGJ5IGEgY29tbWVudFxuICAgICAgICAgICAgY3R4LmZvcmNlQmxvY2tJbmRlbnQgPSAhIWRvYy5jb21tZW50O1xuICAgICAgICAgICAgY29udGVudENvbW1lbnQgPSBkb2MuY29udGVudHMuY29tbWVudDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvbkNob21wS2VlcCA9IGNvbnRlbnRDb21tZW50ID8gdW5kZWZpbmVkIDogKCkgPT4gKGNob21wS2VlcCA9IHRydWUpO1xuICAgICAgICBsZXQgYm9keSA9IHN0cmluZ2lmeS5zdHJpbmdpZnkoZG9jLmNvbnRlbnRzLCBjdHgsICgpID0+IChjb250ZW50Q29tbWVudCA9IG51bGwpLCBvbkNob21wS2VlcCk7XG4gICAgICAgIGlmIChjb250ZW50Q29tbWVudClcbiAgICAgICAgICAgIGJvZHkgKz0gc3RyaW5naWZ5Q29tbWVudC5saW5lQ29tbWVudChib2R5LCAnJywgY29tbWVudFN0cmluZyhjb250ZW50Q29tbWVudCkpO1xuICAgICAgICBpZiAoKGJvZHlbMF0gPT09ICd8JyB8fCBib2R5WzBdID09PSAnPicpICYmXG4gICAgICAgICAgICBsaW5lc1tsaW5lcy5sZW5ndGggLSAxXSA9PT0gJy0tLScpIHtcbiAgICAgICAgICAgIC8vIFRvcC1sZXZlbCBibG9jayBzY2FsYXJzIHdpdGggYSBwcmVjZWRpbmcgZG9jIG1hcmtlciBvdWdodCB0byB1c2UgdGhlXG4gICAgICAgICAgICAvLyBzYW1lIGxpbmUgZm9yIHRoZWlyIGhlYWRlci5cbiAgICAgICAgICAgIGxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdID0gYC0tLSAke2JvZHl9YDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBsaW5lcy5wdXNoKGJvZHkpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgbGluZXMucHVzaChzdHJpbmdpZnkuc3RyaW5naWZ5KGRvYy5jb250ZW50cywgY3R4KSk7XG4gICAgfVxuICAgIGlmIChkb2MuZGlyZWN0aXZlcz8uZG9jRW5kKSB7XG4gICAgICAgIGlmIChkb2MuY29tbWVudCkge1xuICAgICAgICAgICAgY29uc3QgY3MgPSBjb21tZW50U3RyaW5nKGRvYy5jb21tZW50KTtcbiAgICAgICAgICAgIGlmIChjcy5pbmNsdWRlcygnXFxuJykpIHtcbiAgICAgICAgICAgICAgICBsaW5lcy5wdXNoKCcuLi4nKTtcbiAgICAgICAgICAgICAgICBsaW5lcy5wdXNoKHN0cmluZ2lmeUNvbW1lbnQuaW5kZW50Q29tbWVudChjcywgJycpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGxpbmVzLnB1c2goYC4uLiAke2NzfWApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbGluZXMucHVzaCgnLi4uJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGxldCBkYyA9IGRvYy5jb21tZW50O1xuICAgICAgICBpZiAoZGMgJiYgY2hvbXBLZWVwKVxuICAgICAgICAgICAgZGMgPSBkYy5yZXBsYWNlKC9eXFxuKy8sICcnKTtcbiAgICAgICAgaWYgKGRjKSB7XG4gICAgICAgICAgICBpZiAoKCFjaG9tcEtlZXAgfHwgY29udGVudENvbW1lbnQpICYmIGxpbmVzW2xpbmVzLmxlbmd0aCAtIDFdICE9PSAnJylcbiAgICAgICAgICAgICAgICBsaW5lcy5wdXNoKCcnKTtcbiAgICAgICAgICAgIGxpbmVzLnB1c2goc3RyaW5naWZ5Q29tbWVudC5pbmRlbnRDb21tZW50KGNvbW1lbnRTdHJpbmcoZGMpLCAnJykpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBsaW5lcy5qb2luKCdcXG4nKSArICdcXG4nO1xufVxuXG5leHBvcnRzLnN0cmluZ2lmeURvY3VtZW50ID0gc3RyaW5naWZ5RG9jdW1lbnQ7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgQWxpYXMgPSByZXF1aXJlKCcuLi9ub2Rlcy9BbGlhcy5qcycpO1xudmFyIENvbGxlY3Rpb24gPSByZXF1aXJlKCcuLi9ub2Rlcy9Db2xsZWN0aW9uLmpzJyk7XG52YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuLi9ub2Rlcy9pZGVudGl0eS5qcycpO1xudmFyIFBhaXIgPSByZXF1aXJlKCcuLi9ub2Rlcy9QYWlyLmpzJyk7XG52YXIgdG9KUyA9IHJlcXVpcmUoJy4uL25vZGVzL3RvSlMuanMnKTtcbnZhciBTY2hlbWEgPSByZXF1aXJlKCcuLi9zY2hlbWEvU2NoZW1hLmpzJyk7XG52YXIgc3RyaW5naWZ5RG9jdW1lbnQgPSByZXF1aXJlKCcuLi9zdHJpbmdpZnkvc3RyaW5naWZ5RG9jdW1lbnQuanMnKTtcbnZhciBhbmNob3JzID0gcmVxdWlyZSgnLi9hbmNob3JzLmpzJyk7XG52YXIgYXBwbHlSZXZpdmVyID0gcmVxdWlyZSgnLi9hcHBseVJldml2ZXIuanMnKTtcbnZhciBjcmVhdGVOb2RlID0gcmVxdWlyZSgnLi9jcmVhdGVOb2RlLmpzJyk7XG52YXIgZGlyZWN0aXZlcyA9IHJlcXVpcmUoJy4vZGlyZWN0aXZlcy5qcycpO1xuXG5jbGFzcyBEb2N1bWVudCB7XG4gICAgY29uc3RydWN0b3IodmFsdWUsIHJlcGxhY2VyLCBvcHRpb25zKSB7XG4gICAgICAgIC8qKiBBIGNvbW1lbnQgYmVmb3JlIHRoaXMgRG9jdW1lbnQgKi9cbiAgICAgICAgdGhpcy5jb21tZW50QmVmb3JlID0gbnVsbDtcbiAgICAgICAgLyoqIEEgY29tbWVudCBpbW1lZGlhdGVseSBhZnRlciB0aGlzIERvY3VtZW50ICovXG4gICAgICAgIHRoaXMuY29tbWVudCA9IG51bGw7XG4gICAgICAgIC8qKiBFcnJvcnMgZW5jb3VudGVyZWQgZHVyaW5nIHBhcnNpbmcuICovXG4gICAgICAgIHRoaXMuZXJyb3JzID0gW107XG4gICAgICAgIC8qKiBXYXJuaW5ncyBlbmNvdW50ZXJlZCBkdXJpbmcgcGFyc2luZy4gKi9cbiAgICAgICAgdGhpcy53YXJuaW5ncyA9IFtdO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgaWRlbnRpdHkuTk9ERV9UWVBFLCB7IHZhbHVlOiBpZGVudGl0eS5ET0MgfSk7XG4gICAgICAgIGxldCBfcmVwbGFjZXIgPSBudWxsO1xuICAgICAgICBpZiAodHlwZW9mIHJlcGxhY2VyID09PSAnZnVuY3Rpb24nIHx8IEFycmF5LmlzQXJyYXkocmVwbGFjZXIpKSB7XG4gICAgICAgICAgICBfcmVwbGFjZXIgPSByZXBsYWNlcjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQgJiYgcmVwbGFjZXIpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSByZXBsYWNlcjtcbiAgICAgICAgICAgIHJlcGxhY2VyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9wdCA9IE9iamVjdC5hc3NpZ24oe1xuICAgICAgICAgICAgaW50QXNCaWdJbnQ6IGZhbHNlLFxuICAgICAgICAgICAga2VlcFNvdXJjZVRva2VuczogZmFsc2UsXG4gICAgICAgICAgICBsb2dMZXZlbDogJ3dhcm4nLFxuICAgICAgICAgICAgcHJldHR5RXJyb3JzOiB0cnVlLFxuICAgICAgICAgICAgc3RyaWN0OiB0cnVlLFxuICAgICAgICAgICAgc3RyaW5nS2V5czogZmFsc2UsXG4gICAgICAgICAgICB1bmlxdWVLZXlzOiB0cnVlLFxuICAgICAgICAgICAgdmVyc2lvbjogJzEuMidcbiAgICAgICAgfSwgb3B0aW9ucyk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdDtcbiAgICAgICAgbGV0IHsgdmVyc2lvbiB9ID0gb3B0O1xuICAgICAgICBpZiAob3B0aW9ucz8uX2RpcmVjdGl2ZXMpIHtcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlcyA9IG9wdGlvbnMuX2RpcmVjdGl2ZXMuYXREb2N1bWVudCgpO1xuICAgICAgICAgICAgaWYgKHRoaXMuZGlyZWN0aXZlcy55YW1sLmV4cGxpY2l0KVxuICAgICAgICAgICAgICAgIHZlcnNpb24gPSB0aGlzLmRpcmVjdGl2ZXMueWFtbC52ZXJzaW9uO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlcyA9IG5ldyBkaXJlY3RpdmVzLkRpcmVjdGl2ZXMoeyB2ZXJzaW9uIH0pO1xuICAgICAgICB0aGlzLnNldFNjaGVtYSh2ZXJzaW9uLCBvcHRpb25zKTtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBXZSBjYW4ndCByZWFsbHkga25vdyB0aGF0IHRoaXMgbWF0Y2hlcyBDb250ZW50cy5cbiAgICAgICAgdGhpcy5jb250ZW50cyA9XG4gICAgICAgICAgICB2YWx1ZSA9PT0gdW5kZWZpbmVkID8gbnVsbCA6IHRoaXMuY3JlYXRlTm9kZSh2YWx1ZSwgX3JlcGxhY2VyLCBvcHRpb25zKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ3JlYXRlIGEgZGVlcCBjb3B5IG9mIHRoaXMgRG9jdW1lbnQgYW5kIGl0cyBjb250ZW50cy5cbiAgICAgKlxuICAgICAqIEN1c3RvbSBOb2RlIHZhbHVlcyB0aGF0IGluaGVyaXQgZnJvbSBgT2JqZWN0YCBzdGlsbCByZWZlciB0byB0aGVpciBvcmlnaW5hbCBpbnN0YW5jZXMuXG4gICAgICovXG4gICAgY2xvbmUoKSB7XG4gICAgICAgIGNvbnN0IGNvcHkgPSBPYmplY3QuY3JlYXRlKERvY3VtZW50LnByb3RvdHlwZSwge1xuICAgICAgICAgICAgW2lkZW50aXR5Lk5PREVfVFlQRV06IHsgdmFsdWU6IGlkZW50aXR5LkRPQyB9XG4gICAgICAgIH0pO1xuICAgICAgICBjb3B5LmNvbW1lbnRCZWZvcmUgPSB0aGlzLmNvbW1lbnRCZWZvcmU7XG4gICAgICAgIGNvcHkuY29tbWVudCA9IHRoaXMuY29tbWVudDtcbiAgICAgICAgY29weS5lcnJvcnMgPSB0aGlzLmVycm9ycy5zbGljZSgpO1xuICAgICAgICBjb3B5Lndhcm5pbmdzID0gdGhpcy53YXJuaW5ncy5zbGljZSgpO1xuICAgICAgICBjb3B5Lm9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICBpZiAodGhpcy5kaXJlY3RpdmVzKVxuICAgICAgICAgICAgY29weS5kaXJlY3RpdmVzID0gdGhpcy5kaXJlY3RpdmVzLmNsb25lKCk7XG4gICAgICAgIGNvcHkuc2NoZW1hID0gdGhpcy5zY2hlbWEuY2xvbmUoKTtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBXZSBjYW4ndCByZWFsbHkga25vdyB0aGF0IHRoaXMgbWF0Y2hlcyBDb250ZW50cy5cbiAgICAgICAgY29weS5jb250ZW50cyA9IGlkZW50aXR5LmlzTm9kZSh0aGlzLmNvbnRlbnRzKVxuICAgICAgICAgICAgPyB0aGlzLmNvbnRlbnRzLmNsb25lKGNvcHkuc2NoZW1hKVxuICAgICAgICAgICAgOiB0aGlzLmNvbnRlbnRzO1xuICAgICAgICBpZiAodGhpcy5yYW5nZSlcbiAgICAgICAgICAgIGNvcHkucmFuZ2UgPSB0aGlzLnJhbmdlLnNsaWNlKCk7XG4gICAgICAgIHJldHVybiBjb3B5O1xuICAgIH1cbiAgICAvKiogQWRkcyBhIHZhbHVlIHRvIHRoZSBkb2N1bWVudC4gKi9cbiAgICBhZGQodmFsdWUpIHtcbiAgICAgICAgaWYgKGFzc2VydENvbGxlY3Rpb24odGhpcy5jb250ZW50cykpXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRzLmFkZCh2YWx1ZSk7XG4gICAgfVxuICAgIC8qKiBBZGRzIGEgdmFsdWUgdG8gdGhlIGRvY3VtZW50LiAqL1xuICAgIGFkZEluKHBhdGgsIHZhbHVlKSB7XG4gICAgICAgIGlmIChhc3NlcnRDb2xsZWN0aW9uKHRoaXMuY29udGVudHMpKVxuICAgICAgICAgICAgdGhpcy5jb250ZW50cy5hZGRJbihwYXRoLCB2YWx1ZSk7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENyZWF0ZSBhIG5ldyBgQWxpYXNgIG5vZGUsIGVuc3VyaW5nIHRoYXQgdGhlIHRhcmdldCBgbm9kZWAgaGFzIHRoZSByZXF1aXJlZCBhbmNob3IuXG4gICAgICpcbiAgICAgKiBJZiBgbm9kZWAgYWxyZWFkeSBoYXMgYW4gYW5jaG9yLCBgbmFtZWAgaXMgaWdub3JlZC5cbiAgICAgKiBPdGhlcndpc2UsIHRoZSBgbm9kZS5hbmNob3JgIHZhbHVlIHdpbGwgYmUgc2V0IHRvIGBuYW1lYCxcbiAgICAgKiBvciBpZiBhbiBhbmNob3Igd2l0aCB0aGF0IG5hbWUgaXMgYWxyZWFkeSBwcmVzZW50IGluIHRoZSBkb2N1bWVudCxcbiAgICAgKiBgbmFtZWAgd2lsbCBiZSB1c2VkIGFzIGEgcHJlZml4IGZvciBhIG5ldyB1bmlxdWUgYW5jaG9yLlxuICAgICAqIElmIGBuYW1lYCBpcyB1bmRlZmluZWQsIHRoZSBnZW5lcmF0ZWQgYW5jaG9yIHdpbGwgdXNlICdhJyBhcyBhIHByZWZpeC5cbiAgICAgKi9cbiAgICBjcmVhdGVBbGlhcyhub2RlLCBuYW1lKSB7XG4gICAgICAgIGlmICghbm9kZS5hbmNob3IpIHtcbiAgICAgICAgICAgIGNvbnN0IHByZXYgPSBhbmNob3JzLmFuY2hvck5hbWVzKHRoaXMpO1xuICAgICAgICAgICAgbm9kZS5hbmNob3IgPVxuICAgICAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLW51bGxpc2gtY29hbGVzY2luZ1xuICAgICAgICAgICAgICAgICFuYW1lIHx8IHByZXYuaGFzKG5hbWUpID8gYW5jaG9ycy5maW5kTmV3QW5jaG9yKG5hbWUgfHwgJ2EnLCBwcmV2KSA6IG5hbWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG5ldyBBbGlhcy5BbGlhcyhub2RlLmFuY2hvcik7XG4gICAgfVxuICAgIGNyZWF0ZU5vZGUodmFsdWUsIHJlcGxhY2VyLCBvcHRpb25zKSB7XG4gICAgICAgIGxldCBfcmVwbGFjZXIgPSB1bmRlZmluZWQ7XG4gICAgICAgIGlmICh0eXBlb2YgcmVwbGFjZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHZhbHVlID0gcmVwbGFjZXIuY2FsbCh7ICcnOiB2YWx1ZSB9LCAnJywgdmFsdWUpO1xuICAgICAgICAgICAgX3JlcGxhY2VyID0gcmVwbGFjZXI7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoQXJyYXkuaXNBcnJheShyZXBsYWNlcikpIHtcbiAgICAgICAgICAgIGNvbnN0IGtleVRvU3RyID0gKHYpID0+IHR5cGVvZiB2ID09PSAnbnVtYmVyJyB8fCB2IGluc3RhbmNlb2YgU3RyaW5nIHx8IHYgaW5zdGFuY2VvZiBOdW1iZXI7XG4gICAgICAgICAgICBjb25zdCBhc1N0ciA9IHJlcGxhY2VyLmZpbHRlcihrZXlUb1N0cikubWFwKFN0cmluZyk7XG4gICAgICAgICAgICBpZiAoYXNTdHIubGVuZ3RoID4gMClcbiAgICAgICAgICAgICAgICByZXBsYWNlciA9IHJlcGxhY2VyLmNvbmNhdChhc1N0cik7XG4gICAgICAgICAgICBfcmVwbGFjZXIgPSByZXBsYWNlcjtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQgJiYgcmVwbGFjZXIpIHtcbiAgICAgICAgICAgIG9wdGlvbnMgPSByZXBsYWNlcjtcbiAgICAgICAgICAgIHJlcGxhY2VyID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHsgYWxpYXNEdXBsaWNhdGVPYmplY3RzLCBhbmNob3JQcmVmaXgsIGZsb3csIGtlZXBVbmRlZmluZWQsIG9uVGFnT2JqLCB0YWcgfSA9IG9wdGlvbnMgPz8ge307XG4gICAgICAgIGNvbnN0IHsgb25BbmNob3IsIHNldEFuY2hvcnMsIHNvdXJjZU9iamVjdHMgfSA9IGFuY2hvcnMuY3JlYXRlTm9kZUFuY2hvcnModGhpcywgXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvcHJlZmVyLW51bGxpc2gtY29hbGVzY2luZ1xuICAgICAgICBhbmNob3JQcmVmaXggfHwgJ2EnKTtcbiAgICAgICAgY29uc3QgY3R4ID0ge1xuICAgICAgICAgICAgYWxpYXNEdXBsaWNhdGVPYmplY3RzOiBhbGlhc0R1cGxpY2F0ZU9iamVjdHMgPz8gdHJ1ZSxcbiAgICAgICAgICAgIGtlZXBVbmRlZmluZWQ6IGtlZXBVbmRlZmluZWQgPz8gZmFsc2UsXG4gICAgICAgICAgICBvbkFuY2hvcixcbiAgICAgICAgICAgIG9uVGFnT2JqLFxuICAgICAgICAgICAgcmVwbGFjZXI6IF9yZXBsYWNlcixcbiAgICAgICAgICAgIHNjaGVtYTogdGhpcy5zY2hlbWEsXG4gICAgICAgICAgICBzb3VyY2VPYmplY3RzXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IG5vZGUgPSBjcmVhdGVOb2RlLmNyZWF0ZU5vZGUodmFsdWUsIHRhZywgY3R4KTtcbiAgICAgICAgaWYgKGZsb3cgJiYgaWRlbnRpdHkuaXNDb2xsZWN0aW9uKG5vZGUpKVxuICAgICAgICAgICAgbm9kZS5mbG93ID0gdHJ1ZTtcbiAgICAgICAgc2V0QW5jaG9ycygpO1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQ29udmVydCBhIGtleSBhbmQgYSB2YWx1ZSBpbnRvIGEgYFBhaXJgIHVzaW5nIHRoZSBjdXJyZW50IHNjaGVtYSxcbiAgICAgKiByZWN1cnNpdmVseSB3cmFwcGluZyBhbGwgdmFsdWVzIGFzIGBTY2FsYXJgIG9yIGBDb2xsZWN0aW9uYCBub2Rlcy5cbiAgICAgKi9cbiAgICBjcmVhdGVQYWlyKGtleSwgdmFsdWUsIG9wdGlvbnMgPSB7fSkge1xuICAgICAgICBjb25zdCBrID0gdGhpcy5jcmVhdGVOb2RlKGtleSwgbnVsbCwgb3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IHYgPSB0aGlzLmNyZWF0ZU5vZGUodmFsdWUsIG51bGwsIG9wdGlvbnMpO1xuICAgICAgICByZXR1cm4gbmV3IFBhaXIuUGFpcihrLCB2KTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhIHZhbHVlIGZyb20gdGhlIGRvY3VtZW50LlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgaXRlbSB3YXMgZm91bmQgYW5kIHJlbW92ZWQuXG4gICAgICovXG4gICAgZGVsZXRlKGtleSkge1xuICAgICAgICByZXR1cm4gYXNzZXJ0Q29sbGVjdGlvbih0aGlzLmNvbnRlbnRzKSA/IHRoaXMuY29udGVudHMuZGVsZXRlKGtleSkgOiBmYWxzZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhIHZhbHVlIGZyb20gdGhlIGRvY3VtZW50LlxuICAgICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgaXRlbSB3YXMgZm91bmQgYW5kIHJlbW92ZWQuXG4gICAgICovXG4gICAgZGVsZXRlSW4ocGF0aCkge1xuICAgICAgICBpZiAoQ29sbGVjdGlvbi5pc0VtcHR5UGF0aChwYXRoKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuY29udGVudHMgPT0gbnVsbClcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFByZXN1bWVkIGltcG9zc2libGUgaWYgU3RyaWN0IGV4dGVuZHMgZmFsc2VcbiAgICAgICAgICAgIHRoaXMuY29udGVudHMgPSBudWxsO1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFzc2VydENvbGxlY3Rpb24odGhpcy5jb250ZW50cylcbiAgICAgICAgICAgID8gdGhpcy5jb250ZW50cy5kZWxldGVJbihwYXRoKVxuICAgICAgICAgICAgOiBmYWxzZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBpdGVtIGF0IGBrZXlgLCBvciBgdW5kZWZpbmVkYCBpZiBub3QgZm91bmQuIEJ5IGRlZmF1bHQgdW53cmFwc1xuICAgICAqIHNjYWxhciB2YWx1ZXMgZnJvbSB0aGVpciBzdXJyb3VuZGluZyBub2RlOyB0byBkaXNhYmxlIHNldCBga2VlcFNjYWxhcmAgdG9cbiAgICAgKiBgdHJ1ZWAgKGNvbGxlY3Rpb25zIGFyZSBhbHdheXMgcmV0dXJuZWQgaW50YWN0KS5cbiAgICAgKi9cbiAgICBnZXQoa2V5LCBrZWVwU2NhbGFyKSB7XG4gICAgICAgIHJldHVybiBpZGVudGl0eS5pc0NvbGxlY3Rpb24odGhpcy5jb250ZW50cylcbiAgICAgICAgICAgID8gdGhpcy5jb250ZW50cy5nZXQoa2V5LCBrZWVwU2NhbGFyKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFJldHVybnMgaXRlbSBhdCBgcGF0aGAsIG9yIGB1bmRlZmluZWRgIGlmIG5vdCBmb3VuZC4gQnkgZGVmYXVsdCB1bndyYXBzXG4gICAgICogc2NhbGFyIHZhbHVlcyBmcm9tIHRoZWlyIHN1cnJvdW5kaW5nIG5vZGU7IHRvIGRpc2FibGUgc2V0IGBrZWVwU2NhbGFyYCB0b1xuICAgICAqIGB0cnVlYCAoY29sbGVjdGlvbnMgYXJlIGFsd2F5cyByZXR1cm5lZCBpbnRhY3QpLlxuICAgICAqL1xuICAgIGdldEluKHBhdGgsIGtlZXBTY2FsYXIpIHtcbiAgICAgICAgaWYgKENvbGxlY3Rpb24uaXNFbXB0eVBhdGgocGF0aCkpXG4gICAgICAgICAgICByZXR1cm4gIWtlZXBTY2FsYXIgJiYgaWRlbnRpdHkuaXNTY2FsYXIodGhpcy5jb250ZW50cylcbiAgICAgICAgICAgICAgICA/IHRoaXMuY29udGVudHMudmFsdWVcbiAgICAgICAgICAgICAgICA6IHRoaXMuY29udGVudHM7XG4gICAgICAgIHJldHVybiBpZGVudGl0eS5pc0NvbGxlY3Rpb24odGhpcy5jb250ZW50cylcbiAgICAgICAgICAgID8gdGhpcy5jb250ZW50cy5nZXRJbihwYXRoLCBrZWVwU2NhbGFyKVxuICAgICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENoZWNrcyBpZiB0aGUgZG9jdW1lbnQgaW5jbHVkZXMgYSB2YWx1ZSB3aXRoIHRoZSBrZXkgYGtleWAuXG4gICAgICovXG4gICAgaGFzKGtleSkge1xuICAgICAgICByZXR1cm4gaWRlbnRpdHkuaXNDb2xsZWN0aW9uKHRoaXMuY29udGVudHMpID8gdGhpcy5jb250ZW50cy5oYXMoa2V5KSA6IGZhbHNlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBDaGVja3MgaWYgdGhlIGRvY3VtZW50IGluY2x1ZGVzIGEgdmFsdWUgYXQgYHBhdGhgLlxuICAgICAqL1xuICAgIGhhc0luKHBhdGgpIHtcbiAgICAgICAgaWYgKENvbGxlY3Rpb24uaXNFbXB0eVBhdGgocGF0aCkpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5jb250ZW50cyAhPT0gdW5kZWZpbmVkO1xuICAgICAgICByZXR1cm4gaWRlbnRpdHkuaXNDb2xsZWN0aW9uKHRoaXMuY29udGVudHMpID8gdGhpcy5jb250ZW50cy5oYXNJbihwYXRoKSA6IGZhbHNlO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgdmFsdWUgaW4gdGhpcyBkb2N1bWVudC4gRm9yIGAhIXNldGAsIGB2YWx1ZWAgbmVlZHMgdG8gYmUgYVxuICAgICAqIGJvb2xlYW4gdG8gYWRkL3JlbW92ZSB0aGUgaXRlbSBmcm9tIHRoZSBzZXQuXG4gICAgICovXG4gICAgc2V0KGtleSwgdmFsdWUpIHtcbiAgICAgICAgaWYgKHRoaXMuY29udGVudHMgPT0gbnVsbCkge1xuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBXZSBjYW4ndCByZWFsbHkga25vdyB0aGF0IHRoaXMgbWF0Y2hlcyBDb250ZW50cy5cbiAgICAgICAgICAgIHRoaXMuY29udGVudHMgPSBDb2xsZWN0aW9uLmNvbGxlY3Rpb25Gcm9tUGF0aCh0aGlzLnNjaGVtYSwgW2tleV0sIHZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChhc3NlcnRDb2xsZWN0aW9uKHRoaXMuY29udGVudHMpKSB7XG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRzLnNldChrZXksIHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBTZXRzIGEgdmFsdWUgaW4gdGhpcyBkb2N1bWVudC4gRm9yIGAhIXNldGAsIGB2YWx1ZWAgbmVlZHMgdG8gYmUgYVxuICAgICAqIGJvb2xlYW4gdG8gYWRkL3JlbW92ZSB0aGUgaXRlbSBmcm9tIHRoZSBzZXQuXG4gICAgICovXG4gICAgc2V0SW4ocGF0aCwgdmFsdWUpIHtcbiAgICAgICAgaWYgKENvbGxlY3Rpb24uaXNFbXB0eVBhdGgocGF0aCkpIHtcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgV2UgY2FuJ3QgcmVhbGx5IGtub3cgdGhhdCB0aGlzIG1hdGNoZXMgQ29udGVudHMuXG4gICAgICAgICAgICB0aGlzLmNvbnRlbnRzID0gdmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy5jb250ZW50cyA9PSBudWxsKSB7XG4gICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFdlIGNhbid0IHJlYWxseSBrbm93IHRoYXQgdGhpcyBtYXRjaGVzIENvbnRlbnRzLlxuICAgICAgICAgICAgdGhpcy5jb250ZW50cyA9IENvbGxlY3Rpb24uY29sbGVjdGlvbkZyb21QYXRoKHRoaXMuc2NoZW1hLCBBcnJheS5mcm9tKHBhdGgpLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoYXNzZXJ0Q29sbGVjdGlvbih0aGlzLmNvbnRlbnRzKSkge1xuICAgICAgICAgICAgdGhpcy5jb250ZW50cy5zZXRJbihwYXRoLCB2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogQ2hhbmdlIHRoZSBZQU1MIHZlcnNpb24gYW5kIHNjaGVtYSB1c2VkIGJ5IHRoZSBkb2N1bWVudC5cbiAgICAgKiBBIGBudWxsYCB2ZXJzaW9uIGRpc2FibGVzIHN1cHBvcnQgZm9yIGRpcmVjdGl2ZXMsIGV4cGxpY2l0IHRhZ3MsIGFuY2hvcnMsIGFuZCBhbGlhc2VzLlxuICAgICAqIEl0IGFsc28gcmVxdWlyZXMgdGhlIGBzY2hlbWFgIG9wdGlvbiB0byBiZSBnaXZlbiBhcyBhIGBTY2hlbWFgIGluc3RhbmNlIHZhbHVlLlxuICAgICAqXG4gICAgICogT3ZlcnJpZGVzIGFsbCBwcmV2aW91c2x5IHNldCBzY2hlbWEgb3B0aW9ucy5cbiAgICAgKi9cbiAgICBzZXRTY2hlbWEodmVyc2lvbiwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIGlmICh0eXBlb2YgdmVyc2lvbiA9PT0gJ251bWJlcicpXG4gICAgICAgICAgICB2ZXJzaW9uID0gU3RyaW5nKHZlcnNpb24pO1xuICAgICAgICBsZXQgb3B0O1xuICAgICAgICBzd2l0Y2ggKHZlcnNpb24pIHtcbiAgICAgICAgICAgIGNhc2UgJzEuMSc6XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGlyZWN0aXZlcylcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmVzLnlhbWwudmVyc2lvbiA9ICcxLjEnO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmVzID0gbmV3IGRpcmVjdGl2ZXMuRGlyZWN0aXZlcyh7IHZlcnNpb246ICcxLjEnIH0pO1xuICAgICAgICAgICAgICAgIG9wdCA9IHsgcmVzb2x2ZUtub3duVGFnczogZmFsc2UsIHNjaGVtYTogJ3lhbWwtMS4xJyB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnMS4yJzpcbiAgICAgICAgICAgIGNhc2UgJ25leHQnOlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRpcmVjdGl2ZXMpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlcy55YW1sLnZlcnNpb24gPSB2ZXJzaW9uO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kaXJlY3RpdmVzID0gbmV3IGRpcmVjdGl2ZXMuRGlyZWN0aXZlcyh7IHZlcnNpb24gfSk7XG4gICAgICAgICAgICAgICAgb3B0ID0geyByZXNvbHZlS25vd25UYWdzOiB0cnVlLCBzY2hlbWE6ICdjb3JlJyB9O1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBudWxsOlxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmRpcmVjdGl2ZXMpXG4gICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmRpcmVjdGl2ZXM7XG4gICAgICAgICAgICAgICAgb3B0ID0gbnVsbDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgICAgICBjb25zdCBzdiA9IEpTT04uc3RyaW5naWZ5KHZlcnNpb24pO1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgJzEuMScsICcxLjInIG9yIG51bGwgYXMgZmlyc3QgYXJndW1lbnQsIGJ1dCBmb3VuZDogJHtzdn1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBOb3QgdXNpbmcgYGluc3RhbmNlb2YgU2NoZW1hYCB0byBhbGxvdyBmb3IgZHVjayB0eXBpbmdcbiAgICAgICAgaWYgKG9wdGlvbnMuc2NoZW1hIGluc3RhbmNlb2YgT2JqZWN0KVxuICAgICAgICAgICAgdGhpcy5zY2hlbWEgPSBvcHRpb25zLnNjaGVtYTtcbiAgICAgICAgZWxzZSBpZiAob3B0KVxuICAgICAgICAgICAgdGhpcy5zY2hlbWEgPSBuZXcgU2NoZW1hLlNjaGVtYShPYmplY3QuYXNzaWduKG9wdCwgb3B0aW9ucykpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFdpdGggYSBudWxsIFlBTUwgdmVyc2lvbiwgdGhlIHsgc2NoZW1hOiBTY2hlbWEgfSBvcHRpb24gaXMgcmVxdWlyZWRgKTtcbiAgICB9XG4gICAgLy8ganNvbiAmIGpzb25BcmcgYXJlIG9ubHkgdXNlZCBmcm9tIHRvSlNPTigpXG4gICAgdG9KUyh7IGpzb24sIGpzb25BcmcsIG1hcEFzTWFwLCBtYXhBbGlhc0NvdW50LCBvbkFuY2hvciwgcmV2aXZlciB9ID0ge30pIHtcbiAgICAgICAgY29uc3QgY3R4ID0ge1xuICAgICAgICAgICAgYW5jaG9yczogbmV3IE1hcCgpLFxuICAgICAgICAgICAgZG9jOiB0aGlzLFxuICAgICAgICAgICAga2VlcDogIWpzb24sXG4gICAgICAgICAgICBtYXBBc01hcDogbWFwQXNNYXAgPT09IHRydWUsXG4gICAgICAgICAgICBtYXBLZXlXYXJuZWQ6IGZhbHNlLFxuICAgICAgICAgICAgbWF4QWxpYXNDb3VudDogdHlwZW9mIG1heEFsaWFzQ291bnQgPT09ICdudW1iZXInID8gbWF4QWxpYXNDb3VudCA6IDEwMFxuICAgICAgICB9O1xuICAgICAgICBjb25zdCByZXMgPSB0b0pTLnRvSlModGhpcy5jb250ZW50cywganNvbkFyZyA/PyAnJywgY3R4KTtcbiAgICAgICAgaWYgKHR5cGVvZiBvbkFuY2hvciA9PT0gJ2Z1bmN0aW9uJylcbiAgICAgICAgICAgIGZvciAoY29uc3QgeyBjb3VudCwgcmVzIH0gb2YgY3R4LmFuY2hvcnMudmFsdWVzKCkpXG4gICAgICAgICAgICAgICAgb25BbmNob3IocmVzLCBjb3VudCk7XG4gICAgICAgIHJldHVybiB0eXBlb2YgcmV2aXZlciA9PT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgPyBhcHBseVJldml2ZXIuYXBwbHlSZXZpdmVyKHJldml2ZXIsIHsgJyc6IHJlcyB9LCAnJywgcmVzKVxuICAgICAgICAgICAgOiByZXM7XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEEgSlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGUgZG9jdW1lbnQgYGNvbnRlbnRzYC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBqc29uQXJnIFVzZWQgYnkgYEpTT04uc3RyaW5naWZ5YCB0byBpbmRpY2F0ZSB0aGUgYXJyYXkgaW5kZXggb3JcbiAgICAgKiAgIHByb3BlcnR5IG5hbWUuXG4gICAgICovXG4gICAgdG9KU09OKGpzb25BcmcsIG9uQW5jaG9yKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRvSlMoeyBqc29uOiB0cnVlLCBqc29uQXJnLCBtYXBBc01hcDogZmFsc2UsIG9uQW5jaG9yIH0pO1xuICAgIH1cbiAgICAvKiogQSBZQU1MIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBkb2N1bWVudC4gKi9cbiAgICB0b1N0cmluZyhvcHRpb25zID0ge30pIHtcbiAgICAgICAgaWYgKHRoaXMuZXJyb3JzLmxlbmd0aCA+IDApXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0RvY3VtZW50IHdpdGggZXJyb3JzIGNhbm5vdCBiZSBzdHJpbmdpZmllZCcpO1xuICAgICAgICBpZiAoJ2luZGVudCcgaW4gb3B0aW9ucyAmJlxuICAgICAgICAgICAgKCFOdW1iZXIuaXNJbnRlZ2VyKG9wdGlvbnMuaW5kZW50KSB8fCBOdW1iZXIob3B0aW9ucy5pbmRlbnQpIDw9IDApKSB7XG4gICAgICAgICAgICBjb25zdCBzID0gSlNPTi5zdHJpbmdpZnkob3B0aW9ucy5pbmRlbnQpO1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBcImluZGVudFwiIG9wdGlvbiBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciwgbm90ICR7c31gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc3RyaW5naWZ5RG9jdW1lbnQuc3RyaW5naWZ5RG9jdW1lbnQodGhpcywgb3B0aW9ucyk7XG4gICAgfVxufVxuZnVuY3Rpb24gYXNzZXJ0Q29sbGVjdGlvbihjb250ZW50cykge1xuICAgIGlmIChpZGVudGl0eS5pc0NvbGxlY3Rpb24oY29udGVudHMpKVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIGEgWUFNTCBjb2xsZWN0aW9uIGFzIGRvY3VtZW50IGNvbnRlbnRzJyk7XG59XG5cbmV4cG9ydHMuRG9jdW1lbnQgPSBEb2N1bWVudDtcbiIsICIndXNlIHN0cmljdCc7XG5cbmNsYXNzIFlBTUxFcnJvciBleHRlbmRzIEVycm9yIHtcbiAgICBjb25zdHJ1Y3RvcihuYW1lLCBwb3MsIGNvZGUsIG1lc3NhZ2UpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy5jb2RlID0gY29kZTtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcbiAgICAgICAgdGhpcy5wb3MgPSBwb3M7XG4gICAgfVxufVxuY2xhc3MgWUFNTFBhcnNlRXJyb3IgZXh0ZW5kcyBZQU1MRXJyb3Ige1xuICAgIGNvbnN0cnVjdG9yKHBvcywgY29kZSwgbWVzc2FnZSkge1xuICAgICAgICBzdXBlcignWUFNTFBhcnNlRXJyb3InLCBwb3MsIGNvZGUsIG1lc3NhZ2UpO1xuICAgIH1cbn1cbmNsYXNzIFlBTUxXYXJuaW5nIGV4dGVuZHMgWUFNTEVycm9yIHtcbiAgICBjb25zdHJ1Y3Rvcihwb3MsIGNvZGUsIG1lc3NhZ2UpIHtcbiAgICAgICAgc3VwZXIoJ1lBTUxXYXJuaW5nJywgcG9zLCBjb2RlLCBtZXNzYWdlKTtcbiAgICB9XG59XG5jb25zdCBwcmV0dGlmeUVycm9yID0gKHNyYywgbGMpID0+IChlcnJvcikgPT4ge1xuICAgIGlmIChlcnJvci5wb3NbMF0gPT09IC0xKVxuICAgICAgICByZXR1cm47XG4gICAgZXJyb3IubGluZVBvcyA9IGVycm9yLnBvcy5tYXAocG9zID0+IGxjLmxpbmVQb3MocG9zKSk7XG4gICAgY29uc3QgeyBsaW5lLCBjb2wgfSA9IGVycm9yLmxpbmVQb3NbMF07XG4gICAgZXJyb3IubWVzc2FnZSArPSBgIGF0IGxpbmUgJHtsaW5lfSwgY29sdW1uICR7Y29sfWA7XG4gICAgbGV0IGNpID0gY29sIC0gMTtcbiAgICBsZXQgbGluZVN0ciA9IHNyY1xuICAgICAgICAuc3Vic3RyaW5nKGxjLmxpbmVTdGFydHNbbGluZSAtIDFdLCBsYy5saW5lU3RhcnRzW2xpbmVdKVxuICAgICAgICAucmVwbGFjZSgvW1xcblxccl0rJC8sICcnKTtcbiAgICAvLyBUcmltIHRvIG1heCA4MCBjaGFycywga2VlcGluZyBjb2wgcG9zaXRpb24gbmVhciB0aGUgbWlkZGxlXG4gICAgaWYgKGNpID49IDYwICYmIGxpbmVTdHIubGVuZ3RoID4gODApIHtcbiAgICAgICAgY29uc3QgdHJpbVN0YXJ0ID0gTWF0aC5taW4oY2kgLSAzOSwgbGluZVN0ci5sZW5ndGggLSA3OSk7XG4gICAgICAgIGxpbmVTdHIgPSAnXHUyMDI2JyArIGxpbmVTdHIuc3Vic3RyaW5nKHRyaW1TdGFydCk7XG4gICAgICAgIGNpIC09IHRyaW1TdGFydCAtIDE7XG4gICAgfVxuICAgIGlmIChsaW5lU3RyLmxlbmd0aCA+IDgwKVxuICAgICAgICBsaW5lU3RyID0gbGluZVN0ci5zdWJzdHJpbmcoMCwgNzkpICsgJ1x1MjAyNic7XG4gICAgLy8gSW5jbHVkZSBwcmV2aW91cyBsaW5lIGluIGNvbnRleHQgaWYgcG9pbnRpbmcgYXQgbGluZSBzdGFydFxuICAgIGlmIChsaW5lID4gMSAmJiAvXiAqJC8udGVzdChsaW5lU3RyLnN1YnN0cmluZygwLCBjaSkpKSB7XG4gICAgICAgIC8vIFJlZ2V4cCB3b24ndCBtYXRjaCBpZiBzdGFydCBpcyB0cmltbWVkXG4gICAgICAgIGxldCBwcmV2ID0gc3JjLnN1YnN0cmluZyhsYy5saW5lU3RhcnRzW2xpbmUgLSAyXSwgbGMubGluZVN0YXJ0c1tsaW5lIC0gMV0pO1xuICAgICAgICBpZiAocHJldi5sZW5ndGggPiA4MClcbiAgICAgICAgICAgIHByZXYgPSBwcmV2LnN1YnN0cmluZygwLCA3OSkgKyAnXHUyMDI2XFxuJztcbiAgICAgICAgbGluZVN0ciA9IHByZXYgKyBsaW5lU3RyO1xuICAgIH1cbiAgICBpZiAoL1teIF0vLnRlc3QobGluZVN0cikpIHtcbiAgICAgICAgbGV0IGNvdW50ID0gMTtcbiAgICAgICAgY29uc3QgZW5kID0gZXJyb3IubGluZVBvc1sxXTtcbiAgICAgICAgaWYgKGVuZCAmJiBlbmQubGluZSA9PT0gbGluZSAmJiBlbmQuY29sID4gY29sKSB7XG4gICAgICAgICAgICBjb3VudCA9IE1hdGgubWF4KDEsIE1hdGgubWluKGVuZC5jb2wgLSBjb2wsIDgwIC0gY2kpKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwb2ludGVyID0gJyAnLnJlcGVhdChjaSkgKyAnXicucmVwZWF0KGNvdW50KTtcbiAgICAgICAgZXJyb3IubWVzc2FnZSArPSBgOlxcblxcbiR7bGluZVN0cn1cXG4ke3BvaW50ZXJ9XFxuYDtcbiAgICB9XG59O1xuXG5leHBvcnRzLllBTUxFcnJvciA9IFlBTUxFcnJvcjtcbmV4cG9ydHMuWUFNTFBhcnNlRXJyb3IgPSBZQU1MUGFyc2VFcnJvcjtcbmV4cG9ydHMuWUFNTFdhcm5pbmcgPSBZQU1MV2FybmluZztcbmV4cG9ydHMucHJldHRpZnlFcnJvciA9IHByZXR0aWZ5RXJyb3I7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiByZXNvbHZlUHJvcHModG9rZW5zLCB7IGZsb3csIGluZGljYXRvciwgbmV4dCwgb2Zmc2V0LCBvbkVycm9yLCBwYXJlbnRJbmRlbnQsIHN0YXJ0T25OZXdsaW5lIH0pIHtcbiAgICBsZXQgc3BhY2VCZWZvcmUgPSBmYWxzZTtcbiAgICBsZXQgYXROZXdsaW5lID0gc3RhcnRPbk5ld2xpbmU7XG4gICAgbGV0IGhhc1NwYWNlID0gc3RhcnRPbk5ld2xpbmU7XG4gICAgbGV0IGNvbW1lbnQgPSAnJztcbiAgICBsZXQgY29tbWVudFNlcCA9ICcnO1xuICAgIGxldCBoYXNOZXdsaW5lID0gZmFsc2U7XG4gICAgbGV0IHJlcVNwYWNlID0gZmFsc2U7XG4gICAgbGV0IHRhYiA9IG51bGw7XG4gICAgbGV0IGFuY2hvciA9IG51bGw7XG4gICAgbGV0IHRhZyA9IG51bGw7XG4gICAgbGV0IG5ld2xpbmVBZnRlclByb3AgPSBudWxsO1xuICAgIGxldCBjb21tYSA9IG51bGw7XG4gICAgbGV0IGZvdW5kID0gbnVsbDtcbiAgICBsZXQgc3RhcnQgPSBudWxsO1xuICAgIGZvciAoY29uc3QgdG9rZW4gb2YgdG9rZW5zKSB7XG4gICAgICAgIGlmIChyZXFTcGFjZSkge1xuICAgICAgICAgICAgaWYgKHRva2VuLnR5cGUgIT09ICdzcGFjZScgJiZcbiAgICAgICAgICAgICAgICB0b2tlbi50eXBlICE9PSAnbmV3bGluZScgJiZcbiAgICAgICAgICAgICAgICB0b2tlbi50eXBlICE9PSAnY29tbWEnKVxuICAgICAgICAgICAgICAgIG9uRXJyb3IodG9rZW4ub2Zmc2V0LCAnTUlTU0lOR19DSEFSJywgJ1RhZ3MgYW5kIGFuY2hvcnMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSB0aGUgbmV4dCB0b2tlbiBieSB3aGl0ZSBzcGFjZScpO1xuICAgICAgICAgICAgcmVxU3BhY2UgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGFiKSB7XG4gICAgICAgICAgICBpZiAoYXROZXdsaW5lICYmIHRva2VuLnR5cGUgIT09ICdjb21tZW50JyAmJiB0b2tlbi50eXBlICE9PSAnbmV3bGluZScpIHtcbiAgICAgICAgICAgICAgICBvbkVycm9yKHRhYiwgJ1RBQl9BU19JTkRFTlQnLCAnVGFicyBhcmUgbm90IGFsbG93ZWQgYXMgaW5kZW50YXRpb24nKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRhYiA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgc3dpdGNoICh0b2tlbi50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICAgICAgLy8gQXQgdGhlIGRvYyBsZXZlbCwgdGFicyBhdCBsaW5lIHN0YXJ0IG1heSBiZSBwYXJzZWRcbiAgICAgICAgICAgICAgICAvLyBhcyBsZWFkaW5nIHdoaXRlIHNwYWNlIHJhdGhlciB0aGFuIGluZGVudGF0aW9uLlxuICAgICAgICAgICAgICAgIC8vIEluIGEgZmxvdyBjb2xsZWN0aW9uLCBvbmx5IHRoZSBwYXJzZXIgaGFuZGxlcyBpbmRlbnQuXG4gICAgICAgICAgICAgICAgaWYgKCFmbG93ICYmXG4gICAgICAgICAgICAgICAgICAgIChpbmRpY2F0b3IgIT09ICdkb2Mtc3RhcnQnIHx8IG5leHQ/LnR5cGUgIT09ICdmbG93LWNvbGxlY3Rpb24nKSAmJlxuICAgICAgICAgICAgICAgICAgICB0b2tlbi5zb3VyY2UuaW5jbHVkZXMoJ1xcdCcpKSB7XG4gICAgICAgICAgICAgICAgICAgIHRhYiA9IHRva2VuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBoYXNTcGFjZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjb21tZW50Jzoge1xuICAgICAgICAgICAgICAgIGlmICghaGFzU3BhY2UpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodG9rZW4sICdNSVNTSU5HX0NIQVInLCAnQ29tbWVudHMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSBvdGhlciB0b2tlbnMgYnkgd2hpdGUgc3BhY2UgY2hhcmFjdGVycycpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNiID0gdG9rZW4uc291cmNlLnN1YnN0cmluZygxKSB8fCAnICc7XG4gICAgICAgICAgICAgICAgaWYgKCFjb21tZW50KVxuICAgICAgICAgICAgICAgICAgICBjb21tZW50ID0gY2I7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBjb21tZW50ICs9IGNvbW1lbnRTZXAgKyBjYjtcbiAgICAgICAgICAgICAgICBjb21tZW50U2VwID0gJyc7XG4gICAgICAgICAgICAgICAgYXROZXdsaW5lID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICBpZiAoYXROZXdsaW5lKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb21tZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudCArPSB0b2tlbi5zb3VyY2U7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHNwYWNlQmVmb3JlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBjb21tZW50U2VwICs9IHRva2VuLnNvdXJjZTtcbiAgICAgICAgICAgICAgICBhdE5ld2xpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGhhc05ld2xpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChhbmNob3IgfHwgdGFnKVxuICAgICAgICAgICAgICAgICAgICBuZXdsaW5lQWZ0ZXJQcm9wID0gdG9rZW47XG4gICAgICAgICAgICAgICAgaGFzU3BhY2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnYW5jaG9yJzpcbiAgICAgICAgICAgICAgICBpZiAoYW5jaG9yKVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHRva2VuLCAnTVVMVElQTEVfQU5DSE9SUycsICdBIG5vZGUgY2FuIGhhdmUgYXQgbW9zdCBvbmUgYW5jaG9yJyk7XG4gICAgICAgICAgICAgICAgaWYgKHRva2VuLnNvdXJjZS5lbmRzV2l0aCgnOicpKVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHRva2VuLm9mZnNldCArIHRva2VuLnNvdXJjZS5sZW5ndGggLSAxLCAnQkFEX0FMSUFTJywgJ0FuY2hvciBlbmRpbmcgaW4gOiBpcyBhbWJpZ3VvdXMnLCB0cnVlKTtcbiAgICAgICAgICAgICAgICBhbmNob3IgPSB0b2tlbjtcbiAgICAgICAgICAgICAgICBpZiAoc3RhcnQgPT09IG51bGwpXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gdG9rZW4ub2Zmc2V0O1xuICAgICAgICAgICAgICAgIGF0TmV3bGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGhhc1NwYWNlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmVxU3BhY2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAndGFnJzoge1xuICAgICAgICAgICAgICAgIGlmICh0YWcpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodG9rZW4sICdNVUxUSVBMRV9UQUdTJywgJ0Egbm9kZSBjYW4gaGF2ZSBhdCBtb3N0IG9uZSB0YWcnKTtcbiAgICAgICAgICAgICAgICB0YWcgPSB0b2tlbjtcbiAgICAgICAgICAgICAgICBpZiAoc3RhcnQgPT09IG51bGwpXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gdG9rZW4ub2Zmc2V0O1xuICAgICAgICAgICAgICAgIGF0TmV3bGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGhhc1NwYWNlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmVxU3BhY2UgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FzZSBpbmRpY2F0b3I6XG4gICAgICAgICAgICAgICAgLy8gQ291bGQgaGVyZSBoYW5kbGUgcHJlY2VkaW5nIGNvbW1lbnRzIGRpZmZlcmVudGx5XG4gICAgICAgICAgICAgICAgaWYgKGFuY2hvciB8fCB0YWcpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodG9rZW4sICdCQURfUFJPUF9PUkRFUicsIGBBbmNob3JzIGFuZCB0YWdzIG11c3QgYmUgYWZ0ZXIgdGhlICR7dG9rZW4uc291cmNlfSBpbmRpY2F0b3JgKTtcbiAgICAgICAgICAgICAgICBpZiAoZm91bmQpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodG9rZW4sICdVTkVYUEVDVEVEX1RPS0VOJywgYFVuZXhwZWN0ZWQgJHt0b2tlbi5zb3VyY2V9IGluICR7ZmxvdyA/PyAnY29sbGVjdGlvbid9YCk7XG4gICAgICAgICAgICAgICAgZm91bmQgPSB0b2tlbjtcbiAgICAgICAgICAgICAgICBhdE5ld2xpbmUgPVxuICAgICAgICAgICAgICAgICAgICBpbmRpY2F0b3IgPT09ICdzZXEtaXRlbS1pbmQnIHx8IGluZGljYXRvciA9PT0gJ2V4cGxpY2l0LWtleS1pbmQnO1xuICAgICAgICAgICAgICAgIGhhc1NwYWNlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdjb21tYSc6XG4gICAgICAgICAgICAgICAgaWYgKGZsb3cpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNvbW1hKVxuICAgICAgICAgICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ1VORVhQRUNURURfVE9LRU4nLCBgVW5leHBlY3RlZCAsIGluICR7Zmxvd31gKTtcbiAgICAgICAgICAgICAgICAgICAgY29tbWEgPSB0b2tlbjtcbiAgICAgICAgICAgICAgICAgICAgYXROZXdsaW5lID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGhhc1NwYWNlID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIGVsc2UgZmFsbHRocm91Z2hcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ1VORVhQRUNURURfVE9LRU4nLCBgVW5leHBlY3RlZCAke3Rva2VuLnR5cGV9IHRva2VuYCk7XG4gICAgICAgICAgICAgICAgYXROZXdsaW5lID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaGFzU3BhY2UgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBsYXN0ID0gdG9rZW5zW3Rva2Vucy5sZW5ndGggLSAxXTtcbiAgICBjb25zdCBlbmQgPSBsYXN0ID8gbGFzdC5vZmZzZXQgKyBsYXN0LnNvdXJjZS5sZW5ndGggOiBvZmZzZXQ7XG4gICAgaWYgKHJlcVNwYWNlICYmXG4gICAgICAgIG5leHQgJiZcbiAgICAgICAgbmV4dC50eXBlICE9PSAnc3BhY2UnICYmXG4gICAgICAgIG5leHQudHlwZSAhPT0gJ25ld2xpbmUnICYmXG4gICAgICAgIG5leHQudHlwZSAhPT0gJ2NvbW1hJyAmJlxuICAgICAgICAobmV4dC50eXBlICE9PSAnc2NhbGFyJyB8fCBuZXh0LnNvdXJjZSAhPT0gJycpKSB7XG4gICAgICAgIG9uRXJyb3IobmV4dC5vZmZzZXQsICdNSVNTSU5HX0NIQVInLCAnVGFncyBhbmQgYW5jaG9ycyBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tIHRoZSBuZXh0IHRva2VuIGJ5IHdoaXRlIHNwYWNlJyk7XG4gICAgfVxuICAgIGlmICh0YWIgJiZcbiAgICAgICAgKChhdE5ld2xpbmUgJiYgdGFiLmluZGVudCA8PSBwYXJlbnRJbmRlbnQpIHx8XG4gICAgICAgICAgICBuZXh0Py50eXBlID09PSAnYmxvY2stbWFwJyB8fFxuICAgICAgICAgICAgbmV4dD8udHlwZSA9PT0gJ2Jsb2NrLXNlcScpKVxuICAgICAgICBvbkVycm9yKHRhYiwgJ1RBQl9BU19JTkRFTlQnLCAnVGFicyBhcmUgbm90IGFsbG93ZWQgYXMgaW5kZW50YXRpb24nKTtcbiAgICByZXR1cm4ge1xuICAgICAgICBjb21tYSxcbiAgICAgICAgZm91bmQsXG4gICAgICAgIHNwYWNlQmVmb3JlLFxuICAgICAgICBjb21tZW50LFxuICAgICAgICBoYXNOZXdsaW5lLFxuICAgICAgICBhbmNob3IsXG4gICAgICAgIHRhZyxcbiAgICAgICAgbmV3bGluZUFmdGVyUHJvcCxcbiAgICAgICAgZW5kLFxuICAgICAgICBzdGFydDogc3RhcnQgPz8gZW5kXG4gICAgfTtcbn1cblxuZXhwb3J0cy5yZXNvbHZlUHJvcHMgPSByZXNvbHZlUHJvcHM7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBjb250YWluc05ld2xpbmUoa2V5KSB7XG4gICAgaWYgKCFrZXkpXG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIHN3aXRjaCAoa2V5LnR5cGUpIHtcbiAgICAgICAgY2FzZSAnYWxpYXMnOlxuICAgICAgICBjYXNlICdzY2FsYXInOlxuICAgICAgICBjYXNlICdkb3VibGUtcXVvdGVkLXNjYWxhcic6XG4gICAgICAgIGNhc2UgJ3NpbmdsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgICAgIGlmIChrZXkuc291cmNlLmluY2x1ZGVzKCdcXG4nKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIGlmIChrZXkuZW5kKVxuICAgICAgICAgICAgICAgIGZvciAoY29uc3Qgc3Qgb2Yga2V5LmVuZClcbiAgICAgICAgICAgICAgICAgICAgaWYgKHN0LnR5cGUgPT09ICduZXdsaW5lJylcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICBjYXNlICdmbG93LWNvbGxlY3Rpb24nOlxuICAgICAgICAgICAgZm9yIChjb25zdCBpdCBvZiBrZXkuaXRlbXMpIHtcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHN0IG9mIGl0LnN0YXJ0KVxuICAgICAgICAgICAgICAgICAgICBpZiAoc3QudHlwZSA9PT0gJ25ld2xpbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgaWYgKGl0LnNlcClcbiAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzdCBvZiBpdC5zZXApXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3QudHlwZSA9PT0gJ25ld2xpbmUnKVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICAgIGlmIChjb250YWluc05ld2xpbmUoaXQua2V5KSB8fCBjb250YWluc05ld2xpbmUoaXQudmFsdWUpKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbn1cblxuZXhwb3J0cy5jb250YWluc05ld2xpbmUgPSBjb250YWluc05ld2xpbmU7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgdXRpbENvbnRhaW5zTmV3bGluZSA9IHJlcXVpcmUoJy4vdXRpbC1jb250YWlucy1uZXdsaW5lLmpzJyk7XG5cbmZ1bmN0aW9uIGZsb3dJbmRlbnRDaGVjayhpbmRlbnQsIGZjLCBvbkVycm9yKSB7XG4gICAgaWYgKGZjPy50eXBlID09PSAnZmxvdy1jb2xsZWN0aW9uJykge1xuICAgICAgICBjb25zdCBlbmQgPSBmYy5lbmRbMF07XG4gICAgICAgIGlmIChlbmQuaW5kZW50ID09PSBpbmRlbnQgJiZcbiAgICAgICAgICAgIChlbmQuc291cmNlID09PSAnXScgfHwgZW5kLnNvdXJjZSA9PT0gJ30nKSAmJlxuICAgICAgICAgICAgdXRpbENvbnRhaW5zTmV3bGluZS5jb250YWluc05ld2xpbmUoZmMpKSB7XG4gICAgICAgICAgICBjb25zdCBtc2cgPSAnRmxvdyBlbmQgaW5kaWNhdG9yIHNob3VsZCBiZSBtb3JlIGluZGVudGVkIHRoYW4gcGFyZW50JztcbiAgICAgICAgICAgIG9uRXJyb3IoZW5kLCAnQkFEX0lOREVOVCcsIG1zZywgdHJ1ZSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmV4cG9ydHMuZmxvd0luZGVudENoZWNrID0gZmxvd0luZGVudENoZWNrO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIGlkZW50aXR5ID0gcmVxdWlyZSgnLi4vbm9kZXMvaWRlbnRpdHkuanMnKTtcblxuZnVuY3Rpb24gbWFwSW5jbHVkZXMoY3R4LCBpdGVtcywgc2VhcmNoKSB7XG4gICAgY29uc3QgeyB1bmlxdWVLZXlzIH0gPSBjdHgub3B0aW9ucztcbiAgICBpZiAodW5pcXVlS2V5cyA9PT0gZmFsc2UpXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICBjb25zdCBpc0VxdWFsID0gdHlwZW9mIHVuaXF1ZUtleXMgPT09ICdmdW5jdGlvbidcbiAgICAgICAgPyB1bmlxdWVLZXlzXG4gICAgICAgIDogKGEsIGIpID0+IGEgPT09IGIgfHwgKGlkZW50aXR5LmlzU2NhbGFyKGEpICYmIGlkZW50aXR5LmlzU2NhbGFyKGIpICYmIGEudmFsdWUgPT09IGIudmFsdWUpO1xuICAgIHJldHVybiBpdGVtcy5zb21lKHBhaXIgPT4gaXNFcXVhbChwYWlyLmtleSwgc2VhcmNoKSk7XG59XG5cbmV4cG9ydHMubWFwSW5jbHVkZXMgPSBtYXBJbmNsdWRlcztcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBQYWlyID0gcmVxdWlyZSgnLi4vbm9kZXMvUGFpci5qcycpO1xudmFyIFlBTUxNYXAgPSByZXF1aXJlKCcuLi9ub2Rlcy9ZQU1MTWFwLmpzJyk7XG52YXIgcmVzb2x2ZVByb3BzID0gcmVxdWlyZSgnLi9yZXNvbHZlLXByb3BzLmpzJyk7XG52YXIgdXRpbENvbnRhaW5zTmV3bGluZSA9IHJlcXVpcmUoJy4vdXRpbC1jb250YWlucy1uZXdsaW5lLmpzJyk7XG52YXIgdXRpbEZsb3dJbmRlbnRDaGVjayA9IHJlcXVpcmUoJy4vdXRpbC1mbG93LWluZGVudC1jaGVjay5qcycpO1xudmFyIHV0aWxNYXBJbmNsdWRlcyA9IHJlcXVpcmUoJy4vdXRpbC1tYXAtaW5jbHVkZXMuanMnKTtcblxuY29uc3Qgc3RhcnRDb2xNc2cgPSAnQWxsIG1hcHBpbmcgaXRlbXMgbXVzdCBzdGFydCBhdCB0aGUgc2FtZSBjb2x1bW4nO1xuZnVuY3Rpb24gcmVzb2x2ZUJsb2NrTWFwKHsgY29tcG9zZU5vZGUsIGNvbXBvc2VFbXB0eU5vZGUgfSwgY3R4LCBibSwgb25FcnJvciwgdGFnKSB7XG4gICAgY29uc3QgTm9kZUNsYXNzID0gdGFnPy5ub2RlQ2xhc3MgPz8gWUFNTE1hcC5ZQU1MTWFwO1xuICAgIGNvbnN0IG1hcCA9IG5ldyBOb2RlQ2xhc3MoY3R4LnNjaGVtYSk7XG4gICAgaWYgKGN0eC5hdFJvb3QpXG4gICAgICAgIGN0eC5hdFJvb3QgPSBmYWxzZTtcbiAgICBsZXQgb2Zmc2V0ID0gYm0ub2Zmc2V0O1xuICAgIGxldCBjb21tZW50RW5kID0gbnVsbDtcbiAgICBmb3IgKGNvbnN0IGNvbGxJdGVtIG9mIGJtLml0ZW1zKSB7XG4gICAgICAgIGNvbnN0IHsgc3RhcnQsIGtleSwgc2VwLCB2YWx1ZSB9ID0gY29sbEl0ZW07XG4gICAgICAgIC8vIGtleSBwcm9wZXJ0aWVzXG4gICAgICAgIGNvbnN0IGtleVByb3BzID0gcmVzb2x2ZVByb3BzLnJlc29sdmVQcm9wcyhzdGFydCwge1xuICAgICAgICAgICAgaW5kaWNhdG9yOiAnZXhwbGljaXQta2V5LWluZCcsXG4gICAgICAgICAgICBuZXh0OiBrZXkgPz8gc2VwPy5bMF0sXG4gICAgICAgICAgICBvZmZzZXQsXG4gICAgICAgICAgICBvbkVycm9yLFxuICAgICAgICAgICAgcGFyZW50SW5kZW50OiBibS5pbmRlbnQsXG4gICAgICAgICAgICBzdGFydE9uTmV3bGluZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICAgICAgY29uc3QgaW1wbGljaXRLZXkgPSAha2V5UHJvcHMuZm91bmQ7XG4gICAgICAgIGlmIChpbXBsaWNpdEtleSkge1xuICAgICAgICAgICAgaWYgKGtleSkge1xuICAgICAgICAgICAgICAgIGlmIChrZXkudHlwZSA9PT0gJ2Jsb2NrLXNlcScpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3Iob2Zmc2V0LCAnQkxPQ0tfQVNfSU1QTElDSVRfS0VZJywgJ0EgYmxvY2sgc2VxdWVuY2UgbWF5IG5vdCBiZSB1c2VkIGFzIGFuIGltcGxpY2l0IG1hcCBrZXknKTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmICgnaW5kZW50JyBpbiBrZXkgJiYga2V5LmluZGVudCAhPT0gYm0uaW5kZW50KVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKG9mZnNldCwgJ0JBRF9JTkRFTlQnLCBzdGFydENvbE1zZyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWtleVByb3BzLmFuY2hvciAmJiAha2V5UHJvcHMudGFnICYmICFzZXApIHtcbiAgICAgICAgICAgICAgICBjb21tZW50RW5kID0ga2V5UHJvcHMuZW5kO1xuICAgICAgICAgICAgICAgIGlmIChrZXlQcm9wcy5jb21tZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChtYXAuY29tbWVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC5jb21tZW50ICs9ICdcXG4nICsga2V5UHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLmNvbW1lbnQgPSBrZXlQcm9wcy5jb21tZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChrZXlQcm9wcy5uZXdsaW5lQWZ0ZXJQcm9wIHx8IHV0aWxDb250YWluc05ld2xpbmUuY29udGFpbnNOZXdsaW5lKGtleSkpIHtcbiAgICAgICAgICAgICAgICBvbkVycm9yKGtleSA/PyBzdGFydFtzdGFydC5sZW5ndGggLSAxXSwgJ01VTFRJTElORV9JTVBMSUNJVF9LRVknLCAnSW1wbGljaXQga2V5cyBuZWVkIHRvIGJlIG9uIGEgc2luZ2xlIGxpbmUnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChrZXlQcm9wcy5mb3VuZD8uaW5kZW50ICE9PSBibS5pbmRlbnQpIHtcbiAgICAgICAgICAgIG9uRXJyb3Iob2Zmc2V0LCAnQkFEX0lOREVOVCcsIHN0YXJ0Q29sTXNnKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBrZXkgdmFsdWVcbiAgICAgICAgY3R4LmF0S2V5ID0gdHJ1ZTtcbiAgICAgICAgY29uc3Qga2V5U3RhcnQgPSBrZXlQcm9wcy5lbmQ7XG4gICAgICAgIGNvbnN0IGtleU5vZGUgPSBrZXlcbiAgICAgICAgICAgID8gY29tcG9zZU5vZGUoY3R4LCBrZXksIGtleVByb3BzLCBvbkVycm9yKVxuICAgICAgICAgICAgOiBjb21wb3NlRW1wdHlOb2RlKGN0eCwga2V5U3RhcnQsIHN0YXJ0LCBudWxsLCBrZXlQcm9wcywgb25FcnJvcik7XG4gICAgICAgIGlmIChjdHguc2NoZW1hLmNvbXBhdClcbiAgICAgICAgICAgIHV0aWxGbG93SW5kZW50Q2hlY2suZmxvd0luZGVudENoZWNrKGJtLmluZGVudCwga2V5LCBvbkVycm9yKTtcbiAgICAgICAgY3R4LmF0S2V5ID0gZmFsc2U7XG4gICAgICAgIGlmICh1dGlsTWFwSW5jbHVkZXMubWFwSW5jbHVkZXMoY3R4LCBtYXAuaXRlbXMsIGtleU5vZGUpKVxuICAgICAgICAgICAgb25FcnJvcihrZXlTdGFydCwgJ0RVUExJQ0FURV9LRVknLCAnTWFwIGtleXMgbXVzdCBiZSB1bmlxdWUnKTtcbiAgICAgICAgLy8gdmFsdWUgcHJvcGVydGllc1xuICAgICAgICBjb25zdCB2YWx1ZVByb3BzID0gcmVzb2x2ZVByb3BzLnJlc29sdmVQcm9wcyhzZXAgPz8gW10sIHtcbiAgICAgICAgICAgIGluZGljYXRvcjogJ21hcC12YWx1ZS1pbmQnLFxuICAgICAgICAgICAgbmV4dDogdmFsdWUsXG4gICAgICAgICAgICBvZmZzZXQ6IGtleU5vZGUucmFuZ2VbMl0sXG4gICAgICAgICAgICBvbkVycm9yLFxuICAgICAgICAgICAgcGFyZW50SW5kZW50OiBibS5pbmRlbnQsXG4gICAgICAgICAgICBzdGFydE9uTmV3bGluZTogIWtleSB8fCBrZXkudHlwZSA9PT0gJ2Jsb2NrLXNjYWxhcidcbiAgICAgICAgfSk7XG4gICAgICAgIG9mZnNldCA9IHZhbHVlUHJvcHMuZW5kO1xuICAgICAgICBpZiAodmFsdWVQcm9wcy5mb3VuZCkge1xuICAgICAgICAgICAgaWYgKGltcGxpY2l0S2V5KSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlPy50eXBlID09PSAnYmxvY2stbWFwJyAmJiAhdmFsdWVQcm9wcy5oYXNOZXdsaW5lKVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKG9mZnNldCwgJ0JMT0NLX0FTX0lNUExJQ0lUX0tFWScsICdOZXN0ZWQgbWFwcGluZ3MgYXJlIG5vdCBhbGxvd2VkIGluIGNvbXBhY3QgbWFwcGluZ3MnKTtcbiAgICAgICAgICAgICAgICBpZiAoY3R4Lm9wdGlvbnMuc3RyaWN0ICYmXG4gICAgICAgICAgICAgICAgICAgIGtleVByb3BzLnN0YXJ0IDwgdmFsdWVQcm9wcy5mb3VuZC5vZmZzZXQgLSAxMDI0KVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKGtleU5vZGUucmFuZ2UsICdLRVlfT1ZFUl8xMDI0X0NIQVJTJywgJ1RoZSA6IGluZGljYXRvciBtdXN0IGJlIGF0IG1vc3QgMTAyNCBjaGFycyBhZnRlciB0aGUgc3RhcnQgb2YgYW4gaW1wbGljaXQgYmxvY2sgbWFwcGluZyBrZXknKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHZhbHVlIHZhbHVlXG4gICAgICAgICAgICBjb25zdCB2YWx1ZU5vZGUgPSB2YWx1ZVxuICAgICAgICAgICAgICAgID8gY29tcG9zZU5vZGUoY3R4LCB2YWx1ZSwgdmFsdWVQcm9wcywgb25FcnJvcilcbiAgICAgICAgICAgICAgICA6IGNvbXBvc2VFbXB0eU5vZGUoY3R4LCBvZmZzZXQsIHNlcCwgbnVsbCwgdmFsdWVQcm9wcywgb25FcnJvcik7XG4gICAgICAgICAgICBpZiAoY3R4LnNjaGVtYS5jb21wYXQpXG4gICAgICAgICAgICAgICAgdXRpbEZsb3dJbmRlbnRDaGVjay5mbG93SW5kZW50Q2hlY2soYm0uaW5kZW50LCB2YWx1ZSwgb25FcnJvcik7XG4gICAgICAgICAgICBvZmZzZXQgPSB2YWx1ZU5vZGUucmFuZ2VbMl07XG4gICAgICAgICAgICBjb25zdCBwYWlyID0gbmV3IFBhaXIuUGFpcihrZXlOb2RlLCB2YWx1ZU5vZGUpO1xuICAgICAgICAgICAgaWYgKGN0eC5vcHRpb25zLmtlZXBTb3VyY2VUb2tlbnMpXG4gICAgICAgICAgICAgICAgcGFpci5zcmNUb2tlbiA9IGNvbGxJdGVtO1xuICAgICAgICAgICAgbWFwLml0ZW1zLnB1c2gocGFpcik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyBrZXkgd2l0aCBubyB2YWx1ZVxuICAgICAgICAgICAgaWYgKGltcGxpY2l0S2V5KVxuICAgICAgICAgICAgICAgIG9uRXJyb3Ioa2V5Tm9kZS5yYW5nZSwgJ01JU1NJTkdfQ0hBUicsICdJbXBsaWNpdCBtYXAga2V5cyBuZWVkIHRvIGJlIGZvbGxvd2VkIGJ5IG1hcCB2YWx1ZXMnKTtcbiAgICAgICAgICAgIGlmICh2YWx1ZVByb3BzLmNvbW1lbnQpIHtcbiAgICAgICAgICAgICAgICBpZiAoa2V5Tm9kZS5jb21tZW50KVxuICAgICAgICAgICAgICAgICAgICBrZXlOb2RlLmNvbW1lbnQgKz0gJ1xcbicgKyB2YWx1ZVByb3BzLmNvbW1lbnQ7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBrZXlOb2RlLmNvbW1lbnQgPSB2YWx1ZVByb3BzLmNvbW1lbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBwYWlyID0gbmV3IFBhaXIuUGFpcihrZXlOb2RlKTtcbiAgICAgICAgICAgIGlmIChjdHgub3B0aW9ucy5rZWVwU291cmNlVG9rZW5zKVxuICAgICAgICAgICAgICAgIHBhaXIuc3JjVG9rZW4gPSBjb2xsSXRlbTtcbiAgICAgICAgICAgIG1hcC5pdGVtcy5wdXNoKHBhaXIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChjb21tZW50RW5kICYmIGNvbW1lbnRFbmQgPCBvZmZzZXQpXG4gICAgICAgIG9uRXJyb3IoY29tbWVudEVuZCwgJ0lNUE9TU0lCTEUnLCAnTWFwIGNvbW1lbnQgd2l0aCB0cmFpbGluZyBjb250ZW50Jyk7XG4gICAgbWFwLnJhbmdlID0gW2JtLm9mZnNldCwgb2Zmc2V0LCBjb21tZW50RW5kID8/IG9mZnNldF07XG4gICAgcmV0dXJuIG1hcDtcbn1cblxuZXhwb3J0cy5yZXNvbHZlQmxvY2tNYXAgPSByZXNvbHZlQmxvY2tNYXA7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgWUFNTFNlcSA9IHJlcXVpcmUoJy4uL25vZGVzL1lBTUxTZXEuanMnKTtcbnZhciByZXNvbHZlUHJvcHMgPSByZXF1aXJlKCcuL3Jlc29sdmUtcHJvcHMuanMnKTtcbnZhciB1dGlsRmxvd0luZGVudENoZWNrID0gcmVxdWlyZSgnLi91dGlsLWZsb3ctaW5kZW50LWNoZWNrLmpzJyk7XG5cbmZ1bmN0aW9uIHJlc29sdmVCbG9ja1NlcSh7IGNvbXBvc2VOb2RlLCBjb21wb3NlRW1wdHlOb2RlIH0sIGN0eCwgYnMsIG9uRXJyb3IsIHRhZykge1xuICAgIGNvbnN0IE5vZGVDbGFzcyA9IHRhZz8ubm9kZUNsYXNzID8/IFlBTUxTZXEuWUFNTFNlcTtcbiAgICBjb25zdCBzZXEgPSBuZXcgTm9kZUNsYXNzKGN0eC5zY2hlbWEpO1xuICAgIGlmIChjdHguYXRSb290KVxuICAgICAgICBjdHguYXRSb290ID0gZmFsc2U7XG4gICAgaWYgKGN0eC5hdEtleSlcbiAgICAgICAgY3R4LmF0S2V5ID0gZmFsc2U7XG4gICAgbGV0IG9mZnNldCA9IGJzLm9mZnNldDtcbiAgICBsZXQgY29tbWVudEVuZCA9IG51bGw7XG4gICAgZm9yIChjb25zdCB7IHN0YXJ0LCB2YWx1ZSB9IG9mIGJzLml0ZW1zKSB7XG4gICAgICAgIGNvbnN0IHByb3BzID0gcmVzb2x2ZVByb3BzLnJlc29sdmVQcm9wcyhzdGFydCwge1xuICAgICAgICAgICAgaW5kaWNhdG9yOiAnc2VxLWl0ZW0taW5kJyxcbiAgICAgICAgICAgIG5leHQ6IHZhbHVlLFxuICAgICAgICAgICAgb2Zmc2V0LFxuICAgICAgICAgICAgb25FcnJvcixcbiAgICAgICAgICAgIHBhcmVudEluZGVudDogYnMuaW5kZW50LFxuICAgICAgICAgICAgc3RhcnRPbk5ld2xpbmU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgICAgIGlmICghcHJvcHMuZm91bmQpIHtcbiAgICAgICAgICAgIGlmIChwcm9wcy5hbmNob3IgfHwgcHJvcHMudGFnIHx8IHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYgKHZhbHVlICYmIHZhbHVlLnR5cGUgPT09ICdibG9jay1zZXEnKVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHByb3BzLmVuZCwgJ0JBRF9JTkRFTlQnLCAnQWxsIHNlcXVlbmNlIGl0ZW1zIG11c3Qgc3RhcnQgYXQgdGhlIHNhbWUgY29sdW1uJyk7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKG9mZnNldCwgJ01JU1NJTkdfQ0hBUicsICdTZXF1ZW5jZSBpdGVtIHdpdGhvdXQgLSBpbmRpY2F0b3InKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbW1lbnRFbmQgPSBwcm9wcy5lbmQ7XG4gICAgICAgICAgICAgICAgaWYgKHByb3BzLmNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIHNlcS5jb21tZW50ID0gcHJvcHMuY29tbWVudDtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBjb25zdCBub2RlID0gdmFsdWVcbiAgICAgICAgICAgID8gY29tcG9zZU5vZGUoY3R4LCB2YWx1ZSwgcHJvcHMsIG9uRXJyb3IpXG4gICAgICAgICAgICA6IGNvbXBvc2VFbXB0eU5vZGUoY3R4LCBwcm9wcy5lbmQsIHN0YXJ0LCBudWxsLCBwcm9wcywgb25FcnJvcik7XG4gICAgICAgIGlmIChjdHguc2NoZW1hLmNvbXBhdClcbiAgICAgICAgICAgIHV0aWxGbG93SW5kZW50Q2hlY2suZmxvd0luZGVudENoZWNrKGJzLmluZGVudCwgdmFsdWUsIG9uRXJyb3IpO1xuICAgICAgICBvZmZzZXQgPSBub2RlLnJhbmdlWzJdO1xuICAgICAgICBzZXEuaXRlbXMucHVzaChub2RlKTtcbiAgICB9XG4gICAgc2VxLnJhbmdlID0gW2JzLm9mZnNldCwgb2Zmc2V0LCBjb21tZW50RW5kID8/IG9mZnNldF07XG4gICAgcmV0dXJuIHNlcTtcbn1cblxuZXhwb3J0cy5yZXNvbHZlQmxvY2tTZXEgPSByZXNvbHZlQmxvY2tTZXE7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiByZXNvbHZlRW5kKGVuZCwgb2Zmc2V0LCByZXFTcGFjZSwgb25FcnJvcikge1xuICAgIGxldCBjb21tZW50ID0gJyc7XG4gICAgaWYgKGVuZCkge1xuICAgICAgICBsZXQgaGFzU3BhY2UgPSBmYWxzZTtcbiAgICAgICAgbGV0IHNlcCA9ICcnO1xuICAgICAgICBmb3IgKGNvbnN0IHRva2VuIG9mIGVuZCkge1xuICAgICAgICAgICAgY29uc3QgeyBzb3VyY2UsIHR5cGUgfSA9IHRva2VuO1xuICAgICAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnc3BhY2UnOlxuICAgICAgICAgICAgICAgICAgICBoYXNTcGFjZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChyZXFTcGFjZSAmJiAhaGFzU3BhY2UpXG4gICAgICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHRva2VuLCAnTUlTU0lOR19DSEFSJywgJ0NvbW1lbnRzIG11c3QgYmUgc2VwYXJhdGVkIGZyb20gb3RoZXIgdG9rZW5zIGJ5IHdoaXRlIHNwYWNlIGNoYXJhY3RlcnMnKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY2IgPSBzb3VyY2Uuc3Vic3RyaW5nKDEpIHx8ICcgJztcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFjb21tZW50KVxuICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudCA9IGNiO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50ICs9IHNlcCArIGNiO1xuICAgICAgICAgICAgICAgICAgICBzZXAgPSAnJztcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ25ld2xpbmUnOlxuICAgICAgICAgICAgICAgICAgICBpZiAoY29tbWVudClcbiAgICAgICAgICAgICAgICAgICAgICAgIHNlcCArPSBzb3VyY2U7XG4gICAgICAgICAgICAgICAgICAgIGhhc1NwYWNlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ1VORVhQRUNURURfVE9LRU4nLCBgVW5leHBlY3RlZCAke3R5cGV9IGF0IG5vZGUgZW5kYCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvZmZzZXQgKz0gc291cmNlLmxlbmd0aDtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBjb21tZW50LCBvZmZzZXQgfTtcbn1cblxuZXhwb3J0cy5yZXNvbHZlRW5kID0gcmVzb2x2ZUVuZDtcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBpZGVudGl0eSA9IHJlcXVpcmUoJy4uL25vZGVzL2lkZW50aXR5LmpzJyk7XG52YXIgUGFpciA9IHJlcXVpcmUoJy4uL25vZGVzL1BhaXIuanMnKTtcbnZhciBZQU1MTWFwID0gcmVxdWlyZSgnLi4vbm9kZXMvWUFNTE1hcC5qcycpO1xudmFyIFlBTUxTZXEgPSByZXF1aXJlKCcuLi9ub2Rlcy9ZQU1MU2VxLmpzJyk7XG52YXIgcmVzb2x2ZUVuZCA9IHJlcXVpcmUoJy4vcmVzb2x2ZS1lbmQuanMnKTtcbnZhciByZXNvbHZlUHJvcHMgPSByZXF1aXJlKCcuL3Jlc29sdmUtcHJvcHMuanMnKTtcbnZhciB1dGlsQ29udGFpbnNOZXdsaW5lID0gcmVxdWlyZSgnLi91dGlsLWNvbnRhaW5zLW5ld2xpbmUuanMnKTtcbnZhciB1dGlsTWFwSW5jbHVkZXMgPSByZXF1aXJlKCcuL3V0aWwtbWFwLWluY2x1ZGVzLmpzJyk7XG5cbmNvbnN0IGJsb2NrTXNnID0gJ0Jsb2NrIGNvbGxlY3Rpb25zIGFyZSBub3QgYWxsb3dlZCB3aXRoaW4gZmxvdyBjb2xsZWN0aW9ucyc7XG5jb25zdCBpc0Jsb2NrID0gKHRva2VuKSA9PiB0b2tlbiAmJiAodG9rZW4udHlwZSA9PT0gJ2Jsb2NrLW1hcCcgfHwgdG9rZW4udHlwZSA9PT0gJ2Jsb2NrLXNlcScpO1xuZnVuY3Rpb24gcmVzb2x2ZUZsb3dDb2xsZWN0aW9uKHsgY29tcG9zZU5vZGUsIGNvbXBvc2VFbXB0eU5vZGUgfSwgY3R4LCBmYywgb25FcnJvciwgdGFnKSB7XG4gICAgY29uc3QgaXNNYXAgPSBmYy5zdGFydC5zb3VyY2UgPT09ICd7JztcbiAgICBjb25zdCBmY05hbWUgPSBpc01hcCA/ICdmbG93IG1hcCcgOiAnZmxvdyBzZXF1ZW5jZSc7XG4gICAgY29uc3QgTm9kZUNsYXNzID0gKHRhZz8ubm9kZUNsYXNzID8/IChpc01hcCA/IFlBTUxNYXAuWUFNTE1hcCA6IFlBTUxTZXEuWUFNTFNlcSkpO1xuICAgIGNvbnN0IGNvbGwgPSBuZXcgTm9kZUNsYXNzKGN0eC5zY2hlbWEpO1xuICAgIGNvbGwuZmxvdyA9IHRydWU7XG4gICAgY29uc3QgYXRSb290ID0gY3R4LmF0Um9vdDtcbiAgICBpZiAoYXRSb290KVxuICAgICAgICBjdHguYXRSb290ID0gZmFsc2U7XG4gICAgaWYgKGN0eC5hdEtleSlcbiAgICAgICAgY3R4LmF0S2V5ID0gZmFsc2U7XG4gICAgbGV0IG9mZnNldCA9IGZjLm9mZnNldCArIGZjLnN0YXJ0LnNvdXJjZS5sZW5ndGg7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBmYy5pdGVtcy5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBjb2xsSXRlbSA9IGZjLml0ZW1zW2ldO1xuICAgICAgICBjb25zdCB7IHN0YXJ0LCBrZXksIHNlcCwgdmFsdWUgfSA9IGNvbGxJdGVtO1xuICAgICAgICBjb25zdCBwcm9wcyA9IHJlc29sdmVQcm9wcy5yZXNvbHZlUHJvcHMoc3RhcnQsIHtcbiAgICAgICAgICAgIGZsb3c6IGZjTmFtZSxcbiAgICAgICAgICAgIGluZGljYXRvcjogJ2V4cGxpY2l0LWtleS1pbmQnLFxuICAgICAgICAgICAgbmV4dDoga2V5ID8/IHNlcD8uWzBdLFxuICAgICAgICAgICAgb2Zmc2V0LFxuICAgICAgICAgICAgb25FcnJvcixcbiAgICAgICAgICAgIHBhcmVudEluZGVudDogZmMuaW5kZW50LFxuICAgICAgICAgICAgc3RhcnRPbk5ld2xpbmU6IGZhbHNlXG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoIXByb3BzLmZvdW5kKSB7XG4gICAgICAgICAgICBpZiAoIXByb3BzLmFuY2hvciAmJiAhcHJvcHMudGFnICYmICFzZXAgJiYgIXZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYgKGkgPT09IDAgJiYgcHJvcHMuY29tbWEpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IocHJvcHMuY29tbWEsICdVTkVYUEVDVEVEX1RPS0VOJywgYFVuZXhwZWN0ZWQgLCBpbiAke2ZjTmFtZX1gKTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChpIDwgZmMuaXRlbXMubGVuZ3RoIC0gMSlcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcihwcm9wcy5zdGFydCwgJ1VORVhQRUNURURfVE9LRU4nLCBgVW5leHBlY3RlZCBlbXB0eSBpdGVtIGluICR7ZmNOYW1lfWApO1xuICAgICAgICAgICAgICAgIGlmIChwcm9wcy5jb21tZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChjb2xsLmNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xsLmNvbW1lbnQgKz0gJ1xcbicgKyBwcm9wcy5jb21tZW50O1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xsLmNvbW1lbnQgPSBwcm9wcy5jb21tZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBvZmZzZXQgPSBwcm9wcy5lbmQ7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWlzTWFwICYmIGN0eC5vcHRpb25zLnN0cmljdCAmJiB1dGlsQ29udGFpbnNOZXdsaW5lLmNvbnRhaW5zTmV3bGluZShrZXkpKVxuICAgICAgICAgICAgICAgIG9uRXJyb3Ioa2V5LCAvLyBjaGVja2VkIGJ5IGNvbnRhaW5zTmV3bGluZSgpXG4gICAgICAgICAgICAgICAgJ01VTFRJTElORV9JTVBMSUNJVF9LRVknLCAnSW1wbGljaXQga2V5cyBvZiBmbG93IHNlcXVlbmNlIHBhaXJzIG5lZWQgdG8gYmUgb24gYSBzaW5nbGUgbGluZScpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpID09PSAwKSB7XG4gICAgICAgICAgICBpZiAocHJvcHMuY29tbWEpXG4gICAgICAgICAgICAgICAgb25FcnJvcihwcm9wcy5jb21tYSwgJ1VORVhQRUNURURfVE9LRU4nLCBgVW5leHBlY3RlZCAsIGluICR7ZmNOYW1lfWApO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgaWYgKCFwcm9wcy5jb21tYSlcbiAgICAgICAgICAgICAgICBvbkVycm9yKHByb3BzLnN0YXJ0LCAnTUlTU0lOR19DSEFSJywgYE1pc3NpbmcgLCBiZXR3ZWVuICR7ZmNOYW1lfSBpdGVtc2ApO1xuICAgICAgICAgICAgaWYgKHByb3BzLmNvbW1lbnQpIHtcbiAgICAgICAgICAgICAgICBsZXQgcHJldkl0ZW1Db21tZW50ID0gJyc7XG4gICAgICAgICAgICAgICAgbG9vcDogZm9yIChjb25zdCBzdCBvZiBzdGFydCkge1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0LnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvbW1hJzpcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZJdGVtQ29tbWVudCA9IHN0LnNvdXJjZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsgbG9vcDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWsgbG9vcDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAocHJldkl0ZW1Db21tZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGxldCBwcmV2ID0gY29sbC5pdGVtc1tjb2xsLml0ZW1zLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaWRlbnRpdHkuaXNQYWlyKHByZXYpKVxuICAgICAgICAgICAgICAgICAgICAgICAgcHJldiA9IHByZXYudmFsdWUgPz8gcHJldi5rZXk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2LmNvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgICAgICBwcmV2LmNvbW1lbnQgKz0gJ1xcbicgKyBwcmV2SXRlbUNvbW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHByZXYuY29tbWVudCA9IHByZXZJdGVtQ29tbWVudDtcbiAgICAgICAgICAgICAgICAgICAgcHJvcHMuY29tbWVudCA9IHByb3BzLmNvbW1lbnQuc3Vic3RyaW5nKHByZXZJdGVtQ29tbWVudC5sZW5ndGggKyAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFpc01hcCAmJiAhc2VwICYmICFwcm9wcy5mb3VuZCkge1xuICAgICAgICAgICAgLy8gaXRlbSBpcyBhIHZhbHVlIGluIGEgc2VxXG4gICAgICAgICAgICAvLyBcdTIxOTIga2V5ICYgc2VwIGFyZSBlbXB0eSwgc3RhcnQgZG9lcyBub3QgaW5jbHVkZSA/IG9yIDpcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlTm9kZSA9IHZhbHVlXG4gICAgICAgICAgICAgICAgPyBjb21wb3NlTm9kZShjdHgsIHZhbHVlLCBwcm9wcywgb25FcnJvcilcbiAgICAgICAgICAgICAgICA6IGNvbXBvc2VFbXB0eU5vZGUoY3R4LCBwcm9wcy5lbmQsIHNlcCwgbnVsbCwgcHJvcHMsIG9uRXJyb3IpO1xuICAgICAgICAgICAgY29sbC5pdGVtcy5wdXNoKHZhbHVlTm9kZSk7XG4gICAgICAgICAgICBvZmZzZXQgPSB2YWx1ZU5vZGUucmFuZ2VbMl07XG4gICAgICAgICAgICBpZiAoaXNCbG9jayh2YWx1ZSkpXG4gICAgICAgICAgICAgICAgb25FcnJvcih2YWx1ZU5vZGUucmFuZ2UsICdCTE9DS19JTl9GTE9XJywgYmxvY2tNc2cpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gaXRlbSBpcyBhIGtleSt2YWx1ZSBwYWlyXG4gICAgICAgICAgICAvLyBrZXkgdmFsdWVcbiAgICAgICAgICAgIGN0eC5hdEtleSA9IHRydWU7XG4gICAgICAgICAgICBjb25zdCBrZXlTdGFydCA9IHByb3BzLmVuZDtcbiAgICAgICAgICAgIGNvbnN0IGtleU5vZGUgPSBrZXlcbiAgICAgICAgICAgICAgICA/IGNvbXBvc2VOb2RlKGN0eCwga2V5LCBwcm9wcywgb25FcnJvcilcbiAgICAgICAgICAgICAgICA6IGNvbXBvc2VFbXB0eU5vZGUoY3R4LCBrZXlTdGFydCwgc3RhcnQsIG51bGwsIHByb3BzLCBvbkVycm9yKTtcbiAgICAgICAgICAgIGlmIChpc0Jsb2NrKGtleSkpXG4gICAgICAgICAgICAgICAgb25FcnJvcihrZXlOb2RlLnJhbmdlLCAnQkxPQ0tfSU5fRkxPVycsIGJsb2NrTXNnKTtcbiAgICAgICAgICAgIGN0eC5hdEtleSA9IGZhbHNlO1xuICAgICAgICAgICAgLy8gdmFsdWUgcHJvcGVydGllc1xuICAgICAgICAgICAgY29uc3QgdmFsdWVQcm9wcyA9IHJlc29sdmVQcm9wcy5yZXNvbHZlUHJvcHMoc2VwID8/IFtdLCB7XG4gICAgICAgICAgICAgICAgZmxvdzogZmNOYW1lLFxuICAgICAgICAgICAgICAgIGluZGljYXRvcjogJ21hcC12YWx1ZS1pbmQnLFxuICAgICAgICAgICAgICAgIG5leHQ6IHZhbHVlLFxuICAgICAgICAgICAgICAgIG9mZnNldDoga2V5Tm9kZS5yYW5nZVsyXSxcbiAgICAgICAgICAgICAgICBvbkVycm9yLFxuICAgICAgICAgICAgICAgIHBhcmVudEluZGVudDogZmMuaW5kZW50LFxuICAgICAgICAgICAgICAgIHN0YXJ0T25OZXdsaW5lOiBmYWxzZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAodmFsdWVQcm9wcy5mb3VuZCkge1xuICAgICAgICAgICAgICAgIGlmICghaXNNYXAgJiYgIXByb3BzLmZvdW5kICYmIGN0eC5vcHRpb25zLnN0cmljdCkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoc2VwKVxuICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChjb25zdCBzdCBvZiBzZXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3QgPT09IHZhbHVlUHJvcHMuZm91bmQpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdC50eXBlID09PSAnbmV3bGluZScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb25FcnJvcihzdCwgJ01VTFRJTElORV9JTVBMSUNJVF9LRVknLCAnSW1wbGljaXQga2V5cyBvZiBmbG93IHNlcXVlbmNlIHBhaXJzIG5lZWQgdG8gYmUgb24gYSBzaW5nbGUgbGluZScpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm9wcy5zdGFydCA8IHZhbHVlUHJvcHMuZm91bmQub2Zmc2V0IC0gMTAyNClcbiAgICAgICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodmFsdWVQcm9wcy5mb3VuZCwgJ0tFWV9PVkVSXzEwMjRfQ0hBUlMnLCAnVGhlIDogaW5kaWNhdG9yIG11c3QgYmUgYXQgbW9zdCAxMDI0IGNoYXJzIGFmdGVyIHRoZSBzdGFydCBvZiBhbiBpbXBsaWNpdCBmbG93IHNlcXVlbmNlIGtleScpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgaWYgKCdzb3VyY2UnIGluIHZhbHVlICYmIHZhbHVlLnNvdXJjZSAmJiB2YWx1ZS5zb3VyY2VbMF0gPT09ICc6JylcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcih2YWx1ZSwgJ01JU1NJTkdfQ0hBUicsIGBNaXNzaW5nIHNwYWNlIGFmdGVyIDogaW4gJHtmY05hbWV9YCk7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBvbkVycm9yKHZhbHVlUHJvcHMuc3RhcnQsICdNSVNTSU5HX0NIQVInLCBgTWlzc2luZyAsIG9yIDogYmV0d2VlbiAke2ZjTmFtZX0gaXRlbXNgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHZhbHVlIHZhbHVlXG4gICAgICAgICAgICBjb25zdCB2YWx1ZU5vZGUgPSB2YWx1ZVxuICAgICAgICAgICAgICAgID8gY29tcG9zZU5vZGUoY3R4LCB2YWx1ZSwgdmFsdWVQcm9wcywgb25FcnJvcilcbiAgICAgICAgICAgICAgICA6IHZhbHVlUHJvcHMuZm91bmRcbiAgICAgICAgICAgICAgICAgICAgPyBjb21wb3NlRW1wdHlOb2RlKGN0eCwgdmFsdWVQcm9wcy5lbmQsIHNlcCwgbnVsbCwgdmFsdWVQcm9wcywgb25FcnJvcilcbiAgICAgICAgICAgICAgICAgICAgOiBudWxsO1xuICAgICAgICAgICAgaWYgKHZhbHVlTm9kZSkge1xuICAgICAgICAgICAgICAgIGlmIChpc0Jsb2NrKHZhbHVlKSlcbiAgICAgICAgICAgICAgICAgICAgb25FcnJvcih2YWx1ZU5vZGUucmFuZ2UsICdCTE9DS19JTl9GTE9XJywgYmxvY2tNc2cpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAodmFsdWVQcm9wcy5jb21tZW50KSB7XG4gICAgICAgICAgICAgICAgaWYgKGtleU5vZGUuY29tbWVudClcbiAgICAgICAgICAgICAgICAgICAga2V5Tm9kZS5jb21tZW50ICs9ICdcXG4nICsgdmFsdWVQcm9wcy5jb21tZW50O1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAga2V5Tm9kZS5jb21tZW50ID0gdmFsdWVQcm9wcy5jb21tZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29uc3QgcGFpciA9IG5ldyBQYWlyLlBhaXIoa2V5Tm9kZSwgdmFsdWVOb2RlKTtcbiAgICAgICAgICAgIGlmIChjdHgub3B0aW9ucy5rZWVwU291cmNlVG9rZW5zKVxuICAgICAgICAgICAgICAgIHBhaXIuc3JjVG9rZW4gPSBjb2xsSXRlbTtcbiAgICAgICAgICAgIGlmIChpc01hcCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1hcCA9IGNvbGw7XG4gICAgICAgICAgICAgICAgaWYgKHV0aWxNYXBJbmNsdWRlcy5tYXBJbmNsdWRlcyhjdHgsIG1hcC5pdGVtcywga2V5Tm9kZSkpXG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3Ioa2V5U3RhcnQsICdEVVBMSUNBVEVfS0VZJywgJ01hcCBrZXlzIG11c3QgYmUgdW5pcXVlJyk7XG4gICAgICAgICAgICAgICAgbWFwLml0ZW1zLnB1c2gocGFpcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXAgPSBuZXcgWUFNTE1hcC5ZQU1MTWFwKGN0eC5zY2hlbWEpO1xuICAgICAgICAgICAgICAgIG1hcC5mbG93ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBtYXAuaXRlbXMucHVzaChwYWlyKTtcbiAgICAgICAgICAgICAgICBjb25zdCBlbmRSYW5nZSA9ICh2YWx1ZU5vZGUgPz8ga2V5Tm9kZSkucmFuZ2U7XG4gICAgICAgICAgICAgICAgbWFwLnJhbmdlID0gW2tleU5vZGUucmFuZ2VbMF0sIGVuZFJhbmdlWzFdLCBlbmRSYW5nZVsyXV07XG4gICAgICAgICAgICAgICAgY29sbC5pdGVtcy5wdXNoKG1hcCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvZmZzZXQgPSB2YWx1ZU5vZGUgPyB2YWx1ZU5vZGUucmFuZ2VbMl0gOiB2YWx1ZVByb3BzLmVuZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBleHBlY3RlZEVuZCA9IGlzTWFwID8gJ30nIDogJ10nO1xuICAgIGNvbnN0IFtjZSwgLi4uZWVdID0gZmMuZW5kO1xuICAgIGxldCBjZVBvcyA9IG9mZnNldDtcbiAgICBpZiAoY2UgJiYgY2Uuc291cmNlID09PSBleHBlY3RlZEVuZClcbiAgICAgICAgY2VQb3MgPSBjZS5vZmZzZXQgKyBjZS5zb3VyY2UubGVuZ3RoO1xuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCBuYW1lID0gZmNOYW1lWzBdLnRvVXBwZXJDYXNlKCkgKyBmY05hbWUuc3Vic3RyaW5nKDEpO1xuICAgICAgICBjb25zdCBtc2cgPSBhdFJvb3RcbiAgICAgICAgICAgID8gYCR7bmFtZX0gbXVzdCBlbmQgd2l0aCBhICR7ZXhwZWN0ZWRFbmR9YFxuICAgICAgICAgICAgOiBgJHtuYW1lfSBpbiBibG9jayBjb2xsZWN0aW9uIG11c3QgYmUgc3VmZmljaWVudGx5IGluZGVudGVkIGFuZCBlbmQgd2l0aCBhICR7ZXhwZWN0ZWRFbmR9YDtcbiAgICAgICAgb25FcnJvcihvZmZzZXQsIGF0Um9vdCA/ICdNSVNTSU5HX0NIQVInIDogJ0JBRF9JTkRFTlQnLCBtc2cpO1xuICAgICAgICBpZiAoY2UgJiYgY2Uuc291cmNlLmxlbmd0aCAhPT0gMSlcbiAgICAgICAgICAgIGVlLnVuc2hpZnQoY2UpO1xuICAgIH1cbiAgICBpZiAoZWUubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBlbmQgPSByZXNvbHZlRW5kLnJlc29sdmVFbmQoZWUsIGNlUG9zLCBjdHgub3B0aW9ucy5zdHJpY3QsIG9uRXJyb3IpO1xuICAgICAgICBpZiAoZW5kLmNvbW1lbnQpIHtcbiAgICAgICAgICAgIGlmIChjb2xsLmNvbW1lbnQpXG4gICAgICAgICAgICAgICAgY29sbC5jb21tZW50ICs9ICdcXG4nICsgZW5kLmNvbW1lbnQ7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgY29sbC5jb21tZW50ID0gZW5kLmNvbW1lbnQ7XG4gICAgICAgIH1cbiAgICAgICAgY29sbC5yYW5nZSA9IFtmYy5vZmZzZXQsIGNlUG9zLCBlbmQub2Zmc2V0XTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGNvbGwucmFuZ2UgPSBbZmMub2Zmc2V0LCBjZVBvcywgY2VQb3NdO1xuICAgIH1cbiAgICByZXR1cm4gY29sbDtcbn1cblxuZXhwb3J0cy5yZXNvbHZlRmxvd0NvbGxlY3Rpb24gPSByZXNvbHZlRmxvd0NvbGxlY3Rpb247XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuLi9ub2Rlcy9pZGVudGl0eS5qcycpO1xudmFyIFNjYWxhciA9IHJlcXVpcmUoJy4uL25vZGVzL1NjYWxhci5qcycpO1xudmFyIFlBTUxNYXAgPSByZXF1aXJlKCcuLi9ub2Rlcy9ZQU1MTWFwLmpzJyk7XG52YXIgWUFNTFNlcSA9IHJlcXVpcmUoJy4uL25vZGVzL1lBTUxTZXEuanMnKTtcbnZhciByZXNvbHZlQmxvY2tNYXAgPSByZXF1aXJlKCcuL3Jlc29sdmUtYmxvY2stbWFwLmpzJyk7XG52YXIgcmVzb2x2ZUJsb2NrU2VxID0gcmVxdWlyZSgnLi9yZXNvbHZlLWJsb2NrLXNlcS5qcycpO1xudmFyIHJlc29sdmVGbG93Q29sbGVjdGlvbiA9IHJlcXVpcmUoJy4vcmVzb2x2ZS1mbG93LWNvbGxlY3Rpb24uanMnKTtcblxuZnVuY3Rpb24gcmVzb2x2ZUNvbGxlY3Rpb24oQ04sIGN0eCwgdG9rZW4sIG9uRXJyb3IsIHRhZ05hbWUsIHRhZykge1xuICAgIGNvbnN0IGNvbGwgPSB0b2tlbi50eXBlID09PSAnYmxvY2stbWFwJ1xuICAgICAgICA/IHJlc29sdmVCbG9ja01hcC5yZXNvbHZlQmxvY2tNYXAoQ04sIGN0eCwgdG9rZW4sIG9uRXJyb3IsIHRhZylcbiAgICAgICAgOiB0b2tlbi50eXBlID09PSAnYmxvY2stc2VxJ1xuICAgICAgICAgICAgPyByZXNvbHZlQmxvY2tTZXEucmVzb2x2ZUJsb2NrU2VxKENOLCBjdHgsIHRva2VuLCBvbkVycm9yLCB0YWcpXG4gICAgICAgICAgICA6IHJlc29sdmVGbG93Q29sbGVjdGlvbi5yZXNvbHZlRmxvd0NvbGxlY3Rpb24oQ04sIGN0eCwgdG9rZW4sIG9uRXJyb3IsIHRhZyk7XG4gICAgY29uc3QgQ29sbCA9IGNvbGwuY29uc3RydWN0b3I7XG4gICAgLy8gSWYgd2UgZ290IGEgdGFnTmFtZSBtYXRjaGluZyB0aGUgY2xhc3MsIG9yIHRoZSB0YWcgbmFtZSBpcyAnIScsXG4gICAgLy8gdGhlbiB1c2UgdGhlIHRhZ05hbWUgZnJvbSB0aGUgbm9kZSBjbGFzcyB1c2VkIHRvIGNyZWF0ZSBpdC5cbiAgICBpZiAodGFnTmFtZSA9PT0gJyEnIHx8IHRhZ05hbWUgPT09IENvbGwudGFnTmFtZSkge1xuICAgICAgICBjb2xsLnRhZyA9IENvbGwudGFnTmFtZTtcbiAgICAgICAgcmV0dXJuIGNvbGw7XG4gICAgfVxuICAgIGlmICh0YWdOYW1lKVxuICAgICAgICBjb2xsLnRhZyA9IHRhZ05hbWU7XG4gICAgcmV0dXJuIGNvbGw7XG59XG5mdW5jdGlvbiBjb21wb3NlQ29sbGVjdGlvbihDTiwgY3R4LCB0b2tlbiwgcHJvcHMsIG9uRXJyb3IpIHtcbiAgICBjb25zdCB0YWdUb2tlbiA9IHByb3BzLnRhZztcbiAgICBjb25zdCB0YWdOYW1lID0gIXRhZ1Rva2VuXG4gICAgICAgID8gbnVsbFxuICAgICAgICA6IGN0eC5kaXJlY3RpdmVzLnRhZ05hbWUodGFnVG9rZW4uc291cmNlLCBtc2cgPT4gb25FcnJvcih0YWdUb2tlbiwgJ1RBR19SRVNPTFZFX0ZBSUxFRCcsIG1zZykpO1xuICAgIGlmICh0b2tlbi50eXBlID09PSAnYmxvY2stc2VxJykge1xuICAgICAgICBjb25zdCB7IGFuY2hvciwgbmV3bGluZUFmdGVyUHJvcDogbmwgfSA9IHByb3BzO1xuICAgICAgICBjb25zdCBsYXN0UHJvcCA9IGFuY2hvciAmJiB0YWdUb2tlblxuICAgICAgICAgICAgPyBhbmNob3Iub2Zmc2V0ID4gdGFnVG9rZW4ub2Zmc2V0XG4gICAgICAgICAgICAgICAgPyBhbmNob3JcbiAgICAgICAgICAgICAgICA6IHRhZ1Rva2VuXG4gICAgICAgICAgICA6IChhbmNob3IgPz8gdGFnVG9rZW4pO1xuICAgICAgICBpZiAobGFzdFByb3AgJiYgKCFubCB8fCBubC5vZmZzZXQgPCBsYXN0UHJvcC5vZmZzZXQpKSB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gJ01pc3NpbmcgbmV3bGluZSBhZnRlciBibG9jayBzZXF1ZW5jZSBwcm9wcyc7XG4gICAgICAgICAgICBvbkVycm9yKGxhc3RQcm9wLCAnTUlTU0lOR19DSEFSJywgbWVzc2FnZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgZXhwVHlwZSA9IHRva2VuLnR5cGUgPT09ICdibG9jay1tYXAnXG4gICAgICAgID8gJ21hcCdcbiAgICAgICAgOiB0b2tlbi50eXBlID09PSAnYmxvY2stc2VxJ1xuICAgICAgICAgICAgPyAnc2VxJ1xuICAgICAgICAgICAgOiB0b2tlbi5zdGFydC5zb3VyY2UgPT09ICd7J1xuICAgICAgICAgICAgICAgID8gJ21hcCdcbiAgICAgICAgICAgICAgICA6ICdzZXEnO1xuICAgIC8vIHNob3J0Y3V0OiBjaGVjayBpZiBpdCdzIGEgZ2VuZXJpYyBZQU1MTWFwIG9yIFlBTUxTZXFcbiAgICAvLyBiZWZvcmUganVtcGluZyBpbnRvIHRoZSBjdXN0b20gdGFnIGxvZ2ljLlxuICAgIGlmICghdGFnVG9rZW4gfHxcbiAgICAgICAgIXRhZ05hbWUgfHxcbiAgICAgICAgdGFnTmFtZSA9PT0gJyEnIHx8XG4gICAgICAgICh0YWdOYW1lID09PSBZQU1MTWFwLllBTUxNYXAudGFnTmFtZSAmJiBleHBUeXBlID09PSAnbWFwJykgfHxcbiAgICAgICAgKHRhZ05hbWUgPT09IFlBTUxTZXEuWUFNTFNlcS50YWdOYW1lICYmIGV4cFR5cGUgPT09ICdzZXEnKSkge1xuICAgICAgICByZXR1cm4gcmVzb2x2ZUNvbGxlY3Rpb24oQ04sIGN0eCwgdG9rZW4sIG9uRXJyb3IsIHRhZ05hbWUpO1xuICAgIH1cbiAgICBsZXQgdGFnID0gY3R4LnNjaGVtYS50YWdzLmZpbmQodCA9PiB0LnRhZyA9PT0gdGFnTmFtZSAmJiB0LmNvbGxlY3Rpb24gPT09IGV4cFR5cGUpO1xuICAgIGlmICghdGFnKSB7XG4gICAgICAgIGNvbnN0IGt0ID0gY3R4LnNjaGVtYS5rbm93blRhZ3NbdGFnTmFtZV07XG4gICAgICAgIGlmIChrdCAmJiBrdC5jb2xsZWN0aW9uID09PSBleHBUeXBlKSB7XG4gICAgICAgICAgICBjdHguc2NoZW1hLnRhZ3MucHVzaChPYmplY3QuYXNzaWduKHt9LCBrdCwgeyBkZWZhdWx0OiBmYWxzZSB9KSk7XG4gICAgICAgICAgICB0YWcgPSBrdDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChrdD8uY29sbGVjdGlvbikge1xuICAgICAgICAgICAgICAgIG9uRXJyb3IodGFnVG9rZW4sICdCQURfQ09MTEVDVElPTl9UWVBFJywgYCR7a3QudGFnfSB1c2VkIGZvciAke2V4cFR5cGV9IGNvbGxlY3Rpb24sIGJ1dCBleHBlY3RzICR7a3QuY29sbGVjdGlvbn1gLCB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIG9uRXJyb3IodGFnVG9rZW4sICdUQUdfUkVTT0xWRV9GQUlMRUQnLCBgVW5yZXNvbHZlZCB0YWc6ICR7dGFnTmFtZX1gLCB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiByZXNvbHZlQ29sbGVjdGlvbihDTiwgY3R4LCB0b2tlbiwgb25FcnJvciwgdGFnTmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgY29sbCA9IHJlc29sdmVDb2xsZWN0aW9uKENOLCBjdHgsIHRva2VuLCBvbkVycm9yLCB0YWdOYW1lLCB0YWcpO1xuICAgIGNvbnN0IHJlcyA9IHRhZy5yZXNvbHZlPy4oY29sbCwgbXNnID0+IG9uRXJyb3IodGFnVG9rZW4sICdUQUdfUkVTT0xWRV9GQUlMRUQnLCBtc2cpLCBjdHgub3B0aW9ucykgPz8gY29sbDtcbiAgICBjb25zdCBub2RlID0gaWRlbnRpdHkuaXNOb2RlKHJlcylcbiAgICAgICAgPyByZXNcbiAgICAgICAgOiBuZXcgU2NhbGFyLlNjYWxhcihyZXMpO1xuICAgIG5vZGUucmFuZ2UgPSBjb2xsLnJhbmdlO1xuICAgIG5vZGUudGFnID0gdGFnTmFtZTtcbiAgICBpZiAodGFnPy5mb3JtYXQpXG4gICAgICAgIG5vZGUuZm9ybWF0ID0gdGFnLmZvcm1hdDtcbiAgICByZXR1cm4gbm9kZTtcbn1cblxuZXhwb3J0cy5jb21wb3NlQ29sbGVjdGlvbiA9IGNvbXBvc2VDb2xsZWN0aW9uO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIFNjYWxhciA9IHJlcXVpcmUoJy4uL25vZGVzL1NjYWxhci5qcycpO1xuXG5mdW5jdGlvbiByZXNvbHZlQmxvY2tTY2FsYXIoY3R4LCBzY2FsYXIsIG9uRXJyb3IpIHtcbiAgICBjb25zdCBzdGFydCA9IHNjYWxhci5vZmZzZXQ7XG4gICAgY29uc3QgaGVhZGVyID0gcGFyc2VCbG9ja1NjYWxhckhlYWRlcihzY2FsYXIsIGN0eC5vcHRpb25zLnN0cmljdCwgb25FcnJvcik7XG4gICAgaWYgKCFoZWFkZXIpXG4gICAgICAgIHJldHVybiB7IHZhbHVlOiAnJywgdHlwZTogbnVsbCwgY29tbWVudDogJycsIHJhbmdlOiBbc3RhcnQsIHN0YXJ0LCBzdGFydF0gfTtcbiAgICBjb25zdCB0eXBlID0gaGVhZGVyLm1vZGUgPT09ICc+JyA/IFNjYWxhci5TY2FsYXIuQkxPQ0tfRk9MREVEIDogU2NhbGFyLlNjYWxhci5CTE9DS19MSVRFUkFMO1xuICAgIGNvbnN0IGxpbmVzID0gc2NhbGFyLnNvdXJjZSA/IHNwbGl0TGluZXMoc2NhbGFyLnNvdXJjZSkgOiBbXTtcbiAgICAvLyBkZXRlcm1pbmUgdGhlIGVuZCBvZiBjb250ZW50ICYgc3RhcnQgb2YgY2hvbXBpbmdcbiAgICBsZXQgY2hvbXBTdGFydCA9IGxpbmVzLmxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gbGluZXMubGVuZ3RoIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgY29uc3QgY29udGVudCA9IGxpbmVzW2ldWzFdO1xuICAgICAgICBpZiAoY29udGVudCA9PT0gJycgfHwgY29udGVudCA9PT0gJ1xccicpXG4gICAgICAgICAgICBjaG9tcFN0YXJ0ID0gaTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIC8vIHNob3J0Y3V0IGZvciBlbXB0eSBjb250ZW50c1xuICAgIGlmIChjaG9tcFN0YXJ0ID09PSAwKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gaGVhZGVyLmNob21wID09PSAnKycgJiYgbGluZXMubGVuZ3RoID4gMFxuICAgICAgICAgICAgPyAnXFxuJy5yZXBlYXQoTWF0aC5tYXgoMSwgbGluZXMubGVuZ3RoIC0gMSkpXG4gICAgICAgICAgICA6ICcnO1xuICAgICAgICBsZXQgZW5kID0gc3RhcnQgKyBoZWFkZXIubGVuZ3RoO1xuICAgICAgICBpZiAoc2NhbGFyLnNvdXJjZSlcbiAgICAgICAgICAgIGVuZCArPSBzY2FsYXIuc291cmNlLmxlbmd0aDtcbiAgICAgICAgcmV0dXJuIHsgdmFsdWUsIHR5cGUsIGNvbW1lbnQ6IGhlYWRlci5jb21tZW50LCByYW5nZTogW3N0YXJ0LCBlbmQsIGVuZF0gfTtcbiAgICB9XG4gICAgLy8gZmluZCB0aGUgaW5kZW50YXRpb24gbGV2ZWwgdG8gdHJpbSBmcm9tIHN0YXJ0XG4gICAgbGV0IHRyaW1JbmRlbnQgPSBzY2FsYXIuaW5kZW50ICsgaGVhZGVyLmluZGVudDtcbiAgICBsZXQgb2Zmc2V0ID0gc2NhbGFyLm9mZnNldCArIGhlYWRlci5sZW5ndGg7XG4gICAgbGV0IGNvbnRlbnRTdGFydCA9IDA7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjaG9tcFN0YXJ0OyArK2kpIHtcbiAgICAgICAgY29uc3QgW2luZGVudCwgY29udGVudF0gPSBsaW5lc1tpXTtcbiAgICAgICAgaWYgKGNvbnRlbnQgPT09ICcnIHx8IGNvbnRlbnQgPT09ICdcXHInKSB7XG4gICAgICAgICAgICBpZiAoaGVhZGVyLmluZGVudCA9PT0gMCAmJiBpbmRlbnQubGVuZ3RoID4gdHJpbUluZGVudClcbiAgICAgICAgICAgICAgICB0cmltSW5kZW50ID0gaW5kZW50Lmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGlmIChpbmRlbnQubGVuZ3RoIDwgdHJpbUluZGVudCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnQmxvY2sgc2NhbGFycyB3aXRoIG1vcmUtaW5kZW50ZWQgbGVhZGluZyBlbXB0eSBsaW5lcyBtdXN0IHVzZSBhbiBleHBsaWNpdCBpbmRlbnRhdGlvbiBpbmRpY2F0b3InO1xuICAgICAgICAgICAgICAgIG9uRXJyb3Iob2Zmc2V0ICsgaW5kZW50Lmxlbmd0aCwgJ01JU1NJTkdfQ0hBUicsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGhlYWRlci5pbmRlbnQgPT09IDApXG4gICAgICAgICAgICAgICAgdHJpbUluZGVudCA9IGluZGVudC5sZW5ndGg7XG4gICAgICAgICAgICBjb250ZW50U3RhcnQgPSBpO1xuICAgICAgICAgICAgaWYgKHRyaW1JbmRlbnQgPT09IDAgJiYgIWN0eC5hdFJvb3QpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gJ0Jsb2NrIHNjYWxhciB2YWx1ZXMgaW4gY29sbGVjdGlvbnMgbXVzdCBiZSBpbmRlbnRlZCc7XG4gICAgICAgICAgICAgICAgb25FcnJvcihvZmZzZXQsICdCQURfSU5ERU5UJywgbWVzc2FnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBvZmZzZXQgKz0gaW5kZW50Lmxlbmd0aCArIGNvbnRlbnQubGVuZ3RoICsgMTtcbiAgICB9XG4gICAgLy8gaW5jbHVkZSB0cmFpbGluZyBtb3JlLWluZGVudGVkIGVtcHR5IGxpbmVzIGluIGNvbnRlbnRcbiAgICBmb3IgKGxldCBpID0gbGluZXMubGVuZ3RoIC0gMTsgaSA+PSBjaG9tcFN0YXJ0OyAtLWkpIHtcbiAgICAgICAgaWYgKGxpbmVzW2ldWzBdLmxlbmd0aCA+IHRyaW1JbmRlbnQpXG4gICAgICAgICAgICBjaG9tcFN0YXJ0ID0gaSArIDE7XG4gICAgfVxuICAgIGxldCB2YWx1ZSA9ICcnO1xuICAgIGxldCBzZXAgPSAnJztcbiAgICBsZXQgcHJldk1vcmVJbmRlbnRlZCA9IGZhbHNlO1xuICAgIC8vIGxlYWRpbmcgd2hpdGVzcGFjZSBpcyBrZXB0IGludGFjdFxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29udGVudFN0YXJ0OyArK2kpXG4gICAgICAgIHZhbHVlICs9IGxpbmVzW2ldWzBdLnNsaWNlKHRyaW1JbmRlbnQpICsgJ1xcbic7XG4gICAgZm9yIChsZXQgaSA9IGNvbnRlbnRTdGFydDsgaSA8IGNob21wU3RhcnQ7ICsraSkge1xuICAgICAgICBsZXQgW2luZGVudCwgY29udGVudF0gPSBsaW5lc1tpXTtcbiAgICAgICAgb2Zmc2V0ICs9IGluZGVudC5sZW5ndGggKyBjb250ZW50Lmxlbmd0aCArIDE7XG4gICAgICAgIGNvbnN0IGNybGYgPSBjb250ZW50W2NvbnRlbnQubGVuZ3RoIC0gMV0gPT09ICdcXHInO1xuICAgICAgICBpZiAoY3JsZilcbiAgICAgICAgICAgIGNvbnRlbnQgPSBjb250ZW50LnNsaWNlKDAsIC0xKTtcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmIGFscmVhZHkgY2F1Z2h0IGluIGxleGVyICovXG4gICAgICAgIGlmIChjb250ZW50ICYmIGluZGVudC5sZW5ndGggPCB0cmltSW5kZW50KSB7XG4gICAgICAgICAgICBjb25zdCBzcmMgPSBoZWFkZXIuaW5kZW50XG4gICAgICAgICAgICAgICAgPyAnZXhwbGljaXQgaW5kZW50YXRpb24gaW5kaWNhdG9yJ1xuICAgICAgICAgICAgICAgIDogJ2ZpcnN0IGxpbmUnO1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBCbG9jayBzY2FsYXIgbGluZXMgbXVzdCBub3QgYmUgbGVzcyBpbmRlbnRlZCB0aGFuIHRoZWlyICR7c3JjfWA7XG4gICAgICAgICAgICBvbkVycm9yKG9mZnNldCAtIGNvbnRlbnQubGVuZ3RoIC0gKGNybGYgPyAyIDogMSksICdCQURfSU5ERU5UJywgbWVzc2FnZSk7XG4gICAgICAgICAgICBpbmRlbnQgPSAnJztcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZSA9PT0gU2NhbGFyLlNjYWxhci5CTE9DS19MSVRFUkFMKSB7XG4gICAgICAgICAgICB2YWx1ZSArPSBzZXAgKyBpbmRlbnQuc2xpY2UodHJpbUluZGVudCkgKyBjb250ZW50O1xuICAgICAgICAgICAgc2VwID0gJ1xcbic7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoaW5kZW50Lmxlbmd0aCA+IHRyaW1JbmRlbnQgfHwgY29udGVudFswXSA9PT0gJ1xcdCcpIHtcbiAgICAgICAgICAgIC8vIG1vcmUtaW5kZW50ZWQgY29udGVudCB3aXRoaW4gYSBmb2xkZWQgYmxvY2tcbiAgICAgICAgICAgIGlmIChzZXAgPT09ICcgJylcbiAgICAgICAgICAgICAgICBzZXAgPSAnXFxuJztcbiAgICAgICAgICAgIGVsc2UgaWYgKCFwcmV2TW9yZUluZGVudGVkICYmIHNlcCA9PT0gJ1xcbicpXG4gICAgICAgICAgICAgICAgc2VwID0gJ1xcblxcbic7XG4gICAgICAgICAgICB2YWx1ZSArPSBzZXAgKyBpbmRlbnQuc2xpY2UodHJpbUluZGVudCkgKyBjb250ZW50O1xuICAgICAgICAgICAgc2VwID0gJ1xcbic7XG4gICAgICAgICAgICBwcmV2TW9yZUluZGVudGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChjb250ZW50ID09PSAnJykge1xuICAgICAgICAgICAgLy8gZW1wdHkgbGluZVxuICAgICAgICAgICAgaWYgKHNlcCA9PT0gJ1xcbicpXG4gICAgICAgICAgICAgICAgdmFsdWUgKz0gJ1xcbic7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgc2VwID0gJ1xcbic7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YWx1ZSArPSBzZXAgKyBjb250ZW50O1xuICAgICAgICAgICAgc2VwID0gJyAnO1xuICAgICAgICAgICAgcHJldk1vcmVJbmRlbnRlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHN3aXRjaCAoaGVhZGVyLmNob21wKSB7XG4gICAgICAgIGNhc2UgJy0nOlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJysnOlxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IGNob21wU3RhcnQ7IGkgPCBsaW5lcy5sZW5ndGg7ICsraSlcbiAgICAgICAgICAgICAgICB2YWx1ZSArPSAnXFxuJyArIGxpbmVzW2ldWzBdLnNsaWNlKHRyaW1JbmRlbnQpO1xuICAgICAgICAgICAgaWYgKHZhbHVlW3ZhbHVlLmxlbmd0aCAtIDFdICE9PSAnXFxuJylcbiAgICAgICAgICAgICAgICB2YWx1ZSArPSAnXFxuJztcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgdmFsdWUgKz0gJ1xcbic7XG4gICAgfVxuICAgIGNvbnN0IGVuZCA9IHN0YXJ0ICsgaGVhZGVyLmxlbmd0aCArIHNjYWxhci5zb3VyY2UubGVuZ3RoO1xuICAgIHJldHVybiB7IHZhbHVlLCB0eXBlLCBjb21tZW50OiBoZWFkZXIuY29tbWVudCwgcmFuZ2U6IFtzdGFydCwgZW5kLCBlbmRdIH07XG59XG5mdW5jdGlvbiBwYXJzZUJsb2NrU2NhbGFySGVhZGVyKHsgb2Zmc2V0LCBwcm9wcyB9LCBzdHJpY3QsIG9uRXJyb3IpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgc2hvdWxkIG5vdCBoYXBwZW4gKi9cbiAgICBpZiAocHJvcHNbMF0udHlwZSAhPT0gJ2Jsb2NrLXNjYWxhci1oZWFkZXInKSB7XG4gICAgICAgIG9uRXJyb3IocHJvcHNbMF0sICdJTVBPU1NJQkxFJywgJ0Jsb2NrIHNjYWxhciBoZWFkZXIgbm90IGZvdW5kJyk7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBjb25zdCB7IHNvdXJjZSB9ID0gcHJvcHNbMF07XG4gICAgY29uc3QgbW9kZSA9IHNvdXJjZVswXTtcbiAgICBsZXQgaW5kZW50ID0gMDtcbiAgICBsZXQgY2hvbXAgPSAnJztcbiAgICBsZXQgZXJyb3IgPSAtMTtcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IHNvdXJjZS5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBjaCA9IHNvdXJjZVtpXTtcbiAgICAgICAgaWYgKCFjaG9tcCAmJiAoY2ggPT09ICctJyB8fCBjaCA9PT0gJysnKSlcbiAgICAgICAgICAgIGNob21wID0gY2g7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbiA9IE51bWJlcihjaCk7XG4gICAgICAgICAgICBpZiAoIWluZGVudCAmJiBuKVxuICAgICAgICAgICAgICAgIGluZGVudCA9IG47XG4gICAgICAgICAgICBlbHNlIGlmIChlcnJvciA9PT0gLTEpXG4gICAgICAgICAgICAgICAgZXJyb3IgPSBvZmZzZXQgKyBpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChlcnJvciAhPT0gLTEpXG4gICAgICAgIG9uRXJyb3IoZXJyb3IsICdVTkVYUEVDVEVEX1RPS0VOJywgYEJsb2NrIHNjYWxhciBoZWFkZXIgaW5jbHVkZXMgZXh0cmEgY2hhcmFjdGVyczogJHtzb3VyY2V9YCk7XG4gICAgbGV0IGhhc1NwYWNlID0gZmFsc2U7XG4gICAgbGV0IGNvbW1lbnQgPSAnJztcbiAgICBsZXQgbGVuZ3RoID0gc291cmNlLmxlbmd0aDtcbiAgICBmb3IgKGxldCBpID0gMTsgaSA8IHByb3BzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIGNvbnN0IHRva2VuID0gcHJvcHNbaV07XG4gICAgICAgIHN3aXRjaCAodG9rZW4udHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc3BhY2UnOlxuICAgICAgICAgICAgICAgIGhhc1NwYWNlID0gdHJ1ZTtcbiAgICAgICAgICAgIC8vIGZhbGx0aHJvdWdoXG4gICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICBsZW5ndGggKz0gdG9rZW4uc291cmNlLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOlxuICAgICAgICAgICAgICAgIGlmIChzdHJpY3QgJiYgIWhhc1NwYWNlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSAnQ29tbWVudHMgbXVzdCBiZSBzZXBhcmF0ZWQgZnJvbSBvdGhlciB0b2tlbnMgYnkgd2hpdGUgc3BhY2UgY2hhcmFjdGVycyc7XG4gICAgICAgICAgICAgICAgICAgIG9uRXJyb3IodG9rZW4sICdNSVNTSU5HX0NIQVInLCBtZXNzYWdlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGVuZ3RoICs9IHRva2VuLnNvdXJjZS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgY29tbWVudCA9IHRva2VuLnNvdXJjZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ1VORVhQRUNURURfVE9LRU4nLCB0b2tlbi5tZXNzYWdlKTtcbiAgICAgICAgICAgICAgICBsZW5ndGggKz0gdG9rZW4uc291cmNlLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0IHNob3VsZCBub3QgaGFwcGVuICovXG4gICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBVbmV4cGVjdGVkIHRva2VuIGluIGJsb2NrIHNjYWxhciBoZWFkZXI6ICR7dG9rZW4udHlwZX1gO1xuICAgICAgICAgICAgICAgIG9uRXJyb3IodG9rZW4sICdVTkVYUEVDVEVEX1RPS0VOJywgbWVzc2FnZSk7XG4gICAgICAgICAgICAgICAgY29uc3QgdHMgPSB0b2tlbi5zb3VyY2U7XG4gICAgICAgICAgICAgICAgaWYgKHRzICYmIHR5cGVvZiB0cyA9PT0gJ3N0cmluZycpXG4gICAgICAgICAgICAgICAgICAgIGxlbmd0aCArPSB0cy5sZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgbW9kZSwgaW5kZW50LCBjaG9tcCwgY29tbWVudCwgbGVuZ3RoIH07XG59XG4vKiogQHJldHVybnMgQXJyYXkgb2YgbGluZXMgc3BsaXQgdXAgYXMgYFtpbmRlbnQsIGNvbnRlbnRdYCAqL1xuZnVuY3Rpb24gc3BsaXRMaW5lcyhzb3VyY2UpIHtcbiAgICBjb25zdCBzcGxpdCA9IHNvdXJjZS5zcGxpdCgvXFxuKCAqKS8pO1xuICAgIGNvbnN0IGZpcnN0ID0gc3BsaXRbMF07XG4gICAgY29uc3QgbSA9IGZpcnN0Lm1hdGNoKC9eKCAqKS8pO1xuICAgIGNvbnN0IGxpbmUwID0gbT8uWzFdXG4gICAgICAgID8gW21bMV0sIGZpcnN0LnNsaWNlKG1bMV0ubGVuZ3RoKV1cbiAgICAgICAgOiBbJycsIGZpcnN0XTtcbiAgICBjb25zdCBsaW5lcyA9IFtsaW5lMF07XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzcGxpdC5sZW5ndGg7IGkgKz0gMilcbiAgICAgICAgbGluZXMucHVzaChbc3BsaXRbaV0sIHNwbGl0W2kgKyAxXV0pO1xuICAgIHJldHVybiBsaW5lcztcbn1cblxuZXhwb3J0cy5yZXNvbHZlQmxvY2tTY2FsYXIgPSByZXNvbHZlQmxvY2tTY2FsYXI7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgU2NhbGFyID0gcmVxdWlyZSgnLi4vbm9kZXMvU2NhbGFyLmpzJyk7XG52YXIgcmVzb2x2ZUVuZCA9IHJlcXVpcmUoJy4vcmVzb2x2ZS1lbmQuanMnKTtcblxuZnVuY3Rpb24gcmVzb2x2ZUZsb3dTY2FsYXIoc2NhbGFyLCBzdHJpY3QsIG9uRXJyb3IpIHtcbiAgICBjb25zdCB7IG9mZnNldCwgdHlwZSwgc291cmNlLCBlbmQgfSA9IHNjYWxhcjtcbiAgICBsZXQgX3R5cGU7XG4gICAgbGV0IHZhbHVlO1xuICAgIGNvbnN0IF9vbkVycm9yID0gKHJlbCwgY29kZSwgbXNnKSA9PiBvbkVycm9yKG9mZnNldCArIHJlbCwgY29kZSwgbXNnKTtcbiAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgY2FzZSAnc2NhbGFyJzpcbiAgICAgICAgICAgIF90eXBlID0gU2NhbGFyLlNjYWxhci5QTEFJTjtcbiAgICAgICAgICAgIHZhbHVlID0gcGxhaW5WYWx1ZShzb3VyY2UsIF9vbkVycm9yKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdzaW5nbGUtcXVvdGVkLXNjYWxhcic6XG4gICAgICAgICAgICBfdHlwZSA9IFNjYWxhci5TY2FsYXIuUVVPVEVfU0lOR0xFO1xuICAgICAgICAgICAgdmFsdWUgPSBzaW5nbGVRdW90ZWRWYWx1ZShzb3VyY2UsIF9vbkVycm9yKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlICdkb3VibGUtcXVvdGVkLXNjYWxhcic6XG4gICAgICAgICAgICBfdHlwZSA9IFNjYWxhci5TY2FsYXIuUVVPVEVfRE9VQkxFO1xuICAgICAgICAgICAgdmFsdWUgPSBkb3VibGVRdW90ZWRWYWx1ZShzb3VyY2UsIF9vbkVycm9yKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCBzaG91bGQgbm90IGhhcHBlbiAqL1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgb25FcnJvcihzY2FsYXIsICdVTkVYUEVDVEVEX1RPS0VOJywgYEV4cGVjdGVkIGEgZmxvdyBzY2FsYXIgdmFsdWUsIGJ1dCBmb3VuZDogJHt0eXBlfWApO1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB2YWx1ZTogJycsXG4gICAgICAgICAgICAgICAgdHlwZTogbnVsbCxcbiAgICAgICAgICAgICAgICBjb21tZW50OiAnJyxcbiAgICAgICAgICAgICAgICByYW5nZTogW29mZnNldCwgb2Zmc2V0ICsgc291cmNlLmxlbmd0aCwgb2Zmc2V0ICsgc291cmNlLmxlbmd0aF1cbiAgICAgICAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlRW5kID0gb2Zmc2V0ICsgc291cmNlLmxlbmd0aDtcbiAgICBjb25zdCByZSA9IHJlc29sdmVFbmQucmVzb2x2ZUVuZChlbmQsIHZhbHVlRW5kLCBzdHJpY3QsIG9uRXJyb3IpO1xuICAgIHJldHVybiB7XG4gICAgICAgIHZhbHVlLFxuICAgICAgICB0eXBlOiBfdHlwZSxcbiAgICAgICAgY29tbWVudDogcmUuY29tbWVudCxcbiAgICAgICAgcmFuZ2U6IFtvZmZzZXQsIHZhbHVlRW5kLCByZS5vZmZzZXRdXG4gICAgfTtcbn1cbmZ1bmN0aW9uIHBsYWluVmFsdWUoc291cmNlLCBvbkVycm9yKSB7XG4gICAgbGV0IGJhZENoYXIgPSAnJztcbiAgICBzd2l0Y2ggKHNvdXJjZVswXSkge1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCBzaG91bGQgbm90IGhhcHBlbiAqL1xuICAgICAgICBjYXNlICdcXHQnOlxuICAgICAgICAgICAgYmFkQ2hhciA9ICdhIHRhYiBjaGFyYWN0ZXInO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJywnOlxuICAgICAgICAgICAgYmFkQ2hhciA9ICdmbG93IGluZGljYXRvciBjaGFyYWN0ZXIgLCc7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnJSc6XG4gICAgICAgICAgICBiYWRDaGFyID0gJ2RpcmVjdGl2ZSBpbmRpY2F0b3IgY2hhcmFjdGVyICUnO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3wnOlxuICAgICAgICBjYXNlICc+Jzoge1xuICAgICAgICAgICAgYmFkQ2hhciA9IGBibG9jayBzY2FsYXIgaW5kaWNhdG9yICR7c291cmNlWzBdfWA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjYXNlICdAJzpcbiAgICAgICAgY2FzZSAnYCc6IHtcbiAgICAgICAgICAgIGJhZENoYXIgPSBgcmVzZXJ2ZWQgY2hhcmFjdGVyICR7c291cmNlWzBdfWA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cbiAgICBpZiAoYmFkQ2hhcilcbiAgICAgICAgb25FcnJvcigwLCAnQkFEX1NDQUxBUl9TVEFSVCcsIGBQbGFpbiB2YWx1ZSBjYW5ub3Qgc3RhcnQgd2l0aCAke2JhZENoYXJ9YCk7XG4gICAgcmV0dXJuIGZvbGRMaW5lcyhzb3VyY2UpO1xufVxuZnVuY3Rpb24gc2luZ2xlUXVvdGVkVmFsdWUoc291cmNlLCBvbkVycm9yKSB7XG4gICAgaWYgKHNvdXJjZVtzb3VyY2UubGVuZ3RoIC0gMV0gIT09IFwiJ1wiIHx8IHNvdXJjZS5sZW5ndGggPT09IDEpXG4gICAgICAgIG9uRXJyb3Ioc291cmNlLmxlbmd0aCwgJ01JU1NJTkdfQ0hBUicsIFwiTWlzc2luZyBjbG9zaW5nICdxdW90ZVwiKTtcbiAgICByZXR1cm4gZm9sZExpbmVzKHNvdXJjZS5zbGljZSgxLCAtMSkpLnJlcGxhY2UoLycnL2csIFwiJ1wiKTtcbn1cbmZ1bmN0aW9uIGZvbGRMaW5lcyhzb3VyY2UpIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmVnYXRpdmUgbG9va2JlaGluZCBoZXJlIGFuZCBpbiB0aGUgYHJlYCBSZWdFeHAgaXMgdG9cbiAgICAgKiBwcmV2ZW50IGNhdXNpbmcgYSBwb2x5bm9taWFsIHNlYXJjaCB0aW1lIGluIGNlcnRhaW4gY2FzZXMuXG4gICAgICpcbiAgICAgKiBUaGUgdHJ5LWNhdGNoIGlzIGZvciBTYWZhcmksIHdoaWNoIGRvZXNuJ3Qgc3VwcG9ydCB0aGlzIHlldDpcbiAgICAgKiBodHRwczovL2Nhbml1c2UuY29tL2pzLXJlZ2V4cC1sb29rYmVoaW5kXG4gICAgICovXG4gICAgbGV0IGZpcnN0LCBsaW5lO1xuICAgIHRyeSB7XG4gICAgICAgIGZpcnN0ID0gbmV3IFJlZ0V4cCgnKC4qPykoPzwhWyBcXHRdKVsgXFx0XSpcXHI/XFxuJywgJ3N5Jyk7XG4gICAgICAgIGxpbmUgPSBuZXcgUmVnRXhwKCdbIFxcdF0qKC4qPykoPzooPzwhWyBcXHRdKVsgXFx0XSopP1xccj9cXG4nLCAnc3knKTtcbiAgICB9XG4gICAgY2F0Y2gge1xuICAgICAgICBmaXJzdCA9IC8oLio/KVsgXFx0XSpcXHI/XFxuL3N5O1xuICAgICAgICBsaW5lID0gL1sgXFx0XSooLio/KVsgXFx0XSpcXHI/XFxuL3N5O1xuICAgIH1cbiAgICBsZXQgbWF0Y2ggPSBmaXJzdC5leGVjKHNvdXJjZSk7XG4gICAgaWYgKCFtYXRjaClcbiAgICAgICAgcmV0dXJuIHNvdXJjZTtcbiAgICBsZXQgcmVzID0gbWF0Y2hbMV07XG4gICAgbGV0IHNlcCA9ICcgJztcbiAgICBsZXQgcG9zID0gZmlyc3QubGFzdEluZGV4O1xuICAgIGxpbmUubGFzdEluZGV4ID0gcG9zO1xuICAgIHdoaWxlICgobWF0Y2ggPSBsaW5lLmV4ZWMoc291cmNlKSkpIHtcbiAgICAgICAgaWYgKG1hdGNoWzFdID09PSAnJykge1xuICAgICAgICAgICAgaWYgKHNlcCA9PT0gJ1xcbicpXG4gICAgICAgICAgICAgICAgcmVzICs9IHNlcDtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBzZXAgPSAnXFxuJztcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHJlcyArPSBzZXAgKyBtYXRjaFsxXTtcbiAgICAgICAgICAgIHNlcCA9ICcgJztcbiAgICAgICAgfVxuICAgICAgICBwb3MgPSBsaW5lLmxhc3RJbmRleDtcbiAgICB9XG4gICAgY29uc3QgbGFzdCA9IC9bIFxcdF0qKC4qKS9zeTtcbiAgICBsYXN0Lmxhc3RJbmRleCA9IHBvcztcbiAgICBtYXRjaCA9IGxhc3QuZXhlYyhzb3VyY2UpO1xuICAgIHJldHVybiByZXMgKyBzZXAgKyAobWF0Y2g/LlsxXSA/PyAnJyk7XG59XG5mdW5jdGlvbiBkb3VibGVRdW90ZWRWYWx1ZShzb3VyY2UsIG9uRXJyb3IpIHtcbiAgICBsZXQgcmVzID0gJyc7XG4gICAgZm9yIChsZXQgaSA9IDE7IGkgPCBzb3VyY2UubGVuZ3RoIC0gMTsgKytpKSB7XG4gICAgICAgIGNvbnN0IGNoID0gc291cmNlW2ldO1xuICAgICAgICBpZiAoY2ggPT09ICdcXHInICYmIHNvdXJjZVtpICsgMV0gPT09ICdcXG4nKVxuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIGlmIChjaCA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgZm9sZCwgb2Zmc2V0IH0gPSBmb2xkTmV3bGluZShzb3VyY2UsIGkpO1xuICAgICAgICAgICAgcmVzICs9IGZvbGQ7XG4gICAgICAgICAgICBpID0gb2Zmc2V0O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGNoID09PSAnXFxcXCcpIHtcbiAgICAgICAgICAgIGxldCBuZXh0ID0gc291cmNlWysraV07XG4gICAgICAgICAgICBjb25zdCBjYyA9IGVzY2FwZUNvZGVzW25leHRdO1xuICAgICAgICAgICAgaWYgKGNjKVxuICAgICAgICAgICAgICAgIHJlcyArPSBjYztcbiAgICAgICAgICAgIGVsc2UgaWYgKG5leHQgPT09ICdcXG4nKSB7XG4gICAgICAgICAgICAgICAgLy8gc2tpcCBlc2NhcGVkIG5ld2xpbmVzLCBidXQgc3RpbGwgdHJpbSB0aGUgZm9sbG93aW5nIGxpbmVcbiAgICAgICAgICAgICAgICBuZXh0ID0gc291cmNlW2kgKyAxXTtcbiAgICAgICAgICAgICAgICB3aGlsZSAobmV4dCA9PT0gJyAnIHx8IG5leHQgPT09ICdcXHQnKVxuICAgICAgICAgICAgICAgICAgICBuZXh0ID0gc291cmNlWysraSArIDFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAobmV4dCA9PT0gJ1xccicgJiYgc291cmNlW2kgKyAxXSA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgICAgICAvLyBza2lwIGVzY2FwZWQgQ1JMRiBuZXdsaW5lcywgYnV0IHN0aWxsIHRyaW0gdGhlIGZvbGxvd2luZyBsaW5lXG4gICAgICAgICAgICAgICAgbmV4dCA9IHNvdXJjZVsrK2kgKyAxXTtcbiAgICAgICAgICAgICAgICB3aGlsZSAobmV4dCA9PT0gJyAnIHx8IG5leHQgPT09ICdcXHQnKVxuICAgICAgICAgICAgICAgICAgICBuZXh0ID0gc291cmNlWysraSArIDFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAobmV4dCA9PT0gJ3gnIHx8IG5leHQgPT09ICd1JyB8fCBuZXh0ID09PSAnVScpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsZW5ndGggPSB7IHg6IDIsIHU6IDQsIFU6IDggfVtuZXh0XTtcbiAgICAgICAgICAgICAgICByZXMgKz0gcGFyc2VDaGFyQ29kZShzb3VyY2UsIGkgKyAxLCBsZW5ndGgsIG9uRXJyb3IpO1xuICAgICAgICAgICAgICAgIGkgKz0gbGVuZ3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmF3ID0gc291cmNlLnN1YnN0cihpIC0gMSwgMik7XG4gICAgICAgICAgICAgICAgb25FcnJvcihpIC0gMSwgJ0JBRF9EUV9FU0NBUEUnLCBgSW52YWxpZCBlc2NhcGUgc2VxdWVuY2UgJHtyYXd9YCk7XG4gICAgICAgICAgICAgICAgcmVzICs9IHJhdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChjaCA9PT0gJyAnIHx8IGNoID09PSAnXFx0Jykge1xuICAgICAgICAgICAgLy8gdHJpbSB0cmFpbGluZyB3aGl0ZXNwYWNlXG4gICAgICAgICAgICBjb25zdCB3c1N0YXJ0ID0gaTtcbiAgICAgICAgICAgIGxldCBuZXh0ID0gc291cmNlW2kgKyAxXTtcbiAgICAgICAgICAgIHdoaWxlIChuZXh0ID09PSAnICcgfHwgbmV4dCA9PT0gJ1xcdCcpXG4gICAgICAgICAgICAgICAgbmV4dCA9IHNvdXJjZVsrK2kgKyAxXTtcbiAgICAgICAgICAgIGlmIChuZXh0ICE9PSAnXFxuJyAmJiAhKG5leHQgPT09ICdcXHInICYmIHNvdXJjZVtpICsgMl0gPT09ICdcXG4nKSlcbiAgICAgICAgICAgICAgICByZXMgKz0gaSA+IHdzU3RhcnQgPyBzb3VyY2Uuc2xpY2Uod3NTdGFydCwgaSArIDEpIDogY2g7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXMgKz0gY2g7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHNvdXJjZVtzb3VyY2UubGVuZ3RoIC0gMV0gIT09ICdcIicgfHwgc291cmNlLmxlbmd0aCA9PT0gMSlcbiAgICAgICAgb25FcnJvcihzb3VyY2UubGVuZ3RoLCAnTUlTU0lOR19DSEFSJywgJ01pc3NpbmcgY2xvc2luZyBcInF1b3RlJyk7XG4gICAgcmV0dXJuIHJlcztcbn1cbi8qKlxuICogRm9sZCBhIHNpbmdsZSBuZXdsaW5lIGludG8gYSBzcGFjZSwgbXVsdGlwbGUgbmV3bGluZXMgdG8gTiAtIDEgbmV3bGluZXMuXG4gKiBQcmVzdW1lcyBgc291cmNlW29mZnNldF0gPT09ICdcXG4nYFxuICovXG5mdW5jdGlvbiBmb2xkTmV3bGluZShzb3VyY2UsIG9mZnNldCkge1xuICAgIGxldCBmb2xkID0gJyc7XG4gICAgbGV0IGNoID0gc291cmNlW29mZnNldCArIDFdO1xuICAgIHdoaWxlIChjaCA9PT0gJyAnIHx8IGNoID09PSAnXFx0JyB8fCBjaCA9PT0gJ1xcbicgfHwgY2ggPT09ICdcXHInKSB7XG4gICAgICAgIGlmIChjaCA9PT0gJ1xccicgJiYgc291cmNlW29mZnNldCArIDJdICE9PSAnXFxuJylcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBpZiAoY2ggPT09ICdcXG4nKVxuICAgICAgICAgICAgZm9sZCArPSAnXFxuJztcbiAgICAgICAgb2Zmc2V0ICs9IDE7XG4gICAgICAgIGNoID0gc291cmNlW29mZnNldCArIDFdO1xuICAgIH1cbiAgICBpZiAoIWZvbGQpXG4gICAgICAgIGZvbGQgPSAnICc7XG4gICAgcmV0dXJuIHsgZm9sZCwgb2Zmc2V0IH07XG59XG5jb25zdCBlc2NhcGVDb2RlcyA9IHtcbiAgICAnMCc6ICdcXDAnLCAvLyBudWxsIGNoYXJhY3RlclxuICAgIGE6ICdcXHgwNycsIC8vIGJlbGwgY2hhcmFjdGVyXG4gICAgYjogJ1xcYicsIC8vIGJhY2tzcGFjZVxuICAgIGU6ICdcXHgxYicsIC8vIGVzY2FwZSBjaGFyYWN0ZXJcbiAgICBmOiAnXFxmJywgLy8gZm9ybSBmZWVkXG4gICAgbjogJ1xcbicsIC8vIGxpbmUgZmVlZFxuICAgIHI6ICdcXHInLCAvLyBjYXJyaWFnZSByZXR1cm5cbiAgICB0OiAnXFx0JywgLy8gaG9yaXpvbnRhbCB0YWJcbiAgICB2OiAnXFx2JywgLy8gdmVydGljYWwgdGFiXG4gICAgTjogJ1xcdTAwODUnLCAvLyBVbmljb2RlIG5leHQgbGluZVxuICAgIF86ICdcXHUwMGEwJywgLy8gVW5pY29kZSBub24tYnJlYWtpbmcgc3BhY2VcbiAgICBMOiAnXFx1MjAyOCcsIC8vIFVuaWNvZGUgbGluZSBzZXBhcmF0b3JcbiAgICBQOiAnXFx1MjAyOScsIC8vIFVuaWNvZGUgcGFyYWdyYXBoIHNlcGFyYXRvclxuICAgICcgJzogJyAnLFxuICAgICdcIic6ICdcIicsXG4gICAgJy8nOiAnLycsXG4gICAgJ1xcXFwnOiAnXFxcXCcsXG4gICAgJ1xcdCc6ICdcXHQnXG59O1xuZnVuY3Rpb24gcGFyc2VDaGFyQ29kZShzb3VyY2UsIG9mZnNldCwgbGVuZ3RoLCBvbkVycm9yKSB7XG4gICAgY29uc3QgY2MgPSBzb3VyY2Uuc3Vic3RyKG9mZnNldCwgbGVuZ3RoKTtcbiAgICBjb25zdCBvayA9IGNjLmxlbmd0aCA9PT0gbGVuZ3RoICYmIC9eWzAtOWEtZkEtRl0rJC8udGVzdChjYyk7XG4gICAgY29uc3QgY29kZSA9IG9rID8gcGFyc2VJbnQoY2MsIDE2KSA6IE5hTjtcbiAgICBpZiAoaXNOYU4oY29kZSkpIHtcbiAgICAgICAgY29uc3QgcmF3ID0gc291cmNlLnN1YnN0cihvZmZzZXQgLSAyLCBsZW5ndGggKyAyKTtcbiAgICAgICAgb25FcnJvcihvZmZzZXQgLSAyLCAnQkFEX0RRX0VTQ0FQRScsIGBJbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZSAke3Jhd31gKTtcbiAgICAgICAgcmV0dXJuIHJhdztcbiAgICB9XG4gICAgcmV0dXJuIFN0cmluZy5mcm9tQ29kZVBvaW50KGNvZGUpO1xufVxuXG5leHBvcnRzLnJlc29sdmVGbG93U2NhbGFyID0gcmVzb2x2ZUZsb3dTY2FsYXI7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuLi9ub2Rlcy9pZGVudGl0eS5qcycpO1xudmFyIFNjYWxhciA9IHJlcXVpcmUoJy4uL25vZGVzL1NjYWxhci5qcycpO1xudmFyIHJlc29sdmVCbG9ja1NjYWxhciA9IHJlcXVpcmUoJy4vcmVzb2x2ZS1ibG9jay1zY2FsYXIuanMnKTtcbnZhciByZXNvbHZlRmxvd1NjYWxhciA9IHJlcXVpcmUoJy4vcmVzb2x2ZS1mbG93LXNjYWxhci5qcycpO1xuXG5mdW5jdGlvbiBjb21wb3NlU2NhbGFyKGN0eCwgdG9rZW4sIHRhZ1Rva2VuLCBvbkVycm9yKSB7XG4gICAgY29uc3QgeyB2YWx1ZSwgdHlwZSwgY29tbWVudCwgcmFuZ2UgfSA9IHRva2VuLnR5cGUgPT09ICdibG9jay1zY2FsYXInXG4gICAgICAgID8gcmVzb2x2ZUJsb2NrU2NhbGFyLnJlc29sdmVCbG9ja1NjYWxhcihjdHgsIHRva2VuLCBvbkVycm9yKVxuICAgICAgICA6IHJlc29sdmVGbG93U2NhbGFyLnJlc29sdmVGbG93U2NhbGFyKHRva2VuLCBjdHgub3B0aW9ucy5zdHJpY3QsIG9uRXJyb3IpO1xuICAgIGNvbnN0IHRhZ05hbWUgPSB0YWdUb2tlblxuICAgICAgICA/IGN0eC5kaXJlY3RpdmVzLnRhZ05hbWUodGFnVG9rZW4uc291cmNlLCBtc2cgPT4gb25FcnJvcih0YWdUb2tlbiwgJ1RBR19SRVNPTFZFX0ZBSUxFRCcsIG1zZykpXG4gICAgICAgIDogbnVsbDtcbiAgICBsZXQgdGFnO1xuICAgIGlmIChjdHgub3B0aW9ucy5zdHJpbmdLZXlzICYmIGN0eC5hdEtleSkge1xuICAgICAgICB0YWcgPSBjdHguc2NoZW1hW2lkZW50aXR5LlNDQUxBUl07XG4gICAgfVxuICAgIGVsc2UgaWYgKHRhZ05hbWUpXG4gICAgICAgIHRhZyA9IGZpbmRTY2FsYXJUYWdCeU5hbWUoY3R4LnNjaGVtYSwgdmFsdWUsIHRhZ05hbWUsIHRhZ1Rva2VuLCBvbkVycm9yKTtcbiAgICBlbHNlIGlmICh0b2tlbi50eXBlID09PSAnc2NhbGFyJylcbiAgICAgICAgdGFnID0gZmluZFNjYWxhclRhZ0J5VGVzdChjdHgsIHZhbHVlLCB0b2tlbiwgb25FcnJvcik7XG4gICAgZWxzZVxuICAgICAgICB0YWcgPSBjdHguc2NoZW1hW2lkZW50aXR5LlNDQUxBUl07XG4gICAgbGV0IHNjYWxhcjtcbiAgICB0cnkge1xuICAgICAgICBjb25zdCByZXMgPSB0YWcucmVzb2x2ZSh2YWx1ZSwgbXNnID0+IG9uRXJyb3IodGFnVG9rZW4gPz8gdG9rZW4sICdUQUdfUkVTT0xWRV9GQUlMRUQnLCBtc2cpLCBjdHgub3B0aW9ucyk7XG4gICAgICAgIHNjYWxhciA9IGlkZW50aXR5LmlzU2NhbGFyKHJlcykgPyByZXMgOiBuZXcgU2NhbGFyLlNjYWxhcihyZXMpO1xuICAgIH1cbiAgICBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc3QgbXNnID0gZXJyb3IgaW5zdGFuY2VvZiBFcnJvciA/IGVycm9yLm1lc3NhZ2UgOiBTdHJpbmcoZXJyb3IpO1xuICAgICAgICBvbkVycm9yKHRhZ1Rva2VuID8/IHRva2VuLCAnVEFHX1JFU09MVkVfRkFJTEVEJywgbXNnKTtcbiAgICAgICAgc2NhbGFyID0gbmV3IFNjYWxhci5TY2FsYXIodmFsdWUpO1xuICAgIH1cbiAgICBzY2FsYXIucmFuZ2UgPSByYW5nZTtcbiAgICBzY2FsYXIuc291cmNlID0gdmFsdWU7XG4gICAgaWYgKHR5cGUpXG4gICAgICAgIHNjYWxhci50eXBlID0gdHlwZTtcbiAgICBpZiAodGFnTmFtZSlcbiAgICAgICAgc2NhbGFyLnRhZyA9IHRhZ05hbWU7XG4gICAgaWYgKHRhZy5mb3JtYXQpXG4gICAgICAgIHNjYWxhci5mb3JtYXQgPSB0YWcuZm9ybWF0O1xuICAgIGlmIChjb21tZW50KVxuICAgICAgICBzY2FsYXIuY29tbWVudCA9IGNvbW1lbnQ7XG4gICAgcmV0dXJuIHNjYWxhcjtcbn1cbmZ1bmN0aW9uIGZpbmRTY2FsYXJUYWdCeU5hbWUoc2NoZW1hLCB2YWx1ZSwgdGFnTmFtZSwgdGFnVG9rZW4sIG9uRXJyb3IpIHtcbiAgICBpZiAodGFnTmFtZSA9PT0gJyEnKVxuICAgICAgICByZXR1cm4gc2NoZW1hW2lkZW50aXR5LlNDQUxBUl07IC8vIG5vbi1zcGVjaWZpYyB0YWdcbiAgICBjb25zdCBtYXRjaFdpdGhUZXN0ID0gW107XG4gICAgZm9yIChjb25zdCB0YWcgb2Ygc2NoZW1hLnRhZ3MpIHtcbiAgICAgICAgaWYgKCF0YWcuY29sbGVjdGlvbiAmJiB0YWcudGFnID09PSB0YWdOYW1lKSB7XG4gICAgICAgICAgICBpZiAodGFnLmRlZmF1bHQgJiYgdGFnLnRlc3QpXG4gICAgICAgICAgICAgICAgbWF0Y2hXaXRoVGVzdC5wdXNoKHRhZyk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRhZztcbiAgICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGNvbnN0IHRhZyBvZiBtYXRjaFdpdGhUZXN0KVxuICAgICAgICBpZiAodGFnLnRlc3Q/LnRlc3QodmFsdWUpKVxuICAgICAgICAgICAgcmV0dXJuIHRhZztcbiAgICBjb25zdCBrdCA9IHNjaGVtYS5rbm93blRhZ3NbdGFnTmFtZV07XG4gICAgaWYgKGt0ICYmICFrdC5jb2xsZWN0aW9uKSB7XG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBrbm93biB0YWcgaXMgYXZhaWxhYmxlIGZvciBzdHJpbmdpZnlpbmcsXG4gICAgICAgIC8vIGJ1dCBkb2VzIG5vdCBnZXQgdXNlZCBieSBkZWZhdWx0LlxuICAgICAgICBzY2hlbWEudGFncy5wdXNoKE9iamVjdC5hc3NpZ24oe30sIGt0LCB7IGRlZmF1bHQ6IGZhbHNlLCB0ZXN0OiB1bmRlZmluZWQgfSkpO1xuICAgICAgICByZXR1cm4ga3Q7XG4gICAgfVxuICAgIG9uRXJyb3IodGFnVG9rZW4sICdUQUdfUkVTT0xWRV9GQUlMRUQnLCBgVW5yZXNvbHZlZCB0YWc6ICR7dGFnTmFtZX1gLCB0YWdOYW1lICE9PSAndGFnOnlhbWwub3JnLDIwMDI6c3RyJyk7XG4gICAgcmV0dXJuIHNjaGVtYVtpZGVudGl0eS5TQ0FMQVJdO1xufVxuZnVuY3Rpb24gZmluZFNjYWxhclRhZ0J5VGVzdCh7IGF0S2V5LCBkaXJlY3RpdmVzLCBzY2hlbWEgfSwgdmFsdWUsIHRva2VuLCBvbkVycm9yKSB7XG4gICAgY29uc3QgdGFnID0gc2NoZW1hLnRhZ3MuZmluZCh0YWcgPT4gKHRhZy5kZWZhdWx0ID09PSB0cnVlIHx8IChhdEtleSAmJiB0YWcuZGVmYXVsdCA9PT0gJ2tleScpKSAmJlxuICAgICAgICB0YWcudGVzdD8udGVzdCh2YWx1ZSkpIHx8IHNjaGVtYVtpZGVudGl0eS5TQ0FMQVJdO1xuICAgIGlmIChzY2hlbWEuY29tcGF0KSB7XG4gICAgICAgIGNvbnN0IGNvbXBhdCA9IHNjaGVtYS5jb21wYXQuZmluZCh0YWcgPT4gdGFnLmRlZmF1bHQgJiYgdGFnLnRlc3Q/LnRlc3QodmFsdWUpKSA/P1xuICAgICAgICAgICAgc2NoZW1hW2lkZW50aXR5LlNDQUxBUl07XG4gICAgICAgIGlmICh0YWcudGFnICE9PSBjb21wYXQudGFnKSB7XG4gICAgICAgICAgICBjb25zdCB0cyA9IGRpcmVjdGl2ZXMudGFnU3RyaW5nKHRhZy50YWcpO1xuICAgICAgICAgICAgY29uc3QgY3MgPSBkaXJlY3RpdmVzLnRhZ1N0cmluZyhjb21wYXQudGFnKTtcbiAgICAgICAgICAgIGNvbnN0IG1zZyA9IGBWYWx1ZSBtYXkgYmUgcGFyc2VkIGFzIGVpdGhlciAke3RzfSBvciAke2NzfWA7XG4gICAgICAgICAgICBvbkVycm9yKHRva2VuLCAnVEFHX1JFU09MVkVfRkFJTEVEJywgbXNnLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGFnO1xufVxuXG5leHBvcnRzLmNvbXBvc2VTY2FsYXIgPSBjb21wb3NlU2NhbGFyO1xuIiwgIid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gZW1wdHlTY2FsYXJQb3NpdGlvbihvZmZzZXQsIGJlZm9yZSwgcG9zKSB7XG4gICAgaWYgKGJlZm9yZSkge1xuICAgICAgICBpZiAocG9zID09PSBudWxsKVxuICAgICAgICAgICAgcG9zID0gYmVmb3JlLmxlbmd0aDtcbiAgICAgICAgZm9yIChsZXQgaSA9IHBvcyAtIDE7IGkgPj0gMDsgLS1pKSB7XG4gICAgICAgICAgICBsZXQgc3QgPSBiZWZvcmVbaV07XG4gICAgICAgICAgICBzd2l0Y2ggKHN0LnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICAgICAgY2FzZSAnY29tbWVudCc6XG4gICAgICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgICAgIG9mZnNldCAtPSBzdC5zb3VyY2UubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFRlY2huaWNhbGx5LCBhbiBlbXB0eSBzY2FsYXIgaXMgaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGxhc3Qgbm9uLWVtcHR5XG4gICAgICAgICAgICAvLyBub2RlLCBidXQgaXQncyBtb3JlIHVzZWZ1bCB0byBwbGFjZSBpdCBhZnRlciBhbnkgd2hpdGVzcGFjZS5cbiAgICAgICAgICAgIHN0ID0gYmVmb3JlWysraV07XG4gICAgICAgICAgICB3aGlsZSAoc3Q/LnR5cGUgPT09ICdzcGFjZScpIHtcbiAgICAgICAgICAgICAgICBvZmZzZXQgKz0gc3Quc291cmNlLmxlbmd0aDtcbiAgICAgICAgICAgICAgICBzdCA9IGJlZm9yZVsrK2ldO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG9mZnNldDtcbn1cblxuZXhwb3J0cy5lbXB0eVNjYWxhclBvc2l0aW9uID0gZW1wdHlTY2FsYXJQb3NpdGlvbjtcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBBbGlhcyA9IHJlcXVpcmUoJy4uL25vZGVzL0FsaWFzLmpzJyk7XG52YXIgaWRlbnRpdHkgPSByZXF1aXJlKCcuLi9ub2Rlcy9pZGVudGl0eS5qcycpO1xudmFyIGNvbXBvc2VDb2xsZWN0aW9uID0gcmVxdWlyZSgnLi9jb21wb3NlLWNvbGxlY3Rpb24uanMnKTtcbnZhciBjb21wb3NlU2NhbGFyID0gcmVxdWlyZSgnLi9jb21wb3NlLXNjYWxhci5qcycpO1xudmFyIHJlc29sdmVFbmQgPSByZXF1aXJlKCcuL3Jlc29sdmUtZW5kLmpzJyk7XG52YXIgdXRpbEVtcHR5U2NhbGFyUG9zaXRpb24gPSByZXF1aXJlKCcuL3V0aWwtZW1wdHktc2NhbGFyLXBvc2l0aW9uLmpzJyk7XG5cbmNvbnN0IENOID0geyBjb21wb3NlTm9kZSwgY29tcG9zZUVtcHR5Tm9kZSB9O1xuZnVuY3Rpb24gY29tcG9zZU5vZGUoY3R4LCB0b2tlbiwgcHJvcHMsIG9uRXJyb3IpIHtcbiAgICBjb25zdCBhdEtleSA9IGN0eC5hdEtleTtcbiAgICBjb25zdCB7IHNwYWNlQmVmb3JlLCBjb21tZW50LCBhbmNob3IsIHRhZyB9ID0gcHJvcHM7XG4gICAgbGV0IG5vZGU7XG4gICAgbGV0IGlzU3JjVG9rZW4gPSB0cnVlO1xuICAgIHN3aXRjaCAodG9rZW4udHlwZSkge1xuICAgICAgICBjYXNlICdhbGlhcyc6XG4gICAgICAgICAgICBub2RlID0gY29tcG9zZUFsaWFzKGN0eCwgdG9rZW4sIG9uRXJyb3IpO1xuICAgICAgICAgICAgaWYgKGFuY2hvciB8fCB0YWcpXG4gICAgICAgICAgICAgICAgb25FcnJvcih0b2tlbiwgJ0FMSUFTX1BST1BTJywgJ0FuIGFsaWFzIG5vZGUgbXVzdCBub3Qgc3BlY2lmeSBhbnkgcHJvcGVydGllcycpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ3NjYWxhcic6XG4gICAgICAgIGNhc2UgJ3NpbmdsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgY2FzZSAnZG91YmxlLXF1b3RlZC1zY2FsYXInOlxuICAgICAgICBjYXNlICdibG9jay1zY2FsYXInOlxuICAgICAgICAgICAgbm9kZSA9IGNvbXBvc2VTY2FsYXIuY29tcG9zZVNjYWxhcihjdHgsIHRva2VuLCB0YWcsIG9uRXJyb3IpO1xuICAgICAgICAgICAgaWYgKGFuY2hvcilcbiAgICAgICAgICAgICAgICBub2RlLmFuY2hvciA9IGFuY2hvci5zb3VyY2Uuc3Vic3RyaW5nKDEpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgJ2Jsb2NrLW1hcCc6XG4gICAgICAgIGNhc2UgJ2Jsb2NrLXNlcSc6XG4gICAgICAgIGNhc2UgJ2Zsb3ctY29sbGVjdGlvbic6XG4gICAgICAgICAgICBub2RlID0gY29tcG9zZUNvbGxlY3Rpb24uY29tcG9zZUNvbGxlY3Rpb24oQ04sIGN0eCwgdG9rZW4sIHByb3BzLCBvbkVycm9yKTtcbiAgICAgICAgICAgIGlmIChhbmNob3IpXG4gICAgICAgICAgICAgICAgbm9kZS5hbmNob3IgPSBhbmNob3Iuc291cmNlLnN1YnN0cmluZygxKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gdG9rZW4udHlwZSA9PT0gJ2Vycm9yJ1xuICAgICAgICAgICAgICAgID8gdG9rZW4ubWVzc2FnZVxuICAgICAgICAgICAgICAgIDogYFVuc3VwcG9ydGVkIHRva2VuICh0eXBlOiAke3Rva2VuLnR5cGV9KWA7XG4gICAgICAgICAgICBvbkVycm9yKHRva2VuLCAnVU5FWFBFQ1RFRF9UT0tFTicsIG1lc3NhZ2UpO1xuICAgICAgICAgICAgbm9kZSA9IGNvbXBvc2VFbXB0eU5vZGUoY3R4LCB0b2tlbi5vZmZzZXQsIHVuZGVmaW5lZCwgbnVsbCwgcHJvcHMsIG9uRXJyb3IpO1xuICAgICAgICAgICAgaXNTcmNUb2tlbiA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChhbmNob3IgJiYgbm9kZS5hbmNob3IgPT09ICcnKVxuICAgICAgICBvbkVycm9yKGFuY2hvciwgJ0JBRF9BTElBUycsICdBbmNob3IgY2Fubm90IGJlIGFuIGVtcHR5IHN0cmluZycpO1xuICAgIGlmIChhdEtleSAmJlxuICAgICAgICBjdHgub3B0aW9ucy5zdHJpbmdLZXlzICYmXG4gICAgICAgICghaWRlbnRpdHkuaXNTY2FsYXIobm9kZSkgfHxcbiAgICAgICAgICAgIHR5cGVvZiBub2RlLnZhbHVlICE9PSAnc3RyaW5nJyB8fFxuICAgICAgICAgICAgKG5vZGUudGFnICYmIG5vZGUudGFnICE9PSAndGFnOnlhbWwub3JnLDIwMDI6c3RyJykpKSB7XG4gICAgICAgIGNvbnN0IG1zZyA9ICdXaXRoIHN0cmluZ0tleXMsIGFsbCBrZXlzIG11c3QgYmUgc3RyaW5ncyc7XG4gICAgICAgIG9uRXJyb3IodGFnID8/IHRva2VuLCAnTk9OX1NUUklOR19LRVknLCBtc2cpO1xuICAgIH1cbiAgICBpZiAoc3BhY2VCZWZvcmUpXG4gICAgICAgIG5vZGUuc3BhY2VCZWZvcmUgPSB0cnVlO1xuICAgIGlmIChjb21tZW50KSB7XG4gICAgICAgIGlmICh0b2tlbi50eXBlID09PSAnc2NhbGFyJyAmJiB0b2tlbi5zb3VyY2UgPT09ICcnKVxuICAgICAgICAgICAgbm9kZS5jb21tZW50ID0gY29tbWVudDtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgbm9kZS5jb21tZW50QmVmb3JlID0gY29tbWVudDtcbiAgICB9XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUeXBlIGNoZWNraW5nIG1pc3NlcyBtZWFuaW5nIG9mIGlzU3JjVG9rZW5cbiAgICBpZiAoY3R4Lm9wdGlvbnMua2VlcFNvdXJjZVRva2VucyAmJiBpc1NyY1Rva2VuKVxuICAgICAgICBub2RlLnNyY1Rva2VuID0gdG9rZW47XG4gICAgcmV0dXJuIG5vZGU7XG59XG5mdW5jdGlvbiBjb21wb3NlRW1wdHlOb2RlKGN0eCwgb2Zmc2V0LCBiZWZvcmUsIHBvcywgeyBzcGFjZUJlZm9yZSwgY29tbWVudCwgYW5jaG9yLCB0YWcsIGVuZCB9LCBvbkVycm9yKSB7XG4gICAgY29uc3QgdG9rZW4gPSB7XG4gICAgICAgIHR5cGU6ICdzY2FsYXInLFxuICAgICAgICBvZmZzZXQ6IHV0aWxFbXB0eVNjYWxhclBvc2l0aW9uLmVtcHR5U2NhbGFyUG9zaXRpb24ob2Zmc2V0LCBiZWZvcmUsIHBvcyksXG4gICAgICAgIGluZGVudDogLTEsXG4gICAgICAgIHNvdXJjZTogJydcbiAgICB9O1xuICAgIGNvbnN0IG5vZGUgPSBjb21wb3NlU2NhbGFyLmNvbXBvc2VTY2FsYXIoY3R4LCB0b2tlbiwgdGFnLCBvbkVycm9yKTtcbiAgICBpZiAoYW5jaG9yKSB7XG4gICAgICAgIG5vZGUuYW5jaG9yID0gYW5jaG9yLnNvdXJjZS5zdWJzdHJpbmcoMSk7XG4gICAgICAgIGlmIChub2RlLmFuY2hvciA9PT0gJycpXG4gICAgICAgICAgICBvbkVycm9yKGFuY2hvciwgJ0JBRF9BTElBUycsICdBbmNob3IgY2Fubm90IGJlIGFuIGVtcHR5IHN0cmluZycpO1xuICAgIH1cbiAgICBpZiAoc3BhY2VCZWZvcmUpXG4gICAgICAgIG5vZGUuc3BhY2VCZWZvcmUgPSB0cnVlO1xuICAgIGlmIChjb21tZW50KSB7XG4gICAgICAgIG5vZGUuY29tbWVudCA9IGNvbW1lbnQ7XG4gICAgICAgIG5vZGUucmFuZ2VbMl0gPSBlbmQ7XG4gICAgfVxuICAgIHJldHVybiBub2RlO1xufVxuZnVuY3Rpb24gY29tcG9zZUFsaWFzKHsgb3B0aW9ucyB9LCB7IG9mZnNldCwgc291cmNlLCBlbmQgfSwgb25FcnJvcikge1xuICAgIGNvbnN0IGFsaWFzID0gbmV3IEFsaWFzLkFsaWFzKHNvdXJjZS5zdWJzdHJpbmcoMSkpO1xuICAgIGlmIChhbGlhcy5zb3VyY2UgPT09ICcnKVxuICAgICAgICBvbkVycm9yKG9mZnNldCwgJ0JBRF9BTElBUycsICdBbGlhcyBjYW5ub3QgYmUgYW4gZW1wdHkgc3RyaW5nJyk7XG4gICAgaWYgKGFsaWFzLnNvdXJjZS5lbmRzV2l0aCgnOicpKVxuICAgICAgICBvbkVycm9yKG9mZnNldCArIHNvdXJjZS5sZW5ndGggLSAxLCAnQkFEX0FMSUFTJywgJ0FsaWFzIGVuZGluZyBpbiA6IGlzIGFtYmlndW91cycsIHRydWUpO1xuICAgIGNvbnN0IHZhbHVlRW5kID0gb2Zmc2V0ICsgc291cmNlLmxlbmd0aDtcbiAgICBjb25zdCByZSA9IHJlc29sdmVFbmQucmVzb2x2ZUVuZChlbmQsIHZhbHVlRW5kLCBvcHRpb25zLnN0cmljdCwgb25FcnJvcik7XG4gICAgYWxpYXMucmFuZ2UgPSBbb2Zmc2V0LCB2YWx1ZUVuZCwgcmUub2Zmc2V0XTtcbiAgICBpZiAocmUuY29tbWVudClcbiAgICAgICAgYWxpYXMuY29tbWVudCA9IHJlLmNvbW1lbnQ7XG4gICAgcmV0dXJuIGFsaWFzO1xufVxuXG5leHBvcnRzLmNvbXBvc2VFbXB0eU5vZGUgPSBjb21wb3NlRW1wdHlOb2RlO1xuZXhwb3J0cy5jb21wb3NlTm9kZSA9IGNvbXBvc2VOb2RlO1xuIiwgIid1c2Ugc3RyaWN0JztcblxudmFyIERvY3VtZW50ID0gcmVxdWlyZSgnLi4vZG9jL0RvY3VtZW50LmpzJyk7XG52YXIgY29tcG9zZU5vZGUgPSByZXF1aXJlKCcuL2NvbXBvc2Utbm9kZS5qcycpO1xudmFyIHJlc29sdmVFbmQgPSByZXF1aXJlKCcuL3Jlc29sdmUtZW5kLmpzJyk7XG52YXIgcmVzb2x2ZVByb3BzID0gcmVxdWlyZSgnLi9yZXNvbHZlLXByb3BzLmpzJyk7XG5cbmZ1bmN0aW9uIGNvbXBvc2VEb2Mob3B0aW9ucywgZGlyZWN0aXZlcywgeyBvZmZzZXQsIHN0YXJ0LCB2YWx1ZSwgZW5kIH0sIG9uRXJyb3IpIHtcbiAgICBjb25zdCBvcHRzID0gT2JqZWN0LmFzc2lnbih7IF9kaXJlY3RpdmVzOiBkaXJlY3RpdmVzIH0sIG9wdGlvbnMpO1xuICAgIGNvbnN0IGRvYyA9IG5ldyBEb2N1bWVudC5Eb2N1bWVudCh1bmRlZmluZWQsIG9wdHMpO1xuICAgIGNvbnN0IGN0eCA9IHtcbiAgICAgICAgYXRLZXk6IGZhbHNlLFxuICAgICAgICBhdFJvb3Q6IHRydWUsXG4gICAgICAgIGRpcmVjdGl2ZXM6IGRvYy5kaXJlY3RpdmVzLFxuICAgICAgICBvcHRpb25zOiBkb2Mub3B0aW9ucyxcbiAgICAgICAgc2NoZW1hOiBkb2Muc2NoZW1hXG4gICAgfTtcbiAgICBjb25zdCBwcm9wcyA9IHJlc29sdmVQcm9wcy5yZXNvbHZlUHJvcHMoc3RhcnQsIHtcbiAgICAgICAgaW5kaWNhdG9yOiAnZG9jLXN0YXJ0JyxcbiAgICAgICAgbmV4dDogdmFsdWUgPz8gZW5kPy5bMF0sXG4gICAgICAgIG9mZnNldCxcbiAgICAgICAgb25FcnJvcixcbiAgICAgICAgcGFyZW50SW5kZW50OiAwLFxuICAgICAgICBzdGFydE9uTmV3bGluZTogdHJ1ZVxuICAgIH0pO1xuICAgIGlmIChwcm9wcy5mb3VuZCkge1xuICAgICAgICBkb2MuZGlyZWN0aXZlcy5kb2NTdGFydCA9IHRydWU7XG4gICAgICAgIGlmICh2YWx1ZSAmJlxuICAgICAgICAgICAgKHZhbHVlLnR5cGUgPT09ICdibG9jay1tYXAnIHx8IHZhbHVlLnR5cGUgPT09ICdibG9jay1zZXEnKSAmJlxuICAgICAgICAgICAgIXByb3BzLmhhc05ld2xpbmUpXG4gICAgICAgICAgICBvbkVycm9yKHByb3BzLmVuZCwgJ01JU1NJTkdfQ0hBUicsICdCbG9jayBjb2xsZWN0aW9uIGNhbm5vdCBzdGFydCBvbiBzYW1lIGxpbmUgd2l0aCBkaXJlY3RpdmVzLWVuZCBtYXJrZXInKTtcbiAgICB9XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBJZiBDb250ZW50cyBpcyBzZXQsIGxldCdzIHRydXN0IHRoZSB1c2VyXG4gICAgZG9jLmNvbnRlbnRzID0gdmFsdWVcbiAgICAgICAgPyBjb21wb3NlTm9kZS5jb21wb3NlTm9kZShjdHgsIHZhbHVlLCBwcm9wcywgb25FcnJvcilcbiAgICAgICAgOiBjb21wb3NlTm9kZS5jb21wb3NlRW1wdHlOb2RlKGN0eCwgcHJvcHMuZW5kLCBzdGFydCwgbnVsbCwgcHJvcHMsIG9uRXJyb3IpO1xuICAgIGNvbnN0IGNvbnRlbnRFbmQgPSBkb2MuY29udGVudHMucmFuZ2VbMl07XG4gICAgY29uc3QgcmUgPSByZXNvbHZlRW5kLnJlc29sdmVFbmQoZW5kLCBjb250ZW50RW5kLCBmYWxzZSwgb25FcnJvcik7XG4gICAgaWYgKHJlLmNvbW1lbnQpXG4gICAgICAgIGRvYy5jb21tZW50ID0gcmUuY29tbWVudDtcbiAgICBkb2MucmFuZ2UgPSBbb2Zmc2V0LCBjb250ZW50RW5kLCByZS5vZmZzZXRdO1xuICAgIHJldHVybiBkb2M7XG59XG5cbmV4cG9ydHMuY29tcG9zZURvYyA9IGNvbXBvc2VEb2M7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgZGlyZWN0aXZlcyA9IHJlcXVpcmUoJy4uL2RvYy9kaXJlY3RpdmVzLmpzJyk7XG52YXIgRG9jdW1lbnQgPSByZXF1aXJlKCcuLi9kb2MvRG9jdW1lbnQuanMnKTtcbnZhciBlcnJvcnMgPSByZXF1aXJlKCcuLi9lcnJvcnMuanMnKTtcbnZhciBpZGVudGl0eSA9IHJlcXVpcmUoJy4uL25vZGVzL2lkZW50aXR5LmpzJyk7XG52YXIgY29tcG9zZURvYyA9IHJlcXVpcmUoJy4vY29tcG9zZS1kb2MuanMnKTtcbnZhciByZXNvbHZlRW5kID0gcmVxdWlyZSgnLi9yZXNvbHZlLWVuZC5qcycpO1xuXG5mdW5jdGlvbiBnZXRFcnJvclBvcyhzcmMpIHtcbiAgICBpZiAodHlwZW9mIHNyYyA9PT0gJ251bWJlcicpXG4gICAgICAgIHJldHVybiBbc3JjLCBzcmMgKyAxXTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShzcmMpKVxuICAgICAgICByZXR1cm4gc3JjLmxlbmd0aCA9PT0gMiA/IHNyYyA6IFtzcmNbMF0sIHNyY1sxXV07XG4gICAgY29uc3QgeyBvZmZzZXQsIHNvdXJjZSB9ID0gc3JjO1xuICAgIHJldHVybiBbb2Zmc2V0LCBvZmZzZXQgKyAodHlwZW9mIHNvdXJjZSA9PT0gJ3N0cmluZycgPyBzb3VyY2UubGVuZ3RoIDogMSldO1xufVxuZnVuY3Rpb24gcGFyc2VQcmVsdWRlKHByZWx1ZGUpIHtcbiAgICBsZXQgY29tbWVudCA9ICcnO1xuICAgIGxldCBhdENvbW1lbnQgPSBmYWxzZTtcbiAgICBsZXQgYWZ0ZXJFbXB0eUxpbmUgPSBmYWxzZTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHByZWx1ZGUubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgY29uc3Qgc291cmNlID0gcHJlbHVkZVtpXTtcbiAgICAgICAgc3dpdGNoIChzb3VyY2VbMF0pIHtcbiAgICAgICAgICAgIGNhc2UgJyMnOlxuICAgICAgICAgICAgICAgIGNvbW1lbnQgKz1cbiAgICAgICAgICAgICAgICAgICAgKGNvbW1lbnQgPT09ICcnID8gJycgOiBhZnRlckVtcHR5TGluZSA/ICdcXG5cXG4nIDogJ1xcbicpICtcbiAgICAgICAgICAgICAgICAgICAgICAgIChzb3VyY2Uuc3Vic3RyaW5nKDEpIHx8ICcgJyk7XG4gICAgICAgICAgICAgICAgYXRDb21tZW50ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBhZnRlckVtcHR5TGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnJSc6XG4gICAgICAgICAgICAgICAgaWYgKHByZWx1ZGVbaSArIDFdPy5bMF0gIT09ICcjJylcbiAgICAgICAgICAgICAgICAgICAgaSArPSAxO1xuICAgICAgICAgICAgICAgIGF0Q29tbWVudCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAvLyBUaGlzIG1heSBiZSB3cm9uZyBhZnRlciBkb2MtZW5kLCBidXQgaW4gdGhhdCBjYXNlIGl0IGRvZXNuJ3QgbWF0dGVyXG4gICAgICAgICAgICAgICAgaWYgKCFhdENvbW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIGFmdGVyRW1wdHlMaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBhdENvbW1lbnQgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4geyBjb21tZW50LCBhZnRlckVtcHR5TGluZSB9O1xufVxuLyoqXG4gKiBDb21wb3NlIGEgc3RyZWFtIG9mIENTVCBub2RlcyBpbnRvIGEgc3RyZWFtIG9mIFlBTUwgRG9jdW1lbnRzLlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBDb21wb3NlciwgUGFyc2VyIH0gZnJvbSAneWFtbCdcbiAqXG4gKiBjb25zdCBzcmM6IHN0cmluZyA9IC4uLlxuICogY29uc3QgdG9rZW5zID0gbmV3IFBhcnNlcigpLnBhcnNlKHNyYylcbiAqIGNvbnN0IGRvY3MgPSBuZXcgQ29tcG9zZXIoKS5jb21wb3NlKHRva2VucylcbiAqIGBgYFxuICovXG5jbGFzcyBDb21wb3NlciB7XG4gICAgY29uc3RydWN0b3Iob3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHRoaXMuZG9jID0gbnVsbDtcbiAgICAgICAgdGhpcy5hdERpcmVjdGl2ZXMgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5wcmVsdWRlID0gW107XG4gICAgICAgIHRoaXMuZXJyb3JzID0gW107XG4gICAgICAgIHRoaXMud2FybmluZ3MgPSBbXTtcbiAgICAgICAgdGhpcy5vbkVycm9yID0gKHNvdXJjZSwgY29kZSwgbWVzc2FnZSwgd2FybmluZykgPT4ge1xuICAgICAgICAgICAgY29uc3QgcG9zID0gZ2V0RXJyb3JQb3Moc291cmNlKTtcbiAgICAgICAgICAgIGlmICh3YXJuaW5nKVxuICAgICAgICAgICAgICAgIHRoaXMud2FybmluZ3MucHVzaChuZXcgZXJyb3JzLllBTUxXYXJuaW5nKHBvcywgY29kZSwgbWVzc2FnZSkpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JzLnB1c2gobmV3IGVycm9ycy5ZQU1MUGFyc2VFcnJvcihwb3MsIGNvZGUsIG1lc3NhZ2UpKTtcbiAgICAgICAgfTtcbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9wcmVmZXItbnVsbGlzaC1jb2FsZXNjaW5nXG4gICAgICAgIHRoaXMuZGlyZWN0aXZlcyA9IG5ldyBkaXJlY3RpdmVzLkRpcmVjdGl2ZXMoeyB2ZXJzaW9uOiBvcHRpb25zLnZlcnNpb24gfHwgJzEuMicgfSk7XG4gICAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgfVxuICAgIGRlY29yYXRlKGRvYywgYWZ0ZXJEb2MpIHtcbiAgICAgICAgY29uc3QgeyBjb21tZW50LCBhZnRlckVtcHR5TGluZSB9ID0gcGFyc2VQcmVsdWRlKHRoaXMucHJlbHVkZSk7XG4gICAgICAgIC8vY29uc29sZS5sb2coeyBkYzogZG9jLmNvbW1lbnQsIHByZWx1ZGUsIGNvbW1lbnQgfSlcbiAgICAgICAgaWYgKGNvbW1lbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGRjID0gZG9jLmNvbnRlbnRzO1xuICAgICAgICAgICAgaWYgKGFmdGVyRG9jKSB7XG4gICAgICAgICAgICAgICAgZG9jLmNvbW1lbnQgPSBkb2MuY29tbWVudCA/IGAke2RvYy5jb21tZW50fVxcbiR7Y29tbWVudH1gIDogY29tbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGFmdGVyRW1wdHlMaW5lIHx8IGRvYy5kaXJlY3RpdmVzLmRvY1N0YXJ0IHx8ICFkYykge1xuICAgICAgICAgICAgICAgIGRvYy5jb21tZW50QmVmb3JlID0gY29tbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKGlkZW50aXR5LmlzQ29sbGVjdGlvbihkYykgJiYgIWRjLmZsb3cgJiYgZGMuaXRlbXMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGxldCBpdCA9IGRjLml0ZW1zWzBdO1xuICAgICAgICAgICAgICAgIGlmIChpZGVudGl0eS5pc1BhaXIoaXQpKVxuICAgICAgICAgICAgICAgICAgICBpdCA9IGl0LmtleTtcbiAgICAgICAgICAgICAgICBjb25zdCBjYiA9IGl0LmNvbW1lbnRCZWZvcmU7XG4gICAgICAgICAgICAgICAgaXQuY29tbWVudEJlZm9yZSA9IGNiID8gYCR7Y29tbWVudH1cXG4ke2NifWAgOiBjb21tZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgY29uc3QgY2IgPSBkYy5jb21tZW50QmVmb3JlO1xuICAgICAgICAgICAgICAgIGRjLmNvbW1lbnRCZWZvcmUgPSBjYiA/IGAke2NvbW1lbnR9XFxuJHtjYn1gIDogY29tbWVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoYWZ0ZXJEb2MpIHtcbiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGRvYy5lcnJvcnMsIHRoaXMuZXJyb3JzKTtcbiAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGRvYy53YXJuaW5ncywgdGhpcy53YXJuaW5ncyk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBkb2MuZXJyb3JzID0gdGhpcy5lcnJvcnM7XG4gICAgICAgICAgICBkb2Mud2FybmluZ3MgPSB0aGlzLndhcm5pbmdzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucHJlbHVkZSA9IFtdO1xuICAgICAgICB0aGlzLmVycm9ycyA9IFtdO1xuICAgICAgICB0aGlzLndhcm5pbmdzID0gW107XG4gICAgfVxuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgc3RyZWFtIHN0YXR1cyBpbmZvcm1hdGlvbi5cbiAgICAgKlxuICAgICAqIE1vc3RseSB1c2VmdWwgYXQgdGhlIGVuZCBvZiBpbnB1dCBmb3IgYW4gZW1wdHkgc3RyZWFtLlxuICAgICAqL1xuICAgIHN0cmVhbUluZm8oKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBjb21tZW50OiBwYXJzZVByZWx1ZGUodGhpcy5wcmVsdWRlKS5jb21tZW50LFxuICAgICAgICAgICAgZGlyZWN0aXZlczogdGhpcy5kaXJlY3RpdmVzLFxuICAgICAgICAgICAgZXJyb3JzOiB0aGlzLmVycm9ycyxcbiAgICAgICAgICAgIHdhcm5pbmdzOiB0aGlzLndhcm5pbmdzXG4gICAgICAgIH07XG4gICAgfVxuICAgIC8qKlxuICAgICAqIENvbXBvc2UgdG9rZW5zIGludG8gZG9jdW1lbnRzLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcmNlRG9jIC0gSWYgdGhlIHN0cmVhbSBjb250YWlucyBubyBkb2N1bWVudCwgc3RpbGwgZW1pdCBhIGZpbmFsIGRvY3VtZW50IGluY2x1ZGluZyBhbnkgY29tbWVudHMgYW5kIGRpcmVjdGl2ZXMgdGhhdCB3b3VsZCBiZSBhcHBsaWVkIHRvIGEgc3Vic2VxdWVudCBkb2N1bWVudC5cbiAgICAgKiBAcGFyYW0gZW5kT2Zmc2V0IC0gU2hvdWxkIGJlIHNldCBpZiBgZm9yY2VEb2NgIGlzIGFsc28gc2V0LCB0byBzZXQgdGhlIGRvY3VtZW50IHJhbmdlIGVuZCBhbmQgdG8gaW5kaWNhdGUgZXJyb3JzIGNvcnJlY3RseS5cbiAgICAgKi9cbiAgICAqY29tcG9zZSh0b2tlbnMsIGZvcmNlRG9jID0gZmFsc2UsIGVuZE9mZnNldCA9IC0xKSB7XG4gICAgICAgIGZvciAoY29uc3QgdG9rZW4gb2YgdG9rZW5zKVxuICAgICAgICAgICAgeWllbGQqIHRoaXMubmV4dCh0b2tlbik7XG4gICAgICAgIHlpZWxkKiB0aGlzLmVuZChmb3JjZURvYywgZW5kT2Zmc2V0KTtcbiAgICB9XG4gICAgLyoqIEFkdmFuY2UgdGhlIGNvbXBvc2VyIGJ5IG9uZSBDU1QgdG9rZW4uICovXG4gICAgKm5leHQodG9rZW4pIHtcbiAgICAgICAgaWYgKHByb2Nlc3MuZW52LkxPR19TVFJFQU0pXG4gICAgICAgICAgICBjb25zb2xlLmRpcih0b2tlbiwgeyBkZXB0aDogbnVsbCB9KTtcbiAgICAgICAgc3dpdGNoICh0b2tlbi50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdkaXJlY3RpdmUnOlxuICAgICAgICAgICAgICAgIHRoaXMuZGlyZWN0aXZlcy5hZGQodG9rZW4uc291cmNlLCAob2Zmc2V0LCBtZXNzYWdlLCB3YXJuaW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHBvcyA9IGdldEVycm9yUG9zKHRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zWzBdICs9IG9mZnNldDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yKHBvcywgJ0JBRF9ESVJFQ1RJVkUnLCBtZXNzYWdlLCB3YXJuaW5nKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB0aGlzLnByZWx1ZGUucHVzaCh0b2tlbi5zb3VyY2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuYXREaXJlY3RpdmVzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RvY3VtZW50Jzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRvYyA9IGNvbXBvc2VEb2MuY29tcG9zZURvYyh0aGlzLm9wdGlvbnMsIHRoaXMuZGlyZWN0aXZlcywgdG9rZW4sIHRoaXMub25FcnJvcik7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYXREaXJlY3RpdmVzICYmICFkb2MuZGlyZWN0aXZlcy5kb2NTdGFydClcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbkVycm9yKHRva2VuLCAnTUlTU0lOR19DSEFSJywgJ01pc3NpbmcgZGlyZWN0aXZlcy1lbmQvZG9jLXN0YXJ0IGluZGljYXRvciBsaW5lJyk7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWNvcmF0ZShkb2MsIGZhbHNlKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kb2MpXG4gICAgICAgICAgICAgICAgICAgIHlpZWxkIHRoaXMuZG9jO1xuICAgICAgICAgICAgICAgIHRoaXMuZG9jID0gZG9jO1xuICAgICAgICAgICAgICAgIHRoaXMuYXREaXJlY3RpdmVzID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdieXRlLW9yZGVyLW1hcmsnOlxuICAgICAgICAgICAgY2FzZSAnc3BhY2UnOlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnY29tbWVudCc6XG4gICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICB0aGlzLnByZWx1ZGUucHVzaCh0b2tlbi5zb3VyY2UpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnZXJyb3InOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgbXNnID0gdG9rZW4uc291cmNlXG4gICAgICAgICAgICAgICAgICAgID8gYCR7dG9rZW4ubWVzc2FnZX06ICR7SlNPTi5zdHJpbmdpZnkodG9rZW4uc291cmNlKX1gXG4gICAgICAgICAgICAgICAgICAgIDogdG9rZW4ubWVzc2FnZTtcbiAgICAgICAgICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBlcnJvcnMuWUFNTFBhcnNlRXJyb3IoZ2V0RXJyb3JQb3ModG9rZW4pLCAnVU5FWFBFQ1RFRF9UT0tFTicsIG1zZyk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuYXREaXJlY3RpdmVzIHx8ICF0aGlzLmRvYylcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5lcnJvcnMucHVzaChlcnJvcik7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRvYy5lcnJvcnMucHVzaChlcnJvcik7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdkb2MtZW5kJzoge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5kb2MpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgbXNnID0gJ1VuZXhwZWN0ZWQgZG9jLWVuZCB3aXRob3V0IHByZWNlZGluZyBkb2N1bWVudCc7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JzLnB1c2gobmV3IGVycm9ycy5ZQU1MUGFyc2VFcnJvcihnZXRFcnJvclBvcyh0b2tlbiksICdVTkVYUEVDVEVEX1RPS0VOJywgbXNnKSk7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLmRvYy5kaXJlY3RpdmVzLmRvY0VuZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgY29uc3QgZW5kID0gcmVzb2x2ZUVuZC5yZXNvbHZlRW5kKHRva2VuLmVuZCwgdG9rZW4ub2Zmc2V0ICsgdG9rZW4uc291cmNlLmxlbmd0aCwgdGhpcy5kb2Mub3B0aW9ucy5zdHJpY3QsIHRoaXMub25FcnJvcik7XG4gICAgICAgICAgICAgICAgdGhpcy5kZWNvcmF0ZSh0aGlzLmRvYywgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgaWYgKGVuZC5jb21tZW50KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGRjID0gdGhpcy5kb2MuY29tbWVudDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5kb2MuY29tbWVudCA9IGRjID8gYCR7ZGN9XFxuJHtlbmQuY29tbWVudH1gIDogZW5kLmNvbW1lbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuZG9jLnJhbmdlWzJdID0gZW5kLm9mZnNldDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy5lcnJvcnMucHVzaChuZXcgZXJyb3JzLllBTUxQYXJzZUVycm9yKGdldEVycm9yUG9zKHRva2VuKSwgJ1VORVhQRUNURURfVE9LRU4nLCBgVW5zdXBwb3J0ZWQgdG9rZW4gJHt0b2tlbi50eXBlfWApKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiBDYWxsIGF0IGVuZCBvZiBpbnB1dCB0byB5aWVsZCBhbnkgcmVtYWluaW5nIGRvY3VtZW50LlxuICAgICAqXG4gICAgICogQHBhcmFtIGZvcmNlRG9jIC0gSWYgdGhlIHN0cmVhbSBjb250YWlucyBubyBkb2N1bWVudCwgc3RpbGwgZW1pdCBhIGZpbmFsIGRvY3VtZW50IGluY2x1ZGluZyBhbnkgY29tbWVudHMgYW5kIGRpcmVjdGl2ZXMgdGhhdCB3b3VsZCBiZSBhcHBsaWVkIHRvIGEgc3Vic2VxdWVudCBkb2N1bWVudC5cbiAgICAgKiBAcGFyYW0gZW5kT2Zmc2V0IC0gU2hvdWxkIGJlIHNldCBpZiBgZm9yY2VEb2NgIGlzIGFsc28gc2V0LCB0byBzZXQgdGhlIGRvY3VtZW50IHJhbmdlIGVuZCBhbmQgdG8gaW5kaWNhdGUgZXJyb3JzIGNvcnJlY3RseS5cbiAgICAgKi9cbiAgICAqZW5kKGZvcmNlRG9jID0gZmFsc2UsIGVuZE9mZnNldCA9IC0xKSB7XG4gICAgICAgIGlmICh0aGlzLmRvYykge1xuICAgICAgICAgICAgdGhpcy5kZWNvcmF0ZSh0aGlzLmRvYywgdHJ1ZSk7XG4gICAgICAgICAgICB5aWVsZCB0aGlzLmRvYztcbiAgICAgICAgICAgIHRoaXMuZG9jID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmb3JjZURvYykge1xuICAgICAgICAgICAgY29uc3Qgb3B0cyA9IE9iamVjdC5hc3NpZ24oeyBfZGlyZWN0aXZlczogdGhpcy5kaXJlY3RpdmVzIH0sIHRoaXMub3B0aW9ucyk7XG4gICAgICAgICAgICBjb25zdCBkb2MgPSBuZXcgRG9jdW1lbnQuRG9jdW1lbnQodW5kZWZpbmVkLCBvcHRzKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmF0RGlyZWN0aXZlcylcbiAgICAgICAgICAgICAgICB0aGlzLm9uRXJyb3IoZW5kT2Zmc2V0LCAnTUlTU0lOR19DSEFSJywgJ01pc3NpbmcgZGlyZWN0aXZlcy1lbmQgaW5kaWNhdG9yIGxpbmUnKTtcbiAgICAgICAgICAgIGRvYy5yYW5nZSA9IFswLCBlbmRPZmZzZXQsIGVuZE9mZnNldF07XG4gICAgICAgICAgICB0aGlzLmRlY29yYXRlKGRvYywgZmFsc2UpO1xuICAgICAgICAgICAgeWllbGQgZG9jO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5leHBvcnRzLkNvbXBvc2VyID0gQ29tcG9zZXI7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgcmVzb2x2ZUJsb2NrU2NhbGFyID0gcmVxdWlyZSgnLi4vY29tcG9zZS9yZXNvbHZlLWJsb2NrLXNjYWxhci5qcycpO1xudmFyIHJlc29sdmVGbG93U2NhbGFyID0gcmVxdWlyZSgnLi4vY29tcG9zZS9yZXNvbHZlLWZsb3ctc2NhbGFyLmpzJyk7XG52YXIgZXJyb3JzID0gcmVxdWlyZSgnLi4vZXJyb3JzLmpzJyk7XG52YXIgc3RyaW5naWZ5U3RyaW5nID0gcmVxdWlyZSgnLi4vc3RyaW5naWZ5L3N0cmluZ2lmeVN0cmluZy5qcycpO1xuXG5mdW5jdGlvbiByZXNvbHZlQXNTY2FsYXIodG9rZW4sIHN0cmljdCA9IHRydWUsIG9uRXJyb3IpIHtcbiAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgY29uc3QgX29uRXJyb3IgPSAocG9zLCBjb2RlLCBtZXNzYWdlKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvZmZzZXQgPSB0eXBlb2YgcG9zID09PSAnbnVtYmVyJyA/IHBvcyA6IEFycmF5LmlzQXJyYXkocG9zKSA/IHBvc1swXSA6IHBvcy5vZmZzZXQ7XG4gICAgICAgICAgICBpZiAob25FcnJvcilcbiAgICAgICAgICAgICAgICBvbkVycm9yKG9mZnNldCwgY29kZSwgbWVzc2FnZSk7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IGVycm9ycy5ZQU1MUGFyc2VFcnJvcihbb2Zmc2V0LCBvZmZzZXQgKyAxXSwgY29kZSwgbWVzc2FnZSk7XG4gICAgICAgIH07XG4gICAgICAgIHN3aXRjaCAodG9rZW4udHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc2NhbGFyJzpcbiAgICAgICAgICAgIGNhc2UgJ3NpbmdsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgICAgIGNhc2UgJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUZsb3dTY2FsYXIucmVzb2x2ZUZsb3dTY2FsYXIodG9rZW4sIHN0cmljdCwgX29uRXJyb3IpO1xuICAgICAgICAgICAgY2FzZSAnYmxvY2stc2NhbGFyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gcmVzb2x2ZUJsb2NrU2NhbGFyLnJlc29sdmVCbG9ja1NjYWxhcih7IG9wdGlvbnM6IHsgc3RyaWN0IH0gfSwgdG9rZW4sIF9vbkVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbi8qKlxuICogQ3JlYXRlIGEgbmV3IHNjYWxhciB0b2tlbiB3aXRoIGB2YWx1ZWBcbiAqXG4gKiBWYWx1ZXMgdGhhdCByZXByZXNlbnQgYW4gYWN0dWFsIHN0cmluZyBidXQgbWF5IGJlIHBhcnNlZCBhcyBhIGRpZmZlcmVudCB0eXBlIHNob3VsZCB1c2UgYSBgdHlwZWAgb3RoZXIgdGhhbiBgJ1BMQUlOJ2AsXG4gKiBhcyB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IHN1cHBvcnQgYW55IHNjaGVtYSBvcGVyYXRpb25zIGFuZCB3b24ndCBjaGVjayBmb3Igc3VjaCBjb25mbGljdHMuXG4gKlxuICogQHBhcmFtIHZhbHVlIFRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhlIHZhbHVlLCB3aGljaCB3aWxsIGhhdmUgaXRzIGNvbnRlbnQgcHJvcGVybHkgaW5kZW50ZWQuXG4gKiBAcGFyYW0gY29udGV4dC5lbmQgQ29tbWVudHMgYW5kIHdoaXRlc3BhY2UgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgdmFsdWUsIG9yIGFmdGVyIHRoZSBibG9jayBzY2FsYXIgaGVhZGVyLiBJZiB1bmRlZmluZWQsIGEgbmV3bGluZSB3aWxsIGJlIGFkZGVkLlxuICogQHBhcmFtIGNvbnRleHQuaW1wbGljaXRLZXkgQmVpbmcgd2l0aGluIGFuIGltcGxpY2l0IGtleSBtYXkgYWZmZWN0IHRoZSByZXNvbHZlZCB0eXBlIG9mIHRoZSB0b2tlbidzIHZhbHVlLlxuICogQHBhcmFtIGNvbnRleHQuaW5kZW50IFRoZSBpbmRlbnQgbGV2ZWwgb2YgdGhlIHRva2VuLlxuICogQHBhcmFtIGNvbnRleHQuaW5GbG93IElzIHRoaXMgc2NhbGFyIHdpdGhpbiBhIGZsb3cgY29sbGVjdGlvbj8gVGhpcyBtYXkgYWZmZWN0IHRoZSByZXNvbHZlZCB0eXBlIG9mIHRoZSB0b2tlbidzIHZhbHVlLlxuICogQHBhcmFtIGNvbnRleHQub2Zmc2V0IFRoZSBvZmZzZXQgcG9zaXRpb24gb2YgdGhlIHRva2VuLlxuICogQHBhcmFtIGNvbnRleHQudHlwZSBUaGUgcHJlZmVycmVkIHR5cGUgb2YgdGhlIHNjYWxhciB0b2tlbi4gSWYgdW5kZWZpbmVkLCB0aGUgcHJldmlvdXMgdHlwZSBvZiB0aGUgYHRva2VuYCB3aWxsIGJlIHVzZWQsIGRlZmF1bHRpbmcgdG8gYCdQTEFJTidgLlxuICovXG5mdW5jdGlvbiBjcmVhdGVTY2FsYXJUb2tlbih2YWx1ZSwgY29udGV4dCkge1xuICAgIGNvbnN0IHsgaW1wbGljaXRLZXkgPSBmYWxzZSwgaW5kZW50LCBpbkZsb3cgPSBmYWxzZSwgb2Zmc2V0ID0gLTEsIHR5cGUgPSAnUExBSU4nIH0gPSBjb250ZXh0O1xuICAgIGNvbnN0IHNvdXJjZSA9IHN0cmluZ2lmeVN0cmluZy5zdHJpbmdpZnlTdHJpbmcoeyB0eXBlLCB2YWx1ZSB9LCB7XG4gICAgICAgIGltcGxpY2l0S2V5LFxuICAgICAgICBpbmRlbnQ6IGluZGVudCA+IDAgPyAnICcucmVwZWF0KGluZGVudCkgOiAnJyxcbiAgICAgICAgaW5GbG93LFxuICAgICAgICBvcHRpb25zOiB7IGJsb2NrUXVvdGU6IHRydWUsIGxpbmVXaWR0aDogLTEgfVxuICAgIH0pO1xuICAgIGNvbnN0IGVuZCA9IGNvbnRleHQuZW5kID8/IFtcbiAgICAgICAgeyB0eXBlOiAnbmV3bGluZScsIG9mZnNldDogLTEsIGluZGVudCwgc291cmNlOiAnXFxuJyB9XG4gICAgXTtcbiAgICBzd2l0Y2ggKHNvdXJjZVswXSkge1xuICAgICAgICBjYXNlICd8JzpcbiAgICAgICAgY2FzZSAnPic6IHtcbiAgICAgICAgICAgIGNvbnN0IGhlID0gc291cmNlLmluZGV4T2YoJ1xcbicpO1xuICAgICAgICAgICAgY29uc3QgaGVhZCA9IHNvdXJjZS5zdWJzdHJpbmcoMCwgaGUpO1xuICAgICAgICAgICAgY29uc3QgYm9keSA9IHNvdXJjZS5zdWJzdHJpbmcoaGUgKyAxKSArICdcXG4nO1xuICAgICAgICAgICAgY29uc3QgcHJvcHMgPSBbXG4gICAgICAgICAgICAgICAgeyB0eXBlOiAnYmxvY2stc2NhbGFyLWhlYWRlcicsIG9mZnNldCwgaW5kZW50LCBzb3VyY2U6IGhlYWQgfVxuICAgICAgICAgICAgXTtcbiAgICAgICAgICAgIGlmICghYWRkRW5kdG9CbG9ja1Byb3BzKHByb3BzLCBlbmQpKVxuICAgICAgICAgICAgICAgIHByb3BzLnB1c2goeyB0eXBlOiAnbmV3bGluZScsIG9mZnNldDogLTEsIGluZGVudCwgc291cmNlOiAnXFxuJyB9KTtcbiAgICAgICAgICAgIHJldHVybiB7IHR5cGU6ICdibG9jay1zY2FsYXInLCBvZmZzZXQsIGluZGVudCwgcHJvcHMsIHNvdXJjZTogYm9keSB9O1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ1wiJzpcbiAgICAgICAgICAgIHJldHVybiB7IHR5cGU6ICdkb3VibGUtcXVvdGVkLXNjYWxhcicsIG9mZnNldCwgaW5kZW50LCBzb3VyY2UsIGVuZCB9O1xuICAgICAgICBjYXNlIFwiJ1wiOlxuICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogJ3NpbmdsZS1xdW90ZWQtc2NhbGFyJywgb2Zmc2V0LCBpbmRlbnQsIHNvdXJjZSwgZW5kIH07XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4geyB0eXBlOiAnc2NhbGFyJywgb2Zmc2V0LCBpbmRlbnQsIHNvdXJjZSwgZW5kIH07XG4gICAgfVxufVxuLyoqXG4gKiBTZXQgdGhlIHZhbHVlIG9mIGB0b2tlbmAgdG8gdGhlIGdpdmVuIHN0cmluZyBgdmFsdWVgLCBvdmVyd3JpdGluZyBhbnkgcHJldmlvdXMgY29udGVudHMgYW5kIHR5cGUgdGhhdCBpdCBtYXkgaGF2ZS5cbiAqXG4gKiBCZXN0IGVmZm9ydHMgYXJlIG1hZGUgdG8gcmV0YWluIGFueSBjb21tZW50cyBwcmV2aW91c2x5IGFzc29jaWF0ZWQgd2l0aCB0aGUgYHRva2VuYCxcbiAqIHRob3VnaCBhbGwgY29udGVudHMgd2l0aGluIGEgY29sbGVjdGlvbidzIGBpdGVtc2Agd2lsbCBiZSBvdmVyd3JpdHRlbi5cbiAqXG4gKiBWYWx1ZXMgdGhhdCByZXByZXNlbnQgYW4gYWN0dWFsIHN0cmluZyBidXQgbWF5IGJlIHBhcnNlZCBhcyBhIGRpZmZlcmVudCB0eXBlIHNob3VsZCB1c2UgYSBgdHlwZWAgb3RoZXIgdGhhbiBgJ1BMQUlOJ2AsXG4gKiBhcyB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IHN1cHBvcnQgYW55IHNjaGVtYSBvcGVyYXRpb25zIGFuZCB3b24ndCBjaGVjayBmb3Igc3VjaCBjb25mbGljdHMuXG4gKlxuICogQHBhcmFtIHRva2VuIEFueSB0b2tlbi4gSWYgaXQgZG9lcyBub3QgaW5jbHVkZSBhbiBgaW5kZW50YCB2YWx1ZSwgdGhlIHZhbHVlIHdpbGwgYmUgc3RyaW5naWZpZWQgYXMgaWYgaXQgd2VyZSBhbiBpbXBsaWNpdCBrZXkuXG4gKiBAcGFyYW0gdmFsdWUgVGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdmFsdWUsIHdoaWNoIHdpbGwgaGF2ZSBpdHMgY29udGVudCBwcm9wZXJseSBpbmRlbnRlZC5cbiAqIEBwYXJhbSBjb250ZXh0LmFmdGVyS2V5IEluIG1vc3QgY2FzZXMsIHZhbHVlcyBhZnRlciBhIGtleSBzaG91bGQgaGF2ZSBhbiBhZGRpdGlvbmFsIGxldmVsIG9mIGluZGVudGF0aW9uLlxuICogQHBhcmFtIGNvbnRleHQuaW1wbGljaXRLZXkgQmVpbmcgd2l0aGluIGFuIGltcGxpY2l0IGtleSBtYXkgYWZmZWN0IHRoZSByZXNvbHZlZCB0eXBlIG9mIHRoZSB0b2tlbidzIHZhbHVlLlxuICogQHBhcmFtIGNvbnRleHQuaW5GbG93IEJlaW5nIHdpdGhpbiBhIGZsb3cgY29sbGVjdGlvbiBtYXkgYWZmZWN0IHRoZSByZXNvbHZlZCB0eXBlIG9mIHRoZSB0b2tlbidzIHZhbHVlLlxuICogQHBhcmFtIGNvbnRleHQudHlwZSBUaGUgcHJlZmVycmVkIHR5cGUgb2YgdGhlIHNjYWxhciB0b2tlbi4gSWYgdW5kZWZpbmVkLCB0aGUgcHJldmlvdXMgdHlwZSBvZiB0aGUgYHRva2VuYCB3aWxsIGJlIHVzZWQsIGRlZmF1bHRpbmcgdG8gYCdQTEFJTidgLlxuICovXG5mdW5jdGlvbiBzZXRTY2FsYXJWYWx1ZSh0b2tlbiwgdmFsdWUsIGNvbnRleHQgPSB7fSkge1xuICAgIGxldCB7IGFmdGVyS2V5ID0gZmFsc2UsIGltcGxpY2l0S2V5ID0gZmFsc2UsIGluRmxvdyA9IGZhbHNlLCB0eXBlIH0gPSBjb250ZXh0O1xuICAgIGxldCBpbmRlbnQgPSAnaW5kZW50JyBpbiB0b2tlbiA/IHRva2VuLmluZGVudCA6IG51bGw7XG4gICAgaWYgKGFmdGVyS2V5ICYmIHR5cGVvZiBpbmRlbnQgPT09ICdudW1iZXInKVxuICAgICAgICBpbmRlbnQgKz0gMjtcbiAgICBpZiAoIXR5cGUpXG4gICAgICAgIHN3aXRjaCAodG9rZW4udHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnc2luZ2xlLXF1b3RlZC1zY2FsYXInOlxuICAgICAgICAgICAgICAgIHR5cGUgPSAnUVVPVEVfU0lOR0xFJztcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgICAgICAgICB0eXBlID0gJ1FVT1RFX0RPVUJMRSc7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlICdibG9jay1zY2FsYXInOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaGVhZGVyID0gdG9rZW4ucHJvcHNbMF07XG4gICAgICAgICAgICAgICAgaWYgKGhlYWRlci50eXBlICE9PSAnYmxvY2stc2NhbGFyLWhlYWRlcicpXG4gICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBibG9jayBzY2FsYXIgaGVhZGVyJyk7XG4gICAgICAgICAgICAgICAgdHlwZSA9IGhlYWRlci5zb3VyY2VbMF0gPT09ICc+JyA/ICdCTE9DS19GT0xERUQnIDogJ0JMT0NLX0xJVEVSQUwnO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0eXBlID0gJ1BMQUlOJztcbiAgICAgICAgfVxuICAgIGNvbnN0IHNvdXJjZSA9IHN0cmluZ2lmeVN0cmluZy5zdHJpbmdpZnlTdHJpbmcoeyB0eXBlLCB2YWx1ZSB9LCB7XG4gICAgICAgIGltcGxpY2l0S2V5OiBpbXBsaWNpdEtleSB8fCBpbmRlbnQgPT09IG51bGwsXG4gICAgICAgIGluZGVudDogaW5kZW50ICE9PSBudWxsICYmIGluZGVudCA+IDAgPyAnICcucmVwZWF0KGluZGVudCkgOiAnJyxcbiAgICAgICAgaW5GbG93LFxuICAgICAgICBvcHRpb25zOiB7IGJsb2NrUXVvdGU6IHRydWUsIGxpbmVXaWR0aDogLTEgfVxuICAgIH0pO1xuICAgIHN3aXRjaCAoc291cmNlWzBdKSB7XG4gICAgICAgIGNhc2UgJ3wnOlxuICAgICAgICBjYXNlICc+JzpcbiAgICAgICAgICAgIHNldEJsb2NrU2NhbGFyVmFsdWUodG9rZW4sIHNvdXJjZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnXCInOlxuICAgICAgICAgICAgc2V0Rmxvd1NjYWxhclZhbHVlKHRva2VuLCBzb3VyY2UsICdkb3VibGUtcXVvdGVkLXNjYWxhcicpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCInXCI6XG4gICAgICAgICAgICBzZXRGbG93U2NhbGFyVmFsdWUodG9rZW4sIHNvdXJjZSwgJ3NpbmdsZS1xdW90ZWQtc2NhbGFyJyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHNldEZsb3dTY2FsYXJWYWx1ZSh0b2tlbiwgc291cmNlLCAnc2NhbGFyJyk7XG4gICAgfVxufVxuZnVuY3Rpb24gc2V0QmxvY2tTY2FsYXJWYWx1ZSh0b2tlbiwgc291cmNlKSB7XG4gICAgY29uc3QgaGUgPSBzb3VyY2UuaW5kZXhPZignXFxuJyk7XG4gICAgY29uc3QgaGVhZCA9IHNvdXJjZS5zdWJzdHJpbmcoMCwgaGUpO1xuICAgIGNvbnN0IGJvZHkgPSBzb3VyY2Uuc3Vic3RyaW5nKGhlICsgMSkgKyAnXFxuJztcbiAgICBpZiAodG9rZW4udHlwZSA9PT0gJ2Jsb2NrLXNjYWxhcicpIHtcbiAgICAgICAgY29uc3QgaGVhZGVyID0gdG9rZW4ucHJvcHNbMF07XG4gICAgICAgIGlmIChoZWFkZXIudHlwZSAhPT0gJ2Jsb2NrLXNjYWxhci1oZWFkZXInKVxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGJsb2NrIHNjYWxhciBoZWFkZXInKTtcbiAgICAgICAgaGVhZGVyLnNvdXJjZSA9IGhlYWQ7XG4gICAgICAgIHRva2VuLnNvdXJjZSA9IGJvZHk7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBjb25zdCB7IG9mZnNldCB9ID0gdG9rZW47XG4gICAgICAgIGNvbnN0IGluZGVudCA9ICdpbmRlbnQnIGluIHRva2VuID8gdG9rZW4uaW5kZW50IDogLTE7XG4gICAgICAgIGNvbnN0IHByb3BzID0gW1xuICAgICAgICAgICAgeyB0eXBlOiAnYmxvY2stc2NhbGFyLWhlYWRlcicsIG9mZnNldCwgaW5kZW50LCBzb3VyY2U6IGhlYWQgfVxuICAgICAgICBdO1xuICAgICAgICBpZiAoIWFkZEVuZHRvQmxvY2tQcm9wcyhwcm9wcywgJ2VuZCcgaW4gdG9rZW4gPyB0b2tlbi5lbmQgOiB1bmRlZmluZWQpKVxuICAgICAgICAgICAgcHJvcHMucHVzaCh7IHR5cGU6ICduZXdsaW5lJywgb2Zmc2V0OiAtMSwgaW5kZW50LCBzb3VyY2U6ICdcXG4nIH0pO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyh0b2tlbikpXG4gICAgICAgICAgICBpZiAoa2V5ICE9PSAndHlwZScgJiYga2V5ICE9PSAnb2Zmc2V0JylcbiAgICAgICAgICAgICAgICBkZWxldGUgdG9rZW5ba2V5XTtcbiAgICAgICAgT2JqZWN0LmFzc2lnbih0b2tlbiwgeyB0eXBlOiAnYmxvY2stc2NhbGFyJywgaW5kZW50LCBwcm9wcywgc291cmNlOiBib2R5IH0pO1xuICAgIH1cbn1cbi8qKiBAcmV0dXJucyBgdHJ1ZWAgaWYgbGFzdCB0b2tlbiBpcyBhIG5ld2xpbmUgKi9cbmZ1bmN0aW9uIGFkZEVuZHRvQmxvY2tQcm9wcyhwcm9wcywgZW5kKSB7XG4gICAgaWYgKGVuZClcbiAgICAgICAgZm9yIChjb25zdCBzdCBvZiBlbmQpXG4gICAgICAgICAgICBzd2l0Y2ggKHN0LnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICAgICAgY2FzZSAnY29tbWVudCc6XG4gICAgICAgICAgICAgICAgICAgIHByb3BzLnB1c2goc3QpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICAgICAgcHJvcHMucHVzaChzdCk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIHNldEZsb3dTY2FsYXJWYWx1ZSh0b2tlbiwgc291cmNlLCB0eXBlKSB7XG4gICAgc3dpdGNoICh0b2tlbi50eXBlKSB7XG4gICAgICAgIGNhc2UgJ3NjYWxhcic6XG4gICAgICAgIGNhc2UgJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgY2FzZSAnc2luZ2xlLXF1b3RlZC1zY2FsYXInOlxuICAgICAgICAgICAgdG9rZW4udHlwZSA9IHR5cGU7XG4gICAgICAgICAgICB0b2tlbi5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSAnYmxvY2stc2NhbGFyJzoge1xuICAgICAgICAgICAgY29uc3QgZW5kID0gdG9rZW4ucHJvcHMuc2xpY2UoMSk7XG4gICAgICAgICAgICBsZXQgb2EgPSBzb3VyY2UubGVuZ3RoO1xuICAgICAgICAgICAgaWYgKHRva2VuLnByb3BzWzBdLnR5cGUgPT09ICdibG9jay1zY2FsYXItaGVhZGVyJylcbiAgICAgICAgICAgICAgICBvYSAtPSB0b2tlbi5wcm9wc1swXS5zb3VyY2UubGVuZ3RoO1xuICAgICAgICAgICAgZm9yIChjb25zdCB0b2sgb2YgZW5kKVxuICAgICAgICAgICAgICAgIHRvay5vZmZzZXQgKz0gb2E7XG4gICAgICAgICAgICBkZWxldGUgdG9rZW4ucHJvcHM7XG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKHRva2VuLCB7IHR5cGUsIHNvdXJjZSwgZW5kIH0pO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnYmxvY2stbWFwJzpcbiAgICAgICAgY2FzZSAnYmxvY2stc2VxJzoge1xuICAgICAgICAgICAgY29uc3Qgb2Zmc2V0ID0gdG9rZW4ub2Zmc2V0ICsgc291cmNlLmxlbmd0aDtcbiAgICAgICAgICAgIGNvbnN0IG5sID0geyB0eXBlOiAnbmV3bGluZScsIG9mZnNldCwgaW5kZW50OiB0b2tlbi5pbmRlbnQsIHNvdXJjZTogJ1xcbicgfTtcbiAgICAgICAgICAgIGRlbGV0ZSB0b2tlbi5pdGVtcztcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odG9rZW4sIHsgdHlwZSwgc291cmNlLCBlbmQ6IFtubF0gfSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICBjb25zdCBpbmRlbnQgPSAnaW5kZW50JyBpbiB0b2tlbiA/IHRva2VuLmluZGVudCA6IC0xO1xuICAgICAgICAgICAgY29uc3QgZW5kID0gJ2VuZCcgaW4gdG9rZW4gJiYgQXJyYXkuaXNBcnJheSh0b2tlbi5lbmQpXG4gICAgICAgICAgICAgICAgPyB0b2tlbi5lbmQuZmlsdGVyKHN0ID0+IHN0LnR5cGUgPT09ICdzcGFjZScgfHxcbiAgICAgICAgICAgICAgICAgICAgc3QudHlwZSA9PT0gJ2NvbW1lbnQnIHx8XG4gICAgICAgICAgICAgICAgICAgIHN0LnR5cGUgPT09ICduZXdsaW5lJylcbiAgICAgICAgICAgICAgICA6IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXModG9rZW4pKVxuICAgICAgICAgICAgICAgIGlmIChrZXkgIT09ICd0eXBlJyAmJiBrZXkgIT09ICdvZmZzZXQnKVxuICAgICAgICAgICAgICAgICAgICBkZWxldGUgdG9rZW5ba2V5XTtcbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24odG9rZW4sIHsgdHlwZSwgaW5kZW50LCBzb3VyY2UsIGVuZCB9KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0cy5jcmVhdGVTY2FsYXJUb2tlbiA9IGNyZWF0ZVNjYWxhclRva2VuO1xuZXhwb3J0cy5yZXNvbHZlQXNTY2FsYXIgPSByZXNvbHZlQXNTY2FsYXI7XG5leHBvcnRzLnNldFNjYWxhclZhbHVlID0gc2V0U2NhbGFyVmFsdWU7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIFN0cmluZ2lmeSBhIENTVCBkb2N1bWVudCwgdG9rZW4sIG9yIGNvbGxlY3Rpb24gaXRlbVxuICpcbiAqIEZhaXIgd2FybmluZzogVGhpcyBhcHBsaWVzIG5vIHZhbGlkYXRpb24gd2hhdHNvZXZlciwgYW5kXG4gKiBzaW1wbHkgY29uY2F0ZW5hdGVzIHRoZSBzb3VyY2VzIGluIHRoZWlyIGxvZ2ljYWwgb3JkZXIuXG4gKi9cbmNvbnN0IHN0cmluZ2lmeSA9IChjc3QpID0+ICd0eXBlJyBpbiBjc3QgPyBzdHJpbmdpZnlUb2tlbihjc3QpIDogc3RyaW5naWZ5SXRlbShjc3QpO1xuZnVuY3Rpb24gc3RyaW5naWZ5VG9rZW4odG9rZW4pIHtcbiAgICBzd2l0Y2ggKHRva2VuLnR5cGUpIHtcbiAgICAgICAgY2FzZSAnYmxvY2stc2NhbGFyJzoge1xuICAgICAgICAgICAgbGV0IHJlcyA9ICcnO1xuICAgICAgICAgICAgZm9yIChjb25zdCB0b2sgb2YgdG9rZW4ucHJvcHMpXG4gICAgICAgICAgICAgICAgcmVzICs9IHN0cmluZ2lmeVRva2VuKHRvayk7XG4gICAgICAgICAgICByZXR1cm4gcmVzICsgdG9rZW4uc291cmNlO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ2Jsb2NrLW1hcCc6XG4gICAgICAgIGNhc2UgJ2Jsb2NrLXNlcSc6IHtcbiAgICAgICAgICAgIGxldCByZXMgPSAnJztcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0b2tlbi5pdGVtcylcbiAgICAgICAgICAgICAgICByZXMgKz0gc3RyaW5naWZ5SXRlbShpdGVtKTtcbiAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnZmxvdy1jb2xsZWN0aW9uJzoge1xuICAgICAgICAgICAgbGV0IHJlcyA9IHRva2VuLnN0YXJ0LnNvdXJjZTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiB0b2tlbi5pdGVtcylcbiAgICAgICAgICAgICAgICByZXMgKz0gc3RyaW5naWZ5SXRlbShpdGVtKTtcbiAgICAgICAgICAgIGZvciAoY29uc3Qgc3Qgb2YgdG9rZW4uZW5kKVxuICAgICAgICAgICAgICAgIHJlcyArPSBzdC5zb3VyY2U7XG4gICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ2RvY3VtZW50Jzoge1xuICAgICAgICAgICAgbGV0IHJlcyA9IHN0cmluZ2lmeUl0ZW0odG9rZW4pO1xuICAgICAgICAgICAgaWYgKHRva2VuLmVuZClcbiAgICAgICAgICAgICAgICBmb3IgKGNvbnN0IHN0IG9mIHRva2VuLmVuZClcbiAgICAgICAgICAgICAgICAgICAgcmVzICs9IHN0LnNvdXJjZTtcbiAgICAgICAgICAgIHJldHVybiByZXM7XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDoge1xuICAgICAgICAgICAgbGV0IHJlcyA9IHRva2VuLnNvdXJjZTtcbiAgICAgICAgICAgIGlmICgnZW5kJyBpbiB0b2tlbiAmJiB0b2tlbi5lbmQpXG4gICAgICAgICAgICAgICAgZm9yIChjb25zdCBzdCBvZiB0b2tlbi5lbmQpXG4gICAgICAgICAgICAgICAgICAgIHJlcyArPSBzdC5zb3VyY2U7XG4gICAgICAgICAgICByZXR1cm4gcmVzO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gc3RyaW5naWZ5SXRlbSh7IHN0YXJ0LCBrZXksIHNlcCwgdmFsdWUgfSkge1xuICAgIGxldCByZXMgPSAnJztcbiAgICBmb3IgKGNvbnN0IHN0IG9mIHN0YXJ0KVxuICAgICAgICByZXMgKz0gc3Quc291cmNlO1xuICAgIGlmIChrZXkpXG4gICAgICAgIHJlcyArPSBzdHJpbmdpZnlUb2tlbihrZXkpO1xuICAgIGlmIChzZXApXG4gICAgICAgIGZvciAoY29uc3Qgc3Qgb2Ygc2VwKVxuICAgICAgICAgICAgcmVzICs9IHN0LnNvdXJjZTtcbiAgICBpZiAodmFsdWUpXG4gICAgICAgIHJlcyArPSBzdHJpbmdpZnlUb2tlbih2YWx1ZSk7XG4gICAgcmV0dXJuIHJlcztcbn1cblxuZXhwb3J0cy5zdHJpbmdpZnkgPSBzdHJpbmdpZnk7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBCUkVBSyA9IFN5bWJvbCgnYnJlYWsgdmlzaXQnKTtcbmNvbnN0IFNLSVAgPSBTeW1ib2woJ3NraXAgY2hpbGRyZW4nKTtcbmNvbnN0IFJFTU9WRSA9IFN5bWJvbCgncmVtb3ZlIGl0ZW0nKTtcbi8qKlxuICogQXBwbHkgYSB2aXNpdG9yIHRvIGEgQ1NUIGRvY3VtZW50IG9yIGl0ZW0uXG4gKlxuICogV2Fsa3MgdGhyb3VnaCB0aGUgdHJlZSAoZGVwdGgtZmlyc3QpIHN0YXJ0aW5nIGZyb20gdGhlIHJvb3QsIGNhbGxpbmcgYVxuICogYHZpc2l0b3JgIGZ1bmN0aW9uIHdpdGggdHdvIGFyZ3VtZW50cyB3aGVuIGVudGVyaW5nIGVhY2ggaXRlbTpcbiAqICAgLSBgaXRlbWA6IFRoZSBjdXJyZW50IGl0ZW0sIHdoaWNoIGluY2x1ZGVkIHRoZSBmb2xsb3dpbmcgbWVtYmVyczpcbiAqICAgICAtIGBzdGFydDogU291cmNlVG9rZW5bXWAgXHUyMDEzIFNvdXJjZSB0b2tlbnMgYmVmb3JlIHRoZSBrZXkgb3IgdmFsdWUsXG4gKiAgICAgICBwb3NzaWJseSBpbmNsdWRpbmcgaXRzIGFuY2hvciBvciB0YWcuXG4gKiAgICAgLSBga2V5PzogVG9rZW4gfCBudWxsYCBcdTIwMTMgU2V0IGZvciBwYWlyIHZhbHVlcy4gTWF5IHRoZW4gYmUgYG51bGxgLCBpZlxuICogICAgICAgdGhlIGtleSBiZWZvcmUgdGhlIGA6YCBzZXBhcmF0b3IgaXMgZW1wdHkuXG4gKiAgICAgLSBgc2VwPzogU291cmNlVG9rZW5bXWAgXHUyMDEzIFNvdXJjZSB0b2tlbnMgYmV0d2VlbiB0aGUga2V5IGFuZCB0aGUgdmFsdWUsXG4gKiAgICAgICB3aGljaCBzaG91bGQgaW5jbHVkZSB0aGUgYDpgIG1hcCB2YWx1ZSBpbmRpY2F0b3IgaWYgYHZhbHVlYCBpcyBzZXQuXG4gKiAgICAgLSBgdmFsdWU/OiBUb2tlbmAgXHUyMDEzIFRoZSB2YWx1ZSBvZiBhIHNlcXVlbmNlIGl0ZW0sIG9yIG9mIGEgbWFwIHBhaXIuXG4gKiAgIC0gYHBhdGhgOiBUaGUgc3RlcHMgZnJvbSB0aGUgcm9vdCB0byB0aGUgY3VycmVudCBub2RlLCBhcyBhbiBhcnJheSBvZlxuICogICAgIGBbJ2tleScgfCAndmFsdWUnLCBudW1iZXJdYCB0dXBsZXMuXG4gKlxuICogVGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgdmlzaXRvciBtYXkgYmUgdXNlZCB0byBjb250cm9sIHRoZSB0cmF2ZXJzYWw6XG4gKiAgIC0gYHVuZGVmaW5lZGAgKGRlZmF1bHQpOiBEbyBub3RoaW5nIGFuZCBjb250aW51ZVxuICogICAtIGB2aXNpdC5TS0lQYDogRG8gbm90IHZpc2l0IHRoZSBjaGlsZHJlbiBvZiB0aGlzIHRva2VuLCBjb250aW51ZSB3aXRoXG4gKiAgICAgIG5leHQgc2libGluZ1xuICogICAtIGB2aXNpdC5CUkVBS2A6IFRlcm1pbmF0ZSB0cmF2ZXJzYWwgY29tcGxldGVseVxuICogICAtIGB2aXNpdC5SRU1PVkVgOiBSZW1vdmUgdGhlIGN1cnJlbnQgaXRlbSwgdGhlbiBjb250aW51ZSB3aXRoIHRoZSBuZXh0IG9uZVxuICogICAtIGBudW1iZXJgOiBTZXQgdGhlIGluZGV4IG9mIHRoZSBuZXh0IHN0ZXAuIFRoaXMgaXMgdXNlZnVsIGVzcGVjaWFsbHkgaWZcbiAqICAgICB0aGUgaW5kZXggb2YgdGhlIGN1cnJlbnQgdG9rZW4gaGFzIGNoYW5nZWQuXG4gKiAgIC0gYGZ1bmN0aW9uYDogRGVmaW5lIHRoZSBuZXh0IHZpc2l0b3IgZm9yIHRoaXMgaXRlbS4gQWZ0ZXIgdGhlIG9yaWdpbmFsXG4gKiAgICAgdmlzaXRvciBpcyBjYWxsZWQgb24gaXRlbSBlbnRyeSwgbmV4dCB2aXNpdG9ycyBhcmUgY2FsbGVkIGFmdGVyIGhhbmRsaW5nXG4gKiAgICAgYSBub24tZW1wdHkgYGtleWAgYW5kIHdoZW4gZXhpdGluZyB0aGUgaXRlbS5cbiAqL1xuZnVuY3Rpb24gdmlzaXQoY3N0LCB2aXNpdG9yKSB7XG4gICAgaWYgKCd0eXBlJyBpbiBjc3QgJiYgY3N0LnR5cGUgPT09ICdkb2N1bWVudCcpXG4gICAgICAgIGNzdCA9IHsgc3RhcnQ6IGNzdC5zdGFydCwgdmFsdWU6IGNzdC52YWx1ZSB9O1xuICAgIF92aXNpdChPYmplY3QuZnJlZXplKFtdKSwgY3N0LCB2aXNpdG9yKTtcbn1cbi8vIFdpdGhvdXQgdGhlIGBhcyBzeW1ib2xgIGNhc3RzLCBUUyBkZWNsYXJlcyB0aGVzZSBpbiB0aGUgYHZpc2l0YFxuLy8gbmFtZXNwYWNlIHVzaW5nIGB2YXJgLCBidXQgdGhlbiBjb21wbGFpbnMgYWJvdXQgdGhhdCBiZWNhdXNlXG4vLyBgdW5pcXVlIHN5bWJvbGAgbXVzdCBiZSBgY29uc3RgLlxuLyoqIFRlcm1pbmF0ZSB2aXNpdCB0cmF2ZXJzYWwgY29tcGxldGVseSAqL1xudmlzaXQuQlJFQUsgPSBCUkVBSztcbi8qKiBEbyBub3QgdmlzaXQgdGhlIGNoaWxkcmVuIG9mIHRoZSBjdXJyZW50IGl0ZW0gKi9cbnZpc2l0LlNLSVAgPSBTS0lQO1xuLyoqIFJlbW92ZSB0aGUgY3VycmVudCBpdGVtICovXG52aXNpdC5SRU1PVkUgPSBSRU1PVkU7XG4vKiogRmluZCB0aGUgaXRlbSBhdCBgcGF0aGAgZnJvbSBgY3N0YCBhcyB0aGUgcm9vdCAqL1xudmlzaXQuaXRlbUF0UGF0aCA9IChjc3QsIHBhdGgpID0+IHtcbiAgICBsZXQgaXRlbSA9IGNzdDtcbiAgICBmb3IgKGNvbnN0IFtmaWVsZCwgaW5kZXhdIG9mIHBhdGgpIHtcbiAgICAgICAgY29uc3QgdG9rID0gaXRlbT8uW2ZpZWxkXTtcbiAgICAgICAgaWYgKHRvayAmJiAnaXRlbXMnIGluIHRvaykge1xuICAgICAgICAgICAgaXRlbSA9IHRvay5pdGVtc1tpbmRleF07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIGl0ZW07XG59O1xuLyoqXG4gKiBHZXQgdGhlIGltbWVkaWF0ZSBwYXJlbnQgY29sbGVjdGlvbiBvZiB0aGUgaXRlbSBhdCBgcGF0aGAgZnJvbSBgY3N0YCBhcyB0aGUgcm9vdC5cbiAqXG4gKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIGNvbGxlY3Rpb24gaXMgbm90IGZvdW5kLCB3aGljaCBzaG91bGQgbmV2ZXIgaGFwcGVuIGlmIHRoZSBpdGVtIGl0c2VsZiBleGlzdHMuXG4gKi9cbnZpc2l0LnBhcmVudENvbGxlY3Rpb24gPSAoY3N0LCBwYXRoKSA9PiB7XG4gICAgY29uc3QgcGFyZW50ID0gdmlzaXQuaXRlbUF0UGF0aChjc3QsIHBhdGguc2xpY2UoMCwgLTEpKTtcbiAgICBjb25zdCBmaWVsZCA9IHBhdGhbcGF0aC5sZW5ndGggLSAxXVswXTtcbiAgICBjb25zdCBjb2xsID0gcGFyZW50Py5bZmllbGRdO1xuICAgIGlmIChjb2xsICYmICdpdGVtcycgaW4gY29sbClcbiAgICAgICAgcmV0dXJuIGNvbGw7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdQYXJlbnQgY29sbGVjdGlvbiBub3QgZm91bmQnKTtcbn07XG5mdW5jdGlvbiBfdmlzaXQocGF0aCwgaXRlbSwgdmlzaXRvcikge1xuICAgIGxldCBjdHJsID0gdmlzaXRvcihpdGVtLCBwYXRoKTtcbiAgICBpZiAodHlwZW9mIGN0cmwgPT09ICdzeW1ib2wnKVxuICAgICAgICByZXR1cm4gY3RybDtcbiAgICBmb3IgKGNvbnN0IGZpZWxkIG9mIFsna2V5JywgJ3ZhbHVlJ10pIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSBpdGVtW2ZpZWxkXTtcbiAgICAgICAgaWYgKHRva2VuICYmICdpdGVtcycgaW4gdG9rZW4pIHtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdG9rZW4uaXRlbXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaSA9IF92aXNpdChPYmplY3QuZnJlZXplKHBhdGguY29uY2F0KFtbZmllbGQsIGldXSkpLCB0b2tlbi5pdGVtc1tpXSwgdmlzaXRvcik7XG4gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiBjaSA9PT0gJ251bWJlcicpXG4gICAgICAgICAgICAgICAgICAgIGkgPSBjaSAtIDE7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoY2kgPT09IEJSRUFLKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gQlJFQUs7XG4gICAgICAgICAgICAgICAgZWxzZSBpZiAoY2kgPT09IFJFTU9WRSkge1xuICAgICAgICAgICAgICAgICAgICB0b2tlbi5pdGVtcy5zcGxpY2UoaSwgMSk7XG4gICAgICAgICAgICAgICAgICAgIGkgLT0gMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodHlwZW9mIGN0cmwgPT09ICdmdW5jdGlvbicgJiYgZmllbGQgPT09ICdrZXknKVxuICAgICAgICAgICAgICAgIGN0cmwgPSBjdHJsKGl0ZW0sIHBhdGgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0eXBlb2YgY3RybCA9PT0gJ2Z1bmN0aW9uJyA/IGN0cmwoaXRlbSwgcGF0aCkgOiBjdHJsO1xufVxuXG5leHBvcnRzLnZpc2l0ID0gdmlzaXQ7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgY3N0U2NhbGFyID0gcmVxdWlyZSgnLi9jc3Qtc2NhbGFyLmpzJyk7XG52YXIgY3N0U3RyaW5naWZ5ID0gcmVxdWlyZSgnLi9jc3Qtc3RyaW5naWZ5LmpzJyk7XG52YXIgY3N0VmlzaXQgPSByZXF1aXJlKCcuL2NzdC12aXNpdC5qcycpO1xuXG4vKiogVGhlIGJ5dGUgb3JkZXIgbWFyayAqL1xuY29uc3QgQk9NID0gJ1xcdXtGRUZGfSc7XG4vKiogU3RhcnQgb2YgZG9jLW1vZGUgKi9cbmNvbnN0IERPQ1VNRU5UID0gJ1xceDAyJzsgLy8gQzA6IFN0YXJ0IG9mIFRleHRcbi8qKiBVbmV4cGVjdGVkIGVuZCBvZiBmbG93LW1vZGUgKi9cbmNvbnN0IEZMT1dfRU5EID0gJ1xceDE4JzsgLy8gQzA6IENhbmNlbFxuLyoqIE5leHQgdG9rZW4gaXMgYSBzY2FsYXIgdmFsdWUgKi9cbmNvbnN0IFNDQUxBUiA9ICdcXHgxZic7IC8vIEMwOiBVbml0IFNlcGFyYXRvclxuLyoqIEByZXR1cm5zIGB0cnVlYCBpZiBgdG9rZW5gIGlzIGEgZmxvdyBvciBibG9jayBjb2xsZWN0aW9uICovXG5jb25zdCBpc0NvbGxlY3Rpb24gPSAodG9rZW4pID0+ICEhdG9rZW4gJiYgJ2l0ZW1zJyBpbiB0b2tlbjtcbi8qKiBAcmV0dXJucyBgdHJ1ZWAgaWYgYHRva2VuYCBpcyBhIGZsb3cgb3IgYmxvY2sgc2NhbGFyOyBub3QgYW4gYWxpYXMgKi9cbmNvbnN0IGlzU2NhbGFyID0gKHRva2VuKSA9PiAhIXRva2VuICYmXG4gICAgKHRva2VuLnR5cGUgPT09ICdzY2FsYXInIHx8XG4gICAgICAgIHRva2VuLnR5cGUgPT09ICdzaW5nbGUtcXVvdGVkLXNjYWxhcicgfHxcbiAgICAgICAgdG9rZW4udHlwZSA9PT0gJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJyB8fFxuICAgICAgICB0b2tlbi50eXBlID09PSAnYmxvY2stc2NhbGFyJyk7XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuLyoqIEdldCBhIHByaW50YWJsZSByZXByZXNlbnRhdGlvbiBvZiBhIGxleGVyIHRva2VuICovXG5mdW5jdGlvbiBwcmV0dHlUb2tlbih0b2tlbikge1xuICAgIHN3aXRjaCAodG9rZW4pIHtcbiAgICAgICAgY2FzZSBCT006XG4gICAgICAgICAgICByZXR1cm4gJzxCT00+JztcbiAgICAgICAgY2FzZSBET0NVTUVOVDpcbiAgICAgICAgICAgIHJldHVybiAnPERPQz4nO1xuICAgICAgICBjYXNlIEZMT1dfRU5EOlxuICAgICAgICAgICAgcmV0dXJuICc8RkxPV19FTkQ+JztcbiAgICAgICAgY2FzZSBTQ0FMQVI6XG4gICAgICAgICAgICByZXR1cm4gJzxTQ0FMQVI+JztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0b2tlbik7XG4gICAgfVxufVxuLyoqIElkZW50aWZ5IHRoZSB0eXBlIG9mIGEgbGV4ZXIgdG9rZW4uIE1heSByZXR1cm4gYG51bGxgIGZvciB1bmtub3duIHRva2Vucy4gKi9cbmZ1bmN0aW9uIHRva2VuVHlwZShzb3VyY2UpIHtcbiAgICBzd2l0Y2ggKHNvdXJjZSkge1xuICAgICAgICBjYXNlIEJPTTpcbiAgICAgICAgICAgIHJldHVybiAnYnl0ZS1vcmRlci1tYXJrJztcbiAgICAgICAgY2FzZSBET0NVTUVOVDpcbiAgICAgICAgICAgIHJldHVybiAnZG9jLW1vZGUnO1xuICAgICAgICBjYXNlIEZMT1dfRU5EOlxuICAgICAgICAgICAgcmV0dXJuICdmbG93LWVycm9yLWVuZCc7XG4gICAgICAgIGNhc2UgU0NBTEFSOlxuICAgICAgICAgICAgcmV0dXJuICdzY2FsYXInO1xuICAgICAgICBjYXNlICctLS0nOlxuICAgICAgICAgICAgcmV0dXJuICdkb2Mtc3RhcnQnO1xuICAgICAgICBjYXNlICcuLi4nOlxuICAgICAgICAgICAgcmV0dXJuICdkb2MtZW5kJztcbiAgICAgICAgY2FzZSAnJzpcbiAgICAgICAgY2FzZSAnXFxuJzpcbiAgICAgICAgY2FzZSAnXFxyXFxuJzpcbiAgICAgICAgICAgIHJldHVybiAnbmV3bGluZSc7XG4gICAgICAgIGNhc2UgJy0nOlxuICAgICAgICAgICAgcmV0dXJuICdzZXEtaXRlbS1pbmQnO1xuICAgICAgICBjYXNlICc/JzpcbiAgICAgICAgICAgIHJldHVybiAnZXhwbGljaXQta2V5LWluZCc7XG4gICAgICAgIGNhc2UgJzonOlxuICAgICAgICAgICAgcmV0dXJuICdtYXAtdmFsdWUtaW5kJztcbiAgICAgICAgY2FzZSAneyc6XG4gICAgICAgICAgICByZXR1cm4gJ2Zsb3ctbWFwLXN0YXJ0JztcbiAgICAgICAgY2FzZSAnfSc6XG4gICAgICAgICAgICByZXR1cm4gJ2Zsb3ctbWFwLWVuZCc7XG4gICAgICAgIGNhc2UgJ1snOlxuICAgICAgICAgICAgcmV0dXJuICdmbG93LXNlcS1zdGFydCc7XG4gICAgICAgIGNhc2UgJ10nOlxuICAgICAgICAgICAgcmV0dXJuICdmbG93LXNlcS1lbmQnO1xuICAgICAgICBjYXNlICcsJzpcbiAgICAgICAgICAgIHJldHVybiAnY29tbWEnO1xuICAgIH1cbiAgICBzd2l0Y2ggKHNvdXJjZVswXSkge1xuICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgY2FzZSAnXFx0JzpcbiAgICAgICAgICAgIHJldHVybiAnc3BhY2UnO1xuICAgICAgICBjYXNlICcjJzpcbiAgICAgICAgICAgIHJldHVybiAnY29tbWVudCc7XG4gICAgICAgIGNhc2UgJyUnOlxuICAgICAgICAgICAgcmV0dXJuICdkaXJlY3RpdmUtbGluZSc7XG4gICAgICAgIGNhc2UgJyonOlxuICAgICAgICAgICAgcmV0dXJuICdhbGlhcyc7XG4gICAgICAgIGNhc2UgJyYnOlxuICAgICAgICAgICAgcmV0dXJuICdhbmNob3InO1xuICAgICAgICBjYXNlICchJzpcbiAgICAgICAgICAgIHJldHVybiAndGFnJztcbiAgICAgICAgY2FzZSBcIidcIjpcbiAgICAgICAgICAgIHJldHVybiAnc2luZ2xlLXF1b3RlZC1zY2FsYXInO1xuICAgICAgICBjYXNlICdcIic6XG4gICAgICAgICAgICByZXR1cm4gJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJztcbiAgICAgICAgY2FzZSAnfCc6XG4gICAgICAgIGNhc2UgJz4nOlxuICAgICAgICAgICAgcmV0dXJuICdibG9jay1zY2FsYXItaGVhZGVyJztcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG59XG5cbmV4cG9ydHMuY3JlYXRlU2NhbGFyVG9rZW4gPSBjc3RTY2FsYXIuY3JlYXRlU2NhbGFyVG9rZW47XG5leHBvcnRzLnJlc29sdmVBc1NjYWxhciA9IGNzdFNjYWxhci5yZXNvbHZlQXNTY2FsYXI7XG5leHBvcnRzLnNldFNjYWxhclZhbHVlID0gY3N0U2NhbGFyLnNldFNjYWxhclZhbHVlO1xuZXhwb3J0cy5zdHJpbmdpZnkgPSBjc3RTdHJpbmdpZnkuc3RyaW5naWZ5O1xuZXhwb3J0cy52aXNpdCA9IGNzdFZpc2l0LnZpc2l0O1xuZXhwb3J0cy5CT00gPSBCT007XG5leHBvcnRzLkRPQ1VNRU5UID0gRE9DVU1FTlQ7XG5leHBvcnRzLkZMT1dfRU5EID0gRkxPV19FTkQ7XG5leHBvcnRzLlNDQUxBUiA9IFNDQUxBUjtcbmV4cG9ydHMuaXNDb2xsZWN0aW9uID0gaXNDb2xsZWN0aW9uO1xuZXhwb3J0cy5pc1NjYWxhciA9IGlzU2NhbGFyO1xuZXhwb3J0cy5wcmV0dHlUb2tlbiA9IHByZXR0eVRva2VuO1xuZXhwb3J0cy50b2tlblR5cGUgPSB0b2tlblR5cGU7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgY3N0ID0gcmVxdWlyZSgnLi9jc3QuanMnKTtcblxuLypcblNUQVJUIC0+IHN0cmVhbVxuXG5zdHJlYW1cbiAgZGlyZWN0aXZlIC0+IGxpbmUtZW5kIC0+IHN0cmVhbVxuICBpbmRlbnQgKyBsaW5lLWVuZCAtPiBzdHJlYW1cbiAgW2Vsc2VdIC0+IGxpbmUtc3RhcnRcblxubGluZS1lbmRcbiAgY29tbWVudCAtPiBsaW5lLWVuZFxuICBuZXdsaW5lIC0+IC5cbiAgaW5wdXQtZW5kIC0+IEVORFxuXG5saW5lLXN0YXJ0XG4gIGRvYy1zdGFydCAtPiBkb2NcbiAgZG9jLWVuZCAtPiBzdHJlYW1cbiAgW2Vsc2VdIC0+IGluZGVudCAtPiBibG9jay1zdGFydFxuXG5ibG9jay1zdGFydFxuICBzZXEtaXRlbS1zdGFydCAtPiBibG9jay1zdGFydFxuICBleHBsaWNpdC1rZXktc3RhcnQgLT4gYmxvY2stc3RhcnRcbiAgbWFwLXZhbHVlLXN0YXJ0IC0+IGJsb2NrLXN0YXJ0XG4gIFtlbHNlXSAtPiBkb2NcblxuZG9jXG4gIGxpbmUtZW5kIC0+IGxpbmUtc3RhcnRcbiAgc3BhY2VzIC0+IGRvY1xuICBhbmNob3IgLT4gZG9jXG4gIHRhZyAtPiBkb2NcbiAgZmxvdy1zdGFydCAtPiBmbG93IC0+IGRvY1xuICBmbG93LWVuZCAtPiBlcnJvciAtPiBkb2NcbiAgc2VxLWl0ZW0tc3RhcnQgLT4gZXJyb3IgLT4gZG9jXG4gIGV4cGxpY2l0LWtleS1zdGFydCAtPiBlcnJvciAtPiBkb2NcbiAgbWFwLXZhbHVlLXN0YXJ0IC0+IGRvY1xuICBhbGlhcyAtPiBkb2NcbiAgcXVvdGUtc3RhcnQgLT4gcXVvdGVkLXNjYWxhciAtPiBkb2NcbiAgYmxvY2stc2NhbGFyLWhlYWRlciAtPiBsaW5lLWVuZCAtPiBibG9jay1zY2FsYXIobWluKSAtPiBsaW5lLXN0YXJ0XG4gIFtlbHNlXSAtPiBwbGFpbi1zY2FsYXIoZmFsc2UsIG1pbikgLT4gZG9jXG5cbmZsb3dcbiAgbGluZS1lbmQgLT4gZmxvd1xuICBzcGFjZXMgLT4gZmxvd1xuICBhbmNob3IgLT4gZmxvd1xuICB0YWcgLT4gZmxvd1xuICBmbG93LXN0YXJ0IC0+IGZsb3cgLT4gZmxvd1xuICBmbG93LWVuZCAtPiAuXG4gIHNlcS1pdGVtLXN0YXJ0IC0+IGVycm9yIC0+IGZsb3dcbiAgZXhwbGljaXQta2V5LXN0YXJ0IC0+IGZsb3dcbiAgbWFwLXZhbHVlLXN0YXJ0IC0+IGZsb3dcbiAgYWxpYXMgLT4gZmxvd1xuICBxdW90ZS1zdGFydCAtPiBxdW90ZWQtc2NhbGFyIC0+IGZsb3dcbiAgY29tbWEgLT4gZmxvd1xuICBbZWxzZV0gLT4gcGxhaW4tc2NhbGFyKHRydWUsIDApIC0+IGZsb3dcblxucXVvdGVkLXNjYWxhclxuICBxdW90ZS1lbmQgLT4gLlxuICBbZWxzZV0gLT4gcXVvdGVkLXNjYWxhclxuXG5ibG9jay1zY2FsYXIobWluKVxuICBuZXdsaW5lICsgcGVlayhpbmRlbnQgPCBtaW4pIC0+IC5cbiAgW2Vsc2VdIC0+IGJsb2NrLXNjYWxhcihtaW4pXG5cbnBsYWluLXNjYWxhcihpcy1mbG93LCBtaW4pXG4gIHNjYWxhci1lbmQoaXMtZmxvdykgLT4gLlxuICBwZWVrKG5ld2xpbmUgKyAoaW5kZW50IDwgbWluKSkgLT4gLlxuICBbZWxzZV0gLT4gcGxhaW4tc2NhbGFyKG1pbilcbiovXG5mdW5jdGlvbiBpc0VtcHR5KGNoKSB7XG4gICAgc3dpdGNoIChjaCkge1xuICAgICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgY2FzZSAnICc6XG4gICAgICAgIGNhc2UgJ1xcbic6XG4gICAgICAgIGNhc2UgJ1xccic6XG4gICAgICAgIGNhc2UgJ1xcdCc6XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG59XG5jb25zdCBoZXhEaWdpdHMgPSBuZXcgU2V0KCcwMTIzNDU2Nzg5QUJDREVGYWJjZGVmJyk7XG5jb25zdCB0YWdDaGFycyA9IG5ldyBTZXQoXCIwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ei0jOy8/OkAmPSskXy4hfionKClcIik7XG5jb25zdCBmbG93SW5kaWNhdG9yQ2hhcnMgPSBuZXcgU2V0KCcsW117fScpO1xuY29uc3QgaW52YWxpZEFuY2hvckNoYXJzID0gbmV3IFNldCgnICxbXXt9XFxuXFxyXFx0Jyk7XG5jb25zdCBpc05vdEFuY2hvckNoYXIgPSAoY2gpID0+ICFjaCB8fCBpbnZhbGlkQW5jaG9yQ2hhcnMuaGFzKGNoKTtcbi8qKlxuICogU3BsaXRzIGFuIGlucHV0IHN0cmluZyBpbnRvIGxleGljYWwgdG9rZW5zLCBpLmUuIHNtYWxsZXIgc3RyaW5ncyB0aGF0IGFyZVxuICogZWFzaWx5IGlkZW50aWZpYWJsZSBieSBgdG9rZW5zLnRva2VuVHlwZSgpYC5cbiAqXG4gKiBMZXhpbmcgc3RhcnRzIGFsd2F5cyBpbiBhIFwic3RyZWFtXCIgY29udGV4dC4gSW5jb21wbGV0ZSBpbnB1dCBtYXkgYmUgYnVmZmVyZWRcbiAqIHVudGlsIGEgY29tcGxldGUgdG9rZW4gY2FuIGJlIGVtaXR0ZWQuXG4gKlxuICogSW4gYWRkaXRpb24gdG8gc2xpY2VzIG9mIHRoZSBvcmlnaW5hbCBpbnB1dCwgdGhlIGZvbGxvd2luZyBjb250cm9sIGNoYXJhY3RlcnNcbiAqIG1heSBhbHNvIGJlIGVtaXR0ZWQ6XG4gKlxuICogLSBgXFx4MDJgIChTdGFydCBvZiBUZXh0KTogQSBkb2N1bWVudCBzdGFydHMgd2l0aCB0aGUgbmV4dCB0b2tlblxuICogLSBgXFx4MThgIChDYW5jZWwpOiBVbmV4cGVjdGVkIGVuZCBvZiBmbG93LW1vZGUgKGluZGljYXRlcyBhbiBlcnJvcilcbiAqIC0gYFxceDFmYCAoVW5pdCBTZXBhcmF0b3IpOiBOZXh0IHRva2VuIGlzIGEgc2NhbGFyIHZhbHVlXG4gKiAtIGBcXHV7RkVGRn1gIChCeXRlIG9yZGVyIG1hcmspOiBFbWl0dGVkIHNlcGFyYXRlbHkgb3V0c2lkZSBkb2N1bWVudHNcbiAqL1xuY2xhc3MgTGV4ZXIge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICAvKipcbiAgICAgICAgICogRmxhZyBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIGVuZCBvZiB0aGUgY3VycmVudCBidWZmZXIgbWFya3MgdGhlIGVuZCBvZlxuICAgICAgICAgKiBhbGwgaW5wdXRcbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuYXRFbmQgPSBmYWxzZTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEV4cGxpY2l0IGluZGVudCBzZXQgaW4gYmxvY2sgc2NhbGFyIGhlYWRlciwgYXMgYW4gb2Zmc2V0IGZyb20gdGhlIGN1cnJlbnRcbiAgICAgICAgICogbWluaW11bSBpbmRlbnQsIHNvIGUuZy4gc2V0IHRvIDEgZnJvbSBhIGhlYWRlciBgfDIrYC4gU2V0IHRvIC0xIGlmIG5vdFxuICAgICAgICAgKiBleHBsaWNpdGx5IHNldC5cbiAgICAgICAgICovXG4gICAgICAgIHRoaXMuYmxvY2tTY2FsYXJJbmRlbnQgPSAtMTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEJsb2NrIHNjYWxhcnMgdGhhdCBpbmNsdWRlIGEgKyAoa2VlcCkgY2hvbXBpbmcgaW5kaWNhdG9yIGluIHRoZWlyIGhlYWRlclxuICAgICAgICAgKiBpbmNsdWRlIHRyYWlsaW5nIGVtcHR5IGxpbmVzLCB3aGljaCBhcmUgb3RoZXJ3aXNlIGV4Y2x1ZGVkIGZyb20gdGhlXG4gICAgICAgICAqIHNjYWxhcidzIGNvbnRlbnRzLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5ibG9ja1NjYWxhcktlZXAgPSBmYWxzZTtcbiAgICAgICAgLyoqIEN1cnJlbnQgaW5wdXQgKi9cbiAgICAgICAgdGhpcy5idWZmZXIgPSAnJztcbiAgICAgICAgLyoqXG4gICAgICAgICAqIEZsYWcgbm90aW5nIHdoZXRoZXIgdGhlIG1hcCB2YWx1ZSBpbmRpY2F0b3IgOiBjYW4gaW1tZWRpYXRlbHkgZm9sbG93IHRoaXNcbiAgICAgICAgICogbm9kZSB3aXRoaW4gYSBmbG93IGNvbnRleHQuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmZsb3dLZXkgPSBmYWxzZTtcbiAgICAgICAgLyoqIENvdW50IG9mIHN1cnJvdW5kaW5nIGZsb3cgY29sbGVjdGlvbiBsZXZlbHMuICovXG4gICAgICAgIHRoaXMuZmxvd0xldmVsID0gMDtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIE1pbmltdW0gbGV2ZWwgb2YgaW5kZW50YXRpb24gcmVxdWlyZWQgZm9yIG5leHQgbGluZXMgdG8gYmUgcGFyc2VkIGFzIGFcbiAgICAgICAgICogcGFydCBvZiB0aGUgY3VycmVudCBzY2FsYXIgdmFsdWUuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmluZGVudE5leHQgPSAwO1xuICAgICAgICAvKiogSW5kZW50YXRpb24gbGV2ZWwgb2YgdGhlIGN1cnJlbnQgbGluZS4gKi9cbiAgICAgICAgdGhpcy5pbmRlbnRWYWx1ZSA9IDA7XG4gICAgICAgIC8qKiBQb3NpdGlvbiBvZiB0aGUgbmV4dCBcXG4gY2hhcmFjdGVyLiAqL1xuICAgICAgICB0aGlzLmxpbmVFbmRQb3MgPSBudWxsO1xuICAgICAgICAvKiogU3RvcmVzIHRoZSBzdGF0ZSBvZiB0aGUgbGV4ZXIgaWYgcmVhY2hpbmcgdGhlIGVuZCBvZiBpbmNwb21wbGV0ZSBpbnB1dCAqL1xuICAgICAgICB0aGlzLm5leHQgPSBudWxsO1xuICAgICAgICAvKiogQSBwb2ludGVyIHRvIGBidWZmZXJgOyB0aGUgY3VycmVudCBwb3NpdGlvbiBvZiB0aGUgbGV4ZXIuICovXG4gICAgICAgIHRoaXMucG9zID0gMDtcbiAgICB9XG4gICAgLyoqXG4gICAgICogR2VuZXJhdGUgWUFNTCB0b2tlbnMgZnJvbSB0aGUgYHNvdXJjZWAgc3RyaW5nLiBJZiBgaW5jb21wbGV0ZWAsXG4gICAgICogYSBwYXJ0IG9mIHRoZSBsYXN0IGxpbmUgbWF5IGJlIGxlZnQgYXMgYSBidWZmZXIgZm9yIHRoZSBuZXh0IGNhbGwuXG4gICAgICpcbiAgICAgKiBAcmV0dXJucyBBIGdlbmVyYXRvciBvZiBsZXhpY2FsIHRva2Vuc1xuICAgICAqL1xuICAgICpsZXgoc291cmNlLCBpbmNvbXBsZXRlID0gZmFsc2UpIHtcbiAgICAgICAgaWYgKHNvdXJjZSkge1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBzb3VyY2UgIT09ICdzdHJpbmcnKVxuICAgICAgICAgICAgICAgIHRocm93IFR5cGVFcnJvcignc291cmNlIGlzIG5vdCBhIHN0cmluZycpO1xuICAgICAgICAgICAgdGhpcy5idWZmZXIgPSB0aGlzLmJ1ZmZlciA/IHRoaXMuYnVmZmVyICsgc291cmNlIDogc291cmNlO1xuICAgICAgICAgICAgdGhpcy5saW5lRW5kUG9zID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmF0RW5kID0gIWluY29tcGxldGU7XG4gICAgICAgIGxldCBuZXh0ID0gdGhpcy5uZXh0ID8/ICdzdHJlYW0nO1xuICAgICAgICB3aGlsZSAobmV4dCAmJiAoaW5jb21wbGV0ZSB8fCB0aGlzLmhhc0NoYXJzKDEpKSlcbiAgICAgICAgICAgIG5leHQgPSB5aWVsZCogdGhpcy5wYXJzZU5leHQobmV4dCk7XG4gICAgfVxuICAgIGF0TGluZUVuZCgpIHtcbiAgICAgICAgbGV0IGkgPSB0aGlzLnBvcztcbiAgICAgICAgbGV0IGNoID0gdGhpcy5idWZmZXJbaV07XG4gICAgICAgIHdoaWxlIChjaCA9PT0gJyAnIHx8IGNoID09PSAnXFx0JylcbiAgICAgICAgICAgIGNoID0gdGhpcy5idWZmZXJbKytpXTtcbiAgICAgICAgaWYgKCFjaCB8fCBjaCA9PT0gJyMnIHx8IGNoID09PSAnXFxuJylcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBpZiAoY2ggPT09ICdcXHInKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuYnVmZmVyW2kgKyAxXSA9PT0gJ1xcbic7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY2hhckF0KG4pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYnVmZmVyW3RoaXMucG9zICsgbl07XG4gICAgfVxuICAgIGNvbnRpbnVlU2NhbGFyKG9mZnNldCkge1xuICAgICAgICBsZXQgY2ggPSB0aGlzLmJ1ZmZlcltvZmZzZXRdO1xuICAgICAgICBpZiAodGhpcy5pbmRlbnROZXh0ID4gMCkge1xuICAgICAgICAgICAgbGV0IGluZGVudCA9IDA7XG4gICAgICAgICAgICB3aGlsZSAoY2ggPT09ICcgJylcbiAgICAgICAgICAgICAgICBjaCA9IHRoaXMuYnVmZmVyWysraW5kZW50ICsgb2Zmc2V0XTtcbiAgICAgICAgICAgIGlmIChjaCA9PT0gJ1xccicpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXh0ID0gdGhpcy5idWZmZXJbaW5kZW50ICsgb2Zmc2V0ICsgMV07XG4gICAgICAgICAgICAgICAgaWYgKG5leHQgPT09ICdcXG4nIHx8ICghbmV4dCAmJiAhdGhpcy5hdEVuZCkpXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBvZmZzZXQgKyBpbmRlbnQgKyAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGNoID09PSAnXFxuJyB8fCBpbmRlbnQgPj0gdGhpcy5pbmRlbnROZXh0IHx8ICghY2ggJiYgIXRoaXMuYXRFbmQpXG4gICAgICAgICAgICAgICAgPyBvZmZzZXQgKyBpbmRlbnRcbiAgICAgICAgICAgICAgICA6IC0xO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaCA9PT0gJy0nIHx8IGNoID09PSAnLicpIHtcbiAgICAgICAgICAgIGNvbnN0IGR0ID0gdGhpcy5idWZmZXIuc3Vic3RyKG9mZnNldCwgMyk7XG4gICAgICAgICAgICBpZiAoKGR0ID09PSAnLS0tJyB8fCBkdCA9PT0gJy4uLicpICYmIGlzRW1wdHkodGhpcy5idWZmZXJbb2Zmc2V0ICsgM10pKVxuICAgICAgICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb2Zmc2V0O1xuICAgIH1cbiAgICBnZXRMaW5lKCkge1xuICAgICAgICBsZXQgZW5kID0gdGhpcy5saW5lRW5kUG9zO1xuICAgICAgICBpZiAodHlwZW9mIGVuZCAhPT0gJ251bWJlcicgfHwgKGVuZCAhPT0gLTEgJiYgZW5kIDwgdGhpcy5wb3MpKSB7XG4gICAgICAgICAgICBlbmQgPSB0aGlzLmJ1ZmZlci5pbmRleE9mKCdcXG4nLCB0aGlzLnBvcyk7XG4gICAgICAgICAgICB0aGlzLmxpbmVFbmRQb3MgPSBlbmQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVuZCA9PT0gLTEpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5hdEVuZCA/IHRoaXMuYnVmZmVyLnN1YnN0cmluZyh0aGlzLnBvcykgOiBudWxsO1xuICAgICAgICBpZiAodGhpcy5idWZmZXJbZW5kIC0gMV0gPT09ICdcXHInKVxuICAgICAgICAgICAgZW5kIC09IDE7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1ZmZlci5zdWJzdHJpbmcodGhpcy5wb3MsIGVuZCk7XG4gICAgfVxuICAgIGhhc0NoYXJzKG4pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucG9zICsgbiA8PSB0aGlzLmJ1ZmZlci5sZW5ndGg7XG4gICAgfVxuICAgIHNldE5leHQoc3RhdGUpIHtcbiAgICAgICAgdGhpcy5idWZmZXIgPSB0aGlzLmJ1ZmZlci5zdWJzdHJpbmcodGhpcy5wb3MpO1xuICAgICAgICB0aGlzLnBvcyA9IDA7XG4gICAgICAgIHRoaXMubGluZUVuZFBvcyA9IG51bGw7XG4gICAgICAgIHRoaXMubmV4dCA9IHN0YXRlO1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcGVlayhuKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmJ1ZmZlci5zdWJzdHIodGhpcy5wb3MsIG4pO1xuICAgIH1cbiAgICAqcGFyc2VOZXh0KG5leHQpIHtcbiAgICAgICAgc3dpdGNoIChuZXh0KSB7XG4gICAgICAgICAgICBjYXNlICdzdHJlYW0nOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZVN0cmVhbSgpO1xuICAgICAgICAgICAgY2FzZSAnbGluZS1zdGFydCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlTGluZVN0YXJ0KCk7XG4gICAgICAgICAgICBjYXNlICdibG9jay1zdGFydCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlQmxvY2tTdGFydCgpO1xuICAgICAgICAgICAgY2FzZSAnZG9jJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VEb2N1bWVudCgpO1xuICAgICAgICAgICAgY2FzZSAnZmxvdyc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlRmxvd0NvbGxlY3Rpb24oKTtcbiAgICAgICAgICAgIGNhc2UgJ3F1b3RlZC1zY2FsYXInOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZVF1b3RlZFNjYWxhcigpO1xuICAgICAgICAgICAgY2FzZSAnYmxvY2stc2NhbGFyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VCbG9ja1NjYWxhcigpO1xuICAgICAgICAgICAgY2FzZSAncGxhaW4tc2NhbGFyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VQbGFpblNjYWxhcigpO1xuICAgICAgICB9XG4gICAgfVxuICAgICpwYXJzZVN0cmVhbSgpIHtcbiAgICAgICAgbGV0IGxpbmUgPSB0aGlzLmdldExpbmUoKTtcbiAgICAgICAgaWYgKGxpbmUgPT09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXROZXh0KCdzdHJlYW0nKTtcbiAgICAgICAgaWYgKGxpbmVbMF0gPT09IGNzdC5CT00pIHtcbiAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hDb3VudCgxKTtcbiAgICAgICAgICAgIGxpbmUgPSBsaW5lLnN1YnN0cmluZygxKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobGluZVswXSA9PT0gJyUnKSB7XG4gICAgICAgICAgICBsZXQgZGlyRW5kID0gbGluZS5sZW5ndGg7XG4gICAgICAgICAgICBsZXQgY3MgPSBsaW5lLmluZGV4T2YoJyMnKTtcbiAgICAgICAgICAgIHdoaWxlIChjcyAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBjaCA9IGxpbmVbY3MgLSAxXTtcbiAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICcgJyB8fCBjaCA9PT0gJ1xcdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlyRW5kID0gY3MgLSAxO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNzID0gbGluZS5pbmRleE9mKCcjJywgY3MgKyAxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoID0gbGluZVtkaXJFbmQgLSAxXTtcbiAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICcgJyB8fCBjaCA9PT0gJ1xcdCcpXG4gICAgICAgICAgICAgICAgICAgIGRpckVuZCAtPSAxO1xuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBuID0gKHlpZWxkKiB0aGlzLnB1c2hDb3VudChkaXJFbmQpKSArICh5aWVsZCogdGhpcy5wdXNoU3BhY2VzKHRydWUpKTtcbiAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hDb3VudChsaW5lLmxlbmd0aCAtIG4pOyAvLyBwb3NzaWJsZSBjb21tZW50XG4gICAgICAgICAgICB0aGlzLnB1c2hOZXdsaW5lKCk7XG4gICAgICAgICAgICByZXR1cm4gJ3N0cmVhbSc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYXRMaW5lRW5kKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHNwID0geWllbGQqIHRoaXMucHVzaFNwYWNlcyh0cnVlKTtcbiAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hDb3VudChsaW5lLmxlbmd0aCAtIHNwKTtcbiAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hOZXdsaW5lKCk7XG4gICAgICAgICAgICByZXR1cm4gJ3N0cmVhbSc7XG4gICAgICAgIH1cbiAgICAgICAgeWllbGQgY3N0LkRPQ1VNRU5UO1xuICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VMaW5lU3RhcnQoKTtcbiAgICB9XG4gICAgKnBhcnNlTGluZVN0YXJ0KCkge1xuICAgICAgICBjb25zdCBjaCA9IHRoaXMuY2hhckF0KDApO1xuICAgICAgICBpZiAoIWNoICYmICF0aGlzLmF0RW5kKVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0TmV4dCgnbGluZS1zdGFydCcpO1xuICAgICAgICBpZiAoY2ggPT09ICctJyB8fCBjaCA9PT0gJy4nKSB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuYXRFbmQgJiYgIXRoaXMuaGFzQ2hhcnMoNCkpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0TmV4dCgnbGluZS1zdGFydCcpO1xuICAgICAgICAgICAgY29uc3QgcyA9IHRoaXMucGVlaygzKTtcbiAgICAgICAgICAgIGlmICgocyA9PT0gJy0tLScgfHwgcyA9PT0gJy4uLicpICYmIGlzRW1wdHkodGhpcy5jaGFyQXQoMykpKSB7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaENvdW50KDMpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5kZW50VmFsdWUgPSAwO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5kZW50TmV4dCA9IDA7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHMgPT09ICctLS0nID8gJ2RvYycgOiAnc3RyZWFtJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmluZGVudFZhbHVlID0geWllbGQqIHRoaXMucHVzaFNwYWNlcyhmYWxzZSk7XG4gICAgICAgIGlmICh0aGlzLmluZGVudE5leHQgPiB0aGlzLmluZGVudFZhbHVlICYmICFpc0VtcHR5KHRoaXMuY2hhckF0KDEpKSlcbiAgICAgICAgICAgIHRoaXMuaW5kZW50TmV4dCA9IHRoaXMuaW5kZW50VmFsdWU7XG4gICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZUJsb2NrU3RhcnQoKTtcbiAgICB9XG4gICAgKnBhcnNlQmxvY2tTdGFydCgpIHtcbiAgICAgICAgY29uc3QgW2NoMCwgY2gxXSA9IHRoaXMucGVlaygyKTtcbiAgICAgICAgaWYgKCFjaDEgJiYgIXRoaXMuYXRFbmQpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXROZXh0KCdibG9jay1zdGFydCcpO1xuICAgICAgICBpZiAoKGNoMCA9PT0gJy0nIHx8IGNoMCA9PT0gJz8nIHx8IGNoMCA9PT0gJzonKSAmJiBpc0VtcHR5KGNoMSkpIHtcbiAgICAgICAgICAgIGNvbnN0IG4gPSAoeWllbGQqIHRoaXMucHVzaENvdW50KDEpKSArICh5aWVsZCogdGhpcy5wdXNoU3BhY2VzKHRydWUpKTtcbiAgICAgICAgICAgIHRoaXMuaW5kZW50TmV4dCA9IHRoaXMuaW5kZW50VmFsdWUgKyAxO1xuICAgICAgICAgICAgdGhpcy5pbmRlbnRWYWx1ZSArPSBuO1xuICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlQmxvY2tTdGFydCgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAnZG9jJztcbiAgICB9XG4gICAgKnBhcnNlRG9jdW1lbnQoKSB7XG4gICAgICAgIHlpZWxkKiB0aGlzLnB1c2hTcGFjZXModHJ1ZSk7XG4gICAgICAgIGNvbnN0IGxpbmUgPSB0aGlzLmdldExpbmUoKTtcbiAgICAgICAgaWYgKGxpbmUgPT09IG51bGwpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXROZXh0KCdkb2MnKTtcbiAgICAgICAgbGV0IG4gPSB5aWVsZCogdGhpcy5wdXNoSW5kaWNhdG9ycygpO1xuICAgICAgICBzd2l0Y2ggKGxpbmVbbl0pIHtcbiAgICAgICAgICAgIGNhc2UgJyMnOlxuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hDb3VudChsaW5lLmxlbmd0aCAtIG4pO1xuICAgICAgICAgICAgLy8gZmFsbHRocm91Z2hcbiAgICAgICAgICAgIGNhc2UgdW5kZWZpbmVkOlxuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hOZXdsaW5lKCk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlTGluZVN0YXJ0KCk7XG4gICAgICAgICAgICBjYXNlICd7JzpcbiAgICAgICAgICAgIGNhc2UgJ1snOlxuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hDb3VudCgxKTtcbiAgICAgICAgICAgICAgICB0aGlzLmZsb3dLZXkgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB0aGlzLmZsb3dMZXZlbCA9IDE7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdmbG93JztcbiAgICAgICAgICAgIGNhc2UgJ30nOlxuICAgICAgICAgICAgY2FzZSAnXSc6XG4gICAgICAgICAgICAgICAgLy8gdGhpcyBpcyBhbiBlcnJvclxuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hDb3VudCgxKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2RvYyc7XG4gICAgICAgICAgICBjYXNlICcqJzpcbiAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoVW50aWwoaXNOb3RBbmNob3JDaGFyKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2RvYyc7XG4gICAgICAgICAgICBjYXNlICdcIic6XG4gICAgICAgICAgICBjYXNlIFwiJ1wiOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wYXJzZVF1b3RlZFNjYWxhcigpO1xuICAgICAgICAgICAgY2FzZSAnfCc6XG4gICAgICAgICAgICBjYXNlICc+JzpcbiAgICAgICAgICAgICAgICBuICs9IHlpZWxkKiB0aGlzLnBhcnNlQmxvY2tTY2FsYXJIZWFkZXIoKTtcbiAgICAgICAgICAgICAgICBuICs9IHlpZWxkKiB0aGlzLnB1c2hTcGFjZXModHJ1ZSk7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaENvdW50KGxpbmUubGVuZ3RoIC0gbik7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaE5ld2xpbmUoKTtcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VCbG9ja1NjYWxhcigpO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucGFyc2VQbGFpblNjYWxhcigpO1xuICAgICAgICB9XG4gICAgfVxuICAgICpwYXJzZUZsb3dDb2xsZWN0aW9uKCkge1xuICAgICAgICBsZXQgbmwsIHNwO1xuICAgICAgICBsZXQgaW5kZW50ID0gLTE7XG4gICAgICAgIGRvIHtcbiAgICAgICAgICAgIG5sID0geWllbGQqIHRoaXMucHVzaE5ld2xpbmUoKTtcbiAgICAgICAgICAgIGlmIChubCA+IDApIHtcbiAgICAgICAgICAgICAgICBzcCA9IHlpZWxkKiB0aGlzLnB1c2hTcGFjZXMoZmFsc2UpO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5kZW50VmFsdWUgPSBpbmRlbnQgPSBzcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHNwID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwICs9IHlpZWxkKiB0aGlzLnB1c2hTcGFjZXModHJ1ZSk7XG4gICAgICAgIH0gd2hpbGUgKG5sICsgc3AgPiAwKTtcbiAgICAgICAgY29uc3QgbGluZSA9IHRoaXMuZ2V0TGluZSgpO1xuICAgICAgICBpZiAobGluZSA9PT0gbnVsbClcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNldE5leHQoJ2Zsb3cnKTtcbiAgICAgICAgaWYgKChpbmRlbnQgIT09IC0xICYmIGluZGVudCA8IHRoaXMuaW5kZW50TmV4dCAmJiBsaW5lWzBdICE9PSAnIycpIHx8XG4gICAgICAgICAgICAoaW5kZW50ID09PSAwICYmXG4gICAgICAgICAgICAgICAgKGxpbmUuc3RhcnRzV2l0aCgnLS0tJykgfHwgbGluZS5zdGFydHNXaXRoKCcuLi4nKSkgJiZcbiAgICAgICAgICAgICAgICBpc0VtcHR5KGxpbmVbM10pKSkge1xuICAgICAgICAgICAgLy8gQWxsb3dpbmcgZm9yIHRoZSB0ZXJtaW5hbCBdIG9yIH0gYXQgdGhlIHNhbWUgKHJhdGhlciB0aGFuIGdyZWF0ZXIpXG4gICAgICAgICAgICAvLyBpbmRlbnQgbGV2ZWwgYXMgdGhlIGluaXRpYWwgWyBvciB7IGlzIHRlY2huaWNhbGx5IGludmFsaWQsIGJ1dFxuICAgICAgICAgICAgLy8gZmFpbGluZyBoZXJlIHdvdWxkIGJlIHN1cnByaXNpbmcgdG8gdXNlcnMuXG4gICAgICAgICAgICBjb25zdCBhdEZsb3dFbmRNYXJrZXIgPSBpbmRlbnQgPT09IHRoaXMuaW5kZW50TmV4dCAtIDEgJiZcbiAgICAgICAgICAgICAgICB0aGlzLmZsb3dMZXZlbCA9PT0gMSAmJlxuICAgICAgICAgICAgICAgIChsaW5lWzBdID09PSAnXScgfHwgbGluZVswXSA9PT0gJ30nKTtcbiAgICAgICAgICAgIGlmICghYXRGbG93RW5kTWFya2VyKSB7XG4gICAgICAgICAgICAgICAgLy8gdGhpcyBpcyBhbiBlcnJvclxuICAgICAgICAgICAgICAgIHRoaXMuZmxvd0xldmVsID0gMDtcbiAgICAgICAgICAgICAgICB5aWVsZCBjc3QuRkxPV19FTkQ7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlTGluZVN0YXJ0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgbGV0IG4gPSAwO1xuICAgICAgICB3aGlsZSAobGluZVtuXSA9PT0gJywnKSB7XG4gICAgICAgICAgICBuICs9IHlpZWxkKiB0aGlzLnB1c2hDb3VudCgxKTtcbiAgICAgICAgICAgIG4gKz0geWllbGQqIHRoaXMucHVzaFNwYWNlcyh0cnVlKTtcbiAgICAgICAgICAgIHRoaXMuZmxvd0tleSA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIG4gKz0geWllbGQqIHRoaXMucHVzaEluZGljYXRvcnMoKTtcbiAgICAgICAgc3dpdGNoIChsaW5lW25dKSB7XG4gICAgICAgICAgICBjYXNlIHVuZGVmaW5lZDpcbiAgICAgICAgICAgICAgICByZXR1cm4gJ2Zsb3cnO1xuICAgICAgICAgICAgY2FzZSAnIyc6XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaENvdW50KGxpbmUubGVuZ3RoIC0gbik7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdmbG93JztcbiAgICAgICAgICAgIGNhc2UgJ3snOlxuICAgICAgICAgICAgY2FzZSAnWyc6XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaENvdW50KDEpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmxvd0tleSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuZmxvd0xldmVsICs9IDE7XG4gICAgICAgICAgICAgICAgcmV0dXJuICdmbG93JztcbiAgICAgICAgICAgIGNhc2UgJ30nOlxuICAgICAgICAgICAgY2FzZSAnXSc6XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucHVzaENvdW50KDEpO1xuICAgICAgICAgICAgICAgIHRoaXMuZmxvd0tleSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5mbG93TGV2ZWwgLT0gMTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5mbG93TGV2ZWwgPyAnZmxvdycgOiAnZG9jJztcbiAgICAgICAgICAgIGNhc2UgJyonOlxuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hVbnRpbChpc05vdEFuY2hvckNoYXIpO1xuICAgICAgICAgICAgICAgIHJldHVybiAnZmxvdyc7XG4gICAgICAgICAgICBjYXNlICdcIic6XG4gICAgICAgICAgICBjYXNlIFwiJ1wiOlxuICAgICAgICAgICAgICAgIHRoaXMuZmxvd0tleSA9IHRydWU7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlUXVvdGVkU2NhbGFyKCk7XG4gICAgICAgICAgICBjYXNlICc6Jzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IG5leHQgPSB0aGlzLmNoYXJBdCgxKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5mbG93S2V5IHx8IGlzRW1wdHkobmV4dCkgfHwgbmV4dCA9PT0gJywnKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZmxvd0tleSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wdXNoQ291bnQoMSk7XG4gICAgICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnB1c2hTcGFjZXModHJ1ZSk7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAnZmxvdyc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gZmFsbHRocm91Z2hcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgdGhpcy5mbG93S2V5ID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlUGxhaW5TY2FsYXIoKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAqcGFyc2VRdW90ZWRTY2FsYXIoKSB7XG4gICAgICAgIGNvbnN0IHF1b3RlID0gdGhpcy5jaGFyQXQoMCk7XG4gICAgICAgIGxldCBlbmQgPSB0aGlzLmJ1ZmZlci5pbmRleE9mKHF1b3RlLCB0aGlzLnBvcyArIDEpO1xuICAgICAgICBpZiAocXVvdGUgPT09IFwiJ1wiKSB7XG4gICAgICAgICAgICB3aGlsZSAoZW5kICE9PSAtMSAmJiB0aGlzLmJ1ZmZlcltlbmQgKyAxXSA9PT0gXCInXCIpXG4gICAgICAgICAgICAgICAgZW5kID0gdGhpcy5idWZmZXIuaW5kZXhPZihcIidcIiwgZW5kICsgMik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAvLyBkb3VibGUtcXVvdGVcbiAgICAgICAgICAgIHdoaWxlIChlbmQgIT09IC0xKSB7XG4gICAgICAgICAgICAgICAgbGV0IG4gPSAwO1xuICAgICAgICAgICAgICAgIHdoaWxlICh0aGlzLmJ1ZmZlcltlbmQgLSAxIC0gbl0gPT09ICdcXFxcJylcbiAgICAgICAgICAgICAgICAgICAgbiArPSAxO1xuICAgICAgICAgICAgICAgIGlmIChuICUgMiA9PT0gMClcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgZW5kID0gdGhpcy5idWZmZXIuaW5kZXhPZignXCInLCBlbmQgKyAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBPbmx5IGxvb2tpbmcgZm9yIG5ld2xpbmVzIHdpdGhpbiB0aGUgcXVvdGVzXG4gICAgICAgIGNvbnN0IHFiID0gdGhpcy5idWZmZXIuc3Vic3RyaW5nKDAsIGVuZCk7XG4gICAgICAgIGxldCBubCA9IHFiLmluZGV4T2YoJ1xcbicsIHRoaXMucG9zKTtcbiAgICAgICAgaWYgKG5sICE9PSAtMSkge1xuICAgICAgICAgICAgd2hpbGUgKG5sICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGNzID0gdGhpcy5jb250aW51ZVNjYWxhcihubCArIDEpO1xuICAgICAgICAgICAgICAgIGlmIChjcyA9PT0gLTEpXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIG5sID0gcWIuaW5kZXhPZignXFxuJywgY3MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG5sICE9PSAtMSkge1xuICAgICAgICAgICAgICAgIC8vIHRoaXMgaXMgYW4gZXJyb3IgY2F1c2VkIGJ5IGFuIHVuZXhwZWN0ZWQgdW5pbmRlbnRcbiAgICAgICAgICAgICAgICBlbmQgPSBubCAtIChxYltubCAtIDFdID09PSAnXFxyJyA/IDIgOiAxKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5kID09PSAtMSkge1xuICAgICAgICAgICAgaWYgKCF0aGlzLmF0RW5kKVxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnNldE5leHQoJ3F1b3RlZC1zY2FsYXInKTtcbiAgICAgICAgICAgIGVuZCA9IHRoaXMuYnVmZmVyLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICB5aWVsZCogdGhpcy5wdXNoVG9JbmRleChlbmQgKyAxLCBmYWxzZSk7XG4gICAgICAgIHJldHVybiB0aGlzLmZsb3dMZXZlbCA/ICdmbG93JyA6ICdkb2MnO1xuICAgIH1cbiAgICAqcGFyc2VCbG9ja1NjYWxhckhlYWRlcigpIHtcbiAgICAgICAgdGhpcy5ibG9ja1NjYWxhckluZGVudCA9IC0xO1xuICAgICAgICB0aGlzLmJsb2NrU2NhbGFyS2VlcCA9IGZhbHNlO1xuICAgICAgICBsZXQgaSA9IHRoaXMucG9zO1xuICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgICAgY29uc3QgY2ggPSB0aGlzLmJ1ZmZlclsrK2ldO1xuICAgICAgICAgICAgaWYgKGNoID09PSAnKycpXG4gICAgICAgICAgICAgICAgdGhpcy5ibG9ja1NjYWxhcktlZXAgPSB0cnVlO1xuICAgICAgICAgICAgZWxzZSBpZiAoY2ggPiAnMCcgJiYgY2ggPD0gJzknKVxuICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tTY2FsYXJJbmRlbnQgPSBOdW1iZXIoY2gpIC0gMTtcbiAgICAgICAgICAgIGVsc2UgaWYgKGNoICE9PSAnLScpXG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnB1c2hVbnRpbChjaCA9PiBpc0VtcHR5KGNoKSB8fCBjaCA9PT0gJyMnKTtcbiAgICB9XG4gICAgKnBhcnNlQmxvY2tTY2FsYXIoKSB7XG4gICAgICAgIGxldCBubCA9IHRoaXMucG9zIC0gMTsgLy8gbWF5IGJlIC0xIGlmIHRoaXMucG9zID09PSAwXG4gICAgICAgIGxldCBpbmRlbnQgPSAwO1xuICAgICAgICBsZXQgY2g7XG4gICAgICAgIGxvb3A6IGZvciAobGV0IGkgPSB0aGlzLnBvczsgKGNoID0gdGhpcy5idWZmZXJbaV0pOyArK2kpIHtcbiAgICAgICAgICAgIHN3aXRjaCAoY2gpIHtcbiAgICAgICAgICAgICAgICBjYXNlICcgJzpcbiAgICAgICAgICAgICAgICAgICAgaW5kZW50ICs9IDE7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ1xcbic6XG4gICAgICAgICAgICAgICAgICAgIG5sID0gaTtcbiAgICAgICAgICAgICAgICAgICAgaW5kZW50ID0gMDtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnXFxyJzoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBuZXh0ID0gdGhpcy5idWZmZXJbaSArIDFdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW5leHQgJiYgIXRoaXMuYXRFbmQpXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zZXROZXh0KCdibG9jay1zY2FsYXInKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5leHQgPT09ICdcXG4nKVxuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfSAvLyBmYWxsdGhyb3VnaFxuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrIGxvb3A7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFjaCAmJiAhdGhpcy5hdEVuZClcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNldE5leHQoJ2Jsb2NrLXNjYWxhcicpO1xuICAgICAgICBpZiAoaW5kZW50ID49IHRoaXMuaW5kZW50TmV4dCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuYmxvY2tTY2FsYXJJbmRlbnQgPT09IC0xKVxuICAgICAgICAgICAgICAgIHRoaXMuaW5kZW50TmV4dCA9IGluZGVudDtcbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMuaW5kZW50TmV4dCA9XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmxvY2tTY2FsYXJJbmRlbnQgKyAodGhpcy5pbmRlbnROZXh0ID09PSAwID8gMSA6IHRoaXMuaW5kZW50TmV4dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkbyB7XG4gICAgICAgICAgICAgICAgY29uc3QgY3MgPSB0aGlzLmNvbnRpbnVlU2NhbGFyKG5sICsgMSk7XG4gICAgICAgICAgICAgICAgaWYgKGNzID09PSAtMSlcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgbmwgPSB0aGlzLmJ1ZmZlci5pbmRleE9mKCdcXG4nLCBjcyk7XG4gICAgICAgICAgICB9IHdoaWxlIChubCAhPT0gLTEpO1xuICAgICAgICAgICAgaWYgKG5sID09PSAtMSkge1xuICAgICAgICAgICAgICAgIGlmICghdGhpcy5hdEVuZClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0TmV4dCgnYmxvY2stc2NhbGFyJyk7XG4gICAgICAgICAgICAgICAgbmwgPSB0aGlzLmJ1ZmZlci5sZW5ndGg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gVHJhaWxpbmcgaW5zdWZmaWNpZW50bHkgaW5kZW50ZWQgdGFicyBhcmUgaW52YWxpZC5cbiAgICAgICAgLy8gVG8gY2F0Y2ggdGhhdCBkdXJpbmcgcGFyc2luZywgd2UgaW5jbHVkZSB0aGVtIGluIHRoZSBibG9jayBzY2FsYXIgdmFsdWUuXG4gICAgICAgIGxldCBpID0gbmwgKyAxO1xuICAgICAgICBjaCA9IHRoaXMuYnVmZmVyW2ldO1xuICAgICAgICB3aGlsZSAoY2ggPT09ICcgJylcbiAgICAgICAgICAgIGNoID0gdGhpcy5idWZmZXJbKytpXTtcbiAgICAgICAgaWYgKGNoID09PSAnXFx0Jykge1xuICAgICAgICAgICAgd2hpbGUgKGNoID09PSAnXFx0JyB8fCBjaCA9PT0gJyAnIHx8IGNoID09PSAnXFxyJyB8fCBjaCA9PT0gJ1xcbicpXG4gICAgICAgICAgICAgICAgY2ggPSB0aGlzLmJ1ZmZlclsrK2ldO1xuICAgICAgICAgICAgbmwgPSBpIC0gMTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICghdGhpcy5ibG9ja1NjYWxhcktlZXApIHtcbiAgICAgICAgICAgIGRvIHtcbiAgICAgICAgICAgICAgICBsZXQgaSA9IG5sIC0gMTtcbiAgICAgICAgICAgICAgICBsZXQgY2ggPSB0aGlzLmJ1ZmZlcltpXTtcbiAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICdcXHInKVxuICAgICAgICAgICAgICAgICAgICBjaCA9IHRoaXMuYnVmZmVyWy0taV07XG4gICAgICAgICAgICAgICAgY29uc3QgbGFzdENoYXIgPSBpOyAvLyBEcm9wIHRoZSBsaW5lIGlmIGxhc3QgY2hhciBub3QgbW9yZSBpbmRlbnRlZFxuICAgICAgICAgICAgICAgIHdoaWxlIChjaCA9PT0gJyAnKVxuICAgICAgICAgICAgICAgICAgICBjaCA9IHRoaXMuYnVmZmVyWy0taV07XG4gICAgICAgICAgICAgICAgaWYgKGNoID09PSAnXFxuJyAmJiBpID49IHRoaXMucG9zICYmIGkgKyAxICsgaW5kZW50ID4gbGFzdENoYXIpXG4gICAgICAgICAgICAgICAgICAgIG5sID0gaTtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSB3aGlsZSAodHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgeWllbGQgY3N0LlNDQUxBUjtcbiAgICAgICAgeWllbGQqIHRoaXMucHVzaFRvSW5kZXgobmwgKyAxLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnBhcnNlTGluZVN0YXJ0KCk7XG4gICAgfVxuICAgICpwYXJzZVBsYWluU2NhbGFyKCkge1xuICAgICAgICBjb25zdCBpbkZsb3cgPSB0aGlzLmZsb3dMZXZlbCA+IDA7XG4gICAgICAgIGxldCBlbmQgPSB0aGlzLnBvcyAtIDE7XG4gICAgICAgIGxldCBpID0gdGhpcy5wb3MgLSAxO1xuICAgICAgICBsZXQgY2g7XG4gICAgICAgIHdoaWxlICgoY2ggPSB0aGlzLmJ1ZmZlclsrK2ldKSkge1xuICAgICAgICAgICAgaWYgKGNoID09PSAnOicpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBuZXh0ID0gdGhpcy5idWZmZXJbaSArIDFdO1xuICAgICAgICAgICAgICAgIGlmIChpc0VtcHR5KG5leHQpIHx8IChpbkZsb3cgJiYgZmxvd0luZGljYXRvckNoYXJzLmhhcyhuZXh0KSkpXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGVuZCA9IGk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChpc0VtcHR5KGNoKSkge1xuICAgICAgICAgICAgICAgIGxldCBuZXh0ID0gdGhpcy5idWZmZXJbaSArIDFdO1xuICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJ1xccicpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG5leHQgPT09ICdcXG4nKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpICs9IDE7XG4gICAgICAgICAgICAgICAgICAgICAgICBjaCA9ICdcXG4nO1xuICAgICAgICAgICAgICAgICAgICAgICAgbmV4dCA9IHRoaXMuYnVmZmVyW2kgKyAxXTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBlbmQgPSBpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobmV4dCA9PT0gJyMnIHx8IChpbkZsb3cgJiYgZmxvd0luZGljYXRvckNoYXJzLmhhcyhuZXh0KSkpXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJ1xcbicpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY3MgPSB0aGlzLmNvbnRpbnVlU2NhbGFyKGkgKyAxKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGNzID09PSAtMSlcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICBpID0gTWF0aC5tYXgoaSwgY3MgLSAyKTsgLy8gdG8gYWR2YW5jZSwgYnV0IHN0aWxsIGFjY291bnQgZm9yICcgIydcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAoaW5GbG93ICYmIGZsb3dJbmRpY2F0b3JDaGFycy5oYXMoY2gpKVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBlbmQgPSBpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmICghY2ggJiYgIXRoaXMuYXRFbmQpXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXROZXh0KCdwbGFpbi1zY2FsYXInKTtcbiAgICAgICAgeWllbGQgY3N0LlNDQUxBUjtcbiAgICAgICAgeWllbGQqIHRoaXMucHVzaFRvSW5kZXgoZW5kICsgMSwgdHJ1ZSk7XG4gICAgICAgIHJldHVybiBpbkZsb3cgPyAnZmxvdycgOiAnZG9jJztcbiAgICB9XG4gICAgKnB1c2hDb3VudChuKSB7XG4gICAgICAgIGlmIChuID4gMCkge1xuICAgICAgICAgICAgeWllbGQgdGhpcy5idWZmZXIuc3Vic3RyKHRoaXMucG9zLCBuKTtcbiAgICAgICAgICAgIHRoaXMucG9zICs9IG47XG4gICAgICAgICAgICByZXR1cm4gbjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgKnB1c2hUb0luZGV4KGksIGFsbG93RW1wdHkpIHtcbiAgICAgICAgY29uc3QgcyA9IHRoaXMuYnVmZmVyLnNsaWNlKHRoaXMucG9zLCBpKTtcbiAgICAgICAgaWYgKHMpIHtcbiAgICAgICAgICAgIHlpZWxkIHM7XG4gICAgICAgICAgICB0aGlzLnBvcyArPSBzLmxlbmd0aDtcbiAgICAgICAgICAgIHJldHVybiBzLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChhbGxvd0VtcHR5KVxuICAgICAgICAgICAgeWllbGQgJyc7XG4gICAgICAgIHJldHVybiAwO1xuICAgIH1cbiAgICAqcHVzaEluZGljYXRvcnMoKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5jaGFyQXQoMCkpIHtcbiAgICAgICAgICAgIGNhc2UgJyEnOlxuICAgICAgICAgICAgICAgIHJldHVybiAoKHlpZWxkKiB0aGlzLnB1c2hUYWcoKSkgK1xuICAgICAgICAgICAgICAgICAgICAoeWllbGQqIHRoaXMucHVzaFNwYWNlcyh0cnVlKSkgK1xuICAgICAgICAgICAgICAgICAgICAoeWllbGQqIHRoaXMucHVzaEluZGljYXRvcnMoKSkpO1xuICAgICAgICAgICAgY2FzZSAnJic6XG4gICAgICAgICAgICAgICAgcmV0dXJuICgoeWllbGQqIHRoaXMucHVzaFVudGlsKGlzTm90QW5jaG9yQ2hhcikpICtcbiAgICAgICAgICAgICAgICAgICAgKHlpZWxkKiB0aGlzLnB1c2hTcGFjZXModHJ1ZSkpICtcbiAgICAgICAgICAgICAgICAgICAgKHlpZWxkKiB0aGlzLnB1c2hJbmRpY2F0b3JzKCkpKTtcbiAgICAgICAgICAgIGNhc2UgJy0nOiAvLyB0aGlzIGlzIGFuIGVycm9yXG4gICAgICAgICAgICBjYXNlICc/JzogLy8gdGhpcyBpcyBhbiBlcnJvciBvdXRzaWRlIGZsb3cgY29sbGVjdGlvbnNcbiAgICAgICAgICAgIGNhc2UgJzonOiB7XG4gICAgICAgICAgICAgICAgY29uc3QgaW5GbG93ID0gdGhpcy5mbG93TGV2ZWwgPiAwO1xuICAgICAgICAgICAgICAgIGNvbnN0IGNoMSA9IHRoaXMuY2hhckF0KDEpO1xuICAgICAgICAgICAgICAgIGlmIChpc0VtcHR5KGNoMSkgfHwgKGluRmxvdyAmJiBmbG93SW5kaWNhdG9yQ2hhcnMuaGFzKGNoMSkpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghaW5GbG93KVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmRlbnROZXh0ID0gdGhpcy5pbmRlbnRWYWx1ZSArIDE7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuZmxvd0tleSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZmxvd0tleSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKCh5aWVsZCogdGhpcy5wdXNoQ291bnQoMSkpICtcbiAgICAgICAgICAgICAgICAgICAgICAgICh5aWVsZCogdGhpcy5wdXNoU3BhY2VzKHRydWUpKSArXG4gICAgICAgICAgICAgICAgICAgICAgICAoeWllbGQqIHRoaXMucHVzaEluZGljYXRvcnMoKSkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgKnB1c2hUYWcoKSB7XG4gICAgICAgIGlmICh0aGlzLmNoYXJBdCgxKSA9PT0gJzwnKSB7XG4gICAgICAgICAgICBsZXQgaSA9IHRoaXMucG9zICsgMjtcbiAgICAgICAgICAgIGxldCBjaCA9IHRoaXMuYnVmZmVyW2ldO1xuICAgICAgICAgICAgd2hpbGUgKCFpc0VtcHR5KGNoKSAmJiBjaCAhPT0gJz4nKVxuICAgICAgICAgICAgICAgIGNoID0gdGhpcy5idWZmZXJbKytpXTtcbiAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wdXNoVG9JbmRleChjaCA9PT0gJz4nID8gaSArIDEgOiBpLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBsZXQgaSA9IHRoaXMucG9zICsgMTtcbiAgICAgICAgICAgIGxldCBjaCA9IHRoaXMuYnVmZmVyW2ldO1xuICAgICAgICAgICAgd2hpbGUgKGNoKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRhZ0NoYXJzLmhhcyhjaCkpXG4gICAgICAgICAgICAgICAgICAgIGNoID0gdGhpcy5idWZmZXJbKytpXTtcbiAgICAgICAgICAgICAgICBlbHNlIGlmIChjaCA9PT0gJyUnICYmXG4gICAgICAgICAgICAgICAgICAgIGhleERpZ2l0cy5oYXModGhpcy5idWZmZXJbaSArIDFdKSAmJlxuICAgICAgICAgICAgICAgICAgICBoZXhEaWdpdHMuaGFzKHRoaXMuYnVmZmVyW2kgKyAyXSkpIHtcbiAgICAgICAgICAgICAgICAgICAgY2ggPSB0aGlzLmJ1ZmZlclsoaSArPSAzKV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucHVzaFRvSW5kZXgoaSwgZmFsc2UpO1xuICAgICAgICB9XG4gICAgfVxuICAgICpwdXNoTmV3bGluZSgpIHtcbiAgICAgICAgY29uc3QgY2ggPSB0aGlzLmJ1ZmZlclt0aGlzLnBvc107XG4gICAgICAgIGlmIChjaCA9PT0gJ1xcbicpXG4gICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMucHVzaENvdW50KDEpO1xuICAgICAgICBlbHNlIGlmIChjaCA9PT0gJ1xccicgJiYgdGhpcy5jaGFyQXQoMSkgPT09ICdcXG4nKVxuICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLnB1c2hDb3VudCgyKTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgfVxuICAgICpwdXNoU3BhY2VzKGFsbG93VGFicykge1xuICAgICAgICBsZXQgaSA9IHRoaXMucG9zIC0gMTtcbiAgICAgICAgbGV0IGNoO1xuICAgICAgICBkbyB7XG4gICAgICAgICAgICBjaCA9IHRoaXMuYnVmZmVyWysraV07XG4gICAgICAgIH0gd2hpbGUgKGNoID09PSAnICcgfHwgKGFsbG93VGFicyAmJiBjaCA9PT0gJ1xcdCcpKTtcbiAgICAgICAgY29uc3QgbiA9IGkgLSB0aGlzLnBvcztcbiAgICAgICAgaWYgKG4gPiAwKSB7XG4gICAgICAgICAgICB5aWVsZCB0aGlzLmJ1ZmZlci5zdWJzdHIodGhpcy5wb3MsIG4pO1xuICAgICAgICAgICAgdGhpcy5wb3MgPSBpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuO1xuICAgIH1cbiAgICAqcHVzaFVudGlsKHRlc3QpIHtcbiAgICAgICAgbGV0IGkgPSB0aGlzLnBvcztcbiAgICAgICAgbGV0IGNoID0gdGhpcy5idWZmZXJbaV07XG4gICAgICAgIHdoaWxlICghdGVzdChjaCkpXG4gICAgICAgICAgICBjaCA9IHRoaXMuYnVmZmVyWysraV07XG4gICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5wdXNoVG9JbmRleChpLCBmYWxzZSk7XG4gICAgfVxufVxuXG5leHBvcnRzLkxleGVyID0gTGV4ZXI7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIFRyYWNrcyBuZXdsaW5lcyBkdXJpbmcgcGFyc2luZyBpbiBvcmRlciB0byBwcm92aWRlIGFuIGVmZmljaWVudCBBUEkgZm9yXG4gKiBkZXRlcm1pbmluZyB0aGUgb25lLWluZGV4ZWQgYHsgbGluZSwgY29sIH1gIHBvc2l0aW9uIGZvciBhbnkgb2Zmc2V0XG4gKiB3aXRoaW4gdGhlIGlucHV0LlxuICovXG5jbGFzcyBMaW5lQ291bnRlciB7XG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHRoaXMubGluZVN0YXJ0cyA9IFtdO1xuICAgICAgICAvKipcbiAgICAgICAgICogU2hvdWxkIGJlIGNhbGxlZCBpbiBhc2NlbmRpbmcgb3JkZXIuIE90aGVyd2lzZSwgY2FsbFxuICAgICAgICAgKiBgbGluZUNvdW50ZXIubGluZVN0YXJ0cy5zb3J0KClgIGJlZm9yZSBjYWxsaW5nIGBsaW5lUG9zKClgLlxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5hZGROZXdMaW5lID0gKG9mZnNldCkgPT4gdGhpcy5saW5lU3RhcnRzLnB1c2gob2Zmc2V0KTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFBlcmZvcm1zIGEgYmluYXJ5IHNlYXJjaCBhbmQgcmV0dXJucyB0aGUgMS1pbmRleGVkIHsgbGluZSwgY29sIH1cbiAgICAgICAgICogcG9zaXRpb24gb2YgYG9mZnNldGAuIElmIGBsaW5lID09PSAwYCwgYGFkZE5ld0xpbmVgIGhhcyBuZXZlciBiZWVuXG4gICAgICAgICAqIGNhbGxlZCBvciBgb2Zmc2V0YCBpcyBiZWZvcmUgdGhlIGZpcnN0IGtub3duIG5ld2xpbmUuXG4gICAgICAgICAqL1xuICAgICAgICB0aGlzLmxpbmVQb3MgPSAob2Zmc2V0KSA9PiB7XG4gICAgICAgICAgICBsZXQgbG93ID0gMDtcbiAgICAgICAgICAgIGxldCBoaWdoID0gdGhpcy5saW5lU3RhcnRzLmxlbmd0aDtcbiAgICAgICAgICAgIHdoaWxlIChsb3cgPCBoaWdoKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbWlkID0gKGxvdyArIGhpZ2gpID4+IDE7IC8vIE1hdGguZmxvb3IoKGxvdyArIGhpZ2gpIC8gMilcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5saW5lU3RhcnRzW21pZF0gPCBvZmZzZXQpXG4gICAgICAgICAgICAgICAgICAgIGxvdyA9IG1pZCArIDE7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBoaWdoID0gbWlkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMubGluZVN0YXJ0c1tsb3ddID09PSBvZmZzZXQpXG4gICAgICAgICAgICAgICAgcmV0dXJuIHsgbGluZTogbG93ICsgMSwgY29sOiAxIH07XG4gICAgICAgICAgICBpZiAobG93ID09PSAwKVxuICAgICAgICAgICAgICAgIHJldHVybiB7IGxpbmU6IDAsIGNvbDogb2Zmc2V0IH07XG4gICAgICAgICAgICBjb25zdCBzdGFydCA9IHRoaXMubGluZVN0YXJ0c1tsb3cgLSAxXTtcbiAgICAgICAgICAgIHJldHVybiB7IGxpbmU6IGxvdywgY29sOiBvZmZzZXQgLSBzdGFydCArIDEgfTtcbiAgICAgICAgfTtcbiAgICB9XG59XG5cbmV4cG9ydHMuTGluZUNvdW50ZXIgPSBMaW5lQ291bnRlcjtcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBjc3QgPSByZXF1aXJlKCcuL2NzdC5qcycpO1xudmFyIGxleGVyID0gcmVxdWlyZSgnLi9sZXhlci5qcycpO1xuXG5mdW5jdGlvbiBpbmNsdWRlc1Rva2VuKGxpc3QsIHR5cGUpIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpc3QubGVuZ3RoOyArK2kpXG4gICAgICAgIGlmIChsaXN0W2ldLnR5cGUgPT09IHR5cGUpXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBmaW5kTm9uRW1wdHlJbmRleChsaXN0KSB7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsaXN0Lmxlbmd0aDsgKytpKSB7XG4gICAgICAgIHN3aXRjaCAobGlzdFtpXS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICBjYXNlICdjb21tZW50JzpcbiAgICAgICAgICAgIGNhc2UgJ25ld2xpbmUnOlxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICByZXR1cm4gaTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gLTE7XG59XG5mdW5jdGlvbiBpc0Zsb3dUb2tlbih0b2tlbikge1xuICAgIHN3aXRjaCAodG9rZW4/LnR5cGUpIHtcbiAgICAgICAgY2FzZSAnYWxpYXMnOlxuICAgICAgICBjYXNlICdzY2FsYXInOlxuICAgICAgICBjYXNlICdzaW5nbGUtcXVvdGVkLXNjYWxhcic6XG4gICAgICAgIGNhc2UgJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgY2FzZSAnZmxvdy1jb2xsZWN0aW9uJzpcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGdldFByZXZQcm9wcyhwYXJlbnQpIHtcbiAgICBzd2l0Y2ggKHBhcmVudC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2RvY3VtZW50JzpcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnQuc3RhcnQ7XG4gICAgICAgIGNhc2UgJ2Jsb2NrLW1hcCc6IHtcbiAgICAgICAgICAgIGNvbnN0IGl0ID0gcGFyZW50Lml0ZW1zW3BhcmVudC5pdGVtcy5sZW5ndGggLSAxXTtcbiAgICAgICAgICAgIHJldHVybiBpdC5zZXAgPz8gaXQuc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSAnYmxvY2stc2VxJzpcbiAgICAgICAgICAgIHJldHVybiBwYXJlbnQuaXRlbXNbcGFyZW50Lml0ZW1zLmxlbmd0aCAtIDFdLnN0YXJ0O1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCBzaG91bGQgbm90IGhhcHBlbiAqL1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgIH1cbn1cbi8qKiBOb3RlOiBNYXkgbW9kaWZ5IGlucHV0IGFycmF5ICovXG5mdW5jdGlvbiBnZXRGaXJzdEtleVN0YXJ0UHJvcHMocHJldikge1xuICAgIGlmIChwcmV2Lmxlbmd0aCA9PT0gMClcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgIGxldCBpID0gcHJldi5sZW5ndGg7XG4gICAgbG9vcDogd2hpbGUgKC0taSA+PSAwKSB7XG4gICAgICAgIHN3aXRjaCAocHJldltpXS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdkb2Mtc3RhcnQnOlxuICAgICAgICAgICAgY2FzZSAnZXhwbGljaXQta2V5LWluZCc6XG4gICAgICAgICAgICBjYXNlICdtYXAtdmFsdWUtaW5kJzpcbiAgICAgICAgICAgIGNhc2UgJ3NlcS1pdGVtLWluZCc6XG4gICAgICAgICAgICBjYXNlICduZXdsaW5lJzpcbiAgICAgICAgICAgICAgICBicmVhayBsb29wO1xuICAgICAgICB9XG4gICAgfVxuICAgIHdoaWxlIChwcmV2WysraV0/LnR5cGUgPT09ICdzcGFjZScpIHtcbiAgICAgICAgLyogbG9vcCAqL1xuICAgIH1cbiAgICByZXR1cm4gcHJldi5zcGxpY2UoaSwgcHJldi5sZW5ndGgpO1xufVxuZnVuY3Rpb24gZml4Rmxvd1NlcUl0ZW1zKGZjKSB7XG4gICAgaWYgKGZjLnN0YXJ0LnR5cGUgPT09ICdmbG93LXNlcS1zdGFydCcpIHtcbiAgICAgICAgZm9yIChjb25zdCBpdCBvZiBmYy5pdGVtcykge1xuICAgICAgICAgICAgaWYgKGl0LnNlcCAmJlxuICAgICAgICAgICAgICAgICFpdC52YWx1ZSAmJlxuICAgICAgICAgICAgICAgICFpbmNsdWRlc1Rva2VuKGl0LnN0YXJ0LCAnZXhwbGljaXQta2V5LWluZCcpICYmXG4gICAgICAgICAgICAgICAgIWluY2x1ZGVzVG9rZW4oaXQuc2VwLCAnbWFwLXZhbHVlLWluZCcpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGl0LmtleSlcbiAgICAgICAgICAgICAgICAgICAgaXQudmFsdWUgPSBpdC5rZXk7XG4gICAgICAgICAgICAgICAgZGVsZXRlIGl0LmtleTtcbiAgICAgICAgICAgICAgICBpZiAoaXNGbG93VG9rZW4oaXQudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdC52YWx1ZS5lbmQpXG4gICAgICAgICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpdC52YWx1ZS5lbmQsIGl0LnNlcCk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0LnZhbHVlLmVuZCA9IGl0LnNlcDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShpdC5zdGFydCwgaXQuc2VwKTtcbiAgICAgICAgICAgICAgICBkZWxldGUgaXQuc2VwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuLyoqXG4gKiBBIFlBTUwgY29uY3JldGUgc3ludGF4IHRyZWUgKENTVCkgcGFyc2VyXG4gKlxuICogYGBgdHNcbiAqIGNvbnN0IHNyYzogc3RyaW5nID0gLi4uXG4gKiBmb3IgKGNvbnN0IHRva2VuIG9mIG5ldyBQYXJzZXIoKS5wYXJzZShzcmMpKSB7XG4gKiAgIC8vIHRva2VuOiBUb2tlblxuICogfVxuICogYGBgXG4gKlxuICogVG8gdXNlIHRoZSBwYXJzZXIgd2l0aCBhIHVzZXItcHJvdmlkZWQgbGV4ZXI6XG4gKlxuICogYGBgdHNcbiAqIGZ1bmN0aW9uKiBwYXJzZShzb3VyY2U6IHN0cmluZywgbGV4ZXI6IExleGVyKSB7XG4gKiAgIGNvbnN0IHBhcnNlciA9IG5ldyBQYXJzZXIoKVxuICogICBmb3IgKGNvbnN0IGxleGVtZSBvZiBsZXhlci5sZXgoc291cmNlKSlcbiAqICAgICB5aWVsZCogcGFyc2VyLm5leHQobGV4ZW1lKVxuICogICB5aWVsZCogcGFyc2VyLmVuZCgpXG4gKiB9XG4gKlxuICogY29uc3Qgc3JjOiBzdHJpbmcgPSAuLi5cbiAqIGNvbnN0IGxleGVyID0gbmV3IExleGVyKClcbiAqIGZvciAoY29uc3QgdG9rZW4gb2YgcGFyc2Uoc3JjLCBsZXhlcikpIHtcbiAqICAgLy8gdG9rZW46IFRva2VuXG4gKiB9XG4gKiBgYGBcbiAqL1xuY2xhc3MgUGFyc2VyIHtcbiAgICAvKipcbiAgICAgKiBAcGFyYW0gb25OZXdMaW5lIC0gSWYgZGVmaW5lZCwgY2FsbGVkIHNlcGFyYXRlbHkgd2l0aCB0aGUgc3RhcnQgcG9zaXRpb24gb2ZcbiAgICAgKiAgIGVhY2ggbmV3IGxpbmUgKGluIGBwYXJzZSgpYCwgaW5jbHVkaW5nIHRoZSBzdGFydCBvZiBpbnB1dCkuXG4gICAgICovXG4gICAgY29uc3RydWN0b3Iob25OZXdMaW5lKSB7XG4gICAgICAgIC8qKiBJZiB0cnVlLCBzcGFjZSBhbmQgc2VxdWVuY2UgaW5kaWNhdG9ycyBjb3VudCBhcyBpbmRlbnRhdGlvbiAqL1xuICAgICAgICB0aGlzLmF0TmV3TGluZSA9IHRydWU7XG4gICAgICAgIC8qKiBJZiB0cnVlLCBuZXh0IHRva2VuIGlzIGEgc2NhbGFyIHZhbHVlICovXG4gICAgICAgIHRoaXMuYXRTY2FsYXIgPSBmYWxzZTtcbiAgICAgICAgLyoqIEN1cnJlbnQgaW5kZW50YXRpb24gbGV2ZWwgKi9cbiAgICAgICAgdGhpcy5pbmRlbnQgPSAwO1xuICAgICAgICAvKiogQ3VycmVudCBvZmZzZXQgc2luY2UgdGhlIHN0YXJ0IG9mIHBhcnNpbmcgKi9cbiAgICAgICAgdGhpcy5vZmZzZXQgPSAwO1xuICAgICAgICAvKiogT24gdGhlIHNhbWUgbGluZSB3aXRoIGEgYmxvY2sgbWFwIGtleSAqL1xuICAgICAgICB0aGlzLm9uS2V5TGluZSA9IGZhbHNlO1xuICAgICAgICAvKiogVG9wIGluZGljYXRlcyB0aGUgbm9kZSB0aGF0J3MgY3VycmVudGx5IGJlaW5nIGJ1aWx0ICovXG4gICAgICAgIHRoaXMuc3RhY2sgPSBbXTtcbiAgICAgICAgLyoqIFRoZSBzb3VyY2Ugb2YgdGhlIGN1cnJlbnQgdG9rZW4sIHNldCBpbiBwYXJzZSgpICovXG4gICAgICAgIHRoaXMuc291cmNlID0gJyc7XG4gICAgICAgIC8qKiBUaGUgdHlwZSBvZiB0aGUgY3VycmVudCB0b2tlbiwgc2V0IGluIHBhcnNlKCkgKi9cbiAgICAgICAgdGhpcy50eXBlID0gJyc7XG4gICAgICAgIC8vIE11c3QgYmUgZGVmaW5lZCBhZnRlciBgbmV4dCgpYFxuICAgICAgICB0aGlzLmxleGVyID0gbmV3IGxleGVyLkxleGVyKCk7XG4gICAgICAgIHRoaXMub25OZXdMaW5lID0gb25OZXdMaW5lO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBQYXJzZSBgc291cmNlYCBhcyBhIFlBTUwgc3RyZWFtLlxuICAgICAqIElmIGBpbmNvbXBsZXRlYCwgYSBwYXJ0IG9mIHRoZSBsYXN0IGxpbmUgbWF5IGJlIGxlZnQgYXMgYSBidWZmZXIgZm9yIHRoZSBuZXh0IGNhbGwuXG4gICAgICpcbiAgICAgKiBFcnJvcnMgYXJlIG5vdCB0aHJvd24sIGJ1dCB5aWVsZGVkIGFzIGB7IHR5cGU6ICdlcnJvcicsIG1lc3NhZ2UgfWAgdG9rZW5zLlxuICAgICAqXG4gICAgICogQHJldHVybnMgQSBnZW5lcmF0b3Igb2YgdG9rZW5zIHJlcHJlc2VudGluZyBlYWNoIGRpcmVjdGl2ZSwgZG9jdW1lbnQsIGFuZCBvdGhlciBzdHJ1Y3R1cmUuXG4gICAgICovXG4gICAgKnBhcnNlKHNvdXJjZSwgaW5jb21wbGV0ZSA9IGZhbHNlKSB7XG4gICAgICAgIGlmICh0aGlzLm9uTmV3TGluZSAmJiB0aGlzLm9mZnNldCA9PT0gMClcbiAgICAgICAgICAgIHRoaXMub25OZXdMaW5lKDApO1xuICAgICAgICBmb3IgKGNvbnN0IGxleGVtZSBvZiB0aGlzLmxleGVyLmxleChzb3VyY2UsIGluY29tcGxldGUpKVxuICAgICAgICAgICAgeWllbGQqIHRoaXMubmV4dChsZXhlbWUpO1xuICAgICAgICBpZiAoIWluY29tcGxldGUpXG4gICAgICAgICAgICB5aWVsZCogdGhpcy5lbmQoKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogQWR2YW5jZSB0aGUgcGFyc2VyIGJ5IHRoZSBgc291cmNlYCBvZiBvbmUgbGV4aWNhbCB0b2tlbi5cbiAgICAgKi9cbiAgICAqbmV4dChzb3VyY2UpIHtcbiAgICAgICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG4gICAgICAgIGlmIChwcm9jZXNzLmVudi5MT0dfVE9LRU5TKVxuICAgICAgICAgICAgY29uc29sZS5sb2coJ3wnLCBjc3QucHJldHR5VG9rZW4oc291cmNlKSk7XG4gICAgICAgIGlmICh0aGlzLmF0U2NhbGFyKSB7XG4gICAgICAgICAgICB0aGlzLmF0U2NhbGFyID0gZmFsc2U7XG4gICAgICAgICAgICB5aWVsZCogdGhpcy5zdGVwKCk7XG4gICAgICAgICAgICB0aGlzLm9mZnNldCArPSBzb3VyY2UubGVuZ3RoO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHR5cGUgPSBjc3QudG9rZW5UeXBlKHNvdXJjZSk7XG4gICAgICAgIGlmICghdHlwZSkge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9IGBOb3QgYSBZQU1MIHRva2VuOiAke3NvdXJjZX1gO1xuICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKHsgdHlwZTogJ2Vycm9yJywgb2Zmc2V0OiB0aGlzLm9mZnNldCwgbWVzc2FnZSwgc291cmNlIH0pO1xuICAgICAgICAgICAgdGhpcy5vZmZzZXQgKz0gc291cmNlLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0eXBlID09PSAnc2NhbGFyJykge1xuICAgICAgICAgICAgdGhpcy5hdE5ld0xpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuYXRTY2FsYXIgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy50eXBlID0gJ3NjYWxhcic7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnR5cGUgPSB0eXBlO1xuICAgICAgICAgICAgeWllbGQqIHRoaXMuc3RlcCgpO1xuICAgICAgICAgICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYXROZXdMaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmRlbnQgPSAwO1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5vbk5ld0xpbmUpXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uTmV3TGluZSh0aGlzLm9mZnNldCArIHNvdXJjZS5sZW5ndGgpO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmF0TmV3TGluZSAmJiBzb3VyY2VbMF0gPT09ICcgJylcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5kZW50ICs9IHNvdXJjZS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2V4cGxpY2l0LWtleS1pbmQnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ21hcC12YWx1ZS1pbmQnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ3NlcS1pdGVtLWluZCc6XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmF0TmV3TGluZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5kZW50ICs9IHNvdXJjZS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RvYy1tb2RlJzpcbiAgICAgICAgICAgICAgICBjYXNlICdmbG93LWVycm9yLWVuZCc6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmF0TmV3TGluZSA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5vZmZzZXQgKz0gc291cmNlLmxlbmd0aDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKiogQ2FsbCBhdCBlbmQgb2YgaW5wdXQgdG8gcHVzaCBvdXQgYW55IHJlbWFpbmluZyBjb25zdHJ1Y3Rpb25zICovXG4gICAgKmVuZCgpIHtcbiAgICAgICAgd2hpbGUgKHRoaXMuc3RhY2subGVuZ3RoID4gMClcbiAgICAgICAgICAgIHlpZWxkKiB0aGlzLnBvcCgpO1xuICAgIH1cbiAgICBnZXQgc291cmNlVG9rZW4oKSB7XG4gICAgICAgIGNvbnN0IHN0ID0ge1xuICAgICAgICAgICAgdHlwZTogdGhpcy50eXBlLFxuICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICBzb3VyY2U6IHRoaXMuc291cmNlXG4gICAgICAgIH07XG4gICAgICAgIHJldHVybiBzdDtcbiAgICB9XG4gICAgKnN0ZXAoKSB7XG4gICAgICAgIGNvbnN0IHRvcCA9IHRoaXMucGVlaygxKTtcbiAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RvYy1lbmQnICYmICghdG9wIHx8IHRvcC50eXBlICE9PSAnZG9jLWVuZCcpKSB7XG4gICAgICAgICAgICB3aGlsZSAodGhpcy5zdGFjay5sZW5ndGggPiAwKVxuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnBvcCgpO1xuICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnZG9jLWVuZCcsXG4gICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICAgICAgICAgICAgICBzb3VyY2U6IHRoaXMuc291cmNlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXRvcClcbiAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5zdHJlYW0oKTtcbiAgICAgICAgc3dpdGNoICh0b3AudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnZG9jdW1lbnQnOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5kb2N1bWVudCh0b3ApO1xuICAgICAgICAgICAgY2FzZSAnYWxpYXMnOlxuICAgICAgICAgICAgY2FzZSAnc2NhbGFyJzpcbiAgICAgICAgICAgIGNhc2UgJ3NpbmdsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgICAgIGNhc2UgJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMuc2NhbGFyKHRvcCk7XG4gICAgICAgICAgICBjYXNlICdibG9jay1zY2FsYXInOlxuICAgICAgICAgICAgICAgIHJldHVybiB5aWVsZCogdGhpcy5ibG9ja1NjYWxhcih0b3ApO1xuICAgICAgICAgICAgY2FzZSAnYmxvY2stbWFwJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMuYmxvY2tNYXAodG9wKTtcbiAgICAgICAgICAgIGNhc2UgJ2Jsb2NrLXNlcSc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLmJsb2NrU2VxdWVuY2UodG9wKTtcbiAgICAgICAgICAgIGNhc2UgJ2Zsb3ctY29sbGVjdGlvbic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLmZsb3dDb2xsZWN0aW9uKHRvcCk7XG4gICAgICAgICAgICBjYXNlICdkb2MtZW5kJzpcbiAgICAgICAgICAgICAgICByZXR1cm4geWllbGQqIHRoaXMuZG9jdW1lbnRFbmQodG9wKTtcbiAgICAgICAgfVxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCBzaG91bGQgbm90IGhhcHBlbiAqL1xuICAgICAgICB5aWVsZCogdGhpcy5wb3AoKTtcbiAgICB9XG4gICAgcGVlayhuKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnN0YWNrW3RoaXMuc3RhY2subGVuZ3RoIC0gbl07XG4gICAgfVxuICAgICpwb3AoZXJyb3IpIHtcbiAgICAgICAgY29uc3QgdG9rZW4gPSBlcnJvciA/PyB0aGlzLnN0YWNrLnBvcCgpO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgc2hvdWxkIG5vdCBoYXBwZW4gKi9cbiAgICAgICAgaWYgKCF0b2tlbikge1xuICAgICAgICAgICAgY29uc3QgbWVzc2FnZSA9ICdUcmllZCB0byBwb3AgYW4gZW1wdHkgc3RhY2snO1xuICAgICAgICAgICAgeWllbGQgeyB0eXBlOiAnZXJyb3InLCBvZmZzZXQ6IHRoaXMub2Zmc2V0LCBzb3VyY2U6ICcnLCBtZXNzYWdlIH07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodGhpcy5zdGFjay5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHlpZWxkIHRva2VuO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgdG9wID0gdGhpcy5wZWVrKDEpO1xuICAgICAgICAgICAgaWYgKHRva2VuLnR5cGUgPT09ICdibG9jay1zY2FsYXInKSB7XG4gICAgICAgICAgICAgICAgLy8gQmxvY2sgc2NhbGFycyB1c2UgdGhlaXIgcGFyZW50IHJhdGhlciB0aGFuIGhlYWRlciBpbmRlbnRcbiAgICAgICAgICAgICAgICB0b2tlbi5pbmRlbnQgPSAnaW5kZW50JyBpbiB0b3AgPyB0b3AuaW5kZW50IDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHRva2VuLnR5cGUgPT09ICdmbG93LWNvbGxlY3Rpb24nICYmIHRvcC50eXBlID09PSAnZG9jdW1lbnQnKSB7XG4gICAgICAgICAgICAgICAgLy8gSWdub3JlIGFsbCBpbmRlbnQgZm9yIHRvcC1sZXZlbCBmbG93IGNvbGxlY3Rpb25zXG4gICAgICAgICAgICAgICAgdG9rZW4uaW5kZW50ID0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0b2tlbi50eXBlID09PSAnZmxvdy1jb2xsZWN0aW9uJylcbiAgICAgICAgICAgICAgICBmaXhGbG93U2VxSXRlbXModG9rZW4pO1xuICAgICAgICAgICAgc3dpdGNoICh0b3AudHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2RvY3VtZW50JzpcbiAgICAgICAgICAgICAgICAgICAgdG9wLnZhbHVlID0gdG9rZW47XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2Jsb2NrLXNjYWxhcic6XG4gICAgICAgICAgICAgICAgICAgIHRvcC5wcm9wcy5wdXNoKHRva2VuKTsgLy8gZXJyb3JcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnYmxvY2stbWFwJzoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdCA9IHRvcC5pdGVtc1t0b3AuaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdC52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wLml0ZW1zLnB1c2goeyBzdGFydDogW10sIGtleTogdG9rZW4sIHNlcDogW10gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaXQuc2VwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdC52YWx1ZSA9IHRva2VuO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihpdCwgeyBrZXk6IHRva2VuLCBzZXA6IFtdIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbktleUxpbmUgPSAhaXQuZXhwbGljaXRLZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhc2UgJ2Jsb2NrLXNlcSc6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgaXQgPSB0b3AuaXRlbXNbdG9wLml0ZW1zLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaXQudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3AuaXRlbXMucHVzaCh7IHN0YXJ0OiBbXSwgdmFsdWU6IHRva2VuIH0pO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBpdC52YWx1ZSA9IHRva2VuO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgY2FzZSAnZmxvdy1jb2xsZWN0aW9uJzoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBpdCA9IHRvcC5pdGVtc1t0b3AuaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXQgfHwgaXQudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3AuaXRlbXMucHVzaCh7IHN0YXJ0OiBbXSwga2V5OiB0b2tlbiwgc2VwOiBbXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaXQuc2VwKVxuICAgICAgICAgICAgICAgICAgICAgICAgaXQudmFsdWUgPSB0b2tlbjtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihpdCwgeyBrZXk6IHRva2VuLCBzZXA6IFtdIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0IHNob3VsZCBub3QgaGFwcGVuICovXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnBvcCh0b2tlbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoKHRvcC50eXBlID09PSAnZG9jdW1lbnQnIHx8XG4gICAgICAgICAgICAgICAgdG9wLnR5cGUgPT09ICdibG9jay1tYXAnIHx8XG4gICAgICAgICAgICAgICAgdG9wLnR5cGUgPT09ICdibG9jay1zZXEnKSAmJlxuICAgICAgICAgICAgICAgICh0b2tlbi50eXBlID09PSAnYmxvY2stbWFwJyB8fCB0b2tlbi50eXBlID09PSAnYmxvY2stc2VxJykpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBsYXN0ID0gdG9rZW4uaXRlbXNbdG9rZW4uaXRlbXMubGVuZ3RoIC0gMV07XG4gICAgICAgICAgICAgICAgaWYgKGxhc3QgJiZcbiAgICAgICAgICAgICAgICAgICAgIWxhc3Quc2VwICYmXG4gICAgICAgICAgICAgICAgICAgICFsYXN0LnZhbHVlICYmXG4gICAgICAgICAgICAgICAgICAgIGxhc3Quc3RhcnQubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgICAgICAgICBmaW5kTm9uRW1wdHlJbmRleChsYXN0LnN0YXJ0KSA9PT0gLTEgJiZcbiAgICAgICAgICAgICAgICAgICAgKHRva2VuLmluZGVudCA9PT0gMCB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgbGFzdC5zdGFydC5ldmVyeShzdCA9PiBzdC50eXBlICE9PSAnY29tbWVudCcgfHwgc3QuaW5kZW50IDwgdG9rZW4uaW5kZW50KSkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHRvcC50eXBlID09PSAnZG9jdW1lbnQnKVxuICAgICAgICAgICAgICAgICAgICAgICAgdG9wLmVuZCA9IGxhc3Quc3RhcnQ7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvcC5pdGVtcy5wdXNoKHsgc3RhcnQ6IGxhc3Quc3RhcnQgfSk7XG4gICAgICAgICAgICAgICAgICAgIHRva2VuLml0ZW1zLnNwbGljZSgtMSwgMSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICpzdHJlYW0oKSB7XG4gICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICBjYXNlICdkaXJlY3RpdmUtbGluZSc6XG4gICAgICAgICAgICAgICAgeWllbGQgeyB0eXBlOiAnZGlyZWN0aXZlJywgb2Zmc2V0OiB0aGlzLm9mZnNldCwgc291cmNlOiB0aGlzLnNvdXJjZSB9O1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIGNhc2UgJ2J5dGUtb3JkZXItbWFyayc6XG4gICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICBjYXNlICdjb21tZW50JzpcbiAgICAgICAgICAgIGNhc2UgJ25ld2xpbmUnOlxuICAgICAgICAgICAgICAgIHlpZWxkIHRoaXMuc291cmNlVG9rZW47XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgY2FzZSAnZG9jLW1vZGUnOlxuICAgICAgICAgICAgY2FzZSAnZG9jLXN0YXJ0Jzoge1xuICAgICAgICAgICAgICAgIGNvbnN0IGRvYyA9IHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2RvY3VtZW50JyxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IFtdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSAnZG9jLXN0YXJ0JylcbiAgICAgICAgICAgICAgICAgICAgZG9jLnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKGRvYyk7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHlpZWxkIHtcbiAgICAgICAgICAgIHR5cGU6ICdlcnJvcicsXG4gICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgbWVzc2FnZTogYFVuZXhwZWN0ZWQgJHt0aGlzLnR5cGV9IHRva2VuIGluIFlBTUwgc3RyZWFtYCxcbiAgICAgICAgICAgIHNvdXJjZTogdGhpcy5zb3VyY2VcbiAgICAgICAgfTtcbiAgICB9XG4gICAgKmRvY3VtZW50KGRvYykge1xuICAgICAgICBpZiAoZG9jLnZhbHVlKVxuICAgICAgICAgICAgcmV0dXJuIHlpZWxkKiB0aGlzLmxpbmVFbmQoZG9jKTtcbiAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2RvYy1zdGFydCc6IHtcbiAgICAgICAgICAgICAgICBpZiAoZmluZE5vbkVtcHR5SW5kZXgoZG9jLnN0YXJ0KSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnN0ZXAoKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICBkb2Muc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlICdhbmNob3InOlxuICAgICAgICAgICAgY2FzZSAndGFnJzpcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOlxuICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgZG9jLnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGJ2ID0gdGhpcy5zdGFydEJsb2NrVmFsdWUoZG9jKTtcbiAgICAgICAgaWYgKGJ2KVxuICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKGJ2KTtcbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB5aWVsZCB7XG4gICAgICAgICAgICAgICAgdHlwZTogJ2Vycm9yJyxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgICAgIG1lc3NhZ2U6IGBVbmV4cGVjdGVkICR7dGhpcy50eXBlfSB0b2tlbiBpbiBZQU1MIGRvY3VtZW50YCxcbiAgICAgICAgICAgICAgICBzb3VyY2U6IHRoaXMuc291cmNlXG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgfVxuICAgICpzY2FsYXIoc2NhbGFyKSB7XG4gICAgICAgIGlmICh0aGlzLnR5cGUgPT09ICdtYXAtdmFsdWUtaW5kJykge1xuICAgICAgICAgICAgY29uc3QgcHJldiA9IGdldFByZXZQcm9wcyh0aGlzLnBlZWsoMikpO1xuICAgICAgICAgICAgY29uc3Qgc3RhcnQgPSBnZXRGaXJzdEtleVN0YXJ0UHJvcHMocHJldik7XG4gICAgICAgICAgICBsZXQgc2VwO1xuICAgICAgICAgICAgaWYgKHNjYWxhci5lbmQpIHtcbiAgICAgICAgICAgICAgICBzZXAgPSBzY2FsYXIuZW5kO1xuICAgICAgICAgICAgICAgIHNlcC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBzY2FsYXIuZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHNlcCA9IFt0aGlzLnNvdXJjZVRva2VuXTtcbiAgICAgICAgICAgIGNvbnN0IG1hcCA9IHtcbiAgICAgICAgICAgICAgICB0eXBlOiAnYmxvY2stbWFwJyxcbiAgICAgICAgICAgICAgICBvZmZzZXQ6IHNjYWxhci5vZmZzZXQsXG4gICAgICAgICAgICAgICAgaW5kZW50OiBzY2FsYXIuaW5kZW50LFxuICAgICAgICAgICAgICAgIGl0ZW1zOiBbeyBzdGFydCwga2V5OiBzY2FsYXIsIHNlcCB9XVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIHRoaXMub25LZXlMaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGggLSAxXSA9IG1hcDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICB5aWVsZCogdGhpcy5saW5lRW5kKHNjYWxhcik7XG4gICAgfVxuICAgICpibG9ja1NjYWxhcihzY2FsYXIpIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ3NwYWNlJzpcbiAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOlxuICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgc2NhbGFyLnByb3BzLnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgY2FzZSAnc2NhbGFyJzpcbiAgICAgICAgICAgICAgICBzY2FsYXIuc291cmNlID0gdGhpcy5zb3VyY2U7XG4gICAgICAgICAgICAgICAgLy8gYmxvY2stc2NhbGFyIHNvdXJjZSBpbmNsdWRlcyB0cmFpbGluZyBuZXdsaW5lXG4gICAgICAgICAgICAgICAgdGhpcy5hdE5ld0xpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRoaXMuaW5kZW50ID0gMDtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vbk5ld0xpbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgbGV0IG5sID0gdGhpcy5zb3VyY2UuaW5kZXhPZignXFxuJykgKyAxO1xuICAgICAgICAgICAgICAgICAgICB3aGlsZSAobmwgIT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25OZXdMaW5lKHRoaXMub2Zmc2V0ICsgbmwpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbmwgPSB0aGlzLnNvdXJjZS5pbmRleE9mKCdcXG4nLCBubCkgKyAxO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnBvcCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgc2hvdWxkIG5vdCBoYXBwZW4gKi9cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMuc3RlcCgpO1xuICAgICAgICB9XG4gICAgfVxuICAgICpibG9ja01hcChtYXApIHtcbiAgICAgICAgY29uc3QgaXQgPSBtYXAuaXRlbXNbbWFwLml0ZW1zLmxlbmd0aCAtIDFdO1xuICAgICAgICAvLyBpdC5zZXAgaXMgdHJ1ZS1pc2ggaWYgcGFpciBhbHJlYWR5IGhhcyBrZXkgb3IgOiBzZXBhcmF0b3JcbiAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ25ld2xpbmUnOlxuICAgICAgICAgICAgICAgIHRoaXMub25LZXlMaW5lID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaWYgKGl0LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9ICdlbmQnIGluIGl0LnZhbHVlID8gaXQudmFsdWUuZW5kIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0ID0gQXJyYXkuaXNBcnJheShlbmQpID8gZW5kW2VuZC5sZW5ndGggLSAxXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxhc3Q/LnR5cGUgPT09ICdjb21tZW50JylcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZD8ucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLml0ZW1zLnB1c2goeyBzdGFydDogW3RoaXMuc291cmNlVG9rZW5dIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChpdC5zZXApIHtcbiAgICAgICAgICAgICAgICAgICAgaXQuc2VwLnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpdC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICBjYXNlICdjb21tZW50JzpcbiAgICAgICAgICAgICAgICBpZiAoaXQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFwLml0ZW1zLnB1c2goeyBzdGFydDogW3RoaXMuc291cmNlVG9rZW5dIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIGlmIChpdC5zZXApIHtcbiAgICAgICAgICAgICAgICAgICAgaXQuc2VwLnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5hdEluZGVudGVkQ29tbWVudChpdC5zdGFydCwgbWFwLmluZGVudCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHByZXYgPSBtYXAuaXRlbXNbbWFwLml0ZW1zLmxlbmd0aCAtIDJdO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZW5kID0gcHJldj8udmFsdWU/LmVuZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KGVuZCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseShlbmQsIGl0LnN0YXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuaXRlbXMucG9wKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGl0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pbmRlbnQgPj0gbWFwLmluZGVudCkge1xuICAgICAgICAgICAgY29uc3QgYXRNYXBJbmRlbnQgPSAhdGhpcy5vbktleUxpbmUgJiYgdGhpcy5pbmRlbnQgPT09IG1hcC5pbmRlbnQ7XG4gICAgICAgICAgICBjb25zdCBhdE5leHRJdGVtID0gYXRNYXBJbmRlbnQgJiZcbiAgICAgICAgICAgICAgICAoaXQuc2VwIHx8IGl0LmV4cGxpY2l0S2V5KSAmJlxuICAgICAgICAgICAgICAgIHRoaXMudHlwZSAhPT0gJ3NlcS1pdGVtLWluZCc7XG4gICAgICAgICAgICAvLyBGb3IgZW1wdHkgbm9kZXMsIGFzc2lnbiBuZXdsaW5lLXNlcGFyYXRlZCBub3QgaW5kZW50ZWQgZW1wdHkgdG9rZW5zIHRvIGZvbGxvd2luZyBub2RlXG4gICAgICAgICAgICBsZXQgc3RhcnQgPSBbXTtcbiAgICAgICAgICAgIGlmIChhdE5leHRJdGVtICYmIGl0LnNlcCAmJiAhaXQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBubCA9IFtdO1xuICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaXQuc2VwLmxlbmd0aDsgKytpKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0ID0gaXQuc2VwW2ldO1xuICAgICAgICAgICAgICAgICAgICBzd2l0Y2ggKHN0LnR5cGUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ25ld2xpbmUnOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5sLnB1c2goaSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdjb21tZW50JzpcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3QuaW5kZW50ID4gbWFwLmluZGVudClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmwubGVuZ3RoID0gMDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbmwubGVuZ3RoID0gMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAobmwubGVuZ3RoID49IDIpXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gaXQuc2VwLnNwbGljZShubFsxXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ2FuY2hvcic6XG4gICAgICAgICAgICAgICAgY2FzZSAndGFnJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKGF0TmV4dEl0ZW0gfHwgaXQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAuaXRlbXMucHVzaCh7IHN0YXJ0IH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5vbktleUxpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0LnNlcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaXQuc2VwLnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICBjYXNlICdleHBsaWNpdC1rZXktaW5kJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpdC5zZXAgJiYgIWl0LmV4cGxpY2l0S2V5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpdC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgaXQuZXhwbGljaXRLZXkgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGF0TmV4dEl0ZW0gfHwgaXQudmFsdWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAuaXRlbXMucHVzaCh7IHN0YXJ0LCBleHBsaWNpdEtleTogdHJ1ZSB9KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Jsb2NrLW1hcCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQ6IHRoaXMuaW5kZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBbeyBzdGFydDogW3RoaXMuc291cmNlVG9rZW5dLCBleHBsaWNpdEtleTogdHJ1ZSB9XVxuICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbktleUxpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY2FzZSAnbWFwLXZhbHVlLWluZCc6XG4gICAgICAgICAgICAgICAgICAgIGlmIChpdC5leHBsaWNpdEtleSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFpdC5zZXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5jbHVkZXNUb2tlbihpdC5zdGFydCwgJ25ld2xpbmUnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGl0LCB7IGtleTogbnVsbCwgc2VwOiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGFydCA9IGdldEZpcnN0S2V5U3RhcnRQcm9wcyhpdC5zdGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYmxvY2stbWFwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQ6IHRoaXMuaW5kZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IFt7IHN0YXJ0LCBrZXk6IG51bGwsIHNlcDogW3RoaXMuc291cmNlVG9rZW5dIH1dXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwLml0ZW1zLnB1c2goeyBzdGFydDogW10sIGtleTogbnVsbCwgc2VwOiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChpbmNsdWRlc1Rva2VuKGl0LnNlcCwgJ21hcC12YWx1ZS1pbmQnKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdibG9jay1tYXAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQ6IHRoaXMuaW5kZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogW3sgc3RhcnQsIGtleTogbnVsbCwgc2VwOiBbdGhpcy5zb3VyY2VUb2tlbl0gfV1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGlzRmxvd1Rva2VuKGl0LmtleSkgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAhaW5jbHVkZXNUb2tlbihpdC5zZXAsICduZXdsaW5lJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdGFydCA9IGdldEZpcnN0S2V5U3RhcnRQcm9wcyhpdC5zdGFydCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3Qga2V5ID0gaXQua2V5O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNlcCA9IGl0LnNlcDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHR5cGUgZ3VhcmQgaXMgd3JvbmcgaGVyZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBpdC5rZXk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciB0eXBlIGd1YXJkIGlzIHdyb25nIGhlcmVcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgaXQuc2VwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6ICdibG9jay1tYXAnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRlbnQ6IHRoaXMuaW5kZW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtczogW3sgc3RhcnQsIGtleSwgc2VwIH1dXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChzdGFydC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTm90IGFjdHVhbGx5IGF0IG5leHQgaXRlbVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0LnNlcCA9IGl0LnNlcC5jb25jYXQoc3RhcnQsIHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXQuc2VwLnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWl0LnNlcCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXQsIHsga2V5OiBudWxsLCBzZXA6IFt0aGlzLnNvdXJjZVRva2VuXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0LnZhbHVlIHx8IGF0TmV4dEl0ZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuaXRlbXMucHVzaCh7IHN0YXJ0LCBrZXk6IG51bGwsIHNlcDogW3RoaXMuc291cmNlVG9rZW5dIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoaW5jbHVkZXNUb2tlbihpdC5zZXAsICdtYXAtdmFsdWUtaW5kJykpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0YWNrLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYmxvY2stbWFwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50OiB0aGlzLmluZGVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbXM6IFt7IHN0YXJ0OiBbXSwga2V5OiBudWxsLCBzZXA6IFt0aGlzLnNvdXJjZVRva2VuXSB9XVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXQuc2VwLnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vbktleUxpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY2FzZSAnYWxpYXMnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ3NjYWxhcic6XG4gICAgICAgICAgICAgICAgY2FzZSAnc2luZ2xlLXF1b3RlZC1zY2FsYXInOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2RvdWJsZS1xdW90ZWQtc2NhbGFyJzoge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmcyA9IHRoaXMuZmxvd1NjYWxhcih0aGlzLnR5cGUpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoYXROZXh0SXRlbSB8fCBpdC52YWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLml0ZW1zLnB1c2goeyBzdGFydCwga2V5OiBmcywgc2VwOiBbXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMub25LZXlMaW5lID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChpdC5zZXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaChmcyk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBPYmplY3QuYXNzaWduKGl0LCB7IGtleTogZnMsIHNlcDogW10gfSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJ2ID0gdGhpcy5zdGFydEJsb2NrVmFsdWUobWFwKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGJ2KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXRNYXBJbmRlbnQgJiYgYnYudHlwZSAhPT0gJ2Jsb2NrLXNlcScpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXAuaXRlbXMucHVzaCh7IHN0YXJ0IH0pO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKGJ2KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB5aWVsZCogdGhpcy5wb3AoKTtcbiAgICAgICAgeWllbGQqIHRoaXMuc3RlcCgpO1xuICAgIH1cbiAgICAqYmxvY2tTZXF1ZW5jZShzZXEpIHtcbiAgICAgICAgY29uc3QgaXQgPSBzZXEuaXRlbXNbc2VxLml0ZW1zLmxlbmd0aCAtIDFdO1xuICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkge1xuICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgaWYgKGl0LnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVuZCA9ICdlbmQnIGluIGl0LnZhbHVlID8gaXQudmFsdWUuZW5kIDogdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBsYXN0ID0gQXJyYXkuaXNBcnJheShlbmQpID8gZW5kW2VuZC5sZW5ndGggLSAxXSA6IHVuZGVmaW5lZDtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxhc3Q/LnR5cGUgPT09ICdjb21tZW50JylcbiAgICAgICAgICAgICAgICAgICAgICAgIGVuZD8ucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgc2VxLml0ZW1zLnB1c2goeyBzdGFydDogW3RoaXMuc291cmNlVG9rZW5dIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGl0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgY2FzZSAnc3BhY2UnOlxuICAgICAgICAgICAgY2FzZSAnY29tbWVudCc6XG4gICAgICAgICAgICAgICAgaWYgKGl0LnZhbHVlKVxuICAgICAgICAgICAgICAgICAgICBzZXEuaXRlbXMucHVzaCh7IHN0YXJ0OiBbdGhpcy5zb3VyY2VUb2tlbl0gfSk7XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmF0SW5kZW50ZWRDb21tZW50KGl0LnN0YXJ0LCBzZXEuaW5kZW50KSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJldiA9IHNlcS5pdGVtc1tzZXEuaXRlbXMubGVuZ3RoIC0gMl07XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBlbmQgPSBwcmV2Py52YWx1ZT8uZW5kO1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZW5kKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KGVuZCwgaXQuc3RhcnQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcS5pdGVtcy5wb3AoKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaXQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgY2FzZSAnYW5jaG9yJzpcbiAgICAgICAgICAgIGNhc2UgJ3RhZyc6XG4gICAgICAgICAgICAgICAgaWYgKGl0LnZhbHVlIHx8IHRoaXMuaW5kZW50IDw9IHNlcS5pbmRlbnQpXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGl0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgY2FzZSAnc2VxLWl0ZW0taW5kJzpcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5pbmRlbnQgIT09IHNlcS5pbmRlbnQpXG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIGlmIChpdC52YWx1ZSB8fCBpbmNsdWRlc1Rva2VuKGl0LnN0YXJ0LCAnc2VxLWl0ZW0taW5kJykpXG4gICAgICAgICAgICAgICAgICAgIHNlcS5pdGVtcy5wdXNoKHsgc3RhcnQ6IFt0aGlzLnNvdXJjZVRva2VuXSB9KTtcbiAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgIGl0LnN0YXJ0LnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmluZGVudCA+IHNlcS5pbmRlbnQpIHtcbiAgICAgICAgICAgIGNvbnN0IGJ2ID0gdGhpcy5zdGFydEJsb2NrVmFsdWUoc2VxKTtcbiAgICAgICAgICAgIGlmIChidikge1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaChidik7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHlpZWxkKiB0aGlzLnBvcCgpO1xuICAgICAgICB5aWVsZCogdGhpcy5zdGVwKCk7XG4gICAgfVxuICAgICpmbG93Q29sbGVjdGlvbihmYykge1xuICAgICAgICBjb25zdCBpdCA9IGZjLml0ZW1zW2ZjLml0ZW1zLmxlbmd0aCAtIDFdO1xuICAgICAgICBpZiAodGhpcy50eXBlID09PSAnZmxvdy1lcnJvci1lbmQnKSB7XG4gICAgICAgICAgICBsZXQgdG9wO1xuICAgICAgICAgICAgZG8ge1xuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnBvcCgpO1xuICAgICAgICAgICAgICAgIHRvcCA9IHRoaXMucGVlaygxKTtcbiAgICAgICAgICAgIH0gd2hpbGUgKHRvcCAmJiB0b3AudHlwZSA9PT0gJ2Zsb3ctY29sbGVjdGlvbicpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGZjLmVuZC5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHN3aXRjaCAodGhpcy50eXBlKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnY29tbWEnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2V4cGxpY2l0LWtleS1pbmQnOlxuICAgICAgICAgICAgICAgICAgICBpZiAoIWl0IHx8IGl0LnNlcClcbiAgICAgICAgICAgICAgICAgICAgICAgIGZjLml0ZW1zLnB1c2goeyBzdGFydDogW3RoaXMuc291cmNlVG9rZW5dIH0pO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICBpdC5zdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY2FzZSAnbWFwLXZhbHVlLWluZCc6XG4gICAgICAgICAgICAgICAgICAgIGlmICghaXQgfHwgaXQudmFsdWUpXG4gICAgICAgICAgICAgICAgICAgICAgICBmYy5pdGVtcy5wdXNoKHsgc3RhcnQ6IFtdLCBrZXk6IG51bGwsIHNlcDogW3RoaXMuc291cmNlVG9rZW5dIH0pO1xuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChpdC5zZXApXG4gICAgICAgICAgICAgICAgICAgICAgICBpdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgT2JqZWN0LmFzc2lnbihpdCwgeyBrZXk6IG51bGwsIHNlcDogW3RoaXMuc291cmNlVG9rZW5dIH0pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICAgICAgY2FzZSAnc3BhY2UnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2NvbW1lbnQnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ25ld2xpbmUnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2FuY2hvcic6XG4gICAgICAgICAgICAgICAgY2FzZSAndGFnJzpcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpdCB8fCBpdC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIGZjLml0ZW1zLnB1c2goeyBzdGFydDogW3RoaXMuc291cmNlVG9rZW5dIH0pO1xuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChpdC5zZXApXG4gICAgICAgICAgICAgICAgICAgICAgICBpdC5zZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgaXQuc3RhcnQucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIGNhc2UgJ2FsaWFzJzpcbiAgICAgICAgICAgICAgICBjYXNlICdzY2FsYXInOlxuICAgICAgICAgICAgICAgIGNhc2UgJ3NpbmdsZS1xdW90ZWQtc2NhbGFyJzpcbiAgICAgICAgICAgICAgICBjYXNlICdkb3VibGUtcXVvdGVkLXNjYWxhcic6IHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZnMgPSB0aGlzLmZsb3dTY2FsYXIodGhpcy50eXBlKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFpdCB8fCBpdC52YWx1ZSlcbiAgICAgICAgICAgICAgICAgICAgICAgIGZjLml0ZW1zLnB1c2goeyBzdGFydDogW10sIGtleTogZnMsIHNlcDogW10gfSk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGl0LnNlcClcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sucHVzaChmcyk7XG4gICAgICAgICAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oaXQsIHsga2V5OiBmcywgc2VwOiBbXSB9KTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBjYXNlICdmbG93LW1hcC1lbmQnOlxuICAgICAgICAgICAgICAgIGNhc2UgJ2Zsb3ctc2VxLWVuZCc6XG4gICAgICAgICAgICAgICAgICAgIGZjLmVuZC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBidiA9IHRoaXMuc3RhcnRCbG9ja1ZhbHVlKGZjKTtcbiAgICAgICAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBlbHNlIHNob3VsZCBub3QgaGFwcGVuICovXG4gICAgICAgICAgICBpZiAoYnYpXG4gICAgICAgICAgICAgICAgdGhpcy5zdGFjay5wdXNoKGJ2KTtcbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnBvcCgpO1xuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnN0ZXAoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudCA9IHRoaXMucGVlaygyKTtcbiAgICAgICAgICAgIGlmIChwYXJlbnQudHlwZSA9PT0gJ2Jsb2NrLW1hcCcgJiZcbiAgICAgICAgICAgICAgICAoKHRoaXMudHlwZSA9PT0gJ21hcC12YWx1ZS1pbmQnICYmIHBhcmVudC5pbmRlbnQgPT09IGZjLmluZGVudCkgfHxcbiAgICAgICAgICAgICAgICAgICAgKHRoaXMudHlwZSA9PT0gJ25ld2xpbmUnICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAhcGFyZW50Lml0ZW1zW3BhcmVudC5pdGVtcy5sZW5ndGggLSAxXS5zZXApKSkge1xuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnBvcCgpO1xuICAgICAgICAgICAgICAgIHlpZWxkKiB0aGlzLnN0ZXAoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gJ21hcC12YWx1ZS1pbmQnICYmXG4gICAgICAgICAgICAgICAgcGFyZW50LnR5cGUgIT09ICdmbG93LWNvbGxlY3Rpb24nKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcHJldiA9IGdldFByZXZQcm9wcyhwYXJlbnQpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gZ2V0Rmlyc3RLZXlTdGFydFByb3BzKHByZXYpO1xuICAgICAgICAgICAgICAgIGZpeEZsb3dTZXFJdGVtcyhmYyk7XG4gICAgICAgICAgICAgICAgY29uc3Qgc2VwID0gZmMuZW5kLnNwbGljZSgxLCBmYy5lbmQubGVuZ3RoKTtcbiAgICAgICAgICAgICAgICBzZXAucHVzaCh0aGlzLnNvdXJjZVRva2VuKTtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXAgPSB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdibG9jay1tYXAnLFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IGZjLm9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgaW5kZW50OiBmYy5pbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBbeyBzdGFydCwga2V5OiBmYywgc2VwIH1dXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uS2V5TGluZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgdGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aCAtIDFdID0gbWFwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMubGluZUVuZChmYyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgZmxvd1NjYWxhcih0eXBlKSB7XG4gICAgICAgIGlmICh0aGlzLm9uTmV3TGluZSkge1xuICAgICAgICAgICAgbGV0IG5sID0gdGhpcy5zb3VyY2UuaW5kZXhPZignXFxuJykgKyAxO1xuICAgICAgICAgICAgd2hpbGUgKG5sICE9PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbk5ld0xpbmUodGhpcy5vZmZzZXQgKyBubCk7XG4gICAgICAgICAgICAgICAgbmwgPSB0aGlzLnNvdXJjZS5pbmRleE9mKCdcXG4nLCBubCkgKyAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICB0eXBlLFxuICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICBzb3VyY2U6IHRoaXMuc291cmNlXG4gICAgICAgIH07XG4gICAgfVxuICAgIHN0YXJ0QmxvY2tWYWx1ZShwYXJlbnQpIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2FsaWFzJzpcbiAgICAgICAgICAgIGNhc2UgJ3NjYWxhcic6XG4gICAgICAgICAgICBjYXNlICdzaW5nbGUtcXVvdGVkLXNjYWxhcic6XG4gICAgICAgICAgICBjYXNlICdkb3VibGUtcXVvdGVkLXNjYWxhcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmxvd1NjYWxhcih0aGlzLnR5cGUpO1xuICAgICAgICAgICAgY2FzZSAnYmxvY2stc2NhbGFyLWhlYWRlcic6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Jsb2NrLXNjYWxhcicsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgIHByb3BzOiBbdGhpcy5zb3VyY2VUb2tlbl0sXG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZTogJydcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgY2FzZSAnZmxvdy1tYXAtc3RhcnQnOlxuICAgICAgICAgICAgY2FzZSAnZmxvdy1zZXEtc3RhcnQnOlxuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdmbG93LWNvbGxlY3Rpb24nLFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICBpbmRlbnQ6IHRoaXMuaW5kZW50LFxuICAgICAgICAgICAgICAgICAgICBzdGFydDogdGhpcy5zb3VyY2VUb2tlbixcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IFtdLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IFtdXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNhc2UgJ3NlcS1pdGVtLWluZCc6XG4gICAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogJ2Jsb2NrLXNlcScsXG4gICAgICAgICAgICAgICAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXG4gICAgICAgICAgICAgICAgICAgIGluZGVudDogdGhpcy5pbmRlbnQsXG4gICAgICAgICAgICAgICAgICAgIGl0ZW1zOiBbeyBzdGFydDogW3RoaXMuc291cmNlVG9rZW5dIH1dXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGNhc2UgJ2V4cGxpY2l0LWtleS1pbmQnOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbktleUxpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZXYgPSBnZXRQcmV2UHJvcHMocGFyZW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydCA9IGdldEZpcnN0S2V5U3RhcnRQcm9wcyhwcmV2KTtcbiAgICAgICAgICAgICAgICBzdGFydC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgICAgICAgIHR5cGU6ICdibG9jay1tYXAnLFxuICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxuICAgICAgICAgICAgICAgICAgICBpbmRlbnQ6IHRoaXMuaW5kZW50LFxuICAgICAgICAgICAgICAgICAgICBpdGVtczogW3sgc3RhcnQsIGV4cGxpY2l0S2V5OiB0cnVlIH1dXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgJ21hcC12YWx1ZS1pbmQnOiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbktleUxpbmUgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZXYgPSBnZXRQcmV2UHJvcHMocGFyZW50KTtcbiAgICAgICAgICAgICAgICBjb25zdCBzdGFydCA9IGdldEZpcnN0S2V5U3RhcnRQcm9wcyhwcmV2KTtcbiAgICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgICAgICB0eXBlOiAnYmxvY2stbWFwJyxcbiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcbiAgICAgICAgICAgICAgICAgICAgaW5kZW50OiB0aGlzLmluZGVudCxcbiAgICAgICAgICAgICAgICAgICAgaXRlbXM6IFt7IHN0YXJ0LCBrZXk6IG51bGwsIHNlcDogW3RoaXMuc291cmNlVG9rZW5dIH1dXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgYXRJbmRlbnRlZENvbW1lbnQoc3RhcnQsIGluZGVudCkge1xuICAgICAgICBpZiAodGhpcy50eXBlICE9PSAnY29tbWVudCcpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmluZGVudCA8PSBpbmRlbnQpXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIHJldHVybiBzdGFydC5ldmVyeShzdCA9PiBzdC50eXBlID09PSAnbmV3bGluZScgfHwgc3QudHlwZSA9PT0gJ3NwYWNlJyk7XG4gICAgfVxuICAgICpkb2N1bWVudEVuZChkb2NFbmQpIHtcbiAgICAgICAgaWYgKHRoaXMudHlwZSAhPT0gJ2RvYy1tb2RlJykge1xuICAgICAgICAgICAgaWYgKGRvY0VuZC5lbmQpXG4gICAgICAgICAgICAgICAgZG9jRW5kLmVuZC5wdXNoKHRoaXMuc291cmNlVG9rZW4pO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIGRvY0VuZC5lbmQgPSBbdGhpcy5zb3VyY2VUb2tlbl07XG4gICAgICAgICAgICBpZiAodGhpcy50eXBlID09PSAnbmV3bGluZScpXG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgKmxpbmVFbmQodG9rZW4pIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgJ2NvbW1hJzpcbiAgICAgICAgICAgIGNhc2UgJ2RvYy1zdGFydCc6XG4gICAgICAgICAgICBjYXNlICdkb2MtZW5kJzpcbiAgICAgICAgICAgIGNhc2UgJ2Zsb3ctc2VxLWVuZCc6XG4gICAgICAgICAgICBjYXNlICdmbG93LW1hcC1lbmQnOlxuICAgICAgICAgICAgY2FzZSAnbWFwLXZhbHVlLWluZCc6XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMucG9wKCk7XG4gICAgICAgICAgICAgICAgeWllbGQqIHRoaXMuc3RlcCgpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSAnbmV3bGluZSc6XG4gICAgICAgICAgICAgICAgdGhpcy5vbktleUxpbmUgPSBmYWxzZTtcbiAgICAgICAgICAgIC8vIGZhbGx0aHJvdWdoXG4gICAgICAgICAgICBjYXNlICdzcGFjZSc6XG4gICAgICAgICAgICBjYXNlICdjb21tZW50JzpcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgLy8gYWxsIG90aGVyIHZhbHVlcyBhcmUgZXJyb3JzXG4gICAgICAgICAgICAgICAgaWYgKHRva2VuLmVuZClcbiAgICAgICAgICAgICAgICAgICAgdG9rZW4uZW5kLnB1c2godGhpcy5zb3VyY2VUb2tlbik7XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICB0b2tlbi5lbmQgPSBbdGhpcy5zb3VyY2VUb2tlbl07XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ25ld2xpbmUnKVxuICAgICAgICAgICAgICAgICAgICB5aWVsZCogdGhpcy5wb3AoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuZXhwb3J0cy5QYXJzZXIgPSBQYXJzZXI7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgY29tcG9zZXIgPSByZXF1aXJlKCcuL2NvbXBvc2UvY29tcG9zZXIuanMnKTtcbnZhciBEb2N1bWVudCA9IHJlcXVpcmUoJy4vZG9jL0RvY3VtZW50LmpzJyk7XG52YXIgZXJyb3JzID0gcmVxdWlyZSgnLi9lcnJvcnMuanMnKTtcbnZhciBsb2cgPSByZXF1aXJlKCcuL2xvZy5qcycpO1xudmFyIGlkZW50aXR5ID0gcmVxdWlyZSgnLi9ub2Rlcy9pZGVudGl0eS5qcycpO1xudmFyIGxpbmVDb3VudGVyID0gcmVxdWlyZSgnLi9wYXJzZS9saW5lLWNvdW50ZXIuanMnKTtcbnZhciBwYXJzZXIgPSByZXF1aXJlKCcuL3BhcnNlL3BhcnNlci5qcycpO1xuXG5mdW5jdGlvbiBwYXJzZU9wdGlvbnMob3B0aW9ucykge1xuICAgIGNvbnN0IHByZXR0eUVycm9ycyA9IG9wdGlvbnMucHJldHR5RXJyb3JzICE9PSBmYWxzZTtcbiAgICBjb25zdCBsaW5lQ291bnRlciQxID0gb3B0aW9ucy5saW5lQ291bnRlciB8fCAocHJldHR5RXJyb3JzICYmIG5ldyBsaW5lQ291bnRlci5MaW5lQ291bnRlcigpKSB8fCBudWxsO1xuICAgIHJldHVybiB7IGxpbmVDb3VudGVyOiBsaW5lQ291bnRlciQxLCBwcmV0dHlFcnJvcnMgfTtcbn1cbi8qKlxuICogUGFyc2UgdGhlIGlucHV0IGFzIGEgc3RyZWFtIG9mIFlBTUwgZG9jdW1lbnRzLlxuICpcbiAqIERvY3VtZW50cyBzaG91bGQgYmUgc2VwYXJhdGVkIGZyb20gZWFjaCBvdGhlciBieSBgLi4uYCBvciBgLS0tYCBtYXJrZXIgbGluZXMuXG4gKlxuICogQHJldHVybnMgSWYgYW4gZW1wdHkgYGRvY3NgIGFycmF5IGlzIHJldHVybmVkLCBpdCB3aWxsIGJlIG9mIHR5cGVcbiAqICAgRW1wdHlTdHJlYW0gYW5kIGNvbnRhaW4gYWRkaXRpb25hbCBzdHJlYW0gaW5mb3JtYXRpb24uIEluXG4gKiAgIFR5cGVTY3JpcHQsIHlvdSBzaG91bGQgdXNlIGAnZW1wdHknIGluIGRvY3NgIGFzIGEgdHlwZSBndWFyZCBmb3IgaXQuXG4gKi9cbmZ1bmN0aW9uIHBhcnNlQWxsRG9jdW1lbnRzKHNvdXJjZSwgb3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgeyBsaW5lQ291bnRlciwgcHJldHR5RXJyb3JzIH0gPSBwYXJzZU9wdGlvbnMob3B0aW9ucyk7XG4gICAgY29uc3QgcGFyc2VyJDEgPSBuZXcgcGFyc2VyLlBhcnNlcihsaW5lQ291bnRlcj8uYWRkTmV3TGluZSk7XG4gICAgY29uc3QgY29tcG9zZXIkMSA9IG5ldyBjb21wb3Nlci5Db21wb3NlcihvcHRpb25zKTtcbiAgICBjb25zdCBkb2NzID0gQXJyYXkuZnJvbShjb21wb3NlciQxLmNvbXBvc2UocGFyc2VyJDEucGFyc2Uoc291cmNlKSkpO1xuICAgIGlmIChwcmV0dHlFcnJvcnMgJiYgbGluZUNvdW50ZXIpXG4gICAgICAgIGZvciAoY29uc3QgZG9jIG9mIGRvY3MpIHtcbiAgICAgICAgICAgIGRvYy5lcnJvcnMuZm9yRWFjaChlcnJvcnMucHJldHRpZnlFcnJvcihzb3VyY2UsIGxpbmVDb3VudGVyKSk7XG4gICAgICAgICAgICBkb2Mud2FybmluZ3MuZm9yRWFjaChlcnJvcnMucHJldHRpZnlFcnJvcihzb3VyY2UsIGxpbmVDb3VudGVyKSk7XG4gICAgICAgIH1cbiAgICBpZiAoZG9jcy5sZW5ndGggPiAwKVxuICAgICAgICByZXR1cm4gZG9jcztcbiAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihbXSwgeyBlbXB0eTogdHJ1ZSB9LCBjb21wb3NlciQxLnN0cmVhbUluZm8oKSk7XG59XG4vKiogUGFyc2UgYW4gaW5wdXQgc3RyaW5nIGludG8gYSBzaW5nbGUgWUFNTC5Eb2N1bWVudCAqL1xuZnVuY3Rpb24gcGFyc2VEb2N1bWVudChzb3VyY2UsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHsgbGluZUNvdW50ZXIsIHByZXR0eUVycm9ycyB9ID0gcGFyc2VPcHRpb25zKG9wdGlvbnMpO1xuICAgIGNvbnN0IHBhcnNlciQxID0gbmV3IHBhcnNlci5QYXJzZXIobGluZUNvdW50ZXI/LmFkZE5ld0xpbmUpO1xuICAgIGNvbnN0IGNvbXBvc2VyJDEgPSBuZXcgY29tcG9zZXIuQ29tcG9zZXIob3B0aW9ucyk7XG4gICAgLy8gYGRvY2AgaXMgYWx3YXlzIHNldCBieSBjb21wb3NlLmVuZCh0cnVlKSBhdCB0aGUgdmVyeSBsYXRlc3RcbiAgICBsZXQgZG9jID0gbnVsbDtcbiAgICBmb3IgKGNvbnN0IF9kb2Mgb2YgY29tcG9zZXIkMS5jb21wb3NlKHBhcnNlciQxLnBhcnNlKHNvdXJjZSksIHRydWUsIHNvdXJjZS5sZW5ndGgpKSB7XG4gICAgICAgIGlmICghZG9jKVxuICAgICAgICAgICAgZG9jID0gX2RvYztcbiAgICAgICAgZWxzZSBpZiAoZG9jLm9wdGlvbnMubG9nTGV2ZWwgIT09ICdzaWxlbnQnKSB7XG4gICAgICAgICAgICBkb2MuZXJyb3JzLnB1c2gobmV3IGVycm9ycy5ZQU1MUGFyc2VFcnJvcihfZG9jLnJhbmdlLnNsaWNlKDAsIDIpLCAnTVVMVElQTEVfRE9DUycsICdTb3VyY2UgY29udGFpbnMgbXVsdGlwbGUgZG9jdW1lbnRzOyBwbGVhc2UgdXNlIFlBTUwucGFyc2VBbGxEb2N1bWVudHMoKScpKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChwcmV0dHlFcnJvcnMgJiYgbGluZUNvdW50ZXIpIHtcbiAgICAgICAgZG9jLmVycm9ycy5mb3JFYWNoKGVycm9ycy5wcmV0dGlmeUVycm9yKHNvdXJjZSwgbGluZUNvdW50ZXIpKTtcbiAgICAgICAgZG9jLndhcm5pbmdzLmZvckVhY2goZXJyb3JzLnByZXR0aWZ5RXJyb3Ioc291cmNlLCBsaW5lQ291bnRlcikpO1xuICAgIH1cbiAgICByZXR1cm4gZG9jO1xufVxuZnVuY3Rpb24gcGFyc2Uoc3JjLCByZXZpdmVyLCBvcHRpb25zKSB7XG4gICAgbGV0IF9yZXZpdmVyID0gdW5kZWZpbmVkO1xuICAgIGlmICh0eXBlb2YgcmV2aXZlciA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICBfcmV2aXZlciA9IHJldml2ZXI7XG4gICAgfVxuICAgIGVsc2UgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCAmJiByZXZpdmVyICYmIHR5cGVvZiByZXZpdmVyID09PSAnb2JqZWN0Jykge1xuICAgICAgICBvcHRpb25zID0gcmV2aXZlcjtcbiAgICB9XG4gICAgY29uc3QgZG9jID0gcGFyc2VEb2N1bWVudChzcmMsIG9wdGlvbnMpO1xuICAgIGlmICghZG9jKVxuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICBkb2Mud2FybmluZ3MuZm9yRWFjaCh3YXJuaW5nID0+IGxvZy53YXJuKGRvYy5vcHRpb25zLmxvZ0xldmVsLCB3YXJuaW5nKSk7XG4gICAgaWYgKGRvYy5lcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgICBpZiAoZG9jLm9wdGlvbnMubG9nTGV2ZWwgIT09ICdzaWxlbnQnKVxuICAgICAgICAgICAgdGhyb3cgZG9jLmVycm9yc1swXTtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgZG9jLmVycm9ycyA9IFtdO1xuICAgIH1cbiAgICByZXR1cm4gZG9jLnRvSlMoT2JqZWN0LmFzc2lnbih7IHJldml2ZXI6IF9yZXZpdmVyIH0sIG9wdGlvbnMpKTtcbn1cbmZ1bmN0aW9uIHN0cmluZ2lmeSh2YWx1ZSwgcmVwbGFjZXIsIG9wdGlvbnMpIHtcbiAgICBsZXQgX3JlcGxhY2VyID0gbnVsbDtcbiAgICBpZiAodHlwZW9mIHJlcGxhY2VyID09PSAnZnVuY3Rpb24nIHx8IEFycmF5LmlzQXJyYXkocmVwbGFjZXIpKSB7XG4gICAgICAgIF9yZXBsYWNlciA9IHJlcGxhY2VyO1xuICAgIH1cbiAgICBlbHNlIGlmIChvcHRpb25zID09PSB1bmRlZmluZWQgJiYgcmVwbGFjZXIpIHtcbiAgICAgICAgb3B0aW9ucyA9IHJlcGxhY2VyO1xuICAgIH1cbiAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdzdHJpbmcnKVxuICAgICAgICBvcHRpb25zID0gb3B0aW9ucy5sZW5ndGg7XG4gICAgaWYgKHR5cGVvZiBvcHRpb25zID09PSAnbnVtYmVyJykge1xuICAgICAgICBjb25zdCBpbmRlbnQgPSBNYXRoLnJvdW5kKG9wdGlvbnMpO1xuICAgICAgICBvcHRpb25zID0gaW5kZW50IDwgMSA/IHVuZGVmaW5lZCA6IGluZGVudCA+IDggPyB7IGluZGVudDogOCB9IDogeyBpbmRlbnQgfTtcbiAgICB9XG4gICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgY29uc3QgeyBrZWVwVW5kZWZpbmVkIH0gPSBvcHRpb25zID8/IHJlcGxhY2VyID8/IHt9O1xuICAgICAgICBpZiAoIWtlZXBVbmRlZmluZWQpXG4gICAgICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBpZiAoaWRlbnRpdHkuaXNEb2N1bWVudCh2YWx1ZSkgJiYgIV9yZXBsYWNlcilcbiAgICAgICAgcmV0dXJuIHZhbHVlLnRvU3RyaW5nKG9wdGlvbnMpO1xuICAgIHJldHVybiBuZXcgRG9jdW1lbnQuRG9jdW1lbnQodmFsdWUsIF9yZXBsYWNlciwgb3B0aW9ucykudG9TdHJpbmcob3B0aW9ucyk7XG59XG5cbmV4cG9ydHMucGFyc2UgPSBwYXJzZTtcbmV4cG9ydHMucGFyc2VBbGxEb2N1bWVudHMgPSBwYXJzZUFsbERvY3VtZW50cztcbmV4cG9ydHMucGFyc2VEb2N1bWVudCA9IHBhcnNlRG9jdW1lbnQ7XG5leHBvcnRzLnN0cmluZ2lmeSA9IHN0cmluZ2lmeTtcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBjb21wb3NlciA9IHJlcXVpcmUoJy4vY29tcG9zZS9jb21wb3Nlci5qcycpO1xudmFyIERvY3VtZW50ID0gcmVxdWlyZSgnLi9kb2MvRG9jdW1lbnQuanMnKTtcbnZhciBTY2hlbWEgPSByZXF1aXJlKCcuL3NjaGVtYS9TY2hlbWEuanMnKTtcbnZhciBlcnJvcnMgPSByZXF1aXJlKCcuL2Vycm9ycy5qcycpO1xudmFyIEFsaWFzID0gcmVxdWlyZSgnLi9ub2Rlcy9BbGlhcy5qcycpO1xudmFyIGlkZW50aXR5ID0gcmVxdWlyZSgnLi9ub2Rlcy9pZGVudGl0eS5qcycpO1xudmFyIFBhaXIgPSByZXF1aXJlKCcuL25vZGVzL1BhaXIuanMnKTtcbnZhciBTY2FsYXIgPSByZXF1aXJlKCcuL25vZGVzL1NjYWxhci5qcycpO1xudmFyIFlBTUxNYXAgPSByZXF1aXJlKCcuL25vZGVzL1lBTUxNYXAuanMnKTtcbnZhciBZQU1MU2VxID0gcmVxdWlyZSgnLi9ub2Rlcy9ZQU1MU2VxLmpzJyk7XG52YXIgY3N0ID0gcmVxdWlyZSgnLi9wYXJzZS9jc3QuanMnKTtcbnZhciBsZXhlciA9IHJlcXVpcmUoJy4vcGFyc2UvbGV4ZXIuanMnKTtcbnZhciBsaW5lQ291bnRlciA9IHJlcXVpcmUoJy4vcGFyc2UvbGluZS1jb3VudGVyLmpzJyk7XG52YXIgcGFyc2VyID0gcmVxdWlyZSgnLi9wYXJzZS9wYXJzZXIuanMnKTtcbnZhciBwdWJsaWNBcGkgPSByZXF1aXJlKCcuL3B1YmxpYy1hcGkuanMnKTtcbnZhciB2aXNpdCA9IHJlcXVpcmUoJy4vdmlzaXQuanMnKTtcblxuXG5cbmV4cG9ydHMuQ29tcG9zZXIgPSBjb21wb3Nlci5Db21wb3NlcjtcbmV4cG9ydHMuRG9jdW1lbnQgPSBEb2N1bWVudC5Eb2N1bWVudDtcbmV4cG9ydHMuU2NoZW1hID0gU2NoZW1hLlNjaGVtYTtcbmV4cG9ydHMuWUFNTEVycm9yID0gZXJyb3JzLllBTUxFcnJvcjtcbmV4cG9ydHMuWUFNTFBhcnNlRXJyb3IgPSBlcnJvcnMuWUFNTFBhcnNlRXJyb3I7XG5leHBvcnRzLllBTUxXYXJuaW5nID0gZXJyb3JzLllBTUxXYXJuaW5nO1xuZXhwb3J0cy5BbGlhcyA9IEFsaWFzLkFsaWFzO1xuZXhwb3J0cy5pc0FsaWFzID0gaWRlbnRpdHkuaXNBbGlhcztcbmV4cG9ydHMuaXNDb2xsZWN0aW9uID0gaWRlbnRpdHkuaXNDb2xsZWN0aW9uO1xuZXhwb3J0cy5pc0RvY3VtZW50ID0gaWRlbnRpdHkuaXNEb2N1bWVudDtcbmV4cG9ydHMuaXNNYXAgPSBpZGVudGl0eS5pc01hcDtcbmV4cG9ydHMuaXNOb2RlID0gaWRlbnRpdHkuaXNOb2RlO1xuZXhwb3J0cy5pc1BhaXIgPSBpZGVudGl0eS5pc1BhaXI7XG5leHBvcnRzLmlzU2NhbGFyID0gaWRlbnRpdHkuaXNTY2FsYXI7XG5leHBvcnRzLmlzU2VxID0gaWRlbnRpdHkuaXNTZXE7XG5leHBvcnRzLlBhaXIgPSBQYWlyLlBhaXI7XG5leHBvcnRzLlNjYWxhciA9IFNjYWxhci5TY2FsYXI7XG5leHBvcnRzLllBTUxNYXAgPSBZQU1MTWFwLllBTUxNYXA7XG5leHBvcnRzLllBTUxTZXEgPSBZQU1MU2VxLllBTUxTZXE7XG5leHBvcnRzLkNTVCA9IGNzdDtcbmV4cG9ydHMuTGV4ZXIgPSBsZXhlci5MZXhlcjtcbmV4cG9ydHMuTGluZUNvdW50ZXIgPSBsaW5lQ291bnRlci5MaW5lQ291bnRlcjtcbmV4cG9ydHMuUGFyc2VyID0gcGFyc2VyLlBhcnNlcjtcbmV4cG9ydHMucGFyc2UgPSBwdWJsaWNBcGkucGFyc2U7XG5leHBvcnRzLnBhcnNlQWxsRG9jdW1lbnRzID0gcHVibGljQXBpLnBhcnNlQWxsRG9jdW1lbnRzO1xuZXhwb3J0cy5wYXJzZURvY3VtZW50ID0gcHVibGljQXBpLnBhcnNlRG9jdW1lbnQ7XG5leHBvcnRzLnN0cmluZ2lmeSA9IHB1YmxpY0FwaS5zdHJpbmdpZnk7XG5leHBvcnRzLnZpc2l0ID0gdmlzaXQudmlzaXQ7XG5leHBvcnRzLnZpc2l0QXN5bmMgPSB2aXNpdC52aXNpdEFzeW5jO1xuIiwgIlwidXNlIHN0cmljdFwiO1xuXG52YXIgY29udmVyc2lvbnMgPSB7fTtcbm1vZHVsZS5leHBvcnRzID0gY29udmVyc2lvbnM7XG5cbmZ1bmN0aW9uIHNpZ24oeCkge1xuICAgIHJldHVybiB4IDwgMCA/IC0xIDogMTtcbn1cblxuZnVuY3Rpb24gZXZlblJvdW5kKHgpIHtcbiAgICAvLyBSb3VuZCB4IHRvIHRoZSBuZWFyZXN0IGludGVnZXIsIGNob29zaW5nIHRoZSBldmVuIGludGVnZXIgaWYgaXQgbGllcyBoYWxmd2F5IGJldHdlZW4gdHdvLlxuICAgIGlmICgoeCAlIDEpID09PSAwLjUgJiYgKHggJiAxKSA9PT0gMCkgeyAvLyBbZXZlbiBudW1iZXJdLjU7IHJvdW5kIGRvd24gKGkuZS4gZmxvb3IpXG4gICAgICAgIHJldHVybiBNYXRoLmZsb29yKHgpO1xuICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBNYXRoLnJvdW5kKHgpO1xuICAgIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlTnVtYmVyQ29udmVyc2lvbihiaXRMZW5ndGgsIHR5cGVPcHRzKSB7XG4gICAgaWYgKCF0eXBlT3B0cy51bnNpZ25lZCkge1xuICAgICAgICAtLWJpdExlbmd0aDtcbiAgICB9XG4gICAgY29uc3QgbG93ZXJCb3VuZCA9IHR5cGVPcHRzLnVuc2lnbmVkID8gMCA6IC1NYXRoLnBvdygyLCBiaXRMZW5ndGgpO1xuICAgIGNvbnN0IHVwcGVyQm91bmQgPSBNYXRoLnBvdygyLCBiaXRMZW5ndGgpIC0gMTtcblxuICAgIGNvbnN0IG1vZHVsb1ZhbCA9IHR5cGVPcHRzLm1vZHVsb0JpdExlbmd0aCA/IE1hdGgucG93KDIsIHR5cGVPcHRzLm1vZHVsb0JpdExlbmd0aCkgOiBNYXRoLnBvdygyLCBiaXRMZW5ndGgpO1xuICAgIGNvbnN0IG1vZHVsb0JvdW5kID0gdHlwZU9wdHMubW9kdWxvQml0TGVuZ3RoID8gTWF0aC5wb3coMiwgdHlwZU9wdHMubW9kdWxvQml0TGVuZ3RoIC0gMSkgOiBNYXRoLnBvdygyLCBiaXRMZW5ndGggLSAxKTtcblxuICAgIHJldHVybiBmdW5jdGlvbihWLCBvcHRzKSB7XG4gICAgICAgIGlmICghb3B0cykgb3B0cyA9IHt9O1xuXG4gICAgICAgIGxldCB4ID0gK1Y7XG5cbiAgICAgICAgaWYgKG9wdHMuZW5mb3JjZVJhbmdlKSB7XG4gICAgICAgICAgICBpZiAoIU51bWJlci5pc0Zpbml0ZSh4KSkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBpcyBub3QgYSBmaW5pdGUgbnVtYmVyXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB4ID0gc2lnbih4KSAqIE1hdGguZmxvb3IoTWF0aC5hYnMoeCkpO1xuICAgICAgICAgICAgaWYgKHggPCBsb3dlckJvdW5kIHx8IHggPiB1cHBlckJvdW5kKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IGlzIG5vdCBpbiBieXRlIHJhbmdlXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4geDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghaXNOYU4oeCkgJiYgb3B0cy5jbGFtcCkge1xuICAgICAgICAgICAgeCA9IGV2ZW5Sb3VuZCh4KTtcblxuICAgICAgICAgICAgaWYgKHggPCBsb3dlckJvdW5kKSB4ID0gbG93ZXJCb3VuZDtcbiAgICAgICAgICAgIGlmICh4ID4gdXBwZXJCb3VuZCkgeCA9IHVwcGVyQm91bmQ7XG4gICAgICAgICAgICByZXR1cm4geDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghTnVtYmVyLmlzRmluaXRlKHgpIHx8IHggPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgeCA9IHNpZ24oeCkgKiBNYXRoLmZsb29yKE1hdGguYWJzKHgpKTtcbiAgICAgICAgeCA9IHggJSBtb2R1bG9WYWw7XG5cbiAgICAgICAgaWYgKCF0eXBlT3B0cy51bnNpZ25lZCAmJiB4ID49IG1vZHVsb0JvdW5kKSB7XG4gICAgICAgICAgICByZXR1cm4geCAtIG1vZHVsb1ZhbDtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlT3B0cy51bnNpZ25lZCkge1xuICAgICAgICAgICAgaWYgKHggPCAwKSB7XG4gICAgICAgICAgICAgIHggKz0gbW9kdWxvVmFsO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh4ID09PSAtMCkgeyAvLyBkb24ndCByZXR1cm4gbmVnYXRpdmUgemVyb1xuICAgICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB4O1xuICAgIH1cbn1cblxuY29udmVyc2lvbnNbXCJ2b2lkXCJdID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5jb252ZXJzaW9uc1tcImJvb2xlYW5cIl0gPSBmdW5jdGlvbiAodmFsKSB7XG4gICAgcmV0dXJuICEhdmFsO1xufTtcblxuY29udmVyc2lvbnNbXCJieXRlXCJdID0gY3JlYXRlTnVtYmVyQ29udmVyc2lvbig4LCB7IHVuc2lnbmVkOiBmYWxzZSB9KTtcbmNvbnZlcnNpb25zW1wib2N0ZXRcIl0gPSBjcmVhdGVOdW1iZXJDb252ZXJzaW9uKDgsIHsgdW5zaWduZWQ6IHRydWUgfSk7XG5cbmNvbnZlcnNpb25zW1wic2hvcnRcIl0gPSBjcmVhdGVOdW1iZXJDb252ZXJzaW9uKDE2LCB7IHVuc2lnbmVkOiBmYWxzZSB9KTtcbmNvbnZlcnNpb25zW1widW5zaWduZWQgc2hvcnRcIl0gPSBjcmVhdGVOdW1iZXJDb252ZXJzaW9uKDE2LCB7IHVuc2lnbmVkOiB0cnVlIH0pO1xuXG5jb252ZXJzaW9uc1tcImxvbmdcIl0gPSBjcmVhdGVOdW1iZXJDb252ZXJzaW9uKDMyLCB7IHVuc2lnbmVkOiBmYWxzZSB9KTtcbmNvbnZlcnNpb25zW1widW5zaWduZWQgbG9uZ1wiXSA9IGNyZWF0ZU51bWJlckNvbnZlcnNpb24oMzIsIHsgdW5zaWduZWQ6IHRydWUgfSk7XG5cbmNvbnZlcnNpb25zW1wibG9uZyBsb25nXCJdID0gY3JlYXRlTnVtYmVyQ29udmVyc2lvbigzMiwgeyB1bnNpZ25lZDogZmFsc2UsIG1vZHVsb0JpdExlbmd0aDogNjQgfSk7XG5jb252ZXJzaW9uc1tcInVuc2lnbmVkIGxvbmcgbG9uZ1wiXSA9IGNyZWF0ZU51bWJlckNvbnZlcnNpb24oMzIsIHsgdW5zaWduZWQ6IHRydWUsIG1vZHVsb0JpdExlbmd0aDogNjQgfSk7XG5cbmNvbnZlcnNpb25zW1wiZG91YmxlXCJdID0gZnVuY3Rpb24gKFYpIHtcbiAgICBjb25zdCB4ID0gK1Y7XG5cbiAgICBpZiAoIU51bWJlci5pc0Zpbml0ZSh4KSkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQXJndW1lbnQgaXMgbm90IGEgZmluaXRlIGZsb2F0aW5nLXBvaW50IHZhbHVlXCIpO1xuICAgIH1cblxuICAgIHJldHVybiB4O1xufTtcblxuY29udmVyc2lvbnNbXCJ1bnJlc3RyaWN0ZWQgZG91YmxlXCJdID0gZnVuY3Rpb24gKFYpIHtcbiAgICBjb25zdCB4ID0gK1Y7XG5cbiAgICBpZiAoaXNOYU4oeCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IGlzIE5hTlwiKTtcbiAgICB9XG5cbiAgICByZXR1cm4geDtcbn07XG5cbi8vIG5vdCBxdWl0ZSB2YWxpZCwgYnV0IGdvb2QgZW5vdWdoIGZvciBKU1xuY29udmVyc2lvbnNbXCJmbG9hdFwiXSA9IGNvbnZlcnNpb25zW1wiZG91YmxlXCJdO1xuY29udmVyc2lvbnNbXCJ1bnJlc3RyaWN0ZWQgZmxvYXRcIl0gPSBjb252ZXJzaW9uc1tcInVucmVzdHJpY3RlZCBkb3VibGVcIl07XG5cbmNvbnZlcnNpb25zW1wiRE9NU3RyaW5nXCJdID0gZnVuY3Rpb24gKFYsIG9wdHMpIHtcbiAgICBpZiAoIW9wdHMpIG9wdHMgPSB7fTtcblxuICAgIGlmIChvcHRzLnRyZWF0TnVsbEFzRW1wdHlTdHJpbmcgJiYgViA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG5cbiAgICByZXR1cm4gU3RyaW5nKFYpO1xufTtcblxuY29udmVyc2lvbnNbXCJCeXRlU3RyaW5nXCJdID0gZnVuY3Rpb24gKFYsIG9wdHMpIHtcbiAgICBjb25zdCB4ID0gU3RyaW5nKFYpO1xuICAgIGxldCBjID0gdW5kZWZpbmVkO1xuICAgIGZvciAobGV0IGkgPSAwOyAoYyA9IHguY29kZVBvaW50QXQoaSkpICE9PSB1bmRlZmluZWQ7ICsraSkge1xuICAgICAgICBpZiAoYyA+IDI1NSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFyZ3VtZW50IGlzIG5vdCBhIHZhbGlkIGJ5dGVzdHJpbmdcIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4geDtcbn07XG5cbmNvbnZlcnNpb25zW1wiVVNWU3RyaW5nXCJdID0gZnVuY3Rpb24gKFYpIHtcbiAgICBjb25zdCBTID0gU3RyaW5nKFYpO1xuICAgIGNvbnN0IG4gPSBTLmxlbmd0aDtcbiAgICBjb25zdCBVID0gW107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBuOyArK2kpIHtcbiAgICAgICAgY29uc3QgYyA9IFMuY2hhckNvZGVBdChpKTtcbiAgICAgICAgaWYgKGMgPCAweEQ4MDAgfHwgYyA+IDB4REZGRikge1xuICAgICAgICAgICAgVS5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KGMpKTtcbiAgICAgICAgfSBlbHNlIGlmICgweERDMDAgPD0gYyAmJiBjIDw9IDB4REZGRikge1xuICAgICAgICAgICAgVS5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KDB4RkZGRCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGkgPT09IG4gLSAxKSB7XG4gICAgICAgICAgICAgICAgVS5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KDB4RkZGRCkpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjb25zdCBkID0gUy5jaGFyQ29kZUF0KGkgKyAxKTtcbiAgICAgICAgICAgICAgICBpZiAoMHhEQzAwIDw9IGQgJiYgZCA8PSAweERGRkYpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYSA9IGMgJiAweDNGRjtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgYiA9IGQgJiAweDNGRjtcbiAgICAgICAgICAgICAgICAgICAgVS5wdXNoKFN0cmluZy5mcm9tQ29kZVBvaW50KCgyIDw8IDE1KSArICgyIDw8IDkpICogYSArIGIpKTtcbiAgICAgICAgICAgICAgICAgICAgKytpO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIFUucHVzaChTdHJpbmcuZnJvbUNvZGVQb2ludCgweEZGRkQpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gVS5qb2luKCcnKTtcbn07XG5cbmNvbnZlcnNpb25zW1wiRGF0ZVwiXSA9IGZ1bmN0aW9uIChWLCBvcHRzKSB7XG4gICAgaWYgKCEoViBpbnN0YW5jZW9mIERhdGUpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBpcyBub3QgYSBEYXRlIG9iamVjdFwiKTtcbiAgICB9XG4gICAgaWYgKGlzTmFOKFYpKSB7XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIFY7XG59O1xuXG5jb252ZXJzaW9uc1tcIlJlZ0V4cFwiXSA9IGZ1bmN0aW9uIChWLCBvcHRzKSB7XG4gICAgaWYgKCEoViBpbnN0YW5jZW9mIFJlZ0V4cCkpIHtcbiAgICAgICAgViA9IG5ldyBSZWdFeHAoVik7XG4gICAgfVxuXG4gICAgcmV0dXJuIFY7XG59O1xuIiwgIlwidXNlIHN0cmljdFwiO1xuXG5tb2R1bGUuZXhwb3J0cy5taXhpbiA9IGZ1bmN0aW9uIG1peGluKHRhcmdldCwgc291cmNlKSB7XG4gIGNvbnN0IGtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhzb3VyY2UpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyArK2kpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXlzW2ldLCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5c1tpXSkpO1xuICB9XG59O1xuXG5tb2R1bGUuZXhwb3J0cy53cmFwcGVyU3ltYm9sID0gU3ltYm9sKFwid3JhcHBlclwiKTtcbm1vZHVsZS5leHBvcnRzLmltcGxTeW1ib2wgPSBTeW1ib2woXCJpbXBsXCIpO1xuXG5tb2R1bGUuZXhwb3J0cy53cmFwcGVyRm9ySW1wbCA9IGZ1bmN0aW9uIChpbXBsKSB7XG4gIHJldHVybiBpbXBsW21vZHVsZS5leHBvcnRzLndyYXBwZXJTeW1ib2xdO1xufTtcblxubW9kdWxlLmV4cG9ydHMuaW1wbEZvcldyYXBwZXIgPSBmdW5jdGlvbiAod3JhcHBlcikge1xuICByZXR1cm4gd3JhcHBlclttb2R1bGUuZXhwb3J0cy5pbXBsU3ltYm9sXTtcbn07XG5cbiIsICJbW1swLDQ0XSxcImRpc2FsbG93ZWRfU1REM192YWxpZFwiXSxbWzQ1LDQ2XSxcInZhbGlkXCJdLFtbNDcsNDddLFwiZGlzYWxsb3dlZF9TVEQzX3ZhbGlkXCJdLFtbNDgsNTddLFwidmFsaWRcIl0sW1s1OCw2NF0sXCJkaXNhbGxvd2VkX1NURDNfdmFsaWRcIl0sW1s2NSw2NV0sXCJtYXBwZWRcIixbOTddXSxbWzY2LDY2XSxcIm1hcHBlZFwiLFs5OF1dLFtbNjcsNjddLFwibWFwcGVkXCIsWzk5XV0sW1s2OCw2OF0sXCJtYXBwZWRcIixbMTAwXV0sW1s2OSw2OV0sXCJtYXBwZWRcIixbMTAxXV0sW1s3MCw3MF0sXCJtYXBwZWRcIixbMTAyXV0sW1s3MSw3MV0sXCJtYXBwZWRcIixbMTAzXV0sW1s3Miw3Ml0sXCJtYXBwZWRcIixbMTA0XV0sW1s3Myw3M10sXCJtYXBwZWRcIixbMTA1XV0sW1s3NCw3NF0sXCJtYXBwZWRcIixbMTA2XV0sW1s3NSw3NV0sXCJtYXBwZWRcIixbMTA3XV0sW1s3Niw3Nl0sXCJtYXBwZWRcIixbMTA4XV0sW1s3Nyw3N10sXCJtYXBwZWRcIixbMTA5XV0sW1s3OCw3OF0sXCJtYXBwZWRcIixbMTEwXV0sW1s3OSw3OV0sXCJtYXBwZWRcIixbMTExXV0sW1s4MCw4MF0sXCJtYXBwZWRcIixbMTEyXV0sW1s4MSw4MV0sXCJtYXBwZWRcIixbMTEzXV0sW1s4Miw4Ml0sXCJtYXBwZWRcIixbMTE0XV0sW1s4Myw4M10sXCJtYXBwZWRcIixbMTE1XV0sW1s4NCw4NF0sXCJtYXBwZWRcIixbMTE2XV0sW1s4NSw4NV0sXCJtYXBwZWRcIixbMTE3XV0sW1s4Niw4Nl0sXCJtYXBwZWRcIixbMTE4XV0sW1s4Nyw4N10sXCJtYXBwZWRcIixbMTE5XV0sW1s4OCw4OF0sXCJtYXBwZWRcIixbMTIwXV0sW1s4OSw4OV0sXCJtYXBwZWRcIixbMTIxXV0sW1s5MCw5MF0sXCJtYXBwZWRcIixbMTIyXV0sW1s5MSw5Nl0sXCJkaXNhbGxvd2VkX1NURDNfdmFsaWRcIl0sW1s5NywxMjJdLFwidmFsaWRcIl0sW1sxMjMsMTI3XSxcImRpc2FsbG93ZWRfU1REM192YWxpZFwiXSxbWzEyOCwxNTldLFwiZGlzYWxsb3dlZFwiXSxbWzE2MCwxNjBdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMl1dLFtbMTYxLDE2N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTY4LDE2OF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDc3Nl1dLFtbMTY5LDE2OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTcwLDE3MF0sXCJtYXBwZWRcIixbOTddXSxbWzE3MSwxNzJdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzE3MywxNzNdLFwiaWdub3JlZFwiXSxbWzE3NCwxNzRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzE3NSwxNzVdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiw3NzJdXSxbWzE3NiwxNzddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzE3OCwxNzhdLFwibWFwcGVkXCIsWzUwXV0sW1sxNzksMTc5XSxcIm1hcHBlZFwiLFs1MV1dLFtbMTgwLDE4MF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDc2OV1dLFtbMTgxLDE4MV0sXCJtYXBwZWRcIixbOTU2XV0sW1sxODIsMTgyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxODMsMTgzXSxcInZhbGlkXCJdLFtbMTg0LDE4NF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDgwN11dLFtbMTg1LDE4NV0sXCJtYXBwZWRcIixbNDldXSxbWzE4NiwxODZdLFwibWFwcGVkXCIsWzExMV1dLFtbMTg3LDE4N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTg4LDE4OF0sXCJtYXBwZWRcIixbNDksODI2MCw1Ml1dLFtbMTg5LDE4OV0sXCJtYXBwZWRcIixbNDksODI2MCw1MF1dLFtbMTkwLDE5MF0sXCJtYXBwZWRcIixbNTEsODI2MCw1Ml1dLFtbMTkxLDE5MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTkyLDE5Ml0sXCJtYXBwZWRcIixbMjI0XV0sW1sxOTMsMTkzXSxcIm1hcHBlZFwiLFsyMjVdXSxbWzE5NCwxOTRdLFwibWFwcGVkXCIsWzIyNl1dLFtbMTk1LDE5NV0sXCJtYXBwZWRcIixbMjI3XV0sW1sxOTYsMTk2XSxcIm1hcHBlZFwiLFsyMjhdXSxbWzE5NywxOTddLFwibWFwcGVkXCIsWzIyOV1dLFtbMTk4LDE5OF0sXCJtYXBwZWRcIixbMjMwXV0sW1sxOTksMTk5XSxcIm1hcHBlZFwiLFsyMzFdXSxbWzIwMCwyMDBdLFwibWFwcGVkXCIsWzIzMl1dLFtbMjAxLDIwMV0sXCJtYXBwZWRcIixbMjMzXV0sW1syMDIsMjAyXSxcIm1hcHBlZFwiLFsyMzRdXSxbWzIwMywyMDNdLFwibWFwcGVkXCIsWzIzNV1dLFtbMjA0LDIwNF0sXCJtYXBwZWRcIixbMjM2XV0sW1syMDUsMjA1XSxcIm1hcHBlZFwiLFsyMzddXSxbWzIwNiwyMDZdLFwibWFwcGVkXCIsWzIzOF1dLFtbMjA3LDIwN10sXCJtYXBwZWRcIixbMjM5XV0sW1syMDgsMjA4XSxcIm1hcHBlZFwiLFsyNDBdXSxbWzIwOSwyMDldLFwibWFwcGVkXCIsWzI0MV1dLFtbMjEwLDIxMF0sXCJtYXBwZWRcIixbMjQyXV0sW1syMTEsMjExXSxcIm1hcHBlZFwiLFsyNDNdXSxbWzIxMiwyMTJdLFwibWFwcGVkXCIsWzI0NF1dLFtbMjEzLDIxM10sXCJtYXBwZWRcIixbMjQ1XV0sW1syMTQsMjE0XSxcIm1hcHBlZFwiLFsyNDZdXSxbWzIxNSwyMTVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzIxNiwyMTZdLFwibWFwcGVkXCIsWzI0OF1dLFtbMjE3LDIxN10sXCJtYXBwZWRcIixbMjQ5XV0sW1syMTgsMjE4XSxcIm1hcHBlZFwiLFsyNTBdXSxbWzIxOSwyMTldLFwibWFwcGVkXCIsWzI1MV1dLFtbMjIwLDIyMF0sXCJtYXBwZWRcIixbMjUyXV0sW1syMjEsMjIxXSxcIm1hcHBlZFwiLFsyNTNdXSxbWzIyMiwyMjJdLFwibWFwcGVkXCIsWzI1NF1dLFtbMjIzLDIyM10sXCJkZXZpYXRpb25cIixbMTE1LDExNV1dLFtbMjI0LDI0Nl0sXCJ2YWxpZFwiXSxbWzI0NywyNDddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzI0OCwyNTVdLFwidmFsaWRcIl0sW1syNTYsMjU2XSxcIm1hcHBlZFwiLFsyNTddXSxbWzI1NywyNTddLFwidmFsaWRcIl0sW1syNTgsMjU4XSxcIm1hcHBlZFwiLFsyNTldXSxbWzI1OSwyNTldLFwidmFsaWRcIl0sW1syNjAsMjYwXSxcIm1hcHBlZFwiLFsyNjFdXSxbWzI2MSwyNjFdLFwidmFsaWRcIl0sW1syNjIsMjYyXSxcIm1hcHBlZFwiLFsyNjNdXSxbWzI2MywyNjNdLFwidmFsaWRcIl0sW1syNjQsMjY0XSxcIm1hcHBlZFwiLFsyNjVdXSxbWzI2NSwyNjVdLFwidmFsaWRcIl0sW1syNjYsMjY2XSxcIm1hcHBlZFwiLFsyNjddXSxbWzI2NywyNjddLFwidmFsaWRcIl0sW1syNjgsMjY4XSxcIm1hcHBlZFwiLFsyNjldXSxbWzI2OSwyNjldLFwidmFsaWRcIl0sW1syNzAsMjcwXSxcIm1hcHBlZFwiLFsyNzFdXSxbWzI3MSwyNzFdLFwidmFsaWRcIl0sW1syNzIsMjcyXSxcIm1hcHBlZFwiLFsyNzNdXSxbWzI3MywyNzNdLFwidmFsaWRcIl0sW1syNzQsMjc0XSxcIm1hcHBlZFwiLFsyNzVdXSxbWzI3NSwyNzVdLFwidmFsaWRcIl0sW1syNzYsMjc2XSxcIm1hcHBlZFwiLFsyNzddXSxbWzI3NywyNzddLFwidmFsaWRcIl0sW1syNzgsMjc4XSxcIm1hcHBlZFwiLFsyNzldXSxbWzI3OSwyNzldLFwidmFsaWRcIl0sW1syODAsMjgwXSxcIm1hcHBlZFwiLFsyODFdXSxbWzI4MSwyODFdLFwidmFsaWRcIl0sW1syODIsMjgyXSxcIm1hcHBlZFwiLFsyODNdXSxbWzI4MywyODNdLFwidmFsaWRcIl0sW1syODQsMjg0XSxcIm1hcHBlZFwiLFsyODVdXSxbWzI4NSwyODVdLFwidmFsaWRcIl0sW1syODYsMjg2XSxcIm1hcHBlZFwiLFsyODddXSxbWzI4NywyODddLFwidmFsaWRcIl0sW1syODgsMjg4XSxcIm1hcHBlZFwiLFsyODldXSxbWzI4OSwyODldLFwidmFsaWRcIl0sW1syOTAsMjkwXSxcIm1hcHBlZFwiLFsyOTFdXSxbWzI5MSwyOTFdLFwidmFsaWRcIl0sW1syOTIsMjkyXSxcIm1hcHBlZFwiLFsyOTNdXSxbWzI5MywyOTNdLFwidmFsaWRcIl0sW1syOTQsMjk0XSxcIm1hcHBlZFwiLFsyOTVdXSxbWzI5NSwyOTVdLFwidmFsaWRcIl0sW1syOTYsMjk2XSxcIm1hcHBlZFwiLFsyOTddXSxbWzI5NywyOTddLFwidmFsaWRcIl0sW1syOTgsMjk4XSxcIm1hcHBlZFwiLFsyOTldXSxbWzI5OSwyOTldLFwidmFsaWRcIl0sW1szMDAsMzAwXSxcIm1hcHBlZFwiLFszMDFdXSxbWzMwMSwzMDFdLFwidmFsaWRcIl0sW1szMDIsMzAyXSxcIm1hcHBlZFwiLFszMDNdXSxbWzMwMywzMDNdLFwidmFsaWRcIl0sW1szMDQsMzA0XSxcIm1hcHBlZFwiLFsxMDUsNzc1XV0sW1szMDUsMzA1XSxcInZhbGlkXCJdLFtbMzA2LDMwN10sXCJtYXBwZWRcIixbMTA1LDEwNl1dLFtbMzA4LDMwOF0sXCJtYXBwZWRcIixbMzA5XV0sW1szMDksMzA5XSxcInZhbGlkXCJdLFtbMzEwLDMxMF0sXCJtYXBwZWRcIixbMzExXV0sW1szMTEsMzEyXSxcInZhbGlkXCJdLFtbMzEzLDMxM10sXCJtYXBwZWRcIixbMzE0XV0sW1szMTQsMzE0XSxcInZhbGlkXCJdLFtbMzE1LDMxNV0sXCJtYXBwZWRcIixbMzE2XV0sW1szMTYsMzE2XSxcInZhbGlkXCJdLFtbMzE3LDMxN10sXCJtYXBwZWRcIixbMzE4XV0sW1szMTgsMzE4XSxcInZhbGlkXCJdLFtbMzE5LDMyMF0sXCJtYXBwZWRcIixbMTA4LDE4M11dLFtbMzIxLDMyMV0sXCJtYXBwZWRcIixbMzIyXV0sW1szMjIsMzIyXSxcInZhbGlkXCJdLFtbMzIzLDMyM10sXCJtYXBwZWRcIixbMzI0XV0sW1szMjQsMzI0XSxcInZhbGlkXCJdLFtbMzI1LDMyNV0sXCJtYXBwZWRcIixbMzI2XV0sW1szMjYsMzI2XSxcInZhbGlkXCJdLFtbMzI3LDMyN10sXCJtYXBwZWRcIixbMzI4XV0sW1szMjgsMzI4XSxcInZhbGlkXCJdLFtbMzI5LDMyOV0sXCJtYXBwZWRcIixbNzAwLDExMF1dLFtbMzMwLDMzMF0sXCJtYXBwZWRcIixbMzMxXV0sW1szMzEsMzMxXSxcInZhbGlkXCJdLFtbMzMyLDMzMl0sXCJtYXBwZWRcIixbMzMzXV0sW1szMzMsMzMzXSxcInZhbGlkXCJdLFtbMzM0LDMzNF0sXCJtYXBwZWRcIixbMzM1XV0sW1szMzUsMzM1XSxcInZhbGlkXCJdLFtbMzM2LDMzNl0sXCJtYXBwZWRcIixbMzM3XV0sW1szMzcsMzM3XSxcInZhbGlkXCJdLFtbMzM4LDMzOF0sXCJtYXBwZWRcIixbMzM5XV0sW1szMzksMzM5XSxcInZhbGlkXCJdLFtbMzQwLDM0MF0sXCJtYXBwZWRcIixbMzQxXV0sW1szNDEsMzQxXSxcInZhbGlkXCJdLFtbMzQyLDM0Ml0sXCJtYXBwZWRcIixbMzQzXV0sW1szNDMsMzQzXSxcInZhbGlkXCJdLFtbMzQ0LDM0NF0sXCJtYXBwZWRcIixbMzQ1XV0sW1szNDUsMzQ1XSxcInZhbGlkXCJdLFtbMzQ2LDM0Nl0sXCJtYXBwZWRcIixbMzQ3XV0sW1szNDcsMzQ3XSxcInZhbGlkXCJdLFtbMzQ4LDM0OF0sXCJtYXBwZWRcIixbMzQ5XV0sW1szNDksMzQ5XSxcInZhbGlkXCJdLFtbMzUwLDM1MF0sXCJtYXBwZWRcIixbMzUxXV0sW1szNTEsMzUxXSxcInZhbGlkXCJdLFtbMzUyLDM1Ml0sXCJtYXBwZWRcIixbMzUzXV0sW1szNTMsMzUzXSxcInZhbGlkXCJdLFtbMzU0LDM1NF0sXCJtYXBwZWRcIixbMzU1XV0sW1szNTUsMzU1XSxcInZhbGlkXCJdLFtbMzU2LDM1Nl0sXCJtYXBwZWRcIixbMzU3XV0sW1szNTcsMzU3XSxcInZhbGlkXCJdLFtbMzU4LDM1OF0sXCJtYXBwZWRcIixbMzU5XV0sW1szNTksMzU5XSxcInZhbGlkXCJdLFtbMzYwLDM2MF0sXCJtYXBwZWRcIixbMzYxXV0sW1szNjEsMzYxXSxcInZhbGlkXCJdLFtbMzYyLDM2Ml0sXCJtYXBwZWRcIixbMzYzXV0sW1szNjMsMzYzXSxcInZhbGlkXCJdLFtbMzY0LDM2NF0sXCJtYXBwZWRcIixbMzY1XV0sW1szNjUsMzY1XSxcInZhbGlkXCJdLFtbMzY2LDM2Nl0sXCJtYXBwZWRcIixbMzY3XV0sW1szNjcsMzY3XSxcInZhbGlkXCJdLFtbMzY4LDM2OF0sXCJtYXBwZWRcIixbMzY5XV0sW1szNjksMzY5XSxcInZhbGlkXCJdLFtbMzcwLDM3MF0sXCJtYXBwZWRcIixbMzcxXV0sW1szNzEsMzcxXSxcInZhbGlkXCJdLFtbMzcyLDM3Ml0sXCJtYXBwZWRcIixbMzczXV0sW1szNzMsMzczXSxcInZhbGlkXCJdLFtbMzc0LDM3NF0sXCJtYXBwZWRcIixbMzc1XV0sW1szNzUsMzc1XSxcInZhbGlkXCJdLFtbMzc2LDM3Nl0sXCJtYXBwZWRcIixbMjU1XV0sW1szNzcsMzc3XSxcIm1hcHBlZFwiLFszNzhdXSxbWzM3OCwzNzhdLFwidmFsaWRcIl0sW1szNzksMzc5XSxcIm1hcHBlZFwiLFszODBdXSxbWzM4MCwzODBdLFwidmFsaWRcIl0sW1szODEsMzgxXSxcIm1hcHBlZFwiLFszODJdXSxbWzM4MiwzODJdLFwidmFsaWRcIl0sW1szODMsMzgzXSxcIm1hcHBlZFwiLFsxMTVdXSxbWzM4NCwzODRdLFwidmFsaWRcIl0sW1szODUsMzg1XSxcIm1hcHBlZFwiLFs1OTVdXSxbWzM4NiwzODZdLFwibWFwcGVkXCIsWzM4N11dLFtbMzg3LDM4N10sXCJ2YWxpZFwiXSxbWzM4OCwzODhdLFwibWFwcGVkXCIsWzM4OV1dLFtbMzg5LDM4OV0sXCJ2YWxpZFwiXSxbWzM5MCwzOTBdLFwibWFwcGVkXCIsWzU5Nl1dLFtbMzkxLDM5MV0sXCJtYXBwZWRcIixbMzkyXV0sW1szOTIsMzkyXSxcInZhbGlkXCJdLFtbMzkzLDM5M10sXCJtYXBwZWRcIixbNTk4XV0sW1szOTQsMzk0XSxcIm1hcHBlZFwiLFs1OTldXSxbWzM5NSwzOTVdLFwibWFwcGVkXCIsWzM5Nl1dLFtbMzk2LDM5N10sXCJ2YWxpZFwiXSxbWzM5OCwzOThdLFwibWFwcGVkXCIsWzQ3N11dLFtbMzk5LDM5OV0sXCJtYXBwZWRcIixbNjAxXV0sW1s0MDAsNDAwXSxcIm1hcHBlZFwiLFs2MDNdXSxbWzQwMSw0MDFdLFwibWFwcGVkXCIsWzQwMl1dLFtbNDAyLDQwMl0sXCJ2YWxpZFwiXSxbWzQwMyw0MDNdLFwibWFwcGVkXCIsWzYwOF1dLFtbNDA0LDQwNF0sXCJtYXBwZWRcIixbNjExXV0sW1s0MDUsNDA1XSxcInZhbGlkXCJdLFtbNDA2LDQwNl0sXCJtYXBwZWRcIixbNjE3XV0sW1s0MDcsNDA3XSxcIm1hcHBlZFwiLFs2MTZdXSxbWzQwOCw0MDhdLFwibWFwcGVkXCIsWzQwOV1dLFtbNDA5LDQxMV0sXCJ2YWxpZFwiXSxbWzQxMiw0MTJdLFwibWFwcGVkXCIsWzYyM11dLFtbNDEzLDQxM10sXCJtYXBwZWRcIixbNjI2XV0sW1s0MTQsNDE0XSxcInZhbGlkXCJdLFtbNDE1LDQxNV0sXCJtYXBwZWRcIixbNjI5XV0sW1s0MTYsNDE2XSxcIm1hcHBlZFwiLFs0MTddXSxbWzQxNyw0MTddLFwidmFsaWRcIl0sW1s0MTgsNDE4XSxcIm1hcHBlZFwiLFs0MTldXSxbWzQxOSw0MTldLFwidmFsaWRcIl0sW1s0MjAsNDIwXSxcIm1hcHBlZFwiLFs0MjFdXSxbWzQyMSw0MjFdLFwidmFsaWRcIl0sW1s0MjIsNDIyXSxcIm1hcHBlZFwiLFs2NDBdXSxbWzQyMyw0MjNdLFwibWFwcGVkXCIsWzQyNF1dLFtbNDI0LDQyNF0sXCJ2YWxpZFwiXSxbWzQyNSw0MjVdLFwibWFwcGVkXCIsWzY0M11dLFtbNDI2LDQyN10sXCJ2YWxpZFwiXSxbWzQyOCw0MjhdLFwibWFwcGVkXCIsWzQyOV1dLFtbNDI5LDQyOV0sXCJ2YWxpZFwiXSxbWzQzMCw0MzBdLFwibWFwcGVkXCIsWzY0OF1dLFtbNDMxLDQzMV0sXCJtYXBwZWRcIixbNDMyXV0sW1s0MzIsNDMyXSxcInZhbGlkXCJdLFtbNDMzLDQzM10sXCJtYXBwZWRcIixbNjUwXV0sW1s0MzQsNDM0XSxcIm1hcHBlZFwiLFs2NTFdXSxbWzQzNSw0MzVdLFwibWFwcGVkXCIsWzQzNl1dLFtbNDM2LDQzNl0sXCJ2YWxpZFwiXSxbWzQzNyw0MzddLFwibWFwcGVkXCIsWzQzOF1dLFtbNDM4LDQzOF0sXCJ2YWxpZFwiXSxbWzQzOSw0MzldLFwibWFwcGVkXCIsWzY1OF1dLFtbNDQwLDQ0MF0sXCJtYXBwZWRcIixbNDQxXV0sW1s0NDEsNDQzXSxcInZhbGlkXCJdLFtbNDQ0LDQ0NF0sXCJtYXBwZWRcIixbNDQ1XV0sW1s0NDUsNDUxXSxcInZhbGlkXCJdLFtbNDUyLDQ1NF0sXCJtYXBwZWRcIixbMTAwLDM4Ml1dLFtbNDU1LDQ1N10sXCJtYXBwZWRcIixbMTA4LDEwNl1dLFtbNDU4LDQ2MF0sXCJtYXBwZWRcIixbMTEwLDEwNl1dLFtbNDYxLDQ2MV0sXCJtYXBwZWRcIixbNDYyXV0sW1s0NjIsNDYyXSxcInZhbGlkXCJdLFtbNDYzLDQ2M10sXCJtYXBwZWRcIixbNDY0XV0sW1s0NjQsNDY0XSxcInZhbGlkXCJdLFtbNDY1LDQ2NV0sXCJtYXBwZWRcIixbNDY2XV0sW1s0NjYsNDY2XSxcInZhbGlkXCJdLFtbNDY3LDQ2N10sXCJtYXBwZWRcIixbNDY4XV0sW1s0NjgsNDY4XSxcInZhbGlkXCJdLFtbNDY5LDQ2OV0sXCJtYXBwZWRcIixbNDcwXV0sW1s0NzAsNDcwXSxcInZhbGlkXCJdLFtbNDcxLDQ3MV0sXCJtYXBwZWRcIixbNDcyXV0sW1s0NzIsNDcyXSxcInZhbGlkXCJdLFtbNDczLDQ3M10sXCJtYXBwZWRcIixbNDc0XV0sW1s0NzQsNDc0XSxcInZhbGlkXCJdLFtbNDc1LDQ3NV0sXCJtYXBwZWRcIixbNDc2XV0sW1s0NzYsNDc3XSxcInZhbGlkXCJdLFtbNDc4LDQ3OF0sXCJtYXBwZWRcIixbNDc5XV0sW1s0NzksNDc5XSxcInZhbGlkXCJdLFtbNDgwLDQ4MF0sXCJtYXBwZWRcIixbNDgxXV0sW1s0ODEsNDgxXSxcInZhbGlkXCJdLFtbNDgyLDQ4Ml0sXCJtYXBwZWRcIixbNDgzXV0sW1s0ODMsNDgzXSxcInZhbGlkXCJdLFtbNDg0LDQ4NF0sXCJtYXBwZWRcIixbNDg1XV0sW1s0ODUsNDg1XSxcInZhbGlkXCJdLFtbNDg2LDQ4Nl0sXCJtYXBwZWRcIixbNDg3XV0sW1s0ODcsNDg3XSxcInZhbGlkXCJdLFtbNDg4LDQ4OF0sXCJtYXBwZWRcIixbNDg5XV0sW1s0ODksNDg5XSxcInZhbGlkXCJdLFtbNDkwLDQ5MF0sXCJtYXBwZWRcIixbNDkxXV0sW1s0OTEsNDkxXSxcInZhbGlkXCJdLFtbNDkyLDQ5Ml0sXCJtYXBwZWRcIixbNDkzXV0sW1s0OTMsNDkzXSxcInZhbGlkXCJdLFtbNDk0LDQ5NF0sXCJtYXBwZWRcIixbNDk1XV0sW1s0OTUsNDk2XSxcInZhbGlkXCJdLFtbNDk3LDQ5OV0sXCJtYXBwZWRcIixbMTAwLDEyMl1dLFtbNTAwLDUwMF0sXCJtYXBwZWRcIixbNTAxXV0sW1s1MDEsNTAxXSxcInZhbGlkXCJdLFtbNTAyLDUwMl0sXCJtYXBwZWRcIixbNDA1XV0sW1s1MDMsNTAzXSxcIm1hcHBlZFwiLFs0NDddXSxbWzUwNCw1MDRdLFwibWFwcGVkXCIsWzUwNV1dLFtbNTA1LDUwNV0sXCJ2YWxpZFwiXSxbWzUwNiw1MDZdLFwibWFwcGVkXCIsWzUwN11dLFtbNTA3LDUwN10sXCJ2YWxpZFwiXSxbWzUwOCw1MDhdLFwibWFwcGVkXCIsWzUwOV1dLFtbNTA5LDUwOV0sXCJ2YWxpZFwiXSxbWzUxMCw1MTBdLFwibWFwcGVkXCIsWzUxMV1dLFtbNTExLDUxMV0sXCJ2YWxpZFwiXSxbWzUxMiw1MTJdLFwibWFwcGVkXCIsWzUxM11dLFtbNTEzLDUxM10sXCJ2YWxpZFwiXSxbWzUxNCw1MTRdLFwibWFwcGVkXCIsWzUxNV1dLFtbNTE1LDUxNV0sXCJ2YWxpZFwiXSxbWzUxNiw1MTZdLFwibWFwcGVkXCIsWzUxN11dLFtbNTE3LDUxN10sXCJ2YWxpZFwiXSxbWzUxOCw1MThdLFwibWFwcGVkXCIsWzUxOV1dLFtbNTE5LDUxOV0sXCJ2YWxpZFwiXSxbWzUyMCw1MjBdLFwibWFwcGVkXCIsWzUyMV1dLFtbNTIxLDUyMV0sXCJ2YWxpZFwiXSxbWzUyMiw1MjJdLFwibWFwcGVkXCIsWzUyM11dLFtbNTIzLDUyM10sXCJ2YWxpZFwiXSxbWzUyNCw1MjRdLFwibWFwcGVkXCIsWzUyNV1dLFtbNTI1LDUyNV0sXCJ2YWxpZFwiXSxbWzUyNiw1MjZdLFwibWFwcGVkXCIsWzUyN11dLFtbNTI3LDUyN10sXCJ2YWxpZFwiXSxbWzUyOCw1MjhdLFwibWFwcGVkXCIsWzUyOV1dLFtbNTI5LDUyOV0sXCJ2YWxpZFwiXSxbWzUzMCw1MzBdLFwibWFwcGVkXCIsWzUzMV1dLFtbNTMxLDUzMV0sXCJ2YWxpZFwiXSxbWzUzMiw1MzJdLFwibWFwcGVkXCIsWzUzM11dLFtbNTMzLDUzM10sXCJ2YWxpZFwiXSxbWzUzNCw1MzRdLFwibWFwcGVkXCIsWzUzNV1dLFtbNTM1LDUzNV0sXCJ2YWxpZFwiXSxbWzUzNiw1MzZdLFwibWFwcGVkXCIsWzUzN11dLFtbNTM3LDUzN10sXCJ2YWxpZFwiXSxbWzUzOCw1MzhdLFwibWFwcGVkXCIsWzUzOV1dLFtbNTM5LDUzOV0sXCJ2YWxpZFwiXSxbWzU0MCw1NDBdLFwibWFwcGVkXCIsWzU0MV1dLFtbNTQxLDU0MV0sXCJ2YWxpZFwiXSxbWzU0Miw1NDJdLFwibWFwcGVkXCIsWzU0M11dLFtbNTQzLDU0M10sXCJ2YWxpZFwiXSxbWzU0NCw1NDRdLFwibWFwcGVkXCIsWzQxNF1dLFtbNTQ1LDU0NV0sXCJ2YWxpZFwiXSxbWzU0Niw1NDZdLFwibWFwcGVkXCIsWzU0N11dLFtbNTQ3LDU0N10sXCJ2YWxpZFwiXSxbWzU0OCw1NDhdLFwibWFwcGVkXCIsWzU0OV1dLFtbNTQ5LDU0OV0sXCJ2YWxpZFwiXSxbWzU1MCw1NTBdLFwibWFwcGVkXCIsWzU1MV1dLFtbNTUxLDU1MV0sXCJ2YWxpZFwiXSxbWzU1Miw1NTJdLFwibWFwcGVkXCIsWzU1M11dLFtbNTUzLDU1M10sXCJ2YWxpZFwiXSxbWzU1NCw1NTRdLFwibWFwcGVkXCIsWzU1NV1dLFtbNTU1LDU1NV0sXCJ2YWxpZFwiXSxbWzU1Niw1NTZdLFwibWFwcGVkXCIsWzU1N11dLFtbNTU3LDU1N10sXCJ2YWxpZFwiXSxbWzU1OCw1NThdLFwibWFwcGVkXCIsWzU1OV1dLFtbNTU5LDU1OV0sXCJ2YWxpZFwiXSxbWzU2MCw1NjBdLFwibWFwcGVkXCIsWzU2MV1dLFtbNTYxLDU2MV0sXCJ2YWxpZFwiXSxbWzU2Miw1NjJdLFwibWFwcGVkXCIsWzU2M11dLFtbNTYzLDU2M10sXCJ2YWxpZFwiXSxbWzU2NCw1NjZdLFwidmFsaWRcIl0sW1s1NjcsNTY5XSxcInZhbGlkXCJdLFtbNTcwLDU3MF0sXCJtYXBwZWRcIixbMTEzNjVdXSxbWzU3MSw1NzFdLFwibWFwcGVkXCIsWzU3Ml1dLFtbNTcyLDU3Ml0sXCJ2YWxpZFwiXSxbWzU3Myw1NzNdLFwibWFwcGVkXCIsWzQxMF1dLFtbNTc0LDU3NF0sXCJtYXBwZWRcIixbMTEzNjZdXSxbWzU3NSw1NzZdLFwidmFsaWRcIl0sW1s1NzcsNTc3XSxcIm1hcHBlZFwiLFs1NzhdXSxbWzU3OCw1NzhdLFwidmFsaWRcIl0sW1s1NzksNTc5XSxcIm1hcHBlZFwiLFszODRdXSxbWzU4MCw1ODBdLFwibWFwcGVkXCIsWzY0OV1dLFtbNTgxLDU4MV0sXCJtYXBwZWRcIixbNjUyXV0sW1s1ODIsNTgyXSxcIm1hcHBlZFwiLFs1ODNdXSxbWzU4Myw1ODNdLFwidmFsaWRcIl0sW1s1ODQsNTg0XSxcIm1hcHBlZFwiLFs1ODVdXSxbWzU4NSw1ODVdLFwidmFsaWRcIl0sW1s1ODYsNTg2XSxcIm1hcHBlZFwiLFs1ODddXSxbWzU4Nyw1ODddLFwidmFsaWRcIl0sW1s1ODgsNTg4XSxcIm1hcHBlZFwiLFs1ODldXSxbWzU4OSw1ODldLFwidmFsaWRcIl0sW1s1OTAsNTkwXSxcIm1hcHBlZFwiLFs1OTFdXSxbWzU5MSw1OTFdLFwidmFsaWRcIl0sW1s1OTIsNjgwXSxcInZhbGlkXCJdLFtbNjgxLDY4NV0sXCJ2YWxpZFwiXSxbWzY4Niw2ODddLFwidmFsaWRcIl0sW1s2ODgsNjg4XSxcIm1hcHBlZFwiLFsxMDRdXSxbWzY4OSw2ODldLFwibWFwcGVkXCIsWzYxNF1dLFtbNjkwLDY5MF0sXCJtYXBwZWRcIixbMTA2XV0sW1s2OTEsNjkxXSxcIm1hcHBlZFwiLFsxMTRdXSxbWzY5Miw2OTJdLFwibWFwcGVkXCIsWzYzM11dLFtbNjkzLDY5M10sXCJtYXBwZWRcIixbNjM1XV0sW1s2OTQsNjk0XSxcIm1hcHBlZFwiLFs2NDFdXSxbWzY5NSw2OTVdLFwibWFwcGVkXCIsWzExOV1dLFtbNjk2LDY5Nl0sXCJtYXBwZWRcIixbMTIxXV0sW1s2OTcsNzA1XSxcInZhbGlkXCJdLFtbNzA2LDcwOV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNzEwLDcyMV0sXCJ2YWxpZFwiXSxbWzcyMiw3MjddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzcyOCw3MjhdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiw3NzRdXSxbWzcyOSw3MjldLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiw3NzVdXSxbWzczMCw3MzBdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiw3NzhdXSxbWzczMSw3MzFdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiw4MDhdXSxbWzczMiw3MzJdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiw3NzFdXSxbWzczMyw3MzNdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiw3NzldXSxbWzczNCw3MzRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzczNSw3MzVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzczNiw3MzZdLFwibWFwcGVkXCIsWzYxMV1dLFtbNzM3LDczN10sXCJtYXBwZWRcIixbMTA4XV0sW1s3MzgsNzM4XSxcIm1hcHBlZFwiLFsxMTVdXSxbWzczOSw3MzldLFwibWFwcGVkXCIsWzEyMF1dLFtbNzQwLDc0MF0sXCJtYXBwZWRcIixbNjYxXV0sW1s3NDEsNzQ1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s3NDYsNzQ3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s3NDgsNzQ4XSxcInZhbGlkXCJdLFtbNzQ5LDc0OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNzUwLDc1MF0sXCJ2YWxpZFwiXSxbWzc1MSw3NjddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzc2OCw4MzFdLFwidmFsaWRcIl0sW1s4MzIsODMyXSxcIm1hcHBlZFwiLFs3NjhdXSxbWzgzMyw4MzNdLFwibWFwcGVkXCIsWzc2OV1dLFtbODM0LDgzNF0sXCJ2YWxpZFwiXSxbWzgzNSw4MzVdLFwibWFwcGVkXCIsWzc4N11dLFtbODM2LDgzNl0sXCJtYXBwZWRcIixbNzc2LDc2OV1dLFtbODM3LDgzN10sXCJtYXBwZWRcIixbOTUzXV0sW1s4MzgsODQ2XSxcInZhbGlkXCJdLFtbODQ3LDg0N10sXCJpZ25vcmVkXCJdLFtbODQ4LDg1NV0sXCJ2YWxpZFwiXSxbWzg1Niw4NjBdLFwidmFsaWRcIl0sW1s4NjEsODYzXSxcInZhbGlkXCJdLFtbODY0LDg2NV0sXCJ2YWxpZFwiXSxbWzg2Niw4NjZdLFwidmFsaWRcIl0sW1s4NjcsODc5XSxcInZhbGlkXCJdLFtbODgwLDg4MF0sXCJtYXBwZWRcIixbODgxXV0sW1s4ODEsODgxXSxcInZhbGlkXCJdLFtbODgyLDg4Ml0sXCJtYXBwZWRcIixbODgzXV0sW1s4ODMsODgzXSxcInZhbGlkXCJdLFtbODg0LDg4NF0sXCJtYXBwZWRcIixbNjk3XV0sW1s4ODUsODg1XSxcInZhbGlkXCJdLFtbODg2LDg4Nl0sXCJtYXBwZWRcIixbODg3XV0sW1s4ODcsODg3XSxcInZhbGlkXCJdLFtbODg4LDg4OV0sXCJkaXNhbGxvd2VkXCJdLFtbODkwLDg5MF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDk1M11dLFtbODkxLDg5M10sXCJ2YWxpZFwiXSxbWzg5NCw4OTRdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs1OV1dLFtbODk1LDg5NV0sXCJtYXBwZWRcIixbMTAxMV1dLFtbODk2LDg5OV0sXCJkaXNhbGxvd2VkXCJdLFtbOTAwLDkwMF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDc2OV1dLFtbOTAxLDkwMV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDc3Niw3NjldXSxbWzkwMiw5MDJdLFwibWFwcGVkXCIsWzk0MF1dLFtbOTAzLDkwM10sXCJtYXBwZWRcIixbMTgzXV0sW1s5MDQsOTA0XSxcIm1hcHBlZFwiLFs5NDFdXSxbWzkwNSw5MDVdLFwibWFwcGVkXCIsWzk0Ml1dLFtbOTA2LDkwNl0sXCJtYXBwZWRcIixbOTQzXV0sW1s5MDcsOTA3XSxcImRpc2FsbG93ZWRcIl0sW1s5MDgsOTA4XSxcIm1hcHBlZFwiLFs5NzJdXSxbWzkwOSw5MDldLFwiZGlzYWxsb3dlZFwiXSxbWzkxMCw5MTBdLFwibWFwcGVkXCIsWzk3M11dLFtbOTExLDkxMV0sXCJtYXBwZWRcIixbOTc0XV0sW1s5MTIsOTEyXSxcInZhbGlkXCJdLFtbOTEzLDkxM10sXCJtYXBwZWRcIixbOTQ1XV0sW1s5MTQsOTE0XSxcIm1hcHBlZFwiLFs5NDZdXSxbWzkxNSw5MTVdLFwibWFwcGVkXCIsWzk0N11dLFtbOTE2LDkxNl0sXCJtYXBwZWRcIixbOTQ4XV0sW1s5MTcsOTE3XSxcIm1hcHBlZFwiLFs5NDldXSxbWzkxOCw5MThdLFwibWFwcGVkXCIsWzk1MF1dLFtbOTE5LDkxOV0sXCJtYXBwZWRcIixbOTUxXV0sW1s5MjAsOTIwXSxcIm1hcHBlZFwiLFs5NTJdXSxbWzkyMSw5MjFdLFwibWFwcGVkXCIsWzk1M11dLFtbOTIyLDkyMl0sXCJtYXBwZWRcIixbOTU0XV0sW1s5MjMsOTIzXSxcIm1hcHBlZFwiLFs5NTVdXSxbWzkyNCw5MjRdLFwibWFwcGVkXCIsWzk1Nl1dLFtbOTI1LDkyNV0sXCJtYXBwZWRcIixbOTU3XV0sW1s5MjYsOTI2XSxcIm1hcHBlZFwiLFs5NThdXSxbWzkyNyw5MjddLFwibWFwcGVkXCIsWzk1OV1dLFtbOTI4LDkyOF0sXCJtYXBwZWRcIixbOTYwXV0sW1s5MjksOTI5XSxcIm1hcHBlZFwiLFs5NjFdXSxbWzkzMCw5MzBdLFwiZGlzYWxsb3dlZFwiXSxbWzkzMSw5MzFdLFwibWFwcGVkXCIsWzk2M11dLFtbOTMyLDkzMl0sXCJtYXBwZWRcIixbOTY0XV0sW1s5MzMsOTMzXSxcIm1hcHBlZFwiLFs5NjVdXSxbWzkzNCw5MzRdLFwibWFwcGVkXCIsWzk2Nl1dLFtbOTM1LDkzNV0sXCJtYXBwZWRcIixbOTY3XV0sW1s5MzYsOTM2XSxcIm1hcHBlZFwiLFs5NjhdXSxbWzkzNyw5MzddLFwibWFwcGVkXCIsWzk2OV1dLFtbOTM4LDkzOF0sXCJtYXBwZWRcIixbOTcwXV0sW1s5MzksOTM5XSxcIm1hcHBlZFwiLFs5NzFdXSxbWzk0MCw5NjFdLFwidmFsaWRcIl0sW1s5NjIsOTYyXSxcImRldmlhdGlvblwiLFs5NjNdXSxbWzk2Myw5NzRdLFwidmFsaWRcIl0sW1s5NzUsOTc1XSxcIm1hcHBlZFwiLFs5ODNdXSxbWzk3Niw5NzZdLFwibWFwcGVkXCIsWzk0Nl1dLFtbOTc3LDk3N10sXCJtYXBwZWRcIixbOTUyXV0sW1s5NzgsOTc4XSxcIm1hcHBlZFwiLFs5NjVdXSxbWzk3OSw5NzldLFwibWFwcGVkXCIsWzk3M11dLFtbOTgwLDk4MF0sXCJtYXBwZWRcIixbOTcxXV0sW1s5ODEsOTgxXSxcIm1hcHBlZFwiLFs5NjZdXSxbWzk4Miw5ODJdLFwibWFwcGVkXCIsWzk2MF1dLFtbOTgzLDk4M10sXCJ2YWxpZFwiXSxbWzk4NCw5ODRdLFwibWFwcGVkXCIsWzk4NV1dLFtbOTg1LDk4NV0sXCJ2YWxpZFwiXSxbWzk4Niw5ODZdLFwibWFwcGVkXCIsWzk4N11dLFtbOTg3LDk4N10sXCJ2YWxpZFwiXSxbWzk4OCw5ODhdLFwibWFwcGVkXCIsWzk4OV1dLFtbOTg5LDk4OV0sXCJ2YWxpZFwiXSxbWzk5MCw5OTBdLFwibWFwcGVkXCIsWzk5MV1dLFtbOTkxLDk5MV0sXCJ2YWxpZFwiXSxbWzk5Miw5OTJdLFwibWFwcGVkXCIsWzk5M11dLFtbOTkzLDk5M10sXCJ2YWxpZFwiXSxbWzk5NCw5OTRdLFwibWFwcGVkXCIsWzk5NV1dLFtbOTk1LDk5NV0sXCJ2YWxpZFwiXSxbWzk5Niw5OTZdLFwibWFwcGVkXCIsWzk5N11dLFtbOTk3LDk5N10sXCJ2YWxpZFwiXSxbWzk5OCw5OThdLFwibWFwcGVkXCIsWzk5OV1dLFtbOTk5LDk5OV0sXCJ2YWxpZFwiXSxbWzEwMDAsMTAwMF0sXCJtYXBwZWRcIixbMTAwMV1dLFtbMTAwMSwxMDAxXSxcInZhbGlkXCJdLFtbMTAwMiwxMDAyXSxcIm1hcHBlZFwiLFsxMDAzXV0sW1sxMDAzLDEwMDNdLFwidmFsaWRcIl0sW1sxMDA0LDEwMDRdLFwibWFwcGVkXCIsWzEwMDVdXSxbWzEwMDUsMTAwNV0sXCJ2YWxpZFwiXSxbWzEwMDYsMTAwNl0sXCJtYXBwZWRcIixbMTAwN11dLFtbMTAwNywxMDA3XSxcInZhbGlkXCJdLFtbMTAwOCwxMDA4XSxcIm1hcHBlZFwiLFs5NTRdXSxbWzEwMDksMTAwOV0sXCJtYXBwZWRcIixbOTYxXV0sW1sxMDEwLDEwMTBdLFwibWFwcGVkXCIsWzk2M11dLFtbMTAxMSwxMDExXSxcInZhbGlkXCJdLFtbMTAxMiwxMDEyXSxcIm1hcHBlZFwiLFs5NTJdXSxbWzEwMTMsMTAxM10sXCJtYXBwZWRcIixbOTQ5XV0sW1sxMDE0LDEwMTRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEwMTUsMTAxNV0sXCJtYXBwZWRcIixbMTAxNl1dLFtbMTAxNiwxMDE2XSxcInZhbGlkXCJdLFtbMTAxNywxMDE3XSxcIm1hcHBlZFwiLFs5NjNdXSxbWzEwMTgsMTAxOF0sXCJtYXBwZWRcIixbMTAxOV1dLFtbMTAxOSwxMDE5XSxcInZhbGlkXCJdLFtbMTAyMCwxMDIwXSxcInZhbGlkXCJdLFtbMTAyMSwxMDIxXSxcIm1hcHBlZFwiLFs4OTFdXSxbWzEwMjIsMTAyMl0sXCJtYXBwZWRcIixbODkyXV0sW1sxMDIzLDEwMjNdLFwibWFwcGVkXCIsWzg5M11dLFtbMTAyNCwxMDI0XSxcIm1hcHBlZFwiLFsxMTA0XV0sW1sxMDI1LDEwMjVdLFwibWFwcGVkXCIsWzExMDVdXSxbWzEwMjYsMTAyNl0sXCJtYXBwZWRcIixbMTEwNl1dLFtbMTAyNywxMDI3XSxcIm1hcHBlZFwiLFsxMTA3XV0sW1sxMDI4LDEwMjhdLFwibWFwcGVkXCIsWzExMDhdXSxbWzEwMjksMTAyOV0sXCJtYXBwZWRcIixbMTEwOV1dLFtbMTAzMCwxMDMwXSxcIm1hcHBlZFwiLFsxMTEwXV0sW1sxMDMxLDEwMzFdLFwibWFwcGVkXCIsWzExMTFdXSxbWzEwMzIsMTAzMl0sXCJtYXBwZWRcIixbMTExMl1dLFtbMTAzMywxMDMzXSxcIm1hcHBlZFwiLFsxMTEzXV0sW1sxMDM0LDEwMzRdLFwibWFwcGVkXCIsWzExMTRdXSxbWzEwMzUsMTAzNV0sXCJtYXBwZWRcIixbMTExNV1dLFtbMTAzNiwxMDM2XSxcIm1hcHBlZFwiLFsxMTE2XV0sW1sxMDM3LDEwMzddLFwibWFwcGVkXCIsWzExMTddXSxbWzEwMzgsMTAzOF0sXCJtYXBwZWRcIixbMTExOF1dLFtbMTAzOSwxMDM5XSxcIm1hcHBlZFwiLFsxMTE5XV0sW1sxMDQwLDEwNDBdLFwibWFwcGVkXCIsWzEwNzJdXSxbWzEwNDEsMTA0MV0sXCJtYXBwZWRcIixbMTA3M11dLFtbMTA0MiwxMDQyXSxcIm1hcHBlZFwiLFsxMDc0XV0sW1sxMDQzLDEwNDNdLFwibWFwcGVkXCIsWzEwNzVdXSxbWzEwNDQsMTA0NF0sXCJtYXBwZWRcIixbMTA3Nl1dLFtbMTA0NSwxMDQ1XSxcIm1hcHBlZFwiLFsxMDc3XV0sW1sxMDQ2LDEwNDZdLFwibWFwcGVkXCIsWzEwNzhdXSxbWzEwNDcsMTA0N10sXCJtYXBwZWRcIixbMTA3OV1dLFtbMTA0OCwxMDQ4XSxcIm1hcHBlZFwiLFsxMDgwXV0sW1sxMDQ5LDEwNDldLFwibWFwcGVkXCIsWzEwODFdXSxbWzEwNTAsMTA1MF0sXCJtYXBwZWRcIixbMTA4Ml1dLFtbMTA1MSwxMDUxXSxcIm1hcHBlZFwiLFsxMDgzXV0sW1sxMDUyLDEwNTJdLFwibWFwcGVkXCIsWzEwODRdXSxbWzEwNTMsMTA1M10sXCJtYXBwZWRcIixbMTA4NV1dLFtbMTA1NCwxMDU0XSxcIm1hcHBlZFwiLFsxMDg2XV0sW1sxMDU1LDEwNTVdLFwibWFwcGVkXCIsWzEwODddXSxbWzEwNTYsMTA1Nl0sXCJtYXBwZWRcIixbMTA4OF1dLFtbMTA1NywxMDU3XSxcIm1hcHBlZFwiLFsxMDg5XV0sW1sxMDU4LDEwNThdLFwibWFwcGVkXCIsWzEwOTBdXSxbWzEwNTksMTA1OV0sXCJtYXBwZWRcIixbMTA5MV1dLFtbMTA2MCwxMDYwXSxcIm1hcHBlZFwiLFsxMDkyXV0sW1sxMDYxLDEwNjFdLFwibWFwcGVkXCIsWzEwOTNdXSxbWzEwNjIsMTA2Ml0sXCJtYXBwZWRcIixbMTA5NF1dLFtbMTA2MywxMDYzXSxcIm1hcHBlZFwiLFsxMDk1XV0sW1sxMDY0LDEwNjRdLFwibWFwcGVkXCIsWzEwOTZdXSxbWzEwNjUsMTA2NV0sXCJtYXBwZWRcIixbMTA5N11dLFtbMTA2NiwxMDY2XSxcIm1hcHBlZFwiLFsxMDk4XV0sW1sxMDY3LDEwNjddLFwibWFwcGVkXCIsWzEwOTldXSxbWzEwNjgsMTA2OF0sXCJtYXBwZWRcIixbMTEwMF1dLFtbMTA2OSwxMDY5XSxcIm1hcHBlZFwiLFsxMTAxXV0sW1sxMDcwLDEwNzBdLFwibWFwcGVkXCIsWzExMDJdXSxbWzEwNzEsMTA3MV0sXCJtYXBwZWRcIixbMTEwM11dLFtbMTA3MiwxMTAzXSxcInZhbGlkXCJdLFtbMTEwNCwxMTA0XSxcInZhbGlkXCJdLFtbMTEwNSwxMTE2XSxcInZhbGlkXCJdLFtbMTExNywxMTE3XSxcInZhbGlkXCJdLFtbMTExOCwxMTE5XSxcInZhbGlkXCJdLFtbMTEyMCwxMTIwXSxcIm1hcHBlZFwiLFsxMTIxXV0sW1sxMTIxLDExMjFdLFwidmFsaWRcIl0sW1sxMTIyLDExMjJdLFwibWFwcGVkXCIsWzExMjNdXSxbWzExMjMsMTEyM10sXCJ2YWxpZFwiXSxbWzExMjQsMTEyNF0sXCJtYXBwZWRcIixbMTEyNV1dLFtbMTEyNSwxMTI1XSxcInZhbGlkXCJdLFtbMTEyNiwxMTI2XSxcIm1hcHBlZFwiLFsxMTI3XV0sW1sxMTI3LDExMjddLFwidmFsaWRcIl0sW1sxMTI4LDExMjhdLFwibWFwcGVkXCIsWzExMjldXSxbWzExMjksMTEyOV0sXCJ2YWxpZFwiXSxbWzExMzAsMTEzMF0sXCJtYXBwZWRcIixbMTEzMV1dLFtbMTEzMSwxMTMxXSxcInZhbGlkXCJdLFtbMTEzMiwxMTMyXSxcIm1hcHBlZFwiLFsxMTMzXV0sW1sxMTMzLDExMzNdLFwidmFsaWRcIl0sW1sxMTM0LDExMzRdLFwibWFwcGVkXCIsWzExMzVdXSxbWzExMzUsMTEzNV0sXCJ2YWxpZFwiXSxbWzExMzYsMTEzNl0sXCJtYXBwZWRcIixbMTEzN11dLFtbMTEzNywxMTM3XSxcInZhbGlkXCJdLFtbMTEzOCwxMTM4XSxcIm1hcHBlZFwiLFsxMTM5XV0sW1sxMTM5LDExMzldLFwidmFsaWRcIl0sW1sxMTQwLDExNDBdLFwibWFwcGVkXCIsWzExNDFdXSxbWzExNDEsMTE0MV0sXCJ2YWxpZFwiXSxbWzExNDIsMTE0Ml0sXCJtYXBwZWRcIixbMTE0M11dLFtbMTE0MywxMTQzXSxcInZhbGlkXCJdLFtbMTE0NCwxMTQ0XSxcIm1hcHBlZFwiLFsxMTQ1XV0sW1sxMTQ1LDExNDVdLFwidmFsaWRcIl0sW1sxMTQ2LDExNDZdLFwibWFwcGVkXCIsWzExNDddXSxbWzExNDcsMTE0N10sXCJ2YWxpZFwiXSxbWzExNDgsMTE0OF0sXCJtYXBwZWRcIixbMTE0OV1dLFtbMTE0OSwxMTQ5XSxcInZhbGlkXCJdLFtbMTE1MCwxMTUwXSxcIm1hcHBlZFwiLFsxMTUxXV0sW1sxMTUxLDExNTFdLFwidmFsaWRcIl0sW1sxMTUyLDExNTJdLFwibWFwcGVkXCIsWzExNTNdXSxbWzExNTMsMTE1M10sXCJ2YWxpZFwiXSxbWzExNTQsMTE1NF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTE1NSwxMTU4XSxcInZhbGlkXCJdLFtbMTE1OSwxMTU5XSxcInZhbGlkXCJdLFtbMTE2MCwxMTYxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTYyLDExNjJdLFwibWFwcGVkXCIsWzExNjNdXSxbWzExNjMsMTE2M10sXCJ2YWxpZFwiXSxbWzExNjQsMTE2NF0sXCJtYXBwZWRcIixbMTE2NV1dLFtbMTE2NSwxMTY1XSxcInZhbGlkXCJdLFtbMTE2NiwxMTY2XSxcIm1hcHBlZFwiLFsxMTY3XV0sW1sxMTY3LDExNjddLFwidmFsaWRcIl0sW1sxMTY4LDExNjhdLFwibWFwcGVkXCIsWzExNjldXSxbWzExNjksMTE2OV0sXCJ2YWxpZFwiXSxbWzExNzAsMTE3MF0sXCJtYXBwZWRcIixbMTE3MV1dLFtbMTE3MSwxMTcxXSxcInZhbGlkXCJdLFtbMTE3MiwxMTcyXSxcIm1hcHBlZFwiLFsxMTczXV0sW1sxMTczLDExNzNdLFwidmFsaWRcIl0sW1sxMTc0LDExNzRdLFwibWFwcGVkXCIsWzExNzVdXSxbWzExNzUsMTE3NV0sXCJ2YWxpZFwiXSxbWzExNzYsMTE3Nl0sXCJtYXBwZWRcIixbMTE3N11dLFtbMTE3NywxMTc3XSxcInZhbGlkXCJdLFtbMTE3OCwxMTc4XSxcIm1hcHBlZFwiLFsxMTc5XV0sW1sxMTc5LDExNzldLFwidmFsaWRcIl0sW1sxMTgwLDExODBdLFwibWFwcGVkXCIsWzExODFdXSxbWzExODEsMTE4MV0sXCJ2YWxpZFwiXSxbWzExODIsMTE4Ml0sXCJtYXBwZWRcIixbMTE4M11dLFtbMTE4MywxMTgzXSxcInZhbGlkXCJdLFtbMTE4NCwxMTg0XSxcIm1hcHBlZFwiLFsxMTg1XV0sW1sxMTg1LDExODVdLFwidmFsaWRcIl0sW1sxMTg2LDExODZdLFwibWFwcGVkXCIsWzExODddXSxbWzExODcsMTE4N10sXCJ2YWxpZFwiXSxbWzExODgsMTE4OF0sXCJtYXBwZWRcIixbMTE4OV1dLFtbMTE4OSwxMTg5XSxcInZhbGlkXCJdLFtbMTE5MCwxMTkwXSxcIm1hcHBlZFwiLFsxMTkxXV0sW1sxMTkxLDExOTFdLFwidmFsaWRcIl0sW1sxMTkyLDExOTJdLFwibWFwcGVkXCIsWzExOTNdXSxbWzExOTMsMTE5M10sXCJ2YWxpZFwiXSxbWzExOTQsMTE5NF0sXCJtYXBwZWRcIixbMTE5NV1dLFtbMTE5NSwxMTk1XSxcInZhbGlkXCJdLFtbMTE5NiwxMTk2XSxcIm1hcHBlZFwiLFsxMTk3XV0sW1sxMTk3LDExOTddLFwidmFsaWRcIl0sW1sxMTk4LDExOThdLFwibWFwcGVkXCIsWzExOTldXSxbWzExOTksMTE5OV0sXCJ2YWxpZFwiXSxbWzEyMDAsMTIwMF0sXCJtYXBwZWRcIixbMTIwMV1dLFtbMTIwMSwxMjAxXSxcInZhbGlkXCJdLFtbMTIwMiwxMjAyXSxcIm1hcHBlZFwiLFsxMjAzXV0sW1sxMjAzLDEyMDNdLFwidmFsaWRcIl0sW1sxMjA0LDEyMDRdLFwibWFwcGVkXCIsWzEyMDVdXSxbWzEyMDUsMTIwNV0sXCJ2YWxpZFwiXSxbWzEyMDYsMTIwNl0sXCJtYXBwZWRcIixbMTIwN11dLFtbMTIwNywxMjA3XSxcInZhbGlkXCJdLFtbMTIwOCwxMjA4XSxcIm1hcHBlZFwiLFsxMjA5XV0sW1sxMjA5LDEyMDldLFwidmFsaWRcIl0sW1sxMjEwLDEyMTBdLFwibWFwcGVkXCIsWzEyMTFdXSxbWzEyMTEsMTIxMV0sXCJ2YWxpZFwiXSxbWzEyMTIsMTIxMl0sXCJtYXBwZWRcIixbMTIxM11dLFtbMTIxMywxMjEzXSxcInZhbGlkXCJdLFtbMTIxNCwxMjE0XSxcIm1hcHBlZFwiLFsxMjE1XV0sW1sxMjE1LDEyMTVdLFwidmFsaWRcIl0sW1sxMjE2LDEyMTZdLFwiZGlzYWxsb3dlZFwiXSxbWzEyMTcsMTIxN10sXCJtYXBwZWRcIixbMTIxOF1dLFtbMTIxOCwxMjE4XSxcInZhbGlkXCJdLFtbMTIxOSwxMjE5XSxcIm1hcHBlZFwiLFsxMjIwXV0sW1sxMjIwLDEyMjBdLFwidmFsaWRcIl0sW1sxMjIxLDEyMjFdLFwibWFwcGVkXCIsWzEyMjJdXSxbWzEyMjIsMTIyMl0sXCJ2YWxpZFwiXSxbWzEyMjMsMTIyM10sXCJtYXBwZWRcIixbMTIyNF1dLFtbMTIyNCwxMjI0XSxcInZhbGlkXCJdLFtbMTIyNSwxMjI1XSxcIm1hcHBlZFwiLFsxMjI2XV0sW1sxMjI2LDEyMjZdLFwidmFsaWRcIl0sW1sxMjI3LDEyMjddLFwibWFwcGVkXCIsWzEyMjhdXSxbWzEyMjgsMTIyOF0sXCJ2YWxpZFwiXSxbWzEyMjksMTIyOV0sXCJtYXBwZWRcIixbMTIzMF1dLFtbMTIzMCwxMjMwXSxcInZhbGlkXCJdLFtbMTIzMSwxMjMxXSxcInZhbGlkXCJdLFtbMTIzMiwxMjMyXSxcIm1hcHBlZFwiLFsxMjMzXV0sW1sxMjMzLDEyMzNdLFwidmFsaWRcIl0sW1sxMjM0LDEyMzRdLFwibWFwcGVkXCIsWzEyMzVdXSxbWzEyMzUsMTIzNV0sXCJ2YWxpZFwiXSxbWzEyMzYsMTIzNl0sXCJtYXBwZWRcIixbMTIzN11dLFtbMTIzNywxMjM3XSxcInZhbGlkXCJdLFtbMTIzOCwxMjM4XSxcIm1hcHBlZFwiLFsxMjM5XV0sW1sxMjM5LDEyMzldLFwidmFsaWRcIl0sW1sxMjQwLDEyNDBdLFwibWFwcGVkXCIsWzEyNDFdXSxbWzEyNDEsMTI0MV0sXCJ2YWxpZFwiXSxbWzEyNDIsMTI0Ml0sXCJtYXBwZWRcIixbMTI0M11dLFtbMTI0MywxMjQzXSxcInZhbGlkXCJdLFtbMTI0NCwxMjQ0XSxcIm1hcHBlZFwiLFsxMjQ1XV0sW1sxMjQ1LDEyNDVdLFwidmFsaWRcIl0sW1sxMjQ2LDEyNDZdLFwibWFwcGVkXCIsWzEyNDddXSxbWzEyNDcsMTI0N10sXCJ2YWxpZFwiXSxbWzEyNDgsMTI0OF0sXCJtYXBwZWRcIixbMTI0OV1dLFtbMTI0OSwxMjQ5XSxcInZhbGlkXCJdLFtbMTI1MCwxMjUwXSxcIm1hcHBlZFwiLFsxMjUxXV0sW1sxMjUxLDEyNTFdLFwidmFsaWRcIl0sW1sxMjUyLDEyNTJdLFwibWFwcGVkXCIsWzEyNTNdXSxbWzEyNTMsMTI1M10sXCJ2YWxpZFwiXSxbWzEyNTQsMTI1NF0sXCJtYXBwZWRcIixbMTI1NV1dLFtbMTI1NSwxMjU1XSxcInZhbGlkXCJdLFtbMTI1NiwxMjU2XSxcIm1hcHBlZFwiLFsxMjU3XV0sW1sxMjU3LDEyNTddLFwidmFsaWRcIl0sW1sxMjU4LDEyNThdLFwibWFwcGVkXCIsWzEyNTldXSxbWzEyNTksMTI1OV0sXCJ2YWxpZFwiXSxbWzEyNjAsMTI2MF0sXCJtYXBwZWRcIixbMTI2MV1dLFtbMTI2MSwxMjYxXSxcInZhbGlkXCJdLFtbMTI2MiwxMjYyXSxcIm1hcHBlZFwiLFsxMjYzXV0sW1sxMjYzLDEyNjNdLFwidmFsaWRcIl0sW1sxMjY0LDEyNjRdLFwibWFwcGVkXCIsWzEyNjVdXSxbWzEyNjUsMTI2NV0sXCJ2YWxpZFwiXSxbWzEyNjYsMTI2Nl0sXCJtYXBwZWRcIixbMTI2N11dLFtbMTI2NywxMjY3XSxcInZhbGlkXCJdLFtbMTI2OCwxMjY4XSxcIm1hcHBlZFwiLFsxMjY5XV0sW1sxMjY5LDEyNjldLFwidmFsaWRcIl0sW1sxMjcwLDEyNzBdLFwibWFwcGVkXCIsWzEyNzFdXSxbWzEyNzEsMTI3MV0sXCJ2YWxpZFwiXSxbWzEyNzIsMTI3Ml0sXCJtYXBwZWRcIixbMTI3M11dLFtbMTI3MywxMjczXSxcInZhbGlkXCJdLFtbMTI3NCwxMjc0XSxcIm1hcHBlZFwiLFsxMjc1XV0sW1sxMjc1LDEyNzVdLFwidmFsaWRcIl0sW1sxMjc2LDEyNzZdLFwibWFwcGVkXCIsWzEyNzddXSxbWzEyNzcsMTI3N10sXCJ2YWxpZFwiXSxbWzEyNzgsMTI3OF0sXCJtYXBwZWRcIixbMTI3OV1dLFtbMTI3OSwxMjc5XSxcInZhbGlkXCJdLFtbMTI4MCwxMjgwXSxcIm1hcHBlZFwiLFsxMjgxXV0sW1sxMjgxLDEyODFdLFwidmFsaWRcIl0sW1sxMjgyLDEyODJdLFwibWFwcGVkXCIsWzEyODNdXSxbWzEyODMsMTI4M10sXCJ2YWxpZFwiXSxbWzEyODQsMTI4NF0sXCJtYXBwZWRcIixbMTI4NV1dLFtbMTI4NSwxMjg1XSxcInZhbGlkXCJdLFtbMTI4NiwxMjg2XSxcIm1hcHBlZFwiLFsxMjg3XV0sW1sxMjg3LDEyODddLFwidmFsaWRcIl0sW1sxMjg4LDEyODhdLFwibWFwcGVkXCIsWzEyODldXSxbWzEyODksMTI4OV0sXCJ2YWxpZFwiXSxbWzEyOTAsMTI5MF0sXCJtYXBwZWRcIixbMTI5MV1dLFtbMTI5MSwxMjkxXSxcInZhbGlkXCJdLFtbMTI5MiwxMjkyXSxcIm1hcHBlZFwiLFsxMjkzXV0sW1sxMjkzLDEyOTNdLFwidmFsaWRcIl0sW1sxMjk0LDEyOTRdLFwibWFwcGVkXCIsWzEyOTVdXSxbWzEyOTUsMTI5NV0sXCJ2YWxpZFwiXSxbWzEyOTYsMTI5Nl0sXCJtYXBwZWRcIixbMTI5N11dLFtbMTI5NywxMjk3XSxcInZhbGlkXCJdLFtbMTI5OCwxMjk4XSxcIm1hcHBlZFwiLFsxMjk5XV0sW1sxMjk5LDEyOTldLFwidmFsaWRcIl0sW1sxMzAwLDEzMDBdLFwibWFwcGVkXCIsWzEzMDFdXSxbWzEzMDEsMTMwMV0sXCJ2YWxpZFwiXSxbWzEzMDIsMTMwMl0sXCJtYXBwZWRcIixbMTMwM11dLFtbMTMwMywxMzAzXSxcInZhbGlkXCJdLFtbMTMwNCwxMzA0XSxcIm1hcHBlZFwiLFsxMzA1XV0sW1sxMzA1LDEzMDVdLFwidmFsaWRcIl0sW1sxMzA2LDEzMDZdLFwibWFwcGVkXCIsWzEzMDddXSxbWzEzMDcsMTMwN10sXCJ2YWxpZFwiXSxbWzEzMDgsMTMwOF0sXCJtYXBwZWRcIixbMTMwOV1dLFtbMTMwOSwxMzA5XSxcInZhbGlkXCJdLFtbMTMxMCwxMzEwXSxcIm1hcHBlZFwiLFsxMzExXV0sW1sxMzExLDEzMTFdLFwidmFsaWRcIl0sW1sxMzEyLDEzMTJdLFwibWFwcGVkXCIsWzEzMTNdXSxbWzEzMTMsMTMxM10sXCJ2YWxpZFwiXSxbWzEzMTQsMTMxNF0sXCJtYXBwZWRcIixbMTMxNV1dLFtbMTMxNSwxMzE1XSxcInZhbGlkXCJdLFtbMTMxNiwxMzE2XSxcIm1hcHBlZFwiLFsxMzE3XV0sW1sxMzE3LDEzMTddLFwidmFsaWRcIl0sW1sxMzE4LDEzMThdLFwibWFwcGVkXCIsWzEzMTldXSxbWzEzMTksMTMxOV0sXCJ2YWxpZFwiXSxbWzEzMjAsMTMyMF0sXCJtYXBwZWRcIixbMTMyMV1dLFtbMTMyMSwxMzIxXSxcInZhbGlkXCJdLFtbMTMyMiwxMzIyXSxcIm1hcHBlZFwiLFsxMzIzXV0sW1sxMzIzLDEzMjNdLFwidmFsaWRcIl0sW1sxMzI0LDEzMjRdLFwibWFwcGVkXCIsWzEzMjVdXSxbWzEzMjUsMTMyNV0sXCJ2YWxpZFwiXSxbWzEzMjYsMTMyNl0sXCJtYXBwZWRcIixbMTMyN11dLFtbMTMyNywxMzI3XSxcInZhbGlkXCJdLFtbMTMyOCwxMzI4XSxcImRpc2FsbG93ZWRcIl0sW1sxMzI5LDEzMjldLFwibWFwcGVkXCIsWzEzNzddXSxbWzEzMzAsMTMzMF0sXCJtYXBwZWRcIixbMTM3OF1dLFtbMTMzMSwxMzMxXSxcIm1hcHBlZFwiLFsxMzc5XV0sW1sxMzMyLDEzMzJdLFwibWFwcGVkXCIsWzEzODBdXSxbWzEzMzMsMTMzM10sXCJtYXBwZWRcIixbMTM4MV1dLFtbMTMzNCwxMzM0XSxcIm1hcHBlZFwiLFsxMzgyXV0sW1sxMzM1LDEzMzVdLFwibWFwcGVkXCIsWzEzODNdXSxbWzEzMzYsMTMzNl0sXCJtYXBwZWRcIixbMTM4NF1dLFtbMTMzNywxMzM3XSxcIm1hcHBlZFwiLFsxMzg1XV0sW1sxMzM4LDEzMzhdLFwibWFwcGVkXCIsWzEzODZdXSxbWzEzMzksMTMzOV0sXCJtYXBwZWRcIixbMTM4N11dLFtbMTM0MCwxMzQwXSxcIm1hcHBlZFwiLFsxMzg4XV0sW1sxMzQxLDEzNDFdLFwibWFwcGVkXCIsWzEzODldXSxbWzEzNDIsMTM0Ml0sXCJtYXBwZWRcIixbMTM5MF1dLFtbMTM0MywxMzQzXSxcIm1hcHBlZFwiLFsxMzkxXV0sW1sxMzQ0LDEzNDRdLFwibWFwcGVkXCIsWzEzOTJdXSxbWzEzNDUsMTM0NV0sXCJtYXBwZWRcIixbMTM5M11dLFtbMTM0NiwxMzQ2XSxcIm1hcHBlZFwiLFsxMzk0XV0sW1sxMzQ3LDEzNDddLFwibWFwcGVkXCIsWzEzOTVdXSxbWzEzNDgsMTM0OF0sXCJtYXBwZWRcIixbMTM5Nl1dLFtbMTM0OSwxMzQ5XSxcIm1hcHBlZFwiLFsxMzk3XV0sW1sxMzUwLDEzNTBdLFwibWFwcGVkXCIsWzEzOThdXSxbWzEzNTEsMTM1MV0sXCJtYXBwZWRcIixbMTM5OV1dLFtbMTM1MiwxMzUyXSxcIm1hcHBlZFwiLFsxNDAwXV0sW1sxMzUzLDEzNTNdLFwibWFwcGVkXCIsWzE0MDFdXSxbWzEzNTQsMTM1NF0sXCJtYXBwZWRcIixbMTQwMl1dLFtbMTM1NSwxMzU1XSxcIm1hcHBlZFwiLFsxNDAzXV0sW1sxMzU2LDEzNTZdLFwibWFwcGVkXCIsWzE0MDRdXSxbWzEzNTcsMTM1N10sXCJtYXBwZWRcIixbMTQwNV1dLFtbMTM1OCwxMzU4XSxcIm1hcHBlZFwiLFsxNDA2XV0sW1sxMzU5LDEzNTldLFwibWFwcGVkXCIsWzE0MDddXSxbWzEzNjAsMTM2MF0sXCJtYXBwZWRcIixbMTQwOF1dLFtbMTM2MSwxMzYxXSxcIm1hcHBlZFwiLFsxNDA5XV0sW1sxMzYyLDEzNjJdLFwibWFwcGVkXCIsWzE0MTBdXSxbWzEzNjMsMTM2M10sXCJtYXBwZWRcIixbMTQxMV1dLFtbMTM2NCwxMzY0XSxcIm1hcHBlZFwiLFsxNDEyXV0sW1sxMzY1LDEzNjVdLFwibWFwcGVkXCIsWzE0MTNdXSxbWzEzNjYsMTM2Nl0sXCJtYXBwZWRcIixbMTQxNF1dLFtbMTM2NywxMzY4XSxcImRpc2FsbG93ZWRcIl0sW1sxMzY5LDEzNjldLFwidmFsaWRcIl0sW1sxMzcwLDEzNzVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEzNzYsMTM3Nl0sXCJkaXNhbGxvd2VkXCJdLFtbMTM3NywxNDE0XSxcInZhbGlkXCJdLFtbMTQxNSwxNDE1XSxcIm1hcHBlZFwiLFsxMzgxLDE0MTBdXSxbWzE0MTYsMTQxNl0sXCJkaXNhbGxvd2VkXCJdLFtbMTQxNywxNDE3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxNDE4LDE0MThdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzE0MTksMTQyMF0sXCJkaXNhbGxvd2VkXCJdLFtbMTQyMSwxNDIyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxNDIzLDE0MjNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzE0MjQsMTQyNF0sXCJkaXNhbGxvd2VkXCJdLFtbMTQyNSwxNDQxXSxcInZhbGlkXCJdLFtbMTQ0MiwxNDQyXSxcInZhbGlkXCJdLFtbMTQ0MywxNDU1XSxcInZhbGlkXCJdLFtbMTQ1NiwxNDY1XSxcInZhbGlkXCJdLFtbMTQ2NiwxNDY2XSxcInZhbGlkXCJdLFtbMTQ2NywxNDY5XSxcInZhbGlkXCJdLFtbMTQ3MCwxNDcwXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxNDcxLDE0NzFdLFwidmFsaWRcIl0sW1sxNDcyLDE0NzJdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzE0NzMsMTQ3NF0sXCJ2YWxpZFwiXSxbWzE0NzUsMTQ3NV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTQ3NiwxNDc2XSxcInZhbGlkXCJdLFtbMTQ3NywxNDc3XSxcInZhbGlkXCJdLFtbMTQ3OCwxNDc4XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxNDc5LDE0NzldLFwidmFsaWRcIl0sW1sxNDgwLDE0ODddLFwiZGlzYWxsb3dlZFwiXSxbWzE0ODgsMTUxNF0sXCJ2YWxpZFwiXSxbWzE1MTUsMTUxOV0sXCJkaXNhbGxvd2VkXCJdLFtbMTUyMCwxNTI0XSxcInZhbGlkXCJdLFtbMTUyNSwxNTM1XSxcImRpc2FsbG93ZWRcIl0sW1sxNTM2LDE1MzldLFwiZGlzYWxsb3dlZFwiXSxbWzE1NDAsMTU0MF0sXCJkaXNhbGxvd2VkXCJdLFtbMTU0MSwxNTQxXSxcImRpc2FsbG93ZWRcIl0sW1sxNTQyLDE1NDZdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzE1NDcsMTU0N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTU0OCwxNTQ4XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxNTQ5LDE1NTFdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzE1NTIsMTU1N10sXCJ2YWxpZFwiXSxbWzE1NTgsMTU2Ml0sXCJ2YWxpZFwiXSxbWzE1NjMsMTU2M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTU2NCwxNTY0XSxcImRpc2FsbG93ZWRcIl0sW1sxNTY1LDE1NjVdLFwiZGlzYWxsb3dlZFwiXSxbWzE1NjYsMTU2Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTU2NywxNTY3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxNTY4LDE1NjhdLFwidmFsaWRcIl0sW1sxNTY5LDE1OTRdLFwidmFsaWRcIl0sW1sxNTk1LDE1OTldLFwidmFsaWRcIl0sW1sxNjAwLDE2MDBdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzE2MDEsMTYxOF0sXCJ2YWxpZFwiXSxbWzE2MTksMTYyMV0sXCJ2YWxpZFwiXSxbWzE2MjIsMTYyNF0sXCJ2YWxpZFwiXSxbWzE2MjUsMTYzMF0sXCJ2YWxpZFwiXSxbWzE2MzEsMTYzMV0sXCJ2YWxpZFwiXSxbWzE2MzIsMTY0MV0sXCJ2YWxpZFwiXSxbWzE2NDIsMTY0NV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTY0NiwxNjQ3XSxcInZhbGlkXCJdLFtbMTY0OCwxNjUyXSxcInZhbGlkXCJdLFtbMTY1MywxNjUzXSxcIm1hcHBlZFwiLFsxNTc1LDE2NTJdXSxbWzE2NTQsMTY1NF0sXCJtYXBwZWRcIixbMTYwOCwxNjUyXV0sW1sxNjU1LDE2NTVdLFwibWFwcGVkXCIsWzE3MzUsMTY1Ml1dLFtbMTY1NiwxNjU2XSxcIm1hcHBlZFwiLFsxNjEwLDE2NTJdXSxbWzE2NTcsMTcxOV0sXCJ2YWxpZFwiXSxbWzE3MjAsMTcyMV0sXCJ2YWxpZFwiXSxbWzE3MjIsMTcyNl0sXCJ2YWxpZFwiXSxbWzE3MjcsMTcyN10sXCJ2YWxpZFwiXSxbWzE3MjgsMTc0Ml0sXCJ2YWxpZFwiXSxbWzE3NDMsMTc0M10sXCJ2YWxpZFwiXSxbWzE3NDQsMTc0N10sXCJ2YWxpZFwiXSxbWzE3NDgsMTc0OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTc0OSwxNzU2XSxcInZhbGlkXCJdLFtbMTc1NywxNzU3XSxcImRpc2FsbG93ZWRcIl0sW1sxNzU4LDE3NThdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzE3NTksMTc2OF0sXCJ2YWxpZFwiXSxbWzE3NjksMTc2OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTc3MCwxNzczXSxcInZhbGlkXCJdLFtbMTc3NCwxNzc1XSxcInZhbGlkXCJdLFtbMTc3NiwxNzg1XSxcInZhbGlkXCJdLFtbMTc4NiwxNzkwXSxcInZhbGlkXCJdLFtbMTc5MSwxNzkxXSxcInZhbGlkXCJdLFtbMTc5MiwxODA1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxODA2LDE4MDZdLFwiZGlzYWxsb3dlZFwiXSxbWzE4MDcsMTgwN10sXCJkaXNhbGxvd2VkXCJdLFtbMTgwOCwxODM2XSxcInZhbGlkXCJdLFtbMTgzNywxODM5XSxcInZhbGlkXCJdLFtbMTg0MCwxODY2XSxcInZhbGlkXCJdLFtbMTg2NywxODY4XSxcImRpc2FsbG93ZWRcIl0sW1sxODY5LDE4NzFdLFwidmFsaWRcIl0sW1sxODcyLDE5MDFdLFwidmFsaWRcIl0sW1sxOTAyLDE5MTldLFwidmFsaWRcIl0sW1sxOTIwLDE5NjhdLFwidmFsaWRcIl0sW1sxOTY5LDE5NjldLFwidmFsaWRcIl0sW1sxOTcwLDE5ODNdLFwiZGlzYWxsb3dlZFwiXSxbWzE5ODQsMjAzN10sXCJ2YWxpZFwiXSxbWzIwMzgsMjA0Ml0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMjA0MywyMDQ3XSxcImRpc2FsbG93ZWRcIl0sW1syMDQ4LDIwOTNdLFwidmFsaWRcIl0sW1syMDk0LDIwOTVdLFwiZGlzYWxsb3dlZFwiXSxbWzIwOTYsMjExMF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMjExMSwyMTExXSxcImRpc2FsbG93ZWRcIl0sW1syMTEyLDIxMzldLFwidmFsaWRcIl0sW1syMTQwLDIxNDFdLFwiZGlzYWxsb3dlZFwiXSxbWzIxNDIsMjE0Ml0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMjE0MywyMjA3XSxcImRpc2FsbG93ZWRcIl0sW1syMjA4LDIyMDhdLFwidmFsaWRcIl0sW1syMjA5LDIyMDldLFwidmFsaWRcIl0sW1syMjEwLDIyMjBdLFwidmFsaWRcIl0sW1syMjIxLDIyMjZdLFwidmFsaWRcIl0sW1syMjI3LDIyMjhdLFwidmFsaWRcIl0sW1syMjI5LDIyNzRdLFwiZGlzYWxsb3dlZFwiXSxbWzIyNzUsMjI3NV0sXCJ2YWxpZFwiXSxbWzIyNzYsMjMwMl0sXCJ2YWxpZFwiXSxbWzIzMDMsMjMwM10sXCJ2YWxpZFwiXSxbWzIzMDQsMjMwNF0sXCJ2YWxpZFwiXSxbWzIzMDUsMjMwN10sXCJ2YWxpZFwiXSxbWzIzMDgsMjMwOF0sXCJ2YWxpZFwiXSxbWzIzMDksMjM2MV0sXCJ2YWxpZFwiXSxbWzIzNjIsMjM2M10sXCJ2YWxpZFwiXSxbWzIzNjQsMjM4MV0sXCJ2YWxpZFwiXSxbWzIzODIsMjM4Ml0sXCJ2YWxpZFwiXSxbWzIzODMsMjM4M10sXCJ2YWxpZFwiXSxbWzIzODQsMjM4OF0sXCJ2YWxpZFwiXSxbWzIzODksMjM4OV0sXCJ2YWxpZFwiXSxbWzIzOTAsMjM5MV0sXCJ2YWxpZFwiXSxbWzIzOTIsMjM5Ml0sXCJtYXBwZWRcIixbMjMyNSwyMzY0XV0sW1syMzkzLDIzOTNdLFwibWFwcGVkXCIsWzIzMjYsMjM2NF1dLFtbMjM5NCwyMzk0XSxcIm1hcHBlZFwiLFsyMzI3LDIzNjRdXSxbWzIzOTUsMjM5NV0sXCJtYXBwZWRcIixbMjMzMiwyMzY0XV0sW1syMzk2LDIzOTZdLFwibWFwcGVkXCIsWzIzMzcsMjM2NF1dLFtbMjM5NywyMzk3XSxcIm1hcHBlZFwiLFsyMzM4LDIzNjRdXSxbWzIzOTgsMjM5OF0sXCJtYXBwZWRcIixbMjM0NywyMzY0XV0sW1syMzk5LDIzOTldLFwibWFwcGVkXCIsWzIzNTEsMjM2NF1dLFtbMjQwMCwyNDAzXSxcInZhbGlkXCJdLFtbMjQwNCwyNDA1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1syNDA2LDI0MTVdLFwidmFsaWRcIl0sW1syNDE2LDI0MTZdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzI0MTcsMjQxOF0sXCJ2YWxpZFwiXSxbWzI0MTksMjQyM10sXCJ2YWxpZFwiXSxbWzI0MjQsMjQyNF0sXCJ2YWxpZFwiXSxbWzI0MjUsMjQyNl0sXCJ2YWxpZFwiXSxbWzI0MjcsMjQyOF0sXCJ2YWxpZFwiXSxbWzI0MjksMjQyOV0sXCJ2YWxpZFwiXSxbWzI0MzAsMjQzMV0sXCJ2YWxpZFwiXSxbWzI0MzIsMjQzMl0sXCJ2YWxpZFwiXSxbWzI0MzMsMjQzNV0sXCJ2YWxpZFwiXSxbWzI0MzYsMjQzNl0sXCJkaXNhbGxvd2VkXCJdLFtbMjQzNywyNDQ0XSxcInZhbGlkXCJdLFtbMjQ0NSwyNDQ2XSxcImRpc2FsbG93ZWRcIl0sW1syNDQ3LDI0NDhdLFwidmFsaWRcIl0sW1syNDQ5LDI0NTBdLFwiZGlzYWxsb3dlZFwiXSxbWzI0NTEsMjQ3Ml0sXCJ2YWxpZFwiXSxbWzI0NzMsMjQ3M10sXCJkaXNhbGxvd2VkXCJdLFtbMjQ3NCwyNDgwXSxcInZhbGlkXCJdLFtbMjQ4MSwyNDgxXSxcImRpc2FsbG93ZWRcIl0sW1syNDgyLDI0ODJdLFwidmFsaWRcIl0sW1syNDgzLDI0ODVdLFwiZGlzYWxsb3dlZFwiXSxbWzI0ODYsMjQ4OV0sXCJ2YWxpZFwiXSxbWzI0OTAsMjQ5MV0sXCJkaXNhbGxvd2VkXCJdLFtbMjQ5MiwyNDkyXSxcInZhbGlkXCJdLFtbMjQ5MywyNDkzXSxcInZhbGlkXCJdLFtbMjQ5NCwyNTAwXSxcInZhbGlkXCJdLFtbMjUwMSwyNTAyXSxcImRpc2FsbG93ZWRcIl0sW1syNTAzLDI1MDRdLFwidmFsaWRcIl0sW1syNTA1LDI1MDZdLFwiZGlzYWxsb3dlZFwiXSxbWzI1MDcsMjUwOV0sXCJ2YWxpZFwiXSxbWzI1MTAsMjUxMF0sXCJ2YWxpZFwiXSxbWzI1MTEsMjUxOF0sXCJkaXNhbGxvd2VkXCJdLFtbMjUxOSwyNTE5XSxcInZhbGlkXCJdLFtbMjUyMCwyNTIzXSxcImRpc2FsbG93ZWRcIl0sW1syNTI0LDI1MjRdLFwibWFwcGVkXCIsWzI0NjUsMjQ5Ml1dLFtbMjUyNSwyNTI1XSxcIm1hcHBlZFwiLFsyNDY2LDI0OTJdXSxbWzI1MjYsMjUyNl0sXCJkaXNhbGxvd2VkXCJdLFtbMjUyNywyNTI3XSxcIm1hcHBlZFwiLFsyNDc5LDI0OTJdXSxbWzI1MjgsMjUzMV0sXCJ2YWxpZFwiXSxbWzI1MzIsMjUzM10sXCJkaXNhbGxvd2VkXCJdLFtbMjUzNCwyNTQ1XSxcInZhbGlkXCJdLFtbMjU0NiwyNTU0XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1syNTU1LDI1NTVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzI1NTYsMjU2MF0sXCJkaXNhbGxvd2VkXCJdLFtbMjU2MSwyNTYxXSxcInZhbGlkXCJdLFtbMjU2MiwyNTYyXSxcInZhbGlkXCJdLFtbMjU2MywyNTYzXSxcInZhbGlkXCJdLFtbMjU2NCwyNTY0XSxcImRpc2FsbG93ZWRcIl0sW1syNTY1LDI1NzBdLFwidmFsaWRcIl0sW1syNTcxLDI1NzRdLFwiZGlzYWxsb3dlZFwiXSxbWzI1NzUsMjU3Nl0sXCJ2YWxpZFwiXSxbWzI1NzcsMjU3OF0sXCJkaXNhbGxvd2VkXCJdLFtbMjU3OSwyNjAwXSxcInZhbGlkXCJdLFtbMjYwMSwyNjAxXSxcImRpc2FsbG93ZWRcIl0sW1syNjAyLDI2MDhdLFwidmFsaWRcIl0sW1syNjA5LDI2MDldLFwiZGlzYWxsb3dlZFwiXSxbWzI2MTAsMjYxMF0sXCJ2YWxpZFwiXSxbWzI2MTEsMjYxMV0sXCJtYXBwZWRcIixbMjYxMCwyNjIwXV0sW1syNjEyLDI2MTJdLFwiZGlzYWxsb3dlZFwiXSxbWzI2MTMsMjYxM10sXCJ2YWxpZFwiXSxbWzI2MTQsMjYxNF0sXCJtYXBwZWRcIixbMjYxNiwyNjIwXV0sW1syNjE1LDI2MTVdLFwiZGlzYWxsb3dlZFwiXSxbWzI2MTYsMjYxN10sXCJ2YWxpZFwiXSxbWzI2MTgsMjYxOV0sXCJkaXNhbGxvd2VkXCJdLFtbMjYyMCwyNjIwXSxcInZhbGlkXCJdLFtbMjYyMSwyNjIxXSxcImRpc2FsbG93ZWRcIl0sW1syNjIyLDI2MjZdLFwidmFsaWRcIl0sW1syNjI3LDI2MzBdLFwiZGlzYWxsb3dlZFwiXSxbWzI2MzEsMjYzMl0sXCJ2YWxpZFwiXSxbWzI2MzMsMjYzNF0sXCJkaXNhbGxvd2VkXCJdLFtbMjYzNSwyNjM3XSxcInZhbGlkXCJdLFtbMjYzOCwyNjQwXSxcImRpc2FsbG93ZWRcIl0sW1syNjQxLDI2NDFdLFwidmFsaWRcIl0sW1syNjQyLDI2NDhdLFwiZGlzYWxsb3dlZFwiXSxbWzI2NDksMjY0OV0sXCJtYXBwZWRcIixbMjU4MiwyNjIwXV0sW1syNjUwLDI2NTBdLFwibWFwcGVkXCIsWzI1ODMsMjYyMF1dLFtbMjY1MSwyNjUxXSxcIm1hcHBlZFwiLFsyNTg4LDI2MjBdXSxbWzI2NTIsMjY1Ml0sXCJ2YWxpZFwiXSxbWzI2NTMsMjY1M10sXCJkaXNhbGxvd2VkXCJdLFtbMjY1NCwyNjU0XSxcIm1hcHBlZFwiLFsyNjAzLDI2MjBdXSxbWzI2NTUsMjY2MV0sXCJkaXNhbGxvd2VkXCJdLFtbMjY2MiwyNjc2XSxcInZhbGlkXCJdLFtbMjY3NywyNjc3XSxcInZhbGlkXCJdLFtbMjY3OCwyNjg4XSxcImRpc2FsbG93ZWRcIl0sW1syNjg5LDI2OTFdLFwidmFsaWRcIl0sW1syNjkyLDI2OTJdLFwiZGlzYWxsb3dlZFwiXSxbWzI2OTMsMjY5OV0sXCJ2YWxpZFwiXSxbWzI3MDAsMjcwMF0sXCJ2YWxpZFwiXSxbWzI3MDEsMjcwMV0sXCJ2YWxpZFwiXSxbWzI3MDIsMjcwMl0sXCJkaXNhbGxvd2VkXCJdLFtbMjcwMywyNzA1XSxcInZhbGlkXCJdLFtbMjcwNiwyNzA2XSxcImRpc2FsbG93ZWRcIl0sW1syNzA3LDI3MjhdLFwidmFsaWRcIl0sW1syNzI5LDI3MjldLFwiZGlzYWxsb3dlZFwiXSxbWzI3MzAsMjczNl0sXCJ2YWxpZFwiXSxbWzI3MzcsMjczN10sXCJkaXNhbGxvd2VkXCJdLFtbMjczOCwyNzM5XSxcInZhbGlkXCJdLFtbMjc0MCwyNzQwXSxcImRpc2FsbG93ZWRcIl0sW1syNzQxLDI3NDVdLFwidmFsaWRcIl0sW1syNzQ2LDI3NDddLFwiZGlzYWxsb3dlZFwiXSxbWzI3NDgsMjc1N10sXCJ2YWxpZFwiXSxbWzI3NTgsMjc1OF0sXCJkaXNhbGxvd2VkXCJdLFtbMjc1OSwyNzYxXSxcInZhbGlkXCJdLFtbMjc2MiwyNzYyXSxcImRpc2FsbG93ZWRcIl0sW1syNzYzLDI3NjVdLFwidmFsaWRcIl0sW1syNzY2LDI3NjddLFwiZGlzYWxsb3dlZFwiXSxbWzI3NjgsMjc2OF0sXCJ2YWxpZFwiXSxbWzI3NjksMjc4M10sXCJkaXNhbGxvd2VkXCJdLFtbMjc4NCwyNzg0XSxcInZhbGlkXCJdLFtbMjc4NSwyNzg3XSxcInZhbGlkXCJdLFtbMjc4OCwyNzg5XSxcImRpc2FsbG93ZWRcIl0sW1syNzkwLDI3OTldLFwidmFsaWRcIl0sW1syODAwLDI4MDBdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzI4MDEsMjgwMV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMjgwMiwyODA4XSxcImRpc2FsbG93ZWRcIl0sW1syODA5LDI4MDldLFwidmFsaWRcIl0sW1syODEwLDI4MTZdLFwiZGlzYWxsb3dlZFwiXSxbWzI4MTcsMjgxOV0sXCJ2YWxpZFwiXSxbWzI4MjAsMjgyMF0sXCJkaXNhbGxvd2VkXCJdLFtbMjgyMSwyODI4XSxcInZhbGlkXCJdLFtbMjgyOSwyODMwXSxcImRpc2FsbG93ZWRcIl0sW1syODMxLDI4MzJdLFwidmFsaWRcIl0sW1syODMzLDI4MzRdLFwiZGlzYWxsb3dlZFwiXSxbWzI4MzUsMjg1Nl0sXCJ2YWxpZFwiXSxbWzI4NTcsMjg1N10sXCJkaXNhbGxvd2VkXCJdLFtbMjg1OCwyODY0XSxcInZhbGlkXCJdLFtbMjg2NSwyODY1XSxcImRpc2FsbG93ZWRcIl0sW1syODY2LDI4NjddLFwidmFsaWRcIl0sW1syODY4LDI4NjhdLFwiZGlzYWxsb3dlZFwiXSxbWzI4NjksMjg2OV0sXCJ2YWxpZFwiXSxbWzI4NzAsMjg3M10sXCJ2YWxpZFwiXSxbWzI4NzQsMjg3NV0sXCJkaXNhbGxvd2VkXCJdLFtbMjg3NiwyODgzXSxcInZhbGlkXCJdLFtbMjg4NCwyODg0XSxcInZhbGlkXCJdLFtbMjg4NSwyODg2XSxcImRpc2FsbG93ZWRcIl0sW1syODg3LDI4ODhdLFwidmFsaWRcIl0sW1syODg5LDI4OTBdLFwiZGlzYWxsb3dlZFwiXSxbWzI4OTEsMjg5M10sXCJ2YWxpZFwiXSxbWzI4OTQsMjkwMV0sXCJkaXNhbGxvd2VkXCJdLFtbMjkwMiwyOTAzXSxcInZhbGlkXCJdLFtbMjkwNCwyOTA3XSxcImRpc2FsbG93ZWRcIl0sW1syOTA4LDI5MDhdLFwibWFwcGVkXCIsWzI4NDksMjg3Nl1dLFtbMjkwOSwyOTA5XSxcIm1hcHBlZFwiLFsyODUwLDI4NzZdXSxbWzI5MTAsMjkxMF0sXCJkaXNhbGxvd2VkXCJdLFtbMjkxMSwyOTEzXSxcInZhbGlkXCJdLFtbMjkxNCwyOTE1XSxcInZhbGlkXCJdLFtbMjkxNiwyOTE3XSxcImRpc2FsbG93ZWRcIl0sW1syOTE4LDI5MjddLFwidmFsaWRcIl0sW1syOTI4LDI5MjhdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzI5MjksMjkyOV0sXCJ2YWxpZFwiXSxbWzI5MzAsMjkzNV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMjkzNiwyOTQ1XSxcImRpc2FsbG93ZWRcIl0sW1syOTQ2LDI5NDddLFwidmFsaWRcIl0sW1syOTQ4LDI5NDhdLFwiZGlzYWxsb3dlZFwiXSxbWzI5NDksMjk1NF0sXCJ2YWxpZFwiXSxbWzI5NTUsMjk1N10sXCJkaXNhbGxvd2VkXCJdLFtbMjk1OCwyOTYwXSxcInZhbGlkXCJdLFtbMjk2MSwyOTYxXSxcImRpc2FsbG93ZWRcIl0sW1syOTYyLDI5NjVdLFwidmFsaWRcIl0sW1syOTY2LDI5NjhdLFwiZGlzYWxsb3dlZFwiXSxbWzI5NjksMjk3MF0sXCJ2YWxpZFwiXSxbWzI5NzEsMjk3MV0sXCJkaXNhbGxvd2VkXCJdLFtbMjk3MiwyOTcyXSxcInZhbGlkXCJdLFtbMjk3MywyOTczXSxcImRpc2FsbG93ZWRcIl0sW1syOTc0LDI5NzVdLFwidmFsaWRcIl0sW1syOTc2LDI5NzhdLFwiZGlzYWxsb3dlZFwiXSxbWzI5NzksMjk4MF0sXCJ2YWxpZFwiXSxbWzI5ODEsMjk4M10sXCJkaXNhbGxvd2VkXCJdLFtbMjk4NCwyOTg2XSxcInZhbGlkXCJdLFtbMjk4NywyOTg5XSxcImRpc2FsbG93ZWRcIl0sW1syOTkwLDI5OTddLFwidmFsaWRcIl0sW1syOTk4LDI5OThdLFwidmFsaWRcIl0sW1syOTk5LDMwMDFdLFwidmFsaWRcIl0sW1szMDAyLDMwMDVdLFwiZGlzYWxsb3dlZFwiXSxbWzMwMDYsMzAxMF0sXCJ2YWxpZFwiXSxbWzMwMTEsMzAxM10sXCJkaXNhbGxvd2VkXCJdLFtbMzAxNCwzMDE2XSxcInZhbGlkXCJdLFtbMzAxNywzMDE3XSxcImRpc2FsbG93ZWRcIl0sW1szMDE4LDMwMjFdLFwidmFsaWRcIl0sW1szMDIyLDMwMjNdLFwiZGlzYWxsb3dlZFwiXSxbWzMwMjQsMzAyNF0sXCJ2YWxpZFwiXSxbWzMwMjUsMzAzMF0sXCJkaXNhbGxvd2VkXCJdLFtbMzAzMSwzMDMxXSxcInZhbGlkXCJdLFtbMzAzMiwzMDQ1XSxcImRpc2FsbG93ZWRcIl0sW1szMDQ2LDMwNDZdLFwidmFsaWRcIl0sW1szMDQ3LDMwNTVdLFwidmFsaWRcIl0sW1szMDU2LDMwNThdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzMwNTksMzA2Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMzA2NywzMDcxXSxcImRpc2FsbG93ZWRcIl0sW1szMDcyLDMwNzJdLFwidmFsaWRcIl0sW1szMDczLDMwNzVdLFwidmFsaWRcIl0sW1szMDc2LDMwNzZdLFwiZGlzYWxsb3dlZFwiXSxbWzMwNzcsMzA4NF0sXCJ2YWxpZFwiXSxbWzMwODUsMzA4NV0sXCJkaXNhbGxvd2VkXCJdLFtbMzA4NiwzMDg4XSxcInZhbGlkXCJdLFtbMzA4OSwzMDg5XSxcImRpc2FsbG93ZWRcIl0sW1szMDkwLDMxMTJdLFwidmFsaWRcIl0sW1szMTEzLDMxMTNdLFwiZGlzYWxsb3dlZFwiXSxbWzMxMTQsMzEyM10sXCJ2YWxpZFwiXSxbWzMxMjQsMzEyNF0sXCJ2YWxpZFwiXSxbWzMxMjUsMzEyOV0sXCJ2YWxpZFwiXSxbWzMxMzAsMzEzMl0sXCJkaXNhbGxvd2VkXCJdLFtbMzEzMywzMTMzXSxcInZhbGlkXCJdLFtbMzEzNCwzMTQwXSxcInZhbGlkXCJdLFtbMzE0MSwzMTQxXSxcImRpc2FsbG93ZWRcIl0sW1szMTQyLDMxNDRdLFwidmFsaWRcIl0sW1szMTQ1LDMxNDVdLFwiZGlzYWxsb3dlZFwiXSxbWzMxNDYsMzE0OV0sXCJ2YWxpZFwiXSxbWzMxNTAsMzE1Nl0sXCJkaXNhbGxvd2VkXCJdLFtbMzE1NywzMTU4XSxcInZhbGlkXCJdLFtbMzE1OSwzMTU5XSxcImRpc2FsbG93ZWRcIl0sW1szMTYwLDMxNjFdLFwidmFsaWRcIl0sW1szMTYyLDMxNjJdLFwidmFsaWRcIl0sW1szMTYzLDMxNjddLFwiZGlzYWxsb3dlZFwiXSxbWzMxNjgsMzE2OV0sXCJ2YWxpZFwiXSxbWzMxNzAsMzE3MV0sXCJ2YWxpZFwiXSxbWzMxNzIsMzE3M10sXCJkaXNhbGxvd2VkXCJdLFtbMzE3NCwzMTgzXSxcInZhbGlkXCJdLFtbMzE4NCwzMTkxXSxcImRpc2FsbG93ZWRcIl0sW1szMTkyLDMxOTldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzMyMDAsMzIwMF0sXCJkaXNhbGxvd2VkXCJdLFtbMzIwMSwzMjAxXSxcInZhbGlkXCJdLFtbMzIwMiwzMjAzXSxcInZhbGlkXCJdLFtbMzIwNCwzMjA0XSxcImRpc2FsbG93ZWRcIl0sW1szMjA1LDMyMTJdLFwidmFsaWRcIl0sW1szMjEzLDMyMTNdLFwiZGlzYWxsb3dlZFwiXSxbWzMyMTQsMzIxNl0sXCJ2YWxpZFwiXSxbWzMyMTcsMzIxN10sXCJkaXNhbGxvd2VkXCJdLFtbMzIxOCwzMjQwXSxcInZhbGlkXCJdLFtbMzI0MSwzMjQxXSxcImRpc2FsbG93ZWRcIl0sW1szMjQyLDMyNTFdLFwidmFsaWRcIl0sW1szMjUyLDMyNTJdLFwiZGlzYWxsb3dlZFwiXSxbWzMyNTMsMzI1N10sXCJ2YWxpZFwiXSxbWzMyNTgsMzI1OV0sXCJkaXNhbGxvd2VkXCJdLFtbMzI2MCwzMjYxXSxcInZhbGlkXCJdLFtbMzI2MiwzMjY4XSxcInZhbGlkXCJdLFtbMzI2OSwzMjY5XSxcImRpc2FsbG93ZWRcIl0sW1szMjcwLDMyNzJdLFwidmFsaWRcIl0sW1szMjczLDMyNzNdLFwiZGlzYWxsb3dlZFwiXSxbWzMyNzQsMzI3N10sXCJ2YWxpZFwiXSxbWzMyNzgsMzI4NF0sXCJkaXNhbGxvd2VkXCJdLFtbMzI4NSwzMjg2XSxcInZhbGlkXCJdLFtbMzI4NywzMjkzXSxcImRpc2FsbG93ZWRcIl0sW1szMjk0LDMyOTRdLFwidmFsaWRcIl0sW1szMjk1LDMyOTVdLFwiZGlzYWxsb3dlZFwiXSxbWzMyOTYsMzI5N10sXCJ2YWxpZFwiXSxbWzMyOTgsMzI5OV0sXCJ2YWxpZFwiXSxbWzMzMDAsMzMwMV0sXCJkaXNhbGxvd2VkXCJdLFtbMzMwMiwzMzExXSxcInZhbGlkXCJdLFtbMzMxMiwzMzEyXSxcImRpc2FsbG93ZWRcIl0sW1szMzEzLDMzMTRdLFwidmFsaWRcIl0sW1szMzE1LDMzMjhdLFwiZGlzYWxsb3dlZFwiXSxbWzMzMjksMzMyOV0sXCJ2YWxpZFwiXSxbWzMzMzAsMzMzMV0sXCJ2YWxpZFwiXSxbWzMzMzIsMzMzMl0sXCJkaXNhbGxvd2VkXCJdLFtbMzMzMywzMzQwXSxcInZhbGlkXCJdLFtbMzM0MSwzMzQxXSxcImRpc2FsbG93ZWRcIl0sW1szMzQyLDMzNDRdLFwidmFsaWRcIl0sW1szMzQ1LDMzNDVdLFwiZGlzYWxsb3dlZFwiXSxbWzMzNDYsMzM2OF0sXCJ2YWxpZFwiXSxbWzMzNjksMzM2OV0sXCJ2YWxpZFwiXSxbWzMzNzAsMzM4NV0sXCJ2YWxpZFwiXSxbWzMzODYsMzM4Nl0sXCJ2YWxpZFwiXSxbWzMzODcsMzM4OF0sXCJkaXNhbGxvd2VkXCJdLFtbMzM4OSwzMzg5XSxcInZhbGlkXCJdLFtbMzM5MCwzMzk1XSxcInZhbGlkXCJdLFtbMzM5NiwzMzk2XSxcInZhbGlkXCJdLFtbMzM5NywzMzk3XSxcImRpc2FsbG93ZWRcIl0sW1szMzk4LDM0MDBdLFwidmFsaWRcIl0sW1szNDAxLDM0MDFdLFwiZGlzYWxsb3dlZFwiXSxbWzM0MDIsMzQwNV0sXCJ2YWxpZFwiXSxbWzM0MDYsMzQwNl0sXCJ2YWxpZFwiXSxbWzM0MDcsMzQxNF0sXCJkaXNhbGxvd2VkXCJdLFtbMzQxNSwzNDE1XSxcInZhbGlkXCJdLFtbMzQxNiwzNDIyXSxcImRpc2FsbG93ZWRcIl0sW1szNDIzLDM0MjNdLFwidmFsaWRcIl0sW1szNDI0LDM0MjVdLFwidmFsaWRcIl0sW1szNDI2LDM0MjddLFwidmFsaWRcIl0sW1szNDI4LDM0MjldLFwiZGlzYWxsb3dlZFwiXSxbWzM0MzAsMzQzOV0sXCJ2YWxpZFwiXSxbWzM0NDAsMzQ0NV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMzQ0NiwzNDQ4XSxcImRpc2FsbG93ZWRcIl0sW1szNDQ5LDM0NDldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzM0NTAsMzQ1NV0sXCJ2YWxpZFwiXSxbWzM0NTYsMzQ1N10sXCJkaXNhbGxvd2VkXCJdLFtbMzQ1OCwzNDU5XSxcInZhbGlkXCJdLFtbMzQ2MCwzNDYwXSxcImRpc2FsbG93ZWRcIl0sW1szNDYxLDM0NzhdLFwidmFsaWRcIl0sW1szNDc5LDM0ODFdLFwiZGlzYWxsb3dlZFwiXSxbWzM0ODIsMzUwNV0sXCJ2YWxpZFwiXSxbWzM1MDYsMzUwNl0sXCJkaXNhbGxvd2VkXCJdLFtbMzUwNywzNTE1XSxcInZhbGlkXCJdLFtbMzUxNiwzNTE2XSxcImRpc2FsbG93ZWRcIl0sW1szNTE3LDM1MTddLFwidmFsaWRcIl0sW1szNTE4LDM1MTldLFwiZGlzYWxsb3dlZFwiXSxbWzM1MjAsMzUyNl0sXCJ2YWxpZFwiXSxbWzM1MjcsMzUyOV0sXCJkaXNhbGxvd2VkXCJdLFtbMzUzMCwzNTMwXSxcInZhbGlkXCJdLFtbMzUzMSwzNTM0XSxcImRpc2FsbG93ZWRcIl0sW1szNTM1LDM1NDBdLFwidmFsaWRcIl0sW1szNTQxLDM1NDFdLFwiZGlzYWxsb3dlZFwiXSxbWzM1NDIsMzU0Ml0sXCJ2YWxpZFwiXSxbWzM1NDMsMzU0M10sXCJkaXNhbGxvd2VkXCJdLFtbMzU0NCwzNTUxXSxcInZhbGlkXCJdLFtbMzU1MiwzNTU3XSxcImRpc2FsbG93ZWRcIl0sW1szNTU4LDM1NjddLFwidmFsaWRcIl0sW1szNTY4LDM1NjldLFwiZGlzYWxsb3dlZFwiXSxbWzM1NzAsMzU3MV0sXCJ2YWxpZFwiXSxbWzM1NzIsMzU3Ml0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMzU3MywzNTg0XSxcImRpc2FsbG93ZWRcIl0sW1szNTg1LDM2MzRdLFwidmFsaWRcIl0sW1szNjM1LDM2MzVdLFwibWFwcGVkXCIsWzM2NjEsMzYzNF1dLFtbMzYzNiwzNjQyXSxcInZhbGlkXCJdLFtbMzY0MywzNjQ2XSxcImRpc2FsbG93ZWRcIl0sW1szNjQ3LDM2NDddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzM2NDgsMzY2Ml0sXCJ2YWxpZFwiXSxbWzM2NjMsMzY2M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMzY2NCwzNjczXSxcInZhbGlkXCJdLFtbMzY3NCwzNjc1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1szNjc2LDM3MTJdLFwiZGlzYWxsb3dlZFwiXSxbWzM3MTMsMzcxNF0sXCJ2YWxpZFwiXSxbWzM3MTUsMzcxNV0sXCJkaXNhbGxvd2VkXCJdLFtbMzcxNiwzNzE2XSxcInZhbGlkXCJdLFtbMzcxNywzNzE4XSxcImRpc2FsbG93ZWRcIl0sW1szNzE5LDM3MjBdLFwidmFsaWRcIl0sW1szNzIxLDM3MjFdLFwiZGlzYWxsb3dlZFwiXSxbWzM3MjIsMzcyMl0sXCJ2YWxpZFwiXSxbWzM3MjMsMzcyNF0sXCJkaXNhbGxvd2VkXCJdLFtbMzcyNSwzNzI1XSxcInZhbGlkXCJdLFtbMzcyNiwzNzMxXSxcImRpc2FsbG93ZWRcIl0sW1szNzMyLDM3MzVdLFwidmFsaWRcIl0sW1szNzM2LDM3MzZdLFwiZGlzYWxsb3dlZFwiXSxbWzM3MzcsMzc0M10sXCJ2YWxpZFwiXSxbWzM3NDQsMzc0NF0sXCJkaXNhbGxvd2VkXCJdLFtbMzc0NSwzNzQ3XSxcInZhbGlkXCJdLFtbMzc0OCwzNzQ4XSxcImRpc2FsbG93ZWRcIl0sW1szNzQ5LDM3NDldLFwidmFsaWRcIl0sW1szNzUwLDM3NTBdLFwiZGlzYWxsb3dlZFwiXSxbWzM3NTEsMzc1MV0sXCJ2YWxpZFwiXSxbWzM3NTIsMzc1M10sXCJkaXNhbGxvd2VkXCJdLFtbMzc1NCwzNzU1XSxcInZhbGlkXCJdLFtbMzc1NiwzNzU2XSxcImRpc2FsbG93ZWRcIl0sW1szNzU3LDM3NjJdLFwidmFsaWRcIl0sW1szNzYzLDM3NjNdLFwibWFwcGVkXCIsWzM3ODksMzc2Ml1dLFtbMzc2NCwzNzY5XSxcInZhbGlkXCJdLFtbMzc3MCwzNzcwXSxcImRpc2FsbG93ZWRcIl0sW1szNzcxLDM3NzNdLFwidmFsaWRcIl0sW1szNzc0LDM3NzVdLFwiZGlzYWxsb3dlZFwiXSxbWzM3NzYsMzc4MF0sXCJ2YWxpZFwiXSxbWzM3ODEsMzc4MV0sXCJkaXNhbGxvd2VkXCJdLFtbMzc4MiwzNzgyXSxcInZhbGlkXCJdLFtbMzc4MywzNzgzXSxcImRpc2FsbG93ZWRcIl0sW1szNzg0LDM3ODldLFwidmFsaWRcIl0sW1szNzkwLDM3OTFdLFwiZGlzYWxsb3dlZFwiXSxbWzM3OTIsMzgwMV0sXCJ2YWxpZFwiXSxbWzM4MDIsMzgwM10sXCJkaXNhbGxvd2VkXCJdLFtbMzgwNCwzODA0XSxcIm1hcHBlZFwiLFszNzU1LDM3MzddXSxbWzM4MDUsMzgwNV0sXCJtYXBwZWRcIixbMzc1NSwzNzQ1XV0sW1szODA2LDM4MDddLFwidmFsaWRcIl0sW1szODA4LDM4MzldLFwiZGlzYWxsb3dlZFwiXSxbWzM4NDAsMzg0MF0sXCJ2YWxpZFwiXSxbWzM4NDEsMzg1MF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMzg1MSwzODUxXSxcInZhbGlkXCJdLFtbMzg1MiwzODUyXSxcIm1hcHBlZFwiLFszODUxXV0sW1szODUzLDM4NjNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzM4NjQsMzg2NV0sXCJ2YWxpZFwiXSxbWzM4NjYsMzg3MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMzg3MiwzODgxXSxcInZhbGlkXCJdLFtbMzg4MiwzODkyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1szODkzLDM4OTNdLFwidmFsaWRcIl0sW1szODk0LDM4OTRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzM4OTUsMzg5NV0sXCJ2YWxpZFwiXSxbWzM4OTYsMzg5Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMzg5NywzODk3XSxcInZhbGlkXCJdLFtbMzg5OCwzOTAxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1szOTAyLDM5MDZdLFwidmFsaWRcIl0sW1szOTA3LDM5MDddLFwibWFwcGVkXCIsWzM5MDYsNDAyM11dLFtbMzkwOCwzOTExXSxcInZhbGlkXCJdLFtbMzkxMiwzOTEyXSxcImRpc2FsbG93ZWRcIl0sW1szOTEzLDM5MTZdLFwidmFsaWRcIl0sW1szOTE3LDM5MTddLFwibWFwcGVkXCIsWzM5MTYsNDAyM11dLFtbMzkxOCwzOTIxXSxcInZhbGlkXCJdLFtbMzkyMiwzOTIyXSxcIm1hcHBlZFwiLFszOTIxLDQwMjNdXSxbWzM5MjMsMzkyNl0sXCJ2YWxpZFwiXSxbWzM5MjcsMzkyN10sXCJtYXBwZWRcIixbMzkyNiw0MDIzXV0sW1szOTI4LDM5MzFdLFwidmFsaWRcIl0sW1szOTMyLDM5MzJdLFwibWFwcGVkXCIsWzM5MzEsNDAyM11dLFtbMzkzMywzOTQ0XSxcInZhbGlkXCJdLFtbMzk0NSwzOTQ1XSxcIm1hcHBlZFwiLFszOTA0LDQwMjFdXSxbWzM5NDYsMzk0Nl0sXCJ2YWxpZFwiXSxbWzM5NDcsMzk0OF0sXCJ2YWxpZFwiXSxbWzM5NDksMzk1Ml0sXCJkaXNhbGxvd2VkXCJdLFtbMzk1MywzOTU0XSxcInZhbGlkXCJdLFtbMzk1NSwzOTU1XSxcIm1hcHBlZFwiLFszOTUzLDM5NTRdXSxbWzM5NTYsMzk1Nl0sXCJ2YWxpZFwiXSxbWzM5NTcsMzk1N10sXCJtYXBwZWRcIixbMzk1MywzOTU2XV0sW1szOTU4LDM5NThdLFwibWFwcGVkXCIsWzQwMTgsMzk2OF1dLFtbMzk1OSwzOTU5XSxcIm1hcHBlZFwiLFs0MDE4LDM5NTMsMzk2OF1dLFtbMzk2MCwzOTYwXSxcIm1hcHBlZFwiLFs0MDE5LDM5NjhdXSxbWzM5NjEsMzk2MV0sXCJtYXBwZWRcIixbNDAxOSwzOTUzLDM5NjhdXSxbWzM5NjIsMzk2OF0sXCJ2YWxpZFwiXSxbWzM5NjksMzk2OV0sXCJtYXBwZWRcIixbMzk1MywzOTY4XV0sW1szOTcwLDM5NzJdLFwidmFsaWRcIl0sW1szOTczLDM5NzNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzM5NzQsMzk3OV0sXCJ2YWxpZFwiXSxbWzM5ODAsMzk4M10sXCJ2YWxpZFwiXSxbWzM5ODQsMzk4Nl0sXCJ2YWxpZFwiXSxbWzM5ODcsMzk4N10sXCJtYXBwZWRcIixbMzk4Niw0MDIzXV0sW1szOTg4LDM5ODldLFwidmFsaWRcIl0sW1szOTkwLDM5OTBdLFwidmFsaWRcIl0sW1szOTkxLDM5OTFdLFwidmFsaWRcIl0sW1szOTkyLDM5OTJdLFwiZGlzYWxsb3dlZFwiXSxbWzM5OTMsMzk5Nl0sXCJ2YWxpZFwiXSxbWzM5OTcsMzk5N10sXCJtYXBwZWRcIixbMzk5Niw0MDIzXV0sW1szOTk4LDQwMDFdLFwidmFsaWRcIl0sW1s0MDAyLDQwMDJdLFwibWFwcGVkXCIsWzQwMDEsNDAyM11dLFtbNDAwMyw0MDA2XSxcInZhbGlkXCJdLFtbNDAwNyw0MDA3XSxcIm1hcHBlZFwiLFs0MDA2LDQwMjNdXSxbWzQwMDgsNDAxMV0sXCJ2YWxpZFwiXSxbWzQwMTIsNDAxMl0sXCJtYXBwZWRcIixbNDAxMSw0MDIzXV0sW1s0MDEzLDQwMTNdLFwidmFsaWRcIl0sW1s0MDE0LDQwMTZdLFwidmFsaWRcIl0sW1s0MDE3LDQwMjNdLFwidmFsaWRcIl0sW1s0MDI0LDQwMjRdLFwidmFsaWRcIl0sW1s0MDI1LDQwMjVdLFwibWFwcGVkXCIsWzM5ODQsNDAyMV1dLFtbNDAyNiw0MDI4XSxcInZhbGlkXCJdLFtbNDAyOSw0MDI5XSxcImRpc2FsbG93ZWRcIl0sW1s0MDMwLDQwMzddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQwMzgsNDAzOF0sXCJ2YWxpZFwiXSxbWzQwMzksNDA0NF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDA0NSw0MDQ1XSxcImRpc2FsbG93ZWRcIl0sW1s0MDQ2LDQwNDZdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQwNDcsNDA0N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDA0OCw0MDQ5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0MDUwLDQwNTJdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQwNTMsNDA1Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDA1Nyw0MDU4XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0MDU5LDQwOTVdLFwiZGlzYWxsb3dlZFwiXSxbWzQwOTYsNDEyOV0sXCJ2YWxpZFwiXSxbWzQxMzAsNDEzMF0sXCJ2YWxpZFwiXSxbWzQxMzEsNDEzNV0sXCJ2YWxpZFwiXSxbWzQxMzYsNDEzNl0sXCJ2YWxpZFwiXSxbWzQxMzcsNDEzOF0sXCJ2YWxpZFwiXSxbWzQxMzksNDEzOV0sXCJ2YWxpZFwiXSxbWzQxNDAsNDE0Nl0sXCJ2YWxpZFwiXSxbWzQxNDcsNDE0OV0sXCJ2YWxpZFwiXSxbWzQxNTAsNDE1M10sXCJ2YWxpZFwiXSxbWzQxNTQsNDE1OV0sXCJ2YWxpZFwiXSxbWzQxNjAsNDE2OV0sXCJ2YWxpZFwiXSxbWzQxNzAsNDE3NV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDE3Niw0MTg1XSxcInZhbGlkXCJdLFtbNDE4Niw0MjQ5XSxcInZhbGlkXCJdLFtbNDI1MCw0MjUzXSxcInZhbGlkXCJdLFtbNDI1NCw0MjU1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0MjU2LDQyOTNdLFwiZGlzYWxsb3dlZFwiXSxbWzQyOTQsNDI5NF0sXCJkaXNhbGxvd2VkXCJdLFtbNDI5NSw0Mjk1XSxcIm1hcHBlZFwiLFsxMTU1OV1dLFtbNDI5Niw0MzAwXSxcImRpc2FsbG93ZWRcIl0sW1s0MzAxLDQzMDFdLFwibWFwcGVkXCIsWzExNTY1XV0sW1s0MzAyLDQzMDNdLFwiZGlzYWxsb3dlZFwiXSxbWzQzMDQsNDM0Ml0sXCJ2YWxpZFwiXSxbWzQzNDMsNDM0NF0sXCJ2YWxpZFwiXSxbWzQzNDUsNDM0Nl0sXCJ2YWxpZFwiXSxbWzQzNDcsNDM0N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDM0OCw0MzQ4XSxcIm1hcHBlZFwiLFs0MzE2XV0sW1s0MzQ5LDQzNTFdLFwidmFsaWRcIl0sW1s0MzUyLDQ0NDFdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQ0NDIsNDQ0Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDQ0Nyw0NDQ4XSxcImRpc2FsbG93ZWRcIl0sW1s0NDQ5LDQ1MTRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQ1MTUsNDUxOV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDUyMCw0NjAxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0NjAyLDQ2MDddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQ2MDgsNDYxNF0sXCJ2YWxpZFwiXSxbWzQ2MTUsNDYxNV0sXCJ2YWxpZFwiXSxbWzQ2MTYsNDY3OF0sXCJ2YWxpZFwiXSxbWzQ2NzksNDY3OV0sXCJ2YWxpZFwiXSxbWzQ2ODAsNDY4MF0sXCJ2YWxpZFwiXSxbWzQ2ODEsNDY4MV0sXCJkaXNhbGxvd2VkXCJdLFtbNDY4Miw0Njg1XSxcInZhbGlkXCJdLFtbNDY4Niw0Njg3XSxcImRpc2FsbG93ZWRcIl0sW1s0Njg4LDQ2OTRdLFwidmFsaWRcIl0sW1s0Njk1LDQ2OTVdLFwiZGlzYWxsb3dlZFwiXSxbWzQ2OTYsNDY5Nl0sXCJ2YWxpZFwiXSxbWzQ2OTcsNDY5N10sXCJkaXNhbGxvd2VkXCJdLFtbNDY5OCw0NzAxXSxcInZhbGlkXCJdLFtbNDcwMiw0NzAzXSxcImRpc2FsbG93ZWRcIl0sW1s0NzA0LDQ3NDJdLFwidmFsaWRcIl0sW1s0NzQzLDQ3NDNdLFwidmFsaWRcIl0sW1s0NzQ0LDQ3NDRdLFwidmFsaWRcIl0sW1s0NzQ1LDQ3NDVdLFwiZGlzYWxsb3dlZFwiXSxbWzQ3NDYsNDc0OV0sXCJ2YWxpZFwiXSxbWzQ3NTAsNDc1MV0sXCJkaXNhbGxvd2VkXCJdLFtbNDc1Miw0NzgyXSxcInZhbGlkXCJdLFtbNDc4Myw0NzgzXSxcInZhbGlkXCJdLFtbNDc4NCw0Nzg0XSxcInZhbGlkXCJdLFtbNDc4NSw0Nzg1XSxcImRpc2FsbG93ZWRcIl0sW1s0Nzg2LDQ3ODldLFwidmFsaWRcIl0sW1s0NzkwLDQ3OTFdLFwiZGlzYWxsb3dlZFwiXSxbWzQ3OTIsNDc5OF0sXCJ2YWxpZFwiXSxbWzQ3OTksNDc5OV0sXCJkaXNhbGxvd2VkXCJdLFtbNDgwMCw0ODAwXSxcInZhbGlkXCJdLFtbNDgwMSw0ODAxXSxcImRpc2FsbG93ZWRcIl0sW1s0ODAyLDQ4MDVdLFwidmFsaWRcIl0sW1s0ODA2LDQ4MDddLFwiZGlzYWxsb3dlZFwiXSxbWzQ4MDgsNDgxNF0sXCJ2YWxpZFwiXSxbWzQ4MTUsNDgxNV0sXCJ2YWxpZFwiXSxbWzQ4MTYsNDgyMl0sXCJ2YWxpZFwiXSxbWzQ4MjMsNDgyM10sXCJkaXNhbGxvd2VkXCJdLFtbNDgyNCw0ODQ2XSxcInZhbGlkXCJdLFtbNDg0Nyw0ODQ3XSxcInZhbGlkXCJdLFtbNDg0OCw0ODc4XSxcInZhbGlkXCJdLFtbNDg3OSw0ODc5XSxcInZhbGlkXCJdLFtbNDg4MCw0ODgwXSxcInZhbGlkXCJdLFtbNDg4MSw0ODgxXSxcImRpc2FsbG93ZWRcIl0sW1s0ODgyLDQ4ODVdLFwidmFsaWRcIl0sW1s0ODg2LDQ4ODddLFwiZGlzYWxsb3dlZFwiXSxbWzQ4ODgsNDg5NF0sXCJ2YWxpZFwiXSxbWzQ4OTUsNDg5NV0sXCJ2YWxpZFwiXSxbWzQ4OTYsNDkzNF0sXCJ2YWxpZFwiXSxbWzQ5MzUsNDkzNV0sXCJ2YWxpZFwiXSxbWzQ5MzYsNDk1NF0sXCJ2YWxpZFwiXSxbWzQ5NTUsNDk1Nl0sXCJkaXNhbGxvd2VkXCJdLFtbNDk1Nyw0OTU4XSxcInZhbGlkXCJdLFtbNDk1OSw0OTU5XSxcInZhbGlkXCJdLFtbNDk2MCw0OTYwXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0OTYxLDQ5ODhdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQ5ODksNDk5MV0sXCJkaXNhbGxvd2VkXCJdLFtbNDk5Miw1MDA3XSxcInZhbGlkXCJdLFtbNTAwOCw1MDE3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s1MDE4LDUwMjNdLFwiZGlzYWxsb3dlZFwiXSxbWzUwMjQsNTEwOF0sXCJ2YWxpZFwiXSxbWzUxMDksNTEwOV0sXCJ2YWxpZFwiXSxbWzUxMTAsNTExMV0sXCJkaXNhbGxvd2VkXCJdLFtbNTExMiw1MTEyXSxcIm1hcHBlZFwiLFs1MTA0XV0sW1s1MTEzLDUxMTNdLFwibWFwcGVkXCIsWzUxMDVdXSxbWzUxMTQsNTExNF0sXCJtYXBwZWRcIixbNTEwNl1dLFtbNTExNSw1MTE1XSxcIm1hcHBlZFwiLFs1MTA3XV0sW1s1MTE2LDUxMTZdLFwibWFwcGVkXCIsWzUxMDhdXSxbWzUxMTcsNTExN10sXCJtYXBwZWRcIixbNTEwOV1dLFtbNTExOCw1MTE5XSxcImRpc2FsbG93ZWRcIl0sW1s1MTIwLDUxMjBdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzUxMjEsNTc0MF0sXCJ2YWxpZFwiXSxbWzU3NDEsNTc0Ml0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNTc0Myw1NzUwXSxcInZhbGlkXCJdLFtbNTc1MSw1NzU5XSxcInZhbGlkXCJdLFtbNTc2MCw1NzYwXSxcImRpc2FsbG93ZWRcIl0sW1s1NzYxLDU3ODZdLFwidmFsaWRcIl0sW1s1Nzg3LDU3ODhdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzU3ODksNTc5MV0sXCJkaXNhbGxvd2VkXCJdLFtbNTc5Miw1ODY2XSxcInZhbGlkXCJdLFtbNTg2Nyw1ODcyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s1ODczLDU4ODBdLFwidmFsaWRcIl0sW1s1ODgxLDU4ODddLFwiZGlzYWxsb3dlZFwiXSxbWzU4ODgsNTkwMF0sXCJ2YWxpZFwiXSxbWzU5MDEsNTkwMV0sXCJkaXNhbGxvd2VkXCJdLFtbNTkwMiw1OTA4XSxcInZhbGlkXCJdLFtbNTkwOSw1OTE5XSxcImRpc2FsbG93ZWRcIl0sW1s1OTIwLDU5NDBdLFwidmFsaWRcIl0sW1s1OTQxLDU5NDJdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzU5NDMsNTk1MV0sXCJkaXNhbGxvd2VkXCJdLFtbNTk1Miw1OTcxXSxcInZhbGlkXCJdLFtbNTk3Miw1OTgzXSxcImRpc2FsbG93ZWRcIl0sW1s1OTg0LDU5OTZdLFwidmFsaWRcIl0sW1s1OTk3LDU5OTddLFwiZGlzYWxsb3dlZFwiXSxbWzU5OTgsNjAwMF0sXCJ2YWxpZFwiXSxbWzYwMDEsNjAwMV0sXCJkaXNhbGxvd2VkXCJdLFtbNjAwMiw2MDAzXSxcInZhbGlkXCJdLFtbNjAwNCw2MDE1XSxcImRpc2FsbG93ZWRcIl0sW1s2MDE2LDYwNjddLFwidmFsaWRcIl0sW1s2MDY4LDYwNjldLFwiZGlzYWxsb3dlZFwiXSxbWzYwNzAsNjA5OV0sXCJ2YWxpZFwiXSxbWzYxMDAsNjEwMl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjEwMyw2MTAzXSxcInZhbGlkXCJdLFtbNjEwNCw2MTA3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2MTA4LDYxMDhdLFwidmFsaWRcIl0sW1s2MTA5LDYxMDldLFwidmFsaWRcIl0sW1s2MTEwLDYxMTFdLFwiZGlzYWxsb3dlZFwiXSxbWzYxMTIsNjEyMV0sXCJ2YWxpZFwiXSxbWzYxMjIsNjEyN10sXCJkaXNhbGxvd2VkXCJdLFtbNjEyOCw2MTM3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2MTM4LDYxNDNdLFwiZGlzYWxsb3dlZFwiXSxbWzYxNDQsNjE0OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjE1MCw2MTUwXSxcImRpc2FsbG93ZWRcIl0sW1s2MTUxLDYxNTRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzYxNTUsNjE1N10sXCJpZ25vcmVkXCJdLFtbNjE1OCw2MTU4XSxcImRpc2FsbG93ZWRcIl0sW1s2MTU5LDYxNTldLFwiZGlzYWxsb3dlZFwiXSxbWzYxNjAsNjE2OV0sXCJ2YWxpZFwiXSxbWzYxNzAsNjE3NV0sXCJkaXNhbGxvd2VkXCJdLFtbNjE3Niw2MjYzXSxcInZhbGlkXCJdLFtbNjI2NCw2MjcxXSxcImRpc2FsbG93ZWRcIl0sW1s2MjcyLDYzMTNdLFwidmFsaWRcIl0sW1s2MzE0LDYzMTRdLFwidmFsaWRcIl0sW1s2MzE1LDYzMTldLFwiZGlzYWxsb3dlZFwiXSxbWzYzMjAsNjM4OV0sXCJ2YWxpZFwiXSxbWzYzOTAsNjM5OV0sXCJkaXNhbGxvd2VkXCJdLFtbNjQwMCw2NDI4XSxcInZhbGlkXCJdLFtbNjQyOSw2NDMwXSxcInZhbGlkXCJdLFtbNjQzMSw2NDMxXSxcImRpc2FsbG93ZWRcIl0sW1s2NDMyLDY0NDNdLFwidmFsaWRcIl0sW1s2NDQ0LDY0NDddLFwiZGlzYWxsb3dlZFwiXSxbWzY0NDgsNjQ1OV0sXCJ2YWxpZFwiXSxbWzY0NjAsNjQ2M10sXCJkaXNhbGxvd2VkXCJdLFtbNjQ2NCw2NDY0XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2NDY1LDY0NjddLFwiZGlzYWxsb3dlZFwiXSxbWzY0NjgsNjQ2OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjQ3MCw2NTA5XSxcInZhbGlkXCJdLFtbNjUxMCw2NTExXSxcImRpc2FsbG93ZWRcIl0sW1s2NTEyLDY1MTZdLFwidmFsaWRcIl0sW1s2NTE3LDY1MjddLFwiZGlzYWxsb3dlZFwiXSxbWzY1MjgsNjU2OV0sXCJ2YWxpZFwiXSxbWzY1NzAsNjU3MV0sXCJ2YWxpZFwiXSxbWzY1NzIsNjU3NV0sXCJkaXNhbGxvd2VkXCJdLFtbNjU3Niw2NjAxXSxcInZhbGlkXCJdLFtbNjYwMiw2NjA3XSxcImRpc2FsbG93ZWRcIl0sW1s2NjA4LDY2MTddLFwidmFsaWRcIl0sW1s2NjE4LDY2MThdLFwidmFsaWRcIixbXSxcIlhWOFwiXSxbWzY2MTksNjYyMV0sXCJkaXNhbGxvd2VkXCJdLFtbNjYyMiw2NjIzXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2NjI0LDY2NTVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY2NTYsNjY4M10sXCJ2YWxpZFwiXSxbWzY2ODQsNjY4NV0sXCJkaXNhbGxvd2VkXCJdLFtbNjY4Niw2Njg3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2Njg4LDY3NTBdLFwidmFsaWRcIl0sW1s2NzUxLDY3NTFdLFwiZGlzYWxsb3dlZFwiXSxbWzY3NTIsNjc4MF0sXCJ2YWxpZFwiXSxbWzY3ODEsNjc4Ml0sXCJkaXNhbGxvd2VkXCJdLFtbNjc4Myw2NzkzXSxcInZhbGlkXCJdLFtbNjc5NCw2Nzk5XSxcImRpc2FsbG93ZWRcIl0sW1s2ODAwLDY4MDldLFwidmFsaWRcIl0sW1s2ODEwLDY4MTVdLFwiZGlzYWxsb3dlZFwiXSxbWzY4MTYsNjgyMl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjgyMyw2ODIzXSxcInZhbGlkXCJdLFtbNjgyNCw2ODI5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2ODMwLDY4MzFdLFwiZGlzYWxsb3dlZFwiXSxbWzY4MzIsNjg0NV0sXCJ2YWxpZFwiXSxbWzY4NDYsNjg0Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjg0Nyw2OTExXSxcImRpc2FsbG93ZWRcIl0sW1s2OTEyLDY5ODddLFwidmFsaWRcIl0sW1s2OTg4LDY5OTFdLFwiZGlzYWxsb3dlZFwiXSxbWzY5OTIsNzAwMV0sXCJ2YWxpZFwiXSxbWzcwMDIsNzAxOF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNzAxOSw3MDI3XSxcInZhbGlkXCJdLFtbNzAyOCw3MDM2XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s3MDM3LDcwMzldLFwiZGlzYWxsb3dlZFwiXSxbWzcwNDAsNzA4Ml0sXCJ2YWxpZFwiXSxbWzcwODMsNzA4NV0sXCJ2YWxpZFwiXSxbWzcwODYsNzA5N10sXCJ2YWxpZFwiXSxbWzcwOTgsNzEwM10sXCJ2YWxpZFwiXSxbWzcxMDQsNzE1NV0sXCJ2YWxpZFwiXSxbWzcxNTYsNzE2M10sXCJkaXNhbGxvd2VkXCJdLFtbNzE2NCw3MTY3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s3MTY4LDcyMjNdLFwidmFsaWRcIl0sW1s3MjI0LDcyMjZdLFwiZGlzYWxsb3dlZFwiXSxbWzcyMjcsNzIzMV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNzIzMiw3MjQxXSxcInZhbGlkXCJdLFtbNzI0Miw3MjQ0XSxcImRpc2FsbG93ZWRcIl0sW1s3MjQ1LDcyOTNdLFwidmFsaWRcIl0sW1s3Mjk0LDcyOTVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzcyOTYsNzM1OV0sXCJkaXNhbGxvd2VkXCJdLFtbNzM2MCw3MzY3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s3MzY4LDczNzVdLFwiZGlzYWxsb3dlZFwiXSxbWzczNzYsNzM3OF0sXCJ2YWxpZFwiXSxbWzczNzksNzM3OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNzM4MCw3NDEwXSxcInZhbGlkXCJdLFtbNzQxMSw3NDE0XSxcInZhbGlkXCJdLFtbNzQxNSw3NDE1XSxcImRpc2FsbG93ZWRcIl0sW1s3NDE2LDc0MTddLFwidmFsaWRcIl0sW1s3NDE4LDc0MjNdLFwiZGlzYWxsb3dlZFwiXSxbWzc0MjQsNzQ2N10sXCJ2YWxpZFwiXSxbWzc0NjgsNzQ2OF0sXCJtYXBwZWRcIixbOTddXSxbWzc0NjksNzQ2OV0sXCJtYXBwZWRcIixbMjMwXV0sW1s3NDcwLDc0NzBdLFwibWFwcGVkXCIsWzk4XV0sW1s3NDcxLDc0NzFdLFwidmFsaWRcIl0sW1s3NDcyLDc0NzJdLFwibWFwcGVkXCIsWzEwMF1dLFtbNzQ3Myw3NDczXSxcIm1hcHBlZFwiLFsxMDFdXSxbWzc0NzQsNzQ3NF0sXCJtYXBwZWRcIixbNDc3XV0sW1s3NDc1LDc0NzVdLFwibWFwcGVkXCIsWzEwM11dLFtbNzQ3Niw3NDc2XSxcIm1hcHBlZFwiLFsxMDRdXSxbWzc0NzcsNzQ3N10sXCJtYXBwZWRcIixbMTA1XV0sW1s3NDc4LDc0NzhdLFwibWFwcGVkXCIsWzEwNl1dLFtbNzQ3OSw3NDc5XSxcIm1hcHBlZFwiLFsxMDddXSxbWzc0ODAsNzQ4MF0sXCJtYXBwZWRcIixbMTA4XV0sW1s3NDgxLDc0ODFdLFwibWFwcGVkXCIsWzEwOV1dLFtbNzQ4Miw3NDgyXSxcIm1hcHBlZFwiLFsxMTBdXSxbWzc0ODMsNzQ4M10sXCJ2YWxpZFwiXSxbWzc0ODQsNzQ4NF0sXCJtYXBwZWRcIixbMTExXV0sW1s3NDg1LDc0ODVdLFwibWFwcGVkXCIsWzU0N11dLFtbNzQ4Niw3NDg2XSxcIm1hcHBlZFwiLFsxMTJdXSxbWzc0ODcsNzQ4N10sXCJtYXBwZWRcIixbMTE0XV0sW1s3NDg4LDc0ODhdLFwibWFwcGVkXCIsWzExNl1dLFtbNzQ4OSw3NDg5XSxcIm1hcHBlZFwiLFsxMTddXSxbWzc0OTAsNzQ5MF0sXCJtYXBwZWRcIixbMTE5XV0sW1s3NDkxLDc0OTFdLFwibWFwcGVkXCIsWzk3XV0sW1s3NDkyLDc0OTJdLFwibWFwcGVkXCIsWzU5Ml1dLFtbNzQ5Myw3NDkzXSxcIm1hcHBlZFwiLFs1OTNdXSxbWzc0OTQsNzQ5NF0sXCJtYXBwZWRcIixbNzQyNl1dLFtbNzQ5NSw3NDk1XSxcIm1hcHBlZFwiLFs5OF1dLFtbNzQ5Niw3NDk2XSxcIm1hcHBlZFwiLFsxMDBdXSxbWzc0OTcsNzQ5N10sXCJtYXBwZWRcIixbMTAxXV0sW1s3NDk4LDc0OThdLFwibWFwcGVkXCIsWzYwMV1dLFtbNzQ5OSw3NDk5XSxcIm1hcHBlZFwiLFs2MDNdXSxbWzc1MDAsNzUwMF0sXCJtYXBwZWRcIixbNjA0XV0sW1s3NTAxLDc1MDFdLFwibWFwcGVkXCIsWzEwM11dLFtbNzUwMiw3NTAyXSxcInZhbGlkXCJdLFtbNzUwMyw3NTAzXSxcIm1hcHBlZFwiLFsxMDddXSxbWzc1MDQsNzUwNF0sXCJtYXBwZWRcIixbMTA5XV0sW1s3NTA1LDc1MDVdLFwibWFwcGVkXCIsWzMzMV1dLFtbNzUwNiw3NTA2XSxcIm1hcHBlZFwiLFsxMTFdXSxbWzc1MDcsNzUwN10sXCJtYXBwZWRcIixbNTk2XV0sW1s3NTA4LDc1MDhdLFwibWFwcGVkXCIsWzc0NDZdXSxbWzc1MDksNzUwOV0sXCJtYXBwZWRcIixbNzQ0N11dLFtbNzUxMCw3NTEwXSxcIm1hcHBlZFwiLFsxMTJdXSxbWzc1MTEsNzUxMV0sXCJtYXBwZWRcIixbMTE2XV0sW1s3NTEyLDc1MTJdLFwibWFwcGVkXCIsWzExN11dLFtbNzUxMyw3NTEzXSxcIm1hcHBlZFwiLFs3NDUzXV0sW1s3NTE0LDc1MTRdLFwibWFwcGVkXCIsWzYyM11dLFtbNzUxNSw3NTE1XSxcIm1hcHBlZFwiLFsxMThdXSxbWzc1MTYsNzUxNl0sXCJtYXBwZWRcIixbNzQ2MV1dLFtbNzUxNyw3NTE3XSxcIm1hcHBlZFwiLFs5NDZdXSxbWzc1MTgsNzUxOF0sXCJtYXBwZWRcIixbOTQ3XV0sW1s3NTE5LDc1MTldLFwibWFwcGVkXCIsWzk0OF1dLFtbNzUyMCw3NTIwXSxcIm1hcHBlZFwiLFs5NjZdXSxbWzc1MjEsNzUyMV0sXCJtYXBwZWRcIixbOTY3XV0sW1s3NTIyLDc1MjJdLFwibWFwcGVkXCIsWzEwNV1dLFtbNzUyMyw3NTIzXSxcIm1hcHBlZFwiLFsxMTRdXSxbWzc1MjQsNzUyNF0sXCJtYXBwZWRcIixbMTE3XV0sW1s3NTI1LDc1MjVdLFwibWFwcGVkXCIsWzExOF1dLFtbNzUyNiw3NTI2XSxcIm1hcHBlZFwiLFs5NDZdXSxbWzc1MjcsNzUyN10sXCJtYXBwZWRcIixbOTQ3XV0sW1s3NTI4LDc1MjhdLFwibWFwcGVkXCIsWzk2MV1dLFtbNzUyOSw3NTI5XSxcIm1hcHBlZFwiLFs5NjZdXSxbWzc1MzAsNzUzMF0sXCJtYXBwZWRcIixbOTY3XV0sW1s3NTMxLDc1MzFdLFwidmFsaWRcIl0sW1s3NTMyLDc1NDNdLFwidmFsaWRcIl0sW1s3NTQ0LDc1NDRdLFwibWFwcGVkXCIsWzEwODVdXSxbWzc1NDUsNzU3OF0sXCJ2YWxpZFwiXSxbWzc1NzksNzU3OV0sXCJtYXBwZWRcIixbNTk0XV0sW1s3NTgwLDc1ODBdLFwibWFwcGVkXCIsWzk5XV0sW1s3NTgxLDc1ODFdLFwibWFwcGVkXCIsWzU5N11dLFtbNzU4Miw3NTgyXSxcIm1hcHBlZFwiLFsyNDBdXSxbWzc1ODMsNzU4M10sXCJtYXBwZWRcIixbNjA0XV0sW1s3NTg0LDc1ODRdLFwibWFwcGVkXCIsWzEwMl1dLFtbNzU4NSw3NTg1XSxcIm1hcHBlZFwiLFs2MDddXSxbWzc1ODYsNzU4Nl0sXCJtYXBwZWRcIixbNjA5XV0sW1s3NTg3LDc1ODddLFwibWFwcGVkXCIsWzYxM11dLFtbNzU4OCw3NTg4XSxcIm1hcHBlZFwiLFs2MTZdXSxbWzc1ODksNzU4OV0sXCJtYXBwZWRcIixbNjE3XV0sW1s3NTkwLDc1OTBdLFwibWFwcGVkXCIsWzYxOF1dLFtbNzU5MSw3NTkxXSxcIm1hcHBlZFwiLFs3NTQ3XV0sW1s3NTkyLDc1OTJdLFwibWFwcGVkXCIsWzY2OV1dLFtbNzU5Myw3NTkzXSxcIm1hcHBlZFwiLFs2MjFdXSxbWzc1OTQsNzU5NF0sXCJtYXBwZWRcIixbNzU1N11dLFtbNzU5NSw3NTk1XSxcIm1hcHBlZFwiLFs2NzFdXSxbWzc1OTYsNzU5Nl0sXCJtYXBwZWRcIixbNjI1XV0sW1s3NTk3LDc1OTddLFwibWFwcGVkXCIsWzYyNF1dLFtbNzU5OCw3NTk4XSxcIm1hcHBlZFwiLFs2MjZdXSxbWzc1OTksNzU5OV0sXCJtYXBwZWRcIixbNjI3XV0sW1s3NjAwLDc2MDBdLFwibWFwcGVkXCIsWzYyOF1dLFtbNzYwMSw3NjAxXSxcIm1hcHBlZFwiLFs2MjldXSxbWzc2MDIsNzYwMl0sXCJtYXBwZWRcIixbNjMyXV0sW1s3NjAzLDc2MDNdLFwibWFwcGVkXCIsWzY0Ml1dLFtbNzYwNCw3NjA0XSxcIm1hcHBlZFwiLFs2NDNdXSxbWzc2MDUsNzYwNV0sXCJtYXBwZWRcIixbNDI3XV0sW1s3NjA2LDc2MDZdLFwibWFwcGVkXCIsWzY0OV1dLFtbNzYwNyw3NjA3XSxcIm1hcHBlZFwiLFs2NTBdXSxbWzc2MDgsNzYwOF0sXCJtYXBwZWRcIixbNzQ1Ml1dLFtbNzYwOSw3NjA5XSxcIm1hcHBlZFwiLFs2NTFdXSxbWzc2MTAsNzYxMF0sXCJtYXBwZWRcIixbNjUyXV0sW1s3NjExLDc2MTFdLFwibWFwcGVkXCIsWzEyMl1dLFtbNzYxMiw3NjEyXSxcIm1hcHBlZFwiLFs2NTZdXSxbWzc2MTMsNzYxM10sXCJtYXBwZWRcIixbNjU3XV0sW1s3NjE0LDc2MTRdLFwibWFwcGVkXCIsWzY1OF1dLFtbNzYxNSw3NjE1XSxcIm1hcHBlZFwiLFs5NTJdXSxbWzc2MTYsNzYxOV0sXCJ2YWxpZFwiXSxbWzc2MjAsNzYyNl0sXCJ2YWxpZFwiXSxbWzc2MjcsNzY1NF0sXCJ2YWxpZFwiXSxbWzc2NTUsNzY2OV0sXCJ2YWxpZFwiXSxbWzc2NzAsNzY3NV0sXCJkaXNhbGxvd2VkXCJdLFtbNzY3Niw3Njc2XSxcInZhbGlkXCJdLFtbNzY3Nyw3Njc3XSxcInZhbGlkXCJdLFtbNzY3OCw3Njc5XSxcInZhbGlkXCJdLFtbNzY4MCw3NjgwXSxcIm1hcHBlZFwiLFs3NjgxXV0sW1s3NjgxLDc2ODFdLFwidmFsaWRcIl0sW1s3NjgyLDc2ODJdLFwibWFwcGVkXCIsWzc2ODNdXSxbWzc2ODMsNzY4M10sXCJ2YWxpZFwiXSxbWzc2ODQsNzY4NF0sXCJtYXBwZWRcIixbNzY4NV1dLFtbNzY4NSw3Njg1XSxcInZhbGlkXCJdLFtbNzY4Niw3Njg2XSxcIm1hcHBlZFwiLFs3Njg3XV0sW1s3Njg3LDc2ODddLFwidmFsaWRcIl0sW1s3Njg4LDc2ODhdLFwibWFwcGVkXCIsWzc2ODldXSxbWzc2ODksNzY4OV0sXCJ2YWxpZFwiXSxbWzc2OTAsNzY5MF0sXCJtYXBwZWRcIixbNzY5MV1dLFtbNzY5MSw3NjkxXSxcInZhbGlkXCJdLFtbNzY5Miw3NjkyXSxcIm1hcHBlZFwiLFs3NjkzXV0sW1s3NjkzLDc2OTNdLFwidmFsaWRcIl0sW1s3Njk0LDc2OTRdLFwibWFwcGVkXCIsWzc2OTVdXSxbWzc2OTUsNzY5NV0sXCJ2YWxpZFwiXSxbWzc2OTYsNzY5Nl0sXCJtYXBwZWRcIixbNzY5N11dLFtbNzY5Nyw3Njk3XSxcInZhbGlkXCJdLFtbNzY5OCw3Njk4XSxcIm1hcHBlZFwiLFs3Njk5XV0sW1s3Njk5LDc2OTldLFwidmFsaWRcIl0sW1s3NzAwLDc3MDBdLFwibWFwcGVkXCIsWzc3MDFdXSxbWzc3MDEsNzcwMV0sXCJ2YWxpZFwiXSxbWzc3MDIsNzcwMl0sXCJtYXBwZWRcIixbNzcwM11dLFtbNzcwMyw3NzAzXSxcInZhbGlkXCJdLFtbNzcwNCw3NzA0XSxcIm1hcHBlZFwiLFs3NzA1XV0sW1s3NzA1LDc3MDVdLFwidmFsaWRcIl0sW1s3NzA2LDc3MDZdLFwibWFwcGVkXCIsWzc3MDddXSxbWzc3MDcsNzcwN10sXCJ2YWxpZFwiXSxbWzc3MDgsNzcwOF0sXCJtYXBwZWRcIixbNzcwOV1dLFtbNzcwOSw3NzA5XSxcInZhbGlkXCJdLFtbNzcxMCw3NzEwXSxcIm1hcHBlZFwiLFs3NzExXV0sW1s3NzExLDc3MTFdLFwidmFsaWRcIl0sW1s3NzEyLDc3MTJdLFwibWFwcGVkXCIsWzc3MTNdXSxbWzc3MTMsNzcxM10sXCJ2YWxpZFwiXSxbWzc3MTQsNzcxNF0sXCJtYXBwZWRcIixbNzcxNV1dLFtbNzcxNSw3NzE1XSxcInZhbGlkXCJdLFtbNzcxNiw3NzE2XSxcIm1hcHBlZFwiLFs3NzE3XV0sW1s3NzE3LDc3MTddLFwidmFsaWRcIl0sW1s3NzE4LDc3MThdLFwibWFwcGVkXCIsWzc3MTldXSxbWzc3MTksNzcxOV0sXCJ2YWxpZFwiXSxbWzc3MjAsNzcyMF0sXCJtYXBwZWRcIixbNzcyMV1dLFtbNzcyMSw3NzIxXSxcInZhbGlkXCJdLFtbNzcyMiw3NzIyXSxcIm1hcHBlZFwiLFs3NzIzXV0sW1s3NzIzLDc3MjNdLFwidmFsaWRcIl0sW1s3NzI0LDc3MjRdLFwibWFwcGVkXCIsWzc3MjVdXSxbWzc3MjUsNzcyNV0sXCJ2YWxpZFwiXSxbWzc3MjYsNzcyNl0sXCJtYXBwZWRcIixbNzcyN11dLFtbNzcyNyw3NzI3XSxcInZhbGlkXCJdLFtbNzcyOCw3NzI4XSxcIm1hcHBlZFwiLFs3NzI5XV0sW1s3NzI5LDc3MjldLFwidmFsaWRcIl0sW1s3NzMwLDc3MzBdLFwibWFwcGVkXCIsWzc3MzFdXSxbWzc3MzEsNzczMV0sXCJ2YWxpZFwiXSxbWzc3MzIsNzczMl0sXCJtYXBwZWRcIixbNzczM11dLFtbNzczMyw3NzMzXSxcInZhbGlkXCJdLFtbNzczNCw3NzM0XSxcIm1hcHBlZFwiLFs3NzM1XV0sW1s3NzM1LDc3MzVdLFwidmFsaWRcIl0sW1s3NzM2LDc3MzZdLFwibWFwcGVkXCIsWzc3MzddXSxbWzc3MzcsNzczN10sXCJ2YWxpZFwiXSxbWzc3MzgsNzczOF0sXCJtYXBwZWRcIixbNzczOV1dLFtbNzczOSw3NzM5XSxcInZhbGlkXCJdLFtbNzc0MCw3NzQwXSxcIm1hcHBlZFwiLFs3NzQxXV0sW1s3NzQxLDc3NDFdLFwidmFsaWRcIl0sW1s3NzQyLDc3NDJdLFwibWFwcGVkXCIsWzc3NDNdXSxbWzc3NDMsNzc0M10sXCJ2YWxpZFwiXSxbWzc3NDQsNzc0NF0sXCJtYXBwZWRcIixbNzc0NV1dLFtbNzc0NSw3NzQ1XSxcInZhbGlkXCJdLFtbNzc0Niw3NzQ2XSxcIm1hcHBlZFwiLFs3NzQ3XV0sW1s3NzQ3LDc3NDddLFwidmFsaWRcIl0sW1s3NzQ4LDc3NDhdLFwibWFwcGVkXCIsWzc3NDldXSxbWzc3NDksNzc0OV0sXCJ2YWxpZFwiXSxbWzc3NTAsNzc1MF0sXCJtYXBwZWRcIixbNzc1MV1dLFtbNzc1MSw3NzUxXSxcInZhbGlkXCJdLFtbNzc1Miw3NzUyXSxcIm1hcHBlZFwiLFs3NzUzXV0sW1s3NzUzLDc3NTNdLFwidmFsaWRcIl0sW1s3NzU0LDc3NTRdLFwibWFwcGVkXCIsWzc3NTVdXSxbWzc3NTUsNzc1NV0sXCJ2YWxpZFwiXSxbWzc3NTYsNzc1Nl0sXCJtYXBwZWRcIixbNzc1N11dLFtbNzc1Nyw3NzU3XSxcInZhbGlkXCJdLFtbNzc1OCw3NzU4XSxcIm1hcHBlZFwiLFs3NzU5XV0sW1s3NzU5LDc3NTldLFwidmFsaWRcIl0sW1s3NzYwLDc3NjBdLFwibWFwcGVkXCIsWzc3NjFdXSxbWzc3NjEsNzc2MV0sXCJ2YWxpZFwiXSxbWzc3NjIsNzc2Ml0sXCJtYXBwZWRcIixbNzc2M11dLFtbNzc2Myw3NzYzXSxcInZhbGlkXCJdLFtbNzc2NCw3NzY0XSxcIm1hcHBlZFwiLFs3NzY1XV0sW1s3NzY1LDc3NjVdLFwidmFsaWRcIl0sW1s3NzY2LDc3NjZdLFwibWFwcGVkXCIsWzc3NjddXSxbWzc3NjcsNzc2N10sXCJ2YWxpZFwiXSxbWzc3NjgsNzc2OF0sXCJtYXBwZWRcIixbNzc2OV1dLFtbNzc2OSw3NzY5XSxcInZhbGlkXCJdLFtbNzc3MCw3NzcwXSxcIm1hcHBlZFwiLFs3NzcxXV0sW1s3NzcxLDc3NzFdLFwidmFsaWRcIl0sW1s3NzcyLDc3NzJdLFwibWFwcGVkXCIsWzc3NzNdXSxbWzc3NzMsNzc3M10sXCJ2YWxpZFwiXSxbWzc3NzQsNzc3NF0sXCJtYXBwZWRcIixbNzc3NV1dLFtbNzc3NSw3Nzc1XSxcInZhbGlkXCJdLFtbNzc3Niw3Nzc2XSxcIm1hcHBlZFwiLFs3Nzc3XV0sW1s3Nzc3LDc3NzddLFwidmFsaWRcIl0sW1s3Nzc4LDc3NzhdLFwibWFwcGVkXCIsWzc3NzldXSxbWzc3NzksNzc3OV0sXCJ2YWxpZFwiXSxbWzc3ODAsNzc4MF0sXCJtYXBwZWRcIixbNzc4MV1dLFtbNzc4MSw3NzgxXSxcInZhbGlkXCJdLFtbNzc4Miw3NzgyXSxcIm1hcHBlZFwiLFs3NzgzXV0sW1s3NzgzLDc3ODNdLFwidmFsaWRcIl0sW1s3Nzg0LDc3ODRdLFwibWFwcGVkXCIsWzc3ODVdXSxbWzc3ODUsNzc4NV0sXCJ2YWxpZFwiXSxbWzc3ODYsNzc4Nl0sXCJtYXBwZWRcIixbNzc4N11dLFtbNzc4Nyw3Nzg3XSxcInZhbGlkXCJdLFtbNzc4OCw3Nzg4XSxcIm1hcHBlZFwiLFs3Nzg5XV0sW1s3Nzg5LDc3ODldLFwidmFsaWRcIl0sW1s3NzkwLDc3OTBdLFwibWFwcGVkXCIsWzc3OTFdXSxbWzc3OTEsNzc5MV0sXCJ2YWxpZFwiXSxbWzc3OTIsNzc5Ml0sXCJtYXBwZWRcIixbNzc5M11dLFtbNzc5Myw3NzkzXSxcInZhbGlkXCJdLFtbNzc5NCw3Nzk0XSxcIm1hcHBlZFwiLFs3Nzk1XV0sW1s3Nzk1LDc3OTVdLFwidmFsaWRcIl0sW1s3Nzk2LDc3OTZdLFwibWFwcGVkXCIsWzc3OTddXSxbWzc3OTcsNzc5N10sXCJ2YWxpZFwiXSxbWzc3OTgsNzc5OF0sXCJtYXBwZWRcIixbNzc5OV1dLFtbNzc5OSw3Nzk5XSxcInZhbGlkXCJdLFtbNzgwMCw3ODAwXSxcIm1hcHBlZFwiLFs3ODAxXV0sW1s3ODAxLDc4MDFdLFwidmFsaWRcIl0sW1s3ODAyLDc4MDJdLFwibWFwcGVkXCIsWzc4MDNdXSxbWzc4MDMsNzgwM10sXCJ2YWxpZFwiXSxbWzc4MDQsNzgwNF0sXCJtYXBwZWRcIixbNzgwNV1dLFtbNzgwNSw3ODA1XSxcInZhbGlkXCJdLFtbNzgwNiw3ODA2XSxcIm1hcHBlZFwiLFs3ODA3XV0sW1s3ODA3LDc4MDddLFwidmFsaWRcIl0sW1s3ODA4LDc4MDhdLFwibWFwcGVkXCIsWzc4MDldXSxbWzc4MDksNzgwOV0sXCJ2YWxpZFwiXSxbWzc4MTAsNzgxMF0sXCJtYXBwZWRcIixbNzgxMV1dLFtbNzgxMSw3ODExXSxcInZhbGlkXCJdLFtbNzgxMiw3ODEyXSxcIm1hcHBlZFwiLFs3ODEzXV0sW1s3ODEzLDc4MTNdLFwidmFsaWRcIl0sW1s3ODE0LDc4MTRdLFwibWFwcGVkXCIsWzc4MTVdXSxbWzc4MTUsNzgxNV0sXCJ2YWxpZFwiXSxbWzc4MTYsNzgxNl0sXCJtYXBwZWRcIixbNzgxN11dLFtbNzgxNyw3ODE3XSxcInZhbGlkXCJdLFtbNzgxOCw3ODE4XSxcIm1hcHBlZFwiLFs3ODE5XV0sW1s3ODE5LDc4MTldLFwidmFsaWRcIl0sW1s3ODIwLDc4MjBdLFwibWFwcGVkXCIsWzc4MjFdXSxbWzc4MjEsNzgyMV0sXCJ2YWxpZFwiXSxbWzc4MjIsNzgyMl0sXCJtYXBwZWRcIixbNzgyM11dLFtbNzgyMyw3ODIzXSxcInZhbGlkXCJdLFtbNzgyNCw3ODI0XSxcIm1hcHBlZFwiLFs3ODI1XV0sW1s3ODI1LDc4MjVdLFwidmFsaWRcIl0sW1s3ODI2LDc4MjZdLFwibWFwcGVkXCIsWzc4MjddXSxbWzc4MjcsNzgyN10sXCJ2YWxpZFwiXSxbWzc4MjgsNzgyOF0sXCJtYXBwZWRcIixbNzgyOV1dLFtbNzgyOSw3ODMzXSxcInZhbGlkXCJdLFtbNzgzNCw3ODM0XSxcIm1hcHBlZFwiLFs5Nyw3MDJdXSxbWzc4MzUsNzgzNV0sXCJtYXBwZWRcIixbNzc3N11dLFtbNzgzNiw3ODM3XSxcInZhbGlkXCJdLFtbNzgzOCw3ODM4XSxcIm1hcHBlZFwiLFsxMTUsMTE1XV0sW1s3ODM5LDc4MzldLFwidmFsaWRcIl0sW1s3ODQwLDc4NDBdLFwibWFwcGVkXCIsWzc4NDFdXSxbWzc4NDEsNzg0MV0sXCJ2YWxpZFwiXSxbWzc4NDIsNzg0Ml0sXCJtYXBwZWRcIixbNzg0M11dLFtbNzg0Myw3ODQzXSxcInZhbGlkXCJdLFtbNzg0NCw3ODQ0XSxcIm1hcHBlZFwiLFs3ODQ1XV0sW1s3ODQ1LDc4NDVdLFwidmFsaWRcIl0sW1s3ODQ2LDc4NDZdLFwibWFwcGVkXCIsWzc4NDddXSxbWzc4NDcsNzg0N10sXCJ2YWxpZFwiXSxbWzc4NDgsNzg0OF0sXCJtYXBwZWRcIixbNzg0OV1dLFtbNzg0OSw3ODQ5XSxcInZhbGlkXCJdLFtbNzg1MCw3ODUwXSxcIm1hcHBlZFwiLFs3ODUxXV0sW1s3ODUxLDc4NTFdLFwidmFsaWRcIl0sW1s3ODUyLDc4NTJdLFwibWFwcGVkXCIsWzc4NTNdXSxbWzc4NTMsNzg1M10sXCJ2YWxpZFwiXSxbWzc4NTQsNzg1NF0sXCJtYXBwZWRcIixbNzg1NV1dLFtbNzg1NSw3ODU1XSxcInZhbGlkXCJdLFtbNzg1Niw3ODU2XSxcIm1hcHBlZFwiLFs3ODU3XV0sW1s3ODU3LDc4NTddLFwidmFsaWRcIl0sW1s3ODU4LDc4NThdLFwibWFwcGVkXCIsWzc4NTldXSxbWzc4NTksNzg1OV0sXCJ2YWxpZFwiXSxbWzc4NjAsNzg2MF0sXCJtYXBwZWRcIixbNzg2MV1dLFtbNzg2MSw3ODYxXSxcInZhbGlkXCJdLFtbNzg2Miw3ODYyXSxcIm1hcHBlZFwiLFs3ODYzXV0sW1s3ODYzLDc4NjNdLFwidmFsaWRcIl0sW1s3ODY0LDc4NjRdLFwibWFwcGVkXCIsWzc4NjVdXSxbWzc4NjUsNzg2NV0sXCJ2YWxpZFwiXSxbWzc4NjYsNzg2Nl0sXCJtYXBwZWRcIixbNzg2N11dLFtbNzg2Nyw3ODY3XSxcInZhbGlkXCJdLFtbNzg2OCw3ODY4XSxcIm1hcHBlZFwiLFs3ODY5XV0sW1s3ODY5LDc4NjldLFwidmFsaWRcIl0sW1s3ODcwLDc4NzBdLFwibWFwcGVkXCIsWzc4NzFdXSxbWzc4NzEsNzg3MV0sXCJ2YWxpZFwiXSxbWzc4NzIsNzg3Ml0sXCJtYXBwZWRcIixbNzg3M11dLFtbNzg3Myw3ODczXSxcInZhbGlkXCJdLFtbNzg3NCw3ODc0XSxcIm1hcHBlZFwiLFs3ODc1XV0sW1s3ODc1LDc4NzVdLFwidmFsaWRcIl0sW1s3ODc2LDc4NzZdLFwibWFwcGVkXCIsWzc4NzddXSxbWzc4NzcsNzg3N10sXCJ2YWxpZFwiXSxbWzc4NzgsNzg3OF0sXCJtYXBwZWRcIixbNzg3OV1dLFtbNzg3OSw3ODc5XSxcInZhbGlkXCJdLFtbNzg4MCw3ODgwXSxcIm1hcHBlZFwiLFs3ODgxXV0sW1s3ODgxLDc4ODFdLFwidmFsaWRcIl0sW1s3ODgyLDc4ODJdLFwibWFwcGVkXCIsWzc4ODNdXSxbWzc4ODMsNzg4M10sXCJ2YWxpZFwiXSxbWzc4ODQsNzg4NF0sXCJtYXBwZWRcIixbNzg4NV1dLFtbNzg4NSw3ODg1XSxcInZhbGlkXCJdLFtbNzg4Niw3ODg2XSxcIm1hcHBlZFwiLFs3ODg3XV0sW1s3ODg3LDc4ODddLFwidmFsaWRcIl0sW1s3ODg4LDc4ODhdLFwibWFwcGVkXCIsWzc4ODldXSxbWzc4ODksNzg4OV0sXCJ2YWxpZFwiXSxbWzc4OTAsNzg5MF0sXCJtYXBwZWRcIixbNzg5MV1dLFtbNzg5MSw3ODkxXSxcInZhbGlkXCJdLFtbNzg5Miw3ODkyXSxcIm1hcHBlZFwiLFs3ODkzXV0sW1s3ODkzLDc4OTNdLFwidmFsaWRcIl0sW1s3ODk0LDc4OTRdLFwibWFwcGVkXCIsWzc4OTVdXSxbWzc4OTUsNzg5NV0sXCJ2YWxpZFwiXSxbWzc4OTYsNzg5Nl0sXCJtYXBwZWRcIixbNzg5N11dLFtbNzg5Nyw3ODk3XSxcInZhbGlkXCJdLFtbNzg5OCw3ODk4XSxcIm1hcHBlZFwiLFs3ODk5XV0sW1s3ODk5LDc4OTldLFwidmFsaWRcIl0sW1s3OTAwLDc5MDBdLFwibWFwcGVkXCIsWzc5MDFdXSxbWzc5MDEsNzkwMV0sXCJ2YWxpZFwiXSxbWzc5MDIsNzkwMl0sXCJtYXBwZWRcIixbNzkwM11dLFtbNzkwMyw3OTAzXSxcInZhbGlkXCJdLFtbNzkwNCw3OTA0XSxcIm1hcHBlZFwiLFs3OTA1XV0sW1s3OTA1LDc5MDVdLFwidmFsaWRcIl0sW1s3OTA2LDc5MDZdLFwibWFwcGVkXCIsWzc5MDddXSxbWzc5MDcsNzkwN10sXCJ2YWxpZFwiXSxbWzc5MDgsNzkwOF0sXCJtYXBwZWRcIixbNzkwOV1dLFtbNzkwOSw3OTA5XSxcInZhbGlkXCJdLFtbNzkxMCw3OTEwXSxcIm1hcHBlZFwiLFs3OTExXV0sW1s3OTExLDc5MTFdLFwidmFsaWRcIl0sW1s3OTEyLDc5MTJdLFwibWFwcGVkXCIsWzc5MTNdXSxbWzc5MTMsNzkxM10sXCJ2YWxpZFwiXSxbWzc5MTQsNzkxNF0sXCJtYXBwZWRcIixbNzkxNV1dLFtbNzkxNSw3OTE1XSxcInZhbGlkXCJdLFtbNzkxNiw3OTE2XSxcIm1hcHBlZFwiLFs3OTE3XV0sW1s3OTE3LDc5MTddLFwidmFsaWRcIl0sW1s3OTE4LDc5MThdLFwibWFwcGVkXCIsWzc5MTldXSxbWzc5MTksNzkxOV0sXCJ2YWxpZFwiXSxbWzc5MjAsNzkyMF0sXCJtYXBwZWRcIixbNzkyMV1dLFtbNzkyMSw3OTIxXSxcInZhbGlkXCJdLFtbNzkyMiw3OTIyXSxcIm1hcHBlZFwiLFs3OTIzXV0sW1s3OTIzLDc5MjNdLFwidmFsaWRcIl0sW1s3OTI0LDc5MjRdLFwibWFwcGVkXCIsWzc5MjVdXSxbWzc5MjUsNzkyNV0sXCJ2YWxpZFwiXSxbWzc5MjYsNzkyNl0sXCJtYXBwZWRcIixbNzkyN11dLFtbNzkyNyw3OTI3XSxcInZhbGlkXCJdLFtbNzkyOCw3OTI4XSxcIm1hcHBlZFwiLFs3OTI5XV0sW1s3OTI5LDc5MjldLFwidmFsaWRcIl0sW1s3OTMwLDc5MzBdLFwibWFwcGVkXCIsWzc5MzFdXSxbWzc5MzEsNzkzMV0sXCJ2YWxpZFwiXSxbWzc5MzIsNzkzMl0sXCJtYXBwZWRcIixbNzkzM11dLFtbNzkzMyw3OTMzXSxcInZhbGlkXCJdLFtbNzkzNCw3OTM0XSxcIm1hcHBlZFwiLFs3OTM1XV0sW1s3OTM1LDc5MzVdLFwidmFsaWRcIl0sW1s3OTM2LDc5NDNdLFwidmFsaWRcIl0sW1s3OTQ0LDc5NDRdLFwibWFwcGVkXCIsWzc5MzZdXSxbWzc5NDUsNzk0NV0sXCJtYXBwZWRcIixbNzkzN11dLFtbNzk0Niw3OTQ2XSxcIm1hcHBlZFwiLFs3OTM4XV0sW1s3OTQ3LDc5NDddLFwibWFwcGVkXCIsWzc5MzldXSxbWzc5NDgsNzk0OF0sXCJtYXBwZWRcIixbNzk0MF1dLFtbNzk0OSw3OTQ5XSxcIm1hcHBlZFwiLFs3OTQxXV0sW1s3OTUwLDc5NTBdLFwibWFwcGVkXCIsWzc5NDJdXSxbWzc5NTEsNzk1MV0sXCJtYXBwZWRcIixbNzk0M11dLFtbNzk1Miw3OTU3XSxcInZhbGlkXCJdLFtbNzk1OCw3OTU5XSxcImRpc2FsbG93ZWRcIl0sW1s3OTYwLDc5NjBdLFwibWFwcGVkXCIsWzc5NTJdXSxbWzc5NjEsNzk2MV0sXCJtYXBwZWRcIixbNzk1M11dLFtbNzk2Miw3OTYyXSxcIm1hcHBlZFwiLFs3OTU0XV0sW1s3OTYzLDc5NjNdLFwibWFwcGVkXCIsWzc5NTVdXSxbWzc5NjQsNzk2NF0sXCJtYXBwZWRcIixbNzk1Nl1dLFtbNzk2NSw3OTY1XSxcIm1hcHBlZFwiLFs3OTU3XV0sW1s3OTY2LDc5NjddLFwiZGlzYWxsb3dlZFwiXSxbWzc5NjgsNzk3NV0sXCJ2YWxpZFwiXSxbWzc5NzYsNzk3Nl0sXCJtYXBwZWRcIixbNzk2OF1dLFtbNzk3Nyw3OTc3XSxcIm1hcHBlZFwiLFs3OTY5XV0sW1s3OTc4LDc5NzhdLFwibWFwcGVkXCIsWzc5NzBdXSxbWzc5NzksNzk3OV0sXCJtYXBwZWRcIixbNzk3MV1dLFtbNzk4MCw3OTgwXSxcIm1hcHBlZFwiLFs3OTcyXV0sW1s3OTgxLDc5ODFdLFwibWFwcGVkXCIsWzc5NzNdXSxbWzc5ODIsNzk4Ml0sXCJtYXBwZWRcIixbNzk3NF1dLFtbNzk4Myw3OTgzXSxcIm1hcHBlZFwiLFs3OTc1XV0sW1s3OTg0LDc5OTFdLFwidmFsaWRcIl0sW1s3OTkyLDc5OTJdLFwibWFwcGVkXCIsWzc5ODRdXSxbWzc5OTMsNzk5M10sXCJtYXBwZWRcIixbNzk4NV1dLFtbNzk5NCw3OTk0XSxcIm1hcHBlZFwiLFs3OTg2XV0sW1s3OTk1LDc5OTVdLFwibWFwcGVkXCIsWzc5ODddXSxbWzc5OTYsNzk5Nl0sXCJtYXBwZWRcIixbNzk4OF1dLFtbNzk5Nyw3OTk3XSxcIm1hcHBlZFwiLFs3OTg5XV0sW1s3OTk4LDc5OThdLFwibWFwcGVkXCIsWzc5OTBdXSxbWzc5OTksNzk5OV0sXCJtYXBwZWRcIixbNzk5MV1dLFtbODAwMCw4MDA1XSxcInZhbGlkXCJdLFtbODAwNiw4MDA3XSxcImRpc2FsbG93ZWRcIl0sW1s4MDA4LDgwMDhdLFwibWFwcGVkXCIsWzgwMDBdXSxbWzgwMDksODAwOV0sXCJtYXBwZWRcIixbODAwMV1dLFtbODAxMCw4MDEwXSxcIm1hcHBlZFwiLFs4MDAyXV0sW1s4MDExLDgwMTFdLFwibWFwcGVkXCIsWzgwMDNdXSxbWzgwMTIsODAxMl0sXCJtYXBwZWRcIixbODAwNF1dLFtbODAxMyw4MDEzXSxcIm1hcHBlZFwiLFs4MDA1XV0sW1s4MDE0LDgwMTVdLFwiZGlzYWxsb3dlZFwiXSxbWzgwMTYsODAyM10sXCJ2YWxpZFwiXSxbWzgwMjQsODAyNF0sXCJkaXNhbGxvd2VkXCJdLFtbODAyNSw4MDI1XSxcIm1hcHBlZFwiLFs4MDE3XV0sW1s4MDI2LDgwMjZdLFwiZGlzYWxsb3dlZFwiXSxbWzgwMjcsODAyN10sXCJtYXBwZWRcIixbODAxOV1dLFtbODAyOCw4MDI4XSxcImRpc2FsbG93ZWRcIl0sW1s4MDI5LDgwMjldLFwibWFwcGVkXCIsWzgwMjFdXSxbWzgwMzAsODAzMF0sXCJkaXNhbGxvd2VkXCJdLFtbODAzMSw4MDMxXSxcIm1hcHBlZFwiLFs4MDIzXV0sW1s4MDMyLDgwMzldLFwidmFsaWRcIl0sW1s4MDQwLDgwNDBdLFwibWFwcGVkXCIsWzgwMzJdXSxbWzgwNDEsODA0MV0sXCJtYXBwZWRcIixbODAzM11dLFtbODA0Miw4MDQyXSxcIm1hcHBlZFwiLFs4MDM0XV0sW1s4MDQzLDgwNDNdLFwibWFwcGVkXCIsWzgwMzVdXSxbWzgwNDQsODA0NF0sXCJtYXBwZWRcIixbODAzNl1dLFtbODA0NSw4MDQ1XSxcIm1hcHBlZFwiLFs4MDM3XV0sW1s4MDQ2LDgwNDZdLFwibWFwcGVkXCIsWzgwMzhdXSxbWzgwNDcsODA0N10sXCJtYXBwZWRcIixbODAzOV1dLFtbODA0OCw4MDQ4XSxcInZhbGlkXCJdLFtbODA0OSw4MDQ5XSxcIm1hcHBlZFwiLFs5NDBdXSxbWzgwNTAsODA1MF0sXCJ2YWxpZFwiXSxbWzgwNTEsODA1MV0sXCJtYXBwZWRcIixbOTQxXV0sW1s4MDUyLDgwNTJdLFwidmFsaWRcIl0sW1s4MDUzLDgwNTNdLFwibWFwcGVkXCIsWzk0Ml1dLFtbODA1NCw4MDU0XSxcInZhbGlkXCJdLFtbODA1NSw4MDU1XSxcIm1hcHBlZFwiLFs5NDNdXSxbWzgwNTYsODA1Nl0sXCJ2YWxpZFwiXSxbWzgwNTcsODA1N10sXCJtYXBwZWRcIixbOTcyXV0sW1s4MDU4LDgwNThdLFwidmFsaWRcIl0sW1s4MDU5LDgwNTldLFwibWFwcGVkXCIsWzk3M11dLFtbODA2MCw4MDYwXSxcInZhbGlkXCJdLFtbODA2MSw4MDYxXSxcIm1hcHBlZFwiLFs5NzRdXSxbWzgwNjIsODA2M10sXCJkaXNhbGxvd2VkXCJdLFtbODA2NCw4MDY0XSxcIm1hcHBlZFwiLFs3OTM2LDk1M11dLFtbODA2NSw4MDY1XSxcIm1hcHBlZFwiLFs3OTM3LDk1M11dLFtbODA2Niw4MDY2XSxcIm1hcHBlZFwiLFs3OTM4LDk1M11dLFtbODA2Nyw4MDY3XSxcIm1hcHBlZFwiLFs3OTM5LDk1M11dLFtbODA2OCw4MDY4XSxcIm1hcHBlZFwiLFs3OTQwLDk1M11dLFtbODA2OSw4MDY5XSxcIm1hcHBlZFwiLFs3OTQxLDk1M11dLFtbODA3MCw4MDcwXSxcIm1hcHBlZFwiLFs3OTQyLDk1M11dLFtbODA3MSw4MDcxXSxcIm1hcHBlZFwiLFs3OTQzLDk1M11dLFtbODA3Miw4MDcyXSxcIm1hcHBlZFwiLFs3OTM2LDk1M11dLFtbODA3Myw4MDczXSxcIm1hcHBlZFwiLFs3OTM3LDk1M11dLFtbODA3NCw4MDc0XSxcIm1hcHBlZFwiLFs3OTM4LDk1M11dLFtbODA3NSw4MDc1XSxcIm1hcHBlZFwiLFs3OTM5LDk1M11dLFtbODA3Niw4MDc2XSxcIm1hcHBlZFwiLFs3OTQwLDk1M11dLFtbODA3Nyw4MDc3XSxcIm1hcHBlZFwiLFs3OTQxLDk1M11dLFtbODA3OCw4MDc4XSxcIm1hcHBlZFwiLFs3OTQyLDk1M11dLFtbODA3OSw4MDc5XSxcIm1hcHBlZFwiLFs3OTQzLDk1M11dLFtbODA4MCw4MDgwXSxcIm1hcHBlZFwiLFs3OTY4LDk1M11dLFtbODA4MSw4MDgxXSxcIm1hcHBlZFwiLFs3OTY5LDk1M11dLFtbODA4Miw4MDgyXSxcIm1hcHBlZFwiLFs3OTcwLDk1M11dLFtbODA4Myw4MDgzXSxcIm1hcHBlZFwiLFs3OTcxLDk1M11dLFtbODA4NCw4MDg0XSxcIm1hcHBlZFwiLFs3OTcyLDk1M11dLFtbODA4NSw4MDg1XSxcIm1hcHBlZFwiLFs3OTczLDk1M11dLFtbODA4Niw4MDg2XSxcIm1hcHBlZFwiLFs3OTc0LDk1M11dLFtbODA4Nyw4MDg3XSxcIm1hcHBlZFwiLFs3OTc1LDk1M11dLFtbODA4OCw4MDg4XSxcIm1hcHBlZFwiLFs3OTY4LDk1M11dLFtbODA4OSw4MDg5XSxcIm1hcHBlZFwiLFs3OTY5LDk1M11dLFtbODA5MCw4MDkwXSxcIm1hcHBlZFwiLFs3OTcwLDk1M11dLFtbODA5MSw4MDkxXSxcIm1hcHBlZFwiLFs3OTcxLDk1M11dLFtbODA5Miw4MDkyXSxcIm1hcHBlZFwiLFs3OTcyLDk1M11dLFtbODA5Myw4MDkzXSxcIm1hcHBlZFwiLFs3OTczLDk1M11dLFtbODA5NCw4MDk0XSxcIm1hcHBlZFwiLFs3OTc0LDk1M11dLFtbODA5NSw4MDk1XSxcIm1hcHBlZFwiLFs3OTc1LDk1M11dLFtbODA5Niw4MDk2XSxcIm1hcHBlZFwiLFs4MDMyLDk1M11dLFtbODA5Nyw4MDk3XSxcIm1hcHBlZFwiLFs4MDMzLDk1M11dLFtbODA5OCw4MDk4XSxcIm1hcHBlZFwiLFs4MDM0LDk1M11dLFtbODA5OSw4MDk5XSxcIm1hcHBlZFwiLFs4MDM1LDk1M11dLFtbODEwMCw4MTAwXSxcIm1hcHBlZFwiLFs4MDM2LDk1M11dLFtbODEwMSw4MTAxXSxcIm1hcHBlZFwiLFs4MDM3LDk1M11dLFtbODEwMiw4MTAyXSxcIm1hcHBlZFwiLFs4MDM4LDk1M11dLFtbODEwMyw4MTAzXSxcIm1hcHBlZFwiLFs4MDM5LDk1M11dLFtbODEwNCw4MTA0XSxcIm1hcHBlZFwiLFs4MDMyLDk1M11dLFtbODEwNSw4MTA1XSxcIm1hcHBlZFwiLFs4MDMzLDk1M11dLFtbODEwNiw4MTA2XSxcIm1hcHBlZFwiLFs4MDM0LDk1M11dLFtbODEwNyw4MTA3XSxcIm1hcHBlZFwiLFs4MDM1LDk1M11dLFtbODEwOCw4MTA4XSxcIm1hcHBlZFwiLFs4MDM2LDk1M11dLFtbODEwOSw4MTA5XSxcIm1hcHBlZFwiLFs4MDM3LDk1M11dLFtbODExMCw4MTEwXSxcIm1hcHBlZFwiLFs4MDM4LDk1M11dLFtbODExMSw4MTExXSxcIm1hcHBlZFwiLFs4MDM5LDk1M11dLFtbODExMiw4MTEzXSxcInZhbGlkXCJdLFtbODExNCw4MTE0XSxcIm1hcHBlZFwiLFs4MDQ4LDk1M11dLFtbODExNSw4MTE1XSxcIm1hcHBlZFwiLFs5NDUsOTUzXV0sW1s4MTE2LDgxMTZdLFwibWFwcGVkXCIsWzk0MCw5NTNdXSxbWzgxMTcsODExN10sXCJkaXNhbGxvd2VkXCJdLFtbODExOCw4MTE4XSxcInZhbGlkXCJdLFtbODExOSw4MTE5XSxcIm1hcHBlZFwiLFs4MTE4LDk1M11dLFtbODEyMCw4MTIwXSxcIm1hcHBlZFwiLFs4MTEyXV0sW1s4MTIxLDgxMjFdLFwibWFwcGVkXCIsWzgxMTNdXSxbWzgxMjIsODEyMl0sXCJtYXBwZWRcIixbODA0OF1dLFtbODEyMyw4MTIzXSxcIm1hcHBlZFwiLFs5NDBdXSxbWzgxMjQsODEyNF0sXCJtYXBwZWRcIixbOTQ1LDk1M11dLFtbODEyNSw4MTI1XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzIsNzg3XV0sW1s4MTI2LDgxMjZdLFwibWFwcGVkXCIsWzk1M11dLFtbODEyNyw4MTI3XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzIsNzg3XV0sW1s4MTI4LDgxMjhdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiw4MzRdXSxbWzgxMjksODEyOV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDc3Niw4MzRdXSxbWzgxMzAsODEzMF0sXCJtYXBwZWRcIixbODA1Miw5NTNdXSxbWzgxMzEsODEzMV0sXCJtYXBwZWRcIixbOTUxLDk1M11dLFtbODEzMiw4MTMyXSxcIm1hcHBlZFwiLFs5NDIsOTUzXV0sW1s4MTMzLDgxMzNdLFwiZGlzYWxsb3dlZFwiXSxbWzgxMzQsODEzNF0sXCJ2YWxpZFwiXSxbWzgxMzUsODEzNV0sXCJtYXBwZWRcIixbODEzNCw5NTNdXSxbWzgxMzYsODEzNl0sXCJtYXBwZWRcIixbODA1MF1dLFtbODEzNyw4MTM3XSxcIm1hcHBlZFwiLFs5NDFdXSxbWzgxMzgsODEzOF0sXCJtYXBwZWRcIixbODA1Ml1dLFtbODEzOSw4MTM5XSxcIm1hcHBlZFwiLFs5NDJdXSxbWzgxNDAsODE0MF0sXCJtYXBwZWRcIixbOTUxLDk1M11dLFtbODE0MSw4MTQxXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzIsNzg3LDc2OF1dLFtbODE0Miw4MTQyXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzIsNzg3LDc2OV1dLFtbODE0Myw4MTQzXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzIsNzg3LDgzNF1dLFtbODE0NCw4MTQ2XSxcInZhbGlkXCJdLFtbODE0Nyw4MTQ3XSxcIm1hcHBlZFwiLFs5MTJdXSxbWzgxNDgsODE0OV0sXCJkaXNhbGxvd2VkXCJdLFtbODE1MCw4MTUxXSxcInZhbGlkXCJdLFtbODE1Miw4MTUyXSxcIm1hcHBlZFwiLFs4MTQ0XV0sW1s4MTUzLDgxNTNdLFwibWFwcGVkXCIsWzgxNDVdXSxbWzgxNTQsODE1NF0sXCJtYXBwZWRcIixbODA1NF1dLFtbODE1NSw4MTU1XSxcIm1hcHBlZFwiLFs5NDNdXSxbWzgxNTYsODE1Nl0sXCJkaXNhbGxvd2VkXCJdLFtbODE1Nyw4MTU3XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzIsNzg4LDc2OF1dLFtbODE1OCw4MTU4XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzIsNzg4LDc2OV1dLFtbODE1OSw4MTU5XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzIsNzg4LDgzNF1dLFtbODE2MCw4MTYyXSxcInZhbGlkXCJdLFtbODE2Myw4MTYzXSxcIm1hcHBlZFwiLFs5NDRdXSxbWzgxNjQsODE2N10sXCJ2YWxpZFwiXSxbWzgxNjgsODE2OF0sXCJtYXBwZWRcIixbODE2MF1dLFtbODE2OSw4MTY5XSxcIm1hcHBlZFwiLFs4MTYxXV0sW1s4MTcwLDgxNzBdLFwibWFwcGVkXCIsWzgwNThdXSxbWzgxNzEsODE3MV0sXCJtYXBwZWRcIixbOTczXV0sW1s4MTcyLDgxNzJdLFwibWFwcGVkXCIsWzgxNjVdXSxbWzgxNzMsODE3M10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDc3Niw3NjhdXSxbWzgxNzQsODE3NF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDc3Niw3NjldXSxbWzgxNzUsODE3NV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzk2XV0sW1s4MTc2LDgxNzddLFwiZGlzYWxsb3dlZFwiXSxbWzgxNzgsODE3OF0sXCJtYXBwZWRcIixbODA2MCw5NTNdXSxbWzgxNzksODE3OV0sXCJtYXBwZWRcIixbOTY5LDk1M11dLFtbODE4MCw4MTgwXSxcIm1hcHBlZFwiLFs5NzQsOTUzXV0sW1s4MTgxLDgxODFdLFwiZGlzYWxsb3dlZFwiXSxbWzgxODIsODE4Ml0sXCJ2YWxpZFwiXSxbWzgxODMsODE4M10sXCJtYXBwZWRcIixbODE4Miw5NTNdXSxbWzgxODQsODE4NF0sXCJtYXBwZWRcIixbODA1Nl1dLFtbODE4NSw4MTg1XSxcIm1hcHBlZFwiLFs5NzJdXSxbWzgxODYsODE4Nl0sXCJtYXBwZWRcIixbODA2MF1dLFtbODE4Nyw4MTg3XSxcIm1hcHBlZFwiLFs5NzRdXSxbWzgxODgsODE4OF0sXCJtYXBwZWRcIixbOTY5LDk1M11dLFtbODE4OSw4MTg5XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzIsNzY5XV0sW1s4MTkwLDgxOTBdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiw3ODhdXSxbWzgxOTEsODE5MV0sXCJkaXNhbGxvd2VkXCJdLFtbODE5Miw4MjAyXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzJdXSxbWzgyMDMsODIwM10sXCJpZ25vcmVkXCJdLFtbODIwNCw4MjA1XSxcImRldmlhdGlvblwiLFtdXSxbWzgyMDYsODIwN10sXCJkaXNhbGxvd2VkXCJdLFtbODIwOCw4MjA4XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4MjA5LDgyMDldLFwibWFwcGVkXCIsWzgyMDhdXSxbWzgyMTAsODIxNF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODIxNSw4MjE1XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzIsODE5XV0sW1s4MjE2LDgyMjddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzgyMjgsODIzMF0sXCJkaXNhbGxvd2VkXCJdLFtbODIzMSw4MjMxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4MjMyLDgyMzhdLFwiZGlzYWxsb3dlZFwiXSxbWzgyMzksODIzOV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyXV0sW1s4MjQwLDgyNDJdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzgyNDMsODI0M10sXCJtYXBwZWRcIixbODI0Miw4MjQyXV0sW1s4MjQ0LDgyNDRdLFwibWFwcGVkXCIsWzgyNDIsODI0Miw4MjQyXV0sW1s4MjQ1LDgyNDVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzgyNDYsODI0Nl0sXCJtYXBwZWRcIixbODI0NSw4MjQ1XV0sW1s4MjQ3LDgyNDddLFwibWFwcGVkXCIsWzgyNDUsODI0NSw4MjQ1XV0sW1s4MjQ4LDgyNTFdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzgyNTIsODI1Ml0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMzLDMzXV0sW1s4MjUzLDgyNTNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzgyNTQsODI1NF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDc3M11dLFtbODI1NSw4MjYyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4MjYzLDgyNjNdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs2Myw2M11dLFtbODI2NCw4MjY0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNjMsMzNdXSxbWzgyNjUsODI2NV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMzLDYzXV0sW1s4MjY2LDgyNjldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzgyNzAsODI3NF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODI3NSw4Mjc2XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4Mjc3LDgyNzhdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzgyNzksODI3OV0sXCJtYXBwZWRcIixbODI0Miw4MjQyLDgyNDIsODI0Ml1dLFtbODI4MCw4Mjg2XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4Mjg3LDgyODddLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMl1dLFtbODI4OCw4Mjg4XSxcImlnbm9yZWRcIl0sW1s4Mjg5LDgyOTFdLFwiZGlzYWxsb3dlZFwiXSxbWzgyOTIsODI5Ml0sXCJpZ25vcmVkXCJdLFtbODI5Myw4MjkzXSxcImRpc2FsbG93ZWRcIl0sW1s4Mjk0LDgyOTddLFwiZGlzYWxsb3dlZFwiXSxbWzgyOTgsODMwM10sXCJkaXNhbGxvd2VkXCJdLFtbODMwNCw4MzA0XSxcIm1hcHBlZFwiLFs0OF1dLFtbODMwNSw4MzA1XSxcIm1hcHBlZFwiLFsxMDVdXSxbWzgzMDYsODMwN10sXCJkaXNhbGxvd2VkXCJdLFtbODMwOCw4MzA4XSxcIm1hcHBlZFwiLFs1Ml1dLFtbODMwOSw4MzA5XSxcIm1hcHBlZFwiLFs1M11dLFtbODMxMCw4MzEwXSxcIm1hcHBlZFwiLFs1NF1dLFtbODMxMSw4MzExXSxcIm1hcHBlZFwiLFs1NV1dLFtbODMxMiw4MzEyXSxcIm1hcHBlZFwiLFs1Nl1dLFtbODMxMyw4MzEzXSxcIm1hcHBlZFwiLFs1N11dLFtbODMxNCw4MzE0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDNdXSxbWzgzMTUsODMxNV0sXCJtYXBwZWRcIixbODcyMl1dLFtbODMxNiw4MzE2XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNjFdXSxbWzgzMTcsODMxN10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwXV0sW1s4MzE4LDgzMThdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MV1dLFtbODMxOSw4MzE5XSxcIm1hcHBlZFwiLFsxMTBdXSxbWzgzMjAsODMyMF0sXCJtYXBwZWRcIixbNDhdXSxbWzgzMjEsODMyMV0sXCJtYXBwZWRcIixbNDldXSxbWzgzMjIsODMyMl0sXCJtYXBwZWRcIixbNTBdXSxbWzgzMjMsODMyM10sXCJtYXBwZWRcIixbNTFdXSxbWzgzMjQsODMyNF0sXCJtYXBwZWRcIixbNTJdXSxbWzgzMjUsODMyNV0sXCJtYXBwZWRcIixbNTNdXSxbWzgzMjYsODMyNl0sXCJtYXBwZWRcIixbNTRdXSxbWzgzMjcsODMyN10sXCJtYXBwZWRcIixbNTVdXSxbWzgzMjgsODMyOF0sXCJtYXBwZWRcIixbNTZdXSxbWzgzMjksODMyOV0sXCJtYXBwZWRcIixbNTddXSxbWzgzMzAsODMzMF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQzXV0sW1s4MzMxLDgzMzFdLFwibWFwcGVkXCIsWzg3MjJdXSxbWzgzMzIsODMzMl0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzYxXV0sW1s4MzMzLDgzMzNdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MF1dLFtbODMzNCw4MzM0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDFdXSxbWzgzMzUsODMzNV0sXCJkaXNhbGxvd2VkXCJdLFtbODMzNiw4MzM2XSxcIm1hcHBlZFwiLFs5N11dLFtbODMzNyw4MzM3XSxcIm1hcHBlZFwiLFsxMDFdXSxbWzgzMzgsODMzOF0sXCJtYXBwZWRcIixbMTExXV0sW1s4MzM5LDgzMzldLFwibWFwcGVkXCIsWzEyMF1dLFtbODM0MCw4MzQwXSxcIm1hcHBlZFwiLFs2MDFdXSxbWzgzNDEsODM0MV0sXCJtYXBwZWRcIixbMTA0XV0sW1s4MzQyLDgzNDJdLFwibWFwcGVkXCIsWzEwN11dLFtbODM0Myw4MzQzXSxcIm1hcHBlZFwiLFsxMDhdXSxbWzgzNDQsODM0NF0sXCJtYXBwZWRcIixbMTA5XV0sW1s4MzQ1LDgzNDVdLFwibWFwcGVkXCIsWzExMF1dLFtbODM0Niw4MzQ2XSxcIm1hcHBlZFwiLFsxMTJdXSxbWzgzNDcsODM0N10sXCJtYXBwZWRcIixbMTE1XV0sW1s4MzQ4LDgzNDhdLFwibWFwcGVkXCIsWzExNl1dLFtbODM0OSw4MzUxXSxcImRpc2FsbG93ZWRcIl0sW1s4MzUyLDgzNTldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzgzNjAsODM2MF0sXCJtYXBwZWRcIixbMTE0LDExNV1dLFtbODM2MSw4MzYyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4MzYzLDgzNjNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzgzNjQsODM2NF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODM2NSw4MzY3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4MzY4LDgzNjldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzgzNzAsODM3M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODM3NCw4Mzc2XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4Mzc3LDgzNzddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzgzNzgsODM3OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODM3OSw4MzgxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4MzgyLDgzODJdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzgzODMsODM5OV0sXCJkaXNhbGxvd2VkXCJdLFtbODQwMCw4NDE3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4NDE4LDg0MTldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzg0MjAsODQyNl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODQyNyw4NDI3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4NDI4LDg0MzFdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzg0MzIsODQzMl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODQzMyw4NDQ3XSxcImRpc2FsbG93ZWRcIl0sW1s4NDQ4LDg0NDhdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs5Nyw0Nyw5OV1dLFtbODQ0OSw4NDQ5XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbOTcsNDcsMTE1XV0sW1s4NDUwLDg0NTBdLFwibWFwcGVkXCIsWzk5XV0sW1s4NDUxLDg0NTFdLFwibWFwcGVkXCIsWzE3Niw5OV1dLFtbODQ1Miw4NDUyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4NDUzLDg0NTNdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs5OSw0NywxMTFdXSxbWzg0NTQsODQ1NF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzk5LDQ3LDExN11dLFtbODQ1NSw4NDU1XSxcIm1hcHBlZFwiLFs2MDNdXSxbWzg0NTYsODQ1Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODQ1Nyw4NDU3XSxcIm1hcHBlZFwiLFsxNzYsMTAyXV0sW1s4NDU4LDg0NThdLFwibWFwcGVkXCIsWzEwM11dLFtbODQ1OSw4NDYyXSxcIm1hcHBlZFwiLFsxMDRdXSxbWzg0NjMsODQ2M10sXCJtYXBwZWRcIixbMjk1XV0sW1s4NDY0LDg0NjVdLFwibWFwcGVkXCIsWzEwNV1dLFtbODQ2Niw4NDY3XSxcIm1hcHBlZFwiLFsxMDhdXSxbWzg0NjgsODQ2OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODQ2OSw4NDY5XSxcIm1hcHBlZFwiLFsxMTBdXSxbWzg0NzAsODQ3MF0sXCJtYXBwZWRcIixbMTEwLDExMV1dLFtbODQ3MSw4NDcyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4NDczLDg0NzNdLFwibWFwcGVkXCIsWzExMl1dLFtbODQ3NCw4NDc0XSxcIm1hcHBlZFwiLFsxMTNdXSxbWzg0NzUsODQ3N10sXCJtYXBwZWRcIixbMTE0XV0sW1s4NDc4LDg0NzldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzg0ODAsODQ4MF0sXCJtYXBwZWRcIixbMTE1LDEwOV1dLFtbODQ4MSw4NDgxXSxcIm1hcHBlZFwiLFsxMTYsMTAxLDEwOF1dLFtbODQ4Miw4NDgyXSxcIm1hcHBlZFwiLFsxMTYsMTA5XV0sW1s4NDgzLDg0ODNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzg0ODQsODQ4NF0sXCJtYXBwZWRcIixbMTIyXV0sW1s4NDg1LDg0ODVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzg0ODYsODQ4Nl0sXCJtYXBwZWRcIixbOTY5XV0sW1s4NDg3LDg0ODddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzg0ODgsODQ4OF0sXCJtYXBwZWRcIixbMTIyXV0sW1s4NDg5LDg0ODldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzg0OTAsODQ5MF0sXCJtYXBwZWRcIixbMTA3XV0sW1s4NDkxLDg0OTFdLFwibWFwcGVkXCIsWzIyOV1dLFtbODQ5Miw4NDkyXSxcIm1hcHBlZFwiLFs5OF1dLFtbODQ5Myw4NDkzXSxcIm1hcHBlZFwiLFs5OV1dLFtbODQ5NCw4NDk0XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4NDk1LDg0OTZdLFwibWFwcGVkXCIsWzEwMV1dLFtbODQ5Nyw4NDk3XSxcIm1hcHBlZFwiLFsxMDJdXSxbWzg0OTgsODQ5OF0sXCJkaXNhbGxvd2VkXCJdLFtbODQ5OSw4NDk5XSxcIm1hcHBlZFwiLFsxMDldXSxbWzg1MDAsODUwMF0sXCJtYXBwZWRcIixbMTExXV0sW1s4NTAxLDg1MDFdLFwibWFwcGVkXCIsWzE0ODhdXSxbWzg1MDIsODUwMl0sXCJtYXBwZWRcIixbMTQ4OV1dLFtbODUwMyw4NTAzXSxcIm1hcHBlZFwiLFsxNDkwXV0sW1s4NTA0LDg1MDRdLFwibWFwcGVkXCIsWzE0OTFdXSxbWzg1MDUsODUwNV0sXCJtYXBwZWRcIixbMTA1XV0sW1s4NTA2LDg1MDZdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzg1MDcsODUwN10sXCJtYXBwZWRcIixbMTAyLDk3LDEyMF1dLFtbODUwOCw4NTA4XSxcIm1hcHBlZFwiLFs5NjBdXSxbWzg1MDksODUxMF0sXCJtYXBwZWRcIixbOTQ3XV0sW1s4NTExLDg1MTFdLFwibWFwcGVkXCIsWzk2MF1dLFtbODUxMiw4NTEyXSxcIm1hcHBlZFwiLFs4NzIxXV0sW1s4NTEzLDg1MTZdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzg1MTcsODUxOF0sXCJtYXBwZWRcIixbMTAwXV0sW1s4NTE5LDg1MTldLFwibWFwcGVkXCIsWzEwMV1dLFtbODUyMCw4NTIwXSxcIm1hcHBlZFwiLFsxMDVdXSxbWzg1MjEsODUyMV0sXCJtYXBwZWRcIixbMTA2XV0sW1s4NTIyLDg1MjNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzg1MjQsODUyNF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODUyNSw4NTI1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4NTI2LDg1MjZdLFwidmFsaWRcIl0sW1s4NTI3LDg1MjddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzg1MjgsODUyOF0sXCJtYXBwZWRcIixbNDksODI2MCw1NV1dLFtbODUyOSw4NTI5XSxcIm1hcHBlZFwiLFs0OSw4MjYwLDU3XV0sW1s4NTMwLDg1MzBdLFwibWFwcGVkXCIsWzQ5LDgyNjAsNDksNDhdXSxbWzg1MzEsODUzMV0sXCJtYXBwZWRcIixbNDksODI2MCw1MV1dLFtbODUzMiw4NTMyXSxcIm1hcHBlZFwiLFs1MCw4MjYwLDUxXV0sW1s4NTMzLDg1MzNdLFwibWFwcGVkXCIsWzQ5LDgyNjAsNTNdXSxbWzg1MzQsODUzNF0sXCJtYXBwZWRcIixbNTAsODI2MCw1M11dLFtbODUzNSw4NTM1XSxcIm1hcHBlZFwiLFs1MSw4MjYwLDUzXV0sW1s4NTM2LDg1MzZdLFwibWFwcGVkXCIsWzUyLDgyNjAsNTNdXSxbWzg1MzcsODUzN10sXCJtYXBwZWRcIixbNDksODI2MCw1NF1dLFtbODUzOCw4NTM4XSxcIm1hcHBlZFwiLFs1Myw4MjYwLDU0XV0sW1s4NTM5LDg1MzldLFwibWFwcGVkXCIsWzQ5LDgyNjAsNTZdXSxbWzg1NDAsODU0MF0sXCJtYXBwZWRcIixbNTEsODI2MCw1Nl1dLFtbODU0MSw4NTQxXSxcIm1hcHBlZFwiLFs1Myw4MjYwLDU2XV0sW1s4NTQyLDg1NDJdLFwibWFwcGVkXCIsWzU1LDgyNjAsNTZdXSxbWzg1NDMsODU0M10sXCJtYXBwZWRcIixbNDksODI2MF1dLFtbODU0NCw4NTQ0XSxcIm1hcHBlZFwiLFsxMDVdXSxbWzg1NDUsODU0NV0sXCJtYXBwZWRcIixbMTA1LDEwNV1dLFtbODU0Niw4NTQ2XSxcIm1hcHBlZFwiLFsxMDUsMTA1LDEwNV1dLFtbODU0Nyw4NTQ3XSxcIm1hcHBlZFwiLFsxMDUsMTE4XV0sW1s4NTQ4LDg1NDhdLFwibWFwcGVkXCIsWzExOF1dLFtbODU0OSw4NTQ5XSxcIm1hcHBlZFwiLFsxMTgsMTA1XV0sW1s4NTUwLDg1NTBdLFwibWFwcGVkXCIsWzExOCwxMDUsMTA1XV0sW1s4NTUxLDg1NTFdLFwibWFwcGVkXCIsWzExOCwxMDUsMTA1LDEwNV1dLFtbODU1Miw4NTUyXSxcIm1hcHBlZFwiLFsxMDUsMTIwXV0sW1s4NTUzLDg1NTNdLFwibWFwcGVkXCIsWzEyMF1dLFtbODU1NCw4NTU0XSxcIm1hcHBlZFwiLFsxMjAsMTA1XV0sW1s4NTU1LDg1NTVdLFwibWFwcGVkXCIsWzEyMCwxMDUsMTA1XV0sW1s4NTU2LDg1NTZdLFwibWFwcGVkXCIsWzEwOF1dLFtbODU1Nyw4NTU3XSxcIm1hcHBlZFwiLFs5OV1dLFtbODU1OCw4NTU4XSxcIm1hcHBlZFwiLFsxMDBdXSxbWzg1NTksODU1OV0sXCJtYXBwZWRcIixbMTA5XV0sW1s4NTYwLDg1NjBdLFwibWFwcGVkXCIsWzEwNV1dLFtbODU2MSw4NTYxXSxcIm1hcHBlZFwiLFsxMDUsMTA1XV0sW1s4NTYyLDg1NjJdLFwibWFwcGVkXCIsWzEwNSwxMDUsMTA1XV0sW1s4NTYzLDg1NjNdLFwibWFwcGVkXCIsWzEwNSwxMThdXSxbWzg1NjQsODU2NF0sXCJtYXBwZWRcIixbMTE4XV0sW1s4NTY1LDg1NjVdLFwibWFwcGVkXCIsWzExOCwxMDVdXSxbWzg1NjYsODU2Nl0sXCJtYXBwZWRcIixbMTE4LDEwNSwxMDVdXSxbWzg1NjcsODU2N10sXCJtYXBwZWRcIixbMTE4LDEwNSwxMDUsMTA1XV0sW1s4NTY4LDg1NjhdLFwibWFwcGVkXCIsWzEwNSwxMjBdXSxbWzg1NjksODU2OV0sXCJtYXBwZWRcIixbMTIwXV0sW1s4NTcwLDg1NzBdLFwibWFwcGVkXCIsWzEyMCwxMDVdXSxbWzg1NzEsODU3MV0sXCJtYXBwZWRcIixbMTIwLDEwNSwxMDVdXSxbWzg1NzIsODU3Ml0sXCJtYXBwZWRcIixbMTA4XV0sW1s4NTczLDg1NzNdLFwibWFwcGVkXCIsWzk5XV0sW1s4NTc0LDg1NzRdLFwibWFwcGVkXCIsWzEwMF1dLFtbODU3NSw4NTc1XSxcIm1hcHBlZFwiLFsxMDldXSxbWzg1NzYsODU3OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODU3OSw4NTc5XSxcImRpc2FsbG93ZWRcIl0sW1s4NTgwLDg1ODBdLFwidmFsaWRcIl0sW1s4NTgxLDg1ODRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzg1ODUsODU4NV0sXCJtYXBwZWRcIixbNDgsODI2MCw1MV1dLFtbODU4Niw4NTg3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4NTg4LDg1OTFdLFwiZGlzYWxsb3dlZFwiXSxbWzg1OTIsODY4Ml0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODY4Myw4NjkxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4NjkyLDg3MDNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzg3MDQsODc0N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODc0OCw4NzQ4XSxcIm1hcHBlZFwiLFs4NzQ3LDg3NDddXSxbWzg3NDksODc0OV0sXCJtYXBwZWRcIixbODc0Nyw4NzQ3LDg3NDddXSxbWzg3NTAsODc1MF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODc1MSw4NzUxXSxcIm1hcHBlZFwiLFs4NzUwLDg3NTBdXSxbWzg3NTIsODc1Ml0sXCJtYXBwZWRcIixbODc1MCw4NzUwLDg3NTBdXSxbWzg3NTMsODc5OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODgwMCw4ODAwXSxcImRpc2FsbG93ZWRfU1REM192YWxpZFwiXSxbWzg4MDEsODgxM10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODgxNCw4ODE1XSxcImRpc2FsbG93ZWRfU1REM192YWxpZFwiXSxbWzg4MTYsODk0NV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODk0Niw4OTU5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s4OTYwLDg5NjBdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzg5NjEsODk2MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbODk2Miw5MDAwXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5MDAxLDkwMDFdLFwibWFwcGVkXCIsWzEyMjk2XV0sW1s5MDAyLDkwMDJdLFwibWFwcGVkXCIsWzEyMjk3XV0sW1s5MDAzLDkwODJdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzkwODMsOTA4M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTA4NCw5MDg0XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5MDg1LDkxMTRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzkxMTUsOTE2Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTE2Nyw5MTY4XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5MTY5LDkxNzldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzkxODAsOTE5MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTE5Miw5MTkyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5MTkzLDkyMDNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzkyMDQsOTIxMF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTIxMSw5MjE1XSxcImRpc2FsbG93ZWRcIl0sW1s5MjE2LDkyNTJdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzkyNTMsOTI1NF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTI1NSw5Mjc5XSxcImRpc2FsbG93ZWRcIl0sW1s5MjgwLDkyOTBdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzkyOTEsOTMxMV0sXCJkaXNhbGxvd2VkXCJdLFtbOTMxMiw5MzEyXSxcIm1hcHBlZFwiLFs0OV1dLFtbOTMxMyw5MzEzXSxcIm1hcHBlZFwiLFs1MF1dLFtbOTMxNCw5MzE0XSxcIm1hcHBlZFwiLFs1MV1dLFtbOTMxNSw5MzE1XSxcIm1hcHBlZFwiLFs1Ml1dLFtbOTMxNiw5MzE2XSxcIm1hcHBlZFwiLFs1M11dLFtbOTMxNyw5MzE3XSxcIm1hcHBlZFwiLFs1NF1dLFtbOTMxOCw5MzE4XSxcIm1hcHBlZFwiLFs1NV1dLFtbOTMxOSw5MzE5XSxcIm1hcHBlZFwiLFs1Nl1dLFtbOTMyMCw5MzIwXSxcIm1hcHBlZFwiLFs1N11dLFtbOTMyMSw5MzIxXSxcIm1hcHBlZFwiLFs0OSw0OF1dLFtbOTMyMiw5MzIyXSxcIm1hcHBlZFwiLFs0OSw0OV1dLFtbOTMyMyw5MzIzXSxcIm1hcHBlZFwiLFs0OSw1MF1dLFtbOTMyNCw5MzI0XSxcIm1hcHBlZFwiLFs0OSw1MV1dLFtbOTMyNSw5MzI1XSxcIm1hcHBlZFwiLFs0OSw1Ml1dLFtbOTMyNiw5MzI2XSxcIm1hcHBlZFwiLFs0OSw1M11dLFtbOTMyNyw5MzI3XSxcIm1hcHBlZFwiLFs0OSw1NF1dLFtbOTMyOCw5MzI4XSxcIm1hcHBlZFwiLFs0OSw1NV1dLFtbOTMyOSw5MzI5XSxcIm1hcHBlZFwiLFs0OSw1Nl1dLFtbOTMzMCw5MzMwXSxcIm1hcHBlZFwiLFs0OSw1N11dLFtbOTMzMSw5MzMxXSxcIm1hcHBlZFwiLFs1MCw0OF1dLFtbOTMzMiw5MzMyXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDksNDFdXSxbWzkzMzMsOTMzM10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDUwLDQxXV0sW1s5MzM0LDkzMzRdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCw1MSw0MV1dLFtbOTMzNSw5MzM1XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNTIsNDFdXSxbWzkzMzYsOTMzNl0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDUzLDQxXV0sW1s5MzM3LDkzMzddLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCw1NCw0MV1dLFtbOTMzOCw5MzM4XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNTUsNDFdXSxbWzkzMzksOTMzOV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDU2LDQxXV0sW1s5MzQwLDkzNDBdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCw1Nyw0MV1dLFtbOTM0MSw5MzQxXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDksNDgsNDFdXSxbWzkzNDIsOTM0Ml0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDQ5LDQ5LDQxXV0sW1s5MzQzLDkzNDNdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCw0OSw1MCw0MV1dLFtbOTM0NCw5MzQ0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDksNTEsNDFdXSxbWzkzNDUsOTM0NV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDQ5LDUyLDQxXV0sW1s5MzQ2LDkzNDZdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCw0OSw1Myw0MV1dLFtbOTM0Nyw5MzQ3XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDksNTQsNDFdXSxbWzkzNDgsOTM0OF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDQ5LDU1LDQxXV0sW1s5MzQ5LDkzNDldLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCw0OSw1Niw0MV1dLFtbOTM1MCw5MzUwXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDksNTcsNDFdXSxbWzkzNTEsOTM1MV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDUwLDQ4LDQxXV0sW1s5MzUyLDkzNzFdLFwiZGlzYWxsb3dlZFwiXSxbWzkzNzIsOTM3Ml0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDk3LDQxXV0sW1s5MzczLDkzNzNdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCw5OCw0MV1dLFtbOTM3NCw5Mzc0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsOTksNDFdXSxbWzkzNzUsOTM3NV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDEwMCw0MV1dLFtbOTM3Niw5Mzc2XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTAxLDQxXV0sW1s5Mzc3LDkzNzddLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCwxMDIsNDFdXSxbWzkzNzgsOTM3OF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDEwMyw0MV1dLFtbOTM3OSw5Mzc5XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTA0LDQxXV0sW1s5MzgwLDkzODBdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCwxMDUsNDFdXSxbWzkzODEsOTM4MV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDEwNiw0MV1dLFtbOTM4Miw5MzgyXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTA3LDQxXV0sW1s5MzgzLDkzODNdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCwxMDgsNDFdXSxbWzkzODQsOTM4NF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDEwOSw0MV1dLFtbOTM4NSw5Mzg1XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTEwLDQxXV0sW1s5Mzg2LDkzODZdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCwxMTEsNDFdXSxbWzkzODcsOTM4N10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDExMiw0MV1dLFtbOTM4OCw5Mzg4XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTEzLDQxXV0sW1s5Mzg5LDkzODldLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCwxMTQsNDFdXSxbWzkzOTAsOTM5MF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDExNSw0MV1dLFtbOTM5MSw5MzkxXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTE2LDQxXV0sW1s5MzkyLDkzOTJdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCwxMTcsNDFdXSxbWzkzOTMsOTM5M10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDExOCw0MV1dLFtbOTM5NCw5Mzk0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTE5LDQxXV0sW1s5Mzk1LDkzOTVdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCwxMjAsNDFdXSxbWzkzOTYsOTM5Nl0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDEyMSw0MV1dLFtbOTM5Nyw5Mzk3XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTIyLDQxXV0sW1s5Mzk4LDkzOThdLFwibWFwcGVkXCIsWzk3XV0sW1s5Mzk5LDkzOTldLFwibWFwcGVkXCIsWzk4XV0sW1s5NDAwLDk0MDBdLFwibWFwcGVkXCIsWzk5XV0sW1s5NDAxLDk0MDFdLFwibWFwcGVkXCIsWzEwMF1dLFtbOTQwMiw5NDAyXSxcIm1hcHBlZFwiLFsxMDFdXSxbWzk0MDMsOTQwM10sXCJtYXBwZWRcIixbMTAyXV0sW1s5NDA0LDk0MDRdLFwibWFwcGVkXCIsWzEwM11dLFtbOTQwNSw5NDA1XSxcIm1hcHBlZFwiLFsxMDRdXSxbWzk0MDYsOTQwNl0sXCJtYXBwZWRcIixbMTA1XV0sW1s5NDA3LDk0MDddLFwibWFwcGVkXCIsWzEwNl1dLFtbOTQwOCw5NDA4XSxcIm1hcHBlZFwiLFsxMDddXSxbWzk0MDksOTQwOV0sXCJtYXBwZWRcIixbMTA4XV0sW1s5NDEwLDk0MTBdLFwibWFwcGVkXCIsWzEwOV1dLFtbOTQxMSw5NDExXSxcIm1hcHBlZFwiLFsxMTBdXSxbWzk0MTIsOTQxMl0sXCJtYXBwZWRcIixbMTExXV0sW1s5NDEzLDk0MTNdLFwibWFwcGVkXCIsWzExMl1dLFtbOTQxNCw5NDE0XSxcIm1hcHBlZFwiLFsxMTNdXSxbWzk0MTUsOTQxNV0sXCJtYXBwZWRcIixbMTE0XV0sW1s5NDE2LDk0MTZdLFwibWFwcGVkXCIsWzExNV1dLFtbOTQxNyw5NDE3XSxcIm1hcHBlZFwiLFsxMTZdXSxbWzk0MTgsOTQxOF0sXCJtYXBwZWRcIixbMTE3XV0sW1s5NDE5LDk0MTldLFwibWFwcGVkXCIsWzExOF1dLFtbOTQyMCw5NDIwXSxcIm1hcHBlZFwiLFsxMTldXSxbWzk0MjEsOTQyMV0sXCJtYXBwZWRcIixbMTIwXV0sW1s5NDIyLDk0MjJdLFwibWFwcGVkXCIsWzEyMV1dLFtbOTQyMyw5NDIzXSxcIm1hcHBlZFwiLFsxMjJdXSxbWzk0MjQsOTQyNF0sXCJtYXBwZWRcIixbOTddXSxbWzk0MjUsOTQyNV0sXCJtYXBwZWRcIixbOThdXSxbWzk0MjYsOTQyNl0sXCJtYXBwZWRcIixbOTldXSxbWzk0MjcsOTQyN10sXCJtYXBwZWRcIixbMTAwXV0sW1s5NDI4LDk0MjhdLFwibWFwcGVkXCIsWzEwMV1dLFtbOTQyOSw5NDI5XSxcIm1hcHBlZFwiLFsxMDJdXSxbWzk0MzAsOTQzMF0sXCJtYXBwZWRcIixbMTAzXV0sW1s5NDMxLDk0MzFdLFwibWFwcGVkXCIsWzEwNF1dLFtbOTQzMiw5NDMyXSxcIm1hcHBlZFwiLFsxMDVdXSxbWzk0MzMsOTQzM10sXCJtYXBwZWRcIixbMTA2XV0sW1s5NDM0LDk0MzRdLFwibWFwcGVkXCIsWzEwN11dLFtbOTQzNSw5NDM1XSxcIm1hcHBlZFwiLFsxMDhdXSxbWzk0MzYsOTQzNl0sXCJtYXBwZWRcIixbMTA5XV0sW1s5NDM3LDk0MzddLFwibWFwcGVkXCIsWzExMF1dLFtbOTQzOCw5NDM4XSxcIm1hcHBlZFwiLFsxMTFdXSxbWzk0MzksOTQzOV0sXCJtYXBwZWRcIixbMTEyXV0sW1s5NDQwLDk0NDBdLFwibWFwcGVkXCIsWzExM11dLFtbOTQ0MSw5NDQxXSxcIm1hcHBlZFwiLFsxMTRdXSxbWzk0NDIsOTQ0Ml0sXCJtYXBwZWRcIixbMTE1XV0sW1s5NDQzLDk0NDNdLFwibWFwcGVkXCIsWzExNl1dLFtbOTQ0NCw5NDQ0XSxcIm1hcHBlZFwiLFsxMTddXSxbWzk0NDUsOTQ0NV0sXCJtYXBwZWRcIixbMTE4XV0sW1s5NDQ2LDk0NDZdLFwibWFwcGVkXCIsWzExOV1dLFtbOTQ0Nyw5NDQ3XSxcIm1hcHBlZFwiLFsxMjBdXSxbWzk0NDgsOTQ0OF0sXCJtYXBwZWRcIixbMTIxXV0sW1s5NDQ5LDk0NDldLFwibWFwcGVkXCIsWzEyMl1dLFtbOTQ1MCw5NDUwXSxcIm1hcHBlZFwiLFs0OF1dLFtbOTQ1MSw5NDcwXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5NDcxLDk0NzFdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzk0NzIsOTYyMV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTYyMiw5NjMxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5NjMyLDk3MTFdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzk3MTIsOTcxOV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTcyMCw5NzI3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5NzI4LDk3NDddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzk3NDgsOTc0OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTc1MCw5NzUxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5NzUyLDk3NTJdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzk3NTMsOTc1M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTc1NCw5ODM5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5ODQwLDk4NDFdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzk4NDIsOTg1M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTg1NCw5ODU1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5ODU2LDk4NjVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzk4NjYsOTg3M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTg3NCw5ODg0XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5ODg1LDk4ODVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzk4ODYsOTg4N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTg4OCw5ODg5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5ODkwLDk5MDVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzk5MDYsOTkwNl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTkwNyw5OTE2XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5OTE3LDk5MTldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzk5MjAsOTkyM10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTkyNCw5OTMzXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5OTM0LDk5MzRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzk5MzUsOTk1M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTk1NCw5OTU0XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5OTU1LDk5NTVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzk5NTYsOTk1OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTk2MCw5OTgzXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5OTg0LDk5ODRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzk5ODUsOTk4OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTk4OSw5OTg5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5OTkwLDk5OTNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzk5OTQsOTk5NV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTk5NiwxMDAyM10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTAwMjQsMTAwMjRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEwMDI1LDEwMDU5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMDA2MCwxMDA2MF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTAwNjEsMTAwNjFdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEwMDYyLDEwMDYyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMDA2MywxMDA2Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTAwNjcsMTAwNjldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEwMDcwLDEwMDcwXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMDA3MSwxMDA3MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTAwNzIsMTAwNzhdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEwMDc5LDEwMDgwXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMDA4MSwxMDA4N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTAwODgsMTAxMDFdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEwMTAyLDEwMTMyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMDEzMywxMDEzNV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTAxMzYsMTAxNTldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEwMTYwLDEwMTYwXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMDE2MSwxMDE3NF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTAxNzUsMTAxNzVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEwMTc2LDEwMTgyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMDE4MywxMDE4Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTAxODcsMTAxODddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEwMTg4LDEwMTg4XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMDE4OSwxMDE4OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTAxOTAsMTAxOTFdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEwMTkyLDEwMjE5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMDIyMCwxMDIyM10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTAyMjQsMTAyMzldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEwMjQwLDEwNDk1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMDQ5NiwxMDc2M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTA3NjQsMTA3NjRdLFwibWFwcGVkXCIsWzg3NDcsODc0Nyw4NzQ3LDg3NDddXSxbWzEwNzY1LDEwODY3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMDg2OCwxMDg2OF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzU4LDU4LDYxXV0sW1sxMDg2OSwxMDg2OV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzYxLDYxXV0sW1sxMDg3MCwxMDg3MF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzYxLDYxLDYxXV0sW1sxMDg3MSwxMDk3MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTA5NzIsMTA5NzJdLFwibWFwcGVkXCIsWzEwOTczLDgyNF1dLFtbMTA5NzMsMTEwMDddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzExMDA4LDExMDIxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTAyMiwxMTAyN10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTEwMjgsMTEwMzRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzExMDM1LDExMDM5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTA0MCwxMTA0M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTEwNDQsMTEwODRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzExMDg1LDExMDg3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTA4OCwxMTA5Ml0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTEwOTMsMTEwOTddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzExMDk4LDExMTIzXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTEyNCwxMTEyNV0sXCJkaXNhbGxvd2VkXCJdLFtbMTExMjYsMTExNTddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzExMTU4LDExMTU5XSxcImRpc2FsbG93ZWRcIl0sW1sxMTE2MCwxMTE5M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTExOTQsMTExOTZdLFwiZGlzYWxsb3dlZFwiXSxbWzExMTk3LDExMjA4XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTIwOSwxMTIwOV0sXCJkaXNhbGxvd2VkXCJdLFtbMTEyMTAsMTEyMTddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzExMjE4LDExMjQzXSxcImRpc2FsbG93ZWRcIl0sW1sxMTI0NCwxMTI0N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTEyNDgsMTEyNjNdLFwiZGlzYWxsb3dlZFwiXSxbWzExMjY0LDExMjY0XSxcIm1hcHBlZFwiLFsxMTMxMl1dLFtbMTEyNjUsMTEyNjVdLFwibWFwcGVkXCIsWzExMzEzXV0sW1sxMTI2NiwxMTI2Nl0sXCJtYXBwZWRcIixbMTEzMTRdXSxbWzExMjY3LDExMjY3XSxcIm1hcHBlZFwiLFsxMTMxNV1dLFtbMTEyNjgsMTEyNjhdLFwibWFwcGVkXCIsWzExMzE2XV0sW1sxMTI2OSwxMTI2OV0sXCJtYXBwZWRcIixbMTEzMTddXSxbWzExMjcwLDExMjcwXSxcIm1hcHBlZFwiLFsxMTMxOF1dLFtbMTEyNzEsMTEyNzFdLFwibWFwcGVkXCIsWzExMzE5XV0sW1sxMTI3MiwxMTI3Ml0sXCJtYXBwZWRcIixbMTEzMjBdXSxbWzExMjczLDExMjczXSxcIm1hcHBlZFwiLFsxMTMyMV1dLFtbMTEyNzQsMTEyNzRdLFwibWFwcGVkXCIsWzExMzIyXV0sW1sxMTI3NSwxMTI3NV0sXCJtYXBwZWRcIixbMTEzMjNdXSxbWzExMjc2LDExMjc2XSxcIm1hcHBlZFwiLFsxMTMyNF1dLFtbMTEyNzcsMTEyNzddLFwibWFwcGVkXCIsWzExMzI1XV0sW1sxMTI3OCwxMTI3OF0sXCJtYXBwZWRcIixbMTEzMjZdXSxbWzExMjc5LDExMjc5XSxcIm1hcHBlZFwiLFsxMTMyN11dLFtbMTEyODAsMTEyODBdLFwibWFwcGVkXCIsWzExMzI4XV0sW1sxMTI4MSwxMTI4MV0sXCJtYXBwZWRcIixbMTEzMjldXSxbWzExMjgyLDExMjgyXSxcIm1hcHBlZFwiLFsxMTMzMF1dLFtbMTEyODMsMTEyODNdLFwibWFwcGVkXCIsWzExMzMxXV0sW1sxMTI4NCwxMTI4NF0sXCJtYXBwZWRcIixbMTEzMzJdXSxbWzExMjg1LDExMjg1XSxcIm1hcHBlZFwiLFsxMTMzM11dLFtbMTEyODYsMTEyODZdLFwibWFwcGVkXCIsWzExMzM0XV0sW1sxMTI4NywxMTI4N10sXCJtYXBwZWRcIixbMTEzMzVdXSxbWzExMjg4LDExMjg4XSxcIm1hcHBlZFwiLFsxMTMzNl1dLFtbMTEyODksMTEyODldLFwibWFwcGVkXCIsWzExMzM3XV0sW1sxMTI5MCwxMTI5MF0sXCJtYXBwZWRcIixbMTEzMzhdXSxbWzExMjkxLDExMjkxXSxcIm1hcHBlZFwiLFsxMTMzOV1dLFtbMTEyOTIsMTEyOTJdLFwibWFwcGVkXCIsWzExMzQwXV0sW1sxMTI5MywxMTI5M10sXCJtYXBwZWRcIixbMTEzNDFdXSxbWzExMjk0LDExMjk0XSxcIm1hcHBlZFwiLFsxMTM0Ml1dLFtbMTEyOTUsMTEyOTVdLFwibWFwcGVkXCIsWzExMzQzXV0sW1sxMTI5NiwxMTI5Nl0sXCJtYXBwZWRcIixbMTEzNDRdXSxbWzExMjk3LDExMjk3XSxcIm1hcHBlZFwiLFsxMTM0NV1dLFtbMTEyOTgsMTEyOThdLFwibWFwcGVkXCIsWzExMzQ2XV0sW1sxMTI5OSwxMTI5OV0sXCJtYXBwZWRcIixbMTEzNDddXSxbWzExMzAwLDExMzAwXSxcIm1hcHBlZFwiLFsxMTM0OF1dLFtbMTEzMDEsMTEzMDFdLFwibWFwcGVkXCIsWzExMzQ5XV0sW1sxMTMwMiwxMTMwMl0sXCJtYXBwZWRcIixbMTEzNTBdXSxbWzExMzAzLDExMzAzXSxcIm1hcHBlZFwiLFsxMTM1MV1dLFtbMTEzMDQsMTEzMDRdLFwibWFwcGVkXCIsWzExMzUyXV0sW1sxMTMwNSwxMTMwNV0sXCJtYXBwZWRcIixbMTEzNTNdXSxbWzExMzA2LDExMzA2XSxcIm1hcHBlZFwiLFsxMTM1NF1dLFtbMTEzMDcsMTEzMDddLFwibWFwcGVkXCIsWzExMzU1XV0sW1sxMTMwOCwxMTMwOF0sXCJtYXBwZWRcIixbMTEzNTZdXSxbWzExMzA5LDExMzA5XSxcIm1hcHBlZFwiLFsxMTM1N11dLFtbMTEzMTAsMTEzMTBdLFwibWFwcGVkXCIsWzExMzU4XV0sW1sxMTMxMSwxMTMxMV0sXCJkaXNhbGxvd2VkXCJdLFtbMTEzMTIsMTEzNThdLFwidmFsaWRcIl0sW1sxMTM1OSwxMTM1OV0sXCJkaXNhbGxvd2VkXCJdLFtbMTEzNjAsMTEzNjBdLFwibWFwcGVkXCIsWzExMzYxXV0sW1sxMTM2MSwxMTM2MV0sXCJ2YWxpZFwiXSxbWzExMzYyLDExMzYyXSxcIm1hcHBlZFwiLFs2MTldXSxbWzExMzYzLDExMzYzXSxcIm1hcHBlZFwiLFs3NTQ5XV0sW1sxMTM2NCwxMTM2NF0sXCJtYXBwZWRcIixbNjM3XV0sW1sxMTM2NSwxMTM2Nl0sXCJ2YWxpZFwiXSxbWzExMzY3LDExMzY3XSxcIm1hcHBlZFwiLFsxMTM2OF1dLFtbMTEzNjgsMTEzNjhdLFwidmFsaWRcIl0sW1sxMTM2OSwxMTM2OV0sXCJtYXBwZWRcIixbMTEzNzBdXSxbWzExMzcwLDExMzcwXSxcInZhbGlkXCJdLFtbMTEzNzEsMTEzNzFdLFwibWFwcGVkXCIsWzExMzcyXV0sW1sxMTM3MiwxMTM3Ml0sXCJ2YWxpZFwiXSxbWzExMzczLDExMzczXSxcIm1hcHBlZFwiLFs1OTNdXSxbWzExMzc0LDExMzc0XSxcIm1hcHBlZFwiLFs2MjVdXSxbWzExMzc1LDExMzc1XSxcIm1hcHBlZFwiLFs1OTJdXSxbWzExMzc2LDExMzc2XSxcIm1hcHBlZFwiLFs1OTRdXSxbWzExMzc3LDExMzc3XSxcInZhbGlkXCJdLFtbMTEzNzgsMTEzNzhdLFwibWFwcGVkXCIsWzExMzc5XV0sW1sxMTM3OSwxMTM3OV0sXCJ2YWxpZFwiXSxbWzExMzgwLDExMzgwXSxcInZhbGlkXCJdLFtbMTEzODEsMTEzODFdLFwibWFwcGVkXCIsWzExMzgyXV0sW1sxMTM4MiwxMTM4M10sXCJ2YWxpZFwiXSxbWzExMzg0LDExMzg3XSxcInZhbGlkXCJdLFtbMTEzODgsMTEzODhdLFwibWFwcGVkXCIsWzEwNl1dLFtbMTEzODksMTEzODldLFwibWFwcGVkXCIsWzExOF1dLFtbMTEzOTAsMTEzOTBdLFwibWFwcGVkXCIsWzU3NV1dLFtbMTEzOTEsMTEzOTFdLFwibWFwcGVkXCIsWzU3Nl1dLFtbMTEzOTIsMTEzOTJdLFwibWFwcGVkXCIsWzExMzkzXV0sW1sxMTM5MywxMTM5M10sXCJ2YWxpZFwiXSxbWzExMzk0LDExMzk0XSxcIm1hcHBlZFwiLFsxMTM5NV1dLFtbMTEzOTUsMTEzOTVdLFwidmFsaWRcIl0sW1sxMTM5NiwxMTM5Nl0sXCJtYXBwZWRcIixbMTEzOTddXSxbWzExMzk3LDExMzk3XSxcInZhbGlkXCJdLFtbMTEzOTgsMTEzOThdLFwibWFwcGVkXCIsWzExMzk5XV0sW1sxMTM5OSwxMTM5OV0sXCJ2YWxpZFwiXSxbWzExNDAwLDExNDAwXSxcIm1hcHBlZFwiLFsxMTQwMV1dLFtbMTE0MDEsMTE0MDFdLFwidmFsaWRcIl0sW1sxMTQwMiwxMTQwMl0sXCJtYXBwZWRcIixbMTE0MDNdXSxbWzExNDAzLDExNDAzXSxcInZhbGlkXCJdLFtbMTE0MDQsMTE0MDRdLFwibWFwcGVkXCIsWzExNDA1XV0sW1sxMTQwNSwxMTQwNV0sXCJ2YWxpZFwiXSxbWzExNDA2LDExNDA2XSxcIm1hcHBlZFwiLFsxMTQwN11dLFtbMTE0MDcsMTE0MDddLFwidmFsaWRcIl0sW1sxMTQwOCwxMTQwOF0sXCJtYXBwZWRcIixbMTE0MDldXSxbWzExNDA5LDExNDA5XSxcInZhbGlkXCJdLFtbMTE0MTAsMTE0MTBdLFwibWFwcGVkXCIsWzExNDExXV0sW1sxMTQxMSwxMTQxMV0sXCJ2YWxpZFwiXSxbWzExNDEyLDExNDEyXSxcIm1hcHBlZFwiLFsxMTQxM11dLFtbMTE0MTMsMTE0MTNdLFwidmFsaWRcIl0sW1sxMTQxNCwxMTQxNF0sXCJtYXBwZWRcIixbMTE0MTVdXSxbWzExNDE1LDExNDE1XSxcInZhbGlkXCJdLFtbMTE0MTYsMTE0MTZdLFwibWFwcGVkXCIsWzExNDE3XV0sW1sxMTQxNywxMTQxN10sXCJ2YWxpZFwiXSxbWzExNDE4LDExNDE4XSxcIm1hcHBlZFwiLFsxMTQxOV1dLFtbMTE0MTksMTE0MTldLFwidmFsaWRcIl0sW1sxMTQyMCwxMTQyMF0sXCJtYXBwZWRcIixbMTE0MjFdXSxbWzExNDIxLDExNDIxXSxcInZhbGlkXCJdLFtbMTE0MjIsMTE0MjJdLFwibWFwcGVkXCIsWzExNDIzXV0sW1sxMTQyMywxMTQyM10sXCJ2YWxpZFwiXSxbWzExNDI0LDExNDI0XSxcIm1hcHBlZFwiLFsxMTQyNV1dLFtbMTE0MjUsMTE0MjVdLFwidmFsaWRcIl0sW1sxMTQyNiwxMTQyNl0sXCJtYXBwZWRcIixbMTE0MjddXSxbWzExNDI3LDExNDI3XSxcInZhbGlkXCJdLFtbMTE0MjgsMTE0MjhdLFwibWFwcGVkXCIsWzExNDI5XV0sW1sxMTQyOSwxMTQyOV0sXCJ2YWxpZFwiXSxbWzExNDMwLDExNDMwXSxcIm1hcHBlZFwiLFsxMTQzMV1dLFtbMTE0MzEsMTE0MzFdLFwidmFsaWRcIl0sW1sxMTQzMiwxMTQzMl0sXCJtYXBwZWRcIixbMTE0MzNdXSxbWzExNDMzLDExNDMzXSxcInZhbGlkXCJdLFtbMTE0MzQsMTE0MzRdLFwibWFwcGVkXCIsWzExNDM1XV0sW1sxMTQzNSwxMTQzNV0sXCJ2YWxpZFwiXSxbWzExNDM2LDExNDM2XSxcIm1hcHBlZFwiLFsxMTQzN11dLFtbMTE0MzcsMTE0MzddLFwidmFsaWRcIl0sW1sxMTQzOCwxMTQzOF0sXCJtYXBwZWRcIixbMTE0MzldXSxbWzExNDM5LDExNDM5XSxcInZhbGlkXCJdLFtbMTE0NDAsMTE0NDBdLFwibWFwcGVkXCIsWzExNDQxXV0sW1sxMTQ0MSwxMTQ0MV0sXCJ2YWxpZFwiXSxbWzExNDQyLDExNDQyXSxcIm1hcHBlZFwiLFsxMTQ0M11dLFtbMTE0NDMsMTE0NDNdLFwidmFsaWRcIl0sW1sxMTQ0NCwxMTQ0NF0sXCJtYXBwZWRcIixbMTE0NDVdXSxbWzExNDQ1LDExNDQ1XSxcInZhbGlkXCJdLFtbMTE0NDYsMTE0NDZdLFwibWFwcGVkXCIsWzExNDQ3XV0sW1sxMTQ0NywxMTQ0N10sXCJ2YWxpZFwiXSxbWzExNDQ4LDExNDQ4XSxcIm1hcHBlZFwiLFsxMTQ0OV1dLFtbMTE0NDksMTE0NDldLFwidmFsaWRcIl0sW1sxMTQ1MCwxMTQ1MF0sXCJtYXBwZWRcIixbMTE0NTFdXSxbWzExNDUxLDExNDUxXSxcInZhbGlkXCJdLFtbMTE0NTIsMTE0NTJdLFwibWFwcGVkXCIsWzExNDUzXV0sW1sxMTQ1MywxMTQ1M10sXCJ2YWxpZFwiXSxbWzExNDU0LDExNDU0XSxcIm1hcHBlZFwiLFsxMTQ1NV1dLFtbMTE0NTUsMTE0NTVdLFwidmFsaWRcIl0sW1sxMTQ1NiwxMTQ1Nl0sXCJtYXBwZWRcIixbMTE0NTddXSxbWzExNDU3LDExNDU3XSxcInZhbGlkXCJdLFtbMTE0NTgsMTE0NThdLFwibWFwcGVkXCIsWzExNDU5XV0sW1sxMTQ1OSwxMTQ1OV0sXCJ2YWxpZFwiXSxbWzExNDYwLDExNDYwXSxcIm1hcHBlZFwiLFsxMTQ2MV1dLFtbMTE0NjEsMTE0NjFdLFwidmFsaWRcIl0sW1sxMTQ2MiwxMTQ2Ml0sXCJtYXBwZWRcIixbMTE0NjNdXSxbWzExNDYzLDExNDYzXSxcInZhbGlkXCJdLFtbMTE0NjQsMTE0NjRdLFwibWFwcGVkXCIsWzExNDY1XV0sW1sxMTQ2NSwxMTQ2NV0sXCJ2YWxpZFwiXSxbWzExNDY2LDExNDY2XSxcIm1hcHBlZFwiLFsxMTQ2N11dLFtbMTE0NjcsMTE0NjddLFwidmFsaWRcIl0sW1sxMTQ2OCwxMTQ2OF0sXCJtYXBwZWRcIixbMTE0NjldXSxbWzExNDY5LDExNDY5XSxcInZhbGlkXCJdLFtbMTE0NzAsMTE0NzBdLFwibWFwcGVkXCIsWzExNDcxXV0sW1sxMTQ3MSwxMTQ3MV0sXCJ2YWxpZFwiXSxbWzExNDcyLDExNDcyXSxcIm1hcHBlZFwiLFsxMTQ3M11dLFtbMTE0NzMsMTE0NzNdLFwidmFsaWRcIl0sW1sxMTQ3NCwxMTQ3NF0sXCJtYXBwZWRcIixbMTE0NzVdXSxbWzExNDc1LDExNDc1XSxcInZhbGlkXCJdLFtbMTE0NzYsMTE0NzZdLFwibWFwcGVkXCIsWzExNDc3XV0sW1sxMTQ3NywxMTQ3N10sXCJ2YWxpZFwiXSxbWzExNDc4LDExNDc4XSxcIm1hcHBlZFwiLFsxMTQ3OV1dLFtbMTE0NzksMTE0NzldLFwidmFsaWRcIl0sW1sxMTQ4MCwxMTQ4MF0sXCJtYXBwZWRcIixbMTE0ODFdXSxbWzExNDgxLDExNDgxXSxcInZhbGlkXCJdLFtbMTE0ODIsMTE0ODJdLFwibWFwcGVkXCIsWzExNDgzXV0sW1sxMTQ4MywxMTQ4M10sXCJ2YWxpZFwiXSxbWzExNDg0LDExNDg0XSxcIm1hcHBlZFwiLFsxMTQ4NV1dLFtbMTE0ODUsMTE0ODVdLFwidmFsaWRcIl0sW1sxMTQ4NiwxMTQ4Nl0sXCJtYXBwZWRcIixbMTE0ODddXSxbWzExNDg3LDExNDg3XSxcInZhbGlkXCJdLFtbMTE0ODgsMTE0ODhdLFwibWFwcGVkXCIsWzExNDg5XV0sW1sxMTQ4OSwxMTQ4OV0sXCJ2YWxpZFwiXSxbWzExNDkwLDExNDkwXSxcIm1hcHBlZFwiLFsxMTQ5MV1dLFtbMTE0OTEsMTE0OTJdLFwidmFsaWRcIl0sW1sxMTQ5MywxMTQ5OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTE0OTksMTE0OTldLFwibWFwcGVkXCIsWzExNTAwXV0sW1sxMTUwMCwxMTUwMF0sXCJ2YWxpZFwiXSxbWzExNTAxLDExNTAxXSxcIm1hcHBlZFwiLFsxMTUwMl1dLFtbMTE1MDIsMTE1MDVdLFwidmFsaWRcIl0sW1sxMTUwNiwxMTUwNl0sXCJtYXBwZWRcIixbMTE1MDddXSxbWzExNTA3LDExNTA3XSxcInZhbGlkXCJdLFtbMTE1MDgsMTE1MTJdLFwiZGlzYWxsb3dlZFwiXSxbWzExNTEzLDExNTE5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTUyMCwxMTU1N10sXCJ2YWxpZFwiXSxbWzExNTU4LDExNTU4XSxcImRpc2FsbG93ZWRcIl0sW1sxMTU1OSwxMTU1OV0sXCJ2YWxpZFwiXSxbWzExNTYwLDExNTY0XSxcImRpc2FsbG93ZWRcIl0sW1sxMTU2NSwxMTU2NV0sXCJ2YWxpZFwiXSxbWzExNTY2LDExNTY3XSxcImRpc2FsbG93ZWRcIl0sW1sxMTU2OCwxMTYyMV0sXCJ2YWxpZFwiXSxbWzExNjIyLDExNjIzXSxcInZhbGlkXCJdLFtbMTE2MjQsMTE2MzBdLFwiZGlzYWxsb3dlZFwiXSxbWzExNjMxLDExNjMxXSxcIm1hcHBlZFwiLFsxMTYxN11dLFtbMTE2MzIsMTE2MzJdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzExNjMzLDExNjQ2XSxcImRpc2FsbG93ZWRcIl0sW1sxMTY0NywxMTY0N10sXCJ2YWxpZFwiXSxbWzExNjQ4LDExNjcwXSxcInZhbGlkXCJdLFtbMTE2NzEsMTE2NzldLFwiZGlzYWxsb3dlZFwiXSxbWzExNjgwLDExNjg2XSxcInZhbGlkXCJdLFtbMTE2ODcsMTE2ODddLFwiZGlzYWxsb3dlZFwiXSxbWzExNjg4LDExNjk0XSxcInZhbGlkXCJdLFtbMTE2OTUsMTE2OTVdLFwiZGlzYWxsb3dlZFwiXSxbWzExNjk2LDExNzAyXSxcInZhbGlkXCJdLFtbMTE3MDMsMTE3MDNdLFwiZGlzYWxsb3dlZFwiXSxbWzExNzA0LDExNzEwXSxcInZhbGlkXCJdLFtbMTE3MTEsMTE3MTFdLFwiZGlzYWxsb3dlZFwiXSxbWzExNzEyLDExNzE4XSxcInZhbGlkXCJdLFtbMTE3MTksMTE3MTldLFwiZGlzYWxsb3dlZFwiXSxbWzExNzIwLDExNzI2XSxcInZhbGlkXCJdLFtbMTE3MjcsMTE3MjddLFwiZGlzYWxsb3dlZFwiXSxbWzExNzI4LDExNzM0XSxcInZhbGlkXCJdLFtbMTE3MzUsMTE3MzVdLFwiZGlzYWxsb3dlZFwiXSxbWzExNzM2LDExNzQyXSxcInZhbGlkXCJdLFtbMTE3NDMsMTE3NDNdLFwiZGlzYWxsb3dlZFwiXSxbWzExNzQ0LDExNzc1XSxcInZhbGlkXCJdLFtbMTE3NzYsMTE3OTldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzExODAwLDExODAzXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTgwNCwxMTgwNV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTE4MDYsMTE4MjJdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzExODIzLDExODIzXSxcInZhbGlkXCJdLFtbMTE4MjQsMTE4MjRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzExODI1LDExODI1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTgyNiwxMTgzNV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTE4MzYsMTE4NDJdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzExODQzLDExOTAzXSxcImRpc2FsbG93ZWRcIl0sW1sxMTkwNCwxMTkyOV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTE5MzAsMTE5MzBdLFwiZGlzYWxsb3dlZFwiXSxbWzExOTMxLDExOTM0XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTkzNSwxMTkzNV0sXCJtYXBwZWRcIixbMjc1OTddXSxbWzExOTM2LDEyMDE4XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMjAxOSwxMjAxOV0sXCJtYXBwZWRcIixbNDA4NjNdXSxbWzEyMDIwLDEyMDMxXSxcImRpc2FsbG93ZWRcIl0sW1sxMjAzMiwxMjAzMl0sXCJtYXBwZWRcIixbMTk5NjhdXSxbWzEyMDMzLDEyMDMzXSxcIm1hcHBlZFwiLFsyMDAwOF1dLFtbMTIwMzQsMTIwMzRdLFwibWFwcGVkXCIsWzIwMDIyXV0sW1sxMjAzNSwxMjAzNV0sXCJtYXBwZWRcIixbMjAwMzFdXSxbWzEyMDM2LDEyMDM2XSxcIm1hcHBlZFwiLFsyMDA1N11dLFtbMTIwMzcsMTIwMzddLFwibWFwcGVkXCIsWzIwMTAxXV0sW1sxMjAzOCwxMjAzOF0sXCJtYXBwZWRcIixbMjAxMDhdXSxbWzEyMDM5LDEyMDM5XSxcIm1hcHBlZFwiLFsyMDEyOF1dLFtbMTIwNDAsMTIwNDBdLFwibWFwcGVkXCIsWzIwMTU0XV0sW1sxMjA0MSwxMjA0MV0sXCJtYXBwZWRcIixbMjA3OTldXSxbWzEyMDQyLDEyMDQyXSxcIm1hcHBlZFwiLFsyMDgzN11dLFtbMTIwNDMsMTIwNDNdLFwibWFwcGVkXCIsWzIwODQzXV0sW1sxMjA0NCwxMjA0NF0sXCJtYXBwZWRcIixbMjA4NjZdXSxbWzEyMDQ1LDEyMDQ1XSxcIm1hcHBlZFwiLFsyMDg4Nl1dLFtbMTIwNDYsMTIwNDZdLFwibWFwcGVkXCIsWzIwOTA3XV0sW1sxMjA0NywxMjA0N10sXCJtYXBwZWRcIixbMjA5NjBdXSxbWzEyMDQ4LDEyMDQ4XSxcIm1hcHBlZFwiLFsyMDk4MV1dLFtbMTIwNDksMTIwNDldLFwibWFwcGVkXCIsWzIwOTkyXV0sW1sxMjA1MCwxMjA1MF0sXCJtYXBwZWRcIixbMjExNDddXSxbWzEyMDUxLDEyMDUxXSxcIm1hcHBlZFwiLFsyMTI0MV1dLFtbMTIwNTIsMTIwNTJdLFwibWFwcGVkXCIsWzIxMjY5XV0sW1sxMjA1MywxMjA1M10sXCJtYXBwZWRcIixbMjEyNzRdXSxbWzEyMDU0LDEyMDU0XSxcIm1hcHBlZFwiLFsyMTMwNF1dLFtbMTIwNTUsMTIwNTVdLFwibWFwcGVkXCIsWzIxMzEzXV0sW1sxMjA1NiwxMjA1Nl0sXCJtYXBwZWRcIixbMjEzNDBdXSxbWzEyMDU3LDEyMDU3XSxcIm1hcHBlZFwiLFsyMTM1M11dLFtbMTIwNTgsMTIwNThdLFwibWFwcGVkXCIsWzIxMzc4XV0sW1sxMjA1OSwxMjA1OV0sXCJtYXBwZWRcIixbMjE0MzBdXSxbWzEyMDYwLDEyMDYwXSxcIm1hcHBlZFwiLFsyMTQ0OF1dLFtbMTIwNjEsMTIwNjFdLFwibWFwcGVkXCIsWzIxNDc1XV0sW1sxMjA2MiwxMjA2Ml0sXCJtYXBwZWRcIixbMjIyMzFdXSxbWzEyMDYzLDEyMDYzXSxcIm1hcHBlZFwiLFsyMjMwM11dLFtbMTIwNjQsMTIwNjRdLFwibWFwcGVkXCIsWzIyNzYzXV0sW1sxMjA2NSwxMjA2NV0sXCJtYXBwZWRcIixbMjI3ODZdXSxbWzEyMDY2LDEyMDY2XSxcIm1hcHBlZFwiLFsyMjc5NF1dLFtbMTIwNjcsMTIwNjddLFwibWFwcGVkXCIsWzIyODA1XV0sW1sxMjA2OCwxMjA2OF0sXCJtYXBwZWRcIixbMjI4MjNdXSxbWzEyMDY5LDEyMDY5XSxcIm1hcHBlZFwiLFsyMjg5OV1dLFtbMTIwNzAsMTIwNzBdLFwibWFwcGVkXCIsWzIzMzc2XV0sW1sxMjA3MSwxMjA3MV0sXCJtYXBwZWRcIixbMjM0MjRdXSxbWzEyMDcyLDEyMDcyXSxcIm1hcHBlZFwiLFsyMzU0NF1dLFtbMTIwNzMsMTIwNzNdLFwibWFwcGVkXCIsWzIzNTY3XV0sW1sxMjA3NCwxMjA3NF0sXCJtYXBwZWRcIixbMjM1ODZdXSxbWzEyMDc1LDEyMDc1XSxcIm1hcHBlZFwiLFsyMzYwOF1dLFtbMTIwNzYsMTIwNzZdLFwibWFwcGVkXCIsWzIzNjYyXV0sW1sxMjA3NywxMjA3N10sXCJtYXBwZWRcIixbMjM2NjVdXSxbWzEyMDc4LDEyMDc4XSxcIm1hcHBlZFwiLFsyNDAyN11dLFtbMTIwNzksMTIwNzldLFwibWFwcGVkXCIsWzI0MDM3XV0sW1sxMjA4MCwxMjA4MF0sXCJtYXBwZWRcIixbMjQwNDldXSxbWzEyMDgxLDEyMDgxXSxcIm1hcHBlZFwiLFsyNDA2Ml1dLFtbMTIwODIsMTIwODJdLFwibWFwcGVkXCIsWzI0MTc4XV0sW1sxMjA4MywxMjA4M10sXCJtYXBwZWRcIixbMjQxODZdXSxbWzEyMDg0LDEyMDg0XSxcIm1hcHBlZFwiLFsyNDE5MV1dLFtbMTIwODUsMTIwODVdLFwibWFwcGVkXCIsWzI0MzA4XV0sW1sxMjA4NiwxMjA4Nl0sXCJtYXBwZWRcIixbMjQzMThdXSxbWzEyMDg3LDEyMDg3XSxcIm1hcHBlZFwiLFsyNDMzMV1dLFtbMTIwODgsMTIwODhdLFwibWFwcGVkXCIsWzI0MzM5XV0sW1sxMjA4OSwxMjA4OV0sXCJtYXBwZWRcIixbMjQ0MDBdXSxbWzEyMDkwLDEyMDkwXSxcIm1hcHBlZFwiLFsyNDQxN11dLFtbMTIwOTEsMTIwOTFdLFwibWFwcGVkXCIsWzI0NDM1XV0sW1sxMjA5MiwxMjA5Ml0sXCJtYXBwZWRcIixbMjQ1MTVdXSxbWzEyMDkzLDEyMDkzXSxcIm1hcHBlZFwiLFsyNTA5Nl1dLFtbMTIwOTQsMTIwOTRdLFwibWFwcGVkXCIsWzI1MTQyXV0sW1sxMjA5NSwxMjA5NV0sXCJtYXBwZWRcIixbMjUxNjNdXSxbWzEyMDk2LDEyMDk2XSxcIm1hcHBlZFwiLFsyNTkwM11dLFtbMTIwOTcsMTIwOTddLFwibWFwcGVkXCIsWzI1OTA4XV0sW1sxMjA5OCwxMjA5OF0sXCJtYXBwZWRcIixbMjU5OTFdXSxbWzEyMDk5LDEyMDk5XSxcIm1hcHBlZFwiLFsyNjAwN11dLFtbMTIxMDAsMTIxMDBdLFwibWFwcGVkXCIsWzI2MDIwXV0sW1sxMjEwMSwxMjEwMV0sXCJtYXBwZWRcIixbMjYwNDFdXSxbWzEyMTAyLDEyMTAyXSxcIm1hcHBlZFwiLFsyNjA4MF1dLFtbMTIxMDMsMTIxMDNdLFwibWFwcGVkXCIsWzI2MDg1XV0sW1sxMjEwNCwxMjEwNF0sXCJtYXBwZWRcIixbMjYzNTJdXSxbWzEyMTA1LDEyMTA1XSxcIm1hcHBlZFwiLFsyNjM3Nl1dLFtbMTIxMDYsMTIxMDZdLFwibWFwcGVkXCIsWzI2NDA4XV0sW1sxMjEwNywxMjEwN10sXCJtYXBwZWRcIixbMjc0MjRdXSxbWzEyMTA4LDEyMTA4XSxcIm1hcHBlZFwiLFsyNzQ5MF1dLFtbMTIxMDksMTIxMDldLFwibWFwcGVkXCIsWzI3NTEzXV0sW1sxMjExMCwxMjExMF0sXCJtYXBwZWRcIixbMjc1NzFdXSxbWzEyMTExLDEyMTExXSxcIm1hcHBlZFwiLFsyNzU5NV1dLFtbMTIxMTIsMTIxMTJdLFwibWFwcGVkXCIsWzI3NjA0XV0sW1sxMjExMywxMjExM10sXCJtYXBwZWRcIixbMjc2MTFdXSxbWzEyMTE0LDEyMTE0XSxcIm1hcHBlZFwiLFsyNzY2M11dLFtbMTIxMTUsMTIxMTVdLFwibWFwcGVkXCIsWzI3NjY4XV0sW1sxMjExNiwxMjExNl0sXCJtYXBwZWRcIixbMjc3MDBdXSxbWzEyMTE3LDEyMTE3XSxcIm1hcHBlZFwiLFsyODc3OV1dLFtbMTIxMTgsMTIxMThdLFwibWFwcGVkXCIsWzI5MjI2XV0sW1sxMjExOSwxMjExOV0sXCJtYXBwZWRcIixbMjkyMzhdXSxbWzEyMTIwLDEyMTIwXSxcIm1hcHBlZFwiLFsyOTI0M11dLFtbMTIxMjEsMTIxMjFdLFwibWFwcGVkXCIsWzI5MjQ3XV0sW1sxMjEyMiwxMjEyMl0sXCJtYXBwZWRcIixbMjkyNTVdXSxbWzEyMTIzLDEyMTIzXSxcIm1hcHBlZFwiLFsyOTI3M11dLFtbMTIxMjQsMTIxMjRdLFwibWFwcGVkXCIsWzI5Mjc1XV0sW1sxMjEyNSwxMjEyNV0sXCJtYXBwZWRcIixbMjkzNTZdXSxbWzEyMTI2LDEyMTI2XSxcIm1hcHBlZFwiLFsyOTU3Ml1dLFtbMTIxMjcsMTIxMjddLFwibWFwcGVkXCIsWzI5NTc3XV0sW1sxMjEyOCwxMjEyOF0sXCJtYXBwZWRcIixbMjk5MTZdXSxbWzEyMTI5LDEyMTI5XSxcIm1hcHBlZFwiLFsyOTkyNl1dLFtbMTIxMzAsMTIxMzBdLFwibWFwcGVkXCIsWzI5OTc2XV0sW1sxMjEzMSwxMjEzMV0sXCJtYXBwZWRcIixbMjk5ODNdXSxbWzEyMTMyLDEyMTMyXSxcIm1hcHBlZFwiLFsyOTk5Ml1dLFtbMTIxMzMsMTIxMzNdLFwibWFwcGVkXCIsWzMwMDAwXV0sW1sxMjEzNCwxMjEzNF0sXCJtYXBwZWRcIixbMzAwOTFdXSxbWzEyMTM1LDEyMTM1XSxcIm1hcHBlZFwiLFszMDA5OF1dLFtbMTIxMzYsMTIxMzZdLFwibWFwcGVkXCIsWzMwMzI2XV0sW1sxMjEzNywxMjEzN10sXCJtYXBwZWRcIixbMzAzMzNdXSxbWzEyMTM4LDEyMTM4XSxcIm1hcHBlZFwiLFszMDM4Ml1dLFtbMTIxMzksMTIxMzldLFwibWFwcGVkXCIsWzMwMzk5XV0sW1sxMjE0MCwxMjE0MF0sXCJtYXBwZWRcIixbMzA0NDZdXSxbWzEyMTQxLDEyMTQxXSxcIm1hcHBlZFwiLFszMDY4M11dLFtbMTIxNDIsMTIxNDJdLFwibWFwcGVkXCIsWzMwNjkwXV0sW1sxMjE0MywxMjE0M10sXCJtYXBwZWRcIixbMzA3MDddXSxbWzEyMTQ0LDEyMTQ0XSxcIm1hcHBlZFwiLFszMTAzNF1dLFtbMTIxNDUsMTIxNDVdLFwibWFwcGVkXCIsWzMxMTYwXV0sW1sxMjE0NiwxMjE0Nl0sXCJtYXBwZWRcIixbMzExNjZdXSxbWzEyMTQ3LDEyMTQ3XSxcIm1hcHBlZFwiLFszMTM0OF1dLFtbMTIxNDgsMTIxNDhdLFwibWFwcGVkXCIsWzMxNDM1XV0sW1sxMjE0OSwxMjE0OV0sXCJtYXBwZWRcIixbMzE0ODFdXSxbWzEyMTUwLDEyMTUwXSxcIm1hcHBlZFwiLFszMTg1OV1dLFtbMTIxNTEsMTIxNTFdLFwibWFwcGVkXCIsWzMxOTkyXV0sW1sxMjE1MiwxMjE1Ml0sXCJtYXBwZWRcIixbMzI1NjZdXSxbWzEyMTUzLDEyMTUzXSxcIm1hcHBlZFwiLFszMjU5M11dLFtbMTIxNTQsMTIxNTRdLFwibWFwcGVkXCIsWzMyNjUwXV0sW1sxMjE1NSwxMjE1NV0sXCJtYXBwZWRcIixbMzI3MDFdXSxbWzEyMTU2LDEyMTU2XSxcIm1hcHBlZFwiLFszMjc2OV1dLFtbMTIxNTcsMTIxNTddLFwibWFwcGVkXCIsWzMyNzgwXV0sW1sxMjE1OCwxMjE1OF0sXCJtYXBwZWRcIixbMzI3ODZdXSxbWzEyMTU5LDEyMTU5XSxcIm1hcHBlZFwiLFszMjgxOV1dLFtbMTIxNjAsMTIxNjBdLFwibWFwcGVkXCIsWzMyODk1XV0sW1sxMjE2MSwxMjE2MV0sXCJtYXBwZWRcIixbMzI5MDVdXSxbWzEyMTYyLDEyMTYyXSxcIm1hcHBlZFwiLFszMzI1MV1dLFtbMTIxNjMsMTIxNjNdLFwibWFwcGVkXCIsWzMzMjU4XV0sW1sxMjE2NCwxMjE2NF0sXCJtYXBwZWRcIixbMzMyNjddXSxbWzEyMTY1LDEyMTY1XSxcIm1hcHBlZFwiLFszMzI3Nl1dLFtbMTIxNjYsMTIxNjZdLFwibWFwcGVkXCIsWzMzMjkyXV0sW1sxMjE2NywxMjE2N10sXCJtYXBwZWRcIixbMzMzMDddXSxbWzEyMTY4LDEyMTY4XSxcIm1hcHBlZFwiLFszMzMxMV1dLFtbMTIxNjksMTIxNjldLFwibWFwcGVkXCIsWzMzMzkwXV0sW1sxMjE3MCwxMjE3MF0sXCJtYXBwZWRcIixbMzMzOTRdXSxbWzEyMTcxLDEyMTcxXSxcIm1hcHBlZFwiLFszMzQwMF1dLFtbMTIxNzIsMTIxNzJdLFwibWFwcGVkXCIsWzM0MzgxXV0sW1sxMjE3MywxMjE3M10sXCJtYXBwZWRcIixbMzQ0MTFdXSxbWzEyMTc0LDEyMTc0XSxcIm1hcHBlZFwiLFszNDg4MF1dLFtbMTIxNzUsMTIxNzVdLFwibWFwcGVkXCIsWzM0ODkyXV0sW1sxMjE3NiwxMjE3Nl0sXCJtYXBwZWRcIixbMzQ5MTVdXSxbWzEyMTc3LDEyMTc3XSxcIm1hcHBlZFwiLFszNTE5OF1dLFtbMTIxNzgsMTIxNzhdLFwibWFwcGVkXCIsWzM1MjExXV0sW1sxMjE3OSwxMjE3OV0sXCJtYXBwZWRcIixbMzUyODJdXSxbWzEyMTgwLDEyMTgwXSxcIm1hcHBlZFwiLFszNTMyOF1dLFtbMTIxODEsMTIxODFdLFwibWFwcGVkXCIsWzM1ODk1XV0sW1sxMjE4MiwxMjE4Ml0sXCJtYXBwZWRcIixbMzU5MTBdXSxbWzEyMTgzLDEyMTgzXSxcIm1hcHBlZFwiLFszNTkyNV1dLFtbMTIxODQsMTIxODRdLFwibWFwcGVkXCIsWzM1OTYwXV0sW1sxMjE4NSwxMjE4NV0sXCJtYXBwZWRcIixbMzU5OTddXSxbWzEyMTg2LDEyMTg2XSxcIm1hcHBlZFwiLFszNjE5Nl1dLFtbMTIxODcsMTIxODddLFwibWFwcGVkXCIsWzM2MjA4XV0sW1sxMjE4OCwxMjE4OF0sXCJtYXBwZWRcIixbMzYyNzVdXSxbWzEyMTg5LDEyMTg5XSxcIm1hcHBlZFwiLFszNjUyM11dLFtbMTIxOTAsMTIxOTBdLFwibWFwcGVkXCIsWzM2NTU0XV0sW1sxMjE5MSwxMjE5MV0sXCJtYXBwZWRcIixbMzY3NjNdXSxbWzEyMTkyLDEyMTkyXSxcIm1hcHBlZFwiLFszNjc4NF1dLFtbMTIxOTMsMTIxOTNdLFwibWFwcGVkXCIsWzM2Nzg5XV0sW1sxMjE5NCwxMjE5NF0sXCJtYXBwZWRcIixbMzcwMDldXSxbWzEyMTk1LDEyMTk1XSxcIm1hcHBlZFwiLFszNzE5M11dLFtbMTIxOTYsMTIxOTZdLFwibWFwcGVkXCIsWzM3MzE4XV0sW1sxMjE5NywxMjE5N10sXCJtYXBwZWRcIixbMzczMjRdXSxbWzEyMTk4LDEyMTk4XSxcIm1hcHBlZFwiLFszNzMyOV1dLFtbMTIxOTksMTIxOTldLFwibWFwcGVkXCIsWzM4MjYzXV0sW1sxMjIwMCwxMjIwMF0sXCJtYXBwZWRcIixbMzgyNzJdXSxbWzEyMjAxLDEyMjAxXSxcIm1hcHBlZFwiLFszODQyOF1dLFtbMTIyMDIsMTIyMDJdLFwibWFwcGVkXCIsWzM4NTgyXV0sW1sxMjIwMywxMjIwM10sXCJtYXBwZWRcIixbMzg1ODVdXSxbWzEyMjA0LDEyMjA0XSxcIm1hcHBlZFwiLFszODYzMl1dLFtbMTIyMDUsMTIyMDVdLFwibWFwcGVkXCIsWzM4NzM3XV0sW1sxMjIwNiwxMjIwNl0sXCJtYXBwZWRcIixbMzg3NTBdXSxbWzEyMjA3LDEyMjA3XSxcIm1hcHBlZFwiLFszODc1NF1dLFtbMTIyMDgsMTIyMDhdLFwibWFwcGVkXCIsWzM4NzYxXV0sW1sxMjIwOSwxMjIwOV0sXCJtYXBwZWRcIixbMzg4NTldXSxbWzEyMjEwLDEyMjEwXSxcIm1hcHBlZFwiLFszODg5M11dLFtbMTIyMTEsMTIyMTFdLFwibWFwcGVkXCIsWzM4ODk5XV0sW1sxMjIxMiwxMjIxMl0sXCJtYXBwZWRcIixbMzg5MTNdXSxbWzEyMjEzLDEyMjEzXSxcIm1hcHBlZFwiLFszOTA4MF1dLFtbMTIyMTQsMTIyMTRdLFwibWFwcGVkXCIsWzM5MTMxXV0sW1sxMjIxNSwxMjIxNV0sXCJtYXBwZWRcIixbMzkxMzVdXSxbWzEyMjE2LDEyMjE2XSxcIm1hcHBlZFwiLFszOTMxOF1dLFtbMTIyMTcsMTIyMTddLFwibWFwcGVkXCIsWzM5MzIxXV0sW1sxMjIxOCwxMjIxOF0sXCJtYXBwZWRcIixbMzkzNDBdXSxbWzEyMjE5LDEyMjE5XSxcIm1hcHBlZFwiLFszOTU5Ml1dLFtbMTIyMjAsMTIyMjBdLFwibWFwcGVkXCIsWzM5NjQwXV0sW1sxMjIyMSwxMjIyMV0sXCJtYXBwZWRcIixbMzk2NDddXSxbWzEyMjIyLDEyMjIyXSxcIm1hcHBlZFwiLFszOTcxN11dLFtbMTIyMjMsMTIyMjNdLFwibWFwcGVkXCIsWzM5NzI3XV0sW1sxMjIyNCwxMjIyNF0sXCJtYXBwZWRcIixbMzk3MzBdXSxbWzEyMjI1LDEyMjI1XSxcIm1hcHBlZFwiLFszOTc0MF1dLFtbMTIyMjYsMTIyMjZdLFwibWFwcGVkXCIsWzM5NzcwXV0sW1sxMjIyNywxMjIyN10sXCJtYXBwZWRcIixbNDAxNjVdXSxbWzEyMjI4LDEyMjI4XSxcIm1hcHBlZFwiLFs0MDU2NV1dLFtbMTIyMjksMTIyMjldLFwibWFwcGVkXCIsWzQwNTc1XV0sW1sxMjIzMCwxMjIzMF0sXCJtYXBwZWRcIixbNDA2MTNdXSxbWzEyMjMxLDEyMjMxXSxcIm1hcHBlZFwiLFs0MDYzNV1dLFtbMTIyMzIsMTIyMzJdLFwibWFwcGVkXCIsWzQwNjQzXV0sW1sxMjIzMywxMjIzM10sXCJtYXBwZWRcIixbNDA2NTNdXSxbWzEyMjM0LDEyMjM0XSxcIm1hcHBlZFwiLFs0MDY1N11dLFtbMTIyMzUsMTIyMzVdLFwibWFwcGVkXCIsWzQwNjk3XV0sW1sxMjIzNiwxMjIzNl0sXCJtYXBwZWRcIixbNDA3MDFdXSxbWzEyMjM3LDEyMjM3XSxcIm1hcHBlZFwiLFs0MDcxOF1dLFtbMTIyMzgsMTIyMzhdLFwibWFwcGVkXCIsWzQwNzIzXV0sW1sxMjIzOSwxMjIzOV0sXCJtYXBwZWRcIixbNDA3MzZdXSxbWzEyMjQwLDEyMjQwXSxcIm1hcHBlZFwiLFs0MDc2M11dLFtbMTIyNDEsMTIyNDFdLFwibWFwcGVkXCIsWzQwNzc4XV0sW1sxMjI0MiwxMjI0Ml0sXCJtYXBwZWRcIixbNDA3ODZdXSxbWzEyMjQzLDEyMjQzXSxcIm1hcHBlZFwiLFs0MDg0NV1dLFtbMTIyNDQsMTIyNDRdLFwibWFwcGVkXCIsWzQwODYwXV0sW1sxMjI0NSwxMjI0NV0sXCJtYXBwZWRcIixbNDA4NjRdXSxbWzEyMjQ2LDEyMjcxXSxcImRpc2FsbG93ZWRcIl0sW1sxMjI3MiwxMjI4M10sXCJkaXNhbGxvd2VkXCJdLFtbMTIyODQsMTIyODddLFwiZGlzYWxsb3dlZFwiXSxbWzEyMjg4LDEyMjg4XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzJdXSxbWzEyMjg5LDEyMjg5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMjI5MCwxMjI5MF0sXCJtYXBwZWRcIixbNDZdXSxbWzEyMjkxLDEyMjkyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMjI5MywxMjI5NV0sXCJ2YWxpZFwiXSxbWzEyMjk2LDEyMzI5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMjMzMCwxMjMzM10sXCJ2YWxpZFwiXSxbWzEyMzM0LDEyMzQxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMjM0MiwxMjM0Ml0sXCJtYXBwZWRcIixbMTIzMDZdXSxbWzEyMzQzLDEyMzQzXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMjM0NCwxMjM0NF0sXCJtYXBwZWRcIixbMjEzMTNdXSxbWzEyMzQ1LDEyMzQ1XSxcIm1hcHBlZFwiLFsyMTMxNl1dLFtbMTIzNDYsMTIzNDZdLFwibWFwcGVkXCIsWzIxMzE3XV0sW1sxMjM0NywxMjM0N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTIzNDgsMTIzNDhdLFwidmFsaWRcIl0sW1sxMjM0OSwxMjM0OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTIzNTAsMTIzNTBdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEyMzUxLDEyMzUxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMjM1MiwxMjM1Ml0sXCJkaXNhbGxvd2VkXCJdLFtbMTIzNTMsMTI0MzZdLFwidmFsaWRcIl0sW1sxMjQzNywxMjQzOF0sXCJ2YWxpZFwiXSxbWzEyNDM5LDEyNDQwXSxcImRpc2FsbG93ZWRcIl0sW1sxMjQ0MSwxMjQ0Ml0sXCJ2YWxpZFwiXSxbWzEyNDQzLDEyNDQzXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzIsMTI0NDFdXSxbWzEyNDQ0LDEyNDQ0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzIsMTI0NDJdXSxbWzEyNDQ1LDEyNDQ2XSxcInZhbGlkXCJdLFtbMTI0NDcsMTI0NDddLFwibWFwcGVkXCIsWzEyNDI0LDEyNDI2XV0sW1sxMjQ0OCwxMjQ0OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI0NDksMTI1NDJdLFwidmFsaWRcIl0sW1sxMjU0MywxMjU0M10sXCJtYXBwZWRcIixbMTI0NjcsMTI0ODhdXSxbWzEyNTQ0LDEyNTQ4XSxcImRpc2FsbG93ZWRcIl0sW1sxMjU0OSwxMjU4OF0sXCJ2YWxpZFwiXSxbWzEyNTg5LDEyNTg5XSxcInZhbGlkXCJdLFtbMTI1OTAsMTI1OTJdLFwiZGlzYWxsb3dlZFwiXSxbWzEyNTkzLDEyNTkzXSxcIm1hcHBlZFwiLFs0MzUyXV0sW1sxMjU5NCwxMjU5NF0sXCJtYXBwZWRcIixbNDM1M11dLFtbMTI1OTUsMTI1OTVdLFwibWFwcGVkXCIsWzQ1MjJdXSxbWzEyNTk2LDEyNTk2XSxcIm1hcHBlZFwiLFs0MzU0XV0sW1sxMjU5NywxMjU5N10sXCJtYXBwZWRcIixbNDUyNF1dLFtbMTI1OTgsMTI1OThdLFwibWFwcGVkXCIsWzQ1MjVdXSxbWzEyNTk5LDEyNTk5XSxcIm1hcHBlZFwiLFs0MzU1XV0sW1sxMjYwMCwxMjYwMF0sXCJtYXBwZWRcIixbNDM1Nl1dLFtbMTI2MDEsMTI2MDFdLFwibWFwcGVkXCIsWzQzNTddXSxbWzEyNjAyLDEyNjAyXSxcIm1hcHBlZFwiLFs0NTI4XV0sW1sxMjYwMywxMjYwM10sXCJtYXBwZWRcIixbNDUyOV1dLFtbMTI2MDQsMTI2MDRdLFwibWFwcGVkXCIsWzQ1MzBdXSxbWzEyNjA1LDEyNjA1XSxcIm1hcHBlZFwiLFs0NTMxXV0sW1sxMjYwNiwxMjYwNl0sXCJtYXBwZWRcIixbNDUzMl1dLFtbMTI2MDcsMTI2MDddLFwibWFwcGVkXCIsWzQ1MzNdXSxbWzEyNjA4LDEyNjA4XSxcIm1hcHBlZFwiLFs0Mzc4XV0sW1sxMjYwOSwxMjYwOV0sXCJtYXBwZWRcIixbNDM1OF1dLFtbMTI2MTAsMTI2MTBdLFwibWFwcGVkXCIsWzQzNTldXSxbWzEyNjExLDEyNjExXSxcIm1hcHBlZFwiLFs0MzYwXV0sW1sxMjYxMiwxMjYxMl0sXCJtYXBwZWRcIixbNDM4NV1dLFtbMTI2MTMsMTI2MTNdLFwibWFwcGVkXCIsWzQzNjFdXSxbWzEyNjE0LDEyNjE0XSxcIm1hcHBlZFwiLFs0MzYyXV0sW1sxMjYxNSwxMjYxNV0sXCJtYXBwZWRcIixbNDM2M11dLFtbMTI2MTYsMTI2MTZdLFwibWFwcGVkXCIsWzQzNjRdXSxbWzEyNjE3LDEyNjE3XSxcIm1hcHBlZFwiLFs0MzY1XV0sW1sxMjYxOCwxMjYxOF0sXCJtYXBwZWRcIixbNDM2Nl1dLFtbMTI2MTksMTI2MTldLFwibWFwcGVkXCIsWzQzNjddXSxbWzEyNjIwLDEyNjIwXSxcIm1hcHBlZFwiLFs0MzY4XV0sW1sxMjYyMSwxMjYyMV0sXCJtYXBwZWRcIixbNDM2OV1dLFtbMTI2MjIsMTI2MjJdLFwibWFwcGVkXCIsWzQzNzBdXSxbWzEyNjIzLDEyNjIzXSxcIm1hcHBlZFwiLFs0NDQ5XV0sW1sxMjYyNCwxMjYyNF0sXCJtYXBwZWRcIixbNDQ1MF1dLFtbMTI2MjUsMTI2MjVdLFwibWFwcGVkXCIsWzQ0NTFdXSxbWzEyNjI2LDEyNjI2XSxcIm1hcHBlZFwiLFs0NDUyXV0sW1sxMjYyNywxMjYyN10sXCJtYXBwZWRcIixbNDQ1M11dLFtbMTI2MjgsMTI2MjhdLFwibWFwcGVkXCIsWzQ0NTRdXSxbWzEyNjI5LDEyNjI5XSxcIm1hcHBlZFwiLFs0NDU1XV0sW1sxMjYzMCwxMjYzMF0sXCJtYXBwZWRcIixbNDQ1Nl1dLFtbMTI2MzEsMTI2MzFdLFwibWFwcGVkXCIsWzQ0NTddXSxbWzEyNjMyLDEyNjMyXSxcIm1hcHBlZFwiLFs0NDU4XV0sW1sxMjYzMywxMjYzM10sXCJtYXBwZWRcIixbNDQ1OV1dLFtbMTI2MzQsMTI2MzRdLFwibWFwcGVkXCIsWzQ0NjBdXSxbWzEyNjM1LDEyNjM1XSxcIm1hcHBlZFwiLFs0NDYxXV0sW1sxMjYzNiwxMjYzNl0sXCJtYXBwZWRcIixbNDQ2Ml1dLFtbMTI2MzcsMTI2MzddLFwibWFwcGVkXCIsWzQ0NjNdXSxbWzEyNjM4LDEyNjM4XSxcIm1hcHBlZFwiLFs0NDY0XV0sW1sxMjYzOSwxMjYzOV0sXCJtYXBwZWRcIixbNDQ2NV1dLFtbMTI2NDAsMTI2NDBdLFwibWFwcGVkXCIsWzQ0NjZdXSxbWzEyNjQxLDEyNjQxXSxcIm1hcHBlZFwiLFs0NDY3XV0sW1sxMjY0MiwxMjY0Ml0sXCJtYXBwZWRcIixbNDQ2OF1dLFtbMTI2NDMsMTI2NDNdLFwibWFwcGVkXCIsWzQ0NjldXSxbWzEyNjQ0LDEyNjQ0XSxcImRpc2FsbG93ZWRcIl0sW1sxMjY0NSwxMjY0NV0sXCJtYXBwZWRcIixbNDM3Ml1dLFtbMTI2NDYsMTI2NDZdLFwibWFwcGVkXCIsWzQzNzNdXSxbWzEyNjQ3LDEyNjQ3XSxcIm1hcHBlZFwiLFs0NTUxXV0sW1sxMjY0OCwxMjY0OF0sXCJtYXBwZWRcIixbNDU1Ml1dLFtbMTI2NDksMTI2NDldLFwibWFwcGVkXCIsWzQ1NTZdXSxbWzEyNjUwLDEyNjUwXSxcIm1hcHBlZFwiLFs0NTU4XV0sW1sxMjY1MSwxMjY1MV0sXCJtYXBwZWRcIixbNDU2M11dLFtbMTI2NTIsMTI2NTJdLFwibWFwcGVkXCIsWzQ1NjddXSxbWzEyNjUzLDEyNjUzXSxcIm1hcHBlZFwiLFs0NTY5XV0sW1sxMjY1NCwxMjY1NF0sXCJtYXBwZWRcIixbNDM4MF1dLFtbMTI2NTUsMTI2NTVdLFwibWFwcGVkXCIsWzQ1NzNdXSxbWzEyNjU2LDEyNjU2XSxcIm1hcHBlZFwiLFs0NTc1XV0sW1sxMjY1NywxMjY1N10sXCJtYXBwZWRcIixbNDM4MV1dLFtbMTI2NTgsMTI2NThdLFwibWFwcGVkXCIsWzQzODJdXSxbWzEyNjU5LDEyNjU5XSxcIm1hcHBlZFwiLFs0Mzg0XV0sW1sxMjY2MCwxMjY2MF0sXCJtYXBwZWRcIixbNDM4Nl1dLFtbMTI2NjEsMTI2NjFdLFwibWFwcGVkXCIsWzQzODddXSxbWzEyNjYyLDEyNjYyXSxcIm1hcHBlZFwiLFs0MzkxXV0sW1sxMjY2MywxMjY2M10sXCJtYXBwZWRcIixbNDM5M11dLFtbMTI2NjQsMTI2NjRdLFwibWFwcGVkXCIsWzQzOTVdXSxbWzEyNjY1LDEyNjY1XSxcIm1hcHBlZFwiLFs0Mzk2XV0sW1sxMjY2NiwxMjY2Nl0sXCJtYXBwZWRcIixbNDM5N11dLFtbMTI2NjcsMTI2NjddLFwibWFwcGVkXCIsWzQzOThdXSxbWzEyNjY4LDEyNjY4XSxcIm1hcHBlZFwiLFs0Mzk5XV0sW1sxMjY2OSwxMjY2OV0sXCJtYXBwZWRcIixbNDQwMl1dLFtbMTI2NzAsMTI2NzBdLFwibWFwcGVkXCIsWzQ0MDZdXSxbWzEyNjcxLDEyNjcxXSxcIm1hcHBlZFwiLFs0NDE2XV0sW1sxMjY3MiwxMjY3Ml0sXCJtYXBwZWRcIixbNDQyM11dLFtbMTI2NzMsMTI2NzNdLFwibWFwcGVkXCIsWzQ0MjhdXSxbWzEyNjc0LDEyNjc0XSxcIm1hcHBlZFwiLFs0NTkzXV0sW1sxMjY3NSwxMjY3NV0sXCJtYXBwZWRcIixbNDU5NF1dLFtbMTI2NzYsMTI2NzZdLFwibWFwcGVkXCIsWzQ0MzldXSxbWzEyNjc3LDEyNjc3XSxcIm1hcHBlZFwiLFs0NDQwXV0sW1sxMjY3OCwxMjY3OF0sXCJtYXBwZWRcIixbNDQ0MV1dLFtbMTI2NzksMTI2NzldLFwibWFwcGVkXCIsWzQ0ODRdXSxbWzEyNjgwLDEyNjgwXSxcIm1hcHBlZFwiLFs0NDg1XV0sW1sxMjY4MSwxMjY4MV0sXCJtYXBwZWRcIixbNDQ4OF1dLFtbMTI2ODIsMTI2ODJdLFwibWFwcGVkXCIsWzQ0OTddXSxbWzEyNjgzLDEyNjgzXSxcIm1hcHBlZFwiLFs0NDk4XV0sW1sxMjY4NCwxMjY4NF0sXCJtYXBwZWRcIixbNDUwMF1dLFtbMTI2ODUsMTI2ODVdLFwibWFwcGVkXCIsWzQ1MTBdXSxbWzEyNjg2LDEyNjg2XSxcIm1hcHBlZFwiLFs0NTEzXV0sW1sxMjY4NywxMjY4N10sXCJkaXNhbGxvd2VkXCJdLFtbMTI2ODgsMTI2ODldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEyNjkwLDEyNjkwXSxcIm1hcHBlZFwiLFsxOTk2OF1dLFtbMTI2OTEsMTI2OTFdLFwibWFwcGVkXCIsWzIwMTA4XV0sW1sxMjY5MiwxMjY5Ml0sXCJtYXBwZWRcIixbMTk5NzddXSxbWzEyNjkzLDEyNjkzXSxcIm1hcHBlZFwiLFsyMjIzNV1dLFtbMTI2OTQsMTI2OTRdLFwibWFwcGVkXCIsWzE5OTc4XV0sW1sxMjY5NSwxMjY5NV0sXCJtYXBwZWRcIixbMjAwMTNdXSxbWzEyNjk2LDEyNjk2XSxcIm1hcHBlZFwiLFsxOTk3OV1dLFtbMTI2OTcsMTI2OTddLFwibWFwcGVkXCIsWzMwMDAyXV0sW1sxMjY5OCwxMjY5OF0sXCJtYXBwZWRcIixbMjAwNTddXSxbWzEyNjk5LDEyNjk5XSxcIm1hcHBlZFwiLFsxOTk5M11dLFtbMTI3MDAsMTI3MDBdLFwibWFwcGVkXCIsWzE5OTY5XV0sW1sxMjcwMSwxMjcwMV0sXCJtYXBwZWRcIixbMjI4MjVdXSxbWzEyNzAyLDEyNzAyXSxcIm1hcHBlZFwiLFsyMjMyMF1dLFtbMTI3MDMsMTI3MDNdLFwibWFwcGVkXCIsWzIwMTU0XV0sW1sxMjcwNCwxMjcyN10sXCJ2YWxpZFwiXSxbWzEyNzI4LDEyNzMwXSxcInZhbGlkXCJdLFtbMTI3MzEsMTI3MzVdLFwiZGlzYWxsb3dlZFwiXSxbWzEyNzM2LDEyNzUxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMjc1MiwxMjc3MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3NzIsMTI3ODNdLFwiZGlzYWxsb3dlZFwiXSxbWzEyNzg0LDEyNzk5XSxcInZhbGlkXCJdLFtbMTI4MDAsMTI4MDBdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCw0MzUyLDQxXV0sW1sxMjgwMSwxMjgwMV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDQzNTQsNDFdXSxbWzEyODAyLDEyODAyXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDM1NSw0MV1dLFtbMTI4MDMsMTI4MDNdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCw0MzU3LDQxXV0sW1sxMjgwNCwxMjgwNF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDQzNTgsNDFdXSxbWzEyODA1LDEyODA1XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDM1OSw0MV1dLFtbMTI4MDYsMTI4MDZdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCw0MzYxLDQxXV0sW1sxMjgwNywxMjgwN10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDQzNjMsNDFdXSxbWzEyODA4LDEyODA4XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDM2NCw0MV1dLFtbMTI4MDksMTI4MDldLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCw0MzY2LDQxXV0sW1sxMjgxMCwxMjgxMF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDQzNjcsNDFdXSxbWzEyODExLDEyODExXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDM2OCw0MV1dLFtbMTI4MTIsMTI4MTJdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCw0MzY5LDQxXV0sW1sxMjgxMywxMjgxM10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDQzNzAsNDFdXSxbWzEyODE0LDEyODE0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDQwMzIsNDFdXSxbWzEyODE1LDEyODE1XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDUyMDgsNDFdXSxbWzEyODE2LDEyODE2XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDU3OTYsNDFdXSxbWzEyODE3LDEyODE3XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDY5NzIsNDFdXSxbWzEyODE4LDEyODE4XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDc1NjAsNDFdXSxbWzEyODE5LDEyODE5XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDgxNDgsNDFdXSxbWzEyODIwLDEyODIwXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNDkzMjQsNDFdXSxbWzEyODIxLDEyODIxXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNTA1MDAsNDFdXSxbWzEyODIyLDEyODIyXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNTEwODgsNDFdXSxbWzEyODIzLDEyODIzXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNTIyNjQsNDFdXSxbWzEyODI0LDEyODI0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNTI4NTIsNDFdXSxbWzEyODI1LDEyODI1XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNTM0NDAsNDFdXSxbWzEyODI2LDEyODI2XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNTQwMjgsNDFdXSxbWzEyODI3LDEyODI3XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNTQ2MTYsNDFdXSxbWzEyODI4LDEyODI4XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNTE0NTIsNDFdXSxbWzEyODI5LDEyODI5XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNTA3MjQsNTEyMDQsNDFdXSxbWzEyODMwLDEyODMwXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsNTA3MjQsNTQ5ODAsNDFdXSxbWzEyODMxLDEyODMxXSxcImRpc2FsbG93ZWRcIl0sW1sxMjgzMiwxMjgzMl0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDE5OTY4LDQxXV0sW1sxMjgzMywxMjgzM10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIwMTA4LDQxXV0sW1sxMjgzNCwxMjgzNF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDE5OTc3LDQxXV0sW1sxMjgzNSwxMjgzNV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIyMjM1LDQxXV0sW1sxMjgzNiwxMjgzNl0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIwMTE2LDQxXV0sW1sxMjgzNywxMjgzN10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIwODQ1LDQxXV0sW1sxMjgzOCwxMjgzOF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDE5OTcxLDQxXV0sW1sxMjgzOSwxMjgzOV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIwODQzLDQxXV0sW1sxMjg0MCwxMjg0MF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIwMDYxLDQxXV0sW1sxMjg0MSwxMjg0MV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIxMzEzLDQxXV0sW1sxMjg0MiwxMjg0Ml0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDI2Mzc2LDQxXV0sW1sxMjg0MywxMjg0M10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDI4Nzc5LDQxXV0sW1sxMjg0NCwxMjg0NF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDI3NzAwLDQxXV0sW1sxMjg0NSwxMjg0NV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDI2NDA4LDQxXV0sW1sxMjg0NiwxMjg0Nl0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDM3MzI5LDQxXV0sW1sxMjg0NywxMjg0N10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIyMzAzLDQxXV0sW1sxMjg0OCwxMjg0OF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDI2MDg1LDQxXV0sW1sxMjg0OSwxMjg0OV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDI2NjY2LDQxXV0sW1sxMjg1MCwxMjg1MF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDI2Mzc3LDQxXV0sW1sxMjg1MSwxMjg1MV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDMxMDM4LDQxXV0sW1sxMjg1MiwxMjg1Ml0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIxNTE3LDQxXV0sW1sxMjg1MywxMjg1M10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDI5MzA1LDQxXV0sW1sxMjg1NCwxMjg1NF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDM2MDAxLDQxXV0sW1sxMjg1NSwxMjg1NV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDMxMDY5LDQxXV0sW1sxMjg1NiwxMjg1Nl0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIxMTcyLDQxXV0sW1sxMjg1NywxMjg1N10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIwMTk1LDQxXV0sW1sxMjg1OCwxMjg1OF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIxNjI4LDQxXV0sW1sxMjg1OSwxMjg1OV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIzMzk4LDQxXV0sW1sxMjg2MCwxMjg2MF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDMwNDM1LDQxXV0sW1sxMjg2MSwxMjg2MV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIwMjI1LDQxXV0sW1sxMjg2MiwxMjg2Ml0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDM2MDM5LDQxXV0sW1sxMjg2MywxMjg2M10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIxMzMyLDQxXV0sW1sxMjg2NCwxMjg2NF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDMxMDg1LDQxXV0sW1sxMjg2NSwxMjg2NV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDIwMjQxLDQxXV0sW1sxMjg2NiwxMjg2Nl0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDMzMjU4LDQxXV0sW1sxMjg2NywxMjg2N10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDMzMjY3LDQxXV0sW1sxMjg2OCwxMjg2OF0sXCJtYXBwZWRcIixbMjE4MzldXSxbWzEyODY5LDEyODY5XSxcIm1hcHBlZFwiLFsyNDE4OF1dLFtbMTI4NzAsMTI4NzBdLFwibWFwcGVkXCIsWzI1OTkxXV0sW1sxMjg3MSwxMjg3MV0sXCJtYXBwZWRcIixbMzE2MzFdXSxbWzEyODcyLDEyODc5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMjg4MCwxMjg4MF0sXCJtYXBwZWRcIixbMTEyLDExNiwxMDFdXSxbWzEyODgxLDEyODgxXSxcIm1hcHBlZFwiLFs1MCw0OV1dLFtbMTI4ODIsMTI4ODJdLFwibWFwcGVkXCIsWzUwLDUwXV0sW1sxMjg4MywxMjg4M10sXCJtYXBwZWRcIixbNTAsNTFdXSxbWzEyODg0LDEyODg0XSxcIm1hcHBlZFwiLFs1MCw1Ml1dLFtbMTI4ODUsMTI4ODVdLFwibWFwcGVkXCIsWzUwLDUzXV0sW1sxMjg4NiwxMjg4Nl0sXCJtYXBwZWRcIixbNTAsNTRdXSxbWzEyODg3LDEyODg3XSxcIm1hcHBlZFwiLFs1MCw1NV1dLFtbMTI4ODgsMTI4ODhdLFwibWFwcGVkXCIsWzUwLDU2XV0sW1sxMjg4OSwxMjg4OV0sXCJtYXBwZWRcIixbNTAsNTddXSxbWzEyODkwLDEyODkwXSxcIm1hcHBlZFwiLFs1MSw0OF1dLFtbMTI4OTEsMTI4OTFdLFwibWFwcGVkXCIsWzUxLDQ5XV0sW1sxMjg5MiwxMjg5Ml0sXCJtYXBwZWRcIixbNTEsNTBdXSxbWzEyODkzLDEyODkzXSxcIm1hcHBlZFwiLFs1MSw1MV1dLFtbMTI4OTQsMTI4OTRdLFwibWFwcGVkXCIsWzUxLDUyXV0sW1sxMjg5NSwxMjg5NV0sXCJtYXBwZWRcIixbNTEsNTNdXSxbWzEyODk2LDEyODk2XSxcIm1hcHBlZFwiLFs0MzUyXV0sW1sxMjg5NywxMjg5N10sXCJtYXBwZWRcIixbNDM1NF1dLFtbMTI4OTgsMTI4OThdLFwibWFwcGVkXCIsWzQzNTVdXSxbWzEyODk5LDEyODk5XSxcIm1hcHBlZFwiLFs0MzU3XV0sW1sxMjkwMCwxMjkwMF0sXCJtYXBwZWRcIixbNDM1OF1dLFtbMTI5MDEsMTI5MDFdLFwibWFwcGVkXCIsWzQzNTldXSxbWzEyOTAyLDEyOTAyXSxcIm1hcHBlZFwiLFs0MzYxXV0sW1sxMjkwMywxMjkwM10sXCJtYXBwZWRcIixbNDM2M11dLFtbMTI5MDQsMTI5MDRdLFwibWFwcGVkXCIsWzQzNjRdXSxbWzEyOTA1LDEyOTA1XSxcIm1hcHBlZFwiLFs0MzY2XV0sW1sxMjkwNiwxMjkwNl0sXCJtYXBwZWRcIixbNDM2N11dLFtbMTI5MDcsMTI5MDddLFwibWFwcGVkXCIsWzQzNjhdXSxbWzEyOTA4LDEyOTA4XSxcIm1hcHBlZFwiLFs0MzY5XV0sW1sxMjkwOSwxMjkwOV0sXCJtYXBwZWRcIixbNDM3MF1dLFtbMTI5MTAsMTI5MTBdLFwibWFwcGVkXCIsWzQ0MDMyXV0sW1sxMjkxMSwxMjkxMV0sXCJtYXBwZWRcIixbNDUyMDhdXSxbWzEyOTEyLDEyOTEyXSxcIm1hcHBlZFwiLFs0NTc5Nl1dLFtbMTI5MTMsMTI5MTNdLFwibWFwcGVkXCIsWzQ2OTcyXV0sW1sxMjkxNCwxMjkxNF0sXCJtYXBwZWRcIixbNDc1NjBdXSxbWzEyOTE1LDEyOTE1XSxcIm1hcHBlZFwiLFs0ODE0OF1dLFtbMTI5MTYsMTI5MTZdLFwibWFwcGVkXCIsWzQ5MzI0XV0sW1sxMjkxNywxMjkxN10sXCJtYXBwZWRcIixbNTA1MDBdXSxbWzEyOTE4LDEyOTE4XSxcIm1hcHBlZFwiLFs1MTA4OF1dLFtbMTI5MTksMTI5MTldLFwibWFwcGVkXCIsWzUyMjY0XV0sW1sxMjkyMCwxMjkyMF0sXCJtYXBwZWRcIixbNTI4NTJdXSxbWzEyOTIxLDEyOTIxXSxcIm1hcHBlZFwiLFs1MzQ0MF1dLFtbMTI5MjIsMTI5MjJdLFwibWFwcGVkXCIsWzU0MDI4XV0sW1sxMjkyMywxMjkyM10sXCJtYXBwZWRcIixbNTQ2MTZdXSxbWzEyOTI0LDEyOTI0XSxcIm1hcHBlZFwiLFs1MjI4MCw0NDI1Nl1dLFtbMTI5MjUsMTI5MjVdLFwibWFwcGVkXCIsWzUxNDUyLDUxMDMyXV0sW1sxMjkyNiwxMjkyNl0sXCJtYXBwZWRcIixbNTA4NjRdXSxbWzEyOTI3LDEyOTI3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMjkyOCwxMjkyOF0sXCJtYXBwZWRcIixbMTk5NjhdXSxbWzEyOTI5LDEyOTI5XSxcIm1hcHBlZFwiLFsyMDEwOF1dLFtbMTI5MzAsMTI5MzBdLFwibWFwcGVkXCIsWzE5OTc3XV0sW1sxMjkzMSwxMjkzMV0sXCJtYXBwZWRcIixbMjIyMzVdXSxbWzEyOTMyLDEyOTMyXSxcIm1hcHBlZFwiLFsyMDExNl1dLFtbMTI5MzMsMTI5MzNdLFwibWFwcGVkXCIsWzIwODQ1XV0sW1sxMjkzNCwxMjkzNF0sXCJtYXBwZWRcIixbMTk5NzFdXSxbWzEyOTM1LDEyOTM1XSxcIm1hcHBlZFwiLFsyMDg0M11dLFtbMTI5MzYsMTI5MzZdLFwibWFwcGVkXCIsWzIwMDYxXV0sW1sxMjkzNywxMjkzN10sXCJtYXBwZWRcIixbMjEzMTNdXSxbWzEyOTM4LDEyOTM4XSxcIm1hcHBlZFwiLFsyNjM3Nl1dLFtbMTI5MzksMTI5MzldLFwibWFwcGVkXCIsWzI4Nzc5XV0sW1sxMjk0MCwxMjk0MF0sXCJtYXBwZWRcIixbMjc3MDBdXSxbWzEyOTQxLDEyOTQxXSxcIm1hcHBlZFwiLFsyNjQwOF1dLFtbMTI5NDIsMTI5NDJdLFwibWFwcGVkXCIsWzM3MzI5XV0sW1sxMjk0MywxMjk0M10sXCJtYXBwZWRcIixbMjIzMDNdXSxbWzEyOTQ0LDEyOTQ0XSxcIm1hcHBlZFwiLFsyNjA4NV1dLFtbMTI5NDUsMTI5NDVdLFwibWFwcGVkXCIsWzI2NjY2XV0sW1sxMjk0NiwxMjk0Nl0sXCJtYXBwZWRcIixbMjYzNzddXSxbWzEyOTQ3LDEyOTQ3XSxcIm1hcHBlZFwiLFszMTAzOF1dLFtbMTI5NDgsMTI5NDhdLFwibWFwcGVkXCIsWzIxNTE3XV0sW1sxMjk0OSwxMjk0OV0sXCJtYXBwZWRcIixbMjkzMDVdXSxbWzEyOTUwLDEyOTUwXSxcIm1hcHBlZFwiLFszNjAwMV1dLFtbMTI5NTEsMTI5NTFdLFwibWFwcGVkXCIsWzMxMDY5XV0sW1sxMjk1MiwxMjk1Ml0sXCJtYXBwZWRcIixbMjExNzJdXSxbWzEyOTUzLDEyOTUzXSxcIm1hcHBlZFwiLFszMTE5Ml1dLFtbMTI5NTQsMTI5NTRdLFwibWFwcGVkXCIsWzMwMDA3XV0sW1sxMjk1NSwxMjk1NV0sXCJtYXBwZWRcIixbMjI4OTldXSxbWzEyOTU2LDEyOTU2XSxcIm1hcHBlZFwiLFszNjk2OV1dLFtbMTI5NTcsMTI5NTddLFwibWFwcGVkXCIsWzIwNzc4XV0sW1sxMjk1OCwxMjk1OF0sXCJtYXBwZWRcIixbMjEzNjBdXSxbWzEyOTU5LDEyOTU5XSxcIm1hcHBlZFwiLFsyNzg4MF1dLFtbMTI5NjAsMTI5NjBdLFwibWFwcGVkXCIsWzM4OTE3XV0sW1sxMjk2MSwxMjk2MV0sXCJtYXBwZWRcIixbMjAyNDFdXSxbWzEyOTYyLDEyOTYyXSxcIm1hcHBlZFwiLFsyMDg4OV1dLFtbMTI5NjMsMTI5NjNdLFwibWFwcGVkXCIsWzI3NDkxXV0sW1sxMjk2NCwxMjk2NF0sXCJtYXBwZWRcIixbMTk5NzhdXSxbWzEyOTY1LDEyOTY1XSxcIm1hcHBlZFwiLFsyMDAxM11dLFtbMTI5NjYsMTI5NjZdLFwibWFwcGVkXCIsWzE5OTc5XV0sW1sxMjk2NywxMjk2N10sXCJtYXBwZWRcIixbMjQwMzhdXSxbWzEyOTY4LDEyOTY4XSxcIm1hcHBlZFwiLFsyMTQ5MV1dLFtbMTI5NjksMTI5NjldLFwibWFwcGVkXCIsWzIxMzA3XV0sW1sxMjk3MCwxMjk3MF0sXCJtYXBwZWRcIixbMjM0NDddXSxbWzEyOTcxLDEyOTcxXSxcIm1hcHBlZFwiLFsyMzM5OF1dLFtbMTI5NzIsMTI5NzJdLFwibWFwcGVkXCIsWzMwNDM1XV0sW1sxMjk3MywxMjk3M10sXCJtYXBwZWRcIixbMjAyMjVdXSxbWzEyOTc0LDEyOTc0XSxcIm1hcHBlZFwiLFszNjAzOV1dLFtbMTI5NzUsMTI5NzVdLFwibWFwcGVkXCIsWzIxMzMyXV0sW1sxMjk3NiwxMjk3Nl0sXCJtYXBwZWRcIixbMjI4MTJdXSxbWzEyOTc3LDEyOTc3XSxcIm1hcHBlZFwiLFs1MSw1NF1dLFtbMTI5NzgsMTI5NzhdLFwibWFwcGVkXCIsWzUxLDU1XV0sW1sxMjk3OSwxMjk3OV0sXCJtYXBwZWRcIixbNTEsNTZdXSxbWzEyOTgwLDEyOTgwXSxcIm1hcHBlZFwiLFs1MSw1N11dLFtbMTI5ODEsMTI5ODFdLFwibWFwcGVkXCIsWzUyLDQ4XV0sW1sxMjk4MiwxMjk4Ml0sXCJtYXBwZWRcIixbNTIsNDldXSxbWzEyOTgzLDEyOTgzXSxcIm1hcHBlZFwiLFs1Miw1MF1dLFtbMTI5ODQsMTI5ODRdLFwibWFwcGVkXCIsWzUyLDUxXV0sW1sxMjk4NSwxMjk4NV0sXCJtYXBwZWRcIixbNTIsNTJdXSxbWzEyOTg2LDEyOTg2XSxcIm1hcHBlZFwiLFs1Miw1M11dLFtbMTI5ODcsMTI5ODddLFwibWFwcGVkXCIsWzUyLDU0XV0sW1sxMjk4OCwxMjk4OF0sXCJtYXBwZWRcIixbNTIsNTVdXSxbWzEyOTg5LDEyOTg5XSxcIm1hcHBlZFwiLFs1Miw1Nl1dLFtbMTI5OTAsMTI5OTBdLFwibWFwcGVkXCIsWzUyLDU3XV0sW1sxMjk5MSwxMjk5MV0sXCJtYXBwZWRcIixbNTMsNDhdXSxbWzEyOTkyLDEyOTkyXSxcIm1hcHBlZFwiLFs0OSwyNjM3Nl1dLFtbMTI5OTMsMTI5OTNdLFwibWFwcGVkXCIsWzUwLDI2Mzc2XV0sW1sxMjk5NCwxMjk5NF0sXCJtYXBwZWRcIixbNTEsMjYzNzZdXSxbWzEyOTk1LDEyOTk1XSxcIm1hcHBlZFwiLFs1MiwyNjM3Nl1dLFtbMTI5OTYsMTI5OTZdLFwibWFwcGVkXCIsWzUzLDI2Mzc2XV0sW1sxMjk5NywxMjk5N10sXCJtYXBwZWRcIixbNTQsMjYzNzZdXSxbWzEyOTk4LDEyOTk4XSxcIm1hcHBlZFwiLFs1NSwyNjM3Nl1dLFtbMTI5OTksMTI5OTldLFwibWFwcGVkXCIsWzU2LDI2Mzc2XV0sW1sxMzAwMCwxMzAwMF0sXCJtYXBwZWRcIixbNTcsMjYzNzZdXSxbWzEzMDAxLDEzMDAxXSxcIm1hcHBlZFwiLFs0OSw0OCwyNjM3Nl1dLFtbMTMwMDIsMTMwMDJdLFwibWFwcGVkXCIsWzQ5LDQ5LDI2Mzc2XV0sW1sxMzAwMywxMzAwM10sXCJtYXBwZWRcIixbNDksNTAsMjYzNzZdXSxbWzEzMDA0LDEzMDA0XSxcIm1hcHBlZFwiLFsxMDQsMTAzXV0sW1sxMzAwNSwxMzAwNV0sXCJtYXBwZWRcIixbMTAxLDExNCwxMDNdXSxbWzEzMDA2LDEzMDA2XSxcIm1hcHBlZFwiLFsxMDEsMTE4XV0sW1sxMzAwNywxMzAwN10sXCJtYXBwZWRcIixbMTA4LDExNiwxMDBdXSxbWzEzMDA4LDEzMDA4XSxcIm1hcHBlZFwiLFsxMjQ1MF1dLFtbMTMwMDksMTMwMDldLFwibWFwcGVkXCIsWzEyNDUyXV0sW1sxMzAxMCwxMzAxMF0sXCJtYXBwZWRcIixbMTI0NTRdXSxbWzEzMDExLDEzMDExXSxcIm1hcHBlZFwiLFsxMjQ1Nl1dLFtbMTMwMTIsMTMwMTJdLFwibWFwcGVkXCIsWzEyNDU4XV0sW1sxMzAxMywxMzAxM10sXCJtYXBwZWRcIixbMTI0NTldXSxbWzEzMDE0LDEzMDE0XSxcIm1hcHBlZFwiLFsxMjQ2MV1dLFtbMTMwMTUsMTMwMTVdLFwibWFwcGVkXCIsWzEyNDYzXV0sW1sxMzAxNiwxMzAxNl0sXCJtYXBwZWRcIixbMTI0NjVdXSxbWzEzMDE3LDEzMDE3XSxcIm1hcHBlZFwiLFsxMjQ2N11dLFtbMTMwMTgsMTMwMThdLFwibWFwcGVkXCIsWzEyNDY5XV0sW1sxMzAxOSwxMzAxOV0sXCJtYXBwZWRcIixbMTI0NzFdXSxbWzEzMDIwLDEzMDIwXSxcIm1hcHBlZFwiLFsxMjQ3M11dLFtbMTMwMjEsMTMwMjFdLFwibWFwcGVkXCIsWzEyNDc1XV0sW1sxMzAyMiwxMzAyMl0sXCJtYXBwZWRcIixbMTI0NzddXSxbWzEzMDIzLDEzMDIzXSxcIm1hcHBlZFwiLFsxMjQ3OV1dLFtbMTMwMjQsMTMwMjRdLFwibWFwcGVkXCIsWzEyNDgxXV0sW1sxMzAyNSwxMzAyNV0sXCJtYXBwZWRcIixbMTI0ODRdXSxbWzEzMDI2LDEzMDI2XSxcIm1hcHBlZFwiLFsxMjQ4Nl1dLFtbMTMwMjcsMTMwMjddLFwibWFwcGVkXCIsWzEyNDg4XV0sW1sxMzAyOCwxMzAyOF0sXCJtYXBwZWRcIixbMTI0OTBdXSxbWzEzMDI5LDEzMDI5XSxcIm1hcHBlZFwiLFsxMjQ5MV1dLFtbMTMwMzAsMTMwMzBdLFwibWFwcGVkXCIsWzEyNDkyXV0sW1sxMzAzMSwxMzAzMV0sXCJtYXBwZWRcIixbMTI0OTNdXSxbWzEzMDMyLDEzMDMyXSxcIm1hcHBlZFwiLFsxMjQ5NF1dLFtbMTMwMzMsMTMwMzNdLFwibWFwcGVkXCIsWzEyNDk1XV0sW1sxMzAzNCwxMzAzNF0sXCJtYXBwZWRcIixbMTI0OThdXSxbWzEzMDM1LDEzMDM1XSxcIm1hcHBlZFwiLFsxMjUwMV1dLFtbMTMwMzYsMTMwMzZdLFwibWFwcGVkXCIsWzEyNTA0XV0sW1sxMzAzNywxMzAzN10sXCJtYXBwZWRcIixbMTI1MDddXSxbWzEzMDM4LDEzMDM4XSxcIm1hcHBlZFwiLFsxMjUxMF1dLFtbMTMwMzksMTMwMzldLFwibWFwcGVkXCIsWzEyNTExXV0sW1sxMzA0MCwxMzA0MF0sXCJtYXBwZWRcIixbMTI1MTJdXSxbWzEzMDQxLDEzMDQxXSxcIm1hcHBlZFwiLFsxMjUxM11dLFtbMTMwNDIsMTMwNDJdLFwibWFwcGVkXCIsWzEyNTE0XV0sW1sxMzA0MywxMzA0M10sXCJtYXBwZWRcIixbMTI1MTZdXSxbWzEzMDQ0LDEzMDQ0XSxcIm1hcHBlZFwiLFsxMjUxOF1dLFtbMTMwNDUsMTMwNDVdLFwibWFwcGVkXCIsWzEyNTIwXV0sW1sxMzA0NiwxMzA0Nl0sXCJtYXBwZWRcIixbMTI1MjFdXSxbWzEzMDQ3LDEzMDQ3XSxcIm1hcHBlZFwiLFsxMjUyMl1dLFtbMTMwNDgsMTMwNDhdLFwibWFwcGVkXCIsWzEyNTIzXV0sW1sxMzA0OSwxMzA0OV0sXCJtYXBwZWRcIixbMTI1MjRdXSxbWzEzMDUwLDEzMDUwXSxcIm1hcHBlZFwiLFsxMjUyNV1dLFtbMTMwNTEsMTMwNTFdLFwibWFwcGVkXCIsWzEyNTI3XV0sW1sxMzA1MiwxMzA1Ml0sXCJtYXBwZWRcIixbMTI1MjhdXSxbWzEzMDUzLDEzMDUzXSxcIm1hcHBlZFwiLFsxMjUyOV1dLFtbMTMwNTQsMTMwNTRdLFwibWFwcGVkXCIsWzEyNTMwXV0sW1sxMzA1NSwxMzA1NV0sXCJkaXNhbGxvd2VkXCJdLFtbMTMwNTYsMTMwNTZdLFwibWFwcGVkXCIsWzEyNDUwLDEyNDk3LDEyNTQwLDEyNDg4XV0sW1sxMzA1NywxMzA1N10sXCJtYXBwZWRcIixbMTI0NTAsMTI1MjMsMTI1MDEsMTI0NDldXSxbWzEzMDU4LDEzMDU4XSxcIm1hcHBlZFwiLFsxMjQ1MCwxMjUzMSwxMjUwNiwxMjQ1MF1dLFtbMTMwNTksMTMwNTldLFwibWFwcGVkXCIsWzEyNDUwLDEyNTQwLDEyNTIzXV0sW1sxMzA2MCwxMzA2MF0sXCJtYXBwZWRcIixbMTI0NTIsMTI0OTEsMTI1MzEsMTI0NjRdXSxbWzEzMDYxLDEzMDYxXSxcIm1hcHBlZFwiLFsxMjQ1MiwxMjUzMSwxMjQ4MV1dLFtbMTMwNjIsMTMwNjJdLFwibWFwcGVkXCIsWzEyNDU0LDEyNDU3LDEyNTMxXV0sW1sxMzA2MywxMzA2M10sXCJtYXBwZWRcIixbMTI0NTYsMTI0NzMsMTI0NjMsMTI1NDAsMTI0ODldXSxbWzEzMDY0LDEzMDY0XSxcIm1hcHBlZFwiLFsxMjQ1NiwxMjU0MCwxMjQ1OSwxMjU0MF1dLFtbMTMwNjUsMTMwNjVdLFwibWFwcGVkXCIsWzEyNDU4LDEyNTMxLDEyNDczXV0sW1sxMzA2NiwxMzA2Nl0sXCJtYXBwZWRcIixbMTI0NTgsMTI1NDAsMTI1MTJdXSxbWzEzMDY3LDEzMDY3XSxcIm1hcHBlZFwiLFsxMjQ1OSwxMjQ1MiwxMjUyMl1dLFtbMTMwNjgsMTMwNjhdLFwibWFwcGVkXCIsWzEyNDU5LDEyNTIxLDEyNDgzLDEyNDg4XV0sW1sxMzA2OSwxMzA2OV0sXCJtYXBwZWRcIixbMTI0NTksMTI1MjUsMTI1MjIsMTI1NDBdXSxbWzEzMDcwLDEzMDcwXSxcIm1hcHBlZFwiLFsxMjQ2MCwxMjUyNSwxMjUzMV1dLFtbMTMwNzEsMTMwNzFdLFwibWFwcGVkXCIsWzEyNDYwLDEyNTMxLDEyNTEwXV0sW1sxMzA3MiwxMzA3Ml0sXCJtYXBwZWRcIixbMTI0NjIsMTI0NjBdXSxbWzEzMDczLDEzMDczXSxcIm1hcHBlZFwiLFsxMjQ2MiwxMjQ5MSwxMjU0MF1dLFtbMTMwNzQsMTMwNzRdLFwibWFwcGVkXCIsWzEyNDYxLDEyNTE3LDEyNTIyLDEyNTQwXV0sW1sxMzA3NSwxMzA3NV0sXCJtYXBwZWRcIixbMTI0NjIsMTI1MjMsMTI0ODAsMTI1NDBdXSxbWzEzMDc2LDEzMDc2XSxcIm1hcHBlZFwiLFsxMjQ2MSwxMjUyNV1dLFtbMTMwNzcsMTMwNzddLFwibWFwcGVkXCIsWzEyNDYxLDEyNTI1LDEyNDY0LDEyNTIxLDEyNTEyXV0sW1sxMzA3OCwxMzA3OF0sXCJtYXBwZWRcIixbMTI0NjEsMTI1MjUsMTI1MTMsMTI1NDAsMTI0ODgsMTI1MjNdXSxbWzEzMDc5LDEzMDc5XSxcIm1hcHBlZFwiLFsxMjQ2MSwxMjUyNSwxMjUyNywxMjQ4MywxMjQ4OF1dLFtbMTMwODAsMTMwODBdLFwibWFwcGVkXCIsWzEyNDY0LDEyNTIxLDEyNTEyXV0sW1sxMzA4MSwxMzA4MV0sXCJtYXBwZWRcIixbMTI0NjQsMTI1MjEsMTI1MTIsMTI0ODgsMTI1MzFdXSxbWzEzMDgyLDEzMDgyXSxcIm1hcHBlZFwiLFsxMjQ2MywxMjUyMywxMjQ3NiwxMjQ1MiwxMjUyNV1dLFtbMTMwODMsMTMwODNdLFwibWFwcGVkXCIsWzEyNDYzLDEyNTI1LDEyNTQwLDEyNDkzXV0sW1sxMzA4NCwxMzA4NF0sXCJtYXBwZWRcIixbMTI0NjUsMTI1NDAsMTI0NzNdXSxbWzEzMDg1LDEzMDg1XSxcIm1hcHBlZFwiLFsxMjQ2NywxMjUyMywxMjQ5MF1dLFtbMTMwODYsMTMwODZdLFwibWFwcGVkXCIsWzEyNDY3LDEyNTQwLDEyNTA5XV0sW1sxMzA4NywxMzA4N10sXCJtYXBwZWRcIixbMTI0NjksMTI0NTIsMTI0NjMsMTI1MjNdXSxbWzEzMDg4LDEzMDg4XSxcIm1hcHBlZFwiLFsxMjQ2OSwxMjUzMSwxMjQ4MSwxMjU0MCwxMjUxMl1dLFtbMTMwODksMTMwODldLFwibWFwcGVkXCIsWzEyNDcxLDEyNTIyLDEyNTMxLDEyNDY0XV0sW1sxMzA5MCwxMzA5MF0sXCJtYXBwZWRcIixbMTI0NzUsMTI1MzEsMTI0ODFdXSxbWzEzMDkxLDEzMDkxXSxcIm1hcHBlZFwiLFsxMjQ3NSwxMjUzMSwxMjQ4OF1dLFtbMTMwOTIsMTMwOTJdLFwibWFwcGVkXCIsWzEyNDgwLDEyNTQwLDEyNDczXV0sW1sxMzA5MywxMzA5M10sXCJtYXBwZWRcIixbMTI0ODcsMTI0NzFdXSxbWzEzMDk0LDEzMDk0XSxcIm1hcHBlZFwiLFsxMjQ4OSwxMjUyM11dLFtbMTMwOTUsMTMwOTVdLFwibWFwcGVkXCIsWzEyNDg4LDEyNTMxXV0sW1sxMzA5NiwxMzA5Nl0sXCJtYXBwZWRcIixbMTI0OTAsMTI0OTRdXSxbWzEzMDk3LDEzMDk3XSxcIm1hcHBlZFwiLFsxMjQ5NCwxMjQ4MywxMjQ4OF1dLFtbMTMwOTgsMTMwOThdLFwibWFwcGVkXCIsWzEyNDk1LDEyNDUyLDEyNDg0XV0sW1sxMzA5OSwxMzA5OV0sXCJtYXBwZWRcIixbMTI0OTcsMTI1NDAsMTI0NzUsMTI1MzEsMTI0ODhdXSxbWzEzMTAwLDEzMTAwXSxcIm1hcHBlZFwiLFsxMjQ5NywxMjU0MCwxMjQ4NF1dLFtbMTMxMDEsMTMxMDFdLFwibWFwcGVkXCIsWzEyNDk2LDEyNTQwLDEyNTI0LDEyNTIzXV0sW1sxMzEwMiwxMzEwMl0sXCJtYXBwZWRcIixbMTI1MDAsMTI0NTAsMTI0NzMsMTI0ODgsMTI1MjNdXSxbWzEzMTAzLDEzMTAzXSxcIm1hcHBlZFwiLFsxMjUwMCwxMjQ2MywxMjUyM11dLFtbMTMxMDQsMTMxMDRdLFwibWFwcGVkXCIsWzEyNTAwLDEyNDY3XV0sW1sxMzEwNSwxMzEwNV0sXCJtYXBwZWRcIixbMTI0OTksMTI1MjNdXSxbWzEzMTA2LDEzMTA2XSxcIm1hcHBlZFwiLFsxMjUwMSwxMjQ0OSwxMjUyMSwxMjQ4MywxMjQ4OV1dLFtbMTMxMDcsMTMxMDddLFwibWFwcGVkXCIsWzEyNTAxLDEyNDUxLDEyNTQwLDEyNDg4XV0sW1sxMzEwOCwxMzEwOF0sXCJtYXBwZWRcIixbMTI1MDIsMTI0ODMsMTI0NzEsMTI0NTUsMTI1MjNdXSxbWzEzMTA5LDEzMTA5XSxcIm1hcHBlZFwiLFsxMjUwMSwxMjUyMSwxMjUzMV1dLFtbMTMxMTAsMTMxMTBdLFwibWFwcGVkXCIsWzEyNTA0LDEyNDYzLDEyNDc5LDEyNTQwLDEyNTIzXV0sW1sxMzExMSwxMzExMV0sXCJtYXBwZWRcIixbMTI1MDYsMTI0NzddXSxbWzEzMTEyLDEzMTEyXSxcIm1hcHBlZFwiLFsxMjUwNiwxMjQ5MSwxMjQ5OF1dLFtbMTMxMTMsMTMxMTNdLFwibWFwcGVkXCIsWzEyNTA0LDEyNTIzLDEyNDg0XV0sW1sxMzExNCwxMzExNF0sXCJtYXBwZWRcIixbMTI1MDYsMTI1MzEsMTI0NzNdXSxbWzEzMTE1LDEzMTE1XSxcIm1hcHBlZFwiLFsxMjUwNiwxMjU0MCwxMjQ3Ml1dLFtbMTMxMTYsMTMxMTZdLFwibWFwcGVkXCIsWzEyNTA1LDEyNTQwLDEyNDc5XV0sW1sxMzExNywxMzExN10sXCJtYXBwZWRcIixbMTI1MDksMTI0NTIsMTI1MzEsMTI0ODhdXSxbWzEzMTE4LDEzMTE4XSxcIm1hcHBlZFwiLFsxMjUwOCwxMjUyMywxMjQ4OF1dLFtbMTMxMTksMTMxMTldLFwibWFwcGVkXCIsWzEyNTA3LDEyNTMxXV0sW1sxMzEyMCwxMzEyMF0sXCJtYXBwZWRcIixbMTI1MDksMTI1MzEsMTI0ODldXSxbWzEzMTIxLDEzMTIxXSxcIm1hcHBlZFwiLFsxMjUwNywxMjU0MCwxMjUyM11dLFtbMTMxMjIsMTMxMjJdLFwibWFwcGVkXCIsWzEyNTA3LDEyNTQwLDEyNTMxXV0sW1sxMzEyMywxMzEyM10sXCJtYXBwZWRcIixbMTI1MTAsMTI0NTIsMTI0NjMsMTI1MjVdXSxbWzEzMTI0LDEzMTI0XSxcIm1hcHBlZFwiLFsxMjUxMCwxMjQ1MiwxMjUyM11dLFtbMTMxMjUsMTMxMjVdLFwibWFwcGVkXCIsWzEyNTEwLDEyNDgzLDEyNDk1XV0sW1sxMzEyNiwxMzEyNl0sXCJtYXBwZWRcIixbMTI1MTAsMTI1MjMsMTI0NjNdXSxbWzEzMTI3LDEzMTI3XSxcIm1hcHBlZFwiLFsxMjUxMCwxMjUzMSwxMjQ3MSwxMjUxOSwxMjUzMV1dLFtbMTMxMjgsMTMxMjhdLFwibWFwcGVkXCIsWzEyNTExLDEyNDYzLDEyNTI1LDEyNTMxXV0sW1sxMzEyOSwxMzEyOV0sXCJtYXBwZWRcIixbMTI1MTEsMTI1MjJdXSxbWzEzMTMwLDEzMTMwXSxcIm1hcHBlZFwiLFsxMjUxMSwxMjUyMiwxMjQ5NiwxMjU0MCwxMjUyM11dLFtbMTMxMzEsMTMxMzFdLFwibWFwcGVkXCIsWzEyNTEzLDEyNDYwXV0sW1sxMzEzMiwxMzEzMl0sXCJtYXBwZWRcIixbMTI1MTMsMTI0NjAsMTI0ODgsMTI1MzFdXSxbWzEzMTMzLDEzMTMzXSxcIm1hcHBlZFwiLFsxMjUxMywxMjU0MCwxMjQ4OCwxMjUyM11dLFtbMTMxMzQsMTMxMzRdLFwibWFwcGVkXCIsWzEyNTE2LDEyNTQwLDEyNDg5XV0sW1sxMzEzNSwxMzEzNV0sXCJtYXBwZWRcIixbMTI1MTYsMTI1NDAsMTI1MjNdXSxbWzEzMTM2LDEzMTM2XSxcIm1hcHBlZFwiLFsxMjUxOCwxMjQ1MCwxMjUzMV1dLFtbMTMxMzcsMTMxMzddLFwibWFwcGVkXCIsWzEyNTIyLDEyNDgzLDEyNDg4LDEyNTIzXV0sW1sxMzEzOCwxMzEzOF0sXCJtYXBwZWRcIixbMTI1MjIsMTI1MjFdXSxbWzEzMTM5LDEzMTM5XSxcIm1hcHBlZFwiLFsxMjUyMywxMjUwMCwxMjU0MF1dLFtbMTMxNDAsMTMxNDBdLFwibWFwcGVkXCIsWzEyNTIzLDEyNTQwLDEyNTAyLDEyNTIzXV0sW1sxMzE0MSwxMzE0MV0sXCJtYXBwZWRcIixbMTI1MjQsMTI1MTJdXSxbWzEzMTQyLDEzMTQyXSxcIm1hcHBlZFwiLFsxMjUyNCwxMjUzMSwxMjQ4OCwxMjQ2NiwxMjUzMV1dLFtbMTMxNDMsMTMxNDNdLFwibWFwcGVkXCIsWzEyNTI3LDEyNDgzLDEyNDg4XV0sW1sxMzE0NCwxMzE0NF0sXCJtYXBwZWRcIixbNDgsMjg4NTddXSxbWzEzMTQ1LDEzMTQ1XSxcIm1hcHBlZFwiLFs0OSwyODg1N11dLFtbMTMxNDYsMTMxNDZdLFwibWFwcGVkXCIsWzUwLDI4ODU3XV0sW1sxMzE0NywxMzE0N10sXCJtYXBwZWRcIixbNTEsMjg4NTddXSxbWzEzMTQ4LDEzMTQ4XSxcIm1hcHBlZFwiLFs1MiwyODg1N11dLFtbMTMxNDksMTMxNDldLFwibWFwcGVkXCIsWzUzLDI4ODU3XV0sW1sxMzE1MCwxMzE1MF0sXCJtYXBwZWRcIixbNTQsMjg4NTddXSxbWzEzMTUxLDEzMTUxXSxcIm1hcHBlZFwiLFs1NSwyODg1N11dLFtbMTMxNTIsMTMxNTJdLFwibWFwcGVkXCIsWzU2LDI4ODU3XV0sW1sxMzE1MywxMzE1M10sXCJtYXBwZWRcIixbNTcsMjg4NTddXSxbWzEzMTU0LDEzMTU0XSxcIm1hcHBlZFwiLFs0OSw0OCwyODg1N11dLFtbMTMxNTUsMTMxNTVdLFwibWFwcGVkXCIsWzQ5LDQ5LDI4ODU3XV0sW1sxMzE1NiwxMzE1Nl0sXCJtYXBwZWRcIixbNDksNTAsMjg4NTddXSxbWzEzMTU3LDEzMTU3XSxcIm1hcHBlZFwiLFs0OSw1MSwyODg1N11dLFtbMTMxNTgsMTMxNThdLFwibWFwcGVkXCIsWzQ5LDUyLDI4ODU3XV0sW1sxMzE1OSwxMzE1OV0sXCJtYXBwZWRcIixbNDksNTMsMjg4NTddXSxbWzEzMTYwLDEzMTYwXSxcIm1hcHBlZFwiLFs0OSw1NCwyODg1N11dLFtbMTMxNjEsMTMxNjFdLFwibWFwcGVkXCIsWzQ5LDU1LDI4ODU3XV0sW1sxMzE2MiwxMzE2Ml0sXCJtYXBwZWRcIixbNDksNTYsMjg4NTddXSxbWzEzMTYzLDEzMTYzXSxcIm1hcHBlZFwiLFs0OSw1NywyODg1N11dLFtbMTMxNjQsMTMxNjRdLFwibWFwcGVkXCIsWzUwLDQ4LDI4ODU3XV0sW1sxMzE2NSwxMzE2NV0sXCJtYXBwZWRcIixbNTAsNDksMjg4NTddXSxbWzEzMTY2LDEzMTY2XSxcIm1hcHBlZFwiLFs1MCw1MCwyODg1N11dLFtbMTMxNjcsMTMxNjddLFwibWFwcGVkXCIsWzUwLDUxLDI4ODU3XV0sW1sxMzE2OCwxMzE2OF0sXCJtYXBwZWRcIixbNTAsNTIsMjg4NTddXSxbWzEzMTY5LDEzMTY5XSxcIm1hcHBlZFwiLFsxMDQsMTEyLDk3XV0sW1sxMzE3MCwxMzE3MF0sXCJtYXBwZWRcIixbMTAwLDk3XV0sW1sxMzE3MSwxMzE3MV0sXCJtYXBwZWRcIixbOTcsMTE3XV0sW1sxMzE3MiwxMzE3Ml0sXCJtYXBwZWRcIixbOTgsOTcsMTE0XV0sW1sxMzE3MywxMzE3M10sXCJtYXBwZWRcIixbMTExLDExOF1dLFtbMTMxNzQsMTMxNzRdLFwibWFwcGVkXCIsWzExMiw5OV1dLFtbMTMxNzUsMTMxNzVdLFwibWFwcGVkXCIsWzEwMCwxMDldXSxbWzEzMTc2LDEzMTc2XSxcIm1hcHBlZFwiLFsxMDAsMTA5LDUwXV0sW1sxMzE3NywxMzE3N10sXCJtYXBwZWRcIixbMTAwLDEwOSw1MV1dLFtbMTMxNzgsMTMxNzhdLFwibWFwcGVkXCIsWzEwNSwxMTddXSxbWzEzMTc5LDEzMTc5XSxcIm1hcHBlZFwiLFsyNDE3OSwyNTEwNF1dLFtbMTMxODAsMTMxODBdLFwibWFwcGVkXCIsWzI2MTU3LDIxNjQ0XV0sW1sxMzE4MSwxMzE4MV0sXCJtYXBwZWRcIixbMjI4MjMsMjc0OTFdXSxbWzEzMTgyLDEzMTgyXSxcIm1hcHBlZFwiLFsyNjEyNiwyNzgzNV1dLFtbMTMxODMsMTMxODNdLFwibWFwcGVkXCIsWzI2NjY2LDI0MzM1LDIwMjUwLDMxMDM4XV0sW1sxMzE4NCwxMzE4NF0sXCJtYXBwZWRcIixbMTEyLDk3XV0sW1sxMzE4NSwxMzE4NV0sXCJtYXBwZWRcIixbMTEwLDk3XV0sW1sxMzE4NiwxMzE4Nl0sXCJtYXBwZWRcIixbOTU2LDk3XV0sW1sxMzE4NywxMzE4N10sXCJtYXBwZWRcIixbMTA5LDk3XV0sW1sxMzE4OCwxMzE4OF0sXCJtYXBwZWRcIixbMTA3LDk3XV0sW1sxMzE4OSwxMzE4OV0sXCJtYXBwZWRcIixbMTA3LDk4XV0sW1sxMzE5MCwxMzE5MF0sXCJtYXBwZWRcIixbMTA5LDk4XV0sW1sxMzE5MSwxMzE5MV0sXCJtYXBwZWRcIixbMTAzLDk4XV0sW1sxMzE5MiwxMzE5Ml0sXCJtYXBwZWRcIixbOTksOTcsMTA4XV0sW1sxMzE5MywxMzE5M10sXCJtYXBwZWRcIixbMTA3LDk5LDk3LDEwOF1dLFtbMTMxOTQsMTMxOTRdLFwibWFwcGVkXCIsWzExMiwxMDJdXSxbWzEzMTk1LDEzMTk1XSxcIm1hcHBlZFwiLFsxMTAsMTAyXV0sW1sxMzE5NiwxMzE5Nl0sXCJtYXBwZWRcIixbOTU2LDEwMl1dLFtbMTMxOTcsMTMxOTddLFwibWFwcGVkXCIsWzk1NiwxMDNdXSxbWzEzMTk4LDEzMTk4XSxcIm1hcHBlZFwiLFsxMDksMTAzXV0sW1sxMzE5OSwxMzE5OV0sXCJtYXBwZWRcIixbMTA3LDEwM11dLFtbMTMyMDAsMTMyMDBdLFwibWFwcGVkXCIsWzEwNCwxMjJdXSxbWzEzMjAxLDEzMjAxXSxcIm1hcHBlZFwiLFsxMDcsMTA0LDEyMl1dLFtbMTMyMDIsMTMyMDJdLFwibWFwcGVkXCIsWzEwOSwxMDQsMTIyXV0sW1sxMzIwMywxMzIwM10sXCJtYXBwZWRcIixbMTAzLDEwNCwxMjJdXSxbWzEzMjA0LDEzMjA0XSxcIm1hcHBlZFwiLFsxMTYsMTA0LDEyMl1dLFtbMTMyMDUsMTMyMDVdLFwibWFwcGVkXCIsWzk1NiwxMDhdXSxbWzEzMjA2LDEzMjA2XSxcIm1hcHBlZFwiLFsxMDksMTA4XV0sW1sxMzIwNywxMzIwN10sXCJtYXBwZWRcIixbMTAwLDEwOF1dLFtbMTMyMDgsMTMyMDhdLFwibWFwcGVkXCIsWzEwNywxMDhdXSxbWzEzMjA5LDEzMjA5XSxcIm1hcHBlZFwiLFsxMDIsMTA5XV0sW1sxMzIxMCwxMzIxMF0sXCJtYXBwZWRcIixbMTEwLDEwOV1dLFtbMTMyMTEsMTMyMTFdLFwibWFwcGVkXCIsWzk1NiwxMDldXSxbWzEzMjEyLDEzMjEyXSxcIm1hcHBlZFwiLFsxMDksMTA5XV0sW1sxMzIxMywxMzIxM10sXCJtYXBwZWRcIixbOTksMTA5XV0sW1sxMzIxNCwxMzIxNF0sXCJtYXBwZWRcIixbMTA3LDEwOV1dLFtbMTMyMTUsMTMyMTVdLFwibWFwcGVkXCIsWzEwOSwxMDksNTBdXSxbWzEzMjE2LDEzMjE2XSxcIm1hcHBlZFwiLFs5OSwxMDksNTBdXSxbWzEzMjE3LDEzMjE3XSxcIm1hcHBlZFwiLFsxMDksNTBdXSxbWzEzMjE4LDEzMjE4XSxcIm1hcHBlZFwiLFsxMDcsMTA5LDUwXV0sW1sxMzIxOSwxMzIxOV0sXCJtYXBwZWRcIixbMTA5LDEwOSw1MV1dLFtbMTMyMjAsMTMyMjBdLFwibWFwcGVkXCIsWzk5LDEwOSw1MV1dLFtbMTMyMjEsMTMyMjFdLFwibWFwcGVkXCIsWzEwOSw1MV1dLFtbMTMyMjIsMTMyMjJdLFwibWFwcGVkXCIsWzEwNywxMDksNTFdXSxbWzEzMjIzLDEzMjIzXSxcIm1hcHBlZFwiLFsxMDksODcyNSwxMTVdXSxbWzEzMjI0LDEzMjI0XSxcIm1hcHBlZFwiLFsxMDksODcyNSwxMTUsNTBdXSxbWzEzMjI1LDEzMjI1XSxcIm1hcHBlZFwiLFsxMTIsOTddXSxbWzEzMjI2LDEzMjI2XSxcIm1hcHBlZFwiLFsxMDcsMTEyLDk3XV0sW1sxMzIyNywxMzIyN10sXCJtYXBwZWRcIixbMTA5LDExMiw5N11dLFtbMTMyMjgsMTMyMjhdLFwibWFwcGVkXCIsWzEwMywxMTIsOTddXSxbWzEzMjI5LDEzMjI5XSxcIm1hcHBlZFwiLFsxMTQsOTcsMTAwXV0sW1sxMzIzMCwxMzIzMF0sXCJtYXBwZWRcIixbMTE0LDk3LDEwMCw4NzI1LDExNV1dLFtbMTMyMzEsMTMyMzFdLFwibWFwcGVkXCIsWzExNCw5NywxMDAsODcyNSwxMTUsNTBdXSxbWzEzMjMyLDEzMjMyXSxcIm1hcHBlZFwiLFsxMTIsMTE1XV0sW1sxMzIzMywxMzIzM10sXCJtYXBwZWRcIixbMTEwLDExNV1dLFtbMTMyMzQsMTMyMzRdLFwibWFwcGVkXCIsWzk1NiwxMTVdXSxbWzEzMjM1LDEzMjM1XSxcIm1hcHBlZFwiLFsxMDksMTE1XV0sW1sxMzIzNiwxMzIzNl0sXCJtYXBwZWRcIixbMTEyLDExOF1dLFtbMTMyMzcsMTMyMzddLFwibWFwcGVkXCIsWzExMCwxMThdXSxbWzEzMjM4LDEzMjM4XSxcIm1hcHBlZFwiLFs5NTYsMTE4XV0sW1sxMzIzOSwxMzIzOV0sXCJtYXBwZWRcIixbMTA5LDExOF1dLFtbMTMyNDAsMTMyNDBdLFwibWFwcGVkXCIsWzEwNywxMThdXSxbWzEzMjQxLDEzMjQxXSxcIm1hcHBlZFwiLFsxMDksMTE4XV0sW1sxMzI0MiwxMzI0Ml0sXCJtYXBwZWRcIixbMTEyLDExOV1dLFtbMTMyNDMsMTMyNDNdLFwibWFwcGVkXCIsWzExMCwxMTldXSxbWzEzMjQ0LDEzMjQ0XSxcIm1hcHBlZFwiLFs5NTYsMTE5XV0sW1sxMzI0NSwxMzI0NV0sXCJtYXBwZWRcIixbMTA5LDExOV1dLFtbMTMyNDYsMTMyNDZdLFwibWFwcGVkXCIsWzEwNywxMTldXSxbWzEzMjQ3LDEzMjQ3XSxcIm1hcHBlZFwiLFsxMDksMTE5XV0sW1sxMzI0OCwxMzI0OF0sXCJtYXBwZWRcIixbMTA3LDk2OV1dLFtbMTMyNDksMTMyNDldLFwibWFwcGVkXCIsWzEwOSw5NjldXSxbWzEzMjUwLDEzMjUwXSxcImRpc2FsbG93ZWRcIl0sW1sxMzI1MSwxMzI1MV0sXCJtYXBwZWRcIixbOTgsMTEzXV0sW1sxMzI1MiwxMzI1Ml0sXCJtYXBwZWRcIixbOTksOTldXSxbWzEzMjUzLDEzMjUzXSxcIm1hcHBlZFwiLFs5OSwxMDBdXSxbWzEzMjU0LDEzMjU0XSxcIm1hcHBlZFwiLFs5OSw4NzI1LDEwNywxMDNdXSxbWzEzMjU1LDEzMjU1XSxcImRpc2FsbG93ZWRcIl0sW1sxMzI1NiwxMzI1Nl0sXCJtYXBwZWRcIixbMTAwLDk4XV0sW1sxMzI1NywxMzI1N10sXCJtYXBwZWRcIixbMTAzLDEyMV1dLFtbMTMyNTgsMTMyNThdLFwibWFwcGVkXCIsWzEwNCw5N11dLFtbMTMyNTksMTMyNTldLFwibWFwcGVkXCIsWzEwNCwxMTJdXSxbWzEzMjYwLDEzMjYwXSxcIm1hcHBlZFwiLFsxMDUsMTEwXV0sW1sxMzI2MSwxMzI2MV0sXCJtYXBwZWRcIixbMTA3LDEwN11dLFtbMTMyNjIsMTMyNjJdLFwibWFwcGVkXCIsWzEwNywxMDldXSxbWzEzMjYzLDEzMjYzXSxcIm1hcHBlZFwiLFsxMDcsMTE2XV0sW1sxMzI2NCwxMzI2NF0sXCJtYXBwZWRcIixbMTA4LDEwOV1dLFtbMTMyNjUsMTMyNjVdLFwibWFwcGVkXCIsWzEwOCwxMTBdXSxbWzEzMjY2LDEzMjY2XSxcIm1hcHBlZFwiLFsxMDgsMTExLDEwM11dLFtbMTMyNjcsMTMyNjddLFwibWFwcGVkXCIsWzEwOCwxMjBdXSxbWzEzMjY4LDEzMjY4XSxcIm1hcHBlZFwiLFsxMDksOThdXSxbWzEzMjY5LDEzMjY5XSxcIm1hcHBlZFwiLFsxMDksMTA1LDEwOF1dLFtbMTMyNzAsMTMyNzBdLFwibWFwcGVkXCIsWzEwOSwxMTEsMTA4XV0sW1sxMzI3MSwxMzI3MV0sXCJtYXBwZWRcIixbMTEyLDEwNF1dLFtbMTMyNzIsMTMyNzJdLFwiZGlzYWxsb3dlZFwiXSxbWzEzMjczLDEzMjczXSxcIm1hcHBlZFwiLFsxMTIsMTEyLDEwOV1dLFtbMTMyNzQsMTMyNzRdLFwibWFwcGVkXCIsWzExMiwxMTRdXSxbWzEzMjc1LDEzMjc1XSxcIm1hcHBlZFwiLFsxMTUsMTE0XV0sW1sxMzI3NiwxMzI3Nl0sXCJtYXBwZWRcIixbMTE1LDExOF1dLFtbMTMyNzcsMTMyNzddLFwibWFwcGVkXCIsWzExOSw5OF1dLFtbMTMyNzgsMTMyNzhdLFwibWFwcGVkXCIsWzExOCw4NzI1LDEwOV1dLFtbMTMyNzksMTMyNzldLFwibWFwcGVkXCIsWzk3LDg3MjUsMTA5XV0sW1sxMzI4MCwxMzI4MF0sXCJtYXBwZWRcIixbNDksMjYwODVdXSxbWzEzMjgxLDEzMjgxXSxcIm1hcHBlZFwiLFs1MCwyNjA4NV1dLFtbMTMyODIsMTMyODJdLFwibWFwcGVkXCIsWzUxLDI2MDg1XV0sW1sxMzI4MywxMzI4M10sXCJtYXBwZWRcIixbNTIsMjYwODVdXSxbWzEzMjg0LDEzMjg0XSxcIm1hcHBlZFwiLFs1MywyNjA4NV1dLFtbMTMyODUsMTMyODVdLFwibWFwcGVkXCIsWzU0LDI2MDg1XV0sW1sxMzI4NiwxMzI4Nl0sXCJtYXBwZWRcIixbNTUsMjYwODVdXSxbWzEzMjg3LDEzMjg3XSxcIm1hcHBlZFwiLFs1NiwyNjA4NV1dLFtbMTMyODgsMTMyODhdLFwibWFwcGVkXCIsWzU3LDI2MDg1XV0sW1sxMzI4OSwxMzI4OV0sXCJtYXBwZWRcIixbNDksNDgsMjYwODVdXSxbWzEzMjkwLDEzMjkwXSxcIm1hcHBlZFwiLFs0OSw0OSwyNjA4NV1dLFtbMTMyOTEsMTMyOTFdLFwibWFwcGVkXCIsWzQ5LDUwLDI2MDg1XV0sW1sxMzI5MiwxMzI5Ml0sXCJtYXBwZWRcIixbNDksNTEsMjYwODVdXSxbWzEzMjkzLDEzMjkzXSxcIm1hcHBlZFwiLFs0OSw1MiwyNjA4NV1dLFtbMTMyOTQsMTMyOTRdLFwibWFwcGVkXCIsWzQ5LDUzLDI2MDg1XV0sW1sxMzI5NSwxMzI5NV0sXCJtYXBwZWRcIixbNDksNTQsMjYwODVdXSxbWzEzMjk2LDEzMjk2XSxcIm1hcHBlZFwiLFs0OSw1NSwyNjA4NV1dLFtbMTMyOTcsMTMyOTddLFwibWFwcGVkXCIsWzQ5LDU2LDI2MDg1XV0sW1sxMzI5OCwxMzI5OF0sXCJtYXBwZWRcIixbNDksNTcsMjYwODVdXSxbWzEzMjk5LDEzMjk5XSxcIm1hcHBlZFwiLFs1MCw0OCwyNjA4NV1dLFtbMTMzMDAsMTMzMDBdLFwibWFwcGVkXCIsWzUwLDQ5LDI2MDg1XV0sW1sxMzMwMSwxMzMwMV0sXCJtYXBwZWRcIixbNTAsNTAsMjYwODVdXSxbWzEzMzAyLDEzMzAyXSxcIm1hcHBlZFwiLFs1MCw1MSwyNjA4NV1dLFtbMTMzMDMsMTMzMDNdLFwibWFwcGVkXCIsWzUwLDUyLDI2MDg1XV0sW1sxMzMwNCwxMzMwNF0sXCJtYXBwZWRcIixbNTAsNTMsMjYwODVdXSxbWzEzMzA1LDEzMzA1XSxcIm1hcHBlZFwiLFs1MCw1NCwyNjA4NV1dLFtbMTMzMDYsMTMzMDZdLFwibWFwcGVkXCIsWzUwLDU1LDI2MDg1XV0sW1sxMzMwNywxMzMwN10sXCJtYXBwZWRcIixbNTAsNTYsMjYwODVdXSxbWzEzMzA4LDEzMzA4XSxcIm1hcHBlZFwiLFs1MCw1NywyNjA4NV1dLFtbMTMzMDksMTMzMDldLFwibWFwcGVkXCIsWzUxLDQ4LDI2MDg1XV0sW1sxMzMxMCwxMzMxMF0sXCJtYXBwZWRcIixbNTEsNDksMjYwODVdXSxbWzEzMzExLDEzMzExXSxcIm1hcHBlZFwiLFsxMDMsOTcsMTA4XV0sW1sxMzMxMiwxOTg5M10sXCJ2YWxpZFwiXSxbWzE5ODk0LDE5OTAzXSxcImRpc2FsbG93ZWRcIl0sW1sxOTkwNCwxOTk2N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTk5NjgsNDA4NjldLFwidmFsaWRcIl0sW1s0MDg3MCw0MDg5MV0sXCJ2YWxpZFwiXSxbWzQwODkyLDQwODk5XSxcInZhbGlkXCJdLFtbNDA5MDAsNDA5MDddLFwidmFsaWRcIl0sW1s0MDkwOCw0MDkwOF0sXCJ2YWxpZFwiXSxbWzQwOTA5LDQwOTE3XSxcInZhbGlkXCJdLFtbNDA5MTgsNDA5NTldLFwiZGlzYWxsb3dlZFwiXSxbWzQwOTYwLDQyMTI0XSxcInZhbGlkXCJdLFtbNDIxMjUsNDIxMjddLFwiZGlzYWxsb3dlZFwiXSxbWzQyMTI4LDQyMTQ1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0MjE0Niw0MjE0N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDIxNDgsNDIxNjNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQyMTY0LDQyMTY0XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0MjE2NSw0MjE3Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDIxNzcsNDIxNzddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQyMTc4LDQyMTgwXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0MjE4MSw0MjE4MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDIxODIsNDIxODJdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQyMTgzLDQyMTkxXSxcImRpc2FsbG93ZWRcIl0sW1s0MjE5Miw0MjIzN10sXCJ2YWxpZFwiXSxbWzQyMjM4LDQyMjM5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0MjI0MCw0MjUwOF0sXCJ2YWxpZFwiXSxbWzQyNTA5LDQyNTExXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0MjUxMiw0MjUzOV0sXCJ2YWxpZFwiXSxbWzQyNTQwLDQyNTU5XSxcImRpc2FsbG93ZWRcIl0sW1s0MjU2MCw0MjU2MF0sXCJtYXBwZWRcIixbNDI1NjFdXSxbWzQyNTYxLDQyNTYxXSxcInZhbGlkXCJdLFtbNDI1NjIsNDI1NjJdLFwibWFwcGVkXCIsWzQyNTYzXV0sW1s0MjU2Myw0MjU2M10sXCJ2YWxpZFwiXSxbWzQyNTY0LDQyNTY0XSxcIm1hcHBlZFwiLFs0MjU2NV1dLFtbNDI1NjUsNDI1NjVdLFwidmFsaWRcIl0sW1s0MjU2Niw0MjU2Nl0sXCJtYXBwZWRcIixbNDI1NjddXSxbWzQyNTY3LDQyNTY3XSxcInZhbGlkXCJdLFtbNDI1NjgsNDI1NjhdLFwibWFwcGVkXCIsWzQyNTY5XV0sW1s0MjU2OSw0MjU2OV0sXCJ2YWxpZFwiXSxbWzQyNTcwLDQyNTcwXSxcIm1hcHBlZFwiLFs0MjU3MV1dLFtbNDI1NzEsNDI1NzFdLFwidmFsaWRcIl0sW1s0MjU3Miw0MjU3Ml0sXCJtYXBwZWRcIixbNDI1NzNdXSxbWzQyNTczLDQyNTczXSxcInZhbGlkXCJdLFtbNDI1NzQsNDI1NzRdLFwibWFwcGVkXCIsWzQyNTc1XV0sW1s0MjU3NSw0MjU3NV0sXCJ2YWxpZFwiXSxbWzQyNTc2LDQyNTc2XSxcIm1hcHBlZFwiLFs0MjU3N11dLFtbNDI1NzcsNDI1NzddLFwidmFsaWRcIl0sW1s0MjU3OCw0MjU3OF0sXCJtYXBwZWRcIixbNDI1NzldXSxbWzQyNTc5LDQyNTc5XSxcInZhbGlkXCJdLFtbNDI1ODAsNDI1ODBdLFwibWFwcGVkXCIsWzQyNTgxXV0sW1s0MjU4MSw0MjU4MV0sXCJ2YWxpZFwiXSxbWzQyNTgyLDQyNTgyXSxcIm1hcHBlZFwiLFs0MjU4M11dLFtbNDI1ODMsNDI1ODNdLFwidmFsaWRcIl0sW1s0MjU4NCw0MjU4NF0sXCJtYXBwZWRcIixbNDI1ODVdXSxbWzQyNTg1LDQyNTg1XSxcInZhbGlkXCJdLFtbNDI1ODYsNDI1ODZdLFwibWFwcGVkXCIsWzQyNTg3XV0sW1s0MjU4Nyw0MjU4N10sXCJ2YWxpZFwiXSxbWzQyNTg4LDQyNTg4XSxcIm1hcHBlZFwiLFs0MjU4OV1dLFtbNDI1ODksNDI1ODldLFwidmFsaWRcIl0sW1s0MjU5MCw0MjU5MF0sXCJtYXBwZWRcIixbNDI1OTFdXSxbWzQyNTkxLDQyNTkxXSxcInZhbGlkXCJdLFtbNDI1OTIsNDI1OTJdLFwibWFwcGVkXCIsWzQyNTkzXV0sW1s0MjU5Myw0MjU5M10sXCJ2YWxpZFwiXSxbWzQyNTk0LDQyNTk0XSxcIm1hcHBlZFwiLFs0MjU5NV1dLFtbNDI1OTUsNDI1OTVdLFwidmFsaWRcIl0sW1s0MjU5Niw0MjU5Nl0sXCJtYXBwZWRcIixbNDI1OTddXSxbWzQyNTk3LDQyNTk3XSxcInZhbGlkXCJdLFtbNDI1OTgsNDI1OThdLFwibWFwcGVkXCIsWzQyNTk5XV0sW1s0MjU5OSw0MjU5OV0sXCJ2YWxpZFwiXSxbWzQyNjAwLDQyNjAwXSxcIm1hcHBlZFwiLFs0MjYwMV1dLFtbNDI2MDEsNDI2MDFdLFwidmFsaWRcIl0sW1s0MjYwMiw0MjYwMl0sXCJtYXBwZWRcIixbNDI2MDNdXSxbWzQyNjAzLDQyNjAzXSxcInZhbGlkXCJdLFtbNDI2MDQsNDI2MDRdLFwibWFwcGVkXCIsWzQyNjA1XV0sW1s0MjYwNSw0MjYwN10sXCJ2YWxpZFwiXSxbWzQyNjA4LDQyNjExXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0MjYxMiw0MjYxOV0sXCJ2YWxpZFwiXSxbWzQyNjIwLDQyNjIxXSxcInZhbGlkXCJdLFtbNDI2MjIsNDI2MjJdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQyNjIzLDQyNjIzXSxcInZhbGlkXCJdLFtbNDI2MjQsNDI2MjRdLFwibWFwcGVkXCIsWzQyNjI1XV0sW1s0MjYyNSw0MjYyNV0sXCJ2YWxpZFwiXSxbWzQyNjI2LDQyNjI2XSxcIm1hcHBlZFwiLFs0MjYyN11dLFtbNDI2MjcsNDI2MjddLFwidmFsaWRcIl0sW1s0MjYyOCw0MjYyOF0sXCJtYXBwZWRcIixbNDI2MjldXSxbWzQyNjI5LDQyNjI5XSxcInZhbGlkXCJdLFtbNDI2MzAsNDI2MzBdLFwibWFwcGVkXCIsWzQyNjMxXV0sW1s0MjYzMSw0MjYzMV0sXCJ2YWxpZFwiXSxbWzQyNjMyLDQyNjMyXSxcIm1hcHBlZFwiLFs0MjYzM11dLFtbNDI2MzMsNDI2MzNdLFwidmFsaWRcIl0sW1s0MjYzNCw0MjYzNF0sXCJtYXBwZWRcIixbNDI2MzVdXSxbWzQyNjM1LDQyNjM1XSxcInZhbGlkXCJdLFtbNDI2MzYsNDI2MzZdLFwibWFwcGVkXCIsWzQyNjM3XV0sW1s0MjYzNyw0MjYzN10sXCJ2YWxpZFwiXSxbWzQyNjM4LDQyNjM4XSxcIm1hcHBlZFwiLFs0MjYzOV1dLFtbNDI2MzksNDI2MzldLFwidmFsaWRcIl0sW1s0MjY0MCw0MjY0MF0sXCJtYXBwZWRcIixbNDI2NDFdXSxbWzQyNjQxLDQyNjQxXSxcInZhbGlkXCJdLFtbNDI2NDIsNDI2NDJdLFwibWFwcGVkXCIsWzQyNjQzXV0sW1s0MjY0Myw0MjY0M10sXCJ2YWxpZFwiXSxbWzQyNjQ0LDQyNjQ0XSxcIm1hcHBlZFwiLFs0MjY0NV1dLFtbNDI2NDUsNDI2NDVdLFwidmFsaWRcIl0sW1s0MjY0Niw0MjY0Nl0sXCJtYXBwZWRcIixbNDI2NDddXSxbWzQyNjQ3LDQyNjQ3XSxcInZhbGlkXCJdLFtbNDI2NDgsNDI2NDhdLFwibWFwcGVkXCIsWzQyNjQ5XV0sW1s0MjY0OSw0MjY0OV0sXCJ2YWxpZFwiXSxbWzQyNjUwLDQyNjUwXSxcIm1hcHBlZFwiLFs0MjY1MV1dLFtbNDI2NTEsNDI2NTFdLFwidmFsaWRcIl0sW1s0MjY1Miw0MjY1Ml0sXCJtYXBwZWRcIixbMTA5OF1dLFtbNDI2NTMsNDI2NTNdLFwibWFwcGVkXCIsWzExMDBdXSxbWzQyNjU0LDQyNjU0XSxcInZhbGlkXCJdLFtbNDI2NTUsNDI2NTVdLFwidmFsaWRcIl0sW1s0MjY1Niw0MjcyNV0sXCJ2YWxpZFwiXSxbWzQyNzI2LDQyNzM1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0MjczNiw0MjczN10sXCJ2YWxpZFwiXSxbWzQyNzM4LDQyNzQzXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0Mjc0NCw0Mjc1MV0sXCJkaXNhbGxvd2VkXCJdLFtbNDI3NTIsNDI3NzRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQyNzc1LDQyNzc4XSxcInZhbGlkXCJdLFtbNDI3NzksNDI3ODNdLFwidmFsaWRcIl0sW1s0Mjc4NCw0Mjc4NV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDI3ODYsNDI3ODZdLFwibWFwcGVkXCIsWzQyNzg3XV0sW1s0Mjc4Nyw0Mjc4N10sXCJ2YWxpZFwiXSxbWzQyNzg4LDQyNzg4XSxcIm1hcHBlZFwiLFs0Mjc4OV1dLFtbNDI3ODksNDI3ODldLFwidmFsaWRcIl0sW1s0Mjc5MCw0Mjc5MF0sXCJtYXBwZWRcIixbNDI3OTFdXSxbWzQyNzkxLDQyNzkxXSxcInZhbGlkXCJdLFtbNDI3OTIsNDI3OTJdLFwibWFwcGVkXCIsWzQyNzkzXV0sW1s0Mjc5Myw0Mjc5M10sXCJ2YWxpZFwiXSxbWzQyNzk0LDQyNzk0XSxcIm1hcHBlZFwiLFs0Mjc5NV1dLFtbNDI3OTUsNDI3OTVdLFwidmFsaWRcIl0sW1s0Mjc5Niw0Mjc5Nl0sXCJtYXBwZWRcIixbNDI3OTddXSxbWzQyNzk3LDQyNzk3XSxcInZhbGlkXCJdLFtbNDI3OTgsNDI3OThdLFwibWFwcGVkXCIsWzQyNzk5XV0sW1s0Mjc5OSw0MjgwMV0sXCJ2YWxpZFwiXSxbWzQyODAyLDQyODAyXSxcIm1hcHBlZFwiLFs0MjgwM11dLFtbNDI4MDMsNDI4MDNdLFwidmFsaWRcIl0sW1s0MjgwNCw0MjgwNF0sXCJtYXBwZWRcIixbNDI4MDVdXSxbWzQyODA1LDQyODA1XSxcInZhbGlkXCJdLFtbNDI4MDYsNDI4MDZdLFwibWFwcGVkXCIsWzQyODA3XV0sW1s0MjgwNyw0MjgwN10sXCJ2YWxpZFwiXSxbWzQyODA4LDQyODA4XSxcIm1hcHBlZFwiLFs0MjgwOV1dLFtbNDI4MDksNDI4MDldLFwidmFsaWRcIl0sW1s0MjgxMCw0MjgxMF0sXCJtYXBwZWRcIixbNDI4MTFdXSxbWzQyODExLDQyODExXSxcInZhbGlkXCJdLFtbNDI4MTIsNDI4MTJdLFwibWFwcGVkXCIsWzQyODEzXV0sW1s0MjgxMyw0MjgxM10sXCJ2YWxpZFwiXSxbWzQyODE0LDQyODE0XSxcIm1hcHBlZFwiLFs0MjgxNV1dLFtbNDI4MTUsNDI4MTVdLFwidmFsaWRcIl0sW1s0MjgxNiw0MjgxNl0sXCJtYXBwZWRcIixbNDI4MTddXSxbWzQyODE3LDQyODE3XSxcInZhbGlkXCJdLFtbNDI4MTgsNDI4MThdLFwibWFwcGVkXCIsWzQyODE5XV0sW1s0MjgxOSw0MjgxOV0sXCJ2YWxpZFwiXSxbWzQyODIwLDQyODIwXSxcIm1hcHBlZFwiLFs0MjgyMV1dLFtbNDI4MjEsNDI4MjFdLFwidmFsaWRcIl0sW1s0MjgyMiw0MjgyMl0sXCJtYXBwZWRcIixbNDI4MjNdXSxbWzQyODIzLDQyODIzXSxcInZhbGlkXCJdLFtbNDI4MjQsNDI4MjRdLFwibWFwcGVkXCIsWzQyODI1XV0sW1s0MjgyNSw0MjgyNV0sXCJ2YWxpZFwiXSxbWzQyODI2LDQyODI2XSxcIm1hcHBlZFwiLFs0MjgyN11dLFtbNDI4MjcsNDI4MjddLFwidmFsaWRcIl0sW1s0MjgyOCw0MjgyOF0sXCJtYXBwZWRcIixbNDI4MjldXSxbWzQyODI5LDQyODI5XSxcInZhbGlkXCJdLFtbNDI4MzAsNDI4MzBdLFwibWFwcGVkXCIsWzQyODMxXV0sW1s0MjgzMSw0MjgzMV0sXCJ2YWxpZFwiXSxbWzQyODMyLDQyODMyXSxcIm1hcHBlZFwiLFs0MjgzM11dLFtbNDI4MzMsNDI4MzNdLFwidmFsaWRcIl0sW1s0MjgzNCw0MjgzNF0sXCJtYXBwZWRcIixbNDI4MzVdXSxbWzQyODM1LDQyODM1XSxcInZhbGlkXCJdLFtbNDI4MzYsNDI4MzZdLFwibWFwcGVkXCIsWzQyODM3XV0sW1s0MjgzNyw0MjgzN10sXCJ2YWxpZFwiXSxbWzQyODM4LDQyODM4XSxcIm1hcHBlZFwiLFs0MjgzOV1dLFtbNDI4MzksNDI4MzldLFwidmFsaWRcIl0sW1s0Mjg0MCw0Mjg0MF0sXCJtYXBwZWRcIixbNDI4NDFdXSxbWzQyODQxLDQyODQxXSxcInZhbGlkXCJdLFtbNDI4NDIsNDI4NDJdLFwibWFwcGVkXCIsWzQyODQzXV0sW1s0Mjg0Myw0Mjg0M10sXCJ2YWxpZFwiXSxbWzQyODQ0LDQyODQ0XSxcIm1hcHBlZFwiLFs0Mjg0NV1dLFtbNDI4NDUsNDI4NDVdLFwidmFsaWRcIl0sW1s0Mjg0Niw0Mjg0Nl0sXCJtYXBwZWRcIixbNDI4NDddXSxbWzQyODQ3LDQyODQ3XSxcInZhbGlkXCJdLFtbNDI4NDgsNDI4NDhdLFwibWFwcGVkXCIsWzQyODQ5XV0sW1s0Mjg0OSw0Mjg0OV0sXCJ2YWxpZFwiXSxbWzQyODUwLDQyODUwXSxcIm1hcHBlZFwiLFs0Mjg1MV1dLFtbNDI4NTEsNDI4NTFdLFwidmFsaWRcIl0sW1s0Mjg1Miw0Mjg1Ml0sXCJtYXBwZWRcIixbNDI4NTNdXSxbWzQyODUzLDQyODUzXSxcInZhbGlkXCJdLFtbNDI4NTQsNDI4NTRdLFwibWFwcGVkXCIsWzQyODU1XV0sW1s0Mjg1NSw0Mjg1NV0sXCJ2YWxpZFwiXSxbWzQyODU2LDQyODU2XSxcIm1hcHBlZFwiLFs0Mjg1N11dLFtbNDI4NTcsNDI4NTddLFwidmFsaWRcIl0sW1s0Mjg1OCw0Mjg1OF0sXCJtYXBwZWRcIixbNDI4NTldXSxbWzQyODU5LDQyODU5XSxcInZhbGlkXCJdLFtbNDI4NjAsNDI4NjBdLFwibWFwcGVkXCIsWzQyODYxXV0sW1s0Mjg2MSw0Mjg2MV0sXCJ2YWxpZFwiXSxbWzQyODYyLDQyODYyXSxcIm1hcHBlZFwiLFs0Mjg2M11dLFtbNDI4NjMsNDI4NjNdLFwidmFsaWRcIl0sW1s0Mjg2NCw0Mjg2NF0sXCJtYXBwZWRcIixbNDI4NjNdXSxbWzQyODY1LDQyODcyXSxcInZhbGlkXCJdLFtbNDI4NzMsNDI4NzNdLFwibWFwcGVkXCIsWzQyODc0XV0sW1s0Mjg3NCw0Mjg3NF0sXCJ2YWxpZFwiXSxbWzQyODc1LDQyODc1XSxcIm1hcHBlZFwiLFs0Mjg3Nl1dLFtbNDI4NzYsNDI4NzZdLFwidmFsaWRcIl0sW1s0Mjg3Nyw0Mjg3N10sXCJtYXBwZWRcIixbNzU0NV1dLFtbNDI4NzgsNDI4NzhdLFwibWFwcGVkXCIsWzQyODc5XV0sW1s0Mjg3OSw0Mjg3OV0sXCJ2YWxpZFwiXSxbWzQyODgwLDQyODgwXSxcIm1hcHBlZFwiLFs0Mjg4MV1dLFtbNDI4ODEsNDI4ODFdLFwidmFsaWRcIl0sW1s0Mjg4Miw0Mjg4Ml0sXCJtYXBwZWRcIixbNDI4ODNdXSxbWzQyODgzLDQyODgzXSxcInZhbGlkXCJdLFtbNDI4ODQsNDI4ODRdLFwibWFwcGVkXCIsWzQyODg1XV0sW1s0Mjg4NSw0Mjg4NV0sXCJ2YWxpZFwiXSxbWzQyODg2LDQyODg2XSxcIm1hcHBlZFwiLFs0Mjg4N11dLFtbNDI4ODcsNDI4ODhdLFwidmFsaWRcIl0sW1s0Mjg4OSw0Mjg5MF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDI4OTEsNDI4OTFdLFwibWFwcGVkXCIsWzQyODkyXV0sW1s0Mjg5Miw0Mjg5Ml0sXCJ2YWxpZFwiXSxbWzQyODkzLDQyODkzXSxcIm1hcHBlZFwiLFs2MTNdXSxbWzQyODk0LDQyODk0XSxcInZhbGlkXCJdLFtbNDI4OTUsNDI4OTVdLFwidmFsaWRcIl0sW1s0Mjg5Niw0Mjg5Nl0sXCJtYXBwZWRcIixbNDI4OTddXSxbWzQyODk3LDQyODk3XSxcInZhbGlkXCJdLFtbNDI4OTgsNDI4OThdLFwibWFwcGVkXCIsWzQyODk5XV0sW1s0Mjg5OSw0Mjg5OV0sXCJ2YWxpZFwiXSxbWzQyOTAwLDQyOTAxXSxcInZhbGlkXCJdLFtbNDI5MDIsNDI5MDJdLFwibWFwcGVkXCIsWzQyOTAzXV0sW1s0MjkwMyw0MjkwM10sXCJ2YWxpZFwiXSxbWzQyOTA0LDQyOTA0XSxcIm1hcHBlZFwiLFs0MjkwNV1dLFtbNDI5MDUsNDI5MDVdLFwidmFsaWRcIl0sW1s0MjkwNiw0MjkwNl0sXCJtYXBwZWRcIixbNDI5MDddXSxbWzQyOTA3LDQyOTA3XSxcInZhbGlkXCJdLFtbNDI5MDgsNDI5MDhdLFwibWFwcGVkXCIsWzQyOTA5XV0sW1s0MjkwOSw0MjkwOV0sXCJ2YWxpZFwiXSxbWzQyOTEwLDQyOTEwXSxcIm1hcHBlZFwiLFs0MjkxMV1dLFtbNDI5MTEsNDI5MTFdLFwidmFsaWRcIl0sW1s0MjkxMiw0MjkxMl0sXCJtYXBwZWRcIixbNDI5MTNdXSxbWzQyOTEzLDQyOTEzXSxcInZhbGlkXCJdLFtbNDI5MTQsNDI5MTRdLFwibWFwcGVkXCIsWzQyOTE1XV0sW1s0MjkxNSw0MjkxNV0sXCJ2YWxpZFwiXSxbWzQyOTE2LDQyOTE2XSxcIm1hcHBlZFwiLFs0MjkxN11dLFtbNDI5MTcsNDI5MTddLFwidmFsaWRcIl0sW1s0MjkxOCw0MjkxOF0sXCJtYXBwZWRcIixbNDI5MTldXSxbWzQyOTE5LDQyOTE5XSxcInZhbGlkXCJdLFtbNDI5MjAsNDI5MjBdLFwibWFwcGVkXCIsWzQyOTIxXV0sW1s0MjkyMSw0MjkyMV0sXCJ2YWxpZFwiXSxbWzQyOTIyLDQyOTIyXSxcIm1hcHBlZFwiLFs2MTRdXSxbWzQyOTIzLDQyOTIzXSxcIm1hcHBlZFwiLFs2MDRdXSxbWzQyOTI0LDQyOTI0XSxcIm1hcHBlZFwiLFs2MDldXSxbWzQyOTI1LDQyOTI1XSxcIm1hcHBlZFwiLFs2MjBdXSxbWzQyOTI2LDQyOTI3XSxcImRpc2FsbG93ZWRcIl0sW1s0MjkyOCw0MjkyOF0sXCJtYXBwZWRcIixbNjcwXV0sW1s0MjkyOSw0MjkyOV0sXCJtYXBwZWRcIixbNjQ3XV0sW1s0MjkzMCw0MjkzMF0sXCJtYXBwZWRcIixbNjY5XV0sW1s0MjkzMSw0MjkzMV0sXCJtYXBwZWRcIixbNDM4NTldXSxbWzQyOTMyLDQyOTMyXSxcIm1hcHBlZFwiLFs0MjkzM11dLFtbNDI5MzMsNDI5MzNdLFwidmFsaWRcIl0sW1s0MjkzNCw0MjkzNF0sXCJtYXBwZWRcIixbNDI5MzVdXSxbWzQyOTM1LDQyOTM1XSxcInZhbGlkXCJdLFtbNDI5MzYsNDI5OThdLFwiZGlzYWxsb3dlZFwiXSxbWzQyOTk5LDQyOTk5XSxcInZhbGlkXCJdLFtbNDMwMDAsNDMwMDBdLFwibWFwcGVkXCIsWzI5NV1dLFtbNDMwMDEsNDMwMDFdLFwibWFwcGVkXCIsWzMzOV1dLFtbNDMwMDIsNDMwMDJdLFwidmFsaWRcIl0sW1s0MzAwMyw0MzAwN10sXCJ2YWxpZFwiXSxbWzQzMDA4LDQzMDQ3XSxcInZhbGlkXCJdLFtbNDMwNDgsNDMwNTFdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQzMDUyLDQzMDU1XSxcImRpc2FsbG93ZWRcIl0sW1s0MzA1Niw0MzA2NV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDMwNjYsNDMwNzFdLFwiZGlzYWxsb3dlZFwiXSxbWzQzMDcyLDQzMTIzXSxcInZhbGlkXCJdLFtbNDMxMjQsNDMxMjddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQzMTI4LDQzMTM1XSxcImRpc2FsbG93ZWRcIl0sW1s0MzEzNiw0MzIwNF0sXCJ2YWxpZFwiXSxbWzQzMjA1LDQzMjEzXSxcImRpc2FsbG93ZWRcIl0sW1s0MzIxNCw0MzIxNV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDMyMTYsNDMyMjVdLFwidmFsaWRcIl0sW1s0MzIyNiw0MzIzMV0sXCJkaXNhbGxvd2VkXCJdLFtbNDMyMzIsNDMyNTVdLFwidmFsaWRcIl0sW1s0MzI1Niw0MzI1OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDMyNTksNDMyNTldLFwidmFsaWRcIl0sW1s0MzI2MCw0MzI2MF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDMyNjEsNDMyNjFdLFwidmFsaWRcIl0sW1s0MzI2Miw0MzI2M10sXCJkaXNhbGxvd2VkXCJdLFtbNDMyNjQsNDMzMDldLFwidmFsaWRcIl0sW1s0MzMxMCw0MzMxMV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDMzMTIsNDMzNDddLFwidmFsaWRcIl0sW1s0MzM0OCw0MzM1OF0sXCJkaXNhbGxvd2VkXCJdLFtbNDMzNTksNDMzNTldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQzMzYwLDQzMzg4XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0MzM4OSw0MzM5MV0sXCJkaXNhbGxvd2VkXCJdLFtbNDMzOTIsNDM0NTZdLFwidmFsaWRcIl0sW1s0MzQ1Nyw0MzQ2OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDM0NzAsNDM0NzBdLFwiZGlzYWxsb3dlZFwiXSxbWzQzNDcxLDQzNDgxXSxcInZhbGlkXCJdLFtbNDM0ODIsNDM0ODVdLFwiZGlzYWxsb3dlZFwiXSxbWzQzNDg2LDQzNDg3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0MzQ4OCw0MzUxOF0sXCJ2YWxpZFwiXSxbWzQzNTE5LDQzNTE5XSxcImRpc2FsbG93ZWRcIl0sW1s0MzUyMCw0MzU3NF0sXCJ2YWxpZFwiXSxbWzQzNTc1LDQzNTgzXSxcImRpc2FsbG93ZWRcIl0sW1s0MzU4NCw0MzU5N10sXCJ2YWxpZFwiXSxbWzQzNTk4LDQzNTk5XSxcImRpc2FsbG93ZWRcIl0sW1s0MzYwMCw0MzYwOV0sXCJ2YWxpZFwiXSxbWzQzNjEwLDQzNjExXSxcImRpc2FsbG93ZWRcIl0sW1s0MzYxMiw0MzYxNV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDM2MTYsNDM2MzhdLFwidmFsaWRcIl0sW1s0MzYzOSw0MzY0MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNDM2NDIsNDM2NDNdLFwidmFsaWRcIl0sW1s0MzY0NCw0MzY0N10sXCJ2YWxpZFwiXSxbWzQzNjQ4LDQzNzE0XSxcInZhbGlkXCJdLFtbNDM3MTUsNDM3MzhdLFwiZGlzYWxsb3dlZFwiXSxbWzQzNzM5LDQzNzQxXSxcInZhbGlkXCJdLFtbNDM3NDIsNDM3NDNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQzNzQ0LDQzNzU5XSxcInZhbGlkXCJdLFtbNDM3NjAsNDM3NjFdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQzNzYyLDQzNzY2XSxcInZhbGlkXCJdLFtbNDM3NjcsNDM3NzZdLFwiZGlzYWxsb3dlZFwiXSxbWzQzNzc3LDQzNzgyXSxcInZhbGlkXCJdLFtbNDM3ODMsNDM3ODRdLFwiZGlzYWxsb3dlZFwiXSxbWzQzNzg1LDQzNzkwXSxcInZhbGlkXCJdLFtbNDM3OTEsNDM3OTJdLFwiZGlzYWxsb3dlZFwiXSxbWzQzNzkzLDQzNzk4XSxcInZhbGlkXCJdLFtbNDM3OTksNDM4MDddLFwiZGlzYWxsb3dlZFwiXSxbWzQzODA4LDQzODE0XSxcInZhbGlkXCJdLFtbNDM4MTUsNDM4MTVdLFwiZGlzYWxsb3dlZFwiXSxbWzQzODE2LDQzODIyXSxcInZhbGlkXCJdLFtbNDM4MjMsNDM4MjNdLFwiZGlzYWxsb3dlZFwiXSxbWzQzODI0LDQzODY2XSxcInZhbGlkXCJdLFtbNDM4NjcsNDM4NjddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzQzODY4LDQzODY4XSxcIm1hcHBlZFwiLFs0Mjc5MV1dLFtbNDM4NjksNDM4NjldLFwibWFwcGVkXCIsWzQzODMxXV0sW1s0Mzg3MCw0Mzg3MF0sXCJtYXBwZWRcIixbNjE5XV0sW1s0Mzg3MSw0Mzg3MV0sXCJtYXBwZWRcIixbNDM4NThdXSxbWzQzODcyLDQzODc1XSxcInZhbGlkXCJdLFtbNDM4NzYsNDM4NzddLFwidmFsaWRcIl0sW1s0Mzg3OCw0Mzg4N10sXCJkaXNhbGxvd2VkXCJdLFtbNDM4ODgsNDM4ODhdLFwibWFwcGVkXCIsWzUwMjRdXSxbWzQzODg5LDQzODg5XSxcIm1hcHBlZFwiLFs1MDI1XV0sW1s0Mzg5MCw0Mzg5MF0sXCJtYXBwZWRcIixbNTAyNl1dLFtbNDM4OTEsNDM4OTFdLFwibWFwcGVkXCIsWzUwMjddXSxbWzQzODkyLDQzODkyXSxcIm1hcHBlZFwiLFs1MDI4XV0sW1s0Mzg5Myw0Mzg5M10sXCJtYXBwZWRcIixbNTAyOV1dLFtbNDM4OTQsNDM4OTRdLFwibWFwcGVkXCIsWzUwMzBdXSxbWzQzODk1LDQzODk1XSxcIm1hcHBlZFwiLFs1MDMxXV0sW1s0Mzg5Niw0Mzg5Nl0sXCJtYXBwZWRcIixbNTAzMl1dLFtbNDM4OTcsNDM4OTddLFwibWFwcGVkXCIsWzUwMzNdXSxbWzQzODk4LDQzODk4XSxcIm1hcHBlZFwiLFs1MDM0XV0sW1s0Mzg5OSw0Mzg5OV0sXCJtYXBwZWRcIixbNTAzNV1dLFtbNDM5MDAsNDM5MDBdLFwibWFwcGVkXCIsWzUwMzZdXSxbWzQzOTAxLDQzOTAxXSxcIm1hcHBlZFwiLFs1MDM3XV0sW1s0MzkwMiw0MzkwMl0sXCJtYXBwZWRcIixbNTAzOF1dLFtbNDM5MDMsNDM5MDNdLFwibWFwcGVkXCIsWzUwMzldXSxbWzQzOTA0LDQzOTA0XSxcIm1hcHBlZFwiLFs1MDQwXV0sW1s0MzkwNSw0MzkwNV0sXCJtYXBwZWRcIixbNTA0MV1dLFtbNDM5MDYsNDM5MDZdLFwibWFwcGVkXCIsWzUwNDJdXSxbWzQzOTA3LDQzOTA3XSxcIm1hcHBlZFwiLFs1MDQzXV0sW1s0MzkwOCw0MzkwOF0sXCJtYXBwZWRcIixbNTA0NF1dLFtbNDM5MDksNDM5MDldLFwibWFwcGVkXCIsWzUwNDVdXSxbWzQzOTEwLDQzOTEwXSxcIm1hcHBlZFwiLFs1MDQ2XV0sW1s0MzkxMSw0MzkxMV0sXCJtYXBwZWRcIixbNTA0N11dLFtbNDM5MTIsNDM5MTJdLFwibWFwcGVkXCIsWzUwNDhdXSxbWzQzOTEzLDQzOTEzXSxcIm1hcHBlZFwiLFs1MDQ5XV0sW1s0MzkxNCw0MzkxNF0sXCJtYXBwZWRcIixbNTA1MF1dLFtbNDM5MTUsNDM5MTVdLFwibWFwcGVkXCIsWzUwNTFdXSxbWzQzOTE2LDQzOTE2XSxcIm1hcHBlZFwiLFs1MDUyXV0sW1s0MzkxNyw0MzkxN10sXCJtYXBwZWRcIixbNTA1M11dLFtbNDM5MTgsNDM5MThdLFwibWFwcGVkXCIsWzUwNTRdXSxbWzQzOTE5LDQzOTE5XSxcIm1hcHBlZFwiLFs1MDU1XV0sW1s0MzkyMCw0MzkyMF0sXCJtYXBwZWRcIixbNTA1Nl1dLFtbNDM5MjEsNDM5MjFdLFwibWFwcGVkXCIsWzUwNTddXSxbWzQzOTIyLDQzOTIyXSxcIm1hcHBlZFwiLFs1MDU4XV0sW1s0MzkyMyw0MzkyM10sXCJtYXBwZWRcIixbNTA1OV1dLFtbNDM5MjQsNDM5MjRdLFwibWFwcGVkXCIsWzUwNjBdXSxbWzQzOTI1LDQzOTI1XSxcIm1hcHBlZFwiLFs1MDYxXV0sW1s0MzkyNiw0MzkyNl0sXCJtYXBwZWRcIixbNTA2Ml1dLFtbNDM5MjcsNDM5MjddLFwibWFwcGVkXCIsWzUwNjNdXSxbWzQzOTI4LDQzOTI4XSxcIm1hcHBlZFwiLFs1MDY0XV0sW1s0MzkyOSw0MzkyOV0sXCJtYXBwZWRcIixbNTA2NV1dLFtbNDM5MzAsNDM5MzBdLFwibWFwcGVkXCIsWzUwNjZdXSxbWzQzOTMxLDQzOTMxXSxcIm1hcHBlZFwiLFs1MDY3XV0sW1s0MzkzMiw0MzkzMl0sXCJtYXBwZWRcIixbNTA2OF1dLFtbNDM5MzMsNDM5MzNdLFwibWFwcGVkXCIsWzUwNjldXSxbWzQzOTM0LDQzOTM0XSxcIm1hcHBlZFwiLFs1MDcwXV0sW1s0MzkzNSw0MzkzNV0sXCJtYXBwZWRcIixbNTA3MV1dLFtbNDM5MzYsNDM5MzZdLFwibWFwcGVkXCIsWzUwNzJdXSxbWzQzOTM3LDQzOTM3XSxcIm1hcHBlZFwiLFs1MDczXV0sW1s0MzkzOCw0MzkzOF0sXCJtYXBwZWRcIixbNTA3NF1dLFtbNDM5MzksNDM5MzldLFwibWFwcGVkXCIsWzUwNzVdXSxbWzQzOTQwLDQzOTQwXSxcIm1hcHBlZFwiLFs1MDc2XV0sW1s0Mzk0MSw0Mzk0MV0sXCJtYXBwZWRcIixbNTA3N11dLFtbNDM5NDIsNDM5NDJdLFwibWFwcGVkXCIsWzUwNzhdXSxbWzQzOTQzLDQzOTQzXSxcIm1hcHBlZFwiLFs1MDc5XV0sW1s0Mzk0NCw0Mzk0NF0sXCJtYXBwZWRcIixbNTA4MF1dLFtbNDM5NDUsNDM5NDVdLFwibWFwcGVkXCIsWzUwODFdXSxbWzQzOTQ2LDQzOTQ2XSxcIm1hcHBlZFwiLFs1MDgyXV0sW1s0Mzk0Nyw0Mzk0N10sXCJtYXBwZWRcIixbNTA4M11dLFtbNDM5NDgsNDM5NDhdLFwibWFwcGVkXCIsWzUwODRdXSxbWzQzOTQ5LDQzOTQ5XSxcIm1hcHBlZFwiLFs1MDg1XV0sW1s0Mzk1MCw0Mzk1MF0sXCJtYXBwZWRcIixbNTA4Nl1dLFtbNDM5NTEsNDM5NTFdLFwibWFwcGVkXCIsWzUwODddXSxbWzQzOTUyLDQzOTUyXSxcIm1hcHBlZFwiLFs1MDg4XV0sW1s0Mzk1Myw0Mzk1M10sXCJtYXBwZWRcIixbNTA4OV1dLFtbNDM5NTQsNDM5NTRdLFwibWFwcGVkXCIsWzUwOTBdXSxbWzQzOTU1LDQzOTU1XSxcIm1hcHBlZFwiLFs1MDkxXV0sW1s0Mzk1Niw0Mzk1Nl0sXCJtYXBwZWRcIixbNTA5Ml1dLFtbNDM5NTcsNDM5NTddLFwibWFwcGVkXCIsWzUwOTNdXSxbWzQzOTU4LDQzOTU4XSxcIm1hcHBlZFwiLFs1MDk0XV0sW1s0Mzk1OSw0Mzk1OV0sXCJtYXBwZWRcIixbNTA5NV1dLFtbNDM5NjAsNDM5NjBdLFwibWFwcGVkXCIsWzUwOTZdXSxbWzQzOTYxLDQzOTYxXSxcIm1hcHBlZFwiLFs1MDk3XV0sW1s0Mzk2Miw0Mzk2Ml0sXCJtYXBwZWRcIixbNTA5OF1dLFtbNDM5NjMsNDM5NjNdLFwibWFwcGVkXCIsWzUwOTldXSxbWzQzOTY0LDQzOTY0XSxcIm1hcHBlZFwiLFs1MTAwXV0sW1s0Mzk2NSw0Mzk2NV0sXCJtYXBwZWRcIixbNTEwMV1dLFtbNDM5NjYsNDM5NjZdLFwibWFwcGVkXCIsWzUxMDJdXSxbWzQzOTY3LDQzOTY3XSxcIm1hcHBlZFwiLFs1MTAzXV0sW1s0Mzk2OCw0NDAxMF0sXCJ2YWxpZFwiXSxbWzQ0MDExLDQ0MDExXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s0NDAxMiw0NDAxM10sXCJ2YWxpZFwiXSxbWzQ0MDE0LDQ0MDE1XSxcImRpc2FsbG93ZWRcIl0sW1s0NDAxNiw0NDAyNV0sXCJ2YWxpZFwiXSxbWzQ0MDI2LDQ0MDMxXSxcImRpc2FsbG93ZWRcIl0sW1s0NDAzMiw1NTIwM10sXCJ2YWxpZFwiXSxbWzU1MjA0LDU1MjE1XSxcImRpc2FsbG93ZWRcIl0sW1s1NTIxNiw1NTIzOF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNTUyMzksNTUyNDJdLFwiZGlzYWxsb3dlZFwiXSxbWzU1MjQzLDU1MjkxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s1NTI5Miw1NTI5NV0sXCJkaXNhbGxvd2VkXCJdLFtbNTUyOTYsNTczNDNdLFwiZGlzYWxsb3dlZFwiXSxbWzU3MzQ0LDYzNzQzXSxcImRpc2FsbG93ZWRcIl0sW1s2Mzc0NCw2Mzc0NF0sXCJtYXBwZWRcIixbMzU5MTJdXSxbWzYzNzQ1LDYzNzQ1XSxcIm1hcHBlZFwiLFsyNjM1Nl1dLFtbNjM3NDYsNjM3NDZdLFwibWFwcGVkXCIsWzM2NTU0XV0sW1s2Mzc0Nyw2Mzc0N10sXCJtYXBwZWRcIixbMzYwNDBdXSxbWzYzNzQ4LDYzNzQ4XSxcIm1hcHBlZFwiLFsyODM2OV1dLFtbNjM3NDksNjM3NDldLFwibWFwcGVkXCIsWzIwMDE4XV0sW1s2Mzc1MCw2Mzc1MF0sXCJtYXBwZWRcIixbMjE0NzddXSxbWzYzNzUxLDYzNzUyXSxcIm1hcHBlZFwiLFs0MDg2MF1dLFtbNjM3NTMsNjM3NTNdLFwibWFwcGVkXCIsWzIyODY1XV0sW1s2Mzc1NCw2Mzc1NF0sXCJtYXBwZWRcIixbMzczMjldXSxbWzYzNzU1LDYzNzU1XSxcIm1hcHBlZFwiLFsyMTg5NV1dLFtbNjM3NTYsNjM3NTZdLFwibWFwcGVkXCIsWzIyODU2XV0sW1s2Mzc1Nyw2Mzc1N10sXCJtYXBwZWRcIixbMjUwNzhdXSxbWzYzNzU4LDYzNzU4XSxcIm1hcHBlZFwiLFszMDMxM11dLFtbNjM3NTksNjM3NTldLFwibWFwcGVkXCIsWzMyNjQ1XV0sW1s2Mzc2MCw2Mzc2MF0sXCJtYXBwZWRcIixbMzQzNjddXSxbWzYzNzYxLDYzNzYxXSxcIm1hcHBlZFwiLFszNDc0Nl1dLFtbNjM3NjIsNjM3NjJdLFwibWFwcGVkXCIsWzM1MDY0XV0sW1s2Mzc2Myw2Mzc2M10sXCJtYXBwZWRcIixbMzcwMDddXSxbWzYzNzY0LDYzNzY0XSxcIm1hcHBlZFwiLFsyNzEzOF1dLFtbNjM3NjUsNjM3NjVdLFwibWFwcGVkXCIsWzI3OTMxXV0sW1s2Mzc2Niw2Mzc2Nl0sXCJtYXBwZWRcIixbMjg4ODldXSxbWzYzNzY3LDYzNzY3XSxcIm1hcHBlZFwiLFsyOTY2Ml1dLFtbNjM3NjgsNjM3NjhdLFwibWFwcGVkXCIsWzMzODUzXV0sW1s2Mzc2OSw2Mzc2OV0sXCJtYXBwZWRcIixbMzcyMjZdXSxbWzYzNzcwLDYzNzcwXSxcIm1hcHBlZFwiLFszOTQwOV1dLFtbNjM3NzEsNjM3NzFdLFwibWFwcGVkXCIsWzIwMDk4XV0sW1s2Mzc3Miw2Mzc3Ml0sXCJtYXBwZWRcIixbMjEzNjVdXSxbWzYzNzczLDYzNzczXSxcIm1hcHBlZFwiLFsyNzM5Nl1dLFtbNjM3NzQsNjM3NzRdLFwibWFwcGVkXCIsWzI5MjExXV0sW1s2Mzc3NSw2Mzc3NV0sXCJtYXBwZWRcIixbMzQzNDldXSxbWzYzNzc2LDYzNzc2XSxcIm1hcHBlZFwiLFs0MDQ3OF1dLFtbNjM3NzcsNjM3NzddLFwibWFwcGVkXCIsWzIzODg4XV0sW1s2Mzc3OCw2Mzc3OF0sXCJtYXBwZWRcIixbMjg2NTFdXSxbWzYzNzc5LDYzNzc5XSxcIm1hcHBlZFwiLFszNDI1M11dLFtbNjM3ODAsNjM3ODBdLFwibWFwcGVkXCIsWzM1MTcyXV0sW1s2Mzc4MSw2Mzc4MV0sXCJtYXBwZWRcIixbMjUyODldXSxbWzYzNzgyLDYzNzgyXSxcIm1hcHBlZFwiLFszMzI0MF1dLFtbNjM3ODMsNjM3ODNdLFwibWFwcGVkXCIsWzM0ODQ3XV0sW1s2Mzc4NCw2Mzc4NF0sXCJtYXBwZWRcIixbMjQyNjZdXSxbWzYzNzg1LDYzNzg1XSxcIm1hcHBlZFwiLFsyNjM5MV1dLFtbNjM3ODYsNjM3ODZdLFwibWFwcGVkXCIsWzI4MDEwXV0sW1s2Mzc4Nyw2Mzc4N10sXCJtYXBwZWRcIixbMjk0MzZdXSxbWzYzNzg4LDYzNzg4XSxcIm1hcHBlZFwiLFszNzA3MF1dLFtbNjM3ODksNjM3ODldLFwibWFwcGVkXCIsWzIwMzU4XV0sW1s2Mzc5MCw2Mzc5MF0sXCJtYXBwZWRcIixbMjA5MTldXSxbWzYzNzkxLDYzNzkxXSxcIm1hcHBlZFwiLFsyMTIxNF1dLFtbNjM3OTIsNjM3OTJdLFwibWFwcGVkXCIsWzI1Nzk2XV0sW1s2Mzc5Myw2Mzc5M10sXCJtYXBwZWRcIixbMjczNDddXSxbWzYzNzk0LDYzNzk0XSxcIm1hcHBlZFwiLFsyOTIwMF1dLFtbNjM3OTUsNjM3OTVdLFwibWFwcGVkXCIsWzMwNDM5XV0sW1s2Mzc5Niw2Mzc5Nl0sXCJtYXBwZWRcIixbMzI3NjldXSxbWzYzNzk3LDYzNzk3XSxcIm1hcHBlZFwiLFszNDMxMF1dLFtbNjM3OTgsNjM3OThdLFwibWFwcGVkXCIsWzM0Mzk2XV0sW1s2Mzc5OSw2Mzc5OV0sXCJtYXBwZWRcIixbMzYzMzVdXSxbWzYzODAwLDYzODAwXSxcIm1hcHBlZFwiLFszODcwNl1dLFtbNjM4MDEsNjM4MDFdLFwibWFwcGVkXCIsWzM5NzkxXV0sW1s2MzgwMiw2MzgwMl0sXCJtYXBwZWRcIixbNDA0NDJdXSxbWzYzODAzLDYzODAzXSxcIm1hcHBlZFwiLFszMDg2MF1dLFtbNjM4MDQsNjM4MDRdLFwibWFwcGVkXCIsWzMxMTAzXV0sW1s2MzgwNSw2MzgwNV0sXCJtYXBwZWRcIixbMzIxNjBdXSxbWzYzODA2LDYzODA2XSxcIm1hcHBlZFwiLFszMzczN11dLFtbNjM4MDcsNjM4MDddLFwibWFwcGVkXCIsWzM3NjM2XV0sW1s2MzgwOCw2MzgwOF0sXCJtYXBwZWRcIixbNDA1NzVdXSxbWzYzODA5LDYzODA5XSxcIm1hcHBlZFwiLFszNTU0Ml1dLFtbNjM4MTAsNjM4MTBdLFwibWFwcGVkXCIsWzIyNzUxXV0sW1s2MzgxMSw2MzgxMV0sXCJtYXBwZWRcIixbMjQzMjRdXSxbWzYzODEyLDYzODEyXSxcIm1hcHBlZFwiLFszMTg0MF1dLFtbNjM4MTMsNjM4MTNdLFwibWFwcGVkXCIsWzMyODk0XV0sW1s2MzgxNCw2MzgxNF0sXCJtYXBwZWRcIixbMjkyODJdXSxbWzYzODE1LDYzODE1XSxcIm1hcHBlZFwiLFszMDkyMl1dLFtbNjM4MTYsNjM4MTZdLFwibWFwcGVkXCIsWzM2MDM0XV0sW1s2MzgxNyw2MzgxN10sXCJtYXBwZWRcIixbMzg2NDddXSxbWzYzODE4LDYzODE4XSxcIm1hcHBlZFwiLFsyMjc0NF1dLFtbNjM4MTksNjM4MTldLFwibWFwcGVkXCIsWzIzNjUwXV0sW1s2MzgyMCw2MzgyMF0sXCJtYXBwZWRcIixbMjcxNTVdXSxbWzYzODIxLDYzODIxXSxcIm1hcHBlZFwiLFsyODEyMl1dLFtbNjM4MjIsNjM4MjJdLFwibWFwcGVkXCIsWzI4NDMxXV0sW1s2MzgyMyw2MzgyM10sXCJtYXBwZWRcIixbMzIwNDddXSxbWzYzODI0LDYzODI0XSxcIm1hcHBlZFwiLFszMjMxMV1dLFtbNjM4MjUsNjM4MjVdLFwibWFwcGVkXCIsWzM4NDc1XV0sW1s2MzgyNiw2MzgyNl0sXCJtYXBwZWRcIixbMjEyMDJdXSxbWzYzODI3LDYzODI3XSxcIm1hcHBlZFwiLFszMjkwN11dLFtbNjM4MjgsNjM4MjhdLFwibWFwcGVkXCIsWzIwOTU2XV0sW1s2MzgyOSw2MzgyOV0sXCJtYXBwZWRcIixbMjA5NDBdXSxbWzYzODMwLDYzODMwXSxcIm1hcHBlZFwiLFszMTI2MF1dLFtbNjM4MzEsNjM4MzFdLFwibWFwcGVkXCIsWzMyMTkwXV0sW1s2MzgzMiw2MzgzMl0sXCJtYXBwZWRcIixbMzM3NzddXSxbWzYzODMzLDYzODMzXSxcIm1hcHBlZFwiLFszODUxN11dLFtbNjM4MzQsNjM4MzRdLFwibWFwcGVkXCIsWzM1NzEyXV0sW1s2MzgzNSw2MzgzNV0sXCJtYXBwZWRcIixbMjUyOTVdXSxbWzYzODM2LDYzODM2XSxcIm1hcHBlZFwiLFsyNzEzOF1dLFtbNjM4MzcsNjM4MzddLFwibWFwcGVkXCIsWzM1NTgyXV0sW1s2MzgzOCw2MzgzOF0sXCJtYXBwZWRcIixbMjAwMjVdXSxbWzYzODM5LDYzODM5XSxcIm1hcHBlZFwiLFsyMzUyN11dLFtbNjM4NDAsNjM4NDBdLFwibWFwcGVkXCIsWzI0NTk0XV0sW1s2Mzg0MSw2Mzg0MV0sXCJtYXBwZWRcIixbMjk1NzVdXSxbWzYzODQyLDYzODQyXSxcIm1hcHBlZFwiLFszMDA2NF1dLFtbNjM4NDMsNjM4NDNdLFwibWFwcGVkXCIsWzIxMjcxXV0sW1s2Mzg0NCw2Mzg0NF0sXCJtYXBwZWRcIixbMzA5NzFdXSxbWzYzODQ1LDYzODQ1XSxcIm1hcHBlZFwiLFsyMDQxNV1dLFtbNjM4NDYsNjM4NDZdLFwibWFwcGVkXCIsWzI0NDg5XV0sW1s2Mzg0Nyw2Mzg0N10sXCJtYXBwZWRcIixbMTk5ODFdXSxbWzYzODQ4LDYzODQ4XSxcIm1hcHBlZFwiLFsyNzg1Ml1dLFtbNjM4NDksNjM4NDldLFwibWFwcGVkXCIsWzI1OTc2XV0sW1s2Mzg1MCw2Mzg1MF0sXCJtYXBwZWRcIixbMzIwMzRdXSxbWzYzODUxLDYzODUxXSxcIm1hcHBlZFwiLFsyMTQ0M11dLFtbNjM4NTIsNjM4NTJdLFwibWFwcGVkXCIsWzIyNjIyXV0sW1s2Mzg1Myw2Mzg1M10sXCJtYXBwZWRcIixbMzA0NjVdXSxbWzYzODU0LDYzODU0XSxcIm1hcHBlZFwiLFszMzg2NV1dLFtbNjM4NTUsNjM4NTVdLFwibWFwcGVkXCIsWzM1NDk4XV0sW1s2Mzg1Niw2Mzg1Nl0sXCJtYXBwZWRcIixbMjc1NzhdXSxbWzYzODU3LDYzODU3XSxcIm1hcHBlZFwiLFszNjc4NF1dLFtbNjM4NTgsNjM4NThdLFwibWFwcGVkXCIsWzI3Nzg0XV0sW1s2Mzg1OSw2Mzg1OV0sXCJtYXBwZWRcIixbMjUzNDJdXSxbWzYzODYwLDYzODYwXSxcIm1hcHBlZFwiLFszMzUwOV1dLFtbNjM4NjEsNjM4NjFdLFwibWFwcGVkXCIsWzI1NTA0XV0sW1s2Mzg2Miw2Mzg2Ml0sXCJtYXBwZWRcIixbMzAwNTNdXSxbWzYzODYzLDYzODYzXSxcIm1hcHBlZFwiLFsyMDE0Ml1dLFtbNjM4NjQsNjM4NjRdLFwibWFwcGVkXCIsWzIwODQxXV0sW1s2Mzg2NSw2Mzg2NV0sXCJtYXBwZWRcIixbMjA5MzddXSxbWzYzODY2LDYzODY2XSxcIm1hcHBlZFwiLFsyNjc1M11dLFtbNjM4NjcsNjM4NjddLFwibWFwcGVkXCIsWzMxOTc1XV0sW1s2Mzg2OCw2Mzg2OF0sXCJtYXBwZWRcIixbMzMzOTFdXSxbWzYzODY5LDYzODY5XSxcIm1hcHBlZFwiLFszNTUzOF1dLFtbNjM4NzAsNjM4NzBdLFwibWFwcGVkXCIsWzM3MzI3XV0sW1s2Mzg3MSw2Mzg3MV0sXCJtYXBwZWRcIixbMjEyMzddXSxbWzYzODcyLDYzODcyXSxcIm1hcHBlZFwiLFsyMTU3MF1dLFtbNjM4NzMsNjM4NzNdLFwibWFwcGVkXCIsWzIyODk5XV0sW1s2Mzg3NCw2Mzg3NF0sXCJtYXBwZWRcIixbMjQzMDBdXSxbWzYzODc1LDYzODc1XSxcIm1hcHBlZFwiLFsyNjA1M11dLFtbNjM4NzYsNjM4NzZdLFwibWFwcGVkXCIsWzI4NjcwXV0sW1s2Mzg3Nyw2Mzg3N10sXCJtYXBwZWRcIixbMzEwMThdXSxbWzYzODc4LDYzODc4XSxcIm1hcHBlZFwiLFszODMxN11dLFtbNjM4NzksNjM4NzldLFwibWFwcGVkXCIsWzM5NTMwXV0sW1s2Mzg4MCw2Mzg4MF0sXCJtYXBwZWRcIixbNDA1OTldXSxbWzYzODgxLDYzODgxXSxcIm1hcHBlZFwiLFs0MDY1NF1dLFtbNjM4ODIsNjM4ODJdLFwibWFwcGVkXCIsWzIxMTQ3XV0sW1s2Mzg4Myw2Mzg4M10sXCJtYXBwZWRcIixbMjYzMTBdXSxbWzYzODg0LDYzODg0XSxcIm1hcHBlZFwiLFsyNzUxMV1dLFtbNjM4ODUsNjM4ODVdLFwibWFwcGVkXCIsWzM2NzA2XV0sW1s2Mzg4Niw2Mzg4Nl0sXCJtYXBwZWRcIixbMjQxODBdXSxbWzYzODg3LDYzODg3XSxcIm1hcHBlZFwiLFsyNDk3Nl1dLFtbNjM4ODgsNjM4ODhdLFwibWFwcGVkXCIsWzI1MDg4XV0sW1s2Mzg4OSw2Mzg4OV0sXCJtYXBwZWRcIixbMjU3NTRdXSxbWzYzODkwLDYzODkwXSxcIm1hcHBlZFwiLFsyODQ1MV1dLFtbNjM4OTEsNjM4OTFdLFwibWFwcGVkXCIsWzI5MDAxXV0sW1s2Mzg5Miw2Mzg5Ml0sXCJtYXBwZWRcIixbMjk4MzNdXSxbWzYzODkzLDYzODkzXSxcIm1hcHBlZFwiLFszMTE3OF1dLFtbNjM4OTQsNjM4OTRdLFwibWFwcGVkXCIsWzMyMjQ0XV0sW1s2Mzg5NSw2Mzg5NV0sXCJtYXBwZWRcIixbMzI4NzldXSxbWzYzODk2LDYzODk2XSxcIm1hcHBlZFwiLFszNjY0Nl1dLFtbNjM4OTcsNjM4OTddLFwibWFwcGVkXCIsWzM0MDMwXV0sW1s2Mzg5OCw2Mzg5OF0sXCJtYXBwZWRcIixbMzY4OTldXSxbWzYzODk5LDYzODk5XSxcIm1hcHBlZFwiLFszNzcwNl1dLFtbNjM5MDAsNjM5MDBdLFwibWFwcGVkXCIsWzIxMDE1XV0sW1s2MzkwMSw2MzkwMV0sXCJtYXBwZWRcIixbMjExNTVdXSxbWzYzOTAyLDYzOTAyXSxcIm1hcHBlZFwiLFsyMTY5M11dLFtbNjM5MDMsNjM5MDNdLFwibWFwcGVkXCIsWzI4ODcyXV0sW1s2MzkwNCw2MzkwNF0sXCJtYXBwZWRcIixbMzUwMTBdXSxbWzYzOTA1LDYzOTA1XSxcIm1hcHBlZFwiLFszNTQ5OF1dLFtbNjM5MDYsNjM5MDZdLFwibWFwcGVkXCIsWzI0MjY1XV0sW1s2MzkwNyw2MzkwN10sXCJtYXBwZWRcIixbMjQ1NjVdXSxbWzYzOTA4LDYzOTA4XSxcIm1hcHBlZFwiLFsyNTQ2N11dLFtbNjM5MDksNjM5MDldLFwibWFwcGVkXCIsWzI3NTY2XV0sW1s2MzkxMCw2MzkxMF0sXCJtYXBwZWRcIixbMzE4MDZdXSxbWzYzOTExLDYzOTExXSxcIm1hcHBlZFwiLFsyOTU1N11dLFtbNjM5MTIsNjM5MTJdLFwibWFwcGVkXCIsWzIwMTk2XV0sW1s2MzkxMyw2MzkxM10sXCJtYXBwZWRcIixbMjIyNjVdXSxbWzYzOTE0LDYzOTE0XSxcIm1hcHBlZFwiLFsyMzUyN11dLFtbNjM5MTUsNjM5MTVdLFwibWFwcGVkXCIsWzIzOTk0XV0sW1s2MzkxNiw2MzkxNl0sXCJtYXBwZWRcIixbMjQ2MDRdXSxbWzYzOTE3LDYzOTE3XSxcIm1hcHBlZFwiLFsyOTYxOF1dLFtbNjM5MTgsNjM5MThdLFwibWFwcGVkXCIsWzI5ODAxXV0sW1s2MzkxOSw2MzkxOV0sXCJtYXBwZWRcIixbMzI2NjZdXSxbWzYzOTIwLDYzOTIwXSxcIm1hcHBlZFwiLFszMjgzOF1dLFtbNjM5MjEsNjM5MjFdLFwibWFwcGVkXCIsWzM3NDI4XV0sW1s2MzkyMiw2MzkyMl0sXCJtYXBwZWRcIixbMzg2NDZdXSxbWzYzOTIzLDYzOTIzXSxcIm1hcHBlZFwiLFszODcyOF1dLFtbNjM5MjQsNjM5MjRdLFwibWFwcGVkXCIsWzM4OTM2XV0sW1s2MzkyNSw2MzkyNV0sXCJtYXBwZWRcIixbMjAzNjNdXSxbWzYzOTI2LDYzOTI2XSxcIm1hcHBlZFwiLFszMTE1MF1dLFtbNjM5MjcsNjM5MjddLFwibWFwcGVkXCIsWzM3MzAwXV0sW1s2MzkyOCw2MzkyOF0sXCJtYXBwZWRcIixbMzg1ODRdXSxbWzYzOTI5LDYzOTI5XSxcIm1hcHBlZFwiLFsyNDgwMV1dLFtbNjM5MzAsNjM5MzBdLFwibWFwcGVkXCIsWzIwMTAyXV0sW1s2MzkzMSw2MzkzMV0sXCJtYXBwZWRcIixbMjA2OThdXSxbWzYzOTMyLDYzOTMyXSxcIm1hcHBlZFwiLFsyMzUzNF1dLFtbNjM5MzMsNjM5MzNdLFwibWFwcGVkXCIsWzIzNjE1XV0sW1s2MzkzNCw2MzkzNF0sXCJtYXBwZWRcIixbMjYwMDldXSxbWzYzOTM1LDYzOTM1XSxcIm1hcHBlZFwiLFsyNzEzOF1dLFtbNjM5MzYsNjM5MzZdLFwibWFwcGVkXCIsWzI5MTM0XV0sW1s2MzkzNyw2MzkzN10sXCJtYXBwZWRcIixbMzAyNzRdXSxbWzYzOTM4LDYzOTM4XSxcIm1hcHBlZFwiLFszNDA0NF1dLFtbNjM5MzksNjM5MzldLFwibWFwcGVkXCIsWzM2OTg4XV0sW1s2Mzk0MCw2Mzk0MF0sXCJtYXBwZWRcIixbNDA4NDVdXSxbWzYzOTQxLDYzOTQxXSxcIm1hcHBlZFwiLFsyNjI0OF1dLFtbNjM5NDIsNjM5NDJdLFwibWFwcGVkXCIsWzM4NDQ2XV0sW1s2Mzk0Myw2Mzk0M10sXCJtYXBwZWRcIixbMjExMjldXSxbWzYzOTQ0LDYzOTQ0XSxcIm1hcHBlZFwiLFsyNjQ5MV1dLFtbNjM5NDUsNjM5NDVdLFwibWFwcGVkXCIsWzI2NjExXV0sW1s2Mzk0Niw2Mzk0Nl0sXCJtYXBwZWRcIixbMjc5NjldXSxbWzYzOTQ3LDYzOTQ3XSxcIm1hcHBlZFwiLFsyODMxNl1dLFtbNjM5NDgsNjM5NDhdLFwibWFwcGVkXCIsWzI5NzA1XV0sW1s2Mzk0OSw2Mzk0OV0sXCJtYXBwZWRcIixbMzAwNDFdXSxbWzYzOTUwLDYzOTUwXSxcIm1hcHBlZFwiLFszMDgyN11dLFtbNjM5NTEsNjM5NTFdLFwibWFwcGVkXCIsWzMyMDE2XV0sW1s2Mzk1Miw2Mzk1Ml0sXCJtYXBwZWRcIixbMzkwMDZdXSxbWzYzOTUzLDYzOTUzXSxcIm1hcHBlZFwiLFsyMDg0NV1dLFtbNjM5NTQsNjM5NTRdLFwibWFwcGVkXCIsWzI1MTM0XV0sW1s2Mzk1NSw2Mzk1NV0sXCJtYXBwZWRcIixbMzg1MjBdXSxbWzYzOTU2LDYzOTU2XSxcIm1hcHBlZFwiLFsyMDUyM11dLFtbNjM5NTcsNjM5NTddLFwibWFwcGVkXCIsWzIzODMzXV0sW1s2Mzk1OCw2Mzk1OF0sXCJtYXBwZWRcIixbMjgxMzhdXSxbWzYzOTU5LDYzOTU5XSxcIm1hcHBlZFwiLFszNjY1MF1dLFtbNjM5NjAsNjM5NjBdLFwibWFwcGVkXCIsWzI0NDU5XV0sW1s2Mzk2MSw2Mzk2MV0sXCJtYXBwZWRcIixbMjQ5MDBdXSxbWzYzOTYyLDYzOTYyXSxcIm1hcHBlZFwiLFsyNjY0N11dLFtbNjM5NjMsNjM5NjNdLFwibWFwcGVkXCIsWzI5NTc1XV0sW1s2Mzk2NCw2Mzk2NF0sXCJtYXBwZWRcIixbMzg1MzRdXSxbWzYzOTY1LDYzOTY1XSxcIm1hcHBlZFwiLFsyMTAzM11dLFtbNjM5NjYsNjM5NjZdLFwibWFwcGVkXCIsWzIxNTE5XV0sW1s2Mzk2Nyw2Mzk2N10sXCJtYXBwZWRcIixbMjM2NTNdXSxbWzYzOTY4LDYzOTY4XSxcIm1hcHBlZFwiLFsyNjEzMV1dLFtbNjM5NjksNjM5NjldLFwibWFwcGVkXCIsWzI2NDQ2XV0sW1s2Mzk3MCw2Mzk3MF0sXCJtYXBwZWRcIixbMjY3OTJdXSxbWzYzOTcxLDYzOTcxXSxcIm1hcHBlZFwiLFsyNzg3N11dLFtbNjM5NzIsNjM5NzJdLFwibWFwcGVkXCIsWzI5NzAyXV0sW1s2Mzk3Myw2Mzk3M10sXCJtYXBwZWRcIixbMzAxNzhdXSxbWzYzOTc0LDYzOTc0XSxcIm1hcHBlZFwiLFszMjYzM11dLFtbNjM5NzUsNjM5NzVdLFwibWFwcGVkXCIsWzM1MDIzXV0sW1s2Mzk3Niw2Mzk3Nl0sXCJtYXBwZWRcIixbMzUwNDFdXSxbWzYzOTc3LDYzOTc3XSxcIm1hcHBlZFwiLFszNzMyNF1dLFtbNjM5NzgsNjM5NzhdLFwibWFwcGVkXCIsWzM4NjI2XV0sW1s2Mzk3OSw2Mzk3OV0sXCJtYXBwZWRcIixbMjEzMTFdXSxbWzYzOTgwLDYzOTgwXSxcIm1hcHBlZFwiLFsyODM0Nl1dLFtbNjM5ODEsNjM5ODFdLFwibWFwcGVkXCIsWzIxNTMzXV0sW1s2Mzk4Miw2Mzk4Ml0sXCJtYXBwZWRcIixbMjkxMzZdXSxbWzYzOTgzLDYzOTgzXSxcIm1hcHBlZFwiLFsyOTg0OF1dLFtbNjM5ODQsNjM5ODRdLFwibWFwcGVkXCIsWzM0Mjk4XV0sW1s2Mzk4NSw2Mzk4NV0sXCJtYXBwZWRcIixbMzg1NjNdXSxbWzYzOTg2LDYzOTg2XSxcIm1hcHBlZFwiLFs0MDAyM11dLFtbNjM5ODcsNjM5ODddLFwibWFwcGVkXCIsWzQwNjA3XV0sW1s2Mzk4OCw2Mzk4OF0sXCJtYXBwZWRcIixbMjY1MTldXSxbWzYzOTg5LDYzOTg5XSxcIm1hcHBlZFwiLFsyODEwN11dLFtbNjM5OTAsNjM5OTBdLFwibWFwcGVkXCIsWzMzMjU2XV0sW1s2Mzk5MSw2Mzk5MV0sXCJtYXBwZWRcIixbMzE0MzVdXSxbWzYzOTkyLDYzOTkyXSxcIm1hcHBlZFwiLFszMTUyMF1dLFtbNjM5OTMsNjM5OTNdLFwibWFwcGVkXCIsWzMxODkwXV0sW1s2Mzk5NCw2Mzk5NF0sXCJtYXBwZWRcIixbMjkzNzZdXSxbWzYzOTk1LDYzOTk1XSxcIm1hcHBlZFwiLFsyODgyNV1dLFtbNjM5OTYsNjM5OTZdLFwibWFwcGVkXCIsWzM1NjcyXV0sW1s2Mzk5Nyw2Mzk5N10sXCJtYXBwZWRcIixbMjAxNjBdXSxbWzYzOTk4LDYzOTk4XSxcIm1hcHBlZFwiLFszMzU5MF1dLFtbNjM5OTksNjM5OTldLFwibWFwcGVkXCIsWzIxMDUwXV0sW1s2NDAwMCw2NDAwMF0sXCJtYXBwZWRcIixbMjA5OTldXSxbWzY0MDAxLDY0MDAxXSxcIm1hcHBlZFwiLFsyNDIzMF1dLFtbNjQwMDIsNjQwMDJdLFwibWFwcGVkXCIsWzI1Mjk5XV0sW1s2NDAwMyw2NDAwM10sXCJtYXBwZWRcIixbMzE5NThdXSxbWzY0MDA0LDY0MDA0XSxcIm1hcHBlZFwiLFsyMzQyOV1dLFtbNjQwMDUsNjQwMDVdLFwibWFwcGVkXCIsWzI3OTM0XV0sW1s2NDAwNiw2NDAwNl0sXCJtYXBwZWRcIixbMjYyOTJdXSxbWzY0MDA3LDY0MDA3XSxcIm1hcHBlZFwiLFszNjY2N11dLFtbNjQwMDgsNjQwMDhdLFwibWFwcGVkXCIsWzM0ODkyXV0sW1s2NDAwOSw2NDAwOV0sXCJtYXBwZWRcIixbMzg0NzddXSxbWzY0MDEwLDY0MDEwXSxcIm1hcHBlZFwiLFszNTIxMV1dLFtbNjQwMTEsNjQwMTFdLFwibWFwcGVkXCIsWzI0Mjc1XV0sW1s2NDAxMiw2NDAxMl0sXCJtYXBwZWRcIixbMjA4MDBdXSxbWzY0MDEzLDY0MDEzXSxcIm1hcHBlZFwiLFsyMTk1Ml1dLFtbNjQwMTQsNjQwMTVdLFwidmFsaWRcIl0sW1s2NDAxNiw2NDAxNl0sXCJtYXBwZWRcIixbMjI2MThdXSxbWzY0MDE3LDY0MDE3XSxcInZhbGlkXCJdLFtbNjQwMTgsNjQwMThdLFwibWFwcGVkXCIsWzI2MjI4XV0sW1s2NDAxOSw2NDAyMF0sXCJ2YWxpZFwiXSxbWzY0MDIxLDY0MDIxXSxcIm1hcHBlZFwiLFsyMDk1OF1dLFtbNjQwMjIsNjQwMjJdLFwibWFwcGVkXCIsWzI5NDgyXV0sW1s2NDAyMyw2NDAyM10sXCJtYXBwZWRcIixbMzA0MTBdXSxbWzY0MDI0LDY0MDI0XSxcIm1hcHBlZFwiLFszMTAzNl1dLFtbNjQwMjUsNjQwMjVdLFwibWFwcGVkXCIsWzMxMDcwXV0sW1s2NDAyNiw2NDAyNl0sXCJtYXBwZWRcIixbMzEwNzddXSxbWzY0MDI3LDY0MDI3XSxcIm1hcHBlZFwiLFszMTExOV1dLFtbNjQwMjgsNjQwMjhdLFwibWFwcGVkXCIsWzM4NzQyXV0sW1s2NDAyOSw2NDAyOV0sXCJtYXBwZWRcIixbMzE5MzRdXSxbWzY0MDMwLDY0MDMwXSxcIm1hcHBlZFwiLFszMjcwMV1dLFtbNjQwMzEsNjQwMzFdLFwidmFsaWRcIl0sW1s2NDAzMiw2NDAzMl0sXCJtYXBwZWRcIixbMzQzMjJdXSxbWzY0MDMzLDY0MDMzXSxcInZhbGlkXCJdLFtbNjQwMzQsNjQwMzRdLFwibWFwcGVkXCIsWzM1NTc2XV0sW1s2NDAzNSw2NDAzNl0sXCJ2YWxpZFwiXSxbWzY0MDM3LDY0MDM3XSxcIm1hcHBlZFwiLFszNjkyMF1dLFtbNjQwMzgsNjQwMzhdLFwibWFwcGVkXCIsWzM3MTE3XV0sW1s2NDAzOSw2NDA0MV0sXCJ2YWxpZFwiXSxbWzY0MDQyLDY0MDQyXSxcIm1hcHBlZFwiLFszOTE1MV1dLFtbNjQwNDMsNjQwNDNdLFwibWFwcGVkXCIsWzM5MTY0XV0sW1s2NDA0NCw2NDA0NF0sXCJtYXBwZWRcIixbMzkyMDhdXSxbWzY0MDQ1LDY0MDQ1XSxcIm1hcHBlZFwiLFs0MDM3Ml1dLFtbNjQwNDYsNjQwNDZdLFwibWFwcGVkXCIsWzM3MDg2XV0sW1s2NDA0Nyw2NDA0N10sXCJtYXBwZWRcIixbMzg1ODNdXSxbWzY0MDQ4LDY0MDQ4XSxcIm1hcHBlZFwiLFsyMDM5OF1dLFtbNjQwNDksNjQwNDldLFwibWFwcGVkXCIsWzIwNzExXV0sW1s2NDA1MCw2NDA1MF0sXCJtYXBwZWRcIixbMjA4MTNdXSxbWzY0MDUxLDY0MDUxXSxcIm1hcHBlZFwiLFsyMTE5M11dLFtbNjQwNTIsNjQwNTJdLFwibWFwcGVkXCIsWzIxMjIwXV0sW1s2NDA1Myw2NDA1M10sXCJtYXBwZWRcIixbMjEzMjldXSxbWzY0MDU0LDY0MDU0XSxcIm1hcHBlZFwiLFsyMTkxN11dLFtbNjQwNTUsNjQwNTVdLFwibWFwcGVkXCIsWzIyMDIyXV0sW1s2NDA1Niw2NDA1Nl0sXCJtYXBwZWRcIixbMjIxMjBdXSxbWzY0MDU3LDY0MDU3XSxcIm1hcHBlZFwiLFsyMjU5Ml1dLFtbNjQwNTgsNjQwNThdLFwibWFwcGVkXCIsWzIyNjk2XV0sW1s2NDA1OSw2NDA1OV0sXCJtYXBwZWRcIixbMjM2NTJdXSxbWzY0MDYwLDY0MDYwXSxcIm1hcHBlZFwiLFsyMzY2Ml1dLFtbNjQwNjEsNjQwNjFdLFwibWFwcGVkXCIsWzI0NzI0XV0sW1s2NDA2Miw2NDA2Ml0sXCJtYXBwZWRcIixbMjQ5MzZdXSxbWzY0MDYzLDY0MDYzXSxcIm1hcHBlZFwiLFsyNDk3NF1dLFtbNjQwNjQsNjQwNjRdLFwibWFwcGVkXCIsWzI1MDc0XV0sW1s2NDA2NSw2NDA2NV0sXCJtYXBwZWRcIixbMjU5MzVdXSxbWzY0MDY2LDY0MDY2XSxcIm1hcHBlZFwiLFsyNjA4Ml1dLFtbNjQwNjcsNjQwNjddLFwibWFwcGVkXCIsWzI2MjU3XV0sW1s2NDA2OCw2NDA2OF0sXCJtYXBwZWRcIixbMjY3NTddXSxbWzY0MDY5LDY0MDY5XSxcIm1hcHBlZFwiLFsyODAyM11dLFtbNjQwNzAsNjQwNzBdLFwibWFwcGVkXCIsWzI4MTg2XV0sW1s2NDA3MSw2NDA3MV0sXCJtYXBwZWRcIixbMjg0NTBdXSxbWzY0MDcyLDY0MDcyXSxcIm1hcHBlZFwiLFsyOTAzOF1dLFtbNjQwNzMsNjQwNzNdLFwibWFwcGVkXCIsWzI5MjI3XV0sW1s2NDA3NCw2NDA3NF0sXCJtYXBwZWRcIixbMjk3MzBdXSxbWzY0MDc1LDY0MDc1XSxcIm1hcHBlZFwiLFszMDg2NV1dLFtbNjQwNzYsNjQwNzZdLFwibWFwcGVkXCIsWzMxMDM4XV0sW1s2NDA3Nyw2NDA3N10sXCJtYXBwZWRcIixbMzEwNDldXSxbWzY0MDc4LDY0MDc4XSxcIm1hcHBlZFwiLFszMTA0OF1dLFtbNjQwNzksNjQwNzldLFwibWFwcGVkXCIsWzMxMDU2XV0sW1s2NDA4MCw2NDA4MF0sXCJtYXBwZWRcIixbMzEwNjJdXSxbWzY0MDgxLDY0MDgxXSxcIm1hcHBlZFwiLFszMTA2OV1dLFtbNjQwODIsNjQwODJdLFwibWFwcGVkXCIsWzMxMTE3XV0sW1s2NDA4Myw2NDA4M10sXCJtYXBwZWRcIixbMzExMThdXSxbWzY0MDg0LDY0MDg0XSxcIm1hcHBlZFwiLFszMTI5Nl1dLFtbNjQwODUsNjQwODVdLFwibWFwcGVkXCIsWzMxMzYxXV0sW1s2NDA4Niw2NDA4Nl0sXCJtYXBwZWRcIixbMzE2ODBdXSxbWzY0MDg3LDY0MDg3XSxcIm1hcHBlZFwiLFszMjI0NF1dLFtbNjQwODgsNjQwODhdLFwibWFwcGVkXCIsWzMyMjY1XV0sW1s2NDA4OSw2NDA4OV0sXCJtYXBwZWRcIixbMzIzMjFdXSxbWzY0MDkwLDY0MDkwXSxcIm1hcHBlZFwiLFszMjYyNl1dLFtbNjQwOTEsNjQwOTFdLFwibWFwcGVkXCIsWzMyNzczXV0sW1s2NDA5Miw2NDA5Ml0sXCJtYXBwZWRcIixbMzMyNjFdXSxbWzY0MDkzLDY0MDk0XSxcIm1hcHBlZFwiLFszMzQwMV1dLFtbNjQwOTUsNjQwOTVdLFwibWFwcGVkXCIsWzMzODc5XV0sW1s2NDA5Niw2NDA5Nl0sXCJtYXBwZWRcIixbMzUwODhdXSxbWzY0MDk3LDY0MDk3XSxcIm1hcHBlZFwiLFszNTIyMl1dLFtbNjQwOTgsNjQwOThdLFwibWFwcGVkXCIsWzM1NTg1XV0sW1s2NDA5OSw2NDA5OV0sXCJtYXBwZWRcIixbMzU2NDFdXSxbWzY0MTAwLDY0MTAwXSxcIm1hcHBlZFwiLFszNjA1MV1dLFtbNjQxMDEsNjQxMDFdLFwibWFwcGVkXCIsWzM2MTA0XV0sW1s2NDEwMiw2NDEwMl0sXCJtYXBwZWRcIixbMzY3OTBdXSxbWzY0MTAzLDY0MTAzXSxcIm1hcHBlZFwiLFszNjkyMF1dLFtbNjQxMDQsNjQxMDRdLFwibWFwcGVkXCIsWzM4NjI3XV0sW1s2NDEwNSw2NDEwNV0sXCJtYXBwZWRcIixbMzg5MTFdXSxbWzY0MTA2LDY0MTA2XSxcIm1hcHBlZFwiLFszODk3MV1dLFtbNjQxMDcsNjQxMDddLFwibWFwcGVkXCIsWzI0NjkzXV0sW1s2NDEwOCw2NDEwOF0sXCJtYXBwZWRcIixbMTQ4MjA2XV0sW1s2NDEwOSw2NDEwOV0sXCJtYXBwZWRcIixbMzMzMDRdXSxbWzY0MTEwLDY0MTExXSxcImRpc2FsbG93ZWRcIl0sW1s2NDExMiw2NDExMl0sXCJtYXBwZWRcIixbMjAwMDZdXSxbWzY0MTEzLDY0MTEzXSxcIm1hcHBlZFwiLFsyMDkxN11dLFtbNjQxMTQsNjQxMTRdLFwibWFwcGVkXCIsWzIwODQwXV0sW1s2NDExNSw2NDExNV0sXCJtYXBwZWRcIixbMjAzNTJdXSxbWzY0MTE2LDY0MTE2XSxcIm1hcHBlZFwiLFsyMDgwNV1dLFtbNjQxMTcsNjQxMTddLFwibWFwcGVkXCIsWzIwODY0XV0sW1s2NDExOCw2NDExOF0sXCJtYXBwZWRcIixbMjExOTFdXSxbWzY0MTE5LDY0MTE5XSxcIm1hcHBlZFwiLFsyMTI0Ml1dLFtbNjQxMjAsNjQxMjBdLFwibWFwcGVkXCIsWzIxOTE3XV0sW1s2NDEyMSw2NDEyMV0sXCJtYXBwZWRcIixbMjE4NDVdXSxbWzY0MTIyLDY0MTIyXSxcIm1hcHBlZFwiLFsyMTkxM11dLFtbNjQxMjMsNjQxMjNdLFwibWFwcGVkXCIsWzIxOTg2XV0sW1s2NDEyNCw2NDEyNF0sXCJtYXBwZWRcIixbMjI2MThdXSxbWzY0MTI1LDY0MTI1XSxcIm1hcHBlZFwiLFsyMjcwN11dLFtbNjQxMjYsNjQxMjZdLFwibWFwcGVkXCIsWzIyODUyXV0sW1s2NDEyNyw2NDEyN10sXCJtYXBwZWRcIixbMjI4NjhdXSxbWzY0MTI4LDY0MTI4XSxcIm1hcHBlZFwiLFsyMzEzOF1dLFtbNjQxMjksNjQxMjldLFwibWFwcGVkXCIsWzIzMzM2XV0sW1s2NDEzMCw2NDEzMF0sXCJtYXBwZWRcIixbMjQyNzRdXSxbWzY0MTMxLDY0MTMxXSxcIm1hcHBlZFwiLFsyNDI4MV1dLFtbNjQxMzIsNjQxMzJdLFwibWFwcGVkXCIsWzI0NDI1XV0sW1s2NDEzMyw2NDEzM10sXCJtYXBwZWRcIixbMjQ0OTNdXSxbWzY0MTM0LDY0MTM0XSxcIm1hcHBlZFwiLFsyNDc5Ml1dLFtbNjQxMzUsNjQxMzVdLFwibWFwcGVkXCIsWzI0OTEwXV0sW1s2NDEzNiw2NDEzNl0sXCJtYXBwZWRcIixbMjQ4NDBdXSxbWzY0MTM3LDY0MTM3XSxcIm1hcHBlZFwiLFsyNDk3NF1dLFtbNjQxMzgsNjQxMzhdLFwibWFwcGVkXCIsWzI0OTI4XV0sW1s2NDEzOSw2NDEzOV0sXCJtYXBwZWRcIixbMjUwNzRdXSxbWzY0MTQwLDY0MTQwXSxcIm1hcHBlZFwiLFsyNTE0MF1dLFtbNjQxNDEsNjQxNDFdLFwibWFwcGVkXCIsWzI1NTQwXV0sW1s2NDE0Miw2NDE0Ml0sXCJtYXBwZWRcIixbMjU2MjhdXSxbWzY0MTQzLDY0MTQzXSxcIm1hcHBlZFwiLFsyNTY4Ml1dLFtbNjQxNDQsNjQxNDRdLFwibWFwcGVkXCIsWzI1OTQyXV0sW1s2NDE0NSw2NDE0NV0sXCJtYXBwZWRcIixbMjYyMjhdXSxbWzY0MTQ2LDY0MTQ2XSxcIm1hcHBlZFwiLFsyNjM5MV1dLFtbNjQxNDcsNjQxNDddLFwibWFwcGVkXCIsWzI2Mzk1XV0sW1s2NDE0OCw2NDE0OF0sXCJtYXBwZWRcIixbMjY0NTRdXSxbWzY0MTQ5LDY0MTQ5XSxcIm1hcHBlZFwiLFsyNzUxM11dLFtbNjQxNTAsNjQxNTBdLFwibWFwcGVkXCIsWzI3NTc4XV0sW1s2NDE1MSw2NDE1MV0sXCJtYXBwZWRcIixbMjc5NjldXSxbWzY0MTUyLDY0MTUyXSxcIm1hcHBlZFwiLFsyODM3OV1dLFtbNjQxNTMsNjQxNTNdLFwibWFwcGVkXCIsWzI4MzYzXV0sW1s2NDE1NCw2NDE1NF0sXCJtYXBwZWRcIixbMjg0NTBdXSxbWzY0MTU1LDY0MTU1XSxcIm1hcHBlZFwiLFsyODcwMl1dLFtbNjQxNTYsNjQxNTZdLFwibWFwcGVkXCIsWzI5MDM4XV0sW1s2NDE1Nyw2NDE1N10sXCJtYXBwZWRcIixbMzA2MzFdXSxbWzY0MTU4LDY0MTU4XSxcIm1hcHBlZFwiLFsyOTIzN11dLFtbNjQxNTksNjQxNTldLFwibWFwcGVkXCIsWzI5MzU5XV0sW1s2NDE2MCw2NDE2MF0sXCJtYXBwZWRcIixbMjk0ODJdXSxbWzY0MTYxLDY0MTYxXSxcIm1hcHBlZFwiLFsyOTgwOV1dLFtbNjQxNjIsNjQxNjJdLFwibWFwcGVkXCIsWzI5OTU4XV0sW1s2NDE2Myw2NDE2M10sXCJtYXBwZWRcIixbMzAwMTFdXSxbWzY0MTY0LDY0MTY0XSxcIm1hcHBlZFwiLFszMDIzN11dLFtbNjQxNjUsNjQxNjVdLFwibWFwcGVkXCIsWzMwMjM5XV0sW1s2NDE2Niw2NDE2Nl0sXCJtYXBwZWRcIixbMzA0MTBdXSxbWzY0MTY3LDY0MTY3XSxcIm1hcHBlZFwiLFszMDQyN11dLFtbNjQxNjgsNjQxNjhdLFwibWFwcGVkXCIsWzMwNDUyXV0sW1s2NDE2OSw2NDE2OV0sXCJtYXBwZWRcIixbMzA1MzhdXSxbWzY0MTcwLDY0MTcwXSxcIm1hcHBlZFwiLFszMDUyOF1dLFtbNjQxNzEsNjQxNzFdLFwibWFwcGVkXCIsWzMwOTI0XV0sW1s2NDE3Miw2NDE3Ml0sXCJtYXBwZWRcIixbMzE0MDldXSxbWzY0MTczLDY0MTczXSxcIm1hcHBlZFwiLFszMTY4MF1dLFtbNjQxNzQsNjQxNzRdLFwibWFwcGVkXCIsWzMxODY3XV0sW1s2NDE3NSw2NDE3NV0sXCJtYXBwZWRcIixbMzIwOTFdXSxbWzY0MTc2LDY0MTc2XSxcIm1hcHBlZFwiLFszMjI0NF1dLFtbNjQxNzcsNjQxNzddLFwibWFwcGVkXCIsWzMyNTc0XV0sW1s2NDE3OCw2NDE3OF0sXCJtYXBwZWRcIixbMzI3NzNdXSxbWzY0MTc5LDY0MTc5XSxcIm1hcHBlZFwiLFszMzYxOF1dLFtbNjQxODAsNjQxODBdLFwibWFwcGVkXCIsWzMzNzc1XV0sW1s2NDE4MSw2NDE4MV0sXCJtYXBwZWRcIixbMzQ2ODFdXSxbWzY0MTgyLDY0MTgyXSxcIm1hcHBlZFwiLFszNTEzN11dLFtbNjQxODMsNjQxODNdLFwibWFwcGVkXCIsWzM1MjA2XV0sW1s2NDE4NCw2NDE4NF0sXCJtYXBwZWRcIixbMzUyMjJdXSxbWzY0MTg1LDY0MTg1XSxcIm1hcHBlZFwiLFszNTUxOV1dLFtbNjQxODYsNjQxODZdLFwibWFwcGVkXCIsWzM1NTc2XV0sW1s2NDE4Nyw2NDE4N10sXCJtYXBwZWRcIixbMzU1MzFdXSxbWzY0MTg4LDY0MTg4XSxcIm1hcHBlZFwiLFszNTU4NV1dLFtbNjQxODksNjQxODldLFwibWFwcGVkXCIsWzM1NTgyXV0sW1s2NDE5MCw2NDE5MF0sXCJtYXBwZWRcIixbMzU1NjVdXSxbWzY0MTkxLDY0MTkxXSxcIm1hcHBlZFwiLFszNTY0MV1dLFtbNjQxOTIsNjQxOTJdLFwibWFwcGVkXCIsWzM1NzIyXV0sW1s2NDE5Myw2NDE5M10sXCJtYXBwZWRcIixbMzYxMDRdXSxbWzY0MTk0LDY0MTk0XSxcIm1hcHBlZFwiLFszNjY2NF1dLFtbNjQxOTUsNjQxOTVdLFwibWFwcGVkXCIsWzM2OTc4XV0sW1s2NDE5Niw2NDE5Nl0sXCJtYXBwZWRcIixbMzcyNzNdXSxbWzY0MTk3LDY0MTk3XSxcIm1hcHBlZFwiLFszNzQ5NF1dLFtbNjQxOTgsNjQxOThdLFwibWFwcGVkXCIsWzM4NTI0XV0sW1s2NDE5OSw2NDE5OV0sXCJtYXBwZWRcIixbMzg2MjddXSxbWzY0MjAwLDY0MjAwXSxcIm1hcHBlZFwiLFszODc0Ml1dLFtbNjQyMDEsNjQyMDFdLFwibWFwcGVkXCIsWzM4ODc1XV0sW1s2NDIwMiw2NDIwMl0sXCJtYXBwZWRcIixbMzg5MTFdXSxbWzY0MjAzLDY0MjAzXSxcIm1hcHBlZFwiLFszODkyM11dLFtbNjQyMDQsNjQyMDRdLFwibWFwcGVkXCIsWzM4OTcxXV0sW1s2NDIwNSw2NDIwNV0sXCJtYXBwZWRcIixbMzk2OThdXSxbWzY0MjA2LDY0MjA2XSxcIm1hcHBlZFwiLFs0MDg2MF1dLFtbNjQyMDcsNjQyMDddLFwibWFwcGVkXCIsWzE0MTM4Nl1dLFtbNjQyMDgsNjQyMDhdLFwibWFwcGVkXCIsWzE0MTM4MF1dLFtbNjQyMDksNjQyMDldLFwibWFwcGVkXCIsWzE0NDM0MV1dLFtbNjQyMTAsNjQyMTBdLFwibWFwcGVkXCIsWzE1MjYxXV0sW1s2NDIxMSw2NDIxMV0sXCJtYXBwZWRcIixbMTY0MDhdXSxbWzY0MjEyLDY0MjEyXSxcIm1hcHBlZFwiLFsxNjQ0MV1dLFtbNjQyMTMsNjQyMTNdLFwibWFwcGVkXCIsWzE1MjEzN11dLFtbNjQyMTQsNjQyMTRdLFwibWFwcGVkXCIsWzE1NDgzMl1dLFtbNjQyMTUsNjQyMTVdLFwibWFwcGVkXCIsWzE2MzUzOV1dLFtbNjQyMTYsNjQyMTZdLFwibWFwcGVkXCIsWzQwNzcxXV0sW1s2NDIxNyw2NDIxN10sXCJtYXBwZWRcIixbNDA4NDZdXSxbWzY0MjE4LDY0MjU1XSxcImRpc2FsbG93ZWRcIl0sW1s2NDI1Niw2NDI1Nl0sXCJtYXBwZWRcIixbMTAyLDEwMl1dLFtbNjQyNTcsNjQyNTddLFwibWFwcGVkXCIsWzEwMiwxMDVdXSxbWzY0MjU4LDY0MjU4XSxcIm1hcHBlZFwiLFsxMDIsMTA4XV0sW1s2NDI1OSw2NDI1OV0sXCJtYXBwZWRcIixbMTAyLDEwMiwxMDVdXSxbWzY0MjYwLDY0MjYwXSxcIm1hcHBlZFwiLFsxMDIsMTAyLDEwOF1dLFtbNjQyNjEsNjQyNjJdLFwibWFwcGVkXCIsWzExNSwxMTZdXSxbWzY0MjYzLDY0Mjc0XSxcImRpc2FsbG93ZWRcIl0sW1s2NDI3NSw2NDI3NV0sXCJtYXBwZWRcIixbMTM5NiwxMzk4XV0sW1s2NDI3Niw2NDI3Nl0sXCJtYXBwZWRcIixbMTM5NiwxMzgxXV0sW1s2NDI3Nyw2NDI3N10sXCJtYXBwZWRcIixbMTM5NiwxMzg3XV0sW1s2NDI3OCw2NDI3OF0sXCJtYXBwZWRcIixbMTQwNiwxMzk4XV0sW1s2NDI3OSw2NDI3OV0sXCJtYXBwZWRcIixbMTM5NiwxMzg5XV0sW1s2NDI4MCw2NDI4NF0sXCJkaXNhbGxvd2VkXCJdLFtbNjQyODUsNjQyODVdLFwibWFwcGVkXCIsWzE0OTcsMTQ2MF1dLFtbNjQyODYsNjQyODZdLFwidmFsaWRcIl0sW1s2NDI4Nyw2NDI4N10sXCJtYXBwZWRcIixbMTUyMiwxNDYzXV0sW1s2NDI4OCw2NDI4OF0sXCJtYXBwZWRcIixbMTUwNl1dLFtbNjQyODksNjQyODldLFwibWFwcGVkXCIsWzE0ODhdXSxbWzY0MjkwLDY0MjkwXSxcIm1hcHBlZFwiLFsxNDkxXV0sW1s2NDI5MSw2NDI5MV0sXCJtYXBwZWRcIixbMTQ5Ml1dLFtbNjQyOTIsNjQyOTJdLFwibWFwcGVkXCIsWzE0OTldXSxbWzY0MjkzLDY0MjkzXSxcIm1hcHBlZFwiLFsxNTAwXV0sW1s2NDI5NCw2NDI5NF0sXCJtYXBwZWRcIixbMTUwMV1dLFtbNjQyOTUsNjQyOTVdLFwibWFwcGVkXCIsWzE1MTJdXSxbWzY0Mjk2LDY0Mjk2XSxcIm1hcHBlZFwiLFsxNTE0XV0sW1s2NDI5Nyw2NDI5N10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQzXV0sW1s2NDI5OCw2NDI5OF0sXCJtYXBwZWRcIixbMTUxMywxNDczXV0sW1s2NDI5OSw2NDI5OV0sXCJtYXBwZWRcIixbMTUxMywxNDc0XV0sW1s2NDMwMCw2NDMwMF0sXCJtYXBwZWRcIixbMTUxMywxNDY4LDE0NzNdXSxbWzY0MzAxLDY0MzAxXSxcIm1hcHBlZFwiLFsxNTEzLDE0NjgsMTQ3NF1dLFtbNjQzMDIsNjQzMDJdLFwibWFwcGVkXCIsWzE0ODgsMTQ2M11dLFtbNjQzMDMsNjQzMDNdLFwibWFwcGVkXCIsWzE0ODgsMTQ2NF1dLFtbNjQzMDQsNjQzMDRdLFwibWFwcGVkXCIsWzE0ODgsMTQ2OF1dLFtbNjQzMDUsNjQzMDVdLFwibWFwcGVkXCIsWzE0ODksMTQ2OF1dLFtbNjQzMDYsNjQzMDZdLFwibWFwcGVkXCIsWzE0OTAsMTQ2OF1dLFtbNjQzMDcsNjQzMDddLFwibWFwcGVkXCIsWzE0OTEsMTQ2OF1dLFtbNjQzMDgsNjQzMDhdLFwibWFwcGVkXCIsWzE0OTIsMTQ2OF1dLFtbNjQzMDksNjQzMDldLFwibWFwcGVkXCIsWzE0OTMsMTQ2OF1dLFtbNjQzMTAsNjQzMTBdLFwibWFwcGVkXCIsWzE0OTQsMTQ2OF1dLFtbNjQzMTEsNjQzMTFdLFwiZGlzYWxsb3dlZFwiXSxbWzY0MzEyLDY0MzEyXSxcIm1hcHBlZFwiLFsxNDk2LDE0NjhdXSxbWzY0MzEzLDY0MzEzXSxcIm1hcHBlZFwiLFsxNDk3LDE0NjhdXSxbWzY0MzE0LDY0MzE0XSxcIm1hcHBlZFwiLFsxNDk4LDE0NjhdXSxbWzY0MzE1LDY0MzE1XSxcIm1hcHBlZFwiLFsxNDk5LDE0NjhdXSxbWzY0MzE2LDY0MzE2XSxcIm1hcHBlZFwiLFsxNTAwLDE0NjhdXSxbWzY0MzE3LDY0MzE3XSxcImRpc2FsbG93ZWRcIl0sW1s2NDMxOCw2NDMxOF0sXCJtYXBwZWRcIixbMTUwMiwxNDY4XV0sW1s2NDMxOSw2NDMxOV0sXCJkaXNhbGxvd2VkXCJdLFtbNjQzMjAsNjQzMjBdLFwibWFwcGVkXCIsWzE1MDQsMTQ2OF1dLFtbNjQzMjEsNjQzMjFdLFwibWFwcGVkXCIsWzE1MDUsMTQ2OF1dLFtbNjQzMjIsNjQzMjJdLFwiZGlzYWxsb3dlZFwiXSxbWzY0MzIzLDY0MzIzXSxcIm1hcHBlZFwiLFsxNTA3LDE0NjhdXSxbWzY0MzI0LDY0MzI0XSxcIm1hcHBlZFwiLFsxNTA4LDE0NjhdXSxbWzY0MzI1LDY0MzI1XSxcImRpc2FsbG93ZWRcIl0sW1s2NDMyNiw2NDMyNl0sXCJtYXBwZWRcIixbMTUxMCwxNDY4XV0sW1s2NDMyNyw2NDMyN10sXCJtYXBwZWRcIixbMTUxMSwxNDY4XV0sW1s2NDMyOCw2NDMyOF0sXCJtYXBwZWRcIixbMTUxMiwxNDY4XV0sW1s2NDMyOSw2NDMyOV0sXCJtYXBwZWRcIixbMTUxMywxNDY4XV0sW1s2NDMzMCw2NDMzMF0sXCJtYXBwZWRcIixbMTUxNCwxNDY4XV0sW1s2NDMzMSw2NDMzMV0sXCJtYXBwZWRcIixbMTQ5MywxNDY1XV0sW1s2NDMzMiw2NDMzMl0sXCJtYXBwZWRcIixbMTQ4OSwxNDcxXV0sW1s2NDMzMyw2NDMzM10sXCJtYXBwZWRcIixbMTQ5OSwxNDcxXV0sW1s2NDMzNCw2NDMzNF0sXCJtYXBwZWRcIixbMTUwOCwxNDcxXV0sW1s2NDMzNSw2NDMzNV0sXCJtYXBwZWRcIixbMTQ4OCwxNTAwXV0sW1s2NDMzNiw2NDMzN10sXCJtYXBwZWRcIixbMTY0OV1dLFtbNjQzMzgsNjQzNDFdLFwibWFwcGVkXCIsWzE2NTldXSxbWzY0MzQyLDY0MzQ1XSxcIm1hcHBlZFwiLFsxNjYyXV0sW1s2NDM0Niw2NDM0OV0sXCJtYXBwZWRcIixbMTY2NF1dLFtbNjQzNTAsNjQzNTNdLFwibWFwcGVkXCIsWzE2NThdXSxbWzY0MzU0LDY0MzU3XSxcIm1hcHBlZFwiLFsxNjYzXV0sW1s2NDM1OCw2NDM2MV0sXCJtYXBwZWRcIixbMTY1N11dLFtbNjQzNjIsNjQzNjVdLFwibWFwcGVkXCIsWzE3MDBdXSxbWzY0MzY2LDY0MzY5XSxcIm1hcHBlZFwiLFsxNzAyXV0sW1s2NDM3MCw2NDM3M10sXCJtYXBwZWRcIixbMTY2OF1dLFtbNjQzNzQsNjQzNzddLFwibWFwcGVkXCIsWzE2NjddXSxbWzY0Mzc4LDY0MzgxXSxcIm1hcHBlZFwiLFsxNjcwXV0sW1s2NDM4Miw2NDM4NV0sXCJtYXBwZWRcIixbMTY3MV1dLFtbNjQzODYsNjQzODddLFwibWFwcGVkXCIsWzE2NzddXSxbWzY0Mzg4LDY0Mzg5XSxcIm1hcHBlZFwiLFsxNjc2XV0sW1s2NDM5MCw2NDM5MV0sXCJtYXBwZWRcIixbMTY3OF1dLFtbNjQzOTIsNjQzOTNdLFwibWFwcGVkXCIsWzE2NzJdXSxbWzY0Mzk0LDY0Mzk1XSxcIm1hcHBlZFwiLFsxNjg4XV0sW1s2NDM5Niw2NDM5N10sXCJtYXBwZWRcIixbMTY4MV1dLFtbNjQzOTgsNjQ0MDFdLFwibWFwcGVkXCIsWzE3MDVdXSxbWzY0NDAyLDY0NDA1XSxcIm1hcHBlZFwiLFsxNzExXV0sW1s2NDQwNiw2NDQwOV0sXCJtYXBwZWRcIixbMTcxNV1dLFtbNjQ0MTAsNjQ0MTNdLFwibWFwcGVkXCIsWzE3MTNdXSxbWzY0NDE0LDY0NDE1XSxcIm1hcHBlZFwiLFsxNzIyXV0sW1s2NDQxNiw2NDQxOV0sXCJtYXBwZWRcIixbMTcyM11dLFtbNjQ0MjAsNjQ0MjFdLFwibWFwcGVkXCIsWzE3MjhdXSxbWzY0NDIyLDY0NDI1XSxcIm1hcHBlZFwiLFsxNzI5XV0sW1s2NDQyNiw2NDQyOV0sXCJtYXBwZWRcIixbMTcyNl1dLFtbNjQ0MzAsNjQ0MzFdLFwibWFwcGVkXCIsWzE3NDZdXSxbWzY0NDMyLDY0NDMzXSxcIm1hcHBlZFwiLFsxNzQ3XV0sW1s2NDQzNCw2NDQ0OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjQ0NTAsNjQ0NjZdLFwiZGlzYWxsb3dlZFwiXSxbWzY0NDY3LDY0NDcwXSxcIm1hcHBlZFwiLFsxNzA5XV0sW1s2NDQ3MSw2NDQ3Ml0sXCJtYXBwZWRcIixbMTczNV1dLFtbNjQ0NzMsNjQ0NzRdLFwibWFwcGVkXCIsWzE3MzRdXSxbWzY0NDc1LDY0NDc2XSxcIm1hcHBlZFwiLFsxNzM2XV0sW1s2NDQ3Nyw2NDQ3N10sXCJtYXBwZWRcIixbMTczNSwxNjUyXV0sW1s2NDQ3OCw2NDQ3OV0sXCJtYXBwZWRcIixbMTczOV1dLFtbNjQ0ODAsNjQ0ODFdLFwibWFwcGVkXCIsWzE3MzNdXSxbWzY0NDgyLDY0NDgzXSxcIm1hcHBlZFwiLFsxNzM3XV0sW1s2NDQ4NCw2NDQ4N10sXCJtYXBwZWRcIixbMTc0NF1dLFtbNjQ0ODgsNjQ0ODldLFwibWFwcGVkXCIsWzE2MDldXSxbWzY0NDkwLDY0NDkxXSxcIm1hcHBlZFwiLFsxNTc0LDE1NzVdXSxbWzY0NDkyLDY0NDkzXSxcIm1hcHBlZFwiLFsxNTc0LDE3NDldXSxbWzY0NDk0LDY0NDk1XSxcIm1hcHBlZFwiLFsxNTc0LDE2MDhdXSxbWzY0NDk2LDY0NDk3XSxcIm1hcHBlZFwiLFsxNTc0LDE3MzVdXSxbWzY0NDk4LDY0NDk5XSxcIm1hcHBlZFwiLFsxNTc0LDE3MzRdXSxbWzY0NTAwLDY0NTAxXSxcIm1hcHBlZFwiLFsxNTc0LDE3MzZdXSxbWzY0NTAyLDY0NTA0XSxcIm1hcHBlZFwiLFsxNTc0LDE3NDRdXSxbWzY0NTA1LDY0NTA3XSxcIm1hcHBlZFwiLFsxNTc0LDE2MDldXSxbWzY0NTA4LDY0NTExXSxcIm1hcHBlZFwiLFsxNzQwXV0sW1s2NDUxMiw2NDUxMl0sXCJtYXBwZWRcIixbMTU3NCwxNTgwXV0sW1s2NDUxMyw2NDUxM10sXCJtYXBwZWRcIixbMTU3NCwxNTgxXV0sW1s2NDUxNCw2NDUxNF0sXCJtYXBwZWRcIixbMTU3NCwxNjA1XV0sW1s2NDUxNSw2NDUxNV0sXCJtYXBwZWRcIixbMTU3NCwxNjA5XV0sW1s2NDUxNiw2NDUxNl0sXCJtYXBwZWRcIixbMTU3NCwxNjEwXV0sW1s2NDUxNyw2NDUxN10sXCJtYXBwZWRcIixbMTU3NiwxNTgwXV0sW1s2NDUxOCw2NDUxOF0sXCJtYXBwZWRcIixbMTU3NiwxNTgxXV0sW1s2NDUxOSw2NDUxOV0sXCJtYXBwZWRcIixbMTU3NiwxNTgyXV0sW1s2NDUyMCw2NDUyMF0sXCJtYXBwZWRcIixbMTU3NiwxNjA1XV0sW1s2NDUyMSw2NDUyMV0sXCJtYXBwZWRcIixbMTU3NiwxNjA5XV0sW1s2NDUyMiw2NDUyMl0sXCJtYXBwZWRcIixbMTU3NiwxNjEwXV0sW1s2NDUyMyw2NDUyM10sXCJtYXBwZWRcIixbMTU3OCwxNTgwXV0sW1s2NDUyNCw2NDUyNF0sXCJtYXBwZWRcIixbMTU3OCwxNTgxXV0sW1s2NDUyNSw2NDUyNV0sXCJtYXBwZWRcIixbMTU3OCwxNTgyXV0sW1s2NDUyNiw2NDUyNl0sXCJtYXBwZWRcIixbMTU3OCwxNjA1XV0sW1s2NDUyNyw2NDUyN10sXCJtYXBwZWRcIixbMTU3OCwxNjA5XV0sW1s2NDUyOCw2NDUyOF0sXCJtYXBwZWRcIixbMTU3OCwxNjEwXV0sW1s2NDUyOSw2NDUyOV0sXCJtYXBwZWRcIixbMTU3OSwxNTgwXV0sW1s2NDUzMCw2NDUzMF0sXCJtYXBwZWRcIixbMTU3OSwxNjA1XV0sW1s2NDUzMSw2NDUzMV0sXCJtYXBwZWRcIixbMTU3OSwxNjA5XV0sW1s2NDUzMiw2NDUzMl0sXCJtYXBwZWRcIixbMTU3OSwxNjEwXV0sW1s2NDUzMyw2NDUzM10sXCJtYXBwZWRcIixbMTU4MCwxNTgxXV0sW1s2NDUzNCw2NDUzNF0sXCJtYXBwZWRcIixbMTU4MCwxNjA1XV0sW1s2NDUzNSw2NDUzNV0sXCJtYXBwZWRcIixbMTU4MSwxNTgwXV0sW1s2NDUzNiw2NDUzNl0sXCJtYXBwZWRcIixbMTU4MSwxNjA1XV0sW1s2NDUzNyw2NDUzN10sXCJtYXBwZWRcIixbMTU4MiwxNTgwXV0sW1s2NDUzOCw2NDUzOF0sXCJtYXBwZWRcIixbMTU4MiwxNTgxXV0sW1s2NDUzOSw2NDUzOV0sXCJtYXBwZWRcIixbMTU4MiwxNjA1XV0sW1s2NDU0MCw2NDU0MF0sXCJtYXBwZWRcIixbMTU4NywxNTgwXV0sW1s2NDU0MSw2NDU0MV0sXCJtYXBwZWRcIixbMTU4NywxNTgxXV0sW1s2NDU0Miw2NDU0Ml0sXCJtYXBwZWRcIixbMTU4NywxNTgyXV0sW1s2NDU0Myw2NDU0M10sXCJtYXBwZWRcIixbMTU4NywxNjA1XV0sW1s2NDU0NCw2NDU0NF0sXCJtYXBwZWRcIixbMTU4OSwxNTgxXV0sW1s2NDU0NSw2NDU0NV0sXCJtYXBwZWRcIixbMTU4OSwxNjA1XV0sW1s2NDU0Niw2NDU0Nl0sXCJtYXBwZWRcIixbMTU5MCwxNTgwXV0sW1s2NDU0Nyw2NDU0N10sXCJtYXBwZWRcIixbMTU5MCwxNTgxXV0sW1s2NDU0OCw2NDU0OF0sXCJtYXBwZWRcIixbMTU5MCwxNTgyXV0sW1s2NDU0OSw2NDU0OV0sXCJtYXBwZWRcIixbMTU5MCwxNjA1XV0sW1s2NDU1MCw2NDU1MF0sXCJtYXBwZWRcIixbMTU5MSwxNTgxXV0sW1s2NDU1MSw2NDU1MV0sXCJtYXBwZWRcIixbMTU5MSwxNjA1XV0sW1s2NDU1Miw2NDU1Ml0sXCJtYXBwZWRcIixbMTU5MiwxNjA1XV0sW1s2NDU1Myw2NDU1M10sXCJtYXBwZWRcIixbMTU5MywxNTgwXV0sW1s2NDU1NCw2NDU1NF0sXCJtYXBwZWRcIixbMTU5MywxNjA1XV0sW1s2NDU1NSw2NDU1NV0sXCJtYXBwZWRcIixbMTU5NCwxNTgwXV0sW1s2NDU1Niw2NDU1Nl0sXCJtYXBwZWRcIixbMTU5NCwxNjA1XV0sW1s2NDU1Nyw2NDU1N10sXCJtYXBwZWRcIixbMTYwMSwxNTgwXV0sW1s2NDU1OCw2NDU1OF0sXCJtYXBwZWRcIixbMTYwMSwxNTgxXV0sW1s2NDU1OSw2NDU1OV0sXCJtYXBwZWRcIixbMTYwMSwxNTgyXV0sW1s2NDU2MCw2NDU2MF0sXCJtYXBwZWRcIixbMTYwMSwxNjA1XV0sW1s2NDU2MSw2NDU2MV0sXCJtYXBwZWRcIixbMTYwMSwxNjA5XV0sW1s2NDU2Miw2NDU2Ml0sXCJtYXBwZWRcIixbMTYwMSwxNjEwXV0sW1s2NDU2Myw2NDU2M10sXCJtYXBwZWRcIixbMTYwMiwxNTgxXV0sW1s2NDU2NCw2NDU2NF0sXCJtYXBwZWRcIixbMTYwMiwxNjA1XV0sW1s2NDU2NSw2NDU2NV0sXCJtYXBwZWRcIixbMTYwMiwxNjA5XV0sW1s2NDU2Niw2NDU2Nl0sXCJtYXBwZWRcIixbMTYwMiwxNjEwXV0sW1s2NDU2Nyw2NDU2N10sXCJtYXBwZWRcIixbMTYwMywxNTc1XV0sW1s2NDU2OCw2NDU2OF0sXCJtYXBwZWRcIixbMTYwMywxNTgwXV0sW1s2NDU2OSw2NDU2OV0sXCJtYXBwZWRcIixbMTYwMywxNTgxXV0sW1s2NDU3MCw2NDU3MF0sXCJtYXBwZWRcIixbMTYwMywxNTgyXV0sW1s2NDU3MSw2NDU3MV0sXCJtYXBwZWRcIixbMTYwMywxNjA0XV0sW1s2NDU3Miw2NDU3Ml0sXCJtYXBwZWRcIixbMTYwMywxNjA1XV0sW1s2NDU3Myw2NDU3M10sXCJtYXBwZWRcIixbMTYwMywxNjA5XV0sW1s2NDU3NCw2NDU3NF0sXCJtYXBwZWRcIixbMTYwMywxNjEwXV0sW1s2NDU3NSw2NDU3NV0sXCJtYXBwZWRcIixbMTYwNCwxNTgwXV0sW1s2NDU3Niw2NDU3Nl0sXCJtYXBwZWRcIixbMTYwNCwxNTgxXV0sW1s2NDU3Nyw2NDU3N10sXCJtYXBwZWRcIixbMTYwNCwxNTgyXV0sW1s2NDU3OCw2NDU3OF0sXCJtYXBwZWRcIixbMTYwNCwxNjA1XV0sW1s2NDU3OSw2NDU3OV0sXCJtYXBwZWRcIixbMTYwNCwxNjA5XV0sW1s2NDU4MCw2NDU4MF0sXCJtYXBwZWRcIixbMTYwNCwxNjEwXV0sW1s2NDU4MSw2NDU4MV0sXCJtYXBwZWRcIixbMTYwNSwxNTgwXV0sW1s2NDU4Miw2NDU4Ml0sXCJtYXBwZWRcIixbMTYwNSwxNTgxXV0sW1s2NDU4Myw2NDU4M10sXCJtYXBwZWRcIixbMTYwNSwxNTgyXV0sW1s2NDU4NCw2NDU4NF0sXCJtYXBwZWRcIixbMTYwNSwxNjA1XV0sW1s2NDU4NSw2NDU4NV0sXCJtYXBwZWRcIixbMTYwNSwxNjA5XV0sW1s2NDU4Niw2NDU4Nl0sXCJtYXBwZWRcIixbMTYwNSwxNjEwXV0sW1s2NDU4Nyw2NDU4N10sXCJtYXBwZWRcIixbMTYwNiwxNTgwXV0sW1s2NDU4OCw2NDU4OF0sXCJtYXBwZWRcIixbMTYwNiwxNTgxXV0sW1s2NDU4OSw2NDU4OV0sXCJtYXBwZWRcIixbMTYwNiwxNTgyXV0sW1s2NDU5MCw2NDU5MF0sXCJtYXBwZWRcIixbMTYwNiwxNjA1XV0sW1s2NDU5MSw2NDU5MV0sXCJtYXBwZWRcIixbMTYwNiwxNjA5XV0sW1s2NDU5Miw2NDU5Ml0sXCJtYXBwZWRcIixbMTYwNiwxNjEwXV0sW1s2NDU5Myw2NDU5M10sXCJtYXBwZWRcIixbMTYwNywxNTgwXV0sW1s2NDU5NCw2NDU5NF0sXCJtYXBwZWRcIixbMTYwNywxNjA1XV0sW1s2NDU5NSw2NDU5NV0sXCJtYXBwZWRcIixbMTYwNywxNjA5XV0sW1s2NDU5Niw2NDU5Nl0sXCJtYXBwZWRcIixbMTYwNywxNjEwXV0sW1s2NDU5Nyw2NDU5N10sXCJtYXBwZWRcIixbMTYxMCwxNTgwXV0sW1s2NDU5OCw2NDU5OF0sXCJtYXBwZWRcIixbMTYxMCwxNTgxXV0sW1s2NDU5OSw2NDU5OV0sXCJtYXBwZWRcIixbMTYxMCwxNTgyXV0sW1s2NDYwMCw2NDYwMF0sXCJtYXBwZWRcIixbMTYxMCwxNjA1XV0sW1s2NDYwMSw2NDYwMV0sXCJtYXBwZWRcIixbMTYxMCwxNjA5XV0sW1s2NDYwMiw2NDYwMl0sXCJtYXBwZWRcIixbMTYxMCwxNjEwXV0sW1s2NDYwMyw2NDYwM10sXCJtYXBwZWRcIixbMTU4NCwxNjQ4XV0sW1s2NDYwNCw2NDYwNF0sXCJtYXBwZWRcIixbMTU4NSwxNjQ4XV0sW1s2NDYwNSw2NDYwNV0sXCJtYXBwZWRcIixbMTYwOSwxNjQ4XV0sW1s2NDYwNiw2NDYwNl0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDE2MTIsMTYxN11dLFtbNjQ2MDcsNjQ2MDddLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiwxNjEzLDE2MTddXSxbWzY0NjA4LDY0NjA4XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzIsMTYxNCwxNjE3XV0sW1s2NDYwOSw2NDYwOV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDE2MTUsMTYxN11dLFtbNjQ2MTAsNjQ2MTBdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiwxNjE2LDE2MTddXSxbWzY0NjExLDY0NjExXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzIsMTYxNywxNjQ4XV0sW1s2NDYxMiw2NDYxMl0sXCJtYXBwZWRcIixbMTU3NCwxNTg1XV0sW1s2NDYxMyw2NDYxM10sXCJtYXBwZWRcIixbMTU3NCwxNTg2XV0sW1s2NDYxNCw2NDYxNF0sXCJtYXBwZWRcIixbMTU3NCwxNjA1XV0sW1s2NDYxNSw2NDYxNV0sXCJtYXBwZWRcIixbMTU3NCwxNjA2XV0sW1s2NDYxNiw2NDYxNl0sXCJtYXBwZWRcIixbMTU3NCwxNjA5XV0sW1s2NDYxNyw2NDYxN10sXCJtYXBwZWRcIixbMTU3NCwxNjEwXV0sW1s2NDYxOCw2NDYxOF0sXCJtYXBwZWRcIixbMTU3NiwxNTg1XV0sW1s2NDYxOSw2NDYxOV0sXCJtYXBwZWRcIixbMTU3NiwxNTg2XV0sW1s2NDYyMCw2NDYyMF0sXCJtYXBwZWRcIixbMTU3NiwxNjA1XV0sW1s2NDYyMSw2NDYyMV0sXCJtYXBwZWRcIixbMTU3NiwxNjA2XV0sW1s2NDYyMiw2NDYyMl0sXCJtYXBwZWRcIixbMTU3NiwxNjA5XV0sW1s2NDYyMyw2NDYyM10sXCJtYXBwZWRcIixbMTU3NiwxNjEwXV0sW1s2NDYyNCw2NDYyNF0sXCJtYXBwZWRcIixbMTU3OCwxNTg1XV0sW1s2NDYyNSw2NDYyNV0sXCJtYXBwZWRcIixbMTU3OCwxNTg2XV0sW1s2NDYyNiw2NDYyNl0sXCJtYXBwZWRcIixbMTU3OCwxNjA1XV0sW1s2NDYyNyw2NDYyN10sXCJtYXBwZWRcIixbMTU3OCwxNjA2XV0sW1s2NDYyOCw2NDYyOF0sXCJtYXBwZWRcIixbMTU3OCwxNjA5XV0sW1s2NDYyOSw2NDYyOV0sXCJtYXBwZWRcIixbMTU3OCwxNjEwXV0sW1s2NDYzMCw2NDYzMF0sXCJtYXBwZWRcIixbMTU3OSwxNTg1XV0sW1s2NDYzMSw2NDYzMV0sXCJtYXBwZWRcIixbMTU3OSwxNTg2XV0sW1s2NDYzMiw2NDYzMl0sXCJtYXBwZWRcIixbMTU3OSwxNjA1XV0sW1s2NDYzMyw2NDYzM10sXCJtYXBwZWRcIixbMTU3OSwxNjA2XV0sW1s2NDYzNCw2NDYzNF0sXCJtYXBwZWRcIixbMTU3OSwxNjA5XV0sW1s2NDYzNSw2NDYzNV0sXCJtYXBwZWRcIixbMTU3OSwxNjEwXV0sW1s2NDYzNiw2NDYzNl0sXCJtYXBwZWRcIixbMTYwMSwxNjA5XV0sW1s2NDYzNyw2NDYzN10sXCJtYXBwZWRcIixbMTYwMSwxNjEwXV0sW1s2NDYzOCw2NDYzOF0sXCJtYXBwZWRcIixbMTYwMiwxNjA5XV0sW1s2NDYzOSw2NDYzOV0sXCJtYXBwZWRcIixbMTYwMiwxNjEwXV0sW1s2NDY0MCw2NDY0MF0sXCJtYXBwZWRcIixbMTYwMywxNTc1XV0sW1s2NDY0MSw2NDY0MV0sXCJtYXBwZWRcIixbMTYwMywxNjA0XV0sW1s2NDY0Miw2NDY0Ml0sXCJtYXBwZWRcIixbMTYwMywxNjA1XV0sW1s2NDY0Myw2NDY0M10sXCJtYXBwZWRcIixbMTYwMywxNjA5XV0sW1s2NDY0NCw2NDY0NF0sXCJtYXBwZWRcIixbMTYwMywxNjEwXV0sW1s2NDY0NSw2NDY0NV0sXCJtYXBwZWRcIixbMTYwNCwxNjA1XV0sW1s2NDY0Niw2NDY0Nl0sXCJtYXBwZWRcIixbMTYwNCwxNjA5XV0sW1s2NDY0Nyw2NDY0N10sXCJtYXBwZWRcIixbMTYwNCwxNjEwXV0sW1s2NDY0OCw2NDY0OF0sXCJtYXBwZWRcIixbMTYwNSwxNTc1XV0sW1s2NDY0OSw2NDY0OV0sXCJtYXBwZWRcIixbMTYwNSwxNjA1XV0sW1s2NDY1MCw2NDY1MF0sXCJtYXBwZWRcIixbMTYwNiwxNTg1XV0sW1s2NDY1MSw2NDY1MV0sXCJtYXBwZWRcIixbMTYwNiwxNTg2XV0sW1s2NDY1Miw2NDY1Ml0sXCJtYXBwZWRcIixbMTYwNiwxNjA1XV0sW1s2NDY1Myw2NDY1M10sXCJtYXBwZWRcIixbMTYwNiwxNjA2XV0sW1s2NDY1NCw2NDY1NF0sXCJtYXBwZWRcIixbMTYwNiwxNjA5XV0sW1s2NDY1NSw2NDY1NV0sXCJtYXBwZWRcIixbMTYwNiwxNjEwXV0sW1s2NDY1Niw2NDY1Nl0sXCJtYXBwZWRcIixbMTYwOSwxNjQ4XV0sW1s2NDY1Nyw2NDY1N10sXCJtYXBwZWRcIixbMTYxMCwxNTg1XV0sW1s2NDY1OCw2NDY1OF0sXCJtYXBwZWRcIixbMTYxMCwxNTg2XV0sW1s2NDY1OSw2NDY1OV0sXCJtYXBwZWRcIixbMTYxMCwxNjA1XV0sW1s2NDY2MCw2NDY2MF0sXCJtYXBwZWRcIixbMTYxMCwxNjA2XV0sW1s2NDY2MSw2NDY2MV0sXCJtYXBwZWRcIixbMTYxMCwxNjA5XV0sW1s2NDY2Miw2NDY2Ml0sXCJtYXBwZWRcIixbMTYxMCwxNjEwXV0sW1s2NDY2Myw2NDY2M10sXCJtYXBwZWRcIixbMTU3NCwxNTgwXV0sW1s2NDY2NCw2NDY2NF0sXCJtYXBwZWRcIixbMTU3NCwxNTgxXV0sW1s2NDY2NSw2NDY2NV0sXCJtYXBwZWRcIixbMTU3NCwxNTgyXV0sW1s2NDY2Niw2NDY2Nl0sXCJtYXBwZWRcIixbMTU3NCwxNjA1XV0sW1s2NDY2Nyw2NDY2N10sXCJtYXBwZWRcIixbMTU3NCwxNjA3XV0sW1s2NDY2OCw2NDY2OF0sXCJtYXBwZWRcIixbMTU3NiwxNTgwXV0sW1s2NDY2OSw2NDY2OV0sXCJtYXBwZWRcIixbMTU3NiwxNTgxXV0sW1s2NDY3MCw2NDY3MF0sXCJtYXBwZWRcIixbMTU3NiwxNTgyXV0sW1s2NDY3MSw2NDY3MV0sXCJtYXBwZWRcIixbMTU3NiwxNjA1XV0sW1s2NDY3Miw2NDY3Ml0sXCJtYXBwZWRcIixbMTU3NiwxNjA3XV0sW1s2NDY3Myw2NDY3M10sXCJtYXBwZWRcIixbMTU3OCwxNTgwXV0sW1s2NDY3NCw2NDY3NF0sXCJtYXBwZWRcIixbMTU3OCwxNTgxXV0sW1s2NDY3NSw2NDY3NV0sXCJtYXBwZWRcIixbMTU3OCwxNTgyXV0sW1s2NDY3Niw2NDY3Nl0sXCJtYXBwZWRcIixbMTU3OCwxNjA1XV0sW1s2NDY3Nyw2NDY3N10sXCJtYXBwZWRcIixbMTU3OCwxNjA3XV0sW1s2NDY3OCw2NDY3OF0sXCJtYXBwZWRcIixbMTU3OSwxNjA1XV0sW1s2NDY3OSw2NDY3OV0sXCJtYXBwZWRcIixbMTU4MCwxNTgxXV0sW1s2NDY4MCw2NDY4MF0sXCJtYXBwZWRcIixbMTU4MCwxNjA1XV0sW1s2NDY4MSw2NDY4MV0sXCJtYXBwZWRcIixbMTU4MSwxNTgwXV0sW1s2NDY4Miw2NDY4Ml0sXCJtYXBwZWRcIixbMTU4MSwxNjA1XV0sW1s2NDY4Myw2NDY4M10sXCJtYXBwZWRcIixbMTU4MiwxNTgwXV0sW1s2NDY4NCw2NDY4NF0sXCJtYXBwZWRcIixbMTU4MiwxNjA1XV0sW1s2NDY4NSw2NDY4NV0sXCJtYXBwZWRcIixbMTU4NywxNTgwXV0sW1s2NDY4Niw2NDY4Nl0sXCJtYXBwZWRcIixbMTU4NywxNTgxXV0sW1s2NDY4Nyw2NDY4N10sXCJtYXBwZWRcIixbMTU4NywxNTgyXV0sW1s2NDY4OCw2NDY4OF0sXCJtYXBwZWRcIixbMTU4NywxNjA1XV0sW1s2NDY4OSw2NDY4OV0sXCJtYXBwZWRcIixbMTU4OSwxNTgxXV0sW1s2NDY5MCw2NDY5MF0sXCJtYXBwZWRcIixbMTU4OSwxNTgyXV0sW1s2NDY5MSw2NDY5MV0sXCJtYXBwZWRcIixbMTU4OSwxNjA1XV0sW1s2NDY5Miw2NDY5Ml0sXCJtYXBwZWRcIixbMTU5MCwxNTgwXV0sW1s2NDY5Myw2NDY5M10sXCJtYXBwZWRcIixbMTU5MCwxNTgxXV0sW1s2NDY5NCw2NDY5NF0sXCJtYXBwZWRcIixbMTU5MCwxNTgyXV0sW1s2NDY5NSw2NDY5NV0sXCJtYXBwZWRcIixbMTU5MCwxNjA1XV0sW1s2NDY5Niw2NDY5Nl0sXCJtYXBwZWRcIixbMTU5MSwxNTgxXV0sW1s2NDY5Nyw2NDY5N10sXCJtYXBwZWRcIixbMTU5MiwxNjA1XV0sW1s2NDY5OCw2NDY5OF0sXCJtYXBwZWRcIixbMTU5MywxNTgwXV0sW1s2NDY5OSw2NDY5OV0sXCJtYXBwZWRcIixbMTU5MywxNjA1XV0sW1s2NDcwMCw2NDcwMF0sXCJtYXBwZWRcIixbMTU5NCwxNTgwXV0sW1s2NDcwMSw2NDcwMV0sXCJtYXBwZWRcIixbMTU5NCwxNjA1XV0sW1s2NDcwMiw2NDcwMl0sXCJtYXBwZWRcIixbMTYwMSwxNTgwXV0sW1s2NDcwMyw2NDcwM10sXCJtYXBwZWRcIixbMTYwMSwxNTgxXV0sW1s2NDcwNCw2NDcwNF0sXCJtYXBwZWRcIixbMTYwMSwxNTgyXV0sW1s2NDcwNSw2NDcwNV0sXCJtYXBwZWRcIixbMTYwMSwxNjA1XV0sW1s2NDcwNiw2NDcwNl0sXCJtYXBwZWRcIixbMTYwMiwxNTgxXV0sW1s2NDcwNyw2NDcwN10sXCJtYXBwZWRcIixbMTYwMiwxNjA1XV0sW1s2NDcwOCw2NDcwOF0sXCJtYXBwZWRcIixbMTYwMywxNTgwXV0sW1s2NDcwOSw2NDcwOV0sXCJtYXBwZWRcIixbMTYwMywxNTgxXV0sW1s2NDcxMCw2NDcxMF0sXCJtYXBwZWRcIixbMTYwMywxNTgyXV0sW1s2NDcxMSw2NDcxMV0sXCJtYXBwZWRcIixbMTYwMywxNjA0XV0sW1s2NDcxMiw2NDcxMl0sXCJtYXBwZWRcIixbMTYwMywxNjA1XV0sW1s2NDcxMyw2NDcxM10sXCJtYXBwZWRcIixbMTYwNCwxNTgwXV0sW1s2NDcxNCw2NDcxNF0sXCJtYXBwZWRcIixbMTYwNCwxNTgxXV0sW1s2NDcxNSw2NDcxNV0sXCJtYXBwZWRcIixbMTYwNCwxNTgyXV0sW1s2NDcxNiw2NDcxNl0sXCJtYXBwZWRcIixbMTYwNCwxNjA1XV0sW1s2NDcxNyw2NDcxN10sXCJtYXBwZWRcIixbMTYwNCwxNjA3XV0sW1s2NDcxOCw2NDcxOF0sXCJtYXBwZWRcIixbMTYwNSwxNTgwXV0sW1s2NDcxOSw2NDcxOV0sXCJtYXBwZWRcIixbMTYwNSwxNTgxXV0sW1s2NDcyMCw2NDcyMF0sXCJtYXBwZWRcIixbMTYwNSwxNTgyXV0sW1s2NDcyMSw2NDcyMV0sXCJtYXBwZWRcIixbMTYwNSwxNjA1XV0sW1s2NDcyMiw2NDcyMl0sXCJtYXBwZWRcIixbMTYwNiwxNTgwXV0sW1s2NDcyMyw2NDcyM10sXCJtYXBwZWRcIixbMTYwNiwxNTgxXV0sW1s2NDcyNCw2NDcyNF0sXCJtYXBwZWRcIixbMTYwNiwxNTgyXV0sW1s2NDcyNSw2NDcyNV0sXCJtYXBwZWRcIixbMTYwNiwxNjA1XV0sW1s2NDcyNiw2NDcyNl0sXCJtYXBwZWRcIixbMTYwNiwxNjA3XV0sW1s2NDcyNyw2NDcyN10sXCJtYXBwZWRcIixbMTYwNywxNTgwXV0sW1s2NDcyOCw2NDcyOF0sXCJtYXBwZWRcIixbMTYwNywxNjA1XV0sW1s2NDcyOSw2NDcyOV0sXCJtYXBwZWRcIixbMTYwNywxNjQ4XV0sW1s2NDczMCw2NDczMF0sXCJtYXBwZWRcIixbMTYxMCwxNTgwXV0sW1s2NDczMSw2NDczMV0sXCJtYXBwZWRcIixbMTYxMCwxNTgxXV0sW1s2NDczMiw2NDczMl0sXCJtYXBwZWRcIixbMTYxMCwxNTgyXV0sW1s2NDczMyw2NDczM10sXCJtYXBwZWRcIixbMTYxMCwxNjA1XV0sW1s2NDczNCw2NDczNF0sXCJtYXBwZWRcIixbMTYxMCwxNjA3XV0sW1s2NDczNSw2NDczNV0sXCJtYXBwZWRcIixbMTU3NCwxNjA1XV0sW1s2NDczNiw2NDczNl0sXCJtYXBwZWRcIixbMTU3NCwxNjA3XV0sW1s2NDczNyw2NDczN10sXCJtYXBwZWRcIixbMTU3NiwxNjA1XV0sW1s2NDczOCw2NDczOF0sXCJtYXBwZWRcIixbMTU3NiwxNjA3XV0sW1s2NDczOSw2NDczOV0sXCJtYXBwZWRcIixbMTU3OCwxNjA1XV0sW1s2NDc0MCw2NDc0MF0sXCJtYXBwZWRcIixbMTU3OCwxNjA3XV0sW1s2NDc0MSw2NDc0MV0sXCJtYXBwZWRcIixbMTU3OSwxNjA1XV0sW1s2NDc0Miw2NDc0Ml0sXCJtYXBwZWRcIixbMTU3OSwxNjA3XV0sW1s2NDc0Myw2NDc0M10sXCJtYXBwZWRcIixbMTU4NywxNjA1XV0sW1s2NDc0NCw2NDc0NF0sXCJtYXBwZWRcIixbMTU4NywxNjA3XV0sW1s2NDc0NSw2NDc0NV0sXCJtYXBwZWRcIixbMTU4OCwxNjA1XV0sW1s2NDc0Niw2NDc0Nl0sXCJtYXBwZWRcIixbMTU4OCwxNjA3XV0sW1s2NDc0Nyw2NDc0N10sXCJtYXBwZWRcIixbMTYwMywxNjA0XV0sW1s2NDc0OCw2NDc0OF0sXCJtYXBwZWRcIixbMTYwMywxNjA1XV0sW1s2NDc0OSw2NDc0OV0sXCJtYXBwZWRcIixbMTYwNCwxNjA1XV0sW1s2NDc1MCw2NDc1MF0sXCJtYXBwZWRcIixbMTYwNiwxNjA1XV0sW1s2NDc1MSw2NDc1MV0sXCJtYXBwZWRcIixbMTYwNiwxNjA3XV0sW1s2NDc1Miw2NDc1Ml0sXCJtYXBwZWRcIixbMTYxMCwxNjA1XV0sW1s2NDc1Myw2NDc1M10sXCJtYXBwZWRcIixbMTYxMCwxNjA3XV0sW1s2NDc1NCw2NDc1NF0sXCJtYXBwZWRcIixbMTYwMCwxNjE0LDE2MTddXSxbWzY0NzU1LDY0NzU1XSxcIm1hcHBlZFwiLFsxNjAwLDE2MTUsMTYxN11dLFtbNjQ3NTYsNjQ3NTZdLFwibWFwcGVkXCIsWzE2MDAsMTYxNiwxNjE3XV0sW1s2NDc1Nyw2NDc1N10sXCJtYXBwZWRcIixbMTU5MSwxNjA5XV0sW1s2NDc1OCw2NDc1OF0sXCJtYXBwZWRcIixbMTU5MSwxNjEwXV0sW1s2NDc1OSw2NDc1OV0sXCJtYXBwZWRcIixbMTU5MywxNjA5XV0sW1s2NDc2MCw2NDc2MF0sXCJtYXBwZWRcIixbMTU5MywxNjEwXV0sW1s2NDc2MSw2NDc2MV0sXCJtYXBwZWRcIixbMTU5NCwxNjA5XV0sW1s2NDc2Miw2NDc2Ml0sXCJtYXBwZWRcIixbMTU5NCwxNjEwXV0sW1s2NDc2Myw2NDc2M10sXCJtYXBwZWRcIixbMTU4NywxNjA5XV0sW1s2NDc2NCw2NDc2NF0sXCJtYXBwZWRcIixbMTU4NywxNjEwXV0sW1s2NDc2NSw2NDc2NV0sXCJtYXBwZWRcIixbMTU4OCwxNjA5XV0sW1s2NDc2Niw2NDc2Nl0sXCJtYXBwZWRcIixbMTU4OCwxNjEwXV0sW1s2NDc2Nyw2NDc2N10sXCJtYXBwZWRcIixbMTU4MSwxNjA5XV0sW1s2NDc2OCw2NDc2OF0sXCJtYXBwZWRcIixbMTU4MSwxNjEwXV0sW1s2NDc2OSw2NDc2OV0sXCJtYXBwZWRcIixbMTU4MCwxNjA5XV0sW1s2NDc3MCw2NDc3MF0sXCJtYXBwZWRcIixbMTU4MCwxNjEwXV0sW1s2NDc3MSw2NDc3MV0sXCJtYXBwZWRcIixbMTU4MiwxNjA5XV0sW1s2NDc3Miw2NDc3Ml0sXCJtYXBwZWRcIixbMTU4MiwxNjEwXV0sW1s2NDc3Myw2NDc3M10sXCJtYXBwZWRcIixbMTU4OSwxNjA5XV0sW1s2NDc3NCw2NDc3NF0sXCJtYXBwZWRcIixbMTU4OSwxNjEwXV0sW1s2NDc3NSw2NDc3NV0sXCJtYXBwZWRcIixbMTU5MCwxNjA5XV0sW1s2NDc3Niw2NDc3Nl0sXCJtYXBwZWRcIixbMTU5MCwxNjEwXV0sW1s2NDc3Nyw2NDc3N10sXCJtYXBwZWRcIixbMTU4OCwxNTgwXV0sW1s2NDc3OCw2NDc3OF0sXCJtYXBwZWRcIixbMTU4OCwxNTgxXV0sW1s2NDc3OSw2NDc3OV0sXCJtYXBwZWRcIixbMTU4OCwxNTgyXV0sW1s2NDc4MCw2NDc4MF0sXCJtYXBwZWRcIixbMTU4OCwxNjA1XV0sW1s2NDc4MSw2NDc4MV0sXCJtYXBwZWRcIixbMTU4OCwxNTg1XV0sW1s2NDc4Miw2NDc4Ml0sXCJtYXBwZWRcIixbMTU4NywxNTg1XV0sW1s2NDc4Myw2NDc4M10sXCJtYXBwZWRcIixbMTU4OSwxNTg1XV0sW1s2NDc4NCw2NDc4NF0sXCJtYXBwZWRcIixbMTU5MCwxNTg1XV0sW1s2NDc4NSw2NDc4NV0sXCJtYXBwZWRcIixbMTU5MSwxNjA5XV0sW1s2NDc4Niw2NDc4Nl0sXCJtYXBwZWRcIixbMTU5MSwxNjEwXV0sW1s2NDc4Nyw2NDc4N10sXCJtYXBwZWRcIixbMTU5MywxNjA5XV0sW1s2NDc4OCw2NDc4OF0sXCJtYXBwZWRcIixbMTU5MywxNjEwXV0sW1s2NDc4OSw2NDc4OV0sXCJtYXBwZWRcIixbMTU5NCwxNjA5XV0sW1s2NDc5MCw2NDc5MF0sXCJtYXBwZWRcIixbMTU5NCwxNjEwXV0sW1s2NDc5MSw2NDc5MV0sXCJtYXBwZWRcIixbMTU4NywxNjA5XV0sW1s2NDc5Miw2NDc5Ml0sXCJtYXBwZWRcIixbMTU4NywxNjEwXV0sW1s2NDc5Myw2NDc5M10sXCJtYXBwZWRcIixbMTU4OCwxNjA5XV0sW1s2NDc5NCw2NDc5NF0sXCJtYXBwZWRcIixbMTU4OCwxNjEwXV0sW1s2NDc5NSw2NDc5NV0sXCJtYXBwZWRcIixbMTU4MSwxNjA5XV0sW1s2NDc5Niw2NDc5Nl0sXCJtYXBwZWRcIixbMTU4MSwxNjEwXV0sW1s2NDc5Nyw2NDc5N10sXCJtYXBwZWRcIixbMTU4MCwxNjA5XV0sW1s2NDc5OCw2NDc5OF0sXCJtYXBwZWRcIixbMTU4MCwxNjEwXV0sW1s2NDc5OSw2NDc5OV0sXCJtYXBwZWRcIixbMTU4MiwxNjA5XV0sW1s2NDgwMCw2NDgwMF0sXCJtYXBwZWRcIixbMTU4MiwxNjEwXV0sW1s2NDgwMSw2NDgwMV0sXCJtYXBwZWRcIixbMTU4OSwxNjA5XV0sW1s2NDgwMiw2NDgwMl0sXCJtYXBwZWRcIixbMTU4OSwxNjEwXV0sW1s2NDgwMyw2NDgwM10sXCJtYXBwZWRcIixbMTU5MCwxNjA5XV0sW1s2NDgwNCw2NDgwNF0sXCJtYXBwZWRcIixbMTU5MCwxNjEwXV0sW1s2NDgwNSw2NDgwNV0sXCJtYXBwZWRcIixbMTU4OCwxNTgwXV0sW1s2NDgwNiw2NDgwNl0sXCJtYXBwZWRcIixbMTU4OCwxNTgxXV0sW1s2NDgwNyw2NDgwN10sXCJtYXBwZWRcIixbMTU4OCwxNTgyXV0sW1s2NDgwOCw2NDgwOF0sXCJtYXBwZWRcIixbMTU4OCwxNjA1XV0sW1s2NDgwOSw2NDgwOV0sXCJtYXBwZWRcIixbMTU4OCwxNTg1XV0sW1s2NDgxMCw2NDgxMF0sXCJtYXBwZWRcIixbMTU4NywxNTg1XV0sW1s2NDgxMSw2NDgxMV0sXCJtYXBwZWRcIixbMTU4OSwxNTg1XV0sW1s2NDgxMiw2NDgxMl0sXCJtYXBwZWRcIixbMTU5MCwxNTg1XV0sW1s2NDgxMyw2NDgxM10sXCJtYXBwZWRcIixbMTU4OCwxNTgwXV0sW1s2NDgxNCw2NDgxNF0sXCJtYXBwZWRcIixbMTU4OCwxNTgxXV0sW1s2NDgxNSw2NDgxNV0sXCJtYXBwZWRcIixbMTU4OCwxNTgyXV0sW1s2NDgxNiw2NDgxNl0sXCJtYXBwZWRcIixbMTU4OCwxNjA1XV0sW1s2NDgxNyw2NDgxN10sXCJtYXBwZWRcIixbMTU4NywxNjA3XV0sW1s2NDgxOCw2NDgxOF0sXCJtYXBwZWRcIixbMTU4OCwxNjA3XV0sW1s2NDgxOSw2NDgxOV0sXCJtYXBwZWRcIixbMTU5MSwxNjA1XV0sW1s2NDgyMCw2NDgyMF0sXCJtYXBwZWRcIixbMTU4NywxNTgwXV0sW1s2NDgyMSw2NDgyMV0sXCJtYXBwZWRcIixbMTU4NywxNTgxXV0sW1s2NDgyMiw2NDgyMl0sXCJtYXBwZWRcIixbMTU4NywxNTgyXV0sW1s2NDgyMyw2NDgyM10sXCJtYXBwZWRcIixbMTU4OCwxNTgwXV0sW1s2NDgyNCw2NDgyNF0sXCJtYXBwZWRcIixbMTU4OCwxNTgxXV0sW1s2NDgyNSw2NDgyNV0sXCJtYXBwZWRcIixbMTU4OCwxNTgyXV0sW1s2NDgyNiw2NDgyNl0sXCJtYXBwZWRcIixbMTU5MSwxNjA1XV0sW1s2NDgyNyw2NDgyN10sXCJtYXBwZWRcIixbMTU5MiwxNjA1XV0sW1s2NDgyOCw2NDgyOV0sXCJtYXBwZWRcIixbMTU3NSwxNjExXV0sW1s2NDgzMCw2NDgzMV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjQ4MzIsNjQ4NDddLFwiZGlzYWxsb3dlZFwiXSxbWzY0ODQ4LDY0ODQ4XSxcIm1hcHBlZFwiLFsxNTc4LDE1ODAsMTYwNV1dLFtbNjQ4NDksNjQ4NTBdLFwibWFwcGVkXCIsWzE1NzgsMTU4MSwxNTgwXV0sW1s2NDg1MSw2NDg1MV0sXCJtYXBwZWRcIixbMTU3OCwxNTgxLDE2MDVdXSxbWzY0ODUyLDY0ODUyXSxcIm1hcHBlZFwiLFsxNTc4LDE1ODIsMTYwNV1dLFtbNjQ4NTMsNjQ4NTNdLFwibWFwcGVkXCIsWzE1NzgsMTYwNSwxNTgwXV0sW1s2NDg1NCw2NDg1NF0sXCJtYXBwZWRcIixbMTU3OCwxNjA1LDE1ODFdXSxbWzY0ODU1LDY0ODU1XSxcIm1hcHBlZFwiLFsxNTc4LDE2MDUsMTU4Ml1dLFtbNjQ4NTYsNjQ4NTddLFwibWFwcGVkXCIsWzE1ODAsMTYwNSwxNTgxXV0sW1s2NDg1OCw2NDg1OF0sXCJtYXBwZWRcIixbMTU4MSwxNjA1LDE2MTBdXSxbWzY0ODU5LDY0ODU5XSxcIm1hcHBlZFwiLFsxNTgxLDE2MDUsMTYwOV1dLFtbNjQ4NjAsNjQ4NjBdLFwibWFwcGVkXCIsWzE1ODcsMTU4MSwxNTgwXV0sW1s2NDg2MSw2NDg2MV0sXCJtYXBwZWRcIixbMTU4NywxNTgwLDE1ODFdXSxbWzY0ODYyLDY0ODYyXSxcIm1hcHBlZFwiLFsxNTg3LDE1ODAsMTYwOV1dLFtbNjQ4NjMsNjQ4NjRdLFwibWFwcGVkXCIsWzE1ODcsMTYwNSwxNTgxXV0sW1s2NDg2NSw2NDg2NV0sXCJtYXBwZWRcIixbMTU4NywxNjA1LDE1ODBdXSxbWzY0ODY2LDY0ODY3XSxcIm1hcHBlZFwiLFsxNTg3LDE2MDUsMTYwNV1dLFtbNjQ4NjgsNjQ4NjldLFwibWFwcGVkXCIsWzE1ODksMTU4MSwxNTgxXV0sW1s2NDg3MCw2NDg3MF0sXCJtYXBwZWRcIixbMTU4OSwxNjA1LDE2MDVdXSxbWzY0ODcxLDY0ODcyXSxcIm1hcHBlZFwiLFsxNTg4LDE1ODEsMTYwNV1dLFtbNjQ4NzMsNjQ4NzNdLFwibWFwcGVkXCIsWzE1ODgsMTU4MCwxNjEwXV0sW1s2NDg3NCw2NDg3NV0sXCJtYXBwZWRcIixbMTU4OCwxNjA1LDE1ODJdXSxbWzY0ODc2LDY0ODc3XSxcIm1hcHBlZFwiLFsxNTg4LDE2MDUsMTYwNV1dLFtbNjQ4NzgsNjQ4NzhdLFwibWFwcGVkXCIsWzE1OTAsMTU4MSwxNjA5XV0sW1s2NDg3OSw2NDg4MF0sXCJtYXBwZWRcIixbMTU5MCwxNTgyLDE2MDVdXSxbWzY0ODgxLDY0ODgyXSxcIm1hcHBlZFwiLFsxNTkxLDE2MDUsMTU4MV1dLFtbNjQ4ODMsNjQ4ODNdLFwibWFwcGVkXCIsWzE1OTEsMTYwNSwxNjA1XV0sW1s2NDg4NCw2NDg4NF0sXCJtYXBwZWRcIixbMTU5MSwxNjA1LDE2MTBdXSxbWzY0ODg1LDY0ODg1XSxcIm1hcHBlZFwiLFsxNTkzLDE1ODAsMTYwNV1dLFtbNjQ4ODYsNjQ4ODddLFwibWFwcGVkXCIsWzE1OTMsMTYwNSwxNjA1XV0sW1s2NDg4OCw2NDg4OF0sXCJtYXBwZWRcIixbMTU5MywxNjA1LDE2MDldXSxbWzY0ODg5LDY0ODg5XSxcIm1hcHBlZFwiLFsxNTk0LDE2MDUsMTYwNV1dLFtbNjQ4OTAsNjQ4OTBdLFwibWFwcGVkXCIsWzE1OTQsMTYwNSwxNjEwXV0sW1s2NDg5MSw2NDg5MV0sXCJtYXBwZWRcIixbMTU5NCwxNjA1LDE2MDldXSxbWzY0ODkyLDY0ODkzXSxcIm1hcHBlZFwiLFsxNjAxLDE1ODIsMTYwNV1dLFtbNjQ4OTQsNjQ4OTRdLFwibWFwcGVkXCIsWzE2MDIsMTYwNSwxNTgxXV0sW1s2NDg5NSw2NDg5NV0sXCJtYXBwZWRcIixbMTYwMiwxNjA1LDE2MDVdXSxbWzY0ODk2LDY0ODk2XSxcIm1hcHBlZFwiLFsxNjA0LDE1ODEsMTYwNV1dLFtbNjQ4OTcsNjQ4OTddLFwibWFwcGVkXCIsWzE2MDQsMTU4MSwxNjEwXV0sW1s2NDg5OCw2NDg5OF0sXCJtYXBwZWRcIixbMTYwNCwxNTgxLDE2MDldXSxbWzY0ODk5LDY0OTAwXSxcIm1hcHBlZFwiLFsxNjA0LDE1ODAsMTU4MF1dLFtbNjQ5MDEsNjQ5MDJdLFwibWFwcGVkXCIsWzE2MDQsMTU4MiwxNjA1XV0sW1s2NDkwMyw2NDkwNF0sXCJtYXBwZWRcIixbMTYwNCwxNjA1LDE1ODFdXSxbWzY0OTA1LDY0OTA1XSxcIm1hcHBlZFwiLFsxNjA1LDE1ODEsMTU4MF1dLFtbNjQ5MDYsNjQ5MDZdLFwibWFwcGVkXCIsWzE2MDUsMTU4MSwxNjA1XV0sW1s2NDkwNyw2NDkwN10sXCJtYXBwZWRcIixbMTYwNSwxNTgxLDE2MTBdXSxbWzY0OTA4LDY0OTA4XSxcIm1hcHBlZFwiLFsxNjA1LDE1ODAsMTU4MV1dLFtbNjQ5MDksNjQ5MDldLFwibWFwcGVkXCIsWzE2MDUsMTU4MCwxNjA1XV0sW1s2NDkxMCw2NDkxMF0sXCJtYXBwZWRcIixbMTYwNSwxNTgyLDE1ODBdXSxbWzY0OTExLDY0OTExXSxcIm1hcHBlZFwiLFsxNjA1LDE1ODIsMTYwNV1dLFtbNjQ5MTIsNjQ5MTNdLFwiZGlzYWxsb3dlZFwiXSxbWzY0OTE0LDY0OTE0XSxcIm1hcHBlZFwiLFsxNjA1LDE1ODAsMTU4Ml1dLFtbNjQ5MTUsNjQ5MTVdLFwibWFwcGVkXCIsWzE2MDcsMTYwNSwxNTgwXV0sW1s2NDkxNiw2NDkxNl0sXCJtYXBwZWRcIixbMTYwNywxNjA1LDE2MDVdXSxbWzY0OTE3LDY0OTE3XSxcIm1hcHBlZFwiLFsxNjA2LDE1ODEsMTYwNV1dLFtbNjQ5MTgsNjQ5MThdLFwibWFwcGVkXCIsWzE2MDYsMTU4MSwxNjA5XV0sW1s2NDkxOSw2NDkyMF0sXCJtYXBwZWRcIixbMTYwNiwxNTgwLDE2MDVdXSxbWzY0OTIxLDY0OTIxXSxcIm1hcHBlZFwiLFsxNjA2LDE1ODAsMTYwOV1dLFtbNjQ5MjIsNjQ5MjJdLFwibWFwcGVkXCIsWzE2MDYsMTYwNSwxNjEwXV0sW1s2NDkyMyw2NDkyM10sXCJtYXBwZWRcIixbMTYwNiwxNjA1LDE2MDldXSxbWzY0OTI0LDY0OTI1XSxcIm1hcHBlZFwiLFsxNjEwLDE2MDUsMTYwNV1dLFtbNjQ5MjYsNjQ5MjZdLFwibWFwcGVkXCIsWzE1NzYsMTU4MiwxNjEwXV0sW1s2NDkyNyw2NDkyN10sXCJtYXBwZWRcIixbMTU3OCwxNTgwLDE2MTBdXSxbWzY0OTI4LDY0OTI4XSxcIm1hcHBlZFwiLFsxNTc4LDE1ODAsMTYwOV1dLFtbNjQ5MjksNjQ5MjldLFwibWFwcGVkXCIsWzE1NzgsMTU4MiwxNjEwXV0sW1s2NDkzMCw2NDkzMF0sXCJtYXBwZWRcIixbMTU3OCwxNTgyLDE2MDldXSxbWzY0OTMxLDY0OTMxXSxcIm1hcHBlZFwiLFsxNTc4LDE2MDUsMTYxMF1dLFtbNjQ5MzIsNjQ5MzJdLFwibWFwcGVkXCIsWzE1NzgsMTYwNSwxNjA5XV0sW1s2NDkzMyw2NDkzM10sXCJtYXBwZWRcIixbMTU4MCwxNjA1LDE2MTBdXSxbWzY0OTM0LDY0OTM0XSxcIm1hcHBlZFwiLFsxNTgwLDE1ODEsMTYwOV1dLFtbNjQ5MzUsNjQ5MzVdLFwibWFwcGVkXCIsWzE1ODAsMTYwNSwxNjA5XV0sW1s2NDkzNiw2NDkzNl0sXCJtYXBwZWRcIixbMTU4NywxNTgyLDE2MDldXSxbWzY0OTM3LDY0OTM3XSxcIm1hcHBlZFwiLFsxNTg5LDE1ODEsMTYxMF1dLFtbNjQ5MzgsNjQ5MzhdLFwibWFwcGVkXCIsWzE1ODgsMTU4MSwxNjEwXV0sW1s2NDkzOSw2NDkzOV0sXCJtYXBwZWRcIixbMTU5MCwxNTgxLDE2MTBdXSxbWzY0OTQwLDY0OTQwXSxcIm1hcHBlZFwiLFsxNjA0LDE1ODAsMTYxMF1dLFtbNjQ5NDEsNjQ5NDFdLFwibWFwcGVkXCIsWzE2MDQsMTYwNSwxNjEwXV0sW1s2NDk0Miw2NDk0Ml0sXCJtYXBwZWRcIixbMTYxMCwxNTgxLDE2MTBdXSxbWzY0OTQzLDY0OTQzXSxcIm1hcHBlZFwiLFsxNjEwLDE1ODAsMTYxMF1dLFtbNjQ5NDQsNjQ5NDRdLFwibWFwcGVkXCIsWzE2MTAsMTYwNSwxNjEwXV0sW1s2NDk0NSw2NDk0NV0sXCJtYXBwZWRcIixbMTYwNSwxNjA1LDE2MTBdXSxbWzY0OTQ2LDY0OTQ2XSxcIm1hcHBlZFwiLFsxNjAyLDE2MDUsMTYxMF1dLFtbNjQ5NDcsNjQ5NDddLFwibWFwcGVkXCIsWzE2MDYsMTU4MSwxNjEwXV0sW1s2NDk0OCw2NDk0OF0sXCJtYXBwZWRcIixbMTYwMiwxNjA1LDE1ODFdXSxbWzY0OTQ5LDY0OTQ5XSxcIm1hcHBlZFwiLFsxNjA0LDE1ODEsMTYwNV1dLFtbNjQ5NTAsNjQ5NTBdLFwibWFwcGVkXCIsWzE1OTMsMTYwNSwxNjEwXV0sW1s2NDk1MSw2NDk1MV0sXCJtYXBwZWRcIixbMTYwMywxNjA1LDE2MTBdXSxbWzY0OTUyLDY0OTUyXSxcIm1hcHBlZFwiLFsxNjA2LDE1ODAsMTU4MV1dLFtbNjQ5NTMsNjQ5NTNdLFwibWFwcGVkXCIsWzE2MDUsMTU4MiwxNjEwXV0sW1s2NDk1NCw2NDk1NF0sXCJtYXBwZWRcIixbMTYwNCwxNTgwLDE2MDVdXSxbWzY0OTU1LDY0OTU1XSxcIm1hcHBlZFwiLFsxNjAzLDE2MDUsMTYwNV1dLFtbNjQ5NTYsNjQ5NTZdLFwibWFwcGVkXCIsWzE2MDQsMTU4MCwxNjA1XV0sW1s2NDk1Nyw2NDk1N10sXCJtYXBwZWRcIixbMTYwNiwxNTgwLDE1ODFdXSxbWzY0OTU4LDY0OTU4XSxcIm1hcHBlZFwiLFsxNTgwLDE1ODEsMTYxMF1dLFtbNjQ5NTksNjQ5NTldLFwibWFwcGVkXCIsWzE1ODEsMTU4MCwxNjEwXV0sW1s2NDk2MCw2NDk2MF0sXCJtYXBwZWRcIixbMTYwNSwxNTgwLDE2MTBdXSxbWzY0OTYxLDY0OTYxXSxcIm1hcHBlZFwiLFsxNjAxLDE2MDUsMTYxMF1dLFtbNjQ5NjIsNjQ5NjJdLFwibWFwcGVkXCIsWzE1NzYsMTU4MSwxNjEwXV0sW1s2NDk2Myw2NDk2M10sXCJtYXBwZWRcIixbMTYwMywxNjA1LDE2MDVdXSxbWzY0OTY0LDY0OTY0XSxcIm1hcHBlZFwiLFsxNTkzLDE1ODAsMTYwNV1dLFtbNjQ5NjUsNjQ5NjVdLFwibWFwcGVkXCIsWzE1ODksMTYwNSwxNjA1XV0sW1s2NDk2Niw2NDk2Nl0sXCJtYXBwZWRcIixbMTU4NywxNTgyLDE2MTBdXSxbWzY0OTY3LDY0OTY3XSxcIm1hcHBlZFwiLFsxNjA2LDE1ODAsMTYxMF1dLFtbNjQ5NjgsNjQ5NzVdLFwiZGlzYWxsb3dlZFwiXSxbWzY0OTc2LDY1MDA3XSxcImRpc2FsbG93ZWRcIl0sW1s2NTAwOCw2NTAwOF0sXCJtYXBwZWRcIixbMTU4OSwxNjA0LDE3NDZdXSxbWzY1MDA5LDY1MDA5XSxcIm1hcHBlZFwiLFsxNjAyLDE2MDQsMTc0Nl1dLFtbNjUwMTAsNjUwMTBdLFwibWFwcGVkXCIsWzE1NzUsMTYwNCwxNjA0LDE2MDddXSxbWzY1MDExLDY1MDExXSxcIm1hcHBlZFwiLFsxNTc1LDE2MDMsMTU3NiwxNTg1XV0sW1s2NTAxMiw2NTAxMl0sXCJtYXBwZWRcIixbMTYwNSwxNTgxLDE2MDUsMTU4M11dLFtbNjUwMTMsNjUwMTNdLFwibWFwcGVkXCIsWzE1ODksMTYwNCwxNTkzLDE2MDVdXSxbWzY1MDE0LDY1MDE0XSxcIm1hcHBlZFwiLFsxNTg1LDE1ODcsMTYwOCwxNjA0XV0sW1s2NTAxNSw2NTAxNV0sXCJtYXBwZWRcIixbMTU5MywxNjA0LDE2MTAsMTYwN11dLFtbNjUwMTYsNjUwMTZdLFwibWFwcGVkXCIsWzE2MDgsMTU4NywxNjA0LDE2MDVdXSxbWzY1MDE3LDY1MDE3XSxcIm1hcHBlZFwiLFsxNTg5LDE2MDQsMTYwOV1dLFtbNjUwMTgsNjUwMThdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFsxNTg5LDE2MDQsMTYwOSwzMiwxNTc1LDE2MDQsMTYwNCwxNjA3LDMyLDE1OTMsMTYwNCwxNjEwLDE2MDcsMzIsMTYwOCwxNTg3LDE2MDQsMTYwNV1dLFtbNjUwMTksNjUwMTldLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFsxNTgwLDE2MDQsMzIsMTU4MCwxNjA0LDE1NzUsMTYwNCwxNjA3XV0sW1s2NTAyMCw2NTAyMF0sXCJtYXBwZWRcIixbMTU4NSwxNzQwLDE1NzUsMTYwNF1dLFtbNjUwMjEsNjUwMjFdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY1MDIyLDY1MDIzXSxcImRpc2FsbG93ZWRcIl0sW1s2NTAyNCw2NTAzOV0sXCJpZ25vcmVkXCJdLFtbNjUwNDAsNjUwNDBdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0NF1dLFtbNjUwNDEsNjUwNDFdLFwibWFwcGVkXCIsWzEyMjg5XV0sW1s2NTA0Miw2NTA0Ml0sXCJkaXNhbGxvd2VkXCJdLFtbNjUwNDMsNjUwNDNdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs1OF1dLFtbNjUwNDQsNjUwNDRdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs1OV1dLFtbNjUwNDUsNjUwNDVdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszM11dLFtbNjUwNDYsNjUwNDZdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs2M11dLFtbNjUwNDcsNjUwNDddLFwibWFwcGVkXCIsWzEyMzEwXV0sW1s2NTA0OCw2NTA0OF0sXCJtYXBwZWRcIixbMTIzMTFdXSxbWzY1MDQ5LDY1MDQ5XSxcImRpc2FsbG93ZWRcIl0sW1s2NTA1MCw2NTA1NV0sXCJkaXNhbGxvd2VkXCJdLFtbNjUwNTYsNjUwNTldLFwidmFsaWRcIl0sW1s2NTA2MCw2NTA2Ml0sXCJ2YWxpZFwiXSxbWzY1MDYzLDY1MDY5XSxcInZhbGlkXCJdLFtbNjUwNzAsNjUwNzFdLFwidmFsaWRcIl0sW1s2NTA3Miw2NTA3Ml0sXCJkaXNhbGxvd2VkXCJdLFtbNjUwNzMsNjUwNzNdLFwibWFwcGVkXCIsWzgyMTJdXSxbWzY1MDc0LDY1MDc0XSxcIm1hcHBlZFwiLFs4MjExXV0sW1s2NTA3NSw2NTA3Nl0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzk1XV0sW1s2NTA3Nyw2NTA3N10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwXV0sW1s2NTA3OCw2NTA3OF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQxXV0sW1s2NTA3OSw2NTA3OV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzEyM11dLFtbNjUwODAsNjUwODBdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFsxMjVdXSxbWzY1MDgxLDY1MDgxXSxcIm1hcHBlZFwiLFsxMjMwOF1dLFtbNjUwODIsNjUwODJdLFwibWFwcGVkXCIsWzEyMzA5XV0sW1s2NTA4Myw2NTA4M10sXCJtYXBwZWRcIixbMTIzMDRdXSxbWzY1MDg0LDY1MDg0XSxcIm1hcHBlZFwiLFsxMjMwNV1dLFtbNjUwODUsNjUwODVdLFwibWFwcGVkXCIsWzEyMjk4XV0sW1s2NTA4Niw2NTA4Nl0sXCJtYXBwZWRcIixbMTIyOTldXSxbWzY1MDg3LDY1MDg3XSxcIm1hcHBlZFwiLFsxMjI5Nl1dLFtbNjUwODgsNjUwODhdLFwibWFwcGVkXCIsWzEyMjk3XV0sW1s2NTA4OSw2NTA4OV0sXCJtYXBwZWRcIixbMTIzMDBdXSxbWzY1MDkwLDY1MDkwXSxcIm1hcHBlZFwiLFsxMjMwMV1dLFtbNjUwOTEsNjUwOTFdLFwibWFwcGVkXCIsWzEyMzAyXV0sW1s2NTA5Miw2NTA5Ml0sXCJtYXBwZWRcIixbMTIzMDNdXSxbWzY1MDkzLDY1MDk0XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2NTA5NSw2NTA5NV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzkxXV0sW1s2NTA5Niw2NTA5Nl0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzkzXV0sW1s2NTA5Nyw2NTEwMF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDc3M11dLFtbNjUxMDEsNjUxMDNdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs5NV1dLFtbNjUxMDQsNjUxMDRdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0NF1dLFtbNjUxMDUsNjUxMDVdLFwibWFwcGVkXCIsWzEyMjg5XV0sW1s2NTEwNiw2NTEwNl0sXCJkaXNhbGxvd2VkXCJdLFtbNjUxMDcsNjUxMDddLFwiZGlzYWxsb3dlZFwiXSxbWzY1MTA4LDY1MTA4XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNTldXSxbWzY1MTA5LDY1MTA5XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNThdXSxbWzY1MTEwLDY1MTEwXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNjNdXSxbWzY1MTExLDY1MTExXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzNdXSxbWzY1MTEyLDY1MTEyXSxcIm1hcHBlZFwiLFs4MjEyXV0sW1s2NTExMyw2NTExM10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwXV0sW1s2NTExNCw2NTExNF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQxXV0sW1s2NTExNSw2NTExNV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzEyM11dLFtbNjUxMTYsNjUxMTZdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFsxMjVdXSxbWzY1MTE3LDY1MTE3XSxcIm1hcHBlZFwiLFsxMjMwOF1dLFtbNjUxMTgsNjUxMThdLFwibWFwcGVkXCIsWzEyMzA5XV0sW1s2NTExOSw2NTExOV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzM1XV0sW1s2NTEyMCw2NTEyMF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzM4XV0sW1s2NTEyMSw2NTEyMV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQyXV0sW1s2NTEyMiw2NTEyMl0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQzXV0sW1s2NTEyMyw2NTEyM10sXCJtYXBwZWRcIixbNDVdXSxbWzY1MTI0LDY1MTI0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNjBdXSxbWzY1MTI1LDY1MTI1XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNjJdXSxbWzY1MTI2LDY1MTI2XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNjFdXSxbWzY1MTI3LDY1MTI3XSxcImRpc2FsbG93ZWRcIl0sW1s2NTEyOCw2NTEyOF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzkyXV0sW1s2NTEyOSw2NTEyOV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzM2XV0sW1s2NTEzMCw2NTEzMF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzM3XV0sW1s2NTEzMSw2NTEzMV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzY0XV0sW1s2NTEzMiw2NTEzNV0sXCJkaXNhbGxvd2VkXCJdLFtbNjUxMzYsNjUxMzZdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiwxNjExXV0sW1s2NTEzNyw2NTEzN10sXCJtYXBwZWRcIixbMTYwMCwxNjExXV0sW1s2NTEzOCw2NTEzOF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDE2MTJdXSxbWzY1MTM5LDY1MTM5XSxcInZhbGlkXCJdLFtbNjUxNDAsNjUxNDBdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiwxNjEzXV0sW1s2NTE0MSw2NTE0MV0sXCJkaXNhbGxvd2VkXCJdLFtbNjUxNDIsNjUxNDJdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiwxNjE0XV0sW1s2NTE0Myw2NTE0M10sXCJtYXBwZWRcIixbMTYwMCwxNjE0XV0sW1s2NTE0NCw2NTE0NF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDE2MTVdXSxbWzY1MTQ1LDY1MTQ1XSxcIm1hcHBlZFwiLFsxNjAwLDE2MTVdXSxbWzY1MTQ2LDY1MTQ2XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzIsMTYxNl1dLFtbNjUxNDcsNjUxNDddLFwibWFwcGVkXCIsWzE2MDAsMTYxNl1dLFtbNjUxNDgsNjUxNDhdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiwxNjE3XV0sW1s2NTE0OSw2NTE0OV0sXCJtYXBwZWRcIixbMTYwMCwxNjE3XV0sW1s2NTE1MCw2NTE1MF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzMyLDE2MThdXSxbWzY1MTUxLDY1MTUxXSxcIm1hcHBlZFwiLFsxNjAwLDE2MThdXSxbWzY1MTUyLDY1MTUyXSxcIm1hcHBlZFwiLFsxNTY5XV0sW1s2NTE1Myw2NTE1NF0sXCJtYXBwZWRcIixbMTU3MF1dLFtbNjUxNTUsNjUxNTZdLFwibWFwcGVkXCIsWzE1NzFdXSxbWzY1MTU3LDY1MTU4XSxcIm1hcHBlZFwiLFsxNTcyXV0sW1s2NTE1OSw2NTE2MF0sXCJtYXBwZWRcIixbMTU3M11dLFtbNjUxNjEsNjUxNjRdLFwibWFwcGVkXCIsWzE1NzRdXSxbWzY1MTY1LDY1MTY2XSxcIm1hcHBlZFwiLFsxNTc1XV0sW1s2NTE2Nyw2NTE3MF0sXCJtYXBwZWRcIixbMTU3Nl1dLFtbNjUxNzEsNjUxNzJdLFwibWFwcGVkXCIsWzE1NzddXSxbWzY1MTczLDY1MTc2XSxcIm1hcHBlZFwiLFsxNTc4XV0sW1s2NTE3Nyw2NTE4MF0sXCJtYXBwZWRcIixbMTU3OV1dLFtbNjUxODEsNjUxODRdLFwibWFwcGVkXCIsWzE1ODBdXSxbWzY1MTg1LDY1MTg4XSxcIm1hcHBlZFwiLFsxNTgxXV0sW1s2NTE4OSw2NTE5Ml0sXCJtYXBwZWRcIixbMTU4Ml1dLFtbNjUxOTMsNjUxOTRdLFwibWFwcGVkXCIsWzE1ODNdXSxbWzY1MTk1LDY1MTk2XSxcIm1hcHBlZFwiLFsxNTg0XV0sW1s2NTE5Nyw2NTE5OF0sXCJtYXBwZWRcIixbMTU4NV1dLFtbNjUxOTksNjUyMDBdLFwibWFwcGVkXCIsWzE1ODZdXSxbWzY1MjAxLDY1MjA0XSxcIm1hcHBlZFwiLFsxNTg3XV0sW1s2NTIwNSw2NTIwOF0sXCJtYXBwZWRcIixbMTU4OF1dLFtbNjUyMDksNjUyMTJdLFwibWFwcGVkXCIsWzE1ODldXSxbWzY1MjEzLDY1MjE2XSxcIm1hcHBlZFwiLFsxNTkwXV0sW1s2NTIxNyw2NTIyMF0sXCJtYXBwZWRcIixbMTU5MV1dLFtbNjUyMjEsNjUyMjRdLFwibWFwcGVkXCIsWzE1OTJdXSxbWzY1MjI1LDY1MjI4XSxcIm1hcHBlZFwiLFsxNTkzXV0sW1s2NTIyOSw2NTIzMl0sXCJtYXBwZWRcIixbMTU5NF1dLFtbNjUyMzMsNjUyMzZdLFwibWFwcGVkXCIsWzE2MDFdXSxbWzY1MjM3LDY1MjQwXSxcIm1hcHBlZFwiLFsxNjAyXV0sW1s2NTI0MSw2NTI0NF0sXCJtYXBwZWRcIixbMTYwM11dLFtbNjUyNDUsNjUyNDhdLFwibWFwcGVkXCIsWzE2MDRdXSxbWzY1MjQ5LDY1MjUyXSxcIm1hcHBlZFwiLFsxNjA1XV0sW1s2NTI1Myw2NTI1Nl0sXCJtYXBwZWRcIixbMTYwNl1dLFtbNjUyNTcsNjUyNjBdLFwibWFwcGVkXCIsWzE2MDddXSxbWzY1MjYxLDY1MjYyXSxcIm1hcHBlZFwiLFsxNjA4XV0sW1s2NTI2Myw2NTI2NF0sXCJtYXBwZWRcIixbMTYwOV1dLFtbNjUyNjUsNjUyNjhdLFwibWFwcGVkXCIsWzE2MTBdXSxbWzY1MjY5LDY1MjcwXSxcIm1hcHBlZFwiLFsxNjA0LDE1NzBdXSxbWzY1MjcxLDY1MjcyXSxcIm1hcHBlZFwiLFsxNjA0LDE1NzFdXSxbWzY1MjczLDY1Mjc0XSxcIm1hcHBlZFwiLFsxNjA0LDE1NzNdXSxbWzY1Mjc1LDY1Mjc2XSxcIm1hcHBlZFwiLFsxNjA0LDE1NzVdXSxbWzY1Mjc3LDY1Mjc4XSxcImRpc2FsbG93ZWRcIl0sW1s2NTI3OSw2NTI3OV0sXCJpZ25vcmVkXCJdLFtbNjUyODAsNjUyODBdLFwiZGlzYWxsb3dlZFwiXSxbWzY1MjgxLDY1MjgxXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzNdXSxbWzY1MjgyLDY1MjgyXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzRdXSxbWzY1MjgzLDY1MjgzXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzVdXSxbWzY1Mjg0LDY1Mjg0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzZdXSxbWzY1Mjg1LDY1Mjg1XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzddXSxbWzY1Mjg2LDY1Mjg2XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzhdXSxbWzY1Mjg3LDY1Mjg3XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMzldXSxbWzY1Mjg4LDY1Mjg4XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDBdXSxbWzY1Mjg5LDY1Mjg5XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDFdXSxbWzY1MjkwLDY1MjkwXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDJdXSxbWzY1MjkxLDY1MjkxXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDNdXSxbWzY1MjkyLDY1MjkyXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDRdXSxbWzY1MjkzLDY1MjkzXSxcIm1hcHBlZFwiLFs0NV1dLFtbNjUyOTQsNjUyOTRdLFwibWFwcGVkXCIsWzQ2XV0sW1s2NTI5NSw2NTI5NV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQ3XV0sW1s2NTI5Niw2NTI5Nl0sXCJtYXBwZWRcIixbNDhdXSxbWzY1Mjk3LDY1Mjk3XSxcIm1hcHBlZFwiLFs0OV1dLFtbNjUyOTgsNjUyOThdLFwibWFwcGVkXCIsWzUwXV0sW1s2NTI5OSw2NTI5OV0sXCJtYXBwZWRcIixbNTFdXSxbWzY1MzAwLDY1MzAwXSxcIm1hcHBlZFwiLFs1Ml1dLFtbNjUzMDEsNjUzMDFdLFwibWFwcGVkXCIsWzUzXV0sW1s2NTMwMiw2NTMwMl0sXCJtYXBwZWRcIixbNTRdXSxbWzY1MzAzLDY1MzAzXSxcIm1hcHBlZFwiLFs1NV1dLFtbNjUzMDQsNjUzMDRdLFwibWFwcGVkXCIsWzU2XV0sW1s2NTMwNSw2NTMwNV0sXCJtYXBwZWRcIixbNTddXSxbWzY1MzA2LDY1MzA2XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNThdXSxbWzY1MzA3LDY1MzA3XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNTldXSxbWzY1MzA4LDY1MzA4XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNjBdXSxbWzY1MzA5LDY1MzA5XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNjFdXSxbWzY1MzEwLDY1MzEwXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNjJdXSxbWzY1MzExLDY1MzExXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNjNdXSxbWzY1MzEyLDY1MzEyXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNjRdXSxbWzY1MzEzLDY1MzEzXSxcIm1hcHBlZFwiLFs5N11dLFtbNjUzMTQsNjUzMTRdLFwibWFwcGVkXCIsWzk4XV0sW1s2NTMxNSw2NTMxNV0sXCJtYXBwZWRcIixbOTldXSxbWzY1MzE2LDY1MzE2XSxcIm1hcHBlZFwiLFsxMDBdXSxbWzY1MzE3LDY1MzE3XSxcIm1hcHBlZFwiLFsxMDFdXSxbWzY1MzE4LDY1MzE4XSxcIm1hcHBlZFwiLFsxMDJdXSxbWzY1MzE5LDY1MzE5XSxcIm1hcHBlZFwiLFsxMDNdXSxbWzY1MzIwLDY1MzIwXSxcIm1hcHBlZFwiLFsxMDRdXSxbWzY1MzIxLDY1MzIxXSxcIm1hcHBlZFwiLFsxMDVdXSxbWzY1MzIyLDY1MzIyXSxcIm1hcHBlZFwiLFsxMDZdXSxbWzY1MzIzLDY1MzIzXSxcIm1hcHBlZFwiLFsxMDddXSxbWzY1MzI0LDY1MzI0XSxcIm1hcHBlZFwiLFsxMDhdXSxbWzY1MzI1LDY1MzI1XSxcIm1hcHBlZFwiLFsxMDldXSxbWzY1MzI2LDY1MzI2XSxcIm1hcHBlZFwiLFsxMTBdXSxbWzY1MzI3LDY1MzI3XSxcIm1hcHBlZFwiLFsxMTFdXSxbWzY1MzI4LDY1MzI4XSxcIm1hcHBlZFwiLFsxMTJdXSxbWzY1MzI5LDY1MzI5XSxcIm1hcHBlZFwiLFsxMTNdXSxbWzY1MzMwLDY1MzMwXSxcIm1hcHBlZFwiLFsxMTRdXSxbWzY1MzMxLDY1MzMxXSxcIm1hcHBlZFwiLFsxMTVdXSxbWzY1MzMyLDY1MzMyXSxcIm1hcHBlZFwiLFsxMTZdXSxbWzY1MzMzLDY1MzMzXSxcIm1hcHBlZFwiLFsxMTddXSxbWzY1MzM0LDY1MzM0XSxcIm1hcHBlZFwiLFsxMThdXSxbWzY1MzM1LDY1MzM1XSxcIm1hcHBlZFwiLFsxMTldXSxbWzY1MzM2LDY1MzM2XSxcIm1hcHBlZFwiLFsxMjBdXSxbWzY1MzM3LDY1MzM3XSxcIm1hcHBlZFwiLFsxMjFdXSxbWzY1MzM4LDY1MzM4XSxcIm1hcHBlZFwiLFsxMjJdXSxbWzY1MzM5LDY1MzM5XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbOTFdXSxbWzY1MzQwLDY1MzQwXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbOTJdXSxbWzY1MzQxLDY1MzQxXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbOTNdXSxbWzY1MzQyLDY1MzQyXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbOTRdXSxbWzY1MzQzLDY1MzQzXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbOTVdXSxbWzY1MzQ0LDY1MzQ0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbOTZdXSxbWzY1MzQ1LDY1MzQ1XSxcIm1hcHBlZFwiLFs5N11dLFtbNjUzNDYsNjUzNDZdLFwibWFwcGVkXCIsWzk4XV0sW1s2NTM0Nyw2NTM0N10sXCJtYXBwZWRcIixbOTldXSxbWzY1MzQ4LDY1MzQ4XSxcIm1hcHBlZFwiLFsxMDBdXSxbWzY1MzQ5LDY1MzQ5XSxcIm1hcHBlZFwiLFsxMDFdXSxbWzY1MzUwLDY1MzUwXSxcIm1hcHBlZFwiLFsxMDJdXSxbWzY1MzUxLDY1MzUxXSxcIm1hcHBlZFwiLFsxMDNdXSxbWzY1MzUyLDY1MzUyXSxcIm1hcHBlZFwiLFsxMDRdXSxbWzY1MzUzLDY1MzUzXSxcIm1hcHBlZFwiLFsxMDVdXSxbWzY1MzU0LDY1MzU0XSxcIm1hcHBlZFwiLFsxMDZdXSxbWzY1MzU1LDY1MzU1XSxcIm1hcHBlZFwiLFsxMDddXSxbWzY1MzU2LDY1MzU2XSxcIm1hcHBlZFwiLFsxMDhdXSxbWzY1MzU3LDY1MzU3XSxcIm1hcHBlZFwiLFsxMDldXSxbWzY1MzU4LDY1MzU4XSxcIm1hcHBlZFwiLFsxMTBdXSxbWzY1MzU5LDY1MzU5XSxcIm1hcHBlZFwiLFsxMTFdXSxbWzY1MzYwLDY1MzYwXSxcIm1hcHBlZFwiLFsxMTJdXSxbWzY1MzYxLDY1MzYxXSxcIm1hcHBlZFwiLFsxMTNdXSxbWzY1MzYyLDY1MzYyXSxcIm1hcHBlZFwiLFsxMTRdXSxbWzY1MzYzLDY1MzYzXSxcIm1hcHBlZFwiLFsxMTVdXSxbWzY1MzY0LDY1MzY0XSxcIm1hcHBlZFwiLFsxMTZdXSxbWzY1MzY1LDY1MzY1XSxcIm1hcHBlZFwiLFsxMTddXSxbWzY1MzY2LDY1MzY2XSxcIm1hcHBlZFwiLFsxMThdXSxbWzY1MzY3LDY1MzY3XSxcIm1hcHBlZFwiLFsxMTldXSxbWzY1MzY4LDY1MzY4XSxcIm1hcHBlZFwiLFsxMjBdXSxbWzY1MzY5LDY1MzY5XSxcIm1hcHBlZFwiLFsxMjFdXSxbWzY1MzcwLDY1MzcwXSxcIm1hcHBlZFwiLFsxMjJdXSxbWzY1MzcxLDY1MzcxXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMTIzXV0sW1s2NTM3Miw2NTM3Ml0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzEyNF1dLFtbNjUzNzMsNjUzNzNdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFsxMjVdXSxbWzY1Mzc0LDY1Mzc0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbMTI2XV0sW1s2NTM3NSw2NTM3NV0sXCJtYXBwZWRcIixbMTA2MjldXSxbWzY1Mzc2LDY1Mzc2XSxcIm1hcHBlZFwiLFsxMDYzMF1dLFtbNjUzNzcsNjUzNzddLFwibWFwcGVkXCIsWzQ2XV0sW1s2NTM3OCw2NTM3OF0sXCJtYXBwZWRcIixbMTIzMDBdXSxbWzY1Mzc5LDY1Mzc5XSxcIm1hcHBlZFwiLFsxMjMwMV1dLFtbNjUzODAsNjUzODBdLFwibWFwcGVkXCIsWzEyMjg5XV0sW1s2NTM4MSw2NTM4MV0sXCJtYXBwZWRcIixbMTI1MzldXSxbWzY1MzgyLDY1MzgyXSxcIm1hcHBlZFwiLFsxMjUzMF1dLFtbNjUzODMsNjUzODNdLFwibWFwcGVkXCIsWzEyNDQ5XV0sW1s2NTM4NCw2NTM4NF0sXCJtYXBwZWRcIixbMTI0NTFdXSxbWzY1Mzg1LDY1Mzg1XSxcIm1hcHBlZFwiLFsxMjQ1M11dLFtbNjUzODYsNjUzODZdLFwibWFwcGVkXCIsWzEyNDU1XV0sW1s2NTM4Nyw2NTM4N10sXCJtYXBwZWRcIixbMTI0NTddXSxbWzY1Mzg4LDY1Mzg4XSxcIm1hcHBlZFwiLFsxMjUxNV1dLFtbNjUzODksNjUzODldLFwibWFwcGVkXCIsWzEyNTE3XV0sW1s2NTM5MCw2NTM5MF0sXCJtYXBwZWRcIixbMTI1MTldXSxbWzY1MzkxLDY1MzkxXSxcIm1hcHBlZFwiLFsxMjQ4M11dLFtbNjUzOTIsNjUzOTJdLFwibWFwcGVkXCIsWzEyNTQwXV0sW1s2NTM5Myw2NTM5M10sXCJtYXBwZWRcIixbMTI0NTBdXSxbWzY1Mzk0LDY1Mzk0XSxcIm1hcHBlZFwiLFsxMjQ1Ml1dLFtbNjUzOTUsNjUzOTVdLFwibWFwcGVkXCIsWzEyNDU0XV0sW1s2NTM5Niw2NTM5Nl0sXCJtYXBwZWRcIixbMTI0NTZdXSxbWzY1Mzk3LDY1Mzk3XSxcIm1hcHBlZFwiLFsxMjQ1OF1dLFtbNjUzOTgsNjUzOThdLFwibWFwcGVkXCIsWzEyNDU5XV0sW1s2NTM5OSw2NTM5OV0sXCJtYXBwZWRcIixbMTI0NjFdXSxbWzY1NDAwLDY1NDAwXSxcIm1hcHBlZFwiLFsxMjQ2M11dLFtbNjU0MDEsNjU0MDFdLFwibWFwcGVkXCIsWzEyNDY1XV0sW1s2NTQwMiw2NTQwMl0sXCJtYXBwZWRcIixbMTI0NjddXSxbWzY1NDAzLDY1NDAzXSxcIm1hcHBlZFwiLFsxMjQ2OV1dLFtbNjU0MDQsNjU0MDRdLFwibWFwcGVkXCIsWzEyNDcxXV0sW1s2NTQwNSw2NTQwNV0sXCJtYXBwZWRcIixbMTI0NzNdXSxbWzY1NDA2LDY1NDA2XSxcIm1hcHBlZFwiLFsxMjQ3NV1dLFtbNjU0MDcsNjU0MDddLFwibWFwcGVkXCIsWzEyNDc3XV0sW1s2NTQwOCw2NTQwOF0sXCJtYXBwZWRcIixbMTI0NzldXSxbWzY1NDA5LDY1NDA5XSxcIm1hcHBlZFwiLFsxMjQ4MV1dLFtbNjU0MTAsNjU0MTBdLFwibWFwcGVkXCIsWzEyNDg0XV0sW1s2NTQxMSw2NTQxMV0sXCJtYXBwZWRcIixbMTI0ODZdXSxbWzY1NDEyLDY1NDEyXSxcIm1hcHBlZFwiLFsxMjQ4OF1dLFtbNjU0MTMsNjU0MTNdLFwibWFwcGVkXCIsWzEyNDkwXV0sW1s2NTQxNCw2NTQxNF0sXCJtYXBwZWRcIixbMTI0OTFdXSxbWzY1NDE1LDY1NDE1XSxcIm1hcHBlZFwiLFsxMjQ5Ml1dLFtbNjU0MTYsNjU0MTZdLFwibWFwcGVkXCIsWzEyNDkzXV0sW1s2NTQxNyw2NTQxN10sXCJtYXBwZWRcIixbMTI0OTRdXSxbWzY1NDE4LDY1NDE4XSxcIm1hcHBlZFwiLFsxMjQ5NV1dLFtbNjU0MTksNjU0MTldLFwibWFwcGVkXCIsWzEyNDk4XV0sW1s2NTQyMCw2NTQyMF0sXCJtYXBwZWRcIixbMTI1MDFdXSxbWzY1NDIxLDY1NDIxXSxcIm1hcHBlZFwiLFsxMjUwNF1dLFtbNjU0MjIsNjU0MjJdLFwibWFwcGVkXCIsWzEyNTA3XV0sW1s2NTQyMyw2NTQyM10sXCJtYXBwZWRcIixbMTI1MTBdXSxbWzY1NDI0LDY1NDI0XSxcIm1hcHBlZFwiLFsxMjUxMV1dLFtbNjU0MjUsNjU0MjVdLFwibWFwcGVkXCIsWzEyNTEyXV0sW1s2NTQyNiw2NTQyNl0sXCJtYXBwZWRcIixbMTI1MTNdXSxbWzY1NDI3LDY1NDI3XSxcIm1hcHBlZFwiLFsxMjUxNF1dLFtbNjU0MjgsNjU0MjhdLFwibWFwcGVkXCIsWzEyNTE2XV0sW1s2NTQyOSw2NTQyOV0sXCJtYXBwZWRcIixbMTI1MThdXSxbWzY1NDMwLDY1NDMwXSxcIm1hcHBlZFwiLFsxMjUyMF1dLFtbNjU0MzEsNjU0MzFdLFwibWFwcGVkXCIsWzEyNTIxXV0sW1s2NTQzMiw2NTQzMl0sXCJtYXBwZWRcIixbMTI1MjJdXSxbWzY1NDMzLDY1NDMzXSxcIm1hcHBlZFwiLFsxMjUyM11dLFtbNjU0MzQsNjU0MzRdLFwibWFwcGVkXCIsWzEyNTI0XV0sW1s2NTQzNSw2NTQzNV0sXCJtYXBwZWRcIixbMTI1MjVdXSxbWzY1NDM2LDY1NDM2XSxcIm1hcHBlZFwiLFsxMjUyN11dLFtbNjU0MzcsNjU0MzddLFwibWFwcGVkXCIsWzEyNTMxXV0sW1s2NTQzOCw2NTQzOF0sXCJtYXBwZWRcIixbMTI0NDFdXSxbWzY1NDM5LDY1NDM5XSxcIm1hcHBlZFwiLFsxMjQ0Ml1dLFtbNjU0NDAsNjU0NDBdLFwiZGlzYWxsb3dlZFwiXSxbWzY1NDQxLDY1NDQxXSxcIm1hcHBlZFwiLFs0MzUyXV0sW1s2NTQ0Miw2NTQ0Ml0sXCJtYXBwZWRcIixbNDM1M11dLFtbNjU0NDMsNjU0NDNdLFwibWFwcGVkXCIsWzQ1MjJdXSxbWzY1NDQ0LDY1NDQ0XSxcIm1hcHBlZFwiLFs0MzU0XV0sW1s2NTQ0NSw2NTQ0NV0sXCJtYXBwZWRcIixbNDUyNF1dLFtbNjU0NDYsNjU0NDZdLFwibWFwcGVkXCIsWzQ1MjVdXSxbWzY1NDQ3LDY1NDQ3XSxcIm1hcHBlZFwiLFs0MzU1XV0sW1s2NTQ0OCw2NTQ0OF0sXCJtYXBwZWRcIixbNDM1Nl1dLFtbNjU0NDksNjU0NDldLFwibWFwcGVkXCIsWzQzNTddXSxbWzY1NDUwLDY1NDUwXSxcIm1hcHBlZFwiLFs0NTI4XV0sW1s2NTQ1MSw2NTQ1MV0sXCJtYXBwZWRcIixbNDUyOV1dLFtbNjU0NTIsNjU0NTJdLFwibWFwcGVkXCIsWzQ1MzBdXSxbWzY1NDUzLDY1NDUzXSxcIm1hcHBlZFwiLFs0NTMxXV0sW1s2NTQ1NCw2NTQ1NF0sXCJtYXBwZWRcIixbNDUzMl1dLFtbNjU0NTUsNjU0NTVdLFwibWFwcGVkXCIsWzQ1MzNdXSxbWzY1NDU2LDY1NDU2XSxcIm1hcHBlZFwiLFs0Mzc4XV0sW1s2NTQ1Nyw2NTQ1N10sXCJtYXBwZWRcIixbNDM1OF1dLFtbNjU0NTgsNjU0NThdLFwibWFwcGVkXCIsWzQzNTldXSxbWzY1NDU5LDY1NDU5XSxcIm1hcHBlZFwiLFs0MzYwXV0sW1s2NTQ2MCw2NTQ2MF0sXCJtYXBwZWRcIixbNDM4NV1dLFtbNjU0NjEsNjU0NjFdLFwibWFwcGVkXCIsWzQzNjFdXSxbWzY1NDYyLDY1NDYyXSxcIm1hcHBlZFwiLFs0MzYyXV0sW1s2NTQ2Myw2NTQ2M10sXCJtYXBwZWRcIixbNDM2M11dLFtbNjU0NjQsNjU0NjRdLFwibWFwcGVkXCIsWzQzNjRdXSxbWzY1NDY1LDY1NDY1XSxcIm1hcHBlZFwiLFs0MzY1XV0sW1s2NTQ2Niw2NTQ2Nl0sXCJtYXBwZWRcIixbNDM2Nl1dLFtbNjU0NjcsNjU0NjddLFwibWFwcGVkXCIsWzQzNjddXSxbWzY1NDY4LDY1NDY4XSxcIm1hcHBlZFwiLFs0MzY4XV0sW1s2NTQ2OSw2NTQ2OV0sXCJtYXBwZWRcIixbNDM2OV1dLFtbNjU0NzAsNjU0NzBdLFwibWFwcGVkXCIsWzQzNzBdXSxbWzY1NDcxLDY1NDczXSxcImRpc2FsbG93ZWRcIl0sW1s2NTQ3NCw2NTQ3NF0sXCJtYXBwZWRcIixbNDQ0OV1dLFtbNjU0NzUsNjU0NzVdLFwibWFwcGVkXCIsWzQ0NTBdXSxbWzY1NDc2LDY1NDc2XSxcIm1hcHBlZFwiLFs0NDUxXV0sW1s2NTQ3Nyw2NTQ3N10sXCJtYXBwZWRcIixbNDQ1Ml1dLFtbNjU0NzgsNjU0NzhdLFwibWFwcGVkXCIsWzQ0NTNdXSxbWzY1NDc5LDY1NDc5XSxcIm1hcHBlZFwiLFs0NDU0XV0sW1s2NTQ4MCw2NTQ4MV0sXCJkaXNhbGxvd2VkXCJdLFtbNjU0ODIsNjU0ODJdLFwibWFwcGVkXCIsWzQ0NTVdXSxbWzY1NDgzLDY1NDgzXSxcIm1hcHBlZFwiLFs0NDU2XV0sW1s2NTQ4NCw2NTQ4NF0sXCJtYXBwZWRcIixbNDQ1N11dLFtbNjU0ODUsNjU0ODVdLFwibWFwcGVkXCIsWzQ0NThdXSxbWzY1NDg2LDY1NDg2XSxcIm1hcHBlZFwiLFs0NDU5XV0sW1s2NTQ4Nyw2NTQ4N10sXCJtYXBwZWRcIixbNDQ2MF1dLFtbNjU0ODgsNjU0ODldLFwiZGlzYWxsb3dlZFwiXSxbWzY1NDkwLDY1NDkwXSxcIm1hcHBlZFwiLFs0NDYxXV0sW1s2NTQ5MSw2NTQ5MV0sXCJtYXBwZWRcIixbNDQ2Ml1dLFtbNjU0OTIsNjU0OTJdLFwibWFwcGVkXCIsWzQ0NjNdXSxbWzY1NDkzLDY1NDkzXSxcIm1hcHBlZFwiLFs0NDY0XV0sW1s2NTQ5NCw2NTQ5NF0sXCJtYXBwZWRcIixbNDQ2NV1dLFtbNjU0OTUsNjU0OTVdLFwibWFwcGVkXCIsWzQ0NjZdXSxbWzY1NDk2LDY1NDk3XSxcImRpc2FsbG93ZWRcIl0sW1s2NTQ5OCw2NTQ5OF0sXCJtYXBwZWRcIixbNDQ2N11dLFtbNjU0OTksNjU0OTldLFwibWFwcGVkXCIsWzQ0NjhdXSxbWzY1NTAwLDY1NTAwXSxcIm1hcHBlZFwiLFs0NDY5XV0sW1s2NTUwMSw2NTUwM10sXCJkaXNhbGxvd2VkXCJdLFtbNjU1MDQsNjU1MDRdLFwibWFwcGVkXCIsWzE2Ml1dLFtbNjU1MDUsNjU1MDVdLFwibWFwcGVkXCIsWzE2M11dLFtbNjU1MDYsNjU1MDZdLFwibWFwcGVkXCIsWzE3Ml1dLFtbNjU1MDcsNjU1MDddLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFszMiw3NzJdXSxbWzY1NTA4LDY1NTA4XSxcIm1hcHBlZFwiLFsxNjZdXSxbWzY1NTA5LDY1NTA5XSxcIm1hcHBlZFwiLFsxNjVdXSxbWzY1NTEwLDY1NTEwXSxcIm1hcHBlZFwiLFs4MzYxXV0sW1s2NTUxMSw2NTUxMV0sXCJkaXNhbGxvd2VkXCJdLFtbNjU1MTIsNjU1MTJdLFwibWFwcGVkXCIsWzk0NzRdXSxbWzY1NTEzLDY1NTEzXSxcIm1hcHBlZFwiLFs4NTkyXV0sW1s2NTUxNCw2NTUxNF0sXCJtYXBwZWRcIixbODU5M11dLFtbNjU1MTUsNjU1MTVdLFwibWFwcGVkXCIsWzg1OTRdXSxbWzY1NTE2LDY1NTE2XSxcIm1hcHBlZFwiLFs4NTk1XV0sW1s2NTUxNyw2NTUxN10sXCJtYXBwZWRcIixbOTYzMl1dLFtbNjU1MTgsNjU1MThdLFwibWFwcGVkXCIsWzk2NzVdXSxbWzY1NTE5LDY1NTI4XSxcImRpc2FsbG93ZWRcIl0sW1s2NTUyOSw2NTUzMV0sXCJkaXNhbGxvd2VkXCJdLFtbNjU1MzIsNjU1MzJdLFwiZGlzYWxsb3dlZFwiXSxbWzY1NTMzLDY1NTMzXSxcImRpc2FsbG93ZWRcIl0sW1s2NTUzNCw2NTUzNV0sXCJkaXNhbGxvd2VkXCJdLFtbNjU1MzYsNjU1NDddLFwidmFsaWRcIl0sW1s2NTU0OCw2NTU0OF0sXCJkaXNhbGxvd2VkXCJdLFtbNjU1NDksNjU1NzRdLFwidmFsaWRcIl0sW1s2NTU3NSw2NTU3NV0sXCJkaXNhbGxvd2VkXCJdLFtbNjU1NzYsNjU1OTRdLFwidmFsaWRcIl0sW1s2NTU5NSw2NTU5NV0sXCJkaXNhbGxvd2VkXCJdLFtbNjU1OTYsNjU1OTddLFwidmFsaWRcIl0sW1s2NTU5OCw2NTU5OF0sXCJkaXNhbGxvd2VkXCJdLFtbNjU1OTksNjU2MTNdLFwidmFsaWRcIl0sW1s2NTYxNCw2NTYxNV0sXCJkaXNhbGxvd2VkXCJdLFtbNjU2MTYsNjU2MjldLFwidmFsaWRcIl0sW1s2NTYzMCw2NTY2M10sXCJkaXNhbGxvd2VkXCJdLFtbNjU2NjQsNjU3ODZdLFwidmFsaWRcIl0sW1s2NTc4Nyw2NTc5MV0sXCJkaXNhbGxvd2VkXCJdLFtbNjU3OTIsNjU3OTRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY1Nzk1LDY1Nzk4XSxcImRpc2FsbG93ZWRcIl0sW1s2NTc5OSw2NTg0M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjU4NDQsNjU4NDZdLFwiZGlzYWxsb3dlZFwiXSxbWzY1ODQ3LDY1ODU1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2NTg1Niw2NTkzMF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjU5MzEsNjU5MzJdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY1OTMzLDY1OTM1XSxcImRpc2FsbG93ZWRcIl0sW1s2NTkzNiw2NTk0N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjU5NDgsNjU5NTFdLFwiZGlzYWxsb3dlZFwiXSxbWzY1OTUyLDY1OTUyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2NTk1Myw2NTk5OV0sXCJkaXNhbGxvd2VkXCJdLFtbNjYwMDAsNjYwNDRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY2MDQ1LDY2MDQ1XSxcInZhbGlkXCJdLFtbNjYwNDYsNjYxNzVdLFwiZGlzYWxsb3dlZFwiXSxbWzY2MTc2LDY2MjA0XSxcInZhbGlkXCJdLFtbNjYyMDUsNjYyMDddLFwiZGlzYWxsb3dlZFwiXSxbWzY2MjA4LDY2MjU2XSxcInZhbGlkXCJdLFtbNjYyNTcsNjYyNzFdLFwiZGlzYWxsb3dlZFwiXSxbWzY2MjcyLDY2MjcyXSxcInZhbGlkXCJdLFtbNjYyNzMsNjYyOTldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY2MzAwLDY2MzAzXSxcImRpc2FsbG93ZWRcIl0sW1s2NjMwNCw2NjMzNF0sXCJ2YWxpZFwiXSxbWzY2MzM1LDY2MzM1XSxcInZhbGlkXCJdLFtbNjYzMzYsNjYzMzldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY2MzQwLDY2MzUxXSxcImRpc2FsbG93ZWRcIl0sW1s2NjM1Miw2NjM2OF0sXCJ2YWxpZFwiXSxbWzY2MzY5LDY2MzY5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2NjM3MCw2NjM3N10sXCJ2YWxpZFwiXSxbWzY2Mzc4LDY2Mzc4XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2NjM3OSw2NjM4M10sXCJkaXNhbGxvd2VkXCJdLFtbNjYzODQsNjY0MjZdLFwidmFsaWRcIl0sW1s2NjQyNyw2NjQzMV0sXCJkaXNhbGxvd2VkXCJdLFtbNjY0MzIsNjY0NjFdLFwidmFsaWRcIl0sW1s2NjQ2Miw2NjQ2Ml0sXCJkaXNhbGxvd2VkXCJdLFtbNjY0NjMsNjY0NjNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY2NDY0LDY2NDk5XSxcInZhbGlkXCJdLFtbNjY1MDAsNjY1MDNdLFwiZGlzYWxsb3dlZFwiXSxbWzY2NTA0LDY2NTExXSxcInZhbGlkXCJdLFtbNjY1MTIsNjY1MTddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY2NTE4LDY2NTU5XSxcImRpc2FsbG93ZWRcIl0sW1s2NjU2MCw2NjU2MF0sXCJtYXBwZWRcIixbNjY2MDBdXSxbWzY2NTYxLDY2NTYxXSxcIm1hcHBlZFwiLFs2NjYwMV1dLFtbNjY1NjIsNjY1NjJdLFwibWFwcGVkXCIsWzY2NjAyXV0sW1s2NjU2Myw2NjU2M10sXCJtYXBwZWRcIixbNjY2MDNdXSxbWzY2NTY0LDY2NTY0XSxcIm1hcHBlZFwiLFs2NjYwNF1dLFtbNjY1NjUsNjY1NjVdLFwibWFwcGVkXCIsWzY2NjA1XV0sW1s2NjU2Niw2NjU2Nl0sXCJtYXBwZWRcIixbNjY2MDZdXSxbWzY2NTY3LDY2NTY3XSxcIm1hcHBlZFwiLFs2NjYwN11dLFtbNjY1NjgsNjY1NjhdLFwibWFwcGVkXCIsWzY2NjA4XV0sW1s2NjU2OSw2NjU2OV0sXCJtYXBwZWRcIixbNjY2MDldXSxbWzY2NTcwLDY2NTcwXSxcIm1hcHBlZFwiLFs2NjYxMF1dLFtbNjY1NzEsNjY1NzFdLFwibWFwcGVkXCIsWzY2NjExXV0sW1s2NjU3Miw2NjU3Ml0sXCJtYXBwZWRcIixbNjY2MTJdXSxbWzY2NTczLDY2NTczXSxcIm1hcHBlZFwiLFs2NjYxM11dLFtbNjY1NzQsNjY1NzRdLFwibWFwcGVkXCIsWzY2NjE0XV0sW1s2NjU3NSw2NjU3NV0sXCJtYXBwZWRcIixbNjY2MTVdXSxbWzY2NTc2LDY2NTc2XSxcIm1hcHBlZFwiLFs2NjYxNl1dLFtbNjY1NzcsNjY1NzddLFwibWFwcGVkXCIsWzY2NjE3XV0sW1s2NjU3OCw2NjU3OF0sXCJtYXBwZWRcIixbNjY2MThdXSxbWzY2NTc5LDY2NTc5XSxcIm1hcHBlZFwiLFs2NjYxOV1dLFtbNjY1ODAsNjY1ODBdLFwibWFwcGVkXCIsWzY2NjIwXV0sW1s2NjU4MSw2NjU4MV0sXCJtYXBwZWRcIixbNjY2MjFdXSxbWzY2NTgyLDY2NTgyXSxcIm1hcHBlZFwiLFs2NjYyMl1dLFtbNjY1ODMsNjY1ODNdLFwibWFwcGVkXCIsWzY2NjIzXV0sW1s2NjU4NCw2NjU4NF0sXCJtYXBwZWRcIixbNjY2MjRdXSxbWzY2NTg1LDY2NTg1XSxcIm1hcHBlZFwiLFs2NjYyNV1dLFtbNjY1ODYsNjY1ODZdLFwibWFwcGVkXCIsWzY2NjI2XV0sW1s2NjU4Nyw2NjU4N10sXCJtYXBwZWRcIixbNjY2MjddXSxbWzY2NTg4LDY2NTg4XSxcIm1hcHBlZFwiLFs2NjYyOF1dLFtbNjY1ODksNjY1ODldLFwibWFwcGVkXCIsWzY2NjI5XV0sW1s2NjU5MCw2NjU5MF0sXCJtYXBwZWRcIixbNjY2MzBdXSxbWzY2NTkxLDY2NTkxXSxcIm1hcHBlZFwiLFs2NjYzMV1dLFtbNjY1OTIsNjY1OTJdLFwibWFwcGVkXCIsWzY2NjMyXV0sW1s2NjU5Myw2NjU5M10sXCJtYXBwZWRcIixbNjY2MzNdXSxbWzY2NTk0LDY2NTk0XSxcIm1hcHBlZFwiLFs2NjYzNF1dLFtbNjY1OTUsNjY1OTVdLFwibWFwcGVkXCIsWzY2NjM1XV0sW1s2NjU5Niw2NjU5Nl0sXCJtYXBwZWRcIixbNjY2MzZdXSxbWzY2NTk3LDY2NTk3XSxcIm1hcHBlZFwiLFs2NjYzN11dLFtbNjY1OTgsNjY1OThdLFwibWFwcGVkXCIsWzY2NjM4XV0sW1s2NjU5OSw2NjU5OV0sXCJtYXBwZWRcIixbNjY2MzldXSxbWzY2NjAwLDY2NjM3XSxcInZhbGlkXCJdLFtbNjY2MzgsNjY3MTddLFwidmFsaWRcIl0sW1s2NjcxOCw2NjcxOV0sXCJkaXNhbGxvd2VkXCJdLFtbNjY3MjAsNjY3MjldLFwidmFsaWRcIl0sW1s2NjczMCw2NjgxNV0sXCJkaXNhbGxvd2VkXCJdLFtbNjY4MTYsNjY4NTVdLFwidmFsaWRcIl0sW1s2Njg1Niw2Njg2M10sXCJkaXNhbGxvd2VkXCJdLFtbNjY4NjQsNjY5MTVdLFwidmFsaWRcIl0sW1s2NjkxNiw2NjkyNl0sXCJkaXNhbGxvd2VkXCJdLFtbNjY5MjcsNjY5MjddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY2OTI4LDY3MDcxXSxcImRpc2FsbG93ZWRcIl0sW1s2NzA3Miw2NzM4Ml0sXCJ2YWxpZFwiXSxbWzY3MzgzLDY3MzkxXSxcImRpc2FsbG93ZWRcIl0sW1s2NzM5Miw2NzQxM10sXCJ2YWxpZFwiXSxbWzY3NDE0LDY3NDIzXSxcImRpc2FsbG93ZWRcIl0sW1s2NzQyNCw2NzQzMV0sXCJ2YWxpZFwiXSxbWzY3NDMyLDY3NTgzXSxcImRpc2FsbG93ZWRcIl0sW1s2NzU4NCw2NzU4OV0sXCJ2YWxpZFwiXSxbWzY3NTkwLDY3NTkxXSxcImRpc2FsbG93ZWRcIl0sW1s2NzU5Miw2NzU5Ml0sXCJ2YWxpZFwiXSxbWzY3NTkzLDY3NTkzXSxcImRpc2FsbG93ZWRcIl0sW1s2NzU5NCw2NzYzN10sXCJ2YWxpZFwiXSxbWzY3NjM4LDY3NjM4XSxcImRpc2FsbG93ZWRcIl0sW1s2NzYzOSw2NzY0MF0sXCJ2YWxpZFwiXSxbWzY3NjQxLDY3NjQzXSxcImRpc2FsbG93ZWRcIl0sW1s2NzY0NCw2NzY0NF0sXCJ2YWxpZFwiXSxbWzY3NjQ1LDY3NjQ2XSxcImRpc2FsbG93ZWRcIl0sW1s2NzY0Nyw2NzY0N10sXCJ2YWxpZFwiXSxbWzY3NjQ4LDY3NjY5XSxcInZhbGlkXCJdLFtbNjc2NzAsNjc2NzBdLFwiZGlzYWxsb3dlZFwiXSxbWzY3NjcxLDY3Njc5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2NzY4MCw2NzcwMl0sXCJ2YWxpZFwiXSxbWzY3NzAzLDY3NzExXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2NzcxMiw2Nzc0Ml0sXCJ2YWxpZFwiXSxbWzY3NzQzLDY3NzUwXSxcImRpc2FsbG93ZWRcIl0sW1s2Nzc1MSw2Nzc1OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjc3NjAsNjc4MDddLFwiZGlzYWxsb3dlZFwiXSxbWzY3ODA4LDY3ODI2XSxcInZhbGlkXCJdLFtbNjc4MjcsNjc4MjddLFwiZGlzYWxsb3dlZFwiXSxbWzY3ODI4LDY3ODI5XSxcInZhbGlkXCJdLFtbNjc4MzAsNjc4MzRdLFwiZGlzYWxsb3dlZFwiXSxbWzY3ODM1LDY3ODM5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2Nzg0MCw2Nzg2MV0sXCJ2YWxpZFwiXSxbWzY3ODYyLDY3ODY1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2Nzg2Niw2Nzg2N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjc4NjgsNjc4NzBdLFwiZGlzYWxsb3dlZFwiXSxbWzY3ODcxLDY3ODcxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2Nzg3Miw2Nzg5N10sXCJ2YWxpZFwiXSxbWzY3ODk4LDY3OTAyXSxcImRpc2FsbG93ZWRcIl0sW1s2NzkwMyw2NzkwM10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjc5MDQsNjc5NjddLFwiZGlzYWxsb3dlZFwiXSxbWzY3OTY4LDY4MDIzXSxcInZhbGlkXCJdLFtbNjgwMjQsNjgwMjddLFwiZGlzYWxsb3dlZFwiXSxbWzY4MDI4LDY4MDI5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2ODAzMCw2ODAzMV0sXCJ2YWxpZFwiXSxbWzY4MDMyLDY4MDQ3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2ODA0OCw2ODA0OV0sXCJkaXNhbGxvd2VkXCJdLFtbNjgwNTAsNjgwOTVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY4MDk2LDY4MDk5XSxcInZhbGlkXCJdLFtbNjgxMDAsNjgxMDBdLFwiZGlzYWxsb3dlZFwiXSxbWzY4MTAxLDY4MTAyXSxcInZhbGlkXCJdLFtbNjgxMDMsNjgxMDddLFwiZGlzYWxsb3dlZFwiXSxbWzY4MTA4LDY4MTE1XSxcInZhbGlkXCJdLFtbNjgxMTYsNjgxMTZdLFwiZGlzYWxsb3dlZFwiXSxbWzY4MTE3LDY4MTE5XSxcInZhbGlkXCJdLFtbNjgxMjAsNjgxMjBdLFwiZGlzYWxsb3dlZFwiXSxbWzY4MTIxLDY4MTQ3XSxcInZhbGlkXCJdLFtbNjgxNDgsNjgxNTFdLFwiZGlzYWxsb3dlZFwiXSxbWzY4MTUyLDY4MTU0XSxcInZhbGlkXCJdLFtbNjgxNTUsNjgxNThdLFwiZGlzYWxsb3dlZFwiXSxbWzY4MTU5LDY4MTU5XSxcInZhbGlkXCJdLFtbNjgxNjAsNjgxNjddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY4MTY4LDY4MTc1XSxcImRpc2FsbG93ZWRcIl0sW1s2ODE3Niw2ODE4NF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjgxODUsNjgxOTFdLFwiZGlzYWxsb3dlZFwiXSxbWzY4MTkyLDY4MjIwXSxcInZhbGlkXCJdLFtbNjgyMjEsNjgyMjNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY4MjI0LDY4MjUyXSxcInZhbGlkXCJdLFtbNjgyNTMsNjgyNTVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY4MjU2LDY4Mjg3XSxcImRpc2FsbG93ZWRcIl0sW1s2ODI4OCw2ODI5NV0sXCJ2YWxpZFwiXSxbWzY4Mjk2LDY4Mjk2XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2ODI5Nyw2ODMyNl0sXCJ2YWxpZFwiXSxbWzY4MzI3LDY4MzMwXSxcImRpc2FsbG93ZWRcIl0sW1s2ODMzMSw2ODM0Ml0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjgzNDMsNjgzNTFdLFwiZGlzYWxsb3dlZFwiXSxbWzY4MzUyLDY4NDA1XSxcInZhbGlkXCJdLFtbNjg0MDYsNjg0MDhdLFwiZGlzYWxsb3dlZFwiXSxbWzY4NDA5LDY4NDE1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2ODQxNiw2ODQzN10sXCJ2YWxpZFwiXSxbWzY4NDM4LDY4NDM5XSxcImRpc2FsbG93ZWRcIl0sW1s2ODQ0MCw2ODQ0N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjg0NDgsNjg0NjZdLFwidmFsaWRcIl0sW1s2ODQ2Nyw2ODQ3MV0sXCJkaXNhbGxvd2VkXCJdLFtbNjg0NzIsNjg0NzldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY4NDgwLDY4NDk3XSxcInZhbGlkXCJdLFtbNjg0OTgsNjg1MDRdLFwiZGlzYWxsb3dlZFwiXSxbWzY4NTA1LDY4NTA4XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2ODUwOSw2ODUyMF0sXCJkaXNhbGxvd2VkXCJdLFtbNjg1MjEsNjg1MjddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY4NTI4LDY4NjA3XSxcImRpc2FsbG93ZWRcIl0sW1s2ODYwOCw2ODY4MF0sXCJ2YWxpZFwiXSxbWzY4NjgxLDY4NzM1XSxcImRpc2FsbG93ZWRcIl0sW1s2ODczNiw2ODczNl0sXCJtYXBwZWRcIixbNjg4MDBdXSxbWzY4NzM3LDY4NzM3XSxcIm1hcHBlZFwiLFs2ODgwMV1dLFtbNjg3MzgsNjg3MzhdLFwibWFwcGVkXCIsWzY4ODAyXV0sW1s2ODczOSw2ODczOV0sXCJtYXBwZWRcIixbNjg4MDNdXSxbWzY4NzQwLDY4NzQwXSxcIm1hcHBlZFwiLFs2ODgwNF1dLFtbNjg3NDEsNjg3NDFdLFwibWFwcGVkXCIsWzY4ODA1XV0sW1s2ODc0Miw2ODc0Ml0sXCJtYXBwZWRcIixbNjg4MDZdXSxbWzY4NzQzLDY4NzQzXSxcIm1hcHBlZFwiLFs2ODgwN11dLFtbNjg3NDQsNjg3NDRdLFwibWFwcGVkXCIsWzY4ODA4XV0sW1s2ODc0NSw2ODc0NV0sXCJtYXBwZWRcIixbNjg4MDldXSxbWzY4NzQ2LDY4NzQ2XSxcIm1hcHBlZFwiLFs2ODgxMF1dLFtbNjg3NDcsNjg3NDddLFwibWFwcGVkXCIsWzY4ODExXV0sW1s2ODc0OCw2ODc0OF0sXCJtYXBwZWRcIixbNjg4MTJdXSxbWzY4NzQ5LDY4NzQ5XSxcIm1hcHBlZFwiLFs2ODgxM11dLFtbNjg3NTAsNjg3NTBdLFwibWFwcGVkXCIsWzY4ODE0XV0sW1s2ODc1MSw2ODc1MV0sXCJtYXBwZWRcIixbNjg4MTVdXSxbWzY4NzUyLDY4NzUyXSxcIm1hcHBlZFwiLFs2ODgxNl1dLFtbNjg3NTMsNjg3NTNdLFwibWFwcGVkXCIsWzY4ODE3XV0sW1s2ODc1NCw2ODc1NF0sXCJtYXBwZWRcIixbNjg4MThdXSxbWzY4NzU1LDY4NzU1XSxcIm1hcHBlZFwiLFs2ODgxOV1dLFtbNjg3NTYsNjg3NTZdLFwibWFwcGVkXCIsWzY4ODIwXV0sW1s2ODc1Nyw2ODc1N10sXCJtYXBwZWRcIixbNjg4MjFdXSxbWzY4NzU4LDY4NzU4XSxcIm1hcHBlZFwiLFs2ODgyMl1dLFtbNjg3NTksNjg3NTldLFwibWFwcGVkXCIsWzY4ODIzXV0sW1s2ODc2MCw2ODc2MF0sXCJtYXBwZWRcIixbNjg4MjRdXSxbWzY4NzYxLDY4NzYxXSxcIm1hcHBlZFwiLFs2ODgyNV1dLFtbNjg3NjIsNjg3NjJdLFwibWFwcGVkXCIsWzY4ODI2XV0sW1s2ODc2Myw2ODc2M10sXCJtYXBwZWRcIixbNjg4MjddXSxbWzY4NzY0LDY4NzY0XSxcIm1hcHBlZFwiLFs2ODgyOF1dLFtbNjg3NjUsNjg3NjVdLFwibWFwcGVkXCIsWzY4ODI5XV0sW1s2ODc2Niw2ODc2Nl0sXCJtYXBwZWRcIixbNjg4MzBdXSxbWzY4NzY3LDY4NzY3XSxcIm1hcHBlZFwiLFs2ODgzMV1dLFtbNjg3NjgsNjg3NjhdLFwibWFwcGVkXCIsWzY4ODMyXV0sW1s2ODc2OSw2ODc2OV0sXCJtYXBwZWRcIixbNjg4MzNdXSxbWzY4NzcwLDY4NzcwXSxcIm1hcHBlZFwiLFs2ODgzNF1dLFtbNjg3NzEsNjg3NzFdLFwibWFwcGVkXCIsWzY4ODM1XV0sW1s2ODc3Miw2ODc3Ml0sXCJtYXBwZWRcIixbNjg4MzZdXSxbWzY4NzczLDY4NzczXSxcIm1hcHBlZFwiLFs2ODgzN11dLFtbNjg3NzQsNjg3NzRdLFwibWFwcGVkXCIsWzY4ODM4XV0sW1s2ODc3NSw2ODc3NV0sXCJtYXBwZWRcIixbNjg4MzldXSxbWzY4Nzc2LDY4Nzc2XSxcIm1hcHBlZFwiLFs2ODg0MF1dLFtbNjg3NzcsNjg3NzddLFwibWFwcGVkXCIsWzY4ODQxXV0sW1s2ODc3OCw2ODc3OF0sXCJtYXBwZWRcIixbNjg4NDJdXSxbWzY4Nzc5LDY4Nzc5XSxcIm1hcHBlZFwiLFs2ODg0M11dLFtbNjg3ODAsNjg3ODBdLFwibWFwcGVkXCIsWzY4ODQ0XV0sW1s2ODc4MSw2ODc4MV0sXCJtYXBwZWRcIixbNjg4NDVdXSxbWzY4NzgyLDY4NzgyXSxcIm1hcHBlZFwiLFs2ODg0Nl1dLFtbNjg3ODMsNjg3ODNdLFwibWFwcGVkXCIsWzY4ODQ3XV0sW1s2ODc4NCw2ODc4NF0sXCJtYXBwZWRcIixbNjg4NDhdXSxbWzY4Nzg1LDY4Nzg1XSxcIm1hcHBlZFwiLFs2ODg0OV1dLFtbNjg3ODYsNjg3ODZdLFwibWFwcGVkXCIsWzY4ODUwXV0sW1s2ODc4Nyw2ODc5OV0sXCJkaXNhbGxvd2VkXCJdLFtbNjg4MDAsNjg4NTBdLFwidmFsaWRcIl0sW1s2ODg1MSw2ODg1N10sXCJkaXNhbGxvd2VkXCJdLFtbNjg4NTgsNjg4NjNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY4ODY0LDY5MjE1XSxcImRpc2FsbG93ZWRcIl0sW1s2OTIxNiw2OTI0Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjkyNDcsNjk2MzFdLFwiZGlzYWxsb3dlZFwiXSxbWzY5NjMyLDY5NzAyXSxcInZhbGlkXCJdLFtbNjk3MDMsNjk3MDldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY5NzEwLDY5NzEzXSxcImRpc2FsbG93ZWRcIl0sW1s2OTcxNCw2OTczM10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNjk3MzQsNjk3NDNdLFwidmFsaWRcIl0sW1s2OTc0NCw2OTc1OF0sXCJkaXNhbGxvd2VkXCJdLFtbNjk3NTksNjk3NTldLFwidmFsaWRcIl0sW1s2OTc2MCw2OTgxOF0sXCJ2YWxpZFwiXSxbWzY5ODE5LDY5ODIwXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2OTgyMSw2OTgyMV0sXCJkaXNhbGxvd2VkXCJdLFtbNjk4MjIsNjk4MjVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzY5ODI2LDY5ODM5XSxcImRpc2FsbG93ZWRcIl0sW1s2OTg0MCw2OTg2NF0sXCJ2YWxpZFwiXSxbWzY5ODY1LDY5ODcxXSxcImRpc2FsbG93ZWRcIl0sW1s2OTg3Miw2OTg4MV0sXCJ2YWxpZFwiXSxbWzY5ODgyLDY5ODg3XSxcImRpc2FsbG93ZWRcIl0sW1s2OTg4OCw2OTk0MF0sXCJ2YWxpZFwiXSxbWzY5OTQxLDY5OTQxXSxcImRpc2FsbG93ZWRcIl0sW1s2OTk0Miw2OTk1MV0sXCJ2YWxpZFwiXSxbWzY5OTUyLDY5OTU1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s2OTk1Niw2OTk2N10sXCJkaXNhbGxvd2VkXCJdLFtbNjk5NjgsNzAwMDNdLFwidmFsaWRcIl0sW1s3MDAwNCw3MDAwNV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNzAwMDYsNzAwMDZdLFwidmFsaWRcIl0sW1s3MDAwNyw3MDAxNV0sXCJkaXNhbGxvd2VkXCJdLFtbNzAwMTYsNzAwODRdLFwidmFsaWRcIl0sW1s3MDA4NSw3MDA4OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNzAwODksNzAwODldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzcwMDkwLDcwMDkyXSxcInZhbGlkXCJdLFtbNzAwOTMsNzAwOTNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzcwMDk0LDcwMDk1XSxcImRpc2FsbG93ZWRcIl0sW1s3MDA5Niw3MDEwNV0sXCJ2YWxpZFwiXSxbWzcwMTA2LDcwMTA2XSxcInZhbGlkXCJdLFtbNzAxMDcsNzAxMDddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzcwMTA4LDcwMTA4XSxcInZhbGlkXCJdLFtbNzAxMDksNzAxMTFdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzcwMTEyLDcwMTEyXSxcImRpc2FsbG93ZWRcIl0sW1s3MDExMyw3MDEzMl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNzAxMzMsNzAxNDNdLFwiZGlzYWxsb3dlZFwiXSxbWzcwMTQ0LDcwMTYxXSxcInZhbGlkXCJdLFtbNzAxNjIsNzAxNjJdLFwiZGlzYWxsb3dlZFwiXSxbWzcwMTYzLDcwMTk5XSxcInZhbGlkXCJdLFtbNzAyMDAsNzAyMDVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzcwMjA2LDcwMjcxXSxcImRpc2FsbG93ZWRcIl0sW1s3MDI3Miw3MDI3OF0sXCJ2YWxpZFwiXSxbWzcwMjc5LDcwMjc5XSxcImRpc2FsbG93ZWRcIl0sW1s3MDI4MCw3MDI4MF0sXCJ2YWxpZFwiXSxbWzcwMjgxLDcwMjgxXSxcImRpc2FsbG93ZWRcIl0sW1s3MDI4Miw3MDI4NV0sXCJ2YWxpZFwiXSxbWzcwMjg2LDcwMjg2XSxcImRpc2FsbG93ZWRcIl0sW1s3MDI4Nyw3MDMwMV0sXCJ2YWxpZFwiXSxbWzcwMzAyLDcwMzAyXSxcImRpc2FsbG93ZWRcIl0sW1s3MDMwMyw3MDMxMl0sXCJ2YWxpZFwiXSxbWzcwMzEzLDcwMzEzXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s3MDMxNCw3MDMxOV0sXCJkaXNhbGxvd2VkXCJdLFtbNzAzMjAsNzAzNzhdLFwidmFsaWRcIl0sW1s3MDM3OSw3MDM4M10sXCJkaXNhbGxvd2VkXCJdLFtbNzAzODQsNzAzOTNdLFwidmFsaWRcIl0sW1s3MDM5NCw3MDM5OV0sXCJkaXNhbGxvd2VkXCJdLFtbNzA0MDAsNzA0MDBdLFwidmFsaWRcIl0sW1s3MDQwMSw3MDQwM10sXCJ2YWxpZFwiXSxbWzcwNDA0LDcwNDA0XSxcImRpc2FsbG93ZWRcIl0sW1s3MDQwNSw3MDQxMl0sXCJ2YWxpZFwiXSxbWzcwNDEzLDcwNDE0XSxcImRpc2FsbG93ZWRcIl0sW1s3MDQxNSw3MDQxNl0sXCJ2YWxpZFwiXSxbWzcwNDE3LDcwNDE4XSxcImRpc2FsbG93ZWRcIl0sW1s3MDQxOSw3MDQ0MF0sXCJ2YWxpZFwiXSxbWzcwNDQxLDcwNDQxXSxcImRpc2FsbG93ZWRcIl0sW1s3MDQ0Miw3MDQ0OF0sXCJ2YWxpZFwiXSxbWzcwNDQ5LDcwNDQ5XSxcImRpc2FsbG93ZWRcIl0sW1s3MDQ1MCw3MDQ1MV0sXCJ2YWxpZFwiXSxbWzcwNDUyLDcwNDUyXSxcImRpc2FsbG93ZWRcIl0sW1s3MDQ1Myw3MDQ1N10sXCJ2YWxpZFwiXSxbWzcwNDU4LDcwNDU5XSxcImRpc2FsbG93ZWRcIl0sW1s3MDQ2MCw3MDQ2OF0sXCJ2YWxpZFwiXSxbWzcwNDY5LDcwNDcwXSxcImRpc2FsbG93ZWRcIl0sW1s3MDQ3MSw3MDQ3Ml0sXCJ2YWxpZFwiXSxbWzcwNDczLDcwNDc0XSxcImRpc2FsbG93ZWRcIl0sW1s3MDQ3NSw3MDQ3N10sXCJ2YWxpZFwiXSxbWzcwNDc4LDcwNDc5XSxcImRpc2FsbG93ZWRcIl0sW1s3MDQ4MCw3MDQ4MF0sXCJ2YWxpZFwiXSxbWzcwNDgxLDcwNDg2XSxcImRpc2FsbG93ZWRcIl0sW1s3MDQ4Nyw3MDQ4N10sXCJ2YWxpZFwiXSxbWzcwNDg4LDcwNDkyXSxcImRpc2FsbG93ZWRcIl0sW1s3MDQ5Myw3MDQ5OV0sXCJ2YWxpZFwiXSxbWzcwNTAwLDcwNTAxXSxcImRpc2FsbG93ZWRcIl0sW1s3MDUwMiw3MDUwOF0sXCJ2YWxpZFwiXSxbWzcwNTA5LDcwNTExXSxcImRpc2FsbG93ZWRcIl0sW1s3MDUxMiw3MDUxNl0sXCJ2YWxpZFwiXSxbWzcwNTE3LDcwNzgzXSxcImRpc2FsbG93ZWRcIl0sW1s3MDc4NCw3MDg1M10sXCJ2YWxpZFwiXSxbWzcwODU0LDcwODU0XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s3MDg1NSw3MDg1NV0sXCJ2YWxpZFwiXSxbWzcwODU2LDcwODYzXSxcImRpc2FsbG93ZWRcIl0sW1s3MDg2NCw3MDg3M10sXCJ2YWxpZFwiXSxbWzcwODc0LDcxMDM5XSxcImRpc2FsbG93ZWRcIl0sW1s3MTA0MCw3MTA5M10sXCJ2YWxpZFwiXSxbWzcxMDk0LDcxMDk1XSxcImRpc2FsbG93ZWRcIl0sW1s3MTA5Niw3MTEwNF0sXCJ2YWxpZFwiXSxbWzcxMTA1LDcxMTEzXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s3MTExNCw3MTEyN10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNzExMjgsNzExMzNdLFwidmFsaWRcIl0sW1s3MTEzNCw3MTE2N10sXCJkaXNhbGxvd2VkXCJdLFtbNzExNjgsNzEyMzJdLFwidmFsaWRcIl0sW1s3MTIzMyw3MTIzNV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNzEyMzYsNzEyMzZdLFwidmFsaWRcIl0sW1s3MTIzNyw3MTI0N10sXCJkaXNhbGxvd2VkXCJdLFtbNzEyNDgsNzEyNTddLFwidmFsaWRcIl0sW1s3MTI1OCw3MTI5NV0sXCJkaXNhbGxvd2VkXCJdLFtbNzEyOTYsNzEzNTFdLFwidmFsaWRcIl0sW1s3MTM1Miw3MTM1OV0sXCJkaXNhbGxvd2VkXCJdLFtbNzEzNjAsNzEzNjldLFwidmFsaWRcIl0sW1s3MTM3MCw3MTQyM10sXCJkaXNhbGxvd2VkXCJdLFtbNzE0MjQsNzE0NDldLFwidmFsaWRcIl0sW1s3MTQ1MCw3MTQ1Ml0sXCJkaXNhbGxvd2VkXCJdLFtbNzE0NTMsNzE0NjddLFwidmFsaWRcIl0sW1s3MTQ2OCw3MTQ3MV0sXCJkaXNhbGxvd2VkXCJdLFtbNzE0NzIsNzE0ODFdLFwidmFsaWRcIl0sW1s3MTQ4Miw3MTQ4N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNzE0ODgsNzE4MzldLFwiZGlzYWxsb3dlZFwiXSxbWzcxODQwLDcxODQwXSxcIm1hcHBlZFwiLFs3MTg3Ml1dLFtbNzE4NDEsNzE4NDFdLFwibWFwcGVkXCIsWzcxODczXV0sW1s3MTg0Miw3MTg0Ml0sXCJtYXBwZWRcIixbNzE4NzRdXSxbWzcxODQzLDcxODQzXSxcIm1hcHBlZFwiLFs3MTg3NV1dLFtbNzE4NDQsNzE4NDRdLFwibWFwcGVkXCIsWzcxODc2XV0sW1s3MTg0NSw3MTg0NV0sXCJtYXBwZWRcIixbNzE4NzddXSxbWzcxODQ2LDcxODQ2XSxcIm1hcHBlZFwiLFs3MTg3OF1dLFtbNzE4NDcsNzE4NDddLFwibWFwcGVkXCIsWzcxODc5XV0sW1s3MTg0OCw3MTg0OF0sXCJtYXBwZWRcIixbNzE4ODBdXSxbWzcxODQ5LDcxODQ5XSxcIm1hcHBlZFwiLFs3MTg4MV1dLFtbNzE4NTAsNzE4NTBdLFwibWFwcGVkXCIsWzcxODgyXV0sW1s3MTg1MSw3MTg1MV0sXCJtYXBwZWRcIixbNzE4ODNdXSxbWzcxODUyLDcxODUyXSxcIm1hcHBlZFwiLFs3MTg4NF1dLFtbNzE4NTMsNzE4NTNdLFwibWFwcGVkXCIsWzcxODg1XV0sW1s3MTg1NCw3MTg1NF0sXCJtYXBwZWRcIixbNzE4ODZdXSxbWzcxODU1LDcxODU1XSxcIm1hcHBlZFwiLFs3MTg4N11dLFtbNzE4NTYsNzE4NTZdLFwibWFwcGVkXCIsWzcxODg4XV0sW1s3MTg1Nyw3MTg1N10sXCJtYXBwZWRcIixbNzE4ODldXSxbWzcxODU4LDcxODU4XSxcIm1hcHBlZFwiLFs3MTg5MF1dLFtbNzE4NTksNzE4NTldLFwibWFwcGVkXCIsWzcxODkxXV0sW1s3MTg2MCw3MTg2MF0sXCJtYXBwZWRcIixbNzE4OTJdXSxbWzcxODYxLDcxODYxXSxcIm1hcHBlZFwiLFs3MTg5M11dLFtbNzE4NjIsNzE4NjJdLFwibWFwcGVkXCIsWzcxODk0XV0sW1s3MTg2Myw3MTg2M10sXCJtYXBwZWRcIixbNzE4OTVdXSxbWzcxODY0LDcxODY0XSxcIm1hcHBlZFwiLFs3MTg5Nl1dLFtbNzE4NjUsNzE4NjVdLFwibWFwcGVkXCIsWzcxODk3XV0sW1s3MTg2Niw3MTg2Nl0sXCJtYXBwZWRcIixbNzE4OThdXSxbWzcxODY3LDcxODY3XSxcIm1hcHBlZFwiLFs3MTg5OV1dLFtbNzE4NjgsNzE4NjhdLFwibWFwcGVkXCIsWzcxOTAwXV0sW1s3MTg2OSw3MTg2OV0sXCJtYXBwZWRcIixbNzE5MDFdXSxbWzcxODcwLDcxODcwXSxcIm1hcHBlZFwiLFs3MTkwMl1dLFtbNzE4NzEsNzE4NzFdLFwibWFwcGVkXCIsWzcxOTAzXV0sW1s3MTg3Miw3MTkxM10sXCJ2YWxpZFwiXSxbWzcxOTE0LDcxOTIyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s3MTkyMyw3MTkzNF0sXCJkaXNhbGxvd2VkXCJdLFtbNzE5MzUsNzE5MzVdLFwidmFsaWRcIl0sW1s3MTkzNiw3MjM4M10sXCJkaXNhbGxvd2VkXCJdLFtbNzIzODQsNzI0NDBdLFwidmFsaWRcIl0sW1s3MjQ0MSw3MzcyN10sXCJkaXNhbGxvd2VkXCJdLFtbNzM3MjgsNzQ2MDZdLFwidmFsaWRcIl0sW1s3NDYwNyw3NDY0OF0sXCJ2YWxpZFwiXSxbWzc0NjQ5LDc0NjQ5XSxcInZhbGlkXCJdLFtbNzQ2NTAsNzQ3NTFdLFwiZGlzYWxsb3dlZFwiXSxbWzc0NzUyLDc0ODUwXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s3NDg1MSw3NDg2Ml0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNzQ4NjMsNzQ4NjNdLFwiZGlzYWxsb3dlZFwiXSxbWzc0ODY0LDc0ODY3XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s3NDg2OCw3NDg2OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbNzQ4NjksNzQ4NzldLFwiZGlzYWxsb3dlZFwiXSxbWzc0ODgwLDc1MDc1XSxcInZhbGlkXCJdLFtbNzUwNzYsNzc4MjNdLFwiZGlzYWxsb3dlZFwiXSxbWzc3ODI0LDc4ODk0XSxcInZhbGlkXCJdLFtbNzg4OTUsODI5NDNdLFwiZGlzYWxsb3dlZFwiXSxbWzgyOTQ0LDgzNTI2XSxcInZhbGlkXCJdLFtbODM1MjcsOTIxNTldLFwiZGlzYWxsb3dlZFwiXSxbWzkyMTYwLDkyNzI4XSxcInZhbGlkXCJdLFtbOTI3MjksOTI3MzVdLFwiZGlzYWxsb3dlZFwiXSxbWzkyNzM2LDkyNzY2XSxcInZhbGlkXCJdLFtbOTI3NjcsOTI3NjddLFwiZGlzYWxsb3dlZFwiXSxbWzkyNzY4LDkyNzc3XSxcInZhbGlkXCJdLFtbOTI3NzgsOTI3ODFdLFwiZGlzYWxsb3dlZFwiXSxbWzkyNzgyLDkyNzgzXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1s5Mjc4NCw5Mjg3OV0sXCJkaXNhbGxvd2VkXCJdLFtbOTI4ODAsOTI5MDldLFwidmFsaWRcIl0sW1s5MjkxMCw5MjkxMV0sXCJkaXNhbGxvd2VkXCJdLFtbOTI5MTIsOTI5MTZdLFwidmFsaWRcIl0sW1s5MjkxNyw5MjkxN10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTI5MTgsOTI5MjddLFwiZGlzYWxsb3dlZFwiXSxbWzkyOTI4LDkyOTgyXSxcInZhbGlkXCJdLFtbOTI5ODMsOTI5OTFdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzkyOTkyLDkyOTk1XSxcInZhbGlkXCJdLFtbOTI5OTYsOTI5OTddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzkyOTk4LDkzMDA3XSxcImRpc2FsbG93ZWRcIl0sW1s5MzAwOCw5MzAxN10sXCJ2YWxpZFwiXSxbWzkzMDE4LDkzMDE4XSxcImRpc2FsbG93ZWRcIl0sW1s5MzAxOSw5MzAyNV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbOTMwMjYsOTMwMjZdLFwiZGlzYWxsb3dlZFwiXSxbWzkzMDI3LDkzMDQ3XSxcInZhbGlkXCJdLFtbOTMwNDgsOTMwNTJdLFwiZGlzYWxsb3dlZFwiXSxbWzkzMDUzLDkzMDcxXSxcInZhbGlkXCJdLFtbOTMwNzIsOTM5NTFdLFwiZGlzYWxsb3dlZFwiXSxbWzkzOTUyLDk0MDIwXSxcInZhbGlkXCJdLFtbOTQwMjEsOTQwMzFdLFwiZGlzYWxsb3dlZFwiXSxbWzk0MDMyLDk0MDc4XSxcInZhbGlkXCJdLFtbOTQwNzksOTQwOTRdLFwiZGlzYWxsb3dlZFwiXSxbWzk0MDk1LDk0MTExXSxcInZhbGlkXCJdLFtbOTQxMTIsMTEwNTkxXSxcImRpc2FsbG93ZWRcIl0sW1sxMTA1OTIsMTEwNTkzXSxcInZhbGlkXCJdLFtbMTEwNTk0LDExMzY2M10sXCJkaXNhbGxvd2VkXCJdLFtbMTEzNjY0LDExMzc3MF0sXCJ2YWxpZFwiXSxbWzExMzc3MSwxMTM3NzVdLFwiZGlzYWxsb3dlZFwiXSxbWzExMzc3NiwxMTM3ODhdLFwidmFsaWRcIl0sW1sxMTM3ODksMTEzNzkxXSxcImRpc2FsbG93ZWRcIl0sW1sxMTM3OTIsMTEzODAwXSxcInZhbGlkXCJdLFtbMTEzODAxLDExMzgwN10sXCJkaXNhbGxvd2VkXCJdLFtbMTEzODA4LDExMzgxN10sXCJ2YWxpZFwiXSxbWzExMzgxOCwxMTM4MTldLFwiZGlzYWxsb3dlZFwiXSxbWzExMzgyMCwxMTM4MjBdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzExMzgyMSwxMTM4MjJdLFwidmFsaWRcIl0sW1sxMTM4MjMsMTEzODIzXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTM4MjQsMTEzODI3XSxcImlnbm9yZWRcIl0sW1sxMTM4MjgsMTE4NzgzXSxcImRpc2FsbG93ZWRcIl0sW1sxMTg3ODQsMTE5MDI5XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTkwMzAsMTE5MDM5XSxcImRpc2FsbG93ZWRcIl0sW1sxMTkwNDAsMTE5MDc4XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTkwNzksMTE5MDgwXSxcImRpc2FsbG93ZWRcIl0sW1sxMTkwODEsMTE5MDgxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTkwODIsMTE5MTMzXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTkxMzQsMTE5MTM0XSxcIm1hcHBlZFwiLFsxMTkxMjcsMTE5MTQxXV0sW1sxMTkxMzUsMTE5MTM1XSxcIm1hcHBlZFwiLFsxMTkxMjgsMTE5MTQxXV0sW1sxMTkxMzYsMTE5MTM2XSxcIm1hcHBlZFwiLFsxMTkxMjgsMTE5MTQxLDExOTE1MF1dLFtbMTE5MTM3LDExOTEzN10sXCJtYXBwZWRcIixbMTE5MTI4LDExOTE0MSwxMTkxNTFdXSxbWzExOTEzOCwxMTkxMzhdLFwibWFwcGVkXCIsWzExOTEyOCwxMTkxNDEsMTE5MTUyXV0sW1sxMTkxMzksMTE5MTM5XSxcIm1hcHBlZFwiLFsxMTkxMjgsMTE5MTQxLDExOTE1M11dLFtbMTE5MTQwLDExOTE0MF0sXCJtYXBwZWRcIixbMTE5MTI4LDExOTE0MSwxMTkxNTRdXSxbWzExOTE0MSwxMTkxNTRdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzExOTE1NSwxMTkxNjJdLFwiZGlzYWxsb3dlZFwiXSxbWzExOTE2MywxMTkyMjZdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzExOTIyNywxMTkyMjddLFwibWFwcGVkXCIsWzExOTIyNSwxMTkxNDFdXSxbWzExOTIyOCwxMTkyMjhdLFwibWFwcGVkXCIsWzExOTIyNiwxMTkxNDFdXSxbWzExOTIyOSwxMTkyMjldLFwibWFwcGVkXCIsWzExOTIyNSwxMTkxNDEsMTE5MTUwXV0sW1sxMTkyMzAsMTE5MjMwXSxcIm1hcHBlZFwiLFsxMTkyMjYsMTE5MTQxLDExOTE1MF1dLFtbMTE5MjMxLDExOTIzMV0sXCJtYXBwZWRcIixbMTE5MjI1LDExOTE0MSwxMTkxNTFdXSxbWzExOTIzMiwxMTkyMzJdLFwibWFwcGVkXCIsWzExOTIyNiwxMTkxNDEsMTE5MTUxXV0sW1sxMTkyMzMsMTE5MjYxXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTkyNjIsMTE5MjcyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTkyNzMsMTE5Mjk1XSxcImRpc2FsbG93ZWRcIl0sW1sxMTkyOTYsMTE5MzY1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTkzNjYsMTE5NTUxXSxcImRpc2FsbG93ZWRcIl0sW1sxMTk1NTIsMTE5NjM4XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTk2MzksMTE5NjQ3XSxcImRpc2FsbG93ZWRcIl0sW1sxMTk2NDgsMTE5NjY1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMTk2NjYsMTE5ODA3XSxcImRpc2FsbG93ZWRcIl0sW1sxMTk4MDgsMTE5ODA4XSxcIm1hcHBlZFwiLFs5N11dLFtbMTE5ODA5LDExOTgwOV0sXCJtYXBwZWRcIixbOThdXSxbWzExOTgxMCwxMTk4MTBdLFwibWFwcGVkXCIsWzk5XV0sW1sxMTk4MTEsMTE5ODExXSxcIm1hcHBlZFwiLFsxMDBdXSxbWzExOTgxMiwxMTk4MTJdLFwibWFwcGVkXCIsWzEwMV1dLFtbMTE5ODEzLDExOTgxM10sXCJtYXBwZWRcIixbMTAyXV0sW1sxMTk4MTQsMTE5ODE0XSxcIm1hcHBlZFwiLFsxMDNdXSxbWzExOTgxNSwxMTk4MTVdLFwibWFwcGVkXCIsWzEwNF1dLFtbMTE5ODE2LDExOTgxNl0sXCJtYXBwZWRcIixbMTA1XV0sW1sxMTk4MTcsMTE5ODE3XSxcIm1hcHBlZFwiLFsxMDZdXSxbWzExOTgxOCwxMTk4MThdLFwibWFwcGVkXCIsWzEwN11dLFtbMTE5ODE5LDExOTgxOV0sXCJtYXBwZWRcIixbMTA4XV0sW1sxMTk4MjAsMTE5ODIwXSxcIm1hcHBlZFwiLFsxMDldXSxbWzExOTgyMSwxMTk4MjFdLFwibWFwcGVkXCIsWzExMF1dLFtbMTE5ODIyLDExOTgyMl0sXCJtYXBwZWRcIixbMTExXV0sW1sxMTk4MjMsMTE5ODIzXSxcIm1hcHBlZFwiLFsxMTJdXSxbWzExOTgyNCwxMTk4MjRdLFwibWFwcGVkXCIsWzExM11dLFtbMTE5ODI1LDExOTgyNV0sXCJtYXBwZWRcIixbMTE0XV0sW1sxMTk4MjYsMTE5ODI2XSxcIm1hcHBlZFwiLFsxMTVdXSxbWzExOTgyNywxMTk4MjddLFwibWFwcGVkXCIsWzExNl1dLFtbMTE5ODI4LDExOTgyOF0sXCJtYXBwZWRcIixbMTE3XV0sW1sxMTk4MjksMTE5ODI5XSxcIm1hcHBlZFwiLFsxMThdXSxbWzExOTgzMCwxMTk4MzBdLFwibWFwcGVkXCIsWzExOV1dLFtbMTE5ODMxLDExOTgzMV0sXCJtYXBwZWRcIixbMTIwXV0sW1sxMTk4MzIsMTE5ODMyXSxcIm1hcHBlZFwiLFsxMjFdXSxbWzExOTgzMywxMTk4MzNdLFwibWFwcGVkXCIsWzEyMl1dLFtbMTE5ODM0LDExOTgzNF0sXCJtYXBwZWRcIixbOTddXSxbWzExOTgzNSwxMTk4MzVdLFwibWFwcGVkXCIsWzk4XV0sW1sxMTk4MzYsMTE5ODM2XSxcIm1hcHBlZFwiLFs5OV1dLFtbMTE5ODM3LDExOTgzN10sXCJtYXBwZWRcIixbMTAwXV0sW1sxMTk4MzgsMTE5ODM4XSxcIm1hcHBlZFwiLFsxMDFdXSxbWzExOTgzOSwxMTk4MzldLFwibWFwcGVkXCIsWzEwMl1dLFtbMTE5ODQwLDExOTg0MF0sXCJtYXBwZWRcIixbMTAzXV0sW1sxMTk4NDEsMTE5ODQxXSxcIm1hcHBlZFwiLFsxMDRdXSxbWzExOTg0MiwxMTk4NDJdLFwibWFwcGVkXCIsWzEwNV1dLFtbMTE5ODQzLDExOTg0M10sXCJtYXBwZWRcIixbMTA2XV0sW1sxMTk4NDQsMTE5ODQ0XSxcIm1hcHBlZFwiLFsxMDddXSxbWzExOTg0NSwxMTk4NDVdLFwibWFwcGVkXCIsWzEwOF1dLFtbMTE5ODQ2LDExOTg0Nl0sXCJtYXBwZWRcIixbMTA5XV0sW1sxMTk4NDcsMTE5ODQ3XSxcIm1hcHBlZFwiLFsxMTBdXSxbWzExOTg0OCwxMTk4NDhdLFwibWFwcGVkXCIsWzExMV1dLFtbMTE5ODQ5LDExOTg0OV0sXCJtYXBwZWRcIixbMTEyXV0sW1sxMTk4NTAsMTE5ODUwXSxcIm1hcHBlZFwiLFsxMTNdXSxbWzExOTg1MSwxMTk4NTFdLFwibWFwcGVkXCIsWzExNF1dLFtbMTE5ODUyLDExOTg1Ml0sXCJtYXBwZWRcIixbMTE1XV0sW1sxMTk4NTMsMTE5ODUzXSxcIm1hcHBlZFwiLFsxMTZdXSxbWzExOTg1NCwxMTk4NTRdLFwibWFwcGVkXCIsWzExN11dLFtbMTE5ODU1LDExOTg1NV0sXCJtYXBwZWRcIixbMTE4XV0sW1sxMTk4NTYsMTE5ODU2XSxcIm1hcHBlZFwiLFsxMTldXSxbWzExOTg1NywxMTk4NTddLFwibWFwcGVkXCIsWzEyMF1dLFtbMTE5ODU4LDExOTg1OF0sXCJtYXBwZWRcIixbMTIxXV0sW1sxMTk4NTksMTE5ODU5XSxcIm1hcHBlZFwiLFsxMjJdXSxbWzExOTg2MCwxMTk4NjBdLFwibWFwcGVkXCIsWzk3XV0sW1sxMTk4NjEsMTE5ODYxXSxcIm1hcHBlZFwiLFs5OF1dLFtbMTE5ODYyLDExOTg2Ml0sXCJtYXBwZWRcIixbOTldXSxbWzExOTg2MywxMTk4NjNdLFwibWFwcGVkXCIsWzEwMF1dLFtbMTE5ODY0LDExOTg2NF0sXCJtYXBwZWRcIixbMTAxXV0sW1sxMTk4NjUsMTE5ODY1XSxcIm1hcHBlZFwiLFsxMDJdXSxbWzExOTg2NiwxMTk4NjZdLFwibWFwcGVkXCIsWzEwM11dLFtbMTE5ODY3LDExOTg2N10sXCJtYXBwZWRcIixbMTA0XV0sW1sxMTk4NjgsMTE5ODY4XSxcIm1hcHBlZFwiLFsxMDVdXSxbWzExOTg2OSwxMTk4NjldLFwibWFwcGVkXCIsWzEwNl1dLFtbMTE5ODcwLDExOTg3MF0sXCJtYXBwZWRcIixbMTA3XV0sW1sxMTk4NzEsMTE5ODcxXSxcIm1hcHBlZFwiLFsxMDhdXSxbWzExOTg3MiwxMTk4NzJdLFwibWFwcGVkXCIsWzEwOV1dLFtbMTE5ODczLDExOTg3M10sXCJtYXBwZWRcIixbMTEwXV0sW1sxMTk4NzQsMTE5ODc0XSxcIm1hcHBlZFwiLFsxMTFdXSxbWzExOTg3NSwxMTk4NzVdLFwibWFwcGVkXCIsWzExMl1dLFtbMTE5ODc2LDExOTg3Nl0sXCJtYXBwZWRcIixbMTEzXV0sW1sxMTk4NzcsMTE5ODc3XSxcIm1hcHBlZFwiLFsxMTRdXSxbWzExOTg3OCwxMTk4NzhdLFwibWFwcGVkXCIsWzExNV1dLFtbMTE5ODc5LDExOTg3OV0sXCJtYXBwZWRcIixbMTE2XV0sW1sxMTk4ODAsMTE5ODgwXSxcIm1hcHBlZFwiLFsxMTddXSxbWzExOTg4MSwxMTk4ODFdLFwibWFwcGVkXCIsWzExOF1dLFtbMTE5ODgyLDExOTg4Ml0sXCJtYXBwZWRcIixbMTE5XV0sW1sxMTk4ODMsMTE5ODgzXSxcIm1hcHBlZFwiLFsxMjBdXSxbWzExOTg4NCwxMTk4ODRdLFwibWFwcGVkXCIsWzEyMV1dLFtbMTE5ODg1LDExOTg4NV0sXCJtYXBwZWRcIixbMTIyXV0sW1sxMTk4ODYsMTE5ODg2XSxcIm1hcHBlZFwiLFs5N11dLFtbMTE5ODg3LDExOTg4N10sXCJtYXBwZWRcIixbOThdXSxbWzExOTg4OCwxMTk4ODhdLFwibWFwcGVkXCIsWzk5XV0sW1sxMTk4ODksMTE5ODg5XSxcIm1hcHBlZFwiLFsxMDBdXSxbWzExOTg5MCwxMTk4OTBdLFwibWFwcGVkXCIsWzEwMV1dLFtbMTE5ODkxLDExOTg5MV0sXCJtYXBwZWRcIixbMTAyXV0sW1sxMTk4OTIsMTE5ODkyXSxcIm1hcHBlZFwiLFsxMDNdXSxbWzExOTg5MywxMTk4OTNdLFwiZGlzYWxsb3dlZFwiXSxbWzExOTg5NCwxMTk4OTRdLFwibWFwcGVkXCIsWzEwNV1dLFtbMTE5ODk1LDExOTg5NV0sXCJtYXBwZWRcIixbMTA2XV0sW1sxMTk4OTYsMTE5ODk2XSxcIm1hcHBlZFwiLFsxMDddXSxbWzExOTg5NywxMTk4OTddLFwibWFwcGVkXCIsWzEwOF1dLFtbMTE5ODk4LDExOTg5OF0sXCJtYXBwZWRcIixbMTA5XV0sW1sxMTk4OTksMTE5ODk5XSxcIm1hcHBlZFwiLFsxMTBdXSxbWzExOTkwMCwxMTk5MDBdLFwibWFwcGVkXCIsWzExMV1dLFtbMTE5OTAxLDExOTkwMV0sXCJtYXBwZWRcIixbMTEyXV0sW1sxMTk5MDIsMTE5OTAyXSxcIm1hcHBlZFwiLFsxMTNdXSxbWzExOTkwMywxMTk5MDNdLFwibWFwcGVkXCIsWzExNF1dLFtbMTE5OTA0LDExOTkwNF0sXCJtYXBwZWRcIixbMTE1XV0sW1sxMTk5MDUsMTE5OTA1XSxcIm1hcHBlZFwiLFsxMTZdXSxbWzExOTkwNiwxMTk5MDZdLFwibWFwcGVkXCIsWzExN11dLFtbMTE5OTA3LDExOTkwN10sXCJtYXBwZWRcIixbMTE4XV0sW1sxMTk5MDgsMTE5OTA4XSxcIm1hcHBlZFwiLFsxMTldXSxbWzExOTkwOSwxMTk5MDldLFwibWFwcGVkXCIsWzEyMF1dLFtbMTE5OTEwLDExOTkxMF0sXCJtYXBwZWRcIixbMTIxXV0sW1sxMTk5MTEsMTE5OTExXSxcIm1hcHBlZFwiLFsxMjJdXSxbWzExOTkxMiwxMTk5MTJdLFwibWFwcGVkXCIsWzk3XV0sW1sxMTk5MTMsMTE5OTEzXSxcIm1hcHBlZFwiLFs5OF1dLFtbMTE5OTE0LDExOTkxNF0sXCJtYXBwZWRcIixbOTldXSxbWzExOTkxNSwxMTk5MTVdLFwibWFwcGVkXCIsWzEwMF1dLFtbMTE5OTE2LDExOTkxNl0sXCJtYXBwZWRcIixbMTAxXV0sW1sxMTk5MTcsMTE5OTE3XSxcIm1hcHBlZFwiLFsxMDJdXSxbWzExOTkxOCwxMTk5MThdLFwibWFwcGVkXCIsWzEwM11dLFtbMTE5OTE5LDExOTkxOV0sXCJtYXBwZWRcIixbMTA0XV0sW1sxMTk5MjAsMTE5OTIwXSxcIm1hcHBlZFwiLFsxMDVdXSxbWzExOTkyMSwxMTk5MjFdLFwibWFwcGVkXCIsWzEwNl1dLFtbMTE5OTIyLDExOTkyMl0sXCJtYXBwZWRcIixbMTA3XV0sW1sxMTk5MjMsMTE5OTIzXSxcIm1hcHBlZFwiLFsxMDhdXSxbWzExOTkyNCwxMTk5MjRdLFwibWFwcGVkXCIsWzEwOV1dLFtbMTE5OTI1LDExOTkyNV0sXCJtYXBwZWRcIixbMTEwXV0sW1sxMTk5MjYsMTE5OTI2XSxcIm1hcHBlZFwiLFsxMTFdXSxbWzExOTkyNywxMTk5MjddLFwibWFwcGVkXCIsWzExMl1dLFtbMTE5OTI4LDExOTkyOF0sXCJtYXBwZWRcIixbMTEzXV0sW1sxMTk5MjksMTE5OTI5XSxcIm1hcHBlZFwiLFsxMTRdXSxbWzExOTkzMCwxMTk5MzBdLFwibWFwcGVkXCIsWzExNV1dLFtbMTE5OTMxLDExOTkzMV0sXCJtYXBwZWRcIixbMTE2XV0sW1sxMTk5MzIsMTE5OTMyXSxcIm1hcHBlZFwiLFsxMTddXSxbWzExOTkzMywxMTk5MzNdLFwibWFwcGVkXCIsWzExOF1dLFtbMTE5OTM0LDExOTkzNF0sXCJtYXBwZWRcIixbMTE5XV0sW1sxMTk5MzUsMTE5OTM1XSxcIm1hcHBlZFwiLFsxMjBdXSxbWzExOTkzNiwxMTk5MzZdLFwibWFwcGVkXCIsWzEyMV1dLFtbMTE5OTM3LDExOTkzN10sXCJtYXBwZWRcIixbMTIyXV0sW1sxMTk5MzgsMTE5OTM4XSxcIm1hcHBlZFwiLFs5N11dLFtbMTE5OTM5LDExOTkzOV0sXCJtYXBwZWRcIixbOThdXSxbWzExOTk0MCwxMTk5NDBdLFwibWFwcGVkXCIsWzk5XV0sW1sxMTk5NDEsMTE5OTQxXSxcIm1hcHBlZFwiLFsxMDBdXSxbWzExOTk0MiwxMTk5NDJdLFwibWFwcGVkXCIsWzEwMV1dLFtbMTE5OTQzLDExOTk0M10sXCJtYXBwZWRcIixbMTAyXV0sW1sxMTk5NDQsMTE5OTQ0XSxcIm1hcHBlZFwiLFsxMDNdXSxbWzExOTk0NSwxMTk5NDVdLFwibWFwcGVkXCIsWzEwNF1dLFtbMTE5OTQ2LDExOTk0Nl0sXCJtYXBwZWRcIixbMTA1XV0sW1sxMTk5NDcsMTE5OTQ3XSxcIm1hcHBlZFwiLFsxMDZdXSxbWzExOTk0OCwxMTk5NDhdLFwibWFwcGVkXCIsWzEwN11dLFtbMTE5OTQ5LDExOTk0OV0sXCJtYXBwZWRcIixbMTA4XV0sW1sxMTk5NTAsMTE5OTUwXSxcIm1hcHBlZFwiLFsxMDldXSxbWzExOTk1MSwxMTk5NTFdLFwibWFwcGVkXCIsWzExMF1dLFtbMTE5OTUyLDExOTk1Ml0sXCJtYXBwZWRcIixbMTExXV0sW1sxMTk5NTMsMTE5OTUzXSxcIm1hcHBlZFwiLFsxMTJdXSxbWzExOTk1NCwxMTk5NTRdLFwibWFwcGVkXCIsWzExM11dLFtbMTE5OTU1LDExOTk1NV0sXCJtYXBwZWRcIixbMTE0XV0sW1sxMTk5NTYsMTE5OTU2XSxcIm1hcHBlZFwiLFsxMTVdXSxbWzExOTk1NywxMTk5NTddLFwibWFwcGVkXCIsWzExNl1dLFtbMTE5OTU4LDExOTk1OF0sXCJtYXBwZWRcIixbMTE3XV0sW1sxMTk5NTksMTE5OTU5XSxcIm1hcHBlZFwiLFsxMThdXSxbWzExOTk2MCwxMTk5NjBdLFwibWFwcGVkXCIsWzExOV1dLFtbMTE5OTYxLDExOTk2MV0sXCJtYXBwZWRcIixbMTIwXV0sW1sxMTk5NjIsMTE5OTYyXSxcIm1hcHBlZFwiLFsxMjFdXSxbWzExOTk2MywxMTk5NjNdLFwibWFwcGVkXCIsWzEyMl1dLFtbMTE5OTY0LDExOTk2NF0sXCJtYXBwZWRcIixbOTddXSxbWzExOTk2NSwxMTk5NjVdLFwiZGlzYWxsb3dlZFwiXSxbWzExOTk2NiwxMTk5NjZdLFwibWFwcGVkXCIsWzk5XV0sW1sxMTk5NjcsMTE5OTY3XSxcIm1hcHBlZFwiLFsxMDBdXSxbWzExOTk2OCwxMTk5NjldLFwiZGlzYWxsb3dlZFwiXSxbWzExOTk3MCwxMTk5NzBdLFwibWFwcGVkXCIsWzEwM11dLFtbMTE5OTcxLDExOTk3Ml0sXCJkaXNhbGxvd2VkXCJdLFtbMTE5OTczLDExOTk3M10sXCJtYXBwZWRcIixbMTA2XV0sW1sxMTk5NzQsMTE5OTc0XSxcIm1hcHBlZFwiLFsxMDddXSxbWzExOTk3NSwxMTk5NzZdLFwiZGlzYWxsb3dlZFwiXSxbWzExOTk3NywxMTk5NzddLFwibWFwcGVkXCIsWzExMF1dLFtbMTE5OTc4LDExOTk3OF0sXCJtYXBwZWRcIixbMTExXV0sW1sxMTk5NzksMTE5OTc5XSxcIm1hcHBlZFwiLFsxMTJdXSxbWzExOTk4MCwxMTk5ODBdLFwibWFwcGVkXCIsWzExM11dLFtbMTE5OTgxLDExOTk4MV0sXCJkaXNhbGxvd2VkXCJdLFtbMTE5OTgyLDExOTk4Ml0sXCJtYXBwZWRcIixbMTE1XV0sW1sxMTk5ODMsMTE5OTgzXSxcIm1hcHBlZFwiLFsxMTZdXSxbWzExOTk4NCwxMTk5ODRdLFwibWFwcGVkXCIsWzExN11dLFtbMTE5OTg1LDExOTk4NV0sXCJtYXBwZWRcIixbMTE4XV0sW1sxMTk5ODYsMTE5OTg2XSxcIm1hcHBlZFwiLFsxMTldXSxbWzExOTk4NywxMTk5ODddLFwibWFwcGVkXCIsWzEyMF1dLFtbMTE5OTg4LDExOTk4OF0sXCJtYXBwZWRcIixbMTIxXV0sW1sxMTk5ODksMTE5OTg5XSxcIm1hcHBlZFwiLFsxMjJdXSxbWzExOTk5MCwxMTk5OTBdLFwibWFwcGVkXCIsWzk3XV0sW1sxMTk5OTEsMTE5OTkxXSxcIm1hcHBlZFwiLFs5OF1dLFtbMTE5OTkyLDExOTk5Ml0sXCJtYXBwZWRcIixbOTldXSxbWzExOTk5MywxMTk5OTNdLFwibWFwcGVkXCIsWzEwMF1dLFtbMTE5OTk0LDExOTk5NF0sXCJkaXNhbGxvd2VkXCJdLFtbMTE5OTk1LDExOTk5NV0sXCJtYXBwZWRcIixbMTAyXV0sW1sxMTk5OTYsMTE5OTk2XSxcImRpc2FsbG93ZWRcIl0sW1sxMTk5OTcsMTE5OTk3XSxcIm1hcHBlZFwiLFsxMDRdXSxbWzExOTk5OCwxMTk5OThdLFwibWFwcGVkXCIsWzEwNV1dLFtbMTE5OTk5LDExOTk5OV0sXCJtYXBwZWRcIixbMTA2XV0sW1sxMjAwMDAsMTIwMDAwXSxcIm1hcHBlZFwiLFsxMDddXSxbWzEyMDAwMSwxMjAwMDFdLFwibWFwcGVkXCIsWzEwOF1dLFtbMTIwMDAyLDEyMDAwMl0sXCJtYXBwZWRcIixbMTA5XV0sW1sxMjAwMDMsMTIwMDAzXSxcIm1hcHBlZFwiLFsxMTBdXSxbWzEyMDAwNCwxMjAwMDRdLFwiZGlzYWxsb3dlZFwiXSxbWzEyMDAwNSwxMjAwMDVdLFwibWFwcGVkXCIsWzExMl1dLFtbMTIwMDA2LDEyMDAwNl0sXCJtYXBwZWRcIixbMTEzXV0sW1sxMjAwMDcsMTIwMDA3XSxcIm1hcHBlZFwiLFsxMTRdXSxbWzEyMDAwOCwxMjAwMDhdLFwibWFwcGVkXCIsWzExNV1dLFtbMTIwMDA5LDEyMDAwOV0sXCJtYXBwZWRcIixbMTE2XV0sW1sxMjAwMTAsMTIwMDEwXSxcIm1hcHBlZFwiLFsxMTddXSxbWzEyMDAxMSwxMjAwMTFdLFwibWFwcGVkXCIsWzExOF1dLFtbMTIwMDEyLDEyMDAxMl0sXCJtYXBwZWRcIixbMTE5XV0sW1sxMjAwMTMsMTIwMDEzXSxcIm1hcHBlZFwiLFsxMjBdXSxbWzEyMDAxNCwxMjAwMTRdLFwibWFwcGVkXCIsWzEyMV1dLFtbMTIwMDE1LDEyMDAxNV0sXCJtYXBwZWRcIixbMTIyXV0sW1sxMjAwMTYsMTIwMDE2XSxcIm1hcHBlZFwiLFs5N11dLFtbMTIwMDE3LDEyMDAxN10sXCJtYXBwZWRcIixbOThdXSxbWzEyMDAxOCwxMjAwMThdLFwibWFwcGVkXCIsWzk5XV0sW1sxMjAwMTksMTIwMDE5XSxcIm1hcHBlZFwiLFsxMDBdXSxbWzEyMDAyMCwxMjAwMjBdLFwibWFwcGVkXCIsWzEwMV1dLFtbMTIwMDIxLDEyMDAyMV0sXCJtYXBwZWRcIixbMTAyXV0sW1sxMjAwMjIsMTIwMDIyXSxcIm1hcHBlZFwiLFsxMDNdXSxbWzEyMDAyMywxMjAwMjNdLFwibWFwcGVkXCIsWzEwNF1dLFtbMTIwMDI0LDEyMDAyNF0sXCJtYXBwZWRcIixbMTA1XV0sW1sxMjAwMjUsMTIwMDI1XSxcIm1hcHBlZFwiLFsxMDZdXSxbWzEyMDAyNiwxMjAwMjZdLFwibWFwcGVkXCIsWzEwN11dLFtbMTIwMDI3LDEyMDAyN10sXCJtYXBwZWRcIixbMTA4XV0sW1sxMjAwMjgsMTIwMDI4XSxcIm1hcHBlZFwiLFsxMDldXSxbWzEyMDAyOSwxMjAwMjldLFwibWFwcGVkXCIsWzExMF1dLFtbMTIwMDMwLDEyMDAzMF0sXCJtYXBwZWRcIixbMTExXV0sW1sxMjAwMzEsMTIwMDMxXSxcIm1hcHBlZFwiLFsxMTJdXSxbWzEyMDAzMiwxMjAwMzJdLFwibWFwcGVkXCIsWzExM11dLFtbMTIwMDMzLDEyMDAzM10sXCJtYXBwZWRcIixbMTE0XV0sW1sxMjAwMzQsMTIwMDM0XSxcIm1hcHBlZFwiLFsxMTVdXSxbWzEyMDAzNSwxMjAwMzVdLFwibWFwcGVkXCIsWzExNl1dLFtbMTIwMDM2LDEyMDAzNl0sXCJtYXBwZWRcIixbMTE3XV0sW1sxMjAwMzcsMTIwMDM3XSxcIm1hcHBlZFwiLFsxMThdXSxbWzEyMDAzOCwxMjAwMzhdLFwibWFwcGVkXCIsWzExOV1dLFtbMTIwMDM5LDEyMDAzOV0sXCJtYXBwZWRcIixbMTIwXV0sW1sxMjAwNDAsMTIwMDQwXSxcIm1hcHBlZFwiLFsxMjFdXSxbWzEyMDA0MSwxMjAwNDFdLFwibWFwcGVkXCIsWzEyMl1dLFtbMTIwMDQyLDEyMDA0Ml0sXCJtYXBwZWRcIixbOTddXSxbWzEyMDA0MywxMjAwNDNdLFwibWFwcGVkXCIsWzk4XV0sW1sxMjAwNDQsMTIwMDQ0XSxcIm1hcHBlZFwiLFs5OV1dLFtbMTIwMDQ1LDEyMDA0NV0sXCJtYXBwZWRcIixbMTAwXV0sW1sxMjAwNDYsMTIwMDQ2XSxcIm1hcHBlZFwiLFsxMDFdXSxbWzEyMDA0NywxMjAwNDddLFwibWFwcGVkXCIsWzEwMl1dLFtbMTIwMDQ4LDEyMDA0OF0sXCJtYXBwZWRcIixbMTAzXV0sW1sxMjAwNDksMTIwMDQ5XSxcIm1hcHBlZFwiLFsxMDRdXSxbWzEyMDA1MCwxMjAwNTBdLFwibWFwcGVkXCIsWzEwNV1dLFtbMTIwMDUxLDEyMDA1MV0sXCJtYXBwZWRcIixbMTA2XV0sW1sxMjAwNTIsMTIwMDUyXSxcIm1hcHBlZFwiLFsxMDddXSxbWzEyMDA1MywxMjAwNTNdLFwibWFwcGVkXCIsWzEwOF1dLFtbMTIwMDU0LDEyMDA1NF0sXCJtYXBwZWRcIixbMTA5XV0sW1sxMjAwNTUsMTIwMDU1XSxcIm1hcHBlZFwiLFsxMTBdXSxbWzEyMDA1NiwxMjAwNTZdLFwibWFwcGVkXCIsWzExMV1dLFtbMTIwMDU3LDEyMDA1N10sXCJtYXBwZWRcIixbMTEyXV0sW1sxMjAwNTgsMTIwMDU4XSxcIm1hcHBlZFwiLFsxMTNdXSxbWzEyMDA1OSwxMjAwNTldLFwibWFwcGVkXCIsWzExNF1dLFtbMTIwMDYwLDEyMDA2MF0sXCJtYXBwZWRcIixbMTE1XV0sW1sxMjAwNjEsMTIwMDYxXSxcIm1hcHBlZFwiLFsxMTZdXSxbWzEyMDA2MiwxMjAwNjJdLFwibWFwcGVkXCIsWzExN11dLFtbMTIwMDYzLDEyMDA2M10sXCJtYXBwZWRcIixbMTE4XV0sW1sxMjAwNjQsMTIwMDY0XSxcIm1hcHBlZFwiLFsxMTldXSxbWzEyMDA2NSwxMjAwNjVdLFwibWFwcGVkXCIsWzEyMF1dLFtbMTIwMDY2LDEyMDA2Nl0sXCJtYXBwZWRcIixbMTIxXV0sW1sxMjAwNjcsMTIwMDY3XSxcIm1hcHBlZFwiLFsxMjJdXSxbWzEyMDA2OCwxMjAwNjhdLFwibWFwcGVkXCIsWzk3XV0sW1sxMjAwNjksMTIwMDY5XSxcIm1hcHBlZFwiLFs5OF1dLFtbMTIwMDcwLDEyMDA3MF0sXCJkaXNhbGxvd2VkXCJdLFtbMTIwMDcxLDEyMDA3MV0sXCJtYXBwZWRcIixbMTAwXV0sW1sxMjAwNzIsMTIwMDcyXSxcIm1hcHBlZFwiLFsxMDFdXSxbWzEyMDA3MywxMjAwNzNdLFwibWFwcGVkXCIsWzEwMl1dLFtbMTIwMDc0LDEyMDA3NF0sXCJtYXBwZWRcIixbMTAzXV0sW1sxMjAwNzUsMTIwMDc2XSxcImRpc2FsbG93ZWRcIl0sW1sxMjAwNzcsMTIwMDc3XSxcIm1hcHBlZFwiLFsxMDZdXSxbWzEyMDA3OCwxMjAwNzhdLFwibWFwcGVkXCIsWzEwN11dLFtbMTIwMDc5LDEyMDA3OV0sXCJtYXBwZWRcIixbMTA4XV0sW1sxMjAwODAsMTIwMDgwXSxcIm1hcHBlZFwiLFsxMDldXSxbWzEyMDA4MSwxMjAwODFdLFwibWFwcGVkXCIsWzExMF1dLFtbMTIwMDgyLDEyMDA4Ml0sXCJtYXBwZWRcIixbMTExXV0sW1sxMjAwODMsMTIwMDgzXSxcIm1hcHBlZFwiLFsxMTJdXSxbWzEyMDA4NCwxMjAwODRdLFwibWFwcGVkXCIsWzExM11dLFtbMTIwMDg1LDEyMDA4NV0sXCJkaXNhbGxvd2VkXCJdLFtbMTIwMDg2LDEyMDA4Nl0sXCJtYXBwZWRcIixbMTE1XV0sW1sxMjAwODcsMTIwMDg3XSxcIm1hcHBlZFwiLFsxMTZdXSxbWzEyMDA4OCwxMjAwODhdLFwibWFwcGVkXCIsWzExN11dLFtbMTIwMDg5LDEyMDA4OV0sXCJtYXBwZWRcIixbMTE4XV0sW1sxMjAwOTAsMTIwMDkwXSxcIm1hcHBlZFwiLFsxMTldXSxbWzEyMDA5MSwxMjAwOTFdLFwibWFwcGVkXCIsWzEyMF1dLFtbMTIwMDkyLDEyMDA5Ml0sXCJtYXBwZWRcIixbMTIxXV0sW1sxMjAwOTMsMTIwMDkzXSxcImRpc2FsbG93ZWRcIl0sW1sxMjAwOTQsMTIwMDk0XSxcIm1hcHBlZFwiLFs5N11dLFtbMTIwMDk1LDEyMDA5NV0sXCJtYXBwZWRcIixbOThdXSxbWzEyMDA5NiwxMjAwOTZdLFwibWFwcGVkXCIsWzk5XV0sW1sxMjAwOTcsMTIwMDk3XSxcIm1hcHBlZFwiLFsxMDBdXSxbWzEyMDA5OCwxMjAwOThdLFwibWFwcGVkXCIsWzEwMV1dLFtbMTIwMDk5LDEyMDA5OV0sXCJtYXBwZWRcIixbMTAyXV0sW1sxMjAxMDAsMTIwMTAwXSxcIm1hcHBlZFwiLFsxMDNdXSxbWzEyMDEwMSwxMjAxMDFdLFwibWFwcGVkXCIsWzEwNF1dLFtbMTIwMTAyLDEyMDEwMl0sXCJtYXBwZWRcIixbMTA1XV0sW1sxMjAxMDMsMTIwMTAzXSxcIm1hcHBlZFwiLFsxMDZdXSxbWzEyMDEwNCwxMjAxMDRdLFwibWFwcGVkXCIsWzEwN11dLFtbMTIwMTA1LDEyMDEwNV0sXCJtYXBwZWRcIixbMTA4XV0sW1sxMjAxMDYsMTIwMTA2XSxcIm1hcHBlZFwiLFsxMDldXSxbWzEyMDEwNywxMjAxMDddLFwibWFwcGVkXCIsWzExMF1dLFtbMTIwMTA4LDEyMDEwOF0sXCJtYXBwZWRcIixbMTExXV0sW1sxMjAxMDksMTIwMTA5XSxcIm1hcHBlZFwiLFsxMTJdXSxbWzEyMDExMCwxMjAxMTBdLFwibWFwcGVkXCIsWzExM11dLFtbMTIwMTExLDEyMDExMV0sXCJtYXBwZWRcIixbMTE0XV0sW1sxMjAxMTIsMTIwMTEyXSxcIm1hcHBlZFwiLFsxMTVdXSxbWzEyMDExMywxMjAxMTNdLFwibWFwcGVkXCIsWzExNl1dLFtbMTIwMTE0LDEyMDExNF0sXCJtYXBwZWRcIixbMTE3XV0sW1sxMjAxMTUsMTIwMTE1XSxcIm1hcHBlZFwiLFsxMThdXSxbWzEyMDExNiwxMjAxMTZdLFwibWFwcGVkXCIsWzExOV1dLFtbMTIwMTE3LDEyMDExN10sXCJtYXBwZWRcIixbMTIwXV0sW1sxMjAxMTgsMTIwMTE4XSxcIm1hcHBlZFwiLFsxMjFdXSxbWzEyMDExOSwxMjAxMTldLFwibWFwcGVkXCIsWzEyMl1dLFtbMTIwMTIwLDEyMDEyMF0sXCJtYXBwZWRcIixbOTddXSxbWzEyMDEyMSwxMjAxMjFdLFwibWFwcGVkXCIsWzk4XV0sW1sxMjAxMjIsMTIwMTIyXSxcImRpc2FsbG93ZWRcIl0sW1sxMjAxMjMsMTIwMTIzXSxcIm1hcHBlZFwiLFsxMDBdXSxbWzEyMDEyNCwxMjAxMjRdLFwibWFwcGVkXCIsWzEwMV1dLFtbMTIwMTI1LDEyMDEyNV0sXCJtYXBwZWRcIixbMTAyXV0sW1sxMjAxMjYsMTIwMTI2XSxcIm1hcHBlZFwiLFsxMDNdXSxbWzEyMDEyNywxMjAxMjddLFwiZGlzYWxsb3dlZFwiXSxbWzEyMDEyOCwxMjAxMjhdLFwibWFwcGVkXCIsWzEwNV1dLFtbMTIwMTI5LDEyMDEyOV0sXCJtYXBwZWRcIixbMTA2XV0sW1sxMjAxMzAsMTIwMTMwXSxcIm1hcHBlZFwiLFsxMDddXSxbWzEyMDEzMSwxMjAxMzFdLFwibWFwcGVkXCIsWzEwOF1dLFtbMTIwMTMyLDEyMDEzMl0sXCJtYXBwZWRcIixbMTA5XV0sW1sxMjAxMzMsMTIwMTMzXSxcImRpc2FsbG93ZWRcIl0sW1sxMjAxMzQsMTIwMTM0XSxcIm1hcHBlZFwiLFsxMTFdXSxbWzEyMDEzNSwxMjAxMzddLFwiZGlzYWxsb3dlZFwiXSxbWzEyMDEzOCwxMjAxMzhdLFwibWFwcGVkXCIsWzExNV1dLFtbMTIwMTM5LDEyMDEzOV0sXCJtYXBwZWRcIixbMTE2XV0sW1sxMjAxNDAsMTIwMTQwXSxcIm1hcHBlZFwiLFsxMTddXSxbWzEyMDE0MSwxMjAxNDFdLFwibWFwcGVkXCIsWzExOF1dLFtbMTIwMTQyLDEyMDE0Ml0sXCJtYXBwZWRcIixbMTE5XV0sW1sxMjAxNDMsMTIwMTQzXSxcIm1hcHBlZFwiLFsxMjBdXSxbWzEyMDE0NCwxMjAxNDRdLFwibWFwcGVkXCIsWzEyMV1dLFtbMTIwMTQ1LDEyMDE0NV0sXCJkaXNhbGxvd2VkXCJdLFtbMTIwMTQ2LDEyMDE0Nl0sXCJtYXBwZWRcIixbOTddXSxbWzEyMDE0NywxMjAxNDddLFwibWFwcGVkXCIsWzk4XV0sW1sxMjAxNDgsMTIwMTQ4XSxcIm1hcHBlZFwiLFs5OV1dLFtbMTIwMTQ5LDEyMDE0OV0sXCJtYXBwZWRcIixbMTAwXV0sW1sxMjAxNTAsMTIwMTUwXSxcIm1hcHBlZFwiLFsxMDFdXSxbWzEyMDE1MSwxMjAxNTFdLFwibWFwcGVkXCIsWzEwMl1dLFtbMTIwMTUyLDEyMDE1Ml0sXCJtYXBwZWRcIixbMTAzXV0sW1sxMjAxNTMsMTIwMTUzXSxcIm1hcHBlZFwiLFsxMDRdXSxbWzEyMDE1NCwxMjAxNTRdLFwibWFwcGVkXCIsWzEwNV1dLFtbMTIwMTU1LDEyMDE1NV0sXCJtYXBwZWRcIixbMTA2XV0sW1sxMjAxNTYsMTIwMTU2XSxcIm1hcHBlZFwiLFsxMDddXSxbWzEyMDE1NywxMjAxNTddLFwibWFwcGVkXCIsWzEwOF1dLFtbMTIwMTU4LDEyMDE1OF0sXCJtYXBwZWRcIixbMTA5XV0sW1sxMjAxNTksMTIwMTU5XSxcIm1hcHBlZFwiLFsxMTBdXSxbWzEyMDE2MCwxMjAxNjBdLFwibWFwcGVkXCIsWzExMV1dLFtbMTIwMTYxLDEyMDE2MV0sXCJtYXBwZWRcIixbMTEyXV0sW1sxMjAxNjIsMTIwMTYyXSxcIm1hcHBlZFwiLFsxMTNdXSxbWzEyMDE2MywxMjAxNjNdLFwibWFwcGVkXCIsWzExNF1dLFtbMTIwMTY0LDEyMDE2NF0sXCJtYXBwZWRcIixbMTE1XV0sW1sxMjAxNjUsMTIwMTY1XSxcIm1hcHBlZFwiLFsxMTZdXSxbWzEyMDE2NiwxMjAxNjZdLFwibWFwcGVkXCIsWzExN11dLFtbMTIwMTY3LDEyMDE2N10sXCJtYXBwZWRcIixbMTE4XV0sW1sxMjAxNjgsMTIwMTY4XSxcIm1hcHBlZFwiLFsxMTldXSxbWzEyMDE2OSwxMjAxNjldLFwibWFwcGVkXCIsWzEyMF1dLFtbMTIwMTcwLDEyMDE3MF0sXCJtYXBwZWRcIixbMTIxXV0sW1sxMjAxNzEsMTIwMTcxXSxcIm1hcHBlZFwiLFsxMjJdXSxbWzEyMDE3MiwxMjAxNzJdLFwibWFwcGVkXCIsWzk3XV0sW1sxMjAxNzMsMTIwMTczXSxcIm1hcHBlZFwiLFs5OF1dLFtbMTIwMTc0LDEyMDE3NF0sXCJtYXBwZWRcIixbOTldXSxbWzEyMDE3NSwxMjAxNzVdLFwibWFwcGVkXCIsWzEwMF1dLFtbMTIwMTc2LDEyMDE3Nl0sXCJtYXBwZWRcIixbMTAxXV0sW1sxMjAxNzcsMTIwMTc3XSxcIm1hcHBlZFwiLFsxMDJdXSxbWzEyMDE3OCwxMjAxNzhdLFwibWFwcGVkXCIsWzEwM11dLFtbMTIwMTc5LDEyMDE3OV0sXCJtYXBwZWRcIixbMTA0XV0sW1sxMjAxODAsMTIwMTgwXSxcIm1hcHBlZFwiLFsxMDVdXSxbWzEyMDE4MSwxMjAxODFdLFwibWFwcGVkXCIsWzEwNl1dLFtbMTIwMTgyLDEyMDE4Ml0sXCJtYXBwZWRcIixbMTA3XV0sW1sxMjAxODMsMTIwMTgzXSxcIm1hcHBlZFwiLFsxMDhdXSxbWzEyMDE4NCwxMjAxODRdLFwibWFwcGVkXCIsWzEwOV1dLFtbMTIwMTg1LDEyMDE4NV0sXCJtYXBwZWRcIixbMTEwXV0sW1sxMjAxODYsMTIwMTg2XSxcIm1hcHBlZFwiLFsxMTFdXSxbWzEyMDE4NywxMjAxODddLFwibWFwcGVkXCIsWzExMl1dLFtbMTIwMTg4LDEyMDE4OF0sXCJtYXBwZWRcIixbMTEzXV0sW1sxMjAxODksMTIwMTg5XSxcIm1hcHBlZFwiLFsxMTRdXSxbWzEyMDE5MCwxMjAxOTBdLFwibWFwcGVkXCIsWzExNV1dLFtbMTIwMTkxLDEyMDE5MV0sXCJtYXBwZWRcIixbMTE2XV0sW1sxMjAxOTIsMTIwMTkyXSxcIm1hcHBlZFwiLFsxMTddXSxbWzEyMDE5MywxMjAxOTNdLFwibWFwcGVkXCIsWzExOF1dLFtbMTIwMTk0LDEyMDE5NF0sXCJtYXBwZWRcIixbMTE5XV0sW1sxMjAxOTUsMTIwMTk1XSxcIm1hcHBlZFwiLFsxMjBdXSxbWzEyMDE5NiwxMjAxOTZdLFwibWFwcGVkXCIsWzEyMV1dLFtbMTIwMTk3LDEyMDE5N10sXCJtYXBwZWRcIixbMTIyXV0sW1sxMjAxOTgsMTIwMTk4XSxcIm1hcHBlZFwiLFs5N11dLFtbMTIwMTk5LDEyMDE5OV0sXCJtYXBwZWRcIixbOThdXSxbWzEyMDIwMCwxMjAyMDBdLFwibWFwcGVkXCIsWzk5XV0sW1sxMjAyMDEsMTIwMjAxXSxcIm1hcHBlZFwiLFsxMDBdXSxbWzEyMDIwMiwxMjAyMDJdLFwibWFwcGVkXCIsWzEwMV1dLFtbMTIwMjAzLDEyMDIwM10sXCJtYXBwZWRcIixbMTAyXV0sW1sxMjAyMDQsMTIwMjA0XSxcIm1hcHBlZFwiLFsxMDNdXSxbWzEyMDIwNSwxMjAyMDVdLFwibWFwcGVkXCIsWzEwNF1dLFtbMTIwMjA2LDEyMDIwNl0sXCJtYXBwZWRcIixbMTA1XV0sW1sxMjAyMDcsMTIwMjA3XSxcIm1hcHBlZFwiLFsxMDZdXSxbWzEyMDIwOCwxMjAyMDhdLFwibWFwcGVkXCIsWzEwN11dLFtbMTIwMjA5LDEyMDIwOV0sXCJtYXBwZWRcIixbMTA4XV0sW1sxMjAyMTAsMTIwMjEwXSxcIm1hcHBlZFwiLFsxMDldXSxbWzEyMDIxMSwxMjAyMTFdLFwibWFwcGVkXCIsWzExMF1dLFtbMTIwMjEyLDEyMDIxMl0sXCJtYXBwZWRcIixbMTExXV0sW1sxMjAyMTMsMTIwMjEzXSxcIm1hcHBlZFwiLFsxMTJdXSxbWzEyMDIxNCwxMjAyMTRdLFwibWFwcGVkXCIsWzExM11dLFtbMTIwMjE1LDEyMDIxNV0sXCJtYXBwZWRcIixbMTE0XV0sW1sxMjAyMTYsMTIwMjE2XSxcIm1hcHBlZFwiLFsxMTVdXSxbWzEyMDIxNywxMjAyMTddLFwibWFwcGVkXCIsWzExNl1dLFtbMTIwMjE4LDEyMDIxOF0sXCJtYXBwZWRcIixbMTE3XV0sW1sxMjAyMTksMTIwMjE5XSxcIm1hcHBlZFwiLFsxMThdXSxbWzEyMDIyMCwxMjAyMjBdLFwibWFwcGVkXCIsWzExOV1dLFtbMTIwMjIxLDEyMDIyMV0sXCJtYXBwZWRcIixbMTIwXV0sW1sxMjAyMjIsMTIwMjIyXSxcIm1hcHBlZFwiLFsxMjFdXSxbWzEyMDIyMywxMjAyMjNdLFwibWFwcGVkXCIsWzEyMl1dLFtbMTIwMjI0LDEyMDIyNF0sXCJtYXBwZWRcIixbOTddXSxbWzEyMDIyNSwxMjAyMjVdLFwibWFwcGVkXCIsWzk4XV0sW1sxMjAyMjYsMTIwMjI2XSxcIm1hcHBlZFwiLFs5OV1dLFtbMTIwMjI3LDEyMDIyN10sXCJtYXBwZWRcIixbMTAwXV0sW1sxMjAyMjgsMTIwMjI4XSxcIm1hcHBlZFwiLFsxMDFdXSxbWzEyMDIyOSwxMjAyMjldLFwibWFwcGVkXCIsWzEwMl1dLFtbMTIwMjMwLDEyMDIzMF0sXCJtYXBwZWRcIixbMTAzXV0sW1sxMjAyMzEsMTIwMjMxXSxcIm1hcHBlZFwiLFsxMDRdXSxbWzEyMDIzMiwxMjAyMzJdLFwibWFwcGVkXCIsWzEwNV1dLFtbMTIwMjMzLDEyMDIzM10sXCJtYXBwZWRcIixbMTA2XV0sW1sxMjAyMzQsMTIwMjM0XSxcIm1hcHBlZFwiLFsxMDddXSxbWzEyMDIzNSwxMjAyMzVdLFwibWFwcGVkXCIsWzEwOF1dLFtbMTIwMjM2LDEyMDIzNl0sXCJtYXBwZWRcIixbMTA5XV0sW1sxMjAyMzcsMTIwMjM3XSxcIm1hcHBlZFwiLFsxMTBdXSxbWzEyMDIzOCwxMjAyMzhdLFwibWFwcGVkXCIsWzExMV1dLFtbMTIwMjM5LDEyMDIzOV0sXCJtYXBwZWRcIixbMTEyXV0sW1sxMjAyNDAsMTIwMjQwXSxcIm1hcHBlZFwiLFsxMTNdXSxbWzEyMDI0MSwxMjAyNDFdLFwibWFwcGVkXCIsWzExNF1dLFtbMTIwMjQyLDEyMDI0Ml0sXCJtYXBwZWRcIixbMTE1XV0sW1sxMjAyNDMsMTIwMjQzXSxcIm1hcHBlZFwiLFsxMTZdXSxbWzEyMDI0NCwxMjAyNDRdLFwibWFwcGVkXCIsWzExN11dLFtbMTIwMjQ1LDEyMDI0NV0sXCJtYXBwZWRcIixbMTE4XV0sW1sxMjAyNDYsMTIwMjQ2XSxcIm1hcHBlZFwiLFsxMTldXSxbWzEyMDI0NywxMjAyNDddLFwibWFwcGVkXCIsWzEyMF1dLFtbMTIwMjQ4LDEyMDI0OF0sXCJtYXBwZWRcIixbMTIxXV0sW1sxMjAyNDksMTIwMjQ5XSxcIm1hcHBlZFwiLFsxMjJdXSxbWzEyMDI1MCwxMjAyNTBdLFwibWFwcGVkXCIsWzk3XV0sW1sxMjAyNTEsMTIwMjUxXSxcIm1hcHBlZFwiLFs5OF1dLFtbMTIwMjUyLDEyMDI1Ml0sXCJtYXBwZWRcIixbOTldXSxbWzEyMDI1MywxMjAyNTNdLFwibWFwcGVkXCIsWzEwMF1dLFtbMTIwMjU0LDEyMDI1NF0sXCJtYXBwZWRcIixbMTAxXV0sW1sxMjAyNTUsMTIwMjU1XSxcIm1hcHBlZFwiLFsxMDJdXSxbWzEyMDI1NiwxMjAyNTZdLFwibWFwcGVkXCIsWzEwM11dLFtbMTIwMjU3LDEyMDI1N10sXCJtYXBwZWRcIixbMTA0XV0sW1sxMjAyNTgsMTIwMjU4XSxcIm1hcHBlZFwiLFsxMDVdXSxbWzEyMDI1OSwxMjAyNTldLFwibWFwcGVkXCIsWzEwNl1dLFtbMTIwMjYwLDEyMDI2MF0sXCJtYXBwZWRcIixbMTA3XV0sW1sxMjAyNjEsMTIwMjYxXSxcIm1hcHBlZFwiLFsxMDhdXSxbWzEyMDI2MiwxMjAyNjJdLFwibWFwcGVkXCIsWzEwOV1dLFtbMTIwMjYzLDEyMDI2M10sXCJtYXBwZWRcIixbMTEwXV0sW1sxMjAyNjQsMTIwMjY0XSxcIm1hcHBlZFwiLFsxMTFdXSxbWzEyMDI2NSwxMjAyNjVdLFwibWFwcGVkXCIsWzExMl1dLFtbMTIwMjY2LDEyMDI2Nl0sXCJtYXBwZWRcIixbMTEzXV0sW1sxMjAyNjcsMTIwMjY3XSxcIm1hcHBlZFwiLFsxMTRdXSxbWzEyMDI2OCwxMjAyNjhdLFwibWFwcGVkXCIsWzExNV1dLFtbMTIwMjY5LDEyMDI2OV0sXCJtYXBwZWRcIixbMTE2XV0sW1sxMjAyNzAsMTIwMjcwXSxcIm1hcHBlZFwiLFsxMTddXSxbWzEyMDI3MSwxMjAyNzFdLFwibWFwcGVkXCIsWzExOF1dLFtbMTIwMjcyLDEyMDI3Ml0sXCJtYXBwZWRcIixbMTE5XV0sW1sxMjAyNzMsMTIwMjczXSxcIm1hcHBlZFwiLFsxMjBdXSxbWzEyMDI3NCwxMjAyNzRdLFwibWFwcGVkXCIsWzEyMV1dLFtbMTIwMjc1LDEyMDI3NV0sXCJtYXBwZWRcIixbMTIyXV0sW1sxMjAyNzYsMTIwMjc2XSxcIm1hcHBlZFwiLFs5N11dLFtbMTIwMjc3LDEyMDI3N10sXCJtYXBwZWRcIixbOThdXSxbWzEyMDI3OCwxMjAyNzhdLFwibWFwcGVkXCIsWzk5XV0sW1sxMjAyNzksMTIwMjc5XSxcIm1hcHBlZFwiLFsxMDBdXSxbWzEyMDI4MCwxMjAyODBdLFwibWFwcGVkXCIsWzEwMV1dLFtbMTIwMjgxLDEyMDI4MV0sXCJtYXBwZWRcIixbMTAyXV0sW1sxMjAyODIsMTIwMjgyXSxcIm1hcHBlZFwiLFsxMDNdXSxbWzEyMDI4MywxMjAyODNdLFwibWFwcGVkXCIsWzEwNF1dLFtbMTIwMjg0LDEyMDI4NF0sXCJtYXBwZWRcIixbMTA1XV0sW1sxMjAyODUsMTIwMjg1XSxcIm1hcHBlZFwiLFsxMDZdXSxbWzEyMDI4NiwxMjAyODZdLFwibWFwcGVkXCIsWzEwN11dLFtbMTIwMjg3LDEyMDI4N10sXCJtYXBwZWRcIixbMTA4XV0sW1sxMjAyODgsMTIwMjg4XSxcIm1hcHBlZFwiLFsxMDldXSxbWzEyMDI4OSwxMjAyODldLFwibWFwcGVkXCIsWzExMF1dLFtbMTIwMjkwLDEyMDI5MF0sXCJtYXBwZWRcIixbMTExXV0sW1sxMjAyOTEsMTIwMjkxXSxcIm1hcHBlZFwiLFsxMTJdXSxbWzEyMDI5MiwxMjAyOTJdLFwibWFwcGVkXCIsWzExM11dLFtbMTIwMjkzLDEyMDI5M10sXCJtYXBwZWRcIixbMTE0XV0sW1sxMjAyOTQsMTIwMjk0XSxcIm1hcHBlZFwiLFsxMTVdXSxbWzEyMDI5NSwxMjAyOTVdLFwibWFwcGVkXCIsWzExNl1dLFtbMTIwMjk2LDEyMDI5Nl0sXCJtYXBwZWRcIixbMTE3XV0sW1sxMjAyOTcsMTIwMjk3XSxcIm1hcHBlZFwiLFsxMThdXSxbWzEyMDI5OCwxMjAyOThdLFwibWFwcGVkXCIsWzExOV1dLFtbMTIwMjk5LDEyMDI5OV0sXCJtYXBwZWRcIixbMTIwXV0sW1sxMjAzMDAsMTIwMzAwXSxcIm1hcHBlZFwiLFsxMjFdXSxbWzEyMDMwMSwxMjAzMDFdLFwibWFwcGVkXCIsWzEyMl1dLFtbMTIwMzAyLDEyMDMwMl0sXCJtYXBwZWRcIixbOTddXSxbWzEyMDMwMywxMjAzMDNdLFwibWFwcGVkXCIsWzk4XV0sW1sxMjAzMDQsMTIwMzA0XSxcIm1hcHBlZFwiLFs5OV1dLFtbMTIwMzA1LDEyMDMwNV0sXCJtYXBwZWRcIixbMTAwXV0sW1sxMjAzMDYsMTIwMzA2XSxcIm1hcHBlZFwiLFsxMDFdXSxbWzEyMDMwNywxMjAzMDddLFwibWFwcGVkXCIsWzEwMl1dLFtbMTIwMzA4LDEyMDMwOF0sXCJtYXBwZWRcIixbMTAzXV0sW1sxMjAzMDksMTIwMzA5XSxcIm1hcHBlZFwiLFsxMDRdXSxbWzEyMDMxMCwxMjAzMTBdLFwibWFwcGVkXCIsWzEwNV1dLFtbMTIwMzExLDEyMDMxMV0sXCJtYXBwZWRcIixbMTA2XV0sW1sxMjAzMTIsMTIwMzEyXSxcIm1hcHBlZFwiLFsxMDddXSxbWzEyMDMxMywxMjAzMTNdLFwibWFwcGVkXCIsWzEwOF1dLFtbMTIwMzE0LDEyMDMxNF0sXCJtYXBwZWRcIixbMTA5XV0sW1sxMjAzMTUsMTIwMzE1XSxcIm1hcHBlZFwiLFsxMTBdXSxbWzEyMDMxNiwxMjAzMTZdLFwibWFwcGVkXCIsWzExMV1dLFtbMTIwMzE3LDEyMDMxN10sXCJtYXBwZWRcIixbMTEyXV0sW1sxMjAzMTgsMTIwMzE4XSxcIm1hcHBlZFwiLFsxMTNdXSxbWzEyMDMxOSwxMjAzMTldLFwibWFwcGVkXCIsWzExNF1dLFtbMTIwMzIwLDEyMDMyMF0sXCJtYXBwZWRcIixbMTE1XV0sW1sxMjAzMjEsMTIwMzIxXSxcIm1hcHBlZFwiLFsxMTZdXSxbWzEyMDMyMiwxMjAzMjJdLFwibWFwcGVkXCIsWzExN11dLFtbMTIwMzIzLDEyMDMyM10sXCJtYXBwZWRcIixbMTE4XV0sW1sxMjAzMjQsMTIwMzI0XSxcIm1hcHBlZFwiLFsxMTldXSxbWzEyMDMyNSwxMjAzMjVdLFwibWFwcGVkXCIsWzEyMF1dLFtbMTIwMzI2LDEyMDMyNl0sXCJtYXBwZWRcIixbMTIxXV0sW1sxMjAzMjcsMTIwMzI3XSxcIm1hcHBlZFwiLFsxMjJdXSxbWzEyMDMyOCwxMjAzMjhdLFwibWFwcGVkXCIsWzk3XV0sW1sxMjAzMjksMTIwMzI5XSxcIm1hcHBlZFwiLFs5OF1dLFtbMTIwMzMwLDEyMDMzMF0sXCJtYXBwZWRcIixbOTldXSxbWzEyMDMzMSwxMjAzMzFdLFwibWFwcGVkXCIsWzEwMF1dLFtbMTIwMzMyLDEyMDMzMl0sXCJtYXBwZWRcIixbMTAxXV0sW1sxMjAzMzMsMTIwMzMzXSxcIm1hcHBlZFwiLFsxMDJdXSxbWzEyMDMzNCwxMjAzMzRdLFwibWFwcGVkXCIsWzEwM11dLFtbMTIwMzM1LDEyMDMzNV0sXCJtYXBwZWRcIixbMTA0XV0sW1sxMjAzMzYsMTIwMzM2XSxcIm1hcHBlZFwiLFsxMDVdXSxbWzEyMDMzNywxMjAzMzddLFwibWFwcGVkXCIsWzEwNl1dLFtbMTIwMzM4LDEyMDMzOF0sXCJtYXBwZWRcIixbMTA3XV0sW1sxMjAzMzksMTIwMzM5XSxcIm1hcHBlZFwiLFsxMDhdXSxbWzEyMDM0MCwxMjAzNDBdLFwibWFwcGVkXCIsWzEwOV1dLFtbMTIwMzQxLDEyMDM0MV0sXCJtYXBwZWRcIixbMTEwXV0sW1sxMjAzNDIsMTIwMzQyXSxcIm1hcHBlZFwiLFsxMTFdXSxbWzEyMDM0MywxMjAzNDNdLFwibWFwcGVkXCIsWzExMl1dLFtbMTIwMzQ0LDEyMDM0NF0sXCJtYXBwZWRcIixbMTEzXV0sW1sxMjAzNDUsMTIwMzQ1XSxcIm1hcHBlZFwiLFsxMTRdXSxbWzEyMDM0NiwxMjAzNDZdLFwibWFwcGVkXCIsWzExNV1dLFtbMTIwMzQ3LDEyMDM0N10sXCJtYXBwZWRcIixbMTE2XV0sW1sxMjAzNDgsMTIwMzQ4XSxcIm1hcHBlZFwiLFsxMTddXSxbWzEyMDM0OSwxMjAzNDldLFwibWFwcGVkXCIsWzExOF1dLFtbMTIwMzUwLDEyMDM1MF0sXCJtYXBwZWRcIixbMTE5XV0sW1sxMjAzNTEsMTIwMzUxXSxcIm1hcHBlZFwiLFsxMjBdXSxbWzEyMDM1MiwxMjAzNTJdLFwibWFwcGVkXCIsWzEyMV1dLFtbMTIwMzUzLDEyMDM1M10sXCJtYXBwZWRcIixbMTIyXV0sW1sxMjAzNTQsMTIwMzU0XSxcIm1hcHBlZFwiLFs5N11dLFtbMTIwMzU1LDEyMDM1NV0sXCJtYXBwZWRcIixbOThdXSxbWzEyMDM1NiwxMjAzNTZdLFwibWFwcGVkXCIsWzk5XV0sW1sxMjAzNTcsMTIwMzU3XSxcIm1hcHBlZFwiLFsxMDBdXSxbWzEyMDM1OCwxMjAzNThdLFwibWFwcGVkXCIsWzEwMV1dLFtbMTIwMzU5LDEyMDM1OV0sXCJtYXBwZWRcIixbMTAyXV0sW1sxMjAzNjAsMTIwMzYwXSxcIm1hcHBlZFwiLFsxMDNdXSxbWzEyMDM2MSwxMjAzNjFdLFwibWFwcGVkXCIsWzEwNF1dLFtbMTIwMzYyLDEyMDM2Ml0sXCJtYXBwZWRcIixbMTA1XV0sW1sxMjAzNjMsMTIwMzYzXSxcIm1hcHBlZFwiLFsxMDZdXSxbWzEyMDM2NCwxMjAzNjRdLFwibWFwcGVkXCIsWzEwN11dLFtbMTIwMzY1LDEyMDM2NV0sXCJtYXBwZWRcIixbMTA4XV0sW1sxMjAzNjYsMTIwMzY2XSxcIm1hcHBlZFwiLFsxMDldXSxbWzEyMDM2NywxMjAzNjddLFwibWFwcGVkXCIsWzExMF1dLFtbMTIwMzY4LDEyMDM2OF0sXCJtYXBwZWRcIixbMTExXV0sW1sxMjAzNjksMTIwMzY5XSxcIm1hcHBlZFwiLFsxMTJdXSxbWzEyMDM3MCwxMjAzNzBdLFwibWFwcGVkXCIsWzExM11dLFtbMTIwMzcxLDEyMDM3MV0sXCJtYXBwZWRcIixbMTE0XV0sW1sxMjAzNzIsMTIwMzcyXSxcIm1hcHBlZFwiLFsxMTVdXSxbWzEyMDM3MywxMjAzNzNdLFwibWFwcGVkXCIsWzExNl1dLFtbMTIwMzc0LDEyMDM3NF0sXCJtYXBwZWRcIixbMTE3XV0sW1sxMjAzNzUsMTIwMzc1XSxcIm1hcHBlZFwiLFsxMThdXSxbWzEyMDM3NiwxMjAzNzZdLFwibWFwcGVkXCIsWzExOV1dLFtbMTIwMzc3LDEyMDM3N10sXCJtYXBwZWRcIixbMTIwXV0sW1sxMjAzNzgsMTIwMzc4XSxcIm1hcHBlZFwiLFsxMjFdXSxbWzEyMDM3OSwxMjAzNzldLFwibWFwcGVkXCIsWzEyMl1dLFtbMTIwMzgwLDEyMDM4MF0sXCJtYXBwZWRcIixbOTddXSxbWzEyMDM4MSwxMjAzODFdLFwibWFwcGVkXCIsWzk4XV0sW1sxMjAzODIsMTIwMzgyXSxcIm1hcHBlZFwiLFs5OV1dLFtbMTIwMzgzLDEyMDM4M10sXCJtYXBwZWRcIixbMTAwXV0sW1sxMjAzODQsMTIwMzg0XSxcIm1hcHBlZFwiLFsxMDFdXSxbWzEyMDM4NSwxMjAzODVdLFwibWFwcGVkXCIsWzEwMl1dLFtbMTIwMzg2LDEyMDM4Nl0sXCJtYXBwZWRcIixbMTAzXV0sW1sxMjAzODcsMTIwMzg3XSxcIm1hcHBlZFwiLFsxMDRdXSxbWzEyMDM4OCwxMjAzODhdLFwibWFwcGVkXCIsWzEwNV1dLFtbMTIwMzg5LDEyMDM4OV0sXCJtYXBwZWRcIixbMTA2XV0sW1sxMjAzOTAsMTIwMzkwXSxcIm1hcHBlZFwiLFsxMDddXSxbWzEyMDM5MSwxMjAzOTFdLFwibWFwcGVkXCIsWzEwOF1dLFtbMTIwMzkyLDEyMDM5Ml0sXCJtYXBwZWRcIixbMTA5XV0sW1sxMjAzOTMsMTIwMzkzXSxcIm1hcHBlZFwiLFsxMTBdXSxbWzEyMDM5NCwxMjAzOTRdLFwibWFwcGVkXCIsWzExMV1dLFtbMTIwMzk1LDEyMDM5NV0sXCJtYXBwZWRcIixbMTEyXV0sW1sxMjAzOTYsMTIwMzk2XSxcIm1hcHBlZFwiLFsxMTNdXSxbWzEyMDM5NywxMjAzOTddLFwibWFwcGVkXCIsWzExNF1dLFtbMTIwMzk4LDEyMDM5OF0sXCJtYXBwZWRcIixbMTE1XV0sW1sxMjAzOTksMTIwMzk5XSxcIm1hcHBlZFwiLFsxMTZdXSxbWzEyMDQwMCwxMjA0MDBdLFwibWFwcGVkXCIsWzExN11dLFtbMTIwNDAxLDEyMDQwMV0sXCJtYXBwZWRcIixbMTE4XV0sW1sxMjA0MDIsMTIwNDAyXSxcIm1hcHBlZFwiLFsxMTldXSxbWzEyMDQwMywxMjA0MDNdLFwibWFwcGVkXCIsWzEyMF1dLFtbMTIwNDA0LDEyMDQwNF0sXCJtYXBwZWRcIixbMTIxXV0sW1sxMjA0MDUsMTIwNDA1XSxcIm1hcHBlZFwiLFsxMjJdXSxbWzEyMDQwNiwxMjA0MDZdLFwibWFwcGVkXCIsWzk3XV0sW1sxMjA0MDcsMTIwNDA3XSxcIm1hcHBlZFwiLFs5OF1dLFtbMTIwNDA4LDEyMDQwOF0sXCJtYXBwZWRcIixbOTldXSxbWzEyMDQwOSwxMjA0MDldLFwibWFwcGVkXCIsWzEwMF1dLFtbMTIwNDEwLDEyMDQxMF0sXCJtYXBwZWRcIixbMTAxXV0sW1sxMjA0MTEsMTIwNDExXSxcIm1hcHBlZFwiLFsxMDJdXSxbWzEyMDQxMiwxMjA0MTJdLFwibWFwcGVkXCIsWzEwM11dLFtbMTIwNDEzLDEyMDQxM10sXCJtYXBwZWRcIixbMTA0XV0sW1sxMjA0MTQsMTIwNDE0XSxcIm1hcHBlZFwiLFsxMDVdXSxbWzEyMDQxNSwxMjA0MTVdLFwibWFwcGVkXCIsWzEwNl1dLFtbMTIwNDE2LDEyMDQxNl0sXCJtYXBwZWRcIixbMTA3XV0sW1sxMjA0MTcsMTIwNDE3XSxcIm1hcHBlZFwiLFsxMDhdXSxbWzEyMDQxOCwxMjA0MThdLFwibWFwcGVkXCIsWzEwOV1dLFtbMTIwNDE5LDEyMDQxOV0sXCJtYXBwZWRcIixbMTEwXV0sW1sxMjA0MjAsMTIwNDIwXSxcIm1hcHBlZFwiLFsxMTFdXSxbWzEyMDQyMSwxMjA0MjFdLFwibWFwcGVkXCIsWzExMl1dLFtbMTIwNDIyLDEyMDQyMl0sXCJtYXBwZWRcIixbMTEzXV0sW1sxMjA0MjMsMTIwNDIzXSxcIm1hcHBlZFwiLFsxMTRdXSxbWzEyMDQyNCwxMjA0MjRdLFwibWFwcGVkXCIsWzExNV1dLFtbMTIwNDI1LDEyMDQyNV0sXCJtYXBwZWRcIixbMTE2XV0sW1sxMjA0MjYsMTIwNDI2XSxcIm1hcHBlZFwiLFsxMTddXSxbWzEyMDQyNywxMjA0MjddLFwibWFwcGVkXCIsWzExOF1dLFtbMTIwNDI4LDEyMDQyOF0sXCJtYXBwZWRcIixbMTE5XV0sW1sxMjA0MjksMTIwNDI5XSxcIm1hcHBlZFwiLFsxMjBdXSxbWzEyMDQzMCwxMjA0MzBdLFwibWFwcGVkXCIsWzEyMV1dLFtbMTIwNDMxLDEyMDQzMV0sXCJtYXBwZWRcIixbMTIyXV0sW1sxMjA0MzIsMTIwNDMyXSxcIm1hcHBlZFwiLFs5N11dLFtbMTIwNDMzLDEyMDQzM10sXCJtYXBwZWRcIixbOThdXSxbWzEyMDQzNCwxMjA0MzRdLFwibWFwcGVkXCIsWzk5XV0sW1sxMjA0MzUsMTIwNDM1XSxcIm1hcHBlZFwiLFsxMDBdXSxbWzEyMDQzNiwxMjA0MzZdLFwibWFwcGVkXCIsWzEwMV1dLFtbMTIwNDM3LDEyMDQzN10sXCJtYXBwZWRcIixbMTAyXV0sW1sxMjA0MzgsMTIwNDM4XSxcIm1hcHBlZFwiLFsxMDNdXSxbWzEyMDQzOSwxMjA0MzldLFwibWFwcGVkXCIsWzEwNF1dLFtbMTIwNDQwLDEyMDQ0MF0sXCJtYXBwZWRcIixbMTA1XV0sW1sxMjA0NDEsMTIwNDQxXSxcIm1hcHBlZFwiLFsxMDZdXSxbWzEyMDQ0MiwxMjA0NDJdLFwibWFwcGVkXCIsWzEwN11dLFtbMTIwNDQzLDEyMDQ0M10sXCJtYXBwZWRcIixbMTA4XV0sW1sxMjA0NDQsMTIwNDQ0XSxcIm1hcHBlZFwiLFsxMDldXSxbWzEyMDQ0NSwxMjA0NDVdLFwibWFwcGVkXCIsWzExMF1dLFtbMTIwNDQ2LDEyMDQ0Nl0sXCJtYXBwZWRcIixbMTExXV0sW1sxMjA0NDcsMTIwNDQ3XSxcIm1hcHBlZFwiLFsxMTJdXSxbWzEyMDQ0OCwxMjA0NDhdLFwibWFwcGVkXCIsWzExM11dLFtbMTIwNDQ5LDEyMDQ0OV0sXCJtYXBwZWRcIixbMTE0XV0sW1sxMjA0NTAsMTIwNDUwXSxcIm1hcHBlZFwiLFsxMTVdXSxbWzEyMDQ1MSwxMjA0NTFdLFwibWFwcGVkXCIsWzExNl1dLFtbMTIwNDUyLDEyMDQ1Ml0sXCJtYXBwZWRcIixbMTE3XV0sW1sxMjA0NTMsMTIwNDUzXSxcIm1hcHBlZFwiLFsxMThdXSxbWzEyMDQ1NCwxMjA0NTRdLFwibWFwcGVkXCIsWzExOV1dLFtbMTIwNDU1LDEyMDQ1NV0sXCJtYXBwZWRcIixbMTIwXV0sW1sxMjA0NTYsMTIwNDU2XSxcIm1hcHBlZFwiLFsxMjFdXSxbWzEyMDQ1NywxMjA0NTddLFwibWFwcGVkXCIsWzEyMl1dLFtbMTIwNDU4LDEyMDQ1OF0sXCJtYXBwZWRcIixbOTddXSxbWzEyMDQ1OSwxMjA0NTldLFwibWFwcGVkXCIsWzk4XV0sW1sxMjA0NjAsMTIwNDYwXSxcIm1hcHBlZFwiLFs5OV1dLFtbMTIwNDYxLDEyMDQ2MV0sXCJtYXBwZWRcIixbMTAwXV0sW1sxMjA0NjIsMTIwNDYyXSxcIm1hcHBlZFwiLFsxMDFdXSxbWzEyMDQ2MywxMjA0NjNdLFwibWFwcGVkXCIsWzEwMl1dLFtbMTIwNDY0LDEyMDQ2NF0sXCJtYXBwZWRcIixbMTAzXV0sW1sxMjA0NjUsMTIwNDY1XSxcIm1hcHBlZFwiLFsxMDRdXSxbWzEyMDQ2NiwxMjA0NjZdLFwibWFwcGVkXCIsWzEwNV1dLFtbMTIwNDY3LDEyMDQ2N10sXCJtYXBwZWRcIixbMTA2XV0sW1sxMjA0NjgsMTIwNDY4XSxcIm1hcHBlZFwiLFsxMDddXSxbWzEyMDQ2OSwxMjA0NjldLFwibWFwcGVkXCIsWzEwOF1dLFtbMTIwNDcwLDEyMDQ3MF0sXCJtYXBwZWRcIixbMTA5XV0sW1sxMjA0NzEsMTIwNDcxXSxcIm1hcHBlZFwiLFsxMTBdXSxbWzEyMDQ3MiwxMjA0NzJdLFwibWFwcGVkXCIsWzExMV1dLFtbMTIwNDczLDEyMDQ3M10sXCJtYXBwZWRcIixbMTEyXV0sW1sxMjA0NzQsMTIwNDc0XSxcIm1hcHBlZFwiLFsxMTNdXSxbWzEyMDQ3NSwxMjA0NzVdLFwibWFwcGVkXCIsWzExNF1dLFtbMTIwNDc2LDEyMDQ3Nl0sXCJtYXBwZWRcIixbMTE1XV0sW1sxMjA0NzcsMTIwNDc3XSxcIm1hcHBlZFwiLFsxMTZdXSxbWzEyMDQ3OCwxMjA0NzhdLFwibWFwcGVkXCIsWzExN11dLFtbMTIwNDc5LDEyMDQ3OV0sXCJtYXBwZWRcIixbMTE4XV0sW1sxMjA0ODAsMTIwNDgwXSxcIm1hcHBlZFwiLFsxMTldXSxbWzEyMDQ4MSwxMjA0ODFdLFwibWFwcGVkXCIsWzEyMF1dLFtbMTIwNDgyLDEyMDQ4Ml0sXCJtYXBwZWRcIixbMTIxXV0sW1sxMjA0ODMsMTIwNDgzXSxcIm1hcHBlZFwiLFsxMjJdXSxbWzEyMDQ4NCwxMjA0ODRdLFwibWFwcGVkXCIsWzMwNV1dLFtbMTIwNDg1LDEyMDQ4NV0sXCJtYXBwZWRcIixbNTY3XV0sW1sxMjA0ODYsMTIwNDg3XSxcImRpc2FsbG93ZWRcIl0sW1sxMjA0ODgsMTIwNDg4XSxcIm1hcHBlZFwiLFs5NDVdXSxbWzEyMDQ4OSwxMjA0ODldLFwibWFwcGVkXCIsWzk0Nl1dLFtbMTIwNDkwLDEyMDQ5MF0sXCJtYXBwZWRcIixbOTQ3XV0sW1sxMjA0OTEsMTIwNDkxXSxcIm1hcHBlZFwiLFs5NDhdXSxbWzEyMDQ5MiwxMjA0OTJdLFwibWFwcGVkXCIsWzk0OV1dLFtbMTIwNDkzLDEyMDQ5M10sXCJtYXBwZWRcIixbOTUwXV0sW1sxMjA0OTQsMTIwNDk0XSxcIm1hcHBlZFwiLFs5NTFdXSxbWzEyMDQ5NSwxMjA0OTVdLFwibWFwcGVkXCIsWzk1Ml1dLFtbMTIwNDk2LDEyMDQ5Nl0sXCJtYXBwZWRcIixbOTUzXV0sW1sxMjA0OTcsMTIwNDk3XSxcIm1hcHBlZFwiLFs5NTRdXSxbWzEyMDQ5OCwxMjA0OThdLFwibWFwcGVkXCIsWzk1NV1dLFtbMTIwNDk5LDEyMDQ5OV0sXCJtYXBwZWRcIixbOTU2XV0sW1sxMjA1MDAsMTIwNTAwXSxcIm1hcHBlZFwiLFs5NTddXSxbWzEyMDUwMSwxMjA1MDFdLFwibWFwcGVkXCIsWzk1OF1dLFtbMTIwNTAyLDEyMDUwMl0sXCJtYXBwZWRcIixbOTU5XV0sW1sxMjA1MDMsMTIwNTAzXSxcIm1hcHBlZFwiLFs5NjBdXSxbWzEyMDUwNCwxMjA1MDRdLFwibWFwcGVkXCIsWzk2MV1dLFtbMTIwNTA1LDEyMDUwNV0sXCJtYXBwZWRcIixbOTUyXV0sW1sxMjA1MDYsMTIwNTA2XSxcIm1hcHBlZFwiLFs5NjNdXSxbWzEyMDUwNywxMjA1MDddLFwibWFwcGVkXCIsWzk2NF1dLFtbMTIwNTA4LDEyMDUwOF0sXCJtYXBwZWRcIixbOTY1XV0sW1sxMjA1MDksMTIwNTA5XSxcIm1hcHBlZFwiLFs5NjZdXSxbWzEyMDUxMCwxMjA1MTBdLFwibWFwcGVkXCIsWzk2N11dLFtbMTIwNTExLDEyMDUxMV0sXCJtYXBwZWRcIixbOTY4XV0sW1sxMjA1MTIsMTIwNTEyXSxcIm1hcHBlZFwiLFs5NjldXSxbWzEyMDUxMywxMjA1MTNdLFwibWFwcGVkXCIsWzg3MTFdXSxbWzEyMDUxNCwxMjA1MTRdLFwibWFwcGVkXCIsWzk0NV1dLFtbMTIwNTE1LDEyMDUxNV0sXCJtYXBwZWRcIixbOTQ2XV0sW1sxMjA1MTYsMTIwNTE2XSxcIm1hcHBlZFwiLFs5NDddXSxbWzEyMDUxNywxMjA1MTddLFwibWFwcGVkXCIsWzk0OF1dLFtbMTIwNTE4LDEyMDUxOF0sXCJtYXBwZWRcIixbOTQ5XV0sW1sxMjA1MTksMTIwNTE5XSxcIm1hcHBlZFwiLFs5NTBdXSxbWzEyMDUyMCwxMjA1MjBdLFwibWFwcGVkXCIsWzk1MV1dLFtbMTIwNTIxLDEyMDUyMV0sXCJtYXBwZWRcIixbOTUyXV0sW1sxMjA1MjIsMTIwNTIyXSxcIm1hcHBlZFwiLFs5NTNdXSxbWzEyMDUyMywxMjA1MjNdLFwibWFwcGVkXCIsWzk1NF1dLFtbMTIwNTI0LDEyMDUyNF0sXCJtYXBwZWRcIixbOTU1XV0sW1sxMjA1MjUsMTIwNTI1XSxcIm1hcHBlZFwiLFs5NTZdXSxbWzEyMDUyNiwxMjA1MjZdLFwibWFwcGVkXCIsWzk1N11dLFtbMTIwNTI3LDEyMDUyN10sXCJtYXBwZWRcIixbOTU4XV0sW1sxMjA1MjgsMTIwNTI4XSxcIm1hcHBlZFwiLFs5NTldXSxbWzEyMDUyOSwxMjA1MjldLFwibWFwcGVkXCIsWzk2MF1dLFtbMTIwNTMwLDEyMDUzMF0sXCJtYXBwZWRcIixbOTYxXV0sW1sxMjA1MzEsMTIwNTMyXSxcIm1hcHBlZFwiLFs5NjNdXSxbWzEyMDUzMywxMjA1MzNdLFwibWFwcGVkXCIsWzk2NF1dLFtbMTIwNTM0LDEyMDUzNF0sXCJtYXBwZWRcIixbOTY1XV0sW1sxMjA1MzUsMTIwNTM1XSxcIm1hcHBlZFwiLFs5NjZdXSxbWzEyMDUzNiwxMjA1MzZdLFwibWFwcGVkXCIsWzk2N11dLFtbMTIwNTM3LDEyMDUzN10sXCJtYXBwZWRcIixbOTY4XV0sW1sxMjA1MzgsMTIwNTM4XSxcIm1hcHBlZFwiLFs5NjldXSxbWzEyMDUzOSwxMjA1MzldLFwibWFwcGVkXCIsWzg3MDZdXSxbWzEyMDU0MCwxMjA1NDBdLFwibWFwcGVkXCIsWzk0OV1dLFtbMTIwNTQxLDEyMDU0MV0sXCJtYXBwZWRcIixbOTUyXV0sW1sxMjA1NDIsMTIwNTQyXSxcIm1hcHBlZFwiLFs5NTRdXSxbWzEyMDU0MywxMjA1NDNdLFwibWFwcGVkXCIsWzk2Nl1dLFtbMTIwNTQ0LDEyMDU0NF0sXCJtYXBwZWRcIixbOTYxXV0sW1sxMjA1NDUsMTIwNTQ1XSxcIm1hcHBlZFwiLFs5NjBdXSxbWzEyMDU0NiwxMjA1NDZdLFwibWFwcGVkXCIsWzk0NV1dLFtbMTIwNTQ3LDEyMDU0N10sXCJtYXBwZWRcIixbOTQ2XV0sW1sxMjA1NDgsMTIwNTQ4XSxcIm1hcHBlZFwiLFs5NDddXSxbWzEyMDU0OSwxMjA1NDldLFwibWFwcGVkXCIsWzk0OF1dLFtbMTIwNTUwLDEyMDU1MF0sXCJtYXBwZWRcIixbOTQ5XV0sW1sxMjA1NTEsMTIwNTUxXSxcIm1hcHBlZFwiLFs5NTBdXSxbWzEyMDU1MiwxMjA1NTJdLFwibWFwcGVkXCIsWzk1MV1dLFtbMTIwNTUzLDEyMDU1M10sXCJtYXBwZWRcIixbOTUyXV0sW1sxMjA1NTQsMTIwNTU0XSxcIm1hcHBlZFwiLFs5NTNdXSxbWzEyMDU1NSwxMjA1NTVdLFwibWFwcGVkXCIsWzk1NF1dLFtbMTIwNTU2LDEyMDU1Nl0sXCJtYXBwZWRcIixbOTU1XV0sW1sxMjA1NTcsMTIwNTU3XSxcIm1hcHBlZFwiLFs5NTZdXSxbWzEyMDU1OCwxMjA1NThdLFwibWFwcGVkXCIsWzk1N11dLFtbMTIwNTU5LDEyMDU1OV0sXCJtYXBwZWRcIixbOTU4XV0sW1sxMjA1NjAsMTIwNTYwXSxcIm1hcHBlZFwiLFs5NTldXSxbWzEyMDU2MSwxMjA1NjFdLFwibWFwcGVkXCIsWzk2MF1dLFtbMTIwNTYyLDEyMDU2Ml0sXCJtYXBwZWRcIixbOTYxXV0sW1sxMjA1NjMsMTIwNTYzXSxcIm1hcHBlZFwiLFs5NTJdXSxbWzEyMDU2NCwxMjA1NjRdLFwibWFwcGVkXCIsWzk2M11dLFtbMTIwNTY1LDEyMDU2NV0sXCJtYXBwZWRcIixbOTY0XV0sW1sxMjA1NjYsMTIwNTY2XSxcIm1hcHBlZFwiLFs5NjVdXSxbWzEyMDU2NywxMjA1NjddLFwibWFwcGVkXCIsWzk2Nl1dLFtbMTIwNTY4LDEyMDU2OF0sXCJtYXBwZWRcIixbOTY3XV0sW1sxMjA1NjksMTIwNTY5XSxcIm1hcHBlZFwiLFs5NjhdXSxbWzEyMDU3MCwxMjA1NzBdLFwibWFwcGVkXCIsWzk2OV1dLFtbMTIwNTcxLDEyMDU3MV0sXCJtYXBwZWRcIixbODcxMV1dLFtbMTIwNTcyLDEyMDU3Ml0sXCJtYXBwZWRcIixbOTQ1XV0sW1sxMjA1NzMsMTIwNTczXSxcIm1hcHBlZFwiLFs5NDZdXSxbWzEyMDU3NCwxMjA1NzRdLFwibWFwcGVkXCIsWzk0N11dLFtbMTIwNTc1LDEyMDU3NV0sXCJtYXBwZWRcIixbOTQ4XV0sW1sxMjA1NzYsMTIwNTc2XSxcIm1hcHBlZFwiLFs5NDldXSxbWzEyMDU3NywxMjA1NzddLFwibWFwcGVkXCIsWzk1MF1dLFtbMTIwNTc4LDEyMDU3OF0sXCJtYXBwZWRcIixbOTUxXV0sW1sxMjA1NzksMTIwNTc5XSxcIm1hcHBlZFwiLFs5NTJdXSxbWzEyMDU4MCwxMjA1ODBdLFwibWFwcGVkXCIsWzk1M11dLFtbMTIwNTgxLDEyMDU4MV0sXCJtYXBwZWRcIixbOTU0XV0sW1sxMjA1ODIsMTIwNTgyXSxcIm1hcHBlZFwiLFs5NTVdXSxbWzEyMDU4MywxMjA1ODNdLFwibWFwcGVkXCIsWzk1Nl1dLFtbMTIwNTg0LDEyMDU4NF0sXCJtYXBwZWRcIixbOTU3XV0sW1sxMjA1ODUsMTIwNTg1XSxcIm1hcHBlZFwiLFs5NThdXSxbWzEyMDU4NiwxMjA1ODZdLFwibWFwcGVkXCIsWzk1OV1dLFtbMTIwNTg3LDEyMDU4N10sXCJtYXBwZWRcIixbOTYwXV0sW1sxMjA1ODgsMTIwNTg4XSxcIm1hcHBlZFwiLFs5NjFdXSxbWzEyMDU4OSwxMjA1OTBdLFwibWFwcGVkXCIsWzk2M11dLFtbMTIwNTkxLDEyMDU5MV0sXCJtYXBwZWRcIixbOTY0XV0sW1sxMjA1OTIsMTIwNTkyXSxcIm1hcHBlZFwiLFs5NjVdXSxbWzEyMDU5MywxMjA1OTNdLFwibWFwcGVkXCIsWzk2Nl1dLFtbMTIwNTk0LDEyMDU5NF0sXCJtYXBwZWRcIixbOTY3XV0sW1sxMjA1OTUsMTIwNTk1XSxcIm1hcHBlZFwiLFs5NjhdXSxbWzEyMDU5NiwxMjA1OTZdLFwibWFwcGVkXCIsWzk2OV1dLFtbMTIwNTk3LDEyMDU5N10sXCJtYXBwZWRcIixbODcwNl1dLFtbMTIwNTk4LDEyMDU5OF0sXCJtYXBwZWRcIixbOTQ5XV0sW1sxMjA1OTksMTIwNTk5XSxcIm1hcHBlZFwiLFs5NTJdXSxbWzEyMDYwMCwxMjA2MDBdLFwibWFwcGVkXCIsWzk1NF1dLFtbMTIwNjAxLDEyMDYwMV0sXCJtYXBwZWRcIixbOTY2XV0sW1sxMjA2MDIsMTIwNjAyXSxcIm1hcHBlZFwiLFs5NjFdXSxbWzEyMDYwMywxMjA2MDNdLFwibWFwcGVkXCIsWzk2MF1dLFtbMTIwNjA0LDEyMDYwNF0sXCJtYXBwZWRcIixbOTQ1XV0sW1sxMjA2MDUsMTIwNjA1XSxcIm1hcHBlZFwiLFs5NDZdXSxbWzEyMDYwNiwxMjA2MDZdLFwibWFwcGVkXCIsWzk0N11dLFtbMTIwNjA3LDEyMDYwN10sXCJtYXBwZWRcIixbOTQ4XV0sW1sxMjA2MDgsMTIwNjA4XSxcIm1hcHBlZFwiLFs5NDldXSxbWzEyMDYwOSwxMjA2MDldLFwibWFwcGVkXCIsWzk1MF1dLFtbMTIwNjEwLDEyMDYxMF0sXCJtYXBwZWRcIixbOTUxXV0sW1sxMjA2MTEsMTIwNjExXSxcIm1hcHBlZFwiLFs5NTJdXSxbWzEyMDYxMiwxMjA2MTJdLFwibWFwcGVkXCIsWzk1M11dLFtbMTIwNjEzLDEyMDYxM10sXCJtYXBwZWRcIixbOTU0XV0sW1sxMjA2MTQsMTIwNjE0XSxcIm1hcHBlZFwiLFs5NTVdXSxbWzEyMDYxNSwxMjA2MTVdLFwibWFwcGVkXCIsWzk1Nl1dLFtbMTIwNjE2LDEyMDYxNl0sXCJtYXBwZWRcIixbOTU3XV0sW1sxMjA2MTcsMTIwNjE3XSxcIm1hcHBlZFwiLFs5NThdXSxbWzEyMDYxOCwxMjA2MThdLFwibWFwcGVkXCIsWzk1OV1dLFtbMTIwNjE5LDEyMDYxOV0sXCJtYXBwZWRcIixbOTYwXV0sW1sxMjA2MjAsMTIwNjIwXSxcIm1hcHBlZFwiLFs5NjFdXSxbWzEyMDYyMSwxMjA2MjFdLFwibWFwcGVkXCIsWzk1Ml1dLFtbMTIwNjIyLDEyMDYyMl0sXCJtYXBwZWRcIixbOTYzXV0sW1sxMjA2MjMsMTIwNjIzXSxcIm1hcHBlZFwiLFs5NjRdXSxbWzEyMDYyNCwxMjA2MjRdLFwibWFwcGVkXCIsWzk2NV1dLFtbMTIwNjI1LDEyMDYyNV0sXCJtYXBwZWRcIixbOTY2XV0sW1sxMjA2MjYsMTIwNjI2XSxcIm1hcHBlZFwiLFs5NjddXSxbWzEyMDYyNywxMjA2MjddLFwibWFwcGVkXCIsWzk2OF1dLFtbMTIwNjI4LDEyMDYyOF0sXCJtYXBwZWRcIixbOTY5XV0sW1sxMjA2MjksMTIwNjI5XSxcIm1hcHBlZFwiLFs4NzExXV0sW1sxMjA2MzAsMTIwNjMwXSxcIm1hcHBlZFwiLFs5NDVdXSxbWzEyMDYzMSwxMjA2MzFdLFwibWFwcGVkXCIsWzk0Nl1dLFtbMTIwNjMyLDEyMDYzMl0sXCJtYXBwZWRcIixbOTQ3XV0sW1sxMjA2MzMsMTIwNjMzXSxcIm1hcHBlZFwiLFs5NDhdXSxbWzEyMDYzNCwxMjA2MzRdLFwibWFwcGVkXCIsWzk0OV1dLFtbMTIwNjM1LDEyMDYzNV0sXCJtYXBwZWRcIixbOTUwXV0sW1sxMjA2MzYsMTIwNjM2XSxcIm1hcHBlZFwiLFs5NTFdXSxbWzEyMDYzNywxMjA2MzddLFwibWFwcGVkXCIsWzk1Ml1dLFtbMTIwNjM4LDEyMDYzOF0sXCJtYXBwZWRcIixbOTUzXV0sW1sxMjA2MzksMTIwNjM5XSxcIm1hcHBlZFwiLFs5NTRdXSxbWzEyMDY0MCwxMjA2NDBdLFwibWFwcGVkXCIsWzk1NV1dLFtbMTIwNjQxLDEyMDY0MV0sXCJtYXBwZWRcIixbOTU2XV0sW1sxMjA2NDIsMTIwNjQyXSxcIm1hcHBlZFwiLFs5NTddXSxbWzEyMDY0MywxMjA2NDNdLFwibWFwcGVkXCIsWzk1OF1dLFtbMTIwNjQ0LDEyMDY0NF0sXCJtYXBwZWRcIixbOTU5XV0sW1sxMjA2NDUsMTIwNjQ1XSxcIm1hcHBlZFwiLFs5NjBdXSxbWzEyMDY0NiwxMjA2NDZdLFwibWFwcGVkXCIsWzk2MV1dLFtbMTIwNjQ3LDEyMDY0OF0sXCJtYXBwZWRcIixbOTYzXV0sW1sxMjA2NDksMTIwNjQ5XSxcIm1hcHBlZFwiLFs5NjRdXSxbWzEyMDY1MCwxMjA2NTBdLFwibWFwcGVkXCIsWzk2NV1dLFtbMTIwNjUxLDEyMDY1MV0sXCJtYXBwZWRcIixbOTY2XV0sW1sxMjA2NTIsMTIwNjUyXSxcIm1hcHBlZFwiLFs5NjddXSxbWzEyMDY1MywxMjA2NTNdLFwibWFwcGVkXCIsWzk2OF1dLFtbMTIwNjU0LDEyMDY1NF0sXCJtYXBwZWRcIixbOTY5XV0sW1sxMjA2NTUsMTIwNjU1XSxcIm1hcHBlZFwiLFs4NzA2XV0sW1sxMjA2NTYsMTIwNjU2XSxcIm1hcHBlZFwiLFs5NDldXSxbWzEyMDY1NywxMjA2NTddLFwibWFwcGVkXCIsWzk1Ml1dLFtbMTIwNjU4LDEyMDY1OF0sXCJtYXBwZWRcIixbOTU0XV0sW1sxMjA2NTksMTIwNjU5XSxcIm1hcHBlZFwiLFs5NjZdXSxbWzEyMDY2MCwxMjA2NjBdLFwibWFwcGVkXCIsWzk2MV1dLFtbMTIwNjYxLDEyMDY2MV0sXCJtYXBwZWRcIixbOTYwXV0sW1sxMjA2NjIsMTIwNjYyXSxcIm1hcHBlZFwiLFs5NDVdXSxbWzEyMDY2MywxMjA2NjNdLFwibWFwcGVkXCIsWzk0Nl1dLFtbMTIwNjY0LDEyMDY2NF0sXCJtYXBwZWRcIixbOTQ3XV0sW1sxMjA2NjUsMTIwNjY1XSxcIm1hcHBlZFwiLFs5NDhdXSxbWzEyMDY2NiwxMjA2NjZdLFwibWFwcGVkXCIsWzk0OV1dLFtbMTIwNjY3LDEyMDY2N10sXCJtYXBwZWRcIixbOTUwXV0sW1sxMjA2NjgsMTIwNjY4XSxcIm1hcHBlZFwiLFs5NTFdXSxbWzEyMDY2OSwxMjA2NjldLFwibWFwcGVkXCIsWzk1Ml1dLFtbMTIwNjcwLDEyMDY3MF0sXCJtYXBwZWRcIixbOTUzXV0sW1sxMjA2NzEsMTIwNjcxXSxcIm1hcHBlZFwiLFs5NTRdXSxbWzEyMDY3MiwxMjA2NzJdLFwibWFwcGVkXCIsWzk1NV1dLFtbMTIwNjczLDEyMDY3M10sXCJtYXBwZWRcIixbOTU2XV0sW1sxMjA2NzQsMTIwNjc0XSxcIm1hcHBlZFwiLFs5NTddXSxbWzEyMDY3NSwxMjA2NzVdLFwibWFwcGVkXCIsWzk1OF1dLFtbMTIwNjc2LDEyMDY3Nl0sXCJtYXBwZWRcIixbOTU5XV0sW1sxMjA2NzcsMTIwNjc3XSxcIm1hcHBlZFwiLFs5NjBdXSxbWzEyMDY3OCwxMjA2NzhdLFwibWFwcGVkXCIsWzk2MV1dLFtbMTIwNjc5LDEyMDY3OV0sXCJtYXBwZWRcIixbOTUyXV0sW1sxMjA2ODAsMTIwNjgwXSxcIm1hcHBlZFwiLFs5NjNdXSxbWzEyMDY4MSwxMjA2ODFdLFwibWFwcGVkXCIsWzk2NF1dLFtbMTIwNjgyLDEyMDY4Ml0sXCJtYXBwZWRcIixbOTY1XV0sW1sxMjA2ODMsMTIwNjgzXSxcIm1hcHBlZFwiLFs5NjZdXSxbWzEyMDY4NCwxMjA2ODRdLFwibWFwcGVkXCIsWzk2N11dLFtbMTIwNjg1LDEyMDY4NV0sXCJtYXBwZWRcIixbOTY4XV0sW1sxMjA2ODYsMTIwNjg2XSxcIm1hcHBlZFwiLFs5NjldXSxbWzEyMDY4NywxMjA2ODddLFwibWFwcGVkXCIsWzg3MTFdXSxbWzEyMDY4OCwxMjA2ODhdLFwibWFwcGVkXCIsWzk0NV1dLFtbMTIwNjg5LDEyMDY4OV0sXCJtYXBwZWRcIixbOTQ2XV0sW1sxMjA2OTAsMTIwNjkwXSxcIm1hcHBlZFwiLFs5NDddXSxbWzEyMDY5MSwxMjA2OTFdLFwibWFwcGVkXCIsWzk0OF1dLFtbMTIwNjkyLDEyMDY5Ml0sXCJtYXBwZWRcIixbOTQ5XV0sW1sxMjA2OTMsMTIwNjkzXSxcIm1hcHBlZFwiLFs5NTBdXSxbWzEyMDY5NCwxMjA2OTRdLFwibWFwcGVkXCIsWzk1MV1dLFtbMTIwNjk1LDEyMDY5NV0sXCJtYXBwZWRcIixbOTUyXV0sW1sxMjA2OTYsMTIwNjk2XSxcIm1hcHBlZFwiLFs5NTNdXSxbWzEyMDY5NywxMjA2OTddLFwibWFwcGVkXCIsWzk1NF1dLFtbMTIwNjk4LDEyMDY5OF0sXCJtYXBwZWRcIixbOTU1XV0sW1sxMjA2OTksMTIwNjk5XSxcIm1hcHBlZFwiLFs5NTZdXSxbWzEyMDcwMCwxMjA3MDBdLFwibWFwcGVkXCIsWzk1N11dLFtbMTIwNzAxLDEyMDcwMV0sXCJtYXBwZWRcIixbOTU4XV0sW1sxMjA3MDIsMTIwNzAyXSxcIm1hcHBlZFwiLFs5NTldXSxbWzEyMDcwMywxMjA3MDNdLFwibWFwcGVkXCIsWzk2MF1dLFtbMTIwNzA0LDEyMDcwNF0sXCJtYXBwZWRcIixbOTYxXV0sW1sxMjA3MDUsMTIwNzA2XSxcIm1hcHBlZFwiLFs5NjNdXSxbWzEyMDcwNywxMjA3MDddLFwibWFwcGVkXCIsWzk2NF1dLFtbMTIwNzA4LDEyMDcwOF0sXCJtYXBwZWRcIixbOTY1XV0sW1sxMjA3MDksMTIwNzA5XSxcIm1hcHBlZFwiLFs5NjZdXSxbWzEyMDcxMCwxMjA3MTBdLFwibWFwcGVkXCIsWzk2N11dLFtbMTIwNzExLDEyMDcxMV0sXCJtYXBwZWRcIixbOTY4XV0sW1sxMjA3MTIsMTIwNzEyXSxcIm1hcHBlZFwiLFs5NjldXSxbWzEyMDcxMywxMjA3MTNdLFwibWFwcGVkXCIsWzg3MDZdXSxbWzEyMDcxNCwxMjA3MTRdLFwibWFwcGVkXCIsWzk0OV1dLFtbMTIwNzE1LDEyMDcxNV0sXCJtYXBwZWRcIixbOTUyXV0sW1sxMjA3MTYsMTIwNzE2XSxcIm1hcHBlZFwiLFs5NTRdXSxbWzEyMDcxNywxMjA3MTddLFwibWFwcGVkXCIsWzk2Nl1dLFtbMTIwNzE4LDEyMDcxOF0sXCJtYXBwZWRcIixbOTYxXV0sW1sxMjA3MTksMTIwNzE5XSxcIm1hcHBlZFwiLFs5NjBdXSxbWzEyMDcyMCwxMjA3MjBdLFwibWFwcGVkXCIsWzk0NV1dLFtbMTIwNzIxLDEyMDcyMV0sXCJtYXBwZWRcIixbOTQ2XV0sW1sxMjA3MjIsMTIwNzIyXSxcIm1hcHBlZFwiLFs5NDddXSxbWzEyMDcyMywxMjA3MjNdLFwibWFwcGVkXCIsWzk0OF1dLFtbMTIwNzI0LDEyMDcyNF0sXCJtYXBwZWRcIixbOTQ5XV0sW1sxMjA3MjUsMTIwNzI1XSxcIm1hcHBlZFwiLFs5NTBdXSxbWzEyMDcyNiwxMjA3MjZdLFwibWFwcGVkXCIsWzk1MV1dLFtbMTIwNzI3LDEyMDcyN10sXCJtYXBwZWRcIixbOTUyXV0sW1sxMjA3MjgsMTIwNzI4XSxcIm1hcHBlZFwiLFs5NTNdXSxbWzEyMDcyOSwxMjA3MjldLFwibWFwcGVkXCIsWzk1NF1dLFtbMTIwNzMwLDEyMDczMF0sXCJtYXBwZWRcIixbOTU1XV0sW1sxMjA3MzEsMTIwNzMxXSxcIm1hcHBlZFwiLFs5NTZdXSxbWzEyMDczMiwxMjA3MzJdLFwibWFwcGVkXCIsWzk1N11dLFtbMTIwNzMzLDEyMDczM10sXCJtYXBwZWRcIixbOTU4XV0sW1sxMjA3MzQsMTIwNzM0XSxcIm1hcHBlZFwiLFs5NTldXSxbWzEyMDczNSwxMjA3MzVdLFwibWFwcGVkXCIsWzk2MF1dLFtbMTIwNzM2LDEyMDczNl0sXCJtYXBwZWRcIixbOTYxXV0sW1sxMjA3MzcsMTIwNzM3XSxcIm1hcHBlZFwiLFs5NTJdXSxbWzEyMDczOCwxMjA3MzhdLFwibWFwcGVkXCIsWzk2M11dLFtbMTIwNzM5LDEyMDczOV0sXCJtYXBwZWRcIixbOTY0XV0sW1sxMjA3NDAsMTIwNzQwXSxcIm1hcHBlZFwiLFs5NjVdXSxbWzEyMDc0MSwxMjA3NDFdLFwibWFwcGVkXCIsWzk2Nl1dLFtbMTIwNzQyLDEyMDc0Ml0sXCJtYXBwZWRcIixbOTY3XV0sW1sxMjA3NDMsMTIwNzQzXSxcIm1hcHBlZFwiLFs5NjhdXSxbWzEyMDc0NCwxMjA3NDRdLFwibWFwcGVkXCIsWzk2OV1dLFtbMTIwNzQ1LDEyMDc0NV0sXCJtYXBwZWRcIixbODcxMV1dLFtbMTIwNzQ2LDEyMDc0Nl0sXCJtYXBwZWRcIixbOTQ1XV0sW1sxMjA3NDcsMTIwNzQ3XSxcIm1hcHBlZFwiLFs5NDZdXSxbWzEyMDc0OCwxMjA3NDhdLFwibWFwcGVkXCIsWzk0N11dLFtbMTIwNzQ5LDEyMDc0OV0sXCJtYXBwZWRcIixbOTQ4XV0sW1sxMjA3NTAsMTIwNzUwXSxcIm1hcHBlZFwiLFs5NDldXSxbWzEyMDc1MSwxMjA3NTFdLFwibWFwcGVkXCIsWzk1MF1dLFtbMTIwNzUyLDEyMDc1Ml0sXCJtYXBwZWRcIixbOTUxXV0sW1sxMjA3NTMsMTIwNzUzXSxcIm1hcHBlZFwiLFs5NTJdXSxbWzEyMDc1NCwxMjA3NTRdLFwibWFwcGVkXCIsWzk1M11dLFtbMTIwNzU1LDEyMDc1NV0sXCJtYXBwZWRcIixbOTU0XV0sW1sxMjA3NTYsMTIwNzU2XSxcIm1hcHBlZFwiLFs5NTVdXSxbWzEyMDc1NywxMjA3NTddLFwibWFwcGVkXCIsWzk1Nl1dLFtbMTIwNzU4LDEyMDc1OF0sXCJtYXBwZWRcIixbOTU3XV0sW1sxMjA3NTksMTIwNzU5XSxcIm1hcHBlZFwiLFs5NThdXSxbWzEyMDc2MCwxMjA3NjBdLFwibWFwcGVkXCIsWzk1OV1dLFtbMTIwNzYxLDEyMDc2MV0sXCJtYXBwZWRcIixbOTYwXV0sW1sxMjA3NjIsMTIwNzYyXSxcIm1hcHBlZFwiLFs5NjFdXSxbWzEyMDc2MywxMjA3NjRdLFwibWFwcGVkXCIsWzk2M11dLFtbMTIwNzY1LDEyMDc2NV0sXCJtYXBwZWRcIixbOTY0XV0sW1sxMjA3NjYsMTIwNzY2XSxcIm1hcHBlZFwiLFs5NjVdXSxbWzEyMDc2NywxMjA3NjddLFwibWFwcGVkXCIsWzk2Nl1dLFtbMTIwNzY4LDEyMDc2OF0sXCJtYXBwZWRcIixbOTY3XV0sW1sxMjA3NjksMTIwNzY5XSxcIm1hcHBlZFwiLFs5NjhdXSxbWzEyMDc3MCwxMjA3NzBdLFwibWFwcGVkXCIsWzk2OV1dLFtbMTIwNzcxLDEyMDc3MV0sXCJtYXBwZWRcIixbODcwNl1dLFtbMTIwNzcyLDEyMDc3Ml0sXCJtYXBwZWRcIixbOTQ5XV0sW1sxMjA3NzMsMTIwNzczXSxcIm1hcHBlZFwiLFs5NTJdXSxbWzEyMDc3NCwxMjA3NzRdLFwibWFwcGVkXCIsWzk1NF1dLFtbMTIwNzc1LDEyMDc3NV0sXCJtYXBwZWRcIixbOTY2XV0sW1sxMjA3NzYsMTIwNzc2XSxcIm1hcHBlZFwiLFs5NjFdXSxbWzEyMDc3NywxMjA3NzddLFwibWFwcGVkXCIsWzk2MF1dLFtbMTIwNzc4LDEyMDc3OV0sXCJtYXBwZWRcIixbOTg5XV0sW1sxMjA3ODAsMTIwNzgxXSxcImRpc2FsbG93ZWRcIl0sW1sxMjA3ODIsMTIwNzgyXSxcIm1hcHBlZFwiLFs0OF1dLFtbMTIwNzgzLDEyMDc4M10sXCJtYXBwZWRcIixbNDldXSxbWzEyMDc4NCwxMjA3ODRdLFwibWFwcGVkXCIsWzUwXV0sW1sxMjA3ODUsMTIwNzg1XSxcIm1hcHBlZFwiLFs1MV1dLFtbMTIwNzg2LDEyMDc4Nl0sXCJtYXBwZWRcIixbNTJdXSxbWzEyMDc4NywxMjA3ODddLFwibWFwcGVkXCIsWzUzXV0sW1sxMjA3ODgsMTIwNzg4XSxcIm1hcHBlZFwiLFs1NF1dLFtbMTIwNzg5LDEyMDc4OV0sXCJtYXBwZWRcIixbNTVdXSxbWzEyMDc5MCwxMjA3OTBdLFwibWFwcGVkXCIsWzU2XV0sW1sxMjA3OTEsMTIwNzkxXSxcIm1hcHBlZFwiLFs1N11dLFtbMTIwNzkyLDEyMDc5Ml0sXCJtYXBwZWRcIixbNDhdXSxbWzEyMDc5MywxMjA3OTNdLFwibWFwcGVkXCIsWzQ5XV0sW1sxMjA3OTQsMTIwNzk0XSxcIm1hcHBlZFwiLFs1MF1dLFtbMTIwNzk1LDEyMDc5NV0sXCJtYXBwZWRcIixbNTFdXSxbWzEyMDc5NiwxMjA3OTZdLFwibWFwcGVkXCIsWzUyXV0sW1sxMjA3OTcsMTIwNzk3XSxcIm1hcHBlZFwiLFs1M11dLFtbMTIwNzk4LDEyMDc5OF0sXCJtYXBwZWRcIixbNTRdXSxbWzEyMDc5OSwxMjA3OTldLFwibWFwcGVkXCIsWzU1XV0sW1sxMjA4MDAsMTIwODAwXSxcIm1hcHBlZFwiLFs1Nl1dLFtbMTIwODAxLDEyMDgwMV0sXCJtYXBwZWRcIixbNTddXSxbWzEyMDgwMiwxMjA4MDJdLFwibWFwcGVkXCIsWzQ4XV0sW1sxMjA4MDMsMTIwODAzXSxcIm1hcHBlZFwiLFs0OV1dLFtbMTIwODA0LDEyMDgwNF0sXCJtYXBwZWRcIixbNTBdXSxbWzEyMDgwNSwxMjA4MDVdLFwibWFwcGVkXCIsWzUxXV0sW1sxMjA4MDYsMTIwODA2XSxcIm1hcHBlZFwiLFs1Ml1dLFtbMTIwODA3LDEyMDgwN10sXCJtYXBwZWRcIixbNTNdXSxbWzEyMDgwOCwxMjA4MDhdLFwibWFwcGVkXCIsWzU0XV0sW1sxMjA4MDksMTIwODA5XSxcIm1hcHBlZFwiLFs1NV1dLFtbMTIwODEwLDEyMDgxMF0sXCJtYXBwZWRcIixbNTZdXSxbWzEyMDgxMSwxMjA4MTFdLFwibWFwcGVkXCIsWzU3XV0sW1sxMjA4MTIsMTIwODEyXSxcIm1hcHBlZFwiLFs0OF1dLFtbMTIwODEzLDEyMDgxM10sXCJtYXBwZWRcIixbNDldXSxbWzEyMDgxNCwxMjA4MTRdLFwibWFwcGVkXCIsWzUwXV0sW1sxMjA4MTUsMTIwODE1XSxcIm1hcHBlZFwiLFs1MV1dLFtbMTIwODE2LDEyMDgxNl0sXCJtYXBwZWRcIixbNTJdXSxbWzEyMDgxNywxMjA4MTddLFwibWFwcGVkXCIsWzUzXV0sW1sxMjA4MTgsMTIwODE4XSxcIm1hcHBlZFwiLFs1NF1dLFtbMTIwODE5LDEyMDgxOV0sXCJtYXBwZWRcIixbNTVdXSxbWzEyMDgyMCwxMjA4MjBdLFwibWFwcGVkXCIsWzU2XV0sW1sxMjA4MjEsMTIwODIxXSxcIm1hcHBlZFwiLFs1N11dLFtbMTIwODIyLDEyMDgyMl0sXCJtYXBwZWRcIixbNDhdXSxbWzEyMDgyMywxMjA4MjNdLFwibWFwcGVkXCIsWzQ5XV0sW1sxMjA4MjQsMTIwODI0XSxcIm1hcHBlZFwiLFs1MF1dLFtbMTIwODI1LDEyMDgyNV0sXCJtYXBwZWRcIixbNTFdXSxbWzEyMDgyNiwxMjA4MjZdLFwibWFwcGVkXCIsWzUyXV0sW1sxMjA4MjcsMTIwODI3XSxcIm1hcHBlZFwiLFs1M11dLFtbMTIwODI4LDEyMDgyOF0sXCJtYXBwZWRcIixbNTRdXSxbWzEyMDgyOSwxMjA4MjldLFwibWFwcGVkXCIsWzU1XV0sW1sxMjA4MzAsMTIwODMwXSxcIm1hcHBlZFwiLFs1Nl1dLFtbMTIwODMxLDEyMDgzMV0sXCJtYXBwZWRcIixbNTddXSxbWzEyMDgzMiwxMjEzNDNdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEyMTM0NCwxMjEzOThdLFwidmFsaWRcIl0sW1sxMjEzOTksMTIxNDAyXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMjE0MDMsMTIxNDUyXSxcInZhbGlkXCJdLFtbMTIxNDUzLDEyMTQ2MF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTIxNDYxLDEyMTQ2MV0sXCJ2YWxpZFwiXSxbWzEyMTQ2MiwxMjE0NzVdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEyMTQ3NiwxMjE0NzZdLFwidmFsaWRcIl0sW1sxMjE0NzcsMTIxNDgzXSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMjE0ODQsMTIxNDk4XSxcImRpc2FsbG93ZWRcIl0sW1sxMjE0OTksMTIxNTAzXSxcInZhbGlkXCJdLFtbMTIxNTA0LDEyMTUwNF0sXCJkaXNhbGxvd2VkXCJdLFtbMTIxNTA1LDEyMTUxOV0sXCJ2YWxpZFwiXSxbWzEyMTUyMCwxMjQ5MjddLFwiZGlzYWxsb3dlZFwiXSxbWzEyNDkyOCwxMjUxMjRdLFwidmFsaWRcIl0sW1sxMjUxMjUsMTI1MTI2XSxcImRpc2FsbG93ZWRcIl0sW1sxMjUxMjcsMTI1MTM1XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMjUxMzYsMTI1MTQyXSxcInZhbGlkXCJdLFtbMTI1MTQzLDEyNjQ2M10sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NDY0LDEyNjQ2NF0sXCJtYXBwZWRcIixbMTU3NV1dLFtbMTI2NDY1LDEyNjQ2NV0sXCJtYXBwZWRcIixbMTU3Nl1dLFtbMTI2NDY2LDEyNjQ2Nl0sXCJtYXBwZWRcIixbMTU4MF1dLFtbMTI2NDY3LDEyNjQ2N10sXCJtYXBwZWRcIixbMTU4M11dLFtbMTI2NDY4LDEyNjQ2OF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NDY5LDEyNjQ2OV0sXCJtYXBwZWRcIixbMTYwOF1dLFtbMTI2NDcwLDEyNjQ3MF0sXCJtYXBwZWRcIixbMTU4Nl1dLFtbMTI2NDcxLDEyNjQ3MV0sXCJtYXBwZWRcIixbMTU4MV1dLFtbMTI2NDcyLDEyNjQ3Ml0sXCJtYXBwZWRcIixbMTU5MV1dLFtbMTI2NDczLDEyNjQ3M10sXCJtYXBwZWRcIixbMTYxMF1dLFtbMTI2NDc0LDEyNjQ3NF0sXCJtYXBwZWRcIixbMTYwM11dLFtbMTI2NDc1LDEyNjQ3NV0sXCJtYXBwZWRcIixbMTYwNF1dLFtbMTI2NDc2LDEyNjQ3Nl0sXCJtYXBwZWRcIixbMTYwNV1dLFtbMTI2NDc3LDEyNjQ3N10sXCJtYXBwZWRcIixbMTYwNl1dLFtbMTI2NDc4LDEyNjQ3OF0sXCJtYXBwZWRcIixbMTU4N11dLFtbMTI2NDc5LDEyNjQ3OV0sXCJtYXBwZWRcIixbMTU5M11dLFtbMTI2NDgwLDEyNjQ4MF0sXCJtYXBwZWRcIixbMTYwMV1dLFtbMTI2NDgxLDEyNjQ4MV0sXCJtYXBwZWRcIixbMTU4OV1dLFtbMTI2NDgyLDEyNjQ4Ml0sXCJtYXBwZWRcIixbMTYwMl1dLFtbMTI2NDgzLDEyNjQ4M10sXCJtYXBwZWRcIixbMTU4NV1dLFtbMTI2NDg0LDEyNjQ4NF0sXCJtYXBwZWRcIixbMTU4OF1dLFtbMTI2NDg1LDEyNjQ4NV0sXCJtYXBwZWRcIixbMTU3OF1dLFtbMTI2NDg2LDEyNjQ4Nl0sXCJtYXBwZWRcIixbMTU3OV1dLFtbMTI2NDg3LDEyNjQ4N10sXCJtYXBwZWRcIixbMTU4Ml1dLFtbMTI2NDg4LDEyNjQ4OF0sXCJtYXBwZWRcIixbMTU4NF1dLFtbMTI2NDg5LDEyNjQ4OV0sXCJtYXBwZWRcIixbMTU5MF1dLFtbMTI2NDkwLDEyNjQ5MF0sXCJtYXBwZWRcIixbMTU5Ml1dLFtbMTI2NDkxLDEyNjQ5MV0sXCJtYXBwZWRcIixbMTU5NF1dLFtbMTI2NDkyLDEyNjQ5Ml0sXCJtYXBwZWRcIixbMTY0Nl1dLFtbMTI2NDkzLDEyNjQ5M10sXCJtYXBwZWRcIixbMTcyMl1dLFtbMTI2NDk0LDEyNjQ5NF0sXCJtYXBwZWRcIixbMTY5N11dLFtbMTI2NDk1LDEyNjQ5NV0sXCJtYXBwZWRcIixbMTY0N11dLFtbMTI2NDk2LDEyNjQ5Nl0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NDk3LDEyNjQ5N10sXCJtYXBwZWRcIixbMTU3Nl1dLFtbMTI2NDk4LDEyNjQ5OF0sXCJtYXBwZWRcIixbMTU4MF1dLFtbMTI2NDk5LDEyNjQ5OV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTAwLDEyNjUwMF0sXCJtYXBwZWRcIixbMTYwN11dLFtbMTI2NTAxLDEyNjUwMl0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTAzLDEyNjUwM10sXCJtYXBwZWRcIixbMTU4MV1dLFtbMTI2NTA0LDEyNjUwNF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTA1LDEyNjUwNV0sXCJtYXBwZWRcIixbMTYxMF1dLFtbMTI2NTA2LDEyNjUwNl0sXCJtYXBwZWRcIixbMTYwM11dLFtbMTI2NTA3LDEyNjUwN10sXCJtYXBwZWRcIixbMTYwNF1dLFtbMTI2NTA4LDEyNjUwOF0sXCJtYXBwZWRcIixbMTYwNV1dLFtbMTI2NTA5LDEyNjUwOV0sXCJtYXBwZWRcIixbMTYwNl1dLFtbMTI2NTEwLDEyNjUxMF0sXCJtYXBwZWRcIixbMTU4N11dLFtbMTI2NTExLDEyNjUxMV0sXCJtYXBwZWRcIixbMTU5M11dLFtbMTI2NTEyLDEyNjUxMl0sXCJtYXBwZWRcIixbMTYwMV1dLFtbMTI2NTEzLDEyNjUxM10sXCJtYXBwZWRcIixbMTU4OV1dLFtbMTI2NTE0LDEyNjUxNF0sXCJtYXBwZWRcIixbMTYwMl1dLFtbMTI2NTE1LDEyNjUxNV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTE2LDEyNjUxNl0sXCJtYXBwZWRcIixbMTU4OF1dLFtbMTI2NTE3LDEyNjUxN10sXCJtYXBwZWRcIixbMTU3OF1dLFtbMTI2NTE4LDEyNjUxOF0sXCJtYXBwZWRcIixbMTU3OV1dLFtbMTI2NTE5LDEyNjUxOV0sXCJtYXBwZWRcIixbMTU4Ml1dLFtbMTI2NTIwLDEyNjUyMF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTIxLDEyNjUyMV0sXCJtYXBwZWRcIixbMTU5MF1dLFtbMTI2NTIyLDEyNjUyMl0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTIzLDEyNjUyM10sXCJtYXBwZWRcIixbMTU5NF1dLFtbMTI2NTI0LDEyNjUyOV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTMwLDEyNjUzMF0sXCJtYXBwZWRcIixbMTU4MF1dLFtbMTI2NTMxLDEyNjUzNF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTM1LDEyNjUzNV0sXCJtYXBwZWRcIixbMTU4MV1dLFtbMTI2NTM2LDEyNjUzNl0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTM3LDEyNjUzN10sXCJtYXBwZWRcIixbMTYxMF1dLFtbMTI2NTM4LDEyNjUzOF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTM5LDEyNjUzOV0sXCJtYXBwZWRcIixbMTYwNF1dLFtbMTI2NTQwLDEyNjU0MF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTQxLDEyNjU0MV0sXCJtYXBwZWRcIixbMTYwNl1dLFtbMTI2NTQyLDEyNjU0Ml0sXCJtYXBwZWRcIixbMTU4N11dLFtbMTI2NTQzLDEyNjU0M10sXCJtYXBwZWRcIixbMTU5M11dLFtbMTI2NTQ0LDEyNjU0NF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTQ1LDEyNjU0NV0sXCJtYXBwZWRcIixbMTU4OV1dLFtbMTI2NTQ2LDEyNjU0Nl0sXCJtYXBwZWRcIixbMTYwMl1dLFtbMTI2NTQ3LDEyNjU0N10sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTQ4LDEyNjU0OF0sXCJtYXBwZWRcIixbMTU4OF1dLFtbMTI2NTQ5LDEyNjU1MF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTUxLDEyNjU1MV0sXCJtYXBwZWRcIixbMTU4Ml1dLFtbMTI2NTUyLDEyNjU1Ml0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTUzLDEyNjU1M10sXCJtYXBwZWRcIixbMTU5MF1dLFtbMTI2NTU0LDEyNjU1NF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTU1LDEyNjU1NV0sXCJtYXBwZWRcIixbMTU5NF1dLFtbMTI2NTU2LDEyNjU1Nl0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTU3LDEyNjU1N10sXCJtYXBwZWRcIixbMTcyMl1dLFtbMTI2NTU4LDEyNjU1OF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTU5LDEyNjU1OV0sXCJtYXBwZWRcIixbMTY0N11dLFtbMTI2NTYwLDEyNjU2MF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTYxLDEyNjU2MV0sXCJtYXBwZWRcIixbMTU3Nl1dLFtbMTI2NTYyLDEyNjU2Ml0sXCJtYXBwZWRcIixbMTU4MF1dLFtbMTI2NTYzLDEyNjU2M10sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTY0LDEyNjU2NF0sXCJtYXBwZWRcIixbMTYwN11dLFtbMTI2NTY1LDEyNjU2Nl0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTY3LDEyNjU2N10sXCJtYXBwZWRcIixbMTU4MV1dLFtbMTI2NTY4LDEyNjU2OF0sXCJtYXBwZWRcIixbMTU5MV1dLFtbMTI2NTY5LDEyNjU2OV0sXCJtYXBwZWRcIixbMTYxMF1dLFtbMTI2NTcwLDEyNjU3MF0sXCJtYXBwZWRcIixbMTYwM11dLFtbMTI2NTcxLDEyNjU3MV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTcyLDEyNjU3Ml0sXCJtYXBwZWRcIixbMTYwNV1dLFtbMTI2NTczLDEyNjU3M10sXCJtYXBwZWRcIixbMTYwNl1dLFtbMTI2NTc0LDEyNjU3NF0sXCJtYXBwZWRcIixbMTU4N11dLFtbMTI2NTc1LDEyNjU3NV0sXCJtYXBwZWRcIixbMTU5M11dLFtbMTI2NTc2LDEyNjU3Nl0sXCJtYXBwZWRcIixbMTYwMV1dLFtbMTI2NTc3LDEyNjU3N10sXCJtYXBwZWRcIixbMTU4OV1dLFtbMTI2NTc4LDEyNjU3OF0sXCJtYXBwZWRcIixbMTYwMl1dLFtbMTI2NTc5LDEyNjU3OV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTgwLDEyNjU4MF0sXCJtYXBwZWRcIixbMTU4OF1dLFtbMTI2NTgxLDEyNjU4MV0sXCJtYXBwZWRcIixbMTU3OF1dLFtbMTI2NTgyLDEyNjU4Ml0sXCJtYXBwZWRcIixbMTU3OV1dLFtbMTI2NTgzLDEyNjU4M10sXCJtYXBwZWRcIixbMTU4Ml1dLFtbMTI2NTg0LDEyNjU4NF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTg1LDEyNjU4NV0sXCJtYXBwZWRcIixbMTU5MF1dLFtbMTI2NTg2LDEyNjU4Nl0sXCJtYXBwZWRcIixbMTU5Ml1dLFtbMTI2NTg3LDEyNjU4N10sXCJtYXBwZWRcIixbMTU5NF1dLFtbMTI2NTg4LDEyNjU4OF0sXCJtYXBwZWRcIixbMTY0Nl1dLFtbMTI2NTg5LDEyNjU4OV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTkwLDEyNjU5MF0sXCJtYXBwZWRcIixbMTY5N11dLFtbMTI2NTkxLDEyNjU5MV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NTkyLDEyNjU5Ml0sXCJtYXBwZWRcIixbMTU3NV1dLFtbMTI2NTkzLDEyNjU5M10sXCJtYXBwZWRcIixbMTU3Nl1dLFtbMTI2NTk0LDEyNjU5NF0sXCJtYXBwZWRcIixbMTU4MF1dLFtbMTI2NTk1LDEyNjU5NV0sXCJtYXBwZWRcIixbMTU4M11dLFtbMTI2NTk2LDEyNjU5Nl0sXCJtYXBwZWRcIixbMTYwN11dLFtbMTI2NTk3LDEyNjU5N10sXCJtYXBwZWRcIixbMTYwOF1dLFtbMTI2NTk4LDEyNjU5OF0sXCJtYXBwZWRcIixbMTU4Nl1dLFtbMTI2NTk5LDEyNjU5OV0sXCJtYXBwZWRcIixbMTU4MV1dLFtbMTI2NjAwLDEyNjYwMF0sXCJtYXBwZWRcIixbMTU5MV1dLFtbMTI2NjAxLDEyNjYwMV0sXCJtYXBwZWRcIixbMTYxMF1dLFtbMTI2NjAyLDEyNjYwMl0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NjAzLDEyNjYwM10sXCJtYXBwZWRcIixbMTYwNF1dLFtbMTI2NjA0LDEyNjYwNF0sXCJtYXBwZWRcIixbMTYwNV1dLFtbMTI2NjA1LDEyNjYwNV0sXCJtYXBwZWRcIixbMTYwNl1dLFtbMTI2NjA2LDEyNjYwNl0sXCJtYXBwZWRcIixbMTU4N11dLFtbMTI2NjA3LDEyNjYwN10sXCJtYXBwZWRcIixbMTU5M11dLFtbMTI2NjA4LDEyNjYwOF0sXCJtYXBwZWRcIixbMTYwMV1dLFtbMTI2NjA5LDEyNjYwOV0sXCJtYXBwZWRcIixbMTU4OV1dLFtbMTI2NjEwLDEyNjYxMF0sXCJtYXBwZWRcIixbMTYwMl1dLFtbMTI2NjExLDEyNjYxMV0sXCJtYXBwZWRcIixbMTU4NV1dLFtbMTI2NjEyLDEyNjYxMl0sXCJtYXBwZWRcIixbMTU4OF1dLFtbMTI2NjEzLDEyNjYxM10sXCJtYXBwZWRcIixbMTU3OF1dLFtbMTI2NjE0LDEyNjYxNF0sXCJtYXBwZWRcIixbMTU3OV1dLFtbMTI2NjE1LDEyNjYxNV0sXCJtYXBwZWRcIixbMTU4Ml1dLFtbMTI2NjE2LDEyNjYxNl0sXCJtYXBwZWRcIixbMTU4NF1dLFtbMTI2NjE3LDEyNjYxN10sXCJtYXBwZWRcIixbMTU5MF1dLFtbMTI2NjE4LDEyNjYxOF0sXCJtYXBwZWRcIixbMTU5Ml1dLFtbMTI2NjE5LDEyNjYxOV0sXCJtYXBwZWRcIixbMTU5NF1dLFtbMTI2NjIwLDEyNjYyNF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NjI1LDEyNjYyNV0sXCJtYXBwZWRcIixbMTU3Nl1dLFtbMTI2NjI2LDEyNjYyNl0sXCJtYXBwZWRcIixbMTU4MF1dLFtbMTI2NjI3LDEyNjYyN10sXCJtYXBwZWRcIixbMTU4M11dLFtbMTI2NjI4LDEyNjYyOF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NjI5LDEyNjYyOV0sXCJtYXBwZWRcIixbMTYwOF1dLFtbMTI2NjMwLDEyNjYzMF0sXCJtYXBwZWRcIixbMTU4Nl1dLFtbMTI2NjMxLDEyNjYzMV0sXCJtYXBwZWRcIixbMTU4MV1dLFtbMTI2NjMyLDEyNjYzMl0sXCJtYXBwZWRcIixbMTU5MV1dLFtbMTI2NjMzLDEyNjYzM10sXCJtYXBwZWRcIixbMTYxMF1dLFtbMTI2NjM0LDEyNjYzNF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NjM1LDEyNjYzNV0sXCJtYXBwZWRcIixbMTYwNF1dLFtbMTI2NjM2LDEyNjYzNl0sXCJtYXBwZWRcIixbMTYwNV1dLFtbMTI2NjM3LDEyNjYzN10sXCJtYXBwZWRcIixbMTYwNl1dLFtbMTI2NjM4LDEyNjYzOF0sXCJtYXBwZWRcIixbMTU4N11dLFtbMTI2NjM5LDEyNjYzOV0sXCJtYXBwZWRcIixbMTU5M11dLFtbMTI2NjQwLDEyNjY0MF0sXCJtYXBwZWRcIixbMTYwMV1dLFtbMTI2NjQxLDEyNjY0MV0sXCJtYXBwZWRcIixbMTU4OV1dLFtbMTI2NjQyLDEyNjY0Ml0sXCJtYXBwZWRcIixbMTYwMl1dLFtbMTI2NjQzLDEyNjY0M10sXCJtYXBwZWRcIixbMTU4NV1dLFtbMTI2NjQ0LDEyNjY0NF0sXCJtYXBwZWRcIixbMTU4OF1dLFtbMTI2NjQ1LDEyNjY0NV0sXCJtYXBwZWRcIixbMTU3OF1dLFtbMTI2NjQ2LDEyNjY0Nl0sXCJtYXBwZWRcIixbMTU3OV1dLFtbMTI2NjQ3LDEyNjY0N10sXCJtYXBwZWRcIixbMTU4Ml1dLFtbMTI2NjQ4LDEyNjY0OF0sXCJtYXBwZWRcIixbMTU4NF1dLFtbMTI2NjQ5LDEyNjY0OV0sXCJtYXBwZWRcIixbMTU5MF1dLFtbMTI2NjUwLDEyNjY1MF0sXCJtYXBwZWRcIixbMTU5Ml1dLFtbMTI2NjUxLDEyNjY1MV0sXCJtYXBwZWRcIixbMTU5NF1dLFtbMTI2NjUyLDEyNjcwM10sXCJkaXNhbGxvd2VkXCJdLFtbMTI2NzA0LDEyNjcwNV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI2NzA2LDEyNjk3NV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI2OTc2LDEyNzAxOV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3MDIwLDEyNzAyM10sXCJkaXNhbGxvd2VkXCJdLFtbMTI3MDI0LDEyNzEyM10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3MTI0LDEyNzEzNV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI3MTM2LDEyNzE1MF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3MTUxLDEyNzE1Ml0sXCJkaXNhbGxvd2VkXCJdLFtbMTI3MTUzLDEyNzE2Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3MTY3LDEyNzE2N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3MTY4LDEyNzE2OF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI3MTY5LDEyNzE4M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3MTg0LDEyNzE4NF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI3MTg1LDEyNzE5OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3MjAwLDEyNzIyMV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3MjIyLDEyNzIzMV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI3MjMyLDEyNzIzMl0sXCJkaXNhbGxvd2VkXCJdLFtbMTI3MjMzLDEyNzIzM10sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQ4LDQ0XV0sW1sxMjcyMzQsMTI3MjM0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDksNDRdXSxbWzEyNzIzNSwxMjcyMzVdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs1MCw0NF1dLFtbMTI3MjM2LDEyNzIzNl0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzUxLDQ0XV0sW1sxMjcyMzcsMTI3MjM3XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNTIsNDRdXSxbWzEyNzIzOCwxMjcyMzhdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs1Myw0NF1dLFtbMTI3MjM5LDEyNzIzOV0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzU0LDQ0XV0sW1sxMjcyNDAsMTI3MjQwXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNTUsNDRdXSxbWzEyNzI0MSwxMjcyNDFdLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs1Niw0NF1dLFtbMTI3MjQyLDEyNzI0Ml0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzU3LDQ0XV0sW1sxMjcyNDMsMTI3MjQ0XSxcInZhbGlkXCIsW10sXCJOVjhcIl0sW1sxMjcyNDUsMTI3MjQ3XSxcImRpc2FsbG93ZWRcIl0sW1sxMjcyNDgsMTI3MjQ4XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsOTcsNDFdXSxbWzEyNzI0OSwxMjcyNDldLFwiZGlzYWxsb3dlZF9TVEQzX21hcHBlZFwiLFs0MCw5OCw0MV1dLFtbMTI3MjUwLDEyNzI1MF0sXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCIsWzQwLDk5LDQxXV0sW1sxMjcyNTEsMTI3MjUxXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTAwLDQxXV0sW1sxMjcyNTIsMTI3MjUyXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTAxLDQxXV0sW1sxMjcyNTMsMTI3MjUzXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTAyLDQxXV0sW1sxMjcyNTQsMTI3MjU0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTAzLDQxXV0sW1sxMjcyNTUsMTI3MjU1XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTA0LDQxXV0sW1sxMjcyNTYsMTI3MjU2XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTA1LDQxXV0sW1sxMjcyNTcsMTI3MjU3XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTA2LDQxXV0sW1sxMjcyNTgsMTI3MjU4XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTA3LDQxXV0sW1sxMjcyNTksMTI3MjU5XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTA4LDQxXV0sW1sxMjcyNjAsMTI3MjYwXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTA5LDQxXV0sW1sxMjcyNjEsMTI3MjYxXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTEwLDQxXV0sW1sxMjcyNjIsMTI3MjYyXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTExLDQxXV0sW1sxMjcyNjMsMTI3MjYzXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTEyLDQxXV0sW1sxMjcyNjQsMTI3MjY0XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTEzLDQxXV0sW1sxMjcyNjUsMTI3MjY1XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTE0LDQxXV0sW1sxMjcyNjYsMTI3MjY2XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTE1LDQxXV0sW1sxMjcyNjcsMTI3MjY3XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTE2LDQxXV0sW1sxMjcyNjgsMTI3MjY4XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTE3LDQxXV0sW1sxMjcyNjksMTI3MjY5XSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTE4LDQxXV0sW1sxMjcyNzAsMTI3MjcwXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTE5LDQxXV0sW1sxMjcyNzEsMTI3MjcxXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTIwLDQxXV0sW1sxMjcyNzIsMTI3MjcyXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTIxLDQxXV0sW1sxMjcyNzMsMTI3MjczXSxcImRpc2FsbG93ZWRfU1REM19tYXBwZWRcIixbNDAsMTIyLDQxXV0sW1sxMjcyNzQsMTI3Mjc0XSxcIm1hcHBlZFwiLFsxMjMwOCwxMTUsMTIzMDldXSxbWzEyNzI3NSwxMjcyNzVdLFwibWFwcGVkXCIsWzk5XV0sW1sxMjcyNzYsMTI3Mjc2XSxcIm1hcHBlZFwiLFsxMTRdXSxbWzEyNzI3NywxMjcyNzddLFwibWFwcGVkXCIsWzk5LDEwMF1dLFtbMTI3Mjc4LDEyNzI3OF0sXCJtYXBwZWRcIixbMTE5LDEyMl1dLFtbMTI3Mjc5LDEyNzI3OV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI3MjgwLDEyNzI4MF0sXCJtYXBwZWRcIixbOTddXSxbWzEyNzI4MSwxMjcyODFdLFwibWFwcGVkXCIsWzk4XV0sW1sxMjcyODIsMTI3MjgyXSxcIm1hcHBlZFwiLFs5OV1dLFtbMTI3MjgzLDEyNzI4M10sXCJtYXBwZWRcIixbMTAwXV0sW1sxMjcyODQsMTI3Mjg0XSxcIm1hcHBlZFwiLFsxMDFdXSxbWzEyNzI4NSwxMjcyODVdLFwibWFwcGVkXCIsWzEwMl1dLFtbMTI3Mjg2LDEyNzI4Nl0sXCJtYXBwZWRcIixbMTAzXV0sW1sxMjcyODcsMTI3Mjg3XSxcIm1hcHBlZFwiLFsxMDRdXSxbWzEyNzI4OCwxMjcyODhdLFwibWFwcGVkXCIsWzEwNV1dLFtbMTI3Mjg5LDEyNzI4OV0sXCJtYXBwZWRcIixbMTA2XV0sW1sxMjcyOTAsMTI3MjkwXSxcIm1hcHBlZFwiLFsxMDddXSxbWzEyNzI5MSwxMjcyOTFdLFwibWFwcGVkXCIsWzEwOF1dLFtbMTI3MjkyLDEyNzI5Ml0sXCJtYXBwZWRcIixbMTA5XV0sW1sxMjcyOTMsMTI3MjkzXSxcIm1hcHBlZFwiLFsxMTBdXSxbWzEyNzI5NCwxMjcyOTRdLFwibWFwcGVkXCIsWzExMV1dLFtbMTI3Mjk1LDEyNzI5NV0sXCJtYXBwZWRcIixbMTEyXV0sW1sxMjcyOTYsMTI3Mjk2XSxcIm1hcHBlZFwiLFsxMTNdXSxbWzEyNzI5NywxMjcyOTddLFwibWFwcGVkXCIsWzExNF1dLFtbMTI3Mjk4LDEyNzI5OF0sXCJtYXBwZWRcIixbMTE1XV0sW1sxMjcyOTksMTI3Mjk5XSxcIm1hcHBlZFwiLFsxMTZdXSxbWzEyNzMwMCwxMjczMDBdLFwibWFwcGVkXCIsWzExN11dLFtbMTI3MzAxLDEyNzMwMV0sXCJtYXBwZWRcIixbMTE4XV0sW1sxMjczMDIsMTI3MzAyXSxcIm1hcHBlZFwiLFsxMTldXSxbWzEyNzMwMywxMjczMDNdLFwibWFwcGVkXCIsWzEyMF1dLFtbMTI3MzA0LDEyNzMwNF0sXCJtYXBwZWRcIixbMTIxXV0sW1sxMjczMDUsMTI3MzA1XSxcIm1hcHBlZFwiLFsxMjJdXSxbWzEyNzMwNiwxMjczMDZdLFwibWFwcGVkXCIsWzEwNCwxMThdXSxbWzEyNzMwNywxMjczMDddLFwibWFwcGVkXCIsWzEwOSwxMThdXSxbWzEyNzMwOCwxMjczMDhdLFwibWFwcGVkXCIsWzExNSwxMDBdXSxbWzEyNzMwOSwxMjczMDldLFwibWFwcGVkXCIsWzExNSwxMTVdXSxbWzEyNzMxMCwxMjczMTBdLFwibWFwcGVkXCIsWzExMiwxMTIsMTE4XV0sW1sxMjczMTEsMTI3MzExXSxcIm1hcHBlZFwiLFsxMTksOTldXSxbWzEyNzMxMiwxMjczMThdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEyNzMxOSwxMjczMTldLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEyNzMyMCwxMjczMjZdLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEyNzMyNywxMjczMjddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEyNzMyOCwxMjczMzddLFwidmFsaWRcIixbXSxcIk5WOFwiXSxbWzEyNzMzOCwxMjczMzhdLFwibWFwcGVkXCIsWzEwOSw5OV1dLFtbMTI3MzM5LDEyNzMzOV0sXCJtYXBwZWRcIixbMTA5LDEwMF1dLFtbMTI3MzQwLDEyNzM0M10sXCJkaXNhbGxvd2VkXCJdLFtbMTI3MzQ0LDEyNzM1Ml0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3MzUzLDEyNzM1M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3MzU0LDEyNzM1NF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3MzU1LDEyNzM1Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3MzU3LDEyNzM1OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3MzU5LDEyNzM1OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3MzYwLDEyNzM2OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3MzcwLDEyNzM3M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3Mzc0LDEyNzM3NV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3Mzc2LDEyNzM3Nl0sXCJtYXBwZWRcIixbMTAwLDEwNl1dLFtbMTI3Mzc3LDEyNzM4Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3Mzg3LDEyNzQ2MV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI3NDYyLDEyNzQ4N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3NDg4LDEyNzQ4OF0sXCJtYXBwZWRcIixbMTI0MTEsMTIzNjNdXSxbWzEyNzQ4OSwxMjc0ODldLFwibWFwcGVkXCIsWzEyNDY3LDEyNDY3XV0sW1sxMjc0OTAsMTI3NDkwXSxcIm1hcHBlZFwiLFsxMjQ2OV1dLFtbMTI3NDkxLDEyNzUwM10sXCJkaXNhbGxvd2VkXCJdLFtbMTI3NTA0LDEyNzUwNF0sXCJtYXBwZWRcIixbMjUxNjNdXSxbWzEyNzUwNSwxMjc1MDVdLFwibWFwcGVkXCIsWzIzMzgzXV0sW1sxMjc1MDYsMTI3NTA2XSxcIm1hcHBlZFwiLFsyMTQ1Ml1dLFtbMTI3NTA3LDEyNzUwN10sXCJtYXBwZWRcIixbMTI0ODddXSxbWzEyNzUwOCwxMjc1MDhdLFwibWFwcGVkXCIsWzIwMTA4XV0sW1sxMjc1MDksMTI3NTA5XSxcIm1hcHBlZFwiLFsyMjgxMF1dLFtbMTI3NTEwLDEyNzUxMF0sXCJtYXBwZWRcIixbMzUyOTldXSxbWzEyNzUxMSwxMjc1MTFdLFwibWFwcGVkXCIsWzIyODI1XV0sW1sxMjc1MTIsMTI3NTEyXSxcIm1hcHBlZFwiLFsyMDEzMl1dLFtbMTI3NTEzLDEyNzUxM10sXCJtYXBwZWRcIixbMjYxNDRdXSxbWzEyNzUxNCwxMjc1MTRdLFwibWFwcGVkXCIsWzI4OTYxXV0sW1sxMjc1MTUsMTI3NTE1XSxcIm1hcHBlZFwiLFsyNjAwOV1dLFtbMTI3NTE2LDEyNzUxNl0sXCJtYXBwZWRcIixbMjEwNjldXSxbWzEyNzUxNywxMjc1MTddLFwibWFwcGVkXCIsWzI0NDYwXV0sW1sxMjc1MTgsMTI3NTE4XSxcIm1hcHBlZFwiLFsyMDg3N11dLFtbMTI3NTE5LDEyNzUxOV0sXCJtYXBwZWRcIixbMjYwMzJdXSxbWzEyNzUyMCwxMjc1MjBdLFwibWFwcGVkXCIsWzIxMDIxXV0sW1sxMjc1MjEsMTI3NTIxXSxcIm1hcHBlZFwiLFszMjA2Nl1dLFtbMTI3NTIyLDEyNzUyMl0sXCJtYXBwZWRcIixbMjk5ODNdXSxbWzEyNzUyMywxMjc1MjNdLFwibWFwcGVkXCIsWzM2MDA5XV0sW1sxMjc1MjQsMTI3NTI0XSxcIm1hcHBlZFwiLFsyMjc2OF1dLFtbMTI3NTI1LDEyNzUyNV0sXCJtYXBwZWRcIixbMjE1NjFdXSxbWzEyNzUyNiwxMjc1MjZdLFwibWFwcGVkXCIsWzI4NDM2XV0sW1sxMjc1MjcsMTI3NTI3XSxcIm1hcHBlZFwiLFsyNTIzN11dLFtbMTI3NTI4LDEyNzUyOF0sXCJtYXBwZWRcIixbMjU0MjldXSxbWzEyNzUyOSwxMjc1MjldLFwibWFwcGVkXCIsWzE5OTY4XV0sW1sxMjc1MzAsMTI3NTMwXSxcIm1hcHBlZFwiLFsxOTk3N11dLFtbMTI3NTMxLDEyNzUzMV0sXCJtYXBwZWRcIixbMzY5MzhdXSxbWzEyNzUzMiwxMjc1MzJdLFwibWFwcGVkXCIsWzI0MDM4XV0sW1sxMjc1MzMsMTI3NTMzXSxcIm1hcHBlZFwiLFsyMDAxM11dLFtbMTI3NTM0LDEyNzUzNF0sXCJtYXBwZWRcIixbMjE0OTFdXSxbWzEyNzUzNSwxMjc1MzVdLFwibWFwcGVkXCIsWzI1MzUxXV0sW1sxMjc1MzYsMTI3NTM2XSxcIm1hcHBlZFwiLFszNjIwOF1dLFtbMTI3NTM3LDEyNzUzN10sXCJtYXBwZWRcIixbMjUxNzFdXSxbWzEyNzUzOCwxMjc1MzhdLFwibWFwcGVkXCIsWzMxMTA1XV0sW1sxMjc1MzksMTI3NTM5XSxcIm1hcHBlZFwiLFszMTM1NF1dLFtbMTI3NTQwLDEyNzU0MF0sXCJtYXBwZWRcIixbMjE1MTJdXSxbWzEyNzU0MSwxMjc1NDFdLFwibWFwcGVkXCIsWzI4Mjg4XV0sW1sxMjc1NDIsMTI3NTQyXSxcIm1hcHBlZFwiLFsyNjM3N11dLFtbMTI3NTQzLDEyNzU0M10sXCJtYXBwZWRcIixbMjYzNzZdXSxbWzEyNzU0NCwxMjc1NDRdLFwibWFwcGVkXCIsWzMwMDAzXV0sW1sxMjc1NDUsMTI3NTQ1XSxcIm1hcHBlZFwiLFsyMTEwNl1dLFtbMTI3NTQ2LDEyNzU0Nl0sXCJtYXBwZWRcIixbMjE5NDJdXSxbWzEyNzU0NywxMjc1NTFdLFwiZGlzYWxsb3dlZFwiXSxbWzEyNzU1MiwxMjc1NTJdLFwibWFwcGVkXCIsWzEyMzA4LDI2NDEyLDEyMzA5XV0sW1sxMjc1NTMsMTI3NTUzXSxcIm1hcHBlZFwiLFsxMjMwOCwxOTk3NywxMjMwOV1dLFtbMTI3NTU0LDEyNzU1NF0sXCJtYXBwZWRcIixbMTIzMDgsMjAxMDgsMTIzMDldXSxbWzEyNzU1NSwxMjc1NTVdLFwibWFwcGVkXCIsWzEyMzA4LDIzNDMzLDEyMzA5XV0sW1sxMjc1NTYsMTI3NTU2XSxcIm1hcHBlZFwiLFsxMjMwOCwyODg1NywxMjMwOV1dLFtbMTI3NTU3LDEyNzU1N10sXCJtYXBwZWRcIixbMTIzMDgsMjUxNzEsMTIzMDldXSxbWzEyNzU1OCwxMjc1NThdLFwibWFwcGVkXCIsWzEyMzA4LDMwNDIzLDEyMzA5XV0sW1sxMjc1NTksMTI3NTU5XSxcIm1hcHBlZFwiLFsxMjMwOCwyMTIxMywxMjMwOV1dLFtbMTI3NTYwLDEyNzU2MF0sXCJtYXBwZWRcIixbMTIzMDgsMjU5NDMsMTIzMDldXSxbWzEyNzU2MSwxMjc1NjddLFwiZGlzYWxsb3dlZFwiXSxbWzEyNzU2OCwxMjc1NjhdLFwibWFwcGVkXCIsWzI0NDcxXV0sW1sxMjc1NjksMTI3NTY5XSxcIm1hcHBlZFwiLFsyMTQ4N11dLFtbMTI3NTcwLDEyNzc0M10sXCJkaXNhbGxvd2VkXCJdLFtbMTI3NzQ0LDEyNzc3Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3Nzc3LDEyNzc4OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3Nzg5LDEyNzc5MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3NzkyLDEyNzc5N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3Nzk4LDEyNzc5OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3Nzk5LDEyNzg2OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3ODY5LDEyNzg2OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3ODcwLDEyNzg3MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3ODcyLDEyNzg5MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3ODkyLDEyNzkwM10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3OTA0LDEyNzk0MF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3OTQxLDEyNzk0MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3OTQyLDEyNzk0Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3OTQ3LDEyNzk1MF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3OTUxLDEyNzk1NV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3OTU2LDEyNzk2N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3OTY4LDEyNzk4NF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3OTg1LDEyNzk5MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI3OTkyLDEyNzk5OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MDAwLDEyODA2Ml0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MDYzLDEyODA2M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MDY0LDEyODA2NF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MDY1LDEyODA2NV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MDY2LDEyODI0N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MjQ4LDEyODI0OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MjQ5LDEyODI1Ml0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MjUzLDEyODI1NF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MjU1LDEyODI1NV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MjU2LDEyODMxN10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MzE4LDEyODMxOV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MzIwLDEyODMyM10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MzI0LDEyODMzMF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MzMxLDEyODMzNV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MzM2LDEyODM1OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4MzYwLDEyODM3N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4Mzc4LDEyODM3OF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI4Mzc5LDEyODQxOV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NDIwLDEyODQyMF0sXCJkaXNhbGxvd2VkXCJdLFtbMTI4NDIxLDEyODUwNl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTA3LDEyODUxMV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTEyLDEyODUxMl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTEzLDEyODUyOF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTI5LDEyODUyOV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTMwLDEyODUzMl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTMzLDEyODUzM10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTM0LDEyODUzNF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTM1LDEyODUzNV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTM2LDEyODUzNl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTM3LDEyODUzN10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTM4LDEyODUzOF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTM5LDEyODUzOV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTQwLDEyODU0Ml0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTQzLDEyODU0M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTQ0LDEyODU0OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTUwLDEyODU1MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTUyLDEyODU1NV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTU2LDEyODU1Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTU3LDEyODU1N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTU4LDEyODU1OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTYwLDEyODU2M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTY0LDEyODU2NF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTY1LDEyODU3Nl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTc3LDEyODU3OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTc5LDEyODU4MF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTgxLDEyODU5MV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NTkyLDEyODYzOV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NjQwLDEyODcwOV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NzEwLDEyODcxOV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NzIwLDEyODcyMF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NzIxLDEyODczNV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI4NzM2LDEyODc0OF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NzQ5LDEyODc1MV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI4NzUyLDEyODc1NV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4NzU2LDEyODc2N10sXCJkaXNhbGxvd2VkXCJdLFtbMTI4NzY4LDEyODg4M10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4ODg0LDEyODg5NV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI4ODk2LDEyODk4MF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI4OTgxLDEyOTAyM10sXCJkaXNhbGxvd2VkXCJdLFtbMTI5MDI0LDEyOTAzNV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI5MDM2LDEyOTAzOV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI5MDQwLDEyOTA5NV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI5MDk2LDEyOTEwM10sXCJkaXNhbGxvd2VkXCJdLFtbMTI5MTA0LDEyOTExM10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI5MTE0LDEyOTExOV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI5MTIwLDEyOTE1OV0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI5MTYwLDEyOTE2N10sXCJkaXNhbGxvd2VkXCJdLFtbMTI5MTY4LDEyOTE5N10sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI5MTk4LDEyOTI5NV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI5Mjk2LDEyOTMwNF0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI5MzA1LDEyOTQwN10sXCJkaXNhbGxvd2VkXCJdLFtbMTI5NDA4LDEyOTQxMl0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI5NDEzLDEyOTQ3MV0sXCJkaXNhbGxvd2VkXCJdLFtbMTI5NDcyLDEyOTQ3Ml0sXCJ2YWxpZFwiLFtdLFwiTlY4XCJdLFtbMTI5NDczLDEzMTA2OV0sXCJkaXNhbGxvd2VkXCJdLFtbMTMxMDcwLDEzMTA3MV0sXCJkaXNhbGxvd2VkXCJdLFtbMTMxMDcyLDE3Mzc4Ml0sXCJ2YWxpZFwiXSxbWzE3Mzc4MywxNzM4MjNdLFwiZGlzYWxsb3dlZFwiXSxbWzE3MzgyNCwxNzc5NzJdLFwidmFsaWRcIl0sW1sxNzc5NzMsMTc3OTgzXSxcImRpc2FsbG93ZWRcIl0sW1sxNzc5ODQsMTc4MjA1XSxcInZhbGlkXCJdLFtbMTc4MjA2LDE3ODIwN10sXCJkaXNhbGxvd2VkXCJdLFtbMTc4MjA4LDE4Mzk2OV0sXCJ2YWxpZFwiXSxbWzE4Mzk3MCwxOTQ1NTldLFwiZGlzYWxsb3dlZFwiXSxbWzE5NDU2MCwxOTQ1NjBdLFwibWFwcGVkXCIsWzIwMDI5XV0sW1sxOTQ1NjEsMTk0NTYxXSxcIm1hcHBlZFwiLFsyMDAyNF1dLFtbMTk0NTYyLDE5NDU2Ml0sXCJtYXBwZWRcIixbMjAwMzNdXSxbWzE5NDU2MywxOTQ1NjNdLFwibWFwcGVkXCIsWzEzMTM2Ml1dLFtbMTk0NTY0LDE5NDU2NF0sXCJtYXBwZWRcIixbMjAzMjBdXSxbWzE5NDU2NSwxOTQ1NjVdLFwibWFwcGVkXCIsWzIwMzk4XV0sW1sxOTQ1NjYsMTk0NTY2XSxcIm1hcHBlZFwiLFsyMDQxMV1dLFtbMTk0NTY3LDE5NDU2N10sXCJtYXBwZWRcIixbMjA0ODJdXSxbWzE5NDU2OCwxOTQ1NjhdLFwibWFwcGVkXCIsWzIwNjAyXV0sW1sxOTQ1NjksMTk0NTY5XSxcIm1hcHBlZFwiLFsyMDYzM11dLFtbMTk0NTcwLDE5NDU3MF0sXCJtYXBwZWRcIixbMjA3MTFdXSxbWzE5NDU3MSwxOTQ1NzFdLFwibWFwcGVkXCIsWzIwNjg3XV0sW1sxOTQ1NzIsMTk0NTcyXSxcIm1hcHBlZFwiLFsxMzQ3MF1dLFtbMTk0NTczLDE5NDU3M10sXCJtYXBwZWRcIixbMTMyNjY2XV0sW1sxOTQ1NzQsMTk0NTc0XSxcIm1hcHBlZFwiLFsyMDgxM11dLFtbMTk0NTc1LDE5NDU3NV0sXCJtYXBwZWRcIixbMjA4MjBdXSxbWzE5NDU3NiwxOTQ1NzZdLFwibWFwcGVkXCIsWzIwODM2XV0sW1sxOTQ1NzcsMTk0NTc3XSxcIm1hcHBlZFwiLFsyMDg1NV1dLFtbMTk0NTc4LDE5NDU3OF0sXCJtYXBwZWRcIixbMTMyMzgwXV0sW1sxOTQ1NzksMTk0NTc5XSxcIm1hcHBlZFwiLFsxMzQ5N11dLFtbMTk0NTgwLDE5NDU4MF0sXCJtYXBwZWRcIixbMjA4MzldXSxbWzE5NDU4MSwxOTQ1ODFdLFwibWFwcGVkXCIsWzIwODc3XV0sW1sxOTQ1ODIsMTk0NTgyXSxcIm1hcHBlZFwiLFsxMzI0MjddXSxbWzE5NDU4MywxOTQ1ODNdLFwibWFwcGVkXCIsWzIwODg3XV0sW1sxOTQ1ODQsMTk0NTg0XSxcIm1hcHBlZFwiLFsyMDkwMF1dLFtbMTk0NTg1LDE5NDU4NV0sXCJtYXBwZWRcIixbMjAxNzJdXSxbWzE5NDU4NiwxOTQ1ODZdLFwibWFwcGVkXCIsWzIwOTA4XV0sW1sxOTQ1ODcsMTk0NTg3XSxcIm1hcHBlZFwiLFsyMDkxN11dLFtbMTk0NTg4LDE5NDU4OF0sXCJtYXBwZWRcIixbMTY4NDE1XV0sW1sxOTQ1ODksMTk0NTg5XSxcIm1hcHBlZFwiLFsyMDk4MV1dLFtbMTk0NTkwLDE5NDU5MF0sXCJtYXBwZWRcIixbMjA5OTVdXSxbWzE5NDU5MSwxOTQ1OTFdLFwibWFwcGVkXCIsWzEzNTM1XV0sW1sxOTQ1OTIsMTk0NTkyXSxcIm1hcHBlZFwiLFsyMTA1MV1dLFtbMTk0NTkzLDE5NDU5M10sXCJtYXBwZWRcIixbMjEwNjJdXSxbWzE5NDU5NCwxOTQ1OTRdLFwibWFwcGVkXCIsWzIxMTA2XV0sW1sxOTQ1OTUsMTk0NTk1XSxcIm1hcHBlZFwiLFsyMTExMV1dLFtbMTk0NTk2LDE5NDU5Nl0sXCJtYXBwZWRcIixbMTM1ODldXSxbWzE5NDU5NywxOTQ1OTddLFwibWFwcGVkXCIsWzIxMTkxXV0sW1sxOTQ1OTgsMTk0NTk4XSxcIm1hcHBlZFwiLFsyMTE5M11dLFtbMTk0NTk5LDE5NDU5OV0sXCJtYXBwZWRcIixbMjEyMjBdXSxbWzE5NDYwMCwxOTQ2MDBdLFwibWFwcGVkXCIsWzIxMjQyXV0sW1sxOTQ2MDEsMTk0NjAxXSxcIm1hcHBlZFwiLFsyMTI1M11dLFtbMTk0NjAyLDE5NDYwMl0sXCJtYXBwZWRcIixbMjEyNTRdXSxbWzE5NDYwMywxOTQ2MDNdLFwibWFwcGVkXCIsWzIxMjcxXV0sW1sxOTQ2MDQsMTk0NjA0XSxcIm1hcHBlZFwiLFsyMTMyMV1dLFtbMTk0NjA1LDE5NDYwNV0sXCJtYXBwZWRcIixbMjEzMjldXSxbWzE5NDYwNiwxOTQ2MDZdLFwibWFwcGVkXCIsWzIxMzM4XV0sW1sxOTQ2MDcsMTk0NjA3XSxcIm1hcHBlZFwiLFsyMTM2M11dLFtbMTk0NjA4LDE5NDYwOF0sXCJtYXBwZWRcIixbMjEzNzNdXSxbWzE5NDYwOSwxOTQ2MTFdLFwibWFwcGVkXCIsWzIxMzc1XV0sW1sxOTQ2MTIsMTk0NjEyXSxcIm1hcHBlZFwiLFsxMzM2NzZdXSxbWzE5NDYxMywxOTQ2MTNdLFwibWFwcGVkXCIsWzI4Nzg0XV0sW1sxOTQ2MTQsMTk0NjE0XSxcIm1hcHBlZFwiLFsyMTQ1MF1dLFtbMTk0NjE1LDE5NDYxNV0sXCJtYXBwZWRcIixbMjE0NzFdXSxbWzE5NDYxNiwxOTQ2MTZdLFwibWFwcGVkXCIsWzEzMzk4N11dLFtbMTk0NjE3LDE5NDYxN10sXCJtYXBwZWRcIixbMjE0ODNdXSxbWzE5NDYxOCwxOTQ2MThdLFwibWFwcGVkXCIsWzIxNDg5XV0sW1sxOTQ2MTksMTk0NjE5XSxcIm1hcHBlZFwiLFsyMTUxMF1dLFtbMTk0NjIwLDE5NDYyMF0sXCJtYXBwZWRcIixbMjE2NjJdXSxbWzE5NDYyMSwxOTQ2MjFdLFwibWFwcGVkXCIsWzIxNTYwXV0sW1sxOTQ2MjIsMTk0NjIyXSxcIm1hcHBlZFwiLFsyMTU3Nl1dLFtbMTk0NjIzLDE5NDYyM10sXCJtYXBwZWRcIixbMjE2MDhdXSxbWzE5NDYyNCwxOTQ2MjRdLFwibWFwcGVkXCIsWzIxNjY2XV0sW1sxOTQ2MjUsMTk0NjI1XSxcIm1hcHBlZFwiLFsyMTc1MF1dLFtbMTk0NjI2LDE5NDYyNl0sXCJtYXBwZWRcIixbMjE3NzZdXSxbWzE5NDYyNywxOTQ2MjddLFwibWFwcGVkXCIsWzIxODQzXV0sW1sxOTQ2MjgsMTk0NjI4XSxcIm1hcHBlZFwiLFsyMTg1OV1dLFtbMTk0NjI5LDE5NDYzMF0sXCJtYXBwZWRcIixbMjE4OTJdXSxbWzE5NDYzMSwxOTQ2MzFdLFwibWFwcGVkXCIsWzIxOTEzXV0sW1sxOTQ2MzIsMTk0NjMyXSxcIm1hcHBlZFwiLFsyMTkzMV1dLFtbMTk0NjMzLDE5NDYzM10sXCJtYXBwZWRcIixbMjE5MzldXSxbWzE5NDYzNCwxOTQ2MzRdLFwibWFwcGVkXCIsWzIxOTU0XV0sW1sxOTQ2MzUsMTk0NjM1XSxcIm1hcHBlZFwiLFsyMjI5NF1dLFtbMTk0NjM2LDE5NDYzNl0sXCJtYXBwZWRcIixbMjIwMjJdXSxbWzE5NDYzNywxOTQ2MzddLFwibWFwcGVkXCIsWzIyMjk1XV0sW1sxOTQ2MzgsMTk0NjM4XSxcIm1hcHBlZFwiLFsyMjA5N11dLFtbMTk0NjM5LDE5NDYzOV0sXCJtYXBwZWRcIixbMjIxMzJdXSxbWzE5NDY0MCwxOTQ2NDBdLFwibWFwcGVkXCIsWzIwOTk5XV0sW1sxOTQ2NDEsMTk0NjQxXSxcIm1hcHBlZFwiLFsyMjc2Nl1dLFtbMTk0NjQyLDE5NDY0Ml0sXCJtYXBwZWRcIixbMjI0NzhdXSxbWzE5NDY0MywxOTQ2NDNdLFwibWFwcGVkXCIsWzIyNTE2XV0sW1sxOTQ2NDQsMTk0NjQ0XSxcIm1hcHBlZFwiLFsyMjU0MV1dLFtbMTk0NjQ1LDE5NDY0NV0sXCJtYXBwZWRcIixbMjI0MTFdXSxbWzE5NDY0NiwxOTQ2NDZdLFwibWFwcGVkXCIsWzIyNTc4XV0sW1sxOTQ2NDcsMTk0NjQ3XSxcIm1hcHBlZFwiLFsyMjU3N11dLFtbMTk0NjQ4LDE5NDY0OF0sXCJtYXBwZWRcIixbMjI3MDBdXSxbWzE5NDY0OSwxOTQ2NDldLFwibWFwcGVkXCIsWzEzNjQyMF1dLFtbMTk0NjUwLDE5NDY1MF0sXCJtYXBwZWRcIixbMjI3NzBdXSxbWzE5NDY1MSwxOTQ2NTFdLFwibWFwcGVkXCIsWzIyNzc1XV0sW1sxOTQ2NTIsMTk0NjUyXSxcIm1hcHBlZFwiLFsyMjc5MF1dLFtbMTk0NjUzLDE5NDY1M10sXCJtYXBwZWRcIixbMjI4MTBdXSxbWzE5NDY1NCwxOTQ2NTRdLFwibWFwcGVkXCIsWzIyODE4XV0sW1sxOTQ2NTUsMTk0NjU1XSxcIm1hcHBlZFwiLFsyMjg4Ml1dLFtbMTk0NjU2LDE5NDY1Nl0sXCJtYXBwZWRcIixbMTM2ODcyXV0sW1sxOTQ2NTcsMTk0NjU3XSxcIm1hcHBlZFwiLFsxMzY5MzhdXSxbWzE5NDY1OCwxOTQ2NThdLFwibWFwcGVkXCIsWzIzMDIwXV0sW1sxOTQ2NTksMTk0NjU5XSxcIm1hcHBlZFwiLFsyMzA2N11dLFtbMTk0NjYwLDE5NDY2MF0sXCJtYXBwZWRcIixbMjMwNzldXSxbWzE5NDY2MSwxOTQ2NjFdLFwibWFwcGVkXCIsWzIzMDAwXV0sW1sxOTQ2NjIsMTk0NjYyXSxcIm1hcHBlZFwiLFsyMzE0Ml1dLFtbMTk0NjYzLDE5NDY2M10sXCJtYXBwZWRcIixbMTQwNjJdXSxbWzE5NDY2NCwxOTQ2NjRdLFwiZGlzYWxsb3dlZFwiXSxbWzE5NDY2NSwxOTQ2NjVdLFwibWFwcGVkXCIsWzIzMzA0XV0sW1sxOTQ2NjYsMTk0NjY3XSxcIm1hcHBlZFwiLFsyMzM1OF1dLFtbMTk0NjY4LDE5NDY2OF0sXCJtYXBwZWRcIixbMTM3NjcyXV0sW1sxOTQ2NjksMTk0NjY5XSxcIm1hcHBlZFwiLFsyMzQ5MV1dLFtbMTk0NjcwLDE5NDY3MF0sXCJtYXBwZWRcIixbMjM1MTJdXSxbWzE5NDY3MSwxOTQ2NzFdLFwibWFwcGVkXCIsWzIzNTI3XV0sW1sxOTQ2NzIsMTk0NjcyXSxcIm1hcHBlZFwiLFsyMzUzOV1dLFtbMTk0NjczLDE5NDY3M10sXCJtYXBwZWRcIixbMTM4MDA4XV0sW1sxOTQ2NzQsMTk0Njc0XSxcIm1hcHBlZFwiLFsyMzU1MV1dLFtbMTk0Njc1LDE5NDY3NV0sXCJtYXBwZWRcIixbMjM1NThdXSxbWzE5NDY3NiwxOTQ2NzZdLFwiZGlzYWxsb3dlZFwiXSxbWzE5NDY3NywxOTQ2NzddLFwibWFwcGVkXCIsWzIzNTg2XV0sW1sxOTQ2NzgsMTk0Njc4XSxcIm1hcHBlZFwiLFsxNDIwOV1dLFtbMTk0Njc5LDE5NDY3OV0sXCJtYXBwZWRcIixbMjM2NDhdXSxbWzE5NDY4MCwxOTQ2ODBdLFwibWFwcGVkXCIsWzIzNjYyXV0sW1sxOTQ2ODEsMTk0NjgxXSxcIm1hcHBlZFwiLFsyMzc0NF1dLFtbMTk0NjgyLDE5NDY4Ml0sXCJtYXBwZWRcIixbMjM2OTNdXSxbWzE5NDY4MywxOTQ2ODNdLFwibWFwcGVkXCIsWzEzODcyNF1dLFtbMTk0Njg0LDE5NDY4NF0sXCJtYXBwZWRcIixbMjM4NzVdXSxbWzE5NDY4NSwxOTQ2ODVdLFwibWFwcGVkXCIsWzEzODcyNl1dLFtbMTk0Njg2LDE5NDY4Nl0sXCJtYXBwZWRcIixbMjM5MThdXSxbWzE5NDY4NywxOTQ2ODddLFwibWFwcGVkXCIsWzIzOTE1XV0sW1sxOTQ2ODgsMTk0Njg4XSxcIm1hcHBlZFwiLFsyMzkzMl1dLFtbMTk0Njg5LDE5NDY4OV0sXCJtYXBwZWRcIixbMjQwMzNdXSxbWzE5NDY5MCwxOTQ2OTBdLFwibWFwcGVkXCIsWzI0MDM0XV0sW1sxOTQ2OTEsMTk0NjkxXSxcIm1hcHBlZFwiLFsxNDM4M11dLFtbMTk0NjkyLDE5NDY5Ml0sXCJtYXBwZWRcIixbMjQwNjFdXSxbWzE5NDY5MywxOTQ2OTNdLFwibWFwcGVkXCIsWzI0MTA0XV0sW1sxOTQ2OTQsMTk0Njk0XSxcIm1hcHBlZFwiLFsyNDEyNV1dLFtbMTk0Njk1LDE5NDY5NV0sXCJtYXBwZWRcIixbMjQxNjldXSxbWzE5NDY5NiwxOTQ2OTZdLFwibWFwcGVkXCIsWzE0NDM0XV0sW1sxOTQ2OTcsMTk0Njk3XSxcIm1hcHBlZFwiLFsxMzk2NTFdXSxbWzE5NDY5OCwxOTQ2OThdLFwibWFwcGVkXCIsWzE0NDYwXV0sW1sxOTQ2OTksMTk0Njk5XSxcIm1hcHBlZFwiLFsyNDI0MF1dLFtbMTk0NzAwLDE5NDcwMF0sXCJtYXBwZWRcIixbMjQyNDNdXSxbWzE5NDcwMSwxOTQ3MDFdLFwibWFwcGVkXCIsWzI0MjQ2XV0sW1sxOTQ3MDIsMTk0NzAyXSxcIm1hcHBlZFwiLFsyNDI2Nl1dLFtbMTk0NzAzLDE5NDcwM10sXCJtYXBwZWRcIixbMTcyOTQ2XV0sW1sxOTQ3MDQsMTk0NzA0XSxcIm1hcHBlZFwiLFsyNDMxOF1dLFtbMTk0NzA1LDE5NDcwNl0sXCJtYXBwZWRcIixbMTQwMDgxXV0sW1sxOTQ3MDcsMTk0NzA3XSxcIm1hcHBlZFwiLFszMzI4MV1dLFtbMTk0NzA4LDE5NDcwOV0sXCJtYXBwZWRcIixbMjQzNTRdXSxbWzE5NDcxMCwxOTQ3MTBdLFwibWFwcGVkXCIsWzE0NTM1XV0sW1sxOTQ3MTEsMTk0NzExXSxcIm1hcHBlZFwiLFsxNDQwNTZdXSxbWzE5NDcxMiwxOTQ3MTJdLFwibWFwcGVkXCIsWzE1NjEyMl1dLFtbMTk0NzEzLDE5NDcxM10sXCJtYXBwZWRcIixbMjQ0MThdXSxbWzE5NDcxNCwxOTQ3MTRdLFwibWFwcGVkXCIsWzI0NDI3XV0sW1sxOTQ3MTUsMTk0NzE1XSxcIm1hcHBlZFwiLFsxNDU2M11dLFtbMTk0NzE2LDE5NDcxNl0sXCJtYXBwZWRcIixbMjQ0NzRdXSxbWzE5NDcxNywxOTQ3MTddLFwibWFwcGVkXCIsWzI0NTI1XV0sW1sxOTQ3MTgsMTk0NzE4XSxcIm1hcHBlZFwiLFsyNDUzNV1dLFtbMTk0NzE5LDE5NDcxOV0sXCJtYXBwZWRcIixbMjQ1NjldXSxbWzE5NDcyMCwxOTQ3MjBdLFwibWFwcGVkXCIsWzI0NzA1XV0sW1sxOTQ3MjEsMTk0NzIxXSxcIm1hcHBlZFwiLFsxNDY1MF1dLFtbMTk0NzIyLDE5NDcyMl0sXCJtYXBwZWRcIixbMTQ2MjBdXSxbWzE5NDcyMywxOTQ3MjNdLFwibWFwcGVkXCIsWzI0NzI0XV0sW1sxOTQ3MjQsMTk0NzI0XSxcIm1hcHBlZFwiLFsxNDEwMTJdXSxbWzE5NDcyNSwxOTQ3MjVdLFwibWFwcGVkXCIsWzI0Nzc1XV0sW1sxOTQ3MjYsMTk0NzI2XSxcIm1hcHBlZFwiLFsyNDkwNF1dLFtbMTk0NzI3LDE5NDcyN10sXCJtYXBwZWRcIixbMjQ5MDhdXSxbWzE5NDcyOCwxOTQ3MjhdLFwibWFwcGVkXCIsWzI0OTEwXV0sW1sxOTQ3MjksMTk0NzI5XSxcIm1hcHBlZFwiLFsyNDkwOF1dLFtbMTk0NzMwLDE5NDczMF0sXCJtYXBwZWRcIixbMjQ5NTRdXSxbWzE5NDczMSwxOTQ3MzFdLFwibWFwcGVkXCIsWzI0OTc0XV0sW1sxOTQ3MzIsMTk0NzMyXSxcIm1hcHBlZFwiLFsyNTAxMF1dLFtbMTk0NzMzLDE5NDczM10sXCJtYXBwZWRcIixbMjQ5OTZdXSxbWzE5NDczNCwxOTQ3MzRdLFwibWFwcGVkXCIsWzI1MDA3XV0sW1sxOTQ3MzUsMTk0NzM1XSxcIm1hcHBlZFwiLFsyNTA1NF1dLFtbMTk0NzM2LDE5NDczNl0sXCJtYXBwZWRcIixbMjUwNzRdXSxbWzE5NDczNywxOTQ3MzddLFwibWFwcGVkXCIsWzI1MDc4XV0sW1sxOTQ3MzgsMTk0NzM4XSxcIm1hcHBlZFwiLFsyNTEwNF1dLFtbMTk0NzM5LDE5NDczOV0sXCJtYXBwZWRcIixbMjUxMTVdXSxbWzE5NDc0MCwxOTQ3NDBdLFwibWFwcGVkXCIsWzI1MTgxXV0sW1sxOTQ3NDEsMTk0NzQxXSxcIm1hcHBlZFwiLFsyNTI2NV1dLFtbMTk0NzQyLDE5NDc0Ml0sXCJtYXBwZWRcIixbMjUzMDBdXSxbWzE5NDc0MywxOTQ3NDNdLFwibWFwcGVkXCIsWzI1NDI0XV0sW1sxOTQ3NDQsMTk0NzQ0XSxcIm1hcHBlZFwiLFsxNDIwOTJdXSxbWzE5NDc0NSwxOTQ3NDVdLFwibWFwcGVkXCIsWzI1NDA1XV0sW1sxOTQ3NDYsMTk0NzQ2XSxcIm1hcHBlZFwiLFsyNTM0MF1dLFtbMTk0NzQ3LDE5NDc0N10sXCJtYXBwZWRcIixbMjU0NDhdXSxbWzE5NDc0OCwxOTQ3NDhdLFwibWFwcGVkXCIsWzI1NDc1XV0sW1sxOTQ3NDksMTk0NzQ5XSxcIm1hcHBlZFwiLFsyNTU3Ml1dLFtbMTk0NzUwLDE5NDc1MF0sXCJtYXBwZWRcIixbMTQyMzIxXV0sW1sxOTQ3NTEsMTk0NzUxXSxcIm1hcHBlZFwiLFsyNTYzNF1dLFtbMTk0NzUyLDE5NDc1Ml0sXCJtYXBwZWRcIixbMjU1NDFdXSxbWzE5NDc1MywxOTQ3NTNdLFwibWFwcGVkXCIsWzI1NTEzXV0sW1sxOTQ3NTQsMTk0NzU0XSxcIm1hcHBlZFwiLFsxNDg5NF1dLFtbMTk0NzU1LDE5NDc1NV0sXCJtYXBwZWRcIixbMjU3MDVdXSxbWzE5NDc1NiwxOTQ3NTZdLFwibWFwcGVkXCIsWzI1NzI2XV0sW1sxOTQ3NTcsMTk0NzU3XSxcIm1hcHBlZFwiLFsyNTc1N11dLFtbMTk0NzU4LDE5NDc1OF0sXCJtYXBwZWRcIixbMjU3MTldXSxbWzE5NDc1OSwxOTQ3NTldLFwibWFwcGVkXCIsWzE0OTU2XV0sW1sxOTQ3NjAsMTk0NzYwXSxcIm1hcHBlZFwiLFsyNTkzNV1dLFtbMTk0NzYxLDE5NDc2MV0sXCJtYXBwZWRcIixbMjU5NjRdXSxbWzE5NDc2MiwxOTQ3NjJdLFwibWFwcGVkXCIsWzE0MzM3MF1dLFtbMTk0NzYzLDE5NDc2M10sXCJtYXBwZWRcIixbMjYwODNdXSxbWzE5NDc2NCwxOTQ3NjRdLFwibWFwcGVkXCIsWzI2MzYwXV0sW1sxOTQ3NjUsMTk0NzY1XSxcIm1hcHBlZFwiLFsyNjE4NV1dLFtbMTk0NzY2LDE5NDc2Nl0sXCJtYXBwZWRcIixbMTUxMjldXSxbWzE5NDc2NywxOTQ3NjddLFwibWFwcGVkXCIsWzI2MjU3XV0sW1sxOTQ3NjgsMTk0NzY4XSxcIm1hcHBlZFwiLFsxNTExMl1dLFtbMTk0NzY5LDE5NDc2OV0sXCJtYXBwZWRcIixbMTUwNzZdXSxbWzE5NDc3MCwxOTQ3NzBdLFwibWFwcGVkXCIsWzIwODgyXV0sW1sxOTQ3NzEsMTk0NzcxXSxcIm1hcHBlZFwiLFsyMDg4NV1dLFtbMTk0NzcyLDE5NDc3Ml0sXCJtYXBwZWRcIixbMjYzNjhdXSxbWzE5NDc3MywxOTQ3NzNdLFwibWFwcGVkXCIsWzI2MjY4XV0sW1sxOTQ3NzQsMTk0Nzc0XSxcIm1hcHBlZFwiLFszMjk0MV1dLFtbMTk0Nzc1LDE5NDc3NV0sXCJtYXBwZWRcIixbMTczNjldXSxbWzE5NDc3NiwxOTQ3NzZdLFwibWFwcGVkXCIsWzI2MzkxXV0sW1sxOTQ3NzcsMTk0Nzc3XSxcIm1hcHBlZFwiLFsyNjM5NV1dLFtbMTk0Nzc4LDE5NDc3OF0sXCJtYXBwZWRcIixbMjY0MDFdXSxbWzE5NDc3OSwxOTQ3NzldLFwibWFwcGVkXCIsWzI2NDYyXV0sW1sxOTQ3ODAsMTk0NzgwXSxcIm1hcHBlZFwiLFsyNjQ1MV1dLFtbMTk0NzgxLDE5NDc4MV0sXCJtYXBwZWRcIixbMTQ0MzIzXV0sW1sxOTQ3ODIsMTk0NzgyXSxcIm1hcHBlZFwiLFsxNTE3N11dLFtbMTk0NzgzLDE5NDc4M10sXCJtYXBwZWRcIixbMjY2MThdXSxbWzE5NDc4NCwxOTQ3ODRdLFwibWFwcGVkXCIsWzI2NTAxXV0sW1sxOTQ3ODUsMTk0Nzg1XSxcIm1hcHBlZFwiLFsyNjcwNl1dLFtbMTk0Nzg2LDE5NDc4Nl0sXCJtYXBwZWRcIixbMjY3NTddXSxbWzE5NDc4NywxOTQ3ODddLFwibWFwcGVkXCIsWzE0NDQ5M11dLFtbMTk0Nzg4LDE5NDc4OF0sXCJtYXBwZWRcIixbMjY3NjZdXSxbWzE5NDc4OSwxOTQ3ODldLFwibWFwcGVkXCIsWzI2NjU1XV0sW1sxOTQ3OTAsMTk0NzkwXSxcIm1hcHBlZFwiLFsyNjkwMF1dLFtbMTk0NzkxLDE5NDc5MV0sXCJtYXBwZWRcIixbMTUyNjFdXSxbWzE5NDc5MiwxOTQ3OTJdLFwibWFwcGVkXCIsWzI2OTQ2XV0sW1sxOTQ3OTMsMTk0NzkzXSxcIm1hcHBlZFwiLFsyNzA0M11dLFtbMTk0Nzk0LDE5NDc5NF0sXCJtYXBwZWRcIixbMjcxMTRdXSxbWzE5NDc5NSwxOTQ3OTVdLFwibWFwcGVkXCIsWzI3MzA0XV0sW1sxOTQ3OTYsMTk0Nzk2XSxcIm1hcHBlZFwiLFsxNDUwNTldXSxbWzE5NDc5NywxOTQ3OTddLFwibWFwcGVkXCIsWzI3MzU1XV0sW1sxOTQ3OTgsMTk0Nzk4XSxcIm1hcHBlZFwiLFsxNTM4NF1dLFtbMTk0Nzk5LDE5NDc5OV0sXCJtYXBwZWRcIixbMjc0MjVdXSxbWzE5NDgwMCwxOTQ4MDBdLFwibWFwcGVkXCIsWzE0NTU3NV1dLFtbMTk0ODAxLDE5NDgwMV0sXCJtYXBwZWRcIixbMjc0NzZdXSxbWzE5NDgwMiwxOTQ4MDJdLFwibWFwcGVkXCIsWzE1NDM4XV0sW1sxOTQ4MDMsMTk0ODAzXSxcIm1hcHBlZFwiLFsyNzUwNl1dLFtbMTk0ODA0LDE5NDgwNF0sXCJtYXBwZWRcIixbMjc1NTFdXSxbWzE5NDgwNSwxOTQ4MDVdLFwibWFwcGVkXCIsWzI3NTc4XV0sW1sxOTQ4MDYsMTk0ODA2XSxcIm1hcHBlZFwiLFsyNzU3OV1dLFtbMTk0ODA3LDE5NDgwN10sXCJtYXBwZWRcIixbMTQ2MDYxXV0sW1sxOTQ4MDgsMTk0ODA4XSxcIm1hcHBlZFwiLFsxMzg1MDddXSxbWzE5NDgwOSwxOTQ4MDldLFwibWFwcGVkXCIsWzE0NjE3MF1dLFtbMTk0ODEwLDE5NDgxMF0sXCJtYXBwZWRcIixbMjc3MjZdXSxbWzE5NDgxMSwxOTQ4MTFdLFwibWFwcGVkXCIsWzE0NjYyMF1dLFtbMTk0ODEyLDE5NDgxMl0sXCJtYXBwZWRcIixbMjc4MzldXSxbWzE5NDgxMywxOTQ4MTNdLFwibWFwcGVkXCIsWzI3ODUzXV0sW1sxOTQ4MTQsMTk0ODE0XSxcIm1hcHBlZFwiLFsyNzc1MV1dLFtbMTk0ODE1LDE5NDgxNV0sXCJtYXBwZWRcIixbMjc5MjZdXSxbWzE5NDgxNiwxOTQ4MTZdLFwibWFwcGVkXCIsWzI3OTY2XV0sW1sxOTQ4MTcsMTk0ODE3XSxcIm1hcHBlZFwiLFsyODAyM11dLFtbMTk0ODE4LDE5NDgxOF0sXCJtYXBwZWRcIixbMjc5NjldXSxbWzE5NDgxOSwxOTQ4MTldLFwibWFwcGVkXCIsWzI4MDA5XV0sW1sxOTQ4MjAsMTk0ODIwXSxcIm1hcHBlZFwiLFsyODAyNF1dLFtbMTk0ODIxLDE5NDgyMV0sXCJtYXBwZWRcIixbMjgwMzddXSxbWzE5NDgyMiwxOTQ4MjJdLFwibWFwcGVkXCIsWzE0NjcxOF1dLFtbMTk0ODIzLDE5NDgyM10sXCJtYXBwZWRcIixbMjc5NTZdXSxbWzE5NDgyNCwxOTQ4MjRdLFwibWFwcGVkXCIsWzI4MjA3XV0sW1sxOTQ4MjUsMTk0ODI1XSxcIm1hcHBlZFwiLFsyODI3MF1dLFtbMTk0ODI2LDE5NDgyNl0sXCJtYXBwZWRcIixbMTU2NjddXSxbWzE5NDgyNywxOTQ4MjddLFwibWFwcGVkXCIsWzI4MzYzXV0sW1sxOTQ4MjgsMTk0ODI4XSxcIm1hcHBlZFwiLFsyODM1OV1dLFtbMTk0ODI5LDE5NDgyOV0sXCJtYXBwZWRcIixbMTQ3MTUzXV0sW1sxOTQ4MzAsMTk0ODMwXSxcIm1hcHBlZFwiLFsyODE1M11dLFtbMTk0ODMxLDE5NDgzMV0sXCJtYXBwZWRcIixbMjg1MjZdXSxbWzE5NDgzMiwxOTQ4MzJdLFwibWFwcGVkXCIsWzE0NzI5NF1dLFtbMTk0ODMzLDE5NDgzM10sXCJtYXBwZWRcIixbMTQ3MzQyXV0sW1sxOTQ4MzQsMTk0ODM0XSxcIm1hcHBlZFwiLFsyODYxNF1dLFtbMTk0ODM1LDE5NDgzNV0sXCJtYXBwZWRcIixbMjg3MjldXSxbWzE5NDgzNiwxOTQ4MzZdLFwibWFwcGVkXCIsWzI4NzAyXV0sW1sxOTQ4MzcsMTk0ODM3XSxcIm1hcHBlZFwiLFsyODY5OV1dLFtbMTk0ODM4LDE5NDgzOF0sXCJtYXBwZWRcIixbMTU3NjZdXSxbWzE5NDgzOSwxOTQ4MzldLFwibWFwcGVkXCIsWzI4NzQ2XV0sW1sxOTQ4NDAsMTk0ODQwXSxcIm1hcHBlZFwiLFsyODc5N11dLFtbMTk0ODQxLDE5NDg0MV0sXCJtYXBwZWRcIixbMjg3OTFdXSxbWzE5NDg0MiwxOTQ4NDJdLFwibWFwcGVkXCIsWzI4ODQ1XV0sW1sxOTQ4NDMsMTk0ODQzXSxcIm1hcHBlZFwiLFsxMzIzODldXSxbWzE5NDg0NCwxOTQ4NDRdLFwibWFwcGVkXCIsWzI4OTk3XV0sW1sxOTQ4NDUsMTk0ODQ1XSxcIm1hcHBlZFwiLFsxNDgwNjddXSxbWzE5NDg0NiwxOTQ4NDZdLFwibWFwcGVkXCIsWzI5MDg0XV0sW1sxOTQ4NDcsMTk0ODQ3XSxcImRpc2FsbG93ZWRcIl0sW1sxOTQ4NDgsMTk0ODQ4XSxcIm1hcHBlZFwiLFsyOTIyNF1dLFtbMTk0ODQ5LDE5NDg0OV0sXCJtYXBwZWRcIixbMjkyMzddXSxbWzE5NDg1MCwxOTQ4NTBdLFwibWFwcGVkXCIsWzI5MjY0XV0sW1sxOTQ4NTEsMTk0ODUxXSxcIm1hcHBlZFwiLFsxNDkwMDBdXSxbWzE5NDg1MiwxOTQ4NTJdLFwibWFwcGVkXCIsWzI5MzEyXV0sW1sxOTQ4NTMsMTk0ODUzXSxcIm1hcHBlZFwiLFsyOTMzM11dLFtbMTk0ODU0LDE5NDg1NF0sXCJtYXBwZWRcIixbMTQ5MzAxXV0sW1sxOTQ4NTUsMTk0ODU1XSxcIm1hcHBlZFwiLFsxNDk1MjRdXSxbWzE5NDg1NiwxOTQ4NTZdLFwibWFwcGVkXCIsWzI5NTYyXV0sW1sxOTQ4NTcsMTk0ODU3XSxcIm1hcHBlZFwiLFsyOTU3OV1dLFtbMTk0ODU4LDE5NDg1OF0sXCJtYXBwZWRcIixbMTYwNDRdXSxbWzE5NDg1OSwxOTQ4NTldLFwibWFwcGVkXCIsWzI5NjA1XV0sW1sxOTQ4NjAsMTk0ODYxXSxcIm1hcHBlZFwiLFsxNjA1Nl1dLFtbMTk0ODYyLDE5NDg2Ml0sXCJtYXBwZWRcIixbMjk3NjddXSxbWzE5NDg2MywxOTQ4NjNdLFwibWFwcGVkXCIsWzI5Nzg4XV0sW1sxOTQ4NjQsMTk0ODY0XSxcIm1hcHBlZFwiLFsyOTgwOV1dLFtbMTk0ODY1LDE5NDg2NV0sXCJtYXBwZWRcIixbMjk4MjldXSxbWzE5NDg2NiwxOTQ4NjZdLFwibWFwcGVkXCIsWzI5ODk4XV0sW1sxOTQ4NjcsMTk0ODY3XSxcIm1hcHBlZFwiLFsxNjE1NV1dLFtbMTk0ODY4LDE5NDg2OF0sXCJtYXBwZWRcIixbMjk5ODhdXSxbWzE5NDg2OSwxOTQ4NjldLFwibWFwcGVkXCIsWzE1MDU4Ml1dLFtbMTk0ODcwLDE5NDg3MF0sXCJtYXBwZWRcIixbMzAwMTRdXSxbWzE5NDg3MSwxOTQ4NzFdLFwibWFwcGVkXCIsWzE1MDY3NF1dLFtbMTk0ODcyLDE5NDg3Ml0sXCJtYXBwZWRcIixbMzAwNjRdXSxbWzE5NDg3MywxOTQ4NzNdLFwibWFwcGVkXCIsWzEzOTY3OV1dLFtbMTk0ODc0LDE5NDg3NF0sXCJtYXBwZWRcIixbMzAyMjRdXSxbWzE5NDg3NSwxOTQ4NzVdLFwibWFwcGVkXCIsWzE1MTQ1N11dLFtbMTk0ODc2LDE5NDg3Nl0sXCJtYXBwZWRcIixbMTUxNDgwXV0sW1sxOTQ4NzcsMTk0ODc3XSxcIm1hcHBlZFwiLFsxNTE2MjBdXSxbWzE5NDg3OCwxOTQ4NzhdLFwibWFwcGVkXCIsWzE2MzgwXV0sW1sxOTQ4NzksMTk0ODc5XSxcIm1hcHBlZFwiLFsxNjM5Ml1dLFtbMTk0ODgwLDE5NDg4MF0sXCJtYXBwZWRcIixbMzA0NTJdXSxbWzE5NDg4MSwxOTQ4ODFdLFwibWFwcGVkXCIsWzE1MTc5NV1dLFtbMTk0ODgyLDE5NDg4Ml0sXCJtYXBwZWRcIixbMTUxNzk0XV0sW1sxOTQ4ODMsMTk0ODgzXSxcIm1hcHBlZFwiLFsxNTE4MzNdXSxbWzE5NDg4NCwxOTQ4ODRdLFwibWFwcGVkXCIsWzE1MTg1OV1dLFtbMTk0ODg1LDE5NDg4NV0sXCJtYXBwZWRcIixbMzA0OTRdXSxbWzE5NDg4NiwxOTQ4ODddLFwibWFwcGVkXCIsWzMwNDk1XV0sW1sxOTQ4ODgsMTk0ODg4XSxcIm1hcHBlZFwiLFszMDUzOF1dLFtbMTk0ODg5LDE5NDg4OV0sXCJtYXBwZWRcIixbMTY0NDFdXSxbWzE5NDg5MCwxOTQ4OTBdLFwibWFwcGVkXCIsWzMwNjAzXV0sW1sxOTQ4OTEsMTk0ODkxXSxcIm1hcHBlZFwiLFsxNjQ1NF1dLFtbMTk0ODkyLDE5NDg5Ml0sXCJtYXBwZWRcIixbMTY1MzRdXSxbWzE5NDg5MywxOTQ4OTNdLFwibWFwcGVkXCIsWzE1MjYwNV1dLFtbMTk0ODk0LDE5NDg5NF0sXCJtYXBwZWRcIixbMzA3OThdXSxbWzE5NDg5NSwxOTQ4OTVdLFwibWFwcGVkXCIsWzMwODYwXV0sW1sxOTQ4OTYsMTk0ODk2XSxcIm1hcHBlZFwiLFszMDkyNF1dLFtbMTk0ODk3LDE5NDg5N10sXCJtYXBwZWRcIixbMTY2MTFdXSxbWzE5NDg5OCwxOTQ4OThdLFwibWFwcGVkXCIsWzE1MzEyNl1dLFtbMTk0ODk5LDE5NDg5OV0sXCJtYXBwZWRcIixbMzEwNjJdXSxbWzE5NDkwMCwxOTQ5MDBdLFwibWFwcGVkXCIsWzE1MzI0Ml1dLFtbMTk0OTAxLDE5NDkwMV0sXCJtYXBwZWRcIixbMTUzMjg1XV0sW1sxOTQ5MDIsMTk0OTAyXSxcIm1hcHBlZFwiLFszMTExOV1dLFtbMTk0OTAzLDE5NDkwM10sXCJtYXBwZWRcIixbMzEyMTFdXSxbWzE5NDkwNCwxOTQ5MDRdLFwibWFwcGVkXCIsWzE2Njg3XV0sW1sxOTQ5MDUsMTk0OTA1XSxcIm1hcHBlZFwiLFszMTI5Nl1dLFtbMTk0OTA2LDE5NDkwNl0sXCJtYXBwZWRcIixbMzEzMDZdXSxbWzE5NDkwNywxOTQ5MDddLFwibWFwcGVkXCIsWzMxMzExXV0sW1sxOTQ5MDgsMTk0OTA4XSxcIm1hcHBlZFwiLFsxNTM5ODBdXSxbWzE5NDkwOSwxOTQ5MTBdLFwibWFwcGVkXCIsWzE1NDI3OV1dLFtbMTk0OTExLDE5NDkxMV0sXCJkaXNhbGxvd2VkXCJdLFtbMTk0OTEyLDE5NDkxMl0sXCJtYXBwZWRcIixbMTY4OThdXSxbWzE5NDkxMywxOTQ5MTNdLFwibWFwcGVkXCIsWzE1NDUzOV1dLFtbMTk0OTE0LDE5NDkxNF0sXCJtYXBwZWRcIixbMzE2ODZdXSxbWzE5NDkxNSwxOTQ5MTVdLFwibWFwcGVkXCIsWzMxNjg5XV0sW1sxOTQ5MTYsMTk0OTE2XSxcIm1hcHBlZFwiLFsxNjkzNV1dLFtbMTk0OTE3LDE5NDkxN10sXCJtYXBwZWRcIixbMTU0NzUyXV0sW1sxOTQ5MTgsMTk0OTE4XSxcIm1hcHBlZFwiLFszMTk1NF1dLFtbMTk0OTE5LDE5NDkxOV0sXCJtYXBwZWRcIixbMTcwNTZdXSxbWzE5NDkyMCwxOTQ5MjBdLFwibWFwcGVkXCIsWzMxOTc2XV0sW1sxOTQ5MjEsMTk0OTIxXSxcIm1hcHBlZFwiLFszMTk3MV1dLFtbMTk0OTIyLDE5NDkyMl0sXCJtYXBwZWRcIixbMzIwMDBdXSxbWzE5NDkyMywxOTQ5MjNdLFwibWFwcGVkXCIsWzE1NTUyNl1dLFtbMTk0OTI0LDE5NDkyNF0sXCJtYXBwZWRcIixbMzIwOTldXSxbWzE5NDkyNSwxOTQ5MjVdLFwibWFwcGVkXCIsWzE3MTUzXV0sW1sxOTQ5MjYsMTk0OTI2XSxcIm1hcHBlZFwiLFszMjE5OV1dLFtbMTk0OTI3LDE5NDkyN10sXCJtYXBwZWRcIixbMzIyNThdXSxbWzE5NDkyOCwxOTQ5MjhdLFwibWFwcGVkXCIsWzMyMzI1XV0sW1sxOTQ5MjksMTk0OTI5XSxcIm1hcHBlZFwiLFsxNzIwNF1dLFtbMTk0OTMwLDE5NDkzMF0sXCJtYXBwZWRcIixbMTU2MjAwXV0sW1sxOTQ5MzEsMTk0OTMxXSxcIm1hcHBlZFwiLFsxNTYyMzFdXSxbWzE5NDkzMiwxOTQ5MzJdLFwibWFwcGVkXCIsWzE3MjQxXV0sW1sxOTQ5MzMsMTk0OTMzXSxcIm1hcHBlZFwiLFsxNTYzNzddXSxbWzE5NDkzNCwxOTQ5MzRdLFwibWFwcGVkXCIsWzMyNjM0XV0sW1sxOTQ5MzUsMTk0OTM1XSxcIm1hcHBlZFwiLFsxNTY0NzhdXSxbWzE5NDkzNiwxOTQ5MzZdLFwibWFwcGVkXCIsWzMyNjYxXV0sW1sxOTQ5MzcsMTk0OTM3XSxcIm1hcHBlZFwiLFszMjc2Ml1dLFtbMTk0OTM4LDE5NDkzOF0sXCJtYXBwZWRcIixbMzI3NzNdXSxbWzE5NDkzOSwxOTQ5MzldLFwibWFwcGVkXCIsWzE1Njg5MF1dLFtbMTk0OTQwLDE5NDk0MF0sXCJtYXBwZWRcIixbMTU2OTYzXV0sW1sxOTQ5NDEsMTk0OTQxXSxcIm1hcHBlZFwiLFszMjg2NF1dLFtbMTk0OTQyLDE5NDk0Ml0sXCJtYXBwZWRcIixbMTU3MDk2XV0sW1sxOTQ5NDMsMTk0OTQzXSxcIm1hcHBlZFwiLFszMjg4MF1dLFtbMTk0OTQ0LDE5NDk0NF0sXCJtYXBwZWRcIixbMTQ0MjIzXV0sW1sxOTQ5NDUsMTk0OTQ1XSxcIm1hcHBlZFwiLFsxNzM2NV1dLFtbMTk0OTQ2LDE5NDk0Nl0sXCJtYXBwZWRcIixbMzI5NDZdXSxbWzE5NDk0NywxOTQ5NDddLFwibWFwcGVkXCIsWzMzMDI3XV0sW1sxOTQ5NDgsMTk0OTQ4XSxcIm1hcHBlZFwiLFsxNzQxOV1dLFtbMTk0OTQ5LDE5NDk0OV0sXCJtYXBwZWRcIixbMzMwODZdXSxbWzE5NDk1MCwxOTQ5NTBdLFwibWFwcGVkXCIsWzIzMjIxXV0sW1sxOTQ5NTEsMTk0OTUxXSxcIm1hcHBlZFwiLFsxNTc2MDddXSxbWzE5NDk1MiwxOTQ5NTJdLFwibWFwcGVkXCIsWzE1NzYyMV1dLFtbMTk0OTUzLDE5NDk1M10sXCJtYXBwZWRcIixbMTQ0Mjc1XV0sW1sxOTQ5NTQsMTk0OTU0XSxcIm1hcHBlZFwiLFsxNDQyODRdXSxbWzE5NDk1NSwxOTQ5NTVdLFwibWFwcGVkXCIsWzMzMjgxXV0sW1sxOTQ5NTYsMTk0OTU2XSxcIm1hcHBlZFwiLFszMzI4NF1dLFtbMTk0OTU3LDE5NDk1N10sXCJtYXBwZWRcIixbMzY3NjZdXSxbWzE5NDk1OCwxOTQ5NThdLFwibWFwcGVkXCIsWzE3NTE1XV0sW1sxOTQ5NTksMTk0OTU5XSxcIm1hcHBlZFwiLFszMzQyNV1dLFtbMTk0OTYwLDE5NDk2MF0sXCJtYXBwZWRcIixbMzM0MTldXSxbWzE5NDk2MSwxOTQ5NjFdLFwibWFwcGVkXCIsWzMzNDM3XV0sW1sxOTQ5NjIsMTk0OTYyXSxcIm1hcHBlZFwiLFsyMTE3MV1dLFtbMTk0OTYzLDE5NDk2M10sXCJtYXBwZWRcIixbMzM0NTddXSxbWzE5NDk2NCwxOTQ5NjRdLFwibWFwcGVkXCIsWzMzNDU5XV0sW1sxOTQ5NjUsMTk0OTY1XSxcIm1hcHBlZFwiLFszMzQ2OV1dLFtbMTk0OTY2LDE5NDk2Nl0sXCJtYXBwZWRcIixbMzM1MTBdXSxbWzE5NDk2NywxOTQ5NjddLFwibWFwcGVkXCIsWzE1ODUyNF1dLFtbMTk0OTY4LDE5NDk2OF0sXCJtYXBwZWRcIixbMzM1MDldXSxbWzE5NDk2OSwxOTQ5NjldLFwibWFwcGVkXCIsWzMzNTY1XV0sW1sxOTQ5NzAsMTk0OTcwXSxcIm1hcHBlZFwiLFszMzYzNV1dLFtbMTk0OTcxLDE5NDk3MV0sXCJtYXBwZWRcIixbMzM3MDldXSxbWzE5NDk3MiwxOTQ5NzJdLFwibWFwcGVkXCIsWzMzNTcxXV0sW1sxOTQ5NzMsMTk0OTczXSxcIm1hcHBlZFwiLFszMzcyNV1dLFtbMTk0OTc0LDE5NDk3NF0sXCJtYXBwZWRcIixbMzM3NjddXSxbWzE5NDk3NSwxOTQ5NzVdLFwibWFwcGVkXCIsWzMzODc5XV0sW1sxOTQ5NzYsMTk0OTc2XSxcIm1hcHBlZFwiLFszMzYxOV1dLFtbMTk0OTc3LDE5NDk3N10sXCJtYXBwZWRcIixbMzM3MzhdXSxbWzE5NDk3OCwxOTQ5NzhdLFwibWFwcGVkXCIsWzMzNzQwXV0sW1sxOTQ5NzksMTk0OTc5XSxcIm1hcHBlZFwiLFszMzc1Nl1dLFtbMTk0OTgwLDE5NDk4MF0sXCJtYXBwZWRcIixbMTU4Nzc0XV0sW1sxOTQ5ODEsMTk0OTgxXSxcIm1hcHBlZFwiLFsxNTkwODNdXSxbWzE5NDk4MiwxOTQ5ODJdLFwibWFwcGVkXCIsWzE1ODkzM11dLFtbMTk0OTgzLDE5NDk4M10sXCJtYXBwZWRcIixbMTc3MDddXSxbWzE5NDk4NCwxOTQ5ODRdLFwibWFwcGVkXCIsWzM0MDMzXV0sW1sxOTQ5ODUsMTk0OTg1XSxcIm1hcHBlZFwiLFszNDAzNV1dLFtbMTk0OTg2LDE5NDk4Nl0sXCJtYXBwZWRcIixbMzQwNzBdXSxbWzE5NDk4NywxOTQ5ODddLFwibWFwcGVkXCIsWzE2MDcxNF1dLFtbMTk0OTg4LDE5NDk4OF0sXCJtYXBwZWRcIixbMzQxNDhdXSxbWzE5NDk4OSwxOTQ5ODldLFwibWFwcGVkXCIsWzE1OTUzMl1dLFtbMTk0OTkwLDE5NDk5MF0sXCJtYXBwZWRcIixbMTc3NTddXSxbWzE5NDk5MSwxOTQ5OTFdLFwibWFwcGVkXCIsWzE3NzYxXV0sW1sxOTQ5OTIsMTk0OTkyXSxcIm1hcHBlZFwiLFsxNTk2NjVdXSxbWzE5NDk5MywxOTQ5OTNdLFwibWFwcGVkXCIsWzE1OTk1NF1dLFtbMTk0OTk0LDE5NDk5NF0sXCJtYXBwZWRcIixbMTc3NzFdXSxbWzE5NDk5NSwxOTQ5OTVdLFwibWFwcGVkXCIsWzM0Mzg0XV0sW1sxOTQ5OTYsMTk0OTk2XSxcIm1hcHBlZFwiLFszNDM5Nl1dLFtbMTk0OTk3LDE5NDk5N10sXCJtYXBwZWRcIixbMzQ0MDddXSxbWzE5NDk5OCwxOTQ5OThdLFwibWFwcGVkXCIsWzM0NDA5XV0sW1sxOTQ5OTksMTk0OTk5XSxcIm1hcHBlZFwiLFszNDQ3M11dLFtbMTk1MDAwLDE5NTAwMF0sXCJtYXBwZWRcIixbMzQ0NDBdXSxbWzE5NTAwMSwxOTUwMDFdLFwibWFwcGVkXCIsWzM0NTc0XV0sW1sxOTUwMDIsMTk1MDAyXSxcIm1hcHBlZFwiLFszNDUzMF1dLFtbMTk1MDAzLDE5NTAwM10sXCJtYXBwZWRcIixbMzQ2ODFdXSxbWzE5NTAwNCwxOTUwMDRdLFwibWFwcGVkXCIsWzM0NjAwXV0sW1sxOTUwMDUsMTk1MDA1XSxcIm1hcHBlZFwiLFszNDY2N11dLFtbMTk1MDA2LDE5NTAwNl0sXCJtYXBwZWRcIixbMzQ2OTRdXSxbWzE5NTAwNywxOTUwMDddLFwiZGlzYWxsb3dlZFwiXSxbWzE5NTAwOCwxOTUwMDhdLFwibWFwcGVkXCIsWzM0Nzg1XV0sW1sxOTUwMDksMTk1MDA5XSxcIm1hcHBlZFwiLFszNDgxN11dLFtbMTk1MDEwLDE5NTAxMF0sXCJtYXBwZWRcIixbMTc5MTNdXSxbWzE5NTAxMSwxOTUwMTFdLFwibWFwcGVkXCIsWzM0OTEyXV0sW1sxOTUwMTIsMTk1MDEyXSxcIm1hcHBlZFwiLFszNDkxNV1dLFtbMTk1MDEzLDE5NTAxM10sXCJtYXBwZWRcIixbMTYxMzgzXV0sW1sxOTUwMTQsMTk1MDE0XSxcIm1hcHBlZFwiLFszNTAzMV1dLFtbMTk1MDE1LDE5NTAxNV0sXCJtYXBwZWRcIixbMzUwMzhdXSxbWzE5NTAxNiwxOTUwMTZdLFwibWFwcGVkXCIsWzE3OTczXV0sW1sxOTUwMTcsMTk1MDE3XSxcIm1hcHBlZFwiLFszNTA2Nl1dLFtbMTk1MDE4LDE5NTAxOF0sXCJtYXBwZWRcIixbMTM0OTldXSxbWzE5NTAxOSwxOTUwMTldLFwibWFwcGVkXCIsWzE2MTk2Nl1dLFtbMTk1MDIwLDE5NTAyMF0sXCJtYXBwZWRcIixbMTYyMTUwXV0sW1sxOTUwMjEsMTk1MDIxXSxcIm1hcHBlZFwiLFsxODExMF1dLFtbMTk1MDIyLDE5NTAyMl0sXCJtYXBwZWRcIixbMTgxMTldXSxbWzE5NTAyMywxOTUwMjNdLFwibWFwcGVkXCIsWzM1NDg4XV0sW1sxOTUwMjQsMTk1MDI0XSxcIm1hcHBlZFwiLFszNTU2NV1dLFtbMTk1MDI1LDE5NTAyNV0sXCJtYXBwZWRcIixbMzU3MjJdXSxbWzE5NTAyNiwxOTUwMjZdLFwibWFwcGVkXCIsWzM1OTI1XV0sW1sxOTUwMjcsMTk1MDI3XSxcIm1hcHBlZFwiLFsxNjI5ODRdXSxbWzE5NTAyOCwxOTUwMjhdLFwibWFwcGVkXCIsWzM2MDExXV0sW1sxOTUwMjksMTk1MDI5XSxcIm1hcHBlZFwiLFszNjAzM11dLFtbMTk1MDMwLDE5NTAzMF0sXCJtYXBwZWRcIixbMzYxMjNdXSxbWzE5NTAzMSwxOTUwMzFdLFwibWFwcGVkXCIsWzM2MjE1XV0sW1sxOTUwMzIsMTk1MDMyXSxcIm1hcHBlZFwiLFsxNjM2MzFdXSxbWzE5NTAzMywxOTUwMzNdLFwibWFwcGVkXCIsWzEzMzEyNF1dLFtbMTk1MDM0LDE5NTAzNF0sXCJtYXBwZWRcIixbMzYyOTldXSxbWzE5NTAzNSwxOTUwMzVdLFwibWFwcGVkXCIsWzM2Mjg0XV0sW1sxOTUwMzYsMTk1MDM2XSxcIm1hcHBlZFwiLFszNjMzNl1dLFtbMTk1MDM3LDE5NTAzN10sXCJtYXBwZWRcIixbMTMzMzQyXV0sW1sxOTUwMzgsMTk1MDM4XSxcIm1hcHBlZFwiLFszNjU2NF1dLFtbMTk1MDM5LDE5NTAzOV0sXCJtYXBwZWRcIixbMzY2NjRdXSxbWzE5NTA0MCwxOTUwNDBdLFwibWFwcGVkXCIsWzE2NTMzMF1dLFtbMTk1MDQxLDE5NTA0MV0sXCJtYXBwZWRcIixbMTY1MzU3XV0sW1sxOTUwNDIsMTk1MDQyXSxcIm1hcHBlZFwiLFszNzAxMl1dLFtbMTk1MDQzLDE5NTA0M10sXCJtYXBwZWRcIixbMzcxMDVdXSxbWzE5NTA0NCwxOTUwNDRdLFwibWFwcGVkXCIsWzM3MTM3XV0sW1sxOTUwNDUsMTk1MDQ1XSxcIm1hcHBlZFwiLFsxNjU2NzhdXSxbWzE5NTA0NiwxOTUwNDZdLFwibWFwcGVkXCIsWzM3MTQ3XV0sW1sxOTUwNDcsMTk1MDQ3XSxcIm1hcHBlZFwiLFszNzQzMl1dLFtbMTk1MDQ4LDE5NTA0OF0sXCJtYXBwZWRcIixbMzc1OTFdXSxbWzE5NTA0OSwxOTUwNDldLFwibWFwcGVkXCIsWzM3NTkyXV0sW1sxOTUwNTAsMTk1MDUwXSxcIm1hcHBlZFwiLFszNzUwMF1dLFtbMTk1MDUxLDE5NTA1MV0sXCJtYXBwZWRcIixbMzc4ODFdXSxbWzE5NTA1MiwxOTUwNTJdLFwibWFwcGVkXCIsWzM3OTA5XV0sW1sxOTUwNTMsMTk1MDUzXSxcIm1hcHBlZFwiLFsxNjY5MDZdXSxbWzE5NTA1NCwxOTUwNTRdLFwibWFwcGVkXCIsWzM4MjgzXV0sW1sxOTUwNTUsMTk1MDU1XSxcIm1hcHBlZFwiLFsxODgzN11dLFtbMTk1MDU2LDE5NTA1Nl0sXCJtYXBwZWRcIixbMzgzMjddXSxbWzE5NTA1NywxOTUwNTddLFwibWFwcGVkXCIsWzE2NzI4N11dLFtbMTk1MDU4LDE5NTA1OF0sXCJtYXBwZWRcIixbMTg5MThdXSxbWzE5NTA1OSwxOTUwNTldLFwibWFwcGVkXCIsWzM4NTk1XV0sW1sxOTUwNjAsMTk1MDYwXSxcIm1hcHBlZFwiLFsyMzk4Nl1dLFtbMTk1MDYxLDE5NTA2MV0sXCJtYXBwZWRcIixbMzg2OTFdXSxbWzE5NTA2MiwxOTUwNjJdLFwibWFwcGVkXCIsWzE2ODI2MV1dLFtbMTk1MDYzLDE5NTA2M10sXCJtYXBwZWRcIixbMTY4NDc0XV0sW1sxOTUwNjQsMTk1MDY0XSxcIm1hcHBlZFwiLFsxOTA1NF1dLFtbMTk1MDY1LDE5NTA2NV0sXCJtYXBwZWRcIixbMTkwNjJdXSxbWzE5NTA2NiwxOTUwNjZdLFwibWFwcGVkXCIsWzM4ODgwXV0sW1sxOTUwNjcsMTk1MDY3XSxcIm1hcHBlZFwiLFsxNjg5NzBdXSxbWzE5NTA2OCwxOTUwNjhdLFwibWFwcGVkXCIsWzE5MTIyXV0sW1sxOTUwNjksMTk1MDY5XSxcIm1hcHBlZFwiLFsxNjkxMTBdXSxbWzE5NTA3MCwxOTUwNzFdLFwibWFwcGVkXCIsWzM4OTIzXV0sW1sxOTUwNzIsMTk1MDcyXSxcIm1hcHBlZFwiLFszODk1M11dLFtbMTk1MDczLDE5NTA3M10sXCJtYXBwZWRcIixbMTY5Mzk4XV0sW1sxOTUwNzQsMTk1MDc0XSxcIm1hcHBlZFwiLFszOTEzOF1dLFtbMTk1MDc1LDE5NTA3NV0sXCJtYXBwZWRcIixbMTkyNTFdXSxbWzE5NTA3NiwxOTUwNzZdLFwibWFwcGVkXCIsWzM5MjA5XV0sW1sxOTUwNzcsMTk1MDc3XSxcIm1hcHBlZFwiLFszOTMzNV1dLFtbMTk1MDc4LDE5NTA3OF0sXCJtYXBwZWRcIixbMzkzNjJdXSxbWzE5NTA3OSwxOTUwNzldLFwibWFwcGVkXCIsWzM5NDIyXV0sW1sxOTUwODAsMTk1MDgwXSxcIm1hcHBlZFwiLFsxOTQwNl1dLFtbMTk1MDgxLDE5NTA4MV0sXCJtYXBwZWRcIixbMTcwODAwXV0sW1sxOTUwODIsMTk1MDgyXSxcIm1hcHBlZFwiLFszOTY5OF1dLFtbMTk1MDgzLDE5NTA4M10sXCJtYXBwZWRcIixbNDAwMDBdXSxbWzE5NTA4NCwxOTUwODRdLFwibWFwcGVkXCIsWzQwMTg5XV0sW1sxOTUwODUsMTk1MDg1XSxcIm1hcHBlZFwiLFsxOTY2Ml1dLFtbMTk1MDg2LDE5NTA4Nl0sXCJtYXBwZWRcIixbMTk2OTNdXSxbWzE5NTA4NywxOTUwODddLFwibWFwcGVkXCIsWzQwMjk1XV0sW1sxOTUwODgsMTk1MDg4XSxcIm1hcHBlZFwiLFsxNzIyMzhdXSxbWzE5NTA4OSwxOTUwODldLFwibWFwcGVkXCIsWzE5NzA0XV0sW1sxOTUwOTAsMTk1MDkwXSxcIm1hcHBlZFwiLFsxNzIyOTNdXSxbWzE5NTA5MSwxOTUwOTFdLFwibWFwcGVkXCIsWzE3MjU1OF1dLFtbMTk1MDkyLDE5NTA5Ml0sXCJtYXBwZWRcIixbMTcyNjg5XV0sW1sxOTUwOTMsMTk1MDkzXSxcIm1hcHBlZFwiLFs0MDYzNV1dLFtbMTk1MDk0LDE5NTA5NF0sXCJtYXBwZWRcIixbMTk3OThdXSxbWzE5NTA5NSwxOTUwOTVdLFwibWFwcGVkXCIsWzQwNjk3XV0sW1sxOTUwOTYsMTk1MDk2XSxcIm1hcHBlZFwiLFs0MDcwMl1dLFtbMTk1MDk3LDE5NTA5N10sXCJtYXBwZWRcIixbNDA3MDldXSxbWzE5NTA5OCwxOTUwOThdLFwibWFwcGVkXCIsWzQwNzE5XV0sW1sxOTUwOTksMTk1MDk5XSxcIm1hcHBlZFwiLFs0MDcyNl1dLFtbMTk1MTAwLDE5NTEwMF0sXCJtYXBwZWRcIixbNDA3NjNdXSxbWzE5NTEwMSwxOTUxMDFdLFwibWFwcGVkXCIsWzE3MzU2OF1dLFtbMTk1MTAyLDE5NjYwNV0sXCJkaXNhbGxvd2VkXCJdLFtbMTk2NjA2LDE5NjYwN10sXCJkaXNhbGxvd2VkXCJdLFtbMTk2NjA4LDI2MjE0MV0sXCJkaXNhbGxvd2VkXCJdLFtbMjYyMTQyLDI2MjE0M10sXCJkaXNhbGxvd2VkXCJdLFtbMjYyMTQ0LDMyNzY3N10sXCJkaXNhbGxvd2VkXCJdLFtbMzI3Njc4LDMyNzY3OV0sXCJkaXNhbGxvd2VkXCJdLFtbMzI3NjgwLDM5MzIxM10sXCJkaXNhbGxvd2VkXCJdLFtbMzkzMjE0LDM5MzIxNV0sXCJkaXNhbGxvd2VkXCJdLFtbMzkzMjE2LDQ1ODc0OV0sXCJkaXNhbGxvd2VkXCJdLFtbNDU4NzUwLDQ1ODc1MV0sXCJkaXNhbGxvd2VkXCJdLFtbNDU4NzUyLDUyNDI4NV0sXCJkaXNhbGxvd2VkXCJdLFtbNTI0Mjg2LDUyNDI4N10sXCJkaXNhbGxvd2VkXCJdLFtbNTI0Mjg4LDU4OTgyMV0sXCJkaXNhbGxvd2VkXCJdLFtbNTg5ODIyLDU4OTgyM10sXCJkaXNhbGxvd2VkXCJdLFtbNTg5ODI0LDY1NTM1N10sXCJkaXNhbGxvd2VkXCJdLFtbNjU1MzU4LDY1NTM1OV0sXCJkaXNhbGxvd2VkXCJdLFtbNjU1MzYwLDcyMDg5M10sXCJkaXNhbGxvd2VkXCJdLFtbNzIwODk0LDcyMDg5NV0sXCJkaXNhbGxvd2VkXCJdLFtbNzIwODk2LDc4NjQyOV0sXCJkaXNhbGxvd2VkXCJdLFtbNzg2NDMwLDc4NjQzMV0sXCJkaXNhbGxvd2VkXCJdLFtbNzg2NDMyLDg1MTk2NV0sXCJkaXNhbGxvd2VkXCJdLFtbODUxOTY2LDg1MTk2N10sXCJkaXNhbGxvd2VkXCJdLFtbODUxOTY4LDkxNzUwMV0sXCJkaXNhbGxvd2VkXCJdLFtbOTE3NTAyLDkxNzUwM10sXCJkaXNhbGxvd2VkXCJdLFtbOTE3NTA0LDkxNzUwNF0sXCJkaXNhbGxvd2VkXCJdLFtbOTE3NTA1LDkxNzUwNV0sXCJkaXNhbGxvd2VkXCJdLFtbOTE3NTA2LDkxNzUzNV0sXCJkaXNhbGxvd2VkXCJdLFtbOTE3NTM2LDkxNzYzMV0sXCJkaXNhbGxvd2VkXCJdLFtbOTE3NjMyLDkxNzc1OV0sXCJkaXNhbGxvd2VkXCJdLFtbOTE3NzYwLDkxNzk5OV0sXCJpZ25vcmVkXCJdLFtbOTE4MDAwLDk4MzAzN10sXCJkaXNhbGxvd2VkXCJdLFtbOTgzMDM4LDk4MzAzOV0sXCJkaXNhbGxvd2VkXCJdLFtbOTgzMDQwLDEwNDg1NzNdLFwiZGlzYWxsb3dlZFwiXSxbWzEwNDg1NzQsMTA0ODU3NV0sXCJkaXNhbGxvd2VkXCJdLFtbMTA0ODU3NiwxMTE0MTA5XSxcImRpc2FsbG93ZWRcIl0sW1sxMTE0MTEwLDExMTQxMTFdLFwiZGlzYWxsb3dlZFwiXV0iLCAiXCJ1c2Ugc3RyaWN0XCI7XG5cbnZhciBwdW55Y29kZSA9IHJlcXVpcmUoXCJwdW55Y29kZVwiKTtcbnZhciBtYXBwaW5nVGFibGUgPSByZXF1aXJlKFwiLi9saWIvbWFwcGluZ1RhYmxlLmpzb25cIik7XG5cbnZhciBQUk9DRVNTSU5HX09QVElPTlMgPSB7XG4gIFRSQU5TSVRJT05BTDogMCxcbiAgTk9OVFJBTlNJVElPTkFMOiAxXG59O1xuXG5mdW5jdGlvbiBub3JtYWxpemUoc3RyKSB7IC8vIGZpeCBidWcgaW4gdjhcbiAgcmV0dXJuIHN0ci5zcGxpdCgnXFx1MDAwMCcpLm1hcChmdW5jdGlvbiAocykgeyByZXR1cm4gcy5ub3JtYWxpemUoJ05GQycpOyB9KS5qb2luKCdcXHUwMDAwJyk7XG59XG5cbmZ1bmN0aW9uIGZpbmRTdGF0dXModmFsKSB7XG4gIHZhciBzdGFydCA9IDA7XG4gIHZhciBlbmQgPSBtYXBwaW5nVGFibGUubGVuZ3RoIC0gMTtcblxuICB3aGlsZSAoc3RhcnQgPD0gZW5kKSB7XG4gICAgdmFyIG1pZCA9IE1hdGguZmxvb3IoKHN0YXJ0ICsgZW5kKSAvIDIpO1xuXG4gICAgdmFyIHRhcmdldCA9IG1hcHBpbmdUYWJsZVttaWRdO1xuICAgIGlmICh0YXJnZXRbMF1bMF0gPD0gdmFsICYmIHRhcmdldFswXVsxXSA+PSB2YWwpIHtcbiAgICAgIHJldHVybiB0YXJnZXQ7XG4gICAgfSBlbHNlIGlmICh0YXJnZXRbMF1bMF0gPiB2YWwpIHtcbiAgICAgIGVuZCA9IG1pZCAtIDE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXJ0ID0gbWlkICsgMTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxudmFyIHJlZ2V4QXN0cmFsU3ltYm9scyA9IC9bXFx1RDgwMC1cXHVEQkZGXVtcXHVEQzAwLVxcdURGRkZdL2c7XG5cbmZ1bmN0aW9uIGNvdW50U3ltYm9scyhzdHJpbmcpIHtcbiAgcmV0dXJuIHN0cmluZ1xuICAgIC8vIHJlcGxhY2UgZXZlcnkgc3Vycm9nYXRlIHBhaXIgd2l0aCBhIEJNUCBzeW1ib2xcbiAgICAucmVwbGFjZShyZWdleEFzdHJhbFN5bWJvbHMsICdfJylcbiAgICAvLyB0aGVuIGdldCB0aGUgbGVuZ3RoXG4gICAgLmxlbmd0aDtcbn1cblxuZnVuY3Rpb24gbWFwQ2hhcnMoZG9tYWluX25hbWUsIHVzZVNURDMsIHByb2Nlc3Npbmdfb3B0aW9uKSB7XG4gIHZhciBoYXNFcnJvciA9IGZhbHNlO1xuICB2YXIgcHJvY2Vzc2VkID0gXCJcIjtcblxuICB2YXIgbGVuID0gY291bnRTeW1ib2xzKGRvbWFpbl9uYW1lKTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47ICsraSkge1xuICAgIHZhciBjb2RlUG9pbnQgPSBkb21haW5fbmFtZS5jb2RlUG9pbnRBdChpKTtcbiAgICB2YXIgc3RhdHVzID0gZmluZFN0YXR1cyhjb2RlUG9pbnQpO1xuXG4gICAgc3dpdGNoIChzdGF0dXNbMV0pIHtcbiAgICAgIGNhc2UgXCJkaXNhbGxvd2VkXCI6XG4gICAgICAgIGhhc0Vycm9yID0gdHJ1ZTtcbiAgICAgICAgcHJvY2Vzc2VkICs9IFN0cmluZy5mcm9tQ29kZVBvaW50KGNvZGVQb2ludCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcImlnbm9yZWRcIjpcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwibWFwcGVkXCI6XG4gICAgICAgIHByb2Nlc3NlZCArPSBTdHJpbmcuZnJvbUNvZGVQb2ludC5hcHBseShTdHJpbmcsIHN0YXR1c1syXSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcImRldmlhdGlvblwiOlxuICAgICAgICBpZiAocHJvY2Vzc2luZ19vcHRpb24gPT09IFBST0NFU1NJTkdfT1BUSU9OUy5UUkFOU0lUSU9OQUwpIHtcbiAgICAgICAgICBwcm9jZXNzZWQgKz0gU3RyaW5nLmZyb21Db2RlUG9pbnQuYXBwbHkoU3RyaW5nLCBzdGF0dXNbMl0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb2Nlc3NlZCArPSBTdHJpbmcuZnJvbUNvZGVQb2ludChjb2RlUG9pbnQpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBcInZhbGlkXCI6XG4gICAgICAgIHByb2Nlc3NlZCArPSBTdHJpbmcuZnJvbUNvZGVQb2ludChjb2RlUG9pbnQpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJkaXNhbGxvd2VkX1NURDNfbWFwcGVkXCI6XG4gICAgICAgIGlmICh1c2VTVEQzKSB7XG4gICAgICAgICAgaGFzRXJyb3IgPSB0cnVlO1xuICAgICAgICAgIHByb2Nlc3NlZCArPSBTdHJpbmcuZnJvbUNvZGVQb2ludChjb2RlUG9pbnQpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHByb2Nlc3NlZCArPSBTdHJpbmcuZnJvbUNvZGVQb2ludC5hcHBseShTdHJpbmcsIHN0YXR1c1syXSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIFwiZGlzYWxsb3dlZF9TVEQzX3ZhbGlkXCI6XG4gICAgICAgIGlmICh1c2VTVEQzKSB7XG4gICAgICAgICAgaGFzRXJyb3IgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgcHJvY2Vzc2VkICs9IFN0cmluZy5mcm9tQ29kZVBvaW50KGNvZGVQb2ludCk7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgc3RyaW5nOiBwcm9jZXNzZWQsXG4gICAgZXJyb3I6IGhhc0Vycm9yXG4gIH07XG59XG5cbnZhciBjb21iaW5pbmdNYXJrc1JlZ2V4ID0gL1tcXHUwMzAwLVxcdTAzNkZcXHUwNDgzLVxcdTA0ODlcXHUwNTkxLVxcdTA1QkRcXHUwNUJGXFx1MDVDMVxcdTA1QzJcXHUwNUM0XFx1MDVDNVxcdTA1QzdcXHUwNjEwLVxcdTA2MUFcXHUwNjRCLVxcdTA2NUZcXHUwNjcwXFx1MDZENi1cXHUwNkRDXFx1MDZERi1cXHUwNkU0XFx1MDZFN1xcdTA2RThcXHUwNkVBLVxcdTA2RURcXHUwNzExXFx1MDczMC1cXHUwNzRBXFx1MDdBNi1cXHUwN0IwXFx1MDdFQi1cXHUwN0YzXFx1MDgxNi1cXHUwODE5XFx1MDgxQi1cXHUwODIzXFx1MDgyNS1cXHUwODI3XFx1MDgyOS1cXHUwODJEXFx1MDg1OS1cXHUwODVCXFx1MDhFNC1cXHUwOTAzXFx1MDkzQS1cXHUwOTNDXFx1MDkzRS1cXHUwOTRGXFx1MDk1MS1cXHUwOTU3XFx1MDk2MlxcdTA5NjNcXHUwOTgxLVxcdTA5ODNcXHUwOUJDXFx1MDlCRS1cXHUwOUM0XFx1MDlDN1xcdTA5QzhcXHUwOUNCLVxcdTA5Q0RcXHUwOUQ3XFx1MDlFMlxcdTA5RTNcXHUwQTAxLVxcdTBBMDNcXHUwQTNDXFx1MEEzRS1cXHUwQTQyXFx1MEE0N1xcdTBBNDhcXHUwQTRCLVxcdTBBNERcXHUwQTUxXFx1MEE3MFxcdTBBNzFcXHUwQTc1XFx1MEE4MS1cXHUwQTgzXFx1MEFCQ1xcdTBBQkUtXFx1MEFDNVxcdTBBQzctXFx1MEFDOVxcdTBBQ0ItXFx1MEFDRFxcdTBBRTJcXHUwQUUzXFx1MEIwMS1cXHUwQjAzXFx1MEIzQ1xcdTBCM0UtXFx1MEI0NFxcdTBCNDdcXHUwQjQ4XFx1MEI0Qi1cXHUwQjREXFx1MEI1NlxcdTBCNTdcXHUwQjYyXFx1MEI2M1xcdTBCODJcXHUwQkJFLVxcdTBCQzJcXHUwQkM2LVxcdTBCQzhcXHUwQkNBLVxcdTBCQ0RcXHUwQkQ3XFx1MEMwMC1cXHUwQzAzXFx1MEMzRS1cXHUwQzQ0XFx1MEM0Ni1cXHUwQzQ4XFx1MEM0QS1cXHUwQzREXFx1MEM1NVxcdTBDNTZcXHUwQzYyXFx1MEM2M1xcdTBDODEtXFx1MEM4M1xcdTBDQkNcXHUwQ0JFLVxcdTBDQzRcXHUwQ0M2LVxcdTBDQzhcXHUwQ0NBLVxcdTBDQ0RcXHUwQ0Q1XFx1MENENlxcdTBDRTJcXHUwQ0UzXFx1MEQwMS1cXHUwRDAzXFx1MEQzRS1cXHUwRDQ0XFx1MEQ0Ni1cXHUwRDQ4XFx1MEQ0QS1cXHUwRDREXFx1MEQ1N1xcdTBENjJcXHUwRDYzXFx1MEQ4MlxcdTBEODNcXHUwRENBXFx1MERDRi1cXHUwREQ0XFx1MERENlxcdTBERDgtXFx1MERERlxcdTBERjJcXHUwREYzXFx1MEUzMVxcdTBFMzQtXFx1MEUzQVxcdTBFNDctXFx1MEU0RVxcdTBFQjFcXHUwRUI0LVxcdTBFQjlcXHUwRUJCXFx1MEVCQ1xcdTBFQzgtXFx1MEVDRFxcdTBGMThcXHUwRjE5XFx1MEYzNVxcdTBGMzdcXHUwRjM5XFx1MEYzRVxcdTBGM0ZcXHUwRjcxLVxcdTBGODRcXHUwRjg2XFx1MEY4N1xcdTBGOEQtXFx1MEY5N1xcdTBGOTktXFx1MEZCQ1xcdTBGQzZcXHUxMDJCLVxcdTEwM0VcXHUxMDU2LVxcdTEwNTlcXHUxMDVFLVxcdTEwNjBcXHUxMDYyLVxcdTEwNjRcXHUxMDY3LVxcdTEwNkRcXHUxMDcxLVxcdTEwNzRcXHUxMDgyLVxcdTEwOERcXHUxMDhGXFx1MTA5QS1cXHUxMDlEXFx1MTM1RC1cXHUxMzVGXFx1MTcxMi1cXHUxNzE0XFx1MTczMi1cXHUxNzM0XFx1MTc1MlxcdTE3NTNcXHUxNzcyXFx1MTc3M1xcdTE3QjQtXFx1MTdEM1xcdTE3RERcXHUxODBCLVxcdTE4MERcXHUxOEE5XFx1MTkyMC1cXHUxOTJCXFx1MTkzMC1cXHUxOTNCXFx1MTlCMC1cXHUxOUMwXFx1MTlDOFxcdTE5QzlcXHUxQTE3LVxcdTFBMUJcXHUxQTU1LVxcdTFBNUVcXHUxQTYwLVxcdTFBN0NcXHUxQTdGXFx1MUFCMC1cXHUxQUJFXFx1MUIwMC1cXHUxQjA0XFx1MUIzNC1cXHUxQjQ0XFx1MUI2Qi1cXHUxQjczXFx1MUI4MC1cXHUxQjgyXFx1MUJBMS1cXHUxQkFEXFx1MUJFNi1cXHUxQkYzXFx1MUMyNC1cXHUxQzM3XFx1MUNEMC1cXHUxQ0QyXFx1MUNENC1cXHUxQ0U4XFx1MUNFRFxcdTFDRjItXFx1MUNGNFxcdTFDRjhcXHUxQ0Y5XFx1MURDMC1cXHUxREY1XFx1MURGQy1cXHUxREZGXFx1MjBEMC1cXHUyMEYwXFx1MkNFRi1cXHUyQ0YxXFx1MkQ3RlxcdTJERTAtXFx1MkRGRlxcdTMwMkEtXFx1MzAyRlxcdTMwOTlcXHUzMDlBXFx1QTY2Ri1cXHVBNjcyXFx1QTY3NC1cXHVBNjdEXFx1QTY5RlxcdUE2RjBcXHVBNkYxXFx1QTgwMlxcdUE4MDZcXHVBODBCXFx1QTgyMy1cXHVBODI3XFx1QTg4MFxcdUE4ODFcXHVBOEI0LVxcdUE4QzRcXHVBOEUwLVxcdUE4RjFcXHVBOTI2LVxcdUE5MkRcXHVBOTQ3LVxcdUE5NTNcXHVBOTgwLVxcdUE5ODNcXHVBOUIzLVxcdUE5QzBcXHVBOUU1XFx1QUEyOS1cXHVBQTM2XFx1QUE0M1xcdUFBNENcXHVBQTREXFx1QUE3Qi1cXHVBQTdEXFx1QUFCMFxcdUFBQjItXFx1QUFCNFxcdUFBQjdcXHVBQUI4XFx1QUFCRVxcdUFBQkZcXHVBQUMxXFx1QUFFQi1cXHVBQUVGXFx1QUFGNVxcdUFBRjZcXHVBQkUzLVxcdUFCRUFcXHVBQkVDXFx1QUJFRFxcdUZCMUVcXHVGRTAwLVxcdUZFMEZcXHVGRTIwLVxcdUZFMkRdfFxcdUQ4MDBbXFx1RERGRFxcdURFRTBcXHVERjc2LVxcdURGN0FdfFxcdUQ4MDJbXFx1REUwMS1cXHVERTAzXFx1REUwNVxcdURFMDZcXHVERTBDLVxcdURFMEZcXHVERTM4LVxcdURFM0FcXHVERTNGXFx1REVFNVxcdURFRTZdfFxcdUQ4MDRbXFx1REMwMC1cXHVEQzAyXFx1REMzOC1cXHVEQzQ2XFx1REM3Ri1cXHVEQzgyXFx1RENCMC1cXHVEQ0JBXFx1REQwMC1cXHVERDAyXFx1REQyNy1cXHVERDM0XFx1REQ3M1xcdUREODAtXFx1REQ4MlxcdUREQjMtXFx1RERDMFxcdURFMkMtXFx1REUzN1xcdURFREYtXFx1REVFQVxcdURGMDEtXFx1REYwM1xcdURGM0NcXHVERjNFLVxcdURGNDRcXHVERjQ3XFx1REY0OFxcdURGNEItXFx1REY0RFxcdURGNTdcXHVERjYyXFx1REY2M1xcdURGNjYtXFx1REY2Q1xcdURGNzAtXFx1REY3NF18XFx1RDgwNVtcXHVEQ0IwLVxcdURDQzNcXHVEREFGLVxcdUREQjVcXHVEREI4LVxcdUREQzBcXHVERTMwLVxcdURFNDBcXHVERUFCLVxcdURFQjddfFxcdUQ4MUFbXFx1REVGMC1cXHVERUY0XFx1REYzMC1cXHVERjM2XXxcXHVEODFCW1xcdURGNTEtXFx1REY3RVxcdURGOEYtXFx1REY5Ml18XFx1RDgyRltcXHVEQzlEXFx1REM5RV18XFx1RDgzNFtcXHVERDY1LVxcdURENjlcXHVERDZELVxcdURENzJcXHVERDdCLVxcdUREODJcXHVERDg1LVxcdUREOEJcXHVEREFBLVxcdUREQURcXHVERTQyLVxcdURFNDRdfFxcdUQ4M0FbXFx1RENEMC1cXHVEQ0Q2XXxcXHVEQjQwW1xcdUREMDAtXFx1RERFRl0vO1xuXG5mdW5jdGlvbiB2YWxpZGF0ZUxhYmVsKGxhYmVsLCBwcm9jZXNzaW5nX29wdGlvbikge1xuICBpZiAobGFiZWwuc3Vic3RyKDAsIDQpID09PSBcInhuLS1cIikge1xuICAgIGxhYmVsID0gcHVueWNvZGUudG9Vbmljb2RlKGxhYmVsKTtcbiAgICBwcm9jZXNzaW5nX29wdGlvbiA9IFBST0NFU1NJTkdfT1BUSU9OUy5OT05UUkFOU0lUSU9OQUw7XG4gIH1cblxuICB2YXIgZXJyb3IgPSBmYWxzZTtcblxuICBpZiAobm9ybWFsaXplKGxhYmVsKSAhPT0gbGFiZWwgfHxcbiAgICAgIChsYWJlbFszXSA9PT0gXCItXCIgJiYgbGFiZWxbNF0gPT09IFwiLVwiKSB8fFxuICAgICAgbGFiZWxbMF0gPT09IFwiLVwiIHx8IGxhYmVsW2xhYmVsLmxlbmd0aCAtIDFdID09PSBcIi1cIiB8fFxuICAgICAgbGFiZWwuaW5kZXhPZihcIi5cIikgIT09IC0xIHx8XG4gICAgICBsYWJlbC5zZWFyY2goY29tYmluaW5nTWFya3NSZWdleCkgPT09IDApIHtcbiAgICBlcnJvciA9IHRydWU7XG4gIH1cblxuICB2YXIgbGVuID0gY291bnRTeW1ib2xzKGxhYmVsKTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47ICsraSkge1xuICAgIHZhciBzdGF0dXMgPSBmaW5kU3RhdHVzKGxhYmVsLmNvZGVQb2ludEF0KGkpKTtcbiAgICBpZiAoKHByb2Nlc3NpbmcgPT09IFBST0NFU1NJTkdfT1BUSU9OUy5UUkFOU0lUSU9OQUwgJiYgc3RhdHVzWzFdICE9PSBcInZhbGlkXCIpIHx8XG4gICAgICAgIChwcm9jZXNzaW5nID09PSBQUk9DRVNTSU5HX09QVElPTlMuTk9OVFJBTlNJVElPTkFMICYmXG4gICAgICAgICBzdGF0dXNbMV0gIT09IFwidmFsaWRcIiAmJiBzdGF0dXNbMV0gIT09IFwiZGV2aWF0aW9uXCIpKSB7XG4gICAgICBlcnJvciA9IHRydWU7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIGxhYmVsOiBsYWJlbCxcbiAgICBlcnJvcjogZXJyb3JcbiAgfTtcbn1cblxuZnVuY3Rpb24gcHJvY2Vzc2luZyhkb21haW5fbmFtZSwgdXNlU1REMywgcHJvY2Vzc2luZ19vcHRpb24pIHtcbiAgdmFyIHJlc3VsdCA9IG1hcENoYXJzKGRvbWFpbl9uYW1lLCB1c2VTVEQzLCBwcm9jZXNzaW5nX29wdGlvbik7XG4gIHJlc3VsdC5zdHJpbmcgPSBub3JtYWxpemUocmVzdWx0LnN0cmluZyk7XG5cbiAgdmFyIGxhYmVscyA9IHJlc3VsdC5zdHJpbmcuc3BsaXQoXCIuXCIpO1xuICBmb3IgKHZhciBpID0gMDsgaSA8IGxhYmVscy5sZW5ndGg7ICsraSkge1xuICAgIHRyeSB7XG4gICAgICB2YXIgdmFsaWRhdGlvbiA9IHZhbGlkYXRlTGFiZWwobGFiZWxzW2ldKTtcbiAgICAgIGxhYmVsc1tpXSA9IHZhbGlkYXRpb24ubGFiZWw7XG4gICAgICByZXN1bHQuZXJyb3IgPSByZXN1bHQuZXJyb3IgfHwgdmFsaWRhdGlvbi5lcnJvcjtcbiAgICB9IGNhdGNoKGUpIHtcbiAgICAgIHJlc3VsdC5lcnJvciA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzdHJpbmc6IGxhYmVscy5qb2luKFwiLlwiKSxcbiAgICBlcnJvcjogcmVzdWx0LmVycm9yXG4gIH07XG59XG5cbm1vZHVsZS5leHBvcnRzLnRvQVNDSUkgPSBmdW5jdGlvbihkb21haW5fbmFtZSwgdXNlU1REMywgcHJvY2Vzc2luZ19vcHRpb24sIHZlcmlmeURuc0xlbmd0aCkge1xuICB2YXIgcmVzdWx0ID0gcHJvY2Vzc2luZyhkb21haW5fbmFtZSwgdXNlU1REMywgcHJvY2Vzc2luZ19vcHRpb24pO1xuICB2YXIgbGFiZWxzID0gcmVzdWx0LnN0cmluZy5zcGxpdChcIi5cIik7XG4gIGxhYmVscyA9IGxhYmVscy5tYXAoZnVuY3Rpb24obCkge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gcHVueWNvZGUudG9BU0NJSShsKTtcbiAgICB9IGNhdGNoKGUpIHtcbiAgICAgIHJlc3VsdC5lcnJvciA9IHRydWU7XG4gICAgICByZXR1cm4gbDtcbiAgICB9XG4gIH0pO1xuXG4gIGlmICh2ZXJpZnlEbnNMZW5ndGgpIHtcbiAgICB2YXIgdG90YWwgPSBsYWJlbHMuc2xpY2UoMCwgbGFiZWxzLmxlbmd0aCAtIDEpLmpvaW4oXCIuXCIpLmxlbmd0aDtcbiAgICBpZiAodG90YWwubGVuZ3RoID4gMjUzIHx8IHRvdGFsLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmVzdWx0LmVycm9yID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBmb3IgKHZhciBpPTA7IGkgPCBsYWJlbHMubGVuZ3RoOyArK2kpIHtcbiAgICAgIGlmIChsYWJlbHMubGVuZ3RoID4gNjMgfHwgbGFiZWxzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXN1bHQuZXJyb3IgPSB0cnVlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAocmVzdWx0LmVycm9yKSByZXR1cm4gbnVsbDtcbiAgcmV0dXJuIGxhYmVscy5qb2luKFwiLlwiKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzLnRvVW5pY29kZSA9IGZ1bmN0aW9uKGRvbWFpbl9uYW1lLCB1c2VTVEQzKSB7XG4gIHZhciByZXN1bHQgPSBwcm9jZXNzaW5nKGRvbWFpbl9uYW1lLCB1c2VTVEQzLCBQUk9DRVNTSU5HX09QVElPTlMuTk9OVFJBTlNJVElPTkFMKTtcblxuICByZXR1cm4ge1xuICAgIGRvbWFpbjogcmVzdWx0LnN0cmluZyxcbiAgICBlcnJvcjogcmVzdWx0LmVycm9yXG4gIH07XG59O1xuXG5tb2R1bGUuZXhwb3J0cy5QUk9DRVNTSU5HX09QVElPTlMgPSBQUk9DRVNTSU5HX09QVElPTlM7XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XHJcbmNvbnN0IHB1bnljb2RlID0gcmVxdWlyZShcInB1bnljb2RlXCIpO1xyXG5jb25zdCB0cjQ2ID0gcmVxdWlyZShcInRyNDZcIik7XHJcblxyXG5jb25zdCBzcGVjaWFsU2NoZW1lcyA9IHtcclxuICBmdHA6IDIxLFxyXG4gIGZpbGU6IG51bGwsXHJcbiAgZ29waGVyOiA3MCxcclxuICBodHRwOiA4MCxcclxuICBodHRwczogNDQzLFxyXG4gIHdzOiA4MCxcclxuICB3c3M6IDQ0M1xyXG59O1xyXG5cclxuY29uc3QgZmFpbHVyZSA9IFN5bWJvbChcImZhaWx1cmVcIik7XHJcblxyXG5mdW5jdGlvbiBjb3VudFN5bWJvbHMoc3RyKSB7XHJcbiAgcmV0dXJuIHB1bnljb2RlLnVjczIuZGVjb2RlKHN0cikubGVuZ3RoO1xyXG59XHJcblxyXG5mdW5jdGlvbiBhdChpbnB1dCwgaWR4KSB7XHJcbiAgY29uc3QgYyA9IGlucHV0W2lkeF07XHJcbiAgcmV0dXJuIGlzTmFOKGMpID8gdW5kZWZpbmVkIDogU3RyaW5nLmZyb21Db2RlUG9pbnQoYyk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzQVNDSUlEaWdpdChjKSB7XHJcbiAgcmV0dXJuIGMgPj0gMHgzMCAmJiBjIDw9IDB4Mzk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzQVNDSUlBbHBoYShjKSB7XHJcbiAgcmV0dXJuIChjID49IDB4NDEgJiYgYyA8PSAweDVBKSB8fCAoYyA+PSAweDYxICYmIGMgPD0gMHg3QSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzQVNDSUlBbHBoYW51bWVyaWMoYykge1xyXG4gIHJldHVybiBpc0FTQ0lJQWxwaGEoYykgfHwgaXNBU0NJSURpZ2l0KGMpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc0FTQ0lJSGV4KGMpIHtcclxuICByZXR1cm4gaXNBU0NJSURpZ2l0KGMpIHx8IChjID49IDB4NDEgJiYgYyA8PSAweDQ2KSB8fCAoYyA+PSAweDYxICYmIGMgPD0gMHg2Nik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzU2luZ2xlRG90KGJ1ZmZlcikge1xyXG4gIHJldHVybiBidWZmZXIgPT09IFwiLlwiIHx8IGJ1ZmZlci50b0xvd2VyQ2FzZSgpID09PSBcIiUyZVwiO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc0RvdWJsZURvdChidWZmZXIpIHtcclxuICBidWZmZXIgPSBidWZmZXIudG9Mb3dlckNhc2UoKTtcclxuICByZXR1cm4gYnVmZmVyID09PSBcIi4uXCIgfHwgYnVmZmVyID09PSBcIiUyZS5cIiB8fCBidWZmZXIgPT09IFwiLiUyZVwiIHx8IGJ1ZmZlciA9PT0gXCIlMmUlMmVcIjtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNXaW5kb3dzRHJpdmVMZXR0ZXJDb2RlUG9pbnRzKGNwMSwgY3AyKSB7XHJcbiAgcmV0dXJuIGlzQVNDSUlBbHBoYShjcDEpICYmIChjcDIgPT09IDU4IHx8IGNwMiA9PT0gMTI0KTtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNXaW5kb3dzRHJpdmVMZXR0ZXJTdHJpbmcoc3RyaW5nKSB7XHJcbiAgcmV0dXJuIHN0cmluZy5sZW5ndGggPT09IDIgJiYgaXNBU0NJSUFscGhhKHN0cmluZy5jb2RlUG9pbnRBdCgwKSkgJiYgKHN0cmluZ1sxXSA9PT0gXCI6XCIgfHwgc3RyaW5nWzFdID09PSBcInxcIik7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzTm9ybWFsaXplZFdpbmRvd3NEcml2ZUxldHRlclN0cmluZyhzdHJpbmcpIHtcclxuICByZXR1cm4gc3RyaW5nLmxlbmd0aCA9PT0gMiAmJiBpc0FTQ0lJQWxwaGEoc3RyaW5nLmNvZGVQb2ludEF0KDApKSAmJiBzdHJpbmdbMV0gPT09IFwiOlwiO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjb250YWluc0ZvcmJpZGRlbkhvc3RDb2RlUG9pbnQoc3RyaW5nKSB7XHJcbiAgcmV0dXJuIHN0cmluZy5zZWFyY2goL1xcdTAwMDB8XFx1MDAwOXxcXHUwMDBBfFxcdTAwMER8XFx1MDAyMHwjfCV8XFwvfDp8XFw/fEB8XFxbfFxcXFx8XFxdLykgIT09IC0xO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjb250YWluc0ZvcmJpZGRlbkhvc3RDb2RlUG9pbnRFeGNsdWRpbmdQZXJjZW50KHN0cmluZykge1xyXG4gIHJldHVybiBzdHJpbmcuc2VhcmNoKC9cXHUwMDAwfFxcdTAwMDl8XFx1MDAwQXxcXHUwMDBEfFxcdTAwMjB8I3xcXC98OnxcXD98QHxcXFt8XFxcXHxcXF0vKSAhPT0gLTE7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIGlzU3BlY2lhbFNjaGVtZShzY2hlbWUpIHtcclxuICByZXR1cm4gc3BlY2lhbFNjaGVtZXNbc2NoZW1lXSAhPT0gdW5kZWZpbmVkO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc1NwZWNpYWwodXJsKSB7XHJcbiAgcmV0dXJuIGlzU3BlY2lhbFNjaGVtZSh1cmwuc2NoZW1lKTtcclxufVxyXG5cclxuZnVuY3Rpb24gZGVmYXVsdFBvcnQoc2NoZW1lKSB7XHJcbiAgcmV0dXJuIHNwZWNpYWxTY2hlbWVzW3NjaGVtZV07XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHBlcmNlbnRFbmNvZGUoYykge1xyXG4gIGxldCBoZXggPSBjLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpO1xyXG4gIGlmIChoZXgubGVuZ3RoID09PSAxKSB7XHJcbiAgICBoZXggPSBcIjBcIiArIGhleDtcclxuICB9XHJcblxyXG4gIHJldHVybiBcIiVcIiArIGhleDtcclxufVxyXG5cclxuZnVuY3Rpb24gdXRmOFBlcmNlbnRFbmNvZGUoYykge1xyXG4gIGNvbnN0IGJ1ZiA9IG5ldyBCdWZmZXIoYyk7XHJcblxyXG4gIGxldCBzdHIgPSBcIlwiO1xyXG5cclxuICBmb3IgKGxldCBpID0gMDsgaSA8IGJ1Zi5sZW5ndGg7ICsraSkge1xyXG4gICAgc3RyICs9IHBlcmNlbnRFbmNvZGUoYnVmW2ldKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBzdHI7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHV0ZjhQZXJjZW50RGVjb2RlKHN0cikge1xyXG4gIGNvbnN0IGlucHV0ID0gbmV3IEJ1ZmZlcihzdHIpO1xyXG4gIGNvbnN0IG91dHB1dCA9IFtdO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyArK2kpIHtcclxuICAgIGlmIChpbnB1dFtpXSAhPT0gMzcpIHtcclxuICAgICAgb3V0cHV0LnB1c2goaW5wdXRbaV0pO1xyXG4gICAgfSBlbHNlIGlmIChpbnB1dFtpXSA9PT0gMzcgJiYgaXNBU0NJSUhleChpbnB1dFtpICsgMV0pICYmIGlzQVNDSUlIZXgoaW5wdXRbaSArIDJdKSkge1xyXG4gICAgICBvdXRwdXQucHVzaChwYXJzZUludChpbnB1dC5zbGljZShpICsgMSwgaSArIDMpLnRvU3RyaW5nKCksIDE2KSk7XHJcbiAgICAgIGkgKz0gMjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG91dHB1dC5wdXNoKGlucHV0W2ldKTtcclxuICAgIH1cclxuICB9XHJcbiAgcmV0dXJuIG5ldyBCdWZmZXIob3V0cHV0KS50b1N0cmluZygpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpc0MwQ29udHJvbFBlcmNlbnRFbmNvZGUoYykge1xyXG4gIHJldHVybiBjIDw9IDB4MUYgfHwgYyA+IDB4N0U7XHJcbn1cclxuXHJcbmNvbnN0IGV4dHJhUGF0aFBlcmNlbnRFbmNvZGVTZXQgPSBuZXcgU2V0KFszMiwgMzQsIDM1LCA2MCwgNjIsIDYzLCA5NiwgMTIzLCAxMjVdKTtcclxuZnVuY3Rpb24gaXNQYXRoUGVyY2VudEVuY29kZShjKSB7XHJcbiAgcmV0dXJuIGlzQzBDb250cm9sUGVyY2VudEVuY29kZShjKSB8fCBleHRyYVBhdGhQZXJjZW50RW5jb2RlU2V0LmhhcyhjKTtcclxufVxyXG5cclxuY29uc3QgZXh0cmFVc2VyaW5mb1BlcmNlbnRFbmNvZGVTZXQgPVxyXG4gIG5ldyBTZXQoWzQ3LCA1OCwgNTksIDYxLCA2NCwgOTEsIDkyLCA5MywgOTQsIDEyNF0pO1xyXG5mdW5jdGlvbiBpc1VzZXJpbmZvUGVyY2VudEVuY29kZShjKSB7XHJcbiAgcmV0dXJuIGlzUGF0aFBlcmNlbnRFbmNvZGUoYykgfHwgZXh0cmFVc2VyaW5mb1BlcmNlbnRFbmNvZGVTZXQuaGFzKGMpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBwZXJjZW50RW5jb2RlQ2hhcihjLCBlbmNvZGVTZXRQcmVkaWNhdGUpIHtcclxuICBjb25zdCBjU3RyID0gU3RyaW5nLmZyb21Db2RlUG9pbnQoYyk7XHJcblxyXG4gIGlmIChlbmNvZGVTZXRQcmVkaWNhdGUoYykpIHtcclxuICAgIHJldHVybiB1dGY4UGVyY2VudEVuY29kZShjU3RyKTtcclxuICB9XHJcblxyXG4gIHJldHVybiBjU3RyO1xyXG59XHJcblxyXG5mdW5jdGlvbiBwYXJzZUlQdjROdW1iZXIoaW5wdXQpIHtcclxuICBsZXQgUiA9IDEwO1xyXG5cclxuICBpZiAoaW5wdXQubGVuZ3RoID49IDIgJiYgaW5wdXQuY2hhckF0KDApID09PSBcIjBcIiAmJiBpbnB1dC5jaGFyQXQoMSkudG9Mb3dlckNhc2UoKSA9PT0gXCJ4XCIpIHtcclxuICAgIGlucHV0ID0gaW5wdXQuc3Vic3RyaW5nKDIpO1xyXG4gICAgUiA9IDE2O1xyXG4gIH0gZWxzZSBpZiAoaW5wdXQubGVuZ3RoID49IDIgJiYgaW5wdXQuY2hhckF0KDApID09PSBcIjBcIikge1xyXG4gICAgaW5wdXQgPSBpbnB1dC5zdWJzdHJpbmcoMSk7XHJcbiAgICBSID0gODtcclxuICB9XHJcblxyXG4gIGlmIChpbnB1dCA9PT0gXCJcIikge1xyXG4gICAgcmV0dXJuIDA7XHJcbiAgfVxyXG5cclxuICBjb25zdCByZWdleCA9IFIgPT09IDEwID8gL1teMC05XS8gOiAoUiA9PT0gMTYgPyAvW14wLTlBLUZhLWZdLyA6IC9bXjAtN10vKTtcclxuICBpZiAocmVnZXgudGVzdChpbnB1dCkpIHtcclxuICAgIHJldHVybiBmYWlsdXJlO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHBhcnNlSW50KGlucHV0LCBSKTtcclxufVxyXG5cclxuZnVuY3Rpb24gcGFyc2VJUHY0KGlucHV0KSB7XHJcbiAgY29uc3QgcGFydHMgPSBpbnB1dC5zcGxpdChcIi5cIik7XHJcbiAgaWYgKHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdID09PSBcIlwiKSB7XHJcbiAgICBpZiAocGFydHMubGVuZ3RoID4gMSkge1xyXG4gICAgICBwYXJ0cy5wb3AoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlmIChwYXJ0cy5sZW5ndGggPiA0KSB7XHJcbiAgICByZXR1cm4gaW5wdXQ7XHJcbiAgfVxyXG5cclxuICBjb25zdCBudW1iZXJzID0gW107XHJcbiAgZm9yIChjb25zdCBwYXJ0IG9mIHBhcnRzKSB7XHJcbiAgICBpZiAocGFydCA9PT0gXCJcIikge1xyXG4gICAgICByZXR1cm4gaW5wdXQ7XHJcbiAgICB9XHJcbiAgICBjb25zdCBuID0gcGFyc2VJUHY0TnVtYmVyKHBhcnQpO1xyXG4gICAgaWYgKG4gPT09IGZhaWx1cmUpIHtcclxuICAgICAgcmV0dXJuIGlucHV0O1xyXG4gICAgfVxyXG5cclxuICAgIG51bWJlcnMucHVzaChuKTtcclxuICB9XHJcblxyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbnVtYmVycy5sZW5ndGggLSAxOyArK2kpIHtcclxuICAgIGlmIChudW1iZXJzW2ldID4gMjU1KSB7XHJcbiAgICAgIHJldHVybiBmYWlsdXJlO1xyXG4gICAgfVxyXG4gIH1cclxuICBpZiAobnVtYmVyc1tudW1iZXJzLmxlbmd0aCAtIDFdID49IE1hdGgucG93KDI1NiwgNSAtIG51bWJlcnMubGVuZ3RoKSkge1xyXG4gICAgcmV0dXJuIGZhaWx1cmU7XHJcbiAgfVxyXG5cclxuICBsZXQgaXB2NCA9IG51bWJlcnMucG9wKCk7XHJcbiAgbGV0IGNvdW50ZXIgPSAwO1xyXG5cclxuICBmb3IgKGNvbnN0IG4gb2YgbnVtYmVycykge1xyXG4gICAgaXB2NCArPSBuICogTWF0aC5wb3coMjU2LCAzIC0gY291bnRlcik7XHJcbiAgICArK2NvdW50ZXI7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gaXB2NDtcclxufVxyXG5cclxuZnVuY3Rpb24gc2VyaWFsaXplSVB2NChhZGRyZXNzKSB7XHJcbiAgbGV0IG91dHB1dCA9IFwiXCI7XHJcbiAgbGV0IG4gPSBhZGRyZXNzO1xyXG5cclxuICBmb3IgKGxldCBpID0gMTsgaSA8PSA0OyArK2kpIHtcclxuICAgIG91dHB1dCA9IFN0cmluZyhuICUgMjU2KSArIG91dHB1dDtcclxuICAgIGlmIChpICE9PSA0KSB7XHJcbiAgICAgIG91dHB1dCA9IFwiLlwiICsgb3V0cHV0O1xyXG4gICAgfVxyXG4gICAgbiA9IE1hdGguZmxvb3IobiAvIDI1Nik7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gb3V0cHV0O1xyXG59XHJcblxyXG5mdW5jdGlvbiBwYXJzZUlQdjYoaW5wdXQpIHtcclxuICBjb25zdCBhZGRyZXNzID0gWzAsIDAsIDAsIDAsIDAsIDAsIDAsIDBdO1xyXG4gIGxldCBwaWVjZUluZGV4ID0gMDtcclxuICBsZXQgY29tcHJlc3MgPSBudWxsO1xyXG4gIGxldCBwb2ludGVyID0gMDtcclxuXHJcbiAgaW5wdXQgPSBwdW55Y29kZS51Y3MyLmRlY29kZShpbnB1dCk7XHJcblxyXG4gIGlmIChpbnB1dFtwb2ludGVyXSA9PT0gNTgpIHtcclxuICAgIGlmIChpbnB1dFtwb2ludGVyICsgMV0gIT09IDU4KSB7XHJcbiAgICAgIHJldHVybiBmYWlsdXJlO1xyXG4gICAgfVxyXG5cclxuICAgIHBvaW50ZXIgKz0gMjtcclxuICAgICsrcGllY2VJbmRleDtcclxuICAgIGNvbXByZXNzID0gcGllY2VJbmRleDtcclxuICB9XHJcblxyXG4gIHdoaWxlIChwb2ludGVyIDwgaW5wdXQubGVuZ3RoKSB7XHJcbiAgICBpZiAocGllY2VJbmRleCA9PT0gOCkge1xyXG4gICAgICByZXR1cm4gZmFpbHVyZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoaW5wdXRbcG9pbnRlcl0gPT09IDU4KSB7XHJcbiAgICAgIGlmIChjb21wcmVzcyAhPT0gbnVsbCkge1xyXG4gICAgICAgIHJldHVybiBmYWlsdXJlO1xyXG4gICAgICB9XHJcbiAgICAgICsrcG9pbnRlcjtcclxuICAgICAgKytwaWVjZUluZGV4O1xyXG4gICAgICBjb21wcmVzcyA9IHBpZWNlSW5kZXg7XHJcbiAgICAgIGNvbnRpbnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCB2YWx1ZSA9IDA7XHJcbiAgICBsZXQgbGVuZ3RoID0gMDtcclxuXHJcbiAgICB3aGlsZSAobGVuZ3RoIDwgNCAmJiBpc0FTQ0lJSGV4KGlucHV0W3BvaW50ZXJdKSkge1xyXG4gICAgICB2YWx1ZSA9IHZhbHVlICogMHgxMCArIHBhcnNlSW50KGF0KGlucHV0LCBwb2ludGVyKSwgMTYpO1xyXG4gICAgICArK3BvaW50ZXI7XHJcbiAgICAgICsrbGVuZ3RoO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpbnB1dFtwb2ludGVyXSA9PT0gNDYpIHtcclxuICAgICAgaWYgKGxlbmd0aCA9PT0gMCkge1xyXG4gICAgICAgIHJldHVybiBmYWlsdXJlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBwb2ludGVyIC09IGxlbmd0aDtcclxuXHJcbiAgICAgIGlmIChwaWVjZUluZGV4ID4gNikge1xyXG4gICAgICAgIHJldHVybiBmYWlsdXJlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBsZXQgbnVtYmVyc1NlZW4gPSAwO1xyXG5cclxuICAgICAgd2hpbGUgKGlucHV0W3BvaW50ZXJdICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICBsZXQgaXB2NFBpZWNlID0gbnVsbDtcclxuXHJcbiAgICAgICAgaWYgKG51bWJlcnNTZWVuID4gMCkge1xyXG4gICAgICAgICAgaWYgKGlucHV0W3BvaW50ZXJdID09PSA0NiAmJiBudW1iZXJzU2VlbiA8IDQpIHtcclxuICAgICAgICAgICAgKytwb2ludGVyO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhaWx1cmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIWlzQVNDSUlEaWdpdChpbnB1dFtwb2ludGVyXSkpIHtcclxuICAgICAgICAgIHJldHVybiBmYWlsdXJlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgd2hpbGUgKGlzQVNDSUlEaWdpdChpbnB1dFtwb2ludGVyXSkpIHtcclxuICAgICAgICAgIGNvbnN0IG51bWJlciA9IHBhcnNlSW50KGF0KGlucHV0LCBwb2ludGVyKSk7XHJcbiAgICAgICAgICBpZiAoaXB2NFBpZWNlID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIGlwdjRQaWVjZSA9IG51bWJlcjtcclxuICAgICAgICAgIH0gZWxzZSBpZiAoaXB2NFBpZWNlID09PSAwKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWlsdXJlO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaXB2NFBpZWNlID0gaXB2NFBpZWNlICogMTAgKyBudW1iZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBpZiAoaXB2NFBpZWNlID4gMjU1KSB7XHJcbiAgICAgICAgICAgIHJldHVybiBmYWlsdXJlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgKytwb2ludGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYWRkcmVzc1twaWVjZUluZGV4XSA9IGFkZHJlc3NbcGllY2VJbmRleF0gKiAweDEwMCArIGlwdjRQaWVjZTtcclxuXHJcbiAgICAgICAgKytudW1iZXJzU2VlbjtcclxuXHJcbiAgICAgICAgaWYgKG51bWJlcnNTZWVuID09PSAyIHx8IG51bWJlcnNTZWVuID09PSA0KSB7XHJcbiAgICAgICAgICArK3BpZWNlSW5kZXg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAobnVtYmVyc1NlZW4gIT09IDQpIHtcclxuICAgICAgICByZXR1cm4gZmFpbHVyZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgYnJlYWs7XHJcbiAgICB9IGVsc2UgaWYgKGlucHV0W3BvaW50ZXJdID09PSA1OCkge1xyXG4gICAgICArK3BvaW50ZXI7XHJcbiAgICAgIGlmIChpbnB1dFtwb2ludGVyXSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhaWx1cmU7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAoaW5wdXRbcG9pbnRlcl0gIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICByZXR1cm4gZmFpbHVyZTtcclxuICAgIH1cclxuXHJcbiAgICBhZGRyZXNzW3BpZWNlSW5kZXhdID0gdmFsdWU7XHJcbiAgICArK3BpZWNlSW5kZXg7XHJcbiAgfVxyXG5cclxuICBpZiAoY29tcHJlc3MgIT09IG51bGwpIHtcclxuICAgIGxldCBzd2FwcyA9IHBpZWNlSW5kZXggLSBjb21wcmVzcztcclxuICAgIHBpZWNlSW5kZXggPSA3O1xyXG4gICAgd2hpbGUgKHBpZWNlSW5kZXggIT09IDAgJiYgc3dhcHMgPiAwKSB7XHJcbiAgICAgIGNvbnN0IHRlbXAgPSBhZGRyZXNzW2NvbXByZXNzICsgc3dhcHMgLSAxXTtcclxuICAgICAgYWRkcmVzc1tjb21wcmVzcyArIHN3YXBzIC0gMV0gPSBhZGRyZXNzW3BpZWNlSW5kZXhdO1xyXG4gICAgICBhZGRyZXNzW3BpZWNlSW5kZXhdID0gdGVtcDtcclxuICAgICAgLS1waWVjZUluZGV4O1xyXG4gICAgICAtLXN3YXBzO1xyXG4gICAgfVxyXG4gIH0gZWxzZSBpZiAoY29tcHJlc3MgPT09IG51bGwgJiYgcGllY2VJbmRleCAhPT0gOCkge1xyXG4gICAgcmV0dXJuIGZhaWx1cmU7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gYWRkcmVzcztcclxufVxyXG5cclxuZnVuY3Rpb24gc2VyaWFsaXplSVB2NihhZGRyZXNzKSB7XHJcbiAgbGV0IG91dHB1dCA9IFwiXCI7XHJcbiAgY29uc3Qgc2VxUmVzdWx0ID0gZmluZExvbmdlc3RaZXJvU2VxdWVuY2UoYWRkcmVzcyk7XHJcbiAgY29uc3QgY29tcHJlc3MgPSBzZXFSZXN1bHQuaWR4O1xyXG4gIGxldCBpZ25vcmUwID0gZmFsc2U7XHJcblxyXG4gIGZvciAobGV0IHBpZWNlSW5kZXggPSAwOyBwaWVjZUluZGV4IDw9IDc7ICsrcGllY2VJbmRleCkge1xyXG4gICAgaWYgKGlnbm9yZTAgJiYgYWRkcmVzc1twaWVjZUluZGV4XSA9PT0gMCkge1xyXG4gICAgICBjb250aW51ZTtcclxuICAgIH0gZWxzZSBpZiAoaWdub3JlMCkge1xyXG4gICAgICBpZ25vcmUwID0gZmFsc2U7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGNvbXByZXNzID09PSBwaWVjZUluZGV4KSB7XHJcbiAgICAgIGNvbnN0IHNlcGFyYXRvciA9IHBpZWNlSW5kZXggPT09IDAgPyBcIjo6XCIgOiBcIjpcIjtcclxuICAgICAgb3V0cHV0ICs9IHNlcGFyYXRvcjtcclxuICAgICAgaWdub3JlMCA9IHRydWU7XHJcbiAgICAgIGNvbnRpbnVlO1xyXG4gICAgfVxyXG5cclxuICAgIG91dHB1dCArPSBhZGRyZXNzW3BpZWNlSW5kZXhdLnRvU3RyaW5nKDE2KTtcclxuXHJcbiAgICBpZiAocGllY2VJbmRleCAhPT0gNykge1xyXG4gICAgICBvdXRwdXQgKz0gXCI6XCI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gb3V0cHV0O1xyXG59XHJcblxyXG5mdW5jdGlvbiBwYXJzZUhvc3QoaW5wdXQsIGlzU3BlY2lhbEFyZykge1xyXG4gIGlmIChpbnB1dFswXSA9PT0gXCJbXCIpIHtcclxuICAgIGlmIChpbnB1dFtpbnB1dC5sZW5ndGggLSAxXSAhPT0gXCJdXCIpIHtcclxuICAgICAgcmV0dXJuIGZhaWx1cmU7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHBhcnNlSVB2NihpbnB1dC5zdWJzdHJpbmcoMSwgaW5wdXQubGVuZ3RoIC0gMSkpO1xyXG4gIH1cclxuXHJcbiAgaWYgKCFpc1NwZWNpYWxBcmcpIHtcclxuICAgIHJldHVybiBwYXJzZU9wYXF1ZUhvc3QoaW5wdXQpO1xyXG4gIH1cclxuXHJcbiAgY29uc3QgZG9tYWluID0gdXRmOFBlcmNlbnREZWNvZGUoaW5wdXQpO1xyXG4gIGNvbnN0IGFzY2lpRG9tYWluID0gdHI0Ni50b0FTQ0lJKGRvbWFpbiwgZmFsc2UsIHRyNDYuUFJPQ0VTU0lOR19PUFRJT05TLk5PTlRSQU5TSVRJT05BTCwgZmFsc2UpO1xyXG4gIGlmIChhc2NpaURvbWFpbiA9PT0gbnVsbCkge1xyXG4gICAgcmV0dXJuIGZhaWx1cmU7XHJcbiAgfVxyXG5cclxuICBpZiAoY29udGFpbnNGb3JiaWRkZW5Ib3N0Q29kZVBvaW50KGFzY2lpRG9tYWluKSkge1xyXG4gICAgcmV0dXJuIGZhaWx1cmU7XHJcbiAgfVxyXG5cclxuICBjb25zdCBpcHY0SG9zdCA9IHBhcnNlSVB2NChhc2NpaURvbWFpbik7XHJcbiAgaWYgKHR5cGVvZiBpcHY0SG9zdCA9PT0gXCJudW1iZXJcIiB8fCBpcHY0SG9zdCA9PT0gZmFpbHVyZSkge1xyXG4gICAgcmV0dXJuIGlwdjRIb3N0O1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGFzY2lpRG9tYWluO1xyXG59XHJcblxyXG5mdW5jdGlvbiBwYXJzZU9wYXF1ZUhvc3QoaW5wdXQpIHtcclxuICBpZiAoY29udGFpbnNGb3JiaWRkZW5Ib3N0Q29kZVBvaW50RXhjbHVkaW5nUGVyY2VudChpbnB1dCkpIHtcclxuICAgIHJldHVybiBmYWlsdXJlO1xyXG4gIH1cclxuXHJcbiAgbGV0IG91dHB1dCA9IFwiXCI7XHJcbiAgY29uc3QgZGVjb2RlZCA9IHB1bnljb2RlLnVjczIuZGVjb2RlKGlucHV0KTtcclxuICBmb3IgKGxldCBpID0gMDsgaSA8IGRlY29kZWQubGVuZ3RoOyArK2kpIHtcclxuICAgIG91dHB1dCArPSBwZXJjZW50RW5jb2RlQ2hhcihkZWNvZGVkW2ldLCBpc0MwQ29udHJvbFBlcmNlbnRFbmNvZGUpO1xyXG4gIH1cclxuICByZXR1cm4gb3V0cHV0O1xyXG59XHJcblxyXG5mdW5jdGlvbiBmaW5kTG9uZ2VzdFplcm9TZXF1ZW5jZShhcnIpIHtcclxuICBsZXQgbWF4SWR4ID0gbnVsbDtcclxuICBsZXQgbWF4TGVuID0gMTsgLy8gb25seSBmaW5kIGVsZW1lbnRzID4gMVxyXG4gIGxldCBjdXJyU3RhcnQgPSBudWxsO1xyXG4gIGxldCBjdXJyTGVuID0gMDtcclxuXHJcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnIubGVuZ3RoOyArK2kpIHtcclxuICAgIGlmIChhcnJbaV0gIT09IDApIHtcclxuICAgICAgaWYgKGN1cnJMZW4gPiBtYXhMZW4pIHtcclxuICAgICAgICBtYXhJZHggPSBjdXJyU3RhcnQ7XHJcbiAgICAgICAgbWF4TGVuID0gY3VyckxlbjtcclxuICAgICAgfVxyXG5cclxuICAgICAgY3VyclN0YXJ0ID0gbnVsbDtcclxuICAgICAgY3VyckxlbiA9IDA7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoY3VyclN0YXJ0ID09PSBudWxsKSB7XHJcbiAgICAgICAgY3VyclN0YXJ0ID0gaTtcclxuICAgICAgfVxyXG4gICAgICArK2N1cnJMZW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBpZiB0cmFpbGluZyB6ZXJvc1xyXG4gIGlmIChjdXJyTGVuID4gbWF4TGVuKSB7XHJcbiAgICBtYXhJZHggPSBjdXJyU3RhcnQ7XHJcbiAgICBtYXhMZW4gPSBjdXJyTGVuO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHtcclxuICAgIGlkeDogbWF4SWR4LFxyXG4gICAgbGVuOiBtYXhMZW5cclxuICB9O1xyXG59XHJcblxyXG5mdW5jdGlvbiBzZXJpYWxpemVIb3N0KGhvc3QpIHtcclxuICBpZiAodHlwZW9mIGhvc3QgPT09IFwibnVtYmVyXCIpIHtcclxuICAgIHJldHVybiBzZXJpYWxpemVJUHY0KGhvc3QpO1xyXG4gIH1cclxuXHJcbiAgLy8gSVB2NiBzZXJpYWxpemVyXHJcbiAgaWYgKGhvc3QgaW5zdGFuY2VvZiBBcnJheSkge1xyXG4gICAgcmV0dXJuIFwiW1wiICsgc2VyaWFsaXplSVB2Nihob3N0KSArIFwiXVwiO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIGhvc3Q7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHRyaW1Db250cm9sQ2hhcnModXJsKSB7XHJcbiAgcmV0dXJuIHVybC5yZXBsYWNlKC9eW1xcdTAwMDAtXFx1MDAxRlxcdTAwMjBdK3xbXFx1MDAwMC1cXHUwMDFGXFx1MDAyMF0rJC9nLCBcIlwiKTtcclxufVxyXG5cclxuZnVuY3Rpb24gdHJpbVRhYkFuZE5ld2xpbmUodXJsKSB7XHJcbiAgcmV0dXJuIHVybC5yZXBsYWNlKC9cXHUwMDA5fFxcdTAwMEF8XFx1MDAwRC9nLCBcIlwiKTtcclxufVxyXG5cclxuZnVuY3Rpb24gc2hvcnRlblBhdGgodXJsKSB7XHJcbiAgY29uc3QgcGF0aCA9IHVybC5wYXRoO1xyXG4gIGlmIChwYXRoLmxlbmd0aCA9PT0gMCkge1xyXG4gICAgcmV0dXJuO1xyXG4gIH1cclxuICBpZiAodXJsLnNjaGVtZSA9PT0gXCJmaWxlXCIgJiYgcGF0aC5sZW5ndGggPT09IDEgJiYgaXNOb3JtYWxpemVkV2luZG93c0RyaXZlTGV0dGVyKHBhdGhbMF0pKSB7XHJcbiAgICByZXR1cm47XHJcbiAgfVxyXG5cclxuICBwYXRoLnBvcCgpO1xyXG59XHJcblxyXG5mdW5jdGlvbiBpbmNsdWRlc0NyZWRlbnRpYWxzKHVybCkge1xyXG4gIHJldHVybiB1cmwudXNlcm5hbWUgIT09IFwiXCIgfHwgdXJsLnBhc3N3b3JkICE9PSBcIlwiO1xyXG59XHJcblxyXG5mdW5jdGlvbiBjYW5ub3RIYXZlQVVzZXJuYW1lUGFzc3dvcmRQb3J0KHVybCkge1xyXG4gIHJldHVybiB1cmwuaG9zdCA9PT0gbnVsbCB8fCB1cmwuaG9zdCA9PT0gXCJcIiB8fCB1cmwuY2Fubm90QmVBQmFzZVVSTCB8fCB1cmwuc2NoZW1lID09PSBcImZpbGVcIjtcclxufVxyXG5cclxuZnVuY3Rpb24gaXNOb3JtYWxpemVkV2luZG93c0RyaXZlTGV0dGVyKHN0cmluZykge1xyXG4gIHJldHVybiAvXltBLVphLXpdOiQvLnRlc3Qoc3RyaW5nKTtcclxufVxyXG5cclxuZnVuY3Rpb24gVVJMU3RhdGVNYWNoaW5lKGlucHV0LCBiYXNlLCBlbmNvZGluZ092ZXJyaWRlLCB1cmwsIHN0YXRlT3ZlcnJpZGUpIHtcclxuICB0aGlzLnBvaW50ZXIgPSAwO1xyXG4gIHRoaXMuaW5wdXQgPSBpbnB1dDtcclxuICB0aGlzLmJhc2UgPSBiYXNlIHx8IG51bGw7XHJcbiAgdGhpcy5lbmNvZGluZ092ZXJyaWRlID0gZW5jb2RpbmdPdmVycmlkZSB8fCBcInV0Zi04XCI7XHJcbiAgdGhpcy5zdGF0ZU92ZXJyaWRlID0gc3RhdGVPdmVycmlkZTtcclxuICB0aGlzLnVybCA9IHVybDtcclxuICB0aGlzLmZhaWx1cmUgPSBmYWxzZTtcclxuICB0aGlzLnBhcnNlRXJyb3IgPSBmYWxzZTtcclxuXHJcbiAgaWYgKCF0aGlzLnVybCkge1xyXG4gICAgdGhpcy51cmwgPSB7XHJcbiAgICAgIHNjaGVtZTogXCJcIixcclxuICAgICAgdXNlcm5hbWU6IFwiXCIsXHJcbiAgICAgIHBhc3N3b3JkOiBcIlwiLFxyXG4gICAgICBob3N0OiBudWxsLFxyXG4gICAgICBwb3J0OiBudWxsLFxyXG4gICAgICBwYXRoOiBbXSxcclxuICAgICAgcXVlcnk6IG51bGwsXHJcbiAgICAgIGZyYWdtZW50OiBudWxsLFxyXG5cclxuICAgICAgY2Fubm90QmVBQmFzZVVSTDogZmFsc2VcclxuICAgIH07XHJcblxyXG4gICAgY29uc3QgcmVzID0gdHJpbUNvbnRyb2xDaGFycyh0aGlzLmlucHV0KTtcclxuICAgIGlmIChyZXMgIT09IHRoaXMuaW5wdXQpIHtcclxuICAgICAgdGhpcy5wYXJzZUVycm9yID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuaW5wdXQgPSByZXM7XHJcbiAgfVxyXG5cclxuICBjb25zdCByZXMgPSB0cmltVGFiQW5kTmV3bGluZSh0aGlzLmlucHV0KTtcclxuICBpZiAocmVzICE9PSB0aGlzLmlucHV0KSB7XHJcbiAgICB0aGlzLnBhcnNlRXJyb3IgPSB0cnVlO1xyXG4gIH1cclxuICB0aGlzLmlucHV0ID0gcmVzO1xyXG5cclxuICB0aGlzLnN0YXRlID0gc3RhdGVPdmVycmlkZSB8fCBcInNjaGVtZSBzdGFydFwiO1xyXG5cclxuICB0aGlzLmJ1ZmZlciA9IFwiXCI7XHJcbiAgdGhpcy5hdEZsYWcgPSBmYWxzZTtcclxuICB0aGlzLmFyckZsYWcgPSBmYWxzZTtcclxuICB0aGlzLnBhc3N3b3JkVG9rZW5TZWVuRmxhZyA9IGZhbHNlO1xyXG5cclxuICB0aGlzLmlucHV0ID0gcHVueWNvZGUudWNzMi5kZWNvZGUodGhpcy5pbnB1dCk7XHJcblxyXG4gIGZvciAoOyB0aGlzLnBvaW50ZXIgPD0gdGhpcy5pbnB1dC5sZW5ndGg7ICsrdGhpcy5wb2ludGVyKSB7XHJcbiAgICBjb25zdCBjID0gdGhpcy5pbnB1dFt0aGlzLnBvaW50ZXJdO1xyXG4gICAgY29uc3QgY1N0ciA9IGlzTmFOKGMpID8gdW5kZWZpbmVkIDogU3RyaW5nLmZyb21Db2RlUG9pbnQoYyk7XHJcblxyXG4gICAgLy8gZXhlYyBzdGF0ZSBtYWNoaW5lXHJcbiAgICBjb25zdCByZXQgPSB0aGlzW1wicGFyc2UgXCIgKyB0aGlzLnN0YXRlXShjLCBjU3RyKTtcclxuICAgIGlmICghcmV0KSB7XHJcbiAgICAgIGJyZWFrOyAvLyB0ZXJtaW5hdGUgYWxnb3JpdGhtXHJcbiAgICB9IGVsc2UgaWYgKHJldCA9PT0gZmFpbHVyZSkge1xyXG4gICAgICB0aGlzLmZhaWx1cmUgPSB0cnVlO1xyXG4gICAgICBicmVhaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblVSTFN0YXRlTWFjaGluZS5wcm90b3R5cGVbXCJwYXJzZSBzY2hlbWUgc3RhcnRcIl0gPSBmdW5jdGlvbiBwYXJzZVNjaGVtZVN0YXJ0KGMsIGNTdHIpIHtcclxuICBpZiAoaXNBU0NJSUFscGhhKGMpKSB7XHJcbiAgICB0aGlzLmJ1ZmZlciArPSBjU3RyLnRvTG93ZXJDYXNlKCk7XHJcbiAgICB0aGlzLnN0YXRlID0gXCJzY2hlbWVcIjtcclxuICB9IGVsc2UgaWYgKCF0aGlzLnN0YXRlT3ZlcnJpZGUpIHtcclxuICAgIHRoaXMuc3RhdGUgPSBcIm5vIHNjaGVtZVwiO1xyXG4gICAgLS10aGlzLnBvaW50ZXI7XHJcbiAgfSBlbHNlIHtcclxuICAgIHRoaXMucGFyc2VFcnJvciA9IHRydWU7XHJcbiAgICByZXR1cm4gZmFpbHVyZTtcclxuICB9XHJcblxyXG4gIHJldHVybiB0cnVlO1xyXG59O1xyXG5cclxuVVJMU3RhdGVNYWNoaW5lLnByb3RvdHlwZVtcInBhcnNlIHNjaGVtZVwiXSA9IGZ1bmN0aW9uIHBhcnNlU2NoZW1lKGMsIGNTdHIpIHtcclxuICBpZiAoaXNBU0NJSUFscGhhbnVtZXJpYyhjKSB8fCBjID09PSA0MyB8fCBjID09PSA0NSB8fCBjID09PSA0Nikge1xyXG4gICAgdGhpcy5idWZmZXIgKz0gY1N0ci50b0xvd2VyQ2FzZSgpO1xyXG4gIH0gZWxzZSBpZiAoYyA9PT0gNTgpIHtcclxuICAgIGlmICh0aGlzLnN0YXRlT3ZlcnJpZGUpIHtcclxuICAgICAgaWYgKGlzU3BlY2lhbCh0aGlzLnVybCkgJiYgIWlzU3BlY2lhbFNjaGVtZSh0aGlzLmJ1ZmZlcikpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmICghaXNTcGVjaWFsKHRoaXMudXJsKSAmJiBpc1NwZWNpYWxTY2hlbWUodGhpcy5idWZmZXIpKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoKGluY2x1ZGVzQ3JlZGVudGlhbHModGhpcy51cmwpIHx8IHRoaXMudXJsLnBvcnQgIT09IG51bGwpICYmIHRoaXMuYnVmZmVyID09PSBcImZpbGVcIikge1xyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKHRoaXMudXJsLnNjaGVtZSA9PT0gXCJmaWxlXCIgJiYgKHRoaXMudXJsLmhvc3QgPT09IFwiXCIgfHwgdGhpcy51cmwuaG9zdCA9PT0gbnVsbCkpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMudXJsLnNjaGVtZSA9IHRoaXMuYnVmZmVyO1xyXG4gICAgdGhpcy5idWZmZXIgPSBcIlwiO1xyXG4gICAgaWYgKHRoaXMuc3RhdGVPdmVycmlkZSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy51cmwuc2NoZW1lID09PSBcImZpbGVcIikge1xyXG4gICAgICBpZiAodGhpcy5pbnB1dFt0aGlzLnBvaW50ZXIgKyAxXSAhPT0gNDcgfHwgdGhpcy5pbnB1dFt0aGlzLnBvaW50ZXIgKyAyXSAhPT0gNDcpIHtcclxuICAgICAgICB0aGlzLnBhcnNlRXJyb3IgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuc3RhdGUgPSBcImZpbGVcIjtcclxuICAgIH0gZWxzZSBpZiAoaXNTcGVjaWFsKHRoaXMudXJsKSAmJiB0aGlzLmJhc2UgIT09IG51bGwgJiYgdGhpcy5iYXNlLnNjaGVtZSA9PT0gdGhpcy51cmwuc2NoZW1lKSB7XHJcbiAgICAgIHRoaXMuc3RhdGUgPSBcInNwZWNpYWwgcmVsYXRpdmUgb3IgYXV0aG9yaXR5XCI7XHJcbiAgICB9IGVsc2UgaWYgKGlzU3BlY2lhbCh0aGlzLnVybCkpIHtcclxuICAgICAgdGhpcy5zdGF0ZSA9IFwic3BlY2lhbCBhdXRob3JpdHkgc2xhc2hlc1wiO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmlucHV0W3RoaXMucG9pbnRlciArIDFdID09PSA0Nykge1xyXG4gICAgICB0aGlzLnN0YXRlID0gXCJwYXRoIG9yIGF1dGhvcml0eVwiO1xyXG4gICAgICArK3RoaXMucG9pbnRlcjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMudXJsLmNhbm5vdEJlQUJhc2VVUkwgPSB0cnVlO1xyXG4gICAgICB0aGlzLnVybC5wYXRoLnB1c2goXCJcIik7XHJcbiAgICAgIHRoaXMuc3RhdGUgPSBcImNhbm5vdC1iZS1hLWJhc2UtVVJMIHBhdGhcIjtcclxuICAgIH1cclxuICB9IGVsc2UgaWYgKCF0aGlzLnN0YXRlT3ZlcnJpZGUpIHtcclxuICAgIHRoaXMuYnVmZmVyID0gXCJcIjtcclxuICAgIHRoaXMuc3RhdGUgPSBcIm5vIHNjaGVtZVwiO1xyXG4gICAgdGhpcy5wb2ludGVyID0gLTE7XHJcbiAgfSBlbHNlIHtcclxuICAgIHRoaXMucGFyc2VFcnJvciA9IHRydWU7XHJcbiAgICByZXR1cm4gZmFpbHVyZTtcclxuICB9XHJcblxyXG4gIHJldHVybiB0cnVlO1xyXG59O1xyXG5cclxuVVJMU3RhdGVNYWNoaW5lLnByb3RvdHlwZVtcInBhcnNlIG5vIHNjaGVtZVwiXSA9IGZ1bmN0aW9uIHBhcnNlTm9TY2hlbWUoYykge1xyXG4gIGlmICh0aGlzLmJhc2UgPT09IG51bGwgfHwgKHRoaXMuYmFzZS5jYW5ub3RCZUFCYXNlVVJMICYmIGMgIT09IDM1KSkge1xyXG4gICAgcmV0dXJuIGZhaWx1cmU7XHJcbiAgfSBlbHNlIGlmICh0aGlzLmJhc2UuY2Fubm90QmVBQmFzZVVSTCAmJiBjID09PSAzNSkge1xyXG4gICAgdGhpcy51cmwuc2NoZW1lID0gdGhpcy5iYXNlLnNjaGVtZTtcclxuICAgIHRoaXMudXJsLnBhdGggPSB0aGlzLmJhc2UucGF0aC5zbGljZSgpO1xyXG4gICAgdGhpcy51cmwucXVlcnkgPSB0aGlzLmJhc2UucXVlcnk7XHJcbiAgICB0aGlzLnVybC5mcmFnbWVudCA9IFwiXCI7XHJcbiAgICB0aGlzLnVybC5jYW5ub3RCZUFCYXNlVVJMID0gdHJ1ZTtcclxuICAgIHRoaXMuc3RhdGUgPSBcImZyYWdtZW50XCI7XHJcbiAgfSBlbHNlIGlmICh0aGlzLmJhc2Uuc2NoZW1lID09PSBcImZpbGVcIikge1xyXG4gICAgdGhpcy5zdGF0ZSA9IFwiZmlsZVwiO1xyXG4gICAgLS10aGlzLnBvaW50ZXI7XHJcbiAgfSBlbHNlIHtcclxuICAgIHRoaXMuc3RhdGUgPSBcInJlbGF0aXZlXCI7XHJcbiAgICAtLXRoaXMucG9pbnRlcjtcclxuICB9XHJcblxyXG4gIHJldHVybiB0cnVlO1xyXG59O1xyXG5cclxuVVJMU3RhdGVNYWNoaW5lLnByb3RvdHlwZVtcInBhcnNlIHNwZWNpYWwgcmVsYXRpdmUgb3IgYXV0aG9yaXR5XCJdID0gZnVuY3Rpb24gcGFyc2VTcGVjaWFsUmVsYXRpdmVPckF1dGhvcml0eShjKSB7XHJcbiAgaWYgKGMgPT09IDQ3ICYmIHRoaXMuaW5wdXRbdGhpcy5wb2ludGVyICsgMV0gPT09IDQ3KSB7XHJcbiAgICB0aGlzLnN0YXRlID0gXCJzcGVjaWFsIGF1dGhvcml0eSBpZ25vcmUgc2xhc2hlc1wiO1xyXG4gICAgKyt0aGlzLnBvaW50ZXI7XHJcbiAgfSBlbHNlIHtcclxuICAgIHRoaXMucGFyc2VFcnJvciA9IHRydWU7XHJcbiAgICB0aGlzLnN0YXRlID0gXCJyZWxhdGl2ZVwiO1xyXG4gICAgLS10aGlzLnBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdHJ1ZTtcclxufTtcclxuXHJcblVSTFN0YXRlTWFjaGluZS5wcm90b3R5cGVbXCJwYXJzZSBwYXRoIG9yIGF1dGhvcml0eVwiXSA9IGZ1bmN0aW9uIHBhcnNlUGF0aE9yQXV0aG9yaXR5KGMpIHtcclxuICBpZiAoYyA9PT0gNDcpIHtcclxuICAgIHRoaXMuc3RhdGUgPSBcImF1dGhvcml0eVwiO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLnN0YXRlID0gXCJwYXRoXCI7XHJcbiAgICAtLXRoaXMucG9pbnRlcjtcclxuICB9XHJcblxyXG4gIHJldHVybiB0cnVlO1xyXG59O1xyXG5cclxuVVJMU3RhdGVNYWNoaW5lLnByb3RvdHlwZVtcInBhcnNlIHJlbGF0aXZlXCJdID0gZnVuY3Rpb24gcGFyc2VSZWxhdGl2ZShjKSB7XHJcbiAgdGhpcy51cmwuc2NoZW1lID0gdGhpcy5iYXNlLnNjaGVtZTtcclxuICBpZiAoaXNOYU4oYykpIHtcclxuICAgIHRoaXMudXJsLnVzZXJuYW1lID0gdGhpcy5iYXNlLnVzZXJuYW1lO1xyXG4gICAgdGhpcy51cmwucGFzc3dvcmQgPSB0aGlzLmJhc2UucGFzc3dvcmQ7XHJcbiAgICB0aGlzLnVybC5ob3N0ID0gdGhpcy5iYXNlLmhvc3Q7XHJcbiAgICB0aGlzLnVybC5wb3J0ID0gdGhpcy5iYXNlLnBvcnQ7XHJcbiAgICB0aGlzLnVybC5wYXRoID0gdGhpcy5iYXNlLnBhdGguc2xpY2UoKTtcclxuICAgIHRoaXMudXJsLnF1ZXJ5ID0gdGhpcy5iYXNlLnF1ZXJ5O1xyXG4gIH0gZWxzZSBpZiAoYyA9PT0gNDcpIHtcclxuICAgIHRoaXMuc3RhdGUgPSBcInJlbGF0aXZlIHNsYXNoXCI7XHJcbiAgfSBlbHNlIGlmIChjID09PSA2Mykge1xyXG4gICAgdGhpcy51cmwudXNlcm5hbWUgPSB0aGlzLmJhc2UudXNlcm5hbWU7XHJcbiAgICB0aGlzLnVybC5wYXNzd29yZCA9IHRoaXMuYmFzZS5wYXNzd29yZDtcclxuICAgIHRoaXMudXJsLmhvc3QgPSB0aGlzLmJhc2UuaG9zdDtcclxuICAgIHRoaXMudXJsLnBvcnQgPSB0aGlzLmJhc2UucG9ydDtcclxuICAgIHRoaXMudXJsLnBhdGggPSB0aGlzLmJhc2UucGF0aC5zbGljZSgpO1xyXG4gICAgdGhpcy51cmwucXVlcnkgPSBcIlwiO1xyXG4gICAgdGhpcy5zdGF0ZSA9IFwicXVlcnlcIjtcclxuICB9IGVsc2UgaWYgKGMgPT09IDM1KSB7XHJcbiAgICB0aGlzLnVybC51c2VybmFtZSA9IHRoaXMuYmFzZS51c2VybmFtZTtcclxuICAgIHRoaXMudXJsLnBhc3N3b3JkID0gdGhpcy5iYXNlLnBhc3N3b3JkO1xyXG4gICAgdGhpcy51cmwuaG9zdCA9IHRoaXMuYmFzZS5ob3N0O1xyXG4gICAgdGhpcy51cmwucG9ydCA9IHRoaXMuYmFzZS5wb3J0O1xyXG4gICAgdGhpcy51cmwucGF0aCA9IHRoaXMuYmFzZS5wYXRoLnNsaWNlKCk7XHJcbiAgICB0aGlzLnVybC5xdWVyeSA9IHRoaXMuYmFzZS5xdWVyeTtcclxuICAgIHRoaXMudXJsLmZyYWdtZW50ID0gXCJcIjtcclxuICAgIHRoaXMuc3RhdGUgPSBcImZyYWdtZW50XCI7XHJcbiAgfSBlbHNlIGlmIChpc1NwZWNpYWwodGhpcy51cmwpICYmIGMgPT09IDkyKSB7XHJcbiAgICB0aGlzLnBhcnNlRXJyb3IgPSB0cnVlO1xyXG4gICAgdGhpcy5zdGF0ZSA9IFwicmVsYXRpdmUgc2xhc2hcIjtcclxuICB9IGVsc2Uge1xyXG4gICAgdGhpcy51cmwudXNlcm5hbWUgPSB0aGlzLmJhc2UudXNlcm5hbWU7XHJcbiAgICB0aGlzLnVybC5wYXNzd29yZCA9IHRoaXMuYmFzZS5wYXNzd29yZDtcclxuICAgIHRoaXMudXJsLmhvc3QgPSB0aGlzLmJhc2UuaG9zdDtcclxuICAgIHRoaXMudXJsLnBvcnQgPSB0aGlzLmJhc2UucG9ydDtcclxuICAgIHRoaXMudXJsLnBhdGggPSB0aGlzLmJhc2UucGF0aC5zbGljZSgwLCB0aGlzLmJhc2UucGF0aC5sZW5ndGggLSAxKTtcclxuXHJcbiAgICB0aGlzLnN0YXRlID0gXCJwYXRoXCI7XHJcbiAgICAtLXRoaXMucG9pbnRlcjtcclxuICB9XHJcblxyXG4gIHJldHVybiB0cnVlO1xyXG59O1xyXG5cclxuVVJMU3RhdGVNYWNoaW5lLnByb3RvdHlwZVtcInBhcnNlIHJlbGF0aXZlIHNsYXNoXCJdID0gZnVuY3Rpb24gcGFyc2VSZWxhdGl2ZVNsYXNoKGMpIHtcclxuICBpZiAoaXNTcGVjaWFsKHRoaXMudXJsKSAmJiAoYyA9PT0gNDcgfHwgYyA9PT0gOTIpKSB7XHJcbiAgICBpZiAoYyA9PT0gOTIpIHtcclxuICAgICAgdGhpcy5wYXJzZUVycm9yID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuc3RhdGUgPSBcInNwZWNpYWwgYXV0aG9yaXR5IGlnbm9yZSBzbGFzaGVzXCI7XHJcbiAgfSBlbHNlIGlmIChjID09PSA0Nykge1xyXG4gICAgdGhpcy5zdGF0ZSA9IFwiYXV0aG9yaXR5XCI7XHJcbiAgfSBlbHNlIHtcclxuICAgIHRoaXMudXJsLnVzZXJuYW1lID0gdGhpcy5iYXNlLnVzZXJuYW1lO1xyXG4gICAgdGhpcy51cmwucGFzc3dvcmQgPSB0aGlzLmJhc2UucGFzc3dvcmQ7XHJcbiAgICB0aGlzLnVybC5ob3N0ID0gdGhpcy5iYXNlLmhvc3Q7XHJcbiAgICB0aGlzLnVybC5wb3J0ID0gdGhpcy5iYXNlLnBvcnQ7XHJcbiAgICB0aGlzLnN0YXRlID0gXCJwYXRoXCI7XHJcbiAgICAtLXRoaXMucG9pbnRlcjtcclxuICB9XHJcblxyXG4gIHJldHVybiB0cnVlO1xyXG59O1xyXG5cclxuVVJMU3RhdGVNYWNoaW5lLnByb3RvdHlwZVtcInBhcnNlIHNwZWNpYWwgYXV0aG9yaXR5IHNsYXNoZXNcIl0gPSBmdW5jdGlvbiBwYXJzZVNwZWNpYWxBdXRob3JpdHlTbGFzaGVzKGMpIHtcclxuICBpZiAoYyA9PT0gNDcgJiYgdGhpcy5pbnB1dFt0aGlzLnBvaW50ZXIgKyAxXSA9PT0gNDcpIHtcclxuICAgIHRoaXMuc3RhdGUgPSBcInNwZWNpYWwgYXV0aG9yaXR5IGlnbm9yZSBzbGFzaGVzXCI7XHJcbiAgICArK3RoaXMucG9pbnRlcjtcclxuICB9IGVsc2Uge1xyXG4gICAgdGhpcy5wYXJzZUVycm9yID0gdHJ1ZTtcclxuICAgIHRoaXMuc3RhdGUgPSBcInNwZWNpYWwgYXV0aG9yaXR5IGlnbm9yZSBzbGFzaGVzXCI7XHJcbiAgICAtLXRoaXMucG9pbnRlcjtcclxuICB9XHJcblxyXG4gIHJldHVybiB0cnVlO1xyXG59O1xyXG5cclxuVVJMU3RhdGVNYWNoaW5lLnByb3RvdHlwZVtcInBhcnNlIHNwZWNpYWwgYXV0aG9yaXR5IGlnbm9yZSBzbGFzaGVzXCJdID0gZnVuY3Rpb24gcGFyc2VTcGVjaWFsQXV0aG9yaXR5SWdub3JlU2xhc2hlcyhjKSB7XHJcbiAgaWYgKGMgIT09IDQ3ICYmIGMgIT09IDkyKSB7XHJcbiAgICB0aGlzLnN0YXRlID0gXCJhdXRob3JpdHlcIjtcclxuICAgIC0tdGhpcy5wb2ludGVyO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLnBhcnNlRXJyb3IgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHRydWU7XHJcbn07XHJcblxyXG5VUkxTdGF0ZU1hY2hpbmUucHJvdG90eXBlW1wicGFyc2UgYXV0aG9yaXR5XCJdID0gZnVuY3Rpb24gcGFyc2VBdXRob3JpdHkoYywgY1N0cikge1xyXG4gIGlmIChjID09PSA2NCkge1xyXG4gICAgdGhpcy5wYXJzZUVycm9yID0gdHJ1ZTtcclxuICAgIGlmICh0aGlzLmF0RmxhZykge1xyXG4gICAgICB0aGlzLmJ1ZmZlciA9IFwiJTQwXCIgKyB0aGlzLmJ1ZmZlcjtcclxuICAgIH1cclxuICAgIHRoaXMuYXRGbGFnID0gdHJ1ZTtcclxuXHJcbiAgICAvLyBjYXJlZnVsLCB0aGlzIGlzIGJhc2VkIG9uIGJ1ZmZlciBhbmQgaGFzIGl0cyBvd24gcG9pbnRlciAodGhpcy5wb2ludGVyICE9IHBvaW50ZXIpIGFuZCBpbm5lciBjaGFyc1xyXG4gICAgY29uc3QgbGVuID0gY291bnRTeW1ib2xzKHRoaXMuYnVmZmVyKTtcclxuICAgIGZvciAobGV0IHBvaW50ZXIgPSAwOyBwb2ludGVyIDwgbGVuOyArK3BvaW50ZXIpIHtcclxuICAgICAgY29uc3QgY29kZVBvaW50ID0gdGhpcy5idWZmZXIuY29kZVBvaW50QXQocG9pbnRlcik7XHJcblxyXG4gICAgICBpZiAoY29kZVBvaW50ID09PSA1OCAmJiAhdGhpcy5wYXNzd29yZFRva2VuU2VlbkZsYWcpIHtcclxuICAgICAgICB0aGlzLnBhc3N3b3JkVG9rZW5TZWVuRmxhZyA9IHRydWU7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZW5jb2RlZENvZGVQb2ludHMgPSBwZXJjZW50RW5jb2RlQ2hhcihjb2RlUG9pbnQsIGlzVXNlcmluZm9QZXJjZW50RW5jb2RlKTtcclxuICAgICAgaWYgKHRoaXMucGFzc3dvcmRUb2tlblNlZW5GbGFnKSB7XHJcbiAgICAgICAgdGhpcy51cmwucGFzc3dvcmQgKz0gZW5jb2RlZENvZGVQb2ludHM7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy51cmwudXNlcm5hbWUgKz0gZW5jb2RlZENvZGVQb2ludHM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuYnVmZmVyID0gXCJcIjtcclxuICB9IGVsc2UgaWYgKGlzTmFOKGMpIHx8IGMgPT09IDQ3IHx8IGMgPT09IDYzIHx8IGMgPT09IDM1IHx8XHJcbiAgICAgICAgICAgICAoaXNTcGVjaWFsKHRoaXMudXJsKSAmJiBjID09PSA5MikpIHtcclxuICAgIGlmICh0aGlzLmF0RmxhZyAmJiB0aGlzLmJ1ZmZlciA9PT0gXCJcIikge1xyXG4gICAgICB0aGlzLnBhcnNlRXJyb3IgPSB0cnVlO1xyXG4gICAgICByZXR1cm4gZmFpbHVyZTtcclxuICAgIH1cclxuICAgIHRoaXMucG9pbnRlciAtPSBjb3VudFN5bWJvbHModGhpcy5idWZmZXIpICsgMTtcclxuICAgIHRoaXMuYnVmZmVyID0gXCJcIjtcclxuICAgIHRoaXMuc3RhdGUgPSBcImhvc3RcIjtcclxuICB9IGVsc2Uge1xyXG4gICAgdGhpcy5idWZmZXIgKz0gY1N0cjtcclxuICB9XHJcblxyXG4gIHJldHVybiB0cnVlO1xyXG59O1xyXG5cclxuVVJMU3RhdGVNYWNoaW5lLnByb3RvdHlwZVtcInBhcnNlIGhvc3RuYW1lXCJdID1cclxuVVJMU3RhdGVNYWNoaW5lLnByb3RvdHlwZVtcInBhcnNlIGhvc3RcIl0gPSBmdW5jdGlvbiBwYXJzZUhvc3ROYW1lKGMsIGNTdHIpIHtcclxuICBpZiAodGhpcy5zdGF0ZU92ZXJyaWRlICYmIHRoaXMudXJsLnNjaGVtZSA9PT0gXCJmaWxlXCIpIHtcclxuICAgIC0tdGhpcy5wb2ludGVyO1xyXG4gICAgdGhpcy5zdGF0ZSA9IFwiZmlsZSBob3N0XCI7XHJcbiAgfSBlbHNlIGlmIChjID09PSA1OCAmJiAhdGhpcy5hcnJGbGFnKSB7XHJcbiAgICBpZiAodGhpcy5idWZmZXIgPT09IFwiXCIpIHtcclxuICAgICAgdGhpcy5wYXJzZUVycm9yID0gdHJ1ZTtcclxuICAgICAgcmV0dXJuIGZhaWx1cmU7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgaG9zdCA9IHBhcnNlSG9zdCh0aGlzLmJ1ZmZlciwgaXNTcGVjaWFsKHRoaXMudXJsKSk7XHJcbiAgICBpZiAoaG9zdCA9PT0gZmFpbHVyZSkge1xyXG4gICAgICByZXR1cm4gZmFpbHVyZTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnVybC5ob3N0ID0gaG9zdDtcclxuICAgIHRoaXMuYnVmZmVyID0gXCJcIjtcclxuICAgIHRoaXMuc3RhdGUgPSBcInBvcnRcIjtcclxuICAgIGlmICh0aGlzLnN0YXRlT3ZlcnJpZGUgPT09IFwiaG9zdG5hbWVcIikge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfSBlbHNlIGlmIChpc05hTihjKSB8fCBjID09PSA0NyB8fCBjID09PSA2MyB8fCBjID09PSAzNSB8fFxyXG4gICAgICAgICAgICAgKGlzU3BlY2lhbCh0aGlzLnVybCkgJiYgYyA9PT0gOTIpKSB7XHJcbiAgICAtLXRoaXMucG9pbnRlcjtcclxuICAgIGlmIChpc1NwZWNpYWwodGhpcy51cmwpICYmIHRoaXMuYnVmZmVyID09PSBcIlwiKSB7XHJcbiAgICAgIHRoaXMucGFyc2VFcnJvciA9IHRydWU7XHJcbiAgICAgIHJldHVybiBmYWlsdXJlO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnN0YXRlT3ZlcnJpZGUgJiYgdGhpcy5idWZmZXIgPT09IFwiXCIgJiZcclxuICAgICAgICAgICAgICAgKGluY2x1ZGVzQ3JlZGVudGlhbHModGhpcy51cmwpIHx8IHRoaXMudXJsLnBvcnQgIT09IG51bGwpKSB7XHJcbiAgICAgIHRoaXMucGFyc2VFcnJvciA9IHRydWU7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBob3N0ID0gcGFyc2VIb3N0KHRoaXMuYnVmZmVyLCBpc1NwZWNpYWwodGhpcy51cmwpKTtcclxuICAgIGlmIChob3N0ID09PSBmYWlsdXJlKSB7XHJcbiAgICAgIHJldHVybiBmYWlsdXJlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudXJsLmhvc3QgPSBob3N0O1xyXG4gICAgdGhpcy5idWZmZXIgPSBcIlwiO1xyXG4gICAgdGhpcy5zdGF0ZSA9IFwicGF0aCBzdGFydFwiO1xyXG4gICAgaWYgKHRoaXMuc3RhdGVPdmVycmlkZSkge1xyXG4gICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIGlmIChjID09PSA5MSkge1xyXG4gICAgICB0aGlzLmFyckZsYWcgPSB0cnVlO1xyXG4gICAgfSBlbHNlIGlmIChjID09PSA5Mykge1xyXG4gICAgICB0aGlzLmFyckZsYWcgPSBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuYnVmZmVyICs9IGNTdHI7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdHJ1ZTtcclxufTtcclxuXHJcblVSTFN0YXRlTWFjaGluZS5wcm90b3R5cGVbXCJwYXJzZSBwb3J0XCJdID0gZnVuY3Rpb24gcGFyc2VQb3J0KGMsIGNTdHIpIHtcclxuICBpZiAoaXNBU0NJSURpZ2l0KGMpKSB7XHJcbiAgICB0aGlzLmJ1ZmZlciArPSBjU3RyO1xyXG4gIH0gZWxzZSBpZiAoaXNOYU4oYykgfHwgYyA9PT0gNDcgfHwgYyA9PT0gNjMgfHwgYyA9PT0gMzUgfHxcclxuICAgICAgICAgICAgIChpc1NwZWNpYWwodGhpcy51cmwpICYmIGMgPT09IDkyKSB8fFxyXG4gICAgICAgICAgICAgdGhpcy5zdGF0ZU92ZXJyaWRlKSB7XHJcbiAgICBpZiAodGhpcy5idWZmZXIgIT09IFwiXCIpIHtcclxuICAgICAgY29uc3QgcG9ydCA9IHBhcnNlSW50KHRoaXMuYnVmZmVyKTtcclxuICAgICAgaWYgKHBvcnQgPiBNYXRoLnBvdygyLCAxNikgLSAxKSB7XHJcbiAgICAgICAgdGhpcy5wYXJzZUVycm9yID0gdHJ1ZTtcclxuICAgICAgICByZXR1cm4gZmFpbHVyZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnVybC5wb3J0ID0gcG9ydCA9PT0gZGVmYXVsdFBvcnQodGhpcy51cmwuc2NoZW1lKSA/IG51bGwgOiBwb3J0O1xyXG4gICAgICB0aGlzLmJ1ZmZlciA9IFwiXCI7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5zdGF0ZU92ZXJyaWRlKSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICAgIHRoaXMuc3RhdGUgPSBcInBhdGggc3RhcnRcIjtcclxuICAgIC0tdGhpcy5wb2ludGVyO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB0aGlzLnBhcnNlRXJyb3IgPSB0cnVlO1xyXG4gICAgcmV0dXJuIGZhaWx1cmU7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdHJ1ZTtcclxufTtcclxuXHJcbmNvbnN0IGZpbGVPdGhlcndpc2VDb2RlUG9pbnRzID0gbmV3IFNldChbNDcsIDkyLCA2MywgMzVdKTtcclxuXHJcblVSTFN0YXRlTWFjaGluZS5wcm90b3R5cGVbXCJwYXJzZSBmaWxlXCJdID0gZnVuY3Rpb24gcGFyc2VGaWxlKGMpIHtcclxuICB0aGlzLnVybC5zY2hlbWUgPSBcImZpbGVcIjtcclxuXHJcbiAgaWYgKGMgPT09IDQ3IHx8IGMgPT09IDkyKSB7XHJcbiAgICBpZiAoYyA9PT0gOTIpIHtcclxuICAgICAgdGhpcy5wYXJzZUVycm9yID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHRoaXMuc3RhdGUgPSBcImZpbGUgc2xhc2hcIjtcclxuICB9IGVsc2UgaWYgKHRoaXMuYmFzZSAhPT0gbnVsbCAmJiB0aGlzLmJhc2Uuc2NoZW1lID09PSBcImZpbGVcIikge1xyXG4gICAgaWYgKGlzTmFOKGMpKSB7XHJcbiAgICAgIHRoaXMudXJsLmhvc3QgPSB0aGlzLmJhc2UuaG9zdDtcclxuICAgICAgdGhpcy51cmwucGF0aCA9IHRoaXMuYmFzZS5wYXRoLnNsaWNlKCk7XHJcbiAgICAgIHRoaXMudXJsLnF1ZXJ5ID0gdGhpcy5iYXNlLnF1ZXJ5O1xyXG4gICAgfSBlbHNlIGlmIChjID09PSA2Mykge1xyXG4gICAgICB0aGlzLnVybC5ob3N0ID0gdGhpcy5iYXNlLmhvc3Q7XHJcbiAgICAgIHRoaXMudXJsLnBhdGggPSB0aGlzLmJhc2UucGF0aC5zbGljZSgpO1xyXG4gICAgICB0aGlzLnVybC5xdWVyeSA9IFwiXCI7XHJcbiAgICAgIHRoaXMuc3RhdGUgPSBcInF1ZXJ5XCI7XHJcbiAgICB9IGVsc2UgaWYgKGMgPT09IDM1KSB7XHJcbiAgICAgIHRoaXMudXJsLmhvc3QgPSB0aGlzLmJhc2UuaG9zdDtcclxuICAgICAgdGhpcy51cmwucGF0aCA9IHRoaXMuYmFzZS5wYXRoLnNsaWNlKCk7XHJcbiAgICAgIHRoaXMudXJsLnF1ZXJ5ID0gdGhpcy5iYXNlLnF1ZXJ5O1xyXG4gICAgICB0aGlzLnVybC5mcmFnbWVudCA9IFwiXCI7XHJcbiAgICAgIHRoaXMuc3RhdGUgPSBcImZyYWdtZW50XCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAodGhpcy5pbnB1dC5sZW5ndGggLSB0aGlzLnBvaW50ZXIgLSAxID09PSAwIHx8IC8vIHJlbWFpbmluZyBjb25zaXN0cyBvZiAwIGNvZGUgcG9pbnRzXHJcbiAgICAgICAgICAhaXNXaW5kb3dzRHJpdmVMZXR0ZXJDb2RlUG9pbnRzKGMsIHRoaXMuaW5wdXRbdGhpcy5wb2ludGVyICsgMV0pIHx8XHJcbiAgICAgICAgICAodGhpcy5pbnB1dC5sZW5ndGggLSB0aGlzLnBvaW50ZXIgLSAxID49IDIgJiYgLy8gcmVtYWluaW5nIGhhcyBhdCBsZWFzdCAyIGNvZGUgcG9pbnRzXHJcbiAgICAgICAgICAgIWZpbGVPdGhlcndpc2VDb2RlUG9pbnRzLmhhcyh0aGlzLmlucHV0W3RoaXMucG9pbnRlciArIDJdKSkpIHtcclxuICAgICAgICB0aGlzLnVybC5ob3N0ID0gdGhpcy5iYXNlLmhvc3Q7XHJcbiAgICAgICAgdGhpcy51cmwucGF0aCA9IHRoaXMuYmFzZS5wYXRoLnNsaWNlKCk7XHJcbiAgICAgICAgc2hvcnRlblBhdGgodGhpcy51cmwpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucGFyc2VFcnJvciA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMuc3RhdGUgPSBcInBhdGhcIjtcclxuICAgICAgLS10aGlzLnBvaW50ZXI7XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIHRoaXMuc3RhdGUgPSBcInBhdGhcIjtcclxuICAgIC0tdGhpcy5wb2ludGVyO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHRydWU7XHJcbn07XHJcblxyXG5VUkxTdGF0ZU1hY2hpbmUucHJvdG90eXBlW1wicGFyc2UgZmlsZSBzbGFzaFwiXSA9IGZ1bmN0aW9uIHBhcnNlRmlsZVNsYXNoKGMpIHtcclxuICBpZiAoYyA9PT0gNDcgfHwgYyA9PT0gOTIpIHtcclxuICAgIGlmIChjID09PSA5Mikge1xyXG4gICAgICB0aGlzLnBhcnNlRXJyb3IgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zdGF0ZSA9IFwiZmlsZSBob3N0XCI7XHJcbiAgfSBlbHNlIHtcclxuICAgIGlmICh0aGlzLmJhc2UgIT09IG51bGwgJiYgdGhpcy5iYXNlLnNjaGVtZSA9PT0gXCJmaWxlXCIpIHtcclxuICAgICAgaWYgKGlzTm9ybWFsaXplZFdpbmRvd3NEcml2ZUxldHRlclN0cmluZyh0aGlzLmJhc2UucGF0aFswXSkpIHtcclxuICAgICAgICB0aGlzLnVybC5wYXRoLnB1c2godGhpcy5iYXNlLnBhdGhbMF0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudXJsLmhvc3QgPSB0aGlzLmJhc2UuaG9zdDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zdGF0ZSA9IFwicGF0aFwiO1xyXG4gICAgLS10aGlzLnBvaW50ZXI7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdHJ1ZTtcclxufTtcclxuXHJcblVSTFN0YXRlTWFjaGluZS5wcm90b3R5cGVbXCJwYXJzZSBmaWxlIGhvc3RcIl0gPSBmdW5jdGlvbiBwYXJzZUZpbGVIb3N0KGMsIGNTdHIpIHtcclxuICBpZiAoaXNOYU4oYykgfHwgYyA9PT0gNDcgfHwgYyA9PT0gOTIgfHwgYyA9PT0gNjMgfHwgYyA9PT0gMzUpIHtcclxuICAgIC0tdGhpcy5wb2ludGVyO1xyXG4gICAgaWYgKCF0aGlzLnN0YXRlT3ZlcnJpZGUgJiYgaXNXaW5kb3dzRHJpdmVMZXR0ZXJTdHJpbmcodGhpcy5idWZmZXIpKSB7XHJcbiAgICAgIHRoaXMucGFyc2VFcnJvciA9IHRydWU7XHJcbiAgICAgIHRoaXMuc3RhdGUgPSBcInBhdGhcIjtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5idWZmZXIgPT09IFwiXCIpIHtcclxuICAgICAgdGhpcy51cmwuaG9zdCA9IFwiXCI7XHJcbiAgICAgIGlmICh0aGlzLnN0YXRlT3ZlcnJpZGUpIHtcclxuICAgICAgICByZXR1cm4gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5zdGF0ZSA9IFwicGF0aCBzdGFydFwiO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IGhvc3QgPSBwYXJzZUhvc3QodGhpcy5idWZmZXIsIGlzU3BlY2lhbCh0aGlzLnVybCkpO1xyXG4gICAgICBpZiAoaG9zdCA9PT0gZmFpbHVyZSkge1xyXG4gICAgICAgIHJldHVybiBmYWlsdXJlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChob3N0ID09PSBcImxvY2FsaG9zdFwiKSB7XHJcbiAgICAgICAgaG9zdCA9IFwiXCI7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy51cmwuaG9zdCA9IGhvc3Q7XHJcblxyXG4gICAgICBpZiAodGhpcy5zdGF0ZU92ZXJyaWRlKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICB0aGlzLmJ1ZmZlciA9IFwiXCI7XHJcbiAgICAgIHRoaXMuc3RhdGUgPSBcInBhdGggc3RhcnRcIjtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgdGhpcy5idWZmZXIgKz0gY1N0cjtcclxuICB9XHJcblxyXG4gIHJldHVybiB0cnVlO1xyXG59O1xyXG5cclxuVVJMU3RhdGVNYWNoaW5lLnByb3RvdHlwZVtcInBhcnNlIHBhdGggc3RhcnRcIl0gPSBmdW5jdGlvbiBwYXJzZVBhdGhTdGFydChjKSB7XHJcbiAgaWYgKGlzU3BlY2lhbCh0aGlzLnVybCkpIHtcclxuICAgIGlmIChjID09PSA5Mikge1xyXG4gICAgICB0aGlzLnBhcnNlRXJyb3IgPSB0cnVlO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zdGF0ZSA9IFwicGF0aFwiO1xyXG5cclxuICAgIGlmIChjICE9PSA0NyAmJiBjICE9PSA5Mikge1xyXG4gICAgICAtLXRoaXMucG9pbnRlcjtcclxuICAgIH1cclxuICB9IGVsc2UgaWYgKCF0aGlzLnN0YXRlT3ZlcnJpZGUgJiYgYyA9PT0gNjMpIHtcclxuICAgIHRoaXMudXJsLnF1ZXJ5ID0gXCJcIjtcclxuICAgIHRoaXMuc3RhdGUgPSBcInF1ZXJ5XCI7XHJcbiAgfSBlbHNlIGlmICghdGhpcy5zdGF0ZU92ZXJyaWRlICYmIGMgPT09IDM1KSB7XHJcbiAgICB0aGlzLnVybC5mcmFnbWVudCA9IFwiXCI7XHJcbiAgICB0aGlzLnN0YXRlID0gXCJmcmFnbWVudFwiO1xyXG4gIH0gZWxzZSBpZiAoYyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICB0aGlzLnN0YXRlID0gXCJwYXRoXCI7XHJcbiAgICBpZiAoYyAhPT0gNDcpIHtcclxuICAgICAgLS10aGlzLnBvaW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdHJ1ZTtcclxufTtcclxuXHJcblVSTFN0YXRlTWFjaGluZS5wcm90b3R5cGVbXCJwYXJzZSBwYXRoXCJdID0gZnVuY3Rpb24gcGFyc2VQYXRoKGMpIHtcclxuICBpZiAoaXNOYU4oYykgfHwgYyA9PT0gNDcgfHwgKGlzU3BlY2lhbCh0aGlzLnVybCkgJiYgYyA9PT0gOTIpIHx8XHJcbiAgICAgICghdGhpcy5zdGF0ZU92ZXJyaWRlICYmIChjID09PSA2MyB8fCBjID09PSAzNSkpKSB7XHJcbiAgICBpZiAoaXNTcGVjaWFsKHRoaXMudXJsKSAmJiBjID09PSA5Mikge1xyXG4gICAgICB0aGlzLnBhcnNlRXJyb3IgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChpc0RvdWJsZURvdCh0aGlzLmJ1ZmZlcikpIHtcclxuICAgICAgc2hvcnRlblBhdGgodGhpcy51cmwpO1xyXG4gICAgICBpZiAoYyAhPT0gNDcgJiYgIShpc1NwZWNpYWwodGhpcy51cmwpICYmIGMgPT09IDkyKSkge1xyXG4gICAgICAgIHRoaXMudXJsLnBhdGgucHVzaChcIlwiKTtcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIGlmIChpc1NpbmdsZURvdCh0aGlzLmJ1ZmZlcikgJiYgYyAhPT0gNDcgJiZcclxuICAgICAgICAgICAgICAgIShpc1NwZWNpYWwodGhpcy51cmwpICYmIGMgPT09IDkyKSkge1xyXG4gICAgICB0aGlzLnVybC5wYXRoLnB1c2goXCJcIik7XHJcbiAgICB9IGVsc2UgaWYgKCFpc1NpbmdsZURvdCh0aGlzLmJ1ZmZlcikpIHtcclxuICAgICAgaWYgKHRoaXMudXJsLnNjaGVtZSA9PT0gXCJmaWxlXCIgJiYgdGhpcy51cmwucGF0aC5sZW5ndGggPT09IDAgJiYgaXNXaW5kb3dzRHJpdmVMZXR0ZXJTdHJpbmcodGhpcy5idWZmZXIpKSB7XHJcbiAgICAgICAgaWYgKHRoaXMudXJsLmhvc3QgIT09IFwiXCIgJiYgdGhpcy51cmwuaG9zdCAhPT0gbnVsbCkge1xyXG4gICAgICAgICAgdGhpcy5wYXJzZUVycm9yID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMudXJsLmhvc3QgPSBcIlwiO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmJ1ZmZlciA9IHRoaXMuYnVmZmVyWzBdICsgXCI6XCI7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy51cmwucGF0aC5wdXNoKHRoaXMuYnVmZmVyKTtcclxuICAgIH1cclxuICAgIHRoaXMuYnVmZmVyID0gXCJcIjtcclxuICAgIGlmICh0aGlzLnVybC5zY2hlbWUgPT09IFwiZmlsZVwiICYmIChjID09PSB1bmRlZmluZWQgfHwgYyA9PT0gNjMgfHwgYyA9PT0gMzUpKSB7XHJcbiAgICAgIHdoaWxlICh0aGlzLnVybC5wYXRoLmxlbmd0aCA+IDEgJiYgdGhpcy51cmwucGF0aFswXSA9PT0gXCJcIikge1xyXG4gICAgICAgIHRoaXMucGFyc2VFcnJvciA9IHRydWU7XHJcbiAgICAgICAgdGhpcy51cmwucGF0aC5zaGlmdCgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAoYyA9PT0gNjMpIHtcclxuICAgICAgdGhpcy51cmwucXVlcnkgPSBcIlwiO1xyXG4gICAgICB0aGlzLnN0YXRlID0gXCJxdWVyeVwiO1xyXG4gICAgfVxyXG4gICAgaWYgKGMgPT09IDM1KSB7XHJcbiAgICAgIHRoaXMudXJsLmZyYWdtZW50ID0gXCJcIjtcclxuICAgICAgdGhpcy5zdGF0ZSA9IFwiZnJhZ21lbnRcIjtcclxuICAgIH1cclxuICB9IGVsc2Uge1xyXG4gICAgLy8gVE9ETzogSWYgYyBpcyBub3QgYSBVUkwgY29kZSBwb2ludCBhbmQgbm90IFwiJVwiLCBwYXJzZSBlcnJvci5cclxuXHJcbiAgICBpZiAoYyA9PT0gMzcgJiZcclxuICAgICAgKCFpc0FTQ0lJSGV4KHRoaXMuaW5wdXRbdGhpcy5wb2ludGVyICsgMV0pIHx8XHJcbiAgICAgICAgIWlzQVNDSUlIZXgodGhpcy5pbnB1dFt0aGlzLnBvaW50ZXIgKyAyXSkpKSB7XHJcbiAgICAgIHRoaXMucGFyc2VFcnJvciA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5idWZmZXIgKz0gcGVyY2VudEVuY29kZUNoYXIoYywgaXNQYXRoUGVyY2VudEVuY29kZSk7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdHJ1ZTtcclxufTtcclxuXHJcblVSTFN0YXRlTWFjaGluZS5wcm90b3R5cGVbXCJwYXJzZSBjYW5ub3QtYmUtYS1iYXNlLVVSTCBwYXRoXCJdID0gZnVuY3Rpb24gcGFyc2VDYW5ub3RCZUFCYXNlVVJMUGF0aChjKSB7XHJcbiAgaWYgKGMgPT09IDYzKSB7XHJcbiAgICB0aGlzLnVybC5xdWVyeSA9IFwiXCI7XHJcbiAgICB0aGlzLnN0YXRlID0gXCJxdWVyeVwiO1xyXG4gIH0gZWxzZSBpZiAoYyA9PT0gMzUpIHtcclxuICAgIHRoaXMudXJsLmZyYWdtZW50ID0gXCJcIjtcclxuICAgIHRoaXMuc3RhdGUgPSBcImZyYWdtZW50XCI7XHJcbiAgfSBlbHNlIHtcclxuICAgIC8vIFRPRE86IEFkZDogbm90IGEgVVJMIGNvZGUgcG9pbnRcclxuICAgIGlmICghaXNOYU4oYykgJiYgYyAhPT0gMzcpIHtcclxuICAgICAgdGhpcy5wYXJzZUVycm9yID0gdHJ1ZTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoYyA9PT0gMzcgJiZcclxuICAgICAgICAoIWlzQVNDSUlIZXgodGhpcy5pbnB1dFt0aGlzLnBvaW50ZXIgKyAxXSkgfHxcclxuICAgICAgICAgIWlzQVNDSUlIZXgodGhpcy5pbnB1dFt0aGlzLnBvaW50ZXIgKyAyXSkpKSB7XHJcbiAgICAgIHRoaXMucGFyc2VFcnJvciA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCFpc05hTihjKSkge1xyXG4gICAgICB0aGlzLnVybC5wYXRoWzBdID0gdGhpcy51cmwucGF0aFswXSArIHBlcmNlbnRFbmNvZGVDaGFyKGMsIGlzQzBDb250cm9sUGVyY2VudEVuY29kZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdHJ1ZTtcclxufTtcclxuXHJcblVSTFN0YXRlTWFjaGluZS5wcm90b3R5cGVbXCJwYXJzZSBxdWVyeVwiXSA9IGZ1bmN0aW9uIHBhcnNlUXVlcnkoYywgY1N0cikge1xyXG4gIGlmIChpc05hTihjKSB8fCAoIXRoaXMuc3RhdGVPdmVycmlkZSAmJiBjID09PSAzNSkpIHtcclxuICAgIGlmICghaXNTcGVjaWFsKHRoaXMudXJsKSB8fCB0aGlzLnVybC5zY2hlbWUgPT09IFwid3NcIiB8fCB0aGlzLnVybC5zY2hlbWUgPT09IFwid3NzXCIpIHtcclxuICAgICAgdGhpcy5lbmNvZGluZ092ZXJyaWRlID0gXCJ1dGYtOFwiO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGJ1ZmZlciA9IG5ldyBCdWZmZXIodGhpcy5idWZmZXIpOyAvLyBUT0RPOiBVc2UgZW5jb2Rpbmcgb3ZlcnJpZGUgaW5zdGVhZFxyXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBidWZmZXIubGVuZ3RoOyArK2kpIHtcclxuICAgICAgaWYgKGJ1ZmZlcltpXSA8IDB4MjEgfHwgYnVmZmVyW2ldID4gMHg3RSB8fCBidWZmZXJbaV0gPT09IDB4MjIgfHwgYnVmZmVyW2ldID09PSAweDIzIHx8XHJcbiAgICAgICAgICBidWZmZXJbaV0gPT09IDB4M0MgfHwgYnVmZmVyW2ldID09PSAweDNFKSB7XHJcbiAgICAgICAgdGhpcy51cmwucXVlcnkgKz0gcGVyY2VudEVuY29kZShidWZmZXJbaV0pO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMudXJsLnF1ZXJ5ICs9IFN0cmluZy5mcm9tQ29kZVBvaW50KGJ1ZmZlcltpXSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmJ1ZmZlciA9IFwiXCI7XHJcbiAgICBpZiAoYyA9PT0gMzUpIHtcclxuICAgICAgdGhpcy51cmwuZnJhZ21lbnQgPSBcIlwiO1xyXG4gICAgICB0aGlzLnN0YXRlID0gXCJmcmFnbWVudFwiO1xyXG4gICAgfVxyXG4gIH0gZWxzZSB7XHJcbiAgICAvLyBUT0RPOiBJZiBjIGlzIG5vdCBhIFVSTCBjb2RlIHBvaW50IGFuZCBub3QgXCIlXCIsIHBhcnNlIGVycm9yLlxyXG4gICAgaWYgKGMgPT09IDM3ICYmXHJcbiAgICAgICghaXNBU0NJSUhleCh0aGlzLmlucHV0W3RoaXMucG9pbnRlciArIDFdKSB8fFxyXG4gICAgICAgICFpc0FTQ0lJSGV4KHRoaXMuaW5wdXRbdGhpcy5wb2ludGVyICsgMl0pKSkge1xyXG4gICAgICB0aGlzLnBhcnNlRXJyb3IgPSB0cnVlO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYnVmZmVyICs9IGNTdHI7XHJcbiAgfVxyXG5cclxuICByZXR1cm4gdHJ1ZTtcclxufTtcclxuXHJcblVSTFN0YXRlTWFjaGluZS5wcm90b3R5cGVbXCJwYXJzZSBmcmFnbWVudFwiXSA9IGZ1bmN0aW9uIHBhcnNlRnJhZ21lbnQoYykge1xyXG4gIGlmIChpc05hTihjKSkgeyAvLyBkbyBub3RoaW5nXHJcbiAgfSBlbHNlIGlmIChjID09PSAweDApIHtcclxuICAgIHRoaXMucGFyc2VFcnJvciA9IHRydWU7XHJcbiAgfSBlbHNlIHtcclxuICAgIC8vIFRPRE86IElmIGMgaXMgbm90IGEgVVJMIGNvZGUgcG9pbnQgYW5kIG5vdCBcIiVcIiwgcGFyc2UgZXJyb3IuXHJcbiAgICBpZiAoYyA9PT0gMzcgJiZcclxuICAgICAgKCFpc0FTQ0lJSGV4KHRoaXMuaW5wdXRbdGhpcy5wb2ludGVyICsgMV0pIHx8XHJcbiAgICAgICAgIWlzQVNDSUlIZXgodGhpcy5pbnB1dFt0aGlzLnBvaW50ZXIgKyAyXSkpKSB7XHJcbiAgICAgIHRoaXMucGFyc2VFcnJvciA9IHRydWU7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51cmwuZnJhZ21lbnQgKz0gcGVyY2VudEVuY29kZUNoYXIoYywgaXNDMENvbnRyb2xQZXJjZW50RW5jb2RlKTtcclxuICB9XHJcblxyXG4gIHJldHVybiB0cnVlO1xyXG59O1xyXG5cclxuZnVuY3Rpb24gc2VyaWFsaXplVVJMKHVybCwgZXhjbHVkZUZyYWdtZW50KSB7XHJcbiAgbGV0IG91dHB1dCA9IHVybC5zY2hlbWUgKyBcIjpcIjtcclxuICBpZiAodXJsLmhvc3QgIT09IG51bGwpIHtcclxuICAgIG91dHB1dCArPSBcIi8vXCI7XHJcblxyXG4gICAgaWYgKHVybC51c2VybmFtZSAhPT0gXCJcIiB8fCB1cmwucGFzc3dvcmQgIT09IFwiXCIpIHtcclxuICAgICAgb3V0cHV0ICs9IHVybC51c2VybmFtZTtcclxuICAgICAgaWYgKHVybC5wYXNzd29yZCAhPT0gXCJcIikge1xyXG4gICAgICAgIG91dHB1dCArPSBcIjpcIiArIHVybC5wYXNzd29yZDtcclxuICAgICAgfVxyXG4gICAgICBvdXRwdXQgKz0gXCJAXCI7XHJcbiAgICB9XHJcblxyXG4gICAgb3V0cHV0ICs9IHNlcmlhbGl6ZUhvc3QodXJsLmhvc3QpO1xyXG5cclxuICAgIGlmICh1cmwucG9ydCAhPT0gbnVsbCkge1xyXG4gICAgICBvdXRwdXQgKz0gXCI6XCIgKyB1cmwucG9ydDtcclxuICAgIH1cclxuICB9IGVsc2UgaWYgKHVybC5ob3N0ID09PSBudWxsICYmIHVybC5zY2hlbWUgPT09IFwiZmlsZVwiKSB7XHJcbiAgICBvdXRwdXQgKz0gXCIvL1wiO1xyXG4gIH1cclxuXHJcbiAgaWYgKHVybC5jYW5ub3RCZUFCYXNlVVJMKSB7XHJcbiAgICBvdXRwdXQgKz0gdXJsLnBhdGhbMF07XHJcbiAgfSBlbHNlIHtcclxuICAgIGZvciAoY29uc3Qgc3RyaW5nIG9mIHVybC5wYXRoKSB7XHJcbiAgICAgIG91dHB1dCArPSBcIi9cIiArIHN0cmluZztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGlmICh1cmwucXVlcnkgIT09IG51bGwpIHtcclxuICAgIG91dHB1dCArPSBcIj9cIiArIHVybC5xdWVyeTtcclxuICB9XHJcblxyXG4gIGlmICghZXhjbHVkZUZyYWdtZW50ICYmIHVybC5mcmFnbWVudCAhPT0gbnVsbCkge1xyXG4gICAgb3V0cHV0ICs9IFwiI1wiICsgdXJsLmZyYWdtZW50O1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIG91dHB1dDtcclxufVxyXG5cclxuZnVuY3Rpb24gc2VyaWFsaXplT3JpZ2luKHR1cGxlKSB7XHJcbiAgbGV0IHJlc3VsdCA9IHR1cGxlLnNjaGVtZSArIFwiOi8vXCI7XHJcbiAgcmVzdWx0ICs9IHNlcmlhbGl6ZUhvc3QodHVwbGUuaG9zdCk7XHJcblxyXG4gIGlmICh0dXBsZS5wb3J0ICE9PSBudWxsKSB7XHJcbiAgICByZXN1bHQgKz0gXCI6XCIgKyB0dXBsZS5wb3J0O1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxubW9kdWxlLmV4cG9ydHMuc2VyaWFsaXplVVJMID0gc2VyaWFsaXplVVJMO1xyXG5cclxubW9kdWxlLmV4cG9ydHMuc2VyaWFsaXplVVJMT3JpZ2luID0gZnVuY3Rpb24gKHVybCkge1xyXG4gIC8vIGh0dHBzOi8vdXJsLnNwZWMud2hhdHdnLm9yZy8jY29uY2VwdC11cmwtb3JpZ2luXHJcbiAgc3dpdGNoICh1cmwuc2NoZW1lKSB7XHJcbiAgICBjYXNlIFwiYmxvYlwiOlxyXG4gICAgICB0cnkge1xyXG4gICAgICAgIHJldHVybiBtb2R1bGUuZXhwb3J0cy5zZXJpYWxpemVVUkxPcmlnaW4obW9kdWxlLmV4cG9ydHMucGFyc2VVUkwodXJsLnBhdGhbMF0pKTtcclxuICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgIC8vIHNlcmlhbGl6aW5nIGFuIG9wYXF1ZSBvcmlnaW4gcmV0dXJucyBcIm51bGxcIlxyXG4gICAgICAgIHJldHVybiBcIm51bGxcIjtcclxuICAgICAgfVxyXG4gICAgY2FzZSBcImZ0cFwiOlxyXG4gICAgY2FzZSBcImdvcGhlclwiOlxyXG4gICAgY2FzZSBcImh0dHBcIjpcclxuICAgIGNhc2UgXCJodHRwc1wiOlxyXG4gICAgY2FzZSBcIndzXCI6XHJcbiAgICBjYXNlIFwid3NzXCI6XHJcbiAgICAgIHJldHVybiBzZXJpYWxpemVPcmlnaW4oe1xyXG4gICAgICAgIHNjaGVtZTogdXJsLnNjaGVtZSxcclxuICAgICAgICBob3N0OiB1cmwuaG9zdCxcclxuICAgICAgICBwb3J0OiB1cmwucG9ydFxyXG4gICAgICB9KTtcclxuICAgIGNhc2UgXCJmaWxlXCI6XHJcbiAgICAgIC8vIHNwZWMgc2F5cyBcImV4ZXJjaXNlIHRvIHRoZSByZWFkZXJcIiwgY2hyb21lIHNheXMgXCJmaWxlOi8vXCJcclxuICAgICAgcmV0dXJuIFwiZmlsZTovL1wiO1xyXG4gICAgZGVmYXVsdDpcclxuICAgICAgLy8gc2VyaWFsaXppbmcgYW4gb3BhcXVlIG9yaWdpbiByZXR1cm5zIFwibnVsbFwiXHJcbiAgICAgIHJldHVybiBcIm51bGxcIjtcclxuICB9XHJcbn07XHJcblxyXG5tb2R1bGUuZXhwb3J0cy5iYXNpY1VSTFBhcnNlID0gZnVuY3Rpb24gKGlucHV0LCBvcHRpb25zKSB7XHJcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgb3B0aW9ucyA9IHt9O1xyXG4gIH1cclxuXHJcbiAgY29uc3QgdXNtID0gbmV3IFVSTFN0YXRlTWFjaGluZShpbnB1dCwgb3B0aW9ucy5iYXNlVVJMLCBvcHRpb25zLmVuY29kaW5nT3ZlcnJpZGUsIG9wdGlvbnMudXJsLCBvcHRpb25zLnN0YXRlT3ZlcnJpZGUpO1xyXG4gIGlmICh1c20uZmFpbHVyZSkge1xyXG4gICAgcmV0dXJuIFwiZmFpbHVyZVwiO1xyXG4gIH1cclxuXHJcbiAgcmV0dXJuIHVzbS51cmw7XHJcbn07XHJcblxyXG5tb2R1bGUuZXhwb3J0cy5zZXRUaGVVc2VybmFtZSA9IGZ1bmN0aW9uICh1cmwsIHVzZXJuYW1lKSB7XHJcbiAgdXJsLnVzZXJuYW1lID0gXCJcIjtcclxuICBjb25zdCBkZWNvZGVkID0gcHVueWNvZGUudWNzMi5kZWNvZGUodXNlcm5hbWUpO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZGVjb2RlZC5sZW5ndGg7ICsraSkge1xyXG4gICAgdXJsLnVzZXJuYW1lICs9IHBlcmNlbnRFbmNvZGVDaGFyKGRlY29kZWRbaV0sIGlzVXNlcmluZm9QZXJjZW50RW5jb2RlKTtcclxuICB9XHJcbn07XHJcblxyXG5tb2R1bGUuZXhwb3J0cy5zZXRUaGVQYXNzd29yZCA9IGZ1bmN0aW9uICh1cmwsIHBhc3N3b3JkKSB7XHJcbiAgdXJsLnBhc3N3b3JkID0gXCJcIjtcclxuICBjb25zdCBkZWNvZGVkID0gcHVueWNvZGUudWNzMi5kZWNvZGUocGFzc3dvcmQpO1xyXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgZGVjb2RlZC5sZW5ndGg7ICsraSkge1xyXG4gICAgdXJsLnBhc3N3b3JkICs9IHBlcmNlbnRFbmNvZGVDaGFyKGRlY29kZWRbaV0sIGlzVXNlcmluZm9QZXJjZW50RW5jb2RlKTtcclxuICB9XHJcbn07XHJcblxyXG5tb2R1bGUuZXhwb3J0cy5zZXJpYWxpemVIb3N0ID0gc2VyaWFsaXplSG9zdDtcclxuXHJcbm1vZHVsZS5leHBvcnRzLmNhbm5vdEhhdmVBVXNlcm5hbWVQYXNzd29yZFBvcnQgPSBjYW5ub3RIYXZlQVVzZXJuYW1lUGFzc3dvcmRQb3J0O1xyXG5cclxubW9kdWxlLmV4cG9ydHMuc2VyaWFsaXplSW50ZWdlciA9IGZ1bmN0aW9uIChpbnRlZ2VyKSB7XHJcbiAgcmV0dXJuIFN0cmluZyhpbnRlZ2VyKTtcclxufTtcclxuXHJcbm1vZHVsZS5leHBvcnRzLnBhcnNlVVJMID0gZnVuY3Rpb24gKGlucHV0LCBvcHRpb25zKSB7XHJcbiAgaWYgKG9wdGlvbnMgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgb3B0aW9ucyA9IHt9O1xyXG4gIH1cclxuXHJcbiAgLy8gV2UgZG9uJ3QgaGFuZGxlIGJsb2JzLCBzbyB0aGlzIGp1c3QgZGVsZWdhdGVzOlxyXG4gIHJldHVybiBtb2R1bGUuZXhwb3J0cy5iYXNpY1VSTFBhcnNlKGlucHV0LCB7IGJhc2VVUkw6IG9wdGlvbnMuYmFzZVVSTCwgZW5jb2RpbmdPdmVycmlkZTogb3B0aW9ucy5lbmNvZGluZ092ZXJyaWRlIH0pO1xyXG59O1xyXG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG5jb25zdCB1c20gPSByZXF1aXJlKFwiLi91cmwtc3RhdGUtbWFjaGluZVwiKTtcblxuZXhwb3J0cy5pbXBsZW1lbnRhdGlvbiA9IGNsYXNzIFVSTEltcGwge1xuICBjb25zdHJ1Y3Rvcihjb25zdHJ1Y3RvckFyZ3MpIHtcbiAgICBjb25zdCB1cmwgPSBjb25zdHJ1Y3RvckFyZ3NbMF07XG4gICAgY29uc3QgYmFzZSA9IGNvbnN0cnVjdG9yQXJnc1sxXTtcblxuICAgIGxldCBwYXJzZWRCYXNlID0gbnVsbDtcbiAgICBpZiAoYmFzZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBwYXJzZWRCYXNlID0gdXNtLmJhc2ljVVJMUGFyc2UoYmFzZSk7XG4gICAgICBpZiAocGFyc2VkQmFzZSA9PT0gXCJmYWlsdXJlXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgYmFzZSBVUkxcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgcGFyc2VkVVJMID0gdXNtLmJhc2ljVVJMUGFyc2UodXJsLCB7IGJhc2VVUkw6IHBhcnNlZEJhc2UgfSk7XG4gICAgaWYgKHBhcnNlZFVSTCA9PT0gXCJmYWlsdXJlXCIpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIFVSTFwiKTtcbiAgICB9XG5cbiAgICB0aGlzLl91cmwgPSBwYXJzZWRVUkw7XG5cbiAgICAvLyBUT0RPOiBxdWVyeSBzdHVmZlxuICB9XG5cbiAgZ2V0IGhyZWYoKSB7XG4gICAgcmV0dXJuIHVzbS5zZXJpYWxpemVVUkwodGhpcy5fdXJsKTtcbiAgfVxuXG4gIHNldCBocmVmKHYpIHtcbiAgICBjb25zdCBwYXJzZWRVUkwgPSB1c20uYmFzaWNVUkxQYXJzZSh2KTtcbiAgICBpZiAocGFyc2VkVVJMID09PSBcImZhaWx1cmVcIikge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgVVJMXCIpO1xuICAgIH1cblxuICAgIHRoaXMuX3VybCA9IHBhcnNlZFVSTDtcbiAgfVxuXG4gIGdldCBvcmlnaW4oKSB7XG4gICAgcmV0dXJuIHVzbS5zZXJpYWxpemVVUkxPcmlnaW4odGhpcy5fdXJsKTtcbiAgfVxuXG4gIGdldCBwcm90b2NvbCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdXJsLnNjaGVtZSArIFwiOlwiO1xuICB9XG5cbiAgc2V0IHByb3RvY29sKHYpIHtcbiAgICB1c20uYmFzaWNVUkxQYXJzZSh2ICsgXCI6XCIsIHsgdXJsOiB0aGlzLl91cmwsIHN0YXRlT3ZlcnJpZGU6IFwic2NoZW1lIHN0YXJ0XCIgfSk7XG4gIH1cblxuICBnZXQgdXNlcm5hbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3VybC51c2VybmFtZTtcbiAgfVxuXG4gIHNldCB1c2VybmFtZSh2KSB7XG4gICAgaWYgKHVzbS5jYW5ub3RIYXZlQVVzZXJuYW1lUGFzc3dvcmRQb3J0KHRoaXMuX3VybCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB1c20uc2V0VGhlVXNlcm5hbWUodGhpcy5fdXJsLCB2KTtcbiAgfVxuXG4gIGdldCBwYXNzd29yZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fdXJsLnBhc3N3b3JkO1xuICB9XG5cbiAgc2V0IHBhc3N3b3JkKHYpIHtcbiAgICBpZiAodXNtLmNhbm5vdEhhdmVBVXNlcm5hbWVQYXNzd29yZFBvcnQodGhpcy5fdXJsKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHVzbS5zZXRUaGVQYXNzd29yZCh0aGlzLl91cmwsIHYpO1xuICB9XG5cbiAgZ2V0IGhvc3QoKSB7XG4gICAgY29uc3QgdXJsID0gdGhpcy5fdXJsO1xuXG4gICAgaWYgKHVybC5ob3N0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG5cbiAgICBpZiAodXJsLnBvcnQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiB1c20uc2VyaWFsaXplSG9zdCh1cmwuaG9zdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVzbS5zZXJpYWxpemVIb3N0KHVybC5ob3N0KSArIFwiOlwiICsgdXNtLnNlcmlhbGl6ZUludGVnZXIodXJsLnBvcnQpO1xuICB9XG5cbiAgc2V0IGhvc3Qodikge1xuICAgIGlmICh0aGlzLl91cmwuY2Fubm90QmVBQmFzZVVSTCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHVzbS5iYXNpY1VSTFBhcnNlKHYsIHsgdXJsOiB0aGlzLl91cmwsIHN0YXRlT3ZlcnJpZGU6IFwiaG9zdFwiIH0pO1xuICB9XG5cbiAgZ2V0IGhvc3RuYW1lKCkge1xuICAgIGlmICh0aGlzLl91cmwuaG9zdCA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVzbS5zZXJpYWxpemVIb3N0KHRoaXMuX3VybC5ob3N0KTtcbiAgfVxuXG4gIHNldCBob3N0bmFtZSh2KSB7XG4gICAgaWYgKHRoaXMuX3VybC5jYW5ub3RCZUFCYXNlVVJMKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdXNtLmJhc2ljVVJMUGFyc2UodiwgeyB1cmw6IHRoaXMuX3VybCwgc3RhdGVPdmVycmlkZTogXCJob3N0bmFtZVwiIH0pO1xuICB9XG5cbiAgZ2V0IHBvcnQoKSB7XG4gICAgaWYgKHRoaXMuX3VybC5wb3J0ID09PSBudWxsKSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG5cbiAgICByZXR1cm4gdXNtLnNlcmlhbGl6ZUludGVnZXIodGhpcy5fdXJsLnBvcnQpO1xuICB9XG5cbiAgc2V0IHBvcnQodikge1xuICAgIGlmICh1c20uY2Fubm90SGF2ZUFVc2VybmFtZVBhc3N3b3JkUG9ydCh0aGlzLl91cmwpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHYgPT09IFwiXCIpIHtcbiAgICAgIHRoaXMuX3VybC5wb3J0ID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgdXNtLmJhc2ljVVJMUGFyc2UodiwgeyB1cmw6IHRoaXMuX3VybCwgc3RhdGVPdmVycmlkZTogXCJwb3J0XCIgfSk7XG4gICAgfVxuICB9XG5cbiAgZ2V0IHBhdGhuYW1lKCkge1xuICAgIGlmICh0aGlzLl91cmwuY2Fubm90QmVBQmFzZVVSTCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3VybC5wYXRoWzBdO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl91cmwucGF0aC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cblxuICAgIHJldHVybiBcIi9cIiArIHRoaXMuX3VybC5wYXRoLmpvaW4oXCIvXCIpO1xuICB9XG5cbiAgc2V0IHBhdGhuYW1lKHYpIHtcbiAgICBpZiAodGhpcy5fdXJsLmNhbm5vdEJlQUJhc2VVUkwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLl91cmwucGF0aCA9IFtdO1xuICAgIHVzbS5iYXNpY1VSTFBhcnNlKHYsIHsgdXJsOiB0aGlzLl91cmwsIHN0YXRlT3ZlcnJpZGU6IFwicGF0aCBzdGFydFwiIH0pO1xuICB9XG5cbiAgZ2V0IHNlYXJjaCgpIHtcbiAgICBpZiAodGhpcy5fdXJsLnF1ZXJ5ID09PSBudWxsIHx8IHRoaXMuX3VybC5xdWVyeSA9PT0gXCJcIikge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuXG4gICAgcmV0dXJuIFwiP1wiICsgdGhpcy5fdXJsLnF1ZXJ5O1xuICB9XG5cbiAgc2V0IHNlYXJjaCh2KSB7XG4gICAgLy8gVE9ETzogcXVlcnkgc3R1ZmZcblxuICAgIGNvbnN0IHVybCA9IHRoaXMuX3VybDtcblxuICAgIGlmICh2ID09PSBcIlwiKSB7XG4gICAgICB1cmwucXVlcnkgPSBudWxsO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlucHV0ID0gdlswXSA9PT0gXCI/XCIgPyB2LnN1YnN0cmluZygxKSA6IHY7XG4gICAgdXJsLnF1ZXJ5ID0gXCJcIjtcbiAgICB1c20uYmFzaWNVUkxQYXJzZShpbnB1dCwgeyB1cmwsIHN0YXRlT3ZlcnJpZGU6IFwicXVlcnlcIiB9KTtcbiAgfVxuXG4gIGdldCBoYXNoKCkge1xuICAgIGlmICh0aGlzLl91cmwuZnJhZ21lbnQgPT09IG51bGwgfHwgdGhpcy5fdXJsLmZyYWdtZW50ID09PSBcIlwiKSB7XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG5cbiAgICByZXR1cm4gXCIjXCIgKyB0aGlzLl91cmwuZnJhZ21lbnQ7XG4gIH1cblxuICBzZXQgaGFzaCh2KSB7XG4gICAgaWYgKHYgPT09IFwiXCIpIHtcbiAgICAgIHRoaXMuX3VybC5mcmFnbWVudCA9IG51bGw7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaW5wdXQgPSB2WzBdID09PSBcIiNcIiA/IHYuc3Vic3RyaW5nKDEpIDogdjtcbiAgICB0aGlzLl91cmwuZnJhZ21lbnQgPSBcIlwiO1xuICAgIHVzbS5iYXNpY1VSTFBhcnNlKGlucHV0LCB7IHVybDogdGhpcy5fdXJsLCBzdGF0ZU92ZXJyaWRlOiBcImZyYWdtZW50XCIgfSk7XG4gIH1cblxuICB0b0pTT04oKSB7XG4gICAgcmV0dXJuIHRoaXMuaHJlZjtcbiAgfVxufTtcbiIsICJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgY29udmVyc2lvbnMgPSByZXF1aXJlKFwid2ViaWRsLWNvbnZlcnNpb25zXCIpO1xuY29uc3QgdXRpbHMgPSByZXF1aXJlKFwiLi91dGlscy5qc1wiKTtcbmNvbnN0IEltcGwgPSByZXF1aXJlKFwiLi8vVVJMLWltcGwuanNcIik7XG5cbmNvbnN0IGltcGwgPSB1dGlscy5pbXBsU3ltYm9sO1xuXG5mdW5jdGlvbiBVUkwodXJsKSB7XG4gIGlmICghdGhpcyB8fCB0aGlzW2ltcGxdIHx8ICEodGhpcyBpbnN0YW5jZW9mIFVSTCkpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRmFpbGVkIHRvIGNvbnN0cnVjdCAnVVJMJzogUGxlYXNlIHVzZSB0aGUgJ25ldycgb3BlcmF0b3IsIHRoaXMgRE9NIG9iamVjdCBjb25zdHJ1Y3RvciBjYW5ub3QgYmUgY2FsbGVkIGFzIGEgZnVuY3Rpb24uXCIpO1xuICB9XG4gIGlmIChhcmd1bWVudHMubGVuZ3RoIDwgMSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJGYWlsZWQgdG8gY29uc3RydWN0ICdVUkwnOiAxIGFyZ3VtZW50IHJlcXVpcmVkLCBidXQgb25seSBcIiArIGFyZ3VtZW50cy5sZW5ndGggKyBcIiBwcmVzZW50LlwiKTtcbiAgfVxuICBjb25zdCBhcmdzID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aCAmJiBpIDwgMjsgKytpKSB7XG4gICAgYXJnc1tpXSA9IGFyZ3VtZW50c1tpXTtcbiAgfVxuICBhcmdzWzBdID0gY29udmVyc2lvbnNbXCJVU1ZTdHJpbmdcIl0oYXJnc1swXSk7XG4gIGlmIChhcmdzWzFdICE9PSB1bmRlZmluZWQpIHtcbiAgYXJnc1sxXSA9IGNvbnZlcnNpb25zW1wiVVNWU3RyaW5nXCJdKGFyZ3NbMV0pO1xuICB9XG5cbiAgbW9kdWxlLmV4cG9ydHMuc2V0dXAodGhpcywgYXJncyk7XG59XG5cblVSTC5wcm90b3R5cGUudG9KU09OID0gZnVuY3Rpb24gdG9KU09OKCkge1xuICBpZiAoIXRoaXMgfHwgIW1vZHVsZS5leHBvcnRzLmlzKHRoaXMpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIklsbGVnYWwgaW52b2NhdGlvblwiKTtcbiAgfVxuICBjb25zdCBhcmdzID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJndW1lbnRzLmxlbmd0aCAmJiBpIDwgMDsgKytpKSB7XG4gICAgYXJnc1tpXSA9IGFyZ3VtZW50c1tpXTtcbiAgfVxuICByZXR1cm4gdGhpc1tpbXBsXS50b0pTT04uYXBwbHkodGhpc1tpbXBsXSwgYXJncyk7XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KFVSTC5wcm90b3R5cGUsIFwiaHJlZlwiLCB7XG4gIGdldCgpIHtcbiAgICByZXR1cm4gdGhpc1tpbXBsXS5ocmVmO1xuICB9LFxuICBzZXQoVikge1xuICAgIFYgPSBjb252ZXJzaW9uc1tcIlVTVlN0cmluZ1wiXShWKTtcbiAgICB0aGlzW2ltcGxdLmhyZWYgPSBWO1xuICB9LFxuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBjb25maWd1cmFibGU6IHRydWVcbn0pO1xuXG5VUkwucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkge1xuICBpZiAoIXRoaXMgfHwgIW1vZHVsZS5leHBvcnRzLmlzKHRoaXMpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIklsbGVnYWwgaW52b2NhdGlvblwiKTtcbiAgfVxuICByZXR1cm4gdGhpcy5ocmVmO1xufTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFVSTC5wcm90b3R5cGUsIFwib3JpZ2luXCIsIHtcbiAgZ2V0KCkge1xuICAgIHJldHVybiB0aGlzW2ltcGxdLm9yaWdpbjtcbiAgfSxcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgY29uZmlndXJhYmxlOiB0cnVlXG59KTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFVSTC5wcm90b3R5cGUsIFwicHJvdG9jb2xcIiwge1xuICBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXNbaW1wbF0ucHJvdG9jb2w7XG4gIH0sXG4gIHNldChWKSB7XG4gICAgViA9IGNvbnZlcnNpb25zW1wiVVNWU3RyaW5nXCJdKFYpO1xuICAgIHRoaXNbaW1wbF0ucHJvdG9jb2wgPSBWO1xuICB9LFxuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBjb25maWd1cmFibGU6IHRydWVcbn0pO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoVVJMLnByb3RvdHlwZSwgXCJ1c2VybmFtZVwiLCB7XG4gIGdldCgpIHtcbiAgICByZXR1cm4gdGhpc1tpbXBsXS51c2VybmFtZTtcbiAgfSxcbiAgc2V0KFYpIHtcbiAgICBWID0gY29udmVyc2lvbnNbXCJVU1ZTdHJpbmdcIl0oVik7XG4gICAgdGhpc1tpbXBsXS51c2VybmFtZSA9IFY7XG4gIH0sXG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGNvbmZpZ3VyYWJsZTogdHJ1ZVxufSk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShVUkwucHJvdG90eXBlLCBcInBhc3N3b3JkXCIsIHtcbiAgZ2V0KCkge1xuICAgIHJldHVybiB0aGlzW2ltcGxdLnBhc3N3b3JkO1xuICB9LFxuICBzZXQoVikge1xuICAgIFYgPSBjb252ZXJzaW9uc1tcIlVTVlN0cmluZ1wiXShWKTtcbiAgICB0aGlzW2ltcGxdLnBhc3N3b3JkID0gVjtcbiAgfSxcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgY29uZmlndXJhYmxlOiB0cnVlXG59KTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFVSTC5wcm90b3R5cGUsIFwiaG9zdFwiLCB7XG4gIGdldCgpIHtcbiAgICByZXR1cm4gdGhpc1tpbXBsXS5ob3N0O1xuICB9LFxuICBzZXQoVikge1xuICAgIFYgPSBjb252ZXJzaW9uc1tcIlVTVlN0cmluZ1wiXShWKTtcbiAgICB0aGlzW2ltcGxdLmhvc3QgPSBWO1xuICB9LFxuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBjb25maWd1cmFibGU6IHRydWVcbn0pO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoVVJMLnByb3RvdHlwZSwgXCJob3N0bmFtZVwiLCB7XG4gIGdldCgpIHtcbiAgICByZXR1cm4gdGhpc1tpbXBsXS5ob3N0bmFtZTtcbiAgfSxcbiAgc2V0KFYpIHtcbiAgICBWID0gY29udmVyc2lvbnNbXCJVU1ZTdHJpbmdcIl0oVik7XG4gICAgdGhpc1tpbXBsXS5ob3N0bmFtZSA9IFY7XG4gIH0sXG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGNvbmZpZ3VyYWJsZTogdHJ1ZVxufSk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShVUkwucHJvdG90eXBlLCBcInBvcnRcIiwge1xuICBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXNbaW1wbF0ucG9ydDtcbiAgfSxcbiAgc2V0KFYpIHtcbiAgICBWID0gY29udmVyc2lvbnNbXCJVU1ZTdHJpbmdcIl0oVik7XG4gICAgdGhpc1tpbXBsXS5wb3J0ID0gVjtcbiAgfSxcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgY29uZmlndXJhYmxlOiB0cnVlXG59KTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFVSTC5wcm90b3R5cGUsIFwicGF0aG5hbWVcIiwge1xuICBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXNbaW1wbF0ucGF0aG5hbWU7XG4gIH0sXG4gIHNldChWKSB7XG4gICAgViA9IGNvbnZlcnNpb25zW1wiVVNWU3RyaW5nXCJdKFYpO1xuICAgIHRoaXNbaW1wbF0ucGF0aG5hbWUgPSBWO1xuICB9LFxuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBjb25maWd1cmFibGU6IHRydWVcbn0pO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoVVJMLnByb3RvdHlwZSwgXCJzZWFyY2hcIiwge1xuICBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXNbaW1wbF0uc2VhcmNoO1xuICB9LFxuICBzZXQoVikge1xuICAgIFYgPSBjb252ZXJzaW9uc1tcIlVTVlN0cmluZ1wiXShWKTtcbiAgICB0aGlzW2ltcGxdLnNlYXJjaCA9IFY7XG4gIH0sXG4gIGVudW1lcmFibGU6IHRydWUsXG4gIGNvbmZpZ3VyYWJsZTogdHJ1ZVxufSk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShVUkwucHJvdG90eXBlLCBcImhhc2hcIiwge1xuICBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXNbaW1wbF0uaGFzaDtcbiAgfSxcbiAgc2V0KFYpIHtcbiAgICBWID0gY29udmVyc2lvbnNbXCJVU1ZTdHJpbmdcIl0oVik7XG4gICAgdGhpc1tpbXBsXS5oYXNoID0gVjtcbiAgfSxcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgY29uZmlndXJhYmxlOiB0cnVlXG59KTtcblxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgaXMob2JqKSB7XG4gICAgcmV0dXJuICEhb2JqICYmIG9ialtpbXBsXSBpbnN0YW5jZW9mIEltcGwuaW1wbGVtZW50YXRpb247XG4gIH0sXG4gIGNyZWF0ZShjb25zdHJ1Y3RvckFyZ3MsIHByaXZhdGVEYXRhKSB7XG4gICAgbGV0IG9iaiA9IE9iamVjdC5jcmVhdGUoVVJMLnByb3RvdHlwZSk7XG4gICAgdGhpcy5zZXR1cChvYmosIGNvbnN0cnVjdG9yQXJncywgcHJpdmF0ZURhdGEpO1xuICAgIHJldHVybiBvYmo7XG4gIH0sXG4gIHNldHVwKG9iaiwgY29uc3RydWN0b3JBcmdzLCBwcml2YXRlRGF0YSkge1xuICAgIGlmICghcHJpdmF0ZURhdGEpIHByaXZhdGVEYXRhID0ge307XG4gICAgcHJpdmF0ZURhdGEud3JhcHBlciA9IG9iajtcblxuICAgIG9ialtpbXBsXSA9IG5ldyBJbXBsLmltcGxlbWVudGF0aW9uKGNvbnN0cnVjdG9yQXJncywgcHJpdmF0ZURhdGEpO1xuICAgIG9ialtpbXBsXVt1dGlscy53cmFwcGVyU3ltYm9sXSA9IG9iajtcbiAgfSxcbiAgaW50ZXJmYWNlOiBVUkwsXG4gIGV4cG9zZToge1xuICAgIFdpbmRvdzogeyBVUkw6IFVSTCB9LFxuICAgIFdvcmtlcjogeyBVUkw6IFVSTCB9XG4gIH1cbn07XG5cbiIsICJcInVzZSBzdHJpY3RcIjtcblxuZXhwb3J0cy5VUkwgPSByZXF1aXJlKFwiLi9VUkxcIikuaW50ZXJmYWNlO1xuZXhwb3J0cy5zZXJpYWxpemVVUkwgPSByZXF1aXJlKFwiLi91cmwtc3RhdGUtbWFjaGluZVwiKS5zZXJpYWxpemVVUkw7XG5leHBvcnRzLnNlcmlhbGl6ZVVSTE9yaWdpbiA9IHJlcXVpcmUoXCIuL3VybC1zdGF0ZS1tYWNoaW5lXCIpLnNlcmlhbGl6ZVVSTE9yaWdpbjtcbmV4cG9ydHMuYmFzaWNVUkxQYXJzZSA9IHJlcXVpcmUoXCIuL3VybC1zdGF0ZS1tYWNoaW5lXCIpLmJhc2ljVVJMUGFyc2U7XG5leHBvcnRzLnNldFRoZVVzZXJuYW1lID0gcmVxdWlyZShcIi4vdXJsLXN0YXRlLW1hY2hpbmVcIikuc2V0VGhlVXNlcm5hbWU7XG5leHBvcnRzLnNldFRoZVBhc3N3b3JkID0gcmVxdWlyZShcIi4vdXJsLXN0YXRlLW1hY2hpbmVcIikuc2V0VGhlUGFzc3dvcmQ7XG5leHBvcnRzLnNlcmlhbGl6ZUhvc3QgPSByZXF1aXJlKFwiLi91cmwtc3RhdGUtbWFjaGluZVwiKS5zZXJpYWxpemVIb3N0O1xuZXhwb3J0cy5zZXJpYWxpemVJbnRlZ2VyID0gcmVxdWlyZShcIi4vdXJsLXN0YXRlLW1hY2hpbmVcIikuc2VyaWFsaXplSW50ZWdlcjtcbmV4cG9ydHMucGFyc2VVUkwgPSByZXF1aXJlKFwiLi91cmwtc3RhdGUtbWFjaGluZVwiKS5wYXJzZVVSTDtcbiIsICIndXNlIHN0cmljdCc7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wRGVmYXVsdCAoZXgpIHsgcmV0dXJuIChleCAmJiAodHlwZW9mIGV4ID09PSAnb2JqZWN0JykgJiYgJ2RlZmF1bHQnIGluIGV4KSA/IGV4WydkZWZhdWx0J10gOiBleDsgfVxuXG52YXIgU3RyZWFtID0gX2ludGVyb3BEZWZhdWx0KHJlcXVpcmUoJ3N0cmVhbScpKTtcbnZhciBodHRwID0gX2ludGVyb3BEZWZhdWx0KHJlcXVpcmUoJ2h0dHAnKSk7XG52YXIgVXJsID0gX2ludGVyb3BEZWZhdWx0KHJlcXVpcmUoJ3VybCcpKTtcbnZhciB3aGF0d2dVcmwgPSBfaW50ZXJvcERlZmF1bHQocmVxdWlyZSgnd2hhdHdnLXVybCcpKTtcbnZhciBodHRwcyA9IF9pbnRlcm9wRGVmYXVsdChyZXF1aXJlKCdodHRwcycpKTtcbnZhciB6bGliID0gX2ludGVyb3BEZWZhdWx0KHJlcXVpcmUoJ3psaWInKSk7XG5cbi8vIEJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS90bXB2YXIvanNkb20vYmxvYi9hYTg1YjJhYmYwNzc2NmZmN2JmNWMxZjZkYWFmYjM3MjZmMmYyZGI1L2xpYi9qc2RvbS9saXZpbmcvYmxvYi5qc1xuXG4vLyBmaXggZm9yIFwiUmVhZGFibGVcIiBpc24ndCBhIG5hbWVkIGV4cG9ydCBpc3N1ZVxuY29uc3QgUmVhZGFibGUgPSBTdHJlYW0uUmVhZGFibGU7XG5cbmNvbnN0IEJVRkZFUiA9IFN5bWJvbCgnYnVmZmVyJyk7XG5jb25zdCBUWVBFID0gU3ltYm9sKCd0eXBlJyk7XG5cbmNsYXNzIEJsb2Ige1xuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzW1RZUEVdID0gJyc7XG5cblx0XHRjb25zdCBibG9iUGFydHMgPSBhcmd1bWVudHNbMF07XG5cdFx0Y29uc3Qgb3B0aW9ucyA9IGFyZ3VtZW50c1sxXTtcblxuXHRcdGNvbnN0IGJ1ZmZlcnMgPSBbXTtcblx0XHRsZXQgc2l6ZSA9IDA7XG5cblx0XHRpZiAoYmxvYlBhcnRzKSB7XG5cdFx0XHRjb25zdCBhID0gYmxvYlBhcnRzO1xuXHRcdFx0Y29uc3QgbGVuZ3RoID0gTnVtYmVyKGEubGVuZ3RoKTtcblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcblx0XHRcdFx0Y29uc3QgZWxlbWVudCA9IGFbaV07XG5cdFx0XHRcdGxldCBidWZmZXI7XG5cdFx0XHRcdGlmIChlbGVtZW50IGluc3RhbmNlb2YgQnVmZmVyKSB7XG5cdFx0XHRcdFx0YnVmZmVyID0gZWxlbWVudDtcblx0XHRcdFx0fSBlbHNlIGlmIChBcnJheUJ1ZmZlci5pc1ZpZXcoZWxlbWVudCkpIHtcblx0XHRcdFx0XHRidWZmZXIgPSBCdWZmZXIuZnJvbShlbGVtZW50LmJ1ZmZlciwgZWxlbWVudC5ieXRlT2Zmc2V0LCBlbGVtZW50LmJ5dGVMZW5ndGgpO1xuXHRcdFx0XHR9IGVsc2UgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlcikge1xuXHRcdFx0XHRcdGJ1ZmZlciA9IEJ1ZmZlci5mcm9tKGVsZW1lbnQpO1xuXHRcdFx0XHR9IGVsc2UgaWYgKGVsZW1lbnQgaW5zdGFuY2VvZiBCbG9iKSB7XG5cdFx0XHRcdFx0YnVmZmVyID0gZWxlbWVudFtCVUZGRVJdO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGJ1ZmZlciA9IEJ1ZmZlci5mcm9tKHR5cGVvZiBlbGVtZW50ID09PSAnc3RyaW5nJyA/IGVsZW1lbnQgOiBTdHJpbmcoZWxlbWVudCkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHNpemUgKz0gYnVmZmVyLmxlbmd0aDtcblx0XHRcdFx0YnVmZmVycy5wdXNoKGJ1ZmZlcik7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0dGhpc1tCVUZGRVJdID0gQnVmZmVyLmNvbmNhdChidWZmZXJzKTtcblxuXHRcdGxldCB0eXBlID0gb3B0aW9ucyAmJiBvcHRpb25zLnR5cGUgIT09IHVuZGVmaW5lZCAmJiBTdHJpbmcob3B0aW9ucy50eXBlKS50b0xvd2VyQ2FzZSgpO1xuXHRcdGlmICh0eXBlICYmICEvW15cXHUwMDIwLVxcdTAwN0VdLy50ZXN0KHR5cGUpKSB7XG5cdFx0XHR0aGlzW1RZUEVdID0gdHlwZTtcblx0XHR9XG5cdH1cblx0Z2V0IHNpemUoKSB7XG5cdFx0cmV0dXJuIHRoaXNbQlVGRkVSXS5sZW5ndGg7XG5cdH1cblx0Z2V0IHR5cGUoKSB7XG5cdFx0cmV0dXJuIHRoaXNbVFlQRV07XG5cdH1cblx0dGV4dCgpIHtcblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKHRoaXNbQlVGRkVSXS50b1N0cmluZygpKTtcblx0fVxuXHRhcnJheUJ1ZmZlcigpIHtcblx0XHRjb25zdCBidWYgPSB0aGlzW0JVRkZFUl07XG5cdFx0Y29uc3QgYWIgPSBidWYuYnVmZmVyLnNsaWNlKGJ1Zi5ieXRlT2Zmc2V0LCBidWYuYnl0ZU9mZnNldCArIGJ1Zi5ieXRlTGVuZ3RoKTtcblx0XHRyZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGFiKTtcblx0fVxuXHRzdHJlYW0oKSB7XG5cdFx0Y29uc3QgcmVhZGFibGUgPSBuZXcgUmVhZGFibGUoKTtcblx0XHRyZWFkYWJsZS5fcmVhZCA9IGZ1bmN0aW9uICgpIHt9O1xuXHRcdHJlYWRhYmxlLnB1c2godGhpc1tCVUZGRVJdKTtcblx0XHRyZWFkYWJsZS5wdXNoKG51bGwpO1xuXHRcdHJldHVybiByZWFkYWJsZTtcblx0fVxuXHR0b1N0cmluZygpIHtcblx0XHRyZXR1cm4gJ1tvYmplY3QgQmxvYl0nO1xuXHR9XG5cdHNsaWNlKCkge1xuXHRcdGNvbnN0IHNpemUgPSB0aGlzLnNpemU7XG5cblx0XHRjb25zdCBzdGFydCA9IGFyZ3VtZW50c1swXTtcblx0XHRjb25zdCBlbmQgPSBhcmd1bWVudHNbMV07XG5cdFx0bGV0IHJlbGF0aXZlU3RhcnQsIHJlbGF0aXZlRW5kO1xuXHRcdGlmIChzdGFydCA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRyZWxhdGl2ZVN0YXJ0ID0gMDtcblx0XHR9IGVsc2UgaWYgKHN0YXJ0IDwgMCkge1xuXHRcdFx0cmVsYXRpdmVTdGFydCA9IE1hdGgubWF4KHNpemUgKyBzdGFydCwgMCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHJlbGF0aXZlU3RhcnQgPSBNYXRoLm1pbihzdGFydCwgc2l6ZSk7XG5cdFx0fVxuXHRcdGlmIChlbmQgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0cmVsYXRpdmVFbmQgPSBzaXplO1xuXHRcdH0gZWxzZSBpZiAoZW5kIDwgMCkge1xuXHRcdFx0cmVsYXRpdmVFbmQgPSBNYXRoLm1heChzaXplICsgZW5kLCAwKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVsYXRpdmVFbmQgPSBNYXRoLm1pbihlbmQsIHNpemUpO1xuXHRcdH1cblx0XHRjb25zdCBzcGFuID0gTWF0aC5tYXgocmVsYXRpdmVFbmQgLSByZWxhdGl2ZVN0YXJ0LCAwKTtcblxuXHRcdGNvbnN0IGJ1ZmZlciA9IHRoaXNbQlVGRkVSXTtcblx0XHRjb25zdCBzbGljZWRCdWZmZXIgPSBidWZmZXIuc2xpY2UocmVsYXRpdmVTdGFydCwgcmVsYXRpdmVTdGFydCArIHNwYW4pO1xuXHRcdGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbXSwgeyB0eXBlOiBhcmd1bWVudHNbMl0gfSk7XG5cdFx0YmxvYltCVUZGRVJdID0gc2xpY2VkQnVmZmVyO1xuXHRcdHJldHVybiBibG9iO1xuXHR9XG59XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKEJsb2IucHJvdG90eXBlLCB7XG5cdHNpemU6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuXHR0eXBlOiB7IGVudW1lcmFibGU6IHRydWUgfSxcblx0c2xpY2U6IHsgZW51bWVyYWJsZTogdHJ1ZSB9XG59KTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEJsb2IucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcsIHtcblx0dmFsdWU6ICdCbG9iJyxcblx0d3JpdGFibGU6IGZhbHNlLFxuXHRlbnVtZXJhYmxlOiBmYWxzZSxcblx0Y29uZmlndXJhYmxlOiB0cnVlXG59KTtcblxuLyoqXG4gKiBmZXRjaC1lcnJvci5qc1xuICpcbiAqIEZldGNoRXJyb3IgaW50ZXJmYWNlIGZvciBvcGVyYXRpb25hbCBlcnJvcnNcbiAqL1xuXG4vKipcbiAqIENyZWF0ZSBGZXRjaEVycm9yIGluc3RhbmNlXG4gKlxuICogQHBhcmFtICAgU3RyaW5nICAgICAgbWVzc2FnZSAgICAgIEVycm9yIG1lc3NhZ2UgZm9yIGh1bWFuXG4gKiBAcGFyYW0gICBTdHJpbmcgICAgICB0eXBlICAgICAgICAgRXJyb3IgdHlwZSBmb3IgbWFjaGluZVxuICogQHBhcmFtICAgU3RyaW5nICAgICAgc3lzdGVtRXJyb3IgIEZvciBOb2RlLmpzIHN5c3RlbSBlcnJvclxuICogQHJldHVybiAgRmV0Y2hFcnJvclxuICovXG5mdW5jdGlvbiBGZXRjaEVycm9yKG1lc3NhZ2UsIHR5cGUsIHN5c3RlbUVycm9yKSB7XG4gIEVycm9yLmNhbGwodGhpcywgbWVzc2FnZSk7XG5cbiAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcbiAgdGhpcy50eXBlID0gdHlwZTtcblxuICAvLyB3aGVuIGVyci50eXBlIGlzIGBzeXN0ZW1gLCBlcnIuY29kZSBjb250YWlucyBzeXN0ZW0gZXJyb3IgY29kZVxuICBpZiAoc3lzdGVtRXJyb3IpIHtcbiAgICB0aGlzLmNvZGUgPSB0aGlzLmVycm5vID0gc3lzdGVtRXJyb3IuY29kZTtcbiAgfVxuXG4gIC8vIGhpZGUgY3VzdG9tIGVycm9yIGltcGxlbWVudGF0aW9uIGRldGFpbHMgZnJvbSBlbmQtdXNlcnNcbiAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgdGhpcy5jb25zdHJ1Y3Rvcik7XG59XG5cbkZldGNoRXJyb3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpO1xuRmV0Y2hFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBGZXRjaEVycm9yO1xuRmV0Y2hFcnJvci5wcm90b3R5cGUubmFtZSA9ICdGZXRjaEVycm9yJztcblxubGV0IGNvbnZlcnQ7XG50cnkge1xuXHRjb252ZXJ0ID0gcmVxdWlyZSgnZW5jb2RpbmcnKS5jb252ZXJ0O1xufSBjYXRjaCAoZSkge31cblxuY29uc3QgSU5URVJOQUxTID0gU3ltYm9sKCdCb2R5IGludGVybmFscycpO1xuXG4vLyBmaXggYW4gaXNzdWUgd2hlcmUgXCJQYXNzVGhyb3VnaFwiIGlzbid0IGEgbmFtZWQgZXhwb3J0IGZvciBub2RlIDwxMFxuY29uc3QgUGFzc1Rocm91Z2ggPSBTdHJlYW0uUGFzc1Rocm91Z2g7XG5cbi8qKlxuICogQm9keSBtaXhpblxuICpcbiAqIFJlZjogaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5vcmcvI2JvZHlcbiAqXG4gKiBAcGFyYW0gICBTdHJlYW0gIGJvZHkgIFJlYWRhYmxlIHN0cmVhbVxuICogQHBhcmFtICAgT2JqZWN0ICBvcHRzICBSZXNwb25zZSBvcHRpb25zXG4gKiBAcmV0dXJuICBWb2lkXG4gKi9cbmZ1bmN0aW9uIEJvZHkoYm9keSkge1xuXHR2YXIgX3RoaXMgPSB0aGlzO1xuXG5cdHZhciBfcmVmID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fSxcblx0ICAgIF9yZWYkc2l6ZSA9IF9yZWYuc2l6ZTtcblxuXHRsZXQgc2l6ZSA9IF9yZWYkc2l6ZSA9PT0gdW5kZWZpbmVkID8gMCA6IF9yZWYkc2l6ZTtcblx0dmFyIF9yZWYkdGltZW91dCA9IF9yZWYudGltZW91dDtcblx0bGV0IHRpbWVvdXQgPSBfcmVmJHRpbWVvdXQgPT09IHVuZGVmaW5lZCA/IDAgOiBfcmVmJHRpbWVvdXQ7XG5cblx0aWYgKGJvZHkgPT0gbnVsbCkge1xuXHRcdC8vIGJvZHkgaXMgdW5kZWZpbmVkIG9yIG51bGxcblx0XHRib2R5ID0gbnVsbDtcblx0fSBlbHNlIGlmIChpc1VSTFNlYXJjaFBhcmFtcyhib2R5KSkge1xuXHRcdC8vIGJvZHkgaXMgYSBVUkxTZWFyY2hQYXJhbXNcblx0XHRib2R5ID0gQnVmZmVyLmZyb20oYm9keS50b1N0cmluZygpKTtcblx0fSBlbHNlIGlmIChpc0Jsb2IoYm9keSkpIDsgZWxzZSBpZiAoQnVmZmVyLmlzQnVmZmVyKGJvZHkpKSA7IGVsc2UgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChib2R5KSA9PT0gJ1tvYmplY3QgQXJyYXlCdWZmZXJdJykge1xuXHRcdC8vIGJvZHkgaXMgQXJyYXlCdWZmZXJcblx0XHRib2R5ID0gQnVmZmVyLmZyb20oYm9keSk7XG5cdH0gZWxzZSBpZiAoQXJyYXlCdWZmZXIuaXNWaWV3KGJvZHkpKSB7XG5cdFx0Ly8gYm9keSBpcyBBcnJheUJ1ZmZlclZpZXdcblx0XHRib2R5ID0gQnVmZmVyLmZyb20oYm9keS5idWZmZXIsIGJvZHkuYnl0ZU9mZnNldCwgYm9keS5ieXRlTGVuZ3RoKTtcblx0fSBlbHNlIGlmIChib2R5IGluc3RhbmNlb2YgU3RyZWFtKSA7IGVsc2Uge1xuXHRcdC8vIG5vbmUgb2YgdGhlIGFib3ZlXG5cdFx0Ly8gY29lcmNlIHRvIHN0cmluZyB0aGVuIGJ1ZmZlclxuXHRcdGJvZHkgPSBCdWZmZXIuZnJvbShTdHJpbmcoYm9keSkpO1xuXHR9XG5cdHRoaXNbSU5URVJOQUxTXSA9IHtcblx0XHRib2R5LFxuXHRcdGRpc3R1cmJlZDogZmFsc2UsXG5cdFx0ZXJyb3I6IG51bGxcblx0fTtcblx0dGhpcy5zaXplID0gc2l6ZTtcblx0dGhpcy50aW1lb3V0ID0gdGltZW91dDtcblxuXHRpZiAoYm9keSBpbnN0YW5jZW9mIFN0cmVhbSkge1xuXHRcdGJvZHkub24oJ2Vycm9yJywgZnVuY3Rpb24gKGVycikge1xuXHRcdFx0Y29uc3QgZXJyb3IgPSBlcnIubmFtZSA9PT0gJ0Fib3J0RXJyb3InID8gZXJyIDogbmV3IEZldGNoRXJyb3IoYEludmFsaWQgcmVzcG9uc2UgYm9keSB3aGlsZSB0cnlpbmcgdG8gZmV0Y2ggJHtfdGhpcy51cmx9OiAke2Vyci5tZXNzYWdlfWAsICdzeXN0ZW0nLCBlcnIpO1xuXHRcdFx0X3RoaXNbSU5URVJOQUxTXS5lcnJvciA9IGVycm9yO1xuXHRcdH0pO1xuXHR9XG59XG5cbkJvZHkucHJvdG90eXBlID0ge1xuXHRnZXQgYm9keSgpIHtcblx0XHRyZXR1cm4gdGhpc1tJTlRFUk5BTFNdLmJvZHk7XG5cdH0sXG5cblx0Z2V0IGJvZHlVc2VkKCkge1xuXHRcdHJldHVybiB0aGlzW0lOVEVSTkFMU10uZGlzdHVyYmVkO1xuXHR9LFxuXG5cdC8qKlxuICAqIERlY29kZSByZXNwb25zZSBhcyBBcnJheUJ1ZmZlclxuICAqXG4gICogQHJldHVybiAgUHJvbWlzZVxuICAqL1xuXHRhcnJheUJ1ZmZlcigpIHtcblx0XHRyZXR1cm4gY29uc3VtZUJvZHkuY2FsbCh0aGlzKS50aGVuKGZ1bmN0aW9uIChidWYpIHtcblx0XHRcdHJldHVybiBidWYuYnVmZmVyLnNsaWNlKGJ1Zi5ieXRlT2Zmc2V0LCBidWYuYnl0ZU9mZnNldCArIGJ1Zi5ieXRlTGVuZ3RoKTtcblx0XHR9KTtcblx0fSxcblxuXHQvKipcbiAgKiBSZXR1cm4gcmF3IHJlc3BvbnNlIGFzIEJsb2JcbiAgKlxuICAqIEByZXR1cm4gUHJvbWlzZVxuICAqL1xuXHRibG9iKCkge1xuXHRcdGxldCBjdCA9IHRoaXMuaGVhZGVycyAmJiB0aGlzLmhlYWRlcnMuZ2V0KCdjb250ZW50LXR5cGUnKSB8fCAnJztcblx0XHRyZXR1cm4gY29uc3VtZUJvZHkuY2FsbCh0aGlzKS50aGVuKGZ1bmN0aW9uIChidWYpIHtcblx0XHRcdHJldHVybiBPYmplY3QuYXNzaWduKFxuXHRcdFx0Ly8gUHJldmVudCBjb3B5aW5nXG5cdFx0XHRuZXcgQmxvYihbXSwge1xuXHRcdFx0XHR0eXBlOiBjdC50b0xvd2VyQ2FzZSgpXG5cdFx0XHR9KSwge1xuXHRcdFx0XHRbQlVGRkVSXTogYnVmXG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fSxcblxuXHQvKipcbiAgKiBEZWNvZGUgcmVzcG9uc2UgYXMganNvblxuICAqXG4gICogQHJldHVybiAgUHJvbWlzZVxuICAqL1xuXHRqc29uKCkge1xuXHRcdHZhciBfdGhpczIgPSB0aGlzO1xuXG5cdFx0cmV0dXJuIGNvbnN1bWVCb2R5LmNhbGwodGhpcykudGhlbihmdW5jdGlvbiAoYnVmZmVyKSB7XG5cdFx0XHR0cnkge1xuXHRcdFx0XHRyZXR1cm4gSlNPTi5wYXJzZShidWZmZXIudG9TdHJpbmcoKSk7XG5cdFx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdFx0cmV0dXJuIEJvZHkuUHJvbWlzZS5yZWplY3QobmV3IEZldGNoRXJyb3IoYGludmFsaWQganNvbiByZXNwb25zZSBib2R5IGF0ICR7X3RoaXMyLnVybH0gcmVhc29uOiAke2Vyci5tZXNzYWdlfWAsICdpbnZhbGlkLWpzb24nKSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH0sXG5cblx0LyoqXG4gICogRGVjb2RlIHJlc3BvbnNlIGFzIHRleHRcbiAgKlxuICAqIEByZXR1cm4gIFByb21pc2VcbiAgKi9cblx0dGV4dCgpIHtcblx0XHRyZXR1cm4gY29uc3VtZUJvZHkuY2FsbCh0aGlzKS50aGVuKGZ1bmN0aW9uIChidWZmZXIpIHtcblx0XHRcdHJldHVybiBidWZmZXIudG9TdHJpbmcoKTtcblx0XHR9KTtcblx0fSxcblxuXHQvKipcbiAgKiBEZWNvZGUgcmVzcG9uc2UgYXMgYnVmZmVyIChub24tc3BlYyBhcGkpXG4gICpcbiAgKiBAcmV0dXJuICBQcm9taXNlXG4gICovXG5cdGJ1ZmZlcigpIHtcblx0XHRyZXR1cm4gY29uc3VtZUJvZHkuY2FsbCh0aGlzKTtcblx0fSxcblxuXHQvKipcbiAgKiBEZWNvZGUgcmVzcG9uc2UgYXMgdGV4dCwgd2hpbGUgYXV0b21hdGljYWxseSBkZXRlY3RpbmcgdGhlIGVuY29kaW5nIGFuZFxuICAqIHRyeWluZyB0byBkZWNvZGUgdG8gVVRGLTggKG5vbi1zcGVjIGFwaSlcbiAgKlxuICAqIEByZXR1cm4gIFByb21pc2VcbiAgKi9cblx0dGV4dENvbnZlcnRlZCgpIHtcblx0XHR2YXIgX3RoaXMzID0gdGhpcztcblxuXHRcdHJldHVybiBjb25zdW1lQm9keS5jYWxsKHRoaXMpLnRoZW4oZnVuY3Rpb24gKGJ1ZmZlcikge1xuXHRcdFx0cmV0dXJuIGNvbnZlcnRCb2R5KGJ1ZmZlciwgX3RoaXMzLmhlYWRlcnMpO1xuXHRcdH0pO1xuXHR9XG59O1xuXG4vLyBJbiBicm93c2VycywgYWxsIHByb3BlcnRpZXMgYXJlIGVudW1lcmFibGUuXG5PYmplY3QuZGVmaW5lUHJvcGVydGllcyhCb2R5LnByb3RvdHlwZSwge1xuXHRib2R5OiB7IGVudW1lcmFibGU6IHRydWUgfSxcblx0Ym9keVVzZWQ6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuXHRhcnJheUJ1ZmZlcjogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG5cdGJsb2I6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuXHRqc29uOiB7IGVudW1lcmFibGU6IHRydWUgfSxcblx0dGV4dDogeyBlbnVtZXJhYmxlOiB0cnVlIH1cbn0pO1xuXG5Cb2R5Lm1peEluID0gZnVuY3Rpb24gKHByb3RvKSB7XG5cdGZvciAoY29uc3QgbmFtZSBvZiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhCb2R5LnByb3RvdHlwZSkpIHtcblx0XHQvLyBpc3RhbmJ1bCBpZ25vcmUgZWxzZTogZnV0dXJlIHByb29mXG5cdFx0aWYgKCEobmFtZSBpbiBwcm90bykpIHtcblx0XHRcdGNvbnN0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEJvZHkucHJvdG90eXBlLCBuYW1lKTtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShwcm90bywgbmFtZSwgZGVzYyk7XG5cdFx0fVxuXHR9XG59O1xuXG4vKipcbiAqIENvbnN1bWUgYW5kIGNvbnZlcnQgYW4gZW50aXJlIEJvZHkgdG8gYSBCdWZmZXIuXG4gKlxuICogUmVmOiBodHRwczovL2ZldGNoLnNwZWMud2hhdHdnLm9yZy8jY29uY2VwdC1ib2R5LWNvbnN1bWUtYm9keVxuICpcbiAqIEByZXR1cm4gIFByb21pc2VcbiAqL1xuZnVuY3Rpb24gY29uc3VtZUJvZHkoKSB7XG5cdHZhciBfdGhpczQgPSB0aGlzO1xuXG5cdGlmICh0aGlzW0lOVEVSTkFMU10uZGlzdHVyYmVkKSB7XG5cdFx0cmV0dXJuIEJvZHkuUHJvbWlzZS5yZWplY3QobmV3IFR5cGVFcnJvcihgYm9keSB1c2VkIGFscmVhZHkgZm9yOiAke3RoaXMudXJsfWApKTtcblx0fVxuXG5cdHRoaXNbSU5URVJOQUxTXS5kaXN0dXJiZWQgPSB0cnVlO1xuXG5cdGlmICh0aGlzW0lOVEVSTkFMU10uZXJyb3IpIHtcblx0XHRyZXR1cm4gQm9keS5Qcm9taXNlLnJlamVjdCh0aGlzW0lOVEVSTkFMU10uZXJyb3IpO1xuXHR9XG5cblx0bGV0IGJvZHkgPSB0aGlzLmJvZHk7XG5cblx0Ly8gYm9keSBpcyBudWxsXG5cdGlmIChib2R5ID09PSBudWxsKSB7XG5cdFx0cmV0dXJuIEJvZHkuUHJvbWlzZS5yZXNvbHZlKEJ1ZmZlci5hbGxvYygwKSk7XG5cdH1cblxuXHQvLyBib2R5IGlzIGJsb2Jcblx0aWYgKGlzQmxvYihib2R5KSkge1xuXHRcdGJvZHkgPSBib2R5LnN0cmVhbSgpO1xuXHR9XG5cblx0Ly8gYm9keSBpcyBidWZmZXJcblx0aWYgKEJ1ZmZlci5pc0J1ZmZlcihib2R5KSkge1xuXHRcdHJldHVybiBCb2R5LlByb21pc2UucmVzb2x2ZShib2R5KTtcblx0fVxuXG5cdC8vIGlzdGFuYnVsIGlnbm9yZSBpZjogc2hvdWxkIG5ldmVyIGhhcHBlblxuXHRpZiAoIShib2R5IGluc3RhbmNlb2YgU3RyZWFtKSkge1xuXHRcdHJldHVybiBCb2R5LlByb21pc2UucmVzb2x2ZShCdWZmZXIuYWxsb2MoMCkpO1xuXHR9XG5cblx0Ly8gYm9keSBpcyBzdHJlYW1cblx0Ly8gZ2V0IHJlYWR5IHRvIGFjdHVhbGx5IGNvbnN1bWUgdGhlIGJvZHlcblx0bGV0IGFjY3VtID0gW107XG5cdGxldCBhY2N1bUJ5dGVzID0gMDtcblx0bGV0IGFib3J0ID0gZmFsc2U7XG5cblx0cmV0dXJuIG5ldyBCb2R5LlByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuXHRcdGxldCByZXNUaW1lb3V0O1xuXG5cdFx0Ly8gYWxsb3cgdGltZW91dCBvbiBzbG93IHJlc3BvbnNlIGJvZHlcblx0XHRpZiAoX3RoaXM0LnRpbWVvdXQpIHtcblx0XHRcdHJlc1RpbWVvdXQgPSBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcblx0XHRcdFx0YWJvcnQgPSB0cnVlO1xuXHRcdFx0XHRyZWplY3QobmV3IEZldGNoRXJyb3IoYFJlc3BvbnNlIHRpbWVvdXQgd2hpbGUgdHJ5aW5nIHRvIGZldGNoICR7X3RoaXM0LnVybH0gKG92ZXIgJHtfdGhpczQudGltZW91dH1tcylgLCAnYm9keS10aW1lb3V0JykpO1xuXHRcdFx0fSwgX3RoaXM0LnRpbWVvdXQpO1xuXHRcdH1cblxuXHRcdC8vIGhhbmRsZSBzdHJlYW0gZXJyb3JzXG5cdFx0Ym9keS5vbignZXJyb3InLCBmdW5jdGlvbiAoZXJyKSB7XG5cdFx0XHRpZiAoZXJyLm5hbWUgPT09ICdBYm9ydEVycm9yJykge1xuXHRcdFx0XHQvLyBpZiB0aGUgcmVxdWVzdCB3YXMgYWJvcnRlZCwgcmVqZWN0IHdpdGggdGhpcyBFcnJvclxuXHRcdFx0XHRhYm9ydCA9IHRydWU7XG5cdFx0XHRcdHJlamVjdChlcnIpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Ly8gb3RoZXIgZXJyb3JzLCBzdWNoIGFzIGluY29ycmVjdCBjb250ZW50LWVuY29kaW5nXG5cdFx0XHRcdHJlamVjdChuZXcgRmV0Y2hFcnJvcihgSW52YWxpZCByZXNwb25zZSBib2R5IHdoaWxlIHRyeWluZyB0byBmZXRjaCAke190aGlzNC51cmx9OiAke2Vyci5tZXNzYWdlfWAsICdzeXN0ZW0nLCBlcnIpKTtcblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdGJvZHkub24oJ2RhdGEnLCBmdW5jdGlvbiAoY2h1bmspIHtcblx0XHRcdGlmIChhYm9ydCB8fCBjaHVuayA9PT0gbnVsbCkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGlmIChfdGhpczQuc2l6ZSAmJiBhY2N1bUJ5dGVzICsgY2h1bmsubGVuZ3RoID4gX3RoaXM0LnNpemUpIHtcblx0XHRcdFx0YWJvcnQgPSB0cnVlO1xuXHRcdFx0XHRyZWplY3QobmV3IEZldGNoRXJyb3IoYGNvbnRlbnQgc2l6ZSBhdCAke190aGlzNC51cmx9IG92ZXIgbGltaXQ6ICR7X3RoaXM0LnNpemV9YCwgJ21heC1zaXplJykpO1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGFjY3VtQnl0ZXMgKz0gY2h1bmsubGVuZ3RoO1xuXHRcdFx0YWNjdW0ucHVzaChjaHVuayk7XG5cdFx0fSk7XG5cblx0XHRib2R5Lm9uKCdlbmQnLCBmdW5jdGlvbiAoKSB7XG5cdFx0XHRpZiAoYWJvcnQpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHRjbGVhclRpbWVvdXQocmVzVGltZW91dCk7XG5cblx0XHRcdHRyeSB7XG5cdFx0XHRcdHJlc29sdmUoQnVmZmVyLmNvbmNhdChhY2N1bSwgYWNjdW1CeXRlcykpO1xuXHRcdFx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0XHRcdC8vIGhhbmRsZSBzdHJlYW1zIHRoYXQgaGF2ZSBhY2N1bXVsYXRlZCB0b28gbXVjaCBkYXRhIChpc3N1ZSAjNDE0KVxuXHRcdFx0XHRyZWplY3QobmV3IEZldGNoRXJyb3IoYENvdWxkIG5vdCBjcmVhdGUgQnVmZmVyIGZyb20gcmVzcG9uc2UgYm9keSBmb3IgJHtfdGhpczQudXJsfTogJHtlcnIubWVzc2FnZX1gLCAnc3lzdGVtJywgZXJyKSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH0pO1xufVxuXG4vKipcbiAqIERldGVjdCBidWZmZXIgZW5jb2RpbmcgYW5kIGNvbnZlcnQgdG8gdGFyZ2V0IGVuY29kaW5nXG4gKiByZWY6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMTEvV0QtaHRtbDUtMjAxMTAxMTMvcGFyc2luZy5odG1sI2RldGVybWluaW5nLXRoZS1jaGFyYWN0ZXItZW5jb2RpbmdcbiAqXG4gKiBAcGFyYW0gICBCdWZmZXIgIGJ1ZmZlciAgICBJbmNvbWluZyBidWZmZXJcbiAqIEBwYXJhbSAgIFN0cmluZyAgZW5jb2RpbmcgIFRhcmdldCBlbmNvZGluZ1xuICogQHJldHVybiAgU3RyaW5nXG4gKi9cbmZ1bmN0aW9uIGNvbnZlcnRCb2R5KGJ1ZmZlciwgaGVhZGVycykge1xuXHRpZiAodHlwZW9mIGNvbnZlcnQgIT09ICdmdW5jdGlvbicpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ1RoZSBwYWNrYWdlIGBlbmNvZGluZ2AgbXVzdCBiZSBpbnN0YWxsZWQgdG8gdXNlIHRoZSB0ZXh0Q29udmVydGVkKCkgZnVuY3Rpb24nKTtcblx0fVxuXG5cdGNvbnN0IGN0ID0gaGVhZGVycy5nZXQoJ2NvbnRlbnQtdHlwZScpO1xuXHRsZXQgY2hhcnNldCA9ICd1dGYtOCc7XG5cdGxldCByZXMsIHN0cjtcblxuXHQvLyBoZWFkZXJcblx0aWYgKGN0KSB7XG5cdFx0cmVzID0gL2NoYXJzZXQ9KFteO10qKS9pLmV4ZWMoY3QpO1xuXHR9XG5cblx0Ly8gbm8gY2hhcnNldCBpbiBjb250ZW50IHR5cGUsIHBlZWsgYXQgcmVzcG9uc2UgYm9keSBmb3IgYXQgbW9zdCAxMDI0IGJ5dGVzXG5cdHN0ciA9IGJ1ZmZlci5zbGljZSgwLCAxMDI0KS50b1N0cmluZygpO1xuXG5cdC8vIGh0bWw1XG5cdGlmICghcmVzICYmIHN0cikge1xuXHRcdHJlcyA9IC88bWV0YS4rP2NoYXJzZXQ9KFsnXCJdKSguKz8pXFwxL2kuZXhlYyhzdHIpO1xuXHR9XG5cblx0Ly8gaHRtbDRcblx0aWYgKCFyZXMgJiYgc3RyKSB7XG5cdFx0cmVzID0gLzxtZXRhW1xcc10rP2h0dHAtZXF1aXY9KFsnXCJdKWNvbnRlbnQtdHlwZVxcMVtcXHNdKz9jb250ZW50PShbJ1wiXSkoLis/KVxcMi9pLmV4ZWMoc3RyKTtcblx0XHRpZiAoIXJlcykge1xuXHRcdFx0cmVzID0gLzxtZXRhW1xcc10rP2NvbnRlbnQ9KFsnXCJdKSguKz8pXFwxW1xcc10rP2h0dHAtZXF1aXY9KFsnXCJdKWNvbnRlbnQtdHlwZVxcMy9pLmV4ZWMoc3RyKTtcblx0XHRcdGlmIChyZXMpIHtcblx0XHRcdFx0cmVzLnBvcCgpOyAvLyBkcm9wIGxhc3QgcXVvdGVcblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAocmVzKSB7XG5cdFx0XHRyZXMgPSAvY2hhcnNldD0oLiopL2kuZXhlYyhyZXMucG9wKCkpO1xuXHRcdH1cblx0fVxuXG5cdC8vIHhtbFxuXHRpZiAoIXJlcyAmJiBzdHIpIHtcblx0XHRyZXMgPSAvPFxcP3htbC4rP2VuY29kaW5nPShbJ1wiXSkoLis/KVxcMS9pLmV4ZWMoc3RyKTtcblx0fVxuXG5cdC8vIGZvdW5kIGNoYXJzZXRcblx0aWYgKHJlcykge1xuXHRcdGNoYXJzZXQgPSByZXMucG9wKCk7XG5cblx0XHQvLyBwcmV2ZW50IGRlY29kZSBpc3N1ZXMgd2hlbiBzaXRlcyB1c2UgaW5jb3JyZWN0IGVuY29kaW5nXG5cdFx0Ly8gcmVmOiBodHRwczovL2hzaXZvbmVuLmZpL2VuY29kaW5nLW1lbnUvXG5cdFx0aWYgKGNoYXJzZXQgPT09ICdnYjIzMTInIHx8IGNoYXJzZXQgPT09ICdnYmsnKSB7XG5cdFx0XHRjaGFyc2V0ID0gJ2diMTgwMzAnO1xuXHRcdH1cblx0fVxuXG5cdC8vIHR1cm4gcmF3IGJ1ZmZlcnMgaW50byBhIHNpbmdsZSB1dGYtOCBidWZmZXJcblx0cmV0dXJuIGNvbnZlcnQoYnVmZmVyLCAnVVRGLTgnLCBjaGFyc2V0KS50b1N0cmluZygpO1xufVxuXG4vKipcbiAqIERldGVjdCBhIFVSTFNlYXJjaFBhcmFtcyBvYmplY3RcbiAqIHJlZjogaHR0cHM6Ly9naXRodWIuY29tL2JpdGlubi9ub2RlLWZldGNoL2lzc3Vlcy8yOTYjaXNzdWVjb21tZW50LTMwNzU5ODE0M1xuICpcbiAqIEBwYXJhbSAgIE9iamVjdCAgb2JqICAgICBPYmplY3QgdG8gZGV0ZWN0IGJ5IHR5cGUgb3IgYnJhbmRcbiAqIEByZXR1cm4gIFN0cmluZ1xuICovXG5mdW5jdGlvbiBpc1VSTFNlYXJjaFBhcmFtcyhvYmopIHtcblx0Ly8gRHVjay10eXBpbmcgYXMgYSBuZWNlc3NhcnkgY29uZGl0aW9uLlxuXHRpZiAodHlwZW9mIG9iaiAhPT0gJ29iamVjdCcgfHwgdHlwZW9mIG9iai5hcHBlbmQgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIG9iai5kZWxldGUgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIG9iai5nZXQgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIG9iai5nZXRBbGwgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIG9iai5oYXMgIT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIG9iai5zZXQgIT09ICdmdW5jdGlvbicpIHtcblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHQvLyBCcmFuZC1jaGVja2luZyBhbmQgbW9yZSBkdWNrLXR5cGluZyBhcyBvcHRpb25hbCBjb25kaXRpb24uXG5cdHJldHVybiBvYmouY29uc3RydWN0b3IubmFtZSA9PT0gJ1VSTFNlYXJjaFBhcmFtcycgfHwgT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG9iaikgPT09ICdbb2JqZWN0IFVSTFNlYXJjaFBhcmFtc10nIHx8IHR5cGVvZiBvYmouc29ydCA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuLyoqXG4gKiBDaGVjayBpZiBgb2JqYCBpcyBhIFczQyBgQmxvYmAgb2JqZWN0ICh3aGljaCBgRmlsZWAgaW5oZXJpdHMgZnJvbSlcbiAqIEBwYXJhbSAgeyp9IG9ialxuICogQHJldHVybiB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gaXNCbG9iKG9iaikge1xuXHRyZXR1cm4gdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiYgdHlwZW9mIG9iai5hcnJheUJ1ZmZlciA9PT0gJ2Z1bmN0aW9uJyAmJiB0eXBlb2Ygb2JqLnR5cGUgPT09ICdzdHJpbmcnICYmIHR5cGVvZiBvYmouc3RyZWFtID09PSAnZnVuY3Rpb24nICYmIHR5cGVvZiBvYmouY29uc3RydWN0b3IgPT09ICdmdW5jdGlvbicgJiYgdHlwZW9mIG9iai5jb25zdHJ1Y3Rvci5uYW1lID09PSAnc3RyaW5nJyAmJiAvXihCbG9ifEZpbGUpJC8udGVzdChvYmouY29uc3RydWN0b3IubmFtZSkgJiYgL14oQmxvYnxGaWxlKSQvLnRlc3Qob2JqW1N5bWJvbC50b1N0cmluZ1RhZ10pO1xufVxuXG4vKipcbiAqIENsb25lIGJvZHkgZ2l2ZW4gUmVzL1JlcSBpbnN0YW5jZVxuICpcbiAqIEBwYXJhbSAgIE1peGVkICBpbnN0YW5jZSAgUmVzcG9uc2Ugb3IgUmVxdWVzdCBpbnN0YW5jZVxuICogQHJldHVybiAgTWl4ZWRcbiAqL1xuZnVuY3Rpb24gY2xvbmUoaW5zdGFuY2UpIHtcblx0bGV0IHAxLCBwMjtcblx0bGV0IGJvZHkgPSBpbnN0YW5jZS5ib2R5O1xuXG5cdC8vIGRvbid0IGFsbG93IGNsb25pbmcgYSB1c2VkIGJvZHlcblx0aWYgKGluc3RhbmNlLmJvZHlVc2VkKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdjYW5ub3QgY2xvbmUgYm9keSBhZnRlciBpdCBpcyB1c2VkJyk7XG5cdH1cblxuXHQvLyBjaGVjayB0aGF0IGJvZHkgaXMgYSBzdHJlYW0gYW5kIG5vdCBmb3JtLWRhdGEgb2JqZWN0XG5cdC8vIG5vdGU6IHdlIGNhbid0IGNsb25lIHRoZSBmb3JtLWRhdGEgb2JqZWN0IHdpdGhvdXQgaGF2aW5nIGl0IGFzIGEgZGVwZW5kZW5jeVxuXHRpZiAoYm9keSBpbnN0YW5jZW9mIFN0cmVhbSAmJiB0eXBlb2YgYm9keS5nZXRCb3VuZGFyeSAhPT0gJ2Z1bmN0aW9uJykge1xuXHRcdC8vIHRlZSBpbnN0YW5jZSBib2R5XG5cdFx0cDEgPSBuZXcgUGFzc1Rocm91Z2goKTtcblx0XHRwMiA9IG5ldyBQYXNzVGhyb3VnaCgpO1xuXHRcdGJvZHkucGlwZShwMSk7XG5cdFx0Ym9keS5waXBlKHAyKTtcblx0XHQvLyBzZXQgaW5zdGFuY2UgYm9keSB0byB0ZWVkIGJvZHkgYW5kIHJldHVybiB0aGUgb3RoZXIgdGVlZCBib2R5XG5cdFx0aW5zdGFuY2VbSU5URVJOQUxTXS5ib2R5ID0gcDE7XG5cdFx0Ym9keSA9IHAyO1xuXHR9XG5cblx0cmV0dXJuIGJvZHk7XG59XG5cbi8qKlxuICogUGVyZm9ybXMgdGhlIG9wZXJhdGlvbiBcImV4dHJhY3QgYSBgQ29udGVudC1UeXBlYCB2YWx1ZSBmcm9tIHxvYmplY3R8XCIgYXNcbiAqIHNwZWNpZmllZCBpbiB0aGUgc3BlY2lmaWNhdGlvbjpcbiAqIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyNjb25jZXB0LWJvZHlpbml0LWV4dHJhY3RcbiAqXG4gKiBUaGlzIGZ1bmN0aW9uIGFzc3VtZXMgdGhhdCBpbnN0YW5jZS5ib2R5IGlzIHByZXNlbnQuXG4gKlxuICogQHBhcmFtICAgTWl4ZWQgIGluc3RhbmNlICBBbnkgb3B0aW9ucy5ib2R5IGlucHV0XG4gKi9cbmZ1bmN0aW9uIGV4dHJhY3RDb250ZW50VHlwZShib2R5KSB7XG5cdGlmIChib2R5ID09PSBudWxsKSB7XG5cdFx0Ly8gYm9keSBpcyBudWxsXG5cdFx0cmV0dXJuIG51bGw7XG5cdH0gZWxzZSBpZiAodHlwZW9mIGJvZHkgPT09ICdzdHJpbmcnKSB7XG5cdFx0Ly8gYm9keSBpcyBzdHJpbmdcblx0XHRyZXR1cm4gJ3RleHQvcGxhaW47Y2hhcnNldD1VVEYtOCc7XG5cdH0gZWxzZSBpZiAoaXNVUkxTZWFyY2hQYXJhbXMoYm9keSkpIHtcblx0XHQvLyBib2R5IGlzIGEgVVJMU2VhcmNoUGFyYW1zXG5cdFx0cmV0dXJuICdhcHBsaWNhdGlvbi94LXd3dy1mb3JtLXVybGVuY29kZWQ7Y2hhcnNldD1VVEYtOCc7XG5cdH0gZWxzZSBpZiAoaXNCbG9iKGJvZHkpKSB7XG5cdFx0Ly8gYm9keSBpcyBibG9iXG5cdFx0cmV0dXJuIGJvZHkudHlwZSB8fCBudWxsO1xuXHR9IGVsc2UgaWYgKEJ1ZmZlci5pc0J1ZmZlcihib2R5KSkge1xuXHRcdC8vIGJvZHkgaXMgYnVmZmVyXG5cdFx0cmV0dXJuIG51bGw7XG5cdH0gZWxzZSBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGJvZHkpID09PSAnW29iamVjdCBBcnJheUJ1ZmZlcl0nKSB7XG5cdFx0Ly8gYm9keSBpcyBBcnJheUJ1ZmZlclxuXHRcdHJldHVybiBudWxsO1xuXHR9IGVsc2UgaWYgKEFycmF5QnVmZmVyLmlzVmlldyhib2R5KSkge1xuXHRcdC8vIGJvZHkgaXMgQXJyYXlCdWZmZXJWaWV3XG5cdFx0cmV0dXJuIG51bGw7XG5cdH0gZWxzZSBpZiAodHlwZW9mIGJvZHkuZ2V0Qm91bmRhcnkgPT09ICdmdW5jdGlvbicpIHtcblx0XHQvLyBkZXRlY3QgZm9ybSBkYXRhIGlucHV0IGZyb20gZm9ybS1kYXRhIG1vZHVsZVxuXHRcdHJldHVybiBgbXVsdGlwYXJ0L2Zvcm0tZGF0YTtib3VuZGFyeT0ke2JvZHkuZ2V0Qm91bmRhcnkoKX1gO1xuXHR9IGVsc2UgaWYgKGJvZHkgaW5zdGFuY2VvZiBTdHJlYW0pIHtcblx0XHQvLyBib2R5IGlzIHN0cmVhbVxuXHRcdC8vIGNhbid0IHJlYWxseSBkbyBtdWNoIGFib3V0IHRoaXNcblx0XHRyZXR1cm4gbnVsbDtcblx0fSBlbHNlIHtcblx0XHQvLyBCb2R5IGNvbnN0cnVjdG9yIGRlZmF1bHRzIG90aGVyIHRoaW5ncyB0byBzdHJpbmdcblx0XHRyZXR1cm4gJ3RleHQvcGxhaW47Y2hhcnNldD1VVEYtOCc7XG5cdH1cbn1cblxuLyoqXG4gKiBUaGUgRmV0Y2ggU3RhbmRhcmQgdHJlYXRzIHRoaXMgYXMgaWYgXCJ0b3RhbCBieXRlc1wiIGlzIGEgcHJvcGVydHkgb24gdGhlIGJvZHkuXG4gKiBGb3IgdXMsIHdlIGhhdmUgdG8gZXhwbGljaXRseSBnZXQgaXQgd2l0aCBhIGZ1bmN0aW9uLlxuICpcbiAqIHJlZjogaHR0cHM6Ly9mZXRjaC5zcGVjLndoYXR3Zy5vcmcvI2NvbmNlcHQtYm9keS10b3RhbC1ieXRlc1xuICpcbiAqIEBwYXJhbSAgIEJvZHkgICAgaW5zdGFuY2UgICBJbnN0YW5jZSBvZiBCb2R5XG4gKiBAcmV0dXJuICBOdW1iZXI/ICAgICAgICAgICAgTnVtYmVyIG9mIGJ5dGVzLCBvciBudWxsIGlmIG5vdCBwb3NzaWJsZVxuICovXG5mdW5jdGlvbiBnZXRUb3RhbEJ5dGVzKGluc3RhbmNlKSB7XG5cdGNvbnN0IGJvZHkgPSBpbnN0YW5jZS5ib2R5O1xuXG5cblx0aWYgKGJvZHkgPT09IG51bGwpIHtcblx0XHQvLyBib2R5IGlzIG51bGxcblx0XHRyZXR1cm4gMDtcblx0fSBlbHNlIGlmIChpc0Jsb2IoYm9keSkpIHtcblx0XHRyZXR1cm4gYm9keS5zaXplO1xuXHR9IGVsc2UgaWYgKEJ1ZmZlci5pc0J1ZmZlcihib2R5KSkge1xuXHRcdC8vIGJvZHkgaXMgYnVmZmVyXG5cdFx0cmV0dXJuIGJvZHkubGVuZ3RoO1xuXHR9IGVsc2UgaWYgKGJvZHkgJiYgdHlwZW9mIGJvZHkuZ2V0TGVuZ3RoU3luYyA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdC8vIGRldGVjdCBmb3JtIGRhdGEgaW5wdXQgZnJvbSBmb3JtLWRhdGEgbW9kdWxlXG5cdFx0aWYgKGJvZHkuX2xlbmd0aFJldHJpZXZlcnMgJiYgYm9keS5fbGVuZ3RoUmV0cmlldmVycy5sZW5ndGggPT0gMCB8fCAvLyAxLnhcblx0XHRib2R5Lmhhc0tub3duTGVuZ3RoICYmIGJvZHkuaGFzS25vd25MZW5ndGgoKSkge1xuXHRcdFx0Ly8gMi54XG5cdFx0XHRyZXR1cm4gYm9keS5nZXRMZW5ndGhTeW5jKCk7XG5cdFx0fVxuXHRcdHJldHVybiBudWxsO1xuXHR9IGVsc2Uge1xuXHRcdC8vIGJvZHkgaXMgc3RyZWFtXG5cdFx0cmV0dXJuIG51bGw7XG5cdH1cbn1cblxuLyoqXG4gKiBXcml0ZSBhIEJvZHkgdG8gYSBOb2RlLmpzIFdyaXRhYmxlU3RyZWFtIChlLmcuIGh0dHAuUmVxdWVzdCkgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSAgIEJvZHkgICAgaW5zdGFuY2UgICBJbnN0YW5jZSBvZiBCb2R5XG4gKiBAcmV0dXJuICBWb2lkXG4gKi9cbmZ1bmN0aW9uIHdyaXRlVG9TdHJlYW0oZGVzdCwgaW5zdGFuY2UpIHtcblx0Y29uc3QgYm9keSA9IGluc3RhbmNlLmJvZHk7XG5cblxuXHRpZiAoYm9keSA9PT0gbnVsbCkge1xuXHRcdC8vIGJvZHkgaXMgbnVsbFxuXHRcdGRlc3QuZW5kKCk7XG5cdH0gZWxzZSBpZiAoaXNCbG9iKGJvZHkpKSB7XG5cdFx0Ym9keS5zdHJlYW0oKS5waXBlKGRlc3QpO1xuXHR9IGVsc2UgaWYgKEJ1ZmZlci5pc0J1ZmZlcihib2R5KSkge1xuXHRcdC8vIGJvZHkgaXMgYnVmZmVyXG5cdFx0ZGVzdC53cml0ZShib2R5KTtcblx0XHRkZXN0LmVuZCgpO1xuXHR9IGVsc2Uge1xuXHRcdC8vIGJvZHkgaXMgc3RyZWFtXG5cdFx0Ym9keS5waXBlKGRlc3QpO1xuXHR9XG59XG5cbi8vIGV4cG9zZSBQcm9taXNlXG5Cb2R5LlByb21pc2UgPSBnbG9iYWwuUHJvbWlzZTtcblxuLyoqXG4gKiBoZWFkZXJzLmpzXG4gKlxuICogSGVhZGVycyBjbGFzcyBvZmZlcnMgY29udmVuaWVudCBoZWxwZXJzXG4gKi9cblxuY29uc3QgaW52YWxpZFRva2VuUmVnZXggPSAvW15cXF5fYGEtekEtWlxcLTAtOSEjJCUmJyorLnx+XS87XG5jb25zdCBpbnZhbGlkSGVhZGVyQ2hhclJlZ2V4ID0gL1teXFx0XFx4MjAtXFx4N2VcXHg4MC1cXHhmZl0vO1xuXG5mdW5jdGlvbiB2YWxpZGF0ZU5hbWUobmFtZSkge1xuXHRuYW1lID0gYCR7bmFtZX1gO1xuXHRpZiAoaW52YWxpZFRva2VuUmVnZXgudGVzdChuYW1lKSB8fCBuYW1lID09PSAnJykge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoYCR7bmFtZX0gaXMgbm90IGEgbGVnYWwgSFRUUCBoZWFkZXIgbmFtZWApO1xuXHR9XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlVmFsdWUodmFsdWUpIHtcblx0dmFsdWUgPSBgJHt2YWx1ZX1gO1xuXHRpZiAoaW52YWxpZEhlYWRlckNoYXJSZWdleC50ZXN0KHZhbHVlKSkge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoYCR7dmFsdWV9IGlzIG5vdCBhIGxlZ2FsIEhUVFAgaGVhZGVyIHZhbHVlYCk7XG5cdH1cbn1cblxuLyoqXG4gKiBGaW5kIHRoZSBrZXkgaW4gdGhlIG1hcCBvYmplY3QgZ2l2ZW4gYSBoZWFkZXIgbmFtZS5cbiAqXG4gKiBSZXR1cm5zIHVuZGVmaW5lZCBpZiBub3QgZm91bmQuXG4gKlxuICogQHBhcmFtICAgU3RyaW5nICBuYW1lICBIZWFkZXIgbmFtZVxuICogQHJldHVybiAgU3RyaW5nfFVuZGVmaW5lZFxuICovXG5mdW5jdGlvbiBmaW5kKG1hcCwgbmFtZSkge1xuXHRuYW1lID0gbmFtZS50b0xvd2VyQ2FzZSgpO1xuXHRmb3IgKGNvbnN0IGtleSBpbiBtYXApIHtcblx0XHRpZiAoa2V5LnRvTG93ZXJDYXNlKCkgPT09IG5hbWUpIHtcblx0XHRcdHJldHVybiBrZXk7XG5cdFx0fVxuXHR9XG5cdHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmNvbnN0IE1BUCA9IFN5bWJvbCgnbWFwJyk7XG5jbGFzcyBIZWFkZXJzIHtcblx0LyoqXG4gICogSGVhZGVycyBjbGFzc1xuICAqXG4gICogQHBhcmFtICAgT2JqZWN0ICBoZWFkZXJzICBSZXNwb25zZSBoZWFkZXJzXG4gICogQHJldHVybiAgVm9pZFxuICAqL1xuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRsZXQgaW5pdCA9IGFyZ3VtZW50cy5sZW5ndGggPiAwICYmIGFyZ3VtZW50c1swXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzBdIDogdW5kZWZpbmVkO1xuXG5cdFx0dGhpc1tNQVBdID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcblxuXHRcdGlmIChpbml0IGluc3RhbmNlb2YgSGVhZGVycykge1xuXHRcdFx0Y29uc3QgcmF3SGVhZGVycyA9IGluaXQucmF3KCk7XG5cdFx0XHRjb25zdCBoZWFkZXJOYW1lcyA9IE9iamVjdC5rZXlzKHJhd0hlYWRlcnMpO1xuXG5cdFx0XHRmb3IgKGNvbnN0IGhlYWRlck5hbWUgb2YgaGVhZGVyTmFtZXMpIHtcblx0XHRcdFx0Zm9yIChjb25zdCB2YWx1ZSBvZiByYXdIZWFkZXJzW2hlYWRlck5hbWVdKSB7XG5cdFx0XHRcdFx0dGhpcy5hcHBlbmQoaGVhZGVyTmFtZSwgdmFsdWUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHQvLyBXZSBkb24ndCB3b3JyeSBhYm91dCBjb252ZXJ0aW5nIHByb3AgdG8gQnl0ZVN0cmluZyBoZXJlIGFzIGFwcGVuZCgpXG5cdFx0Ly8gd2lsbCBoYW5kbGUgaXQuXG5cdFx0aWYgKGluaXQgPT0gbnVsbCkgOyBlbHNlIGlmICh0eXBlb2YgaW5pdCA9PT0gJ29iamVjdCcpIHtcblx0XHRcdGNvbnN0IG1ldGhvZCA9IGluaXRbU3ltYm9sLml0ZXJhdG9yXTtcblx0XHRcdGlmIChtZXRob2QgIT0gbnVsbCkge1xuXHRcdFx0XHRpZiAodHlwZW9mIG1ldGhvZCAhPT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ0hlYWRlciBwYWlycyBtdXN0IGJlIGl0ZXJhYmxlJyk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQvLyBzZXF1ZW5jZTxzZXF1ZW5jZTxCeXRlU3RyaW5nPj5cblx0XHRcdFx0Ly8gTm90ZTogcGVyIHNwZWMgd2UgaGF2ZSB0byBmaXJzdCBleGhhdXN0IHRoZSBsaXN0cyB0aGVuIHByb2Nlc3MgdGhlbVxuXHRcdFx0XHRjb25zdCBwYWlycyA9IFtdO1xuXHRcdFx0XHRmb3IgKGNvbnN0IHBhaXIgb2YgaW5pdCkge1xuXHRcdFx0XHRcdGlmICh0eXBlb2YgcGFpciAhPT0gJ29iamVjdCcgfHwgdHlwZW9mIHBhaXJbU3ltYm9sLml0ZXJhdG9yXSAhPT0gJ2Z1bmN0aW9uJykge1xuXHRcdFx0XHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignRWFjaCBoZWFkZXIgcGFpciBtdXN0IGJlIGl0ZXJhYmxlJyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHBhaXJzLnB1c2goQXJyYXkuZnJvbShwYWlyKSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHRmb3IgKGNvbnN0IHBhaXIgb2YgcGFpcnMpIHtcblx0XHRcdFx0XHRpZiAocGFpci5sZW5ndGggIT09IDIpIHtcblx0XHRcdFx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ0VhY2ggaGVhZGVyIHBhaXIgbXVzdCBiZSBhIG5hbWUvdmFsdWUgdHVwbGUnKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0dGhpcy5hcHBlbmQocGFpclswXSwgcGFpclsxXSk7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdC8vIHJlY29yZDxCeXRlU3RyaW5nLCBCeXRlU3RyaW5nPlxuXHRcdFx0XHRmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhpbml0KSkge1xuXHRcdFx0XHRcdGNvbnN0IHZhbHVlID0gaW5pdFtrZXldO1xuXHRcdFx0XHRcdHRoaXMuYXBwZW5kKGtleSwgdmFsdWUpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ1Byb3ZpZGVkIGluaXRpYWxpemVyIG11c3QgYmUgYW4gb2JqZWN0Jyk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG4gICogUmV0dXJuIGNvbWJpbmVkIGhlYWRlciB2YWx1ZSBnaXZlbiBuYW1lXG4gICpcbiAgKiBAcGFyYW0gICBTdHJpbmcgIG5hbWUgIEhlYWRlciBuYW1lXG4gICogQHJldHVybiAgTWl4ZWRcbiAgKi9cblx0Z2V0KG5hbWUpIHtcblx0XHRuYW1lID0gYCR7bmFtZX1gO1xuXHRcdHZhbGlkYXRlTmFtZShuYW1lKTtcblx0XHRjb25zdCBrZXkgPSBmaW5kKHRoaXNbTUFQXSwgbmFtZSk7XG5cdFx0aWYgKGtleSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRyZXR1cm4gbnVsbDtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpc1tNQVBdW2tleV0uam9pbignLCAnKTtcblx0fVxuXG5cdC8qKlxuICAqIEl0ZXJhdGUgb3ZlciBhbGwgaGVhZGVyc1xuICAqXG4gICogQHBhcmFtICAgRnVuY3Rpb24gIGNhbGxiYWNrICBFeGVjdXRlZCBmb3IgZWFjaCBpdGVtIHdpdGggcGFyYW1ldGVycyAodmFsdWUsIG5hbWUsIHRoaXNBcmcpXG4gICogQHBhcmFtICAgQm9vbGVhbiAgIHRoaXNBcmcgICBgdGhpc2AgY29udGV4dCBmb3IgY2FsbGJhY2sgZnVuY3Rpb25cbiAgKiBAcmV0dXJuICBWb2lkXG4gICovXG5cdGZvckVhY2goY2FsbGJhY2spIHtcblx0XHRsZXQgdGhpc0FyZyA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogdW5kZWZpbmVkO1xuXG5cdFx0bGV0IHBhaXJzID0gZ2V0SGVhZGVycyh0aGlzKTtcblx0XHRsZXQgaSA9IDA7XG5cdFx0d2hpbGUgKGkgPCBwYWlycy5sZW5ndGgpIHtcblx0XHRcdHZhciBfcGFpcnMkaSA9IHBhaXJzW2ldO1xuXHRcdFx0Y29uc3QgbmFtZSA9IF9wYWlycyRpWzBdLFxuXHRcdFx0ICAgICAgdmFsdWUgPSBfcGFpcnMkaVsxXTtcblxuXHRcdFx0Y2FsbGJhY2suY2FsbCh0aGlzQXJnLCB2YWx1ZSwgbmFtZSwgdGhpcyk7XG5cdFx0XHRwYWlycyA9IGdldEhlYWRlcnModGhpcyk7XG5cdFx0XHRpKys7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG4gICogT3ZlcndyaXRlIGhlYWRlciB2YWx1ZXMgZ2l2ZW4gbmFtZVxuICAqXG4gICogQHBhcmFtICAgU3RyaW5nICBuYW1lICAgSGVhZGVyIG5hbWVcbiAgKiBAcGFyYW0gICBTdHJpbmcgIHZhbHVlICBIZWFkZXIgdmFsdWVcbiAgKiBAcmV0dXJuICBWb2lkXG4gICovXG5cdHNldChuYW1lLCB2YWx1ZSkge1xuXHRcdG5hbWUgPSBgJHtuYW1lfWA7XG5cdFx0dmFsdWUgPSBgJHt2YWx1ZX1gO1xuXHRcdHZhbGlkYXRlTmFtZShuYW1lKTtcblx0XHR2YWxpZGF0ZVZhbHVlKHZhbHVlKTtcblx0XHRjb25zdCBrZXkgPSBmaW5kKHRoaXNbTUFQXSwgbmFtZSk7XG5cdFx0dGhpc1tNQVBdW2tleSAhPT0gdW5kZWZpbmVkID8ga2V5IDogbmFtZV0gPSBbdmFsdWVdO1xuXHR9XG5cblx0LyoqXG4gICogQXBwZW5kIGEgdmFsdWUgb250byBleGlzdGluZyBoZWFkZXJcbiAgKlxuICAqIEBwYXJhbSAgIFN0cmluZyAgbmFtZSAgIEhlYWRlciBuYW1lXG4gICogQHBhcmFtICAgU3RyaW5nICB2YWx1ZSAgSGVhZGVyIHZhbHVlXG4gICogQHJldHVybiAgVm9pZFxuICAqL1xuXHRhcHBlbmQobmFtZSwgdmFsdWUpIHtcblx0XHRuYW1lID0gYCR7bmFtZX1gO1xuXHRcdHZhbHVlID0gYCR7dmFsdWV9YDtcblx0XHR2YWxpZGF0ZU5hbWUobmFtZSk7XG5cdFx0dmFsaWRhdGVWYWx1ZSh2YWx1ZSk7XG5cdFx0Y29uc3Qga2V5ID0gZmluZCh0aGlzW01BUF0sIG5hbWUpO1xuXHRcdGlmIChrZXkgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0dGhpc1tNQVBdW2tleV0ucHVzaCh2YWx1ZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXNbTUFQXVtuYW1lXSA9IFt2YWx1ZV07XG5cdFx0fVxuXHR9XG5cblx0LyoqXG4gICogQ2hlY2sgZm9yIGhlYWRlciBuYW1lIGV4aXN0ZW5jZVxuICAqXG4gICogQHBhcmFtICAgU3RyaW5nICAgbmFtZSAgSGVhZGVyIG5hbWVcbiAgKiBAcmV0dXJuICBCb29sZWFuXG4gICovXG5cdGhhcyhuYW1lKSB7XG5cdFx0bmFtZSA9IGAke25hbWV9YDtcblx0XHR2YWxpZGF0ZU5hbWUobmFtZSk7XG5cdFx0cmV0dXJuIGZpbmQodGhpc1tNQVBdLCBuYW1lKSAhPT0gdW5kZWZpbmVkO1xuXHR9XG5cblx0LyoqXG4gICogRGVsZXRlIGFsbCBoZWFkZXIgdmFsdWVzIGdpdmVuIG5hbWVcbiAgKlxuICAqIEBwYXJhbSAgIFN0cmluZyAgbmFtZSAgSGVhZGVyIG5hbWVcbiAgKiBAcmV0dXJuICBWb2lkXG4gICovXG5cdGRlbGV0ZShuYW1lKSB7XG5cdFx0bmFtZSA9IGAke25hbWV9YDtcblx0XHR2YWxpZGF0ZU5hbWUobmFtZSk7XG5cdFx0Y29uc3Qga2V5ID0gZmluZCh0aGlzW01BUF0sIG5hbWUpO1xuXHRcdGlmIChrZXkgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0ZGVsZXRlIHRoaXNbTUFQXVtrZXldO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuICAqIFJldHVybiByYXcgaGVhZGVycyAobm9uLXNwZWMgYXBpKVxuICAqXG4gICogQHJldHVybiAgT2JqZWN0XG4gICovXG5cdHJhdygpIHtcblx0XHRyZXR1cm4gdGhpc1tNQVBdO1xuXHR9XG5cblx0LyoqXG4gICogR2V0IGFuIGl0ZXJhdG9yIG9uIGtleXMuXG4gICpcbiAgKiBAcmV0dXJuICBJdGVyYXRvclxuICAqL1xuXHRrZXlzKCkge1xuXHRcdHJldHVybiBjcmVhdGVIZWFkZXJzSXRlcmF0b3IodGhpcywgJ2tleScpO1xuXHR9XG5cblx0LyoqXG4gICogR2V0IGFuIGl0ZXJhdG9yIG9uIHZhbHVlcy5cbiAgKlxuICAqIEByZXR1cm4gIEl0ZXJhdG9yXG4gICovXG5cdHZhbHVlcygpIHtcblx0XHRyZXR1cm4gY3JlYXRlSGVhZGVyc0l0ZXJhdG9yKHRoaXMsICd2YWx1ZScpO1xuXHR9XG5cblx0LyoqXG4gICogR2V0IGFuIGl0ZXJhdG9yIG9uIGVudHJpZXMuXG4gICpcbiAgKiBUaGlzIGlzIHRoZSBkZWZhdWx0IGl0ZXJhdG9yIG9mIHRoZSBIZWFkZXJzIG9iamVjdC5cbiAgKlxuICAqIEByZXR1cm4gIEl0ZXJhdG9yXG4gICovXG5cdFtTeW1ib2wuaXRlcmF0b3JdKCkge1xuXHRcdHJldHVybiBjcmVhdGVIZWFkZXJzSXRlcmF0b3IodGhpcywgJ2tleSt2YWx1ZScpO1xuXHR9XG59XG5IZWFkZXJzLnByb3RvdHlwZS5lbnRyaWVzID0gSGVhZGVycy5wcm90b3R5cGVbU3ltYm9sLml0ZXJhdG9yXTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEhlYWRlcnMucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcsIHtcblx0dmFsdWU6ICdIZWFkZXJzJyxcblx0d3JpdGFibGU6IGZhbHNlLFxuXHRlbnVtZXJhYmxlOiBmYWxzZSxcblx0Y29uZmlndXJhYmxlOiB0cnVlXG59KTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoSGVhZGVycy5wcm90b3R5cGUsIHtcblx0Z2V0OiB7IGVudW1lcmFibGU6IHRydWUgfSxcblx0Zm9yRWFjaDogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG5cdHNldDogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG5cdGFwcGVuZDogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG5cdGhhczogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG5cdGRlbGV0ZTogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG5cdGtleXM6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuXHR2YWx1ZXM6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuXHRlbnRyaWVzOiB7IGVudW1lcmFibGU6IHRydWUgfVxufSk7XG5cbmZ1bmN0aW9uIGdldEhlYWRlcnMoaGVhZGVycykge1xuXHRsZXQga2luZCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDogJ2tleSt2YWx1ZSc7XG5cblx0Y29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGhlYWRlcnNbTUFQXSkuc29ydCgpO1xuXHRyZXR1cm4ga2V5cy5tYXAoa2luZCA9PT0gJ2tleScgPyBmdW5jdGlvbiAoaykge1xuXHRcdHJldHVybiBrLnRvTG93ZXJDYXNlKCk7XG5cdH0gOiBraW5kID09PSAndmFsdWUnID8gZnVuY3Rpb24gKGspIHtcblx0XHRyZXR1cm4gaGVhZGVyc1tNQVBdW2tdLmpvaW4oJywgJyk7XG5cdH0gOiBmdW5jdGlvbiAoaykge1xuXHRcdHJldHVybiBbay50b0xvd2VyQ2FzZSgpLCBoZWFkZXJzW01BUF1ba10uam9pbignLCAnKV07XG5cdH0pO1xufVxuXG5jb25zdCBJTlRFUk5BTCA9IFN5bWJvbCgnaW50ZXJuYWwnKTtcblxuZnVuY3Rpb24gY3JlYXRlSGVhZGVyc0l0ZXJhdG9yKHRhcmdldCwga2luZCkge1xuXHRjb25zdCBpdGVyYXRvciA9IE9iamVjdC5jcmVhdGUoSGVhZGVyc0l0ZXJhdG9yUHJvdG90eXBlKTtcblx0aXRlcmF0b3JbSU5URVJOQUxdID0ge1xuXHRcdHRhcmdldCxcblx0XHRraW5kLFxuXHRcdGluZGV4OiAwXG5cdH07XG5cdHJldHVybiBpdGVyYXRvcjtcbn1cblxuY29uc3QgSGVhZGVyc0l0ZXJhdG9yUHJvdG90eXBlID0gT2JqZWN0LnNldFByb3RvdHlwZU9mKHtcblx0bmV4dCgpIHtcblx0XHQvLyBpc3RhbmJ1bCBpZ25vcmUgaWZcblx0XHRpZiAoIXRoaXMgfHwgT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpICE9PSBIZWFkZXJzSXRlcmF0b3JQcm90b3R5cGUpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ1ZhbHVlIG9mIGB0aGlzYCBpcyBub3QgYSBIZWFkZXJzSXRlcmF0b3InKTtcblx0XHR9XG5cblx0XHR2YXIgX0lOVEVSTkFMID0gdGhpc1tJTlRFUk5BTF07XG5cdFx0Y29uc3QgdGFyZ2V0ID0gX0lOVEVSTkFMLnRhcmdldCxcblx0XHQgICAgICBraW5kID0gX0lOVEVSTkFMLmtpbmQsXG5cdFx0ICAgICAgaW5kZXggPSBfSU5URVJOQUwuaW5kZXg7XG5cblx0XHRjb25zdCB2YWx1ZXMgPSBnZXRIZWFkZXJzKHRhcmdldCwga2luZCk7XG5cdFx0Y29uc3QgbGVuID0gdmFsdWVzLmxlbmd0aDtcblx0XHRpZiAoaW5kZXggPj0gbGVuKSB7XG5cdFx0XHRyZXR1cm4ge1xuXHRcdFx0XHR2YWx1ZTogdW5kZWZpbmVkLFxuXHRcdFx0XHRkb25lOiB0cnVlXG5cdFx0XHR9O1xuXHRcdH1cblxuXHRcdHRoaXNbSU5URVJOQUxdLmluZGV4ID0gaW5kZXggKyAxO1xuXG5cdFx0cmV0dXJuIHtcblx0XHRcdHZhbHVlOiB2YWx1ZXNbaW5kZXhdLFxuXHRcdFx0ZG9uZTogZmFsc2Vcblx0XHR9O1xuXHR9XG59LCBPYmplY3QuZ2V0UHJvdG90eXBlT2YoT2JqZWN0LmdldFByb3RvdHlwZU9mKFtdW1N5bWJvbC5pdGVyYXRvcl0oKSkpKTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnR5KEhlYWRlcnNJdGVyYXRvclByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7XG5cdHZhbHVlOiAnSGVhZGVyc0l0ZXJhdG9yJyxcblx0d3JpdGFibGU6IGZhbHNlLFxuXHRlbnVtZXJhYmxlOiBmYWxzZSxcblx0Y29uZmlndXJhYmxlOiB0cnVlXG59KTtcblxuLyoqXG4gKiBFeHBvcnQgdGhlIEhlYWRlcnMgb2JqZWN0IGluIGEgZm9ybSB0aGF0IE5vZGUuanMgY2FuIGNvbnN1bWUuXG4gKlxuICogQHBhcmFtICAgSGVhZGVycyAgaGVhZGVyc1xuICogQHJldHVybiAgT2JqZWN0XG4gKi9cbmZ1bmN0aW9uIGV4cG9ydE5vZGVDb21wYXRpYmxlSGVhZGVycyhoZWFkZXJzKSB7XG5cdGNvbnN0IG9iaiA9IE9iamVjdC5hc3NpZ24oeyBfX3Byb3RvX186IG51bGwgfSwgaGVhZGVyc1tNQVBdKTtcblxuXHQvLyBodHRwLnJlcXVlc3QoKSBvbmx5IHN1cHBvcnRzIHN0cmluZyBhcyBIb3N0IGhlYWRlci4gVGhpcyBoYWNrIG1ha2VzXG5cdC8vIHNwZWNpZnlpbmcgY3VzdG9tIEhvc3QgaGVhZGVyIHBvc3NpYmxlLlxuXHRjb25zdCBob3N0SGVhZGVyS2V5ID0gZmluZChoZWFkZXJzW01BUF0sICdIb3N0Jyk7XG5cdGlmIChob3N0SGVhZGVyS2V5ICE9PSB1bmRlZmluZWQpIHtcblx0XHRvYmpbaG9zdEhlYWRlcktleV0gPSBvYmpbaG9zdEhlYWRlcktleV1bMF07XG5cdH1cblxuXHRyZXR1cm4gb2JqO1xufVxuXG4vKipcbiAqIENyZWF0ZSBhIEhlYWRlcnMgb2JqZWN0IGZyb20gYW4gb2JqZWN0IG9mIGhlYWRlcnMsIGlnbm9yaW5nIHRob3NlIHRoYXQgZG9cbiAqIG5vdCBjb25mb3JtIHRvIEhUVFAgZ3JhbW1hciBwcm9kdWN0aW9ucy5cbiAqXG4gKiBAcGFyYW0gICBPYmplY3QgIG9iaiAgT2JqZWN0IG9mIGhlYWRlcnNcbiAqIEByZXR1cm4gIEhlYWRlcnNcbiAqL1xuZnVuY3Rpb24gY3JlYXRlSGVhZGVyc0xlbmllbnQob2JqKSB7XG5cdGNvbnN0IGhlYWRlcnMgPSBuZXcgSGVhZGVycygpO1xuXHRmb3IgKGNvbnN0IG5hbWUgb2YgT2JqZWN0LmtleXMob2JqKSkge1xuXHRcdGlmIChpbnZhbGlkVG9rZW5SZWdleC50ZXN0KG5hbWUpKSB7XG5cdFx0XHRjb250aW51ZTtcblx0XHR9XG5cdFx0aWYgKEFycmF5LmlzQXJyYXkob2JqW25hbWVdKSkge1xuXHRcdFx0Zm9yIChjb25zdCB2YWwgb2Ygb2JqW25hbWVdKSB7XG5cdFx0XHRcdGlmIChpbnZhbGlkSGVhZGVyQ2hhclJlZ2V4LnRlc3QodmFsKSkge1xuXHRcdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChoZWFkZXJzW01BUF1bbmFtZV0gPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdGhlYWRlcnNbTUFQXVtuYW1lXSA9IFt2YWxdO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGhlYWRlcnNbTUFQXVtuYW1lXS5wdXNoKHZhbCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9IGVsc2UgaWYgKCFpbnZhbGlkSGVhZGVyQ2hhclJlZ2V4LnRlc3Qob2JqW25hbWVdKSkge1xuXHRcdFx0aGVhZGVyc1tNQVBdW25hbWVdID0gW29ialtuYW1lXV07XG5cdFx0fVxuXHR9XG5cdHJldHVybiBoZWFkZXJzO1xufVxuXG5jb25zdCBJTlRFUk5BTFMkMSA9IFN5bWJvbCgnUmVzcG9uc2UgaW50ZXJuYWxzJyk7XG5cbi8vIGZpeCBhbiBpc3N1ZSB3aGVyZSBcIlNUQVRVU19DT0RFU1wiIGFyZW4ndCBhIG5hbWVkIGV4cG9ydCBmb3Igbm9kZSA8MTBcbmNvbnN0IFNUQVRVU19DT0RFUyA9IGh0dHAuU1RBVFVTX0NPREVTO1xuXG4vKipcbiAqIFJlc3BvbnNlIGNsYXNzXG4gKlxuICogQHBhcmFtICAgU3RyZWFtICBib2R5ICBSZWFkYWJsZSBzdHJlYW1cbiAqIEBwYXJhbSAgIE9iamVjdCAgb3B0cyAgUmVzcG9uc2Ugb3B0aW9uc1xuICogQHJldHVybiAgVm9pZFxuICovXG5jbGFzcyBSZXNwb25zZSB7XG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGxldCBib2R5ID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBudWxsO1xuXHRcdGxldCBvcHRzID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcblxuXHRcdEJvZHkuY2FsbCh0aGlzLCBib2R5LCBvcHRzKTtcblxuXHRcdGNvbnN0IHN0YXR1cyA9IG9wdHMuc3RhdHVzIHx8IDIwMDtcblx0XHRjb25zdCBoZWFkZXJzID0gbmV3IEhlYWRlcnMob3B0cy5oZWFkZXJzKTtcblxuXHRcdGlmIChib2R5ICE9IG51bGwgJiYgIWhlYWRlcnMuaGFzKCdDb250ZW50LVR5cGUnKSkge1xuXHRcdFx0Y29uc3QgY29udGVudFR5cGUgPSBleHRyYWN0Q29udGVudFR5cGUoYm9keSk7XG5cdFx0XHRpZiAoY29udGVudFR5cGUpIHtcblx0XHRcdFx0aGVhZGVycy5hcHBlbmQoJ0NvbnRlbnQtVHlwZScsIGNvbnRlbnRUeXBlKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHR0aGlzW0lOVEVSTkFMUyQxXSA9IHtcblx0XHRcdHVybDogb3B0cy51cmwsXG5cdFx0XHRzdGF0dXMsXG5cdFx0XHRzdGF0dXNUZXh0OiBvcHRzLnN0YXR1c1RleHQgfHwgU1RBVFVTX0NPREVTW3N0YXR1c10sXG5cdFx0XHRoZWFkZXJzLFxuXHRcdFx0Y291bnRlcjogb3B0cy5jb3VudGVyXG5cdFx0fTtcblx0fVxuXG5cdGdldCB1cmwoKSB7XG5cdFx0cmV0dXJuIHRoaXNbSU5URVJOQUxTJDFdLnVybCB8fCAnJztcblx0fVxuXG5cdGdldCBzdGF0dXMoKSB7XG5cdFx0cmV0dXJuIHRoaXNbSU5URVJOQUxTJDFdLnN0YXR1cztcblx0fVxuXG5cdC8qKlxuICAqIENvbnZlbmllbmNlIHByb3BlcnR5IHJlcHJlc2VudGluZyBpZiB0aGUgcmVxdWVzdCBlbmRlZCBub3JtYWxseVxuICAqL1xuXHRnZXQgb2soKSB7XG5cdFx0cmV0dXJuIHRoaXNbSU5URVJOQUxTJDFdLnN0YXR1cyA+PSAyMDAgJiYgdGhpc1tJTlRFUk5BTFMkMV0uc3RhdHVzIDwgMzAwO1xuXHR9XG5cblx0Z2V0IHJlZGlyZWN0ZWQoKSB7XG5cdFx0cmV0dXJuIHRoaXNbSU5URVJOQUxTJDFdLmNvdW50ZXIgPiAwO1xuXHR9XG5cblx0Z2V0IHN0YXR1c1RleHQoKSB7XG5cdFx0cmV0dXJuIHRoaXNbSU5URVJOQUxTJDFdLnN0YXR1c1RleHQ7XG5cdH1cblxuXHRnZXQgaGVhZGVycygpIHtcblx0XHRyZXR1cm4gdGhpc1tJTlRFUk5BTFMkMV0uaGVhZGVycztcblx0fVxuXG5cdC8qKlxuICAqIENsb25lIHRoaXMgcmVzcG9uc2VcbiAgKlxuICAqIEByZXR1cm4gIFJlc3BvbnNlXG4gICovXG5cdGNsb25lKCkge1xuXHRcdHJldHVybiBuZXcgUmVzcG9uc2UoY2xvbmUodGhpcyksIHtcblx0XHRcdHVybDogdGhpcy51cmwsXG5cdFx0XHRzdGF0dXM6IHRoaXMuc3RhdHVzLFxuXHRcdFx0c3RhdHVzVGV4dDogdGhpcy5zdGF0dXNUZXh0LFxuXHRcdFx0aGVhZGVyczogdGhpcy5oZWFkZXJzLFxuXHRcdFx0b2s6IHRoaXMub2ssXG5cdFx0XHRyZWRpcmVjdGVkOiB0aGlzLnJlZGlyZWN0ZWRcblx0XHR9KTtcblx0fVxufVxuXG5Cb2R5Lm1peEluKFJlc3BvbnNlLnByb3RvdHlwZSk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFJlc3BvbnNlLnByb3RvdHlwZSwge1xuXHR1cmw6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuXHRzdGF0dXM6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuXHRvazogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG5cdHJlZGlyZWN0ZWQ6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuXHRzdGF0dXNUZXh0OiB7IGVudW1lcmFibGU6IHRydWUgfSxcblx0aGVhZGVyczogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG5cdGNsb25lOiB7IGVudW1lcmFibGU6IHRydWUgfVxufSk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZXNwb25zZS5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZywge1xuXHR2YWx1ZTogJ1Jlc3BvbnNlJyxcblx0d3JpdGFibGU6IGZhbHNlLFxuXHRlbnVtZXJhYmxlOiBmYWxzZSxcblx0Y29uZmlndXJhYmxlOiB0cnVlXG59KTtcblxuY29uc3QgSU5URVJOQUxTJDIgPSBTeW1ib2woJ1JlcXVlc3QgaW50ZXJuYWxzJyk7XG5jb25zdCBVUkwgPSBVcmwuVVJMIHx8IHdoYXR3Z1VybC5VUkw7XG5cbi8vIGZpeCBhbiBpc3N1ZSB3aGVyZSBcImZvcm1hdFwiLCBcInBhcnNlXCIgYXJlbid0IGEgbmFtZWQgZXhwb3J0IGZvciBub2RlIDwxMFxuY29uc3QgcGFyc2VfdXJsID0gVXJsLnBhcnNlO1xuY29uc3QgZm9ybWF0X3VybCA9IFVybC5mb3JtYXQ7XG5cbi8qKlxuICogV3JhcHBlciBhcm91bmQgYG5ldyBVUkxgIHRvIGhhbmRsZSBhcmJpdHJhcnkgVVJMc1xuICpcbiAqIEBwYXJhbSAge3N0cmluZ30gdXJsU3RyXG4gKiBAcmV0dXJuIHt2b2lkfVxuICovXG5mdW5jdGlvbiBwYXJzZVVSTCh1cmxTdHIpIHtcblx0LypcbiBcdENoZWNrIHdoZXRoZXIgdGhlIFVSTCBpcyBhYnNvbHV0ZSBvciBub3RcbiBcdFx0U2NoZW1lOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTMuMVxuIFx0QWJzb2x1dGUgVVJMOiBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzk4NiNzZWN0aW9uLTQuM1xuICovXG5cdGlmICgvXlthLXpBLVpdW2EtekEtWlxcZCtcXC0uXSo6Ly5leGVjKHVybFN0cikpIHtcblx0XHR1cmxTdHIgPSBuZXcgVVJMKHVybFN0cikudG9TdHJpbmcoKTtcblx0fVxuXG5cdC8vIEZhbGxiYWNrIHRvIG9sZCBpbXBsZW1lbnRhdGlvbiBmb3IgYXJiaXRyYXJ5IFVSTHNcblx0cmV0dXJuIHBhcnNlX3VybCh1cmxTdHIpO1xufVxuXG5jb25zdCBzdHJlYW1EZXN0cnVjdGlvblN1cHBvcnRlZCA9ICdkZXN0cm95JyBpbiBTdHJlYW0uUmVhZGFibGUucHJvdG90eXBlO1xuXG4vKipcbiAqIENoZWNrIGlmIGEgdmFsdWUgaXMgYW4gaW5zdGFuY2Ugb2YgUmVxdWVzdC5cbiAqXG4gKiBAcGFyYW0gICBNaXhlZCAgIGlucHV0XG4gKiBAcmV0dXJuICBCb29sZWFuXG4gKi9cbmZ1bmN0aW9uIGlzUmVxdWVzdChpbnB1dCkge1xuXHRyZXR1cm4gdHlwZW9mIGlucHV0ID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgaW5wdXRbSU5URVJOQUxTJDJdID09PSAnb2JqZWN0Jztcbn1cblxuZnVuY3Rpb24gaXNBYm9ydFNpZ25hbChzaWduYWwpIHtcblx0Y29uc3QgcHJvdG8gPSBzaWduYWwgJiYgdHlwZW9mIHNpZ25hbCA9PT0gJ29iamVjdCcgJiYgT2JqZWN0LmdldFByb3RvdHlwZU9mKHNpZ25hbCk7XG5cdHJldHVybiAhIShwcm90byAmJiBwcm90by5jb25zdHJ1Y3Rvci5uYW1lID09PSAnQWJvcnRTaWduYWwnKTtcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IGNsYXNzXG4gKlxuICogQHBhcmFtICAgTWl4ZWQgICBpbnB1dCAgVXJsIG9yIFJlcXVlc3QgaW5zdGFuY2VcbiAqIEBwYXJhbSAgIE9iamVjdCAgaW5pdCAgIEN1c3RvbSBvcHRpb25zXG4gKiBAcmV0dXJuICBWb2lkXG4gKi9cbmNsYXNzIFJlcXVlc3Qge1xuXHRjb25zdHJ1Y3RvcihpbnB1dCkge1xuXHRcdGxldCBpbml0ID0gYXJndW1lbnRzLmxlbmd0aCA+IDEgJiYgYXJndW1lbnRzWzFdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMV0gOiB7fTtcblxuXHRcdGxldCBwYXJzZWRVUkw7XG5cblx0XHQvLyBub3JtYWxpemUgaW5wdXRcblx0XHRpZiAoIWlzUmVxdWVzdChpbnB1dCkpIHtcblx0XHRcdGlmIChpbnB1dCAmJiBpbnB1dC5ocmVmKSB7XG5cdFx0XHRcdC8vIGluIG9yZGVyIHRvIHN1cHBvcnQgTm9kZS5qcycgVXJsIG9iamVjdHM7IHRob3VnaCBXSEFUV0cncyBVUkwgb2JqZWN0c1xuXHRcdFx0XHQvLyB3aWxsIGZhbGwgaW50byB0aGlzIGJyYW5jaCBhbHNvIChzaW5jZSB0aGVpciBgdG9TdHJpbmcoKWAgd2lsbCByZXR1cm5cblx0XHRcdFx0Ly8gYGhyZWZgIHByb3BlcnR5IGFueXdheSlcblx0XHRcdFx0cGFyc2VkVVJMID0gcGFyc2VVUkwoaW5wdXQuaHJlZik7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHQvLyBjb2VyY2UgaW5wdXQgdG8gYSBzdHJpbmcgYmVmb3JlIGF0dGVtcHRpbmcgdG8gcGFyc2Vcblx0XHRcdFx0cGFyc2VkVVJMID0gcGFyc2VVUkwoYCR7aW5wdXR9YCk7XG5cdFx0XHR9XG5cdFx0XHRpbnB1dCA9IHt9O1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRwYXJzZWRVUkwgPSBwYXJzZVVSTChpbnB1dC51cmwpO1xuXHRcdH1cblxuXHRcdGxldCBtZXRob2QgPSBpbml0Lm1ldGhvZCB8fCBpbnB1dC5tZXRob2QgfHwgJ0dFVCc7XG5cdFx0bWV0aG9kID0gbWV0aG9kLnRvVXBwZXJDYXNlKCk7XG5cblx0XHRpZiAoKGluaXQuYm9keSAhPSBudWxsIHx8IGlzUmVxdWVzdChpbnB1dCkgJiYgaW5wdXQuYm9keSAhPT0gbnVsbCkgJiYgKG1ldGhvZCA9PT0gJ0dFVCcgfHwgbWV0aG9kID09PSAnSEVBRCcpKSB7XG5cdFx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdSZXF1ZXN0IHdpdGggR0VUL0hFQUQgbWV0aG9kIGNhbm5vdCBoYXZlIGJvZHknKTtcblx0XHR9XG5cblx0XHRsZXQgaW5wdXRCb2R5ID0gaW5pdC5ib2R5ICE9IG51bGwgPyBpbml0LmJvZHkgOiBpc1JlcXVlc3QoaW5wdXQpICYmIGlucHV0LmJvZHkgIT09IG51bGwgPyBjbG9uZShpbnB1dCkgOiBudWxsO1xuXG5cdFx0Qm9keS5jYWxsKHRoaXMsIGlucHV0Qm9keSwge1xuXHRcdFx0dGltZW91dDogaW5pdC50aW1lb3V0IHx8IGlucHV0LnRpbWVvdXQgfHwgMCxcblx0XHRcdHNpemU6IGluaXQuc2l6ZSB8fCBpbnB1dC5zaXplIHx8IDBcblx0XHR9KTtcblxuXHRcdGNvbnN0IGhlYWRlcnMgPSBuZXcgSGVhZGVycyhpbml0LmhlYWRlcnMgfHwgaW5wdXQuaGVhZGVycyB8fCB7fSk7XG5cblx0XHRpZiAoaW5wdXRCb2R5ICE9IG51bGwgJiYgIWhlYWRlcnMuaGFzKCdDb250ZW50LVR5cGUnKSkge1xuXHRcdFx0Y29uc3QgY29udGVudFR5cGUgPSBleHRyYWN0Q29udGVudFR5cGUoaW5wdXRCb2R5KTtcblx0XHRcdGlmIChjb250ZW50VHlwZSkge1xuXHRcdFx0XHRoZWFkZXJzLmFwcGVuZCgnQ29udGVudC1UeXBlJywgY29udGVudFR5cGUpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGxldCBzaWduYWwgPSBpc1JlcXVlc3QoaW5wdXQpID8gaW5wdXQuc2lnbmFsIDogbnVsbDtcblx0XHRpZiAoJ3NpZ25hbCcgaW4gaW5pdCkgc2lnbmFsID0gaW5pdC5zaWduYWw7XG5cblx0XHRpZiAoc2lnbmFsICE9IG51bGwgJiYgIWlzQWJvcnRTaWduYWwoc2lnbmFsKSkge1xuXHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgc2lnbmFsIHRvIGJlIGFuIGluc3RhbmNlb2YgQWJvcnRTaWduYWwnKTtcblx0XHR9XG5cblx0XHR0aGlzW0lOVEVSTkFMUyQyXSA9IHtcblx0XHRcdG1ldGhvZCxcblx0XHRcdHJlZGlyZWN0OiBpbml0LnJlZGlyZWN0IHx8IGlucHV0LnJlZGlyZWN0IHx8ICdmb2xsb3cnLFxuXHRcdFx0aGVhZGVycyxcblx0XHRcdHBhcnNlZFVSTCxcblx0XHRcdHNpZ25hbFxuXHRcdH07XG5cblx0XHQvLyBub2RlLWZldGNoLW9ubHkgb3B0aW9uc1xuXHRcdHRoaXMuZm9sbG93ID0gaW5pdC5mb2xsb3cgIT09IHVuZGVmaW5lZCA/IGluaXQuZm9sbG93IDogaW5wdXQuZm9sbG93ICE9PSB1bmRlZmluZWQgPyBpbnB1dC5mb2xsb3cgOiAyMDtcblx0XHR0aGlzLmNvbXByZXNzID0gaW5pdC5jb21wcmVzcyAhPT0gdW5kZWZpbmVkID8gaW5pdC5jb21wcmVzcyA6IGlucHV0LmNvbXByZXNzICE9PSB1bmRlZmluZWQgPyBpbnB1dC5jb21wcmVzcyA6IHRydWU7XG5cdFx0dGhpcy5jb3VudGVyID0gaW5pdC5jb3VudGVyIHx8IGlucHV0LmNvdW50ZXIgfHwgMDtcblx0XHR0aGlzLmFnZW50ID0gaW5pdC5hZ2VudCB8fCBpbnB1dC5hZ2VudDtcblx0fVxuXG5cdGdldCBtZXRob2QoKSB7XG5cdFx0cmV0dXJuIHRoaXNbSU5URVJOQUxTJDJdLm1ldGhvZDtcblx0fVxuXG5cdGdldCB1cmwoKSB7XG5cdFx0cmV0dXJuIGZvcm1hdF91cmwodGhpc1tJTlRFUk5BTFMkMl0ucGFyc2VkVVJMKTtcblx0fVxuXG5cdGdldCBoZWFkZXJzKCkge1xuXHRcdHJldHVybiB0aGlzW0lOVEVSTkFMUyQyXS5oZWFkZXJzO1xuXHR9XG5cblx0Z2V0IHJlZGlyZWN0KCkge1xuXHRcdHJldHVybiB0aGlzW0lOVEVSTkFMUyQyXS5yZWRpcmVjdDtcblx0fVxuXG5cdGdldCBzaWduYWwoKSB7XG5cdFx0cmV0dXJuIHRoaXNbSU5URVJOQUxTJDJdLnNpZ25hbDtcblx0fVxuXG5cdC8qKlxuICAqIENsb25lIHRoaXMgcmVxdWVzdFxuICAqXG4gICogQHJldHVybiAgUmVxdWVzdFxuICAqL1xuXHRjbG9uZSgpIHtcblx0XHRyZXR1cm4gbmV3IFJlcXVlc3QodGhpcyk7XG5cdH1cbn1cblxuQm9keS5taXhJbihSZXF1ZXN0LnByb3RvdHlwZSk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZXF1ZXN0LnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7XG5cdHZhbHVlOiAnUmVxdWVzdCcsXG5cdHdyaXRhYmxlOiBmYWxzZSxcblx0ZW51bWVyYWJsZTogZmFsc2UsXG5cdGNvbmZpZ3VyYWJsZTogdHJ1ZVxufSk7XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFJlcXVlc3QucHJvdG90eXBlLCB7XG5cdG1ldGhvZDogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG5cdHVybDogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG5cdGhlYWRlcnM6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuXHRyZWRpcmVjdDogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG5cdGNsb25lOiB7IGVudW1lcmFibGU6IHRydWUgfSxcblx0c2lnbmFsOiB7IGVudW1lcmFibGU6IHRydWUgfVxufSk7XG5cbi8qKlxuICogQ29udmVydCBhIFJlcXVlc3QgdG8gTm9kZS5qcyBodHRwIHJlcXVlc3Qgb3B0aW9ucy5cbiAqXG4gKiBAcGFyYW0gICBSZXF1ZXN0ICBBIFJlcXVlc3QgaW5zdGFuY2VcbiAqIEByZXR1cm4gIE9iamVjdCAgIFRoZSBvcHRpb25zIG9iamVjdCB0byBiZSBwYXNzZWQgdG8gaHR0cC5yZXF1ZXN0XG4gKi9cbmZ1bmN0aW9uIGdldE5vZGVSZXF1ZXN0T3B0aW9ucyhyZXF1ZXN0KSB7XG5cdGNvbnN0IHBhcnNlZFVSTCA9IHJlcXVlc3RbSU5URVJOQUxTJDJdLnBhcnNlZFVSTDtcblx0Y29uc3QgaGVhZGVycyA9IG5ldyBIZWFkZXJzKHJlcXVlc3RbSU5URVJOQUxTJDJdLmhlYWRlcnMpO1xuXG5cdC8vIGZldGNoIHN0ZXAgMS4zXG5cdGlmICghaGVhZGVycy5oYXMoJ0FjY2VwdCcpKSB7XG5cdFx0aGVhZGVycy5zZXQoJ0FjY2VwdCcsICcqLyonKTtcblx0fVxuXG5cdC8vIEJhc2ljIGZldGNoXG5cdGlmICghcGFyc2VkVVJMLnByb3RvY29sIHx8ICFwYXJzZWRVUkwuaG9zdG5hbWUpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdPbmx5IGFic29sdXRlIFVSTHMgYXJlIHN1cHBvcnRlZCcpO1xuXHR9XG5cblx0aWYgKCEvXmh0dHBzPzokLy50ZXN0KHBhcnNlZFVSTC5wcm90b2NvbCkpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdPbmx5IEhUVFAoUykgcHJvdG9jb2xzIGFyZSBzdXBwb3J0ZWQnKTtcblx0fVxuXG5cdGlmIChyZXF1ZXN0LnNpZ25hbCAmJiByZXF1ZXN0LmJvZHkgaW5zdGFuY2VvZiBTdHJlYW0uUmVhZGFibGUgJiYgIXN0cmVhbURlc3RydWN0aW9uU3VwcG9ydGVkKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdDYW5jZWxsYXRpb24gb2Ygc3RyZWFtZWQgcmVxdWVzdHMgd2l0aCBBYm9ydFNpZ25hbCBpcyBub3Qgc3VwcG9ydGVkIGluIG5vZGUgPCA4Jyk7XG5cdH1cblxuXHQvLyBIVFRQLW5ldHdvcmstb3ItY2FjaGUgZmV0Y2ggc3RlcHMgMi40LTIuN1xuXHRsZXQgY29udGVudExlbmd0aFZhbHVlID0gbnVsbDtcblx0aWYgKHJlcXVlc3QuYm9keSA9PSBudWxsICYmIC9eKFBPU1R8UFVUKSQvaS50ZXN0KHJlcXVlc3QubWV0aG9kKSkge1xuXHRcdGNvbnRlbnRMZW5ndGhWYWx1ZSA9ICcwJztcblx0fVxuXHRpZiAocmVxdWVzdC5ib2R5ICE9IG51bGwpIHtcblx0XHRjb25zdCB0b3RhbEJ5dGVzID0gZ2V0VG90YWxCeXRlcyhyZXF1ZXN0KTtcblx0XHRpZiAodHlwZW9mIHRvdGFsQnl0ZXMgPT09ICdudW1iZXInKSB7XG5cdFx0XHRjb250ZW50TGVuZ3RoVmFsdWUgPSBTdHJpbmcodG90YWxCeXRlcyk7XG5cdFx0fVxuXHR9XG5cdGlmIChjb250ZW50TGVuZ3RoVmFsdWUpIHtcblx0XHRoZWFkZXJzLnNldCgnQ29udGVudC1MZW5ndGgnLCBjb250ZW50TGVuZ3RoVmFsdWUpO1xuXHR9XG5cblx0Ly8gSFRUUC1uZXR3b3JrLW9yLWNhY2hlIGZldGNoIHN0ZXAgMi4xMVxuXHRpZiAoIWhlYWRlcnMuaGFzKCdVc2VyLUFnZW50JykpIHtcblx0XHRoZWFkZXJzLnNldCgnVXNlci1BZ2VudCcsICdub2RlLWZldGNoLzEuMCAoK2h0dHBzOi8vZ2l0aHViLmNvbS9iaXRpbm4vbm9kZS1mZXRjaCknKTtcblx0fVxuXG5cdC8vIEhUVFAtbmV0d29yay1vci1jYWNoZSBmZXRjaCBzdGVwIDIuMTVcblx0aWYgKHJlcXVlc3QuY29tcHJlc3MgJiYgIWhlYWRlcnMuaGFzKCdBY2NlcHQtRW5jb2RpbmcnKSkge1xuXHRcdGhlYWRlcnMuc2V0KCdBY2NlcHQtRW5jb2RpbmcnLCAnZ3ppcCxkZWZsYXRlJyk7XG5cdH1cblxuXHRsZXQgYWdlbnQgPSByZXF1ZXN0LmFnZW50O1xuXHRpZiAodHlwZW9mIGFnZW50ID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0YWdlbnQgPSBhZ2VudChwYXJzZWRVUkwpO1xuXHR9XG5cblx0Ly8gSFRUUC1uZXR3b3JrIGZldGNoIHN0ZXAgNC4yXG5cdC8vIGNodW5rZWQgZW5jb2RpbmcgaXMgaGFuZGxlZCBieSBOb2RlLmpzXG5cblx0cmV0dXJuIE9iamVjdC5hc3NpZ24oe30sIHBhcnNlZFVSTCwge1xuXHRcdG1ldGhvZDogcmVxdWVzdC5tZXRob2QsXG5cdFx0aGVhZGVyczogZXhwb3J0Tm9kZUNvbXBhdGlibGVIZWFkZXJzKGhlYWRlcnMpLFxuXHRcdGFnZW50XG5cdH0pO1xufVxuXG4vKipcbiAqIGFib3J0LWVycm9yLmpzXG4gKlxuICogQWJvcnRFcnJvciBpbnRlcmZhY2UgZm9yIGNhbmNlbGxlZCByZXF1ZXN0c1xuICovXG5cbi8qKlxuICogQ3JlYXRlIEFib3J0RXJyb3IgaW5zdGFuY2VcbiAqXG4gKiBAcGFyYW0gICBTdHJpbmcgICAgICBtZXNzYWdlICAgICAgRXJyb3IgbWVzc2FnZSBmb3IgaHVtYW5cbiAqIEByZXR1cm4gIEFib3J0RXJyb3JcbiAqL1xuZnVuY3Rpb24gQWJvcnRFcnJvcihtZXNzYWdlKSB7XG4gIEVycm9yLmNhbGwodGhpcywgbWVzc2FnZSk7XG5cbiAgdGhpcy50eXBlID0gJ2Fib3J0ZWQnO1xuICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlO1xuXG4gIC8vIGhpZGUgY3VzdG9tIGVycm9yIGltcGxlbWVudGF0aW9uIGRldGFpbHMgZnJvbSBlbmQtdXNlcnNcbiAgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcywgdGhpcy5jb25zdHJ1Y3Rvcik7XG59XG5cbkFib3J0RXJyb3IucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpO1xuQWJvcnRFcnJvci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBBYm9ydEVycm9yO1xuQWJvcnRFcnJvci5wcm90b3R5cGUubmFtZSA9ICdBYm9ydEVycm9yJztcblxuY29uc3QgVVJMJDEgPSBVcmwuVVJMIHx8IHdoYXR3Z1VybC5VUkw7XG5cbi8vIGZpeCBhbiBpc3N1ZSB3aGVyZSBcIlBhc3NUaHJvdWdoXCIsIFwicmVzb2x2ZVwiIGFyZW4ndCBhIG5hbWVkIGV4cG9ydCBmb3Igbm9kZSA8MTBcbmNvbnN0IFBhc3NUaHJvdWdoJDEgPSBTdHJlYW0uUGFzc1Rocm91Z2g7XG5cbmNvbnN0IGlzRG9tYWluT3JTdWJkb21haW4gPSBmdW5jdGlvbiBpc0RvbWFpbk9yU3ViZG9tYWluKGRlc3RpbmF0aW9uLCBvcmlnaW5hbCkge1xuXHRjb25zdCBvcmlnID0gbmV3IFVSTCQxKG9yaWdpbmFsKS5ob3N0bmFtZTtcblx0Y29uc3QgZGVzdCA9IG5ldyBVUkwkMShkZXN0aW5hdGlvbikuaG9zdG5hbWU7XG5cblx0cmV0dXJuIG9yaWcgPT09IGRlc3QgfHwgb3JpZ1tvcmlnLmxlbmd0aCAtIGRlc3QubGVuZ3RoIC0gMV0gPT09ICcuJyAmJiBvcmlnLmVuZHNXaXRoKGRlc3QpO1xufTtcblxuLyoqXG4gKiBpc1NhbWVQcm90b2NvbCByZXBvcnRzIHdoZXRoZXIgdGhlIHR3byBwcm92aWRlZCBVUkxzIHVzZSB0aGUgc2FtZSBwcm90b2NvbC5cbiAqXG4gKiBCb3RoIGRvbWFpbnMgbXVzdCBhbHJlYWR5IGJlIGluIGNhbm9uaWNhbCBmb3JtLlxuICogQHBhcmFtIHtzdHJpbmd8VVJMfSBvcmlnaW5hbFxuICogQHBhcmFtIHtzdHJpbmd8VVJMfSBkZXN0aW5hdGlvblxuICovXG5jb25zdCBpc1NhbWVQcm90b2NvbCA9IGZ1bmN0aW9uIGlzU2FtZVByb3RvY29sKGRlc3RpbmF0aW9uLCBvcmlnaW5hbCkge1xuXHRjb25zdCBvcmlnID0gbmV3IFVSTCQxKG9yaWdpbmFsKS5wcm90b2NvbDtcblx0Y29uc3QgZGVzdCA9IG5ldyBVUkwkMShkZXN0aW5hdGlvbikucHJvdG9jb2w7XG5cblx0cmV0dXJuIG9yaWcgPT09IGRlc3Q7XG59O1xuXG4vKipcbiAqIEZldGNoIGZ1bmN0aW9uXG4gKlxuICogQHBhcmFtICAgTWl4ZWQgICAgdXJsICAgQWJzb2x1dGUgdXJsIG9yIFJlcXVlc3QgaW5zdGFuY2VcbiAqIEBwYXJhbSAgIE9iamVjdCAgIG9wdHMgIEZldGNoIG9wdGlvbnNcbiAqIEByZXR1cm4gIFByb21pc2VcbiAqL1xuZnVuY3Rpb24gZmV0Y2godXJsLCBvcHRzKSB7XG5cblx0Ly8gYWxsb3cgY3VzdG9tIHByb21pc2Vcblx0aWYgKCFmZXRjaC5Qcm9taXNlKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCduYXRpdmUgcHJvbWlzZSBtaXNzaW5nLCBzZXQgZmV0Y2guUHJvbWlzZSB0byB5b3VyIGZhdm9yaXRlIGFsdGVybmF0aXZlJyk7XG5cdH1cblxuXHRCb2R5LlByb21pc2UgPSBmZXRjaC5Qcm9taXNlO1xuXG5cdC8vIHdyYXAgaHR0cC5yZXF1ZXN0IGludG8gZmV0Y2hcblx0cmV0dXJuIG5ldyBmZXRjaC5Qcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcblx0XHQvLyBidWlsZCByZXF1ZXN0IG9iamVjdFxuXHRcdGNvbnN0IHJlcXVlc3QgPSBuZXcgUmVxdWVzdCh1cmwsIG9wdHMpO1xuXHRcdGNvbnN0IG9wdGlvbnMgPSBnZXROb2RlUmVxdWVzdE9wdGlvbnMocmVxdWVzdCk7XG5cblx0XHRjb25zdCBzZW5kID0gKG9wdGlvbnMucHJvdG9jb2wgPT09ICdodHRwczonID8gaHR0cHMgOiBodHRwKS5yZXF1ZXN0O1xuXHRcdGNvbnN0IHNpZ25hbCA9IHJlcXVlc3Quc2lnbmFsO1xuXG5cdFx0bGV0IHJlc3BvbnNlID0gbnVsbDtcblxuXHRcdGNvbnN0IGFib3J0ID0gZnVuY3Rpb24gYWJvcnQoKSB7XG5cdFx0XHRsZXQgZXJyb3IgPSBuZXcgQWJvcnRFcnJvcignVGhlIHVzZXIgYWJvcnRlZCBhIHJlcXVlc3QuJyk7XG5cdFx0XHRyZWplY3QoZXJyb3IpO1xuXHRcdFx0aWYgKHJlcXVlc3QuYm9keSAmJiByZXF1ZXN0LmJvZHkgaW5zdGFuY2VvZiBTdHJlYW0uUmVhZGFibGUpIHtcblx0XHRcdFx0ZGVzdHJveVN0cmVhbShyZXF1ZXN0LmJvZHksIGVycm9yKTtcblx0XHRcdH1cblx0XHRcdGlmICghcmVzcG9uc2UgfHwgIXJlc3BvbnNlLmJvZHkpIHJldHVybjtcblx0XHRcdHJlc3BvbnNlLmJvZHkuZW1pdCgnZXJyb3InLCBlcnJvcik7XG5cdFx0fTtcblxuXHRcdGlmIChzaWduYWwgJiYgc2lnbmFsLmFib3J0ZWQpIHtcblx0XHRcdGFib3J0KCk7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0Y29uc3QgYWJvcnRBbmRGaW5hbGl6ZSA9IGZ1bmN0aW9uIGFib3J0QW5kRmluYWxpemUoKSB7XG5cdFx0XHRhYm9ydCgpO1xuXHRcdFx0ZmluYWxpemUoKTtcblx0XHR9O1xuXG5cdFx0Ly8gc2VuZCByZXF1ZXN0XG5cdFx0Y29uc3QgcmVxID0gc2VuZChvcHRpb25zKTtcblx0XHRsZXQgcmVxVGltZW91dDtcblxuXHRcdGlmIChzaWduYWwpIHtcblx0XHRcdHNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIGFib3J0QW5kRmluYWxpemUpO1xuXHRcdH1cblxuXHRcdGZ1bmN0aW9uIGZpbmFsaXplKCkge1xuXHRcdFx0cmVxLmFib3J0KCk7XG5cdFx0XHRpZiAoc2lnbmFsKSBzaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBhYm9ydEFuZEZpbmFsaXplKTtcblx0XHRcdGNsZWFyVGltZW91dChyZXFUaW1lb3V0KTtcblx0XHR9XG5cblx0XHRpZiAocmVxdWVzdC50aW1lb3V0KSB7XG5cdFx0XHRyZXEub25jZSgnc29ja2V0JywgZnVuY3Rpb24gKHNvY2tldCkge1xuXHRcdFx0XHRyZXFUaW1lb3V0ID0gc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0cmVqZWN0KG5ldyBGZXRjaEVycm9yKGBuZXR3b3JrIHRpbWVvdXQgYXQ6ICR7cmVxdWVzdC51cmx9YCwgJ3JlcXVlc3QtdGltZW91dCcpKTtcblx0XHRcdFx0XHRmaW5hbGl6ZSgpO1xuXHRcdFx0XHR9LCByZXF1ZXN0LnRpbWVvdXQpO1xuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0cmVxLm9uKCdlcnJvcicsIGZ1bmN0aW9uIChlcnIpIHtcblx0XHRcdHJlamVjdChuZXcgRmV0Y2hFcnJvcihgcmVxdWVzdCB0byAke3JlcXVlc3QudXJsfSBmYWlsZWQsIHJlYXNvbjogJHtlcnIubWVzc2FnZX1gLCAnc3lzdGVtJywgZXJyKSk7XG5cblx0XHRcdGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5ib2R5KSB7XG5cdFx0XHRcdGRlc3Ryb3lTdHJlYW0ocmVzcG9uc2UuYm9keSwgZXJyKTtcblx0XHRcdH1cblxuXHRcdFx0ZmluYWxpemUoKTtcblx0XHR9KTtcblxuXHRcdGZpeFJlc3BvbnNlQ2h1bmtlZFRyYW5zZmVyQmFkRW5kaW5nKHJlcSwgZnVuY3Rpb24gKGVycikge1xuXHRcdFx0aWYgKHNpZ25hbCAmJiBzaWduYWwuYWJvcnRlZCkge1xuXHRcdFx0XHRyZXR1cm47XG5cdFx0XHR9XG5cblx0XHRcdGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5ib2R5KSB7XG5cdFx0XHRcdGRlc3Ryb3lTdHJlYW0ocmVzcG9uc2UuYm9keSwgZXJyKTtcblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdC8qIGM4IGlnbm9yZSBuZXh0IDE4ICovXG5cdFx0aWYgKHBhcnNlSW50KHByb2Nlc3MudmVyc2lvbi5zdWJzdHJpbmcoMSkpIDwgMTQpIHtcblx0XHRcdC8vIEJlZm9yZSBOb2RlLmpzIDE0LCBwaXBlbGluZSgpIGRvZXMgbm90IGZ1bGx5IHN1cHBvcnQgYXN5bmMgaXRlcmF0b3JzIGFuZCBkb2VzIG5vdCBhbHdheXNcblx0XHRcdC8vIHByb3Blcmx5IGhhbmRsZSB3aGVuIHRoZSBzb2NrZXQgY2xvc2UvZW5kIGV2ZW50cyBhcmUgb3V0IG9mIG9yZGVyLlxuXHRcdFx0cmVxLm9uKCdzb2NrZXQnLCBmdW5jdGlvbiAocykge1xuXHRcdFx0XHRzLmFkZExpc3RlbmVyKCdjbG9zZScsIGZ1bmN0aW9uIChoYWRFcnJvcikge1xuXHRcdFx0XHRcdC8vIGlmIGEgZGF0YSBsaXN0ZW5lciBpcyBzdGlsbCBwcmVzZW50IHdlIGRpZG4ndCBlbmQgY2xlYW5seVxuXHRcdFx0XHRcdGNvbnN0IGhhc0RhdGFMaXN0ZW5lciA9IHMubGlzdGVuZXJDb3VudCgnZGF0YScpID4gMDtcblxuXHRcdFx0XHRcdC8vIGlmIGVuZCBoYXBwZW5lZCBiZWZvcmUgY2xvc2UgYnV0IHRoZSBzb2NrZXQgZGlkbid0IGVtaXQgYW4gZXJyb3IsIGRvIGl0IG5vd1xuXHRcdFx0XHRcdGlmIChyZXNwb25zZSAmJiBoYXNEYXRhTGlzdGVuZXIgJiYgIWhhZEVycm9yICYmICEoc2lnbmFsICYmIHNpZ25hbC5hYm9ydGVkKSkge1xuXHRcdFx0XHRcdFx0Y29uc3QgZXJyID0gbmV3IEVycm9yKCdQcmVtYXR1cmUgY2xvc2UnKTtcblx0XHRcdFx0XHRcdGVyci5jb2RlID0gJ0VSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFJztcblx0XHRcdFx0XHRcdHJlc3BvbnNlLmJvZHkuZW1pdCgnZXJyb3InLCBlcnIpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRyZXEub24oJ3Jlc3BvbnNlJywgZnVuY3Rpb24gKHJlcykge1xuXHRcdFx0Y2xlYXJUaW1lb3V0KHJlcVRpbWVvdXQpO1xuXG5cdFx0XHRjb25zdCBoZWFkZXJzID0gY3JlYXRlSGVhZGVyc0xlbmllbnQocmVzLmhlYWRlcnMpO1xuXG5cdFx0XHQvLyBIVFRQIGZldGNoIHN0ZXAgNVxuXHRcdFx0aWYgKGZldGNoLmlzUmVkaXJlY3QocmVzLnN0YXR1c0NvZGUpKSB7XG5cdFx0XHRcdC8vIEhUVFAgZmV0Y2ggc3RlcCA1LjJcblx0XHRcdFx0Y29uc3QgbG9jYXRpb24gPSBoZWFkZXJzLmdldCgnTG9jYXRpb24nKTtcblxuXHRcdFx0XHQvLyBIVFRQIGZldGNoIHN0ZXAgNS4zXG5cdFx0XHRcdGxldCBsb2NhdGlvblVSTCA9IG51bGw7XG5cdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0bG9jYXRpb25VUkwgPSBsb2NhdGlvbiA9PT0gbnVsbCA/IG51bGwgOiBuZXcgVVJMJDEobG9jYXRpb24sIHJlcXVlc3QudXJsKS50b1N0cmluZygpO1xuXHRcdFx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdFx0XHQvLyBlcnJvciBoZXJlIGNhbiBvbmx5IGJlIGludmFsaWQgVVJMIGluIExvY2F0aW9uOiBoZWFkZXJcblx0XHRcdFx0XHQvLyBkbyBub3QgdGhyb3cgd2hlbiBvcHRpb25zLnJlZGlyZWN0ID09IG1hbnVhbFxuXHRcdFx0XHRcdC8vIGxldCB0aGUgdXNlciBleHRyYWN0IHRoZSBlcnJvcm5lb3VzIHJlZGlyZWN0IFVSTFxuXHRcdFx0XHRcdGlmIChyZXF1ZXN0LnJlZGlyZWN0ICE9PSAnbWFudWFsJykge1xuXHRcdFx0XHRcdFx0cmVqZWN0KG5ldyBGZXRjaEVycm9yKGB1cmkgcmVxdWVzdGVkIHJlc3BvbmRzIHdpdGggYW4gaW52YWxpZCByZWRpcmVjdCBVUkw6ICR7bG9jYXRpb259YCwgJ2ludmFsaWQtcmVkaXJlY3QnKSk7XG5cdFx0XHRcdFx0XHRmaW5hbGl6ZSgpO1xuXHRcdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIEhUVFAgZmV0Y2ggc3RlcCA1LjVcblx0XHRcdFx0c3dpdGNoIChyZXF1ZXN0LnJlZGlyZWN0KSB7XG5cdFx0XHRcdFx0Y2FzZSAnZXJyb3InOlxuXHRcdFx0XHRcdFx0cmVqZWN0KG5ldyBGZXRjaEVycm9yKGB1cmkgcmVxdWVzdGVkIHJlc3BvbmRzIHdpdGggYSByZWRpcmVjdCwgcmVkaXJlY3QgbW9kZSBpcyBzZXQgdG8gZXJyb3I6ICR7cmVxdWVzdC51cmx9YCwgJ25vLXJlZGlyZWN0JykpO1xuXHRcdFx0XHRcdFx0ZmluYWxpemUoKTtcblx0XHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0XHRjYXNlICdtYW51YWwnOlxuXHRcdFx0XHRcdFx0Ly8gbm9kZS1mZXRjaC1zcGVjaWZpYyBzdGVwOiBtYWtlIG1hbnVhbCByZWRpcmVjdCBhIGJpdCBlYXNpZXIgdG8gdXNlIGJ5IHNldHRpbmcgdGhlIExvY2F0aW9uIGhlYWRlciB2YWx1ZSB0byB0aGUgcmVzb2x2ZWQgVVJMLlxuXHRcdFx0XHRcdFx0aWYgKGxvY2F0aW9uVVJMICE9PSBudWxsKSB7XG5cdFx0XHRcdFx0XHRcdC8vIGhhbmRsZSBjb3JydXB0ZWQgaGVhZGVyXG5cdFx0XHRcdFx0XHRcdHRyeSB7XG5cdFx0XHRcdFx0XHRcdFx0aGVhZGVycy5zZXQoJ0xvY2F0aW9uJywgbG9jYXRpb25VUkwpO1xuXHRcdFx0XHRcdFx0XHR9IGNhdGNoIChlcnIpIHtcblx0XHRcdFx0XHRcdFx0XHQvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dDogbm9kZWpzIHNlcnZlciBwcmV2ZW50IGludmFsaWQgcmVzcG9uc2UgaGVhZGVycywgd2UgY2FuJ3QgdGVzdCB0aGlzIHRocm91Z2ggbm9ybWFsIHJlcXVlc3Rcblx0XHRcdFx0XHRcdFx0XHRyZWplY3QoZXJyKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0Y2FzZSAnZm9sbG93Jzpcblx0XHRcdFx0XHRcdC8vIEhUVFAtcmVkaXJlY3QgZmV0Y2ggc3RlcCAyXG5cdFx0XHRcdFx0XHRpZiAobG9jYXRpb25VUkwgPT09IG51bGwpIHtcblx0XHRcdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC8vIEhUVFAtcmVkaXJlY3QgZmV0Y2ggc3RlcCA1XG5cdFx0XHRcdFx0XHRpZiAocmVxdWVzdC5jb3VudGVyID49IHJlcXVlc3QuZm9sbG93KSB7XG5cdFx0XHRcdFx0XHRcdHJlamVjdChuZXcgRmV0Y2hFcnJvcihgbWF4aW11bSByZWRpcmVjdCByZWFjaGVkIGF0OiAke3JlcXVlc3QudXJsfWAsICdtYXgtcmVkaXJlY3QnKSk7XG5cdFx0XHRcdFx0XHRcdGZpbmFsaXplKCk7XG5cdFx0XHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Ly8gSFRUUC1yZWRpcmVjdCBmZXRjaCBzdGVwIDYgKGNvdW50ZXIgaW5jcmVtZW50KVxuXHRcdFx0XHRcdFx0Ly8gQ3JlYXRlIGEgbmV3IFJlcXVlc3Qgb2JqZWN0LlxuXHRcdFx0XHRcdFx0Y29uc3QgcmVxdWVzdE9wdHMgPSB7XG5cdFx0XHRcdFx0XHRcdGhlYWRlcnM6IG5ldyBIZWFkZXJzKHJlcXVlc3QuaGVhZGVycyksXG5cdFx0XHRcdFx0XHRcdGZvbGxvdzogcmVxdWVzdC5mb2xsb3csXG5cdFx0XHRcdFx0XHRcdGNvdW50ZXI6IHJlcXVlc3QuY291bnRlciArIDEsXG5cdFx0XHRcdFx0XHRcdGFnZW50OiByZXF1ZXN0LmFnZW50LFxuXHRcdFx0XHRcdFx0XHRjb21wcmVzczogcmVxdWVzdC5jb21wcmVzcyxcblx0XHRcdFx0XHRcdFx0bWV0aG9kOiByZXF1ZXN0Lm1ldGhvZCxcblx0XHRcdFx0XHRcdFx0Ym9keTogcmVxdWVzdC5ib2R5LFxuXHRcdFx0XHRcdFx0XHRzaWduYWw6IHJlcXVlc3Quc2lnbmFsLFxuXHRcdFx0XHRcdFx0XHR0aW1lb3V0OiByZXF1ZXN0LnRpbWVvdXQsXG5cdFx0XHRcdFx0XHRcdHNpemU6IHJlcXVlc3Quc2l6ZVxuXHRcdFx0XHRcdFx0fTtcblxuXHRcdFx0XHRcdFx0aWYgKCFpc0RvbWFpbk9yU3ViZG9tYWluKHJlcXVlc3QudXJsLCBsb2NhdGlvblVSTCkgfHwgIWlzU2FtZVByb3RvY29sKHJlcXVlc3QudXJsLCBsb2NhdGlvblVSTCkpIHtcblx0XHRcdFx0XHRcdFx0Zm9yIChjb25zdCBuYW1lIG9mIFsnYXV0aG9yaXphdGlvbicsICd3d3ctYXV0aGVudGljYXRlJywgJ2Nvb2tpZScsICdjb29raWUyJ10pIHtcblx0XHRcdFx0XHRcdFx0XHRyZXF1ZXN0T3B0cy5oZWFkZXJzLmRlbGV0ZShuYW1lKTtcblx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQvLyBIVFRQLXJlZGlyZWN0IGZldGNoIHN0ZXAgOVxuXHRcdFx0XHRcdFx0aWYgKHJlcy5zdGF0dXNDb2RlICE9PSAzMDMgJiYgcmVxdWVzdC5ib2R5ICYmIGdldFRvdGFsQnl0ZXMocmVxdWVzdCkgPT09IG51bGwpIHtcblx0XHRcdFx0XHRcdFx0cmVqZWN0KG5ldyBGZXRjaEVycm9yKCdDYW5ub3QgZm9sbG93IHJlZGlyZWN0IHdpdGggYm9keSBiZWluZyBhIHJlYWRhYmxlIHN0cmVhbScsICd1bnN1cHBvcnRlZC1yZWRpcmVjdCcpKTtcblx0XHRcdFx0XHRcdFx0ZmluYWxpemUoKTtcblx0XHRcdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQvLyBIVFRQLXJlZGlyZWN0IGZldGNoIHN0ZXAgMTFcblx0XHRcdFx0XHRcdGlmIChyZXMuc3RhdHVzQ29kZSA9PT0gMzAzIHx8IChyZXMuc3RhdHVzQ29kZSA9PT0gMzAxIHx8IHJlcy5zdGF0dXNDb2RlID09PSAzMDIpICYmIHJlcXVlc3QubWV0aG9kID09PSAnUE9TVCcpIHtcblx0XHRcdFx0XHRcdFx0cmVxdWVzdE9wdHMubWV0aG9kID0gJ0dFVCc7XG5cdFx0XHRcdFx0XHRcdHJlcXVlc3RPcHRzLmJvZHkgPSB1bmRlZmluZWQ7XG5cdFx0XHRcdFx0XHRcdHJlcXVlc3RPcHRzLmhlYWRlcnMuZGVsZXRlKCdjb250ZW50LWxlbmd0aCcpO1xuXHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQvLyBIVFRQLXJlZGlyZWN0IGZldGNoIHN0ZXAgMTVcblx0XHRcdFx0XHRcdHJlc29sdmUoZmV0Y2gobmV3IFJlcXVlc3QobG9jYXRpb25VUkwsIHJlcXVlc3RPcHRzKSkpO1xuXHRcdFx0XHRcdFx0ZmluYWxpemUoKTtcblx0XHRcdFx0XHRcdHJldHVybjtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHQvLyBwcmVwYXJlIHJlc3BvbnNlXG5cdFx0XHRyZXMub25jZSgnZW5kJywgZnVuY3Rpb24gKCkge1xuXHRcdFx0XHRpZiAoc2lnbmFsKSBzaWduYWwucmVtb3ZlRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBhYm9ydEFuZEZpbmFsaXplKTtcblx0XHRcdH0pO1xuXHRcdFx0bGV0IGJvZHkgPSByZXMucGlwZShuZXcgUGFzc1Rocm91Z2gkMSgpKTtcblxuXHRcdFx0Y29uc3QgcmVzcG9uc2Vfb3B0aW9ucyA9IHtcblx0XHRcdFx0dXJsOiByZXF1ZXN0LnVybCxcblx0XHRcdFx0c3RhdHVzOiByZXMuc3RhdHVzQ29kZSxcblx0XHRcdFx0c3RhdHVzVGV4dDogcmVzLnN0YXR1c01lc3NhZ2UsXG5cdFx0XHRcdGhlYWRlcnM6IGhlYWRlcnMsXG5cdFx0XHRcdHNpemU6IHJlcXVlc3Quc2l6ZSxcblx0XHRcdFx0dGltZW91dDogcmVxdWVzdC50aW1lb3V0LFxuXHRcdFx0XHRjb3VudGVyOiByZXF1ZXN0LmNvdW50ZXJcblx0XHRcdH07XG5cblx0XHRcdC8vIEhUVFAtbmV0d29yayBmZXRjaCBzdGVwIDEyLjEuMS4zXG5cdFx0XHRjb25zdCBjb2RpbmdzID0gaGVhZGVycy5nZXQoJ0NvbnRlbnQtRW5jb2RpbmcnKTtcblxuXHRcdFx0Ly8gSFRUUC1uZXR3b3JrIGZldGNoIHN0ZXAgMTIuMS4xLjQ6IGhhbmRsZSBjb250ZW50IGNvZGluZ3NcblxuXHRcdFx0Ly8gaW4gZm9sbG93aW5nIHNjZW5hcmlvcyB3ZSBpZ25vcmUgY29tcHJlc3Npb24gc3VwcG9ydFxuXHRcdFx0Ly8gMS4gY29tcHJlc3Npb24gc3VwcG9ydCBpcyBkaXNhYmxlZFxuXHRcdFx0Ly8gMi4gSEVBRCByZXF1ZXN0XG5cdFx0XHQvLyAzLiBubyBDb250ZW50LUVuY29kaW5nIGhlYWRlclxuXHRcdFx0Ly8gNC4gbm8gY29udGVudCByZXNwb25zZSAoMjA0KVxuXHRcdFx0Ly8gNS4gY29udGVudCBub3QgbW9kaWZpZWQgcmVzcG9uc2UgKDMwNClcblx0XHRcdGlmICghcmVxdWVzdC5jb21wcmVzcyB8fCByZXF1ZXN0Lm1ldGhvZCA9PT0gJ0hFQUQnIHx8IGNvZGluZ3MgPT09IG51bGwgfHwgcmVzLnN0YXR1c0NvZGUgPT09IDIwNCB8fCByZXMuc3RhdHVzQ29kZSA9PT0gMzA0KSB7XG5cdFx0XHRcdHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKGJvZHksIHJlc3BvbnNlX29wdGlvbnMpO1xuXHRcdFx0XHRyZXNvbHZlKHJlc3BvbnNlKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBGb3IgTm9kZSB2Nitcblx0XHRcdC8vIEJlIGxlc3Mgc3RyaWN0IHdoZW4gZGVjb2RpbmcgY29tcHJlc3NlZCByZXNwb25zZXMsIHNpbmNlIHNvbWV0aW1lc1xuXHRcdFx0Ly8gc2VydmVycyBzZW5kIHNsaWdodGx5IGludmFsaWQgcmVzcG9uc2VzIHRoYXQgYXJlIHN0aWxsIGFjY2VwdGVkXG5cdFx0XHQvLyBieSBjb21tb24gYnJvd3NlcnMuXG5cdFx0XHQvLyBBbHdheXMgdXNpbmcgWl9TWU5DX0ZMVVNIIGlzIHdoYXQgY1VSTCBkb2VzLlxuXHRcdFx0Y29uc3QgemxpYk9wdGlvbnMgPSB7XG5cdFx0XHRcdGZsdXNoOiB6bGliLlpfU1lOQ19GTFVTSCxcblx0XHRcdFx0ZmluaXNoRmx1c2g6IHpsaWIuWl9TWU5DX0ZMVVNIXG5cdFx0XHR9O1xuXG5cdFx0XHQvLyBmb3IgZ3ppcFxuXHRcdFx0aWYgKGNvZGluZ3MgPT0gJ2d6aXAnIHx8IGNvZGluZ3MgPT0gJ3gtZ3ppcCcpIHtcblx0XHRcdFx0Ym9keSA9IGJvZHkucGlwZSh6bGliLmNyZWF0ZUd1bnppcCh6bGliT3B0aW9ucykpO1xuXHRcdFx0XHRyZXNwb25zZSA9IG5ldyBSZXNwb25zZShib2R5LCByZXNwb25zZV9vcHRpb25zKTtcblx0XHRcdFx0cmVzb2x2ZShyZXNwb25zZSk7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0Ly8gZm9yIGRlZmxhdGVcblx0XHRcdGlmIChjb2RpbmdzID09ICdkZWZsYXRlJyB8fCBjb2RpbmdzID09ICd4LWRlZmxhdGUnKSB7XG5cdFx0XHRcdC8vIGhhbmRsZSB0aGUgaW5mYW1vdXMgcmF3IGRlZmxhdGUgcmVzcG9uc2UgZnJvbSBvbGQgc2VydmVyc1xuXHRcdFx0XHQvLyBhIGhhY2sgZm9yIG9sZCBJSVMgYW5kIEFwYWNoZSBzZXJ2ZXJzXG5cdFx0XHRcdGNvbnN0IHJhdyA9IHJlcy5waXBlKG5ldyBQYXNzVGhyb3VnaCQxKCkpO1xuXHRcdFx0XHRyYXcub25jZSgnZGF0YScsIGZ1bmN0aW9uIChjaHVuaykge1xuXHRcdFx0XHRcdC8vIHNlZSBodHRwOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM3NTE5ODI4XG5cdFx0XHRcdFx0aWYgKChjaHVua1swXSAmIDB4MEYpID09PSAweDA4KSB7XG5cdFx0XHRcdFx0XHRib2R5ID0gYm9keS5waXBlKHpsaWIuY3JlYXRlSW5mbGF0ZSgpKTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0Ym9keSA9IGJvZHkucGlwZSh6bGliLmNyZWF0ZUluZmxhdGVSYXcoKSk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKGJvZHksIHJlc3BvbnNlX29wdGlvbnMpO1xuXHRcdFx0XHRcdHJlc29sdmUocmVzcG9uc2UpO1xuXHRcdFx0XHR9KTtcblx0XHRcdFx0cmF3Lm9uKCdlbmQnLCBmdW5jdGlvbiAoKSB7XG5cdFx0XHRcdFx0Ly8gc29tZSBvbGQgSUlTIHNlcnZlcnMgcmV0dXJuIHplcm8tbGVuZ3RoIE9LIGRlZmxhdGUgcmVzcG9uc2VzLCBzbyAnZGF0YScgaXMgbmV2ZXIgZW1pdHRlZC5cblx0XHRcdFx0XHRpZiAoIXJlc3BvbnNlKSB7XG5cdFx0XHRcdFx0XHRyZXNwb25zZSA9IG5ldyBSZXNwb25zZShib2R5LCByZXNwb25zZV9vcHRpb25zKTtcblx0XHRcdFx0XHRcdHJlc29sdmUocmVzcG9uc2UpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSk7XG5cdFx0XHRcdHJldHVybjtcblx0XHRcdH1cblxuXHRcdFx0Ly8gZm9yIGJyXG5cdFx0XHRpZiAoY29kaW5ncyA9PSAnYnInICYmIHR5cGVvZiB6bGliLmNyZWF0ZUJyb3RsaURlY29tcHJlc3MgPT09ICdmdW5jdGlvbicpIHtcblx0XHRcdFx0Ym9keSA9IGJvZHkucGlwZSh6bGliLmNyZWF0ZUJyb3RsaURlY29tcHJlc3MoKSk7XG5cdFx0XHRcdHJlc3BvbnNlID0gbmV3IFJlc3BvbnNlKGJvZHksIHJlc3BvbnNlX29wdGlvbnMpO1xuXHRcdFx0XHRyZXNvbHZlKHJlc3BvbnNlKTtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBvdGhlcndpc2UsIHVzZSByZXNwb25zZSBhcy1pc1xuXHRcdFx0cmVzcG9uc2UgPSBuZXcgUmVzcG9uc2UoYm9keSwgcmVzcG9uc2Vfb3B0aW9ucyk7XG5cdFx0XHRyZXNvbHZlKHJlc3BvbnNlKTtcblx0XHR9KTtcblxuXHRcdHdyaXRlVG9TdHJlYW0ocmVxLCByZXF1ZXN0KTtcblx0fSk7XG59XG5mdW5jdGlvbiBmaXhSZXNwb25zZUNodW5rZWRUcmFuc2ZlckJhZEVuZGluZyhyZXF1ZXN0LCBlcnJvckNhbGxiYWNrKSB7XG5cdGxldCBzb2NrZXQ7XG5cblx0cmVxdWVzdC5vbignc29ja2V0JywgZnVuY3Rpb24gKHMpIHtcblx0XHRzb2NrZXQgPSBzO1xuXHR9KTtcblxuXHRyZXF1ZXN0Lm9uKCdyZXNwb25zZScsIGZ1bmN0aW9uIChyZXNwb25zZSkge1xuXHRcdGNvbnN0IGhlYWRlcnMgPSByZXNwb25zZS5oZWFkZXJzO1xuXG5cdFx0aWYgKGhlYWRlcnNbJ3RyYW5zZmVyLWVuY29kaW5nJ10gPT09ICdjaHVua2VkJyAmJiAhaGVhZGVyc1snY29udGVudC1sZW5ndGgnXSkge1xuXHRcdFx0cmVzcG9uc2Uub25jZSgnY2xvc2UnLCBmdW5jdGlvbiAoaGFkRXJyb3IpIHtcblx0XHRcdFx0Ly8gdGVzdHMgZm9yIHNvY2tldCBwcmVzZW5jZSwgYXMgaW4gc29tZSBzaXR1YXRpb25zIHRoZVxuXHRcdFx0XHQvLyB0aGUgJ3NvY2tldCcgZXZlbnQgaXMgbm90IHRyaWdnZXJlZCBmb3IgdGhlIHJlcXVlc3Rcblx0XHRcdFx0Ly8gKGhhcHBlbnMgaW4gZGVubyksIGF2b2lkcyBgVHlwZUVycm9yYFxuXHRcdFx0XHQvLyBpZiBhIGRhdGEgbGlzdGVuZXIgaXMgc3RpbGwgcHJlc2VudCB3ZSBkaWRuJ3QgZW5kIGNsZWFubHlcblx0XHRcdFx0Y29uc3QgaGFzRGF0YUxpc3RlbmVyID0gc29ja2V0ICYmIHNvY2tldC5saXN0ZW5lckNvdW50KCdkYXRhJykgPiAwO1xuXG5cdFx0XHRcdGlmIChoYXNEYXRhTGlzdGVuZXIgJiYgIWhhZEVycm9yKSB7XG5cdFx0XHRcdFx0Y29uc3QgZXJyID0gbmV3IEVycm9yKCdQcmVtYXR1cmUgY2xvc2UnKTtcblx0XHRcdFx0XHRlcnIuY29kZSA9ICdFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRSc7XG5cdFx0XHRcdFx0ZXJyb3JDYWxsYmFjayhlcnIpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cdH0pO1xufVxuXG5mdW5jdGlvbiBkZXN0cm95U3RyZWFtKHN0cmVhbSwgZXJyKSB7XG5cdGlmIChzdHJlYW0uZGVzdHJveSkge1xuXHRcdHN0cmVhbS5kZXN0cm95KGVycik7XG5cdH0gZWxzZSB7XG5cdFx0Ly8gbm9kZSA8IDhcblx0XHRzdHJlYW0uZW1pdCgnZXJyb3InLCBlcnIpO1xuXHRcdHN0cmVhbS5lbmQoKTtcblx0fVxufVxuXG4vKipcbiAqIFJlZGlyZWN0IGNvZGUgbWF0Y2hpbmdcbiAqXG4gKiBAcGFyYW0gICBOdW1iZXIgICBjb2RlICBTdGF0dXMgY29kZVxuICogQHJldHVybiAgQm9vbGVhblxuICovXG5mZXRjaC5pc1JlZGlyZWN0ID0gZnVuY3Rpb24gKGNvZGUpIHtcblx0cmV0dXJuIGNvZGUgPT09IDMwMSB8fCBjb2RlID09PSAzMDIgfHwgY29kZSA9PT0gMzAzIHx8IGNvZGUgPT09IDMwNyB8fCBjb2RlID09PSAzMDg7XG59O1xuXG4vLyBleHBvc2UgUHJvbWlzZVxuZmV0Y2guUHJvbWlzZSA9IGdsb2JhbC5Qcm9taXNlO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGV4cG9ydHMgPSBmZXRjaDtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuZGVmYXVsdCA9IGV4cG9ydHM7XG5leHBvcnRzLkhlYWRlcnMgPSBIZWFkZXJzO1xuZXhwb3J0cy5SZXF1ZXN0ID0gUmVxdWVzdDtcbmV4cG9ydHMuUmVzcG9uc2UgPSBSZXNwb25zZTtcbmV4cG9ydHMuRmV0Y2hFcnJvciA9IEZldGNoRXJyb3I7XG5leHBvcnRzLkFib3J0RXJyb3IgPSBBYm9ydEVycm9yO1xuIiwgIi8qKlxuICogQGxpY2Vuc2VcbiAqIHdlYi1zdHJlYW1zLXBvbHlmaWxsIHY0LjAuMC1iZXRhLjNcbiAqIENvcHlyaWdodCAyMDIxIE1hdHRpYXMgQnVlbGVucywgRGl3YW5rIFNpbmdoIFRvbWVyIGFuZCBvdGhlciBjb250cmlidXRvcnMuXG4gKiBUaGlzIGNvZGUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlLlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuICovXG5jb25zdCBlPVwiZnVuY3Rpb25cIj09dHlwZW9mIFN5bWJvbCYmXCJzeW1ib2xcIj09dHlwZW9mIFN5bWJvbC5pdGVyYXRvcj9TeW1ib2w6ZT0+YFN5bWJvbCgke2V9KWA7ZnVuY3Rpb24gdCgpe31mdW5jdGlvbiByKGUpe3JldHVyblwib2JqZWN0XCI9PXR5cGVvZiBlJiZudWxsIT09ZXx8XCJmdW5jdGlvblwiPT10eXBlb2YgZX1jb25zdCBvPXQ7ZnVuY3Rpb24gbihlLHQpe3RyeXtPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxcIm5hbWVcIix7dmFsdWU6dCxjb25maWd1cmFibGU6ITB9KX1jYXRjaChlKXt9fWNvbnN0IGE9UHJvbWlzZSxpPVByb21pc2UucHJvdG90eXBlLnRoZW4sbD1Qcm9taXNlLnJlc29sdmUuYmluZChhKSxzPVByb21pc2UucmVqZWN0LmJpbmQoYSk7ZnVuY3Rpb24gdShlKXtyZXR1cm4gbmV3IGEoZSl9ZnVuY3Rpb24gYyhlKXtyZXR1cm4gbChlKX1mdW5jdGlvbiBkKGUpe3JldHVybiBzKGUpfWZ1bmN0aW9uIGYoZSx0LHIpe3JldHVybiBpLmNhbGwoZSx0LHIpfWZ1bmN0aW9uIGIoZSx0LHIpe2YoZihlLHQsciksdm9pZCAwLG8pfWZ1bmN0aW9uIGgoZSx0KXtiKGUsdCl9ZnVuY3Rpb24gXyhlLHQpe2IoZSx2b2lkIDAsdCl9ZnVuY3Rpb24gcChlLHQscil7cmV0dXJuIGYoZSx0LHIpfWZ1bmN0aW9uIG0oZSl7ZihlLHZvaWQgMCxvKX1sZXQgeT1lPT57aWYoXCJmdW5jdGlvblwiPT10eXBlb2YgcXVldWVNaWNyb3Rhc2speT1xdWV1ZU1pY3JvdGFzaztlbHNle2NvbnN0IGU9Yyh2b2lkIDApO3k9dD0+ZihlLHQpfXJldHVybiB5KGUpfTtmdW5jdGlvbiBnKGUsdCxyKXtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBlKXRocm93IG5ldyBUeXBlRXJyb3IoXCJBcmd1bWVudCBpcyBub3QgYSBmdW5jdGlvblwiKTtyZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoZSx0LHIpfWZ1bmN0aW9uIHcoZSx0LHIpe3RyeXtyZXR1cm4gYyhnKGUsdCxyKSl9Y2F0Y2goZSl7cmV0dXJuIGQoZSl9fWNsYXNzIFN7Y29uc3RydWN0b3IoKXt0aGlzLl9jdXJzb3I9MCx0aGlzLl9zaXplPTAsdGhpcy5fZnJvbnQ9e19lbGVtZW50czpbXSxfbmV4dDp2b2lkIDB9LHRoaXMuX2JhY2s9dGhpcy5fZnJvbnQsdGhpcy5fY3Vyc29yPTAsdGhpcy5fc2l6ZT0wfWdldCBsZW5ndGgoKXtyZXR1cm4gdGhpcy5fc2l6ZX1wdXNoKGUpe2NvbnN0IHQ9dGhpcy5fYmFjaztsZXQgcj10OzE2MzgzPT09dC5fZWxlbWVudHMubGVuZ3RoJiYocj17X2VsZW1lbnRzOltdLF9uZXh0OnZvaWQgMH0pLHQuX2VsZW1lbnRzLnB1c2goZSksciE9PXQmJih0aGlzLl9iYWNrPXIsdC5fbmV4dD1yKSwrK3RoaXMuX3NpemV9c2hpZnQoKXtjb25zdCBlPXRoaXMuX2Zyb250O2xldCB0PWU7Y29uc3Qgcj10aGlzLl9jdXJzb3I7bGV0IG89cisxO2NvbnN0IG49ZS5fZWxlbWVudHMsYT1uW3JdO3JldHVybiAxNjM4ND09PW8mJih0PWUuX25leHQsbz0wKSwtLXRoaXMuX3NpemUsdGhpcy5fY3Vyc29yPW8sZSE9PXQmJih0aGlzLl9mcm9udD10KSxuW3JdPXZvaWQgMCxhfWZvckVhY2goZSl7bGV0IHQ9dGhpcy5fY3Vyc29yLHI9dGhpcy5fZnJvbnQsbz1yLl9lbGVtZW50cztmb3IoOyEodD09PW8ubGVuZ3RoJiZ2b2lkIDA9PT1yLl9uZXh0fHx0PT09by5sZW5ndGgmJihyPXIuX25leHQsbz1yLl9lbGVtZW50cyx0PTAsMD09PW8ubGVuZ3RoKSk7KWUob1t0XSksKyt0fXBlZWsoKXtjb25zdCBlPXRoaXMuX2Zyb250LHQ9dGhpcy5fY3Vyc29yO3JldHVybiBlLl9lbGVtZW50c1t0XX19Y29uc3Qgdj1lKFwiW1tBYm9ydFN0ZXBzXV1cIiksUj1lKFwiW1tFcnJvclN0ZXBzXV1cIiksVD1lKFwiW1tDYW5jZWxTdGVwc11dXCIpLHE9ZShcIltbUHVsbFN0ZXBzXV1cIiksQz1lKFwiW1tSZWxlYXNlU3RlcHNdXVwiKTtmdW5jdGlvbiBFKGUsdCl7ZS5fb3duZXJSZWFkYWJsZVN0cmVhbT10LHQuX3JlYWRlcj1lLFwicmVhZGFibGVcIj09PXQuX3N0YXRlP08oZSk6XCJjbG9zZWRcIj09PXQuX3N0YXRlP2Z1bmN0aW9uKGUpe08oZSksaihlKX0oZSk6QihlLHQuX3N0b3JlZEVycm9yKX1mdW5jdGlvbiBQKGUsdCl7cmV0dXJuIEd0KGUuX293bmVyUmVhZGFibGVTdHJlYW0sdCl9ZnVuY3Rpb24gVyhlKXtjb25zdCB0PWUuX293bmVyUmVhZGFibGVTdHJlYW07XCJyZWFkYWJsZVwiPT09dC5fc3RhdGU/QShlLG5ldyBUeXBlRXJyb3IoXCJSZWFkZXIgd2FzIHJlbGVhc2VkIGFuZCBjYW4gbm8gbG9uZ2VyIGJlIHVzZWQgdG8gbW9uaXRvciB0aGUgc3RyZWFtJ3MgY2xvc2VkbmVzc1wiKSk6ZnVuY3Rpb24oZSx0KXtCKGUsdCl9KGUsbmV3IFR5cGVFcnJvcihcIlJlYWRlciB3YXMgcmVsZWFzZWQgYW5kIGNhbiBubyBsb25nZXIgYmUgdXNlZCB0byBtb25pdG9yIHRoZSBzdHJlYW0ncyBjbG9zZWRuZXNzXCIpKSx0Ll9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJbQ10oKSx0Ll9yZWFkZXI9dm9pZCAwLGUuX293bmVyUmVhZGFibGVTdHJlYW09dm9pZCAwfWZ1bmN0aW9uIGsoZSl7cmV0dXJuIG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgXCIrZStcIiBhIHN0cmVhbSB1c2luZyBhIHJlbGVhc2VkIHJlYWRlclwiKX1mdW5jdGlvbiBPKGUpe2UuX2Nsb3NlZFByb21pc2U9dSgoKHQscik9PntlLl9jbG9zZWRQcm9taXNlX3Jlc29sdmU9dCxlLl9jbG9zZWRQcm9taXNlX3JlamVjdD1yfSkpfWZ1bmN0aW9uIEIoZSx0KXtPKGUpLEEoZSx0KX1mdW5jdGlvbiBBKGUsdCl7dm9pZCAwIT09ZS5fY2xvc2VkUHJvbWlzZV9yZWplY3QmJihtKGUuX2Nsb3NlZFByb21pc2UpLGUuX2Nsb3NlZFByb21pc2VfcmVqZWN0KHQpLGUuX2Nsb3NlZFByb21pc2VfcmVzb2x2ZT12b2lkIDAsZS5fY2xvc2VkUHJvbWlzZV9yZWplY3Q9dm9pZCAwKX1mdW5jdGlvbiBqKGUpe3ZvaWQgMCE9PWUuX2Nsb3NlZFByb21pc2VfcmVzb2x2ZSYmKGUuX2Nsb3NlZFByb21pc2VfcmVzb2x2ZSh2b2lkIDApLGUuX2Nsb3NlZFByb21pc2VfcmVzb2x2ZT12b2lkIDAsZS5fY2xvc2VkUHJvbWlzZV9yZWplY3Q9dm9pZCAwKX1jb25zdCB6PU51bWJlci5pc0Zpbml0ZXx8ZnVuY3Rpb24oZSl7cmV0dXJuXCJudW1iZXJcIj09dHlwZW9mIGUmJmlzRmluaXRlKGUpfSxMPU1hdGgudHJ1bmN8fGZ1bmN0aW9uKGUpe3JldHVybiBlPDA/TWF0aC5jZWlsKGUpOk1hdGguZmxvb3IoZSl9O2Z1bmN0aW9uIEYoZSx0KXtpZih2b2lkIDAhPT1lJiYoXCJvYmplY3RcIiE9dHlwZW9mKHI9ZSkmJlwiZnVuY3Rpb25cIiE9dHlwZW9mIHIpKXRocm93IG5ldyBUeXBlRXJyb3IoYCR7dH0gaXMgbm90IGFuIG9iamVjdC5gKTt2YXIgcn1mdW5jdGlvbiBJKGUsdCl7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgZSl0aHJvdyBuZXcgVHlwZUVycm9yKGAke3R9IGlzIG5vdCBhIGZ1bmN0aW9uLmApfWZ1bmN0aW9uIEQoZSx0KXtpZighZnVuY3Rpb24oZSl7cmV0dXJuXCJvYmplY3RcIj09dHlwZW9mIGUmJm51bGwhPT1lfHxcImZ1bmN0aW9uXCI9PXR5cGVvZiBlfShlKSl0aHJvdyBuZXcgVHlwZUVycm9yKGAke3R9IGlzIG5vdCBhbiBvYmplY3QuYCl9ZnVuY3Rpb24gJChlLHQscil7aWYodm9pZCAwPT09ZSl0aHJvdyBuZXcgVHlwZUVycm9yKGBQYXJhbWV0ZXIgJHt0fSBpcyByZXF1aXJlZCBpbiAnJHtyfScuYCl9ZnVuY3Rpb24gTShlLHQscil7aWYodm9pZCAwPT09ZSl0aHJvdyBuZXcgVHlwZUVycm9yKGAke3R9IGlzIHJlcXVpcmVkIGluICcke3J9Jy5gKX1mdW5jdGlvbiBZKGUpe3JldHVybiBOdW1iZXIoZSl9ZnVuY3Rpb24gUShlKXtyZXR1cm4gMD09PWU/MDplfWZ1bmN0aW9uIE4oZSx0KXtjb25zdCByPU51bWJlci5NQVhfU0FGRV9JTlRFR0VSO2xldCBvPU51bWJlcihlKTtpZihvPVEobyksIXoobykpdGhyb3cgbmV3IFR5cGVFcnJvcihgJHt0fSBpcyBub3QgYSBmaW5pdGUgbnVtYmVyYCk7aWYobz1mdW5jdGlvbihlKXtyZXR1cm4gUShMKGUpKX0obyksbzwwfHxvPnIpdGhyb3cgbmV3IFR5cGVFcnJvcihgJHt0fSBpcyBvdXRzaWRlIHRoZSBhY2NlcHRlZCByYW5nZSBvZiAwIHRvICR7cn0sIGluY2x1c2l2ZWApO3JldHVybiB6KG8pJiYwIT09bz9vOjB9ZnVuY3Rpb24gSChlKXtpZighcihlKSlyZXR1cm4hMTtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBlLmdldFJlYWRlcilyZXR1cm4hMTt0cnl7cmV0dXJuXCJib29sZWFuXCI9PXR5cGVvZiBlLmxvY2tlZH1jYXRjaChlKXtyZXR1cm4hMX19ZnVuY3Rpb24geChlKXtpZighcihlKSlyZXR1cm4hMTtpZihcImZ1bmN0aW9uXCIhPXR5cGVvZiBlLmdldFdyaXRlcilyZXR1cm4hMTt0cnl7cmV0dXJuXCJib29sZWFuXCI9PXR5cGVvZiBlLmxvY2tlZH1jYXRjaChlKXtyZXR1cm4hMX19ZnVuY3Rpb24gVihlLHQpe2lmKCFWdChlKSl0aHJvdyBuZXcgVHlwZUVycm9yKGAke3R9IGlzIG5vdCBhIFJlYWRhYmxlU3RyZWFtLmApfWZ1bmN0aW9uIFUoZSx0KXtlLl9yZWFkZXIuX3JlYWRSZXF1ZXN0cy5wdXNoKHQpfWZ1bmN0aW9uIEcoZSx0LHIpe2NvbnN0IG89ZS5fcmVhZGVyLl9yZWFkUmVxdWVzdHMuc2hpZnQoKTtyP28uX2Nsb3NlU3RlcHMoKTpvLl9jaHVua1N0ZXBzKHQpfWZ1bmN0aW9uIFgoZSl7cmV0dXJuIGUuX3JlYWRlci5fcmVhZFJlcXVlc3RzLmxlbmd0aH1mdW5jdGlvbiBKKGUpe2NvbnN0IHQ9ZS5fcmVhZGVyO3JldHVybiB2b2lkIDAhPT10JiYhIUsodCl9Y2xhc3MgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVye2NvbnN0cnVjdG9yKGUpe2lmKCQoZSwxLFwiUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyXCIpLFYoZSxcIkZpcnN0IHBhcmFtZXRlclwiKSxVdChlKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVGhpcyBzdHJlYW0gaGFzIGFscmVhZHkgYmVlbiBsb2NrZWQgZm9yIGV4Y2x1c2l2ZSByZWFkaW5nIGJ5IGFub3RoZXIgcmVhZGVyXCIpO0UodGhpcyxlKSx0aGlzLl9yZWFkUmVxdWVzdHM9bmV3IFN9Z2V0IGNsb3NlZCgpe3JldHVybiBLKHRoaXMpP3RoaXMuX2Nsb3NlZFByb21pc2U6ZChlZShcImNsb3NlZFwiKSl9Y2FuY2VsKGUpe3JldHVybiBLKHRoaXMpP3ZvaWQgMD09PXRoaXMuX293bmVyUmVhZGFibGVTdHJlYW0/ZChrKFwiY2FuY2VsXCIpKTpQKHRoaXMsZSk6ZChlZShcImNhbmNlbFwiKSl9cmVhZCgpe2lmKCFLKHRoaXMpKXJldHVybiBkKGVlKFwicmVhZFwiKSk7aWYodm9pZCAwPT09dGhpcy5fb3duZXJSZWFkYWJsZVN0cmVhbSlyZXR1cm4gZChrKFwicmVhZCBmcm9tXCIpKTtsZXQgZSx0O2NvbnN0IHI9dSgoKHIsbyk9PntlPXIsdD1vfSkpO3JldHVybiBmdW5jdGlvbihlLHQpe2NvbnN0IHI9ZS5fb3duZXJSZWFkYWJsZVN0cmVhbTtyLl9kaXN0dXJiZWQ9ITAsXCJjbG9zZWRcIj09PXIuX3N0YXRlP3QuX2Nsb3NlU3RlcHMoKTpcImVycm9yZWRcIj09PXIuX3N0YXRlP3QuX2Vycm9yU3RlcHMoci5fc3RvcmVkRXJyb3IpOnIuX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlcltxXSh0KX0odGhpcyx7X2NodW5rU3RlcHM6dD0+ZSh7dmFsdWU6dCxkb25lOiExfSksX2Nsb3NlU3RlcHM6KCk9PmUoe3ZhbHVlOnZvaWQgMCxkb25lOiEwfSksX2Vycm9yU3RlcHM6ZT0+dChlKX0pLHJ9cmVsZWFzZUxvY2soKXtpZighSyh0aGlzKSl0aHJvdyBlZShcInJlbGVhc2VMb2NrXCIpO3ZvaWQgMCE9PXRoaXMuX293bmVyUmVhZGFibGVTdHJlYW0mJmZ1bmN0aW9uKGUpe1coZSk7Y29uc3QgdD1uZXcgVHlwZUVycm9yKFwiUmVhZGVyIHdhcyByZWxlYXNlZFwiKTtaKGUsdCl9KHRoaXMpfX1mdW5jdGlvbiBLKGUpe3JldHVybiEhcihlKSYmKCEhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsXCJfcmVhZFJlcXVlc3RzXCIpJiZlIGluc3RhbmNlb2YgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyKX1mdW5jdGlvbiBaKGUsdCl7Y29uc3Qgcj1lLl9yZWFkUmVxdWVzdHM7ZS5fcmVhZFJlcXVlc3RzPW5ldyBTLHIuZm9yRWFjaCgoZT0+e2UuX2Vycm9yU3RlcHModCl9KSl9ZnVuY3Rpb24gZWUoZSl7cmV0dXJuIG5ldyBUeXBlRXJyb3IoYFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlci5wcm90b3R5cGUuJHtlfSBjYW4gb25seSBiZSB1c2VkIG9uIGEgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyYCl9T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLnByb3RvdHlwZSx7Y2FuY2VsOntlbnVtZXJhYmxlOiEwfSxyZWFkOntlbnVtZXJhYmxlOiEwfSxyZWxlYXNlTG9jazp7ZW51bWVyYWJsZTohMH0sY2xvc2VkOntlbnVtZXJhYmxlOiEwfX0pLG4oUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLnByb3RvdHlwZS5jYW5jZWwsXCJjYW5jZWxcIiksbihSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIucHJvdG90eXBlLnJlYWQsXCJyZWFkXCIpLG4oUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLnByb3RvdHlwZS5yZWxlYXNlTG9jayxcInJlbGVhc2VMb2NrXCIpLFwic3ltYm9sXCI9PXR5cGVvZiBlLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLnByb3RvdHlwZSxlLnRvU3RyaW5nVGFnLHt2YWx1ZTpcIlJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlclwiLGNvbmZpZ3VyYWJsZTohMH0pO2NsYXNzIHRle2NvbnN0cnVjdG9yKGUsdCl7dGhpcy5fb25nb2luZ1Byb21pc2U9dm9pZCAwLHRoaXMuX2lzRmluaXNoZWQ9ITEsdGhpcy5fcmVhZGVyPWUsdGhpcy5fcHJldmVudENhbmNlbD10fW5leHQoKXtjb25zdCBlPSgpPT50aGlzLl9uZXh0U3RlcHMoKTtyZXR1cm4gdGhpcy5fb25nb2luZ1Byb21pc2U9dGhpcy5fb25nb2luZ1Byb21pc2U/cCh0aGlzLl9vbmdvaW5nUHJvbWlzZSxlLGUpOmUoKSx0aGlzLl9vbmdvaW5nUHJvbWlzZX1yZXR1cm4oZSl7Y29uc3QgdD0oKT0+dGhpcy5fcmV0dXJuU3RlcHMoZSk7cmV0dXJuIHRoaXMuX29uZ29pbmdQcm9taXNlP3AodGhpcy5fb25nb2luZ1Byb21pc2UsdCx0KTp0KCl9X25leHRTdGVwcygpe2lmKHRoaXMuX2lzRmluaXNoZWQpcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7dmFsdWU6dm9pZCAwLGRvbmU6ITB9KTtjb25zdCBlPXRoaXMuX3JlYWRlcjtyZXR1cm4gdm9pZCAwPT09ZT9kKGsoXCJpdGVyYXRlXCIpKTpmKGUucmVhZCgpLChlPT57dmFyIHQ7cmV0dXJuIHRoaXMuX29uZ29pbmdQcm9taXNlPXZvaWQgMCxlLmRvbmUmJih0aGlzLl9pc0ZpbmlzaGVkPSEwLG51bGw9PT0odD10aGlzLl9yZWFkZXIpfHx2b2lkIDA9PT10fHx0LnJlbGVhc2VMb2NrKCksdGhpcy5fcmVhZGVyPXZvaWQgMCksZX0pLChlPT57dmFyIHQ7dGhyb3cgdGhpcy5fb25nb2luZ1Byb21pc2U9dm9pZCAwLHRoaXMuX2lzRmluaXNoZWQ9ITAsbnVsbD09PSh0PXRoaXMuX3JlYWRlcil8fHZvaWQgMD09PXR8fHQucmVsZWFzZUxvY2soKSx0aGlzLl9yZWFkZXI9dm9pZCAwLGV9KSl9X3JldHVyblN0ZXBzKGUpe2lmKHRoaXMuX2lzRmluaXNoZWQpcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7dmFsdWU6ZSxkb25lOiEwfSk7dGhpcy5faXNGaW5pc2hlZD0hMDtjb25zdCB0PXRoaXMuX3JlYWRlcjtpZih2b2lkIDA9PT10KXJldHVybiBkKGsoXCJmaW5pc2ggaXRlcmF0aW5nXCIpKTtpZih0aGlzLl9yZWFkZXI9dm9pZCAwLCF0aGlzLl9wcmV2ZW50Q2FuY2VsKXtjb25zdCByPXQuY2FuY2VsKGUpO3JldHVybiB0LnJlbGVhc2VMb2NrKCkscChyLCgoKT0+KHt2YWx1ZTplLGRvbmU6ITB9KSkpfXJldHVybiB0LnJlbGVhc2VMb2NrKCksYyh7dmFsdWU6ZSxkb25lOiEwfSl9fWNvbnN0IHJlPXtuZXh0KCl7cmV0dXJuIG9lKHRoaXMpP3RoaXMuX2FzeW5jSXRlcmF0b3JJbXBsLm5leHQoKTpkKG5lKFwibmV4dFwiKSl9LHJldHVybihlKXtyZXR1cm4gb2UodGhpcyk/dGhpcy5fYXN5bmNJdGVyYXRvckltcGwucmV0dXJuKGUpOmQobmUoXCJyZXR1cm5cIikpfX07ZnVuY3Rpb24gb2UoZSl7aWYoIXIoZSkpcmV0dXJuITE7aWYoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLFwiX2FzeW5jSXRlcmF0b3JJbXBsXCIpKXJldHVybiExO3RyeXtyZXR1cm4gZS5fYXN5bmNJdGVyYXRvckltcGwgaW5zdGFuY2VvZiB0ZX1jYXRjaChlKXtyZXR1cm4hMX19ZnVuY3Rpb24gbmUoZSl7cmV0dXJuIG5ldyBUeXBlRXJyb3IoYFJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvci4ke2V9IGNhbiBvbmx5IGJlIHVzZWQgb24gYSBSZWFkYWJsZVN0ZWFtQXN5bmNJdGVyYXRvcmApfVwic3ltYm9sXCI9PXR5cGVvZiBlLmFzeW5jSXRlcmF0b3ImJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShyZSxlLmFzeW5jSXRlcmF0b3Ise3ZhbHVlKCl7cmV0dXJuIHRoaXN9LHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pO2NvbnN0IGFlPU51bWJlci5pc05hTnx8ZnVuY3Rpb24oZSl7cmV0dXJuIGUhPWV9O2Z1bmN0aW9uIGllKGUsdCxyLG8sbil7bmV3IFVpbnQ4QXJyYXkoZSkuc2V0KG5ldyBVaW50OEFycmF5KHIsbyxuKSx0KX1mdW5jdGlvbiBsZShlKXtjb25zdCB0PWZ1bmN0aW9uKGUsdCxyKXtpZihlLnNsaWNlKXJldHVybiBlLnNsaWNlKHQscik7Y29uc3Qgbz1yLXQsbj1uZXcgQXJyYXlCdWZmZXIobyk7cmV0dXJuIGllKG4sMCxlLHQsbyksbn0oZS5idWZmZXIsZS5ieXRlT2Zmc2V0LGUuYnl0ZU9mZnNldCtlLmJ5dGVMZW5ndGgpO3JldHVybiBuZXcgVWludDhBcnJheSh0KX1mdW5jdGlvbiBzZShlKXtjb25zdCB0PWUuX3F1ZXVlLnNoaWZ0KCk7cmV0dXJuIGUuX3F1ZXVlVG90YWxTaXplLT10LnNpemUsZS5fcXVldWVUb3RhbFNpemU8MCYmKGUuX3F1ZXVlVG90YWxTaXplPTApLHQudmFsdWV9ZnVuY3Rpb24gdWUoZSx0LHIpe2lmKFwibnVtYmVyXCIhPXR5cGVvZihvPXIpfHxhZShvKXx8bzwwfHxyPT09MS8wKXRocm93IG5ldyBSYW5nZUVycm9yKFwiU2l6ZSBtdXN0IGJlIGEgZmluaXRlLCBub24tTmFOLCBub24tbmVnYXRpdmUgbnVtYmVyLlwiKTt2YXIgbztlLl9xdWV1ZS5wdXNoKHt2YWx1ZTp0LHNpemU6cn0pLGUuX3F1ZXVlVG90YWxTaXplKz1yfWZ1bmN0aW9uIGNlKGUpe2UuX3F1ZXVlPW5ldyBTLGUuX3F1ZXVlVG90YWxTaXplPTB9Y2xhc3MgUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdHtjb25zdHJ1Y3Rvcigpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJJbGxlZ2FsIGNvbnN0cnVjdG9yXCIpfWdldCB2aWV3KCl7aWYoIWZlKHRoaXMpKXRocm93IEJlKFwidmlld1wiKTtyZXR1cm4gdGhpcy5fdmlld31yZXNwb25kKGUpe2lmKCFmZSh0aGlzKSl0aHJvdyBCZShcInJlc3BvbmRcIik7aWYoJChlLDEsXCJyZXNwb25kXCIpLGU9TihlLFwiRmlyc3QgcGFyYW1ldGVyXCIpLHZvaWQgMD09PXRoaXMuX2Fzc29jaWF0ZWRSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKXRocm93IG5ldyBUeXBlRXJyb3IoXCJUaGlzIEJZT0IgcmVxdWVzdCBoYXMgYmVlbiBpbnZhbGlkYXRlZFwiKTt0aGlzLl92aWV3LmJ1ZmZlcixmdW5jdGlvbihlLHQpe2NvbnN0IHI9ZS5fcGVuZGluZ1B1bGxJbnRvcy5wZWVrKCk7aWYoXCJjbG9zZWRcIj09PWUuX2NvbnRyb2xsZWRSZWFkYWJsZUJ5dGVTdHJlYW0uX3N0YXRlKXtpZigwIT09dCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiYnl0ZXNXcml0dGVuIG11c3QgYmUgMCB3aGVuIGNhbGxpbmcgcmVzcG9uZCgpIG9uIGEgY2xvc2VkIHN0cmVhbVwiKX1lbHNle2lmKDA9PT10KXRocm93IG5ldyBUeXBlRXJyb3IoXCJieXRlc1dyaXR0ZW4gbXVzdCBiZSBncmVhdGVyIHRoYW4gMCB3aGVuIGNhbGxpbmcgcmVzcG9uZCgpIG9uIGEgcmVhZGFibGUgc3RyZWFtXCIpO2lmKHIuYnl0ZXNGaWxsZWQrdD5yLmJ5dGVMZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJieXRlc1dyaXR0ZW4gb3V0IG9mIHJhbmdlXCIpfXIuYnVmZmVyPXIuYnVmZmVyLHFlKGUsdCl9KHRoaXMuX2Fzc29jaWF0ZWRSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLGUpfXJlc3BvbmRXaXRoTmV3VmlldyhlKXtpZighZmUodGhpcykpdGhyb3cgQmUoXCJyZXNwb25kV2l0aE5ld1ZpZXdcIik7aWYoJChlLDEsXCJyZXNwb25kV2l0aE5ld1ZpZXdcIiksIUFycmF5QnVmZmVyLmlzVmlldyhlKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiWW91IGNhbiBvbmx5IHJlc3BvbmQgd2l0aCBhcnJheSBidWZmZXIgdmlld3NcIik7aWYodm9pZCAwPT09dGhpcy5fYXNzb2NpYXRlZFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlRoaXMgQllPQiByZXF1ZXN0IGhhcyBiZWVuIGludmFsaWRhdGVkXCIpO2UuYnVmZmVyLGZ1bmN0aW9uKGUsdCl7Y29uc3Qgcj1lLl9wZW5kaW5nUHVsbEludG9zLnBlZWsoKTtpZihcImNsb3NlZFwiPT09ZS5fY29udHJvbGxlZFJlYWRhYmxlQnl0ZVN0cmVhbS5fc3RhdGUpe2lmKDAhPT10LmJ5dGVMZW5ndGgpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlRoZSB2aWV3J3MgbGVuZ3RoIG11c3QgYmUgMCB3aGVuIGNhbGxpbmcgcmVzcG9uZFdpdGhOZXdWaWV3KCkgb24gYSBjbG9zZWQgc3RyZWFtXCIpfWVsc2UgaWYoMD09PXQuYnl0ZUxlbmd0aCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVGhlIHZpZXcncyBsZW5ndGggbXVzdCBiZSBncmVhdGVyIHRoYW4gMCB3aGVuIGNhbGxpbmcgcmVzcG9uZFdpdGhOZXdWaWV3KCkgb24gYSByZWFkYWJsZSBzdHJlYW1cIik7aWYoci5ieXRlT2Zmc2V0K3IuYnl0ZXNGaWxsZWQhPT10LmJ5dGVPZmZzZXQpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJUaGUgcmVnaW9uIHNwZWNpZmllZCBieSB2aWV3IGRvZXMgbm90IG1hdGNoIGJ5b2JSZXF1ZXN0XCIpO2lmKHIuYnVmZmVyQnl0ZUxlbmd0aCE9PXQuYnVmZmVyLmJ5dGVMZW5ndGgpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJUaGUgYnVmZmVyIG9mIHZpZXcgaGFzIGRpZmZlcmVudCBjYXBhY2l0eSB0aGFuIGJ5b2JSZXF1ZXN0XCIpO2lmKHIuYnl0ZXNGaWxsZWQrdC5ieXRlTGVuZ3RoPnIuYnl0ZUxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIlRoZSByZWdpb24gc3BlY2lmaWVkIGJ5IHZpZXcgaXMgbGFyZ2VyIHRoYW4gYnlvYlJlcXVlc3RcIik7Y29uc3Qgbz10LmJ5dGVMZW5ndGg7ci5idWZmZXI9dC5idWZmZXIscWUoZSxvKX0odGhpcy5fYXNzb2NpYXRlZFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIsZSl9fU9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QucHJvdG90eXBlLHtyZXNwb25kOntlbnVtZXJhYmxlOiEwfSxyZXNwb25kV2l0aE5ld1ZpZXc6e2VudW1lcmFibGU6ITB9LHZpZXc6e2VudW1lcmFibGU6ITB9fSksbihSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LnByb3RvdHlwZS5yZXNwb25kLFwicmVzcG9uZFwiKSxuKFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QucHJvdG90eXBlLnJlc3BvbmRXaXRoTmV3VmlldyxcInJlc3BvbmRXaXRoTmV3Vmlld1wiKSxcInN5bWJvbFwiPT10eXBlb2YgZS50b1N0cmluZ1RhZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QucHJvdG90eXBlLGUudG9TdHJpbmdUYWcse3ZhbHVlOlwiUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdFwiLGNvbmZpZ3VyYWJsZTohMH0pO2NsYXNzIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJ7Y29uc3RydWN0b3IoKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiSWxsZWdhbCBjb25zdHJ1Y3RvclwiKX1nZXQgYnlvYlJlcXVlc3QoKXtpZighZGUodGhpcykpdGhyb3cgQWUoXCJieW9iUmVxdWVzdFwiKTtyZXR1cm4gZnVuY3Rpb24oZSl7aWYobnVsbD09PWUuX2J5b2JSZXF1ZXN0JiZlLl9wZW5kaW5nUHVsbEludG9zLmxlbmd0aD4wKXtjb25zdCB0PWUuX3BlbmRpbmdQdWxsSW50b3MucGVlaygpLHI9bmV3IFVpbnQ4QXJyYXkodC5idWZmZXIsdC5ieXRlT2Zmc2V0K3QuYnl0ZXNGaWxsZWQsdC5ieXRlTGVuZ3RoLXQuYnl0ZXNGaWxsZWQpLG89T2JqZWN0LmNyZWF0ZShSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LnByb3RvdHlwZSk7IWZ1bmN0aW9uKGUsdCxyKXtlLl9hc3NvY2lhdGVkUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcj10LGUuX3ZpZXc9cn0obyxlLHIpLGUuX2J5b2JSZXF1ZXN0PW99cmV0dXJuIGUuX2J5b2JSZXF1ZXN0fSh0aGlzKX1nZXQgZGVzaXJlZFNpemUoKXtpZighZGUodGhpcykpdGhyb3cgQWUoXCJkZXNpcmVkU2l6ZVwiKTtyZXR1cm4ga2UodGhpcyl9Y2xvc2UoKXtpZighZGUodGhpcykpdGhyb3cgQWUoXCJjbG9zZVwiKTtpZih0aGlzLl9jbG9zZVJlcXVlc3RlZCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiVGhlIHN0cmVhbSBoYXMgYWxyZWFkeSBiZWVuIGNsb3NlZDsgZG8gbm90IGNsb3NlIGl0IGFnYWluIVwiKTtjb25zdCBlPXRoaXMuX2NvbnRyb2xsZWRSZWFkYWJsZUJ5dGVTdHJlYW0uX3N0YXRlO2lmKFwicmVhZGFibGVcIiE9PWUpdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIHN0cmVhbSAoaW4gJHtlfSBzdGF0ZSkgaXMgbm90IGluIHRoZSByZWFkYWJsZSBzdGF0ZSBhbmQgY2Fubm90IGJlIGNsb3NlZGApOyFmdW5jdGlvbihlKXtjb25zdCB0PWUuX2NvbnRyb2xsZWRSZWFkYWJsZUJ5dGVTdHJlYW07aWYoZS5fY2xvc2VSZXF1ZXN0ZWR8fFwicmVhZGFibGVcIiE9PXQuX3N0YXRlKXJldHVybjtpZihlLl9xdWV1ZVRvdGFsU2l6ZT4wKXJldHVybiB2b2lkKGUuX2Nsb3NlUmVxdWVzdGVkPSEwKTtpZihlLl9wZW5kaW5nUHVsbEludG9zLmxlbmd0aD4wKXtpZihlLl9wZW5kaW5nUHVsbEludG9zLnBlZWsoKS5ieXRlc0ZpbGxlZD4wKXtjb25zdCB0PW5ldyBUeXBlRXJyb3IoXCJJbnN1ZmZpY2llbnQgYnl0ZXMgdG8gZmlsbCBlbGVtZW50cyBpbiB0aGUgZ2l2ZW4gYnVmZmVyXCIpO3Rocm93IFBlKGUsdCksdH19RWUoZSksWHQodCl9KHRoaXMpfWVucXVldWUoZSl7aWYoIWRlKHRoaXMpKXRocm93IEFlKFwiZW5xdWV1ZVwiKTtpZigkKGUsMSxcImVucXVldWVcIiksIUFycmF5QnVmZmVyLmlzVmlldyhlKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiY2h1bmsgbXVzdCBiZSBhbiBhcnJheSBidWZmZXIgdmlld1wiKTtpZigwPT09ZS5ieXRlTGVuZ3RoKXRocm93IG5ldyBUeXBlRXJyb3IoXCJjaHVuayBtdXN0IGhhdmUgbm9uLXplcm8gYnl0ZUxlbmd0aFwiKTtpZigwPT09ZS5idWZmZXIuYnl0ZUxlbmd0aCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiY2h1bmsncyBidWZmZXIgbXVzdCBoYXZlIG5vbi16ZXJvIGJ5dGVMZW5ndGhcIik7aWYodGhpcy5fY2xvc2VSZXF1ZXN0ZWQpdGhyb3cgbmV3IFR5cGVFcnJvcihcInN0cmVhbSBpcyBjbG9zZWQgb3IgZHJhaW5pbmdcIik7Y29uc3QgdD10aGlzLl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtLl9zdGF0ZTtpZihcInJlYWRhYmxlXCIhPT10KXRocm93IG5ldyBUeXBlRXJyb3IoYFRoZSBzdHJlYW0gKGluICR7dH0gc3RhdGUpIGlzIG5vdCBpbiB0aGUgcmVhZGFibGUgc3RhdGUgYW5kIGNhbm5vdCBiZSBlbnF1ZXVlZCB0b2ApOyFmdW5jdGlvbihlLHQpe2NvbnN0IHI9ZS5fY29udHJvbGxlZFJlYWRhYmxlQnl0ZVN0cmVhbTtpZihlLl9jbG9zZVJlcXVlc3RlZHx8XCJyZWFkYWJsZVwiIT09ci5fc3RhdGUpcmV0dXJuO2NvbnN0IG89dC5idWZmZXIsbj10LmJ5dGVPZmZzZXQsYT10LmJ5dGVMZW5ndGgsaT1vO2lmKGUuX3BlbmRpbmdQdWxsSW50b3MubGVuZ3RoPjApe2NvbnN0IHQ9ZS5fcGVuZGluZ1B1bGxJbnRvcy5wZWVrKCk7dC5idWZmZXIsMCxSZShlKSx0LmJ1ZmZlcj10LmJ1ZmZlcixcIm5vbmVcIj09PXQucmVhZGVyVHlwZSYmZ2UoZSx0KX1pZihKKHIpKWlmKGZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5fY29udHJvbGxlZFJlYWRhYmxlQnl0ZVN0cmVhbS5fcmVhZGVyO2Zvcig7dC5fcmVhZFJlcXVlc3RzLmxlbmd0aD4wOyl7aWYoMD09PWUuX3F1ZXVlVG90YWxTaXplKXJldHVybjtXZShlLHQuX3JlYWRSZXF1ZXN0cy5zaGlmdCgpKX19KGUpLDA9PT1YKHIpKW1lKGUsaSxuLGEpO2Vsc2V7ZS5fcGVuZGluZ1B1bGxJbnRvcy5sZW5ndGg+MCYmQ2UoZSk7RyhyLG5ldyBVaW50OEFycmF5KGksbixhKSwhMSl9ZWxzZSBMZShyKT8obWUoZSxpLG4sYSksVGUoZSkpOm1lKGUsaSxuLGEpO2JlKGUpfSh0aGlzLGUpfWVycm9yKGUpe2lmKCFkZSh0aGlzKSl0aHJvdyBBZShcImVycm9yXCIpO1BlKHRoaXMsZSl9W1RdKGUpe2hlKHRoaXMpLGNlKHRoaXMpO2NvbnN0IHQ9dGhpcy5fY2FuY2VsQWxnb3JpdGhtKGUpO3JldHVybiBFZSh0aGlzKSx0fVtxXShlKXtjb25zdCB0PXRoaXMuX2NvbnRyb2xsZWRSZWFkYWJsZUJ5dGVTdHJlYW07aWYodGhpcy5fcXVldWVUb3RhbFNpemU+MClyZXR1cm4gdm9pZCBXZSh0aGlzLGUpO2NvbnN0IHI9dGhpcy5fYXV0b0FsbG9jYXRlQ2h1bmtTaXplO2lmKHZvaWQgMCE9PXIpe2xldCB0O3RyeXt0PW5ldyBBcnJheUJ1ZmZlcihyKX1jYXRjaCh0KXtyZXR1cm4gdm9pZCBlLl9lcnJvclN0ZXBzKHQpfWNvbnN0IG89e2J1ZmZlcjp0LGJ1ZmZlckJ5dGVMZW5ndGg6cixieXRlT2Zmc2V0OjAsYnl0ZUxlbmd0aDpyLGJ5dGVzRmlsbGVkOjAsZWxlbWVudFNpemU6MSx2aWV3Q29uc3RydWN0b3I6VWludDhBcnJheSxyZWFkZXJUeXBlOlwiZGVmYXVsdFwifTt0aGlzLl9wZW5kaW5nUHVsbEludG9zLnB1c2gobyl9VSh0LGUpLGJlKHRoaXMpfVtDXSgpe2lmKHRoaXMuX3BlbmRpbmdQdWxsSW50b3MubGVuZ3RoPjApe2NvbnN0IGU9dGhpcy5fcGVuZGluZ1B1bGxJbnRvcy5wZWVrKCk7ZS5yZWFkZXJUeXBlPVwibm9uZVwiLHRoaXMuX3BlbmRpbmdQdWxsSW50b3M9bmV3IFMsdGhpcy5fcGVuZGluZ1B1bGxJbnRvcy5wdXNoKGUpfX19ZnVuY3Rpb24gZGUoZSl7cmV0dXJuISFyKGUpJiYoISFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxcIl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtXCIpJiZlIGluc3RhbmNlb2YgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcil9ZnVuY3Rpb24gZmUoZSl7cmV0dXJuISFyKGUpJiYoISFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxcIl9hc3NvY2lhdGVkUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclwiKSYmZSBpbnN0YW5jZW9mIFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QpfWZ1bmN0aW9uIGJlKGUpe2NvbnN0IHQ9ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtO2lmKFwicmVhZGFibGVcIiE9PXQuX3N0YXRlKXJldHVybiExO2lmKGUuX2Nsb3NlUmVxdWVzdGVkKXJldHVybiExO2lmKCFlLl9zdGFydGVkKXJldHVybiExO2lmKEoodCkmJlgodCk+MClyZXR1cm4hMDtpZihMZSh0KSYmemUodCk+MClyZXR1cm4hMDtpZihrZShlKT4wKXJldHVybiEwO3JldHVybiExfShlKTtpZighdClyZXR1cm47aWYoZS5fcHVsbGluZylyZXR1cm4gdm9pZChlLl9wdWxsQWdhaW49ITApO2UuX3B1bGxpbmc9ITA7YihlLl9wdWxsQWxnb3JpdGhtKCksKCgpPT4oZS5fcHVsbGluZz0hMSxlLl9wdWxsQWdhaW4mJihlLl9wdWxsQWdhaW49ITEsYmUoZSkpLG51bGwpKSwodD0+KFBlKGUsdCksbnVsbCkpKX1mdW5jdGlvbiBoZShlKXtSZShlKSxlLl9wZW5kaW5nUHVsbEludG9zPW5ldyBTfWZ1bmN0aW9uIF9lKGUsdCl7bGV0IHI9ITE7XCJjbG9zZWRcIj09PWUuX3N0YXRlJiYocj0hMCk7Y29uc3Qgbz1wZSh0KTtcImRlZmF1bHRcIj09PXQucmVhZGVyVHlwZT9HKGUsbyxyKTpmdW5jdGlvbihlLHQscil7Y29uc3Qgbz1lLl9yZWFkZXIuX3JlYWRJbnRvUmVxdWVzdHMuc2hpZnQoKTtyP28uX2Nsb3NlU3RlcHModCk6by5fY2h1bmtTdGVwcyh0KX0oZSxvLHIpfWZ1bmN0aW9uIHBlKGUpe2NvbnN0IHQ9ZS5ieXRlc0ZpbGxlZCxyPWUuZWxlbWVudFNpemU7cmV0dXJuIG5ldyBlLnZpZXdDb25zdHJ1Y3RvcihlLmJ1ZmZlcixlLmJ5dGVPZmZzZXQsdC9yKX1mdW5jdGlvbiBtZShlLHQscixvKXtlLl9xdWV1ZS5wdXNoKHtidWZmZXI6dCxieXRlT2Zmc2V0OnIsYnl0ZUxlbmd0aDpvfSksZS5fcXVldWVUb3RhbFNpemUrPW99ZnVuY3Rpb24geWUoZSx0LHIsbyl7bGV0IG47dHJ5e249dC5zbGljZShyLHIrbyl9Y2F0Y2godCl7dGhyb3cgUGUoZSx0KSx0fW1lKGUsbiwwLG8pfWZ1bmN0aW9uIGdlKGUsdCl7dC5ieXRlc0ZpbGxlZD4wJiZ5ZShlLHQuYnVmZmVyLHQuYnl0ZU9mZnNldCx0LmJ5dGVzRmlsbGVkKSxDZShlKX1mdW5jdGlvbiB3ZShlLHQpe2NvbnN0IHI9dC5lbGVtZW50U2l6ZSxvPXQuYnl0ZXNGaWxsZWQtdC5ieXRlc0ZpbGxlZCVyLG49TWF0aC5taW4oZS5fcXVldWVUb3RhbFNpemUsdC5ieXRlTGVuZ3RoLXQuYnl0ZXNGaWxsZWQpLGE9dC5ieXRlc0ZpbGxlZCtuLGk9YS1hJXI7bGV0IGw9bixzPSExO2k+byYmKGw9aS10LmJ5dGVzRmlsbGVkLHM9ITApO2NvbnN0IHU9ZS5fcXVldWU7Zm9yKDtsPjA7KXtjb25zdCByPXUucGVlaygpLG89TWF0aC5taW4obCxyLmJ5dGVMZW5ndGgpLG49dC5ieXRlT2Zmc2V0K3QuYnl0ZXNGaWxsZWQ7aWUodC5idWZmZXIsbixyLmJ1ZmZlcixyLmJ5dGVPZmZzZXQsbyksci5ieXRlTGVuZ3RoPT09bz91LnNoaWZ0KCk6KHIuYnl0ZU9mZnNldCs9byxyLmJ5dGVMZW5ndGgtPW8pLGUuX3F1ZXVlVG90YWxTaXplLT1vLFNlKGUsbyx0KSxsLT1vfXJldHVybiBzfWZ1bmN0aW9uIFNlKGUsdCxyKXtyLmJ5dGVzRmlsbGVkKz10fWZ1bmN0aW9uIHZlKGUpezA9PT1lLl9xdWV1ZVRvdGFsU2l6ZSYmZS5fY2xvc2VSZXF1ZXN0ZWQ/KEVlKGUpLFh0KGUuX2NvbnRyb2xsZWRSZWFkYWJsZUJ5dGVTdHJlYW0pKTpiZShlKX1mdW5jdGlvbiBSZShlKXtudWxsIT09ZS5fYnlvYlJlcXVlc3QmJihlLl9ieW9iUmVxdWVzdC5fYXNzb2NpYXRlZFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXI9dm9pZCAwLGUuX2J5b2JSZXF1ZXN0Ll92aWV3PW51bGwsZS5fYnlvYlJlcXVlc3Q9bnVsbCl9ZnVuY3Rpb24gVGUoZSl7Zm9yKDtlLl9wZW5kaW5nUHVsbEludG9zLmxlbmd0aD4wOyl7aWYoMD09PWUuX3F1ZXVlVG90YWxTaXplKXJldHVybjtjb25zdCB0PWUuX3BlbmRpbmdQdWxsSW50b3MucGVlaygpO3dlKGUsdCkmJihDZShlKSxfZShlLl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtLHQpKX19ZnVuY3Rpb24gcWUoZSx0KXtjb25zdCByPWUuX3BlbmRpbmdQdWxsSW50b3MucGVlaygpO1JlKGUpO1wiY2xvc2VkXCI9PT1lLl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtLl9zdGF0ZT9mdW5jdGlvbihlLHQpe1wibm9uZVwiPT09dC5yZWFkZXJUeXBlJiZDZShlKTtjb25zdCByPWUuX2NvbnRyb2xsZWRSZWFkYWJsZUJ5dGVTdHJlYW07aWYoTGUocikpZm9yKDt6ZShyKT4wOylfZShyLENlKGUpKX0oZSxyKTpmdW5jdGlvbihlLHQscil7aWYoU2UoMCx0LHIpLFwibm9uZVwiPT09ci5yZWFkZXJUeXBlKXJldHVybiBnZShlLHIpLHZvaWQgVGUoZSk7aWYoci5ieXRlc0ZpbGxlZDxyLmVsZW1lbnRTaXplKXJldHVybjtDZShlKTtjb25zdCBvPXIuYnl0ZXNGaWxsZWQlci5lbGVtZW50U2l6ZTtpZihvPjApe2NvbnN0IHQ9ci5ieXRlT2Zmc2V0K3IuYnl0ZXNGaWxsZWQ7eWUoZSxyLmJ1ZmZlcix0LW8sbyl9ci5ieXRlc0ZpbGxlZC09byxfZShlLl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtLHIpLFRlKGUpfShlLHQsciksYmUoZSl9ZnVuY3Rpb24gQ2UoZSl7cmV0dXJuIGUuX3BlbmRpbmdQdWxsSW50b3Muc2hpZnQoKX1mdW5jdGlvbiBFZShlKXtlLl9wdWxsQWxnb3JpdGhtPXZvaWQgMCxlLl9jYW5jZWxBbGdvcml0aG09dm9pZCAwfWZ1bmN0aW9uIFBlKGUsdCl7Y29uc3Qgcj1lLl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtO1wicmVhZGFibGVcIj09PXIuX3N0YXRlJiYoaGUoZSksY2UoZSksRWUoZSksSnQocix0KSl9ZnVuY3Rpb24gV2UoZSx0KXtjb25zdCByPWUuX3F1ZXVlLnNoaWZ0KCk7ZS5fcXVldWVUb3RhbFNpemUtPXIuYnl0ZUxlbmd0aCx2ZShlKTtjb25zdCBvPW5ldyBVaW50OEFycmF5KHIuYnVmZmVyLHIuYnl0ZU9mZnNldCxyLmJ5dGVMZW5ndGgpO3QuX2NodW5rU3RlcHMobyl9ZnVuY3Rpb24ga2UoZSl7Y29uc3QgdD1lLl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtLl9zdGF0ZTtyZXR1cm5cImVycm9yZWRcIj09PXQ/bnVsbDpcImNsb3NlZFwiPT09dD8wOmUuX3N0cmF0ZWd5SFdNLWUuX3F1ZXVlVG90YWxTaXplfWZ1bmN0aW9uIE9lKGUsdCxyKXtjb25zdCBvPU9iamVjdC5jcmVhdGUoUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5wcm90b3R5cGUpO2xldCBuLGEsaTtuPXZvaWQgMCE9PXQuc3RhcnQ/KCk9PnQuc3RhcnQobyk6KCk9Pnt9LGE9dm9pZCAwIT09dC5wdWxsPygpPT50LnB1bGwobyk6KCk9PmModm9pZCAwKSxpPXZvaWQgMCE9PXQuY2FuY2VsP2U9PnQuY2FuY2VsKGUpOigpPT5jKHZvaWQgMCk7Y29uc3QgbD10LmF1dG9BbGxvY2F0ZUNodW5rU2l6ZTtpZigwPT09bCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiYXV0b0FsbG9jYXRlQ2h1bmtTaXplIG11c3QgYmUgZ3JlYXRlciB0aGFuIDBcIik7IWZ1bmN0aW9uKGUsdCxyLG8sbixhLGkpe3QuX2NvbnRyb2xsZWRSZWFkYWJsZUJ5dGVTdHJlYW09ZSx0Ll9wdWxsQWdhaW49ITEsdC5fcHVsbGluZz0hMSx0Ll9ieW9iUmVxdWVzdD1udWxsLHQuX3F1ZXVlPXQuX3F1ZXVlVG90YWxTaXplPXZvaWQgMCxjZSh0KSx0Ll9jbG9zZVJlcXVlc3RlZD0hMSx0Ll9zdGFydGVkPSExLHQuX3N0cmF0ZWd5SFdNPWEsdC5fcHVsbEFsZ29yaXRobT1vLHQuX2NhbmNlbEFsZ29yaXRobT1uLHQuX2F1dG9BbGxvY2F0ZUNodW5rU2l6ZT1pLHQuX3BlbmRpbmdQdWxsSW50b3M9bmV3IFMsZS5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyPXQsYihjKHIoKSksKCgpPT4odC5fc3RhcnRlZD0hMCxiZSh0KSxudWxsKSksKGU9PihQZSh0LGUpLG51bGwpKSl9KGUsbyxuLGEsaSxyLGwpfWZ1bmN0aW9uIEJlKGUpe3JldHVybiBuZXcgVHlwZUVycm9yKGBSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LnByb3RvdHlwZS4ke2V9IGNhbiBvbmx5IGJlIHVzZWQgb24gYSBSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0YCl9ZnVuY3Rpb24gQWUoZSl7cmV0dXJuIG5ldyBUeXBlRXJyb3IoYFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIucHJvdG90eXBlLiR7ZX0gY2FuIG9ubHkgYmUgdXNlZCBvbiBhIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJgKX1mdW5jdGlvbiBqZShlLHQpe2UuX3JlYWRlci5fcmVhZEludG9SZXF1ZXN0cy5wdXNoKHQpfWZ1bmN0aW9uIHplKGUpe3JldHVybiBlLl9yZWFkZXIuX3JlYWRJbnRvUmVxdWVzdHMubGVuZ3RofWZ1bmN0aW9uIExlKGUpe2NvbnN0IHQ9ZS5fcmVhZGVyO3JldHVybiB2b2lkIDAhPT10JiYhIUZlKHQpfU9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIucHJvdG90eXBlLHtjbG9zZTp7ZW51bWVyYWJsZTohMH0sZW5xdWV1ZTp7ZW51bWVyYWJsZTohMH0sZXJyb3I6e2VudW1lcmFibGU6ITB9LGJ5b2JSZXF1ZXN0OntlbnVtZXJhYmxlOiEwfSxkZXNpcmVkU2l6ZTp7ZW51bWVyYWJsZTohMH19KSxuKFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIucHJvdG90eXBlLmNsb3NlLFwiY2xvc2VcIiksbihSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLnByb3RvdHlwZS5lbnF1ZXVlLFwiZW5xdWV1ZVwiKSxuKFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIucHJvdG90eXBlLmVycm9yLFwiZXJyb3JcIiksXCJzeW1ib2xcIj09dHlwZW9mIGUudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLnByb3RvdHlwZSxlLnRvU3RyaW5nVGFnLHt2YWx1ZTpcIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJcIixjb25maWd1cmFibGU6ITB9KTtjbGFzcyBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJ7Y29uc3RydWN0b3IoZSl7aWYoJChlLDEsXCJSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJcIiksVihlLFwiRmlyc3QgcGFyYW1ldGVyXCIpLFV0KGUpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJUaGlzIHN0cmVhbSBoYXMgYWxyZWFkeSBiZWVuIGxvY2tlZCBmb3IgZXhjbHVzaXZlIHJlYWRpbmcgYnkgYW5vdGhlciByZWFkZXJcIik7aWYoIWRlKGUuX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlcikpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjb25zdHJ1Y3QgYSBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIgZm9yIGEgc3RyZWFtIG5vdCBjb25zdHJ1Y3RlZCB3aXRoIGEgYnl0ZSBzb3VyY2VcIik7RSh0aGlzLGUpLHRoaXMuX3JlYWRJbnRvUmVxdWVzdHM9bmV3IFN9Z2V0IGNsb3NlZCgpe3JldHVybiBGZSh0aGlzKT90aGlzLl9jbG9zZWRQcm9taXNlOmQoRGUoXCJjbG9zZWRcIikpfWNhbmNlbChlKXtyZXR1cm4gRmUodGhpcyk/dm9pZCAwPT09dGhpcy5fb3duZXJSZWFkYWJsZVN0cmVhbT9kKGsoXCJjYW5jZWxcIikpOlAodGhpcyxlKTpkKERlKFwiY2FuY2VsXCIpKX1yZWFkKGUpe2lmKCFGZSh0aGlzKSlyZXR1cm4gZChEZShcInJlYWRcIikpO2lmKCFBcnJheUJ1ZmZlci5pc1ZpZXcoZSkpcmV0dXJuIGQobmV3IFR5cGVFcnJvcihcInZpZXcgbXVzdCBiZSBhbiBhcnJheSBidWZmZXIgdmlld1wiKSk7aWYoMD09PWUuYnl0ZUxlbmd0aClyZXR1cm4gZChuZXcgVHlwZUVycm9yKFwidmlldyBtdXN0IGhhdmUgbm9uLXplcm8gYnl0ZUxlbmd0aFwiKSk7aWYoMD09PWUuYnVmZmVyLmJ5dGVMZW5ndGgpcmV0dXJuIGQobmV3IFR5cGVFcnJvcihcInZpZXcncyBidWZmZXIgbXVzdCBoYXZlIG5vbi16ZXJvIGJ5dGVMZW5ndGhcIikpO2lmKGUuYnVmZmVyLHZvaWQgMD09PXRoaXMuX293bmVyUmVhZGFibGVTdHJlYW0pcmV0dXJuIGQoayhcInJlYWQgZnJvbVwiKSk7bGV0IHQscjtjb25zdCBvPXUoKChlLG8pPT57dD1lLHI9b30pKTtyZXR1cm4gZnVuY3Rpb24oZSx0LHIpe2NvbnN0IG89ZS5fb3duZXJSZWFkYWJsZVN0cmVhbTtvLl9kaXN0dXJiZWQ9ITAsXCJlcnJvcmVkXCI9PT1vLl9zdGF0ZT9yLl9lcnJvclN0ZXBzKG8uX3N0b3JlZEVycm9yKTpmdW5jdGlvbihlLHQscil7Y29uc3Qgbz1lLl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtO2xldCBuPTE7dC5jb25zdHJ1Y3RvciE9PURhdGFWaWV3JiYobj10LmNvbnN0cnVjdG9yLkJZVEVTX1BFUl9FTEVNRU5UKTtjb25zdCBhPXQuY29uc3RydWN0b3IsaT10LmJ1ZmZlcixsPXtidWZmZXI6aSxidWZmZXJCeXRlTGVuZ3RoOmkuYnl0ZUxlbmd0aCxieXRlT2Zmc2V0OnQuYnl0ZU9mZnNldCxieXRlTGVuZ3RoOnQuYnl0ZUxlbmd0aCxieXRlc0ZpbGxlZDowLGVsZW1lbnRTaXplOm4sdmlld0NvbnN0cnVjdG9yOmEscmVhZGVyVHlwZTpcImJ5b2JcIn07aWYoZS5fcGVuZGluZ1B1bGxJbnRvcy5sZW5ndGg+MClyZXR1cm4gZS5fcGVuZGluZ1B1bGxJbnRvcy5wdXNoKGwpLHZvaWQgamUobyxyKTtpZihcImNsb3NlZFwiIT09by5fc3RhdGUpe2lmKGUuX3F1ZXVlVG90YWxTaXplPjApe2lmKHdlKGUsbCkpe2NvbnN0IHQ9cGUobCk7cmV0dXJuIHZlKGUpLHZvaWQgci5fY2h1bmtTdGVwcyh0KX1pZihlLl9jbG9zZVJlcXVlc3RlZCl7Y29uc3QgdD1uZXcgVHlwZUVycm9yKFwiSW5zdWZmaWNpZW50IGJ5dGVzIHRvIGZpbGwgZWxlbWVudHMgaW4gdGhlIGdpdmVuIGJ1ZmZlclwiKTtyZXR1cm4gUGUoZSx0KSx2b2lkIHIuX2Vycm9yU3RlcHModCl9fWUuX3BlbmRpbmdQdWxsSW50b3MucHVzaChsKSxqZShvLHIpLGJlKGUpfWVsc2V7Y29uc3QgZT1uZXcgYShsLmJ1ZmZlcixsLmJ5dGVPZmZzZXQsMCk7ci5fY2xvc2VTdGVwcyhlKX19KG8uX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlcix0LHIpfSh0aGlzLGUse19jaHVua1N0ZXBzOmU9PnQoe3ZhbHVlOmUsZG9uZTohMX0pLF9jbG9zZVN0ZXBzOmU9PnQoe3ZhbHVlOmUsZG9uZTohMH0pLF9lcnJvclN0ZXBzOmU9PnIoZSl9KSxvfXJlbGVhc2VMb2NrKCl7aWYoIUZlKHRoaXMpKXRocm93IERlKFwicmVsZWFzZUxvY2tcIik7dm9pZCAwIT09dGhpcy5fb3duZXJSZWFkYWJsZVN0cmVhbSYmZnVuY3Rpb24oZSl7VyhlKTtjb25zdCB0PW5ldyBUeXBlRXJyb3IoXCJSZWFkZXIgd2FzIHJlbGVhc2VkXCIpO0llKGUsdCl9KHRoaXMpfX1mdW5jdGlvbiBGZShlKXtyZXR1cm4hIXIoZSkmJighIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLFwiX3JlYWRJbnRvUmVxdWVzdHNcIikmJmUgaW5zdGFuY2VvZiBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIpfWZ1bmN0aW9uIEllKGUsdCl7Y29uc3Qgcj1lLl9yZWFkSW50b1JlcXVlc3RzO2UuX3JlYWRJbnRvUmVxdWVzdHM9bmV3IFMsci5mb3JFYWNoKChlPT57ZS5fZXJyb3JTdGVwcyh0KX0pKX1mdW5jdGlvbiBEZShlKXtyZXR1cm4gbmV3IFR5cGVFcnJvcihgUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyLnByb3RvdHlwZS4ke2V9IGNhbiBvbmx5IGJlIHVzZWQgb24gYSBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJgKX1mdW5jdGlvbiAkZShlLHQpe2NvbnN0e2hpZ2hXYXRlck1hcms6cn09ZTtpZih2b2lkIDA9PT1yKXJldHVybiB0O2lmKGFlKHIpfHxyPDApdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbnZhbGlkIGhpZ2hXYXRlck1hcmtcIik7cmV0dXJuIHJ9ZnVuY3Rpb24gTWUoZSl7Y29uc3R7c2l6ZTp0fT1lO3JldHVybiB0fHwoKCk9PjEpfWZ1bmN0aW9uIFllKGUsdCl7RihlLHQpO2NvbnN0IHI9bnVsbD09ZT92b2lkIDA6ZS5oaWdoV2F0ZXJNYXJrLG89bnVsbD09ZT92b2lkIDA6ZS5zaXplO3JldHVybntoaWdoV2F0ZXJNYXJrOnZvaWQgMD09PXI/dm9pZCAwOlkociksc2l6ZTp2b2lkIDA9PT1vP3ZvaWQgMDpRZShvLGAke3R9IGhhcyBtZW1iZXIgJ3NpemUnIHRoYXRgKX19ZnVuY3Rpb24gUWUoZSx0KXtyZXR1cm4gSShlLHQpLHQ9PlkoZSh0KSl9ZnVuY3Rpb24gTmUoZSx0LHIpe3JldHVybiBJKGUscikscj0+dyhlLHQsW3JdKX1mdW5jdGlvbiBIZShlLHQscil7cmV0dXJuIEkoZSxyKSwoKT0+dyhlLHQsW10pfWZ1bmN0aW9uIHhlKGUsdCxyKXtyZXR1cm4gSShlLHIpLHI9PmcoZSx0LFtyXSl9ZnVuY3Rpb24gVmUoZSx0LHIpe3JldHVybiBJKGUsciksKHIsbyk9PncoZSx0LFtyLG9dKX1PYmplY3QuZGVmaW5lUHJvcGVydGllcyhSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIucHJvdG90eXBlLHtjYW5jZWw6e2VudW1lcmFibGU6ITB9LHJlYWQ6e2VudW1lcmFibGU6ITB9LHJlbGVhc2VMb2NrOntlbnVtZXJhYmxlOiEwfSxjbG9zZWQ6e2VudW1lcmFibGU6ITB9fSksbihSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIucHJvdG90eXBlLmNhbmNlbCxcImNhbmNlbFwiKSxuKFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5wcm90b3R5cGUucmVhZCxcInJlYWRcIiksbihSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIucHJvdG90eXBlLnJlbGVhc2VMb2NrLFwicmVsZWFzZUxvY2tcIiksXCJzeW1ib2xcIj09dHlwZW9mIGUudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIucHJvdG90eXBlLGUudG9TdHJpbmdUYWcse3ZhbHVlOlwiUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyXCIsY29uZmlndXJhYmxlOiEwfSk7Y29uc3QgVWU9XCJmdW5jdGlvblwiPT10eXBlb2YgQWJvcnRDb250cm9sbGVyO2NsYXNzIFdyaXRhYmxlU3RyZWFte2NvbnN0cnVjdG9yKGU9e30sdD17fSl7dm9pZCAwPT09ZT9lPW51bGw6RChlLFwiRmlyc3QgcGFyYW1ldGVyXCIpO2NvbnN0IHI9WWUodCxcIlNlY29uZCBwYXJhbWV0ZXJcIiksbz1mdW5jdGlvbihlLHQpe0YoZSx0KTtjb25zdCByPW51bGw9PWU/dm9pZCAwOmUuYWJvcnQsbz1udWxsPT1lP3ZvaWQgMDplLmNsb3NlLG49bnVsbD09ZT92b2lkIDA6ZS5zdGFydCxhPW51bGw9PWU/dm9pZCAwOmUudHlwZSxpPW51bGw9PWU/dm9pZCAwOmUud3JpdGU7cmV0dXJue2Fib3J0OnZvaWQgMD09PXI/dm9pZCAwOk5lKHIsZSxgJHt0fSBoYXMgbWVtYmVyICdhYm9ydCcgdGhhdGApLGNsb3NlOnZvaWQgMD09PW8/dm9pZCAwOkhlKG8sZSxgJHt0fSBoYXMgbWVtYmVyICdjbG9zZScgdGhhdGApLHN0YXJ0OnZvaWQgMD09PW4/dm9pZCAwOnhlKG4sZSxgJHt0fSBoYXMgbWVtYmVyICdzdGFydCcgdGhhdGApLHdyaXRlOnZvaWQgMD09PWk/dm9pZCAwOlZlKGksZSxgJHt0fSBoYXMgbWVtYmVyICd3cml0ZScgdGhhdGApLHR5cGU6YX19KGUsXCJGaXJzdCBwYXJhbWV0ZXJcIik7dmFyIG47KG49dGhpcykuX3N0YXRlPVwid3JpdGFibGVcIixuLl9zdG9yZWRFcnJvcj12b2lkIDAsbi5fd3JpdGVyPXZvaWQgMCxuLl93cml0YWJsZVN0cmVhbUNvbnRyb2xsZXI9dm9pZCAwLG4uX3dyaXRlUmVxdWVzdHM9bmV3IFMsbi5faW5GbGlnaHRXcml0ZVJlcXVlc3Q9dm9pZCAwLG4uX2Nsb3NlUmVxdWVzdD12b2lkIDAsbi5faW5GbGlnaHRDbG9zZVJlcXVlc3Q9dm9pZCAwLG4uX3BlbmRpbmdBYm9ydFJlcXVlc3Q9dm9pZCAwLG4uX2JhY2twcmVzc3VyZT0hMTtpZih2b2lkIDAhPT1vLnR5cGUpdGhyb3cgbmV3IFJhbmdlRXJyb3IoXCJJbnZhbGlkIHR5cGUgaXMgc3BlY2lmaWVkXCIpO2NvbnN0IGE9TWUocik7IWZ1bmN0aW9uKGUsdCxyLG8pe2NvbnN0IG49T2JqZWN0LmNyZWF0ZShXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZSk7bGV0IGEsaSxsLHM7YT12b2lkIDAhPT10LnN0YXJ0PygpPT50LnN0YXJ0KG4pOigpPT57fTtpPXZvaWQgMCE9PXQud3JpdGU/ZT0+dC53cml0ZShlLG4pOigpPT5jKHZvaWQgMCk7bD12b2lkIDAhPT10LmNsb3NlPygpPT50LmNsb3NlKCk6KCk9PmModm9pZCAwKTtzPXZvaWQgMCE9PXQuYWJvcnQ/ZT0+dC5hYm9ydChlKTooKT0+Yyh2b2lkIDApOyFmdW5jdGlvbihlLHQscixvLG4sYSxpLGwpe3QuX2NvbnRyb2xsZWRXcml0YWJsZVN0cmVhbT1lLGUuX3dyaXRhYmxlU3RyZWFtQ29udHJvbGxlcj10LHQuX3F1ZXVlPXZvaWQgMCx0Ll9xdWV1ZVRvdGFsU2l6ZT12b2lkIDAsY2UodCksdC5fYWJvcnRSZWFzb249dm9pZCAwLHQuX2Fib3J0Q29udHJvbGxlcj1mdW5jdGlvbigpe2lmKFVlKXJldHVybiBuZXcgQWJvcnRDb250cm9sbGVyfSgpLHQuX3N0YXJ0ZWQ9ITEsdC5fc3RyYXRlZ3lTaXplQWxnb3JpdGhtPWwsdC5fc3RyYXRlZ3lIV009aSx0Ll93cml0ZUFsZ29yaXRobT1vLHQuX2Nsb3NlQWxnb3JpdGhtPW4sdC5fYWJvcnRBbGdvcml0aG09YTtjb25zdCBzPWJ0KHQpO250KGUscyk7Y29uc3QgdT1yKCk7YihjKHUpLCgoKT0+KHQuX3N0YXJ0ZWQ9ITAsZHQodCksbnVsbCkpLChyPT4odC5fc3RhcnRlZD0hMCxaZShlLHIpLG51bGwpKSl9KGUsbixhLGksbCxzLHIsbyl9KHRoaXMsbywkZShyLDEpLGEpfWdldCBsb2NrZWQoKXtpZighR2UodGhpcykpdGhyb3cgX3QoXCJsb2NrZWRcIik7cmV0dXJuIFhlKHRoaXMpfWFib3J0KGUpe3JldHVybiBHZSh0aGlzKT9YZSh0aGlzKT9kKG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgYWJvcnQgYSBzdHJlYW0gdGhhdCBhbHJlYWR5IGhhcyBhIHdyaXRlclwiKSk6SmUodGhpcyxlKTpkKF90KFwiYWJvcnRcIikpfWNsb3NlKCl7cmV0dXJuIEdlKHRoaXMpP1hlKHRoaXMpP2QobmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjbG9zZSBhIHN0cmVhbSB0aGF0IGFscmVhZHkgaGFzIGEgd3JpdGVyXCIpKTpydCh0aGlzKT9kKG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2xvc2UgYW4gYWxyZWFkeS1jbG9zaW5nIHN0cmVhbVwiKSk6S2UodGhpcyk6ZChfdChcImNsb3NlXCIpKX1nZXRXcml0ZXIoKXtpZighR2UodGhpcykpdGhyb3cgX3QoXCJnZXRXcml0ZXJcIik7cmV0dXJuIG5ldyBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIodGhpcyl9fWZ1bmN0aW9uIEdlKGUpe3JldHVybiEhcihlKSYmKCEhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsXCJfd3JpdGFibGVTdHJlYW1Db250cm9sbGVyXCIpJiZlIGluc3RhbmNlb2YgV3JpdGFibGVTdHJlYW0pfWZ1bmN0aW9uIFhlKGUpe3JldHVybiB2b2lkIDAhPT1lLl93cml0ZXJ9ZnVuY3Rpb24gSmUoZSx0KXt2YXIgcjtpZihcImNsb3NlZFwiPT09ZS5fc3RhdGV8fFwiZXJyb3JlZFwiPT09ZS5fc3RhdGUpcmV0dXJuIGModm9pZCAwKTtlLl93cml0YWJsZVN0cmVhbUNvbnRyb2xsZXIuX2Fib3J0UmVhc29uPXQsbnVsbD09PShyPWUuX3dyaXRhYmxlU3RyZWFtQ29udHJvbGxlci5fYWJvcnRDb250cm9sbGVyKXx8dm9pZCAwPT09cnx8ci5hYm9ydCh0KTtjb25zdCBvPWUuX3N0YXRlO2lmKFwiY2xvc2VkXCI9PT1vfHxcImVycm9yZWRcIj09PW8pcmV0dXJuIGModm9pZCAwKTtpZih2b2lkIDAhPT1lLl9wZW5kaW5nQWJvcnRSZXF1ZXN0KXJldHVybiBlLl9wZW5kaW5nQWJvcnRSZXF1ZXN0Ll9wcm9taXNlO2xldCBuPSExO1wiZXJyb3JpbmdcIj09PW8mJihuPSEwLHQ9dm9pZCAwKTtjb25zdCBhPXUoKChyLG8pPT57ZS5fcGVuZGluZ0Fib3J0UmVxdWVzdD17X3Byb21pc2U6dm9pZCAwLF9yZXNvbHZlOnIsX3JlamVjdDpvLF9yZWFzb246dCxfd2FzQWxyZWFkeUVycm9yaW5nOm59fSkpO3JldHVybiBlLl9wZW5kaW5nQWJvcnRSZXF1ZXN0Ll9wcm9taXNlPWEsbnx8ZXQoZSx0KSxhfWZ1bmN0aW9uIEtlKGUpe2NvbnN0IHQ9ZS5fc3RhdGU7aWYoXCJjbG9zZWRcIj09PXR8fFwiZXJyb3JlZFwiPT09dClyZXR1cm4gZChuZXcgVHlwZUVycm9yKGBUaGUgc3RyZWFtIChpbiAke3R9IHN0YXRlKSBpcyBub3QgaW4gdGhlIHdyaXRhYmxlIHN0YXRlIGFuZCBjYW5ub3QgYmUgY2xvc2VkYCkpO2NvbnN0IHI9dSgoKHQscik9Pntjb25zdCBvPXtfcmVzb2x2ZTp0LF9yZWplY3Q6cn07ZS5fY2xvc2VSZXF1ZXN0PW99KSksbz1lLl93cml0ZXI7dmFyIG47cmV0dXJuIHZvaWQgMCE9PW8mJmUuX2JhY2twcmVzc3VyZSYmXCJ3cml0YWJsZVwiPT09dCYmRXQobyksdWUobj1lLl93cml0YWJsZVN0cmVhbUNvbnRyb2xsZXIsbHQsMCksZHQobikscn1mdW5jdGlvbiBaZShlLHQpe1wid3JpdGFibGVcIiE9PWUuX3N0YXRlP3R0KGUpOmV0KGUsdCl9ZnVuY3Rpb24gZXQoZSx0KXtjb25zdCByPWUuX3dyaXRhYmxlU3RyZWFtQ29udHJvbGxlcjtlLl9zdGF0ZT1cImVycm9yaW5nXCIsZS5fc3RvcmVkRXJyb3I9dDtjb25zdCBvPWUuX3dyaXRlcjt2b2lkIDAhPT1vJiZpdChvLHQpLCFmdW5jdGlvbihlKXtpZih2b2lkIDA9PT1lLl9pbkZsaWdodFdyaXRlUmVxdWVzdCYmdm9pZCAwPT09ZS5faW5GbGlnaHRDbG9zZVJlcXVlc3QpcmV0dXJuITE7cmV0dXJuITB9KGUpJiZyLl9zdGFydGVkJiZ0dChlKX1mdW5jdGlvbiB0dChlKXtlLl9zdGF0ZT1cImVycm9yZWRcIixlLl93cml0YWJsZVN0cmVhbUNvbnRyb2xsZXJbUl0oKTtjb25zdCB0PWUuX3N0b3JlZEVycm9yO2lmKGUuX3dyaXRlUmVxdWVzdHMuZm9yRWFjaCgoZT0+e2UuX3JlamVjdCh0KX0pKSxlLl93cml0ZVJlcXVlc3RzPW5ldyBTLHZvaWQgMD09PWUuX3BlbmRpbmdBYm9ydFJlcXVlc3QpcmV0dXJuIHZvaWQgb3QoZSk7Y29uc3Qgcj1lLl9wZW5kaW5nQWJvcnRSZXF1ZXN0O2lmKGUuX3BlbmRpbmdBYm9ydFJlcXVlc3Q9dm9pZCAwLHIuX3dhc0FscmVhZHlFcnJvcmluZylyZXR1cm4gci5fcmVqZWN0KHQpLHZvaWQgb3QoZSk7YihlLl93cml0YWJsZVN0cmVhbUNvbnRyb2xsZXJbdl0oci5fcmVhc29uKSwoKCk9PihyLl9yZXNvbHZlKCksb3QoZSksbnVsbCkpLCh0PT4oci5fcmVqZWN0KHQpLG90KGUpLG51bGwpKSl9ZnVuY3Rpb24gcnQoZSl7cmV0dXJuIHZvaWQgMCE9PWUuX2Nsb3NlUmVxdWVzdHx8dm9pZCAwIT09ZS5faW5GbGlnaHRDbG9zZVJlcXVlc3R9ZnVuY3Rpb24gb3QoZSl7dm9pZCAwIT09ZS5fY2xvc2VSZXF1ZXN0JiYoZS5fY2xvc2VSZXF1ZXN0Ll9yZWplY3QoZS5fc3RvcmVkRXJyb3IpLGUuX2Nsb3NlUmVxdWVzdD12b2lkIDApO2NvbnN0IHQ9ZS5fd3JpdGVyO3ZvaWQgMCE9PXQmJlN0KHQsZS5fc3RvcmVkRXJyb3IpfWZ1bmN0aW9uIG50KGUsdCl7Y29uc3Qgcj1lLl93cml0ZXI7dm9pZCAwIT09ciYmdCE9PWUuX2JhY2twcmVzc3VyZSYmKHQ/ZnVuY3Rpb24oZSl7UnQoZSl9KHIpOkV0KHIpKSxlLl9iYWNrcHJlc3N1cmU9dH1PYmplY3QuZGVmaW5lUHJvcGVydGllcyhXcml0YWJsZVN0cmVhbS5wcm90b3R5cGUse2Fib3J0OntlbnVtZXJhYmxlOiEwfSxjbG9zZTp7ZW51bWVyYWJsZTohMH0sZ2V0V3JpdGVyOntlbnVtZXJhYmxlOiEwfSxsb2NrZWQ6e2VudW1lcmFibGU6ITB9fSksbihXcml0YWJsZVN0cmVhbS5wcm90b3R5cGUuYWJvcnQsXCJhYm9ydFwiKSxuKFdyaXRhYmxlU3RyZWFtLnByb3RvdHlwZS5jbG9zZSxcImNsb3NlXCIpLG4oV3JpdGFibGVTdHJlYW0ucHJvdG90eXBlLmdldFdyaXRlcixcImdldFdyaXRlclwiKSxcInN5bWJvbFwiPT10eXBlb2YgZS50b1N0cmluZ1RhZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlU3RyZWFtLnByb3RvdHlwZSxlLnRvU3RyaW5nVGFnLHt2YWx1ZTpcIldyaXRhYmxlU3RyZWFtXCIsY29uZmlndXJhYmxlOiEwfSk7Y2xhc3MgV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVye2NvbnN0cnVjdG9yKGUpe2lmKCQoZSwxLFwiV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyXCIpLGZ1bmN0aW9uKGUsdCl7aWYoIUdlKGUpKXRocm93IG5ldyBUeXBlRXJyb3IoYCR7dH0gaXMgbm90IGEgV3JpdGFibGVTdHJlYW0uYCl9KGUsXCJGaXJzdCBwYXJhbWV0ZXJcIiksWGUoZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlRoaXMgc3RyZWFtIGhhcyBhbHJlYWR5IGJlZW4gbG9ja2VkIGZvciBleGNsdXNpdmUgd3JpdGluZyBieSBhbm90aGVyIHdyaXRlclwiKTt0aGlzLl9vd25lcldyaXRhYmxlU3RyZWFtPWUsZS5fd3JpdGVyPXRoaXM7Y29uc3QgdD1lLl9zdGF0ZTtpZihcIndyaXRhYmxlXCI9PT10KSFydChlKSYmZS5fYmFja3ByZXNzdXJlP1J0KHRoaXMpOnF0KHRoaXMpLGd0KHRoaXMpO2Vsc2UgaWYoXCJlcnJvcmluZ1wiPT09dClUdCh0aGlzLGUuX3N0b3JlZEVycm9yKSxndCh0aGlzKTtlbHNlIGlmKFwiY2xvc2VkXCI9PT10KXF0KHRoaXMpLGd0KHI9dGhpcyksdnQocik7ZWxzZXtjb25zdCB0PWUuX3N0b3JlZEVycm9yO1R0KHRoaXMsdCksd3QodGhpcyx0KX12YXIgcn1nZXQgY2xvc2VkKCl7cmV0dXJuIGF0KHRoaXMpP3RoaXMuX2Nsb3NlZFByb21pc2U6ZChtdChcImNsb3NlZFwiKSl9Z2V0IGRlc2lyZWRTaXplKCl7aWYoIWF0KHRoaXMpKXRocm93IG10KFwiZGVzaXJlZFNpemVcIik7aWYodm9pZCAwPT09dGhpcy5fb3duZXJXcml0YWJsZVN0cmVhbSl0aHJvdyB5dChcImRlc2lyZWRTaXplXCIpO3JldHVybiBmdW5jdGlvbihlKXtjb25zdCB0PWUuX293bmVyV3JpdGFibGVTdHJlYW0scj10Ll9zdGF0ZTtpZihcImVycm9yZWRcIj09PXJ8fFwiZXJyb3JpbmdcIj09PXIpcmV0dXJuIG51bGw7aWYoXCJjbG9zZWRcIj09PXIpcmV0dXJuIDA7cmV0dXJuIGN0KHQuX3dyaXRhYmxlU3RyZWFtQ29udHJvbGxlcil9KHRoaXMpfWdldCByZWFkeSgpe3JldHVybiBhdCh0aGlzKT90aGlzLl9yZWFkeVByb21pc2U6ZChtdChcInJlYWR5XCIpKX1hYm9ydChlKXtyZXR1cm4gYXQodGhpcyk/dm9pZCAwPT09dGhpcy5fb3duZXJXcml0YWJsZVN0cmVhbT9kKHl0KFwiYWJvcnRcIikpOmZ1bmN0aW9uKGUsdCl7cmV0dXJuIEplKGUuX293bmVyV3JpdGFibGVTdHJlYW0sdCl9KHRoaXMsZSk6ZChtdChcImFib3J0XCIpKX1jbG9zZSgpe2lmKCFhdCh0aGlzKSlyZXR1cm4gZChtdChcImNsb3NlXCIpKTtjb25zdCBlPXRoaXMuX293bmVyV3JpdGFibGVTdHJlYW07cmV0dXJuIHZvaWQgMD09PWU/ZCh5dChcImNsb3NlXCIpKTpydChlKT9kKG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2xvc2UgYW4gYWxyZWFkeS1jbG9zaW5nIHN0cmVhbVwiKSk6S2UodGhpcy5fb3duZXJXcml0YWJsZVN0cmVhbSl9cmVsZWFzZUxvY2soKXtpZighYXQodGhpcykpdGhyb3cgbXQoXCJyZWxlYXNlTG9ja1wiKTt2b2lkIDAhPT10aGlzLl9vd25lcldyaXRhYmxlU3RyZWFtJiZmdW5jdGlvbihlKXtjb25zdCB0PWUuX293bmVyV3JpdGFibGVTdHJlYW0scj1uZXcgVHlwZUVycm9yKFwiV3JpdGVyIHdhcyByZWxlYXNlZCBhbmQgY2FuIG5vIGxvbmdlciBiZSB1c2VkIHRvIG1vbml0b3IgdGhlIHN0cmVhbSdzIGNsb3NlZG5lc3NcIik7aXQoZSxyKSxmdW5jdGlvbihlLHQpe1wicGVuZGluZ1wiPT09ZS5fY2xvc2VkUHJvbWlzZVN0YXRlP1N0KGUsdCk6ZnVuY3Rpb24oZSx0KXt3dChlLHQpfShlLHQpfShlLHIpLHQuX3dyaXRlcj12b2lkIDAsZS5fb3duZXJXcml0YWJsZVN0cmVhbT12b2lkIDB9KHRoaXMpfXdyaXRlKGUpe3JldHVybiBhdCh0aGlzKT92b2lkIDA9PT10aGlzLl9vd25lcldyaXRhYmxlU3RyZWFtP2QoeXQoXCJ3cml0ZSB0b1wiKSk6ZnVuY3Rpb24oZSx0KXtjb25zdCByPWUuX293bmVyV3JpdGFibGVTdHJlYW0sbz1yLl93cml0YWJsZVN0cmVhbUNvbnRyb2xsZXIsbj1mdW5jdGlvbihlLHQpe3RyeXtyZXR1cm4gZS5fc3RyYXRlZ3lTaXplQWxnb3JpdGhtKHQpfWNhdGNoKHQpe3JldHVybiBmdChlLHQpLDF9fShvLHQpO2lmKHIhPT1lLl9vd25lcldyaXRhYmxlU3RyZWFtKXJldHVybiBkKHl0KFwid3JpdGUgdG9cIikpO2NvbnN0IGE9ci5fc3RhdGU7aWYoXCJlcnJvcmVkXCI9PT1hKXJldHVybiBkKHIuX3N0b3JlZEVycm9yKTtpZihydChyKXx8XCJjbG9zZWRcIj09PWEpcmV0dXJuIGQobmV3IFR5cGVFcnJvcihcIlRoZSBzdHJlYW0gaXMgY2xvc2luZyBvciBjbG9zZWQgYW5kIGNhbm5vdCBiZSB3cml0dGVuIHRvXCIpKTtpZihcImVycm9yaW5nXCI9PT1hKXJldHVybiBkKHIuX3N0b3JlZEVycm9yKTtjb25zdCBpPWZ1bmN0aW9uKGUpe3JldHVybiB1KCgodCxyKT0+e2NvbnN0IG89e19yZXNvbHZlOnQsX3JlamVjdDpyfTtlLl93cml0ZVJlcXVlc3RzLnB1c2gobyl9KSl9KHIpO3JldHVybiBmdW5jdGlvbihlLHQscil7dHJ5e3VlKGUsdCxyKX1jYXRjaCh0KXtyZXR1cm4gdm9pZCBmdChlLHQpfWNvbnN0IG89ZS5fY29udHJvbGxlZFdyaXRhYmxlU3RyZWFtO2lmKCFydChvKSYmXCJ3cml0YWJsZVwiPT09by5fc3RhdGUpe250KG8sYnQoZSkpfWR0KGUpfShvLHQsbiksaX0odGhpcyxlKTpkKG10KFwid3JpdGVcIikpfX1mdW5jdGlvbiBhdChlKXtyZXR1cm4hIXIoZSkmJighIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLFwiX293bmVyV3JpdGFibGVTdHJlYW1cIikmJmUgaW5zdGFuY2VvZiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIpfWZ1bmN0aW9uIGl0KGUsdCl7XCJwZW5kaW5nXCI9PT1lLl9yZWFkeVByb21pc2VTdGF0ZT9DdChlLHQpOmZ1bmN0aW9uKGUsdCl7VHQoZSx0KX0oZSx0KX1PYmplY3QuZGVmaW5lUHJvcGVydGllcyhXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIucHJvdG90eXBlLHthYm9ydDp7ZW51bWVyYWJsZTohMH0sY2xvc2U6e2VudW1lcmFibGU6ITB9LHJlbGVhc2VMb2NrOntlbnVtZXJhYmxlOiEwfSx3cml0ZTp7ZW51bWVyYWJsZTohMH0sY2xvc2VkOntlbnVtZXJhYmxlOiEwfSxkZXNpcmVkU2l6ZTp7ZW51bWVyYWJsZTohMH0scmVhZHk6e2VudW1lcmFibGU6ITB9fSksbihXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIucHJvdG90eXBlLmFib3J0LFwiYWJvcnRcIiksbihXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIucHJvdG90eXBlLmNsb3NlLFwiY2xvc2VcIiksbihXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIucHJvdG90eXBlLnJlbGVhc2VMb2NrLFwicmVsZWFzZUxvY2tcIiksbihXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIucHJvdG90eXBlLndyaXRlLFwid3JpdGVcIiksXCJzeW1ib2xcIj09dHlwZW9mIGUudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIucHJvdG90eXBlLGUudG9TdHJpbmdUYWcse3ZhbHVlOlwiV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyXCIsY29uZmlndXJhYmxlOiEwfSk7Y29uc3QgbHQ9e307Y2xhc3MgV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcntjb25zdHJ1Y3Rvcigpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJJbGxlZ2FsIGNvbnN0cnVjdG9yXCIpfWdldCBhYm9ydFJlYXNvbigpe2lmKCFzdCh0aGlzKSl0aHJvdyBwdChcImFib3J0UmVhc29uXCIpO3JldHVybiB0aGlzLl9hYm9ydFJlYXNvbn1nZXQgc2lnbmFsKCl7aWYoIXN0KHRoaXMpKXRocm93IHB0KFwic2lnbmFsXCIpO2lmKHZvaWQgMD09PXRoaXMuX2Fib3J0Q29udHJvbGxlcil0aHJvdyBuZXcgVHlwZUVycm9yKFwiV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUuc2lnbmFsIGlzIG5vdCBzdXBwb3J0ZWRcIik7cmV0dXJuIHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWx9ZXJyb3IoZSl7aWYoIXN0KHRoaXMpKXRocm93IHB0KFwiZXJyb3JcIik7XCJ3cml0YWJsZVwiPT09dGhpcy5fY29udHJvbGxlZFdyaXRhYmxlU3RyZWFtLl9zdGF0ZSYmaHQodGhpcyxlKX1bdl0oZSl7Y29uc3QgdD10aGlzLl9hYm9ydEFsZ29yaXRobShlKTtyZXR1cm4gdXQodGhpcyksdH1bUl0oKXtjZSh0aGlzKX19ZnVuY3Rpb24gc3QoZSl7cmV0dXJuISFyKGUpJiYoISFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxcIl9jb250cm9sbGVkV3JpdGFibGVTdHJlYW1cIikmJmUgaW5zdGFuY2VvZiBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyKX1mdW5jdGlvbiB1dChlKXtlLl93cml0ZUFsZ29yaXRobT12b2lkIDAsZS5fY2xvc2VBbGdvcml0aG09dm9pZCAwLGUuX2Fib3J0QWxnb3JpdGhtPXZvaWQgMCxlLl9zdHJhdGVneVNpemVBbGdvcml0aG09dm9pZCAwfWZ1bmN0aW9uIGN0KGUpe3JldHVybiBlLl9zdHJhdGVneUhXTS1lLl9xdWV1ZVRvdGFsU2l6ZX1mdW5jdGlvbiBkdChlKXtjb25zdCB0PWUuX2NvbnRyb2xsZWRXcml0YWJsZVN0cmVhbTtpZighZS5fc3RhcnRlZClyZXR1cm47aWYodm9pZCAwIT09dC5faW5GbGlnaHRXcml0ZVJlcXVlc3QpcmV0dXJuO2lmKFwiZXJyb3JpbmdcIj09PXQuX3N0YXRlKXJldHVybiB2b2lkIHR0KHQpO2lmKDA9PT1lLl9xdWV1ZS5sZW5ndGgpcmV0dXJuO2NvbnN0IHI9ZS5fcXVldWUucGVlaygpLnZhbHVlO3I9PT1sdD9mdW5jdGlvbihlKXtjb25zdCB0PWUuX2NvbnRyb2xsZWRXcml0YWJsZVN0cmVhbTsoZnVuY3Rpb24oZSl7ZS5faW5GbGlnaHRDbG9zZVJlcXVlc3Q9ZS5fY2xvc2VSZXF1ZXN0LGUuX2Nsb3NlUmVxdWVzdD12b2lkIDB9KSh0KSxzZShlKTtjb25zdCByPWUuX2Nsb3NlQWxnb3JpdGhtKCk7dXQoZSksYihyLCgoKT0+KGZ1bmN0aW9uKGUpe2UuX2luRmxpZ2h0Q2xvc2VSZXF1ZXN0Ll9yZXNvbHZlKHZvaWQgMCksZS5faW5GbGlnaHRDbG9zZVJlcXVlc3Q9dm9pZCAwLFwiZXJyb3JpbmdcIj09PWUuX3N0YXRlJiYoZS5fc3RvcmVkRXJyb3I9dm9pZCAwLHZvaWQgMCE9PWUuX3BlbmRpbmdBYm9ydFJlcXVlc3QmJihlLl9wZW5kaW5nQWJvcnRSZXF1ZXN0Ll9yZXNvbHZlKCksZS5fcGVuZGluZ0Fib3J0UmVxdWVzdD12b2lkIDApKSxlLl9zdGF0ZT1cImNsb3NlZFwiO2NvbnN0IHQ9ZS5fd3JpdGVyO3ZvaWQgMCE9PXQmJnZ0KHQpfSh0KSxudWxsKSksKGU9PihmdW5jdGlvbihlLHQpe2UuX2luRmxpZ2h0Q2xvc2VSZXF1ZXN0Ll9yZWplY3QodCksZS5faW5GbGlnaHRDbG9zZVJlcXVlc3Q9dm9pZCAwLHZvaWQgMCE9PWUuX3BlbmRpbmdBYm9ydFJlcXVlc3QmJihlLl9wZW5kaW5nQWJvcnRSZXF1ZXN0Ll9yZWplY3QodCksZS5fcGVuZGluZ0Fib3J0UmVxdWVzdD12b2lkIDApLFplKGUsdCl9KHQsZSksbnVsbCkpKX0oZSk6ZnVuY3Rpb24oZSx0KXtjb25zdCByPWUuX2NvbnRyb2xsZWRXcml0YWJsZVN0cmVhbTshZnVuY3Rpb24oZSl7ZS5faW5GbGlnaHRXcml0ZVJlcXVlc3Q9ZS5fd3JpdGVSZXF1ZXN0cy5zaGlmdCgpfShyKTtiKGUuX3dyaXRlQWxnb3JpdGhtKHQpLCgoKT0+eyFmdW5jdGlvbihlKXtlLl9pbkZsaWdodFdyaXRlUmVxdWVzdC5fcmVzb2x2ZSh2b2lkIDApLGUuX2luRmxpZ2h0V3JpdGVSZXF1ZXN0PXZvaWQgMH0ocik7Y29uc3QgdD1yLl9zdGF0ZTtpZihzZShlKSwhcnQocikmJlwid3JpdGFibGVcIj09PXQpe2NvbnN0IHQ9YnQoZSk7bnQocix0KX1yZXR1cm4gZHQoZSksbnVsbH0pLCh0PT4oXCJ3cml0YWJsZVwiPT09ci5fc3RhdGUmJnV0KGUpLGZ1bmN0aW9uKGUsdCl7ZS5faW5GbGlnaHRXcml0ZVJlcXVlc3QuX3JlamVjdCh0KSxlLl9pbkZsaWdodFdyaXRlUmVxdWVzdD12b2lkIDAsWmUoZSx0KX0ocix0KSxudWxsKSkpfShlLHIpfWZ1bmN0aW9uIGZ0KGUsdCl7XCJ3cml0YWJsZVwiPT09ZS5fY29udHJvbGxlZFdyaXRhYmxlU3RyZWFtLl9zdGF0ZSYmaHQoZSx0KX1mdW5jdGlvbiBidChlKXtyZXR1cm4gY3QoZSk8PTB9ZnVuY3Rpb24gaHQoZSx0KXtjb25zdCByPWUuX2NvbnRyb2xsZWRXcml0YWJsZVN0cmVhbTt1dChlKSxldChyLHQpfWZ1bmN0aW9uIF90KGUpe3JldHVybiBuZXcgVHlwZUVycm9yKGBXcml0YWJsZVN0cmVhbS5wcm90b3R5cGUuJHtlfSBjYW4gb25seSBiZSB1c2VkIG9uIGEgV3JpdGFibGVTdHJlYW1gKX1mdW5jdGlvbiBwdChlKXtyZXR1cm4gbmV3IFR5cGVFcnJvcihgV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUuJHtlfSBjYW4gb25seSBiZSB1c2VkIG9uIGEgV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcmApfWZ1bmN0aW9uIG10KGUpe3JldHVybiBuZXcgVHlwZUVycm9yKGBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIucHJvdG90eXBlLiR7ZX0gY2FuIG9ubHkgYmUgdXNlZCBvbiBhIFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlcmApfWZ1bmN0aW9uIHl0KGUpe3JldHVybiBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IFwiK2UrXCIgYSBzdHJlYW0gdXNpbmcgYSByZWxlYXNlZCB3cml0ZXJcIil9ZnVuY3Rpb24gZ3QoZSl7ZS5fY2xvc2VkUHJvbWlzZT11KCgodCxyKT0+e2UuX2Nsb3NlZFByb21pc2VfcmVzb2x2ZT10LGUuX2Nsb3NlZFByb21pc2VfcmVqZWN0PXIsZS5fY2xvc2VkUHJvbWlzZVN0YXRlPVwicGVuZGluZ1wifSkpfWZ1bmN0aW9uIHd0KGUsdCl7Z3QoZSksU3QoZSx0KX1mdW5jdGlvbiBTdChlLHQpe3ZvaWQgMCE9PWUuX2Nsb3NlZFByb21pc2VfcmVqZWN0JiYobShlLl9jbG9zZWRQcm9taXNlKSxlLl9jbG9zZWRQcm9taXNlX3JlamVjdCh0KSxlLl9jbG9zZWRQcm9taXNlX3Jlc29sdmU9dm9pZCAwLGUuX2Nsb3NlZFByb21pc2VfcmVqZWN0PXZvaWQgMCxlLl9jbG9zZWRQcm9taXNlU3RhdGU9XCJyZWplY3RlZFwiKX1mdW5jdGlvbiB2dChlKXt2b2lkIDAhPT1lLl9jbG9zZWRQcm9taXNlX3Jlc29sdmUmJihlLl9jbG9zZWRQcm9taXNlX3Jlc29sdmUodm9pZCAwKSxlLl9jbG9zZWRQcm9taXNlX3Jlc29sdmU9dm9pZCAwLGUuX2Nsb3NlZFByb21pc2VfcmVqZWN0PXZvaWQgMCxlLl9jbG9zZWRQcm9taXNlU3RhdGU9XCJyZXNvbHZlZFwiKX1mdW5jdGlvbiBSdChlKXtlLl9yZWFkeVByb21pc2U9dSgoKHQscik9PntlLl9yZWFkeVByb21pc2VfcmVzb2x2ZT10LGUuX3JlYWR5UHJvbWlzZV9yZWplY3Q9cn0pKSxlLl9yZWFkeVByb21pc2VTdGF0ZT1cInBlbmRpbmdcIn1mdW5jdGlvbiBUdChlLHQpe1J0KGUpLEN0KGUsdCl9ZnVuY3Rpb24gcXQoZSl7UnQoZSksRXQoZSl9ZnVuY3Rpb24gQ3QoZSx0KXt2b2lkIDAhPT1lLl9yZWFkeVByb21pc2VfcmVqZWN0JiYobShlLl9yZWFkeVByb21pc2UpLGUuX3JlYWR5UHJvbWlzZV9yZWplY3QodCksZS5fcmVhZHlQcm9taXNlX3Jlc29sdmU9dm9pZCAwLGUuX3JlYWR5UHJvbWlzZV9yZWplY3Q9dm9pZCAwLGUuX3JlYWR5UHJvbWlzZVN0YXRlPVwicmVqZWN0ZWRcIil9ZnVuY3Rpb24gRXQoZSl7dm9pZCAwIT09ZS5fcmVhZHlQcm9taXNlX3Jlc29sdmUmJihlLl9yZWFkeVByb21pc2VfcmVzb2x2ZSh2b2lkIDApLGUuX3JlYWR5UHJvbWlzZV9yZXNvbHZlPXZvaWQgMCxlLl9yZWFkeVByb21pc2VfcmVqZWN0PXZvaWQgMCxlLl9yZWFkeVByb21pc2VTdGF0ZT1cImZ1bGZpbGxlZFwiKX1PYmplY3QuZGVmaW5lUHJvcGVydGllcyhXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZSx7YWJvcnRSZWFzb246e2VudW1lcmFibGU6ITB9LHNpZ25hbDp7ZW51bWVyYWJsZTohMH0sZXJyb3I6e2VudW1lcmFibGU6ITB9fSksXCJzeW1ib2xcIj09dHlwZW9mIGUudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZSxlLnRvU3RyaW5nVGFnLHt2YWx1ZTpcIldyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJcIixjb25maWd1cmFibGU6ITB9KTtjb25zdCBQdD1cInVuZGVmaW5lZFwiIT10eXBlb2YgRE9NRXhjZXB0aW9uP0RPTUV4Y2VwdGlvbjp2b2lkIDA7Y29uc3QgV3Q9ZnVuY3Rpb24oZSl7aWYoXCJmdW5jdGlvblwiIT10eXBlb2YgZSYmXCJvYmplY3RcIiE9dHlwZW9mIGUpcmV0dXJuITE7dHJ5e3JldHVybiBuZXcgZSwhMH1jYXRjaChlKXtyZXR1cm4hMX19KFB0KT9QdDpmdW5jdGlvbigpe2NvbnN0IGU9ZnVuY3Rpb24oZSx0KXt0aGlzLm1lc3NhZ2U9ZXx8XCJcIix0aGlzLm5hbWU9dHx8XCJFcnJvclwiLEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLHRoaXMuY29uc3RydWN0b3IpfTtyZXR1cm4gZS5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLnByb3RvdHlwZSxcImNvbnN0cnVjdG9yXCIse3ZhbHVlOmUsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSksZX0oKTtmdW5jdGlvbiBrdChlLHQscixvLG4sYSl7Y29uc3QgaT1lLmdldFJlYWRlcigpLGw9dC5nZXRXcml0ZXIoKTtWdChlKSYmKGUuX2Rpc3R1cmJlZD0hMCk7bGV0IHMsXyxnLHc9ITEsUz0hMSx2PVwicmVhZGFibGVcIixSPVwid3JpdGFibGVcIixUPSExLHE9ITE7Y29uc3QgQz11KChlPT57Zz1lfSkpO2xldCBFPVByb21pc2UucmVzb2x2ZSh2b2lkIDApO3JldHVybiB1KCgoUCxXKT0+e2xldCBrO2Z1bmN0aW9uIE8oKXtpZih3KXJldHVybjtjb25zdCBlPXUoKChlLHQpPT57IWZ1bmN0aW9uIHIobyl7bz9lKCk6ZihmdW5jdGlvbigpe2lmKHcpcmV0dXJuIGMoITApO3JldHVybiBmKGwucmVhZHksKCgpPT5mKGkucmVhZCgpLChlPT4hIWUuZG9uZXx8KEU9bC53cml0ZShlLnZhbHVlKSxtKEUpLCExKSkpKSl9KCkscix0KX0oITEpfSkpO20oZSl9ZnVuY3Rpb24gQigpe3JldHVybiB2PVwiY2xvc2VkXCIscj9MKCk6eigoKCk9PihHZSh0KSYmKFQ9cnQodCksUj10Ll9zdGF0ZSksVHx8XCJjbG9zZWRcIj09PVI/Yyh2b2lkIDApOlwiZXJyb3JpbmdcIj09PVJ8fFwiZXJyb3JlZFwiPT09Uj9kKF8pOihUPSEwLGwuY2xvc2UoKSkpKSwhMSx2b2lkIDApLG51bGx9ZnVuY3Rpb24gQShlKXtyZXR1cm4gd3x8KHY9XCJlcnJvcmVkXCIscz1lLG8/TCghMCxlKTp6KCgoKT0+bC5hYm9ydChlKSksITAsZSkpLG51bGx9ZnVuY3Rpb24gaihlKXtyZXR1cm4gU3x8KFI9XCJlcnJvcmVkXCIsXz1lLG4/TCghMCxlKTp6KCgoKT0+aS5jYW5jZWwoZSkpLCEwLGUpKSxudWxsfWlmKHZvaWQgMCE9PWEmJihrPSgpPT57Y29uc3QgZT12b2lkIDAhPT1hLnJlYXNvbj9hLnJlYXNvbjpuZXcgV3QoXCJBYm9ydGVkXCIsXCJBYm9ydEVycm9yXCIpLHQ9W107b3x8dC5wdXNoKCgoKT0+XCJ3cml0YWJsZVwiPT09Uj9sLmFib3J0KGUpOmModm9pZCAwKSkpLG58fHQucHVzaCgoKCk9PlwicmVhZGFibGVcIj09PXY/aS5jYW5jZWwoZSk6Yyh2b2lkIDApKSkseigoKCk9PlByb21pc2UuYWxsKHQubWFwKChlPT5lKCkpKSkpLCEwLGUpfSxhLmFib3J0ZWQ/aygpOmEuYWRkRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsaykpLFZ0KGUpJiYodj1lLl9zdGF0ZSxzPWUuX3N0b3JlZEVycm9yKSxHZSh0KSYmKFI9dC5fc3RhdGUsXz10Ll9zdG9yZWRFcnJvcixUPXJ0KHQpKSxWdChlKSYmR2UodCkmJihxPSEwLGcoKSksXCJlcnJvcmVkXCI9PT12KUEocyk7ZWxzZSBpZihcImVycm9yaW5nXCI9PT1SfHxcImVycm9yZWRcIj09PVIpaihfKTtlbHNlIGlmKFwiY2xvc2VkXCI9PT12KUIoKTtlbHNlIGlmKFR8fFwiY2xvc2VkXCI9PT1SKXtjb25zdCBlPW5ldyBUeXBlRXJyb3IoXCJ0aGUgZGVzdGluYXRpb24gd3JpdGFibGUgc3RyZWFtIGNsb3NlZCBiZWZvcmUgYWxsIGRhdGEgY291bGQgYmUgcGlwZWQgdG8gaXRcIik7bj9MKCEwLGUpOnooKCgpPT5pLmNhbmNlbChlKSksITAsZSl9ZnVuY3Rpb24geihlLHQscil7ZnVuY3Rpb24gbygpe3JldHVyblwid3JpdGFibGVcIiE9PVJ8fFQ/bigpOmgoZnVuY3Rpb24oKXtsZXQgZTtyZXR1cm4gYyhmdW5jdGlvbiB0KCl7aWYoZSE9PUUpcmV0dXJuIGU9RSxwKEUsdCx0KX0oKSl9KCksbiksbnVsbH1mdW5jdGlvbiBuKCl7cmV0dXJuIGU/YihlKCksKCgpPT5GKHQscikpLChlPT5GKCEwLGUpKSk6Rih0LHIpLG51bGx9d3x8KHc9ITAscT9vKCk6aChDLG8pKX1mdW5jdGlvbiBMKGUsdCl7eih2b2lkIDAsZSx0KX1mdW5jdGlvbiBGKGUsdCl7cmV0dXJuIFM9ITAsbC5yZWxlYXNlTG9jaygpLGkucmVsZWFzZUxvY2soKSx2b2lkIDAhPT1hJiZhLnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJhYm9ydFwiLGspLGU/Vyh0KTpQKHZvaWQgMCksbnVsbH13fHwoYihpLmNsb3NlZCxCLEEpLGIobC5jbG9zZWQsKGZ1bmN0aW9uKCl7cmV0dXJuIFN8fChSPVwiY2xvc2VkXCIpLG51bGx9KSxqKSkscT9PKCk6eSgoKCk9PntxPSEwLGcoKSxPKCl9KSl9KSl9ZnVuY3Rpb24gT3QoZSx0KXtyZXR1cm4gZnVuY3Rpb24oZSl7dHJ5e3JldHVybiBlLmdldFJlYWRlcih7bW9kZTpcImJ5b2JcIn0pLnJlbGVhc2VMb2NrKCksITB9Y2F0Y2goZSl7cmV0dXJuITF9fShlKT9mdW5jdGlvbihlKXtsZXQgdCxyLG8sbixhLGk9ZS5nZXRSZWFkZXIoKSxsPSExLHM9ITEsZD0hMSxmPSExLGg9ITEscD0hMTtjb25zdCBtPXUoKGU9PnthPWV9KSk7ZnVuY3Rpb24geShlKXtfKGUuY2xvc2VkLCh0PT4oZSE9PWl8fChvLmVycm9yKHQpLG4uZXJyb3IodCksaCYmcHx8YSh2b2lkIDApKSxudWxsKSkpfWZ1bmN0aW9uIGcoKXtsJiYoaS5yZWxlYXNlTG9jaygpLGk9ZS5nZXRSZWFkZXIoKSx5KGkpLGw9ITEpLGIoaS5yZWFkKCksKGU9Pnt2YXIgdCxyO2lmKGQ9ITEsZj0hMSxlLmRvbmUpcmV0dXJuIGh8fG8uY2xvc2UoKSxwfHxuLmNsb3NlKCksbnVsbD09PSh0PW8uYnlvYlJlcXVlc3QpfHx2b2lkIDA9PT10fHx0LnJlc3BvbmQoMCksbnVsbD09PShyPW4uYnlvYlJlcXVlc3QpfHx2b2lkIDA9PT1yfHxyLnJlc3BvbmQoMCksaCYmcHx8YSh2b2lkIDApLG51bGw7Y29uc3QgbD1lLnZhbHVlLHU9bDtsZXQgYz1sO2lmKCFoJiYhcCl0cnl7Yz1sZShsKX1jYXRjaChlKXtyZXR1cm4gby5lcnJvcihlKSxuLmVycm9yKGUpLGEoaS5jYW5jZWwoZSkpLG51bGx9cmV0dXJuIGh8fG8uZW5xdWV1ZSh1KSxwfHxuLmVucXVldWUoYykscz0hMSxkP1MoKTpmJiZ2KCksbnVsbH0pLCgoKT0+KHM9ITEsbnVsbCkpKX1mdW5jdGlvbiB3KHQscil7bHx8KGkucmVsZWFzZUxvY2soKSxpPWUuZ2V0UmVhZGVyKHttb2RlOlwiYnlvYlwifSkseShpKSxsPSEwKTtjb25zdCB1PXI/bjpvLGM9cj9vOm47YihpLnJlYWQodCksKGU9Pnt2YXIgdDtkPSExLGY9ITE7Y29uc3Qgbz1yP3A6aCxuPXI/aDpwO2lmKGUuZG9uZSl7b3x8dS5jbG9zZSgpLG58fGMuY2xvc2UoKTtjb25zdCByPWUudmFsdWU7cmV0dXJuIHZvaWQgMCE9PXImJihvfHx1LmJ5b2JSZXF1ZXN0LnJlc3BvbmRXaXRoTmV3VmlldyhyKSxufHxudWxsPT09KHQ9Yy5ieW9iUmVxdWVzdCl8fHZvaWQgMD09PXR8fHQucmVzcG9uZCgwKSksbyYmbnx8YSh2b2lkIDApLG51bGx9Y29uc3QgbD1lLnZhbHVlO2lmKG4pb3x8dS5ieW9iUmVxdWVzdC5yZXNwb25kV2l0aE5ld1ZpZXcobCk7ZWxzZXtsZXQgZTt0cnl7ZT1sZShsKX1jYXRjaChlKXtyZXR1cm4gdS5lcnJvcihlKSxjLmVycm9yKGUpLGEoaS5jYW5jZWwoZSkpLG51bGx9b3x8dS5ieW9iUmVxdWVzdC5yZXNwb25kV2l0aE5ld1ZpZXcobCksYy5lbnF1ZXVlKGUpfXJldHVybiBzPSExLGQ/UygpOmYmJnYoKSxudWxsfSksKCgpPT4ocz0hMSxudWxsKSkpfWZ1bmN0aW9uIFMoKXtpZihzKXJldHVybiBkPSEwLGModm9pZCAwKTtzPSEwO2NvbnN0IGU9by5ieW9iUmVxdWVzdDtyZXR1cm4gbnVsbD09PWU/ZygpOncoZS52aWV3LCExKSxjKHZvaWQgMCl9ZnVuY3Rpb24gdigpe2lmKHMpcmV0dXJuIGY9ITAsYyh2b2lkIDApO3M9ITA7Y29uc3QgZT1uLmJ5b2JSZXF1ZXN0O3JldHVybiBudWxsPT09ZT9nKCk6dyhlLnZpZXcsITApLGModm9pZCAwKX1mdW5jdGlvbiBSKGUpe2lmKGg9ITAsdD1lLHApe2NvbnN0IGU9W3Qscl0sbz1pLmNhbmNlbChlKTthKG8pfXJldHVybiBtfWZ1bmN0aW9uIFQoZSl7aWYocD0hMCxyPWUsaCl7Y29uc3QgZT1bdCxyXSxvPWkuY2FuY2VsKGUpO2Eobyl9cmV0dXJuIG19Y29uc3QgcT1uZXcgUmVhZGFibGVTdHJlYW0oe3R5cGU6XCJieXRlc1wiLHN0YXJ0KGUpe289ZX0scHVsbDpTLGNhbmNlbDpSfSksQz1uZXcgUmVhZGFibGVTdHJlYW0oe3R5cGU6XCJieXRlc1wiLHN0YXJ0KGUpe249ZX0scHVsbDp2LGNhbmNlbDpUfSk7cmV0dXJuIHkoaSksW3EsQ119KGUpOmZ1bmN0aW9uKGUsdCl7Y29uc3Qgcj1lLmdldFJlYWRlcigpO2xldCBvLG4sYSxpLGwscz0hMSxkPSExLGY9ITEsaD0hMTtjb25zdCBwPXUoKGU9PntsPWV9KSk7ZnVuY3Rpb24gbSgpe3JldHVybiBzPyhkPSEwLGModm9pZCAwKSk6KHM9ITAsYihyLnJlYWQoKSwoZT0+e2lmKGQ9ITEsZS5kb25lKXJldHVybiBmfHxhLmNsb3NlKCksaHx8aS5jbG9zZSgpLGYmJmh8fGwodm9pZCAwKSxudWxsO2NvbnN0IHQ9ZS52YWx1ZSxyPXQsbz10O3JldHVybiBmfHxhLmVucXVldWUociksaHx8aS5lbnF1ZXVlKG8pLHM9ITEsZCYmbSgpLG51bGx9KSwoKCk9PihzPSExLG51bGwpKSksYyh2b2lkIDApKX1mdW5jdGlvbiB5KGUpe2lmKGY9ITAsbz1lLGgpe2NvbnN0IGU9W28sbl0sdD1yLmNhbmNlbChlKTtsKHQpfXJldHVybiBwfWZ1bmN0aW9uIGcoZSl7aWYoaD0hMCxuPWUsZil7Y29uc3QgZT1bbyxuXSx0PXIuY2FuY2VsKGUpO2wodCl9cmV0dXJuIHB9Y29uc3Qgdz1uZXcgUmVhZGFibGVTdHJlYW0oe3N0YXJ0KGUpe2E9ZX0scHVsbDptLGNhbmNlbDp5fSksUz1uZXcgUmVhZGFibGVTdHJlYW0oe3N0YXJ0KGUpe2k9ZX0scHVsbDptLGNhbmNlbDpnfSk7cmV0dXJuIF8oci5jbG9zZWQsKGU9PihhLmVycm9yKGUpLGkuZXJyb3IoZSksZiYmaHx8bCh2b2lkIDApLG51bGwpKSksW3csU119KGUpfWNsYXNzIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJ7Y29uc3RydWN0b3IoKXt0aHJvdyBuZXcgVHlwZUVycm9yKFwiSWxsZWdhbCBjb25zdHJ1Y3RvclwiKX1nZXQgZGVzaXJlZFNpemUoKXtpZighQnQodGhpcykpdGhyb3cgRHQoXCJkZXNpcmVkU2l6ZVwiKTtyZXR1cm4gTHQodGhpcyl9Y2xvc2UoKXtpZighQnQodGhpcykpdGhyb3cgRHQoXCJjbG9zZVwiKTtpZighRnQodGhpcykpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlRoZSBzdHJlYW0gaXMgbm90IGluIGEgc3RhdGUgdGhhdCBwZXJtaXRzIGNsb3NlXCIpOyFmdW5jdGlvbihlKXtpZighRnQoZSkpcmV0dXJuO2NvbnN0IHQ9ZS5fY29udHJvbGxlZFJlYWRhYmxlU3RyZWFtO2UuX2Nsb3NlUmVxdWVzdGVkPSEwLDA9PT1lLl9xdWV1ZS5sZW5ndGgmJihqdChlKSxYdCh0KSl9KHRoaXMpfWVucXVldWUoZSl7aWYoIUJ0KHRoaXMpKXRocm93IER0KFwiZW5xdWV1ZVwiKTtpZighRnQodGhpcykpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlRoZSBzdHJlYW0gaXMgbm90IGluIGEgc3RhdGUgdGhhdCBwZXJtaXRzIGVucXVldWVcIik7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7aWYoIUZ0KGUpKXJldHVybjtjb25zdCByPWUuX2NvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbTtpZihVdChyKSYmWChyKT4wKUcocix0LCExKTtlbHNle2xldCByO3RyeXtyPWUuX3N0cmF0ZWd5U2l6ZUFsZ29yaXRobSh0KX1jYXRjaCh0KXt0aHJvdyB6dChlLHQpLHR9dHJ5e3VlKGUsdCxyKX1jYXRjaCh0KXt0aHJvdyB6dChlLHQpLHR9fUF0KGUpfSh0aGlzLGUpfWVycm9yKGUpe2lmKCFCdCh0aGlzKSl0aHJvdyBEdChcImVycm9yXCIpO3p0KHRoaXMsZSl9W1RdKGUpe2NlKHRoaXMpO2NvbnN0IHQ9dGhpcy5fY2FuY2VsQWxnb3JpdGhtKGUpO3JldHVybiBqdCh0aGlzKSx0fVtxXShlKXtjb25zdCB0PXRoaXMuX2NvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbTtpZih0aGlzLl9xdWV1ZS5sZW5ndGg+MCl7Y29uc3Qgcj1zZSh0aGlzKTt0aGlzLl9jbG9zZVJlcXVlc3RlZCYmMD09PXRoaXMuX3F1ZXVlLmxlbmd0aD8oanQodGhpcyksWHQodCkpOkF0KHRoaXMpLGUuX2NodW5rU3RlcHMocil9ZWxzZSBVKHQsZSksQXQodGhpcyl9W0NdKCl7fX1mdW5jdGlvbiBCdChlKXtyZXR1cm4hIXIoZSkmJighIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLFwiX2NvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbVwiKSYmZSBpbnN0YW5jZW9mIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIpfWZ1bmN0aW9uIEF0KGUpe2NvbnN0IHQ9ZnVuY3Rpb24oZSl7Y29uc3QgdD1lLl9jb250cm9sbGVkUmVhZGFibGVTdHJlYW07aWYoIUZ0KGUpKXJldHVybiExO2lmKCFlLl9zdGFydGVkKXJldHVybiExO2lmKFV0KHQpJiZYKHQpPjApcmV0dXJuITA7aWYoTHQoZSk+MClyZXR1cm4hMDtyZXR1cm4hMX0oZSk7aWYoIXQpcmV0dXJuO2lmKGUuX3B1bGxpbmcpcmV0dXJuIHZvaWQoZS5fcHVsbEFnYWluPSEwKTtlLl9wdWxsaW5nPSEwO2IoZS5fcHVsbEFsZ29yaXRobSgpLCgoKT0+KGUuX3B1bGxpbmc9ITEsZS5fcHVsbEFnYWluJiYoZS5fcHVsbEFnYWluPSExLEF0KGUpKSxudWxsKSksKHQ9Pih6dChlLHQpLG51bGwpKSl9ZnVuY3Rpb24ganQoZSl7ZS5fcHVsbEFsZ29yaXRobT12b2lkIDAsZS5fY2FuY2VsQWxnb3JpdGhtPXZvaWQgMCxlLl9zdHJhdGVneVNpemVBbGdvcml0aG09dm9pZCAwfWZ1bmN0aW9uIHp0KGUsdCl7Y29uc3Qgcj1lLl9jb250cm9sbGVkUmVhZGFibGVTdHJlYW07XCJyZWFkYWJsZVwiPT09ci5fc3RhdGUmJihjZShlKSxqdChlKSxKdChyLHQpKX1mdW5jdGlvbiBMdChlKXtjb25zdCB0PWUuX2NvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbS5fc3RhdGU7cmV0dXJuXCJlcnJvcmVkXCI9PT10P251bGw6XCJjbG9zZWRcIj09PXQ/MDplLl9zdHJhdGVneUhXTS1lLl9xdWV1ZVRvdGFsU2l6ZX1mdW5jdGlvbiBGdChlKXtyZXR1cm4hZS5fY2xvc2VSZXF1ZXN0ZWQmJlwicmVhZGFibGVcIj09PWUuX2NvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbS5fc3RhdGV9ZnVuY3Rpb24gSXQoZSx0LHIsbyl7Y29uc3Qgbj1PYmplY3QuY3JlYXRlKFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIucHJvdG90eXBlKTtsZXQgYSxpLGw7YT12b2lkIDAhPT10LnN0YXJ0PygpPT50LnN0YXJ0KG4pOigpPT57fSxpPXZvaWQgMCE9PXQucHVsbD8oKT0+dC5wdWxsKG4pOigpPT5jKHZvaWQgMCksbD12b2lkIDAhPT10LmNhbmNlbD9lPT50LmNhbmNlbChlKTooKT0+Yyh2b2lkIDApLGZ1bmN0aW9uKGUsdCxyLG8sbixhLGkpe3QuX2NvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbT1lLHQuX3F1ZXVlPXZvaWQgMCx0Ll9xdWV1ZVRvdGFsU2l6ZT12b2lkIDAsY2UodCksdC5fc3RhcnRlZD0hMSx0Ll9jbG9zZVJlcXVlc3RlZD0hMSx0Ll9wdWxsQWdhaW49ITEsdC5fcHVsbGluZz0hMSx0Ll9zdHJhdGVneVNpemVBbGdvcml0aG09aSx0Ll9zdHJhdGVneUhXTT1hLHQuX3B1bGxBbGdvcml0aG09byx0Ll9jYW5jZWxBbGdvcml0aG09bixlLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXI9dCxiKGMocigpKSwoKCk9Pih0Ll9zdGFydGVkPSEwLEF0KHQpLG51bGwpKSwoZT0+KHp0KHQsZSksbnVsbCkpKX0oZSxuLGEsaSxsLHIsbyl9ZnVuY3Rpb24gRHQoZSl7cmV0dXJuIG5ldyBUeXBlRXJyb3IoYFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIucHJvdG90eXBlLiR7ZX0gY2FuIG9ubHkgYmUgdXNlZCBvbiBhIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJgKX1mdW5jdGlvbiAkdChlLHQscil7cmV0dXJuIEkoZSxyKSxyPT53KGUsdCxbcl0pfWZ1bmN0aW9uIE10KGUsdCxyKXtyZXR1cm4gSShlLHIpLHI9PncoZSx0LFtyXSl9ZnVuY3Rpb24gWXQoZSx0LHIpe3JldHVybiBJKGUscikscj0+ZyhlLHQsW3JdKX1mdW5jdGlvbiBRdChlLHQpe2lmKFwiYnl0ZXNcIiE9PShlPWAke2V9YCkpdGhyb3cgbmV3IFR5cGVFcnJvcihgJHt0fSAnJHtlfScgaXMgbm90IGEgdmFsaWQgZW51bWVyYXRpb24gdmFsdWUgZm9yIFJlYWRhYmxlU3RyZWFtVHlwZWApO3JldHVybiBlfWZ1bmN0aW9uIE50KGUsdCl7aWYoXCJieW9iXCIhPT0oZT1gJHtlfWApKXRocm93IG5ldyBUeXBlRXJyb3IoYCR7dH0gJyR7ZX0nIGlzIG5vdCBhIHZhbGlkIGVudW1lcmF0aW9uIHZhbHVlIGZvciBSZWFkYWJsZVN0cmVhbVJlYWRlck1vZGVgKTtyZXR1cm4gZX1mdW5jdGlvbiBIdChlLHQpe0YoZSx0KTtjb25zdCByPW51bGw9PWU/dm9pZCAwOmUucHJldmVudEFib3J0LG89bnVsbD09ZT92b2lkIDA6ZS5wcmV2ZW50Q2FuY2VsLG49bnVsbD09ZT92b2lkIDA6ZS5wcmV2ZW50Q2xvc2UsYT1udWxsPT1lP3ZvaWQgMDplLnNpZ25hbDtyZXR1cm4gdm9pZCAwIT09YSYmZnVuY3Rpb24oZSx0KXtpZighZnVuY3Rpb24oZSl7aWYoXCJvYmplY3RcIiE9dHlwZW9mIGV8fG51bGw9PT1lKXJldHVybiExO3RyeXtyZXR1cm5cImJvb2xlYW5cIj09dHlwZW9mIGUuYWJvcnRlZH1jYXRjaChlKXtyZXR1cm4hMX19KGUpKXRocm93IG5ldyBUeXBlRXJyb3IoYCR7dH0gaXMgbm90IGFuIEFib3J0U2lnbmFsLmApfShhLGAke3R9IGhhcyBtZW1iZXIgJ3NpZ25hbCcgdGhhdGApLHtwcmV2ZW50QWJvcnQ6Qm9vbGVhbihyKSxwcmV2ZW50Q2FuY2VsOkJvb2xlYW4obykscHJldmVudENsb3NlOkJvb2xlYW4obiksc2lnbmFsOmF9fWZ1bmN0aW9uIHh0KGUsdCl7RihlLHQpO2NvbnN0IHI9bnVsbD09ZT92b2lkIDA6ZS5yZWFkYWJsZTtNKHIsXCJyZWFkYWJsZVwiLFwiUmVhZGFibGVXcml0YWJsZVBhaXJcIiksZnVuY3Rpb24oZSx0KXtpZighSChlKSl0aHJvdyBuZXcgVHlwZUVycm9yKGAke3R9IGlzIG5vdCBhIFJlYWRhYmxlU3RyZWFtLmApfShyLGAke3R9IGhhcyBtZW1iZXIgJ3JlYWRhYmxlJyB0aGF0YCk7Y29uc3Qgbz1udWxsPT1lP3ZvaWQgMDplLndyaXRhYmxlO3JldHVybiBNKG8sXCJ3cml0YWJsZVwiLFwiUmVhZGFibGVXcml0YWJsZVBhaXJcIiksZnVuY3Rpb24oZSx0KXtpZigheChlKSl0aHJvdyBuZXcgVHlwZUVycm9yKGAke3R9IGlzIG5vdCBhIFdyaXRhYmxlU3RyZWFtLmApfShvLGAke3R9IGhhcyBtZW1iZXIgJ3dyaXRhYmxlJyB0aGF0YCkse3JlYWRhYmxlOnIsd3JpdGFibGU6b319T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUse2Nsb3NlOntlbnVtZXJhYmxlOiEwfSxlbnF1ZXVlOntlbnVtZXJhYmxlOiEwfSxlcnJvcjp7ZW51bWVyYWJsZTohMH0sZGVzaXJlZFNpemU6e2VudW1lcmFibGU6ITB9fSksbihSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZS5jbG9zZSxcImNsb3NlXCIpLG4oUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUuZW5xdWV1ZSxcImVucXVldWVcIiksbihSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZS5lcnJvcixcImVycm9yXCIpLFwic3ltYm9sXCI9PXR5cGVvZiBlLnRvU3RyaW5nVGFnJiZPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUsZS50b1N0cmluZ1RhZyx7dmFsdWU6XCJSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyXCIsY29uZmlndXJhYmxlOiEwfSk7Y2xhc3MgUmVhZGFibGVTdHJlYW17Y29uc3RydWN0b3IoZT17fSx0PXt9KXt2b2lkIDA9PT1lP2U9bnVsbDpEKGUsXCJGaXJzdCBwYXJhbWV0ZXJcIik7Y29uc3Qgcj1ZZSh0LFwiU2Vjb25kIHBhcmFtZXRlclwiKSxvPWZ1bmN0aW9uKGUsdCl7RihlLHQpO2NvbnN0IHI9ZSxvPW51bGw9PXI/dm9pZCAwOnIuYXV0b0FsbG9jYXRlQ2h1bmtTaXplLG49bnVsbD09cj92b2lkIDA6ci5jYW5jZWwsYT1udWxsPT1yP3ZvaWQgMDpyLnB1bGwsaT1udWxsPT1yP3ZvaWQgMDpyLnN0YXJ0LGw9bnVsbD09cj92b2lkIDA6ci50eXBlO3JldHVybnthdXRvQWxsb2NhdGVDaHVua1NpemU6dm9pZCAwPT09bz92b2lkIDA6TihvLGAke3R9IGhhcyBtZW1iZXIgJ2F1dG9BbGxvY2F0ZUNodW5rU2l6ZScgdGhhdGApLGNhbmNlbDp2b2lkIDA9PT1uP3ZvaWQgMDokdChuLHIsYCR7dH0gaGFzIG1lbWJlciAnY2FuY2VsJyB0aGF0YCkscHVsbDp2b2lkIDA9PT1hP3ZvaWQgMDpNdChhLHIsYCR7dH0gaGFzIG1lbWJlciAncHVsbCcgdGhhdGApLHN0YXJ0OnZvaWQgMD09PWk/dm9pZCAwOll0KGkscixgJHt0fSBoYXMgbWVtYmVyICdzdGFydCcgdGhhdGApLHR5cGU6dm9pZCAwPT09bD92b2lkIDA6UXQobCxgJHt0fSBoYXMgbWVtYmVyICd0eXBlJyB0aGF0YCl9fShlLFwiRmlyc3QgcGFyYW1ldGVyXCIpO3ZhciBuO2lmKChuPXRoaXMpLl9zdGF0ZT1cInJlYWRhYmxlXCIsbi5fcmVhZGVyPXZvaWQgMCxuLl9zdG9yZWRFcnJvcj12b2lkIDAsbi5fZGlzdHVyYmVkPSExLFwiYnl0ZXNcIj09PW8udHlwZSl7aWYodm9pZCAwIT09ci5zaXplKXRocm93IG5ldyBSYW5nZUVycm9yKFwiVGhlIHN0cmF0ZWd5IGZvciBhIGJ5dGUgc3RyZWFtIGNhbm5vdCBoYXZlIGEgc2l6ZSBmdW5jdGlvblwiKTtPZSh0aGlzLG8sJGUociwwKSl9ZWxzZXtjb25zdCBlPU1lKHIpO0l0KHRoaXMsbywkZShyLDEpLGUpfX1nZXQgbG9ja2VkKCl7aWYoIVZ0KHRoaXMpKXRocm93IEt0KFwibG9ja2VkXCIpO3JldHVybiBVdCh0aGlzKX1jYW5jZWwoZSl7cmV0dXJuIFZ0KHRoaXMpP1V0KHRoaXMpP2QobmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYW5jZWwgYSBzdHJlYW0gdGhhdCBhbHJlYWR5IGhhcyBhIHJlYWRlclwiKSk6R3QodGhpcyxlKTpkKEt0KFwiY2FuY2VsXCIpKX1nZXRSZWFkZXIoZSl7aWYoIVZ0KHRoaXMpKXRocm93IEt0KFwiZ2V0UmVhZGVyXCIpO3JldHVybiB2b2lkIDA9PT1mdW5jdGlvbihlLHQpe0YoZSx0KTtjb25zdCByPW51bGw9PWU/dm9pZCAwOmUubW9kZTtyZXR1cm57bW9kZTp2b2lkIDA9PT1yP3ZvaWQgMDpOdChyLGAke3R9IGhhcyBtZW1iZXIgJ21vZGUnIHRoYXRgKX19KGUsXCJGaXJzdCBwYXJhbWV0ZXJcIikubW9kZT9uZXcgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyKHRoaXMpOmZ1bmN0aW9uKGUpe3JldHVybiBuZXcgUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyKGUpfSh0aGlzKX1waXBlVGhyb3VnaChlLHQ9e30pe2lmKCFIKHRoaXMpKXRocm93IEt0KFwicGlwZVRocm91Z2hcIik7JChlLDEsXCJwaXBlVGhyb3VnaFwiKTtjb25zdCByPXh0KGUsXCJGaXJzdCBwYXJhbWV0ZXJcIiksbz1IdCh0LFwiU2Vjb25kIHBhcmFtZXRlclwiKTtpZih0aGlzLmxvY2tlZCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiUmVhZGFibGVTdHJlYW0ucHJvdG90eXBlLnBpcGVUaHJvdWdoIGNhbm5vdCBiZSB1c2VkIG9uIGEgbG9ja2VkIFJlYWRhYmxlU3RyZWFtXCIpO2lmKHIud3JpdGFibGUubG9ja2VkKXRocm93IG5ldyBUeXBlRXJyb3IoXCJSZWFkYWJsZVN0cmVhbS5wcm90b3R5cGUucGlwZVRocm91Z2ggY2Fubm90IGJlIHVzZWQgb24gYSBsb2NrZWQgV3JpdGFibGVTdHJlYW1cIik7cmV0dXJuIG0oa3QodGhpcyxyLndyaXRhYmxlLG8ucHJldmVudENsb3NlLG8ucHJldmVudEFib3J0LG8ucHJldmVudENhbmNlbCxvLnNpZ25hbCkpLHIucmVhZGFibGV9cGlwZVRvKGUsdD17fSl7aWYoIUgodGhpcykpcmV0dXJuIGQoS3QoXCJwaXBlVG9cIikpO2lmKHZvaWQgMD09PWUpcmV0dXJuIGQoXCJQYXJhbWV0ZXIgMSBpcyByZXF1aXJlZCBpbiAncGlwZVRvJy5cIik7aWYoIXgoZSkpcmV0dXJuIGQobmV3IFR5cGVFcnJvcihcIlJlYWRhYmxlU3RyZWFtLnByb3RvdHlwZS5waXBlVG8ncyBmaXJzdCBhcmd1bWVudCBtdXN0IGJlIGEgV3JpdGFibGVTdHJlYW1cIikpO2xldCByO3RyeXtyPUh0KHQsXCJTZWNvbmQgcGFyYW1ldGVyXCIpfWNhdGNoKGUpe3JldHVybiBkKGUpfXJldHVybiB0aGlzLmxvY2tlZD9kKG5ldyBUeXBlRXJyb3IoXCJSZWFkYWJsZVN0cmVhbS5wcm90b3R5cGUucGlwZVRvIGNhbm5vdCBiZSB1c2VkIG9uIGEgbG9ja2VkIFJlYWRhYmxlU3RyZWFtXCIpKTplLmxvY2tlZD9kKG5ldyBUeXBlRXJyb3IoXCJSZWFkYWJsZVN0cmVhbS5wcm90b3R5cGUucGlwZVRvIGNhbm5vdCBiZSB1c2VkIG9uIGEgbG9ja2VkIFdyaXRhYmxlU3RyZWFtXCIpKTprdCh0aGlzLGUsci5wcmV2ZW50Q2xvc2Usci5wcmV2ZW50QWJvcnQsci5wcmV2ZW50Q2FuY2VsLHIuc2lnbmFsKX10ZWUoKXtpZighSCh0aGlzKSl0aHJvdyBLdChcInRlZVwiKTtpZih0aGlzLmxvY2tlZCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHRlZSBhIHN0cmVhbSB0aGF0IGFscmVhZHkgaGFzIGEgcmVhZGVyXCIpO3JldHVybiBPdCh0aGlzKX12YWx1ZXMoZSl7aWYoIUgodGhpcykpdGhyb3cgS3QoXCJ2YWx1ZXNcIik7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7Y29uc3Qgcj1lLmdldFJlYWRlcigpLG89bmV3IHRlKHIsdCksbj1PYmplY3QuY3JlYXRlKHJlKTtyZXR1cm4gbi5fYXN5bmNJdGVyYXRvckltcGw9byxufSh0aGlzLGZ1bmN0aW9uKGUsdCl7RihlLHQpO2NvbnN0IHI9bnVsbD09ZT92b2lkIDA6ZS5wcmV2ZW50Q2FuY2VsO3JldHVybntwcmV2ZW50Q2FuY2VsOkJvb2xlYW4ocil9fShlLFwiRmlyc3QgcGFyYW1ldGVyXCIpLnByZXZlbnRDYW5jZWwpfX1mdW5jdGlvbiBWdChlKXtyZXR1cm4hIXIoZSkmJighIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLFwiX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlclwiKSYmZSBpbnN0YW5jZW9mIFJlYWRhYmxlU3RyZWFtKX1mdW5jdGlvbiBVdChlKXtyZXR1cm4gdm9pZCAwIT09ZS5fcmVhZGVyfWZ1bmN0aW9uIEd0KGUscil7aWYoZS5fZGlzdHVyYmVkPSEwLFwiY2xvc2VkXCI9PT1lLl9zdGF0ZSlyZXR1cm4gYyh2b2lkIDApO2lmKFwiZXJyb3JlZFwiPT09ZS5fc3RhdGUpcmV0dXJuIGQoZS5fc3RvcmVkRXJyb3IpO1h0KGUpO2NvbnN0IG89ZS5fcmVhZGVyO2lmKHZvaWQgMCE9PW8mJkZlKG8pKXtjb25zdCBlPW8uX3JlYWRJbnRvUmVxdWVzdHM7by5fcmVhZEludG9SZXF1ZXN0cz1uZXcgUyxlLmZvckVhY2goKGU9PntlLl9jbG9zZVN0ZXBzKHZvaWQgMCl9KSl9cmV0dXJuIHAoZS5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyW1RdKHIpLHQpfWZ1bmN0aW9uIFh0KGUpe2UuX3N0YXRlPVwiY2xvc2VkXCI7Y29uc3QgdD1lLl9yZWFkZXI7aWYodm9pZCAwIT09dCYmKGoodCksSyh0KSkpe2NvbnN0IGU9dC5fcmVhZFJlcXVlc3RzO3QuX3JlYWRSZXF1ZXN0cz1uZXcgUyxlLmZvckVhY2goKGU9PntlLl9jbG9zZVN0ZXBzKCl9KSl9fWZ1bmN0aW9uIEp0KGUsdCl7ZS5fc3RhdGU9XCJlcnJvcmVkXCIsZS5fc3RvcmVkRXJyb3I9dDtjb25zdCByPWUuX3JlYWRlcjt2b2lkIDAhPT1yJiYoQShyLHQpLEsocik/WihyLHQpOkllKHIsdCkpfWZ1bmN0aW9uIEt0KGUpe3JldHVybiBuZXcgVHlwZUVycm9yKGBSZWFkYWJsZVN0cmVhbS5wcm90b3R5cGUuJHtlfSBjYW4gb25seSBiZSB1c2VkIG9uIGEgUmVhZGFibGVTdHJlYW1gKX1mdW5jdGlvbiBadChlLHQpe0YoZSx0KTtjb25zdCByPW51bGw9PWU/dm9pZCAwOmUuaGlnaFdhdGVyTWFyaztyZXR1cm4gTShyLFwiaGlnaFdhdGVyTWFya1wiLFwiUXVldWluZ1N0cmF0ZWd5SW5pdFwiKSx7aGlnaFdhdGVyTWFyazpZKHIpfX1PYmplY3QuZGVmaW5lUHJvcGVydGllcyhSZWFkYWJsZVN0cmVhbS5wcm90b3R5cGUse2NhbmNlbDp7ZW51bWVyYWJsZTohMH0sZ2V0UmVhZGVyOntlbnVtZXJhYmxlOiEwfSxwaXBlVGhyb3VnaDp7ZW51bWVyYWJsZTohMH0scGlwZVRvOntlbnVtZXJhYmxlOiEwfSx0ZWU6e2VudW1lcmFibGU6ITB9LHZhbHVlczp7ZW51bWVyYWJsZTohMH0sbG9ja2VkOntlbnVtZXJhYmxlOiEwfX0pLG4oUmVhZGFibGVTdHJlYW0ucHJvdG90eXBlLmNhbmNlbCxcImNhbmNlbFwiKSxuKFJlYWRhYmxlU3RyZWFtLnByb3RvdHlwZS5nZXRSZWFkZXIsXCJnZXRSZWFkZXJcIiksbihSZWFkYWJsZVN0cmVhbS5wcm90b3R5cGUucGlwZVRocm91Z2gsXCJwaXBlVGhyb3VnaFwiKSxuKFJlYWRhYmxlU3RyZWFtLnByb3RvdHlwZS5waXBlVG8sXCJwaXBlVG9cIiksbihSZWFkYWJsZVN0cmVhbS5wcm90b3R5cGUudGVlLFwidGVlXCIpLG4oUmVhZGFibGVTdHJlYW0ucHJvdG90eXBlLnZhbHVlcyxcInZhbHVlc1wiKSxcInN5bWJvbFwiPT10eXBlb2YgZS50b1N0cmluZ1RhZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlU3RyZWFtLnByb3RvdHlwZSxlLnRvU3RyaW5nVGFnLHt2YWx1ZTpcIlJlYWRhYmxlU3RyZWFtXCIsY29uZmlndXJhYmxlOiEwfSksXCJzeW1ib2xcIj09dHlwZW9mIGUuYXN5bmNJdGVyYXRvciYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlU3RyZWFtLnByb3RvdHlwZSxlLmFzeW5jSXRlcmF0b3Ise3ZhbHVlOlJlYWRhYmxlU3RyZWFtLnByb3RvdHlwZS52YWx1ZXMsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfSk7Y29uc3QgZXI9ZT0+ZS5ieXRlTGVuZ3RoO24oZXIsXCJzaXplXCIpO2NsYXNzIEJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3l7Y29uc3RydWN0b3IoZSl7JChlLDEsXCJCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5XCIpLGU9WnQoZSxcIkZpcnN0IHBhcmFtZXRlclwiKSx0aGlzLl9ieXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5SGlnaFdhdGVyTWFyaz1lLmhpZ2hXYXRlck1hcmt9Z2V0IGhpZ2hXYXRlck1hcmsoKXtpZighcnIodGhpcykpdGhyb3cgdHIoXCJoaWdoV2F0ZXJNYXJrXCIpO3JldHVybiB0aGlzLl9ieXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5SGlnaFdhdGVyTWFya31nZXQgc2l6ZSgpe2lmKCFycih0aGlzKSl0aHJvdyB0cihcInNpemVcIik7cmV0dXJuIGVyfX1mdW5jdGlvbiB0cihlKXtyZXR1cm4gbmV3IFR5cGVFcnJvcihgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5wcm90b3R5cGUuJHtlfSBjYW4gb25seSBiZSB1c2VkIG9uIGEgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneWApfWZ1bmN0aW9uIHJyKGUpe3JldHVybiEhcihlKSYmKCEhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsXCJfYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUhpZ2hXYXRlck1hcmtcIikmJmUgaW5zdGFuY2VvZiBCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5KX1PYmplY3QuZGVmaW5lUHJvcGVydGllcyhCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LnByb3RvdHlwZSx7aGlnaFdhdGVyTWFyazp7ZW51bWVyYWJsZTohMH0sc2l6ZTp7ZW51bWVyYWJsZTohMH19KSxcInN5bWJvbFwiPT10eXBlb2YgZS50b1N0cmluZ1RhZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KEJ5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kucHJvdG90eXBlLGUudG9TdHJpbmdUYWcse3ZhbHVlOlwiQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneVwiLGNvbmZpZ3VyYWJsZTohMH0pO2NvbnN0IG9yPSgpPT4xO24ob3IsXCJzaXplXCIpO2NsYXNzIENvdW50UXVldWluZ1N0cmF0ZWd5e2NvbnN0cnVjdG9yKGUpeyQoZSwxLFwiQ291bnRRdWV1aW5nU3RyYXRlZ3lcIiksZT1adChlLFwiRmlyc3QgcGFyYW1ldGVyXCIpLHRoaXMuX2NvdW50UXVldWluZ1N0cmF0ZWd5SGlnaFdhdGVyTWFyaz1lLmhpZ2hXYXRlck1hcmt9Z2V0IGhpZ2hXYXRlck1hcmsoKXtpZighYXIodGhpcykpdGhyb3cgbnIoXCJoaWdoV2F0ZXJNYXJrXCIpO3JldHVybiB0aGlzLl9jb3VudFF1ZXVpbmdTdHJhdGVneUhpZ2hXYXRlck1hcmt9Z2V0IHNpemUoKXtpZighYXIodGhpcykpdGhyb3cgbnIoXCJzaXplXCIpO3JldHVybiBvcn19ZnVuY3Rpb24gbnIoZSl7cmV0dXJuIG5ldyBUeXBlRXJyb3IoYENvdW50UXVldWluZ1N0cmF0ZWd5LnByb3RvdHlwZS4ke2V9IGNhbiBvbmx5IGJlIHVzZWQgb24gYSBDb3VudFF1ZXVpbmdTdHJhdGVneWApfWZ1bmN0aW9uIGFyKGUpe3JldHVybiEhcihlKSYmKCEhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsXCJfY291bnRRdWV1aW5nU3RyYXRlZ3lIaWdoV2F0ZXJNYXJrXCIpJiZlIGluc3RhbmNlb2YgQ291bnRRdWV1aW5nU3RyYXRlZ3kpfWZ1bmN0aW9uIGlyKGUsdCxyKXtyZXR1cm4gSShlLHIpLHI9PncoZSx0LFtyXSl9ZnVuY3Rpb24gbHIoZSx0LHIpe3JldHVybiBJKGUscikscj0+ZyhlLHQsW3JdKX1mdW5jdGlvbiBzcihlLHQscil7cmV0dXJuIEkoZSxyKSwocixvKT0+dyhlLHQsW3Isb10pfU9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKENvdW50UXVldWluZ1N0cmF0ZWd5LnByb3RvdHlwZSx7aGlnaFdhdGVyTWFyazp7ZW51bWVyYWJsZTohMH0sc2l6ZTp7ZW51bWVyYWJsZTohMH19KSxcInN5bWJvbFwiPT10eXBlb2YgZS50b1N0cmluZ1RhZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KENvdW50UXVldWluZ1N0cmF0ZWd5LnByb3RvdHlwZSxlLnRvU3RyaW5nVGFnLHt2YWx1ZTpcIkNvdW50UXVldWluZ1N0cmF0ZWd5XCIsY29uZmlndXJhYmxlOiEwfSk7Y2xhc3MgVHJhbnNmb3JtU3RyZWFte2NvbnN0cnVjdG9yKGU9e30sdD17fSxyPXt9KXt2b2lkIDA9PT1lJiYoZT1udWxsKTtjb25zdCBvPVllKHQsXCJTZWNvbmQgcGFyYW1ldGVyXCIpLG49WWUocixcIlRoaXJkIHBhcmFtZXRlclwiKSxhPWZ1bmN0aW9uKGUsdCl7RihlLHQpO2NvbnN0IHI9bnVsbD09ZT92b2lkIDA6ZS5mbHVzaCxvPW51bGw9PWU/dm9pZCAwOmUucmVhZGFibGVUeXBlLG49bnVsbD09ZT92b2lkIDA6ZS5zdGFydCxhPW51bGw9PWU/dm9pZCAwOmUudHJhbnNmb3JtLGk9bnVsbD09ZT92b2lkIDA6ZS53cml0YWJsZVR5cGU7cmV0dXJue2ZsdXNoOnZvaWQgMD09PXI/dm9pZCAwOmlyKHIsZSxgJHt0fSBoYXMgbWVtYmVyICdmbHVzaCcgdGhhdGApLHJlYWRhYmxlVHlwZTpvLHN0YXJ0OnZvaWQgMD09PW4/dm9pZCAwOmxyKG4sZSxgJHt0fSBoYXMgbWVtYmVyICdzdGFydCcgdGhhdGApLHRyYW5zZm9ybTp2b2lkIDA9PT1hP3ZvaWQgMDpzcihhLGUsYCR7dH0gaGFzIG1lbWJlciAndHJhbnNmb3JtJyB0aGF0YCksd3JpdGFibGVUeXBlOml9fShlLFwiRmlyc3QgcGFyYW1ldGVyXCIpO2lmKHZvaWQgMCE9PWEucmVhZGFibGVUeXBlKXRocm93IG5ldyBSYW5nZUVycm9yKFwiSW52YWxpZCByZWFkYWJsZVR5cGUgc3BlY2lmaWVkXCIpO2lmKHZvaWQgMCE9PWEud3JpdGFibGVUeXBlKXRocm93IG5ldyBSYW5nZUVycm9yKFwiSW52YWxpZCB3cml0YWJsZVR5cGUgc3BlY2lmaWVkXCIpO2NvbnN0IGk9JGUobiwwKSxsPU1lKG4pLHM9JGUobywxKSxmPU1lKG8pO2xldCBiOyFmdW5jdGlvbihlLHQscixvLG4sYSl7ZnVuY3Rpb24gaSgpe3JldHVybiB0fWZ1bmN0aW9uIGwodCl7cmV0dXJuIGZ1bmN0aW9uKGUsdCl7Y29uc3Qgcj1lLl90cmFuc2Zvcm1TdHJlYW1Db250cm9sbGVyO2lmKGUuX2JhY2twcmVzc3VyZSl7cmV0dXJuIHAoZS5fYmFja3ByZXNzdXJlQ2hhbmdlUHJvbWlzZSwoKCk9PntpZihcImVycm9yaW5nXCI9PT0oR2UoZS5fd3JpdGFibGUpP2UuX3dyaXRhYmxlLl9zdGF0ZTplLl93cml0YWJsZVN0YXRlKSl0aHJvdyBHZShlLl93cml0YWJsZSk/ZS5fd3JpdGFibGUuX3N0b3JlZEVycm9yOmUuX3dyaXRhYmxlU3RvcmVkRXJyb3I7cmV0dXJuIHByKHIsdCl9KSl9cmV0dXJuIHByKHIsdCl9KGUsdCl9ZnVuY3Rpb24gcyh0KXtyZXR1cm4gZnVuY3Rpb24oZSx0KXtyZXR1cm4gY3IoZSx0KSxjKHZvaWQgMCl9KGUsdCl9ZnVuY3Rpb24gdSgpe3JldHVybiBmdW5jdGlvbihlKXtjb25zdCB0PWUuX3RyYW5zZm9ybVN0cmVhbUNvbnRyb2xsZXIscj10Ll9mbHVzaEFsZ29yaXRobSgpO3JldHVybiBocih0KSxwKHIsKCgpPT57aWYoXCJlcnJvcmVkXCI9PT1lLl9yZWFkYWJsZVN0YXRlKXRocm93IGUuX3JlYWRhYmxlU3RvcmVkRXJyb3I7Z3IoZSkmJndyKGUpfSksKHQ9Pnt0aHJvdyBjcihlLHQpLGUuX3JlYWRhYmxlU3RvcmVkRXJyb3J9KSl9KGUpfWZ1bmN0aW9uIGQoKXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIGZyKGUsITEpLGUuX2JhY2twcmVzc3VyZUNoYW5nZVByb21pc2V9KGUpfWZ1bmN0aW9uIGYodCl7cmV0dXJuIGRyKGUsdCksYyh2b2lkIDApfWUuX3dyaXRhYmxlU3RhdGU9XCJ3cml0YWJsZVwiLGUuX3dyaXRhYmxlU3RvcmVkRXJyb3I9dm9pZCAwLGUuX3dyaXRhYmxlSGFzSW5GbGlnaHRPcGVyYXRpb249ITEsZS5fd3JpdGFibGVTdGFydGVkPSExLGUuX3dyaXRhYmxlPWZ1bmN0aW9uKGUsdCxyLG8sbixhLGkpe3JldHVybiBuZXcgV3JpdGFibGVTdHJlYW0oe3N0YXJ0KHIpe2UuX3dyaXRhYmxlQ29udHJvbGxlcj1yO3RyeXtjb25zdCB0PXIuc2lnbmFsO3ZvaWQgMCE9PXQmJnQuYWRkRXZlbnRMaXN0ZW5lcihcImFib3J0XCIsKCgpPT57XCJ3cml0YWJsZVwiPT09ZS5fd3JpdGFibGVTdGF0ZSYmKGUuX3dyaXRhYmxlU3RhdGU9XCJlcnJvcmluZ1wiLHQucmVhc29uJiYoZS5fd3JpdGFibGVTdG9yZWRFcnJvcj10LnJlYXNvbikpfSkpfWNhdGNoKGUpe31yZXR1cm4gcCh0KCksKCgpPT4oZS5fd3JpdGFibGVTdGFydGVkPSEwLENyKGUpLG51bGwpKSwodD0+e3Rocm93IGUuX3dyaXRhYmxlU3RhcnRlZD0hMCxScihlLHQpLHR9KSl9LHdyaXRlOnQ9PihmdW5jdGlvbihlKXtlLl93cml0YWJsZUhhc0luRmxpZ2h0T3BlcmF0aW9uPSEwfShlKSxwKHIodCksKCgpPT4oZnVuY3Rpb24oZSl7ZS5fd3JpdGFibGVIYXNJbkZsaWdodE9wZXJhdGlvbj0hMX0oZSksQ3IoZSksbnVsbCkpLCh0PT57dGhyb3cgZnVuY3Rpb24oZSx0KXtlLl93cml0YWJsZUhhc0luRmxpZ2h0T3BlcmF0aW9uPSExLFJyKGUsdCl9KGUsdCksdH0pKSksY2xvc2U6KCk9PihmdW5jdGlvbihlKXtlLl93cml0YWJsZUhhc0luRmxpZ2h0T3BlcmF0aW9uPSEwfShlKSxwKG8oKSwoKCk9PihmdW5jdGlvbihlKXtlLl93cml0YWJsZUhhc0luRmxpZ2h0T3BlcmF0aW9uPSExO1wiZXJyb3JpbmdcIj09PWUuX3dyaXRhYmxlU3RhdGUmJihlLl93cml0YWJsZVN0b3JlZEVycm9yPXZvaWQgMCk7ZS5fd3JpdGFibGVTdGF0ZT1cImNsb3NlZFwifShlKSxudWxsKSksKHQ9Pnt0aHJvdyBmdW5jdGlvbihlLHQpe2UuX3dyaXRhYmxlSGFzSW5GbGlnaHRPcGVyYXRpb249ITEsZS5fd3JpdGFibGVTdGF0ZSxScihlLHQpfShlLHQpLHR9KSkpLGFib3J0OnQ9PihlLl93cml0YWJsZVN0YXRlPVwiZXJyb3JlZFwiLGUuX3dyaXRhYmxlU3RvcmVkRXJyb3I9dCxuKHQpKX0se2hpZ2hXYXRlck1hcms6YSxzaXplOml9KX0oZSxpLGwsdSxzLHIsbyksZS5fcmVhZGFibGVTdGF0ZT1cInJlYWRhYmxlXCIsZS5fcmVhZGFibGVTdG9yZWRFcnJvcj12b2lkIDAsZS5fcmVhZGFibGVDbG9zZVJlcXVlc3RlZD0hMSxlLl9yZWFkYWJsZVB1bGxpbmc9ITEsZS5fcmVhZGFibGU9ZnVuY3Rpb24oZSx0LHIsbyxuLGEpe3JldHVybiBuZXcgUmVhZGFibGVTdHJlYW0oe3N0YXJ0OnI9PihlLl9yZWFkYWJsZUNvbnRyb2xsZXI9cix0KCkuY2F0Y2goKHQ9PntTcihlLHQpfSkpKSxwdWxsOigpPT4oZS5fcmVhZGFibGVQdWxsaW5nPSEwLHIoKS5jYXRjaCgodD0+e1NyKGUsdCl9KSkpLGNhbmNlbDp0PT4oZS5fcmVhZGFibGVTdGF0ZT1cImNsb3NlZFwiLG8odCkpfSx7aGlnaFdhdGVyTWFyazpuLHNpemU6YX0pfShlLGksZCxmLG4sYSksZS5fYmFja3ByZXNzdXJlPXZvaWQgMCxlLl9iYWNrcHJlc3N1cmVDaGFuZ2VQcm9taXNlPXZvaWQgMCxlLl9iYWNrcHJlc3N1cmVDaGFuZ2VQcm9taXNlX3Jlc29sdmU9dm9pZCAwLGZyKGUsITApLGUuX3RyYW5zZm9ybVN0cmVhbUNvbnRyb2xsZXI9dm9pZCAwfSh0aGlzLHUoKGU9PntiPWV9KSkscyxmLGksbCksZnVuY3Rpb24oZSx0KXtjb25zdCByPU9iamVjdC5jcmVhdGUoVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIucHJvdG90eXBlKTtsZXQgbyxuO289dm9pZCAwIT09dC50cmFuc2Zvcm0/ZT0+dC50cmFuc2Zvcm0oZSxyKTplPT57dHJ5e3JldHVybiBfcihyLGUpLGModm9pZCAwKX1jYXRjaChlKXtyZXR1cm4gZChlKX19O249dm9pZCAwIT09dC5mbHVzaD8oKT0+dC5mbHVzaChyKTooKT0+Yyh2b2lkIDApOyFmdW5jdGlvbihlLHQscixvKXt0Ll9jb250cm9sbGVkVHJhbnNmb3JtU3RyZWFtPWUsZS5fdHJhbnNmb3JtU3RyZWFtQ29udHJvbGxlcj10LHQuX3RyYW5zZm9ybUFsZ29yaXRobT1yLHQuX2ZsdXNoQWxnb3JpdGhtPW99KGUscixvLG4pfSh0aGlzLGEpLHZvaWQgMCE9PWEuc3RhcnQ/YihhLnN0YXJ0KHRoaXMuX3RyYW5zZm9ybVN0cmVhbUNvbnRyb2xsZXIpKTpiKHZvaWQgMCl9Z2V0IHJlYWRhYmxlKCl7aWYoIXVyKHRoaXMpKXRocm93IHlyKFwicmVhZGFibGVcIik7cmV0dXJuIHRoaXMuX3JlYWRhYmxlfWdldCB3cml0YWJsZSgpe2lmKCF1cih0aGlzKSl0aHJvdyB5cihcIndyaXRhYmxlXCIpO3JldHVybiB0aGlzLl93cml0YWJsZX19ZnVuY3Rpb24gdXIoZSl7cmV0dXJuISFyKGUpJiYoISFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoZSxcIl90cmFuc2Zvcm1TdHJlYW1Db250cm9sbGVyXCIpJiZlIGluc3RhbmNlb2YgVHJhbnNmb3JtU3RyZWFtKX1mdW5jdGlvbiBjcihlLHQpe1NyKGUsdCksZHIoZSx0KX1mdW5jdGlvbiBkcihlLHQpe2hyKGUuX3RyYW5zZm9ybVN0cmVhbUNvbnRyb2xsZXIpLGZ1bmN0aW9uKGUsdCl7ZS5fd3JpdGFibGVDb250cm9sbGVyLmVycm9yKHQpO1wid3JpdGFibGVcIj09PWUuX3dyaXRhYmxlU3RhdGUmJlRyKGUsdCl9KGUsdCksZS5fYmFja3ByZXNzdXJlJiZmcihlLCExKX1mdW5jdGlvbiBmcihlLHQpe3ZvaWQgMCE9PWUuX2JhY2twcmVzc3VyZUNoYW5nZVByb21pc2UmJmUuX2JhY2twcmVzc3VyZUNoYW5nZVByb21pc2VfcmVzb2x2ZSgpLGUuX2JhY2twcmVzc3VyZUNoYW5nZVByb21pc2U9dSgodD0+e2UuX2JhY2twcmVzc3VyZUNoYW5nZVByb21pc2VfcmVzb2x2ZT10fSkpLGUuX2JhY2twcmVzc3VyZT10fU9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFRyYW5zZm9ybVN0cmVhbS5wcm90b3R5cGUse3JlYWRhYmxlOntlbnVtZXJhYmxlOiEwfSx3cml0YWJsZTp7ZW51bWVyYWJsZTohMH19KSxcInN5bWJvbFwiPT10eXBlb2YgZS50b1N0cmluZ1RhZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KFRyYW5zZm9ybVN0cmVhbS5wcm90b3R5cGUsZS50b1N0cmluZ1RhZyx7dmFsdWU6XCJUcmFuc2Zvcm1TdHJlYW1cIixjb25maWd1cmFibGU6ITB9KTtjbGFzcyBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlcntjb25zdHJ1Y3Rvcigpe3Rocm93IG5ldyBUeXBlRXJyb3IoXCJJbGxlZ2FsIGNvbnN0cnVjdG9yXCIpfWdldCBkZXNpcmVkU2l6ZSgpe2lmKCFicih0aGlzKSl0aHJvdyBtcihcImRlc2lyZWRTaXplXCIpO3JldHVybiB2cih0aGlzLl9jb250cm9sbGVkVHJhbnNmb3JtU3RyZWFtKX1lbnF1ZXVlKGUpe2lmKCFicih0aGlzKSl0aHJvdyBtcihcImVucXVldWVcIik7X3IodGhpcyxlKX1lcnJvcihlKXtpZighYnIodGhpcykpdGhyb3cgbXIoXCJlcnJvclwiKTt2YXIgdDt0PWUsY3IodGhpcy5fY29udHJvbGxlZFRyYW5zZm9ybVN0cmVhbSx0KX10ZXJtaW5hdGUoKXtpZighYnIodGhpcykpdGhyb3cgbXIoXCJ0ZXJtaW5hdGVcIik7IWZ1bmN0aW9uKGUpe2NvbnN0IHQ9ZS5fY29udHJvbGxlZFRyYW5zZm9ybVN0cmVhbTtncih0KSYmd3IodCk7Y29uc3Qgcj1uZXcgVHlwZUVycm9yKFwiVHJhbnNmb3JtU3RyZWFtIHRlcm1pbmF0ZWRcIik7ZHIodCxyKX0odGhpcyl9fWZ1bmN0aW9uIGJyKGUpe3JldHVybiEhcihlKSYmKCEhT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGUsXCJfY29udHJvbGxlZFRyYW5zZm9ybVN0cmVhbVwiKSYmZSBpbnN0YW5jZW9mIFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyKX1mdW5jdGlvbiBocihlKXtlLl90cmFuc2Zvcm1BbGdvcml0aG09dm9pZCAwLGUuX2ZsdXNoQWxnb3JpdGhtPXZvaWQgMH1mdW5jdGlvbiBfcihlLHQpe2NvbnN0IHI9ZS5fY29udHJvbGxlZFRyYW5zZm9ybVN0cmVhbTtpZighZ3IocikpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlJlYWRhYmxlIHNpZGUgaXMgbm90IGluIGEgc3RhdGUgdGhhdCBwZXJtaXRzIGVucXVldWVcIik7dHJ5eyFmdW5jdGlvbihlLHQpe2UuX3JlYWRhYmxlUHVsbGluZz0hMTt0cnl7ZS5fcmVhZGFibGVDb250cm9sbGVyLmVucXVldWUodCl9Y2F0Y2godCl7dGhyb3cgU3IoZSx0KSx0fX0ocix0KX1jYXRjaChlKXt0aHJvdyBkcihyLGUpLHIuX3JlYWRhYmxlU3RvcmVkRXJyb3J9Y29uc3Qgbz1mdW5jdGlvbihlKXtyZXR1cm4hZnVuY3Rpb24oZSl7aWYoIWdyKGUpKXJldHVybiExO2lmKGUuX3JlYWRhYmxlUHVsbGluZylyZXR1cm4hMDtpZih2cihlKT4wKXJldHVybiEwO3JldHVybiExfShlKX0ocik7byE9PXIuX2JhY2twcmVzc3VyZSYmZnIociwhMCl9ZnVuY3Rpb24gcHIoZSx0KXtyZXR1cm4gcChlLl90cmFuc2Zvcm1BbGdvcml0aG0odCksdm9pZCAwLCh0PT57dGhyb3cgY3IoZS5fY29udHJvbGxlZFRyYW5zZm9ybVN0cmVhbSx0KSx0fSkpfWZ1bmN0aW9uIG1yKGUpe3JldHVybiBuZXcgVHlwZUVycm9yKGBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUuJHtlfSBjYW4gb25seSBiZSB1c2VkIG9uIGEgVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJgKX1mdW5jdGlvbiB5cihlKXtyZXR1cm4gbmV3IFR5cGVFcnJvcihgVHJhbnNmb3JtU3RyZWFtLnByb3RvdHlwZS4ke2V9IGNhbiBvbmx5IGJlIHVzZWQgb24gYSBUcmFuc2Zvcm1TdHJlYW1gKX1mdW5jdGlvbiBncihlKXtyZXR1cm4hZS5fcmVhZGFibGVDbG9zZVJlcXVlc3RlZCYmXCJyZWFkYWJsZVwiPT09ZS5fcmVhZGFibGVTdGF0ZX1mdW5jdGlvbiB3cihlKXtlLl9yZWFkYWJsZVN0YXRlPVwiY2xvc2VkXCIsZS5fcmVhZGFibGVDbG9zZVJlcXVlc3RlZD0hMCxlLl9yZWFkYWJsZUNvbnRyb2xsZXIuY2xvc2UoKX1mdW5jdGlvbiBTcihlLHQpe1wicmVhZGFibGVcIj09PWUuX3JlYWRhYmxlU3RhdGUmJihlLl9yZWFkYWJsZVN0YXRlPVwiZXJyb3JlZFwiLGUuX3JlYWRhYmxlU3RvcmVkRXJyb3I9dCksZS5fcmVhZGFibGVDb250cm9sbGVyLmVycm9yKHQpfWZ1bmN0aW9uIHZyKGUpe3JldHVybiBlLl9yZWFkYWJsZUNvbnRyb2xsZXIuZGVzaXJlZFNpemV9ZnVuY3Rpb24gUnIoZSx0KXtcIndyaXRhYmxlXCIhPT1lLl93cml0YWJsZVN0YXRlP3FyKGUpOlRyKGUsdCl9ZnVuY3Rpb24gVHIoZSx0KXtlLl93cml0YWJsZVN0YXRlPVwiZXJyb3JpbmdcIixlLl93cml0YWJsZVN0b3JlZEVycm9yPXQsIWZ1bmN0aW9uKGUpe3JldHVybiBlLl93cml0YWJsZUhhc0luRmxpZ2h0T3BlcmF0aW9ufShlKSYmZS5fd3JpdGFibGVTdGFydGVkJiZxcihlKX1mdW5jdGlvbiBxcihlKXtlLl93cml0YWJsZVN0YXRlPVwiZXJyb3JlZFwifWZ1bmN0aW9uIENyKGUpe1wiZXJyb3JpbmdcIj09PWUuX3dyaXRhYmxlU3RhdGUmJnFyKGUpfU9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZSx7ZW5xdWV1ZTp7ZW51bWVyYWJsZTohMH0sZXJyb3I6e2VudW1lcmFibGU6ITB9LHRlcm1pbmF0ZTp7ZW51bWVyYWJsZTohMH0sZGVzaXJlZFNpemU6e2VudW1lcmFibGU6ITB9fSksbihUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUuZW5xdWV1ZSxcImVucXVldWVcIiksbihUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUuZXJyb3IsXCJlcnJvclwiKSxuKFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZS50ZXJtaW5hdGUsXCJ0ZXJtaW5hdGVcIiksXCJzeW1ib2xcIj09dHlwZW9mIGUudG9TdHJpbmdUYWcmJk9iamVjdC5kZWZpbmVQcm9wZXJ0eShUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUsZS50b1N0cmluZ1RhZyx7dmFsdWU6XCJUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlclwiLGNvbmZpZ3VyYWJsZTohMH0pO2V4cG9ydHtCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LENvdW50UXVldWluZ1N0cmF0ZWd5LFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIsUmVhZGFibGVTdHJlYW0sUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyLFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QsUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcixSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIsVHJhbnNmb3JtU3RyZWFtLFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyLFdyaXRhYmxlU3RyZWFtLFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIsV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyfTtcbiIsICJleHBvcnQgY29uc3QgaXNGdW5jdGlvbiA9ICh2YWx1ZSkgPT4gKHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiKTtcbiIsICIvKiEgQmFzZWQgb24gZmV0Y2gtYmxvYi4gTUlUIExpY2Vuc2UuIEppbW15IFdcdTAwRTRydGluZyA8aHR0cHM6Ly9qaW1teS53YXJ0aW5nLnNlL29wZW5zb3VyY2U+ICYgRGF2aWQgRnJhbmsgKi9cbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tIFwiLi9pc0Z1bmN0aW9uLmpzXCI7XG5jb25zdCBDSFVOS19TSVpFID0gNjU1MzY7XG5hc3luYyBmdW5jdGlvbiogY2xvbmVQYXJ0KHBhcnQpIHtcbiAgICBjb25zdCBlbmQgPSBwYXJ0LmJ5dGVPZmZzZXQgKyBwYXJ0LmJ5dGVMZW5ndGg7XG4gICAgbGV0IHBvc2l0aW9uID0gcGFydC5ieXRlT2Zmc2V0O1xuICAgIHdoaWxlIChwb3NpdGlvbiAhPT0gZW5kKSB7XG4gICAgICAgIGNvbnN0IHNpemUgPSBNYXRoLm1pbihlbmQgLSBwb3NpdGlvbiwgQ0hVTktfU0laRSk7XG4gICAgICAgIGNvbnN0IGNodW5rID0gcGFydC5idWZmZXIuc2xpY2UocG9zaXRpb24sIHBvc2l0aW9uICsgc2l6ZSk7XG4gICAgICAgIHBvc2l0aW9uICs9IGNodW5rLmJ5dGVMZW5ndGg7XG4gICAgICAgIHlpZWxkIG5ldyBVaW50OEFycmF5KGNodW5rKTtcbiAgICB9XG59XG5hc3luYyBmdW5jdGlvbiogY29uc3VtZU5vZGVCbG9iKGJsb2IpIHtcbiAgICBsZXQgcG9zaXRpb24gPSAwO1xuICAgIHdoaWxlIChwb3NpdGlvbiAhPT0gYmxvYi5zaXplKSB7XG4gICAgICAgIGNvbnN0IGNodW5rID0gYmxvYi5zbGljZShwb3NpdGlvbiwgTWF0aC5taW4oYmxvYi5zaXplLCBwb3NpdGlvbiArIENIVU5LX1NJWkUpKTtcbiAgICAgICAgY29uc3QgYnVmZmVyID0gYXdhaXQgY2h1bmsuYXJyYXlCdWZmZXIoKTtcbiAgICAgICAgcG9zaXRpb24gKz0gYnVmZmVyLmJ5dGVMZW5ndGg7XG4gICAgICAgIHlpZWxkIG5ldyBVaW50OEFycmF5KGJ1ZmZlcik7XG4gICAgfVxufVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uKiBjb25zdW1lQmxvYlBhcnRzKHBhcnRzLCBjbG9uZSA9IGZhbHNlKSB7XG4gICAgZm9yIChjb25zdCBwYXJ0IG9mIHBhcnRzKSB7XG4gICAgICAgIGlmIChBcnJheUJ1ZmZlci5pc1ZpZXcocGFydCkpIHtcbiAgICAgICAgICAgIGlmIChjbG9uZSkge1xuICAgICAgICAgICAgICAgIHlpZWxkKiBjbG9uZVBhcnQocGFydCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB5aWVsZCBwYXJ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGlzRnVuY3Rpb24ocGFydC5zdHJlYW0pKSB7XG4gICAgICAgICAgICB5aWVsZCogcGFydC5zdHJlYW0oKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHlpZWxkKiBjb25zdW1lTm9kZUJsb2IocGFydCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5leHBvcnQgZnVuY3Rpb24qIHNsaWNlQmxvYihibG9iUGFydHMsIGJsb2JTaXplLCBzdGFydCA9IDAsIGVuZCkge1xuICAgIGVuZCAhPT0gbnVsbCAmJiBlbmQgIT09IHZvaWQgMCA/IGVuZCA6IChlbmQgPSBibG9iU2l6ZSk7XG4gICAgbGV0IHJlbGF0aXZlU3RhcnQgPSBzdGFydCA8IDBcbiAgICAgICAgPyBNYXRoLm1heChibG9iU2l6ZSArIHN0YXJ0LCAwKVxuICAgICAgICA6IE1hdGgubWluKHN0YXJ0LCBibG9iU2l6ZSk7XG4gICAgbGV0IHJlbGF0aXZlRW5kID0gZW5kIDwgMFxuICAgICAgICA/IE1hdGgubWF4KGJsb2JTaXplICsgZW5kLCAwKVxuICAgICAgICA6IE1hdGgubWluKGVuZCwgYmxvYlNpemUpO1xuICAgIGNvbnN0IHNwYW4gPSBNYXRoLm1heChyZWxhdGl2ZUVuZCAtIHJlbGF0aXZlU3RhcnQsIDApO1xuICAgIGxldCBhZGRlZCA9IDA7XG4gICAgZm9yIChjb25zdCBwYXJ0IG9mIGJsb2JQYXJ0cykge1xuICAgICAgICBpZiAoYWRkZWQgPj0gc3Bhbikge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcGFydFNpemUgPSBBcnJheUJ1ZmZlci5pc1ZpZXcocGFydCkgPyBwYXJ0LmJ5dGVMZW5ndGggOiBwYXJ0LnNpemU7XG4gICAgICAgIGlmIChyZWxhdGl2ZVN0YXJ0ICYmIHBhcnRTaXplIDw9IHJlbGF0aXZlU3RhcnQpIHtcbiAgICAgICAgICAgIHJlbGF0aXZlU3RhcnQgLT0gcGFydFNpemU7XG4gICAgICAgICAgICByZWxhdGl2ZUVuZCAtPSBwYXJ0U2l6ZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGxldCBjaHVuaztcbiAgICAgICAgICAgIGlmIChBcnJheUJ1ZmZlci5pc1ZpZXcocGFydCkpIHtcbiAgICAgICAgICAgICAgICBjaHVuayA9IHBhcnQuc3ViYXJyYXkocmVsYXRpdmVTdGFydCwgTWF0aC5taW4ocGFydFNpemUsIHJlbGF0aXZlRW5kKSk7XG4gICAgICAgICAgICAgICAgYWRkZWQgKz0gY2h1bmsuYnl0ZUxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGNodW5rID0gcGFydC5zbGljZShyZWxhdGl2ZVN0YXJ0LCBNYXRoLm1pbihwYXJ0U2l6ZSwgcmVsYXRpdmVFbmQpKTtcbiAgICAgICAgICAgICAgICBhZGRlZCArPSBjaHVuay5zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVsYXRpdmVFbmQgLT0gcGFydFNpemU7XG4gICAgICAgICAgICByZWxhdGl2ZVN0YXJ0ID0gMDtcbiAgICAgICAgICAgIHlpZWxkIGNodW5rO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwgIi8qISBCYXNlZCBvbiBmZXRjaC1ibG9iLiBNSVQgTGljZW5zZS4gSmltbXkgV1x1MDBFNHJ0aW5nIDxodHRwczovL2ppbW15LndhcnRpbmcuc2Uvb3BlbnNvdXJjZT4gJiBEYXZpZCBGcmFuayAqL1xudmFyIF9fY2xhc3NQcml2YXRlRmllbGRHZXQgPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRHZXQpIHx8IGZ1bmN0aW9uIChyZWNlaXZlciwgc3RhdGUsIGtpbmQsIGYpIHtcbiAgICBpZiAoa2luZCA9PT0gXCJhXCIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBnZXR0ZXJcIik7XG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgcmVhZCBwcml2YXRlIG1lbWJlciBmcm9tIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XG4gICAgcmV0dXJuIGtpbmQgPT09IFwibVwiID8gZiA6IGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyKSA6IGYgPyBmLnZhbHVlIDogc3RhdGUuZ2V0KHJlY2VpdmVyKTtcbn07XG52YXIgX19jbGFzc1ByaXZhdGVGaWVsZFNldCA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZFNldCkgfHwgZnVuY3Rpb24gKHJlY2VpdmVyLCBzdGF0ZSwgdmFsdWUsIGtpbmQsIGYpIHtcbiAgICBpZiAoa2luZCA9PT0gXCJtXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGVcIik7XG4gICAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyXCIpO1xuICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHdyaXRlIHByaXZhdGUgbWVtYmVyIHRvIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XG4gICAgcmV0dXJuIChraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7XG59O1xudmFyIF9CbG9iX3BhcnRzLCBfQmxvYl90eXBlLCBfQmxvYl9zaXplO1xuaW1wb3J0IHsgUmVhZGFibGVTdHJlYW0gfSBmcm9tIFwid2ViLXN0cmVhbXMtcG9seWZpbGxcIjtcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tIFwiLi9pc0Z1bmN0aW9uLmpzXCI7XG5pbXBvcnQgeyBjb25zdW1lQmxvYlBhcnRzLCBzbGljZUJsb2IgfSBmcm9tIFwiLi9ibG9iSGVscGVycy5qc1wiO1xuZXhwb3J0IGNsYXNzIEJsb2Ige1xuICAgIGNvbnN0cnVjdG9yKGJsb2JQYXJ0cyA9IFtdLCBvcHRpb25zID0ge30pIHtcbiAgICAgICAgX0Jsb2JfcGFydHMuc2V0KHRoaXMsIFtdKTtcbiAgICAgICAgX0Jsb2JfdHlwZS5zZXQodGhpcywgXCJcIik7XG4gICAgICAgIF9CbG9iX3NpemUuc2V0KHRoaXMsIDApO1xuICAgICAgICBvcHRpb25zICE9PSBudWxsICYmIG9wdGlvbnMgIT09IHZvaWQgMCA/IG9wdGlvbnMgOiAob3B0aW9ucyA9IHt9KTtcbiAgICAgICAgaWYgKHR5cGVvZiBibG9iUGFydHMgIT09IFwib2JqZWN0XCIgfHwgYmxvYlBhcnRzID09PSBudWxsKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRmFpbGVkIHRvIGNvbnN0cnVjdCAnQmxvYic6IFwiXG4gICAgICAgICAgICAgICAgKyBcIlRoZSBwcm92aWRlZCB2YWx1ZSBjYW5ub3QgYmUgY29udmVydGVkIHRvIGEgc2VxdWVuY2UuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaXNGdW5jdGlvbihibG9iUGFydHNbU3ltYm9sLml0ZXJhdG9yXSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJGYWlsZWQgdG8gY29uc3RydWN0ICdCbG9iJzogXCJcbiAgICAgICAgICAgICAgICArIFwiVGhlIG9iamVjdCBtdXN0IGhhdmUgYSBjYWxsYWJsZSBAQGl0ZXJhdG9yIHByb3BlcnR5LlwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIG9wdGlvbnMgIT09IFwib2JqZWN0XCIgJiYgIWlzRnVuY3Rpb24ob3B0aW9ucykpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJGYWlsZWQgdG8gY29uc3RydWN0ICdCbG9iJzogcGFyYW1ldGVyIDIgY2Fubm90IGNvbnZlcnQgdG8gZGljdGlvbmFyeS5cIik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpO1xuICAgICAgICBmb3IgKGNvbnN0IHJhdyBvZiBibG9iUGFydHMpIHtcbiAgICAgICAgICAgIGxldCBwYXJ0O1xuICAgICAgICAgICAgaWYgKEFycmF5QnVmZmVyLmlzVmlldyhyYXcpKSB7XG4gICAgICAgICAgICAgICAgcGFydCA9IG5ldyBVaW50OEFycmF5KHJhdy5idWZmZXIuc2xpY2UocmF3LmJ5dGVPZmZzZXQsIHJhdy5ieXRlT2Zmc2V0ICsgcmF3LmJ5dGVMZW5ndGgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHJhdyBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSB7XG4gICAgICAgICAgICAgICAgcGFydCA9IG5ldyBVaW50OEFycmF5KHJhdy5zbGljZSgwKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChyYXcgaW5zdGFuY2VvZiBCbG9iKSB7XG4gICAgICAgICAgICAgICAgcGFydCA9IHJhdztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcnQgPSBlbmNvZGVyLmVuY29kZShTdHJpbmcocmF3KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHRoaXMsIF9CbG9iX3NpemUsIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Jsb2Jfc2l6ZSwgXCJmXCIpICsgKEFycmF5QnVmZmVyLmlzVmlldyhwYXJ0KSA/IHBhcnQuYnl0ZUxlbmd0aCA6IHBhcnQuc2l6ZSksIFwiZlwiKTtcbiAgICAgICAgICAgIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Jsb2JfcGFydHMsIFwiZlwiKS5wdXNoKHBhcnQpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHR5cGUgPSBvcHRpb25zLnR5cGUgPT09IHVuZGVmaW5lZCA/IFwiXCIgOiBTdHJpbmcob3B0aW9ucy50eXBlKTtcbiAgICAgICAgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfQmxvYl90eXBlLCAvXltcXHgyMC1cXHg3RV0qJC8udGVzdCh0eXBlKSA/IHR5cGUgOiBcIlwiLCBcImZcIik7XG4gICAgfVxuICAgIHN0YXRpYyBbKF9CbG9iX3BhcnRzID0gbmV3IFdlYWtNYXAoKSwgX0Jsb2JfdHlwZSA9IG5ldyBXZWFrTWFwKCksIF9CbG9iX3NpemUgPSBuZXcgV2Vha01hcCgpLCBTeW1ib2wuaGFzSW5zdGFuY2UpXSh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gQm9vbGVhbih2YWx1ZVxuICAgICAgICAgICAgJiYgdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiXG4gICAgICAgICAgICAmJiBpc0Z1bmN0aW9uKHZhbHVlLmNvbnN0cnVjdG9yKVxuICAgICAgICAgICAgJiYgKGlzRnVuY3Rpb24odmFsdWUuc3RyZWFtKVxuICAgICAgICAgICAgICAgIHx8IGlzRnVuY3Rpb24odmFsdWUuYXJyYXlCdWZmZXIpKVxuICAgICAgICAgICAgJiYgL14oQmxvYnxGaWxlKSQvLnRlc3QodmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSkpO1xuICAgIH1cbiAgICBnZXQgdHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Jsb2JfdHlwZSwgXCJmXCIpO1xuICAgIH1cbiAgICBnZXQgc2l6ZSgpIHtcbiAgICAgICAgcmV0dXJuIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Jsb2Jfc2l6ZSwgXCJmXCIpO1xuICAgIH1cbiAgICBzbGljZShzdGFydCwgZW5kLCBjb250ZW50VHlwZSkge1xuICAgICAgICByZXR1cm4gbmV3IEJsb2Ioc2xpY2VCbG9iKF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Jsb2JfcGFydHMsIFwiZlwiKSwgdGhpcy5zaXplLCBzdGFydCwgZW5kKSwge1xuICAgICAgICAgICAgdHlwZTogY29udGVudFR5cGVcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFzeW5jIHRleHQoKSB7XG4gICAgICAgIGNvbnN0IGRlY29kZXIgPSBuZXcgVGV4dERlY29kZXIoKTtcbiAgICAgICAgbGV0IHJlc3VsdCA9IFwiXCI7XG4gICAgICAgIGZvciBhd2FpdCAoY29uc3QgY2h1bmsgb2YgY29uc3VtZUJsb2JQYXJ0cyhfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9CbG9iX3BhcnRzLCBcImZcIikpKSB7XG4gICAgICAgICAgICByZXN1bHQgKz0gZGVjb2Rlci5kZWNvZGUoY2h1bmssIHsgc3RyZWFtOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJlc3VsdCArPSBkZWNvZGVyLmRlY29kZSgpO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbiAgICBhc3luYyBhcnJheUJ1ZmZlcigpIHtcbiAgICAgICAgY29uc3QgdmlldyA9IG5ldyBVaW50OEFycmF5KHRoaXMuc2l6ZSk7XG4gICAgICAgIGxldCBvZmZzZXQgPSAwO1xuICAgICAgICBmb3IgYXdhaXQgKGNvbnN0IGNodW5rIG9mIGNvbnN1bWVCbG9iUGFydHMoX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfQmxvYl9wYXJ0cywgXCJmXCIpKSkge1xuICAgICAgICAgICAgdmlldy5zZXQoY2h1bmssIG9mZnNldCk7XG4gICAgICAgICAgICBvZmZzZXQgKz0gY2h1bmsubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2aWV3LmJ1ZmZlcjtcbiAgICB9XG4gICAgc3RyZWFtKCkge1xuICAgICAgICBjb25zdCBpdGVyYXRvciA9IGNvbnN1bWVCbG9iUGFydHMoX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfQmxvYl9wYXJ0cywgXCJmXCIpLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIG5ldyBSZWFkYWJsZVN0cmVhbSh7XG4gICAgICAgICAgICBhc3luYyBwdWxsKGNvbnRyb2xsZXIpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB7IHZhbHVlLCBkb25lIH0gPSBhd2FpdCBpdGVyYXRvci5uZXh0KCk7XG4gICAgICAgICAgICAgICAgaWYgKGRvbmUpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHF1ZXVlTWljcm90YXNrKCgpID0+IGNvbnRyb2xsZXIuY2xvc2UoKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZSh2YWx1ZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgYXN5bmMgY2FuY2VsKCkge1xuICAgICAgICAgICAgICAgIGF3YWl0IGl0ZXJhdG9yLnJldHVybigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG4gICAgZ2V0IFtTeW1ib2wudG9TdHJpbmdUYWddKCkge1xuICAgICAgICByZXR1cm4gXCJCbG9iXCI7XG4gICAgfVxufVxuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQmxvYi5wcm90b3R5cGUsIHtcbiAgICB0eXBlOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgICBzaXplOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgICBzbGljZTogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG4gICAgc3RyZWFtOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgICB0ZXh0OiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgICBhcnJheUJ1ZmZlcjogeyBlbnVtZXJhYmxlOiB0cnVlIH1cbn0pO1xuIiwgInZhciBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0ID0gKHRoaXMgJiYgdGhpcy5fX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KSB8fCBmdW5jdGlvbiAocmVjZWl2ZXIsIHN0YXRlLCB2YWx1ZSwga2luZCwgZikge1xuICAgIGlmIChraW5kID09PSBcIm1cIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgbWV0aG9kIGlzIG5vdCB3cml0YWJsZVwiKTtcbiAgICBpZiAoa2luZCA9PT0gXCJhXCIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBzZXR0ZXJcIik7XG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3Qgd3JpdGUgcHJpdmF0ZSBtZW1iZXIgdG8gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcbiAgICByZXR1cm4gKGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyLCB2YWx1ZSkgOiBmID8gZi52YWx1ZSA9IHZhbHVlIDogc3RhdGUuc2V0KHJlY2VpdmVyLCB2YWx1ZSkpLCB2YWx1ZTtcbn07XG52YXIgX19jbGFzc1ByaXZhdGVGaWVsZEdldCA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZEdldCkgfHwgZnVuY3Rpb24gKHJlY2VpdmVyLCBzdGF0ZSwga2luZCwgZikge1xuICAgIGlmIChraW5kID09PSBcImFcIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlclwiKTtcbiAgICBpZiAodHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCByZWFkIHByaXZhdGUgbWVtYmVyIGZyb20gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcbiAgICByZXR1cm4ga2luZCA9PT0gXCJtXCIgPyBmIDoga2luZCA9PT0gXCJhXCIgPyBmLmNhbGwocmVjZWl2ZXIpIDogZiA/IGYudmFsdWUgOiBzdGF0ZS5nZXQocmVjZWl2ZXIpO1xufTtcbnZhciBfRmlsZV9uYW1lLCBfRmlsZV9sYXN0TW9kaWZpZWQ7XG5pbXBvcnQgeyBCbG9iIH0gZnJvbSBcIi4vQmxvYi5qc1wiO1xuZXhwb3J0IGNsYXNzIEZpbGUgZXh0ZW5kcyBCbG9iIHtcbiAgICBjb25zdHJ1Y3RvcihmaWxlQml0cywgbmFtZSwgb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHN1cGVyKGZpbGVCaXRzLCBvcHRpb25zKTtcbiAgICAgICAgX0ZpbGVfbmFtZS5zZXQodGhpcywgdm9pZCAwKTtcbiAgICAgICAgX0ZpbGVfbGFzdE1vZGlmaWVkLnNldCh0aGlzLCAwKTtcbiAgICAgICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPCAyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRmFpbGVkIHRvIGNvbnN0cnVjdCAnRmlsZSc6IDIgYXJndW1lbnRzIHJlcXVpcmVkLCBcIlxuICAgICAgICAgICAgICAgICsgYGJ1dCBvbmx5ICR7YXJndW1lbnRzLmxlbmd0aH0gcHJlc2VudC5gKTtcbiAgICAgICAgfVxuICAgICAgICBfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0KHRoaXMsIF9GaWxlX25hbWUsIFN0cmluZyhuYW1lKSwgXCJmXCIpO1xuICAgICAgICBjb25zdCBsYXN0TW9kaWZpZWQgPSBvcHRpb25zLmxhc3RNb2RpZmllZCA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICA/IERhdGUubm93KClcbiAgICAgICAgICAgIDogTnVtYmVyKG9wdGlvbnMubGFzdE1vZGlmaWVkKTtcbiAgICAgICAgaWYgKCFOdW1iZXIuaXNOYU4obGFzdE1vZGlmaWVkKSkge1xuICAgICAgICAgICAgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfRmlsZV9sYXN0TW9kaWZpZWQsIGxhc3RNb2RpZmllZCwgXCJmXCIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIHN0YXRpYyBbKF9GaWxlX25hbWUgPSBuZXcgV2Vha01hcCgpLCBfRmlsZV9sYXN0TW9kaWZpZWQgPSBuZXcgV2Vha01hcCgpLCBTeW1ib2wuaGFzSW5zdGFuY2UpXSh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBCbG9iXG4gICAgICAgICAgICAmJiB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddID09PSBcIkZpbGVcIlxuICAgICAgICAgICAgJiYgdHlwZW9mIHZhbHVlLm5hbWUgPT09IFwic3RyaW5nXCI7XG4gICAgfVxuICAgIGdldCBuYW1lKCkge1xuICAgICAgICByZXR1cm4gX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRmlsZV9uYW1lLCBcImZcIik7XG4gICAgfVxuICAgIGdldCBsYXN0TW9kaWZpZWQoKSB7XG4gICAgICAgIHJldHVybiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9GaWxlX2xhc3RNb2RpZmllZCwgXCJmXCIpO1xuICAgIH1cbiAgICBnZXQgd2Via2l0UmVsYXRpdmVQYXRoKCkge1xuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgZ2V0IFtTeW1ib2wudG9TdHJpbmdUYWddKCkge1xuICAgICAgICByZXR1cm4gXCJGaWxlXCI7XG4gICAgfVxufVxuIiwgImltcG9ydCB7IEZpbGUgfSBmcm9tIFwiLi9GaWxlLmpzXCI7XG5leHBvcnQgY29uc3QgaXNGaWxlID0gKHZhbHVlKSA9PiB2YWx1ZSBpbnN0YW5jZW9mIEZpbGU7XG4iLCAiLyohXG4gKiBodW1hbml6ZS1tcyAtIGluZGV4LmpzXG4gKiBDb3B5cmlnaHQoYykgMjAxNCBkZWFkX2hvcnNlIDxkZWFkX2hvcnNlQHFxLmNvbT5cbiAqIE1JVCBMaWNlbnNlZFxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuLyoqXG4gKiBNb2R1bGUgZGVwZW5kZW5jaWVzLlxuICovXG5cbnZhciB1dGlsID0gcmVxdWlyZSgndXRpbCcpO1xudmFyIG1zID0gcmVxdWlyZSgnbXMnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAodCkge1xuICBpZiAodHlwZW9mIHQgPT09ICdudW1iZXInKSByZXR1cm4gdDtcbiAgdmFyIHIgPSBtcyh0KTtcbiAgaWYgKHIgPT09IHVuZGVmaW5lZCkge1xuICAgIHZhciBlcnIgPSBuZXcgRXJyb3IodXRpbC5mb3JtYXQoJ2h1bWFuaXplLW1zKCVqKSByZXN1bHQgdW5kZWZpbmVkJywgdCkpO1xuICAgIGNvbnNvbGUud2FybihlcnIuc3RhY2spO1xuICB9XG4gIHJldHVybiByO1xufTtcbiIsICIndXNlIHN0cmljdCc7XG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICAvLyBhZ2VudFxuICBDVVJSRU5UX0lEOiBTeW1ib2woJ2FnZW50a2VlcGFsaXZlI2N1cnJlbnRJZCcpLFxuICBDUkVBVEVfSUQ6IFN5bWJvbCgnYWdlbnRrZWVwYWxpdmUjY3JlYXRlSWQnKSxcbiAgSU5JVF9TT0NLRVQ6IFN5bWJvbCgnYWdlbnRrZWVwYWxpdmUjaW5pdFNvY2tldCcpLFxuICBDUkVBVEVfSFRUUFNfQ09OTkVDVElPTjogU3ltYm9sKCdhZ2VudGtlZXBhbGl2ZSNjcmVhdGVIdHRwc0Nvbm5lY3Rpb24nKSxcbiAgLy8gc29ja2V0XG4gIFNPQ0tFVF9DUkVBVEVEX1RJTUU6IFN5bWJvbCgnYWdlbnRrZWVwYWxpdmUjc29ja2V0Q3JlYXRlZFRpbWUnKSxcbiAgU09DS0VUX05BTUU6IFN5bWJvbCgnYWdlbnRrZWVwYWxpdmUjc29ja2V0TmFtZScpLFxuICBTT0NLRVRfUkVRVUVTVF9DT1VOVDogU3ltYm9sKCdhZ2VudGtlZXBhbGl2ZSNzb2NrZXRSZXF1ZXN0Q291bnQnKSxcbiAgU09DS0VUX1JFUVVFU1RfRklOSVNIRURfQ09VTlQ6IFN5bWJvbCgnYWdlbnRrZWVwYWxpdmUjc29ja2V0UmVxdWVzdEZpbmlzaGVkQ291bnQnKSxcbn07XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBPcmlnaW5hbEFnZW50ID0gcmVxdWlyZSgnaHR0cCcpLkFnZW50O1xuY29uc3QgbXMgPSByZXF1aXJlKCdodW1hbml6ZS1tcycpO1xuY29uc3QgZGVidWcgPSByZXF1aXJlKCd1dGlsJykuZGVidWdsb2coJ2FnZW50a2VlcGFsaXZlJyk7XG5jb25zdCB7XG4gIElOSVRfU09DS0VULFxuICBDVVJSRU5UX0lELFxuICBDUkVBVEVfSUQsXG4gIFNPQ0tFVF9DUkVBVEVEX1RJTUUsXG4gIFNPQ0tFVF9OQU1FLFxuICBTT0NLRVRfUkVRVUVTVF9DT1VOVCxcbiAgU09DS0VUX1JFUVVFU1RfRklOSVNIRURfQ09VTlQsXG59ID0gcmVxdWlyZSgnLi9jb25zdGFudHMnKTtcblxuLy8gT3JpZ2luYWxBZ2VudCBjb21lIGZyb21cbi8vIC0gaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL2Jsb2IvdjguMTIuMC9saWIvX2h0dHBfYWdlbnQuanNcbi8vIC0gaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL2Jsb2IvdjEwLjEyLjAvbGliL19odHRwX2FnZW50LmpzXG5cbi8vIG5vZGUgPD0gMTBcbmxldCBkZWZhdWx0VGltZW91dExpc3RlbmVyQ291bnQgPSAxO1xuY29uc3QgbWFqb3JWZXJzaW9uID0gcGFyc2VJbnQocHJvY2Vzcy52ZXJzaW9uLnNwbGl0KCcuJywgMSlbMF0uc3Vic3RyaW5nKDEpKTtcbmlmIChtYWpvclZlcnNpb24gPj0gMTEgJiYgbWFqb3JWZXJzaW9uIDw9IDEyKSB7XG4gIGRlZmF1bHRUaW1lb3V0TGlzdGVuZXJDb3VudCA9IDI7XG59IGVsc2UgaWYgKG1ham9yVmVyc2lvbiA+PSAxMykge1xuICBkZWZhdWx0VGltZW91dExpc3RlbmVyQ291bnQgPSAzO1xufVxuXG5mdW5jdGlvbiBkZXByZWNhdGUobWVzc2FnZSkge1xuICBjb25zb2xlLmxvZygnW2FnZW50a2VlcGFsaXZlOmRlcHJlY2F0ZWRdICVzJywgbWVzc2FnZSk7XG59XG5cbmNsYXNzIEFnZW50IGV4dGVuZHMgT3JpZ2luYWxBZ2VudCB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICBvcHRpb25zLmtlZXBBbGl2ZSA9IG9wdGlvbnMua2VlcEFsaXZlICE9PSBmYWxzZTtcbiAgICAvLyBkZWZhdWx0IGlzIGtlZXAtYWxpdmUgYW5kIDRzIGZyZWUgc29ja2V0IHRpbWVvdXRcbiAgICAvLyBzZWUgaHR0cHM6Ly9tZWRpdW0uY29tL3NzZW5zZS10ZWNoL3JlZHVjZS1uZXR3b3JraW5nLWVycm9ycy1pbi1ub2RlanMtMjNiNGViOWYyZDgzXG4gICAgaWYgKG9wdGlvbnMuZnJlZVNvY2tldFRpbWVvdXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgb3B0aW9ucy5mcmVlU29ja2V0VGltZW91dCA9IDQwMDA7XG4gICAgfVxuICAgIC8vIExlZ2FjeSBBUEk6IGtlZXBBbGl2ZVRpbWVvdXQgc2hvdWxkIGJlIHJlbmFtZSB0byBgZnJlZVNvY2tldFRpbWVvdXRgXG4gICAgaWYgKG9wdGlvbnMua2VlcEFsaXZlVGltZW91dCkge1xuICAgICAgZGVwcmVjYXRlKCdvcHRpb25zLmtlZXBBbGl2ZVRpbWVvdXQgaXMgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBvcHRpb25zLmZyZWVTb2NrZXRUaW1lb3V0IGluc3RlYWQnKTtcbiAgICAgIG9wdGlvbnMuZnJlZVNvY2tldFRpbWVvdXQgPSBvcHRpb25zLmtlZXBBbGl2ZVRpbWVvdXQ7XG4gICAgICBkZWxldGUgb3B0aW9ucy5rZWVwQWxpdmVUaW1lb3V0O1xuICAgIH1cbiAgICAvLyBMZWdhY3kgQVBJOiBmcmVlU29ja2V0S2VlcEFsaXZlVGltZW91dCBzaG91bGQgYmUgcmVuYW1lIHRvIGBmcmVlU29ja2V0VGltZW91dGBcbiAgICBpZiAob3B0aW9ucy5mcmVlU29ja2V0S2VlcEFsaXZlVGltZW91dCkge1xuICAgICAgZGVwcmVjYXRlKCdvcHRpb25zLmZyZWVTb2NrZXRLZWVwQWxpdmVUaW1lb3V0IGlzIGRlcHJlY2F0ZWQsIHBsZWFzZSB1c2Ugb3B0aW9ucy5mcmVlU29ja2V0VGltZW91dCBpbnN0ZWFkJyk7XG4gICAgICBvcHRpb25zLmZyZWVTb2NrZXRUaW1lb3V0ID0gb3B0aW9ucy5mcmVlU29ja2V0S2VlcEFsaXZlVGltZW91dDtcbiAgICAgIGRlbGV0ZSBvcHRpb25zLmZyZWVTb2NrZXRLZWVwQWxpdmVUaW1lb3V0O1xuICAgIH1cblxuICAgIC8vIFNldHMgdGhlIHNvY2tldCB0byB0aW1lb3V0IGFmdGVyIHRpbWVvdXQgbWlsbGlzZWNvbmRzIG9mIGluYWN0aXZpdHkgb24gdGhlIHNvY2tldC5cbiAgICAvLyBCeSBkZWZhdWx0IGlzIGRvdWJsZSBmcmVlIHNvY2tldCB0aW1lb3V0LlxuICAgIGlmIChvcHRpb25zLnRpbWVvdXQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gbWFrZSBzdXJlIHNvY2tldCBkZWZhdWx0IGluYWN0aXZpdHkgdGltZW91dCA+PSA4c1xuICAgICAgb3B0aW9ucy50aW1lb3V0ID0gTWF0aC5tYXgob3B0aW9ucy5mcmVlU29ja2V0VGltZW91dCAqIDIsIDgwMDApO1xuICAgIH1cblxuICAgIC8vIHN1cHBvcnQgaHVtYW5pemUgZm9ybWF0XG4gICAgb3B0aW9ucy50aW1lb3V0ID0gbXMob3B0aW9ucy50aW1lb3V0KTtcbiAgICBvcHRpb25zLmZyZWVTb2NrZXRUaW1lb3V0ID0gbXMob3B0aW9ucy5mcmVlU29ja2V0VGltZW91dCk7XG4gICAgb3B0aW9ucy5zb2NrZXRBY3RpdmVUVEwgPSBvcHRpb25zLnNvY2tldEFjdGl2ZVRUTCA/IG1zKG9wdGlvbnMuc29ja2V0QWN0aXZlVFRMKSA6IDA7XG5cbiAgICBzdXBlcihvcHRpb25zKTtcblxuICAgIHRoaXNbQ1VSUkVOVF9JRF0gPSAwO1xuXG4gICAgLy8gY3JlYXRlIHNvY2tldCBzdWNjZXNzIGNvdW50ZXJcbiAgICB0aGlzLmNyZWF0ZVNvY2tldENvdW50ID0gMDtcbiAgICB0aGlzLmNyZWF0ZVNvY2tldENvdW50TGFzdENoZWNrID0gMDtcblxuICAgIHRoaXMuY3JlYXRlU29ja2V0RXJyb3JDb3VudCA9IDA7XG4gICAgdGhpcy5jcmVhdGVTb2NrZXRFcnJvckNvdW50TGFzdENoZWNrID0gMDtcblxuICAgIHRoaXMuY2xvc2VTb2NrZXRDb3VudCA9IDA7XG4gICAgdGhpcy5jbG9zZVNvY2tldENvdW50TGFzdENoZWNrID0gMDtcblxuICAgIC8vIHNvY2tldCBlcnJvciBldmVudCBjb3VudFxuICAgIHRoaXMuZXJyb3JTb2NrZXRDb3VudCA9IDA7XG4gICAgdGhpcy5lcnJvclNvY2tldENvdW50TGFzdENoZWNrID0gMDtcblxuICAgIC8vIHJlcXVlc3QgZmluaXNoZWQgY291bnRlclxuICAgIHRoaXMucmVxdWVzdENvdW50ID0gMDtcbiAgICB0aGlzLnJlcXVlc3RDb3VudExhc3RDaGVjayA9IDA7XG5cbiAgICAvLyBpbmNsdWRpbmcgZnJlZSBzb2NrZXQgdGltZW91dCBjb3VudGVyXG4gICAgdGhpcy50aW1lb3V0U29ja2V0Q291bnQgPSAwO1xuICAgIHRoaXMudGltZW91dFNvY2tldENvdW50TGFzdENoZWNrID0gMDtcblxuICAgIHRoaXMub24oJ2ZyZWUnLCBzb2NrZXQgPT4ge1xuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL3B1bGwvMzIwMDBcbiAgICAgIC8vIE5vZGUuanMgbmF0aXZlIGFnZW50IHdpbGwgY2hlY2sgc29ja2V0IHRpbWVvdXQgZXFzIGFnZW50Lm9wdGlvbnMudGltZW91dC5cbiAgICAgIC8vIFVzZSB0aGUgdHRsIG9yIGZyZWVTb2NrZXRUaW1lb3V0IHRvIG92ZXJ3cml0ZS5cbiAgICAgIGNvbnN0IHRpbWVvdXQgPSB0aGlzLmNhbGNTb2NrZXRUaW1lb3V0KHNvY2tldCk7XG4gICAgICBpZiAodGltZW91dCA+IDAgJiYgc29ja2V0LnRpbWVvdXQgIT09IHRpbWVvdXQpIHtcbiAgICAgICAgc29ja2V0LnNldFRpbWVvdXQodGltZW91dCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBnZXQgZnJlZVNvY2tldEtlZXBBbGl2ZVRpbWVvdXQoKSB7XG4gICAgZGVwcmVjYXRlKCdhZ2VudC5mcmVlU29ja2V0S2VlcEFsaXZlVGltZW91dCBpcyBkZXByZWNhdGVkLCBwbGVhc2UgdXNlIGFnZW50Lm9wdGlvbnMuZnJlZVNvY2tldFRpbWVvdXQgaW5zdGVhZCcpO1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZnJlZVNvY2tldFRpbWVvdXQ7XG4gIH1cblxuICBnZXQgdGltZW91dCgpIHtcbiAgICBkZXByZWNhdGUoJ2FnZW50LnRpbWVvdXQgaXMgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBhZ2VudC5vcHRpb25zLnRpbWVvdXQgaW5zdGVhZCcpO1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnMudGltZW91dDtcbiAgfVxuXG4gIGdldCBzb2NrZXRBY3RpdmVUVEwoKSB7XG4gICAgZGVwcmVjYXRlKCdhZ2VudC5zb2NrZXRBY3RpdmVUVEwgaXMgZGVwcmVjYXRlZCwgcGxlYXNlIHVzZSBhZ2VudC5vcHRpb25zLnNvY2tldEFjdGl2ZVRUTCBpbnN0ZWFkJyk7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucy5zb2NrZXRBY3RpdmVUVEw7XG4gIH1cblxuICBjYWxjU29ja2V0VGltZW91dChzb2NrZXQpIHtcbiAgICAvKipcbiAgICAgKiByZXR1cm4gPD0gMDogc2hvdWxkIGZyZWUgc29ja2V0XG4gICAgICogcmV0dXJuID4gMDogc2hvdWxkIHVwZGF0ZSBzb2NrZXQgdGltZW91dFxuICAgICAqIHJldHVybiB1bmRlZmluZWQ6IG5vdCBmaW5kIGN1c3RvbSB0aW1lb3V0XG4gICAgICovXG4gICAgbGV0IGZyZWVTb2NrZXRUaW1lb3V0ID0gdGhpcy5vcHRpb25zLmZyZWVTb2NrZXRUaW1lb3V0O1xuICAgIGNvbnN0IHNvY2tldEFjdGl2ZVRUTCA9IHRoaXMub3B0aW9ucy5zb2NrZXRBY3RpdmVUVEw7XG4gICAgaWYgKHNvY2tldEFjdGl2ZVRUTCkge1xuICAgICAgLy8gY2hlY2sgc29ja2V0QWN0aXZlVFRMXG4gICAgICBjb25zdCBhbGl2ZVRpbWUgPSBEYXRlLm5vdygpIC0gc29ja2V0W1NPQ0tFVF9DUkVBVEVEX1RJTUVdO1xuICAgICAgY29uc3QgZGlmZiA9IHNvY2tldEFjdGl2ZVRUTCAtIGFsaXZlVGltZTtcbiAgICAgIGlmIChkaWZmIDw9IDApIHtcbiAgICAgICAgcmV0dXJuIGRpZmY7XG4gICAgICB9XG4gICAgICBpZiAoZnJlZVNvY2tldFRpbWVvdXQgJiYgZGlmZiA8IGZyZWVTb2NrZXRUaW1lb3V0KSB7XG4gICAgICAgIGZyZWVTb2NrZXRUaW1lb3V0ID0gZGlmZjtcbiAgICAgIH1cbiAgICB9XG4gICAgLy8gc2V0IGZyZWVTb2NrZXRUaW1lb3V0XG4gICAgaWYgKGZyZWVTb2NrZXRUaW1lb3V0KSB7XG4gICAgICAvLyBzZXQgZnJlZSBrZWVwYWxpdmUgdGltZXJcbiAgICAgIC8vIHRyeSB0byB1c2Ugc29ja2V0IGN1c3RvbSBmcmVlU29ja2V0VGltZW91dCBmaXJzdCwgc3VwcG9ydCBoZWFkZXJzWydrZWVwLWFsaXZlJ11cbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlLW1vZHVsZXMvdXJsbGliL2Jsb2IvYjc2MDUzMDIwOTIzZjRkOTlhMWM5M2NmMmUxNmUwYzViYTEwYmFjZi9saWIvdXJsbGliLmpzI0w0OThcbiAgICAgIGNvbnN0IGN1c3RvbUZyZWVTb2NrZXRUaW1lb3V0ID0gc29ja2V0LmZyZWVTb2NrZXRUaW1lb3V0IHx8IHNvY2tldC5mcmVlU29ja2V0S2VlcEFsaXZlVGltZW91dDtcbiAgICAgIHJldHVybiBjdXN0b21GcmVlU29ja2V0VGltZW91dCB8fCBmcmVlU29ja2V0VGltZW91dDtcbiAgICB9XG4gIH1cblxuICBrZWVwU29ja2V0QWxpdmUoc29ja2V0KSB7XG4gICAgY29uc3QgcmVzdWx0ID0gc3VwZXIua2VlcFNvY2tldEFsaXZlKHNvY2tldCk7XG4gICAgLy8gc2hvdWxkIG5vdCBrZWVwQWxpdmUsIGRvIG5vdGhpbmdcbiAgICBpZiAoIXJlc3VsdCkgcmV0dXJuIHJlc3VsdDtcblxuICAgIGNvbnN0IGN1c3RvbVRpbWVvdXQgPSB0aGlzLmNhbGNTb2NrZXRUaW1lb3V0KHNvY2tldCk7XG4gICAgaWYgKHR5cGVvZiBjdXN0b21UaW1lb3V0ID09PSAndW5kZWZpbmVkJykge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChjdXN0b21UaW1lb3V0IDw9IDApIHtcbiAgICAgIGRlYnVnKCclcyhyZXF1ZXN0czogJXMsIGZpbmlzaGVkOiAlcykgZnJlZSBidXQgbmVlZCB0byBkZXN0cm95IGJ5IFRUTCwgcmVxdWVzdCBjb3VudCAlcywgZGlmZiBpcyAlcycsXG4gICAgICAgIHNvY2tldFtTT0NLRVRfTkFNRV0sIHNvY2tldFtTT0NLRVRfUkVRVUVTVF9DT1VOVF0sIHNvY2tldFtTT0NLRVRfUkVRVUVTVF9GSU5JU0hFRF9DT1VOVF0sIGN1c3RvbVRpbWVvdXQpO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoc29ja2V0LnRpbWVvdXQgIT09IGN1c3RvbVRpbWVvdXQpIHtcbiAgICAgIHNvY2tldC5zZXRUaW1lb3V0KGN1c3RvbVRpbWVvdXQpO1xuICAgIH1cbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8vIG9ubHkgY2FsbCBvbiBhZGRSZXF1ZXN0XG4gIHJldXNlU29ja2V0KC4uLmFyZ3MpIHtcbiAgICAvLyByZXVzZVNvY2tldChzb2NrZXQsIHJlcSlcbiAgICBzdXBlci5yZXVzZVNvY2tldCguLi5hcmdzKTtcbiAgICBjb25zdCBzb2NrZXQgPSBhcmdzWzBdO1xuICAgIGNvbnN0IHJlcSA9IGFyZ3NbMV07XG4gICAgcmVxLnJldXNlZFNvY2tldCA9IHRydWU7XG4gICAgY29uc3QgYWdlbnRUaW1lb3V0ID0gdGhpcy5vcHRpb25zLnRpbWVvdXQ7XG4gICAgaWYgKGdldFNvY2tldFRpbWVvdXQoc29ja2V0KSAhPT0gYWdlbnRUaW1lb3V0KSB7XG4gICAgICAvLyByZXNldCB0aW1lb3V0IGJlZm9yZSB1c2VcbiAgICAgIHNvY2tldC5zZXRUaW1lb3V0KGFnZW50VGltZW91dCk7XG4gICAgICBkZWJ1ZygnJXMgcmVzZXQgdGltZW91dCB0byAlc21zJywgc29ja2V0W1NPQ0tFVF9OQU1FXSwgYWdlbnRUaW1lb3V0KTtcbiAgICB9XG4gICAgc29ja2V0W1NPQ0tFVF9SRVFVRVNUX0NPVU5UXSsrO1xuICAgIGRlYnVnKCclcyhyZXF1ZXN0czogJXMsIGZpbmlzaGVkOiAlcykgcmV1c2Ugb24gYWRkUmVxdWVzdCwgdGltZW91dCAlc21zJyxcbiAgICAgIHNvY2tldFtTT0NLRVRfTkFNRV0sIHNvY2tldFtTT0NLRVRfUkVRVUVTVF9DT1VOVF0sIHNvY2tldFtTT0NLRVRfUkVRVUVTVF9GSU5JU0hFRF9DT1VOVF0sXG4gICAgICBnZXRTb2NrZXRUaW1lb3V0KHNvY2tldCkpO1xuICB9XG5cbiAgW0NSRUFURV9JRF0oKSB7XG4gICAgY29uc3QgaWQgPSB0aGlzW0NVUlJFTlRfSURdKys7XG4gICAgaWYgKHRoaXNbQ1VSUkVOVF9JRF0gPT09IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSKSB0aGlzW0NVUlJFTlRfSURdID0gMDtcbiAgICByZXR1cm4gaWQ7XG4gIH1cblxuICBbSU5JVF9TT0NLRVRdKHNvY2tldCwgb3B0aW9ucykge1xuICAgIC8vIGJ1Z2ZpeCBoZXJlLlxuICAgIC8vIGh0dHBzIG9uIG5vZGUgOCwgMTAgd29uJ3Qgc2V0IGFnZW50Lm9wdGlvbnMudGltZW91dCBieSBkZWZhdWx0XG4gICAgLy8gVE9ETzogbmVlZCB0byBmaXggb24gbm9kZSBpdHNlbGZcbiAgICBpZiAob3B0aW9ucy50aW1lb3V0KSB7XG4gICAgICBjb25zdCB0aW1lb3V0ID0gZ2V0U29ja2V0VGltZW91dChzb2NrZXQpO1xuICAgICAgaWYgKCF0aW1lb3V0KSB7XG4gICAgICAgIHNvY2tldC5zZXRUaW1lb3V0KG9wdGlvbnMudGltZW91dCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy5rZWVwQWxpdmUpIHtcbiAgICAgIC8vIERpc2FibGUgTmFnbGUncyBhbGdvcml0aG06IGh0dHA6Ly9ibG9nLmNhdXN0aWsuY29tLzIwMTIvMDQvMDgvc2NhbGluZy1ub2RlLWpzLXRvLTEwMGstY29uY3VycmVudC1jb25uZWN0aW9ucy9cbiAgICAgIC8vIGh0dHBzOi8vZmVuZ21rMi5jb20vYmVuY2htYXJrL25hZ2xlLWFsZ29yaXRobS1kZWxheWVkLWFjay1tb2NrLmh0bWxcbiAgICAgIHNvY2tldC5zZXROb0RlbGF5KHRydWUpO1xuICAgIH1cbiAgICB0aGlzLmNyZWF0ZVNvY2tldENvdW50Kys7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5zb2NrZXRBY3RpdmVUVEwpIHtcbiAgICAgIHNvY2tldFtTT0NLRVRfQ1JFQVRFRF9USU1FXSA9IERhdGUubm93KCk7XG4gICAgfVxuICAgIC8vIGRvbid0IHNob3cgdGhlIGhvbGUgJy0tLS0tQkVHSU4gQ0VSVElGSUNBVEUtLS0tJyBrZXkgc3RyaW5nXG4gICAgc29ja2V0W1NPQ0tFVF9OQU1FXSA9IGBzb2NrWyR7dGhpc1tDUkVBVEVfSURdKCl9IyR7b3B0aW9ucy5fYWdlbnRLZXl9XWAuc3BsaXQoJy0tLS0tQkVHSU4nLCAxKVswXTtcbiAgICBzb2NrZXRbU09DS0VUX1JFUVVFU1RfQ09VTlRdID0gMTtcbiAgICBzb2NrZXRbU09DS0VUX1JFUVVFU1RfRklOSVNIRURfQ09VTlRdID0gMDtcbiAgICBpbnN0YWxsTGlzdGVuZXJzKHRoaXMsIHNvY2tldCwgb3B0aW9ucyk7XG4gIH1cblxuICBjcmVhdGVDb25uZWN0aW9uKG9wdGlvbnMsIG9uY3JlYXRlKSB7XG4gICAgbGV0IGNhbGxlZCA9IGZhbHNlO1xuICAgIGNvbnN0IG9uTmV3Q3JlYXRlID0gKGVyciwgc29ja2V0KSA9PiB7XG4gICAgICBpZiAoY2FsbGVkKSByZXR1cm47XG4gICAgICBjYWxsZWQgPSB0cnVlO1xuXG4gICAgICBpZiAoZXJyKSB7XG4gICAgICAgIHRoaXMuY3JlYXRlU29ja2V0RXJyb3JDb3VudCsrO1xuICAgICAgICByZXR1cm4gb25jcmVhdGUoZXJyKTtcbiAgICAgIH1cbiAgICAgIHRoaXNbSU5JVF9TT0NLRVRdKHNvY2tldCwgb3B0aW9ucyk7XG4gICAgICBvbmNyZWF0ZShlcnIsIHNvY2tldCk7XG4gICAgfTtcblxuICAgIGNvbnN0IG5ld1NvY2tldCA9IHN1cGVyLmNyZWF0ZUNvbm5lY3Rpb24ob3B0aW9ucywgb25OZXdDcmVhdGUpO1xuICAgIGlmIChuZXdTb2NrZXQpIG9uTmV3Q3JlYXRlKG51bGwsIG5ld1NvY2tldCk7XG4gICAgcmV0dXJuIG5ld1NvY2tldDtcbiAgfVxuXG4gIGdldCBzdGF0dXNDaGFuZ2VkKCkge1xuICAgIGNvbnN0IGNoYW5nZWQgPSB0aGlzLmNyZWF0ZVNvY2tldENvdW50ICE9PSB0aGlzLmNyZWF0ZVNvY2tldENvdW50TGFzdENoZWNrIHx8XG4gICAgICB0aGlzLmNyZWF0ZVNvY2tldEVycm9yQ291bnQgIT09IHRoaXMuY3JlYXRlU29ja2V0RXJyb3JDb3VudExhc3RDaGVjayB8fFxuICAgICAgdGhpcy5jbG9zZVNvY2tldENvdW50ICE9PSB0aGlzLmNsb3NlU29ja2V0Q291bnRMYXN0Q2hlY2sgfHxcbiAgICAgIHRoaXMuZXJyb3JTb2NrZXRDb3VudCAhPT0gdGhpcy5lcnJvclNvY2tldENvdW50TGFzdENoZWNrIHx8XG4gICAgICB0aGlzLnRpbWVvdXRTb2NrZXRDb3VudCAhPT0gdGhpcy50aW1lb3V0U29ja2V0Q291bnRMYXN0Q2hlY2sgfHxcbiAgICAgIHRoaXMucmVxdWVzdENvdW50ICE9PSB0aGlzLnJlcXVlc3RDb3VudExhc3RDaGVjaztcbiAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgdGhpcy5jcmVhdGVTb2NrZXRDb3VudExhc3RDaGVjayA9IHRoaXMuY3JlYXRlU29ja2V0Q291bnQ7XG4gICAgICB0aGlzLmNyZWF0ZVNvY2tldEVycm9yQ291bnRMYXN0Q2hlY2sgPSB0aGlzLmNyZWF0ZVNvY2tldEVycm9yQ291bnQ7XG4gICAgICB0aGlzLmNsb3NlU29ja2V0Q291bnRMYXN0Q2hlY2sgPSB0aGlzLmNsb3NlU29ja2V0Q291bnQ7XG4gICAgICB0aGlzLmVycm9yU29ja2V0Q291bnRMYXN0Q2hlY2sgPSB0aGlzLmVycm9yU29ja2V0Q291bnQ7XG4gICAgICB0aGlzLnRpbWVvdXRTb2NrZXRDb3VudExhc3RDaGVjayA9IHRoaXMudGltZW91dFNvY2tldENvdW50O1xuICAgICAgdGhpcy5yZXF1ZXN0Q291bnRMYXN0Q2hlY2sgPSB0aGlzLnJlcXVlc3RDb3VudDtcbiAgICB9XG4gICAgcmV0dXJuIGNoYW5nZWQ7XG4gIH1cblxuICBnZXRDdXJyZW50U3RhdHVzKCkge1xuICAgIHJldHVybiB7XG4gICAgICBjcmVhdGVTb2NrZXRDb3VudDogdGhpcy5jcmVhdGVTb2NrZXRDb3VudCxcbiAgICAgIGNyZWF0ZVNvY2tldEVycm9yQ291bnQ6IHRoaXMuY3JlYXRlU29ja2V0RXJyb3JDb3VudCxcbiAgICAgIGNsb3NlU29ja2V0Q291bnQ6IHRoaXMuY2xvc2VTb2NrZXRDb3VudCxcbiAgICAgIGVycm9yU29ja2V0Q291bnQ6IHRoaXMuZXJyb3JTb2NrZXRDb3VudCxcbiAgICAgIHRpbWVvdXRTb2NrZXRDb3VudDogdGhpcy50aW1lb3V0U29ja2V0Q291bnQsXG4gICAgICByZXF1ZXN0Q291bnQ6IHRoaXMucmVxdWVzdENvdW50LFxuICAgICAgZnJlZVNvY2tldHM6IGluc3BlY3QodGhpcy5mcmVlU29ja2V0cyksXG4gICAgICBzb2NrZXRzOiBpbnNwZWN0KHRoaXMuc29ja2V0cyksXG4gICAgICByZXF1ZXN0czogaW5zcGVjdCh0aGlzLnJlcXVlc3RzKSxcbiAgICB9O1xuICB9XG59XG5cbi8vIG5vZGUgOCBkb24ndCBoYXMgdGltZW91dCBhdHRyaWJ1dGUgb24gc29ja2V0XG4vLyBodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGUvcHVsbC8yMTIwNC9maWxlcyNkaWZmLWU2ZWYwMjRjMzc3NWQ3ODdjMzg0ODdhNjMwOWU0OTFkUjQwOFxuZnVuY3Rpb24gZ2V0U29ja2V0VGltZW91dChzb2NrZXQpIHtcbiAgcmV0dXJuIHNvY2tldC50aW1lb3V0IHx8IHNvY2tldC5faWRsZVRpbWVvdXQ7XG59XG5cbmZ1bmN0aW9uIGluc3RhbGxMaXN0ZW5lcnMoYWdlbnQsIHNvY2tldCwgb3B0aW9ucykge1xuICBkZWJ1ZygnJXMgY3JlYXRlLCB0aW1lb3V0ICVzbXMnLCBzb2NrZXRbU09DS0VUX05BTUVdLCBnZXRTb2NrZXRUaW1lb3V0KHNvY2tldCkpO1xuXG4gIC8vIGxpc3RlbmVyIHNvY2tldCBldmVudHM6IGNsb3NlLCB0aW1lb3V0LCBlcnJvciwgZnJlZVxuICBmdW5jdGlvbiBvbkZyZWUoKSB7XG4gICAgLy8gY3JlYXRlIGFuZCBzb2NrZXQuZW1pdCgnZnJlZScpIGxvZ2ljXG4gICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL2Jsb2IvbWFzdGVyL2xpYi9faHR0cF9hZ2VudC5qcyNMMzExXG4gICAgLy8gbm8gcmVxIG9uIHRoZSBzb2NrZXQsIGl0IHNob3VsZCBiZSB0aGUgbmV3IHNvY2tldFxuICAgIGlmICghc29ja2V0Ll9odHRwTWVzc2FnZSAmJiBzb2NrZXRbU09DS0VUX1JFUVVFU1RfQ09VTlRdID09PSAxKSByZXR1cm47XG5cbiAgICBzb2NrZXRbU09DS0VUX1JFUVVFU1RfRklOSVNIRURfQ09VTlRdKys7XG4gICAgYWdlbnQucmVxdWVzdENvdW50Kys7XG4gICAgZGVidWcoJyVzKHJlcXVlc3RzOiAlcywgZmluaXNoZWQ6ICVzKSBmcmVlJyxcbiAgICAgIHNvY2tldFtTT0NLRVRfTkFNRV0sIHNvY2tldFtTT0NLRVRfUkVRVUVTVF9DT1VOVF0sIHNvY2tldFtTT0NLRVRfUkVRVUVTVF9GSU5JU0hFRF9DT1VOVF0pO1xuXG4gICAgLy8gc2hvdWxkIHJldXNlIG9uIHBlZGRpbmcgcmVxdWVzdHM/XG4gICAgY29uc3QgbmFtZSA9IGFnZW50LmdldE5hbWUob3B0aW9ucyk7XG4gICAgaWYgKHNvY2tldC53cml0YWJsZSAmJiBhZ2VudC5yZXF1ZXN0c1tuYW1lXSAmJiBhZ2VudC5yZXF1ZXN0c1tuYW1lXS5sZW5ndGgpIHtcbiAgICAgIC8vIHdpbGwgYmUgcmV1c2Ugb24gYWdlbnQgZnJlZSBsaXN0ZW5lclxuICAgICAgc29ja2V0W1NPQ0tFVF9SRVFVRVNUX0NPVU5UXSsrO1xuICAgICAgZGVidWcoJyVzKHJlcXVlc3RzOiAlcywgZmluaXNoZWQ6ICVzKSB3aWxsIGJlIHJldXNlIG9uIGFnZW50IGZyZWUgZXZlbnQnLFxuICAgICAgICBzb2NrZXRbU09DS0VUX05BTUVdLCBzb2NrZXRbU09DS0VUX1JFUVVFU1RfQ09VTlRdLCBzb2NrZXRbU09DS0VUX1JFUVVFU1RfRklOSVNIRURfQ09VTlRdKTtcbiAgICB9XG4gIH1cbiAgc29ja2V0Lm9uKCdmcmVlJywgb25GcmVlKTtcblxuICBmdW5jdGlvbiBvbkNsb3NlKGlzRXJyb3IpIHtcbiAgICBkZWJ1ZygnJXMocmVxdWVzdHM6ICVzLCBmaW5pc2hlZDogJXMpIGNsb3NlLCBpc0Vycm9yOiAlcycsXG4gICAgICBzb2NrZXRbU09DS0VUX05BTUVdLCBzb2NrZXRbU09DS0VUX1JFUVVFU1RfQ09VTlRdLCBzb2NrZXRbU09DS0VUX1JFUVVFU1RfRklOSVNIRURfQ09VTlRdLCBpc0Vycm9yKTtcbiAgICBhZ2VudC5jbG9zZVNvY2tldENvdW50Kys7XG4gIH1cbiAgc29ja2V0Lm9uKCdjbG9zZScsIG9uQ2xvc2UpO1xuXG4gIC8vIHN0YXJ0IHNvY2tldCB0aW1lb3V0IGhhbmRsZXJcbiAgZnVuY3Rpb24gb25UaW1lb3V0KCkge1xuICAgIC8vIG9uVGltZW91dCBhbmQgZW1pdFJlcXVlc3RUaW1lb3V0KF9odHRwX2NsaWVudC5qcylcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGUvYmxvYi92MTIueC9saWIvX2h0dHBfY2xpZW50LmpzI0w3MTFcbiAgICBjb25zdCBsaXN0ZW5lckNvdW50ID0gc29ja2V0Lmxpc3RlbmVycygndGltZW91dCcpLmxlbmd0aDtcbiAgICAvLyBub2RlIDw9IDEwLCBkZWZhdWx0IGxpc3RlbmVyQ291bnQgaXMgMSwgb25UaW1lb3V0XG4gICAgLy8gMTEgPCBub2RlIDw9IDEyLCBkZWZhdWx0IGxpc3RlbmVyQ291bnQgaXMgMiwgb25UaW1lb3V0IGFuZCBlbWl0UmVxdWVzdFRpbWVvdXRcbiAgICAvLyBub2RlID49IDEzLCBkZWZhdWx0IGxpc3RlbmVyQ291bnQgaXMgMywgb25UaW1lb3V0LFxuICAgIC8vICAgb25UaW1lb3V0KGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9kZS9wdWxsLzMyMDAwL2ZpbGVzI2RpZmYtNWY3ZmIwODUwNDEyYzZiZTE4OWZhZWRkZWE2YzUzNTlSMzMzKVxuICAgIC8vICAgYW5kIGVtaXRSZXF1ZXN0VGltZW91dFxuICAgIGNvbnN0IHRpbWVvdXQgPSBnZXRTb2NrZXRUaW1lb3V0KHNvY2tldCk7XG4gICAgY29uc3QgcmVxID0gc29ja2V0Ll9odHRwTWVzc2FnZTtcbiAgICBjb25zdCByZXFUaW1lb3V0TGlzdGVuZXJDb3VudCA9IHJlcSAmJiByZXEubGlzdGVuZXJzKCd0aW1lb3V0JykubGVuZ3RoIHx8IDA7XG4gICAgZGVidWcoJyVzKHJlcXVlc3RzOiAlcywgZmluaXNoZWQ6ICVzKSB0aW1lb3V0IGFmdGVyICVzbXMsIGxpc3RlbmVycyAlcywgZGVmYXVsdFRpbWVvdXRMaXN0ZW5lckNvdW50ICVzLCBoYXNIdHRwUmVxdWVzdCAlcywgSHR0cFJlcXVlc3QgdGltZW91dExpc3RlbmVyQ291bnQgJXMnLFxuICAgICAgc29ja2V0W1NPQ0tFVF9OQU1FXSwgc29ja2V0W1NPQ0tFVF9SRVFVRVNUX0NPVU5UXSwgc29ja2V0W1NPQ0tFVF9SRVFVRVNUX0ZJTklTSEVEX0NPVU5UXSxcbiAgICAgIHRpbWVvdXQsIGxpc3RlbmVyQ291bnQsIGRlZmF1bHRUaW1lb3V0TGlzdGVuZXJDb3VudCwgISFyZXEsIHJlcVRpbWVvdXRMaXN0ZW5lckNvdW50KTtcbiAgICBpZiAoZGVidWcuZW5hYmxlZCkge1xuICAgICAgZGVidWcoJ3RpbWVvdXQgbGlzdGVuZXJzOiAlcycsIHNvY2tldC5saXN0ZW5lcnMoJ3RpbWVvdXQnKS5tYXAoZiA9PiBmLm5hbWUpLmpvaW4oJywgJykpO1xuICAgIH1cbiAgICBhZ2VudC50aW1lb3V0U29ja2V0Q291bnQrKztcbiAgICBjb25zdCBuYW1lID0gYWdlbnQuZ2V0TmFtZShvcHRpb25zKTtcbiAgICBpZiAoYWdlbnQuZnJlZVNvY2tldHNbbmFtZV0gJiYgYWdlbnQuZnJlZVNvY2tldHNbbmFtZV0uaW5kZXhPZihzb2NrZXQpICE9PSAtMSkge1xuICAgICAgLy8gZnJlZSBzb2NrZXQgdGltZW91dCwgZGVzdHJveSBxdWlldGx5XG4gICAgICBzb2NrZXQuZGVzdHJveSgpO1xuICAgICAgLy8gUmVtb3ZlIGl0IGZyb20gZnJlZVNvY2tldHMgbGlzdCBpbW1lZGlhdGVseSB0byBwcmV2ZW50IG5ldyByZXF1ZXN0c1xuICAgICAgLy8gZnJvbSBiZWluZyBzZW50IHRocm91Z2ggdGhpcyBzb2NrZXQuXG4gICAgICBhZ2VudC5yZW1vdmVTb2NrZXQoc29ja2V0LCBvcHRpb25zKTtcbiAgICAgIGRlYnVnKCclcyBpcyBmcmVlLCBkZXN0cm95IHF1aWV0bHknLCBzb2NrZXRbU09DS0VUX05BTUVdKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaWYgdGhlcmUgaXMgbm8gYW55IHJlcXVlc3Qgc29ja2V0IHRpbWVvdXQgaGFuZGxlcixcbiAgICAgIC8vIGFnZW50IG5lZWQgdG8gaGFuZGxlIHNvY2tldCB0aW1lb3V0IGl0c2VsZi5cbiAgICAgIC8vXG4gICAgICAvLyBjdXN0b20gcmVxdWVzdCBzb2NrZXQgdGltZW91dCBoYW5kbGUgbG9naWMgbXVzdCBmb2xsb3cgdGhlc2UgcnVsZXM6XG4gICAgICAvLyAgMS4gRGVzdHJveSBzb2NrZXQgZmlyc3RcbiAgICAgIC8vICAyLiBNdXN0IGVtaXQgc29ja2V0ICdhZ2VudFJlbW92ZScgZXZlbnQgdGVsbCBhZ2VudCByZW1vdmUgc29ja2V0XG4gICAgICAvLyAgICAgZnJvbSBmcmVlU29ja2V0cyBsaXN0IGltbWVkaWF0ZWx5LlxuICAgICAgLy8gICAgIE90aGVyaXNlIHlvdSBtYXkgYmUgZ2V0ICdzb2NrZXQgaGFuZyB1cCcgZXJyb3Igd2hlbiByZXVzZVxuICAgICAgLy8gICAgIGZyZWUgc29ja2V0IGFuZCB0aW1lb3V0IGhhcHBlbiBpbiB0aGUgc2FtZSB0aW1lLlxuICAgICAgaWYgKHJlcVRpbWVvdXRMaXN0ZW5lckNvdW50ID09PSAwKSB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKCdTb2NrZXQgdGltZW91dCcpO1xuICAgICAgICBlcnJvci5jb2RlID0gJ0VSUl9TT0NLRVRfVElNRU9VVCc7XG4gICAgICAgIGVycm9yLnRpbWVvdXQgPSB0aW1lb3V0O1xuICAgICAgICAvLyBtdXN0IG1hbnVhbGx5IGNhbGwgc29ja2V0LmVuZCgpIG9yIHNvY2tldC5kZXN0cm95KCkgdG8gZW5kIHRoZSBjb25uZWN0aW9uLlxuICAgICAgICAvLyBodHRwczovL25vZGVqcy5vcmcvZGlzdC9sYXRlc3QtdjEwLngvZG9jcy9hcGkvbmV0Lmh0bWwjbmV0X3NvY2tldF9zZXR0aW1lb3V0X3RpbWVvdXRfY2FsbGJhY2tcbiAgICAgICAgc29ja2V0LmRlc3Ryb3koZXJyb3IpO1xuICAgICAgICBhZ2VudC5yZW1vdmVTb2NrZXQoc29ja2V0LCBvcHRpb25zKTtcbiAgICAgICAgZGVidWcoJyVzIGRlc3Ryb3kgd2l0aCB0aW1lb3V0IGVycm9yJywgc29ja2V0W1NPQ0tFVF9OQU1FXSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHNvY2tldC5vbigndGltZW91dCcsIG9uVGltZW91dCk7XG5cbiAgZnVuY3Rpb24gb25FcnJvcihlcnIpIHtcbiAgICBjb25zdCBsaXN0ZW5lckNvdW50ID0gc29ja2V0Lmxpc3RlbmVycygnZXJyb3InKS5sZW5ndGg7XG4gICAgZGVidWcoJyVzKHJlcXVlc3RzOiAlcywgZmluaXNoZWQ6ICVzKSBlcnJvcjogJXMsIGxpc3RlbmVyQ291bnQ6ICVzJyxcbiAgICAgIHNvY2tldFtTT0NLRVRfTkFNRV0sIHNvY2tldFtTT0NLRVRfUkVRVUVTVF9DT1VOVF0sIHNvY2tldFtTT0NLRVRfUkVRVUVTVF9GSU5JU0hFRF9DT1VOVF0sXG4gICAgICBlcnIsIGxpc3RlbmVyQ291bnQpO1xuICAgIGFnZW50LmVycm9yU29ja2V0Q291bnQrKztcbiAgICBpZiAobGlzdGVuZXJDb3VudCA9PT0gMSkge1xuICAgICAgLy8gaWYgc29ja2V0IGRvbid0IGNvbnRhaW4gZXJyb3IgZXZlbnQgaGFuZGxlciwgZG9uJ3QgY2F0Y2ggaXQsIGVtaXQgaXQgYWdhaW5cbiAgICAgIGRlYnVnKCclcyBlbWl0IHVuY2F1Z2h0IGVycm9yIGV2ZW50Jywgc29ja2V0W1NPQ0tFVF9OQU1FXSk7XG4gICAgICBzb2NrZXQucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgb25FcnJvcik7XG4gICAgICBzb2NrZXQuZW1pdCgnZXJyb3InLCBlcnIpO1xuICAgIH1cbiAgfVxuICBzb2NrZXQub24oJ2Vycm9yJywgb25FcnJvcik7XG5cbiAgZnVuY3Rpb24gb25SZW1vdmUoKSB7XG4gICAgZGVidWcoJyVzKHJlcXVlc3RzOiAlcywgZmluaXNoZWQ6ICVzKSBhZ2VudFJlbW92ZScsXG4gICAgICBzb2NrZXRbU09DS0VUX05BTUVdLFxuICAgICAgc29ja2V0W1NPQ0tFVF9SRVFVRVNUX0NPVU5UXSwgc29ja2V0W1NPQ0tFVF9SRVFVRVNUX0ZJTklTSEVEX0NPVU5UXSk7XG4gICAgLy8gV2UgbmVlZCB0aGlzIGZ1bmN0aW9uIGZvciBjYXNlcyBsaWtlIEhUVFAgJ3VwZ3JhZGUnXG4gICAgLy8gKGRlZmluZWQgYnkgV2ViU29ja2V0cykgd2hlcmUgd2UgbmVlZCB0byByZW1vdmUgYSBzb2NrZXQgZnJvbSB0aGVcbiAgICAvLyBwb29sIGJlY2F1c2UgaXQnbGwgYmUgbG9ja2VkIHVwIGluZGVmaW5pdGVseVxuICAgIHNvY2tldC5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbkNsb3NlKTtcbiAgICBzb2NrZXQucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgb25FcnJvcik7XG4gICAgc29ja2V0LnJlbW92ZUxpc3RlbmVyKCdmcmVlJywgb25GcmVlKTtcbiAgICBzb2NrZXQucmVtb3ZlTGlzdGVuZXIoJ3RpbWVvdXQnLCBvblRpbWVvdXQpO1xuICAgIHNvY2tldC5yZW1vdmVMaXN0ZW5lcignYWdlbnRSZW1vdmUnLCBvblJlbW92ZSk7XG4gIH1cbiAgc29ja2V0Lm9uKCdhZ2VudFJlbW92ZScsIG9uUmVtb3ZlKTtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBBZ2VudDtcblxuZnVuY3Rpb24gaW5zcGVjdChvYmopIHtcbiAgY29uc3QgcmVzID0ge307XG4gIGZvciAoY29uc3Qga2V5IGluIG9iaikge1xuICAgIHJlc1trZXldID0gb2JqW2tleV0ubGVuZ3RoO1xuICB9XG4gIHJldHVybiByZXM7XG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBPcmlnaW5hbEh0dHBzQWdlbnQgPSByZXF1aXJlKCdodHRwcycpLkFnZW50O1xuY29uc3QgSHR0cEFnZW50ID0gcmVxdWlyZSgnLi9hZ2VudCcpO1xuY29uc3Qge1xuICBJTklUX1NPQ0tFVCxcbiAgQ1JFQVRFX0hUVFBTX0NPTk5FQ1RJT04sXG59ID0gcmVxdWlyZSgnLi9jb25zdGFudHMnKTtcblxuY2xhc3MgSHR0cHNBZ2VudCBleHRlbmRzIEh0dHBBZ2VudCB7XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcbiAgICBzdXBlcihvcHRpb25zKTtcblxuICAgIHRoaXMuZGVmYXVsdFBvcnQgPSA0NDM7XG4gICAgdGhpcy5wcm90b2NvbCA9ICdodHRwczonO1xuICAgIHRoaXMubWF4Q2FjaGVkU2Vzc2lvbnMgPSB0aGlzLm9wdGlvbnMubWF4Q2FjaGVkU2Vzc2lvbnM7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICBpZiAodGhpcy5tYXhDYWNoZWRTZXNzaW9ucyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLm1heENhY2hlZFNlc3Npb25zID0gMTAwO1xuICAgIH1cblxuICAgIHRoaXMuX3Nlc3Npb25DYWNoZSA9IHtcbiAgICAgIG1hcDoge30sXG4gICAgICBsaXN0OiBbXSxcbiAgICB9O1xuICB9XG5cbiAgY3JlYXRlQ29ubmVjdGlvbihvcHRpb25zLCBvbmNyZWF0ZSkge1xuICAgIGNvbnN0IHNvY2tldCA9IHRoaXNbQ1JFQVRFX0hUVFBTX0NPTk5FQ1RJT05dKG9wdGlvbnMsIG9uY3JlYXRlKTtcbiAgICB0aGlzW0lOSVRfU09DS0VUXShzb2NrZXQsIG9wdGlvbnMpO1xuICAgIHJldHVybiBzb2NrZXQ7XG4gIH1cbn1cblxuLy8gaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL2Jsb2IvbWFzdGVyL2xpYi9odHRwcy5qcyNMODlcbkh0dHBzQWdlbnQucHJvdG90eXBlW0NSRUFURV9IVFRQU19DT05ORUNUSU9OXSA9IE9yaWdpbmFsSHR0cHNBZ2VudC5wcm90b3R5cGUuY3JlYXRlQ29ubmVjdGlvbjtcblxuW1xuICAnZ2V0TmFtZScsXG4gICdfZ2V0U2Vzc2lvbicsXG4gICdfY2FjaGVTZXNzaW9uJyxcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL3B1bGwvNDk4MlxuICAnX2V2aWN0U2Vzc2lvbicsXG5dLmZvckVhY2goZnVuY3Rpb24obWV0aG9kKSB7XG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gIGlmICh0eXBlb2YgT3JpZ2luYWxIdHRwc0FnZW50LnByb3RvdHlwZVttZXRob2RdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgSHR0cHNBZ2VudC5wcm90b3R5cGVbbWV0aG9kXSA9IE9yaWdpbmFsSHR0cHNBZ2VudC5wcm90b3R5cGVbbWV0aG9kXTtcbiAgfVxufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gSHR0cHNBZ2VudDtcbiIsICIndXNlIHN0cmljdCc7XG5cbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9saWIvYWdlbnQnKTtcbm1vZHVsZS5leHBvcnRzLkh0dHBzQWdlbnQgPSByZXF1aXJlKCcuL2xpYi9odHRwc19hZ2VudCcpO1xubW9kdWxlLmV4cG9ydHMuY29uc3RhbnRzID0gcmVxdWlyZSgnLi9saWIvY29uc3RhbnRzJyk7XG4iLCAiLyoqXG4gKiBAdHlwZWRlZiB7b2JqZWN0fSBQcml2YXRlRGF0YVxuICogQHByb3BlcnR5IHtFdmVudFRhcmdldH0gZXZlbnRUYXJnZXQgVGhlIGV2ZW50IHRhcmdldC5cbiAqIEBwcm9wZXJ0eSB7e3R5cGU6c3RyaW5nfX0gZXZlbnQgVGhlIG9yaWdpbmFsIGV2ZW50IG9iamVjdC5cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBldmVudFBoYXNlIFRoZSBjdXJyZW50IGV2ZW50IHBoYXNlLlxuICogQHByb3BlcnR5IHtFdmVudFRhcmdldHxudWxsfSBjdXJyZW50VGFyZ2V0IFRoZSBjdXJyZW50IGV2ZW50IHRhcmdldC5cbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gY2FuY2VsZWQgVGhlIGZsYWcgdG8gcHJldmVudCBkZWZhdWx0LlxuICogQHByb3BlcnR5IHtib29sZWFufSBzdG9wcGVkIFRoZSBmbGFnIHRvIHN0b3AgcHJvcGFnYXRpb24uXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IGltbWVkaWF0ZVN0b3BwZWQgVGhlIGZsYWcgdG8gc3RvcCBwcm9wYWdhdGlvbiBpbW1lZGlhdGVseS5cbiAqIEBwcm9wZXJ0eSB7RnVuY3Rpb258bnVsbH0gcGFzc2l2ZUxpc3RlbmVyIFRoZSBsaXN0ZW5lciBpZiB0aGUgY3VycmVudCBsaXN0ZW5lciBpcyBwYXNzaXZlLiBPdGhlcndpc2UgdGhpcyBpcyBudWxsLlxuICogQHByb3BlcnR5IHtudW1iZXJ9IHRpbWVTdGFtcCBUaGUgdW5peCB0aW1lLlxuICogQHByaXZhdGVcbiAqL1xuXG4vKipcbiAqIFByaXZhdGUgZGF0YSBmb3IgZXZlbnQgd3JhcHBlcnMuXG4gKiBAdHlwZSB7V2Vha01hcDxFdmVudCwgUHJpdmF0ZURhdGE+fVxuICogQHByaXZhdGVcbiAqL1xuY29uc3QgcHJpdmF0ZURhdGEgPSBuZXcgV2Vha01hcCgpXG5cbi8qKlxuICogQ2FjaGUgZm9yIHdyYXBwZXIgY2xhc3Nlcy5cbiAqIEB0eXBlIHtXZWFrTWFwPE9iamVjdCwgRnVuY3Rpb24+fVxuICogQHByaXZhdGVcbiAqL1xuY29uc3Qgd3JhcHBlcnMgPSBuZXcgV2Vha01hcCgpXG5cbi8qKlxuICogR2V0IHByaXZhdGUgZGF0YS5cbiAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IFRoZSBldmVudCBvYmplY3QgdG8gZ2V0IHByaXZhdGUgZGF0YS5cbiAqIEByZXR1cm5zIHtQcml2YXRlRGF0YX0gVGhlIHByaXZhdGUgZGF0YSBvZiB0aGUgZXZlbnQuXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBwZChldmVudCkge1xuICAgIGNvbnN0IHJldHYgPSBwcml2YXRlRGF0YS5nZXQoZXZlbnQpXG4gICAgY29uc29sZS5hc3NlcnQoXG4gICAgICAgIHJldHYgIT0gbnVsbCxcbiAgICAgICAgXCIndGhpcycgaXMgZXhwZWN0ZWQgYW4gRXZlbnQgb2JqZWN0LCBidXQgZ290XCIsXG4gICAgICAgIGV2ZW50XG4gICAgKVxuICAgIHJldHVybiByZXR2XG59XG5cbi8qKlxuICogaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNzZXQtdGhlLWNhbmNlbGVkLWZsYWdcbiAqIEBwYXJhbSBkYXRhIHtQcml2YXRlRGF0YX0gcHJpdmF0ZSBkYXRhLlxuICovXG5mdW5jdGlvbiBzZXRDYW5jZWxGbGFnKGRhdGEpIHtcbiAgICBpZiAoZGF0YS5wYXNzaXZlTGlzdGVuZXIgIT0gbnVsbCkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgICB0eXBlb2YgY29uc29sZSAhPT0gXCJ1bmRlZmluZWRcIiAmJlxuICAgICAgICAgICAgdHlwZW9mIGNvbnNvbGUuZXJyb3IgPT09IFwiZnVuY3Rpb25cIlxuICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXG4gICAgICAgICAgICAgICAgXCJVbmFibGUgdG8gcHJldmVudERlZmF1bHQgaW5zaWRlIHBhc3NpdmUgZXZlbnQgbGlzdGVuZXIgaW52b2NhdGlvbi5cIixcbiAgICAgICAgICAgICAgICBkYXRhLnBhc3NpdmVMaXN0ZW5lclxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAoIWRhdGEuZXZlbnQuY2FuY2VsYWJsZSkge1xuICAgICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBkYXRhLmNhbmNlbGVkID0gdHJ1ZVxuICAgIGlmICh0eXBlb2YgZGF0YS5ldmVudC5wcmV2ZW50RGVmYXVsdCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGRhdGEuZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgIH1cbn1cblxuLyoqXG4gKiBAc2VlIGh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jaW50ZXJmYWNlLWV2ZW50XG4gKiBAcHJpdmF0ZVxuICovXG4vKipcbiAqIFRoZSBldmVudCB3cmFwcGVyLlxuICogQGNvbnN0cnVjdG9yXG4gKiBAcGFyYW0ge0V2ZW50VGFyZ2V0fSBldmVudFRhcmdldCBUaGUgZXZlbnQgdGFyZ2V0IG9mIHRoaXMgZGlzcGF0Y2hpbmcuXG4gKiBAcGFyYW0ge0V2ZW50fHt0eXBlOnN0cmluZ319IGV2ZW50IFRoZSBvcmlnaW5hbCBldmVudCB0byB3cmFwLlxuICovXG5mdW5jdGlvbiBFdmVudChldmVudFRhcmdldCwgZXZlbnQpIHtcbiAgICBwcml2YXRlRGF0YS5zZXQodGhpcywge1xuICAgICAgICBldmVudFRhcmdldCxcbiAgICAgICAgZXZlbnQsXG4gICAgICAgIGV2ZW50UGhhc2U6IDIsXG4gICAgICAgIGN1cnJlbnRUYXJnZXQ6IGV2ZW50VGFyZ2V0LFxuICAgICAgICBjYW5jZWxlZDogZmFsc2UsXG4gICAgICAgIHN0b3BwZWQ6IGZhbHNlLFxuICAgICAgICBpbW1lZGlhdGVTdG9wcGVkOiBmYWxzZSxcbiAgICAgICAgcGFzc2l2ZUxpc3RlbmVyOiBudWxsLFxuICAgICAgICB0aW1lU3RhbXA6IGV2ZW50LnRpbWVTdGFtcCB8fCBEYXRlLm5vdygpLFxuICAgIH0pXG5cbiAgICAvLyBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNVbmZvcmdlYWJsZVxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBcImlzVHJ1c3RlZFwiLCB7IHZhbHVlOiBmYWxzZSwgZW51bWVyYWJsZTogdHJ1ZSB9KVxuXG4gICAgLy8gRGVmaW5lIGFjY2Vzc29yc1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhldmVudClcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGtleXMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgY29uc3Qga2V5ID0ga2V5c1tpXVxuICAgICAgICBpZiAoIShrZXkgaW4gdGhpcykpIHtcbiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBrZXksIGRlZmluZVJlZGlyZWN0RGVzY3JpcHRvcihrZXkpKVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTaG91bGQgYmUgZW51bWVyYWJsZSwgYnV0IGNsYXNzIG1ldGhvZHMgYXJlIG5vdCBlbnVtZXJhYmxlLlxuRXZlbnQucHJvdG90eXBlID0ge1xuICAgIC8qKlxuICAgICAqIFRoZSB0eXBlIG9mIHRoaXMgZXZlbnQuXG4gICAgICogQHR5cGUge3N0cmluZ31cbiAgICAgKi9cbiAgICBnZXQgdHlwZSgpIHtcbiAgICAgICAgcmV0dXJuIHBkKHRoaXMpLmV2ZW50LnR5cGVcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVGhlIHRhcmdldCBvZiB0aGlzIGV2ZW50LlxuICAgICAqIEB0eXBlIHtFdmVudFRhcmdldH1cbiAgICAgKi9cbiAgICBnZXQgdGFyZ2V0KCkge1xuICAgICAgICByZXR1cm4gcGQodGhpcykuZXZlbnRUYXJnZXRcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVGhlIHRhcmdldCBvZiB0aGlzIGV2ZW50LlxuICAgICAqIEB0eXBlIHtFdmVudFRhcmdldH1cbiAgICAgKi9cbiAgICBnZXQgY3VycmVudFRhcmdldCgpIHtcbiAgICAgICAgcmV0dXJuIHBkKHRoaXMpLmN1cnJlbnRUYXJnZXRcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogQHJldHVybnMge0V2ZW50VGFyZ2V0W119IFRoZSBjb21wb3NlZCBwYXRoIG9mIHRoaXMgZXZlbnQuXG4gICAgICovXG4gICAgY29tcG9zZWRQYXRoKCkge1xuICAgICAgICBjb25zdCBjdXJyZW50VGFyZ2V0ID0gcGQodGhpcykuY3VycmVudFRhcmdldFxuICAgICAgICBpZiAoY3VycmVudFRhcmdldCA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gW11cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gW2N1cnJlbnRUYXJnZXRdXG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIENvbnN0YW50IG9mIE5PTkUuXG4gICAgICogQHR5cGUge251bWJlcn1cbiAgICAgKi9cbiAgICBnZXQgTk9ORSgpIHtcbiAgICAgICAgcmV0dXJuIDBcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogQ29uc3RhbnQgb2YgQ0FQVFVSSU5HX1BIQVNFLlxuICAgICAqIEB0eXBlIHtudW1iZXJ9XG4gICAgICovXG4gICAgZ2V0IENBUFRVUklOR19QSEFTRSgpIHtcbiAgICAgICAgcmV0dXJuIDFcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogQ29uc3RhbnQgb2YgQVRfVEFSR0VULlxuICAgICAqIEB0eXBlIHtudW1iZXJ9XG4gICAgICovXG4gICAgZ2V0IEFUX1RBUkdFVCgpIHtcbiAgICAgICAgcmV0dXJuIDJcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogQ29uc3RhbnQgb2YgQlVCQkxJTkdfUEhBU0UuXG4gICAgICogQHR5cGUge251bWJlcn1cbiAgICAgKi9cbiAgICBnZXQgQlVCQkxJTkdfUEhBU0UoKSB7XG4gICAgICAgIHJldHVybiAzXG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIFRoZSB0YXJnZXQgb2YgdGhpcyBldmVudC5cbiAgICAgKiBAdHlwZSB7bnVtYmVyfVxuICAgICAqL1xuICAgIGdldCBldmVudFBoYXNlKCkge1xuICAgICAgICByZXR1cm4gcGQodGhpcykuZXZlbnRQaGFzZVxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBTdG9wIGV2ZW50IGJ1YmJsaW5nLlxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqL1xuICAgIHN0b3BQcm9wYWdhdGlvbigpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHBkKHRoaXMpXG5cbiAgICAgICAgZGF0YS5zdG9wcGVkID0gdHJ1ZVxuICAgICAgICBpZiAodHlwZW9mIGRhdGEuZXZlbnQuc3RvcFByb3BhZ2F0aW9uID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIGRhdGEuZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBTdG9wIGV2ZW50IGJ1YmJsaW5nLlxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqL1xuICAgIHN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpIHtcbiAgICAgICAgY29uc3QgZGF0YSA9IHBkKHRoaXMpXG5cbiAgICAgICAgZGF0YS5zdG9wcGVkID0gdHJ1ZVxuICAgICAgICBkYXRhLmltbWVkaWF0ZVN0b3BwZWQgPSB0cnVlXG4gICAgICAgIGlmICh0eXBlb2YgZGF0YS5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24gPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgZGF0YS5ldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKVxuICAgICAgICB9XG4gICAgfSxcblxuICAgIC8qKlxuICAgICAqIFRoZSBmbGFnIHRvIGJlIGJ1YmJsaW5nLlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIGdldCBidWJibGVzKCkge1xuICAgICAgICByZXR1cm4gQm9vbGVhbihwZCh0aGlzKS5ldmVudC5idWJibGVzKVxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZmxhZyB0byBiZSBjYW5jZWxhYmxlLlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIGdldCBjYW5jZWxhYmxlKCkge1xuICAgICAgICByZXR1cm4gQm9vbGVhbihwZCh0aGlzKS5ldmVudC5jYW5jZWxhYmxlKVxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBDYW5jZWwgdGhpcyBldmVudC5cbiAgICAgKiBAcmV0dXJucyB7dm9pZH1cbiAgICAgKi9cbiAgICBwcmV2ZW50RGVmYXVsdCgpIHtcbiAgICAgICAgc2V0Q2FuY2VsRmxhZyhwZCh0aGlzKSlcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGZsYWcgdG8gaW5kaWNhdGUgY2FuY2VsbGF0aW9uIHN0YXRlLlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqL1xuICAgIGdldCBkZWZhdWx0UHJldmVudGVkKCkge1xuICAgICAgICByZXR1cm4gcGQodGhpcykuY2FuY2VsZWRcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGZsYWcgdG8gYmUgY29tcG9zZWQuXG4gICAgICogQHR5cGUge2Jvb2xlYW59XG4gICAgICovXG4gICAgZ2V0IGNvbXBvc2VkKCkge1xuICAgICAgICByZXR1cm4gQm9vbGVhbihwZCh0aGlzKS5ldmVudC5jb21wb3NlZClcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVGhlIHVuaXggdGltZSBvZiB0aGlzIGV2ZW50LlxuICAgICAqIEB0eXBlIHtudW1iZXJ9XG4gICAgICovXG4gICAgZ2V0IHRpbWVTdGFtcCgpIHtcbiAgICAgICAgcmV0dXJuIHBkKHRoaXMpLnRpbWVTdGFtcFxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGFyZ2V0IG9mIHRoaXMgZXZlbnQuXG4gICAgICogQHR5cGUge0V2ZW50VGFyZ2V0fVxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgZ2V0IHNyY0VsZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiBwZCh0aGlzKS5ldmVudFRhcmdldFxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZmxhZyB0byBzdG9wIGV2ZW50IGJ1YmJsaW5nLlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgZ2V0IGNhbmNlbEJ1YmJsZSgpIHtcbiAgICAgICAgcmV0dXJuIHBkKHRoaXMpLnN0b3BwZWRcbiAgICB9LFxuICAgIHNldCBjYW5jZWxCdWJibGUodmFsdWUpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZGF0YSA9IHBkKHRoaXMpXG5cbiAgICAgICAgZGF0YS5zdG9wcGVkID0gdHJ1ZVxuICAgICAgICBpZiAodHlwZW9mIGRhdGEuZXZlbnQuY2FuY2VsQnViYmxlID09PSBcImJvb2xlYW5cIikge1xuICAgICAgICAgICAgZGF0YS5ldmVudC5jYW5jZWxCdWJibGUgPSB0cnVlXG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogVGhlIGZsYWcgdG8gaW5kaWNhdGUgY2FuY2VsbGF0aW9uIHN0YXRlLlxuICAgICAqIEB0eXBlIHtib29sZWFufVxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgZ2V0IHJldHVyblZhbHVlKCkge1xuICAgICAgICByZXR1cm4gIXBkKHRoaXMpLmNhbmNlbGVkXG4gICAgfSxcbiAgICBzZXQgcmV0dXJuVmFsdWUodmFsdWUpIHtcbiAgICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICAgICAgc2V0Q2FuY2VsRmxhZyhwZCh0aGlzKSlcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplIHRoaXMgZXZlbnQgb2JqZWN0LiBCdXQgZG8gbm90aGluZyB1bmRlciBldmVudCBkaXNwYXRjaGluZy5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gdHlwZSBUaGUgZXZlbnQgdHlwZS5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtidWJibGVzPWZhbHNlXSBUaGUgZmxhZyB0byBiZSBwb3NzaWJsZSB0byBidWJibGUgdXAuXG4gICAgICogQHBhcmFtIHtib29sZWFufSBbY2FuY2VsYWJsZT1mYWxzZV0gVGhlIGZsYWcgdG8gYmUgcG9zc2libGUgdG8gY2FuY2VsLlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgaW5pdEV2ZW50KCkge1xuICAgICAgICAvLyBEbyBub3RoaW5nLlxuICAgIH0sXG59XG5cbi8vIGBjb25zdHJ1Y3RvcmAgaXMgbm90IGVudW1lcmFibGUuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoRXZlbnQucHJvdG90eXBlLCBcImNvbnN0cnVjdG9yXCIsIHtcbiAgICB2YWx1ZTogRXZlbnQsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxufSlcblxuLy8gRW5zdXJlIGBldmVudCBpbnN0YW5jZW9mIHdpbmRvdy5FdmVudGAgaXMgYHRydWVgLlxuaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgdHlwZW9mIHdpbmRvdy5FdmVudCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihFdmVudC5wcm90b3R5cGUsIHdpbmRvdy5FdmVudC5wcm90b3R5cGUpXG5cbiAgICAvLyBNYWtlIGFzc29jaWF0aW9uIGZvciB3cmFwcGVycy5cbiAgICB3cmFwcGVycy5zZXQod2luZG93LkV2ZW50LnByb3RvdHlwZSwgRXZlbnQpXG59XG5cbi8qKlxuICogR2V0IHRoZSBwcm9wZXJ0eSBkZXNjcmlwdG9yIHRvIHJlZGlyZWN0IGEgZ2l2ZW4gcHJvcGVydHkuXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFByb3BlcnR5IG5hbWUgdG8gZGVmaW5lIHByb3BlcnR5IGRlc2NyaXB0b3IuXG4gKiBAcmV0dXJucyB7UHJvcGVydHlEZXNjcmlwdG9yfSBUaGUgcHJvcGVydHkgZGVzY3JpcHRvciB0byByZWRpcmVjdCB0aGUgcHJvcGVydHkuXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBkZWZpbmVSZWRpcmVjdERlc2NyaXB0b3Ioa2V5KSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZ2V0KCkge1xuICAgICAgICAgICAgcmV0dXJuIHBkKHRoaXMpLmV2ZW50W2tleV1cbiAgICAgICAgfSxcbiAgICAgICAgc2V0KHZhbHVlKSB7XG4gICAgICAgICAgICBwZCh0aGlzKS5ldmVudFtrZXldID0gdmFsdWVcbiAgICAgICAgfSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIH1cbn1cblxuLyoqXG4gKiBHZXQgdGhlIHByb3BlcnR5IGRlc2NyaXB0b3IgdG8gY2FsbCBhIGdpdmVuIG1ldGhvZCBwcm9wZXJ0eS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgUHJvcGVydHkgbmFtZSB0byBkZWZpbmUgcHJvcGVydHkgZGVzY3JpcHRvci5cbiAqIEByZXR1cm5zIHtQcm9wZXJ0eURlc2NyaXB0b3J9IFRoZSBwcm9wZXJ0eSBkZXNjcmlwdG9yIHRvIGNhbGwgdGhlIG1ldGhvZCBwcm9wZXJ0eS5cbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGRlZmluZUNhbGxEZXNjcmlwdG9yKGtleSkge1xuICAgIHJldHVybiB7XG4gICAgICAgIHZhbHVlKCkge1xuICAgICAgICAgICAgY29uc3QgZXZlbnQgPSBwZCh0aGlzKS5ldmVudFxuICAgICAgICAgICAgcmV0dXJuIGV2ZW50W2tleV0uYXBwbHkoZXZlbnQsIGFyZ3VtZW50cylcbiAgICAgICAgfSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgIH1cbn1cblxuLyoqXG4gKiBEZWZpbmUgbmV3IHdyYXBwZXIgY2xhc3MuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBCYXNlRXZlbnQgVGhlIGJhc2Ugd3JhcHBlciBjbGFzcy5cbiAqIEBwYXJhbSB7T2JqZWN0fSBwcm90byBUaGUgcHJvdG90eXBlIG9mIHRoZSBvcmlnaW5hbCBldmVudC5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gVGhlIGRlZmluZWQgd3JhcHBlciBjbGFzcy5cbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGRlZmluZVdyYXBwZXIoQmFzZUV2ZW50LCBwcm90bykge1xuICAgIGNvbnN0IGtleXMgPSBPYmplY3Qua2V5cyhwcm90bylcbiAgICBpZiAoa2V5cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIEJhc2VFdmVudFxuICAgIH1cblxuICAgIC8qKiBDdXN0b21FdmVudCAqL1xuICAgIGZ1bmN0aW9uIEN1c3RvbUV2ZW50KGV2ZW50VGFyZ2V0LCBldmVudCkge1xuICAgICAgICBCYXNlRXZlbnQuY2FsbCh0aGlzLCBldmVudFRhcmdldCwgZXZlbnQpXG4gICAgfVxuXG4gICAgQ3VzdG9tRXZlbnQucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShCYXNlRXZlbnQucHJvdG90eXBlLCB7XG4gICAgICAgIGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBDdXN0b21FdmVudCwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9LFxuICAgIH0pXG5cbiAgICAvLyBEZWZpbmUgYWNjZXNzb3JzLlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7ICsraSkge1xuICAgICAgICBjb25zdCBrZXkgPSBrZXlzW2ldXG4gICAgICAgIGlmICghKGtleSBpbiBCYXNlRXZlbnQucHJvdG90eXBlKSkge1xuICAgICAgICAgICAgY29uc3QgZGVzY3JpcHRvciA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IocHJvdG8sIGtleSlcbiAgICAgICAgICAgIGNvbnN0IGlzRnVuYyA9IHR5cGVvZiBkZXNjcmlwdG9yLnZhbHVlID09PSBcImZ1bmN0aW9uXCJcbiAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShcbiAgICAgICAgICAgICAgICBDdXN0b21FdmVudC5wcm90b3R5cGUsXG4gICAgICAgICAgICAgICAga2V5LFxuICAgICAgICAgICAgICAgIGlzRnVuY1xuICAgICAgICAgICAgICAgICAgICA/IGRlZmluZUNhbGxEZXNjcmlwdG9yKGtleSlcbiAgICAgICAgICAgICAgICAgICAgOiBkZWZpbmVSZWRpcmVjdERlc2NyaXB0b3Ioa2V5KVxuICAgICAgICAgICAgKVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIEN1c3RvbUV2ZW50XG59XG5cbi8qKlxuICogR2V0IHRoZSB3cmFwcGVyIGNsYXNzIG9mIGEgZ2l2ZW4gcHJvdG90eXBlLlxuICogQHBhcmFtIHtPYmplY3R9IHByb3RvIFRoZSBwcm90b3R5cGUgb2YgdGhlIG9yaWdpbmFsIGV2ZW50IHRvIGdldCBpdHMgd3JhcHBlci5cbiAqIEByZXR1cm5zIHtGdW5jdGlvbn0gVGhlIHdyYXBwZXIgY2xhc3MuXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBnZXRXcmFwcGVyKHByb3RvKSB7XG4gICAgaWYgKHByb3RvID09IG51bGwgfHwgcHJvdG8gPT09IE9iamVjdC5wcm90b3R5cGUpIHtcbiAgICAgICAgcmV0dXJuIEV2ZW50XG4gICAgfVxuXG4gICAgbGV0IHdyYXBwZXIgPSB3cmFwcGVycy5nZXQocHJvdG8pXG4gICAgaWYgKHdyYXBwZXIgPT0gbnVsbCkge1xuICAgICAgICB3cmFwcGVyID0gZGVmaW5lV3JhcHBlcihnZXRXcmFwcGVyKE9iamVjdC5nZXRQcm90b3R5cGVPZihwcm90bykpLCBwcm90bylcbiAgICAgICAgd3JhcHBlcnMuc2V0KHByb3RvLCB3cmFwcGVyKVxuICAgIH1cbiAgICByZXR1cm4gd3JhcHBlclxufVxuXG4vKipcbiAqIFdyYXAgYSBnaXZlbiBldmVudCB0byBtYW5hZ2VtZW50IGEgZGlzcGF0Y2hpbmcuXG4gKiBAcGFyYW0ge0V2ZW50VGFyZ2V0fSBldmVudFRhcmdldCBUaGUgZXZlbnQgdGFyZ2V0IG9mIHRoaXMgZGlzcGF0Y2hpbmcuXG4gKiBAcGFyYW0ge09iamVjdH0gZXZlbnQgVGhlIGV2ZW50IHRvIHdyYXAuXG4gKiBAcmV0dXJucyB7RXZlbnR9IFRoZSB3cmFwcGVyIGluc3RhbmNlLlxuICogQHByaXZhdGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHdyYXBFdmVudChldmVudFRhcmdldCwgZXZlbnQpIHtcbiAgICBjb25zdCBXcmFwcGVyID0gZ2V0V3JhcHBlcihPYmplY3QuZ2V0UHJvdG90eXBlT2YoZXZlbnQpKVxuICAgIHJldHVybiBuZXcgV3JhcHBlcihldmVudFRhcmdldCwgZXZlbnQpXG59XG5cbi8qKlxuICogR2V0IHRoZSBpbW1lZGlhdGVTdG9wcGVkIGZsYWcgb2YgYSBnaXZlbiBldmVudC5cbiAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IFRoZSBldmVudCB0byBnZXQuXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gVGhlIGZsYWcgdG8gc3RvcCBwcm9wYWdhdGlvbiBpbW1lZGlhdGVseS5cbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1N0b3BwZWQoZXZlbnQpIHtcbiAgICByZXR1cm4gcGQoZXZlbnQpLmltbWVkaWF0ZVN0b3BwZWRcbn1cblxuLyoqXG4gKiBTZXQgdGhlIGN1cnJlbnQgZXZlbnQgcGhhc2Ugb2YgYSBnaXZlbiBldmVudC5cbiAqIEBwYXJhbSB7RXZlbnR9IGV2ZW50IFRoZSBldmVudCB0byBzZXQgY3VycmVudCB0YXJnZXQuXG4gKiBAcGFyYW0ge251bWJlcn0gZXZlbnRQaGFzZSBOZXcgZXZlbnQgcGhhc2UuXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRFdmVudFBoYXNlKGV2ZW50LCBldmVudFBoYXNlKSB7XG4gICAgcGQoZXZlbnQpLmV2ZW50UGhhc2UgPSBldmVudFBoYXNlXG59XG5cbi8qKlxuICogU2V0IHRoZSBjdXJyZW50IHRhcmdldCBvZiBhIGdpdmVuIGV2ZW50LlxuICogQHBhcmFtIHtFdmVudH0gZXZlbnQgVGhlIGV2ZW50IHRvIHNldCBjdXJyZW50IHRhcmdldC5cbiAqIEBwYXJhbSB7RXZlbnRUYXJnZXR8bnVsbH0gY3VycmVudFRhcmdldCBOZXcgY3VycmVudCB0YXJnZXQuXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqIEBwcml2YXRlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRDdXJyZW50VGFyZ2V0KGV2ZW50LCBjdXJyZW50VGFyZ2V0KSB7XG4gICAgcGQoZXZlbnQpLmN1cnJlbnRUYXJnZXQgPSBjdXJyZW50VGFyZ2V0XG59XG5cbi8qKlxuICogU2V0IGEgcGFzc2l2ZSBsaXN0ZW5lciBvZiBhIGdpdmVuIGV2ZW50LlxuICogQHBhcmFtIHtFdmVudH0gZXZlbnQgVGhlIGV2ZW50IHRvIHNldCBjdXJyZW50IHRhcmdldC5cbiAqIEBwYXJhbSB7RnVuY3Rpb258bnVsbH0gcGFzc2l2ZUxpc3RlbmVyIE5ldyBwYXNzaXZlIGxpc3RlbmVyLlxuICogQHJldHVybnMge3ZvaWR9XG4gKiBAcHJpdmF0ZVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0UGFzc2l2ZUxpc3RlbmVyKGV2ZW50LCBwYXNzaXZlTGlzdGVuZXIpIHtcbiAgICBwZChldmVudCkucGFzc2l2ZUxpc3RlbmVyID0gcGFzc2l2ZUxpc3RlbmVyXG59XG4iLCAiaW1wb3J0IHtcbiAgICBpc1N0b3BwZWQsXG4gICAgc2V0Q3VycmVudFRhcmdldCxcbiAgICBzZXRFdmVudFBoYXNlLFxuICAgIHNldFBhc3NpdmVMaXN0ZW5lcixcbiAgICB3cmFwRXZlbnQsXG59IGZyb20gXCIuL2V2ZW50Lm1qc1wiXG5cbi8qKlxuICogQHR5cGVkZWYge29iamVjdH0gTGlzdGVuZXJOb2RlXG4gKiBAcHJvcGVydHkge0Z1bmN0aW9ufSBsaXN0ZW5lclxuICogQHByb3BlcnR5IHsxfDJ8M30gbGlzdGVuZXJUeXBlXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IHBhc3NpdmVcbiAqIEBwcm9wZXJ0eSB7Ym9vbGVhbn0gb25jZVxuICogQHByb3BlcnR5IHtMaXN0ZW5lck5vZGV8bnVsbH0gbmV4dFxuICogQHByaXZhdGVcbiAqL1xuXG4vKipcbiAqIEB0eXBlIHtXZWFrTWFwPG9iamVjdCwgTWFwPHN0cmluZywgTGlzdGVuZXJOb2RlPj59XG4gKiBAcHJpdmF0ZVxuICovXG5jb25zdCBsaXN0ZW5lcnNNYXAgPSBuZXcgV2Vha01hcCgpXG5cbi8vIExpc3RlbmVyIHR5cGVzXG5jb25zdCBDQVBUVVJFID0gMVxuY29uc3QgQlVCQkxFID0gMlxuY29uc3QgQVRUUklCVVRFID0gM1xuXG4vKipcbiAqIENoZWNrIHdoZXRoZXIgYSBnaXZlbiB2YWx1ZSBpcyBhbiBvYmplY3Qgb3Igbm90LlxuICogQHBhcmFtIHthbnl9IHggVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IGB0cnVlYCBpZiB0aGUgdmFsdWUgaXMgYW4gb2JqZWN0LlxuICovXG5mdW5jdGlvbiBpc09iamVjdCh4KSB7XG4gICAgcmV0dXJuIHggIT09IG51bGwgJiYgdHlwZW9mIHggPT09IFwib2JqZWN0XCIgLy9lc2xpbnQtZGlzYWJsZS1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4XG59XG5cbi8qKlxuICogR2V0IGxpc3RlbmVycy5cbiAqIEBwYXJhbSB7RXZlbnRUYXJnZXR9IGV2ZW50VGFyZ2V0IFRoZSBldmVudCB0YXJnZXQgdG8gZ2V0LlxuICogQHJldHVybnMge01hcDxzdHJpbmcsIExpc3RlbmVyTm9kZT59IFRoZSBsaXN0ZW5lcnMuXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBnZXRMaXN0ZW5lcnMoZXZlbnRUYXJnZXQpIHtcbiAgICBjb25zdCBsaXN0ZW5lcnMgPSBsaXN0ZW5lcnNNYXAuZ2V0KGV2ZW50VGFyZ2V0KVxuICAgIGlmIChsaXN0ZW5lcnMgPT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgXCIndGhpcycgaXMgZXhwZWN0ZWQgYW4gRXZlbnRUYXJnZXQgb2JqZWN0LCBidXQgZ290IGFub3RoZXIgdmFsdWUuXCJcbiAgICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gbGlzdGVuZXJzXG59XG5cbi8qKlxuICogR2V0IHRoZSBwcm9wZXJ0eSBkZXNjcmlwdG9yIGZvciB0aGUgZXZlbnQgYXR0cmlidXRlIG9mIGEgZ2l2ZW4gZXZlbnQuXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lIFRoZSBldmVudCBuYW1lIHRvIGdldCBwcm9wZXJ0eSBkZXNjcmlwdG9yLlxuICogQHJldHVybnMge1Byb3BlcnR5RGVzY3JpcHRvcn0gVGhlIHByb3BlcnR5IGRlc2NyaXB0b3IuXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBkZWZpbmVFdmVudEF0dHJpYnV0ZURlc2NyaXB0b3IoZXZlbnROYW1lKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZ2V0KCkge1xuICAgICAgICAgICAgY29uc3QgbGlzdGVuZXJzID0gZ2V0TGlzdGVuZXJzKHRoaXMpXG4gICAgICAgICAgICBsZXQgbm9kZSA9IGxpc3RlbmVycy5nZXQoZXZlbnROYW1lKVxuICAgICAgICAgICAgd2hpbGUgKG5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGlmIChub2RlLmxpc3RlbmVyVHlwZSA9PT0gQVRUUklCVVRFKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBub2RlLmxpc3RlbmVyXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIG5vZGUgPSBub2RlLm5leHRcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsXG4gICAgICAgIH0sXG5cbiAgICAgICAgc2V0KGxpc3RlbmVyKSB7XG4gICAgICAgICAgICBpZiAodHlwZW9mIGxpc3RlbmVyICE9PSBcImZ1bmN0aW9uXCIgJiYgIWlzT2JqZWN0KGxpc3RlbmVyKSkge1xuICAgICAgICAgICAgICAgIGxpc3RlbmVyID0gbnVsbCAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdCBsaXN0ZW5lcnMgPSBnZXRMaXN0ZW5lcnModGhpcylcblxuICAgICAgICAgICAgLy8gVHJhdmVyc2UgdG8gdGhlIHRhaWwgd2hpbGUgcmVtb3Zpbmcgb2xkIHZhbHVlLlxuICAgICAgICAgICAgbGV0IHByZXYgPSBudWxsXG4gICAgICAgICAgICBsZXQgbm9kZSA9IGxpc3RlbmVycy5nZXQoZXZlbnROYW1lKVxuICAgICAgICAgICAgd2hpbGUgKG5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGlmIChub2RlLmxpc3RlbmVyVHlwZSA9PT0gQVRUUklCVVRFKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFJlbW92ZSBvbGQgdmFsdWUuXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcmV2ICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwcmV2Lm5leHQgPSBub2RlLm5leHRcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChub2RlLm5leHQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RlbmVycy5zZXQoZXZlbnROYW1lLCBub2RlLm5leHQpXG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaXN0ZW5lcnMuZGVsZXRlKGV2ZW50TmFtZSlcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHByZXYgPSBub2RlXG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbm9kZSA9IG5vZGUubmV4dFxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBBZGQgbmV3IHZhbHVlLlxuICAgICAgICAgICAgaWYgKGxpc3RlbmVyICE9PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgbmV3Tm9kZSA9IHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdGVuZXIsXG4gICAgICAgICAgICAgICAgICAgIGxpc3RlbmVyVHlwZTogQVRUUklCVVRFLFxuICAgICAgICAgICAgICAgICAgICBwYXNzaXZlOiBmYWxzZSxcbiAgICAgICAgICAgICAgICAgICAgb25jZTogZmFsc2UsXG4gICAgICAgICAgICAgICAgICAgIG5leHQ6IG51bGwsXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChwcmV2ID09PSBudWxsKSB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3RlbmVycy5zZXQoZXZlbnROYW1lLCBuZXdOb2RlKVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHByZXYubmV4dCA9IG5ld05vZGVcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICB9XG59XG5cbi8qKlxuICogRGVmaW5lIGFuIGV2ZW50IGF0dHJpYnV0ZSAoZS5nLiBgZXZlbnRUYXJnZXQub25jbGlja2ApLlxuICogQHBhcmFtIHtPYmplY3R9IGV2ZW50VGFyZ2V0UHJvdG90eXBlIFRoZSBldmVudCB0YXJnZXQgcHJvdG90eXBlIHRvIGRlZmluZSBhbiBldmVudCBhdHRyYml0ZS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudE5hbWUgVGhlIGV2ZW50IG5hbWUgdG8gZGVmaW5lLlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmZ1bmN0aW9uIGRlZmluZUV2ZW50QXR0cmlidXRlKGV2ZW50VGFyZ2V0UHJvdG90eXBlLCBldmVudE5hbWUpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoXG4gICAgICAgIGV2ZW50VGFyZ2V0UHJvdG90eXBlLFxuICAgICAgICBgb24ke2V2ZW50TmFtZX1gLFxuICAgICAgICBkZWZpbmVFdmVudEF0dHJpYnV0ZURlc2NyaXB0b3IoZXZlbnROYW1lKVxuICAgIClcbn1cblxuLyoqXG4gKiBEZWZpbmUgYSBjdXN0b20gRXZlbnRUYXJnZXQgd2l0aCBldmVudCBhdHRyaWJ1dGVzLlxuICogQHBhcmFtIHtzdHJpbmdbXX0gZXZlbnROYW1lcyBFdmVudCBuYW1lcyBmb3IgZXZlbnQgYXR0cmlidXRlcy5cbiAqIEByZXR1cm5zIHtFdmVudFRhcmdldH0gVGhlIGN1c3RvbSBFdmVudFRhcmdldC5cbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIGRlZmluZUN1c3RvbUV2ZW50VGFyZ2V0KGV2ZW50TmFtZXMpIHtcbiAgICAvKiogQ3VzdG9tRXZlbnRUYXJnZXQgKi9cbiAgICBmdW5jdGlvbiBDdXN0b21FdmVudFRhcmdldCgpIHtcbiAgICAgICAgRXZlbnRUYXJnZXQuY2FsbCh0aGlzKVxuICAgIH1cblxuICAgIEN1c3RvbUV2ZW50VGFyZ2V0LnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRXZlbnRUYXJnZXQucHJvdG90eXBlLCB7XG4gICAgICAgIGNvbnN0cnVjdG9yOiB7XG4gICAgICAgICAgICB2YWx1ZTogQ3VzdG9tRXZlbnRUYXJnZXQsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICB9KVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBldmVudE5hbWVzLmxlbmd0aDsgKytpKSB7XG4gICAgICAgIGRlZmluZUV2ZW50QXR0cmlidXRlKEN1c3RvbUV2ZW50VGFyZ2V0LnByb3RvdHlwZSwgZXZlbnROYW1lc1tpXSlcbiAgICB9XG5cbiAgICByZXR1cm4gQ3VzdG9tRXZlbnRUYXJnZXRcbn1cblxuLyoqXG4gKiBFdmVudFRhcmdldC5cbiAqXG4gKiAtIFRoaXMgaXMgY29uc3RydWN0b3IgaWYgbm8gYXJndW1lbnRzLlxuICogLSBUaGlzIGlzIGEgZnVuY3Rpb24gd2hpY2ggcmV0dXJucyBhIEN1c3RvbUV2ZW50VGFyZ2V0IGNvbnN0cnVjdG9yIGlmIHRoZXJlIGFyZSBhcmd1bWVudHMuXG4gKlxuICogRm9yIGV4YW1wbGU6XG4gKlxuICogICAgIGNsYXNzIEEgZXh0ZW5kcyBFdmVudFRhcmdldCB7fVxuICogICAgIGNsYXNzIEIgZXh0ZW5kcyBFdmVudFRhcmdldChcIm1lc3NhZ2VcIikge31cbiAqICAgICBjbGFzcyBDIGV4dGVuZHMgRXZlbnRUYXJnZXQoXCJtZXNzYWdlXCIsIFwiZXJyb3JcIikge31cbiAqICAgICBjbGFzcyBEIGV4dGVuZHMgRXZlbnRUYXJnZXQoW1wibWVzc2FnZVwiLCBcImVycm9yXCJdKSB7fVxuICovXG5mdW5jdGlvbiBFdmVudFRhcmdldCgpIHtcbiAgICAvKmVzbGludC1kaXNhYmxlIGNvbnNpc3RlbnQtcmV0dXJuICovXG4gICAgaWYgKHRoaXMgaW5zdGFuY2VvZiBFdmVudFRhcmdldCkge1xuICAgICAgICBsaXN0ZW5lcnNNYXAuc2V0KHRoaXMsIG5ldyBNYXAoKSlcbiAgICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxICYmIEFycmF5LmlzQXJyYXkoYXJndW1lbnRzWzBdKSkge1xuICAgICAgICByZXR1cm4gZGVmaW5lQ3VzdG9tRXZlbnRUYXJnZXQoYXJndW1lbnRzWzBdKVxuICAgIH1cbiAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgY29uc3QgdHlwZXMgPSBuZXcgQXJyYXkoYXJndW1lbnRzLmxlbmd0aClcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgICAgIHR5cGVzW2ldID0gYXJndW1lbnRzW2ldXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGRlZmluZUN1c3RvbUV2ZW50VGFyZ2V0KHR5cGVzKVxuICAgIH1cbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpXG4gICAgLyplc2xpbnQtZW5hYmxlIGNvbnNpc3RlbnQtcmV0dXJuICovXG59XG5cbi8vIFNob3VsZCBiZSBlbnVtZXJhYmxlLCBidXQgY2xhc3MgbWV0aG9kcyBhcmUgbm90IGVudW1lcmFibGUuXG5FdmVudFRhcmdldC5wcm90b3R5cGUgPSB7XG4gICAgLyoqXG4gICAgICogQWRkIGEgZ2l2ZW4gbGlzdGVuZXIgdG8gdGhpcyBldmVudCB0YXJnZXQuXG4gICAgICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSBUaGUgZXZlbnQgbmFtZSB0byBhZGQuXG4gICAgICogQHBhcmFtIHtGdW5jdGlvbn0gbGlzdGVuZXIgVGhlIGxpc3RlbmVyIHRvIGFkZC5cbiAgICAgKiBAcGFyYW0ge2Jvb2xlYW58e2NhcHR1cmU/OmJvb2xlYW4scGFzc2l2ZT86Ym9vbGVhbixvbmNlPzpib29sZWFufX0gW29wdGlvbnNdIFRoZSBvcHRpb25zIGZvciB0aGlzIGxpc3RlbmVyLlxuICAgICAqIEByZXR1cm5zIHt2b2lkfVxuICAgICAqL1xuICAgIGFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBsaXN0ZW5lciwgb3B0aW9ucykge1xuICAgICAgICBpZiAobGlzdGVuZXIgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBsaXN0ZW5lciAhPT0gXCJmdW5jdGlvblwiICYmICFpc09iamVjdChsaXN0ZW5lcikpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCInbGlzdGVuZXInIHNob3VsZCBiZSBhIGZ1bmN0aW9uIG9yIGFuIG9iamVjdC5cIilcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxpc3RlbmVycyA9IGdldExpc3RlbmVycyh0aGlzKVxuICAgICAgICBjb25zdCBvcHRpb25zSXNPYmogPSBpc09iamVjdChvcHRpb25zKVxuICAgICAgICBjb25zdCBjYXB0dXJlID0gb3B0aW9uc0lzT2JqXG4gICAgICAgICAgICA/IEJvb2xlYW4ob3B0aW9ucy5jYXB0dXJlKVxuICAgICAgICAgICAgOiBCb29sZWFuKG9wdGlvbnMpXG4gICAgICAgIGNvbnN0IGxpc3RlbmVyVHlwZSA9IGNhcHR1cmUgPyBDQVBUVVJFIDogQlVCQkxFXG4gICAgICAgIGNvbnN0IG5ld05vZGUgPSB7XG4gICAgICAgICAgICBsaXN0ZW5lcixcbiAgICAgICAgICAgIGxpc3RlbmVyVHlwZSxcbiAgICAgICAgICAgIHBhc3NpdmU6IG9wdGlvbnNJc09iaiAmJiBCb29sZWFuKG9wdGlvbnMucGFzc2l2ZSksXG4gICAgICAgICAgICBvbmNlOiBvcHRpb25zSXNPYmogJiYgQm9vbGVhbihvcHRpb25zLm9uY2UpLFxuICAgICAgICAgICAgbmV4dDogbnVsbCxcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFNldCBpdCBhcyB0aGUgZmlyc3Qgbm9kZSBpZiB0aGUgZmlyc3Qgbm9kZSBpcyBudWxsLlxuICAgICAgICBsZXQgbm9kZSA9IGxpc3RlbmVycy5nZXQoZXZlbnROYW1lKVxuICAgICAgICBpZiAobm9kZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBsaXN0ZW5lcnMuc2V0KGV2ZW50TmFtZSwgbmV3Tm9kZSlcbiAgICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgLy8gVHJhdmVyc2UgdG8gdGhlIHRhaWwgd2hpbGUgY2hlY2tpbmcgZHVwbGljYXRpb24uLlxuICAgICAgICBsZXQgcHJldiA9IG51bGxcbiAgICAgICAgd2hpbGUgKG5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIG5vZGUubGlzdGVuZXIgPT09IGxpc3RlbmVyICYmXG4gICAgICAgICAgICAgICAgbm9kZS5saXN0ZW5lclR5cGUgPT09IGxpc3RlbmVyVHlwZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgLy8gU2hvdWxkIGlnbm9yZSBkdXBsaWNhdGlvbi5cbiAgICAgICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHByZXYgPSBub2RlXG4gICAgICAgICAgICBub2RlID0gbm9kZS5uZXh0XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBZGQgaXQuXG4gICAgICAgIHByZXYubmV4dCA9IG5ld05vZGVcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIGEgZ2l2ZW4gbGlzdGVuZXIgZnJvbSB0aGlzIGV2ZW50IHRhcmdldC5cbiAgICAgKiBAcGFyYW0ge3N0cmluZ30gZXZlbnROYW1lIFRoZSBldmVudCBuYW1lIHRvIHJlbW92ZS5cbiAgICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBsaXN0ZW5lciBUaGUgbGlzdGVuZXIgdG8gcmVtb3ZlLlxuICAgICAqIEBwYXJhbSB7Ym9vbGVhbnx7Y2FwdHVyZT86Ym9vbGVhbixwYXNzaXZlPzpib29sZWFuLG9uY2U/OmJvb2xlYW59fSBbb3B0aW9uc10gVGhlIG9wdGlvbnMgZm9yIHRoaXMgbGlzdGVuZXIuXG4gICAgICogQHJldHVybnMge3ZvaWR9XG4gICAgICovXG4gICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGxpc3RlbmVyLCBvcHRpb25zKSB7XG4gICAgICAgIGlmIChsaXN0ZW5lciA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGxpc3RlbmVycyA9IGdldExpc3RlbmVycyh0aGlzKVxuICAgICAgICBjb25zdCBjYXB0dXJlID0gaXNPYmplY3Qob3B0aW9ucylcbiAgICAgICAgICAgID8gQm9vbGVhbihvcHRpb25zLmNhcHR1cmUpXG4gICAgICAgICAgICA6IEJvb2xlYW4ob3B0aW9ucylcbiAgICAgICAgY29uc3QgbGlzdGVuZXJUeXBlID0gY2FwdHVyZSA/IENBUFRVUkUgOiBCVUJCTEVcblxuICAgICAgICBsZXQgcHJldiA9IG51bGxcbiAgICAgICAgbGV0IG5vZGUgPSBsaXN0ZW5lcnMuZ2V0KGV2ZW50TmFtZSlcbiAgICAgICAgd2hpbGUgKG5vZGUgIT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIG5vZGUubGlzdGVuZXIgPT09IGxpc3RlbmVyICYmXG4gICAgICAgICAgICAgICAgbm9kZS5saXN0ZW5lclR5cGUgPT09IGxpc3RlbmVyVHlwZVxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgaWYgKHByZXYgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgcHJldi5uZXh0ID0gbm9kZS5uZXh0XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChub2RlLm5leHQgIT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgbGlzdGVuZXJzLnNldChldmVudE5hbWUsIG5vZGUubmV4dClcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBsaXN0ZW5lcnMuZGVsZXRlKGV2ZW50TmFtZSlcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHByZXYgPSBub2RlXG4gICAgICAgICAgICBub2RlID0gbm9kZS5uZXh0XG4gICAgICAgIH1cbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogRGlzcGF0Y2ggYSBnaXZlbiBldmVudC5cbiAgICAgKiBAcGFyYW0ge0V2ZW50fHt0eXBlOnN0cmluZ319IGV2ZW50IFRoZSBldmVudCB0byBkaXNwYXRjaC5cbiAgICAgKiBAcmV0dXJucyB7Ym9vbGVhbn0gYGZhbHNlYCBpZiBjYW5jZWxlZC5cbiAgICAgKi9cbiAgICBkaXNwYXRjaEV2ZW50KGV2ZW50KSB7XG4gICAgICAgIGlmIChldmVudCA9PSBudWxsIHx8IHR5cGVvZiBldmVudC50eXBlICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdcImV2ZW50LnR5cGVcIiBzaG91bGQgYmUgYSBzdHJpbmcuJylcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIElmIGxpc3RlbmVycyBhcmVuJ3QgcmVnaXN0ZXJlZCwgdGVybWluYXRlLlxuICAgICAgICBjb25zdCBsaXN0ZW5lcnMgPSBnZXRMaXN0ZW5lcnModGhpcylcbiAgICAgICAgY29uc3QgZXZlbnROYW1lID0gZXZlbnQudHlwZVxuICAgICAgICBsZXQgbm9kZSA9IGxpc3RlbmVycy5nZXQoZXZlbnROYW1lKVxuICAgICAgICBpZiAobm9kZSA9PSBudWxsKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2luY2Ugd2UgY2Fubm90IHJld3JpdGUgc2V2ZXJhbCBwcm9wZXJ0aWVzLCBzbyB3cmFwIG9iamVjdC5cbiAgICAgICAgY29uc3Qgd3JhcHBlZEV2ZW50ID0gd3JhcEV2ZW50KHRoaXMsIGV2ZW50KVxuXG4gICAgICAgIC8vIFRoaXMgZG9lc24ndCBwcm9jZXNzIGNhcHR1cmluZyBwaGFzZSBhbmQgYnViYmxpbmcgcGhhc2UuXG4gICAgICAgIC8vIFRoaXMgaXNuJ3QgcGFydGljaXBhdGluZyBpbiBhIHRyZWUuXG4gICAgICAgIGxldCBwcmV2ID0gbnVsbFxuICAgICAgICB3aGlsZSAobm9kZSAhPSBudWxsKSB7XG4gICAgICAgICAgICAvLyBSZW1vdmUgdGhpcyBsaXN0ZW5lciBpZiBpdCdzIG9uY2VcbiAgICAgICAgICAgIGlmIChub2RlLm9uY2UpIHtcbiAgICAgICAgICAgICAgICBpZiAocHJldiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBwcmV2Lm5leHQgPSBub2RlLm5leHRcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG5vZGUubmV4dCAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgICAgICBsaXN0ZW5lcnMuc2V0KGV2ZW50TmFtZSwgbm9kZS5uZXh0KVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3RlbmVycy5kZWxldGUoZXZlbnROYW1lKVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcHJldiA9IG5vZGVcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQ2FsbCB0aGlzIGxpc3RlbmVyXG4gICAgICAgICAgICBzZXRQYXNzaXZlTGlzdGVuZXIoXG4gICAgICAgICAgICAgICAgd3JhcHBlZEV2ZW50LFxuICAgICAgICAgICAgICAgIG5vZGUucGFzc2l2ZSA/IG5vZGUubGlzdGVuZXIgOiBudWxsXG4gICAgICAgICAgICApXG4gICAgICAgICAgICBpZiAodHlwZW9mIG5vZGUubGlzdGVuZXIgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIG5vZGUubGlzdGVuZXIuY2FsbCh0aGlzLCB3cmFwcGVkRXZlbnQpXG4gICAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGVvZiBjb25zb2xlICE9PSBcInVuZGVmaW5lZFwiICYmXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlb2YgY29uc29sZS5lcnJvciA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlcnIpXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgICAgICAgIG5vZGUubGlzdGVuZXJUeXBlICE9PSBBVFRSSUJVVEUgJiZcbiAgICAgICAgICAgICAgICB0eXBlb2Ygbm9kZS5saXN0ZW5lci5oYW5kbGVFdmVudCA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBub2RlLmxpc3RlbmVyLmhhbmRsZUV2ZW50KHdyYXBwZWRFdmVudClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQnJlYWsgaWYgYGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbmAgd2FzIGNhbGxlZC5cbiAgICAgICAgICAgIGlmIChpc1N0b3BwZWQod3JhcHBlZEV2ZW50KSkge1xuICAgICAgICAgICAgICAgIGJyZWFrXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG5vZGUgPSBub2RlLm5leHRcbiAgICAgICAgfVxuICAgICAgICBzZXRQYXNzaXZlTGlzdGVuZXIod3JhcHBlZEV2ZW50LCBudWxsKVxuICAgICAgICBzZXRFdmVudFBoYXNlKHdyYXBwZWRFdmVudCwgMClcbiAgICAgICAgc2V0Q3VycmVudFRhcmdldCh3cmFwcGVkRXZlbnQsIG51bGwpXG5cbiAgICAgICAgcmV0dXJuICF3cmFwcGVkRXZlbnQuZGVmYXVsdFByZXZlbnRlZFxuICAgIH0sXG59XG5cbi8vIGBjb25zdHJ1Y3RvcmAgaXMgbm90IGVudW1lcmFibGUuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoRXZlbnRUYXJnZXQucHJvdG90eXBlLCBcImNvbnN0cnVjdG9yXCIsIHtcbiAgICB2YWx1ZTogRXZlbnRUYXJnZXQsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHdyaXRhYmxlOiB0cnVlLFxufSlcblxuLy8gRW5zdXJlIGBldmVudFRhcmdldCBpbnN0YW5jZW9mIHdpbmRvdy5FdmVudFRhcmdldGAgaXMgYHRydWVgLlxuaWYgKFxuICAgIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiZcbiAgICB0eXBlb2Ygd2luZG93LkV2ZW50VGFyZ2V0ICE9PSBcInVuZGVmaW5lZFwiXG4pIHtcbiAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YoRXZlbnRUYXJnZXQucHJvdG90eXBlLCB3aW5kb3cuRXZlbnRUYXJnZXQucHJvdG90eXBlKVxufVxuXG5leHBvcnQgeyBkZWZpbmVFdmVudEF0dHJpYnV0ZSwgRXZlbnRUYXJnZXQgfVxuZXhwb3J0IGRlZmF1bHQgRXZlbnRUYXJnZXRcbiIsICJpbXBvcnQge1xuICAgIC8vIEV2ZW50LFxuICAgIEV2ZW50VGFyZ2V0LFxuICAgIC8vIFR5cGUsXG4gICAgZGVmaW5lRXZlbnRBdHRyaWJ1dGUsXG59IGZyb20gXCJldmVudC10YXJnZXQtc2hpbVwiXG5cbi8vIEtub3duIExpbWl0YXRpb25cbi8vICAgVXNlIGBhbnlgIGJlY2F1c2UgdGhlIHR5cGUgb2YgYEFib3J0U2lnbmFsYCBpbiBgbGliLmRvbS5kLnRzYCBpcyB3cm9uZyBhbmRcbi8vICAgdG8gbWFrZSBhc3NpZ25hYmxlIG91ciBgQWJvcnRTaWduYWxgIGludG8gdGhhdC5cbi8vICAgaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9UU0pTLWxpYi1nZW5lcmF0b3IvcHVsbC82MjNcbnR5cGUgRXZlbnRzID0ge1xuICAgIGFib3J0OiBhbnkgLy8gRXZlbnQgJiBUeXBlPFwiYWJvcnRcIj5cbn1cbnR5cGUgRXZlbnRBdHRyaWJ1dGVzID0ge1xuICAgIG9uYWJvcnQ6IGFueSAvLyBFdmVudCAmIFR5cGU8XCJhYm9ydFwiPlxufVxuXG4vKipcbiAqIFRoZSBzaWduYWwgY2xhc3MuXG4gKiBAc2VlIGh0dHBzOi8vZG9tLnNwZWMud2hhdHdnLm9yZy8jYWJvcnRzaWduYWxcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQWJvcnRTaWduYWwgZXh0ZW5kcyBFdmVudFRhcmdldDxFdmVudHMsIEV2ZW50QXR0cmlidXRlcz4ge1xuICAgIC8qKlxuICAgICAqIEFib3J0U2lnbmFsIGNhbm5vdCBiZSBjb25zdHJ1Y3RlZCBkaXJlY3RseS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKClcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkFib3J0U2lnbmFsIGNhbm5vdCBiZSBjb25zdHJ1Y3RlZCBkaXJlY3RseVwiKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYHRydWVgIGlmIHRoaXMgYEFib3J0U2lnbmFsYCdzIGBBYm9ydENvbnRyb2xsZXJgIGhhcyBzaWduYWxlZCB0byBhYm9ydCwgYW5kIGBmYWxzZWAgb3RoZXJ3aXNlLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgYWJvcnRlZCgpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgYWJvcnRlZCA9IGFib3J0ZWRGbGFncy5nZXQodGhpcylcbiAgICAgICAgaWYgKHR5cGVvZiBhYm9ydGVkICE9PSBcImJvb2xlYW5cIikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICAgICBgRXhwZWN0ZWQgJ3RoaXMnIHRvIGJlIGFuICdBYm9ydFNpZ25hbCcgb2JqZWN0LCBidXQgZ290ICR7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMgPT09IG51bGwgPyBcIm51bGxcIiA6IHR5cGVvZiB0aGlzXG4gICAgICAgICAgICAgICAgfWAsXG4gICAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGFib3J0ZWRcbiAgICB9XG59XG5kZWZpbmVFdmVudEF0dHJpYnV0ZShBYm9ydFNpZ25hbC5wcm90b3R5cGUsIFwiYWJvcnRcIilcblxuLyoqXG4gKiBDcmVhdGUgYW4gQWJvcnRTaWduYWwgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQWJvcnRTaWduYWwoKTogQWJvcnRTaWduYWwge1xuICAgIGNvbnN0IHNpZ25hbCA9IE9iamVjdC5jcmVhdGUoQWJvcnRTaWduYWwucHJvdG90eXBlKVxuICAgIEV2ZW50VGFyZ2V0LmNhbGwoc2lnbmFsKVxuICAgIGFib3J0ZWRGbGFncy5zZXQoc2lnbmFsLCBmYWxzZSlcbiAgICByZXR1cm4gc2lnbmFsXG59XG5cbi8qKlxuICogQWJvcnQgYSBnaXZlbiBzaWduYWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhYm9ydFNpZ25hbChzaWduYWw6IEFib3J0U2lnbmFsKTogdm9pZCB7XG4gICAgaWYgKGFib3J0ZWRGbGFncy5nZXQoc2lnbmFsKSAhPT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgYWJvcnRlZEZsYWdzLnNldChzaWduYWwsIHRydWUpXG4gICAgc2lnbmFsLmRpc3BhdGNoRXZlbnQ8XCJhYm9ydFwiPih7IHR5cGU6IFwiYWJvcnRcIiB9KVxufVxuXG4vKipcbiAqIEFib3J0ZWQgZmxhZyBmb3IgZWFjaCBpbnN0YW5jZXMuXG4gKi9cbmNvbnN0IGFib3J0ZWRGbGFncyA9IG5ldyBXZWFrTWFwPEFib3J0U2lnbmFsLCBib29sZWFuPigpXG5cbi8vIFByb3BlcnRpZXMgc2hvdWxkIGJlIGVudW1lcmFibGUuXG5PYmplY3QuZGVmaW5lUHJvcGVydGllcyhBYm9ydFNpZ25hbC5wcm90b3R5cGUsIHtcbiAgICBhYm9ydGVkOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbn0pXG5cbi8vIGB0b1N0cmluZygpYCBzaG91bGQgcmV0dXJuIGBcIltvYmplY3QgQWJvcnRTaWduYWxdXCJgXG5pZiAodHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHR5cGVvZiBTeW1ib2wudG9TdHJpbmdUYWcgPT09IFwic3ltYm9sXCIpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoQWJvcnRTaWduYWwucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcsIHtcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICB2YWx1ZTogXCJBYm9ydFNpZ25hbFwiLFxuICAgIH0pXG59XG4iLCAiaW1wb3J0IEFib3J0U2lnbmFsLCB7IGFib3J0U2lnbmFsLCBjcmVhdGVBYm9ydFNpZ25hbCB9IGZyb20gXCIuL2Fib3J0LXNpZ25hbFwiXG5cbi8qKlxuICogVGhlIEFib3J0Q29udHJvbGxlci5cbiAqIEBzZWUgaHR0cHM6Ly9kb20uc3BlYy53aGF0d2cub3JnLyNhYm9ydGNvbnRyb2xsZXJcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQWJvcnRDb250cm9sbGVyIHtcbiAgICAvKipcbiAgICAgKiBJbml0aWFsaXplIHRoaXMgY29udHJvbGxlci5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHNpZ25hbHMuc2V0KHRoaXMsIGNyZWF0ZUFib3J0U2lnbmFsKCkpXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgYEFib3J0U2lnbmFsYCBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIHRoaXMgb2JqZWN0LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQgc2lnbmFsKCk6IEFib3J0U2lnbmFsIHtcbiAgICAgICAgcmV0dXJuIGdldFNpZ25hbCh0aGlzKVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFib3J0IGFuZCBzaWduYWwgdG8gYW55IG9ic2VydmVycyB0aGF0IHRoZSBhc3NvY2lhdGVkIGFjdGl2aXR5IGlzIHRvIGJlIGFib3J0ZWQuXG4gICAgICovXG4gICAgcHVibGljIGFib3J0KCk6IHZvaWQge1xuICAgICAgICBhYm9ydFNpZ25hbChnZXRTaWduYWwodGhpcykpXG4gICAgfVxufVxuXG4vKipcbiAqIEFzc29jaWF0ZWQgc2lnbmFscy5cbiAqL1xuY29uc3Qgc2lnbmFscyA9IG5ldyBXZWFrTWFwPEFib3J0Q29udHJvbGxlciwgQWJvcnRTaWduYWw+KClcblxuLyoqXG4gKiBHZXQgdGhlIGFzc29jaWF0ZWQgc2lnbmFsIG9mIGEgZ2l2ZW4gY29udHJvbGxlci5cbiAqL1xuZnVuY3Rpb24gZ2V0U2lnbmFsKGNvbnRyb2xsZXI6IEFib3J0Q29udHJvbGxlcik6IEFib3J0U2lnbmFsIHtcbiAgICBjb25zdCBzaWduYWwgPSBzaWduYWxzLmdldChjb250cm9sbGVyKVxuICAgIGlmIChzaWduYWwgPT0gbnVsbCkge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgYEV4cGVjdGVkICd0aGlzJyB0byBiZSBhbiAnQWJvcnRDb250cm9sbGVyJyBvYmplY3QsIGJ1dCBnb3QgJHtcbiAgICAgICAgICAgICAgICBjb250cm9sbGVyID09PSBudWxsID8gXCJudWxsXCIgOiB0eXBlb2YgY29udHJvbGxlclxuICAgICAgICAgICAgfWAsXG4gICAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHNpZ25hbFxufVxuXG4vLyBQcm9wZXJ0aWVzIHNob3VsZCBiZSBlbnVtZXJhYmxlLlxuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQWJvcnRDb250cm9sbGVyLnByb3RvdHlwZSwge1xuICAgIHNpZ25hbDogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG4gICAgYWJvcnQ6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxufSlcblxuaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLnRvU3RyaW5nVGFnID09PSBcInN5bWJvbFwiKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEFib3J0Q29udHJvbGxlci5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZywge1xuICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgIHZhbHVlOiBcIkFib3J0Q29udHJvbGxlclwiLFxuICAgIH0pXG59XG5cbmV4cG9ydCB7IEFib3J0Q29udHJvbGxlciwgQWJvcnRTaWduYWwgfVxuIiwgImV4cG9ydCBmdW5jdGlvbiBub29wKCk6IHVuZGVmaW5lZCB7XG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG4iLCAiaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uLy4uL3V0aWxzJztcbmltcG9ydCB7IEFzc2VydGlvbkVycm9yIH0gZnJvbSAnLi4vLi4vc3R1Yi9hc3NlcnQnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHlwZUlzT2JqZWN0KHg6IGFueSk6IHggaXMgb2JqZWN0IHtcbiAgcmV0dXJuICh0eXBlb2YgeCA9PT0gJ29iamVjdCcgJiYgeCAhPT0gbnVsbCkgfHwgdHlwZW9mIHggPT09ICdmdW5jdGlvbic7XG59XG5cbmV4cG9ydCBjb25zdCByZXRocm93QXNzZXJ0aW9uRXJyb3JSZWplY3Rpb246IChlOiBhbnkpID0+IHZvaWQgPVxuICBERUJVRyA/IGUgPT4ge1xuICAgIC8vIFVzZWQgdGhyb3VnaG91dCB0aGUgcmVmZXJlbmNlIGltcGxlbWVudGF0aW9uLCBhcyBgLmNhdGNoKHJldGhyb3dBc3NlcnRpb25FcnJvclJlamVjdGlvbilgLCB0byBlbnN1cmUgYW55IGVycm9yc1xuICAgIC8vIGdldCBzaG93bi4gVGhlcmUgYXJlIHBsYWNlcyBpbiB0aGUgc3BlYyB3aGVyZSB3ZSBkbyBwcm9taXNlIHRyYW5zZm9ybWF0aW9ucyBhbmQgcHVycG9zZWZ1bGx5IGlnbm9yZSBvciBkb24ndFxuICAgIC8vIGV4cGVjdCBhbnkgZXJyb3JzLCBidXQgYXNzZXJ0aW9uIGVycm9ycyBhcmUgYWx3YXlzIHByb2JsZW1hdGljLlxuICAgIGlmIChlICYmIGUgaW5zdGFuY2VvZiBBc3NlcnRpb25FcnJvcikge1xuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9LCAwKTtcbiAgICB9XG4gIH0gOiBub29wO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0RnVuY3Rpb25OYW1lKGZuOiBGdW5jdGlvbiwgbmFtZTogc3RyaW5nKTogdm9pZCB7XG4gIHRyeSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGZuLCAnbmFtZScsIHtcbiAgICAgIHZhbHVlOiBuYW1lLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gIH0gY2F0Y2gge1xuICAgIC8vIFRoaXMgcHJvcGVydHkgaXMgbm9uLWNvbmZpZ3VyYWJsZSBpbiBvbGRlciBicm93c2Vycywgc28gaWdub3JlIGlmIHRoaXMgdGhyb3dzLlxuICAgIC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0Z1bmN0aW9uL25hbWUjYnJvd3Nlcl9jb21wYXRpYmlsaXR5XG4gIH1cbn1cbiIsICJpbXBvcnQgeyByZXRocm93QXNzZXJ0aW9uRXJyb3JSZWplY3Rpb24gfSBmcm9tICcuL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICcuLi8uLi9zdHViL2Fzc2VydCc7XG5cbmNvbnN0IG9yaWdpbmFsUHJvbWlzZSA9IFByb21pc2U7XG5jb25zdCBvcmlnaW5hbFByb21pc2VUaGVuID0gUHJvbWlzZS5wcm90b3R5cGUudGhlbjtcbmNvbnN0IG9yaWdpbmFsUHJvbWlzZVJlamVjdCA9IFByb21pc2UucmVqZWN0LmJpbmQob3JpZ2luYWxQcm9taXNlKTtcblxuLy8gaHR0cHM6Ly93ZWJpZGwuc3BlYy53aGF0d2cub3JnLyNhLW5ldy1wcm9taXNlXG5leHBvcnQgZnVuY3Rpb24gbmV3UHJvbWlzZTxUPihleGVjdXRvcjogKFxuICByZXNvbHZlOiAodmFsdWU6IFQgfCBQcm9taXNlTGlrZTxUPikgPT4gdm9pZCxcbiAgcmVqZWN0OiAocmVhc29uPzogYW55KSA9PiB2b2lkXG4pID0+IHZvaWQpOiBQcm9taXNlPFQ+IHtcbiAgcmV0dXJuIG5ldyBvcmlnaW5hbFByb21pc2UoZXhlY3V0b3IpO1xufVxuXG4vLyBodHRwczovL3dlYmlkbC5zcGVjLndoYXR3Zy5vcmcvI2EtcHJvbWlzZS1yZXNvbHZlZC13aXRoXG5leHBvcnQgZnVuY3Rpb24gcHJvbWlzZVJlc29sdmVkV2l0aDxUPih2YWx1ZTogVCB8IFByb21pc2VMaWtlPFQ+KTogUHJvbWlzZTxUPiB7XG4gIHJldHVybiBuZXdQcm9taXNlKHJlc29sdmUgPT4gcmVzb2x2ZSh2YWx1ZSkpO1xufVxuXG4vLyBodHRwczovL3dlYmlkbC5zcGVjLndoYXR3Zy5vcmcvI2EtcHJvbWlzZS1yZWplY3RlZC13aXRoXG5leHBvcnQgZnVuY3Rpb24gcHJvbWlzZVJlamVjdGVkV2l0aDxUID0gbmV2ZXI+KHJlYXNvbjogYW55KTogUHJvbWlzZTxUPiB7XG4gIHJldHVybiBvcmlnaW5hbFByb21pc2VSZWplY3QocmVhc29uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFBlcmZvcm1Qcm9taXNlVGhlbjxULCBUUmVzdWx0MSA9IFQsIFRSZXN1bHQyID0gbmV2ZXI+KFxuICBwcm9taXNlOiBQcm9taXNlPFQ+LFxuICBvbkZ1bGZpbGxlZD86ICh2YWx1ZTogVCkgPT4gVFJlc3VsdDEgfCBQcm9taXNlTGlrZTxUUmVzdWx0MT4sXG4gIG9uUmVqZWN0ZWQ/OiAocmVhc29uOiBhbnkpID0+IFRSZXN1bHQyIHwgUHJvbWlzZUxpa2U8VFJlc3VsdDI+KTogUHJvbWlzZTxUUmVzdWx0MSB8IFRSZXN1bHQyPiB7XG4gIC8vIFRoZXJlIGRvZXNuJ3QgYXBwZWFyIHRvIGJlIGFueSB3YXkgdG8gY29ycmVjdGx5IGVtdWxhdGUgdGhlIGJlaGF2aW91ciBmcm9tIEphdmFTY3JpcHQsIHNvIHRoaXMgaXMganVzdCBhblxuICAvLyBhcHByb3hpbWF0aW9uLlxuICByZXR1cm4gb3JpZ2luYWxQcm9taXNlVGhlbi5jYWxsKHByb21pc2UsIG9uRnVsZmlsbGVkLCBvblJlamVjdGVkKSBhcyBQcm9taXNlPFRSZXN1bHQxIHwgVFJlc3VsdDI+O1xufVxuXG4vLyBCbHVlYmlyZCBsb2dzIGEgd2FybmluZyB3aGVuIGEgcHJvbWlzZSBpcyBjcmVhdGVkIHdpdGhpbiBhIGZ1bGZpbGxtZW50IGhhbmRsZXIsIGJ1dCB0aGVuIGlzbid0IHJldHVybmVkXG4vLyBmcm9tIHRoYXQgaGFuZGxlci4gVG8gcHJldmVudCB0aGlzLCByZXR1cm4gbnVsbCBpbnN0ZWFkIG9mIHZvaWQgZnJvbSBhbGwgaGFuZGxlcnMuXG4vLyBodHRwOi8vYmx1ZWJpcmRqcy5jb20vZG9jcy93YXJuaW5nLWV4cGxhbmF0aW9ucy5odG1sI3dhcm5pbmctYS1wcm9taXNlLXdhcy1jcmVhdGVkLWluLWEtaGFuZGxlci1idXQtd2FzLW5vdC1yZXR1cm5lZC1mcm9tLWl0XG5leHBvcnQgZnVuY3Rpb24gdXBvblByb21pc2U8VD4oXG4gIHByb21pc2U6IFByb21pc2U8VD4sXG4gIG9uRnVsZmlsbGVkPzogKHZhbHVlOiBUKSA9PiBudWxsIHwgUHJvbWlzZUxpa2U8bnVsbD4sXG4gIG9uUmVqZWN0ZWQ/OiAocmVhc29uOiBhbnkpID0+IG51bGwgfCBQcm9taXNlTGlrZTxudWxsPik6IHZvaWQge1xuICBQZXJmb3JtUHJvbWlzZVRoZW4oXG4gICAgUGVyZm9ybVByb21pc2VUaGVuKHByb21pc2UsIG9uRnVsZmlsbGVkLCBvblJlamVjdGVkKSxcbiAgICB1bmRlZmluZWQsXG4gICAgcmV0aHJvd0Fzc2VydGlvbkVycm9yUmVqZWN0aW9uXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cG9uRnVsZmlsbG1lbnQ8VD4ocHJvbWlzZTogUHJvbWlzZTxUPiwgb25GdWxmaWxsZWQ6ICh2YWx1ZTogVCkgPT4gbnVsbCB8IFByb21pc2VMaWtlPG51bGw+KTogdm9pZCB7XG4gIHVwb25Qcm9taXNlKHByb21pc2UsIG9uRnVsZmlsbGVkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHVwb25SZWplY3Rpb24ocHJvbWlzZTogUHJvbWlzZTx1bmtub3duPiwgb25SZWplY3RlZDogKHJlYXNvbjogYW55KSA9PiBudWxsIHwgUHJvbWlzZUxpa2U8bnVsbD4pOiB2b2lkIHtcbiAgdXBvblByb21pc2UocHJvbWlzZSwgdW5kZWZpbmVkLCBvblJlamVjdGVkKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRyYW5zZm9ybVByb21pc2VXaXRoPFQsIFRSZXN1bHQxID0gVCwgVFJlc3VsdDIgPSBuZXZlcj4oXG4gIHByb21pc2U6IFByb21pc2U8VD4sXG4gIGZ1bGZpbGxtZW50SGFuZGxlcj86ICh2YWx1ZTogVCkgPT4gVFJlc3VsdDEgfCBQcm9taXNlTGlrZTxUUmVzdWx0MT4sXG4gIHJlamVjdGlvbkhhbmRsZXI/OiAocmVhc29uOiBhbnkpID0+IFRSZXN1bHQyIHwgUHJvbWlzZUxpa2U8VFJlc3VsdDI+KTogUHJvbWlzZTxUUmVzdWx0MSB8IFRSZXN1bHQyPiB7XG4gIHJldHVybiBQZXJmb3JtUHJvbWlzZVRoZW4ocHJvbWlzZSwgZnVsZmlsbG1lbnRIYW5kbGVyLCByZWplY3Rpb25IYW5kbGVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNldFByb21pc2VJc0hhbmRsZWRUb1RydWUocHJvbWlzZTogUHJvbWlzZTx1bmtub3duPik6IHZvaWQge1xuICBQZXJmb3JtUHJvbWlzZVRoZW4ocHJvbWlzZSwgdW5kZWZpbmVkLCByZXRocm93QXNzZXJ0aW9uRXJyb3JSZWplY3Rpb24pO1xufVxuXG5sZXQgX3F1ZXVlTWljcm90YXNrOiAoY2FsbGJhY2s6ICgpID0+IHZvaWQpID0+IHZvaWQgPSBjYWxsYmFjayA9PiB7XG4gIGlmICh0eXBlb2YgcXVldWVNaWNyb3Rhc2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICBfcXVldWVNaWNyb3Rhc2sgPSBxdWV1ZU1pY3JvdGFzaztcbiAgfSBlbHNlIHtcbiAgICBjb25zdCByZXNvbHZlZFByb21pc2UgPSBwcm9taXNlUmVzb2x2ZWRXaXRoKHVuZGVmaW5lZCk7XG4gICAgX3F1ZXVlTWljcm90YXNrID0gY2IgPT4gUGVyZm9ybVByb21pc2VUaGVuKHJlc29sdmVkUHJvbWlzZSwgY2IpO1xuICB9XG4gIHJldHVybiBfcXVldWVNaWNyb3Rhc2soY2FsbGJhY2spO1xufTtcblxuZXhwb3J0IHsgX3F1ZXVlTWljcm90YXNrIGFzIHF1ZXVlTWljcm90YXNrIH07XG5cbmV4cG9ydCBmdW5jdGlvbiByZWZsZWN0Q2FsbDxULCBBIGV4dGVuZHMgYW55W10sIFI+KEY6ICh0aGlzOiBULCAuLi5mbkFyZ3M6IEEpID0+IFIsIFY6IFQsIGFyZ3M6IEEpOiBSIHtcbiAgaWYgKHR5cGVvZiBGICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQXJndW1lbnQgaXMgbm90IGEgZnVuY3Rpb24nKTtcbiAgfVxuICByZXR1cm4gRnVuY3Rpb24ucHJvdG90eXBlLmFwcGx5LmNhbGwoRiwgViwgYXJncyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm9taXNlQ2FsbDxULCBBIGV4dGVuZHMgYW55W10sIFI+KEY6ICh0aGlzOiBULCAuLi5mbkFyZ3M6IEEpID0+IFIgfCBQcm9taXNlTGlrZTxSPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFY6IFQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcmdzOiBBKTogUHJvbWlzZTxSPiB7XG4gIGFzc2VydCh0eXBlb2YgRiA9PT0gJ2Z1bmN0aW9uJyk7XG4gIGFzc2VydChWICE9PSB1bmRlZmluZWQpO1xuICBhc3NlcnQoQXJyYXkuaXNBcnJheShhcmdzKSk7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHByb21pc2VSZXNvbHZlZFdpdGgocmVmbGVjdENhbGwoRiwgViwgYXJncykpO1xuICB9IGNhdGNoICh2YWx1ZSkge1xuICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKHZhbHVlKTtcbiAgfVxufVxuIiwgImltcG9ydCBhc3NlcnQgZnJvbSAnLi4vc3R1Yi9hc3NlcnQnO1xuXG4vLyBPcmlnaW5hbCBmcm9tIENocm9taXVtXG4vLyBodHRwczovL2Nocm9taXVtLmdvb2dsZXNvdXJjZS5jb20vY2hyb21pdW0vc3JjLysvMGFlZTQ0MzRhNGRiYTQyYTQyYWJhZWE5YmZiYzBjZDE5NmE2M2JjMS90aGlyZF9wYXJ0eS9ibGluay9yZW5kZXJlci9jb3JlL3N0cmVhbXMvU2ltcGxlUXVldWUuanNcblxuY29uc3QgUVVFVUVfTUFYX0FSUkFZX1NJWkUgPSAxNjM4NDtcblxuaW50ZXJmYWNlIE5vZGU8VD4ge1xuICBfZWxlbWVudHM6IFRbXTtcbiAgX25leHQ6IE5vZGU8VD4gfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogU2ltcGxlIHF1ZXVlIHN0cnVjdHVyZS5cbiAqXG4gKiBBdm9pZHMgc2NhbGFiaWxpdHkgaXNzdWVzIHdpdGggdXNpbmcgYSBwYWNrZWQgYXJyYXkgZGlyZWN0bHkgYnkgdXNpbmdcbiAqIG11bHRpcGxlIGFycmF5cyBpbiBhIGxpbmtlZCBsaXN0IGFuZCBrZWVwaW5nIHRoZSBhcnJheSBzaXplIGJvdW5kZWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBTaW1wbGVRdWV1ZTxUPiB7XG4gIHByaXZhdGUgX2Zyb250OiBOb2RlPFQ+O1xuICBwcml2YXRlIF9iYWNrOiBOb2RlPFQ+O1xuICBwcml2YXRlIF9jdXJzb3IgPSAwO1xuICBwcml2YXRlIF9zaXplID0gMDtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICAvLyBfZnJvbnQgYW5kIF9iYWNrIGFyZSBhbHdheXMgZGVmaW5lZC5cbiAgICB0aGlzLl9mcm9udCA9IHtcbiAgICAgIF9lbGVtZW50czogW10sXG4gICAgICBfbmV4dDogdW5kZWZpbmVkXG4gICAgfTtcbiAgICB0aGlzLl9iYWNrID0gdGhpcy5fZnJvbnQ7XG4gICAgLy8gVGhlIGN1cnNvciBpcyB1c2VkIHRvIGF2b2lkIGNhbGxpbmcgQXJyYXkuc2hpZnQoKS5cbiAgICAvLyBJdCBjb250YWlucyB0aGUgaW5kZXggb2YgdGhlIGZyb250IGVsZW1lbnQgb2YgdGhlIGFycmF5IGluc2lkZSB0aGVcbiAgICAvLyBmcm9udC1tb3N0IG5vZGUuIEl0IGlzIGFsd2F5cyBpbiB0aGUgcmFuZ2UgWzAsIFFVRVVFX01BWF9BUlJBWV9TSVpFKS5cbiAgICB0aGlzLl9jdXJzb3IgPSAwO1xuICAgIC8vIFdoZW4gdGhlcmUgaXMgb25seSBvbmUgbm9kZSwgc2l6ZSA9PT0gZWxlbWVudHMubGVuZ3RoIC0gY3Vyc29yLlxuICAgIHRoaXMuX3NpemUgPSAwO1xuICB9XG5cbiAgZ2V0IGxlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9zaXplO1xuICB9XG5cbiAgLy8gRm9yIGV4Y2VwdGlvbiBzYWZldHksIHRoaXMgbWV0aG9kIGlzIHN0cnVjdHVyZWQgaW4gb3JkZXI6XG4gIC8vIDEuIFJlYWQgc3RhdGVcbiAgLy8gMi4gQ2FsY3VsYXRlIHJlcXVpcmVkIHN0YXRlIG11dGF0aW9uc1xuICAvLyAzLiBQZXJmb3JtIHN0YXRlIG11dGF0aW9uc1xuICBwdXNoKGVsZW1lbnQ6IFQpOiB2b2lkIHtcbiAgICBjb25zdCBvbGRCYWNrID0gdGhpcy5fYmFjaztcbiAgICBsZXQgbmV3QmFjayA9IG9sZEJhY2s7XG4gICAgYXNzZXJ0KG9sZEJhY2suX25leHQgPT09IHVuZGVmaW5lZCk7XG4gICAgaWYgKG9sZEJhY2suX2VsZW1lbnRzLmxlbmd0aCA9PT0gUVVFVUVfTUFYX0FSUkFZX1NJWkUgLSAxKSB7XG4gICAgICBuZXdCYWNrID0ge1xuICAgICAgICBfZWxlbWVudHM6IFtdLFxuICAgICAgICBfbmV4dDogdW5kZWZpbmVkXG4gICAgICB9O1xuICAgIH1cblxuICAgIC8vIHB1c2goKSBpcyB0aGUgbXV0YXRpb24gbW9zdCBsaWtlbHkgdG8gdGhyb3cgYW4gZXhjZXB0aW9uLCBzbyBpdFxuICAgIC8vIGdvZXMgZmlyc3QuXG4gICAgb2xkQmFjay5fZWxlbWVudHMucHVzaChlbGVtZW50KTtcbiAgICBpZiAobmV3QmFjayAhPT0gb2xkQmFjaykge1xuICAgICAgdGhpcy5fYmFjayA9IG5ld0JhY2s7XG4gICAgICBvbGRCYWNrLl9uZXh0ID0gbmV3QmFjaztcbiAgICB9XG4gICAgKyt0aGlzLl9zaXplO1xuICB9XG5cbiAgLy8gTGlrZSBwdXNoKCksIHNoaWZ0KCkgZm9sbG93cyB0aGUgcmVhZCAtPiBjYWxjdWxhdGUgLT4gbXV0YXRlIHBhdHRlcm4gZm9yXG4gIC8vIGV4Y2VwdGlvbiBzYWZldHkuXG4gIHNoaWZ0KCk6IFQge1xuICAgIGFzc2VydCh0aGlzLl9zaXplID4gMCk7IC8vIG11c3Qgbm90IGJlIGNhbGxlZCBvbiBhbiBlbXB0eSBxdWV1ZVxuXG4gICAgY29uc3Qgb2xkRnJvbnQgPSB0aGlzLl9mcm9udDtcbiAgICBsZXQgbmV3RnJvbnQgPSBvbGRGcm9udDtcbiAgICBjb25zdCBvbGRDdXJzb3IgPSB0aGlzLl9jdXJzb3I7XG4gICAgbGV0IG5ld0N1cnNvciA9IG9sZEN1cnNvciArIDE7XG5cbiAgICBjb25zdCBlbGVtZW50cyA9IG9sZEZyb250Ll9lbGVtZW50cztcbiAgICBjb25zdCBlbGVtZW50ID0gZWxlbWVudHNbb2xkQ3Vyc29yXTtcblxuICAgIGlmIChuZXdDdXJzb3IgPT09IFFVRVVFX01BWF9BUlJBWV9TSVpFKSB7XG4gICAgICBhc3NlcnQoZWxlbWVudHMubGVuZ3RoID09PSBRVUVVRV9NQVhfQVJSQVlfU0laRSk7XG4gICAgICBhc3NlcnQob2xkRnJvbnQuX25leHQgIT09IHVuZGVmaW5lZCk7XG4gICAgICBuZXdGcm9udCA9IG9sZEZyb250Ll9uZXh0ITtcbiAgICAgIG5ld0N1cnNvciA9IDA7XG4gICAgfVxuXG4gICAgLy8gTm8gbXV0YXRpb25zIGJlZm9yZSB0aGlzIHBvaW50LlxuICAgIC0tdGhpcy5fc2l6ZTtcbiAgICB0aGlzLl9jdXJzb3IgPSBuZXdDdXJzb3I7XG4gICAgaWYgKG9sZEZyb250ICE9PSBuZXdGcm9udCkge1xuICAgICAgdGhpcy5fZnJvbnQgPSBuZXdGcm9udDtcbiAgICB9XG5cbiAgICAvLyBQZXJtaXQgc2hpZnRlZCBlbGVtZW50IHRvIGJlIGdhcmJhZ2UgY29sbGVjdGVkLlxuICAgIGVsZW1lbnRzW29sZEN1cnNvcl0gPSB1bmRlZmluZWQhO1xuXG4gICAgcmV0dXJuIGVsZW1lbnQ7XG4gIH1cblxuICAvLyBUaGUgdHJpY2t5IHRoaW5nIGFib3V0IGZvckVhY2goKSBpcyB0aGF0IGl0IGNhbiBiZSBjYWxsZWRcbiAgLy8gcmUtZW50cmFudGx5LiBUaGUgcXVldWUgbWF5IGJlIG11dGF0ZWQgaW5zaWRlIHRoZSBjYWxsYmFjay4gSXQgaXMgZWFzeSB0b1xuICAvLyBzZWUgdGhhdCBwdXNoKCkgd2l0aGluIHRoZSBjYWxsYmFjayBoYXMgbm8gbmVnYXRpdmUgZWZmZWN0cyBzaW5jZSB0aGUgZW5kXG4gIC8vIG9mIHRoZSBxdWV1ZSBpcyBjaGVja2VkIGZvciBvbiBldmVyeSBpdGVyYXRpb24uIElmIHNoaWZ0KCkgaXMgY2FsbGVkXG4gIC8vIHJlcGVhdGVkbHkgd2l0aGluIHRoZSBjYWxsYmFjayB0aGVuIHRoZSBuZXh0IGl0ZXJhdGlvbiBtYXkgcmV0dXJuIGFuXG4gIC8vIGVsZW1lbnQgdGhhdCBoYXMgYmVlbiByZW1vdmVkLiBJbiB0aGlzIGNhc2UgdGhlIGNhbGxiYWNrIHdpbGwgYmUgY2FsbGVkXG4gIC8vIHdpdGggdW5kZWZpbmVkIHZhbHVlcyB1bnRpbCB3ZSBlaXRoZXIgXCJjYXRjaCB1cFwiIHdpdGggZWxlbWVudHMgdGhhdCBzdGlsbFxuICAvLyBleGlzdCBvciByZWFjaCB0aGUgYmFjayBvZiB0aGUgcXVldWUuXG4gIGZvckVhY2goY2FsbGJhY2s6IChlbGVtZW50OiBUKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgbGV0IGkgPSB0aGlzLl9jdXJzb3I7XG4gICAgbGV0IG5vZGUgPSB0aGlzLl9mcm9udDtcbiAgICBsZXQgZWxlbWVudHMgPSBub2RlLl9lbGVtZW50cztcbiAgICB3aGlsZSAoaSAhPT0gZWxlbWVudHMubGVuZ3RoIHx8IG5vZGUuX25leHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaWYgKGkgPT09IGVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICBhc3NlcnQobm9kZS5fbmV4dCAhPT0gdW5kZWZpbmVkKTtcbiAgICAgICAgYXNzZXJ0KGkgPT09IFFVRVVFX01BWF9BUlJBWV9TSVpFKTtcbiAgICAgICAgbm9kZSA9IG5vZGUuX25leHQhO1xuICAgICAgICBlbGVtZW50cyA9IG5vZGUuX2VsZW1lbnRzO1xuICAgICAgICBpID0gMDtcbiAgICAgICAgaWYgKGVsZW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjYWxsYmFjayhlbGVtZW50c1tpXSk7XG4gICAgICArK2k7XG4gICAgfVxuICB9XG5cbiAgLy8gUmV0dXJuIHRoZSBlbGVtZW50IHRoYXQgd291bGQgYmUgcmV0dXJuZWQgaWYgc2hpZnQoKSB3YXMgY2FsbGVkIG5vdyxcbiAgLy8gd2l0aG91dCBtb2RpZnlpbmcgdGhlIHF1ZXVlLlxuICBwZWVrKCk6IFQge1xuICAgIGFzc2VydCh0aGlzLl9zaXplID4gMCk7IC8vIG11c3Qgbm90IGJlIGNhbGxlZCBvbiBhbiBlbXB0eSBxdWV1ZVxuXG4gICAgY29uc3QgZnJvbnQgPSB0aGlzLl9mcm9udDtcbiAgICBjb25zdCBjdXJzb3IgPSB0aGlzLl9jdXJzb3I7XG4gICAgcmV0dXJuIGZyb250Ll9lbGVtZW50c1tjdXJzb3JdO1xuICB9XG59XG4iLCAiZXhwb3J0IGNvbnN0IEFib3J0U3RlcHMgPSBTeW1ib2woJ1tbQWJvcnRTdGVwc11dJyk7XG5leHBvcnQgY29uc3QgRXJyb3JTdGVwcyA9IFN5bWJvbCgnW1tFcnJvclN0ZXBzXV0nKTtcbmV4cG9ydCBjb25zdCBDYW5jZWxTdGVwcyA9IFN5bWJvbCgnW1tDYW5jZWxTdGVwc11dJyk7XG5leHBvcnQgY29uc3QgUHVsbFN0ZXBzID0gU3ltYm9sKCdbW1B1bGxTdGVwc11dJyk7XG5leHBvcnQgY29uc3QgUmVsZWFzZVN0ZXBzID0gU3ltYm9sKCdbW1JlbGVhc2VTdGVwc11dJyk7XG4iLCAiaW1wb3J0IGFzc2VydCBmcm9tICcuLi8uLi9zdHViL2Fzc2VydCc7XG5pbXBvcnQgeyBSZWFkYWJsZVN0cmVhbSwgUmVhZGFibGVTdHJlYW1DYW5jZWwsIHR5cGUgUmVhZGFibGVTdHJlYW1SZWFkZXIgfSBmcm9tICcuLi9yZWFkYWJsZS1zdHJlYW0nO1xuaW1wb3J0IHsgbmV3UHJvbWlzZSwgc2V0UHJvbWlzZUlzSGFuZGxlZFRvVHJ1ZSB9IGZyb20gJy4uL2hlbHBlcnMvd2ViaWRsJztcbmltcG9ydCB7IFJlbGVhc2VTdGVwcyB9IGZyb20gJy4uL2Fic3RyYWN0LW9wcy9pbnRlcm5hbC1tZXRob2RzJztcblxuZXhwb3J0IGZ1bmN0aW9uIFJlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJpY0luaXRpYWxpemU8Uj4ocmVhZGVyOiBSZWFkYWJsZVN0cmVhbVJlYWRlcjxSPiwgc3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxSPikge1xuICByZWFkZXIuX293bmVyUmVhZGFibGVTdHJlYW0gPSBzdHJlYW07XG4gIHN0cmVhbS5fcmVhZGVyID0gcmVhZGVyO1xuXG4gIGlmIChzdHJlYW0uX3N0YXRlID09PSAncmVhZGFibGUnKSB7XG4gICAgZGVmYXVsdFJlYWRlckNsb3NlZFByb21pc2VJbml0aWFsaXplKHJlYWRlcik7XG4gIH0gZWxzZSBpZiAoc3RyZWFtLl9zdGF0ZSA9PT0gJ2Nsb3NlZCcpIHtcbiAgICBkZWZhdWx0UmVhZGVyQ2xvc2VkUHJvbWlzZUluaXRpYWxpemVBc1Jlc29sdmVkKHJlYWRlcik7XG4gIH0gZWxzZSB7XG4gICAgYXNzZXJ0KHN0cmVhbS5fc3RhdGUgPT09ICdlcnJvcmVkJyk7XG5cbiAgICBkZWZhdWx0UmVhZGVyQ2xvc2VkUHJvbWlzZUluaXRpYWxpemVBc1JlamVjdGVkKHJlYWRlciwgc3RyZWFtLl9zdG9yZWRFcnJvcik7XG4gIH1cbn1cblxuLy8gQSBjbGllbnQgb2YgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyIGFuZCBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIgbWF5IHVzZSB0aGVzZSBmdW5jdGlvbnMgZGlyZWN0bHkgdG8gYnlwYXNzIHN0YXRlXG4vLyBjaGVjay5cblxuZXhwb3J0IGZ1bmN0aW9uIFJlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJpY0NhbmNlbChyZWFkZXI6IFJlYWRhYmxlU3RyZWFtUmVhZGVyPGFueT4sIHJlYXNvbjogYW55KTogUHJvbWlzZTx1bmRlZmluZWQ+IHtcbiAgY29uc3Qgc3RyZWFtID0gcmVhZGVyLl9vd25lclJlYWRhYmxlU3RyZWFtO1xuICBhc3NlcnQoc3RyZWFtICE9PSB1bmRlZmluZWQpO1xuICByZXR1cm4gUmVhZGFibGVTdHJlYW1DYW5jZWwoc3RyZWFtLCByZWFzb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVhZGFibGVTdHJlYW1SZWFkZXJHZW5lcmljUmVsZWFzZShyZWFkZXI6IFJlYWRhYmxlU3RyZWFtUmVhZGVyPGFueT4pIHtcbiAgY29uc3Qgc3RyZWFtID0gcmVhZGVyLl9vd25lclJlYWRhYmxlU3RyZWFtO1xuICBhc3NlcnQoc3RyZWFtICE9PSB1bmRlZmluZWQpO1xuICBhc3NlcnQoc3RyZWFtLl9yZWFkZXIgPT09IHJlYWRlcik7XG5cbiAgaWYgKHN0cmVhbS5fc3RhdGUgPT09ICdyZWFkYWJsZScpIHtcbiAgICBkZWZhdWx0UmVhZGVyQ2xvc2VkUHJvbWlzZVJlamVjdChcbiAgICAgIHJlYWRlcixcbiAgICAgIG5ldyBUeXBlRXJyb3IoYFJlYWRlciB3YXMgcmVsZWFzZWQgYW5kIGNhbiBubyBsb25nZXIgYmUgdXNlZCB0byBtb25pdG9yIHRoZSBzdHJlYW0ncyBjbG9zZWRuZXNzYCkpO1xuICB9IGVsc2Uge1xuICAgIGRlZmF1bHRSZWFkZXJDbG9zZWRQcm9taXNlUmVzZXRUb1JlamVjdGVkKFxuICAgICAgcmVhZGVyLFxuICAgICAgbmV3IFR5cGVFcnJvcihgUmVhZGVyIHdhcyByZWxlYXNlZCBhbmQgY2FuIG5vIGxvbmdlciBiZSB1c2VkIHRvIG1vbml0b3IgdGhlIHN0cmVhbSdzIGNsb3NlZG5lc3NgKSk7XG4gIH1cblxuICBzdHJlYW0uX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlcltSZWxlYXNlU3RlcHNdKCk7XG5cbiAgc3RyZWFtLl9yZWFkZXIgPSB1bmRlZmluZWQ7XG4gIHJlYWRlci5fb3duZXJSZWFkYWJsZVN0cmVhbSA9IHVuZGVmaW5lZCE7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbnMgZm9yIHRoZSByZWFkZXJzLlxuXG5leHBvcnQgZnVuY3Rpb24gcmVhZGVyTG9ja0V4Y2VwdGlvbihuYW1lOiBzdHJpbmcpOiBUeXBlRXJyb3Ige1xuICByZXR1cm4gbmV3IFR5cGVFcnJvcignQ2Fubm90ICcgKyBuYW1lICsgJyBhIHN0cmVhbSB1c2luZyBhIHJlbGVhc2VkIHJlYWRlcicpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb25zIGZvciB0aGUgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLlxuXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdFJlYWRlckNsb3NlZFByb21pc2VJbml0aWFsaXplKHJlYWRlcjogUmVhZGFibGVTdHJlYW1SZWFkZXI8YW55Pikge1xuICByZWFkZXIuX2Nsb3NlZFByb21pc2UgPSBuZXdQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICByZWFkZXIuX2Nsb3NlZFByb21pc2VfcmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgcmVhZGVyLl9jbG9zZWRQcm9taXNlX3JlamVjdCA9IHJlamVjdDtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWZhdWx0UmVhZGVyQ2xvc2VkUHJvbWlzZUluaXRpYWxpemVBc1JlamVjdGVkKHJlYWRlcjogUmVhZGFibGVTdHJlYW1SZWFkZXI8YW55PiwgcmVhc29uOiBhbnkpIHtcbiAgZGVmYXVsdFJlYWRlckNsb3NlZFByb21pc2VJbml0aWFsaXplKHJlYWRlcik7XG4gIGRlZmF1bHRSZWFkZXJDbG9zZWRQcm9taXNlUmVqZWN0KHJlYWRlciwgcmVhc29uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRSZWFkZXJDbG9zZWRQcm9taXNlSW5pdGlhbGl6ZUFzUmVzb2x2ZWQocmVhZGVyOiBSZWFkYWJsZVN0cmVhbVJlYWRlcjxhbnk+KSB7XG4gIGRlZmF1bHRSZWFkZXJDbG9zZWRQcm9taXNlSW5pdGlhbGl6ZShyZWFkZXIpO1xuICBkZWZhdWx0UmVhZGVyQ2xvc2VkUHJvbWlzZVJlc29sdmUocmVhZGVyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRSZWFkZXJDbG9zZWRQcm9taXNlUmVqZWN0KHJlYWRlcjogUmVhZGFibGVTdHJlYW1SZWFkZXI8YW55PiwgcmVhc29uOiBhbnkpIHtcbiAgaWYgKHJlYWRlci5fY2xvc2VkUHJvbWlzZV9yZWplY3QgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHNldFByb21pc2VJc0hhbmRsZWRUb1RydWUocmVhZGVyLl9jbG9zZWRQcm9taXNlKTtcbiAgcmVhZGVyLl9jbG9zZWRQcm9taXNlX3JlamVjdChyZWFzb24pO1xuICByZWFkZXIuX2Nsb3NlZFByb21pc2VfcmVzb2x2ZSA9IHVuZGVmaW5lZDtcbiAgcmVhZGVyLl9jbG9zZWRQcm9taXNlX3JlamVjdCA9IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRSZWFkZXJDbG9zZWRQcm9taXNlUmVzZXRUb1JlamVjdGVkKHJlYWRlcjogUmVhZGFibGVTdHJlYW1SZWFkZXI8YW55PiwgcmVhc29uOiBhbnkpIHtcbiAgYXNzZXJ0KHJlYWRlci5fY2xvc2VkUHJvbWlzZV9yZXNvbHZlID09PSB1bmRlZmluZWQpO1xuICBhc3NlcnQocmVhZGVyLl9jbG9zZWRQcm9taXNlX3JlamVjdCA9PT0gdW5kZWZpbmVkKTtcblxuICBkZWZhdWx0UmVhZGVyQ2xvc2VkUHJvbWlzZUluaXRpYWxpemVBc1JlamVjdGVkKHJlYWRlciwgcmVhc29uKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRSZWFkZXJDbG9zZWRQcm9taXNlUmVzb2x2ZShyZWFkZXI6IFJlYWRhYmxlU3RyZWFtUmVhZGVyPGFueT4pIHtcbiAgaWYgKHJlYWRlci5fY2xvc2VkUHJvbWlzZV9yZXNvbHZlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICByZWFkZXIuX2Nsb3NlZFByb21pc2VfcmVzb2x2ZSh1bmRlZmluZWQpO1xuICByZWFkZXIuX2Nsb3NlZFByb21pc2VfcmVzb2x2ZSA9IHVuZGVmaW5lZDtcbiAgcmVhZGVyLl9jbG9zZWRQcm9taXNlX3JlamVjdCA9IHVuZGVmaW5lZDtcbn1cbiIsICIvLy8gPHJlZmVyZW5jZSBsaWI9XCJlczIwMTUuY29yZVwiIC8+XG5cbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL051bWJlci9pc0Zpbml0ZSNQb2x5ZmlsbFxuY29uc3QgTnVtYmVySXNGaW5pdGU6IHR5cGVvZiBOdW1iZXIuaXNGaW5pdGUgPSBOdW1iZXIuaXNGaW5pdGUgfHwgZnVuY3Rpb24gKHgpIHtcbiAgcmV0dXJuIHR5cGVvZiB4ID09PSAnbnVtYmVyJyAmJiBpc0Zpbml0ZSh4KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE51bWJlcklzRmluaXRlO1xuIiwgIi8vLyA8cmVmZXJlbmNlIGxpYj1cImVzMjAxNS5jb3JlXCIgLz5cblxuLy8gaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSmF2YVNjcmlwdC9SZWZlcmVuY2UvR2xvYmFsX09iamVjdHMvTWF0aC90cnVuYyNQb2x5ZmlsbFxuY29uc3QgTWF0aFRydW5jOiB0eXBlb2YgTWF0aC50cnVuYyA9IE1hdGgudHJ1bmMgfHwgZnVuY3Rpb24gKHYpIHtcbiAgcmV0dXJuIHYgPCAwID8gTWF0aC5jZWlsKHYpIDogTWF0aC5mbG9vcih2KTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IE1hdGhUcnVuYztcbiIsICJpbXBvcnQgTnVtYmVySXNGaW5pdGUgZnJvbSAnLi4vLi4vc3R1Yi9udW1iZXItaXNmaW5pdGUnO1xuaW1wb3J0IE1hdGhUcnVuYyBmcm9tICcuLi8uLi9zdHViL21hdGgtdHJ1bmMnO1xuXG4vLyBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNpZGwtZGljdGlvbmFyaWVzXG5leHBvcnQgZnVuY3Rpb24gaXNEaWN0aW9uYXJ5KHg6IGFueSk6IHggaXMgb2JqZWN0IHwgbnVsbCB7XG4gIHJldHVybiB0eXBlb2YgeCA9PT0gJ29iamVjdCcgfHwgdHlwZW9mIHggPT09ICdmdW5jdGlvbic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnREaWN0aW9uYXJ5KG9iajogdW5rbm93bixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHN0cmluZyk6IGFzc2VydHMgb2JqIGlzIG9iamVjdCB8IG51bGwgfCB1bmRlZmluZWQge1xuICBpZiAob2JqICE9PSB1bmRlZmluZWQgJiYgIWlzRGljdGlvbmFyeShvYmopKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgJHtjb250ZXh0fSBpcyBub3QgYW4gb2JqZWN0LmApO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIEFueUZ1bmN0aW9uID0gKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnk7XG5cbi8vIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2lkbC1jYWxsYmFjay1mdW5jdGlvbnNcbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRGdW5jdGlvbih4OiB1bmtub3duLCBjb250ZXh0OiBzdHJpbmcpOiBhc3NlcnRzIHggaXMgQW55RnVuY3Rpb24ge1xuICBpZiAodHlwZW9mIHggIT09ICdmdW5jdGlvbicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGAke2NvbnRleHR9IGlzIG5vdCBhIGZ1bmN0aW9uLmApO1xuICB9XG59XG5cbi8vIGh0dHBzOi8vaGV5Y2FtLmdpdGh1Yi5pby93ZWJpZGwvI2lkbC1vYmplY3RcbmV4cG9ydCBmdW5jdGlvbiBpc09iamVjdCh4OiBhbnkpOiB4IGlzIG9iamVjdCB7XG4gIHJldHVybiAodHlwZW9mIHggPT09ICdvYmplY3QnICYmIHggIT09IG51bGwpIHx8IHR5cGVvZiB4ID09PSAnZnVuY3Rpb24nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0T2JqZWN0KHg6IHVua25vd24sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHN0cmluZyk6IGFzc2VydHMgeCBpcyBvYmplY3Qge1xuICBpZiAoIWlzT2JqZWN0KHgpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgJHtjb250ZXh0fSBpcyBub3QgYW4gb2JqZWN0LmApO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRSZXF1aXJlZEFyZ3VtZW50PFQ+KHg6IFQgfCB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogc3RyaW5nKTogYXNzZXJ0cyB4IGlzIFQge1xuICBpZiAoeCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgUGFyYW1ldGVyICR7cG9zaXRpb259IGlzIHJlcXVpcmVkIGluICcke2NvbnRleHR9Jy5gKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0UmVxdWlyZWRGaWVsZDxUPih4OiBUIHwgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmllbGQ6IHN0cmluZyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHN0cmluZyk6IGFzc2VydHMgeCBpcyBUIHtcbiAgaWYgKHggPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYCR7ZmllbGR9IGlzIHJlcXVpcmVkIGluICcke2NvbnRleHR9Jy5gKTtcbiAgfVxufVxuXG4vLyBodHRwczovL2hleWNhbS5naXRodWIuaW8vd2ViaWRsLyNpZGwtdW5yZXN0cmljdGVkLWRvdWJsZVxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRVbnJlc3RyaWN0ZWREb3VibGUodmFsdWU6IHVua25vd24pOiBudW1iZXIge1xuICByZXR1cm4gTnVtYmVyKHZhbHVlKTtcbn1cblxuZnVuY3Rpb24gY2Vuc29yTmVnYXRpdmVaZXJvKHg6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiB4ID09PSAwID8gMCA6IHg7XG59XG5cbmZ1bmN0aW9uIGludGVnZXJQYXJ0KHg6IG51bWJlcik6IG51bWJlciB7XG4gIHJldHVybiBjZW5zb3JOZWdhdGl2ZVplcm8oTWF0aFRydW5jKHgpKTtcbn1cblxuLy8gaHR0cHM6Ly9oZXljYW0uZ2l0aHViLmlvL3dlYmlkbC8jaWRsLXVuc2lnbmVkLWxvbmctbG9uZ1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRVbnNpZ25lZExvbmdMb25nV2l0aEVuZm9yY2VSYW5nZSh2YWx1ZTogdW5rbm93biwgY29udGV4dDogc3RyaW5nKTogbnVtYmVyIHtcbiAgY29uc3QgbG93ZXJCb3VuZCA9IDA7XG4gIGNvbnN0IHVwcGVyQm91bmQgPSBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUjtcblxuICBsZXQgeCA9IE51bWJlcih2YWx1ZSk7XG4gIHggPSBjZW5zb3JOZWdhdGl2ZVplcm8oeCk7XG5cbiAgaWYgKCFOdW1iZXJJc0Zpbml0ZSh4KSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYCR7Y29udGV4dH0gaXMgbm90IGEgZmluaXRlIG51bWJlcmApO1xuICB9XG5cbiAgeCA9IGludGVnZXJQYXJ0KHgpO1xuXG4gIGlmICh4IDwgbG93ZXJCb3VuZCB8fCB4ID4gdXBwZXJCb3VuZCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYCR7Y29udGV4dH0gaXMgb3V0c2lkZSB0aGUgYWNjZXB0ZWQgcmFuZ2Ugb2YgJHtsb3dlckJvdW5kfSB0byAke3VwcGVyQm91bmR9LCBpbmNsdXNpdmVgKTtcbiAgfVxuXG4gIGlmICghTnVtYmVySXNGaW5pdGUoeCkgfHwgeCA9PT0gMCkge1xuICAgIHJldHVybiAwO1xuICB9XG5cbiAgLy8gVE9ETyBVc2UgQmlnSW50IGlmIHN1cHBvcnRlZD9cbiAgLy8gbGV0IHhCaWdJbnQgPSBCaWdJbnQoaW50ZWdlclBhcnQoeCkpO1xuICAvLyB4QmlnSW50ID0gQmlnSW50LmFzVWludE4oNjQsIHhCaWdJbnQpO1xuICAvLyByZXR1cm4gTnVtYmVyKHhCaWdJbnQpO1xuXG4gIHJldHVybiB4O1xufVxuIiwgImltcG9ydCB7IElzUmVhZGFibGVTdHJlYW0sIFJlYWRhYmxlU3RyZWFtIH0gZnJvbSAnLi4vcmVhZGFibGUtc3RyZWFtJztcblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFJlYWRhYmxlU3RyZWFtKHg6IHVua25vd24sIGNvbnRleHQ6IHN0cmluZyk6IGFzc2VydHMgeCBpcyBSZWFkYWJsZVN0cmVhbSB7XG4gIGlmICghSXNSZWFkYWJsZVN0cmVhbSh4KSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYCR7Y29udGV4dH0gaXMgbm90IGEgUmVhZGFibGVTdHJlYW0uYCk7XG4gIH1cbn1cbiIsICJpbXBvcnQgYXNzZXJ0IGZyb20gJy4uLy4uL3N0dWIvYXNzZXJ0JztcbmltcG9ydCB7IFNpbXBsZVF1ZXVlIH0gZnJvbSAnLi4vc2ltcGxlLXF1ZXVlJztcbmltcG9ydCB7XG4gIFJlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJpY0NhbmNlbCxcbiAgUmVhZGFibGVTdHJlYW1SZWFkZXJHZW5lcmljSW5pdGlhbGl6ZSxcbiAgUmVhZGFibGVTdHJlYW1SZWFkZXJHZW5lcmljUmVsZWFzZSxcbiAgcmVhZGVyTG9ja0V4Y2VwdGlvblxufSBmcm9tICcuL2dlbmVyaWMtcmVhZGVyJztcbmltcG9ydCB7IElzUmVhZGFibGVTdHJlYW1Mb2NrZWQsIFJlYWRhYmxlU3RyZWFtIH0gZnJvbSAnLi4vcmVhZGFibGUtc3RyZWFtJztcbmltcG9ydCB7IHNldEZ1bmN0aW9uTmFtZSwgdHlwZUlzT2JqZWN0IH0gZnJvbSAnLi4vaGVscGVycy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7IFB1bGxTdGVwcyB9IGZyb20gJy4uL2Fic3RyYWN0LW9wcy9pbnRlcm5hbC1tZXRob2RzJztcbmltcG9ydCB7IG5ld1Byb21pc2UsIHByb21pc2VSZWplY3RlZFdpdGggfSBmcm9tICcuLi9oZWxwZXJzL3dlYmlkbCc7XG5pbXBvcnQgeyBhc3NlcnRSZXF1aXJlZEFyZ3VtZW50IH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9iYXNpYyc7XG5pbXBvcnQgeyBhc3NlcnRSZWFkYWJsZVN0cmVhbSB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvcmVhZGFibGUtc3RyZWFtJztcblxuLyoqXG4gKiBBIHJlc3VsdCByZXR1cm5lZCBieSB7QGxpbmsgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLnJlYWR9LlxuICpcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IHR5cGUgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZFJlc3VsdDxUPiA9IHtcbiAgZG9uZTogZmFsc2U7XG4gIHZhbHVlOiBUO1xufSB8IHtcbiAgZG9uZTogdHJ1ZTtcbiAgdmFsdWU/OiB1bmRlZmluZWQ7XG59XG5cbi8vIEFic3RyYWN0IG9wZXJhdGlvbnMgZm9yIHRoZSBSZWFkYWJsZVN0cmVhbS5cblxuZXhwb3J0IGZ1bmN0aW9uIEFjcXVpcmVSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXI8Uj4oc3RyZWFtOiBSZWFkYWJsZVN0cmVhbSk6IFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcjxSPiB7XG4gIHJldHVybiBuZXcgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyKHN0cmVhbSk7XG59XG5cbi8vIFJlYWRhYmxlU3RyZWFtIEFQSSBleHBvc2VkIGZvciBjb250cm9sbGVycy5cblxuZXhwb3J0IGZ1bmN0aW9uIFJlYWRhYmxlU3RyZWFtQWRkUmVhZFJlcXVlc3Q8Uj4oc3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxSPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRSZXF1ZXN0OiBSZWFkUmVxdWVzdDxSPik6IHZvaWQge1xuICBhc3NlcnQoSXNSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIoc3RyZWFtLl9yZWFkZXIpKTtcbiAgYXNzZXJ0KHN0cmVhbS5fc3RhdGUgPT09ICdyZWFkYWJsZScpO1xuXG4gIChzdHJlYW0uX3JlYWRlciEgYXMgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyPFI+KS5fcmVhZFJlcXVlc3RzLnB1c2gocmVhZFJlcXVlc3QpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVhZGFibGVTdHJlYW1GdWxmaWxsUmVhZFJlcXVlc3Q8Uj4oc3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxSPiwgY2h1bms6IFIgfCB1bmRlZmluZWQsIGRvbmU6IGJvb2xlYW4pIHtcbiAgY29uc3QgcmVhZGVyID0gc3RyZWFtLl9yZWFkZXIgYXMgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyPFI+O1xuXG4gIGFzc2VydChyZWFkZXIuX3JlYWRSZXF1ZXN0cy5sZW5ndGggPiAwKTtcblxuICBjb25zdCByZWFkUmVxdWVzdCA9IHJlYWRlci5fcmVhZFJlcXVlc3RzLnNoaWZ0KCkhO1xuICBpZiAoZG9uZSkge1xuICAgIHJlYWRSZXF1ZXN0Ll9jbG9zZVN0ZXBzKCk7XG4gIH0gZWxzZSB7XG4gICAgcmVhZFJlcXVlc3QuX2NodW5rU3RlcHMoY2h1bmshKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVhZGFibGVTdHJlYW1HZXROdW1SZWFkUmVxdWVzdHM8Uj4oc3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxSPik6IG51bWJlciB7XG4gIHJldHVybiAoc3RyZWFtLl9yZWFkZXIgYXMgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyPFI+KS5fcmVhZFJlcXVlc3RzLmxlbmd0aDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJlYWRhYmxlU3RyZWFtSGFzRGVmYXVsdFJlYWRlcihzdHJlYW06IFJlYWRhYmxlU3RyZWFtKTogYm9vbGVhbiB7XG4gIGNvbnN0IHJlYWRlciA9IHN0cmVhbS5fcmVhZGVyO1xuXG4gIGlmIChyZWFkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghSXNSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIocmVhZGVyKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG4vLyBSZWFkZXJzXG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZFJlcXVlc3Q8Uj4ge1xuICBfY2h1bmtTdGVwcyhjaHVuazogUik6IHZvaWQ7XG5cbiAgX2Nsb3NlU3RlcHMoKTogdm9pZDtcblxuICBfZXJyb3JTdGVwcyhlOiBhbnkpOiB2b2lkO1xufVxuXG4vKipcbiAqIEEgZGVmYXVsdCByZWFkZXIgdmVuZGVkIGJ5IGEge0BsaW5rIFJlYWRhYmxlU3RyZWFtfS5cbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXI8UiA9IGFueT4ge1xuICAvKiogQGludGVybmFsICovXG4gIF9vd25lclJlYWRhYmxlU3RyZWFtITogUmVhZGFibGVTdHJlYW08Uj47XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2Nsb3NlZFByb21pc2UhOiBQcm9taXNlPHVuZGVmaW5lZD47XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2Nsb3NlZFByb21pc2VfcmVzb2x2ZT86ICh2YWx1ZT86IHVuZGVmaW5lZCkgPT4gdm9pZDtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfY2xvc2VkUHJvbWlzZV9yZWplY3Q/OiAocmVhc29uOiBhbnkpID0+IHZvaWQ7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3JlYWRSZXF1ZXN0czogU2ltcGxlUXVldWU8UmVhZFJlcXVlc3Q8Uj4+O1xuXG4gIGNvbnN0cnVjdG9yKHN0cmVhbTogUmVhZGFibGVTdHJlYW08Uj4pIHtcbiAgICBhc3NlcnRSZXF1aXJlZEFyZ3VtZW50KHN0cmVhbSwgMSwgJ1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcicpO1xuICAgIGFzc2VydFJlYWRhYmxlU3RyZWFtKHN0cmVhbSwgJ0ZpcnN0IHBhcmFtZXRlcicpO1xuXG4gICAgaWYgKElzUmVhZGFibGVTdHJlYW1Mb2NrZWQoc3RyZWFtKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhpcyBzdHJlYW0gaGFzIGFscmVhZHkgYmVlbiBsb2NrZWQgZm9yIGV4Y2x1c2l2ZSByZWFkaW5nIGJ5IGFub3RoZXIgcmVhZGVyJyk7XG4gICAgfVxuXG4gICAgUmVhZGFibGVTdHJlYW1SZWFkZXJHZW5lcmljSW5pdGlhbGl6ZSh0aGlzLCBzdHJlYW0pO1xuXG4gICAgdGhpcy5fcmVhZFJlcXVlc3RzID0gbmV3IFNpbXBsZVF1ZXVlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHByb21pc2UgdGhhdCB3aWxsIGJlIGZ1bGZpbGxlZCB3aGVuIHRoZSBzdHJlYW0gYmVjb21lcyBjbG9zZWQsXG4gICAqIG9yIHJlamVjdGVkIGlmIHRoZSBzdHJlYW0gZXZlciBlcnJvcnMgb3IgdGhlIHJlYWRlcidzIGxvY2sgaXMgcmVsZWFzZWQgYmVmb3JlIHRoZSBzdHJlYW0gZmluaXNoZXMgY2xvc2luZy5cbiAgICovXG4gIGdldCBjbG9zZWQoKTogUHJvbWlzZTx1bmRlZmluZWQ+IHtcbiAgICBpZiAoIUlzUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyKHRoaXMpKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChkZWZhdWx0UmVhZGVyQnJhbmRDaGVja0V4Y2VwdGlvbignY2xvc2VkJykpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9jbG9zZWRQcm9taXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIHRoZSByZWFkZXIgaXMgYWN0aXZlLCBiZWhhdmVzIHRoZSBzYW1lIGFzIHtAbGluayBSZWFkYWJsZVN0cmVhbS5jYW5jZWwgfCBzdHJlYW0uY2FuY2VsKHJlYXNvbil9LlxuICAgKi9cbiAgY2FuY2VsKHJlYXNvbjogYW55ID0gdW5kZWZpbmVkKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFJc1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcih0aGlzKSkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgoZGVmYXVsdFJlYWRlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ2NhbmNlbCcpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fb3duZXJSZWFkYWJsZVN0cmVhbSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChyZWFkZXJMb2NrRXhjZXB0aW9uKCdjYW5jZWwnKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFJlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJpY0NhbmNlbCh0aGlzLCByZWFzb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBwcm9taXNlIHRoYXQgYWxsb3dzIGFjY2VzcyB0byB0aGUgbmV4dCBjaHVuayBmcm9tIHRoZSBzdHJlYW0ncyBpbnRlcm5hbCBxdWV1ZSwgaWYgYXZhaWxhYmxlLlxuICAgKlxuICAgKiBJZiByZWFkaW5nIGEgY2h1bmsgY2F1c2VzIHRoZSBxdWV1ZSB0byBiZWNvbWUgZW1wdHksIG1vcmUgZGF0YSB3aWxsIGJlIHB1bGxlZCBmcm9tIHRoZSB1bmRlcmx5aW5nIHNvdXJjZS5cbiAgICovXG4gIHJlYWQoKTogUHJvbWlzZTxSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkUmVzdWx0PFI+PiB7XG4gICAgaWYgKCFJc1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcih0aGlzKSkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgoZGVmYXVsdFJlYWRlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ3JlYWQnKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX293bmVyUmVhZGFibGVTdHJlYW0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgocmVhZGVyTG9ja0V4Y2VwdGlvbigncmVhZCBmcm9tJykpO1xuICAgIH1cblxuICAgIGxldCByZXNvbHZlUHJvbWlzZSE6IChyZXN1bHQ6IFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRSZXN1bHQ8Uj4pID0+IHZvaWQ7XG4gICAgbGV0IHJlamVjdFByb21pc2UhOiAocmVhc29uOiBhbnkpID0+IHZvaWQ7XG4gICAgY29uc3QgcHJvbWlzZSA9IG5ld1Byb21pc2U8UmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZFJlc3VsdDxSPj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgcmVzb2x2ZVByb21pc2UgPSByZXNvbHZlO1xuICAgICAgcmVqZWN0UHJvbWlzZSA9IHJlamVjdDtcbiAgICB9KTtcbiAgICBjb25zdCByZWFkUmVxdWVzdDogUmVhZFJlcXVlc3Q8Uj4gPSB7XG4gICAgICBfY2h1bmtTdGVwczogY2h1bmsgPT4gcmVzb2x2ZVByb21pc2UoeyB2YWx1ZTogY2h1bmssIGRvbmU6IGZhbHNlIH0pLFxuICAgICAgX2Nsb3NlU3RlcHM6ICgpID0+IHJlc29sdmVQcm9taXNlKHsgdmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1ZSB9KSxcbiAgICAgIF9lcnJvclN0ZXBzOiBlID0+IHJlamVjdFByb21pc2UoZSlcbiAgICB9O1xuICAgIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlclJlYWQodGhpcywgcmVhZFJlcXVlc3QpO1xuICAgIHJldHVybiBwcm9taXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbGVhc2VzIHRoZSByZWFkZXIncyBsb2NrIG9uIHRoZSBjb3JyZXNwb25kaW5nIHN0cmVhbS4gQWZ0ZXIgdGhlIGxvY2sgaXMgcmVsZWFzZWQsIHRoZSByZWFkZXIgaXMgbm8gbG9uZ2VyIGFjdGl2ZS5cbiAgICogSWYgdGhlIGFzc29jaWF0ZWQgc3RyZWFtIGlzIGVycm9yZWQgd2hlbiB0aGUgbG9jayBpcyByZWxlYXNlZCwgdGhlIHJlYWRlciB3aWxsIGFwcGVhciBlcnJvcmVkIGluIHRoZSBzYW1lIHdheVxuICAgKiBmcm9tIG5vdyBvbjsgb3RoZXJ3aXNlLCB0aGUgcmVhZGVyIHdpbGwgYXBwZWFyIGNsb3NlZC5cbiAgICpcbiAgICogQSByZWFkZXIncyBsb2NrIGNhbm5vdCBiZSByZWxlYXNlZCB3aGlsZSBpdCBzdGlsbCBoYXMgYSBwZW5kaW5nIHJlYWQgcmVxdWVzdCwgaS5lLiwgaWYgYSBwcm9taXNlIHJldHVybmVkIGJ5XG4gICAqIHRoZSByZWFkZXIncyB7QGxpbmsgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLnJlYWQgfCByZWFkKCl9IG1ldGhvZCBoYXMgbm90IHlldCBiZWVuIHNldHRsZWQuIEF0dGVtcHRpbmcgdG9cbiAgICogZG8gc28gd2lsbCB0aHJvdyBhIGBUeXBlRXJyb3JgIGFuZCBsZWF2ZSB0aGUgcmVhZGVyIGxvY2tlZCB0byB0aGUgc3RyZWFtLlxuICAgKi9cbiAgcmVsZWFzZUxvY2soKTogdm9pZCB7XG4gICAgaWYgKCFJc1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcih0aGlzKSkge1xuICAgICAgdGhyb3cgZGVmYXVsdFJlYWRlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ3JlbGVhc2VMb2NrJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX293bmVyUmVhZGFibGVTdHJlYW0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlclJlbGVhc2UodGhpcyk7XG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLnByb3RvdHlwZSwge1xuICBjYW5jZWw6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuICByZWFkOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgcmVsZWFzZUxvY2s6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuICBjbG9zZWQ6IHsgZW51bWVyYWJsZTogdHJ1ZSB9XG59KTtcbnNldEZ1bmN0aW9uTmFtZShSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIucHJvdG90eXBlLmNhbmNlbCwgJ2NhbmNlbCcpO1xuc2V0RnVuY3Rpb25OYW1lKFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlci5wcm90b3R5cGUucmVhZCwgJ3JlYWQnKTtcbnNldEZ1bmN0aW9uTmFtZShSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIucHJvdG90eXBlLnJlbGVhc2VMb2NrLCAncmVsZWFzZUxvY2snKTtcbmlmICh0eXBlb2YgU3ltYm9sLnRvU3RyaW5nVGFnID09PSAnc3ltYm9sJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7XG4gICAgdmFsdWU6ICdSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXInLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KTtcbn1cblxuLy8gQWJzdHJhY3Qgb3BlcmF0aW9ucyBmb3IgdGhlIHJlYWRlcnMuXG5cbmV4cG9ydCBmdW5jdGlvbiBJc1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcjxSID0gYW55Pih4OiBhbnkpOiB4IGlzIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcjxSPiB7XG4gIGlmICghdHlwZUlzT2JqZWN0KHgpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoeCwgJ19yZWFkUmVxdWVzdHMnKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB4IGluc3RhbmNlb2YgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyUmVhZDxSPihyZWFkZXI6IFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcjxSPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRSZXF1ZXN0OiBSZWFkUmVxdWVzdDxSPik6IHZvaWQge1xuICBjb25zdCBzdHJlYW0gPSByZWFkZXIuX293bmVyUmVhZGFibGVTdHJlYW07XG5cbiAgYXNzZXJ0KHN0cmVhbSAhPT0gdW5kZWZpbmVkKTtcblxuICBzdHJlYW0uX2Rpc3R1cmJlZCA9IHRydWU7XG5cbiAgaWYgKHN0cmVhbS5fc3RhdGUgPT09ICdjbG9zZWQnKSB7XG4gICAgcmVhZFJlcXVlc3QuX2Nsb3NlU3RlcHMoKTtcbiAgfSBlbHNlIGlmIChzdHJlYW0uX3N0YXRlID09PSAnZXJyb3JlZCcpIHtcbiAgICByZWFkUmVxdWVzdC5fZXJyb3JTdGVwcyhzdHJlYW0uX3N0b3JlZEVycm9yKTtcbiAgfSBlbHNlIHtcbiAgICBhc3NlcnQoc3RyZWFtLl9zdGF0ZSA9PT0gJ3JlYWRhYmxlJyk7XG4gICAgc3RyZWFtLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJbUHVsbFN0ZXBzXShyZWFkUmVxdWVzdCBhcyBSZWFkUmVxdWVzdDxhbnk+KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyUmVsZWFzZShyZWFkZXI6IFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcikge1xuICBSZWFkYWJsZVN0cmVhbVJlYWRlckdlbmVyaWNSZWxlYXNlKHJlYWRlcik7XG4gIGNvbnN0IGUgPSBuZXcgVHlwZUVycm9yKCdSZWFkZXIgd2FzIHJlbGVhc2VkJyk7XG4gIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlckVycm9yUmVhZFJlcXVlc3RzKHJlYWRlciwgZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJFcnJvclJlYWRSZXF1ZXN0cyhyZWFkZXI6IFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlciwgZTogYW55KSB7XG4gIGNvbnN0IHJlYWRSZXF1ZXN0cyA9IHJlYWRlci5fcmVhZFJlcXVlc3RzO1xuICByZWFkZXIuX3JlYWRSZXF1ZXN0cyA9IG5ldyBTaW1wbGVRdWV1ZSgpO1xuICByZWFkUmVxdWVzdHMuZm9yRWFjaChyZWFkUmVxdWVzdCA9PiB7XG4gICAgcmVhZFJlcXVlc3QuX2Vycm9yU3RlcHMoZSk7XG4gIH0pO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb25zIGZvciB0aGUgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLlxuXG5mdW5jdGlvbiBkZWZhdWx0UmVhZGVyQnJhbmRDaGVja0V4Y2VwdGlvbihuYW1lOiBzdHJpbmcpOiBUeXBlRXJyb3Ige1xuICByZXR1cm4gbmV3IFR5cGVFcnJvcihcbiAgICBgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLnByb3RvdHlwZS4ke25hbWV9IGNhbiBvbmx5IGJlIHVzZWQgb24gYSBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJgKTtcbn1cbiIsICIvLy8gPHJlZmVyZW5jZSBsaWI9XCJlczIwMTguYXN5bmNpdGVyYWJsZVwiIC8+XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvbiAqL1xuZXhwb3J0IGNvbnN0IEFzeW5jSXRlcmF0b3JQcm90b3R5cGU6IEFzeW5jSXRlcmFibGU8YW55PiA9XG4gIE9iamVjdC5nZXRQcm90b3R5cGVPZihPYmplY3QuZ2V0UHJvdG90eXBlT2YoYXN5bmMgZnVuY3Rpb24qICgpOiBBc3luY0l0ZXJhYmxlSXRlcmF0b3I8YW55PiB7fSkucHJvdG90eXBlKTtcbiIsICIvLy8gPHJlZmVyZW5jZSBsaWI9XCJlczIwMTguYXN5bmNpdGVyYWJsZVwiIC8+XG5cbmltcG9ydCB7IFJlYWRhYmxlU3RyZWFtIH0gZnJvbSAnLi4vcmVhZGFibGUtc3RyZWFtJztcbmltcG9ydCB7XG4gIEFjcXVpcmVSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIsXG4gIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcixcbiAgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyUmVhZCxcbiAgdHlwZSBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkUmVzdWx0LFxuICB0eXBlIFJlYWRSZXF1ZXN0XG59IGZyb20gJy4vZGVmYXVsdC1yZWFkZXInO1xuaW1wb3J0IHsgUmVhZGFibGVTdHJlYW1SZWFkZXJHZW5lcmljQ2FuY2VsLCBSZWFkYWJsZVN0cmVhbVJlYWRlckdlbmVyaWNSZWxlYXNlIH0gZnJvbSAnLi9nZW5lcmljLXJlYWRlcic7XG5pbXBvcnQgYXNzZXJ0IGZyb20gJy4uLy4uL3N0dWIvYXNzZXJ0JztcbmltcG9ydCB7IEFzeW5jSXRlcmF0b3JQcm90b3R5cGUgfSBmcm9tICdAQHRhcmdldC9zdHViL2FzeW5jLWl0ZXJhdG9yLXByb3RvdHlwZSc7XG5pbXBvcnQgeyB0eXBlSXNPYmplY3QgfSBmcm9tICcuLi9oZWxwZXJzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtcbiAgbmV3UHJvbWlzZSxcbiAgcHJvbWlzZVJlamVjdGVkV2l0aCxcbiAgcHJvbWlzZVJlc29sdmVkV2l0aCxcbiAgcXVldWVNaWNyb3Rhc2ssXG4gIHRyYW5zZm9ybVByb21pc2VXaXRoXG59IGZyb20gJy4uL2hlbHBlcnMvd2ViaWRsJztcblxuLyoqXG4gKiBBbiBhc3luYyBpdGVyYXRvciByZXR1cm5lZCBieSB7QGxpbmsgUmVhZGFibGVTdHJlYW0udmFsdWVzfS5cbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yPFI+IGV4dGVuZHMgQXN5bmNJdGVyYWJsZUl0ZXJhdG9yPFI+IHtcbiAgbmV4dCgpOiBQcm9taXNlPEl0ZXJhdG9yUmVzdWx0PFIsIHVuZGVmaW5lZD4+O1xuXG4gIHJldHVybih2YWx1ZT86IGFueSk6IFByb21pc2U8SXRlcmF0b3JSZXN1bHQ8YW55Pj47XG59XG5cbmV4cG9ydCBjbGFzcyBSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3JJbXBsPFI+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfcmVhZGVyOiBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXI8Uj47XG4gIHByaXZhdGUgcmVhZG9ubHkgX3ByZXZlbnRDYW5jZWw6IGJvb2xlYW47XG4gIHByaXZhdGUgX29uZ29pbmdQcm9taXNlOiBQcm9taXNlPFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRSZXN1bHQ8Uj4+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICBwcml2YXRlIF9pc0ZpbmlzaGVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IocmVhZGVyOiBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXI8Uj4sIHByZXZlbnRDYW5jZWw6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9yZWFkZXIgPSByZWFkZXI7XG4gICAgdGhpcy5fcHJldmVudENhbmNlbCA9IHByZXZlbnRDYW5jZWw7XG4gIH1cblxuICBuZXh0KCk6IFByb21pc2U8UmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZFJlc3VsdDxSPj4ge1xuICAgIGNvbnN0IG5leHRTdGVwcyA9ICgpID0+IHRoaXMuX25leHRTdGVwcygpO1xuICAgIHRoaXMuX29uZ29pbmdQcm9taXNlID0gdGhpcy5fb25nb2luZ1Byb21pc2UgP1xuICAgICAgdHJhbnNmb3JtUHJvbWlzZVdpdGgodGhpcy5fb25nb2luZ1Byb21pc2UsIG5leHRTdGVwcywgbmV4dFN0ZXBzKSA6XG4gICAgICBuZXh0U3RlcHMoKTtcbiAgICByZXR1cm4gdGhpcy5fb25nb2luZ1Byb21pc2U7XG4gIH1cblxuICByZXR1cm4odmFsdWU6IGFueSk6IFByb21pc2U8UmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZFJlc3VsdDxhbnk+PiB7XG4gICAgY29uc3QgcmV0dXJuU3RlcHMgPSAoKSA9PiB0aGlzLl9yZXR1cm5TdGVwcyh2YWx1ZSk7XG4gICAgcmV0dXJuIHRoaXMuX29uZ29pbmdQcm9taXNlID9cbiAgICAgIHRyYW5zZm9ybVByb21pc2VXaXRoKHRoaXMuX29uZ29pbmdQcm9taXNlLCByZXR1cm5TdGVwcywgcmV0dXJuU3RlcHMpIDpcbiAgICAgIHJldHVyblN0ZXBzKCk7XG4gIH1cblxuICBwcml2YXRlIF9uZXh0U3RlcHMoKTogUHJvbWlzZTxSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkUmVzdWx0PFI+PiB7XG4gICAgaWYgKHRoaXMuX2lzRmluaXNoZWQpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyB2YWx1ZTogdW5kZWZpbmVkLCBkb25lOiB0cnVlIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHJlYWRlciA9IHRoaXMuX3JlYWRlcjtcbiAgICBhc3NlcnQocmVhZGVyLl9vd25lclJlYWRhYmxlU3RyZWFtICE9PSB1bmRlZmluZWQpO1xuXG4gICAgbGV0IHJlc29sdmVQcm9taXNlITogKHJlc3VsdDogUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZFJlc3VsdDxSPikgPT4gdm9pZDtcbiAgICBsZXQgcmVqZWN0UHJvbWlzZSE6IChyZWFzb246IGFueSkgPT4gdm9pZDtcbiAgICBjb25zdCBwcm9taXNlID0gbmV3UHJvbWlzZTxSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkUmVzdWx0PFI+PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICByZXNvbHZlUHJvbWlzZSA9IHJlc29sdmU7XG4gICAgICByZWplY3RQcm9taXNlID0gcmVqZWN0O1xuICAgIH0pO1xuICAgIGNvbnN0IHJlYWRSZXF1ZXN0OiBSZWFkUmVxdWVzdDxSPiA9IHtcbiAgICAgIF9jaHVua1N0ZXBzOiBjaHVuayA9PiB7XG4gICAgICAgIHRoaXMuX29uZ29pbmdQcm9taXNlID0gdW5kZWZpbmVkO1xuICAgICAgICAvLyBUaGlzIG5lZWRzIHRvIGJlIGRlbGF5ZWQgYnkgb25lIG1pY3JvdGFzaywgb3RoZXJ3aXNlIHdlIHN0b3AgcHVsbGluZyB0b28gZWFybHkgd2hpY2ggYnJlYWtzIGEgdGVzdC5cbiAgICAgICAgLy8gRklYTUUgSXMgdGhpcyBhIGJ1ZyBpbiB0aGUgc3BlY2lmaWNhdGlvbiwgb3IgaW4gdGhlIHRlc3Q/XG4gICAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHJlc29sdmVQcm9taXNlKHsgdmFsdWU6IGNodW5rLCBkb25lOiBmYWxzZSB9KSk7XG4gICAgICB9LFxuICAgICAgX2Nsb3NlU3RlcHM6ICgpID0+IHtcbiAgICAgICAgdGhpcy5fb25nb2luZ1Byb21pc2UgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuX2lzRmluaXNoZWQgPSB0cnVlO1xuICAgICAgICBSZWFkYWJsZVN0cmVhbVJlYWRlckdlbmVyaWNSZWxlYXNlKHJlYWRlcik7XG4gICAgICAgIHJlc29sdmVQcm9taXNlKHsgdmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1ZSB9KTtcbiAgICAgIH0sXG4gICAgICBfZXJyb3JTdGVwczogcmVhc29uID0+IHtcbiAgICAgICAgdGhpcy5fb25nb2luZ1Byb21pc2UgPSB1bmRlZmluZWQ7XG4gICAgICAgIHRoaXMuX2lzRmluaXNoZWQgPSB0cnVlO1xuICAgICAgICBSZWFkYWJsZVN0cmVhbVJlYWRlckdlbmVyaWNSZWxlYXNlKHJlYWRlcik7XG4gICAgICAgIHJlamVjdFByb21pc2UocmVhc29uKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlclJlYWQocmVhZGVyLCByZWFkUmVxdWVzdCk7XG4gICAgcmV0dXJuIHByb21pc2U7XG4gIH1cblxuICBwcml2YXRlIF9yZXR1cm5TdGVwcyh2YWx1ZTogYW55KTogUHJvbWlzZTxSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkUmVzdWx0PGFueT4+IHtcbiAgICBpZiAodGhpcy5faXNGaW5pc2hlZCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZSh7IHZhbHVlLCBkb25lOiB0cnVlIH0pO1xuICAgIH1cbiAgICB0aGlzLl9pc0ZpbmlzaGVkID0gdHJ1ZTtcblxuICAgIGNvbnN0IHJlYWRlciA9IHRoaXMuX3JlYWRlcjtcbiAgICBhc3NlcnQocmVhZGVyLl9vd25lclJlYWRhYmxlU3RyZWFtICE9PSB1bmRlZmluZWQpO1xuICAgIGFzc2VydChyZWFkZXIuX3JlYWRSZXF1ZXN0cy5sZW5ndGggPT09IDApO1xuXG4gICAgaWYgKCF0aGlzLl9wcmV2ZW50Q2FuY2VsKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSBSZWFkYWJsZVN0cmVhbVJlYWRlckdlbmVyaWNDYW5jZWwocmVhZGVyLCB2YWx1ZSk7XG4gICAgICBSZWFkYWJsZVN0cmVhbVJlYWRlckdlbmVyaWNSZWxlYXNlKHJlYWRlcik7XG4gICAgICByZXR1cm4gdHJhbnNmb3JtUHJvbWlzZVdpdGgocmVzdWx0LCAoKSA9PiAoeyB2YWx1ZSwgZG9uZTogdHJ1ZSB9KSk7XG4gICAgfVxuXG4gICAgUmVhZGFibGVTdHJlYW1SZWFkZXJHZW5lcmljUmVsZWFzZShyZWFkZXIpO1xuICAgIHJldHVybiBwcm9taXNlUmVzb2x2ZWRXaXRoKHsgdmFsdWUsIGRvbmU6IHRydWUgfSk7XG4gIH1cbn1cblxuaW50ZXJmYWNlIFJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvckluc3RhbmNlPFI+IGV4dGVuZHMgUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yPFI+IHtcbiAgLyoqIEBpbnRlcmFsICovXG4gIF9hc3luY0l0ZXJhdG9ySW1wbDogUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9ySW1wbDxSPjtcblxuICBuZXh0KCk6IFByb21pc2U8SXRlcmF0b3JSZXN1bHQ8UiwgdW5kZWZpbmVkPj47XG5cbiAgcmV0dXJuKHZhbHVlPzogYW55KTogUHJvbWlzZTxJdGVyYXRvclJlc3VsdDxhbnk+Pjtcbn1cblxuY29uc3QgUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yUHJvdG90eXBlOiBSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3JJbnN0YW5jZTxhbnk+ID0ge1xuICBuZXh0KHRoaXM6IFJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvckluc3RhbmNlPGFueT4pOiBQcm9taXNlPFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRSZXN1bHQ8YW55Pj4ge1xuICAgIGlmICghSXNSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IodGhpcykpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKHN0cmVhbUFzeW5jSXRlcmF0b3JCcmFuZENoZWNrRXhjZXB0aW9uKCduZXh0JykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYXN5bmNJdGVyYXRvckltcGwubmV4dCgpO1xuICB9LFxuXG4gIHJldHVybih0aGlzOiBSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3JJbnN0YW5jZTxhbnk+LCB2YWx1ZTogYW55KTogUHJvbWlzZTxSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkUmVzdWx0PGFueT4+IHtcbiAgICBpZiAoIUlzUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yKHRoaXMpKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChzdHJlYW1Bc3luY0l0ZXJhdG9yQnJhbmRDaGVja0V4Y2VwdGlvbigncmV0dXJuJykpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYXN5bmNJdGVyYXRvckltcGwucmV0dXJuKHZhbHVlKTtcbiAgfVxufSBhcyBhbnk7XG5PYmplY3Quc2V0UHJvdG90eXBlT2YoUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yUHJvdG90eXBlLCBBc3luY0l0ZXJhdG9yUHJvdG90eXBlKTtcblxuLy8gQWJzdHJhY3Qgb3BlcmF0aW9ucyBmb3IgdGhlIFJlYWRhYmxlU3RyZWFtLlxuXG5leHBvcnQgZnVuY3Rpb24gQWNxdWlyZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcjxSPihzdHJlYW06IFJlYWRhYmxlU3RyZWFtPFI+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmVudENhbmNlbDogYm9vbGVhbik6IFJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcjxSPiB7XG4gIGNvbnN0IHJlYWRlciA9IEFjcXVpcmVSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXI8Uj4oc3RyZWFtKTtcbiAgY29uc3QgaW1wbCA9IG5ldyBSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3JJbXBsKHJlYWRlciwgcHJldmVudENhbmNlbCk7XG4gIGNvbnN0IGl0ZXJhdG9yOiBSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3JJbnN0YW5jZTxSPiA9IE9iamVjdC5jcmVhdGUoUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yUHJvdG90eXBlKTtcbiAgaXRlcmF0b3IuX2FzeW5jSXRlcmF0b3JJbXBsID0gaW1wbDtcbiAgcmV0dXJuIGl0ZXJhdG9yO1xufVxuXG5mdW5jdGlvbiBJc1JlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcjxSID0gYW55Pih4OiBhbnkpOiB4IGlzIFJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcjxSPiB7XG4gIGlmICghdHlwZUlzT2JqZWN0KHgpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoeCwgJ19hc3luY0l0ZXJhdG9ySW1wbCcpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdHJ5IHtcbiAgICAvLyBub2luc3BlY3Rpb24gU3VzcGljaW91c1R5cGVPZkd1YXJkXG4gICAgcmV0dXJuICh4IGFzIFJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvckluc3RhbmNlPGFueT4pLl9hc3luY0l0ZXJhdG9ySW1wbCBpbnN0YW5jZW9mXG4gICAgICBSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3JJbXBsO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9ucyBmb3IgdGhlIFJlYWRhYmxlU3RyZWFtLlxuXG5mdW5jdGlvbiBzdHJlYW1Bc3luY0l0ZXJhdG9yQnJhbmRDaGVja0V4Y2VwdGlvbihuYW1lOiBzdHJpbmcpOiBUeXBlRXJyb3Ige1xuICByZXR1cm4gbmV3IFR5cGVFcnJvcihgUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yLiR7bmFtZX0gY2FuIG9ubHkgYmUgdXNlZCBvbiBhIFJlYWRhYmxlU3RlYW1Bc3luY0l0ZXJhdG9yYCk7XG59XG4iLCAiLy8vIDxyZWZlcmVuY2UgbGliPVwiZXMyMDE1LmNvcmVcIiAvPlxuXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9OdW1iZXIvaXNOYU4jUG9seWZpbGxcbmNvbnN0IE51bWJlcklzTmFOOiB0eXBlb2YgTnVtYmVyLmlzTmFOID0gTnVtYmVyLmlzTmFOIHx8IGZ1bmN0aW9uICh4KSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1zZWxmLWNvbXBhcmVcbiAgcmV0dXJuIHggIT09IHg7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBOdW1iZXJJc05hTjtcbiIsICJpbXBvcnQgeyByZWZsZWN0Q2FsbCB9IGZyb20gJ2xpYi9oZWxwZXJzL3dlYmlkbCc7XG5pbXBvcnQgeyB0eXBlSXNPYmplY3QgfSBmcm9tICcuLi9oZWxwZXJzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IGFzc2VydCBmcm9tICcuLi8uLi9zdHViL2Fzc2VydCc7XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgaW50ZXJmYWNlIEFycmF5QnVmZmVyIHtcbiAgICByZWFkb25seSBkZXRhY2hlZDogYm9vbGVhbjtcblxuICAgIHRyYW5zZmVyKCk6IEFycmF5QnVmZmVyO1xuICB9XG5cbiAgZnVuY3Rpb24gc3RydWN0dXJlZENsb25lPFQ+KHZhbHVlOiBULCBvcHRpb25zOiB7IHRyYW5zZmVyOiBBcnJheUJ1ZmZlcltdIH0pOiBUO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlQXJyYXlGcm9tTGlzdDxUIGV4dGVuZHMgYW55W10+KGVsZW1lbnRzOiBUKTogVCB7XG4gIC8vIFdlIHVzZSBhcnJheXMgdG8gcmVwcmVzZW50IGxpc3RzLCBzbyB0aGlzIGlzIGJhc2ljYWxseSBhIG5vLW9wLlxuICAvLyBEbyBhIHNsaWNlIHRob3VnaCBqdXN0IGluIGNhc2Ugd2UgaGFwcGVuIHRvIGRlcGVuZCBvbiB0aGUgdW5pcXVlLW5lc3MuXG4gIHJldHVybiBlbGVtZW50cy5zbGljZSgpIGFzIFQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDb3B5RGF0YUJsb2NrQnl0ZXMoZGVzdDogQXJyYXlCdWZmZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3RPZmZzZXQ6IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjOiBBcnJheUJ1ZmZlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3JjT2Zmc2V0OiBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG46IG51bWJlcikge1xuICBuZXcgVWludDhBcnJheShkZXN0KS5zZXQobmV3IFVpbnQ4QXJyYXkoc3JjLCBzcmNPZmZzZXQsIG4pLCBkZXN0T2Zmc2V0KTtcbn1cblxuZXhwb3J0IGxldCBUcmFuc2ZlckFycmF5QnVmZmVyID0gKE86IEFycmF5QnVmZmVyKTogQXJyYXlCdWZmZXIgPT4ge1xuICBpZiAodHlwZW9mIE8udHJhbnNmZXIgPT09ICdmdW5jdGlvbicpIHtcbiAgICBUcmFuc2ZlckFycmF5QnVmZmVyID0gYnVmZmVyID0+IGJ1ZmZlci50cmFuc2ZlcigpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBzdHJ1Y3R1cmVkQ2xvbmUgPT09ICdmdW5jdGlvbicpIHtcbiAgICBUcmFuc2ZlckFycmF5QnVmZmVyID0gYnVmZmVyID0+IHN0cnVjdHVyZWRDbG9uZShidWZmZXIsIHsgdHJhbnNmZXI6IFtidWZmZXJdIH0pO1xuICB9IGVsc2Uge1xuICAgIC8vIE5vdCBpbXBsZW1lbnRlZCBjb3JyZWN0bHlcbiAgICBUcmFuc2ZlckFycmF5QnVmZmVyID0gYnVmZmVyID0+IGJ1ZmZlcjtcbiAgfVxuICByZXR1cm4gVHJhbnNmZXJBcnJheUJ1ZmZlcihPKTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBDYW5UcmFuc2ZlckFycmF5QnVmZmVyKE86IEFycmF5QnVmZmVyKTogYm9vbGVhbiB7XG4gIHJldHVybiAhSXNEZXRhY2hlZEJ1ZmZlcihPKTtcbn1cblxuZXhwb3J0IGxldCBJc0RldGFjaGVkQnVmZmVyID0gKE86IEFycmF5QnVmZmVyKTogYm9vbGVhbiA9PiB7XG4gIGlmICh0eXBlb2YgTy5kZXRhY2hlZCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgSXNEZXRhY2hlZEJ1ZmZlciA9IGJ1ZmZlciA9PiBidWZmZXIuZGV0YWNoZWQ7XG4gIH0gZWxzZSB7XG4gICAgLy8gTm90IGltcGxlbWVudGVkIGNvcnJlY3RseVxuICAgIElzRGV0YWNoZWRCdWZmZXIgPSBidWZmZXIgPT4gYnVmZmVyLmJ5dGVMZW5ndGggPT09IDA7XG4gIH1cbiAgcmV0dXJuIElzRGV0YWNoZWRCdWZmZXIoTyk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gQXJyYXlCdWZmZXJTbGljZShidWZmZXI6IEFycmF5QnVmZmVyLCBiZWdpbjogbnVtYmVyLCBlbmQ6IG51bWJlcik6IEFycmF5QnVmZmVyIHtcbiAgLy8gQXJyYXlCdWZmZXIucHJvdG90eXBlLnNsaWNlIGlzIG5vdCBhdmFpbGFibGUgb24gSUUxMFxuICAvLyBodHRwczovL3d3dy5jYW5pdXNlLmNvbS9tZG4tamF2YXNjcmlwdF9idWlsdGluc19hcnJheWJ1ZmZlcl9zbGljZVxuICBpZiAoYnVmZmVyLnNsaWNlKSB7XG4gICAgcmV0dXJuIGJ1ZmZlci5zbGljZShiZWdpbiwgZW5kKTtcbiAgfVxuICBjb25zdCBsZW5ndGggPSBlbmQgLSBiZWdpbjtcbiAgY29uc3Qgc2xpY2UgPSBuZXcgQXJyYXlCdWZmZXIobGVuZ3RoKTtcbiAgQ29weURhdGFCbG9ja0J5dGVzKHNsaWNlLCAwLCBidWZmZXIsIGJlZ2luLCBsZW5ndGgpO1xuICByZXR1cm4gc2xpY2U7XG59XG5cbmV4cG9ydCB0eXBlIE1ldGhvZE5hbWU8VD4gPSB7XG4gIFtQIGluIGtleW9mIFRdOiBUW1BdIGV4dGVuZHMgRnVuY3Rpb24gfCB1bmRlZmluZWQgPyBQIDogbmV2ZXI7XG59W2tleW9mIFRdO1xuXG5leHBvcnQgZnVuY3Rpb24gR2V0TWV0aG9kPFQsIEsgZXh0ZW5kcyBNZXRob2ROYW1lPFQ+PihyZWNlaXZlcjogVCwgcHJvcDogSyk6IFRbS10gfCB1bmRlZmluZWQge1xuICBjb25zdCBmdW5jID0gcmVjZWl2ZXJbcHJvcF07XG4gIGlmIChmdW5jID09PSB1bmRlZmluZWQgfHwgZnVuYyA9PT0gbnVsbCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgaWYgKHR5cGVvZiBmdW5jICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgJHtTdHJpbmcocHJvcCl9IGlzIG5vdCBhIGZ1bmN0aW9uYCk7XG4gIH1cbiAgcmV0dXJuIGZ1bmM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3luY0l0ZXJhdG9yUmVjb3JkPFQ+IHtcbiAgaXRlcmF0b3I6IEl0ZXJhdG9yPFQ+LFxuICBuZXh0TWV0aG9kOiBJdGVyYXRvcjxUPlsnbmV4dCddLFxuICBkb25lOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzeW5jSXRlcmF0b3JSZWNvcmQ8VD4ge1xuICBpdGVyYXRvcjogQXN5bmNJdGVyYXRvcjxUPixcbiAgbmV4dE1ldGhvZDogQXN5bmNJdGVyYXRvcjxUPlsnbmV4dCddLFxuICBkb25lOiBib29sZWFuO1xufVxuXG5leHBvcnQgdHlwZSBTeW5jT3JBc3luY0l0ZXJhdG9yUmVjb3JkPFQ+ID0gU3luY0l0ZXJhdG9yUmVjb3JkPFQ+IHwgQXN5bmNJdGVyYXRvclJlY29yZDxUPjtcblxuZXhwb3J0IGZ1bmN0aW9uIENyZWF0ZUFzeW5jRnJvbVN5bmNJdGVyYXRvcjxUPihzeW5jSXRlcmF0b3JSZWNvcmQ6IFN5bmNJdGVyYXRvclJlY29yZDxUPik6IEFzeW5jSXRlcmF0b3JSZWNvcmQ8VD4ge1xuICAvLyBJbnN0ZWFkIG9mIHJlLWltcGxlbWVudGluZyBDcmVhdGVBc3luY0Zyb21TeW5jSXRlcmF0b3IgYW5kICVBc3luY0Zyb21TeW5jSXRlcmF0b3JQcm90b3R5cGUlLFxuICAvLyB3ZSB1c2UgeWllbGQqIGluc2lkZSBhbiBhc3luYyBnZW5lcmF0b3IgZnVuY3Rpb24gdG8gYWNoaWV2ZSB0aGUgc2FtZSByZXN1bHQuXG5cbiAgLy8gV3JhcCB0aGUgc3luYyBpdGVyYXRvciBpbnNpZGUgYSBzeW5jIGl0ZXJhYmxlLCBzbyB3ZSBjYW4gdXNlIGl0IHdpdGggeWllbGQqLlxuICBjb25zdCBzeW5jSXRlcmFibGUgPSB7XG4gICAgW1N5bWJvbC5pdGVyYXRvcl06ICgpID0+IHN5bmNJdGVyYXRvclJlY29yZC5pdGVyYXRvclxuICB9O1xuICAvLyBDcmVhdGUgYW4gYXN5bmMgZ2VuZXJhdG9yIGZ1bmN0aW9uIGFuZCBpbW1lZGlhdGVseSBpbnZva2UgaXQuXG4gIGNvbnN0IGFzeW5jSXRlcmF0b3IgPSAoYXN5bmMgZnVuY3Rpb24qICgpIHtcbiAgICByZXR1cm4geWllbGQqIHN5bmNJdGVyYWJsZTtcbiAgfSgpKTtcbiAgLy8gUmV0dXJuIGFzIGFuIGFzeW5jIGl0ZXJhdG9yIHJlY29yZC5cbiAgY29uc3QgbmV4dE1ldGhvZCA9IGFzeW5jSXRlcmF0b3IubmV4dDtcbiAgcmV0dXJuIHsgaXRlcmF0b3I6IGFzeW5jSXRlcmF0b3IsIG5leHRNZXRob2QsIGRvbmU6IGZhbHNlIH07XG59XG5cbi8vIEFsaWducyB3aXRoIGNvcmUtanMvbW9kdWxlcy9lcy5zeW1ib2wuYXN5bmMtaXRlcmF0b3IuanNcbmV4cG9ydCBjb25zdCBTeW1ib2xBc3luY0l0ZXJhdG9yOiAodHlwZW9mIFN5bWJvbClbJ2FzeW5jSXRlcmF0b3InXSA9XG4gIFN5bWJvbC5hc3luY0l0ZXJhdG9yID8/XG4gIFN5bWJvbC5mb3I/LignU3ltYm9sLmFzeW5jSXRlcmF0b3InKSA/P1xuICAnQEBhc3luY0l0ZXJhdG9yJztcblxuZXhwb3J0IHR5cGUgU3luY09yQXN5bmNJdGVyYWJsZTxUPiA9IEl0ZXJhYmxlPFQ+IHwgQXN5bmNJdGVyYWJsZTxUPjtcbmV4cG9ydCB0eXBlIFN5bmNPckFzeW5jSXRlcmF0b3JNZXRob2Q8VD4gPSAoKSA9PiAoSXRlcmF0b3I8VD4gfCBBc3luY0l0ZXJhdG9yPFQ+KTtcblxuZnVuY3Rpb24gR2V0SXRlcmF0b3I8VD4oXG4gIG9iajogU3luY09yQXN5bmNJdGVyYWJsZTxUPixcbiAgaGludDogJ2FzeW5jJyxcbiAgbWV0aG9kPzogU3luY09yQXN5bmNJdGVyYXRvck1ldGhvZDxUPlxuKTogQXN5bmNJdGVyYXRvclJlY29yZDxUPjtcbmZ1bmN0aW9uIEdldEl0ZXJhdG9yPFQ+KFxuICBvYmo6IEl0ZXJhYmxlPFQ+LFxuICBoaW50OiAnc3luYycsXG4gIG1ldGhvZD86IFN5bmNPckFzeW5jSXRlcmF0b3JNZXRob2Q8VD5cbik6IFN5bmNJdGVyYXRvclJlY29yZDxUPjtcbmZ1bmN0aW9uIEdldEl0ZXJhdG9yPFQ+KFxuICBvYmo6IFN5bmNPckFzeW5jSXRlcmFibGU8VD4sXG4gIGhpbnQgPSAnc3luYycsXG4gIG1ldGhvZD86IFN5bmNPckFzeW5jSXRlcmF0b3JNZXRob2Q8VD5cbik6IFN5bmNPckFzeW5jSXRlcmF0b3JSZWNvcmQ8VD4ge1xuICBhc3NlcnQoaGludCA9PT0gJ3N5bmMnIHx8IGhpbnQgPT09ICdhc3luYycpO1xuICBpZiAobWV0aG9kID09PSB1bmRlZmluZWQpIHtcbiAgICBpZiAoaGludCA9PT0gJ2FzeW5jJykge1xuICAgICAgbWV0aG9kID0gR2V0TWV0aG9kKG9iaiBhcyBBc3luY0l0ZXJhYmxlPFQ+LCBTeW1ib2xBc3luY0l0ZXJhdG9yKTtcbiAgICAgIGlmIChtZXRob2QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICBjb25zdCBzeW5jTWV0aG9kID0gR2V0TWV0aG9kKG9iaiBhcyBJdGVyYWJsZTxUPiwgU3ltYm9sLml0ZXJhdG9yKTtcbiAgICAgICAgY29uc3Qgc3luY0l0ZXJhdG9yUmVjb3JkID0gR2V0SXRlcmF0b3Iob2JqIGFzIEl0ZXJhYmxlPFQ+LCAnc3luYycsIHN5bmNNZXRob2QpO1xuICAgICAgICByZXR1cm4gQ3JlYXRlQXN5bmNGcm9tU3luY0l0ZXJhdG9yKHN5bmNJdGVyYXRvclJlY29yZCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG1ldGhvZCA9IEdldE1ldGhvZChvYmogYXMgSXRlcmFibGU8VD4sIFN5bWJvbC5pdGVyYXRvcik7XG4gICAgfVxuICB9XG4gIGlmIChtZXRob2QgPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBvYmplY3QgaXMgbm90IGl0ZXJhYmxlJyk7XG4gIH1cbiAgY29uc3QgaXRlcmF0b3IgPSByZWZsZWN0Q2FsbChtZXRob2QsIG9iaiwgW10pO1xuICBpZiAoIXR5cGVJc09iamVjdChpdGVyYXRvcikpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgaXRlcmF0b3IgbWV0aG9kIG11c3QgcmV0dXJuIGFuIG9iamVjdCcpO1xuICB9XG4gIGNvbnN0IG5leHRNZXRob2QgPSBpdGVyYXRvci5uZXh0O1xuICByZXR1cm4geyBpdGVyYXRvciwgbmV4dE1ldGhvZCwgZG9uZTogZmFsc2UgfSBhcyBTeW5jT3JBc3luY0l0ZXJhdG9yUmVjb3JkPFQ+O1xufVxuXG5leHBvcnQgeyBHZXRJdGVyYXRvciB9O1xuXG5leHBvcnQgZnVuY3Rpb24gSXRlcmF0b3JOZXh0PFQ+KGl0ZXJhdG9yUmVjb3JkOiBBc3luY0l0ZXJhdG9yUmVjb3JkPFQ+KTogUHJvbWlzZTxJdGVyYXRvclJlc3VsdDxUPj4ge1xuICBjb25zdCByZXN1bHQgPSByZWZsZWN0Q2FsbChpdGVyYXRvclJlY29yZC5uZXh0TWV0aG9kLCBpdGVyYXRvclJlY29yZC5pdGVyYXRvciwgW10pO1xuICBpZiAoIXR5cGVJc09iamVjdChyZXN1bHQpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIGl0ZXJhdG9yLm5leHQoKSBtZXRob2QgbXVzdCByZXR1cm4gYW4gb2JqZWN0Jyk7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEl0ZXJhdG9yQ29tcGxldGU8VFJldHVybj4oXG4gIGl0ZXJSZXN1bHQ6IEl0ZXJhdG9yUmVzdWx0PHVua25vd24sIFRSZXR1cm4+XG4pOiBpdGVyUmVzdWx0IGlzIEl0ZXJhdG9yUmV0dXJuUmVzdWx0PFRSZXR1cm4+IHtcbiAgYXNzZXJ0KHR5cGVJc09iamVjdChpdGVyUmVzdWx0KSk7XG4gIHJldHVybiBCb29sZWFuKGl0ZXJSZXN1bHQuZG9uZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBJdGVyYXRvclZhbHVlPFQ+KGl0ZXJSZXN1bHQ6IEl0ZXJhdG9yWWllbGRSZXN1bHQ8VD4pOiBUIHtcbiAgYXNzZXJ0KHR5cGVJc09iamVjdChpdGVyUmVzdWx0KSk7XG4gIHJldHVybiBpdGVyUmVzdWx0LnZhbHVlO1xufVxuIiwgImltcG9ydCBOdW1iZXJJc05hTiBmcm9tICcuLi8uLi9zdHViL251bWJlci1pc25hbic7XG5pbXBvcnQgeyBBcnJheUJ1ZmZlclNsaWNlIH0gZnJvbSAnLi9lY21hc2NyaXB0JztcbmltcG9ydCB0eXBlIHsgTm9uU2hhcmVkIH0gZnJvbSAnLi4vaGVscGVycy9hcnJheS1idWZmZXItdmlldyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBJc05vbk5lZ2F0aXZlTnVtYmVyKHY6IG51bWJlcik6IGJvb2xlYW4ge1xuICBpZiAodHlwZW9mIHYgIT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKE51bWJlcklzTmFOKHYpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHYgPCAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDbG9uZUFzVWludDhBcnJheShPOiBOb25TaGFyZWQ8QXJyYXlCdWZmZXJWaWV3Pik6IE5vblNoYXJlZDxVaW50OEFycmF5PiB7XG4gIGNvbnN0IGJ1ZmZlciA9IEFycmF5QnVmZmVyU2xpY2UoTy5idWZmZXIsIE8uYnl0ZU9mZnNldCwgTy5ieXRlT2Zmc2V0ICsgTy5ieXRlTGVuZ3RoKTtcbiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGJ1ZmZlcikgYXMgTm9uU2hhcmVkPFVpbnQ4QXJyYXk+O1xufVxuIiwgImltcG9ydCBhc3NlcnQgZnJvbSAnLi4vLi4vc3R1Yi9hc3NlcnQnO1xuaW1wb3J0IHsgU2ltcGxlUXVldWUgfSBmcm9tICcuLi9zaW1wbGUtcXVldWUnO1xuaW1wb3J0IHsgSXNOb25OZWdhdGl2ZU51bWJlciB9IGZyb20gJy4vbWlzY2VsbGFuZW91cyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUXVldWVDb250YWluZXI8VD4ge1xuICBfcXVldWU6IFNpbXBsZVF1ZXVlPFQ+O1xuICBfcXVldWVUb3RhbFNpemU6IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBRdWV1ZVBhaXI8VD4ge1xuICB2YWx1ZTogVDtcbiAgc2l6ZTogbnVtYmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRGVxdWV1ZVZhbHVlPFQ+KGNvbnRhaW5lcjogUXVldWVDb250YWluZXI8UXVldWVQYWlyPFQ+Pik6IFQge1xuICBhc3NlcnQoJ19xdWV1ZScgaW4gY29udGFpbmVyICYmICdfcXVldWVUb3RhbFNpemUnIGluIGNvbnRhaW5lcik7XG4gIGFzc2VydChjb250YWluZXIuX3F1ZXVlLmxlbmd0aCA+IDApO1xuXG4gIGNvbnN0IHBhaXIgPSBjb250YWluZXIuX3F1ZXVlLnNoaWZ0KCkhO1xuICBjb250YWluZXIuX3F1ZXVlVG90YWxTaXplIC09IHBhaXIuc2l6ZTtcbiAgaWYgKGNvbnRhaW5lci5fcXVldWVUb3RhbFNpemUgPCAwKSB7XG4gICAgY29udGFpbmVyLl9xdWV1ZVRvdGFsU2l6ZSA9IDA7XG4gIH1cblxuICByZXR1cm4gcGFpci52YWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIEVucXVldWVWYWx1ZVdpdGhTaXplPFQ+KGNvbnRhaW5lcjogUXVldWVDb250YWluZXI8UXVldWVQYWlyPFQ+PiwgdmFsdWU6IFQsIHNpemU6IG51bWJlcikge1xuICBhc3NlcnQoJ19xdWV1ZScgaW4gY29udGFpbmVyICYmICdfcXVldWVUb3RhbFNpemUnIGluIGNvbnRhaW5lcik7XG5cbiAgaWYgKCFJc05vbk5lZ2F0aXZlTnVtYmVyKHNpemUpIHx8IHNpemUgPT09IEluZmluaXR5KSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1NpemUgbXVzdCBiZSBhIGZpbml0ZSwgbm9uLU5hTiwgbm9uLW5lZ2F0aXZlIG51bWJlci4nKTtcbiAgfVxuXG4gIGNvbnRhaW5lci5fcXVldWUucHVzaCh7IHZhbHVlLCBzaXplIH0pO1xuICBjb250YWluZXIuX3F1ZXVlVG90YWxTaXplICs9IHNpemU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQZWVrUXVldWVWYWx1ZTxUPihjb250YWluZXI6IFF1ZXVlQ29udGFpbmVyPFF1ZXVlUGFpcjxUPj4pOiBUIHtcbiAgYXNzZXJ0KCdfcXVldWUnIGluIGNvbnRhaW5lciAmJiAnX3F1ZXVlVG90YWxTaXplJyBpbiBjb250YWluZXIpO1xuICBhc3NlcnQoY29udGFpbmVyLl9xdWV1ZS5sZW5ndGggPiAwKTtcblxuICBjb25zdCBwYWlyID0gY29udGFpbmVyLl9xdWV1ZS5wZWVrKCk7XG4gIHJldHVybiBwYWlyLnZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVzZXRRdWV1ZTxUPihjb250YWluZXI6IFF1ZXVlQ29udGFpbmVyPFQ+KSB7XG4gIGFzc2VydCgnX3F1ZXVlJyBpbiBjb250YWluZXIgJiYgJ19xdWV1ZVRvdGFsU2l6ZScgaW4gY29udGFpbmVyKTtcblxuICBjb250YWluZXIuX3F1ZXVlID0gbmV3IFNpbXBsZVF1ZXVlPFQ+KCk7XG4gIGNvbnRhaW5lci5fcXVldWVUb3RhbFNpemUgPSAwO1xufVxuIiwgImV4cG9ydCB0eXBlIFR5cGVkQXJyYXkgPVxuICB8IEludDhBcnJheVxuICB8IFVpbnQ4QXJyYXlcbiAgfCBVaW50OENsYW1wZWRBcnJheVxuICB8IEludDE2QXJyYXlcbiAgfCBVaW50MTZBcnJheVxuICB8IEludDMyQXJyYXlcbiAgfCBVaW50MzJBcnJheVxuICB8IEZsb2F0MzJBcnJheVxuICB8IEZsb2F0NjRBcnJheTtcblxuZXhwb3J0IHR5cGUgTm9uU2hhcmVkPFQgZXh0ZW5kcyBBcnJheUJ1ZmZlclZpZXc+ID0gVCAmIHtcbiAgYnVmZmVyOiBBcnJheUJ1ZmZlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBcnJheUJ1ZmZlclZpZXdDb25zdHJ1Y3RvcjxUIGV4dGVuZHMgQXJyYXlCdWZmZXJWaWV3ID0gQXJyYXlCdWZmZXJWaWV3PiB7XG4gIG5ldyhidWZmZXI6IEFycmF5QnVmZmVyLCBieXRlT2Zmc2V0OiBudW1iZXIsIGxlbmd0aD86IG51bWJlcik6IFQ7XG5cbiAgcmVhZG9ubHkgcHJvdG90eXBlOiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR5cGVkQXJyYXlDb25zdHJ1Y3RvcjxUIGV4dGVuZHMgVHlwZWRBcnJheSA9IFR5cGVkQXJyYXk+IGV4dGVuZHMgQXJyYXlCdWZmZXJWaWV3Q29uc3RydWN0b3I8VD4ge1xuICByZWFkb25seSBCWVRFU19QRVJfRUxFTUVOVDogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBEYXRhVmlld0NvbnN0cnVjdG9yID0gQXJyYXlCdWZmZXJWaWV3Q29uc3RydWN0b3I8RGF0YVZpZXc+O1xuXG5mdW5jdGlvbiBpc0RhdGFWaWV3Q29uc3RydWN0b3IoY3RvcjogRnVuY3Rpb24pOiBjdG9yIGlzIERhdGFWaWV3Q29uc3RydWN0b3Ige1xuICByZXR1cm4gY3RvciA9PT0gRGF0YVZpZXc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0RhdGFWaWV3KHZpZXc6IEFycmF5QnVmZmVyVmlldyk6IHZpZXcgaXMgRGF0YVZpZXcge1xuICByZXR1cm4gaXNEYXRhVmlld0NvbnN0cnVjdG9yKHZpZXcuY29uc3RydWN0b3IpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXJyYXlCdWZmZXJWaWV3RWxlbWVudFNpemU8VCBleHRlbmRzIEFycmF5QnVmZmVyVmlldz4oY3RvcjogQXJyYXlCdWZmZXJWaWV3Q29uc3RydWN0b3I8VD4pOiBudW1iZXIge1xuICBpZiAoaXNEYXRhVmlld0NvbnN0cnVjdG9yKGN0b3IpKSB7XG4gICAgcmV0dXJuIDE7XG4gIH1cbiAgcmV0dXJuIChjdG9yIGFzIHVua25vd24gYXMgVHlwZWRBcnJheUNvbnN0cnVjdG9yKS5CWVRFU19QRVJfRUxFTUVOVDtcbn1cbiIsICJpbXBvcnQgYXNzZXJ0IGZyb20gJy4uLy4uL3N0dWIvYXNzZXJ0JztcbmltcG9ydCB7IFNpbXBsZVF1ZXVlIH0gZnJvbSAnLi4vc2ltcGxlLXF1ZXVlJztcbmltcG9ydCB7IFJlc2V0UXVldWUgfSBmcm9tICcuLi9hYnN0cmFjdC1vcHMvcXVldWUtd2l0aC1zaXplcyc7XG5pbXBvcnQge1xuICBJc1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcixcbiAgUmVhZGFibGVTdHJlYW1BZGRSZWFkUmVxdWVzdCxcbiAgUmVhZGFibGVTdHJlYW1GdWxmaWxsUmVhZFJlcXVlc3QsXG4gIFJlYWRhYmxlU3RyZWFtR2V0TnVtUmVhZFJlcXVlc3RzLFxuICBSZWFkYWJsZVN0cmVhbUhhc0RlZmF1bHRSZWFkZXIsXG4gIHR5cGUgUmVhZFJlcXVlc3Rcbn0gZnJvbSAnLi9kZWZhdWx0LXJlYWRlcic7XG5pbXBvcnQge1xuICBSZWFkYWJsZVN0cmVhbUFkZFJlYWRJbnRvUmVxdWVzdCxcbiAgUmVhZGFibGVTdHJlYW1GdWxmaWxsUmVhZEludG9SZXF1ZXN0LFxuICBSZWFkYWJsZVN0cmVhbUdldE51bVJlYWRJbnRvUmVxdWVzdHMsXG4gIFJlYWRhYmxlU3RyZWFtSGFzQllPQlJlYWRlcixcbiAgdHlwZSBSZWFkSW50b1JlcXVlc3Rcbn0gZnJvbSAnLi9ieW9iLXJlYWRlcic7XG5pbXBvcnQgTnVtYmVySXNJbnRlZ2VyIGZyb20gJy4uLy4uL3N0dWIvbnVtYmVyLWlzaW50ZWdlcic7XG5pbXBvcnQge1xuICBJc1JlYWRhYmxlU3RyZWFtTG9ja2VkLFxuICB0eXBlIFJlYWRhYmxlQnl0ZVN0cmVhbSxcbiAgUmVhZGFibGVTdHJlYW1DbG9zZSxcbiAgUmVhZGFibGVTdHJlYW1FcnJvclxufSBmcm9tICcuLi9yZWFkYWJsZS1zdHJlYW0nO1xuaW1wb3J0IHR5cGUgeyBWYWxpZGF0ZWRVbmRlcmx5aW5nQnl0ZVNvdXJjZSB9IGZyb20gJy4vdW5kZXJseWluZy1zb3VyY2UnO1xuaW1wb3J0IHsgc2V0RnVuY3Rpb25OYW1lLCB0eXBlSXNPYmplY3QgfSBmcm9tICcuLi9oZWxwZXJzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHtcbiAgQXJyYXlCdWZmZXJTbGljZSxcbiAgQ2FuVHJhbnNmZXJBcnJheUJ1ZmZlcixcbiAgQ29weURhdGFCbG9ja0J5dGVzLFxuICBJc0RldGFjaGVkQnVmZmVyLFxuICBUcmFuc2ZlckFycmF5QnVmZmVyXG59IGZyb20gJy4uL2Fic3RyYWN0LW9wcy9lY21hc2NyaXB0JztcbmltcG9ydCB7IENhbmNlbFN0ZXBzLCBQdWxsU3RlcHMsIFJlbGVhc2VTdGVwcyB9IGZyb20gJy4uL2Fic3RyYWN0LW9wcy9pbnRlcm5hbC1tZXRob2RzJztcbmltcG9ydCB7IHByb21pc2VSZXNvbHZlZFdpdGgsIHVwb25Qcm9taXNlIH0gZnJvbSAnLi4vaGVscGVycy93ZWJpZGwnO1xuaW1wb3J0IHsgYXNzZXJ0UmVxdWlyZWRBcmd1bWVudCwgY29udmVydFVuc2lnbmVkTG9uZ0xvbmdXaXRoRW5mb3JjZVJhbmdlIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9iYXNpYyc7XG5pbXBvcnQge1xuICB0eXBlIEFycmF5QnVmZmVyVmlld0NvbnN0cnVjdG9yLFxuICBhcnJheUJ1ZmZlclZpZXdFbGVtZW50U2l6ZSxcbiAgdHlwZSBOb25TaGFyZWQsXG4gIHR5cGUgVHlwZWRBcnJheUNvbnN0cnVjdG9yXG59IGZyb20gJy4uL2hlbHBlcnMvYXJyYXktYnVmZmVyLXZpZXcnO1xuXG4vKipcbiAqIEEgcHVsbC1pbnRvIHJlcXVlc3QgaW4gYSB7QGxpbmsgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcn0uXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY2xhc3MgUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdCB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2Fzc29jaWF0ZWRSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyITogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcjtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfdmlldyE6IE5vblNoYXJlZDxBcnJheUJ1ZmZlclZpZXc+IHwgbnVsbDtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0lsbGVnYWwgY29uc3RydWN0b3InKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSB2aWV3IGZvciB3cml0aW5nIGluIHRvLCBvciBgbnVsbGAgaWYgdGhlIEJZT0IgcmVxdWVzdCBoYXMgYWxyZWFkeSBiZWVuIHJlc3BvbmRlZCB0by5cbiAgICovXG4gIGdldCB2aWV3KCk6IEFycmF5QnVmZmVyVmlldyB8IG51bGwge1xuICAgIGlmICghSXNSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0KHRoaXMpKSB7XG4gICAgICB0aHJvdyBieW9iUmVxdWVzdEJyYW5kQ2hlY2tFeGNlcHRpb24oJ3ZpZXcnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fdmlldztcbiAgfVxuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgdG8gdGhlIGFzc29jaWF0ZWQgcmVhZGFibGUgYnl0ZSBzdHJlYW0gdGhhdCBgYnl0ZXNXcml0dGVuYCBieXRlcyB3ZXJlIHdyaXR0ZW4gaW50b1xuICAgKiB7QGxpbmsgUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC52aWV3IHwgdmlld30sIGNhdXNpbmcgdGhlIHJlc3VsdCBiZSBzdXJmYWNlZCB0byB0aGUgY29uc3VtZXIuXG4gICAqXG4gICAqIEFmdGVyIHRoaXMgbWV0aG9kIGlzIGNhbGxlZCwge0BsaW5rIFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QudmlldyB8IHZpZXd9IHdpbGwgYmUgdHJhbnNmZXJyZWQgYW5kIG5vIGxvbmdlclxuICAgKiBtb2RpZmlhYmxlLlxuICAgKi9cbiAgcmVzcG9uZChieXRlc1dyaXR0ZW46IG51bWJlcik6IHZvaWQ7XG4gIHJlc3BvbmQoYnl0ZXNXcml0dGVuOiBudW1iZXIgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoIUlzUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdCh0aGlzKSkge1xuICAgICAgdGhyb3cgYnlvYlJlcXVlc3RCcmFuZENoZWNrRXhjZXB0aW9uKCdyZXNwb25kJyk7XG4gICAgfVxuICAgIGFzc2VydFJlcXVpcmVkQXJndW1lbnQoYnl0ZXNXcml0dGVuLCAxLCAncmVzcG9uZCcpO1xuICAgIGJ5dGVzV3JpdHRlbiA9IGNvbnZlcnRVbnNpZ25lZExvbmdMb25nV2l0aEVuZm9yY2VSYW5nZShieXRlc1dyaXR0ZW4sICdGaXJzdCBwYXJhbWV0ZXInKTtcblxuICAgIGlmICh0aGlzLl9hc3NvY2lhdGVkUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGlzIEJZT0IgcmVxdWVzdCBoYXMgYmVlbiBpbnZhbGlkYXRlZCcpO1xuICAgIH1cblxuICAgIGlmIChJc0RldGFjaGVkQnVmZmVyKHRoaXMuX3ZpZXchLmJ1ZmZlcikpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYFRoZSBCWU9CIHJlcXVlc3QncyBidWZmZXIgaGFzIGJlZW4gZGV0YWNoZWQgYW5kIHNvIGNhbm5vdCBiZSB1c2VkIGFzIGEgcmVzcG9uc2VgKTtcbiAgICB9XG5cbiAgICBhc3NlcnQodGhpcy5fdmlldyEuYnl0ZUxlbmd0aCA+IDApO1xuICAgIGFzc2VydCh0aGlzLl92aWV3IS5idWZmZXIuYnl0ZUxlbmd0aCA+IDApO1xuXG4gICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclJlc3BvbmQodGhpcy5fYXNzb2NpYXRlZFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIsIGJ5dGVzV3JpdHRlbik7XG4gIH1cblxuICAvKipcbiAgICogSW5kaWNhdGVzIHRvIHRoZSBhc3NvY2lhdGVkIHJlYWRhYmxlIGJ5dGUgc3RyZWFtIHRoYXQgaW5zdGVhZCBvZiB3cml0aW5nIGludG9cbiAgICoge0BsaW5rIFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QudmlldyB8IHZpZXd9LCB0aGUgdW5kZXJseWluZyBieXRlIHNvdXJjZSBpcyBwcm92aWRpbmcgYSBuZXcgYEFycmF5QnVmZmVyVmlld2AsXG4gICAqIHdoaWNoIHdpbGwgYmUgZ2l2ZW4gdG8gdGhlIGNvbnN1bWVyIG9mIHRoZSByZWFkYWJsZSBieXRlIHN0cmVhbS5cbiAgICpcbiAgICogQWZ0ZXIgdGhpcyBtZXRob2QgaXMgY2FsbGVkLCBgdmlld2Agd2lsbCBiZSB0cmFuc2ZlcnJlZCBhbmQgbm8gbG9uZ2VyIG1vZGlmaWFibGUuXG4gICAqL1xuICByZXNwb25kV2l0aE5ld1ZpZXcodmlldzogQXJyYXlCdWZmZXJWaWV3KTogdm9pZDtcbiAgcmVzcG9uZFdpdGhOZXdWaWV3KHZpZXc6IE5vblNoYXJlZDxBcnJheUJ1ZmZlclZpZXc+KTogdm9pZCB7XG4gICAgaWYgKCFJc1JlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QodGhpcykpIHtcbiAgICAgIHRocm93IGJ5b2JSZXF1ZXN0QnJhbmRDaGVja0V4Y2VwdGlvbigncmVzcG9uZFdpdGhOZXdWaWV3Jyk7XG4gICAgfVxuICAgIGFzc2VydFJlcXVpcmVkQXJndW1lbnQodmlldywgMSwgJ3Jlc3BvbmRXaXRoTmV3VmlldycpO1xuXG4gICAgaWYgKCFBcnJheUJ1ZmZlci5pc1ZpZXcodmlldykpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1lvdSBjYW4gb25seSByZXNwb25kIHdpdGggYXJyYXkgYnVmZmVyIHZpZXdzJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2Fzc29jaWF0ZWRSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoaXMgQllPQiByZXF1ZXN0IGhhcyBiZWVuIGludmFsaWRhdGVkJyk7XG4gICAgfVxuXG4gICAgaWYgKElzRGV0YWNoZWRCdWZmZXIodmlldy5idWZmZXIpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgZ2l2ZW4gdmlld1xcJ3MgYnVmZmVyIGhhcyBiZWVuIGRldGFjaGVkIGFuZCBzbyBjYW5ub3QgYmUgdXNlZCBhcyBhIHJlc3BvbnNlJyk7XG4gICAgfVxuXG4gICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclJlc3BvbmRXaXRoTmV3Vmlldyh0aGlzLl9hc3NvY2lhdGVkUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciwgdmlldyk7XG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdC5wcm90b3R5cGUsIHtcbiAgcmVzcG9uZDogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG4gIHJlc3BvbmRXaXRoTmV3VmlldzogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG4gIHZpZXc6IHsgZW51bWVyYWJsZTogdHJ1ZSB9XG59KTtcbnNldEZ1bmN0aW9uTmFtZShSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LnByb3RvdHlwZS5yZXNwb25kLCAncmVzcG9uZCcpO1xuc2V0RnVuY3Rpb25OYW1lKFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QucHJvdG90eXBlLnJlc3BvbmRXaXRoTmV3VmlldywgJ3Jlc3BvbmRXaXRoTmV3VmlldycpO1xuaWYgKHR5cGVvZiBTeW1ib2wudG9TdHJpbmdUYWcgPT09ICdzeW1ib2wnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7XG4gICAgdmFsdWU6ICdSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0JyxcbiAgICBjb25maWd1cmFibGU6IHRydWVcbiAgfSk7XG59XG5cbmludGVyZmFjZSBCeXRlUXVldWVFbGVtZW50IHtcbiAgYnVmZmVyOiBBcnJheUJ1ZmZlcjtcbiAgYnl0ZU9mZnNldDogbnVtYmVyO1xuICBieXRlTGVuZ3RoOiBudW1iZXI7XG59XG5cbnR5cGUgUHVsbEludG9EZXNjcmlwdG9yPFQgZXh0ZW5kcyBOb25TaGFyZWQ8QXJyYXlCdWZmZXJWaWV3PiA9IE5vblNoYXJlZDxBcnJheUJ1ZmZlclZpZXc+PiA9XG4gIERlZmF1bHRQdWxsSW50b0Rlc2NyaXB0b3JcbiAgfCBCWU9CUHVsbEludG9EZXNjcmlwdG9yPFQ+O1xuXG5pbnRlcmZhY2UgRGVmYXVsdFB1bGxJbnRvRGVzY3JpcHRvciB7XG4gIGJ1ZmZlcjogQXJyYXlCdWZmZXI7XG4gIGJ1ZmZlckJ5dGVMZW5ndGg6IG51bWJlcjtcbiAgYnl0ZU9mZnNldDogbnVtYmVyO1xuICBieXRlTGVuZ3RoOiBudW1iZXI7XG4gIGJ5dGVzRmlsbGVkOiBudW1iZXI7XG4gIG1pbmltdW1GaWxsOiBudW1iZXI7XG4gIGVsZW1lbnRTaXplOiBudW1iZXI7XG4gIHZpZXdDb25zdHJ1Y3RvcjogVHlwZWRBcnJheUNvbnN0cnVjdG9yPFVpbnQ4QXJyYXk+O1xuICByZWFkZXJUeXBlOiAnZGVmYXVsdCcgfCAnbm9uZSc7XG59XG5cbmludGVyZmFjZSBCWU9CUHVsbEludG9EZXNjcmlwdG9yPFQgZXh0ZW5kcyBOb25TaGFyZWQ8QXJyYXlCdWZmZXJWaWV3PiA9IE5vblNoYXJlZDxBcnJheUJ1ZmZlclZpZXc+PiB7XG4gIGJ1ZmZlcjogQXJyYXlCdWZmZXI7XG4gIGJ1ZmZlckJ5dGVMZW5ndGg6IG51bWJlcjtcbiAgYnl0ZU9mZnNldDogbnVtYmVyO1xuICBieXRlTGVuZ3RoOiBudW1iZXI7XG4gIGJ5dGVzRmlsbGVkOiBudW1iZXI7XG4gIG1pbmltdW1GaWxsOiBudW1iZXI7XG4gIGVsZW1lbnRTaXplOiBudW1iZXI7XG4gIHZpZXdDb25zdHJ1Y3RvcjogQXJyYXlCdWZmZXJWaWV3Q29uc3RydWN0b3I8VD47XG4gIHJlYWRlclR5cGU6ICdieW9iJyB8ICdub25lJztcbn1cblxuLyoqXG4gKiBBbGxvd3MgY29udHJvbCBvZiBhIHtAbGluayBSZWFkYWJsZVN0cmVhbSB8IHJlYWRhYmxlIGJ5dGUgc3RyZWFtfSdzIHN0YXRlIGFuZCBpbnRlcm5hbCBxdWV1ZS5cbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIHtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfY29udHJvbGxlZFJlYWRhYmxlQnl0ZVN0cmVhbSE6IFJlYWRhYmxlQnl0ZVN0cmVhbTtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfcXVldWUhOiBTaW1wbGVRdWV1ZTxCeXRlUXVldWVFbGVtZW50PjtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfcXVldWVUb3RhbFNpemUhOiBudW1iZXI7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3N0YXJ0ZWQhOiBib29sZWFuO1xuICAvKiogQGludGVybmFsICovXG4gIF9jbG9zZVJlcXVlc3RlZCE6IGJvb2xlYW47XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3B1bGxBZ2FpbiE6IGJvb2xlYW47XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3B1bGxpbmcgITogYm9vbGVhbjtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfc3RyYXRlZ3lIV00hOiBudW1iZXI7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3B1bGxBbGdvcml0aG0hOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAvKiogQGludGVybmFsICovXG4gIF9jYW5jZWxBbGdvcml0aG0hOiAocmVhc29uOiBhbnkpID0+IFByb21pc2U8dm9pZD47XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2F1dG9BbGxvY2F0ZUNodW5rU2l6ZTogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAvKiogQGludGVybmFsICovXG4gIF9ieW9iUmVxdWVzdDogUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdCB8IG51bGw7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3BlbmRpbmdQdWxsSW50b3MhOiBTaW1wbGVRdWV1ZTxQdWxsSW50b0Rlc2NyaXB0b3I+O1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSWxsZWdhbCBjb25zdHJ1Y3RvcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgQllPQiBwdWxsIHJlcXVlc3QsIG9yIGBudWxsYCBpZiB0aGVyZSBpc24ndCBvbmUuXG4gICAqL1xuICBnZXQgYnlvYlJlcXVlc3QoKTogUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdCB8IG51bGwge1xuICAgIGlmICghSXNSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKHRoaXMpKSB7XG4gICAgICB0aHJvdyBieXRlU3RyZWFtQ29udHJvbGxlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ2J5b2JSZXF1ZXN0Jyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJHZXRCWU9CUmVxdWVzdCh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkZXNpcmVkIHNpemUgdG8gZmlsbCB0aGUgY29udHJvbGxlZCBzdHJlYW0ncyBpbnRlcm5hbCBxdWV1ZS4gSXQgY2FuIGJlIG5lZ2F0aXZlLCBpZiB0aGUgcXVldWUgaXNcbiAgICogb3Zlci1mdWxsLiBBbiB1bmRlcmx5aW5nIGJ5dGUgc291cmNlIG91Z2h0IHRvIHVzZSB0aGlzIGluZm9ybWF0aW9uIHRvIGRldGVybWluZSB3aGVuIGFuZCBob3cgdG8gYXBwbHkgYmFja3ByZXNzdXJlLlxuICAgKi9cbiAgZ2V0IGRlc2lyZWRTaXplKCk6IG51bWJlciB8IG51bGwge1xuICAgIGlmICghSXNSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKHRoaXMpKSB7XG4gICAgICB0aHJvdyBieXRlU3RyZWFtQ29udHJvbGxlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ2Rlc2lyZWRTaXplJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJHZXREZXNpcmVkU2l6ZSh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGNvbnRyb2xsZWQgcmVhZGFibGUgc3RyZWFtLiBDb25zdW1lcnMgd2lsbCBzdGlsbCBiZSBhYmxlIHRvIHJlYWQgYW55IHByZXZpb3VzbHktZW5xdWV1ZWQgY2h1bmtzIGZyb21cbiAgICogdGhlIHN0cmVhbSwgYnV0IG9uY2UgdGhvc2UgYXJlIHJlYWQsIHRoZSBzdHJlYW0gd2lsbCBiZWNvbWUgY2xvc2VkLlxuICAgKi9cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKCFJc1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIodGhpcykpIHtcbiAgICAgIHRocm93IGJ5dGVTdHJlYW1Db250cm9sbGVyQnJhbmRDaGVja0V4Y2VwdGlvbignY2xvc2UnKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY2xvc2VSZXF1ZXN0ZWQpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBzdHJlYW0gaGFzIGFscmVhZHkgYmVlbiBjbG9zZWQ7IGRvIG5vdCBjbG9zZSBpdCBhZ2FpbiEnKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX2NvbnRyb2xsZWRSZWFkYWJsZUJ5dGVTdHJlYW0uX3N0YXRlO1xuICAgIGlmIChzdGF0ZSAhPT0gJ3JlYWRhYmxlJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIHN0cmVhbSAoaW4gJHtzdGF0ZX0gc3RhdGUpIGlzIG5vdCBpbiB0aGUgcmVhZGFibGUgc3RhdGUgYW5kIGNhbm5vdCBiZSBjbG9zZWRgKTtcbiAgICB9XG5cbiAgICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2xvc2UodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogRW5xdWV1ZXMgdGhlIGdpdmVuIGNodW5rIGNodW5rIGluIHRoZSBjb250cm9sbGVkIHJlYWRhYmxlIHN0cmVhbS5cbiAgICogVGhlIGNodW5rIGhhcyB0byBiZSBhbiBgQXJyYXlCdWZmZXJWaWV3YCBpbnN0YW5jZSwgb3IgZWxzZSBhIGBUeXBlRXJyb3JgIHdpbGwgYmUgdGhyb3duLlxuICAgKi9cbiAgZW5xdWV1ZShjaHVuazogQXJyYXlCdWZmZXJWaWV3KTogdm9pZDtcbiAgZW5xdWV1ZShjaHVuazogTm9uU2hhcmVkPEFycmF5QnVmZmVyVmlldz4pOiB2b2lkIHtcbiAgICBpZiAoIUlzUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcih0aGlzKSkge1xuICAgICAgdGhyb3cgYnl0ZVN0cmVhbUNvbnRyb2xsZXJCcmFuZENoZWNrRXhjZXB0aW9uKCdlbnF1ZXVlJyk7XG4gICAgfVxuXG4gICAgYXNzZXJ0UmVxdWlyZWRBcmd1bWVudChjaHVuaywgMSwgJ2VucXVldWUnKTtcbiAgICBpZiAoIUFycmF5QnVmZmVyLmlzVmlldyhjaHVuaykpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2NodW5rIG11c3QgYmUgYW4gYXJyYXkgYnVmZmVyIHZpZXcnKTtcbiAgICB9XG4gICAgaWYgKGNodW5rLmJ5dGVMZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2NodW5rIG11c3QgaGF2ZSBub24temVybyBieXRlTGVuZ3RoJyk7XG4gICAgfVxuICAgIGlmIChjaHVuay5idWZmZXIuYnl0ZUxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgY2h1bmsncyBidWZmZXIgbXVzdCBoYXZlIG5vbi16ZXJvIGJ5dGVMZW5ndGhgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fY2xvc2VSZXF1ZXN0ZWQpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ3N0cmVhbSBpcyBjbG9zZWQgb3IgZHJhaW5pbmcnKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGF0ZSA9IHRoaXMuX2NvbnRyb2xsZWRSZWFkYWJsZUJ5dGVTdHJlYW0uX3N0YXRlO1xuICAgIGlmIChzdGF0ZSAhPT0gJ3JlYWRhYmxlJykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgVGhlIHN0cmVhbSAoaW4gJHtzdGF0ZX0gc3RhdGUpIGlzIG5vdCBpbiB0aGUgcmVhZGFibGUgc3RhdGUgYW5kIGNhbm5vdCBiZSBlbnF1ZXVlZCB0b2ApO1xuICAgIH1cblxuICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVlKHRoaXMsIGNodW5rKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFcnJvcnMgdGhlIGNvbnRyb2xsZWQgcmVhZGFibGUgc3RyZWFtLCBtYWtpbmcgYWxsIGZ1dHVyZSBpbnRlcmFjdGlvbnMgd2l0aCBpdCBmYWlsIHdpdGggdGhlIGdpdmVuIGVycm9yIGBlYC5cbiAgICovXG4gIGVycm9yKGU6IGFueSA9IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmICghSXNSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKHRoaXMpKSB7XG4gICAgICB0aHJvdyBieXRlU3RyZWFtQ29udHJvbGxlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ2Vycm9yJyk7XG4gICAgfVxuXG4gICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVycm9yKHRoaXMsIGUpO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBbQ2FuY2VsU3RlcHNdKHJlYXNvbjogYW55KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNsZWFyUGVuZGluZ1B1bGxJbnRvcyh0aGlzKTtcblxuICAgIFJlc2V0UXVldWUodGhpcyk7XG5cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9jYW5jZWxBbGdvcml0aG0ocmVhc29uKTtcbiAgICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2xlYXJBbGdvcml0aG1zKHRoaXMpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIFtQdWxsU3RlcHNdKHJlYWRSZXF1ZXN0OiBSZWFkUmVxdWVzdDxOb25TaGFyZWQ8VWludDhBcnJheT4+KTogdm9pZCB7XG4gICAgY29uc3Qgc3RyZWFtID0gdGhpcy5fY29udHJvbGxlZFJlYWRhYmxlQnl0ZVN0cmVhbTtcbiAgICBhc3NlcnQoUmVhZGFibGVTdHJlYW1IYXNEZWZhdWx0UmVhZGVyKHN0cmVhbSkpO1xuXG4gICAgaWYgKHRoaXMuX3F1ZXVlVG90YWxTaXplID4gMCkge1xuICAgICAgYXNzZXJ0KFJlYWRhYmxlU3RyZWFtR2V0TnVtUmVhZFJlcXVlc3RzKHN0cmVhbSkgPT09IDApO1xuXG4gICAgICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRmlsbFJlYWRSZXF1ZXN0RnJvbVF1ZXVlKHRoaXMsIHJlYWRSZXF1ZXN0KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBhdXRvQWxsb2NhdGVDaHVua1NpemUgPSB0aGlzLl9hdXRvQWxsb2NhdGVDaHVua1NpemU7XG4gICAgaWYgKGF1dG9BbGxvY2F0ZUNodW5rU2l6ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBsZXQgYnVmZmVyOiBBcnJheUJ1ZmZlcjtcbiAgICAgIHRyeSB7XG4gICAgICAgIGJ1ZmZlciA9IG5ldyBBcnJheUJ1ZmZlcihhdXRvQWxsb2NhdGVDaHVua1NpemUpO1xuICAgICAgfSBjYXRjaCAoYnVmZmVyRSkge1xuICAgICAgICByZWFkUmVxdWVzdC5fZXJyb3JTdGVwcyhidWZmZXJFKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBwdWxsSW50b0Rlc2NyaXB0b3I6IERlZmF1bHRQdWxsSW50b0Rlc2NyaXB0b3IgPSB7XG4gICAgICAgIGJ1ZmZlcixcbiAgICAgICAgYnVmZmVyQnl0ZUxlbmd0aDogYXV0b0FsbG9jYXRlQ2h1bmtTaXplLFxuICAgICAgICBieXRlT2Zmc2V0OiAwLFxuICAgICAgICBieXRlTGVuZ3RoOiBhdXRvQWxsb2NhdGVDaHVua1NpemUsXG4gICAgICAgIGJ5dGVzRmlsbGVkOiAwLFxuICAgICAgICBtaW5pbXVtRmlsbDogMSxcbiAgICAgICAgZWxlbWVudFNpemU6IDEsXG4gICAgICAgIHZpZXdDb25zdHJ1Y3RvcjogVWludDhBcnJheSxcbiAgICAgICAgcmVhZGVyVHlwZTogJ2RlZmF1bHQnXG4gICAgICB9O1xuXG4gICAgICB0aGlzLl9wZW5kaW5nUHVsbEludG9zLnB1c2gocHVsbEludG9EZXNjcmlwdG9yKTtcbiAgICB9XG5cbiAgICBSZWFkYWJsZVN0cmVhbUFkZFJlYWRSZXF1ZXN0KHN0cmVhbSwgcmVhZFJlcXVlc3QpO1xuICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDYWxsUHVsbElmTmVlZGVkKHRoaXMpO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBbUmVsZWFzZVN0ZXBzXSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fcGVuZGluZ1B1bGxJbnRvcy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBmaXJzdFB1bGxJbnRvID0gdGhpcy5fcGVuZGluZ1B1bGxJbnRvcy5wZWVrKCk7XG4gICAgICBmaXJzdFB1bGxJbnRvLnJlYWRlclR5cGUgPSAnbm9uZSc7XG5cbiAgICAgIHRoaXMuX3BlbmRpbmdQdWxsSW50b3MgPSBuZXcgU2ltcGxlUXVldWUoKTtcbiAgICAgIHRoaXMuX3BlbmRpbmdQdWxsSW50b3MucHVzaChmaXJzdFB1bGxJbnRvKTtcbiAgICB9XG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5wcm90b3R5cGUsIHtcbiAgY2xvc2U6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuICBlbnF1ZXVlOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgZXJyb3I6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuICBieW9iUmVxdWVzdDogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG4gIGRlc2lyZWRTaXplOiB7IGVudW1lcmFibGU6IHRydWUgfVxufSk7XG5zZXRGdW5jdGlvbk5hbWUoUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5wcm90b3R5cGUuY2xvc2UsICdjbG9zZScpO1xuc2V0RnVuY3Rpb25OYW1lKFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIucHJvdG90eXBlLmVucXVldWUsICdlbnF1ZXVlJyk7XG5zZXRGdW5jdGlvbk5hbWUoUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5wcm90b3R5cGUuZXJyb3IsICdlcnJvcicpO1xuaWYgKHR5cGVvZiBTeW1ib2wudG9TdHJpbmdUYWcgPT09ICdzeW1ib2wnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7XG4gICAgdmFsdWU6ICdSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyJyxcbiAgICBjb25maWd1cmFibGU6IHRydWVcbiAgfSk7XG59XG5cbi8vIEFic3RyYWN0IG9wZXJhdGlvbnMgZm9yIHRoZSBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLlxuXG5leHBvcnQgZnVuY3Rpb24gSXNSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKHg6IGFueSk6IHggaXMgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciB7XG4gIGlmICghdHlwZUlzT2JqZWN0KHgpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoeCwgJ19jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtJykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4geCBpbnN0YW5jZW9mIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXI7XG59XG5cbmZ1bmN0aW9uIElzUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdCh4OiBhbnkpOiB4IGlzIFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3Qge1xuICBpZiAoIXR5cGVJc09iamVjdCh4KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHgsICdfYXNzb2NpYXRlZFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXInKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB4IGluc3RhbmNlb2YgUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdDtcbn1cblxuZnVuY3Rpb24gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNhbGxQdWxsSWZOZWVkZWQoY29udHJvbGxlcjogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcik6IHZvaWQge1xuICBjb25zdCBzaG91bGRQdWxsID0gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclNob3VsZENhbGxQdWxsKGNvbnRyb2xsZXIpO1xuICBpZiAoIXNob3VsZFB1bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoY29udHJvbGxlci5fcHVsbGluZykge1xuICAgIGNvbnRyb2xsZXIuX3B1bGxBZ2FpbiA9IHRydWU7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXNzZXJ0KCFjb250cm9sbGVyLl9wdWxsQWdhaW4pO1xuXG4gIGNvbnRyb2xsZXIuX3B1bGxpbmcgPSB0cnVlO1xuXG4gIC8vIFRPRE86IFRlc3QgY29udHJvbGxlciBhcmd1bWVudFxuICBjb25zdCBwdWxsUHJvbWlzZSA9IGNvbnRyb2xsZXIuX3B1bGxBbGdvcml0aG0oKTtcbiAgdXBvblByb21pc2UoXG4gICAgcHVsbFByb21pc2UsXG4gICAgKCkgPT4ge1xuICAgICAgY29udHJvbGxlci5fcHVsbGluZyA9IGZhbHNlO1xuXG4gICAgICBpZiAoY29udHJvbGxlci5fcHVsbEFnYWluKSB7XG4gICAgICAgIGNvbnRyb2xsZXIuX3B1bGxBZ2FpbiA9IGZhbHNlO1xuICAgICAgICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2FsbFB1bGxJZk5lZWRlZChjb250cm9sbGVyKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSxcbiAgICBlID0+IHtcbiAgICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFcnJvcihjb250cm9sbGVyLCBlKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgKTtcbn1cblxuZnVuY3Rpb24gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNsZWFyUGVuZGluZ1B1bGxJbnRvcyhjb250cm9sbGVyOiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKSB7XG4gIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJJbnZhbGlkYXRlQllPQlJlcXVlc3QoY29udHJvbGxlcik7XG4gIGNvbnRyb2xsZXIuX3BlbmRpbmdQdWxsSW50b3MgPSBuZXcgU2ltcGxlUXVldWUoKTtcbn1cblxuZnVuY3Rpb24gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNvbW1pdFB1bGxJbnRvRGVzY3JpcHRvcjxUIGV4dGVuZHMgTm9uU2hhcmVkPEFycmF5QnVmZmVyVmlldz4+KFxuICBzdHJlYW06IFJlYWRhYmxlQnl0ZVN0cmVhbSxcbiAgcHVsbEludG9EZXNjcmlwdG9yOiBQdWxsSW50b0Rlc2NyaXB0b3I8VD5cbikge1xuICBhc3NlcnQoc3RyZWFtLl9zdGF0ZSAhPT0gJ2Vycm9yZWQnKTtcbiAgYXNzZXJ0KHB1bGxJbnRvRGVzY3JpcHRvci5yZWFkZXJUeXBlICE9PSAnbm9uZScpO1xuXG4gIGxldCBkb25lID0gZmFsc2U7XG4gIGlmIChzdHJlYW0uX3N0YXRlID09PSAnY2xvc2VkJykge1xuICAgIGFzc2VydChwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQgJSBwdWxsSW50b0Rlc2NyaXB0b3IuZWxlbWVudFNpemUgPT09IDApO1xuICAgIGRvbmUgPSB0cnVlO1xuICB9XG5cbiAgY29uc3QgZmlsbGVkVmlldyA9IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDb252ZXJ0UHVsbEludG9EZXNjcmlwdG9yPFQ+KHB1bGxJbnRvRGVzY3JpcHRvcik7XG4gIGlmIChwdWxsSW50b0Rlc2NyaXB0b3IucmVhZGVyVHlwZSA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgUmVhZGFibGVTdHJlYW1GdWxmaWxsUmVhZFJlcXVlc3Qoc3RyZWFtLCBmaWxsZWRWaWV3IGFzIHVua25vd24gYXMgTm9uU2hhcmVkPFVpbnQ4QXJyYXk+LCBkb25lKTtcbiAgfSBlbHNlIHtcbiAgICBhc3NlcnQocHVsbEludG9EZXNjcmlwdG9yLnJlYWRlclR5cGUgPT09ICdieW9iJyk7XG4gICAgUmVhZGFibGVTdHJlYW1GdWxmaWxsUmVhZEludG9SZXF1ZXN0KHN0cmVhbSwgZmlsbGVkVmlldywgZG9uZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNvbnZlcnRQdWxsSW50b0Rlc2NyaXB0b3I8VCBleHRlbmRzIE5vblNoYXJlZDxBcnJheUJ1ZmZlclZpZXc+PihcbiAgcHVsbEludG9EZXNjcmlwdG9yOiBQdWxsSW50b0Rlc2NyaXB0b3I8VD5cbik6IFQge1xuICBjb25zdCBieXRlc0ZpbGxlZCA9IHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZDtcbiAgY29uc3QgZWxlbWVudFNpemUgPSBwdWxsSW50b0Rlc2NyaXB0b3IuZWxlbWVudFNpemU7XG5cbiAgYXNzZXJ0KGJ5dGVzRmlsbGVkIDw9IHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlTGVuZ3RoKTtcbiAgYXNzZXJ0KGJ5dGVzRmlsbGVkICUgZWxlbWVudFNpemUgPT09IDApO1xuXG4gIHJldHVybiBuZXcgcHVsbEludG9EZXNjcmlwdG9yLnZpZXdDb25zdHJ1Y3RvcihcbiAgICBwdWxsSW50b0Rlc2NyaXB0b3IuYnVmZmVyLCBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZU9mZnNldCwgYnl0ZXNGaWxsZWQgLyBlbGVtZW50U2l6ZSkgYXMgVDtcbn1cblxuZnVuY3Rpb24gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVldWVDaHVua1RvUXVldWUoY29udHJvbGxlcjogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlcjogQXJyYXlCdWZmZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlT2Zmc2V0OiBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlTGVuZ3RoOiBudW1iZXIpIHtcbiAgY29udHJvbGxlci5fcXVldWUucHVzaCh7IGJ1ZmZlciwgYnl0ZU9mZnNldCwgYnl0ZUxlbmd0aCB9KTtcbiAgY29udHJvbGxlci5fcXVldWVUb3RhbFNpemUgKz0gYnl0ZUxlbmd0aDtcbn1cblxuZnVuY3Rpb24gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVldWVDbG9uZWRDaHVua1RvUXVldWUoY29udHJvbGxlcjogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlcjogQXJyYXlCdWZmZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlT2Zmc2V0OiBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieXRlTGVuZ3RoOiBudW1iZXIpIHtcbiAgbGV0IGNsb25lZENodW5rO1xuICB0cnkge1xuICAgIGNsb25lZENodW5rID0gQXJyYXlCdWZmZXJTbGljZShidWZmZXIsIGJ5dGVPZmZzZXQsIGJ5dGVPZmZzZXQgKyBieXRlTGVuZ3RoKTtcbiAgfSBjYXRjaCAoY2xvbmVFKSB7XG4gICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVycm9yKGNvbnRyb2xsZXIsIGNsb25lRSk7XG4gICAgdGhyb3cgY2xvbmVFO1xuICB9XG4gIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVlQ2h1bmtUb1F1ZXVlKGNvbnRyb2xsZXIsIGNsb25lZENodW5rLCAwLCBieXRlTGVuZ3RoKTtcbn1cblxuZnVuY3Rpb24gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVldWVEZXRhY2hlZFB1bGxJbnRvVG9RdWV1ZShjb250cm9sbGVyOiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdERlc2NyaXB0b3I6IFB1bGxJbnRvRGVzY3JpcHRvcikge1xuICBhc3NlcnQoZmlyc3REZXNjcmlwdG9yLnJlYWRlclR5cGUgPT09ICdub25lJyk7XG4gIGlmIChmaXJzdERlc2NyaXB0b3IuYnl0ZXNGaWxsZWQgPiAwKSB7XG4gICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVldWVDbG9uZWRDaHVua1RvUXVldWUoXG4gICAgICBjb250cm9sbGVyLFxuICAgICAgZmlyc3REZXNjcmlwdG9yLmJ1ZmZlcixcbiAgICAgIGZpcnN0RGVzY3JpcHRvci5ieXRlT2Zmc2V0LFxuICAgICAgZmlyc3REZXNjcmlwdG9yLmJ5dGVzRmlsbGVkXG4gICAgKTtcbiAgfVxuICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyU2hpZnRQZW5kaW5nUHVsbEludG8oY29udHJvbGxlcik7XG59XG5cbmZ1bmN0aW9uIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsUHVsbEludG9EZXNjcmlwdG9yRnJvbVF1ZXVlKGNvbnRyb2xsZXI6IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWxsSW50b0Rlc2NyaXB0b3I6IFB1bGxJbnRvRGVzY3JpcHRvcikge1xuICBjb25zdCBtYXhCeXRlc1RvQ29weSA9IE1hdGgubWluKGNvbnRyb2xsZXIuX3F1ZXVlVG90YWxTaXplLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlTGVuZ3RoIC0gcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVzRmlsbGVkKTtcbiAgY29uc3QgbWF4Qnl0ZXNGaWxsZWQgPSBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQgKyBtYXhCeXRlc1RvQ29weTtcblxuICBsZXQgdG90YWxCeXRlc1RvQ29weVJlbWFpbmluZyA9IG1heEJ5dGVzVG9Db3B5O1xuICBsZXQgcmVhZHkgPSBmYWxzZTtcbiAgYXNzZXJ0KHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCA8IHB1bGxJbnRvRGVzY3JpcHRvci5taW5pbXVtRmlsbCk7XG4gIGNvbnN0IHJlbWFpbmRlckJ5dGVzID0gbWF4Qnl0ZXNGaWxsZWQgJSBwdWxsSW50b0Rlc2NyaXB0b3IuZWxlbWVudFNpemU7XG4gIGNvbnN0IG1heEFsaWduZWRCeXRlcyA9IG1heEJ5dGVzRmlsbGVkIC0gcmVtYWluZGVyQnl0ZXM7XG4gIC8vIEEgZGVzY3JpcHRvciBmb3IgYSByZWFkKCkgcmVxdWVzdCB0aGF0IGlzIG5vdCB5ZXQgZmlsbGVkIHVwIHRvIGl0cyBtaW5pbXVtIGxlbmd0aCB3aWxsIHN0YXkgYXQgdGhlIGhlYWRcbiAgLy8gb2YgdGhlIHF1ZXVlLCBzbyB0aGUgdW5kZXJseWluZyBzb3VyY2UgY2FuIGtlZXAgZmlsbGluZyBpdC5cbiAgaWYgKG1heEFsaWduZWRCeXRlcyA+PSBwdWxsSW50b0Rlc2NyaXB0b3IubWluaW11bUZpbGwpIHtcbiAgICB0b3RhbEJ5dGVzVG9Db3B5UmVtYWluaW5nID0gbWF4QWxpZ25lZEJ5dGVzIC0gcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVzRmlsbGVkO1xuICAgIHJlYWR5ID0gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0IHF1ZXVlID0gY29udHJvbGxlci5fcXVldWU7XG5cbiAgd2hpbGUgKHRvdGFsQnl0ZXNUb0NvcHlSZW1haW5pbmcgPiAwKSB7XG4gICAgY29uc3QgaGVhZE9mUXVldWUgPSBxdWV1ZS5wZWVrKCk7XG5cbiAgICBjb25zdCBieXRlc1RvQ29weSA9IE1hdGgubWluKHRvdGFsQnl0ZXNUb0NvcHlSZW1haW5pbmcsIGhlYWRPZlF1ZXVlLmJ5dGVMZW5ndGgpO1xuXG4gICAgY29uc3QgZGVzdFN0YXJ0ID0gcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVPZmZzZXQgKyBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQ7XG4gICAgQ29weURhdGFCbG9ja0J5dGVzKHB1bGxJbnRvRGVzY3JpcHRvci5idWZmZXIsIGRlc3RTdGFydCwgaGVhZE9mUXVldWUuYnVmZmVyLCBoZWFkT2ZRdWV1ZS5ieXRlT2Zmc2V0LCBieXRlc1RvQ29weSk7XG5cbiAgICBpZiAoaGVhZE9mUXVldWUuYnl0ZUxlbmd0aCA9PT0gYnl0ZXNUb0NvcHkpIHtcbiAgICAgIHF1ZXVlLnNoaWZ0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGhlYWRPZlF1ZXVlLmJ5dGVPZmZzZXQgKz0gYnl0ZXNUb0NvcHk7XG4gICAgICBoZWFkT2ZRdWV1ZS5ieXRlTGVuZ3RoIC09IGJ5dGVzVG9Db3B5O1xuICAgIH1cbiAgICBjb250cm9sbGVyLl9xdWV1ZVRvdGFsU2l6ZSAtPSBieXRlc1RvQ29weTtcblxuICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsSGVhZFB1bGxJbnRvRGVzY3JpcHRvcihjb250cm9sbGVyLCBieXRlc1RvQ29weSwgcHVsbEludG9EZXNjcmlwdG9yKTtcblxuICAgIHRvdGFsQnl0ZXNUb0NvcHlSZW1haW5pbmcgLT0gYnl0ZXNUb0NvcHk7XG4gIH1cblxuICBpZiAoIXJlYWR5KSB7XG4gICAgYXNzZXJ0KGNvbnRyb2xsZXIuX3F1ZXVlVG90YWxTaXplID09PSAwKTtcbiAgICBhc3NlcnQocHVsbEludG9EZXNjcmlwdG9yLmJ5dGVzRmlsbGVkID4gMCk7XG4gICAgYXNzZXJ0KHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCA8IHB1bGxJbnRvRGVzY3JpcHRvci5taW5pbXVtRmlsbCk7XG4gIH1cblxuICByZXR1cm4gcmVhZHk7XG59XG5cbmZ1bmN0aW9uIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsSGVhZFB1bGxJbnRvRGVzY3JpcHRvcihjb250cm9sbGVyOiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU6IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWxsSW50b0Rlc2NyaXB0b3I6IFB1bGxJbnRvRGVzY3JpcHRvcikge1xuICBhc3NlcnQoY29udHJvbGxlci5fcGVuZGluZ1B1bGxJbnRvcy5sZW5ndGggPT09IDAgfHwgY29udHJvbGxlci5fcGVuZGluZ1B1bGxJbnRvcy5wZWVrKCkgPT09IHB1bGxJbnRvRGVzY3JpcHRvcik7XG4gIGFzc2VydChjb250cm9sbGVyLl9ieW9iUmVxdWVzdCA9PT0gbnVsbCk7XG4gIHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCArPSBzaXplO1xufVxuXG5mdW5jdGlvbiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVySGFuZGxlUXVldWVEcmFpbihjb250cm9sbGVyOiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKSB7XG4gIGFzc2VydChjb250cm9sbGVyLl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtLl9zdGF0ZSA9PT0gJ3JlYWRhYmxlJyk7XG5cbiAgaWYgKGNvbnRyb2xsZXIuX3F1ZXVlVG90YWxTaXplID09PSAwICYmIGNvbnRyb2xsZXIuX2Nsb3NlUmVxdWVzdGVkKSB7XG4gICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNsZWFyQWxnb3JpdGhtcyhjb250cm9sbGVyKTtcbiAgICBSZWFkYWJsZVN0cmVhbUNsb3NlKGNvbnRyb2xsZXIuX2NvbnRyb2xsZWRSZWFkYWJsZUJ5dGVTdHJlYW0pO1xuICB9IGVsc2Uge1xuICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDYWxsUHVsbElmTmVlZGVkKGNvbnRyb2xsZXIpO1xuICB9XG59XG5cbmZ1bmN0aW9uIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJJbnZhbGlkYXRlQllPQlJlcXVlc3QoY29udHJvbGxlcjogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcikge1xuICBpZiAoY29udHJvbGxlci5fYnlvYlJlcXVlc3QgPT09IG51bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb250cm9sbGVyLl9ieW9iUmVxdWVzdC5fYXNzb2NpYXRlZFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIgPSB1bmRlZmluZWQhO1xuICBjb250cm9sbGVyLl9ieW9iUmVxdWVzdC5fdmlldyA9IG51bGwhO1xuICBjb250cm9sbGVyLl9ieW9iUmVxdWVzdCA9IG51bGw7XG59XG5cbmZ1bmN0aW9uIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQcm9jZXNzUHVsbEludG9EZXNjcmlwdG9yc1VzaW5nUXVldWUoY29udHJvbGxlcjogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcikge1xuICBhc3NlcnQoIWNvbnRyb2xsZXIuX2Nsb3NlUmVxdWVzdGVkKTtcblxuICB3aGlsZSAoY29udHJvbGxlci5fcGVuZGluZ1B1bGxJbnRvcy5sZW5ndGggPiAwKSB7XG4gICAgaWYgKGNvbnRyb2xsZXIuX3F1ZXVlVG90YWxTaXplID09PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgcHVsbEludG9EZXNjcmlwdG9yID0gY29udHJvbGxlci5fcGVuZGluZ1B1bGxJbnRvcy5wZWVrKCk7XG4gICAgYXNzZXJ0KHB1bGxJbnRvRGVzY3JpcHRvci5yZWFkZXJUeXBlICE9PSAnbm9uZScpO1xuXG4gICAgaWYgKFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsUHVsbEludG9EZXNjcmlwdG9yRnJvbVF1ZXVlKGNvbnRyb2xsZXIsIHB1bGxJbnRvRGVzY3JpcHRvcikpIHtcbiAgICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJTaGlmdFBlbmRpbmdQdWxsSW50byhjb250cm9sbGVyKTtcblxuICAgICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNvbW1pdFB1bGxJbnRvRGVzY3JpcHRvcihcbiAgICAgICAgY29udHJvbGxlci5fY29udHJvbGxlZFJlYWRhYmxlQnl0ZVN0cmVhbSxcbiAgICAgICAgcHVsbEludG9EZXNjcmlwdG9yXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG5mdW5jdGlvbiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHJvY2Vzc1JlYWRSZXF1ZXN0c1VzaW5nUXVldWUoY29udHJvbGxlcjogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcikge1xuICBjb25zdCByZWFkZXIgPSBjb250cm9sbGVyLl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtLl9yZWFkZXI7XG4gIGFzc2VydChJc1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcihyZWFkZXIpKTtcbiAgd2hpbGUgKHJlYWRlci5fcmVhZFJlcXVlc3RzLmxlbmd0aCA+IDApIHtcbiAgICBpZiAoY29udHJvbGxlci5fcXVldWVUb3RhbFNpemUgPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgcmVhZFJlcXVlc3QgPSByZWFkZXIuX3JlYWRSZXF1ZXN0cy5zaGlmdCgpO1xuICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsUmVhZFJlcXVlc3RGcm9tUXVldWUoY29udHJvbGxlciwgcmVhZFJlcXVlc3QpO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHVsbEludG88VCBleHRlbmRzIE5vblNoYXJlZDxBcnJheUJ1ZmZlclZpZXc+PihcbiAgY29udHJvbGxlcjogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcixcbiAgdmlldzogVCxcbiAgbWluOiBudW1iZXIsXG4gIHJlYWRJbnRvUmVxdWVzdDogUmVhZEludG9SZXF1ZXN0PFQ+XG4pOiB2b2lkIHtcbiAgY29uc3Qgc3RyZWFtID0gY29udHJvbGxlci5fY29udHJvbGxlZFJlYWRhYmxlQnl0ZVN0cmVhbTtcblxuICBjb25zdCBjdG9yID0gdmlldy5jb25zdHJ1Y3RvciBhcyBBcnJheUJ1ZmZlclZpZXdDb25zdHJ1Y3RvcjxUPjtcbiAgY29uc3QgZWxlbWVudFNpemUgPSBhcnJheUJ1ZmZlclZpZXdFbGVtZW50U2l6ZShjdG9yKTtcblxuICBjb25zdCB7IGJ5dGVPZmZzZXQsIGJ5dGVMZW5ndGggfSA9IHZpZXc7XG5cbiAgY29uc3QgbWluaW11bUZpbGwgPSBtaW4gKiBlbGVtZW50U2l6ZTtcbiAgYXNzZXJ0KG1pbmltdW1GaWxsID49IGVsZW1lbnRTaXplICYmIG1pbmltdW1GaWxsIDw9IGJ5dGVMZW5ndGgpO1xuICBhc3NlcnQobWluaW11bUZpbGwgJSBlbGVtZW50U2l6ZSA9PT0gMCk7XG5cbiAgbGV0IGJ1ZmZlcjogQXJyYXlCdWZmZXI7XG4gIHRyeSB7XG4gICAgYnVmZmVyID0gVHJhbnNmZXJBcnJheUJ1ZmZlcih2aWV3LmJ1ZmZlcik7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICByZWFkSW50b1JlcXVlc3QuX2Vycm9yU3RlcHMoZSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcHVsbEludG9EZXNjcmlwdG9yOiBCWU9CUHVsbEludG9EZXNjcmlwdG9yPFQ+ID0ge1xuICAgIGJ1ZmZlcixcbiAgICBidWZmZXJCeXRlTGVuZ3RoOiBidWZmZXIuYnl0ZUxlbmd0aCxcbiAgICBieXRlT2Zmc2V0LFxuICAgIGJ5dGVMZW5ndGgsXG4gICAgYnl0ZXNGaWxsZWQ6IDAsXG4gICAgbWluaW11bUZpbGwsXG4gICAgZWxlbWVudFNpemUsXG4gICAgdmlld0NvbnN0cnVjdG9yOiBjdG9yLFxuICAgIHJlYWRlclR5cGU6ICdieW9iJ1xuICB9O1xuXG4gIGlmIChjb250cm9sbGVyLl9wZW5kaW5nUHVsbEludG9zLmxlbmd0aCA+IDApIHtcbiAgICBjb250cm9sbGVyLl9wZW5kaW5nUHVsbEludG9zLnB1c2gocHVsbEludG9EZXNjcmlwdG9yKTtcblxuICAgIC8vIE5vIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDYWxsUHVsbElmTmVlZGVkKCkgY2FsbCBzaW5jZTpcbiAgICAvLyAtIE5vIGNoYW5nZSBoYXBwZW5zIG9uIGRlc2lyZWRTaXplXG4gICAgLy8gLSBUaGUgc291cmNlIGhhcyBhbHJlYWR5IGJlZW4gbm90aWZpZWQgb2YgdGhhdCB0aGVyZSdzIGF0IGxlYXN0IDEgcGVuZGluZyByZWFkKHZpZXcpXG5cbiAgICBSZWFkYWJsZVN0cmVhbUFkZFJlYWRJbnRvUmVxdWVzdChzdHJlYW0sIHJlYWRJbnRvUmVxdWVzdCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHN0cmVhbS5fc3RhdGUgPT09ICdjbG9zZWQnKSB7XG4gICAgY29uc3QgZW1wdHlWaWV3ID0gbmV3IGN0b3IocHVsbEludG9EZXNjcmlwdG9yLmJ1ZmZlciwgcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVPZmZzZXQsIDApO1xuICAgIHJlYWRJbnRvUmVxdWVzdC5fY2xvc2VTdGVwcyhlbXB0eVZpZXcpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChjb250cm9sbGVyLl9xdWV1ZVRvdGFsU2l6ZSA+IDApIHtcbiAgICBpZiAoUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckZpbGxQdWxsSW50b0Rlc2NyaXB0b3JGcm9tUXVldWUoY29udHJvbGxlciwgcHVsbEludG9EZXNjcmlwdG9yKSkge1xuICAgICAgY29uc3QgZmlsbGVkVmlldyA9IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDb252ZXJ0UHVsbEludG9EZXNjcmlwdG9yPFQ+KHB1bGxJbnRvRGVzY3JpcHRvcik7XG5cbiAgICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJIYW5kbGVRdWV1ZURyYWluKGNvbnRyb2xsZXIpO1xuXG4gICAgICByZWFkSW50b1JlcXVlc3QuX2NodW5rU3RlcHMoZmlsbGVkVmlldyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGNvbnRyb2xsZXIuX2Nsb3NlUmVxdWVzdGVkKSB7XG4gICAgICBjb25zdCBlID0gbmV3IFR5cGVFcnJvcignSW5zdWZmaWNpZW50IGJ5dGVzIHRvIGZpbGwgZWxlbWVudHMgaW4gdGhlIGdpdmVuIGJ1ZmZlcicpO1xuICAgICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVycm9yKGNvbnRyb2xsZXIsIGUpO1xuXG4gICAgICByZWFkSW50b1JlcXVlc3QuX2Vycm9yU3RlcHMoZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICB9XG5cbiAgY29udHJvbGxlci5fcGVuZGluZ1B1bGxJbnRvcy5wdXNoKHB1bGxJbnRvRGVzY3JpcHRvcik7XG5cbiAgUmVhZGFibGVTdHJlYW1BZGRSZWFkSW50b1JlcXVlc3Q8VD4oc3RyZWFtLCByZWFkSW50b1JlcXVlc3QpO1xuICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2FsbFB1bGxJZk5lZWRlZChjb250cm9sbGVyKTtcbn1cblxuZnVuY3Rpb24gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclJlc3BvbmRJbkNsb3NlZFN0YXRlKGNvbnRyb2xsZXI6IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3REZXNjcmlwdG9yOiBQdWxsSW50b0Rlc2NyaXB0b3IpIHtcbiAgYXNzZXJ0KGZpcnN0RGVzY3JpcHRvci5ieXRlc0ZpbGxlZCAlIGZpcnN0RGVzY3JpcHRvci5lbGVtZW50U2l6ZSA9PT0gMCk7XG5cbiAgaWYgKGZpcnN0RGVzY3JpcHRvci5yZWFkZXJUeXBlID09PSAnbm9uZScpIHtcbiAgICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyU2hpZnRQZW5kaW5nUHVsbEludG8oY29udHJvbGxlcik7XG4gIH1cblxuICBjb25zdCBzdHJlYW0gPSBjb250cm9sbGVyLl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtO1xuICBpZiAoUmVhZGFibGVTdHJlYW1IYXNCWU9CUmVhZGVyKHN0cmVhbSkpIHtcbiAgICB3aGlsZSAoUmVhZGFibGVTdHJlYW1HZXROdW1SZWFkSW50b1JlcXVlc3RzKHN0cmVhbSkgPiAwKSB7XG4gICAgICBjb25zdCBwdWxsSW50b0Rlc2NyaXB0b3IgPSBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyU2hpZnRQZW5kaW5nUHVsbEludG8oY29udHJvbGxlcik7XG4gICAgICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ29tbWl0UHVsbEludG9EZXNjcmlwdG9yKHN0cmVhbSwgcHVsbEludG9EZXNjcmlwdG9yKTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclJlc3BvbmRJblJlYWRhYmxlU3RhdGUoY29udHJvbGxlcjogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5dGVzV3JpdHRlbjogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHVsbEludG9EZXNjcmlwdG9yOiBQdWxsSW50b0Rlc2NyaXB0b3IpIHtcbiAgYXNzZXJ0KHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCArIGJ5dGVzV3JpdHRlbiA8PSBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZUxlbmd0aCk7XG5cbiAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckZpbGxIZWFkUHVsbEludG9EZXNjcmlwdG9yKGNvbnRyb2xsZXIsIGJ5dGVzV3JpdHRlbiwgcHVsbEludG9EZXNjcmlwdG9yKTtcblxuICBpZiAocHVsbEludG9EZXNjcmlwdG9yLnJlYWRlclR5cGUgPT09ICdub25lJykge1xuICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVlRGV0YWNoZWRQdWxsSW50b1RvUXVldWUoY29udHJvbGxlciwgcHVsbEludG9EZXNjcmlwdG9yKTtcbiAgICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHJvY2Vzc1B1bGxJbnRvRGVzY3JpcHRvcnNVc2luZ1F1ZXVlKGNvbnRyb2xsZXIpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQgPCBwdWxsSW50b0Rlc2NyaXB0b3IubWluaW11bUZpbGwpIHtcbiAgICAvLyBBIGRlc2NyaXB0b3IgZm9yIGEgcmVhZCgpIHJlcXVlc3QgdGhhdCBpcyBub3QgeWV0IGZpbGxlZCB1cCB0byBpdHMgbWluaW11bSBsZW5ndGggd2lsbCBzdGF5IGF0IHRoZSBoZWFkXG4gICAgLy8gb2YgdGhlIHF1ZXVlLCBzbyB0aGUgdW5kZXJseWluZyBzb3VyY2UgY2FuIGtlZXAgZmlsbGluZyBpdC5cbiAgICByZXR1cm47XG4gIH1cblxuICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyU2hpZnRQZW5kaW5nUHVsbEludG8oY29udHJvbGxlcik7XG5cbiAgY29uc3QgcmVtYWluZGVyU2l6ZSA9IHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCAlIHB1bGxJbnRvRGVzY3JpcHRvci5lbGVtZW50U2l6ZTtcbiAgaWYgKHJlbWFpbmRlclNpemUgPiAwKSB7XG4gICAgY29uc3QgZW5kID0gcHVsbEludG9EZXNjcmlwdG9yLmJ5dGVPZmZzZXQgKyBwdWxsSW50b0Rlc2NyaXB0b3IuYnl0ZXNGaWxsZWQ7XG4gICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVldWVDbG9uZWRDaHVua1RvUXVldWUoXG4gICAgICBjb250cm9sbGVyLFxuICAgICAgcHVsbEludG9EZXNjcmlwdG9yLmJ1ZmZlcixcbiAgICAgIGVuZCAtIHJlbWFpbmRlclNpemUsXG4gICAgICByZW1haW5kZXJTaXplXG4gICAgKTtcbiAgfVxuXG4gIHB1bGxJbnRvRGVzY3JpcHRvci5ieXRlc0ZpbGxlZCAtPSByZW1haW5kZXJTaXplO1xuICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ29tbWl0UHVsbEludG9EZXNjcmlwdG9yKGNvbnRyb2xsZXIuX2NvbnRyb2xsZWRSZWFkYWJsZUJ5dGVTdHJlYW0sIHB1bGxJbnRvRGVzY3JpcHRvcik7XG5cbiAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclByb2Nlc3NQdWxsSW50b0Rlc2NyaXB0b3JzVXNpbmdRdWV1ZShjb250cm9sbGVyKTtcbn1cblxuZnVuY3Rpb24gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclJlc3BvbmRJbnRlcm5hbChjb250cm9sbGVyOiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLCBieXRlc1dyaXR0ZW46IG51bWJlcikge1xuICBjb25zdCBmaXJzdERlc2NyaXB0b3IgPSBjb250cm9sbGVyLl9wZW5kaW5nUHVsbEludG9zLnBlZWsoKTtcbiAgYXNzZXJ0KENhblRyYW5zZmVyQXJyYXlCdWZmZXIoZmlyc3REZXNjcmlwdG9yLmJ1ZmZlcikpO1xuXG4gIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJJbnZhbGlkYXRlQllPQlJlcXVlc3QoY29udHJvbGxlcik7XG5cbiAgY29uc3Qgc3RhdGUgPSBjb250cm9sbGVyLl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtLl9zdGF0ZTtcbiAgaWYgKHN0YXRlID09PSAnY2xvc2VkJykge1xuICAgIGFzc2VydChieXRlc1dyaXR0ZW4gPT09IDApO1xuICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJSZXNwb25kSW5DbG9zZWRTdGF0ZShjb250cm9sbGVyLCBmaXJzdERlc2NyaXB0b3IpO1xuICB9IGVsc2Uge1xuICAgIGFzc2VydChzdGF0ZSA9PT0gJ3JlYWRhYmxlJyk7XG4gICAgYXNzZXJ0KGJ5dGVzV3JpdHRlbiA+IDApO1xuICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJSZXNwb25kSW5SZWFkYWJsZVN0YXRlKGNvbnRyb2xsZXIsIGJ5dGVzV3JpdHRlbiwgZmlyc3REZXNjcmlwdG9yKTtcbiAgfVxuXG4gIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDYWxsUHVsbElmTmVlZGVkKGNvbnRyb2xsZXIpO1xufVxuXG5mdW5jdGlvbiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyU2hpZnRQZW5kaW5nUHVsbEludG8oXG4gIGNvbnRyb2xsZXI6IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJcbik6IFB1bGxJbnRvRGVzY3JpcHRvciB7XG4gIGFzc2VydChjb250cm9sbGVyLl9ieW9iUmVxdWVzdCA9PT0gbnVsbCk7XG4gIGNvbnN0IGRlc2NyaXB0b3IgPSBjb250cm9sbGVyLl9wZW5kaW5nUHVsbEludG9zLnNoaWZ0KCkhO1xuICByZXR1cm4gZGVzY3JpcHRvcjtcbn1cblxuZnVuY3Rpb24gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclNob3VsZENhbGxQdWxsKGNvbnRyb2xsZXI6IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIpOiBib29sZWFuIHtcbiAgY29uc3Qgc3RyZWFtID0gY29udHJvbGxlci5fY29udHJvbGxlZFJlYWRhYmxlQnl0ZVN0cmVhbTtcblxuICBpZiAoc3RyZWFtLl9zdGF0ZSAhPT0gJ3JlYWRhYmxlJykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChjb250cm9sbGVyLl9jbG9zZVJlcXVlc3RlZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghY29udHJvbGxlci5fc3RhcnRlZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChSZWFkYWJsZVN0cmVhbUhhc0RlZmF1bHRSZWFkZXIoc3RyZWFtKSAmJiBSZWFkYWJsZVN0cmVhbUdldE51bVJlYWRSZXF1ZXN0cyhzdHJlYW0pID4gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgaWYgKFJlYWRhYmxlU3RyZWFtSGFzQllPQlJlYWRlcihzdHJlYW0pICYmIFJlYWRhYmxlU3RyZWFtR2V0TnVtUmVhZEludG9SZXF1ZXN0cyhzdHJlYW0pID4gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3QgZGVzaXJlZFNpemUgPSBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyR2V0RGVzaXJlZFNpemUoY29udHJvbGxlcik7XG4gIGFzc2VydChkZXNpcmVkU2l6ZSAhPT0gbnVsbCk7XG4gIGlmIChkZXNpcmVkU2l6ZSEgPiAwKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDbGVhckFsZ29yaXRobXMoY29udHJvbGxlcjogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcikge1xuICBjb250cm9sbGVyLl9wdWxsQWxnb3JpdGhtID0gdW5kZWZpbmVkITtcbiAgY29udHJvbGxlci5fY2FuY2VsQWxnb3JpdGhtID0gdW5kZWZpbmVkITtcbn1cblxuLy8gQSBjbGllbnQgb2YgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciBtYXkgdXNlIHRoZXNlIGZ1bmN0aW9ucyBkaXJlY3RseSB0byBieXBhc3Mgc3RhdGUgY2hlY2suXG5cbmV4cG9ydCBmdW5jdGlvbiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2xvc2UoY29udHJvbGxlcjogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcikge1xuICBjb25zdCBzdHJlYW0gPSBjb250cm9sbGVyLl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtO1xuXG4gIGlmIChjb250cm9sbGVyLl9jbG9zZVJlcXVlc3RlZCB8fCBzdHJlYW0uX3N0YXRlICE9PSAncmVhZGFibGUnKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGNvbnRyb2xsZXIuX3F1ZXVlVG90YWxTaXplID4gMCkge1xuICAgIGNvbnRyb2xsZXIuX2Nsb3NlUmVxdWVzdGVkID0gdHJ1ZTtcblxuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChjb250cm9sbGVyLl9wZW5kaW5nUHVsbEludG9zLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBmaXJzdFBlbmRpbmdQdWxsSW50byA9IGNvbnRyb2xsZXIuX3BlbmRpbmdQdWxsSW50b3MucGVlaygpO1xuICAgIGlmIChmaXJzdFBlbmRpbmdQdWxsSW50by5ieXRlc0ZpbGxlZCAlIGZpcnN0UGVuZGluZ1B1bGxJbnRvLmVsZW1lbnRTaXplICE9PSAwKSB7XG4gICAgICBjb25zdCBlID0gbmV3IFR5cGVFcnJvcignSW5zdWZmaWNpZW50IGJ5dGVzIHRvIGZpbGwgZWxlbWVudHMgaW4gdGhlIGdpdmVuIGJ1ZmZlcicpO1xuICAgICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVycm9yKGNvbnRyb2xsZXIsIGUpO1xuXG4gICAgICB0aHJvdyBlO1xuICAgIH1cbiAgfVxuXG4gIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDbGVhckFsZ29yaXRobXMoY29udHJvbGxlcik7XG4gIFJlYWRhYmxlU3RyZWFtQ2xvc2Uoc3RyZWFtKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVlKFxuICBjb250cm9sbGVyOiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLFxuICBjaHVuazogTm9uU2hhcmVkPEFycmF5QnVmZmVyVmlldz5cbikge1xuICBjb25zdCBzdHJlYW0gPSBjb250cm9sbGVyLl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtO1xuXG4gIGlmIChjb250cm9sbGVyLl9jbG9zZVJlcXVlc3RlZCB8fCBzdHJlYW0uX3N0YXRlICE9PSAncmVhZGFibGUnKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgeyBidWZmZXIsIGJ5dGVPZmZzZXQsIGJ5dGVMZW5ndGggfSA9IGNodW5rO1xuICBpZiAoSXNEZXRhY2hlZEJ1ZmZlcihidWZmZXIpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignY2h1bmtcXCdzIGJ1ZmZlciBpcyBkZXRhY2hlZCBhbmQgc28gY2Fubm90IGJlIGVucXVldWVkJyk7XG4gIH1cbiAgY29uc3QgdHJhbnNmZXJyZWRCdWZmZXIgPSBUcmFuc2ZlckFycmF5QnVmZmVyKGJ1ZmZlcik7XG5cbiAgaWYgKGNvbnRyb2xsZXIuX3BlbmRpbmdQdWxsSW50b3MubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IGZpcnN0UGVuZGluZ1B1bGxJbnRvID0gY29udHJvbGxlci5fcGVuZGluZ1B1bGxJbnRvcy5wZWVrKCk7XG4gICAgaWYgKElzRGV0YWNoZWRCdWZmZXIoZmlyc3RQZW5kaW5nUHVsbEludG8uYnVmZmVyKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgJ1RoZSBCWU9CIHJlcXVlc3RcXCdzIGJ1ZmZlciBoYXMgYmVlbiBkZXRhY2hlZCBhbmQgc28gY2Fubm90IGJlIGZpbGxlZCB3aXRoIGFuIGVucXVldWVkIGNodW5rJ1xuICAgICAgKTtcbiAgICB9XG4gICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckludmFsaWRhdGVCWU9CUmVxdWVzdChjb250cm9sbGVyKTtcbiAgICBmaXJzdFBlbmRpbmdQdWxsSW50by5idWZmZXIgPSBUcmFuc2ZlckFycmF5QnVmZmVyKGZpcnN0UGVuZGluZ1B1bGxJbnRvLmJ1ZmZlcik7XG4gICAgaWYgKGZpcnN0UGVuZGluZ1B1bGxJbnRvLnJlYWRlclR5cGUgPT09ICdub25lJykge1xuICAgICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVldWVEZXRhY2hlZFB1bGxJbnRvVG9RdWV1ZShjb250cm9sbGVyLCBmaXJzdFBlbmRpbmdQdWxsSW50byk7XG4gICAgfVxuICB9XG5cbiAgaWYgKFJlYWRhYmxlU3RyZWFtSGFzRGVmYXVsdFJlYWRlcihzdHJlYW0pKSB7XG4gICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclByb2Nlc3NSZWFkUmVxdWVzdHNVc2luZ1F1ZXVlKGNvbnRyb2xsZXIpO1xuICAgIGlmIChSZWFkYWJsZVN0cmVhbUdldE51bVJlYWRSZXF1ZXN0cyhzdHJlYW0pID09PSAwKSB7XG4gICAgICBhc3NlcnQoY29udHJvbGxlci5fcGVuZGluZ1B1bGxJbnRvcy5sZW5ndGggPT09IDApO1xuICAgICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVldWVDaHVua1RvUXVldWUoY29udHJvbGxlciwgdHJhbnNmZXJyZWRCdWZmZXIsIGJ5dGVPZmZzZXQsIGJ5dGVMZW5ndGgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhc3NlcnQoY29udHJvbGxlci5fcXVldWUubGVuZ3RoID09PSAwKTtcbiAgICAgIGlmIChjb250cm9sbGVyLl9wZW5kaW5nUHVsbEludG9zLmxlbmd0aCA+IDApIHtcbiAgICAgICAgYXNzZXJ0KGNvbnRyb2xsZXIuX3BlbmRpbmdQdWxsSW50b3MucGVlaygpLnJlYWRlclR5cGUgPT09ICdkZWZhdWx0Jyk7XG4gICAgICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJTaGlmdFBlbmRpbmdQdWxsSW50byhjb250cm9sbGVyKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHRyYW5zZmVycmVkVmlldyA9IG5ldyBVaW50OEFycmF5KHRyYW5zZmVycmVkQnVmZmVyLCBieXRlT2Zmc2V0LCBieXRlTGVuZ3RoKTtcbiAgICAgIFJlYWRhYmxlU3RyZWFtRnVsZmlsbFJlYWRSZXF1ZXN0KHN0cmVhbSwgdHJhbnNmZXJyZWRWaWV3IGFzIE5vblNoYXJlZDxVaW50OEFycmF5PiwgZmFsc2UpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChSZWFkYWJsZVN0cmVhbUhhc0JZT0JSZWFkZXIoc3RyZWFtKSkge1xuICAgIC8vIFRPRE86IElkZWFsbHkgaW4gdGhpcyBicmFuY2ggZGV0YWNoaW5nIHNob3VsZCBoYXBwZW4gb25seSBpZiB0aGUgYnVmZmVyIGlzIG5vdCBjb25zdW1lZCBmdWxseS5cbiAgICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRW5xdWV1ZUNodW5rVG9RdWV1ZShjb250cm9sbGVyLCB0cmFuc2ZlcnJlZEJ1ZmZlciwgYnl0ZU9mZnNldCwgYnl0ZUxlbmd0aCk7XG4gICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclByb2Nlc3NQdWxsSW50b0Rlc2NyaXB0b3JzVXNpbmdRdWV1ZShjb250cm9sbGVyKTtcbiAgfSBlbHNlIHtcbiAgICBhc3NlcnQoIUlzUmVhZGFibGVTdHJlYW1Mb2NrZWQoc3RyZWFtKSk7XG4gICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVldWVDaHVua1RvUXVldWUoY29udHJvbGxlciwgdHJhbnNmZXJyZWRCdWZmZXIsIGJ5dGVPZmZzZXQsIGJ5dGVMZW5ndGgpO1xuICB9XG5cbiAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNhbGxQdWxsSWZOZWVkZWQoY29udHJvbGxlcik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRXJyb3IoY29udHJvbGxlcjogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciwgZTogYW55KSB7XG4gIGNvbnN0IHN0cmVhbSA9IGNvbnRyb2xsZXIuX2NvbnRyb2xsZWRSZWFkYWJsZUJ5dGVTdHJlYW07XG5cbiAgaWYgKHN0cmVhbS5fc3RhdGUgIT09ICdyZWFkYWJsZScpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2xlYXJQZW5kaW5nUHVsbEludG9zKGNvbnRyb2xsZXIpO1xuXG4gIFJlc2V0UXVldWUoY29udHJvbGxlcik7XG4gIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDbGVhckFsZ29yaXRobXMoY29udHJvbGxlcik7XG4gIFJlYWRhYmxlU3RyZWFtRXJyb3Ioc3RyZWFtLCBlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGaWxsUmVhZFJlcXVlc3RGcm9tUXVldWUoXG4gIGNvbnRyb2xsZXI6IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIsXG4gIHJlYWRSZXF1ZXN0OiBSZWFkUmVxdWVzdDxOb25TaGFyZWQ8VWludDhBcnJheT4+XG4pIHtcbiAgYXNzZXJ0KGNvbnRyb2xsZXIuX3F1ZXVlVG90YWxTaXplID4gMCk7XG5cbiAgY29uc3QgZW50cnkgPSBjb250cm9sbGVyLl9xdWV1ZS5zaGlmdCgpO1xuICBjb250cm9sbGVyLl9xdWV1ZVRvdGFsU2l6ZSAtPSBlbnRyeS5ieXRlTGVuZ3RoO1xuXG4gIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJIYW5kbGVRdWV1ZURyYWluKGNvbnRyb2xsZXIpO1xuXG4gIGNvbnN0IHZpZXcgPSBuZXcgVWludDhBcnJheShlbnRyeS5idWZmZXIsIGVudHJ5LmJ5dGVPZmZzZXQsIGVudHJ5LmJ5dGVMZW5ndGgpO1xuICByZWFkUmVxdWVzdC5fY2h1bmtTdGVwcyh2aWV3IGFzIE5vblNoYXJlZDxVaW50OEFycmF5Pik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyR2V0QllPQlJlcXVlc3QoXG4gIGNvbnRyb2xsZXI6IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJcbik6IFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QgfCBudWxsIHtcbiAgaWYgKGNvbnRyb2xsZXIuX2J5b2JSZXF1ZXN0ID09PSBudWxsICYmIGNvbnRyb2xsZXIuX3BlbmRpbmdQdWxsSW50b3MubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IGZpcnN0RGVzY3JpcHRvciA9IGNvbnRyb2xsZXIuX3BlbmRpbmdQdWxsSW50b3MucGVlaygpO1xuICAgIGNvbnN0IHZpZXcgPSBuZXcgVWludDhBcnJheShmaXJzdERlc2NyaXB0b3IuYnVmZmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJzdERlc2NyaXB0b3IuYnl0ZU9mZnNldCArIGZpcnN0RGVzY3JpcHRvci5ieXRlc0ZpbGxlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlyc3REZXNjcmlwdG9yLmJ5dGVMZW5ndGggLSBmaXJzdERlc2NyaXB0b3IuYnl0ZXNGaWxsZWQpO1xuXG4gICAgY29uc3QgYnlvYlJlcXVlc3Q6IFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QgPSBPYmplY3QuY3JlYXRlKFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QucHJvdG90eXBlKTtcbiAgICBTZXRVcFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QoYnlvYlJlcXVlc3QsIGNvbnRyb2xsZXIsIHZpZXcgYXMgTm9uU2hhcmVkPFVpbnQ4QXJyYXk+KTtcbiAgICBjb250cm9sbGVyLl9ieW9iUmVxdWVzdCA9IGJ5b2JSZXF1ZXN0O1xuICB9XG4gIHJldHVybiBjb250cm9sbGVyLl9ieW9iUmVxdWVzdDtcbn1cblxuZnVuY3Rpb24gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckdldERlc2lyZWRTaXplKGNvbnRyb2xsZXI6IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIpOiBudW1iZXIgfCBudWxsIHtcbiAgY29uc3Qgc3RhdGUgPSBjb250cm9sbGVyLl9jb250cm9sbGVkUmVhZGFibGVCeXRlU3RyZWFtLl9zdGF0ZTtcblxuICBpZiAoc3RhdGUgPT09ICdlcnJvcmVkJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGlmIChzdGF0ZSA9PT0gJ2Nsb3NlZCcpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIHJldHVybiBjb250cm9sbGVyLl9zdHJhdGVneUhXTSAtIGNvbnRyb2xsZXIuX3F1ZXVlVG90YWxTaXplO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclJlc3BvbmQoY29udHJvbGxlcjogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciwgYnl0ZXNXcml0dGVuOiBudW1iZXIpIHtcbiAgYXNzZXJ0KGNvbnRyb2xsZXIuX3BlbmRpbmdQdWxsSW50b3MubGVuZ3RoID4gMCk7XG5cbiAgY29uc3QgZmlyc3REZXNjcmlwdG9yID0gY29udHJvbGxlci5fcGVuZGluZ1B1bGxJbnRvcy5wZWVrKCk7XG4gIGNvbnN0IHN0YXRlID0gY29udHJvbGxlci5fY29udHJvbGxlZFJlYWRhYmxlQnl0ZVN0cmVhbS5fc3RhdGU7XG5cbiAgaWYgKHN0YXRlID09PSAnY2xvc2VkJykge1xuICAgIGlmIChieXRlc1dyaXR0ZW4gIT09IDApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2J5dGVzV3JpdHRlbiBtdXN0IGJlIDAgd2hlbiBjYWxsaW5nIHJlc3BvbmQoKSBvbiBhIGNsb3NlZCBzdHJlYW0nKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgYXNzZXJ0KHN0YXRlID09PSAncmVhZGFibGUnKTtcbiAgICBpZiAoYnl0ZXNXcml0dGVuID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdieXRlc1dyaXR0ZW4gbXVzdCBiZSBncmVhdGVyIHRoYW4gMCB3aGVuIGNhbGxpbmcgcmVzcG9uZCgpIG9uIGEgcmVhZGFibGUgc3RyZWFtJyk7XG4gICAgfVxuICAgIGlmIChmaXJzdERlc2NyaXB0b3IuYnl0ZXNGaWxsZWQgKyBieXRlc1dyaXR0ZW4gPiBmaXJzdERlc2NyaXB0b3IuYnl0ZUxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ2J5dGVzV3JpdHRlbiBvdXQgb2YgcmFuZ2UnKTtcbiAgICB9XG4gIH1cblxuICBmaXJzdERlc2NyaXB0b3IuYnVmZmVyID0gVHJhbnNmZXJBcnJheUJ1ZmZlcihmaXJzdERlc2NyaXB0b3IuYnVmZmVyKTtcblxuICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUmVzcG9uZEludGVybmFsKGNvbnRyb2xsZXIsIGJ5dGVzV3JpdHRlbik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUmVzcG9uZFdpdGhOZXdWaWV3KGNvbnRyb2xsZXI6IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2aWV3OiBOb25TaGFyZWQ8QXJyYXlCdWZmZXJWaWV3Pikge1xuICBhc3NlcnQoY29udHJvbGxlci5fcGVuZGluZ1B1bGxJbnRvcy5sZW5ndGggPiAwKTtcbiAgYXNzZXJ0KCFJc0RldGFjaGVkQnVmZmVyKHZpZXcuYnVmZmVyKSk7XG5cbiAgY29uc3QgZmlyc3REZXNjcmlwdG9yID0gY29udHJvbGxlci5fcGVuZGluZ1B1bGxJbnRvcy5wZWVrKCk7XG4gIGNvbnN0IHN0YXRlID0gY29udHJvbGxlci5fY29udHJvbGxlZFJlYWRhYmxlQnl0ZVN0cmVhbS5fc3RhdGU7XG5cbiAgaWYgKHN0YXRlID09PSAnY2xvc2VkJykge1xuICAgIGlmICh2aWV3LmJ5dGVMZW5ndGggIT09IDApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSB2aWV3XFwncyBsZW5ndGggbXVzdCBiZSAwIHdoZW4gY2FsbGluZyByZXNwb25kV2l0aE5ld1ZpZXcoKSBvbiBhIGNsb3NlZCBzdHJlYW0nKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgYXNzZXJ0KHN0YXRlID09PSAncmVhZGFibGUnKTtcbiAgICBpZiAodmlldy5ieXRlTGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAnVGhlIHZpZXdcXCdzIGxlbmd0aCBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwIHdoZW4gY2FsbGluZyByZXNwb25kV2l0aE5ld1ZpZXcoKSBvbiBhIHJlYWRhYmxlIHN0cmVhbSdcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgaWYgKGZpcnN0RGVzY3JpcHRvci5ieXRlT2Zmc2V0ICsgZmlyc3REZXNjcmlwdG9yLmJ5dGVzRmlsbGVkICE9PSB2aWV3LmJ5dGVPZmZzZXQpIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcignVGhlIHJlZ2lvbiBzcGVjaWZpZWQgYnkgdmlldyBkb2VzIG5vdCBtYXRjaCBieW9iUmVxdWVzdCcpO1xuICB9XG4gIGlmIChmaXJzdERlc2NyaXB0b3IuYnVmZmVyQnl0ZUxlbmd0aCAhPT0gdmlldy5idWZmZXIuYnl0ZUxlbmd0aCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgYnVmZmVyIG9mIHZpZXcgaGFzIGRpZmZlcmVudCBjYXBhY2l0eSB0aGFuIGJ5b2JSZXF1ZXN0Jyk7XG4gIH1cbiAgaWYgKGZpcnN0RGVzY3JpcHRvci5ieXRlc0ZpbGxlZCArIHZpZXcuYnl0ZUxlbmd0aCA+IGZpcnN0RGVzY3JpcHRvci5ieXRlTGVuZ3RoKSB7XG4gICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSByZWdpb24gc3BlY2lmaWVkIGJ5IHZpZXcgaXMgbGFyZ2VyIHRoYW4gYnlvYlJlcXVlc3QnKTtcbiAgfVxuXG4gIGNvbnN0IHZpZXdCeXRlTGVuZ3RoID0gdmlldy5ieXRlTGVuZ3RoO1xuICBmaXJzdERlc2NyaXB0b3IuYnVmZmVyID0gVHJhbnNmZXJBcnJheUJ1ZmZlcih2aWV3LmJ1ZmZlcik7XG4gIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJSZXNwb25kSW50ZXJuYWwoY29udHJvbGxlciwgdmlld0J5dGVMZW5ndGgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU2V0VXBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKHN0cmVhbTogUmVhZGFibGVCeXRlU3RyZWFtLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250cm9sbGVyOiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFydEFsZ29yaXRobTogKCkgPT4gdm9pZCB8IFByb21pc2VMaWtlPHZvaWQ+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdWxsQWxnb3JpdGhtOiAoKSA9PiBQcm9taXNlPHZvaWQ+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYW5jZWxBbGdvcml0aG06IChyZWFzb246IGFueSkgPT4gUHJvbWlzZTx2b2lkPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlnaFdhdGVyTWFyazogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXRvQWxsb2NhdGVDaHVua1NpemU6IG51bWJlciB8IHVuZGVmaW5lZCkge1xuICBhc3NlcnQoc3RyZWFtLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIgPT09IHVuZGVmaW5lZCk7XG4gIGlmIChhdXRvQWxsb2NhdGVDaHVua1NpemUgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydChOdW1iZXJJc0ludGVnZXIoYXV0b0FsbG9jYXRlQ2h1bmtTaXplKSk7XG4gICAgYXNzZXJ0KGF1dG9BbGxvY2F0ZUNodW5rU2l6ZSA+IDApO1xuICB9XG5cbiAgY29udHJvbGxlci5fY29udHJvbGxlZFJlYWRhYmxlQnl0ZVN0cmVhbSA9IHN0cmVhbTtcblxuICBjb250cm9sbGVyLl9wdWxsQWdhaW4gPSBmYWxzZTtcbiAgY29udHJvbGxlci5fcHVsbGluZyA9IGZhbHNlO1xuXG4gIGNvbnRyb2xsZXIuX2J5b2JSZXF1ZXN0ID0gbnVsbDtcblxuICAvLyBOZWVkIHRvIHNldCB0aGUgc2xvdHMgc28gdGhhdCB0aGUgYXNzZXJ0IGRvZXNuJ3QgZmlyZS4gSW4gdGhlIHNwZWMgdGhlIHNsb3RzIGFscmVhZHkgZXhpc3QgaW1wbGljaXRseS5cbiAgY29udHJvbGxlci5fcXVldWUgPSBjb250cm9sbGVyLl9xdWV1ZVRvdGFsU2l6ZSA9IHVuZGVmaW5lZCE7XG4gIFJlc2V0UXVldWUoY29udHJvbGxlcik7XG5cbiAgY29udHJvbGxlci5fY2xvc2VSZXF1ZXN0ZWQgPSBmYWxzZTtcbiAgY29udHJvbGxlci5fc3RhcnRlZCA9IGZhbHNlO1xuXG4gIGNvbnRyb2xsZXIuX3N0cmF0ZWd5SFdNID0gaGlnaFdhdGVyTWFyaztcblxuICBjb250cm9sbGVyLl9wdWxsQWxnb3JpdGhtID0gcHVsbEFsZ29yaXRobTtcbiAgY29udHJvbGxlci5fY2FuY2VsQWxnb3JpdGhtID0gY2FuY2VsQWxnb3JpdGhtO1xuXG4gIGNvbnRyb2xsZXIuX2F1dG9BbGxvY2F0ZUNodW5rU2l6ZSA9IGF1dG9BbGxvY2F0ZUNodW5rU2l6ZTtcblxuICBjb250cm9sbGVyLl9wZW5kaW5nUHVsbEludG9zID0gbmV3IFNpbXBsZVF1ZXVlKCk7XG5cbiAgc3RyZWFtLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuXG4gIGNvbnN0IHN0YXJ0UmVzdWx0ID0gc3RhcnRBbGdvcml0aG0oKTtcbiAgdXBvblByb21pc2UoXG4gICAgcHJvbWlzZVJlc29sdmVkV2l0aChzdGFydFJlc3VsdCksXG4gICAgKCkgPT4ge1xuICAgICAgY29udHJvbGxlci5fc3RhcnRlZCA9IHRydWU7XG5cbiAgICAgIGFzc2VydCghY29udHJvbGxlci5fcHVsbGluZyk7XG4gICAgICBhc3NlcnQoIWNvbnRyb2xsZXIuX3B1bGxBZ2Fpbik7XG5cbiAgICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDYWxsUHVsbElmTmVlZGVkKGNvbnRyb2xsZXIpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSxcbiAgICByID0+IHtcbiAgICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFcnJvcihjb250cm9sbGVyLCByKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFNldFVwUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckZyb21VbmRlcmx5aW5nU291cmNlKFxuICBzdHJlYW06IFJlYWRhYmxlQnl0ZVN0cmVhbSxcbiAgdW5kZXJseWluZ0J5dGVTb3VyY2U6IFZhbGlkYXRlZFVuZGVybHlpbmdCeXRlU291cmNlLFxuICBoaWdoV2F0ZXJNYXJrOiBudW1iZXJcbikge1xuICBjb25zdCBjb250cm9sbGVyOiBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyID0gT2JqZWN0LmNyZWF0ZShSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyLnByb3RvdHlwZSk7XG5cbiAgbGV0IHN0YXJ0QWxnb3JpdGhtOiAoKSA9PiB2b2lkIHwgUHJvbWlzZUxpa2U8dm9pZD47XG4gIGxldCBwdWxsQWxnb3JpdGhtOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBsZXQgY2FuY2VsQWxnb3JpdGhtOiAocmVhc29uOiBhbnkpID0+IFByb21pc2U8dm9pZD47XG5cbiAgaWYgKHVuZGVybHlpbmdCeXRlU291cmNlLnN0YXJ0ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzdGFydEFsZ29yaXRobSA9ICgpID0+IHVuZGVybHlpbmdCeXRlU291cmNlLnN0YXJ0IShjb250cm9sbGVyKTtcbiAgfSBlbHNlIHtcbiAgICBzdGFydEFsZ29yaXRobSA9ICgpID0+IHVuZGVmaW5lZDtcbiAgfVxuICBpZiAodW5kZXJseWluZ0J5dGVTb3VyY2UucHVsbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcHVsbEFsZ29yaXRobSA9ICgpID0+IHVuZGVybHlpbmdCeXRlU291cmNlLnB1bGwhKGNvbnRyb2xsZXIpO1xuICB9IGVsc2Uge1xuICAgIHB1bGxBbGdvcml0aG0gPSAoKSA9PiBwcm9taXNlUmVzb2x2ZWRXaXRoKHVuZGVmaW5lZCk7XG4gIH1cbiAgaWYgKHVuZGVybHlpbmdCeXRlU291cmNlLmNhbmNlbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2FuY2VsQWxnb3JpdGhtID0gcmVhc29uID0+IHVuZGVybHlpbmdCeXRlU291cmNlLmNhbmNlbCEocmVhc29uKTtcbiAgfSBlbHNlIHtcbiAgICBjYW5jZWxBbGdvcml0aG0gPSAoKSA9PiBwcm9taXNlUmVzb2x2ZWRXaXRoKHVuZGVmaW5lZCk7XG4gIH1cblxuICBjb25zdCBhdXRvQWxsb2NhdGVDaHVua1NpemUgPSB1bmRlcmx5aW5nQnl0ZVNvdXJjZS5hdXRvQWxsb2NhdGVDaHVua1NpemU7XG4gIGlmIChhdXRvQWxsb2NhdGVDaHVua1NpemUgPT09IDApIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdhdXRvQWxsb2NhdGVDaHVua1NpemUgbXVzdCBiZSBncmVhdGVyIHRoYW4gMCcpO1xuICB9XG5cbiAgU2V0VXBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKFxuICAgIHN0cmVhbSwgY29udHJvbGxlciwgc3RhcnRBbGdvcml0aG0sIHB1bGxBbGdvcml0aG0sIGNhbmNlbEFsZ29yaXRobSwgaGlnaFdhdGVyTWFyaywgYXV0b0FsbG9jYXRlQ2h1bmtTaXplXG4gICk7XG59XG5cbmZ1bmN0aW9uIFNldFVwUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdChyZXF1ZXN0OiBSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xsZXI6IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlldzogTm9uU2hhcmVkPEFycmF5QnVmZmVyVmlldz4pIHtcbiAgYXNzZXJ0KElzUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcihjb250cm9sbGVyKSk7XG4gIGFzc2VydCh0eXBlb2YgdmlldyA9PT0gJ29iamVjdCcpO1xuICBhc3NlcnQoQXJyYXlCdWZmZXIuaXNWaWV3KHZpZXcpKTtcbiAgYXNzZXJ0KCFJc0RldGFjaGVkQnVmZmVyKHZpZXcuYnVmZmVyKSk7XG4gIHJlcXVlc3QuX2Fzc29jaWF0ZWRSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyID0gY29udHJvbGxlcjtcbiAgcmVxdWVzdC5fdmlldyA9IHZpZXc7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbnMgZm9yIHRoZSBSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0LlxuXG5mdW5jdGlvbiBieW9iUmVxdWVzdEJyYW5kQ2hlY2tFeGNlcHRpb24obmFtZTogc3RyaW5nKTogVHlwZUVycm9yIHtcbiAgcmV0dXJuIG5ldyBUeXBlRXJyb3IoXG4gICAgYFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QucHJvdG90eXBlLiR7bmFtZX0gY2FuIG9ubHkgYmUgdXNlZCBvbiBhIFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3RgKTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9ucyBmb3IgdGhlIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIuXG5cbmZ1bmN0aW9uIGJ5dGVTdHJlYW1Db250cm9sbGVyQnJhbmRDaGVja0V4Y2VwdGlvbihuYW1lOiBzdHJpbmcpOiBUeXBlRXJyb3Ige1xuICByZXR1cm4gbmV3IFR5cGVFcnJvcihcbiAgICBgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5wcm90b3R5cGUuJHtuYW1lfSBjYW4gb25seSBiZSB1c2VkIG9uIGEgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcmApO1xufVxuIiwgImltcG9ydCB7IGFzc2VydERpY3Rpb25hcnksIGNvbnZlcnRVbnNpZ25lZExvbmdMb25nV2l0aEVuZm9yY2VSYW5nZSB9IGZyb20gJy4vYmFzaWMnO1xuaW1wb3J0IHR5cGUge1xuICBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJSZWFkT3B0aW9ucyxcbiAgUmVhZGFibGVTdHJlYW1HZXRSZWFkZXJPcHRpb25zLFxuICBWYWxpZGF0ZWRSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJSZWFkT3B0aW9uc1xufSBmcm9tICcuLi9yZWFkYWJsZS1zdHJlYW0vcmVhZGVyLW9wdGlvbnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFJlYWRlck9wdGlvbnMob3B0aW9uczogUmVhZGFibGVTdHJlYW1HZXRSZWFkZXJPcHRpb25zIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBzdHJpbmcpOiBSZWFkYWJsZVN0cmVhbUdldFJlYWRlck9wdGlvbnMge1xuICBhc3NlcnREaWN0aW9uYXJ5KG9wdGlvbnMsIGNvbnRleHQpO1xuICBjb25zdCBtb2RlID0gb3B0aW9ucz8ubW9kZTtcbiAgcmV0dXJuIHtcbiAgICBtb2RlOiBtb2RlID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiBjb252ZXJ0UmVhZGFibGVTdHJlYW1SZWFkZXJNb2RlKG1vZGUsIGAke2NvbnRleHR9IGhhcyBtZW1iZXIgJ21vZGUnIHRoYXRgKVxuICB9O1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0UmVhZGFibGVTdHJlYW1SZWFkZXJNb2RlKG1vZGU6IHN0cmluZywgY29udGV4dDogc3RyaW5nKTogJ2J5b2InIHtcbiAgbW9kZSA9IGAke21vZGV9YDtcbiAgaWYgKG1vZGUgIT09ICdieW9iJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYCR7Y29udGV4dH0gJyR7bW9kZX0nIGlzIG5vdCBhIHZhbGlkIGVudW1lcmF0aW9uIHZhbHVlIGZvciBSZWFkYWJsZVN0cmVhbVJlYWRlck1vZGVgKTtcbiAgfVxuICByZXR1cm4gbW9kZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRCeW9iUmVhZE9wdGlvbnMoXG4gIG9wdGlvbnM6IFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlclJlYWRPcHRpb25zIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgY29udGV4dDogc3RyaW5nXG4pOiBWYWxpZGF0ZWRSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJSZWFkT3B0aW9ucyB7XG4gIGFzc2VydERpY3Rpb25hcnkob3B0aW9ucywgY29udGV4dCk7XG4gIGNvbnN0IG1pbiA9IG9wdGlvbnM/Lm1pbiA/PyAxO1xuICByZXR1cm4ge1xuICAgIG1pbjogY29udmVydFVuc2lnbmVkTG9uZ0xvbmdXaXRoRW5mb3JjZVJhbmdlKFxuICAgICAgbWluLFxuICAgICAgYCR7Y29udGV4dH0gaGFzIG1lbWJlciAnbWluJyB0aGF0YFxuICAgIClcbiAgfTtcbn1cbiIsICJpbXBvcnQgYXNzZXJ0IGZyb20gJy4uLy4uL3N0dWIvYXNzZXJ0JztcbmltcG9ydCB7IFNpbXBsZVF1ZXVlIH0gZnJvbSAnLi4vc2ltcGxlLXF1ZXVlJztcbmltcG9ydCB7XG4gIFJlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJpY0NhbmNlbCxcbiAgUmVhZGFibGVTdHJlYW1SZWFkZXJHZW5lcmljSW5pdGlhbGl6ZSxcbiAgUmVhZGFibGVTdHJlYW1SZWFkZXJHZW5lcmljUmVsZWFzZSxcbiAgcmVhZGVyTG9ja0V4Y2VwdGlvblxufSBmcm9tICcuL2dlbmVyaWMtcmVhZGVyJztcbmltcG9ydCB7IElzUmVhZGFibGVTdHJlYW1Mb2NrZWQsIHR5cGUgUmVhZGFibGVCeXRlU3RyZWFtLCB0eXBlIFJlYWRhYmxlU3RyZWFtIH0gZnJvbSAnLi4vcmVhZGFibGUtc3RyZWFtJztcbmltcG9ydCB7XG4gIElzUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcixcbiAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcixcbiAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclB1bGxJbnRvXG59IGZyb20gJy4vYnl0ZS1zdHJlYW0tY29udHJvbGxlcic7XG5pbXBvcnQgeyBzZXRGdW5jdGlvbk5hbWUsIHR5cGVJc09iamVjdCB9IGZyb20gJy4uL2hlbHBlcnMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgeyBuZXdQcm9taXNlLCBwcm9taXNlUmVqZWN0ZWRXaXRoIH0gZnJvbSAnLi4vaGVscGVycy93ZWJpZGwnO1xuaW1wb3J0IHsgYXNzZXJ0UmVxdWlyZWRBcmd1bWVudCB9IGZyb20gJy4uL3ZhbGlkYXRvcnMvYmFzaWMnO1xuaW1wb3J0IHsgYXNzZXJ0UmVhZGFibGVTdHJlYW0gfSBmcm9tICcuLi92YWxpZGF0b3JzL3JlYWRhYmxlLXN0cmVhbSc7XG5pbXBvcnQgeyBJc0RldGFjaGVkQnVmZmVyIH0gZnJvbSAnLi4vYWJzdHJhY3Qtb3BzL2VjbWFzY3JpcHQnO1xuaW1wb3J0IHR5cGUge1xuICBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJSZWFkT3B0aW9ucyxcbiAgVmFsaWRhdGVkUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUmVhZE9wdGlvbnNcbn0gZnJvbSAnLi9yZWFkZXItb3B0aW9ucyc7XG5pbXBvcnQgeyBjb252ZXJ0QnlvYlJlYWRPcHRpb25zIH0gZnJvbSAnLi4vdmFsaWRhdG9ycy9yZWFkZXItb3B0aW9ucyc7XG5pbXBvcnQgeyBpc0RhdGFWaWV3LCB0eXBlIE5vblNoYXJlZCwgdHlwZSBUeXBlZEFycmF5IH0gZnJvbSAnLi4vaGVscGVycy9hcnJheS1idWZmZXItdmlldyc7XG5cbi8qKlxuICogQSByZXN1bHQgcmV0dXJuZWQgYnkge0BsaW5rIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5yZWFkfS5cbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCB0eXBlIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRSZXN1bHQ8VCBleHRlbmRzIEFycmF5QnVmZmVyVmlldz4gPSB7XG4gIGRvbmU6IGZhbHNlO1xuICB2YWx1ZTogVDtcbn0gfCB7XG4gIGRvbmU6IHRydWU7XG4gIHZhbHVlOiBUIHwgdW5kZWZpbmVkO1xufTtcblxuLy8gQWJzdHJhY3Qgb3BlcmF0aW9ucyBmb3IgdGhlIFJlYWRhYmxlU3RyZWFtLlxuXG5leHBvcnQgZnVuY3Rpb24gQWNxdWlyZVJlYWRhYmxlU3RyZWFtQllPQlJlYWRlcihzdHJlYW06IFJlYWRhYmxlQnl0ZVN0cmVhbSk6IFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlciB7XG4gIHJldHVybiBuZXcgUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyKHN0cmVhbSBhcyBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5Pik7XG59XG5cbi8vIFJlYWRhYmxlU3RyZWFtIEFQSSBleHBvc2VkIGZvciBjb250cm9sbGVycy5cblxuZXhwb3J0IGZ1bmN0aW9uIFJlYWRhYmxlU3RyZWFtQWRkUmVhZEludG9SZXF1ZXN0PFQgZXh0ZW5kcyBOb25TaGFyZWQ8QXJyYXlCdWZmZXJWaWV3Pj4oXG4gIHN0cmVhbTogUmVhZGFibGVCeXRlU3RyZWFtLFxuICByZWFkSW50b1JlcXVlc3Q6IFJlYWRJbnRvUmVxdWVzdDxUPlxuKTogdm9pZCB7XG4gIGFzc2VydChJc1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlcihzdHJlYW0uX3JlYWRlcikpO1xuICBhc3NlcnQoc3RyZWFtLl9zdGF0ZSA9PT0gJ3JlYWRhYmxlJyB8fCBzdHJlYW0uX3N0YXRlID09PSAnY2xvc2VkJyk7XG5cbiAgKHN0cmVhbS5fcmVhZGVyISBhcyBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIpLl9yZWFkSW50b1JlcXVlc3RzLnB1c2gocmVhZEludG9SZXF1ZXN0KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJlYWRhYmxlU3RyZWFtRnVsZmlsbFJlYWRJbnRvUmVxdWVzdChzdHJlYW06IFJlYWRhYmxlQnl0ZVN0cmVhbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2h1bms6IEFycmF5QnVmZmVyVmlldyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9uZTogYm9vbGVhbikge1xuICBjb25zdCByZWFkZXIgPSBzdHJlYW0uX3JlYWRlciBhcyBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXI7XG5cbiAgYXNzZXJ0KHJlYWRlci5fcmVhZEludG9SZXF1ZXN0cy5sZW5ndGggPiAwKTtcblxuICBjb25zdCByZWFkSW50b1JlcXVlc3QgPSByZWFkZXIuX3JlYWRJbnRvUmVxdWVzdHMuc2hpZnQoKSE7XG4gIGlmIChkb25lKSB7XG4gICAgcmVhZEludG9SZXF1ZXN0Ll9jbG9zZVN0ZXBzKGNodW5rKTtcbiAgfSBlbHNlIHtcbiAgICByZWFkSW50b1JlcXVlc3QuX2NodW5rU3RlcHMoY2h1bmspO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSZWFkYWJsZVN0cmVhbUdldE51bVJlYWRJbnRvUmVxdWVzdHMoc3RyZWFtOiBSZWFkYWJsZUJ5dGVTdHJlYW0pOiBudW1iZXIge1xuICByZXR1cm4gKHN0cmVhbS5fcmVhZGVyIGFzIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlcikuX3JlYWRJbnRvUmVxdWVzdHMubGVuZ3RoO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVhZGFibGVTdHJlYW1IYXNCWU9CUmVhZGVyKHN0cmVhbTogUmVhZGFibGVCeXRlU3RyZWFtKTogYm9vbGVhbiB7XG4gIGNvbnN0IHJlYWRlciA9IHN0cmVhbS5fcmVhZGVyO1xuXG4gIGlmIChyZWFkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghSXNSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIocmVhZGVyKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG4vLyBSZWFkZXJzXG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVhZEludG9SZXF1ZXN0PFQgZXh0ZW5kcyBOb25TaGFyZWQ8QXJyYXlCdWZmZXJWaWV3Pj4ge1xuICBfY2h1bmtTdGVwcyhjaHVuazogVCk6IHZvaWQ7XG5cbiAgX2Nsb3NlU3RlcHMoY2h1bms6IFQgfCB1bmRlZmluZWQpOiB2b2lkO1xuXG4gIF9lcnJvclN0ZXBzKGU6IGFueSk6IHZvaWQ7XG59XG5cbi8qKlxuICogQSBCWU9CIHJlYWRlciB2ZW5kZWQgYnkgYSB7QGxpbmsgUmVhZGFibGVTdHJlYW19LlxuICpcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlciB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX293bmVyUmVhZGFibGVTdHJlYW0hOiBSZWFkYWJsZUJ5dGVTdHJlYW07XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2Nsb3NlZFByb21pc2UhOiBQcm9taXNlPHVuZGVmaW5lZD47XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2Nsb3NlZFByb21pc2VfcmVzb2x2ZT86ICh2YWx1ZT86IHVuZGVmaW5lZCkgPT4gdm9pZDtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfY2xvc2VkUHJvbWlzZV9yZWplY3Q/OiAocmVhc29uOiBhbnkpID0+IHZvaWQ7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3JlYWRJbnRvUmVxdWVzdHM6IFNpbXBsZVF1ZXVlPFJlYWRJbnRvUmVxdWVzdDxhbnk+PjtcblxuICBjb25zdHJ1Y3RvcihzdHJlYW06IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+KSB7XG4gICAgYXNzZXJ0UmVxdWlyZWRBcmd1bWVudChzdHJlYW0sIDEsICdSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXInKTtcbiAgICBhc3NlcnRSZWFkYWJsZVN0cmVhbShzdHJlYW0sICdGaXJzdCBwYXJhbWV0ZXInKTtcblxuICAgIGlmIChJc1JlYWRhYmxlU3RyZWFtTG9ja2VkKHN0cmVhbSkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoaXMgc3RyZWFtIGhhcyBhbHJlYWR5IGJlZW4gbG9ja2VkIGZvciBleGNsdXNpdmUgcmVhZGluZyBieSBhbm90aGVyIHJlYWRlcicpO1xuICAgIH1cblxuICAgIGlmICghSXNSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyKHN0cmVhbS5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQ2Fubm90IGNvbnN0cnVjdCBhIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlciBmb3IgYSBzdHJlYW0gbm90IGNvbnN0cnVjdGVkIHdpdGggYSBieXRlICcgK1xuICAgICAgICAnc291cmNlJyk7XG4gICAgfVxuXG4gICAgUmVhZGFibGVTdHJlYW1SZWFkZXJHZW5lcmljSW5pdGlhbGl6ZSh0aGlzLCBzdHJlYW0pO1xuXG4gICAgdGhpcy5fcmVhZEludG9SZXF1ZXN0cyA9IG5ldyBTaW1wbGVRdWV1ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBwcm9taXNlIHRoYXQgd2lsbCBiZSBmdWxmaWxsZWQgd2hlbiB0aGUgc3RyZWFtIGJlY29tZXMgY2xvc2VkLCBvciByZWplY3RlZCBpZiB0aGUgc3RyZWFtIGV2ZXIgZXJyb3JzIG9yXG4gICAqIHRoZSByZWFkZXIncyBsb2NrIGlzIHJlbGVhc2VkIGJlZm9yZSB0aGUgc3RyZWFtIGZpbmlzaGVzIGNsb3NpbmcuXG4gICAqL1xuICBnZXQgY2xvc2VkKCk6IFByb21pc2U8dW5kZWZpbmVkPiB7XG4gICAgaWYgKCFJc1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlcih0aGlzKSkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgoYnlvYlJlYWRlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ2Nsb3NlZCcpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fY2xvc2VkUHJvbWlzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgcmVhZGVyIGlzIGFjdGl2ZSwgYmVoYXZlcyB0aGUgc2FtZSBhcyB7QGxpbmsgUmVhZGFibGVTdHJlYW0uY2FuY2VsIHwgc3RyZWFtLmNhbmNlbChyZWFzb24pfS5cbiAgICovXG4gIGNhbmNlbChyZWFzb246IGFueSA9IHVuZGVmaW5lZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghSXNSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIodGhpcykpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKGJ5b2JSZWFkZXJCcmFuZENoZWNrRXhjZXB0aW9uKCdjYW5jZWwnKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX293bmVyUmVhZGFibGVTdHJlYW0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgocmVhZGVyTG9ja0V4Y2VwdGlvbignY2FuY2VsJykpO1xuICAgIH1cblxuICAgIHJldHVybiBSZWFkYWJsZVN0cmVhbVJlYWRlckdlbmVyaWNDYW5jZWwodGhpcywgcmVhc29uKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRlbXB0cyB0byByZWFkcyBieXRlcyBpbnRvIHZpZXcsIGFuZCByZXR1cm5zIGEgcHJvbWlzZSByZXNvbHZlZCB3aXRoIHRoZSByZXN1bHQuXG4gICAqXG4gICAqIElmIHJlYWRpbmcgYSBjaHVuayBjYXVzZXMgdGhlIHF1ZXVlIHRvIGJlY29tZSBlbXB0eSwgbW9yZSBkYXRhIHdpbGwgYmUgcHVsbGVkIGZyb20gdGhlIHVuZGVybHlpbmcgc291cmNlLlxuICAgKi9cbiAgcmVhZDxUIGV4dGVuZHMgQXJyYXlCdWZmZXJWaWV3PihcbiAgICB2aWV3OiBULFxuICAgIG9wdGlvbnM/OiBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJSZWFkT3B0aW9uc1xuICApOiBQcm9taXNlPFJlYWRhYmxlU3RyZWFtQllPQlJlYWRSZXN1bHQ8VD4+O1xuICByZWFkPFQgZXh0ZW5kcyBOb25TaGFyZWQ8QXJyYXlCdWZmZXJWaWV3Pj4oXG4gICAgdmlldzogVCxcbiAgICByYXdPcHRpb25zOiBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJSZWFkT3B0aW9ucyB8IG51bGwgfCB1bmRlZmluZWQgPSB7fVxuICApOiBQcm9taXNlPFJlYWRhYmxlU3RyZWFtQllPQlJlYWRSZXN1bHQ8VD4+IHtcbiAgICBpZiAoIUlzUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyKHRoaXMpKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChieW9iUmVhZGVyQnJhbmRDaGVja0V4Y2VwdGlvbigncmVhZCcpKTtcbiAgICB9XG5cbiAgICBpZiAoIUFycmF5QnVmZmVyLmlzVmlldyh2aWV3KSkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgobmV3IFR5cGVFcnJvcigndmlldyBtdXN0IGJlIGFuIGFycmF5IGJ1ZmZlciB2aWV3JykpO1xuICAgIH1cbiAgICBpZiAodmlldy5ieXRlTGVuZ3RoID09PSAwKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChuZXcgVHlwZUVycm9yKCd2aWV3IG11c3QgaGF2ZSBub24temVybyBieXRlTGVuZ3RoJykpO1xuICAgIH1cbiAgICBpZiAodmlldy5idWZmZXIuYnl0ZUxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgobmV3IFR5cGVFcnJvcihgdmlldydzIGJ1ZmZlciBtdXN0IGhhdmUgbm9uLXplcm8gYnl0ZUxlbmd0aGApKTtcbiAgICB9XG4gICAgaWYgKElzRGV0YWNoZWRCdWZmZXIodmlldy5idWZmZXIpKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChuZXcgVHlwZUVycm9yKCd2aWV3XFwncyBidWZmZXIgaGFzIGJlZW4gZGV0YWNoZWQnKSk7XG4gICAgfVxuXG4gICAgbGV0IG9wdGlvbnM6IFZhbGlkYXRlZFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlclJlYWRPcHRpb25zO1xuICAgIHRyeSB7XG4gICAgICBvcHRpb25zID0gY29udmVydEJ5b2JSZWFkT3B0aW9ucyhyYXdPcHRpb25zLCAnb3B0aW9ucycpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKGUpO1xuICAgIH1cbiAgICBjb25zdCBtaW4gPSBvcHRpb25zLm1pbjtcbiAgICBpZiAobWluID09PSAwKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChuZXcgVHlwZUVycm9yKCdvcHRpb25zLm1pbiBtdXN0IGJlIGdyZWF0ZXIgdGhhbiAwJykpO1xuICAgIH1cbiAgICBpZiAoIWlzRGF0YVZpZXcodmlldykpIHtcbiAgICAgIGlmIChtaW4gPiAodmlldyBhcyB1bmtub3duIGFzIFR5cGVkQXJyYXkpLmxlbmd0aCkge1xuICAgICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChuZXcgUmFuZ2VFcnJvcignb3B0aW9ucy5taW4gbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdmlld1xcJ3MgbGVuZ3RoJykpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobWluID4gdmlldy5ieXRlTGVuZ3RoKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChuZXcgUmFuZ2VFcnJvcignb3B0aW9ucy5taW4gbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gdmlld1xcJ3MgYnl0ZUxlbmd0aCcpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fb3duZXJSZWFkYWJsZVN0cmVhbSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChyZWFkZXJMb2NrRXhjZXB0aW9uKCdyZWFkIGZyb20nKSk7XG4gICAgfVxuXG4gICAgbGV0IHJlc29sdmVQcm9taXNlITogKHJlc3VsdDogUmVhZGFibGVTdHJlYW1CWU9CUmVhZFJlc3VsdDxUPikgPT4gdm9pZDtcbiAgICBsZXQgcmVqZWN0UHJvbWlzZSE6IChyZWFzb246IGFueSkgPT4gdm9pZDtcbiAgICBjb25zdCBwcm9taXNlID0gbmV3UHJvbWlzZTxSZWFkYWJsZVN0cmVhbUJZT0JSZWFkUmVzdWx0PFQ+PigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICByZXNvbHZlUHJvbWlzZSA9IHJlc29sdmU7XG4gICAgICByZWplY3RQcm9taXNlID0gcmVqZWN0O1xuICAgIH0pO1xuICAgIGNvbnN0IHJlYWRJbnRvUmVxdWVzdDogUmVhZEludG9SZXF1ZXN0PFQ+ID0ge1xuICAgICAgX2NodW5rU3RlcHM6IGNodW5rID0+IHJlc29sdmVQcm9taXNlKHsgdmFsdWU6IGNodW5rLCBkb25lOiBmYWxzZSB9KSxcbiAgICAgIF9jbG9zZVN0ZXBzOiBjaHVuayA9PiByZXNvbHZlUHJvbWlzZSh7IHZhbHVlOiBjaHVuaywgZG9uZTogdHJ1ZSB9KSxcbiAgICAgIF9lcnJvclN0ZXBzOiBlID0+IHJlamVjdFByb21pc2UoZSlcbiAgICB9O1xuICAgIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlclJlYWQodGhpcywgdmlldywgbWluLCByZWFkSW50b1JlcXVlc3QpO1xuICAgIHJldHVybiBwcm9taXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbGVhc2VzIHRoZSByZWFkZXIncyBsb2NrIG9uIHRoZSBjb3JyZXNwb25kaW5nIHN0cmVhbS4gQWZ0ZXIgdGhlIGxvY2sgaXMgcmVsZWFzZWQsIHRoZSByZWFkZXIgaXMgbm8gbG9uZ2VyIGFjdGl2ZS5cbiAgICogSWYgdGhlIGFzc29jaWF0ZWQgc3RyZWFtIGlzIGVycm9yZWQgd2hlbiB0aGUgbG9jayBpcyByZWxlYXNlZCwgdGhlIHJlYWRlciB3aWxsIGFwcGVhciBlcnJvcmVkIGluIHRoZSBzYW1lIHdheVxuICAgKiBmcm9tIG5vdyBvbjsgb3RoZXJ3aXNlLCB0aGUgcmVhZGVyIHdpbGwgYXBwZWFyIGNsb3NlZC5cbiAgICpcbiAgICogQSByZWFkZXIncyBsb2NrIGNhbm5vdCBiZSByZWxlYXNlZCB3aGlsZSBpdCBzdGlsbCBoYXMgYSBwZW5kaW5nIHJlYWQgcmVxdWVzdCwgaS5lLiwgaWYgYSBwcm9taXNlIHJldHVybmVkIGJ5XG4gICAqIHRoZSByZWFkZXIncyB7QGxpbmsgUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyLnJlYWQgfCByZWFkKCl9IG1ldGhvZCBoYXMgbm90IHlldCBiZWVuIHNldHRsZWQuIEF0dGVtcHRpbmcgdG9cbiAgICogZG8gc28gd2lsbCB0aHJvdyBhIGBUeXBlRXJyb3JgIGFuZCBsZWF2ZSB0aGUgcmVhZGVyIGxvY2tlZCB0byB0aGUgc3RyZWFtLlxuICAgKi9cbiAgcmVsZWFzZUxvY2soKTogdm9pZCB7XG4gICAgaWYgKCFJc1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlcih0aGlzKSkge1xuICAgICAgdGhyb3cgYnlvYlJlYWRlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ3JlbGVhc2VMb2NrJyk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX293bmVyUmVhZGFibGVTdHJlYW0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlclJlbGVhc2UodGhpcyk7XG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyLnByb3RvdHlwZSwge1xuICBjYW5jZWw6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuICByZWFkOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgcmVsZWFzZUxvY2s6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuICBjbG9zZWQ6IHsgZW51bWVyYWJsZTogdHJ1ZSB9XG59KTtcbnNldEZ1bmN0aW9uTmFtZShSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIucHJvdG90eXBlLmNhbmNlbCwgJ2NhbmNlbCcpO1xuc2V0RnVuY3Rpb25OYW1lKFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5wcm90b3R5cGUucmVhZCwgJ3JlYWQnKTtcbnNldEZ1bmN0aW9uTmFtZShSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIucHJvdG90eXBlLnJlbGVhc2VMb2NrLCAncmVsZWFzZUxvY2snKTtcbmlmICh0eXBlb2YgU3ltYm9sLnRvU3RyaW5nVGFnID09PSAnc3ltYm9sJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyLnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7XG4gICAgdmFsdWU6ICdSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXInLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KTtcbn1cblxuLy8gQWJzdHJhY3Qgb3BlcmF0aW9ucyBmb3IgdGhlIHJlYWRlcnMuXG5cbmV4cG9ydCBmdW5jdGlvbiBJc1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlcih4OiBhbnkpOiB4IGlzIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlciB7XG4gIGlmICghdHlwZUlzT2JqZWN0KHgpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoeCwgJ19yZWFkSW50b1JlcXVlc3RzJykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4geCBpbnN0YW5jZW9mIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlclJlYWQ8VCBleHRlbmRzIE5vblNoYXJlZDxBcnJheUJ1ZmZlclZpZXc+PihcbiAgcmVhZGVyOiBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIsXG4gIHZpZXc6IFQsXG4gIG1pbjogbnVtYmVyLFxuICByZWFkSW50b1JlcXVlc3Q6IFJlYWRJbnRvUmVxdWVzdDxUPlxuKTogdm9pZCB7XG4gIGNvbnN0IHN0cmVhbSA9IHJlYWRlci5fb3duZXJSZWFkYWJsZVN0cmVhbTtcblxuICBhc3NlcnQoc3RyZWFtICE9PSB1bmRlZmluZWQpO1xuXG4gIHN0cmVhbS5fZGlzdHVyYmVkID0gdHJ1ZTtcblxuICBpZiAoc3RyZWFtLl9zdGF0ZSA9PT0gJ2Vycm9yZWQnKSB7XG4gICAgcmVhZEludG9SZXF1ZXN0Ll9lcnJvclN0ZXBzKHN0cmVhbS5fc3RvcmVkRXJyb3IpO1xuICB9IGVsc2Uge1xuICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJQdWxsSW50byhcbiAgICAgIHN0cmVhbS5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyIGFzIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIsXG4gICAgICB2aWV3LFxuICAgICAgbWluLFxuICAgICAgcmVhZEludG9SZXF1ZXN0XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUmVsZWFzZShyZWFkZXI6IFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlcikge1xuICBSZWFkYWJsZVN0cmVhbVJlYWRlckdlbmVyaWNSZWxlYXNlKHJlYWRlcik7XG4gIGNvbnN0IGUgPSBuZXcgVHlwZUVycm9yKCdSZWFkZXIgd2FzIHJlbGVhc2VkJyk7XG4gIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlckVycm9yUmVhZEludG9SZXF1ZXN0cyhyZWFkZXIsIGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyRXJyb3JSZWFkSW50b1JlcXVlc3RzKHJlYWRlcjogUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyLCBlOiBhbnkpIHtcbiAgY29uc3QgcmVhZEludG9SZXF1ZXN0cyA9IHJlYWRlci5fcmVhZEludG9SZXF1ZXN0cztcbiAgcmVhZGVyLl9yZWFkSW50b1JlcXVlc3RzID0gbmV3IFNpbXBsZVF1ZXVlKCk7XG4gIHJlYWRJbnRvUmVxdWVzdHMuZm9yRWFjaChyZWFkSW50b1JlcXVlc3QgPT4ge1xuICAgIHJlYWRJbnRvUmVxdWVzdC5fZXJyb3JTdGVwcyhlKTtcbiAgfSk7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbnMgZm9yIHRoZSBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIuXG5cbmZ1bmN0aW9uIGJ5b2JSZWFkZXJCcmFuZENoZWNrRXhjZXB0aW9uKG5hbWU6IHN0cmluZyk6IFR5cGVFcnJvciB7XG4gIHJldHVybiBuZXcgVHlwZUVycm9yKFxuICAgIGBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIucHJvdG90eXBlLiR7bmFtZX0gY2FuIG9ubHkgYmUgdXNlZCBvbiBhIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlcmApO1xufVxuIiwgImltcG9ydCB0eXBlIHsgUXVldWluZ1N0cmF0ZWd5LCBRdWV1aW5nU3RyYXRlZ3lTaXplQ2FsbGJhY2sgfSBmcm9tICcuLi9xdWV1aW5nLXN0cmF0ZWd5JztcbmltcG9ydCBOdW1iZXJJc05hTiBmcm9tICcuLi8uLi9zdHViL251bWJlci1pc25hbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBFeHRyYWN0SGlnaFdhdGVyTWFyayhzdHJhdGVneTogUXVldWluZ1N0cmF0ZWd5LCBkZWZhdWx0SFdNOiBudW1iZXIpOiBudW1iZXIge1xuICBjb25zdCB7IGhpZ2hXYXRlck1hcmsgfSA9IHN0cmF0ZWd5O1xuXG4gIGlmIChoaWdoV2F0ZXJNYXJrID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZGVmYXVsdEhXTTtcbiAgfVxuXG4gIGlmIChOdW1iZXJJc05hTihoaWdoV2F0ZXJNYXJrKSB8fCBoaWdoV2F0ZXJNYXJrIDwgMCkge1xuICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbnZhbGlkIGhpZ2hXYXRlck1hcmsnKTtcbiAgfVxuXG4gIHJldHVybiBoaWdoV2F0ZXJNYXJrO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gRXh0cmFjdFNpemVBbGdvcml0aG08VD4oc3RyYXRlZ3k6IFF1ZXVpbmdTdHJhdGVneTxUPik6IFF1ZXVpbmdTdHJhdGVneVNpemVDYWxsYmFjazxUPiB7XG4gIGNvbnN0IHsgc2l6ZSB9ID0gc3RyYXRlZ3k7XG5cbiAgaWYgKCFzaXplKSB7XG4gICAgcmV0dXJuICgpID0+IDE7XG4gIH1cblxuICByZXR1cm4gc2l6ZTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IFF1ZXVpbmdTdHJhdGVneSwgUXVldWluZ1N0cmF0ZWd5U2l6ZUNhbGxiYWNrIH0gZnJvbSAnLi4vcXVldWluZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBhc3NlcnREaWN0aW9uYXJ5LCBhc3NlcnRGdW5jdGlvbiwgY29udmVydFVucmVzdHJpY3RlZERvdWJsZSB9IGZyb20gJy4vYmFzaWMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY29udmVydFF1ZXVpbmdTdHJhdGVneTxUPihpbml0OiBRdWV1aW5nU3RyYXRlZ3k8VD4gfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogc3RyaW5nKTogUXVldWluZ1N0cmF0ZWd5PFQ+IHtcbiAgYXNzZXJ0RGljdGlvbmFyeShpbml0LCBjb250ZXh0KTtcbiAgY29uc3QgaGlnaFdhdGVyTWFyayA9IGluaXQ/LmhpZ2hXYXRlck1hcms7XG4gIGNvbnN0IHNpemUgPSBpbml0Py5zaXplO1xuICByZXR1cm4ge1xuICAgIGhpZ2hXYXRlck1hcms6IGhpZ2hXYXRlck1hcmsgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IGNvbnZlcnRVbnJlc3RyaWN0ZWREb3VibGUoaGlnaFdhdGVyTWFyayksXG4gICAgc2l6ZTogc2l6ZSA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogY29udmVydFF1ZXVpbmdTdHJhdGVneVNpemUoc2l6ZSwgYCR7Y29udGV4dH0gaGFzIG1lbWJlciAnc2l6ZScgdGhhdGApXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRRdWV1aW5nU3RyYXRlZ3lTaXplPFQ+KGZuOiBRdWV1aW5nU3RyYXRlZ3lTaXplQ2FsbGJhY2s8VD4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBzdHJpbmcpOiBRdWV1aW5nU3RyYXRlZ3lTaXplQ2FsbGJhY2s8VD4ge1xuICBhc3NlcnRGdW5jdGlvbihmbiwgY29udGV4dCk7XG4gIHJldHVybiBjaHVuayA9PiBjb252ZXJ0VW5yZXN0cmljdGVkRG91YmxlKGZuKGNodW5rKSk7XG59XG4iLCAiaW1wb3J0IHsgYXNzZXJ0RGljdGlvbmFyeSwgYXNzZXJ0RnVuY3Rpb24gfSBmcm9tICcuL2Jhc2ljJztcbmltcG9ydCB7IHByb21pc2VDYWxsLCByZWZsZWN0Q2FsbCB9IGZyb20gJy4uL2hlbHBlcnMvd2ViaWRsJztcbmltcG9ydCB0eXBlIHtcbiAgVW5kZXJseWluZ1NpbmssXG4gIFVuZGVybHlpbmdTaW5rQWJvcnRDYWxsYmFjayxcbiAgVW5kZXJseWluZ1NpbmtDbG9zZUNhbGxiYWNrLFxuICBVbmRlcmx5aW5nU2lua1N0YXJ0Q2FsbGJhY2ssXG4gIFVuZGVybHlpbmdTaW5rV3JpdGVDYWxsYmFjayxcbiAgVmFsaWRhdGVkVW5kZXJseWluZ1Npbmtcbn0gZnJvbSAnLi4vd3JpdGFibGUtc3RyZWFtL3VuZGVybHlpbmctc2luayc7XG5pbXBvcnQgeyBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyIH0gZnJvbSAnLi4vd3JpdGFibGUtc3RyZWFtJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRVbmRlcmx5aW5nU2luazxXPihvcmlnaW5hbDogVW5kZXJseWluZ1Npbms8Vz4gfCBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBzdHJpbmcpOiBWYWxpZGF0ZWRVbmRlcmx5aW5nU2luazxXPiB7XG4gIGFzc2VydERpY3Rpb25hcnkob3JpZ2luYWwsIGNvbnRleHQpO1xuICBjb25zdCBhYm9ydCA9IG9yaWdpbmFsPy5hYm9ydDtcbiAgY29uc3QgY2xvc2UgPSBvcmlnaW5hbD8uY2xvc2U7XG4gIGNvbnN0IHN0YXJ0ID0gb3JpZ2luYWw/LnN0YXJ0O1xuICBjb25zdCB0eXBlID0gb3JpZ2luYWw/LnR5cGU7XG4gIGNvbnN0IHdyaXRlID0gb3JpZ2luYWw/LndyaXRlO1xuICByZXR1cm4ge1xuICAgIGFib3J0OiBhYm9ydCA9PT0gdW5kZWZpbmVkID9cbiAgICAgIHVuZGVmaW5lZCA6XG4gICAgICBjb252ZXJ0VW5kZXJseWluZ1NpbmtBYm9ydENhbGxiYWNrKGFib3J0LCBvcmlnaW5hbCEsIGAke2NvbnRleHR9IGhhcyBtZW1iZXIgJ2Fib3J0JyB0aGF0YCksXG4gICAgY2xvc2U6IGNsb3NlID09PSB1bmRlZmluZWQgP1xuICAgICAgdW5kZWZpbmVkIDpcbiAgICAgIGNvbnZlcnRVbmRlcmx5aW5nU2lua0Nsb3NlQ2FsbGJhY2soY2xvc2UsIG9yaWdpbmFsISwgYCR7Y29udGV4dH0gaGFzIG1lbWJlciAnY2xvc2UnIHRoYXRgKSxcbiAgICBzdGFydDogc3RhcnQgPT09IHVuZGVmaW5lZCA/XG4gICAgICB1bmRlZmluZWQgOlxuICAgICAgY29udmVydFVuZGVybHlpbmdTaW5rU3RhcnRDYWxsYmFjayhzdGFydCwgb3JpZ2luYWwhLCBgJHtjb250ZXh0fSBoYXMgbWVtYmVyICdzdGFydCcgdGhhdGApLFxuICAgIHdyaXRlOiB3cml0ZSA9PT0gdW5kZWZpbmVkID9cbiAgICAgIHVuZGVmaW5lZCA6XG4gICAgICBjb252ZXJ0VW5kZXJseWluZ1NpbmtXcml0ZUNhbGxiYWNrKHdyaXRlLCBvcmlnaW5hbCEsIGAke2NvbnRleHR9IGhhcyBtZW1iZXIgJ3dyaXRlJyB0aGF0YCksXG4gICAgdHlwZVxuICB9O1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0VW5kZXJseWluZ1NpbmtBYm9ydENhbGxiYWNrKFxuICBmbjogVW5kZXJseWluZ1NpbmtBYm9ydENhbGxiYWNrLFxuICBvcmlnaW5hbDogVW5kZXJseWluZ1NpbmssXG4gIGNvbnRleHQ6IHN0cmluZ1xuKTogKHJlYXNvbjogYW55KSA9PiBQcm9taXNlPHZvaWQ+IHtcbiAgYXNzZXJ0RnVuY3Rpb24oZm4sIGNvbnRleHQpO1xuICByZXR1cm4gKHJlYXNvbjogYW55KSA9PiBwcm9taXNlQ2FsbChmbiwgb3JpZ2luYWwsIFtyZWFzb25dKTtcbn1cblxuZnVuY3Rpb24gY29udmVydFVuZGVybHlpbmdTaW5rQ2xvc2VDYWxsYmFjayhcbiAgZm46IFVuZGVybHlpbmdTaW5rQ2xvc2VDYWxsYmFjayxcbiAgb3JpZ2luYWw6IFVuZGVybHlpbmdTaW5rLFxuICBjb250ZXh0OiBzdHJpbmdcbik6ICgpID0+IFByb21pc2U8dm9pZD4ge1xuICBhc3NlcnRGdW5jdGlvbihmbiwgY29udGV4dCk7XG4gIHJldHVybiAoKSA9PiBwcm9taXNlQ2FsbChmbiwgb3JpZ2luYWwsIFtdKTtcbn1cblxuZnVuY3Rpb24gY29udmVydFVuZGVybHlpbmdTaW5rU3RhcnRDYWxsYmFjayhcbiAgZm46IFVuZGVybHlpbmdTaW5rU3RhcnRDYWxsYmFjayxcbiAgb3JpZ2luYWw6IFVuZGVybHlpbmdTaW5rLFxuICBjb250ZXh0OiBzdHJpbmdcbik6IFVuZGVybHlpbmdTaW5rU3RhcnRDYWxsYmFjayB7XG4gIGFzc2VydEZ1bmN0aW9uKGZuLCBjb250ZXh0KTtcbiAgcmV0dXJuIChjb250cm9sbGVyOiBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyKSA9PiByZWZsZWN0Q2FsbChmbiwgb3JpZ2luYWwsIFtjb250cm9sbGVyXSk7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRVbmRlcmx5aW5nU2lua1dyaXRlQ2FsbGJhY2s8Vz4oXG4gIGZuOiBVbmRlcmx5aW5nU2lua1dyaXRlQ2FsbGJhY2s8Vz4sXG4gIG9yaWdpbmFsOiBVbmRlcmx5aW5nU2luazxXPixcbiAgY29udGV4dDogc3RyaW5nXG4pOiAoY2h1bms6IFcsIGNvbnRyb2xsZXI6IFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIpID0+IFByb21pc2U8dm9pZD4ge1xuICBhc3NlcnRGdW5jdGlvbihmbiwgY29udGV4dCk7XG4gIHJldHVybiAoY2h1bms6IFcsIGNvbnRyb2xsZXI6IFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIpID0+IHByb21pc2VDYWxsKGZuLCBvcmlnaW5hbCwgW2NodW5rLCBjb250cm9sbGVyXSk7XG59XG4iLCAiaW1wb3J0IHsgSXNXcml0YWJsZVN0cmVhbSwgV3JpdGFibGVTdHJlYW0gfSBmcm9tICcuLi93cml0YWJsZS1zdHJlYW0nO1xuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0V3JpdGFibGVTdHJlYW0oeDogdW5rbm93biwgY29udGV4dDogc3RyaW5nKTogYXNzZXJ0cyB4IGlzIFdyaXRhYmxlU3RyZWFtIHtcbiAgaWYgKCFJc1dyaXRhYmxlU3RyZWFtKHgpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgJHtjb250ZXh0fSBpcyBub3QgYSBXcml0YWJsZVN0cmVhbS5gKTtcbiAgfVxufVxuIiwgIi8qKlxuICogQSBzaWduYWwgb2JqZWN0IHRoYXQgYWxsb3dzIHlvdSB0byBjb21tdW5pY2F0ZSB3aXRoIGEgcmVxdWVzdCBhbmQgYWJvcnQgaXQgaWYgcmVxdWlyZWRcbiAqIHZpYSBpdHMgYXNzb2NpYXRlZCBgQWJvcnRDb250cm9sbGVyYCBvYmplY3QuXG4gKlxuICogQHJlbWFya3NcbiAqICAgVGhpcyBpbnRlcmZhY2UgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBgQWJvcnRTaWduYWxgIGludGVyZmFjZSBkZWZpbmVkIGluIFR5cGVTY3JpcHQncyBET00gdHlwZXMuXG4gKiAgIEl0IGlzIHJlZGVmaW5lZCBoZXJlLCBzbyBpdCBjYW4gYmUgcG9seWZpbGxlZCB3aXRob3V0IGEgRE9NLCBmb3IgZXhhbXBsZSB3aXRoXG4gKiAgIHtAbGluayBodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9hYm9ydGNvbnRyb2xsZXItcG9seWZpbGwgfCBhYm9ydGNvbnRyb2xsZXItcG9seWZpbGx9IGluIGEgTm9kZSBlbnZpcm9ubWVudC5cbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWJvcnRTaWduYWwge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgcmVxdWVzdCBpcyBhYm9ydGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgYWJvcnRlZDogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgYWJvcnRlZCwgcmV0dXJucyB0aGUgcmVhc29uIGZvciBhYm9ydGluZy5cbiAgICovXG4gIHJlYWRvbmx5IHJlYXNvbj86IGFueTtcblxuICAvKipcbiAgICogQWRkIGFuIGV2ZW50IGxpc3RlbmVyIHRvIGJlIHRyaWdnZXJlZCB3aGVuIHRoaXMgc2lnbmFsIGJlY29tZXMgYWJvcnRlZC5cbiAgICovXG4gIGFkZEV2ZW50TGlzdGVuZXIodHlwZTogJ2Fib3J0JywgbGlzdGVuZXI6ICgpID0+IHZvaWQpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgYW4gZXZlbnQgbGlzdGVuZXIgdGhhdCB3YXMgcHJldmlvdXNseSBhZGRlZCB3aXRoIHtAbGluayBBYm9ydFNpZ25hbC5hZGRFdmVudExpc3RlbmVyfS5cbiAgICovXG4gIHJlbW92ZUV2ZW50TGlzdGVuZXIodHlwZTogJ2Fib3J0JywgbGlzdGVuZXI6ICgpID0+IHZvaWQpOiB2b2lkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNBYm9ydFNpZ25hbCh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIEFib3J0U2lnbmFsIHtcbiAgaWYgKHR5cGVvZiB2YWx1ZSAhPT0gJ29iamVjdCcgfHwgdmFsdWUgPT09IG51bGwpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgdHJ5IHtcbiAgICByZXR1cm4gdHlwZW9mICh2YWx1ZSBhcyBBYm9ydFNpZ25hbCkuYWJvcnRlZCA9PT0gJ2Jvb2xlYW4nO1xuICB9IGNhdGNoIHtcbiAgICAvLyBBYm9ydFNpZ25hbC5wcm90b3R5cGUuYWJvcnRlZCB0aHJvd3MgaWYgaXRzIGJyYW5kIGNoZWNrIGZhaWxzXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG5cbi8qKlxuICogQSBjb250cm9sbGVyIG9iamVjdCB0aGF0IGFsbG93cyB5b3UgdG8gYWJvcnQgYW4gYEFib3J0U2lnbmFsYCB3aGVuIGRlc2lyZWQuXG4gKlxuICogQHJlbWFya3NcbiAqICAgVGhpcyBpbnRlcmZhY2UgaXMgY29tcGF0aWJsZSB3aXRoIHRoZSBgQWJvcnRDb250cm9sbGVyYCBpbnRlcmZhY2UgZGVmaW5lZCBpbiBUeXBlU2NyaXB0J3MgRE9NIHR5cGVzLlxuICogICBJdCBpcyByZWRlZmluZWQgaGVyZSwgc28gaXQgY2FuIGJlIHBvbHlmaWxsZWQgd2l0aG91dCBhIERPTSwgZm9yIGV4YW1wbGUgd2l0aFxuICogICB7QGxpbmsgaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvYWJvcnRjb250cm9sbGVyLXBvbHlmaWxsIHwgYWJvcnRjb250cm9sbGVyLXBvbHlmaWxsfSBpbiBhIE5vZGUgZW52aXJvbm1lbnQuXG4gKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWJvcnRDb250cm9sbGVyIHtcbiAgcmVhZG9ubHkgc2lnbmFsOiBBYm9ydFNpZ25hbDtcblxuICBhYm9ydChyZWFzb24/OiBhbnkpOiB2b2lkO1xufVxuXG5pbnRlcmZhY2UgQWJvcnRDb250cm9sbGVyQ29uc3RydWN0b3Ige1xuICBuZXcoKTogQWJvcnRDb250cm9sbGVyO1xufVxuXG5jb25zdCBzdXBwb3J0c0Fib3J0Q29udHJvbGxlciA9IHR5cGVvZiAoQWJvcnRDb250cm9sbGVyIGFzIGFueSkgPT09ICdmdW5jdGlvbic7XG5cbi8qKlxuICogQ29uc3RydWN0IGEgbmV3IEFib3J0Q29udHJvbGxlciwgaWYgc3VwcG9ydGVkIGJ5IHRoZSBwbGF0Zm9ybS5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUFib3J0Q29udHJvbGxlcigpOiBBYm9ydENvbnRyb2xsZXIgfCB1bmRlZmluZWQge1xuICBpZiAoc3VwcG9ydHNBYm9ydENvbnRyb2xsZXIpIHtcbiAgICByZXR1cm4gbmV3IChBYm9ydENvbnRyb2xsZXIgYXMgQWJvcnRDb250cm9sbGVyQ29uc3RydWN0b3IpKCk7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cbiIsICJpbXBvcnQgYXNzZXJ0IGZyb20gJy4uL3N0dWIvYXNzZXJ0JztcbmltcG9ydCB7XG4gIG5ld1Byb21pc2UsXG4gIHByb21pc2VSZWplY3RlZFdpdGgsXG4gIHByb21pc2VSZXNvbHZlZFdpdGgsXG4gIHNldFByb21pc2VJc0hhbmRsZWRUb1RydWUsXG4gIHVwb25Qcm9taXNlXG59IGZyb20gJy4vaGVscGVycy93ZWJpZGwnO1xuaW1wb3J0IHtcbiAgRGVxdWV1ZVZhbHVlLFxuICBFbnF1ZXVlVmFsdWVXaXRoU2l6ZSxcbiAgUGVla1F1ZXVlVmFsdWUsXG4gIHR5cGUgUXVldWVQYWlyLFxuICBSZXNldFF1ZXVlXG59IGZyb20gJy4vYWJzdHJhY3Qtb3BzL3F1ZXVlLXdpdGgtc2l6ZXMnO1xuaW1wb3J0IHR5cGUgeyBRdWV1aW5nU3RyYXRlZ3ksIFF1ZXVpbmdTdHJhdGVneVNpemVDYWxsYmFjayB9IGZyb20gJy4vcXVldWluZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBTaW1wbGVRdWV1ZSB9IGZyb20gJy4vc2ltcGxlLXF1ZXVlJztcbmltcG9ydCB7IHNldEZ1bmN0aW9uTmFtZSwgdHlwZUlzT2JqZWN0IH0gZnJvbSAnLi9oZWxwZXJzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHsgQWJvcnRTdGVwcywgRXJyb3JTdGVwcyB9IGZyb20gJy4vYWJzdHJhY3Qtb3BzL2ludGVybmFsLW1ldGhvZHMnO1xuaW1wb3J0IHsgSXNOb25OZWdhdGl2ZU51bWJlciB9IGZyb20gJy4vYWJzdHJhY3Qtb3BzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHsgRXh0cmFjdEhpZ2hXYXRlck1hcmssIEV4dHJhY3RTaXplQWxnb3JpdGhtIH0gZnJvbSAnLi9hYnN0cmFjdC1vcHMvcXVldWluZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBjb252ZXJ0UXVldWluZ1N0cmF0ZWd5IH0gZnJvbSAnLi92YWxpZGF0b3JzL3F1ZXVpbmctc3RyYXRlZ3knO1xuaW1wb3J0IHR5cGUge1xuICBVbmRlcmx5aW5nU2luayxcbiAgVW5kZXJseWluZ1NpbmtBYm9ydENhbGxiYWNrLFxuICBVbmRlcmx5aW5nU2lua0Nsb3NlQ2FsbGJhY2ssXG4gIFVuZGVybHlpbmdTaW5rU3RhcnRDYWxsYmFjayxcbiAgVW5kZXJseWluZ1NpbmtXcml0ZUNhbGxiYWNrLFxuICBWYWxpZGF0ZWRVbmRlcmx5aW5nU2lua1xufSBmcm9tICcuL3dyaXRhYmxlLXN0cmVhbS91bmRlcmx5aW5nLXNpbmsnO1xuaW1wb3J0IHsgYXNzZXJ0T2JqZWN0LCBhc3NlcnRSZXF1aXJlZEFyZ3VtZW50IH0gZnJvbSAnLi92YWxpZGF0b3JzL2Jhc2ljJztcbmltcG9ydCB7IGNvbnZlcnRVbmRlcmx5aW5nU2luayB9IGZyb20gJy4vdmFsaWRhdG9ycy91bmRlcmx5aW5nLXNpbmsnO1xuaW1wb3J0IHsgYXNzZXJ0V3JpdGFibGVTdHJlYW0gfSBmcm9tICcuL3ZhbGlkYXRvcnMvd3JpdGFibGUtc3RyZWFtJztcbmltcG9ydCB7IHR5cGUgQWJvcnRDb250cm9sbGVyLCB0eXBlIEFib3J0U2lnbmFsLCBjcmVhdGVBYm9ydENvbnRyb2xsZXIgfSBmcm9tICcuL2Fib3J0LXNpZ25hbCc7XG5cbnR5cGUgV3JpdGFibGVTdHJlYW1TdGF0ZSA9ICd3cml0YWJsZScgfCAnY2xvc2VkJyB8ICdlcnJvcmluZycgfCAnZXJyb3JlZCc7XG5cbmludGVyZmFjZSBXcml0ZU9yQ2xvc2VSZXF1ZXN0IHtcbiAgX3Jlc29sdmU6ICh2YWx1ZT86IHVuZGVmaW5lZCkgPT4gdm9pZDtcbiAgX3JlamVjdDogKHJlYXNvbjogYW55KSA9PiB2b2lkO1xufVxuXG50eXBlIFdyaXRlUmVxdWVzdCA9IFdyaXRlT3JDbG9zZVJlcXVlc3Q7XG50eXBlIENsb3NlUmVxdWVzdCA9IFdyaXRlT3JDbG9zZVJlcXVlc3Q7XG5cbmludGVyZmFjZSBQZW5kaW5nQWJvcnRSZXF1ZXN0IHtcbiAgX3Byb21pc2U6IFByb21pc2U8dW5kZWZpbmVkPjtcbiAgX3Jlc29sdmU6ICh2YWx1ZT86IHVuZGVmaW5lZCkgPT4gdm9pZDtcbiAgX3JlamVjdDogKHJlYXNvbjogYW55KSA9PiB2b2lkO1xuICBfcmVhc29uOiBhbnk7XG4gIF93YXNBbHJlYWR5RXJyb3Jpbmc6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQSB3cml0YWJsZSBzdHJlYW0gcmVwcmVzZW50cyBhIGRlc3RpbmF0aW9uIGZvciBkYXRhLCBpbnRvIHdoaWNoIHlvdSBjYW4gd3JpdGUuXG4gKlxuICogQHB1YmxpY1xuICovXG5jbGFzcyBXcml0YWJsZVN0cmVhbTxXID0gYW55PiB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3N0YXRlITogV3JpdGFibGVTdHJlYW1TdGF0ZTtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfc3RvcmVkRXJyb3I6IGFueTtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfd3JpdGVyOiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXI8Vz4gfCB1bmRlZmluZWQ7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3dyaXRhYmxlU3RyZWFtQ29udHJvbGxlciE6IFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8Vz47XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3dyaXRlUmVxdWVzdHMhOiBTaW1wbGVRdWV1ZTxXcml0ZVJlcXVlc3Q+O1xuICAvKiogQGludGVybmFsICovXG4gIF9pbkZsaWdodFdyaXRlUmVxdWVzdDogV3JpdGVSZXF1ZXN0IHwgdW5kZWZpbmVkO1xuICAvKiogQGludGVybmFsICovXG4gIF9jbG9zZVJlcXVlc3Q6IENsb3NlUmVxdWVzdCB8IHVuZGVmaW5lZDtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfaW5GbGlnaHRDbG9zZVJlcXVlc3Q6IENsb3NlUmVxdWVzdCB8IHVuZGVmaW5lZDtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfcGVuZGluZ0Fib3J0UmVxdWVzdDogUGVuZGluZ0Fib3J0UmVxdWVzdCB8IHVuZGVmaW5lZDtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfYmFja3ByZXNzdXJlITogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3Rvcih1bmRlcmx5aW5nU2luaz86IFVuZGVybHlpbmdTaW5rPFc+LCBzdHJhdGVneT86IFF1ZXVpbmdTdHJhdGVneTxXPik7XG4gIGNvbnN0cnVjdG9yKHJhd1VuZGVybHlpbmdTaW5rOiBVbmRlcmx5aW5nU2luazxXPiB8IG51bGwgfCB1bmRlZmluZWQgPSB7fSxcbiAgICAgICAgICAgICAgcmF3U3RyYXRlZ3k6IFF1ZXVpbmdTdHJhdGVneTxXPiB8IG51bGwgfCB1bmRlZmluZWQgPSB7fSkge1xuICAgIGlmIChyYXdVbmRlcmx5aW5nU2luayA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByYXdVbmRlcmx5aW5nU2luayA9IG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFzc2VydE9iamVjdChyYXdVbmRlcmx5aW5nU2luaywgJ0ZpcnN0IHBhcmFtZXRlcicpO1xuICAgIH1cblxuICAgIGNvbnN0IHN0cmF0ZWd5ID0gY29udmVydFF1ZXVpbmdTdHJhdGVneShyYXdTdHJhdGVneSwgJ1NlY29uZCBwYXJhbWV0ZXInKTtcbiAgICBjb25zdCB1bmRlcmx5aW5nU2luayA9IGNvbnZlcnRVbmRlcmx5aW5nU2luayhyYXdVbmRlcmx5aW5nU2luaywgJ0ZpcnN0IHBhcmFtZXRlcicpO1xuXG4gICAgSW5pdGlhbGl6ZVdyaXRhYmxlU3RyZWFtKHRoaXMpO1xuXG4gICAgY29uc3QgdHlwZSA9IHVuZGVybHlpbmdTaW5rLnR5cGU7XG4gICAgaWYgKHR5cGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0ludmFsaWQgdHlwZSBpcyBzcGVjaWZpZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCBzaXplQWxnb3JpdGhtID0gRXh0cmFjdFNpemVBbGdvcml0aG0oc3RyYXRlZ3kpO1xuICAgIGNvbnN0IGhpZ2hXYXRlck1hcmsgPSBFeHRyYWN0SGlnaFdhdGVyTWFyayhzdHJhdGVneSwgMSk7XG5cbiAgICBTZXRVcFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJGcm9tVW5kZXJseWluZ1NpbmsodGhpcywgdW5kZXJseWluZ1NpbmssIGhpZ2hXYXRlck1hcmssIHNpemVBbGdvcml0aG0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgd2hldGhlciBvciBub3QgdGhlIHdyaXRhYmxlIHN0cmVhbSBpcyBsb2NrZWQgdG8gYSB3cml0ZXIuXG4gICAqL1xuICBnZXQgbG9ja2VkKCk6IGJvb2xlYW4ge1xuICAgIGlmICghSXNXcml0YWJsZVN0cmVhbSh0aGlzKSkge1xuICAgICAgdGhyb3cgc3RyZWFtQnJhbmRDaGVja0V4Y2VwdGlvbignbG9ja2VkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIElzV3JpdGFibGVTdHJlYW1Mb2NrZWQodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogQWJvcnRzIHRoZSBzdHJlYW0sIHNpZ25hbGluZyB0aGF0IHRoZSBwcm9kdWNlciBjYW4gbm8gbG9uZ2VyIHN1Y2Nlc3NmdWxseSB3cml0ZSB0byB0aGUgc3RyZWFtIGFuZCBpdCBpcyB0byBiZVxuICAgKiBpbW1lZGlhdGVseSBtb3ZlZCB0byBhbiBlcnJvcmVkIHN0YXRlLCB3aXRoIGFueSBxdWV1ZWQtdXAgd3JpdGVzIGRpc2NhcmRlZC4gVGhpcyB3aWxsIGFsc28gZXhlY3V0ZSBhbnkgYWJvcnRcbiAgICogbWVjaGFuaXNtIG9mIHRoZSB1bmRlcmx5aW5nIHNpbmsuXG4gICAqXG4gICAqIFRoZSByZXR1cm5lZCBwcm9taXNlIHdpbGwgZnVsZmlsbCBpZiB0aGUgc3RyZWFtIHNodXRzIGRvd24gc3VjY2Vzc2Z1bGx5LCBvciByZWplY3QgaWYgdGhlIHVuZGVybHlpbmcgc2luayBzaWduYWxlZFxuICAgKiB0aGF0IHRoZXJlIHdhcyBhbiBlcnJvciBkb2luZyBzby4gQWRkaXRpb25hbGx5LCBpdCB3aWxsIHJlamVjdCB3aXRoIGEgYFR5cGVFcnJvcmAgKHdpdGhvdXQgYXR0ZW1wdGluZyB0byBjYW5jZWxcbiAgICogdGhlIHN0cmVhbSkgaWYgdGhlIHN0cmVhbSBpcyBjdXJyZW50bHkgbG9ja2VkLlxuICAgKi9cbiAgYWJvcnQocmVhc29uOiBhbnkgPSB1bmRlZmluZWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIUlzV3JpdGFibGVTdHJlYW0odGhpcykpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKHN0cmVhbUJyYW5kQ2hlY2tFeGNlcHRpb24oJ2Fib3J0JykpO1xuICAgIH1cblxuICAgIGlmIChJc1dyaXRhYmxlU3RyZWFtTG9ja2VkKHRoaXMpKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChuZXcgVHlwZUVycm9yKCdDYW5ub3QgYWJvcnQgYSBzdHJlYW0gdGhhdCBhbHJlYWR5IGhhcyBhIHdyaXRlcicpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gV3JpdGFibGVTdHJlYW1BYm9ydCh0aGlzLCByZWFzb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGUgc3RyZWFtLiBUaGUgdW5kZXJseWluZyBzaW5rIHdpbGwgZmluaXNoIHByb2Nlc3NpbmcgYW55IHByZXZpb3VzbHktd3JpdHRlbiBjaHVua3MsIGJlZm9yZSBpbnZva2luZyBpdHNcbiAgICogY2xvc2UgYmVoYXZpb3IuIER1cmluZyB0aGlzIHRpbWUgYW55IGZ1cnRoZXIgYXR0ZW1wdHMgdG8gd3JpdGUgd2lsbCBmYWlsICh3aXRob3V0IGVycm9yaW5nIHRoZSBzdHJlYW0pLlxuICAgKlxuICAgKiBUaGUgbWV0aG9kIHJldHVybnMgYSBwcm9taXNlIHRoYXQgd2lsbCBmdWxmaWxsIGlmIGFsbCByZW1haW5pbmcgY2h1bmtzIGFyZSBzdWNjZXNzZnVsbHkgd3JpdHRlbiBhbmQgdGhlIHN0cmVhbVxuICAgKiBzdWNjZXNzZnVsbHkgY2xvc2VzLCBvciByZWplY3RzIGlmIGFuIGVycm9yIGlzIGVuY291bnRlcmVkIGR1cmluZyB0aGlzIHByb2Nlc3MuIEFkZGl0aW9uYWxseSwgaXQgd2lsbCByZWplY3Qgd2l0aFxuICAgKiBhIGBUeXBlRXJyb3JgICh3aXRob3V0IGF0dGVtcHRpbmcgdG8gY2FuY2VsIHRoZSBzdHJlYW0pIGlmIHRoZSBzdHJlYW0gaXMgY3VycmVudGx5IGxvY2tlZC5cbiAgICovXG4gIGNsb3NlKCkge1xuICAgIGlmICghSXNXcml0YWJsZVN0cmVhbSh0aGlzKSkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgoc3RyZWFtQnJhbmRDaGVja0V4Y2VwdGlvbignY2xvc2UnKSk7XG4gICAgfVxuXG4gICAgaWYgKElzV3JpdGFibGVTdHJlYW1Mb2NrZWQodGhpcykpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKG5ldyBUeXBlRXJyb3IoJ0Nhbm5vdCBjbG9zZSBhIHN0cmVhbSB0aGF0IGFscmVhZHkgaGFzIGEgd3JpdGVyJykpO1xuICAgIH1cblxuICAgIGlmIChXcml0YWJsZVN0cmVhbUNsb3NlUXVldWVkT3JJbkZsaWdodCh0aGlzKSkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgobmV3IFR5cGVFcnJvcignQ2Fubm90IGNsb3NlIGFuIGFscmVhZHktY2xvc2luZyBzdHJlYW0nKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFdyaXRhYmxlU3RyZWFtQ2xvc2UodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHtAbGluayBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIgfCB3cml0ZXJ9IGFuZCBsb2NrcyB0aGUgc3RyZWFtIHRvIHRoZSBuZXcgd3JpdGVyLiBXaGlsZSB0aGUgc3RyZWFtXG4gICAqIGlzIGxvY2tlZCwgbm8gb3RoZXIgd3JpdGVyIGNhbiBiZSBhY3F1aXJlZCB1bnRpbCB0aGlzIG9uZSBpcyByZWxlYXNlZC5cbiAgICpcbiAgICogVGhpcyBmdW5jdGlvbmFsaXR5IGlzIGVzcGVjaWFsbHkgdXNlZnVsIGZvciBjcmVhdGluZyBhYnN0cmFjdGlvbnMgdGhhdCBkZXNpcmUgdGhlIGFiaWxpdHkgdG8gd3JpdGUgdG8gYSBzdHJlYW1cbiAgICogd2l0aG91dCBpbnRlcnJ1cHRpb24gb3IgaW50ZXJsZWF2aW5nLiBCeSBnZXR0aW5nIGEgd3JpdGVyIGZvciB0aGUgc3RyZWFtLCB5b3UgY2FuIGVuc3VyZSBub2JvZHkgZWxzZSBjYW4gd3JpdGUgYXRcbiAgICogdGhlIHNhbWUgdGltZSwgd2hpY2ggd291bGQgY2F1c2UgdGhlIHJlc3VsdGluZyB3cml0dGVuIGRhdGEgdG8gYmUgdW5wcmVkaWN0YWJsZSBhbmQgcHJvYmFibHkgdXNlbGVzcy5cbiAgICovXG4gIGdldFdyaXRlcigpOiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXI8Vz4ge1xuICAgIGlmICghSXNXcml0YWJsZVN0cmVhbSh0aGlzKSkge1xuICAgICAgdGhyb3cgc3RyZWFtQnJhbmRDaGVja0V4Y2VwdGlvbignZ2V0V3JpdGVyJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIEFjcXVpcmVXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIodGhpcyk7XG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoV3JpdGFibGVTdHJlYW0ucHJvdG90eXBlLCB7XG4gIGFib3J0OiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgY2xvc2U6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuICBnZXRXcml0ZXI6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuICBsb2NrZWQ6IHsgZW51bWVyYWJsZTogdHJ1ZSB9XG59KTtcbnNldEZ1bmN0aW9uTmFtZShXcml0YWJsZVN0cmVhbS5wcm90b3R5cGUuYWJvcnQsICdhYm9ydCcpO1xuc2V0RnVuY3Rpb25OYW1lKFdyaXRhYmxlU3RyZWFtLnByb3RvdHlwZS5jbG9zZSwgJ2Nsb3NlJyk7XG5zZXRGdW5jdGlvbk5hbWUoV3JpdGFibGVTdHJlYW0ucHJvdG90eXBlLmdldFdyaXRlciwgJ2dldFdyaXRlcicpO1xuaWYgKHR5cGVvZiBTeW1ib2wudG9TdHJpbmdUYWcgPT09ICdzeW1ib2wnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZVN0cmVhbS5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZywge1xuICAgIHZhbHVlOiAnV3JpdGFibGVTdHJlYW0nLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KTtcbn1cblxuZXhwb3J0IHtcbiAgQWNxdWlyZVdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlcixcbiAgQ3JlYXRlV3JpdGFibGVTdHJlYW0sXG4gIElzV3JpdGFibGVTdHJlYW0sXG4gIElzV3JpdGFibGVTdHJlYW1Mb2NrZWQsXG4gIFdyaXRhYmxlU3RyZWFtLFxuICBXcml0YWJsZVN0cmVhbUFib3J0LFxuICBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyRXJyb3JJZk5lZWRlZCxcbiAgV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyQ2xvc2VXaXRoRXJyb3JQcm9wYWdhdGlvbixcbiAgV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyUmVsZWFzZSxcbiAgV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyV3JpdGUsXG4gIFdyaXRhYmxlU3RyZWFtQ2xvc2VRdWV1ZWRPckluRmxpZ2h0XG59O1xuXG5leHBvcnQgdHlwZSB7XG4gIFVuZGVybHlpbmdTaW5rLFxuICBVbmRlcmx5aW5nU2lua1N0YXJ0Q2FsbGJhY2ssXG4gIFVuZGVybHlpbmdTaW5rV3JpdGVDYWxsYmFjayxcbiAgVW5kZXJseWluZ1NpbmtDbG9zZUNhbGxiYWNrLFxuICBVbmRlcmx5aW5nU2lua0Fib3J0Q2FsbGJhY2tcbn07XG5cbi8vIEFic3RyYWN0IG9wZXJhdGlvbnMgZm9yIHRoZSBXcml0YWJsZVN0cmVhbS5cblxuZnVuY3Rpb24gQWNxdWlyZVdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlcjxXPihzdHJlYW06IFdyaXRhYmxlU3RyZWFtPFc+KTogV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyPFc+IHtcbiAgcmV0dXJuIG5ldyBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIoc3RyZWFtKTtcbn1cblxuLy8gVGhyb3dzIGlmIGFuZCBvbmx5IGlmIHN0YXJ0QWxnb3JpdGhtIHRocm93cy5cbmZ1bmN0aW9uIENyZWF0ZVdyaXRhYmxlU3RyZWFtPFc+KHN0YXJ0QWxnb3JpdGhtOiAoKSA9PiB2b2lkIHwgUHJvbWlzZUxpa2U8dm9pZD4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZUFsZ29yaXRobTogKGNodW5rOiBXKSA9PiBQcm9taXNlPHZvaWQ+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvc2VBbGdvcml0aG06ICgpID0+IFByb21pc2U8dm9pZD4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhYm9ydEFsZ29yaXRobTogKHJlYXNvbjogYW55KSA9PiBQcm9taXNlPHZvaWQ+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlnaFdhdGVyTWFyayA9IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplQWxnb3JpdGhtOiBRdWV1aW5nU3RyYXRlZ3lTaXplQ2FsbGJhY2s8Vz4gPSAoKSA9PiAxKSB7XG4gIGFzc2VydChJc05vbk5lZ2F0aXZlTnVtYmVyKGhpZ2hXYXRlck1hcmspKTtcblxuICBjb25zdCBzdHJlYW06IFdyaXRhYmxlU3RyZWFtPFc+ID0gT2JqZWN0LmNyZWF0ZShXcml0YWJsZVN0cmVhbS5wcm90b3R5cGUpO1xuICBJbml0aWFsaXplV3JpdGFibGVTdHJlYW0oc3RyZWFtKTtcblxuICBjb25zdCBjb250cm9sbGVyOiBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyPFc+ID0gT2JqZWN0LmNyZWF0ZShXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZSk7XG5cbiAgU2V0VXBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyKHN0cmVhbSwgY29udHJvbGxlciwgc3RhcnRBbGdvcml0aG0sIHdyaXRlQWxnb3JpdGhtLCBjbG9zZUFsZ29yaXRobSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFib3J0QWxnb3JpdGhtLCBoaWdoV2F0ZXJNYXJrLCBzaXplQWxnb3JpdGhtKTtcbiAgcmV0dXJuIHN0cmVhbTtcbn1cblxuZnVuY3Rpb24gSW5pdGlhbGl6ZVdyaXRhYmxlU3RyZWFtPFc+KHN0cmVhbTogV3JpdGFibGVTdHJlYW08Vz4pIHtcbiAgc3RyZWFtLl9zdGF0ZSA9ICd3cml0YWJsZSc7XG5cbiAgLy8gVGhlIGVycm9yIHRoYXQgd2lsbCBiZSByZXBvcnRlZCBieSBuZXcgbWV0aG9kIGNhbGxzIG9uY2UgdGhlIHN0YXRlIGJlY29tZXMgZXJyb3JlZC4gT25seSBzZXQgd2hlbiBbW3N0YXRlXV0gaXNcbiAgLy8gJ2Vycm9yaW5nJyBvciAnZXJyb3JlZCcuIE1heSBiZSBzZXQgdG8gYW4gdW5kZWZpbmVkIHZhbHVlLlxuICBzdHJlYW0uX3N0b3JlZEVycm9yID0gdW5kZWZpbmVkO1xuXG4gIHN0cmVhbS5fd3JpdGVyID0gdW5kZWZpbmVkO1xuXG4gIC8vIEluaXRpYWxpemUgdG8gdW5kZWZpbmVkIGZpcnN0IGJlY2F1c2UgdGhlIGNvbnN0cnVjdG9yIG9mIHRoZSBjb250cm9sbGVyIGNoZWNrcyB0aGlzXG4gIC8vIHZhcmlhYmxlIHRvIHZhbGlkYXRlIHRoZSBjYWxsZXIuXG4gIHN0cmVhbS5fd3JpdGFibGVTdHJlYW1Db250cm9sbGVyID0gdW5kZWZpbmVkITtcblxuICAvLyBUaGlzIHF1ZXVlIGlzIHBsYWNlZCBoZXJlIGluc3RlYWQgb2YgdGhlIHdyaXRlciBjbGFzcyBpbiBvcmRlciB0byBhbGxvdyBmb3IgcGFzc2luZyBhIHdyaXRlciB0byB0aGUgbmV4dCBkYXRhXG4gIC8vIHByb2R1Y2VyIHdpdGhvdXQgd2FpdGluZyBmb3IgdGhlIHF1ZXVlZCB3cml0ZXMgdG8gZmluaXNoLlxuICBzdHJlYW0uX3dyaXRlUmVxdWVzdHMgPSBuZXcgU2ltcGxlUXVldWUoKTtcblxuICAvLyBXcml0ZSByZXF1ZXN0cyBhcmUgcmVtb3ZlZCBmcm9tIF93cml0ZVJlcXVlc3RzIHdoZW4gd3JpdGUoKSBpcyBjYWxsZWQgb24gdGhlIHVuZGVybHlpbmcgc2luay4gVGhpcyBwcmV2ZW50c1xuICAvLyB0aGVtIGZyb20gYmVpbmcgZXJyb25lb3VzbHkgcmVqZWN0ZWQgb24gZXJyb3IuIElmIGEgd3JpdGUoKSBjYWxsIGlzIGluLWZsaWdodCwgdGhlIHJlcXVlc3QgaXMgc3RvcmVkIGhlcmUuXG4gIHN0cmVhbS5faW5GbGlnaHRXcml0ZVJlcXVlc3QgPSB1bmRlZmluZWQ7XG5cbiAgLy8gVGhlIHByb21pc2UgdGhhdCB3YXMgcmV0dXJuZWQgZnJvbSB3cml0ZXIuY2xvc2UoKS4gU3RvcmVkIGhlcmUgYmVjYXVzZSBpdCBtYXkgYmUgZnVsZmlsbGVkIGFmdGVyIHRoZSB3cml0ZXJcbiAgLy8gaGFzIGJlZW4gZGV0YWNoZWQuXG4gIHN0cmVhbS5fY2xvc2VSZXF1ZXN0ID0gdW5kZWZpbmVkO1xuXG4gIC8vIENsb3NlIHJlcXVlc3QgaXMgcmVtb3ZlZCBmcm9tIF9jbG9zZVJlcXVlc3Qgd2hlbiBjbG9zZSgpIGlzIGNhbGxlZCBvbiB0aGUgdW5kZXJseWluZyBzaW5rLiBUaGlzIHByZXZlbnRzIGl0XG4gIC8vIGZyb20gYmVpbmcgZXJyb25lb3VzbHkgcmVqZWN0ZWQgb24gZXJyb3IuIElmIGEgY2xvc2UoKSBjYWxsIGlzIGluLWZsaWdodCwgdGhlIHJlcXVlc3QgaXMgc3RvcmVkIGhlcmUuXG4gIHN0cmVhbS5faW5GbGlnaHRDbG9zZVJlcXVlc3QgPSB1bmRlZmluZWQ7XG5cbiAgLy8gVGhlIHByb21pc2UgdGhhdCB3YXMgcmV0dXJuZWQgZnJvbSB3cml0ZXIuYWJvcnQoKS4gVGhpcyBtYXkgYWxzbyBiZSBmdWxmaWxsZWQgYWZ0ZXIgdGhlIHdyaXRlciBoYXMgZGV0YWNoZWQuXG4gIHN0cmVhbS5fcGVuZGluZ0Fib3J0UmVxdWVzdCA9IHVuZGVmaW5lZDtcblxuICAvLyBUaGUgYmFja3ByZXNzdXJlIHNpZ25hbCBzZXQgYnkgdGhlIGNvbnRyb2xsZXIuXG4gIHN0cmVhbS5fYmFja3ByZXNzdXJlID0gZmFsc2U7XG59XG5cbmZ1bmN0aW9uIElzV3JpdGFibGVTdHJlYW0oeDogdW5rbm93bik6IHggaXMgV3JpdGFibGVTdHJlYW0ge1xuICBpZiAoIXR5cGVJc09iamVjdCh4KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHgsICdfd3JpdGFibGVTdHJlYW1Db250cm9sbGVyJykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4geCBpbnN0YW5jZW9mIFdyaXRhYmxlU3RyZWFtO1xufVxuXG5mdW5jdGlvbiBJc1dyaXRhYmxlU3RyZWFtTG9ja2VkKHN0cmVhbTogV3JpdGFibGVTdHJlYW0pOiBib29sZWFuIHtcbiAgYXNzZXJ0KElzV3JpdGFibGVTdHJlYW0oc3RyZWFtKSk7XG5cbiAgaWYgKHN0cmVhbS5fd3JpdGVyID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gV3JpdGFibGVTdHJlYW1BYm9ydChzdHJlYW06IFdyaXRhYmxlU3RyZWFtLCByZWFzb246IGFueSk6IFByb21pc2U8dW5kZWZpbmVkPiB7XG4gIGlmIChzdHJlYW0uX3N0YXRlID09PSAnY2xvc2VkJyB8fCBzdHJlYW0uX3N0YXRlID09PSAnZXJyb3JlZCcpIHtcbiAgICByZXR1cm4gcHJvbWlzZVJlc29sdmVkV2l0aCh1bmRlZmluZWQpO1xuICB9XG4gIHN0cmVhbS5fd3JpdGFibGVTdHJlYW1Db250cm9sbGVyLl9hYm9ydFJlYXNvbiA9IHJlYXNvbjtcbiAgc3RyZWFtLl93cml0YWJsZVN0cmVhbUNvbnRyb2xsZXIuX2Fib3J0Q29udHJvbGxlcj8uYWJvcnQocmVhc29uKTtcblxuICAvLyBUeXBlU2NyaXB0IG5hcnJvd3MgdGhlIHR5cGUgb2YgYHN0cmVhbS5fc3RhdGVgIGRvd24gdG8gJ3dyaXRhYmxlJyB8ICdlcnJvcmluZycsXG4gIC8vIGJ1dCBpdCBkb2Vzbid0IGtub3cgdGhhdCBzaWduYWxpbmcgYWJvcnQgcnVucyBhdXRob3IgY29kZSB0aGF0IG1pZ2h0IGhhdmUgY2hhbmdlZCB0aGUgc3RhdGUuXG4gIC8vIFdpZGVuIHRoZSB0eXBlIGFnYWluIGJ5IGNhc3RpbmcgdG8gV3JpdGFibGVTdHJlYW1TdGF0ZS5cbiAgY29uc3Qgc3RhdGUgPSBzdHJlYW0uX3N0YXRlIGFzIFdyaXRhYmxlU3RyZWFtU3RhdGU7XG5cbiAgaWYgKHN0YXRlID09PSAnY2xvc2VkJyB8fCBzdGF0ZSA9PT0gJ2Vycm9yZWQnKSB7XG4gICAgcmV0dXJuIHByb21pc2VSZXNvbHZlZFdpdGgodW5kZWZpbmVkKTtcbiAgfVxuICBpZiAoc3RyZWFtLl9wZW5kaW5nQWJvcnRSZXF1ZXN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gc3RyZWFtLl9wZW5kaW5nQWJvcnRSZXF1ZXN0Ll9wcm9taXNlO1xuICB9XG5cbiAgYXNzZXJ0KHN0YXRlID09PSAnd3JpdGFibGUnIHx8IHN0YXRlID09PSAnZXJyb3JpbmcnKTtcblxuICBsZXQgd2FzQWxyZWFkeUVycm9yaW5nID0gZmFsc2U7XG4gIGlmIChzdGF0ZSA9PT0gJ2Vycm9yaW5nJykge1xuICAgIHdhc0FscmVhZHlFcnJvcmluZyA9IHRydWU7XG4gICAgLy8gcmVhc29uIHdpbGwgbm90IGJlIHVzZWQsIHNvIGRvbid0IGtlZXAgYSByZWZlcmVuY2UgdG8gaXQuXG4gICAgcmVhc29uID0gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgcHJvbWlzZSA9IG5ld1Byb21pc2U8dW5kZWZpbmVkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgc3RyZWFtLl9wZW5kaW5nQWJvcnRSZXF1ZXN0ID0ge1xuICAgICAgX3Byb21pc2U6IHVuZGVmaW5lZCEsXG4gICAgICBfcmVzb2x2ZTogcmVzb2x2ZSxcbiAgICAgIF9yZWplY3Q6IHJlamVjdCxcbiAgICAgIF9yZWFzb246IHJlYXNvbixcbiAgICAgIF93YXNBbHJlYWR5RXJyb3Jpbmc6IHdhc0FscmVhZHlFcnJvcmluZ1xuICAgIH07XG4gIH0pO1xuICBzdHJlYW0uX3BlbmRpbmdBYm9ydFJlcXVlc3QhLl9wcm9taXNlID0gcHJvbWlzZTtcblxuICBpZiAoIXdhc0FscmVhZHlFcnJvcmluZykge1xuICAgIFdyaXRhYmxlU3RyZWFtU3RhcnRFcnJvcmluZyhzdHJlYW0sIHJlYXNvbik7XG4gIH1cblxuICByZXR1cm4gcHJvbWlzZTtcbn1cblxuZnVuY3Rpb24gV3JpdGFibGVTdHJlYW1DbG9zZShzdHJlYW06IFdyaXRhYmxlU3RyZWFtPGFueT4pOiBQcm9taXNlPHVuZGVmaW5lZD4ge1xuICBjb25zdCBzdGF0ZSA9IHN0cmVhbS5fc3RhdGU7XG4gIGlmIChzdGF0ZSA9PT0gJ2Nsb3NlZCcgfHwgc3RhdGUgPT09ICdlcnJvcmVkJykge1xuICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKG5ldyBUeXBlRXJyb3IoXG4gICAgICBgVGhlIHN0cmVhbSAoaW4gJHtzdGF0ZX0gc3RhdGUpIGlzIG5vdCBpbiB0aGUgd3JpdGFibGUgc3RhdGUgYW5kIGNhbm5vdCBiZSBjbG9zZWRgKSk7XG4gIH1cblxuICBhc3NlcnQoc3RhdGUgPT09ICd3cml0YWJsZScgfHwgc3RhdGUgPT09ICdlcnJvcmluZycpO1xuICBhc3NlcnQoIVdyaXRhYmxlU3RyZWFtQ2xvc2VRdWV1ZWRPckluRmxpZ2h0KHN0cmVhbSkpO1xuXG4gIGNvbnN0IHByb21pc2UgPSBuZXdQcm9taXNlPHVuZGVmaW5lZD4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGNsb3NlUmVxdWVzdDogQ2xvc2VSZXF1ZXN0ID0ge1xuICAgICAgX3Jlc29sdmU6IHJlc29sdmUsXG4gICAgICBfcmVqZWN0OiByZWplY3RcbiAgICB9O1xuXG4gICAgc3RyZWFtLl9jbG9zZVJlcXVlc3QgPSBjbG9zZVJlcXVlc3Q7XG4gIH0pO1xuXG4gIGNvbnN0IHdyaXRlciA9IHN0cmVhbS5fd3JpdGVyO1xuICBpZiAod3JpdGVyICE9PSB1bmRlZmluZWQgJiYgc3RyZWFtLl9iYWNrcHJlc3N1cmUgJiYgc3RhdGUgPT09ICd3cml0YWJsZScpIHtcbiAgICBkZWZhdWx0V3JpdGVyUmVhZHlQcm9taXNlUmVzb2x2ZSh3cml0ZXIpO1xuICB9XG5cbiAgV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNsb3NlKHN0cmVhbS5fd3JpdGFibGVTdHJlYW1Db250cm9sbGVyKTtcblxuICByZXR1cm4gcHJvbWlzZTtcbn1cblxuLy8gV3JpdGFibGVTdHJlYW0gQVBJIGV4cG9zZWQgZm9yIGNvbnRyb2xsZXJzLlxuXG5mdW5jdGlvbiBXcml0YWJsZVN0cmVhbUFkZFdyaXRlUmVxdWVzdChzdHJlYW06IFdyaXRhYmxlU3RyZWFtKTogUHJvbWlzZTx1bmRlZmluZWQ+IHtcbiAgYXNzZXJ0KElzV3JpdGFibGVTdHJlYW1Mb2NrZWQoc3RyZWFtKSk7XG4gIGFzc2VydChzdHJlYW0uX3N0YXRlID09PSAnd3JpdGFibGUnKTtcblxuICBjb25zdCBwcm9taXNlID0gbmV3UHJvbWlzZTx1bmRlZmluZWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCB3cml0ZVJlcXVlc3Q6IFdyaXRlUmVxdWVzdCA9IHtcbiAgICAgIF9yZXNvbHZlOiByZXNvbHZlLFxuICAgICAgX3JlamVjdDogcmVqZWN0XG4gICAgfTtcblxuICAgIHN0cmVhbS5fd3JpdGVSZXF1ZXN0cy5wdXNoKHdyaXRlUmVxdWVzdCk7XG4gIH0pO1xuXG4gIHJldHVybiBwcm9taXNlO1xufVxuXG5mdW5jdGlvbiBXcml0YWJsZVN0cmVhbURlYWxXaXRoUmVqZWN0aW9uKHN0cmVhbTogV3JpdGFibGVTdHJlYW0sIGVycm9yOiBhbnkpIHtcbiAgY29uc3Qgc3RhdGUgPSBzdHJlYW0uX3N0YXRlO1xuXG4gIGlmIChzdGF0ZSA9PT0gJ3dyaXRhYmxlJykge1xuICAgIFdyaXRhYmxlU3RyZWFtU3RhcnRFcnJvcmluZyhzdHJlYW0sIGVycm9yKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBhc3NlcnQoc3RhdGUgPT09ICdlcnJvcmluZycpO1xuICBXcml0YWJsZVN0cmVhbUZpbmlzaEVycm9yaW5nKHN0cmVhbSk7XG59XG5cbmZ1bmN0aW9uIFdyaXRhYmxlU3RyZWFtU3RhcnRFcnJvcmluZyhzdHJlYW06IFdyaXRhYmxlU3RyZWFtLCByZWFzb246IGFueSkge1xuICBhc3NlcnQoc3RyZWFtLl9zdG9yZWRFcnJvciA9PT0gdW5kZWZpbmVkKTtcbiAgYXNzZXJ0KHN0cmVhbS5fc3RhdGUgPT09ICd3cml0YWJsZScpO1xuXG4gIGNvbnN0IGNvbnRyb2xsZXIgPSBzdHJlYW0uX3dyaXRhYmxlU3RyZWFtQ29udHJvbGxlcjtcbiAgYXNzZXJ0KGNvbnRyb2xsZXIgIT09IHVuZGVmaW5lZCk7XG5cbiAgc3RyZWFtLl9zdGF0ZSA9ICdlcnJvcmluZyc7XG4gIHN0cmVhbS5fc3RvcmVkRXJyb3IgPSByZWFzb247XG4gIGNvbnN0IHdyaXRlciA9IHN0cmVhbS5fd3JpdGVyO1xuICBpZiAod3JpdGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXJFbnN1cmVSZWFkeVByb21pc2VSZWplY3RlZCh3cml0ZXIsIHJlYXNvbik7XG4gIH1cblxuICBpZiAoIVdyaXRhYmxlU3RyZWFtSGFzT3BlcmF0aW9uTWFya2VkSW5GbGlnaHQoc3RyZWFtKSAmJiBjb250cm9sbGVyLl9zdGFydGVkKSB7XG4gICAgV3JpdGFibGVTdHJlYW1GaW5pc2hFcnJvcmluZyhzdHJlYW0pO1xuICB9XG59XG5cbmZ1bmN0aW9uIFdyaXRhYmxlU3RyZWFtRmluaXNoRXJyb3Jpbmcoc3RyZWFtOiBXcml0YWJsZVN0cmVhbSkge1xuICBhc3NlcnQoc3RyZWFtLl9zdGF0ZSA9PT0gJ2Vycm9yaW5nJyk7XG4gIGFzc2VydCghV3JpdGFibGVTdHJlYW1IYXNPcGVyYXRpb25NYXJrZWRJbkZsaWdodChzdHJlYW0pKTtcbiAgc3RyZWFtLl9zdGF0ZSA9ICdlcnJvcmVkJztcbiAgc3RyZWFtLl93cml0YWJsZVN0cmVhbUNvbnRyb2xsZXJbRXJyb3JTdGVwc10oKTtcblxuICBjb25zdCBzdG9yZWRFcnJvciA9IHN0cmVhbS5fc3RvcmVkRXJyb3I7XG4gIHN0cmVhbS5fd3JpdGVSZXF1ZXN0cy5mb3JFYWNoKHdyaXRlUmVxdWVzdCA9PiB7XG4gICAgd3JpdGVSZXF1ZXN0Ll9yZWplY3Qoc3RvcmVkRXJyb3IpO1xuICB9KTtcbiAgc3RyZWFtLl93cml0ZVJlcXVlc3RzID0gbmV3IFNpbXBsZVF1ZXVlKCk7XG5cbiAgaWYgKHN0cmVhbS5fcGVuZGluZ0Fib3J0UmVxdWVzdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgV3JpdGFibGVTdHJlYW1SZWplY3RDbG9zZUFuZENsb3NlZFByb21pc2VJZk5lZWRlZChzdHJlYW0pO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IGFib3J0UmVxdWVzdCA9IHN0cmVhbS5fcGVuZGluZ0Fib3J0UmVxdWVzdDtcbiAgc3RyZWFtLl9wZW5kaW5nQWJvcnRSZXF1ZXN0ID0gdW5kZWZpbmVkO1xuXG4gIGlmIChhYm9ydFJlcXVlc3QuX3dhc0FscmVhZHlFcnJvcmluZykge1xuICAgIGFib3J0UmVxdWVzdC5fcmVqZWN0KHN0b3JlZEVycm9yKTtcbiAgICBXcml0YWJsZVN0cmVhbVJlamVjdENsb3NlQW5kQ2xvc2VkUHJvbWlzZUlmTmVlZGVkKHN0cmVhbSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcHJvbWlzZSA9IHN0cmVhbS5fd3JpdGFibGVTdHJlYW1Db250cm9sbGVyW0Fib3J0U3RlcHNdKGFib3J0UmVxdWVzdC5fcmVhc29uKTtcbiAgdXBvblByb21pc2UoXG4gICAgcHJvbWlzZSxcbiAgICAoKSA9PiB7XG4gICAgICBhYm9ydFJlcXVlc3QuX3Jlc29sdmUoKTtcbiAgICAgIFdyaXRhYmxlU3RyZWFtUmVqZWN0Q2xvc2VBbmRDbG9zZWRQcm9taXNlSWZOZWVkZWQoc3RyZWFtKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0sXG4gICAgKHJlYXNvbjogYW55KSA9PiB7XG4gICAgICBhYm9ydFJlcXVlc3QuX3JlamVjdChyZWFzb24pO1xuICAgICAgV3JpdGFibGVTdHJlYW1SZWplY3RDbG9zZUFuZENsb3NlZFByb21pc2VJZk5lZWRlZChzdHJlYW0pO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSk7XG59XG5cbmZ1bmN0aW9uIFdyaXRhYmxlU3RyZWFtRmluaXNoSW5GbGlnaHRXcml0ZShzdHJlYW06IFdyaXRhYmxlU3RyZWFtKSB7XG4gIGFzc2VydChzdHJlYW0uX2luRmxpZ2h0V3JpdGVSZXF1ZXN0ICE9PSB1bmRlZmluZWQpO1xuICBzdHJlYW0uX2luRmxpZ2h0V3JpdGVSZXF1ZXN0IS5fcmVzb2x2ZSh1bmRlZmluZWQpO1xuICBzdHJlYW0uX2luRmxpZ2h0V3JpdGVSZXF1ZXN0ID0gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBXcml0YWJsZVN0cmVhbUZpbmlzaEluRmxpZ2h0V3JpdGVXaXRoRXJyb3Ioc3RyZWFtOiBXcml0YWJsZVN0cmVhbSwgZXJyb3I6IGFueSkge1xuICBhc3NlcnQoc3RyZWFtLl9pbkZsaWdodFdyaXRlUmVxdWVzdCAhPT0gdW5kZWZpbmVkKTtcbiAgc3RyZWFtLl9pbkZsaWdodFdyaXRlUmVxdWVzdCEuX3JlamVjdChlcnJvcik7XG4gIHN0cmVhbS5faW5GbGlnaHRXcml0ZVJlcXVlc3QgPSB1bmRlZmluZWQ7XG5cbiAgYXNzZXJ0KHN0cmVhbS5fc3RhdGUgPT09ICd3cml0YWJsZScgfHwgc3RyZWFtLl9zdGF0ZSA9PT0gJ2Vycm9yaW5nJyk7XG5cbiAgV3JpdGFibGVTdHJlYW1EZWFsV2l0aFJlamVjdGlvbihzdHJlYW0sIGVycm9yKTtcbn1cblxuZnVuY3Rpb24gV3JpdGFibGVTdHJlYW1GaW5pc2hJbkZsaWdodENsb3NlKHN0cmVhbTogV3JpdGFibGVTdHJlYW0pIHtcbiAgYXNzZXJ0KHN0cmVhbS5faW5GbGlnaHRDbG9zZVJlcXVlc3QgIT09IHVuZGVmaW5lZCk7XG4gIHN0cmVhbS5faW5GbGlnaHRDbG9zZVJlcXVlc3QhLl9yZXNvbHZlKHVuZGVmaW5lZCk7XG4gIHN0cmVhbS5faW5GbGlnaHRDbG9zZVJlcXVlc3QgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3Qgc3RhdGUgPSBzdHJlYW0uX3N0YXRlO1xuXG4gIGFzc2VydChzdGF0ZSA9PT0gJ3dyaXRhYmxlJyB8fCBzdGF0ZSA9PT0gJ2Vycm9yaW5nJyk7XG5cbiAgaWYgKHN0YXRlID09PSAnZXJyb3JpbmcnKSB7XG4gICAgLy8gVGhlIGVycm9yIHdhcyB0b28gbGF0ZSB0byBkbyBhbnl0aGluZywgc28gaXQgaXMgaWdub3JlZC5cbiAgICBzdHJlYW0uX3N0b3JlZEVycm9yID0gdW5kZWZpbmVkO1xuICAgIGlmIChzdHJlYW0uX3BlbmRpbmdBYm9ydFJlcXVlc3QgIT09IHVuZGVmaW5lZCkge1xuICAgICAgc3RyZWFtLl9wZW5kaW5nQWJvcnRSZXF1ZXN0Ll9yZXNvbHZlKCk7XG4gICAgICBzdHJlYW0uX3BlbmRpbmdBYm9ydFJlcXVlc3QgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgc3RyZWFtLl9zdGF0ZSA9ICdjbG9zZWQnO1xuXG4gIGNvbnN0IHdyaXRlciA9IHN0cmVhbS5fd3JpdGVyO1xuICBpZiAod3JpdGVyICE9PSB1bmRlZmluZWQpIHtcbiAgICBkZWZhdWx0V3JpdGVyQ2xvc2VkUHJvbWlzZVJlc29sdmUod3JpdGVyKTtcbiAgfVxuXG4gIGFzc2VydChzdHJlYW0uX3BlbmRpbmdBYm9ydFJlcXVlc3QgPT09IHVuZGVmaW5lZCk7XG4gIGFzc2VydChzdHJlYW0uX3N0b3JlZEVycm9yID09PSB1bmRlZmluZWQpO1xufVxuXG5mdW5jdGlvbiBXcml0YWJsZVN0cmVhbUZpbmlzaEluRmxpZ2h0Q2xvc2VXaXRoRXJyb3Ioc3RyZWFtOiBXcml0YWJsZVN0cmVhbSwgZXJyb3I6IGFueSkge1xuICBhc3NlcnQoc3RyZWFtLl9pbkZsaWdodENsb3NlUmVxdWVzdCAhPT0gdW5kZWZpbmVkKTtcbiAgc3RyZWFtLl9pbkZsaWdodENsb3NlUmVxdWVzdCEuX3JlamVjdChlcnJvcik7XG4gIHN0cmVhbS5faW5GbGlnaHRDbG9zZVJlcXVlc3QgPSB1bmRlZmluZWQ7XG5cbiAgYXNzZXJ0KHN0cmVhbS5fc3RhdGUgPT09ICd3cml0YWJsZScgfHwgc3RyZWFtLl9zdGF0ZSA9PT0gJ2Vycm9yaW5nJyk7XG5cbiAgLy8gTmV2ZXIgZXhlY3V0ZSBzaW5rIGFib3J0KCkgYWZ0ZXIgc2luayBjbG9zZSgpLlxuICBpZiAoc3RyZWFtLl9wZW5kaW5nQWJvcnRSZXF1ZXN0ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzdHJlYW0uX3BlbmRpbmdBYm9ydFJlcXVlc3QuX3JlamVjdChlcnJvcik7XG4gICAgc3RyZWFtLl9wZW5kaW5nQWJvcnRSZXF1ZXN0ID0gdW5kZWZpbmVkO1xuICB9XG4gIFdyaXRhYmxlU3RyZWFtRGVhbFdpdGhSZWplY3Rpb24oc3RyZWFtLCBlcnJvcik7XG59XG5cbi8vIFRPRE8ocmljZWEpOiBGaXggYWxwaGFiZXRpY2FsIG9yZGVyLlxuZnVuY3Rpb24gV3JpdGFibGVTdHJlYW1DbG9zZVF1ZXVlZE9ySW5GbGlnaHQoc3RyZWFtOiBXcml0YWJsZVN0cmVhbSk6IGJvb2xlYW4ge1xuICBpZiAoc3RyZWFtLl9jbG9zZVJlcXVlc3QgPT09IHVuZGVmaW5lZCAmJiBzdHJlYW0uX2luRmxpZ2h0Q2xvc2VSZXF1ZXN0ID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gV3JpdGFibGVTdHJlYW1IYXNPcGVyYXRpb25NYXJrZWRJbkZsaWdodChzdHJlYW06IFdyaXRhYmxlU3RyZWFtKTogYm9vbGVhbiB7XG4gIGlmIChzdHJlYW0uX2luRmxpZ2h0V3JpdGVSZXF1ZXN0ID09PSB1bmRlZmluZWQgJiYgc3RyZWFtLl9pbkZsaWdodENsb3NlUmVxdWVzdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIFdyaXRhYmxlU3RyZWFtTWFya0Nsb3NlUmVxdWVzdEluRmxpZ2h0KHN0cmVhbTogV3JpdGFibGVTdHJlYW0pIHtcbiAgYXNzZXJ0KHN0cmVhbS5faW5GbGlnaHRDbG9zZVJlcXVlc3QgPT09IHVuZGVmaW5lZCk7XG4gIGFzc2VydChzdHJlYW0uX2Nsb3NlUmVxdWVzdCAhPT0gdW5kZWZpbmVkKTtcbiAgc3RyZWFtLl9pbkZsaWdodENsb3NlUmVxdWVzdCA9IHN0cmVhbS5fY2xvc2VSZXF1ZXN0O1xuICBzdHJlYW0uX2Nsb3NlUmVxdWVzdCA9IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gV3JpdGFibGVTdHJlYW1NYXJrRmlyc3RXcml0ZVJlcXVlc3RJbkZsaWdodChzdHJlYW06IFdyaXRhYmxlU3RyZWFtKSB7XG4gIGFzc2VydChzdHJlYW0uX2luRmxpZ2h0V3JpdGVSZXF1ZXN0ID09PSB1bmRlZmluZWQpO1xuICBhc3NlcnQoc3RyZWFtLl93cml0ZVJlcXVlc3RzLmxlbmd0aCAhPT0gMCk7XG4gIHN0cmVhbS5faW5GbGlnaHRXcml0ZVJlcXVlc3QgPSBzdHJlYW0uX3dyaXRlUmVxdWVzdHMuc2hpZnQoKTtcbn1cblxuZnVuY3Rpb24gV3JpdGFibGVTdHJlYW1SZWplY3RDbG9zZUFuZENsb3NlZFByb21pc2VJZk5lZWRlZChzdHJlYW06IFdyaXRhYmxlU3RyZWFtKSB7XG4gIGFzc2VydChzdHJlYW0uX3N0YXRlID09PSAnZXJyb3JlZCcpO1xuICBpZiAoc3RyZWFtLl9jbG9zZVJlcXVlc3QgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydChzdHJlYW0uX2luRmxpZ2h0Q2xvc2VSZXF1ZXN0ID09PSB1bmRlZmluZWQpO1xuXG4gICAgc3RyZWFtLl9jbG9zZVJlcXVlc3QuX3JlamVjdChzdHJlYW0uX3N0b3JlZEVycm9yKTtcbiAgICBzdHJlYW0uX2Nsb3NlUmVxdWVzdCA9IHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCB3cml0ZXIgPSBzdHJlYW0uX3dyaXRlcjtcbiAgaWYgKHdyaXRlciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgZGVmYXVsdFdyaXRlckNsb3NlZFByb21pc2VSZWplY3Qod3JpdGVyLCBzdHJlYW0uX3N0b3JlZEVycm9yKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBXcml0YWJsZVN0cmVhbVVwZGF0ZUJhY2twcmVzc3VyZShzdHJlYW06IFdyaXRhYmxlU3RyZWFtLCBiYWNrcHJlc3N1cmU6IGJvb2xlYW4pIHtcbiAgYXNzZXJ0KHN0cmVhbS5fc3RhdGUgPT09ICd3cml0YWJsZScpO1xuICBhc3NlcnQoIVdyaXRhYmxlU3RyZWFtQ2xvc2VRdWV1ZWRPckluRmxpZ2h0KHN0cmVhbSkpO1xuXG4gIGNvbnN0IHdyaXRlciA9IHN0cmVhbS5fd3JpdGVyO1xuICBpZiAod3JpdGVyICE9PSB1bmRlZmluZWQgJiYgYmFja3ByZXNzdXJlICE9PSBzdHJlYW0uX2JhY2twcmVzc3VyZSkge1xuICAgIGlmIChiYWNrcHJlc3N1cmUpIHtcbiAgICAgIGRlZmF1bHRXcml0ZXJSZWFkeVByb21pc2VSZXNldCh3cml0ZXIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhc3NlcnQoIWJhY2twcmVzc3VyZSk7XG5cbiAgICAgIGRlZmF1bHRXcml0ZXJSZWFkeVByb21pc2VSZXNvbHZlKHdyaXRlcik7XG4gICAgfVxuICB9XG5cbiAgc3RyZWFtLl9iYWNrcHJlc3N1cmUgPSBiYWNrcHJlc3N1cmU7XG59XG5cbi8qKlxuICogQSBkZWZhdWx0IHdyaXRlciB2ZW5kZWQgYnkgYSB7QGxpbmsgV3JpdGFibGVTdHJlYW19LlxuICpcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlcjxXID0gYW55PiB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX293bmVyV3JpdGFibGVTdHJlYW06IFdyaXRhYmxlU3RyZWFtPFc+O1xuICAvKiogQGludGVybmFsICovXG4gIF9jbG9zZWRQcm9taXNlITogUHJvbWlzZTx1bmRlZmluZWQ+O1xuICAvKiogQGludGVybmFsICovXG4gIF9jbG9zZWRQcm9taXNlX3Jlc29sdmU/OiAodmFsdWU/OiB1bmRlZmluZWQpID0+IHZvaWQ7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2Nsb3NlZFByb21pc2VfcmVqZWN0PzogKHJlYXNvbjogYW55KSA9PiB2b2lkO1xuICAvKiogQGludGVybmFsICovXG4gIF9jbG9zZWRQcm9taXNlU3RhdGUhOiAncGVuZGluZycgfCAncmVzb2x2ZWQnIHwgJ3JlamVjdGVkJztcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfcmVhZHlQcm9taXNlITogUHJvbWlzZTx1bmRlZmluZWQ+O1xuICAvKiogQGludGVybmFsICovXG4gIF9yZWFkeVByb21pc2VfcmVzb2x2ZT86ICh2YWx1ZT86IHVuZGVmaW5lZCkgPT4gdm9pZDtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfcmVhZHlQcm9taXNlX3JlamVjdD86IChyZWFzb246IGFueSkgPT4gdm9pZDtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfcmVhZHlQcm9taXNlU3RhdGUhOiAncGVuZGluZycgfCAnZnVsZmlsbGVkJyB8ICdyZWplY3RlZCc7XG5cbiAgY29uc3RydWN0b3Ioc3RyZWFtOiBXcml0YWJsZVN0cmVhbTxXPikge1xuICAgIGFzc2VydFJlcXVpcmVkQXJndW1lbnQoc3RyZWFtLCAxLCAnV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyJyk7XG4gICAgYXNzZXJ0V3JpdGFibGVTdHJlYW0oc3RyZWFtLCAnRmlyc3QgcGFyYW1ldGVyJyk7XG5cbiAgICBpZiAoSXNXcml0YWJsZVN0cmVhbUxvY2tlZChzdHJlYW0pKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGlzIHN0cmVhbSBoYXMgYWxyZWFkeSBiZWVuIGxvY2tlZCBmb3IgZXhjbHVzaXZlIHdyaXRpbmcgYnkgYW5vdGhlciB3cml0ZXInKTtcbiAgICB9XG5cbiAgICB0aGlzLl9vd25lcldyaXRhYmxlU3RyZWFtID0gc3RyZWFtO1xuICAgIHN0cmVhbS5fd3JpdGVyID0gdGhpcztcblxuICAgIGNvbnN0IHN0YXRlID0gc3RyZWFtLl9zdGF0ZTtcblxuICAgIGlmIChzdGF0ZSA9PT0gJ3dyaXRhYmxlJykge1xuICAgICAgaWYgKCFXcml0YWJsZVN0cmVhbUNsb3NlUXVldWVkT3JJbkZsaWdodChzdHJlYW0pICYmIHN0cmVhbS5fYmFja3ByZXNzdXJlKSB7XG4gICAgICAgIGRlZmF1bHRXcml0ZXJSZWFkeVByb21pc2VJbml0aWFsaXplKHRoaXMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGVmYXVsdFdyaXRlclJlYWR5UHJvbWlzZUluaXRpYWxpemVBc1Jlc29sdmVkKHRoaXMpO1xuICAgICAgfVxuXG4gICAgICBkZWZhdWx0V3JpdGVyQ2xvc2VkUHJvbWlzZUluaXRpYWxpemUodGhpcyk7XG4gICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gJ2Vycm9yaW5nJykge1xuICAgICAgZGVmYXVsdFdyaXRlclJlYWR5UHJvbWlzZUluaXRpYWxpemVBc1JlamVjdGVkKHRoaXMsIHN0cmVhbS5fc3RvcmVkRXJyb3IpO1xuICAgICAgZGVmYXVsdFdyaXRlckNsb3NlZFByb21pc2VJbml0aWFsaXplKHRoaXMpO1xuICAgIH0gZWxzZSBpZiAoc3RhdGUgPT09ICdjbG9zZWQnKSB7XG4gICAgICBkZWZhdWx0V3JpdGVyUmVhZHlQcm9taXNlSW5pdGlhbGl6ZUFzUmVzb2x2ZWQodGhpcyk7XG4gICAgICBkZWZhdWx0V3JpdGVyQ2xvc2VkUHJvbWlzZUluaXRpYWxpemVBc1Jlc29sdmVkKHRoaXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhc3NlcnQoc3RhdGUgPT09ICdlcnJvcmVkJyk7XG5cbiAgICAgIGNvbnN0IHN0b3JlZEVycm9yID0gc3RyZWFtLl9zdG9yZWRFcnJvcjtcbiAgICAgIGRlZmF1bHRXcml0ZXJSZWFkeVByb21pc2VJbml0aWFsaXplQXNSZWplY3RlZCh0aGlzLCBzdG9yZWRFcnJvcik7XG4gICAgICBkZWZhdWx0V3JpdGVyQ2xvc2VkUHJvbWlzZUluaXRpYWxpemVBc1JlamVjdGVkKHRoaXMsIHN0b3JlZEVycm9yKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHByb21pc2UgdGhhdCB3aWxsIGJlIGZ1bGZpbGxlZCB3aGVuIHRoZSBzdHJlYW0gYmVjb21lcyBjbG9zZWQsIG9yIHJlamVjdGVkIGlmIHRoZSBzdHJlYW0gZXZlciBlcnJvcnMgb3JcbiAgICogdGhlIHdyaXRlcuKAmXMgbG9jayBpcyByZWxlYXNlZCBiZWZvcmUgdGhlIHN0cmVhbSBmaW5pc2hlcyBjbG9zaW5nLlxuICAgKi9cbiAgZ2V0IGNsb3NlZCgpOiBQcm9taXNlPHVuZGVmaW5lZD4ge1xuICAgIGlmICghSXNXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIodGhpcykpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKGRlZmF1bHRXcml0ZXJCcmFuZENoZWNrRXhjZXB0aW9uKCdjbG9zZWQnKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2Nsb3NlZFByb21pc2U7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGVzaXJlZCBzaXplIHRvIGZpbGwgdGhlIHN0cmVhbeKAmXMgaW50ZXJuYWwgcXVldWUuIEl0IGNhbiBiZSBuZWdhdGl2ZSwgaWYgdGhlIHF1ZXVlIGlzIG92ZXItZnVsbC5cbiAgICogQSBwcm9kdWNlciBjYW4gdXNlIHRoaXMgaW5mb3JtYXRpb24gdG8gZGV0ZXJtaW5lIHRoZSByaWdodCBhbW91bnQgb2YgZGF0YSB0byB3cml0ZS5cbiAgICpcbiAgICogSXQgd2lsbCBiZSBgbnVsbGAgaWYgdGhlIHN0cmVhbSBjYW5ub3QgYmUgc3VjY2Vzc2Z1bGx5IHdyaXR0ZW4gdG8gKGR1ZSB0byBlaXRoZXIgYmVpbmcgZXJyb3JlZCwgb3IgaGF2aW5nIGFuIGFib3J0XG4gICAqIHF1ZXVlZCB1cCkuIEl0IHdpbGwgcmV0dXJuIHplcm8gaWYgdGhlIHN0cmVhbSBpcyBjbG9zZWQuIEFuZCB0aGUgZ2V0dGVyIHdpbGwgdGhyb3cgYW4gZXhjZXB0aW9uIGlmIGludm9rZWQgd2hlblxuICAgKiB0aGUgd3JpdGVy4oCZcyBsb2NrIGlzIHJlbGVhc2VkLlxuICAgKi9cbiAgZ2V0IGRlc2lyZWRTaXplKCk6IG51bWJlciB8IG51bGwge1xuICAgIGlmICghSXNXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIodGhpcykpIHtcbiAgICAgIHRocm93IGRlZmF1bHRXcml0ZXJCcmFuZENoZWNrRXhjZXB0aW9uKCdkZXNpcmVkU2l6ZScpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9vd25lcldyaXRhYmxlU3RyZWFtID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IGRlZmF1bHRXcml0ZXJMb2NrRXhjZXB0aW9uKCdkZXNpcmVkU2l6ZScpO1xuICAgIH1cblxuICAgIHJldHVybiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXJHZXREZXNpcmVkU2l6ZSh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgcHJvbWlzZSB0aGF0IHdpbGwgYmUgZnVsZmlsbGVkIHdoZW4gdGhlIGRlc2lyZWQgc2l6ZSB0byBmaWxsIHRoZSBzdHJlYW3igJlzIGludGVybmFsIHF1ZXVlIHRyYW5zaXRpb25zXG4gICAqIGZyb20gbm9uLXBvc2l0aXZlIHRvIHBvc2l0aXZlLCBzaWduYWxpbmcgdGhhdCBpdCBpcyBubyBsb25nZXIgYXBwbHlpbmcgYmFja3ByZXNzdXJlLiBPbmNlIHRoZSBkZXNpcmVkIHNpemUgZGlwc1xuICAgKiBiYWNrIHRvIHplcm8gb3IgYmVsb3csIHRoZSBnZXR0ZXIgd2lsbCByZXR1cm4gYSBuZXcgcHJvbWlzZSB0aGF0IHN0YXlzIHBlbmRpbmcgdW50aWwgdGhlIG5leHQgdHJhbnNpdGlvbi5cbiAgICpcbiAgICogSWYgdGhlIHN0cmVhbSBiZWNvbWVzIGVycm9yZWQgb3IgYWJvcnRlZCwgb3IgdGhlIHdyaXRlcuKAmXMgbG9jayBpcyByZWxlYXNlZCwgdGhlIHJldHVybmVkIHByb21pc2Ugd2lsbCBiZWNvbWVcbiAgICogcmVqZWN0ZWQuXG4gICAqL1xuICBnZXQgcmVhZHkoKTogUHJvbWlzZTx1bmRlZmluZWQ+IHtcbiAgICBpZiAoIUlzV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyKHRoaXMpKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChkZWZhdWx0V3JpdGVyQnJhbmRDaGVja0V4Y2VwdGlvbigncmVhZHknKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3JlYWR5UHJvbWlzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUgcmVhZGVyIGlzIGFjdGl2ZSwgYmVoYXZlcyB0aGUgc2FtZSBhcyB7QGxpbmsgV3JpdGFibGVTdHJlYW0uYWJvcnQgfCBzdHJlYW0uYWJvcnQocmVhc29uKX0uXG4gICAqL1xuICBhYm9ydChyZWFzb246IGFueSA9IHVuZGVmaW5lZCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICghSXNXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIodGhpcykpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKGRlZmF1bHRXcml0ZXJCcmFuZENoZWNrRXhjZXB0aW9uKCdhYm9ydCcpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fb3duZXJXcml0YWJsZVN0cmVhbSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChkZWZhdWx0V3JpdGVyTG9ja0V4Y2VwdGlvbignYWJvcnQnKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlckFib3J0KHRoaXMsIHJlYXNvbik7XG4gIH1cblxuICAvKipcbiAgICogSWYgdGhlIHJlYWRlciBpcyBhY3RpdmUsIGJlaGF2ZXMgdGhlIHNhbWUgYXMge0BsaW5rIFdyaXRhYmxlU3RyZWFtLmNsb3NlIHwgc3RyZWFtLmNsb3NlKCl9LlxuICAgKi9cbiAgY2xvc2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFJc1dyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlcih0aGlzKSkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgoZGVmYXVsdFdyaXRlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ2Nsb3NlJykpO1xuICAgIH1cblxuICAgIGNvbnN0IHN0cmVhbSA9IHRoaXMuX293bmVyV3JpdGFibGVTdHJlYW07XG5cbiAgICBpZiAoc3RyZWFtID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKGRlZmF1bHRXcml0ZXJMb2NrRXhjZXB0aW9uKCdjbG9zZScpKTtcbiAgICB9XG5cbiAgICBpZiAoV3JpdGFibGVTdHJlYW1DbG9zZVF1ZXVlZE9ySW5GbGlnaHQoc3RyZWFtKSkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgobmV3IFR5cGVFcnJvcignQ2Fubm90IGNsb3NlIGFuIGFscmVhZHktY2xvc2luZyBzdHJlYW0nKSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlckNsb3NlKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbGVhc2VzIHRoZSB3cml0ZXLigJlzIGxvY2sgb24gdGhlIGNvcnJlc3BvbmRpbmcgc3RyZWFtLiBBZnRlciB0aGUgbG9jayBpcyByZWxlYXNlZCwgdGhlIHdyaXRlciBpcyBubyBsb25nZXIgYWN0aXZlLlxuICAgKiBJZiB0aGUgYXNzb2NpYXRlZCBzdHJlYW0gaXMgZXJyb3JlZCB3aGVuIHRoZSBsb2NrIGlzIHJlbGVhc2VkLCB0aGUgd3JpdGVyIHdpbGwgYXBwZWFyIGVycm9yZWQgaW4gdGhlIHNhbWUgd2F5IGZyb21cbiAgICogbm93IG9uOyBvdGhlcndpc2UsIHRoZSB3cml0ZXIgd2lsbCBhcHBlYXIgY2xvc2VkLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgdGhlIGxvY2sgY2FuIHN0aWxsIGJlIHJlbGVhc2VkIGV2ZW4gaWYgc29tZSBvbmdvaW5nIHdyaXRlcyBoYXZlIG5vdCB5ZXQgZmluaXNoZWQgKGkuZS4gZXZlbiBpZiB0aGVcbiAgICogcHJvbWlzZXMgcmV0dXJuZWQgZnJvbSBwcmV2aW91cyBjYWxscyB0byB7QGxpbmsgV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyLndyaXRlIHwgd3JpdGUoKX0gaGF2ZSBub3QgeWV0IHNldHRsZWQpLlxuICAgKiBJdOKAmXMgbm90IG5lY2Vzc2FyeSB0byBob2xkIHRoZSBsb2NrIG9uIHRoZSB3cml0ZXIgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgd3JpdGU7IHRoZSBsb2NrIGluc3RlYWQgc2ltcGx5IHByZXZlbnRzXG4gICAqIG90aGVyIHByb2R1Y2VycyBmcm9tIHdyaXRpbmcgaW4gYW4gaW50ZXJsZWF2ZWQgbWFubmVyLlxuICAgKi9cbiAgcmVsZWFzZUxvY2soKTogdm9pZCB7XG4gICAgaWYgKCFJc1dyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlcih0aGlzKSkge1xuICAgICAgdGhyb3cgZGVmYXVsdFdyaXRlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ3JlbGVhc2VMb2NrJyk7XG4gICAgfVxuXG4gICAgY29uc3Qgc3RyZWFtID0gdGhpcy5fb3duZXJXcml0YWJsZVN0cmVhbTtcblxuICAgIGlmIChzdHJlYW0gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGFzc2VydChzdHJlYW0uX3dyaXRlciAhPT0gdW5kZWZpbmVkKTtcblxuICAgIFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlclJlbGVhc2UodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogV3JpdGVzIHRoZSBnaXZlbiBjaHVuayB0byB0aGUgd3JpdGFibGUgc3RyZWFtLCBieSB3YWl0aW5nIHVudGlsIGFueSBwcmV2aW91cyB3cml0ZXMgaGF2ZSBmaW5pc2hlZCBzdWNjZXNzZnVsbHksXG4gICAqIGFuZCB0aGVuIHNlbmRpbmcgdGhlIGNodW5rIHRvIHRoZSB1bmRlcmx5aW5nIHNpbmsncyB7QGxpbmsgVW5kZXJseWluZ1Npbmsud3JpdGUgfCB3cml0ZSgpfSBtZXRob2QuIEl0IHdpbGwgcmV0dXJuXG4gICAqIGEgcHJvbWlzZSB0aGF0IGZ1bGZpbGxzIHdpdGggdW5kZWZpbmVkIHVwb24gYSBzdWNjZXNzZnVsIHdyaXRlLCBvciByZWplY3RzIGlmIHRoZSB3cml0ZSBmYWlscyBvciBzdHJlYW0gYmVjb21lc1xuICAgKiBlcnJvcmVkIGJlZm9yZSB0aGUgd3JpdGluZyBwcm9jZXNzIGlzIGluaXRpYXRlZC5cbiAgICpcbiAgICogTm90ZSB0aGF0IHdoYXQgXCJzdWNjZXNzXCIgbWVhbnMgaXMgdXAgdG8gdGhlIHVuZGVybHlpbmcgc2luazsgaXQgbWlnaHQgaW5kaWNhdGUgc2ltcGx5IHRoYXQgdGhlIGNodW5rIGhhcyBiZWVuXG4gICAqIGFjY2VwdGVkLCBhbmQgbm90IG5lY2Vzc2FyaWx5IHRoYXQgaXQgaXMgc2FmZWx5IHNhdmVkIHRvIGl0cyB1bHRpbWF0ZSBkZXN0aW5hdGlvbi5cbiAgICovXG4gIHdyaXRlKGNodW5rOiBXKTogUHJvbWlzZTx2b2lkPjtcbiAgd3JpdGUoY2h1bms6IFcgPSB1bmRlZmluZWQhKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFJc1dyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlcih0aGlzKSkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgoZGVmYXVsdFdyaXRlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ3dyaXRlJykpO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9vd25lcldyaXRhYmxlU3RyZWFtID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKGRlZmF1bHRXcml0ZXJMb2NrRXhjZXB0aW9uKCd3cml0ZSB0bycpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyV3JpdGUodGhpcywgY2h1bmspO1xuICB9XG59XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlci5wcm90b3R5cGUsIHtcbiAgYWJvcnQ6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuICBjbG9zZTogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG4gIHJlbGVhc2VMb2NrOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgd3JpdGU6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuICBjbG9zZWQ6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuICBkZXNpcmVkU2l6ZTogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG4gIHJlYWR5OiB7IGVudW1lcmFibGU6IHRydWUgfVxufSk7XG5zZXRGdW5jdGlvbk5hbWUoV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyLnByb3RvdHlwZS5hYm9ydCwgJ2Fib3J0Jyk7XG5zZXRGdW5jdGlvbk5hbWUoV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyLnByb3RvdHlwZS5jbG9zZSwgJ2Nsb3NlJyk7XG5zZXRGdW5jdGlvbk5hbWUoV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyLnByb3RvdHlwZS5yZWxlYXNlTG9jaywgJ3JlbGVhc2VMb2NrJyk7XG5zZXRGdW5jdGlvbk5hbWUoV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyLnByb3RvdHlwZS53cml0ZSwgJ3dyaXRlJyk7XG5pZiAodHlwZW9mIFN5bWJvbC50b1N0cmluZ1RhZyA9PT0gJ3N5bWJvbCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlci5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZywge1xuICAgIHZhbHVlOiAnV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyJyxcbiAgICBjb25maWd1cmFibGU6IHRydWVcbiAgfSk7XG59XG5cbi8vIEFic3RyYWN0IG9wZXJhdGlvbnMgZm9yIHRoZSBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIuXG5cbmZ1bmN0aW9uIElzV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyPFcgPSBhbnk+KHg6IGFueSk6IHggaXMgV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyPFc+IHtcbiAgaWYgKCF0eXBlSXNPYmplY3QoeCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh4LCAnX293bmVyV3JpdGFibGVTdHJlYW0nKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB4IGluc3RhbmNlb2YgV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyO1xufVxuXG4vLyBBIGNsaWVudCBvZiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIgbWF5IHVzZSB0aGVzZSBmdW5jdGlvbnMgZGlyZWN0bHkgdG8gYnlwYXNzIHN0YXRlIGNoZWNrLlxuXG5mdW5jdGlvbiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXJBYm9ydCh3cml0ZXI6IFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlciwgcmVhc29uOiBhbnkpIHtcbiAgY29uc3Qgc3RyZWFtID0gd3JpdGVyLl9vd25lcldyaXRhYmxlU3RyZWFtO1xuXG4gIGFzc2VydChzdHJlYW0gIT09IHVuZGVmaW5lZCk7XG5cbiAgcmV0dXJuIFdyaXRhYmxlU3RyZWFtQWJvcnQoc3RyZWFtLCByZWFzb24pO1xufVxuXG5mdW5jdGlvbiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXJDbG9zZSh3cml0ZXI6IFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlcik6IFByb21pc2U8dW5kZWZpbmVkPiB7XG4gIGNvbnN0IHN0cmVhbSA9IHdyaXRlci5fb3duZXJXcml0YWJsZVN0cmVhbTtcblxuICBhc3NlcnQoc3RyZWFtICE9PSB1bmRlZmluZWQpO1xuXG4gIHJldHVybiBXcml0YWJsZVN0cmVhbUNsb3NlKHN0cmVhbSk7XG59XG5cbmZ1bmN0aW9uIFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlckNsb3NlV2l0aEVycm9yUHJvcGFnYXRpb24od3JpdGVyOiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIpOiBQcm9taXNlPHVuZGVmaW5lZD4ge1xuICBjb25zdCBzdHJlYW0gPSB3cml0ZXIuX293bmVyV3JpdGFibGVTdHJlYW07XG5cbiAgYXNzZXJ0KHN0cmVhbSAhPT0gdW5kZWZpbmVkKTtcblxuICBjb25zdCBzdGF0ZSA9IHN0cmVhbS5fc3RhdGU7XG4gIGlmIChXcml0YWJsZVN0cmVhbUNsb3NlUXVldWVkT3JJbkZsaWdodChzdHJlYW0pIHx8IHN0YXRlID09PSAnY2xvc2VkJykge1xuICAgIHJldHVybiBwcm9taXNlUmVzb2x2ZWRXaXRoKHVuZGVmaW5lZCk7XG4gIH1cblxuICBpZiAoc3RhdGUgPT09ICdlcnJvcmVkJykge1xuICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKHN0cmVhbS5fc3RvcmVkRXJyb3IpO1xuICB9XG5cbiAgYXNzZXJ0KHN0YXRlID09PSAnd3JpdGFibGUnIHx8IHN0YXRlID09PSAnZXJyb3JpbmcnKTtcblxuICByZXR1cm4gV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyQ2xvc2Uod3JpdGVyKTtcbn1cblxuZnVuY3Rpb24gV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyRW5zdXJlQ2xvc2VkUHJvbWlzZVJlamVjdGVkKHdyaXRlcjogV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyLCBlcnJvcjogYW55KSB7XG4gIGlmICh3cml0ZXIuX2Nsb3NlZFByb21pc2VTdGF0ZSA9PT0gJ3BlbmRpbmcnKSB7XG4gICAgZGVmYXVsdFdyaXRlckNsb3NlZFByb21pc2VSZWplY3Qod3JpdGVyLCBlcnJvcik7XG4gIH0gZWxzZSB7XG4gICAgZGVmYXVsdFdyaXRlckNsb3NlZFByb21pc2VSZXNldFRvUmVqZWN0ZWQod3JpdGVyLCBlcnJvcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyRW5zdXJlUmVhZHlQcm9taXNlUmVqZWN0ZWQod3JpdGVyOiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIsIGVycm9yOiBhbnkpIHtcbiAgaWYgKHdyaXRlci5fcmVhZHlQcm9taXNlU3RhdGUgPT09ICdwZW5kaW5nJykge1xuICAgIGRlZmF1bHRXcml0ZXJSZWFkeVByb21pc2VSZWplY3Qod3JpdGVyLCBlcnJvcik7XG4gIH0gZWxzZSB7XG4gICAgZGVmYXVsdFdyaXRlclJlYWR5UHJvbWlzZVJlc2V0VG9SZWplY3RlZCh3cml0ZXIsIGVycm9yKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXJHZXREZXNpcmVkU2l6ZSh3cml0ZXI6IFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlcik6IG51bWJlciB8IG51bGwge1xuICBjb25zdCBzdHJlYW0gPSB3cml0ZXIuX293bmVyV3JpdGFibGVTdHJlYW07XG4gIGNvbnN0IHN0YXRlID0gc3RyZWFtLl9zdGF0ZTtcblxuICBpZiAoc3RhdGUgPT09ICdlcnJvcmVkJyB8fCBzdGF0ZSA9PT0gJ2Vycm9yaW5nJykge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHN0YXRlID09PSAnY2xvc2VkJykge1xuICAgIHJldHVybiAwO1xuICB9XG5cbiAgcmV0dXJuIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJHZXREZXNpcmVkU2l6ZShzdHJlYW0uX3dyaXRhYmxlU3RyZWFtQ29udHJvbGxlcik7XG59XG5cbmZ1bmN0aW9uIFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlclJlbGVhc2Uod3JpdGVyOiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIpIHtcbiAgY29uc3Qgc3RyZWFtID0gd3JpdGVyLl9vd25lcldyaXRhYmxlU3RyZWFtO1xuICBhc3NlcnQoc3RyZWFtICE9PSB1bmRlZmluZWQpO1xuICBhc3NlcnQoc3RyZWFtLl93cml0ZXIgPT09IHdyaXRlcik7XG5cbiAgY29uc3QgcmVsZWFzZWRFcnJvciA9IG5ldyBUeXBlRXJyb3IoXG4gICAgYFdyaXRlciB3YXMgcmVsZWFzZWQgYW5kIGNhbiBubyBsb25nZXIgYmUgdXNlZCB0byBtb25pdG9yIHRoZSBzdHJlYW0ncyBjbG9zZWRuZXNzYCk7XG5cbiAgV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyRW5zdXJlUmVhZHlQcm9taXNlUmVqZWN0ZWQod3JpdGVyLCByZWxlYXNlZEVycm9yKTtcblxuICAvLyBUaGUgc3RhdGUgdHJhbnNpdGlvbnMgdG8gXCJlcnJvcmVkXCIgYmVmb3JlIHRoZSBzaW5rIGFib3J0KCkgbWV0aG9kIHJ1bnMsIGJ1dCB0aGUgd3JpdGVyLmNsb3NlZCBwcm9taXNlIGlzIG5vdFxuICAvLyByZWplY3RlZCB1bnRpbCBhZnRlcndhcmRzLiBUaGlzIG1lYW5zIHRoYXQgc2ltcGx5IHRlc3Rpbmcgc3RhdGUgd2lsbCBub3Qgd29yay5cbiAgV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyRW5zdXJlQ2xvc2VkUHJvbWlzZVJlamVjdGVkKHdyaXRlciwgcmVsZWFzZWRFcnJvcik7XG5cbiAgc3RyZWFtLl93cml0ZXIgPSB1bmRlZmluZWQ7XG4gIHdyaXRlci5fb3duZXJXcml0YWJsZVN0cmVhbSA9IHVuZGVmaW5lZCE7XG59XG5cbmZ1bmN0aW9uIFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlcldyaXRlPFc+KHdyaXRlcjogV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyPFc+LCBjaHVuazogVyk6IFByb21pc2U8dW5kZWZpbmVkPiB7XG4gIGNvbnN0IHN0cmVhbSA9IHdyaXRlci5fb3duZXJXcml0YWJsZVN0cmVhbTtcblxuICBhc3NlcnQoc3RyZWFtICE9PSB1bmRlZmluZWQpO1xuXG4gIGNvbnN0IGNvbnRyb2xsZXIgPSBzdHJlYW0uX3dyaXRhYmxlU3RyZWFtQ29udHJvbGxlcjtcblxuICBjb25zdCBjaHVua1NpemUgPSBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyR2V0Q2h1bmtTaXplKGNvbnRyb2xsZXIsIGNodW5rKTtcblxuICBpZiAoc3RyZWFtICE9PSB3cml0ZXIuX293bmVyV3JpdGFibGVTdHJlYW0pIHtcbiAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChkZWZhdWx0V3JpdGVyTG9ja0V4Y2VwdGlvbignd3JpdGUgdG8nKSk7XG4gIH1cblxuICBjb25zdCBzdGF0ZSA9IHN0cmVhbS5fc3RhdGU7XG4gIGlmIChzdGF0ZSA9PT0gJ2Vycm9yZWQnKSB7XG4gICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgoc3RyZWFtLl9zdG9yZWRFcnJvcik7XG4gIH1cbiAgaWYgKFdyaXRhYmxlU3RyZWFtQ2xvc2VRdWV1ZWRPckluRmxpZ2h0KHN0cmVhbSkgfHwgc3RhdGUgPT09ICdjbG9zZWQnKSB7XG4gICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgobmV3IFR5cGVFcnJvcignVGhlIHN0cmVhbSBpcyBjbG9zaW5nIG9yIGNsb3NlZCBhbmQgY2Fubm90IGJlIHdyaXR0ZW4gdG8nKSk7XG4gIH1cbiAgaWYgKHN0YXRlID09PSAnZXJyb3JpbmcnKSB7XG4gICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgoc3RyZWFtLl9zdG9yZWRFcnJvcik7XG4gIH1cblxuICBhc3NlcnQoc3RhdGUgPT09ICd3cml0YWJsZScpO1xuXG4gIGNvbnN0IHByb21pc2UgPSBXcml0YWJsZVN0cmVhbUFkZFdyaXRlUmVxdWVzdChzdHJlYW0pO1xuXG4gIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJXcml0ZShjb250cm9sbGVyLCBjaHVuaywgY2h1bmtTaXplKTtcblxuICByZXR1cm4gcHJvbWlzZTtcbn1cblxuY29uc3QgY2xvc2VTZW50aW5lbDogdW5pcXVlIHN5bWJvbCA9IHt9IGFzIGFueTtcblxudHlwZSBRdWV1ZVJlY29yZDxXPiA9IFcgfCB0eXBlb2YgY2xvc2VTZW50aW5lbDtcblxuLyoqXG4gKiBBbGxvd3MgY29udHJvbCBvZiBhIHtAbGluayBXcml0YWJsZVN0cmVhbSB8IHdyaXRhYmxlIHN0cmVhbX0ncyBzdGF0ZSBhbmQgaW50ZXJuYWwgcXVldWUuXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY2xhc3MgV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxXID0gYW55PiB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2NvbnRyb2xsZWRXcml0YWJsZVN0cmVhbSE6IFdyaXRhYmxlU3RyZWFtPFc+O1xuICAvKiogQGludGVybmFsICovXG4gIF9xdWV1ZSE6IFNpbXBsZVF1ZXVlPFF1ZXVlUGFpcjxRdWV1ZVJlY29yZDxXPj4+O1xuICAvKiogQGludGVybmFsICovXG4gIF9xdWV1ZVRvdGFsU2l6ZSE6IG51bWJlcjtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfYWJvcnRSZWFzb246IGFueTtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfYWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXIgfCB1bmRlZmluZWQ7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3N0YXJ0ZWQhOiBib29sZWFuO1xuICAvKiogQGludGVybmFsICovXG4gIF9zdHJhdGVneVNpemVBbGdvcml0aG0hOiBRdWV1aW5nU3RyYXRlZ3lTaXplQ2FsbGJhY2s8Vz47XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3N0cmF0ZWd5SFdNITogbnVtYmVyO1xuICAvKiogQGludGVybmFsICovXG4gIF93cml0ZUFsZ29yaXRobSE6IChjaHVuazogVykgPT4gUHJvbWlzZTx2b2lkPjtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfY2xvc2VBbGdvcml0aG0hOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAvKiogQGludGVybmFsICovXG4gIF9hYm9ydEFsZ29yaXRobSE6IChyZWFzb246IGFueSkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0lsbGVnYWwgY29uc3RydWN0b3InKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgcmVhc29uIHdoaWNoIHdhcyBwYXNzZWQgdG8gYFdyaXRhYmxlU3RyZWFtLmFib3J0KHJlYXNvbilgIHdoZW4gdGhlIHN0cmVhbSB3YXMgYWJvcnRlZC5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWRcbiAgICogIFRoaXMgcHJvcGVydHkgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBzcGVjaWZpY2F0aW9uLCBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3doYXR3Zy9zdHJlYW1zL3B1bGwvMTE3Ny5cbiAgICogIFVzZSB7QGxpbmsgV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5zaWduYWx9J3MgYHJlYXNvbmAgaW5zdGVhZC5cbiAgICovXG4gIGdldCBhYm9ydFJlYXNvbigpOiBhbnkge1xuICAgIGlmICghSXNXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyKHRoaXMpKSB7XG4gICAgICB0aHJvdyBkZWZhdWx0Q29udHJvbGxlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ2Fib3J0UmVhc29uJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9hYm9ydFJlYXNvbjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbiBgQWJvcnRTaWduYWxgIHRoYXQgY2FuIGJlIHVzZWQgdG8gYWJvcnQgdGhlIHBlbmRpbmcgd3JpdGUgb3IgY2xvc2Ugb3BlcmF0aW9uIHdoZW4gdGhlIHN0cmVhbSBpcyBhYm9ydGVkLlxuICAgKi9cbiAgZ2V0IHNpZ25hbCgpOiBBYm9ydFNpZ25hbCB7XG4gICAgaWYgKCFJc1dyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIodGhpcykpIHtcbiAgICAgIHRocm93IGRlZmF1bHRDb250cm9sbGVyQnJhbmRDaGVja0V4Y2VwdGlvbignc2lnbmFsJyk7XG4gICAgfVxuICAgIGlmICh0aGlzLl9hYm9ydENvbnRyb2xsZXIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gT2xkZXIgYnJvd3NlcnMgb3Igb2xkZXIgTm9kZSB2ZXJzaW9ucyBtYXkgbm90IHN1cHBvcnQgYEFib3J0Q29udHJvbGxlcmAgb3IgYEFib3J0U2lnbmFsYC5cbiAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gYnVuZGxlIGFuZCBzaGlwIGFuIGBBYm9ydENvbnRyb2xsZXJgIHBvbHlmaWxsIHRvZ2V0aGVyIHdpdGggb3VyIHBvbHlmaWxsLFxuICAgICAgLy8gc28gaW5zdGVhZCB3ZSBvbmx5IGltcGxlbWVudCBzdXBwb3J0IGZvciBgc2lnbmFsYCBpZiB3ZSBmaW5kIGEgZ2xvYmFsIGBBYm9ydENvbnRyb2xsZXJgIGNvbnN0cnVjdG9yLlxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUuc2lnbmFsIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Fib3J0Q29udHJvbGxlci5zaWduYWw7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBjb250cm9sbGVkIHdyaXRhYmxlIHN0cmVhbSwgbWFraW5nIGFsbCBmdXR1cmUgaW50ZXJhY3Rpb25zIHdpdGggaXQgZmFpbCB3aXRoIHRoZSBnaXZlbiBlcnJvciBgZWAuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGlzIHJhcmVseSB1c2VkLCBzaW5jZSB1c3VhbGx5IGl0IHN1ZmZpY2VzIHRvIHJldHVybiBhIHJlamVjdGVkIHByb21pc2UgZnJvbSBvbmUgb2YgdGhlIHVuZGVybHlpbmdcbiAgICogc2luaydzIG1ldGhvZHMuIEhvd2V2ZXIsIGl0IGNhbiBiZSB1c2VmdWwgZm9yIHN1ZGRlbmx5IHNodXR0aW5nIGRvd24gYSBzdHJlYW0gaW4gcmVzcG9uc2UgdG8gYW4gZXZlbnQgb3V0c2lkZSB0aGVcbiAgICogbm9ybWFsIGxpZmVjeWNsZSBvZiBpbnRlcmFjdGlvbnMgd2l0aCB0aGUgdW5kZXJseWluZyBzaW5rLlxuICAgKi9cbiAgZXJyb3IoZTogYW55ID0gdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgaWYgKCFJc1dyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIodGhpcykpIHtcbiAgICAgIHRocm93IGRlZmF1bHRDb250cm9sbGVyQnJhbmRDaGVja0V4Y2VwdGlvbignZXJyb3InKTtcbiAgICB9XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLl9jb250cm9sbGVkV3JpdGFibGVTdHJlYW0uX3N0YXRlO1xuICAgIGlmIChzdGF0ZSAhPT0gJ3dyaXRhYmxlJykge1xuICAgICAgLy8gVGhlIHN0cmVhbSBpcyBjbG9zZWQsIGVycm9yZWQgb3Igd2lsbCBiZSBzb29uLiBUaGUgc2luayBjYW4ndCBkbyBhbnl0aGluZyB1c2VmdWwgaWYgaXQgZ2V0cyBhbiBlcnJvciBoZXJlLCBzb1xuICAgICAgLy8ganVzdCB0cmVhdCBpdCBhcyBhIG5vLW9wLlxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFcnJvcih0aGlzLCBlKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgW0Fib3J0U3RlcHNdKHJlYXNvbjogYW55KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fYWJvcnRBbGdvcml0aG0ocmVhc29uKTtcbiAgICBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2xlYXJBbGdvcml0aG1zKHRoaXMpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIFtFcnJvclN0ZXBzXSgpIHtcbiAgICBSZXNldFF1ZXVlKHRoaXMpO1xuICB9XG59XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIucHJvdG90eXBlLCB7XG4gIGFib3J0UmVhc29uOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgc2lnbmFsOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgZXJyb3I6IHsgZW51bWVyYWJsZTogdHJ1ZSB9XG59KTtcbmlmICh0eXBlb2YgU3ltYm9sLnRvU3RyaW5nVGFnID09PSAnc3ltYm9sJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZywge1xuICAgIHZhbHVlOiAnV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcicsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xufVxuXG4vLyBBYnN0cmFjdCBvcGVyYXRpb25zIGltcGxlbWVudGluZyBpbnRlcmZhY2UgcmVxdWlyZWQgYnkgdGhlIFdyaXRhYmxlU3RyZWFtLlxuXG5mdW5jdGlvbiBJc1dyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIoeDogYW55KTogeCBpcyBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyPGFueT4ge1xuICBpZiAoIXR5cGVJc09iamVjdCh4KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHgsICdfY29udHJvbGxlZFdyaXRhYmxlU3RyZWFtJykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4geCBpbnN0YW5jZW9mIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI7XG59XG5cbmZ1bmN0aW9uIFNldFVwV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxXPihzdHJlYW06IFdyaXRhYmxlU3RyZWFtPFc+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xsZXI6IFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8Vz4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhcnRBbGdvcml0aG06ICgpID0+IHZvaWQgfCBQcm9taXNlTGlrZTx2b2lkPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0ZUFsZ29yaXRobTogKGNodW5rOiBXKSA9PiBQcm9taXNlPHZvaWQ+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb3NlQWxnb3JpdGhtOiAoKSA9PiBQcm9taXNlPHZvaWQ+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFib3J0QWxnb3JpdGhtOiAocmVhc29uOiBhbnkpID0+IFByb21pc2U8dm9pZD4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGlnaFdhdGVyTWFyazogbnVtYmVyLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVBbGdvcml0aG06IFF1ZXVpbmdTdHJhdGVneVNpemVDYWxsYmFjazxXPikge1xuICBhc3NlcnQoSXNXcml0YWJsZVN0cmVhbShzdHJlYW0pKTtcbiAgYXNzZXJ0KHN0cmVhbS5fd3JpdGFibGVTdHJlYW1Db250cm9sbGVyID09PSB1bmRlZmluZWQpO1xuXG4gIGNvbnRyb2xsZXIuX2NvbnRyb2xsZWRXcml0YWJsZVN0cmVhbSA9IHN0cmVhbTtcbiAgc3RyZWFtLl93cml0YWJsZVN0cmVhbUNvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuXG4gIC8vIE5lZWQgdG8gc2V0IHRoZSBzbG90cyBzbyB0aGF0IHRoZSBhc3NlcnQgZG9lc24ndCBmaXJlLiBJbiB0aGUgc3BlYyB0aGUgc2xvdHMgYWxyZWFkeSBleGlzdCBpbXBsaWNpdGx5LlxuICBjb250cm9sbGVyLl9xdWV1ZSA9IHVuZGVmaW5lZCE7XG4gIGNvbnRyb2xsZXIuX3F1ZXVlVG90YWxTaXplID0gdW5kZWZpbmVkITtcbiAgUmVzZXRRdWV1ZShjb250cm9sbGVyKTtcblxuICBjb250cm9sbGVyLl9hYm9ydFJlYXNvbiA9IHVuZGVmaW5lZDtcbiAgY29udHJvbGxlci5fYWJvcnRDb250cm9sbGVyID0gY3JlYXRlQWJvcnRDb250cm9sbGVyKCk7XG4gIGNvbnRyb2xsZXIuX3N0YXJ0ZWQgPSBmYWxzZTtcblxuICBjb250cm9sbGVyLl9zdHJhdGVneVNpemVBbGdvcml0aG0gPSBzaXplQWxnb3JpdGhtO1xuICBjb250cm9sbGVyLl9zdHJhdGVneUhXTSA9IGhpZ2hXYXRlck1hcms7XG5cbiAgY29udHJvbGxlci5fd3JpdGVBbGdvcml0aG0gPSB3cml0ZUFsZ29yaXRobTtcbiAgY29udHJvbGxlci5fY2xvc2VBbGdvcml0aG0gPSBjbG9zZUFsZ29yaXRobTtcbiAgY29udHJvbGxlci5fYWJvcnRBbGdvcml0aG0gPSBhYm9ydEFsZ29yaXRobTtcblxuICBjb25zdCBiYWNrcHJlc3N1cmUgPSBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyR2V0QmFja3ByZXNzdXJlKGNvbnRyb2xsZXIpO1xuICBXcml0YWJsZVN0cmVhbVVwZGF0ZUJhY2twcmVzc3VyZShzdHJlYW0sIGJhY2twcmVzc3VyZSk7XG5cbiAgY29uc3Qgc3RhcnRSZXN1bHQgPSBzdGFydEFsZ29yaXRobSgpO1xuICBjb25zdCBzdGFydFByb21pc2UgPSBwcm9taXNlUmVzb2x2ZWRXaXRoKHN0YXJ0UmVzdWx0KTtcbiAgdXBvblByb21pc2UoXG4gICAgc3RhcnRQcm9taXNlLFxuICAgICgpID0+IHtcbiAgICAgIGFzc2VydChzdHJlYW0uX3N0YXRlID09PSAnd3JpdGFibGUnIHx8IHN0cmVhbS5fc3RhdGUgPT09ICdlcnJvcmluZycpO1xuICAgICAgY29udHJvbGxlci5fc3RhcnRlZCA9IHRydWU7XG4gICAgICBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQWR2YW5jZVF1ZXVlSWZOZWVkZWQoY29udHJvbGxlcik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9LFxuICAgIHIgPT4ge1xuICAgICAgYXNzZXJ0KHN0cmVhbS5fc3RhdGUgPT09ICd3cml0YWJsZScgfHwgc3RyZWFtLl9zdGF0ZSA9PT0gJ2Vycm9yaW5nJyk7XG4gICAgICBjb250cm9sbGVyLl9zdGFydGVkID0gdHJ1ZTtcbiAgICAgIFdyaXRhYmxlU3RyZWFtRGVhbFdpdGhSZWplY3Rpb24oc3RyZWFtLCByKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgKTtcbn1cblxuZnVuY3Rpb24gU2V0VXBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyRnJvbVVuZGVybHlpbmdTaW5rPFc+KHN0cmVhbTogV3JpdGFibGVTdHJlYW08Vz4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXJseWluZ1Npbms6IFZhbGlkYXRlZFVuZGVybHlpbmdTaW5rPFc+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhpZ2hXYXRlck1hcms6IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplQWxnb3JpdGhtOiBRdWV1aW5nU3RyYXRlZ3lTaXplQ2FsbGJhY2s8Vz4pIHtcbiAgY29uc3QgY29udHJvbGxlciA9IE9iamVjdC5jcmVhdGUoV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUpO1xuXG4gIGxldCBzdGFydEFsZ29yaXRobTogKCkgPT4gdm9pZCB8IFByb21pc2VMaWtlPHZvaWQ+O1xuICBsZXQgd3JpdGVBbGdvcml0aG06IChjaHVuazogVykgPT4gUHJvbWlzZTx2b2lkPjtcbiAgbGV0IGNsb3NlQWxnb3JpdGhtOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBsZXQgYWJvcnRBbGdvcml0aG06IChyZWFzb246IGFueSkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICBpZiAodW5kZXJseWluZ1Npbmsuc3RhcnQgIT09IHVuZGVmaW5lZCkge1xuICAgIHN0YXJ0QWxnb3JpdGhtID0gKCkgPT4gdW5kZXJseWluZ1Npbmsuc3RhcnQhKGNvbnRyb2xsZXIpO1xuICB9IGVsc2Uge1xuICAgIHN0YXJ0QWxnb3JpdGhtID0gKCkgPT4gdW5kZWZpbmVkO1xuICB9XG4gIGlmICh1bmRlcmx5aW5nU2luay53cml0ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgd3JpdGVBbGdvcml0aG0gPSBjaHVuayA9PiB1bmRlcmx5aW5nU2luay53cml0ZSEoY2h1bmssIGNvbnRyb2xsZXIpO1xuICB9IGVsc2Uge1xuICAgIHdyaXRlQWxnb3JpdGhtID0gKCkgPT4gcHJvbWlzZVJlc29sdmVkV2l0aCh1bmRlZmluZWQpO1xuICB9XG4gIGlmICh1bmRlcmx5aW5nU2luay5jbG9zZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2xvc2VBbGdvcml0aG0gPSAoKSA9PiB1bmRlcmx5aW5nU2luay5jbG9zZSEoKTtcbiAgfSBlbHNlIHtcbiAgICBjbG9zZUFsZ29yaXRobSA9ICgpID0+IHByb21pc2VSZXNvbHZlZFdpdGgodW5kZWZpbmVkKTtcbiAgfVxuICBpZiAodW5kZXJseWluZ1NpbmsuYWJvcnQgIT09IHVuZGVmaW5lZCkge1xuICAgIGFib3J0QWxnb3JpdGhtID0gcmVhc29uID0+IHVuZGVybHlpbmdTaW5rLmFib3J0IShyZWFzb24pO1xuICB9IGVsc2Uge1xuICAgIGFib3J0QWxnb3JpdGhtID0gKCkgPT4gcHJvbWlzZVJlc29sdmVkV2l0aCh1bmRlZmluZWQpO1xuICB9XG5cbiAgU2V0VXBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyKFxuICAgIHN0cmVhbSwgY29udHJvbGxlciwgc3RhcnRBbGdvcml0aG0sIHdyaXRlQWxnb3JpdGhtLCBjbG9zZUFsZ29yaXRobSwgYWJvcnRBbGdvcml0aG0sIGhpZ2hXYXRlck1hcmssIHNpemVBbGdvcml0aG1cbiAgKTtcbn1cblxuLy8gQ2xlYXJBbGdvcml0aG1zIG1heSBiZSBjYWxsZWQgdHdpY2UuIEVycm9yaW5nIHRoZSBzYW1lIHN0cmVhbSBpbiBtdWx0aXBsZSB3YXlzIHdpbGwgb2Z0ZW4gcmVzdWx0IGluIHJlZHVuZGFudCBjYWxscy5cbmZ1bmN0aW9uIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDbGVhckFsZ29yaXRobXMoY29udHJvbGxlcjogV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxhbnk+KSB7XG4gIGNvbnRyb2xsZXIuX3dyaXRlQWxnb3JpdGhtID0gdW5kZWZpbmVkITtcbiAgY29udHJvbGxlci5fY2xvc2VBbGdvcml0aG0gPSB1bmRlZmluZWQhO1xuICBjb250cm9sbGVyLl9hYm9ydEFsZ29yaXRobSA9IHVuZGVmaW5lZCE7XG4gIGNvbnRyb2xsZXIuX3N0cmF0ZWd5U2l6ZUFsZ29yaXRobSA9IHVuZGVmaW5lZCE7XG59XG5cbmZ1bmN0aW9uIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDbG9zZTxXPihjb250cm9sbGVyOiBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyPFc+KSB7XG4gIEVucXVldWVWYWx1ZVdpdGhTaXplKGNvbnRyb2xsZXIsIGNsb3NlU2VudGluZWwsIDApO1xuICBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQWR2YW5jZVF1ZXVlSWZOZWVkZWQoY29udHJvbGxlcik7XG59XG5cbmZ1bmN0aW9uIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJHZXRDaHVua1NpemU8Vz4oY29udHJvbGxlcjogV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxXPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2h1bms6IFcpOiBudW1iZXIge1xuICB0cnkge1xuICAgIHJldHVybiBjb250cm9sbGVyLl9zdHJhdGVneVNpemVBbGdvcml0aG0oY2h1bmspO1xuICB9IGNhdGNoIChjaHVua1NpemVFKSB7XG4gICAgV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVycm9ySWZOZWVkZWQoY29udHJvbGxlciwgY2h1bmtTaXplRSk7XG4gICAgcmV0dXJuIDE7XG4gIH1cbn1cblxuZnVuY3Rpb24gV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckdldERlc2lyZWRTaXplKGNvbnRyb2xsZXI6IFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8YW55Pik6IG51bWJlciB7XG4gIHJldHVybiBjb250cm9sbGVyLl9zdHJhdGVneUhXTSAtIGNvbnRyb2xsZXIuX3F1ZXVlVG90YWxTaXplO1xufVxuXG5mdW5jdGlvbiBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyV3JpdGU8Vz4oY29udHJvbGxlcjogV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxXPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaHVuazogVyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaHVua1NpemU6IG51bWJlcikge1xuICB0cnkge1xuICAgIEVucXVldWVWYWx1ZVdpdGhTaXplKGNvbnRyb2xsZXIsIGNodW5rLCBjaHVua1NpemUpO1xuICB9IGNhdGNoIChlbnF1ZXVlRSkge1xuICAgIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFcnJvcklmTmVlZGVkKGNvbnRyb2xsZXIsIGVucXVldWVFKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCBzdHJlYW0gPSBjb250cm9sbGVyLl9jb250cm9sbGVkV3JpdGFibGVTdHJlYW07XG4gIGlmICghV3JpdGFibGVTdHJlYW1DbG9zZVF1ZXVlZE9ySW5GbGlnaHQoc3RyZWFtKSAmJiBzdHJlYW0uX3N0YXRlID09PSAnd3JpdGFibGUnKSB7XG4gICAgY29uc3QgYmFja3ByZXNzdXJlID0gV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckdldEJhY2twcmVzc3VyZShjb250cm9sbGVyKTtcbiAgICBXcml0YWJsZVN0cmVhbVVwZGF0ZUJhY2twcmVzc3VyZShzdHJlYW0sIGJhY2twcmVzc3VyZSk7XG4gIH1cblxuICBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQWR2YW5jZVF1ZXVlSWZOZWVkZWQoY29udHJvbGxlcik7XG59XG5cbi8vIEFic3RyYWN0IG9wZXJhdGlvbnMgZm9yIHRoZSBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLlxuXG5mdW5jdGlvbiBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQWR2YW5jZVF1ZXVlSWZOZWVkZWQ8Vz4oY29udHJvbGxlcjogV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxXPikge1xuICBjb25zdCBzdHJlYW0gPSBjb250cm9sbGVyLl9jb250cm9sbGVkV3JpdGFibGVTdHJlYW07XG5cbiAgaWYgKCFjb250cm9sbGVyLl9zdGFydGVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKHN0cmVhbS5faW5GbGlnaHRXcml0ZVJlcXVlc3QgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IHN0YXRlID0gc3RyZWFtLl9zdGF0ZTtcbiAgYXNzZXJ0KHN0YXRlICE9PSAnY2xvc2VkJyAmJiBzdGF0ZSAhPT0gJ2Vycm9yZWQnKTtcbiAgaWYgKHN0YXRlID09PSAnZXJyb3JpbmcnKSB7XG4gICAgV3JpdGFibGVTdHJlYW1GaW5pc2hFcnJvcmluZyhzdHJlYW0pO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChjb250cm9sbGVyLl9xdWV1ZS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb25zdCB2YWx1ZSA9IFBlZWtRdWV1ZVZhbHVlKGNvbnRyb2xsZXIpO1xuICBpZiAodmFsdWUgPT09IGNsb3NlU2VudGluZWwpIHtcbiAgICBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyUHJvY2Vzc0Nsb3NlKGNvbnRyb2xsZXIpO1xuICB9IGVsc2Uge1xuICAgIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJQcm9jZXNzV3JpdGUoY29udHJvbGxlciwgdmFsdWUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFcnJvcklmTmVlZGVkKGNvbnRyb2xsZXI6IFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8YW55PiwgZXJyb3I6IGFueSkge1xuICBpZiAoY29udHJvbGxlci5fY29udHJvbGxlZFdyaXRhYmxlU3RyZWFtLl9zdGF0ZSA9PT0gJ3dyaXRhYmxlJykge1xuICAgIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFcnJvcihjb250cm9sbGVyLCBlcnJvcik7XG4gIH1cbn1cblxuZnVuY3Rpb24gV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlclByb2Nlc3NDbG9zZShjb250cm9sbGVyOiBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyPGFueT4pIHtcbiAgY29uc3Qgc3RyZWFtID0gY29udHJvbGxlci5fY29udHJvbGxlZFdyaXRhYmxlU3RyZWFtO1xuXG4gIFdyaXRhYmxlU3RyZWFtTWFya0Nsb3NlUmVxdWVzdEluRmxpZ2h0KHN0cmVhbSk7XG5cbiAgRGVxdWV1ZVZhbHVlKGNvbnRyb2xsZXIpO1xuICBhc3NlcnQoY29udHJvbGxlci5fcXVldWUubGVuZ3RoID09PSAwKTtcblxuICBjb25zdCBzaW5rQ2xvc2VQcm9taXNlID0gY29udHJvbGxlci5fY2xvc2VBbGdvcml0aG0oKTtcbiAgV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNsZWFyQWxnb3JpdGhtcyhjb250cm9sbGVyKTtcbiAgdXBvblByb21pc2UoXG4gICAgc2lua0Nsb3NlUHJvbWlzZSxcbiAgICAoKSA9PiB7XG4gICAgICBXcml0YWJsZVN0cmVhbUZpbmlzaEluRmxpZ2h0Q2xvc2Uoc3RyZWFtKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0sXG4gICAgcmVhc29uID0+IHtcbiAgICAgIFdyaXRhYmxlU3RyZWFtRmluaXNoSW5GbGlnaHRDbG9zZVdpdGhFcnJvcihzdHJlYW0sIHJlYXNvbik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICk7XG59XG5cbmZ1bmN0aW9uIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJQcm9jZXNzV3JpdGU8Vz4oY29udHJvbGxlcjogV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxXPiwgY2h1bms6IFcpIHtcbiAgY29uc3Qgc3RyZWFtID0gY29udHJvbGxlci5fY29udHJvbGxlZFdyaXRhYmxlU3RyZWFtO1xuXG4gIFdyaXRhYmxlU3RyZWFtTWFya0ZpcnN0V3JpdGVSZXF1ZXN0SW5GbGlnaHQoc3RyZWFtKTtcblxuICBjb25zdCBzaW5rV3JpdGVQcm9taXNlID0gY29udHJvbGxlci5fd3JpdGVBbGdvcml0aG0oY2h1bmspO1xuICB1cG9uUHJvbWlzZShcbiAgICBzaW5rV3JpdGVQcm9taXNlLFxuICAgICgpID0+IHtcbiAgICAgIFdyaXRhYmxlU3RyZWFtRmluaXNoSW5GbGlnaHRXcml0ZShzdHJlYW0pO1xuXG4gICAgICBjb25zdCBzdGF0ZSA9IHN0cmVhbS5fc3RhdGU7XG4gICAgICBhc3NlcnQoc3RhdGUgPT09ICd3cml0YWJsZScgfHwgc3RhdGUgPT09ICdlcnJvcmluZycpO1xuXG4gICAgICBEZXF1ZXVlVmFsdWUoY29udHJvbGxlcik7XG5cbiAgICAgIGlmICghV3JpdGFibGVTdHJlYW1DbG9zZVF1ZXVlZE9ySW5GbGlnaHQoc3RyZWFtKSAmJiBzdGF0ZSA9PT0gJ3dyaXRhYmxlJykge1xuICAgICAgICBjb25zdCBiYWNrcHJlc3N1cmUgPSBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyR2V0QmFja3ByZXNzdXJlKGNvbnRyb2xsZXIpO1xuICAgICAgICBXcml0YWJsZVN0cmVhbVVwZGF0ZUJhY2twcmVzc3VyZShzdHJlYW0sIGJhY2twcmVzc3VyZSk7XG4gICAgICB9XG5cbiAgICAgIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJBZHZhbmNlUXVldWVJZk5lZWRlZChjb250cm9sbGVyKTtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0sXG4gICAgcmVhc29uID0+IHtcbiAgICAgIGlmIChzdHJlYW0uX3N0YXRlID09PSAnd3JpdGFibGUnKSB7XG4gICAgICAgIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDbGVhckFsZ29yaXRobXMoY29udHJvbGxlcik7XG4gICAgICB9XG4gICAgICBXcml0YWJsZVN0cmVhbUZpbmlzaEluRmxpZ2h0V3JpdGVXaXRoRXJyb3Ioc3RyZWFtLCByZWFzb24pO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICApO1xufVxuXG5mdW5jdGlvbiBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyR2V0QmFja3ByZXNzdXJlKGNvbnRyb2xsZXI6IFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8YW55Pik6IGJvb2xlYW4ge1xuICBjb25zdCBkZXNpcmVkU2l6ZSA9IFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJHZXREZXNpcmVkU2l6ZShjb250cm9sbGVyKTtcbiAgcmV0dXJuIGRlc2lyZWRTaXplIDw9IDA7XG59XG5cbi8vIEEgY2xpZW50IG9mIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIgbWF5IHVzZSB0aGVzZSBmdW5jdGlvbnMgZGlyZWN0bHkgdG8gYnlwYXNzIHN0YXRlIGNoZWNrLlxuXG5mdW5jdGlvbiBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyRXJyb3IoY29udHJvbGxlcjogV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxhbnk+LCBlcnJvcjogYW55KSB7XG4gIGNvbnN0IHN0cmVhbSA9IGNvbnRyb2xsZXIuX2NvbnRyb2xsZWRXcml0YWJsZVN0cmVhbTtcblxuICBhc3NlcnQoc3RyZWFtLl9zdGF0ZSA9PT0gJ3dyaXRhYmxlJyk7XG5cbiAgV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNsZWFyQWxnb3JpdGhtcyhjb250cm9sbGVyKTtcbiAgV3JpdGFibGVTdHJlYW1TdGFydEVycm9yaW5nKHN0cmVhbSwgZXJyb3IpO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb25zIGZvciB0aGUgV3JpdGFibGVTdHJlYW0uXG5cbmZ1bmN0aW9uIHN0cmVhbUJyYW5kQ2hlY2tFeGNlcHRpb24obmFtZTogc3RyaW5nKTogVHlwZUVycm9yIHtcbiAgcmV0dXJuIG5ldyBUeXBlRXJyb3IoYFdyaXRhYmxlU3RyZWFtLnByb3RvdHlwZS4ke25hbWV9IGNhbiBvbmx5IGJlIHVzZWQgb24gYSBXcml0YWJsZVN0cmVhbWApO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb25zIGZvciB0aGUgV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5cblxuZnVuY3Rpb24gZGVmYXVsdENvbnRyb2xsZXJCcmFuZENoZWNrRXhjZXB0aW9uKG5hbWU6IHN0cmluZyk6IFR5cGVFcnJvciB7XG4gIHJldHVybiBuZXcgVHlwZUVycm9yKFxuICAgIGBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZS4ke25hbWV9IGNhbiBvbmx5IGJlIHVzZWQgb24gYSBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyYCk7XG59XG5cblxuLy8gSGVscGVyIGZ1bmN0aW9ucyBmb3IgdGhlIFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlci5cblxuZnVuY3Rpb24gZGVmYXVsdFdyaXRlckJyYW5kQ2hlY2tFeGNlcHRpb24obmFtZTogc3RyaW5nKTogVHlwZUVycm9yIHtcbiAgcmV0dXJuIG5ldyBUeXBlRXJyb3IoXG4gICAgYFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlci5wcm90b3R5cGUuJHtuYW1lfSBjYW4gb25seSBiZSB1c2VkIG9uIGEgV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyYCk7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRXcml0ZXJMb2NrRXhjZXB0aW9uKG5hbWU6IHN0cmluZyk6IFR5cGVFcnJvciB7XG4gIHJldHVybiBuZXcgVHlwZUVycm9yKCdDYW5ub3QgJyArIG5hbWUgKyAnIGEgc3RyZWFtIHVzaW5nIGEgcmVsZWFzZWQgd3JpdGVyJyk7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRXcml0ZXJDbG9zZWRQcm9taXNlSW5pdGlhbGl6ZSh3cml0ZXI6IFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlcikge1xuICB3cml0ZXIuX2Nsb3NlZFByb21pc2UgPSBuZXdQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICB3cml0ZXIuX2Nsb3NlZFByb21pc2VfcmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgd3JpdGVyLl9jbG9zZWRQcm9taXNlX3JlamVjdCA9IHJlamVjdDtcbiAgICB3cml0ZXIuX2Nsb3NlZFByb21pc2VTdGF0ZSA9ICdwZW5kaW5nJztcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRXcml0ZXJDbG9zZWRQcm9taXNlSW5pdGlhbGl6ZUFzUmVqZWN0ZWQod3JpdGVyOiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIsIHJlYXNvbjogYW55KSB7XG4gIGRlZmF1bHRXcml0ZXJDbG9zZWRQcm9taXNlSW5pdGlhbGl6ZSh3cml0ZXIpO1xuICBkZWZhdWx0V3JpdGVyQ2xvc2VkUHJvbWlzZVJlamVjdCh3cml0ZXIsIHJlYXNvbik7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRXcml0ZXJDbG9zZWRQcm9taXNlSW5pdGlhbGl6ZUFzUmVzb2x2ZWQod3JpdGVyOiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIpIHtcbiAgZGVmYXVsdFdyaXRlckNsb3NlZFByb21pc2VJbml0aWFsaXplKHdyaXRlcik7XG4gIGRlZmF1bHRXcml0ZXJDbG9zZWRQcm9taXNlUmVzb2x2ZSh3cml0ZXIpO1xufVxuXG5mdW5jdGlvbiBkZWZhdWx0V3JpdGVyQ2xvc2VkUHJvbWlzZVJlamVjdCh3cml0ZXI6IFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlciwgcmVhc29uOiBhbnkpIHtcbiAgaWYgKHdyaXRlci5fY2xvc2VkUHJvbWlzZV9yZWplY3QgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuICBhc3NlcnQod3JpdGVyLl9jbG9zZWRQcm9taXNlU3RhdGUgPT09ICdwZW5kaW5nJyk7XG5cbiAgc2V0UHJvbWlzZUlzSGFuZGxlZFRvVHJ1ZSh3cml0ZXIuX2Nsb3NlZFByb21pc2UpO1xuICB3cml0ZXIuX2Nsb3NlZFByb21pc2VfcmVqZWN0KHJlYXNvbik7XG4gIHdyaXRlci5fY2xvc2VkUHJvbWlzZV9yZXNvbHZlID0gdW5kZWZpbmVkO1xuICB3cml0ZXIuX2Nsb3NlZFByb21pc2VfcmVqZWN0ID0gdW5kZWZpbmVkO1xuICB3cml0ZXIuX2Nsb3NlZFByb21pc2VTdGF0ZSA9ICdyZWplY3RlZCc7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRXcml0ZXJDbG9zZWRQcm9taXNlUmVzZXRUb1JlamVjdGVkKHdyaXRlcjogV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyLCByZWFzb246IGFueSkge1xuICBhc3NlcnQod3JpdGVyLl9jbG9zZWRQcm9taXNlX3Jlc29sdmUgPT09IHVuZGVmaW5lZCk7XG4gIGFzc2VydCh3cml0ZXIuX2Nsb3NlZFByb21pc2VfcmVqZWN0ID09PSB1bmRlZmluZWQpO1xuICBhc3NlcnQod3JpdGVyLl9jbG9zZWRQcm9taXNlU3RhdGUgIT09ICdwZW5kaW5nJyk7XG5cbiAgZGVmYXVsdFdyaXRlckNsb3NlZFByb21pc2VJbml0aWFsaXplQXNSZWplY3RlZCh3cml0ZXIsIHJlYXNvbik7XG59XG5cbmZ1bmN0aW9uIGRlZmF1bHRXcml0ZXJDbG9zZWRQcm9taXNlUmVzb2x2ZSh3cml0ZXI6IFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlcikge1xuICBpZiAod3JpdGVyLl9jbG9zZWRQcm9taXNlX3Jlc29sdmUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuICBhc3NlcnQod3JpdGVyLl9jbG9zZWRQcm9taXNlU3RhdGUgPT09ICdwZW5kaW5nJyk7XG5cbiAgd3JpdGVyLl9jbG9zZWRQcm9taXNlX3Jlc29sdmUodW5kZWZpbmVkKTtcbiAgd3JpdGVyLl9jbG9zZWRQcm9taXNlX3Jlc29sdmUgPSB1bmRlZmluZWQ7XG4gIHdyaXRlci5fY2xvc2VkUHJvbWlzZV9yZWplY3QgPSB1bmRlZmluZWQ7XG4gIHdyaXRlci5fY2xvc2VkUHJvbWlzZVN0YXRlID0gJ3Jlc29sdmVkJztcbn1cblxuZnVuY3Rpb24gZGVmYXVsdFdyaXRlclJlYWR5UHJvbWlzZUluaXRpYWxpemUod3JpdGVyOiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIpIHtcbiAgd3JpdGVyLl9yZWFkeVByb21pc2UgPSBuZXdQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICB3cml0ZXIuX3JlYWR5UHJvbWlzZV9yZXNvbHZlID0gcmVzb2x2ZTtcbiAgICB3cml0ZXIuX3JlYWR5UHJvbWlzZV9yZWplY3QgPSByZWplY3Q7XG4gIH0pO1xuICB3cml0ZXIuX3JlYWR5UHJvbWlzZVN0YXRlID0gJ3BlbmRpbmcnO1xufVxuXG5mdW5jdGlvbiBkZWZhdWx0V3JpdGVyUmVhZHlQcm9taXNlSW5pdGlhbGl6ZUFzUmVqZWN0ZWQod3JpdGVyOiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIsIHJlYXNvbjogYW55KSB7XG4gIGRlZmF1bHRXcml0ZXJSZWFkeVByb21pc2VJbml0aWFsaXplKHdyaXRlcik7XG4gIGRlZmF1bHRXcml0ZXJSZWFkeVByb21pc2VSZWplY3Qod3JpdGVyLCByZWFzb24pO1xufVxuXG5mdW5jdGlvbiBkZWZhdWx0V3JpdGVyUmVhZHlQcm9taXNlSW5pdGlhbGl6ZUFzUmVzb2x2ZWQod3JpdGVyOiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIpIHtcbiAgZGVmYXVsdFdyaXRlclJlYWR5UHJvbWlzZUluaXRpYWxpemUod3JpdGVyKTtcbiAgZGVmYXVsdFdyaXRlclJlYWR5UHJvbWlzZVJlc29sdmUod3JpdGVyKTtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdFdyaXRlclJlYWR5UHJvbWlzZVJlamVjdCh3cml0ZXI6IFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlciwgcmVhc29uOiBhbnkpIHtcbiAgaWYgKHdyaXRlci5fcmVhZHlQcm9taXNlX3JlamVjdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgc2V0UHJvbWlzZUlzSGFuZGxlZFRvVHJ1ZSh3cml0ZXIuX3JlYWR5UHJvbWlzZSk7XG4gIHdyaXRlci5fcmVhZHlQcm9taXNlX3JlamVjdChyZWFzb24pO1xuICB3cml0ZXIuX3JlYWR5UHJvbWlzZV9yZXNvbHZlID0gdW5kZWZpbmVkO1xuICB3cml0ZXIuX3JlYWR5UHJvbWlzZV9yZWplY3QgPSB1bmRlZmluZWQ7XG4gIHdyaXRlci5fcmVhZHlQcm9taXNlU3RhdGUgPSAncmVqZWN0ZWQnO1xufVxuXG5mdW5jdGlvbiBkZWZhdWx0V3JpdGVyUmVhZHlQcm9taXNlUmVzZXQod3JpdGVyOiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIpIHtcbiAgYXNzZXJ0KHdyaXRlci5fcmVhZHlQcm9taXNlX3Jlc29sdmUgPT09IHVuZGVmaW5lZCk7XG4gIGFzc2VydCh3cml0ZXIuX3JlYWR5UHJvbWlzZV9yZWplY3QgPT09IHVuZGVmaW5lZCk7XG5cbiAgZGVmYXVsdFdyaXRlclJlYWR5UHJvbWlzZUluaXRpYWxpemUod3JpdGVyKTtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdFdyaXRlclJlYWR5UHJvbWlzZVJlc2V0VG9SZWplY3RlZCh3cml0ZXI6IFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlciwgcmVhc29uOiBhbnkpIHtcbiAgYXNzZXJ0KHdyaXRlci5fcmVhZHlQcm9taXNlX3Jlc29sdmUgPT09IHVuZGVmaW5lZCk7XG4gIGFzc2VydCh3cml0ZXIuX3JlYWR5UHJvbWlzZV9yZWplY3QgPT09IHVuZGVmaW5lZCk7XG5cbiAgZGVmYXVsdFdyaXRlclJlYWR5UHJvbWlzZUluaXRpYWxpemVBc1JlamVjdGVkKHdyaXRlciwgcmVhc29uKTtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdFdyaXRlclJlYWR5UHJvbWlzZVJlc29sdmUod3JpdGVyOiBXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIpIHtcbiAgaWYgKHdyaXRlci5fcmVhZHlQcm9taXNlX3Jlc29sdmUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHdyaXRlci5fcmVhZHlQcm9taXNlX3Jlc29sdmUodW5kZWZpbmVkKTtcbiAgd3JpdGVyLl9yZWFkeVByb21pc2VfcmVzb2x2ZSA9IHVuZGVmaW5lZDtcbiAgd3JpdGVyLl9yZWFkeVByb21pc2VfcmVqZWN0ID0gdW5kZWZpbmVkO1xuICB3cml0ZXIuX3JlYWR5UHJvbWlzZVN0YXRlID0gJ2Z1bGZpbGxlZCc7XG59XG4iLCAiLy8vIDxyZWZlcmVuY2UgbGliPVwiZG9tXCIgLz5cblxuZnVuY3Rpb24gZ2V0R2xvYmFscygpOiB0eXBlb2YgZ2xvYmFsVGhpcyB8IHVuZGVmaW5lZCB7XG4gIGlmICh0eXBlb2YgZ2xvYmFsVGhpcyAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gZ2xvYmFsVGhpcztcbiAgfSBlbHNlIGlmICh0eXBlb2Ygc2VsZiAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gc2VsZjtcbiAgfSBlbHNlIGlmICh0eXBlb2YgZ2xvYmFsICE9PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBnbG9iYWw7XG4gIH1cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGNvbnN0IGdsb2JhbHMgPSBnZXRHbG9iYWxzKCk7XG4iLCAiLy8vIDxyZWZlcmVuY2UgdHlwZXM9XCJub2RlXCIgLz5cbmltcG9ydCB7IGdsb2JhbHMgfSBmcm9tICcuLi9nbG9iYWxzJztcbmltcG9ydCB7IHNldEZ1bmN0aW9uTmFtZSB9IGZyb20gJy4uL2xpYi9oZWxwZXJzL21pc2NlbGxhbmVvdXMnO1xuXG5pbnRlcmZhY2UgRE9NRXhjZXB0aW9uIGV4dGVuZHMgRXJyb3Ige1xuICBuYW1lOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxudHlwZSBET01FeGNlcHRpb25Db25zdHJ1Y3RvciA9IG5ldyAobWVzc2FnZT86IHN0cmluZywgbmFtZT86IHN0cmluZykgPT4gRE9NRXhjZXB0aW9uO1xuXG5mdW5jdGlvbiBpc0RPTUV4Y2VwdGlvbkNvbnN0cnVjdG9yKGN0b3I6IHVua25vd24pOiBjdG9yIGlzIERPTUV4Y2VwdGlvbkNvbnN0cnVjdG9yIHtcbiAgaWYgKCEodHlwZW9mIGN0b3IgPT09ICdmdW5jdGlvbicgfHwgdHlwZW9mIGN0b3IgPT09ICdvYmplY3QnKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoKGN0b3IgYXMgRE9NRXhjZXB0aW9uQ29uc3RydWN0b3IpLm5hbWUgIT09ICdET01FeGNlcHRpb24nKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHRyeSB7XG4gICAgbmV3IChjdG9yIGFzIERPTUV4Y2VwdGlvbkNvbnN0cnVjdG9yKSgpO1xuICAgIHJldHVybiB0cnVlO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqXG4gKiBTdXBwb3J0OlxuICogLSBXZWIgYnJvd3NlcnNcbiAqIC0gTm9kZSAxOCBhbmQgaGlnaGVyIChodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGUvY29tbWl0L2U0YjFmYjVlNjQyMmMxZmYxNTEyMzRiYjlkZTc5MmQ0NWRkODhkODcpXG4gKi9cbmZ1bmN0aW9uIGdldEZyb21HbG9iYWwoKTogRE9NRXhjZXB0aW9uQ29uc3RydWN0b3IgfCB1bmRlZmluZWQge1xuICBjb25zdCBjdG9yID0gZ2xvYmFscz8uRE9NRXhjZXB0aW9uO1xuICByZXR1cm4gaXNET01FeGNlcHRpb25Db25zdHJ1Y3RvcihjdG9yKSA/IGN0b3IgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogU3VwcG9ydDpcbiAqIC0gQWxsIHBsYXRmb3Jtc1xuICovXG5mdW5jdGlvbiBjcmVhdGVQb2x5ZmlsbCgpOiBET01FeGNlcHRpb25Db25zdHJ1Y3RvciB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93XG4gIGNvbnN0IGN0b3IgPSBmdW5jdGlvbiBET01FeGNlcHRpb24odGhpczogRE9NRXhjZXB0aW9uLCBtZXNzYWdlPzogc3RyaW5nLCBuYW1lPzogc3RyaW5nKSB7XG4gICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZSB8fCAnJztcbiAgICB0aGlzLm5hbWUgPSBuYW1lIHx8ICdFcnJvcic7XG4gICAgaWYgKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKSB7XG4gICAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCB0aGlzLmNvbnN0cnVjdG9yKTtcbiAgICB9XG4gIH0gYXMgYW55O1xuICBzZXRGdW5jdGlvbk5hbWUoY3RvciwgJ0RPTUV4Y2VwdGlvbicpO1xuICBjdG9yLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKTtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGN0b3IucHJvdG90eXBlLCAnY29uc3RydWN0b3InLCB7IHZhbHVlOiBjdG9yLCB3cml0YWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlIH0pO1xuICByZXR1cm4gY3Rvcjtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1yZWRlY2xhcmVcbmNvbnN0IERPTUV4Y2VwdGlvbjogRE9NRXhjZXB0aW9uQ29uc3RydWN0b3IgPSBnZXRGcm9tR2xvYmFsKCkgfHwgY3JlYXRlUG9seWZpbGwoKTtcblxuZXhwb3J0IHsgRE9NRXhjZXB0aW9uIH07XG4iLCAiaW1wb3J0IHsgSXNSZWFkYWJsZVN0cmVhbSwgSXNSZWFkYWJsZVN0cmVhbUxvY2tlZCwgUmVhZGFibGVTdHJlYW0sIFJlYWRhYmxlU3RyZWFtQ2FuY2VsIH0gZnJvbSAnLi4vcmVhZGFibGUtc3RyZWFtJztcbmltcG9ydCB7IEFjcXVpcmVSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIsIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlclJlYWQgfSBmcm9tICcuL2RlZmF1bHQtcmVhZGVyJztcbmltcG9ydCB7IFJlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJpY1JlbGVhc2UgfSBmcm9tICcuL2dlbmVyaWMtcmVhZGVyJztcbmltcG9ydCB7XG4gIEFjcXVpcmVXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIsXG4gIElzV3JpdGFibGVTdHJlYW0sXG4gIElzV3JpdGFibGVTdHJlYW1Mb2NrZWQsXG4gIFdyaXRhYmxlU3RyZWFtLFxuICBXcml0YWJsZVN0cmVhbUFib3J0LFxuICBXcml0YWJsZVN0cmVhbUNsb3NlUXVldWVkT3JJbkZsaWdodCxcbiAgV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyQ2xvc2VXaXRoRXJyb3JQcm9wYWdhdGlvbixcbiAgV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyUmVsZWFzZSxcbiAgV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyV3JpdGVcbn0gZnJvbSAnLi4vd3JpdGFibGUtc3RyZWFtJztcbmltcG9ydCBhc3NlcnQgZnJvbSAnLi4vLi4vc3R1Yi9hc3NlcnQnO1xuaW1wb3J0IHtcbiAgbmV3UHJvbWlzZSxcbiAgUGVyZm9ybVByb21pc2VUaGVuLFxuICBwcm9taXNlUmVzb2x2ZWRXaXRoLFxuICBzZXRQcm9taXNlSXNIYW5kbGVkVG9UcnVlLFxuICB1cG9uRnVsZmlsbG1lbnQsXG4gIHVwb25Qcm9taXNlLFxuICB1cG9uUmVqZWN0aW9uXG59IGZyb20gJy4uL2hlbHBlcnMvd2ViaWRsJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi8uLi91dGlscyc7XG5pbXBvcnQgeyB0eXBlIEFib3J0U2lnbmFsLCBpc0Fib3J0U2lnbmFsIH0gZnJvbSAnLi4vYWJvcnQtc2lnbmFsJztcbmltcG9ydCB7IERPTUV4Y2VwdGlvbiB9IGZyb20gJy4uLy4uL3N0dWIvZG9tLWV4Y2VwdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBSZWFkYWJsZVN0cmVhbVBpcGVUbzxUPihzb3VyY2U6IFJlYWRhYmxlU3RyZWFtPFQ+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc3Q6IFdyaXRhYmxlU3RyZWFtPFQ+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByZXZlbnRDbG9zZTogYm9vbGVhbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmV2ZW50QWJvcnQ6IGJvb2xlYW4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJldmVudENhbmNlbDogYm9vbGVhbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaWduYWw6IEFib3J0U2lnbmFsIHwgdW5kZWZpbmVkKTogUHJvbWlzZTx1bmRlZmluZWQ+IHtcbiAgYXNzZXJ0KElzUmVhZGFibGVTdHJlYW0oc291cmNlKSk7XG4gIGFzc2VydChJc1dyaXRhYmxlU3RyZWFtKGRlc3QpKTtcbiAgYXNzZXJ0KHR5cGVvZiBwcmV2ZW50Q2xvc2UgPT09ICdib29sZWFuJyk7XG4gIGFzc2VydCh0eXBlb2YgcHJldmVudEFib3J0ID09PSAnYm9vbGVhbicpO1xuICBhc3NlcnQodHlwZW9mIHByZXZlbnRDYW5jZWwgPT09ICdib29sZWFuJyk7XG4gIGFzc2VydChzaWduYWwgPT09IHVuZGVmaW5lZCB8fCBpc0Fib3J0U2lnbmFsKHNpZ25hbCkpO1xuICBhc3NlcnQoIUlzUmVhZGFibGVTdHJlYW1Mb2NrZWQoc291cmNlKSk7XG4gIGFzc2VydCghSXNXcml0YWJsZVN0cmVhbUxvY2tlZChkZXN0KSk7XG5cbiAgY29uc3QgcmVhZGVyID0gQWNxdWlyZVJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcjxUPihzb3VyY2UpO1xuICBjb25zdCB3cml0ZXIgPSBBY3F1aXJlV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyPFQ+KGRlc3QpO1xuXG4gIHNvdXJjZS5fZGlzdHVyYmVkID0gdHJ1ZTtcblxuICBsZXQgc2h1dHRpbmdEb3duID0gZmFsc2U7XG5cbiAgLy8gVGhpcyBpcyB1c2VkIHRvIGtlZXAgdHJhY2sgb2YgdGhlIHNwZWMncyByZXF1aXJlbWVudCB0aGF0IHdlIHdhaXQgZm9yIG9uZ29pbmcgd3JpdGVzIGR1cmluZyBzaHV0ZG93bi5cbiAgbGV0IGN1cnJlbnRXcml0ZSA9IHByb21pc2VSZXNvbHZlZFdpdGg8dm9pZD4odW5kZWZpbmVkKTtcblxuICByZXR1cm4gbmV3UHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgbGV0IGFib3J0QWxnb3JpdGhtOiAoKSA9PiB2b2lkO1xuICAgIGlmIChzaWduYWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgYWJvcnRBbGdvcml0aG0gPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGVycm9yID0gc2lnbmFsLnJlYXNvbiAhPT0gdW5kZWZpbmVkID8gc2lnbmFsLnJlYXNvbiA6IG5ldyBET01FeGNlcHRpb24oJ0Fib3J0ZWQnLCAnQWJvcnRFcnJvcicpO1xuICAgICAgICBjb25zdCBhY3Rpb25zOiBBcnJheTwoKSA9PiBQcm9taXNlPHZvaWQ+PiA9IFtdO1xuICAgICAgICBpZiAoIXByZXZlbnRBYm9ydCkge1xuICAgICAgICAgIGFjdGlvbnMucHVzaCgoKSA9PiB7XG4gICAgICAgICAgICBpZiAoZGVzdC5fc3RhdGUgPT09ICd3cml0YWJsZScpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIFdyaXRhYmxlU3RyZWFtQWJvcnQoZGVzdCwgZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHByb21pc2VSZXNvbHZlZFdpdGgodW5kZWZpbmVkKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXByZXZlbnRDYW5jZWwpIHtcbiAgICAgICAgICBhY3Rpb25zLnB1c2goKCkgPT4ge1xuICAgICAgICAgICAgaWYgKHNvdXJjZS5fc3RhdGUgPT09ICdyZWFkYWJsZScpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIFJlYWRhYmxlU3RyZWFtQ2FuY2VsKHNvdXJjZSwgZXJyb3IpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHByb21pc2VSZXNvbHZlZFdpdGgodW5kZWZpbmVkKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBzaHV0ZG93bldpdGhBY3Rpb24oKCkgPT4gUHJvbWlzZS5hbGwoYWN0aW9ucy5tYXAoYWN0aW9uID0+IGFjdGlvbigpKSksIHRydWUsIGVycm9yKTtcbiAgICAgIH07XG5cbiAgICAgIGlmIChzaWduYWwuYWJvcnRlZCkge1xuICAgICAgICBhYm9ydEFsZ29yaXRobSgpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsIGFib3J0QWxnb3JpdGhtKTtcbiAgICB9XG5cbiAgICAvLyBVc2luZyByZWFkZXIgYW5kIHdyaXRlciwgcmVhZCBhbGwgY2h1bmtzIGZyb20gdGhpcyBhbmQgd3JpdGUgdGhlbSB0byBkZXN0XG4gICAgLy8gLSBCYWNrcHJlc3N1cmUgbXVzdCBiZSBlbmZvcmNlZFxuICAgIC8vIC0gU2h1dGRvd24gbXVzdCBzdG9wIGFsbCBhY3Rpdml0eVxuICAgIGZ1bmN0aW9uIHBpcGVMb29wKCkge1xuICAgICAgcmV0dXJuIG5ld1Byb21pc2U8dm9pZD4oKHJlc29sdmVMb29wLCByZWplY3RMb29wKSA9PiB7XG4gICAgICAgIGZ1bmN0aW9uIG5leHQoZG9uZTogYm9vbGVhbikge1xuICAgICAgICAgIGlmIChkb25lKSB7XG4gICAgICAgICAgICByZXNvbHZlTG9vcCgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBVc2UgYFBlcmZvcm1Qcm9taXNlVGhlbmAgaW5zdGVhZCBvZiBgdXBvblByb21pc2VgIHRvIGF2b2lkXG4gICAgICAgICAgICAvLyBhZGRpbmcgdW5uZWNlc3NhcnkgYC5jYXRjaChyZXRocm93QXNzZXJ0aW9uRXJyb3JSZWplY3Rpb24pYCBoYW5kbGVyc1xuICAgICAgICAgICAgUGVyZm9ybVByb21pc2VUaGVuKHBpcGVTdGVwKCksIG5leHQsIHJlamVjdExvb3ApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5leHQoZmFsc2UpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gcGlwZVN0ZXAoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgICBpZiAoc2h1dHRpbmdEb3duKSB7XG4gICAgICAgIHJldHVybiBwcm9taXNlUmVzb2x2ZWRXaXRoKHRydWUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gUGVyZm9ybVByb21pc2VUaGVuKHdyaXRlci5fcmVhZHlQcm9taXNlLCAoKSA9PiB7XG4gICAgICAgIHJldHVybiBuZXdQcm9taXNlPGJvb2xlYW4+KChyZXNvbHZlUmVhZCwgcmVqZWN0UmVhZCkgPT4ge1xuICAgICAgICAgIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlclJlYWQoXG4gICAgICAgICAgICByZWFkZXIsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIF9jaHVua1N0ZXBzOiBjaHVuayA9PiB7XG4gICAgICAgICAgICAgICAgY3VycmVudFdyaXRlID0gUGVyZm9ybVByb21pc2VUaGVuKFdyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlcldyaXRlKHdyaXRlciwgY2h1bmspLCB1bmRlZmluZWQsIG5vb3ApO1xuICAgICAgICAgICAgICAgIHJlc29sdmVSZWFkKGZhbHNlKTtcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgX2Nsb3NlU3RlcHM6ICgpID0+IHJlc29sdmVSZWFkKHRydWUpLFxuICAgICAgICAgICAgICBfZXJyb3JTdGVwczogcmVqZWN0UmVhZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgLy8gRXJyb3JzIG11c3QgYmUgcHJvcGFnYXRlZCBmb3J3YXJkXG4gICAgaXNPckJlY29tZXNFcnJvcmVkKHNvdXJjZSwgcmVhZGVyLl9jbG9zZWRQcm9taXNlLCBzdG9yZWRFcnJvciA9PiB7XG4gICAgICBpZiAoIXByZXZlbnRBYm9ydCkge1xuICAgICAgICBzaHV0ZG93bldpdGhBY3Rpb24oKCkgPT4gV3JpdGFibGVTdHJlYW1BYm9ydChkZXN0LCBzdG9yZWRFcnJvciksIHRydWUsIHN0b3JlZEVycm9yKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNodXRkb3duKHRydWUsIHN0b3JlZEVycm9yKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuXG4gICAgLy8gRXJyb3JzIG11c3QgYmUgcHJvcGFnYXRlZCBiYWNrd2FyZFxuICAgIGlzT3JCZWNvbWVzRXJyb3JlZChkZXN0LCB3cml0ZXIuX2Nsb3NlZFByb21pc2UsIHN0b3JlZEVycm9yID0+IHtcbiAgICAgIGlmICghcHJldmVudENhbmNlbCkge1xuICAgICAgICBzaHV0ZG93bldpdGhBY3Rpb24oKCkgPT4gUmVhZGFibGVTdHJlYW1DYW5jZWwoc291cmNlLCBzdG9yZWRFcnJvciksIHRydWUsIHN0b3JlZEVycm9yKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNodXRkb3duKHRydWUsIHN0b3JlZEVycm9yKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBudWxsO1xuICAgIH0pO1xuXG4gICAgLy8gQ2xvc2luZyBtdXN0IGJlIHByb3BhZ2F0ZWQgZm9yd2FyZFxuICAgIGlzT3JCZWNvbWVzQ2xvc2VkKHNvdXJjZSwgcmVhZGVyLl9jbG9zZWRQcm9taXNlLCAoKSA9PiB7XG4gICAgICBpZiAoIXByZXZlbnRDbG9zZSkge1xuICAgICAgICBzaHV0ZG93bldpdGhBY3Rpb24oKCkgPT4gV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyQ2xvc2VXaXRoRXJyb3JQcm9wYWdhdGlvbih3cml0ZXIpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHNodXRkb3duKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcblxuICAgIC8vIENsb3NpbmcgbXVzdCBiZSBwcm9wYWdhdGVkIGJhY2t3YXJkXG4gICAgaWYgKFdyaXRhYmxlU3RyZWFtQ2xvc2VRdWV1ZWRPckluRmxpZ2h0KGRlc3QpIHx8IGRlc3QuX3N0YXRlID09PSAnY2xvc2VkJykge1xuICAgICAgY29uc3QgZGVzdENsb3NlZCA9IG5ldyBUeXBlRXJyb3IoJ3RoZSBkZXN0aW5hdGlvbiB3cml0YWJsZSBzdHJlYW0gY2xvc2VkIGJlZm9yZSBhbGwgZGF0YSBjb3VsZCBiZSBwaXBlZCB0byBpdCcpO1xuXG4gICAgICBpZiAoIXByZXZlbnRDYW5jZWwpIHtcbiAgICAgICAgc2h1dGRvd25XaXRoQWN0aW9uKCgpID0+IFJlYWRhYmxlU3RyZWFtQ2FuY2VsKHNvdXJjZSwgZGVzdENsb3NlZCksIHRydWUsIGRlc3RDbG9zZWQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2h1dGRvd24odHJ1ZSwgZGVzdENsb3NlZCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2V0UHJvbWlzZUlzSGFuZGxlZFRvVHJ1ZShwaXBlTG9vcCgpKTtcblxuICAgIGZ1bmN0aW9uIHdhaXRGb3JXcml0ZXNUb0ZpbmlzaCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICAgIC8vIEFub3RoZXIgd3JpdGUgbWF5IGhhdmUgc3RhcnRlZCB3aGlsZSB3ZSB3ZXJlIHdhaXRpbmcgb24gdGhpcyBjdXJyZW50V3JpdGUsIHNvIHdlIGhhdmUgdG8gYmUgc3VyZSB0byB3YWl0XG4gICAgICAvLyBmb3IgdGhhdCB0b28uXG4gICAgICBjb25zdCBvbGRDdXJyZW50V3JpdGUgPSBjdXJyZW50V3JpdGU7XG4gICAgICByZXR1cm4gUGVyZm9ybVByb21pc2VUaGVuKFxuICAgICAgICBjdXJyZW50V3JpdGUsXG4gICAgICAgICgpID0+IG9sZEN1cnJlbnRXcml0ZSAhPT0gY3VycmVudFdyaXRlID8gd2FpdEZvcldyaXRlc1RvRmluaXNoKCkgOiB1bmRlZmluZWRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gaXNPckJlY29tZXNFcnJvcmVkKHN0cmVhbTogUmVhZGFibGVTdHJlYW0gfCBXcml0YWJsZVN0cmVhbSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvbWlzZTogUHJvbWlzZTx2b2lkPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uOiAocmVhc29uOiBhbnkpID0+IG51bGwpIHtcbiAgICAgIGlmIChzdHJlYW0uX3N0YXRlID09PSAnZXJyb3JlZCcpIHtcbiAgICAgICAgYWN0aW9uKHN0cmVhbS5fc3RvcmVkRXJyb3IpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdXBvblJlamVjdGlvbihwcm9taXNlLCBhY3Rpb24pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGlzT3JCZWNvbWVzQ2xvc2VkKHN0cmVhbTogUmVhZGFibGVTdHJlYW0gfCBXcml0YWJsZVN0cmVhbSwgcHJvbWlzZTogUHJvbWlzZTx2b2lkPiwgYWN0aW9uOiAoKSA9PiBudWxsKSB7XG4gICAgICBpZiAoc3RyZWFtLl9zdGF0ZSA9PT0gJ2Nsb3NlZCcpIHtcbiAgICAgICAgYWN0aW9uKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cG9uRnVsZmlsbG1lbnQocHJvbWlzZSwgYWN0aW9uKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmdW5jdGlvbiBzaHV0ZG93bldpdGhBY3Rpb24oYWN0aW9uOiAoKSA9PiBQcm9taXNlPHVua25vd24+LCBvcmlnaW5hbElzRXJyb3I/OiBib29sZWFuLCBvcmlnaW5hbEVycm9yPzogYW55KSB7XG4gICAgICBpZiAoc2h1dHRpbmdEb3duKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHNodXR0aW5nRG93biA9IHRydWU7XG5cbiAgICAgIGlmIChkZXN0Ll9zdGF0ZSA9PT0gJ3dyaXRhYmxlJyAmJiAhV3JpdGFibGVTdHJlYW1DbG9zZVF1ZXVlZE9ySW5GbGlnaHQoZGVzdCkpIHtcbiAgICAgICAgdXBvbkZ1bGZpbGxtZW50KHdhaXRGb3JXcml0ZXNUb0ZpbmlzaCgpLCBkb1RoZVJlc3QpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZG9UaGVSZXN0KCk7XG4gICAgICB9XG5cbiAgICAgIGZ1bmN0aW9uIGRvVGhlUmVzdCgpOiBudWxsIHtcbiAgICAgICAgdXBvblByb21pc2UoXG4gICAgICAgICAgYWN0aW9uKCksXG4gICAgICAgICAgKCkgPT4gZmluYWxpemUob3JpZ2luYWxJc0Vycm9yLCBvcmlnaW5hbEVycm9yKSxcbiAgICAgICAgICBuZXdFcnJvciA9PiBmaW5hbGl6ZSh0cnVlLCBuZXdFcnJvcilcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZnVuY3Rpb24gc2h1dGRvd24oaXNFcnJvcj86IGJvb2xlYW4sIGVycm9yPzogYW55KSB7XG4gICAgICBpZiAoc2h1dHRpbmdEb3duKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHNodXR0aW5nRG93biA9IHRydWU7XG5cbiAgICAgIGlmIChkZXN0Ll9zdGF0ZSA9PT0gJ3dyaXRhYmxlJyAmJiAhV3JpdGFibGVTdHJlYW1DbG9zZVF1ZXVlZE9ySW5GbGlnaHQoZGVzdCkpIHtcbiAgICAgICAgdXBvbkZ1bGZpbGxtZW50KHdhaXRGb3JXcml0ZXNUb0ZpbmlzaCgpLCAoKSA9PiBmaW5hbGl6ZShpc0Vycm9yLCBlcnJvcikpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZmluYWxpemUoaXNFcnJvciwgZXJyb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZ1bmN0aW9uIGZpbmFsaXplKGlzRXJyb3I/OiBib29sZWFuLCBlcnJvcj86IGFueSk6IG51bGwge1xuICAgICAgV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyUmVsZWFzZSh3cml0ZXIpO1xuICAgICAgUmVhZGFibGVTdHJlYW1SZWFkZXJHZW5lcmljUmVsZWFzZShyZWFkZXIpO1xuXG4gICAgICBpZiAoc2lnbmFsICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgc2lnbmFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgYWJvcnRBbGdvcml0aG0pO1xuICAgICAgfVxuICAgICAgaWYgKGlzRXJyb3IpIHtcbiAgICAgICAgcmVqZWN0KGVycm9yKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc29sdmUodW5kZWZpbmVkKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9KTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IFF1ZXVpbmdTdHJhdGVneVNpemVDYWxsYmFjayB9IGZyb20gJy4uL3F1ZXVpbmctc3RyYXRlZ3knO1xuaW1wb3J0IGFzc2VydCBmcm9tICcuLi8uLi9zdHViL2Fzc2VydCc7XG5pbXBvcnQgeyBEZXF1ZXVlVmFsdWUsIEVucXVldWVWYWx1ZVdpdGhTaXplLCB0eXBlIFF1ZXVlUGFpciwgUmVzZXRRdWV1ZSB9IGZyb20gJy4uL2Fic3RyYWN0LW9wcy9xdWV1ZS13aXRoLXNpemVzJztcbmltcG9ydCB7XG4gIFJlYWRhYmxlU3RyZWFtQWRkUmVhZFJlcXVlc3QsXG4gIFJlYWRhYmxlU3RyZWFtRnVsZmlsbFJlYWRSZXF1ZXN0LFxuICBSZWFkYWJsZVN0cmVhbUdldE51bVJlYWRSZXF1ZXN0cyxcbiAgdHlwZSBSZWFkUmVxdWVzdFxufSBmcm9tICcuL2RlZmF1bHQtcmVhZGVyJztcbmltcG9ydCB7IFNpbXBsZVF1ZXVlIH0gZnJvbSAnLi4vc2ltcGxlLXF1ZXVlJztcbmltcG9ydCB7IElzUmVhZGFibGVTdHJlYW1Mb2NrZWQsIFJlYWRhYmxlU3RyZWFtLCBSZWFkYWJsZVN0cmVhbUNsb3NlLCBSZWFkYWJsZVN0cmVhbUVycm9yIH0gZnJvbSAnLi4vcmVhZGFibGUtc3RyZWFtJztcbmltcG9ydCB0eXBlIHsgVmFsaWRhdGVkVW5kZXJseWluZ1NvdXJjZSB9IGZyb20gJy4vdW5kZXJseWluZy1zb3VyY2UnO1xuaW1wb3J0IHsgc2V0RnVuY3Rpb25OYW1lLCB0eXBlSXNPYmplY3QgfSBmcm9tICcuLi9oZWxwZXJzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHsgQ2FuY2VsU3RlcHMsIFB1bGxTdGVwcywgUmVsZWFzZVN0ZXBzIH0gZnJvbSAnLi4vYWJzdHJhY3Qtb3BzL2ludGVybmFsLW1ldGhvZHMnO1xuaW1wb3J0IHsgcHJvbWlzZVJlc29sdmVkV2l0aCwgdXBvblByb21pc2UgfSBmcm9tICcuLi9oZWxwZXJzL3dlYmlkbCc7XG5cbi8qKlxuICogQWxsb3dzIGNvbnRyb2wgb2YgYSB7QGxpbmsgUmVhZGFibGVTdHJlYW0gfCByZWFkYWJsZSBzdHJlYW19J3Mgc3RhdGUgYW5kIGludGVybmFsIHF1ZXVlLlxuICpcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8Uj4ge1xuICAvKiogQGludGVybmFsICovXG4gIF9jb250cm9sbGVkUmVhZGFibGVTdHJlYW0hOiBSZWFkYWJsZVN0cmVhbTxSPjtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfcXVldWUhOiBTaW1wbGVRdWV1ZTxRdWV1ZVBhaXI8Uj4+O1xuICAvKiogQGludGVybmFsICovXG4gIF9xdWV1ZVRvdGFsU2l6ZSE6IG51bWJlcjtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfc3RhcnRlZCE6IGJvb2xlYW47XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2Nsb3NlUmVxdWVzdGVkITogYm9vbGVhbjtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfcHVsbEFnYWluITogYm9vbGVhbjtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfcHVsbGluZyAhOiBib29sZWFuO1xuICAvKiogQGludGVybmFsICovXG4gIF9zdHJhdGVneVNpemVBbGdvcml0aG0hOiBRdWV1aW5nU3RyYXRlZ3lTaXplQ2FsbGJhY2s8Uj47XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3N0cmF0ZWd5SFdNITogbnVtYmVyO1xuICAvKiogQGludGVybmFsICovXG4gIF9wdWxsQWxnb3JpdGhtITogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfY2FuY2VsQWxnb3JpdGhtITogKHJlYXNvbjogYW55KSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIHByaXZhdGUgY29uc3RydWN0b3IoKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSWxsZWdhbCBjb25zdHJ1Y3RvcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGRlc2lyZWQgc2l6ZSB0byBmaWxsIHRoZSBjb250cm9sbGVkIHN0cmVhbSdzIGludGVybmFsIHF1ZXVlLiBJdCBjYW4gYmUgbmVnYXRpdmUsIGlmIHRoZSBxdWV1ZSBpc1xuICAgKiBvdmVyLWZ1bGwuIEFuIHVuZGVybHlpbmcgc291cmNlIG91Z2h0IHRvIHVzZSB0aGlzIGluZm9ybWF0aW9uIHRvIGRldGVybWluZSB3aGVuIGFuZCBob3cgdG8gYXBwbHkgYmFja3ByZXNzdXJlLlxuICAgKi9cbiAgZ2V0IGRlc2lyZWRTaXplKCk6IG51bWJlciB8IG51bGwge1xuICAgIGlmICghSXNSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyKHRoaXMpKSB7XG4gICAgICB0aHJvdyBkZWZhdWx0Q29udHJvbGxlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ2Rlc2lyZWRTaXplJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJHZXREZXNpcmVkU2l6ZSh0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIGNvbnRyb2xsZWQgcmVhZGFibGUgc3RyZWFtLiBDb25zdW1lcnMgd2lsbCBzdGlsbCBiZSBhYmxlIHRvIHJlYWQgYW55IHByZXZpb3VzbHktZW5xdWV1ZWQgY2h1bmtzIGZyb21cbiAgICogdGhlIHN0cmVhbSwgYnV0IG9uY2UgdGhvc2UgYXJlIHJlYWQsIHRoZSBzdHJlYW0gd2lsbCBiZWNvbWUgY2xvc2VkLlxuICAgKi9cbiAgY2xvc2UoKTogdm9pZCB7XG4gICAgaWYgKCFJc1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIodGhpcykpIHtcbiAgICAgIHRocm93IGRlZmF1bHRDb250cm9sbGVyQnJhbmRDaGVja0V4Y2VwdGlvbignY2xvc2UnKTtcbiAgICB9XG5cbiAgICBpZiAoIVJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDYW5DbG9zZU9yRW5xdWV1ZSh0aGlzKSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIHN0cmVhbSBpcyBub3QgaW4gYSBzdGF0ZSB0aGF0IHBlcm1pdHMgY2xvc2UnKTtcbiAgICB9XG5cbiAgICBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2xvc2UodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogRW5xdWV1ZXMgdGhlIGdpdmVuIGNodW5rIGBjaHVua2AgaW4gdGhlIGNvbnRyb2xsZWQgcmVhZGFibGUgc3RyZWFtLlxuICAgKi9cbiAgZW5xdWV1ZShjaHVuazogUik6IHZvaWQ7XG4gIGVucXVldWUoY2h1bms6IFIgPSB1bmRlZmluZWQhKTogdm9pZCB7XG4gICAgaWYgKCFJc1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIodGhpcykpIHtcbiAgICAgIHRocm93IGRlZmF1bHRDb250cm9sbGVyQnJhbmRDaGVja0V4Y2VwdGlvbignZW5xdWV1ZScpO1xuICAgIH1cblxuICAgIGlmICghUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNhbkNsb3NlT3JFbnF1ZXVlKHRoaXMpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgc3RyZWFtIGlzIG5vdCBpbiBhIHN0YXRlIHRoYXQgcGVybWl0cyBlbnF1ZXVlJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFbnF1ZXVlKHRoaXMsIGNodW5rKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFcnJvcnMgdGhlIGNvbnRyb2xsZWQgcmVhZGFibGUgc3RyZWFtLCBtYWtpbmcgYWxsIGZ1dHVyZSBpbnRlcmFjdGlvbnMgd2l0aCBpdCBmYWlsIHdpdGggdGhlIGdpdmVuIGVycm9yIGBlYC5cbiAgICovXG4gIGVycm9yKGU6IGFueSA9IHVuZGVmaW5lZCk6IHZvaWQge1xuICAgIGlmICghSXNSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyKHRoaXMpKSB7XG4gICAgICB0aHJvdyBkZWZhdWx0Q29udHJvbGxlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ2Vycm9yJyk7XG4gICAgfVxuXG4gICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVycm9yKHRoaXMsIGUpO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBbQ2FuY2VsU3RlcHNdKHJlYXNvbjogYW55KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgUmVzZXRRdWV1ZSh0aGlzKTtcbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLl9jYW5jZWxBbGdvcml0aG0ocmVhc29uKTtcbiAgICBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2xlYXJBbGdvcml0aG1zKHRoaXMpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIFtQdWxsU3RlcHNdKHJlYWRSZXF1ZXN0OiBSZWFkUmVxdWVzdDxSPik6IHZvaWQge1xuICAgIGNvbnN0IHN0cmVhbSA9IHRoaXMuX2NvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbTtcblxuICAgIGlmICh0aGlzLl9xdWV1ZS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBjaHVuayA9IERlcXVldWVWYWx1ZSh0aGlzKTtcblxuICAgICAgaWYgKHRoaXMuX2Nsb3NlUmVxdWVzdGVkICYmIHRoaXMuX3F1ZXVlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2xlYXJBbGdvcml0aG1zKHRoaXMpO1xuICAgICAgICBSZWFkYWJsZVN0cmVhbUNsb3NlKHN0cmVhbSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2FsbFB1bGxJZk5lZWRlZCh0aGlzKTtcbiAgICAgIH1cblxuICAgICAgcmVhZFJlcXVlc3QuX2NodW5rU3RlcHMoY2h1bmspO1xuICAgIH0gZWxzZSB7XG4gICAgICBSZWFkYWJsZVN0cmVhbUFkZFJlYWRSZXF1ZXN0KHN0cmVhbSwgcmVhZFJlcXVlc3QpO1xuICAgICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNhbGxQdWxsSWZOZWVkZWQodGhpcyk7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBbUmVsZWFzZVN0ZXBzXSgpOiB2b2lkIHtcbiAgICAvLyBEbyBub3RoaW5nLlxuICB9XG59XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIucHJvdG90eXBlLCB7XG4gIGNsb3NlOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgZW5xdWV1ZTogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG4gIGVycm9yOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgZGVzaXJlZFNpemU6IHsgZW51bWVyYWJsZTogdHJ1ZSB9XG59KTtcbnNldEZ1bmN0aW9uTmFtZShSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZS5jbG9zZSwgJ2Nsb3NlJyk7XG5zZXRGdW5jdGlvbk5hbWUoUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUuZW5xdWV1ZSwgJ2VucXVldWUnKTtcbnNldEZ1bmN0aW9uTmFtZShSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZS5lcnJvciwgJ2Vycm9yJyk7XG5pZiAodHlwZW9mIFN5bWJvbC50b1N0cmluZ1RhZyA9PT0gJ3N5bWJvbCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIucHJvdG90eXBlLCBTeW1ib2wudG9TdHJpbmdUYWcsIHtcbiAgICB2YWx1ZTogJ1JlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXInLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KTtcbn1cblxuLy8gQWJzdHJhY3Qgb3BlcmF0aW9ucyBmb3IgdGhlIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIuXG5cbmZ1bmN0aW9uIElzUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxSID0gYW55Pih4OiBhbnkpOiB4IGlzIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8Uj4ge1xuICBpZiAoIXR5cGVJc09iamVjdCh4KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHgsICdfY29udHJvbGxlZFJlYWRhYmxlU3RyZWFtJykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4geCBpbnN0YW5jZW9mIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI7XG59XG5cbmZ1bmN0aW9uIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDYWxsUHVsbElmTmVlZGVkKGNvbnRyb2xsZXI6IFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8YW55Pik6IHZvaWQge1xuICBjb25zdCBzaG91bGRQdWxsID0gUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlclNob3VsZENhbGxQdWxsKGNvbnRyb2xsZXIpO1xuICBpZiAoIXNob3VsZFB1bGwpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAoY29udHJvbGxlci5fcHVsbGluZykge1xuICAgIGNvbnRyb2xsZXIuX3B1bGxBZ2FpbiA9IHRydWU7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXNzZXJ0KCFjb250cm9sbGVyLl9wdWxsQWdhaW4pO1xuXG4gIGNvbnRyb2xsZXIuX3B1bGxpbmcgPSB0cnVlO1xuXG4gIGNvbnN0IHB1bGxQcm9taXNlID0gY29udHJvbGxlci5fcHVsbEFsZ29yaXRobSgpO1xuICB1cG9uUHJvbWlzZShcbiAgICBwdWxsUHJvbWlzZSxcbiAgICAoKSA9PiB7XG4gICAgICBjb250cm9sbGVyLl9wdWxsaW5nID0gZmFsc2U7XG5cbiAgICAgIGlmIChjb250cm9sbGVyLl9wdWxsQWdhaW4pIHtcbiAgICAgICAgY29udHJvbGxlci5fcHVsbEFnYWluID0gZmFsc2U7XG4gICAgICAgIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDYWxsUHVsbElmTmVlZGVkKGNvbnRyb2xsZXIpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9LFxuICAgIGUgPT4ge1xuICAgICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVycm9yKGNvbnRyb2xsZXIsIGUpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICApO1xufVxuXG5mdW5jdGlvbiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyU2hvdWxkQ2FsbFB1bGwoY29udHJvbGxlcjogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxhbnk+KTogYm9vbGVhbiB7XG4gIGNvbnN0IHN0cmVhbSA9IGNvbnRyb2xsZXIuX2NvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbTtcblxuICBpZiAoIVJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDYW5DbG9zZU9yRW5xdWV1ZShjb250cm9sbGVyKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghY29udHJvbGxlci5fc3RhcnRlZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmIChJc1JlYWRhYmxlU3RyZWFtTG9ja2VkKHN0cmVhbSkgJiYgUmVhZGFibGVTdHJlYW1HZXROdW1SZWFkUmVxdWVzdHMoc3RyZWFtKSA+IDApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIGNvbnN0IGRlc2lyZWRTaXplID0gUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckdldERlc2lyZWRTaXplKGNvbnRyb2xsZXIpO1xuICBhc3NlcnQoZGVzaXJlZFNpemUgIT09IG51bGwpO1xuICBpZiAoZGVzaXJlZFNpemUhID4gMCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2xlYXJBbGdvcml0aG1zKGNvbnRyb2xsZXI6IFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8YW55Pikge1xuICBjb250cm9sbGVyLl9wdWxsQWxnb3JpdGhtID0gdW5kZWZpbmVkITtcbiAgY29udHJvbGxlci5fY2FuY2VsQWxnb3JpdGhtID0gdW5kZWZpbmVkITtcbiAgY29udHJvbGxlci5fc3RyYXRlZ3lTaXplQWxnb3JpdGhtID0gdW5kZWZpbmVkITtcbn1cblxuLy8gQSBjbGllbnQgb2YgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciBtYXkgdXNlIHRoZXNlIGZ1bmN0aW9ucyBkaXJlY3RseSB0byBieXBhc3Mgc3RhdGUgY2hlY2suXG5cbmV4cG9ydCBmdW5jdGlvbiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2xvc2UoY29udHJvbGxlcjogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxhbnk+KSB7XG4gIGlmICghUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNhbkNsb3NlT3JFbnF1ZXVlKGNvbnRyb2xsZXIpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgc3RyZWFtID0gY29udHJvbGxlci5fY29udHJvbGxlZFJlYWRhYmxlU3RyZWFtO1xuXG4gIGNvbnRyb2xsZXIuX2Nsb3NlUmVxdWVzdGVkID0gdHJ1ZTtcblxuICBpZiAoY29udHJvbGxlci5fcXVldWUubGVuZ3RoID09PSAwKSB7XG4gICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNsZWFyQWxnb3JpdGhtcyhjb250cm9sbGVyKTtcbiAgICBSZWFkYWJsZVN0cmVhbUNsb3NlKHN0cmVhbSk7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFbnF1ZXVlPFI+KFxuICBjb250cm9sbGVyOiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyPFI+LFxuICBjaHVuazogUlxuKTogdm9pZCB7XG4gIGlmICghUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNhbkNsb3NlT3JFbnF1ZXVlKGNvbnRyb2xsZXIpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3Qgc3RyZWFtID0gY29udHJvbGxlci5fY29udHJvbGxlZFJlYWRhYmxlU3RyZWFtO1xuXG4gIGlmIChJc1JlYWRhYmxlU3RyZWFtTG9ja2VkKHN0cmVhbSkgJiYgUmVhZGFibGVTdHJlYW1HZXROdW1SZWFkUmVxdWVzdHMoc3RyZWFtKSA+IDApIHtcbiAgICBSZWFkYWJsZVN0cmVhbUZ1bGZpbGxSZWFkUmVxdWVzdChzdHJlYW0sIGNodW5rLCBmYWxzZSk7XG4gIH0gZWxzZSB7XG4gICAgbGV0IGNodW5rU2l6ZTtcbiAgICB0cnkge1xuICAgICAgY2h1bmtTaXplID0gY29udHJvbGxlci5fc3RyYXRlZ3lTaXplQWxnb3JpdGhtKGNodW5rKTtcbiAgICB9IGNhdGNoIChjaHVua1NpemVFKSB7XG4gICAgICBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyRXJyb3IoY29udHJvbGxlciwgY2h1bmtTaXplRSk7XG4gICAgICB0aHJvdyBjaHVua1NpemVFO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBFbnF1ZXVlVmFsdWVXaXRoU2l6ZShjb250cm9sbGVyLCBjaHVuaywgY2h1bmtTaXplKTtcbiAgICB9IGNhdGNoIChlbnF1ZXVlRSkge1xuICAgICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVycm9yKGNvbnRyb2xsZXIsIGVucXVldWVFKTtcbiAgICAgIHRocm93IGVucXVldWVFO1xuICAgIH1cbiAgfVxuXG4gIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDYWxsUHVsbElmTmVlZGVkKGNvbnRyb2xsZXIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVycm9yKGNvbnRyb2xsZXI6IFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8YW55PiwgZTogYW55KSB7XG4gIGNvbnN0IHN0cmVhbSA9IGNvbnRyb2xsZXIuX2NvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbTtcblxuICBpZiAoc3RyZWFtLl9zdGF0ZSAhPT0gJ3JlYWRhYmxlJykge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIFJlc2V0UXVldWUoY29udHJvbGxlcik7XG5cbiAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNsZWFyQWxnb3JpdGhtcyhjb250cm9sbGVyKTtcbiAgUmVhZGFibGVTdHJlYW1FcnJvcihzdHJlYW0sIGUpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckdldERlc2lyZWRTaXplKFxuICBjb250cm9sbGVyOiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyPGFueT5cbik6IG51bWJlciB8IG51bGwge1xuICBjb25zdCBzdGF0ZSA9IGNvbnRyb2xsZXIuX2NvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbS5fc3RhdGU7XG5cbiAgaWYgKHN0YXRlID09PSAnZXJyb3JlZCcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBpZiAoc3RhdGUgPT09ICdjbG9zZWQnKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cblxuICByZXR1cm4gY29udHJvbGxlci5fc3RyYXRlZ3lIV00gLSBjb250cm9sbGVyLl9xdWV1ZVRvdGFsU2l6ZTtcbn1cblxuLy8gVGhpcyBpcyB1c2VkIGluIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiBUcmFuc2Zvcm1TdHJlYW0uXG5leHBvcnQgZnVuY3Rpb24gUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckhhc0JhY2twcmVzc3VyZShcbiAgY29udHJvbGxlcjogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxhbnk+XG4pOiBib29sZWFuIHtcbiAgaWYgKFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJTaG91bGRDYWxsUHVsbChjb250cm9sbGVyKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNhbkNsb3NlT3JFbnF1ZXVlKFxuICBjb250cm9sbGVyOiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyPGFueT5cbik6IGJvb2xlYW4ge1xuICBjb25zdCBzdGF0ZSA9IGNvbnRyb2xsZXIuX2NvbnRyb2xsZWRSZWFkYWJsZVN0cmVhbS5fc3RhdGU7XG5cbiAgaWYgKCFjb250cm9sbGVyLl9jbG9zZVJlcXVlc3RlZCAmJiBzdGF0ZSA9PT0gJ3JlYWRhYmxlJykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU2V0VXBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyPFI+KHN0cmVhbTogUmVhZGFibGVTdHJlYW08Uj4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xsZXI6IFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8Uj4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0QWxnb3JpdGhtOiAoKSA9PiB2b2lkIHwgUHJvbWlzZUxpa2U8dm9pZD4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHB1bGxBbGdvcml0aG06ICgpID0+IFByb21pc2U8dm9pZD4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbmNlbEFsZ29yaXRobTogKHJlYXNvbjogYW55KSA9PiBQcm9taXNlPHZvaWQ+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoaWdoV2F0ZXJNYXJrOiBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVBbGdvcml0aG06IFF1ZXVpbmdTdHJhdGVneVNpemVDYWxsYmFjazxSPikge1xuICBhc3NlcnQoc3RyZWFtLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIgPT09IHVuZGVmaW5lZCk7XG5cbiAgY29udHJvbGxlci5fY29udHJvbGxlZFJlYWRhYmxlU3RyZWFtID0gc3RyZWFtO1xuXG4gIGNvbnRyb2xsZXIuX3F1ZXVlID0gdW5kZWZpbmVkITtcbiAgY29udHJvbGxlci5fcXVldWVUb3RhbFNpemUgPSB1bmRlZmluZWQhO1xuICBSZXNldFF1ZXVlKGNvbnRyb2xsZXIpO1xuXG4gIGNvbnRyb2xsZXIuX3N0YXJ0ZWQgPSBmYWxzZTtcbiAgY29udHJvbGxlci5fY2xvc2VSZXF1ZXN0ZWQgPSBmYWxzZTtcbiAgY29udHJvbGxlci5fcHVsbEFnYWluID0gZmFsc2U7XG4gIGNvbnRyb2xsZXIuX3B1bGxpbmcgPSBmYWxzZTtcblxuICBjb250cm9sbGVyLl9zdHJhdGVneVNpemVBbGdvcml0aG0gPSBzaXplQWxnb3JpdGhtO1xuICBjb250cm9sbGVyLl9zdHJhdGVneUhXTSA9IGhpZ2hXYXRlck1hcms7XG5cbiAgY29udHJvbGxlci5fcHVsbEFsZ29yaXRobSA9IHB1bGxBbGdvcml0aG07XG4gIGNvbnRyb2xsZXIuX2NhbmNlbEFsZ29yaXRobSA9IGNhbmNlbEFsZ29yaXRobTtcblxuICBzdHJlYW0uX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlciA9IGNvbnRyb2xsZXI7XG5cbiAgY29uc3Qgc3RhcnRSZXN1bHQgPSBzdGFydEFsZ29yaXRobSgpO1xuICB1cG9uUHJvbWlzZShcbiAgICBwcm9taXNlUmVzb2x2ZWRXaXRoKHN0YXJ0UmVzdWx0KSxcbiAgICAoKSA9PiB7XG4gICAgICBjb250cm9sbGVyLl9zdGFydGVkID0gdHJ1ZTtcblxuICAgICAgYXNzZXJ0KCFjb250cm9sbGVyLl9wdWxsaW5nKTtcbiAgICAgIGFzc2VydCghY29udHJvbGxlci5fcHVsbEFnYWluKTtcblxuICAgICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNhbGxQdWxsSWZOZWVkZWQoY29udHJvbGxlcik7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9LFxuICAgIHIgPT4ge1xuICAgICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVycm9yKGNvbnRyb2xsZXIsIHIpO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gU2V0VXBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyRnJvbVVuZGVybHlpbmdTb3VyY2U8Uj4oXG4gIHN0cmVhbTogUmVhZGFibGVTdHJlYW08Uj4sXG4gIHVuZGVybHlpbmdTb3VyY2U6IFZhbGlkYXRlZFVuZGVybHlpbmdTb3VyY2U8Uj4sXG4gIGhpZ2hXYXRlck1hcms6IG51bWJlcixcbiAgc2l6ZUFsZ29yaXRobTogUXVldWluZ1N0cmF0ZWd5U2l6ZUNhbGxiYWNrPFI+XG4pIHtcbiAgY29uc3QgY29udHJvbGxlcjogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxSPiA9IE9iamVjdC5jcmVhdGUoUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUpO1xuXG4gIGxldCBzdGFydEFsZ29yaXRobTogKCkgPT4gdm9pZCB8IFByb21pc2VMaWtlPHZvaWQ+O1xuICBsZXQgcHVsbEFsZ29yaXRobTogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgbGV0IGNhbmNlbEFsZ29yaXRobTogKHJlYXNvbjogYW55KSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIGlmICh1bmRlcmx5aW5nU291cmNlLnN0YXJ0ICE9PSB1bmRlZmluZWQpIHtcbiAgICBzdGFydEFsZ29yaXRobSA9ICgpID0+IHVuZGVybHlpbmdTb3VyY2Uuc3RhcnQhKGNvbnRyb2xsZXIpO1xuICB9IGVsc2Uge1xuICAgIHN0YXJ0QWxnb3JpdGhtID0gKCkgPT4gdW5kZWZpbmVkO1xuICB9XG4gIGlmICh1bmRlcmx5aW5nU291cmNlLnB1bGwgIT09IHVuZGVmaW5lZCkge1xuICAgIHB1bGxBbGdvcml0aG0gPSAoKSA9PiB1bmRlcmx5aW5nU291cmNlLnB1bGwhKGNvbnRyb2xsZXIpO1xuICB9IGVsc2Uge1xuICAgIHB1bGxBbGdvcml0aG0gPSAoKSA9PiBwcm9taXNlUmVzb2x2ZWRXaXRoKHVuZGVmaW5lZCk7XG4gIH1cbiAgaWYgKHVuZGVybHlpbmdTb3VyY2UuY2FuY2VsICE9PSB1bmRlZmluZWQpIHtcbiAgICBjYW5jZWxBbGdvcml0aG0gPSByZWFzb24gPT4gdW5kZXJseWluZ1NvdXJjZS5jYW5jZWwhKHJlYXNvbik7XG4gIH0gZWxzZSB7XG4gICAgY2FuY2VsQWxnb3JpdGhtID0gKCkgPT4gcHJvbWlzZVJlc29sdmVkV2l0aCh1bmRlZmluZWQpO1xuICB9XG5cbiAgU2V0VXBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyKFxuICAgIHN0cmVhbSwgY29udHJvbGxlciwgc3RhcnRBbGdvcml0aG0sIHB1bGxBbGdvcml0aG0sIGNhbmNlbEFsZ29yaXRobSwgaGlnaFdhdGVyTWFyaywgc2l6ZUFsZ29yaXRobVxuICApO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb25zIGZvciB0aGUgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5cblxuZnVuY3Rpb24gZGVmYXVsdENvbnRyb2xsZXJCcmFuZENoZWNrRXhjZXB0aW9uKG5hbWU6IHN0cmluZyk6IFR5cGVFcnJvciB7XG4gIHJldHVybiBuZXcgVHlwZUVycm9yKFxuICAgIGBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZS4ke25hbWV9IGNhbiBvbmx5IGJlIHVzZWQgb24gYSBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyYCk7XG59XG4iLCAiaW1wb3J0IHtcbiAgQ3JlYXRlUmVhZGFibGVCeXRlU3RyZWFtLFxuICBDcmVhdGVSZWFkYWJsZVN0cmVhbSxcbiAgdHlwZSBEZWZhdWx0UmVhZGFibGVTdHJlYW0sXG4gIElzUmVhZGFibGVTdHJlYW0sXG4gIHR5cGUgUmVhZGFibGVCeXRlU3RyZWFtLFxuICBSZWFkYWJsZVN0cmVhbSxcbiAgUmVhZGFibGVTdHJlYW1DYW5jZWwsXG4gIHR5cGUgUmVhZGFibGVTdHJlYW1SZWFkZXJcbn0gZnJvbSAnLi4vcmVhZGFibGUtc3RyZWFtJztcbmltcG9ydCB7IFJlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJpY1JlbGVhc2UgfSBmcm9tICcuL2dlbmVyaWMtcmVhZGVyJztcbmltcG9ydCB7XG4gIEFjcXVpcmVSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIsXG4gIElzUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLFxuICBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJSZWFkLFxuICB0eXBlIFJlYWRSZXF1ZXN0XG59IGZyb20gJy4vZGVmYXVsdC1yZWFkZXInO1xuaW1wb3J0IHtcbiAgQWNxdWlyZVJlYWRhYmxlU3RyZWFtQllPQlJlYWRlcixcbiAgSXNSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIsXG4gIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlclJlYWQsXG4gIHR5cGUgUmVhZEludG9SZXF1ZXN0XG59IGZyb20gJy4vYnlvYi1yZWFkZXInO1xuaW1wb3J0IGFzc2VydCBmcm9tICcuLi8uLi9zdHViL2Fzc2VydCc7XG5pbXBvcnQgeyBuZXdQcm9taXNlLCBwcm9taXNlUmVzb2x2ZWRXaXRoLCBxdWV1ZU1pY3JvdGFzaywgdXBvblJlamVjdGlvbiB9IGZyb20gJy4uL2hlbHBlcnMvd2ViaWRsJztcbmltcG9ydCB7XG4gIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDbG9zZSxcbiAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVucXVldWUsXG4gIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFcnJvclxufSBmcm9tICcuL2RlZmF1bHQtY29udHJvbGxlcic7XG5pbXBvcnQge1xuICBJc1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIsXG4gIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDbG9zZSxcbiAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVldWUsXG4gIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFcnJvcixcbiAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckdldEJZT0JSZXF1ZXN0LFxuICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUmVzcG9uZCxcbiAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclJlc3BvbmRXaXRoTmV3Vmlld1xufSBmcm9tICcuL2J5dGUtc3RyZWFtLWNvbnRyb2xsZXInO1xuaW1wb3J0IHsgQ3JlYXRlQXJyYXlGcm9tTGlzdCB9IGZyb20gJy4uL2Fic3RyYWN0LW9wcy9lY21hc2NyaXB0JztcbmltcG9ydCB7IENsb25lQXNVaW50OEFycmF5IH0gZnJvbSAnLi4vYWJzdHJhY3Qtb3BzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHR5cGUgeyBOb25TaGFyZWQgfSBmcm9tICcuLi9oZWxwZXJzL2FycmF5LWJ1ZmZlci12aWV3JztcblxuZXhwb3J0IGZ1bmN0aW9uIFJlYWRhYmxlU3RyZWFtVGVlPFI+KHN0cmVhbTogUmVhZGFibGVTdHJlYW08Uj4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xvbmVGb3JCcmFuY2gyOiBib29sZWFuKTogW1JlYWRhYmxlU3RyZWFtPFI+LCBSZWFkYWJsZVN0cmVhbTxSPl0ge1xuICBhc3NlcnQoSXNSZWFkYWJsZVN0cmVhbShzdHJlYW0pKTtcbiAgYXNzZXJ0KHR5cGVvZiBjbG9uZUZvckJyYW5jaDIgPT09ICdib29sZWFuJyk7XG4gIGlmIChJc1JlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIoc3RyZWFtLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIpKSB7XG4gICAgcmV0dXJuIFJlYWRhYmxlQnl0ZVN0cmVhbVRlZShzdHJlYW0gYXMgdW5rbm93biBhcyBSZWFkYWJsZUJ5dGVTdHJlYW0pIGFzXG4gICAgICB1bmtub3duIGFzIFtSZWFkYWJsZVN0cmVhbTxSPiwgUmVhZGFibGVTdHJlYW08Uj5dO1xuICB9XG4gIHJldHVybiBSZWFkYWJsZVN0cmVhbURlZmF1bHRUZWUoc3RyZWFtLCBjbG9uZUZvckJyYW5jaDIpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gUmVhZGFibGVTdHJlYW1EZWZhdWx0VGVlPFI+KFxuICBzdHJlYW06IFJlYWRhYmxlU3RyZWFtPFI+LFxuICBjbG9uZUZvckJyYW5jaDI6IGJvb2xlYW5cbik6IFtEZWZhdWx0UmVhZGFibGVTdHJlYW08Uj4sIERlZmF1bHRSZWFkYWJsZVN0cmVhbTxSPl0ge1xuICBhc3NlcnQoSXNSZWFkYWJsZVN0cmVhbShzdHJlYW0pKTtcbiAgYXNzZXJ0KHR5cGVvZiBjbG9uZUZvckJyYW5jaDIgPT09ICdib29sZWFuJyk7XG5cbiAgY29uc3QgcmVhZGVyID0gQWNxdWlyZVJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcjxSPihzdHJlYW0pO1xuXG4gIGxldCByZWFkaW5nID0gZmFsc2U7XG4gIGxldCByZWFkQWdhaW4gPSBmYWxzZTtcbiAgbGV0IGNhbmNlbGVkMSA9IGZhbHNlO1xuICBsZXQgY2FuY2VsZWQyID0gZmFsc2U7XG4gIGxldCByZWFzb24xOiBhbnk7XG4gIGxldCByZWFzb24yOiBhbnk7XG4gIGxldCBicmFuY2gxOiBEZWZhdWx0UmVhZGFibGVTdHJlYW08Uj47XG4gIGxldCBicmFuY2gyOiBEZWZhdWx0UmVhZGFibGVTdHJlYW08Uj47XG5cbiAgbGV0IHJlc29sdmVDYW5jZWxQcm9taXNlOiAodmFsdWU6IHVuZGVmaW5lZCB8IFByb21pc2U8dW5kZWZpbmVkPikgPT4gdm9pZDtcbiAgY29uc3QgY2FuY2VsUHJvbWlzZSA9IG5ld1Byb21pc2U8dW5kZWZpbmVkPihyZXNvbHZlID0+IHtcbiAgICByZXNvbHZlQ2FuY2VsUHJvbWlzZSA9IHJlc29sdmU7XG4gIH0pO1xuXG4gIGZ1bmN0aW9uIHB1bGxBbGdvcml0aG0oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHJlYWRpbmcpIHtcbiAgICAgIHJlYWRBZ2FpbiA9IHRydWU7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlc29sdmVkV2l0aCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHJlYWRpbmcgPSB0cnVlO1xuXG4gICAgY29uc3QgcmVhZFJlcXVlc3Q6IFJlYWRSZXF1ZXN0PFI+ID0ge1xuICAgICAgX2NodW5rU3RlcHM6IGNodW5rID0+IHtcbiAgICAgICAgLy8gVGhpcyBuZWVkcyB0byBiZSBkZWxheWVkIGEgbWljcm90YXNrIGJlY2F1c2UgaXQgdGFrZXMgYXQgbGVhc3QgYSBtaWNyb3Rhc2sgdG8gZGV0ZWN0IGVycm9ycyAodXNpbmdcbiAgICAgICAgLy8gcmVhZGVyLl9jbG9zZWRQcm9taXNlIGJlbG93KSwgYW5kIHdlIHdhbnQgZXJyb3JzIGluIHN0cmVhbSB0byBlcnJvciBib3RoIGJyYW5jaGVzIGltbWVkaWF0ZWx5LiBXZSBjYW5ub3QgbGV0XG4gICAgICAgIC8vIHN1Y2Nlc3NmdWwgc3luY2hyb25vdXNseS1hdmFpbGFibGUgcmVhZHMgZ2V0IGFoZWFkIG9mIGFzeW5jaHJvbm91c2x5LWF2YWlsYWJsZSBlcnJvcnMuXG4gICAgICAgIHF1ZXVlTWljcm90YXNrKCgpID0+IHtcbiAgICAgICAgICByZWFkQWdhaW4gPSBmYWxzZTtcbiAgICAgICAgICBjb25zdCBjaHVuazEgPSBjaHVuaztcbiAgICAgICAgICBjb25zdCBjaHVuazIgPSBjaHVuaztcblxuICAgICAgICAgIC8vIFRoZXJlIGlzIG5vIHdheSB0byBhY2Nlc3MgdGhlIGNsb25pbmcgY29kZSByaWdodCBub3cgaW4gdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbi5cbiAgICAgICAgICAvLyBJZiB3ZSBhZGQgb25lIHRoZW4gd2UnbGwgbmVlZCBhbiBpbXBsZW1lbnRhdGlvbiBmb3Igc2VyaWFsaXphYmxlIG9iamVjdHMuXG4gICAgICAgICAgLy8gaWYgKCFjYW5jZWxlZDIgJiYgY2xvbmVGb3JCcmFuY2gyKSB7XG4gICAgICAgICAgLy8gICBjaHVuazIgPSBTdHJ1Y3R1cmVkRGVzZXJpYWxpemUoU3RydWN0dXJlZFNlcmlhbGl6ZShjaHVuazIpKTtcbiAgICAgICAgICAvLyB9XG5cbiAgICAgICAgICBpZiAoIWNhbmNlbGVkMSkge1xuICAgICAgICAgICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVucXVldWUoYnJhbmNoMS5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyLCBjaHVuazEpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIWNhbmNlbGVkMikge1xuICAgICAgICAgICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVucXVldWUoYnJhbmNoMi5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyLCBjaHVuazIpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJlYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICBpZiAocmVhZEFnYWluKSB7XG4gICAgICAgICAgICBwdWxsQWxnb3JpdGhtKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0sXG4gICAgICBfY2xvc2VTdGVwczogKCkgPT4ge1xuICAgICAgICByZWFkaW5nID0gZmFsc2U7XG4gICAgICAgIGlmICghY2FuY2VsZWQxKSB7XG4gICAgICAgICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNsb3NlKGJyYW5jaDEuX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFjYW5jZWxlZDIpIHtcbiAgICAgICAgICBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2xvc2UoYnJhbmNoMi5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghY2FuY2VsZWQxIHx8ICFjYW5jZWxlZDIpIHtcbiAgICAgICAgICByZXNvbHZlQ2FuY2VsUHJvbWlzZSh1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgX2Vycm9yU3RlcHM6ICgpID0+IHtcbiAgICAgICAgcmVhZGluZyA9IGZhbHNlO1xuICAgICAgfVxuICAgIH07XG4gICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyUmVhZChyZWFkZXIsIHJlYWRSZXF1ZXN0KTtcblxuICAgIHJldHVybiBwcm9taXNlUmVzb2x2ZWRXaXRoKHVuZGVmaW5lZCk7XG4gIH1cblxuICBmdW5jdGlvbiBjYW5jZWwxQWxnb3JpdGhtKHJlYXNvbjogYW55KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY2FuY2VsZWQxID0gdHJ1ZTtcbiAgICByZWFzb24xID0gcmVhc29uO1xuICAgIGlmIChjYW5jZWxlZDIpIHtcbiAgICAgIGNvbnN0IGNvbXBvc2l0ZVJlYXNvbiA9IENyZWF0ZUFycmF5RnJvbUxpc3QoW3JlYXNvbjEsIHJlYXNvbjJdKTtcbiAgICAgIGNvbnN0IGNhbmNlbFJlc3VsdCA9IFJlYWRhYmxlU3RyZWFtQ2FuY2VsKHN0cmVhbSwgY29tcG9zaXRlUmVhc29uKTtcbiAgICAgIHJlc29sdmVDYW5jZWxQcm9taXNlKGNhbmNlbFJlc3VsdCk7XG4gICAgfVxuICAgIHJldHVybiBjYW5jZWxQcm9taXNlO1xuICB9XG5cbiAgZnVuY3Rpb24gY2FuY2VsMkFsZ29yaXRobShyZWFzb246IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNhbmNlbGVkMiA9IHRydWU7XG4gICAgcmVhc29uMiA9IHJlYXNvbjtcbiAgICBpZiAoY2FuY2VsZWQxKSB7XG4gICAgICBjb25zdCBjb21wb3NpdGVSZWFzb24gPSBDcmVhdGVBcnJheUZyb21MaXN0KFtyZWFzb24xLCByZWFzb24yXSk7XG4gICAgICBjb25zdCBjYW5jZWxSZXN1bHQgPSBSZWFkYWJsZVN0cmVhbUNhbmNlbChzdHJlYW0sIGNvbXBvc2l0ZVJlYXNvbik7XG4gICAgICByZXNvbHZlQ2FuY2VsUHJvbWlzZShjYW5jZWxSZXN1bHQpO1xuICAgIH1cbiAgICByZXR1cm4gY2FuY2VsUHJvbWlzZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHN0YXJ0QWxnb3JpdGhtKCkge1xuICAgIC8vIGRvIG5vdGhpbmdcbiAgfVxuXG4gIGJyYW5jaDEgPSBDcmVhdGVSZWFkYWJsZVN0cmVhbShzdGFydEFsZ29yaXRobSwgcHVsbEFsZ29yaXRobSwgY2FuY2VsMUFsZ29yaXRobSk7XG4gIGJyYW5jaDIgPSBDcmVhdGVSZWFkYWJsZVN0cmVhbShzdGFydEFsZ29yaXRobSwgcHVsbEFsZ29yaXRobSwgY2FuY2VsMkFsZ29yaXRobSk7XG5cbiAgdXBvblJlamVjdGlvbihyZWFkZXIuX2Nsb3NlZFByb21pc2UsIChyOiBhbnkpID0+IHtcbiAgICBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyRXJyb3IoYnJhbmNoMS5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyLCByKTtcbiAgICBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyRXJyb3IoYnJhbmNoMi5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyLCByKTtcbiAgICBpZiAoIWNhbmNlbGVkMSB8fCAhY2FuY2VsZWQyKSB7XG4gICAgICByZXNvbHZlQ2FuY2VsUHJvbWlzZSh1bmRlZmluZWQpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfSk7XG5cbiAgcmV0dXJuIFticmFuY2gxLCBicmFuY2gyXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJlYWRhYmxlQnl0ZVN0cmVhbVRlZShzdHJlYW06IFJlYWRhYmxlQnl0ZVN0cmVhbSk6IFtSZWFkYWJsZUJ5dGVTdHJlYW0sIFJlYWRhYmxlQnl0ZVN0cmVhbV0ge1xuICBhc3NlcnQoSXNSZWFkYWJsZVN0cmVhbShzdHJlYW0pKTtcbiAgYXNzZXJ0KElzUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcihzdHJlYW0uX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlcikpO1xuXG4gIGxldCByZWFkZXI6IFJlYWRhYmxlU3RyZWFtUmVhZGVyPE5vblNoYXJlZDxVaW50OEFycmF5Pj4gPSBBY3F1aXJlUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyKHN0cmVhbSk7XG4gIGxldCByZWFkaW5nID0gZmFsc2U7XG4gIGxldCByZWFkQWdhaW5Gb3JCcmFuY2gxID0gZmFsc2U7XG4gIGxldCByZWFkQWdhaW5Gb3JCcmFuY2gyID0gZmFsc2U7XG4gIGxldCBjYW5jZWxlZDEgPSBmYWxzZTtcbiAgbGV0IGNhbmNlbGVkMiA9IGZhbHNlO1xuICBsZXQgcmVhc29uMTogYW55O1xuICBsZXQgcmVhc29uMjogYW55O1xuICBsZXQgYnJhbmNoMTogUmVhZGFibGVCeXRlU3RyZWFtO1xuICBsZXQgYnJhbmNoMjogUmVhZGFibGVCeXRlU3RyZWFtO1xuXG4gIGxldCByZXNvbHZlQ2FuY2VsUHJvbWlzZTogKHZhbHVlOiB1bmRlZmluZWQgfCBQcm9taXNlPHVuZGVmaW5lZD4pID0+IHZvaWQ7XG4gIGNvbnN0IGNhbmNlbFByb21pc2UgPSBuZXdQcm9taXNlPHZvaWQ+KHJlc29sdmUgPT4ge1xuICAgIHJlc29sdmVDYW5jZWxQcm9taXNlID0gcmVzb2x2ZTtcbiAgfSk7XG5cbiAgZnVuY3Rpb24gZm9yd2FyZFJlYWRlckVycm9yKHRoaXNSZWFkZXI6IFJlYWRhYmxlU3RyZWFtUmVhZGVyPE5vblNoYXJlZDxVaW50OEFycmF5Pj4pIHtcbiAgICB1cG9uUmVqZWN0aW9uKHRoaXNSZWFkZXIuX2Nsb3NlZFByb21pc2UsIHIgPT4ge1xuICAgICAgaWYgKHRoaXNSZWFkZXIgIT09IHJlYWRlcikge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFcnJvcihicmFuY2gxLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIsIHIpO1xuICAgICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVycm9yKGJyYW5jaDIuX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlciwgcik7XG4gICAgICBpZiAoIWNhbmNlbGVkMSB8fCAhY2FuY2VsZWQyKSB7XG4gICAgICAgIHJlc29sdmVDYW5jZWxQcm9taXNlKHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHB1bGxXaXRoRGVmYXVsdFJlYWRlcigpIHtcbiAgICBpZiAoSXNSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIocmVhZGVyKSkge1xuICAgICAgYXNzZXJ0KHJlYWRlci5fcmVhZEludG9SZXF1ZXN0cy5sZW5ndGggPT09IDApO1xuICAgICAgUmVhZGFibGVTdHJlYW1SZWFkZXJHZW5lcmljUmVsZWFzZShyZWFkZXIpO1xuXG4gICAgICByZWFkZXIgPSBBY3F1aXJlUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyKHN0cmVhbSk7XG4gICAgICBmb3J3YXJkUmVhZGVyRXJyb3IocmVhZGVyKTtcbiAgICB9XG5cbiAgICBjb25zdCByZWFkUmVxdWVzdDogUmVhZFJlcXVlc3Q8Tm9uU2hhcmVkPFVpbnQ4QXJyYXk+PiA9IHtcbiAgICAgIF9jaHVua1N0ZXBzOiBjaHVuayA9PiB7XG4gICAgICAgIC8vIFRoaXMgbmVlZHMgdG8gYmUgZGVsYXllZCBhIG1pY3JvdGFzayBiZWNhdXNlIGl0IHRha2VzIGF0IGxlYXN0IGEgbWljcm90YXNrIHRvIGRldGVjdCBlcnJvcnMgKHVzaW5nXG4gICAgICAgIC8vIHJlYWRlci5fY2xvc2VkUHJvbWlzZSBiZWxvdyksIGFuZCB3ZSB3YW50IGVycm9ycyBpbiBzdHJlYW0gdG8gZXJyb3IgYm90aCBicmFuY2hlcyBpbW1lZGlhdGVseS4gV2UgY2Fubm90IGxldFxuICAgICAgICAvLyBzdWNjZXNzZnVsIHN5bmNocm9ub3VzbHktYXZhaWxhYmxlIHJlYWRzIGdldCBhaGVhZCBvZiBhc3luY2hyb25vdXNseS1hdmFpbGFibGUgZXJyb3JzLlxuICAgICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICAgICAgcmVhZEFnYWluRm9yQnJhbmNoMSA9IGZhbHNlO1xuICAgICAgICAgIHJlYWRBZ2FpbkZvckJyYW5jaDIgPSBmYWxzZTtcblxuICAgICAgICAgIGNvbnN0IGNodW5rMSA9IGNodW5rO1xuICAgICAgICAgIGxldCBjaHVuazIgPSBjaHVuaztcbiAgICAgICAgICBpZiAoIWNhbmNlbGVkMSAmJiAhY2FuY2VsZWQyKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBjaHVuazIgPSBDbG9uZUFzVWludDhBcnJheShjaHVuayk7XG4gICAgICAgICAgICB9IGNhdGNoIChjbG9uZUUpIHtcbiAgICAgICAgICAgICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVycm9yKGJyYW5jaDEuX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlciwgY2xvbmVFKTtcbiAgICAgICAgICAgICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVycm9yKGJyYW5jaDIuX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlciwgY2xvbmVFKTtcbiAgICAgICAgICAgICAgcmVzb2x2ZUNhbmNlbFByb21pc2UoUmVhZGFibGVTdHJlYW1DYW5jZWwoc3RyZWFtLCBjbG9uZUUpKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghY2FuY2VsZWQxKSB7XG4gICAgICAgICAgICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRW5xdWV1ZShicmFuY2gxLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIsIGNodW5rMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghY2FuY2VsZWQyKSB7XG4gICAgICAgICAgICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRW5xdWV1ZShicmFuY2gyLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIsIGNodW5rMik7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmVhZGluZyA9IGZhbHNlO1xuICAgICAgICAgIGlmIChyZWFkQWdhaW5Gb3JCcmFuY2gxKSB7XG4gICAgICAgICAgICBwdWxsMUFsZ29yaXRobSgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAocmVhZEFnYWluRm9yQnJhbmNoMikge1xuICAgICAgICAgICAgcHVsbDJBbGdvcml0aG0oKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIF9jbG9zZVN0ZXBzOiAoKSA9PiB7XG4gICAgICAgIHJlYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgaWYgKCFjYW5jZWxlZDEpIHtcbiAgICAgICAgICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2xvc2UoYnJhbmNoMS5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNhbmNlbGVkMikge1xuICAgICAgICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDbG9zZShicmFuY2gyLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChicmFuY2gxLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuX3BlbmRpbmdQdWxsSW50b3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJSZXNwb25kKGJyYW5jaDEuX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlciwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGJyYW5jaDIuX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlci5fcGVuZGluZ1B1bGxJbnRvcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclJlc3BvbmQoYnJhbmNoMi5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyLCAwKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNhbmNlbGVkMSB8fCAhY2FuY2VsZWQyKSB7XG4gICAgICAgICAgcmVzb2x2ZUNhbmNlbFByb21pc2UodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIF9lcnJvclN0ZXBzOiAoKSA9PiB7XG4gICAgICAgIHJlYWRpbmcgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9O1xuICAgIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlclJlYWQocmVhZGVyLCByZWFkUmVxdWVzdCk7XG4gIH1cblxuICBmdW5jdGlvbiBwdWxsV2l0aEJZT0JSZWFkZXIodmlldzogTm9uU2hhcmVkPEFycmF5QnVmZmVyVmlldz4sIGZvckJyYW5jaDI6IGJvb2xlYW4pIHtcbiAgICBpZiAoSXNSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXI8Tm9uU2hhcmVkPFVpbnQ4QXJyYXk+PihyZWFkZXIpKSB7XG4gICAgICBhc3NlcnQocmVhZGVyLl9yZWFkUmVxdWVzdHMubGVuZ3RoID09PSAwKTtcbiAgICAgIFJlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJpY1JlbGVhc2UocmVhZGVyKTtcblxuICAgICAgcmVhZGVyID0gQWNxdWlyZVJlYWRhYmxlU3RyZWFtQllPQlJlYWRlcihzdHJlYW0pO1xuICAgICAgZm9yd2FyZFJlYWRlckVycm9yKHJlYWRlcik7XG4gICAgfVxuXG4gICAgY29uc3QgYnlvYkJyYW5jaCA9IGZvckJyYW5jaDIgPyBicmFuY2gyIDogYnJhbmNoMTtcbiAgICBjb25zdCBvdGhlckJyYW5jaCA9IGZvckJyYW5jaDIgPyBicmFuY2gxIDogYnJhbmNoMjtcblxuICAgIGNvbnN0IHJlYWRJbnRvUmVxdWVzdDogUmVhZEludG9SZXF1ZXN0PE5vblNoYXJlZDxBcnJheUJ1ZmZlclZpZXc+PiA9IHtcbiAgICAgIF9jaHVua1N0ZXBzOiBjaHVuayA9PiB7XG4gICAgICAgIC8vIFRoaXMgbmVlZHMgdG8gYmUgZGVsYXllZCBhIG1pY3JvdGFzayBiZWNhdXNlIGl0IHRha2VzIGF0IGxlYXN0IGEgbWljcm90YXNrIHRvIGRldGVjdCBlcnJvcnMgKHVzaW5nXG4gICAgICAgIC8vIHJlYWRlci5fY2xvc2VkUHJvbWlzZSBiZWxvdyksIGFuZCB3ZSB3YW50IGVycm9ycyBpbiBzdHJlYW0gdG8gZXJyb3IgYm90aCBicmFuY2hlcyBpbW1lZGlhdGVseS4gV2UgY2Fubm90IGxldFxuICAgICAgICAvLyBzdWNjZXNzZnVsIHN5bmNocm9ub3VzbHktYXZhaWxhYmxlIHJlYWRzIGdldCBhaGVhZCBvZiBhc3luY2hyb25vdXNseS1hdmFpbGFibGUgZXJyb3JzLlxuICAgICAgICBxdWV1ZU1pY3JvdGFzaygoKSA9PiB7XG4gICAgICAgICAgcmVhZEFnYWluRm9yQnJhbmNoMSA9IGZhbHNlO1xuICAgICAgICAgIHJlYWRBZ2FpbkZvckJyYW5jaDIgPSBmYWxzZTtcblxuICAgICAgICAgIGNvbnN0IGJ5b2JDYW5jZWxlZCA9IGZvckJyYW5jaDIgPyBjYW5jZWxlZDIgOiBjYW5jZWxlZDE7XG4gICAgICAgICAgY29uc3Qgb3RoZXJDYW5jZWxlZCA9IGZvckJyYW5jaDIgPyBjYW5jZWxlZDEgOiBjYW5jZWxlZDI7XG5cbiAgICAgICAgICBpZiAoIW90aGVyQ2FuY2VsZWQpIHtcbiAgICAgICAgICAgIGxldCBjbG9uZWRDaHVuaztcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGNsb25lZENodW5rID0gQ2xvbmVBc1VpbnQ4QXJyYXkoY2h1bmspO1xuICAgICAgICAgICAgfSBjYXRjaCAoY2xvbmVFKSB7XG4gICAgICAgICAgICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFcnJvcihieW9iQnJhbmNoLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIsIGNsb25lRSk7XG4gICAgICAgICAgICAgIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFcnJvcihvdGhlckJyYW5jaC5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyLCBjbG9uZUUpO1xuICAgICAgICAgICAgICByZXNvbHZlQ2FuY2VsUHJvbWlzZShSZWFkYWJsZVN0cmVhbUNhbmNlbChzdHJlYW0sIGNsb25lRSkpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIWJ5b2JDYW5jZWxlZCkge1xuICAgICAgICAgICAgICBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUmVzcG9uZFdpdGhOZXdWaWV3KGJ5b2JCcmFuY2guX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlciwgY2h1bmspO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVldWUob3RoZXJCcmFuY2guX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlciwgY2xvbmVkQ2h1bmspO1xuICAgICAgICAgIH0gZWxzZSBpZiAoIWJ5b2JDYW5jZWxlZCkge1xuICAgICAgICAgICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclJlc3BvbmRXaXRoTmV3VmlldyhieW9iQnJhbmNoLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIsIGNodW5rKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZWFkaW5nID0gZmFsc2U7XG4gICAgICAgICAgaWYgKHJlYWRBZ2FpbkZvckJyYW5jaDEpIHtcbiAgICAgICAgICAgIHB1bGwxQWxnb3JpdGhtKCk7XG4gICAgICAgICAgfSBlbHNlIGlmIChyZWFkQWdhaW5Gb3JCcmFuY2gyKSB7XG4gICAgICAgICAgICBwdWxsMkFsZ29yaXRobSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgX2Nsb3NlU3RlcHM6IGNodW5rID0+IHtcbiAgICAgICAgcmVhZGluZyA9IGZhbHNlO1xuXG4gICAgICAgIGNvbnN0IGJ5b2JDYW5jZWxlZCA9IGZvckJyYW5jaDIgPyBjYW5jZWxlZDIgOiBjYW5jZWxlZDE7XG4gICAgICAgIGNvbnN0IG90aGVyQ2FuY2VsZWQgPSBmb3JCcmFuY2gyID8gY2FuY2VsZWQxIDogY2FuY2VsZWQyO1xuXG4gICAgICAgIGlmICghYnlvYkNhbmNlbGVkKSB7XG4gICAgICAgICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNsb3NlKGJ5b2JCcmFuY2guX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFvdGhlckNhbmNlbGVkKSB7XG4gICAgICAgICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNsb3NlKG90aGVyQnJhbmNoLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNodW5rICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBhc3NlcnQoY2h1bmsuYnl0ZUxlbmd0aCA9PT0gMCk7XG5cbiAgICAgICAgICBpZiAoIWJ5b2JDYW5jZWxlZCkge1xuICAgICAgICAgICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclJlc3BvbmRXaXRoTmV3VmlldyhieW9iQnJhbmNoLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIsIGNodW5rKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKCFvdGhlckNhbmNlbGVkICYmIG90aGVyQnJhbmNoLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIuX3BlbmRpbmdQdWxsSW50b3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclJlc3BvbmQob3RoZXJCcmFuY2guX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlciwgMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFieW9iQ2FuY2VsZWQgfHwgIW90aGVyQ2FuY2VsZWQpIHtcbiAgICAgICAgICByZXNvbHZlQ2FuY2VsUHJvbWlzZSh1bmRlZmluZWQpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgX2Vycm9yU3RlcHM6ICgpID0+IHtcbiAgICAgICAgcmVhZGluZyA9IGZhbHNlO1xuICAgICAgfVxuICAgIH07XG4gICAgUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUmVhZChyZWFkZXIsIHZpZXcsIDEsIHJlYWRJbnRvUmVxdWVzdCk7XG4gIH1cblxuICBmdW5jdGlvbiBwdWxsMUFsZ29yaXRobSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAocmVhZGluZykge1xuICAgICAgcmVhZEFnYWluRm9yQnJhbmNoMSA9IHRydWU7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlc29sdmVkV2l0aCh1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIHJlYWRpbmcgPSB0cnVlO1xuXG4gICAgY29uc3QgYnlvYlJlcXVlc3QgPSBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyR2V0QllPQlJlcXVlc3QoYnJhbmNoMS5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyKTtcbiAgICBpZiAoYnlvYlJlcXVlc3QgPT09IG51bGwpIHtcbiAgICAgIHB1bGxXaXRoRGVmYXVsdFJlYWRlcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwdWxsV2l0aEJZT0JSZWFkZXIoYnlvYlJlcXVlc3QuX3ZpZXchLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHByb21pc2VSZXNvbHZlZFdpdGgodW5kZWZpbmVkKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHB1bGwyQWxnb3JpdGhtKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmIChyZWFkaW5nKSB7XG4gICAgICByZWFkQWdhaW5Gb3JCcmFuY2gyID0gdHJ1ZTtcbiAgICAgIHJldHVybiBwcm9taXNlUmVzb2x2ZWRXaXRoKHVuZGVmaW5lZCk7XG4gICAgfVxuXG4gICAgcmVhZGluZyA9IHRydWU7XG5cbiAgICBjb25zdCBieW9iUmVxdWVzdCA9IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJHZXRCWU9CUmVxdWVzdChicmFuY2gyLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIpO1xuICAgIGlmIChieW9iUmVxdWVzdCA9PT0gbnVsbCkge1xuICAgICAgcHVsbFdpdGhEZWZhdWx0UmVhZGVyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHB1bGxXaXRoQllPQlJlYWRlcihieW9iUmVxdWVzdC5fdmlldyEsIHRydWUpO1xuICAgIH1cblxuICAgIHJldHVybiBwcm9taXNlUmVzb2x2ZWRXaXRoKHVuZGVmaW5lZCk7XG4gIH1cblxuICBmdW5jdGlvbiBjYW5jZWwxQWxnb3JpdGhtKHJlYXNvbjogYW55KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY2FuY2VsZWQxID0gdHJ1ZTtcbiAgICByZWFzb24xID0gcmVhc29uO1xuICAgIGlmIChjYW5jZWxlZDIpIHtcbiAgICAgIGNvbnN0IGNvbXBvc2l0ZVJlYXNvbiA9IENyZWF0ZUFycmF5RnJvbUxpc3QoW3JlYXNvbjEsIHJlYXNvbjJdKTtcbiAgICAgIGNvbnN0IGNhbmNlbFJlc3VsdCA9IFJlYWRhYmxlU3RyZWFtQ2FuY2VsKHN0cmVhbSwgY29tcG9zaXRlUmVhc29uKTtcbiAgICAgIHJlc29sdmVDYW5jZWxQcm9taXNlKGNhbmNlbFJlc3VsdCk7XG4gICAgfVxuICAgIHJldHVybiBjYW5jZWxQcm9taXNlO1xuICB9XG5cbiAgZnVuY3Rpb24gY2FuY2VsMkFsZ29yaXRobShyZWFzb246IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNhbmNlbGVkMiA9IHRydWU7XG4gICAgcmVhc29uMiA9IHJlYXNvbjtcbiAgICBpZiAoY2FuY2VsZWQxKSB7XG4gICAgICBjb25zdCBjb21wb3NpdGVSZWFzb24gPSBDcmVhdGVBcnJheUZyb21MaXN0KFtyZWFzb24xLCByZWFzb24yXSk7XG4gICAgICBjb25zdCBjYW5jZWxSZXN1bHQgPSBSZWFkYWJsZVN0cmVhbUNhbmNlbChzdHJlYW0sIGNvbXBvc2l0ZVJlYXNvbik7XG4gICAgICByZXNvbHZlQ2FuY2VsUHJvbWlzZShjYW5jZWxSZXN1bHQpO1xuICAgIH1cbiAgICByZXR1cm4gY2FuY2VsUHJvbWlzZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHN0YXJ0QWxnb3JpdGhtKCk6IHZvaWQge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGJyYW5jaDEgPSBDcmVhdGVSZWFkYWJsZUJ5dGVTdHJlYW0oc3RhcnRBbGdvcml0aG0sIHB1bGwxQWxnb3JpdGhtLCBjYW5jZWwxQWxnb3JpdGhtKTtcbiAgYnJhbmNoMiA9IENyZWF0ZVJlYWRhYmxlQnl0ZVN0cmVhbShzdGFydEFsZ29yaXRobSwgcHVsbDJBbGdvcml0aG0sIGNhbmNlbDJBbGdvcml0aG0pO1xuXG4gIGZvcndhcmRSZWFkZXJFcnJvcihyZWFkZXIpO1xuXG4gIHJldHVybiBbYnJhbmNoMSwgYnJhbmNoMl07XG59XG4iLCAiaW1wb3J0IHsgdHlwZUlzT2JqZWN0IH0gZnJvbSAnLi4vaGVscGVycy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB0eXBlIHsgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZFJlc3VsdCB9IGZyb20gJy4vZGVmYXVsdC1yZWFkZXInO1xuXG4vKipcbiAqIEEgY29tbW9uIGludGVyZmFjZSBmb3IgYSBgUmVhZGFkYWJsZVN0cmVhbWAgaW1wbGVtZW50YXRpb24uXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlYWRhYmxlU3RyZWFtTGlrZTxSID0gYW55PiB7XG4gIHJlYWRvbmx5IGxvY2tlZDogYm9vbGVhbjtcblxuICBnZXRSZWFkZXIoKTogUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyTGlrZTxSPjtcbn1cblxuLyoqXG4gKiBBIGNvbW1vbiBpbnRlcmZhY2UgZm9yIGEgYFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcmAgaW1wbGVtZW50YXRpb24uXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlckxpa2U8UiA9IGFueT4ge1xuICByZWFkb25seSBjbG9zZWQ6IFByb21pc2U8dW5kZWZpbmVkPjtcblxuICBjYW5jZWwocmVhc29uPzogYW55KTogUHJvbWlzZTx2b2lkPjtcblxuICByZWFkKCk6IFByb21pc2U8UmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZFJlc3VsdDxSPj47XG5cbiAgcmVsZWFzZUxvY2soKTogdm9pZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzUmVhZGFibGVTdHJlYW1MaWtlPFI+KHN0cmVhbTogdW5rbm93bik6IHN0cmVhbSBpcyBSZWFkYWJsZVN0cmVhbUxpa2U8Uj4ge1xuICByZXR1cm4gdHlwZUlzT2JqZWN0KHN0cmVhbSkgJiYgdHlwZW9mIChzdHJlYW0gYXMgUmVhZGFibGVTdHJlYW1MaWtlPFI+KS5nZXRSZWFkZXIgIT09ICd1bmRlZmluZWQnO1xufVxuIiwgImltcG9ydCB7IENyZWF0ZVJlYWRhYmxlU3RyZWFtLCB0eXBlIERlZmF1bHRSZWFkYWJsZVN0cmVhbSB9IGZyb20gJy4uL3JlYWRhYmxlLXN0cmVhbSc7XG5pbXBvcnQge1xuICBpc1JlYWRhYmxlU3RyZWFtTGlrZSxcbiAgdHlwZSBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJMaWtlLFxuICB0eXBlIFJlYWRhYmxlU3RyZWFtTGlrZVxufSBmcm9tICcuL3JlYWRhYmxlLXN0cmVhbS1saWtlJztcbmltcG9ydCB7IFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDbG9zZSwgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVucXVldWUgfSBmcm9tICcuL2RlZmF1bHQtY29udHJvbGxlcic7XG5pbXBvcnQgeyBHZXRJdGVyYXRvciwgR2V0TWV0aG9kLCBJdGVyYXRvckNvbXBsZXRlLCBJdGVyYXRvck5leHQsIEl0ZXJhdG9yVmFsdWUgfSBmcm9tICcuLi9hYnN0cmFjdC1vcHMvZWNtYXNjcmlwdCc7XG5pbXBvcnQgeyBwcm9taXNlUmVqZWN0ZWRXaXRoLCBwcm9taXNlUmVzb2x2ZWRXaXRoLCByZWZsZWN0Q2FsbCwgdHJhbnNmb3JtUHJvbWlzZVdpdGggfSBmcm9tICcuLi9oZWxwZXJzL3dlYmlkbCc7XG5pbXBvcnQgeyB0eXBlSXNPYmplY3QgfSBmcm9tICcuLi9oZWxwZXJzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIFJlYWRhYmxlU3RyZWFtRnJvbTxSPihcbiAgc291cmNlOiBJdGVyYWJsZTxSPiB8IEFzeW5jSXRlcmFibGU8Uj4gfCBSZWFkYWJsZVN0cmVhbUxpa2U8Uj5cbik6IERlZmF1bHRSZWFkYWJsZVN0cmVhbTxSPiB7XG4gIGlmIChpc1JlYWRhYmxlU3RyZWFtTGlrZShzb3VyY2UpKSB7XG4gICAgcmV0dXJuIFJlYWRhYmxlU3RyZWFtRnJvbURlZmF1bHRSZWFkZXIoc291cmNlLmdldFJlYWRlcigpKTtcbiAgfVxuICByZXR1cm4gUmVhZGFibGVTdHJlYW1Gcm9tSXRlcmFibGUoc291cmNlKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJlYWRhYmxlU3RyZWFtRnJvbUl0ZXJhYmxlPFI+KGFzeW5jSXRlcmFibGU6IEl0ZXJhYmxlPFI+IHwgQXN5bmNJdGVyYWJsZTxSPik6IERlZmF1bHRSZWFkYWJsZVN0cmVhbTxSPiB7XG4gIGxldCBzdHJlYW06IERlZmF1bHRSZWFkYWJsZVN0cmVhbTxSPjtcbiAgY29uc3QgaXRlcmF0b3JSZWNvcmQgPSBHZXRJdGVyYXRvcihhc3luY0l0ZXJhYmxlLCAnYXN5bmMnKTtcblxuICBjb25zdCBzdGFydEFsZ29yaXRobSA9IG5vb3A7XG5cbiAgZnVuY3Rpb24gcHVsbEFsZ29yaXRobSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgbmV4dFJlc3VsdDtcbiAgICB0cnkge1xuICAgICAgbmV4dFJlc3VsdCA9IEl0ZXJhdG9yTmV4dChpdGVyYXRvclJlY29yZCk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgoZSk7XG4gICAgfVxuICAgIGNvbnN0IG5leHRQcm9taXNlID0gcHJvbWlzZVJlc29sdmVkV2l0aChuZXh0UmVzdWx0KTtcbiAgICByZXR1cm4gdHJhbnNmb3JtUHJvbWlzZVdpdGgobmV4dFByb21pc2UsIGl0ZXJSZXN1bHQgPT4ge1xuICAgICAgaWYgKCF0eXBlSXNPYmplY3QoaXRlclJlc3VsdCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIHByb21pc2UgcmV0dXJuZWQgYnkgdGhlIGl0ZXJhdG9yLm5leHQoKSBtZXRob2QgbXVzdCBmdWxmaWxsIHdpdGggYW4gb2JqZWN0Jyk7XG4gICAgICB9XG4gICAgICBjb25zdCBkb25lID0gSXRlcmF0b3JDb21wbGV0ZShpdGVyUmVzdWx0KTtcbiAgICAgIGlmIChkb25lKSB7XG4gICAgICAgIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDbG9zZShzdHJlYW0uX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlcik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IEl0ZXJhdG9yVmFsdWUoaXRlclJlc3VsdCk7XG4gICAgICAgIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFbnF1ZXVlKHN0cmVhbS5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyLCB2YWx1ZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBmdW5jdGlvbiBjYW5jZWxBbGdvcml0aG0ocmVhc29uOiBhbnkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBpdGVyYXRvciA9IGl0ZXJhdG9yUmVjb3JkLml0ZXJhdG9yO1xuICAgIGxldCByZXR1cm5NZXRob2Q6ICh0eXBlb2YgaXRlcmF0b3IpWydyZXR1cm4nXSB8IHVuZGVmaW5lZDtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuTWV0aG9kID0gR2V0TWV0aG9kKGl0ZXJhdG9yLCAncmV0dXJuJyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgoZSk7XG4gICAgfVxuICAgIGlmIChyZXR1cm5NZXRob2QgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZXNvbHZlZFdpdGgodW5kZWZpbmVkKTtcbiAgICB9XG4gICAgbGV0IHJldHVyblJlc3VsdDogSXRlcmF0b3JSZXN1bHQ8Uj4gfCBQcm9taXNlPEl0ZXJhdG9yUmVzdWx0PFI+PjtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuUmVzdWx0ID0gcmVmbGVjdENhbGwocmV0dXJuTWV0aG9kLCBpdGVyYXRvciwgW3JlYXNvbl0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKGUpO1xuICAgIH1cbiAgICBjb25zdCByZXR1cm5Qcm9taXNlID0gcHJvbWlzZVJlc29sdmVkV2l0aChyZXR1cm5SZXN1bHQpO1xuICAgIHJldHVybiB0cmFuc2Zvcm1Qcm9taXNlV2l0aChyZXR1cm5Qcm9taXNlLCBpdGVyUmVzdWx0ID0+IHtcbiAgICAgIGlmICghdHlwZUlzT2JqZWN0KGl0ZXJSZXN1bHQpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBwcm9taXNlIHJldHVybmVkIGJ5IHRoZSBpdGVyYXRvci5yZXR1cm4oKSBtZXRob2QgbXVzdCBmdWxmaWxsIHdpdGggYW4gb2JqZWN0Jyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH0pO1xuICB9XG5cbiAgc3RyZWFtID0gQ3JlYXRlUmVhZGFibGVTdHJlYW0oc3RhcnRBbGdvcml0aG0sIHB1bGxBbGdvcml0aG0sIGNhbmNlbEFsZ29yaXRobSwgMCk7XG4gIHJldHVybiBzdHJlYW07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSZWFkYWJsZVN0cmVhbUZyb21EZWZhdWx0UmVhZGVyPFI+KFxuICByZWFkZXI6IFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlckxpa2U8Uj5cbik6IERlZmF1bHRSZWFkYWJsZVN0cmVhbTxSPiB7XG4gIGxldCBzdHJlYW06IERlZmF1bHRSZWFkYWJsZVN0cmVhbTxSPjtcblxuICBjb25zdCBzdGFydEFsZ29yaXRobSA9IG5vb3A7XG5cbiAgZnVuY3Rpb24gcHVsbEFsZ29yaXRobSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBsZXQgcmVhZFByb21pc2U7XG4gICAgdHJ5IHtcbiAgICAgIHJlYWRQcm9taXNlID0gcmVhZGVyLnJlYWQoKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRyYW5zZm9ybVByb21pc2VXaXRoKHJlYWRQcm9taXNlLCByZWFkUmVzdWx0ID0+IHtcbiAgICAgIGlmICghdHlwZUlzT2JqZWN0KHJlYWRSZXN1bHQpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBwcm9taXNlIHJldHVybmVkIGJ5IHRoZSByZWFkZXIucmVhZCgpIG1ldGhvZCBtdXN0IGZ1bGZpbGwgd2l0aCBhbiBvYmplY3QnKTtcbiAgICAgIH1cbiAgICAgIGlmIChyZWFkUmVzdWx0LmRvbmUpIHtcbiAgICAgICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNsb3NlKHN0cmVhbS5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gcmVhZFJlc3VsdC52YWx1ZTtcbiAgICAgICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVucXVldWUoc3RyZWFtLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIsIHZhbHVlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNhbmNlbEFsZ29yaXRobShyZWFzb246IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlc29sdmVkV2l0aChyZWFkZXIuY2FuY2VsKHJlYXNvbikpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKGUpO1xuICAgIH1cbiAgfVxuXG4gIHN0cmVhbSA9IENyZWF0ZVJlYWRhYmxlU3RyZWFtKHN0YXJ0QWxnb3JpdGhtLCBwdWxsQWxnb3JpdGhtLCBjYW5jZWxBbGdvcml0aG0sIDApO1xuICByZXR1cm4gc3RyZWFtO1xufVxuIiwgImltcG9ydCB7IGFzc2VydERpY3Rpb25hcnksIGFzc2VydEZ1bmN0aW9uLCBjb252ZXJ0VW5zaWduZWRMb25nTG9uZ1dpdGhFbmZvcmNlUmFuZ2UgfSBmcm9tICcuL2Jhc2ljJztcbmltcG9ydCB0eXBlIHtcbiAgUmVhZGFibGVTdHJlYW1Db250cm9sbGVyLFxuICBVbmRlcmx5aW5nQnl0ZVNvdXJjZSxcbiAgVW5kZXJseWluZ0RlZmF1bHRPckJ5dGVTb3VyY2UsXG4gIFVuZGVybHlpbmdEZWZhdWx0T3JCeXRlU291cmNlUHVsbENhbGxiYWNrLFxuICBVbmRlcmx5aW5nRGVmYXVsdE9yQnl0ZVNvdXJjZVN0YXJ0Q2FsbGJhY2ssXG4gIFVuZGVybHlpbmdTb3VyY2UsXG4gIFVuZGVybHlpbmdTb3VyY2VDYW5jZWxDYWxsYmFjayxcbiAgVmFsaWRhdGVkVW5kZXJseWluZ0RlZmF1bHRPckJ5dGVTb3VyY2Vcbn0gZnJvbSAnLi4vcmVhZGFibGUtc3RyZWFtL3VuZGVybHlpbmctc291cmNlJztcbmltcG9ydCB7IHByb21pc2VDYWxsLCByZWZsZWN0Q2FsbCB9IGZyb20gJy4uL2hlbHBlcnMvd2ViaWRsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRVbmRlcmx5aW5nRGVmYXVsdE9yQnl0ZVNvdXJjZTxSPihcbiAgc291cmNlOiBVbmRlcmx5aW5nU291cmNlPFI+IHwgVW5kZXJseWluZ0J5dGVTb3VyY2UgfCBudWxsLFxuICBjb250ZXh0OiBzdHJpbmdcbik6IFZhbGlkYXRlZFVuZGVybHlpbmdEZWZhdWx0T3JCeXRlU291cmNlPFI+IHtcbiAgYXNzZXJ0RGljdGlvbmFyeShzb3VyY2UsIGNvbnRleHQpO1xuICBjb25zdCBvcmlnaW5hbCA9IHNvdXJjZSBhcyAoVW5kZXJseWluZ0RlZmF1bHRPckJ5dGVTb3VyY2U8Uj4gfCBudWxsKTtcbiAgY29uc3QgYXV0b0FsbG9jYXRlQ2h1bmtTaXplID0gb3JpZ2luYWw/LmF1dG9BbGxvY2F0ZUNodW5rU2l6ZTtcbiAgY29uc3QgY2FuY2VsID0gb3JpZ2luYWw/LmNhbmNlbDtcbiAgY29uc3QgcHVsbCA9IG9yaWdpbmFsPy5wdWxsO1xuICBjb25zdCBzdGFydCA9IG9yaWdpbmFsPy5zdGFydDtcbiAgY29uc3QgdHlwZSA9IG9yaWdpbmFsPy50eXBlO1xuICByZXR1cm4ge1xuICAgIGF1dG9BbGxvY2F0ZUNodW5rU2l6ZTogYXV0b0FsbG9jYXRlQ2h1bmtTaXplID09PSB1bmRlZmluZWQgP1xuICAgICAgdW5kZWZpbmVkIDpcbiAgICAgIGNvbnZlcnRVbnNpZ25lZExvbmdMb25nV2l0aEVuZm9yY2VSYW5nZShcbiAgICAgICAgYXV0b0FsbG9jYXRlQ2h1bmtTaXplLFxuICAgICAgICBgJHtjb250ZXh0fSBoYXMgbWVtYmVyICdhdXRvQWxsb2NhdGVDaHVua1NpemUnIHRoYXRgXG4gICAgICApLFxuICAgIGNhbmNlbDogY2FuY2VsID09PSB1bmRlZmluZWQgP1xuICAgICAgdW5kZWZpbmVkIDpcbiAgICAgIGNvbnZlcnRVbmRlcmx5aW5nU291cmNlQ2FuY2VsQ2FsbGJhY2soY2FuY2VsLCBvcmlnaW5hbCEsIGAke2NvbnRleHR9IGhhcyBtZW1iZXIgJ2NhbmNlbCcgdGhhdGApLFxuICAgIHB1bGw6IHB1bGwgPT09IHVuZGVmaW5lZCA/XG4gICAgICB1bmRlZmluZWQgOlxuICAgICAgY29udmVydFVuZGVybHlpbmdTb3VyY2VQdWxsQ2FsbGJhY2socHVsbCwgb3JpZ2luYWwhLCBgJHtjb250ZXh0fSBoYXMgbWVtYmVyICdwdWxsJyB0aGF0YCksXG4gICAgc3RhcnQ6IHN0YXJ0ID09PSB1bmRlZmluZWQgP1xuICAgICAgdW5kZWZpbmVkIDpcbiAgICAgIGNvbnZlcnRVbmRlcmx5aW5nU291cmNlU3RhcnRDYWxsYmFjayhzdGFydCwgb3JpZ2luYWwhLCBgJHtjb250ZXh0fSBoYXMgbWVtYmVyICdzdGFydCcgdGhhdGApLFxuICAgIHR5cGU6IHR5cGUgPT09IHVuZGVmaW5lZCA/IHVuZGVmaW5lZCA6IGNvbnZlcnRSZWFkYWJsZVN0cmVhbVR5cGUodHlwZSwgYCR7Y29udGV4dH0gaGFzIG1lbWJlciAndHlwZScgdGhhdGApXG4gIH07XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRVbmRlcmx5aW5nU291cmNlQ2FuY2VsQ2FsbGJhY2soXG4gIGZuOiBVbmRlcmx5aW5nU291cmNlQ2FuY2VsQ2FsbGJhY2ssXG4gIG9yaWdpbmFsOiBVbmRlcmx5aW5nRGVmYXVsdE9yQnl0ZVNvdXJjZSxcbiAgY29udGV4dDogc3RyaW5nXG4pOiAocmVhc29uOiBhbnkpID0+IFByb21pc2U8dm9pZD4ge1xuICBhc3NlcnRGdW5jdGlvbihmbiwgY29udGV4dCk7XG4gIHJldHVybiAocmVhc29uOiBhbnkpID0+IHByb21pc2VDYWxsKGZuLCBvcmlnaW5hbCwgW3JlYXNvbl0pO1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0VW5kZXJseWluZ1NvdXJjZVB1bGxDYWxsYmFjazxSPihcbiAgZm46IFVuZGVybHlpbmdEZWZhdWx0T3JCeXRlU291cmNlUHVsbENhbGxiYWNrPFI+LFxuICBvcmlnaW5hbDogVW5kZXJseWluZ0RlZmF1bHRPckJ5dGVTb3VyY2U8Uj4sXG4gIGNvbnRleHQ6IHN0cmluZ1xuKTogKGNvbnRyb2xsZXI6IFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlcjxSPikgPT4gUHJvbWlzZTx2b2lkPiB7XG4gIGFzc2VydEZ1bmN0aW9uKGZuLCBjb250ZXh0KTtcbiAgcmV0dXJuIChjb250cm9sbGVyOiBSZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXI8Uj4pID0+IHByb21pc2VDYWxsKGZuLCBvcmlnaW5hbCwgW2NvbnRyb2xsZXJdKTtcbn1cblxuZnVuY3Rpb24gY29udmVydFVuZGVybHlpbmdTb3VyY2VTdGFydENhbGxiYWNrPFI+KFxuICBmbjogVW5kZXJseWluZ0RlZmF1bHRPckJ5dGVTb3VyY2VTdGFydENhbGxiYWNrPFI+LFxuICBvcmlnaW5hbDogVW5kZXJseWluZ0RlZmF1bHRPckJ5dGVTb3VyY2U8Uj4sXG4gIGNvbnRleHQ6IHN0cmluZ1xuKTogVW5kZXJseWluZ0RlZmF1bHRPckJ5dGVTb3VyY2VTdGFydENhbGxiYWNrPFI+IHtcbiAgYXNzZXJ0RnVuY3Rpb24oZm4sIGNvbnRleHQpO1xuICByZXR1cm4gKGNvbnRyb2xsZXI6IFJlYWRhYmxlU3RyZWFtQ29udHJvbGxlcjxSPikgPT4gcmVmbGVjdENhbGwoZm4sIG9yaWdpbmFsLCBbY29udHJvbGxlcl0pO1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0UmVhZGFibGVTdHJlYW1UeXBlKHR5cGU6IHN0cmluZywgY29udGV4dDogc3RyaW5nKTogJ2J5dGVzJyB7XG4gIHR5cGUgPSBgJHt0eXBlfWA7XG4gIGlmICh0eXBlICE9PSAnYnl0ZXMnKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgJHtjb250ZXh0fSAnJHt0eXBlfScgaXMgbm90IGEgdmFsaWQgZW51bWVyYXRpb24gdmFsdWUgZm9yIFJlYWRhYmxlU3RyZWFtVHlwZWApO1xuICB9XG4gIHJldHVybiB0eXBlO1xufVxuIiwgImltcG9ydCB7IGFzc2VydERpY3Rpb25hcnkgfSBmcm9tICcuL2Jhc2ljJztcbmltcG9ydCB0eXBlIHtcbiAgUmVhZGFibGVTdHJlYW1JdGVyYXRvck9wdGlvbnMsXG4gIFZhbGlkYXRlZFJlYWRhYmxlU3RyZWFtSXRlcmF0b3JPcHRpb25zXG59IGZyb20gJy4uL3JlYWRhYmxlLXN0cmVhbS9pdGVyYXRvci1vcHRpb25zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRJdGVyYXRvck9wdGlvbnMob3B0aW9uczogUmVhZGFibGVTdHJlYW1JdGVyYXRvck9wdGlvbnMgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGV4dDogc3RyaW5nKTogVmFsaWRhdGVkUmVhZGFibGVTdHJlYW1JdGVyYXRvck9wdGlvbnMge1xuICBhc3NlcnREaWN0aW9uYXJ5KG9wdGlvbnMsIGNvbnRleHQpO1xuICBjb25zdCBwcmV2ZW50Q2FuY2VsID0gb3B0aW9ucz8ucHJldmVudENhbmNlbDtcbiAgcmV0dXJuIHsgcHJldmVudENhbmNlbDogQm9vbGVhbihwcmV2ZW50Q2FuY2VsKSB9O1xufVxuIiwgImltcG9ydCB7IGFzc2VydERpY3Rpb25hcnkgfSBmcm9tICcuL2Jhc2ljJztcbmltcG9ydCB0eXBlIHsgU3RyZWFtUGlwZU9wdGlvbnMsIFZhbGlkYXRlZFN0cmVhbVBpcGVPcHRpb25zIH0gZnJvbSAnLi4vcmVhZGFibGUtc3RyZWFtL3BpcGUtb3B0aW9ucyc7XG5pbXBvcnQgeyB0eXBlIEFib3J0U2lnbmFsLCBpc0Fib3J0U2lnbmFsIH0gZnJvbSAnLi4vYWJvcnQtc2lnbmFsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRQaXBlT3B0aW9ucyhvcHRpb25zOiBTdHJlYW1QaXBlT3B0aW9ucyB8IG51bGwgfCB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHN0cmluZyk6IFZhbGlkYXRlZFN0cmVhbVBpcGVPcHRpb25zIHtcbiAgYXNzZXJ0RGljdGlvbmFyeShvcHRpb25zLCBjb250ZXh0KTtcbiAgY29uc3QgcHJldmVudEFib3J0ID0gb3B0aW9ucz8ucHJldmVudEFib3J0O1xuICBjb25zdCBwcmV2ZW50Q2FuY2VsID0gb3B0aW9ucz8ucHJldmVudENhbmNlbDtcbiAgY29uc3QgcHJldmVudENsb3NlID0gb3B0aW9ucz8ucHJldmVudENsb3NlO1xuICBjb25zdCBzaWduYWwgPSBvcHRpb25zPy5zaWduYWw7XG4gIGlmIChzaWduYWwgIT09IHVuZGVmaW5lZCkge1xuICAgIGFzc2VydEFib3J0U2lnbmFsKHNpZ25hbCwgYCR7Y29udGV4dH0gaGFzIG1lbWJlciAnc2lnbmFsJyB0aGF0YCk7XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBwcmV2ZW50QWJvcnQ6IEJvb2xlYW4ocHJldmVudEFib3J0KSxcbiAgICBwcmV2ZW50Q2FuY2VsOiBCb29sZWFuKHByZXZlbnRDYW5jZWwpLFxuICAgIHByZXZlbnRDbG9zZTogQm9vbGVhbihwcmV2ZW50Q2xvc2UpLFxuICAgIHNpZ25hbFxuICB9O1xufVxuXG5mdW5jdGlvbiBhc3NlcnRBYm9ydFNpZ25hbChzaWduYWw6IHVua25vd24sIGNvbnRleHQ6IHN0cmluZyk6IGFzc2VydHMgc2lnbmFsIGlzIEFib3J0U2lnbmFsIHtcbiAgaWYgKCFpc0Fib3J0U2lnbmFsKHNpZ25hbCkpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGAke2NvbnRleHR9IGlzIG5vdCBhbiBBYm9ydFNpZ25hbC5gKTtcbiAgfVxufVxuIiwgImltcG9ydCB7IGFzc2VydERpY3Rpb25hcnksIGFzc2VydFJlcXVpcmVkRmllbGQgfSBmcm9tICcuL2Jhc2ljJztcbmltcG9ydCB7IFJlYWRhYmxlU3RyZWFtIH0gZnJvbSAnLi4vcmVhZGFibGUtc3RyZWFtJztcbmltcG9ydCB7IFdyaXRhYmxlU3RyZWFtIH0gZnJvbSAnLi4vd3JpdGFibGUtc3RyZWFtJztcbmltcG9ydCB7IGFzc2VydFJlYWRhYmxlU3RyZWFtIH0gZnJvbSAnLi9yZWFkYWJsZS1zdHJlYW0nO1xuaW1wb3J0IHsgYXNzZXJ0V3JpdGFibGVTdHJlYW0gfSBmcm9tICcuL3dyaXRhYmxlLXN0cmVhbSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0UmVhZGFibGVXcml0YWJsZVBhaXI8UlMgZXh0ZW5kcyBSZWFkYWJsZVN0cmVhbSwgV1MgZXh0ZW5kcyBXcml0YWJsZVN0cmVhbT4oXG4gIHBhaXI6IHsgcmVhZGFibGU6IFJTOyB3cml0YWJsZTogV1MgfSB8IG51bGwgfCB1bmRlZmluZWQsXG4gIGNvbnRleHQ6IHN0cmluZ1xuKTogeyByZWFkYWJsZTogUlM7IHdyaXRhYmxlOiBXUyB9IHtcbiAgYXNzZXJ0RGljdGlvbmFyeShwYWlyLCBjb250ZXh0KTtcblxuICBjb25zdCByZWFkYWJsZSA9IHBhaXI/LnJlYWRhYmxlO1xuICBhc3NlcnRSZXF1aXJlZEZpZWxkKHJlYWRhYmxlLCAncmVhZGFibGUnLCAnUmVhZGFibGVXcml0YWJsZVBhaXInKTtcbiAgYXNzZXJ0UmVhZGFibGVTdHJlYW0ocmVhZGFibGUsIGAke2NvbnRleHR9IGhhcyBtZW1iZXIgJ3JlYWRhYmxlJyB0aGF0YCk7XG5cbiAgY29uc3Qgd3JpdGFibGUgPSBwYWlyPy53cml0YWJsZTtcbiAgYXNzZXJ0UmVxdWlyZWRGaWVsZCh3cml0YWJsZSwgJ3dyaXRhYmxlJywgJ1JlYWRhYmxlV3JpdGFibGVQYWlyJyk7XG4gIGFzc2VydFdyaXRhYmxlU3RyZWFtKHdyaXRhYmxlLCBgJHtjb250ZXh0fSBoYXMgbWVtYmVyICd3cml0YWJsZScgdGhhdGApO1xuXG4gIHJldHVybiB7IHJlYWRhYmxlLCB3cml0YWJsZSB9O1xufVxuIiwgImltcG9ydCBhc3NlcnQgZnJvbSAnLi4vc3R1Yi9hc3NlcnQnO1xuaW1wb3J0IHtcbiAgcHJvbWlzZVJlamVjdGVkV2l0aCxcbiAgcHJvbWlzZVJlc29sdmVkV2l0aCxcbiAgc2V0UHJvbWlzZUlzSGFuZGxlZFRvVHJ1ZSxcbiAgdHJhbnNmb3JtUHJvbWlzZVdpdGhcbn0gZnJvbSAnLi9oZWxwZXJzL3dlYmlkbCc7XG5pbXBvcnQgdHlwZSB7IFF1ZXVpbmdTdHJhdGVneSwgUXVldWluZ1N0cmF0ZWd5U2l6ZUNhbGxiYWNrIH0gZnJvbSAnLi9xdWV1aW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IEFjcXVpcmVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IsIHR5cGUgUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yIH0gZnJvbSAnLi9yZWFkYWJsZS1zdHJlYW0vYXN5bmMtaXRlcmF0b3InO1xuaW1wb3J0IHsgZGVmYXVsdFJlYWRlckNsb3NlZFByb21pc2VSZWplY3QsIGRlZmF1bHRSZWFkZXJDbG9zZWRQcm9taXNlUmVzb2x2ZSB9IGZyb20gJy4vcmVhZGFibGUtc3RyZWFtL2dlbmVyaWMtcmVhZGVyJztcbmltcG9ydCB7XG4gIEFjcXVpcmVSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIsXG4gIElzUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyLFxuICBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIsXG4gIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlckVycm9yUmVhZFJlcXVlc3RzLFxuICB0eXBlIFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRSZXN1bHRcbn0gZnJvbSAnLi9yZWFkYWJsZS1zdHJlYW0vZGVmYXVsdC1yZWFkZXInO1xuaW1wb3J0IHtcbiAgQWNxdWlyZVJlYWRhYmxlU3RyZWFtQllPQlJlYWRlcixcbiAgSXNSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIsXG4gIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlcixcbiAgUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyRXJyb3JSZWFkSW50b1JlcXVlc3RzLFxuICB0eXBlIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRSZXN1bHRcbn0gZnJvbSAnLi9yZWFkYWJsZS1zdHJlYW0vYnlvYi1yZWFkZXInO1xuaW1wb3J0IHsgUmVhZGFibGVTdHJlYW1QaXBlVG8gfSBmcm9tICcuL3JlYWRhYmxlLXN0cmVhbS9waXBlJztcbmltcG9ydCB7IFJlYWRhYmxlU3RyZWFtVGVlIH0gZnJvbSAnLi9yZWFkYWJsZS1zdHJlYW0vdGVlJztcbmltcG9ydCB7IFJlYWRhYmxlU3RyZWFtRnJvbSB9IGZyb20gJy4vcmVhZGFibGUtc3RyZWFtL2Zyb20nO1xuaW1wb3J0IHsgSXNXcml0YWJsZVN0cmVhbSwgSXNXcml0YWJsZVN0cmVhbUxvY2tlZCwgV3JpdGFibGVTdHJlYW0gfSBmcm9tICcuL3dyaXRhYmxlLXN0cmVhbSc7XG5pbXBvcnQgeyBTaW1wbGVRdWV1ZSB9IGZyb20gJy4vc2ltcGxlLXF1ZXVlJztcbmltcG9ydCB7XG4gIFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIsXG4gIFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QsXG4gIFNldFVwUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlcixcbiAgU2V0VXBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRnJvbVVuZGVybHlpbmdTb3VyY2Vcbn0gZnJvbSAnLi9yZWFkYWJsZS1zdHJlYW0vYnl0ZS1zdHJlYW0tY29udHJvbGxlcic7XG5pbXBvcnQge1xuICBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyLFxuICBTZXRVcFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIsXG4gIFNldFVwUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckZyb21VbmRlcmx5aW5nU291cmNlXG59IGZyb20gJy4vcmVhZGFibGUtc3RyZWFtL2RlZmF1bHQtY29udHJvbGxlcic7XG5pbXBvcnQgdHlwZSB7XG4gIFVuZGVybHlpbmdCeXRlU291cmNlLFxuICBVbmRlcmx5aW5nQnl0ZVNvdXJjZVB1bGxDYWxsYmFjayxcbiAgVW5kZXJseWluZ0J5dGVTb3VyY2VTdGFydENhbGxiYWNrLFxuICBVbmRlcmx5aW5nU291cmNlLFxuICBVbmRlcmx5aW5nU291cmNlQ2FuY2VsQ2FsbGJhY2ssXG4gIFVuZGVybHlpbmdTb3VyY2VQdWxsQ2FsbGJhY2ssXG4gIFVuZGVybHlpbmdTb3VyY2VTdGFydENhbGxiYWNrXG59IGZyb20gJy4vcmVhZGFibGUtc3RyZWFtL3VuZGVybHlpbmctc291cmNlJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBzZXRGdW5jdGlvbk5hbWUsIHR5cGVJc09iamVjdCB9IGZyb20gJy4vaGVscGVycy9taXNjZWxsYW5lb3VzJztcbmltcG9ydCB7IENyZWF0ZUFycmF5RnJvbUxpc3QsIFN5bWJvbEFzeW5jSXRlcmF0b3IgfSBmcm9tICcuL2Fic3RyYWN0LW9wcy9lY21hc2NyaXB0JztcbmltcG9ydCB7IENhbmNlbFN0ZXBzIH0gZnJvbSAnLi9hYnN0cmFjdC1vcHMvaW50ZXJuYWwtbWV0aG9kcyc7XG5pbXBvcnQgeyBJc05vbk5lZ2F0aXZlTnVtYmVyIH0gZnJvbSAnLi9hYnN0cmFjdC1vcHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgeyBhc3NlcnRPYmplY3QsIGFzc2VydFJlcXVpcmVkQXJndW1lbnQgfSBmcm9tICcuL3ZhbGlkYXRvcnMvYmFzaWMnO1xuaW1wb3J0IHsgY29udmVydFF1ZXVpbmdTdHJhdGVneSB9IGZyb20gJy4vdmFsaWRhdG9ycy9xdWV1aW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IEV4dHJhY3RIaWdoV2F0ZXJNYXJrLCBFeHRyYWN0U2l6ZUFsZ29yaXRobSB9IGZyb20gJy4vYWJzdHJhY3Qtb3BzL3F1ZXVpbmctc3RyYXRlZ3knO1xuaW1wb3J0IHsgY29udmVydFVuZGVybHlpbmdEZWZhdWx0T3JCeXRlU291cmNlIH0gZnJvbSAnLi92YWxpZGF0b3JzL3VuZGVybHlpbmctc291cmNlJztcbmltcG9ydCB0eXBlIHtcbiAgUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyUmVhZE9wdGlvbnMsXG4gIFJlYWRhYmxlU3RyZWFtR2V0UmVhZGVyT3B0aW9uc1xufSBmcm9tICcuL3JlYWRhYmxlLXN0cmVhbS9yZWFkZXItb3B0aW9ucyc7XG5pbXBvcnQgeyBjb252ZXJ0UmVhZGVyT3B0aW9ucyB9IGZyb20gJy4vdmFsaWRhdG9ycy9yZWFkZXItb3B0aW9ucyc7XG5pbXBvcnQgdHlwZSB7IFN0cmVhbVBpcGVPcHRpb25zLCBWYWxpZGF0ZWRTdHJlYW1QaXBlT3B0aW9ucyB9IGZyb20gJy4vcmVhZGFibGUtc3RyZWFtL3BpcGUtb3B0aW9ucyc7XG5pbXBvcnQgdHlwZSB7IFJlYWRhYmxlU3RyZWFtSXRlcmF0b3JPcHRpb25zIH0gZnJvbSAnLi9yZWFkYWJsZS1zdHJlYW0vaXRlcmF0b3Itb3B0aW9ucyc7XG5pbXBvcnQgeyBjb252ZXJ0SXRlcmF0b3JPcHRpb25zIH0gZnJvbSAnLi92YWxpZGF0b3JzL2l0ZXJhdG9yLW9wdGlvbnMnO1xuaW1wb3J0IHsgY29udmVydFBpcGVPcHRpb25zIH0gZnJvbSAnLi92YWxpZGF0b3JzL3BpcGUtb3B0aW9ucyc7XG5pbXBvcnQgdHlwZSB7IFJlYWRhYmxlV3JpdGFibGVQYWlyIH0gZnJvbSAnLi9yZWFkYWJsZS1zdHJlYW0vcmVhZGFibGUtd3JpdGFibGUtcGFpcic7XG5pbXBvcnQgeyBjb252ZXJ0UmVhZGFibGVXcml0YWJsZVBhaXIgfSBmcm9tICcuL3ZhbGlkYXRvcnMvcmVhZGFibGUtd3JpdGFibGUtcGFpcic7XG5pbXBvcnQgdHlwZSB7IFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlckxpa2UsIFJlYWRhYmxlU3RyZWFtTGlrZSB9IGZyb20gJy4vcmVhZGFibGUtc3RyZWFtL3JlYWRhYmxlLXN0cmVhbS1saWtlJztcbmltcG9ydCB0eXBlIHsgTm9uU2hhcmVkIH0gZnJvbSAnLi9oZWxwZXJzL2FycmF5LWJ1ZmZlci12aWV3JztcblxuZXhwb3J0IHR5cGUgRGVmYXVsdFJlYWRhYmxlU3RyZWFtPFIgPSBhbnk+ID0gUmVhZGFibGVTdHJlYW08Uj4gJiB7XG4gIF9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXI6IFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8Uj5cbn07XG5cbmV4cG9ydCB0eXBlIFJlYWRhYmxlQnl0ZVN0cmVhbSA9IFJlYWRhYmxlU3RyZWFtPE5vblNoYXJlZDxVaW50OEFycmF5Pj4gJiB7XG4gIF9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXI6IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJcbn07XG5cbnR5cGUgUmVhZGFibGVTdHJlYW1TdGF0ZSA9ICdyZWFkYWJsZScgfCAnY2xvc2VkJyB8ICdlcnJvcmVkJztcblxuLyoqXG4gKiBBIHJlYWRhYmxlIHN0cmVhbSByZXByZXNlbnRzIGEgc291cmNlIG9mIGRhdGEsIGZyb20gd2hpY2ggeW91IGNhbiByZWFkLlxuICpcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGNsYXNzIFJlYWRhYmxlU3RyZWFtPFIgPSBhbnk+IGltcGxlbWVudHMgQXN5bmNJdGVyYWJsZTxSPiB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3N0YXRlITogUmVhZGFibGVTdHJlYW1TdGF0ZTtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfcmVhZGVyOiBSZWFkYWJsZVN0cmVhbVJlYWRlcjxSPiB8IHVuZGVmaW5lZDtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfc3RvcmVkRXJyb3I6IGFueTtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfZGlzdHVyYmVkITogYm9vbGVhbjtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfcmVhZGFibGVTdHJlYW1Db250cm9sbGVyITogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxSPiB8IFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXI7XG5cbiAgY29uc3RydWN0b3IodW5kZXJseWluZ1NvdXJjZTogVW5kZXJseWluZ0J5dGVTb3VyY2UsIHN0cmF0ZWd5PzogeyBoaWdoV2F0ZXJNYXJrPzogbnVtYmVyOyBzaXplPzogdW5kZWZpbmVkIH0pO1xuICBjb25zdHJ1Y3Rvcih1bmRlcmx5aW5nU291cmNlPzogVW5kZXJseWluZ1NvdXJjZTxSPiwgc3RyYXRlZ3k/OiBRdWV1aW5nU3RyYXRlZ3k8Uj4pO1xuICBjb25zdHJ1Y3RvcihyYXdVbmRlcmx5aW5nU291cmNlOiBVbmRlcmx5aW5nU291cmNlPFI+IHwgVW5kZXJseWluZ0J5dGVTb3VyY2UgfCBudWxsIHwgdW5kZWZpbmVkID0ge30sXG4gICAgICAgICAgICAgIHJhd1N0cmF0ZWd5OiBRdWV1aW5nU3RyYXRlZ3k8Uj4gfCBudWxsIHwgdW5kZWZpbmVkID0ge30pIHtcbiAgICBpZiAocmF3VW5kZXJseWluZ1NvdXJjZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByYXdVbmRlcmx5aW5nU291cmNlID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgYXNzZXJ0T2JqZWN0KHJhd1VuZGVybHlpbmdTb3VyY2UsICdGaXJzdCBwYXJhbWV0ZXInKTtcbiAgICB9XG5cbiAgICBjb25zdCBzdHJhdGVneSA9IGNvbnZlcnRRdWV1aW5nU3RyYXRlZ3kocmF3U3RyYXRlZ3ksICdTZWNvbmQgcGFyYW1ldGVyJyk7XG4gICAgY29uc3QgdW5kZXJseWluZ1NvdXJjZSA9IGNvbnZlcnRVbmRlcmx5aW5nRGVmYXVsdE9yQnl0ZVNvdXJjZShyYXdVbmRlcmx5aW5nU291cmNlLCAnRmlyc3QgcGFyYW1ldGVyJyk7XG5cbiAgICBJbml0aWFsaXplUmVhZGFibGVTdHJlYW0odGhpcyk7XG5cbiAgICBpZiAodW5kZXJseWluZ1NvdXJjZS50eXBlID09PSAnYnl0ZXMnKSB7XG4gICAgICBpZiAoc3RyYXRlZ3kuc2l6ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdUaGUgc3RyYXRlZ3kgZm9yIGEgYnl0ZSBzdHJlYW0gY2Fubm90IGhhdmUgYSBzaXplIGZ1bmN0aW9uJyk7XG4gICAgICB9XG4gICAgICBjb25zdCBoaWdoV2F0ZXJNYXJrID0gRXh0cmFjdEhpZ2hXYXRlck1hcmsoc3RyYXRlZ3ksIDApO1xuICAgICAgU2V0VXBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRnJvbVVuZGVybHlpbmdTb3VyY2UoXG4gICAgICAgIHRoaXMgYXMgdW5rbm93biBhcyBSZWFkYWJsZUJ5dGVTdHJlYW0sXG4gICAgICAgIHVuZGVybHlpbmdTb3VyY2UsXG4gICAgICAgIGhpZ2hXYXRlck1hcmtcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFzc2VydCh1bmRlcmx5aW5nU291cmNlLnR5cGUgPT09IHVuZGVmaW5lZCk7XG4gICAgICBjb25zdCBzaXplQWxnb3JpdGhtID0gRXh0cmFjdFNpemVBbGdvcml0aG0oc3RyYXRlZ3kpO1xuICAgICAgY29uc3QgaGlnaFdhdGVyTWFyayA9IEV4dHJhY3RIaWdoV2F0ZXJNYXJrKHN0cmF0ZWd5LCAxKTtcbiAgICAgIFNldFVwUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckZyb21VbmRlcmx5aW5nU291cmNlKFxuICAgICAgICB0aGlzLFxuICAgICAgICB1bmRlcmx5aW5nU291cmNlLFxuICAgICAgICBoaWdoV2F0ZXJNYXJrLFxuICAgICAgICBzaXplQWxnb3JpdGhtXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0aGUgcmVhZGFibGUgc3RyZWFtIGlzIGxvY2tlZCB0byBhIHtAbGluayBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIgfCByZWFkZXJ9LlxuICAgKi9cbiAgZ2V0IGxvY2tlZCgpOiBib29sZWFuIHtcbiAgICBpZiAoIUlzUmVhZGFibGVTdHJlYW0odGhpcykpIHtcbiAgICAgIHRocm93IHN0cmVhbUJyYW5kQ2hlY2tFeGNlcHRpb24oJ2xvY2tlZCcpO1xuICAgIH1cblxuICAgIHJldHVybiBJc1JlYWRhYmxlU3RyZWFtTG9ja2VkKHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbmNlbHMgdGhlIHN0cmVhbSwgc2lnbmFsaW5nIGEgbG9zcyBvZiBpbnRlcmVzdCBpbiB0aGUgc3RyZWFtIGJ5IGEgY29uc3VtZXIuXG4gICAqXG4gICAqIFRoZSBzdXBwbGllZCBgcmVhc29uYCBhcmd1bWVudCB3aWxsIGJlIGdpdmVuIHRvIHRoZSB1bmRlcmx5aW5nIHNvdXJjZSdzIHtAbGluayBVbmRlcmx5aW5nU291cmNlLmNhbmNlbCB8IGNhbmNlbCgpfVxuICAgKiBtZXRob2QsIHdoaWNoIG1pZ2h0IG9yIG1pZ2h0IG5vdCB1c2UgaXQuXG4gICAqL1xuICBjYW5jZWwocmVhc29uOiBhbnkgPSB1bmRlZmluZWQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIUlzUmVhZGFibGVTdHJlYW0odGhpcykpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKHN0cmVhbUJyYW5kQ2hlY2tFeGNlcHRpb24oJ2NhbmNlbCcpKTtcbiAgICB9XG5cbiAgICBpZiAoSXNSZWFkYWJsZVN0cmVhbUxvY2tlZCh0aGlzKSkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgobmV3IFR5cGVFcnJvcignQ2Fubm90IGNhbmNlbCBhIHN0cmVhbSB0aGF0IGFscmVhZHkgaGFzIGEgcmVhZGVyJykpO1xuICAgIH1cblxuICAgIHJldHVybiBSZWFkYWJsZVN0cmVhbUNhbmNlbCh0aGlzLCByZWFzb24pO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB7QGxpbmsgUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyfSBhbmQgbG9ja3MgdGhlIHN0cmVhbSB0byB0aGUgbmV3IHJlYWRlci5cbiAgICpcbiAgICogVGhpcyBjYWxsIGJlaGF2ZXMgdGhlIHNhbWUgd2F5IGFzIHRoZSBuby1hcmd1bWVudCB2YXJpYW50LCBleGNlcHQgdGhhdCBpdCBvbmx5IHdvcmtzIG9uIHJlYWRhYmxlIGJ5dGUgc3RyZWFtcyxcbiAgICogaS5lLiBzdHJlYW1zIHdoaWNoIHdlcmUgY29uc3RydWN0ZWQgc3BlY2lmaWNhbGx5IHdpdGggdGhlIGFiaWxpdHkgdG8gaGFuZGxlIFwiYnJpbmcgeW91ciBvd24gYnVmZmVyXCIgcmVhZGluZy5cbiAgICogVGhlIHJldHVybmVkIEJZT0IgcmVhZGVyIHByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGRpcmVjdGx5IHJlYWQgaW5kaXZpZHVhbCBjaHVua3MgZnJvbSB0aGUgc3RyZWFtIHZpYSBpdHNcbiAgICoge0BsaW5rIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlci5yZWFkIHwgcmVhZCgpfSBtZXRob2QsIGludG8gZGV2ZWxvcGVyLXN1cHBsaWVkIGJ1ZmZlcnMsIGFsbG93aW5nIG1vcmUgcHJlY2lzZVxuICAgKiBjb250cm9sIG92ZXIgYWxsb2NhdGlvbi5cbiAgICovXG4gIGdldFJlYWRlcih7IG1vZGUgfTogeyBtb2RlOiAnYnlvYicgfSk6IFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlcjtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSB7QGxpbmsgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyfSBhbmQgbG9ja3MgdGhlIHN0cmVhbSB0byB0aGUgbmV3IHJlYWRlci5cbiAgICogV2hpbGUgdGhlIHN0cmVhbSBpcyBsb2NrZWQsIG5vIG90aGVyIHJlYWRlciBjYW4gYmUgYWNxdWlyZWQgdW50aWwgdGhpcyBvbmUgaXMgcmVsZWFzZWQuXG4gICAqXG4gICAqIFRoaXMgZnVuY3Rpb25hbGl0eSBpcyBlc3BlY2lhbGx5IHVzZWZ1bCBmb3IgY3JlYXRpbmcgYWJzdHJhY3Rpb25zIHRoYXQgZGVzaXJlIHRoZSBhYmlsaXR5IHRvIGNvbnN1bWUgYSBzdHJlYW1cbiAgICogaW4gaXRzIGVudGlyZXR5LiBCeSBnZXR0aW5nIGEgcmVhZGVyIGZvciB0aGUgc3RyZWFtLCB5b3UgY2FuIGVuc3VyZSBub2JvZHkgZWxzZSBjYW4gaW50ZXJsZWF2ZSByZWFkcyB3aXRoIHlvdXJzXG4gICAqIG9yIGNhbmNlbCB0aGUgc3RyZWFtLCB3aGljaCB3b3VsZCBpbnRlcmZlcmUgd2l0aCB5b3VyIGFic3RyYWN0aW9uLlxuICAgKi9cbiAgZ2V0UmVhZGVyKCk6IFJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcjxSPjtcbiAgZ2V0UmVhZGVyKFxuICAgIHJhd09wdGlvbnM6IFJlYWRhYmxlU3RyZWFtR2V0UmVhZGVyT3B0aW9ucyB8IG51bGwgfCB1bmRlZmluZWQgPSB1bmRlZmluZWRcbiAgKTogUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyPFI+IHwgUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyIHtcbiAgICBpZiAoIUlzUmVhZGFibGVTdHJlYW0odGhpcykpIHtcbiAgICAgIHRocm93IHN0cmVhbUJyYW5kQ2hlY2tFeGNlcHRpb24oJ2dldFJlYWRlcicpO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnMgPSBjb252ZXJ0UmVhZGVyT3B0aW9ucyhyYXdPcHRpb25zLCAnRmlyc3QgcGFyYW1ldGVyJyk7XG5cbiAgICBpZiAob3B0aW9ucy5tb2RlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBBY3F1aXJlUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyKHRoaXMpO1xuICAgIH1cblxuICAgIGFzc2VydChvcHRpb25zLm1vZGUgPT09ICdieW9iJyk7XG4gICAgcmV0dXJuIEFjcXVpcmVSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIodGhpcyBhcyB1bmtub3duIGFzIFJlYWRhYmxlQnl0ZVN0cmVhbSk7XG4gIH1cblxuICAvKipcbiAgICogUHJvdmlkZXMgYSBjb252ZW5pZW50LCBjaGFpbmFibGUgd2F5IG9mIHBpcGluZyB0aGlzIHJlYWRhYmxlIHN0cmVhbSB0aHJvdWdoIGEgdHJhbnNmb3JtIHN0cmVhbVxuICAgKiAob3IgYW55IG90aGVyIGB7IHdyaXRhYmxlLCByZWFkYWJsZSB9YCBwYWlyKS4gSXQgc2ltcGx5IHtAbGluayBSZWFkYWJsZVN0cmVhbS5waXBlVG8gfCBwaXBlc30gdGhlIHN0cmVhbVxuICAgKiBpbnRvIHRoZSB3cml0YWJsZSBzaWRlIG9mIHRoZSBzdXBwbGllZCBwYWlyLCBhbmQgcmV0dXJucyB0aGUgcmVhZGFibGUgc2lkZSBmb3IgZnVydGhlciB1c2UuXG4gICAqXG4gICAqIFBpcGluZyBhIHN0cmVhbSB3aWxsIGxvY2sgaXQgZm9yIHRoZSBkdXJhdGlvbiBvZiB0aGUgcGlwZSwgcHJldmVudGluZyBhbnkgb3RoZXIgY29uc3VtZXIgZnJvbSBhY3F1aXJpbmcgYSByZWFkZXIuXG4gICAqL1xuICBwaXBlVGhyb3VnaDxSUyBleHRlbmRzIFJlYWRhYmxlU3RyZWFtPihcbiAgICB0cmFuc2Zvcm06IHsgcmVhZGFibGU6IFJTOyB3cml0YWJsZTogV3JpdGFibGVTdHJlYW08Uj4gfSxcbiAgICBvcHRpb25zPzogU3RyZWFtUGlwZU9wdGlvbnNcbiAgKTogUlM7XG4gIHBpcGVUaHJvdWdoPFJTIGV4dGVuZHMgUmVhZGFibGVTdHJlYW0+KFxuICAgIHJhd1RyYW5zZm9ybTogeyByZWFkYWJsZTogUlM7IHdyaXRhYmxlOiBXcml0YWJsZVN0cmVhbTxSPiB9IHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgICByYXdPcHRpb25zOiBTdHJlYW1QaXBlT3B0aW9ucyB8IG51bGwgfCB1bmRlZmluZWQgPSB7fVxuICApOiBSUyB7XG4gICAgaWYgKCFJc1JlYWRhYmxlU3RyZWFtKHRoaXMpKSB7XG4gICAgICB0aHJvdyBzdHJlYW1CcmFuZENoZWNrRXhjZXB0aW9uKCdwaXBlVGhyb3VnaCcpO1xuICAgIH1cbiAgICBhc3NlcnRSZXF1aXJlZEFyZ3VtZW50KHJhd1RyYW5zZm9ybSwgMSwgJ3BpcGVUaHJvdWdoJyk7XG5cbiAgICBjb25zdCB0cmFuc2Zvcm0gPSBjb252ZXJ0UmVhZGFibGVXcml0YWJsZVBhaXIocmF3VHJhbnNmb3JtLCAnRmlyc3QgcGFyYW1ldGVyJyk7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGNvbnZlcnRQaXBlT3B0aW9ucyhyYXdPcHRpb25zLCAnU2Vjb25kIHBhcmFtZXRlcicpO1xuXG4gICAgaWYgKElzUmVhZGFibGVTdHJlYW1Mb2NrZWQodGhpcykpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1JlYWRhYmxlU3RyZWFtLnByb3RvdHlwZS5waXBlVGhyb3VnaCBjYW5ub3QgYmUgdXNlZCBvbiBhIGxvY2tlZCBSZWFkYWJsZVN0cmVhbScpO1xuICAgIH1cbiAgICBpZiAoSXNXcml0YWJsZVN0cmVhbUxvY2tlZCh0cmFuc2Zvcm0ud3JpdGFibGUpKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdSZWFkYWJsZVN0cmVhbS5wcm90b3R5cGUucGlwZVRocm91Z2ggY2Fubm90IGJlIHVzZWQgb24gYSBsb2NrZWQgV3JpdGFibGVTdHJlYW0nKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9taXNlID0gUmVhZGFibGVTdHJlYW1QaXBlVG8oXG4gICAgICB0aGlzLCB0cmFuc2Zvcm0ud3JpdGFibGUsIG9wdGlvbnMucHJldmVudENsb3NlLCBvcHRpb25zLnByZXZlbnRBYm9ydCwgb3B0aW9ucy5wcmV2ZW50Q2FuY2VsLCBvcHRpb25zLnNpZ25hbFxuICAgICk7XG5cbiAgICBzZXRQcm9taXNlSXNIYW5kbGVkVG9UcnVlKHByb21pc2UpO1xuXG4gICAgcmV0dXJuIHRyYW5zZm9ybS5yZWFkYWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQaXBlcyB0aGlzIHJlYWRhYmxlIHN0cmVhbSB0byBhIGdpdmVuIHdyaXRhYmxlIHN0cmVhbS4gVGhlIHdheSBpbiB3aGljaCB0aGUgcGlwaW5nIHByb2Nlc3MgYmVoYXZlcyB1bmRlclxuICAgKiB2YXJpb3VzIGVycm9yIGNvbmRpdGlvbnMgY2FuIGJlIGN1c3RvbWl6ZWQgd2l0aCBhIG51bWJlciBvZiBwYXNzZWQgb3B0aW9ucy4gSXQgcmV0dXJucyBhIHByb21pc2UgdGhhdCBmdWxmaWxsc1xuICAgKiB3aGVuIHRoZSBwaXBpbmcgcHJvY2VzcyBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5LCBvciByZWplY3RzIGlmIGFueSBlcnJvcnMgd2VyZSBlbmNvdW50ZXJlZC5cbiAgICpcbiAgICogUGlwaW5nIGEgc3RyZWFtIHdpbGwgbG9jayBpdCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBwaXBlLCBwcmV2ZW50aW5nIGFueSBvdGhlciBjb25zdW1lciBmcm9tIGFjcXVpcmluZyBhIHJlYWRlci5cbiAgICovXG4gIHBpcGVUbyhkZXN0aW5hdGlvbjogV3JpdGFibGVTdHJlYW08Uj4sIG9wdGlvbnM/OiBTdHJlYW1QaXBlT3B0aW9ucyk6IFByb21pc2U8dm9pZD47XG4gIHBpcGVUbyhkZXN0aW5hdGlvbjogV3JpdGFibGVTdHJlYW08Uj4gfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgICAgICAgcmF3T3B0aW9uczogU3RyZWFtUGlwZU9wdGlvbnMgfCBudWxsIHwgdW5kZWZpbmVkID0ge30pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIUlzUmVhZGFibGVTdHJlYW0odGhpcykpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKHN0cmVhbUJyYW5kQ2hlY2tFeGNlcHRpb24oJ3BpcGVUbycpKTtcbiAgICB9XG5cbiAgICBpZiAoZGVzdGluYXRpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHByb21pc2VSZWplY3RlZFdpdGgoYFBhcmFtZXRlciAxIGlzIHJlcXVpcmVkIGluICdwaXBlVG8nLmApO1xuICAgIH1cbiAgICBpZiAoIUlzV3JpdGFibGVTdHJlYW0oZGVzdGluYXRpb24pKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChcbiAgICAgICAgbmV3IFR5cGVFcnJvcihgUmVhZGFibGVTdHJlYW0ucHJvdG90eXBlLnBpcGVUbydzIGZpcnN0IGFyZ3VtZW50IG11c3QgYmUgYSBXcml0YWJsZVN0cmVhbWApXG4gICAgICApO1xuICAgIH1cblxuICAgIGxldCBvcHRpb25zOiBWYWxpZGF0ZWRTdHJlYW1QaXBlT3B0aW9ucztcbiAgICB0cnkge1xuICAgICAgb3B0aW9ucyA9IGNvbnZlcnRQaXBlT3B0aW9ucyhyYXdPcHRpb25zLCAnU2Vjb25kIHBhcmFtZXRlcicpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKGUpO1xuICAgIH1cblxuICAgIGlmIChJc1JlYWRhYmxlU3RyZWFtTG9ja2VkKHRoaXMpKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChcbiAgICAgICAgbmV3IFR5cGVFcnJvcignUmVhZGFibGVTdHJlYW0ucHJvdG90eXBlLnBpcGVUbyBjYW5ub3QgYmUgdXNlZCBvbiBhIGxvY2tlZCBSZWFkYWJsZVN0cmVhbScpXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoSXNXcml0YWJsZVN0cmVhbUxvY2tlZChkZXN0aW5hdGlvbikpIHtcbiAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKFxuICAgICAgICBuZXcgVHlwZUVycm9yKCdSZWFkYWJsZVN0cmVhbS5wcm90b3R5cGUucGlwZVRvIGNhbm5vdCBiZSB1c2VkIG9uIGEgbG9ja2VkIFdyaXRhYmxlU3RyZWFtJylcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIFJlYWRhYmxlU3RyZWFtUGlwZVRvPFI+KFxuICAgICAgdGhpcywgZGVzdGluYXRpb24sIG9wdGlvbnMucHJldmVudENsb3NlLCBvcHRpb25zLnByZXZlbnRBYm9ydCwgb3B0aW9ucy5wcmV2ZW50Q2FuY2VsLCBvcHRpb25zLnNpZ25hbFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGVlcyB0aGlzIHJlYWRhYmxlIHN0cmVhbSwgcmV0dXJuaW5nIGEgdHdvLWVsZW1lbnQgYXJyYXkgY29udGFpbmluZyB0aGUgdHdvIHJlc3VsdGluZyBicmFuY2hlcyBhc1xuICAgKiBuZXcge0BsaW5rIFJlYWRhYmxlU3RyZWFtfSBpbnN0YW5jZXMuXG4gICAqXG4gICAqIFRlZWluZyBhIHN0cmVhbSB3aWxsIGxvY2sgaXQsIHByZXZlbnRpbmcgYW55IG90aGVyIGNvbnN1bWVyIGZyb20gYWNxdWlyaW5nIGEgcmVhZGVyLlxuICAgKiBUbyBjYW5jZWwgdGhlIHN0cmVhbSwgY2FuY2VsIGJvdGggb2YgdGhlIHJlc3VsdGluZyBicmFuY2hlczsgYSBjb21wb3NpdGUgY2FuY2VsbGF0aW9uIHJlYXNvbiB3aWxsIHRoZW4gYmVcbiAgICogcHJvcGFnYXRlZCB0byB0aGUgc3RyZWFtJ3MgdW5kZXJseWluZyBzb3VyY2UuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB0aGUgY2h1bmtzIHNlZW4gaW4gZWFjaCBicmFuY2ggd2lsbCBiZSB0aGUgc2FtZSBvYmplY3QuIElmIHRoZSBjaHVua3MgYXJlIG5vdCBpbW11dGFibGUsXG4gICAqIHRoaXMgY291bGQgYWxsb3cgaW50ZXJmZXJlbmNlIGJldHdlZW4gdGhlIHR3byBicmFuY2hlcy5cbiAgICovXG4gIHRlZSgpOiBbUmVhZGFibGVTdHJlYW08Uj4sIFJlYWRhYmxlU3RyZWFtPFI+XSB7XG4gICAgaWYgKCFJc1JlYWRhYmxlU3RyZWFtKHRoaXMpKSB7XG4gICAgICB0aHJvdyBzdHJlYW1CcmFuZENoZWNrRXhjZXB0aW9uKCd0ZWUnKTtcbiAgICB9XG5cbiAgICBjb25zdCBicmFuY2hlcyA9IFJlYWRhYmxlU3RyZWFtVGVlKHRoaXMsIGZhbHNlKTtcbiAgICByZXR1cm4gQ3JlYXRlQXJyYXlGcm9tTGlzdChicmFuY2hlcyk7XG4gIH1cblxuICAvKipcbiAgICogQXN5bmNocm9ub3VzbHkgaXRlcmF0ZXMgb3ZlciB0aGUgY2h1bmtzIGluIHRoZSBzdHJlYW0ncyBpbnRlcm5hbCBxdWV1ZS5cbiAgICpcbiAgICogQXN5bmNocm9ub3VzbHkgaXRlcmF0aW5nIG92ZXIgdGhlIHN0cmVhbSB3aWxsIGxvY2sgaXQsIHByZXZlbnRpbmcgYW55IG90aGVyIGNvbnN1bWVyIGZyb20gYWNxdWlyaW5nIGEgcmVhZGVyLlxuICAgKiBUaGUgbG9jayB3aWxsIGJlIHJlbGVhc2VkIGlmIHRoZSBhc3luYyBpdGVyYXRvcidzIHtAbGluayBSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IucmV0dXJuIHwgcmV0dXJuKCl9IG1ldGhvZFxuICAgKiBpcyBjYWxsZWQsIGUuZy4gYnkgYnJlYWtpbmcgb3V0IG9mIHRoZSBsb29wLlxuICAgKlxuICAgKiBCeSBkZWZhdWx0LCBjYWxsaW5nIHRoZSBhc3luYyBpdGVyYXRvcidzIHtAbGluayBSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IucmV0dXJuIHwgcmV0dXJuKCl9IG1ldGhvZCB3aWxsIGFsc29cbiAgICogY2FuY2VsIHRoZSBzdHJlYW0uIFRvIHByZXZlbnQgdGhpcywgdXNlIHRoZSBzdHJlYW0ncyB7QGxpbmsgUmVhZGFibGVTdHJlYW0udmFsdWVzIHwgdmFsdWVzKCl9IG1ldGhvZCwgcGFzc2luZ1xuICAgKiBgdHJ1ZWAgZm9yIHRoZSBgcHJldmVudENhbmNlbGAgb3B0aW9uLlxuICAgKi9cbiAgdmFsdWVzKG9wdGlvbnM/OiBSZWFkYWJsZVN0cmVhbUl0ZXJhdG9yT3B0aW9ucyk6IFJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcjxSPjtcbiAgdmFsdWVzKHJhd09wdGlvbnM6IFJlYWRhYmxlU3RyZWFtSXRlcmF0b3JPcHRpb25zIHwgbnVsbCB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZCk6IFJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcjxSPiB7XG4gICAgaWYgKCFJc1JlYWRhYmxlU3RyZWFtKHRoaXMpKSB7XG4gICAgICB0aHJvdyBzdHJlYW1CcmFuZENoZWNrRXhjZXB0aW9uKCd2YWx1ZXMnKTtcbiAgICB9XG5cbiAgICBjb25zdCBvcHRpb25zID0gY29udmVydEl0ZXJhdG9yT3B0aW9ucyhyYXdPcHRpb25zLCAnRmlyc3QgcGFyYW1ldGVyJyk7XG4gICAgcmV0dXJuIEFjcXVpcmVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3I8Uj4odGhpcywgb3B0aW9ucy5wcmV2ZW50Q2FuY2VsKTtcbiAgfVxuXG4gIC8qKlxuICAgKiB7QGluaGVyaXREb2MgUmVhZGFibGVTdHJlYW0udmFsdWVzfVxuICAgKi9cbiAgW1N5bWJvbC5hc3luY0l0ZXJhdG9yXShvcHRpb25zPzogUmVhZGFibGVTdHJlYW1JdGVyYXRvck9wdGlvbnMpOiBSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3I8Uj47XG5cbiAgW1N5bWJvbEFzeW5jSXRlcmF0b3JdKG9wdGlvbnM/OiBSZWFkYWJsZVN0cmVhbUl0ZXJhdG9yT3B0aW9ucyk6IFJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcjxSPiB7XG4gICAgLy8gU3R1YiBpbXBsZW1lbnRhdGlvbiwgb3ZlcnJpZGRlbiBiZWxvd1xuICAgIHJldHVybiB0aGlzLnZhbHVlcyhvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IFJlYWRhYmxlU3RyZWFtIHdyYXBwaW5nIHRoZSBwcm92aWRlZCBpdGVyYWJsZSBvciBhc3luYyBpdGVyYWJsZS5cbiAgICpcbiAgICogVGhpcyBjYW4gYmUgdXNlZCB0byBhZGFwdCB2YXJpb3VzIGtpbmRzIG9mIG9iamVjdHMgaW50byBhIHJlYWRhYmxlIHN0cmVhbSxcbiAgICogc3VjaCBhcyBhbiBhcnJheSwgYW4gYXN5bmMgZ2VuZXJhdG9yLCBvciBhIE5vZGUuanMgcmVhZGFibGUgc3RyZWFtLlxuICAgKi9cbiAgc3RhdGljIGZyb208Uj4oYXN5bmNJdGVyYWJsZTogSXRlcmFibGU8Uj4gfCBBc3luY0l0ZXJhYmxlPFI+IHwgUmVhZGFibGVTdHJlYW1MaWtlPFI+KTogUmVhZGFibGVTdHJlYW08Uj4ge1xuICAgIHJldHVybiBSZWFkYWJsZVN0cmVhbUZyb20oYXN5bmNJdGVyYWJsZSk7XG4gIH1cbn1cblxuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoUmVhZGFibGVTdHJlYW0sIHtcbiAgZnJvbTogeyBlbnVtZXJhYmxlOiB0cnVlIH1cbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoUmVhZGFibGVTdHJlYW0ucHJvdG90eXBlLCB7XG4gIGNhbmNlbDogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG4gIGdldFJlYWRlcjogeyBlbnVtZXJhYmxlOiB0cnVlIH0sXG4gIHBpcGVUaHJvdWdoOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgcGlwZVRvOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgdGVlOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgdmFsdWVzOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgbG9ja2VkOiB7IGVudW1lcmFibGU6IHRydWUgfVxufSk7XG5zZXRGdW5jdGlvbk5hbWUoUmVhZGFibGVTdHJlYW0uZnJvbSwgJ2Zyb20nKTtcbnNldEZ1bmN0aW9uTmFtZShSZWFkYWJsZVN0cmVhbS5wcm90b3R5cGUuY2FuY2VsLCAnY2FuY2VsJyk7XG5zZXRGdW5jdGlvbk5hbWUoUmVhZGFibGVTdHJlYW0ucHJvdG90eXBlLmdldFJlYWRlciwgJ2dldFJlYWRlcicpO1xuc2V0RnVuY3Rpb25OYW1lKFJlYWRhYmxlU3RyZWFtLnByb3RvdHlwZS5waXBlVGhyb3VnaCwgJ3BpcGVUaHJvdWdoJyk7XG5zZXRGdW5jdGlvbk5hbWUoUmVhZGFibGVTdHJlYW0ucHJvdG90eXBlLnBpcGVUbywgJ3BpcGVUbycpO1xuc2V0RnVuY3Rpb25OYW1lKFJlYWRhYmxlU3RyZWFtLnByb3RvdHlwZS50ZWUsICd0ZWUnKTtcbnNldEZ1bmN0aW9uTmFtZShSZWFkYWJsZVN0cmVhbS5wcm90b3R5cGUudmFsdWVzLCAndmFsdWVzJyk7XG5pZiAodHlwZW9mIFN5bWJvbC50b1N0cmluZ1RhZyA9PT0gJ3N5bWJvbCcpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlU3RyZWFtLnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7XG4gICAgdmFsdWU6ICdSZWFkYWJsZVN0cmVhbScsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlXG4gIH0pO1xufVxuT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlU3RyZWFtLnByb3RvdHlwZSwgU3ltYm9sQXN5bmNJdGVyYXRvciwge1xuICB2YWx1ZTogUmVhZGFibGVTdHJlYW0ucHJvdG90eXBlLnZhbHVlcyxcbiAgd3JpdGFibGU6IHRydWUsXG4gIGNvbmZpZ3VyYWJsZTogdHJ1ZVxufSk7XG5cbmV4cG9ydCB0eXBlIHtcbiAgUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yLFxuICBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkUmVzdWx0LFxuICBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkUmVzdWx0LFxuICBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJSZWFkT3B0aW9ucyxcbiAgVW5kZXJseWluZ0J5dGVTb3VyY2UsXG4gIFVuZGVybHlpbmdTb3VyY2UsXG4gIFVuZGVybHlpbmdTb3VyY2VTdGFydENhbGxiYWNrLFxuICBVbmRlcmx5aW5nU291cmNlUHVsbENhbGxiYWNrLFxuICBVbmRlcmx5aW5nU291cmNlQ2FuY2VsQ2FsbGJhY2ssXG4gIFVuZGVybHlpbmdCeXRlU291cmNlU3RhcnRDYWxsYmFjayxcbiAgVW5kZXJseWluZ0J5dGVTb3VyY2VQdWxsQ2FsbGJhY2ssXG4gIFN0cmVhbVBpcGVPcHRpb25zLFxuICBSZWFkYWJsZVdyaXRhYmxlUGFpcixcbiAgUmVhZGFibGVTdHJlYW1JdGVyYXRvck9wdGlvbnMsXG4gIFJlYWRhYmxlU3RyZWFtTGlrZSxcbiAgUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyTGlrZVxufTtcblxuLy8gQWJzdHJhY3Qgb3BlcmF0aW9ucyBmb3IgdGhlIFJlYWRhYmxlU3RyZWFtLlxuXG4vLyBUaHJvd3MgaWYgYW5kIG9ubHkgaWYgc3RhcnRBbGdvcml0aG0gdGhyb3dzLlxuZXhwb3J0IGZ1bmN0aW9uIENyZWF0ZVJlYWRhYmxlU3RyZWFtPFI+KFxuICBzdGFydEFsZ29yaXRobTogKCkgPT4gdm9pZCB8IFByb21pc2VMaWtlPHZvaWQ+LFxuICBwdWxsQWxnb3JpdGhtOiAoKSA9PiBQcm9taXNlPHZvaWQ+LFxuICBjYW5jZWxBbGdvcml0aG06IChyZWFzb246IGFueSkgPT4gUHJvbWlzZTx2b2lkPixcbiAgaGlnaFdhdGVyTWFyayA9IDEsXG4gIHNpemVBbGdvcml0aG06IFF1ZXVpbmdTdHJhdGVneVNpemVDYWxsYmFjazxSPiA9ICgpID0+IDFcbik6IERlZmF1bHRSZWFkYWJsZVN0cmVhbTxSPiB7XG4gIGFzc2VydChJc05vbk5lZ2F0aXZlTnVtYmVyKGhpZ2hXYXRlck1hcmspKTtcblxuICBjb25zdCBzdHJlYW06IERlZmF1bHRSZWFkYWJsZVN0cmVhbTxSPiA9IE9iamVjdC5jcmVhdGUoUmVhZGFibGVTdHJlYW0ucHJvdG90eXBlKTtcbiAgSW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtKHN0cmVhbSk7XG5cbiAgY29uc3QgY29udHJvbGxlcjogUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxSPiA9IE9iamVjdC5jcmVhdGUoUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUpO1xuICBTZXRVcFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIoXG4gICAgc3RyZWFtLCBjb250cm9sbGVyLCBzdGFydEFsZ29yaXRobSwgcHVsbEFsZ29yaXRobSwgY2FuY2VsQWxnb3JpdGhtLCBoaWdoV2F0ZXJNYXJrLCBzaXplQWxnb3JpdGhtXG4gICk7XG5cbiAgcmV0dXJuIHN0cmVhbTtcbn1cblxuLy8gVGhyb3dzIGlmIGFuZCBvbmx5IGlmIHN0YXJ0QWxnb3JpdGhtIHRocm93cy5cbmV4cG9ydCBmdW5jdGlvbiBDcmVhdGVSZWFkYWJsZUJ5dGVTdHJlYW0oXG4gIHN0YXJ0QWxnb3JpdGhtOiAoKSA9PiB2b2lkIHwgUHJvbWlzZUxpa2U8dm9pZD4sXG4gIHB1bGxBbGdvcml0aG06ICgpID0+IFByb21pc2U8dm9pZD4sXG4gIGNhbmNlbEFsZ29yaXRobTogKHJlYXNvbjogYW55KSA9PiBQcm9taXNlPHZvaWQ+XG4pOiBSZWFkYWJsZUJ5dGVTdHJlYW0ge1xuICBjb25zdCBzdHJlYW06IFJlYWRhYmxlQnl0ZVN0cmVhbSA9IE9iamVjdC5jcmVhdGUoUmVhZGFibGVTdHJlYW0ucHJvdG90eXBlKTtcbiAgSW5pdGlhbGl6ZVJlYWRhYmxlU3RyZWFtKHN0cmVhbSk7XG5cbiAgY29uc3QgY29udHJvbGxlcjogUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciA9IE9iamVjdC5jcmVhdGUoUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlci5wcm90b3R5cGUpO1xuICBTZXRVcFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIoc3RyZWFtLCBjb250cm9sbGVyLCBzdGFydEFsZ29yaXRobSwgcHVsbEFsZ29yaXRobSwgY2FuY2VsQWxnb3JpdGhtLCAwLCB1bmRlZmluZWQpO1xuXG4gIHJldHVybiBzdHJlYW07XG59XG5cbmZ1bmN0aW9uIEluaXRpYWxpemVSZWFkYWJsZVN0cmVhbShzdHJlYW06IFJlYWRhYmxlU3RyZWFtKSB7XG4gIHN0cmVhbS5fc3RhdGUgPSAncmVhZGFibGUnO1xuICBzdHJlYW0uX3JlYWRlciA9IHVuZGVmaW5lZDtcbiAgc3RyZWFtLl9zdG9yZWRFcnJvciA9IHVuZGVmaW5lZDtcbiAgc3RyZWFtLl9kaXN0dXJiZWQgPSBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIElzUmVhZGFibGVTdHJlYW0oeDogdW5rbm93bik6IHggaXMgUmVhZGFibGVTdHJlYW0ge1xuICBpZiAoIXR5cGVJc09iamVjdCh4KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHgsICdfcmVhZGFibGVTdHJlYW1Db250cm9sbGVyJykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4geCBpbnN0YW5jZW9mIFJlYWRhYmxlU3RyZWFtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSXNSZWFkYWJsZVN0cmVhbURpc3R1cmJlZChzdHJlYW06IFJlYWRhYmxlU3RyZWFtKTogYm9vbGVhbiB7XG4gIGFzc2VydChJc1JlYWRhYmxlU3RyZWFtKHN0cmVhbSkpO1xuXG4gIHJldHVybiBzdHJlYW0uX2Rpc3R1cmJlZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIElzUmVhZGFibGVTdHJlYW1Mb2NrZWQoc3RyZWFtOiBSZWFkYWJsZVN0cmVhbSk6IGJvb2xlYW4ge1xuICBhc3NlcnQoSXNSZWFkYWJsZVN0cmVhbShzdHJlYW0pKTtcblxuICBpZiAoc3RyZWFtLl9yZWFkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG4vLyBSZWFkYWJsZVN0cmVhbSBBUEkgZXhwb3NlZCBmb3IgY29udHJvbGxlcnMuXG5cbmV4cG9ydCBmdW5jdGlvbiBSZWFkYWJsZVN0cmVhbUNhbmNlbDxSPihzdHJlYW06IFJlYWRhYmxlU3RyZWFtPFI+LCByZWFzb246IGFueSk6IFByb21pc2U8dW5kZWZpbmVkPiB7XG4gIHN0cmVhbS5fZGlzdHVyYmVkID0gdHJ1ZTtcblxuICBpZiAoc3RyZWFtLl9zdGF0ZSA9PT0gJ2Nsb3NlZCcpIHtcbiAgICByZXR1cm4gcHJvbWlzZVJlc29sdmVkV2l0aCh1bmRlZmluZWQpO1xuICB9XG4gIGlmIChzdHJlYW0uX3N0YXRlID09PSAnZXJyb3JlZCcpIHtcbiAgICByZXR1cm4gcHJvbWlzZVJlamVjdGVkV2l0aChzdHJlYW0uX3N0b3JlZEVycm9yKTtcbiAgfVxuXG4gIFJlYWRhYmxlU3RyZWFtQ2xvc2Uoc3RyZWFtKTtcblxuICBjb25zdCByZWFkZXIgPSBzdHJlYW0uX3JlYWRlcjtcbiAgaWYgKHJlYWRlciAhPT0gdW5kZWZpbmVkICYmIElzUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyKHJlYWRlcikpIHtcbiAgICBjb25zdCByZWFkSW50b1JlcXVlc3RzID0gcmVhZGVyLl9yZWFkSW50b1JlcXVlc3RzO1xuICAgIHJlYWRlci5fcmVhZEludG9SZXF1ZXN0cyA9IG5ldyBTaW1wbGVRdWV1ZSgpO1xuICAgIHJlYWRJbnRvUmVxdWVzdHMuZm9yRWFjaChyZWFkSW50b1JlcXVlc3QgPT4ge1xuICAgICAgcmVhZEludG9SZXF1ZXN0Ll9jbG9zZVN0ZXBzKHVuZGVmaW5lZCk7XG4gICAgfSk7XG4gIH1cblxuICBjb25zdCBzb3VyY2VDYW5jZWxQcm9taXNlID0gc3RyZWFtLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXJbQ2FuY2VsU3RlcHNdKHJlYXNvbik7XG4gIHJldHVybiB0cmFuc2Zvcm1Qcm9taXNlV2l0aChzb3VyY2VDYW5jZWxQcm9taXNlLCBub29wKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFJlYWRhYmxlU3RyZWFtQ2xvc2U8Uj4oc3RyZWFtOiBSZWFkYWJsZVN0cmVhbTxSPik6IHZvaWQge1xuICBhc3NlcnQoc3RyZWFtLl9zdGF0ZSA9PT0gJ3JlYWRhYmxlJyk7XG5cbiAgc3RyZWFtLl9zdGF0ZSA9ICdjbG9zZWQnO1xuXG4gIGNvbnN0IHJlYWRlciA9IHN0cmVhbS5fcmVhZGVyO1xuXG4gIGlmIChyZWFkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGRlZmF1bHRSZWFkZXJDbG9zZWRQcm9taXNlUmVzb2x2ZShyZWFkZXIpO1xuXG4gIGlmIChJc1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlcjxSPihyZWFkZXIpKSB7XG4gICAgY29uc3QgcmVhZFJlcXVlc3RzID0gcmVhZGVyLl9yZWFkUmVxdWVzdHM7XG4gICAgcmVhZGVyLl9yZWFkUmVxdWVzdHMgPSBuZXcgU2ltcGxlUXVldWUoKTtcbiAgICByZWFkUmVxdWVzdHMuZm9yRWFjaChyZWFkUmVxdWVzdCA9PiB7XG4gICAgICByZWFkUmVxdWVzdC5fY2xvc2VTdGVwcygpO1xuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBSZWFkYWJsZVN0cmVhbUVycm9yPFI+KHN0cmVhbTogUmVhZGFibGVTdHJlYW08Uj4sIGU6IGFueSk6IHZvaWQge1xuICBhc3NlcnQoSXNSZWFkYWJsZVN0cmVhbShzdHJlYW0pKTtcbiAgYXNzZXJ0KHN0cmVhbS5fc3RhdGUgPT09ICdyZWFkYWJsZScpO1xuXG4gIHN0cmVhbS5fc3RhdGUgPSAnZXJyb3JlZCc7XG4gIHN0cmVhbS5fc3RvcmVkRXJyb3IgPSBlO1xuXG4gIGNvbnN0IHJlYWRlciA9IHN0cmVhbS5fcmVhZGVyO1xuXG4gIGlmIChyZWFkZXIgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGRlZmF1bHRSZWFkZXJDbG9zZWRQcm9taXNlUmVqZWN0KHJlYWRlciwgZSk7XG5cbiAgaWYgKElzUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyPFI+KHJlYWRlcikpIHtcbiAgICBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXJFcnJvclJlYWRSZXF1ZXN0cyhyZWFkZXIsIGUpO1xuICB9IGVsc2Uge1xuICAgIGFzc2VydChJc1JlYWRhYmxlU3RyZWFtQllPQlJlYWRlcihyZWFkZXIpKTtcbiAgICBSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJFcnJvclJlYWRJbnRvUmVxdWVzdHMocmVhZGVyLCBlKTtcbiAgfVxufVxuXG4vLyBSZWFkZXJzXG5cbmV4cG9ydCB0eXBlIFJlYWRhYmxlU3RyZWFtUmVhZGVyPFI+ID0gUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyPFI+IHwgUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyO1xuXG5leHBvcnQge1xuICBSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIsXG4gIFJlYWRhYmxlU3RyZWFtQllPQlJlYWRlclxufTtcblxuLy8gQ29udHJvbGxlcnNcblxuZXhwb3J0IHtcbiAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlcixcbiAgUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdCxcbiAgUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclxufTtcblxuLy8gSGVscGVyIGZ1bmN0aW9ucyBmb3IgdGhlIFJlYWRhYmxlU3RyZWFtLlxuXG5mdW5jdGlvbiBzdHJlYW1CcmFuZENoZWNrRXhjZXB0aW9uKG5hbWU6IHN0cmluZyk6IFR5cGVFcnJvciB7XG4gIHJldHVybiBuZXcgVHlwZUVycm9yKGBSZWFkYWJsZVN0cmVhbS5wcm90b3R5cGUuJHtuYW1lfSBjYW4gb25seSBiZSB1c2VkIG9uIGEgUmVhZGFibGVTdHJlYW1gKTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IFF1ZXVpbmdTdHJhdGVneUluaXQgfSBmcm9tICcuLi9xdWV1aW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IGFzc2VydERpY3Rpb25hcnksIGFzc2VydFJlcXVpcmVkRmllbGQsIGNvbnZlcnRVbnJlc3RyaWN0ZWREb3VibGUgfSBmcm9tICcuL2Jhc2ljJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRRdWV1aW5nU3RyYXRlZ3lJbml0KGluaXQ6IFF1ZXVpbmdTdHJhdGVneUluaXQgfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRleHQ6IHN0cmluZyk6IFF1ZXVpbmdTdHJhdGVneUluaXQge1xuICBhc3NlcnREaWN0aW9uYXJ5KGluaXQsIGNvbnRleHQpO1xuICBjb25zdCBoaWdoV2F0ZXJNYXJrID0gaW5pdD8uaGlnaFdhdGVyTWFyaztcbiAgYXNzZXJ0UmVxdWlyZWRGaWVsZChoaWdoV2F0ZXJNYXJrLCAnaGlnaFdhdGVyTWFyaycsICdRdWV1aW5nU3RyYXRlZ3lJbml0Jyk7XG4gIHJldHVybiB7XG4gICAgaGlnaFdhdGVyTWFyazogY29udmVydFVucmVzdHJpY3RlZERvdWJsZShoaWdoV2F0ZXJNYXJrKVxuICB9O1xufVxuIiwgImltcG9ydCB0eXBlIHsgUXVldWluZ1N0cmF0ZWd5LCBRdWV1aW5nU3RyYXRlZ3lJbml0IH0gZnJvbSAnLi9xdWV1aW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IHNldEZ1bmN0aW9uTmFtZSwgdHlwZUlzT2JqZWN0IH0gZnJvbSAnLi9oZWxwZXJzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHsgYXNzZXJ0UmVxdWlyZWRBcmd1bWVudCB9IGZyb20gJy4vdmFsaWRhdG9ycy9iYXNpYyc7XG5pbXBvcnQgeyBjb252ZXJ0UXVldWluZ1N0cmF0ZWd5SW5pdCB9IGZyb20gJy4vdmFsaWRhdG9ycy9xdWV1aW5nLXN0cmF0ZWd5LWluaXQnO1xuXG4vLyBUaGUgc2l6ZSBmdW5jdGlvbiBtdXN0IG5vdCBoYXZlIGEgcHJvdG90eXBlIHByb3BlcnR5IG5vciBiZSBhIGNvbnN0cnVjdG9yXG5jb25zdCBieXRlTGVuZ3RoU2l6ZUZ1bmN0aW9uID0gKGNodW5rOiBBcnJheUJ1ZmZlclZpZXcpOiBudW1iZXIgPT4ge1xuICByZXR1cm4gY2h1bmsuYnl0ZUxlbmd0aDtcbn07XG5zZXRGdW5jdGlvbk5hbWUoYnl0ZUxlbmd0aFNpemVGdW5jdGlvbiwgJ3NpemUnKTtcblxuLyoqXG4gKiBBIHF1ZXVpbmcgc3RyYXRlZ3kgdGhhdCBjb3VudHMgdGhlIG51bWJlciBvZiBieXRlcyBpbiBlYWNoIGNodW5rLlxuICpcbiAqIEBwdWJsaWNcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneSBpbXBsZW1lbnRzIFF1ZXVpbmdTdHJhdGVneTxBcnJheUJ1ZmZlclZpZXc+IHtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICByZWFkb25seSBfYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUhpZ2hXYXRlck1hcms6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBRdWV1aW5nU3RyYXRlZ3lJbml0KSB7XG4gICAgYXNzZXJ0UmVxdWlyZWRBcmd1bWVudChvcHRpb25zLCAxLCAnQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneScpO1xuICAgIG9wdGlvbnMgPSBjb252ZXJ0UXVldWluZ1N0cmF0ZWd5SW5pdChvcHRpb25zLCAnRmlyc3QgcGFyYW1ldGVyJyk7XG4gICAgdGhpcy5fYnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneUhpZ2hXYXRlck1hcmsgPSBvcHRpb25zLmhpZ2hXYXRlck1hcms7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgaGlnaCB3YXRlciBtYXJrIHByb3ZpZGVkIHRvIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIGdldCBoaWdoV2F0ZXJNYXJrKCk6IG51bWJlciB7XG4gICAgaWYgKCFJc0J5dGVMZW5ndGhRdWV1aW5nU3RyYXRlZ3kodGhpcykpIHtcbiAgICAgIHRocm93IGJ5dGVMZW5ndGhCcmFuZENoZWNrRXhjZXB0aW9uKCdoaWdoV2F0ZXJNYXJrJyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9ieXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5SGlnaFdhdGVyTWFyaztcbiAgfVxuXG4gIC8qKlxuICAgKiBNZWFzdXJlcyB0aGUgc2l6ZSBvZiBgY2h1bmtgIGJ5IHJldHVybmluZyB0aGUgdmFsdWUgb2YgaXRzIGBieXRlTGVuZ3RoYCBwcm9wZXJ0eS5cbiAgICovXG4gIGdldCBzaXplKCk6IChjaHVuazogQXJyYXlCdWZmZXJWaWV3KSA9PiBudW1iZXIge1xuICAgIGlmICghSXNCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5KHRoaXMpKSB7XG4gICAgICB0aHJvdyBieXRlTGVuZ3RoQnJhbmRDaGVja0V4Y2VwdGlvbignc2l6ZScpO1xuICAgIH1cbiAgICByZXR1cm4gYnl0ZUxlbmd0aFNpemVGdW5jdGlvbjtcbiAgfVxufVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydGllcyhCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LnByb3RvdHlwZSwge1xuICBoaWdoV2F0ZXJNYXJrOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgc2l6ZTogeyBlbnVtZXJhYmxlOiB0cnVlIH1cbn0pO1xuaWYgKHR5cGVvZiBTeW1ib2wudG9TdHJpbmdUYWcgPT09ICdzeW1ib2wnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7XG4gICAgdmFsdWU6ICdCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5JyxcbiAgICBjb25maWd1cmFibGU6IHRydWVcbiAgfSk7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbnMgZm9yIHRoZSBCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5LlxuXG5mdW5jdGlvbiBieXRlTGVuZ3RoQnJhbmRDaGVja0V4Y2VwdGlvbihuYW1lOiBzdHJpbmcpOiBUeXBlRXJyb3Ige1xuICByZXR1cm4gbmV3IFR5cGVFcnJvcihgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneS5wcm90b3R5cGUuJHtuYW1lfSBjYW4gb25seSBiZSB1c2VkIG9uIGEgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneWApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSXNCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5KHg6IGFueSk6IHggaXMgQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneSB7XG4gIGlmICghdHlwZUlzT2JqZWN0KHgpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoeCwgJ19ieXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5SGlnaFdhdGVyTWFyaycpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHggaW5zdGFuY2VvZiBCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5O1xufVxuIiwgImltcG9ydCB0eXBlIHsgUXVldWluZ1N0cmF0ZWd5LCBRdWV1aW5nU3RyYXRlZ3lJbml0IH0gZnJvbSAnLi9xdWV1aW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IHNldEZ1bmN0aW9uTmFtZSwgdHlwZUlzT2JqZWN0IH0gZnJvbSAnLi9oZWxwZXJzL21pc2NlbGxhbmVvdXMnO1xuaW1wb3J0IHsgYXNzZXJ0UmVxdWlyZWRBcmd1bWVudCB9IGZyb20gJy4vdmFsaWRhdG9ycy9iYXNpYyc7XG5pbXBvcnQgeyBjb252ZXJ0UXVldWluZ1N0cmF0ZWd5SW5pdCB9IGZyb20gJy4vdmFsaWRhdG9ycy9xdWV1aW5nLXN0cmF0ZWd5LWluaXQnO1xuXG4vLyBUaGUgc2l6ZSBmdW5jdGlvbiBtdXN0IG5vdCBoYXZlIGEgcHJvdG90eXBlIHByb3BlcnR5IG5vciBiZSBhIGNvbnN0cnVjdG9yXG5jb25zdCBjb3VudFNpemVGdW5jdGlvbiA9ICgpOiAxID0+IHtcbiAgcmV0dXJuIDE7XG59O1xuc2V0RnVuY3Rpb25OYW1lKGNvdW50U2l6ZUZ1bmN0aW9uLCAnc2l6ZScpO1xuXG4vKipcbiAqIEEgcXVldWluZyBzdHJhdGVneSB0aGF0IGNvdW50cyB0aGUgbnVtYmVyIG9mIGNodW5rcy5cbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvdW50UXVldWluZ1N0cmF0ZWd5IGltcGxlbWVudHMgUXVldWluZ1N0cmF0ZWd5PGFueT4ge1xuICAvKiogQGludGVybmFsICovXG4gIHJlYWRvbmx5IF9jb3VudFF1ZXVpbmdTdHJhdGVneUhpZ2hXYXRlck1hcmshOiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogUXVldWluZ1N0cmF0ZWd5SW5pdCkge1xuICAgIGFzc2VydFJlcXVpcmVkQXJndW1lbnQob3B0aW9ucywgMSwgJ0NvdW50UXVldWluZ1N0cmF0ZWd5Jyk7XG4gICAgb3B0aW9ucyA9IGNvbnZlcnRRdWV1aW5nU3RyYXRlZ3lJbml0KG9wdGlvbnMsICdGaXJzdCBwYXJhbWV0ZXInKTtcbiAgICB0aGlzLl9jb3VudFF1ZXVpbmdTdHJhdGVneUhpZ2hXYXRlck1hcmsgPSBvcHRpb25zLmhpZ2hXYXRlck1hcms7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgaGlnaCB3YXRlciBtYXJrIHByb3ZpZGVkIHRvIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIGdldCBoaWdoV2F0ZXJNYXJrKCk6IG51bWJlciB7XG4gICAgaWYgKCFJc0NvdW50UXVldWluZ1N0cmF0ZWd5KHRoaXMpKSB7XG4gICAgICB0aHJvdyBjb3VudEJyYW5kQ2hlY2tFeGNlcHRpb24oJ2hpZ2hXYXRlck1hcmsnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NvdW50UXVldWluZ1N0cmF0ZWd5SGlnaFdhdGVyTWFyaztcbiAgfVxuXG4gIC8qKlxuICAgKiBNZWFzdXJlcyB0aGUgc2l6ZSBvZiBgY2h1bmtgIGJ5IGFsd2F5cyByZXR1cm5pbmcgMS5cbiAgICogVGhpcyBlbnN1cmVzIHRoYXQgdGhlIHRvdGFsIHF1ZXVlIHNpemUgaXMgYSBjb3VudCBvZiB0aGUgbnVtYmVyIG9mIGNodW5rcyBpbiB0aGUgcXVldWUuXG4gICAqL1xuICBnZXQgc2l6ZSgpOiAoY2h1bms6IGFueSkgPT4gMSB7XG4gICAgaWYgKCFJc0NvdW50UXVldWluZ1N0cmF0ZWd5KHRoaXMpKSB7XG4gICAgICB0aHJvdyBjb3VudEJyYW5kQ2hlY2tFeGNlcHRpb24oJ3NpemUnKTtcbiAgICB9XG4gICAgcmV0dXJuIGNvdW50U2l6ZUZ1bmN0aW9uO1xuICB9XG59XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKENvdW50UXVldWluZ1N0cmF0ZWd5LnByb3RvdHlwZSwge1xuICBoaWdoV2F0ZXJNYXJrOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgc2l6ZTogeyBlbnVtZXJhYmxlOiB0cnVlIH1cbn0pO1xuaWYgKHR5cGVvZiBTeW1ib2wudG9TdHJpbmdUYWcgPT09ICdzeW1ib2wnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShDb3VudFF1ZXVpbmdTdHJhdGVneS5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZywge1xuICAgIHZhbHVlOiAnQ291bnRRdWV1aW5nU3RyYXRlZ3knLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KTtcbn1cblxuLy8gSGVscGVyIGZ1bmN0aW9ucyBmb3IgdGhlIENvdW50UXVldWluZ1N0cmF0ZWd5LlxuXG5mdW5jdGlvbiBjb3VudEJyYW5kQ2hlY2tFeGNlcHRpb24obmFtZTogc3RyaW5nKTogVHlwZUVycm9yIHtcbiAgcmV0dXJuIG5ldyBUeXBlRXJyb3IoYENvdW50UXVldWluZ1N0cmF0ZWd5LnByb3RvdHlwZS4ke25hbWV9IGNhbiBvbmx5IGJlIHVzZWQgb24gYSBDb3VudFF1ZXVpbmdTdHJhdGVneWApO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gSXNDb3VudFF1ZXVpbmdTdHJhdGVneSh4OiBhbnkpOiB4IGlzIENvdW50UXVldWluZ1N0cmF0ZWd5IHtcbiAgaWYgKCF0eXBlSXNPYmplY3QoeCkpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh4LCAnX2NvdW50UXVldWluZ1N0cmF0ZWd5SGlnaFdhdGVyTWFyaycpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHggaW5zdGFuY2VvZiBDb3VudFF1ZXVpbmdTdHJhdGVneTtcbn1cbiIsICJpbXBvcnQgeyBhc3NlcnREaWN0aW9uYXJ5LCBhc3NlcnRGdW5jdGlvbiB9IGZyb20gJy4vYmFzaWMnO1xuaW1wb3J0IHsgcHJvbWlzZUNhbGwsIHJlZmxlY3RDYWxsIH0gZnJvbSAnLi4vaGVscGVycy93ZWJpZGwnO1xuaW1wb3J0IHR5cGUge1xuICBUcmFuc2Zvcm1lcixcbiAgVHJhbnNmb3JtZXJDYW5jZWxDYWxsYmFjayxcbiAgVHJhbnNmb3JtZXJGbHVzaENhbGxiYWNrLFxuICBUcmFuc2Zvcm1lclN0YXJ0Q2FsbGJhY2ssXG4gIFRyYW5zZm9ybWVyVHJhbnNmb3JtQ2FsbGJhY2ssXG4gIFZhbGlkYXRlZFRyYW5zZm9ybWVyXG59IGZyb20gJy4uL3RyYW5zZm9ybS1zdHJlYW0vdHJhbnNmb3JtZXInO1xuaW1wb3J0IHsgVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIgfSBmcm9tICcuLi90cmFuc2Zvcm0tc3RyZWFtJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnZlcnRUcmFuc2Zvcm1lcjxJLCBPPihvcmlnaW5hbDogVHJhbnNmb3JtZXI8SSwgTz4gfCBudWxsLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZXh0OiBzdHJpbmcpOiBWYWxpZGF0ZWRUcmFuc2Zvcm1lcjxJLCBPPiB7XG4gIGFzc2VydERpY3Rpb25hcnkob3JpZ2luYWwsIGNvbnRleHQpO1xuICBjb25zdCBjYW5jZWwgPSBvcmlnaW5hbD8uY2FuY2VsO1xuICBjb25zdCBmbHVzaCA9IG9yaWdpbmFsPy5mbHVzaDtcbiAgY29uc3QgcmVhZGFibGVUeXBlID0gb3JpZ2luYWw/LnJlYWRhYmxlVHlwZTtcbiAgY29uc3Qgc3RhcnQgPSBvcmlnaW5hbD8uc3RhcnQ7XG4gIGNvbnN0IHRyYW5zZm9ybSA9IG9yaWdpbmFsPy50cmFuc2Zvcm07XG4gIGNvbnN0IHdyaXRhYmxlVHlwZSA9IG9yaWdpbmFsPy53cml0YWJsZVR5cGU7XG4gIHJldHVybiB7XG4gICAgY2FuY2VsOiBjYW5jZWwgPT09IHVuZGVmaW5lZCA/XG4gICAgICB1bmRlZmluZWQgOlxuICAgICAgY29udmVydFRyYW5zZm9ybWVyQ2FuY2VsQ2FsbGJhY2soY2FuY2VsLCBvcmlnaW5hbCEsIGAke2NvbnRleHR9IGhhcyBtZW1iZXIgJ2NhbmNlbCcgdGhhdGApLFxuICAgIGZsdXNoOiBmbHVzaCA9PT0gdW5kZWZpbmVkID9cbiAgICAgIHVuZGVmaW5lZCA6XG4gICAgICBjb252ZXJ0VHJhbnNmb3JtZXJGbHVzaENhbGxiYWNrKGZsdXNoLCBvcmlnaW5hbCEsIGAke2NvbnRleHR9IGhhcyBtZW1iZXIgJ2ZsdXNoJyB0aGF0YCksXG4gICAgcmVhZGFibGVUeXBlLFxuICAgIHN0YXJ0OiBzdGFydCA9PT0gdW5kZWZpbmVkID9cbiAgICAgIHVuZGVmaW5lZCA6XG4gICAgICBjb252ZXJ0VHJhbnNmb3JtZXJTdGFydENhbGxiYWNrKHN0YXJ0LCBvcmlnaW5hbCEsIGAke2NvbnRleHR9IGhhcyBtZW1iZXIgJ3N0YXJ0JyB0aGF0YCksXG4gICAgdHJhbnNmb3JtOiB0cmFuc2Zvcm0gPT09IHVuZGVmaW5lZCA/XG4gICAgICB1bmRlZmluZWQgOlxuICAgICAgY29udmVydFRyYW5zZm9ybWVyVHJhbnNmb3JtQ2FsbGJhY2sodHJhbnNmb3JtLCBvcmlnaW5hbCEsIGAke2NvbnRleHR9IGhhcyBtZW1iZXIgJ3RyYW5zZm9ybScgdGhhdGApLFxuICAgIHdyaXRhYmxlVHlwZVxuICB9O1xufVxuXG5mdW5jdGlvbiBjb252ZXJ0VHJhbnNmb3JtZXJGbHVzaENhbGxiYWNrPEksIE8+KFxuICBmbjogVHJhbnNmb3JtZXJGbHVzaENhbGxiYWNrPE8+LFxuICBvcmlnaW5hbDogVHJhbnNmb3JtZXI8SSwgTz4sXG4gIGNvbnRleHQ6IHN0cmluZ1xuKTogKGNvbnRyb2xsZXI6IFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyPE8+KSA9PiBQcm9taXNlPHZvaWQ+IHtcbiAgYXNzZXJ0RnVuY3Rpb24oZm4sIGNvbnRleHQpO1xuICByZXR1cm4gKGNvbnRyb2xsZXI6IFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyPE8+KSA9PiBwcm9taXNlQ2FsbChmbiwgb3JpZ2luYWwsIFtjb250cm9sbGVyXSk7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUcmFuc2Zvcm1lclN0YXJ0Q2FsbGJhY2s8SSwgTz4oXG4gIGZuOiBUcmFuc2Zvcm1lclN0YXJ0Q2FsbGJhY2s8Tz4sXG4gIG9yaWdpbmFsOiBUcmFuc2Zvcm1lcjxJLCBPPixcbiAgY29udGV4dDogc3RyaW5nXG4pOiBUcmFuc2Zvcm1lclN0YXJ0Q2FsbGJhY2s8Tz4ge1xuICBhc3NlcnRGdW5jdGlvbihmbiwgY29udGV4dCk7XG4gIHJldHVybiAoY29udHJvbGxlcjogVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8Tz4pID0+IHJlZmxlY3RDYWxsKGZuLCBvcmlnaW5hbCwgW2NvbnRyb2xsZXJdKTtcbn1cblxuZnVuY3Rpb24gY29udmVydFRyYW5zZm9ybWVyVHJhbnNmb3JtQ2FsbGJhY2s8SSwgTz4oXG4gIGZuOiBUcmFuc2Zvcm1lclRyYW5zZm9ybUNhbGxiYWNrPEksIE8+LFxuICBvcmlnaW5hbDogVHJhbnNmb3JtZXI8SSwgTz4sXG4gIGNvbnRleHQ6IHN0cmluZ1xuKTogKGNodW5rOiBJLCBjb250cm9sbGVyOiBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxPPikgPT4gUHJvbWlzZTx2b2lkPiB7XG4gIGFzc2VydEZ1bmN0aW9uKGZuLCBjb250ZXh0KTtcbiAgcmV0dXJuIChjaHVuazogSSwgY29udHJvbGxlcjogVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8Tz4pID0+IHByb21pc2VDYWxsKGZuLCBvcmlnaW5hbCwgW2NodW5rLCBjb250cm9sbGVyXSk7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRUcmFuc2Zvcm1lckNhbmNlbENhbGxiYWNrPEksIE8+KFxuICBmbjogVHJhbnNmb3JtZXJDYW5jZWxDYWxsYmFjayxcbiAgb3JpZ2luYWw6IFRyYW5zZm9ybWVyPEksIE8+LFxuICBjb250ZXh0OiBzdHJpbmdcbik6IChyZWFzb246IGFueSkgPT4gUHJvbWlzZTx2b2lkPiB7XG4gIGFzc2VydEZ1bmN0aW9uKGZuLCBjb250ZXh0KTtcbiAgcmV0dXJuIChyZWFzb246IGFueSkgPT4gcHJvbWlzZUNhbGwoZm4sIG9yaWdpbmFsLCBbcmVhc29uXSk7XG59XG4iLCAiaW1wb3J0IGFzc2VydCBmcm9tICcuLi9zdHViL2Fzc2VydCc7XG5pbXBvcnQge1xuICBuZXdQcm9taXNlLFxuICBwcm9taXNlUmVqZWN0ZWRXaXRoLFxuICBwcm9taXNlUmVzb2x2ZWRXaXRoLFxuICBzZXRQcm9taXNlSXNIYW5kbGVkVG9UcnVlLFxuICB0cmFuc2Zvcm1Qcm9taXNlV2l0aCxcbiAgdXBvblByb21pc2Vcbn0gZnJvbSAnLi9oZWxwZXJzL3dlYmlkbCc7XG5pbXBvcnQgeyBDcmVhdGVSZWFkYWJsZVN0cmVhbSwgdHlwZSBEZWZhdWx0UmVhZGFibGVTdHJlYW0sIFJlYWRhYmxlU3RyZWFtIH0gZnJvbSAnLi9yZWFkYWJsZS1zdHJlYW0nO1xuaW1wb3J0IHtcbiAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNhbkNsb3NlT3JFbnF1ZXVlLFxuICBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2xvc2UsXG4gIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFbnF1ZXVlLFxuICBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyRXJyb3IsXG4gIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJHZXREZXNpcmVkU2l6ZSxcbiAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckhhc0JhY2twcmVzc3VyZVxufSBmcm9tICcuL3JlYWRhYmxlLXN0cmVhbS9kZWZhdWx0LWNvbnRyb2xsZXInO1xuaW1wb3J0IHR5cGUgeyBRdWV1aW5nU3RyYXRlZ3ksIFF1ZXVpbmdTdHJhdGVneVNpemVDYWxsYmFjayB9IGZyb20gJy4vcXVldWluZy1zdHJhdGVneSc7XG5pbXBvcnQgeyBDcmVhdGVXcml0YWJsZVN0cmVhbSwgV3JpdGFibGVTdHJlYW0sIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFcnJvcklmTmVlZGVkIH0gZnJvbSAnLi93cml0YWJsZS1zdHJlYW0nO1xuaW1wb3J0IHsgc2V0RnVuY3Rpb25OYW1lLCB0eXBlSXNPYmplY3QgfSBmcm9tICcuL2hlbHBlcnMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgeyBJc05vbk5lZ2F0aXZlTnVtYmVyIH0gZnJvbSAnLi9hYnN0cmFjdC1vcHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQgeyBjb252ZXJ0UXVldWluZ1N0cmF0ZWd5IH0gZnJvbSAnLi92YWxpZGF0b3JzL3F1ZXVpbmctc3RyYXRlZ3knO1xuaW1wb3J0IHsgRXh0cmFjdEhpZ2hXYXRlck1hcmssIEV4dHJhY3RTaXplQWxnb3JpdGhtIH0gZnJvbSAnLi9hYnN0cmFjdC1vcHMvcXVldWluZy1zdHJhdGVneSc7XG5pbXBvcnQgdHlwZSB7XG4gIFRyYW5zZm9ybWVyLFxuICBUcmFuc2Zvcm1lckNhbmNlbENhbGxiYWNrLFxuICBUcmFuc2Zvcm1lckZsdXNoQ2FsbGJhY2ssXG4gIFRyYW5zZm9ybWVyU3RhcnRDYWxsYmFjayxcbiAgVHJhbnNmb3JtZXJUcmFuc2Zvcm1DYWxsYmFjayxcbiAgVmFsaWRhdGVkVHJhbnNmb3JtZXJcbn0gZnJvbSAnLi90cmFuc2Zvcm0tc3RyZWFtL3RyYW5zZm9ybWVyJztcbmltcG9ydCB7IGNvbnZlcnRUcmFuc2Zvcm1lciB9IGZyb20gJy4vdmFsaWRhdG9ycy90cmFuc2Zvcm1lcic7XG5cbi8vIENsYXNzIFRyYW5zZm9ybVN0cmVhbVxuXG4vKipcbiAqIEEgdHJhbnNmb3JtIHN0cmVhbSBjb25zaXN0cyBvZiBhIHBhaXIgb2Ygc3RyZWFtczogYSB7QGxpbmsgV3JpdGFibGVTdHJlYW0gfCB3cml0YWJsZSBzdHJlYW19LFxuICoga25vd24gYXMgaXRzIHdyaXRhYmxlIHNpZGUsIGFuZCBhIHtAbGluayBSZWFkYWJsZVN0cmVhbSB8IHJlYWRhYmxlIHN0cmVhbX0sIGtub3duIGFzIGl0cyByZWFkYWJsZSBzaWRlLlxuICogSW4gYSBtYW5uZXIgc3BlY2lmaWMgdG8gdGhlIHRyYW5zZm9ybSBzdHJlYW0gaW4gcXVlc3Rpb24sIHdyaXRlcyB0byB0aGUgd3JpdGFibGUgc2lkZSByZXN1bHQgaW4gbmV3IGRhdGEgYmVpbmdcbiAqIG1hZGUgYXZhaWxhYmxlIGZvciByZWFkaW5nIGZyb20gdGhlIHJlYWRhYmxlIHNpZGUuXG4gKlxuICogQHB1YmxpY1xuICovXG5leHBvcnQgY2xhc3MgVHJhbnNmb3JtU3RyZWFtPEkgPSBhbnksIE8gPSBhbnk+IHtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfd3JpdGFibGUhOiBXcml0YWJsZVN0cmVhbTxJPjtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfcmVhZGFibGUhOiBEZWZhdWx0UmVhZGFibGVTdHJlYW08Tz47XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2JhY2twcmVzc3VyZSE6IGJvb2xlYW47XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2JhY2twcmVzc3VyZUNoYW5nZVByb21pc2UhOiBQcm9taXNlPHZvaWQ+O1xuICAvKiogQGludGVybmFsICovXG4gIF9iYWNrcHJlc3N1cmVDaGFuZ2VQcm9taXNlX3Jlc29sdmUhOiAoKSA9PiB2b2lkO1xuICAvKiogQGludGVybmFsICovXG4gIF90cmFuc2Zvcm1TdHJlYW1Db250cm9sbGVyITogVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8Tz47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgdHJhbnNmb3JtZXI/OiBUcmFuc2Zvcm1lcjxJLCBPPixcbiAgICB3cml0YWJsZVN0cmF0ZWd5PzogUXVldWluZ1N0cmF0ZWd5PEk+LFxuICAgIHJlYWRhYmxlU3RyYXRlZ3k/OiBRdWV1aW5nU3RyYXRlZ3k8Tz5cbiAgKTtcbiAgY29uc3RydWN0b3IocmF3VHJhbnNmb3JtZXI6IFRyYW5zZm9ybWVyPEksIE8+IHwgbnVsbCB8IHVuZGVmaW5lZCA9IHt9LFxuICAgICAgICAgICAgICByYXdXcml0YWJsZVN0cmF0ZWd5OiBRdWV1aW5nU3RyYXRlZ3k8ST4gfCBudWxsIHwgdW5kZWZpbmVkID0ge30sXG4gICAgICAgICAgICAgIHJhd1JlYWRhYmxlU3RyYXRlZ3k6IFF1ZXVpbmdTdHJhdGVneTxPPiB8IG51bGwgfCB1bmRlZmluZWQgPSB7fSkge1xuICAgIGlmIChyYXdUcmFuc2Zvcm1lciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByYXdUcmFuc2Zvcm1lciA9IG51bGw7XG4gICAgfVxuXG4gICAgY29uc3Qgd3JpdGFibGVTdHJhdGVneSA9IGNvbnZlcnRRdWV1aW5nU3RyYXRlZ3kocmF3V3JpdGFibGVTdHJhdGVneSwgJ1NlY29uZCBwYXJhbWV0ZXInKTtcbiAgICBjb25zdCByZWFkYWJsZVN0cmF0ZWd5ID0gY29udmVydFF1ZXVpbmdTdHJhdGVneShyYXdSZWFkYWJsZVN0cmF0ZWd5LCAnVGhpcmQgcGFyYW1ldGVyJyk7XG5cbiAgICBjb25zdCB0cmFuc2Zvcm1lciA9IGNvbnZlcnRUcmFuc2Zvcm1lcihyYXdUcmFuc2Zvcm1lciwgJ0ZpcnN0IHBhcmFtZXRlcicpO1xuICAgIGlmICh0cmFuc2Zvcm1lci5yZWFkYWJsZVR5cGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ0ludmFsaWQgcmVhZGFibGVUeXBlIHNwZWNpZmllZCcpO1xuICAgIH1cbiAgICBpZiAodHJhbnNmb3JtZXIud3JpdGFibGVUeXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdJbnZhbGlkIHdyaXRhYmxlVHlwZSBzcGVjaWZpZWQnKTtcbiAgICB9XG5cbiAgICBjb25zdCByZWFkYWJsZUhpZ2hXYXRlck1hcmsgPSBFeHRyYWN0SGlnaFdhdGVyTWFyayhyZWFkYWJsZVN0cmF0ZWd5LCAwKTtcbiAgICBjb25zdCByZWFkYWJsZVNpemVBbGdvcml0aG0gPSBFeHRyYWN0U2l6ZUFsZ29yaXRobShyZWFkYWJsZVN0cmF0ZWd5KTtcbiAgICBjb25zdCB3cml0YWJsZUhpZ2hXYXRlck1hcmsgPSBFeHRyYWN0SGlnaFdhdGVyTWFyayh3cml0YWJsZVN0cmF0ZWd5LCAxKTtcbiAgICBjb25zdCB3cml0YWJsZVNpemVBbGdvcml0aG0gPSBFeHRyYWN0U2l6ZUFsZ29yaXRobSh3cml0YWJsZVN0cmF0ZWd5KTtcblxuICAgIGxldCBzdGFydFByb21pc2VfcmVzb2x2ZSE6ICh2YWx1ZTogdm9pZCB8IFByb21pc2VMaWtlPHZvaWQ+KSA9PiB2b2lkO1xuICAgIGNvbnN0IHN0YXJ0UHJvbWlzZSA9IG5ld1Byb21pc2U8dm9pZD4ocmVzb2x2ZSA9PiB7XG4gICAgICBzdGFydFByb21pc2VfcmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgfSk7XG5cbiAgICBJbml0aWFsaXplVHJhbnNmb3JtU3RyZWFtKFxuICAgICAgdGhpcywgc3RhcnRQcm9taXNlLCB3cml0YWJsZUhpZ2hXYXRlck1hcmssIHdyaXRhYmxlU2l6ZUFsZ29yaXRobSwgcmVhZGFibGVIaWdoV2F0ZXJNYXJrLCByZWFkYWJsZVNpemVBbGdvcml0aG1cbiAgICApO1xuICAgIFNldFVwVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJGcm9tVHJhbnNmb3JtZXIodGhpcywgdHJhbnNmb3JtZXIpO1xuXG4gICAgaWYgKHRyYW5zZm9ybWVyLnN0YXJ0ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHN0YXJ0UHJvbWlzZV9yZXNvbHZlKHRyYW5zZm9ybWVyLnN0YXJ0KHRoaXMuX3RyYW5zZm9ybVN0cmVhbUNvbnRyb2xsZXIpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhcnRQcm9taXNlX3Jlc29sdmUodW5kZWZpbmVkKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIHJlYWRhYmxlIHNpZGUgb2YgdGhlIHRyYW5zZm9ybSBzdHJlYW0uXG4gICAqL1xuICBnZXQgcmVhZGFibGUoKTogUmVhZGFibGVTdHJlYW08Tz4ge1xuICAgIGlmICghSXNUcmFuc2Zvcm1TdHJlYW0odGhpcykpIHtcbiAgICAgIHRocm93IHN0cmVhbUJyYW5kQ2hlY2tFeGNlcHRpb24oJ3JlYWRhYmxlJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB3cml0YWJsZSBzaWRlIG9mIHRoZSB0cmFuc2Zvcm0gc3RyZWFtLlxuICAgKi9cbiAgZ2V0IHdyaXRhYmxlKCk6IFdyaXRhYmxlU3RyZWFtPEk+IHtcbiAgICBpZiAoIUlzVHJhbnNmb3JtU3RyZWFtKHRoaXMpKSB7XG4gICAgICB0aHJvdyBzdHJlYW1CcmFuZENoZWNrRXhjZXB0aW9uKCd3cml0YWJsZScpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl93cml0YWJsZTtcbiAgfVxufVxuXG5PYmplY3QuZGVmaW5lUHJvcGVydGllcyhUcmFuc2Zvcm1TdHJlYW0ucHJvdG90eXBlLCB7XG4gIHJlYWRhYmxlOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgd3JpdGFibGU6IHsgZW51bWVyYWJsZTogdHJ1ZSB9XG59KTtcbmlmICh0eXBlb2YgU3ltYm9sLnRvU3RyaW5nVGFnID09PSAnc3ltYm9sJykge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoVHJhbnNmb3JtU3RyZWFtLnByb3RvdHlwZSwgU3ltYm9sLnRvU3RyaW5nVGFnLCB7XG4gICAgdmFsdWU6ICdUcmFuc2Zvcm1TdHJlYW0nLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KTtcbn1cblxuZXhwb3J0IHR5cGUge1xuICBUcmFuc2Zvcm1lcixcbiAgVHJhbnNmb3JtZXJDYW5jZWxDYWxsYmFjayxcbiAgVHJhbnNmb3JtZXJTdGFydENhbGxiYWNrLFxuICBUcmFuc2Zvcm1lckZsdXNoQ2FsbGJhY2ssXG4gIFRyYW5zZm9ybWVyVHJhbnNmb3JtQ2FsbGJhY2tcbn07XG5cbi8vIFRyYW5zZm9ybSBTdHJlYW0gQWJzdHJhY3QgT3BlcmF0aW9uc1xuXG5leHBvcnQgZnVuY3Rpb24gQ3JlYXRlVHJhbnNmb3JtU3RyZWFtPEksIE8+KHN0YXJ0QWxnb3JpdGhtOiAoKSA9PiB2b2lkIHwgUHJvbWlzZUxpa2U8dm9pZD4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybUFsZ29yaXRobTogKGNodW5rOiBJKSA9PiBQcm9taXNlPHZvaWQ+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbHVzaEFsZ29yaXRobTogKCkgPT4gUHJvbWlzZTx2b2lkPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsQWxnb3JpdGhtOiAocmVhc29uOiBhbnkpID0+IFByb21pc2U8dm9pZD4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlSGlnaFdhdGVyTWFyayA9IDEsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlU2l6ZUFsZ29yaXRobTogUXVldWluZ1N0cmF0ZWd5U2l6ZUNhbGxiYWNrPEk+ID0gKCkgPT4gMSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGFibGVIaWdoV2F0ZXJNYXJrID0gMCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGFibGVTaXplQWxnb3JpdGhtOiBRdWV1aW5nU3RyYXRlZ3lTaXplQ2FsbGJhY2s8Tz4gPSAoKSA9PiAxKSB7XG4gIGFzc2VydChJc05vbk5lZ2F0aXZlTnVtYmVyKHdyaXRhYmxlSGlnaFdhdGVyTWFyaykpO1xuICBhc3NlcnQoSXNOb25OZWdhdGl2ZU51bWJlcihyZWFkYWJsZUhpZ2hXYXRlck1hcmspKTtcblxuICBjb25zdCBzdHJlYW06IFRyYW5zZm9ybVN0cmVhbTxJLCBPPiA9IE9iamVjdC5jcmVhdGUoVHJhbnNmb3JtU3RyZWFtLnByb3RvdHlwZSk7XG5cbiAgbGV0IHN0YXJ0UHJvbWlzZV9yZXNvbHZlITogKHZhbHVlOiB2b2lkIHwgUHJvbWlzZUxpa2U8dm9pZD4pID0+IHZvaWQ7XG4gIGNvbnN0IHN0YXJ0UHJvbWlzZSA9IG5ld1Byb21pc2U8dm9pZD4ocmVzb2x2ZSA9PiB7XG4gICAgc3RhcnRQcm9taXNlX3Jlc29sdmUgPSByZXNvbHZlO1xuICB9KTtcblxuICBJbml0aWFsaXplVHJhbnNmb3JtU3RyZWFtKHN0cmVhbSwgc3RhcnRQcm9taXNlLCB3cml0YWJsZUhpZ2hXYXRlck1hcmssIHdyaXRhYmxlU2l6ZUFsZ29yaXRobSwgcmVhZGFibGVIaWdoV2F0ZXJNYXJrLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlYWRhYmxlU2l6ZUFsZ29yaXRobSk7XG5cbiAgY29uc3QgY29udHJvbGxlcjogVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8Tz4gPSBPYmplY3QuY3JlYXRlKFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZSk7XG5cbiAgU2V0VXBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlcihzdHJlYW0sIGNvbnRyb2xsZXIsIHRyYW5zZm9ybUFsZ29yaXRobSwgZmx1c2hBbGdvcml0aG0sIGNhbmNlbEFsZ29yaXRobSk7XG5cbiAgY29uc3Qgc3RhcnRSZXN1bHQgPSBzdGFydEFsZ29yaXRobSgpO1xuICBzdGFydFByb21pc2VfcmVzb2x2ZShzdGFydFJlc3VsdCk7XG4gIHJldHVybiBzdHJlYW07XG59XG5cbmZ1bmN0aW9uIEluaXRpYWxpemVUcmFuc2Zvcm1TdHJlYW08SSwgTz4oc3RyZWFtOiBUcmFuc2Zvcm1TdHJlYW08SSwgTz4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0UHJvbWlzZTogUHJvbWlzZTx2b2lkPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd3JpdGFibGVIaWdoV2F0ZXJNYXJrOiBudW1iZXIsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdyaXRhYmxlU2l6ZUFsZ29yaXRobTogUXVldWluZ1N0cmF0ZWd5U2l6ZUNhbGxiYWNrPEk+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkYWJsZUhpZ2hXYXRlck1hcms6IG51bWJlcixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVhZGFibGVTaXplQWxnb3JpdGhtOiBRdWV1aW5nU3RyYXRlZ3lTaXplQ2FsbGJhY2s8Tz4pIHtcbiAgZnVuY3Rpb24gc3RhcnRBbGdvcml0aG0oKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHN0YXJ0UHJvbWlzZTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHdyaXRlQWxnb3JpdGhtKGNodW5rOiBJKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIFRyYW5zZm9ybVN0cmVhbURlZmF1bHRTaW5rV3JpdGVBbGdvcml0aG0oc3RyZWFtLCBjaHVuayk7XG4gIH1cblxuICBmdW5jdGlvbiBhYm9ydEFsZ29yaXRobShyZWFzb246IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0U2lua0Fib3J0QWxnb3JpdGhtKHN0cmVhbSwgcmVhc29uKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNsb3NlQWxnb3JpdGhtKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0U2lua0Nsb3NlQWxnb3JpdGhtKHN0cmVhbSk7XG4gIH1cblxuICBzdHJlYW0uX3dyaXRhYmxlID0gQ3JlYXRlV3JpdGFibGVTdHJlYW0oc3RhcnRBbGdvcml0aG0sIHdyaXRlQWxnb3JpdGhtLCBjbG9zZUFsZ29yaXRobSwgYWJvcnRBbGdvcml0aG0sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0YWJsZUhpZ2hXYXRlck1hcmssIHdyaXRhYmxlU2l6ZUFsZ29yaXRobSk7XG5cbiAgZnVuY3Rpb24gcHVsbEFsZ29yaXRobSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gVHJhbnNmb3JtU3RyZWFtRGVmYXVsdFNvdXJjZVB1bGxBbGdvcml0aG0oc3RyZWFtKTtcbiAgfVxuXG4gIGZ1bmN0aW9uIGNhbmNlbEFsZ29yaXRobShyZWFzb246IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0U291cmNlQ2FuY2VsQWxnb3JpdGhtKHN0cmVhbSwgcmVhc29uKTtcbiAgfVxuXG4gIHN0cmVhbS5fcmVhZGFibGUgPSBDcmVhdGVSZWFkYWJsZVN0cmVhbShzdGFydEFsZ29yaXRobSwgcHVsbEFsZ29yaXRobSwgY2FuY2VsQWxnb3JpdGhtLCByZWFkYWJsZUhpZ2hXYXRlck1hcmssXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWFkYWJsZVNpemVBbGdvcml0aG0pO1xuXG4gIC8vIFRoZSBbW2JhY2twcmVzc3VyZV1dIHNsb3QgaXMgc2V0IHRvIHVuZGVmaW5lZCBzbyB0aGF0IGl0IGNhbiBiZSBpbml0aWFsaXNlZCBieSBUcmFuc2Zvcm1TdHJlYW1TZXRCYWNrcHJlc3N1cmUuXG4gIHN0cmVhbS5fYmFja3ByZXNzdXJlID0gdW5kZWZpbmVkITtcbiAgc3RyZWFtLl9iYWNrcHJlc3N1cmVDaGFuZ2VQcm9taXNlID0gdW5kZWZpbmVkITtcbiAgc3RyZWFtLl9iYWNrcHJlc3N1cmVDaGFuZ2VQcm9taXNlX3Jlc29sdmUgPSB1bmRlZmluZWQhO1xuICBUcmFuc2Zvcm1TdHJlYW1TZXRCYWNrcHJlc3N1cmUoc3RyZWFtLCB0cnVlKTtcblxuICBzdHJlYW0uX3RyYW5zZm9ybVN0cmVhbUNvbnRyb2xsZXIgPSB1bmRlZmluZWQhO1xufVxuXG5mdW5jdGlvbiBJc1RyYW5zZm9ybVN0cmVhbSh4OiB1bmtub3duKTogeCBpcyBUcmFuc2Zvcm1TdHJlYW0ge1xuICBpZiAoIXR5cGVJc09iamVjdCh4KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHgsICdfdHJhbnNmb3JtU3RyZWFtQ29udHJvbGxlcicpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHggaW5zdGFuY2VvZiBUcmFuc2Zvcm1TdHJlYW07XG59XG5cbi8vIFRoaXMgaXMgYSBuby1vcCBpZiBib3RoIHNpZGVzIGFyZSBhbHJlYWR5IGVycm9yZWQuXG5mdW5jdGlvbiBUcmFuc2Zvcm1TdHJlYW1FcnJvcihzdHJlYW06IFRyYW5zZm9ybVN0cmVhbSwgZTogYW55KSB7XG4gIFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFcnJvcihzdHJlYW0uX3JlYWRhYmxlLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIsIGUpO1xuICBUcmFuc2Zvcm1TdHJlYW1FcnJvcldyaXRhYmxlQW5kVW5ibG9ja1dyaXRlKHN0cmVhbSwgZSk7XG59XG5cbmZ1bmN0aW9uIFRyYW5zZm9ybVN0cmVhbUVycm9yV3JpdGFibGVBbmRVbmJsb2NrV3JpdGUoc3RyZWFtOiBUcmFuc2Zvcm1TdHJlYW0sIGU6IGFueSkge1xuICBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlckNsZWFyQWxnb3JpdGhtcyhzdHJlYW0uX3RyYW5zZm9ybVN0cmVhbUNvbnRyb2xsZXIpO1xuICBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyRXJyb3JJZk5lZWRlZChzdHJlYW0uX3dyaXRhYmxlLl93cml0YWJsZVN0cmVhbUNvbnRyb2xsZXIsIGUpO1xuICBUcmFuc2Zvcm1TdHJlYW1VbmJsb2NrV3JpdGUoc3RyZWFtKTtcbn1cblxuZnVuY3Rpb24gVHJhbnNmb3JtU3RyZWFtVW5ibG9ja1dyaXRlKHN0cmVhbTogVHJhbnNmb3JtU3RyZWFtKSB7XG4gIGlmIChzdHJlYW0uX2JhY2twcmVzc3VyZSkge1xuICAgIC8vIFByZXRlbmQgdGhhdCBwdWxsKCkgd2FzIGNhbGxlZCB0byBwZXJtaXQgYW55IHBlbmRpbmcgd3JpdGUoKSBjYWxscyB0byBjb21wbGV0ZS4gVHJhbnNmb3JtU3RyZWFtU2V0QmFja3ByZXNzdXJlKClcbiAgICAvLyBjYW5ub3QgYmUgY2FsbGVkIGZyb20gZW5xdWV1ZSgpIG9yIHB1bGwoKSBvbmNlIHRoZSBSZWFkYWJsZVN0cmVhbSBpcyBlcnJvcmVkLCBzbyB0aGlzIHdpbGwgd2lsbCBiZSB0aGUgZmluYWwgdGltZVxuICAgIC8vIF9iYWNrcHJlc3N1cmUgaXMgc2V0LlxuICAgIFRyYW5zZm9ybVN0cmVhbVNldEJhY2twcmVzc3VyZShzdHJlYW0sIGZhbHNlKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBUcmFuc2Zvcm1TdHJlYW1TZXRCYWNrcHJlc3N1cmUoc3RyZWFtOiBUcmFuc2Zvcm1TdHJlYW0sIGJhY2twcmVzc3VyZTogYm9vbGVhbikge1xuICAvLyBQYXNzZXMgYWxzbyB3aGVuIGNhbGxlZCBkdXJpbmcgY29uc3RydWN0aW9uLlxuICBhc3NlcnQoc3RyZWFtLl9iYWNrcHJlc3N1cmUgIT09IGJhY2twcmVzc3VyZSk7XG5cbiAgaWYgKHN0cmVhbS5fYmFja3ByZXNzdXJlQ2hhbmdlUHJvbWlzZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgc3RyZWFtLl9iYWNrcHJlc3N1cmVDaGFuZ2VQcm9taXNlX3Jlc29sdmUoKTtcbiAgfVxuXG4gIHN0cmVhbS5fYmFja3ByZXNzdXJlQ2hhbmdlUHJvbWlzZSA9IG5ld1Byb21pc2UocmVzb2x2ZSA9PiB7XG4gICAgc3RyZWFtLl9iYWNrcHJlc3N1cmVDaGFuZ2VQcm9taXNlX3Jlc29sdmUgPSByZXNvbHZlO1xuICB9KTtcblxuICBzdHJlYW0uX2JhY2twcmVzc3VyZSA9IGJhY2twcmVzc3VyZTtcbn1cblxuLy8gQ2xhc3MgVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJcblxuLyoqXG4gKiBBbGxvd3MgY29udHJvbCBvZiB0aGUge0BsaW5rIFJlYWRhYmxlU3RyZWFtfSBhbmQge0BsaW5rIFdyaXRhYmxlU3RyZWFtfSBvZiB0aGUgYXNzb2NpYXRlZCB7QGxpbmsgVHJhbnNmb3JtU3RyZWFtfS5cbiAqXG4gKiBAcHVibGljXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxPPiB7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2NvbnRyb2xsZWRUcmFuc2Zvcm1TdHJlYW06IFRyYW5zZm9ybVN0cmVhbTxhbnksIE8+O1xuICAvKiogQGludGVybmFsICovXG4gIF9maW5pc2hQcm9taXNlOiBQcm9taXNlPHVuZGVmaW5lZD4gfCB1bmRlZmluZWQ7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2ZpbmlzaFByb21pc2VfcmVzb2x2ZT86ICh2YWx1ZT86IHVuZGVmaW5lZCkgPT4gdm9pZDtcbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBfZmluaXNoUHJvbWlzZV9yZWplY3Q/OiAocmVhc29uOiBhbnkpID0+IHZvaWQ7XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX3RyYW5zZm9ybUFsZ29yaXRobTogKGNodW5rOiBhbnkpID0+IFByb21pc2U8dm9pZD47XG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgX2ZsdXNoQWxnb3JpdGhtOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICAvKiogQGludGVybmFsICovXG4gIF9jYW5jZWxBbGdvcml0aG06IChyZWFzb246IGFueSkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0lsbGVnYWwgY29uc3RydWN0b3InKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBkZXNpcmVkIHNpemUgdG8gZmlsbCB0aGUgcmVhZGFibGUgc2lkZeKAmXMgaW50ZXJuYWwgcXVldWUuIEl0IGNhbiBiZSBuZWdhdGl2ZSwgaWYgdGhlIHF1ZXVlIGlzIG92ZXItZnVsbC5cbiAgICovXG4gIGdldCBkZXNpcmVkU2l6ZSgpOiBudW1iZXIgfCBudWxsIHtcbiAgICBpZiAoIUlzVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIodGhpcykpIHtcbiAgICAgIHRocm93IGRlZmF1bHRDb250cm9sbGVyQnJhbmRDaGVja0V4Y2VwdGlvbignZGVzaXJlZFNpemUnKTtcbiAgICB9XG5cbiAgICBjb25zdCByZWFkYWJsZUNvbnRyb2xsZXIgPSB0aGlzLl9jb250cm9sbGVkVHJhbnNmb3JtU3RyZWFtLl9yZWFkYWJsZS5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyO1xuICAgIHJldHVybiBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyR2V0RGVzaXJlZFNpemUocmVhZGFibGVDb250cm9sbGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbnF1ZXVlcyB0aGUgZ2l2ZW4gY2h1bmsgYGNodW5rYCBpbiB0aGUgcmVhZGFibGUgc2lkZSBvZiB0aGUgY29udHJvbGxlZCB0cmFuc2Zvcm0gc3RyZWFtLlxuICAgKi9cbiAgZW5xdWV1ZShjaHVuazogTyk6IHZvaWQ7XG4gIGVucXVldWUoY2h1bms6IE8gPSB1bmRlZmluZWQhKTogdm9pZCB7XG4gICAgaWYgKCFJc1RyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyKHRoaXMpKSB7XG4gICAgICB0aHJvdyBkZWZhdWx0Q29udHJvbGxlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ2VucXVldWUnKTtcbiAgICB9XG5cbiAgICBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlckVucXVldWUodGhpcywgY2h1bmspO1xuICB9XG5cbiAgLyoqXG4gICAqIEVycm9ycyBib3RoIHRoZSByZWFkYWJsZSBzaWRlIGFuZCB0aGUgd3JpdGFibGUgc2lkZSBvZiB0aGUgY29udHJvbGxlZCB0cmFuc2Zvcm0gc3RyZWFtLCBtYWtpbmcgYWxsIGZ1dHVyZVxuICAgKiBpbnRlcmFjdGlvbnMgd2l0aCBpdCBmYWlsIHdpdGggdGhlIGdpdmVuIGVycm9yIGBlYC4gQW55IGNodW5rcyBxdWV1ZWQgZm9yIHRyYW5zZm9ybWF0aW9uIHdpbGwgYmUgZGlzY2FyZGVkLlxuICAgKi9cbiAgZXJyb3IocmVhc29uOiBhbnkgPSB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICBpZiAoIUlzVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIodGhpcykpIHtcbiAgICAgIHRocm93IGRlZmF1bHRDb250cm9sbGVyQnJhbmRDaGVja0V4Y2VwdGlvbignZXJyb3InKTtcbiAgICB9XG5cbiAgICBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlckVycm9yKHRoaXMsIHJlYXNvbik7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSByZWFkYWJsZSBzaWRlIGFuZCBlcnJvcnMgdGhlIHdyaXRhYmxlIHNpZGUgb2YgdGhlIGNvbnRyb2xsZWQgdHJhbnNmb3JtIHN0cmVhbS4gVGhpcyBpcyB1c2VmdWwgd2hlbiB0aGVcbiAgICogdHJhbnNmb3JtZXIgb25seSBuZWVkcyB0byBjb25zdW1lIGEgcG9ydGlvbiBvZiB0aGUgY2h1bmtzIHdyaXR0ZW4gdG8gdGhlIHdyaXRhYmxlIHNpZGUuXG4gICAqL1xuICB0ZXJtaW5hdGUoKTogdm9pZCB7XG4gICAgaWYgKCFJc1RyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyKHRoaXMpKSB7XG4gICAgICB0aHJvdyBkZWZhdWx0Q29udHJvbGxlckJyYW5kQ2hlY2tFeGNlcHRpb24oJ3Rlcm1pbmF0ZScpO1xuICAgIH1cblxuICAgIFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyVGVybWluYXRlKHRoaXMpO1xuICB9XG59XG5cbk9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZSwge1xuICBlbnF1ZXVlOiB7IGVudW1lcmFibGU6IHRydWUgfSxcbiAgZXJyb3I6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuICB0ZXJtaW5hdGU6IHsgZW51bWVyYWJsZTogdHJ1ZSB9LFxuICBkZXNpcmVkU2l6ZTogeyBlbnVtZXJhYmxlOiB0cnVlIH1cbn0pO1xuc2V0RnVuY3Rpb25OYW1lKFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZS5lbnF1ZXVlLCAnZW5xdWV1ZScpO1xuc2V0RnVuY3Rpb25OYW1lKFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyLnByb3RvdHlwZS5lcnJvciwgJ2Vycm9yJyk7XG5zZXRGdW5jdGlvbk5hbWUoVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIucHJvdG90eXBlLnRlcm1pbmF0ZSwgJ3Rlcm1pbmF0ZScpO1xuaWYgKHR5cGVvZiBTeW1ib2wudG9TdHJpbmdUYWcgPT09ICdzeW1ib2wnKSB7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUsIFN5bWJvbC50b1N0cmluZ1RhZywge1xuICAgIHZhbHVlOiAnVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXInLFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KTtcbn1cblxuLy8gVHJhbnNmb3JtIFN0cmVhbSBEZWZhdWx0IENvbnRyb2xsZXIgQWJzdHJhY3QgT3BlcmF0aW9uc1xuXG5mdW5jdGlvbiBJc1RyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyPE8gPSBhbnk+KHg6IGFueSk6IHggaXMgVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8Tz4ge1xuICBpZiAoIXR5cGVJc09iamVjdCh4KSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHgsICdfY29udHJvbGxlZFRyYW5zZm9ybVN0cmVhbScpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIHggaW5zdGFuY2VvZiBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlcjtcbn1cblxuZnVuY3Rpb24gU2V0VXBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxJLCBPPihzdHJlYW06IFRyYW5zZm9ybVN0cmVhbTxJLCBPPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udHJvbGxlcjogVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8Tz4sXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybUFsZ29yaXRobTogKGNodW5rOiBJKSA9PiBQcm9taXNlPHZvaWQ+LFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmbHVzaEFsZ29yaXRobTogKCkgPT4gUHJvbWlzZTx2b2lkPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FuY2VsQWxnb3JpdGhtOiAocmVhc29uOiBhbnkpID0+IFByb21pc2U8dm9pZD4pIHtcbiAgYXNzZXJ0KElzVHJhbnNmb3JtU3RyZWFtKHN0cmVhbSkpO1xuICBhc3NlcnQoc3RyZWFtLl90cmFuc2Zvcm1TdHJlYW1Db250cm9sbGVyID09PSB1bmRlZmluZWQpO1xuXG4gIGNvbnRyb2xsZXIuX2NvbnRyb2xsZWRUcmFuc2Zvcm1TdHJlYW0gPSBzdHJlYW07XG4gIHN0cmVhbS5fdHJhbnNmb3JtU3RyZWFtQ29udHJvbGxlciA9IGNvbnRyb2xsZXI7XG5cbiAgY29udHJvbGxlci5fdHJhbnNmb3JtQWxnb3JpdGhtID0gdHJhbnNmb3JtQWxnb3JpdGhtO1xuICBjb250cm9sbGVyLl9mbHVzaEFsZ29yaXRobSA9IGZsdXNoQWxnb3JpdGhtO1xuICBjb250cm9sbGVyLl9jYW5jZWxBbGdvcml0aG0gPSBjYW5jZWxBbGdvcml0aG07XG5cbiAgY29udHJvbGxlci5fZmluaXNoUHJvbWlzZSA9IHVuZGVmaW5lZDtcbiAgY29udHJvbGxlci5fZmluaXNoUHJvbWlzZV9yZXNvbHZlID0gdW5kZWZpbmVkO1xuICBjb250cm9sbGVyLl9maW5pc2hQcm9taXNlX3JlamVjdCA9IHVuZGVmaW5lZDtcbn1cblxuZnVuY3Rpb24gU2V0VXBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlckZyb21UcmFuc2Zvcm1lcjxJLCBPPihzdHJlYW06IFRyYW5zZm9ybVN0cmVhbTxJLCBPPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtZXI6IFZhbGlkYXRlZFRyYW5zZm9ybWVyPEksIE8+KSB7XG4gIGNvbnN0IGNvbnRyb2xsZXI6IFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyPE8+ID0gT2JqZWN0LmNyZWF0ZShUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUpO1xuXG4gIGxldCB0cmFuc2Zvcm1BbGdvcml0aG06IChjaHVuazogSSkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgbGV0IGZsdXNoQWxnb3JpdGhtOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBsZXQgY2FuY2VsQWxnb3JpdGhtOiAocmVhc29uOiBhbnkpID0+IFByb21pc2U8dm9pZD47XG5cbiAgaWYgKHRyYW5zZm9ybWVyLnRyYW5zZm9ybSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgdHJhbnNmb3JtQWxnb3JpdGhtID0gY2h1bmsgPT4gdHJhbnNmb3JtZXIudHJhbnNmb3JtIShjaHVuaywgY29udHJvbGxlcik7XG4gIH0gZWxzZSB7XG4gICAgdHJhbnNmb3JtQWxnb3JpdGhtID0gY2h1bmsgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFbnF1ZXVlKGNvbnRyb2xsZXIsIGNodW5rIGFzIHVua25vd24gYXMgTyk7XG4gICAgICAgIHJldHVybiBwcm9taXNlUmVzb2x2ZWRXaXRoKHVuZGVmaW5lZCk7XG4gICAgICB9IGNhdGNoICh0cmFuc2Zvcm1SZXN1bHRFKSB7XG4gICAgICAgIHJldHVybiBwcm9taXNlUmVqZWN0ZWRXaXRoKHRyYW5zZm9ybVJlc3VsdEUpO1xuICAgICAgfVxuICAgIH07XG4gIH1cblxuICBpZiAodHJhbnNmb3JtZXIuZmx1c2ggIT09IHVuZGVmaW5lZCkge1xuICAgIGZsdXNoQWxnb3JpdGhtID0gKCkgPT4gdHJhbnNmb3JtZXIuZmx1c2ghKGNvbnRyb2xsZXIpO1xuICB9IGVsc2Uge1xuICAgIGZsdXNoQWxnb3JpdGhtID0gKCkgPT4gcHJvbWlzZVJlc29sdmVkV2l0aCh1bmRlZmluZWQpO1xuICB9XG5cbiAgaWYgKHRyYW5zZm9ybWVyLmNhbmNlbCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgY2FuY2VsQWxnb3JpdGhtID0gcmVhc29uID0+IHRyYW5zZm9ybWVyLmNhbmNlbCEocmVhc29uKTtcbiAgfSBlbHNlIHtcbiAgICBjYW5jZWxBbGdvcml0aG0gPSAoKSA9PiBwcm9taXNlUmVzb2x2ZWRXaXRoKHVuZGVmaW5lZCk7XG4gIH1cblxuICBTZXRVcFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyKHN0cmVhbSwgY29udHJvbGxlciwgdHJhbnNmb3JtQWxnb3JpdGhtLCBmbHVzaEFsZ29yaXRobSwgY2FuY2VsQWxnb3JpdGhtKTtcbn1cblxuZnVuY3Rpb24gVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDbGVhckFsZ29yaXRobXMoY29udHJvbGxlcjogVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8YW55Pikge1xuICBjb250cm9sbGVyLl90cmFuc2Zvcm1BbGdvcml0aG0gPSB1bmRlZmluZWQhO1xuICBjb250cm9sbGVyLl9mbHVzaEFsZ29yaXRobSA9IHVuZGVmaW5lZCE7XG4gIGNvbnRyb2xsZXIuX2NhbmNlbEFsZ29yaXRobSA9IHVuZGVmaW5lZCE7XG59XG5cbmZ1bmN0aW9uIFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyRW5xdWV1ZTxPPihjb250cm9sbGVyOiBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxPPiwgY2h1bms6IE8pIHtcbiAgY29uc3Qgc3RyZWFtID0gY29udHJvbGxlci5fY29udHJvbGxlZFRyYW5zZm9ybVN0cmVhbTtcbiAgY29uc3QgcmVhZGFibGVDb250cm9sbGVyID0gc3RyZWFtLl9yZWFkYWJsZS5fcmVhZGFibGVTdHJlYW1Db250cm9sbGVyO1xuICBpZiAoIVJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDYW5DbG9zZU9yRW5xdWV1ZShyZWFkYWJsZUNvbnRyb2xsZXIpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignUmVhZGFibGUgc2lkZSBpcyBub3QgaW4gYSBzdGF0ZSB0aGF0IHBlcm1pdHMgZW5xdWV1ZScpO1xuICB9XG5cbiAgLy8gV2UgdGhyb3R0bGUgdHJhbnNmb3JtIGludm9jYXRpb25zIGJhc2VkIG9uIHRoZSBiYWNrcHJlc3N1cmUgb2YgdGhlIFJlYWRhYmxlU3RyZWFtLCBidXQgd2Ugc3RpbGxcbiAgLy8gYWNjZXB0IFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyRW5xdWV1ZSgpIGNhbGxzLlxuXG4gIHRyeSB7XG4gICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVucXVldWUocmVhZGFibGVDb250cm9sbGVyLCBjaHVuayk7XG4gIH0gY2F0Y2ggKGUpIHtcbiAgICAvLyBUaGlzIGhhcHBlbnMgd2hlbiByZWFkYWJsZVN0cmF0ZWd5LnNpemUoKSB0aHJvd3MuXG4gICAgVHJhbnNmb3JtU3RyZWFtRXJyb3JXcml0YWJsZUFuZFVuYmxvY2tXcml0ZShzdHJlYW0sIGUpO1xuXG4gICAgdGhyb3cgc3RyZWFtLl9yZWFkYWJsZS5fc3RvcmVkRXJyb3I7XG4gIH1cblxuICBjb25zdCBiYWNrcHJlc3N1cmUgPSBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVySGFzQmFja3ByZXNzdXJlKHJlYWRhYmxlQ29udHJvbGxlcik7XG4gIGlmIChiYWNrcHJlc3N1cmUgIT09IHN0cmVhbS5fYmFja3ByZXNzdXJlKSB7XG4gICAgYXNzZXJ0KGJhY2twcmVzc3VyZSk7XG4gICAgVHJhbnNmb3JtU3RyZWFtU2V0QmFja3ByZXNzdXJlKHN0cmVhbSwgdHJ1ZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFcnJvcihjb250cm9sbGVyOiBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxhbnk+LCBlOiBhbnkpIHtcbiAgVHJhbnNmb3JtU3RyZWFtRXJyb3IoY29udHJvbGxlci5fY29udHJvbGxlZFRyYW5zZm9ybVN0cmVhbSwgZSk7XG59XG5cbmZ1bmN0aW9uIFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyUGVyZm9ybVRyYW5zZm9ybTxJLCBPPihjb250cm9sbGVyOiBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxPPixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaHVuazogSSkge1xuICBjb25zdCB0cmFuc2Zvcm1Qcm9taXNlID0gY29udHJvbGxlci5fdHJhbnNmb3JtQWxnb3JpdGhtKGNodW5rKTtcbiAgcmV0dXJuIHRyYW5zZm9ybVByb21pc2VXaXRoKHRyYW5zZm9ybVByb21pc2UsIHVuZGVmaW5lZCwgciA9PiB7XG4gICAgVHJhbnNmb3JtU3RyZWFtRXJyb3IoY29udHJvbGxlci5fY29udHJvbGxlZFRyYW5zZm9ybVN0cmVhbSwgcik7XG4gICAgdGhyb3cgcjtcbiAgfSk7XG59XG5cbmZ1bmN0aW9uIFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyVGVybWluYXRlPE8+KGNvbnRyb2xsZXI6IFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyPE8+KSB7XG4gIGNvbnN0IHN0cmVhbSA9IGNvbnRyb2xsZXIuX2NvbnRyb2xsZWRUcmFuc2Zvcm1TdHJlYW07XG4gIGNvbnN0IHJlYWRhYmxlQ29udHJvbGxlciA9IHN0cmVhbS5fcmVhZGFibGUuX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlcjtcblxuICBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2xvc2UocmVhZGFibGVDb250cm9sbGVyKTtcblxuICBjb25zdCBlcnJvciA9IG5ldyBUeXBlRXJyb3IoJ1RyYW5zZm9ybVN0cmVhbSB0ZXJtaW5hdGVkJyk7XG4gIFRyYW5zZm9ybVN0cmVhbUVycm9yV3JpdGFibGVBbmRVbmJsb2NrV3JpdGUoc3RyZWFtLCBlcnJvcik7XG59XG5cbi8vIFRyYW5zZm9ybVN0cmVhbURlZmF1bHRTaW5rIEFsZ29yaXRobXNcblxuZnVuY3Rpb24gVHJhbnNmb3JtU3RyZWFtRGVmYXVsdFNpbmtXcml0ZUFsZ29yaXRobTxJLCBPPihzdHJlYW06IFRyYW5zZm9ybVN0cmVhbTxJLCBPPiwgY2h1bms6IEkpOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXNzZXJ0KHN0cmVhbS5fd3JpdGFibGUuX3N0YXRlID09PSAnd3JpdGFibGUnKTtcblxuICBjb25zdCBjb250cm9sbGVyID0gc3RyZWFtLl90cmFuc2Zvcm1TdHJlYW1Db250cm9sbGVyO1xuXG4gIGlmIChzdHJlYW0uX2JhY2twcmVzc3VyZSkge1xuICAgIGNvbnN0IGJhY2twcmVzc3VyZUNoYW5nZVByb21pc2UgPSBzdHJlYW0uX2JhY2twcmVzc3VyZUNoYW5nZVByb21pc2U7XG4gICAgYXNzZXJ0KGJhY2twcmVzc3VyZUNoYW5nZVByb21pc2UgIT09IHVuZGVmaW5lZCk7XG4gICAgcmV0dXJuIHRyYW5zZm9ybVByb21pc2VXaXRoKGJhY2twcmVzc3VyZUNoYW5nZVByb21pc2UsICgpID0+IHtcbiAgICAgIGNvbnN0IHdyaXRhYmxlID0gc3RyZWFtLl93cml0YWJsZTtcbiAgICAgIGNvbnN0IHN0YXRlID0gd3JpdGFibGUuX3N0YXRlO1xuICAgICAgaWYgKHN0YXRlID09PSAnZXJyb3JpbmcnKSB7XG4gICAgICAgIHRocm93IHdyaXRhYmxlLl9zdG9yZWRFcnJvcjtcbiAgICAgIH1cbiAgICAgIGFzc2VydChzdGF0ZSA9PT0gJ3dyaXRhYmxlJyk7XG4gICAgICByZXR1cm4gVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJQZXJmb3JtVHJhbnNmb3JtPEksIE8+KGNvbnRyb2xsZXIsIGNodW5rKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJldHVybiBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlclBlcmZvcm1UcmFuc2Zvcm08SSwgTz4oY29udHJvbGxlciwgY2h1bmspO1xufVxuXG5mdW5jdGlvbiBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0U2lua0Fib3J0QWxnb3JpdGhtPEksIE8+KHN0cmVhbTogVHJhbnNmb3JtU3RyZWFtPEksIE8+LCByZWFzb246IGFueSk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBjb250cm9sbGVyID0gc3RyZWFtLl90cmFuc2Zvcm1TdHJlYW1Db250cm9sbGVyO1xuICBpZiAoY29udHJvbGxlci5fZmluaXNoUHJvbWlzZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIGNvbnRyb2xsZXIuX2ZpbmlzaFByb21pc2U7XG4gIH1cblxuICAvLyBzdHJlYW0uX3JlYWRhYmxlIGNhbm5vdCBjaGFuZ2UgYWZ0ZXIgY29uc3RydWN0aW9uLCBzbyBjYWNoaW5nIGl0IGFjcm9zcyBhIGNhbGwgdG8gdXNlciBjb2RlIGlzIHNhZmUuXG4gIGNvbnN0IHJlYWRhYmxlID0gc3RyZWFtLl9yZWFkYWJsZTtcblxuICAvLyBBc3NpZ24gdGhlIF9maW5pc2hQcm9taXNlIG5vdyBzbyB0aGF0IGlmIF9jYW5jZWxBbGdvcml0aG0gY2FsbHMgcmVhZGFibGUuY2FuY2VsKCkgaW50ZXJuYWxseSxcbiAgLy8gd2UgZG9uJ3QgcnVuIHRoZSBfY2FuY2VsQWxnb3JpdGhtIGFnYWluLlxuICBjb250cm9sbGVyLl9maW5pc2hQcm9taXNlID0gbmV3UHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29udHJvbGxlci5fZmluaXNoUHJvbWlzZV9yZXNvbHZlID0gcmVzb2x2ZTtcbiAgICBjb250cm9sbGVyLl9maW5pc2hQcm9taXNlX3JlamVjdCA9IHJlamVjdDtcbiAgfSk7XG5cbiAgY29uc3QgY2FuY2VsUHJvbWlzZSA9IGNvbnRyb2xsZXIuX2NhbmNlbEFsZ29yaXRobShyZWFzb24pO1xuICBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlckNsZWFyQWxnb3JpdGhtcyhjb250cm9sbGVyKTtcblxuICB1cG9uUHJvbWlzZShjYW5jZWxQcm9taXNlLCAoKSA9PiB7XG4gICAgaWYgKHJlYWRhYmxlLl9zdGF0ZSA9PT0gJ2Vycm9yZWQnKSB7XG4gICAgICBkZWZhdWx0Q29udHJvbGxlckZpbmlzaFByb21pc2VSZWplY3QoY29udHJvbGxlciwgcmVhZGFibGUuX3N0b3JlZEVycm9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVycm9yKHJlYWRhYmxlLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIsIHJlYXNvbik7XG4gICAgICBkZWZhdWx0Q29udHJvbGxlckZpbmlzaFByb21pc2VSZXNvbHZlKGNvbnRyb2xsZXIpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfSwgciA9PiB7XG4gICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVycm9yKHJlYWRhYmxlLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIsIHIpO1xuICAgIGRlZmF1bHRDb250cm9sbGVyRmluaXNoUHJvbWlzZVJlamVjdChjb250cm9sbGVyLCByKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnRyb2xsZXIuX2ZpbmlzaFByb21pc2U7XG59XG5cbmZ1bmN0aW9uIFRyYW5zZm9ybVN0cmVhbURlZmF1bHRTaW5rQ2xvc2VBbGdvcml0aG08SSwgTz4oc3RyZWFtOiBUcmFuc2Zvcm1TdHJlYW08SSwgTz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgY29udHJvbGxlciA9IHN0cmVhbS5fdHJhbnNmb3JtU3RyZWFtQ29udHJvbGxlcjtcbiAgaWYgKGNvbnRyb2xsZXIuX2ZpbmlzaFByb21pc2UgIT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiBjb250cm9sbGVyLl9maW5pc2hQcm9taXNlO1xuICB9XG5cbiAgLy8gc3RyZWFtLl9yZWFkYWJsZSBjYW5ub3QgY2hhbmdlIGFmdGVyIGNvbnN0cnVjdGlvbiwgc28gY2FjaGluZyBpdCBhY3Jvc3MgYSBjYWxsIHRvIHVzZXIgY29kZSBpcyBzYWZlLlxuICBjb25zdCByZWFkYWJsZSA9IHN0cmVhbS5fcmVhZGFibGU7XG5cbiAgLy8gQXNzaWduIHRoZSBfZmluaXNoUHJvbWlzZSBub3cgc28gdGhhdCBpZiBfZmx1c2hBbGdvcml0aG0gY2FsbHMgcmVhZGFibGUuY2FuY2VsKCkgaW50ZXJuYWxseSxcbiAgLy8gd2UgZG9uJ3QgYWxzbyBydW4gdGhlIF9jYW5jZWxBbGdvcml0aG0uXG4gIGNvbnRyb2xsZXIuX2ZpbmlzaFByb21pc2UgPSBuZXdQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb250cm9sbGVyLl9maW5pc2hQcm9taXNlX3Jlc29sdmUgPSByZXNvbHZlO1xuICAgIGNvbnRyb2xsZXIuX2ZpbmlzaFByb21pc2VfcmVqZWN0ID0gcmVqZWN0O1xuICB9KTtcblxuICBjb25zdCBmbHVzaFByb21pc2UgPSBjb250cm9sbGVyLl9mbHVzaEFsZ29yaXRobSgpO1xuICBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlckNsZWFyQWxnb3JpdGhtcyhjb250cm9sbGVyKTtcblxuICB1cG9uUHJvbWlzZShmbHVzaFByb21pc2UsICgpID0+IHtcbiAgICBpZiAocmVhZGFibGUuX3N0YXRlID09PSAnZXJyb3JlZCcpIHtcbiAgICAgIGRlZmF1bHRDb250cm9sbGVyRmluaXNoUHJvbWlzZVJlamVjdChjb250cm9sbGVyLCByZWFkYWJsZS5fc3RvcmVkRXJyb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2xvc2UocmVhZGFibGUuX3JlYWRhYmxlU3RyZWFtQ29udHJvbGxlcik7XG4gICAgICBkZWZhdWx0Q29udHJvbGxlckZpbmlzaFByb21pc2VSZXNvbHZlKGNvbnRyb2xsZXIpO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfSwgciA9PiB7XG4gICAgUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVycm9yKHJlYWRhYmxlLl9yZWFkYWJsZVN0cmVhbUNvbnRyb2xsZXIsIHIpO1xuICAgIGRlZmF1bHRDb250cm9sbGVyRmluaXNoUHJvbWlzZVJlamVjdChjb250cm9sbGVyLCByKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnRyb2xsZXIuX2ZpbmlzaFByb21pc2U7XG59XG5cbi8vIFRyYW5zZm9ybVN0cmVhbURlZmF1bHRTb3VyY2UgQWxnb3JpdGhtc1xuXG5mdW5jdGlvbiBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0U291cmNlUHVsbEFsZ29yaXRobShzdHJlYW06IFRyYW5zZm9ybVN0cmVhbSk6IFByb21pc2U8dm9pZD4ge1xuICAvLyBJbnZhcmlhbnQuIEVuZm9yY2VkIGJ5IHRoZSBwcm9taXNlcyByZXR1cm5lZCBieSBzdGFydCgpIGFuZCBwdWxsKCkuXG4gIGFzc2VydChzdHJlYW0uX2JhY2twcmVzc3VyZSk7XG5cbiAgYXNzZXJ0KHN0cmVhbS5fYmFja3ByZXNzdXJlQ2hhbmdlUHJvbWlzZSAhPT0gdW5kZWZpbmVkKTtcblxuICBUcmFuc2Zvcm1TdHJlYW1TZXRCYWNrcHJlc3N1cmUoc3RyZWFtLCBmYWxzZSk7XG5cbiAgLy8gUHJldmVudCB0aGUgbmV4dCBwdWxsKCkgY2FsbCB1bnRpbCB0aGVyZSBpcyBiYWNrcHJlc3N1cmUuXG4gIHJldHVybiBzdHJlYW0uX2JhY2twcmVzc3VyZUNoYW5nZVByb21pc2U7XG59XG5cbmZ1bmN0aW9uIFRyYW5zZm9ybVN0cmVhbURlZmF1bHRTb3VyY2VDYW5jZWxBbGdvcml0aG08SSwgTz4oc3RyZWFtOiBUcmFuc2Zvcm1TdHJlYW08SSwgTz4sIHJlYXNvbjogYW55KTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IGNvbnRyb2xsZXIgPSBzdHJlYW0uX3RyYW5zZm9ybVN0cmVhbUNvbnRyb2xsZXI7XG4gIGlmIChjb250cm9sbGVyLl9maW5pc2hQcm9taXNlICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gY29udHJvbGxlci5fZmluaXNoUHJvbWlzZTtcbiAgfVxuXG4gIC8vIHN0cmVhbS5fd3JpdGFibGUgY2Fubm90IGNoYW5nZSBhZnRlciBjb25zdHJ1Y3Rpb24sIHNvIGNhY2hpbmcgaXQgYWNyb3NzIGEgY2FsbCB0byB1c2VyIGNvZGUgaXMgc2FmZS5cbiAgY29uc3Qgd3JpdGFibGUgPSBzdHJlYW0uX3dyaXRhYmxlO1xuXG4gIC8vIEFzc2lnbiB0aGUgX2ZpbmlzaFByb21pc2Ugbm93IHNvIHRoYXQgaWYgX2ZsdXNoQWxnb3JpdGhtIGNhbGxzIHdyaXRhYmxlLmFib3J0KCkgb3JcbiAgLy8gd3JpdGFibGUuY2FuY2VsKCkgaW50ZXJuYWxseSwgd2UgZG9uJ3QgcnVuIHRoZSBfY2FuY2VsQWxnb3JpdGhtIGFnYWluLCBvciBhbHNvIHJ1biB0aGVcbiAgLy8gX2ZsdXNoQWxnb3JpdGhtLlxuICBjb250cm9sbGVyLl9maW5pc2hQcm9taXNlID0gbmV3UHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29udHJvbGxlci5fZmluaXNoUHJvbWlzZV9yZXNvbHZlID0gcmVzb2x2ZTtcbiAgICBjb250cm9sbGVyLl9maW5pc2hQcm9taXNlX3JlamVjdCA9IHJlamVjdDtcbiAgfSk7XG5cbiAgY29uc3QgY2FuY2VsUHJvbWlzZSA9IGNvbnRyb2xsZXIuX2NhbmNlbEFsZ29yaXRobShyZWFzb24pO1xuICBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlckNsZWFyQWxnb3JpdGhtcyhjb250cm9sbGVyKTtcblxuICB1cG9uUHJvbWlzZShjYW5jZWxQcm9taXNlLCAoKSA9PiB7XG4gICAgaWYgKHdyaXRhYmxlLl9zdGF0ZSA9PT0gJ2Vycm9yZWQnKSB7XG4gICAgICBkZWZhdWx0Q29udHJvbGxlckZpbmlzaFByb21pc2VSZWplY3QoY29udHJvbGxlciwgd3JpdGFibGUuX3N0b3JlZEVycm9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckVycm9ySWZOZWVkZWQod3JpdGFibGUuX3dyaXRhYmxlU3RyZWFtQ29udHJvbGxlciwgcmVhc29uKTtcbiAgICAgIFRyYW5zZm9ybVN0cmVhbVVuYmxvY2tXcml0ZShzdHJlYW0pO1xuICAgICAgZGVmYXVsdENvbnRyb2xsZXJGaW5pc2hQcm9taXNlUmVzb2x2ZShjb250cm9sbGVyKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH0sIHIgPT4ge1xuICAgIFdyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFcnJvcklmTmVlZGVkKHdyaXRhYmxlLl93cml0YWJsZVN0cmVhbUNvbnRyb2xsZXIsIHIpO1xuICAgIFRyYW5zZm9ybVN0cmVhbVVuYmxvY2tXcml0ZShzdHJlYW0pO1xuICAgIGRlZmF1bHRDb250cm9sbGVyRmluaXNoUHJvbWlzZVJlamVjdChjb250cm9sbGVyLCByKTtcbiAgICByZXR1cm4gbnVsbDtcbiAgfSk7XG5cbiAgcmV0dXJuIGNvbnRyb2xsZXIuX2ZpbmlzaFByb21pc2U7XG59XG5cbi8vIEhlbHBlciBmdW5jdGlvbnMgZm9yIHRoZSBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlci5cblxuZnVuY3Rpb24gZGVmYXVsdENvbnRyb2xsZXJCcmFuZENoZWNrRXhjZXB0aW9uKG5hbWU6IHN0cmluZyk6IFR5cGVFcnJvciB7XG4gIHJldHVybiBuZXcgVHlwZUVycm9yKFxuICAgIGBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlci5wcm90b3R5cGUuJHtuYW1lfSBjYW4gb25seSBiZSB1c2VkIG9uIGEgVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRDb250cm9sbGVyRmluaXNoUHJvbWlzZVJlc29sdmUoY29udHJvbGxlcjogVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXI8YW55Pikge1xuICBpZiAoY29udHJvbGxlci5fZmluaXNoUHJvbWlzZV9yZXNvbHZlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBjb250cm9sbGVyLl9maW5pc2hQcm9taXNlX3Jlc29sdmUoKTtcbiAgY29udHJvbGxlci5fZmluaXNoUHJvbWlzZV9yZXNvbHZlID0gdW5kZWZpbmVkO1xuICBjb250cm9sbGVyLl9maW5pc2hQcm9taXNlX3JlamVjdCA9IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRDb250cm9sbGVyRmluaXNoUHJvbWlzZVJlamVjdChjb250cm9sbGVyOiBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlcjxhbnk+LCByZWFzb246IGFueSkge1xuICBpZiAoY29udHJvbGxlci5fZmluaXNoUHJvbWlzZV9yZWplY3QgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIHNldFByb21pc2VJc0hhbmRsZWRUb1RydWUoY29udHJvbGxlci5fZmluaXNoUHJvbWlzZSEpO1xuICBjb250cm9sbGVyLl9maW5pc2hQcm9taXNlX3JlamVjdChyZWFzb24pO1xuICBjb250cm9sbGVyLl9maW5pc2hQcm9taXNlX3Jlc29sdmUgPSB1bmRlZmluZWQ7XG4gIGNvbnRyb2xsZXIuX2ZpbmlzaFByb21pc2VfcmVqZWN0ID0gdW5kZWZpbmVkO1xufVxuXG4vLyBIZWxwZXIgZnVuY3Rpb25zIGZvciB0aGUgVHJhbnNmb3JtU3RyZWFtLlxuXG5mdW5jdGlvbiBzdHJlYW1CcmFuZENoZWNrRXhjZXB0aW9uKG5hbWU6IHN0cmluZyk6IFR5cGVFcnJvciB7XG4gIHJldHVybiBuZXcgVHlwZUVycm9yKFxuICAgIGBUcmFuc2Zvcm1TdHJlYW0ucHJvdG90eXBlLiR7bmFtZX0gY2FuIG9ubHkgYmUgdXNlZCBvbiBhIFRyYW5zZm9ybVN0cmVhbWApO1xufVxuIiwgIi8qISBub2RlLWRvbWV4Y2VwdGlvbi4gTUlUIExpY2Vuc2UuIEppbW15IFdcdTAwRTRydGluZyA8aHR0cHM6Ly9qaW1teS53YXJ0aW5nLnNlL29wZW5zb3VyY2U+ICovXG5cbmlmICghZ2xvYmFsVGhpcy5ET01FeGNlcHRpb24pIHtcbiAgdHJ5IHtcbiAgICBjb25zdCB7IE1lc3NhZ2VDaGFubmVsIH0gPSByZXF1aXJlKCd3b3JrZXJfdGhyZWFkcycpLFxuICAgIHBvcnQgPSBuZXcgTWVzc2FnZUNoYW5uZWwoKS5wb3J0MSxcbiAgICBhYiA9IG5ldyBBcnJheUJ1ZmZlcigpXG4gICAgcG9ydC5wb3N0TWVzc2FnZShhYiwgW2FiLCBhYl0pXG4gIH0gY2F0Y2ggKGVycikge1xuICAgIGVyci5jb25zdHJ1Y3Rvci5uYW1lID09PSAnRE9NRXhjZXB0aW9uJyAmJiAoXG4gICAgICBnbG9iYWxUaGlzLkRPTUV4Y2VwdGlvbiA9IGVyci5jb25zdHJ1Y3RvclxuICAgIClcbiAgfVxufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGdsb2JhbFRoaXMuRE9NRXhjZXB0aW9uXG4iLCAiY29uc3QgZ2V0VHlwZSA9ICh2YWx1ZSkgPT4gKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkuc2xpY2UoOCwgLTEpLnRvTG93ZXJDYXNlKCkpO1xuZnVuY3Rpb24gaXNQbGFpbk9iamVjdCh2YWx1ZSkge1xuICAgIGlmIChnZXRUeXBlKHZhbHVlKSAhPT0gXCJvYmplY3RcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IHBwID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHZhbHVlKTtcbiAgICBpZiAocHAgPT09IG51bGwgfHwgcHAgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgY29uc3QgQ3RvciA9IHBwLmNvbnN0cnVjdG9yICYmIHBwLmNvbnN0cnVjdG9yLnRvU3RyaW5nKCk7XG4gICAgcmV0dXJuIEN0b3IgPT09IE9iamVjdC50b1N0cmluZygpO1xufVxuZXhwb3J0IGRlZmF1bHQgaXNQbGFpbk9iamVjdDtcbiIsICJ2YXIgX19jbGFzc1ByaXZhdGVGaWVsZFNldCA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZFNldCkgfHwgZnVuY3Rpb24gKHJlY2VpdmVyLCBzdGF0ZSwgdmFsdWUsIGtpbmQsIGYpIHtcbiAgICBpZiAoa2luZCA9PT0gXCJtXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGVcIik7XG4gICAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyXCIpO1xuICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHdyaXRlIHByaXZhdGUgbWVtYmVyIHRvIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XG4gICAgcmV0dXJuIChraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7XG59O1xudmFyIF9fY2xhc3NQcml2YXRlRmllbGRHZXQgPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRHZXQpIHx8IGZ1bmN0aW9uIChyZWNlaXZlciwgc3RhdGUsIGtpbmQsIGYpIHtcbiAgICBpZiAoa2luZCA9PT0gXCJhXCIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBnZXR0ZXJcIik7XG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgcmVhZCBwcml2YXRlIG1lbWJlciBmcm9tIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XG4gICAgcmV0dXJuIGtpbmQgPT09IFwibVwiID8gZiA6IGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyKSA6IGYgPyBmLnZhbHVlIDogc3RhdGUuZ2V0KHJlY2VpdmVyKTtcbn07XG52YXIgX0ZpbGVGcm9tUGF0aF9wYXRoLCBfRmlsZUZyb21QYXRoX3N0YXJ0O1xuaW1wb3J0IHsgc3RhdFN5bmMsIGNyZWF0ZVJlYWRTdHJlYW0sIHByb21pc2VzIGFzIGZzIH0gZnJvbSBcImZzXCI7XG5pbXBvcnQgeyBiYXNlbmFtZSB9IGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgRE9NRXhjZXB0aW9uIGZyb20gXCJub2RlLWRvbWV4Y2VwdGlvblwiO1xuaW1wb3J0IHsgRmlsZSB9IGZyb20gXCIuL0ZpbGUuanNcIjtcbmltcG9ydCBpc1BsYWluT2JqZWN0IGZyb20gXCIuL2lzUGxhaW5PYmplY3QuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2lzRmlsZS5qc1wiO1xuY29uc3QgTUVTU0FHRSA9IFwiVGhlIHJlcXVlc3RlZCBmaWxlIGNvdWxkIG5vdCBiZSByZWFkLCBcIlxuICAgICsgXCJ0eXBpY2FsbHkgZHVlIHRvIHBlcm1pc3Npb24gcHJvYmxlbXMgdGhhdCBoYXZlIG9jY3VycmVkIGFmdGVyIGEgcmVmZXJlbmNlIFwiXG4gICAgKyBcInRvIGEgZmlsZSB3YXMgYWNxdWlyZWQuXCI7XG5jbGFzcyBGaWxlRnJvbVBhdGgge1xuICAgIGNvbnN0cnVjdG9yKGlucHV0KSB7XG4gICAgICAgIF9GaWxlRnJvbVBhdGhfcGF0aC5zZXQodGhpcywgdm9pZCAwKTtcbiAgICAgICAgX0ZpbGVGcm9tUGF0aF9zdGFydC5zZXQodGhpcywgdm9pZCAwKTtcbiAgICAgICAgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfRmlsZUZyb21QYXRoX3BhdGgsIGlucHV0LnBhdGgsIFwiZlwiKTtcbiAgICAgICAgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfRmlsZUZyb21QYXRoX3N0YXJ0LCBpbnB1dC5zdGFydCB8fCAwLCBcImZcIik7XG4gICAgICAgIHRoaXMubmFtZSA9IGJhc2VuYW1lKF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0ZpbGVGcm9tUGF0aF9wYXRoLCBcImZcIikpO1xuICAgICAgICB0aGlzLnNpemUgPSBpbnB1dC5zaXplO1xuICAgICAgICB0aGlzLmxhc3RNb2RpZmllZCA9IGlucHV0Lmxhc3RNb2RpZmllZDtcbiAgICB9XG4gICAgc2xpY2Uoc3RhcnQsIGVuZCkge1xuICAgICAgICByZXR1cm4gbmV3IEZpbGVGcm9tUGF0aCh7XG4gICAgICAgICAgICBwYXRoOiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9GaWxlRnJvbVBhdGhfcGF0aCwgXCJmXCIpLFxuICAgICAgICAgICAgbGFzdE1vZGlmaWVkOiB0aGlzLmxhc3RNb2RpZmllZCxcbiAgICAgICAgICAgIHNpemU6IGVuZCAtIHN0YXJ0LFxuICAgICAgICAgICAgc3RhcnRcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGFzeW5jICpzdHJlYW0oKSB7XG4gICAgICAgIGNvbnN0IHsgbXRpbWVNcyB9ID0gYXdhaXQgZnMuc3RhdChfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9GaWxlRnJvbVBhdGhfcGF0aCwgXCJmXCIpKTtcbiAgICAgICAgaWYgKG10aW1lTXMgPiB0aGlzLmxhc3RNb2RpZmllZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IERPTUV4Y2VwdGlvbihNRVNTQUdFLCBcIk5vdFJlYWRhYmxlRXJyb3JcIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuc2l6ZSkge1xuICAgICAgICAgICAgeWllbGQqIGNyZWF0ZVJlYWRTdHJlYW0oX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRmlsZUZyb21QYXRoX3BhdGgsIFwiZlwiKSwge1xuICAgICAgICAgICAgICAgIHN0YXJ0OiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9GaWxlRnJvbVBhdGhfc3RhcnQsIFwiZlwiKSxcbiAgICAgICAgICAgICAgICBlbmQ6IF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0ZpbGVGcm9tUGF0aF9zdGFydCwgXCJmXCIpICsgdGhpcy5zaXplIC0gMVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IFsoX0ZpbGVGcm9tUGF0aF9wYXRoID0gbmV3IFdlYWtNYXAoKSwgX0ZpbGVGcm9tUGF0aF9zdGFydCA9IG5ldyBXZWFrTWFwKCksIFN5bWJvbC50b1N0cmluZ1RhZyldKCkge1xuICAgICAgICByZXR1cm4gXCJGaWxlXCI7XG4gICAgfVxufVxuZnVuY3Rpb24gY3JlYXRlRmlsZUZyb21QYXRoKHBhdGgsIHsgbXRpbWVNcywgc2l6ZSB9LCBmaWxlbmFtZU9yT3B0aW9ucywgb3B0aW9ucyA9IHt9KSB7XG4gICAgbGV0IGZpbGVuYW1lO1xuICAgIGlmIChpc1BsYWluT2JqZWN0KGZpbGVuYW1lT3JPcHRpb25zKSkge1xuICAgICAgICBbb3B0aW9ucywgZmlsZW5hbWVdID0gW2ZpbGVuYW1lT3JPcHRpb25zLCB1bmRlZmluZWRdO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgZmlsZW5hbWUgPSBmaWxlbmFtZU9yT3B0aW9ucztcbiAgICB9XG4gICAgY29uc3QgZmlsZSA9IG5ldyBGaWxlRnJvbVBhdGgoeyBwYXRoLCBzaXplLCBsYXN0TW9kaWZpZWQ6IG10aW1lTXMgfSk7XG4gICAgaWYgKCFmaWxlbmFtZSkge1xuICAgICAgICBmaWxlbmFtZSA9IGZpbGUubmFtZTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBGaWxlKFtmaWxlXSwgZmlsZW5hbWUsIHtcbiAgICAgICAgLi4ub3B0aW9ucywgbGFzdE1vZGlmaWVkOiBmaWxlLmxhc3RNb2RpZmllZFxuICAgIH0pO1xufVxuZXhwb3J0IGZ1bmN0aW9uIGZpbGVGcm9tUGF0aFN5bmMocGF0aCwgZmlsZW5hbWVPck9wdGlvbnMsIG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IHN0YXRzID0gc3RhdFN5bmMocGF0aCk7XG4gICAgcmV0dXJuIGNyZWF0ZUZpbGVGcm9tUGF0aChwYXRoLCBzdGF0cywgZmlsZW5hbWVPck9wdGlvbnMsIG9wdGlvbnMpO1xufVxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZpbGVGcm9tUGF0aChwYXRoLCBmaWxlbmFtZU9yT3B0aW9ucywgb3B0aW9ucykge1xuICAgIGNvbnN0IHN0YXRzID0gYXdhaXQgZnMuc3RhdChwYXRoKTtcbiAgICByZXR1cm4gY3JlYXRlRmlsZUZyb21QYXRoKHBhdGgsIHN0YXRzLCBmaWxlbmFtZU9yT3B0aW9ucywgb3B0aW9ucyk7XG59XG4iLCAiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKGFycmF5cykge1xuICBjb25zdCByZXN1bHQgPSBuZXcgU2V0KGFycmF5c1swXSk7XG4gIGxldCByZXN1bHRTaXplID0gcmVzdWx0Lmxlbmd0aDtcblxuICBsZXQgaSwgdmFsdWUsIHZhbHVlc1RvQ2hlY2s7XG4gIGZvciAoaSA9IDE7IGkgPCBhcnJheXMubGVuZ3RoOyBpKyspIHtcbiAgICB2YWx1ZXNUb0NoZWNrID0gbmV3IFNldChhcnJheXNbaV0pO1xuICAgIGZvciAodmFsdWUgb2YgcmVzdWx0KSB7XG4gICAgICBpZiAoIXZhbHVlc1RvQ2hlY2suaGFzKHZhbHVlKSkge1xuICAgICAgICByZXN1bHQuZGVsZXRlKHZhbHVlKTtcbiAgICAgICAgcmVzdWx0U2l6ZSAtPSAxO1xuICAgICAgfVxuICAgICAgaWYgKHJlc3VsdFNpemUgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBBcnJheS5mcm9tKHJlc3VsdCk7XG59O1xuIiwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgbnVsbCwgIid1c2Ugc3RyaWN0JztcblxudmFyIGlzUHJvZHVjdGlvbiA9IHByb2Nlc3MuZW52Lk5PREVfRU5WID09PSAncHJvZHVjdGlvbic7XG52YXIgcHJlZml4ID0gJ0ludmFyaWFudCBmYWlsZWQnO1xuZnVuY3Rpb24gaW52YXJpYW50KGNvbmRpdGlvbiwgbWVzc2FnZSkge1xuICAgIGlmIChjb25kaXRpb24pIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoaXNQcm9kdWN0aW9uKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihwcmVmaXgpO1xuICAgIH1cbiAgICB2YXIgcHJvdmlkZWQgPSB0eXBlb2YgbWVzc2FnZSA9PT0gJ2Z1bmN0aW9uJyA/IG1lc3NhZ2UoKSA6IG1lc3NhZ2U7XG4gICAgdmFyIHZhbHVlID0gcHJvdmlkZWQgPyBcIlwiLmNvbmNhdChwcmVmaXgsIFwiOiBcIikuY29uY2F0KHByb3ZpZGVkKSA6IHByZWZpeDtcbiAgICB0aHJvdyBuZXcgRXJyb3IodmFsdWUpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGludmFyaWFudDtcbiIsICIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTEgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICovXG5cbnZhciBpbnRUb0NoYXJNYXAgPSAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLycuc3BsaXQoJycpO1xuXG4vKipcbiAqIEVuY29kZSBhbiBpbnRlZ2VyIGluIHRoZSByYW5nZSBvZiAwIHRvIDYzIHRvIGEgc2luZ2xlIGJhc2UgNjQgZGlnaXQuXG4gKi9cbmV4cG9ydHMuZW5jb2RlID0gZnVuY3Rpb24gKG51bWJlcikge1xuICBpZiAoMCA8PSBudW1iZXIgJiYgbnVtYmVyIDwgaW50VG9DaGFyTWFwLmxlbmd0aCkge1xuICAgIHJldHVybiBpbnRUb0NoYXJNYXBbbnVtYmVyXTtcbiAgfVxuICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiTXVzdCBiZSBiZXR3ZWVuIDAgYW5kIDYzOiBcIiArIG51bWJlcik7XG59O1xuXG4vKipcbiAqIERlY29kZSBhIHNpbmdsZSBiYXNlIDY0IGNoYXJhY3RlciBjb2RlIGRpZ2l0IHRvIGFuIGludGVnZXIuIFJldHVybnMgLTEgb25cbiAqIGZhaWx1cmUuXG4gKi9cbmV4cG9ydHMuZGVjb2RlID0gZnVuY3Rpb24gKGNoYXJDb2RlKSB7XG4gIHZhciBiaWdBID0gNjU7ICAgICAvLyAnQSdcbiAgdmFyIGJpZ1ogPSA5MDsgICAgIC8vICdaJ1xuXG4gIHZhciBsaXR0bGVBID0gOTc7ICAvLyAnYSdcbiAgdmFyIGxpdHRsZVogPSAxMjI7IC8vICd6J1xuXG4gIHZhciB6ZXJvID0gNDg7ICAgICAvLyAnMCdcbiAgdmFyIG5pbmUgPSA1NzsgICAgIC8vICc5J1xuXG4gIHZhciBwbHVzID0gNDM7ICAgICAvLyAnKydcbiAgdmFyIHNsYXNoID0gNDc7ICAgIC8vICcvJ1xuXG4gIHZhciBsaXR0bGVPZmZzZXQgPSAyNjtcbiAgdmFyIG51bWJlck9mZnNldCA9IDUyO1xuXG4gIC8vIDAgLSAyNTogQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpcbiAgaWYgKGJpZ0EgPD0gY2hhckNvZGUgJiYgY2hhckNvZGUgPD0gYmlnWikge1xuICAgIHJldHVybiAoY2hhckNvZGUgLSBiaWdBKTtcbiAgfVxuXG4gIC8vIDI2IC0gNTE6IGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6XG4gIGlmIChsaXR0bGVBIDw9IGNoYXJDb2RlICYmIGNoYXJDb2RlIDw9IGxpdHRsZVopIHtcbiAgICByZXR1cm4gKGNoYXJDb2RlIC0gbGl0dGxlQSArIGxpdHRsZU9mZnNldCk7XG4gIH1cblxuICAvLyA1MiAtIDYxOiAwMTIzNDU2Nzg5XG4gIGlmICh6ZXJvIDw9IGNoYXJDb2RlICYmIGNoYXJDb2RlIDw9IG5pbmUpIHtcbiAgICByZXR1cm4gKGNoYXJDb2RlIC0gemVybyArIG51bWJlck9mZnNldCk7XG4gIH1cblxuICAvLyA2MjogK1xuICBpZiAoY2hhckNvZGUgPT0gcGx1cykge1xuICAgIHJldHVybiA2MjtcbiAgfVxuXG4gIC8vIDYzOiAvXG4gIGlmIChjaGFyQ29kZSA9PSBzbGFzaCkge1xuICAgIHJldHVybiA2MztcbiAgfVxuXG4gIC8vIEludmFsaWQgYmFzZTY0IGRpZ2l0LlxuICByZXR1cm4gLTE7XG59O1xuIiwgIi8qIC0qLSBNb2RlOiBqczsganMtaW5kZW50LWxldmVsOiAyOyAtKi0gKi9cbi8qXG4gKiBDb3B5cmlnaHQgMjAxMSBNb3ppbGxhIEZvdW5kYXRpb24gYW5kIGNvbnRyaWJ1dG9yc1xuICogTGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgbGljZW5zZS4gU2VlIExJQ0VOU0Ugb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKlxuICogQmFzZWQgb24gdGhlIEJhc2UgNjQgVkxRIGltcGxlbWVudGF0aW9uIGluIENsb3N1cmUgQ29tcGlsZXI6XG4gKiBodHRwczovL2NvZGUuZ29vZ2xlLmNvbS9wL2Nsb3N1cmUtY29tcGlsZXIvc291cmNlL2Jyb3dzZS90cnVuay9zcmMvY29tL2dvb2dsZS9kZWJ1Z2dpbmcvc291cmNlbWFwL0Jhc2U2NFZMUS5qYXZhXG4gKlxuICogQ29weXJpZ2h0IDIwMTEgVGhlIENsb3N1cmUgQ29tcGlsZXIgQXV0aG9ycy4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dFxuICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZVxuICogbWV0OlxuICpcbiAqICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0XG4gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuXG4gKiAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlXG4gKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZ1xuICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkXG4gKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uXG4gKiAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzXG4gKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWRcbiAqICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi5cbiAqXG4gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTXG4gKiBcIkFTIElTXCIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UXG4gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1JcbiAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUXG4gKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCxcbiAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1RcbiAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLFxuICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZXG4gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUXG4gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0VcbiAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuXG4gKi9cblxudmFyIGJhc2U2NCA9IHJlcXVpcmUoJy4vYmFzZTY0Jyk7XG5cbi8vIEEgc2luZ2xlIGJhc2UgNjQgZGlnaXQgY2FuIGNvbnRhaW4gNiBiaXRzIG9mIGRhdGEuIEZvciB0aGUgYmFzZSA2NCB2YXJpYWJsZVxuLy8gbGVuZ3RoIHF1YW50aXRpZXMgd2UgdXNlIGluIHRoZSBzb3VyY2UgbWFwIHNwZWMsIHRoZSBmaXJzdCBiaXQgaXMgdGhlIHNpZ24sXG4vLyB0aGUgbmV4dCBmb3VyIGJpdHMgYXJlIHRoZSBhY3R1YWwgdmFsdWUsIGFuZCB0aGUgNnRoIGJpdCBpcyB0aGVcbi8vIGNvbnRpbnVhdGlvbiBiaXQuIFRoZSBjb250aW51YXRpb24gYml0IHRlbGxzIHVzIHdoZXRoZXIgdGhlcmUgYXJlIG1vcmVcbi8vIGRpZ2l0cyBpbiB0aGlzIHZhbHVlIGZvbGxvd2luZyB0aGlzIGRpZ2l0LlxuLy9cbi8vICAgQ29udGludWF0aW9uXG4vLyAgIHwgICAgU2lnblxuLy8gICB8ICAgIHxcbi8vICAgViAgICBWXG4vLyAgIDEwMTAxMVxuXG52YXIgVkxRX0JBU0VfU0hJRlQgPSA1O1xuXG4vLyBiaW5hcnk6IDEwMDAwMFxudmFyIFZMUV9CQVNFID0gMSA8PCBWTFFfQkFTRV9TSElGVDtcblxuLy8gYmluYXJ5OiAwMTExMTFcbnZhciBWTFFfQkFTRV9NQVNLID0gVkxRX0JBU0UgLSAxO1xuXG4vLyBiaW5hcnk6IDEwMDAwMFxudmFyIFZMUV9DT05USU5VQVRJT05fQklUID0gVkxRX0JBU0U7XG5cbi8qKlxuICogQ29udmVydHMgZnJvbSBhIHR3by1jb21wbGVtZW50IHZhbHVlIHRvIGEgdmFsdWUgd2hlcmUgdGhlIHNpZ24gYml0IGlzXG4gKiBwbGFjZWQgaW4gdGhlIGxlYXN0IHNpZ25pZmljYW50IGJpdC4gIEZvciBleGFtcGxlLCBhcyBkZWNpbWFsczpcbiAqICAgMSBiZWNvbWVzIDIgKDEwIGJpbmFyeSksIC0xIGJlY29tZXMgMyAoMTEgYmluYXJ5KVxuICogICAyIGJlY29tZXMgNCAoMTAwIGJpbmFyeSksIC0yIGJlY29tZXMgNSAoMTAxIGJpbmFyeSlcbiAqL1xuZnVuY3Rpb24gdG9WTFFTaWduZWQoYVZhbHVlKSB7XG4gIHJldHVybiBhVmFsdWUgPCAwXG4gICAgPyAoKC1hVmFsdWUpIDw8IDEpICsgMVxuICAgIDogKGFWYWx1ZSA8PCAxKSArIDA7XG59XG5cbi8qKlxuICogQ29udmVydHMgdG8gYSB0d28tY29tcGxlbWVudCB2YWx1ZSBmcm9tIGEgdmFsdWUgd2hlcmUgdGhlIHNpZ24gYml0IGlzXG4gKiBwbGFjZWQgaW4gdGhlIGxlYXN0IHNpZ25pZmljYW50IGJpdC4gIEZvciBleGFtcGxlLCBhcyBkZWNpbWFsczpcbiAqICAgMiAoMTAgYmluYXJ5KSBiZWNvbWVzIDEsIDMgKDExIGJpbmFyeSkgYmVjb21lcyAtMVxuICogICA0ICgxMDAgYmluYXJ5KSBiZWNvbWVzIDIsIDUgKDEwMSBiaW5hcnkpIGJlY29tZXMgLTJcbiAqL1xuZnVuY3Rpb24gZnJvbVZMUVNpZ25lZChhVmFsdWUpIHtcbiAgdmFyIGlzTmVnYXRpdmUgPSAoYVZhbHVlICYgMSkgPT09IDE7XG4gIHZhciBzaGlmdGVkID0gYVZhbHVlID4+IDE7XG4gIHJldHVybiBpc05lZ2F0aXZlXG4gICAgPyAtc2hpZnRlZFxuICAgIDogc2hpZnRlZDtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBiYXNlIDY0IFZMUSBlbmNvZGVkIHZhbHVlLlxuICovXG5leHBvcnRzLmVuY29kZSA9IGZ1bmN0aW9uIGJhc2U2NFZMUV9lbmNvZGUoYVZhbHVlKSB7XG4gIHZhciBlbmNvZGVkID0gXCJcIjtcbiAgdmFyIGRpZ2l0O1xuXG4gIHZhciB2bHEgPSB0b1ZMUVNpZ25lZChhVmFsdWUpO1xuXG4gIGRvIHtcbiAgICBkaWdpdCA9IHZscSAmIFZMUV9CQVNFX01BU0s7XG4gICAgdmxxID4+Pj0gVkxRX0JBU0VfU0hJRlQ7XG4gICAgaWYgKHZscSA+IDApIHtcbiAgICAgIC8vIFRoZXJlIGFyZSBzdGlsbCBtb3JlIGRpZ2l0cyBpbiB0aGlzIHZhbHVlLCBzbyB3ZSBtdXN0IG1ha2Ugc3VyZSB0aGVcbiAgICAgIC8vIGNvbnRpbnVhdGlvbiBiaXQgaXMgbWFya2VkLlxuICAgICAgZGlnaXQgfD0gVkxRX0NPTlRJTlVBVElPTl9CSVQ7XG4gICAgfVxuICAgIGVuY29kZWQgKz0gYmFzZTY0LmVuY29kZShkaWdpdCk7XG4gIH0gd2hpbGUgKHZscSA+IDApO1xuXG4gIHJldHVybiBlbmNvZGVkO1xufTtcblxuLyoqXG4gKiBEZWNvZGVzIHRoZSBuZXh0IGJhc2UgNjQgVkxRIHZhbHVlIGZyb20gdGhlIGdpdmVuIHN0cmluZyBhbmQgcmV0dXJucyB0aGVcbiAqIHZhbHVlIGFuZCB0aGUgcmVzdCBvZiB0aGUgc3RyaW5nIHZpYSB0aGUgb3V0IHBhcmFtZXRlci5cbiAqL1xuZXhwb3J0cy5kZWNvZGUgPSBmdW5jdGlvbiBiYXNlNjRWTFFfZGVjb2RlKGFTdHIsIGFJbmRleCwgYU91dFBhcmFtKSB7XG4gIHZhciBzdHJMZW4gPSBhU3RyLmxlbmd0aDtcbiAgdmFyIHJlc3VsdCA9IDA7XG4gIHZhciBzaGlmdCA9IDA7XG4gIHZhciBjb250aW51YXRpb24sIGRpZ2l0O1xuXG4gIGRvIHtcbiAgICBpZiAoYUluZGV4ID49IHN0ckxlbikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgbW9yZSBkaWdpdHMgaW4gYmFzZSA2NCBWTFEgdmFsdWUuXCIpO1xuICAgIH1cblxuICAgIGRpZ2l0ID0gYmFzZTY0LmRlY29kZShhU3RyLmNoYXJDb2RlQXQoYUluZGV4KyspKTtcbiAgICBpZiAoZGlnaXQgPT09IC0xKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGJhc2U2NCBkaWdpdDogXCIgKyBhU3RyLmNoYXJBdChhSW5kZXggLSAxKSk7XG4gICAgfVxuXG4gICAgY29udGludWF0aW9uID0gISEoZGlnaXQgJiBWTFFfQ09OVElOVUFUSU9OX0JJVCk7XG4gICAgZGlnaXQgJj0gVkxRX0JBU0VfTUFTSztcbiAgICByZXN1bHQgPSByZXN1bHQgKyAoZGlnaXQgPDwgc2hpZnQpO1xuICAgIHNoaWZ0ICs9IFZMUV9CQVNFX1NISUZUO1xuICB9IHdoaWxlIChjb250aW51YXRpb24pO1xuXG4gIGFPdXRQYXJhbS52YWx1ZSA9IGZyb21WTFFTaWduZWQocmVzdWx0KTtcbiAgYU91dFBhcmFtLnJlc3QgPSBhSW5kZXg7XG59O1xuIiwgIi8qIC0qLSBNb2RlOiBqczsganMtaW5kZW50LWxldmVsOiAyOyAtKi0gKi9cbi8qXG4gKiBDb3B5cmlnaHQgMjAxMSBNb3ppbGxhIEZvdW5kYXRpb24gYW5kIGNvbnRyaWJ1dG9yc1xuICogTGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgbGljZW5zZS4gU2VlIExJQ0VOU0Ugb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKi9cblxuLyoqXG4gKiBUaGlzIGlzIGEgaGVscGVyIGZ1bmN0aW9uIGZvciBnZXR0aW5nIHZhbHVlcyBmcm9tIHBhcmFtZXRlci9vcHRpb25zXG4gKiBvYmplY3RzLlxuICpcbiAqIEBwYXJhbSBhcmdzIFRoZSBvYmplY3Qgd2UgYXJlIGV4dHJhY3RpbmcgdmFsdWVzIGZyb21cbiAqIEBwYXJhbSBuYW1lIFRoZSBuYW1lIG9mIHRoZSBwcm9wZXJ0eSB3ZSBhcmUgZ2V0dGluZy5cbiAqIEBwYXJhbSBkZWZhdWx0VmFsdWUgQW4gb3B0aW9uYWwgdmFsdWUgdG8gcmV0dXJuIGlmIHRoZSBwcm9wZXJ0eSBpcyBtaXNzaW5nXG4gKiBmcm9tIHRoZSBvYmplY3QuIElmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhbmQgdGhlIHByb3BlcnR5IGlzIG1pc3NpbmcsIGFuXG4gKiBlcnJvciB3aWxsIGJlIHRocm93bi5cbiAqL1xuZnVuY3Rpb24gZ2V0QXJnKGFBcmdzLCBhTmFtZSwgYURlZmF1bHRWYWx1ZSkge1xuICBpZiAoYU5hbWUgaW4gYUFyZ3MpIHtcbiAgICByZXR1cm4gYUFyZ3NbYU5hbWVdO1xuICB9IGVsc2UgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDMpIHtcbiAgICByZXR1cm4gYURlZmF1bHRWYWx1ZTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ1wiJyArIGFOYW1lICsgJ1wiIGlzIGEgcmVxdWlyZWQgYXJndW1lbnQuJyk7XG4gIH1cbn1cbmV4cG9ydHMuZ2V0QXJnID0gZ2V0QXJnO1xuXG52YXIgdXJsUmVnZXhwID0gL14oPzooW1xcdytcXC0uXSspOik/XFwvXFwvKD86KFxcdys6XFx3KylAKT8oW1xcdy4tXSopKD86OihcXGQrKSk/KC4qKSQvO1xudmFyIGRhdGFVcmxSZWdleHAgPSAvXmRhdGE6LitcXCwuKyQvO1xuXG5mdW5jdGlvbiB1cmxQYXJzZShhVXJsKSB7XG4gIHZhciBtYXRjaCA9IGFVcmwubWF0Y2godXJsUmVnZXhwKTtcbiAgaWYgKCFtYXRjaCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiB7XG4gICAgc2NoZW1lOiBtYXRjaFsxXSxcbiAgICBhdXRoOiBtYXRjaFsyXSxcbiAgICBob3N0OiBtYXRjaFszXSxcbiAgICBwb3J0OiBtYXRjaFs0XSxcbiAgICBwYXRoOiBtYXRjaFs1XVxuICB9O1xufVxuZXhwb3J0cy51cmxQYXJzZSA9IHVybFBhcnNlO1xuXG5mdW5jdGlvbiB1cmxHZW5lcmF0ZShhUGFyc2VkVXJsKSB7XG4gIHZhciB1cmwgPSAnJztcbiAgaWYgKGFQYXJzZWRVcmwuc2NoZW1lKSB7XG4gICAgdXJsICs9IGFQYXJzZWRVcmwuc2NoZW1lICsgJzonO1xuICB9XG4gIHVybCArPSAnLy8nO1xuICBpZiAoYVBhcnNlZFVybC5hdXRoKSB7XG4gICAgdXJsICs9IGFQYXJzZWRVcmwuYXV0aCArICdAJztcbiAgfVxuICBpZiAoYVBhcnNlZFVybC5ob3N0KSB7XG4gICAgdXJsICs9IGFQYXJzZWRVcmwuaG9zdDtcbiAgfVxuICBpZiAoYVBhcnNlZFVybC5wb3J0KSB7XG4gICAgdXJsICs9IFwiOlwiICsgYVBhcnNlZFVybC5wb3J0XG4gIH1cbiAgaWYgKGFQYXJzZWRVcmwucGF0aCkge1xuICAgIHVybCArPSBhUGFyc2VkVXJsLnBhdGg7XG4gIH1cbiAgcmV0dXJuIHVybDtcbn1cbmV4cG9ydHMudXJsR2VuZXJhdGUgPSB1cmxHZW5lcmF0ZTtcblxuLyoqXG4gKiBOb3JtYWxpemVzIGEgcGF0aCwgb3IgdGhlIHBhdGggcG9ydGlvbiBvZiBhIFVSTDpcbiAqXG4gKiAtIFJlcGxhY2VzIGNvbnNlY3V0aXZlIHNsYXNoZXMgd2l0aCBvbmUgc2xhc2guXG4gKiAtIFJlbW92ZXMgdW5uZWNlc3NhcnkgJy4nIHBhcnRzLlxuICogLSBSZW1vdmVzIHVubmVjZXNzYXJ5ICc8ZGlyPi8uLicgcGFydHMuXG4gKlxuICogQmFzZWQgb24gY29kZSBpbiB0aGUgTm9kZS5qcyAncGF0aCcgY29yZSBtb2R1bGUuXG4gKlxuICogQHBhcmFtIGFQYXRoIFRoZSBwYXRoIG9yIHVybCB0byBub3JtYWxpemUuXG4gKi9cbmZ1bmN0aW9uIG5vcm1hbGl6ZShhUGF0aCkge1xuICB2YXIgcGF0aCA9IGFQYXRoO1xuICB2YXIgdXJsID0gdXJsUGFyc2UoYVBhdGgpO1xuICBpZiAodXJsKSB7XG4gICAgaWYgKCF1cmwucGF0aCkge1xuICAgICAgcmV0dXJuIGFQYXRoO1xuICAgIH1cbiAgICBwYXRoID0gdXJsLnBhdGg7XG4gIH1cbiAgdmFyIGlzQWJzb2x1dGUgPSBleHBvcnRzLmlzQWJzb2x1dGUocGF0aCk7XG5cbiAgdmFyIHBhcnRzID0gcGF0aC5zcGxpdCgvXFwvKy8pO1xuICBmb3IgKHZhciBwYXJ0LCB1cCA9IDAsIGkgPSBwYXJ0cy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgIHBhcnQgPSBwYXJ0c1tpXTtcbiAgICBpZiAocGFydCA9PT0gJy4nKSB7XG4gICAgICBwYXJ0cy5zcGxpY2UoaSwgMSk7XG4gICAgfSBlbHNlIGlmIChwYXJ0ID09PSAnLi4nKSB7XG4gICAgICB1cCsrO1xuICAgIH0gZWxzZSBpZiAodXAgPiAwKSB7XG4gICAgICBpZiAocGFydCA9PT0gJycpIHtcbiAgICAgICAgLy8gVGhlIGZpcnN0IHBhcnQgaXMgYmxhbmsgaWYgdGhlIHBhdGggaXMgYWJzb2x1dGUuIFRyeWluZyB0byBnb1xuICAgICAgICAvLyBhYm92ZSB0aGUgcm9vdCBpcyBhIG5vLW9wLiBUaGVyZWZvcmUgd2UgY2FuIHJlbW92ZSBhbGwgJy4uJyBwYXJ0c1xuICAgICAgICAvLyBkaXJlY3RseSBhZnRlciB0aGUgcm9vdC5cbiAgICAgICAgcGFydHMuc3BsaWNlKGkgKyAxLCB1cCk7XG4gICAgICAgIHVwID0gMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHBhcnRzLnNwbGljZShpLCAyKTtcbiAgICAgICAgdXAtLTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcGF0aCA9IHBhcnRzLmpvaW4oJy8nKTtcblxuICBpZiAocGF0aCA9PT0gJycpIHtcbiAgICBwYXRoID0gaXNBYnNvbHV0ZSA/ICcvJyA6ICcuJztcbiAgfVxuXG4gIGlmICh1cmwpIHtcbiAgICB1cmwucGF0aCA9IHBhdGg7XG4gICAgcmV0dXJuIHVybEdlbmVyYXRlKHVybCk7XG4gIH1cbiAgcmV0dXJuIHBhdGg7XG59XG5leHBvcnRzLm5vcm1hbGl6ZSA9IG5vcm1hbGl6ZTtcblxuLyoqXG4gKiBKb2lucyB0d28gcGF0aHMvVVJMcy5cbiAqXG4gKiBAcGFyYW0gYVJvb3QgVGhlIHJvb3QgcGF0aCBvciBVUkwuXG4gKiBAcGFyYW0gYVBhdGggVGhlIHBhdGggb3IgVVJMIHRvIGJlIGpvaW5lZCB3aXRoIHRoZSByb290LlxuICpcbiAqIC0gSWYgYVBhdGggaXMgYSBVUkwgb3IgYSBkYXRhIFVSSSwgYVBhdGggaXMgcmV0dXJuZWQsIHVubGVzcyBhUGF0aCBpcyBhXG4gKiAgIHNjaGVtZS1yZWxhdGl2ZSBVUkw6IFRoZW4gdGhlIHNjaGVtZSBvZiBhUm9vdCwgaWYgYW55LCBpcyBwcmVwZW5kZWRcbiAqICAgZmlyc3QuXG4gKiAtIE90aGVyd2lzZSBhUGF0aCBpcyBhIHBhdGguIElmIGFSb290IGlzIGEgVVJMLCB0aGVuIGl0cyBwYXRoIHBvcnRpb25cbiAqICAgaXMgdXBkYXRlZCB3aXRoIHRoZSByZXN1bHQgYW5kIGFSb290IGlzIHJldHVybmVkLiBPdGhlcndpc2UgdGhlIHJlc3VsdFxuICogICBpcyByZXR1cm5lZC5cbiAqICAgLSBJZiBhUGF0aCBpcyBhYnNvbHV0ZSwgdGhlIHJlc3VsdCBpcyBhUGF0aC5cbiAqICAgLSBPdGhlcndpc2UgdGhlIHR3byBwYXRocyBhcmUgam9pbmVkIHdpdGggYSBzbGFzaC5cbiAqIC0gSm9pbmluZyBmb3IgZXhhbXBsZSAnaHR0cDovLycgYW5kICd3d3cuZXhhbXBsZS5jb20nIGlzIGFsc28gc3VwcG9ydGVkLlxuICovXG5mdW5jdGlvbiBqb2luKGFSb290LCBhUGF0aCkge1xuICBpZiAoYVJvb3QgPT09IFwiXCIpIHtcbiAgICBhUm9vdCA9IFwiLlwiO1xuICB9XG4gIGlmIChhUGF0aCA9PT0gXCJcIikge1xuICAgIGFQYXRoID0gXCIuXCI7XG4gIH1cbiAgdmFyIGFQYXRoVXJsID0gdXJsUGFyc2UoYVBhdGgpO1xuICB2YXIgYVJvb3RVcmwgPSB1cmxQYXJzZShhUm9vdCk7XG4gIGlmIChhUm9vdFVybCkge1xuICAgIGFSb290ID0gYVJvb3RVcmwucGF0aCB8fCAnLyc7XG4gIH1cblxuICAvLyBgam9pbihmb28sICcvL3d3dy5leGFtcGxlLm9yZycpYFxuICBpZiAoYVBhdGhVcmwgJiYgIWFQYXRoVXJsLnNjaGVtZSkge1xuICAgIGlmIChhUm9vdFVybCkge1xuICAgICAgYVBhdGhVcmwuc2NoZW1lID0gYVJvb3RVcmwuc2NoZW1lO1xuICAgIH1cbiAgICByZXR1cm4gdXJsR2VuZXJhdGUoYVBhdGhVcmwpO1xuICB9XG5cbiAgaWYgKGFQYXRoVXJsIHx8IGFQYXRoLm1hdGNoKGRhdGFVcmxSZWdleHApKSB7XG4gICAgcmV0dXJuIGFQYXRoO1xuICB9XG5cbiAgLy8gYGpvaW4oJ2h0dHA6Ly8nLCAnd3d3LmV4YW1wbGUuY29tJylgXG4gIGlmIChhUm9vdFVybCAmJiAhYVJvb3RVcmwuaG9zdCAmJiAhYVJvb3RVcmwucGF0aCkge1xuICAgIGFSb290VXJsLmhvc3QgPSBhUGF0aDtcbiAgICByZXR1cm4gdXJsR2VuZXJhdGUoYVJvb3RVcmwpO1xuICB9XG5cbiAgdmFyIGpvaW5lZCA9IGFQYXRoLmNoYXJBdCgwKSA9PT0gJy8nXG4gICAgPyBhUGF0aFxuICAgIDogbm9ybWFsaXplKGFSb290LnJlcGxhY2UoL1xcLyskLywgJycpICsgJy8nICsgYVBhdGgpO1xuXG4gIGlmIChhUm9vdFVybCkge1xuICAgIGFSb290VXJsLnBhdGggPSBqb2luZWQ7XG4gICAgcmV0dXJuIHVybEdlbmVyYXRlKGFSb290VXJsKTtcbiAgfVxuICByZXR1cm4gam9pbmVkO1xufVxuZXhwb3J0cy5qb2luID0gam9pbjtcblxuZXhwb3J0cy5pc0Fic29sdXRlID0gZnVuY3Rpb24gKGFQYXRoKSB7XG4gIHJldHVybiBhUGF0aC5jaGFyQXQoMCkgPT09ICcvJyB8fCB1cmxSZWdleHAudGVzdChhUGF0aCk7XG59O1xuXG4vKipcbiAqIE1ha2UgYSBwYXRoIHJlbGF0aXZlIHRvIGEgVVJMIG9yIGFub3RoZXIgcGF0aC5cbiAqXG4gKiBAcGFyYW0gYVJvb3QgVGhlIHJvb3QgcGF0aCBvciBVUkwuXG4gKiBAcGFyYW0gYVBhdGggVGhlIHBhdGggb3IgVVJMIHRvIGJlIG1hZGUgcmVsYXRpdmUgdG8gYVJvb3QuXG4gKi9cbmZ1bmN0aW9uIHJlbGF0aXZlKGFSb290LCBhUGF0aCkge1xuICBpZiAoYVJvb3QgPT09IFwiXCIpIHtcbiAgICBhUm9vdCA9IFwiLlwiO1xuICB9XG5cbiAgYVJvb3QgPSBhUm9vdC5yZXBsYWNlKC9cXC8kLywgJycpO1xuXG4gIC8vIEl0IGlzIHBvc3NpYmxlIGZvciB0aGUgcGF0aCB0byBiZSBhYm92ZSB0aGUgcm9vdC4gSW4gdGhpcyBjYXNlLCBzaW1wbHlcbiAgLy8gY2hlY2tpbmcgd2hldGhlciB0aGUgcm9vdCBpcyBhIHByZWZpeCBvZiB0aGUgcGF0aCB3b24ndCB3b3JrLiBJbnN0ZWFkLCB3ZVxuICAvLyBuZWVkIHRvIHJlbW92ZSBjb21wb25lbnRzIGZyb20gdGhlIHJvb3Qgb25lIGJ5IG9uZSwgdW50aWwgZWl0aGVyIHdlIGZpbmRcbiAgLy8gYSBwcmVmaXggdGhhdCBmaXRzLCBvciB3ZSBydW4gb3V0IG9mIGNvbXBvbmVudHMgdG8gcmVtb3ZlLlxuICB2YXIgbGV2ZWwgPSAwO1xuICB3aGlsZSAoYVBhdGguaW5kZXhPZihhUm9vdCArICcvJykgIT09IDApIHtcbiAgICB2YXIgaW5kZXggPSBhUm9vdC5sYXN0SW5kZXhPZihcIi9cIik7XG4gICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgcmV0dXJuIGFQYXRoO1xuICAgIH1cblxuICAgIC8vIElmIHRoZSBvbmx5IHBhcnQgb2YgdGhlIHJvb3QgdGhhdCBpcyBsZWZ0IGlzIHRoZSBzY2hlbWUgKGkuZS4gaHR0cDovLyxcbiAgICAvLyBmaWxlOi8vLywgZXRjLiksIG9uZSBvciBtb3JlIHNsYXNoZXMgKC8pLCBvciBzaW1wbHkgbm90aGluZyBhdCBhbGwsIHdlXG4gICAgLy8gaGF2ZSBleGhhdXN0ZWQgYWxsIGNvbXBvbmVudHMsIHNvIHRoZSBwYXRoIGlzIG5vdCByZWxhdGl2ZSB0byB0aGUgcm9vdC5cbiAgICBhUm9vdCA9IGFSb290LnNsaWNlKDAsIGluZGV4KTtcbiAgICBpZiAoYVJvb3QubWF0Y2goL14oW15cXC9dKzpcXC8pP1xcLyokLykpIHtcbiAgICAgIHJldHVybiBhUGF0aDtcbiAgICB9XG5cbiAgICArK2xldmVsO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHdlIGFkZCBhIFwiLi4vXCIgZm9yIGVhY2ggY29tcG9uZW50IHdlIHJlbW92ZWQgZnJvbSB0aGUgcm9vdC5cbiAgcmV0dXJuIEFycmF5KGxldmVsICsgMSkuam9pbihcIi4uL1wiKSArIGFQYXRoLnN1YnN0cihhUm9vdC5sZW5ndGggKyAxKTtcbn1cbmV4cG9ydHMucmVsYXRpdmUgPSByZWxhdGl2ZTtcblxudmFyIHN1cHBvcnRzTnVsbFByb3RvID0gKGZ1bmN0aW9uICgpIHtcbiAgdmFyIG9iaiA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIHJldHVybiAhKCdfX3Byb3RvX18nIGluIG9iaik7XG59KCkpO1xuXG5mdW5jdGlvbiBpZGVudGl0eSAocykge1xuICByZXR1cm4gcztcbn1cblxuLyoqXG4gKiBCZWNhdXNlIGJlaGF2aW9yIGdvZXMgd2Fja3kgd2hlbiB5b3Ugc2V0IGBfX3Byb3RvX19gIG9uIG9iamVjdHMsIHdlXG4gKiBoYXZlIHRvIHByZWZpeCBhbGwgdGhlIHN0cmluZ3MgaW4gb3VyIHNldCB3aXRoIGFuIGFyYml0cmFyeSBjaGFyYWN0ZXIuXG4gKlxuICogU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL3NvdXJjZS1tYXAvcHVsbC8zMSBhbmRcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9tb3ppbGxhL3NvdXJjZS1tYXAvaXNzdWVzLzMwXG4gKlxuICogQHBhcmFtIFN0cmluZyBhU3RyXG4gKi9cbmZ1bmN0aW9uIHRvU2V0U3RyaW5nKGFTdHIpIHtcbiAgaWYgKGlzUHJvdG9TdHJpbmcoYVN0cikpIHtcbiAgICByZXR1cm4gJyQnICsgYVN0cjtcbiAgfVxuXG4gIHJldHVybiBhU3RyO1xufVxuZXhwb3J0cy50b1NldFN0cmluZyA9IHN1cHBvcnRzTnVsbFByb3RvID8gaWRlbnRpdHkgOiB0b1NldFN0cmluZztcblxuZnVuY3Rpb24gZnJvbVNldFN0cmluZyhhU3RyKSB7XG4gIGlmIChpc1Byb3RvU3RyaW5nKGFTdHIpKSB7XG4gICAgcmV0dXJuIGFTdHIuc2xpY2UoMSk7XG4gIH1cblxuICByZXR1cm4gYVN0cjtcbn1cbmV4cG9ydHMuZnJvbVNldFN0cmluZyA9IHN1cHBvcnRzTnVsbFByb3RvID8gaWRlbnRpdHkgOiBmcm9tU2V0U3RyaW5nO1xuXG5mdW5jdGlvbiBpc1Byb3RvU3RyaW5nKHMpIHtcbiAgaWYgKCFzKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgdmFyIGxlbmd0aCA9IHMubGVuZ3RoO1xuXG4gIGlmIChsZW5ndGggPCA5IC8qIFwiX19wcm90b19fXCIubGVuZ3RoICovKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaWYgKHMuY2hhckNvZGVBdChsZW5ndGggLSAxKSAhPT0gOTUgIC8qICdfJyAqLyB8fFxuICAgICAgcy5jaGFyQ29kZUF0KGxlbmd0aCAtIDIpICE9PSA5NSAgLyogJ18nICovIHx8XG4gICAgICBzLmNoYXJDb2RlQXQobGVuZ3RoIC0gMykgIT09IDExMSAvKiAnbycgKi8gfHxcbiAgICAgIHMuY2hhckNvZGVBdChsZW5ndGggLSA0KSAhPT0gMTE2IC8qICd0JyAqLyB8fFxuICAgICAgcy5jaGFyQ29kZUF0KGxlbmd0aCAtIDUpICE9PSAxMTEgLyogJ28nICovIHx8XG4gICAgICBzLmNoYXJDb2RlQXQobGVuZ3RoIC0gNikgIT09IDExNCAvKiAncicgKi8gfHxcbiAgICAgIHMuY2hhckNvZGVBdChsZW5ndGggLSA3KSAhPT0gMTEyIC8qICdwJyAqLyB8fFxuICAgICAgcy5jaGFyQ29kZUF0KGxlbmd0aCAtIDgpICE9PSA5NSAgLyogJ18nICovIHx8XG4gICAgICBzLmNoYXJDb2RlQXQobGVuZ3RoIC0gOSkgIT09IDk1ICAvKiAnXycgKi8pIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmb3IgKHZhciBpID0gbGVuZ3RoIC0gMTA7IGkgPj0gMDsgaS0tKSB7XG4gICAgaWYgKHMuY2hhckNvZGVBdChpKSAhPT0gMzYgLyogJyQnICovKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogQ29tcGFyYXRvciBiZXR3ZWVuIHR3byBtYXBwaW5ncyB3aGVyZSB0aGUgb3JpZ2luYWwgcG9zaXRpb25zIGFyZSBjb21wYXJlZC5cbiAqXG4gKiBPcHRpb25hbGx5IHBhc3MgaW4gYHRydWVgIGFzIGBvbmx5Q29tcGFyZUdlbmVyYXRlZGAgdG8gY29uc2lkZXIgdHdvXG4gKiBtYXBwaW5ncyB3aXRoIHRoZSBzYW1lIG9yaWdpbmFsIHNvdXJjZS9saW5lL2NvbHVtbiwgYnV0IGRpZmZlcmVudCBnZW5lcmF0ZWRcbiAqIGxpbmUgYW5kIGNvbHVtbiB0aGUgc2FtZS4gVXNlZnVsIHdoZW4gc2VhcmNoaW5nIGZvciBhIG1hcHBpbmcgd2l0aCBhXG4gKiBzdHViYmVkIG91dCBtYXBwaW5nLlxuICovXG5mdW5jdGlvbiBjb21wYXJlQnlPcmlnaW5hbFBvc2l0aW9ucyhtYXBwaW5nQSwgbWFwcGluZ0IsIG9ubHlDb21wYXJlT3JpZ2luYWwpIHtcbiAgdmFyIGNtcCA9IHN0cmNtcChtYXBwaW5nQS5zb3VyY2UsIG1hcHBpbmdCLnNvdXJjZSk7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0Eub3JpZ2luYWxMaW5lIC0gbWFwcGluZ0Iub3JpZ2luYWxMaW5lO1xuICBpZiAoY21wICE9PSAwKSB7XG4gICAgcmV0dXJuIGNtcDtcbiAgfVxuXG4gIGNtcCA9IG1hcHBpbmdBLm9yaWdpbmFsQ29sdW1uIC0gbWFwcGluZ0Iub3JpZ2luYWxDb2x1bW47XG4gIGlmIChjbXAgIT09IDAgfHwgb25seUNvbXBhcmVPcmlnaW5hbCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICBjbXAgPSBtYXBwaW5nQS5nZW5lcmF0ZWRDb2x1bW4gLSBtYXBwaW5nQi5nZW5lcmF0ZWRDb2x1bW47XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0EuZ2VuZXJhdGVkTGluZSAtIG1hcHBpbmdCLmdlbmVyYXRlZExpbmU7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgcmV0dXJuIHN0cmNtcChtYXBwaW5nQS5uYW1lLCBtYXBwaW5nQi5uYW1lKTtcbn1cbmV4cG9ydHMuY29tcGFyZUJ5T3JpZ2luYWxQb3NpdGlvbnMgPSBjb21wYXJlQnlPcmlnaW5hbFBvc2l0aW9ucztcblxuLyoqXG4gKiBDb21wYXJhdG9yIGJldHdlZW4gdHdvIG1hcHBpbmdzIHdpdGggZGVmbGF0ZWQgc291cmNlIGFuZCBuYW1lIGluZGljZXMgd2hlcmVcbiAqIHRoZSBnZW5lcmF0ZWQgcG9zaXRpb25zIGFyZSBjb21wYXJlZC5cbiAqXG4gKiBPcHRpb25hbGx5IHBhc3MgaW4gYHRydWVgIGFzIGBvbmx5Q29tcGFyZUdlbmVyYXRlZGAgdG8gY29uc2lkZXIgdHdvXG4gKiBtYXBwaW5ncyB3aXRoIHRoZSBzYW1lIGdlbmVyYXRlZCBsaW5lIGFuZCBjb2x1bW4sIGJ1dCBkaWZmZXJlbnRcbiAqIHNvdXJjZS9uYW1lL29yaWdpbmFsIGxpbmUgYW5kIGNvbHVtbiB0aGUgc2FtZS4gVXNlZnVsIHdoZW4gc2VhcmNoaW5nIGZvciBhXG4gKiBtYXBwaW5nIHdpdGggYSBzdHViYmVkIG91dCBtYXBwaW5nLlxuICovXG5mdW5jdGlvbiBjb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNEZWZsYXRlZChtYXBwaW5nQSwgbWFwcGluZ0IsIG9ubHlDb21wYXJlR2VuZXJhdGVkKSB7XG4gIHZhciBjbXAgPSBtYXBwaW5nQS5nZW5lcmF0ZWRMaW5lIC0gbWFwcGluZ0IuZ2VuZXJhdGVkTGluZTtcbiAgaWYgKGNtcCAhPT0gMCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICBjbXAgPSBtYXBwaW5nQS5nZW5lcmF0ZWRDb2x1bW4gLSBtYXBwaW5nQi5nZW5lcmF0ZWRDb2x1bW47XG4gIGlmIChjbXAgIT09IDAgfHwgb25seUNvbXBhcmVHZW5lcmF0ZWQpIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gc3RyY21wKG1hcHBpbmdBLnNvdXJjZSwgbWFwcGluZ0Iuc291cmNlKTtcbiAgaWYgKGNtcCAhPT0gMCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICBjbXAgPSBtYXBwaW5nQS5vcmlnaW5hbExpbmUgLSBtYXBwaW5nQi5vcmlnaW5hbExpbmU7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0Eub3JpZ2luYWxDb2x1bW4gLSBtYXBwaW5nQi5vcmlnaW5hbENvbHVtbjtcbiAgaWYgKGNtcCAhPT0gMCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICByZXR1cm4gc3RyY21wKG1hcHBpbmdBLm5hbWUsIG1hcHBpbmdCLm5hbWUpO1xufVxuZXhwb3J0cy5jb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNEZWZsYXRlZCA9IGNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0RlZmxhdGVkO1xuXG5mdW5jdGlvbiBzdHJjbXAoYVN0cjEsIGFTdHIyKSB7XG4gIGlmIChhU3RyMSA9PT0gYVN0cjIpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuXG4gIGlmIChhU3RyMSA9PT0gbnVsbCkge1xuICAgIHJldHVybiAxOyAvLyBhU3RyMiAhPT0gbnVsbFxuICB9XG5cbiAgaWYgKGFTdHIyID09PSBudWxsKSB7XG4gICAgcmV0dXJuIC0xOyAvLyBhU3RyMSAhPT0gbnVsbFxuICB9XG5cbiAgaWYgKGFTdHIxID4gYVN0cjIpIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuXG4gIHJldHVybiAtMTtcbn1cblxuLyoqXG4gKiBDb21wYXJhdG9yIGJldHdlZW4gdHdvIG1hcHBpbmdzIHdpdGggaW5mbGF0ZWQgc291cmNlIGFuZCBuYW1lIHN0cmluZ3Mgd2hlcmVcbiAqIHRoZSBnZW5lcmF0ZWQgcG9zaXRpb25zIGFyZSBjb21wYXJlZC5cbiAqL1xuZnVuY3Rpb24gY29tcGFyZUJ5R2VuZXJhdGVkUG9zaXRpb25zSW5mbGF0ZWQobWFwcGluZ0EsIG1hcHBpbmdCKSB7XG4gIHZhciBjbXAgPSBtYXBwaW5nQS5nZW5lcmF0ZWRMaW5lIC0gbWFwcGluZ0IuZ2VuZXJhdGVkTGluZTtcbiAgaWYgKGNtcCAhPT0gMCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICBjbXAgPSBtYXBwaW5nQS5nZW5lcmF0ZWRDb2x1bW4gLSBtYXBwaW5nQi5nZW5lcmF0ZWRDb2x1bW47XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gc3RyY21wKG1hcHBpbmdBLnNvdXJjZSwgbWFwcGluZ0Iuc291cmNlKTtcbiAgaWYgKGNtcCAhPT0gMCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICBjbXAgPSBtYXBwaW5nQS5vcmlnaW5hbExpbmUgLSBtYXBwaW5nQi5vcmlnaW5hbExpbmU7XG4gIGlmIChjbXAgIT09IDApIHtcbiAgICByZXR1cm4gY21wO1xuICB9XG5cbiAgY21wID0gbWFwcGluZ0Eub3JpZ2luYWxDb2x1bW4gLSBtYXBwaW5nQi5vcmlnaW5hbENvbHVtbjtcbiAgaWYgKGNtcCAhPT0gMCkge1xuICAgIHJldHVybiBjbXA7XG4gIH1cblxuICByZXR1cm4gc3RyY21wKG1hcHBpbmdBLm5hbWUsIG1hcHBpbmdCLm5hbWUpO1xufVxuZXhwb3J0cy5jb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNJbmZsYXRlZCA9IGNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0luZmxhdGVkO1xuXG4vKipcbiAqIFN0cmlwIGFueSBKU09OIFhTU0kgYXZvaWRhbmNlIHByZWZpeCBmcm9tIHRoZSBzdHJpbmcgKGFzIGRvY3VtZW50ZWRcbiAqIGluIHRoZSBzb3VyY2UgbWFwcyBzcGVjaWZpY2F0aW9uKSwgYW5kIHRoZW4gcGFyc2UgdGhlIHN0cmluZyBhc1xuICogSlNPTi5cbiAqL1xuZnVuY3Rpb24gcGFyc2VTb3VyY2VNYXBJbnB1dChzdHIpIHtcbiAgcmV0dXJuIEpTT04ucGFyc2Uoc3RyLnJlcGxhY2UoL15cXCldfSdbXlxcbl0qXFxuLywgJycpKTtcbn1cbmV4cG9ydHMucGFyc2VTb3VyY2VNYXBJbnB1dCA9IHBhcnNlU291cmNlTWFwSW5wdXQ7XG5cbi8qKlxuICogQ29tcHV0ZSB0aGUgVVJMIG9mIGEgc291cmNlIGdpdmVuIHRoZSB0aGUgc291cmNlIHJvb3QsIHRoZSBzb3VyY2Unc1xuICogVVJMLCBhbmQgdGhlIHNvdXJjZSBtYXAncyBVUkwuXG4gKi9cbmZ1bmN0aW9uIGNvbXB1dGVTb3VyY2VVUkwoc291cmNlUm9vdCwgc291cmNlVVJMLCBzb3VyY2VNYXBVUkwpIHtcbiAgc291cmNlVVJMID0gc291cmNlVVJMIHx8ICcnO1xuXG4gIGlmIChzb3VyY2VSb290KSB7XG4gICAgLy8gVGhpcyBmb2xsb3dzIHdoYXQgQ2hyb21lIGRvZXMuXG4gICAgaWYgKHNvdXJjZVJvb3Rbc291cmNlUm9vdC5sZW5ndGggLSAxXSAhPT0gJy8nICYmIHNvdXJjZVVSTFswXSAhPT0gJy8nKSB7XG4gICAgICBzb3VyY2VSb290ICs9ICcvJztcbiAgICB9XG4gICAgLy8gVGhlIHNwZWMgc2F5czpcbiAgICAvLyAgIExpbmUgNDogQW4gb3B0aW9uYWwgc291cmNlIHJvb3QsIHVzZWZ1bCBmb3IgcmVsb2NhdGluZyBzb3VyY2VcbiAgICAvLyAgIGZpbGVzIG9uIGEgc2VydmVyIG9yIHJlbW92aW5nIHJlcGVhdGVkIHZhbHVlcyBpbiB0aGVcbiAgICAvLyAgIFx1MjAxQ3NvdXJjZXNcdTIwMUQgZW50cnkuICBUaGlzIHZhbHVlIGlzIHByZXBlbmRlZCB0byB0aGUgaW5kaXZpZHVhbFxuICAgIC8vICAgZW50cmllcyBpbiB0aGUgXHUyMDFDc291cmNlXHUyMDFEIGZpZWxkLlxuICAgIHNvdXJjZVVSTCA9IHNvdXJjZVJvb3QgKyBzb3VyY2VVUkw7XG4gIH1cblxuICAvLyBIaXN0b3JpY2FsbHksIFNvdXJjZU1hcENvbnN1bWVyIGRpZCBub3QgdGFrZSB0aGUgc291cmNlTWFwVVJMIGFzXG4gIC8vIGEgcGFyYW1ldGVyLiAgVGhpcyBtb2RlIGlzIHN0aWxsIHNvbWV3aGF0IHN1cHBvcnRlZCwgd2hpY2ggaXMgd2h5XG4gIC8vIHRoaXMgY29kZSBibG9jayBpcyBjb25kaXRpb25hbC4gIEhvd2V2ZXIsIGl0J3MgcHJlZmVyYWJsZSB0byBwYXNzXG4gIC8vIHRoZSBzb3VyY2UgbWFwIFVSTCB0byBTb3VyY2VNYXBDb25zdW1lciwgc28gdGhhdCB0aGlzIGZ1bmN0aW9uXG4gIC8vIGNhbiBpbXBsZW1lbnQgdGhlIHNvdXJjZSBVUkwgcmVzb2x1dGlvbiBhbGdvcml0aG0gYXMgb3V0bGluZWQgaW5cbiAgLy8gdGhlIHNwZWMuICBUaGlzIGJsb2NrIGlzIGJhc2ljYWxseSB0aGUgZXF1aXZhbGVudCBvZjpcbiAgLy8gICAgbmV3IFVSTChzb3VyY2VVUkwsIHNvdXJjZU1hcFVSTCkudG9TdHJpbmcoKVxuICAvLyAuLi4gZXhjZXB0IGl0IGF2b2lkcyB1c2luZyBVUkwsIHdoaWNoIHdhc24ndCBhdmFpbGFibGUgaW4gdGhlXG4gIC8vIG9sZGVyIHJlbGVhc2VzIG9mIG5vZGUgc3RpbGwgc3VwcG9ydGVkIGJ5IHRoaXMgbGlicmFyeS5cbiAgLy9cbiAgLy8gVGhlIHNwZWMgc2F5czpcbiAgLy8gICBJZiB0aGUgc291cmNlcyBhcmUgbm90IGFic29sdXRlIFVSTHMgYWZ0ZXIgcHJlcGVuZGluZyBvZiB0aGVcbiAgLy8gICBcdTIwMUNzb3VyY2VSb290XHUyMDFELCB0aGUgc291cmNlcyBhcmUgcmVzb2x2ZWQgcmVsYXRpdmUgdG8gdGhlXG4gIC8vICAgU291cmNlTWFwIChsaWtlIHJlc29sdmluZyBzY3JpcHQgc3JjIGluIGEgaHRtbCBkb2N1bWVudCkuXG4gIGlmIChzb3VyY2VNYXBVUkwpIHtcbiAgICB2YXIgcGFyc2VkID0gdXJsUGFyc2Uoc291cmNlTWFwVVJMKTtcbiAgICBpZiAoIXBhcnNlZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwic291cmNlTWFwVVJMIGNvdWxkIG5vdCBiZSBwYXJzZWRcIik7XG4gICAgfVxuICAgIGlmIChwYXJzZWQucGF0aCkge1xuICAgICAgLy8gU3RyaXAgdGhlIGxhc3QgcGF0aCBjb21wb25lbnQsIGJ1dCBrZWVwIHRoZSBcIi9cIi5cbiAgICAgIHZhciBpbmRleCA9IHBhcnNlZC5wYXRoLmxhc3RJbmRleE9mKCcvJyk7XG4gICAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgICBwYXJzZWQucGF0aCA9IHBhcnNlZC5wYXRoLnN1YnN0cmluZygwLCBpbmRleCArIDEpO1xuICAgICAgfVxuICAgIH1cbiAgICBzb3VyY2VVUkwgPSBqb2luKHVybEdlbmVyYXRlKHBhcnNlZCksIHNvdXJjZVVSTCk7XG4gIH1cblxuICByZXR1cm4gbm9ybWFsaXplKHNvdXJjZVVSTCk7XG59XG5leHBvcnRzLmNvbXB1dGVTb3VyY2VVUkwgPSBjb21wdXRlU291cmNlVVJMO1xuIiwgIi8qIC0qLSBNb2RlOiBqczsganMtaW5kZW50LWxldmVsOiAyOyAtKi0gKi9cbi8qXG4gKiBDb3B5cmlnaHQgMjAxMSBNb3ppbGxhIEZvdW5kYXRpb24gYW5kIGNvbnRyaWJ1dG9yc1xuICogTGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgbGljZW5zZS4gU2VlIExJQ0VOU0Ugb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKi9cblxudmFyIHV0aWwgPSByZXF1aXJlKCcuL3V0aWwnKTtcbnZhciBoYXMgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIGhhc05hdGl2ZU1hcCA9IHR5cGVvZiBNYXAgIT09IFwidW5kZWZpbmVkXCI7XG5cbi8qKlxuICogQSBkYXRhIHN0cnVjdHVyZSB3aGljaCBpcyBhIGNvbWJpbmF0aW9uIG9mIGFuIGFycmF5IGFuZCBhIHNldC4gQWRkaW5nIGEgbmV3XG4gKiBtZW1iZXIgaXMgTygxKSwgdGVzdGluZyBmb3IgbWVtYmVyc2hpcCBpcyBPKDEpLCBhbmQgZmluZGluZyB0aGUgaW5kZXggb2YgYW5cbiAqIGVsZW1lbnQgaXMgTygxKS4gUmVtb3ZpbmcgZWxlbWVudHMgZnJvbSB0aGUgc2V0IGlzIG5vdCBzdXBwb3J0ZWQuIE9ubHlcbiAqIHN0cmluZ3MgYXJlIHN1cHBvcnRlZCBmb3IgbWVtYmVyc2hpcC5cbiAqL1xuZnVuY3Rpb24gQXJyYXlTZXQoKSB7XG4gIHRoaXMuX2FycmF5ID0gW107XG4gIHRoaXMuX3NldCA9IGhhc05hdGl2ZU1hcCA/IG5ldyBNYXAoKSA6IE9iamVjdC5jcmVhdGUobnVsbCk7XG59XG5cbi8qKlxuICogU3RhdGljIG1ldGhvZCBmb3IgY3JlYXRpbmcgQXJyYXlTZXQgaW5zdGFuY2VzIGZyb20gYW4gZXhpc3RpbmcgYXJyYXkuXG4gKi9cbkFycmF5U2V0LmZyb21BcnJheSA9IGZ1bmN0aW9uIEFycmF5U2V0X2Zyb21BcnJheShhQXJyYXksIGFBbGxvd0R1cGxpY2F0ZXMpIHtcbiAgdmFyIHNldCA9IG5ldyBBcnJheVNldCgpO1xuICBmb3IgKHZhciBpID0gMCwgbGVuID0gYUFycmF5Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgc2V0LmFkZChhQXJyYXlbaV0sIGFBbGxvd0R1cGxpY2F0ZXMpO1xuICB9XG4gIHJldHVybiBzZXQ7XG59O1xuXG4vKipcbiAqIFJldHVybiBob3cgbWFueSB1bmlxdWUgaXRlbXMgYXJlIGluIHRoaXMgQXJyYXlTZXQuIElmIGR1cGxpY2F0ZXMgaGF2ZSBiZWVuXG4gKiBhZGRlZCwgdGhhbiB0aG9zZSBkbyBub3QgY291bnQgdG93YXJkcyB0aGUgc2l6ZS5cbiAqXG4gKiBAcmV0dXJucyBOdW1iZXJcbiAqL1xuQXJyYXlTZXQucHJvdG90eXBlLnNpemUgPSBmdW5jdGlvbiBBcnJheVNldF9zaXplKCkge1xuICByZXR1cm4gaGFzTmF0aXZlTWFwID8gdGhpcy5fc2V0LnNpemUgOiBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyh0aGlzLl9zZXQpLmxlbmd0aDtcbn07XG5cbi8qKlxuICogQWRkIHRoZSBnaXZlbiBzdHJpbmcgdG8gdGhpcyBzZXQuXG4gKlxuICogQHBhcmFtIFN0cmluZyBhU3RyXG4gKi9cbkFycmF5U2V0LnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBBcnJheVNldF9hZGQoYVN0ciwgYUFsbG93RHVwbGljYXRlcykge1xuICB2YXIgc1N0ciA9IGhhc05hdGl2ZU1hcCA/IGFTdHIgOiB1dGlsLnRvU2V0U3RyaW5nKGFTdHIpO1xuICB2YXIgaXNEdXBsaWNhdGUgPSBoYXNOYXRpdmVNYXAgPyB0aGlzLmhhcyhhU3RyKSA6IGhhcy5jYWxsKHRoaXMuX3NldCwgc1N0cik7XG4gIHZhciBpZHggPSB0aGlzLl9hcnJheS5sZW5ndGg7XG4gIGlmICghaXNEdXBsaWNhdGUgfHwgYUFsbG93RHVwbGljYXRlcykge1xuICAgIHRoaXMuX2FycmF5LnB1c2goYVN0cik7XG4gIH1cbiAgaWYgKCFpc0R1cGxpY2F0ZSkge1xuICAgIGlmIChoYXNOYXRpdmVNYXApIHtcbiAgICAgIHRoaXMuX3NldC5zZXQoYVN0ciwgaWR4KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fc2V0W3NTdHJdID0gaWR4O1xuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBJcyB0aGUgZ2l2ZW4gc3RyaW5nIGEgbWVtYmVyIG9mIHRoaXMgc2V0P1xuICpcbiAqIEBwYXJhbSBTdHJpbmcgYVN0clxuICovXG5BcnJheVNldC5wcm90b3R5cGUuaGFzID0gZnVuY3Rpb24gQXJyYXlTZXRfaGFzKGFTdHIpIHtcbiAgaWYgKGhhc05hdGl2ZU1hcCkge1xuICAgIHJldHVybiB0aGlzLl9zZXQuaGFzKGFTdHIpO1xuICB9IGVsc2Uge1xuICAgIHZhciBzU3RyID0gdXRpbC50b1NldFN0cmluZyhhU3RyKTtcbiAgICByZXR1cm4gaGFzLmNhbGwodGhpcy5fc2V0LCBzU3RyKTtcbiAgfVxufTtcblxuLyoqXG4gKiBXaGF0IGlzIHRoZSBpbmRleCBvZiB0aGUgZ2l2ZW4gc3RyaW5nIGluIHRoZSBhcnJheT9cbiAqXG4gKiBAcGFyYW0gU3RyaW5nIGFTdHJcbiAqL1xuQXJyYXlTZXQucHJvdG90eXBlLmluZGV4T2YgPSBmdW5jdGlvbiBBcnJheVNldF9pbmRleE9mKGFTdHIpIHtcbiAgaWYgKGhhc05hdGl2ZU1hcCkge1xuICAgIHZhciBpZHggPSB0aGlzLl9zZXQuZ2V0KGFTdHIpO1xuICAgIGlmIChpZHggPj0gMCkge1xuICAgICAgICByZXR1cm4gaWR4O1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB2YXIgc1N0ciA9IHV0aWwudG9TZXRTdHJpbmcoYVN0cik7XG4gICAgaWYgKGhhcy5jYWxsKHRoaXMuX3NldCwgc1N0cikpIHtcbiAgICAgIHJldHVybiB0aGlzLl9zZXRbc1N0cl07XG4gICAgfVxuICB9XG5cbiAgdGhyb3cgbmV3IEVycm9yKCdcIicgKyBhU3RyICsgJ1wiIGlzIG5vdCBpbiB0aGUgc2V0LicpO1xufTtcblxuLyoqXG4gKiBXaGF0IGlzIHRoZSBlbGVtZW50IGF0IHRoZSBnaXZlbiBpbmRleD9cbiAqXG4gKiBAcGFyYW0gTnVtYmVyIGFJZHhcbiAqL1xuQXJyYXlTZXQucHJvdG90eXBlLmF0ID0gZnVuY3Rpb24gQXJyYXlTZXRfYXQoYUlkeCkge1xuICBpZiAoYUlkeCA+PSAwICYmIGFJZHggPCB0aGlzLl9hcnJheS5sZW5ndGgpIHtcbiAgICByZXR1cm4gdGhpcy5fYXJyYXlbYUlkeF07XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdObyBlbGVtZW50IGluZGV4ZWQgYnkgJyArIGFJZHgpO1xufTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBhcnJheSByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHNldCAod2hpY2ggaGFzIHRoZSBwcm9wZXIgaW5kaWNlc1xuICogaW5kaWNhdGVkIGJ5IGluZGV4T2YpLiBOb3RlIHRoYXQgdGhpcyBpcyBhIGNvcHkgb2YgdGhlIGludGVybmFsIGFycmF5IHVzZWRcbiAqIGZvciBzdG9yaW5nIHRoZSBtZW1iZXJzIHNvIHRoYXQgbm8gb25lIGNhbiBtZXNzIHdpdGggaW50ZXJuYWwgc3RhdGUuXG4gKi9cbkFycmF5U2V0LnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24gQXJyYXlTZXRfdG9BcnJheSgpIHtcbiAgcmV0dXJuIHRoaXMuX2FycmF5LnNsaWNlKCk7XG59O1xuXG5leHBvcnRzLkFycmF5U2V0ID0gQXJyYXlTZXQ7XG4iLCAiLyogLSotIE1vZGU6IGpzOyBqcy1pbmRlbnQtbGV2ZWw6IDI7IC0qLSAqL1xuLypcbiAqIENvcHlyaWdodCAyMDE0IE1vemlsbGEgRm91bmRhdGlvbiBhbmQgY29udHJpYnV0b3JzXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBsaWNlbnNlLiBTZWUgTElDRU5TRSBvcjpcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2VcbiAqL1xuXG52YXIgdXRpbCA9IHJlcXVpcmUoJy4vdXRpbCcpO1xuXG4vKipcbiAqIERldGVybWluZSB3aGV0aGVyIG1hcHBpbmdCIGlzIGFmdGVyIG1hcHBpbmdBIHdpdGggcmVzcGVjdCB0byBnZW5lcmF0ZWRcbiAqIHBvc2l0aW9uLlxuICovXG5mdW5jdGlvbiBnZW5lcmF0ZWRQb3NpdGlvbkFmdGVyKG1hcHBpbmdBLCBtYXBwaW5nQikge1xuICAvLyBPcHRpbWl6ZWQgZm9yIG1vc3QgY29tbW9uIGNhc2VcbiAgdmFyIGxpbmVBID0gbWFwcGluZ0EuZ2VuZXJhdGVkTGluZTtcbiAgdmFyIGxpbmVCID0gbWFwcGluZ0IuZ2VuZXJhdGVkTGluZTtcbiAgdmFyIGNvbHVtbkEgPSBtYXBwaW5nQS5nZW5lcmF0ZWRDb2x1bW47XG4gIHZhciBjb2x1bW5CID0gbWFwcGluZ0IuZ2VuZXJhdGVkQ29sdW1uO1xuICByZXR1cm4gbGluZUIgPiBsaW5lQSB8fCBsaW5lQiA9PSBsaW5lQSAmJiBjb2x1bW5CID49IGNvbHVtbkEgfHxcbiAgICAgICAgIHV0aWwuY29tcGFyZUJ5R2VuZXJhdGVkUG9zaXRpb25zSW5mbGF0ZWQobWFwcGluZ0EsIG1hcHBpbmdCKSA8PSAwO1xufVxuXG4vKipcbiAqIEEgZGF0YSBzdHJ1Y3R1cmUgdG8gcHJvdmlkZSBhIHNvcnRlZCB2aWV3IG9mIGFjY3VtdWxhdGVkIG1hcHBpbmdzIGluIGFcbiAqIHBlcmZvcm1hbmNlIGNvbnNjaW91cyBtYW5uZXIuIEl0IHRyYWRlcyBhIG5lZ2xpYmFibGUgb3ZlcmhlYWQgaW4gZ2VuZXJhbFxuICogY2FzZSBmb3IgYSBsYXJnZSBzcGVlZHVwIGluIGNhc2Ugb2YgbWFwcGluZ3MgYmVpbmcgYWRkZWQgaW4gb3JkZXIuXG4gKi9cbmZ1bmN0aW9uIE1hcHBpbmdMaXN0KCkge1xuICB0aGlzLl9hcnJheSA9IFtdO1xuICB0aGlzLl9zb3J0ZWQgPSB0cnVlO1xuICAvLyBTZXJ2ZXMgYXMgaW5maW11bVxuICB0aGlzLl9sYXN0ID0ge2dlbmVyYXRlZExpbmU6IC0xLCBnZW5lcmF0ZWRDb2x1bW46IDB9O1xufVxuXG4vKipcbiAqIEl0ZXJhdGUgdGhyb3VnaCBpbnRlcm5hbCBpdGVtcy4gVGhpcyBtZXRob2QgdGFrZXMgdGhlIHNhbWUgYXJndW1lbnRzIHRoYXRcbiAqIGBBcnJheS5wcm90b3R5cGUuZm9yRWFjaGAgdGFrZXMuXG4gKlxuICogTk9URTogVGhlIG9yZGVyIG9mIHRoZSBtYXBwaW5ncyBpcyBOT1QgZ3VhcmFudGVlZC5cbiAqL1xuTWFwcGluZ0xpc3QucHJvdG90eXBlLnVuc29ydGVkRm9yRWFjaCA9XG4gIGZ1bmN0aW9uIE1hcHBpbmdMaXN0X2ZvckVhY2goYUNhbGxiYWNrLCBhVGhpc0FyZykge1xuICAgIHRoaXMuX2FycmF5LmZvckVhY2goYUNhbGxiYWNrLCBhVGhpc0FyZyk7XG4gIH07XG5cbi8qKlxuICogQWRkIHRoZSBnaXZlbiBzb3VyY2UgbWFwcGluZy5cbiAqXG4gKiBAcGFyYW0gT2JqZWN0IGFNYXBwaW5nXG4gKi9cbk1hcHBpbmdMaXN0LnByb3RvdHlwZS5hZGQgPSBmdW5jdGlvbiBNYXBwaW5nTGlzdF9hZGQoYU1hcHBpbmcpIHtcbiAgaWYgKGdlbmVyYXRlZFBvc2l0aW9uQWZ0ZXIodGhpcy5fbGFzdCwgYU1hcHBpbmcpKSB7XG4gICAgdGhpcy5fbGFzdCA9IGFNYXBwaW5nO1xuICAgIHRoaXMuX2FycmF5LnB1c2goYU1hcHBpbmcpO1xuICB9IGVsc2Uge1xuICAgIHRoaXMuX3NvcnRlZCA9IGZhbHNlO1xuICAgIHRoaXMuX2FycmF5LnB1c2goYU1hcHBpbmcpO1xuICB9XG59O1xuXG4vKipcbiAqIFJldHVybnMgdGhlIGZsYXQsIHNvcnRlZCBhcnJheSBvZiBtYXBwaW5ncy4gVGhlIG1hcHBpbmdzIGFyZSBzb3J0ZWQgYnlcbiAqIGdlbmVyYXRlZCBwb3NpdGlvbi5cbiAqXG4gKiBXQVJOSU5HOiBUaGlzIG1ldGhvZCByZXR1cm5zIGludGVybmFsIGRhdGEgd2l0aG91dCBjb3B5aW5nLCBmb3JcbiAqIHBlcmZvcm1hbmNlLiBUaGUgcmV0dXJuIHZhbHVlIG11c3QgTk9UIGJlIG11dGF0ZWQsIGFuZCBzaG91bGQgYmUgdHJlYXRlZCBhc1xuICogYW4gaW1tdXRhYmxlIGJvcnJvdy4gSWYgeW91IHdhbnQgdG8gdGFrZSBvd25lcnNoaXAsIHlvdSBtdXN0IG1ha2UgeW91ciBvd25cbiAqIGNvcHkuXG4gKi9cbk1hcHBpbmdMaXN0LnByb3RvdHlwZS50b0FycmF5ID0gZnVuY3Rpb24gTWFwcGluZ0xpc3RfdG9BcnJheSgpIHtcbiAgaWYgKCF0aGlzLl9zb3J0ZWQpIHtcbiAgICB0aGlzLl9hcnJheS5zb3J0KHV0aWwuY29tcGFyZUJ5R2VuZXJhdGVkUG9zaXRpb25zSW5mbGF0ZWQpO1xuICAgIHRoaXMuX3NvcnRlZCA9IHRydWU7XG4gIH1cbiAgcmV0dXJuIHRoaXMuX2FycmF5O1xufTtcblxuZXhwb3J0cy5NYXBwaW5nTGlzdCA9IE1hcHBpbmdMaXN0O1xuIiwgIi8qIC0qLSBNb2RlOiBqczsganMtaW5kZW50LWxldmVsOiAyOyAtKi0gKi9cbi8qXG4gKiBDb3B5cmlnaHQgMjAxMSBNb3ppbGxhIEZvdW5kYXRpb24gYW5kIGNvbnRyaWJ1dG9yc1xuICogTGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgbGljZW5zZS4gU2VlIExJQ0VOU0Ugb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKi9cblxudmFyIGJhc2U2NFZMUSA9IHJlcXVpcmUoJy4vYmFzZTY0LXZscScpO1xudmFyIHV0aWwgPSByZXF1aXJlKCcuL3V0aWwnKTtcbnZhciBBcnJheVNldCA9IHJlcXVpcmUoJy4vYXJyYXktc2V0JykuQXJyYXlTZXQ7XG52YXIgTWFwcGluZ0xpc3QgPSByZXF1aXJlKCcuL21hcHBpbmctbGlzdCcpLk1hcHBpbmdMaXN0O1xuXG4vKipcbiAqIEFuIGluc3RhbmNlIG9mIHRoZSBTb3VyY2VNYXBHZW5lcmF0b3IgcmVwcmVzZW50cyBhIHNvdXJjZSBtYXAgd2hpY2ggaXNcbiAqIGJlaW5nIGJ1aWx0IGluY3JlbWVudGFsbHkuIFlvdSBtYXkgcGFzcyBhbiBvYmplY3Qgd2l0aCB0aGUgZm9sbG93aW5nXG4gKiBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBmaWxlOiBUaGUgZmlsZW5hbWUgb2YgdGhlIGdlbmVyYXRlZCBzb3VyY2UuXG4gKiAgIC0gc291cmNlUm9vdDogQSByb290IGZvciBhbGwgcmVsYXRpdmUgVVJMcyBpbiB0aGlzIHNvdXJjZSBtYXAuXG4gKi9cbmZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcihhQXJncykge1xuICBpZiAoIWFBcmdzKSB7XG4gICAgYUFyZ3MgPSB7fTtcbiAgfVxuICB0aGlzLl9maWxlID0gdXRpbC5nZXRBcmcoYUFyZ3MsICdmaWxlJywgbnVsbCk7XG4gIHRoaXMuX3NvdXJjZVJvb3QgPSB1dGlsLmdldEFyZyhhQXJncywgJ3NvdXJjZVJvb3QnLCBudWxsKTtcbiAgdGhpcy5fc2tpcFZhbGlkYXRpb24gPSB1dGlsLmdldEFyZyhhQXJncywgJ3NraXBWYWxpZGF0aW9uJywgZmFsc2UpO1xuICB0aGlzLl9zb3VyY2VzID0gbmV3IEFycmF5U2V0KCk7XG4gIHRoaXMuX25hbWVzID0gbmV3IEFycmF5U2V0KCk7XG4gIHRoaXMuX21hcHBpbmdzID0gbmV3IE1hcHBpbmdMaXN0KCk7XG4gIHRoaXMuX3NvdXJjZXNDb250ZW50cyA9IG51bGw7XG59XG5cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuX3ZlcnNpb24gPSAzO1xuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgU291cmNlTWFwR2VuZXJhdG9yIGJhc2VkIG9uIGEgU291cmNlTWFwQ29uc3VtZXJcbiAqXG4gKiBAcGFyYW0gYVNvdXJjZU1hcENvbnN1bWVyIFRoZSBTb3VyY2VNYXAuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5mcm9tU291cmNlTWFwID1cbiAgZnVuY3Rpb24gU291cmNlTWFwR2VuZXJhdG9yX2Zyb21Tb3VyY2VNYXAoYVNvdXJjZU1hcENvbnN1bWVyKSB7XG4gICAgdmFyIHNvdXJjZVJvb3QgPSBhU291cmNlTWFwQ29uc3VtZXIuc291cmNlUm9vdDtcbiAgICB2YXIgZ2VuZXJhdG9yID0gbmV3IFNvdXJjZU1hcEdlbmVyYXRvcih7XG4gICAgICBmaWxlOiBhU291cmNlTWFwQ29uc3VtZXIuZmlsZSxcbiAgICAgIHNvdXJjZVJvb3Q6IHNvdXJjZVJvb3RcbiAgICB9KTtcbiAgICBhU291cmNlTWFwQ29uc3VtZXIuZWFjaE1hcHBpbmcoZnVuY3Rpb24gKG1hcHBpbmcpIHtcbiAgICAgIHZhciBuZXdNYXBwaW5nID0ge1xuICAgICAgICBnZW5lcmF0ZWQ6IHtcbiAgICAgICAgICBsaW5lOiBtYXBwaW5nLmdlbmVyYXRlZExpbmUsXG4gICAgICAgICAgY29sdW1uOiBtYXBwaW5nLmdlbmVyYXRlZENvbHVtblxuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBpZiAobWFwcGluZy5zb3VyY2UgIT0gbnVsbCkge1xuICAgICAgICBuZXdNYXBwaW5nLnNvdXJjZSA9IG1hcHBpbmcuc291cmNlO1xuICAgICAgICBpZiAoc291cmNlUm9vdCAhPSBudWxsKSB7XG4gICAgICAgICAgbmV3TWFwcGluZy5zb3VyY2UgPSB1dGlsLnJlbGF0aXZlKHNvdXJjZVJvb3QsIG5ld01hcHBpbmcuc291cmNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG5ld01hcHBpbmcub3JpZ2luYWwgPSB7XG4gICAgICAgICAgbGluZTogbWFwcGluZy5vcmlnaW5hbExpbmUsXG4gICAgICAgICAgY29sdW1uOiBtYXBwaW5nLm9yaWdpbmFsQ29sdW1uXG4gICAgICAgIH07XG5cbiAgICAgICAgaWYgKG1hcHBpbmcubmFtZSAhPSBudWxsKSB7XG4gICAgICAgICAgbmV3TWFwcGluZy5uYW1lID0gbWFwcGluZy5uYW1lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGdlbmVyYXRvci5hZGRNYXBwaW5nKG5ld01hcHBpbmcpO1xuICAgIH0pO1xuICAgIGFTb3VyY2VNYXBDb25zdW1lci5zb3VyY2VzLmZvckVhY2goZnVuY3Rpb24gKHNvdXJjZUZpbGUpIHtcbiAgICAgIHZhciBzb3VyY2VSZWxhdGl2ZSA9IHNvdXJjZUZpbGU7XG4gICAgICBpZiAoc291cmNlUm9vdCAhPT0gbnVsbCkge1xuICAgICAgICBzb3VyY2VSZWxhdGl2ZSA9IHV0aWwucmVsYXRpdmUoc291cmNlUm9vdCwgc291cmNlRmlsZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICghZ2VuZXJhdG9yLl9zb3VyY2VzLmhhcyhzb3VyY2VSZWxhdGl2ZSkpIHtcbiAgICAgICAgZ2VuZXJhdG9yLl9zb3VyY2VzLmFkZChzb3VyY2VSZWxhdGl2ZSk7XG4gICAgICB9XG5cbiAgICAgIHZhciBjb250ZW50ID0gYVNvdXJjZU1hcENvbnN1bWVyLnNvdXJjZUNvbnRlbnRGb3Ioc291cmNlRmlsZSk7XG4gICAgICBpZiAoY29udGVudCAhPSBudWxsKSB7XG4gICAgICAgIGdlbmVyYXRvci5zZXRTb3VyY2VDb250ZW50KHNvdXJjZUZpbGUsIGNvbnRlbnQpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBnZW5lcmF0b3I7XG4gIH07XG5cbi8qKlxuICogQWRkIGEgc2luZ2xlIG1hcHBpbmcgZnJvbSBvcmlnaW5hbCBzb3VyY2UgbGluZSBhbmQgY29sdW1uIHRvIHRoZSBnZW5lcmF0ZWRcbiAqIHNvdXJjZSdzIGxpbmUgYW5kIGNvbHVtbiBmb3IgdGhpcyBzb3VyY2UgbWFwIGJlaW5nIGNyZWF0ZWQuIFRoZSBtYXBwaW5nXG4gKiBvYmplY3Qgc2hvdWxkIGhhdmUgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBnZW5lcmF0ZWQ6IEFuIG9iamVjdCB3aXRoIHRoZSBnZW5lcmF0ZWQgbGluZSBhbmQgY29sdW1uIHBvc2l0aW9ucy5cbiAqICAgLSBvcmlnaW5hbDogQW4gb2JqZWN0IHdpdGggdGhlIG9yaWdpbmFsIGxpbmUgYW5kIGNvbHVtbiBwb3NpdGlvbnMuXG4gKiAgIC0gc291cmNlOiBUaGUgb3JpZ2luYWwgc291cmNlIGZpbGUgKHJlbGF0aXZlIHRvIHRoZSBzb3VyY2VSb290KS5cbiAqICAgLSBuYW1lOiBBbiBvcHRpb25hbCBvcmlnaW5hbCB0b2tlbiBuYW1lIGZvciB0aGlzIG1hcHBpbmcuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuYWRkTWFwcGluZyA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcl9hZGRNYXBwaW5nKGFBcmdzKSB7XG4gICAgdmFyIGdlbmVyYXRlZCA9IHV0aWwuZ2V0QXJnKGFBcmdzLCAnZ2VuZXJhdGVkJyk7XG4gICAgdmFyIG9yaWdpbmFsID0gdXRpbC5nZXRBcmcoYUFyZ3MsICdvcmlnaW5hbCcsIG51bGwpO1xuICAgIHZhciBzb3VyY2UgPSB1dGlsLmdldEFyZyhhQXJncywgJ3NvdXJjZScsIG51bGwpO1xuICAgIHZhciBuYW1lID0gdXRpbC5nZXRBcmcoYUFyZ3MsICduYW1lJywgbnVsbCk7XG5cbiAgICBpZiAoIXRoaXMuX3NraXBWYWxpZGF0aW9uKSB7XG4gICAgICB0aGlzLl92YWxpZGF0ZU1hcHBpbmcoZ2VuZXJhdGVkLCBvcmlnaW5hbCwgc291cmNlLCBuYW1lKTtcbiAgICB9XG5cbiAgICBpZiAoc291cmNlICE9IG51bGwpIHtcbiAgICAgIHNvdXJjZSA9IFN0cmluZyhzb3VyY2UpO1xuICAgICAgaWYgKCF0aGlzLl9zb3VyY2VzLmhhcyhzb3VyY2UpKSB7XG4gICAgICAgIHRoaXMuX3NvdXJjZXMuYWRkKHNvdXJjZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKG5hbWUgIT0gbnVsbCkge1xuICAgICAgbmFtZSA9IFN0cmluZyhuYW1lKTtcbiAgICAgIGlmICghdGhpcy5fbmFtZXMuaGFzKG5hbWUpKSB7XG4gICAgICAgIHRoaXMuX25hbWVzLmFkZChuYW1lKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLl9tYXBwaW5ncy5hZGQoe1xuICAgICAgZ2VuZXJhdGVkTGluZTogZ2VuZXJhdGVkLmxpbmUsXG4gICAgICBnZW5lcmF0ZWRDb2x1bW46IGdlbmVyYXRlZC5jb2x1bW4sXG4gICAgICBvcmlnaW5hbExpbmU6IG9yaWdpbmFsICE9IG51bGwgJiYgb3JpZ2luYWwubGluZSxcbiAgICAgIG9yaWdpbmFsQ29sdW1uOiBvcmlnaW5hbCAhPSBudWxsICYmIG9yaWdpbmFsLmNvbHVtbixcbiAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgbmFtZTogbmFtZVxuICAgIH0pO1xuICB9O1xuXG4vKipcbiAqIFNldCB0aGUgc291cmNlIGNvbnRlbnQgZm9yIGEgc291cmNlIGZpbGUuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuc2V0U291cmNlQ29udGVudCA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcl9zZXRTb3VyY2VDb250ZW50KGFTb3VyY2VGaWxlLCBhU291cmNlQ29udGVudCkge1xuICAgIHZhciBzb3VyY2UgPSBhU291cmNlRmlsZTtcbiAgICBpZiAodGhpcy5fc291cmNlUm9vdCAhPSBudWxsKSB7XG4gICAgICBzb3VyY2UgPSB1dGlsLnJlbGF0aXZlKHRoaXMuX3NvdXJjZVJvb3QsIHNvdXJjZSk7XG4gICAgfVxuXG4gICAgaWYgKGFTb3VyY2VDb250ZW50ICE9IG51bGwpIHtcbiAgICAgIC8vIEFkZCB0aGUgc291cmNlIGNvbnRlbnQgdG8gdGhlIF9zb3VyY2VzQ29udGVudHMgbWFwLlxuICAgICAgLy8gQ3JlYXRlIGEgbmV3IF9zb3VyY2VzQ29udGVudHMgbWFwIGlmIHRoZSBwcm9wZXJ0eSBpcyBudWxsLlxuICAgICAgaWYgKCF0aGlzLl9zb3VyY2VzQ29udGVudHMpIHtcbiAgICAgICAgdGhpcy5fc291cmNlc0NvbnRlbnRzID0gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3NvdXJjZXNDb250ZW50c1t1dGlsLnRvU2V0U3RyaW5nKHNvdXJjZSldID0gYVNvdXJjZUNvbnRlbnQ7XG4gICAgfSBlbHNlIGlmICh0aGlzLl9zb3VyY2VzQ29udGVudHMpIHtcbiAgICAgIC8vIFJlbW92ZSB0aGUgc291cmNlIGZpbGUgZnJvbSB0aGUgX3NvdXJjZXNDb250ZW50cyBtYXAuXG4gICAgICAvLyBJZiB0aGUgX3NvdXJjZXNDb250ZW50cyBtYXAgaXMgZW1wdHksIHNldCB0aGUgcHJvcGVydHkgdG8gbnVsbC5cbiAgICAgIGRlbGV0ZSB0aGlzLl9zb3VyY2VzQ29udGVudHNbdXRpbC50b1NldFN0cmluZyhzb3VyY2UpXTtcbiAgICAgIGlmIChPYmplY3Qua2V5cyh0aGlzLl9zb3VyY2VzQ29udGVudHMpLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICB0aGlzLl9zb3VyY2VzQ29udGVudHMgPSBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuLyoqXG4gKiBBcHBsaWVzIHRoZSBtYXBwaW5ncyBvZiBhIHN1Yi1zb3VyY2UtbWFwIGZvciBhIHNwZWNpZmljIHNvdXJjZSBmaWxlIHRvIHRoZVxuICogc291cmNlIG1hcCBiZWluZyBnZW5lcmF0ZWQuIEVhY2ggbWFwcGluZyB0byB0aGUgc3VwcGxpZWQgc291cmNlIGZpbGUgaXNcbiAqIHJld3JpdHRlbiB1c2luZyB0aGUgc3VwcGxpZWQgc291cmNlIG1hcC4gTm90ZTogVGhlIHJlc29sdXRpb24gZm9yIHRoZVxuICogcmVzdWx0aW5nIG1hcHBpbmdzIGlzIHRoZSBtaW5pbWl1bSBvZiB0aGlzIG1hcCBhbmQgdGhlIHN1cHBsaWVkIG1hcC5cbiAqXG4gKiBAcGFyYW0gYVNvdXJjZU1hcENvbnN1bWVyIFRoZSBzb3VyY2UgbWFwIHRvIGJlIGFwcGxpZWQuXG4gKiBAcGFyYW0gYVNvdXJjZUZpbGUgT3B0aW9uYWwuIFRoZSBmaWxlbmFtZSBvZiB0aGUgc291cmNlIGZpbGUuXG4gKiAgICAgICAgSWYgb21pdHRlZCwgU291cmNlTWFwQ29uc3VtZXIncyBmaWxlIHByb3BlcnR5IHdpbGwgYmUgdXNlZC5cbiAqIEBwYXJhbSBhU291cmNlTWFwUGF0aCBPcHRpb25hbC4gVGhlIGRpcm5hbWUgb2YgdGhlIHBhdGggdG8gdGhlIHNvdXJjZSBtYXBcbiAqICAgICAgICB0byBiZSBhcHBsaWVkLiBJZiByZWxhdGl2ZSwgaXQgaXMgcmVsYXRpdmUgdG8gdGhlIFNvdXJjZU1hcENvbnN1bWVyLlxuICogICAgICAgIFRoaXMgcGFyYW1ldGVyIGlzIG5lZWRlZCB3aGVuIHRoZSB0d28gc291cmNlIG1hcHMgYXJlbid0IGluIHRoZSBzYW1lXG4gKiAgICAgICAgZGlyZWN0b3J5LCBhbmQgdGhlIHNvdXJjZSBtYXAgdG8gYmUgYXBwbGllZCBjb250YWlucyByZWxhdGl2ZSBzb3VyY2VcbiAqICAgICAgICBwYXRocy4gSWYgc28sIHRob3NlIHJlbGF0aXZlIHNvdXJjZSBwYXRocyBuZWVkIHRvIGJlIHJld3JpdHRlblxuICogICAgICAgIHJlbGF0aXZlIHRvIHRoZSBTb3VyY2VNYXBHZW5lcmF0b3IuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuYXBwbHlTb3VyY2VNYXAgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBHZW5lcmF0b3JfYXBwbHlTb3VyY2VNYXAoYVNvdXJjZU1hcENvbnN1bWVyLCBhU291cmNlRmlsZSwgYVNvdXJjZU1hcFBhdGgpIHtcbiAgICB2YXIgc291cmNlRmlsZSA9IGFTb3VyY2VGaWxlO1xuICAgIC8vIElmIGFTb3VyY2VGaWxlIGlzIG9taXR0ZWQsIHdlIHdpbGwgdXNlIHRoZSBmaWxlIHByb3BlcnR5IG9mIHRoZSBTb3VyY2VNYXBcbiAgICBpZiAoYVNvdXJjZUZpbGUgPT0gbnVsbCkge1xuICAgICAgaWYgKGFTb3VyY2VNYXBDb25zdW1lci5maWxlID09IG51bGwpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICdTb3VyY2VNYXBHZW5lcmF0b3IucHJvdG90eXBlLmFwcGx5U291cmNlTWFwIHJlcXVpcmVzIGVpdGhlciBhbiBleHBsaWNpdCBzb3VyY2UgZmlsZSwgJyArXG4gICAgICAgICAgJ29yIHRoZSBzb3VyY2UgbWFwXFwncyBcImZpbGVcIiBwcm9wZXJ0eS4gQm90aCB3ZXJlIG9taXR0ZWQuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgICAgc291cmNlRmlsZSA9IGFTb3VyY2VNYXBDb25zdW1lci5maWxlO1xuICAgIH1cbiAgICB2YXIgc291cmNlUm9vdCA9IHRoaXMuX3NvdXJjZVJvb3Q7XG4gICAgLy8gTWFrZSBcInNvdXJjZUZpbGVcIiByZWxhdGl2ZSBpZiBhbiBhYnNvbHV0ZSBVcmwgaXMgcGFzc2VkLlxuICAgIGlmIChzb3VyY2VSb290ICE9IG51bGwpIHtcbiAgICAgIHNvdXJjZUZpbGUgPSB1dGlsLnJlbGF0aXZlKHNvdXJjZVJvb3QsIHNvdXJjZUZpbGUpO1xuICAgIH1cbiAgICAvLyBBcHBseWluZyB0aGUgU291cmNlTWFwIGNhbiBhZGQgYW5kIHJlbW92ZSBpdGVtcyBmcm9tIHRoZSBzb3VyY2VzIGFuZFxuICAgIC8vIHRoZSBuYW1lcyBhcnJheS5cbiAgICB2YXIgbmV3U291cmNlcyA9IG5ldyBBcnJheVNldCgpO1xuICAgIHZhciBuZXdOYW1lcyA9IG5ldyBBcnJheVNldCgpO1xuXG4gICAgLy8gRmluZCBtYXBwaW5ncyBmb3IgdGhlIFwic291cmNlRmlsZVwiXG4gICAgdGhpcy5fbWFwcGluZ3MudW5zb3J0ZWRGb3JFYWNoKGZ1bmN0aW9uIChtYXBwaW5nKSB7XG4gICAgICBpZiAobWFwcGluZy5zb3VyY2UgPT09IHNvdXJjZUZpbGUgJiYgbWFwcGluZy5vcmlnaW5hbExpbmUgIT0gbnVsbCkge1xuICAgICAgICAvLyBDaGVjayBpZiBpdCBjYW4gYmUgbWFwcGVkIGJ5IHRoZSBzb3VyY2UgbWFwLCB0aGVuIHVwZGF0ZSB0aGUgbWFwcGluZy5cbiAgICAgICAgdmFyIG9yaWdpbmFsID0gYVNvdXJjZU1hcENvbnN1bWVyLm9yaWdpbmFsUG9zaXRpb25Gb3Ioe1xuICAgICAgICAgIGxpbmU6IG1hcHBpbmcub3JpZ2luYWxMaW5lLFxuICAgICAgICAgIGNvbHVtbjogbWFwcGluZy5vcmlnaW5hbENvbHVtblxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKG9yaWdpbmFsLnNvdXJjZSAhPSBudWxsKSB7XG4gICAgICAgICAgLy8gQ29weSBtYXBwaW5nXG4gICAgICAgICAgbWFwcGluZy5zb3VyY2UgPSBvcmlnaW5hbC5zb3VyY2U7XG4gICAgICAgICAgaWYgKGFTb3VyY2VNYXBQYXRoICE9IG51bGwpIHtcbiAgICAgICAgICAgIG1hcHBpbmcuc291cmNlID0gdXRpbC5qb2luKGFTb3VyY2VNYXBQYXRoLCBtYXBwaW5nLnNvdXJjZSlcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHNvdXJjZVJvb3QgIT0gbnVsbCkge1xuICAgICAgICAgICAgbWFwcGluZy5zb3VyY2UgPSB1dGlsLnJlbGF0aXZlKHNvdXJjZVJvb3QsIG1hcHBpbmcuc291cmNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbWFwcGluZy5vcmlnaW5hbExpbmUgPSBvcmlnaW5hbC5saW5lO1xuICAgICAgICAgIG1hcHBpbmcub3JpZ2luYWxDb2x1bW4gPSBvcmlnaW5hbC5jb2x1bW47XG4gICAgICAgICAgaWYgKG9yaWdpbmFsLm5hbWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgbWFwcGluZy5uYW1lID0gb3JpZ2luYWwubmFtZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdmFyIHNvdXJjZSA9IG1hcHBpbmcuc291cmNlO1xuICAgICAgaWYgKHNvdXJjZSAhPSBudWxsICYmICFuZXdTb3VyY2VzLmhhcyhzb3VyY2UpKSB7XG4gICAgICAgIG5ld1NvdXJjZXMuYWRkKHNvdXJjZSk7XG4gICAgICB9XG5cbiAgICAgIHZhciBuYW1lID0gbWFwcGluZy5uYW1lO1xuICAgICAgaWYgKG5hbWUgIT0gbnVsbCAmJiAhbmV3TmFtZXMuaGFzKG5hbWUpKSB7XG4gICAgICAgIG5ld05hbWVzLmFkZChuYW1lKTtcbiAgICAgIH1cblxuICAgIH0sIHRoaXMpO1xuICAgIHRoaXMuX3NvdXJjZXMgPSBuZXdTb3VyY2VzO1xuICAgIHRoaXMuX25hbWVzID0gbmV3TmFtZXM7XG5cbiAgICAvLyBDb3B5IHNvdXJjZXNDb250ZW50cyBvZiBhcHBsaWVkIG1hcC5cbiAgICBhU291cmNlTWFwQ29uc3VtZXIuc291cmNlcy5mb3JFYWNoKGZ1bmN0aW9uIChzb3VyY2VGaWxlKSB7XG4gICAgICB2YXIgY29udGVudCA9IGFTb3VyY2VNYXBDb25zdW1lci5zb3VyY2VDb250ZW50Rm9yKHNvdXJjZUZpbGUpO1xuICAgICAgaWYgKGNvbnRlbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoYVNvdXJjZU1hcFBhdGggIT0gbnVsbCkge1xuICAgICAgICAgIHNvdXJjZUZpbGUgPSB1dGlsLmpvaW4oYVNvdXJjZU1hcFBhdGgsIHNvdXJjZUZpbGUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzb3VyY2VSb290ICE9IG51bGwpIHtcbiAgICAgICAgICBzb3VyY2VGaWxlID0gdXRpbC5yZWxhdGl2ZShzb3VyY2VSb290LCBzb3VyY2VGaWxlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNldFNvdXJjZUNvbnRlbnQoc291cmNlRmlsZSwgY29udGVudCk7XG4gICAgICB9XG4gICAgfSwgdGhpcyk7XG4gIH07XG5cbi8qKlxuICogQSBtYXBwaW5nIGNhbiBoYXZlIG9uZSBvZiB0aGUgdGhyZWUgbGV2ZWxzIG9mIGRhdGE6XG4gKlxuICogICAxLiBKdXN0IHRoZSBnZW5lcmF0ZWQgcG9zaXRpb24uXG4gKiAgIDIuIFRoZSBHZW5lcmF0ZWQgcG9zaXRpb24sIG9yaWdpbmFsIHBvc2l0aW9uLCBhbmQgb3JpZ2luYWwgc291cmNlLlxuICogICAzLiBHZW5lcmF0ZWQgYW5kIG9yaWdpbmFsIHBvc2l0aW9uLCBvcmlnaW5hbCBzb3VyY2UsIGFzIHdlbGwgYXMgYSBuYW1lXG4gKiAgICAgIHRva2VuLlxuICpcbiAqIFRvIG1haW50YWluIGNvbnNpc3RlbmN5LCB3ZSB2YWxpZGF0ZSB0aGF0IGFueSBuZXcgbWFwcGluZyBiZWluZyBhZGRlZCBmYWxsc1xuICogaW4gdG8gb25lIG9mIHRoZXNlIGNhdGVnb3JpZXMuXG4gKi9cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuX3ZhbGlkYXRlTWFwcGluZyA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcEdlbmVyYXRvcl92YWxpZGF0ZU1hcHBpbmcoYUdlbmVyYXRlZCwgYU9yaWdpbmFsLCBhU291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFOYW1lKSB7XG4gICAgLy8gV2hlbiBhT3JpZ2luYWwgaXMgdHJ1dGh5IGJ1dCBoYXMgZW1wdHkgdmFsdWVzIGZvciAubGluZSBhbmQgLmNvbHVtbixcbiAgICAvLyBpdCBpcyBtb3N0IGxpa2VseSBhIHByb2dyYW1tZXIgZXJyb3IuIEluIHRoaXMgY2FzZSB3ZSB0aHJvdyBhIHZlcnlcbiAgICAvLyBzcGVjaWZpYyBlcnJvciBtZXNzYWdlIHRvIHRyeSB0byBndWlkZSB0aGVtIHRoZSByaWdodCB3YXkuXG4gICAgLy8gRm9yIGV4YW1wbGU6IGh0dHBzOi8vZ2l0aHViLmNvbS9Qb2x5bWVyL3BvbHltZXItYnVuZGxlci9wdWxsLzUxOVxuICAgIGlmIChhT3JpZ2luYWwgJiYgdHlwZW9mIGFPcmlnaW5hbC5saW5lICE9PSAnbnVtYmVyJyAmJiB0eXBlb2YgYU9yaWdpbmFsLmNvbHVtbiAhPT0gJ251bWJlcicpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgJ29yaWdpbmFsLmxpbmUgYW5kIG9yaWdpbmFsLmNvbHVtbiBhcmUgbm90IG51bWJlcnMgLS0geW91IHByb2JhYmx5IG1lYW50IHRvIG9taXQgJyArXG4gICAgICAgICAgICAndGhlIG9yaWdpbmFsIG1hcHBpbmcgZW50aXJlbHkgYW5kIG9ubHkgbWFwIHRoZSBnZW5lcmF0ZWQgcG9zaXRpb24uIElmIHNvLCBwYXNzICcgK1xuICAgICAgICAgICAgJ251bGwgZm9yIHRoZSBvcmlnaW5hbCBtYXBwaW5nIGluc3RlYWQgb2YgYW4gb2JqZWN0IHdpdGggZW1wdHkgb3IgbnVsbCB2YWx1ZXMuJ1xuICAgICAgICApO1xuICAgIH1cblxuICAgIGlmIChhR2VuZXJhdGVkICYmICdsaW5lJyBpbiBhR2VuZXJhdGVkICYmICdjb2x1bW4nIGluIGFHZW5lcmF0ZWRcbiAgICAgICAgJiYgYUdlbmVyYXRlZC5saW5lID4gMCAmJiBhR2VuZXJhdGVkLmNvbHVtbiA+PSAwXG4gICAgICAgICYmICFhT3JpZ2luYWwgJiYgIWFTb3VyY2UgJiYgIWFOYW1lKSB7XG4gICAgICAvLyBDYXNlIDEuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGVsc2UgaWYgKGFHZW5lcmF0ZWQgJiYgJ2xpbmUnIGluIGFHZW5lcmF0ZWQgJiYgJ2NvbHVtbicgaW4gYUdlbmVyYXRlZFxuICAgICAgICAgICAgICYmIGFPcmlnaW5hbCAmJiAnbGluZScgaW4gYU9yaWdpbmFsICYmICdjb2x1bW4nIGluIGFPcmlnaW5hbFxuICAgICAgICAgICAgICYmIGFHZW5lcmF0ZWQubGluZSA+IDAgJiYgYUdlbmVyYXRlZC5jb2x1bW4gPj0gMFxuICAgICAgICAgICAgICYmIGFPcmlnaW5hbC5saW5lID4gMCAmJiBhT3JpZ2luYWwuY29sdW1uID49IDBcbiAgICAgICAgICAgICAmJiBhU291cmNlKSB7XG4gICAgICAvLyBDYXNlcyAyIGFuZCAzLlxuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignSW52YWxpZCBtYXBwaW5nOiAnICsgSlNPTi5zdHJpbmdpZnkoe1xuICAgICAgICBnZW5lcmF0ZWQ6IGFHZW5lcmF0ZWQsXG4gICAgICAgIHNvdXJjZTogYVNvdXJjZSxcbiAgICAgICAgb3JpZ2luYWw6IGFPcmlnaW5hbCxcbiAgICAgICAgbmFtZTogYU5hbWVcbiAgICAgIH0pKTtcbiAgICB9XG4gIH07XG5cbi8qKlxuICogU2VyaWFsaXplIHRoZSBhY2N1bXVsYXRlZCBtYXBwaW5ncyBpbiB0byB0aGUgc3RyZWFtIG9mIGJhc2UgNjQgVkxRc1xuICogc3BlY2lmaWVkIGJ5IHRoZSBzb3VyY2UgbWFwIGZvcm1hdC5cbiAqL1xuU291cmNlTWFwR2VuZXJhdG9yLnByb3RvdHlwZS5fc2VyaWFsaXplTWFwcGluZ3MgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBHZW5lcmF0b3Jfc2VyaWFsaXplTWFwcGluZ3MoKSB7XG4gICAgdmFyIHByZXZpb3VzR2VuZXJhdGVkQ29sdW1uID0gMDtcbiAgICB2YXIgcHJldmlvdXNHZW5lcmF0ZWRMaW5lID0gMTtcbiAgICB2YXIgcHJldmlvdXNPcmlnaW5hbENvbHVtbiA9IDA7XG4gICAgdmFyIHByZXZpb3VzT3JpZ2luYWxMaW5lID0gMDtcbiAgICB2YXIgcHJldmlvdXNOYW1lID0gMDtcbiAgICB2YXIgcHJldmlvdXNTb3VyY2UgPSAwO1xuICAgIHZhciByZXN1bHQgPSAnJztcbiAgICB2YXIgbmV4dDtcbiAgICB2YXIgbWFwcGluZztcbiAgICB2YXIgbmFtZUlkeDtcbiAgICB2YXIgc291cmNlSWR4O1xuXG4gICAgdmFyIG1hcHBpbmdzID0gdGhpcy5fbWFwcGluZ3MudG9BcnJheSgpO1xuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBtYXBwaW5ncy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgbWFwcGluZyA9IG1hcHBpbmdzW2ldO1xuICAgICAgbmV4dCA9ICcnXG5cbiAgICAgIGlmIChtYXBwaW5nLmdlbmVyYXRlZExpbmUgIT09IHByZXZpb3VzR2VuZXJhdGVkTGluZSkge1xuICAgICAgICBwcmV2aW91c0dlbmVyYXRlZENvbHVtbiA9IDA7XG4gICAgICAgIHdoaWxlIChtYXBwaW5nLmdlbmVyYXRlZExpbmUgIT09IHByZXZpb3VzR2VuZXJhdGVkTGluZSkge1xuICAgICAgICAgIG5leHQgKz0gJzsnO1xuICAgICAgICAgIHByZXZpb3VzR2VuZXJhdGVkTGluZSsrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgaWYgKGkgPiAwKSB7XG4gICAgICAgICAgaWYgKCF1dGlsLmNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0luZmxhdGVkKG1hcHBpbmcsIG1hcHBpbmdzW2kgLSAxXSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBuZXh0ICs9ICcsJztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBuZXh0ICs9IGJhc2U2NFZMUS5lbmNvZGUobWFwcGluZy5nZW5lcmF0ZWRDb2x1bW5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gcHJldmlvdXNHZW5lcmF0ZWRDb2x1bW4pO1xuICAgICAgcHJldmlvdXNHZW5lcmF0ZWRDb2x1bW4gPSBtYXBwaW5nLmdlbmVyYXRlZENvbHVtbjtcblxuICAgICAgaWYgKG1hcHBpbmcuc291cmNlICE9IG51bGwpIHtcbiAgICAgICAgc291cmNlSWR4ID0gdGhpcy5fc291cmNlcy5pbmRleE9mKG1hcHBpbmcuc291cmNlKTtcbiAgICAgICAgbmV4dCArPSBiYXNlNjRWTFEuZW5jb2RlKHNvdXJjZUlkeCAtIHByZXZpb3VzU291cmNlKTtcbiAgICAgICAgcHJldmlvdXNTb3VyY2UgPSBzb3VyY2VJZHg7XG5cbiAgICAgICAgLy8gbGluZXMgYXJlIHN0b3JlZCAwLWJhc2VkIGluIFNvdXJjZU1hcCBzcGVjIHZlcnNpb24gM1xuICAgICAgICBuZXh0ICs9IGJhc2U2NFZMUS5lbmNvZGUobWFwcGluZy5vcmlnaW5hbExpbmUgLSAxXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0gcHJldmlvdXNPcmlnaW5hbExpbmUpO1xuICAgICAgICBwcmV2aW91c09yaWdpbmFsTGluZSA9IG1hcHBpbmcub3JpZ2luYWxMaW5lIC0gMTtcblxuICAgICAgICBuZXh0ICs9IGJhc2U2NFZMUS5lbmNvZGUobWFwcGluZy5vcmlnaW5hbENvbHVtblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtIHByZXZpb3VzT3JpZ2luYWxDb2x1bW4pO1xuICAgICAgICBwcmV2aW91c09yaWdpbmFsQ29sdW1uID0gbWFwcGluZy5vcmlnaW5hbENvbHVtbjtcblxuICAgICAgICBpZiAobWFwcGluZy5uYW1lICE9IG51bGwpIHtcbiAgICAgICAgICBuYW1lSWR4ID0gdGhpcy5fbmFtZXMuaW5kZXhPZihtYXBwaW5nLm5hbWUpO1xuICAgICAgICAgIG5leHQgKz0gYmFzZTY0VkxRLmVuY29kZShuYW1lSWR4IC0gcHJldmlvdXNOYW1lKTtcbiAgICAgICAgICBwcmV2aW91c05hbWUgPSBuYW1lSWR4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJlc3VsdCArPSBuZXh0O1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG5cblNvdXJjZU1hcEdlbmVyYXRvci5wcm90b3R5cGUuX2dlbmVyYXRlU291cmNlc0NvbnRlbnQgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBHZW5lcmF0b3JfZ2VuZXJhdGVTb3VyY2VzQ29udGVudChhU291cmNlcywgYVNvdXJjZVJvb3QpIHtcbiAgICByZXR1cm4gYVNvdXJjZXMubWFwKGZ1bmN0aW9uIChzb3VyY2UpIHtcbiAgICAgIGlmICghdGhpcy5fc291cmNlc0NvbnRlbnRzKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKGFTb3VyY2VSb290ICE9IG51bGwpIHtcbiAgICAgICAgc291cmNlID0gdXRpbC5yZWxhdGl2ZShhU291cmNlUm9vdCwgc291cmNlKTtcbiAgICAgIH1cbiAgICAgIHZhciBrZXkgPSB1dGlsLnRvU2V0U3RyaW5nKHNvdXJjZSk7XG4gICAgICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMuX3NvdXJjZXNDb250ZW50cywga2V5KVxuICAgICAgICA/IHRoaXMuX3NvdXJjZXNDb250ZW50c1trZXldXG4gICAgICAgIDogbnVsbDtcbiAgICB9LCB0aGlzKTtcbiAgfTtcblxuLyoqXG4gKiBFeHRlcm5hbGl6ZSB0aGUgc291cmNlIG1hcC5cbiAqL1xuU291cmNlTWFwR2VuZXJhdG9yLnByb3RvdHlwZS50b0pTT04gPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBHZW5lcmF0b3JfdG9KU09OKCkge1xuICAgIHZhciBtYXAgPSB7XG4gICAgICB2ZXJzaW9uOiB0aGlzLl92ZXJzaW9uLFxuICAgICAgc291cmNlczogdGhpcy5fc291cmNlcy50b0FycmF5KCksXG4gICAgICBuYW1lczogdGhpcy5fbmFtZXMudG9BcnJheSgpLFxuICAgICAgbWFwcGluZ3M6IHRoaXMuX3NlcmlhbGl6ZU1hcHBpbmdzKClcbiAgICB9O1xuICAgIGlmICh0aGlzLl9maWxlICE9IG51bGwpIHtcbiAgICAgIG1hcC5maWxlID0gdGhpcy5fZmlsZTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX3NvdXJjZVJvb3QgIT0gbnVsbCkge1xuICAgICAgbWFwLnNvdXJjZVJvb3QgPSB0aGlzLl9zb3VyY2VSb290O1xuICAgIH1cbiAgICBpZiAodGhpcy5fc291cmNlc0NvbnRlbnRzKSB7XG4gICAgICBtYXAuc291cmNlc0NvbnRlbnQgPSB0aGlzLl9nZW5lcmF0ZVNvdXJjZXNDb250ZW50KG1hcC5zb3VyY2VzLCBtYXAuc291cmNlUm9vdCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG1hcDtcbiAgfTtcblxuLyoqXG4gKiBSZW5kZXIgdGhlIHNvdXJjZSBtYXAgYmVpbmcgZ2VuZXJhdGVkIHRvIGEgc3RyaW5nLlxuICovXG5Tb3VyY2VNYXBHZW5lcmF0b3IucHJvdG90eXBlLnRvU3RyaW5nID1cbiAgZnVuY3Rpb24gU291cmNlTWFwR2VuZXJhdG9yX3RvU3RyaW5nKCkge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzLnRvSlNPTigpKTtcbiAgfTtcblxuZXhwb3J0cy5Tb3VyY2VNYXBHZW5lcmF0b3IgPSBTb3VyY2VNYXBHZW5lcmF0b3I7XG4iLCAiLyogLSotIE1vZGU6IGpzOyBqcy1pbmRlbnQtbGV2ZWw6IDI7IC0qLSAqL1xuLypcbiAqIENvcHlyaWdodCAyMDExIE1vemlsbGEgRm91bmRhdGlvbiBhbmQgY29udHJpYnV0b3JzXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBsaWNlbnNlLiBTZWUgTElDRU5TRSBvcjpcbiAqIGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9CU0QtMy1DbGF1c2VcbiAqL1xuXG5leHBvcnRzLkdSRUFURVNUX0xPV0VSX0JPVU5EID0gMTtcbmV4cG9ydHMuTEVBU1RfVVBQRVJfQk9VTkQgPSAyO1xuXG4vKipcbiAqIFJlY3Vyc2l2ZSBpbXBsZW1lbnRhdGlvbiBvZiBiaW5hcnkgc2VhcmNoLlxuICpcbiAqIEBwYXJhbSBhTG93IEluZGljZXMgaGVyZSBhbmQgbG93ZXIgZG8gbm90IGNvbnRhaW4gdGhlIG5lZWRsZS5cbiAqIEBwYXJhbSBhSGlnaCBJbmRpY2VzIGhlcmUgYW5kIGhpZ2hlciBkbyBub3QgY29udGFpbiB0aGUgbmVlZGxlLlxuICogQHBhcmFtIGFOZWVkbGUgVGhlIGVsZW1lbnQgYmVpbmcgc2VhcmNoZWQgZm9yLlxuICogQHBhcmFtIGFIYXlzdGFjayBUaGUgbm9uLWVtcHR5IGFycmF5IGJlaW5nIHNlYXJjaGVkLlxuICogQHBhcmFtIGFDb21wYXJlIEZ1bmN0aW9uIHdoaWNoIHRha2VzIHR3byBlbGVtZW50cyBhbmQgcmV0dXJucyAtMSwgMCwgb3IgMS5cbiAqIEBwYXJhbSBhQmlhcyBFaXRoZXIgJ2JpbmFyeVNlYXJjaC5HUkVBVEVTVF9MT1dFUl9CT1VORCcgb3JcbiAqICAgICAnYmluYXJ5U2VhcmNoLkxFQVNUX1VQUEVSX0JPVU5EJy4gU3BlY2lmaWVzIHdoZXRoZXIgdG8gcmV0dXJuIHRoZVxuICogICAgIGNsb3Nlc3QgZWxlbWVudCB0aGF0IGlzIHNtYWxsZXIgdGhhbiBvciBncmVhdGVyIHRoYW4gdGhlIG9uZSB3ZSBhcmVcbiAqICAgICBzZWFyY2hpbmcgZm9yLCByZXNwZWN0aXZlbHksIGlmIHRoZSBleGFjdCBlbGVtZW50IGNhbm5vdCBiZSBmb3VuZC5cbiAqL1xuZnVuY3Rpb24gcmVjdXJzaXZlU2VhcmNoKGFMb3csIGFIaWdoLCBhTmVlZGxlLCBhSGF5c3RhY2ssIGFDb21wYXJlLCBhQmlhcykge1xuICAvLyBUaGlzIGZ1bmN0aW9uIHRlcm1pbmF0ZXMgd2hlbiBvbmUgb2YgdGhlIGZvbGxvd2luZyBpcyB0cnVlOlxuICAvL1xuICAvLyAgIDEuIFdlIGZpbmQgdGhlIGV4YWN0IGVsZW1lbnQgd2UgYXJlIGxvb2tpbmcgZm9yLlxuICAvL1xuICAvLyAgIDIuIFdlIGRpZCBub3QgZmluZCB0aGUgZXhhY3QgZWxlbWVudCwgYnV0IHdlIGNhbiByZXR1cm4gdGhlIGluZGV4IG9mXG4gIC8vICAgICAgdGhlIG5leHQtY2xvc2VzdCBlbGVtZW50LlxuICAvL1xuICAvLyAgIDMuIFdlIGRpZCBub3QgZmluZCB0aGUgZXhhY3QgZWxlbWVudCwgYW5kIHRoZXJlIGlzIG5vIG5leHQtY2xvc2VzdFxuICAvLyAgICAgIGVsZW1lbnQgdGhhbiB0aGUgb25lIHdlIGFyZSBzZWFyY2hpbmcgZm9yLCBzbyB3ZSByZXR1cm4gLTEuXG4gIHZhciBtaWQgPSBNYXRoLmZsb29yKChhSGlnaCAtIGFMb3cpIC8gMikgKyBhTG93O1xuICB2YXIgY21wID0gYUNvbXBhcmUoYU5lZWRsZSwgYUhheXN0YWNrW21pZF0sIHRydWUpO1xuICBpZiAoY21wID09PSAwKSB7XG4gICAgLy8gRm91bmQgdGhlIGVsZW1lbnQgd2UgYXJlIGxvb2tpbmcgZm9yLlxuICAgIHJldHVybiBtaWQ7XG4gIH1cbiAgZWxzZSBpZiAoY21wID4gMCkge1xuICAgIC8vIE91ciBuZWVkbGUgaXMgZ3JlYXRlciB0aGFuIGFIYXlzdGFja1ttaWRdLlxuICAgIGlmIChhSGlnaCAtIG1pZCA+IDEpIHtcbiAgICAgIC8vIFRoZSBlbGVtZW50IGlzIGluIHRoZSB1cHBlciBoYWxmLlxuICAgICAgcmV0dXJuIHJlY3Vyc2l2ZVNlYXJjaChtaWQsIGFIaWdoLCBhTmVlZGxlLCBhSGF5c3RhY2ssIGFDb21wYXJlLCBhQmlhcyk7XG4gICAgfVxuXG4gICAgLy8gVGhlIGV4YWN0IG5lZWRsZSBlbGVtZW50IHdhcyBub3QgZm91bmQgaW4gdGhpcyBoYXlzdGFjay4gRGV0ZXJtaW5lIGlmXG4gICAgLy8gd2UgYXJlIGluIHRlcm1pbmF0aW9uIGNhc2UgKDMpIG9yICgyKSBhbmQgcmV0dXJuIHRoZSBhcHByb3ByaWF0ZSB0aGluZy5cbiAgICBpZiAoYUJpYXMgPT0gZXhwb3J0cy5MRUFTVF9VUFBFUl9CT1VORCkge1xuICAgICAgcmV0dXJuIGFIaWdoIDwgYUhheXN0YWNrLmxlbmd0aCA/IGFIaWdoIDogLTE7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBtaWQ7XG4gICAgfVxuICB9XG4gIGVsc2Uge1xuICAgIC8vIE91ciBuZWVkbGUgaXMgbGVzcyB0aGFuIGFIYXlzdGFja1ttaWRdLlxuICAgIGlmIChtaWQgLSBhTG93ID4gMSkge1xuICAgICAgLy8gVGhlIGVsZW1lbnQgaXMgaW4gdGhlIGxvd2VyIGhhbGYuXG4gICAgICByZXR1cm4gcmVjdXJzaXZlU2VhcmNoKGFMb3csIG1pZCwgYU5lZWRsZSwgYUhheXN0YWNrLCBhQ29tcGFyZSwgYUJpYXMpO1xuICAgIH1cblxuICAgIC8vIHdlIGFyZSBpbiB0ZXJtaW5hdGlvbiBjYXNlICgzKSBvciAoMikgYW5kIHJldHVybiB0aGUgYXBwcm9wcmlhdGUgdGhpbmcuXG4gICAgaWYgKGFCaWFzID09IGV4cG9ydHMuTEVBU1RfVVBQRVJfQk9VTkQpIHtcbiAgICAgIHJldHVybiBtaWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBhTG93IDwgMCA/IC0xIDogYUxvdztcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGlzIGFuIGltcGxlbWVudGF0aW9uIG9mIGJpbmFyeSBzZWFyY2ggd2hpY2ggd2lsbCBhbHdheXMgdHJ5IGFuZCByZXR1cm5cbiAqIHRoZSBpbmRleCBvZiB0aGUgY2xvc2VzdCBlbGVtZW50IGlmIHRoZXJlIGlzIG5vIGV4YWN0IGhpdC4gVGhpcyBpcyBiZWNhdXNlXG4gKiBtYXBwaW5ncyBiZXR3ZWVuIG9yaWdpbmFsIGFuZCBnZW5lcmF0ZWQgbGluZS9jb2wgcGFpcnMgYXJlIHNpbmdsZSBwb2ludHMsXG4gKiBhbmQgdGhlcmUgaXMgYW4gaW1wbGljaXQgcmVnaW9uIGJldHdlZW4gZWFjaCBvZiB0aGVtLCBzbyBhIG1pc3MganVzdCBtZWFuc1xuICogdGhhdCB5b3UgYXJlbid0IG9uIHRoZSB2ZXJ5IHN0YXJ0IG9mIGEgcmVnaW9uLlxuICpcbiAqIEBwYXJhbSBhTmVlZGxlIFRoZSBlbGVtZW50IHlvdSBhcmUgbG9va2luZyBmb3IuXG4gKiBAcGFyYW0gYUhheXN0YWNrIFRoZSBhcnJheSB0aGF0IGlzIGJlaW5nIHNlYXJjaGVkLlxuICogQHBhcmFtIGFDb21wYXJlIEEgZnVuY3Rpb24gd2hpY2ggdGFrZXMgdGhlIG5lZWRsZSBhbmQgYW4gZWxlbWVudCBpbiB0aGVcbiAqICAgICBhcnJheSBhbmQgcmV0dXJucyAtMSwgMCwgb3IgMSBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgbmVlZGxlIGlzIGxlc3NcbiAqICAgICB0aGFuLCBlcXVhbCB0bywgb3IgZ3JlYXRlciB0aGFuIHRoZSBlbGVtZW50LCByZXNwZWN0aXZlbHkuXG4gKiBAcGFyYW0gYUJpYXMgRWl0aGVyICdiaW5hcnlTZWFyY2guR1JFQVRFU1RfTE9XRVJfQk9VTkQnIG9yXG4gKiAgICAgJ2JpbmFyeVNlYXJjaC5MRUFTVF9VUFBFUl9CT1VORCcuIFNwZWNpZmllcyB3aGV0aGVyIHRvIHJldHVybiB0aGVcbiAqICAgICBjbG9zZXN0IGVsZW1lbnQgdGhhdCBpcyBzbWFsbGVyIHRoYW4gb3IgZ3JlYXRlciB0aGFuIHRoZSBvbmUgd2UgYXJlXG4gKiAgICAgc2VhcmNoaW5nIGZvciwgcmVzcGVjdGl2ZWx5LCBpZiB0aGUgZXhhY3QgZWxlbWVudCBjYW5ub3QgYmUgZm91bmQuXG4gKiAgICAgRGVmYXVsdHMgdG8gJ2JpbmFyeVNlYXJjaC5HUkVBVEVTVF9MT1dFUl9CT1VORCcuXG4gKi9cbmV4cG9ydHMuc2VhcmNoID0gZnVuY3Rpb24gc2VhcmNoKGFOZWVkbGUsIGFIYXlzdGFjaywgYUNvbXBhcmUsIGFCaWFzKSB7XG4gIGlmIChhSGF5c3RhY2subGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIC0xO1xuICB9XG5cbiAgdmFyIGluZGV4ID0gcmVjdXJzaXZlU2VhcmNoKC0xLCBhSGF5c3RhY2subGVuZ3RoLCBhTmVlZGxlLCBhSGF5c3RhY2ssXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhQ29tcGFyZSwgYUJpYXMgfHwgZXhwb3J0cy5HUkVBVEVTVF9MT1dFUl9CT1VORCk7XG4gIGlmIChpbmRleCA8IDApIHtcbiAgICByZXR1cm4gLTE7XG4gIH1cblxuICAvLyBXZSBoYXZlIGZvdW5kIGVpdGhlciB0aGUgZXhhY3QgZWxlbWVudCwgb3IgdGhlIG5leHQtY2xvc2VzdCBlbGVtZW50IHRoYW5cbiAgLy8gdGhlIG9uZSB3ZSBhcmUgc2VhcmNoaW5nIGZvci4gSG93ZXZlciwgdGhlcmUgbWF5IGJlIG1vcmUgdGhhbiBvbmUgc3VjaFxuICAvLyBlbGVtZW50LiBNYWtlIHN1cmUgd2UgYWx3YXlzIHJldHVybiB0aGUgc21hbGxlc3Qgb2YgdGhlc2UuXG4gIHdoaWxlIChpbmRleCAtIDEgPj0gMCkge1xuICAgIGlmIChhQ29tcGFyZShhSGF5c3RhY2tbaW5kZXhdLCBhSGF5c3RhY2tbaW5kZXggLSAxXSwgdHJ1ZSkgIT09IDApIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICAtLWluZGV4O1xuICB9XG5cbiAgcmV0dXJuIGluZGV4O1xufTtcbiIsICIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTEgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICovXG5cbi8vIEl0IHR1cm5zIG91dCB0aGF0IHNvbWUgKG1vc3Q/KSBKYXZhU2NyaXB0IGVuZ2luZXMgZG9uJ3Qgc2VsZi1ob3N0XG4vLyBgQXJyYXkucHJvdG90eXBlLnNvcnRgLiBUaGlzIG1ha2VzIHNlbnNlIGJlY2F1c2UgQysrIHdpbGwgbGlrZWx5IHJlbWFpblxuLy8gZmFzdGVyIHRoYW4gSlMgd2hlbiBkb2luZyByYXcgQ1BVLWludGVuc2l2ZSBzb3J0aW5nLiBIb3dldmVyLCB3aGVuIHVzaW5nIGFcbi8vIGN1c3RvbSBjb21wYXJhdG9yIGZ1bmN0aW9uLCBjYWxsaW5nIGJhY2sgYW5kIGZvcnRoIGJldHdlZW4gdGhlIFZNJ3MgQysrIGFuZFxuLy8gSklUJ2QgSlMgaXMgcmF0aGVyIHNsb3cgKmFuZCogbG9zZXMgSklUIHR5cGUgaW5mb3JtYXRpb24sIHJlc3VsdGluZyBpblxuLy8gd29yc2UgZ2VuZXJhdGVkIGNvZGUgZm9yIHRoZSBjb21wYXJhdG9yIGZ1bmN0aW9uIHRoYW4gd291bGQgYmUgb3B0aW1hbC4gSW5cbi8vIGZhY3QsIHdoZW4gc29ydGluZyB3aXRoIGEgY29tcGFyYXRvciwgdGhlc2UgY29zdHMgb3V0d2VpZ2ggdGhlIGJlbmVmaXRzIG9mXG4vLyBzb3J0aW5nIGluIEMrKy4gQnkgdXNpbmcgb3VyIG93biBKUy1pbXBsZW1lbnRlZCBRdWljayBTb3J0IChiZWxvdyksIHdlIGdldFxuLy8gYSB+MzUwMG1zIG1lYW4gc3BlZWQtdXAgaW4gYGJlbmNoL2JlbmNoLmh0bWxgLlxuXG4vKipcbiAqIFN3YXAgdGhlIGVsZW1lbnRzIGluZGV4ZWQgYnkgYHhgIGFuZCBgeWAgaW4gdGhlIGFycmF5IGBhcnlgLlxuICpcbiAqIEBwYXJhbSB7QXJyYXl9IGFyeVxuICogICAgICAgIFRoZSBhcnJheS5cbiAqIEBwYXJhbSB7TnVtYmVyfSB4XG4gKiAgICAgICAgVGhlIGluZGV4IG9mIHRoZSBmaXJzdCBpdGVtLlxuICogQHBhcmFtIHtOdW1iZXJ9IHlcbiAqICAgICAgICBUaGUgaW5kZXggb2YgdGhlIHNlY29uZCBpdGVtLlxuICovXG5mdW5jdGlvbiBzd2FwKGFyeSwgeCwgeSkge1xuICB2YXIgdGVtcCA9IGFyeVt4XTtcbiAgYXJ5W3hdID0gYXJ5W3ldO1xuICBhcnlbeV0gPSB0ZW1wO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSByYW5kb20gaW50ZWdlciB3aXRoaW4gdGhlIHJhbmdlIGBsb3cgLi4gaGlnaGAgaW5jbHVzaXZlLlxuICpcbiAqIEBwYXJhbSB7TnVtYmVyfSBsb3dcbiAqICAgICAgICBUaGUgbG93ZXIgYm91bmQgb24gdGhlIHJhbmdlLlxuICogQHBhcmFtIHtOdW1iZXJ9IGhpZ2hcbiAqICAgICAgICBUaGUgdXBwZXIgYm91bmQgb24gdGhlIHJhbmdlLlxuICovXG5mdW5jdGlvbiByYW5kb21JbnRJblJhbmdlKGxvdywgaGlnaCkge1xuICByZXR1cm4gTWF0aC5yb3VuZChsb3cgKyAoTWF0aC5yYW5kb20oKSAqIChoaWdoIC0gbG93KSkpO1xufVxuXG4vKipcbiAqIFRoZSBRdWljayBTb3J0IGFsZ29yaXRobS5cbiAqXG4gKiBAcGFyYW0ge0FycmF5fSBhcnlcbiAqICAgICAgICBBbiBhcnJheSB0byBzb3J0LlxuICogQHBhcmFtIHtmdW5jdGlvbn0gY29tcGFyYXRvclxuICogICAgICAgIEZ1bmN0aW9uIHRvIHVzZSB0byBjb21wYXJlIHR3byBpdGVtcy5cbiAqIEBwYXJhbSB7TnVtYmVyfSBwXG4gKiAgICAgICAgU3RhcnQgaW5kZXggb2YgdGhlIGFycmF5XG4gKiBAcGFyYW0ge051bWJlcn0gclxuICogICAgICAgIEVuZCBpbmRleCBvZiB0aGUgYXJyYXlcbiAqL1xuZnVuY3Rpb24gZG9RdWlja1NvcnQoYXJ5LCBjb21wYXJhdG9yLCBwLCByKSB7XG4gIC8vIElmIG91ciBsb3dlciBib3VuZCBpcyBsZXNzIHRoYW4gb3VyIHVwcGVyIGJvdW5kLCB3ZSAoMSkgcGFydGl0aW9uIHRoZVxuICAvLyBhcnJheSBpbnRvIHR3byBwaWVjZXMgYW5kICgyKSByZWN1cnNlIG9uIGVhY2ggaGFsZi4gSWYgaXQgaXMgbm90LCB0aGlzIGlzXG4gIC8vIHRoZSBlbXB0eSBhcnJheSBhbmQgb3VyIGJhc2UgY2FzZS5cblxuICBpZiAocCA8IHIpIHtcbiAgICAvLyAoMSkgUGFydGl0aW9uaW5nLlxuICAgIC8vXG4gICAgLy8gVGhlIHBhcnRpdGlvbmluZyBjaG9vc2VzIGEgcGl2b3QgYmV0d2VlbiBgcGAgYW5kIGByYCBhbmQgbW92ZXMgYWxsXG4gICAgLy8gZWxlbWVudHMgdGhhdCBhcmUgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBwaXZvdCB0byB0aGUgYmVmb3JlIGl0LCBhbmRcbiAgICAvLyBhbGwgdGhlIGVsZW1lbnRzIHRoYXQgYXJlIGdyZWF0ZXIgdGhhbiBpdCBhZnRlciBpdC4gVGhlIGVmZmVjdCBpcyB0aGF0XG4gICAgLy8gb25jZSBwYXJ0aXRpb24gaXMgZG9uZSwgdGhlIHBpdm90IGlzIGluIHRoZSBleGFjdCBwbGFjZSBpdCB3aWxsIGJlIHdoZW5cbiAgICAvLyB0aGUgYXJyYXkgaXMgcHV0IGluIHNvcnRlZCBvcmRlciwgYW5kIGl0IHdpbGwgbm90IG5lZWQgdG8gYmUgbW92ZWRcbiAgICAvLyBhZ2Fpbi4gVGhpcyBydW5zIGluIE8obikgdGltZS5cblxuICAgIC8vIEFsd2F5cyBjaG9vc2UgYSByYW5kb20gcGl2b3Qgc28gdGhhdCBhbiBpbnB1dCBhcnJheSB3aGljaCBpcyByZXZlcnNlXG4gICAgLy8gc29ydGVkIGRvZXMgbm90IGNhdXNlIE8obl4yKSBydW5uaW5nIHRpbWUuXG4gICAgdmFyIHBpdm90SW5kZXggPSByYW5kb21JbnRJblJhbmdlKHAsIHIpO1xuICAgIHZhciBpID0gcCAtIDE7XG5cbiAgICBzd2FwKGFyeSwgcGl2b3RJbmRleCwgcik7XG4gICAgdmFyIHBpdm90ID0gYXJ5W3JdO1xuXG4gICAgLy8gSW1tZWRpYXRlbHkgYWZ0ZXIgYGpgIGlzIGluY3JlbWVudGVkIGluIHRoaXMgbG9vcCwgdGhlIGZvbGxvd2luZyBob2xkXG4gICAgLy8gdHJ1ZTpcbiAgICAvL1xuICAgIC8vICAgKiBFdmVyeSBlbGVtZW50IGluIGBhcnlbcCAuLiBpXWAgaXMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHRoZSBwaXZvdC5cbiAgICAvL1xuICAgIC8vICAgKiBFdmVyeSBlbGVtZW50IGluIGBhcnlbaSsxIC4uIGotMV1gIGlzIGdyZWF0ZXIgdGhhbiB0aGUgcGl2b3QuXG4gICAgZm9yICh2YXIgaiA9IHA7IGogPCByOyBqKyspIHtcbiAgICAgIGlmIChjb21wYXJhdG9yKGFyeVtqXSwgcGl2b3QpIDw9IDApIHtcbiAgICAgICAgaSArPSAxO1xuICAgICAgICBzd2FwKGFyeSwgaSwgaik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc3dhcChhcnksIGkgKyAxLCBqKTtcbiAgICB2YXIgcSA9IGkgKyAxO1xuXG4gICAgLy8gKDIpIFJlY3Vyc2Ugb24gZWFjaCBoYWxmLlxuXG4gICAgZG9RdWlja1NvcnQoYXJ5LCBjb21wYXJhdG9yLCBwLCBxIC0gMSk7XG4gICAgZG9RdWlja1NvcnQoYXJ5LCBjb21wYXJhdG9yLCBxICsgMSwgcik7XG4gIH1cbn1cblxuLyoqXG4gKiBTb3J0IHRoZSBnaXZlbiBhcnJheSBpbi1wbGFjZSB3aXRoIHRoZSBnaXZlbiBjb21wYXJhdG9yIGZ1bmN0aW9uLlxuICpcbiAqIEBwYXJhbSB7QXJyYXl9IGFyeVxuICogICAgICAgIEFuIGFycmF5IHRvIHNvcnQuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBjb21wYXJhdG9yXG4gKiAgICAgICAgRnVuY3Rpb24gdG8gdXNlIHRvIGNvbXBhcmUgdHdvIGl0ZW1zLlxuICovXG5leHBvcnRzLnF1aWNrU29ydCA9IGZ1bmN0aW9uIChhcnksIGNvbXBhcmF0b3IpIHtcbiAgZG9RdWlja1NvcnQoYXJ5LCBjb21wYXJhdG9yLCAwLCBhcnkubGVuZ3RoIC0gMSk7XG59O1xuIiwgIi8qIC0qLSBNb2RlOiBqczsganMtaW5kZW50LWxldmVsOiAyOyAtKi0gKi9cbi8qXG4gKiBDb3B5cmlnaHQgMjAxMSBNb3ppbGxhIEZvdW5kYXRpb24gYW5kIGNvbnRyaWJ1dG9yc1xuICogTGljZW5zZWQgdW5kZXIgdGhlIE5ldyBCU0QgbGljZW5zZS4gU2VlIExJQ0VOU0Ugb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKi9cblxudmFyIHV0aWwgPSByZXF1aXJlKCcuL3V0aWwnKTtcbnZhciBiaW5hcnlTZWFyY2ggPSByZXF1aXJlKCcuL2JpbmFyeS1zZWFyY2gnKTtcbnZhciBBcnJheVNldCA9IHJlcXVpcmUoJy4vYXJyYXktc2V0JykuQXJyYXlTZXQ7XG52YXIgYmFzZTY0VkxRID0gcmVxdWlyZSgnLi9iYXNlNjQtdmxxJyk7XG52YXIgcXVpY2tTb3J0ID0gcmVxdWlyZSgnLi9xdWljay1zb3J0JykucXVpY2tTb3J0O1xuXG5mdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcihhU291cmNlTWFwLCBhU291cmNlTWFwVVJMKSB7XG4gIHZhciBzb3VyY2VNYXAgPSBhU291cmNlTWFwO1xuICBpZiAodHlwZW9mIGFTb3VyY2VNYXAgPT09ICdzdHJpbmcnKSB7XG4gICAgc291cmNlTWFwID0gdXRpbC5wYXJzZVNvdXJjZU1hcElucHV0KGFTb3VyY2VNYXApO1xuICB9XG5cbiAgcmV0dXJuIHNvdXJjZU1hcC5zZWN0aW9ucyAhPSBudWxsXG4gICAgPyBuZXcgSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyKHNvdXJjZU1hcCwgYVNvdXJjZU1hcFVSTClcbiAgICA6IG5ldyBCYXNpY1NvdXJjZU1hcENvbnN1bWVyKHNvdXJjZU1hcCwgYVNvdXJjZU1hcFVSTCk7XG59XG5cblNvdXJjZU1hcENvbnN1bWVyLmZyb21Tb3VyY2VNYXAgPSBmdW5jdGlvbihhU291cmNlTWFwLCBhU291cmNlTWFwVVJMKSB7XG4gIHJldHVybiBCYXNpY1NvdXJjZU1hcENvbnN1bWVyLmZyb21Tb3VyY2VNYXAoYVNvdXJjZU1hcCwgYVNvdXJjZU1hcFVSTCk7XG59XG5cbi8qKlxuICogVGhlIHZlcnNpb24gb2YgdGhlIHNvdXJjZSBtYXBwaW5nIHNwZWMgdGhhdCB3ZSBhcmUgY29uc3VtaW5nLlxuICovXG5Tb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX3ZlcnNpb24gPSAzO1xuXG4vLyBgX19nZW5lcmF0ZWRNYXBwaW5nc2AgYW5kIGBfX29yaWdpbmFsTWFwcGluZ3NgIGFyZSBhcnJheXMgdGhhdCBob2xkIHRoZVxuLy8gcGFyc2VkIG1hcHBpbmcgY29vcmRpbmF0ZXMgZnJvbSB0aGUgc291cmNlIG1hcCdzIFwibWFwcGluZ3NcIiBhdHRyaWJ1dGUuIFRoZXlcbi8vIGFyZSBsYXppbHkgaW5zdGFudGlhdGVkLCBhY2Nlc3NlZCB2aWEgdGhlIGBfZ2VuZXJhdGVkTWFwcGluZ3NgIGFuZFxuLy8gYF9vcmlnaW5hbE1hcHBpbmdzYCBnZXR0ZXJzIHJlc3BlY3RpdmVseSwgYW5kIHdlIG9ubHkgcGFyc2UgdGhlIG1hcHBpbmdzXG4vLyBhbmQgY3JlYXRlIHRoZXNlIGFycmF5cyBvbmNlIHF1ZXJpZWQgZm9yIGEgc291cmNlIGxvY2F0aW9uLiBXZSBqdW1wIHRocm91Z2hcbi8vIHRoZXNlIGhvb3BzIGJlY2F1c2UgdGhlcmUgY2FuIGJlIG1hbnkgdGhvdXNhbmRzIG9mIG1hcHBpbmdzLCBhbmQgcGFyc2luZ1xuLy8gdGhlbSBpcyBleHBlbnNpdmUsIHNvIHdlIG9ubHkgd2FudCB0byBkbyBpdCBpZiB3ZSBtdXN0LlxuLy9cbi8vIEVhY2ggb2JqZWN0IGluIHRoZSBhcnJheXMgaXMgb2YgdGhlIGZvcm06XG4vL1xuLy8gICAgIHtcbi8vICAgICAgIGdlbmVyYXRlZExpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIGNvZGUsXG4vLyAgICAgICBnZW5lcmF0ZWRDb2x1bW46IFRoZSBjb2x1bW4gbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgY29kZSxcbi8vICAgICAgIHNvdXJjZTogVGhlIHBhdGggdG8gdGhlIG9yaWdpbmFsIHNvdXJjZSBmaWxlIHRoYXQgZ2VuZXJhdGVkIHRoaXNcbi8vICAgICAgICAgICAgICAgY2h1bmsgb2YgY29kZSxcbi8vICAgICAgIG9yaWdpbmFsTGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UgdGhhdFxuLy8gICAgICAgICAgICAgICAgICAgICBjb3JyZXNwb25kcyB0byB0aGlzIGNodW5rIG9mIGdlbmVyYXRlZCBjb2RlLFxuLy8gICAgICAgb3JpZ2luYWxDb2x1bW46IFRoZSBjb2x1bW4gbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UgdGhhdFxuLy8gICAgICAgICAgICAgICAgICAgICAgIGNvcnJlc3BvbmRzIHRvIHRoaXMgY2h1bmsgb2YgZ2VuZXJhdGVkIGNvZGUsXG4vLyAgICAgICBuYW1lOiBUaGUgbmFtZSBvZiB0aGUgb3JpZ2luYWwgc3ltYm9sIHdoaWNoIGdlbmVyYXRlZCB0aGlzIGNodW5rIG9mXG4vLyAgICAgICAgICAgICBjb2RlLlxuLy8gICAgIH1cbi8vXG4vLyBBbGwgcHJvcGVydGllcyBleGNlcHQgZm9yIGBnZW5lcmF0ZWRMaW5lYCBhbmQgYGdlbmVyYXRlZENvbHVtbmAgY2FuIGJlXG4vLyBgbnVsbGAuXG4vL1xuLy8gYF9nZW5lcmF0ZWRNYXBwaW5nc2AgaXMgb3JkZXJlZCBieSB0aGUgZ2VuZXJhdGVkIHBvc2l0aW9ucy5cbi8vXG4vLyBgX29yaWdpbmFsTWFwcGluZ3NgIGlzIG9yZGVyZWQgYnkgdGhlIG9yaWdpbmFsIHBvc2l0aW9ucy5cblxuU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLl9fZ2VuZXJhdGVkTWFwcGluZ3MgPSBudWxsO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZSwgJ19nZW5lcmF0ZWRNYXBwaW5ncycsIHtcbiAgY29uZmlndXJhYmxlOiB0cnVlLFxuICBlbnVtZXJhYmxlOiB0cnVlLFxuICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoIXRoaXMuX19nZW5lcmF0ZWRNYXBwaW5ncykge1xuICAgICAgdGhpcy5fcGFyc2VNYXBwaW5ncyh0aGlzLl9tYXBwaW5ncywgdGhpcy5zb3VyY2VSb290KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fX2dlbmVyYXRlZE1hcHBpbmdzO1xuICB9XG59KTtcblxuU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLl9fb3JpZ2luYWxNYXBwaW5ncyA9IG51bGw7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLCAnX29yaWdpbmFsTWFwcGluZ3MnLCB7XG4gIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCF0aGlzLl9fb3JpZ2luYWxNYXBwaW5ncykge1xuICAgICAgdGhpcy5fcGFyc2VNYXBwaW5ncyh0aGlzLl9tYXBwaW5ncywgdGhpcy5zb3VyY2VSb290KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fX29yaWdpbmFsTWFwcGluZ3M7XG4gIH1cbn0pO1xuXG5Tb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX2NoYXJJc01hcHBpbmdTZXBhcmF0b3IgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9jaGFySXNNYXBwaW5nU2VwYXJhdG9yKGFTdHIsIGluZGV4KSB7XG4gICAgdmFyIGMgPSBhU3RyLmNoYXJBdChpbmRleCk7XG4gICAgcmV0dXJuIGMgPT09IFwiO1wiIHx8IGMgPT09IFwiLFwiO1xuICB9O1xuXG4vKipcbiAqIFBhcnNlIHRoZSBtYXBwaW5ncyBpbiBhIHN0cmluZyBpbiB0byBhIGRhdGEgc3RydWN0dXJlIHdoaWNoIHdlIGNhbiBlYXNpbHlcbiAqIHF1ZXJ5ICh0aGUgb3JkZXJlZCBhcnJheXMgaW4gdGhlIGB0aGlzLl9fZ2VuZXJhdGVkTWFwcGluZ3NgIGFuZFxuICogYHRoaXMuX19vcmlnaW5hbE1hcHBpbmdzYCBwcm9wZXJ0aWVzKS5cbiAqL1xuU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLl9wYXJzZU1hcHBpbmdzID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfcGFyc2VNYXBwaW5ncyhhU3RyLCBhU291cmNlUm9vdCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQgX3BhcnNlTWFwcGluZ3NcIik7XG4gIH07XG5cblNvdXJjZU1hcENvbnN1bWVyLkdFTkVSQVRFRF9PUkRFUiA9IDE7XG5Tb3VyY2VNYXBDb25zdW1lci5PUklHSU5BTF9PUkRFUiA9IDI7XG5cblNvdXJjZU1hcENvbnN1bWVyLkdSRUFURVNUX0xPV0VSX0JPVU5EID0gMTtcblNvdXJjZU1hcENvbnN1bWVyLkxFQVNUX1VQUEVSX0JPVU5EID0gMjtcblxuLyoqXG4gKiBJdGVyYXRlIG92ZXIgZWFjaCBtYXBwaW5nIGJldHdlZW4gYW4gb3JpZ2luYWwgc291cmNlL2xpbmUvY29sdW1uIGFuZCBhXG4gKiBnZW5lcmF0ZWQgbGluZS9jb2x1bW4gaW4gdGhpcyBzb3VyY2UgbWFwLlxuICpcbiAqIEBwYXJhbSBGdW5jdGlvbiBhQ2FsbGJhY2tcbiAqICAgICAgICBUaGUgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2l0aCBlYWNoIG1hcHBpbmcuXG4gKiBAcGFyYW0gT2JqZWN0IGFDb250ZXh0XG4gKiAgICAgICAgT3B0aW9uYWwuIElmIHNwZWNpZmllZCwgdGhpcyBvYmplY3Qgd2lsbCBiZSB0aGUgdmFsdWUgb2YgYHRoaXNgIGV2ZXJ5XG4gKiAgICAgICAgdGltZSB0aGF0IGBhQ2FsbGJhY2tgIGlzIGNhbGxlZC5cbiAqIEBwYXJhbSBhT3JkZXJcbiAqICAgICAgICBFaXRoZXIgYFNvdXJjZU1hcENvbnN1bWVyLkdFTkVSQVRFRF9PUkRFUmAgb3JcbiAqICAgICAgICBgU291cmNlTWFwQ29uc3VtZXIuT1JJR0lOQUxfT1JERVJgLiBTcGVjaWZpZXMgd2hldGhlciB5b3Ugd2FudCB0b1xuICogICAgICAgIGl0ZXJhdGUgb3ZlciB0aGUgbWFwcGluZ3Mgc29ydGVkIGJ5IHRoZSBnZW5lcmF0ZWQgZmlsZSdzIGxpbmUvY29sdW1uXG4gKiAgICAgICAgb3JkZXIgb3IgdGhlIG9yaWdpbmFsJ3Mgc291cmNlL2xpbmUvY29sdW1uIG9yZGVyLCByZXNwZWN0aXZlbHkuIERlZmF1bHRzIHRvXG4gKiAgICAgICAgYFNvdXJjZU1hcENvbnN1bWVyLkdFTkVSQVRFRF9PUkRFUmAuXG4gKi9cblNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5lYWNoTWFwcGluZyA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcENvbnN1bWVyX2VhY2hNYXBwaW5nKGFDYWxsYmFjaywgYUNvbnRleHQsIGFPcmRlcikge1xuICAgIHZhciBjb250ZXh0ID0gYUNvbnRleHQgfHwgbnVsbDtcbiAgICB2YXIgb3JkZXIgPSBhT3JkZXIgfHwgU291cmNlTWFwQ29uc3VtZXIuR0VORVJBVEVEX09SREVSO1xuXG4gICAgdmFyIG1hcHBpbmdzO1xuICAgIHN3aXRjaCAob3JkZXIpIHtcbiAgICBjYXNlIFNvdXJjZU1hcENvbnN1bWVyLkdFTkVSQVRFRF9PUkRFUjpcbiAgICAgIG1hcHBpbmdzID0gdGhpcy5fZ2VuZXJhdGVkTWFwcGluZ3M7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFNvdXJjZU1hcENvbnN1bWVyLk9SSUdJTkFMX09SREVSOlxuICAgICAgbWFwcGluZ3MgPSB0aGlzLl9vcmlnaW5hbE1hcHBpbmdzO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIlVua25vd24gb3JkZXIgb2YgaXRlcmF0aW9uLlwiKTtcbiAgICB9XG5cbiAgICB2YXIgc291cmNlUm9vdCA9IHRoaXMuc291cmNlUm9vdDtcbiAgICBtYXBwaW5ncy5tYXAoZnVuY3Rpb24gKG1hcHBpbmcpIHtcbiAgICAgIHZhciBzb3VyY2UgPSBtYXBwaW5nLnNvdXJjZSA9PT0gbnVsbCA/IG51bGwgOiB0aGlzLl9zb3VyY2VzLmF0KG1hcHBpbmcuc291cmNlKTtcbiAgICAgIHNvdXJjZSA9IHV0aWwuY29tcHV0ZVNvdXJjZVVSTChzb3VyY2VSb290LCBzb3VyY2UsIHRoaXMuX3NvdXJjZU1hcFVSTCk7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBzb3VyY2U6IHNvdXJjZSxcbiAgICAgICAgZ2VuZXJhdGVkTGluZTogbWFwcGluZy5nZW5lcmF0ZWRMaW5lLFxuICAgICAgICBnZW5lcmF0ZWRDb2x1bW46IG1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uLFxuICAgICAgICBvcmlnaW5hbExpbmU6IG1hcHBpbmcub3JpZ2luYWxMaW5lLFxuICAgICAgICBvcmlnaW5hbENvbHVtbjogbWFwcGluZy5vcmlnaW5hbENvbHVtbixcbiAgICAgICAgbmFtZTogbWFwcGluZy5uYW1lID09PSBudWxsID8gbnVsbCA6IHRoaXMuX25hbWVzLmF0KG1hcHBpbmcubmFtZSlcbiAgICAgIH07XG4gICAgfSwgdGhpcykuZm9yRWFjaChhQ2FsbGJhY2ssIGNvbnRleHQpO1xuICB9O1xuXG4vKipcbiAqIFJldHVybnMgYWxsIGdlbmVyYXRlZCBsaW5lIGFuZCBjb2x1bW4gaW5mb3JtYXRpb24gZm9yIHRoZSBvcmlnaW5hbCBzb3VyY2UsXG4gKiBsaW5lLCBhbmQgY29sdW1uIHByb3ZpZGVkLiBJZiBubyBjb2x1bW4gaXMgcHJvdmlkZWQsIHJldHVybnMgYWxsIG1hcHBpbmdzXG4gKiBjb3JyZXNwb25kaW5nIHRvIGEgZWl0aGVyIHRoZSBsaW5lIHdlIGFyZSBzZWFyY2hpbmcgZm9yIG9yIHRoZSBuZXh0XG4gKiBjbG9zZXN0IGxpbmUgdGhhdCBoYXMgYW55IG1hcHBpbmdzLiBPdGhlcndpc2UsIHJldHVybnMgYWxsIG1hcHBpbmdzXG4gKiBjb3JyZXNwb25kaW5nIHRvIHRoZSBnaXZlbiBsaW5lIGFuZCBlaXRoZXIgdGhlIGNvbHVtbiB3ZSBhcmUgc2VhcmNoaW5nIGZvclxuICogb3IgdGhlIG5leHQgY2xvc2VzdCBjb2x1bW4gdGhhdCBoYXMgYW55IG9mZnNldHMuXG4gKlxuICogVGhlIG9ubHkgYXJndW1lbnQgaXMgYW4gb2JqZWN0IHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBzb3VyY2U6IFRoZSBmaWxlbmFtZSBvZiB0aGUgb3JpZ2luYWwgc291cmNlLlxuICogICAtIGxpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgb3JpZ2luYWwgc291cmNlLiAgVGhlIGxpbmUgbnVtYmVyIGlzIDEtYmFzZWQuXG4gKiAgIC0gY29sdW1uOiBPcHRpb25hbC4gdGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZS5cbiAqICAgIFRoZSBjb2x1bW4gbnVtYmVyIGlzIDAtYmFzZWQuXG4gKlxuICogYW5kIGFuIGFycmF5IG9mIG9iamVjdHMgaXMgcmV0dXJuZWQsIGVhY2ggd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIGxpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZSwgb3IgbnVsbC4gIFRoZVxuICogICAgbGluZSBudW1iZXIgaXMgMS1iYXNlZC5cbiAqICAgLSBjb2x1bW46IFRoZSBjb2x1bW4gbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgc291cmNlLCBvciBudWxsLlxuICogICAgVGhlIGNvbHVtbiBudW1iZXIgaXMgMC1iYXNlZC5cbiAqL1xuU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLmFsbEdlbmVyYXRlZFBvc2l0aW9uc0ZvciA9XG4gIGZ1bmN0aW9uIFNvdXJjZU1hcENvbnN1bWVyX2FsbEdlbmVyYXRlZFBvc2l0aW9uc0ZvcihhQXJncykge1xuICAgIHZhciBsaW5lID0gdXRpbC5nZXRBcmcoYUFyZ3MsICdsaW5lJyk7XG5cbiAgICAvLyBXaGVuIHRoZXJlIGlzIG5vIGV4YWN0IG1hdGNoLCBCYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5fZmluZE1hcHBpbmdcbiAgICAvLyByZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgY2xvc2VzdCBtYXBwaW5nIGxlc3MgdGhhbiB0aGUgbmVlZGxlLiBCeVxuICAgIC8vIHNldHRpbmcgbmVlZGxlLm9yaWdpbmFsQ29sdW1uIHRvIDAsIHdlIHRodXMgZmluZCB0aGUgbGFzdCBtYXBwaW5nIGZvclxuICAgIC8vIHRoZSBnaXZlbiBsaW5lLCBwcm92aWRlZCBzdWNoIGEgbWFwcGluZyBleGlzdHMuXG4gICAgdmFyIG5lZWRsZSA9IHtcbiAgICAgIHNvdXJjZTogdXRpbC5nZXRBcmcoYUFyZ3MsICdzb3VyY2UnKSxcbiAgICAgIG9yaWdpbmFsTGluZTogbGluZSxcbiAgICAgIG9yaWdpbmFsQ29sdW1uOiB1dGlsLmdldEFyZyhhQXJncywgJ2NvbHVtbicsIDApXG4gICAgfTtcblxuICAgIG5lZWRsZS5zb3VyY2UgPSB0aGlzLl9maW5kU291cmNlSW5kZXgobmVlZGxlLnNvdXJjZSk7XG4gICAgaWYgKG5lZWRsZS5zb3VyY2UgPCAwKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgdmFyIG1hcHBpbmdzID0gW107XG5cbiAgICB2YXIgaW5kZXggPSB0aGlzLl9maW5kTWFwcGluZyhuZWVkbGUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5fb3JpZ2luYWxNYXBwaW5ncyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIm9yaWdpbmFsTGluZVwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwib3JpZ2luYWxDb2x1bW5cIixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsLmNvbXBhcmVCeU9yaWdpbmFsUG9zaXRpb25zLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJpbmFyeVNlYXJjaC5MRUFTVF9VUFBFUl9CT1VORCk7XG4gICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgIHZhciBtYXBwaW5nID0gdGhpcy5fb3JpZ2luYWxNYXBwaW5nc1tpbmRleF07XG5cbiAgICAgIGlmIChhQXJncy5jb2x1bW4gPT09IHVuZGVmaW5lZCkge1xuICAgICAgICB2YXIgb3JpZ2luYWxMaW5lID0gbWFwcGluZy5vcmlnaW5hbExpbmU7XG5cbiAgICAgICAgLy8gSXRlcmF0ZSB1bnRpbCBlaXRoZXIgd2UgcnVuIG91dCBvZiBtYXBwaW5ncywgb3Igd2UgcnVuIGludG9cbiAgICAgICAgLy8gYSBtYXBwaW5nIGZvciBhIGRpZmZlcmVudCBsaW5lIHRoYW4gdGhlIG9uZSB3ZSBmb3VuZC4gU2luY2VcbiAgICAgICAgLy8gbWFwcGluZ3MgYXJlIHNvcnRlZCwgdGhpcyBpcyBndWFyYW50ZWVkIHRvIGZpbmQgYWxsIG1hcHBpbmdzIGZvclxuICAgICAgICAvLyB0aGUgbGluZSB3ZSBmb3VuZC5cbiAgICAgICAgd2hpbGUgKG1hcHBpbmcgJiYgbWFwcGluZy5vcmlnaW5hbExpbmUgPT09IG9yaWdpbmFsTGluZSkge1xuICAgICAgICAgIG1hcHBpbmdzLnB1c2goe1xuICAgICAgICAgICAgbGluZTogdXRpbC5nZXRBcmcobWFwcGluZywgJ2dlbmVyYXRlZExpbmUnLCBudWxsKSxcbiAgICAgICAgICAgIGNvbHVtbjogdXRpbC5nZXRBcmcobWFwcGluZywgJ2dlbmVyYXRlZENvbHVtbicsIG51bGwpLFxuICAgICAgICAgICAgbGFzdENvbHVtbjogdXRpbC5nZXRBcmcobWFwcGluZywgJ2xhc3RHZW5lcmF0ZWRDb2x1bW4nLCBudWxsKVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgbWFwcGluZyA9IHRoaXMuX29yaWdpbmFsTWFwcGluZ3NbKytpbmRleF07XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBvcmlnaW5hbENvbHVtbiA9IG1hcHBpbmcub3JpZ2luYWxDb2x1bW47XG5cbiAgICAgICAgLy8gSXRlcmF0ZSB1bnRpbCBlaXRoZXIgd2UgcnVuIG91dCBvZiBtYXBwaW5ncywgb3Igd2UgcnVuIGludG9cbiAgICAgICAgLy8gYSBtYXBwaW5nIGZvciBhIGRpZmZlcmVudCBsaW5lIHRoYW4gdGhlIG9uZSB3ZSB3ZXJlIHNlYXJjaGluZyBmb3IuXG4gICAgICAgIC8vIFNpbmNlIG1hcHBpbmdzIGFyZSBzb3J0ZWQsIHRoaXMgaXMgZ3VhcmFudGVlZCB0byBmaW5kIGFsbCBtYXBwaW5ncyBmb3JcbiAgICAgICAgLy8gdGhlIGxpbmUgd2UgYXJlIHNlYXJjaGluZyBmb3IuXG4gICAgICAgIHdoaWxlIChtYXBwaW5nICYmXG4gICAgICAgICAgICAgICBtYXBwaW5nLm9yaWdpbmFsTGluZSA9PT0gbGluZSAmJlxuICAgICAgICAgICAgICAgbWFwcGluZy5vcmlnaW5hbENvbHVtbiA9PSBvcmlnaW5hbENvbHVtbikge1xuICAgICAgICAgIG1hcHBpbmdzLnB1c2goe1xuICAgICAgICAgICAgbGluZTogdXRpbC5nZXRBcmcobWFwcGluZywgJ2dlbmVyYXRlZExpbmUnLCBudWxsKSxcbiAgICAgICAgICAgIGNvbHVtbjogdXRpbC5nZXRBcmcobWFwcGluZywgJ2dlbmVyYXRlZENvbHVtbicsIG51bGwpLFxuICAgICAgICAgICAgbGFzdENvbHVtbjogdXRpbC5nZXRBcmcobWFwcGluZywgJ2xhc3RHZW5lcmF0ZWRDb2x1bW4nLCBudWxsKVxuICAgICAgICAgIH0pO1xuXG4gICAgICAgICAgbWFwcGluZyA9IHRoaXMuX29yaWdpbmFsTWFwcGluZ3NbKytpbmRleF07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gbWFwcGluZ3M7XG4gIH07XG5cbmV4cG9ydHMuU291cmNlTWFwQ29uc3VtZXIgPSBTb3VyY2VNYXBDb25zdW1lcjtcblxuLyoqXG4gKiBBIEJhc2ljU291cmNlTWFwQ29uc3VtZXIgaW5zdGFuY2UgcmVwcmVzZW50cyBhIHBhcnNlZCBzb3VyY2UgbWFwIHdoaWNoIHdlIGNhblxuICogcXVlcnkgZm9yIGluZm9ybWF0aW9uIGFib3V0IHRoZSBvcmlnaW5hbCBmaWxlIHBvc2l0aW9ucyBieSBnaXZpbmcgaXQgYSBmaWxlXG4gKiBwb3NpdGlvbiBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZS5cbiAqXG4gKiBUaGUgZmlyc3QgcGFyYW1ldGVyIGlzIHRoZSByYXcgc291cmNlIG1hcCAoZWl0aGVyIGFzIGEgSlNPTiBzdHJpbmcsIG9yXG4gKiBhbHJlYWR5IHBhcnNlZCB0byBhbiBvYmplY3QpLiBBY2NvcmRpbmcgdG8gdGhlIHNwZWMsIHNvdXJjZSBtYXBzIGhhdmUgdGhlXG4gKiBmb2xsb3dpbmcgYXR0cmlidXRlczpcbiAqXG4gKiAgIC0gdmVyc2lvbjogV2hpY2ggdmVyc2lvbiBvZiB0aGUgc291cmNlIG1hcCBzcGVjIHRoaXMgbWFwIGlzIGZvbGxvd2luZy5cbiAqICAgLSBzb3VyY2VzOiBBbiBhcnJheSBvZiBVUkxzIHRvIHRoZSBvcmlnaW5hbCBzb3VyY2UgZmlsZXMuXG4gKiAgIC0gbmFtZXM6IEFuIGFycmF5IG9mIGlkZW50aWZpZXJzIHdoaWNoIGNhbiBiZSByZWZlcnJlbmNlZCBieSBpbmRpdmlkdWFsIG1hcHBpbmdzLlxuICogICAtIHNvdXJjZVJvb3Q6IE9wdGlvbmFsLiBUaGUgVVJMIHJvb3QgZnJvbSB3aGljaCBhbGwgc291cmNlcyBhcmUgcmVsYXRpdmUuXG4gKiAgIC0gc291cmNlc0NvbnRlbnQ6IE9wdGlvbmFsLiBBbiBhcnJheSBvZiBjb250ZW50cyBvZiB0aGUgb3JpZ2luYWwgc291cmNlIGZpbGVzLlxuICogICAtIG1hcHBpbmdzOiBBIHN0cmluZyBvZiBiYXNlNjQgVkxRcyB3aGljaCBjb250YWluIHRoZSBhY3R1YWwgbWFwcGluZ3MuXG4gKiAgIC0gZmlsZTogT3B0aW9uYWwuIFRoZSBnZW5lcmF0ZWQgZmlsZSB0aGlzIHNvdXJjZSBtYXAgaXMgYXNzb2NpYXRlZCB3aXRoLlxuICpcbiAqIEhlcmUgaXMgYW4gZXhhbXBsZSBzb3VyY2UgbWFwLCB0YWtlbiBmcm9tIHRoZSBzb3VyY2UgbWFwIHNwZWNbMF06XG4gKlxuICogICAgIHtcbiAqICAgICAgIHZlcnNpb24gOiAzLFxuICogICAgICAgZmlsZTogXCJvdXQuanNcIixcbiAqICAgICAgIHNvdXJjZVJvb3QgOiBcIlwiLFxuICogICAgICAgc291cmNlczogW1wiZm9vLmpzXCIsIFwiYmFyLmpzXCJdLFxuICogICAgICAgbmFtZXM6IFtcInNyY1wiLCBcIm1hcHNcIiwgXCJhcmVcIiwgXCJmdW5cIl0sXG4gKiAgICAgICBtYXBwaW5nczogXCJBQSxBQjs7QUJDREU7XCJcbiAqICAgICB9XG4gKlxuICogVGhlIHNlY29uZCBwYXJhbWV0ZXIsIGlmIGdpdmVuLCBpcyBhIHN0cmluZyB3aG9zZSB2YWx1ZSBpcyB0aGUgVVJMXG4gKiBhdCB3aGljaCB0aGUgc291cmNlIG1hcCB3YXMgZm91bmQuICBUaGlzIFVSTCBpcyB1c2VkIHRvIGNvbXB1dGUgdGhlXG4gKiBzb3VyY2VzIGFycmF5LlxuICpcbiAqIFswXTogaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZG9jdW1lbnQvZC8xVTFSR0FlaFF3UnlwVVRvdkYxS1JscGlPRnplMGItXzJnYzZmQUgwS1kway9lZGl0P3BsaT0xI1xuICovXG5mdW5jdGlvbiBCYXNpY1NvdXJjZU1hcENvbnN1bWVyKGFTb3VyY2VNYXAsIGFTb3VyY2VNYXBVUkwpIHtcbiAgdmFyIHNvdXJjZU1hcCA9IGFTb3VyY2VNYXA7XG4gIGlmICh0eXBlb2YgYVNvdXJjZU1hcCA9PT0gJ3N0cmluZycpIHtcbiAgICBzb3VyY2VNYXAgPSB1dGlsLnBhcnNlU291cmNlTWFwSW5wdXQoYVNvdXJjZU1hcCk7XG4gIH1cblxuICB2YXIgdmVyc2lvbiA9IHV0aWwuZ2V0QXJnKHNvdXJjZU1hcCwgJ3ZlcnNpb24nKTtcbiAgdmFyIHNvdXJjZXMgPSB1dGlsLmdldEFyZyhzb3VyY2VNYXAsICdzb3VyY2VzJyk7XG4gIC8vIFNhc3MgMy4zIGxlYXZlcyBvdXQgdGhlICduYW1lcycgYXJyYXksIHNvIHdlIGRldmlhdGUgZnJvbSB0aGUgc3BlYyAod2hpY2hcbiAgLy8gcmVxdWlyZXMgdGhlIGFycmF5KSB0byBwbGF5IG5pY2UgaGVyZS5cbiAgdmFyIG5hbWVzID0gdXRpbC5nZXRBcmcoc291cmNlTWFwLCAnbmFtZXMnLCBbXSk7XG4gIHZhciBzb3VyY2VSb290ID0gdXRpbC5nZXRBcmcoc291cmNlTWFwLCAnc291cmNlUm9vdCcsIG51bGwpO1xuICB2YXIgc291cmNlc0NvbnRlbnQgPSB1dGlsLmdldEFyZyhzb3VyY2VNYXAsICdzb3VyY2VzQ29udGVudCcsIG51bGwpO1xuICB2YXIgbWFwcGluZ3MgPSB1dGlsLmdldEFyZyhzb3VyY2VNYXAsICdtYXBwaW5ncycpO1xuICB2YXIgZmlsZSA9IHV0aWwuZ2V0QXJnKHNvdXJjZU1hcCwgJ2ZpbGUnLCBudWxsKTtcblxuICAvLyBPbmNlIGFnYWluLCBTYXNzIGRldmlhdGVzIGZyb20gdGhlIHNwZWMgYW5kIHN1cHBsaWVzIHRoZSB2ZXJzaW9uIGFzIGFcbiAgLy8gc3RyaW5nIHJhdGhlciB0aGFuIGEgbnVtYmVyLCBzbyB3ZSB1c2UgbG9vc2UgZXF1YWxpdHkgY2hlY2tpbmcgaGVyZS5cbiAgaWYgKHZlcnNpb24gIT0gdGhpcy5fdmVyc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgdmVyc2lvbjogJyArIHZlcnNpb24pO1xuICB9XG5cbiAgaWYgKHNvdXJjZVJvb3QpIHtcbiAgICBzb3VyY2VSb290ID0gdXRpbC5ub3JtYWxpemUoc291cmNlUm9vdCk7XG4gIH1cblxuICBzb3VyY2VzID0gc291cmNlc1xuICAgIC5tYXAoU3RyaW5nKVxuICAgIC8vIFNvbWUgc291cmNlIG1hcHMgcHJvZHVjZSByZWxhdGl2ZSBzb3VyY2UgcGF0aHMgbGlrZSBcIi4vZm9vLmpzXCIgaW5zdGVhZCBvZlxuICAgIC8vIFwiZm9vLmpzXCIuICBOb3JtYWxpemUgdGhlc2UgZmlyc3Qgc28gdGhhdCBmdXR1cmUgY29tcGFyaXNvbnMgd2lsbCBzdWNjZWVkLlxuICAgIC8vIFNlZSBidWd6aWwubGEvMTA5MDc2OC5cbiAgICAubWFwKHV0aWwubm9ybWFsaXplKVxuICAgIC8vIEFsd2F5cyBlbnN1cmUgdGhhdCBhYnNvbHV0ZSBzb3VyY2VzIGFyZSBpbnRlcm5hbGx5IHN0b3JlZCByZWxhdGl2ZSB0b1xuICAgIC8vIHRoZSBzb3VyY2Ugcm9vdCwgaWYgdGhlIHNvdXJjZSByb290IGlzIGFic29sdXRlLiBOb3QgZG9pbmcgdGhpcyB3b3VsZFxuICAgIC8vIGJlIHBhcnRpY3VsYXJseSBwcm9ibGVtYXRpYyB3aGVuIHRoZSBzb3VyY2Ugcm9vdCBpcyBhIHByZWZpeCBvZiB0aGVcbiAgICAvLyBzb3VyY2UgKHZhbGlkLCBidXQgd2h5Pz8pLiBTZWUgZ2l0aHViIGlzc3VlICMxOTkgYW5kIGJ1Z3ppbC5sYS8xMTg4OTgyLlxuICAgIC5tYXAoZnVuY3Rpb24gKHNvdXJjZSkge1xuICAgICAgcmV0dXJuIHNvdXJjZVJvb3QgJiYgdXRpbC5pc0Fic29sdXRlKHNvdXJjZVJvb3QpICYmIHV0aWwuaXNBYnNvbHV0ZShzb3VyY2UpXG4gICAgICAgID8gdXRpbC5yZWxhdGl2ZShzb3VyY2VSb290LCBzb3VyY2UpXG4gICAgICAgIDogc291cmNlO1xuICAgIH0pO1xuXG4gIC8vIFBhc3MgYHRydWVgIGJlbG93IHRvIGFsbG93IGR1cGxpY2F0ZSBuYW1lcyBhbmQgc291cmNlcy4gV2hpbGUgc291cmNlIG1hcHNcbiAgLy8gYXJlIGludGVuZGVkIHRvIGJlIGNvbXByZXNzZWQgYW5kIGRlZHVwbGljYXRlZCwgdGhlIFR5cGVTY3JpcHQgY29tcGlsZXJcbiAgLy8gc29tZXRpbWVzIGdlbmVyYXRlcyBzb3VyY2UgbWFwcyB3aXRoIGR1cGxpY2F0ZXMgaW4gdGhlbS4gU2VlIEdpdGh1YiBpc3N1ZVxuICAvLyAjNzIgYW5kIGJ1Z3ppbC5sYS84ODk0OTIuXG4gIHRoaXMuX25hbWVzID0gQXJyYXlTZXQuZnJvbUFycmF5KG5hbWVzLm1hcChTdHJpbmcpLCB0cnVlKTtcbiAgdGhpcy5fc291cmNlcyA9IEFycmF5U2V0LmZyb21BcnJheShzb3VyY2VzLCB0cnVlKTtcblxuICB0aGlzLl9hYnNvbHV0ZVNvdXJjZXMgPSB0aGlzLl9zb3VyY2VzLnRvQXJyYXkoKS5tYXAoZnVuY3Rpb24gKHMpIHtcbiAgICByZXR1cm4gdXRpbC5jb21wdXRlU291cmNlVVJMKHNvdXJjZVJvb3QsIHMsIGFTb3VyY2VNYXBVUkwpO1xuICB9KTtcblxuICB0aGlzLnNvdXJjZVJvb3QgPSBzb3VyY2VSb290O1xuICB0aGlzLnNvdXJjZXNDb250ZW50ID0gc291cmNlc0NvbnRlbnQ7XG4gIHRoaXMuX21hcHBpbmdzID0gbWFwcGluZ3M7XG4gIHRoaXMuX3NvdXJjZU1hcFVSTCA9IGFTb3VyY2VNYXBVUkw7XG4gIHRoaXMuZmlsZSA9IGZpbGU7XG59XG5cbkJhc2ljU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUpO1xuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuY29uc3VtZXIgPSBTb3VyY2VNYXBDb25zdW1lcjtcblxuLyoqXG4gKiBVdGlsaXR5IGZ1bmN0aW9uIHRvIGZpbmQgdGhlIGluZGV4IG9mIGEgc291cmNlLiAgUmV0dXJucyAtMSBpZiBub3RcbiAqIGZvdW5kLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5fZmluZFNvdXJjZUluZGV4ID0gZnVuY3Rpb24oYVNvdXJjZSkge1xuICB2YXIgcmVsYXRpdmVTb3VyY2UgPSBhU291cmNlO1xuICBpZiAodGhpcy5zb3VyY2VSb290ICE9IG51bGwpIHtcbiAgICByZWxhdGl2ZVNvdXJjZSA9IHV0aWwucmVsYXRpdmUodGhpcy5zb3VyY2VSb290LCByZWxhdGl2ZVNvdXJjZSk7XG4gIH1cblxuICBpZiAodGhpcy5fc291cmNlcy5oYXMocmVsYXRpdmVTb3VyY2UpKSB7XG4gICAgcmV0dXJuIHRoaXMuX3NvdXJjZXMuaW5kZXhPZihyZWxhdGl2ZVNvdXJjZSk7XG4gIH1cblxuICAvLyBNYXliZSBhU291cmNlIGlzIGFuIGFic29sdXRlIFVSTCBhcyByZXR1cm5lZCBieSB8c291cmNlc3wuICBJblxuICAvLyB0aGlzIGNhc2Ugd2UgY2FuJ3Qgc2ltcGx5IHVuZG8gdGhlIHRyYW5zZm9ybS5cbiAgdmFyIGk7XG4gIGZvciAoaSA9IDA7IGkgPCB0aGlzLl9hYnNvbHV0ZVNvdXJjZXMubGVuZ3RoOyArK2kpIHtcbiAgICBpZiAodGhpcy5fYWJzb2x1dGVTb3VyY2VzW2ldID09IGFTb3VyY2UpIHtcbiAgICAgIHJldHVybiBpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiAtMTtcbn07XG5cbi8qKlxuICogQ3JlYXRlIGEgQmFzaWNTb3VyY2VNYXBDb25zdW1lciBmcm9tIGEgU291cmNlTWFwR2VuZXJhdG9yLlxuICpcbiAqIEBwYXJhbSBTb3VyY2VNYXBHZW5lcmF0b3IgYVNvdXJjZU1hcFxuICogICAgICAgIFRoZSBzb3VyY2UgbWFwIHRoYXQgd2lsbCBiZSBjb25zdW1lZC5cbiAqIEBwYXJhbSBTdHJpbmcgYVNvdXJjZU1hcFVSTFxuICogICAgICAgIFRoZSBVUkwgYXQgd2hpY2ggdGhlIHNvdXJjZSBtYXAgY2FuIGJlIGZvdW5kIChvcHRpb25hbClcbiAqIEByZXR1cm5zIEJhc2ljU291cmNlTWFwQ29uc3VtZXJcbiAqL1xuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5mcm9tU291cmNlTWFwID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfZnJvbVNvdXJjZU1hcChhU291cmNlTWFwLCBhU291cmNlTWFwVVJMKSB7XG4gICAgdmFyIHNtYyA9IE9iamVjdC5jcmVhdGUoQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUpO1xuXG4gICAgdmFyIG5hbWVzID0gc21jLl9uYW1lcyA9IEFycmF5U2V0LmZyb21BcnJheShhU291cmNlTWFwLl9uYW1lcy50b0FycmF5KCksIHRydWUpO1xuICAgIHZhciBzb3VyY2VzID0gc21jLl9zb3VyY2VzID0gQXJyYXlTZXQuZnJvbUFycmF5KGFTb3VyY2VNYXAuX3NvdXJjZXMudG9BcnJheSgpLCB0cnVlKTtcbiAgICBzbWMuc291cmNlUm9vdCA9IGFTb3VyY2VNYXAuX3NvdXJjZVJvb3Q7XG4gICAgc21jLnNvdXJjZXNDb250ZW50ID0gYVNvdXJjZU1hcC5fZ2VuZXJhdGVTb3VyY2VzQ29udGVudChzbWMuX3NvdXJjZXMudG9BcnJheSgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc21jLnNvdXJjZVJvb3QpO1xuICAgIHNtYy5maWxlID0gYVNvdXJjZU1hcC5fZmlsZTtcbiAgICBzbWMuX3NvdXJjZU1hcFVSTCA9IGFTb3VyY2VNYXBVUkw7XG4gICAgc21jLl9hYnNvbHV0ZVNvdXJjZXMgPSBzbWMuX3NvdXJjZXMudG9BcnJheSgpLm1hcChmdW5jdGlvbiAocykge1xuICAgICAgcmV0dXJuIHV0aWwuY29tcHV0ZVNvdXJjZVVSTChzbWMuc291cmNlUm9vdCwgcywgYVNvdXJjZU1hcFVSTCk7XG4gICAgfSk7XG5cbiAgICAvLyBCZWNhdXNlIHdlIGFyZSBtb2RpZnlpbmcgdGhlIGVudHJpZXMgKGJ5IGNvbnZlcnRpbmcgc3RyaW5nIHNvdXJjZXMgYW5kXG4gICAgLy8gbmFtZXMgdG8gaW5kaWNlcyBpbnRvIHRoZSBzb3VyY2VzIGFuZCBuYW1lcyBBcnJheVNldHMpLCB3ZSBoYXZlIHRvIG1ha2VcbiAgICAvLyBhIGNvcHkgb2YgdGhlIGVudHJ5IG9yIGVsc2UgYmFkIHRoaW5ncyBoYXBwZW4uIFNoYXJlZCBtdXRhYmxlIHN0YXRlXG4gICAgLy8gc3RyaWtlcyBhZ2FpbiEgU2VlIGdpdGh1YiBpc3N1ZSAjMTkxLlxuXG4gICAgdmFyIGdlbmVyYXRlZE1hcHBpbmdzID0gYVNvdXJjZU1hcC5fbWFwcGluZ3MudG9BcnJheSgpLnNsaWNlKCk7XG4gICAgdmFyIGRlc3RHZW5lcmF0ZWRNYXBwaW5ncyA9IHNtYy5fX2dlbmVyYXRlZE1hcHBpbmdzID0gW107XG4gICAgdmFyIGRlc3RPcmlnaW5hbE1hcHBpbmdzID0gc21jLl9fb3JpZ2luYWxNYXBwaW5ncyA9IFtdO1xuXG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbmd0aCA9IGdlbmVyYXRlZE1hcHBpbmdzLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgc3JjTWFwcGluZyA9IGdlbmVyYXRlZE1hcHBpbmdzW2ldO1xuICAgICAgdmFyIGRlc3RNYXBwaW5nID0gbmV3IE1hcHBpbmc7XG4gICAgICBkZXN0TWFwcGluZy5nZW5lcmF0ZWRMaW5lID0gc3JjTWFwcGluZy5nZW5lcmF0ZWRMaW5lO1xuICAgICAgZGVzdE1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uID0gc3JjTWFwcGluZy5nZW5lcmF0ZWRDb2x1bW47XG5cbiAgICAgIGlmIChzcmNNYXBwaW5nLnNvdXJjZSkge1xuICAgICAgICBkZXN0TWFwcGluZy5zb3VyY2UgPSBzb3VyY2VzLmluZGV4T2Yoc3JjTWFwcGluZy5zb3VyY2UpO1xuICAgICAgICBkZXN0TWFwcGluZy5vcmlnaW5hbExpbmUgPSBzcmNNYXBwaW5nLm9yaWdpbmFsTGluZTtcbiAgICAgICAgZGVzdE1hcHBpbmcub3JpZ2luYWxDb2x1bW4gPSBzcmNNYXBwaW5nLm9yaWdpbmFsQ29sdW1uO1xuXG4gICAgICAgIGlmIChzcmNNYXBwaW5nLm5hbWUpIHtcbiAgICAgICAgICBkZXN0TWFwcGluZy5uYW1lID0gbmFtZXMuaW5kZXhPZihzcmNNYXBwaW5nLm5hbWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgZGVzdE9yaWdpbmFsTWFwcGluZ3MucHVzaChkZXN0TWFwcGluZyk7XG4gICAgICB9XG5cbiAgICAgIGRlc3RHZW5lcmF0ZWRNYXBwaW5ncy5wdXNoKGRlc3RNYXBwaW5nKTtcbiAgICB9XG5cbiAgICBxdWlja1NvcnQoc21jLl9fb3JpZ2luYWxNYXBwaW5ncywgdXRpbC5jb21wYXJlQnlPcmlnaW5hbFBvc2l0aW9ucyk7XG5cbiAgICByZXR1cm4gc21jO1xuICB9O1xuXG4vKipcbiAqIFRoZSB2ZXJzaW9uIG9mIHRoZSBzb3VyY2UgbWFwcGluZyBzcGVjIHRoYXQgd2UgYXJlIGNvbnN1bWluZy5cbiAqL1xuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX3ZlcnNpb24gPSAzO1xuXG4vKipcbiAqIFRoZSBsaXN0IG9mIG9yaWdpbmFsIHNvdXJjZXMuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShCYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZSwgJ3NvdXJjZXMnLCB7XG4gIGdldDogZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiB0aGlzLl9hYnNvbHV0ZVNvdXJjZXMuc2xpY2UoKTtcbiAgfVxufSk7XG5cbi8qKlxuICogUHJvdmlkZSB0aGUgSklUIHdpdGggYSBuaWNlIHNoYXBlIC8gaGlkZGVuIGNsYXNzLlxuICovXG5mdW5jdGlvbiBNYXBwaW5nKCkge1xuICB0aGlzLmdlbmVyYXRlZExpbmUgPSAwO1xuICB0aGlzLmdlbmVyYXRlZENvbHVtbiA9IDA7XG4gIHRoaXMuc291cmNlID0gbnVsbDtcbiAgdGhpcy5vcmlnaW5hbExpbmUgPSBudWxsO1xuICB0aGlzLm9yaWdpbmFsQ29sdW1uID0gbnVsbDtcbiAgdGhpcy5uYW1lID0gbnVsbDtcbn1cblxuLyoqXG4gKiBQYXJzZSB0aGUgbWFwcGluZ3MgaW4gYSBzdHJpbmcgaW4gdG8gYSBkYXRhIHN0cnVjdHVyZSB3aGljaCB3ZSBjYW4gZWFzaWx5XG4gKiBxdWVyeSAodGhlIG9yZGVyZWQgYXJyYXlzIGluIHRoZSBgdGhpcy5fX2dlbmVyYXRlZE1hcHBpbmdzYCBhbmRcbiAqIGB0aGlzLl9fb3JpZ2luYWxNYXBwaW5nc2AgcHJvcGVydGllcykuXG4gKi9cbkJhc2ljU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLl9wYXJzZU1hcHBpbmdzID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfcGFyc2VNYXBwaW5ncyhhU3RyLCBhU291cmNlUm9vdCkge1xuICAgIHZhciBnZW5lcmF0ZWRMaW5lID0gMTtcbiAgICB2YXIgcHJldmlvdXNHZW5lcmF0ZWRDb2x1bW4gPSAwO1xuICAgIHZhciBwcmV2aW91c09yaWdpbmFsTGluZSA9IDA7XG4gICAgdmFyIHByZXZpb3VzT3JpZ2luYWxDb2x1bW4gPSAwO1xuICAgIHZhciBwcmV2aW91c1NvdXJjZSA9IDA7XG4gICAgdmFyIHByZXZpb3VzTmFtZSA9IDA7XG4gICAgdmFyIGxlbmd0aCA9IGFTdHIubGVuZ3RoO1xuICAgIHZhciBpbmRleCA9IDA7XG4gICAgdmFyIGNhY2hlZFNlZ21lbnRzID0ge307XG4gICAgdmFyIHRlbXAgPSB7fTtcbiAgICB2YXIgb3JpZ2luYWxNYXBwaW5ncyA9IFtdO1xuICAgIHZhciBnZW5lcmF0ZWRNYXBwaW5ncyA9IFtdO1xuICAgIHZhciBtYXBwaW5nLCBzdHIsIHNlZ21lbnQsIGVuZCwgdmFsdWU7XG5cbiAgICB3aGlsZSAoaW5kZXggPCBsZW5ndGgpIHtcbiAgICAgIGlmIChhU3RyLmNoYXJBdChpbmRleCkgPT09ICc7Jykge1xuICAgICAgICBnZW5lcmF0ZWRMaW5lKys7XG4gICAgICAgIGluZGV4Kys7XG4gICAgICAgIHByZXZpb3VzR2VuZXJhdGVkQ29sdW1uID0gMDtcbiAgICAgIH1cbiAgICAgIGVsc2UgaWYgKGFTdHIuY2hhckF0KGluZGV4KSA9PT0gJywnKSB7XG4gICAgICAgIGluZGV4Kys7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgbWFwcGluZyA9IG5ldyBNYXBwaW5nKCk7XG4gICAgICAgIG1hcHBpbmcuZ2VuZXJhdGVkTGluZSA9IGdlbmVyYXRlZExpbmU7XG5cbiAgICAgICAgLy8gQmVjYXVzZSBlYWNoIG9mZnNldCBpcyBlbmNvZGVkIHJlbGF0aXZlIHRvIHRoZSBwcmV2aW91cyBvbmUsXG4gICAgICAgIC8vIG1hbnkgc2VnbWVudHMgb2Z0ZW4gaGF2ZSB0aGUgc2FtZSBlbmNvZGluZy4gV2UgY2FuIGV4cGxvaXQgdGhpc1xuICAgICAgICAvLyBmYWN0IGJ5IGNhY2hpbmcgdGhlIHBhcnNlZCB2YXJpYWJsZSBsZW5ndGggZmllbGRzIG9mIGVhY2ggc2VnbWVudCxcbiAgICAgICAgLy8gYWxsb3dpbmcgdXMgdG8gYXZvaWQgYSBzZWNvbmQgcGFyc2UgaWYgd2UgZW5jb3VudGVyIHRoZSBzYW1lXG4gICAgICAgIC8vIHNlZ21lbnQgYWdhaW4uXG4gICAgICAgIGZvciAoZW5kID0gaW5kZXg7IGVuZCA8IGxlbmd0aDsgZW5kKyspIHtcbiAgICAgICAgICBpZiAodGhpcy5fY2hhcklzTWFwcGluZ1NlcGFyYXRvcihhU3RyLCBlbmQpKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3RyID0gYVN0ci5zbGljZShpbmRleCwgZW5kKTtcblxuICAgICAgICBzZWdtZW50ID0gY2FjaGVkU2VnbWVudHNbc3RyXTtcbiAgICAgICAgaWYgKHNlZ21lbnQpIHtcbiAgICAgICAgICBpbmRleCArPSBzdHIubGVuZ3RoO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlZ21lbnQgPSBbXTtcbiAgICAgICAgICB3aGlsZSAoaW5kZXggPCBlbmQpIHtcbiAgICAgICAgICAgIGJhc2U2NFZMUS5kZWNvZGUoYVN0ciwgaW5kZXgsIHRlbXApO1xuICAgICAgICAgICAgdmFsdWUgPSB0ZW1wLnZhbHVlO1xuICAgICAgICAgICAgaW5kZXggPSB0ZW1wLnJlc3Q7XG4gICAgICAgICAgICBzZWdtZW50LnB1c2godmFsdWUpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzZWdtZW50Lmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGb3VuZCBhIHNvdXJjZSwgYnV0IG5vIGxpbmUgYW5kIGNvbHVtbicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChzZWdtZW50Lmxlbmd0aCA9PT0gMykge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdGb3VuZCBhIHNvdXJjZSBhbmQgbGluZSwgYnV0IG5vIGNvbHVtbicpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNhY2hlZFNlZ21lbnRzW3N0cl0gPSBzZWdtZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gR2VuZXJhdGVkIGNvbHVtbi5cbiAgICAgICAgbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4gPSBwcmV2aW91c0dlbmVyYXRlZENvbHVtbiArIHNlZ21lbnRbMF07XG4gICAgICAgIHByZXZpb3VzR2VuZXJhdGVkQ29sdW1uID0gbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW47XG5cbiAgICAgICAgaWYgKHNlZ21lbnQubGVuZ3RoID4gMSkge1xuICAgICAgICAgIC8vIE9yaWdpbmFsIHNvdXJjZS5cbiAgICAgICAgICBtYXBwaW5nLnNvdXJjZSA9IHByZXZpb3VzU291cmNlICsgc2VnbWVudFsxXTtcbiAgICAgICAgICBwcmV2aW91c1NvdXJjZSArPSBzZWdtZW50WzFdO1xuXG4gICAgICAgICAgLy8gT3JpZ2luYWwgbGluZS5cbiAgICAgICAgICBtYXBwaW5nLm9yaWdpbmFsTGluZSA9IHByZXZpb3VzT3JpZ2luYWxMaW5lICsgc2VnbWVudFsyXTtcbiAgICAgICAgICBwcmV2aW91c09yaWdpbmFsTGluZSA9IG1hcHBpbmcub3JpZ2luYWxMaW5lO1xuICAgICAgICAgIC8vIExpbmVzIGFyZSBzdG9yZWQgMC1iYXNlZFxuICAgICAgICAgIG1hcHBpbmcub3JpZ2luYWxMaW5lICs9IDE7XG5cbiAgICAgICAgICAvLyBPcmlnaW5hbCBjb2x1bW4uXG4gICAgICAgICAgbWFwcGluZy5vcmlnaW5hbENvbHVtbiA9IHByZXZpb3VzT3JpZ2luYWxDb2x1bW4gKyBzZWdtZW50WzNdO1xuICAgICAgICAgIHByZXZpb3VzT3JpZ2luYWxDb2x1bW4gPSBtYXBwaW5nLm9yaWdpbmFsQ29sdW1uO1xuXG4gICAgICAgICAgaWYgKHNlZ21lbnQubGVuZ3RoID4gNCkge1xuICAgICAgICAgICAgLy8gT3JpZ2luYWwgbmFtZS5cbiAgICAgICAgICAgIG1hcHBpbmcubmFtZSA9IHByZXZpb3VzTmFtZSArIHNlZ21lbnRbNF07XG4gICAgICAgICAgICBwcmV2aW91c05hbWUgKz0gc2VnbWVudFs0XTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBnZW5lcmF0ZWRNYXBwaW5ncy5wdXNoKG1hcHBpbmcpO1xuICAgICAgICBpZiAodHlwZW9mIG1hcHBpbmcub3JpZ2luYWxMaW5lID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIG9yaWdpbmFsTWFwcGluZ3MucHVzaChtYXBwaW5nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHF1aWNrU29ydChnZW5lcmF0ZWRNYXBwaW5ncywgdXRpbC5jb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNEZWZsYXRlZCk7XG4gICAgdGhpcy5fX2dlbmVyYXRlZE1hcHBpbmdzID0gZ2VuZXJhdGVkTWFwcGluZ3M7XG5cbiAgICBxdWlja1NvcnQob3JpZ2luYWxNYXBwaW5ncywgdXRpbC5jb21wYXJlQnlPcmlnaW5hbFBvc2l0aW9ucyk7XG4gICAgdGhpcy5fX29yaWdpbmFsTWFwcGluZ3MgPSBvcmlnaW5hbE1hcHBpbmdzO1xuICB9O1xuXG4vKipcbiAqIEZpbmQgdGhlIG1hcHBpbmcgdGhhdCBiZXN0IG1hdGNoZXMgdGhlIGh5cG90aGV0aWNhbCBcIm5lZWRsZVwiIG1hcHBpbmcgdGhhdFxuICogd2UgYXJlIHNlYXJjaGluZyBmb3IgaW4gdGhlIGdpdmVuIFwiaGF5c3RhY2tcIiBvZiBtYXBwaW5ncy5cbiAqL1xuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX2ZpbmRNYXBwaW5nID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfZmluZE1hcHBpbmcoYU5lZWRsZSwgYU1hcHBpbmdzLCBhTGluZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFDb2x1bW5OYW1lLCBhQ29tcGFyYXRvciwgYUJpYXMpIHtcbiAgICAvLyBUbyByZXR1cm4gdGhlIHBvc2l0aW9uIHdlIGFyZSBzZWFyY2hpbmcgZm9yLCB3ZSBtdXN0IGZpcnN0IGZpbmQgdGhlXG4gICAgLy8gbWFwcGluZyBmb3IgdGhlIGdpdmVuIHBvc2l0aW9uIGFuZCB0aGVuIHJldHVybiB0aGUgb3Bwb3NpdGUgcG9zaXRpb24gaXRcbiAgICAvLyBwb2ludHMgdG8uIEJlY2F1c2UgdGhlIG1hcHBpbmdzIGFyZSBzb3J0ZWQsIHdlIGNhbiB1c2UgYmluYXJ5IHNlYXJjaCB0b1xuICAgIC8vIGZpbmQgdGhlIGJlc3QgbWFwcGluZy5cblxuICAgIGlmIChhTmVlZGxlW2FMaW5lTmFtZV0gPD0gMCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignTGluZSBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAxLCBnb3QgJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICArIGFOZWVkbGVbYUxpbmVOYW1lXSk7XG4gICAgfVxuICAgIGlmIChhTmVlZGxlW2FDb2x1bW5OYW1lXSA8IDApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0NvbHVtbiBtdXN0IGJlIGdyZWF0ZXIgdGhhbiBvciBlcXVhbCB0byAwLCBnb3QgJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICArIGFOZWVkbGVbYUNvbHVtbk5hbWVdKTtcbiAgICB9XG5cbiAgICByZXR1cm4gYmluYXJ5U2VhcmNoLnNlYXJjaChhTmVlZGxlLCBhTWFwcGluZ3MsIGFDb21wYXJhdG9yLCBhQmlhcyk7XG4gIH07XG5cbi8qKlxuICogQ29tcHV0ZSB0aGUgbGFzdCBjb2x1bW4gZm9yIGVhY2ggZ2VuZXJhdGVkIG1hcHBpbmcuIFRoZSBsYXN0IGNvbHVtbiBpc1xuICogaW5jbHVzaXZlLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5jb21wdXRlQ29sdW1uU3BhbnMgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9jb21wdXRlQ29sdW1uU3BhbnMoKSB7XG4gICAgZm9yICh2YXIgaW5kZXggPSAwOyBpbmRleCA8IHRoaXMuX2dlbmVyYXRlZE1hcHBpbmdzLmxlbmd0aDsgKytpbmRleCkge1xuICAgICAgdmFyIG1hcHBpbmcgPSB0aGlzLl9nZW5lcmF0ZWRNYXBwaW5nc1tpbmRleF07XG5cbiAgICAgIC8vIE1hcHBpbmdzIGRvIG5vdCBjb250YWluIGEgZmllbGQgZm9yIHRoZSBsYXN0IGdlbmVyYXRlZCBjb2x1bW50LiBXZVxuICAgICAgLy8gY2FuIGNvbWUgdXAgd2l0aCBhbiBvcHRpbWlzdGljIGVzdGltYXRlLCBob3dldmVyLCBieSBhc3N1bWluZyB0aGF0XG4gICAgICAvLyBtYXBwaW5ncyBhcmUgY29udGlndW91cyAoaS5lLiBnaXZlbiB0d28gY29uc2VjdXRpdmUgbWFwcGluZ3MsIHRoZVxuICAgICAgLy8gZmlyc3QgbWFwcGluZyBlbmRzIHdoZXJlIHRoZSBzZWNvbmQgb25lIHN0YXJ0cykuXG4gICAgICBpZiAoaW5kZXggKyAxIDwgdGhpcy5fZ2VuZXJhdGVkTWFwcGluZ3MubGVuZ3RoKSB7XG4gICAgICAgIHZhciBuZXh0TWFwcGluZyA9IHRoaXMuX2dlbmVyYXRlZE1hcHBpbmdzW2luZGV4ICsgMV07XG5cbiAgICAgICAgaWYgKG1hcHBpbmcuZ2VuZXJhdGVkTGluZSA9PT0gbmV4dE1hcHBpbmcuZ2VuZXJhdGVkTGluZSkge1xuICAgICAgICAgIG1hcHBpbmcubGFzdEdlbmVyYXRlZENvbHVtbiA9IG5leHRNYXBwaW5nLmdlbmVyYXRlZENvbHVtbiAtIDE7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gVGhlIGxhc3QgbWFwcGluZyBmb3IgZWFjaCBsaW5lIHNwYW5zIHRoZSBlbnRpcmUgbGluZS5cbiAgICAgIG1hcHBpbmcubGFzdEdlbmVyYXRlZENvbHVtbiA9IEluZmluaXR5O1xuICAgIH1cbiAgfTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBvcmlnaW5hbCBzb3VyY2UsIGxpbmUsIGFuZCBjb2x1bW4gaW5mb3JtYXRpb24gZm9yIHRoZSBnZW5lcmF0ZWRcbiAqIHNvdXJjZSdzIGxpbmUgYW5kIGNvbHVtbiBwb3NpdGlvbnMgcHJvdmlkZWQuIFRoZSBvbmx5IGFyZ3VtZW50IGlzIGFuIG9iamVjdFxuICogd2l0aCB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIGxpbmU6IFRoZSBsaW5lIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZS4gIFRoZSBsaW5lIG51bWJlclxuICogICAgIGlzIDEtYmFzZWQuXG4gKiAgIC0gY29sdW1uOiBUaGUgY29sdW1uIG51bWJlciBpbiB0aGUgZ2VuZXJhdGVkIHNvdXJjZS4gIFRoZSBjb2x1bW5cbiAqICAgICBudW1iZXIgaXMgMC1iYXNlZC5cbiAqICAgLSBiaWFzOiBFaXRoZXIgJ1NvdXJjZU1hcENvbnN1bWVyLkdSRUFURVNUX0xPV0VSX0JPVU5EJyBvclxuICogICAgICdTb3VyY2VNYXBDb25zdW1lci5MRUFTVF9VUFBFUl9CT1VORCcuIFNwZWNpZmllcyB3aGV0aGVyIHRvIHJldHVybiB0aGVcbiAqICAgICBjbG9zZXN0IGVsZW1lbnQgdGhhdCBpcyBzbWFsbGVyIHRoYW4gb3IgZ3JlYXRlciB0aGFuIHRoZSBvbmUgd2UgYXJlXG4gKiAgICAgc2VhcmNoaW5nIGZvciwgcmVzcGVjdGl2ZWx5LCBpZiB0aGUgZXhhY3QgZWxlbWVudCBjYW5ub3QgYmUgZm91bmQuXG4gKiAgICAgRGVmYXVsdHMgdG8gJ1NvdXJjZU1hcENvbnN1bWVyLkdSRUFURVNUX0xPV0VSX0JPVU5EJy5cbiAqXG4gKiBhbmQgYW4gb2JqZWN0IGlzIHJldHVybmVkIHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBzb3VyY2U6IFRoZSBvcmlnaW5hbCBzb3VyY2UgZmlsZSwgb3IgbnVsbC5cbiAqICAgLSBsaW5lOiBUaGUgbGluZSBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZSwgb3IgbnVsbC4gIFRoZVxuICogICAgIGxpbmUgbnVtYmVyIGlzIDEtYmFzZWQuXG4gKiAgIC0gY29sdW1uOiBUaGUgY29sdW1uIG51bWJlciBpbiB0aGUgb3JpZ2luYWwgc291cmNlLCBvciBudWxsLiAgVGhlXG4gKiAgICAgY29sdW1uIG51bWJlciBpcyAwLWJhc2VkLlxuICogICAtIG5hbWU6IFRoZSBvcmlnaW5hbCBpZGVudGlmaWVyLCBvciBudWxsLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5vcmlnaW5hbFBvc2l0aW9uRm9yID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfb3JpZ2luYWxQb3NpdGlvbkZvcihhQXJncykge1xuICAgIHZhciBuZWVkbGUgPSB7XG4gICAgICBnZW5lcmF0ZWRMaW5lOiB1dGlsLmdldEFyZyhhQXJncywgJ2xpbmUnKSxcbiAgICAgIGdlbmVyYXRlZENvbHVtbjogdXRpbC5nZXRBcmcoYUFyZ3MsICdjb2x1bW4nKVxuICAgIH07XG5cbiAgICB2YXIgaW5kZXggPSB0aGlzLl9maW5kTWFwcGluZyhcbiAgICAgIG5lZWRsZSxcbiAgICAgIHRoaXMuX2dlbmVyYXRlZE1hcHBpbmdzLFxuICAgICAgXCJnZW5lcmF0ZWRMaW5lXCIsXG4gICAgICBcImdlbmVyYXRlZENvbHVtblwiLFxuICAgICAgdXRpbC5jb21wYXJlQnlHZW5lcmF0ZWRQb3NpdGlvbnNEZWZsYXRlZCxcbiAgICAgIHV0aWwuZ2V0QXJnKGFBcmdzLCAnYmlhcycsIFNvdXJjZU1hcENvbnN1bWVyLkdSRUFURVNUX0xPV0VSX0JPVU5EKVxuICAgICk7XG5cbiAgICBpZiAoaW5kZXggPj0gMCkge1xuICAgICAgdmFyIG1hcHBpbmcgPSB0aGlzLl9nZW5lcmF0ZWRNYXBwaW5nc1tpbmRleF07XG5cbiAgICAgIGlmIChtYXBwaW5nLmdlbmVyYXRlZExpbmUgPT09IG5lZWRsZS5nZW5lcmF0ZWRMaW5lKSB7XG4gICAgICAgIHZhciBzb3VyY2UgPSB1dGlsLmdldEFyZyhtYXBwaW5nLCAnc291cmNlJywgbnVsbCk7XG4gICAgICAgIGlmIChzb3VyY2UgIT09IG51bGwpIHtcbiAgICAgICAgICBzb3VyY2UgPSB0aGlzLl9zb3VyY2VzLmF0KHNvdXJjZSk7XG4gICAgICAgICAgc291cmNlID0gdXRpbC5jb21wdXRlU291cmNlVVJMKHRoaXMuc291cmNlUm9vdCwgc291cmNlLCB0aGlzLl9zb3VyY2VNYXBVUkwpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBuYW1lID0gdXRpbC5nZXRBcmcobWFwcGluZywgJ25hbWUnLCBudWxsKTtcbiAgICAgICAgaWYgKG5hbWUgIT09IG51bGwpIHtcbiAgICAgICAgICBuYW1lID0gdGhpcy5fbmFtZXMuYXQobmFtZSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBzb3VyY2U6IHNvdXJjZSxcbiAgICAgICAgICBsaW5lOiB1dGlsLmdldEFyZyhtYXBwaW5nLCAnb3JpZ2luYWxMaW5lJywgbnVsbCksXG4gICAgICAgICAgY29sdW1uOiB1dGlsLmdldEFyZyhtYXBwaW5nLCAnb3JpZ2luYWxDb2x1bW4nLCBudWxsKSxcbiAgICAgICAgICBuYW1lOiBuYW1lXG4gICAgICAgIH07XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIHNvdXJjZTogbnVsbCxcbiAgICAgIGxpbmU6IG51bGwsXG4gICAgICBjb2x1bW46IG51bGwsXG4gICAgICBuYW1lOiBudWxsXG4gICAgfTtcbiAgfTtcblxuLyoqXG4gKiBSZXR1cm4gdHJ1ZSBpZiB3ZSBoYXZlIHRoZSBzb3VyY2UgY29udGVudCBmb3IgZXZlcnkgc291cmNlIGluIHRoZSBzb3VyY2VcbiAqIG1hcCwgZmFsc2Ugb3RoZXJ3aXNlLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5oYXNDb250ZW50c09mQWxsU291cmNlcyA9XG4gIGZ1bmN0aW9uIEJhc2ljU291cmNlTWFwQ29uc3VtZXJfaGFzQ29udGVudHNPZkFsbFNvdXJjZXMoKSB7XG4gICAgaWYgKCF0aGlzLnNvdXJjZXNDb250ZW50KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNvdXJjZXNDb250ZW50Lmxlbmd0aCA+PSB0aGlzLl9zb3VyY2VzLnNpemUoKSAmJlxuICAgICAgIXRoaXMuc291cmNlc0NvbnRlbnQuc29tZShmdW5jdGlvbiAoc2MpIHsgcmV0dXJuIHNjID09IG51bGw7IH0pO1xuICB9O1xuXG4vKipcbiAqIFJldHVybnMgdGhlIG9yaWdpbmFsIHNvdXJjZSBjb250ZW50LiBUaGUgb25seSBhcmd1bWVudCBpcyB0aGUgdXJsIG9mIHRoZVxuICogb3JpZ2luYWwgc291cmNlIGZpbGUuIFJldHVybnMgbnVsbCBpZiBubyBvcmlnaW5hbCBzb3VyY2UgY29udGVudCBpc1xuICogYXZhaWxhYmxlLlxuICovXG5CYXNpY1NvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5zb3VyY2VDb250ZW50Rm9yID1cbiAgZnVuY3Rpb24gU291cmNlTWFwQ29uc3VtZXJfc291cmNlQ29udGVudEZvcihhU291cmNlLCBudWxsT25NaXNzaW5nKSB7XG4gICAgaWYgKCF0aGlzLnNvdXJjZXNDb250ZW50KSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICB2YXIgaW5kZXggPSB0aGlzLl9maW5kU291cmNlSW5kZXgoYVNvdXJjZSk7XG4gICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgIHJldHVybiB0aGlzLnNvdXJjZXNDb250ZW50W2luZGV4XTtcbiAgICB9XG5cbiAgICB2YXIgcmVsYXRpdmVTb3VyY2UgPSBhU291cmNlO1xuICAgIGlmICh0aGlzLnNvdXJjZVJvb3QgIT0gbnVsbCkge1xuICAgICAgcmVsYXRpdmVTb3VyY2UgPSB1dGlsLnJlbGF0aXZlKHRoaXMuc291cmNlUm9vdCwgcmVsYXRpdmVTb3VyY2UpO1xuICAgIH1cblxuICAgIHZhciB1cmw7XG4gICAgaWYgKHRoaXMuc291cmNlUm9vdCAhPSBudWxsXG4gICAgICAgICYmICh1cmwgPSB1dGlsLnVybFBhcnNlKHRoaXMuc291cmNlUm9vdCkpKSB7XG4gICAgICAvLyBYWFg6IGZpbGU6Ly8gVVJJcyBhbmQgYWJzb2x1dGUgcGF0aHMgbGVhZCB0byB1bmV4cGVjdGVkIGJlaGF2aW9yIGZvclxuICAgICAgLy8gbWFueSB1c2Vycy4gV2UgY2FuIGhlbHAgdGhlbSBvdXQgd2hlbiB0aGV5IGV4cGVjdCBmaWxlOi8vIFVSSXMgdG9cbiAgICAgIC8vIGJlaGF2ZSBsaWtlIGl0IHdvdWxkIGlmIHRoZXkgd2VyZSBydW5uaW5nIGEgbG9jYWwgSFRUUCBzZXJ2ZXIuIFNlZVxuICAgICAgLy8gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODg1NTk3LlxuICAgICAgdmFyIGZpbGVVcmlBYnNQYXRoID0gcmVsYXRpdmVTb3VyY2UucmVwbGFjZSgvXmZpbGU6XFwvXFwvLywgXCJcIik7XG4gICAgICBpZiAodXJsLnNjaGVtZSA9PSBcImZpbGVcIlxuICAgICAgICAgICYmIHRoaXMuX3NvdXJjZXMuaGFzKGZpbGVVcmlBYnNQYXRoKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zb3VyY2VzQ29udGVudFt0aGlzLl9zb3VyY2VzLmluZGV4T2YoZmlsZVVyaUFic1BhdGgpXVxuICAgICAgfVxuXG4gICAgICBpZiAoKCF1cmwucGF0aCB8fCB1cmwucGF0aCA9PSBcIi9cIilcbiAgICAgICAgICAmJiB0aGlzLl9zb3VyY2VzLmhhcyhcIi9cIiArIHJlbGF0aXZlU291cmNlKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5zb3VyY2VzQ29udGVudFt0aGlzLl9zb3VyY2VzLmluZGV4T2YoXCIvXCIgKyByZWxhdGl2ZVNvdXJjZSldO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCByZWN1cnNpdmVseSBmcm9tXG4gICAgLy8gSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5zb3VyY2VDb250ZW50Rm9yLiBJbiB0aGF0IGNhc2UsIHdlXG4gICAgLy8gZG9uJ3Qgd2FudCB0byB0aHJvdyBpZiB3ZSBjYW4ndCBmaW5kIHRoZSBzb3VyY2UgLSB3ZSBqdXN0IHdhbnQgdG9cbiAgICAvLyByZXR1cm4gbnVsbCwgc28gd2UgcHJvdmlkZSBhIGZsYWcgdG8gZXhpdCBncmFjZWZ1bGx5LlxuICAgIGlmIChudWxsT25NaXNzaW5nKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ1wiJyArIHJlbGF0aXZlU291cmNlICsgJ1wiIGlzIG5vdCBpbiB0aGUgU291cmNlTWFwLicpO1xuICAgIH1cbiAgfTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBnZW5lcmF0ZWQgbGluZSBhbmQgY29sdW1uIGluZm9ybWF0aW9uIGZvciB0aGUgb3JpZ2luYWwgc291cmNlLFxuICogbGluZSwgYW5kIGNvbHVtbiBwb3NpdGlvbnMgcHJvdmlkZWQuIFRoZSBvbmx5IGFyZ3VtZW50IGlzIGFuIG9iamVjdCB3aXRoXG4gKiB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIHNvdXJjZTogVGhlIGZpbGVuYW1lIG9mIHRoZSBvcmlnaW5hbCBzb3VyY2UuXG4gKiAgIC0gbGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UuICBUaGUgbGluZSBudW1iZXJcbiAqICAgICBpcyAxLWJhc2VkLlxuICogICAtIGNvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZS4gIFRoZSBjb2x1bW5cbiAqICAgICBudW1iZXIgaXMgMC1iYXNlZC5cbiAqICAgLSBiaWFzOiBFaXRoZXIgJ1NvdXJjZU1hcENvbnN1bWVyLkdSRUFURVNUX0xPV0VSX0JPVU5EJyBvclxuICogICAgICdTb3VyY2VNYXBDb25zdW1lci5MRUFTVF9VUFBFUl9CT1VORCcuIFNwZWNpZmllcyB3aGV0aGVyIHRvIHJldHVybiB0aGVcbiAqICAgICBjbG9zZXN0IGVsZW1lbnQgdGhhdCBpcyBzbWFsbGVyIHRoYW4gb3IgZ3JlYXRlciB0aGFuIHRoZSBvbmUgd2UgYXJlXG4gKiAgICAgc2VhcmNoaW5nIGZvciwgcmVzcGVjdGl2ZWx5LCBpZiB0aGUgZXhhY3QgZWxlbWVudCBjYW5ub3QgYmUgZm91bmQuXG4gKiAgICAgRGVmYXVsdHMgdG8gJ1NvdXJjZU1hcENvbnN1bWVyLkdSRUFURVNUX0xPV0VSX0JPVU5EJy5cbiAqXG4gKiBhbmQgYW4gb2JqZWN0IGlzIHJldHVybmVkIHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBsaW5lOiBUaGUgbGluZSBudW1iZXIgaW4gdGhlIGdlbmVyYXRlZCBzb3VyY2UsIG9yIG51bGwuICBUaGVcbiAqICAgICBsaW5lIG51bWJlciBpcyAxLWJhc2VkLlxuICogICAtIGNvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIGdlbmVyYXRlZCBzb3VyY2UsIG9yIG51bGwuXG4gKiAgICAgVGhlIGNvbHVtbiBudW1iZXIgaXMgMC1iYXNlZC5cbiAqL1xuQmFzaWNTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuZ2VuZXJhdGVkUG9zaXRpb25Gb3IgPVxuICBmdW5jdGlvbiBTb3VyY2VNYXBDb25zdW1lcl9nZW5lcmF0ZWRQb3NpdGlvbkZvcihhQXJncykge1xuICAgIHZhciBzb3VyY2UgPSB1dGlsLmdldEFyZyhhQXJncywgJ3NvdXJjZScpO1xuICAgIHNvdXJjZSA9IHRoaXMuX2ZpbmRTb3VyY2VJbmRleChzb3VyY2UpO1xuICAgIGlmIChzb3VyY2UgPCAwKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBsaW5lOiBudWxsLFxuICAgICAgICBjb2x1bW46IG51bGwsXG4gICAgICAgIGxhc3RDb2x1bW46IG51bGxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgdmFyIG5lZWRsZSA9IHtcbiAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgb3JpZ2luYWxMaW5lOiB1dGlsLmdldEFyZyhhQXJncywgJ2xpbmUnKSxcbiAgICAgIG9yaWdpbmFsQ29sdW1uOiB1dGlsLmdldEFyZyhhQXJncywgJ2NvbHVtbicpXG4gICAgfTtcblxuICAgIHZhciBpbmRleCA9IHRoaXMuX2ZpbmRNYXBwaW5nKFxuICAgICAgbmVlZGxlLFxuICAgICAgdGhpcy5fb3JpZ2luYWxNYXBwaW5ncyxcbiAgICAgIFwib3JpZ2luYWxMaW5lXCIsXG4gICAgICBcIm9yaWdpbmFsQ29sdW1uXCIsXG4gICAgICB1dGlsLmNvbXBhcmVCeU9yaWdpbmFsUG9zaXRpb25zLFxuICAgICAgdXRpbC5nZXRBcmcoYUFyZ3MsICdiaWFzJywgU291cmNlTWFwQ29uc3VtZXIuR1JFQVRFU1RfTE9XRVJfQk9VTkQpXG4gICAgKTtcblxuICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICB2YXIgbWFwcGluZyA9IHRoaXMuX29yaWdpbmFsTWFwcGluZ3NbaW5kZXhdO1xuXG4gICAgICBpZiAobWFwcGluZy5zb3VyY2UgPT09IG5lZWRsZS5zb3VyY2UpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBsaW5lOiB1dGlsLmdldEFyZyhtYXBwaW5nLCAnZ2VuZXJhdGVkTGluZScsIG51bGwpLFxuICAgICAgICAgIGNvbHVtbjogdXRpbC5nZXRBcmcobWFwcGluZywgJ2dlbmVyYXRlZENvbHVtbicsIG51bGwpLFxuICAgICAgICAgIGxhc3RDb2x1bW46IHV0aWwuZ2V0QXJnKG1hcHBpbmcsICdsYXN0R2VuZXJhdGVkQ29sdW1uJywgbnVsbClcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbGluZTogbnVsbCxcbiAgICAgIGNvbHVtbjogbnVsbCxcbiAgICAgIGxhc3RDb2x1bW46IG51bGxcbiAgICB9O1xuICB9O1xuXG5leHBvcnRzLkJhc2ljU291cmNlTWFwQ29uc3VtZXIgPSBCYXNpY1NvdXJjZU1hcENvbnN1bWVyO1xuXG4vKipcbiAqIEFuIEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lciBpbnN0YW5jZSByZXByZXNlbnRzIGEgcGFyc2VkIHNvdXJjZSBtYXAgd2hpY2hcbiAqIHdlIGNhbiBxdWVyeSBmb3IgaW5mb3JtYXRpb24uIEl0IGRpZmZlcnMgZnJvbSBCYXNpY1NvdXJjZU1hcENvbnN1bWVyIGluXG4gKiB0aGF0IGl0IHRha2VzIFwiaW5kZXhlZFwiIHNvdXJjZSBtYXBzIChpLmUuIG9uZXMgd2l0aCBhIFwic2VjdGlvbnNcIiBmaWVsZCkgYXNcbiAqIGlucHV0LlxuICpcbiAqIFRoZSBmaXJzdCBwYXJhbWV0ZXIgaXMgYSByYXcgc291cmNlIG1hcCAoZWl0aGVyIGFzIGEgSlNPTiBzdHJpbmcsIG9yIGFscmVhZHlcbiAqIHBhcnNlZCB0byBhbiBvYmplY3QpLiBBY2NvcmRpbmcgdG8gdGhlIHNwZWMgZm9yIGluZGV4ZWQgc291cmNlIG1hcHMsIHRoZXlcbiAqIGhhdmUgdGhlIGZvbGxvd2luZyBhdHRyaWJ1dGVzOlxuICpcbiAqICAgLSB2ZXJzaW9uOiBXaGljaCB2ZXJzaW9uIG9mIHRoZSBzb3VyY2UgbWFwIHNwZWMgdGhpcyBtYXAgaXMgZm9sbG93aW5nLlxuICogICAtIGZpbGU6IE9wdGlvbmFsLiBUaGUgZ2VuZXJhdGVkIGZpbGUgdGhpcyBzb3VyY2UgbWFwIGlzIGFzc29jaWF0ZWQgd2l0aC5cbiAqICAgLSBzZWN0aW9uczogQSBsaXN0IG9mIHNlY3Rpb24gZGVmaW5pdGlvbnMuXG4gKlxuICogRWFjaCB2YWx1ZSB1bmRlciB0aGUgXCJzZWN0aW9uc1wiIGZpZWxkIGhhcyB0d28gZmllbGRzOlxuICogICAtIG9mZnNldDogVGhlIG9mZnNldCBpbnRvIHRoZSBvcmlnaW5hbCBzcGVjaWZpZWQgYXQgd2hpY2ggdGhpcyBzZWN0aW9uXG4gKiAgICAgICBiZWdpbnMgdG8gYXBwbHksIGRlZmluZWQgYXMgYW4gb2JqZWN0IHdpdGggYSBcImxpbmVcIiBhbmQgXCJjb2x1bW5cIlxuICogICAgICAgZmllbGQuXG4gKiAgIC0gbWFwOiBBIHNvdXJjZSBtYXAgZGVmaW5pdGlvbi4gVGhpcyBzb3VyY2UgbWFwIGNvdWxkIGFsc28gYmUgaW5kZXhlZCxcbiAqICAgICAgIGJ1dCBkb2Vzbid0IGhhdmUgdG8gYmUuXG4gKlxuICogSW5zdGVhZCBvZiB0aGUgXCJtYXBcIiBmaWVsZCwgaXQncyBhbHNvIHBvc3NpYmxlIHRvIGhhdmUgYSBcInVybFwiIGZpZWxkXG4gKiBzcGVjaWZ5aW5nIGEgVVJMIHRvIHJldHJpZXZlIGEgc291cmNlIG1hcCBmcm9tLCBidXQgdGhhdCdzIGN1cnJlbnRseVxuICogdW5zdXBwb3J0ZWQuXG4gKlxuICogSGVyZSdzIGFuIGV4YW1wbGUgc291cmNlIG1hcCwgdGFrZW4gZnJvbSB0aGUgc291cmNlIG1hcCBzcGVjWzBdLCBidXRcbiAqIG1vZGlmaWVkIHRvIG9taXQgYSBzZWN0aW9uIHdoaWNoIHVzZXMgdGhlIFwidXJsXCIgZmllbGQuXG4gKlxuICogIHtcbiAqICAgIHZlcnNpb24gOiAzLFxuICogICAgZmlsZTogXCJhcHAuanNcIixcbiAqICAgIHNlY3Rpb25zOiBbe1xuICogICAgICBvZmZzZXQ6IHtsaW5lOjEwMCwgY29sdW1uOjEwfSxcbiAqICAgICAgbWFwOiB7XG4gKiAgICAgICAgdmVyc2lvbiA6IDMsXG4gKiAgICAgICAgZmlsZTogXCJzZWN0aW9uLmpzXCIsXG4gKiAgICAgICAgc291cmNlczogW1wiZm9vLmpzXCIsIFwiYmFyLmpzXCJdLFxuICogICAgICAgIG5hbWVzOiBbXCJzcmNcIiwgXCJtYXBzXCIsIFwiYXJlXCIsIFwiZnVuXCJdLFxuICogICAgICAgIG1hcHBpbmdzOiBcIkFBQUEsRTs7QUJDREU7XCJcbiAqICAgICAgfVxuICogICAgfV0sXG4gKiAgfVxuICpcbiAqIFRoZSBzZWNvbmQgcGFyYW1ldGVyLCBpZiBnaXZlbiwgaXMgYSBzdHJpbmcgd2hvc2UgdmFsdWUgaXMgdGhlIFVSTFxuICogYXQgd2hpY2ggdGhlIHNvdXJjZSBtYXAgd2FzIGZvdW5kLiAgVGhpcyBVUkwgaXMgdXNlZCB0byBjb21wdXRlIHRoZVxuICogc291cmNlcyBhcnJheS5cbiAqXG4gKiBbMF06IGh0dHBzOi8vZG9jcy5nb29nbGUuY29tL2RvY3VtZW50L2QvMVUxUkdBZWhRd1J5cFVUb3ZGMUtSbHBpT0Z6ZTBiLV8yZ2M2ZkFIMEtZMGsvZWRpdCNoZWFkaW5nPWguNTM1ZXMzeGVwcmd0XG4gKi9cbmZ1bmN0aW9uIEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lcihhU291cmNlTWFwLCBhU291cmNlTWFwVVJMKSB7XG4gIHZhciBzb3VyY2VNYXAgPSBhU291cmNlTWFwO1xuICBpZiAodHlwZW9mIGFTb3VyY2VNYXAgPT09ICdzdHJpbmcnKSB7XG4gICAgc291cmNlTWFwID0gdXRpbC5wYXJzZVNvdXJjZU1hcElucHV0KGFTb3VyY2VNYXApO1xuICB9XG5cbiAgdmFyIHZlcnNpb24gPSB1dGlsLmdldEFyZyhzb3VyY2VNYXAsICd2ZXJzaW9uJyk7XG4gIHZhciBzZWN0aW9ucyA9IHV0aWwuZ2V0QXJnKHNvdXJjZU1hcCwgJ3NlY3Rpb25zJyk7XG5cbiAgaWYgKHZlcnNpb24gIT0gdGhpcy5fdmVyc2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgdmVyc2lvbjogJyArIHZlcnNpb24pO1xuICB9XG5cbiAgdGhpcy5fc291cmNlcyA9IG5ldyBBcnJheVNldCgpO1xuICB0aGlzLl9uYW1lcyA9IG5ldyBBcnJheVNldCgpO1xuXG4gIHZhciBsYXN0T2Zmc2V0ID0ge1xuICAgIGxpbmU6IC0xLFxuICAgIGNvbHVtbjogMFxuICB9O1xuICB0aGlzLl9zZWN0aW9ucyA9IHNlY3Rpb25zLm1hcChmdW5jdGlvbiAocykge1xuICAgIGlmIChzLnVybCkge1xuICAgICAgLy8gVGhlIHVybCBmaWVsZCB3aWxsIHJlcXVpcmUgc3VwcG9ydCBmb3IgYXN5bmNocm9uaWNpdHkuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvc291cmNlLW1hcC9pc3N1ZXMvMTZcbiAgICAgIHRocm93IG5ldyBFcnJvcignU3VwcG9ydCBmb3IgdXJsIGZpZWxkIGluIHNlY3Rpb25zIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgICB9XG4gICAgdmFyIG9mZnNldCA9IHV0aWwuZ2V0QXJnKHMsICdvZmZzZXQnKTtcbiAgICB2YXIgb2Zmc2V0TGluZSA9IHV0aWwuZ2V0QXJnKG9mZnNldCwgJ2xpbmUnKTtcbiAgICB2YXIgb2Zmc2V0Q29sdW1uID0gdXRpbC5nZXRBcmcob2Zmc2V0LCAnY29sdW1uJyk7XG5cbiAgICBpZiAob2Zmc2V0TGluZSA8IGxhc3RPZmZzZXQubGluZSB8fFxuICAgICAgICAob2Zmc2V0TGluZSA9PT0gbGFzdE9mZnNldC5saW5lICYmIG9mZnNldENvbHVtbiA8IGxhc3RPZmZzZXQuY29sdW1uKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdTZWN0aW9uIG9mZnNldHMgbXVzdCBiZSBvcmRlcmVkIGFuZCBub24tb3ZlcmxhcHBpbmcuJyk7XG4gICAgfVxuICAgIGxhc3RPZmZzZXQgPSBvZmZzZXQ7XG5cbiAgICByZXR1cm4ge1xuICAgICAgZ2VuZXJhdGVkT2Zmc2V0OiB7XG4gICAgICAgIC8vIFRoZSBvZmZzZXQgZmllbGRzIGFyZSAwLWJhc2VkLCBidXQgd2UgdXNlIDEtYmFzZWQgaW5kaWNlcyB3aGVuXG4gICAgICAgIC8vIGVuY29kaW5nL2RlY29kaW5nIGZyb20gVkxRLlxuICAgICAgICBnZW5lcmF0ZWRMaW5lOiBvZmZzZXRMaW5lICsgMSxcbiAgICAgICAgZ2VuZXJhdGVkQ29sdW1uOiBvZmZzZXRDb2x1bW4gKyAxXG4gICAgICB9LFxuICAgICAgY29uc3VtZXI6IG5ldyBTb3VyY2VNYXBDb25zdW1lcih1dGlsLmdldEFyZyhzLCAnbWFwJyksIGFTb3VyY2VNYXBVUkwpXG4gICAgfVxuICB9KTtcbn1cblxuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlKTtcbkluZGV4ZWRTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBTb3VyY2VNYXBDb25zdW1lcjtcblxuLyoqXG4gKiBUaGUgdmVyc2lvbiBvZiB0aGUgc291cmNlIG1hcHBpbmcgc3BlYyB0aGF0IHdlIGFyZSBjb25zdW1pbmcuXG4gKi9cbkluZGV4ZWRTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX3ZlcnNpb24gPSAzO1xuXG4vKipcbiAqIFRoZSBsaXN0IG9mIG9yaWdpbmFsIHNvdXJjZXMuXG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShJbmRleGVkU291cmNlTWFwQ29uc3VtZXIucHJvdG90eXBlLCAnc291cmNlcycsIHtcbiAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHNvdXJjZXMgPSBbXTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX3NlY3Rpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICBmb3IgKHZhciBqID0gMDsgaiA8IHRoaXMuX3NlY3Rpb25zW2ldLmNvbnN1bWVyLnNvdXJjZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgc291cmNlcy5wdXNoKHRoaXMuX3NlY3Rpb25zW2ldLmNvbnN1bWVyLnNvdXJjZXNbal0pO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc291cmNlcztcbiAgfVxufSk7XG5cbi8qKlxuICogUmV0dXJucyB0aGUgb3JpZ2luYWwgc291cmNlLCBsaW5lLCBhbmQgY29sdW1uIGluZm9ybWF0aW9uIGZvciB0aGUgZ2VuZXJhdGVkXG4gKiBzb3VyY2UncyBsaW5lIGFuZCBjb2x1bW4gcG9zaXRpb25zIHByb3ZpZGVkLiBUaGUgb25seSBhcmd1bWVudCBpcyBhbiBvYmplY3RcbiAqIHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBsaW5lOiBUaGUgbGluZSBudW1iZXIgaW4gdGhlIGdlbmVyYXRlZCBzb3VyY2UuICBUaGUgbGluZSBudW1iZXJcbiAqICAgICBpcyAxLWJhc2VkLlxuICogICAtIGNvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIGdlbmVyYXRlZCBzb3VyY2UuICBUaGUgY29sdW1uXG4gKiAgICAgbnVtYmVyIGlzIDAtYmFzZWQuXG4gKlxuICogYW5kIGFuIG9iamVjdCBpcyByZXR1cm5lZCB3aXRoIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllczpcbiAqXG4gKiAgIC0gc291cmNlOiBUaGUgb3JpZ2luYWwgc291cmNlIGZpbGUsIG9yIG51bGwuXG4gKiAgIC0gbGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UsIG9yIG51bGwuICBUaGVcbiAqICAgICBsaW5lIG51bWJlciBpcyAxLWJhc2VkLlxuICogICAtIGNvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZSwgb3IgbnVsbC4gIFRoZVxuICogICAgIGNvbHVtbiBudW1iZXIgaXMgMC1iYXNlZC5cbiAqICAgLSBuYW1lOiBUaGUgb3JpZ2luYWwgaWRlbnRpZmllciwgb3IgbnVsbC5cbiAqL1xuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5vcmlnaW5hbFBvc2l0aW9uRm9yID1cbiAgZnVuY3Rpb24gSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyX29yaWdpbmFsUG9zaXRpb25Gb3IoYUFyZ3MpIHtcbiAgICB2YXIgbmVlZGxlID0ge1xuICAgICAgZ2VuZXJhdGVkTGluZTogdXRpbC5nZXRBcmcoYUFyZ3MsICdsaW5lJyksXG4gICAgICBnZW5lcmF0ZWRDb2x1bW46IHV0aWwuZ2V0QXJnKGFBcmdzLCAnY29sdW1uJylcbiAgICB9O1xuXG4gICAgLy8gRmluZCB0aGUgc2VjdGlvbiBjb250YWluaW5nIHRoZSBnZW5lcmF0ZWQgcG9zaXRpb24gd2UncmUgdHJ5aW5nIHRvIG1hcFxuICAgIC8vIHRvIGFuIG9yaWdpbmFsIHBvc2l0aW9uLlxuICAgIHZhciBzZWN0aW9uSW5kZXggPSBiaW5hcnlTZWFyY2guc2VhcmNoKG5lZWRsZSwgdGhpcy5fc2VjdGlvbnMsXG4gICAgICBmdW5jdGlvbihuZWVkbGUsIHNlY3Rpb24pIHtcbiAgICAgICAgdmFyIGNtcCA9IG5lZWRsZS5nZW5lcmF0ZWRMaW5lIC0gc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkTGluZTtcbiAgICAgICAgaWYgKGNtcCkge1xuICAgICAgICAgIHJldHVybiBjbXA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gKG5lZWRsZS5nZW5lcmF0ZWRDb2x1bW4gLVxuICAgICAgICAgICAgICAgIHNlY3Rpb24uZ2VuZXJhdGVkT2Zmc2V0LmdlbmVyYXRlZENvbHVtbik7XG4gICAgICB9KTtcbiAgICB2YXIgc2VjdGlvbiA9IHRoaXMuX3NlY3Rpb25zW3NlY3Rpb25JbmRleF07XG5cbiAgICBpZiAoIXNlY3Rpb24pIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHNvdXJjZTogbnVsbCxcbiAgICAgICAgbGluZTogbnVsbCxcbiAgICAgICAgY29sdW1uOiBudWxsLFxuICAgICAgICBuYW1lOiBudWxsXG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBzZWN0aW9uLmNvbnN1bWVyLm9yaWdpbmFsUG9zaXRpb25Gb3Ioe1xuICAgICAgbGluZTogbmVlZGxlLmdlbmVyYXRlZExpbmUgLVxuICAgICAgICAoc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkTGluZSAtIDEpLFxuICAgICAgY29sdW1uOiBuZWVkbGUuZ2VuZXJhdGVkQ29sdW1uIC1cbiAgICAgICAgKHNlY3Rpb24uZ2VuZXJhdGVkT2Zmc2V0LmdlbmVyYXRlZExpbmUgPT09IG5lZWRsZS5nZW5lcmF0ZWRMaW5lXG4gICAgICAgICA/IHNlY3Rpb24uZ2VuZXJhdGVkT2Zmc2V0LmdlbmVyYXRlZENvbHVtbiAtIDFcbiAgICAgICAgIDogMCksXG4gICAgICBiaWFzOiBhQXJncy5iaWFzXG4gICAgfSk7XG4gIH07XG5cbi8qKlxuICogUmV0dXJuIHRydWUgaWYgd2UgaGF2ZSB0aGUgc291cmNlIGNvbnRlbnQgZm9yIGV2ZXJ5IHNvdXJjZSBpbiB0aGUgc291cmNlXG4gKiBtYXAsIGZhbHNlIG90aGVyd2lzZS5cbiAqL1xuSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyLnByb3RvdHlwZS5oYXNDb250ZW50c09mQWxsU291cmNlcyA9XG4gIGZ1bmN0aW9uIEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lcl9oYXNDb250ZW50c09mQWxsU291cmNlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fc2VjdGlvbnMuZXZlcnkoZnVuY3Rpb24gKHMpIHtcbiAgICAgIHJldHVybiBzLmNvbnN1bWVyLmhhc0NvbnRlbnRzT2ZBbGxTb3VyY2VzKCk7XG4gICAgfSk7XG4gIH07XG5cbi8qKlxuICogUmV0dXJucyB0aGUgb3JpZ2luYWwgc291cmNlIGNvbnRlbnQuIFRoZSBvbmx5IGFyZ3VtZW50IGlzIHRoZSB1cmwgb2YgdGhlXG4gKiBvcmlnaW5hbCBzb3VyY2UgZmlsZS4gUmV0dXJucyBudWxsIGlmIG5vIG9yaWdpbmFsIHNvdXJjZSBjb250ZW50IGlzXG4gKiBhdmFpbGFibGUuXG4gKi9cbkluZGV4ZWRTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuc291cmNlQ29udGVudEZvciA9XG4gIGZ1bmN0aW9uIEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lcl9zb3VyY2VDb250ZW50Rm9yKGFTb3VyY2UsIG51bGxPbk1pc3NpbmcpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX3NlY3Rpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgc2VjdGlvbiA9IHRoaXMuX3NlY3Rpb25zW2ldO1xuXG4gICAgICB2YXIgY29udGVudCA9IHNlY3Rpb24uY29uc3VtZXIuc291cmNlQ29udGVudEZvcihhU291cmNlLCB0cnVlKTtcbiAgICAgIGlmIChjb250ZW50KSB7XG4gICAgICAgIHJldHVybiBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAobnVsbE9uTWlzc2luZykge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdcIicgKyBhU291cmNlICsgJ1wiIGlzIG5vdCBpbiB0aGUgU291cmNlTWFwLicpO1xuICAgIH1cbiAgfTtcblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBnZW5lcmF0ZWQgbGluZSBhbmQgY29sdW1uIGluZm9ybWF0aW9uIGZvciB0aGUgb3JpZ2luYWwgc291cmNlLFxuICogbGluZSwgYW5kIGNvbHVtbiBwb3NpdGlvbnMgcHJvdmlkZWQuIFRoZSBvbmx5IGFyZ3VtZW50IGlzIGFuIG9iamVjdCB3aXRoXG4gKiB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXM6XG4gKlxuICogICAtIHNvdXJjZTogVGhlIGZpbGVuYW1lIG9mIHRoZSBvcmlnaW5hbCBzb3VyY2UuXG4gKiAgIC0gbGluZTogVGhlIGxpbmUgbnVtYmVyIGluIHRoZSBvcmlnaW5hbCBzb3VyY2UuICBUaGUgbGluZSBudW1iZXJcbiAqICAgICBpcyAxLWJhc2VkLlxuICogICAtIGNvbHVtbjogVGhlIGNvbHVtbiBudW1iZXIgaW4gdGhlIG9yaWdpbmFsIHNvdXJjZS4gIFRoZSBjb2x1bW5cbiAqICAgICBudW1iZXIgaXMgMC1iYXNlZC5cbiAqXG4gKiBhbmQgYW4gb2JqZWN0IGlzIHJldHVybmVkIHdpdGggdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICpcbiAqICAgLSBsaW5lOiBUaGUgbGluZSBudW1iZXIgaW4gdGhlIGdlbmVyYXRlZCBzb3VyY2UsIG9yIG51bGwuICBUaGVcbiAqICAgICBsaW5lIG51bWJlciBpcyAxLWJhc2VkLiBcbiAqICAgLSBjb2x1bW46IFRoZSBjb2x1bW4gbnVtYmVyIGluIHRoZSBnZW5lcmF0ZWQgc291cmNlLCBvciBudWxsLlxuICogICAgIFRoZSBjb2x1bW4gbnVtYmVyIGlzIDAtYmFzZWQuXG4gKi9cbkluZGV4ZWRTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuZ2VuZXJhdGVkUG9zaXRpb25Gb3IgPVxuICBmdW5jdGlvbiBJbmRleGVkU291cmNlTWFwQ29uc3VtZXJfZ2VuZXJhdGVkUG9zaXRpb25Gb3IoYUFyZ3MpIHtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IHRoaXMuX3NlY3Rpb25zLmxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXIgc2VjdGlvbiA9IHRoaXMuX3NlY3Rpb25zW2ldO1xuXG4gICAgICAvLyBPbmx5IGNvbnNpZGVyIHRoaXMgc2VjdGlvbiBpZiB0aGUgcmVxdWVzdGVkIHNvdXJjZSBpcyBpbiB0aGUgbGlzdCBvZlxuICAgICAgLy8gc291cmNlcyBvZiB0aGUgY29uc3VtZXIuXG4gICAgICBpZiAoc2VjdGlvbi5jb25zdW1lci5fZmluZFNvdXJjZUluZGV4KHV0aWwuZ2V0QXJnKGFBcmdzLCAnc291cmNlJykpID09PSAtMSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIHZhciBnZW5lcmF0ZWRQb3NpdGlvbiA9IHNlY3Rpb24uY29uc3VtZXIuZ2VuZXJhdGVkUG9zaXRpb25Gb3IoYUFyZ3MpO1xuICAgICAgaWYgKGdlbmVyYXRlZFBvc2l0aW9uKSB7XG4gICAgICAgIHZhciByZXQgPSB7XG4gICAgICAgICAgbGluZTogZ2VuZXJhdGVkUG9zaXRpb24ubGluZSArXG4gICAgICAgICAgICAoc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkTGluZSAtIDEpLFxuICAgICAgICAgIGNvbHVtbjogZ2VuZXJhdGVkUG9zaXRpb24uY29sdW1uICtcbiAgICAgICAgICAgIChzZWN0aW9uLmdlbmVyYXRlZE9mZnNldC5nZW5lcmF0ZWRMaW5lID09PSBnZW5lcmF0ZWRQb3NpdGlvbi5saW5lXG4gICAgICAgICAgICAgPyBzZWN0aW9uLmdlbmVyYXRlZE9mZnNldC5nZW5lcmF0ZWRDb2x1bW4gLSAxXG4gICAgICAgICAgICAgOiAwKVxuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBsaW5lOiBudWxsLFxuICAgICAgY29sdW1uOiBudWxsXG4gICAgfTtcbiAgfTtcblxuLyoqXG4gKiBQYXJzZSB0aGUgbWFwcGluZ3MgaW4gYSBzdHJpbmcgaW4gdG8gYSBkYXRhIHN0cnVjdHVyZSB3aGljaCB3ZSBjYW4gZWFzaWx5XG4gKiBxdWVyeSAodGhlIG9yZGVyZWQgYXJyYXlzIGluIHRoZSBgdGhpcy5fX2dlbmVyYXRlZE1hcHBpbmdzYCBhbmRcbiAqIGB0aGlzLl9fb3JpZ2luYWxNYXBwaW5nc2AgcHJvcGVydGllcykuXG4gKi9cbkluZGV4ZWRTb3VyY2VNYXBDb25zdW1lci5wcm90b3R5cGUuX3BhcnNlTWFwcGluZ3MgPVxuICBmdW5jdGlvbiBJbmRleGVkU291cmNlTWFwQ29uc3VtZXJfcGFyc2VNYXBwaW5ncyhhU3RyLCBhU291cmNlUm9vdCkge1xuICAgIHRoaXMuX19nZW5lcmF0ZWRNYXBwaW5ncyA9IFtdO1xuICAgIHRoaXMuX19vcmlnaW5hbE1hcHBpbmdzID0gW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCB0aGlzLl9zZWN0aW9ucy5sZW5ndGg7IGkrKykge1xuICAgICAgdmFyIHNlY3Rpb24gPSB0aGlzLl9zZWN0aW9uc1tpXTtcbiAgICAgIHZhciBzZWN0aW9uTWFwcGluZ3MgPSBzZWN0aW9uLmNvbnN1bWVyLl9nZW5lcmF0ZWRNYXBwaW5ncztcbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgc2VjdGlvbk1hcHBpbmdzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIHZhciBtYXBwaW5nID0gc2VjdGlvbk1hcHBpbmdzW2pdO1xuXG4gICAgICAgIHZhciBzb3VyY2UgPSBzZWN0aW9uLmNvbnN1bWVyLl9zb3VyY2VzLmF0KG1hcHBpbmcuc291cmNlKTtcbiAgICAgICAgc291cmNlID0gdXRpbC5jb21wdXRlU291cmNlVVJMKHNlY3Rpb24uY29uc3VtZXIuc291cmNlUm9vdCwgc291cmNlLCB0aGlzLl9zb3VyY2VNYXBVUkwpO1xuICAgICAgICB0aGlzLl9zb3VyY2VzLmFkZChzb3VyY2UpO1xuICAgICAgICBzb3VyY2UgPSB0aGlzLl9zb3VyY2VzLmluZGV4T2Yoc291cmNlKTtcblxuICAgICAgICB2YXIgbmFtZSA9IG51bGw7XG4gICAgICAgIGlmIChtYXBwaW5nLm5hbWUpIHtcbiAgICAgICAgICBuYW1lID0gc2VjdGlvbi5jb25zdW1lci5fbmFtZXMuYXQobWFwcGluZy5uYW1lKTtcbiAgICAgICAgICB0aGlzLl9uYW1lcy5hZGQobmFtZSk7XG4gICAgICAgICAgbmFtZSA9IHRoaXMuX25hbWVzLmluZGV4T2YobmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBUaGUgbWFwcGluZ3MgY29taW5nIGZyb20gdGhlIGNvbnN1bWVyIGZvciB0aGUgc2VjdGlvbiBoYXZlXG4gICAgICAgIC8vIGdlbmVyYXRlZCBwb3NpdGlvbnMgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBzZWN0aW9uLCBzbyB3ZVxuICAgICAgICAvLyBuZWVkIHRvIG9mZnNldCB0aGVtIHRvIGJlIHJlbGF0aXZlIHRvIHRoZSBzdGFydCBvZiB0aGUgY29uY2F0ZW5hdGVkXG4gICAgICAgIC8vIGdlbmVyYXRlZCBmaWxlLlxuICAgICAgICB2YXIgYWRqdXN0ZWRNYXBwaW5nID0ge1xuICAgICAgICAgIHNvdXJjZTogc291cmNlLFxuICAgICAgICAgIGdlbmVyYXRlZExpbmU6IG1hcHBpbmcuZ2VuZXJhdGVkTGluZSArXG4gICAgICAgICAgICAoc2VjdGlvbi5nZW5lcmF0ZWRPZmZzZXQuZ2VuZXJhdGVkTGluZSAtIDEpLFxuICAgICAgICAgIGdlbmVyYXRlZENvbHVtbjogbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4gK1xuICAgICAgICAgICAgKHNlY3Rpb24uZ2VuZXJhdGVkT2Zmc2V0LmdlbmVyYXRlZExpbmUgPT09IG1hcHBpbmcuZ2VuZXJhdGVkTGluZVxuICAgICAgICAgICAgPyBzZWN0aW9uLmdlbmVyYXRlZE9mZnNldC5nZW5lcmF0ZWRDb2x1bW4gLSAxXG4gICAgICAgICAgICA6IDApLFxuICAgICAgICAgIG9yaWdpbmFsTGluZTogbWFwcGluZy5vcmlnaW5hbExpbmUsXG4gICAgICAgICAgb3JpZ2luYWxDb2x1bW46IG1hcHBpbmcub3JpZ2luYWxDb2x1bW4sXG4gICAgICAgICAgbmFtZTogbmFtZVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuX19nZW5lcmF0ZWRNYXBwaW5ncy5wdXNoKGFkanVzdGVkTWFwcGluZyk7XG4gICAgICAgIGlmICh0eXBlb2YgYWRqdXN0ZWRNYXBwaW5nLm9yaWdpbmFsTGluZSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgICB0aGlzLl9fb3JpZ2luYWxNYXBwaW5ncy5wdXNoKGFkanVzdGVkTWFwcGluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBxdWlja1NvcnQodGhpcy5fX2dlbmVyYXRlZE1hcHBpbmdzLCB1dGlsLmNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0RlZmxhdGVkKTtcbiAgICBxdWlja1NvcnQodGhpcy5fX29yaWdpbmFsTWFwcGluZ3MsIHV0aWwuY29tcGFyZUJ5T3JpZ2luYWxQb3NpdGlvbnMpO1xuICB9O1xuXG5leHBvcnRzLkluZGV4ZWRTb3VyY2VNYXBDb25zdW1lciA9IEluZGV4ZWRTb3VyY2VNYXBDb25zdW1lcjtcbiIsICIvKiAtKi0gTW9kZToganM7IGpzLWluZGVudC1sZXZlbDogMjsgLSotICovXG4vKlxuICogQ29weXJpZ2h0IDIwMTEgTW96aWxsYSBGb3VuZGF0aW9uIGFuZCBjb250cmlidXRvcnNcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBOZXcgQlNEIGxpY2Vuc2UuIFNlZSBMSUNFTlNFIG9yOlxuICogaHR0cDovL29wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL0JTRC0zLUNsYXVzZVxuICovXG5cbnZhciBTb3VyY2VNYXBHZW5lcmF0b3IgPSByZXF1aXJlKCcuL3NvdXJjZS1tYXAtZ2VuZXJhdG9yJykuU291cmNlTWFwR2VuZXJhdG9yO1xudmFyIHV0aWwgPSByZXF1aXJlKCcuL3V0aWwnKTtcblxuLy8gTWF0Y2hlcyBhIFdpbmRvd3Mtc3R5bGUgYFxcclxcbmAgbmV3bGluZSBvciBhIGBcXG5gIG5ld2xpbmUgdXNlZCBieSBhbGwgb3RoZXJcbi8vIG9wZXJhdGluZyBzeXN0ZW1zIHRoZXNlIGRheXMgKGNhcHR1cmluZyB0aGUgcmVzdWx0KS5cbnZhciBSRUdFWF9ORVdMSU5FID0gLyhcXHI/XFxuKS87XG5cbi8vIE5ld2xpbmUgY2hhcmFjdGVyIGNvZGUgZm9yIGNoYXJDb2RlQXQoKSBjb21wYXJpc29uc1xudmFyIE5FV0xJTkVfQ09ERSA9IDEwO1xuXG4vLyBQcml2YXRlIHN5bWJvbCBmb3IgaWRlbnRpZnlpbmcgYFNvdXJjZU5vZGVgcyB3aGVuIG11bHRpcGxlIHZlcnNpb25zIG9mXG4vLyB0aGUgc291cmNlLW1hcCBsaWJyYXJ5IGFyZSBsb2FkZWQuIFRoaXMgTVVTVCBOT1QgQ0hBTkdFIGFjcm9zc1xuLy8gdmVyc2lvbnMhXG52YXIgaXNTb3VyY2VOb2RlID0gXCIkJCRpc1NvdXJjZU5vZGUkJCRcIjtcblxuLyoqXG4gKiBTb3VyY2VOb2RlcyBwcm92aWRlIGEgd2F5IHRvIGFic3RyYWN0IG92ZXIgaW50ZXJwb2xhdGluZy9jb25jYXRlbmF0aW5nXG4gKiBzbmlwcGV0cyBvZiBnZW5lcmF0ZWQgSmF2YVNjcmlwdCBzb3VyY2UgY29kZSB3aGlsZSBtYWludGFpbmluZyB0aGUgbGluZSBhbmRcbiAqIGNvbHVtbiBpbmZvcm1hdGlvbiBhc3NvY2lhdGVkIHdpdGggdGhlIG9yaWdpbmFsIHNvdXJjZSBjb2RlLlxuICpcbiAqIEBwYXJhbSBhTGluZSBUaGUgb3JpZ2luYWwgbGluZSBudW1iZXIuXG4gKiBAcGFyYW0gYUNvbHVtbiBUaGUgb3JpZ2luYWwgY29sdW1uIG51bWJlci5cbiAqIEBwYXJhbSBhU291cmNlIFRoZSBvcmlnaW5hbCBzb3VyY2UncyBmaWxlbmFtZS5cbiAqIEBwYXJhbSBhQ2h1bmtzIE9wdGlvbmFsLiBBbiBhcnJheSBvZiBzdHJpbmdzIHdoaWNoIGFyZSBzbmlwcGV0cyBvZlxuICogICAgICAgIGdlbmVyYXRlZCBKUywgb3Igb3RoZXIgU291cmNlTm9kZXMuXG4gKiBAcGFyYW0gYU5hbWUgVGhlIG9yaWdpbmFsIGlkZW50aWZpZXIuXG4gKi9cbmZ1bmN0aW9uIFNvdXJjZU5vZGUoYUxpbmUsIGFDb2x1bW4sIGFTb3VyY2UsIGFDaHVua3MsIGFOYW1lKSB7XG4gIHRoaXMuY2hpbGRyZW4gPSBbXTtcbiAgdGhpcy5zb3VyY2VDb250ZW50cyA9IHt9O1xuICB0aGlzLmxpbmUgPSBhTGluZSA9PSBudWxsID8gbnVsbCA6IGFMaW5lO1xuICB0aGlzLmNvbHVtbiA9IGFDb2x1bW4gPT0gbnVsbCA/IG51bGwgOiBhQ29sdW1uO1xuICB0aGlzLnNvdXJjZSA9IGFTb3VyY2UgPT0gbnVsbCA/IG51bGwgOiBhU291cmNlO1xuICB0aGlzLm5hbWUgPSBhTmFtZSA9PSBudWxsID8gbnVsbCA6IGFOYW1lO1xuICB0aGlzW2lzU291cmNlTm9kZV0gPSB0cnVlO1xuICBpZiAoYUNodW5rcyAhPSBudWxsKSB0aGlzLmFkZChhQ2h1bmtzKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgU291cmNlTm9kZSBmcm9tIGdlbmVyYXRlZCBjb2RlIGFuZCBhIFNvdXJjZU1hcENvbnN1bWVyLlxuICpcbiAqIEBwYXJhbSBhR2VuZXJhdGVkQ29kZSBUaGUgZ2VuZXJhdGVkIGNvZGVcbiAqIEBwYXJhbSBhU291cmNlTWFwQ29uc3VtZXIgVGhlIFNvdXJjZU1hcCBmb3IgdGhlIGdlbmVyYXRlZCBjb2RlXG4gKiBAcGFyYW0gYVJlbGF0aXZlUGF0aCBPcHRpb25hbC4gVGhlIHBhdGggdGhhdCByZWxhdGl2ZSBzb3VyY2VzIGluIHRoZVxuICogICAgICAgIFNvdXJjZU1hcENvbnN1bWVyIHNob3VsZCBiZSByZWxhdGl2ZSB0by5cbiAqL1xuU291cmNlTm9kZS5mcm9tU3RyaW5nV2l0aFNvdXJjZU1hcCA9XG4gIGZ1bmN0aW9uIFNvdXJjZU5vZGVfZnJvbVN0cmluZ1dpdGhTb3VyY2VNYXAoYUdlbmVyYXRlZENvZGUsIGFTb3VyY2VNYXBDb25zdW1lciwgYVJlbGF0aXZlUGF0aCkge1xuICAgIC8vIFRoZSBTb3VyY2VOb2RlIHdlIHdhbnQgdG8gZmlsbCB3aXRoIHRoZSBnZW5lcmF0ZWQgY29kZVxuICAgIC8vIGFuZCB0aGUgU291cmNlTWFwXG4gICAgdmFyIG5vZGUgPSBuZXcgU291cmNlTm9kZSgpO1xuXG4gICAgLy8gQWxsIGV2ZW4gaW5kaWNlcyBvZiB0aGlzIGFycmF5IGFyZSBvbmUgbGluZSBvZiB0aGUgZ2VuZXJhdGVkIGNvZGUsXG4gICAgLy8gd2hpbGUgYWxsIG9kZCBpbmRpY2VzIGFyZSB0aGUgbmV3bGluZXMgYmV0d2VlbiB0d28gYWRqYWNlbnQgbGluZXNcbiAgICAvLyAoc2luY2UgYFJFR0VYX05FV0xJTkVgIGNhcHR1cmVzIGl0cyBtYXRjaCkuXG4gICAgLy8gUHJvY2Vzc2VkIGZyYWdtZW50cyBhcmUgYWNjZXNzZWQgYnkgY2FsbGluZyBgc2hpZnROZXh0TGluZWAuXG4gICAgdmFyIHJlbWFpbmluZ0xpbmVzID0gYUdlbmVyYXRlZENvZGUuc3BsaXQoUkVHRVhfTkVXTElORSk7XG4gICAgdmFyIHJlbWFpbmluZ0xpbmVzSW5kZXggPSAwO1xuICAgIHZhciBzaGlmdE5leHRMaW5lID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgbGluZUNvbnRlbnRzID0gZ2V0TmV4dExpbmUoKTtcbiAgICAgIC8vIFRoZSBsYXN0IGxpbmUgb2YgYSBmaWxlIG1pZ2h0IG5vdCBoYXZlIGEgbmV3bGluZS5cbiAgICAgIHZhciBuZXdMaW5lID0gZ2V0TmV4dExpbmUoKSB8fCBcIlwiO1xuICAgICAgcmV0dXJuIGxpbmVDb250ZW50cyArIG5ld0xpbmU7XG5cbiAgICAgIGZ1bmN0aW9uIGdldE5leHRMaW5lKCkge1xuICAgICAgICByZXR1cm4gcmVtYWluaW5nTGluZXNJbmRleCA8IHJlbWFpbmluZ0xpbmVzLmxlbmd0aCA/XG4gICAgICAgICAgICByZW1haW5pbmdMaW5lc1tyZW1haW5pbmdMaW5lc0luZGV4KytdIDogdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvLyBXZSBuZWVkIHRvIHJlbWVtYmVyIHRoZSBwb3NpdGlvbiBvZiBcInJlbWFpbmluZ0xpbmVzXCJcbiAgICB2YXIgbGFzdEdlbmVyYXRlZExpbmUgPSAxLCBsYXN0R2VuZXJhdGVkQ29sdW1uID0gMDtcblxuICAgIC8vIFRoZSBnZW5lcmF0ZSBTb3VyY2VOb2RlcyB3ZSBuZWVkIGEgY29kZSByYW5nZS5cbiAgICAvLyBUbyBleHRyYWN0IGl0IGN1cnJlbnQgYW5kIGxhc3QgbWFwcGluZyBpcyB1c2VkLlxuICAgIC8vIEhlcmUgd2Ugc3RvcmUgdGhlIGxhc3QgbWFwcGluZy5cbiAgICB2YXIgbGFzdE1hcHBpbmcgPSBudWxsO1xuXG4gICAgYVNvdXJjZU1hcENvbnN1bWVyLmVhY2hNYXBwaW5nKGZ1bmN0aW9uIChtYXBwaW5nKSB7XG4gICAgICBpZiAobGFzdE1hcHBpbmcgIT09IG51bGwpIHtcbiAgICAgICAgLy8gV2UgYWRkIHRoZSBjb2RlIGZyb20gXCJsYXN0TWFwcGluZ1wiIHRvIFwibWFwcGluZ1wiOlxuICAgICAgICAvLyBGaXJzdCBjaGVjayBpZiB0aGVyZSBpcyBhIG5ldyBsaW5lIGluIGJldHdlZW4uXG4gICAgICAgIGlmIChsYXN0R2VuZXJhdGVkTGluZSA8IG1hcHBpbmcuZ2VuZXJhdGVkTGluZSkge1xuICAgICAgICAgIC8vIEFzc29jaWF0ZSBmaXJzdCBsaW5lIHdpdGggXCJsYXN0TWFwcGluZ1wiXG4gICAgICAgICAgYWRkTWFwcGluZ1dpdGhDb2RlKGxhc3RNYXBwaW5nLCBzaGlmdE5leHRMaW5lKCkpO1xuICAgICAgICAgIGxhc3RHZW5lcmF0ZWRMaW5lKys7XG4gICAgICAgICAgbGFzdEdlbmVyYXRlZENvbHVtbiA9IDA7XG4gICAgICAgICAgLy8gVGhlIHJlbWFpbmluZyBjb2RlIGlzIGFkZGVkIHdpdGhvdXQgbWFwcGluZ1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIFRoZXJlIGlzIG5vIG5ldyBsaW5lIGluIGJldHdlZW4uXG4gICAgICAgICAgLy8gQXNzb2NpYXRlIHRoZSBjb2RlIGJldHdlZW4gXCJsYXN0R2VuZXJhdGVkQ29sdW1uXCIgYW5kXG4gICAgICAgICAgLy8gXCJtYXBwaW5nLmdlbmVyYXRlZENvbHVtblwiIHdpdGggXCJsYXN0TWFwcGluZ1wiXG4gICAgICAgICAgdmFyIG5leHRMaW5lID0gcmVtYWluaW5nTGluZXNbcmVtYWluaW5nTGluZXNJbmRleF0gfHwgJyc7XG4gICAgICAgICAgdmFyIGNvZGUgPSBuZXh0TGluZS5zdWJzdHIoMCwgbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4gLVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhc3RHZW5lcmF0ZWRDb2x1bW4pO1xuICAgICAgICAgIHJlbWFpbmluZ0xpbmVzW3JlbWFpbmluZ0xpbmVzSW5kZXhdID0gbmV4dExpbmUuc3Vic3RyKG1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uIC1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXN0R2VuZXJhdGVkQ29sdW1uKTtcbiAgICAgICAgICBsYXN0R2VuZXJhdGVkQ29sdW1uID0gbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW47XG4gICAgICAgICAgYWRkTWFwcGluZ1dpdGhDb2RlKGxhc3RNYXBwaW5nLCBjb2RlKTtcbiAgICAgICAgICAvLyBObyBtb3JlIHJlbWFpbmluZyBjb2RlLCBjb250aW51ZVxuICAgICAgICAgIGxhc3RNYXBwaW5nID0gbWFwcGluZztcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIFdlIGFkZCB0aGUgZ2VuZXJhdGVkIGNvZGUgdW50aWwgdGhlIGZpcnN0IG1hcHBpbmdcbiAgICAgIC8vIHRvIHRoZSBTb3VyY2VOb2RlIHdpdGhvdXQgYW55IG1hcHBpbmcuXG4gICAgICAvLyBFYWNoIGxpbmUgaXMgYWRkZWQgYXMgc2VwYXJhdGUgc3RyaW5nLlxuICAgICAgd2hpbGUgKGxhc3RHZW5lcmF0ZWRMaW5lIDwgbWFwcGluZy5nZW5lcmF0ZWRMaW5lKSB7XG4gICAgICAgIG5vZGUuYWRkKHNoaWZ0TmV4dExpbmUoKSk7XG4gICAgICAgIGxhc3RHZW5lcmF0ZWRMaW5lKys7XG4gICAgICB9XG4gICAgICBpZiAobGFzdEdlbmVyYXRlZENvbHVtbiA8IG1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uKSB7XG4gICAgICAgIHZhciBuZXh0TGluZSA9IHJlbWFpbmluZ0xpbmVzW3JlbWFpbmluZ0xpbmVzSW5kZXhdIHx8ICcnO1xuICAgICAgICBub2RlLmFkZChuZXh0TGluZS5zdWJzdHIoMCwgbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4pKTtcbiAgICAgICAgcmVtYWluaW5nTGluZXNbcmVtYWluaW5nTGluZXNJbmRleF0gPSBuZXh0TGluZS5zdWJzdHIobWFwcGluZy5nZW5lcmF0ZWRDb2x1bW4pO1xuICAgICAgICBsYXN0R2VuZXJhdGVkQ29sdW1uID0gbWFwcGluZy5nZW5lcmF0ZWRDb2x1bW47XG4gICAgICB9XG4gICAgICBsYXN0TWFwcGluZyA9IG1hcHBpbmc7XG4gICAgfSwgdGhpcyk7XG4gICAgLy8gV2UgaGF2ZSBwcm9jZXNzZWQgYWxsIG1hcHBpbmdzLlxuICAgIGlmIChyZW1haW5pbmdMaW5lc0luZGV4IDwgcmVtYWluaW5nTGluZXMubGVuZ3RoKSB7XG4gICAgICBpZiAobGFzdE1hcHBpbmcpIHtcbiAgICAgICAgLy8gQXNzb2NpYXRlIHRoZSByZW1haW5pbmcgY29kZSBpbiB0aGUgY3VycmVudCBsaW5lIHdpdGggXCJsYXN0TWFwcGluZ1wiXG4gICAgICAgIGFkZE1hcHBpbmdXaXRoQ29kZShsYXN0TWFwcGluZywgc2hpZnROZXh0TGluZSgpKTtcbiAgICAgIH1cbiAgICAgIC8vIGFuZCBhZGQgdGhlIHJlbWFpbmluZyBsaW5lcyB3aXRob3V0IGFueSBtYXBwaW5nXG4gICAgICBub2RlLmFkZChyZW1haW5pbmdMaW5lcy5zcGxpY2UocmVtYWluaW5nTGluZXNJbmRleCkuam9pbihcIlwiKSk7XG4gICAgfVxuXG4gICAgLy8gQ29weSBzb3VyY2VzQ29udGVudCBpbnRvIFNvdXJjZU5vZGVcbiAgICBhU291cmNlTWFwQ29uc3VtZXIuc291cmNlcy5mb3JFYWNoKGZ1bmN0aW9uIChzb3VyY2VGaWxlKSB7XG4gICAgICB2YXIgY29udGVudCA9IGFTb3VyY2VNYXBDb25zdW1lci5zb3VyY2VDb250ZW50Rm9yKHNvdXJjZUZpbGUpO1xuICAgICAgaWYgKGNvbnRlbnQgIT0gbnVsbCkge1xuICAgICAgICBpZiAoYVJlbGF0aXZlUGF0aCAhPSBudWxsKSB7XG4gICAgICAgICAgc291cmNlRmlsZSA9IHV0aWwuam9pbihhUmVsYXRpdmVQYXRoLCBzb3VyY2VGaWxlKTtcbiAgICAgICAgfVxuICAgICAgICBub2RlLnNldFNvdXJjZUNvbnRlbnQoc291cmNlRmlsZSwgY29udGVudCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICByZXR1cm4gbm9kZTtcblxuICAgIGZ1bmN0aW9uIGFkZE1hcHBpbmdXaXRoQ29kZShtYXBwaW5nLCBjb2RlKSB7XG4gICAgICBpZiAobWFwcGluZyA9PT0gbnVsbCB8fCBtYXBwaW5nLnNvdXJjZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIG5vZGUuYWRkKGNvZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIHNvdXJjZSA9IGFSZWxhdGl2ZVBhdGhcbiAgICAgICAgICA/IHV0aWwuam9pbihhUmVsYXRpdmVQYXRoLCBtYXBwaW5nLnNvdXJjZSlcbiAgICAgICAgICA6IG1hcHBpbmcuc291cmNlO1xuICAgICAgICBub2RlLmFkZChuZXcgU291cmNlTm9kZShtYXBwaW5nLm9yaWdpbmFsTGluZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZy5vcmlnaW5hbENvbHVtbixcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYXBwaW5nLm5hbWUpKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbi8qKlxuICogQWRkIGEgY2h1bmsgb2YgZ2VuZXJhdGVkIEpTIHRvIHRoaXMgc291cmNlIG5vZGUuXG4gKlxuICogQHBhcmFtIGFDaHVuayBBIHN0cmluZyBzbmlwcGV0IG9mIGdlbmVyYXRlZCBKUyBjb2RlLCBhbm90aGVyIGluc3RhbmNlIG9mXG4gKiAgICAgICAgU291cmNlTm9kZSwgb3IgYW4gYXJyYXkgd2hlcmUgZWFjaCBtZW1iZXIgaXMgb25lIG9mIHRob3NlIHRoaW5ncy5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gU291cmNlTm9kZV9hZGQoYUNodW5rKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGFDaHVuaykpIHtcbiAgICBhQ2h1bmsuZm9yRWFjaChmdW5jdGlvbiAoY2h1bmspIHtcbiAgICAgIHRoaXMuYWRkKGNodW5rKTtcbiAgICB9LCB0aGlzKTtcbiAgfVxuICBlbHNlIGlmIChhQ2h1bmtbaXNTb3VyY2VOb2RlXSB8fCB0eXBlb2YgYUNodW5rID09PSBcInN0cmluZ1wiKSB7XG4gICAgaWYgKGFDaHVuaykge1xuICAgICAgdGhpcy5jaGlsZHJlbi5wdXNoKGFDaHVuayk7XG4gICAgfVxuICB9XG4gIGVsc2Uge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICBcIkV4cGVjdGVkIGEgU291cmNlTm9kZSwgc3RyaW5nLCBvciBhbiBhcnJheSBvZiBTb3VyY2VOb2RlcyBhbmQgc3RyaW5ncy4gR290IFwiICsgYUNodW5rXG4gICAgKTtcbiAgfVxuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogQWRkIGEgY2h1bmsgb2YgZ2VuZXJhdGVkIEpTIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhpcyBzb3VyY2Ugbm9kZS5cbiAqXG4gKiBAcGFyYW0gYUNodW5rIEEgc3RyaW5nIHNuaXBwZXQgb2YgZ2VuZXJhdGVkIEpTIGNvZGUsIGFub3RoZXIgaW5zdGFuY2Ugb2ZcbiAqICAgICAgICBTb3VyY2VOb2RlLCBvciBhbiBhcnJheSB3aGVyZSBlYWNoIG1lbWJlciBpcyBvbmUgb2YgdGhvc2UgdGhpbmdzLlxuICovXG5Tb3VyY2VOb2RlLnByb3RvdHlwZS5wcmVwZW5kID0gZnVuY3Rpb24gU291cmNlTm9kZV9wcmVwZW5kKGFDaHVuaykge1xuICBpZiAoQXJyYXkuaXNBcnJheShhQ2h1bmspKSB7XG4gICAgZm9yICh2YXIgaSA9IGFDaHVuay5sZW5ndGgtMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIHRoaXMucHJlcGVuZChhQ2h1bmtbaV0pO1xuICAgIH1cbiAgfVxuICBlbHNlIGlmIChhQ2h1bmtbaXNTb3VyY2VOb2RlXSB8fCB0eXBlb2YgYUNodW5rID09PSBcInN0cmluZ1wiKSB7XG4gICAgdGhpcy5jaGlsZHJlbi51bnNoaWZ0KGFDaHVuayk7XG4gIH1cbiAgZWxzZSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgIFwiRXhwZWN0ZWQgYSBTb3VyY2VOb2RlLCBzdHJpbmcsIG9yIGFuIGFycmF5IG9mIFNvdXJjZU5vZGVzIGFuZCBzdHJpbmdzLiBHb3QgXCIgKyBhQ2h1bmtcbiAgICApO1xuICB9XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBXYWxrIG92ZXIgdGhlIHRyZWUgb2YgSlMgc25pcHBldHMgaW4gdGhpcyBub2RlIGFuZCBpdHMgY2hpbGRyZW4uIFRoZVxuICogd2Fsa2luZyBmdW5jdGlvbiBpcyBjYWxsZWQgb25jZSBmb3IgZWFjaCBzbmlwcGV0IG9mIEpTIGFuZCBpcyBwYXNzZWQgdGhhdFxuICogc25pcHBldCBhbmQgdGhlIGl0cyBvcmlnaW5hbCBhc3NvY2lhdGVkIHNvdXJjZSdzIGxpbmUvY29sdW1uIGxvY2F0aW9uLlxuICpcbiAqIEBwYXJhbSBhRm4gVGhlIHRyYXZlcnNhbCBmdW5jdGlvbi5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUud2FsayA9IGZ1bmN0aW9uIFNvdXJjZU5vZGVfd2FsayhhRm4pIHtcbiAgdmFyIGNodW5rO1xuICBmb3IgKHZhciBpID0gMCwgbGVuID0gdGhpcy5jaGlsZHJlbi5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgIGNodW5rID0gdGhpcy5jaGlsZHJlbltpXTtcbiAgICBpZiAoY2h1bmtbaXNTb3VyY2VOb2RlXSkge1xuICAgICAgY2h1bmsud2FsayhhRm4pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGlmIChjaHVuayAhPT0gJycpIHtcbiAgICAgICAgYUZuKGNodW5rLCB7IHNvdXJjZTogdGhpcy5zb3VyY2UsXG4gICAgICAgICAgICAgICAgICAgICBsaW5lOiB0aGlzLmxpbmUsXG4gICAgICAgICAgICAgICAgICAgICBjb2x1bW46IHRoaXMuY29sdW1uLFxuICAgICAgICAgICAgICAgICAgICAgbmFtZTogdGhpcy5uYW1lIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBMaWtlIGBTdHJpbmcucHJvdG90eXBlLmpvaW5gIGV4Y2VwdCBmb3IgU291cmNlTm9kZXMuIEluc2VydHMgYGFTdHJgIGJldHdlZW5cbiAqIGVhY2ggb2YgYHRoaXMuY2hpbGRyZW5gLlxuICpcbiAqIEBwYXJhbSBhU2VwIFRoZSBzZXBhcmF0b3IuXG4gKi9cblNvdXJjZU5vZGUucHJvdG90eXBlLmpvaW4gPSBmdW5jdGlvbiBTb3VyY2VOb2RlX2pvaW4oYVNlcCkge1xuICB2YXIgbmV3Q2hpbGRyZW47XG4gIHZhciBpO1xuICB2YXIgbGVuID0gdGhpcy5jaGlsZHJlbi5sZW5ndGg7XG4gIGlmIChsZW4gPiAwKSB7XG4gICAgbmV3Q2hpbGRyZW4gPSBbXTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgbGVuLTE7IGkrKykge1xuICAgICAgbmV3Q2hpbGRyZW4ucHVzaCh0aGlzLmNoaWxkcmVuW2ldKTtcbiAgICAgIG5ld0NoaWxkcmVuLnB1c2goYVNlcCk7XG4gICAgfVxuICAgIG5ld0NoaWxkcmVuLnB1c2godGhpcy5jaGlsZHJlbltpXSk7XG4gICAgdGhpcy5jaGlsZHJlbiA9IG5ld0NoaWxkcmVuO1xuICB9XG4gIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBDYWxsIFN0cmluZy5wcm90b3R5cGUucmVwbGFjZSBvbiB0aGUgdmVyeSByaWdodC1tb3N0IHNvdXJjZSBzbmlwcGV0LiBVc2VmdWxcbiAqIGZvciB0cmltbWluZyB3aGl0ZXNwYWNlIGZyb20gdGhlIGVuZCBvZiBhIHNvdXJjZSBub2RlLCBldGMuXG4gKlxuICogQHBhcmFtIGFQYXR0ZXJuIFRoZSBwYXR0ZXJuIHRvIHJlcGxhY2UuXG4gKiBAcGFyYW0gYVJlcGxhY2VtZW50IFRoZSB0aGluZyB0byByZXBsYWNlIHRoZSBwYXR0ZXJuIHdpdGguXG4gKi9cblNvdXJjZU5vZGUucHJvdG90eXBlLnJlcGxhY2VSaWdodCA9IGZ1bmN0aW9uIFNvdXJjZU5vZGVfcmVwbGFjZVJpZ2h0KGFQYXR0ZXJuLCBhUmVwbGFjZW1lbnQpIHtcbiAgdmFyIGxhc3RDaGlsZCA9IHRoaXMuY2hpbGRyZW5bdGhpcy5jaGlsZHJlbi5sZW5ndGggLSAxXTtcbiAgaWYgKGxhc3RDaGlsZFtpc1NvdXJjZU5vZGVdKSB7XG4gICAgbGFzdENoaWxkLnJlcGxhY2VSaWdodChhUGF0dGVybiwgYVJlcGxhY2VtZW50KTtcbiAgfVxuICBlbHNlIGlmICh0eXBlb2YgbGFzdENoaWxkID09PSAnc3RyaW5nJykge1xuICAgIHRoaXMuY2hpbGRyZW5bdGhpcy5jaGlsZHJlbi5sZW5ndGggLSAxXSA9IGxhc3RDaGlsZC5yZXBsYWNlKGFQYXR0ZXJuLCBhUmVwbGFjZW1lbnQpO1xuICB9XG4gIGVsc2Uge1xuICAgIHRoaXMuY2hpbGRyZW4ucHVzaCgnJy5yZXBsYWNlKGFQYXR0ZXJuLCBhUmVwbGFjZW1lbnQpKTtcbiAgfVxuICByZXR1cm4gdGhpcztcbn07XG5cbi8qKlxuICogU2V0IHRoZSBzb3VyY2UgY29udGVudCBmb3IgYSBzb3VyY2UgZmlsZS4gVGhpcyB3aWxsIGJlIGFkZGVkIHRvIHRoZSBTb3VyY2VNYXBHZW5lcmF0b3JcbiAqIGluIHRoZSBzb3VyY2VzQ29udGVudCBmaWVsZC5cbiAqXG4gKiBAcGFyYW0gYVNvdXJjZUZpbGUgVGhlIGZpbGVuYW1lIG9mIHRoZSBzb3VyY2UgZmlsZVxuICogQHBhcmFtIGFTb3VyY2VDb250ZW50IFRoZSBjb250ZW50IG9mIHRoZSBzb3VyY2UgZmlsZVxuICovXG5Tb3VyY2VOb2RlLnByb3RvdHlwZS5zZXRTb3VyY2VDb250ZW50ID1cbiAgZnVuY3Rpb24gU291cmNlTm9kZV9zZXRTb3VyY2VDb250ZW50KGFTb3VyY2VGaWxlLCBhU291cmNlQ29udGVudCkge1xuICAgIHRoaXMuc291cmNlQ29udGVudHNbdXRpbC50b1NldFN0cmluZyhhU291cmNlRmlsZSldID0gYVNvdXJjZUNvbnRlbnQ7XG4gIH07XG5cbi8qKlxuICogV2FsayBvdmVyIHRoZSB0cmVlIG9mIFNvdXJjZU5vZGVzLiBUaGUgd2Fsa2luZyBmdW5jdGlvbiBpcyBjYWxsZWQgZm9yIGVhY2hcbiAqIHNvdXJjZSBmaWxlIGNvbnRlbnQgYW5kIGlzIHBhc3NlZCB0aGUgZmlsZW5hbWUgYW5kIHNvdXJjZSBjb250ZW50LlxuICpcbiAqIEBwYXJhbSBhRm4gVGhlIHRyYXZlcnNhbCBmdW5jdGlvbi5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUud2Fsa1NvdXJjZUNvbnRlbnRzID1cbiAgZnVuY3Rpb24gU291cmNlTm9kZV93YWxrU291cmNlQ29udGVudHMoYUZuKSB7XG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbiA9IHRoaXMuY2hpbGRyZW4ubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGlmICh0aGlzLmNoaWxkcmVuW2ldW2lzU291cmNlTm9kZV0pIHtcbiAgICAgICAgdGhpcy5jaGlsZHJlbltpXS53YWxrU291cmNlQ29udGVudHMoYUZuKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB2YXIgc291cmNlcyA9IE9iamVjdC5rZXlzKHRoaXMuc291cmNlQ29udGVudHMpO1xuICAgIGZvciAodmFyIGkgPSAwLCBsZW4gPSBzb3VyY2VzLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICBhRm4odXRpbC5mcm9tU2V0U3RyaW5nKHNvdXJjZXNbaV0pLCB0aGlzLnNvdXJjZUNvbnRlbnRzW3NvdXJjZXNbaV1dKTtcbiAgICB9XG4gIH07XG5cbi8qKlxuICogUmV0dXJuIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgdGhpcyBzb3VyY2Ugbm9kZS4gV2Fsa3Mgb3ZlciB0aGUgdHJlZVxuICogYW5kIGNvbmNhdGVuYXRlcyBhbGwgdGhlIHZhcmlvdXMgc25pcHBldHMgdG9nZXRoZXIgdG8gb25lIHN0cmluZy5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbiBTb3VyY2VOb2RlX3RvU3RyaW5nKCkge1xuICB2YXIgc3RyID0gXCJcIjtcbiAgdGhpcy53YWxrKGZ1bmN0aW9uIChjaHVuaykge1xuICAgIHN0ciArPSBjaHVuaztcbiAgfSk7XG4gIHJldHVybiBzdHI7XG59O1xuXG4vKipcbiAqIFJldHVybnMgdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGlzIHNvdXJjZSBub2RlIGFsb25nIHdpdGggYSBzb3VyY2VcbiAqIG1hcC5cbiAqL1xuU291cmNlTm9kZS5wcm90b3R5cGUudG9TdHJpbmdXaXRoU291cmNlTWFwID0gZnVuY3Rpb24gU291cmNlTm9kZV90b1N0cmluZ1dpdGhTb3VyY2VNYXAoYUFyZ3MpIHtcbiAgdmFyIGdlbmVyYXRlZCA9IHtcbiAgICBjb2RlOiBcIlwiLFxuICAgIGxpbmU6IDEsXG4gICAgY29sdW1uOiAwXG4gIH07XG4gIHZhciBtYXAgPSBuZXcgU291cmNlTWFwR2VuZXJhdG9yKGFBcmdzKTtcbiAgdmFyIHNvdXJjZU1hcHBpbmdBY3RpdmUgPSBmYWxzZTtcbiAgdmFyIGxhc3RPcmlnaW5hbFNvdXJjZSA9IG51bGw7XG4gIHZhciBsYXN0T3JpZ2luYWxMaW5lID0gbnVsbDtcbiAgdmFyIGxhc3RPcmlnaW5hbENvbHVtbiA9IG51bGw7XG4gIHZhciBsYXN0T3JpZ2luYWxOYW1lID0gbnVsbDtcbiAgdGhpcy53YWxrKGZ1bmN0aW9uIChjaHVuaywgb3JpZ2luYWwpIHtcbiAgICBnZW5lcmF0ZWQuY29kZSArPSBjaHVuaztcbiAgICBpZiAob3JpZ2luYWwuc291cmNlICE9PSBudWxsXG4gICAgICAgICYmIG9yaWdpbmFsLmxpbmUgIT09IG51bGxcbiAgICAgICAgJiYgb3JpZ2luYWwuY29sdW1uICE9PSBudWxsKSB7XG4gICAgICBpZihsYXN0T3JpZ2luYWxTb3VyY2UgIT09IG9yaWdpbmFsLnNvdXJjZVxuICAgICAgICAgfHwgbGFzdE9yaWdpbmFsTGluZSAhPT0gb3JpZ2luYWwubGluZVxuICAgICAgICAgfHwgbGFzdE9yaWdpbmFsQ29sdW1uICE9PSBvcmlnaW5hbC5jb2x1bW5cbiAgICAgICAgIHx8IGxhc3RPcmlnaW5hbE5hbWUgIT09IG9yaWdpbmFsLm5hbWUpIHtcbiAgICAgICAgbWFwLmFkZE1hcHBpbmcoe1xuICAgICAgICAgIHNvdXJjZTogb3JpZ2luYWwuc291cmNlLFxuICAgICAgICAgIG9yaWdpbmFsOiB7XG4gICAgICAgICAgICBsaW5lOiBvcmlnaW5hbC5saW5lLFxuICAgICAgICAgICAgY29sdW1uOiBvcmlnaW5hbC5jb2x1bW5cbiAgICAgICAgICB9LFxuICAgICAgICAgIGdlbmVyYXRlZDoge1xuICAgICAgICAgICAgbGluZTogZ2VuZXJhdGVkLmxpbmUsXG4gICAgICAgICAgICBjb2x1bW46IGdlbmVyYXRlZC5jb2x1bW5cbiAgICAgICAgICB9LFxuICAgICAgICAgIG5hbWU6IG9yaWdpbmFsLm5hbWVcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBsYXN0T3JpZ2luYWxTb3VyY2UgPSBvcmlnaW5hbC5zb3VyY2U7XG4gICAgICBsYXN0T3JpZ2luYWxMaW5lID0gb3JpZ2luYWwubGluZTtcbiAgICAgIGxhc3RPcmlnaW5hbENvbHVtbiA9IG9yaWdpbmFsLmNvbHVtbjtcbiAgICAgIGxhc3RPcmlnaW5hbE5hbWUgPSBvcmlnaW5hbC5uYW1lO1xuICAgICAgc291cmNlTWFwcGluZ0FjdGl2ZSA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChzb3VyY2VNYXBwaW5nQWN0aXZlKSB7XG4gICAgICBtYXAuYWRkTWFwcGluZyh7XG4gICAgICAgIGdlbmVyYXRlZDoge1xuICAgICAgICAgIGxpbmU6IGdlbmVyYXRlZC5saW5lLFxuICAgICAgICAgIGNvbHVtbjogZ2VuZXJhdGVkLmNvbHVtblxuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGxhc3RPcmlnaW5hbFNvdXJjZSA9IG51bGw7XG4gICAgICBzb3VyY2VNYXBwaW5nQWN0aXZlID0gZmFsc2U7XG4gICAgfVxuICAgIGZvciAodmFyIGlkeCA9IDAsIGxlbmd0aCA9IGNodW5rLmxlbmd0aDsgaWR4IDwgbGVuZ3RoOyBpZHgrKykge1xuICAgICAgaWYgKGNodW5rLmNoYXJDb2RlQXQoaWR4KSA9PT0gTkVXTElORV9DT0RFKSB7XG4gICAgICAgIGdlbmVyYXRlZC5saW5lKys7XG4gICAgICAgIGdlbmVyYXRlZC5jb2x1bW4gPSAwO1xuICAgICAgICAvLyBNYXBwaW5ncyBlbmQgYXQgZW9sXG4gICAgICAgIGlmIChpZHggKyAxID09PSBsZW5ndGgpIHtcbiAgICAgICAgICBsYXN0T3JpZ2luYWxTb3VyY2UgPSBudWxsO1xuICAgICAgICAgIHNvdXJjZU1hcHBpbmdBY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgfSBlbHNlIGlmIChzb3VyY2VNYXBwaW5nQWN0aXZlKSB7XG4gICAgICAgICAgbWFwLmFkZE1hcHBpbmcoe1xuICAgICAgICAgICAgc291cmNlOiBvcmlnaW5hbC5zb3VyY2UsXG4gICAgICAgICAgICBvcmlnaW5hbDoge1xuICAgICAgICAgICAgICBsaW5lOiBvcmlnaW5hbC5saW5lLFxuICAgICAgICAgICAgICBjb2x1bW46IG9yaWdpbmFsLmNvbHVtblxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGdlbmVyYXRlZDoge1xuICAgICAgICAgICAgICBsaW5lOiBnZW5lcmF0ZWQubGluZSxcbiAgICAgICAgICAgICAgY29sdW1uOiBnZW5lcmF0ZWQuY29sdW1uXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgbmFtZTogb3JpZ2luYWwubmFtZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBnZW5lcmF0ZWQuY29sdW1uKys7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgdGhpcy53YWxrU291cmNlQ29udGVudHMoZnVuY3Rpb24gKHNvdXJjZUZpbGUsIHNvdXJjZUNvbnRlbnQpIHtcbiAgICBtYXAuc2V0U291cmNlQ29udGVudChzb3VyY2VGaWxlLCBzb3VyY2VDb250ZW50KTtcbiAgfSk7XG5cbiAgcmV0dXJuIHsgY29kZTogZ2VuZXJhdGVkLmNvZGUsIG1hcDogbWFwIH07XG59O1xuXG5leHBvcnRzLlNvdXJjZU5vZGUgPSBTb3VyY2VOb2RlO1xuIiwgIi8qXG4gKiBDb3B5cmlnaHQgMjAwOS0yMDExIE1vemlsbGEgRm91bmRhdGlvbiBhbmQgY29udHJpYnV0b3JzXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgTmV3IEJTRCBsaWNlbnNlLiBTZWUgTElDRU5TRS50eHQgb3I6XG4gKiBodHRwOi8vb3BlbnNvdXJjZS5vcmcvbGljZW5zZXMvQlNELTMtQ2xhdXNlXG4gKi9cbmV4cG9ydHMuU291cmNlTWFwR2VuZXJhdG9yID0gcmVxdWlyZSgnLi9saWIvc291cmNlLW1hcC1nZW5lcmF0b3InKS5Tb3VyY2VNYXBHZW5lcmF0b3I7XG5leHBvcnRzLlNvdXJjZU1hcENvbnN1bWVyID0gcmVxdWlyZSgnLi9saWIvc291cmNlLW1hcC1jb25zdW1lcicpLlNvdXJjZU1hcENvbnN1bWVyO1xuZXhwb3J0cy5Tb3VyY2VOb2RlID0gcmVxdWlyZSgnLi9saWIvc291cmNlLW5vZGUnKS5Tb3VyY2VOb2RlO1xuIiwgIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5pc1RyYWlsaW5nQ29tbWFFbmFibGVkID0gZXhwb3J0cy5nZXRQYXJlbnRFeHBvcnREZWNsYXJhdGlvbiA9IGV4cG9ydHMuaXNFeHBvcnREZWNsYXJhdGlvbiA9IGV4cG9ydHMuZml4RmF1bHR5TG9jYXRpb25zID0gZXhwb3J0cy5nZXRUcnVlTG9jID0gZXhwb3J0cy5jb21wb3NlU291cmNlTWFwcyA9IGV4cG9ydHMuY29weVBvcyA9IGV4cG9ydHMuY29tcGFyZVBvcyA9IGV4cG9ydHMuZ2V0VW5pb25PZktleXMgPSBleHBvcnRzLmdldE9wdGlvbiA9IGV4cG9ydHMuaXNCcm93c2VyID0gZXhwb3J0cy5nZXRMaW5lVGVybWluYXRvciA9IHZvaWQgMDtcbnZhciB0c2xpYl8xID0gcmVxdWlyZShcInRzbGliXCIpO1xudmFyIHRpbnlfaW52YXJpYW50XzEgPSB0c2xpYl8xLl9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwidGlueS1pbnZhcmlhbnRcIikpO1xudmFyIHR5cGVzID0gdHNsaWJfMS5fX2ltcG9ydFN0YXIocmVxdWlyZShcImFzdC10eXBlc1wiKSk7XG52YXIgbiA9IHR5cGVzLm5hbWVkVHlwZXM7XG52YXIgc291cmNlX21hcF8xID0gdHNsaWJfMS5fX2ltcG9ydERlZmF1bHQocmVxdWlyZShcInNvdXJjZS1tYXBcIikpO1xudmFyIFNvdXJjZU1hcENvbnN1bWVyID0gc291cmNlX21hcF8xLmRlZmF1bHQuU291cmNlTWFwQ29uc3VtZXI7XG52YXIgU291cmNlTWFwR2VuZXJhdG9yID0gc291cmNlX21hcF8xLmRlZmF1bHQuU291cmNlTWFwR2VuZXJhdG9yO1xudmFyIGhhc093biA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG5mdW5jdGlvbiBnZXRMaW5lVGVybWluYXRvcigpIHtcbiAgICByZXR1cm4gaXNCcm93c2VyKCkgPyBcIlxcblwiIDogcmVxdWlyZShcIm9zXCIpLkVPTCB8fCBcIlxcblwiO1xufVxuZXhwb3J0cy5nZXRMaW5lVGVybWluYXRvciA9IGdldExpbmVUZXJtaW5hdG9yO1xuZnVuY3Rpb24gaXNCcm93c2VyKCkge1xuICAgIHJldHVybiAodHlwZW9mIHdpbmRvdyAhPT0gXCJ1bmRlZmluZWRcIiAmJiB0eXBlb2Ygd2luZG93LmRvY3VtZW50ICE9PSBcInVuZGVmaW5lZFwiKTtcbn1cbmV4cG9ydHMuaXNCcm93c2VyID0gaXNCcm93c2VyO1xuZnVuY3Rpb24gZ2V0T3B0aW9uKG9wdGlvbnMsIGtleSwgZGVmYXVsdFZhbHVlKSB7XG4gICAgaWYgKG9wdGlvbnMgJiYgaGFzT3duLmNhbGwob3B0aW9ucywga2V5KSkge1xuICAgICAgICByZXR1cm4gb3B0aW9uc1trZXldO1xuICAgIH1cbiAgICByZXR1cm4gZGVmYXVsdFZhbHVlO1xufVxuZXhwb3J0cy5nZXRPcHRpb24gPSBnZXRPcHRpb247XG5mdW5jdGlvbiBnZXRVbmlvbk9mS2V5cygpIHtcbiAgICB2YXIgYXJncyA9IFtdO1xuICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgIGFyZ3NbX2ldID0gYXJndW1lbnRzW19pXTtcbiAgICB9XG4gICAgdmFyIHJlc3VsdCA9IHt9O1xuICAgIHZhciBhcmdjID0gYXJncy5sZW5ndGg7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdjOyArK2kpIHtcbiAgICAgICAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhhcmdzW2ldKTtcbiAgICAgICAgdmFyIGtleUNvdW50ID0ga2V5cy5sZW5ndGg7XG4gICAgICAgIGZvciAodmFyIGogPSAwOyBqIDwga2V5Q291bnQ7ICsraikge1xuICAgICAgICAgICAgcmVzdWx0W2tleXNbal1dID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZXhwb3J0cy5nZXRVbmlvbk9mS2V5cyA9IGdldFVuaW9uT2ZLZXlzO1xuZnVuY3Rpb24gY29tcGFyZVBvcyhwb3MxLCBwb3MyKSB7XG4gICAgcmV0dXJuIHBvczEubGluZSAtIHBvczIubGluZSB8fCBwb3MxLmNvbHVtbiAtIHBvczIuY29sdW1uO1xufVxuZXhwb3J0cy5jb21wYXJlUG9zID0gY29tcGFyZVBvcztcbmZ1bmN0aW9uIGNvcHlQb3MocG9zKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbGluZTogcG9zLmxpbmUsXG4gICAgICAgIGNvbHVtbjogcG9zLmNvbHVtbixcbiAgICB9O1xufVxuZXhwb3J0cy5jb3B5UG9zID0gY29weVBvcztcbmZ1bmN0aW9uIGNvbXBvc2VTb3VyY2VNYXBzKGZvcm1lck1hcCwgbGF0dGVyTWFwKSB7XG4gICAgaWYgKGZvcm1lck1hcCkge1xuICAgICAgICBpZiAoIWxhdHRlck1hcCkge1xuICAgICAgICAgICAgcmV0dXJuIGZvcm1lck1hcDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIGxhdHRlck1hcCB8fCBudWxsO1xuICAgIH1cbiAgICB2YXIgc21jRm9ybWVyID0gbmV3IFNvdXJjZU1hcENvbnN1bWVyKGZvcm1lck1hcCk7XG4gICAgdmFyIHNtY0xhdHRlciA9IG5ldyBTb3VyY2VNYXBDb25zdW1lcihsYXR0ZXJNYXApO1xuICAgIHZhciBzbWcgPSBuZXcgU291cmNlTWFwR2VuZXJhdG9yKHtcbiAgICAgICAgZmlsZTogbGF0dGVyTWFwLmZpbGUsXG4gICAgICAgIHNvdXJjZVJvb3Q6IGxhdHRlck1hcC5zb3VyY2VSb290LFxuICAgIH0pO1xuICAgIHZhciBzb3VyY2VzVG9Db250ZW50cyA9IHt9O1xuICAgIHNtY0xhdHRlci5lYWNoTWFwcGluZyhmdW5jdGlvbiAobWFwcGluZykge1xuICAgICAgICB2YXIgb3JpZ1BvcyA9IHNtY0Zvcm1lci5vcmlnaW5hbFBvc2l0aW9uRm9yKHtcbiAgICAgICAgICAgIGxpbmU6IG1hcHBpbmcub3JpZ2luYWxMaW5lLFxuICAgICAgICAgICAgY29sdW1uOiBtYXBwaW5nLm9yaWdpbmFsQ29sdW1uLFxuICAgICAgICB9KTtcbiAgICAgICAgdmFyIHNvdXJjZU5hbWUgPSBvcmlnUG9zLnNvdXJjZTtcbiAgICAgICAgaWYgKHNvdXJjZU5hbWUgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzbWcuYWRkTWFwcGluZyh7XG4gICAgICAgICAgICBzb3VyY2U6IHNvdXJjZU5hbWUsXG4gICAgICAgICAgICBvcmlnaW5hbDogY29weVBvcyhvcmlnUG9zKSxcbiAgICAgICAgICAgIGdlbmVyYXRlZDoge1xuICAgICAgICAgICAgICAgIGxpbmU6IG1hcHBpbmcuZ2VuZXJhdGVkTGluZSxcbiAgICAgICAgICAgICAgICBjb2x1bW46IG1hcHBpbmcuZ2VuZXJhdGVkQ29sdW1uLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIG5hbWU6IG1hcHBpbmcubmFtZSxcbiAgICAgICAgfSk7XG4gICAgICAgIHZhciBzb3VyY2VDb250ZW50ID0gc21jRm9ybWVyLnNvdXJjZUNvbnRlbnRGb3Ioc291cmNlTmFtZSk7XG4gICAgICAgIGlmIChzb3VyY2VDb250ZW50ICYmICFoYXNPd24uY2FsbChzb3VyY2VzVG9Db250ZW50cywgc291cmNlTmFtZSkpIHtcbiAgICAgICAgICAgIHNvdXJjZXNUb0NvbnRlbnRzW3NvdXJjZU5hbWVdID0gc291cmNlQ29udGVudDtcbiAgICAgICAgICAgIHNtZy5zZXRTb3VyY2VDb250ZW50KHNvdXJjZU5hbWUsIHNvdXJjZUNvbnRlbnQpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHNtZy50b0pTT04oKTtcbn1cbmV4cG9ydHMuY29tcG9zZVNvdXJjZU1hcHMgPSBjb21wb3NlU291cmNlTWFwcztcbmZ1bmN0aW9uIGdldFRydWVMb2Mobm9kZSwgbGluZXMpIHtcbiAgICAvLyBJdCdzIHBvc3NpYmxlIHRoYXQgbm9kZSBpcyBuZXdseS1jcmVhdGVkIChub3QgcGFyc2VkIGJ5IEVzcHJpbWEpLFxuICAgIC8vIGluIHdoaWNoIGNhc2UgaXQgcHJvYmFibHkgd29uJ3QgaGF2ZSBhIC5sb2MgcHJvcGVydHkgKG9yIGFuXG4gICAgLy8gLm9yaWdpbmFsIHByb3BlcnR5IGZvciB0aGF0IG1hdHRlcikuIFRoYXQncyBmaW5lOyB3ZSdsbCBqdXN0XG4gICAgLy8gcHJldHR5LXByaW50IGl0IGFzIHVzdWFsLlxuICAgIGlmICghbm9kZS5sb2MpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHZhciByZXN1bHQgPSB7XG4gICAgICAgIHN0YXJ0OiBub2RlLmxvYy5zdGFydCxcbiAgICAgICAgZW5kOiBub2RlLmxvYy5lbmQsXG4gICAgfTtcbiAgICBmdW5jdGlvbiBpbmNsdWRlKG5vZGUpIHtcbiAgICAgICAgZXhwYW5kTG9jKHJlc3VsdCwgbm9kZS5sb2MpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgbm9kZSBpcyBhbiBleHBvcnQgZGVjbGFyYXRpb24gYW5kIGl0cyAuZGVjbGFyYXRpb24gaGFzIGFueVxuICAgIC8vIGRlY29yYXRvcnMsIHRoZWlyIGxvY2F0aW9ucyBtaWdodCBjb250cmlidXRlIHRvIHRoZSB0cnVlIHN0YXJ0L2VuZFxuICAgIC8vIHBvc2l0aW9ucyBvZiB0aGUgZXhwb3J0IGRlY2xhcmF0aW9uIG5vZGUuXG4gICAgaWYgKG5vZGUuZGVjbGFyYXRpb24gJiZcbiAgICAgICAgbm9kZS5kZWNsYXJhdGlvbi5kZWNvcmF0b3JzICYmXG4gICAgICAgIGlzRXhwb3J0RGVjbGFyYXRpb24obm9kZSkpIHtcbiAgICAgICAgbm9kZS5kZWNsYXJhdGlvbi5kZWNvcmF0b3JzLmZvckVhY2goaW5jbHVkZSk7XG4gICAgfVxuICAgIGlmIChjb21wYXJlUG9zKHJlc3VsdC5zdGFydCwgcmVzdWx0LmVuZCkgPCAwKSB7XG4gICAgICAgIC8vIFRyaW0gbGVhZGluZyB3aGl0ZXNwYWNlLlxuICAgICAgICByZXN1bHQuc3RhcnQgPSBjb3B5UG9zKHJlc3VsdC5zdGFydCk7XG4gICAgICAgIGxpbmVzLnNraXBTcGFjZXMocmVzdWx0LnN0YXJ0LCBmYWxzZSwgdHJ1ZSk7XG4gICAgICAgIGlmIChjb21wYXJlUG9zKHJlc3VsdC5zdGFydCwgcmVzdWx0LmVuZCkgPCAwKSB7XG4gICAgICAgICAgICAvLyBUcmltIHRyYWlsaW5nIHdoaXRlc3BhY2UsIGlmIHRoZSBlbmQgbG9jYXRpb24gaXMgbm90IGFscmVhZHkgdGhlXG4gICAgICAgICAgICAvLyBzYW1lIGFzIHRoZSBzdGFydCBsb2NhdGlvbi5cbiAgICAgICAgICAgIHJlc3VsdC5lbmQgPSBjb3B5UG9zKHJlc3VsdC5lbmQpO1xuICAgICAgICAgICAgbGluZXMuc2tpcFNwYWNlcyhyZXN1bHQuZW5kLCB0cnVlLCB0cnVlKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvLyBJZiB0aGUgbm9kZSBoYXMgYW55IGNvbW1lbnRzLCB0aGVpciBsb2NhdGlvbnMgbWlnaHQgY29udHJpYnV0ZSB0b1xuICAgIC8vIHRoZSB0cnVlIHN0YXJ0L2VuZCBwb3NpdGlvbnMgb2YgdGhlIG5vZGUuXG4gICAgaWYgKG5vZGUuY29tbWVudHMpIHtcbiAgICAgICAgbm9kZS5jb21tZW50cy5mb3JFYWNoKGluY2x1ZGUpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xufVxuZXhwb3J0cy5nZXRUcnVlTG9jID0gZ2V0VHJ1ZUxvYztcbmZ1bmN0aW9uIGV4cGFuZExvYyhwYXJlbnRMb2MsIGNoaWxkTG9jKSB7XG4gICAgaWYgKHBhcmVudExvYyAmJiBjaGlsZExvYykge1xuICAgICAgICBpZiAoY29tcGFyZVBvcyhjaGlsZExvYy5zdGFydCwgcGFyZW50TG9jLnN0YXJ0KSA8IDApIHtcbiAgICAgICAgICAgIHBhcmVudExvYy5zdGFydCA9IGNoaWxkTG9jLnN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb21wYXJlUG9zKHBhcmVudExvYy5lbmQsIGNoaWxkTG9jLmVuZCkgPCAwKSB7XG4gICAgICAgICAgICBwYXJlbnRMb2MuZW5kID0gY2hpbGRMb2MuZW5kO1xuICAgICAgICB9XG4gICAgfVxufVxuZnVuY3Rpb24gZml4RmF1bHR5TG9jYXRpb25zKG5vZGUsIGxpbmVzKSB7XG4gICAgdmFyIGxvYyA9IG5vZGUubG9jO1xuICAgIGlmIChsb2MpIHtcbiAgICAgICAgaWYgKGxvYy5zdGFydC5saW5lIDwgMSkge1xuICAgICAgICAgICAgbG9jLnN0YXJ0LmxpbmUgPSAxO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsb2MuZW5kLmxpbmUgPCAxKSB7XG4gICAgICAgICAgICBsb2MuZW5kLmxpbmUgPSAxO1xuICAgICAgICB9XG4gICAgfVxuICAgIGlmIChub2RlLnR5cGUgPT09IFwiRmlsZVwiKSB7XG4gICAgICAgIC8vIEJhYnlsb24gcmV0dXJucyBGaWxlIG5vZGVzIHdob3NlIC5sb2Mue3N0YXJ0LGVuZH0gZG8gbm90IGluY2x1ZGVcbiAgICAgICAgLy8gbGVhZGluZyBvciB0cmFpbGluZyB3aGl0ZXNwYWNlLlxuICAgICAgICBsb2Muc3RhcnQgPSBsaW5lcy5maXJzdFBvcygpO1xuICAgICAgICBsb2MuZW5kID0gbGluZXMubGFzdFBvcygpO1xuICAgIH1cbiAgICBmaXhGb3JMb29wSGVhZChub2RlLCBsaW5lcyk7XG4gICAgZml4VGVtcGxhdGVMaXRlcmFsKG5vZGUsIGxpbmVzKTtcbiAgICBpZiAobG9jICYmIG5vZGUuZGVjb3JhdG9ycykge1xuICAgICAgICAvLyBFeHBhbmQgdGhlIC5sb2Mgb2YgdGhlIG5vZGUgcmVzcG9uc2libGUgZm9yIHByaW50aW5nIHRoZSBkZWNvcmF0b3JzXG4gICAgICAgIC8vIChoZXJlLCB0aGUgZGVjb3JhdGVkIG5vZGUpIHNvIHRoYXQgaXQgaW5jbHVkZXMgbm9kZS5kZWNvcmF0b3JzLlxuICAgICAgICBub2RlLmRlY29yYXRvcnMuZm9yRWFjaChmdW5jdGlvbiAoZGVjb3JhdG9yKSB7XG4gICAgICAgICAgICBleHBhbmRMb2MobG9jLCBkZWNvcmF0b3IubG9jKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGVsc2UgaWYgKG5vZGUuZGVjbGFyYXRpb24gJiYgaXNFeHBvcnREZWNsYXJhdGlvbihub2RlKSkge1xuICAgICAgICAvLyBOdWxsaWZ5IC5sb2MgaW5mb3JtYXRpb24gZm9yIHRoZSBjaGlsZCBkZWNsYXJhdGlvbiBzbyB0aGF0IHdlIG5ldmVyXG4gICAgICAgIC8vIHRyeSB0byByZXByaW50IGl0IHdpdGhvdXQgYWxzbyByZXByaW50aW5nIHRoZSBleHBvcnQgZGVjbGFyYXRpb24uXG4gICAgICAgIG5vZGUuZGVjbGFyYXRpb24ubG9jID0gbnVsbDtcbiAgICAgICAgLy8gRXhwYW5kIHRoZSAubG9jIG9mIHRoZSBub2RlIHJlc3BvbnNpYmxlIGZvciBwcmludGluZyB0aGUgZGVjb3JhdG9yc1xuICAgICAgICAvLyAoaGVyZSwgdGhlIGV4cG9ydCBkZWNsYXJhdGlvbikgc28gdGhhdCBpdCBpbmNsdWRlcyBub2RlLmRlY29yYXRvcnMuXG4gICAgICAgIHZhciBkZWNvcmF0b3JzID0gbm9kZS5kZWNsYXJhdGlvbi5kZWNvcmF0b3JzO1xuICAgICAgICBpZiAoZGVjb3JhdG9ycykge1xuICAgICAgICAgICAgZGVjb3JhdG9ycy5mb3JFYWNoKGZ1bmN0aW9uIChkZWNvcmF0b3IpIHtcbiAgICAgICAgICAgICAgICBleHBhbmRMb2MobG9jLCBkZWNvcmF0b3IubG9jKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2UgaWYgKChuLk1ldGhvZERlZmluaXRpb24gJiYgbi5NZXRob2REZWZpbml0aW9uLmNoZWNrKG5vZGUpKSB8fFxuICAgICAgICAobi5Qcm9wZXJ0eS5jaGVjayhub2RlKSAmJiAobm9kZS5tZXRob2QgfHwgbm9kZS5zaG9ydGhhbmQpKSkge1xuICAgICAgICAvLyBJZiB0aGUgbm9kZSBpcyBhIE1ldGhvZERlZmluaXRpb24gb3IgYSAubWV0aG9kIG9yIC5zaG9ydGhhbmRcbiAgICAgICAgLy8gUHJvcGVydHksIHRoZW4gdGhlIGxvY2F0aW9uIGluZm9ybWF0aW9uIHN0b3JlZCBpblxuICAgICAgICAvLyBub2RlLnZhbHVlLmxvYyBpcyB2ZXJ5IGxpa2VseSB1bnRydXN0d29ydGh5IChqdXN0IHRoZSB7Ym9keX1cbiAgICAgICAgLy8gcGFydCBvZiBhIG1ldGhvZCwgb3Igbm90aGluZyBpbiB0aGUgY2FzZSBvZiBzaG9ydGhhbmRcbiAgICAgICAgLy8gcHJvcGVydGllcyksIHNvIHdlIG51bGwgb3V0IHRoYXQgaW5mb3JtYXRpb24gdG8gcHJldmVudFxuICAgICAgICAvLyBhY2NpZGVudGFsIHJldXNlIG9mIGJvZ3VzIHNvdXJjZSBjb2RlIGR1cmluZyByZXByaW50aW5nLlxuICAgICAgICBub2RlLnZhbHVlLmxvYyA9IG51bGw7XG4gICAgICAgIGlmIChuLkZ1bmN0aW9uRXhwcmVzc2lvbi5jaGVjayhub2RlLnZhbHVlKSkge1xuICAgICAgICAgICAgLy8gRnVuY3Rpb25FeHByZXNzaW9uIG1ldGhvZCB2YWx1ZXMgc2hvdWxkIGJlIGFub255bW91cyxcbiAgICAgICAgICAgIC8vIGJlY2F1c2UgdGhlaXIgLmlkIGZpZWxkcyBhcmUgaWdub3JlZCBhbnl3YXkuXG4gICAgICAgICAgICBub2RlLnZhbHVlLmlkID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIGlmIChub2RlLnR5cGUgPT09IFwiT2JqZWN0VHlwZVByb3BlcnR5XCIpIHtcbiAgICAgICAgdmFyIGxvY18xID0gbm9kZS5sb2M7XG4gICAgICAgIHZhciBlbmQgPSBsb2NfMSAmJiBsb2NfMS5lbmQ7XG4gICAgICAgIGlmIChlbmQpIHtcbiAgICAgICAgICAgIGVuZCA9IGNvcHlQb3MoZW5kKTtcbiAgICAgICAgICAgIGlmIChsaW5lcy5wcmV2UG9zKGVuZCkgJiYgbGluZXMuY2hhckF0KGVuZCkgPT09IFwiLFwiKSB7XG4gICAgICAgICAgICAgICAgLy8gU29tZSBwYXJzZXJzIGFjY2lkZW50YWxseSBpbmNsdWRlIHRyYWlsaW5nIGNvbW1hcyBpbiB0aGVcbiAgICAgICAgICAgICAgICAvLyAubG9jLmVuZCBpbmZvcm1hdGlvbiBmb3IgT2JqZWN0VHlwZVByb3BlcnR5IG5vZGVzLlxuICAgICAgICAgICAgICAgIGlmICgoZW5kID0gbGluZXMuc2tpcFNwYWNlcyhlbmQsIHRydWUsIHRydWUpKSkge1xuICAgICAgICAgICAgICAgICAgICBsb2NfMS5lbmQgPSBlbmQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuZXhwb3J0cy5maXhGYXVsdHlMb2NhdGlvbnMgPSBmaXhGYXVsdHlMb2NhdGlvbnM7XG5mdW5jdGlvbiBmaXhGb3JMb29wSGVhZChub2RlLCBsaW5lcykge1xuICAgIGlmIChub2RlLnR5cGUgIT09IFwiRm9yU3RhdGVtZW50XCIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmdW5jdGlvbiBmaXgoY2hpbGQpIHtcbiAgICAgICAgdmFyIGxvYyA9IGNoaWxkICYmIGNoaWxkLmxvYztcbiAgICAgICAgdmFyIHN0YXJ0ID0gbG9jICYmIGxvYy5zdGFydDtcbiAgICAgICAgdmFyIGVuZCA9IGxvYyAmJiBjb3B5UG9zKGxvYy5lbmQpO1xuICAgICAgICB3aGlsZSAoc3RhcnQgJiYgZW5kICYmIGNvbXBhcmVQb3Moc3RhcnQsIGVuZCkgPCAwKSB7XG4gICAgICAgICAgICBsaW5lcy5wcmV2UG9zKGVuZCk7XG4gICAgICAgICAgICBpZiAobGluZXMuY2hhckF0KGVuZCkgPT09IFwiO1wiKSB7XG4gICAgICAgICAgICAgICAgLy8gVXBkYXRlIGNoaWxkLmxvYy5lbmQgdG8gKmV4Y2x1ZGUqIHRoZSAnOycgY2hhcmFjdGVyLlxuICAgICAgICAgICAgICAgIGxvYy5lbmQubGluZSA9IGVuZC5saW5lO1xuICAgICAgICAgICAgICAgIGxvYy5lbmQuY29sdW1uID0gZW5kLmNvbHVtbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGZpeChub2RlLmluaXQpO1xuICAgIGZpeChub2RlLnRlc3QpO1xuICAgIGZpeChub2RlLnVwZGF0ZSk7XG59XG5mdW5jdGlvbiBmaXhUZW1wbGF0ZUxpdGVyYWwobm9kZSwgbGluZXMpIHtcbiAgICBpZiAobm9kZS50eXBlICE9PSBcIlRlbXBsYXRlTGl0ZXJhbFwiKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKG5vZGUucXVhc2lzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gcXVhc2kgZWxlbWVudHMsIHRoZW4gdGhlcmUgaXMgbm90aGluZyB0byBmaXguXG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gbm9kZS5sb2MgaXMgbm90IHByZXNlbnQgd2hlbiB1c2luZyBleHBvcnQgZGVmYXVsdCB3aXRoIGEgdGVtcGxhdGUgbGl0ZXJhbFxuICAgIGlmIChub2RlLmxvYykge1xuICAgICAgICAvLyBGaXJzdCB3ZSBuZWVkIHRvIGV4Y2x1ZGUgdGhlIG9wZW5pbmcgYCBmcm9tIHRoZSAubG9jIG9mIHRoZSBmaXJzdFxuICAgICAgICAvLyBxdWFzaSBlbGVtZW50LCBpbiBjYXNlIHRoZSBwYXJzZXIgYWNjaWRlbnRhbGx5IGRlY2lkZWQgdG8gaW5jbHVkZSBpdC5cbiAgICAgICAgdmFyIGFmdGVyTGVmdEJhY2tUaWNrUG9zID0gY29weVBvcyhub2RlLmxvYy5zdGFydCk7XG4gICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKGxpbmVzLmNoYXJBdChhZnRlckxlZnRCYWNrVGlja1BvcykgPT09IFwiYFwiKTtcbiAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkobGluZXMubmV4dFBvcyhhZnRlckxlZnRCYWNrVGlja1BvcykpO1xuICAgICAgICB2YXIgZmlyc3RRdWFzaSA9IG5vZGUucXVhc2lzWzBdO1xuICAgICAgICBpZiAoY29tcGFyZVBvcyhmaXJzdFF1YXNpLmxvYy5zdGFydCwgYWZ0ZXJMZWZ0QmFja1RpY2tQb3MpIDwgMCkge1xuICAgICAgICAgICAgZmlyc3RRdWFzaS5sb2Muc3RhcnQgPSBhZnRlckxlZnRCYWNrVGlja1BvcztcbiAgICAgICAgfVxuICAgICAgICAvLyBOZXh0IHdlIG5lZWQgdG8gZXhjbHVkZSB0aGUgY2xvc2luZyBgIGZyb20gdGhlIC5sb2Mgb2YgdGhlIGxhc3QgcXVhc2lcbiAgICAgICAgLy8gZWxlbWVudCwgaW4gY2FzZSB0aGUgcGFyc2VyIGFjY2lkZW50YWxseSBkZWNpZGVkIHRvIGluY2x1ZGUgaXQuXG4gICAgICAgIHZhciByaWdodEJhY2tUaWNrUG9zID0gY29weVBvcyhub2RlLmxvYy5lbmQpO1xuICAgICAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KShsaW5lcy5wcmV2UG9zKHJpZ2h0QmFja1RpY2tQb3MpKTtcbiAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkobGluZXMuY2hhckF0KHJpZ2h0QmFja1RpY2tQb3MpID09PSBcImBcIik7XG4gICAgICAgIHZhciBsYXN0UXVhc2kgPSBub2RlLnF1YXNpc1tub2RlLnF1YXNpcy5sZW5ndGggLSAxXTtcbiAgICAgICAgaWYgKGNvbXBhcmVQb3MocmlnaHRCYWNrVGlja1BvcywgbGFzdFF1YXNpLmxvYy5lbmQpIDwgMCkge1xuICAgICAgICAgICAgbGFzdFF1YXNpLmxvYy5lbmQgPSByaWdodEJhY2tUaWNrUG9zO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8vIE5vdyB3ZSBuZWVkIHRvIGV4Y2x1ZGUgJHsgYW5kIH0gY2hhcmFjdGVycyBmcm9tIHRoZSAubG9jJ3Mgb2YgYWxsXG4gICAgLy8gcXVhc2kgZWxlbWVudHMsIHNpbmNlIHNvbWUgcGFyc2VycyBhY2NpZGVudGFsbHkgaW5jbHVkZSB0aGVtLlxuICAgIG5vZGUuZXhwcmVzc2lvbnMuZm9yRWFjaChmdW5jdGlvbiAoZXhwciwgaSkge1xuICAgICAgICAvLyBSZXdpbmQgZnJvbSBleHByLmxvYy5zdGFydCBvdmVyIGFueSB3aGl0ZXNwYWNlIGFuZCB0aGUgJHsgdGhhdFxuICAgICAgICAvLyBwcmVjZWRlcyB0aGUgZXhwcmVzc2lvbi4gVGhlIHBvc2l0aW9uIG9mIHRoZSAkIHNob3VsZCBiZSB0aGUgc2FtZVxuICAgICAgICAvLyBhcyB0aGUgLmxvYy5lbmQgb2YgdGhlIHByZWNlZGluZyBxdWFzaSBlbGVtZW50LCBidXQgc29tZSBwYXJzZXJzXG4gICAgICAgIC8vIGFjY2lkZW50YWxseSBpbmNsdWRlIHRoZSAkeyBpbiB0aGUgLmxvYyBvZiB0aGUgcXVhc2kgZWxlbWVudC5cbiAgICAgICAgdmFyIGRvbGxhckN1cmx5UG9zID0gbGluZXMuc2tpcFNwYWNlcyhleHByLmxvYy5zdGFydCwgdHJ1ZSwgZmFsc2UpO1xuICAgICAgICBpZiAobGluZXMucHJldlBvcyhkb2xsYXJDdXJseVBvcykgJiZcbiAgICAgICAgICAgIGxpbmVzLmNoYXJBdChkb2xsYXJDdXJseVBvcykgPT09IFwie1wiICYmXG4gICAgICAgICAgICBsaW5lcy5wcmV2UG9zKGRvbGxhckN1cmx5UG9zKSAmJlxuICAgICAgICAgICAgbGluZXMuY2hhckF0KGRvbGxhckN1cmx5UG9zKSA9PT0gXCIkXCIpIHtcbiAgICAgICAgICAgIHZhciBxdWFzaUJlZm9yZSA9IG5vZGUucXVhc2lzW2ldO1xuICAgICAgICAgICAgaWYgKGNvbXBhcmVQb3MoZG9sbGFyQ3VybHlQb3MsIHF1YXNpQmVmb3JlLmxvYy5lbmQpIDwgMCkge1xuICAgICAgICAgICAgICAgIHF1YXNpQmVmb3JlLmxvYy5lbmQgPSBkb2xsYXJDdXJseVBvcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBMaWtld2lzZSwgc29tZSBwYXJzZXJzIGFjY2lkZW50YWxseSBpbmNsdWRlIHRoZSB9IHRoYXQgZm9sbG93c1xuICAgICAgICAvLyB0aGUgZXhwcmVzc2lvbiBpbiB0aGUgLmxvYyBvZiB0aGUgZm9sbG93aW5nIHF1YXNpIGVsZW1lbnQuXG4gICAgICAgIHZhciByaWdodEN1cmx5UG9zID0gbGluZXMuc2tpcFNwYWNlcyhleHByLmxvYy5lbmQsIGZhbHNlLCBmYWxzZSk7XG4gICAgICAgIGlmIChsaW5lcy5jaGFyQXQocmlnaHRDdXJseVBvcykgPT09IFwifVwiKSB7XG4gICAgICAgICAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KShsaW5lcy5uZXh0UG9zKHJpZ2h0Q3VybHlQb3MpKTtcbiAgICAgICAgICAgIC8vIE5vdyByaWdodEN1cmx5UG9zIGlzIHRlY2huaWNhbGx5IHRoZSBwb3NpdGlvbiBqdXN0IGFmdGVyIHRoZSB9LlxuICAgICAgICAgICAgdmFyIHF1YXNpQWZ0ZXIgPSBub2RlLnF1YXNpc1tpICsgMV07XG4gICAgICAgICAgICBpZiAoY29tcGFyZVBvcyhxdWFzaUFmdGVyLmxvYy5zdGFydCwgcmlnaHRDdXJseVBvcykgPCAwKSB7XG4gICAgICAgICAgICAgICAgcXVhc2lBZnRlci5sb2Muc3RhcnQgPSByaWdodEN1cmx5UG9zO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG59XG5mdW5jdGlvbiBpc0V4cG9ydERlY2xhcmF0aW9uKG5vZGUpIHtcbiAgICBpZiAobm9kZSlcbiAgICAgICAgc3dpdGNoIChub2RlLnR5cGUpIHtcbiAgICAgICAgICAgIGNhc2UgXCJFeHBvcnREZWNsYXJhdGlvblwiOlxuICAgICAgICAgICAgY2FzZSBcIkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblwiOlxuICAgICAgICAgICAgY2FzZSBcIkV4cG9ydERlZmF1bHRTcGVjaWZpZXJcIjpcbiAgICAgICAgICAgIGNhc2UgXCJEZWNsYXJlRXhwb3J0RGVjbGFyYXRpb25cIjpcbiAgICAgICAgICAgIGNhc2UgXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCI6XG4gICAgICAgICAgICBjYXNlIFwiRXhwb3J0QWxsRGVjbGFyYXRpb25cIjpcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbmV4cG9ydHMuaXNFeHBvcnREZWNsYXJhdGlvbiA9IGlzRXhwb3J0RGVjbGFyYXRpb247XG5mdW5jdGlvbiBnZXRQYXJlbnRFeHBvcnREZWNsYXJhdGlvbihwYXRoKSB7XG4gICAgdmFyIHBhcmVudE5vZGUgPSBwYXRoLmdldFBhcmVudE5vZGUoKTtcbiAgICBpZiAocGF0aC5nZXROYW1lKCkgPT09IFwiZGVjbGFyYXRpb25cIiAmJiBpc0V4cG9ydERlY2xhcmF0aW9uKHBhcmVudE5vZGUpKSB7XG4gICAgICAgIHJldHVybiBwYXJlbnROb2RlO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn1cbmV4cG9ydHMuZ2V0UGFyZW50RXhwb3J0RGVjbGFyYXRpb24gPSBnZXRQYXJlbnRFeHBvcnREZWNsYXJhdGlvbjtcbmZ1bmN0aW9uIGlzVHJhaWxpbmdDb21tYUVuYWJsZWQob3B0aW9ucywgY29udGV4dCkge1xuICAgIHZhciB0cmFpbGluZ0NvbW1hID0gb3B0aW9ucy50cmFpbGluZ0NvbW1hO1xuICAgIGlmICh0eXBlb2YgdHJhaWxpbmdDb21tYSA9PT0gXCJvYmplY3RcIikge1xuICAgICAgICByZXR1cm4gISF0cmFpbGluZ0NvbW1hW2NvbnRleHRdO1xuICAgIH1cbiAgICByZXR1cm4gISF0cmFpbGluZ0NvbW1hO1xufVxuZXhwb3J0cy5pc1RyYWlsaW5nQ29tbWFFbmFibGVkID0gaXNUcmFpbGluZ0NvbW1hRW5hYmxlZDtcbiIsICIoZnVuY3Rpb24gd2VicGFja1VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24ocm9vdCwgZmFjdG9yeSkge1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cblx0aWYodHlwZW9mIGV4cG9ydHMgPT09ICdvYmplY3QnICYmIHR5cGVvZiBtb2R1bGUgPT09ICdvYmplY3QnKVxuXHRcdG1vZHVsZS5leHBvcnRzID0gZmFjdG9yeSgpO1xuXHRlbHNlIGlmKHR5cGVvZiBkZWZpbmUgPT09ICdmdW5jdGlvbicgJiYgZGVmaW5lLmFtZClcblx0XHRkZWZpbmUoW10sIGZhY3RvcnkpO1xuLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcImVzcHJpbWFcIl0gPSBmYWN0b3J5KCk7XG5cdGVsc2Vcblx0XHRyb290W1wiZXNwcmltYVwiXSA9IGZhY3RvcnkoKTtcbn0pKHRoaXMsIGZ1bmN0aW9uKCkge1xucmV0dXJuIC8qKioqKiovIChmdW5jdGlvbihtb2R1bGVzKSB7IC8vIHdlYnBhY2tCb290c3RyYXBcbi8qKioqKiovIFx0Ly8gVGhlIG1vZHVsZSBjYWNoZVxuLyoqKioqKi8gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4vKioqKioqLyBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4vKioqKioqLyBcdGZ1bmN0aW9uIF9fd2VicGFja19yZXF1aXJlX18obW9kdWxlSWQpIHtcblxuLyoqKioqKi8gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4vKioqKioqLyBcdFx0aWYoaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0pXG4vKioqKioqLyBcdFx0XHRyZXR1cm4gaW5zdGFsbGVkTW9kdWxlc1ttb2R1bGVJZF0uZXhwb3J0cztcblxuLyoqKioqKi8gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4vKioqKioqLyBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuLyoqKioqKi8gXHRcdFx0ZXhwb3J0czoge30sXG4vKioqKioqLyBcdFx0XHRpZDogbW9kdWxlSWQsXG4vKioqKioqLyBcdFx0XHRsb2FkZWQ6IGZhbHNlXG4vKioqKioqLyBcdFx0fTtcblxuLyoqKioqKi8gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuLyoqKioqKi8gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4vKioqKioqLyBcdFx0Ly8gRmxhZyB0aGUgbW9kdWxlIGFzIGxvYWRlZFxuLyoqKioqKi8gXHRcdG1vZHVsZS5sb2FkZWQgPSB0cnVlO1xuXG4vKioqKioqLyBcdFx0Ly8gUmV0dXJuIHRoZSBleHBvcnRzIG9mIHRoZSBtb2R1bGVcbi8qKioqKiovIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4vKioqKioqLyBcdH1cblxuXG4vKioqKioqLyBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlcyBvYmplY3QgKF9fd2VicGFja19tb2R1bGVzX18pXG4vKioqKioqLyBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbi8qKioqKiovIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbi8qKioqKiovIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5jID0gaW5zdGFsbGVkTW9kdWxlcztcblxuLyoqKioqKi8gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuLyoqKioqKi8gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG4vKioqKioqLyBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuLyoqKioqKi8gXHRyZXR1cm4gX193ZWJwYWNrX3JlcXVpcmVfXygwKTtcbi8qKioqKiovIH0pXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLyoqKioqKi8gKFtcbi8qIDAgKi9cbi8qKiovIGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cdFwidXNlIHN0cmljdFwiO1xuXHQvKlxuXHQgIENvcHlyaWdodCBKUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMsIGh0dHBzOi8vanMuZm91bmRhdGlvbi9cblxuXHQgIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dFxuXHQgIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUgbWV0OlxuXG5cdCAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0XG5cdCAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci5cblx0ICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHRcblx0ICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZVxuXHQgICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLlxuXG5cdCAgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyBcIkFTIElTXCJcblx0ICBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFXG5cdCAgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Vcblx0ICBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgPENPUFlSSUdIVCBIT0xERVI+IEJFIExJQUJMRSBGT1IgQU5ZXG5cdCAgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVNcblx0ICAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7XG5cdCAgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EXG5cdCAgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlRcblx0ICAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Zcblx0ICBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLlxuXHQqL1xuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5cdHZhciBjb21tZW50X2hhbmRsZXJfMSA9IF9fd2VicGFja19yZXF1aXJlX18oMSk7XG5cdHZhciBqc3hfcGFyc2VyXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDMpO1xuXHR2YXIgcGFyc2VyXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDgpO1xuXHR2YXIgdG9rZW5pemVyXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDE1KTtcblx0ZnVuY3Rpb24gcGFyc2UoY29kZSwgb3B0aW9ucywgZGVsZWdhdGUpIHtcblx0ICAgIHZhciBjb21tZW50SGFuZGxlciA9IG51bGw7XG5cdCAgICB2YXIgcHJveHlEZWxlZ2F0ZSA9IGZ1bmN0aW9uIChub2RlLCBtZXRhZGF0YSkge1xuXHQgICAgICAgIGlmIChkZWxlZ2F0ZSkge1xuXHQgICAgICAgICAgICBkZWxlZ2F0ZShub2RlLCBtZXRhZGF0YSk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGlmIChjb21tZW50SGFuZGxlcikge1xuXHQgICAgICAgICAgICBjb21tZW50SGFuZGxlci52aXNpdChub2RlLCBtZXRhZGF0YSk7XG5cdCAgICAgICAgfVxuXHQgICAgfTtcblx0ICAgIHZhciBwYXJzZXJEZWxlZ2F0ZSA9ICh0eXBlb2YgZGVsZWdhdGUgPT09ICdmdW5jdGlvbicpID8gcHJveHlEZWxlZ2F0ZSA6IG51bGw7XG5cdCAgICB2YXIgY29sbGVjdENvbW1lbnQgPSBmYWxzZTtcblx0ICAgIGlmIChvcHRpb25zKSB7XG5cdCAgICAgICAgY29sbGVjdENvbW1lbnQgPSAodHlwZW9mIG9wdGlvbnMuY29tbWVudCA9PT0gJ2Jvb2xlYW4nICYmIG9wdGlvbnMuY29tbWVudCk7XG5cdCAgICAgICAgdmFyIGF0dGFjaENvbW1lbnQgPSAodHlwZW9mIG9wdGlvbnMuYXR0YWNoQ29tbWVudCA9PT0gJ2Jvb2xlYW4nICYmIG9wdGlvbnMuYXR0YWNoQ29tbWVudCk7XG5cdCAgICAgICAgaWYgKGNvbGxlY3RDb21tZW50IHx8IGF0dGFjaENvbW1lbnQpIHtcblx0ICAgICAgICAgICAgY29tbWVudEhhbmRsZXIgPSBuZXcgY29tbWVudF9oYW5kbGVyXzEuQ29tbWVudEhhbmRsZXIoKTtcblx0ICAgICAgICAgICAgY29tbWVudEhhbmRsZXIuYXR0YWNoID0gYXR0YWNoQ29tbWVudDtcblx0ICAgICAgICAgICAgb3B0aW9ucy5jb21tZW50ID0gdHJ1ZTtcblx0ICAgICAgICAgICAgcGFyc2VyRGVsZWdhdGUgPSBwcm94eURlbGVnYXRlO1xuXHQgICAgICAgIH1cblx0ICAgIH1cblx0ICAgIHZhciBpc01vZHVsZSA9IGZhbHNlO1xuXHQgICAgaWYgKG9wdGlvbnMgJiYgdHlwZW9mIG9wdGlvbnMuc291cmNlVHlwZSA9PT0gJ3N0cmluZycpIHtcblx0ICAgICAgICBpc01vZHVsZSA9IChvcHRpb25zLnNvdXJjZVR5cGUgPT09ICdtb2R1bGUnKTtcblx0ICAgIH1cblx0ICAgIHZhciBwYXJzZXI7XG5cdCAgICBpZiAob3B0aW9ucyAmJiB0eXBlb2Ygb3B0aW9ucy5qc3ggPT09ICdib29sZWFuJyAmJiBvcHRpb25zLmpzeCkge1xuXHQgICAgICAgIHBhcnNlciA9IG5ldyBqc3hfcGFyc2VyXzEuSlNYUGFyc2VyKGNvZGUsIG9wdGlvbnMsIHBhcnNlckRlbGVnYXRlKTtcblx0ICAgIH1cblx0ICAgIGVsc2Uge1xuXHQgICAgICAgIHBhcnNlciA9IG5ldyBwYXJzZXJfMS5QYXJzZXIoY29kZSwgb3B0aW9ucywgcGFyc2VyRGVsZWdhdGUpO1xuXHQgICAgfVxuXHQgICAgdmFyIHByb2dyYW0gPSBpc01vZHVsZSA/IHBhcnNlci5wYXJzZU1vZHVsZSgpIDogcGFyc2VyLnBhcnNlU2NyaXB0KCk7XG5cdCAgICB2YXIgYXN0ID0gcHJvZ3JhbTtcblx0ICAgIGlmIChjb2xsZWN0Q29tbWVudCAmJiBjb21tZW50SGFuZGxlcikge1xuXHQgICAgICAgIGFzdC5jb21tZW50cyA9IGNvbW1lbnRIYW5kbGVyLmNvbW1lbnRzO1xuXHQgICAgfVxuXHQgICAgaWYgKHBhcnNlci5jb25maWcudG9rZW5zKSB7XG5cdCAgICAgICAgYXN0LnRva2VucyA9IHBhcnNlci50b2tlbnM7XG5cdCAgICB9XG5cdCAgICBpZiAocGFyc2VyLmNvbmZpZy50b2xlcmFudCkge1xuXHQgICAgICAgIGFzdC5lcnJvcnMgPSBwYXJzZXIuZXJyb3JIYW5kbGVyLmVycm9ycztcblx0ICAgIH1cblx0ICAgIHJldHVybiBhc3Q7XG5cdH1cblx0ZXhwb3J0cy5wYXJzZSA9IHBhcnNlO1xuXHRmdW5jdGlvbiBwYXJzZU1vZHVsZShjb2RlLCBvcHRpb25zLCBkZWxlZ2F0ZSkge1xuXHQgICAgdmFyIHBhcnNpbmdPcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcblx0ICAgIHBhcnNpbmdPcHRpb25zLnNvdXJjZVR5cGUgPSAnbW9kdWxlJztcblx0ICAgIHJldHVybiBwYXJzZShjb2RlLCBwYXJzaW5nT3B0aW9ucywgZGVsZWdhdGUpO1xuXHR9XG5cdGV4cG9ydHMucGFyc2VNb2R1bGUgPSBwYXJzZU1vZHVsZTtcblx0ZnVuY3Rpb24gcGFyc2VTY3JpcHQoY29kZSwgb3B0aW9ucywgZGVsZWdhdGUpIHtcblx0ICAgIHZhciBwYXJzaW5nT3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cdCAgICBwYXJzaW5nT3B0aW9ucy5zb3VyY2VUeXBlID0gJ3NjcmlwdCc7XG5cdCAgICByZXR1cm4gcGFyc2UoY29kZSwgcGFyc2luZ09wdGlvbnMsIGRlbGVnYXRlKTtcblx0fVxuXHRleHBvcnRzLnBhcnNlU2NyaXB0ID0gcGFyc2VTY3JpcHQ7XG5cdGZ1bmN0aW9uIHRva2VuaXplKGNvZGUsIG9wdGlvbnMsIGRlbGVnYXRlKSB7XG5cdCAgICB2YXIgdG9rZW5pemVyID0gbmV3IHRva2VuaXplcl8xLlRva2VuaXplcihjb2RlLCBvcHRpb25zKTtcblx0ICAgIHZhciB0b2tlbnM7XG5cdCAgICB0b2tlbnMgPSBbXTtcblx0ICAgIHRyeSB7XG5cdCAgICAgICAgd2hpbGUgKHRydWUpIHtcblx0ICAgICAgICAgICAgdmFyIHRva2VuID0gdG9rZW5pemVyLmdldE5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICBpZiAoIXRva2VuKSB7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBpZiAoZGVsZWdhdGUpIHtcblx0ICAgICAgICAgICAgICAgIHRva2VuID0gZGVsZWdhdGUodG9rZW4pO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIHRva2Vucy5wdXNoKHRva2VuKTtcblx0ICAgICAgICB9XG5cdCAgICB9XG5cdCAgICBjYXRjaCAoZSkge1xuXHQgICAgICAgIHRva2VuaXplci5lcnJvckhhbmRsZXIudG9sZXJhdGUoZSk7XG5cdCAgICB9XG5cdCAgICBpZiAodG9rZW5pemVyLmVycm9ySGFuZGxlci50b2xlcmFudCkge1xuXHQgICAgICAgIHRva2Vucy5lcnJvcnMgPSB0b2tlbml6ZXIuZXJyb3JzKCk7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gdG9rZW5zO1xuXHR9XG5cdGV4cG9ydHMudG9rZW5pemUgPSB0b2tlbml6ZTtcblx0dmFyIHN5bnRheF8xID0gX193ZWJwYWNrX3JlcXVpcmVfXygyKTtcblx0ZXhwb3J0cy5TeW50YXggPSBzeW50YXhfMS5TeW50YXg7XG5cdC8vIFN5bmMgd2l0aCAqLmpzb24gbWFuaWZlc3RzLlxuXHRleHBvcnRzLnZlcnNpb24gPSAnNC4wLjEnO1xuXG5cbi8qKiovIH0sXG4vKiAxICovXG4vKioqLyBmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXHRcInVzZSBzdHJpY3RcIjtcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuXHR2YXIgc3ludGF4XzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDIpO1xuXHR2YXIgQ29tbWVudEhhbmRsZXIgPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gQ29tbWVudEhhbmRsZXIoKSB7XG5cdCAgICAgICAgdGhpcy5hdHRhY2ggPSBmYWxzZTtcblx0ICAgICAgICB0aGlzLmNvbW1lbnRzID0gW107XG5cdCAgICAgICAgdGhpcy5zdGFjayA9IFtdO1xuXHQgICAgICAgIHRoaXMubGVhZGluZyA9IFtdO1xuXHQgICAgICAgIHRoaXMudHJhaWxpbmcgPSBbXTtcblx0ICAgIH1cblx0ICAgIENvbW1lbnRIYW5kbGVyLnByb3RvdHlwZS5pbnNlcnRJbm5lckNvbW1lbnRzID0gZnVuY3Rpb24gKG5vZGUsIG1ldGFkYXRhKSB7XG5cdCAgICAgICAgLy8gIGlubm5lckNvbW1lbnRzIGZvciBwcm9wZXJ0aWVzIGVtcHR5IGJsb2NrXG5cdCAgICAgICAgLy8gIGBmdW5jdGlvbiBhKCkgey8qKiBjb21tZW50cyAqKlxcL31gXG5cdCAgICAgICAgaWYgKG5vZGUudHlwZSA9PT0gc3ludGF4XzEuU3ludGF4LkJsb2NrU3RhdGVtZW50ICYmIG5vZGUuYm9keS5sZW5ndGggPT09IDApIHtcblx0ICAgICAgICAgICAgdmFyIGlubmVyQ29tbWVudHMgPSBbXTtcblx0ICAgICAgICAgICAgZm9yICh2YXIgaSA9IHRoaXMubGVhZGluZy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkge1xuXHQgICAgICAgICAgICAgICAgdmFyIGVudHJ5ID0gdGhpcy5sZWFkaW5nW2ldO1xuXHQgICAgICAgICAgICAgICAgaWYgKG1ldGFkYXRhLmVuZC5vZmZzZXQgPj0gZW50cnkuc3RhcnQpIHtcblx0ICAgICAgICAgICAgICAgICAgICBpbm5lckNvbW1lbnRzLnVuc2hpZnQoZW50cnkuY29tbWVudCk7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5sZWFkaW5nLnNwbGljZShpLCAxKTtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYWlsaW5nLnNwbGljZShpLCAxKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBpZiAoaW5uZXJDb21tZW50cy5sZW5ndGgpIHtcblx0ICAgICAgICAgICAgICAgIG5vZGUuaW5uZXJDb21tZW50cyA9IGlubmVyQ29tbWVudHM7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICB9O1xuXHQgICAgQ29tbWVudEhhbmRsZXIucHJvdG90eXBlLmZpbmRUcmFpbGluZ0NvbW1lbnRzID0gZnVuY3Rpb24gKG1ldGFkYXRhKSB7XG5cdCAgICAgICAgdmFyIHRyYWlsaW5nQ29tbWVudHMgPSBbXTtcblx0ICAgICAgICBpZiAodGhpcy50cmFpbGluZy5sZW5ndGggPiAwKSB7XG5cdCAgICAgICAgICAgIGZvciAodmFyIGkgPSB0aGlzLnRyYWlsaW5nLmxlbmd0aCAtIDE7IGkgPj0gMDsgLS1pKSB7XG5cdCAgICAgICAgICAgICAgICB2YXIgZW50cnlfMSA9IHRoaXMudHJhaWxpbmdbaV07XG5cdCAgICAgICAgICAgICAgICBpZiAoZW50cnlfMS5zdGFydCA+PSBtZXRhZGF0YS5lbmQub2Zmc2V0KSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdHJhaWxpbmdDb21tZW50cy51bnNoaWZ0KGVudHJ5XzEuY29tbWVudCk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgdGhpcy50cmFpbGluZy5sZW5ndGggPSAwO1xuXHQgICAgICAgICAgICByZXR1cm4gdHJhaWxpbmdDb21tZW50cztcblx0ICAgICAgICB9XG5cdCAgICAgICAgdmFyIGVudHJ5ID0gdGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aCAtIDFdO1xuXHQgICAgICAgIGlmIChlbnRyeSAmJiBlbnRyeS5ub2RlLnRyYWlsaW5nQ29tbWVudHMpIHtcblx0ICAgICAgICAgICAgdmFyIGZpcnN0Q29tbWVudCA9IGVudHJ5Lm5vZGUudHJhaWxpbmdDb21tZW50c1swXTtcblx0ICAgICAgICAgICAgaWYgKGZpcnN0Q29tbWVudCAmJiBmaXJzdENvbW1lbnQucmFuZ2VbMF0gPj0gbWV0YWRhdGEuZW5kLm9mZnNldCkge1xuXHQgICAgICAgICAgICAgICAgdHJhaWxpbmdDb21tZW50cyA9IGVudHJ5Lm5vZGUudHJhaWxpbmdDb21tZW50cztcblx0ICAgICAgICAgICAgICAgIGRlbGV0ZSBlbnRyeS5ub2RlLnRyYWlsaW5nQ29tbWVudHM7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHRyYWlsaW5nQ29tbWVudHM7XG5cdCAgICB9O1xuXHQgICAgQ29tbWVudEhhbmRsZXIucHJvdG90eXBlLmZpbmRMZWFkaW5nQ29tbWVudHMgPSBmdW5jdGlvbiAobWV0YWRhdGEpIHtcblx0ICAgICAgICB2YXIgbGVhZGluZ0NvbW1lbnRzID0gW107XG5cdCAgICAgICAgdmFyIHRhcmdldDtcblx0ICAgICAgICB3aGlsZSAodGhpcy5zdGFjay5sZW5ndGggPiAwKSB7XG5cdCAgICAgICAgICAgIHZhciBlbnRyeSA9IHRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGggLSAxXTtcblx0ICAgICAgICAgICAgaWYgKGVudHJ5ICYmIGVudHJ5LnN0YXJ0ID49IG1ldGFkYXRhLnN0YXJ0Lm9mZnNldCkge1xuXHQgICAgICAgICAgICAgICAgdGFyZ2V0ID0gZW50cnkubm9kZTtcblx0ICAgICAgICAgICAgICAgIHRoaXMuc3RhY2sucG9wKCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAodGFyZ2V0KSB7XG5cdCAgICAgICAgICAgIHZhciBjb3VudCA9IHRhcmdldC5sZWFkaW5nQ29tbWVudHMgPyB0YXJnZXQubGVhZGluZ0NvbW1lbnRzLmxlbmd0aCA6IDA7XG5cdCAgICAgICAgICAgIGZvciAodmFyIGkgPSBjb3VudCAtIDE7IGkgPj0gMDsgLS1pKSB7XG5cdCAgICAgICAgICAgICAgICB2YXIgY29tbWVudCA9IHRhcmdldC5sZWFkaW5nQ29tbWVudHNbaV07XG5cdCAgICAgICAgICAgICAgICBpZiAoY29tbWVudC5yYW5nZVsxXSA8PSBtZXRhZGF0YS5zdGFydC5vZmZzZXQpIHtcblx0ICAgICAgICAgICAgICAgICAgICBsZWFkaW5nQ29tbWVudHMudW5zaGlmdChjb21tZW50KTtcblx0ICAgICAgICAgICAgICAgICAgICB0YXJnZXQubGVhZGluZ0NvbW1lbnRzLnNwbGljZShpLCAxKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBpZiAodGFyZ2V0LmxlYWRpbmdDb21tZW50cyAmJiB0YXJnZXQubGVhZGluZ0NvbW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuXHQgICAgICAgICAgICAgICAgZGVsZXRlIHRhcmdldC5sZWFkaW5nQ29tbWVudHM7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgcmV0dXJuIGxlYWRpbmdDb21tZW50cztcblx0ICAgICAgICB9XG5cdCAgICAgICAgZm9yICh2YXIgaSA9IHRoaXMubGVhZGluZy5sZW5ndGggLSAxOyBpID49IDA7IC0taSkge1xuXHQgICAgICAgICAgICB2YXIgZW50cnkgPSB0aGlzLmxlYWRpbmdbaV07XG5cdCAgICAgICAgICAgIGlmIChlbnRyeS5zdGFydCA8PSBtZXRhZGF0YS5zdGFydC5vZmZzZXQpIHtcblx0ICAgICAgICAgICAgICAgIGxlYWRpbmdDb21tZW50cy51bnNoaWZ0KGVudHJ5LmNvbW1lbnQpO1xuXHQgICAgICAgICAgICAgICAgdGhpcy5sZWFkaW5nLnNwbGljZShpLCAxKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gbGVhZGluZ0NvbW1lbnRzO1xuXHQgICAgfTtcblx0ICAgIENvbW1lbnRIYW5kbGVyLnByb3RvdHlwZS52aXNpdE5vZGUgPSBmdW5jdGlvbiAobm9kZSwgbWV0YWRhdGEpIHtcblx0ICAgICAgICBpZiAobm9kZS50eXBlID09PSBzeW50YXhfMS5TeW50YXguUHJvZ3JhbSAmJiBub2RlLmJvZHkubGVuZ3RoID4gMCkge1xuXHQgICAgICAgICAgICByZXR1cm47XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHRoaXMuaW5zZXJ0SW5uZXJDb21tZW50cyhub2RlLCBtZXRhZGF0YSk7XG5cdCAgICAgICAgdmFyIHRyYWlsaW5nQ29tbWVudHMgPSB0aGlzLmZpbmRUcmFpbGluZ0NvbW1lbnRzKG1ldGFkYXRhKTtcblx0ICAgICAgICB2YXIgbGVhZGluZ0NvbW1lbnRzID0gdGhpcy5maW5kTGVhZGluZ0NvbW1lbnRzKG1ldGFkYXRhKTtcblx0ICAgICAgICBpZiAobGVhZGluZ0NvbW1lbnRzLmxlbmd0aCA+IDApIHtcblx0ICAgICAgICAgICAgbm9kZS5sZWFkaW5nQ29tbWVudHMgPSBsZWFkaW5nQ29tbWVudHM7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGlmICh0cmFpbGluZ0NvbW1lbnRzLmxlbmd0aCA+IDApIHtcblx0ICAgICAgICAgICAgbm9kZS50cmFpbGluZ0NvbW1lbnRzID0gdHJhaWxpbmdDb21tZW50cztcblx0ICAgICAgICB9XG5cdCAgICAgICAgdGhpcy5zdGFjay5wdXNoKHtcblx0ICAgICAgICAgICAgbm9kZTogbm9kZSxcblx0ICAgICAgICAgICAgc3RhcnQ6IG1ldGFkYXRhLnN0YXJ0Lm9mZnNldFxuXHQgICAgICAgIH0pO1xuXHQgICAgfTtcblx0ICAgIENvbW1lbnRIYW5kbGVyLnByb3RvdHlwZS52aXNpdENvbW1lbnQgPSBmdW5jdGlvbiAobm9kZSwgbWV0YWRhdGEpIHtcblx0ICAgICAgICB2YXIgdHlwZSA9IChub2RlLnR5cGVbMF0gPT09ICdMJykgPyAnTGluZScgOiAnQmxvY2snO1xuXHQgICAgICAgIHZhciBjb21tZW50ID0ge1xuXHQgICAgICAgICAgICB0eXBlOiB0eXBlLFxuXHQgICAgICAgICAgICB2YWx1ZTogbm9kZS52YWx1ZVxuXHQgICAgICAgIH07XG5cdCAgICAgICAgaWYgKG5vZGUucmFuZ2UpIHtcblx0ICAgICAgICAgICAgY29tbWVudC5yYW5nZSA9IG5vZGUucmFuZ2U7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGlmIChub2RlLmxvYykge1xuXHQgICAgICAgICAgICBjb21tZW50LmxvYyA9IG5vZGUubG9jO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB0aGlzLmNvbW1lbnRzLnB1c2goY29tbWVudCk7XG5cdCAgICAgICAgaWYgKHRoaXMuYXR0YWNoKSB7XG5cdCAgICAgICAgICAgIHZhciBlbnRyeSA9IHtcblx0ICAgICAgICAgICAgICAgIGNvbW1lbnQ6IHtcblx0ICAgICAgICAgICAgICAgICAgICB0eXBlOiB0eXBlLFxuXHQgICAgICAgICAgICAgICAgICAgIHZhbHVlOiBub2RlLnZhbHVlLFxuXHQgICAgICAgICAgICAgICAgICAgIHJhbmdlOiBbbWV0YWRhdGEuc3RhcnQub2Zmc2V0LCBtZXRhZGF0YS5lbmQub2Zmc2V0XVxuXHQgICAgICAgICAgICAgICAgfSxcblx0ICAgICAgICAgICAgICAgIHN0YXJ0OiBtZXRhZGF0YS5zdGFydC5vZmZzZXRcblx0ICAgICAgICAgICAgfTtcblx0ICAgICAgICAgICAgaWYgKG5vZGUubG9jKSB7XG5cdCAgICAgICAgICAgICAgICBlbnRyeS5jb21tZW50LmxvYyA9IG5vZGUubG9jO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIG5vZGUudHlwZSA9IHR5cGU7XG5cdCAgICAgICAgICAgIHRoaXMubGVhZGluZy5wdXNoKGVudHJ5KTtcblx0ICAgICAgICAgICAgdGhpcy50cmFpbGluZy5wdXNoKGVudHJ5KTtcblx0ICAgICAgICB9XG5cdCAgICB9O1xuXHQgICAgQ29tbWVudEhhbmRsZXIucHJvdG90eXBlLnZpc2l0ID0gZnVuY3Rpb24gKG5vZGUsIG1ldGFkYXRhKSB7XG5cdCAgICAgICAgaWYgKG5vZGUudHlwZSA9PT0gJ0xpbmVDb21tZW50Jykge1xuXHQgICAgICAgICAgICB0aGlzLnZpc2l0Q29tbWVudChub2RlLCBtZXRhZGF0YSk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGVsc2UgaWYgKG5vZGUudHlwZSA9PT0gJ0Jsb2NrQ29tbWVudCcpIHtcblx0ICAgICAgICAgICAgdGhpcy52aXNpdENvbW1lbnQobm9kZSwgbWV0YWRhdGEpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIGlmICh0aGlzLmF0dGFjaCkge1xuXHQgICAgICAgICAgICB0aGlzLnZpc2l0Tm9kZShub2RlLCBtZXRhZGF0YSk7XG5cdCAgICAgICAgfVxuXHQgICAgfTtcblx0ICAgIHJldHVybiBDb21tZW50SGFuZGxlcjtcblx0fSgpKTtcblx0ZXhwb3J0cy5Db21tZW50SGFuZGxlciA9IENvbW1lbnRIYW5kbGVyO1xuXG5cbi8qKiovIH0sXG4vKiAyICovXG4vKioqLyBmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuXHRcInVzZSBzdHJpY3RcIjtcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuXHRleHBvcnRzLlN5bnRheCA9IHtcblx0ICAgIEFzc2lnbm1lbnRFeHByZXNzaW9uOiAnQXNzaWdubWVudEV4cHJlc3Npb24nLFxuXHQgICAgQXNzaWdubWVudFBhdHRlcm46ICdBc3NpZ25tZW50UGF0dGVybicsXG5cdCAgICBBcnJheUV4cHJlc3Npb246ICdBcnJheUV4cHJlc3Npb24nLFxuXHQgICAgQXJyYXlQYXR0ZXJuOiAnQXJyYXlQYXR0ZXJuJyxcblx0ICAgIEFycm93RnVuY3Rpb25FeHByZXNzaW9uOiAnQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24nLFxuXHQgICAgQXdhaXRFeHByZXNzaW9uOiAnQXdhaXRFeHByZXNzaW9uJyxcblx0ICAgIEJsb2NrU3RhdGVtZW50OiAnQmxvY2tTdGF0ZW1lbnQnLFxuXHQgICAgQmluYXJ5RXhwcmVzc2lvbjogJ0JpbmFyeUV4cHJlc3Npb24nLFxuXHQgICAgQnJlYWtTdGF0ZW1lbnQ6ICdCcmVha1N0YXRlbWVudCcsXG5cdCAgICBDYWxsRXhwcmVzc2lvbjogJ0NhbGxFeHByZXNzaW9uJyxcblx0ICAgIENhdGNoQ2xhdXNlOiAnQ2F0Y2hDbGF1c2UnLFxuXHQgICAgQ2xhc3NCb2R5OiAnQ2xhc3NCb2R5Jyxcblx0ICAgIENsYXNzRGVjbGFyYXRpb246ICdDbGFzc0RlY2xhcmF0aW9uJyxcblx0ICAgIENsYXNzRXhwcmVzc2lvbjogJ0NsYXNzRXhwcmVzc2lvbicsXG5cdCAgICBDb25kaXRpb25hbEV4cHJlc3Npb246ICdDb25kaXRpb25hbEV4cHJlc3Npb24nLFxuXHQgICAgQ29udGludWVTdGF0ZW1lbnQ6ICdDb250aW51ZVN0YXRlbWVudCcsXG5cdCAgICBEb1doaWxlU3RhdGVtZW50OiAnRG9XaGlsZVN0YXRlbWVudCcsXG5cdCAgICBEZWJ1Z2dlclN0YXRlbWVudDogJ0RlYnVnZ2VyU3RhdGVtZW50Jyxcblx0ICAgIEVtcHR5U3RhdGVtZW50OiAnRW1wdHlTdGF0ZW1lbnQnLFxuXHQgICAgRXhwb3J0QWxsRGVjbGFyYXRpb246ICdFeHBvcnRBbGxEZWNsYXJhdGlvbicsXG5cdCAgICBFeHBvcnREZWZhdWx0RGVjbGFyYXRpb246ICdFeHBvcnREZWZhdWx0RGVjbGFyYXRpb24nLFxuXHQgICAgRXhwb3J0TmFtZWREZWNsYXJhdGlvbjogJ0V4cG9ydE5hbWVkRGVjbGFyYXRpb24nLFxuXHQgICAgRXhwb3J0U3BlY2lmaWVyOiAnRXhwb3J0U3BlY2lmaWVyJyxcblx0ICAgIEV4cHJlc3Npb25TdGF0ZW1lbnQ6ICdFeHByZXNzaW9uU3RhdGVtZW50Jyxcblx0ICAgIEZvclN0YXRlbWVudDogJ0ZvclN0YXRlbWVudCcsXG5cdCAgICBGb3JPZlN0YXRlbWVudDogJ0Zvck9mU3RhdGVtZW50Jyxcblx0ICAgIEZvckluU3RhdGVtZW50OiAnRm9ySW5TdGF0ZW1lbnQnLFxuXHQgICAgRnVuY3Rpb25EZWNsYXJhdGlvbjogJ0Z1bmN0aW9uRGVjbGFyYXRpb24nLFxuXHQgICAgRnVuY3Rpb25FeHByZXNzaW9uOiAnRnVuY3Rpb25FeHByZXNzaW9uJyxcblx0ICAgIElkZW50aWZpZXI6ICdJZGVudGlmaWVyJyxcblx0ICAgIElmU3RhdGVtZW50OiAnSWZTdGF0ZW1lbnQnLFxuXHQgICAgSW1wb3J0RGVjbGFyYXRpb246ICdJbXBvcnREZWNsYXJhdGlvbicsXG5cdCAgICBJbXBvcnREZWZhdWx0U3BlY2lmaWVyOiAnSW1wb3J0RGVmYXVsdFNwZWNpZmllcicsXG5cdCAgICBJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXI6ICdJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXInLFxuXHQgICAgSW1wb3J0U3BlY2lmaWVyOiAnSW1wb3J0U3BlY2lmaWVyJyxcblx0ICAgIExpdGVyYWw6ICdMaXRlcmFsJyxcblx0ICAgIExhYmVsZWRTdGF0ZW1lbnQ6ICdMYWJlbGVkU3RhdGVtZW50Jyxcblx0ICAgIExvZ2ljYWxFeHByZXNzaW9uOiAnTG9naWNhbEV4cHJlc3Npb24nLFxuXHQgICAgTWVtYmVyRXhwcmVzc2lvbjogJ01lbWJlckV4cHJlc3Npb24nLFxuXHQgICAgTWV0YVByb3BlcnR5OiAnTWV0YVByb3BlcnR5Jyxcblx0ICAgIE1ldGhvZERlZmluaXRpb246ICdNZXRob2REZWZpbml0aW9uJyxcblx0ICAgIE5ld0V4cHJlc3Npb246ICdOZXdFeHByZXNzaW9uJyxcblx0ICAgIE9iamVjdEV4cHJlc3Npb246ICdPYmplY3RFeHByZXNzaW9uJyxcblx0ICAgIE9iamVjdFBhdHRlcm46ICdPYmplY3RQYXR0ZXJuJyxcblx0ICAgIFByb2dyYW06ICdQcm9ncmFtJyxcblx0ICAgIFByb3BlcnR5OiAnUHJvcGVydHknLFxuXHQgICAgUmVzdEVsZW1lbnQ6ICdSZXN0RWxlbWVudCcsXG5cdCAgICBSZXR1cm5TdGF0ZW1lbnQ6ICdSZXR1cm5TdGF0ZW1lbnQnLFxuXHQgICAgU2VxdWVuY2VFeHByZXNzaW9uOiAnU2VxdWVuY2VFeHByZXNzaW9uJyxcblx0ICAgIFNwcmVhZEVsZW1lbnQ6ICdTcHJlYWRFbGVtZW50Jyxcblx0ICAgIFN1cGVyOiAnU3VwZXInLFxuXHQgICAgU3dpdGNoQ2FzZTogJ1N3aXRjaENhc2UnLFxuXHQgICAgU3dpdGNoU3RhdGVtZW50OiAnU3dpdGNoU3RhdGVtZW50Jyxcblx0ICAgIFRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvbjogJ1RhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvbicsXG5cdCAgICBUZW1wbGF0ZUVsZW1lbnQ6ICdUZW1wbGF0ZUVsZW1lbnQnLFxuXHQgICAgVGVtcGxhdGVMaXRlcmFsOiAnVGVtcGxhdGVMaXRlcmFsJyxcblx0ICAgIFRoaXNFeHByZXNzaW9uOiAnVGhpc0V4cHJlc3Npb24nLFxuXHQgICAgVGhyb3dTdGF0ZW1lbnQ6ICdUaHJvd1N0YXRlbWVudCcsXG5cdCAgICBUcnlTdGF0ZW1lbnQ6ICdUcnlTdGF0ZW1lbnQnLFxuXHQgICAgVW5hcnlFeHByZXNzaW9uOiAnVW5hcnlFeHByZXNzaW9uJyxcblx0ICAgIFVwZGF0ZUV4cHJlc3Npb246ICdVcGRhdGVFeHByZXNzaW9uJyxcblx0ICAgIFZhcmlhYmxlRGVjbGFyYXRpb246ICdWYXJpYWJsZURlY2xhcmF0aW9uJyxcblx0ICAgIFZhcmlhYmxlRGVjbGFyYXRvcjogJ1ZhcmlhYmxlRGVjbGFyYXRvcicsXG5cdCAgICBXaGlsZVN0YXRlbWVudDogJ1doaWxlU3RhdGVtZW50Jyxcblx0ICAgIFdpdGhTdGF0ZW1lbnQ6ICdXaXRoU3RhdGVtZW50Jyxcblx0ICAgIFlpZWxkRXhwcmVzc2lvbjogJ1lpZWxkRXhwcmVzc2lvbidcblx0fTtcblxuXG4vKioqLyB9LFxuLyogMyAqL1xuLyoqKi8gZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblx0XCJ1c2Ugc3RyaWN0XCI7XG4vKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXHR2YXIgX19leHRlbmRzID0gKHRoaXMgJiYgdGhpcy5fX2V4dGVuZHMpIHx8IChmdW5jdGlvbiAoKSB7XG5cdCAgICB2YXIgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxuXHQgICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcblx0ICAgICAgICBmdW5jdGlvbiAoZCwgYikgeyBmb3IgKHZhciBwIGluIGIpIGlmIChiLmhhc093blByb3BlcnR5KHApKSBkW3BdID0gYltwXTsgfTtcblx0ICAgIHJldHVybiBmdW5jdGlvbiAoZCwgYikge1xuXHQgICAgICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XG5cdCAgICAgICAgZnVuY3Rpb24gX18oKSB7IHRoaXMuY29uc3RydWN0b3IgPSBkOyB9XG5cdCAgICAgICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xuXHQgICAgfTtcblx0fSkoKTtcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuXHR2YXIgY2hhcmFjdGVyXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDQpO1xuXHR2YXIgSlNYTm9kZSA9IF9fd2VicGFja19yZXF1aXJlX18oNSk7XG5cdHZhciBqc3hfc3ludGF4XzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDYpO1xuXHR2YXIgTm9kZSA9IF9fd2VicGFja19yZXF1aXJlX18oNyk7XG5cdHZhciBwYXJzZXJfMSA9IF9fd2VicGFja19yZXF1aXJlX18oOCk7XG5cdHZhciB0b2tlbl8xID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMyk7XG5cdHZhciB4aHRtbF9lbnRpdGllc18xID0gX193ZWJwYWNrX3JlcXVpcmVfXygxNCk7XG5cdHRva2VuXzEuVG9rZW5OYW1lWzEwMCAvKiBJZGVudGlmaWVyICovXSA9ICdKU1hJZGVudGlmaWVyJztcblx0dG9rZW5fMS5Ub2tlbk5hbWVbMTAxIC8qIFRleHQgKi9dID0gJ0pTWFRleHQnO1xuXHQvLyBGdWxseSBxdWFsaWZpZWQgZWxlbWVudCBuYW1lLCBlLmcuIDxzdmc6cGF0aD4gcmV0dXJucyBcInN2ZzpwYXRoXCJcblx0ZnVuY3Rpb24gZ2V0UXVhbGlmaWVkRWxlbWVudE5hbWUoZWxlbWVudE5hbWUpIHtcblx0ICAgIHZhciBxdWFsaWZpZWROYW1lO1xuXHQgICAgc3dpdGNoIChlbGVtZW50TmFtZS50eXBlKSB7XG5cdCAgICAgICAgY2FzZSBqc3hfc3ludGF4XzEuSlNYU3ludGF4LkpTWElkZW50aWZpZXI6XG5cdCAgICAgICAgICAgIHZhciBpZCA9IGVsZW1lbnROYW1lO1xuXHQgICAgICAgICAgICBxdWFsaWZpZWROYW1lID0gaWQubmFtZTtcblx0ICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgY2FzZSBqc3hfc3ludGF4XzEuSlNYU3ludGF4LkpTWE5hbWVzcGFjZWROYW1lOlxuXHQgICAgICAgICAgICB2YXIgbnMgPSBlbGVtZW50TmFtZTtcblx0ICAgICAgICAgICAgcXVhbGlmaWVkTmFtZSA9IGdldFF1YWxpZmllZEVsZW1lbnROYW1lKG5zLm5hbWVzcGFjZSkgKyAnOicgK1xuXHQgICAgICAgICAgICAgICAgZ2V0UXVhbGlmaWVkRWxlbWVudE5hbWUobnMubmFtZSk7XG5cdCAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgIGNhc2UganN4X3N5bnRheF8xLkpTWFN5bnRheC5KU1hNZW1iZXJFeHByZXNzaW9uOlxuXHQgICAgICAgICAgICB2YXIgZXhwciA9IGVsZW1lbnROYW1lO1xuXHQgICAgICAgICAgICBxdWFsaWZpZWROYW1lID0gZ2V0UXVhbGlmaWVkRWxlbWVudE5hbWUoZXhwci5vYmplY3QpICsgJy4nICtcblx0ICAgICAgICAgICAgICAgIGdldFF1YWxpZmllZEVsZW1lbnROYW1lKGV4cHIucHJvcGVydHkpO1xuXHQgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXHQgICAgICAgIGRlZmF1bHQ6XG5cdCAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIHF1YWxpZmllZE5hbWU7XG5cdH1cblx0dmFyIEpTWFBhcnNlciA9IChmdW5jdGlvbiAoX3N1cGVyKSB7XG5cdCAgICBfX2V4dGVuZHMoSlNYUGFyc2VyLCBfc3VwZXIpO1xuXHQgICAgZnVuY3Rpb24gSlNYUGFyc2VyKGNvZGUsIG9wdGlvbnMsIGRlbGVnYXRlKSB7XG5cdCAgICAgICAgcmV0dXJuIF9zdXBlci5jYWxsKHRoaXMsIGNvZGUsIG9wdGlvbnMsIGRlbGVnYXRlKSB8fCB0aGlzO1xuXHQgICAgfVxuXHQgICAgSlNYUGFyc2VyLnByb3RvdHlwZS5wYXJzZVByaW1hcnlFeHByZXNzaW9uID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHJldHVybiB0aGlzLm1hdGNoKCc8JykgPyB0aGlzLnBhcnNlSlNYUm9vdCgpIDogX3N1cGVyLnByb3RvdHlwZS5wYXJzZVByaW1hcnlFeHByZXNzaW9uLmNhbGwodGhpcyk7XG5cdCAgICB9O1xuXHQgICAgSlNYUGFyc2VyLnByb3RvdHlwZS5zdGFydEpTWCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICAvLyBVbndpbmQgdGhlIHNjYW5uZXIgYmVmb3JlIHRoZSBsb29rYWhlYWQgdG9rZW4uXG5cdCAgICAgICAgdGhpcy5zY2FubmVyLmluZGV4ID0gdGhpcy5zdGFydE1hcmtlci5pbmRleDtcblx0ICAgICAgICB0aGlzLnNjYW5uZXIubGluZU51bWJlciA9IHRoaXMuc3RhcnRNYXJrZXIubGluZTtcblx0ICAgICAgICB0aGlzLnNjYW5uZXIubGluZVN0YXJ0ID0gdGhpcy5zdGFydE1hcmtlci5pbmRleCAtIHRoaXMuc3RhcnRNYXJrZXIuY29sdW1uO1xuXHQgICAgfTtcblx0ICAgIEpTWFBhcnNlci5wcm90b3R5cGUuZmluaXNoSlNYID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIC8vIFByaW1lIHRoZSBuZXh0IGxvb2thaGVhZC5cblx0ICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgfTtcblx0ICAgIEpTWFBhcnNlci5wcm90b3R5cGUucmVlbnRlckpTWCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB0aGlzLnN0YXJ0SlNYKCk7XG5cdCAgICAgICAgdGhpcy5leHBlY3RKU1goJ30nKTtcblx0ICAgICAgICAvLyBQb3AgdGhlIGNsb3NpbmcgJ30nIGFkZGVkIGZyb20gdGhlIGxvb2thaGVhZC5cblx0ICAgICAgICBpZiAodGhpcy5jb25maWcudG9rZW5zKSB7XG5cdCAgICAgICAgICAgIHRoaXMudG9rZW5zLnBvcCgpO1xuXHQgICAgICAgIH1cblx0ICAgIH07XG5cdCAgICBKU1hQYXJzZXIucHJvdG90eXBlLmNyZWF0ZUpTWE5vZGUgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdGhpcy5jb2xsZWN0Q29tbWVudHMoKTtcblx0ICAgICAgICByZXR1cm4ge1xuXHQgICAgICAgICAgICBpbmRleDogdGhpcy5zY2FubmVyLmluZGV4LFxuXHQgICAgICAgICAgICBsaW5lOiB0aGlzLnNjYW5uZXIubGluZU51bWJlcixcblx0ICAgICAgICAgICAgY29sdW1uOiB0aGlzLnNjYW5uZXIuaW5kZXggLSB0aGlzLnNjYW5uZXIubGluZVN0YXJ0XG5cdCAgICAgICAgfTtcblx0ICAgIH07XG5cdCAgICBKU1hQYXJzZXIucHJvdG90eXBlLmNyZWF0ZUpTWENoaWxkTm9kZSA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICByZXR1cm4ge1xuXHQgICAgICAgICAgICBpbmRleDogdGhpcy5zY2FubmVyLmluZGV4LFxuXHQgICAgICAgICAgICBsaW5lOiB0aGlzLnNjYW5uZXIubGluZU51bWJlcixcblx0ICAgICAgICAgICAgY29sdW1uOiB0aGlzLnNjYW5uZXIuaW5kZXggLSB0aGlzLnNjYW5uZXIubGluZVN0YXJ0XG5cdCAgICAgICAgfTtcblx0ICAgIH07XG5cdCAgICBKU1hQYXJzZXIucHJvdG90eXBlLnNjYW5YSFRNTEVudGl0eSA9IGZ1bmN0aW9uIChxdW90ZSkge1xuXHQgICAgICAgIHZhciByZXN1bHQgPSAnJic7XG5cdCAgICAgICAgdmFyIHZhbGlkID0gdHJ1ZTtcblx0ICAgICAgICB2YXIgdGVybWluYXRlZCA9IGZhbHNlO1xuXHQgICAgICAgIHZhciBudW1lcmljID0gZmFsc2U7XG5cdCAgICAgICAgdmFyIGhleCA9IGZhbHNlO1xuXHQgICAgICAgIHdoaWxlICghdGhpcy5zY2FubmVyLmVvZigpICYmIHZhbGlkICYmICF0ZXJtaW5hdGVkKSB7XG5cdCAgICAgICAgICAgIHZhciBjaCA9IHRoaXMuc2Nhbm5lci5zb3VyY2VbdGhpcy5zY2FubmVyLmluZGV4XTtcblx0ICAgICAgICAgICAgaWYgKGNoID09PSBxdW90ZSkge1xuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgdGVybWluYXRlZCA9IChjaCA9PT0gJzsnKTtcblx0ICAgICAgICAgICAgcmVzdWx0ICs9IGNoO1xuXHQgICAgICAgICAgICArK3RoaXMuc2Nhbm5lci5pbmRleDtcblx0ICAgICAgICAgICAgaWYgKCF0ZXJtaW5hdGVkKSB7XG5cdCAgICAgICAgICAgICAgICBzd2l0Y2ggKHJlc3VsdC5sZW5ndGgpIHtcblx0ICAgICAgICAgICAgICAgICAgICBjYXNlIDI6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIC8vIGUuZy4gJyYjMTIzOydcblx0ICAgICAgICAgICAgICAgICAgICAgICAgbnVtZXJpYyA9IChjaCA9PT0gJyMnKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICAgICAgY2FzZSAzOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICBpZiAobnVtZXJpYykge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZS5nLiAnJiN4NDE7J1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGV4ID0gKGNoID09PSAneCcpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSBoZXggfHwgY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmlzRGVjaW1hbERpZ2l0KGNoLmNoYXJDb2RlQXQoMCkpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtZXJpYyA9IG51bWVyaWMgJiYgIWhleDtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuXHQgICAgICAgICAgICAgICAgICAgICAgICB2YWxpZCA9IHZhbGlkICYmICEobnVtZXJpYyAmJiAhY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmlzRGVjaW1hbERpZ2l0KGNoLmNoYXJDb2RlQXQoMCkpKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdmFsaWQgPSB2YWxpZCAmJiAhKGhleCAmJiAhY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmlzSGV4RGlnaXQoY2guY2hhckNvZGVBdCgwKSkpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAodmFsaWQgJiYgdGVybWluYXRlZCAmJiByZXN1bHQubGVuZ3RoID4gMikge1xuXHQgICAgICAgICAgICAvLyBlLmcuICcmI3g0MTsnIGJlY29tZXMganVzdCAnI3g0MSdcblx0ICAgICAgICAgICAgdmFyIHN0ciA9IHJlc3VsdC5zdWJzdHIoMSwgcmVzdWx0Lmxlbmd0aCAtIDIpO1xuXHQgICAgICAgICAgICBpZiAobnVtZXJpYyAmJiBzdHIubGVuZ3RoID4gMSkge1xuXHQgICAgICAgICAgICAgICAgcmVzdWx0ID0gU3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludChzdHIuc3Vic3RyKDEpLCAxMCkpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2UgaWYgKGhleCAmJiBzdHIubGVuZ3RoID4gMikge1xuXHQgICAgICAgICAgICAgICAgcmVzdWx0ID0gU3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludCgnMCcgKyBzdHIuc3Vic3RyKDEpLCAxNikpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2UgaWYgKCFudW1lcmljICYmICFoZXggJiYgeGh0bWxfZW50aXRpZXNfMS5YSFRNTEVudGl0aWVzW3N0cl0pIHtcblx0ICAgICAgICAgICAgICAgIHJlc3VsdCA9IHhodG1sX2VudGl0aWVzXzEuWEhUTUxFbnRpdGllc1tzdHJdO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiByZXN1bHQ7XG5cdCAgICB9O1xuXHQgICAgLy8gU2NhbiB0aGUgbmV4dCBKU1ggdG9rZW4uIFRoaXMgcmVwbGFjZXMgU2Nhbm5lciNsZXggd2hlbiBpbiBKU1ggbW9kZS5cblx0ICAgIEpTWFBhcnNlci5wcm90b3R5cGUubGV4SlNYID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBjcCA9IHRoaXMuc2Nhbm5lci5zb3VyY2UuY2hhckNvZGVBdCh0aGlzLnNjYW5uZXIuaW5kZXgpO1xuXHQgICAgICAgIC8vIDwgPiAvIDogPSB7IH1cblx0ICAgICAgICBpZiAoY3AgPT09IDYwIHx8IGNwID09PSA2MiB8fCBjcCA9PT0gNDcgfHwgY3AgPT09IDU4IHx8IGNwID09PSA2MSB8fCBjcCA9PT0gMTIzIHx8IGNwID09PSAxMjUpIHtcblx0ICAgICAgICAgICAgdmFyIHZhbHVlID0gdGhpcy5zY2FubmVyLnNvdXJjZVt0aGlzLnNjYW5uZXIuaW5kZXgrK107XG5cdCAgICAgICAgICAgIHJldHVybiB7XG5cdCAgICAgICAgICAgICAgICB0eXBlOiA3IC8qIFB1bmN0dWF0b3IgKi8sXG5cdCAgICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG5cdCAgICAgICAgICAgICAgICBsaW5lTnVtYmVyOiB0aGlzLnNjYW5uZXIubGluZU51bWJlcixcblx0ICAgICAgICAgICAgICAgIGxpbmVTdGFydDogdGhpcy5zY2FubmVyLmxpbmVTdGFydCxcblx0ICAgICAgICAgICAgICAgIHN0YXJ0OiB0aGlzLnNjYW5uZXIuaW5kZXggLSAxLFxuXHQgICAgICAgICAgICAgICAgZW5kOiB0aGlzLnNjYW5uZXIuaW5kZXhcblx0ICAgICAgICAgICAgfTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgLy8gXCIgJ1xuXHQgICAgICAgIGlmIChjcCA9PT0gMzQgfHwgY3AgPT09IDM5KSB7XG5cdCAgICAgICAgICAgIHZhciBzdGFydCA9IHRoaXMuc2Nhbm5lci5pbmRleDtcblx0ICAgICAgICAgICAgdmFyIHF1b3RlID0gdGhpcy5zY2FubmVyLnNvdXJjZVt0aGlzLnNjYW5uZXIuaW5kZXgrK107XG5cdCAgICAgICAgICAgIHZhciBzdHIgPSAnJztcblx0ICAgICAgICAgICAgd2hpbGUgKCF0aGlzLnNjYW5uZXIuZW9mKCkpIHtcblx0ICAgICAgICAgICAgICAgIHZhciBjaCA9IHRoaXMuc2Nhbm5lci5zb3VyY2VbdGhpcy5zY2FubmVyLmluZGV4KytdO1xuXHQgICAgICAgICAgICAgICAgaWYgKGNoID09PSBxdW90ZSkge1xuXHQgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgZWxzZSBpZiAoY2ggPT09ICcmJykge1xuXHQgICAgICAgICAgICAgICAgICAgIHN0ciArPSB0aGlzLnNjYW5YSFRNTEVudGl0eShxdW90ZSk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgICAgICBzdHIgKz0gY2g7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgcmV0dXJuIHtcblx0ICAgICAgICAgICAgICAgIHR5cGU6IDggLyogU3RyaW5nTGl0ZXJhbCAqLyxcblx0ICAgICAgICAgICAgICAgIHZhbHVlOiBzdHIsXG5cdCAgICAgICAgICAgICAgICBsaW5lTnVtYmVyOiB0aGlzLnNjYW5uZXIubGluZU51bWJlcixcblx0ICAgICAgICAgICAgICAgIGxpbmVTdGFydDogdGhpcy5zY2FubmVyLmxpbmVTdGFydCxcblx0ICAgICAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcblx0ICAgICAgICAgICAgICAgIGVuZDogdGhpcy5zY2FubmVyLmluZGV4XG5cdCAgICAgICAgICAgIH07XG5cdCAgICAgICAgfVxuXHQgICAgICAgIC8vIC4uLiBvciAuXG5cdCAgICAgICAgaWYgKGNwID09PSA0Nikge1xuXHQgICAgICAgICAgICB2YXIgbjEgPSB0aGlzLnNjYW5uZXIuc291cmNlLmNoYXJDb2RlQXQodGhpcy5zY2FubmVyLmluZGV4ICsgMSk7XG5cdCAgICAgICAgICAgIHZhciBuMiA9IHRoaXMuc2Nhbm5lci5zb3VyY2UuY2hhckNvZGVBdCh0aGlzLnNjYW5uZXIuaW5kZXggKyAyKTtcblx0ICAgICAgICAgICAgdmFyIHZhbHVlID0gKG4xID09PSA0NiAmJiBuMiA9PT0gNDYpID8gJy4uLicgOiAnLic7XG5cdCAgICAgICAgICAgIHZhciBzdGFydCA9IHRoaXMuc2Nhbm5lci5pbmRleDtcblx0ICAgICAgICAgICAgdGhpcy5zY2FubmVyLmluZGV4ICs9IHZhbHVlLmxlbmd0aDtcblx0ICAgICAgICAgICAgcmV0dXJuIHtcblx0ICAgICAgICAgICAgICAgIHR5cGU6IDcgLyogUHVuY3R1YXRvciAqLyxcblx0ICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcblx0ICAgICAgICAgICAgICAgIGxpbmVOdW1iZXI6IHRoaXMuc2Nhbm5lci5saW5lTnVtYmVyLFxuXHQgICAgICAgICAgICAgICAgbGluZVN0YXJ0OiB0aGlzLnNjYW5uZXIubGluZVN0YXJ0LFxuXHQgICAgICAgICAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuXHQgICAgICAgICAgICAgICAgZW5kOiB0aGlzLnNjYW5uZXIuaW5kZXhcblx0ICAgICAgICAgICAgfTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgLy8gYFxuXHQgICAgICAgIGlmIChjcCA9PT0gOTYpIHtcblx0ICAgICAgICAgICAgLy8gT25seSBwbGFjZWhvbGRlciwgc2luY2UgaXQgd2lsbCBiZSByZXNjYW5uZWQgYXMgYSByZWFsIGFzc2lnbm1lbnQgZXhwcmVzc2lvbi5cblx0ICAgICAgICAgICAgcmV0dXJuIHtcblx0ICAgICAgICAgICAgICAgIHR5cGU6IDEwIC8qIFRlbXBsYXRlICovLFxuXHQgICAgICAgICAgICAgICAgdmFsdWU6ICcnLFxuXHQgICAgICAgICAgICAgICAgbGluZU51bWJlcjogdGhpcy5zY2FubmVyLmxpbmVOdW1iZXIsXG5cdCAgICAgICAgICAgICAgICBsaW5lU3RhcnQ6IHRoaXMuc2Nhbm5lci5saW5lU3RhcnQsXG5cdCAgICAgICAgICAgICAgICBzdGFydDogdGhpcy5zY2FubmVyLmluZGV4LFxuXHQgICAgICAgICAgICAgICAgZW5kOiB0aGlzLnNjYW5uZXIuaW5kZXhcblx0ICAgICAgICAgICAgfTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgLy8gSWRlbnRpZmVyIGNhbiBub3QgY29udGFpbiBiYWNrc2xhc2ggKGNoYXIgY29kZSA5MikuXG5cdCAgICAgICAgaWYgKGNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc0lkZW50aWZpZXJTdGFydChjcCkgJiYgKGNwICE9PSA5MikpIHtcblx0ICAgICAgICAgICAgdmFyIHN0YXJ0ID0gdGhpcy5zY2FubmVyLmluZGV4O1xuXHQgICAgICAgICAgICArK3RoaXMuc2Nhbm5lci5pbmRleDtcblx0ICAgICAgICAgICAgd2hpbGUgKCF0aGlzLnNjYW5uZXIuZW9mKCkpIHtcblx0ICAgICAgICAgICAgICAgIHZhciBjaCA9IHRoaXMuc2Nhbm5lci5zb3VyY2UuY2hhckNvZGVBdCh0aGlzLnNjYW5uZXIuaW5kZXgpO1xuXHQgICAgICAgICAgICAgICAgaWYgKGNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc0lkZW50aWZpZXJQYXJ0KGNoKSAmJiAoY2ggIT09IDkyKSkge1xuXHQgICAgICAgICAgICAgICAgICAgICsrdGhpcy5zY2FubmVyLmluZGV4O1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgZWxzZSBpZiAoY2ggPT09IDQ1KSB7XG5cdCAgICAgICAgICAgICAgICAgICAgLy8gSHlwaGVuIChjaGFyIGNvZGUgNDUpIGNhbiBiZSBwYXJ0IG9mIGFuIGlkZW50aWZpZXIuXG5cdCAgICAgICAgICAgICAgICAgICAgKyt0aGlzLnNjYW5uZXIuaW5kZXg7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB2YXIgaWQgPSB0aGlzLnNjYW5uZXIuc291cmNlLnNsaWNlKHN0YXJ0LCB0aGlzLnNjYW5uZXIuaW5kZXgpO1xuXHQgICAgICAgICAgICByZXR1cm4ge1xuXHQgICAgICAgICAgICAgICAgdHlwZTogMTAwIC8qIElkZW50aWZpZXIgKi8sXG5cdCAgICAgICAgICAgICAgICB2YWx1ZTogaWQsXG5cdCAgICAgICAgICAgICAgICBsaW5lTnVtYmVyOiB0aGlzLnNjYW5uZXIubGluZU51bWJlcixcblx0ICAgICAgICAgICAgICAgIGxpbmVTdGFydDogdGhpcy5zY2FubmVyLmxpbmVTdGFydCxcblx0ICAgICAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcblx0ICAgICAgICAgICAgICAgIGVuZDogdGhpcy5zY2FubmVyLmluZGV4XG5cdCAgICAgICAgICAgIH07XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiB0aGlzLnNjYW5uZXIubGV4KCk7XG5cdCAgICB9O1xuXHQgICAgSlNYUGFyc2VyLnByb3RvdHlwZS5uZXh0SlNYVG9rZW4gPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdGhpcy5jb2xsZWN0Q29tbWVudHMoKTtcblx0ICAgICAgICB0aGlzLnN0YXJ0TWFya2VyLmluZGV4ID0gdGhpcy5zY2FubmVyLmluZGV4O1xuXHQgICAgICAgIHRoaXMuc3RhcnRNYXJrZXIubGluZSA9IHRoaXMuc2Nhbm5lci5saW5lTnVtYmVyO1xuXHQgICAgICAgIHRoaXMuc3RhcnRNYXJrZXIuY29sdW1uID0gdGhpcy5zY2FubmVyLmluZGV4IC0gdGhpcy5zY2FubmVyLmxpbmVTdGFydDtcblx0ICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLmxleEpTWCgpO1xuXHQgICAgICAgIHRoaXMubGFzdE1hcmtlci5pbmRleCA9IHRoaXMuc2Nhbm5lci5pbmRleDtcblx0ICAgICAgICB0aGlzLmxhc3RNYXJrZXIubGluZSA9IHRoaXMuc2Nhbm5lci5saW5lTnVtYmVyO1xuXHQgICAgICAgIHRoaXMubGFzdE1hcmtlci5jb2x1bW4gPSB0aGlzLnNjYW5uZXIuaW5kZXggLSB0aGlzLnNjYW5uZXIubGluZVN0YXJ0O1xuXHQgICAgICAgIGlmICh0aGlzLmNvbmZpZy50b2tlbnMpIHtcblx0ICAgICAgICAgICAgdGhpcy50b2tlbnMucHVzaCh0aGlzLmNvbnZlcnRUb2tlbih0b2tlbikpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdG9rZW47XG5cdCAgICB9O1xuXHQgICAgSlNYUGFyc2VyLnByb3RvdHlwZS5uZXh0SlNYVGV4dCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB0aGlzLnN0YXJ0TWFya2VyLmluZGV4ID0gdGhpcy5zY2FubmVyLmluZGV4O1xuXHQgICAgICAgIHRoaXMuc3RhcnRNYXJrZXIubGluZSA9IHRoaXMuc2Nhbm5lci5saW5lTnVtYmVyO1xuXHQgICAgICAgIHRoaXMuc3RhcnRNYXJrZXIuY29sdW1uID0gdGhpcy5zY2FubmVyLmluZGV4IC0gdGhpcy5zY2FubmVyLmxpbmVTdGFydDtcblx0ICAgICAgICB2YXIgc3RhcnQgPSB0aGlzLnNjYW5uZXIuaW5kZXg7XG5cdCAgICAgICAgdmFyIHRleHQgPSAnJztcblx0ICAgICAgICB3aGlsZSAoIXRoaXMuc2Nhbm5lci5lb2YoKSkge1xuXHQgICAgICAgICAgICB2YXIgY2ggPSB0aGlzLnNjYW5uZXIuc291cmNlW3RoaXMuc2Nhbm5lci5pbmRleF07XG5cdCAgICAgICAgICAgIGlmIChjaCA9PT0gJ3snIHx8IGNoID09PSAnPCcpIHtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICsrdGhpcy5zY2FubmVyLmluZGV4O1xuXHQgICAgICAgICAgICB0ZXh0ICs9IGNoO1xuXHQgICAgICAgICAgICBpZiAoY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmlzTGluZVRlcm1pbmF0b3IoY2guY2hhckNvZGVBdCgwKSkpIHtcblx0ICAgICAgICAgICAgICAgICsrdGhpcy5zY2FubmVyLmxpbmVOdW1iZXI7XG5cdCAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICdcXHInICYmIHRoaXMuc2Nhbm5lci5zb3VyY2VbdGhpcy5zY2FubmVyLmluZGV4XSA9PT0gJ1xcbicpIHtcblx0ICAgICAgICAgICAgICAgICAgICArK3RoaXMuc2Nhbm5lci5pbmRleDtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIHRoaXMuc2Nhbm5lci5saW5lU3RhcnQgPSB0aGlzLnNjYW5uZXIuaW5kZXg7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgdGhpcy5sYXN0TWFya2VyLmluZGV4ID0gdGhpcy5zY2FubmVyLmluZGV4O1xuXHQgICAgICAgIHRoaXMubGFzdE1hcmtlci5saW5lID0gdGhpcy5zY2FubmVyLmxpbmVOdW1iZXI7XG5cdCAgICAgICAgdGhpcy5sYXN0TWFya2VyLmNvbHVtbiA9IHRoaXMuc2Nhbm5lci5pbmRleCAtIHRoaXMuc2Nhbm5lci5saW5lU3RhcnQ7XG5cdCAgICAgICAgdmFyIHRva2VuID0ge1xuXHQgICAgICAgICAgICB0eXBlOiAxMDEgLyogVGV4dCAqLyxcblx0ICAgICAgICAgICAgdmFsdWU6IHRleHQsXG5cdCAgICAgICAgICAgIGxpbmVOdW1iZXI6IHRoaXMuc2Nhbm5lci5saW5lTnVtYmVyLFxuXHQgICAgICAgICAgICBsaW5lU3RhcnQ6IHRoaXMuc2Nhbm5lci5saW5lU3RhcnQsXG5cdCAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcblx0ICAgICAgICAgICAgZW5kOiB0aGlzLnNjYW5uZXIuaW5kZXhcblx0ICAgICAgICB9O1xuXHQgICAgICAgIGlmICgodGV4dC5sZW5ndGggPiAwKSAmJiB0aGlzLmNvbmZpZy50b2tlbnMpIHtcblx0ICAgICAgICAgICAgdGhpcy50b2tlbnMucHVzaCh0aGlzLmNvbnZlcnRUb2tlbih0b2tlbikpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdG9rZW47XG5cdCAgICB9O1xuXHQgICAgSlNYUGFyc2VyLnByb3RvdHlwZS5wZWVrSlNYVG9rZW4gPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIHN0YXRlID0gdGhpcy5zY2FubmVyLnNhdmVTdGF0ZSgpO1xuXHQgICAgICAgIHRoaXMuc2Nhbm5lci5zY2FuQ29tbWVudHMoKTtcblx0ICAgICAgICB2YXIgbmV4dCA9IHRoaXMubGV4SlNYKCk7XG5cdCAgICAgICAgdGhpcy5zY2FubmVyLnJlc3RvcmVTdGF0ZShzdGF0ZSk7XG5cdCAgICAgICAgcmV0dXJuIG5leHQ7XG5cdCAgICB9O1xuXHQgICAgLy8gRXhwZWN0IHRoZSBuZXh0IEpTWCB0b2tlbiB0byBtYXRjaCB0aGUgc3BlY2lmaWVkIHB1bmN0dWF0b3IuXG5cdCAgICAvLyBJZiBub3QsIGFuIGV4Y2VwdGlvbiB3aWxsIGJlIHRocm93bi5cblx0ICAgIEpTWFBhcnNlci5wcm90b3R5cGUuZXhwZWN0SlNYID0gZnVuY3Rpb24gKHZhbHVlKSB7XG5cdCAgICAgICAgdmFyIHRva2VuID0gdGhpcy5uZXh0SlNYVG9rZW4oKTtcblx0ICAgICAgICBpZiAodG9rZW4udHlwZSAhPT0gNyAvKiBQdW5jdHVhdG9yICovIHx8IHRva2VuLnZhbHVlICE9PSB2YWx1ZSkge1xuXHQgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKHRva2VuKTtcblx0ICAgICAgICB9XG5cdCAgICB9O1xuXHQgICAgLy8gUmV0dXJuIHRydWUgaWYgdGhlIG5leHQgSlNYIHRva2VuIG1hdGNoZXMgdGhlIHNwZWNpZmllZCBwdW5jdHVhdG9yLlxuXHQgICAgSlNYUGFyc2VyLnByb3RvdHlwZS5tYXRjaEpTWCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuXHQgICAgICAgIHZhciBuZXh0ID0gdGhpcy5wZWVrSlNYVG9rZW4oKTtcblx0ICAgICAgICByZXR1cm4gbmV4dC50eXBlID09PSA3IC8qIFB1bmN0dWF0b3IgKi8gJiYgbmV4dC52YWx1ZSA9PT0gdmFsdWU7XG5cdCAgICB9O1xuXHQgICAgSlNYUGFyc2VyLnByb3RvdHlwZS5wYXJzZUpTWElkZW50aWZpZXIgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZUpTWE5vZGUoKTtcblx0ICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLm5leHRKU1hUb2tlbigpO1xuXHQgICAgICAgIGlmICh0b2tlbi50eXBlICE9PSAxMDAgLyogSWRlbnRpZmllciAqLykge1xuXHQgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKHRva2VuKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IEpTWE5vZGUuSlNYSWRlbnRpZmllcih0b2tlbi52YWx1ZSkpO1xuXHQgICAgfTtcblx0ICAgIEpTWFBhcnNlci5wcm90b3R5cGUucGFyc2VKU1hFbGVtZW50TmFtZSA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlSlNYTm9kZSgpO1xuXHQgICAgICAgIHZhciBlbGVtZW50TmFtZSA9IHRoaXMucGFyc2VKU1hJZGVudGlmaWVyKCk7XG5cdCAgICAgICAgaWYgKHRoaXMubWF0Y2hKU1goJzonKSkge1xuXHQgICAgICAgICAgICB2YXIgbmFtZXNwYWNlID0gZWxlbWVudE5hbWU7XG5cdCAgICAgICAgICAgIHRoaXMuZXhwZWN0SlNYKCc6Jyk7XG5cdCAgICAgICAgICAgIHZhciBuYW1lXzEgPSB0aGlzLnBhcnNlSlNYSWRlbnRpZmllcigpO1xuXHQgICAgICAgICAgICBlbGVtZW50TmFtZSA9IHRoaXMuZmluYWxpemUobm9kZSwgbmV3IEpTWE5vZGUuSlNYTmFtZXNwYWNlZE5hbWUobmFtZXNwYWNlLCBuYW1lXzEpKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSBpZiAodGhpcy5tYXRjaEpTWCgnLicpKSB7XG5cdCAgICAgICAgICAgIHdoaWxlICh0aGlzLm1hdGNoSlNYKCcuJykpIHtcblx0ICAgICAgICAgICAgICAgIHZhciBvYmplY3QgPSBlbGVtZW50TmFtZTtcblx0ICAgICAgICAgICAgICAgIHRoaXMuZXhwZWN0SlNYKCcuJyk7XG5cdCAgICAgICAgICAgICAgICB2YXIgcHJvcGVydHkgPSB0aGlzLnBhcnNlSlNYSWRlbnRpZmllcigpO1xuXHQgICAgICAgICAgICAgICAgZWxlbWVudE5hbWUgPSB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBKU1hOb2RlLkpTWE1lbWJlckV4cHJlc3Npb24ob2JqZWN0LCBwcm9wZXJ0eSkpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiBlbGVtZW50TmFtZTtcblx0ICAgIH07XG5cdCAgICBKU1hQYXJzZXIucHJvdG90eXBlLnBhcnNlSlNYQXR0cmlidXRlTmFtZSA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlSlNYTm9kZSgpO1xuXHQgICAgICAgIHZhciBhdHRyaWJ1dGVOYW1lO1xuXHQgICAgICAgIHZhciBpZGVudGlmaWVyID0gdGhpcy5wYXJzZUpTWElkZW50aWZpZXIoKTtcblx0ICAgICAgICBpZiAodGhpcy5tYXRjaEpTWCgnOicpKSB7XG5cdCAgICAgICAgICAgIHZhciBuYW1lc3BhY2UgPSBpZGVudGlmaWVyO1xuXHQgICAgICAgICAgICB0aGlzLmV4cGVjdEpTWCgnOicpO1xuXHQgICAgICAgICAgICB2YXIgbmFtZV8yID0gdGhpcy5wYXJzZUpTWElkZW50aWZpZXIoKTtcblx0ICAgICAgICAgICAgYXR0cmlidXRlTmFtZSA9IHRoaXMuZmluYWxpemUobm9kZSwgbmV3IEpTWE5vZGUuSlNYTmFtZXNwYWNlZE5hbWUobmFtZXNwYWNlLCBuYW1lXzIpKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgIGF0dHJpYnV0ZU5hbWUgPSBpZGVudGlmaWVyO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gYXR0cmlidXRlTmFtZTtcblx0ICAgIH07XG5cdCAgICBKU1hQYXJzZXIucHJvdG90eXBlLnBhcnNlSlNYU3RyaW5nTGl0ZXJhbEF0dHJpYnV0ZSA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlSlNYTm9kZSgpO1xuXHQgICAgICAgIHZhciB0b2tlbiA9IHRoaXMubmV4dEpTWFRva2VuKCk7XG5cdCAgICAgICAgaWYgKHRva2VuLnR5cGUgIT09IDggLyogU3RyaW5nTGl0ZXJhbCAqLykge1xuXHQgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKHRva2VuKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdmFyIHJhdyA9IHRoaXMuZ2V0VG9rZW5SYXcodG9rZW4pO1xuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLkxpdGVyYWwodG9rZW4udmFsdWUsIHJhdykpO1xuXHQgICAgfTtcblx0ICAgIEpTWFBhcnNlci5wcm90b3R5cGUucGFyc2VKU1hFeHByZXNzaW9uQXR0cmlidXRlID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVKU1hOb2RlKCk7XG5cdCAgICAgICAgdGhpcy5leHBlY3RKU1goJ3snKTtcblx0ICAgICAgICB0aGlzLmZpbmlzaEpTWCgpO1xuXHQgICAgICAgIGlmICh0aGlzLm1hdGNoKCd9JykpIHtcblx0ICAgICAgICAgICAgdGhpcy50b2xlcmF0ZUVycm9yKCdKU1ggYXR0cmlidXRlcyBtdXN0IG9ubHkgYmUgYXNzaWduZWQgYSBub24tZW1wdHkgZXhwcmVzc2lvbicpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB2YXIgZXhwcmVzc2lvbiA9IHRoaXMucGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbigpO1xuXHQgICAgICAgIHRoaXMucmVlbnRlckpTWCgpO1xuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBKU1hOb2RlLkpTWEV4cHJlc3Npb25Db250YWluZXIoZXhwcmVzc2lvbikpO1xuXHQgICAgfTtcblx0ICAgIEpTWFBhcnNlci5wcm90b3R5cGUucGFyc2VKU1hBdHRyaWJ1dGVWYWx1ZSA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICByZXR1cm4gdGhpcy5tYXRjaEpTWCgneycpID8gdGhpcy5wYXJzZUpTWEV4cHJlc3Npb25BdHRyaWJ1dGUoKSA6XG5cdCAgICAgICAgICAgIHRoaXMubWF0Y2hKU1goJzwnKSA/IHRoaXMucGFyc2VKU1hFbGVtZW50KCkgOiB0aGlzLnBhcnNlSlNYU3RyaW5nTGl0ZXJhbEF0dHJpYnV0ZSgpO1xuXHQgICAgfTtcblx0ICAgIEpTWFBhcnNlci5wcm90b3R5cGUucGFyc2VKU1hOYW1lVmFsdWVBdHRyaWJ1dGUgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZUpTWE5vZGUoKTtcblx0ICAgICAgICB2YXIgbmFtZSA9IHRoaXMucGFyc2VKU1hBdHRyaWJ1dGVOYW1lKCk7XG5cdCAgICAgICAgdmFyIHZhbHVlID0gbnVsbDtcblx0ICAgICAgICBpZiAodGhpcy5tYXRjaEpTWCgnPScpKSB7XG5cdCAgICAgICAgICAgIHRoaXMuZXhwZWN0SlNYKCc9Jyk7XG5cdCAgICAgICAgICAgIHZhbHVlID0gdGhpcy5wYXJzZUpTWEF0dHJpYnV0ZVZhbHVlKCk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBKU1hOb2RlLkpTWEF0dHJpYnV0ZShuYW1lLCB2YWx1ZSkpO1xuXHQgICAgfTtcblx0ICAgIEpTWFBhcnNlci5wcm90b3R5cGUucGFyc2VKU1hTcHJlYWRBdHRyaWJ1dGUgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZUpTWE5vZGUoKTtcblx0ICAgICAgICB0aGlzLmV4cGVjdEpTWCgneycpO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0SlNYKCcuLi4nKTtcblx0ICAgICAgICB0aGlzLmZpbmlzaEpTWCgpO1xuXHQgICAgICAgIHZhciBhcmd1bWVudCA9IHRoaXMucGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbigpO1xuXHQgICAgICAgIHRoaXMucmVlbnRlckpTWCgpO1xuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBKU1hOb2RlLkpTWFNwcmVhZEF0dHJpYnV0ZShhcmd1bWVudCkpO1xuXHQgICAgfTtcblx0ICAgIEpTWFBhcnNlci5wcm90b3R5cGUucGFyc2VKU1hBdHRyaWJ1dGVzID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gW107XG5cdCAgICAgICAgd2hpbGUgKCF0aGlzLm1hdGNoSlNYKCcvJykgJiYgIXRoaXMubWF0Y2hKU1goJz4nKSkge1xuXHQgICAgICAgICAgICB2YXIgYXR0cmlidXRlID0gdGhpcy5tYXRjaEpTWCgneycpID8gdGhpcy5wYXJzZUpTWFNwcmVhZEF0dHJpYnV0ZSgpIDpcblx0ICAgICAgICAgICAgICAgIHRoaXMucGFyc2VKU1hOYW1lVmFsdWVBdHRyaWJ1dGUoKTtcblx0ICAgICAgICAgICAgYXR0cmlidXRlcy5wdXNoKGF0dHJpYnV0ZSk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiBhdHRyaWJ1dGVzO1xuXHQgICAgfTtcblx0ICAgIEpTWFBhcnNlci5wcm90b3R5cGUucGFyc2VKU1hPcGVuaW5nRWxlbWVudCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlSlNYTm9kZSgpO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0SlNYKCc8Jyk7XG5cdCAgICAgICAgdmFyIG5hbWUgPSB0aGlzLnBhcnNlSlNYRWxlbWVudE5hbWUoKTtcblx0ICAgICAgICB2YXIgYXR0cmlidXRlcyA9IHRoaXMucGFyc2VKU1hBdHRyaWJ1dGVzKCk7XG5cdCAgICAgICAgdmFyIHNlbGZDbG9zaW5nID0gdGhpcy5tYXRjaEpTWCgnLycpO1xuXHQgICAgICAgIGlmIChzZWxmQ2xvc2luZykge1xuXHQgICAgICAgICAgICB0aGlzLmV4cGVjdEpTWCgnLycpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB0aGlzLmV4cGVjdEpTWCgnPicpO1xuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBKU1hOb2RlLkpTWE9wZW5pbmdFbGVtZW50KG5hbWUsIHNlbGZDbG9zaW5nLCBhdHRyaWJ1dGVzKSk7XG5cdCAgICB9O1xuXHQgICAgSlNYUGFyc2VyLnByb3RvdHlwZS5wYXJzZUpTWEJvdW5kYXJ5RWxlbWVudCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlSlNYTm9kZSgpO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0SlNYKCc8Jyk7XG5cdCAgICAgICAgaWYgKHRoaXMubWF0Y2hKU1goJy8nKSkge1xuXHQgICAgICAgICAgICB0aGlzLmV4cGVjdEpTWCgnLycpO1xuXHQgICAgICAgICAgICB2YXIgbmFtZV8zID0gdGhpcy5wYXJzZUpTWEVsZW1lbnROYW1lKCk7XG5cdCAgICAgICAgICAgIHRoaXMuZXhwZWN0SlNYKCc+Jyk7XG5cdCAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBKU1hOb2RlLkpTWENsb3NpbmdFbGVtZW50KG5hbWVfMykpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB2YXIgbmFtZSA9IHRoaXMucGFyc2VKU1hFbGVtZW50TmFtZSgpO1xuXHQgICAgICAgIHZhciBhdHRyaWJ1dGVzID0gdGhpcy5wYXJzZUpTWEF0dHJpYnV0ZXMoKTtcblx0ICAgICAgICB2YXIgc2VsZkNsb3NpbmcgPSB0aGlzLm1hdGNoSlNYKCcvJyk7XG5cdCAgICAgICAgaWYgKHNlbGZDbG9zaW5nKSB7XG5cdCAgICAgICAgICAgIHRoaXMuZXhwZWN0SlNYKCcvJyk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHRoaXMuZXhwZWN0SlNYKCc+Jyk7XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IEpTWE5vZGUuSlNYT3BlbmluZ0VsZW1lbnQobmFtZSwgc2VsZkNsb3NpbmcsIGF0dHJpYnV0ZXMpKTtcblx0ICAgIH07XG5cdCAgICBKU1hQYXJzZXIucHJvdG90eXBlLnBhcnNlSlNYRW1wdHlFeHByZXNzaW9uID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVKU1hDaGlsZE5vZGUoKTtcblx0ICAgICAgICB0aGlzLmNvbGxlY3RDb21tZW50cygpO1xuXHQgICAgICAgIHRoaXMubGFzdE1hcmtlci5pbmRleCA9IHRoaXMuc2Nhbm5lci5pbmRleDtcblx0ICAgICAgICB0aGlzLmxhc3RNYXJrZXIubGluZSA9IHRoaXMuc2Nhbm5lci5saW5lTnVtYmVyO1xuXHQgICAgICAgIHRoaXMubGFzdE1hcmtlci5jb2x1bW4gPSB0aGlzLnNjYW5uZXIuaW5kZXggLSB0aGlzLnNjYW5uZXIubGluZVN0YXJ0O1xuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBKU1hOb2RlLkpTWEVtcHR5RXhwcmVzc2lvbigpKTtcblx0ICAgIH07XG5cdCAgICBKU1hQYXJzZXIucHJvdG90eXBlLnBhcnNlSlNYRXhwcmVzc2lvbkNvbnRhaW5lciA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlSlNYTm9kZSgpO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0SlNYKCd7Jyk7XG5cdCAgICAgICAgdmFyIGV4cHJlc3Npb247XG5cdCAgICAgICAgaWYgKHRoaXMubWF0Y2hKU1goJ30nKSkge1xuXHQgICAgICAgICAgICBleHByZXNzaW9uID0gdGhpcy5wYXJzZUpTWEVtcHR5RXhwcmVzc2lvbigpO1xuXHQgICAgICAgICAgICB0aGlzLmV4cGVjdEpTWCgnfScpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgdGhpcy5maW5pc2hKU1goKTtcblx0ICAgICAgICAgICAgZXhwcmVzc2lvbiA9IHRoaXMucGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbigpO1xuXHQgICAgICAgICAgICB0aGlzLnJlZW50ZXJKU1goKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IEpTWE5vZGUuSlNYRXhwcmVzc2lvbkNvbnRhaW5lcihleHByZXNzaW9uKSk7XG5cdCAgICB9O1xuXHQgICAgSlNYUGFyc2VyLnByb3RvdHlwZS5wYXJzZUpTWENoaWxkcmVuID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBjaGlsZHJlbiA9IFtdO1xuXHQgICAgICAgIHdoaWxlICghdGhpcy5zY2FubmVyLmVvZigpKSB7XG5cdCAgICAgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVKU1hDaGlsZE5vZGUoKTtcblx0ICAgICAgICAgICAgdmFyIHRva2VuID0gdGhpcy5uZXh0SlNYVGV4dCgpO1xuXHQgICAgICAgICAgICBpZiAodG9rZW4uc3RhcnQgPCB0b2tlbi5lbmQpIHtcblx0ICAgICAgICAgICAgICAgIHZhciByYXcgPSB0aGlzLmdldFRva2VuUmF3KHRva2VuKTtcblx0ICAgICAgICAgICAgICAgIHZhciBjaGlsZCA9IHRoaXMuZmluYWxpemUobm9kZSwgbmV3IEpTWE5vZGUuSlNYVGV4dCh0b2tlbi52YWx1ZSwgcmF3KSk7XG5cdCAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKGNoaWxkKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBpZiAodGhpcy5zY2FubmVyLnNvdXJjZVt0aGlzLnNjYW5uZXIuaW5kZXhdID09PSAneycpIHtcblx0ICAgICAgICAgICAgICAgIHZhciBjb250YWluZXIgPSB0aGlzLnBhcnNlSlNYRXhwcmVzc2lvbkNvbnRhaW5lcigpO1xuXHQgICAgICAgICAgICAgICAgY2hpbGRyZW4ucHVzaChjb250YWluZXIpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIGNoaWxkcmVuO1xuXHQgICAgfTtcblx0ICAgIEpTWFBhcnNlci5wcm90b3R5cGUucGFyc2VDb21wbGV4SlNYRWxlbWVudCA9IGZ1bmN0aW9uIChlbCkge1xuXHQgICAgICAgIHZhciBzdGFjayA9IFtdO1xuXHQgICAgICAgIHdoaWxlICghdGhpcy5zY2FubmVyLmVvZigpKSB7XG5cdCAgICAgICAgICAgIGVsLmNoaWxkcmVuID0gZWwuY2hpbGRyZW4uY29uY2F0KHRoaXMucGFyc2VKU1hDaGlsZHJlbigpKTtcblx0ICAgICAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZUpTWENoaWxkTm9kZSgpO1xuXHQgICAgICAgICAgICB2YXIgZWxlbWVudCA9IHRoaXMucGFyc2VKU1hCb3VuZGFyeUVsZW1lbnQoKTtcblx0ICAgICAgICAgICAgaWYgKGVsZW1lbnQudHlwZSA9PT0ganN4X3N5bnRheF8xLkpTWFN5bnRheC5KU1hPcGVuaW5nRWxlbWVudCkge1xuXHQgICAgICAgICAgICAgICAgdmFyIG9wZW5pbmcgPSBlbGVtZW50O1xuXHQgICAgICAgICAgICAgICAgaWYgKG9wZW5pbmcuc2VsZkNsb3NpbmcpIHtcblx0ICAgICAgICAgICAgICAgICAgICB2YXIgY2hpbGQgPSB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBKU1hOb2RlLkpTWEVsZW1lbnQob3BlbmluZywgW10sIG51bGwpKTtcblx0ICAgICAgICAgICAgICAgICAgICBlbC5jaGlsZHJlbi5wdXNoKGNoaWxkKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgICAgIHN0YWNrLnB1c2goZWwpO1xuXHQgICAgICAgICAgICAgICAgICAgIGVsID0geyBub2RlOiBub2RlLCBvcGVuaW5nOiBvcGVuaW5nLCBjbG9zaW5nOiBudWxsLCBjaGlsZHJlbjogW10gfTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBpZiAoZWxlbWVudC50eXBlID09PSBqc3hfc3ludGF4XzEuSlNYU3ludGF4LkpTWENsb3NpbmdFbGVtZW50KSB7XG5cdCAgICAgICAgICAgICAgICBlbC5jbG9zaW5nID0gZWxlbWVudDtcblx0ICAgICAgICAgICAgICAgIHZhciBvcGVuXzEgPSBnZXRRdWFsaWZpZWRFbGVtZW50TmFtZShlbC5vcGVuaW5nLm5hbWUpO1xuXHQgICAgICAgICAgICAgICAgdmFyIGNsb3NlXzEgPSBnZXRRdWFsaWZpZWRFbGVtZW50TmFtZShlbC5jbG9zaW5nLm5hbWUpO1xuXHQgICAgICAgICAgICAgICAgaWYgKG9wZW5fMSAhPT0gY2xvc2VfMSkge1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMudG9sZXJhdGVFcnJvcignRXhwZWN0ZWQgY29ycmVzcG9uZGluZyBKU1ggY2xvc2luZyB0YWcgZm9yICUwJywgb3Blbl8xKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGlmIChzdGFjay5sZW5ndGggPiAwKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdmFyIGNoaWxkID0gdGhpcy5maW5hbGl6ZShlbC5ub2RlLCBuZXcgSlNYTm9kZS5KU1hFbGVtZW50KGVsLm9wZW5pbmcsIGVsLmNoaWxkcmVuLCBlbC5jbG9zaW5nKSk7XG5cdCAgICAgICAgICAgICAgICAgICAgZWwgPSBzdGFja1tzdGFjay5sZW5ndGggLSAxXTtcblx0ICAgICAgICAgICAgICAgICAgICBlbC5jaGlsZHJlbi5wdXNoKGNoaWxkKTtcblx0ICAgICAgICAgICAgICAgICAgICBzdGFjay5wb3AoKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiBlbDtcblx0ICAgIH07XG5cdCAgICBKU1hQYXJzZXIucHJvdG90eXBlLnBhcnNlSlNYRWxlbWVudCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlSlNYTm9kZSgpO1xuXHQgICAgICAgIHZhciBvcGVuaW5nID0gdGhpcy5wYXJzZUpTWE9wZW5pbmdFbGVtZW50KCk7XG5cdCAgICAgICAgdmFyIGNoaWxkcmVuID0gW107XG5cdCAgICAgICAgdmFyIGNsb3NpbmcgPSBudWxsO1xuXHQgICAgICAgIGlmICghb3BlbmluZy5zZWxmQ2xvc2luZykge1xuXHQgICAgICAgICAgICB2YXIgZWwgPSB0aGlzLnBhcnNlQ29tcGxleEpTWEVsZW1lbnQoeyBub2RlOiBub2RlLCBvcGVuaW5nOiBvcGVuaW5nLCBjbG9zaW5nOiBjbG9zaW5nLCBjaGlsZHJlbjogY2hpbGRyZW4gfSk7XG5cdCAgICAgICAgICAgIGNoaWxkcmVuID0gZWwuY2hpbGRyZW47XG5cdCAgICAgICAgICAgIGNsb3NpbmcgPSBlbC5jbG9zaW5nO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgSlNYTm9kZS5KU1hFbGVtZW50KG9wZW5pbmcsIGNoaWxkcmVuLCBjbG9zaW5nKSk7XG5cdCAgICB9O1xuXHQgICAgSlNYUGFyc2VyLnByb3RvdHlwZS5wYXJzZUpTWFJvb3QgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgLy8gUG9wIHRoZSBvcGVuaW5nICc8JyBhZGRlZCBmcm9tIHRoZSBsb29rYWhlYWQuXG5cdCAgICAgICAgaWYgKHRoaXMuY29uZmlnLnRva2Vucykge1xuXHQgICAgICAgICAgICB0aGlzLnRva2Vucy5wb3AoKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdGhpcy5zdGFydEpTWCgpO1xuXHQgICAgICAgIHZhciBlbGVtZW50ID0gdGhpcy5wYXJzZUpTWEVsZW1lbnQoKTtcblx0ICAgICAgICB0aGlzLmZpbmlzaEpTWCgpO1xuXHQgICAgICAgIHJldHVybiBlbGVtZW50O1xuXHQgICAgfTtcblx0ICAgIEpTWFBhcnNlci5wcm90b3R5cGUuaXNTdGFydE9mRXhwcmVzc2lvbiA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICByZXR1cm4gX3N1cGVyLnByb3RvdHlwZS5pc1N0YXJ0T2ZFeHByZXNzaW9uLmNhbGwodGhpcykgfHwgdGhpcy5tYXRjaCgnPCcpO1xuXHQgICAgfTtcblx0ICAgIHJldHVybiBKU1hQYXJzZXI7XG5cdH0ocGFyc2VyXzEuUGFyc2VyKSk7XG5cdGV4cG9ydHMuSlNYUGFyc2VyID0gSlNYUGFyc2VyO1xuXG5cbi8qKiovIH0sXG4vKiA0ICovXG4vKioqLyBmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuXHRcInVzZSBzdHJpY3RcIjtcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuXHQvLyBTZWUgYWxzbyB0b29scy9nZW5lcmF0ZS11bmljb2RlLXJlZ2V4LmpzLlxuXHR2YXIgUmVnZXggPSB7XG5cdCAgICAvLyBVbmljb2RlIHY4LjAuMCBOb25Bc2NpaUlkZW50aWZpZXJTdGFydDpcblx0ICAgIE5vbkFzY2lpSWRlbnRpZmllclN0YXJ0OiAvW1xceEFBXFx4QjVcXHhCQVxceEMwLVxceEQ2XFx4RDgtXFx4RjZcXHhGOC1cXHUwMkMxXFx1MDJDNi1cXHUwMkQxXFx1MDJFMC1cXHUwMkU0XFx1MDJFQ1xcdTAyRUVcXHUwMzcwLVxcdTAzNzRcXHUwMzc2XFx1MDM3N1xcdTAzN0EtXFx1MDM3RFxcdTAzN0ZcXHUwMzg2XFx1MDM4OC1cXHUwMzhBXFx1MDM4Q1xcdTAzOEUtXFx1MDNBMVxcdTAzQTMtXFx1MDNGNVxcdTAzRjctXFx1MDQ4MVxcdTA0OEEtXFx1MDUyRlxcdTA1MzEtXFx1MDU1NlxcdTA1NTlcXHUwNTYxLVxcdTA1ODdcXHUwNUQwLVxcdTA1RUFcXHUwNUYwLVxcdTA1RjJcXHUwNjIwLVxcdTA2NEFcXHUwNjZFXFx1MDY2RlxcdTA2NzEtXFx1MDZEM1xcdTA2RDVcXHUwNkU1XFx1MDZFNlxcdTA2RUVcXHUwNkVGXFx1MDZGQS1cXHUwNkZDXFx1MDZGRlxcdTA3MTBcXHUwNzEyLVxcdTA3MkZcXHUwNzRELVxcdTA3QTVcXHUwN0IxXFx1MDdDQS1cXHUwN0VBXFx1MDdGNFxcdTA3RjVcXHUwN0ZBXFx1MDgwMC1cXHUwODE1XFx1MDgxQVxcdTA4MjRcXHUwODI4XFx1MDg0MC1cXHUwODU4XFx1MDhBMC1cXHUwOEI0XFx1MDkwNC1cXHUwOTM5XFx1MDkzRFxcdTA5NTBcXHUwOTU4LVxcdTA5NjFcXHUwOTcxLVxcdTA5ODBcXHUwOTg1LVxcdTA5OENcXHUwOThGXFx1MDk5MFxcdTA5OTMtXFx1MDlBOFxcdTA5QUEtXFx1MDlCMFxcdTA5QjJcXHUwOUI2LVxcdTA5QjlcXHUwOUJEXFx1MDlDRVxcdTA5RENcXHUwOUREXFx1MDlERi1cXHUwOUUxXFx1MDlGMFxcdTA5RjFcXHUwQTA1LVxcdTBBMEFcXHUwQTBGXFx1MEExMFxcdTBBMTMtXFx1MEEyOFxcdTBBMkEtXFx1MEEzMFxcdTBBMzJcXHUwQTMzXFx1MEEzNVxcdTBBMzZcXHUwQTM4XFx1MEEzOVxcdTBBNTktXFx1MEE1Q1xcdTBBNUVcXHUwQTcyLVxcdTBBNzRcXHUwQTg1LVxcdTBBOERcXHUwQThGLVxcdTBBOTFcXHUwQTkzLVxcdTBBQThcXHUwQUFBLVxcdTBBQjBcXHUwQUIyXFx1MEFCM1xcdTBBQjUtXFx1MEFCOVxcdTBBQkRcXHUwQUQwXFx1MEFFMFxcdTBBRTFcXHUwQUY5XFx1MEIwNS1cXHUwQjBDXFx1MEIwRlxcdTBCMTBcXHUwQjEzLVxcdTBCMjhcXHUwQjJBLVxcdTBCMzBcXHUwQjMyXFx1MEIzM1xcdTBCMzUtXFx1MEIzOVxcdTBCM0RcXHUwQjVDXFx1MEI1RFxcdTBCNUYtXFx1MEI2MVxcdTBCNzFcXHUwQjgzXFx1MEI4NS1cXHUwQjhBXFx1MEI4RS1cXHUwQjkwXFx1MEI5Mi1cXHUwQjk1XFx1MEI5OVxcdTBCOUFcXHUwQjlDXFx1MEI5RVxcdTBCOUZcXHUwQkEzXFx1MEJBNFxcdTBCQTgtXFx1MEJBQVxcdTBCQUUtXFx1MEJCOVxcdTBCRDBcXHUwQzA1LVxcdTBDMENcXHUwQzBFLVxcdTBDMTBcXHUwQzEyLVxcdTBDMjhcXHUwQzJBLVxcdTBDMzlcXHUwQzNEXFx1MEM1OC1cXHUwQzVBXFx1MEM2MFxcdTBDNjFcXHUwQzg1LVxcdTBDOENcXHUwQzhFLVxcdTBDOTBcXHUwQzkyLVxcdTBDQThcXHUwQ0FBLVxcdTBDQjNcXHUwQ0I1LVxcdTBDQjlcXHUwQ0JEXFx1MENERVxcdTBDRTBcXHUwQ0UxXFx1MENGMVxcdTBDRjJcXHUwRDA1LVxcdTBEMENcXHUwRDBFLVxcdTBEMTBcXHUwRDEyLVxcdTBEM0FcXHUwRDNEXFx1MEQ0RVxcdTBENUYtXFx1MEQ2MVxcdTBEN0EtXFx1MEQ3RlxcdTBEODUtXFx1MEQ5NlxcdTBEOUEtXFx1MERCMVxcdTBEQjMtXFx1MERCQlxcdTBEQkRcXHUwREMwLVxcdTBEQzZcXHUwRTAxLVxcdTBFMzBcXHUwRTMyXFx1MEUzM1xcdTBFNDAtXFx1MEU0NlxcdTBFODFcXHUwRTgyXFx1MEU4NFxcdTBFODdcXHUwRTg4XFx1MEU4QVxcdTBFOERcXHUwRTk0LVxcdTBFOTdcXHUwRTk5LVxcdTBFOUZcXHUwRUExLVxcdTBFQTNcXHUwRUE1XFx1MEVBN1xcdTBFQUFcXHUwRUFCXFx1MEVBRC1cXHUwRUIwXFx1MEVCMlxcdTBFQjNcXHUwRUJEXFx1MEVDMC1cXHUwRUM0XFx1MEVDNlxcdTBFREMtXFx1MEVERlxcdTBGMDBcXHUwRjQwLVxcdTBGNDdcXHUwRjQ5LVxcdTBGNkNcXHUwRjg4LVxcdTBGOENcXHUxMDAwLVxcdTEwMkFcXHUxMDNGXFx1MTA1MC1cXHUxMDU1XFx1MTA1QS1cXHUxMDVEXFx1MTA2MVxcdTEwNjVcXHUxMDY2XFx1MTA2RS1cXHUxMDcwXFx1MTA3NS1cXHUxMDgxXFx1MTA4RVxcdTEwQTAtXFx1MTBDNVxcdTEwQzdcXHUxMENEXFx1MTBEMC1cXHUxMEZBXFx1MTBGQy1cXHUxMjQ4XFx1MTI0QS1cXHUxMjREXFx1MTI1MC1cXHUxMjU2XFx1MTI1OFxcdTEyNUEtXFx1MTI1RFxcdTEyNjAtXFx1MTI4OFxcdTEyOEEtXFx1MTI4RFxcdTEyOTAtXFx1MTJCMFxcdTEyQjItXFx1MTJCNVxcdTEyQjgtXFx1MTJCRVxcdTEyQzBcXHUxMkMyLVxcdTEyQzVcXHUxMkM4LVxcdTEyRDZcXHUxMkQ4LVxcdTEzMTBcXHUxMzEyLVxcdTEzMTVcXHUxMzE4LVxcdTEzNUFcXHUxMzgwLVxcdTEzOEZcXHUxM0EwLVxcdTEzRjVcXHUxM0Y4LVxcdTEzRkRcXHUxNDAxLVxcdTE2NkNcXHUxNjZGLVxcdTE2N0ZcXHUxNjgxLVxcdTE2OUFcXHUxNkEwLVxcdTE2RUFcXHUxNkVFLVxcdTE2RjhcXHUxNzAwLVxcdTE3MENcXHUxNzBFLVxcdTE3MTFcXHUxNzIwLVxcdTE3MzFcXHUxNzQwLVxcdTE3NTFcXHUxNzYwLVxcdTE3NkNcXHUxNzZFLVxcdTE3NzBcXHUxNzgwLVxcdTE3QjNcXHUxN0Q3XFx1MTdEQ1xcdTE4MjAtXFx1MTg3N1xcdTE4ODAtXFx1MThBOFxcdTE4QUFcXHUxOEIwLVxcdTE4RjVcXHUxOTAwLVxcdTE5MUVcXHUxOTUwLVxcdTE5NkRcXHUxOTcwLVxcdTE5NzRcXHUxOTgwLVxcdTE5QUJcXHUxOUIwLVxcdTE5QzlcXHUxQTAwLVxcdTFBMTZcXHUxQTIwLVxcdTFBNTRcXHUxQUE3XFx1MUIwNS1cXHUxQjMzXFx1MUI0NS1cXHUxQjRCXFx1MUI4My1cXHUxQkEwXFx1MUJBRVxcdTFCQUZcXHUxQkJBLVxcdTFCRTVcXHUxQzAwLVxcdTFDMjNcXHUxQzRELVxcdTFDNEZcXHUxQzVBLVxcdTFDN0RcXHUxQ0U5LVxcdTFDRUNcXHUxQ0VFLVxcdTFDRjFcXHUxQ0Y1XFx1MUNGNlxcdTFEMDAtXFx1MURCRlxcdTFFMDAtXFx1MUYxNVxcdTFGMTgtXFx1MUYxRFxcdTFGMjAtXFx1MUY0NVxcdTFGNDgtXFx1MUY0RFxcdTFGNTAtXFx1MUY1N1xcdTFGNTlcXHUxRjVCXFx1MUY1RFxcdTFGNUYtXFx1MUY3RFxcdTFGODAtXFx1MUZCNFxcdTFGQjYtXFx1MUZCQ1xcdTFGQkVcXHUxRkMyLVxcdTFGQzRcXHUxRkM2LVxcdTFGQ0NcXHUxRkQwLVxcdTFGRDNcXHUxRkQ2LVxcdTFGREJcXHUxRkUwLVxcdTFGRUNcXHUxRkYyLVxcdTFGRjRcXHUxRkY2LVxcdTFGRkNcXHUyMDcxXFx1MjA3RlxcdTIwOTAtXFx1MjA5Q1xcdTIxMDJcXHUyMTA3XFx1MjEwQS1cXHUyMTEzXFx1MjExNVxcdTIxMTgtXFx1MjExRFxcdTIxMjRcXHUyMTI2XFx1MjEyOFxcdTIxMkEtXFx1MjEzOVxcdTIxM0MtXFx1MjEzRlxcdTIxNDUtXFx1MjE0OVxcdTIxNEVcXHUyMTYwLVxcdTIxODhcXHUyQzAwLVxcdTJDMkVcXHUyQzMwLVxcdTJDNUVcXHUyQzYwLVxcdTJDRTRcXHUyQ0VCLVxcdTJDRUVcXHUyQ0YyXFx1MkNGM1xcdTJEMDAtXFx1MkQyNVxcdTJEMjdcXHUyRDJEXFx1MkQzMC1cXHUyRDY3XFx1MkQ2RlxcdTJEODAtXFx1MkQ5NlxcdTJEQTAtXFx1MkRBNlxcdTJEQTgtXFx1MkRBRVxcdTJEQjAtXFx1MkRCNlxcdTJEQjgtXFx1MkRCRVxcdTJEQzAtXFx1MkRDNlxcdTJEQzgtXFx1MkRDRVxcdTJERDAtXFx1MkRENlxcdTJERDgtXFx1MkRERVxcdTMwMDUtXFx1MzAwN1xcdTMwMjEtXFx1MzAyOVxcdTMwMzEtXFx1MzAzNVxcdTMwMzgtXFx1MzAzQ1xcdTMwNDEtXFx1MzA5NlxcdTMwOUItXFx1MzA5RlxcdTMwQTEtXFx1MzBGQVxcdTMwRkMtXFx1MzBGRlxcdTMxMDUtXFx1MzEyRFxcdTMxMzEtXFx1MzE4RVxcdTMxQTAtXFx1MzFCQVxcdTMxRjAtXFx1MzFGRlxcdTM0MDAtXFx1NERCNVxcdTRFMDAtXFx1OUZENVxcdUEwMDAtXFx1QTQ4Q1xcdUE0RDAtXFx1QTRGRFxcdUE1MDAtXFx1QTYwQ1xcdUE2MTAtXFx1QTYxRlxcdUE2MkFcXHVBNjJCXFx1QTY0MC1cXHVBNjZFXFx1QTY3Ri1cXHVBNjlEXFx1QTZBMC1cXHVBNkVGXFx1QTcxNy1cXHVBNzFGXFx1QTcyMi1cXHVBNzg4XFx1QTc4Qi1cXHVBN0FEXFx1QTdCMC1cXHVBN0I3XFx1QTdGNy1cXHVBODAxXFx1QTgwMy1cXHVBODA1XFx1QTgwNy1cXHVBODBBXFx1QTgwQy1cXHVBODIyXFx1QTg0MC1cXHVBODczXFx1QTg4Mi1cXHVBOEIzXFx1QThGMi1cXHVBOEY3XFx1QThGQlxcdUE4RkRcXHVBOTBBLVxcdUE5MjVcXHVBOTMwLVxcdUE5NDZcXHVBOTYwLVxcdUE5N0NcXHVBOTg0LVxcdUE5QjJcXHVBOUNGXFx1QTlFMC1cXHVBOUU0XFx1QTlFNi1cXHVBOUVGXFx1QTlGQS1cXHVBOUZFXFx1QUEwMC1cXHVBQTI4XFx1QUE0MC1cXHVBQTQyXFx1QUE0NC1cXHVBQTRCXFx1QUE2MC1cXHVBQTc2XFx1QUE3QVxcdUFBN0UtXFx1QUFBRlxcdUFBQjFcXHVBQUI1XFx1QUFCNlxcdUFBQjktXFx1QUFCRFxcdUFBQzBcXHVBQUMyXFx1QUFEQi1cXHVBQUREXFx1QUFFMC1cXHVBQUVBXFx1QUFGMi1cXHVBQUY0XFx1QUIwMS1cXHVBQjA2XFx1QUIwOS1cXHVBQjBFXFx1QUIxMS1cXHVBQjE2XFx1QUIyMC1cXHVBQjI2XFx1QUIyOC1cXHVBQjJFXFx1QUIzMC1cXHVBQjVBXFx1QUI1Qy1cXHVBQjY1XFx1QUI3MC1cXHVBQkUyXFx1QUMwMC1cXHVEN0EzXFx1RDdCMC1cXHVEN0M2XFx1RDdDQi1cXHVEN0ZCXFx1RjkwMC1cXHVGQTZEXFx1RkE3MC1cXHVGQUQ5XFx1RkIwMC1cXHVGQjA2XFx1RkIxMy1cXHVGQjE3XFx1RkIxRFxcdUZCMUYtXFx1RkIyOFxcdUZCMkEtXFx1RkIzNlxcdUZCMzgtXFx1RkIzQ1xcdUZCM0VcXHVGQjQwXFx1RkI0MVxcdUZCNDNcXHVGQjQ0XFx1RkI0Ni1cXHVGQkIxXFx1RkJEMy1cXHVGRDNEXFx1RkQ1MC1cXHVGRDhGXFx1RkQ5Mi1cXHVGREM3XFx1RkRGMC1cXHVGREZCXFx1RkU3MC1cXHVGRTc0XFx1RkU3Ni1cXHVGRUZDXFx1RkYyMS1cXHVGRjNBXFx1RkY0MS1cXHVGRjVBXFx1RkY2Ni1cXHVGRkJFXFx1RkZDMi1cXHVGRkM3XFx1RkZDQS1cXHVGRkNGXFx1RkZEMi1cXHVGRkQ3XFx1RkZEQS1cXHVGRkRDXXxcXHVEODAwW1xcdURDMDAtXFx1REMwQlxcdURDMEQtXFx1REMyNlxcdURDMjgtXFx1REMzQVxcdURDM0NcXHVEQzNEXFx1REMzRi1cXHVEQzREXFx1REM1MC1cXHVEQzVEXFx1REM4MC1cXHVEQ0ZBXFx1REQ0MC1cXHVERDc0XFx1REU4MC1cXHVERTlDXFx1REVBMC1cXHVERUQwXFx1REYwMC1cXHVERjFGXFx1REYzMC1cXHVERjRBXFx1REY1MC1cXHVERjc1XFx1REY4MC1cXHVERjlEXFx1REZBMC1cXHVERkMzXFx1REZDOC1cXHVERkNGXFx1REZEMS1cXHVERkQ1XXxcXHVEODAxW1xcdURDMDAtXFx1REM5RFxcdUREMDAtXFx1REQyN1xcdUREMzAtXFx1REQ2M1xcdURFMDAtXFx1REYzNlxcdURGNDAtXFx1REY1NVxcdURGNjAtXFx1REY2N118XFx1RDgwMltcXHVEQzAwLVxcdURDMDVcXHVEQzA4XFx1REMwQS1cXHVEQzM1XFx1REMzN1xcdURDMzhcXHVEQzNDXFx1REMzRi1cXHVEQzU1XFx1REM2MC1cXHVEQzc2XFx1REM4MC1cXHVEQzlFXFx1RENFMC1cXHVEQ0YyXFx1RENGNFxcdURDRjVcXHVERDAwLVxcdUREMTVcXHVERDIwLVxcdUREMzlcXHVERDgwLVxcdUREQjdcXHVEREJFXFx1RERCRlxcdURFMDBcXHVERTEwLVxcdURFMTNcXHVERTE1LVxcdURFMTdcXHVERTE5LVxcdURFMzNcXHVERTYwLVxcdURFN0NcXHVERTgwLVxcdURFOUNcXHVERUMwLVxcdURFQzdcXHVERUM5LVxcdURFRTRcXHVERjAwLVxcdURGMzVcXHVERjQwLVxcdURGNTVcXHVERjYwLVxcdURGNzJcXHVERjgwLVxcdURGOTFdfFxcdUQ4MDNbXFx1REMwMC1cXHVEQzQ4XFx1REM4MC1cXHVEQ0IyXFx1RENDMC1cXHVEQ0YyXXxcXHVEODA0W1xcdURDMDMtXFx1REMzN1xcdURDODMtXFx1RENBRlxcdURDRDAtXFx1RENFOFxcdUREMDMtXFx1REQyNlxcdURENTAtXFx1REQ3MlxcdURENzZcXHVERDgzLVxcdUREQjJcXHVEREMxLVxcdUREQzRcXHVERERBXFx1REREQ1xcdURFMDAtXFx1REUxMVxcdURFMTMtXFx1REUyQlxcdURFODAtXFx1REU4NlxcdURFODhcXHVERThBLVxcdURFOERcXHVERThGLVxcdURFOURcXHVERTlGLVxcdURFQThcXHVERUIwLVxcdURFREVcXHVERjA1LVxcdURGMENcXHVERjBGXFx1REYxMFxcdURGMTMtXFx1REYyOFxcdURGMkEtXFx1REYzMFxcdURGMzJcXHVERjMzXFx1REYzNS1cXHVERjM5XFx1REYzRFxcdURGNTBcXHVERjVELVxcdURGNjFdfFxcdUQ4MDVbXFx1REM4MC1cXHVEQ0FGXFx1RENDNFxcdURDQzVcXHVEQ0M3XFx1REQ4MC1cXHVEREFFXFx1REREOC1cXHVERERCXFx1REUwMC1cXHVERTJGXFx1REU0NFxcdURFODAtXFx1REVBQVxcdURGMDAtXFx1REYxOV18XFx1RDgwNltcXHVEQ0EwLVxcdURDREZcXHVEQ0ZGXFx1REVDMC1cXHVERUY4XXxcXHVEODA4W1xcdURDMDAtXFx1REY5OV18XFx1RDgwOVtcXHVEQzAwLVxcdURDNkVcXHVEQzgwLVxcdURENDNdfFtcXHVEODBDXFx1RDg0MC1cXHVEODY4XFx1RDg2QS1cXHVEODZDXFx1RDg2Ri1cXHVEODcyXVtcXHVEQzAwLVxcdURGRkZdfFxcdUQ4MERbXFx1REMwMC1cXHVEQzJFXXxcXHVEODExW1xcdURDMDAtXFx1REU0Nl18XFx1RDgxQVtcXHVEQzAwLVxcdURFMzhcXHVERTQwLVxcdURFNUVcXHVERUQwLVxcdURFRURcXHVERjAwLVxcdURGMkZcXHVERjQwLVxcdURGNDNcXHVERjYzLVxcdURGNzdcXHVERjdELVxcdURGOEZdfFxcdUQ4MUJbXFx1REYwMC1cXHVERjQ0XFx1REY1MFxcdURGOTMtXFx1REY5Rl18XFx1RDgyQ1tcXHVEQzAwXFx1REMwMV18XFx1RDgyRltcXHVEQzAwLVxcdURDNkFcXHVEQzcwLVxcdURDN0NcXHVEQzgwLVxcdURDODhcXHVEQzkwLVxcdURDOTldfFxcdUQ4MzVbXFx1REMwMC1cXHVEQzU0XFx1REM1Ni1cXHVEQzlDXFx1REM5RVxcdURDOUZcXHVEQ0EyXFx1RENBNVxcdURDQTZcXHVEQ0E5LVxcdURDQUNcXHVEQ0FFLVxcdURDQjlcXHVEQ0JCXFx1RENCRC1cXHVEQ0MzXFx1RENDNS1cXHVERDA1XFx1REQwNy1cXHVERDBBXFx1REQwRC1cXHVERDE0XFx1REQxNi1cXHVERDFDXFx1REQxRS1cXHVERDM5XFx1REQzQi1cXHVERDNFXFx1REQ0MC1cXHVERDQ0XFx1REQ0NlxcdURENEEtXFx1REQ1MFxcdURENTItXFx1REVBNVxcdURFQTgtXFx1REVDMFxcdURFQzItXFx1REVEQVxcdURFREMtXFx1REVGQVxcdURFRkMtXFx1REYxNFxcdURGMTYtXFx1REYzNFxcdURGMzYtXFx1REY0RVxcdURGNTAtXFx1REY2RVxcdURGNzAtXFx1REY4OFxcdURGOEEtXFx1REZBOFxcdURGQUEtXFx1REZDMlxcdURGQzQtXFx1REZDQl18XFx1RDgzQVtcXHVEQzAwLVxcdURDQzRdfFxcdUQ4M0JbXFx1REUwMC1cXHVERTAzXFx1REUwNS1cXHVERTFGXFx1REUyMVxcdURFMjJcXHVERTI0XFx1REUyN1xcdURFMjktXFx1REUzMlxcdURFMzQtXFx1REUzN1xcdURFMzlcXHVERTNCXFx1REU0MlxcdURFNDdcXHVERTQ5XFx1REU0QlxcdURFNEQtXFx1REU0RlxcdURFNTFcXHVERTUyXFx1REU1NFxcdURFNTdcXHVERTU5XFx1REU1QlxcdURFNURcXHVERTVGXFx1REU2MVxcdURFNjJcXHVERTY0XFx1REU2Ny1cXHVERTZBXFx1REU2Qy1cXHVERTcyXFx1REU3NC1cXHVERTc3XFx1REU3OS1cXHVERTdDXFx1REU3RVxcdURFODAtXFx1REU4OVxcdURFOEItXFx1REU5QlxcdURFQTEtXFx1REVBM1xcdURFQTUtXFx1REVBOVxcdURFQUItXFx1REVCQl18XFx1RDg2OVtcXHVEQzAwLVxcdURFRDZcXHVERjAwLVxcdURGRkZdfFxcdUQ4NkRbXFx1REMwMC1cXHVERjM0XFx1REY0MC1cXHVERkZGXXxcXHVEODZFW1xcdURDMDAtXFx1REMxRFxcdURDMjAtXFx1REZGRl18XFx1RDg3M1tcXHVEQzAwLVxcdURFQTFdfFxcdUQ4N0VbXFx1REMwMC1cXHVERTFEXS8sXG5cdCAgICAvLyBVbmljb2RlIHY4LjAuMCBOb25Bc2NpaUlkZW50aWZpZXJQYXJ0OlxuXHQgICAgTm9uQXNjaWlJZGVudGlmaWVyUGFydDogL1tcXHhBQVxceEI1XFx4QjdcXHhCQVxceEMwLVxceEQ2XFx4RDgtXFx4RjZcXHhGOC1cXHUwMkMxXFx1MDJDNi1cXHUwMkQxXFx1MDJFMC1cXHUwMkU0XFx1MDJFQ1xcdTAyRUVcXHUwMzAwLVxcdTAzNzRcXHUwMzc2XFx1MDM3N1xcdTAzN0EtXFx1MDM3RFxcdTAzN0ZcXHUwMzg2LVxcdTAzOEFcXHUwMzhDXFx1MDM4RS1cXHUwM0ExXFx1MDNBMy1cXHUwM0Y1XFx1MDNGNy1cXHUwNDgxXFx1MDQ4My1cXHUwNDg3XFx1MDQ4QS1cXHUwNTJGXFx1MDUzMS1cXHUwNTU2XFx1MDU1OVxcdTA1NjEtXFx1MDU4N1xcdTA1OTEtXFx1MDVCRFxcdTA1QkZcXHUwNUMxXFx1MDVDMlxcdTA1QzRcXHUwNUM1XFx1MDVDN1xcdTA1RDAtXFx1MDVFQVxcdTA1RjAtXFx1MDVGMlxcdTA2MTAtXFx1MDYxQVxcdTA2MjAtXFx1MDY2OVxcdTA2NkUtXFx1MDZEM1xcdTA2RDUtXFx1MDZEQ1xcdTA2REYtXFx1MDZFOFxcdTA2RUEtXFx1MDZGQ1xcdTA2RkZcXHUwNzEwLVxcdTA3NEFcXHUwNzRELVxcdTA3QjFcXHUwN0MwLVxcdTA3RjVcXHUwN0ZBXFx1MDgwMC1cXHUwODJEXFx1MDg0MC1cXHUwODVCXFx1MDhBMC1cXHUwOEI0XFx1MDhFMy1cXHUwOTYzXFx1MDk2Ni1cXHUwOTZGXFx1MDk3MS1cXHUwOTgzXFx1MDk4NS1cXHUwOThDXFx1MDk4RlxcdTA5OTBcXHUwOTkzLVxcdTA5QThcXHUwOUFBLVxcdTA5QjBcXHUwOUIyXFx1MDlCNi1cXHUwOUI5XFx1MDlCQy1cXHUwOUM0XFx1MDlDN1xcdTA5QzhcXHUwOUNCLVxcdTA5Q0VcXHUwOUQ3XFx1MDlEQ1xcdTA5RERcXHUwOURGLVxcdTA5RTNcXHUwOUU2LVxcdTA5RjFcXHUwQTAxLVxcdTBBMDNcXHUwQTA1LVxcdTBBMEFcXHUwQTBGXFx1MEExMFxcdTBBMTMtXFx1MEEyOFxcdTBBMkEtXFx1MEEzMFxcdTBBMzJcXHUwQTMzXFx1MEEzNVxcdTBBMzZcXHUwQTM4XFx1MEEzOVxcdTBBM0NcXHUwQTNFLVxcdTBBNDJcXHUwQTQ3XFx1MEE0OFxcdTBBNEItXFx1MEE0RFxcdTBBNTFcXHUwQTU5LVxcdTBBNUNcXHUwQTVFXFx1MEE2Ni1cXHUwQTc1XFx1MEE4MS1cXHUwQTgzXFx1MEE4NS1cXHUwQThEXFx1MEE4Ri1cXHUwQTkxXFx1MEE5My1cXHUwQUE4XFx1MEFBQS1cXHUwQUIwXFx1MEFCMlxcdTBBQjNcXHUwQUI1LVxcdTBBQjlcXHUwQUJDLVxcdTBBQzVcXHUwQUM3LVxcdTBBQzlcXHUwQUNCLVxcdTBBQ0RcXHUwQUQwXFx1MEFFMC1cXHUwQUUzXFx1MEFFNi1cXHUwQUVGXFx1MEFGOVxcdTBCMDEtXFx1MEIwM1xcdTBCMDUtXFx1MEIwQ1xcdTBCMEZcXHUwQjEwXFx1MEIxMy1cXHUwQjI4XFx1MEIyQS1cXHUwQjMwXFx1MEIzMlxcdTBCMzNcXHUwQjM1LVxcdTBCMzlcXHUwQjNDLVxcdTBCNDRcXHUwQjQ3XFx1MEI0OFxcdTBCNEItXFx1MEI0RFxcdTBCNTZcXHUwQjU3XFx1MEI1Q1xcdTBCNURcXHUwQjVGLVxcdTBCNjNcXHUwQjY2LVxcdTBCNkZcXHUwQjcxXFx1MEI4MlxcdTBCODNcXHUwQjg1LVxcdTBCOEFcXHUwQjhFLVxcdTBCOTBcXHUwQjkyLVxcdTBCOTVcXHUwQjk5XFx1MEI5QVxcdTBCOUNcXHUwQjlFXFx1MEI5RlxcdTBCQTNcXHUwQkE0XFx1MEJBOC1cXHUwQkFBXFx1MEJBRS1cXHUwQkI5XFx1MEJCRS1cXHUwQkMyXFx1MEJDNi1cXHUwQkM4XFx1MEJDQS1cXHUwQkNEXFx1MEJEMFxcdTBCRDdcXHUwQkU2LVxcdTBCRUZcXHUwQzAwLVxcdTBDMDNcXHUwQzA1LVxcdTBDMENcXHUwQzBFLVxcdTBDMTBcXHUwQzEyLVxcdTBDMjhcXHUwQzJBLVxcdTBDMzlcXHUwQzNELVxcdTBDNDRcXHUwQzQ2LVxcdTBDNDhcXHUwQzRBLVxcdTBDNERcXHUwQzU1XFx1MEM1NlxcdTBDNTgtXFx1MEM1QVxcdTBDNjAtXFx1MEM2M1xcdTBDNjYtXFx1MEM2RlxcdTBDODEtXFx1MEM4M1xcdTBDODUtXFx1MEM4Q1xcdTBDOEUtXFx1MEM5MFxcdTBDOTItXFx1MENBOFxcdTBDQUEtXFx1MENCM1xcdTBDQjUtXFx1MENCOVxcdTBDQkMtXFx1MENDNFxcdTBDQzYtXFx1MENDOFxcdTBDQ0EtXFx1MENDRFxcdTBDRDVcXHUwQ0Q2XFx1MENERVxcdTBDRTAtXFx1MENFM1xcdTBDRTYtXFx1MENFRlxcdTBDRjFcXHUwQ0YyXFx1MEQwMS1cXHUwRDAzXFx1MEQwNS1cXHUwRDBDXFx1MEQwRS1cXHUwRDEwXFx1MEQxMi1cXHUwRDNBXFx1MEQzRC1cXHUwRDQ0XFx1MEQ0Ni1cXHUwRDQ4XFx1MEQ0QS1cXHUwRDRFXFx1MEQ1N1xcdTBENUYtXFx1MEQ2M1xcdTBENjYtXFx1MEQ2RlxcdTBEN0EtXFx1MEQ3RlxcdTBEODJcXHUwRDgzXFx1MEQ4NS1cXHUwRDk2XFx1MEQ5QS1cXHUwREIxXFx1MERCMy1cXHUwREJCXFx1MERCRFxcdTBEQzAtXFx1MERDNlxcdTBEQ0FcXHUwRENGLVxcdTBERDRcXHUwREQ2XFx1MEREOC1cXHUwRERGXFx1MERFNi1cXHUwREVGXFx1MERGMlxcdTBERjNcXHUwRTAxLVxcdTBFM0FcXHUwRTQwLVxcdTBFNEVcXHUwRTUwLVxcdTBFNTlcXHUwRTgxXFx1MEU4MlxcdTBFODRcXHUwRTg3XFx1MEU4OFxcdTBFOEFcXHUwRThEXFx1MEU5NC1cXHUwRTk3XFx1MEU5OS1cXHUwRTlGXFx1MEVBMS1cXHUwRUEzXFx1MEVBNVxcdTBFQTdcXHUwRUFBXFx1MEVBQlxcdTBFQUQtXFx1MEVCOVxcdTBFQkItXFx1MEVCRFxcdTBFQzAtXFx1MEVDNFxcdTBFQzZcXHUwRUM4LVxcdTBFQ0RcXHUwRUQwLVxcdTBFRDlcXHUwRURDLVxcdTBFREZcXHUwRjAwXFx1MEYxOFxcdTBGMTlcXHUwRjIwLVxcdTBGMjlcXHUwRjM1XFx1MEYzN1xcdTBGMzlcXHUwRjNFLVxcdTBGNDdcXHUwRjQ5LVxcdTBGNkNcXHUwRjcxLVxcdTBGODRcXHUwRjg2LVxcdTBGOTdcXHUwRjk5LVxcdTBGQkNcXHUwRkM2XFx1MTAwMC1cXHUxMDQ5XFx1MTA1MC1cXHUxMDlEXFx1MTBBMC1cXHUxMEM1XFx1MTBDN1xcdTEwQ0RcXHUxMEQwLVxcdTEwRkFcXHUxMEZDLVxcdTEyNDhcXHUxMjRBLVxcdTEyNERcXHUxMjUwLVxcdTEyNTZcXHUxMjU4XFx1MTI1QS1cXHUxMjVEXFx1MTI2MC1cXHUxMjg4XFx1MTI4QS1cXHUxMjhEXFx1MTI5MC1cXHUxMkIwXFx1MTJCMi1cXHUxMkI1XFx1MTJCOC1cXHUxMkJFXFx1MTJDMFxcdTEyQzItXFx1MTJDNVxcdTEyQzgtXFx1MTJENlxcdTEyRDgtXFx1MTMxMFxcdTEzMTItXFx1MTMxNVxcdTEzMTgtXFx1MTM1QVxcdTEzNUQtXFx1MTM1RlxcdTEzNjktXFx1MTM3MVxcdTEzODAtXFx1MTM4RlxcdTEzQTAtXFx1MTNGNVxcdTEzRjgtXFx1MTNGRFxcdTE0MDEtXFx1MTY2Q1xcdTE2NkYtXFx1MTY3RlxcdTE2ODEtXFx1MTY5QVxcdTE2QTAtXFx1MTZFQVxcdTE2RUUtXFx1MTZGOFxcdTE3MDAtXFx1MTcwQ1xcdTE3MEUtXFx1MTcxNFxcdTE3MjAtXFx1MTczNFxcdTE3NDAtXFx1MTc1M1xcdTE3NjAtXFx1MTc2Q1xcdTE3NkUtXFx1MTc3MFxcdTE3NzJcXHUxNzczXFx1MTc4MC1cXHUxN0QzXFx1MTdEN1xcdTE3RENcXHUxN0REXFx1MTdFMC1cXHUxN0U5XFx1MTgwQi1cXHUxODBEXFx1MTgxMC1cXHUxODE5XFx1MTgyMC1cXHUxODc3XFx1MTg4MC1cXHUxOEFBXFx1MThCMC1cXHUxOEY1XFx1MTkwMC1cXHUxOTFFXFx1MTkyMC1cXHUxOTJCXFx1MTkzMC1cXHUxOTNCXFx1MTk0Ni1cXHUxOTZEXFx1MTk3MC1cXHUxOTc0XFx1MTk4MC1cXHUxOUFCXFx1MTlCMC1cXHUxOUM5XFx1MTlEMC1cXHUxOURBXFx1MUEwMC1cXHUxQTFCXFx1MUEyMC1cXHUxQTVFXFx1MUE2MC1cXHUxQTdDXFx1MUE3Ri1cXHUxQTg5XFx1MUE5MC1cXHUxQTk5XFx1MUFBN1xcdTFBQjAtXFx1MUFCRFxcdTFCMDAtXFx1MUI0QlxcdTFCNTAtXFx1MUI1OVxcdTFCNkItXFx1MUI3M1xcdTFCODAtXFx1MUJGM1xcdTFDMDAtXFx1MUMzN1xcdTFDNDAtXFx1MUM0OVxcdTFDNEQtXFx1MUM3RFxcdTFDRDAtXFx1MUNEMlxcdTFDRDQtXFx1MUNGNlxcdTFDRjhcXHUxQ0Y5XFx1MUQwMC1cXHUxREY1XFx1MURGQy1cXHUxRjE1XFx1MUYxOC1cXHUxRjFEXFx1MUYyMC1cXHUxRjQ1XFx1MUY0OC1cXHUxRjREXFx1MUY1MC1cXHUxRjU3XFx1MUY1OVxcdTFGNUJcXHUxRjVEXFx1MUY1Ri1cXHUxRjdEXFx1MUY4MC1cXHUxRkI0XFx1MUZCNi1cXHUxRkJDXFx1MUZCRVxcdTFGQzItXFx1MUZDNFxcdTFGQzYtXFx1MUZDQ1xcdTFGRDAtXFx1MUZEM1xcdTFGRDYtXFx1MUZEQlxcdTFGRTAtXFx1MUZFQ1xcdTFGRjItXFx1MUZGNFxcdTFGRjYtXFx1MUZGQ1xcdTIwMENcXHUyMDBEXFx1MjAzRlxcdTIwNDBcXHUyMDU0XFx1MjA3MVxcdTIwN0ZcXHUyMDkwLVxcdTIwOUNcXHUyMEQwLVxcdTIwRENcXHUyMEUxXFx1MjBFNS1cXHUyMEYwXFx1MjEwMlxcdTIxMDdcXHUyMTBBLVxcdTIxMTNcXHUyMTE1XFx1MjExOC1cXHUyMTFEXFx1MjEyNFxcdTIxMjZcXHUyMTI4XFx1MjEyQS1cXHUyMTM5XFx1MjEzQy1cXHUyMTNGXFx1MjE0NS1cXHUyMTQ5XFx1MjE0RVxcdTIxNjAtXFx1MjE4OFxcdTJDMDAtXFx1MkMyRVxcdTJDMzAtXFx1MkM1RVxcdTJDNjAtXFx1MkNFNFxcdTJDRUItXFx1MkNGM1xcdTJEMDAtXFx1MkQyNVxcdTJEMjdcXHUyRDJEXFx1MkQzMC1cXHUyRDY3XFx1MkQ2RlxcdTJEN0YtXFx1MkQ5NlxcdTJEQTAtXFx1MkRBNlxcdTJEQTgtXFx1MkRBRVxcdTJEQjAtXFx1MkRCNlxcdTJEQjgtXFx1MkRCRVxcdTJEQzAtXFx1MkRDNlxcdTJEQzgtXFx1MkRDRVxcdTJERDAtXFx1MkRENlxcdTJERDgtXFx1MkRERVxcdTJERTAtXFx1MkRGRlxcdTMwMDUtXFx1MzAwN1xcdTMwMjEtXFx1MzAyRlxcdTMwMzEtXFx1MzAzNVxcdTMwMzgtXFx1MzAzQ1xcdTMwNDEtXFx1MzA5NlxcdTMwOTktXFx1MzA5RlxcdTMwQTEtXFx1MzBGQVxcdTMwRkMtXFx1MzBGRlxcdTMxMDUtXFx1MzEyRFxcdTMxMzEtXFx1MzE4RVxcdTMxQTAtXFx1MzFCQVxcdTMxRjAtXFx1MzFGRlxcdTM0MDAtXFx1NERCNVxcdTRFMDAtXFx1OUZENVxcdUEwMDAtXFx1QTQ4Q1xcdUE0RDAtXFx1QTRGRFxcdUE1MDAtXFx1QTYwQ1xcdUE2MTAtXFx1QTYyQlxcdUE2NDAtXFx1QTY2RlxcdUE2NzQtXFx1QTY3RFxcdUE2N0YtXFx1QTZGMVxcdUE3MTctXFx1QTcxRlxcdUE3MjItXFx1QTc4OFxcdUE3OEItXFx1QTdBRFxcdUE3QjAtXFx1QTdCN1xcdUE3RjctXFx1QTgyN1xcdUE4NDAtXFx1QTg3M1xcdUE4ODAtXFx1QThDNFxcdUE4RDAtXFx1QThEOVxcdUE4RTAtXFx1QThGN1xcdUE4RkJcXHVBOEZEXFx1QTkwMC1cXHVBOTJEXFx1QTkzMC1cXHVBOTUzXFx1QTk2MC1cXHVBOTdDXFx1QTk4MC1cXHVBOUMwXFx1QTlDRi1cXHVBOUQ5XFx1QTlFMC1cXHVBOUZFXFx1QUEwMC1cXHVBQTM2XFx1QUE0MC1cXHVBQTREXFx1QUE1MC1cXHVBQTU5XFx1QUE2MC1cXHVBQTc2XFx1QUE3QS1cXHVBQUMyXFx1QUFEQi1cXHVBQUREXFx1QUFFMC1cXHVBQUVGXFx1QUFGMi1cXHVBQUY2XFx1QUIwMS1cXHVBQjA2XFx1QUIwOS1cXHVBQjBFXFx1QUIxMS1cXHVBQjE2XFx1QUIyMC1cXHVBQjI2XFx1QUIyOC1cXHVBQjJFXFx1QUIzMC1cXHVBQjVBXFx1QUI1Qy1cXHVBQjY1XFx1QUI3MC1cXHVBQkVBXFx1QUJFQ1xcdUFCRURcXHVBQkYwLVxcdUFCRjlcXHVBQzAwLVxcdUQ3QTNcXHVEN0IwLVxcdUQ3QzZcXHVEN0NCLVxcdUQ3RkJcXHVGOTAwLVxcdUZBNkRcXHVGQTcwLVxcdUZBRDlcXHVGQjAwLVxcdUZCMDZcXHVGQjEzLVxcdUZCMTdcXHVGQjFELVxcdUZCMjhcXHVGQjJBLVxcdUZCMzZcXHVGQjM4LVxcdUZCM0NcXHVGQjNFXFx1RkI0MFxcdUZCNDFcXHVGQjQzXFx1RkI0NFxcdUZCNDYtXFx1RkJCMVxcdUZCRDMtXFx1RkQzRFxcdUZENTAtXFx1RkQ4RlxcdUZEOTItXFx1RkRDN1xcdUZERjAtXFx1RkRGQlxcdUZFMDAtXFx1RkUwRlxcdUZFMjAtXFx1RkUyRlxcdUZFMzNcXHVGRTM0XFx1RkU0RC1cXHVGRTRGXFx1RkU3MC1cXHVGRTc0XFx1RkU3Ni1cXHVGRUZDXFx1RkYxMC1cXHVGRjE5XFx1RkYyMS1cXHVGRjNBXFx1RkYzRlxcdUZGNDEtXFx1RkY1QVxcdUZGNjYtXFx1RkZCRVxcdUZGQzItXFx1RkZDN1xcdUZGQ0EtXFx1RkZDRlxcdUZGRDItXFx1RkZEN1xcdUZGREEtXFx1RkZEQ118XFx1RDgwMFtcXHVEQzAwLVxcdURDMEJcXHVEQzBELVxcdURDMjZcXHVEQzI4LVxcdURDM0FcXHVEQzNDXFx1REMzRFxcdURDM0YtXFx1REM0RFxcdURDNTAtXFx1REM1RFxcdURDODAtXFx1RENGQVxcdURENDAtXFx1REQ3NFxcdURERkRcXHVERTgwLVxcdURFOUNcXHVERUEwLVxcdURFRDBcXHVERUUwXFx1REYwMC1cXHVERjFGXFx1REYzMC1cXHVERjRBXFx1REY1MC1cXHVERjdBXFx1REY4MC1cXHVERjlEXFx1REZBMC1cXHVERkMzXFx1REZDOC1cXHVERkNGXFx1REZEMS1cXHVERkQ1XXxcXHVEODAxW1xcdURDMDAtXFx1REM5RFxcdURDQTAtXFx1RENBOVxcdUREMDAtXFx1REQyN1xcdUREMzAtXFx1REQ2M1xcdURFMDAtXFx1REYzNlxcdURGNDAtXFx1REY1NVxcdURGNjAtXFx1REY2N118XFx1RDgwMltcXHVEQzAwLVxcdURDMDVcXHVEQzA4XFx1REMwQS1cXHVEQzM1XFx1REMzN1xcdURDMzhcXHVEQzNDXFx1REMzRi1cXHVEQzU1XFx1REM2MC1cXHVEQzc2XFx1REM4MC1cXHVEQzlFXFx1RENFMC1cXHVEQ0YyXFx1RENGNFxcdURDRjVcXHVERDAwLVxcdUREMTVcXHVERDIwLVxcdUREMzlcXHVERDgwLVxcdUREQjdcXHVEREJFXFx1RERCRlxcdURFMDAtXFx1REUwM1xcdURFMDVcXHVERTA2XFx1REUwQy1cXHVERTEzXFx1REUxNS1cXHVERTE3XFx1REUxOS1cXHVERTMzXFx1REUzOC1cXHVERTNBXFx1REUzRlxcdURFNjAtXFx1REU3Q1xcdURFODAtXFx1REU5Q1xcdURFQzAtXFx1REVDN1xcdURFQzktXFx1REVFNlxcdURGMDAtXFx1REYzNVxcdURGNDAtXFx1REY1NVxcdURGNjAtXFx1REY3MlxcdURGODAtXFx1REY5MV18XFx1RDgwM1tcXHVEQzAwLVxcdURDNDhcXHVEQzgwLVxcdURDQjJcXHVEQ0MwLVxcdURDRjJdfFxcdUQ4MDRbXFx1REMwMC1cXHVEQzQ2XFx1REM2Ni1cXHVEQzZGXFx1REM3Ri1cXHVEQ0JBXFx1RENEMC1cXHVEQ0U4XFx1RENGMC1cXHVEQ0Y5XFx1REQwMC1cXHVERDM0XFx1REQzNi1cXHVERDNGXFx1REQ1MC1cXHVERDczXFx1REQ3NlxcdUREODAtXFx1RERDNFxcdUREQ0EtXFx1RERDQ1xcdURERDAtXFx1REREQVxcdURERENcXHVERTAwLVxcdURFMTFcXHVERTEzLVxcdURFMzdcXHVERTgwLVxcdURFODZcXHVERTg4XFx1REU4QS1cXHVERThEXFx1REU4Ri1cXHVERTlEXFx1REU5Ri1cXHVERUE4XFx1REVCMC1cXHVERUVBXFx1REVGMC1cXHVERUY5XFx1REYwMC1cXHVERjAzXFx1REYwNS1cXHVERjBDXFx1REYwRlxcdURGMTBcXHVERjEzLVxcdURGMjhcXHVERjJBLVxcdURGMzBcXHVERjMyXFx1REYzM1xcdURGMzUtXFx1REYzOVxcdURGM0MtXFx1REY0NFxcdURGNDdcXHVERjQ4XFx1REY0Qi1cXHVERjREXFx1REY1MFxcdURGNTdcXHVERjVELVxcdURGNjNcXHVERjY2LVxcdURGNkNcXHVERjcwLVxcdURGNzRdfFxcdUQ4MDVbXFx1REM4MC1cXHVEQ0M1XFx1RENDN1xcdURDRDAtXFx1RENEOVxcdUREODAtXFx1RERCNVxcdUREQjgtXFx1RERDMFxcdURERDgtXFx1RERERFxcdURFMDAtXFx1REU0MFxcdURFNDRcXHVERTUwLVxcdURFNTlcXHVERTgwLVxcdURFQjdcXHVERUMwLVxcdURFQzlcXHVERjAwLVxcdURGMTlcXHVERjFELVxcdURGMkJcXHVERjMwLVxcdURGMzldfFxcdUQ4MDZbXFx1RENBMC1cXHVEQ0U5XFx1RENGRlxcdURFQzAtXFx1REVGOF18XFx1RDgwOFtcXHVEQzAwLVxcdURGOTldfFxcdUQ4MDlbXFx1REMwMC1cXHVEQzZFXFx1REM4MC1cXHVERDQzXXxbXFx1RDgwQ1xcdUQ4NDAtXFx1RDg2OFxcdUQ4NkEtXFx1RDg2Q1xcdUQ4NkYtXFx1RDg3Ml1bXFx1REMwMC1cXHVERkZGXXxcXHVEODBEW1xcdURDMDAtXFx1REMyRV18XFx1RDgxMVtcXHVEQzAwLVxcdURFNDZdfFxcdUQ4MUFbXFx1REMwMC1cXHVERTM4XFx1REU0MC1cXHVERTVFXFx1REU2MC1cXHVERTY5XFx1REVEMC1cXHVERUVEXFx1REVGMC1cXHVERUY0XFx1REYwMC1cXHVERjM2XFx1REY0MC1cXHVERjQzXFx1REY1MC1cXHVERjU5XFx1REY2My1cXHVERjc3XFx1REY3RC1cXHVERjhGXXxcXHVEODFCW1xcdURGMDAtXFx1REY0NFxcdURGNTAtXFx1REY3RVxcdURGOEYtXFx1REY5Rl18XFx1RDgyQ1tcXHVEQzAwXFx1REMwMV18XFx1RDgyRltcXHVEQzAwLVxcdURDNkFcXHVEQzcwLVxcdURDN0NcXHVEQzgwLVxcdURDODhcXHVEQzkwLVxcdURDOTlcXHVEQzlEXFx1REM5RV18XFx1RDgzNFtcXHVERDY1LVxcdURENjlcXHVERDZELVxcdURENzJcXHVERDdCLVxcdUREODJcXHVERDg1LVxcdUREOEJcXHVEREFBLVxcdUREQURcXHVERTQyLVxcdURFNDRdfFxcdUQ4MzVbXFx1REMwMC1cXHVEQzU0XFx1REM1Ni1cXHVEQzlDXFx1REM5RVxcdURDOUZcXHVEQ0EyXFx1RENBNVxcdURDQTZcXHVEQ0E5LVxcdURDQUNcXHVEQ0FFLVxcdURDQjlcXHVEQ0JCXFx1RENCRC1cXHVEQ0MzXFx1RENDNS1cXHVERDA1XFx1REQwNy1cXHVERDBBXFx1REQwRC1cXHVERDE0XFx1REQxNi1cXHVERDFDXFx1REQxRS1cXHVERDM5XFx1REQzQi1cXHVERDNFXFx1REQ0MC1cXHVERDQ0XFx1REQ0NlxcdURENEEtXFx1REQ1MFxcdURENTItXFx1REVBNVxcdURFQTgtXFx1REVDMFxcdURFQzItXFx1REVEQVxcdURFREMtXFx1REVGQVxcdURFRkMtXFx1REYxNFxcdURGMTYtXFx1REYzNFxcdURGMzYtXFx1REY0RVxcdURGNTAtXFx1REY2RVxcdURGNzAtXFx1REY4OFxcdURGOEEtXFx1REZBOFxcdURGQUEtXFx1REZDMlxcdURGQzQtXFx1REZDQlxcdURGQ0UtXFx1REZGRl18XFx1RDgzNltcXHVERTAwLVxcdURFMzZcXHVERTNCLVxcdURFNkNcXHVERTc1XFx1REU4NFxcdURFOUItXFx1REU5RlxcdURFQTEtXFx1REVBRl18XFx1RDgzQVtcXHVEQzAwLVxcdURDQzRcXHVEQ0QwLVxcdURDRDZdfFxcdUQ4M0JbXFx1REUwMC1cXHVERTAzXFx1REUwNS1cXHVERTFGXFx1REUyMVxcdURFMjJcXHVERTI0XFx1REUyN1xcdURFMjktXFx1REUzMlxcdURFMzQtXFx1REUzN1xcdURFMzlcXHVERTNCXFx1REU0MlxcdURFNDdcXHVERTQ5XFx1REU0QlxcdURFNEQtXFx1REU0RlxcdURFNTFcXHVERTUyXFx1REU1NFxcdURFNTdcXHVERTU5XFx1REU1QlxcdURFNURcXHVERTVGXFx1REU2MVxcdURFNjJcXHVERTY0XFx1REU2Ny1cXHVERTZBXFx1REU2Qy1cXHVERTcyXFx1REU3NC1cXHVERTc3XFx1REU3OS1cXHVERTdDXFx1REU3RVxcdURFODAtXFx1REU4OVxcdURFOEItXFx1REU5QlxcdURFQTEtXFx1REVBM1xcdURFQTUtXFx1REVBOVxcdURFQUItXFx1REVCQl18XFx1RDg2OVtcXHVEQzAwLVxcdURFRDZcXHVERjAwLVxcdURGRkZdfFxcdUQ4NkRbXFx1REMwMC1cXHVERjM0XFx1REY0MC1cXHVERkZGXXxcXHVEODZFW1xcdURDMDAtXFx1REMxRFxcdURDMjAtXFx1REZGRl18XFx1RDg3M1tcXHVEQzAwLVxcdURFQTFdfFxcdUQ4N0VbXFx1REMwMC1cXHVERTFEXXxcXHVEQjQwW1xcdUREMDAtXFx1RERFRl0vXG5cdH07XG5cdGV4cG9ydHMuQ2hhcmFjdGVyID0ge1xuXHQgICAgLyogdHNsaW50OmRpc2FibGU6bm8tYml0d2lzZSAqL1xuXHQgICAgZnJvbUNvZGVQb2ludDogZnVuY3Rpb24gKGNwKSB7XG5cdCAgICAgICAgcmV0dXJuIChjcCA8IDB4MTAwMDApID8gU3RyaW5nLmZyb21DaGFyQ29kZShjcCkgOlxuXHQgICAgICAgICAgICBTdHJpbmcuZnJvbUNoYXJDb2RlKDB4RDgwMCArICgoY3AgLSAweDEwMDAwKSA+PiAxMCkpICtcblx0ICAgICAgICAgICAgICAgIFN0cmluZy5mcm9tQ2hhckNvZGUoMHhEQzAwICsgKChjcCAtIDB4MTAwMDApICYgMTAyMykpO1xuXHQgICAgfSxcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXdoaXRlLXNwYWNlXG5cdCAgICBpc1doaXRlU3BhY2U6IGZ1bmN0aW9uIChjcCkge1xuXHQgICAgICAgIHJldHVybiAoY3AgPT09IDB4MjApIHx8IChjcCA9PT0gMHgwOSkgfHwgKGNwID09PSAweDBCKSB8fCAoY3AgPT09IDB4MEMpIHx8IChjcCA9PT0gMHhBMCkgfHxcblx0ICAgICAgICAgICAgKGNwID49IDB4MTY4MCAmJiBbMHgxNjgwLCAweDIwMDAsIDB4MjAwMSwgMHgyMDAyLCAweDIwMDMsIDB4MjAwNCwgMHgyMDA1LCAweDIwMDYsIDB4MjAwNywgMHgyMDA4LCAweDIwMDksIDB4MjAwQSwgMHgyMDJGLCAweDIwNUYsIDB4MzAwMCwgMHhGRUZGXS5pbmRleE9mKGNwKSA+PSAwKTtcblx0ICAgIH0sXG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1saW5lLXRlcm1pbmF0b3JzXG5cdCAgICBpc0xpbmVUZXJtaW5hdG9yOiBmdW5jdGlvbiAoY3ApIHtcblx0ICAgICAgICByZXR1cm4gKGNwID09PSAweDBBKSB8fCAoY3AgPT09IDB4MEQpIHx8IChjcCA9PT0gMHgyMDI4KSB8fCAoY3AgPT09IDB4MjAyOSk7XG5cdCAgICB9LFxuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtbmFtZXMtYW5kLWtleXdvcmRzXG5cdCAgICBpc0lkZW50aWZpZXJTdGFydDogZnVuY3Rpb24gKGNwKSB7XG5cdCAgICAgICAgcmV0dXJuIChjcCA9PT0gMHgyNCkgfHwgKGNwID09PSAweDVGKSB8fFxuXHQgICAgICAgICAgICAoY3AgPj0gMHg0MSAmJiBjcCA8PSAweDVBKSB8fFxuXHQgICAgICAgICAgICAoY3AgPj0gMHg2MSAmJiBjcCA8PSAweDdBKSB8fFxuXHQgICAgICAgICAgICAoY3AgPT09IDB4NUMpIHx8XG5cdCAgICAgICAgICAgICgoY3AgPj0gMHg4MCkgJiYgUmVnZXguTm9uQXNjaWlJZGVudGlmaWVyU3RhcnQudGVzdChleHBvcnRzLkNoYXJhY3Rlci5mcm9tQ29kZVBvaW50KGNwKSkpO1xuXHQgICAgfSxcblx0ICAgIGlzSWRlbnRpZmllclBhcnQ6IGZ1bmN0aW9uIChjcCkge1xuXHQgICAgICAgIHJldHVybiAoY3AgPT09IDB4MjQpIHx8IChjcCA9PT0gMHg1RikgfHxcblx0ICAgICAgICAgICAgKGNwID49IDB4NDEgJiYgY3AgPD0gMHg1QSkgfHxcblx0ICAgICAgICAgICAgKGNwID49IDB4NjEgJiYgY3AgPD0gMHg3QSkgfHxcblx0ICAgICAgICAgICAgKGNwID49IDB4MzAgJiYgY3AgPD0gMHgzOSkgfHxcblx0ICAgICAgICAgICAgKGNwID09PSAweDVDKSB8fFxuXHQgICAgICAgICAgICAoKGNwID49IDB4ODApICYmIFJlZ2V4Lk5vbkFzY2lpSWRlbnRpZmllclBhcnQudGVzdChleHBvcnRzLkNoYXJhY3Rlci5mcm9tQ29kZVBvaW50KGNwKSkpO1xuXHQgICAgfSxcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWxpdGVyYWxzLW51bWVyaWMtbGl0ZXJhbHNcblx0ICAgIGlzRGVjaW1hbERpZ2l0OiBmdW5jdGlvbiAoY3ApIHtcblx0ICAgICAgICByZXR1cm4gKGNwID49IDB4MzAgJiYgY3AgPD0gMHgzOSk7IC8vIDAuLjlcblx0ICAgIH0sXG5cdCAgICBpc0hleERpZ2l0OiBmdW5jdGlvbiAoY3ApIHtcblx0ICAgICAgICByZXR1cm4gKGNwID49IDB4MzAgJiYgY3AgPD0gMHgzOSkgfHxcblx0ICAgICAgICAgICAgKGNwID49IDB4NDEgJiYgY3AgPD0gMHg0NikgfHxcblx0ICAgICAgICAgICAgKGNwID49IDB4NjEgJiYgY3AgPD0gMHg2Nik7IC8vIGEuLmZcblx0ICAgIH0sXG5cdCAgICBpc09jdGFsRGlnaXQ6IGZ1bmN0aW9uIChjcCkge1xuXHQgICAgICAgIHJldHVybiAoY3AgPj0gMHgzMCAmJiBjcCA8PSAweDM3KTsgLy8gMC4uN1xuXHQgICAgfVxuXHR9O1xuXG5cbi8qKiovIH0sXG4vKiA1ICovXG4vKioqLyBmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXHRcInVzZSBzdHJpY3RcIjtcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuXHR2YXIganN4X3N5bnRheF8xID0gX193ZWJwYWNrX3JlcXVpcmVfXyg2KTtcblx0LyogdHNsaW50OmRpc2FibGU6bWF4LWNsYXNzZXMtcGVyLWZpbGUgKi9cblx0dmFyIEpTWENsb3NpbmdFbGVtZW50ID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIEpTWENsb3NpbmdFbGVtZW50KG5hbWUpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBqc3hfc3ludGF4XzEuSlNYU3ludGF4LkpTWENsb3NpbmdFbGVtZW50O1xuXHQgICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gSlNYQ2xvc2luZ0VsZW1lbnQ7XG5cdH0oKSk7XG5cdGV4cG9ydHMuSlNYQ2xvc2luZ0VsZW1lbnQgPSBKU1hDbG9zaW5nRWxlbWVudDtcblx0dmFyIEpTWEVsZW1lbnQgPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gSlNYRWxlbWVudChvcGVuaW5nRWxlbWVudCwgY2hpbGRyZW4sIGNsb3NpbmdFbGVtZW50KSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0ganN4X3N5bnRheF8xLkpTWFN5bnRheC5KU1hFbGVtZW50O1xuXHQgICAgICAgIHRoaXMub3BlbmluZ0VsZW1lbnQgPSBvcGVuaW5nRWxlbWVudDtcblx0ICAgICAgICB0aGlzLmNoaWxkcmVuID0gY2hpbGRyZW47XG5cdCAgICAgICAgdGhpcy5jbG9zaW5nRWxlbWVudCA9IGNsb3NpbmdFbGVtZW50O1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIEpTWEVsZW1lbnQ7XG5cdH0oKSk7XG5cdGV4cG9ydHMuSlNYRWxlbWVudCA9IEpTWEVsZW1lbnQ7XG5cdHZhciBKU1hFbXB0eUV4cHJlc3Npb24gPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gSlNYRW1wdHlFeHByZXNzaW9uKCkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IGpzeF9zeW50YXhfMS5KU1hTeW50YXguSlNYRW1wdHlFeHByZXNzaW9uO1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIEpTWEVtcHR5RXhwcmVzc2lvbjtcblx0fSgpKTtcblx0ZXhwb3J0cy5KU1hFbXB0eUV4cHJlc3Npb24gPSBKU1hFbXB0eUV4cHJlc3Npb247XG5cdHZhciBKU1hFeHByZXNzaW9uQ29udGFpbmVyID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIEpTWEV4cHJlc3Npb25Db250YWluZXIoZXhwcmVzc2lvbikge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IGpzeF9zeW50YXhfMS5KU1hTeW50YXguSlNYRXhwcmVzc2lvbkNvbnRhaW5lcjtcblx0ICAgICAgICB0aGlzLmV4cHJlc3Npb24gPSBleHByZXNzaW9uO1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIEpTWEV4cHJlc3Npb25Db250YWluZXI7XG5cdH0oKSk7XG5cdGV4cG9ydHMuSlNYRXhwcmVzc2lvbkNvbnRhaW5lciA9IEpTWEV4cHJlc3Npb25Db250YWluZXI7XG5cdHZhciBKU1hJZGVudGlmaWVyID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIEpTWElkZW50aWZpZXIobmFtZSkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IGpzeF9zeW50YXhfMS5KU1hTeW50YXguSlNYSWRlbnRpZmllcjtcblx0ICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIEpTWElkZW50aWZpZXI7XG5cdH0oKSk7XG5cdGV4cG9ydHMuSlNYSWRlbnRpZmllciA9IEpTWElkZW50aWZpZXI7XG5cdHZhciBKU1hNZW1iZXJFeHByZXNzaW9uID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIEpTWE1lbWJlckV4cHJlc3Npb24ob2JqZWN0LCBwcm9wZXJ0eSkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IGpzeF9zeW50YXhfMS5KU1hTeW50YXguSlNYTWVtYmVyRXhwcmVzc2lvbjtcblx0ICAgICAgICB0aGlzLm9iamVjdCA9IG9iamVjdDtcblx0ICAgICAgICB0aGlzLnByb3BlcnR5ID0gcHJvcGVydHk7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gSlNYTWVtYmVyRXhwcmVzc2lvbjtcblx0fSgpKTtcblx0ZXhwb3J0cy5KU1hNZW1iZXJFeHByZXNzaW9uID0gSlNYTWVtYmVyRXhwcmVzc2lvbjtcblx0dmFyIEpTWEF0dHJpYnV0ZSA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBKU1hBdHRyaWJ1dGUobmFtZSwgdmFsdWUpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBqc3hfc3ludGF4XzEuSlNYU3ludGF4LkpTWEF0dHJpYnV0ZTtcblx0ICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuXHQgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcblx0ICAgIH1cblx0ICAgIHJldHVybiBKU1hBdHRyaWJ1dGU7XG5cdH0oKSk7XG5cdGV4cG9ydHMuSlNYQXR0cmlidXRlID0gSlNYQXR0cmlidXRlO1xuXHR2YXIgSlNYTmFtZXNwYWNlZE5hbWUgPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gSlNYTmFtZXNwYWNlZE5hbWUobmFtZXNwYWNlLCBuYW1lKSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0ganN4X3N5bnRheF8xLkpTWFN5bnRheC5KU1hOYW1lc3BhY2VkTmFtZTtcblx0ICAgICAgICB0aGlzLm5hbWVzcGFjZSA9IG5hbWVzcGFjZTtcblx0ICAgICAgICB0aGlzLm5hbWUgPSBuYW1lO1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIEpTWE5hbWVzcGFjZWROYW1lO1xuXHR9KCkpO1xuXHRleHBvcnRzLkpTWE5hbWVzcGFjZWROYW1lID0gSlNYTmFtZXNwYWNlZE5hbWU7XG5cdHZhciBKU1hPcGVuaW5nRWxlbWVudCA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBKU1hPcGVuaW5nRWxlbWVudChuYW1lLCBzZWxmQ2xvc2luZywgYXR0cmlidXRlcykge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IGpzeF9zeW50YXhfMS5KU1hTeW50YXguSlNYT3BlbmluZ0VsZW1lbnQ7XG5cdCAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcblx0ICAgICAgICB0aGlzLnNlbGZDbG9zaW5nID0gc2VsZkNsb3Npbmc7XG5cdCAgICAgICAgdGhpcy5hdHRyaWJ1dGVzID0gYXR0cmlidXRlcztcblx0ICAgIH1cblx0ICAgIHJldHVybiBKU1hPcGVuaW5nRWxlbWVudDtcblx0fSgpKTtcblx0ZXhwb3J0cy5KU1hPcGVuaW5nRWxlbWVudCA9IEpTWE9wZW5pbmdFbGVtZW50O1xuXHR2YXIgSlNYU3ByZWFkQXR0cmlidXRlID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIEpTWFNwcmVhZEF0dHJpYnV0ZShhcmd1bWVudCkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IGpzeF9zeW50YXhfMS5KU1hTeW50YXguSlNYU3ByZWFkQXR0cmlidXRlO1xuXHQgICAgICAgIHRoaXMuYXJndW1lbnQgPSBhcmd1bWVudDtcblx0ICAgIH1cblx0ICAgIHJldHVybiBKU1hTcHJlYWRBdHRyaWJ1dGU7XG5cdH0oKSk7XG5cdGV4cG9ydHMuSlNYU3ByZWFkQXR0cmlidXRlID0gSlNYU3ByZWFkQXR0cmlidXRlO1xuXHR2YXIgSlNYVGV4dCA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBKU1hUZXh0KHZhbHVlLCByYXcpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBqc3hfc3ludGF4XzEuSlNYU3ludGF4LkpTWFRleHQ7XG5cdCAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXHQgICAgICAgIHRoaXMucmF3ID0gcmF3O1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIEpTWFRleHQ7XG5cdH0oKSk7XG5cdGV4cG9ydHMuSlNYVGV4dCA9IEpTWFRleHQ7XG5cblxuLyoqKi8gfSxcbi8qIDYgKi9cbi8qKiovIGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cykge1xuXG5cdFwidXNlIHN0cmljdFwiO1xuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5cdGV4cG9ydHMuSlNYU3ludGF4ID0ge1xuXHQgICAgSlNYQXR0cmlidXRlOiAnSlNYQXR0cmlidXRlJyxcblx0ICAgIEpTWENsb3NpbmdFbGVtZW50OiAnSlNYQ2xvc2luZ0VsZW1lbnQnLFxuXHQgICAgSlNYRWxlbWVudDogJ0pTWEVsZW1lbnQnLFxuXHQgICAgSlNYRW1wdHlFeHByZXNzaW9uOiAnSlNYRW1wdHlFeHByZXNzaW9uJyxcblx0ICAgIEpTWEV4cHJlc3Npb25Db250YWluZXI6ICdKU1hFeHByZXNzaW9uQ29udGFpbmVyJyxcblx0ICAgIEpTWElkZW50aWZpZXI6ICdKU1hJZGVudGlmaWVyJyxcblx0ICAgIEpTWE1lbWJlckV4cHJlc3Npb246ICdKU1hNZW1iZXJFeHByZXNzaW9uJyxcblx0ICAgIEpTWE5hbWVzcGFjZWROYW1lOiAnSlNYTmFtZXNwYWNlZE5hbWUnLFxuXHQgICAgSlNYT3BlbmluZ0VsZW1lbnQ6ICdKU1hPcGVuaW5nRWxlbWVudCcsXG5cdCAgICBKU1hTcHJlYWRBdHRyaWJ1dGU6ICdKU1hTcHJlYWRBdHRyaWJ1dGUnLFxuXHQgICAgSlNYVGV4dDogJ0pTWFRleHQnXG5cdH07XG5cblxuLyoqKi8gfSxcbi8qIDcgKi9cbi8qKiovIGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cdFwidXNlIHN0cmljdFwiO1xuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5cdHZhciBzeW50YXhfMSA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cdC8qIHRzbGludDpkaXNhYmxlOm1heC1jbGFzc2VzLXBlci1maWxlICovXG5cdHZhciBBcnJheUV4cHJlc3Npb24gPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gQXJyYXlFeHByZXNzaW9uKGVsZW1lbnRzKSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LkFycmF5RXhwcmVzc2lvbjtcblx0ICAgICAgICB0aGlzLmVsZW1lbnRzID0gZWxlbWVudHM7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gQXJyYXlFeHByZXNzaW9uO1xuXHR9KCkpO1xuXHRleHBvcnRzLkFycmF5RXhwcmVzc2lvbiA9IEFycmF5RXhwcmVzc2lvbjtcblx0dmFyIEFycmF5UGF0dGVybiA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBBcnJheVBhdHRlcm4oZWxlbWVudHMpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguQXJyYXlQYXR0ZXJuO1xuXHQgICAgICAgIHRoaXMuZWxlbWVudHMgPSBlbGVtZW50cztcblx0ICAgIH1cblx0ICAgIHJldHVybiBBcnJheVBhdHRlcm47XG5cdH0oKSk7XG5cdGV4cG9ydHMuQXJyYXlQYXR0ZXJuID0gQXJyYXlQYXR0ZXJuO1xuXHR2YXIgQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24gPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24ocGFyYW1zLCBib2R5LCBleHByZXNzaW9uKSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LkFycm93RnVuY3Rpb25FeHByZXNzaW9uO1xuXHQgICAgICAgIHRoaXMuaWQgPSBudWxsO1xuXHQgICAgICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuXHQgICAgICAgIHRoaXMuYm9keSA9IGJvZHk7XG5cdCAgICAgICAgdGhpcy5nZW5lcmF0b3IgPSBmYWxzZTtcblx0ICAgICAgICB0aGlzLmV4cHJlc3Npb24gPSBleHByZXNzaW9uO1xuXHQgICAgICAgIHRoaXMuYXN5bmMgPSBmYWxzZTtcblx0ICAgIH1cblx0ICAgIHJldHVybiBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbjtcblx0fSgpKTtcblx0ZXhwb3J0cy5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiA9IEFycm93RnVuY3Rpb25FeHByZXNzaW9uO1xuXHR2YXIgQXNzaWdubWVudEV4cHJlc3Npb24gPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gQXNzaWdubWVudEV4cHJlc3Npb24ob3BlcmF0b3IsIGxlZnQsIHJpZ2h0KSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LkFzc2lnbm1lbnRFeHByZXNzaW9uO1xuXHQgICAgICAgIHRoaXMub3BlcmF0b3IgPSBvcGVyYXRvcjtcblx0ICAgICAgICB0aGlzLmxlZnQgPSBsZWZ0O1xuXHQgICAgICAgIHRoaXMucmlnaHQgPSByaWdodDtcblx0ICAgIH1cblx0ICAgIHJldHVybiBBc3NpZ25tZW50RXhwcmVzc2lvbjtcblx0fSgpKTtcblx0ZXhwb3J0cy5Bc3NpZ25tZW50RXhwcmVzc2lvbiA9IEFzc2lnbm1lbnRFeHByZXNzaW9uO1xuXHR2YXIgQXNzaWdubWVudFBhdHRlcm4gPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gQXNzaWdubWVudFBhdHRlcm4obGVmdCwgcmlnaHQpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguQXNzaWdubWVudFBhdHRlcm47XG5cdCAgICAgICAgdGhpcy5sZWZ0ID0gbGVmdDtcblx0ICAgICAgICB0aGlzLnJpZ2h0ID0gcmlnaHQ7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gQXNzaWdubWVudFBhdHRlcm47XG5cdH0oKSk7XG5cdGV4cG9ydHMuQXNzaWdubWVudFBhdHRlcm4gPSBBc3NpZ25tZW50UGF0dGVybjtcblx0dmFyIEFzeW5jQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24gPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gQXN5bmNBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbihwYXJhbXMsIGJvZHksIGV4cHJlc3Npb24pIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguQXJyb3dGdW5jdGlvbkV4cHJlc3Npb247XG5cdCAgICAgICAgdGhpcy5pZCA9IG51bGw7XG5cdCAgICAgICAgdGhpcy5wYXJhbXMgPSBwYXJhbXM7XG5cdCAgICAgICAgdGhpcy5ib2R5ID0gYm9keTtcblx0ICAgICAgICB0aGlzLmdlbmVyYXRvciA9IGZhbHNlO1xuXHQgICAgICAgIHRoaXMuZXhwcmVzc2lvbiA9IGV4cHJlc3Npb247XG5cdCAgICAgICAgdGhpcy5hc3luYyA9IHRydWU7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gQXN5bmNBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbjtcblx0fSgpKTtcblx0ZXhwb3J0cy5Bc3luY0Fycm93RnVuY3Rpb25FeHByZXNzaW9uID0gQXN5bmNBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbjtcblx0dmFyIEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24oaWQsIHBhcmFtcywgYm9keSkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5GdW5jdGlvbkRlY2xhcmF0aW9uO1xuXHQgICAgICAgIHRoaXMuaWQgPSBpZDtcblx0ICAgICAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcblx0ICAgICAgICB0aGlzLmJvZHkgPSBib2R5O1xuXHQgICAgICAgIHRoaXMuZ2VuZXJhdG9yID0gZmFsc2U7XG5cdCAgICAgICAgdGhpcy5leHByZXNzaW9uID0gZmFsc2U7XG5cdCAgICAgICAgdGhpcy5hc3luYyA9IHRydWU7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uO1xuXHR9KCkpO1xuXHRleHBvcnRzLkFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbiA9IEFzeW5jRnVuY3Rpb25EZWNsYXJhdGlvbjtcblx0dmFyIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIEFzeW5jRnVuY3Rpb25FeHByZXNzaW9uKGlkLCBwYXJhbXMsIGJvZHkpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguRnVuY3Rpb25FeHByZXNzaW9uO1xuXHQgICAgICAgIHRoaXMuaWQgPSBpZDtcblx0ICAgICAgICB0aGlzLnBhcmFtcyA9IHBhcmFtcztcblx0ICAgICAgICB0aGlzLmJvZHkgPSBib2R5O1xuXHQgICAgICAgIHRoaXMuZ2VuZXJhdG9yID0gZmFsc2U7XG5cdCAgICAgICAgdGhpcy5leHByZXNzaW9uID0gZmFsc2U7XG5cdCAgICAgICAgdGhpcy5hc3luYyA9IHRydWU7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gQXN5bmNGdW5jdGlvbkV4cHJlc3Npb247XG5cdH0oKSk7XG5cdGV4cG9ydHMuQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24gPSBBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbjtcblx0dmFyIEF3YWl0RXhwcmVzc2lvbiA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBBd2FpdEV4cHJlc3Npb24oYXJndW1lbnQpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguQXdhaXRFeHByZXNzaW9uO1xuXHQgICAgICAgIHRoaXMuYXJndW1lbnQgPSBhcmd1bWVudDtcblx0ICAgIH1cblx0ICAgIHJldHVybiBBd2FpdEV4cHJlc3Npb247XG5cdH0oKSk7XG5cdGV4cG9ydHMuQXdhaXRFeHByZXNzaW9uID0gQXdhaXRFeHByZXNzaW9uO1xuXHR2YXIgQmluYXJ5RXhwcmVzc2lvbiA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBCaW5hcnlFeHByZXNzaW9uKG9wZXJhdG9yLCBsZWZ0LCByaWdodCkge1xuXHQgICAgICAgIHZhciBsb2dpY2FsID0gKG9wZXJhdG9yID09PSAnfHwnIHx8IG9wZXJhdG9yID09PSAnJiYnKTtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBsb2dpY2FsID8gc3ludGF4XzEuU3ludGF4LkxvZ2ljYWxFeHByZXNzaW9uIDogc3ludGF4XzEuU3ludGF4LkJpbmFyeUV4cHJlc3Npb247XG5cdCAgICAgICAgdGhpcy5vcGVyYXRvciA9IG9wZXJhdG9yO1xuXHQgICAgICAgIHRoaXMubGVmdCA9IGxlZnQ7XG5cdCAgICAgICAgdGhpcy5yaWdodCA9IHJpZ2h0O1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIEJpbmFyeUV4cHJlc3Npb247XG5cdH0oKSk7XG5cdGV4cG9ydHMuQmluYXJ5RXhwcmVzc2lvbiA9IEJpbmFyeUV4cHJlc3Npb247XG5cdHZhciBCbG9ja1N0YXRlbWVudCA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBCbG9ja1N0YXRlbWVudChib2R5KSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LkJsb2NrU3RhdGVtZW50O1xuXHQgICAgICAgIHRoaXMuYm9keSA9IGJvZHk7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gQmxvY2tTdGF0ZW1lbnQ7XG5cdH0oKSk7XG5cdGV4cG9ydHMuQmxvY2tTdGF0ZW1lbnQgPSBCbG9ja1N0YXRlbWVudDtcblx0dmFyIEJyZWFrU3RhdGVtZW50ID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIEJyZWFrU3RhdGVtZW50KGxhYmVsKSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LkJyZWFrU3RhdGVtZW50O1xuXHQgICAgICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcblx0ICAgIH1cblx0ICAgIHJldHVybiBCcmVha1N0YXRlbWVudDtcblx0fSgpKTtcblx0ZXhwb3J0cy5CcmVha1N0YXRlbWVudCA9IEJyZWFrU3RhdGVtZW50O1xuXHR2YXIgQ2FsbEV4cHJlc3Npb24gPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gQ2FsbEV4cHJlc3Npb24oY2FsbGVlLCBhcmdzKSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LkNhbGxFeHByZXNzaW9uO1xuXHQgICAgICAgIHRoaXMuY2FsbGVlID0gY2FsbGVlO1xuXHQgICAgICAgIHRoaXMuYXJndW1lbnRzID0gYXJncztcblx0ICAgIH1cblx0ICAgIHJldHVybiBDYWxsRXhwcmVzc2lvbjtcblx0fSgpKTtcblx0ZXhwb3J0cy5DYWxsRXhwcmVzc2lvbiA9IENhbGxFeHByZXNzaW9uO1xuXHR2YXIgQ2F0Y2hDbGF1c2UgPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gQ2F0Y2hDbGF1c2UocGFyYW0sIGJvZHkpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguQ2F0Y2hDbGF1c2U7XG5cdCAgICAgICAgdGhpcy5wYXJhbSA9IHBhcmFtO1xuXHQgICAgICAgIHRoaXMuYm9keSA9IGJvZHk7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gQ2F0Y2hDbGF1c2U7XG5cdH0oKSk7XG5cdGV4cG9ydHMuQ2F0Y2hDbGF1c2UgPSBDYXRjaENsYXVzZTtcblx0dmFyIENsYXNzQm9keSA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBDbGFzc0JvZHkoYm9keSkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5DbGFzc0JvZHk7XG5cdCAgICAgICAgdGhpcy5ib2R5ID0gYm9keTtcblx0ICAgIH1cblx0ICAgIHJldHVybiBDbGFzc0JvZHk7XG5cdH0oKSk7XG5cdGV4cG9ydHMuQ2xhc3NCb2R5ID0gQ2xhc3NCb2R5O1xuXHR2YXIgQ2xhc3NEZWNsYXJhdGlvbiA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBDbGFzc0RlY2xhcmF0aW9uKGlkLCBzdXBlckNsYXNzLCBib2R5KSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LkNsYXNzRGVjbGFyYXRpb247XG5cdCAgICAgICAgdGhpcy5pZCA9IGlkO1xuXHQgICAgICAgIHRoaXMuc3VwZXJDbGFzcyA9IHN1cGVyQ2xhc3M7XG5cdCAgICAgICAgdGhpcy5ib2R5ID0gYm9keTtcblx0ICAgIH1cblx0ICAgIHJldHVybiBDbGFzc0RlY2xhcmF0aW9uO1xuXHR9KCkpO1xuXHRleHBvcnRzLkNsYXNzRGVjbGFyYXRpb24gPSBDbGFzc0RlY2xhcmF0aW9uO1xuXHR2YXIgQ2xhc3NFeHByZXNzaW9uID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIENsYXNzRXhwcmVzc2lvbihpZCwgc3VwZXJDbGFzcywgYm9keSkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5DbGFzc0V4cHJlc3Npb247XG5cdCAgICAgICAgdGhpcy5pZCA9IGlkO1xuXHQgICAgICAgIHRoaXMuc3VwZXJDbGFzcyA9IHN1cGVyQ2xhc3M7XG5cdCAgICAgICAgdGhpcy5ib2R5ID0gYm9keTtcblx0ICAgIH1cblx0ICAgIHJldHVybiBDbGFzc0V4cHJlc3Npb247XG5cdH0oKSk7XG5cdGV4cG9ydHMuQ2xhc3NFeHByZXNzaW9uID0gQ2xhc3NFeHByZXNzaW9uO1xuXHR2YXIgQ29tcHV0ZWRNZW1iZXJFeHByZXNzaW9uID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIENvbXB1dGVkTWVtYmVyRXhwcmVzc2lvbihvYmplY3QsIHByb3BlcnR5KSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4Lk1lbWJlckV4cHJlc3Npb247XG5cdCAgICAgICAgdGhpcy5jb21wdXRlZCA9IHRydWU7XG5cdCAgICAgICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG5cdCAgICAgICAgdGhpcy5wcm9wZXJ0eSA9IHByb3BlcnR5O1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIENvbXB1dGVkTWVtYmVyRXhwcmVzc2lvbjtcblx0fSgpKTtcblx0ZXhwb3J0cy5Db21wdXRlZE1lbWJlckV4cHJlc3Npb24gPSBDb21wdXRlZE1lbWJlckV4cHJlc3Npb247XG5cdHZhciBDb25kaXRpb25hbEV4cHJlc3Npb24gPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gQ29uZGl0aW9uYWxFeHByZXNzaW9uKHRlc3QsIGNvbnNlcXVlbnQsIGFsdGVybmF0ZSkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5Db25kaXRpb25hbEV4cHJlc3Npb247XG5cdCAgICAgICAgdGhpcy50ZXN0ID0gdGVzdDtcblx0ICAgICAgICB0aGlzLmNvbnNlcXVlbnQgPSBjb25zZXF1ZW50O1xuXHQgICAgICAgIHRoaXMuYWx0ZXJuYXRlID0gYWx0ZXJuYXRlO1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIENvbmRpdGlvbmFsRXhwcmVzc2lvbjtcblx0fSgpKTtcblx0ZXhwb3J0cy5Db25kaXRpb25hbEV4cHJlc3Npb24gPSBDb25kaXRpb25hbEV4cHJlc3Npb247XG5cdHZhciBDb250aW51ZVN0YXRlbWVudCA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBDb250aW51ZVN0YXRlbWVudChsYWJlbCkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5Db250aW51ZVN0YXRlbWVudDtcblx0ICAgICAgICB0aGlzLmxhYmVsID0gbGFiZWw7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gQ29udGludWVTdGF0ZW1lbnQ7XG5cdH0oKSk7XG5cdGV4cG9ydHMuQ29udGludWVTdGF0ZW1lbnQgPSBDb250aW51ZVN0YXRlbWVudDtcblx0dmFyIERlYnVnZ2VyU3RhdGVtZW50ID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIERlYnVnZ2VyU3RhdGVtZW50KCkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5EZWJ1Z2dlclN0YXRlbWVudDtcblx0ICAgIH1cblx0ICAgIHJldHVybiBEZWJ1Z2dlclN0YXRlbWVudDtcblx0fSgpKTtcblx0ZXhwb3J0cy5EZWJ1Z2dlclN0YXRlbWVudCA9IERlYnVnZ2VyU3RhdGVtZW50O1xuXHR2YXIgRGlyZWN0aXZlID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIERpcmVjdGl2ZShleHByZXNzaW9uLCBkaXJlY3RpdmUpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguRXhwcmVzc2lvblN0YXRlbWVudDtcblx0ICAgICAgICB0aGlzLmV4cHJlc3Npb24gPSBleHByZXNzaW9uO1xuXHQgICAgICAgIHRoaXMuZGlyZWN0aXZlID0gZGlyZWN0aXZlO1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIERpcmVjdGl2ZTtcblx0fSgpKTtcblx0ZXhwb3J0cy5EaXJlY3RpdmUgPSBEaXJlY3RpdmU7XG5cdHZhciBEb1doaWxlU3RhdGVtZW50ID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIERvV2hpbGVTdGF0ZW1lbnQoYm9keSwgdGVzdCkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5Eb1doaWxlU3RhdGVtZW50O1xuXHQgICAgICAgIHRoaXMuYm9keSA9IGJvZHk7XG5cdCAgICAgICAgdGhpcy50ZXN0ID0gdGVzdDtcblx0ICAgIH1cblx0ICAgIHJldHVybiBEb1doaWxlU3RhdGVtZW50O1xuXHR9KCkpO1xuXHRleHBvcnRzLkRvV2hpbGVTdGF0ZW1lbnQgPSBEb1doaWxlU3RhdGVtZW50O1xuXHR2YXIgRW1wdHlTdGF0ZW1lbnQgPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gRW1wdHlTdGF0ZW1lbnQoKSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LkVtcHR5U3RhdGVtZW50O1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIEVtcHR5U3RhdGVtZW50O1xuXHR9KCkpO1xuXHRleHBvcnRzLkVtcHR5U3RhdGVtZW50ID0gRW1wdHlTdGF0ZW1lbnQ7XG5cdHZhciBFeHBvcnRBbGxEZWNsYXJhdGlvbiA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBFeHBvcnRBbGxEZWNsYXJhdGlvbihzb3VyY2UpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguRXhwb3J0QWxsRGVjbGFyYXRpb247XG5cdCAgICAgICAgdGhpcy5zb3VyY2UgPSBzb3VyY2U7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gRXhwb3J0QWxsRGVjbGFyYXRpb247XG5cdH0oKSk7XG5cdGV4cG9ydHMuRXhwb3J0QWxsRGVjbGFyYXRpb24gPSBFeHBvcnRBbGxEZWNsYXJhdGlvbjtcblx0dmFyIEV4cG9ydERlZmF1bHREZWNsYXJhdGlvbiA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBFeHBvcnREZWZhdWx0RGVjbGFyYXRpb24oZGVjbGFyYXRpb24pIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uO1xuXHQgICAgICAgIHRoaXMuZGVjbGFyYXRpb24gPSBkZWNsYXJhdGlvbjtcblx0ICAgIH1cblx0ICAgIHJldHVybiBFeHBvcnREZWZhdWx0RGVjbGFyYXRpb247XG5cdH0oKSk7XG5cdGV4cG9ydHMuRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uID0gRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uO1xuXHR2YXIgRXhwb3J0TmFtZWREZWNsYXJhdGlvbiA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBFeHBvcnROYW1lZERlY2xhcmF0aW9uKGRlY2xhcmF0aW9uLCBzcGVjaWZpZXJzLCBzb3VyY2UpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguRXhwb3J0TmFtZWREZWNsYXJhdGlvbjtcblx0ICAgICAgICB0aGlzLmRlY2xhcmF0aW9uID0gZGVjbGFyYXRpb247XG5cdCAgICAgICAgdGhpcy5zcGVjaWZpZXJzID0gc3BlY2lmaWVycztcblx0ICAgICAgICB0aGlzLnNvdXJjZSA9IHNvdXJjZTtcblx0ICAgIH1cblx0ICAgIHJldHVybiBFeHBvcnROYW1lZERlY2xhcmF0aW9uO1xuXHR9KCkpO1xuXHRleHBvcnRzLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24gPSBFeHBvcnROYW1lZERlY2xhcmF0aW9uO1xuXHR2YXIgRXhwb3J0U3BlY2lmaWVyID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIEV4cG9ydFNwZWNpZmllcihsb2NhbCwgZXhwb3J0ZWQpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguRXhwb3J0U3BlY2lmaWVyO1xuXHQgICAgICAgIHRoaXMuZXhwb3J0ZWQgPSBleHBvcnRlZDtcblx0ICAgICAgICB0aGlzLmxvY2FsID0gbG9jYWw7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gRXhwb3J0U3BlY2lmaWVyO1xuXHR9KCkpO1xuXHRleHBvcnRzLkV4cG9ydFNwZWNpZmllciA9IEV4cG9ydFNwZWNpZmllcjtcblx0dmFyIEV4cHJlc3Npb25TdGF0ZW1lbnQgPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gRXhwcmVzc2lvblN0YXRlbWVudChleHByZXNzaW9uKSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LkV4cHJlc3Npb25TdGF0ZW1lbnQ7XG5cdCAgICAgICAgdGhpcy5leHByZXNzaW9uID0gZXhwcmVzc2lvbjtcblx0ICAgIH1cblx0ICAgIHJldHVybiBFeHByZXNzaW9uU3RhdGVtZW50O1xuXHR9KCkpO1xuXHRleHBvcnRzLkV4cHJlc3Npb25TdGF0ZW1lbnQgPSBFeHByZXNzaW9uU3RhdGVtZW50O1xuXHR2YXIgRm9ySW5TdGF0ZW1lbnQgPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gRm9ySW5TdGF0ZW1lbnQobGVmdCwgcmlnaHQsIGJvZHkpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguRm9ySW5TdGF0ZW1lbnQ7XG5cdCAgICAgICAgdGhpcy5sZWZ0ID0gbGVmdDtcblx0ICAgICAgICB0aGlzLnJpZ2h0ID0gcmlnaHQ7XG5cdCAgICAgICAgdGhpcy5ib2R5ID0gYm9keTtcblx0ICAgICAgICB0aGlzLmVhY2ggPSBmYWxzZTtcblx0ICAgIH1cblx0ICAgIHJldHVybiBGb3JJblN0YXRlbWVudDtcblx0fSgpKTtcblx0ZXhwb3J0cy5Gb3JJblN0YXRlbWVudCA9IEZvckluU3RhdGVtZW50O1xuXHR2YXIgRm9yT2ZTdGF0ZW1lbnQgPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gRm9yT2ZTdGF0ZW1lbnQobGVmdCwgcmlnaHQsIGJvZHkpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguRm9yT2ZTdGF0ZW1lbnQ7XG5cdCAgICAgICAgdGhpcy5sZWZ0ID0gbGVmdDtcblx0ICAgICAgICB0aGlzLnJpZ2h0ID0gcmlnaHQ7XG5cdCAgICAgICAgdGhpcy5ib2R5ID0gYm9keTtcblx0ICAgIH1cblx0ICAgIHJldHVybiBGb3JPZlN0YXRlbWVudDtcblx0fSgpKTtcblx0ZXhwb3J0cy5Gb3JPZlN0YXRlbWVudCA9IEZvck9mU3RhdGVtZW50O1xuXHR2YXIgRm9yU3RhdGVtZW50ID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIEZvclN0YXRlbWVudChpbml0LCB0ZXN0LCB1cGRhdGUsIGJvZHkpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguRm9yU3RhdGVtZW50O1xuXHQgICAgICAgIHRoaXMuaW5pdCA9IGluaXQ7XG5cdCAgICAgICAgdGhpcy50ZXN0ID0gdGVzdDtcblx0ICAgICAgICB0aGlzLnVwZGF0ZSA9IHVwZGF0ZTtcblx0ICAgICAgICB0aGlzLmJvZHkgPSBib2R5O1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIEZvclN0YXRlbWVudDtcblx0fSgpKTtcblx0ZXhwb3J0cy5Gb3JTdGF0ZW1lbnQgPSBGb3JTdGF0ZW1lbnQ7XG5cdHZhciBGdW5jdGlvbkRlY2xhcmF0aW9uID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIEZ1bmN0aW9uRGVjbGFyYXRpb24oaWQsIHBhcmFtcywgYm9keSwgZ2VuZXJhdG9yKSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LkZ1bmN0aW9uRGVjbGFyYXRpb247XG5cdCAgICAgICAgdGhpcy5pZCA9IGlkO1xuXHQgICAgICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuXHQgICAgICAgIHRoaXMuYm9keSA9IGJvZHk7XG5cdCAgICAgICAgdGhpcy5nZW5lcmF0b3IgPSBnZW5lcmF0b3I7XG5cdCAgICAgICAgdGhpcy5leHByZXNzaW9uID0gZmFsc2U7XG5cdCAgICAgICAgdGhpcy5hc3luYyA9IGZhbHNlO1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIEZ1bmN0aW9uRGVjbGFyYXRpb247XG5cdH0oKSk7XG5cdGV4cG9ydHMuRnVuY3Rpb25EZWNsYXJhdGlvbiA9IEZ1bmN0aW9uRGVjbGFyYXRpb247XG5cdHZhciBGdW5jdGlvbkV4cHJlc3Npb24gPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gRnVuY3Rpb25FeHByZXNzaW9uKGlkLCBwYXJhbXMsIGJvZHksIGdlbmVyYXRvcikge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5GdW5jdGlvbkV4cHJlc3Npb247XG5cdCAgICAgICAgdGhpcy5pZCA9IGlkO1xuXHQgICAgICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuXHQgICAgICAgIHRoaXMuYm9keSA9IGJvZHk7XG5cdCAgICAgICAgdGhpcy5nZW5lcmF0b3IgPSBnZW5lcmF0b3I7XG5cdCAgICAgICAgdGhpcy5leHByZXNzaW9uID0gZmFsc2U7XG5cdCAgICAgICAgdGhpcy5hc3luYyA9IGZhbHNlO1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIEZ1bmN0aW9uRXhwcmVzc2lvbjtcblx0fSgpKTtcblx0ZXhwb3J0cy5GdW5jdGlvbkV4cHJlc3Npb24gPSBGdW5jdGlvbkV4cHJlc3Npb247XG5cdHZhciBJZGVudGlmaWVyID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIElkZW50aWZpZXIobmFtZSkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5JZGVudGlmaWVyO1xuXHQgICAgICAgIHRoaXMubmFtZSA9IG5hbWU7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gSWRlbnRpZmllcjtcblx0fSgpKTtcblx0ZXhwb3J0cy5JZGVudGlmaWVyID0gSWRlbnRpZmllcjtcblx0dmFyIElmU3RhdGVtZW50ID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIElmU3RhdGVtZW50KHRlc3QsIGNvbnNlcXVlbnQsIGFsdGVybmF0ZSkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5JZlN0YXRlbWVudDtcblx0ICAgICAgICB0aGlzLnRlc3QgPSB0ZXN0O1xuXHQgICAgICAgIHRoaXMuY29uc2VxdWVudCA9IGNvbnNlcXVlbnQ7XG5cdCAgICAgICAgdGhpcy5hbHRlcm5hdGUgPSBhbHRlcm5hdGU7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gSWZTdGF0ZW1lbnQ7XG5cdH0oKSk7XG5cdGV4cG9ydHMuSWZTdGF0ZW1lbnQgPSBJZlN0YXRlbWVudDtcblx0dmFyIEltcG9ydERlY2xhcmF0aW9uID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIEltcG9ydERlY2xhcmF0aW9uKHNwZWNpZmllcnMsIHNvdXJjZSkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5JbXBvcnREZWNsYXJhdGlvbjtcblx0ICAgICAgICB0aGlzLnNwZWNpZmllcnMgPSBzcGVjaWZpZXJzO1xuXHQgICAgICAgIHRoaXMuc291cmNlID0gc291cmNlO1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIEltcG9ydERlY2xhcmF0aW9uO1xuXHR9KCkpO1xuXHRleHBvcnRzLkltcG9ydERlY2xhcmF0aW9uID0gSW1wb3J0RGVjbGFyYXRpb247XG5cdHZhciBJbXBvcnREZWZhdWx0U3BlY2lmaWVyID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIEltcG9ydERlZmF1bHRTcGVjaWZpZXIobG9jYWwpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguSW1wb3J0RGVmYXVsdFNwZWNpZmllcjtcblx0ICAgICAgICB0aGlzLmxvY2FsID0gbG9jYWw7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gSW1wb3J0RGVmYXVsdFNwZWNpZmllcjtcblx0fSgpKTtcblx0ZXhwb3J0cy5JbXBvcnREZWZhdWx0U3BlY2lmaWVyID0gSW1wb3J0RGVmYXVsdFNwZWNpZmllcjtcblx0dmFyIEltcG9ydE5hbWVzcGFjZVNwZWNpZmllciA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXIobG9jYWwpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyO1xuXHQgICAgICAgIHRoaXMubG9jYWwgPSBsb2NhbDtcblx0ICAgIH1cblx0ICAgIHJldHVybiBJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXI7XG5cdH0oKSk7XG5cdGV4cG9ydHMuSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyID0gSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyO1xuXHR2YXIgSW1wb3J0U3BlY2lmaWVyID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIEltcG9ydFNwZWNpZmllcihsb2NhbCwgaW1wb3J0ZWQpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguSW1wb3J0U3BlY2lmaWVyO1xuXHQgICAgICAgIHRoaXMubG9jYWwgPSBsb2NhbDtcblx0ICAgICAgICB0aGlzLmltcG9ydGVkID0gaW1wb3J0ZWQ7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gSW1wb3J0U3BlY2lmaWVyO1xuXHR9KCkpO1xuXHRleHBvcnRzLkltcG9ydFNwZWNpZmllciA9IEltcG9ydFNwZWNpZmllcjtcblx0dmFyIExhYmVsZWRTdGF0ZW1lbnQgPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gTGFiZWxlZFN0YXRlbWVudChsYWJlbCwgYm9keSkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5MYWJlbGVkU3RhdGVtZW50O1xuXHQgICAgICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcblx0ICAgICAgICB0aGlzLmJvZHkgPSBib2R5O1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIExhYmVsZWRTdGF0ZW1lbnQ7XG5cdH0oKSk7XG5cdGV4cG9ydHMuTGFiZWxlZFN0YXRlbWVudCA9IExhYmVsZWRTdGF0ZW1lbnQ7XG5cdHZhciBMaXRlcmFsID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIExpdGVyYWwodmFsdWUsIHJhdykge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5MaXRlcmFsO1xuXHQgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcblx0ICAgICAgICB0aGlzLnJhdyA9IHJhdztcblx0ICAgIH1cblx0ICAgIHJldHVybiBMaXRlcmFsO1xuXHR9KCkpO1xuXHRleHBvcnRzLkxpdGVyYWwgPSBMaXRlcmFsO1xuXHR2YXIgTWV0YVByb3BlcnR5ID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIE1ldGFQcm9wZXJ0eShtZXRhLCBwcm9wZXJ0eSkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5NZXRhUHJvcGVydHk7XG5cdCAgICAgICAgdGhpcy5tZXRhID0gbWV0YTtcblx0ICAgICAgICB0aGlzLnByb3BlcnR5ID0gcHJvcGVydHk7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gTWV0YVByb3BlcnR5O1xuXHR9KCkpO1xuXHRleHBvcnRzLk1ldGFQcm9wZXJ0eSA9IE1ldGFQcm9wZXJ0eTtcblx0dmFyIE1ldGhvZERlZmluaXRpb24gPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gTWV0aG9kRGVmaW5pdGlvbihrZXksIGNvbXB1dGVkLCB2YWx1ZSwga2luZCwgaXNTdGF0aWMpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguTWV0aG9kRGVmaW5pdGlvbjtcblx0ICAgICAgICB0aGlzLmtleSA9IGtleTtcblx0ICAgICAgICB0aGlzLmNvbXB1dGVkID0gY29tcHV0ZWQ7XG5cdCAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXHQgICAgICAgIHRoaXMua2luZCA9IGtpbmQ7XG5cdCAgICAgICAgdGhpcy5zdGF0aWMgPSBpc1N0YXRpYztcblx0ICAgIH1cblx0ICAgIHJldHVybiBNZXRob2REZWZpbml0aW9uO1xuXHR9KCkpO1xuXHRleHBvcnRzLk1ldGhvZERlZmluaXRpb24gPSBNZXRob2REZWZpbml0aW9uO1xuXHR2YXIgTW9kdWxlID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIE1vZHVsZShib2R5KSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LlByb2dyYW07XG5cdCAgICAgICAgdGhpcy5ib2R5ID0gYm9keTtcblx0ICAgICAgICB0aGlzLnNvdXJjZVR5cGUgPSAnbW9kdWxlJztcblx0ICAgIH1cblx0ICAgIHJldHVybiBNb2R1bGU7XG5cdH0oKSk7XG5cdGV4cG9ydHMuTW9kdWxlID0gTW9kdWxlO1xuXHR2YXIgTmV3RXhwcmVzc2lvbiA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBOZXdFeHByZXNzaW9uKGNhbGxlZSwgYXJncykge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5OZXdFeHByZXNzaW9uO1xuXHQgICAgICAgIHRoaXMuY2FsbGVlID0gY2FsbGVlO1xuXHQgICAgICAgIHRoaXMuYXJndW1lbnRzID0gYXJncztcblx0ICAgIH1cblx0ICAgIHJldHVybiBOZXdFeHByZXNzaW9uO1xuXHR9KCkpO1xuXHRleHBvcnRzLk5ld0V4cHJlc3Npb24gPSBOZXdFeHByZXNzaW9uO1xuXHR2YXIgT2JqZWN0RXhwcmVzc2lvbiA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBPYmplY3RFeHByZXNzaW9uKHByb3BlcnRpZXMpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguT2JqZWN0RXhwcmVzc2lvbjtcblx0ICAgICAgICB0aGlzLnByb3BlcnRpZXMgPSBwcm9wZXJ0aWVzO1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIE9iamVjdEV4cHJlc3Npb247XG5cdH0oKSk7XG5cdGV4cG9ydHMuT2JqZWN0RXhwcmVzc2lvbiA9IE9iamVjdEV4cHJlc3Npb247XG5cdHZhciBPYmplY3RQYXR0ZXJuID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIE9iamVjdFBhdHRlcm4ocHJvcGVydGllcykge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5PYmplY3RQYXR0ZXJuO1xuXHQgICAgICAgIHRoaXMucHJvcGVydGllcyA9IHByb3BlcnRpZXM7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gT2JqZWN0UGF0dGVybjtcblx0fSgpKTtcblx0ZXhwb3J0cy5PYmplY3RQYXR0ZXJuID0gT2JqZWN0UGF0dGVybjtcblx0dmFyIFByb3BlcnR5ID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIFByb3BlcnR5KGtpbmQsIGtleSwgY29tcHV0ZWQsIHZhbHVlLCBtZXRob2QsIHNob3J0aGFuZCkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5Qcm9wZXJ0eTtcblx0ICAgICAgICB0aGlzLmtleSA9IGtleTtcblx0ICAgICAgICB0aGlzLmNvbXB1dGVkID0gY29tcHV0ZWQ7XG5cdCAgICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuXHQgICAgICAgIHRoaXMua2luZCA9IGtpbmQ7XG5cdCAgICAgICAgdGhpcy5tZXRob2QgPSBtZXRob2Q7XG5cdCAgICAgICAgdGhpcy5zaG9ydGhhbmQgPSBzaG9ydGhhbmQ7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gUHJvcGVydHk7XG5cdH0oKSk7XG5cdGV4cG9ydHMuUHJvcGVydHkgPSBQcm9wZXJ0eTtcblx0dmFyIFJlZ2V4TGl0ZXJhbCA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBSZWdleExpdGVyYWwodmFsdWUsIHJhdywgcGF0dGVybiwgZmxhZ3MpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguTGl0ZXJhbDtcblx0ICAgICAgICB0aGlzLnZhbHVlID0gdmFsdWU7XG5cdCAgICAgICAgdGhpcy5yYXcgPSByYXc7XG5cdCAgICAgICAgdGhpcy5yZWdleCA9IHsgcGF0dGVybjogcGF0dGVybiwgZmxhZ3M6IGZsYWdzIH07XG5cdCAgICB9XG5cdCAgICByZXR1cm4gUmVnZXhMaXRlcmFsO1xuXHR9KCkpO1xuXHRleHBvcnRzLlJlZ2V4TGl0ZXJhbCA9IFJlZ2V4TGl0ZXJhbDtcblx0dmFyIFJlc3RFbGVtZW50ID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIFJlc3RFbGVtZW50KGFyZ3VtZW50KSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LlJlc3RFbGVtZW50O1xuXHQgICAgICAgIHRoaXMuYXJndW1lbnQgPSBhcmd1bWVudDtcblx0ICAgIH1cblx0ICAgIHJldHVybiBSZXN0RWxlbWVudDtcblx0fSgpKTtcblx0ZXhwb3J0cy5SZXN0RWxlbWVudCA9IFJlc3RFbGVtZW50O1xuXHR2YXIgUmV0dXJuU3RhdGVtZW50ID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIFJldHVyblN0YXRlbWVudChhcmd1bWVudCkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5SZXR1cm5TdGF0ZW1lbnQ7XG5cdCAgICAgICAgdGhpcy5hcmd1bWVudCA9IGFyZ3VtZW50O1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIFJldHVyblN0YXRlbWVudDtcblx0fSgpKTtcblx0ZXhwb3J0cy5SZXR1cm5TdGF0ZW1lbnQgPSBSZXR1cm5TdGF0ZW1lbnQ7XG5cdHZhciBTY3JpcHQgPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gU2NyaXB0KGJvZHkpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguUHJvZ3JhbTtcblx0ICAgICAgICB0aGlzLmJvZHkgPSBib2R5O1xuXHQgICAgICAgIHRoaXMuc291cmNlVHlwZSA9ICdzY3JpcHQnO1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIFNjcmlwdDtcblx0fSgpKTtcblx0ZXhwb3J0cy5TY3JpcHQgPSBTY3JpcHQ7XG5cdHZhciBTZXF1ZW5jZUV4cHJlc3Npb24gPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gU2VxdWVuY2VFeHByZXNzaW9uKGV4cHJlc3Npb25zKSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LlNlcXVlbmNlRXhwcmVzc2lvbjtcblx0ICAgICAgICB0aGlzLmV4cHJlc3Npb25zID0gZXhwcmVzc2lvbnM7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gU2VxdWVuY2VFeHByZXNzaW9uO1xuXHR9KCkpO1xuXHRleHBvcnRzLlNlcXVlbmNlRXhwcmVzc2lvbiA9IFNlcXVlbmNlRXhwcmVzc2lvbjtcblx0dmFyIFNwcmVhZEVsZW1lbnQgPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gU3ByZWFkRWxlbWVudChhcmd1bWVudCkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5TcHJlYWRFbGVtZW50O1xuXHQgICAgICAgIHRoaXMuYXJndW1lbnQgPSBhcmd1bWVudDtcblx0ICAgIH1cblx0ICAgIHJldHVybiBTcHJlYWRFbGVtZW50O1xuXHR9KCkpO1xuXHRleHBvcnRzLlNwcmVhZEVsZW1lbnQgPSBTcHJlYWRFbGVtZW50O1xuXHR2YXIgU3RhdGljTWVtYmVyRXhwcmVzc2lvbiA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBTdGF0aWNNZW1iZXJFeHByZXNzaW9uKG9iamVjdCwgcHJvcGVydHkpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguTWVtYmVyRXhwcmVzc2lvbjtcblx0ICAgICAgICB0aGlzLmNvbXB1dGVkID0gZmFsc2U7XG5cdCAgICAgICAgdGhpcy5vYmplY3QgPSBvYmplY3Q7XG5cdCAgICAgICAgdGhpcy5wcm9wZXJ0eSA9IHByb3BlcnR5O1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIFN0YXRpY01lbWJlckV4cHJlc3Npb247XG5cdH0oKSk7XG5cdGV4cG9ydHMuU3RhdGljTWVtYmVyRXhwcmVzc2lvbiA9IFN0YXRpY01lbWJlckV4cHJlc3Npb247XG5cdHZhciBTdXBlciA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBTdXBlcigpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguU3VwZXI7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gU3VwZXI7XG5cdH0oKSk7XG5cdGV4cG9ydHMuU3VwZXIgPSBTdXBlcjtcblx0dmFyIFN3aXRjaENhc2UgPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gU3dpdGNoQ2FzZSh0ZXN0LCBjb25zZXF1ZW50KSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LlN3aXRjaENhc2U7XG5cdCAgICAgICAgdGhpcy50ZXN0ID0gdGVzdDtcblx0ICAgICAgICB0aGlzLmNvbnNlcXVlbnQgPSBjb25zZXF1ZW50O1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIFN3aXRjaENhc2U7XG5cdH0oKSk7XG5cdGV4cG9ydHMuU3dpdGNoQ2FzZSA9IFN3aXRjaENhc2U7XG5cdHZhciBTd2l0Y2hTdGF0ZW1lbnQgPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gU3dpdGNoU3RhdGVtZW50KGRpc2NyaW1pbmFudCwgY2FzZXMpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguU3dpdGNoU3RhdGVtZW50O1xuXHQgICAgICAgIHRoaXMuZGlzY3JpbWluYW50ID0gZGlzY3JpbWluYW50O1xuXHQgICAgICAgIHRoaXMuY2FzZXMgPSBjYXNlcztcblx0ICAgIH1cblx0ICAgIHJldHVybiBTd2l0Y2hTdGF0ZW1lbnQ7XG5cdH0oKSk7XG5cdGV4cG9ydHMuU3dpdGNoU3RhdGVtZW50ID0gU3dpdGNoU3RhdGVtZW50O1xuXHR2YXIgVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIFRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvbih0YWcsIHF1YXNpKSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvbjtcblx0ICAgICAgICB0aGlzLnRhZyA9IHRhZztcblx0ICAgICAgICB0aGlzLnF1YXNpID0gcXVhc2k7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uO1xuXHR9KCkpO1xuXHRleHBvcnRzLlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvbiA9IFRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvbjtcblx0dmFyIFRlbXBsYXRlRWxlbWVudCA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBUZW1wbGF0ZUVsZW1lbnQodmFsdWUsIHRhaWwpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguVGVtcGxhdGVFbGVtZW50O1xuXHQgICAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcblx0ICAgICAgICB0aGlzLnRhaWwgPSB0YWlsO1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIFRlbXBsYXRlRWxlbWVudDtcblx0fSgpKTtcblx0ZXhwb3J0cy5UZW1wbGF0ZUVsZW1lbnQgPSBUZW1wbGF0ZUVsZW1lbnQ7XG5cdHZhciBUZW1wbGF0ZUxpdGVyYWwgPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gVGVtcGxhdGVMaXRlcmFsKHF1YXNpcywgZXhwcmVzc2lvbnMpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguVGVtcGxhdGVMaXRlcmFsO1xuXHQgICAgICAgIHRoaXMucXVhc2lzID0gcXVhc2lzO1xuXHQgICAgICAgIHRoaXMuZXhwcmVzc2lvbnMgPSBleHByZXNzaW9ucztcblx0ICAgIH1cblx0ICAgIHJldHVybiBUZW1wbGF0ZUxpdGVyYWw7XG5cdH0oKSk7XG5cdGV4cG9ydHMuVGVtcGxhdGVMaXRlcmFsID0gVGVtcGxhdGVMaXRlcmFsO1xuXHR2YXIgVGhpc0V4cHJlc3Npb24gPSAoZnVuY3Rpb24gKCkge1xuXHQgICAgZnVuY3Rpb24gVGhpc0V4cHJlc3Npb24oKSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LlRoaXNFeHByZXNzaW9uO1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIFRoaXNFeHByZXNzaW9uO1xuXHR9KCkpO1xuXHRleHBvcnRzLlRoaXNFeHByZXNzaW9uID0gVGhpc0V4cHJlc3Npb247XG5cdHZhciBUaHJvd1N0YXRlbWVudCA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBUaHJvd1N0YXRlbWVudChhcmd1bWVudCkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5UaHJvd1N0YXRlbWVudDtcblx0ICAgICAgICB0aGlzLmFyZ3VtZW50ID0gYXJndW1lbnQ7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gVGhyb3dTdGF0ZW1lbnQ7XG5cdH0oKSk7XG5cdGV4cG9ydHMuVGhyb3dTdGF0ZW1lbnQgPSBUaHJvd1N0YXRlbWVudDtcblx0dmFyIFRyeVN0YXRlbWVudCA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBUcnlTdGF0ZW1lbnQoYmxvY2ssIGhhbmRsZXIsIGZpbmFsaXplcikge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5UcnlTdGF0ZW1lbnQ7XG5cdCAgICAgICAgdGhpcy5ibG9jayA9IGJsb2NrO1xuXHQgICAgICAgIHRoaXMuaGFuZGxlciA9IGhhbmRsZXI7XG5cdCAgICAgICAgdGhpcy5maW5hbGl6ZXIgPSBmaW5hbGl6ZXI7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gVHJ5U3RhdGVtZW50O1xuXHR9KCkpO1xuXHRleHBvcnRzLlRyeVN0YXRlbWVudCA9IFRyeVN0YXRlbWVudDtcblx0dmFyIFVuYXJ5RXhwcmVzc2lvbiA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBVbmFyeUV4cHJlc3Npb24ob3BlcmF0b3IsIGFyZ3VtZW50KSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LlVuYXJ5RXhwcmVzc2lvbjtcblx0ICAgICAgICB0aGlzLm9wZXJhdG9yID0gb3BlcmF0b3I7XG5cdCAgICAgICAgdGhpcy5hcmd1bWVudCA9IGFyZ3VtZW50O1xuXHQgICAgICAgIHRoaXMucHJlZml4ID0gdHJ1ZTtcblx0ICAgIH1cblx0ICAgIHJldHVybiBVbmFyeUV4cHJlc3Npb247XG5cdH0oKSk7XG5cdGV4cG9ydHMuVW5hcnlFeHByZXNzaW9uID0gVW5hcnlFeHByZXNzaW9uO1xuXHR2YXIgVXBkYXRlRXhwcmVzc2lvbiA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBVcGRhdGVFeHByZXNzaW9uKG9wZXJhdG9yLCBhcmd1bWVudCwgcHJlZml4KSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LlVwZGF0ZUV4cHJlc3Npb247XG5cdCAgICAgICAgdGhpcy5vcGVyYXRvciA9IG9wZXJhdG9yO1xuXHQgICAgICAgIHRoaXMuYXJndW1lbnQgPSBhcmd1bWVudDtcblx0ICAgICAgICB0aGlzLnByZWZpeCA9IHByZWZpeDtcblx0ICAgIH1cblx0ICAgIHJldHVybiBVcGRhdGVFeHByZXNzaW9uO1xuXHR9KCkpO1xuXHRleHBvcnRzLlVwZGF0ZUV4cHJlc3Npb24gPSBVcGRhdGVFeHByZXNzaW9uO1xuXHR2YXIgVmFyaWFibGVEZWNsYXJhdGlvbiA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBWYXJpYWJsZURlY2xhcmF0aW9uKGRlY2xhcmF0aW9ucywga2luZCkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5WYXJpYWJsZURlY2xhcmF0aW9uO1xuXHQgICAgICAgIHRoaXMuZGVjbGFyYXRpb25zID0gZGVjbGFyYXRpb25zO1xuXHQgICAgICAgIHRoaXMua2luZCA9IGtpbmQ7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gVmFyaWFibGVEZWNsYXJhdGlvbjtcblx0fSgpKTtcblx0ZXhwb3J0cy5WYXJpYWJsZURlY2xhcmF0aW9uID0gVmFyaWFibGVEZWNsYXJhdGlvbjtcblx0dmFyIFZhcmlhYmxlRGVjbGFyYXRvciA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBWYXJpYWJsZURlY2xhcmF0b3IoaWQsIGluaXQpIHtcblx0ICAgICAgICB0aGlzLnR5cGUgPSBzeW50YXhfMS5TeW50YXguVmFyaWFibGVEZWNsYXJhdG9yO1xuXHQgICAgICAgIHRoaXMuaWQgPSBpZDtcblx0ICAgICAgICB0aGlzLmluaXQgPSBpbml0O1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIFZhcmlhYmxlRGVjbGFyYXRvcjtcblx0fSgpKTtcblx0ZXhwb3J0cy5WYXJpYWJsZURlY2xhcmF0b3IgPSBWYXJpYWJsZURlY2xhcmF0b3I7XG5cdHZhciBXaGlsZVN0YXRlbWVudCA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBXaGlsZVN0YXRlbWVudCh0ZXN0LCBib2R5KSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LldoaWxlU3RhdGVtZW50O1xuXHQgICAgICAgIHRoaXMudGVzdCA9IHRlc3Q7XG5cdCAgICAgICAgdGhpcy5ib2R5ID0gYm9keTtcblx0ICAgIH1cblx0ICAgIHJldHVybiBXaGlsZVN0YXRlbWVudDtcblx0fSgpKTtcblx0ZXhwb3J0cy5XaGlsZVN0YXRlbWVudCA9IFdoaWxlU3RhdGVtZW50O1xuXHR2YXIgV2l0aFN0YXRlbWVudCA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBXaXRoU3RhdGVtZW50KG9iamVjdCwgYm9keSkge1xuXHQgICAgICAgIHRoaXMudHlwZSA9IHN5bnRheF8xLlN5bnRheC5XaXRoU3RhdGVtZW50O1xuXHQgICAgICAgIHRoaXMub2JqZWN0ID0gb2JqZWN0O1xuXHQgICAgICAgIHRoaXMuYm9keSA9IGJvZHk7XG5cdCAgICB9XG5cdCAgICByZXR1cm4gV2l0aFN0YXRlbWVudDtcblx0fSgpKTtcblx0ZXhwb3J0cy5XaXRoU3RhdGVtZW50ID0gV2l0aFN0YXRlbWVudDtcblx0dmFyIFlpZWxkRXhwcmVzc2lvbiA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBZaWVsZEV4cHJlc3Npb24oYXJndW1lbnQsIGRlbGVnYXRlKSB7XG5cdCAgICAgICAgdGhpcy50eXBlID0gc3ludGF4XzEuU3ludGF4LllpZWxkRXhwcmVzc2lvbjtcblx0ICAgICAgICB0aGlzLmFyZ3VtZW50ID0gYXJndW1lbnQ7XG5cdCAgICAgICAgdGhpcy5kZWxlZ2F0ZSA9IGRlbGVnYXRlO1xuXHQgICAgfVxuXHQgICAgcmV0dXJuIFlpZWxkRXhwcmVzc2lvbjtcblx0fSgpKTtcblx0ZXhwb3J0cy5ZaWVsZEV4cHJlc3Npb24gPSBZaWVsZEV4cHJlc3Npb247XG5cblxuLyoqKi8gfSxcbi8qIDggKi9cbi8qKiovIGZ1bmN0aW9uKG1vZHVsZSwgZXhwb3J0cywgX193ZWJwYWNrX3JlcXVpcmVfXykge1xuXG5cdFwidXNlIHN0cmljdFwiO1xuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5cdHZhciBhc3NlcnRfMSA9IF9fd2VicGFja19yZXF1aXJlX18oOSk7XG5cdHZhciBlcnJvcl9oYW5kbGVyXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEwKTtcblx0dmFyIG1lc3NhZ2VzXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDExKTtcblx0dmFyIE5vZGUgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDcpO1xuXHR2YXIgc2Nhbm5lcl8xID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMik7XG5cdHZhciBzeW50YXhfMSA9IF9fd2VicGFja19yZXF1aXJlX18oMik7XG5cdHZhciB0b2tlbl8xID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMyk7XG5cdHZhciBBcnJvd1BhcmFtZXRlclBsYWNlSG9sZGVyID0gJ0Fycm93UGFyYW1ldGVyUGxhY2VIb2xkZXInO1xuXHR2YXIgUGFyc2VyID0gKGZ1bmN0aW9uICgpIHtcblx0ICAgIGZ1bmN0aW9uIFBhcnNlcihjb2RlLCBvcHRpb25zLCBkZWxlZ2F0ZSkge1xuXHQgICAgICAgIGlmIChvcHRpb25zID09PSB2b2lkIDApIHsgb3B0aW9ucyA9IHt9OyB9XG5cdCAgICAgICAgdGhpcy5jb25maWcgPSB7XG5cdCAgICAgICAgICAgIHJhbmdlOiAodHlwZW9mIG9wdGlvbnMucmFuZ2UgPT09ICdib29sZWFuJykgJiYgb3B0aW9ucy5yYW5nZSxcblx0ICAgICAgICAgICAgbG9jOiAodHlwZW9mIG9wdGlvbnMubG9jID09PSAnYm9vbGVhbicpICYmIG9wdGlvbnMubG9jLFxuXHQgICAgICAgICAgICBzb3VyY2U6IG51bGwsXG5cdCAgICAgICAgICAgIHRva2VuczogKHR5cGVvZiBvcHRpb25zLnRva2VucyA9PT0gJ2Jvb2xlYW4nKSAmJiBvcHRpb25zLnRva2Vucyxcblx0ICAgICAgICAgICAgY29tbWVudDogKHR5cGVvZiBvcHRpb25zLmNvbW1lbnQgPT09ICdib29sZWFuJykgJiYgb3B0aW9ucy5jb21tZW50LFxuXHQgICAgICAgICAgICB0b2xlcmFudDogKHR5cGVvZiBvcHRpb25zLnRvbGVyYW50ID09PSAnYm9vbGVhbicpICYmIG9wdGlvbnMudG9sZXJhbnRcblx0ICAgICAgICB9O1xuXHQgICAgICAgIGlmICh0aGlzLmNvbmZpZy5sb2MgJiYgb3B0aW9ucy5zb3VyY2UgJiYgb3B0aW9ucy5zb3VyY2UgIT09IG51bGwpIHtcblx0ICAgICAgICAgICAgdGhpcy5jb25maWcuc291cmNlID0gU3RyaW5nKG9wdGlvbnMuc291cmNlKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdGhpcy5kZWxlZ2F0ZSA9IGRlbGVnYXRlO1xuXHQgICAgICAgIHRoaXMuZXJyb3JIYW5kbGVyID0gbmV3IGVycm9yX2hhbmRsZXJfMS5FcnJvckhhbmRsZXIoKTtcblx0ICAgICAgICB0aGlzLmVycm9ySGFuZGxlci50b2xlcmFudCA9IHRoaXMuY29uZmlnLnRvbGVyYW50O1xuXHQgICAgICAgIHRoaXMuc2Nhbm5lciA9IG5ldyBzY2FubmVyXzEuU2Nhbm5lcihjb2RlLCB0aGlzLmVycm9ySGFuZGxlcik7XG5cdCAgICAgICAgdGhpcy5zY2FubmVyLnRyYWNrQ29tbWVudCA9IHRoaXMuY29uZmlnLmNvbW1lbnQ7XG5cdCAgICAgICAgdGhpcy5vcGVyYXRvclByZWNlZGVuY2UgPSB7XG5cdCAgICAgICAgICAgICcpJzogMCxcblx0ICAgICAgICAgICAgJzsnOiAwLFxuXHQgICAgICAgICAgICAnLCc6IDAsXG5cdCAgICAgICAgICAgICc9JzogMCxcblx0ICAgICAgICAgICAgJ10nOiAwLFxuXHQgICAgICAgICAgICAnfHwnOiAxLFxuXHQgICAgICAgICAgICAnJiYnOiAyLFxuXHQgICAgICAgICAgICAnfCc6IDMsXG5cdCAgICAgICAgICAgICdeJzogNCxcblx0ICAgICAgICAgICAgJyYnOiA1LFxuXHQgICAgICAgICAgICAnPT0nOiA2LFxuXHQgICAgICAgICAgICAnIT0nOiA2LFxuXHQgICAgICAgICAgICAnPT09JzogNixcblx0ICAgICAgICAgICAgJyE9PSc6IDYsXG5cdCAgICAgICAgICAgICc8JzogNyxcblx0ICAgICAgICAgICAgJz4nOiA3LFxuXHQgICAgICAgICAgICAnPD0nOiA3LFxuXHQgICAgICAgICAgICAnPj0nOiA3LFxuXHQgICAgICAgICAgICAnPDwnOiA4LFxuXHQgICAgICAgICAgICAnPj4nOiA4LFxuXHQgICAgICAgICAgICAnPj4+JzogOCxcblx0ICAgICAgICAgICAgJysnOiA5LFxuXHQgICAgICAgICAgICAnLSc6IDksXG5cdCAgICAgICAgICAgICcqJzogMTEsXG5cdCAgICAgICAgICAgICcvJzogMTEsXG5cdCAgICAgICAgICAgICclJzogMTFcblx0ICAgICAgICB9O1xuXHQgICAgICAgIHRoaXMubG9va2FoZWFkID0ge1xuXHQgICAgICAgICAgICB0eXBlOiAyIC8qIEVPRiAqLyxcblx0ICAgICAgICAgICAgdmFsdWU6ICcnLFxuXHQgICAgICAgICAgICBsaW5lTnVtYmVyOiB0aGlzLnNjYW5uZXIubGluZU51bWJlcixcblx0ICAgICAgICAgICAgbGluZVN0YXJ0OiAwLFxuXHQgICAgICAgICAgICBzdGFydDogMCxcblx0ICAgICAgICAgICAgZW5kOiAwXG5cdCAgICAgICAgfTtcblx0ICAgICAgICB0aGlzLmhhc0xpbmVUZXJtaW5hdG9yID0gZmFsc2U7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0ID0ge1xuXHQgICAgICAgICAgICBpc01vZHVsZTogZmFsc2UsXG5cdCAgICAgICAgICAgIGF3YWl0OiBmYWxzZSxcblx0ICAgICAgICAgICAgYWxsb3dJbjogdHJ1ZSxcblx0ICAgICAgICAgICAgYWxsb3dTdHJpY3REaXJlY3RpdmU6IHRydWUsXG5cdCAgICAgICAgICAgIGFsbG93WWllbGQ6IHRydWUsXG5cdCAgICAgICAgICAgIGZpcnN0Q292ZXJJbml0aWFsaXplZE5hbWVFcnJvcjogbnVsbCxcblx0ICAgICAgICAgICAgaXNBc3NpZ25tZW50VGFyZ2V0OiBmYWxzZSxcblx0ICAgICAgICAgICAgaXNCaW5kaW5nRWxlbWVudDogZmFsc2UsXG5cdCAgICAgICAgICAgIGluRnVuY3Rpb25Cb2R5OiBmYWxzZSxcblx0ICAgICAgICAgICAgaW5JdGVyYXRpb246IGZhbHNlLFxuXHQgICAgICAgICAgICBpblN3aXRjaDogZmFsc2UsXG5cdCAgICAgICAgICAgIGxhYmVsU2V0OiB7fSxcblx0ICAgICAgICAgICAgc3RyaWN0OiBmYWxzZVxuXHQgICAgICAgIH07XG5cdCAgICAgICAgdGhpcy50b2tlbnMgPSBbXTtcblx0ICAgICAgICB0aGlzLnN0YXJ0TWFya2VyID0ge1xuXHQgICAgICAgICAgICBpbmRleDogMCxcblx0ICAgICAgICAgICAgbGluZTogdGhpcy5zY2FubmVyLmxpbmVOdW1iZXIsXG5cdCAgICAgICAgICAgIGNvbHVtbjogMFxuXHQgICAgICAgIH07XG5cdCAgICAgICAgdGhpcy5sYXN0TWFya2VyID0ge1xuXHQgICAgICAgICAgICBpbmRleDogMCxcblx0ICAgICAgICAgICAgbGluZTogdGhpcy5zY2FubmVyLmxpbmVOdW1iZXIsXG5cdCAgICAgICAgICAgIGNvbHVtbjogMFxuXHQgICAgICAgIH07XG5cdCAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICB0aGlzLmxhc3RNYXJrZXIgPSB7XG5cdCAgICAgICAgICAgIGluZGV4OiB0aGlzLnNjYW5uZXIuaW5kZXgsXG5cdCAgICAgICAgICAgIGxpbmU6IHRoaXMuc2Nhbm5lci5saW5lTnVtYmVyLFxuXHQgICAgICAgICAgICBjb2x1bW46IHRoaXMuc2Nhbm5lci5pbmRleCAtIHRoaXMuc2Nhbm5lci5saW5lU3RhcnRcblx0ICAgICAgICB9O1xuXHQgICAgfVxuXHQgICAgUGFyc2VyLnByb3RvdHlwZS50aHJvd0Vycm9yID0gZnVuY3Rpb24gKG1lc3NhZ2VGb3JtYXQpIHtcblx0ICAgICAgICB2YXIgdmFsdWVzID0gW107XG5cdCAgICAgICAgZm9yICh2YXIgX2kgPSAxOyBfaSA8IGFyZ3VtZW50cy5sZW5ndGg7IF9pKyspIHtcblx0ICAgICAgICAgICAgdmFsdWVzW19pIC0gMV0gPSBhcmd1bWVudHNbX2ldO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB2YXIgYXJncyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cywgMSk7XG5cdCAgICAgICAgdmFyIG1zZyA9IG1lc3NhZ2VGb3JtYXQucmVwbGFjZSgvJShcXGQpL2csIGZ1bmN0aW9uICh3aG9sZSwgaWR4KSB7XG5cdCAgICAgICAgICAgIGFzc2VydF8xLmFzc2VydChpZHggPCBhcmdzLmxlbmd0aCwgJ01lc3NhZ2UgcmVmZXJlbmNlIG11c3QgYmUgaW4gcmFuZ2UnKTtcblx0ICAgICAgICAgICAgcmV0dXJuIGFyZ3NbaWR4XTtcblx0ICAgICAgICB9KTtcblx0ICAgICAgICB2YXIgaW5kZXggPSB0aGlzLmxhc3RNYXJrZXIuaW5kZXg7XG5cdCAgICAgICAgdmFyIGxpbmUgPSB0aGlzLmxhc3RNYXJrZXIubGluZTtcblx0ICAgICAgICB2YXIgY29sdW1uID0gdGhpcy5sYXN0TWFya2VyLmNvbHVtbiArIDE7XG5cdCAgICAgICAgdGhyb3cgdGhpcy5lcnJvckhhbmRsZXIuY3JlYXRlRXJyb3IoaW5kZXgsIGxpbmUsIGNvbHVtbiwgbXNnKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnRvbGVyYXRlRXJyb3IgPSBmdW5jdGlvbiAobWVzc2FnZUZvcm1hdCkge1xuXHQgICAgICAgIHZhciB2YWx1ZXMgPSBbXTtcblx0ICAgICAgICBmb3IgKHZhciBfaSA9IDE7IF9pIDwgYXJndW1lbnRzLmxlbmd0aDsgX2krKykge1xuXHQgICAgICAgICAgICB2YWx1ZXNbX2kgLSAxXSA9IGFyZ3VtZW50c1tfaV07XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHZhciBhcmdzID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzLCAxKTtcblx0ICAgICAgICB2YXIgbXNnID0gbWVzc2FnZUZvcm1hdC5yZXBsYWNlKC8lKFxcZCkvZywgZnVuY3Rpb24gKHdob2xlLCBpZHgpIHtcblx0ICAgICAgICAgICAgYXNzZXJ0XzEuYXNzZXJ0KGlkeCA8IGFyZ3MubGVuZ3RoLCAnTWVzc2FnZSByZWZlcmVuY2UgbXVzdCBiZSBpbiByYW5nZScpO1xuXHQgICAgICAgICAgICByZXR1cm4gYXJnc1tpZHhdO1xuXHQgICAgICAgIH0pO1xuXHQgICAgICAgIHZhciBpbmRleCA9IHRoaXMubGFzdE1hcmtlci5pbmRleDtcblx0ICAgICAgICB2YXIgbGluZSA9IHRoaXMuc2Nhbm5lci5saW5lTnVtYmVyO1xuXHQgICAgICAgIHZhciBjb2x1bW4gPSB0aGlzLmxhc3RNYXJrZXIuY29sdW1uICsgMTtcblx0ICAgICAgICB0aGlzLmVycm9ySGFuZGxlci50b2xlcmF0ZUVycm9yKGluZGV4LCBsaW5lLCBjb2x1bW4sIG1zZyk7XG5cdCAgICB9O1xuXHQgICAgLy8gVGhyb3cgYW4gZXhjZXB0aW9uIGJlY2F1c2Ugb2YgdGhlIHRva2VuLlxuXHQgICAgUGFyc2VyLnByb3RvdHlwZS51bmV4cGVjdGVkVG9rZW5FcnJvciA9IGZ1bmN0aW9uICh0b2tlbiwgbWVzc2FnZSkge1xuXHQgICAgICAgIHZhciBtc2cgPSBtZXNzYWdlIHx8IG1lc3NhZ2VzXzEuTWVzc2FnZXMuVW5leHBlY3RlZFRva2VuO1xuXHQgICAgICAgIHZhciB2YWx1ZTtcblx0ICAgICAgICBpZiAodG9rZW4pIHtcblx0ICAgICAgICAgICAgaWYgKCFtZXNzYWdlKSB7XG5cdCAgICAgICAgICAgICAgICBtc2cgPSAodG9rZW4udHlwZSA9PT0gMiAvKiBFT0YgKi8pID8gbWVzc2FnZXNfMS5NZXNzYWdlcy5VbmV4cGVjdGVkRU9TIDpcblx0ICAgICAgICAgICAgICAgICAgICAodG9rZW4udHlwZSA9PT0gMyAvKiBJZGVudGlmaWVyICovKSA/IG1lc3NhZ2VzXzEuTWVzc2FnZXMuVW5leHBlY3RlZElkZW50aWZpZXIgOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICAodG9rZW4udHlwZSA9PT0gNiAvKiBOdW1lcmljTGl0ZXJhbCAqLykgPyBtZXNzYWdlc18xLk1lc3NhZ2VzLlVuZXhwZWN0ZWROdW1iZXIgOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHRva2VuLnR5cGUgPT09IDggLyogU3RyaW5nTGl0ZXJhbCAqLykgPyBtZXNzYWdlc18xLk1lc3NhZ2VzLlVuZXhwZWN0ZWRTdHJpbmcgOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh0b2tlbi50eXBlID09PSAxMCAvKiBUZW1wbGF0ZSAqLykgPyBtZXNzYWdlc18xLk1lc3NhZ2VzLlVuZXhwZWN0ZWRUZW1wbGF0ZSA6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2VzXzEuTWVzc2FnZXMuVW5leHBlY3RlZFRva2VuO1xuXHQgICAgICAgICAgICAgICAgaWYgKHRva2VuLnR5cGUgPT09IDQgLyogS2V5d29yZCAqLykge1xuXHQgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnNjYW5uZXIuaXNGdXR1cmVSZXNlcnZlZFdvcmQodG9rZW4udmFsdWUpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IG1lc3NhZ2VzXzEuTWVzc2FnZXMuVW5leHBlY3RlZFJlc2VydmVkO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLmNvbnRleHQuc3RyaWN0ICYmIHRoaXMuc2Nhbm5lci5pc1N0cmljdE1vZGVSZXNlcnZlZFdvcmQodG9rZW4udmFsdWUpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIG1zZyA9IG1lc3NhZ2VzXzEuTWVzc2FnZXMuU3RyaWN0UmVzZXJ2ZWRXb3JkO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB2YWx1ZSA9IHRva2VuLnZhbHVlO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgdmFsdWUgPSAnSUxMRUdBTCc7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIG1zZyA9IG1zZy5yZXBsYWNlKCclMCcsIHZhbHVlKTtcblx0ICAgICAgICBpZiAodG9rZW4gJiYgdHlwZW9mIHRva2VuLmxpbmVOdW1iZXIgPT09ICdudW1iZXInKSB7XG5cdCAgICAgICAgICAgIHZhciBpbmRleCA9IHRva2VuLnN0YXJ0O1xuXHQgICAgICAgICAgICB2YXIgbGluZSA9IHRva2VuLmxpbmVOdW1iZXI7XG5cdCAgICAgICAgICAgIHZhciBsYXN0TWFya2VyTGluZVN0YXJ0ID0gdGhpcy5sYXN0TWFya2VyLmluZGV4IC0gdGhpcy5sYXN0TWFya2VyLmNvbHVtbjtcblx0ICAgICAgICAgICAgdmFyIGNvbHVtbiA9IHRva2VuLnN0YXJ0IC0gbGFzdE1hcmtlckxpbmVTdGFydCArIDE7XG5cdCAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5jcmVhdGVFcnJvcihpbmRleCwgbGluZSwgY29sdW1uLCBtc2cpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgdmFyIGluZGV4ID0gdGhpcy5sYXN0TWFya2VyLmluZGV4O1xuXHQgICAgICAgICAgICB2YXIgbGluZSA9IHRoaXMubGFzdE1hcmtlci5saW5lO1xuXHQgICAgICAgICAgICB2YXIgY29sdW1uID0gdGhpcy5sYXN0TWFya2VyLmNvbHVtbiArIDE7XG5cdCAgICAgICAgICAgIHJldHVybiB0aGlzLmVycm9ySGFuZGxlci5jcmVhdGVFcnJvcihpbmRleCwgbGluZSwgY29sdW1uLCBtc2cpO1xuXHQgICAgICAgIH1cblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnRocm93VW5leHBlY3RlZFRva2VuID0gZnVuY3Rpb24gKHRva2VuLCBtZXNzYWdlKSB7XG5cdCAgICAgICAgdGhyb3cgdGhpcy51bmV4cGVjdGVkVG9rZW5FcnJvcih0b2tlbiwgbWVzc2FnZSk7XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS50b2xlcmF0ZVVuZXhwZWN0ZWRUb2tlbiA9IGZ1bmN0aW9uICh0b2tlbiwgbWVzc2FnZSkge1xuXHQgICAgICAgIHRoaXMuZXJyb3JIYW5kbGVyLnRvbGVyYXRlKHRoaXMudW5leHBlY3RlZFRva2VuRXJyb3IodG9rZW4sIG1lc3NhZ2UpKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLmNvbGxlY3RDb21tZW50cyA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICBpZiAoIXRoaXMuY29uZmlnLmNvbW1lbnQpIHtcblx0ICAgICAgICAgICAgdGhpcy5zY2FubmVyLnNjYW5Db21tZW50cygpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgdmFyIGNvbW1lbnRzID0gdGhpcy5zY2FubmVyLnNjYW5Db21tZW50cygpO1xuXHQgICAgICAgICAgICBpZiAoY29tbWVudHMubGVuZ3RoID4gMCAmJiB0aGlzLmRlbGVnYXRlKSB7XG5cdCAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvbW1lbnRzLmxlbmd0aDsgKytpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdmFyIGUgPSBjb21tZW50c1tpXTtcblx0ICAgICAgICAgICAgICAgICAgICB2YXIgbm9kZSA9IHZvaWQgMDtcblx0ICAgICAgICAgICAgICAgICAgICBub2RlID0ge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBlLm11bHRpTGluZSA/ICdCbG9ja0NvbW1lbnQnIDogJ0xpbmVDb21tZW50Jyxcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuc2Nhbm5lci5zb3VyY2Uuc2xpY2UoZS5zbGljZVswXSwgZS5zbGljZVsxXSlcblx0ICAgICAgICAgICAgICAgICAgICB9O1xuXHQgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZy5yYW5nZSkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBub2RlLnJhbmdlID0gZS5yYW5nZTtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29uZmlnLmxvYykge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBub2RlLmxvYyA9IGUubG9jO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICB2YXIgbWV0YWRhdGEgPSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0OiB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lOiBlLmxvYy5zdGFydC5saW5lLFxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uOiBlLmxvYy5zdGFydC5jb2x1bW4sXG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IGUucmFuZ2VbMF1cblx0ICAgICAgICAgICAgICAgICAgICAgICAgfSxcblx0ICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lOiBlLmxvYy5lbmQubGluZSxcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbjogZS5sb2MuZW5kLmNvbHVtbixcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldDogZS5yYW5nZVsxXVxuXHQgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgfTtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLmRlbGVnYXRlKG5vZGUsIG1ldGFkYXRhKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgIH07XG5cdCAgICAvLyBGcm9tIGludGVybmFsIHJlcHJlc2VudGF0aW9uIHRvIGFuIGV4dGVybmFsIHN0cnVjdHVyZVxuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5nZXRUb2tlblJhdyA9IGZ1bmN0aW9uICh0b2tlbikge1xuXHQgICAgICAgIHJldHVybiB0aGlzLnNjYW5uZXIuc291cmNlLnNsaWNlKHRva2VuLnN0YXJ0LCB0b2tlbi5lbmQpO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUuY29udmVydFRva2VuID0gZnVuY3Rpb24gKHRva2VuKSB7XG5cdCAgICAgICAgdmFyIHQgPSB7XG5cdCAgICAgICAgICAgIHR5cGU6IHRva2VuXzEuVG9rZW5OYW1lW3Rva2VuLnR5cGVdLFxuXHQgICAgICAgICAgICB2YWx1ZTogdGhpcy5nZXRUb2tlblJhdyh0b2tlbilcblx0ICAgICAgICB9O1xuXHQgICAgICAgIGlmICh0aGlzLmNvbmZpZy5yYW5nZSkge1xuXHQgICAgICAgICAgICB0LnJhbmdlID0gW3Rva2VuLnN0YXJ0LCB0b2tlbi5lbmRdO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAodGhpcy5jb25maWcubG9jKSB7XG5cdCAgICAgICAgICAgIHQubG9jID0ge1xuXHQgICAgICAgICAgICAgICAgc3RhcnQ6IHtcblx0ICAgICAgICAgICAgICAgICAgICBsaW5lOiB0aGlzLnN0YXJ0TWFya2VyLmxpbmUsXG5cdCAgICAgICAgICAgICAgICAgICAgY29sdW1uOiB0aGlzLnN0YXJ0TWFya2VyLmNvbHVtblxuXHQgICAgICAgICAgICAgICAgfSxcblx0ICAgICAgICAgICAgICAgIGVuZDoge1xuXHQgICAgICAgICAgICAgICAgICAgIGxpbmU6IHRoaXMuc2Nhbm5lci5saW5lTnVtYmVyLFxuXHQgICAgICAgICAgICAgICAgICAgIGNvbHVtbjogdGhpcy5zY2FubmVyLmluZGV4IC0gdGhpcy5zY2FubmVyLmxpbmVTdGFydFxuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9O1xuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gOSAvKiBSZWd1bGFyRXhwcmVzc2lvbiAqLykge1xuXHQgICAgICAgICAgICB2YXIgcGF0dGVybiA9IHRva2VuLnBhdHRlcm47XG5cdCAgICAgICAgICAgIHZhciBmbGFncyA9IHRva2VuLmZsYWdzO1xuXHQgICAgICAgICAgICB0LnJlZ2V4ID0geyBwYXR0ZXJuOiBwYXR0ZXJuLCBmbGFnczogZmxhZ3MgfTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHQ7XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5uZXh0VG9rZW4gPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIHRva2VuID0gdGhpcy5sb29rYWhlYWQ7XG5cdCAgICAgICAgdGhpcy5sYXN0TWFya2VyLmluZGV4ID0gdGhpcy5zY2FubmVyLmluZGV4O1xuXHQgICAgICAgIHRoaXMubGFzdE1hcmtlci5saW5lID0gdGhpcy5zY2FubmVyLmxpbmVOdW1iZXI7XG5cdCAgICAgICAgdGhpcy5sYXN0TWFya2VyLmNvbHVtbiA9IHRoaXMuc2Nhbm5lci5pbmRleCAtIHRoaXMuc2Nhbm5lci5saW5lU3RhcnQ7XG5cdCAgICAgICAgdGhpcy5jb2xsZWN0Q29tbWVudHMoKTtcblx0ICAgICAgICBpZiAodGhpcy5zY2FubmVyLmluZGV4ICE9PSB0aGlzLnN0YXJ0TWFya2VyLmluZGV4KSB7XG5cdCAgICAgICAgICAgIHRoaXMuc3RhcnRNYXJrZXIuaW5kZXggPSB0aGlzLnNjYW5uZXIuaW5kZXg7XG5cdCAgICAgICAgICAgIHRoaXMuc3RhcnRNYXJrZXIubGluZSA9IHRoaXMuc2Nhbm5lci5saW5lTnVtYmVyO1xuXHQgICAgICAgICAgICB0aGlzLnN0YXJ0TWFya2VyLmNvbHVtbiA9IHRoaXMuc2Nhbm5lci5pbmRleCAtIHRoaXMuc2Nhbm5lci5saW5lU3RhcnQ7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHZhciBuZXh0ID0gdGhpcy5zY2FubmVyLmxleCgpO1xuXHQgICAgICAgIHRoaXMuaGFzTGluZVRlcm1pbmF0b3IgPSAodG9rZW4ubGluZU51bWJlciAhPT0gbmV4dC5saW5lTnVtYmVyKTtcblx0ICAgICAgICBpZiAobmV4dCAmJiB0aGlzLmNvbnRleHQuc3RyaWN0ICYmIG5leHQudHlwZSA9PT0gMyAvKiBJZGVudGlmaWVyICovKSB7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLnNjYW5uZXIuaXNTdHJpY3RNb2RlUmVzZXJ2ZWRXb3JkKG5leHQudmFsdWUpKSB7XG5cdCAgICAgICAgICAgICAgICBuZXh0LnR5cGUgPSA0IC8qIEtleXdvcmQgKi87XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgdGhpcy5sb29rYWhlYWQgPSBuZXh0O1xuXHQgICAgICAgIGlmICh0aGlzLmNvbmZpZy50b2tlbnMgJiYgbmV4dC50eXBlICE9PSAyIC8qIEVPRiAqLykge1xuXHQgICAgICAgICAgICB0aGlzLnRva2Vucy5wdXNoKHRoaXMuY29udmVydFRva2VuKG5leHQpKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHRva2VuO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUubmV4dFJlZ2V4VG9rZW4gPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdGhpcy5jb2xsZWN0Q29tbWVudHMoKTtcblx0ICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLnNjYW5uZXIuc2NhblJlZ0V4cCgpO1xuXHQgICAgICAgIGlmICh0aGlzLmNvbmZpZy50b2tlbnMpIHtcblx0ICAgICAgICAgICAgLy8gUG9wIHRoZSBwcmV2aW91cyB0b2tlbiwgJy8nIG9yICcvPSdcblx0ICAgICAgICAgICAgLy8gVGhpcyBpcyBhZGRlZCBmcm9tIHRoZSBsb29rYWhlYWQgdG9rZW4uXG5cdCAgICAgICAgICAgIHRoaXMudG9rZW5zLnBvcCgpO1xuXHQgICAgICAgICAgICB0aGlzLnRva2Vucy5wdXNoKHRoaXMuY29udmVydFRva2VuKHRva2VuKSk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIC8vIFByaW1lIHRoZSBuZXh0IGxvb2thaGVhZC5cblx0ICAgICAgICB0aGlzLmxvb2thaGVhZCA9IHRva2VuO1xuXHQgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgcmV0dXJuIHRva2VuO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUuY3JlYXRlTm9kZSA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICByZXR1cm4ge1xuXHQgICAgICAgICAgICBpbmRleDogdGhpcy5zdGFydE1hcmtlci5pbmRleCxcblx0ICAgICAgICAgICAgbGluZTogdGhpcy5zdGFydE1hcmtlci5saW5lLFxuXHQgICAgICAgICAgICBjb2x1bW46IHRoaXMuc3RhcnRNYXJrZXIuY29sdW1uXG5cdCAgICAgICAgfTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnN0YXJ0Tm9kZSA9IGZ1bmN0aW9uICh0b2tlbiwgbGFzdExpbmVTdGFydCkge1xuXHQgICAgICAgIGlmIChsYXN0TGluZVN0YXJ0ID09PSB2b2lkIDApIHsgbGFzdExpbmVTdGFydCA9IDA7IH1cblx0ICAgICAgICB2YXIgY29sdW1uID0gdG9rZW4uc3RhcnQgLSB0b2tlbi5saW5lU3RhcnQ7XG5cdCAgICAgICAgdmFyIGxpbmUgPSB0b2tlbi5saW5lTnVtYmVyO1xuXHQgICAgICAgIGlmIChjb2x1bW4gPCAwKSB7XG5cdCAgICAgICAgICAgIGNvbHVtbiArPSBsYXN0TGluZVN0YXJ0O1xuXHQgICAgICAgICAgICBsaW5lLS07XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiB7XG5cdCAgICAgICAgICAgIGluZGV4OiB0b2tlbi5zdGFydCxcblx0ICAgICAgICAgICAgbGluZTogbGluZSxcblx0ICAgICAgICAgICAgY29sdW1uOiBjb2x1bW5cblx0ICAgICAgICB9O1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUuZmluYWxpemUgPSBmdW5jdGlvbiAobWFya2VyLCBub2RlKSB7XG5cdCAgICAgICAgaWYgKHRoaXMuY29uZmlnLnJhbmdlKSB7XG5cdCAgICAgICAgICAgIG5vZGUucmFuZ2UgPSBbbWFya2VyLmluZGV4LCB0aGlzLmxhc3RNYXJrZXIuaW5kZXhdO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAodGhpcy5jb25maWcubG9jKSB7XG5cdCAgICAgICAgICAgIG5vZGUubG9jID0ge1xuXHQgICAgICAgICAgICAgICAgc3RhcnQ6IHtcblx0ICAgICAgICAgICAgICAgICAgICBsaW5lOiBtYXJrZXIubGluZSxcblx0ICAgICAgICAgICAgICAgICAgICBjb2x1bW46IG1hcmtlci5jb2x1bW4sXG5cdCAgICAgICAgICAgICAgICB9LFxuXHQgICAgICAgICAgICAgICAgZW5kOiB7XG5cdCAgICAgICAgICAgICAgICAgICAgbGluZTogdGhpcy5sYXN0TWFya2VyLmxpbmUsXG5cdCAgICAgICAgICAgICAgICAgICAgY29sdW1uOiB0aGlzLmxhc3RNYXJrZXIuY29sdW1uXG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIH07XG5cdCAgICAgICAgICAgIGlmICh0aGlzLmNvbmZpZy5zb3VyY2UpIHtcblx0ICAgICAgICAgICAgICAgIG5vZGUubG9jLnNvdXJjZSA9IHRoaXMuY29uZmlnLnNvdXJjZTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAodGhpcy5kZWxlZ2F0ZSkge1xuXHQgICAgICAgICAgICB2YXIgbWV0YWRhdGEgPSB7XG5cdCAgICAgICAgICAgICAgICBzdGFydDoge1xuXHQgICAgICAgICAgICAgICAgICAgIGxpbmU6IG1hcmtlci5saW5lLFxuXHQgICAgICAgICAgICAgICAgICAgIGNvbHVtbjogbWFya2VyLmNvbHVtbixcblx0ICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IG1hcmtlci5pbmRleFxuXHQgICAgICAgICAgICAgICAgfSxcblx0ICAgICAgICAgICAgICAgIGVuZDoge1xuXHQgICAgICAgICAgICAgICAgICAgIGxpbmU6IHRoaXMubGFzdE1hcmtlci5saW5lLFxuXHQgICAgICAgICAgICAgICAgICAgIGNvbHVtbjogdGhpcy5sYXN0TWFya2VyLmNvbHVtbixcblx0ICAgICAgICAgICAgICAgICAgICBvZmZzZXQ6IHRoaXMubGFzdE1hcmtlci5pbmRleFxuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9O1xuXHQgICAgICAgICAgICB0aGlzLmRlbGVnYXRlKG5vZGUsIG1ldGFkYXRhKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIG5vZGU7XG5cdCAgICB9O1xuXHQgICAgLy8gRXhwZWN0IHRoZSBuZXh0IHRva2VuIHRvIG1hdGNoIHRoZSBzcGVjaWZpZWQgcHVuY3R1YXRvci5cblx0ICAgIC8vIElmIG5vdCwgYW4gZXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duLlxuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5leHBlY3QgPSBmdW5jdGlvbiAodmFsdWUpIHtcblx0ICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgIGlmICh0b2tlbi50eXBlICE9PSA3IC8qIFB1bmN0dWF0b3IgKi8gfHwgdG9rZW4udmFsdWUgIT09IHZhbHVlKSB7XG5cdCAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4odG9rZW4pO1xuXHQgICAgICAgIH1cblx0ICAgIH07XG5cdCAgICAvLyBRdWlldGx5IGV4cGVjdCBhIGNvbW1hIHdoZW4gaW4gdG9sZXJhbnQgbW9kZSwgb3RoZXJ3aXNlIGRlbGVnYXRlcyB0byBleHBlY3QoKS5cblx0ICAgIFBhcnNlci5wcm90b3R5cGUuZXhwZWN0Q29tbWFTZXBhcmF0b3IgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgaWYgKHRoaXMuY29uZmlnLnRvbGVyYW50KSB7XG5cdCAgICAgICAgICAgIHZhciB0b2tlbiA9IHRoaXMubG9va2FoZWFkO1xuXHQgICAgICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gNyAvKiBQdW5jdHVhdG9yICovICYmIHRva2VuLnZhbHVlID09PSAnLCcpIHtcblx0ICAgICAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSBpZiAodG9rZW4udHlwZSA9PT0gNyAvKiBQdW5jdHVhdG9yICovICYmIHRva2VuLnZhbHVlID09PSAnOycpIHtcblx0ICAgICAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHRva2VuKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIHRoaXMudG9sZXJhdGVVbmV4cGVjdGVkVG9rZW4odG9rZW4sIG1lc3NhZ2VzXzEuTWVzc2FnZXMuVW5leHBlY3RlZFRva2VuKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgdGhpcy5leHBlY3QoJywnKTtcblx0ICAgICAgICB9XG5cdCAgICB9O1xuXHQgICAgLy8gRXhwZWN0IHRoZSBuZXh0IHRva2VuIHRvIG1hdGNoIHRoZSBzcGVjaWZpZWQga2V5d29yZC5cblx0ICAgIC8vIElmIG5vdCwgYW4gZXhjZXB0aW9uIHdpbGwgYmUgdGhyb3duLlxuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5leHBlY3RLZXl3b3JkID0gZnVuY3Rpb24gKGtleXdvcmQpIHtcblx0ICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgIGlmICh0b2tlbi50eXBlICE9PSA0IC8qIEtleXdvcmQgKi8gfHwgdG9rZW4udmFsdWUgIT09IGtleXdvcmQpIHtcblx0ICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbih0b2tlbik7XG5cdCAgICAgICAgfVxuXHQgICAgfTtcblx0ICAgIC8vIFJldHVybiB0cnVlIGlmIHRoZSBuZXh0IHRva2VuIG1hdGNoZXMgdGhlIHNwZWNpZmllZCBwdW5jdHVhdG9yLlxuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5tYXRjaCA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuXHQgICAgICAgIHJldHVybiB0aGlzLmxvb2thaGVhZC50eXBlID09PSA3IC8qIFB1bmN0dWF0b3IgKi8gJiYgdGhpcy5sb29rYWhlYWQudmFsdWUgPT09IHZhbHVlO1xuXHQgICAgfTtcblx0ICAgIC8vIFJldHVybiB0cnVlIGlmIHRoZSBuZXh0IHRva2VuIG1hdGNoZXMgdGhlIHNwZWNpZmllZCBrZXl3b3JkXG5cdCAgICBQYXJzZXIucHJvdG90eXBlLm1hdGNoS2V5d29yZCA9IGZ1bmN0aW9uIChrZXl3b3JkKSB7XG5cdCAgICAgICAgcmV0dXJuIHRoaXMubG9va2FoZWFkLnR5cGUgPT09IDQgLyogS2V5d29yZCAqLyAmJiB0aGlzLmxvb2thaGVhZC52YWx1ZSA9PT0ga2V5d29yZDtcblx0ICAgIH07XG5cdCAgICAvLyBSZXR1cm4gdHJ1ZSBpZiB0aGUgbmV4dCB0b2tlbiBtYXRjaGVzIHRoZSBzcGVjaWZpZWQgY29udGV4dHVhbCBrZXl3b3JkXG5cdCAgICAvLyAod2hlcmUgYW4gaWRlbnRpZmllciBpcyBzb21ldGltZXMgYSBrZXl3b3JkIGRlcGVuZGluZyBvbiB0aGUgY29udGV4dClcblx0ICAgIFBhcnNlci5wcm90b3R5cGUubWF0Y2hDb250ZXh0dWFsS2V5d29yZCA9IGZ1bmN0aW9uIChrZXl3b3JkKSB7XG5cdCAgICAgICAgcmV0dXJuIHRoaXMubG9va2FoZWFkLnR5cGUgPT09IDMgLyogSWRlbnRpZmllciAqLyAmJiB0aGlzLmxvb2thaGVhZC52YWx1ZSA9PT0ga2V5d29yZDtcblx0ICAgIH07XG5cdCAgICAvLyBSZXR1cm4gdHJ1ZSBpZiB0aGUgbmV4dCB0b2tlbiBpcyBhbiBhc3NpZ25tZW50IG9wZXJhdG9yXG5cdCAgICBQYXJzZXIucHJvdG90eXBlLm1hdGNoQXNzaWduID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIGlmICh0aGlzLmxvb2thaGVhZC50eXBlICE9PSA3IC8qIFB1bmN0dWF0b3IgKi8pIHtcblx0ICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB2YXIgb3AgPSB0aGlzLmxvb2thaGVhZC52YWx1ZTtcblx0ICAgICAgICByZXR1cm4gb3AgPT09ICc9JyB8fFxuXHQgICAgICAgICAgICBvcCA9PT0gJyo9JyB8fFxuXHQgICAgICAgICAgICBvcCA9PT0gJyoqPScgfHxcblx0ICAgICAgICAgICAgb3AgPT09ICcvPScgfHxcblx0ICAgICAgICAgICAgb3AgPT09ICclPScgfHxcblx0ICAgICAgICAgICAgb3AgPT09ICcrPScgfHxcblx0ICAgICAgICAgICAgb3AgPT09ICctPScgfHxcblx0ICAgICAgICAgICAgb3AgPT09ICc8PD0nIHx8XG5cdCAgICAgICAgICAgIG9wID09PSAnPj49JyB8fFxuXHQgICAgICAgICAgICBvcCA9PT0gJz4+Pj0nIHx8XG5cdCAgICAgICAgICAgIG9wID09PSAnJj0nIHx8XG5cdCAgICAgICAgICAgIG9wID09PSAnXj0nIHx8XG5cdCAgICAgICAgICAgIG9wID09PSAnfD0nO1xuXHQgICAgfTtcblx0ICAgIC8vIENvdmVyIGdyYW1tYXIgc3VwcG9ydC5cblx0ICAgIC8vXG5cdCAgICAvLyBXaGVuIGFuIGFzc2lnbm1lbnQgZXhwcmVzc2lvbiBwb3NpdGlvbiBzdGFydHMgd2l0aCBhbiBsZWZ0IHBhcmVudGhlc2lzLCB0aGUgZGV0ZXJtaW5hdGlvbiBvZiB0aGUgdHlwZVxuXHQgICAgLy8gb2YgdGhlIHN5bnRheCBpcyB0byBiZSBkZWZlcnJlZCBhcmJpdHJhcmlseSBsb25nIHVudGlsIHRoZSBlbmQgb2YgdGhlIHBhcmVudGhlc2VzIHBhaXIgKHBsdXMgYSBsb29rYWhlYWQpXG5cdCAgICAvLyBvciB0aGUgZmlyc3QgY29tbWEuIFRoaXMgc2l0dWF0aW9uIGFsc28gZGVmZXJzIHRoZSBkZXRlcm1pbmF0aW9uIG9mIGFsbCB0aGUgZXhwcmVzc2lvbnMgbmVzdGVkIGluIHRoZSBwYWlyLlxuXHQgICAgLy9cblx0ICAgIC8vIFRoZXJlIGFyZSB0aHJlZSBwcm9kdWN0aW9ucyB0aGF0IGNhbiBiZSBwYXJzZWQgaW4gYSBwYXJlbnRoZXNlcyBwYWlyIHRoYXQgbmVlZHMgdG8gYmUgZGV0ZXJtaW5lZFxuXHQgICAgLy8gYWZ0ZXIgdGhlIG91dGVybW9zdCBwYWlyIGlzIGNsb3NlZC4gVGhleSBhcmU6XG5cdCAgICAvL1xuXHQgICAgLy8gICAxLiBBc3NpZ25tZW50RXhwcmVzc2lvblxuXHQgICAgLy8gICAyLiBCaW5kaW5nRWxlbWVudHNcblx0ICAgIC8vICAgMy4gQXNzaWdubWVudFRhcmdldHNcblx0ICAgIC8vXG5cdCAgICAvLyBJbiBvcmRlciB0byBhdm9pZCBleHBvbmVudGlhbCBiYWNrdHJhY2tpbmcsIHdlIHVzZSB0d28gZmxhZ3MgdG8gZGVub3RlIGlmIHRoZSBwcm9kdWN0aW9uIGNhbiBiZVxuXHQgICAgLy8gYmluZGluZyBlbGVtZW50IG9yIGFzc2lnbm1lbnQgdGFyZ2V0LlxuXHQgICAgLy9cblx0ICAgIC8vIFRoZSB0aHJlZSBwcm9kdWN0aW9ucyBoYXZlIHRoZSByZWxhdGlvbnNoaXA6XG5cdCAgICAvL1xuXHQgICAgLy8gICBCaW5kaW5nRWxlbWVudHMgXHUyMjg2IEFzc2lnbm1lbnRUYXJnZXRzIFx1MjI4NiBBc3NpZ25tZW50RXhwcmVzc2lvblxuXHQgICAgLy9cblx0ICAgIC8vIHdpdGggYSBzaW5nbGUgZXhjZXB0aW9uIHRoYXQgQ292ZXJJbml0aWFsaXplZE5hbWUgd2hlbiB1c2VkIGRpcmVjdGx5IGluIGFuIEV4cHJlc3Npb24sIGdlbmVyYXRlc1xuXHQgICAgLy8gYW4gZWFybHkgZXJyb3IuIFRoZXJlZm9yZSwgd2UgbmVlZCB0aGUgdGhpcmQgc3RhdGUsIGZpcnN0Q292ZXJJbml0aWFsaXplZE5hbWVFcnJvciwgdG8gdHJhY2sgdGhlXG5cdCAgICAvLyBmaXJzdCB1c2FnZSBvZiBDb3ZlckluaXRpYWxpemVkTmFtZSBhbmQgcmVwb3J0IGl0IHdoZW4gd2UgcmVhY2hlZCB0aGUgZW5kIG9mIHRoZSBwYXJlbnRoZXNlcyBwYWlyLlxuXHQgICAgLy9cblx0ICAgIC8vIGlzb2xhdGVDb3ZlckdyYW1tYXIgZnVuY3Rpb24gcnVucyB0aGUgZ2l2ZW4gcGFyc2VyIGZ1bmN0aW9uIHdpdGggYSBuZXcgY292ZXIgZ3JhbW1hciBjb250ZXh0LCBhbmQgaXQgZG9lcyBub3Rcblx0ICAgIC8vIGVmZmVjdCB0aGUgY3VycmVudCBmbGFncy4gVGhpcyBtZWFucyB0aGUgcHJvZHVjdGlvbiB0aGUgcGFyc2VyIHBhcnNlcyBpcyBvbmx5IHVzZWQgYXMgYW4gZXhwcmVzc2lvbi4gVGhlcmVmb3JlXG5cdCAgICAvLyB0aGUgQ292ZXJJbml0aWFsaXplZE5hbWUgY2hlY2sgaXMgY29uZHVjdGVkLlxuXHQgICAgLy9cblx0ICAgIC8vIGluaGVyaXRDb3ZlckdyYW1tYXIgZnVuY3Rpb24gcnVucyB0aGUgZ2l2ZW4gcGFyc2UgZnVuY3Rpb24gd2l0aCBhIG5ldyBjb3ZlciBncmFtbWFyIGNvbnRleHQsIGFuZCBpdCBwcm9wYWdhdGVzXG5cdCAgICAvLyB0aGUgZmxhZ3Mgb3V0c2lkZSBvZiB0aGUgcGFyc2VyLiBUaGlzIG1lYW5zIHRoZSBwcm9kdWN0aW9uIHRoZSBwYXJzZXIgcGFyc2VzIGlzIHVzZWQgYXMgYSBwYXJ0IG9mIGEgcG90ZW50aWFsXG5cdCAgICAvLyBwYXR0ZXJuLiBUaGUgQ292ZXJJbml0aWFsaXplZE5hbWUgY2hlY2sgaXMgZGVmZXJyZWQuXG5cdCAgICBQYXJzZXIucHJvdG90eXBlLmlzb2xhdGVDb3ZlckdyYW1tYXIgPSBmdW5jdGlvbiAocGFyc2VGdW5jdGlvbikge1xuXHQgICAgICAgIHZhciBwcmV2aW91c0lzQmluZGluZ0VsZW1lbnQgPSB0aGlzLmNvbnRleHQuaXNCaW5kaW5nRWxlbWVudDtcblx0ICAgICAgICB2YXIgcHJldmlvdXNJc0Fzc2lnbm1lbnRUYXJnZXQgPSB0aGlzLmNvbnRleHQuaXNBc3NpZ25tZW50VGFyZ2V0O1xuXHQgICAgICAgIHZhciBwcmV2aW91c0ZpcnN0Q292ZXJJbml0aWFsaXplZE5hbWVFcnJvciA9IHRoaXMuY29udGV4dC5maXJzdENvdmVySW5pdGlhbGl6ZWROYW1lRXJyb3I7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmlzQmluZGluZ0VsZW1lbnQgPSB0cnVlO1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5pc0Fzc2lnbm1lbnRUYXJnZXQgPSB0cnVlO1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5maXJzdENvdmVySW5pdGlhbGl6ZWROYW1lRXJyb3IgPSBudWxsO1xuXHQgICAgICAgIHZhciByZXN1bHQgPSBwYXJzZUZ1bmN0aW9uLmNhbGwodGhpcyk7XG5cdCAgICAgICAgaWYgKHRoaXMuY29udGV4dC5maXJzdENvdmVySW5pdGlhbGl6ZWROYW1lRXJyb3IgIT09IG51bGwpIHtcblx0ICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbih0aGlzLmNvbnRleHQuZmlyc3RDb3ZlckluaXRpYWxpemVkTmFtZUVycm9yKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmlzQmluZGluZ0VsZW1lbnQgPSBwcmV2aW91c0lzQmluZGluZ0VsZW1lbnQ7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmlzQXNzaWdubWVudFRhcmdldCA9IHByZXZpb3VzSXNBc3NpZ25tZW50VGFyZ2V0O1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5maXJzdENvdmVySW5pdGlhbGl6ZWROYW1lRXJyb3IgPSBwcmV2aW91c0ZpcnN0Q292ZXJJbml0aWFsaXplZE5hbWVFcnJvcjtcblx0ICAgICAgICByZXR1cm4gcmVzdWx0O1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUuaW5oZXJpdENvdmVyR3JhbW1hciA9IGZ1bmN0aW9uIChwYXJzZUZ1bmN0aW9uKSB7XG5cdCAgICAgICAgdmFyIHByZXZpb3VzSXNCaW5kaW5nRWxlbWVudCA9IHRoaXMuY29udGV4dC5pc0JpbmRpbmdFbGVtZW50O1xuXHQgICAgICAgIHZhciBwcmV2aW91c0lzQXNzaWdubWVudFRhcmdldCA9IHRoaXMuY29udGV4dC5pc0Fzc2lnbm1lbnRUYXJnZXQ7XG5cdCAgICAgICAgdmFyIHByZXZpb3VzRmlyc3RDb3ZlckluaXRpYWxpemVkTmFtZUVycm9yID0gdGhpcy5jb250ZXh0LmZpcnN0Q292ZXJJbml0aWFsaXplZE5hbWVFcnJvcjtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuaXNCaW5kaW5nRWxlbWVudCA9IHRydWU7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmlzQXNzaWdubWVudFRhcmdldCA9IHRydWU7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmZpcnN0Q292ZXJJbml0aWFsaXplZE5hbWVFcnJvciA9IG51bGw7XG5cdCAgICAgICAgdmFyIHJlc3VsdCA9IHBhcnNlRnVuY3Rpb24uY2FsbCh0aGlzKTtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuaXNCaW5kaW5nRWxlbWVudCA9IHRoaXMuY29udGV4dC5pc0JpbmRpbmdFbGVtZW50ICYmIHByZXZpb3VzSXNCaW5kaW5nRWxlbWVudDtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuaXNBc3NpZ25tZW50VGFyZ2V0ID0gdGhpcy5jb250ZXh0LmlzQXNzaWdubWVudFRhcmdldCAmJiBwcmV2aW91c0lzQXNzaWdubWVudFRhcmdldDtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuZmlyc3RDb3ZlckluaXRpYWxpemVkTmFtZUVycm9yID0gcHJldmlvdXNGaXJzdENvdmVySW5pdGlhbGl6ZWROYW1lRXJyb3IgfHwgdGhpcy5jb250ZXh0LmZpcnN0Q292ZXJJbml0aWFsaXplZE5hbWVFcnJvcjtcblx0ICAgICAgICByZXR1cm4gcmVzdWx0O1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUuY29uc3VtZVNlbWljb2xvbiA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICBpZiAodGhpcy5tYXRjaCgnOycpKSB7XG5cdCAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGVsc2UgaWYgKCF0aGlzLmhhc0xpbmVUZXJtaW5hdG9yKSB7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLmxvb2thaGVhZC50eXBlICE9PSAyIC8qIEVPRiAqLyAmJiAhdGhpcy5tYXRjaCgnfScpKSB7XG5cdCAgICAgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKHRoaXMubG9va2FoZWFkKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB0aGlzLmxhc3RNYXJrZXIuaW5kZXggPSB0aGlzLnN0YXJ0TWFya2VyLmluZGV4O1xuXHQgICAgICAgICAgICB0aGlzLmxhc3RNYXJrZXIubGluZSA9IHRoaXMuc3RhcnRNYXJrZXIubGluZTtcblx0ICAgICAgICAgICAgdGhpcy5sYXN0TWFya2VyLmNvbHVtbiA9IHRoaXMuc3RhcnRNYXJrZXIuY29sdW1uO1xuXHQgICAgICAgIH1cblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1wcmltYXJ5LWV4cHJlc3Npb25cblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VQcmltYXJ5RXhwcmVzc2lvbiA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHZhciBleHByO1xuXHQgICAgICAgIHZhciB0b2tlbiwgcmF3O1xuXHQgICAgICAgIHN3aXRjaCAodGhpcy5sb29rYWhlYWQudHlwZSkge1xuXHQgICAgICAgICAgICBjYXNlIDMgLyogSWRlbnRpZmllciAqLzpcblx0ICAgICAgICAgICAgICAgIGlmICgodGhpcy5jb250ZXh0LmlzTW9kdWxlIHx8IHRoaXMuY29udGV4dC5hd2FpdCkgJiYgdGhpcy5sb29rYWhlYWQudmFsdWUgPT09ICdhd2FpdCcpIHtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHRoaXMubG9va2FoZWFkKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGV4cHIgPSB0aGlzLm1hdGNoQXN5bmNGdW5jdGlvbigpID8gdGhpcy5wYXJzZUZ1bmN0aW9uRXhwcmVzc2lvbigpIDogdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5JZGVudGlmaWVyKHRoaXMubmV4dFRva2VuKCkudmFsdWUpKTtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBjYXNlIDYgLyogTnVtZXJpY0xpdGVyYWwgKi86XG5cdCAgICAgICAgICAgIGNhc2UgOCAvKiBTdHJpbmdMaXRlcmFsICovOlxuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3QgJiYgdGhpcy5sb29rYWhlYWQub2N0YWwpIHtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHRoaXMubG9va2FoZWFkLCBtZXNzYWdlc18xLk1lc3NhZ2VzLlN0cmljdE9jdGFsTGl0ZXJhbCk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNBc3NpZ25tZW50VGFyZ2V0ID0gZmFsc2U7XG5cdCAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNCaW5kaW5nRWxlbWVudCA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgdG9rZW4gPSB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgcmF3ID0gdGhpcy5nZXRUb2tlblJhdyh0b2tlbik7XG5cdCAgICAgICAgICAgICAgICBleHByID0gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5MaXRlcmFsKHRva2VuLnZhbHVlLCByYXcpKTtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBjYXNlIDEgLyogQm9vbGVhbkxpdGVyYWwgKi86XG5cdCAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNBc3NpZ25tZW50VGFyZ2V0ID0gZmFsc2U7XG5cdCAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNCaW5kaW5nRWxlbWVudCA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgdG9rZW4gPSB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgcmF3ID0gdGhpcy5nZXRUb2tlblJhdyh0b2tlbik7XG5cdCAgICAgICAgICAgICAgICBleHByID0gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5MaXRlcmFsKHRva2VuLnZhbHVlID09PSAndHJ1ZScsIHJhdykpO1xuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIGNhc2UgNSAvKiBOdWxsTGl0ZXJhbCAqLzpcblx0ICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0Fzc2lnbm1lbnRUYXJnZXQgPSBmYWxzZTtcblx0ICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0JpbmRpbmdFbGVtZW50ID0gZmFsc2U7XG5cdCAgICAgICAgICAgICAgICB0b2tlbiA9IHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgICAgICByYXcgPSB0aGlzLmdldFRva2VuUmF3KHRva2VuKTtcblx0ICAgICAgICAgICAgICAgIGV4cHIgPSB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLkxpdGVyYWwobnVsbCwgcmF3KSk7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgY2FzZSAxMCAvKiBUZW1wbGF0ZSAqLzpcblx0ICAgICAgICAgICAgICAgIGV4cHIgPSB0aGlzLnBhcnNlVGVtcGxhdGVMaXRlcmFsKCk7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgY2FzZSA3IC8qIFB1bmN0dWF0b3IgKi86XG5cdCAgICAgICAgICAgICAgICBzd2l0Y2ggKHRoaXMubG9va2FoZWFkLnZhbHVlKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgY2FzZSAnKCc6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0JpbmRpbmdFbGVtZW50ID0gZmFsc2U7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGV4cHIgPSB0aGlzLmluaGVyaXRDb3ZlckdyYW1tYXIodGhpcy5wYXJzZUdyb3VwRXhwcmVzc2lvbik7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgICAgIGNhc2UgJ1snOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICBleHByID0gdGhpcy5pbmhlcml0Q292ZXJHcmFtbWFyKHRoaXMucGFyc2VBcnJheUluaXRpYWxpemVyKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICAgICAgY2FzZSAneyc6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGV4cHIgPSB0aGlzLmluaGVyaXRDb3ZlckdyYW1tYXIodGhpcy5wYXJzZU9iamVjdEluaXRpYWxpemVyKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICAgICAgY2FzZSAnLyc6XG5cdCAgICAgICAgICAgICAgICAgICAgY2FzZSAnLz0nOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNBc3NpZ25tZW50VGFyZ2V0ID0gZmFsc2U7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0JpbmRpbmdFbGVtZW50ID0gZmFsc2U7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuc2Nhbm5lci5pbmRleCA9IHRoaXMuc3RhcnRNYXJrZXIuaW5kZXg7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHRva2VuID0gdGhpcy5uZXh0UmVnZXhUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICByYXcgPSB0aGlzLmdldFRva2VuUmF3KHRva2VuKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgZXhwciA9IHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuUmVnZXhMaXRlcmFsKHRva2VuLnJlZ2V4LCByYXcsIHRva2VuLnBhdHRlcm4sIHRva2VuLmZsYWdzKSk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGV4cHIgPSB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKHRoaXMubmV4dFRva2VuKCkpO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIGNhc2UgNCAvKiBLZXl3b3JkICovOlxuXHQgICAgICAgICAgICAgICAgaWYgKCF0aGlzLmNvbnRleHQuc3RyaWN0ICYmIHRoaXMuY29udGV4dC5hbGxvd1lpZWxkICYmIHRoaXMubWF0Y2hLZXl3b3JkKCd5aWVsZCcpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgZXhwciA9IHRoaXMucGFyc2VJZGVudGlmaWVyTmFtZSgpO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgZWxzZSBpZiAoIXRoaXMuY29udGV4dC5zdHJpY3QgJiYgdGhpcy5tYXRjaEtleXdvcmQoJ2xldCcpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgZXhwciA9IHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuSWRlbnRpZmllcih0aGlzLm5leHRUb2tlbigpLnZhbHVlKSk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNBc3NpZ25tZW50VGFyZ2V0ID0gZmFsc2U7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmlzQmluZGluZ0VsZW1lbnQgPSBmYWxzZTtcblx0ICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXRjaEtleXdvcmQoJ2Z1bmN0aW9uJykpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgZXhwciA9IHRoaXMucGFyc2VGdW5jdGlvbkV4cHJlc3Npb24oKTtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5tYXRjaEtleXdvcmQoJ3RoaXMnKSkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBleHByID0gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5UaGlzRXhwcmVzc2lvbigpKTtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5tYXRjaEtleXdvcmQoJ2NsYXNzJykpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgZXhwciA9IHRoaXMucGFyc2VDbGFzc0V4cHJlc3Npb24oKTtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGV4cHIgPSB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKHRoaXMubmV4dFRva2VuKCkpO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBkZWZhdWx0OlxuXHQgICAgICAgICAgICAgICAgZXhwciA9IHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4odGhpcy5uZXh0VG9rZW4oKSk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiBleHByO1xuXHQgICAgfTtcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWFycmF5LWluaXRpYWxpemVyXG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlU3ByZWFkRWxlbWVudCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0KCcuLi4nKTtcblx0ICAgICAgICB2YXIgYXJnID0gdGhpcy5pbmhlcml0Q292ZXJHcmFtbWFyKHRoaXMucGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik7XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuU3ByZWFkRWxlbWVudChhcmcpKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlQXJyYXlJbml0aWFsaXplciA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHZhciBlbGVtZW50cyA9IFtdO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0KCdbJyk7XG5cdCAgICAgICAgd2hpbGUgKCF0aGlzLm1hdGNoKCddJykpIHtcblx0ICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2goJywnKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgICAgIGVsZW1lbnRzLnB1c2gobnVsbCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5tYXRjaCgnLi4uJykpIHtcblx0ICAgICAgICAgICAgICAgIHZhciBlbGVtZW50ID0gdGhpcy5wYXJzZVNwcmVhZEVsZW1lbnQoKTtcblx0ICAgICAgICAgICAgICAgIGlmICghdGhpcy5tYXRjaCgnXScpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmlzQXNzaWdubWVudFRhcmdldCA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0JpbmRpbmdFbGVtZW50ID0gZmFsc2U7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5leHBlY3QoJywnKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGVsZW1lbnRzLnB1c2goZWxlbWVudCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICBlbGVtZW50cy5wdXNoKHRoaXMuaW5oZXJpdENvdmVyR3JhbW1hcih0aGlzLnBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24pKTtcblx0ICAgICAgICAgICAgICAgIGlmICghdGhpcy5tYXRjaCgnXScpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5leHBlY3QoJywnKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICB0aGlzLmV4cGVjdCgnXScpO1xuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLkFycmF5RXhwcmVzc2lvbihlbGVtZW50cykpO1xuXHQgICAgfTtcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLW9iamVjdC1pbml0aWFsaXplclxuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZVByb3BlcnR5TWV0aG9kID0gZnVuY3Rpb24gKHBhcmFtcykge1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5pc0Fzc2lnbm1lbnRUYXJnZXQgPSBmYWxzZTtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuaXNCaW5kaW5nRWxlbWVudCA9IGZhbHNlO1xuXHQgICAgICAgIHZhciBwcmV2aW91c1N0cmljdCA9IHRoaXMuY29udGV4dC5zdHJpY3Q7XG5cdCAgICAgICAgdmFyIHByZXZpb3VzQWxsb3dTdHJpY3REaXJlY3RpdmUgPSB0aGlzLmNvbnRleHQuYWxsb3dTdHJpY3REaXJlY3RpdmU7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93U3RyaWN0RGlyZWN0aXZlID0gcGFyYW1zLnNpbXBsZTtcblx0ICAgICAgICB2YXIgYm9keSA9IHRoaXMuaXNvbGF0ZUNvdmVyR3JhbW1hcih0aGlzLnBhcnNlRnVuY3Rpb25Tb3VyY2VFbGVtZW50cyk7XG5cdCAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3QgJiYgcGFyYW1zLmZpcnN0UmVzdHJpY3RlZCkge1xuXHQgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHBhcmFtcy5maXJzdFJlc3RyaWN0ZWQsIHBhcmFtcy5tZXNzYWdlKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3QgJiYgcGFyYW1zLnN0cmljdGVkKSB7XG5cdCAgICAgICAgICAgIHRoaXMudG9sZXJhdGVVbmV4cGVjdGVkVG9rZW4ocGFyYW1zLnN0cmljdGVkLCBwYXJhbXMubWVzc2FnZSk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHRoaXMuY29udGV4dC5zdHJpY3QgPSBwcmV2aW91c1N0cmljdDtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuYWxsb3dTdHJpY3REaXJlY3RpdmUgPSBwcmV2aW91c0FsbG93U3RyaWN0RGlyZWN0aXZlO1xuXHQgICAgICAgIHJldHVybiBib2R5O1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VQcm9wZXJ0eU1ldGhvZEZ1bmN0aW9uID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBpc0dlbmVyYXRvciA9IGZhbHNlO1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdmFyIHByZXZpb3VzQWxsb3dZaWVsZCA9IHRoaXMuY29udGV4dC5hbGxvd1lpZWxkO1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5hbGxvd1lpZWxkID0gdHJ1ZTtcblx0ICAgICAgICB2YXIgcGFyYW1zID0gdGhpcy5wYXJzZUZvcm1hbFBhcmFtZXRlcnMoKTtcblx0ICAgICAgICB2YXIgbWV0aG9kID0gdGhpcy5wYXJzZVByb3BlcnR5TWV0aG9kKHBhcmFtcyk7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93WWllbGQgPSBwcmV2aW91c0FsbG93WWllbGQ7XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuRnVuY3Rpb25FeHByZXNzaW9uKG51bGwsIHBhcmFtcy5wYXJhbXMsIG1ldGhvZCwgaXNHZW5lcmF0b3IpKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlUHJvcGVydHlNZXRob2RBc3luY0Z1bmN0aW9uID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdmFyIHByZXZpb3VzQWxsb3dZaWVsZCA9IHRoaXMuY29udGV4dC5hbGxvd1lpZWxkO1xuXHQgICAgICAgIHZhciBwcmV2aW91c0F3YWl0ID0gdGhpcy5jb250ZXh0LmF3YWl0O1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5hbGxvd1lpZWxkID0gZmFsc2U7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmF3YWl0ID0gdHJ1ZTtcblx0ICAgICAgICB2YXIgcGFyYW1zID0gdGhpcy5wYXJzZUZvcm1hbFBhcmFtZXRlcnMoKTtcblx0ICAgICAgICB2YXIgbWV0aG9kID0gdGhpcy5wYXJzZVByb3BlcnR5TWV0aG9kKHBhcmFtcyk7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93WWllbGQgPSBwcmV2aW91c0FsbG93WWllbGQ7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmF3YWl0ID0gcHJldmlvdXNBd2FpdDtcblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5Bc3luY0Z1bmN0aW9uRXhwcmVzc2lvbihudWxsLCBwYXJhbXMucGFyYW1zLCBtZXRob2QpKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlT2JqZWN0UHJvcGVydHlLZXkgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgIHZhciBrZXk7XG5cdCAgICAgICAgc3dpdGNoICh0b2tlbi50eXBlKSB7XG5cdCAgICAgICAgICAgIGNhc2UgOCAvKiBTdHJpbmdMaXRlcmFsICovOlxuXHQgICAgICAgICAgICBjYXNlIDYgLyogTnVtZXJpY0xpdGVyYWwgKi86XG5cdCAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250ZXh0LnN0cmljdCAmJiB0b2tlbi5vY3RhbCkge1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMudG9sZXJhdGVVbmV4cGVjdGVkVG9rZW4odG9rZW4sIG1lc3NhZ2VzXzEuTWVzc2FnZXMuU3RyaWN0T2N0YWxMaXRlcmFsKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIHZhciByYXcgPSB0aGlzLmdldFRva2VuUmF3KHRva2VuKTtcblx0ICAgICAgICAgICAgICAgIGtleSA9IHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuTGl0ZXJhbCh0b2tlbi52YWx1ZSwgcmF3KSk7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgY2FzZSAzIC8qIElkZW50aWZpZXIgKi86XG5cdCAgICAgICAgICAgIGNhc2UgMSAvKiBCb29sZWFuTGl0ZXJhbCAqLzpcblx0ICAgICAgICAgICAgY2FzZSA1IC8qIE51bGxMaXRlcmFsICovOlxuXHQgICAgICAgICAgICBjYXNlIDQgLyogS2V5d29yZCAqLzpcblx0ICAgICAgICAgICAgICAgIGtleSA9IHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuSWRlbnRpZmllcih0b2tlbi52YWx1ZSkpO1xuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIGNhc2UgNyAvKiBQdW5jdHVhdG9yICovOlxuXHQgICAgICAgICAgICAgICAgaWYgKHRva2VuLnZhbHVlID09PSAnWycpIHtcblx0ICAgICAgICAgICAgICAgICAgICBrZXkgPSB0aGlzLmlzb2xhdGVDb3ZlckdyYW1tYXIodGhpcy5wYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKTtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cGVjdCgnXScpO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICAgICAga2V5ID0gdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbih0b2tlbik7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgZGVmYXVsdDpcblx0ICAgICAgICAgICAgICAgIGtleSA9IHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4odG9rZW4pO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4ga2V5O1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUuaXNQcm9wZXJ0eUtleSA9IGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XG5cdCAgICAgICAgcmV0dXJuIChrZXkudHlwZSA9PT0gc3ludGF4XzEuU3ludGF4LklkZW50aWZpZXIgJiYga2V5Lm5hbWUgPT09IHZhbHVlKSB8fFxuXHQgICAgICAgICAgICAoa2V5LnR5cGUgPT09IHN5bnRheF8xLlN5bnRheC5MaXRlcmFsICYmIGtleS52YWx1ZSA9PT0gdmFsdWUpO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VPYmplY3RQcm9wZXJ0eSA9IGZ1bmN0aW9uIChoYXNQcm90bykge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdmFyIHRva2VuID0gdGhpcy5sb29rYWhlYWQ7XG5cdCAgICAgICAgdmFyIGtpbmQ7XG5cdCAgICAgICAgdmFyIGtleSA9IG51bGw7XG5cdCAgICAgICAgdmFyIHZhbHVlID0gbnVsbDtcblx0ICAgICAgICB2YXIgY29tcHV0ZWQgPSBmYWxzZTtcblx0ICAgICAgICB2YXIgbWV0aG9kID0gZmFsc2U7XG5cdCAgICAgICAgdmFyIHNob3J0aGFuZCA9IGZhbHNlO1xuXHQgICAgICAgIHZhciBpc0FzeW5jID0gZmFsc2U7XG5cdCAgICAgICAgaWYgKHRva2VuLnR5cGUgPT09IDMgLyogSWRlbnRpZmllciAqLykge1xuXHQgICAgICAgICAgICB2YXIgaWQgPSB0b2tlbi52YWx1ZTtcblx0ICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgY29tcHV0ZWQgPSB0aGlzLm1hdGNoKCdbJyk7XG5cdCAgICAgICAgICAgIGlzQXN5bmMgPSAhdGhpcy5oYXNMaW5lVGVybWluYXRvciAmJiAoaWQgPT09ICdhc3luYycpICYmXG5cdCAgICAgICAgICAgICAgICAhdGhpcy5tYXRjaCgnOicpICYmICF0aGlzLm1hdGNoKCcoJykgJiYgIXRoaXMubWF0Y2goJyonKSAmJiAhdGhpcy5tYXRjaCgnLCcpO1xuXHQgICAgICAgICAgICBrZXkgPSBpc0FzeW5jID8gdGhpcy5wYXJzZU9iamVjdFByb3BlcnR5S2V5KCkgOiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLklkZW50aWZpZXIoaWQpKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSBpZiAodGhpcy5tYXRjaCgnKicpKSB7XG5cdCAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICBjb21wdXRlZCA9IHRoaXMubWF0Y2goJ1snKTtcblx0ICAgICAgICAgICAga2V5ID0gdGhpcy5wYXJzZU9iamVjdFByb3BlcnR5S2V5KCk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHZhciBsb29rYWhlYWRQcm9wZXJ0eUtleSA9IHRoaXMucXVhbGlmaWVkUHJvcGVydHlOYW1lKHRoaXMubG9va2FoZWFkKTtcblx0ICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gMyAvKiBJZGVudGlmaWVyICovICYmICFpc0FzeW5jICYmIHRva2VuLnZhbHVlID09PSAnZ2V0JyAmJiBsb29rYWhlYWRQcm9wZXJ0eUtleSkge1xuXHQgICAgICAgICAgICBraW5kID0gJ2dldCc7XG5cdCAgICAgICAgICAgIGNvbXB1dGVkID0gdGhpcy5tYXRjaCgnWycpO1xuXHQgICAgICAgICAgICBrZXkgPSB0aGlzLnBhcnNlT2JqZWN0UHJvcGVydHlLZXkoKTtcblx0ICAgICAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93WWllbGQgPSBmYWxzZTtcblx0ICAgICAgICAgICAgdmFsdWUgPSB0aGlzLnBhcnNlR2V0dGVyTWV0aG9kKCk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGVsc2UgaWYgKHRva2VuLnR5cGUgPT09IDMgLyogSWRlbnRpZmllciAqLyAmJiAhaXNBc3luYyAmJiB0b2tlbi52YWx1ZSA9PT0gJ3NldCcgJiYgbG9va2FoZWFkUHJvcGVydHlLZXkpIHtcblx0ICAgICAgICAgICAga2luZCA9ICdzZXQnO1xuXHQgICAgICAgICAgICBjb21wdXRlZCA9IHRoaXMubWF0Y2goJ1snKTtcblx0ICAgICAgICAgICAga2V5ID0gdGhpcy5wYXJzZU9iamVjdFByb3BlcnR5S2V5KCk7XG5cdCAgICAgICAgICAgIHZhbHVlID0gdGhpcy5wYXJzZVNldHRlck1ldGhvZCgpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIGlmICh0b2tlbi50eXBlID09PSA3IC8qIFB1bmN0dWF0b3IgKi8gJiYgdG9rZW4udmFsdWUgPT09ICcqJyAmJiBsb29rYWhlYWRQcm9wZXJ0eUtleSkge1xuXHQgICAgICAgICAgICBraW5kID0gJ2luaXQnO1xuXHQgICAgICAgICAgICBjb21wdXRlZCA9IHRoaXMubWF0Y2goJ1snKTtcblx0ICAgICAgICAgICAga2V5ID0gdGhpcy5wYXJzZU9iamVjdFByb3BlcnR5S2V5KCk7XG5cdCAgICAgICAgICAgIHZhbHVlID0gdGhpcy5wYXJzZUdlbmVyYXRvck1ldGhvZCgpO1xuXHQgICAgICAgICAgICBtZXRob2QgPSB0cnVlO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgaWYgKCFrZXkpIHtcblx0ICAgICAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4odGhpcy5sb29rYWhlYWQpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGtpbmQgPSAnaW5pdCc7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoKCc6JykgJiYgIWlzQXN5bmMpIHtcblx0ICAgICAgICAgICAgICAgIGlmICghY29tcHV0ZWQgJiYgdGhpcy5pc1Byb3BlcnR5S2V5KGtleSwgJ19fcHJvdG9fXycpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgaWYgKGhhc1Byb3RvLnZhbHVlKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9sZXJhdGVFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLkR1cGxpY2F0ZVByb3RvUHJvcGVydHkpO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICBoYXNQcm90by52YWx1ZSA9IHRydWU7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLmluaGVyaXRDb3ZlckdyYW1tYXIodGhpcy5wYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmICh0aGlzLm1hdGNoKCcoJykpIHtcblx0ICAgICAgICAgICAgICAgIHZhbHVlID0gaXNBc3luYyA/IHRoaXMucGFyc2VQcm9wZXJ0eU1ldGhvZEFzeW5jRnVuY3Rpb24oKSA6IHRoaXMucGFyc2VQcm9wZXJ0eU1ldGhvZEZ1bmN0aW9uKCk7XG5cdCAgICAgICAgICAgICAgICBtZXRob2QgPSB0cnVlO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2UgaWYgKHRva2VuLnR5cGUgPT09IDMgLyogSWRlbnRpZmllciAqLykge1xuXHQgICAgICAgICAgICAgICAgdmFyIGlkID0gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5JZGVudGlmaWVyKHRva2VuLnZhbHVlKSk7XG5cdCAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXRjaCgnPScpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmZpcnN0Q292ZXJJbml0aWFsaXplZE5hbWVFcnJvciA9IHRoaXMubG9va2FoZWFkO1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgICAgICAgICAgc2hvcnRoYW5kID0gdHJ1ZTtcblx0ICAgICAgICAgICAgICAgICAgICB2YXIgaW5pdCA9IHRoaXMuaXNvbGF0ZUNvdmVyR3JhbW1hcih0aGlzLnBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24pO1xuXHQgICAgICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5Bc3NpZ25tZW50UGF0dGVybihpZCwgaW5pdCkpO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICAgICAgc2hvcnRoYW5kID0gdHJ1ZTtcblx0ICAgICAgICAgICAgICAgICAgICB2YWx1ZSA9IGlkO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbih0aGlzLm5leHRUb2tlbigpKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5Qcm9wZXJ0eShraW5kLCBrZXksIGNvbXB1dGVkLCB2YWx1ZSwgbWV0aG9kLCBzaG9ydGhhbmQpKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlT2JqZWN0SW5pdGlhbGl6ZXIgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB0aGlzLmV4cGVjdCgneycpO1xuXHQgICAgICAgIHZhciBwcm9wZXJ0aWVzID0gW107XG5cdCAgICAgICAgdmFyIGhhc1Byb3RvID0geyB2YWx1ZTogZmFsc2UgfTtcblx0ICAgICAgICB3aGlsZSAoIXRoaXMubWF0Y2goJ30nKSkge1xuXHQgICAgICAgICAgICBwcm9wZXJ0aWVzLnB1c2godGhpcy5wYXJzZU9iamVjdFByb3BlcnR5KGhhc1Byb3RvKSk7XG5cdCAgICAgICAgICAgIGlmICghdGhpcy5tYXRjaCgnfScpKSB7XG5cdCAgICAgICAgICAgICAgICB0aGlzLmV4cGVjdENvbW1hU2VwYXJhdG9yKCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgdGhpcy5leHBlY3QoJ30nKTtcblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5PYmplY3RFeHByZXNzaW9uKHByb3BlcnRpZXMpKTtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy10ZW1wbGF0ZS1saXRlcmFsc1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZVRlbXBsYXRlSGVhZCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICBhc3NlcnRfMS5hc3NlcnQodGhpcy5sb29rYWhlYWQuaGVhZCwgJ1RlbXBsYXRlIGxpdGVyYWwgbXVzdCBzdGFydCB3aXRoIGEgdGVtcGxhdGUgaGVhZCcpO1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdmFyIHRva2VuID0gdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICB2YXIgcmF3ID0gdG9rZW4udmFsdWU7XG5cdCAgICAgICAgdmFyIGNvb2tlZCA9IHRva2VuLmNvb2tlZDtcblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5UZW1wbGF0ZUVsZW1lbnQoeyByYXc6IHJhdywgY29va2VkOiBjb29rZWQgfSwgdG9rZW4udGFpbCkpO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VUZW1wbGF0ZUVsZW1lbnQgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgaWYgKHRoaXMubG9va2FoZWFkLnR5cGUgIT09IDEwIC8qIFRlbXBsYXRlICovKSB7XG5cdCAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4oKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgIHZhciByYXcgPSB0b2tlbi52YWx1ZTtcblx0ICAgICAgICB2YXIgY29va2VkID0gdG9rZW4uY29va2VkO1xuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLlRlbXBsYXRlRWxlbWVudCh7IHJhdzogcmF3LCBjb29rZWQ6IGNvb2tlZCB9LCB0b2tlbi50YWlsKSk7XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZVRlbXBsYXRlTGl0ZXJhbCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHZhciBleHByZXNzaW9ucyA9IFtdO1xuXHQgICAgICAgIHZhciBxdWFzaXMgPSBbXTtcblx0ICAgICAgICB2YXIgcXVhc2kgPSB0aGlzLnBhcnNlVGVtcGxhdGVIZWFkKCk7XG5cdCAgICAgICAgcXVhc2lzLnB1c2gocXVhc2kpO1xuXHQgICAgICAgIHdoaWxlICghcXVhc2kudGFpbCkge1xuXHQgICAgICAgICAgICBleHByZXNzaW9ucy5wdXNoKHRoaXMucGFyc2VFeHByZXNzaW9uKCkpO1xuXHQgICAgICAgICAgICBxdWFzaSA9IHRoaXMucGFyc2VUZW1wbGF0ZUVsZW1lbnQoKTtcblx0ICAgICAgICAgICAgcXVhc2lzLnB1c2gocXVhc2kpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5UZW1wbGF0ZUxpdGVyYWwocXVhc2lzLCBleHByZXNzaW9ucykpO1xuXHQgICAgfTtcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWdyb3VwaW5nLW9wZXJhdG9yXG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnJlaW50ZXJwcmV0RXhwcmVzc2lvbkFzUGF0dGVybiA9IGZ1bmN0aW9uIChleHByKSB7XG5cdCAgICAgICAgc3dpdGNoIChleHByLnR5cGUpIHtcblx0ICAgICAgICAgICAgY2FzZSBzeW50YXhfMS5TeW50YXguSWRlbnRpZmllcjpcblx0ICAgICAgICAgICAgY2FzZSBzeW50YXhfMS5TeW50YXguTWVtYmVyRXhwcmVzc2lvbjpcblx0ICAgICAgICAgICAgY2FzZSBzeW50YXhfMS5TeW50YXguUmVzdEVsZW1lbnQ6XG5cdCAgICAgICAgICAgIGNhc2Ugc3ludGF4XzEuU3ludGF4LkFzc2lnbm1lbnRQYXR0ZXJuOlxuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIGNhc2Ugc3ludGF4XzEuU3ludGF4LlNwcmVhZEVsZW1lbnQ6XG5cdCAgICAgICAgICAgICAgICBleHByLnR5cGUgPSBzeW50YXhfMS5TeW50YXguUmVzdEVsZW1lbnQ7XG5cdCAgICAgICAgICAgICAgICB0aGlzLnJlaW50ZXJwcmV0RXhwcmVzc2lvbkFzUGF0dGVybihleHByLmFyZ3VtZW50KTtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBjYXNlIHN5bnRheF8xLlN5bnRheC5BcnJheUV4cHJlc3Npb246XG5cdCAgICAgICAgICAgICAgICBleHByLnR5cGUgPSBzeW50YXhfMS5TeW50YXguQXJyYXlQYXR0ZXJuO1xuXHQgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHByLmVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgaWYgKGV4cHIuZWxlbWVudHNbaV0gIT09IG51bGwpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWludGVycHJldEV4cHJlc3Npb25Bc1BhdHRlcm4oZXhwci5lbGVtZW50c1tpXSk7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIGNhc2Ugc3ludGF4XzEuU3ludGF4Lk9iamVjdEV4cHJlc3Npb246XG5cdCAgICAgICAgICAgICAgICBleHByLnR5cGUgPSBzeW50YXhfMS5TeW50YXguT2JqZWN0UGF0dGVybjtcblx0ICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXhwci5wcm9wZXJ0aWVzLmxlbmd0aDsgaSsrKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWludGVycHJldEV4cHJlc3Npb25Bc1BhdHRlcm4oZXhwci5wcm9wZXJ0aWVzW2ldLnZhbHVlKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBjYXNlIHN5bnRheF8xLlN5bnRheC5Bc3NpZ25tZW50RXhwcmVzc2lvbjpcblx0ICAgICAgICAgICAgICAgIGV4cHIudHlwZSA9IHN5bnRheF8xLlN5bnRheC5Bc3NpZ25tZW50UGF0dGVybjtcblx0ICAgICAgICAgICAgICAgIGRlbGV0ZSBleHByLm9wZXJhdG9yO1xuXHQgICAgICAgICAgICAgICAgdGhpcy5yZWludGVycHJldEV4cHJlc3Npb25Bc1BhdHRlcm4oZXhwci5sZWZ0KTtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBkZWZhdWx0OlxuXHQgICAgICAgICAgICAgICAgLy8gQWxsb3cgb3RoZXIgbm9kZSB0eXBlIGZvciB0b2xlcmFudCBwYXJzaW5nLlxuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgfVxuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VHcm91cEV4cHJlc3Npb24gPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIGV4cHI7XG5cdCAgICAgICAgdGhpcy5leHBlY3QoJygnKTtcblx0ICAgICAgICBpZiAodGhpcy5tYXRjaCgnKScpKSB7XG5cdCAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgIGlmICghdGhpcy5tYXRjaCgnPT4nKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy5leHBlY3QoJz0+Jyk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZXhwciA9IHtcblx0ICAgICAgICAgICAgICAgIHR5cGU6IEFycm93UGFyYW1ldGVyUGxhY2VIb2xkZXIsXG5cdCAgICAgICAgICAgICAgICBwYXJhbXM6IFtdLFxuXHQgICAgICAgICAgICAgICAgYXN5bmM6IGZhbHNlXG5cdCAgICAgICAgICAgIH07XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICB2YXIgc3RhcnRUb2tlbiA9IHRoaXMubG9va2FoZWFkO1xuXHQgICAgICAgICAgICB2YXIgcGFyYW1zID0gW107XG5cdCAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoKCcuLi4nKSkge1xuXHQgICAgICAgICAgICAgICAgZXhwciA9IHRoaXMucGFyc2VSZXN0RWxlbWVudChwYXJhbXMpO1xuXHQgICAgICAgICAgICAgICAgdGhpcy5leHBlY3QoJyknKTtcblx0ICAgICAgICAgICAgICAgIGlmICghdGhpcy5tYXRjaCgnPT4nKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwZWN0KCc9PicpO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgZXhwciA9IHtcblx0ICAgICAgICAgICAgICAgICAgICB0eXBlOiBBcnJvd1BhcmFtZXRlclBsYWNlSG9sZGVyLFxuXHQgICAgICAgICAgICAgICAgICAgIHBhcmFtczogW2V4cHJdLFxuXHQgICAgICAgICAgICAgICAgICAgIGFzeW5jOiBmYWxzZVxuXHQgICAgICAgICAgICAgICAgfTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIHZhciBhcnJvdyA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmlzQmluZGluZ0VsZW1lbnQgPSB0cnVlO1xuXHQgICAgICAgICAgICAgICAgZXhwciA9IHRoaXMuaW5oZXJpdENvdmVyR3JhbW1hcih0aGlzLnBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24pO1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2goJywnKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIHZhciBleHByZXNzaW9ucyA9IFtdO1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0Fzc2lnbm1lbnRUYXJnZXQgPSBmYWxzZTtcblx0ICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9ucy5wdXNoKGV4cHIpO1xuXHQgICAgICAgICAgICAgICAgICAgIHdoaWxlICh0aGlzLmxvb2thaGVhZC50eXBlICE9PSAyIC8qIEVPRiAqLykge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMubWF0Y2goJywnKSkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2goJyknKSkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXhwcmVzc2lvbnMubGVuZ3RoOyBpKyspIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlaW50ZXJwcmV0RXhwcmVzc2lvbkFzUGF0dGVybihleHByZXNzaW9uc1tpXSk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdyA9IHRydWU7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByID0ge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFycm93UGFyYW1ldGVyUGxhY2VIb2xkZXIsXG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBleHByZXNzaW9ucyxcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3luYzogZmFsc2Vcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5tYXRjaCgnLi4uJykpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250ZXh0LmlzQmluZGluZ0VsZW1lbnQpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKHRoaXMubG9va2FoZWFkKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4cHJlc3Npb25zLnB1c2godGhpcy5wYXJzZVJlc3RFbGVtZW50KHBhcmFtcykpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5leHBlY3QoJyknKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5tYXRjaCgnPT4nKSkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwZWN0KCc9PicpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmlzQmluZGluZ0VsZW1lbnQgPSBmYWxzZTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZXhwcmVzc2lvbnMubGVuZ3RoOyBpKyspIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlaW50ZXJwcmV0RXhwcmVzc2lvbkFzUGF0dGVybihleHByZXNzaW9uc1tpXSk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJvdyA9IHRydWU7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByID0ge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFycm93UGFyYW1ldGVyUGxhY2VIb2xkZXIsXG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBleHByZXNzaW9ucyxcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhc3luYzogZmFsc2Vcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH07XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByZXNzaW9ucy5wdXNoKHRoaXMuaW5oZXJpdENvdmVyR3JhbW1hcih0aGlzLnBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24pKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXJyb3cpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIGlmICghYXJyb3cpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgZXhwciA9IHRoaXMuZmluYWxpemUodGhpcy5zdGFydE5vZGUoc3RhcnRUb2tlbiksIG5ldyBOb2RlLlNlcXVlbmNlRXhwcmVzc2lvbihleHByZXNzaW9ucykpO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGlmICghYXJyb3cpIHtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cGVjdCgnKScpO1xuXHQgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoKCc9PicpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGlmIChleHByLnR5cGUgPT09IHN5bnRheF8xLlN5bnRheC5JZGVudGlmaWVyICYmIGV4cHIubmFtZSA9PT0gJ3lpZWxkJykge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyb3cgPSB0cnVlO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhwciA9IHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBcnJvd1BhcmFtZXRlclBsYWNlSG9sZGVyLFxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogW2V4cHJdLFxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzeW5jOiBmYWxzZVxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWFycm93KSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY29udGV4dC5pc0JpbmRpbmdFbGVtZW50KSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbih0aGlzLmxvb2thaGVhZCk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZXhwci50eXBlID09PSBzeW50YXhfMS5TeW50YXguU2VxdWVuY2VFeHByZXNzaW9uKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBleHByLmV4cHJlc3Npb25zLmxlbmd0aDsgaSsrKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVpbnRlcnByZXRFeHByZXNzaW9uQXNQYXR0ZXJuKGV4cHIuZXhwcmVzc2lvbnNbaV0pO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVpbnRlcnByZXRFeHByZXNzaW9uQXNQYXR0ZXJuKGV4cHIpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHBhcmFtZXRlcnMgPSAoZXhwci50eXBlID09PSBzeW50YXhfMS5TeW50YXguU2VxdWVuY2VFeHByZXNzaW9uID8gZXhwci5leHByZXNzaW9ucyA6IFtleHByXSk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHByID0ge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFycm93UGFyYW1ldGVyUGxhY2VIb2xkZXIsXG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiBwYXJhbWV0ZXJzLFxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzeW5jOiBmYWxzZVxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNCaW5kaW5nRWxlbWVudCA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiBleHByO1xuXHQgICAgfTtcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWxlZnQtaGFuZC1zaWRlLWV4cHJlc3Npb25zXG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlQXJndW1lbnRzID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHRoaXMuZXhwZWN0KCcoJyk7XG5cdCAgICAgICAgdmFyIGFyZ3MgPSBbXTtcblx0ICAgICAgICBpZiAoIXRoaXMubWF0Y2goJyknKSkge1xuXHQgICAgICAgICAgICB3aGlsZSAodHJ1ZSkge1xuXHQgICAgICAgICAgICAgICAgdmFyIGV4cHIgPSB0aGlzLm1hdGNoKCcuLi4nKSA/IHRoaXMucGFyc2VTcHJlYWRFbGVtZW50KCkgOlxuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNvbGF0ZUNvdmVyR3JhbW1hcih0aGlzLnBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24pO1xuXHQgICAgICAgICAgICAgICAgYXJncy5wdXNoKGV4cHIpO1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2goJyknKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgdGhpcy5leHBlY3RDb21tYVNlcGFyYXRvcigpO1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2goJyknKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHRoaXMuZXhwZWN0KCcpJyk7XG5cdCAgICAgICAgcmV0dXJuIGFyZ3M7XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5pc0lkZW50aWZpZXJOYW1lID0gZnVuY3Rpb24gKHRva2VuKSB7XG5cdCAgICAgICAgcmV0dXJuIHRva2VuLnR5cGUgPT09IDMgLyogSWRlbnRpZmllciAqLyB8fFxuXHQgICAgICAgICAgICB0b2tlbi50eXBlID09PSA0IC8qIEtleXdvcmQgKi8gfHxcblx0ICAgICAgICAgICAgdG9rZW4udHlwZSA9PT0gMSAvKiBCb29sZWFuTGl0ZXJhbCAqLyB8fFxuXHQgICAgICAgICAgICB0b2tlbi50eXBlID09PSA1IC8qIE51bGxMaXRlcmFsICovO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VJZGVudGlmaWVyTmFtZSA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHZhciB0b2tlbiA9IHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgaWYgKCF0aGlzLmlzSWRlbnRpZmllck5hbWUodG9rZW4pKSB7XG5cdCAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4odG9rZW4pO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5JZGVudGlmaWVyKHRva2VuLnZhbHVlKSk7XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZU5ld0V4cHJlc3Npb24gPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB2YXIgaWQgPSB0aGlzLnBhcnNlSWRlbnRpZmllck5hbWUoKTtcblx0ICAgICAgICBhc3NlcnRfMS5hc3NlcnQoaWQubmFtZSA9PT0gJ25ldycsICdOZXcgZXhwcmVzc2lvbiBtdXN0IHN0YXJ0IHdpdGggYG5ld2AnKTtcblx0ICAgICAgICB2YXIgZXhwcjtcblx0ICAgICAgICBpZiAodGhpcy5tYXRjaCgnLicpKSB7XG5cdCAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLmxvb2thaGVhZC50eXBlID09PSAzIC8qIElkZW50aWZpZXIgKi8gJiYgdGhpcy5jb250ZXh0LmluRnVuY3Rpb25Cb2R5ICYmIHRoaXMubG9va2FoZWFkLnZhbHVlID09PSAndGFyZ2V0Jykge1xuXHQgICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gdGhpcy5wYXJzZUlkZW50aWZpZXJOYW1lKCk7XG5cdCAgICAgICAgICAgICAgICBleHByID0gbmV3IE5vZGUuTWV0YVByb3BlcnR5KGlkLCBwcm9wZXJ0eSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKHRoaXMubG9va2FoZWFkKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgdmFyIGNhbGxlZSA9IHRoaXMuaXNvbGF0ZUNvdmVyR3JhbW1hcih0aGlzLnBhcnNlTGVmdEhhbmRTaWRlRXhwcmVzc2lvbik7XG5cdCAgICAgICAgICAgIHZhciBhcmdzID0gdGhpcy5tYXRjaCgnKCcpID8gdGhpcy5wYXJzZUFyZ3VtZW50cygpIDogW107XG5cdCAgICAgICAgICAgIGV4cHIgPSBuZXcgTm9kZS5OZXdFeHByZXNzaW9uKGNhbGxlZSwgYXJncyk7XG5cdCAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0Fzc2lnbm1lbnRUYXJnZXQgPSBmYWxzZTtcblx0ICAgICAgICAgICAgdGhpcy5jb250ZXh0LmlzQmluZGluZ0VsZW1lbnQgPSBmYWxzZTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgZXhwcik7XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZUFzeW5jQXJndW1lbnQgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIGFyZyA9IHRoaXMucGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbigpO1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5maXJzdENvdmVySW5pdGlhbGl6ZWROYW1lRXJyb3IgPSBudWxsO1xuXHQgICAgICAgIHJldHVybiBhcmc7XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZUFzeW5jQXJndW1lbnRzID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHRoaXMuZXhwZWN0KCcoJyk7XG5cdCAgICAgICAgdmFyIGFyZ3MgPSBbXTtcblx0ICAgICAgICBpZiAoIXRoaXMubWF0Y2goJyknKSkge1xuXHQgICAgICAgICAgICB3aGlsZSAodHJ1ZSkge1xuXHQgICAgICAgICAgICAgICAgdmFyIGV4cHIgPSB0aGlzLm1hdGNoKCcuLi4nKSA/IHRoaXMucGFyc2VTcHJlYWRFbGVtZW50KCkgOlxuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMuaXNvbGF0ZUNvdmVyR3JhbW1hcih0aGlzLnBhcnNlQXN5bmNBcmd1bWVudCk7XG5cdCAgICAgICAgICAgICAgICBhcmdzLnB1c2goZXhwcik7XG5cdCAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXRjaCgnKScpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICB0aGlzLmV4cGVjdENvbW1hU2VwYXJhdG9yKCk7XG5cdCAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXRjaCgnKScpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgdGhpcy5leHBlY3QoJyknKTtcblx0ICAgICAgICByZXR1cm4gYXJncztcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlTGVmdEhhbmRTaWRlRXhwcmVzc2lvbkFsbG93Q2FsbCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgc3RhcnRUb2tlbiA9IHRoaXMubG9va2FoZWFkO1xuXHQgICAgICAgIHZhciBtYXliZUFzeW5jID0gdGhpcy5tYXRjaENvbnRleHR1YWxLZXl3b3JkKCdhc3luYycpO1xuXHQgICAgICAgIHZhciBwcmV2aW91c0FsbG93SW4gPSB0aGlzLmNvbnRleHQuYWxsb3dJbjtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuYWxsb3dJbiA9IHRydWU7XG5cdCAgICAgICAgdmFyIGV4cHI7XG5cdCAgICAgICAgaWYgKHRoaXMubWF0Y2hLZXl3b3JkKCdzdXBlcicpICYmIHRoaXMuY29udGV4dC5pbkZ1bmN0aW9uQm9keSkge1xuXHQgICAgICAgICAgICBleHByID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgIGV4cHIgPSB0aGlzLmZpbmFsaXplKGV4cHIsIG5ldyBOb2RlLlN1cGVyKCkpO1xuXHQgICAgICAgICAgICBpZiAoIXRoaXMubWF0Y2goJygnKSAmJiAhdGhpcy5tYXRjaCgnLicpICYmICF0aGlzLm1hdGNoKCdbJykpIHtcblx0ICAgICAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4odGhpcy5sb29rYWhlYWQpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICBleHByID0gdGhpcy5pbmhlcml0Q292ZXJHcmFtbWFyKHRoaXMubWF0Y2hLZXl3b3JkKCduZXcnKSA/IHRoaXMucGFyc2VOZXdFeHByZXNzaW9uIDogdGhpcy5wYXJzZVByaW1hcnlFeHByZXNzaW9uKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgd2hpbGUgKHRydWUpIHtcblx0ICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2goJy4nKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmlzQmluZGluZ0VsZW1lbnQgPSBmYWxzZTtcblx0ICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0Fzc2lnbm1lbnRUYXJnZXQgPSB0cnVlO1xuXHQgICAgICAgICAgICAgICAgdGhpcy5leHBlY3QoJy4nKTtcblx0ICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IHRoaXMucGFyc2VJZGVudGlmaWVyTmFtZSgpO1xuXHQgICAgICAgICAgICAgICAgZXhwciA9IHRoaXMuZmluYWxpemUodGhpcy5zdGFydE5vZGUoc3RhcnRUb2tlbiksIG5ldyBOb2RlLlN0YXRpY01lbWJlckV4cHJlc3Npb24oZXhwciwgcHJvcGVydHkpKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmICh0aGlzLm1hdGNoKCcoJykpIHtcblx0ICAgICAgICAgICAgICAgIHZhciBhc3luY0Fycm93ID0gbWF5YmVBc3luYyAmJiAoc3RhcnRUb2tlbi5saW5lTnVtYmVyID09PSB0aGlzLmxvb2thaGVhZC5saW5lTnVtYmVyKTtcblx0ICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0JpbmRpbmdFbGVtZW50ID0gZmFsc2U7XG5cdCAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNBc3NpZ25tZW50VGFyZ2V0ID0gZmFsc2U7XG5cdCAgICAgICAgICAgICAgICB2YXIgYXJncyA9IGFzeW5jQXJyb3cgPyB0aGlzLnBhcnNlQXN5bmNBcmd1bWVudHMoKSA6IHRoaXMucGFyc2VBcmd1bWVudHMoKTtcblx0ICAgICAgICAgICAgICAgIGV4cHIgPSB0aGlzLmZpbmFsaXplKHRoaXMuc3RhcnROb2RlKHN0YXJ0VG9rZW4pLCBuZXcgTm9kZS5DYWxsRXhwcmVzc2lvbihleHByLCBhcmdzKSk7XG5cdCAgICAgICAgICAgICAgICBpZiAoYXN5bmNBcnJvdyAmJiB0aGlzLm1hdGNoKCc9PicpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgKytpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVpbnRlcnByZXRFeHByZXNzaW9uQXNQYXR0ZXJuKGFyZ3NbaV0pO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICBleHByID0ge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB0eXBlOiBBcnJvd1BhcmFtZXRlclBsYWNlSG9sZGVyLFxuXHQgICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IGFyZ3MsXG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGFzeW5jOiB0cnVlXG5cdCAgICAgICAgICAgICAgICAgICAgfTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmICh0aGlzLm1hdGNoKCdbJykpIHtcblx0ICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0JpbmRpbmdFbGVtZW50ID0gZmFsc2U7XG5cdCAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNBc3NpZ25tZW50VGFyZ2V0ID0gdHJ1ZTtcblx0ICAgICAgICAgICAgICAgIHRoaXMuZXhwZWN0KCdbJyk7XG5cdCAgICAgICAgICAgICAgICB2YXIgcHJvcGVydHkgPSB0aGlzLmlzb2xhdGVDb3ZlckdyYW1tYXIodGhpcy5wYXJzZUV4cHJlc3Npb24pO1xuXHQgICAgICAgICAgICAgICAgdGhpcy5leHBlY3QoJ10nKTtcblx0ICAgICAgICAgICAgICAgIGV4cHIgPSB0aGlzLmZpbmFsaXplKHRoaXMuc3RhcnROb2RlKHN0YXJ0VG9rZW4pLCBuZXcgTm9kZS5Db21wdXRlZE1lbWJlckV4cHJlc3Npb24oZXhwciwgcHJvcGVydHkpKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmICh0aGlzLmxvb2thaGVhZC50eXBlID09PSAxMCAvKiBUZW1wbGF0ZSAqLyAmJiB0aGlzLmxvb2thaGVhZC5oZWFkKSB7XG5cdCAgICAgICAgICAgICAgICB2YXIgcXVhc2kgPSB0aGlzLnBhcnNlVGVtcGxhdGVMaXRlcmFsKCk7XG5cdCAgICAgICAgICAgICAgICBleHByID0gdGhpcy5maW5hbGl6ZSh0aGlzLnN0YXJ0Tm9kZShzdGFydFRva2VuKSwgbmV3IE5vZGUuVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uKGV4cHIsIHF1YXNpKSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICB0aGlzLmNvbnRleHQuYWxsb3dJbiA9IHByZXZpb3VzQWxsb3dJbjtcblx0ICAgICAgICByZXR1cm4gZXhwcjtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlU3VwZXIgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB0aGlzLmV4cGVjdEtleXdvcmQoJ3N1cGVyJyk7XG5cdCAgICAgICAgaWYgKCF0aGlzLm1hdGNoKCdbJykgJiYgIXRoaXMubWF0Y2goJy4nKSkge1xuXHQgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKHRoaXMubG9va2FoZWFkKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuU3VwZXIoKSk7XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZUxlZnRIYW5kU2lkZUV4cHJlc3Npb24gPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgYXNzZXJ0XzEuYXNzZXJ0KHRoaXMuY29udGV4dC5hbGxvd0luLCAnY2FsbGVlIG9mIG5ldyBleHByZXNzaW9uIGFsd2F5cyBhbGxvdyBpbiBrZXl3b3JkLicpO1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5zdGFydE5vZGUodGhpcy5sb29rYWhlYWQpO1xuXHQgICAgICAgIHZhciBleHByID0gKHRoaXMubWF0Y2hLZXl3b3JkKCdzdXBlcicpICYmIHRoaXMuY29udGV4dC5pbkZ1bmN0aW9uQm9keSkgPyB0aGlzLnBhcnNlU3VwZXIoKSA6XG5cdCAgICAgICAgICAgIHRoaXMuaW5oZXJpdENvdmVyR3JhbW1hcih0aGlzLm1hdGNoS2V5d29yZCgnbmV3JykgPyB0aGlzLnBhcnNlTmV3RXhwcmVzc2lvbiA6IHRoaXMucGFyc2VQcmltYXJ5RXhwcmVzc2lvbik7XG5cdCAgICAgICAgd2hpbGUgKHRydWUpIHtcblx0ICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2goJ1snKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmlzQmluZGluZ0VsZW1lbnQgPSBmYWxzZTtcblx0ICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0Fzc2lnbm1lbnRUYXJnZXQgPSB0cnVlO1xuXHQgICAgICAgICAgICAgICAgdGhpcy5leHBlY3QoJ1snKTtcblx0ICAgICAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IHRoaXMuaXNvbGF0ZUNvdmVyR3JhbW1hcih0aGlzLnBhcnNlRXhwcmVzc2lvbik7XG5cdCAgICAgICAgICAgICAgICB0aGlzLmV4cGVjdCgnXScpO1xuXHQgICAgICAgICAgICAgICAgZXhwciA9IHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuQ29tcHV0ZWRNZW1iZXJFeHByZXNzaW9uKGV4cHIsIHByb3BlcnR5KSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5tYXRjaCgnLicpKSB7XG5cdCAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNCaW5kaW5nRWxlbWVudCA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmlzQXNzaWdubWVudFRhcmdldCA9IHRydWU7XG5cdCAgICAgICAgICAgICAgICB0aGlzLmV4cGVjdCgnLicpO1xuXHQgICAgICAgICAgICAgICAgdmFyIHByb3BlcnR5ID0gdGhpcy5wYXJzZUlkZW50aWZpZXJOYW1lKCk7XG5cdCAgICAgICAgICAgICAgICBleHByID0gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5TdGF0aWNNZW1iZXJFeHByZXNzaW9uKGV4cHIsIHByb3BlcnR5KSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5sb29rYWhlYWQudHlwZSA9PT0gMTAgLyogVGVtcGxhdGUgKi8gJiYgdGhpcy5sb29rYWhlYWQuaGVhZCkge1xuXHQgICAgICAgICAgICAgICAgdmFyIHF1YXNpID0gdGhpcy5wYXJzZVRlbXBsYXRlTGl0ZXJhbCgpO1xuXHQgICAgICAgICAgICAgICAgZXhwciA9IHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uKGV4cHIsIHF1YXNpKSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gZXhwcjtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy11cGRhdGUtZXhwcmVzc2lvbnNcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VVcGRhdGVFeHByZXNzaW9uID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBleHByO1xuXHQgICAgICAgIHZhciBzdGFydFRva2VuID0gdGhpcy5sb29rYWhlYWQ7XG5cdCAgICAgICAgaWYgKHRoaXMubWF0Y2goJysrJykgfHwgdGhpcy5tYXRjaCgnLS0nKSkge1xuXHQgICAgICAgICAgICB2YXIgbm9kZSA9IHRoaXMuc3RhcnROb2RlKHN0YXJ0VG9rZW4pO1xuXHQgICAgICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICBleHByID0gdGhpcy5pbmhlcml0Q292ZXJHcmFtbWFyKHRoaXMucGFyc2VVbmFyeUV4cHJlc3Npb24pO1xuXHQgICAgICAgICAgICBpZiAodGhpcy5jb250ZXh0LnN0cmljdCAmJiBleHByLnR5cGUgPT09IHN5bnRheF8xLlN5bnRheC5JZGVudGlmaWVyICYmIHRoaXMuc2Nhbm5lci5pc1Jlc3RyaWN0ZWRXb3JkKGV4cHIubmFtZSkpIHtcblx0ICAgICAgICAgICAgICAgIHRoaXMudG9sZXJhdGVFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLlN0cmljdExIU1ByZWZpeCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgaWYgKCF0aGlzLmNvbnRleHQuaXNBc3NpZ25tZW50VGFyZ2V0KSB7XG5cdCAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlRXJyb3IobWVzc2FnZXNfMS5NZXNzYWdlcy5JbnZhbGlkTEhTSW5Bc3NpZ25tZW50KTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB2YXIgcHJlZml4ID0gdHJ1ZTtcblx0ICAgICAgICAgICAgZXhwciA9IHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuVXBkYXRlRXhwcmVzc2lvbih0b2tlbi52YWx1ZSwgZXhwciwgcHJlZml4KSk7XG5cdCAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0Fzc2lnbm1lbnRUYXJnZXQgPSBmYWxzZTtcblx0ICAgICAgICAgICAgdGhpcy5jb250ZXh0LmlzQmluZGluZ0VsZW1lbnQgPSBmYWxzZTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgIGV4cHIgPSB0aGlzLmluaGVyaXRDb3ZlckdyYW1tYXIodGhpcy5wYXJzZUxlZnRIYW5kU2lkZUV4cHJlc3Npb25BbGxvd0NhbGwpO1xuXHQgICAgICAgICAgICBpZiAoIXRoaXMuaGFzTGluZVRlcm1pbmF0b3IgJiYgdGhpcy5sb29rYWhlYWQudHlwZSA9PT0gNyAvKiBQdW5jdHVhdG9yICovKSB7XG5cdCAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXRjaCgnKysnKSB8fCB0aGlzLm1hdGNoKCctLScpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3QgJiYgZXhwci50eXBlID09PSBzeW50YXhfMS5TeW50YXguSWRlbnRpZmllciAmJiB0aGlzLnNjYW5uZXIuaXNSZXN0cmljdGVkV29yZChleHByLm5hbWUpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudG9sZXJhdGVFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLlN0cmljdExIU1Bvc3RmaXgpO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY29udGV4dC5pc0Fzc2lnbm1lbnRUYXJnZXQpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2xlcmF0ZUVycm9yKG1lc3NhZ2VzXzEuTWVzc2FnZXMuSW52YWxpZExIU0luQXNzaWdubWVudCk7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0Fzc2lnbm1lbnRUYXJnZXQgPSBmYWxzZTtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNCaW5kaW5nRWxlbWVudCA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgICAgIHZhciBvcGVyYXRvciA9IHRoaXMubmV4dFRva2VuKCkudmFsdWU7XG5cdCAgICAgICAgICAgICAgICAgICAgdmFyIHByZWZpeCA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgICAgIGV4cHIgPSB0aGlzLmZpbmFsaXplKHRoaXMuc3RhcnROb2RlKHN0YXJ0VG9rZW4pLCBuZXcgTm9kZS5VcGRhdGVFeHByZXNzaW9uKG9wZXJhdG9yLCBleHByLCBwcmVmaXgpKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gZXhwcjtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy11bmFyeS1vcGVyYXRvcnNcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VBd2FpdEV4cHJlc3Npb24gPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgIHZhciBhcmd1bWVudCA9IHRoaXMucGFyc2VVbmFyeUV4cHJlc3Npb24oKTtcblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5Bd2FpdEV4cHJlc3Npb24oYXJndW1lbnQpKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlVW5hcnlFeHByZXNzaW9uID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBleHByO1xuXHQgICAgICAgIGlmICh0aGlzLm1hdGNoKCcrJykgfHwgdGhpcy5tYXRjaCgnLScpIHx8IHRoaXMubWF0Y2goJ34nKSB8fCB0aGlzLm1hdGNoKCchJykgfHxcblx0ICAgICAgICAgICAgdGhpcy5tYXRjaEtleXdvcmQoJ2RlbGV0ZScpIHx8IHRoaXMubWF0Y2hLZXl3b3JkKCd2b2lkJykgfHwgdGhpcy5tYXRjaEtleXdvcmQoJ3R5cGVvZicpKSB7XG5cdCAgICAgICAgICAgIHZhciBub2RlID0gdGhpcy5zdGFydE5vZGUodGhpcy5sb29rYWhlYWQpO1xuXHQgICAgICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICBleHByID0gdGhpcy5pbmhlcml0Q292ZXJHcmFtbWFyKHRoaXMucGFyc2VVbmFyeUV4cHJlc3Npb24pO1xuXHQgICAgICAgICAgICBleHByID0gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5VbmFyeUV4cHJlc3Npb24odG9rZW4udmFsdWUsIGV4cHIpKTtcblx0ICAgICAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3QgJiYgZXhwci5vcGVyYXRvciA9PT0gJ2RlbGV0ZScgJiYgZXhwci5hcmd1bWVudC50eXBlID09PSBzeW50YXhfMS5TeW50YXguSWRlbnRpZmllcikge1xuXHQgICAgICAgICAgICAgICAgdGhpcy50b2xlcmF0ZUVycm9yKG1lc3NhZ2VzXzEuTWVzc2FnZXMuU3RyaWN0RGVsZXRlKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNBc3NpZ25tZW50VGFyZ2V0ID0gZmFsc2U7XG5cdCAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0JpbmRpbmdFbGVtZW50ID0gZmFsc2U7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGVsc2UgaWYgKHRoaXMuY29udGV4dC5hd2FpdCAmJiB0aGlzLm1hdGNoQ29udGV4dHVhbEtleXdvcmQoJ2F3YWl0JykpIHtcblx0ICAgICAgICAgICAgZXhwciA9IHRoaXMucGFyc2VBd2FpdEV4cHJlc3Npb24oKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgIGV4cHIgPSB0aGlzLnBhcnNlVXBkYXRlRXhwcmVzc2lvbigpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gZXhwcjtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlRXhwb25lbnRpYXRpb25FeHByZXNzaW9uID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBzdGFydFRva2VuID0gdGhpcy5sb29rYWhlYWQ7XG5cdCAgICAgICAgdmFyIGV4cHIgPSB0aGlzLmluaGVyaXRDb3ZlckdyYW1tYXIodGhpcy5wYXJzZVVuYXJ5RXhwcmVzc2lvbik7XG5cdCAgICAgICAgaWYgKGV4cHIudHlwZSAhPT0gc3ludGF4XzEuU3ludGF4LlVuYXJ5RXhwcmVzc2lvbiAmJiB0aGlzLm1hdGNoKCcqKicpKSB7XG5cdCAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgIHRoaXMuY29udGV4dC5pc0Fzc2lnbm1lbnRUYXJnZXQgPSBmYWxzZTtcblx0ICAgICAgICAgICAgdGhpcy5jb250ZXh0LmlzQmluZGluZ0VsZW1lbnQgPSBmYWxzZTtcblx0ICAgICAgICAgICAgdmFyIGxlZnQgPSBleHByO1xuXHQgICAgICAgICAgICB2YXIgcmlnaHQgPSB0aGlzLmlzb2xhdGVDb3ZlckdyYW1tYXIodGhpcy5wYXJzZUV4cG9uZW50aWF0aW9uRXhwcmVzc2lvbik7XG5cdCAgICAgICAgICAgIGV4cHIgPSB0aGlzLmZpbmFsaXplKHRoaXMuc3RhcnROb2RlKHN0YXJ0VG9rZW4pLCBuZXcgTm9kZS5CaW5hcnlFeHByZXNzaW9uKCcqKicsIGxlZnQsIHJpZ2h0KSk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiBleHByO1xuXHQgICAgfTtcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWV4cC1vcGVyYXRvclxuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtbXVsdGlwbGljYXRpdmUtb3BlcmF0b3JzXG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1hZGRpdGl2ZS1vcGVyYXRvcnNcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWJpdHdpc2Utc2hpZnQtb3BlcmF0b3JzXG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1yZWxhdGlvbmFsLW9wZXJhdG9yc1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtZXF1YWxpdHktb3BlcmF0b3JzXG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1iaW5hcnktYml0d2lzZS1vcGVyYXRvcnNcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWJpbmFyeS1sb2dpY2FsLW9wZXJhdG9yc1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5iaW5hcnlQcmVjZWRlbmNlID0gZnVuY3Rpb24gKHRva2VuKSB7XG5cdCAgICAgICAgdmFyIG9wID0gdG9rZW4udmFsdWU7XG5cdCAgICAgICAgdmFyIHByZWNlZGVuY2U7XG5cdCAgICAgICAgaWYgKHRva2VuLnR5cGUgPT09IDcgLyogUHVuY3R1YXRvciAqLykge1xuXHQgICAgICAgICAgICBwcmVjZWRlbmNlID0gdGhpcy5vcGVyYXRvclByZWNlZGVuY2Vbb3BdIHx8IDA7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGVsc2UgaWYgKHRva2VuLnR5cGUgPT09IDQgLyogS2V5d29yZCAqLykge1xuXHQgICAgICAgICAgICBwcmVjZWRlbmNlID0gKG9wID09PSAnaW5zdGFuY2VvZicgfHwgKHRoaXMuY29udGV4dC5hbGxvd0luICYmIG9wID09PSAnaW4nKSkgPyA3IDogMDtcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgIHByZWNlZGVuY2UgPSAwO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gcHJlY2VkZW5jZTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlQmluYXJ5RXhwcmVzc2lvbiA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgc3RhcnRUb2tlbiA9IHRoaXMubG9va2FoZWFkO1xuXHQgICAgICAgIHZhciBleHByID0gdGhpcy5pbmhlcml0Q292ZXJHcmFtbWFyKHRoaXMucGFyc2VFeHBvbmVudGlhdGlvbkV4cHJlc3Npb24pO1xuXHQgICAgICAgIHZhciB0b2tlbiA9IHRoaXMubG9va2FoZWFkO1xuXHQgICAgICAgIHZhciBwcmVjID0gdGhpcy5iaW5hcnlQcmVjZWRlbmNlKHRva2VuKTtcblx0ICAgICAgICBpZiAocHJlYyA+IDApIHtcblx0ICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgdGhpcy5jb250ZXh0LmlzQXNzaWdubWVudFRhcmdldCA9IGZhbHNlO1xuXHQgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNCaW5kaW5nRWxlbWVudCA9IGZhbHNlO1xuXHQgICAgICAgICAgICB2YXIgbWFya2VycyA9IFtzdGFydFRva2VuLCB0aGlzLmxvb2thaGVhZF07XG5cdCAgICAgICAgICAgIHZhciBsZWZ0ID0gZXhwcjtcblx0ICAgICAgICAgICAgdmFyIHJpZ2h0ID0gdGhpcy5pc29sYXRlQ292ZXJHcmFtbWFyKHRoaXMucGFyc2VFeHBvbmVudGlhdGlvbkV4cHJlc3Npb24pO1xuXHQgICAgICAgICAgICB2YXIgc3RhY2sgPSBbbGVmdCwgdG9rZW4udmFsdWUsIHJpZ2h0XTtcblx0ICAgICAgICAgICAgdmFyIHByZWNlZGVuY2VzID0gW3ByZWNdO1xuXHQgICAgICAgICAgICB3aGlsZSAodHJ1ZSkge1xuXHQgICAgICAgICAgICAgICAgcHJlYyA9IHRoaXMuYmluYXJ5UHJlY2VkZW5jZSh0aGlzLmxvb2thaGVhZCk7XG5cdCAgICAgICAgICAgICAgICBpZiAocHJlYyA8PSAwKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAvLyBSZWR1Y2U6IG1ha2UgYSBiaW5hcnkgZXhwcmVzc2lvbiBmcm9tIHRoZSB0aHJlZSB0b3Btb3N0IGVudHJpZXMuXG5cdCAgICAgICAgICAgICAgICB3aGlsZSAoKHN0YWNrLmxlbmd0aCA+IDIpICYmIChwcmVjIDw9IHByZWNlZGVuY2VzW3ByZWNlZGVuY2VzLmxlbmd0aCAtIDFdKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIHJpZ2h0ID0gc3RhY2sucG9wKCk7XG5cdCAgICAgICAgICAgICAgICAgICAgdmFyIG9wZXJhdG9yID0gc3RhY2sucG9wKCk7XG5cdCAgICAgICAgICAgICAgICAgICAgcHJlY2VkZW5jZXMucG9wKCk7XG5cdCAgICAgICAgICAgICAgICAgICAgbGVmdCA9IHN0YWNrLnBvcCgpO1xuXHQgICAgICAgICAgICAgICAgICAgIG1hcmtlcnMucG9wKCk7XG5cdCAgICAgICAgICAgICAgICAgICAgdmFyIG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZShtYXJrZXJzW21hcmtlcnMubGVuZ3RoIC0gMV0pO1xuXHQgICAgICAgICAgICAgICAgICAgIHN0YWNrLnB1c2godGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5CaW5hcnlFeHByZXNzaW9uKG9wZXJhdG9yLCBsZWZ0LCByaWdodCkpKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIC8vIFNoaWZ0LlxuXHQgICAgICAgICAgICAgICAgc3RhY2sucHVzaCh0aGlzLm5leHRUb2tlbigpLnZhbHVlKTtcblx0ICAgICAgICAgICAgICAgIHByZWNlZGVuY2VzLnB1c2gocHJlYyk7XG5cdCAgICAgICAgICAgICAgICBtYXJrZXJzLnB1c2godGhpcy5sb29rYWhlYWQpO1xuXHQgICAgICAgICAgICAgICAgc3RhY2sucHVzaCh0aGlzLmlzb2xhdGVDb3ZlckdyYW1tYXIodGhpcy5wYXJzZUV4cG9uZW50aWF0aW9uRXhwcmVzc2lvbikpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIC8vIEZpbmFsIHJlZHVjZSB0byBjbGVhbi11cCB0aGUgc3RhY2suXG5cdCAgICAgICAgICAgIHZhciBpID0gc3RhY2subGVuZ3RoIC0gMTtcblx0ICAgICAgICAgICAgZXhwciA9IHN0YWNrW2ldO1xuXHQgICAgICAgICAgICB2YXIgbGFzdE1hcmtlciA9IG1hcmtlcnMucG9wKCk7XG5cdCAgICAgICAgICAgIHdoaWxlIChpID4gMSkge1xuXHQgICAgICAgICAgICAgICAgdmFyIG1hcmtlciA9IG1hcmtlcnMucG9wKCk7XG5cdCAgICAgICAgICAgICAgICB2YXIgbGFzdExpbmVTdGFydCA9IGxhc3RNYXJrZXIgJiYgbGFzdE1hcmtlci5saW5lU3RhcnQ7XG5cdCAgICAgICAgICAgICAgICB2YXIgbm9kZSA9IHRoaXMuc3RhcnROb2RlKG1hcmtlciwgbGFzdExpbmVTdGFydCk7XG5cdCAgICAgICAgICAgICAgICB2YXIgb3BlcmF0b3IgPSBzdGFja1tpIC0gMV07XG5cdCAgICAgICAgICAgICAgICBleHByID0gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5CaW5hcnlFeHByZXNzaW9uKG9wZXJhdG9yLCBzdGFja1tpIC0gMl0sIGV4cHIpKTtcblx0ICAgICAgICAgICAgICAgIGkgLT0gMjtcblx0ICAgICAgICAgICAgICAgIGxhc3RNYXJrZXIgPSBtYXJrZXI7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIGV4cHI7XG5cdCAgICB9O1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtY29uZGl0aW9uYWwtb3BlcmF0b3Jcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VDb25kaXRpb25hbEV4cHJlc3Npb24gPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIHN0YXJ0VG9rZW4gPSB0aGlzLmxvb2thaGVhZDtcblx0ICAgICAgICB2YXIgZXhwciA9IHRoaXMuaW5oZXJpdENvdmVyR3JhbW1hcih0aGlzLnBhcnNlQmluYXJ5RXhwcmVzc2lvbik7XG5cdCAgICAgICAgaWYgKHRoaXMubWF0Y2goJz8nKSkge1xuXHQgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICB2YXIgcHJldmlvdXNBbGxvd0luID0gdGhpcy5jb250ZXh0LmFsbG93SW47XG5cdCAgICAgICAgICAgIHRoaXMuY29udGV4dC5hbGxvd0luID0gdHJ1ZTtcblx0ICAgICAgICAgICAgdmFyIGNvbnNlcXVlbnQgPSB0aGlzLmlzb2xhdGVDb3ZlckdyYW1tYXIodGhpcy5wYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKTtcblx0ICAgICAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93SW4gPSBwcmV2aW91c0FsbG93SW47XG5cdCAgICAgICAgICAgIHRoaXMuZXhwZWN0KCc6Jyk7XG5cdCAgICAgICAgICAgIHZhciBhbHRlcm5hdGUgPSB0aGlzLmlzb2xhdGVDb3ZlckdyYW1tYXIodGhpcy5wYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKTtcblx0ICAgICAgICAgICAgZXhwciA9IHRoaXMuZmluYWxpemUodGhpcy5zdGFydE5vZGUoc3RhcnRUb2tlbiksIG5ldyBOb2RlLkNvbmRpdGlvbmFsRXhwcmVzc2lvbihleHByLCBjb25zZXF1ZW50LCBhbHRlcm5hdGUpKTtcblx0ICAgICAgICAgICAgdGhpcy5jb250ZXh0LmlzQXNzaWdubWVudFRhcmdldCA9IGZhbHNlO1xuXHQgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNCaW5kaW5nRWxlbWVudCA9IGZhbHNlO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gZXhwcjtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1hc3NpZ25tZW50LW9wZXJhdG9yc1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5jaGVja1BhdHRlcm5QYXJhbSA9IGZ1bmN0aW9uIChvcHRpb25zLCBwYXJhbSkge1xuXHQgICAgICAgIHN3aXRjaCAocGFyYW0udHlwZSkge1xuXHQgICAgICAgICAgICBjYXNlIHN5bnRheF8xLlN5bnRheC5JZGVudGlmaWVyOlxuXHQgICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZVBhcmFtKG9wdGlvbnMsIHBhcmFtLCBwYXJhbS5uYW1lKTtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBjYXNlIHN5bnRheF8xLlN5bnRheC5SZXN0RWxlbWVudDpcblx0ICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tQYXR0ZXJuUGFyYW0ob3B0aW9ucywgcGFyYW0uYXJndW1lbnQpO1xuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIGNhc2Ugc3ludGF4XzEuU3ludGF4LkFzc2lnbm1lbnRQYXR0ZXJuOlxuXHQgICAgICAgICAgICAgICAgdGhpcy5jaGVja1BhdHRlcm5QYXJhbShvcHRpb25zLCBwYXJhbS5sZWZ0KTtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBjYXNlIHN5bnRheF8xLlN5bnRheC5BcnJheVBhdHRlcm46XG5cdCAgICAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBhcmFtLmVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgaWYgKHBhcmFtLmVsZW1lbnRzW2ldICE9PSBudWxsKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuY2hlY2tQYXR0ZXJuUGFyYW0ob3B0aW9ucywgcGFyYW0uZWxlbWVudHNbaV0pO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBjYXNlIHN5bnRheF8xLlN5bnRheC5PYmplY3RQYXR0ZXJuOlxuXHQgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJhbS5wcm9wZXJ0aWVzLmxlbmd0aDsgaSsrKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5jaGVja1BhdHRlcm5QYXJhbShvcHRpb25zLCBwYXJhbS5wcm9wZXJ0aWVzW2ldLnZhbHVlKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBkZWZhdWx0OlxuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIG9wdGlvbnMuc2ltcGxlID0gb3B0aW9ucy5zaW1wbGUgJiYgKHBhcmFtIGluc3RhbmNlb2YgTm9kZS5JZGVudGlmaWVyKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnJlaW50ZXJwcmV0QXNDb3ZlckZvcm1hbHNMaXN0ID0gZnVuY3Rpb24gKGV4cHIpIHtcblx0ICAgICAgICB2YXIgcGFyYW1zID0gW2V4cHJdO1xuXHQgICAgICAgIHZhciBvcHRpb25zO1xuXHQgICAgICAgIHZhciBhc3luY0Fycm93ID0gZmFsc2U7XG5cdCAgICAgICAgc3dpdGNoIChleHByLnR5cGUpIHtcblx0ICAgICAgICAgICAgY2FzZSBzeW50YXhfMS5TeW50YXguSWRlbnRpZmllcjpcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBjYXNlIEFycm93UGFyYW1ldGVyUGxhY2VIb2xkZXI6XG5cdCAgICAgICAgICAgICAgICBwYXJhbXMgPSBleHByLnBhcmFtcztcblx0ICAgICAgICAgICAgICAgIGFzeW5jQXJyb3cgPSBleHByLmFzeW5jO1xuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIGRlZmF1bHQ6XG5cdCAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcblx0ICAgICAgICB9XG5cdCAgICAgICAgb3B0aW9ucyA9IHtcblx0ICAgICAgICAgICAgc2ltcGxlOiB0cnVlLFxuXHQgICAgICAgICAgICBwYXJhbVNldDoge31cblx0ICAgICAgICB9O1xuXHQgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGFyYW1zLmxlbmd0aDsgKytpKSB7XG5cdCAgICAgICAgICAgIHZhciBwYXJhbSA9IHBhcmFtc1tpXTtcblx0ICAgICAgICAgICAgaWYgKHBhcmFtLnR5cGUgPT09IHN5bnRheF8xLlN5bnRheC5Bc3NpZ25tZW50UGF0dGVybikge1xuXHQgICAgICAgICAgICAgICAgaWYgKHBhcmFtLnJpZ2h0LnR5cGUgPT09IHN5bnRheF8xLlN5bnRheC5ZaWVsZEV4cHJlc3Npb24pIHtcblx0ICAgICAgICAgICAgICAgICAgICBpZiAocGFyYW0ucmlnaHQuYXJndW1lbnQpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbih0aGlzLmxvb2thaGVhZCk7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIHBhcmFtLnJpZ2h0LnR5cGUgPSBzeW50YXhfMS5TeW50YXguSWRlbnRpZmllcjtcblx0ICAgICAgICAgICAgICAgICAgICBwYXJhbS5yaWdodC5uYW1lID0gJ3lpZWxkJztcblx0ICAgICAgICAgICAgICAgICAgICBkZWxldGUgcGFyYW0ucmlnaHQuYXJndW1lbnQ7XG5cdCAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHBhcmFtLnJpZ2h0LmRlbGVnYXRlO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2UgaWYgKGFzeW5jQXJyb3cgJiYgcGFyYW0udHlwZSA9PT0gc3ludGF4XzEuU3ludGF4LklkZW50aWZpZXIgJiYgcGFyYW0ubmFtZSA9PT0gJ2F3YWl0Jykge1xuXHQgICAgICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbih0aGlzLmxvb2thaGVhZCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgdGhpcy5jaGVja1BhdHRlcm5QYXJhbShvcHRpb25zLCBwYXJhbSk7XG5cdCAgICAgICAgICAgIHBhcmFtc1tpXSA9IHBhcmFtO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAodGhpcy5jb250ZXh0LnN0cmljdCB8fCAhdGhpcy5jb250ZXh0LmFsbG93WWllbGQpIHtcblx0ICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBwYXJhbXMubGVuZ3RoOyArK2kpIHtcblx0ICAgICAgICAgICAgICAgIHZhciBwYXJhbSA9IHBhcmFtc1tpXTtcblx0ICAgICAgICAgICAgICAgIGlmIChwYXJhbS50eXBlID09PSBzeW50YXhfMS5TeW50YXguWWllbGRFeHByZXNzaW9uKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbih0aGlzLmxvb2thaGVhZCk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgaWYgKG9wdGlvbnMubWVzc2FnZSA9PT0gbWVzc2FnZXNfMS5NZXNzYWdlcy5TdHJpY3RQYXJhbUR1cGUpIHtcblx0ICAgICAgICAgICAgdmFyIHRva2VuID0gdGhpcy5jb250ZXh0LnN0cmljdCA/IG9wdGlvbnMuc3RyaWN0ZWQgOiBvcHRpb25zLmZpcnN0UmVzdHJpY3RlZDtcblx0ICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbih0b2tlbiwgb3B0aW9ucy5tZXNzYWdlKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHtcblx0ICAgICAgICAgICAgc2ltcGxlOiBvcHRpb25zLnNpbXBsZSxcblx0ICAgICAgICAgICAgcGFyYW1zOiBwYXJhbXMsXG5cdCAgICAgICAgICAgIHN0cmljdGVkOiBvcHRpb25zLnN0cmljdGVkLFxuXHQgICAgICAgICAgICBmaXJzdFJlc3RyaWN0ZWQ6IG9wdGlvbnMuZmlyc3RSZXN0cmljdGVkLFxuXHQgICAgICAgICAgICBtZXNzYWdlOiBvcHRpb25zLm1lc3NhZ2Vcblx0ICAgICAgICB9O1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbiA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgZXhwcjtcblx0ICAgICAgICBpZiAoIXRoaXMuY29udGV4dC5hbGxvd1lpZWxkICYmIHRoaXMubWF0Y2hLZXl3b3JkKCd5aWVsZCcpKSB7XG5cdCAgICAgICAgICAgIGV4cHIgPSB0aGlzLnBhcnNlWWllbGRFeHByZXNzaW9uKCk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICB2YXIgc3RhcnRUb2tlbiA9IHRoaXMubG9va2FoZWFkO1xuXHQgICAgICAgICAgICB2YXIgdG9rZW4gPSBzdGFydFRva2VuO1xuXHQgICAgICAgICAgICBleHByID0gdGhpcy5wYXJzZUNvbmRpdGlvbmFsRXhwcmVzc2lvbigpO1xuXHQgICAgICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gMyAvKiBJZGVudGlmaWVyICovICYmICh0b2tlbi5saW5lTnVtYmVyID09PSB0aGlzLmxvb2thaGVhZC5saW5lTnVtYmVyKSAmJiB0b2tlbi52YWx1ZSA9PT0gJ2FzeW5jJykge1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMubG9va2FoZWFkLnR5cGUgPT09IDMgLyogSWRlbnRpZmllciAqLyB8fCB0aGlzLm1hdGNoS2V5d29yZCgneWllbGQnKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIHZhciBhcmcgPSB0aGlzLnBhcnNlUHJpbWFyeUV4cHJlc3Npb24oKTtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLnJlaW50ZXJwcmV0RXhwcmVzc2lvbkFzUGF0dGVybihhcmcpO1xuXHQgICAgICAgICAgICAgICAgICAgIGV4cHIgPSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU6IEFycm93UGFyYW1ldGVyUGxhY2VIb2xkZXIsXG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHBhcmFtczogW2FyZ10sXG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGFzeW5jOiB0cnVlXG5cdCAgICAgICAgICAgICAgICAgICAgfTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBpZiAoZXhwci50eXBlID09PSBBcnJvd1BhcmFtZXRlclBsYWNlSG9sZGVyIHx8IHRoaXMubWF0Y2goJz0+JykpIHtcblx0ICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWFycm93LWZ1bmN0aW9uLWRlZmluaXRpb25zXG5cdCAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNBc3NpZ25tZW50VGFyZ2V0ID0gZmFsc2U7XG5cdCAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNCaW5kaW5nRWxlbWVudCA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgdmFyIGlzQXN5bmMgPSBleHByLmFzeW5jO1xuXHQgICAgICAgICAgICAgICAgdmFyIGxpc3QgPSB0aGlzLnJlaW50ZXJwcmV0QXNDb3ZlckZvcm1hbHNMaXN0KGV4cHIpO1xuXHQgICAgICAgICAgICAgICAgaWYgKGxpc3QpIHtcblx0ICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5oYXNMaW5lVGVybWluYXRvcikge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHRoaXMubG9va2FoZWFkKTtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmZpcnN0Q292ZXJJbml0aWFsaXplZE5hbWVFcnJvciA9IG51bGw7XG5cdCAgICAgICAgICAgICAgICAgICAgdmFyIHByZXZpb3VzU3RyaWN0ID0gdGhpcy5jb250ZXh0LnN0cmljdDtcblx0ICAgICAgICAgICAgICAgICAgICB2YXIgcHJldmlvdXNBbGxvd1N0cmljdERpcmVjdGl2ZSA9IHRoaXMuY29udGV4dC5hbGxvd1N0cmljdERpcmVjdGl2ZTtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuYWxsb3dTdHJpY3REaXJlY3RpdmUgPSBsaXN0LnNpbXBsZTtcblx0ICAgICAgICAgICAgICAgICAgICB2YXIgcHJldmlvdXNBbGxvd1lpZWxkID0gdGhpcy5jb250ZXh0LmFsbG93WWllbGQ7XG5cdCAgICAgICAgICAgICAgICAgICAgdmFyIHByZXZpb3VzQXdhaXQgPSB0aGlzLmNvbnRleHQuYXdhaXQ7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93WWllbGQgPSB0cnVlO1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5hd2FpdCA9IGlzQXN5bmM7XG5cdCAgICAgICAgICAgICAgICAgICAgdmFyIG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZShzdGFydFRva2VuKTtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLmV4cGVjdCgnPT4nKTtcblx0ICAgICAgICAgICAgICAgICAgICB2YXIgYm9keSA9IHZvaWQgMDtcblx0ICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXRjaCgneycpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwcmV2aW91c0FsbG93SW4gPSB0aGlzLmNvbnRleHQuYWxsb3dJbjtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93SW4gPSB0cnVlO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBib2R5ID0gdGhpcy5wYXJzZUZ1bmN0aW9uU291cmNlRWxlbWVudHMoKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93SW4gPSBwcmV2aW91c0FsbG93SW47XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBib2R5ID0gdGhpcy5pc29sYXRlQ292ZXJHcmFtbWFyKHRoaXMucGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIHZhciBleHByZXNzaW9uID0gYm9keS50eXBlICE9PSBzeW50YXhfMS5TeW50YXguQmxvY2tTdGF0ZW1lbnQ7XG5cdCAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3QgJiYgbGlzdC5maXJzdFJlc3RyaWN0ZWQpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbihsaXN0LmZpcnN0UmVzdHJpY3RlZCwgbGlzdC5tZXNzYWdlKTtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3QgJiYgbGlzdC5zdHJpY3RlZCkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKGxpc3Quc3RyaWN0ZWQsIGxpc3QubWVzc2FnZSk7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIGV4cHIgPSBpc0FzeW5jID8gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5Bc3luY0Fycm93RnVuY3Rpb25FeHByZXNzaW9uKGxpc3QucGFyYW1zLCBib2R5LCBleHByZXNzaW9uKSkgOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLkFycm93RnVuY3Rpb25FeHByZXNzaW9uKGxpc3QucGFyYW1zLCBib2R5LCBleHByZXNzaW9uKSk7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LnN0cmljdCA9IHByZXZpb3VzU3RyaWN0O1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5hbGxvd1N0cmljdERpcmVjdGl2ZSA9IHByZXZpb3VzQWxsb3dTdHJpY3REaXJlY3RpdmU7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93WWllbGQgPSBwcmV2aW91c0FsbG93WWllbGQ7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmF3YWl0ID0gcHJldmlvdXNBd2FpdDtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoQXNzaWduKCkpIHtcblx0ICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY29udGV4dC5pc0Fzc2lnbm1lbnRUYXJnZXQpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2xlcmF0ZUVycm9yKG1lc3NhZ2VzXzEuTWVzc2FnZXMuSW52YWxpZExIU0luQXNzaWdubWVudCk7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRleHQuc3RyaWN0ICYmIGV4cHIudHlwZSA9PT0gc3ludGF4XzEuU3ludGF4LklkZW50aWZpZXIpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdmFyIGlkID0gZXhwcjtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2Nhbm5lci5pc1Jlc3RyaWN0ZWRXb3JkKGlkLm5hbWUpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHRva2VuLCBtZXNzYWdlc18xLk1lc3NhZ2VzLlN0cmljdExIU0Fzc2lnbm1lbnQpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnNjYW5uZXIuaXNTdHJpY3RNb2RlUmVzZXJ2ZWRXb3JkKGlkLm5hbWUpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHRva2VuLCBtZXNzYWdlc18xLk1lc3NhZ2VzLlN0cmljdFJlc2VydmVkV29yZCk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgaWYgKCF0aGlzLm1hdGNoKCc9JykpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmlzQXNzaWdubWVudFRhcmdldCA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuaXNCaW5kaW5nRWxlbWVudCA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5yZWludGVycHJldEV4cHJlc3Npb25Bc1BhdHRlcm4oZXhwcik7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIHRva2VuID0gdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgICAgICAgICB2YXIgb3BlcmF0b3IgPSB0b2tlbi52YWx1ZTtcblx0ICAgICAgICAgICAgICAgICAgICB2YXIgcmlnaHQgPSB0aGlzLmlzb2xhdGVDb3ZlckdyYW1tYXIodGhpcy5wYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKTtcblx0ICAgICAgICAgICAgICAgICAgICBleHByID0gdGhpcy5maW5hbGl6ZSh0aGlzLnN0YXJ0Tm9kZShzdGFydFRva2VuKSwgbmV3IE5vZGUuQXNzaWdubWVudEV4cHJlc3Npb24ob3BlcmF0b3IsIGV4cHIsIHJpZ2h0KSk7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmZpcnN0Q292ZXJJbml0aWFsaXplZE5hbWVFcnJvciA9IG51bGw7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIGV4cHI7XG5cdCAgICB9O1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtY29tbWEtb3BlcmF0b3Jcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VFeHByZXNzaW9uID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBzdGFydFRva2VuID0gdGhpcy5sb29rYWhlYWQ7XG5cdCAgICAgICAgdmFyIGV4cHIgPSB0aGlzLmlzb2xhdGVDb3ZlckdyYW1tYXIodGhpcy5wYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKTtcblx0ICAgICAgICBpZiAodGhpcy5tYXRjaCgnLCcpKSB7XG5cdCAgICAgICAgICAgIHZhciBleHByZXNzaW9ucyA9IFtdO1xuXHQgICAgICAgICAgICBleHByZXNzaW9ucy5wdXNoKGV4cHIpO1xuXHQgICAgICAgICAgICB3aGlsZSAodGhpcy5sb29rYWhlYWQudHlwZSAhPT0gMiAvKiBFT0YgKi8pIHtcblx0ICAgICAgICAgICAgICAgIGlmICghdGhpcy5tYXRjaCgnLCcpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgZXhwcmVzc2lvbnMucHVzaCh0aGlzLmlzb2xhdGVDb3ZlckdyYW1tYXIodGhpcy5wYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZXhwciA9IHRoaXMuZmluYWxpemUodGhpcy5zdGFydE5vZGUoc3RhcnRUb2tlbiksIG5ldyBOb2RlLlNlcXVlbmNlRXhwcmVzc2lvbihleHByZXNzaW9ucykpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gZXhwcjtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1ibG9ja1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZVN0YXRlbWVudExpc3RJdGVtID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBzdGF0ZW1lbnQ7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmlzQXNzaWdubWVudFRhcmdldCA9IHRydWU7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmlzQmluZGluZ0VsZW1lbnQgPSB0cnVlO1xuXHQgICAgICAgIGlmICh0aGlzLmxvb2thaGVhZC50eXBlID09PSA0IC8qIEtleXdvcmQgKi8pIHtcblx0ICAgICAgICAgICAgc3dpdGNoICh0aGlzLmxvb2thaGVhZC52YWx1ZSkge1xuXHQgICAgICAgICAgICAgICAgY2FzZSAnZXhwb3J0Jzpcblx0ICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY29udGV4dC5pc01vZHVsZSkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHRoaXMubG9va2FoZWFkLCBtZXNzYWdlc18xLk1lc3NhZ2VzLklsbGVnYWxFeHBvcnREZWNsYXJhdGlvbik7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudCA9IHRoaXMucGFyc2VFeHBvcnREZWNsYXJhdGlvbigpO1xuXHQgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgY2FzZSAnaW1wb3J0Jzpcblx0ICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY29udGV4dC5pc01vZHVsZSkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHRoaXMubG9va2FoZWFkLCBtZXNzYWdlc18xLk1lc3NhZ2VzLklsbGVnYWxJbXBvcnREZWNsYXJhdGlvbik7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudCA9IHRoaXMucGFyc2VJbXBvcnREZWNsYXJhdGlvbigpO1xuXHQgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgY2FzZSAnY29uc3QnOlxuXHQgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudCA9IHRoaXMucGFyc2VMZXhpY2FsRGVjbGFyYXRpb24oeyBpbkZvcjogZmFsc2UgfSk7XG5cdCAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICBjYXNlICdmdW5jdGlvbic6XG5cdCAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50ID0gdGhpcy5wYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oKTtcblx0ICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgIGNhc2UgJ2NsYXNzJzpcblx0ICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQgPSB0aGlzLnBhcnNlQ2xhc3NEZWNsYXJhdGlvbigpO1xuXHQgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgY2FzZSAnbGV0Jzpcblx0ICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQgPSB0aGlzLmlzTGV4aWNhbERlY2xhcmF0aW9uKCkgPyB0aGlzLnBhcnNlTGV4aWNhbERlY2xhcmF0aW9uKHsgaW5Gb3I6IGZhbHNlIH0pIDogdGhpcy5wYXJzZVN0YXRlbWVudCgpO1xuXHQgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgZGVmYXVsdDpcblx0ICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQgPSB0aGlzLnBhcnNlU3RhdGVtZW50KCk7XG5cdCAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgIHN0YXRlbWVudCA9IHRoaXMucGFyc2VTdGF0ZW1lbnQoKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHN0YXRlbWVudDtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlQmxvY2sgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB0aGlzLmV4cGVjdCgneycpO1xuXHQgICAgICAgIHZhciBibG9jayA9IFtdO1xuXHQgICAgICAgIHdoaWxlICh0cnVlKSB7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoKCd9JykpIHtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGJsb2NrLnB1c2godGhpcy5wYXJzZVN0YXRlbWVudExpc3RJdGVtKCkpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB0aGlzLmV4cGVjdCgnfScpO1xuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLkJsb2NrU3RhdGVtZW50KGJsb2NrKSk7XG5cdCAgICB9O1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtbGV0LWFuZC1jb25zdC1kZWNsYXJhdGlvbnNcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VMZXhpY2FsQmluZGluZyA9IGZ1bmN0aW9uIChraW5kLCBvcHRpb25zKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB2YXIgcGFyYW1zID0gW107XG5cdCAgICAgICAgdmFyIGlkID0gdGhpcy5wYXJzZVBhdHRlcm4ocGFyYW1zLCBraW5kKTtcblx0ICAgICAgICBpZiAodGhpcy5jb250ZXh0LnN0cmljdCAmJiBpZC50eXBlID09PSBzeW50YXhfMS5TeW50YXguSWRlbnRpZmllcikge1xuXHQgICAgICAgICAgICBpZiAodGhpcy5zY2FubmVyLmlzUmVzdHJpY3RlZFdvcmQoaWQubmFtZSkpIHtcblx0ICAgICAgICAgICAgICAgIHRoaXMudG9sZXJhdGVFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLlN0cmljdFZhck5hbWUpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHZhciBpbml0ID0gbnVsbDtcblx0ICAgICAgICBpZiAoa2luZCA9PT0gJ2NvbnN0Jykge1xuXHQgICAgICAgICAgICBpZiAoIXRoaXMubWF0Y2hLZXl3b3JkKCdpbicpICYmICF0aGlzLm1hdGNoQ29udGV4dHVhbEtleXdvcmQoJ29mJykpIHtcblx0ICAgICAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoKCc9JykpIHtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgICAgIGluaXQgPSB0aGlzLmlzb2xhdGVDb3ZlckdyYW1tYXIodGhpcy5wYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMudGhyb3dFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLkRlY2xhcmF0aW9uTWlzc2luZ0luaXRpYWxpemVyLCAnY29uc3QnKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIGlmICgoIW9wdGlvbnMuaW5Gb3IgJiYgaWQudHlwZSAhPT0gc3ludGF4XzEuU3ludGF4LklkZW50aWZpZXIpIHx8IHRoaXMubWF0Y2goJz0nKSkge1xuXHQgICAgICAgICAgICB0aGlzLmV4cGVjdCgnPScpO1xuXHQgICAgICAgICAgICBpbml0ID0gdGhpcy5pc29sYXRlQ292ZXJHcmFtbWFyKHRoaXMucGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbik7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLlZhcmlhYmxlRGVjbGFyYXRvcihpZCwgaW5pdCkpO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VCaW5kaW5nTGlzdCA9IGZ1bmN0aW9uIChraW5kLCBvcHRpb25zKSB7XG5cdCAgICAgICAgdmFyIGxpc3QgPSBbdGhpcy5wYXJzZUxleGljYWxCaW5kaW5nKGtpbmQsIG9wdGlvbnMpXTtcblx0ICAgICAgICB3aGlsZSAodGhpcy5tYXRjaCgnLCcpKSB7XG5cdCAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgIGxpc3QucHVzaCh0aGlzLnBhcnNlTGV4aWNhbEJpbmRpbmcoa2luZCwgb3B0aW9ucykpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gbGlzdDtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLmlzTGV4aWNhbERlY2xhcmF0aW9uID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBzdGF0ZSA9IHRoaXMuc2Nhbm5lci5zYXZlU3RhdGUoKTtcblx0ICAgICAgICB0aGlzLnNjYW5uZXIuc2NhbkNvbW1lbnRzKCk7XG5cdCAgICAgICAgdmFyIG5leHQgPSB0aGlzLnNjYW5uZXIubGV4KCk7XG5cdCAgICAgICAgdGhpcy5zY2FubmVyLnJlc3RvcmVTdGF0ZShzdGF0ZSk7XG5cdCAgICAgICAgcmV0dXJuIChuZXh0LnR5cGUgPT09IDMgLyogSWRlbnRpZmllciAqLykgfHxcblx0ICAgICAgICAgICAgKG5leHQudHlwZSA9PT0gNyAvKiBQdW5jdHVhdG9yICovICYmIG5leHQudmFsdWUgPT09ICdbJykgfHxcblx0ICAgICAgICAgICAgKG5leHQudHlwZSA9PT0gNyAvKiBQdW5jdHVhdG9yICovICYmIG5leHQudmFsdWUgPT09ICd7JykgfHxcblx0ICAgICAgICAgICAgKG5leHQudHlwZSA9PT0gNCAvKiBLZXl3b3JkICovICYmIG5leHQudmFsdWUgPT09ICdsZXQnKSB8fFxuXHQgICAgICAgICAgICAobmV4dC50eXBlID09PSA0IC8qIEtleXdvcmQgKi8gJiYgbmV4dC52YWx1ZSA9PT0gJ3lpZWxkJyk7XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZUxleGljYWxEZWNsYXJhdGlvbiA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB2YXIga2luZCA9IHRoaXMubmV4dFRva2VuKCkudmFsdWU7XG5cdCAgICAgICAgYXNzZXJ0XzEuYXNzZXJ0KGtpbmQgPT09ICdsZXQnIHx8IGtpbmQgPT09ICdjb25zdCcsICdMZXhpY2FsIGRlY2xhcmF0aW9uIG11c3QgYmUgZWl0aGVyIGxldCBvciBjb25zdCcpO1xuXHQgICAgICAgIHZhciBkZWNsYXJhdGlvbnMgPSB0aGlzLnBhcnNlQmluZGluZ0xpc3Qoa2luZCwgb3B0aW9ucyk7XG5cdCAgICAgICAgdGhpcy5jb25zdW1lU2VtaWNvbG9uKCk7XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuVmFyaWFibGVEZWNsYXJhdGlvbihkZWNsYXJhdGlvbnMsIGtpbmQpKTtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1kZXN0cnVjdHVyaW5nLWJpbmRpbmctcGF0dGVybnNcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VCaW5kaW5nUmVzdEVsZW1lbnQgPSBmdW5jdGlvbiAocGFyYW1zLCBraW5kKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB0aGlzLmV4cGVjdCgnLi4uJyk7XG5cdCAgICAgICAgdmFyIGFyZyA9IHRoaXMucGFyc2VQYXR0ZXJuKHBhcmFtcywga2luZCk7XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuUmVzdEVsZW1lbnQoYXJnKSk7XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZUFycmF5UGF0dGVybiA9IGZ1bmN0aW9uIChwYXJhbXMsIGtpbmQpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0KCdbJyk7XG5cdCAgICAgICAgdmFyIGVsZW1lbnRzID0gW107XG5cdCAgICAgICAgd2hpbGUgKCF0aGlzLm1hdGNoKCddJykpIHtcblx0ICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2goJywnKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgICAgIGVsZW1lbnRzLnB1c2gobnVsbCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXRjaCgnLi4uJykpIHtcblx0ICAgICAgICAgICAgICAgICAgICBlbGVtZW50cy5wdXNoKHRoaXMucGFyc2VCaW5kaW5nUmVzdEVsZW1lbnQocGFyYW1zLCBraW5kKSk7XG5cdCAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgICAgICBlbGVtZW50cy5wdXNoKHRoaXMucGFyc2VQYXR0ZXJuV2l0aERlZmF1bHQocGFyYW1zLCBraW5kKSk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBpZiAoIXRoaXMubWF0Y2goJ10nKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwZWN0KCcsJyk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgdGhpcy5leHBlY3QoJ10nKTtcblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5BcnJheVBhdHRlcm4oZWxlbWVudHMpKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlUHJvcGVydHlQYXR0ZXJuID0gZnVuY3Rpb24gKHBhcmFtcywga2luZCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdmFyIGNvbXB1dGVkID0gZmFsc2U7XG5cdCAgICAgICAgdmFyIHNob3J0aGFuZCA9IGZhbHNlO1xuXHQgICAgICAgIHZhciBtZXRob2QgPSBmYWxzZTtcblx0ICAgICAgICB2YXIga2V5O1xuXHQgICAgICAgIHZhciB2YWx1ZTtcblx0ICAgICAgICBpZiAodGhpcy5sb29rYWhlYWQudHlwZSA9PT0gMyAvKiBJZGVudGlmaWVyICovKSB7XG5cdCAgICAgICAgICAgIHZhciBrZXlUb2tlbiA9IHRoaXMubG9va2FoZWFkO1xuXHQgICAgICAgICAgICBrZXkgPSB0aGlzLnBhcnNlVmFyaWFibGVJZGVudGlmaWVyKCk7XG5cdCAgICAgICAgICAgIHZhciBpbml0ID0gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5JZGVudGlmaWVyKGtleVRva2VuLnZhbHVlKSk7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoKCc9JykpIHtcblx0ICAgICAgICAgICAgICAgIHBhcmFtcy5wdXNoKGtleVRva2VuKTtcblx0ICAgICAgICAgICAgICAgIHNob3J0aGFuZCA9IHRydWU7XG5cdCAgICAgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgdmFyIGV4cHIgPSB0aGlzLnBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24oKTtcblx0ICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpcy5maW5hbGl6ZSh0aGlzLnN0YXJ0Tm9kZShrZXlUb2tlbiksIG5ldyBOb2RlLkFzc2lnbm1lbnRQYXR0ZXJuKGluaXQsIGV4cHIpKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmICghdGhpcy5tYXRjaCgnOicpKSB7XG5cdCAgICAgICAgICAgICAgICBwYXJhbXMucHVzaChrZXlUb2tlbik7XG5cdCAgICAgICAgICAgICAgICBzaG9ydGhhbmQgPSB0cnVlO1xuXHQgICAgICAgICAgICAgICAgdmFsdWUgPSBpbml0O1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgdGhpcy5leHBlY3QoJzonKTtcblx0ICAgICAgICAgICAgICAgIHZhbHVlID0gdGhpcy5wYXJzZVBhdHRlcm5XaXRoRGVmYXVsdChwYXJhbXMsIGtpbmQpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICBjb21wdXRlZCA9IHRoaXMubWF0Y2goJ1snKTtcblx0ICAgICAgICAgICAga2V5ID0gdGhpcy5wYXJzZU9iamVjdFByb3BlcnR5S2V5KCk7XG5cdCAgICAgICAgICAgIHRoaXMuZXhwZWN0KCc6Jyk7XG5cdCAgICAgICAgICAgIHZhbHVlID0gdGhpcy5wYXJzZVBhdHRlcm5XaXRoRGVmYXVsdChwYXJhbXMsIGtpbmQpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5Qcm9wZXJ0eSgnaW5pdCcsIGtleSwgY29tcHV0ZWQsIHZhbHVlLCBtZXRob2QsIHNob3J0aGFuZCkpO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VPYmplY3RQYXR0ZXJuID0gZnVuY3Rpb24gKHBhcmFtcywga2luZCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdmFyIHByb3BlcnRpZXMgPSBbXTtcblx0ICAgICAgICB0aGlzLmV4cGVjdCgneycpO1xuXHQgICAgICAgIHdoaWxlICghdGhpcy5tYXRjaCgnfScpKSB7XG5cdCAgICAgICAgICAgIHByb3BlcnRpZXMucHVzaCh0aGlzLnBhcnNlUHJvcGVydHlQYXR0ZXJuKHBhcmFtcywga2luZCkpO1xuXHQgICAgICAgICAgICBpZiAoIXRoaXMubWF0Y2goJ30nKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy5leHBlY3QoJywnKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICB0aGlzLmV4cGVjdCgnfScpO1xuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLk9iamVjdFBhdHRlcm4ocHJvcGVydGllcykpO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VQYXR0ZXJuID0gZnVuY3Rpb24gKHBhcmFtcywga2luZCkge1xuXHQgICAgICAgIHZhciBwYXR0ZXJuO1xuXHQgICAgICAgIGlmICh0aGlzLm1hdGNoKCdbJykpIHtcblx0ICAgICAgICAgICAgcGF0dGVybiA9IHRoaXMucGFyc2VBcnJheVBhdHRlcm4ocGFyYW1zLCBraW5kKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSBpZiAodGhpcy5tYXRjaCgneycpKSB7XG5cdCAgICAgICAgICAgIHBhdHRlcm4gPSB0aGlzLnBhcnNlT2JqZWN0UGF0dGVybihwYXJhbXMsIGtpbmQpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2hLZXl3b3JkKCdsZXQnKSAmJiAoa2luZCA9PT0gJ2NvbnN0JyB8fCBraW5kID09PSAnbGV0JykpIHtcblx0ICAgICAgICAgICAgICAgIHRoaXMudG9sZXJhdGVVbmV4cGVjdGVkVG9rZW4odGhpcy5sb29rYWhlYWQsIG1lc3NhZ2VzXzEuTWVzc2FnZXMuTGV0SW5MZXhpY2FsQmluZGluZyk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgcGFyYW1zLnB1c2godGhpcy5sb29rYWhlYWQpO1xuXHQgICAgICAgICAgICBwYXR0ZXJuID0gdGhpcy5wYXJzZVZhcmlhYmxlSWRlbnRpZmllcihraW5kKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHBhdHRlcm47XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZVBhdHRlcm5XaXRoRGVmYXVsdCA9IGZ1bmN0aW9uIChwYXJhbXMsIGtpbmQpIHtcblx0ICAgICAgICB2YXIgc3RhcnRUb2tlbiA9IHRoaXMubG9va2FoZWFkO1xuXHQgICAgICAgIHZhciBwYXR0ZXJuID0gdGhpcy5wYXJzZVBhdHRlcm4ocGFyYW1zLCBraW5kKTtcblx0ICAgICAgICBpZiAodGhpcy5tYXRjaCgnPScpKSB7XG5cdCAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgIHZhciBwcmV2aW91c0FsbG93WWllbGQgPSB0aGlzLmNvbnRleHQuYWxsb3dZaWVsZDtcblx0ICAgICAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93WWllbGQgPSB0cnVlO1xuXHQgICAgICAgICAgICB2YXIgcmlnaHQgPSB0aGlzLmlzb2xhdGVDb3ZlckdyYW1tYXIodGhpcy5wYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKTtcblx0ICAgICAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93WWllbGQgPSBwcmV2aW91c0FsbG93WWllbGQ7XG5cdCAgICAgICAgICAgIHBhdHRlcm4gPSB0aGlzLmZpbmFsaXplKHRoaXMuc3RhcnROb2RlKHN0YXJ0VG9rZW4pLCBuZXcgTm9kZS5Bc3NpZ25tZW50UGF0dGVybihwYXR0ZXJuLCByaWdodCkpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gcGF0dGVybjtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy12YXJpYWJsZS1zdGF0ZW1lbnRcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VWYXJpYWJsZUlkZW50aWZpZXIgPSBmdW5jdGlvbiAoa2luZCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdmFyIHRva2VuID0gdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gNCAvKiBLZXl3b3JkICovICYmIHRva2VuLnZhbHVlID09PSAneWllbGQnKSB7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLmNvbnRleHQuc3RyaWN0KSB7XG5cdCAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHRva2VuLCBtZXNzYWdlc18xLk1lc3NhZ2VzLlN0cmljdFJlc2VydmVkV29yZCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSBpZiAoIXRoaXMuY29udGV4dC5hbGxvd1lpZWxkKSB7XG5cdCAgICAgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKHRva2VuKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIGlmICh0b2tlbi50eXBlICE9PSAzIC8qIElkZW50aWZpZXIgKi8pIHtcblx0ICAgICAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3QgJiYgdG9rZW4udHlwZSA9PT0gNCAvKiBLZXl3b3JkICovICYmIHRoaXMuc2Nhbm5lci5pc1N0cmljdE1vZGVSZXNlcnZlZFdvcmQodG9rZW4udmFsdWUpKSB7XG5cdCAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHRva2VuLCBtZXNzYWdlc18xLk1lc3NhZ2VzLlN0cmljdFJlc2VydmVkV29yZCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250ZXh0LnN0cmljdCB8fCB0b2tlbi52YWx1ZSAhPT0gJ2xldCcgfHwga2luZCAhPT0gJ3ZhcicpIHtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKHRva2VuKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIGlmICgodGhpcy5jb250ZXh0LmlzTW9kdWxlIHx8IHRoaXMuY29udGV4dC5hd2FpdCkgJiYgdG9rZW4udHlwZSA9PT0gMyAvKiBJZGVudGlmaWVyICovICYmIHRva2VuLnZhbHVlID09PSAnYXdhaXQnKSB7XG5cdCAgICAgICAgICAgIHRoaXMudG9sZXJhdGVVbmV4cGVjdGVkVG9rZW4odG9rZW4pO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5JZGVudGlmaWVyKHRva2VuLnZhbHVlKSk7XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24gPSBmdW5jdGlvbiAob3B0aW9ucykge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdmFyIHBhcmFtcyA9IFtdO1xuXHQgICAgICAgIHZhciBpZCA9IHRoaXMucGFyc2VQYXR0ZXJuKHBhcmFtcywgJ3ZhcicpO1xuXHQgICAgICAgIGlmICh0aGlzLmNvbnRleHQuc3RyaWN0ICYmIGlkLnR5cGUgPT09IHN5bnRheF8xLlN5bnRheC5JZGVudGlmaWVyKSB7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLnNjYW5uZXIuaXNSZXN0cmljdGVkV29yZChpZC5uYW1lKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy50b2xlcmF0ZUVycm9yKG1lc3NhZ2VzXzEuTWVzc2FnZXMuU3RyaWN0VmFyTmFtZSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgdmFyIGluaXQgPSBudWxsO1xuXHQgICAgICAgIGlmICh0aGlzLm1hdGNoKCc9JykpIHtcblx0ICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgaW5pdCA9IHRoaXMuaXNvbGF0ZUNvdmVyR3JhbW1hcih0aGlzLnBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24pO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIGlmIChpZC50eXBlICE9PSBzeW50YXhfMS5TeW50YXguSWRlbnRpZmllciAmJiAhb3B0aW9ucy5pbkZvcikge1xuXHQgICAgICAgICAgICB0aGlzLmV4cGVjdCgnPScpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5WYXJpYWJsZURlY2xhcmF0b3IoaWQsIGluaXQpKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuXHQgICAgICAgIHZhciBvcHQgPSB7IGluRm9yOiBvcHRpb25zLmluRm9yIH07XG5cdCAgICAgICAgdmFyIGxpc3QgPSBbXTtcblx0ICAgICAgICBsaXN0LnB1c2godGhpcy5wYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24ob3B0KSk7XG5cdCAgICAgICAgd2hpbGUgKHRoaXMubWF0Y2goJywnKSkge1xuXHQgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICBsaXN0LnB1c2godGhpcy5wYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24ob3B0KSk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiBsaXN0O1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VWYXJpYWJsZVN0YXRlbWVudCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0S2V5d29yZCgndmFyJyk7XG5cdCAgICAgICAgdmFyIGRlY2xhcmF0aW9ucyA9IHRoaXMucGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uTGlzdCh7IGluRm9yOiBmYWxzZSB9KTtcblx0ICAgICAgICB0aGlzLmNvbnN1bWVTZW1pY29sb24oKTtcblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5WYXJpYWJsZURlY2xhcmF0aW9uKGRlY2xhcmF0aW9ucywgJ3ZhcicpKTtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1lbXB0eS1zdGF0ZW1lbnRcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VFbXB0eVN0YXRlbWVudCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0KCc7Jyk7XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuRW1wdHlTdGF0ZW1lbnQoKSk7XG5cdCAgICB9O1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtZXhwcmVzc2lvbi1zdGF0ZW1lbnRcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VFeHByZXNzaW9uU3RhdGVtZW50ID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdmFyIGV4cHIgPSB0aGlzLnBhcnNlRXhwcmVzc2lvbigpO1xuXHQgICAgICAgIHRoaXMuY29uc3VtZVNlbWljb2xvbigpO1xuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLkV4cHJlc3Npb25TdGF0ZW1lbnQoZXhwcikpO1xuXHQgICAgfTtcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWlmLXN0YXRlbWVudFxuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZUlmQ2xhdXNlID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIGlmICh0aGlzLmNvbnRleHQuc3RyaWN0ICYmIHRoaXMubWF0Y2hLZXl3b3JkKCdmdW5jdGlvbicpKSB7XG5cdCAgICAgICAgICAgIHRoaXMudG9sZXJhdGVFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLlN0cmljdEZ1bmN0aW9uKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VTdGF0ZW1lbnQoKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlSWZTdGF0ZW1lbnQgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB2YXIgY29uc2VxdWVudDtcblx0ICAgICAgICB2YXIgYWx0ZXJuYXRlID0gbnVsbDtcblx0ICAgICAgICB0aGlzLmV4cGVjdEtleXdvcmQoJ2lmJyk7XG5cdCAgICAgICAgdGhpcy5leHBlY3QoJygnKTtcblx0ICAgICAgICB2YXIgdGVzdCA9IHRoaXMucGFyc2VFeHByZXNzaW9uKCk7XG5cdCAgICAgICAgaWYgKCF0aGlzLm1hdGNoKCcpJykgJiYgdGhpcy5jb25maWcudG9sZXJhbnQpIHtcblx0ICAgICAgICAgICAgdGhpcy50b2xlcmF0ZVVuZXhwZWN0ZWRUb2tlbih0aGlzLm5leHRUb2tlbigpKTtcblx0ICAgICAgICAgICAgY29uc2VxdWVudCA9IHRoaXMuZmluYWxpemUodGhpcy5jcmVhdGVOb2RlKCksIG5ldyBOb2RlLkVtcHR5U3RhdGVtZW50KCkpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgdGhpcy5leHBlY3QoJyknKTtcblx0ICAgICAgICAgICAgY29uc2VxdWVudCA9IHRoaXMucGFyc2VJZkNsYXVzZSgpO1xuXHQgICAgICAgICAgICBpZiAodGhpcy5tYXRjaEtleXdvcmQoJ2Vsc2UnKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgICAgIGFsdGVybmF0ZSA9IHRoaXMucGFyc2VJZkNsYXVzZSgpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLklmU3RhdGVtZW50KHRlc3QsIGNvbnNlcXVlbnQsIGFsdGVybmF0ZSkpO1xuXHQgICAgfTtcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWRvLXdoaWxlLXN0YXRlbWVudFxuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZURvV2hpbGVTdGF0ZW1lbnQgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB0aGlzLmV4cGVjdEtleXdvcmQoJ2RvJyk7XG5cdCAgICAgICAgdmFyIHByZXZpb3VzSW5JdGVyYXRpb24gPSB0aGlzLmNvbnRleHQuaW5JdGVyYXRpb247XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmluSXRlcmF0aW9uID0gdHJ1ZTtcblx0ICAgICAgICB2YXIgYm9keSA9IHRoaXMucGFyc2VTdGF0ZW1lbnQoKTtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuaW5JdGVyYXRpb24gPSBwcmV2aW91c0luSXRlcmF0aW9uO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0S2V5d29yZCgnd2hpbGUnKTtcblx0ICAgICAgICB0aGlzLmV4cGVjdCgnKCcpO1xuXHQgICAgICAgIHZhciB0ZXN0ID0gdGhpcy5wYXJzZUV4cHJlc3Npb24oKTtcblx0ICAgICAgICBpZiAoIXRoaXMubWF0Y2goJyknKSAmJiB0aGlzLmNvbmZpZy50b2xlcmFudCkge1xuXHQgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHRoaXMubmV4dFRva2VuKCkpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgdGhpcy5leHBlY3QoJyknKTtcblx0ICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2goJzsnKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5Eb1doaWxlU3RhdGVtZW50KGJvZHksIHRlc3QpKTtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy13aGlsZS1zdGF0ZW1lbnRcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VXaGlsZVN0YXRlbWVudCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHZhciBib2R5O1xuXHQgICAgICAgIHRoaXMuZXhwZWN0S2V5d29yZCgnd2hpbGUnKTtcblx0ICAgICAgICB0aGlzLmV4cGVjdCgnKCcpO1xuXHQgICAgICAgIHZhciB0ZXN0ID0gdGhpcy5wYXJzZUV4cHJlc3Npb24oKTtcblx0ICAgICAgICBpZiAoIXRoaXMubWF0Y2goJyknKSAmJiB0aGlzLmNvbmZpZy50b2xlcmFudCkge1xuXHQgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHRoaXMubmV4dFRva2VuKCkpO1xuXHQgICAgICAgICAgICBib2R5ID0gdGhpcy5maW5hbGl6ZSh0aGlzLmNyZWF0ZU5vZGUoKSwgbmV3IE5vZGUuRW1wdHlTdGF0ZW1lbnQoKSk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICB0aGlzLmV4cGVjdCgnKScpO1xuXHQgICAgICAgICAgICB2YXIgcHJldmlvdXNJbkl0ZXJhdGlvbiA9IHRoaXMuY29udGV4dC5pbkl0ZXJhdGlvbjtcblx0ICAgICAgICAgICAgdGhpcy5jb250ZXh0LmluSXRlcmF0aW9uID0gdHJ1ZTtcblx0ICAgICAgICAgICAgYm9keSA9IHRoaXMucGFyc2VTdGF0ZW1lbnQoKTtcblx0ICAgICAgICAgICAgdGhpcy5jb250ZXh0LmluSXRlcmF0aW9uID0gcHJldmlvdXNJbkl0ZXJhdGlvbjtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuV2hpbGVTdGF0ZW1lbnQodGVzdCwgYm9keSkpO1xuXHQgICAgfTtcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWZvci1zdGF0ZW1lbnRcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWZvci1pbi1hbmQtZm9yLW9mLXN0YXRlbWVudHNcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VGb3JTdGF0ZW1lbnQgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIGluaXQgPSBudWxsO1xuXHQgICAgICAgIHZhciB0ZXN0ID0gbnVsbDtcblx0ICAgICAgICB2YXIgdXBkYXRlID0gbnVsbDtcblx0ICAgICAgICB2YXIgZm9ySW4gPSB0cnVlO1xuXHQgICAgICAgIHZhciBsZWZ0LCByaWdodDtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0S2V5d29yZCgnZm9yJyk7XG5cdCAgICAgICAgdGhpcy5leHBlY3QoJygnKTtcblx0ICAgICAgICBpZiAodGhpcy5tYXRjaCgnOycpKSB7XG5cdCAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICBpZiAodGhpcy5tYXRjaEtleXdvcmQoJ3ZhcicpKSB7XG5cdCAgICAgICAgICAgICAgICBpbml0ID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgdmFyIHByZXZpb3VzQWxsb3dJbiA9IHRoaXMuY29udGV4dC5hbGxvd0luO1xuXHQgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93SW4gPSBmYWxzZTtcblx0ICAgICAgICAgICAgICAgIHZhciBkZWNsYXJhdGlvbnMgPSB0aGlzLnBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3QoeyBpbkZvcjogdHJ1ZSB9KTtcblx0ICAgICAgICAgICAgICAgIHRoaXMuY29udGV4dC5hbGxvd0luID0gcHJldmlvdXNBbGxvd0luO1xuXHQgICAgICAgICAgICAgICAgaWYgKGRlY2xhcmF0aW9ucy5sZW5ndGggPT09IDEgJiYgdGhpcy5tYXRjaEtleXdvcmQoJ2luJykpIHtcblx0ICAgICAgICAgICAgICAgICAgICB2YXIgZGVjbCA9IGRlY2xhcmF0aW9uc1swXTtcblx0ICAgICAgICAgICAgICAgICAgICBpZiAoZGVjbC5pbml0ICYmIChkZWNsLmlkLnR5cGUgPT09IHN5bnRheF8xLlN5bnRheC5BcnJheVBhdHRlcm4gfHwgZGVjbC5pZC50eXBlID09PSBzeW50YXhfMS5TeW50YXguT2JqZWN0UGF0dGVybiB8fCB0aGlzLmNvbnRleHQuc3RyaWN0KSkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlRXJyb3IobWVzc2FnZXNfMS5NZXNzYWdlcy5Gb3JJbk9mTG9vcEluaXRpYWxpemVyLCAnZm9yLWluJyk7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIGluaXQgPSB0aGlzLmZpbmFsaXplKGluaXQsIG5ldyBOb2RlLlZhcmlhYmxlRGVjbGFyYXRpb24oZGVjbGFyYXRpb25zLCAndmFyJykpO1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgICAgICAgICAgbGVmdCA9IGluaXQ7XG5cdCAgICAgICAgICAgICAgICAgICAgcmlnaHQgPSB0aGlzLnBhcnNlRXhwcmVzc2lvbigpO1xuXHQgICAgICAgICAgICAgICAgICAgIGluaXQgPSBudWxsO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgZWxzZSBpZiAoZGVjbGFyYXRpb25zLmxlbmd0aCA9PT0gMSAmJiBkZWNsYXJhdGlvbnNbMF0uaW5pdCA9PT0gbnVsbCAmJiB0aGlzLm1hdGNoQ29udGV4dHVhbEtleXdvcmQoJ29mJykpIHtcblx0ICAgICAgICAgICAgICAgICAgICBpbml0ID0gdGhpcy5maW5hbGl6ZShpbml0LCBuZXcgTm9kZS5WYXJpYWJsZURlY2xhcmF0aW9uKGRlY2xhcmF0aW9ucywgJ3ZhcicpKTtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgICAgIGxlZnQgPSBpbml0O1xuXHQgICAgICAgICAgICAgICAgICAgIHJpZ2h0ID0gdGhpcy5wYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKCk7XG5cdCAgICAgICAgICAgICAgICAgICAgaW5pdCA9IG51bGw7XG5cdCAgICAgICAgICAgICAgICAgICAgZm9ySW4gPSBmYWxzZTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgICAgIGluaXQgPSB0aGlzLmZpbmFsaXplKGluaXQsIG5ldyBOb2RlLlZhcmlhYmxlRGVjbGFyYXRpb24oZGVjbGFyYXRpb25zLCAndmFyJykpO1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwZWN0KCc7Jyk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5tYXRjaEtleXdvcmQoJ2NvbnN0JykgfHwgdGhpcy5tYXRjaEtleXdvcmQoJ2xldCcpKSB7XG5cdCAgICAgICAgICAgICAgICBpbml0ID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgICAgICAgICB2YXIga2luZCA9IHRoaXMubmV4dFRva2VuKCkudmFsdWU7XG5cdCAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY29udGV4dC5zdHJpY3QgJiYgdGhpcy5sb29rYWhlYWQudmFsdWUgPT09ICdpbicpIHtcblx0ICAgICAgICAgICAgICAgICAgICBpbml0ID0gdGhpcy5maW5hbGl6ZShpbml0LCBuZXcgTm9kZS5JZGVudGlmaWVyKGtpbmQpKTtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgICAgIGxlZnQgPSBpbml0O1xuXHQgICAgICAgICAgICAgICAgICAgIHJpZ2h0ID0gdGhpcy5wYXJzZUV4cHJlc3Npb24oKTtcblx0ICAgICAgICAgICAgICAgICAgICBpbml0ID0gbnVsbDtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgICAgIHZhciBwcmV2aW91c0FsbG93SW4gPSB0aGlzLmNvbnRleHQuYWxsb3dJbjtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuYWxsb3dJbiA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgICAgIHZhciBkZWNsYXJhdGlvbnMgPSB0aGlzLnBhcnNlQmluZGluZ0xpc3Qoa2luZCwgeyBpbkZvcjogdHJ1ZSB9KTtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuYWxsb3dJbiA9IHByZXZpb3VzQWxsb3dJbjtcblx0ICAgICAgICAgICAgICAgICAgICBpZiAoZGVjbGFyYXRpb25zLmxlbmd0aCA9PT0gMSAmJiBkZWNsYXJhdGlvbnNbMF0uaW5pdCA9PT0gbnVsbCAmJiB0aGlzLm1hdGNoS2V5d29yZCgnaW4nKSkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBpbml0ID0gdGhpcy5maW5hbGl6ZShpbml0LCBuZXcgTm9kZS5WYXJpYWJsZURlY2xhcmF0aW9uKGRlY2xhcmF0aW9ucywga2luZCkpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gaW5pdDtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQgPSB0aGlzLnBhcnNlRXhwcmVzc2lvbigpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBpbml0ID0gbnVsbDtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoZGVjbGFyYXRpb25zLmxlbmd0aCA9PT0gMSAmJiBkZWNsYXJhdGlvbnNbMF0uaW5pdCA9PT0gbnVsbCAmJiB0aGlzLm1hdGNoQ29udGV4dHVhbEtleXdvcmQoJ29mJykpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgaW5pdCA9IHRoaXMuZmluYWxpemUoaW5pdCwgbmV3IE5vZGUuVmFyaWFibGVEZWNsYXJhdGlvbihkZWNsYXJhdGlvbnMsIGtpbmQpKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgbGVmdCA9IGluaXQ7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0ID0gdGhpcy5wYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKCk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGluaXQgPSBudWxsO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBmb3JJbiA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5jb25zdW1lU2VtaWNvbG9uKCk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGluaXQgPSB0aGlzLmZpbmFsaXplKGluaXQsIG5ldyBOb2RlLlZhcmlhYmxlRGVjbGFyYXRpb24oZGVjbGFyYXRpb25zLCBraW5kKSk7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgdmFyIGluaXRTdGFydFRva2VuID0gdGhpcy5sb29rYWhlYWQ7XG5cdCAgICAgICAgICAgICAgICB2YXIgcHJldmlvdXNBbGxvd0luID0gdGhpcy5jb250ZXh0LmFsbG93SW47XG5cdCAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuYWxsb3dJbiA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgaW5pdCA9IHRoaXMuaW5oZXJpdENvdmVyR3JhbW1hcih0aGlzLnBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24pO1xuXHQgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93SW4gPSBwcmV2aW91c0FsbG93SW47XG5cdCAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXRjaEtleXdvcmQoJ2luJykpIHtcblx0ICAgICAgICAgICAgICAgICAgICBpZiAoIXRoaXMuY29udGV4dC5pc0Fzc2lnbm1lbnRUYXJnZXQgfHwgaW5pdC50eXBlID09PSBzeW50YXhfMS5TeW50YXguQXNzaWdubWVudEV4cHJlc3Npb24pIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50b2xlcmF0ZUVycm9yKG1lc3NhZ2VzXzEuTWVzc2FnZXMuSW52YWxpZExIU0luRm9ySW4pO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMucmVpbnRlcnByZXRFeHByZXNzaW9uQXNQYXR0ZXJuKGluaXQpO1xuXHQgICAgICAgICAgICAgICAgICAgIGxlZnQgPSBpbml0O1xuXHQgICAgICAgICAgICAgICAgICAgIHJpZ2h0ID0gdGhpcy5wYXJzZUV4cHJlc3Npb24oKTtcblx0ICAgICAgICAgICAgICAgICAgICBpbml0ID0gbnVsbDtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMubWF0Y2hDb250ZXh0dWFsS2V5d29yZCgnb2YnKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250ZXh0LmlzQXNzaWdubWVudFRhcmdldCB8fCBpbml0LnR5cGUgPT09IHN5bnRheF8xLlN5bnRheC5Bc3NpZ25tZW50RXhwcmVzc2lvbikge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlRXJyb3IobWVzc2FnZXNfMS5NZXNzYWdlcy5JbnZhbGlkTEhTSW5Gb3JMb29wKTtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLnJlaW50ZXJwcmV0RXhwcmVzc2lvbkFzUGF0dGVybihpbml0KTtcblx0ICAgICAgICAgICAgICAgICAgICBsZWZ0ID0gaW5pdDtcblx0ICAgICAgICAgICAgICAgICAgICByaWdodCA9IHRoaXMucGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbigpO1xuXHQgICAgICAgICAgICAgICAgICAgIGluaXQgPSBudWxsO1xuXHQgICAgICAgICAgICAgICAgICAgIGZvckluID0gZmFsc2U7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5tYXRjaCgnLCcpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHZhciBpbml0U2VxID0gW2luaXRdO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB3aGlsZSAodGhpcy5tYXRjaCgnLCcpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pdFNlcS5wdXNoKHRoaXMuaXNvbGF0ZUNvdmVyR3JhbW1hcih0aGlzLnBhcnNlQXNzaWdubWVudEV4cHJlc3Npb24pKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgICAgICBpbml0ID0gdGhpcy5maW5hbGl6ZSh0aGlzLnN0YXJ0Tm9kZShpbml0U3RhcnRUb2tlbiksIG5ldyBOb2RlLlNlcXVlbmNlRXhwcmVzc2lvbihpbml0U2VxKSk7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwZWN0KCc7Jyk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgaWYgKHR5cGVvZiBsZWZ0ID09PSAndW5kZWZpbmVkJykge1xuXHQgICAgICAgICAgICBpZiAoIXRoaXMubWF0Y2goJzsnKSkge1xuXHQgICAgICAgICAgICAgICAgdGVzdCA9IHRoaXMucGFyc2VFeHByZXNzaW9uKCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgdGhpcy5leHBlY3QoJzsnKTtcblx0ICAgICAgICAgICAgaWYgKCF0aGlzLm1hdGNoKCcpJykpIHtcblx0ICAgICAgICAgICAgICAgIHVwZGF0ZSA9IHRoaXMucGFyc2VFeHByZXNzaW9uKCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgdmFyIGJvZHk7XG5cdCAgICAgICAgaWYgKCF0aGlzLm1hdGNoKCcpJykgJiYgdGhpcy5jb25maWcudG9sZXJhbnQpIHtcblx0ICAgICAgICAgICAgdGhpcy50b2xlcmF0ZVVuZXhwZWN0ZWRUb2tlbih0aGlzLm5leHRUb2tlbigpKTtcblx0ICAgICAgICAgICAgYm9keSA9IHRoaXMuZmluYWxpemUodGhpcy5jcmVhdGVOb2RlKCksIG5ldyBOb2RlLkVtcHR5U3RhdGVtZW50KCkpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgdGhpcy5leHBlY3QoJyknKTtcblx0ICAgICAgICAgICAgdmFyIHByZXZpb3VzSW5JdGVyYXRpb24gPSB0aGlzLmNvbnRleHQuaW5JdGVyYXRpb247XG5cdCAgICAgICAgICAgIHRoaXMuY29udGV4dC5pbkl0ZXJhdGlvbiA9IHRydWU7XG5cdCAgICAgICAgICAgIGJvZHkgPSB0aGlzLmlzb2xhdGVDb3ZlckdyYW1tYXIodGhpcy5wYXJzZVN0YXRlbWVudCk7XG5cdCAgICAgICAgICAgIHRoaXMuY29udGV4dC5pbkl0ZXJhdGlvbiA9IHByZXZpb3VzSW5JdGVyYXRpb247XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiAodHlwZW9mIGxlZnQgPT09ICd1bmRlZmluZWQnKSA/XG5cdCAgICAgICAgICAgIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuRm9yU3RhdGVtZW50KGluaXQsIHRlc3QsIHVwZGF0ZSwgYm9keSkpIDpcblx0ICAgICAgICAgICAgZm9ySW4gPyB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLkZvckluU3RhdGVtZW50KGxlZnQsIHJpZ2h0LCBib2R5KSkgOlxuXHQgICAgICAgICAgICAgICAgdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5Gb3JPZlN0YXRlbWVudChsZWZ0LCByaWdodCwgYm9keSkpO1xuXHQgICAgfTtcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWNvbnRpbnVlLXN0YXRlbWVudFxuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZUNvbnRpbnVlU3RhdGVtZW50ID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdGhpcy5leHBlY3RLZXl3b3JkKCdjb250aW51ZScpO1xuXHQgICAgICAgIHZhciBsYWJlbCA9IG51bGw7XG5cdCAgICAgICAgaWYgKHRoaXMubG9va2FoZWFkLnR5cGUgPT09IDMgLyogSWRlbnRpZmllciAqLyAmJiAhdGhpcy5oYXNMaW5lVGVybWluYXRvcikge1xuXHQgICAgICAgICAgICB2YXIgaWQgPSB0aGlzLnBhcnNlVmFyaWFibGVJZGVudGlmaWVyKCk7XG5cdCAgICAgICAgICAgIGxhYmVsID0gaWQ7XG5cdCAgICAgICAgICAgIHZhciBrZXkgPSAnJCcgKyBpZC5uYW1lO1xuXHQgICAgICAgICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmNvbnRleHQubGFiZWxTZXQsIGtleSkpIHtcblx0ICAgICAgICAgICAgICAgIHRoaXMudGhyb3dFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLlVua25vd25MYWJlbCwgaWQubmFtZSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgdGhpcy5jb25zdW1lU2VtaWNvbG9uKCk7XG5cdCAgICAgICAgaWYgKGxhYmVsID09PSBudWxsICYmICF0aGlzLmNvbnRleHQuaW5JdGVyYXRpb24pIHtcblx0ICAgICAgICAgICAgdGhpcy50aHJvd0Vycm9yKG1lc3NhZ2VzXzEuTWVzc2FnZXMuSWxsZWdhbENvbnRpbnVlKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuQ29udGludWVTdGF0ZW1lbnQobGFiZWwpKTtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1icmVhay1zdGF0ZW1lbnRcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VCcmVha1N0YXRlbWVudCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0S2V5d29yZCgnYnJlYWsnKTtcblx0ICAgICAgICB2YXIgbGFiZWwgPSBudWxsO1xuXHQgICAgICAgIGlmICh0aGlzLmxvb2thaGVhZC50eXBlID09PSAzIC8qIElkZW50aWZpZXIgKi8gJiYgIXRoaXMuaGFzTGluZVRlcm1pbmF0b3IpIHtcblx0ICAgICAgICAgICAgdmFyIGlkID0gdGhpcy5wYXJzZVZhcmlhYmxlSWRlbnRpZmllcigpO1xuXHQgICAgICAgICAgICB2YXIga2V5ID0gJyQnICsgaWQubmFtZTtcblx0ICAgICAgICAgICAgaWYgKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcy5jb250ZXh0LmxhYmVsU2V0LCBrZXkpKSB7XG5cdCAgICAgICAgICAgICAgICB0aGlzLnRocm93RXJyb3IobWVzc2FnZXNfMS5NZXNzYWdlcy5Vbmtub3duTGFiZWwsIGlkLm5hbWUpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGxhYmVsID0gaWQ7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHRoaXMuY29uc3VtZVNlbWljb2xvbigpO1xuXHQgICAgICAgIGlmIChsYWJlbCA9PT0gbnVsbCAmJiAhdGhpcy5jb250ZXh0LmluSXRlcmF0aW9uICYmICF0aGlzLmNvbnRleHQuaW5Td2l0Y2gpIHtcblx0ICAgICAgICAgICAgdGhpcy50aHJvd0Vycm9yKG1lc3NhZ2VzXzEuTWVzc2FnZXMuSWxsZWdhbEJyZWFrKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuQnJlYWtTdGF0ZW1lbnQobGFiZWwpKTtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1yZXR1cm4tc3RhdGVtZW50XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlUmV0dXJuU3RhdGVtZW50ID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIGlmICghdGhpcy5jb250ZXh0LmluRnVuY3Rpb25Cb2R5KSB7XG5cdCAgICAgICAgICAgIHRoaXMudG9sZXJhdGVFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLklsbGVnYWxSZXR1cm4pO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0S2V5d29yZCgncmV0dXJuJyk7XG5cdCAgICAgICAgdmFyIGhhc0FyZ3VtZW50ID0gKCF0aGlzLm1hdGNoKCc7JykgJiYgIXRoaXMubWF0Y2goJ30nKSAmJlxuXHQgICAgICAgICAgICAhdGhpcy5oYXNMaW5lVGVybWluYXRvciAmJiB0aGlzLmxvb2thaGVhZC50eXBlICE9PSAyIC8qIEVPRiAqLykgfHxcblx0ICAgICAgICAgICAgdGhpcy5sb29rYWhlYWQudHlwZSA9PT0gOCAvKiBTdHJpbmdMaXRlcmFsICovIHx8XG5cdCAgICAgICAgICAgIHRoaXMubG9va2FoZWFkLnR5cGUgPT09IDEwIC8qIFRlbXBsYXRlICovO1xuXHQgICAgICAgIHZhciBhcmd1bWVudCA9IGhhc0FyZ3VtZW50ID8gdGhpcy5wYXJzZUV4cHJlc3Npb24oKSA6IG51bGw7XG5cdCAgICAgICAgdGhpcy5jb25zdW1lU2VtaWNvbG9uKCk7XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuUmV0dXJuU3RhdGVtZW50KGFyZ3VtZW50KSk7XG5cdCAgICB9O1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtd2l0aC1zdGF0ZW1lbnRcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VXaXRoU3RhdGVtZW50ID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIGlmICh0aGlzLmNvbnRleHQuc3RyaWN0KSB7XG5cdCAgICAgICAgICAgIHRoaXMudG9sZXJhdGVFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLlN0cmljdE1vZGVXaXRoKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB2YXIgYm9keTtcblx0ICAgICAgICB0aGlzLmV4cGVjdEtleXdvcmQoJ3dpdGgnKTtcblx0ICAgICAgICB0aGlzLmV4cGVjdCgnKCcpO1xuXHQgICAgICAgIHZhciBvYmplY3QgPSB0aGlzLnBhcnNlRXhwcmVzc2lvbigpO1xuXHQgICAgICAgIGlmICghdGhpcy5tYXRjaCgnKScpICYmIHRoaXMuY29uZmlnLnRvbGVyYW50KSB7XG5cdCAgICAgICAgICAgIHRoaXMudG9sZXJhdGVVbmV4cGVjdGVkVG9rZW4odGhpcy5uZXh0VG9rZW4oKSk7XG5cdCAgICAgICAgICAgIGJvZHkgPSB0aGlzLmZpbmFsaXplKHRoaXMuY3JlYXRlTm9kZSgpLCBuZXcgTm9kZS5FbXB0eVN0YXRlbWVudCgpKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgIHRoaXMuZXhwZWN0KCcpJyk7XG5cdCAgICAgICAgICAgIGJvZHkgPSB0aGlzLnBhcnNlU3RhdGVtZW50KCk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLldpdGhTdGF0ZW1lbnQob2JqZWN0LCBib2R5KSk7XG5cdCAgICB9O1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtc3dpdGNoLXN0YXRlbWVudFxuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZVN3aXRjaENhc2UgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB2YXIgdGVzdDtcblx0ICAgICAgICBpZiAodGhpcy5tYXRjaEtleXdvcmQoJ2RlZmF1bHQnKSkge1xuXHQgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICB0ZXN0ID0gbnVsbDtcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgIHRoaXMuZXhwZWN0S2V5d29yZCgnY2FzZScpO1xuXHQgICAgICAgICAgICB0ZXN0ID0gdGhpcy5wYXJzZUV4cHJlc3Npb24oKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdGhpcy5leHBlY3QoJzonKTtcblx0ICAgICAgICB2YXIgY29uc2VxdWVudCA9IFtdO1xuXHQgICAgICAgIHdoaWxlICh0cnVlKSB7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoKCd9JykgfHwgdGhpcy5tYXRjaEtleXdvcmQoJ2RlZmF1bHQnKSB8fCB0aGlzLm1hdGNoS2V5d29yZCgnY2FzZScpKSB7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBjb25zZXF1ZW50LnB1c2godGhpcy5wYXJzZVN0YXRlbWVudExpc3RJdGVtKCkpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5Td2l0Y2hDYXNlKHRlc3QsIGNvbnNlcXVlbnQpKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlU3dpdGNoU3RhdGVtZW50ID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdGhpcy5leHBlY3RLZXl3b3JkKCdzd2l0Y2gnKTtcblx0ICAgICAgICB0aGlzLmV4cGVjdCgnKCcpO1xuXHQgICAgICAgIHZhciBkaXNjcmltaW5hbnQgPSB0aGlzLnBhcnNlRXhwcmVzc2lvbigpO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0KCcpJyk7XG5cdCAgICAgICAgdmFyIHByZXZpb3VzSW5Td2l0Y2ggPSB0aGlzLmNvbnRleHQuaW5Td2l0Y2g7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmluU3dpdGNoID0gdHJ1ZTtcblx0ICAgICAgICB2YXIgY2FzZXMgPSBbXTtcblx0ICAgICAgICB2YXIgZGVmYXVsdEZvdW5kID0gZmFsc2U7XG5cdCAgICAgICAgdGhpcy5leHBlY3QoJ3snKTtcblx0ICAgICAgICB3aGlsZSAodHJ1ZSkge1xuXHQgICAgICAgICAgICBpZiAodGhpcy5tYXRjaCgnfScpKSB7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB2YXIgY2xhdXNlID0gdGhpcy5wYXJzZVN3aXRjaENhc2UoKTtcblx0ICAgICAgICAgICAgaWYgKGNsYXVzZS50ZXN0ID09PSBudWxsKSB7XG5cdCAgICAgICAgICAgICAgICBpZiAoZGVmYXVsdEZvdW5kKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy50aHJvd0Vycm9yKG1lc3NhZ2VzXzEuTWVzc2FnZXMuTXVsdGlwbGVEZWZhdWx0c0luU3dpdGNoKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGRlZmF1bHRGb3VuZCA9IHRydWU7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgY2FzZXMucHVzaChjbGF1c2UpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB0aGlzLmV4cGVjdCgnfScpO1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5pblN3aXRjaCA9IHByZXZpb3VzSW5Td2l0Y2g7XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuU3dpdGNoU3RhdGVtZW50KGRpc2NyaW1pbmFudCwgY2FzZXMpKTtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1sYWJlbGxlZC1zdGF0ZW1lbnRzXG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlTGFiZWxsZWRTdGF0ZW1lbnQgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB2YXIgZXhwciA9IHRoaXMucGFyc2VFeHByZXNzaW9uKCk7XG5cdCAgICAgICAgdmFyIHN0YXRlbWVudDtcblx0ICAgICAgICBpZiAoKGV4cHIudHlwZSA9PT0gc3ludGF4XzEuU3ludGF4LklkZW50aWZpZXIpICYmIHRoaXMubWF0Y2goJzonKSkge1xuXHQgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICB2YXIgaWQgPSBleHByO1xuXHQgICAgICAgICAgICB2YXIga2V5ID0gJyQnICsgaWQubmFtZTtcblx0ICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0aGlzLmNvbnRleHQubGFiZWxTZXQsIGtleSkpIHtcblx0ICAgICAgICAgICAgICAgIHRoaXMudGhyb3dFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLlJlZGVjbGFyYXRpb24sICdMYWJlbCcsIGlkLm5hbWUpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIHRoaXMuY29udGV4dC5sYWJlbFNldFtrZXldID0gdHJ1ZTtcblx0ICAgICAgICAgICAgdmFyIGJvZHkgPSB2b2lkIDA7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoS2V5d29yZCgnY2xhc3MnKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy50b2xlcmF0ZVVuZXhwZWN0ZWRUb2tlbih0aGlzLmxvb2thaGVhZCk7XG5cdCAgICAgICAgICAgICAgICBib2R5ID0gdGhpcy5wYXJzZUNsYXNzRGVjbGFyYXRpb24oKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmICh0aGlzLm1hdGNoS2V5d29yZCgnZnVuY3Rpb24nKSkge1xuXHQgICAgICAgICAgICAgICAgdmFyIHRva2VuID0gdGhpcy5sb29rYWhlYWQ7XG5cdCAgICAgICAgICAgICAgICB2YXIgZGVjbGFyYXRpb24gPSB0aGlzLnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbigpO1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3QpIHtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHRva2VuLCBtZXNzYWdlc18xLk1lc3NhZ2VzLlN0cmljdEZ1bmN0aW9uKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGVsc2UgaWYgKGRlY2xhcmF0aW9uLmdlbmVyYXRvcikge1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMudG9sZXJhdGVVbmV4cGVjdGVkVG9rZW4odG9rZW4sIG1lc3NhZ2VzXzEuTWVzc2FnZXMuR2VuZXJhdG9ySW5MZWdhY3lDb250ZXh0KTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGJvZHkgPSBkZWNsYXJhdGlvbjtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIGJvZHkgPSB0aGlzLnBhcnNlU3RhdGVtZW50KCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZGVsZXRlIHRoaXMuY29udGV4dC5sYWJlbFNldFtrZXldO1xuXHQgICAgICAgICAgICBzdGF0ZW1lbnQgPSBuZXcgTm9kZS5MYWJlbGVkU3RhdGVtZW50KGlkLCBib2R5KTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgIHRoaXMuY29uc3VtZVNlbWljb2xvbigpO1xuXHQgICAgICAgICAgICBzdGF0ZW1lbnQgPSBuZXcgTm9kZS5FeHByZXNzaW9uU3RhdGVtZW50KGV4cHIpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBzdGF0ZW1lbnQpO1xuXHQgICAgfTtcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXRocm93LXN0YXRlbWVudFxuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZVRocm93U3RhdGVtZW50ID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdGhpcy5leHBlY3RLZXl3b3JkKCd0aHJvdycpO1xuXHQgICAgICAgIGlmICh0aGlzLmhhc0xpbmVUZXJtaW5hdG9yKSB7XG5cdCAgICAgICAgICAgIHRoaXMudGhyb3dFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLk5ld2xpbmVBZnRlclRocm93KTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdmFyIGFyZ3VtZW50ID0gdGhpcy5wYXJzZUV4cHJlc3Npb24oKTtcblx0ICAgICAgICB0aGlzLmNvbnN1bWVTZW1pY29sb24oKTtcblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5UaHJvd1N0YXRlbWVudChhcmd1bWVudCkpO1xuXHQgICAgfTtcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXRyeS1zdGF0ZW1lbnRcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VDYXRjaENsYXVzZSA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0S2V5d29yZCgnY2F0Y2gnKTtcblx0ICAgICAgICB0aGlzLmV4cGVjdCgnKCcpO1xuXHQgICAgICAgIGlmICh0aGlzLm1hdGNoKCcpJykpIHtcblx0ICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbih0aGlzLmxvb2thaGVhZCk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHZhciBwYXJhbXMgPSBbXTtcblx0ICAgICAgICB2YXIgcGFyYW0gPSB0aGlzLnBhcnNlUGF0dGVybihwYXJhbXMpO1xuXHQgICAgICAgIHZhciBwYXJhbU1hcCA9IHt9O1xuXHQgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGFyYW1zLmxlbmd0aDsgaSsrKSB7XG5cdCAgICAgICAgICAgIHZhciBrZXkgPSAnJCcgKyBwYXJhbXNbaV0udmFsdWU7XG5cdCAgICAgICAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocGFyYW1NYXAsIGtleSkpIHtcblx0ICAgICAgICAgICAgICAgIHRoaXMudG9sZXJhdGVFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLkR1cGxpY2F0ZUJpbmRpbmcsIHBhcmFtc1tpXS52YWx1ZSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgcGFyYW1NYXBba2V5XSA9IHRydWU7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGlmICh0aGlzLmNvbnRleHQuc3RyaWN0ICYmIHBhcmFtLnR5cGUgPT09IHN5bnRheF8xLlN5bnRheC5JZGVudGlmaWVyKSB7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLnNjYW5uZXIuaXNSZXN0cmljdGVkV29yZChwYXJhbS5uYW1lKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy50b2xlcmF0ZUVycm9yKG1lc3NhZ2VzXzEuTWVzc2FnZXMuU3RyaWN0Q2F0Y2hWYXJpYWJsZSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgdGhpcy5leHBlY3QoJyknKTtcblx0ICAgICAgICB2YXIgYm9keSA9IHRoaXMucGFyc2VCbG9jaygpO1xuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLkNhdGNoQ2xhdXNlKHBhcmFtLCBib2R5KSk7XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZUZpbmFsbHlDbGF1c2UgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdGhpcy5leHBlY3RLZXl3b3JkKCdmaW5hbGx5Jyk7XG5cdCAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VCbG9jaygpO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VUcnlTdGF0ZW1lbnQgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB0aGlzLmV4cGVjdEtleXdvcmQoJ3RyeScpO1xuXHQgICAgICAgIHZhciBibG9jayA9IHRoaXMucGFyc2VCbG9jaygpO1xuXHQgICAgICAgIHZhciBoYW5kbGVyID0gdGhpcy5tYXRjaEtleXdvcmQoJ2NhdGNoJykgPyB0aGlzLnBhcnNlQ2F0Y2hDbGF1c2UoKSA6IG51bGw7XG5cdCAgICAgICAgdmFyIGZpbmFsaXplciA9IHRoaXMubWF0Y2hLZXl3b3JkKCdmaW5hbGx5JykgPyB0aGlzLnBhcnNlRmluYWxseUNsYXVzZSgpIDogbnVsbDtcblx0ICAgICAgICBpZiAoIWhhbmRsZXIgJiYgIWZpbmFsaXplcikge1xuXHQgICAgICAgICAgICB0aGlzLnRocm93RXJyb3IobWVzc2FnZXNfMS5NZXNzYWdlcy5Ob0NhdGNoT3JGaW5hbGx5KTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuVHJ5U3RhdGVtZW50KGJsb2NrLCBoYW5kbGVyLCBmaW5hbGl6ZXIpKTtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1kZWJ1Z2dlci1zdGF0ZW1lbnRcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VEZWJ1Z2dlclN0YXRlbWVudCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0S2V5d29yZCgnZGVidWdnZXInKTtcblx0ICAgICAgICB0aGlzLmNvbnN1bWVTZW1pY29sb24oKTtcblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5EZWJ1Z2dlclN0YXRlbWVudCgpKTtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1lY21hc2NyaXB0LWxhbmd1YWdlLXN0YXRlbWVudHMtYW5kLWRlY2xhcmF0aW9uc1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZVN0YXRlbWVudCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgc3RhdGVtZW50O1xuXHQgICAgICAgIHN3aXRjaCAodGhpcy5sb29rYWhlYWQudHlwZSkge1xuXHQgICAgICAgICAgICBjYXNlIDEgLyogQm9vbGVhbkxpdGVyYWwgKi86XG5cdCAgICAgICAgICAgIGNhc2UgNSAvKiBOdWxsTGl0ZXJhbCAqLzpcblx0ICAgICAgICAgICAgY2FzZSA2IC8qIE51bWVyaWNMaXRlcmFsICovOlxuXHQgICAgICAgICAgICBjYXNlIDggLyogU3RyaW5nTGl0ZXJhbCAqLzpcblx0ICAgICAgICAgICAgY2FzZSAxMCAvKiBUZW1wbGF0ZSAqLzpcblx0ICAgICAgICAgICAgY2FzZSA5IC8qIFJlZ3VsYXJFeHByZXNzaW9uICovOlxuXHQgICAgICAgICAgICAgICAgc3RhdGVtZW50ID0gdGhpcy5wYXJzZUV4cHJlc3Npb25TdGF0ZW1lbnQoKTtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBjYXNlIDcgLyogUHVuY3R1YXRvciAqLzpcblx0ICAgICAgICAgICAgICAgIHZhciB2YWx1ZSA9IHRoaXMubG9va2FoZWFkLnZhbHVlO1xuXHQgICAgICAgICAgICAgICAgaWYgKHZhbHVlID09PSAneycpIHtcblx0ICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQgPSB0aGlzLnBhcnNlQmxvY2soKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGVsc2UgaWYgKHZhbHVlID09PSAnKCcpIHtcblx0ICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQgPSB0aGlzLnBhcnNlRXhwcmVzc2lvblN0YXRlbWVudCgpO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgZWxzZSBpZiAodmFsdWUgPT09ICc7Jykge1xuXHQgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudCA9IHRoaXMucGFyc2VFbXB0eVN0YXRlbWVudCgpO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50ID0gdGhpcy5wYXJzZUV4cHJlc3Npb25TdGF0ZW1lbnQoKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBjYXNlIDMgLyogSWRlbnRpZmllciAqLzpcblx0ICAgICAgICAgICAgICAgIHN0YXRlbWVudCA9IHRoaXMubWF0Y2hBc3luY0Z1bmN0aW9uKCkgPyB0aGlzLnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbigpIDogdGhpcy5wYXJzZUxhYmVsbGVkU3RhdGVtZW50KCk7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgY2FzZSA0IC8qIEtleXdvcmQgKi86XG5cdCAgICAgICAgICAgICAgICBzd2l0Y2ggKHRoaXMubG9va2FoZWFkLnZhbHVlKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgY2FzZSAnYnJlYWsnOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQgPSB0aGlzLnBhcnNlQnJlYWtTdGF0ZW1lbnQoKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICAgICAgY2FzZSAnY29udGludWUnOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQgPSB0aGlzLnBhcnNlQ29udGludWVTdGF0ZW1lbnQoKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICAgICAgY2FzZSAnZGVidWdnZXInOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQgPSB0aGlzLnBhcnNlRGVidWdnZXJTdGF0ZW1lbnQoKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICAgICAgY2FzZSAnZG8nOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQgPSB0aGlzLnBhcnNlRG9XaGlsZVN0YXRlbWVudCgpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICBjYXNlICdmb3InOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQgPSB0aGlzLnBhcnNlRm9yU3RhdGVtZW50KCk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2Z1bmN0aW9uJzpcblx0ICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50ID0gdGhpcy5wYXJzZUZ1bmN0aW9uRGVjbGFyYXRpb24oKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICAgICAgY2FzZSAnaWYnOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQgPSB0aGlzLnBhcnNlSWZTdGF0ZW1lbnQoKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICAgICAgY2FzZSAncmV0dXJuJzpcblx0ICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50ID0gdGhpcy5wYXJzZVJldHVyblN0YXRlbWVudCgpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICBjYXNlICdzd2l0Y2gnOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQgPSB0aGlzLnBhcnNlU3dpdGNoU3RhdGVtZW50KCk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3Rocm93Jzpcblx0ICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50ID0gdGhpcy5wYXJzZVRocm93U3RhdGVtZW50KCk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3RyeSc6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHN0YXRlbWVudCA9IHRoaXMucGFyc2VUcnlTdGF0ZW1lbnQoKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICAgICAgY2FzZSAndmFyJzpcblx0ICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50ID0gdGhpcy5wYXJzZVZhcmlhYmxlU3RhdGVtZW50KCk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3doaWxlJzpcblx0ICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGVtZW50ID0gdGhpcy5wYXJzZVdoaWxlU3RhdGVtZW50KCk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3dpdGgnOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQgPSB0aGlzLnBhcnNlV2l0aFN0YXRlbWVudCgpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OlxuXHQgICAgICAgICAgICAgICAgICAgICAgICBzdGF0ZW1lbnQgPSB0aGlzLnBhcnNlRXhwcmVzc2lvblN0YXRlbWVudCgpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBkZWZhdWx0OlxuXHQgICAgICAgICAgICAgICAgc3RhdGVtZW50ID0gdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbih0aGlzLmxvb2thaGVhZCk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiBzdGF0ZW1lbnQ7XG5cdCAgICB9O1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtZnVuY3Rpb24tZGVmaW5pdGlvbnNcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VGdW5jdGlvblNvdXJjZUVsZW1lbnRzID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdGhpcy5leHBlY3QoJ3snKTtcblx0ICAgICAgICB2YXIgYm9keSA9IHRoaXMucGFyc2VEaXJlY3RpdmVQcm9sb2d1ZXMoKTtcblx0ICAgICAgICB2YXIgcHJldmlvdXNMYWJlbFNldCA9IHRoaXMuY29udGV4dC5sYWJlbFNldDtcblx0ICAgICAgICB2YXIgcHJldmlvdXNJbkl0ZXJhdGlvbiA9IHRoaXMuY29udGV4dC5pbkl0ZXJhdGlvbjtcblx0ICAgICAgICB2YXIgcHJldmlvdXNJblN3aXRjaCA9IHRoaXMuY29udGV4dC5pblN3aXRjaDtcblx0ICAgICAgICB2YXIgcHJldmlvdXNJbkZ1bmN0aW9uQm9keSA9IHRoaXMuY29udGV4dC5pbkZ1bmN0aW9uQm9keTtcblx0ICAgICAgICB0aGlzLmNvbnRleHQubGFiZWxTZXQgPSB7fTtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuaW5JdGVyYXRpb24gPSBmYWxzZTtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuaW5Td2l0Y2ggPSBmYWxzZTtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuaW5GdW5jdGlvbkJvZHkgPSB0cnVlO1xuXHQgICAgICAgIHdoaWxlICh0aGlzLmxvb2thaGVhZC50eXBlICE9PSAyIC8qIEVPRiAqLykge1xuXHQgICAgICAgICAgICBpZiAodGhpcy5tYXRjaCgnfScpKSB7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBib2R5LnB1c2godGhpcy5wYXJzZVN0YXRlbWVudExpc3RJdGVtKCkpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB0aGlzLmV4cGVjdCgnfScpO1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5sYWJlbFNldCA9IHByZXZpb3VzTGFiZWxTZXQ7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmluSXRlcmF0aW9uID0gcHJldmlvdXNJbkl0ZXJhdGlvbjtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuaW5Td2l0Y2ggPSBwcmV2aW91c0luU3dpdGNoO1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5pbkZ1bmN0aW9uQm9keSA9IHByZXZpb3VzSW5GdW5jdGlvbkJvZHk7XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuQmxvY2tTdGF0ZW1lbnQoYm9keSkpO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUudmFsaWRhdGVQYXJhbSA9IGZ1bmN0aW9uIChvcHRpb25zLCBwYXJhbSwgbmFtZSkge1xuXHQgICAgICAgIHZhciBrZXkgPSAnJCcgKyBuYW1lO1xuXHQgICAgICAgIGlmICh0aGlzLmNvbnRleHQuc3RyaWN0KSB7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLnNjYW5uZXIuaXNSZXN0cmljdGVkV29yZChuYW1lKSkge1xuXHQgICAgICAgICAgICAgICAgb3B0aW9ucy5zdHJpY3RlZCA9IHBhcmFtO1xuXHQgICAgICAgICAgICAgICAgb3B0aW9ucy5tZXNzYWdlID0gbWVzc2FnZXNfMS5NZXNzYWdlcy5TdHJpY3RQYXJhbU5hbWU7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvcHRpb25zLnBhcmFtU2V0LCBrZXkpKSB7XG5cdCAgICAgICAgICAgICAgICBvcHRpb25zLnN0cmljdGVkID0gcGFyYW07XG5cdCAgICAgICAgICAgICAgICBvcHRpb25zLm1lc3NhZ2UgPSBtZXNzYWdlc18xLk1lc3NhZ2VzLlN0cmljdFBhcmFtRHVwZTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIGlmICghb3B0aW9ucy5maXJzdFJlc3RyaWN0ZWQpIHtcblx0ICAgICAgICAgICAgaWYgKHRoaXMuc2Nhbm5lci5pc1Jlc3RyaWN0ZWRXb3JkKG5hbWUpKSB7XG5cdCAgICAgICAgICAgICAgICBvcHRpb25zLmZpcnN0UmVzdHJpY3RlZCA9IHBhcmFtO1xuXHQgICAgICAgICAgICAgICAgb3B0aW9ucy5tZXNzYWdlID0gbWVzc2FnZXNfMS5NZXNzYWdlcy5TdHJpY3RQYXJhbU5hbWU7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5zY2FubmVyLmlzU3RyaWN0TW9kZVJlc2VydmVkV29yZChuYW1lKSkge1xuXHQgICAgICAgICAgICAgICAgb3B0aW9ucy5maXJzdFJlc3RyaWN0ZWQgPSBwYXJhbTtcblx0ICAgICAgICAgICAgICAgIG9wdGlvbnMubWVzc2FnZSA9IG1lc3NhZ2VzXzEuTWVzc2FnZXMuU3RyaWN0UmVzZXJ2ZWRXb3JkO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2UgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChvcHRpb25zLnBhcmFtU2V0LCBrZXkpKSB7XG5cdCAgICAgICAgICAgICAgICBvcHRpb25zLnN0cmljdGVkID0gcGFyYW07XG5cdCAgICAgICAgICAgICAgICBvcHRpb25zLm1lc3NhZ2UgPSBtZXNzYWdlc18xLk1lc3NhZ2VzLlN0cmljdFBhcmFtRHVwZTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXHQgICAgICAgIGlmICh0eXBlb2YgT2JqZWN0LmRlZmluZVByb3BlcnR5ID09PSAnZnVuY3Rpb24nKSB7XG5cdCAgICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvcHRpb25zLnBhcmFtU2V0LCBrZXksIHsgdmFsdWU6IHRydWUsIGVudW1lcmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUgfSk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICBvcHRpb25zLnBhcmFtU2V0W2tleV0gPSB0cnVlO1xuXHQgICAgICAgIH1cblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlUmVzdEVsZW1lbnQgPSBmdW5jdGlvbiAocGFyYW1zKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB0aGlzLmV4cGVjdCgnLi4uJyk7XG5cdCAgICAgICAgdmFyIGFyZyA9IHRoaXMucGFyc2VQYXR0ZXJuKHBhcmFtcyk7XG5cdCAgICAgICAgaWYgKHRoaXMubWF0Y2goJz0nKSkge1xuXHQgICAgICAgICAgICB0aGlzLnRocm93RXJyb3IobWVzc2FnZXNfMS5NZXNzYWdlcy5EZWZhdWx0UmVzdFBhcmFtZXRlcik7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGlmICghdGhpcy5tYXRjaCgnKScpKSB7XG5cdCAgICAgICAgICAgIHRoaXMudGhyb3dFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLlBhcmFtZXRlckFmdGVyUmVzdFBhcmFtZXRlcik7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLlJlc3RFbGVtZW50KGFyZykpO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VGb3JtYWxQYXJhbWV0ZXIgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuXHQgICAgICAgIHZhciBwYXJhbXMgPSBbXTtcblx0ICAgICAgICB2YXIgcGFyYW0gPSB0aGlzLm1hdGNoKCcuLi4nKSA/IHRoaXMucGFyc2VSZXN0RWxlbWVudChwYXJhbXMpIDogdGhpcy5wYXJzZVBhdHRlcm5XaXRoRGVmYXVsdChwYXJhbXMpO1xuXHQgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgcGFyYW1zLmxlbmd0aDsgaSsrKSB7XG5cdCAgICAgICAgICAgIHRoaXMudmFsaWRhdGVQYXJhbShvcHRpb25zLCBwYXJhbXNbaV0sIHBhcmFtc1tpXS52YWx1ZSk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIG9wdGlvbnMuc2ltcGxlID0gb3B0aW9ucy5zaW1wbGUgJiYgKHBhcmFtIGluc3RhbmNlb2YgTm9kZS5JZGVudGlmaWVyKTtcblx0ICAgICAgICBvcHRpb25zLnBhcmFtcy5wdXNoKHBhcmFtKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlRm9ybWFsUGFyYW1ldGVycyA9IGZ1bmN0aW9uIChmaXJzdFJlc3RyaWN0ZWQpIHtcblx0ICAgICAgICB2YXIgb3B0aW9ucztcblx0ICAgICAgICBvcHRpb25zID0ge1xuXHQgICAgICAgICAgICBzaW1wbGU6IHRydWUsXG5cdCAgICAgICAgICAgIHBhcmFtczogW10sXG5cdCAgICAgICAgICAgIGZpcnN0UmVzdHJpY3RlZDogZmlyc3RSZXN0cmljdGVkXG5cdCAgICAgICAgfTtcblx0ICAgICAgICB0aGlzLmV4cGVjdCgnKCcpO1xuXHQgICAgICAgIGlmICghdGhpcy5tYXRjaCgnKScpKSB7XG5cdCAgICAgICAgICAgIG9wdGlvbnMucGFyYW1TZXQgPSB7fTtcblx0ICAgICAgICAgICAgd2hpbGUgKHRoaXMubG9va2FoZWFkLnR5cGUgIT09IDIgLyogRU9GICovKSB7XG5cdCAgICAgICAgICAgICAgICB0aGlzLnBhcnNlRm9ybWFsUGFyYW1ldGVyKG9wdGlvbnMpO1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2goJyknKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgdGhpcy5leHBlY3QoJywnKTtcblx0ICAgICAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoKCcpJykpIHtcblx0ICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICB0aGlzLmV4cGVjdCgnKScpO1xuXHQgICAgICAgIHJldHVybiB7XG5cdCAgICAgICAgICAgIHNpbXBsZTogb3B0aW9ucy5zaW1wbGUsXG5cdCAgICAgICAgICAgIHBhcmFtczogb3B0aW9ucy5wYXJhbXMsXG5cdCAgICAgICAgICAgIHN0cmljdGVkOiBvcHRpb25zLnN0cmljdGVkLFxuXHQgICAgICAgICAgICBmaXJzdFJlc3RyaWN0ZWQ6IG9wdGlvbnMuZmlyc3RSZXN0cmljdGVkLFxuXHQgICAgICAgICAgICBtZXNzYWdlOiBvcHRpb25zLm1lc3NhZ2Vcblx0ICAgICAgICB9O1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUubWF0Y2hBc3luY0Z1bmN0aW9uID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBtYXRjaCA9IHRoaXMubWF0Y2hDb250ZXh0dWFsS2V5d29yZCgnYXN5bmMnKTtcblx0ICAgICAgICBpZiAobWF0Y2gpIHtcblx0ICAgICAgICAgICAgdmFyIHN0YXRlID0gdGhpcy5zY2FubmVyLnNhdmVTdGF0ZSgpO1xuXHQgICAgICAgICAgICB0aGlzLnNjYW5uZXIuc2NhbkNvbW1lbnRzKCk7XG5cdCAgICAgICAgICAgIHZhciBuZXh0ID0gdGhpcy5zY2FubmVyLmxleCgpO1xuXHQgICAgICAgICAgICB0aGlzLnNjYW5uZXIucmVzdG9yZVN0YXRlKHN0YXRlKTtcblx0ICAgICAgICAgICAgbWF0Y2ggPSAoc3RhdGUubGluZU51bWJlciA9PT0gbmV4dC5saW5lTnVtYmVyKSAmJiAobmV4dC50eXBlID09PSA0IC8qIEtleXdvcmQgKi8pICYmIChuZXh0LnZhbHVlID09PSAnZnVuY3Rpb24nKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIG1hdGNoO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uID0gZnVuY3Rpb24gKGlkZW50aWZpZXJJc09wdGlvbmFsKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB2YXIgaXNBc3luYyA9IHRoaXMubWF0Y2hDb250ZXh0dWFsS2V5d29yZCgnYXN5bmMnKTtcblx0ICAgICAgICBpZiAoaXNBc3luYykge1xuXHQgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB0aGlzLmV4cGVjdEtleXdvcmQoJ2Z1bmN0aW9uJyk7XG5cdCAgICAgICAgdmFyIGlzR2VuZXJhdG9yID0gaXNBc3luYyA/IGZhbHNlIDogdGhpcy5tYXRjaCgnKicpO1xuXHQgICAgICAgIGlmIChpc0dlbmVyYXRvcikge1xuXHQgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB2YXIgbWVzc2FnZTtcblx0ICAgICAgICB2YXIgaWQgPSBudWxsO1xuXHQgICAgICAgIHZhciBmaXJzdFJlc3RyaWN0ZWQgPSBudWxsO1xuXHQgICAgICAgIGlmICghaWRlbnRpZmllcklzT3B0aW9uYWwgfHwgIXRoaXMubWF0Y2goJygnKSkge1xuXHQgICAgICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLmxvb2thaGVhZDtcblx0ICAgICAgICAgICAgaWQgPSB0aGlzLnBhcnNlVmFyaWFibGVJZGVudGlmaWVyKCk7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLmNvbnRleHQuc3RyaWN0KSB7XG5cdCAgICAgICAgICAgICAgICBpZiAodGhpcy5zY2FubmVyLmlzUmVzdHJpY3RlZFdvcmQodG9rZW4udmFsdWUpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy50b2xlcmF0ZVVuZXhwZWN0ZWRUb2tlbih0b2tlbiwgbWVzc2FnZXNfMS5NZXNzYWdlcy5TdHJpY3RGdW5jdGlvbk5hbWUpO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2Nhbm5lci5pc1Jlc3RyaWN0ZWRXb3JkKHRva2VuLnZhbHVlKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIGZpcnN0UmVzdHJpY3RlZCA9IHRva2VuO1xuXHQgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlc18xLk1lc3NhZ2VzLlN0cmljdEZ1bmN0aW9uTmFtZTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuc2Nhbm5lci5pc1N0cmljdE1vZGVSZXNlcnZlZFdvcmQodG9rZW4udmFsdWUpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgZmlyc3RSZXN0cmljdGVkID0gdG9rZW47XG5cdCAgICAgICAgICAgICAgICAgICAgbWVzc2FnZSA9IG1lc3NhZ2VzXzEuTWVzc2FnZXMuU3RyaWN0UmVzZXJ2ZWRXb3JkO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHZhciBwcmV2aW91c0FsbG93QXdhaXQgPSB0aGlzLmNvbnRleHQuYXdhaXQ7XG5cdCAgICAgICAgdmFyIHByZXZpb3VzQWxsb3dZaWVsZCA9IHRoaXMuY29udGV4dC5hbGxvd1lpZWxkO1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5hd2FpdCA9IGlzQXN5bmM7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93WWllbGQgPSAhaXNHZW5lcmF0b3I7XG5cdCAgICAgICAgdmFyIGZvcm1hbFBhcmFtZXRlcnMgPSB0aGlzLnBhcnNlRm9ybWFsUGFyYW1ldGVycyhmaXJzdFJlc3RyaWN0ZWQpO1xuXHQgICAgICAgIHZhciBwYXJhbXMgPSBmb3JtYWxQYXJhbWV0ZXJzLnBhcmFtcztcblx0ICAgICAgICB2YXIgc3RyaWN0ZWQgPSBmb3JtYWxQYXJhbWV0ZXJzLnN0cmljdGVkO1xuXHQgICAgICAgIGZpcnN0UmVzdHJpY3RlZCA9IGZvcm1hbFBhcmFtZXRlcnMuZmlyc3RSZXN0cmljdGVkO1xuXHQgICAgICAgIGlmIChmb3JtYWxQYXJhbWV0ZXJzLm1lc3NhZ2UpIHtcblx0ICAgICAgICAgICAgbWVzc2FnZSA9IGZvcm1hbFBhcmFtZXRlcnMubWVzc2FnZTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdmFyIHByZXZpb3VzU3RyaWN0ID0gdGhpcy5jb250ZXh0LnN0cmljdDtcblx0ICAgICAgICB2YXIgcHJldmlvdXNBbGxvd1N0cmljdERpcmVjdGl2ZSA9IHRoaXMuY29udGV4dC5hbGxvd1N0cmljdERpcmVjdGl2ZTtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuYWxsb3dTdHJpY3REaXJlY3RpdmUgPSBmb3JtYWxQYXJhbWV0ZXJzLnNpbXBsZTtcblx0ICAgICAgICB2YXIgYm9keSA9IHRoaXMucGFyc2VGdW5jdGlvblNvdXJjZUVsZW1lbnRzKCk7XG5cdCAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3QgJiYgZmlyc3RSZXN0cmljdGVkKSB7XG5cdCAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4oZmlyc3RSZXN0cmljdGVkLCBtZXNzYWdlKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgaWYgKHRoaXMuY29udGV4dC5zdHJpY3QgJiYgc3RyaWN0ZWQpIHtcblx0ICAgICAgICAgICAgdGhpcy50b2xlcmF0ZVVuZXhwZWN0ZWRUb2tlbihzdHJpY3RlZCwgbWVzc2FnZSk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHRoaXMuY29udGV4dC5zdHJpY3QgPSBwcmV2aW91c1N0cmljdDtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuYWxsb3dTdHJpY3REaXJlY3RpdmUgPSBwcmV2aW91c0FsbG93U3RyaWN0RGlyZWN0aXZlO1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5hd2FpdCA9IHByZXZpb3VzQWxsb3dBd2FpdDtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuYWxsb3dZaWVsZCA9IHByZXZpb3VzQWxsb3dZaWVsZDtcblx0ICAgICAgICByZXR1cm4gaXNBc3luYyA/IHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uKGlkLCBwYXJhbXMsIGJvZHkpKSA6XG5cdCAgICAgICAgICAgIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuRnVuY3Rpb25EZWNsYXJhdGlvbihpZCwgcGFyYW1zLCBib2R5LCBpc0dlbmVyYXRvcikpO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VGdW5jdGlvbkV4cHJlc3Npb24gPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB2YXIgaXNBc3luYyA9IHRoaXMubWF0Y2hDb250ZXh0dWFsS2V5d29yZCgnYXN5bmMnKTtcblx0ICAgICAgICBpZiAoaXNBc3luYykge1xuXHQgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB0aGlzLmV4cGVjdEtleXdvcmQoJ2Z1bmN0aW9uJyk7XG5cdCAgICAgICAgdmFyIGlzR2VuZXJhdG9yID0gaXNBc3luYyA/IGZhbHNlIDogdGhpcy5tYXRjaCgnKicpO1xuXHQgICAgICAgIGlmIChpc0dlbmVyYXRvcikge1xuXHQgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB2YXIgbWVzc2FnZTtcblx0ICAgICAgICB2YXIgaWQgPSBudWxsO1xuXHQgICAgICAgIHZhciBmaXJzdFJlc3RyaWN0ZWQ7XG5cdCAgICAgICAgdmFyIHByZXZpb3VzQWxsb3dBd2FpdCA9IHRoaXMuY29udGV4dC5hd2FpdDtcblx0ICAgICAgICB2YXIgcHJldmlvdXNBbGxvd1lpZWxkID0gdGhpcy5jb250ZXh0LmFsbG93WWllbGQ7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmF3YWl0ID0gaXNBc3luYztcblx0ICAgICAgICB0aGlzLmNvbnRleHQuYWxsb3dZaWVsZCA9ICFpc0dlbmVyYXRvcjtcblx0ICAgICAgICBpZiAoIXRoaXMubWF0Y2goJygnKSkge1xuXHQgICAgICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLmxvb2thaGVhZDtcblx0ICAgICAgICAgICAgaWQgPSAoIXRoaXMuY29udGV4dC5zdHJpY3QgJiYgIWlzR2VuZXJhdG9yICYmIHRoaXMubWF0Y2hLZXl3b3JkKCd5aWVsZCcpKSA/IHRoaXMucGFyc2VJZGVudGlmaWVyTmFtZSgpIDogdGhpcy5wYXJzZVZhcmlhYmxlSWRlbnRpZmllcigpO1xuXHQgICAgICAgICAgICBpZiAodGhpcy5jb250ZXh0LnN0cmljdCkge1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMuc2Nhbm5lci5pc1Jlc3RyaWN0ZWRXb3JkKHRva2VuLnZhbHVlKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMudG9sZXJhdGVVbmV4cGVjdGVkVG9rZW4odG9rZW4sIG1lc3NhZ2VzXzEuTWVzc2FnZXMuU3RyaWN0RnVuY3Rpb25OYW1lKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIGlmICh0aGlzLnNjYW5uZXIuaXNSZXN0cmljdGVkV29yZCh0b2tlbi52YWx1ZSkpIHtcblx0ICAgICAgICAgICAgICAgICAgICBmaXJzdFJlc3RyaWN0ZWQgPSB0b2tlbjtcblx0ICAgICAgICAgICAgICAgICAgICBtZXNzYWdlID0gbWVzc2FnZXNfMS5NZXNzYWdlcy5TdHJpY3RGdW5jdGlvbk5hbWU7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLnNjYW5uZXIuaXNTdHJpY3RNb2RlUmVzZXJ2ZWRXb3JkKHRva2VuLnZhbHVlKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIGZpcnN0UmVzdHJpY3RlZCA9IHRva2VuO1xuXHQgICAgICAgICAgICAgICAgICAgIG1lc3NhZ2UgPSBtZXNzYWdlc18xLk1lc3NhZ2VzLlN0cmljdFJlc2VydmVkV29yZDtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICB2YXIgZm9ybWFsUGFyYW1ldGVycyA9IHRoaXMucGFyc2VGb3JtYWxQYXJhbWV0ZXJzKGZpcnN0UmVzdHJpY3RlZCk7XG5cdCAgICAgICAgdmFyIHBhcmFtcyA9IGZvcm1hbFBhcmFtZXRlcnMucGFyYW1zO1xuXHQgICAgICAgIHZhciBzdHJpY3RlZCA9IGZvcm1hbFBhcmFtZXRlcnMuc3RyaWN0ZWQ7XG5cdCAgICAgICAgZmlyc3RSZXN0cmljdGVkID0gZm9ybWFsUGFyYW1ldGVycy5maXJzdFJlc3RyaWN0ZWQ7XG5cdCAgICAgICAgaWYgKGZvcm1hbFBhcmFtZXRlcnMubWVzc2FnZSkge1xuXHQgICAgICAgICAgICBtZXNzYWdlID0gZm9ybWFsUGFyYW1ldGVycy5tZXNzYWdlO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB2YXIgcHJldmlvdXNTdHJpY3QgPSB0aGlzLmNvbnRleHQuc3RyaWN0O1xuXHQgICAgICAgIHZhciBwcmV2aW91c0FsbG93U3RyaWN0RGlyZWN0aXZlID0gdGhpcy5jb250ZXh0LmFsbG93U3RyaWN0RGlyZWN0aXZlO1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5hbGxvd1N0cmljdERpcmVjdGl2ZSA9IGZvcm1hbFBhcmFtZXRlcnMuc2ltcGxlO1xuXHQgICAgICAgIHZhciBib2R5ID0gdGhpcy5wYXJzZUZ1bmN0aW9uU291cmNlRWxlbWVudHMoKTtcblx0ICAgICAgICBpZiAodGhpcy5jb250ZXh0LnN0cmljdCAmJiBmaXJzdFJlc3RyaWN0ZWQpIHtcblx0ICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbihmaXJzdFJlc3RyaWN0ZWQsIG1lc3NhZ2UpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAodGhpcy5jb250ZXh0LnN0cmljdCAmJiBzdHJpY3RlZCkge1xuXHQgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHN0cmljdGVkLCBtZXNzYWdlKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LnN0cmljdCA9IHByZXZpb3VzU3RyaWN0O1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5hbGxvd1N0cmljdERpcmVjdGl2ZSA9IHByZXZpb3VzQWxsb3dTdHJpY3REaXJlY3RpdmU7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmF3YWl0ID0gcHJldmlvdXNBbGxvd0F3YWl0O1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5hbGxvd1lpZWxkID0gcHJldmlvdXNBbGxvd1lpZWxkO1xuXHQgICAgICAgIHJldHVybiBpc0FzeW5jID8gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5Bc3luY0Z1bmN0aW9uRXhwcmVzc2lvbihpZCwgcGFyYW1zLCBib2R5KSkgOlxuXHQgICAgICAgICAgICB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLkZ1bmN0aW9uRXhwcmVzc2lvbihpZCwgcGFyYW1zLCBib2R5LCBpc0dlbmVyYXRvcikpO1xuXHQgICAgfTtcblx0ICAgIC8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLWRpcmVjdGl2ZS1wcm9sb2d1ZXMtYW5kLXRoZS11c2Utc3RyaWN0LWRpcmVjdGl2ZVxuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZURpcmVjdGl2ZSA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLmxvb2thaGVhZDtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHZhciBleHByID0gdGhpcy5wYXJzZUV4cHJlc3Npb24oKTtcblx0ICAgICAgICB2YXIgZGlyZWN0aXZlID0gKGV4cHIudHlwZSA9PT0gc3ludGF4XzEuU3ludGF4LkxpdGVyYWwpID8gdGhpcy5nZXRUb2tlblJhdyh0b2tlbikuc2xpY2UoMSwgLTEpIDogbnVsbDtcblx0ICAgICAgICB0aGlzLmNvbnN1bWVTZW1pY29sb24oKTtcblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBkaXJlY3RpdmUgPyBuZXcgTm9kZS5EaXJlY3RpdmUoZXhwciwgZGlyZWN0aXZlKSA6IG5ldyBOb2RlLkV4cHJlc3Npb25TdGF0ZW1lbnQoZXhwcikpO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VEaXJlY3RpdmVQcm9sb2d1ZXMgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIGZpcnN0UmVzdHJpY3RlZCA9IG51bGw7XG5cdCAgICAgICAgdmFyIGJvZHkgPSBbXTtcblx0ICAgICAgICB3aGlsZSAodHJ1ZSkge1xuXHQgICAgICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLmxvb2thaGVhZDtcblx0ICAgICAgICAgICAgaWYgKHRva2VuLnR5cGUgIT09IDggLyogU3RyaW5nTGl0ZXJhbCAqLykge1xuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgdmFyIHN0YXRlbWVudCA9IHRoaXMucGFyc2VEaXJlY3RpdmUoKTtcblx0ICAgICAgICAgICAgYm9keS5wdXNoKHN0YXRlbWVudCk7XG5cdCAgICAgICAgICAgIHZhciBkaXJlY3RpdmUgPSBzdGF0ZW1lbnQuZGlyZWN0aXZlO1xuXHQgICAgICAgICAgICBpZiAodHlwZW9mIGRpcmVjdGl2ZSAhPT0gJ3N0cmluZycpIHtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGlmIChkaXJlY3RpdmUgPT09ICd1c2Ugc3RyaWN0Jykge1xuXHQgICAgICAgICAgICAgICAgdGhpcy5jb250ZXh0LnN0cmljdCA9IHRydWU7XG5cdCAgICAgICAgICAgICAgICBpZiAoZmlyc3RSZXN0cmljdGVkKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy50b2xlcmF0ZVVuZXhwZWN0ZWRUb2tlbihmaXJzdFJlc3RyaWN0ZWQsIG1lc3NhZ2VzXzEuTWVzc2FnZXMuU3RyaWN0T2N0YWxMaXRlcmFsKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGlmICghdGhpcy5jb250ZXh0LmFsbG93U3RyaWN0RGlyZWN0aXZlKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy50b2xlcmF0ZVVuZXhwZWN0ZWRUb2tlbih0b2tlbiwgbWVzc2FnZXNfMS5NZXNzYWdlcy5JbGxlZ2FsTGFuZ3VhZ2VNb2RlRGlyZWN0aXZlKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIGlmICghZmlyc3RSZXN0cmljdGVkICYmIHRva2VuLm9jdGFsKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgZmlyc3RSZXN0cmljdGVkID0gdG9rZW47XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIGJvZHk7XG5cdCAgICB9O1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtbWV0aG9kLWRlZmluaXRpb25zXG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnF1YWxpZmllZFByb3BlcnR5TmFtZSA9IGZ1bmN0aW9uICh0b2tlbikge1xuXHQgICAgICAgIHN3aXRjaCAodG9rZW4udHlwZSkge1xuXHQgICAgICAgICAgICBjYXNlIDMgLyogSWRlbnRpZmllciAqLzpcblx0ICAgICAgICAgICAgY2FzZSA4IC8qIFN0cmluZ0xpdGVyYWwgKi86XG5cdCAgICAgICAgICAgIGNhc2UgMSAvKiBCb29sZWFuTGl0ZXJhbCAqLzpcblx0ICAgICAgICAgICAgY2FzZSA1IC8qIE51bGxMaXRlcmFsICovOlxuXHQgICAgICAgICAgICBjYXNlIDYgLyogTnVtZXJpY0xpdGVyYWwgKi86XG5cdCAgICAgICAgICAgIGNhc2UgNCAvKiBLZXl3b3JkICovOlxuXHQgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG5cdCAgICAgICAgICAgIGNhc2UgNyAvKiBQdW5jdHVhdG9yICovOlxuXHQgICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuLnZhbHVlID09PSAnWyc7XG5cdCAgICAgICAgICAgIGRlZmF1bHQ6XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIGZhbHNlO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VHZXR0ZXJNZXRob2QgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB2YXIgaXNHZW5lcmF0b3IgPSBmYWxzZTtcblx0ICAgICAgICB2YXIgcHJldmlvdXNBbGxvd1lpZWxkID0gdGhpcy5jb250ZXh0LmFsbG93WWllbGQ7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93WWllbGQgPSAhaXNHZW5lcmF0b3I7XG5cdCAgICAgICAgdmFyIGZvcm1hbFBhcmFtZXRlcnMgPSB0aGlzLnBhcnNlRm9ybWFsUGFyYW1ldGVycygpO1xuXHQgICAgICAgIGlmIChmb3JtYWxQYXJhbWV0ZXJzLnBhcmFtcy5sZW5ndGggPiAwKSB7XG5cdCAgICAgICAgICAgIHRoaXMudG9sZXJhdGVFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLkJhZEdldHRlckFyaXR5KTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdmFyIG1ldGhvZCA9IHRoaXMucGFyc2VQcm9wZXJ0eU1ldGhvZChmb3JtYWxQYXJhbWV0ZXJzKTtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuYWxsb3dZaWVsZCA9IHByZXZpb3VzQWxsb3dZaWVsZDtcblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5GdW5jdGlvbkV4cHJlc3Npb24obnVsbCwgZm9ybWFsUGFyYW1ldGVycy5wYXJhbXMsIG1ldGhvZCwgaXNHZW5lcmF0b3IpKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlU2V0dGVyTWV0aG9kID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdmFyIGlzR2VuZXJhdG9yID0gZmFsc2U7XG5cdCAgICAgICAgdmFyIHByZXZpb3VzQWxsb3dZaWVsZCA9IHRoaXMuY29udGV4dC5hbGxvd1lpZWxkO1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5hbGxvd1lpZWxkID0gIWlzR2VuZXJhdG9yO1xuXHQgICAgICAgIHZhciBmb3JtYWxQYXJhbWV0ZXJzID0gdGhpcy5wYXJzZUZvcm1hbFBhcmFtZXRlcnMoKTtcblx0ICAgICAgICBpZiAoZm9ybWFsUGFyYW1ldGVycy5wYXJhbXMubGVuZ3RoICE9PSAxKSB7XG5cdCAgICAgICAgICAgIHRoaXMudG9sZXJhdGVFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLkJhZFNldHRlckFyaXR5KTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSBpZiAoZm9ybWFsUGFyYW1ldGVycy5wYXJhbXNbMF0gaW5zdGFuY2VvZiBOb2RlLlJlc3RFbGVtZW50KSB7XG5cdCAgICAgICAgICAgIHRoaXMudG9sZXJhdGVFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLkJhZFNldHRlclJlc3RQYXJhbWV0ZXIpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB2YXIgbWV0aG9kID0gdGhpcy5wYXJzZVByb3BlcnR5TWV0aG9kKGZvcm1hbFBhcmFtZXRlcnMpO1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5hbGxvd1lpZWxkID0gcHJldmlvdXNBbGxvd1lpZWxkO1xuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLkZ1bmN0aW9uRXhwcmVzc2lvbihudWxsLCBmb3JtYWxQYXJhbWV0ZXJzLnBhcmFtcywgbWV0aG9kLCBpc0dlbmVyYXRvcikpO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VHZW5lcmF0b3JNZXRob2QgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB2YXIgaXNHZW5lcmF0b3IgPSB0cnVlO1xuXHQgICAgICAgIHZhciBwcmV2aW91c0FsbG93WWllbGQgPSB0aGlzLmNvbnRleHQuYWxsb3dZaWVsZDtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuYWxsb3dZaWVsZCA9IHRydWU7XG5cdCAgICAgICAgdmFyIHBhcmFtcyA9IHRoaXMucGFyc2VGb3JtYWxQYXJhbWV0ZXJzKCk7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93WWllbGQgPSBmYWxzZTtcblx0ICAgICAgICB2YXIgbWV0aG9kID0gdGhpcy5wYXJzZVByb3BlcnR5TWV0aG9kKHBhcmFtcyk7XG5cdCAgICAgICAgdGhpcy5jb250ZXh0LmFsbG93WWllbGQgPSBwcmV2aW91c0FsbG93WWllbGQ7XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuRnVuY3Rpb25FeHByZXNzaW9uKG51bGwsIHBhcmFtcy5wYXJhbXMsIG1ldGhvZCwgaXNHZW5lcmF0b3IpKTtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1nZW5lcmF0b3ItZnVuY3Rpb24tZGVmaW5pdGlvbnNcblx0ICAgIFBhcnNlci5wcm90b3R5cGUuaXNTdGFydE9mRXhwcmVzc2lvbiA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgc3RhcnQgPSB0cnVlO1xuXHQgICAgICAgIHZhciB2YWx1ZSA9IHRoaXMubG9va2FoZWFkLnZhbHVlO1xuXHQgICAgICAgIHN3aXRjaCAodGhpcy5sb29rYWhlYWQudHlwZSkge1xuXHQgICAgICAgICAgICBjYXNlIDcgLyogUHVuY3R1YXRvciAqLzpcblx0ICAgICAgICAgICAgICAgIHN0YXJ0ID0gKHZhbHVlID09PSAnWycpIHx8ICh2YWx1ZSA9PT0gJygnKSB8fCAodmFsdWUgPT09ICd7JykgfHxcblx0ICAgICAgICAgICAgICAgICAgICAodmFsdWUgPT09ICcrJykgfHwgKHZhbHVlID09PSAnLScpIHx8XG5cdCAgICAgICAgICAgICAgICAgICAgKHZhbHVlID09PSAnIScpIHx8ICh2YWx1ZSA9PT0gJ34nKSB8fFxuXHQgICAgICAgICAgICAgICAgICAgICh2YWx1ZSA9PT0gJysrJykgfHwgKHZhbHVlID09PSAnLS0nKSB8fFxuXHQgICAgICAgICAgICAgICAgICAgICh2YWx1ZSA9PT0gJy8nKSB8fCAodmFsdWUgPT09ICcvPScpOyAvLyByZWd1bGFyIGV4cHJlc3Npb24gbGl0ZXJhbFxuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIGNhc2UgNCAvKiBLZXl3b3JkICovOlxuXHQgICAgICAgICAgICAgICAgc3RhcnQgPSAodmFsdWUgPT09ICdjbGFzcycpIHx8ICh2YWx1ZSA9PT0gJ2RlbGV0ZScpIHx8XG5cdCAgICAgICAgICAgICAgICAgICAgKHZhbHVlID09PSAnZnVuY3Rpb24nKSB8fCAodmFsdWUgPT09ICdsZXQnKSB8fCAodmFsdWUgPT09ICduZXcnKSB8fFxuXHQgICAgICAgICAgICAgICAgICAgICh2YWx1ZSA9PT0gJ3N1cGVyJykgfHwgKHZhbHVlID09PSAndGhpcycpIHx8ICh2YWx1ZSA9PT0gJ3R5cGVvZicpIHx8XG5cdCAgICAgICAgICAgICAgICAgICAgKHZhbHVlID09PSAndm9pZCcpIHx8ICh2YWx1ZSA9PT0gJ3lpZWxkJyk7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgZGVmYXVsdDpcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gc3RhcnQ7XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZVlpZWxkRXhwcmVzc2lvbiA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHRoaXMuZXhwZWN0S2V5d29yZCgneWllbGQnKTtcblx0ICAgICAgICB2YXIgYXJndW1lbnQgPSBudWxsO1xuXHQgICAgICAgIHZhciBkZWxlZ2F0ZSA9IGZhbHNlO1xuXHQgICAgICAgIGlmICghdGhpcy5oYXNMaW5lVGVybWluYXRvcikge1xuXHQgICAgICAgICAgICB2YXIgcHJldmlvdXNBbGxvd1lpZWxkID0gdGhpcy5jb250ZXh0LmFsbG93WWllbGQ7XG5cdCAgICAgICAgICAgIHRoaXMuY29udGV4dC5hbGxvd1lpZWxkID0gZmFsc2U7XG5cdCAgICAgICAgICAgIGRlbGVnYXRlID0gdGhpcy5tYXRjaCgnKicpO1xuXHQgICAgICAgICAgICBpZiAoZGVsZWdhdGUpIHtcblx0ICAgICAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgICAgICBhcmd1bWVudCA9IHRoaXMucGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbigpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuaXNTdGFydE9mRXhwcmVzc2lvbigpKSB7XG5cdCAgICAgICAgICAgICAgICBhcmd1bWVudCA9IHRoaXMucGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbigpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIHRoaXMuY29udGV4dC5hbGxvd1lpZWxkID0gcHJldmlvdXNBbGxvd1lpZWxkO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5ZaWVsZEV4cHJlc3Npb24oYXJndW1lbnQsIGRlbGVnYXRlKSk7XG5cdCAgICB9O1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtY2xhc3MtZGVmaW5pdGlvbnNcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VDbGFzc0VsZW1lbnQgPSBmdW5jdGlvbiAoaGFzQ29uc3RydWN0b3IpIHtcblx0ICAgICAgICB2YXIgdG9rZW4gPSB0aGlzLmxvb2thaGVhZDtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHZhciBraW5kID0gJyc7XG5cdCAgICAgICAgdmFyIGtleSA9IG51bGw7XG5cdCAgICAgICAgdmFyIHZhbHVlID0gbnVsbDtcblx0ICAgICAgICB2YXIgY29tcHV0ZWQgPSBmYWxzZTtcblx0ICAgICAgICB2YXIgbWV0aG9kID0gZmFsc2U7XG5cdCAgICAgICAgdmFyIGlzU3RhdGljID0gZmFsc2U7XG5cdCAgICAgICAgdmFyIGlzQXN5bmMgPSBmYWxzZTtcblx0ICAgICAgICBpZiAodGhpcy5tYXRjaCgnKicpKSB7XG5cdCAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICBjb21wdXRlZCA9IHRoaXMubWF0Y2goJ1snKTtcblx0ICAgICAgICAgICAga2V5ID0gdGhpcy5wYXJzZU9iamVjdFByb3BlcnR5S2V5KCk7XG5cdCAgICAgICAgICAgIHZhciBpZCA9IGtleTtcblx0ICAgICAgICAgICAgaWYgKGlkLm5hbWUgPT09ICdzdGF0aWMnICYmICh0aGlzLnF1YWxpZmllZFByb3BlcnR5TmFtZSh0aGlzLmxvb2thaGVhZCkgfHwgdGhpcy5tYXRjaCgnKicpKSkge1xuXHQgICAgICAgICAgICAgICAgdG9rZW4gPSB0aGlzLmxvb2thaGVhZDtcblx0ICAgICAgICAgICAgICAgIGlzU3RhdGljID0gdHJ1ZTtcblx0ICAgICAgICAgICAgICAgIGNvbXB1dGVkID0gdGhpcy5tYXRjaCgnWycpO1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2goJyonKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgICAgICBrZXkgPSB0aGlzLnBhcnNlT2JqZWN0UHJvcGVydHlLZXkoKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBpZiAoKHRva2VuLnR5cGUgPT09IDMgLyogSWRlbnRpZmllciAqLykgJiYgIXRoaXMuaGFzTGluZVRlcm1pbmF0b3IgJiYgKHRva2VuLnZhbHVlID09PSAnYXN5bmMnKSkge1xuXHQgICAgICAgICAgICAgICAgdmFyIHB1bmN0dWF0b3IgPSB0aGlzLmxvb2thaGVhZC52YWx1ZTtcblx0ICAgICAgICAgICAgICAgIGlmIChwdW5jdHVhdG9yICE9PSAnOicgJiYgcHVuY3R1YXRvciAhPT0gJygnICYmIHB1bmN0dWF0b3IgIT09ICcqJykge1xuXHQgICAgICAgICAgICAgICAgICAgIGlzQXN5bmMgPSB0cnVlO1xuXHQgICAgICAgICAgICAgICAgICAgIHRva2VuID0gdGhpcy5sb29rYWhlYWQ7XG5cdCAgICAgICAgICAgICAgICAgICAga2V5ID0gdGhpcy5wYXJzZU9iamVjdFByb3BlcnR5S2V5KCk7XG5cdCAgICAgICAgICAgICAgICAgICAgaWYgKHRva2VuLnR5cGUgPT09IDMgLyogSWRlbnRpZmllciAqLyAmJiB0b2tlbi52YWx1ZSA9PT0gJ2NvbnN0cnVjdG9yJykge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKHRva2VuLCBtZXNzYWdlc18xLk1lc3NhZ2VzLkNvbnN0cnVjdG9ySXNBc3luYyk7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHZhciBsb29rYWhlYWRQcm9wZXJ0eUtleSA9IHRoaXMucXVhbGlmaWVkUHJvcGVydHlOYW1lKHRoaXMubG9va2FoZWFkKTtcblx0ICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gMyAvKiBJZGVudGlmaWVyICovKSB7XG5cdCAgICAgICAgICAgIGlmICh0b2tlbi52YWx1ZSA9PT0gJ2dldCcgJiYgbG9va2FoZWFkUHJvcGVydHlLZXkpIHtcblx0ICAgICAgICAgICAgICAgIGtpbmQgPSAnZ2V0Jztcblx0ICAgICAgICAgICAgICAgIGNvbXB1dGVkID0gdGhpcy5tYXRjaCgnWycpO1xuXHQgICAgICAgICAgICAgICAga2V5ID0gdGhpcy5wYXJzZU9iamVjdFByb3BlcnR5S2V5KCk7XG5cdCAgICAgICAgICAgICAgICB0aGlzLmNvbnRleHQuYWxsb3dZaWVsZCA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLnBhcnNlR2V0dGVyTWV0aG9kKCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSBpZiAodG9rZW4udmFsdWUgPT09ICdzZXQnICYmIGxvb2thaGVhZFByb3BlcnR5S2V5KSB7XG5cdCAgICAgICAgICAgICAgICBraW5kID0gJ3NldCc7XG5cdCAgICAgICAgICAgICAgICBjb21wdXRlZCA9IHRoaXMubWF0Y2goJ1snKTtcblx0ICAgICAgICAgICAgICAgIGtleSA9IHRoaXMucGFyc2VPYmplY3RQcm9wZXJ0eUtleSgpO1xuXHQgICAgICAgICAgICAgICAgdmFsdWUgPSB0aGlzLnBhcnNlU2V0dGVyTWV0aG9kKCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSBpZiAodG9rZW4udHlwZSA9PT0gNyAvKiBQdW5jdHVhdG9yICovICYmIHRva2VuLnZhbHVlID09PSAnKicgJiYgbG9va2FoZWFkUHJvcGVydHlLZXkpIHtcblx0ICAgICAgICAgICAga2luZCA9ICdpbml0Jztcblx0ICAgICAgICAgICAgY29tcHV0ZWQgPSB0aGlzLm1hdGNoKCdbJyk7XG5cdCAgICAgICAgICAgIGtleSA9IHRoaXMucGFyc2VPYmplY3RQcm9wZXJ0eUtleSgpO1xuXHQgICAgICAgICAgICB2YWx1ZSA9IHRoaXMucGFyc2VHZW5lcmF0b3JNZXRob2QoKTtcblx0ICAgICAgICAgICAgbWV0aG9kID0gdHJ1ZTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgaWYgKCFraW5kICYmIGtleSAmJiB0aGlzLm1hdGNoKCcoJykpIHtcblx0ICAgICAgICAgICAga2luZCA9ICdpbml0Jztcblx0ICAgICAgICAgICAgdmFsdWUgPSBpc0FzeW5jID8gdGhpcy5wYXJzZVByb3BlcnR5TWV0aG9kQXN5bmNGdW5jdGlvbigpIDogdGhpcy5wYXJzZVByb3BlcnR5TWV0aG9kRnVuY3Rpb24oKTtcblx0ICAgICAgICAgICAgbWV0aG9kID0gdHJ1ZTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgaWYgKCFraW5kKSB7XG5cdCAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4odGhpcy5sb29rYWhlYWQpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAoa2luZCA9PT0gJ2luaXQnKSB7XG5cdCAgICAgICAgICAgIGtpbmQgPSAnbWV0aG9kJztcblx0ICAgICAgICB9XG5cdCAgICAgICAgaWYgKCFjb21wdXRlZCkge1xuXHQgICAgICAgICAgICBpZiAoaXNTdGF0aWMgJiYgdGhpcy5pc1Byb3BlcnR5S2V5KGtleSwgJ3Byb3RvdHlwZScpKSB7XG5cdCAgICAgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKHRva2VuLCBtZXNzYWdlc18xLk1lc3NhZ2VzLlN0YXRpY1Byb3RvdHlwZSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgaWYgKCFpc1N0YXRpYyAmJiB0aGlzLmlzUHJvcGVydHlLZXkoa2V5LCAnY29uc3RydWN0b3InKSkge1xuXHQgICAgICAgICAgICAgICAgaWYgKGtpbmQgIT09ICdtZXRob2QnIHx8ICFtZXRob2QgfHwgKHZhbHVlICYmIHZhbHVlLmdlbmVyYXRvcikpIHtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKHRva2VuLCBtZXNzYWdlc18xLk1lc3NhZ2VzLkNvbnN0cnVjdG9yU3BlY2lhbE1ldGhvZCk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBpZiAoaGFzQ29uc3RydWN0b3IudmFsdWUpIHtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKHRva2VuLCBtZXNzYWdlc18xLk1lc3NhZ2VzLkR1cGxpY2F0ZUNvbnN0cnVjdG9yKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgICAgIGhhc0NvbnN0cnVjdG9yLnZhbHVlID0gdHJ1ZTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGtpbmQgPSAnY29uc3RydWN0b3InO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLk1ldGhvZERlZmluaXRpb24oa2V5LCBjb21wdXRlZCwgdmFsdWUsIGtpbmQsIGlzU3RhdGljKSk7XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZUNsYXNzRWxlbWVudExpc3QgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIGJvZHkgPSBbXTtcblx0ICAgICAgICB2YXIgaGFzQ29uc3RydWN0b3IgPSB7IHZhbHVlOiBmYWxzZSB9O1xuXHQgICAgICAgIHRoaXMuZXhwZWN0KCd7Jyk7XG5cdCAgICAgICAgd2hpbGUgKCF0aGlzLm1hdGNoKCd9JykpIHtcblx0ICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2goJzsnKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIGJvZHkucHVzaCh0aGlzLnBhcnNlQ2xhc3NFbGVtZW50KGhhc0NvbnN0cnVjdG9yKSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgdGhpcy5leHBlY3QoJ30nKTtcblx0ICAgICAgICByZXR1cm4gYm9keTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlQ2xhc3NCb2R5ID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdmFyIGVsZW1lbnRMaXN0ID0gdGhpcy5wYXJzZUNsYXNzRWxlbWVudExpc3QoKTtcblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5DbGFzc0JvZHkoZWxlbWVudExpc3QpKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlQ2xhc3NEZWNsYXJhdGlvbiA9IGZ1bmN0aW9uIChpZGVudGlmaWVySXNPcHRpb25hbCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdmFyIHByZXZpb3VzU3RyaWN0ID0gdGhpcy5jb250ZXh0LnN0cmljdDtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuc3RyaWN0ID0gdHJ1ZTtcblx0ICAgICAgICB0aGlzLmV4cGVjdEtleXdvcmQoJ2NsYXNzJyk7XG5cdCAgICAgICAgdmFyIGlkID0gKGlkZW50aWZpZXJJc09wdGlvbmFsICYmICh0aGlzLmxvb2thaGVhZC50eXBlICE9PSAzIC8qIElkZW50aWZpZXIgKi8pKSA/IG51bGwgOiB0aGlzLnBhcnNlVmFyaWFibGVJZGVudGlmaWVyKCk7XG5cdCAgICAgICAgdmFyIHN1cGVyQ2xhc3MgPSBudWxsO1xuXHQgICAgICAgIGlmICh0aGlzLm1hdGNoS2V5d29yZCgnZXh0ZW5kcycpKSB7XG5cdCAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgIHN1cGVyQ2xhc3MgPSB0aGlzLmlzb2xhdGVDb3ZlckdyYW1tYXIodGhpcy5wYXJzZUxlZnRIYW5kU2lkZUV4cHJlc3Npb25BbGxvd0NhbGwpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB2YXIgY2xhc3NCb2R5ID0gdGhpcy5wYXJzZUNsYXNzQm9keSgpO1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5zdHJpY3QgPSBwcmV2aW91c1N0cmljdDtcblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5DbGFzc0RlY2xhcmF0aW9uKGlkLCBzdXBlckNsYXNzLCBjbGFzc0JvZHkpKTtcblx0ICAgIH07XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlQ2xhc3NFeHByZXNzaW9uID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdmFyIHByZXZpb3VzU3RyaWN0ID0gdGhpcy5jb250ZXh0LnN0cmljdDtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuc3RyaWN0ID0gdHJ1ZTtcblx0ICAgICAgICB0aGlzLmV4cGVjdEtleXdvcmQoJ2NsYXNzJyk7XG5cdCAgICAgICAgdmFyIGlkID0gKHRoaXMubG9va2FoZWFkLnR5cGUgPT09IDMgLyogSWRlbnRpZmllciAqLykgPyB0aGlzLnBhcnNlVmFyaWFibGVJZGVudGlmaWVyKCkgOiBudWxsO1xuXHQgICAgICAgIHZhciBzdXBlckNsYXNzID0gbnVsbDtcblx0ICAgICAgICBpZiAodGhpcy5tYXRjaEtleXdvcmQoJ2V4dGVuZHMnKSkge1xuXHQgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICBzdXBlckNsYXNzID0gdGhpcy5pc29sYXRlQ292ZXJHcmFtbWFyKHRoaXMucGFyc2VMZWZ0SGFuZFNpZGVFeHByZXNzaW9uQWxsb3dDYWxsKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdmFyIGNsYXNzQm9keSA9IHRoaXMucGFyc2VDbGFzc0JvZHkoKTtcblx0ICAgICAgICB0aGlzLmNvbnRleHQuc3RyaWN0ID0gcHJldmlvdXNTdHJpY3Q7XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuQ2xhc3NFeHByZXNzaW9uKGlkLCBzdXBlckNsYXNzLCBjbGFzc0JvZHkpKTtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1zY3JpcHRzXG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1tb2R1bGVzXG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlTW9kdWxlID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5zdHJpY3QgPSB0cnVlO1xuXHQgICAgICAgIHRoaXMuY29udGV4dC5pc01vZHVsZSA9IHRydWU7XG5cdCAgICAgICAgdGhpcy5zY2FubmVyLmlzTW9kdWxlID0gdHJ1ZTtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHZhciBib2R5ID0gdGhpcy5wYXJzZURpcmVjdGl2ZVByb2xvZ3VlcygpO1xuXHQgICAgICAgIHdoaWxlICh0aGlzLmxvb2thaGVhZC50eXBlICE9PSAyIC8qIEVPRiAqLykge1xuXHQgICAgICAgICAgICBib2R5LnB1c2godGhpcy5wYXJzZVN0YXRlbWVudExpc3RJdGVtKCkpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5Nb2R1bGUoYm9keSkpO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VTY3JpcHQgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB2YXIgYm9keSA9IHRoaXMucGFyc2VEaXJlY3RpdmVQcm9sb2d1ZXMoKTtcblx0ICAgICAgICB3aGlsZSAodGhpcy5sb29rYWhlYWQudHlwZSAhPT0gMiAvKiBFT0YgKi8pIHtcblx0ICAgICAgICAgICAgYm9keS5wdXNoKHRoaXMucGFyc2VTdGF0ZW1lbnRMaXN0SXRlbSgpKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuU2NyaXB0KGJvZHkpKTtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1pbXBvcnRzXG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlTW9kdWxlU3BlY2lmaWVyID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgaWYgKHRoaXMubG9va2FoZWFkLnR5cGUgIT09IDggLyogU3RyaW5nTGl0ZXJhbCAqLykge1xuXHQgICAgICAgICAgICB0aGlzLnRocm93RXJyb3IobWVzc2FnZXNfMS5NZXNzYWdlcy5JbnZhbGlkTW9kdWxlU3BlY2lmaWVyKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdmFyIHRva2VuID0gdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICB2YXIgcmF3ID0gdGhpcy5nZXRUb2tlblJhdyh0b2tlbik7XG5cdCAgICAgICAgcmV0dXJuIHRoaXMuZmluYWxpemUobm9kZSwgbmV3IE5vZGUuTGl0ZXJhbCh0b2tlbi52YWx1ZSwgcmF3KSk7XG5cdCAgICB9O1xuXHQgICAgLy8gaW1wb3J0IHs8Zm9vIGFzIGJhcj59IC4uLjtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VJbXBvcnRTcGVjaWZpZXIgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB2YXIgaW1wb3J0ZWQ7XG5cdCAgICAgICAgdmFyIGxvY2FsO1xuXHQgICAgICAgIGlmICh0aGlzLmxvb2thaGVhZC50eXBlID09PSAzIC8qIElkZW50aWZpZXIgKi8pIHtcblx0ICAgICAgICAgICAgaW1wb3J0ZWQgPSB0aGlzLnBhcnNlVmFyaWFibGVJZGVudGlmaWVyKCk7XG5cdCAgICAgICAgICAgIGxvY2FsID0gaW1wb3J0ZWQ7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoQ29udGV4dHVhbEtleXdvcmQoJ2FzJykpIHtcblx0ICAgICAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgICAgICBsb2NhbCA9IHRoaXMucGFyc2VWYXJpYWJsZUlkZW50aWZpZXIoKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgaW1wb3J0ZWQgPSB0aGlzLnBhcnNlSWRlbnRpZmllck5hbWUoKTtcblx0ICAgICAgICAgICAgbG9jYWwgPSBpbXBvcnRlZDtcblx0ICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2hDb250ZXh0dWFsS2V5d29yZCgnYXMnKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgICAgIGxvY2FsID0gdGhpcy5wYXJzZVZhcmlhYmxlSWRlbnRpZmllcigpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbih0aGlzLm5leHRUb2tlbigpKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5JbXBvcnRTcGVjaWZpZXIobG9jYWwsIGltcG9ydGVkKSk7XG5cdCAgICB9O1xuXHQgICAgLy8ge2ZvbywgYmFyIGFzIGJhc31cblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VOYW1lZEltcG9ydHMgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdGhpcy5leHBlY3QoJ3snKTtcblx0ICAgICAgICB2YXIgc3BlY2lmaWVycyA9IFtdO1xuXHQgICAgICAgIHdoaWxlICghdGhpcy5tYXRjaCgnfScpKSB7XG5cdCAgICAgICAgICAgIHNwZWNpZmllcnMucHVzaCh0aGlzLnBhcnNlSW1wb3J0U3BlY2lmaWVyKCkpO1xuXHQgICAgICAgICAgICBpZiAoIXRoaXMubWF0Y2goJ30nKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy5leHBlY3QoJywnKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICB0aGlzLmV4cGVjdCgnfScpO1xuXHQgICAgICAgIHJldHVybiBzcGVjaWZpZXJzO1xuXHQgICAgfTtcblx0ICAgIC8vIGltcG9ydCA8Zm9vPiAuLi47XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlSW1wb3J0RGVmYXVsdFNwZWNpZmllciA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgbm9kZSA9IHRoaXMuY3JlYXRlTm9kZSgpO1xuXHQgICAgICAgIHZhciBsb2NhbCA9IHRoaXMucGFyc2VJZGVudGlmaWVyTmFtZSgpO1xuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLkltcG9ydERlZmF1bHRTcGVjaWZpZXIobG9jYWwpKTtcblx0ICAgIH07XG5cdCAgICAvLyBpbXBvcnQgPCogYXMgZm9vPiAuLi47XG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdGhpcy5leHBlY3QoJyonKTtcblx0ICAgICAgICBpZiAoIXRoaXMubWF0Y2hDb250ZXh0dWFsS2V5d29yZCgnYXMnKSkge1xuXHQgICAgICAgICAgICB0aGlzLnRocm93RXJyb3IobWVzc2FnZXNfMS5NZXNzYWdlcy5Ob0FzQWZ0ZXJJbXBvcnROYW1lc3BhY2UpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgIHZhciBsb2NhbCA9IHRoaXMucGFyc2VJZGVudGlmaWVyTmFtZSgpO1xuXHQgICAgICAgIHJldHVybiB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLkltcG9ydE5hbWVzcGFjZVNwZWNpZmllcihsb2NhbCkpO1xuXHQgICAgfTtcblx0ICAgIFBhcnNlci5wcm90b3R5cGUucGFyc2VJbXBvcnREZWNsYXJhdGlvbiA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICBpZiAodGhpcy5jb250ZXh0LmluRnVuY3Rpb25Cb2R5KSB7XG5cdCAgICAgICAgICAgIHRoaXMudGhyb3dFcnJvcihtZXNzYWdlc18xLk1lc3NhZ2VzLklsbGVnYWxJbXBvcnREZWNsYXJhdGlvbik7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdGhpcy5leHBlY3RLZXl3b3JkKCdpbXBvcnQnKTtcblx0ICAgICAgICB2YXIgc3JjO1xuXHQgICAgICAgIHZhciBzcGVjaWZpZXJzID0gW107XG5cdCAgICAgICAgaWYgKHRoaXMubG9va2FoZWFkLnR5cGUgPT09IDggLyogU3RyaW5nTGl0ZXJhbCAqLykge1xuXHQgICAgICAgICAgICAvLyBpbXBvcnQgJ2Zvbyc7XG5cdCAgICAgICAgICAgIHNyYyA9IHRoaXMucGFyc2VNb2R1bGVTcGVjaWZpZXIoKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoKCd7JykpIHtcblx0ICAgICAgICAgICAgICAgIC8vIGltcG9ydCB7YmFyfVxuXHQgICAgICAgICAgICAgICAgc3BlY2lmaWVycyA9IHNwZWNpZmllcnMuY29uY2F0KHRoaXMucGFyc2VOYW1lZEltcG9ydHMoKSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSBpZiAodGhpcy5tYXRjaCgnKicpKSB7XG5cdCAgICAgICAgICAgICAgICAvLyBpbXBvcnQgKiBhcyBmb29cblx0ICAgICAgICAgICAgICAgIHNwZWNpZmllcnMucHVzaCh0aGlzLnBhcnNlSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyKCkpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMuaXNJZGVudGlmaWVyTmFtZSh0aGlzLmxvb2thaGVhZCkgJiYgIXRoaXMubWF0Y2hLZXl3b3JkKCdkZWZhdWx0JykpIHtcblx0ICAgICAgICAgICAgICAgIC8vIGltcG9ydCBmb29cblx0ICAgICAgICAgICAgICAgIHNwZWNpZmllcnMucHVzaCh0aGlzLnBhcnNlSW1wb3J0RGVmYXVsdFNwZWNpZmllcigpKTtcblx0ICAgICAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoKCcsJykpIHtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoKCcqJykpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgLy8gaW1wb3J0IGZvbywgKiBhcyBmb29cblx0ICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWVycy5wdXNoKHRoaXMucGFyc2VJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXIoKSk7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKHRoaXMubWF0Y2goJ3snKSkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAvLyBpbXBvcnQgZm9vLCB7YmFyfVxuXHQgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZpZXJzID0gc3BlY2lmaWVycy5jb25jYXQodGhpcy5wYXJzZU5hbWVkSW1wb3J0cygpKTtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4odGhpcy5sb29rYWhlYWQpO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4odGhpcy5uZXh0VG9rZW4oKSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgaWYgKCF0aGlzLm1hdGNoQ29udGV4dHVhbEtleXdvcmQoJ2Zyb20nKSkge1xuXHQgICAgICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSB0aGlzLmxvb2thaGVhZC52YWx1ZSA/IG1lc3NhZ2VzXzEuTWVzc2FnZXMuVW5leHBlY3RlZFRva2VuIDogbWVzc2FnZXNfMS5NZXNzYWdlcy5NaXNzaW5nRnJvbUNsYXVzZTtcblx0ICAgICAgICAgICAgICAgIHRoaXMudGhyb3dFcnJvcihtZXNzYWdlLCB0aGlzLmxvb2thaGVhZC52YWx1ZSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgc3JjID0gdGhpcy5wYXJzZU1vZHVsZVNwZWNpZmllcigpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB0aGlzLmNvbnN1bWVTZW1pY29sb24oKTtcblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5JbXBvcnREZWNsYXJhdGlvbihzcGVjaWZpZXJzLCBzcmMpKTtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1leHBvcnRzXG5cdCAgICBQYXJzZXIucHJvdG90eXBlLnBhcnNlRXhwb3J0U3BlY2lmaWVyID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBub2RlID0gdGhpcy5jcmVhdGVOb2RlKCk7XG5cdCAgICAgICAgdmFyIGxvY2FsID0gdGhpcy5wYXJzZUlkZW50aWZpZXJOYW1lKCk7XG5cdCAgICAgICAgdmFyIGV4cG9ydGVkID0gbG9jYWw7XG5cdCAgICAgICAgaWYgKHRoaXMubWF0Y2hDb250ZXh0dWFsS2V5d29yZCgnYXMnKSkge1xuXHQgICAgICAgICAgICB0aGlzLm5leHRUb2tlbigpO1xuXHQgICAgICAgICAgICBleHBvcnRlZCA9IHRoaXMucGFyc2VJZGVudGlmaWVyTmFtZSgpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5FeHBvcnRTcGVjaWZpZXIobG9jYWwsIGV4cG9ydGVkKSk7XG5cdCAgICB9O1xuXHQgICAgUGFyc2VyLnByb3RvdHlwZS5wYXJzZUV4cG9ydERlY2xhcmF0aW9uID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIGlmICh0aGlzLmNvbnRleHQuaW5GdW5jdGlvbkJvZHkpIHtcblx0ICAgICAgICAgICAgdGhpcy50aHJvd0Vycm9yKG1lc3NhZ2VzXzEuTWVzc2FnZXMuSWxsZWdhbEV4cG9ydERlY2xhcmF0aW9uKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdmFyIG5vZGUgPSB0aGlzLmNyZWF0ZU5vZGUoKTtcblx0ICAgICAgICB0aGlzLmV4cGVjdEtleXdvcmQoJ2V4cG9ydCcpO1xuXHQgICAgICAgIHZhciBleHBvcnREZWNsYXJhdGlvbjtcblx0ICAgICAgICBpZiAodGhpcy5tYXRjaEtleXdvcmQoJ2RlZmF1bHQnKSkge1xuXHQgICAgICAgICAgICAvLyBleHBvcnQgZGVmYXVsdCAuLi5cblx0ICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2hLZXl3b3JkKCdmdW5jdGlvbicpKSB7XG5cdCAgICAgICAgICAgICAgICAvLyBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBmb28gKCkge31cblx0ICAgICAgICAgICAgICAgIC8vIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uICgpIHt9XG5cdCAgICAgICAgICAgICAgICB2YXIgZGVjbGFyYXRpb24gPSB0aGlzLnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbih0cnVlKTtcblx0ICAgICAgICAgICAgICAgIGV4cG9ydERlY2xhcmF0aW9uID0gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5FeHBvcnREZWZhdWx0RGVjbGFyYXRpb24oZGVjbGFyYXRpb24pKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmICh0aGlzLm1hdGNoS2V5d29yZCgnY2xhc3MnKSkge1xuXHQgICAgICAgICAgICAgICAgLy8gZXhwb3J0IGRlZmF1bHQgY2xhc3MgZm9vIHt9XG5cdCAgICAgICAgICAgICAgICB2YXIgZGVjbGFyYXRpb24gPSB0aGlzLnBhcnNlQ2xhc3NEZWNsYXJhdGlvbih0cnVlKTtcblx0ICAgICAgICAgICAgICAgIGV4cG9ydERlY2xhcmF0aW9uID0gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5FeHBvcnREZWZhdWx0RGVjbGFyYXRpb24oZGVjbGFyYXRpb24pKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmICh0aGlzLm1hdGNoQ29udGV4dHVhbEtleXdvcmQoJ2FzeW5jJykpIHtcblx0ICAgICAgICAgICAgICAgIC8vIGV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uIGYgKCkge31cblx0ICAgICAgICAgICAgICAgIC8vIGV4cG9ydCBkZWZhdWx0IGFzeW5jIGZ1bmN0aW9uICgpIHt9XG5cdCAgICAgICAgICAgICAgICAvLyBleHBvcnQgZGVmYXVsdCBhc3luYyB4ID0+IHhcblx0ICAgICAgICAgICAgICAgIHZhciBkZWNsYXJhdGlvbiA9IHRoaXMubWF0Y2hBc3luY0Z1bmN0aW9uKCkgPyB0aGlzLnBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbih0cnVlKSA6IHRoaXMucGFyc2VBc3NpZ25tZW50RXhwcmVzc2lvbigpO1xuXHQgICAgICAgICAgICAgICAgZXhwb3J0RGVjbGFyYXRpb24gPSB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLkV4cG9ydERlZmF1bHREZWNsYXJhdGlvbihkZWNsYXJhdGlvbikpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2hDb250ZXh0dWFsS2V5d29yZCgnZnJvbScpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy50aHJvd0Vycm9yKG1lc3NhZ2VzXzEuTWVzc2FnZXMuVW5leHBlY3RlZFRva2VuLCB0aGlzLmxvb2thaGVhZC52YWx1ZSk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAvLyBleHBvcnQgZGVmYXVsdCB7fTtcblx0ICAgICAgICAgICAgICAgIC8vIGV4cG9ydCBkZWZhdWx0IFtdO1xuXHQgICAgICAgICAgICAgICAgLy8gZXhwb3J0IGRlZmF1bHQgKDEgKyAyKTtcblx0ICAgICAgICAgICAgICAgIHZhciBkZWNsYXJhdGlvbiA9IHRoaXMubWF0Y2goJ3snKSA/IHRoaXMucGFyc2VPYmplY3RJbml0aWFsaXplcigpIDpcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLm1hdGNoKCdbJykgPyB0aGlzLnBhcnNlQXJyYXlJbml0aWFsaXplcigpIDogdGhpcy5wYXJzZUFzc2lnbm1lbnRFeHByZXNzaW9uKCk7XG5cdCAgICAgICAgICAgICAgICB0aGlzLmNvbnN1bWVTZW1pY29sb24oKTtcblx0ICAgICAgICAgICAgICAgIGV4cG9ydERlY2xhcmF0aW9uID0gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5FeHBvcnREZWZhdWx0RGVjbGFyYXRpb24oZGVjbGFyYXRpb24pKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIGlmICh0aGlzLm1hdGNoKCcqJykpIHtcblx0ICAgICAgICAgICAgLy8gZXhwb3J0ICogZnJvbSAnZm9vJztcblx0ICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgaWYgKCF0aGlzLm1hdGNoQ29udGV4dHVhbEtleXdvcmQoJ2Zyb20nKSkge1xuXHQgICAgICAgICAgICAgICAgdmFyIG1lc3NhZ2UgPSB0aGlzLmxvb2thaGVhZC52YWx1ZSA/IG1lc3NhZ2VzXzEuTWVzc2FnZXMuVW5leHBlY3RlZFRva2VuIDogbWVzc2FnZXNfMS5NZXNzYWdlcy5NaXNzaW5nRnJvbUNsYXVzZTtcblx0ICAgICAgICAgICAgICAgIHRoaXMudGhyb3dFcnJvcihtZXNzYWdlLCB0aGlzLmxvb2thaGVhZC52YWx1ZSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgdGhpcy5uZXh0VG9rZW4oKTtcblx0ICAgICAgICAgICAgdmFyIHNyYyA9IHRoaXMucGFyc2VNb2R1bGVTcGVjaWZpZXIoKTtcblx0ICAgICAgICAgICAgdGhpcy5jb25zdW1lU2VtaWNvbG9uKCk7XG5cdCAgICAgICAgICAgIGV4cG9ydERlY2xhcmF0aW9uID0gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5FeHBvcnRBbGxEZWNsYXJhdGlvbihzcmMpKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSBpZiAodGhpcy5sb29rYWhlYWQudHlwZSA9PT0gNCAvKiBLZXl3b3JkICovKSB7XG5cdCAgICAgICAgICAgIC8vIGV4cG9ydCB2YXIgZiA9IDE7XG5cdCAgICAgICAgICAgIHZhciBkZWNsYXJhdGlvbiA9IHZvaWQgMDtcblx0ICAgICAgICAgICAgc3dpdGNoICh0aGlzLmxvb2thaGVhZC52YWx1ZSkge1xuXHQgICAgICAgICAgICAgICAgY2FzZSAnbGV0Jzpcblx0ICAgICAgICAgICAgICAgIGNhc2UgJ2NvbnN0Jzpcblx0ICAgICAgICAgICAgICAgICAgICBkZWNsYXJhdGlvbiA9IHRoaXMucGFyc2VMZXhpY2FsRGVjbGFyYXRpb24oeyBpbkZvcjogZmFsc2UgfSk7XG5cdCAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICBjYXNlICd2YXInOlxuXHQgICAgICAgICAgICAgICAgY2FzZSAnY2xhc3MnOlxuXHQgICAgICAgICAgICAgICAgY2FzZSAnZnVuY3Rpb24nOlxuXHQgICAgICAgICAgICAgICAgICAgIGRlY2xhcmF0aW9uID0gdGhpcy5wYXJzZVN0YXRlbWVudExpc3RJdGVtKCk7XG5cdCAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICBkZWZhdWx0OlxuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4odGhpcy5sb29rYWhlYWQpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGV4cG9ydERlY2xhcmF0aW9uID0gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5FeHBvcnROYW1lZERlY2xhcmF0aW9uKGRlY2xhcmF0aW9uLCBbXSwgbnVsbCkpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIGlmICh0aGlzLm1hdGNoQXN5bmNGdW5jdGlvbigpKSB7XG5cdCAgICAgICAgICAgIHZhciBkZWNsYXJhdGlvbiA9IHRoaXMucGFyc2VGdW5jdGlvbkRlY2xhcmF0aW9uKCk7XG5cdCAgICAgICAgICAgIGV4cG9ydERlY2xhcmF0aW9uID0gdGhpcy5maW5hbGl6ZShub2RlLCBuZXcgTm9kZS5FeHBvcnROYW1lZERlY2xhcmF0aW9uKGRlY2xhcmF0aW9uLCBbXSwgbnVsbCkpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgdmFyIHNwZWNpZmllcnMgPSBbXTtcblx0ICAgICAgICAgICAgdmFyIHNvdXJjZSA9IG51bGw7XG5cdCAgICAgICAgICAgIHZhciBpc0V4cG9ydEZyb21JZGVudGlmaWVyID0gZmFsc2U7XG5cdCAgICAgICAgICAgIHRoaXMuZXhwZWN0KCd7Jyk7XG5cdCAgICAgICAgICAgIHdoaWxlICghdGhpcy5tYXRjaCgnfScpKSB7XG5cdCAgICAgICAgICAgICAgICBpc0V4cG9ydEZyb21JZGVudGlmaWVyID0gaXNFeHBvcnRGcm9tSWRlbnRpZmllciB8fCB0aGlzLm1hdGNoS2V5d29yZCgnZGVmYXVsdCcpO1xuXHQgICAgICAgICAgICAgICAgc3BlY2lmaWVycy5wdXNoKHRoaXMucGFyc2VFeHBvcnRTcGVjaWZpZXIoKSk7XG5cdCAgICAgICAgICAgICAgICBpZiAoIXRoaXMubWF0Y2goJ30nKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMuZXhwZWN0KCcsJyk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgdGhpcy5leHBlY3QoJ30nKTtcblx0ICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2hDb250ZXh0dWFsS2V5d29yZCgnZnJvbScpKSB7XG5cdCAgICAgICAgICAgICAgICAvLyBleHBvcnQge2RlZmF1bHR9IGZyb20gJ2Zvbyc7XG5cdCAgICAgICAgICAgICAgICAvLyBleHBvcnQge2Zvb30gZnJvbSAnZm9vJztcblx0ICAgICAgICAgICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG5cdCAgICAgICAgICAgICAgICBzb3VyY2UgPSB0aGlzLnBhcnNlTW9kdWxlU3BlY2lmaWVyKCk7XG5cdCAgICAgICAgICAgICAgICB0aGlzLmNvbnN1bWVTZW1pY29sb24oKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmIChpc0V4cG9ydEZyb21JZGVudGlmaWVyKSB7XG5cdCAgICAgICAgICAgICAgICAvLyBleHBvcnQge2RlZmF1bHR9OyAvLyBtaXNzaW5nIGZyb21DbGF1c2Vcblx0ICAgICAgICAgICAgICAgIHZhciBtZXNzYWdlID0gdGhpcy5sb29rYWhlYWQudmFsdWUgPyBtZXNzYWdlc18xLk1lc3NhZ2VzLlVuZXhwZWN0ZWRUb2tlbiA6IG1lc3NhZ2VzXzEuTWVzc2FnZXMuTWlzc2luZ0Zyb21DbGF1c2U7XG5cdCAgICAgICAgICAgICAgICB0aGlzLnRocm93RXJyb3IobWVzc2FnZSwgdGhpcy5sb29rYWhlYWQudmFsdWUpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgLy8gZXhwb3J0IHtmb299O1xuXHQgICAgICAgICAgICAgICAgdGhpcy5jb25zdW1lU2VtaWNvbG9uKCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZXhwb3J0RGVjbGFyYXRpb24gPSB0aGlzLmZpbmFsaXplKG5vZGUsIG5ldyBOb2RlLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24obnVsbCwgc3BlY2lmaWVycywgc291cmNlKSk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiBleHBvcnREZWNsYXJhdGlvbjtcblx0ICAgIH07XG5cdCAgICByZXR1cm4gUGFyc2VyO1xuXHR9KCkpO1xuXHRleHBvcnRzLlBhcnNlciA9IFBhcnNlcjtcblxuXG4vKioqLyB9LFxuLyogOSAqL1xuLyoqKi8gZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cblx0XCJ1c2Ugc3RyaWN0XCI7XG5cdC8vIEVuc3VyZSB0aGUgY29uZGl0aW9uIGlzIHRydWUsIG90aGVyd2lzZSB0aHJvdyBhbiBlcnJvci5cblx0Ly8gVGhpcyBpcyBvbmx5IHRvIGhhdmUgYSBiZXR0ZXIgY29udHJhY3Qgc2VtYW50aWMsIGkuZS4gYW5vdGhlciBzYWZldHkgbmV0XG5cdC8vIHRvIGNhdGNoIGEgbG9naWMgZXJyb3IuIFRoZSBjb25kaXRpb24gc2hhbGwgYmUgZnVsZmlsbGVkIGluIG5vcm1hbCBjYXNlLlxuXHQvLyBEbyBOT1QgdXNlIHRoaXMgdG8gZW5mb3JjZSBhIGNlcnRhaW4gY29uZGl0aW9uIG9uIGFueSB1c2VyIGlucHV0LlxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5cdGZ1bmN0aW9uIGFzc2VydChjb25kaXRpb24sIG1lc3NhZ2UpIHtcblx0ICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuXHQgICAgaWYgKCFjb25kaXRpb24pIHtcblx0ICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FTU0VSVDogJyArIG1lc3NhZ2UpO1xuXHQgICAgfVxuXHR9XG5cdGV4cG9ydHMuYXNzZXJ0ID0gYXNzZXJ0O1xuXG5cbi8qKiovIH0sXG4vKiAxMCAqL1xuLyoqKi8gZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cblx0XCJ1c2Ugc3RyaWN0XCI7XG5cdC8qIHRzbGludDpkaXNhYmxlOm1heC1jbGFzc2VzLXBlci1maWxlICovXG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcblx0dmFyIEVycm9ySGFuZGxlciA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBFcnJvckhhbmRsZXIoKSB7XG5cdCAgICAgICAgdGhpcy5lcnJvcnMgPSBbXTtcblx0ICAgICAgICB0aGlzLnRvbGVyYW50ID0gZmFsc2U7XG5cdCAgICB9XG5cdCAgICBFcnJvckhhbmRsZXIucHJvdG90eXBlLnJlY29yZEVycm9yID0gZnVuY3Rpb24gKGVycm9yKSB7XG5cdCAgICAgICAgdGhpcy5lcnJvcnMucHVzaChlcnJvcik7XG5cdCAgICB9O1xuXHQgICAgRXJyb3JIYW5kbGVyLnByb3RvdHlwZS50b2xlcmF0ZSA9IGZ1bmN0aW9uIChlcnJvcikge1xuXHQgICAgICAgIGlmICh0aGlzLnRvbGVyYW50KSB7XG5cdCAgICAgICAgICAgIHRoaXMucmVjb3JkRXJyb3IoZXJyb3IpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG5cdCAgICAgICAgfVxuXHQgICAgfTtcblx0ICAgIEVycm9ySGFuZGxlci5wcm90b3R5cGUuY29uc3RydWN0RXJyb3IgPSBmdW5jdGlvbiAobXNnLCBjb2x1bW4pIHtcblx0ICAgICAgICB2YXIgZXJyb3IgPSBuZXcgRXJyb3IobXNnKTtcblx0ICAgICAgICB0cnkge1xuXHQgICAgICAgICAgICB0aHJvdyBlcnJvcjtcblx0ICAgICAgICB9XG5cdCAgICAgICAgY2F0Y2ggKGJhc2UpIHtcblx0ICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cblx0ICAgICAgICAgICAgaWYgKE9iamVjdC5jcmVhdGUgJiYgT2JqZWN0LmRlZmluZVByb3BlcnR5KSB7XG5cdCAgICAgICAgICAgICAgICBlcnJvciA9IE9iamVjdC5jcmVhdGUoYmFzZSk7XG5cdCAgICAgICAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXJyb3IsICdjb2x1bW4nLCB7IHZhbHVlOiBjb2x1bW4gfSk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cblx0ICAgICAgICByZXR1cm4gZXJyb3I7XG5cdCAgICB9O1xuXHQgICAgRXJyb3JIYW5kbGVyLnByb3RvdHlwZS5jcmVhdGVFcnJvciA9IGZ1bmN0aW9uIChpbmRleCwgbGluZSwgY29sLCBkZXNjcmlwdGlvbikge1xuXHQgICAgICAgIHZhciBtc2cgPSAnTGluZSAnICsgbGluZSArICc6ICcgKyBkZXNjcmlwdGlvbjtcblx0ICAgICAgICB2YXIgZXJyb3IgPSB0aGlzLmNvbnN0cnVjdEVycm9yKG1zZywgY29sKTtcblx0ICAgICAgICBlcnJvci5pbmRleCA9IGluZGV4O1xuXHQgICAgICAgIGVycm9yLmxpbmVOdW1iZXIgPSBsaW5lO1xuXHQgICAgICAgIGVycm9yLmRlc2NyaXB0aW9uID0gZGVzY3JpcHRpb247XG5cdCAgICAgICAgcmV0dXJuIGVycm9yO1xuXHQgICAgfTtcblx0ICAgIEVycm9ySGFuZGxlci5wcm90b3R5cGUudGhyb3dFcnJvciA9IGZ1bmN0aW9uIChpbmRleCwgbGluZSwgY29sLCBkZXNjcmlwdGlvbikge1xuXHQgICAgICAgIHRocm93IHRoaXMuY3JlYXRlRXJyb3IoaW5kZXgsIGxpbmUsIGNvbCwgZGVzY3JpcHRpb24pO1xuXHQgICAgfTtcblx0ICAgIEVycm9ySGFuZGxlci5wcm90b3R5cGUudG9sZXJhdGVFcnJvciA9IGZ1bmN0aW9uIChpbmRleCwgbGluZSwgY29sLCBkZXNjcmlwdGlvbikge1xuXHQgICAgICAgIHZhciBlcnJvciA9IHRoaXMuY3JlYXRlRXJyb3IoaW5kZXgsIGxpbmUsIGNvbCwgZGVzY3JpcHRpb24pO1xuXHQgICAgICAgIGlmICh0aGlzLnRvbGVyYW50KSB7XG5cdCAgICAgICAgICAgIHRoaXMucmVjb3JkRXJyb3IoZXJyb3IpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG5cdCAgICAgICAgfVxuXHQgICAgfTtcblx0ICAgIHJldHVybiBFcnJvckhhbmRsZXI7XG5cdH0oKSk7XG5cdGV4cG9ydHMuRXJyb3JIYW5kbGVyID0gRXJyb3JIYW5kbGVyO1xuXG5cbi8qKiovIH0sXG4vKiAxMSAqL1xuLyoqKi8gZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cblx0XCJ1c2Ugc3RyaWN0XCI7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcblx0Ly8gRXJyb3IgbWVzc2FnZXMgc2hvdWxkIGJlIGlkZW50aWNhbCB0byBWOC5cblx0ZXhwb3J0cy5NZXNzYWdlcyA9IHtcblx0ICAgIEJhZEdldHRlckFyaXR5OiAnR2V0dGVyIG11c3Qgbm90IGhhdmUgYW55IGZvcm1hbCBwYXJhbWV0ZXJzJyxcblx0ICAgIEJhZFNldHRlckFyaXR5OiAnU2V0dGVyIG11c3QgaGF2ZSBleGFjdGx5IG9uZSBmb3JtYWwgcGFyYW1ldGVyJyxcblx0ICAgIEJhZFNldHRlclJlc3RQYXJhbWV0ZXI6ICdTZXR0ZXIgZnVuY3Rpb24gYXJndW1lbnQgbXVzdCBub3QgYmUgYSByZXN0IHBhcmFtZXRlcicsXG5cdCAgICBDb25zdHJ1Y3RvcklzQXN5bmM6ICdDbGFzcyBjb25zdHJ1Y3RvciBtYXkgbm90IGJlIGFuIGFzeW5jIG1ldGhvZCcsXG5cdCAgICBDb25zdHJ1Y3RvclNwZWNpYWxNZXRob2Q6ICdDbGFzcyBjb25zdHJ1Y3RvciBtYXkgbm90IGJlIGFuIGFjY2Vzc29yJyxcblx0ICAgIERlY2xhcmF0aW9uTWlzc2luZ0luaXRpYWxpemVyOiAnTWlzc2luZyBpbml0aWFsaXplciBpbiAlMCBkZWNsYXJhdGlvbicsXG5cdCAgICBEZWZhdWx0UmVzdFBhcmFtZXRlcjogJ1VuZXhwZWN0ZWQgdG9rZW4gPScsXG5cdCAgICBEdXBsaWNhdGVCaW5kaW5nOiAnRHVwbGljYXRlIGJpbmRpbmcgJTAnLFxuXHQgICAgRHVwbGljYXRlQ29uc3RydWN0b3I6ICdBIGNsYXNzIG1heSBvbmx5IGhhdmUgb25lIGNvbnN0cnVjdG9yJyxcblx0ICAgIER1cGxpY2F0ZVByb3RvUHJvcGVydHk6ICdEdXBsaWNhdGUgX19wcm90b19fIGZpZWxkcyBhcmUgbm90IGFsbG93ZWQgaW4gb2JqZWN0IGxpdGVyYWxzJyxcblx0ICAgIEZvckluT2ZMb29wSW5pdGlhbGl6ZXI6ICclMCBsb29wIHZhcmlhYmxlIGRlY2xhcmF0aW9uIG1heSBub3QgaGF2ZSBhbiBpbml0aWFsaXplcicsXG5cdCAgICBHZW5lcmF0b3JJbkxlZ2FjeUNvbnRleHQ6ICdHZW5lcmF0b3IgZGVjbGFyYXRpb25zIGFyZSBub3QgYWxsb3dlZCBpbiBsZWdhY3kgY29udGV4dHMnLFxuXHQgICAgSWxsZWdhbEJyZWFrOiAnSWxsZWdhbCBicmVhayBzdGF0ZW1lbnQnLFxuXHQgICAgSWxsZWdhbENvbnRpbnVlOiAnSWxsZWdhbCBjb250aW51ZSBzdGF0ZW1lbnQnLFxuXHQgICAgSWxsZWdhbEV4cG9ydERlY2xhcmF0aW9uOiAnVW5leHBlY3RlZCB0b2tlbicsXG5cdCAgICBJbGxlZ2FsSW1wb3J0RGVjbGFyYXRpb246ICdVbmV4cGVjdGVkIHRva2VuJyxcblx0ICAgIElsbGVnYWxMYW5ndWFnZU1vZGVEaXJlY3RpdmU6ICdJbGxlZ2FsIFxcJ3VzZSBzdHJpY3RcXCcgZGlyZWN0aXZlIGluIGZ1bmN0aW9uIHdpdGggbm9uLXNpbXBsZSBwYXJhbWV0ZXIgbGlzdCcsXG5cdCAgICBJbGxlZ2FsUmV0dXJuOiAnSWxsZWdhbCByZXR1cm4gc3RhdGVtZW50Jyxcblx0ICAgIEludmFsaWRFc2NhcGVkUmVzZXJ2ZWRXb3JkOiAnS2V5d29yZCBtdXN0IG5vdCBjb250YWluIGVzY2FwZWQgY2hhcmFjdGVycycsXG5cdCAgICBJbnZhbGlkSGV4RXNjYXBlU2VxdWVuY2U6ICdJbnZhbGlkIGhleGFkZWNpbWFsIGVzY2FwZSBzZXF1ZW5jZScsXG5cdCAgICBJbnZhbGlkTEhTSW5Bc3NpZ25tZW50OiAnSW52YWxpZCBsZWZ0LWhhbmQgc2lkZSBpbiBhc3NpZ25tZW50Jyxcblx0ICAgIEludmFsaWRMSFNJbkZvckluOiAnSW52YWxpZCBsZWZ0LWhhbmQgc2lkZSBpbiBmb3ItaW4nLFxuXHQgICAgSW52YWxpZExIU0luRm9yTG9vcDogJ0ludmFsaWQgbGVmdC1oYW5kIHNpZGUgaW4gZm9yLWxvb3AnLFxuXHQgICAgSW52YWxpZE1vZHVsZVNwZWNpZmllcjogJ1VuZXhwZWN0ZWQgdG9rZW4nLFxuXHQgICAgSW52YWxpZFJlZ0V4cDogJ0ludmFsaWQgcmVndWxhciBleHByZXNzaW9uJyxcblx0ICAgIExldEluTGV4aWNhbEJpbmRpbmc6ICdsZXQgaXMgZGlzYWxsb3dlZCBhcyBhIGxleGljYWxseSBib3VuZCBuYW1lJyxcblx0ICAgIE1pc3NpbmdGcm9tQ2xhdXNlOiAnVW5leHBlY3RlZCB0b2tlbicsXG5cdCAgICBNdWx0aXBsZURlZmF1bHRzSW5Td2l0Y2g6ICdNb3JlIHRoYW4gb25lIGRlZmF1bHQgY2xhdXNlIGluIHN3aXRjaCBzdGF0ZW1lbnQnLFxuXHQgICAgTmV3bGluZUFmdGVyVGhyb3c6ICdJbGxlZ2FsIG5ld2xpbmUgYWZ0ZXIgdGhyb3cnLFxuXHQgICAgTm9Bc0FmdGVySW1wb3J0TmFtZXNwYWNlOiAnVW5leHBlY3RlZCB0b2tlbicsXG5cdCAgICBOb0NhdGNoT3JGaW5hbGx5OiAnTWlzc2luZyBjYXRjaCBvciBmaW5hbGx5IGFmdGVyIHRyeScsXG5cdCAgICBQYXJhbWV0ZXJBZnRlclJlc3RQYXJhbWV0ZXI6ICdSZXN0IHBhcmFtZXRlciBtdXN0IGJlIGxhc3QgZm9ybWFsIHBhcmFtZXRlcicsXG5cdCAgICBSZWRlY2xhcmF0aW9uOiAnJTAgXFwnJTFcXCcgaGFzIGFscmVhZHkgYmVlbiBkZWNsYXJlZCcsXG5cdCAgICBTdGF0aWNQcm90b3R5cGU6ICdDbGFzc2VzIG1heSBub3QgaGF2ZSBzdGF0aWMgcHJvcGVydHkgbmFtZWQgcHJvdG90eXBlJyxcblx0ICAgIFN0cmljdENhdGNoVmFyaWFibGU6ICdDYXRjaCB2YXJpYWJsZSBtYXkgbm90IGJlIGV2YWwgb3IgYXJndW1lbnRzIGluIHN0cmljdCBtb2RlJyxcblx0ICAgIFN0cmljdERlbGV0ZTogJ0RlbGV0ZSBvZiBhbiB1bnF1YWxpZmllZCBpZGVudGlmaWVyIGluIHN0cmljdCBtb2RlLicsXG5cdCAgICBTdHJpY3RGdW5jdGlvbjogJ0luIHN0cmljdCBtb2RlIGNvZGUsIGZ1bmN0aW9ucyBjYW4gb25seSBiZSBkZWNsYXJlZCBhdCB0b3AgbGV2ZWwgb3IgaW5zaWRlIGEgYmxvY2snLFxuXHQgICAgU3RyaWN0RnVuY3Rpb25OYW1lOiAnRnVuY3Rpb24gbmFtZSBtYXkgbm90IGJlIGV2YWwgb3IgYXJndW1lbnRzIGluIHN0cmljdCBtb2RlJyxcblx0ICAgIFN0cmljdExIU0Fzc2lnbm1lbnQ6ICdBc3NpZ25tZW50IHRvIGV2YWwgb3IgYXJndW1lbnRzIGlzIG5vdCBhbGxvd2VkIGluIHN0cmljdCBtb2RlJyxcblx0ICAgIFN0cmljdExIU1Bvc3RmaXg6ICdQb3N0Zml4IGluY3JlbWVudC9kZWNyZW1lbnQgbWF5IG5vdCBoYXZlIGV2YWwgb3IgYXJndW1lbnRzIG9wZXJhbmQgaW4gc3RyaWN0IG1vZGUnLFxuXHQgICAgU3RyaWN0TEhTUHJlZml4OiAnUHJlZml4IGluY3JlbWVudC9kZWNyZW1lbnQgbWF5IG5vdCBoYXZlIGV2YWwgb3IgYXJndW1lbnRzIG9wZXJhbmQgaW4gc3RyaWN0IG1vZGUnLFxuXHQgICAgU3RyaWN0TW9kZVdpdGg6ICdTdHJpY3QgbW9kZSBjb2RlIG1heSBub3QgaW5jbHVkZSBhIHdpdGggc3RhdGVtZW50Jyxcblx0ICAgIFN0cmljdE9jdGFsTGl0ZXJhbDogJ09jdGFsIGxpdGVyYWxzIGFyZSBub3QgYWxsb3dlZCBpbiBzdHJpY3QgbW9kZS4nLFxuXHQgICAgU3RyaWN0UGFyYW1EdXBlOiAnU3RyaWN0IG1vZGUgZnVuY3Rpb24gbWF5IG5vdCBoYXZlIGR1cGxpY2F0ZSBwYXJhbWV0ZXIgbmFtZXMnLFxuXHQgICAgU3RyaWN0UGFyYW1OYW1lOiAnUGFyYW1ldGVyIG5hbWUgZXZhbCBvciBhcmd1bWVudHMgaXMgbm90IGFsbG93ZWQgaW4gc3RyaWN0IG1vZGUnLFxuXHQgICAgU3RyaWN0UmVzZXJ2ZWRXb3JkOiAnVXNlIG9mIGZ1dHVyZSByZXNlcnZlZCB3b3JkIGluIHN0cmljdCBtb2RlJyxcblx0ICAgIFN0cmljdFZhck5hbWU6ICdWYXJpYWJsZSBuYW1lIG1heSBub3QgYmUgZXZhbCBvciBhcmd1bWVudHMgaW4gc3RyaWN0IG1vZGUnLFxuXHQgICAgVGVtcGxhdGVPY3RhbExpdGVyYWw6ICdPY3RhbCBsaXRlcmFscyBhcmUgbm90IGFsbG93ZWQgaW4gdGVtcGxhdGUgc3RyaW5ncy4nLFxuXHQgICAgVW5leHBlY3RlZEVPUzogJ1VuZXhwZWN0ZWQgZW5kIG9mIGlucHV0Jyxcblx0ICAgIFVuZXhwZWN0ZWRJZGVudGlmaWVyOiAnVW5leHBlY3RlZCBpZGVudGlmaWVyJyxcblx0ICAgIFVuZXhwZWN0ZWROdW1iZXI6ICdVbmV4cGVjdGVkIG51bWJlcicsXG5cdCAgICBVbmV4cGVjdGVkUmVzZXJ2ZWQ6ICdVbmV4cGVjdGVkIHJlc2VydmVkIHdvcmQnLFxuXHQgICAgVW5leHBlY3RlZFN0cmluZzogJ1VuZXhwZWN0ZWQgc3RyaW5nJyxcblx0ICAgIFVuZXhwZWN0ZWRUZW1wbGF0ZTogJ1VuZXhwZWN0ZWQgcXVhc2kgJTAnLFxuXHQgICAgVW5leHBlY3RlZFRva2VuOiAnVW5leHBlY3RlZCB0b2tlbiAlMCcsXG5cdCAgICBVbmV4cGVjdGVkVG9rZW5JbGxlZ2FsOiAnVW5leHBlY3RlZCB0b2tlbiBJTExFR0FMJyxcblx0ICAgIFVua25vd25MYWJlbDogJ1VuZGVmaW5lZCBsYWJlbCBcXCclMFxcJycsXG5cdCAgICBVbnRlcm1pbmF0ZWRSZWdFeHA6ICdJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogbWlzc2luZyAvJ1xuXHR9O1xuXG5cbi8qKiovIH0sXG4vKiAxMiAqL1xuLyoqKi8gZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKSB7XG5cblx0XCJ1c2Ugc3RyaWN0XCI7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcblx0dmFyIGFzc2VydF8xID0gX193ZWJwYWNrX3JlcXVpcmVfXyg5KTtcblx0dmFyIGNoYXJhY3Rlcl8xID0gX193ZWJwYWNrX3JlcXVpcmVfXyg0KTtcblx0dmFyIG1lc3NhZ2VzXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDExKTtcblx0ZnVuY3Rpb24gaGV4VmFsdWUoY2gpIHtcblx0ICAgIHJldHVybiAnMDEyMzQ1Njc4OWFiY2RlZicuaW5kZXhPZihjaC50b0xvd2VyQ2FzZSgpKTtcblx0fVxuXHRmdW5jdGlvbiBvY3RhbFZhbHVlKGNoKSB7XG5cdCAgICByZXR1cm4gJzAxMjM0NTY3Jy5pbmRleE9mKGNoKTtcblx0fVxuXHR2YXIgU2Nhbm5lciA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBTY2FubmVyKGNvZGUsIGhhbmRsZXIpIHtcblx0ICAgICAgICB0aGlzLnNvdXJjZSA9IGNvZGU7XG5cdCAgICAgICAgdGhpcy5lcnJvckhhbmRsZXIgPSBoYW5kbGVyO1xuXHQgICAgICAgIHRoaXMudHJhY2tDb21tZW50ID0gZmFsc2U7XG5cdCAgICAgICAgdGhpcy5pc01vZHVsZSA9IGZhbHNlO1xuXHQgICAgICAgIHRoaXMubGVuZ3RoID0gY29kZS5sZW5ndGg7XG5cdCAgICAgICAgdGhpcy5pbmRleCA9IDA7XG5cdCAgICAgICAgdGhpcy5saW5lTnVtYmVyID0gKGNvZGUubGVuZ3RoID4gMCkgPyAxIDogMDtcblx0ICAgICAgICB0aGlzLmxpbmVTdGFydCA9IDA7XG5cdCAgICAgICAgdGhpcy5jdXJseVN0YWNrID0gW107XG5cdCAgICB9XG5cdCAgICBTY2FubmVyLnByb3RvdHlwZS5zYXZlU3RhdGUgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgcmV0dXJuIHtcblx0ICAgICAgICAgICAgaW5kZXg6IHRoaXMuaW5kZXgsXG5cdCAgICAgICAgICAgIGxpbmVOdW1iZXI6IHRoaXMubGluZU51bWJlcixcblx0ICAgICAgICAgICAgbGluZVN0YXJ0OiB0aGlzLmxpbmVTdGFydFxuXHQgICAgICAgIH07XG5cdCAgICB9O1xuXHQgICAgU2Nhbm5lci5wcm90b3R5cGUucmVzdG9yZVN0YXRlID0gZnVuY3Rpb24gKHN0YXRlKSB7XG5cdCAgICAgICAgdGhpcy5pbmRleCA9IHN0YXRlLmluZGV4O1xuXHQgICAgICAgIHRoaXMubGluZU51bWJlciA9IHN0YXRlLmxpbmVOdW1iZXI7XG5cdCAgICAgICAgdGhpcy5saW5lU3RhcnQgPSBzdGF0ZS5saW5lU3RhcnQ7XG5cdCAgICB9O1xuXHQgICAgU2Nhbm5lci5wcm90b3R5cGUuZW9mID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHJldHVybiB0aGlzLmluZGV4ID49IHRoaXMubGVuZ3RoO1xuXHQgICAgfTtcblx0ICAgIFNjYW5uZXIucHJvdG90eXBlLnRocm93VW5leHBlY3RlZFRva2VuID0gZnVuY3Rpb24gKG1lc3NhZ2UpIHtcblx0ICAgICAgICBpZiAobWVzc2FnZSA9PT0gdm9pZCAwKSB7IG1lc3NhZ2UgPSBtZXNzYWdlc18xLk1lc3NhZ2VzLlVuZXhwZWN0ZWRUb2tlbklsbGVnYWw7IH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIudGhyb3dFcnJvcih0aGlzLmluZGV4LCB0aGlzLmxpbmVOdW1iZXIsIHRoaXMuaW5kZXggLSB0aGlzLmxpbmVTdGFydCArIDEsIG1lc3NhZ2UpO1xuXHQgICAgfTtcblx0ICAgIFNjYW5uZXIucHJvdG90eXBlLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuID0gZnVuY3Rpb24gKG1lc3NhZ2UpIHtcblx0ICAgICAgICBpZiAobWVzc2FnZSA9PT0gdm9pZCAwKSB7IG1lc3NhZ2UgPSBtZXNzYWdlc18xLk1lc3NhZ2VzLlVuZXhwZWN0ZWRUb2tlbklsbGVnYWw7IH1cblx0ICAgICAgICB0aGlzLmVycm9ySGFuZGxlci50b2xlcmF0ZUVycm9yKHRoaXMuaW5kZXgsIHRoaXMubGluZU51bWJlciwgdGhpcy5pbmRleCAtIHRoaXMubGluZVN0YXJ0ICsgMSwgbWVzc2FnZSk7XG5cdCAgICB9O1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtY29tbWVudHNcblx0ICAgIFNjYW5uZXIucHJvdG90eXBlLnNraXBTaW5nbGVMaW5lQ29tbWVudCA9IGZ1bmN0aW9uIChvZmZzZXQpIHtcblx0ICAgICAgICB2YXIgY29tbWVudHMgPSBbXTtcblx0ICAgICAgICB2YXIgc3RhcnQsIGxvYztcblx0ICAgICAgICBpZiAodGhpcy50cmFja0NvbW1lbnQpIHtcblx0ICAgICAgICAgICAgY29tbWVudHMgPSBbXTtcblx0ICAgICAgICAgICAgc3RhcnQgPSB0aGlzLmluZGV4IC0gb2Zmc2V0O1xuXHQgICAgICAgICAgICBsb2MgPSB7XG5cdCAgICAgICAgICAgICAgICBzdGFydDoge1xuXHQgICAgICAgICAgICAgICAgICAgIGxpbmU6IHRoaXMubGluZU51bWJlcixcblx0ICAgICAgICAgICAgICAgICAgICBjb2x1bW46IHRoaXMuaW5kZXggLSB0aGlzLmxpbmVTdGFydCAtIG9mZnNldFxuXHQgICAgICAgICAgICAgICAgfSxcblx0ICAgICAgICAgICAgICAgIGVuZDoge31cblx0ICAgICAgICAgICAgfTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgd2hpbGUgKCF0aGlzLmVvZigpKSB7XG5cdCAgICAgICAgICAgIHZhciBjaCA9IHRoaXMuc291cmNlLmNoYXJDb2RlQXQodGhpcy5pbmRleCk7XG5cdCAgICAgICAgICAgICsrdGhpcy5pbmRleDtcblx0ICAgICAgICAgICAgaWYgKGNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc0xpbmVUZXJtaW5hdG9yKGNoKSkge1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMudHJhY2tDb21tZW50KSB7XG5cdCAgICAgICAgICAgICAgICAgICAgbG9jLmVuZCA9IHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgbGluZTogdGhpcy5saW5lTnVtYmVyLFxuXHQgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW46IHRoaXMuaW5kZXggLSB0aGlzLmxpbmVTdGFydCAtIDFcblx0ICAgICAgICAgICAgICAgICAgICB9O1xuXHQgICAgICAgICAgICAgICAgICAgIHZhciBlbnRyeSA9IHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgbXVsdGlMaW5lOiBmYWxzZSxcblx0ICAgICAgICAgICAgICAgICAgICAgICAgc2xpY2U6IFtzdGFydCArIG9mZnNldCwgdGhpcy5pbmRleCAtIDFdLFxuXHQgICAgICAgICAgICAgICAgICAgICAgICByYW5nZTogW3N0YXJ0LCB0aGlzLmluZGV4IC0gMV0sXG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGxvYzogbG9jXG5cdCAgICAgICAgICAgICAgICAgICAgfTtcblx0ICAgICAgICAgICAgICAgICAgICBjb21tZW50cy5wdXNoKGVudHJ5KTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gMTMgJiYgdGhpcy5zb3VyY2UuY2hhckNvZGVBdCh0aGlzLmluZGV4KSA9PT0gMTApIHtcblx0ICAgICAgICAgICAgICAgICAgICArK3RoaXMuaW5kZXg7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICArK3RoaXMubGluZU51bWJlcjtcblx0ICAgICAgICAgICAgICAgIHRoaXMubGluZVN0YXJ0ID0gdGhpcy5pbmRleDtcblx0ICAgICAgICAgICAgICAgIHJldHVybiBjb21tZW50cztcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAodGhpcy50cmFja0NvbW1lbnQpIHtcblx0ICAgICAgICAgICAgbG9jLmVuZCA9IHtcblx0ICAgICAgICAgICAgICAgIGxpbmU6IHRoaXMubGluZU51bWJlcixcblx0ICAgICAgICAgICAgICAgIGNvbHVtbjogdGhpcy5pbmRleCAtIHRoaXMubGluZVN0YXJ0XG5cdCAgICAgICAgICAgIH07XG5cdCAgICAgICAgICAgIHZhciBlbnRyeSA9IHtcblx0ICAgICAgICAgICAgICAgIG11bHRpTGluZTogZmFsc2UsXG5cdCAgICAgICAgICAgICAgICBzbGljZTogW3N0YXJ0ICsgb2Zmc2V0LCB0aGlzLmluZGV4XSxcblx0ICAgICAgICAgICAgICAgIHJhbmdlOiBbc3RhcnQsIHRoaXMuaW5kZXhdLFxuXHQgICAgICAgICAgICAgICAgbG9jOiBsb2Ncblx0ICAgICAgICAgICAgfTtcblx0ICAgICAgICAgICAgY29tbWVudHMucHVzaChlbnRyeSk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiBjb21tZW50cztcblx0ICAgIH07XG5cdCAgICBTY2FubmVyLnByb3RvdHlwZS5za2lwTXVsdGlMaW5lQ29tbWVudCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgY29tbWVudHMgPSBbXTtcblx0ICAgICAgICB2YXIgc3RhcnQsIGxvYztcblx0ICAgICAgICBpZiAodGhpcy50cmFja0NvbW1lbnQpIHtcblx0ICAgICAgICAgICAgY29tbWVudHMgPSBbXTtcblx0ICAgICAgICAgICAgc3RhcnQgPSB0aGlzLmluZGV4IC0gMjtcblx0ICAgICAgICAgICAgbG9jID0ge1xuXHQgICAgICAgICAgICAgICAgc3RhcnQ6IHtcblx0ICAgICAgICAgICAgICAgICAgICBsaW5lOiB0aGlzLmxpbmVOdW1iZXIsXG5cdCAgICAgICAgICAgICAgICAgICAgY29sdW1uOiB0aGlzLmluZGV4IC0gdGhpcy5saW5lU3RhcnQgLSAyXG5cdCAgICAgICAgICAgICAgICB9LFxuXHQgICAgICAgICAgICAgICAgZW5kOiB7fVxuXHQgICAgICAgICAgICB9O1xuXHQgICAgICAgIH1cblx0ICAgICAgICB3aGlsZSAoIXRoaXMuZW9mKCkpIHtcblx0ICAgICAgICAgICAgdmFyIGNoID0gdGhpcy5zb3VyY2UuY2hhckNvZGVBdCh0aGlzLmluZGV4KTtcblx0ICAgICAgICAgICAgaWYgKGNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc0xpbmVUZXJtaW5hdG9yKGNoKSkge1xuXHQgICAgICAgICAgICAgICAgaWYgKGNoID09PSAweDBEICYmIHRoaXMuc291cmNlLmNoYXJDb2RlQXQodGhpcy5pbmRleCArIDEpID09PSAweDBBKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgKyt0aGlzLmluZGV4O1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgKyt0aGlzLmxpbmVOdW1iZXI7XG5cdCAgICAgICAgICAgICAgICArK3RoaXMuaW5kZXg7XG5cdCAgICAgICAgICAgICAgICB0aGlzLmxpbmVTdGFydCA9IHRoaXMuaW5kZXg7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSBpZiAoY2ggPT09IDB4MkEpIHtcblx0ICAgICAgICAgICAgICAgIC8vIEJsb2NrIGNvbW1lbnQgZW5kcyB3aXRoICcqLycuXG5cdCAgICAgICAgICAgICAgICBpZiAodGhpcy5zb3VyY2UuY2hhckNvZGVBdCh0aGlzLmluZGV4ICsgMSkgPT09IDB4MkYpIHtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLmluZGV4ICs9IDI7XG5cdCAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudHJhY2tDb21tZW50KSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGxvYy5lbmQgPSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lOiB0aGlzLmxpbmVOdW1iZXIsXG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW46IHRoaXMuaW5kZXggLSB0aGlzLmxpbmVTdGFydFxuXHQgICAgICAgICAgICAgICAgICAgICAgICB9O1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB2YXIgZW50cnkgPSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWx0aUxpbmU6IHRydWUsXG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbGljZTogW3N0YXJ0ICsgMiwgdGhpcy5pbmRleCAtIDJdLFxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmFuZ2U6IFtzdGFydCwgdGhpcy5pbmRleF0sXG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBsb2M6IGxvY1xuXHQgICAgICAgICAgICAgICAgICAgICAgICB9O1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50cy5wdXNoKGVudHJ5KTtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNvbW1lbnRzO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgKyt0aGlzLmluZGV4O1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgKyt0aGlzLmluZGV4O1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIC8vIFJhbiBvZmYgdGhlIGVuZCBvZiB0aGUgZmlsZSAtIHRoZSB3aG9sZSB0aGluZyBpcyBhIGNvbW1lbnRcblx0ICAgICAgICBpZiAodGhpcy50cmFja0NvbW1lbnQpIHtcblx0ICAgICAgICAgICAgbG9jLmVuZCA9IHtcblx0ICAgICAgICAgICAgICAgIGxpbmU6IHRoaXMubGluZU51bWJlcixcblx0ICAgICAgICAgICAgICAgIGNvbHVtbjogdGhpcy5pbmRleCAtIHRoaXMubGluZVN0YXJ0XG5cdCAgICAgICAgICAgIH07XG5cdCAgICAgICAgICAgIHZhciBlbnRyeSA9IHtcblx0ICAgICAgICAgICAgICAgIG11bHRpTGluZTogdHJ1ZSxcblx0ICAgICAgICAgICAgICAgIHNsaWNlOiBbc3RhcnQgKyAyLCB0aGlzLmluZGV4XSxcblx0ICAgICAgICAgICAgICAgIHJhbmdlOiBbc3RhcnQsIHRoaXMuaW5kZXhdLFxuXHQgICAgICAgICAgICAgICAgbG9jOiBsb2Ncblx0ICAgICAgICAgICAgfTtcblx0ICAgICAgICAgICAgY29tbWVudHMucHVzaChlbnRyeSk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHRoaXMudG9sZXJhdGVVbmV4cGVjdGVkVG9rZW4oKTtcblx0ICAgICAgICByZXR1cm4gY29tbWVudHM7XG5cdCAgICB9O1xuXHQgICAgU2Nhbm5lci5wcm90b3R5cGUuc2NhbkNvbW1lbnRzID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBjb21tZW50cztcblx0ICAgICAgICBpZiAodGhpcy50cmFja0NvbW1lbnQpIHtcblx0ICAgICAgICAgICAgY29tbWVudHMgPSBbXTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdmFyIHN0YXJ0ID0gKHRoaXMuaW5kZXggPT09IDApO1xuXHQgICAgICAgIHdoaWxlICghdGhpcy5lb2YoKSkge1xuXHQgICAgICAgICAgICB2YXIgY2ggPSB0aGlzLnNvdXJjZS5jaGFyQ29kZUF0KHRoaXMuaW5kZXgpO1xuXHQgICAgICAgICAgICBpZiAoY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmlzV2hpdGVTcGFjZShjaCkpIHtcblx0ICAgICAgICAgICAgICAgICsrdGhpcy5pbmRleDtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmIChjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNMaW5lVGVybWluYXRvcihjaCkpIHtcblx0ICAgICAgICAgICAgICAgICsrdGhpcy5pbmRleDtcblx0ICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gMHgwRCAmJiB0aGlzLnNvdXJjZS5jaGFyQ29kZUF0KHRoaXMuaW5kZXgpID09PSAweDBBKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgKyt0aGlzLmluZGV4O1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgKyt0aGlzLmxpbmVOdW1iZXI7XG5cdCAgICAgICAgICAgICAgICB0aGlzLmxpbmVTdGFydCA9IHRoaXMuaW5kZXg7XG5cdCAgICAgICAgICAgICAgICBzdGFydCA9IHRydWU7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSBpZiAoY2ggPT09IDB4MkYpIHtcblx0ICAgICAgICAgICAgICAgIGNoID0gdGhpcy5zb3VyY2UuY2hhckNvZGVBdCh0aGlzLmluZGV4ICsgMSk7XG5cdCAgICAgICAgICAgICAgICBpZiAoY2ggPT09IDB4MkYpIHtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLmluZGV4ICs9IDI7XG5cdCAgICAgICAgICAgICAgICAgICAgdmFyIGNvbW1lbnQgPSB0aGlzLnNraXBTaW5nbGVMaW5lQ29tbWVudCgyKTtcblx0ICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy50cmFja0NvbW1lbnQpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudHMgPSBjb21tZW50cy5jb25jYXQoY29tbWVudCk7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIHN0YXJ0ID0gdHJ1ZTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGVsc2UgaWYgKGNoID09PSAweDJBKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmRleCArPSAyO1xuXHQgICAgICAgICAgICAgICAgICAgIHZhciBjb21tZW50ID0gdGhpcy5za2lwTXVsdGlMaW5lQ29tbWVudCgpO1xuXHQgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyYWNrQ29tbWVudCkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50cyA9IGNvbW1lbnRzLmNvbmNhdChjb21tZW50KTtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmIChzdGFydCAmJiBjaCA9PT0gMHgyRCkge1xuXHQgICAgICAgICAgICAgICAgLy8gVSswMDNFIGlzICc+J1xuXHQgICAgICAgICAgICAgICAgaWYgKCh0aGlzLnNvdXJjZS5jaGFyQ29kZUF0KHRoaXMuaW5kZXggKyAxKSA9PT0gMHgyRCkgJiYgKHRoaXMuc291cmNlLmNoYXJDb2RlQXQodGhpcy5pbmRleCArIDIpID09PSAweDNFKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIC8vICctLT4nIGlzIGEgc2luZ2xlLWxpbmUgY29tbWVudFxuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5kZXggKz0gMztcblx0ICAgICAgICAgICAgICAgICAgICB2YXIgY29tbWVudCA9IHRoaXMuc2tpcFNpbmdsZUxpbmVDb21tZW50KDMpO1xuXHQgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyYWNrQ29tbWVudCkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50cyA9IGNvbW1lbnRzLmNvbmNhdChjb21tZW50KTtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmIChjaCA9PT0gMHgzQyAmJiAhdGhpcy5pc01vZHVsZSkge1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMuc291cmNlLnNsaWNlKHRoaXMuaW5kZXggKyAxLCB0aGlzLmluZGV4ICsgNCkgPT09ICchLS0nKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmRleCArPSA0OyAvLyBgPCEtLWBcblx0ICAgICAgICAgICAgICAgICAgICB2YXIgY29tbWVudCA9IHRoaXMuc2tpcFNpbmdsZUxpbmVDb21tZW50KDQpO1xuXHQgICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyYWNrQ29tbWVudCkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50cyA9IGNvbW1lbnRzLmNvbmNhdChjb21tZW50KTtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiBjb21tZW50cztcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1mdXR1cmUtcmVzZXJ2ZWQtd29yZHNcblx0ICAgIFNjYW5uZXIucHJvdG90eXBlLmlzRnV0dXJlUmVzZXJ2ZWRXb3JkID0gZnVuY3Rpb24gKGlkKSB7XG5cdCAgICAgICAgc3dpdGNoIChpZCkge1xuXHQgICAgICAgICAgICBjYXNlICdlbnVtJzpcblx0ICAgICAgICAgICAgY2FzZSAnZXhwb3J0Jzpcblx0ICAgICAgICAgICAgY2FzZSAnaW1wb3J0Jzpcblx0ICAgICAgICAgICAgY2FzZSAnc3VwZXInOlxuXHQgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG5cdCAgICAgICAgICAgIGRlZmF1bHQ6XG5cdCAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG5cdCAgICAgICAgfVxuXHQgICAgfTtcblx0ICAgIFNjYW5uZXIucHJvdG90eXBlLmlzU3RyaWN0TW9kZVJlc2VydmVkV29yZCA9IGZ1bmN0aW9uIChpZCkge1xuXHQgICAgICAgIHN3aXRjaCAoaWQpIHtcblx0ICAgICAgICAgICAgY2FzZSAnaW1wbGVtZW50cyc6XG5cdCAgICAgICAgICAgIGNhc2UgJ2ludGVyZmFjZSc6XG5cdCAgICAgICAgICAgIGNhc2UgJ3BhY2thZ2UnOlxuXHQgICAgICAgICAgICBjYXNlICdwcml2YXRlJzpcblx0ICAgICAgICAgICAgY2FzZSAncHJvdGVjdGVkJzpcblx0ICAgICAgICAgICAgY2FzZSAncHVibGljJzpcblx0ICAgICAgICAgICAgY2FzZSAnc3RhdGljJzpcblx0ICAgICAgICAgICAgY2FzZSAneWllbGQnOlxuXHQgICAgICAgICAgICBjYXNlICdsZXQnOlxuXHQgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG5cdCAgICAgICAgICAgIGRlZmF1bHQ6XG5cdCAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG5cdCAgICAgICAgfVxuXHQgICAgfTtcblx0ICAgIFNjYW5uZXIucHJvdG90eXBlLmlzUmVzdHJpY3RlZFdvcmQgPSBmdW5jdGlvbiAoaWQpIHtcblx0ICAgICAgICByZXR1cm4gaWQgPT09ICdldmFsJyB8fCBpZCA9PT0gJ2FyZ3VtZW50cyc7XG5cdCAgICB9O1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMta2V5d29yZHNcblx0ICAgIFNjYW5uZXIucHJvdG90eXBlLmlzS2V5d29yZCA9IGZ1bmN0aW9uIChpZCkge1xuXHQgICAgICAgIHN3aXRjaCAoaWQubGVuZ3RoKSB7XG5cdCAgICAgICAgICAgIGNhc2UgMjpcblx0ICAgICAgICAgICAgICAgIHJldHVybiAoaWQgPT09ICdpZicpIHx8IChpZCA9PT0gJ2luJykgfHwgKGlkID09PSAnZG8nKTtcblx0ICAgICAgICAgICAgY2FzZSAzOlxuXHQgICAgICAgICAgICAgICAgcmV0dXJuIChpZCA9PT0gJ3ZhcicpIHx8IChpZCA9PT0gJ2ZvcicpIHx8IChpZCA9PT0gJ25ldycpIHx8XG5cdCAgICAgICAgICAgICAgICAgICAgKGlkID09PSAndHJ5JykgfHwgKGlkID09PSAnbGV0Jyk7XG5cdCAgICAgICAgICAgIGNhc2UgNDpcblx0ICAgICAgICAgICAgICAgIHJldHVybiAoaWQgPT09ICd0aGlzJykgfHwgKGlkID09PSAnZWxzZScpIHx8IChpZCA9PT0gJ2Nhc2UnKSB8fFxuXHQgICAgICAgICAgICAgICAgICAgIChpZCA9PT0gJ3ZvaWQnKSB8fCAoaWQgPT09ICd3aXRoJykgfHwgKGlkID09PSAnZW51bScpO1xuXHQgICAgICAgICAgICBjYXNlIDU6XG5cdCAgICAgICAgICAgICAgICByZXR1cm4gKGlkID09PSAnd2hpbGUnKSB8fCAoaWQgPT09ICdicmVhaycpIHx8IChpZCA9PT0gJ2NhdGNoJykgfHxcblx0ICAgICAgICAgICAgICAgICAgICAoaWQgPT09ICd0aHJvdycpIHx8IChpZCA9PT0gJ2NvbnN0JykgfHwgKGlkID09PSAneWllbGQnKSB8fFxuXHQgICAgICAgICAgICAgICAgICAgIChpZCA9PT0gJ2NsYXNzJykgfHwgKGlkID09PSAnc3VwZXInKTtcblx0ICAgICAgICAgICAgY2FzZSA2OlxuXHQgICAgICAgICAgICAgICAgcmV0dXJuIChpZCA9PT0gJ3JldHVybicpIHx8IChpZCA9PT0gJ3R5cGVvZicpIHx8IChpZCA9PT0gJ2RlbGV0ZScpIHx8XG5cdCAgICAgICAgICAgICAgICAgICAgKGlkID09PSAnc3dpdGNoJykgfHwgKGlkID09PSAnZXhwb3J0JykgfHwgKGlkID09PSAnaW1wb3J0Jyk7XG5cdCAgICAgICAgICAgIGNhc2UgNzpcblx0ICAgICAgICAgICAgICAgIHJldHVybiAoaWQgPT09ICdkZWZhdWx0JykgfHwgKGlkID09PSAnZmluYWxseScpIHx8IChpZCA9PT0gJ2V4dGVuZHMnKTtcblx0ICAgICAgICAgICAgY2FzZSA4OlxuXHQgICAgICAgICAgICAgICAgcmV0dXJuIChpZCA9PT0gJ2Z1bmN0aW9uJykgfHwgKGlkID09PSAnY29udGludWUnKSB8fCAoaWQgPT09ICdkZWJ1Z2dlcicpO1xuXHQgICAgICAgICAgICBjYXNlIDEwOlxuXHQgICAgICAgICAgICAgICAgcmV0dXJuIChpZCA9PT0gJ2luc3RhbmNlb2YnKTtcblx0ICAgICAgICAgICAgZGVmYXVsdDpcblx0ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcblx0ICAgICAgICB9XG5cdCAgICB9O1xuXHQgICAgU2Nhbm5lci5wcm90b3R5cGUuY29kZVBvaW50QXQgPSBmdW5jdGlvbiAoaSkge1xuXHQgICAgICAgIHZhciBjcCA9IHRoaXMuc291cmNlLmNoYXJDb2RlQXQoaSk7XG5cdCAgICAgICAgaWYgKGNwID49IDB4RDgwMCAmJiBjcCA8PSAweERCRkYpIHtcblx0ICAgICAgICAgICAgdmFyIHNlY29uZCA9IHRoaXMuc291cmNlLmNoYXJDb2RlQXQoaSArIDEpO1xuXHQgICAgICAgICAgICBpZiAoc2Vjb25kID49IDB4REMwMCAmJiBzZWNvbmQgPD0gMHhERkZGKSB7XG5cdCAgICAgICAgICAgICAgICB2YXIgZmlyc3QgPSBjcDtcblx0ICAgICAgICAgICAgICAgIGNwID0gKGZpcnN0IC0gMHhEODAwKSAqIDB4NDAwICsgc2Vjb25kIC0gMHhEQzAwICsgMHgxMDAwMDtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gY3A7XG5cdCAgICB9O1xuXHQgICAgU2Nhbm5lci5wcm90b3R5cGUuc2NhbkhleEVzY2FwZSA9IGZ1bmN0aW9uIChwcmVmaXgpIHtcblx0ICAgICAgICB2YXIgbGVuID0gKHByZWZpeCA9PT0gJ3UnKSA/IDQgOiAyO1xuXHQgICAgICAgIHZhciBjb2RlID0gMDtcblx0ICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgKytpKSB7XG5cdCAgICAgICAgICAgIGlmICghdGhpcy5lb2YoKSAmJiBjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNIZXhEaWdpdCh0aGlzLnNvdXJjZS5jaGFyQ29kZUF0KHRoaXMuaW5kZXgpKSkge1xuXHQgICAgICAgICAgICAgICAgY29kZSA9IGNvZGUgKiAxNiArIGhleFZhbHVlKHRoaXMuc291cmNlW3RoaXMuaW5kZXgrK10pO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgcmV0dXJuIG51bGw7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoY29kZSk7XG5cdCAgICB9O1xuXHQgICAgU2Nhbm5lci5wcm90b3R5cGUuc2NhblVuaWNvZGVDb2RlUG9pbnRFc2NhcGUgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIGNoID0gdGhpcy5zb3VyY2VbdGhpcy5pbmRleF07XG5cdCAgICAgICAgdmFyIGNvZGUgPSAwO1xuXHQgICAgICAgIC8vIEF0IGxlYXN0LCBvbmUgaGV4IGRpZ2l0IGlzIHJlcXVpcmVkLlxuXHQgICAgICAgIGlmIChjaCA9PT0gJ30nKSB7XG5cdCAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4oKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgd2hpbGUgKCF0aGlzLmVvZigpKSB7XG5cdCAgICAgICAgICAgIGNoID0gdGhpcy5zb3VyY2VbdGhpcy5pbmRleCsrXTtcblx0ICAgICAgICAgICAgaWYgKCFjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNIZXhEaWdpdChjaC5jaGFyQ29kZUF0KDApKSkge1xuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgY29kZSA9IGNvZGUgKiAxNiArIGhleFZhbHVlKGNoKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgaWYgKGNvZGUgPiAweDEwRkZGRiB8fCBjaCAhPT0gJ30nKSB7XG5cdCAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4oKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIGNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5mcm9tQ29kZVBvaW50KGNvZGUpO1xuXHQgICAgfTtcblx0ICAgIFNjYW5uZXIucHJvdG90eXBlLmdldElkZW50aWZpZXIgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIHN0YXJ0ID0gdGhpcy5pbmRleCsrO1xuXHQgICAgICAgIHdoaWxlICghdGhpcy5lb2YoKSkge1xuXHQgICAgICAgICAgICB2YXIgY2ggPSB0aGlzLnNvdXJjZS5jaGFyQ29kZUF0KHRoaXMuaW5kZXgpO1xuXHQgICAgICAgICAgICBpZiAoY2ggPT09IDB4NUMpIHtcblx0ICAgICAgICAgICAgICAgIC8vIEJsYWNrc2xhc2ggKFUrMDA1QykgbWFya3MgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2UuXG5cdCAgICAgICAgICAgICAgICB0aGlzLmluZGV4ID0gc3RhcnQ7XG5cdCAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5nZXRDb21wbGV4SWRlbnRpZmllcigpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2UgaWYgKGNoID49IDB4RDgwMCAmJiBjaCA8IDB4REZGRikge1xuXHQgICAgICAgICAgICAgICAgLy8gTmVlZCB0byBoYW5kbGUgc3Vycm9nYXRlIHBhaXJzLlxuXHQgICAgICAgICAgICAgICAgdGhpcy5pbmRleCA9IHN0YXJ0O1xuXHQgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZ2V0Q29tcGxleElkZW50aWZpZXIoKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBpZiAoY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmlzSWRlbnRpZmllclBhcnQoY2gpKSB7XG5cdCAgICAgICAgICAgICAgICArK3RoaXMuaW5kZXg7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5zb3VyY2Uuc2xpY2Uoc3RhcnQsIHRoaXMuaW5kZXgpO1xuXHQgICAgfTtcblx0ICAgIFNjYW5uZXIucHJvdG90eXBlLmdldENvbXBsZXhJZGVudGlmaWVyID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBjcCA9IHRoaXMuY29kZVBvaW50QXQodGhpcy5pbmRleCk7XG5cdCAgICAgICAgdmFyIGlkID0gY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmZyb21Db2RlUG9pbnQoY3ApO1xuXHQgICAgICAgIHRoaXMuaW5kZXggKz0gaWQubGVuZ3RoO1xuXHQgICAgICAgIC8vICdcXHUnIChVKzAwNUMsIFUrMDA3NSkgZGVub3RlcyBhbiBlc2NhcGVkIGNoYXJhY3Rlci5cblx0ICAgICAgICB2YXIgY2g7XG5cdCAgICAgICAgaWYgKGNwID09PSAweDVDKSB7XG5cdCAgICAgICAgICAgIGlmICh0aGlzLnNvdXJjZS5jaGFyQ29kZUF0KHRoaXMuaW5kZXgpICE9PSAweDc1KSB7XG5cdCAgICAgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgKyt0aGlzLmluZGV4O1xuXHQgICAgICAgICAgICBpZiAodGhpcy5zb3VyY2VbdGhpcy5pbmRleF0gPT09ICd7Jykge1xuXHQgICAgICAgICAgICAgICAgKyt0aGlzLmluZGV4O1xuXHQgICAgICAgICAgICAgICAgY2ggPSB0aGlzLnNjYW5Vbmljb2RlQ29kZVBvaW50RXNjYXBlKCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICBjaCA9IHRoaXMuc2NhbkhleEVzY2FwZSgndScpO1xuXHQgICAgICAgICAgICAgICAgaWYgKGNoID09PSBudWxsIHx8IGNoID09PSAnXFxcXCcgfHwgIWNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc0lkZW50aWZpZXJTdGFydChjaC5jaGFyQ29kZUF0KDApKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4oKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBpZCA9IGNoO1xuXHQgICAgICAgIH1cblx0ICAgICAgICB3aGlsZSAoIXRoaXMuZW9mKCkpIHtcblx0ICAgICAgICAgICAgY3AgPSB0aGlzLmNvZGVQb2ludEF0KHRoaXMuaW5kZXgpO1xuXHQgICAgICAgICAgICBpZiAoIWNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc0lkZW50aWZpZXJQYXJ0KGNwKSkge1xuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgY2ggPSBjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuZnJvbUNvZGVQb2ludChjcCk7XG5cdCAgICAgICAgICAgIGlkICs9IGNoO1xuXHQgICAgICAgICAgICB0aGlzLmluZGV4ICs9IGNoLmxlbmd0aDtcblx0ICAgICAgICAgICAgLy8gJ1xcdScgKFUrMDA1QywgVSswMDc1KSBkZW5vdGVzIGFuIGVzY2FwZWQgY2hhcmFjdGVyLlxuXHQgICAgICAgICAgICBpZiAoY3AgPT09IDB4NUMpIHtcblx0ICAgICAgICAgICAgICAgIGlkID0gaWQuc3Vic3RyKDAsIGlkLmxlbmd0aCAtIDEpO1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMuc291cmNlLmNoYXJDb2RlQXQodGhpcy5pbmRleCkgIT09IDB4NzUpIHtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKCk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICArK3RoaXMuaW5kZXg7XG5cdCAgICAgICAgICAgICAgICBpZiAodGhpcy5zb3VyY2VbdGhpcy5pbmRleF0gPT09ICd7Jykge1xuXHQgICAgICAgICAgICAgICAgICAgICsrdGhpcy5pbmRleDtcblx0ICAgICAgICAgICAgICAgICAgICBjaCA9IHRoaXMuc2NhblVuaWNvZGVDb2RlUG9pbnRFc2NhcGUoKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgICAgIGNoID0gdGhpcy5zY2FuSGV4RXNjYXBlKCd1Jyk7XG5cdCAgICAgICAgICAgICAgICAgICAgaWYgKGNoID09PSBudWxsIHx8IGNoID09PSAnXFxcXCcgfHwgIWNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc0lkZW50aWZpZXJQYXJ0KGNoLmNoYXJDb2RlQXQoMCkpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4oKTtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBpZCArPSBjaDtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gaWQ7XG5cdCAgICB9O1xuXHQgICAgU2Nhbm5lci5wcm90b3R5cGUub2N0YWxUb0RlY2ltYWwgPSBmdW5jdGlvbiAoY2gpIHtcblx0ICAgICAgICAvLyBcXDAgaXMgbm90IG9jdGFsIGVzY2FwZSBzZXF1ZW5jZVxuXHQgICAgICAgIHZhciBvY3RhbCA9IChjaCAhPT0gJzAnKTtcblx0ICAgICAgICB2YXIgY29kZSA9IG9jdGFsVmFsdWUoY2gpO1xuXHQgICAgICAgIGlmICghdGhpcy5lb2YoKSAmJiBjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNPY3RhbERpZ2l0KHRoaXMuc291cmNlLmNoYXJDb2RlQXQodGhpcy5pbmRleCkpKSB7XG5cdCAgICAgICAgICAgIG9jdGFsID0gdHJ1ZTtcblx0ICAgICAgICAgICAgY29kZSA9IGNvZGUgKiA4ICsgb2N0YWxWYWx1ZSh0aGlzLnNvdXJjZVt0aGlzLmluZGV4KytdKTtcblx0ICAgICAgICAgICAgLy8gMyBkaWdpdHMgYXJlIG9ubHkgYWxsb3dlZCB3aGVuIHN0cmluZyBzdGFydHNcblx0ICAgICAgICAgICAgLy8gd2l0aCAwLCAxLCAyLCAzXG5cdCAgICAgICAgICAgIGlmICgnMDEyMycuaW5kZXhPZihjaCkgPj0gMCAmJiAhdGhpcy5lb2YoKSAmJiBjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNPY3RhbERpZ2l0KHRoaXMuc291cmNlLmNoYXJDb2RlQXQodGhpcy5pbmRleCkpKSB7XG5cdCAgICAgICAgICAgICAgICBjb2RlID0gY29kZSAqIDggKyBvY3RhbFZhbHVlKHRoaXMuc291cmNlW3RoaXMuaW5kZXgrK10pO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiB7XG5cdCAgICAgICAgICAgIGNvZGU6IGNvZGUsXG5cdCAgICAgICAgICAgIG9jdGFsOiBvY3RhbFxuXHQgICAgICAgIH07XG5cdCAgICB9O1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtbmFtZXMtYW5kLWtleXdvcmRzXG5cdCAgICBTY2FubmVyLnByb3RvdHlwZS5zY2FuSWRlbnRpZmllciA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgdHlwZTtcblx0ICAgICAgICB2YXIgc3RhcnQgPSB0aGlzLmluZGV4O1xuXHQgICAgICAgIC8vIEJhY2tzbGFzaCAoVSswMDVDKSBzdGFydHMgYW4gZXNjYXBlZCBjaGFyYWN0ZXIuXG5cdCAgICAgICAgdmFyIGlkID0gKHRoaXMuc291cmNlLmNoYXJDb2RlQXQoc3RhcnQpID09PSAweDVDKSA/IHRoaXMuZ2V0Q29tcGxleElkZW50aWZpZXIoKSA6IHRoaXMuZ2V0SWRlbnRpZmllcigpO1xuXHQgICAgICAgIC8vIFRoZXJlIGlzIG5vIGtleXdvcmQgb3IgbGl0ZXJhbCB3aXRoIG9ubHkgb25lIGNoYXJhY3Rlci5cblx0ICAgICAgICAvLyBUaHVzLCBpdCBtdXN0IGJlIGFuIGlkZW50aWZpZXIuXG5cdCAgICAgICAgaWYgKGlkLmxlbmd0aCA9PT0gMSkge1xuXHQgICAgICAgICAgICB0eXBlID0gMyAvKiBJZGVudGlmaWVyICovO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIGlmICh0aGlzLmlzS2V5d29yZChpZCkpIHtcblx0ICAgICAgICAgICAgdHlwZSA9IDQgLyogS2V5d29yZCAqLztcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSBpZiAoaWQgPT09ICdudWxsJykge1xuXHQgICAgICAgICAgICB0eXBlID0gNSAvKiBOdWxsTGl0ZXJhbCAqLztcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSBpZiAoaWQgPT09ICd0cnVlJyB8fCBpZCA9PT0gJ2ZhbHNlJykge1xuXHQgICAgICAgICAgICB0eXBlID0gMSAvKiBCb29sZWFuTGl0ZXJhbCAqLztcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgIHR5cGUgPSAzIC8qIElkZW50aWZpZXIgKi87XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGlmICh0eXBlICE9PSAzIC8qIElkZW50aWZpZXIgKi8gJiYgKHN0YXJ0ICsgaWQubGVuZ3RoICE9PSB0aGlzLmluZGV4KSkge1xuXHQgICAgICAgICAgICB2YXIgcmVzdG9yZSA9IHRoaXMuaW5kZXg7XG5cdCAgICAgICAgICAgIHRoaXMuaW5kZXggPSBzdGFydDtcblx0ICAgICAgICAgICAgdGhpcy50b2xlcmF0ZVVuZXhwZWN0ZWRUb2tlbihtZXNzYWdlc18xLk1lc3NhZ2VzLkludmFsaWRFc2NhcGVkUmVzZXJ2ZWRXb3JkKTtcblx0ICAgICAgICAgICAgdGhpcy5pbmRleCA9IHJlc3RvcmU7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiB7XG5cdCAgICAgICAgICAgIHR5cGU6IHR5cGUsXG5cdCAgICAgICAgICAgIHZhbHVlOiBpZCxcblx0ICAgICAgICAgICAgbGluZU51bWJlcjogdGhpcy5saW5lTnVtYmVyLFxuXHQgICAgICAgICAgICBsaW5lU3RhcnQ6IHRoaXMubGluZVN0YXJ0LFxuXHQgICAgICAgICAgICBzdGFydDogc3RhcnQsXG5cdCAgICAgICAgICAgIGVuZDogdGhpcy5pbmRleFxuXHQgICAgICAgIH07XG5cdCAgICB9O1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtcHVuY3R1YXRvcnNcblx0ICAgIFNjYW5uZXIucHJvdG90eXBlLnNjYW5QdW5jdHVhdG9yID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBzdGFydCA9IHRoaXMuaW5kZXg7XG5cdCAgICAgICAgLy8gQ2hlY2sgZm9yIG1vc3QgY29tbW9uIHNpbmdsZS1jaGFyYWN0ZXIgcHVuY3R1YXRvcnMuXG5cdCAgICAgICAgdmFyIHN0ciA9IHRoaXMuc291cmNlW3RoaXMuaW5kZXhdO1xuXHQgICAgICAgIHN3aXRjaCAoc3RyKSB7XG5cdCAgICAgICAgICAgIGNhc2UgJygnOlxuXHQgICAgICAgICAgICBjYXNlICd7Jzpcblx0ICAgICAgICAgICAgICAgIGlmIChzdHIgPT09ICd7Jykge1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMuY3VybHlTdGFjay5wdXNoKCd7Jyk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICArK3RoaXMuaW5kZXg7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgY2FzZSAnLic6XG5cdCAgICAgICAgICAgICAgICArK3RoaXMuaW5kZXg7XG5cdCAgICAgICAgICAgICAgICBpZiAodGhpcy5zb3VyY2VbdGhpcy5pbmRleF0gPT09ICcuJyAmJiB0aGlzLnNvdXJjZVt0aGlzLmluZGV4ICsgMV0gPT09ICcuJykge1xuXHQgICAgICAgICAgICAgICAgICAgIC8vIFNwcmVhZCBvcGVyYXRvcjogLi4uXG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5pbmRleCArPSAyO1xuXHQgICAgICAgICAgICAgICAgICAgIHN0ciA9ICcuLi4nO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIGNhc2UgJ30nOlxuXHQgICAgICAgICAgICAgICAgKyt0aGlzLmluZGV4O1xuXHQgICAgICAgICAgICAgICAgdGhpcy5jdXJseVN0YWNrLnBvcCgpO1xuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIGNhc2UgJyknOlxuXHQgICAgICAgICAgICBjYXNlICc7Jzpcblx0ICAgICAgICAgICAgY2FzZSAnLCc6XG5cdCAgICAgICAgICAgIGNhc2UgJ1snOlxuXHQgICAgICAgICAgICBjYXNlICddJzpcblx0ICAgICAgICAgICAgY2FzZSAnOic6XG5cdCAgICAgICAgICAgIGNhc2UgJz8nOlxuXHQgICAgICAgICAgICBjYXNlICd+Jzpcblx0ICAgICAgICAgICAgICAgICsrdGhpcy5pbmRleDtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBkZWZhdWx0OlxuXHQgICAgICAgICAgICAgICAgLy8gNC1jaGFyYWN0ZXIgcHVuY3R1YXRvci5cblx0ICAgICAgICAgICAgICAgIHN0ciA9IHRoaXMuc291cmNlLnN1YnN0cih0aGlzLmluZGV4LCA0KTtcblx0ICAgICAgICAgICAgICAgIGlmIChzdHIgPT09ICc+Pj49Jykge1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5kZXggKz0gNDtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgICAgIC8vIDMtY2hhcmFjdGVyIHB1bmN0dWF0b3JzLlxuXHQgICAgICAgICAgICAgICAgICAgIHN0ciA9IHN0ci5zdWJzdHIoMCwgMyk7XG5cdCAgICAgICAgICAgICAgICAgICAgaWYgKHN0ciA9PT0gJz09PScgfHwgc3RyID09PSAnIT09JyB8fCBzdHIgPT09ICc+Pj4nIHx8XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHN0ciA9PT0gJzw8PScgfHwgc3RyID09PSAnPj49JyB8fCBzdHIgPT09ICcqKj0nKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5kZXggKz0gMztcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIC8vIDItY2hhcmFjdGVyIHB1bmN0dWF0b3JzLlxuXHQgICAgICAgICAgICAgICAgICAgICAgICBzdHIgPSBzdHIuc3Vic3RyKDAsIDIpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RyID09PSAnJiYnIHx8IHN0ciA9PT0gJ3x8JyB8fCBzdHIgPT09ICc9PScgfHwgc3RyID09PSAnIT0nIHx8XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgPT09ICcrPScgfHwgc3RyID09PSAnLT0nIHx8IHN0ciA9PT0gJyo9JyB8fCBzdHIgPT09ICcvPScgfHxcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciA9PT0gJysrJyB8fCBzdHIgPT09ICctLScgfHwgc3RyID09PSAnPDwnIHx8IHN0ciA9PT0gJz4+JyB8fFxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyID09PSAnJj0nIHx8IHN0ciA9PT0gJ3w9JyB8fCBzdHIgPT09ICdePScgfHwgc3RyID09PSAnJT0nIHx8XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgPT09ICc8PScgfHwgc3RyID09PSAnPj0nIHx8IHN0ciA9PT0gJz0+JyB8fCBzdHIgPT09ICcqKicpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5kZXggKz0gMjtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDEtY2hhcmFjdGVyIHB1bmN0dWF0b3JzLlxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyID0gdGhpcy5zb3VyY2VbdGhpcy5pbmRleF07XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJzw+PSErLSolJnxeLycuaW5kZXhPZihzdHIpID49IDApIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArK3RoaXMuaW5kZXg7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGlmICh0aGlzLmluZGV4ID09PSBzdGFydCkge1xuXHQgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKCk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiB7XG5cdCAgICAgICAgICAgIHR5cGU6IDcgLyogUHVuY3R1YXRvciAqLyxcblx0ICAgICAgICAgICAgdmFsdWU6IHN0cixcblx0ICAgICAgICAgICAgbGluZU51bWJlcjogdGhpcy5saW5lTnVtYmVyLFxuXHQgICAgICAgICAgICBsaW5lU3RhcnQ6IHRoaXMubGluZVN0YXJ0LFxuXHQgICAgICAgICAgICBzdGFydDogc3RhcnQsXG5cdCAgICAgICAgICAgIGVuZDogdGhpcy5pbmRleFxuXHQgICAgICAgIH07XG5cdCAgICB9O1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtbGl0ZXJhbHMtbnVtZXJpYy1saXRlcmFsc1xuXHQgICAgU2Nhbm5lci5wcm90b3R5cGUuc2NhbkhleExpdGVyYWwgPSBmdW5jdGlvbiAoc3RhcnQpIHtcblx0ICAgICAgICB2YXIgbnVtID0gJyc7XG5cdCAgICAgICAgd2hpbGUgKCF0aGlzLmVvZigpKSB7XG5cdCAgICAgICAgICAgIGlmICghY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmlzSGV4RGlnaXQodGhpcy5zb3VyY2UuY2hhckNvZGVBdCh0aGlzLmluZGV4KSkpIHtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIG51bSArPSB0aGlzLnNvdXJjZVt0aGlzLmluZGV4KytdO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAobnVtLmxlbmd0aCA9PT0gMCkge1xuXHQgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKCk7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGlmIChjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNJZGVudGlmaWVyU3RhcnQodGhpcy5zb3VyY2UuY2hhckNvZGVBdCh0aGlzLmluZGV4KSkpIHtcblx0ICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbigpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4ge1xuXHQgICAgICAgICAgICB0eXBlOiA2IC8qIE51bWVyaWNMaXRlcmFsICovLFxuXHQgICAgICAgICAgICB2YWx1ZTogcGFyc2VJbnQoJzB4JyArIG51bSwgMTYpLFxuXHQgICAgICAgICAgICBsaW5lTnVtYmVyOiB0aGlzLmxpbmVOdW1iZXIsXG5cdCAgICAgICAgICAgIGxpbmVTdGFydDogdGhpcy5saW5lU3RhcnQsXG5cdCAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcblx0ICAgICAgICAgICAgZW5kOiB0aGlzLmluZGV4XG5cdCAgICAgICAgfTtcblx0ICAgIH07XG5cdCAgICBTY2FubmVyLnByb3RvdHlwZS5zY2FuQmluYXJ5TGl0ZXJhbCA9IGZ1bmN0aW9uIChzdGFydCkge1xuXHQgICAgICAgIHZhciBudW0gPSAnJztcblx0ICAgICAgICB2YXIgY2g7XG5cdCAgICAgICAgd2hpbGUgKCF0aGlzLmVvZigpKSB7XG5cdCAgICAgICAgICAgIGNoID0gdGhpcy5zb3VyY2VbdGhpcy5pbmRleF07XG5cdCAgICAgICAgICAgIGlmIChjaCAhPT0gJzAnICYmIGNoICE9PSAnMScpIHtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIG51bSArPSB0aGlzLnNvdXJjZVt0aGlzLmluZGV4KytdO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAobnVtLmxlbmd0aCA9PT0gMCkge1xuXHQgICAgICAgICAgICAvLyBvbmx5IDBiIG9yIDBCXG5cdCAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4oKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgaWYgKCF0aGlzLmVvZigpKSB7XG5cdCAgICAgICAgICAgIGNoID0gdGhpcy5zb3VyY2UuY2hhckNvZGVBdCh0aGlzLmluZGV4KTtcblx0ICAgICAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cblx0ICAgICAgICAgICAgaWYgKGNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc0lkZW50aWZpZXJTdGFydChjaCkgfHwgY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmlzRGVjaW1hbERpZ2l0KGNoKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbigpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiB7XG5cdCAgICAgICAgICAgIHR5cGU6IDYgLyogTnVtZXJpY0xpdGVyYWwgKi8sXG5cdCAgICAgICAgICAgIHZhbHVlOiBwYXJzZUludChudW0sIDIpLFxuXHQgICAgICAgICAgICBsaW5lTnVtYmVyOiB0aGlzLmxpbmVOdW1iZXIsXG5cdCAgICAgICAgICAgIGxpbmVTdGFydDogdGhpcy5saW5lU3RhcnQsXG5cdCAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcblx0ICAgICAgICAgICAgZW5kOiB0aGlzLmluZGV4XG5cdCAgICAgICAgfTtcblx0ICAgIH07XG5cdCAgICBTY2FubmVyLnByb3RvdHlwZS5zY2FuT2N0YWxMaXRlcmFsID0gZnVuY3Rpb24gKHByZWZpeCwgc3RhcnQpIHtcblx0ICAgICAgICB2YXIgbnVtID0gJyc7XG5cdCAgICAgICAgdmFyIG9jdGFsID0gZmFsc2U7XG5cdCAgICAgICAgaWYgKGNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc09jdGFsRGlnaXQocHJlZml4LmNoYXJDb2RlQXQoMCkpKSB7XG5cdCAgICAgICAgICAgIG9jdGFsID0gdHJ1ZTtcblx0ICAgICAgICAgICAgbnVtID0gJzAnICsgdGhpcy5zb3VyY2VbdGhpcy5pbmRleCsrXTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICsrdGhpcy5pbmRleDtcblx0ICAgICAgICB9XG5cdCAgICAgICAgd2hpbGUgKCF0aGlzLmVvZigpKSB7XG5cdCAgICAgICAgICAgIGlmICghY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmlzT2N0YWxEaWdpdCh0aGlzLnNvdXJjZS5jaGFyQ29kZUF0KHRoaXMuaW5kZXgpKSkge1xuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgbnVtICs9IHRoaXMuc291cmNlW3RoaXMuaW5kZXgrK107XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGlmICghb2N0YWwgJiYgbnVtLmxlbmd0aCA9PT0gMCkge1xuXHQgICAgICAgICAgICAvLyBvbmx5IDBvIG9yIDBPXG5cdCAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4oKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgaWYgKGNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc0lkZW50aWZpZXJTdGFydCh0aGlzLnNvdXJjZS5jaGFyQ29kZUF0KHRoaXMuaW5kZXgpKSB8fCBjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNEZWNpbWFsRGlnaXQodGhpcy5zb3VyY2UuY2hhckNvZGVBdCh0aGlzLmluZGV4KSkpIHtcblx0ICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbigpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4ge1xuXHQgICAgICAgICAgICB0eXBlOiA2IC8qIE51bWVyaWNMaXRlcmFsICovLFxuXHQgICAgICAgICAgICB2YWx1ZTogcGFyc2VJbnQobnVtLCA4KSxcblx0ICAgICAgICAgICAgb2N0YWw6IG9jdGFsLFxuXHQgICAgICAgICAgICBsaW5lTnVtYmVyOiB0aGlzLmxpbmVOdW1iZXIsXG5cdCAgICAgICAgICAgIGxpbmVTdGFydDogdGhpcy5saW5lU3RhcnQsXG5cdCAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcblx0ICAgICAgICAgICAgZW5kOiB0aGlzLmluZGV4XG5cdCAgICAgICAgfTtcblx0ICAgIH07XG5cdCAgICBTY2FubmVyLnByb3RvdHlwZS5pc0ltcGxpY2l0T2N0YWxMaXRlcmFsID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIC8vIEltcGxpY2l0IG9jdGFsLCB1bmxlc3MgdGhlcmUgaXMgYSBub24tb2N0YWwgZGlnaXQuXG5cdCAgICAgICAgLy8gKEFubmV4IEIuMS4xIG9uIE51bWVyaWMgTGl0ZXJhbHMpXG5cdCAgICAgICAgZm9yICh2YXIgaSA9IHRoaXMuaW5kZXggKyAxOyBpIDwgdGhpcy5sZW5ndGg7ICsraSkge1xuXHQgICAgICAgICAgICB2YXIgY2ggPSB0aGlzLnNvdXJjZVtpXTtcblx0ICAgICAgICAgICAgaWYgKGNoID09PSAnOCcgfHwgY2ggPT09ICc5Jykge1xuXHQgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGlmICghY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmlzT2N0YWxEaWdpdChjaC5jaGFyQ29kZUF0KDApKSkge1xuXHQgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICB9XG5cdCAgICAgICAgcmV0dXJuIHRydWU7XG5cdCAgICB9O1xuXHQgICAgU2Nhbm5lci5wcm90b3R5cGUuc2Nhbk51bWVyaWNMaXRlcmFsID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBzdGFydCA9IHRoaXMuaW5kZXg7XG5cdCAgICAgICAgdmFyIGNoID0gdGhpcy5zb3VyY2Vbc3RhcnRdO1xuXHQgICAgICAgIGFzc2VydF8xLmFzc2VydChjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNEZWNpbWFsRGlnaXQoY2guY2hhckNvZGVBdCgwKSkgfHwgKGNoID09PSAnLicpLCAnTnVtZXJpYyBsaXRlcmFsIG11c3Qgc3RhcnQgd2l0aCBhIGRlY2ltYWwgZGlnaXQgb3IgYSBkZWNpbWFsIHBvaW50Jyk7XG5cdCAgICAgICAgdmFyIG51bSA9ICcnO1xuXHQgICAgICAgIGlmIChjaCAhPT0gJy4nKSB7XG5cdCAgICAgICAgICAgIG51bSA9IHRoaXMuc291cmNlW3RoaXMuaW5kZXgrK107XG5cdCAgICAgICAgICAgIGNoID0gdGhpcy5zb3VyY2VbdGhpcy5pbmRleF07XG5cdCAgICAgICAgICAgIC8vIEhleCBudW1iZXIgc3RhcnRzIHdpdGggJzB4Jy5cblx0ICAgICAgICAgICAgLy8gT2N0YWwgbnVtYmVyIHN0YXJ0cyB3aXRoICcwJy5cblx0ICAgICAgICAgICAgLy8gT2N0YWwgbnVtYmVyIGluIEVTNiBzdGFydHMgd2l0aCAnMG8nLlxuXHQgICAgICAgICAgICAvLyBCaW5hcnkgbnVtYmVyIGluIEVTNiBzdGFydHMgd2l0aCAnMGInLlxuXHQgICAgICAgICAgICBpZiAobnVtID09PSAnMCcpIHtcblx0ICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJ3gnIHx8IGNoID09PSAnWCcpIHtcblx0ICAgICAgICAgICAgICAgICAgICArK3RoaXMuaW5kZXg7XG5cdCAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2NhbkhleExpdGVyYWwoc3RhcnQpO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgaWYgKGNoID09PSAnYicgfHwgY2ggPT09ICdCJykge1xuXHQgICAgICAgICAgICAgICAgICAgICsrdGhpcy5pbmRleDtcblx0ICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zY2FuQmluYXJ5TGl0ZXJhbChzdGFydCk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICdvJyB8fCBjaCA9PT0gJ08nKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2Nhbk9jdGFsTGl0ZXJhbChjaCwgc3RhcnQpO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgaWYgKGNoICYmIGNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc09jdGFsRGlnaXQoY2guY2hhckNvZGVBdCgwKSkpIHtcblx0ICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5pc0ltcGxpY2l0T2N0YWxMaXRlcmFsKCkpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2Nhbk9jdGFsTGl0ZXJhbChjaCwgc3RhcnQpO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB3aGlsZSAoY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmlzRGVjaW1hbERpZ2l0KHRoaXMuc291cmNlLmNoYXJDb2RlQXQodGhpcy5pbmRleCkpKSB7XG5cdCAgICAgICAgICAgICAgICBudW0gKz0gdGhpcy5zb3VyY2VbdGhpcy5pbmRleCsrXTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBjaCA9IHRoaXMuc291cmNlW3RoaXMuaW5kZXhdO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAoY2ggPT09ICcuJykge1xuXHQgICAgICAgICAgICBudW0gKz0gdGhpcy5zb3VyY2VbdGhpcy5pbmRleCsrXTtcblx0ICAgICAgICAgICAgd2hpbGUgKGNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc0RlY2ltYWxEaWdpdCh0aGlzLnNvdXJjZS5jaGFyQ29kZUF0KHRoaXMuaW5kZXgpKSkge1xuXHQgICAgICAgICAgICAgICAgbnVtICs9IHRoaXMuc291cmNlW3RoaXMuaW5kZXgrK107XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgY2ggPSB0aGlzLnNvdXJjZVt0aGlzLmluZGV4XTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgaWYgKGNoID09PSAnZScgfHwgY2ggPT09ICdFJykge1xuXHQgICAgICAgICAgICBudW0gKz0gdGhpcy5zb3VyY2VbdGhpcy5pbmRleCsrXTtcblx0ICAgICAgICAgICAgY2ggPSB0aGlzLnNvdXJjZVt0aGlzLmluZGV4XTtcblx0ICAgICAgICAgICAgaWYgKGNoID09PSAnKycgfHwgY2ggPT09ICctJykge1xuXHQgICAgICAgICAgICAgICAgbnVtICs9IHRoaXMuc291cmNlW3RoaXMuaW5kZXgrK107XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgaWYgKGNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc0RlY2ltYWxEaWdpdCh0aGlzLnNvdXJjZS5jaGFyQ29kZUF0KHRoaXMuaW5kZXgpKSkge1xuXHQgICAgICAgICAgICAgICAgd2hpbGUgKGNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc0RlY2ltYWxEaWdpdCh0aGlzLnNvdXJjZS5jaGFyQ29kZUF0KHRoaXMuaW5kZXgpKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIG51bSArPSB0aGlzLnNvdXJjZVt0aGlzLmluZGV4KytdO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbigpO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGlmIChjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNJZGVudGlmaWVyU3RhcnQodGhpcy5zb3VyY2UuY2hhckNvZGVBdCh0aGlzLmluZGV4KSkpIHtcblx0ICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbigpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4ge1xuXHQgICAgICAgICAgICB0eXBlOiA2IC8qIE51bWVyaWNMaXRlcmFsICovLFxuXHQgICAgICAgICAgICB2YWx1ZTogcGFyc2VGbG9hdChudW0pLFxuXHQgICAgICAgICAgICBsaW5lTnVtYmVyOiB0aGlzLmxpbmVOdW1iZXIsXG5cdCAgICAgICAgICAgIGxpbmVTdGFydDogdGhpcy5saW5lU3RhcnQsXG5cdCAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcblx0ICAgICAgICAgICAgZW5kOiB0aGlzLmluZGV4XG5cdCAgICAgICAgfTtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1saXRlcmFscy1zdHJpbmctbGl0ZXJhbHNcblx0ICAgIFNjYW5uZXIucHJvdG90eXBlLnNjYW5TdHJpbmdMaXRlcmFsID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBzdGFydCA9IHRoaXMuaW5kZXg7XG5cdCAgICAgICAgdmFyIHF1b3RlID0gdGhpcy5zb3VyY2Vbc3RhcnRdO1xuXHQgICAgICAgIGFzc2VydF8xLmFzc2VydCgocXVvdGUgPT09ICdcXCcnIHx8IHF1b3RlID09PSAnXCInKSwgJ1N0cmluZyBsaXRlcmFsIG11c3Qgc3RhcnRzIHdpdGggYSBxdW90ZScpO1xuXHQgICAgICAgICsrdGhpcy5pbmRleDtcblx0ICAgICAgICB2YXIgb2N0YWwgPSBmYWxzZTtcblx0ICAgICAgICB2YXIgc3RyID0gJyc7XG5cdCAgICAgICAgd2hpbGUgKCF0aGlzLmVvZigpKSB7XG5cdCAgICAgICAgICAgIHZhciBjaCA9IHRoaXMuc291cmNlW3RoaXMuaW5kZXgrK107XG5cdCAgICAgICAgICAgIGlmIChjaCA9PT0gcXVvdGUpIHtcblx0ICAgICAgICAgICAgICAgIHF1b3RlID0gJyc7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmIChjaCA9PT0gJ1xcXFwnKSB7XG5cdCAgICAgICAgICAgICAgICBjaCA9IHRoaXMuc291cmNlW3RoaXMuaW5kZXgrK107XG5cdCAgICAgICAgICAgICAgICBpZiAoIWNoIHx8ICFjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNMaW5lVGVybWluYXRvcihjaC5jaGFyQ29kZUF0KDApKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoY2gpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAndSc6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zb3VyY2VbdGhpcy5pbmRleF0gPT09ICd7Jykge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsrdGhpcy5pbmRleDtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gdGhpcy5zY2FuVW5pY29kZUNvZGVQb2ludEVzY2FwZSgpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVuZXNjYXBlZF8xID0gdGhpcy5zY2FuSGV4RXNjYXBlKGNoKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodW5lc2NhcGVkXzEgPT09IG51bGwpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbigpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gdW5lc2NhcGVkXzE7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAneCc6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIgdW5lc2NhcGVkID0gdGhpcy5zY2FuSGV4RXNjYXBlKGNoKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICh1bmVzY2FwZWQgPT09IG51bGwpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKG1lc3NhZ2VzXzEuTWVzc2FnZXMuSW52YWxpZEhleEVzY2FwZVNlcXVlbmNlKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSB1bmVzY2FwZWQ7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnbic6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcbic7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAncic6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xccic7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAndCc6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcdCc7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnYic6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcYic7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnZic6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcZic7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAndic6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xceDBCJztcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICc4Jzpcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnOSc6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gY2g7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKCk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDpcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaCAmJiBjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNPY3RhbERpZ2l0KGNoLmNoYXJDb2RlQXQoMCkpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIG9jdFRvRGVjID0gdGhpcy5vY3RhbFRvRGVjaW1hbChjaCk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2N0YWwgPSBvY3RUb0RlYy5vY3RhbCB8fCBvY3RhbDtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShvY3RUb0RlYy5jb2RlKTtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSBjaDtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGVsc2Uge1xuXHQgICAgICAgICAgICAgICAgICAgICsrdGhpcy5saW5lTnVtYmVyO1xuXHQgICAgICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJ1xccicgJiYgdGhpcy5zb3VyY2VbdGhpcy5pbmRleF0gPT09ICdcXG4nKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICsrdGhpcy5pbmRleDtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5saW5lU3RhcnQgPSB0aGlzLmluZGV4O1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIGVsc2UgaWYgKGNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc0xpbmVUZXJtaW5hdG9yKGNoLmNoYXJDb2RlQXQoMCkpKSB7XG5cdCAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIHN0ciArPSBjaDtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAocXVvdGUgIT09ICcnKSB7XG5cdCAgICAgICAgICAgIHRoaXMuaW5kZXggPSBzdGFydDtcblx0ICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbigpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4ge1xuXHQgICAgICAgICAgICB0eXBlOiA4IC8qIFN0cmluZ0xpdGVyYWwgKi8sXG5cdCAgICAgICAgICAgIHZhbHVlOiBzdHIsXG5cdCAgICAgICAgICAgIG9jdGFsOiBvY3RhbCxcblx0ICAgICAgICAgICAgbGluZU51bWJlcjogdGhpcy5saW5lTnVtYmVyLFxuXHQgICAgICAgICAgICBsaW5lU3RhcnQ6IHRoaXMubGluZVN0YXJ0LFxuXHQgICAgICAgICAgICBzdGFydDogc3RhcnQsXG5cdCAgICAgICAgICAgIGVuZDogdGhpcy5pbmRleFxuXHQgICAgICAgIH07XG5cdCAgICB9O1xuXHQgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtdGVtcGxhdGUtbGl0ZXJhbC1sZXhpY2FsLWNvbXBvbmVudHNcblx0ICAgIFNjYW5uZXIucHJvdG90eXBlLnNjYW5UZW1wbGF0ZSA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICB2YXIgY29va2VkID0gJyc7XG5cdCAgICAgICAgdmFyIHRlcm1pbmF0ZWQgPSBmYWxzZTtcblx0ICAgICAgICB2YXIgc3RhcnQgPSB0aGlzLmluZGV4O1xuXHQgICAgICAgIHZhciBoZWFkID0gKHRoaXMuc291cmNlW3N0YXJ0XSA9PT0gJ2AnKTtcblx0ICAgICAgICB2YXIgdGFpbCA9IGZhbHNlO1xuXHQgICAgICAgIHZhciByYXdPZmZzZXQgPSAyO1xuXHQgICAgICAgICsrdGhpcy5pbmRleDtcblx0ICAgICAgICB3aGlsZSAoIXRoaXMuZW9mKCkpIHtcblx0ICAgICAgICAgICAgdmFyIGNoID0gdGhpcy5zb3VyY2VbdGhpcy5pbmRleCsrXTtcblx0ICAgICAgICAgICAgaWYgKGNoID09PSAnYCcpIHtcblx0ICAgICAgICAgICAgICAgIHJhd09mZnNldCA9IDE7XG5cdCAgICAgICAgICAgICAgICB0YWlsID0gdHJ1ZTtcblx0ICAgICAgICAgICAgICAgIHRlcm1pbmF0ZWQgPSB0cnVlO1xuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSBpZiAoY2ggPT09ICckJykge1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMuc291cmNlW3RoaXMuaW5kZXhdID09PSAneycpIHtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLmN1cmx5U3RhY2sucHVzaCgnJHsnKTtcblx0ICAgICAgICAgICAgICAgICAgICArK3RoaXMuaW5kZXg7XG5cdCAgICAgICAgICAgICAgICAgICAgdGVybWluYXRlZCA9IHRydWU7XG5cdCAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBjb29rZWQgKz0gY2g7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSBpZiAoY2ggPT09ICdcXFxcJykge1xuXHQgICAgICAgICAgICAgICAgY2ggPSB0aGlzLnNvdXJjZVt0aGlzLmluZGV4KytdO1xuXHQgICAgICAgICAgICAgICAgaWYgKCFjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNMaW5lVGVybWluYXRvcihjaC5jaGFyQ29kZUF0KDApKSkge1xuXHQgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoY2gpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAnbic6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29rZWQgKz0gJ1xcbic7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAncic6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29rZWQgKz0gJ1xccic7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAndCc6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29rZWQgKz0gJ1xcdCc7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAndSc6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodGhpcy5zb3VyY2VbdGhpcy5pbmRleF0gPT09ICd7Jykge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsrdGhpcy5pbmRleDtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29rZWQgKz0gdGhpcy5zY2FuVW5pY29kZUNvZGVQb2ludEVzY2FwZSgpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHJlc3RvcmUgPSB0aGlzLmluZGV4O1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhciB1bmVzY2FwZWRfMiA9IHRoaXMuc2NhbkhleEVzY2FwZShjaCk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHVuZXNjYXBlZF8yICE9PSBudWxsKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvb2tlZCArPSB1bmVzY2FwZWRfMjtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5kZXggPSByZXN0b3JlO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29rZWQgKz0gY2g7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3gnOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyIHVuZXNjYXBlZCA9IHRoaXMuc2NhbkhleEVzY2FwZShjaCk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAodW5lc2NhcGVkID09PSBudWxsKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbihtZXNzYWdlc18xLk1lc3NhZ2VzLkludmFsaWRIZXhFc2NhcGVTZXF1ZW5jZSk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29rZWQgKz0gdW5lc2NhcGVkO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2InOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29va2VkICs9ICdcXGInO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ2YnOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29va2VkICs9ICdcXGYnO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJ3YnOlxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29va2VkICs9ICdcXHYnO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICcwJykge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNEZWNpbWFsRGlnaXQodGhpcy5zb3VyY2UuY2hhckNvZGVBdCh0aGlzLmluZGV4KSkpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWxsZWdhbDogXFwwMSBcXDAyIGFuZCBzbyBvblxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKG1lc3NhZ2VzXzEuTWVzc2FnZXMuVGVtcGxhdGVPY3RhbExpdGVyYWwpO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29rZWQgKz0gJ1xcMCc7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNPY3RhbERpZ2l0KGNoLmNoYXJDb2RlQXQoMCkpKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSWxsZWdhbDogXFwxIFxcMlxuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMudGhyb3dVbmV4cGVjdGVkVG9rZW4obWVzc2FnZXNfMS5NZXNzYWdlcy5UZW1wbGF0ZU9jdGFsTGl0ZXJhbCk7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb29rZWQgKz0gY2g7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgICAgICArK3RoaXMubGluZU51bWJlcjtcblx0ICAgICAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICdcXHInICYmIHRoaXMuc291cmNlW3RoaXMuaW5kZXhdID09PSAnXFxuJykge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICArK3RoaXMuaW5kZXg7XG5cdCAgICAgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMubGluZVN0YXJ0ID0gdGhpcy5pbmRleDtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmIChjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNMaW5lVGVybWluYXRvcihjaC5jaGFyQ29kZUF0KDApKSkge1xuXHQgICAgICAgICAgICAgICAgKyt0aGlzLmxpbmVOdW1iZXI7XG5cdCAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICdcXHInICYmIHRoaXMuc291cmNlW3RoaXMuaW5kZXhdID09PSAnXFxuJykge1xuXHQgICAgICAgICAgICAgICAgICAgICsrdGhpcy5pbmRleDtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIHRoaXMubGluZVN0YXJ0ID0gdGhpcy5pbmRleDtcblx0ICAgICAgICAgICAgICAgIGNvb2tlZCArPSAnXFxuJztcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIGNvb2tlZCArPSBjaDtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAoIXRlcm1pbmF0ZWQpIHtcblx0ICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbigpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAoIWhlYWQpIHtcblx0ICAgICAgICAgICAgdGhpcy5jdXJseVN0YWNrLnBvcCgpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4ge1xuXHQgICAgICAgICAgICB0eXBlOiAxMCAvKiBUZW1wbGF0ZSAqLyxcblx0ICAgICAgICAgICAgdmFsdWU6IHRoaXMuc291cmNlLnNsaWNlKHN0YXJ0ICsgMSwgdGhpcy5pbmRleCAtIHJhd09mZnNldCksXG5cdCAgICAgICAgICAgIGNvb2tlZDogY29va2VkLFxuXHQgICAgICAgICAgICBoZWFkOiBoZWFkLFxuXHQgICAgICAgICAgICB0YWlsOiB0YWlsLFxuXHQgICAgICAgICAgICBsaW5lTnVtYmVyOiB0aGlzLmxpbmVOdW1iZXIsXG5cdCAgICAgICAgICAgIGxpbmVTdGFydDogdGhpcy5saW5lU3RhcnQsXG5cdCAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcblx0ICAgICAgICAgICAgZW5kOiB0aGlzLmluZGV4XG5cdCAgICAgICAgfTtcblx0ICAgIH07XG5cdCAgICAvLyBodHRwczovL3RjMzkuZ2l0aHViLmlvL2VjbWEyNjIvI3NlYy1saXRlcmFscy1yZWd1bGFyLWV4cHJlc3Npb24tbGl0ZXJhbHNcblx0ICAgIFNjYW5uZXIucHJvdG90eXBlLnRlc3RSZWdFeHAgPSBmdW5jdGlvbiAocGF0dGVybiwgZmxhZ3MpIHtcblx0ICAgICAgICAvLyBUaGUgQk1QIGNoYXJhY3RlciB0byB1c2UgYXMgYSByZXBsYWNlbWVudCBmb3IgYXN0cmFsIHN5bWJvbHMgd2hlblxuXHQgICAgICAgIC8vIHRyYW5zbGF0aW5nIGFuIEVTNiBcInVcIi1mbGFnZ2VkIHBhdHRlcm4gdG8gYW4gRVM1LWNvbXBhdGlibGVcblx0ICAgICAgICAvLyBhcHByb3hpbWF0aW9uLlxuXHQgICAgICAgIC8vIE5vdGU6IHJlcGxhY2luZyB3aXRoICdcXHVGRkZGJyBlbmFibGVzIGZhbHNlIHBvc2l0aXZlcyBpbiB1bmxpa2VseVxuXHQgICAgICAgIC8vIHNjZW5hcmlvcy4gRm9yIGV4YW1wbGUsIGBbXFx1ezEwNDRmfS1cXHV7MTA0NDB9XWAgaXMgYW4gaW52YWxpZFxuXHQgICAgICAgIC8vIHBhdHRlcm4gdGhhdCB3b3VsZCBub3QgYmUgZGV0ZWN0ZWQgYnkgdGhpcyBzdWJzdGl0dXRpb24uXG5cdCAgICAgICAgdmFyIGFzdHJhbFN1YnN0aXR1dGUgPSAnXFx1RkZGRic7XG5cdCAgICAgICAgdmFyIHRtcCA9IHBhdHRlcm47XG5cdCAgICAgICAgdmFyIHNlbGYgPSB0aGlzO1xuXHQgICAgICAgIGlmIChmbGFncy5pbmRleE9mKCd1JykgPj0gMCkge1xuXHQgICAgICAgICAgICB0bXAgPSB0bXBcblx0ICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9cXFxcdVxceyhbMC05YS1mQS1GXSspXFx9fFxcXFx1KFthLWZBLUYwLTldezR9KS9nLCBmdW5jdGlvbiAoJDAsICQxLCAkMikge1xuXHQgICAgICAgICAgICAgICAgdmFyIGNvZGVQb2ludCA9IHBhcnNlSW50KCQxIHx8ICQyLCAxNik7XG5cdCAgICAgICAgICAgICAgICBpZiAoY29kZVBvaW50ID4gMHgxMEZGRkYpIHtcblx0ICAgICAgICAgICAgICAgICAgICBzZWxmLnRocm93VW5leHBlY3RlZFRva2VuKG1lc3NhZ2VzXzEuTWVzc2FnZXMuSW52YWxpZFJlZ0V4cCk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBpZiAoY29kZVBvaW50IDw9IDB4RkZGRikge1xuXHQgICAgICAgICAgICAgICAgICAgIHJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGNvZGVQb2ludCk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICByZXR1cm4gYXN0cmFsU3Vic3RpdHV0ZTtcblx0ICAgICAgICAgICAgfSlcblx0ICAgICAgICAgICAgICAgIC5yZXBsYWNlKC9bXFx1RDgwMC1cXHVEQkZGXVtcXHVEQzAwLVxcdURGRkZdL2csIGFzdHJhbFN1YnN0aXR1dGUpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICAvLyBGaXJzdCwgZGV0ZWN0IGludmFsaWQgcmVndWxhciBleHByZXNzaW9ucy5cblx0ICAgICAgICB0cnkge1xuXHQgICAgICAgICAgICBSZWdFeHAodG1wKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgY2F0Y2ggKGUpIHtcblx0ICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbihtZXNzYWdlc18xLk1lc3NhZ2VzLkludmFsaWRSZWdFeHApO1xuXHQgICAgICAgIH1cblx0ICAgICAgICAvLyBSZXR1cm4gYSByZWd1bGFyIGV4cHJlc3Npb24gb2JqZWN0IGZvciB0aGlzIHBhdHRlcm4tZmxhZyBwYWlyLCBvclxuXHQgICAgICAgIC8vIGBudWxsYCBpbiBjYXNlIHRoZSBjdXJyZW50IGVudmlyb25tZW50IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgZmxhZ3MgaXRcblx0ICAgICAgICAvLyB1c2VzLlxuXHQgICAgICAgIHRyeSB7XG5cdCAgICAgICAgICAgIHJldHVybiBuZXcgUmVnRXhwKHBhdHRlcm4sIGZsYWdzKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgY2F0Y2ggKGV4Y2VwdGlvbikge1xuXHQgICAgICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuXHQgICAgICAgICAgICByZXR1cm4gbnVsbDtcblx0ICAgICAgICB9XG5cdCAgICB9O1xuXHQgICAgU2Nhbm5lci5wcm90b3R5cGUuc2NhblJlZ0V4cEJvZHkgPSBmdW5jdGlvbiAoKSB7XG5cdCAgICAgICAgdmFyIGNoID0gdGhpcy5zb3VyY2VbdGhpcy5pbmRleF07XG5cdCAgICAgICAgYXNzZXJ0XzEuYXNzZXJ0KGNoID09PSAnLycsICdSZWd1bGFyIGV4cHJlc3Npb24gbGl0ZXJhbCBtdXN0IHN0YXJ0IHdpdGggYSBzbGFzaCcpO1xuXHQgICAgICAgIHZhciBzdHIgPSB0aGlzLnNvdXJjZVt0aGlzLmluZGV4KytdO1xuXHQgICAgICAgIHZhciBjbGFzc01hcmtlciA9IGZhbHNlO1xuXHQgICAgICAgIHZhciB0ZXJtaW5hdGVkID0gZmFsc2U7XG5cdCAgICAgICAgd2hpbGUgKCF0aGlzLmVvZigpKSB7XG5cdCAgICAgICAgICAgIGNoID0gdGhpcy5zb3VyY2VbdGhpcy5pbmRleCsrXTtcblx0ICAgICAgICAgICAgc3RyICs9IGNoO1xuXHQgICAgICAgICAgICBpZiAoY2ggPT09ICdcXFxcJykge1xuXHQgICAgICAgICAgICAgICAgY2ggPSB0aGlzLnNvdXJjZVt0aGlzLmluZGV4KytdO1xuXHQgICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtbGl0ZXJhbHMtcmVndWxhci1leHByZXNzaW9uLWxpdGVyYWxzXG5cdCAgICAgICAgICAgICAgICBpZiAoY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmlzTGluZVRlcm1pbmF0b3IoY2guY2hhckNvZGVBdCgwKSkpIHtcblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKG1lc3NhZ2VzXzEuTWVzc2FnZXMuVW50ZXJtaW5hdGVkUmVnRXhwKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIHN0ciArPSBjaDtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmIChjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNMaW5lVGVybWluYXRvcihjaC5jaGFyQ29kZUF0KDApKSkge1xuXHQgICAgICAgICAgICAgICAgdGhpcy50aHJvd1VuZXhwZWN0ZWRUb2tlbihtZXNzYWdlc18xLk1lc3NhZ2VzLlVudGVybWluYXRlZFJlZ0V4cCk7XG5cdCAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgZWxzZSBpZiAoY2xhc3NNYXJrZXIpIHtcblx0ICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJ10nKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgY2xhc3NNYXJrZXIgPSBmYWxzZTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIGlmIChjaCA9PT0gJy8nKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgdGVybWluYXRlZCA9IHRydWU7XG5cdCAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBlbHNlIGlmIChjaCA9PT0gJ1snKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgY2xhc3NNYXJrZXIgPSB0cnVlO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIGlmICghdGVybWluYXRlZCkge1xuXHQgICAgICAgICAgICB0aGlzLnRocm93VW5leHBlY3RlZFRva2VuKG1lc3NhZ2VzXzEuTWVzc2FnZXMuVW50ZXJtaW5hdGVkUmVnRXhwKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgLy8gRXhjbHVkZSBsZWFkaW5nIGFuZCB0cmFpbGluZyBzbGFzaC5cblx0ICAgICAgICByZXR1cm4gc3RyLnN1YnN0cigxLCBzdHIubGVuZ3RoIC0gMik7XG5cdCAgICB9O1xuXHQgICAgU2Nhbm5lci5wcm90b3R5cGUuc2NhblJlZ0V4cEZsYWdzID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBzdHIgPSAnJztcblx0ICAgICAgICB2YXIgZmxhZ3MgPSAnJztcblx0ICAgICAgICB3aGlsZSAoIXRoaXMuZW9mKCkpIHtcblx0ICAgICAgICAgICAgdmFyIGNoID0gdGhpcy5zb3VyY2VbdGhpcy5pbmRleF07XG5cdCAgICAgICAgICAgIGlmICghY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmlzSWRlbnRpZmllclBhcnQoY2guY2hhckNvZGVBdCgwKSkpIHtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICsrdGhpcy5pbmRleDtcblx0ICAgICAgICAgICAgaWYgKGNoID09PSAnXFxcXCcgJiYgIXRoaXMuZW9mKCkpIHtcblx0ICAgICAgICAgICAgICAgIGNoID0gdGhpcy5zb3VyY2VbdGhpcy5pbmRleF07XG5cdCAgICAgICAgICAgICAgICBpZiAoY2ggPT09ICd1Jykge1xuXHQgICAgICAgICAgICAgICAgICAgICsrdGhpcy5pbmRleDtcblx0ICAgICAgICAgICAgICAgICAgICB2YXIgcmVzdG9yZSA9IHRoaXMuaW5kZXg7XG5cdCAgICAgICAgICAgICAgICAgICAgdmFyIGNoYXIgPSB0aGlzLnNjYW5IZXhFc2NhcGUoJ3UnKTtcblx0ICAgICAgICAgICAgICAgICAgICBpZiAoY2hhciAhPT0gbnVsbCkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBmbGFncyArPSBjaGFyO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKHN0ciArPSAnXFxcXHUnOyByZXN0b3JlIDwgdGhpcy5pbmRleDsgKytyZXN0b3JlKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIgKz0gdGhpcy5zb3VyY2VbcmVzdG9yZV07XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgZWxzZSB7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuaW5kZXggPSByZXN0b3JlO1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBmbGFncyArPSAndSc7XG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHN0ciArPSAnXFxcXHUnO1xuXHQgICAgICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgICAgICB0aGlzLnRvbGVyYXRlVW5leHBlY3RlZFRva2VuKCk7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgICAgICBzdHIgKz0gJ1xcXFwnO1xuXHQgICAgICAgICAgICAgICAgICAgIHRoaXMudG9sZXJhdGVVbmV4cGVjdGVkVG9rZW4oKTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgICAgIGZsYWdzICs9IGNoO1xuXHQgICAgICAgICAgICAgICAgc3RyICs9IGNoO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiBmbGFncztcblx0ICAgIH07XG5cdCAgICBTY2FubmVyLnByb3RvdHlwZS5zY2FuUmVnRXhwID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBzdGFydCA9IHRoaXMuaW5kZXg7XG5cdCAgICAgICAgdmFyIHBhdHRlcm4gPSB0aGlzLnNjYW5SZWdFeHBCb2R5KCk7XG5cdCAgICAgICAgdmFyIGZsYWdzID0gdGhpcy5zY2FuUmVnRXhwRmxhZ3MoKTtcblx0ICAgICAgICB2YXIgdmFsdWUgPSB0aGlzLnRlc3RSZWdFeHAocGF0dGVybiwgZmxhZ3MpO1xuXHQgICAgICAgIHJldHVybiB7XG5cdCAgICAgICAgICAgIHR5cGU6IDkgLyogUmVndWxhckV4cHJlc3Npb24gKi8sXG5cdCAgICAgICAgICAgIHZhbHVlOiAnJyxcblx0ICAgICAgICAgICAgcGF0dGVybjogcGF0dGVybixcblx0ICAgICAgICAgICAgZmxhZ3M6IGZsYWdzLFxuXHQgICAgICAgICAgICByZWdleDogdmFsdWUsXG5cdCAgICAgICAgICAgIGxpbmVOdW1iZXI6IHRoaXMubGluZU51bWJlcixcblx0ICAgICAgICAgICAgbGluZVN0YXJ0OiB0aGlzLmxpbmVTdGFydCxcblx0ICAgICAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuXHQgICAgICAgICAgICBlbmQ6IHRoaXMuaW5kZXhcblx0ICAgICAgICB9O1xuXHQgICAgfTtcblx0ICAgIFNjYW5uZXIucHJvdG90eXBlLmxleCA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICBpZiAodGhpcy5lb2YoKSkge1xuXHQgICAgICAgICAgICByZXR1cm4ge1xuXHQgICAgICAgICAgICAgICAgdHlwZTogMiAvKiBFT0YgKi8sXG5cdCAgICAgICAgICAgICAgICB2YWx1ZTogJycsXG5cdCAgICAgICAgICAgICAgICBsaW5lTnVtYmVyOiB0aGlzLmxpbmVOdW1iZXIsXG5cdCAgICAgICAgICAgICAgICBsaW5lU3RhcnQ6IHRoaXMubGluZVN0YXJ0LFxuXHQgICAgICAgICAgICAgICAgc3RhcnQ6IHRoaXMuaW5kZXgsXG5cdCAgICAgICAgICAgICAgICBlbmQ6IHRoaXMuaW5kZXhcblx0ICAgICAgICAgICAgfTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgdmFyIGNwID0gdGhpcy5zb3VyY2UuY2hhckNvZGVBdCh0aGlzLmluZGV4KTtcblx0ICAgICAgICBpZiAoY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmlzSWRlbnRpZmllclN0YXJ0KGNwKSkge1xuXHQgICAgICAgICAgICByZXR1cm4gdGhpcy5zY2FuSWRlbnRpZmllcigpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICAvLyBWZXJ5IGNvbW1vbjogKCBhbmQgKSBhbmQgO1xuXHQgICAgICAgIGlmIChjcCA9PT0gMHgyOCB8fCBjcCA9PT0gMHgyOSB8fCBjcCA9PT0gMHgzQikge1xuXHQgICAgICAgICAgICByZXR1cm4gdGhpcy5zY2FuUHVuY3R1YXRvcigpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICAvLyBTdHJpbmcgbGl0ZXJhbCBzdGFydHMgd2l0aCBzaW5nbGUgcXVvdGUgKFUrMDAyNykgb3IgZG91YmxlIHF1b3RlIChVKzAwMjIpLlxuXHQgICAgICAgIGlmIChjcCA9PT0gMHgyNyB8fCBjcCA9PT0gMHgyMikge1xuXHQgICAgICAgICAgICByZXR1cm4gdGhpcy5zY2FuU3RyaW5nTGl0ZXJhbCgpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICAvLyBEb3QgKC4pIFUrMDAyRSBjYW4gYWxzbyBzdGFydCBhIGZsb2F0aW5nLXBvaW50IG51bWJlciwgaGVuY2UgdGhlIG5lZWRcblx0ICAgICAgICAvLyB0byBjaGVjayB0aGUgbmV4dCBjaGFyYWN0ZXIuXG5cdCAgICAgICAgaWYgKGNwID09PSAweDJFKSB7XG5cdCAgICAgICAgICAgIGlmIChjaGFyYWN0ZXJfMS5DaGFyYWN0ZXIuaXNEZWNpbWFsRGlnaXQodGhpcy5zb3VyY2UuY2hhckNvZGVBdCh0aGlzLmluZGV4ICsgMSkpKSB7XG5cdCAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5zY2FuTnVtZXJpY0xpdGVyYWwoKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICByZXR1cm4gdGhpcy5zY2FuUHVuY3R1YXRvcigpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBpZiAoY2hhcmFjdGVyXzEuQ2hhcmFjdGVyLmlzRGVjaW1hbERpZ2l0KGNwKSkge1xuXHQgICAgICAgICAgICByZXR1cm4gdGhpcy5zY2FuTnVtZXJpY0xpdGVyYWwoKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgLy8gVGVtcGxhdGUgbGl0ZXJhbHMgc3RhcnQgd2l0aCBgIChVKzAwNjApIGZvciB0ZW1wbGF0ZSBoZWFkXG5cdCAgICAgICAgLy8gb3IgfSAoVSswMDdEKSBmb3IgdGVtcGxhdGUgbWlkZGxlIG9yIHRlbXBsYXRlIHRhaWwuXG5cdCAgICAgICAgaWYgKGNwID09PSAweDYwIHx8IChjcCA9PT0gMHg3RCAmJiB0aGlzLmN1cmx5U3RhY2tbdGhpcy5jdXJseVN0YWNrLmxlbmd0aCAtIDFdID09PSAnJHsnKSkge1xuXHQgICAgICAgICAgICByZXR1cm4gdGhpcy5zY2FuVGVtcGxhdGUoKTtcblx0ICAgICAgICB9XG5cdCAgICAgICAgLy8gUG9zc2libGUgaWRlbnRpZmllciBzdGFydCBpbiBhIHN1cnJvZ2F0ZSBwYWlyLlxuXHQgICAgICAgIGlmIChjcCA+PSAweEQ4MDAgJiYgY3AgPCAweERGRkYpIHtcblx0ICAgICAgICAgICAgaWYgKGNoYXJhY3Rlcl8xLkNoYXJhY3Rlci5pc0lkZW50aWZpZXJTdGFydCh0aGlzLmNvZGVQb2ludEF0KHRoaXMuaW5kZXgpKSkge1xuXHQgICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2NhbklkZW50aWZpZXIoKTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5zY2FuUHVuY3R1YXRvcigpO1xuXHQgICAgfTtcblx0ICAgIHJldHVybiBTY2FubmVyO1xuXHR9KCkpO1xuXHRleHBvcnRzLlNjYW5uZXIgPSBTY2FubmVyO1xuXG5cbi8qKiovIH0sXG4vKiAxMyAqL1xuLyoqKi8gZnVuY3Rpb24obW9kdWxlLCBleHBvcnRzKSB7XG5cblx0XCJ1c2Ugc3RyaWN0XCI7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcblx0ZXhwb3J0cy5Ub2tlbk5hbWUgPSB7fTtcblx0ZXhwb3J0cy5Ub2tlbk5hbWVbMSAvKiBCb29sZWFuTGl0ZXJhbCAqL10gPSAnQm9vbGVhbic7XG5cdGV4cG9ydHMuVG9rZW5OYW1lWzIgLyogRU9GICovXSA9ICc8ZW5kPic7XG5cdGV4cG9ydHMuVG9rZW5OYW1lWzMgLyogSWRlbnRpZmllciAqL10gPSAnSWRlbnRpZmllcic7XG5cdGV4cG9ydHMuVG9rZW5OYW1lWzQgLyogS2V5d29yZCAqL10gPSAnS2V5d29yZCc7XG5cdGV4cG9ydHMuVG9rZW5OYW1lWzUgLyogTnVsbExpdGVyYWwgKi9dID0gJ051bGwnO1xuXHRleHBvcnRzLlRva2VuTmFtZVs2IC8qIE51bWVyaWNMaXRlcmFsICovXSA9ICdOdW1lcmljJztcblx0ZXhwb3J0cy5Ub2tlbk5hbWVbNyAvKiBQdW5jdHVhdG9yICovXSA9ICdQdW5jdHVhdG9yJztcblx0ZXhwb3J0cy5Ub2tlbk5hbWVbOCAvKiBTdHJpbmdMaXRlcmFsICovXSA9ICdTdHJpbmcnO1xuXHRleHBvcnRzLlRva2VuTmFtZVs5IC8qIFJlZ3VsYXJFeHByZXNzaW9uICovXSA9ICdSZWd1bGFyRXhwcmVzc2lvbic7XG5cdGV4cG9ydHMuVG9rZW5OYW1lWzEwIC8qIFRlbXBsYXRlICovXSA9ICdUZW1wbGF0ZSc7XG5cblxuLyoqKi8gfSxcbi8qIDE0ICovXG4vKioqLyBmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMpIHtcblxuXHRcInVzZSBzdHJpY3RcIjtcblx0Ly8gR2VuZXJhdGVkIGJ5IGdlbmVyYXRlLXhodG1sLWVudGl0aWVzLmpzLiBETyBOT1QgTU9ESUZZIVxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5cdGV4cG9ydHMuWEhUTUxFbnRpdGllcyA9IHtcblx0ICAgIHF1b3Q6ICdcXHUwMDIyJyxcblx0ICAgIGFtcDogJ1xcdTAwMjYnLFxuXHQgICAgYXBvczogJ1xcdTAwMjcnLFxuXHQgICAgZ3Q6ICdcXHUwMDNFJyxcblx0ICAgIG5ic3A6ICdcXHUwMEEwJyxcblx0ICAgIGlleGNsOiAnXFx1MDBBMScsXG5cdCAgICBjZW50OiAnXFx1MDBBMicsXG5cdCAgICBwb3VuZDogJ1xcdTAwQTMnLFxuXHQgICAgY3VycmVuOiAnXFx1MDBBNCcsXG5cdCAgICB5ZW46ICdcXHUwMEE1Jyxcblx0ICAgIGJydmJhcjogJ1xcdTAwQTYnLFxuXHQgICAgc2VjdDogJ1xcdTAwQTcnLFxuXHQgICAgdW1sOiAnXFx1MDBBOCcsXG5cdCAgICBjb3B5OiAnXFx1MDBBOScsXG5cdCAgICBvcmRmOiAnXFx1MDBBQScsXG5cdCAgICBsYXF1bzogJ1xcdTAwQUInLFxuXHQgICAgbm90OiAnXFx1MDBBQycsXG5cdCAgICBzaHk6ICdcXHUwMEFEJyxcblx0ICAgIHJlZzogJ1xcdTAwQUUnLFxuXHQgICAgbWFjcjogJ1xcdTAwQUYnLFxuXHQgICAgZGVnOiAnXFx1MDBCMCcsXG5cdCAgICBwbHVzbW46ICdcXHUwMEIxJyxcblx0ICAgIHN1cDI6ICdcXHUwMEIyJyxcblx0ICAgIHN1cDM6ICdcXHUwMEIzJyxcblx0ICAgIGFjdXRlOiAnXFx1MDBCNCcsXG5cdCAgICBtaWNybzogJ1xcdTAwQjUnLFxuXHQgICAgcGFyYTogJ1xcdTAwQjYnLFxuXHQgICAgbWlkZG90OiAnXFx1MDBCNycsXG5cdCAgICBjZWRpbDogJ1xcdTAwQjgnLFxuXHQgICAgc3VwMTogJ1xcdTAwQjknLFxuXHQgICAgb3JkbTogJ1xcdTAwQkEnLFxuXHQgICAgcmFxdW86ICdcXHUwMEJCJyxcblx0ICAgIGZyYWMxNDogJ1xcdTAwQkMnLFxuXHQgICAgZnJhYzEyOiAnXFx1MDBCRCcsXG5cdCAgICBmcmFjMzQ6ICdcXHUwMEJFJyxcblx0ICAgIGlxdWVzdDogJ1xcdTAwQkYnLFxuXHQgICAgQWdyYXZlOiAnXFx1MDBDMCcsXG5cdCAgICBBYWN1dGU6ICdcXHUwMEMxJyxcblx0ICAgIEFjaXJjOiAnXFx1MDBDMicsXG5cdCAgICBBdGlsZGU6ICdcXHUwMEMzJyxcblx0ICAgIEF1bWw6ICdcXHUwMEM0Jyxcblx0ICAgIEFyaW5nOiAnXFx1MDBDNScsXG5cdCAgICBBRWxpZzogJ1xcdTAwQzYnLFxuXHQgICAgQ2NlZGlsOiAnXFx1MDBDNycsXG5cdCAgICBFZ3JhdmU6ICdcXHUwMEM4Jyxcblx0ICAgIEVhY3V0ZTogJ1xcdTAwQzknLFxuXHQgICAgRWNpcmM6ICdcXHUwMENBJyxcblx0ICAgIEV1bWw6ICdcXHUwMENCJyxcblx0ICAgIElncmF2ZTogJ1xcdTAwQ0MnLFxuXHQgICAgSWFjdXRlOiAnXFx1MDBDRCcsXG5cdCAgICBJY2lyYzogJ1xcdTAwQ0UnLFxuXHQgICAgSXVtbDogJ1xcdTAwQ0YnLFxuXHQgICAgRVRIOiAnXFx1MDBEMCcsXG5cdCAgICBOdGlsZGU6ICdcXHUwMEQxJyxcblx0ICAgIE9ncmF2ZTogJ1xcdTAwRDInLFxuXHQgICAgT2FjdXRlOiAnXFx1MDBEMycsXG5cdCAgICBPY2lyYzogJ1xcdTAwRDQnLFxuXHQgICAgT3RpbGRlOiAnXFx1MDBENScsXG5cdCAgICBPdW1sOiAnXFx1MDBENicsXG5cdCAgICB0aW1lczogJ1xcdTAwRDcnLFxuXHQgICAgT3NsYXNoOiAnXFx1MDBEOCcsXG5cdCAgICBVZ3JhdmU6ICdcXHUwMEQ5Jyxcblx0ICAgIFVhY3V0ZTogJ1xcdTAwREEnLFxuXHQgICAgVWNpcmM6ICdcXHUwMERCJyxcblx0ICAgIFV1bWw6ICdcXHUwMERDJyxcblx0ICAgIFlhY3V0ZTogJ1xcdTAwREQnLFxuXHQgICAgVEhPUk46ICdcXHUwMERFJyxcblx0ICAgIHN6bGlnOiAnXFx1MDBERicsXG5cdCAgICBhZ3JhdmU6ICdcXHUwMEUwJyxcblx0ICAgIGFhY3V0ZTogJ1xcdTAwRTEnLFxuXHQgICAgYWNpcmM6ICdcXHUwMEUyJyxcblx0ICAgIGF0aWxkZTogJ1xcdTAwRTMnLFxuXHQgICAgYXVtbDogJ1xcdTAwRTQnLFxuXHQgICAgYXJpbmc6ICdcXHUwMEU1Jyxcblx0ICAgIGFlbGlnOiAnXFx1MDBFNicsXG5cdCAgICBjY2VkaWw6ICdcXHUwMEU3Jyxcblx0ICAgIGVncmF2ZTogJ1xcdTAwRTgnLFxuXHQgICAgZWFjdXRlOiAnXFx1MDBFOScsXG5cdCAgICBlY2lyYzogJ1xcdTAwRUEnLFxuXHQgICAgZXVtbDogJ1xcdTAwRUInLFxuXHQgICAgaWdyYXZlOiAnXFx1MDBFQycsXG5cdCAgICBpYWN1dGU6ICdcXHUwMEVEJyxcblx0ICAgIGljaXJjOiAnXFx1MDBFRScsXG5cdCAgICBpdW1sOiAnXFx1MDBFRicsXG5cdCAgICBldGg6ICdcXHUwMEYwJyxcblx0ICAgIG50aWxkZTogJ1xcdTAwRjEnLFxuXHQgICAgb2dyYXZlOiAnXFx1MDBGMicsXG5cdCAgICBvYWN1dGU6ICdcXHUwMEYzJyxcblx0ICAgIG9jaXJjOiAnXFx1MDBGNCcsXG5cdCAgICBvdGlsZGU6ICdcXHUwMEY1Jyxcblx0ICAgIG91bWw6ICdcXHUwMEY2Jyxcblx0ICAgIGRpdmlkZTogJ1xcdTAwRjcnLFxuXHQgICAgb3NsYXNoOiAnXFx1MDBGOCcsXG5cdCAgICB1Z3JhdmU6ICdcXHUwMEY5Jyxcblx0ICAgIHVhY3V0ZTogJ1xcdTAwRkEnLFxuXHQgICAgdWNpcmM6ICdcXHUwMEZCJyxcblx0ICAgIHV1bWw6ICdcXHUwMEZDJyxcblx0ICAgIHlhY3V0ZTogJ1xcdTAwRkQnLFxuXHQgICAgdGhvcm46ICdcXHUwMEZFJyxcblx0ICAgIHl1bWw6ICdcXHUwMEZGJyxcblx0ICAgIE9FbGlnOiAnXFx1MDE1MicsXG5cdCAgICBvZWxpZzogJ1xcdTAxNTMnLFxuXHQgICAgU2Nhcm9uOiAnXFx1MDE2MCcsXG5cdCAgICBzY2Fyb246ICdcXHUwMTYxJyxcblx0ICAgIFl1bWw6ICdcXHUwMTc4Jyxcblx0ICAgIGZub2Y6ICdcXHUwMTkyJyxcblx0ICAgIGNpcmM6ICdcXHUwMkM2Jyxcblx0ICAgIHRpbGRlOiAnXFx1MDJEQycsXG5cdCAgICBBbHBoYTogJ1xcdTAzOTEnLFxuXHQgICAgQmV0YTogJ1xcdTAzOTInLFxuXHQgICAgR2FtbWE6ICdcXHUwMzkzJyxcblx0ICAgIERlbHRhOiAnXFx1MDM5NCcsXG5cdCAgICBFcHNpbG9uOiAnXFx1MDM5NScsXG5cdCAgICBaZXRhOiAnXFx1MDM5NicsXG5cdCAgICBFdGE6ICdcXHUwMzk3Jyxcblx0ICAgIFRoZXRhOiAnXFx1MDM5OCcsXG5cdCAgICBJb3RhOiAnXFx1MDM5OScsXG5cdCAgICBLYXBwYTogJ1xcdTAzOUEnLFxuXHQgICAgTGFtYmRhOiAnXFx1MDM5QicsXG5cdCAgICBNdTogJ1xcdTAzOUMnLFxuXHQgICAgTnU6ICdcXHUwMzlEJyxcblx0ICAgIFhpOiAnXFx1MDM5RScsXG5cdCAgICBPbWljcm9uOiAnXFx1MDM5RicsXG5cdCAgICBQaTogJ1xcdTAzQTAnLFxuXHQgICAgUmhvOiAnXFx1MDNBMScsXG5cdCAgICBTaWdtYTogJ1xcdTAzQTMnLFxuXHQgICAgVGF1OiAnXFx1MDNBNCcsXG5cdCAgICBVcHNpbG9uOiAnXFx1MDNBNScsXG5cdCAgICBQaGk6ICdcXHUwM0E2Jyxcblx0ICAgIENoaTogJ1xcdTAzQTcnLFxuXHQgICAgUHNpOiAnXFx1MDNBOCcsXG5cdCAgICBPbWVnYTogJ1xcdTAzQTknLFxuXHQgICAgYWxwaGE6ICdcXHUwM0IxJyxcblx0ICAgIGJldGE6ICdcXHUwM0IyJyxcblx0ICAgIGdhbW1hOiAnXFx1MDNCMycsXG5cdCAgICBkZWx0YTogJ1xcdTAzQjQnLFxuXHQgICAgZXBzaWxvbjogJ1xcdTAzQjUnLFxuXHQgICAgemV0YTogJ1xcdTAzQjYnLFxuXHQgICAgZXRhOiAnXFx1MDNCNycsXG5cdCAgICB0aGV0YTogJ1xcdTAzQjgnLFxuXHQgICAgaW90YTogJ1xcdTAzQjknLFxuXHQgICAga2FwcGE6ICdcXHUwM0JBJyxcblx0ICAgIGxhbWJkYTogJ1xcdTAzQkInLFxuXHQgICAgbXU6ICdcXHUwM0JDJyxcblx0ICAgIG51OiAnXFx1MDNCRCcsXG5cdCAgICB4aTogJ1xcdTAzQkUnLFxuXHQgICAgb21pY3JvbjogJ1xcdTAzQkYnLFxuXHQgICAgcGk6ICdcXHUwM0MwJyxcblx0ICAgIHJobzogJ1xcdTAzQzEnLFxuXHQgICAgc2lnbWFmOiAnXFx1MDNDMicsXG5cdCAgICBzaWdtYTogJ1xcdTAzQzMnLFxuXHQgICAgdGF1OiAnXFx1MDNDNCcsXG5cdCAgICB1cHNpbG9uOiAnXFx1MDNDNScsXG5cdCAgICBwaGk6ICdcXHUwM0M2Jyxcblx0ICAgIGNoaTogJ1xcdTAzQzcnLFxuXHQgICAgcHNpOiAnXFx1MDNDOCcsXG5cdCAgICBvbWVnYTogJ1xcdTAzQzknLFxuXHQgICAgdGhldGFzeW06ICdcXHUwM0QxJyxcblx0ICAgIHVwc2loOiAnXFx1MDNEMicsXG5cdCAgICBwaXY6ICdcXHUwM0Q2Jyxcblx0ICAgIGVuc3A6ICdcXHUyMDAyJyxcblx0ICAgIGVtc3A6ICdcXHUyMDAzJyxcblx0ICAgIHRoaW5zcDogJ1xcdTIwMDknLFxuXHQgICAgenduajogJ1xcdTIwMEMnLFxuXHQgICAgendqOiAnXFx1MjAwRCcsXG5cdCAgICBscm06ICdcXHUyMDBFJyxcblx0ICAgIHJsbTogJ1xcdTIwMEYnLFxuXHQgICAgbmRhc2g6ICdcXHUyMDEzJyxcblx0ICAgIG1kYXNoOiAnXFx1MjAxNCcsXG5cdCAgICBsc3F1bzogJ1xcdTIwMTgnLFxuXHQgICAgcnNxdW86ICdcXHUyMDE5Jyxcblx0ICAgIHNicXVvOiAnXFx1MjAxQScsXG5cdCAgICBsZHF1bzogJ1xcdTIwMUMnLFxuXHQgICAgcmRxdW86ICdcXHUyMDFEJyxcblx0ICAgIGJkcXVvOiAnXFx1MjAxRScsXG5cdCAgICBkYWdnZXI6ICdcXHUyMDIwJyxcblx0ICAgIERhZ2dlcjogJ1xcdTIwMjEnLFxuXHQgICAgYnVsbDogJ1xcdTIwMjInLFxuXHQgICAgaGVsbGlwOiAnXFx1MjAyNicsXG5cdCAgICBwZXJtaWw6ICdcXHUyMDMwJyxcblx0ICAgIHByaW1lOiAnXFx1MjAzMicsXG5cdCAgICBQcmltZTogJ1xcdTIwMzMnLFxuXHQgICAgbHNhcXVvOiAnXFx1MjAzOScsXG5cdCAgICByc2FxdW86ICdcXHUyMDNBJyxcblx0ICAgIG9saW5lOiAnXFx1MjAzRScsXG5cdCAgICBmcmFzbDogJ1xcdTIwNDQnLFxuXHQgICAgZXVybzogJ1xcdTIwQUMnLFxuXHQgICAgaW1hZ2U6ICdcXHUyMTExJyxcblx0ICAgIHdlaWVycDogJ1xcdTIxMTgnLFxuXHQgICAgcmVhbDogJ1xcdTIxMUMnLFxuXHQgICAgdHJhZGU6ICdcXHUyMTIyJyxcblx0ICAgIGFsZWZzeW06ICdcXHUyMTM1Jyxcblx0ICAgIGxhcnI6ICdcXHUyMTkwJyxcblx0ICAgIHVhcnI6ICdcXHUyMTkxJyxcblx0ICAgIHJhcnI6ICdcXHUyMTkyJyxcblx0ICAgIGRhcnI6ICdcXHUyMTkzJyxcblx0ICAgIGhhcnI6ICdcXHUyMTk0Jyxcblx0ICAgIGNyYXJyOiAnXFx1MjFCNScsXG5cdCAgICBsQXJyOiAnXFx1MjFEMCcsXG5cdCAgICB1QXJyOiAnXFx1MjFEMScsXG5cdCAgICByQXJyOiAnXFx1MjFEMicsXG5cdCAgICBkQXJyOiAnXFx1MjFEMycsXG5cdCAgICBoQXJyOiAnXFx1MjFENCcsXG5cdCAgICBmb3JhbGw6ICdcXHUyMjAwJyxcblx0ICAgIHBhcnQ6ICdcXHUyMjAyJyxcblx0ICAgIGV4aXN0OiAnXFx1MjIwMycsXG5cdCAgICBlbXB0eTogJ1xcdTIyMDUnLFxuXHQgICAgbmFibGE6ICdcXHUyMjA3Jyxcblx0ICAgIGlzaW46ICdcXHUyMjA4Jyxcblx0ICAgIG5vdGluOiAnXFx1MjIwOScsXG5cdCAgICBuaTogJ1xcdTIyMEInLFxuXHQgICAgcHJvZDogJ1xcdTIyMEYnLFxuXHQgICAgc3VtOiAnXFx1MjIxMScsXG5cdCAgICBtaW51czogJ1xcdTIyMTInLFxuXHQgICAgbG93YXN0OiAnXFx1MjIxNycsXG5cdCAgICByYWRpYzogJ1xcdTIyMUEnLFxuXHQgICAgcHJvcDogJ1xcdTIyMUQnLFxuXHQgICAgaW5maW46ICdcXHUyMjFFJyxcblx0ICAgIGFuZzogJ1xcdTIyMjAnLFxuXHQgICAgYW5kOiAnXFx1MjIyNycsXG5cdCAgICBvcjogJ1xcdTIyMjgnLFxuXHQgICAgY2FwOiAnXFx1MjIyOScsXG5cdCAgICBjdXA6ICdcXHUyMjJBJyxcblx0ICAgIGludDogJ1xcdTIyMkInLFxuXHQgICAgdGhlcmU0OiAnXFx1MjIzNCcsXG5cdCAgICBzaW06ICdcXHUyMjNDJyxcblx0ICAgIGNvbmc6ICdcXHUyMjQ1Jyxcblx0ICAgIGFzeW1wOiAnXFx1MjI0OCcsXG5cdCAgICBuZTogJ1xcdTIyNjAnLFxuXHQgICAgZXF1aXY6ICdcXHUyMjYxJyxcblx0ICAgIGxlOiAnXFx1MjI2NCcsXG5cdCAgICBnZTogJ1xcdTIyNjUnLFxuXHQgICAgc3ViOiAnXFx1MjI4MicsXG5cdCAgICBzdXA6ICdcXHUyMjgzJyxcblx0ICAgIG5zdWI6ICdcXHUyMjg0Jyxcblx0ICAgIHN1YmU6ICdcXHUyMjg2Jyxcblx0ICAgIHN1cGU6ICdcXHUyMjg3Jyxcblx0ICAgIG9wbHVzOiAnXFx1MjI5NScsXG5cdCAgICBvdGltZXM6ICdcXHUyMjk3Jyxcblx0ICAgIHBlcnA6ICdcXHUyMkE1Jyxcblx0ICAgIHNkb3Q6ICdcXHUyMkM1Jyxcblx0ICAgIGxjZWlsOiAnXFx1MjMwOCcsXG5cdCAgICByY2VpbDogJ1xcdTIzMDknLFxuXHQgICAgbGZsb29yOiAnXFx1MjMwQScsXG5cdCAgICByZmxvb3I6ICdcXHUyMzBCJyxcblx0ICAgIGxvejogJ1xcdTI1Q0EnLFxuXHQgICAgc3BhZGVzOiAnXFx1MjY2MCcsXG5cdCAgICBjbHViczogJ1xcdTI2NjMnLFxuXHQgICAgaGVhcnRzOiAnXFx1MjY2NScsXG5cdCAgICBkaWFtczogJ1xcdTI2NjYnLFxuXHQgICAgbGFuZzogJ1xcdTI3RTgnLFxuXHQgICAgcmFuZzogJ1xcdTI3RTknXG5cdH07XG5cblxuLyoqKi8gfSxcbi8qIDE1ICovXG4vKioqLyBmdW5jdGlvbihtb2R1bGUsIGV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pIHtcblxuXHRcInVzZSBzdHJpY3RcIjtcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuXHR2YXIgZXJyb3JfaGFuZGxlcl8xID0gX193ZWJwYWNrX3JlcXVpcmVfXygxMCk7XG5cdHZhciBzY2FubmVyXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEyKTtcblx0dmFyIHRva2VuXzEgPSBfX3dlYnBhY2tfcmVxdWlyZV9fKDEzKTtcblx0dmFyIFJlYWRlciA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBSZWFkZXIoKSB7XG5cdCAgICAgICAgdGhpcy52YWx1ZXMgPSBbXTtcblx0ICAgICAgICB0aGlzLmN1cmx5ID0gdGhpcy5wYXJlbiA9IC0xO1xuXHQgICAgfVxuXHQgICAgLy8gQSBmdW5jdGlvbiBmb2xsb3dpbmcgb25lIG9mIHRob3NlIHRva2VucyBpcyBhbiBleHByZXNzaW9uLlxuXHQgICAgUmVhZGVyLnByb3RvdHlwZS5iZWZvcmVGdW5jdGlvbkV4cHJlc3Npb24gPSBmdW5jdGlvbiAodCkge1xuXHQgICAgICAgIHJldHVybiBbJygnLCAneycsICdbJywgJ2luJywgJ3R5cGVvZicsICdpbnN0YW5jZW9mJywgJ25ldycsXG5cdCAgICAgICAgICAgICdyZXR1cm4nLCAnY2FzZScsICdkZWxldGUnLCAndGhyb3cnLCAndm9pZCcsXG5cdCAgICAgICAgICAgIC8vIGFzc2lnbm1lbnQgb3BlcmF0b3JzXG5cdCAgICAgICAgICAgICc9JywgJys9JywgJy09JywgJyo9JywgJyoqPScsICcvPScsICclPScsICc8PD0nLCAnPj49JywgJz4+Pj0nLFxuXHQgICAgICAgICAgICAnJj0nLCAnfD0nLCAnXj0nLCAnLCcsXG5cdCAgICAgICAgICAgIC8vIGJpbmFyeS91bmFyeSBvcGVyYXRvcnNcblx0ICAgICAgICAgICAgJysnLCAnLScsICcqJywgJyoqJywgJy8nLCAnJScsICcrKycsICctLScsICc8PCcsICc+PicsICc+Pj4nLCAnJicsXG5cdCAgICAgICAgICAgICd8JywgJ14nLCAnIScsICd+JywgJyYmJywgJ3x8JywgJz8nLCAnOicsICc9PT0nLCAnPT0nLCAnPj0nLFxuXHQgICAgICAgICAgICAnPD0nLCAnPCcsICc+JywgJyE9JywgJyE9PSddLmluZGV4T2YodCkgPj0gMDtcblx0ICAgIH07XG5cdCAgICAvLyBEZXRlcm1pbmUgaWYgZm9yd2FyZCBzbGFzaCAoLykgaXMgYW4gb3BlcmF0b3Igb3IgcGFydCBvZiBhIHJlZ3VsYXIgZXhwcmVzc2lvblxuXHQgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL21vemlsbGEvc3dlZXQuanMvd2lraS9kZXNpZ25cblx0ICAgIFJlYWRlci5wcm90b3R5cGUuaXNSZWdleFN0YXJ0ID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIHZhciBwcmV2aW91cyA9IHRoaXMudmFsdWVzW3RoaXMudmFsdWVzLmxlbmd0aCAtIDFdO1xuXHQgICAgICAgIHZhciByZWdleCA9IChwcmV2aW91cyAhPT0gbnVsbCk7XG5cdCAgICAgICAgc3dpdGNoIChwcmV2aW91cykge1xuXHQgICAgICAgICAgICBjYXNlICd0aGlzJzpcblx0ICAgICAgICAgICAgY2FzZSAnXSc6XG5cdCAgICAgICAgICAgICAgICByZWdleCA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgICAgIGNhc2UgJyknOlxuXHQgICAgICAgICAgICAgICAgdmFyIGtleXdvcmQgPSB0aGlzLnZhbHVlc1t0aGlzLnBhcmVuIC0gMV07XG5cdCAgICAgICAgICAgICAgICByZWdleCA9IChrZXl3b3JkID09PSAnaWYnIHx8IGtleXdvcmQgPT09ICd3aGlsZScgfHwga2V5d29yZCA9PT0gJ2ZvcicgfHwga2V5d29yZCA9PT0gJ3dpdGgnKTtcblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBjYXNlICd9Jzpcblx0ICAgICAgICAgICAgICAgIC8vIERpdmlkaW5nIGEgZnVuY3Rpb24gYnkgYW55dGhpbmcgbWFrZXMgbGl0dGxlIHNlbnNlLFxuXHQgICAgICAgICAgICAgICAgLy8gYnV0IHdlIGhhdmUgdG8gY2hlY2sgZm9yIHRoYXQuXG5cdCAgICAgICAgICAgICAgICByZWdleCA9IGZhbHNlO1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMudmFsdWVzW3RoaXMuY3VybHkgLSAzXSA9PT0gJ2Z1bmN0aW9uJykge1xuXHQgICAgICAgICAgICAgICAgICAgIC8vIEFub255bW91cyBmdW5jdGlvbiwgZS5nLiBmdW5jdGlvbigpe30gLzQyXG5cdCAgICAgICAgICAgICAgICAgICAgdmFyIGNoZWNrID0gdGhpcy52YWx1ZXNbdGhpcy5jdXJseSAtIDRdO1xuXHQgICAgICAgICAgICAgICAgICAgIHJlZ2V4ID0gY2hlY2sgPyAhdGhpcy5iZWZvcmVGdW5jdGlvbkV4cHJlc3Npb24oY2hlY2spIDogZmFsc2U7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBlbHNlIGlmICh0aGlzLnZhbHVlc1t0aGlzLmN1cmx5IC0gNF0gPT09ICdmdW5jdGlvbicpIHtcblx0ICAgICAgICAgICAgICAgICAgICAvLyBOYW1lZCBmdW5jdGlvbiwgZS5nLiBmdW5jdGlvbiBmKCl7fSAvNDIvXG5cdCAgICAgICAgICAgICAgICAgICAgdmFyIGNoZWNrID0gdGhpcy52YWx1ZXNbdGhpcy5jdXJseSAtIDVdO1xuXHQgICAgICAgICAgICAgICAgICAgIHJlZ2V4ID0gY2hlY2sgPyAhdGhpcy5iZWZvcmVGdW5jdGlvbkV4cHJlc3Npb24oY2hlY2spIDogdHJ1ZTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgICAgIGJyZWFrO1xuXHQgICAgICAgICAgICBkZWZhdWx0OlxuXHQgICAgICAgICAgICAgICAgYnJlYWs7XG5cdCAgICAgICAgfVxuXHQgICAgICAgIHJldHVybiByZWdleDtcblx0ICAgIH07XG5cdCAgICBSZWFkZXIucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbiAodG9rZW4pIHtcblx0ICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gNyAvKiBQdW5jdHVhdG9yICovIHx8IHRva2VuLnR5cGUgPT09IDQgLyogS2V5d29yZCAqLykge1xuXHQgICAgICAgICAgICBpZiAodG9rZW4udmFsdWUgPT09ICd7Jykge1xuXHQgICAgICAgICAgICAgICAgdGhpcy5jdXJseSA9IHRoaXMudmFsdWVzLmxlbmd0aDtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBlbHNlIGlmICh0b2tlbi52YWx1ZSA9PT0gJygnKSB7XG5cdCAgICAgICAgICAgICAgICB0aGlzLnBhcmVuID0gdGhpcy52YWx1ZXMubGVuZ3RoO1xuXHQgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgIHRoaXMudmFsdWVzLnB1c2godG9rZW4udmFsdWUpO1xuXHQgICAgICAgIH1cblx0ICAgICAgICBlbHNlIHtcblx0ICAgICAgICAgICAgdGhpcy52YWx1ZXMucHVzaChudWxsKTtcblx0ICAgICAgICB9XG5cdCAgICB9O1xuXHQgICAgcmV0dXJuIFJlYWRlcjtcblx0fSgpKTtcblx0dmFyIFRva2VuaXplciA9IChmdW5jdGlvbiAoKSB7XG5cdCAgICBmdW5jdGlvbiBUb2tlbml6ZXIoY29kZSwgY29uZmlnKSB7XG5cdCAgICAgICAgdGhpcy5lcnJvckhhbmRsZXIgPSBuZXcgZXJyb3JfaGFuZGxlcl8xLkVycm9ySGFuZGxlcigpO1xuXHQgICAgICAgIHRoaXMuZXJyb3JIYW5kbGVyLnRvbGVyYW50ID0gY29uZmlnID8gKHR5cGVvZiBjb25maWcudG9sZXJhbnQgPT09ICdib29sZWFuJyAmJiBjb25maWcudG9sZXJhbnQpIDogZmFsc2U7XG5cdCAgICAgICAgdGhpcy5zY2FubmVyID0gbmV3IHNjYW5uZXJfMS5TY2FubmVyKGNvZGUsIHRoaXMuZXJyb3JIYW5kbGVyKTtcblx0ICAgICAgICB0aGlzLnNjYW5uZXIudHJhY2tDb21tZW50ID0gY29uZmlnID8gKHR5cGVvZiBjb25maWcuY29tbWVudCA9PT0gJ2Jvb2xlYW4nICYmIGNvbmZpZy5jb21tZW50KSA6IGZhbHNlO1xuXHQgICAgICAgIHRoaXMudHJhY2tSYW5nZSA9IGNvbmZpZyA/ICh0eXBlb2YgY29uZmlnLnJhbmdlID09PSAnYm9vbGVhbicgJiYgY29uZmlnLnJhbmdlKSA6IGZhbHNlO1xuXHQgICAgICAgIHRoaXMudHJhY2tMb2MgPSBjb25maWcgPyAodHlwZW9mIGNvbmZpZy5sb2MgPT09ICdib29sZWFuJyAmJiBjb25maWcubG9jKSA6IGZhbHNlO1xuXHQgICAgICAgIHRoaXMuYnVmZmVyID0gW107XG5cdCAgICAgICAgdGhpcy5yZWFkZXIgPSBuZXcgUmVhZGVyKCk7XG5cdCAgICB9XG5cdCAgICBUb2tlbml6ZXIucHJvdG90eXBlLmVycm9ycyA9IGZ1bmN0aW9uICgpIHtcblx0ICAgICAgICByZXR1cm4gdGhpcy5lcnJvckhhbmRsZXIuZXJyb3JzO1xuXHQgICAgfTtcblx0ICAgIFRva2VuaXplci5wcm90b3R5cGUuZ2V0TmV4dFRva2VuID0gZnVuY3Rpb24gKCkge1xuXHQgICAgICAgIGlmICh0aGlzLmJ1ZmZlci5sZW5ndGggPT09IDApIHtcblx0ICAgICAgICAgICAgdmFyIGNvbW1lbnRzID0gdGhpcy5zY2FubmVyLnNjYW5Db21tZW50cygpO1xuXHQgICAgICAgICAgICBpZiAodGhpcy5zY2FubmVyLnRyYWNrQ29tbWVudCkge1xuXHQgICAgICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBjb21tZW50cy5sZW5ndGg7ICsraSkge1xuXHQgICAgICAgICAgICAgICAgICAgIHZhciBlID0gY29tbWVudHNbaV07XG5cdCAgICAgICAgICAgICAgICAgICAgdmFyIHZhbHVlID0gdGhpcy5zY2FubmVyLnNvdXJjZS5zbGljZShlLnNsaWNlWzBdLCBlLnNsaWNlWzFdKTtcblx0ICAgICAgICAgICAgICAgICAgICB2YXIgY29tbWVudCA9IHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgdHlwZTogZS5tdWx0aUxpbmUgPyAnQmxvY2tDb21tZW50JyA6ICdMaW5lQ29tbWVudCcsXG5cdCAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB2YWx1ZVxuXHQgICAgICAgICAgICAgICAgICAgIH07XG5cdCAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudHJhY2tSYW5nZSkge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBjb21tZW50LnJhbmdlID0gZS5yYW5nZTtcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgaWYgKHRoaXMudHJhY2tMb2MpIHtcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY29tbWVudC5sb2MgPSBlLmxvYztcblx0ICAgICAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICAgICAgdGhpcy5idWZmZXIucHVzaChjb21tZW50KTtcblx0ICAgICAgICAgICAgICAgIH1cblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICBpZiAoIXRoaXMuc2Nhbm5lci5lb2YoKSkge1xuXHQgICAgICAgICAgICAgICAgdmFyIGxvYyA9IHZvaWQgMDtcblx0ICAgICAgICAgICAgICAgIGlmICh0aGlzLnRyYWNrTG9jKSB7XG5cdCAgICAgICAgICAgICAgICAgICAgbG9jID0ge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBzdGFydDoge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZTogdGhpcy5zY2FubmVyLmxpbmVOdW1iZXIsXG5cdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2x1bW46IHRoaXMuc2Nhbm5lci5pbmRleCAtIHRoaXMuc2Nhbm5lci5saW5lU3RhcnRcblx0ICAgICAgICAgICAgICAgICAgICAgICAgfSxcblx0ICAgICAgICAgICAgICAgICAgICAgICAgZW5kOiB7fVxuXHQgICAgICAgICAgICAgICAgICAgIH07XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICB2YXIgc3RhcnRSZWdleCA9ICh0aGlzLnNjYW5uZXIuc291cmNlW3RoaXMuc2Nhbm5lci5pbmRleF0gPT09ICcvJykgJiYgdGhpcy5yZWFkZXIuaXNSZWdleFN0YXJ0KCk7XG5cdCAgICAgICAgICAgICAgICB2YXIgdG9rZW4gPSBzdGFydFJlZ2V4ID8gdGhpcy5zY2FubmVyLnNjYW5SZWdFeHAoKSA6IHRoaXMuc2Nhbm5lci5sZXgoKTtcblx0ICAgICAgICAgICAgICAgIHRoaXMucmVhZGVyLnB1c2godG9rZW4pO1xuXHQgICAgICAgICAgICAgICAgdmFyIGVudHJ5ID0ge1xuXHQgICAgICAgICAgICAgICAgICAgIHR5cGU6IHRva2VuXzEuVG9rZW5OYW1lW3Rva2VuLnR5cGVdLFxuXHQgICAgICAgICAgICAgICAgICAgIHZhbHVlOiB0aGlzLnNjYW5uZXIuc291cmNlLnNsaWNlKHRva2VuLnN0YXJ0LCB0b2tlbi5lbmQpXG5cdCAgICAgICAgICAgICAgICB9O1xuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMudHJhY2tSYW5nZSkge1xuXHQgICAgICAgICAgICAgICAgICAgIGVudHJ5LnJhbmdlID0gW3Rva2VuLnN0YXJ0LCB0b2tlbi5lbmRdO1xuXHQgICAgICAgICAgICAgICAgfVxuXHQgICAgICAgICAgICAgICAgaWYgKHRoaXMudHJhY2tMb2MpIHtcblx0ICAgICAgICAgICAgICAgICAgICBsb2MuZW5kID0ge1xuXHQgICAgICAgICAgICAgICAgICAgICAgICBsaW5lOiB0aGlzLnNjYW5uZXIubGluZU51bWJlcixcblx0ICAgICAgICAgICAgICAgICAgICAgICAgY29sdW1uOiB0aGlzLnNjYW5uZXIuaW5kZXggLSB0aGlzLnNjYW5uZXIubGluZVN0YXJ0XG5cdCAgICAgICAgICAgICAgICAgICAgfTtcblx0ICAgICAgICAgICAgICAgICAgICBlbnRyeS5sb2MgPSBsb2M7XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICBpZiAodG9rZW4udHlwZSA9PT0gOSAvKiBSZWd1bGFyRXhwcmVzc2lvbiAqLykge1xuXHQgICAgICAgICAgICAgICAgICAgIHZhciBwYXR0ZXJuID0gdG9rZW4ucGF0dGVybjtcblx0ICAgICAgICAgICAgICAgICAgICB2YXIgZmxhZ3MgPSB0b2tlbi5mbGFncztcblx0ICAgICAgICAgICAgICAgICAgICBlbnRyeS5yZWdleCA9IHsgcGF0dGVybjogcGF0dGVybiwgZmxhZ3M6IGZsYWdzIH07XG5cdCAgICAgICAgICAgICAgICB9XG5cdCAgICAgICAgICAgICAgICB0aGlzLmJ1ZmZlci5wdXNoKGVudHJ5KTtcblx0ICAgICAgICAgICAgfVxuXHQgICAgICAgIH1cblx0ICAgICAgICByZXR1cm4gdGhpcy5idWZmZXIuc2hpZnQoKTtcblx0ICAgIH07XG5cdCAgICByZXR1cm4gVG9rZW5pemVyO1xuXHR9KCkpO1xuXHRleHBvcnRzLlRva2VuaXplciA9IFRva2VuaXplcjtcblxuXG4vKioqLyB9XG4vKioqKioqLyBdKVxufSk7XG47IiwgIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5wYXJzZSA9IHZvaWQgMDtcbi8vIFRoaXMgbW9kdWxlIGlzIHN1aXRhYmxlIGZvciBwYXNzaW5nIGFzIG9wdGlvbnMucGFyc2VyIHdoZW4gY2FsbGluZ1xuLy8gcmVjYXN0LnBhcnNlIHRvIHByb2Nlc3MgRUNNQVNjcmlwdCBjb2RlIHdpdGggRXNwcmltYTpcbi8vXG4vLyAgIGNvbnN0IGFzdCA9IHJlY2FzdC5wYXJzZShzb3VyY2UsIHtcbi8vICAgICBwYXJzZXI6IHJlcXVpcmUoXCJyZWNhc3QvcGFyc2Vycy9lc3ByaW1hXCIpXG4vLyAgIH0pO1xuLy9cbnZhciB1dGlsXzEgPSByZXF1aXJlKFwiLi4vbGliL3V0aWxcIik7XG5mdW5jdGlvbiBwYXJzZShzb3VyY2UsIG9wdGlvbnMpIHtcbiAgICB2YXIgY29tbWVudHMgPSBbXTtcbiAgICB2YXIgYXN0ID0gcmVxdWlyZShcImVzcHJpbWFcIikucGFyc2Uoc291cmNlLCB7XG4gICAgICAgIGxvYzogdHJ1ZSxcbiAgICAgICAgbG9jYXRpb25zOiB0cnVlLFxuICAgICAgICBjb21tZW50OiB0cnVlLFxuICAgICAgICBvbkNvbW1lbnQ6IGNvbW1lbnRzLFxuICAgICAgICByYW5nZTogKDAsIHV0aWxfMS5nZXRPcHRpb24pKG9wdGlvbnMsIFwicmFuZ2VcIiwgZmFsc2UpLFxuICAgICAgICB0b2xlcmFudDogKDAsIHV0aWxfMS5nZXRPcHRpb24pKG9wdGlvbnMsIFwidG9sZXJhbnRcIiwgdHJ1ZSksXG4gICAgICAgIHRva2VuczogdHJ1ZSxcbiAgICAgICAganN4OiAoMCwgdXRpbF8xLmdldE9wdGlvbikob3B0aW9ucywgXCJqc3hcIiwgZmFsc2UpLFxuICAgICAgICBzb3VyY2VUeXBlOiAoMCwgdXRpbF8xLmdldE9wdGlvbikob3B0aW9ucywgXCJzb3VyY2VUeXBlXCIsIFwibW9kdWxlXCIpLFxuICAgIH0pO1xuICAgIGlmICghQXJyYXkuaXNBcnJheShhc3QuY29tbWVudHMpKSB7XG4gICAgICAgIGFzdC5jb21tZW50cyA9IGNvbW1lbnRzO1xuICAgIH1cbiAgICByZXR1cm4gYXN0O1xufVxuZXhwb3J0cy5wYXJzZSA9IHBhcnNlO1xuIiwgIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5ub3JtYWxpemUgPSB2b2lkIDA7XG52YXIgdXRpbF8xID0gcmVxdWlyZShcIi4vdXRpbFwiKTtcbnZhciBkZWZhdWx0cyA9IHtcbiAgICBwYXJzZXI6IHJlcXVpcmUoXCIuLi9wYXJzZXJzL2VzcHJpbWFcIiksXG4gICAgdGFiV2lkdGg6IDQsXG4gICAgdXNlVGFiczogZmFsc2UsXG4gICAgcmV1c2VXaGl0ZXNwYWNlOiB0cnVlLFxuICAgIGxpbmVUZXJtaW5hdG9yOiAoMCwgdXRpbF8xLmdldExpbmVUZXJtaW5hdG9yKSgpLFxuICAgIHdyYXBDb2x1bW46IDc0LFxuICAgIHNvdXJjZUZpbGVOYW1lOiBudWxsLFxuICAgIHNvdXJjZU1hcE5hbWU6IG51bGwsXG4gICAgc291cmNlUm9vdDogbnVsbCxcbiAgICBpbnB1dFNvdXJjZU1hcDogbnVsbCxcbiAgICByYW5nZTogZmFsc2UsXG4gICAgdG9sZXJhbnQ6IHRydWUsXG4gICAgcXVvdGU6IG51bGwsXG4gICAgdHJhaWxpbmdDb21tYTogZmFsc2UsXG4gICAgYXJyYXlCcmFja2V0U3BhY2luZzogZmFsc2UsXG4gICAgb2JqZWN0Q3VybHlTcGFjaW5nOiB0cnVlLFxuICAgIGFycm93UGFyZW5zQWx3YXlzOiBmYWxzZSxcbiAgICBmbG93T2JqZWN0Q29tbWFzOiB0cnVlLFxuICAgIHRva2VuczogdHJ1ZSxcbn07XG52YXIgaGFzT3duID0gZGVmYXVsdHMuaGFzT3duUHJvcGVydHk7XG4vLyBDb3B5IG9wdGlvbnMgYW5kIGZpbGwgaW4gZGVmYXVsdCB2YWx1ZXMuXG5mdW5jdGlvbiBub3JtYWxpemUob3B0cykge1xuICAgIHZhciBvcHRpb25zID0gb3B0cyB8fCBkZWZhdWx0cztcbiAgICBmdW5jdGlvbiBnZXQoa2V5KSB7XG4gICAgICAgIHJldHVybiBoYXNPd24uY2FsbChvcHRpb25zLCBrZXkpID8gb3B0aW9uc1trZXldIDogZGVmYXVsdHNba2V5XTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgdGFiV2lkdGg6ICtnZXQoXCJ0YWJXaWR0aFwiKSxcbiAgICAgICAgdXNlVGFiczogISFnZXQoXCJ1c2VUYWJzXCIpLFxuICAgICAgICByZXVzZVdoaXRlc3BhY2U6ICEhZ2V0KFwicmV1c2VXaGl0ZXNwYWNlXCIpLFxuICAgICAgICBsaW5lVGVybWluYXRvcjogZ2V0KFwibGluZVRlcm1pbmF0b3JcIiksXG4gICAgICAgIHdyYXBDb2x1bW46IE1hdGgubWF4KGdldChcIndyYXBDb2x1bW5cIiksIDApLFxuICAgICAgICBzb3VyY2VGaWxlTmFtZTogZ2V0KFwic291cmNlRmlsZU5hbWVcIiksXG4gICAgICAgIHNvdXJjZU1hcE5hbWU6IGdldChcInNvdXJjZU1hcE5hbWVcIiksXG4gICAgICAgIHNvdXJjZVJvb3Q6IGdldChcInNvdXJjZVJvb3RcIiksXG4gICAgICAgIGlucHV0U291cmNlTWFwOiBnZXQoXCJpbnB1dFNvdXJjZU1hcFwiKSxcbiAgICAgICAgcGFyc2VyOiBnZXQoXCJlc3ByaW1hXCIpIHx8IGdldChcInBhcnNlclwiKSxcbiAgICAgICAgcmFuZ2U6IGdldChcInJhbmdlXCIpLFxuICAgICAgICB0b2xlcmFudDogZ2V0KFwidG9sZXJhbnRcIiksXG4gICAgICAgIHF1b3RlOiBnZXQoXCJxdW90ZVwiKSxcbiAgICAgICAgdHJhaWxpbmdDb21tYTogZ2V0KFwidHJhaWxpbmdDb21tYVwiKSxcbiAgICAgICAgYXJyYXlCcmFja2V0U3BhY2luZzogZ2V0KFwiYXJyYXlCcmFja2V0U3BhY2luZ1wiKSxcbiAgICAgICAgb2JqZWN0Q3VybHlTcGFjaW5nOiBnZXQoXCJvYmplY3RDdXJseVNwYWNpbmdcIiksXG4gICAgICAgIGFycm93UGFyZW5zQWx3YXlzOiBnZXQoXCJhcnJvd1BhcmVuc0Fsd2F5c1wiKSxcbiAgICAgICAgZmxvd09iamVjdENvbW1hczogZ2V0KFwiZmxvd09iamVjdENvbW1hc1wiKSxcbiAgICAgICAgdG9rZW5zOiAhIWdldChcInRva2Vuc1wiKSxcbiAgICB9O1xufVxuZXhwb3J0cy5ub3JtYWxpemUgPSBub3JtYWxpemU7XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG52YXIgdHNsaWJfMSA9IHJlcXVpcmUoXCJ0c2xpYlwiKTtcbnZhciB0aW55X2ludmFyaWFudF8xID0gdHNsaWJfMS5fX2ltcG9ydERlZmF1bHQocmVxdWlyZShcInRpbnktaW52YXJpYW50XCIpKTtcbnZhciB1dGlsXzEgPSByZXF1aXJlKFwiLi91dGlsXCIpO1xudmFyIE1hcHBpbmcgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gTWFwcGluZyhzb3VyY2VMaW5lcywgc291cmNlTG9jLCB0YXJnZXRMb2MpIHtcbiAgICAgICAgaWYgKHRhcmdldExvYyA9PT0gdm9pZCAwKSB7IHRhcmdldExvYyA9IHNvdXJjZUxvYzsgfVxuICAgICAgICB0aGlzLnNvdXJjZUxpbmVzID0gc291cmNlTGluZXM7XG4gICAgICAgIHRoaXMuc291cmNlTG9jID0gc291cmNlTG9jO1xuICAgICAgICB0aGlzLnRhcmdldExvYyA9IHRhcmdldExvYztcbiAgICB9XG4gICAgTWFwcGluZy5wcm90b3R5cGUuc2xpY2UgPSBmdW5jdGlvbiAobGluZXMsIHN0YXJ0LCBlbmQpIHtcbiAgICAgICAgaWYgKGVuZCA9PT0gdm9pZCAwKSB7IGVuZCA9IGxpbmVzLmxhc3RQb3MoKTsgfVxuICAgICAgICB2YXIgc291cmNlTGluZXMgPSB0aGlzLnNvdXJjZUxpbmVzO1xuICAgICAgICB2YXIgc291cmNlTG9jID0gdGhpcy5zb3VyY2VMb2M7XG4gICAgICAgIHZhciB0YXJnZXRMb2MgPSB0aGlzLnRhcmdldExvYztcbiAgICAgICAgZnVuY3Rpb24gc2tpcChuYW1lKSB7XG4gICAgICAgICAgICB2YXIgc291cmNlRnJvbVBvcyA9IHNvdXJjZUxvY1tuYW1lXTtcbiAgICAgICAgICAgIHZhciB0YXJnZXRGcm9tUG9zID0gdGFyZ2V0TG9jW25hbWVdO1xuICAgICAgICAgICAgdmFyIHRhcmdldFRvUG9zID0gc3RhcnQ7XG4gICAgICAgICAgICBpZiAobmFtZSA9PT0gXCJlbmRcIikge1xuICAgICAgICAgICAgICAgIHRhcmdldFRvUG9zID0gZW5kO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkobmFtZSA9PT0gXCJzdGFydFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBza2lwQ2hhcnMoc291cmNlTGluZXMsIHNvdXJjZUZyb21Qb3MsIGxpbmVzLCB0YXJnZXRGcm9tUG9zLCB0YXJnZXRUb1Bvcyk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCgwLCB1dGlsXzEuY29tcGFyZVBvcykoc3RhcnQsIHRhcmdldExvYy5zdGFydCkgPD0gMCkge1xuICAgICAgICAgICAgaWYgKCgwLCB1dGlsXzEuY29tcGFyZVBvcykodGFyZ2V0TG9jLmVuZCwgZW5kKSA8PSAwKSB7XG4gICAgICAgICAgICAgICAgdGFyZ2V0TG9jID0ge1xuICAgICAgICAgICAgICAgICAgICBzdGFydDogc3VidHJhY3RQb3ModGFyZ2V0TG9jLnN0YXJ0LCBzdGFydC5saW5lLCBzdGFydC5jb2x1bW4pLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IHN1YnRyYWN0UG9zKHRhcmdldExvYy5lbmQsIHN0YXJ0LmxpbmUsIHN0YXJ0LmNvbHVtbiksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICAvLyBUaGUgc291cmNlTG9jIGNhbiBzdGF5IHRoZSBzYW1lIGJlY2F1c2UgdGhlIGNvbnRlbnRzIG9mIHRoZVxuICAgICAgICAgICAgICAgIC8vIHRhcmdldExvYyBoYXZlIG5vdCBjaGFuZ2VkLlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAoKDAsIHV0aWxfMS5jb21wYXJlUG9zKShlbmQsIHRhcmdldExvYy5zdGFydCkgPD0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgc291cmNlTG9jID0ge1xuICAgICAgICAgICAgICAgICAgICBzdGFydDogc291cmNlTG9jLnN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IHNraXAoXCJlbmRcIiksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0YXJnZXRMb2MgPSB7XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBzdWJ0cmFjdFBvcyh0YXJnZXRMb2Muc3RhcnQsIHN0YXJ0LmxpbmUsIHN0YXJ0LmNvbHVtbiksXG4gICAgICAgICAgICAgICAgICAgIGVuZDogc3VidHJhY3RQb3MoZW5kLCBzdGFydC5saW5lLCBzdGFydC5jb2x1bW4pLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBpZiAoKDAsIHV0aWxfMS5jb21wYXJlUG9zKSh0YXJnZXRMb2MuZW5kLCBzdGFydCkgPD0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCgwLCB1dGlsXzEuY29tcGFyZVBvcykodGFyZ2V0TG9jLmVuZCwgZW5kKSA8PSAwKSB7XG4gICAgICAgICAgICAgICAgc291cmNlTG9jID0ge1xuICAgICAgICAgICAgICAgICAgICBzdGFydDogc2tpcChcInN0YXJ0XCIpLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IHNvdXJjZUxvYy5lbmQsXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICB0YXJnZXRMb2MgPSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFNhbWUgYXMgc3VidHJhY3RQb3Moc3RhcnQsIHN0YXJ0LmxpbmUsIHN0YXJ0LmNvbHVtbik6XG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiB7IGxpbmU6IDEsIGNvbHVtbjogMCB9LFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IHN1YnRyYWN0UG9zKHRhcmdldExvYy5lbmQsIHN0YXJ0LmxpbmUsIHN0YXJ0LmNvbHVtbiksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHNvdXJjZUxvYyA9IHtcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IHNraXAoXCJzdGFydFwiKSxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBza2lwKFwiZW5kXCIpLFxuICAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICAgdGFyZ2V0TG9jID0ge1xuICAgICAgICAgICAgICAgICAgICAvLyBTYW1lIGFzIHN1YnRyYWN0UG9zKHN0YXJ0LCBzdGFydC5saW5lLCBzdGFydC5jb2x1bW4pOlxuICAgICAgICAgICAgICAgICAgICBzdGFydDogeyBsaW5lOiAxLCBjb2x1bW46IDAgfSxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBzdWJ0cmFjdFBvcyhlbmQsIHN0YXJ0LmxpbmUsIHN0YXJ0LmNvbHVtbiksXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IE1hcHBpbmcodGhpcy5zb3VyY2VMaW5lcywgc291cmNlTG9jLCB0YXJnZXRMb2MpO1xuICAgIH07XG4gICAgTWFwcGluZy5wcm90b3R5cGUuYWRkID0gZnVuY3Rpb24gKGxpbmUsIGNvbHVtbikge1xuICAgICAgICByZXR1cm4gbmV3IE1hcHBpbmcodGhpcy5zb3VyY2VMaW5lcywgdGhpcy5zb3VyY2VMb2MsIHtcbiAgICAgICAgICAgIHN0YXJ0OiBhZGRQb3ModGhpcy50YXJnZXRMb2Muc3RhcnQsIGxpbmUsIGNvbHVtbiksXG4gICAgICAgICAgICBlbmQ6IGFkZFBvcyh0aGlzLnRhcmdldExvYy5lbmQsIGxpbmUsIGNvbHVtbiksXG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgTWFwcGluZy5wcm90b3R5cGUuc3VidHJhY3QgPSBmdW5jdGlvbiAobGluZSwgY29sdW1uKSB7XG4gICAgICAgIHJldHVybiBuZXcgTWFwcGluZyh0aGlzLnNvdXJjZUxpbmVzLCB0aGlzLnNvdXJjZUxvYywge1xuICAgICAgICAgICAgc3RhcnQ6IHN1YnRyYWN0UG9zKHRoaXMudGFyZ2V0TG9jLnN0YXJ0LCBsaW5lLCBjb2x1bW4pLFxuICAgICAgICAgICAgZW5kOiBzdWJ0cmFjdFBvcyh0aGlzLnRhcmdldExvYy5lbmQsIGxpbmUsIGNvbHVtbiksXG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgTWFwcGluZy5wcm90b3R5cGUuaW5kZW50ID0gZnVuY3Rpb24gKGJ5LCBza2lwRmlyc3RMaW5lLCBub05lZ2F0aXZlQ29sdW1ucykge1xuICAgICAgICBpZiAoc2tpcEZpcnN0TGluZSA9PT0gdm9pZCAwKSB7IHNraXBGaXJzdExpbmUgPSBmYWxzZTsgfVxuICAgICAgICBpZiAobm9OZWdhdGl2ZUNvbHVtbnMgPT09IHZvaWQgMCkgeyBub05lZ2F0aXZlQ29sdW1ucyA9IGZhbHNlOyB9XG4gICAgICAgIGlmIChieSA9PT0gMCkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHRhcmdldExvYyA9IHRoaXMudGFyZ2V0TG9jO1xuICAgICAgICB2YXIgc3RhcnRMaW5lID0gdGFyZ2V0TG9jLnN0YXJ0LmxpbmU7XG4gICAgICAgIHZhciBlbmRMaW5lID0gdGFyZ2V0TG9jLmVuZC5saW5lO1xuICAgICAgICBpZiAoc2tpcEZpcnN0TGluZSAmJiBzdGFydExpbmUgPT09IDEgJiYgZW5kTGluZSA9PT0gMSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICAgIH1cbiAgICAgICAgdGFyZ2V0TG9jID0ge1xuICAgICAgICAgICAgc3RhcnQ6IHRhcmdldExvYy5zdGFydCxcbiAgICAgICAgICAgIGVuZDogdGFyZ2V0TG9jLmVuZCxcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKCFza2lwRmlyc3RMaW5lIHx8IHN0YXJ0TGluZSA+IDEpIHtcbiAgICAgICAgICAgIHZhciBzdGFydENvbHVtbiA9IHRhcmdldExvYy5zdGFydC5jb2x1bW4gKyBieTtcbiAgICAgICAgICAgIHRhcmdldExvYy5zdGFydCA9IHtcbiAgICAgICAgICAgICAgICBsaW5lOiBzdGFydExpbmUsXG4gICAgICAgICAgICAgICAgY29sdW1uOiBub05lZ2F0aXZlQ29sdW1ucyA/IE1hdGgubWF4KDAsIHN0YXJ0Q29sdW1uKSA6IHN0YXJ0Q29sdW1uLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXNraXBGaXJzdExpbmUgfHwgZW5kTGluZSA+IDEpIHtcbiAgICAgICAgICAgIHZhciBlbmRDb2x1bW4gPSB0YXJnZXRMb2MuZW5kLmNvbHVtbiArIGJ5O1xuICAgICAgICAgICAgdGFyZ2V0TG9jLmVuZCA9IHtcbiAgICAgICAgICAgICAgICBsaW5lOiBlbmRMaW5lLFxuICAgICAgICAgICAgICAgIGNvbHVtbjogbm9OZWdhdGl2ZUNvbHVtbnMgPyBNYXRoLm1heCgwLCBlbmRDb2x1bW4pIDogZW5kQ29sdW1uLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbmV3IE1hcHBpbmcodGhpcy5zb3VyY2VMaW5lcywgdGhpcy5zb3VyY2VMb2MsIHRhcmdldExvYyk7XG4gICAgfTtcbiAgICByZXR1cm4gTWFwcGluZztcbn0oKSk7XG5leHBvcnRzLmRlZmF1bHQgPSBNYXBwaW5nO1xuZnVuY3Rpb24gYWRkUG9zKHRvUG9zLCBsaW5lLCBjb2x1bW4pIHtcbiAgICByZXR1cm4ge1xuICAgICAgICBsaW5lOiB0b1Bvcy5saW5lICsgbGluZSAtIDEsXG4gICAgICAgIGNvbHVtbjogdG9Qb3MubGluZSA9PT0gMSA/IHRvUG9zLmNvbHVtbiArIGNvbHVtbiA6IHRvUG9zLmNvbHVtbixcbiAgICB9O1xufVxuZnVuY3Rpb24gc3VidHJhY3RQb3MoZnJvbVBvcywgbGluZSwgY29sdW1uKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbGluZTogZnJvbVBvcy5saW5lIC0gbGluZSArIDEsXG4gICAgICAgIGNvbHVtbjogZnJvbVBvcy5saW5lID09PSBsaW5lID8gZnJvbVBvcy5jb2x1bW4gLSBjb2x1bW4gOiBmcm9tUG9zLmNvbHVtbixcbiAgICB9O1xufVxuZnVuY3Rpb24gc2tpcENoYXJzKHNvdXJjZUxpbmVzLCBzb3VyY2VGcm9tUG9zLCB0YXJnZXRMaW5lcywgdGFyZ2V0RnJvbVBvcywgdGFyZ2V0VG9Qb3MpIHtcbiAgICB2YXIgdGFyZ2V0Q29tcGFyaXNvbiA9ICgwLCB1dGlsXzEuY29tcGFyZVBvcykodGFyZ2V0RnJvbVBvcywgdGFyZ2V0VG9Qb3MpO1xuICAgIGlmICh0YXJnZXRDb21wYXJpc29uID09PSAwKSB7XG4gICAgICAgIC8vIFRyaXZpYWwgY2FzZTogbm8gY2hhcmFjdGVycyB0byBza2lwLlxuICAgICAgICByZXR1cm4gc291cmNlRnJvbVBvcztcbiAgICB9XG4gICAgdmFyIHNvdXJjZUN1cnNvciwgdGFyZ2V0Q3Vyc29yO1xuICAgIGlmICh0YXJnZXRDb21wYXJpc29uIDwgMCkge1xuICAgICAgICAvLyBTa2lwcGluZyBmb3J3YXJkLlxuICAgICAgICBzb3VyY2VDdXJzb3IgPVxuICAgICAgICAgICAgc291cmNlTGluZXMuc2tpcFNwYWNlcyhzb3VyY2VGcm9tUG9zKSB8fCBzb3VyY2VMaW5lcy5sYXN0UG9zKCk7XG4gICAgICAgIHRhcmdldEN1cnNvciA9XG4gICAgICAgICAgICB0YXJnZXRMaW5lcy5za2lwU3BhY2VzKHRhcmdldEZyb21Qb3MpIHx8IHRhcmdldExpbmVzLmxhc3RQb3MoKTtcbiAgICAgICAgdmFyIGxpbmVEaWZmID0gdGFyZ2V0VG9Qb3MubGluZSAtIHRhcmdldEN1cnNvci5saW5lO1xuICAgICAgICBzb3VyY2VDdXJzb3IubGluZSArPSBsaW5lRGlmZjtcbiAgICAgICAgdGFyZ2V0Q3Vyc29yLmxpbmUgKz0gbGluZURpZmY7XG4gICAgICAgIGlmIChsaW5lRGlmZiA+IDApIHtcbiAgICAgICAgICAgIC8vIElmIGp1bXBpbmcgdG8gbGF0ZXIgbGluZXMsIHJlc2V0IGNvbHVtbnMgdG8gdGhlIGJlZ2lubmluZ3NcbiAgICAgICAgICAgIC8vIG9mIHRob3NlIGxpbmVzLlxuICAgICAgICAgICAgc291cmNlQ3Vyc29yLmNvbHVtbiA9IDA7XG4gICAgICAgICAgICB0YXJnZXRDdXJzb3IuY29sdW1uID0gMDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKGxpbmVEaWZmID09PSAwKTtcbiAgICAgICAgfVxuICAgICAgICB3aGlsZSAoKDAsIHV0aWxfMS5jb21wYXJlUG9zKSh0YXJnZXRDdXJzb3IsIHRhcmdldFRvUG9zKSA8IDAgJiZcbiAgICAgICAgICAgIHRhcmdldExpbmVzLm5leHRQb3ModGFyZ2V0Q3Vyc29yLCB0cnVlKSkge1xuICAgICAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkoc291cmNlTGluZXMubmV4dFBvcyhzb3VyY2VDdXJzb3IsIHRydWUpKTtcbiAgICAgICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHNvdXJjZUxpbmVzLmNoYXJBdChzb3VyY2VDdXJzb3IpID09PSB0YXJnZXRMaW5lcy5jaGFyQXQodGFyZ2V0Q3Vyc29yKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vIFNraXBwaW5nIGJhY2t3YXJkLlxuICAgICAgICBzb3VyY2VDdXJzb3IgPVxuICAgICAgICAgICAgc291cmNlTGluZXMuc2tpcFNwYWNlcyhzb3VyY2VGcm9tUG9zLCB0cnVlKSB8fCBzb3VyY2VMaW5lcy5maXJzdFBvcygpO1xuICAgICAgICB0YXJnZXRDdXJzb3IgPVxuICAgICAgICAgICAgdGFyZ2V0TGluZXMuc2tpcFNwYWNlcyh0YXJnZXRGcm9tUG9zLCB0cnVlKSB8fCB0YXJnZXRMaW5lcy5maXJzdFBvcygpO1xuICAgICAgICB2YXIgbGluZURpZmYgPSB0YXJnZXRUb1Bvcy5saW5lIC0gdGFyZ2V0Q3Vyc29yLmxpbmU7XG4gICAgICAgIHNvdXJjZUN1cnNvci5saW5lICs9IGxpbmVEaWZmO1xuICAgICAgICB0YXJnZXRDdXJzb3IubGluZSArPSBsaW5lRGlmZjtcbiAgICAgICAgaWYgKGxpbmVEaWZmIDwgMCkge1xuICAgICAgICAgICAgLy8gSWYganVtcGluZyB0byBlYXJsaWVyIGxpbmVzLCByZXNldCBjb2x1bW5zIHRvIHRoZSBlbmRzIG9mXG4gICAgICAgICAgICAvLyB0aG9zZSBsaW5lcy5cbiAgICAgICAgICAgIHNvdXJjZUN1cnNvci5jb2x1bW4gPSBzb3VyY2VMaW5lcy5nZXRMaW5lTGVuZ3RoKHNvdXJjZUN1cnNvci5saW5lKTtcbiAgICAgICAgICAgIHRhcmdldEN1cnNvci5jb2x1bW4gPSB0YXJnZXRMaW5lcy5nZXRMaW5lTGVuZ3RoKHRhcmdldEN1cnNvci5saW5lKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKGxpbmVEaWZmID09PSAwKTtcbiAgICAgICAgfVxuICAgICAgICB3aGlsZSAoKDAsIHV0aWxfMS5jb21wYXJlUG9zKSh0YXJnZXRUb1BvcywgdGFyZ2V0Q3Vyc29yKSA8IDAgJiZcbiAgICAgICAgICAgIHRhcmdldExpbmVzLnByZXZQb3ModGFyZ2V0Q3Vyc29yLCB0cnVlKSkge1xuICAgICAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkoc291cmNlTGluZXMucHJldlBvcyhzb3VyY2VDdXJzb3IsIHRydWUpKTtcbiAgICAgICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHNvdXJjZUxpbmVzLmNoYXJBdChzb3VyY2VDdXJzb3IpID09PSB0YXJnZXRMaW5lcy5jaGFyQXQodGFyZ2V0Q3Vyc29yKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHNvdXJjZUN1cnNvcjtcbn1cbiIsICJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMuY29uY2F0ID0gZXhwb3J0cy5mcm9tU3RyaW5nID0gZXhwb3J0cy5jb3VudFNwYWNlcyA9IGV4cG9ydHMuTGluZXMgPSB2b2lkIDA7XG52YXIgdHNsaWJfMSA9IHJlcXVpcmUoXCJ0c2xpYlwiKTtcbnZhciB0aW55X2ludmFyaWFudF8xID0gdHNsaWJfMS5fX2ltcG9ydERlZmF1bHQocmVxdWlyZShcInRpbnktaW52YXJpYW50XCIpKTtcbnZhciBzb3VyY2VfbWFwXzEgPSB0c2xpYl8xLl9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwic291cmNlLW1hcFwiKSk7XG52YXIgb3B0aW9uc18xID0gcmVxdWlyZShcIi4vb3B0aW9uc1wiKTtcbnZhciB1dGlsXzEgPSByZXF1aXJlKFwiLi91dGlsXCIpO1xudmFyIG1hcHBpbmdfMSA9IHRzbGliXzEuX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCIuL21hcHBpbmdcIikpO1xudmFyIExpbmVzID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKCkge1xuICAgIGZ1bmN0aW9uIExpbmVzKGluZm9zLCBzb3VyY2VGaWxlTmFtZSkge1xuICAgICAgICBpZiAoc291cmNlRmlsZU5hbWUgPT09IHZvaWQgMCkgeyBzb3VyY2VGaWxlTmFtZSA9IG51bGw7IH1cbiAgICAgICAgdGhpcy5pbmZvcyA9IGluZm9zO1xuICAgICAgICB0aGlzLm1hcHBpbmdzID0gW107XG4gICAgICAgIHRoaXMuY2FjaGVkU291cmNlTWFwID0gbnVsbDtcbiAgICAgICAgdGhpcy5jYWNoZWRUYWJXaWR0aCA9IHZvaWQgMDtcbiAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkoaW5mb3MubGVuZ3RoID4gMCk7XG4gICAgICAgIHRoaXMubGVuZ3RoID0gaW5mb3MubGVuZ3RoO1xuICAgICAgICB0aGlzLm5hbWUgPSBzb3VyY2VGaWxlTmFtZSB8fCBudWxsO1xuICAgICAgICBpZiAodGhpcy5uYW1lKSB7XG4gICAgICAgICAgICB0aGlzLm1hcHBpbmdzLnB1c2gobmV3IG1hcHBpbmdfMS5kZWZhdWx0KHRoaXMsIHtcbiAgICAgICAgICAgICAgICBzdGFydDogdGhpcy5maXJzdFBvcygpLFxuICAgICAgICAgICAgICAgIGVuZDogdGhpcy5sYXN0UG9zKCksXG4gICAgICAgICAgICB9KSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgTGluZXMucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gKG9wdGlvbnMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2xpY2VTdHJpbmcodGhpcy5maXJzdFBvcygpLCB0aGlzLmxhc3RQb3MoKSwgb3B0aW9ucyk7XG4gICAgfTtcbiAgICBMaW5lcy5wcm90b3R5cGUuZ2V0U291cmNlTWFwID0gZnVuY3Rpb24gKHNvdXJjZU1hcE5hbWUsIHNvdXJjZVJvb3QpIHtcbiAgICAgICAgaWYgKCFzb3VyY2VNYXBOYW1lKSB7XG4gICAgICAgICAgICAvLyBBbHRob3VnaCB3ZSBjb3VsZCBtYWtlIHVwIGEgbmFtZSBvciBnZW5lcmF0ZSBhbiBhbm9ueW1vdXNcbiAgICAgICAgICAgIC8vIHNvdXJjZSBtYXAsIGluc3RlYWQgd2UgYXNzdW1lIHRoYXQgYW55IGNvbnN1bWVyIHdobyBkb2VzIG5vdFxuICAgICAgICAgICAgLy8gcHJvdmlkZSBhIG5hbWUgZG9lcyBub3QgYWN0dWFsbHkgd2FudCBhIHNvdXJjZSBtYXAuXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB2YXIgdGFyZ2V0TGluZXMgPSB0aGlzO1xuICAgICAgICBmdW5jdGlvbiB1cGRhdGVKU09OKGpzb24pIHtcbiAgICAgICAgICAgIGpzb24gPSBqc29uIHx8IHt9O1xuICAgICAgICAgICAganNvbi5maWxlID0gc291cmNlTWFwTmFtZTtcbiAgICAgICAgICAgIGlmIChzb3VyY2VSb290KSB7XG4gICAgICAgICAgICAgICAganNvbi5zb3VyY2VSb290ID0gc291cmNlUm9vdDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBqc29uO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0YXJnZXRMaW5lcy5jYWNoZWRTb3VyY2VNYXApIHtcbiAgICAgICAgICAgIC8vIFNpbmNlIExpbmVzIG9iamVjdHMgYXJlIGltbXV0YWJsZSwgd2UgY2FuIHJldXNlIGFueSBzb3VyY2UgbWFwXG4gICAgICAgICAgICAvLyB0aGF0IHdhcyBwcmV2aW91c2x5IGdlbmVyYXRlZC4gTmV2ZXJ0aGVsZXNzLCB3ZSByZXR1cm4gYSBuZXdcbiAgICAgICAgICAgIC8vIEpTT04gb2JqZWN0IGhlcmUgdG8gcHJvdGVjdCB0aGUgY2FjaGVkIHNvdXJjZSBtYXAgZnJvbSBvdXRzaWRlXG4gICAgICAgICAgICAvLyBtb2RpZmljYXRpb24uXG4gICAgICAgICAgICByZXR1cm4gdXBkYXRlSlNPTih0YXJnZXRMaW5lcy5jYWNoZWRTb3VyY2VNYXAudG9KU09OKCkpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBzbWcgPSBuZXcgc291cmNlX21hcF8xLmRlZmF1bHQuU291cmNlTWFwR2VuZXJhdG9yKHVwZGF0ZUpTT04oKSk7XG4gICAgICAgIHZhciBzb3VyY2VzVG9Db250ZW50cyA9IHt9O1xuICAgICAgICB0YXJnZXRMaW5lcy5tYXBwaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChtYXBwaW5nKSB7XG4gICAgICAgICAgICB2YXIgc291cmNlQ3Vyc29yID0gbWFwcGluZy5zb3VyY2VMaW5lcy5za2lwU3BhY2VzKG1hcHBpbmcuc291cmNlTG9jLnN0YXJ0KSB8fFxuICAgICAgICAgICAgICAgIG1hcHBpbmcuc291cmNlTGluZXMubGFzdFBvcygpO1xuICAgICAgICAgICAgdmFyIHRhcmdldEN1cnNvciA9IHRhcmdldExpbmVzLnNraXBTcGFjZXMobWFwcGluZy50YXJnZXRMb2Muc3RhcnQpIHx8XG4gICAgICAgICAgICAgICAgdGFyZ2V0TGluZXMubGFzdFBvcygpO1xuICAgICAgICAgICAgd2hpbGUgKCgwLCB1dGlsXzEuY29tcGFyZVBvcykoc291cmNlQ3Vyc29yLCBtYXBwaW5nLnNvdXJjZUxvYy5lbmQpIDwgMCAmJlxuICAgICAgICAgICAgICAgICgwLCB1dGlsXzEuY29tcGFyZVBvcykodGFyZ2V0Q3Vyc29yLCBtYXBwaW5nLnRhcmdldExvYy5lbmQpIDwgMCkge1xuICAgICAgICAgICAgICAgIHZhciBzb3VyY2VDaGFyID0gbWFwcGluZy5zb3VyY2VMaW5lcy5jaGFyQXQoc291cmNlQ3Vyc29yKTtcbiAgICAgICAgICAgICAgICB2YXIgdGFyZ2V0Q2hhciA9IHRhcmdldExpbmVzLmNoYXJBdCh0YXJnZXRDdXJzb3IpO1xuICAgICAgICAgICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHNvdXJjZUNoYXIgPT09IHRhcmdldENoYXIpO1xuICAgICAgICAgICAgICAgIHZhciBzb3VyY2VOYW1lID0gbWFwcGluZy5zb3VyY2VMaW5lcy5uYW1lO1xuICAgICAgICAgICAgICAgIC8vIEFkZCBtYXBwaW5ncyBvbmUgY2hhcmFjdGVyIGF0IGEgdGltZSBmb3IgbWF4aW11bSByZXNvbHV0aW9uLlxuICAgICAgICAgICAgICAgIHNtZy5hZGRNYXBwaW5nKHtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlOiBzb3VyY2VOYW1lLFxuICAgICAgICAgICAgICAgICAgICBvcmlnaW5hbDogeyBsaW5lOiBzb3VyY2VDdXJzb3IubGluZSwgY29sdW1uOiBzb3VyY2VDdXJzb3IuY29sdW1uIH0sXG4gICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlZDogeyBsaW5lOiB0YXJnZXRDdXJzb3IubGluZSwgY29sdW1uOiB0YXJnZXRDdXJzb3IuY29sdW1uIH0sXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgaWYgKCFoYXNPd24uY2FsbChzb3VyY2VzVG9Db250ZW50cywgc291cmNlTmFtZSkpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHNvdXJjZUNvbnRlbnQgPSBtYXBwaW5nLnNvdXJjZUxpbmVzLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgIHNtZy5zZXRTb3VyY2VDb250ZW50KHNvdXJjZU5hbWUsIHNvdXJjZUNvbnRlbnQpO1xuICAgICAgICAgICAgICAgICAgICBzb3VyY2VzVG9Db250ZW50c1tzb3VyY2VOYW1lXSA9IHNvdXJjZUNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRhcmdldExpbmVzLm5leHRQb3ModGFyZ2V0Q3Vyc29yLCB0cnVlKTtcbiAgICAgICAgICAgICAgICBtYXBwaW5nLnNvdXJjZUxpbmVzLm5leHRQb3Moc291cmNlQ3Vyc29yLCB0cnVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHRhcmdldExpbmVzLmNhY2hlZFNvdXJjZU1hcCA9IHNtZztcbiAgICAgICAgcmV0dXJuIHNtZy50b0pTT04oKTtcbiAgICB9O1xuICAgIExpbmVzLnByb3RvdHlwZS5ib290c3RyYXBDaGFyQXQgPSBmdW5jdGlvbiAocG9zKSB7XG4gICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHR5cGVvZiBwb3MgPT09IFwib2JqZWN0XCIpO1xuICAgICAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KSh0eXBlb2YgcG9zLmxpbmUgPT09IFwibnVtYmVyXCIpO1xuICAgICAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KSh0eXBlb2YgcG9zLmNvbHVtbiA9PT0gXCJudW1iZXJcIik7XG4gICAgICAgIHZhciBsaW5lID0gcG9zLmxpbmUsIGNvbHVtbiA9IHBvcy5jb2x1bW4sIHN0cmluZ3MgPSB0aGlzLnRvU3RyaW5nKCkuc3BsaXQobGluZVRlcm1pbmF0b3JTZXFFeHApLCBzdHJpbmcgPSBzdHJpbmdzW2xpbmUgLSAxXTtcbiAgICAgICAgaWYgKHR5cGVvZiBzdHJpbmcgPT09IFwidW5kZWZpbmVkXCIpXG4gICAgICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgICAgaWYgKGNvbHVtbiA9PT0gc3RyaW5nLmxlbmd0aCAmJiBsaW5lIDwgc3RyaW5ncy5sZW5ndGgpXG4gICAgICAgICAgICByZXR1cm4gXCJcXG5cIjtcbiAgICAgICAgaWYgKGNvbHVtbiA+PSBzdHJpbmcubGVuZ3RoKVxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgIHJldHVybiBzdHJpbmcuY2hhckF0KGNvbHVtbik7XG4gICAgfTtcbiAgICBMaW5lcy5wcm90b3R5cGUuY2hhckF0ID0gZnVuY3Rpb24gKHBvcykge1xuICAgICAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KSh0eXBlb2YgcG9zID09PSBcIm9iamVjdFwiKTtcbiAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkodHlwZW9mIHBvcy5saW5lID09PSBcIm51bWJlclwiKTtcbiAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkodHlwZW9mIHBvcy5jb2x1bW4gPT09IFwibnVtYmVyXCIpO1xuICAgICAgICB2YXIgbGluZSA9IHBvcy5saW5lLCBjb2x1bW4gPSBwb3MuY29sdW1uLCBzZWNyZXQgPSB0aGlzLCBpbmZvcyA9IHNlY3JldC5pbmZvcywgaW5mbyA9IGluZm9zW2xpbmUgLSAxXSwgYyA9IGNvbHVtbjtcbiAgICAgICAgaWYgKHR5cGVvZiBpbmZvID09PSBcInVuZGVmaW5lZFwiIHx8IGMgPCAwKVxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgIHZhciBpbmRlbnQgPSB0aGlzLmdldEluZGVudEF0KGxpbmUpO1xuICAgICAgICBpZiAoYyA8IGluZGVudClcbiAgICAgICAgICAgIHJldHVybiBcIiBcIjtcbiAgICAgICAgYyArPSBpbmZvLnNsaWNlU3RhcnQgLSBpbmRlbnQ7XG4gICAgICAgIGlmIChjID09PSBpbmZvLnNsaWNlRW5kICYmIGxpbmUgPCB0aGlzLmxlbmd0aClcbiAgICAgICAgICAgIHJldHVybiBcIlxcblwiO1xuICAgICAgICBpZiAoYyA+PSBpbmZvLnNsaWNlRW5kKVxuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgIHJldHVybiBpbmZvLmxpbmUuY2hhckF0KGMpO1xuICAgIH07XG4gICAgTGluZXMucHJvdG90eXBlLnN0cmlwTWFyZ2luID0gZnVuY3Rpb24gKHdpZHRoLCBza2lwRmlyc3RMaW5lKSB7XG4gICAgICAgIGlmICh3aWR0aCA9PT0gMClcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KSh3aWR0aCA+IDAsIFwibmVnYXRpdmUgbWFyZ2luOiBcIiArIHdpZHRoKTtcbiAgICAgICAgaWYgKHNraXBGaXJzdExpbmUgJiYgdGhpcy5sZW5ndGggPT09IDEpXG4gICAgICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgICAgdmFyIGxpbmVzID0gbmV3IExpbmVzKHRoaXMuaW5mb3MubWFwKGZ1bmN0aW9uIChpbmZvLCBpKSB7XG4gICAgICAgICAgICBpZiAoaW5mby5saW5lICYmIChpID4gMCB8fCAhc2tpcEZpcnN0TGluZSkpIHtcbiAgICAgICAgICAgICAgICBpbmZvID0gdHNsaWJfMS5fX2Fzc2lnbih0c2xpYl8xLl9fYXNzaWduKHt9LCBpbmZvKSwgeyBpbmRlbnQ6IE1hdGgubWF4KDAsIGluZm8uaW5kZW50IC0gd2lkdGgpIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGluZm87XG4gICAgICAgIH0pKTtcbiAgICAgICAgaWYgKHRoaXMubWFwcGluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgdmFyIG5ld01hcHBpbmdzXzEgPSBsaW5lcy5tYXBwaW5ncztcbiAgICAgICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKG5ld01hcHBpbmdzXzEubGVuZ3RoID09PSAwKTtcbiAgICAgICAgICAgIHRoaXMubWFwcGluZ3MuZm9yRWFjaChmdW5jdGlvbiAobWFwcGluZykge1xuICAgICAgICAgICAgICAgIG5ld01hcHBpbmdzXzEucHVzaChtYXBwaW5nLmluZGVudCh3aWR0aCwgc2tpcEZpcnN0TGluZSwgdHJ1ZSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxpbmVzO1xuICAgIH07XG4gICAgTGluZXMucHJvdG90eXBlLmluZGVudCA9IGZ1bmN0aW9uIChieSkge1xuICAgICAgICBpZiAoYnkgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIHZhciBsaW5lcyA9IG5ldyBMaW5lcyh0aGlzLmluZm9zLm1hcChmdW5jdGlvbiAoaW5mbykge1xuICAgICAgICAgICAgaWYgKGluZm8ubGluZSAmJiAhaW5mby5sb2NrZWQpIHtcbiAgICAgICAgICAgICAgICBpbmZvID0gdHNsaWJfMS5fX2Fzc2lnbih0c2xpYl8xLl9fYXNzaWduKHt9LCBpbmZvKSwgeyBpbmRlbnQ6IGluZm8uaW5kZW50ICsgYnkgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaW5mbztcbiAgICAgICAgfSkpO1xuICAgICAgICBpZiAodGhpcy5tYXBwaW5ncy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB2YXIgbmV3TWFwcGluZ3NfMiA9IGxpbmVzLm1hcHBpbmdzO1xuICAgICAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkobmV3TWFwcGluZ3NfMi5sZW5ndGggPT09IDApO1xuICAgICAgICAgICAgdGhpcy5tYXBwaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChtYXBwaW5nKSB7XG4gICAgICAgICAgICAgICAgbmV3TWFwcGluZ3NfMi5wdXNoKG1hcHBpbmcuaW5kZW50KGJ5KSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGluZXM7XG4gICAgfTtcbiAgICBMaW5lcy5wcm90b3R5cGUuaW5kZW50VGFpbCA9IGZ1bmN0aW9uIChieSkge1xuICAgICAgICBpZiAoYnkgPT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIHZhciBsaW5lcyA9IG5ldyBMaW5lcyh0aGlzLmluZm9zLm1hcChmdW5jdGlvbiAoaW5mbywgaSkge1xuICAgICAgICAgICAgaWYgKGkgPiAwICYmIGluZm8ubGluZSAmJiAhaW5mby5sb2NrZWQpIHtcbiAgICAgICAgICAgICAgICBpbmZvID0gdHNsaWJfMS5fX2Fzc2lnbih0c2xpYl8xLl9fYXNzaWduKHt9LCBpbmZvKSwgeyBpbmRlbnQ6IGluZm8uaW5kZW50ICsgYnkgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gaW5mbztcbiAgICAgICAgfSkpO1xuICAgICAgICBpZiAodGhpcy5tYXBwaW5ncy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB2YXIgbmV3TWFwcGluZ3NfMyA9IGxpbmVzLm1hcHBpbmdzO1xuICAgICAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkobmV3TWFwcGluZ3NfMy5sZW5ndGggPT09IDApO1xuICAgICAgICAgICAgdGhpcy5tYXBwaW5ncy5mb3JFYWNoKGZ1bmN0aW9uIChtYXBwaW5nKSB7XG4gICAgICAgICAgICAgICAgbmV3TWFwcGluZ3NfMy5wdXNoKG1hcHBpbmcuaW5kZW50KGJ5LCB0cnVlKSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGluZXM7XG4gICAgfTtcbiAgICBMaW5lcy5wcm90b3R5cGUubG9ja0luZGVudFRhaWwgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0aGlzLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXcgTGluZXModGhpcy5pbmZvcy5tYXAoZnVuY3Rpb24gKGluZm8sIGkpIHsgcmV0dXJuICh0c2xpYl8xLl9fYXNzaWduKHRzbGliXzEuX19hc3NpZ24oe30sIGluZm8pLCB7IGxvY2tlZDogaSA+IDAgfSkpOyB9KSk7XG4gICAgfTtcbiAgICBMaW5lcy5wcm90b3R5cGUuZ2V0SW5kZW50QXQgPSBmdW5jdGlvbiAobGluZSkge1xuICAgICAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KShsaW5lID49IDEsIFwibm8gbGluZSBcIiArIGxpbmUgKyBcIiAobGluZSBudW1iZXJzIHN0YXJ0IGZyb20gMSlcIik7XG4gICAgICAgIHJldHVybiBNYXRoLm1heCh0aGlzLmluZm9zW2xpbmUgLSAxXS5pbmRlbnQsIDApO1xuICAgIH07XG4gICAgTGluZXMucHJvdG90eXBlLmd1ZXNzVGFiV2lkdGggPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jYWNoZWRUYWJXaWR0aCA9PT0gXCJudW1iZXJcIikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FjaGVkVGFiV2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGNvdW50cyA9IFtdOyAvLyBTcGFyc2UgYXJyYXkuXG4gICAgICAgIHZhciBsYXN0SW5kZW50ID0gMDtcbiAgICAgICAgZm9yICh2YXIgbGluZSA9IDEsIGxhc3QgPSB0aGlzLmxlbmd0aDsgbGluZSA8PSBsYXN0OyArK2xpbmUpIHtcbiAgICAgICAgICAgIHZhciBpbmZvID0gdGhpcy5pbmZvc1tsaW5lIC0gMV07XG4gICAgICAgICAgICB2YXIgc2xpY2VkID0gaW5mby5saW5lLnNsaWNlKGluZm8uc2xpY2VTdGFydCwgaW5mby5zbGljZUVuZCk7XG4gICAgICAgICAgICAvLyBXaGl0ZXNwYWNlLW9ubHkgbGluZXMgZG9uJ3QgdGVsbCB1cyBtdWNoIGFib3V0IHRoZSBsaWtlbHkgdGFiXG4gICAgICAgICAgICAvLyB3aWR0aCBvZiB0aGlzIGNvZGUuXG4gICAgICAgICAgICBpZiAoaXNPbmx5V2hpdGVzcGFjZShzbGljZWQpKSB7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgZGlmZiA9IE1hdGguYWJzKGluZm8uaW5kZW50IC0gbGFzdEluZGVudCk7XG4gICAgICAgICAgICBjb3VudHNbZGlmZl0gPSB+fmNvdW50c1tkaWZmXSArIDE7XG4gICAgICAgICAgICBsYXN0SW5kZW50ID0gaW5mby5pbmRlbnQ7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIG1heENvdW50ID0gLTE7XG4gICAgICAgIHZhciByZXN1bHQgPSAyO1xuICAgICAgICBmb3IgKHZhciB0YWJXaWR0aCA9IDE7IHRhYldpZHRoIDwgY291bnRzLmxlbmd0aDsgdGFiV2lkdGggKz0gMSkge1xuICAgICAgICAgICAgaWYgKGhhc093bi5jYWxsKGNvdW50cywgdGFiV2lkdGgpICYmIGNvdW50c1t0YWJXaWR0aF0gPiBtYXhDb3VudCkge1xuICAgICAgICAgICAgICAgIG1heENvdW50ID0gY291bnRzW3RhYldpZHRoXTtcbiAgICAgICAgICAgICAgICByZXN1bHQgPSB0YWJXaWR0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKHRoaXMuY2FjaGVkVGFiV2lkdGggPSByZXN1bHQpO1xuICAgIH07XG4gICAgLy8gRGV0ZXJtaW5lIGlmIHRoZSBsaXN0IG9mIGxpbmVzIGhhcyBhIGZpcnN0IGxpbmUgdGhhdCBzdGFydHMgd2l0aCBhIC8vXG4gICAgLy8gb3IgLyogY29tbWVudC4gSWYgdGhpcyBpcyB0aGUgY2FzZSwgdGhlIGNvZGUgbWF5IG5lZWQgdG8gYmUgd3JhcHBlZCBpblxuICAgIC8vIHBhcmVucyB0byBhdm9pZCBBU0kgaXNzdWVzLlxuICAgIExpbmVzLnByb3RvdHlwZS5zdGFydHNXaXRoQ29tbWVudCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHRoaXMuaW5mb3MubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGZpcnN0TGluZUluZm8gPSB0aGlzLmluZm9zWzBdLCBzbGljZVN0YXJ0ID0gZmlyc3RMaW5lSW5mby5zbGljZVN0YXJ0LCBzbGljZUVuZCA9IGZpcnN0TGluZUluZm8uc2xpY2VFbmQsIGZpcnN0TGluZSA9IGZpcnN0TGluZUluZm8ubGluZS5zbGljZShzbGljZVN0YXJ0LCBzbGljZUVuZCkudHJpbSgpO1xuICAgICAgICByZXR1cm4gKGZpcnN0TGluZS5sZW5ndGggPT09IDAgfHxcbiAgICAgICAgICAgIGZpcnN0TGluZS5zbGljZSgwLCAyKSA9PT0gXCIvL1wiIHx8XG4gICAgICAgICAgICBmaXJzdExpbmUuc2xpY2UoMCwgMikgPT09IFwiLypcIik7XG4gICAgfTtcbiAgICBMaW5lcy5wcm90b3R5cGUuaXNPbmx5V2hpdGVzcGFjZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIGlzT25seVdoaXRlc3BhY2UodGhpcy50b1N0cmluZygpKTtcbiAgICB9O1xuICAgIExpbmVzLnByb3RvdHlwZS5pc1ByZWNlZGVkT25seUJ5V2hpdGVzcGFjZSA9IGZ1bmN0aW9uIChwb3MpIHtcbiAgICAgICAgdmFyIGluZm8gPSB0aGlzLmluZm9zW3Bvcy5saW5lIC0gMV07XG4gICAgICAgIHZhciBpbmRlbnQgPSBNYXRoLm1heChpbmZvLmluZGVudCwgMCk7XG4gICAgICAgIHZhciBkaWZmID0gcG9zLmNvbHVtbiAtIGluZGVudDtcbiAgICAgICAgaWYgKGRpZmYgPD0gMCkge1xuICAgICAgICAgICAgLy8gSWYgcG9zLmNvbHVtbiBkb2VzIG5vdCBleGNlZWQgdGhlIGluZGVudGF0aW9uIGFtb3VudCwgdGhlblxuICAgICAgICAgICAgLy8gdGhlcmUgbXVzdCBiZSBvbmx5IHdoaXRlc3BhY2UgYmVmb3JlIGl0LlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHN0YXJ0ID0gaW5mby5zbGljZVN0YXJ0O1xuICAgICAgICB2YXIgZW5kID0gTWF0aC5taW4oc3RhcnQgKyBkaWZmLCBpbmZvLnNsaWNlRW5kKTtcbiAgICAgICAgdmFyIHByZWZpeCA9IGluZm8ubGluZS5zbGljZShzdGFydCwgZW5kKTtcbiAgICAgICAgcmV0dXJuIGlzT25seVdoaXRlc3BhY2UocHJlZml4KTtcbiAgICB9O1xuICAgIExpbmVzLnByb3RvdHlwZS5nZXRMaW5lTGVuZ3RoID0gZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgICAgdmFyIGluZm8gPSB0aGlzLmluZm9zW2xpbmUgLSAxXTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0SW5kZW50QXQobGluZSkgKyBpbmZvLnNsaWNlRW5kIC0gaW5mby5zbGljZVN0YXJ0O1xuICAgIH07XG4gICAgTGluZXMucHJvdG90eXBlLm5leHRQb3MgPSBmdW5jdGlvbiAocG9zLCBza2lwU3BhY2VzKSB7XG4gICAgICAgIGlmIChza2lwU3BhY2VzID09PSB2b2lkIDApIHsgc2tpcFNwYWNlcyA9IGZhbHNlOyB9XG4gICAgICAgIHZhciBsID0gTWF0aC5tYXgocG9zLmxpbmUsIDApLCBjID0gTWF0aC5tYXgocG9zLmNvbHVtbiwgMCk7XG4gICAgICAgIGlmIChjIDwgdGhpcy5nZXRMaW5lTGVuZ3RoKGwpKSB7XG4gICAgICAgICAgICBwb3MuY29sdW1uICs9IDE7XG4gICAgICAgICAgICByZXR1cm4gc2tpcFNwYWNlcyA/ICEhdGhpcy5za2lwU3BhY2VzKHBvcywgZmFsc2UsIHRydWUpIDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobCA8IHRoaXMubGVuZ3RoKSB7XG4gICAgICAgICAgICBwb3MubGluZSArPSAxO1xuICAgICAgICAgICAgcG9zLmNvbHVtbiA9IDA7XG4gICAgICAgICAgICByZXR1cm4gc2tpcFNwYWNlcyA/ICEhdGhpcy5za2lwU3BhY2VzKHBvcywgZmFsc2UsIHRydWUpIDogdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfTtcbiAgICBMaW5lcy5wcm90b3R5cGUucHJldlBvcyA9IGZ1bmN0aW9uIChwb3MsIHNraXBTcGFjZXMpIHtcbiAgICAgICAgaWYgKHNraXBTcGFjZXMgPT09IHZvaWQgMCkgeyBza2lwU3BhY2VzID0gZmFsc2U7IH1cbiAgICAgICAgdmFyIGwgPSBwb3MubGluZSwgYyA9IHBvcy5jb2x1bW47XG4gICAgICAgIGlmIChjIDwgMSkge1xuICAgICAgICAgICAgbCAtPSAxO1xuICAgICAgICAgICAgaWYgKGwgPCAxKVxuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIGMgPSB0aGlzLmdldExpbmVMZW5ndGgobCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBjID0gTWF0aC5taW4oYyAtIDEsIHRoaXMuZ2V0TGluZUxlbmd0aChsKSk7XG4gICAgICAgIH1cbiAgICAgICAgcG9zLmxpbmUgPSBsO1xuICAgICAgICBwb3MuY29sdW1uID0gYztcbiAgICAgICAgcmV0dXJuIHNraXBTcGFjZXMgPyAhIXRoaXMuc2tpcFNwYWNlcyhwb3MsIHRydWUsIHRydWUpIDogdHJ1ZTtcbiAgICB9O1xuICAgIExpbmVzLnByb3RvdHlwZS5maXJzdFBvcyA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgLy8gVHJpdmlhbCwgYnV0IHByb3ZpZGVkIGZvciBjb21wbGV0ZW5lc3MuXG4gICAgICAgIHJldHVybiB7IGxpbmU6IDEsIGNvbHVtbjogMCB9O1xuICAgIH07XG4gICAgTGluZXMucHJvdG90eXBlLmxhc3RQb3MgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBsaW5lOiB0aGlzLmxlbmd0aCxcbiAgICAgICAgICAgIGNvbHVtbjogdGhpcy5nZXRMaW5lTGVuZ3RoKHRoaXMubGVuZ3RoKSxcbiAgICAgICAgfTtcbiAgICB9O1xuICAgIExpbmVzLnByb3RvdHlwZS5za2lwU3BhY2VzID0gZnVuY3Rpb24gKHBvcywgYmFja3dhcmQsIG1vZGlmeUluUGxhY2UpIHtcbiAgICAgICAgaWYgKGJhY2t3YXJkID09PSB2b2lkIDApIHsgYmFja3dhcmQgPSBmYWxzZTsgfVxuICAgICAgICBpZiAobW9kaWZ5SW5QbGFjZSA9PT0gdm9pZCAwKSB7IG1vZGlmeUluUGxhY2UgPSBmYWxzZTsgfVxuICAgICAgICBpZiAocG9zKSB7XG4gICAgICAgICAgICBwb3MgPSBtb2RpZnlJblBsYWNlXG4gICAgICAgICAgICAgICAgPyBwb3NcbiAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgbGluZTogcG9zLmxpbmUsXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbjogcG9zLmNvbHVtbixcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGJhY2t3YXJkKSB7XG4gICAgICAgICAgICBwb3MgPSB0aGlzLmxhc3RQb3MoKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHBvcyA9IHRoaXMuZmlyc3RQb3MoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYmFja3dhcmQpIHtcbiAgICAgICAgICAgIHdoaWxlICh0aGlzLnByZXZQb3MocG9zKSkge1xuICAgICAgICAgICAgICAgIGlmICghaXNPbmx5V2hpdGVzcGFjZSh0aGlzLmNoYXJBdChwb3MpKSAmJiB0aGlzLm5leHRQb3MocG9zKSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcG9zO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgd2hpbGUgKGlzT25seVdoaXRlc3BhY2UodGhpcy5jaGFyQXQocG9zKSkpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMubmV4dFBvcyhwb3MpKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBwb3M7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIExpbmVzLnByb3RvdHlwZS50cmltTGVmdCA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdmFyIHBvcyA9IHRoaXMuc2tpcFNwYWNlcyh0aGlzLmZpcnN0UG9zKCksIGZhbHNlLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIHBvcyA/IHRoaXMuc2xpY2UocG9zKSA6IGVtcHR5TGluZXM7XG4gICAgfTtcbiAgICBMaW5lcy5wcm90b3R5cGUudHJpbVJpZ2h0ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgcG9zID0gdGhpcy5za2lwU3BhY2VzKHRoaXMubGFzdFBvcygpLCB0cnVlLCB0cnVlKTtcbiAgICAgICAgcmV0dXJuIHBvcyA/IHRoaXMuc2xpY2UodGhpcy5maXJzdFBvcygpLCBwb3MpIDogZW1wdHlMaW5lcztcbiAgICB9O1xuICAgIExpbmVzLnByb3RvdHlwZS50cmltID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB2YXIgc3RhcnQgPSB0aGlzLnNraXBTcGFjZXModGhpcy5maXJzdFBvcygpLCBmYWxzZSwgdHJ1ZSk7XG4gICAgICAgIGlmIChzdGFydCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIGVtcHR5TGluZXM7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGVuZCA9IHRoaXMuc2tpcFNwYWNlcyh0aGlzLmxhc3RQb3MoKSwgdHJ1ZSwgdHJ1ZSk7XG4gICAgICAgIGlmIChlbmQgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJldHVybiBlbXB0eUxpbmVzO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnNsaWNlKHN0YXJ0LCBlbmQpO1xuICAgIH07XG4gICAgTGluZXMucHJvdG90eXBlLmVhY2hQb3MgPSBmdW5jdGlvbiAoY2FsbGJhY2ssIHN0YXJ0UG9zLCBza2lwU3BhY2VzKSB7XG4gICAgICAgIGlmIChzdGFydFBvcyA9PT0gdm9pZCAwKSB7IHN0YXJ0UG9zID0gdGhpcy5maXJzdFBvcygpOyB9XG4gICAgICAgIGlmIChza2lwU3BhY2VzID09PSB2b2lkIDApIHsgc2tpcFNwYWNlcyA9IGZhbHNlOyB9XG4gICAgICAgIHZhciBwb3MgPSB0aGlzLmZpcnN0UG9zKCk7XG4gICAgICAgIGlmIChzdGFydFBvcykge1xuICAgICAgICAgICAgKHBvcy5saW5lID0gc3RhcnRQb3MubGluZSksIChwb3MuY29sdW1uID0gc3RhcnRQb3MuY29sdW1uKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc2tpcFNwYWNlcyAmJiAhdGhpcy5za2lwU3BhY2VzKHBvcywgZmFsc2UsIHRydWUpKSB7XG4gICAgICAgICAgICByZXR1cm47IC8vIEVuY291bnRlcmVkIG5vdGhpbmcgYnV0IHNwYWNlcy5cbiAgICAgICAgfVxuICAgICAgICBkb1xuICAgICAgICAgICAgY2FsbGJhY2suY2FsbCh0aGlzLCBwb3MpO1xuICAgICAgICB3aGlsZSAodGhpcy5uZXh0UG9zKHBvcywgc2tpcFNwYWNlcykpO1xuICAgIH07XG4gICAgTGluZXMucHJvdG90eXBlLmJvb3RzdHJhcFNsaWNlID0gZnVuY3Rpb24gKHN0YXJ0LCBlbmQpIHtcbiAgICAgICAgdmFyIHN0cmluZ3MgPSB0aGlzLnRvU3RyaW5nKClcbiAgICAgICAgICAgIC5zcGxpdChsaW5lVGVybWluYXRvclNlcUV4cClcbiAgICAgICAgICAgIC5zbGljZShzdGFydC5saW5lIC0gMSwgZW5kLmxpbmUpO1xuICAgICAgICBpZiAoc3RyaW5ncy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBzdHJpbmdzLnB1c2goc3RyaW5ncy5wb3AoKS5zbGljZSgwLCBlbmQuY29sdW1uKSk7XG4gICAgICAgICAgICBzdHJpbmdzWzBdID0gc3RyaW5nc1swXS5zbGljZShzdGFydC5jb2x1bW4pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmcm9tU3RyaW5nKHN0cmluZ3Muam9pbihcIlxcblwiKSk7XG4gICAgfTtcbiAgICBMaW5lcy5wcm90b3R5cGUuc2xpY2UgPSBmdW5jdGlvbiAoc3RhcnQsIGVuZCkge1xuICAgICAgICBpZiAoIWVuZCkge1xuICAgICAgICAgICAgaWYgKCFzdGFydCkge1xuICAgICAgICAgICAgICAgIC8vIFRoZSBjbGllbnQgc2VlbXMgdG8gd2FudCBhIGNvcHkgb2YgdGhpcyBMaW5lcyBvYmplY3QsIGJ1dFxuICAgICAgICAgICAgICAgIC8vIExpbmVzIG9iamVjdHMgYXJlIGltbXV0YWJsZSwgc28gaXQncyBwZXJmZWN0bHkgYWRlcXVhdGUgdG9cbiAgICAgICAgICAgICAgICAvLyByZXR1cm4gdGhlIHNhbWUgb2JqZWN0LlxuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gU2xpY2UgdG8gdGhlIGVuZCBpZiBubyBlbmQgcG9zaXRpb24gd2FzIHByb3ZpZGVkLlxuICAgICAgICAgICAgZW5kID0gdGhpcy5sYXN0UG9zKCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzdGFydCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiY2Fubm90IHNsaWNlIHdpdGggZW5kIGJ1dCBub3Qgc3RhcnRcIik7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHNsaWNlZCA9IHRoaXMuaW5mb3Muc2xpY2Uoc3RhcnQubGluZSAtIDEsIGVuZC5saW5lKTtcbiAgICAgICAgaWYgKHN0YXJ0LmxpbmUgPT09IGVuZC5saW5lKSB7XG4gICAgICAgICAgICBzbGljZWRbMF0gPSBzbGljZUluZm8oc2xpY2VkWzBdLCBzdGFydC5jb2x1bW4sIGVuZC5jb2x1bW4pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkoc3RhcnQubGluZSA8IGVuZC5saW5lKTtcbiAgICAgICAgICAgIHNsaWNlZFswXSA9IHNsaWNlSW5mbyhzbGljZWRbMF0sIHN0YXJ0LmNvbHVtbik7XG4gICAgICAgICAgICBzbGljZWQucHVzaChzbGljZUluZm8oc2xpY2VkLnBvcCgpLCAwLCBlbmQuY29sdW1uKSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGxpbmVzID0gbmV3IExpbmVzKHNsaWNlZCk7XG4gICAgICAgIGlmICh0aGlzLm1hcHBpbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHZhciBuZXdNYXBwaW5nc180ID0gbGluZXMubWFwcGluZ3M7XG4gICAgICAgICAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KShuZXdNYXBwaW5nc180Lmxlbmd0aCA9PT0gMCk7XG4gICAgICAgICAgICB0aGlzLm1hcHBpbmdzLmZvckVhY2goZnVuY3Rpb24gKG1hcHBpbmcpIHtcbiAgICAgICAgICAgICAgICB2YXIgc2xpY2VkID0gbWFwcGluZy5zbGljZSh0aGlzLCBzdGFydCwgZW5kKTtcbiAgICAgICAgICAgICAgICBpZiAoc2xpY2VkKSB7XG4gICAgICAgICAgICAgICAgICAgIG5ld01hcHBpbmdzXzQucHVzaChzbGljZWQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIHRoaXMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsaW5lcztcbiAgICB9O1xuICAgIExpbmVzLnByb3RvdHlwZS5ib290c3RyYXBTbGljZVN0cmluZyA9IGZ1bmN0aW9uIChzdGFydCwgZW5kLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNsaWNlKHN0YXJ0LCBlbmQpLnRvU3RyaW5nKG9wdGlvbnMpO1xuICAgIH07XG4gICAgTGluZXMucHJvdG90eXBlLnNsaWNlU3RyaW5nID0gZnVuY3Rpb24gKHN0YXJ0LCBlbmQsIG9wdGlvbnMpIHtcbiAgICAgICAgaWYgKHN0YXJ0ID09PSB2b2lkIDApIHsgc3RhcnQgPSB0aGlzLmZpcnN0UG9zKCk7IH1cbiAgICAgICAgaWYgKGVuZCA9PT0gdm9pZCAwKSB7IGVuZCA9IHRoaXMubGFzdFBvcygpOyB9XG4gICAgICAgIHZhciBfYSA9ICgwLCBvcHRpb25zXzEubm9ybWFsaXplKShvcHRpb25zKSwgdGFiV2lkdGggPSBfYS50YWJXaWR0aCwgdXNlVGFicyA9IF9hLnVzZVRhYnMsIHJldXNlV2hpdGVzcGFjZSA9IF9hLnJldXNlV2hpdGVzcGFjZSwgbGluZVRlcm1pbmF0b3IgPSBfYS5saW5lVGVybWluYXRvcjtcbiAgICAgICAgdmFyIHBhcnRzID0gW107XG4gICAgICAgIGZvciAodmFyIGxpbmUgPSBzdGFydC5saW5lOyBsaW5lIDw9IGVuZC5saW5lOyArK2xpbmUpIHtcbiAgICAgICAgICAgIHZhciBpbmZvID0gdGhpcy5pbmZvc1tsaW5lIC0gMV07XG4gICAgICAgICAgICBpZiAobGluZSA9PT0gc3RhcnQubGluZSkge1xuICAgICAgICAgICAgICAgIGlmIChsaW5lID09PSBlbmQubGluZSkge1xuICAgICAgICAgICAgICAgICAgICBpbmZvID0gc2xpY2VJbmZvKGluZm8sIHN0YXJ0LmNvbHVtbiwgZW5kLmNvbHVtbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBpbmZvID0gc2xpY2VJbmZvKGluZm8sIHN0YXJ0LmNvbHVtbik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAobGluZSA9PT0gZW5kLmxpbmUpIHtcbiAgICAgICAgICAgICAgICBpbmZvID0gc2xpY2VJbmZvKGluZm8sIDAsIGVuZC5jb2x1bW4pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGluZGVudCA9IE1hdGgubWF4KGluZm8uaW5kZW50LCAwKTtcbiAgICAgICAgICAgIHZhciBiZWZvcmVfMSA9IGluZm8ubGluZS5zbGljZSgwLCBpbmZvLnNsaWNlU3RhcnQpO1xuICAgICAgICAgICAgaWYgKHJldXNlV2hpdGVzcGFjZSAmJlxuICAgICAgICAgICAgICAgIGlzT25seVdoaXRlc3BhY2UoYmVmb3JlXzEpICYmXG4gICAgICAgICAgICAgICAgY291bnRTcGFjZXMoYmVmb3JlXzEsIHRhYldpZHRoKSA9PT0gaW5kZW50KSB7XG4gICAgICAgICAgICAgICAgLy8gUmV1c2Ugb3JpZ2luYWwgc3BhY2VzIGlmIHRoZSBpbmRlbnRhdGlvbiBpcyBjb3JyZWN0LlxuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goaW5mby5saW5lLnNsaWNlKDAsIGluZm8uc2xpY2VFbmQpKTtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciB0YWJzID0gMDtcbiAgICAgICAgICAgIHZhciBzcGFjZXMgPSBpbmRlbnQ7XG4gICAgICAgICAgICBpZiAodXNlVGFicykge1xuICAgICAgICAgICAgICAgIHRhYnMgPSBNYXRoLmZsb29yKGluZGVudCAvIHRhYldpZHRoKTtcbiAgICAgICAgICAgICAgICBzcGFjZXMgLT0gdGFicyAqIHRhYldpZHRoO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIHJlc3VsdCA9IFwiXCI7XG4gICAgICAgICAgICBpZiAodGFicyA+IDApIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gbmV3IEFycmF5KHRhYnMgKyAxKS5qb2luKFwiXFx0XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNwYWNlcyA+IDApIHtcbiAgICAgICAgICAgICAgICByZXN1bHQgKz0gbmV3IEFycmF5KHNwYWNlcyArIDEpLmpvaW4oXCIgXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVzdWx0ICs9IGluZm8ubGluZS5zbGljZShpbmZvLnNsaWNlU3RhcnQsIGluZm8uc2xpY2VFbmQpO1xuICAgICAgICAgICAgcGFydHMucHVzaChyZXN1bHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwYXJ0cy5qb2luKGxpbmVUZXJtaW5hdG9yKTtcbiAgICB9O1xuICAgIExpbmVzLnByb3RvdHlwZS5pc0VtcHR5ID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sZW5ndGggPCAyICYmIHRoaXMuZ2V0TGluZUxlbmd0aCgxKSA8IDE7XG4gICAgfTtcbiAgICBMaW5lcy5wcm90b3R5cGUuam9pbiA9IGZ1bmN0aW9uIChlbGVtZW50cykge1xuICAgICAgICB2YXIgc2VwYXJhdG9yID0gdGhpcztcbiAgICAgICAgdmFyIGluZm9zID0gW107XG4gICAgICAgIHZhciBtYXBwaW5ncyA9IFtdO1xuICAgICAgICB2YXIgcHJldkluZm87XG4gICAgICAgIGZ1bmN0aW9uIGFwcGVuZExpbmVzKGxpbmVzT3JOdWxsKSB7XG4gICAgICAgICAgICBpZiAobGluZXNPck51bGwgPT09IG51bGwpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAocHJldkluZm8pIHtcbiAgICAgICAgICAgICAgICB2YXIgaW5mbyA9IGxpbmVzT3JOdWxsLmluZm9zWzBdO1xuICAgICAgICAgICAgICAgIHZhciBpbmRlbnQgPSBuZXcgQXJyYXkoaW5mby5pbmRlbnQgKyAxKS5qb2luKFwiIFwiKTtcbiAgICAgICAgICAgICAgICB2YXIgcHJldkxpbmVfMSA9IGluZm9zLmxlbmd0aDtcbiAgICAgICAgICAgICAgICB2YXIgcHJldkNvbHVtbl8xID0gTWF0aC5tYXgocHJldkluZm8uaW5kZW50LCAwKSArXG4gICAgICAgICAgICAgICAgICAgIHByZXZJbmZvLnNsaWNlRW5kIC1cbiAgICAgICAgICAgICAgICAgICAgcHJldkluZm8uc2xpY2VTdGFydDtcbiAgICAgICAgICAgICAgICBwcmV2SW5mby5saW5lID1cbiAgICAgICAgICAgICAgICAgICAgcHJldkluZm8ubGluZS5zbGljZSgwLCBwcmV2SW5mby5zbGljZUVuZCkgK1xuICAgICAgICAgICAgICAgICAgICAgICAgaW5kZW50ICtcbiAgICAgICAgICAgICAgICAgICAgICAgIGluZm8ubGluZS5zbGljZShpbmZvLnNsaWNlU3RhcnQsIGluZm8uc2xpY2VFbmQpO1xuICAgICAgICAgICAgICAgIC8vIElmIGFueSBwYXJ0IG9mIGEgbGluZSBpcyBpbmRlbnRhdGlvbi1sb2NrZWQsIHRoZSB3aG9sZSBsaW5lXG4gICAgICAgICAgICAgICAgLy8gd2lsbCBiZSBpbmRlbnRhdGlvbi1sb2NrZWQuXG4gICAgICAgICAgICAgICAgcHJldkluZm8ubG9ja2VkID0gcHJldkluZm8ubG9ja2VkIHx8IGluZm8ubG9ja2VkO1xuICAgICAgICAgICAgICAgIHByZXZJbmZvLnNsaWNlRW5kID0gcHJldkluZm8ubGluZS5sZW5ndGg7XG4gICAgICAgICAgICAgICAgaWYgKGxpbmVzT3JOdWxsLm1hcHBpbmdzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgbGluZXNPck51bGwubWFwcGluZ3MuZm9yRWFjaChmdW5jdGlvbiAobWFwcGluZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFwcGluZ3MucHVzaChtYXBwaW5nLmFkZChwcmV2TGluZV8xLCBwcmV2Q29sdW1uXzEpKTtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSBpZiAobGluZXNPck51bGwubWFwcGluZ3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIG1hcHBpbmdzLnB1c2guYXBwbHkobWFwcGluZ3MsIGxpbmVzT3JOdWxsLm1hcHBpbmdzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpbmVzT3JOdWxsLmluZm9zLmZvckVhY2goZnVuY3Rpb24gKGluZm8sIGkpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXByZXZJbmZvIHx8IGkgPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHByZXZJbmZvID0gdHNsaWJfMS5fX2Fzc2lnbih7fSwgaW5mbyk7XG4gICAgICAgICAgICAgICAgICAgIGluZm9zLnB1c2gocHJldkluZm8pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIGFwcGVuZFdpdGhTZXBhcmF0b3IobGluZXNPck51bGwsIGkpIHtcbiAgICAgICAgICAgIGlmIChpID4gMClcbiAgICAgICAgICAgICAgICBhcHBlbmRMaW5lcyhzZXBhcmF0b3IpO1xuICAgICAgICAgICAgYXBwZW5kTGluZXMobGluZXNPck51bGwpO1xuICAgICAgICB9XG4gICAgICAgIGVsZW1lbnRzXG4gICAgICAgICAgICAubWFwKGZ1bmN0aW9uIChlbGVtKSB7XG4gICAgICAgICAgICB2YXIgbGluZXMgPSBmcm9tU3RyaW5nKGVsZW0pO1xuICAgICAgICAgICAgaWYgKGxpbmVzLmlzRW1wdHkoKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIHJldHVybiBsaW5lcztcbiAgICAgICAgfSlcbiAgICAgICAgICAgIC5mb3JFYWNoKGZ1bmN0aW9uIChsaW5lc09yTnVsbCwgaSkge1xuICAgICAgICAgICAgaWYgKHNlcGFyYXRvci5pc0VtcHR5KCkpIHtcbiAgICAgICAgICAgICAgICBhcHBlbmRMaW5lcyhsaW5lc09yTnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBhcHBlbmRXaXRoU2VwYXJhdG9yKGxpbmVzT3JOdWxsLCBpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIGlmIChpbmZvcy5sZW5ndGggPCAxKVxuICAgICAgICAgICAgcmV0dXJuIGVtcHR5TGluZXM7XG4gICAgICAgIHZhciBsaW5lcyA9IG5ldyBMaW5lcyhpbmZvcyk7XG4gICAgICAgIGxpbmVzLm1hcHBpbmdzID0gbWFwcGluZ3M7XG4gICAgICAgIHJldHVybiBsaW5lcztcbiAgICB9O1xuICAgIExpbmVzLnByb3RvdHlwZS5jb25jYXQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBhcmdzID0gW107XG4gICAgICAgIGZvciAodmFyIF9pID0gMDsgX2kgPCBhcmd1bWVudHMubGVuZ3RoOyBfaSsrKSB7XG4gICAgICAgICAgICBhcmdzW19pXSA9IGFyZ3VtZW50c1tfaV07XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGxpc3QgPSBbdGhpc107XG4gICAgICAgIGxpc3QucHVzaC5hcHBseShsaXN0LCBhcmdzKTtcbiAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkobGlzdC5sZW5ndGggPT09IGFyZ3MubGVuZ3RoICsgMSk7XG4gICAgICAgIHJldHVybiBlbXB0eUxpbmVzLmpvaW4obGlzdCk7XG4gICAgfTtcbiAgICByZXR1cm4gTGluZXM7XG59KCkpO1xuZXhwb3J0cy5MaW5lcyA9IExpbmVzO1xudmFyIGZyb21TdHJpbmdDYWNoZSA9IHt9O1xudmFyIGhhc093biA9IGZyb21TdHJpbmdDYWNoZS5oYXNPd25Qcm9wZXJ0eTtcbnZhciBtYXhDYWNoZUtleUxlbiA9IDEwO1xuZnVuY3Rpb24gY291bnRTcGFjZXMoc3BhY2VzLCB0YWJXaWR0aCkge1xuICAgIHZhciBjb3VudCA9IDA7XG4gICAgdmFyIGxlbiA9IHNwYWNlcy5sZW5ndGg7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBsZW47ICsraSkge1xuICAgICAgICBzd2l0Y2ggKHNwYWNlcy5jaGFyQ29kZUF0KGkpKSB7XG4gICAgICAgICAgICBjYXNlIDk6IHtcbiAgICAgICAgICAgICAgICAvLyAnXFx0J1xuICAgICAgICAgICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHR5cGVvZiB0YWJXaWR0aCA9PT0gXCJudW1iZXJcIik7XG4gICAgICAgICAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkodGFiV2lkdGggPiAwKTtcbiAgICAgICAgICAgICAgICB2YXIgbmV4dCA9IE1hdGguY2VpbChjb3VudCAvIHRhYldpZHRoKSAqIHRhYldpZHRoO1xuICAgICAgICAgICAgICAgIGlmIChuZXh0ID09PSBjb3VudCkge1xuICAgICAgICAgICAgICAgICAgICBjb3VudCArPSB0YWJXaWR0aDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvdW50ID0gbmV4dDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjYXNlIDExOiAvLyAnXFx2J1xuICAgICAgICAgICAgY2FzZSAxMjogLy8gJ1xcZidcbiAgICAgICAgICAgIGNhc2UgMTM6IC8vICdcXHInXG4gICAgICAgICAgICBjYXNlIDB4ZmVmZjogLy8gemVyby13aWR0aCBub24tYnJlYWtpbmcgc3BhY2VcbiAgICAgICAgICAgICAgICAvLyBUaGVzZSBjaGFyYWN0ZXJzIGNvbnRyaWJ1dGUgbm90aGluZyB0byBpbmRlbnRhdGlvbi5cbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgMzI6IC8vICcgJ1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAvLyBUcmVhdCBhbGwgb3RoZXIgd2hpdGVzcGFjZSBsaWtlICcgJy5cbiAgICAgICAgICAgICAgICBjb3VudCArPSAxO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb3VudDtcbn1cbmV4cG9ydHMuY291bnRTcGFjZXMgPSBjb3VudFNwYWNlcztcbnZhciBsZWFkaW5nU3BhY2VFeHAgPSAvXlxccyovO1xuLy8gQXMgc3BlY2lmaWVkIGhlcmU6IGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi82LjAvI3NlYy1saW5lLXRlcm1pbmF0b3JzXG52YXIgbGluZVRlcm1pbmF0b3JTZXFFeHAgPSAvXFx1MDAwRFxcdTAwMEF8XFx1MDAwRCg/IVxcdTAwMEEpfFxcdTAwMEF8XFx1MjAyOHxcXHUyMDI5Lztcbi8qKlxuICogQHBhcmFtIHtPYmplY3R9IG9wdGlvbnMgLSBPcHRpb25zIG9iamVjdCB0aGF0IGNvbmZpZ3VyZXMgcHJpbnRpbmcuXG4gKi9cbmZ1bmN0aW9uIGZyb21TdHJpbmcoc3RyaW5nLCBvcHRpb25zKSB7XG4gICAgaWYgKHN0cmluZyBpbnN0YW5jZW9mIExpbmVzKVxuICAgICAgICByZXR1cm4gc3RyaW5nO1xuICAgIHN0cmluZyArPSBcIlwiO1xuICAgIHZhciB0YWJXaWR0aCA9IG9wdGlvbnMgJiYgb3B0aW9ucy50YWJXaWR0aDtcbiAgICB2YXIgdGFibGVzcyA9IHN0cmluZy5pbmRleE9mKFwiXFx0XCIpIDwgMDtcbiAgICB2YXIgY2FjaGVhYmxlID0gIW9wdGlvbnMgJiYgdGFibGVzcyAmJiBzdHJpbmcubGVuZ3RoIDw9IG1heENhY2hlS2V5TGVuO1xuICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHRhYldpZHRoIHx8IHRhYmxlc3MsIFwiTm8gdGFiIHdpZHRoIHNwZWNpZmllZCBidXQgZW5jb3VudGVyZWQgdGFicyBpbiBzdHJpbmdcXG5cIiArIHN0cmluZyk7XG4gICAgaWYgKGNhY2hlYWJsZSAmJiBoYXNPd24uY2FsbChmcm9tU3RyaW5nQ2FjaGUsIHN0cmluZykpXG4gICAgICAgIHJldHVybiBmcm9tU3RyaW5nQ2FjaGVbc3RyaW5nXTtcbiAgICB2YXIgbGluZXMgPSBuZXcgTGluZXMoc3RyaW5nLnNwbGl0KGxpbmVUZXJtaW5hdG9yU2VxRXhwKS5tYXAoZnVuY3Rpb24gKGxpbmUpIHtcbiAgICAgICAgLy8gVE9ETzogaGFuZGxlIG51bGwgZXhlYyByZXN1bHRcbiAgICAgICAgdmFyIHNwYWNlcyA9IGxlYWRpbmdTcGFjZUV4cC5leGVjKGxpbmUpWzBdO1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbGluZTogbGluZSxcbiAgICAgICAgICAgIGluZGVudDogY291bnRTcGFjZXMoc3BhY2VzLCB0YWJXaWR0aCksXG4gICAgICAgICAgICAvLyBCb29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGlzIGxpbmUgY2FuIGJlIHJlaW5kZW50ZWQuXG4gICAgICAgICAgICBsb2NrZWQ6IGZhbHNlLFxuICAgICAgICAgICAgc2xpY2VTdGFydDogc3BhY2VzLmxlbmd0aCxcbiAgICAgICAgICAgIHNsaWNlRW5kOiBsaW5lLmxlbmd0aCxcbiAgICAgICAgfTtcbiAgICB9KSwgKDAsIG9wdGlvbnNfMS5ub3JtYWxpemUpKG9wdGlvbnMpLnNvdXJjZUZpbGVOYW1lKTtcbiAgICBpZiAoY2FjaGVhYmxlKVxuICAgICAgICBmcm9tU3RyaW5nQ2FjaGVbc3RyaW5nXSA9IGxpbmVzO1xuICAgIHJldHVybiBsaW5lcztcbn1cbmV4cG9ydHMuZnJvbVN0cmluZyA9IGZyb21TdHJpbmc7XG5mdW5jdGlvbiBpc09ubHlXaGl0ZXNwYWNlKHN0cmluZykge1xuICAgIHJldHVybiAhL1xcUy8udGVzdChzdHJpbmcpO1xufVxuZnVuY3Rpb24gc2xpY2VJbmZvKGluZm8sIHN0YXJ0Q29sLCBlbmRDb2wpIHtcbiAgICB2YXIgc2xpY2VTdGFydCA9IGluZm8uc2xpY2VTdGFydDtcbiAgICB2YXIgc2xpY2VFbmQgPSBpbmZvLnNsaWNlRW5kO1xuICAgIHZhciBpbmRlbnQgPSBNYXRoLm1heChpbmZvLmluZGVudCwgMCk7XG4gICAgdmFyIGxpbmVMZW5ndGggPSBpbmRlbnQgKyBzbGljZUVuZCAtIHNsaWNlU3RhcnQ7XG4gICAgaWYgKHR5cGVvZiBlbmRDb2wgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgZW5kQ29sID0gbGluZUxlbmd0aDtcbiAgICB9XG4gICAgc3RhcnRDb2wgPSBNYXRoLm1heChzdGFydENvbCwgMCk7XG4gICAgZW5kQ29sID0gTWF0aC5taW4oZW5kQ29sLCBsaW5lTGVuZ3RoKTtcbiAgICBlbmRDb2wgPSBNYXRoLm1heChlbmRDb2wsIHN0YXJ0Q29sKTtcbiAgICBpZiAoZW5kQ29sIDwgaW5kZW50KSB7XG4gICAgICAgIGluZGVudCA9IGVuZENvbDtcbiAgICAgICAgc2xpY2VFbmQgPSBzbGljZVN0YXJ0O1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgc2xpY2VFbmQgLT0gbGluZUxlbmd0aCAtIGVuZENvbDtcbiAgICB9XG4gICAgbGluZUxlbmd0aCA9IGVuZENvbDtcbiAgICBsaW5lTGVuZ3RoIC09IHN0YXJ0Q29sO1xuICAgIGlmIChzdGFydENvbCA8IGluZGVudCkge1xuICAgICAgICBpbmRlbnQgLT0gc3RhcnRDb2w7XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBzdGFydENvbCAtPSBpbmRlbnQ7XG4gICAgICAgIGluZGVudCA9IDA7XG4gICAgICAgIHNsaWNlU3RhcnQgKz0gc3RhcnRDb2w7XG4gICAgfVxuICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKGluZGVudCA+PSAwKTtcbiAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KShzbGljZVN0YXJ0IDw9IHNsaWNlRW5kKTtcbiAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KShsaW5lTGVuZ3RoID09PSBpbmRlbnQgKyBzbGljZUVuZCAtIHNsaWNlU3RhcnQpO1xuICAgIGlmIChpbmZvLmluZGVudCA9PT0gaW5kZW50ICYmXG4gICAgICAgIGluZm8uc2xpY2VTdGFydCA9PT0gc2xpY2VTdGFydCAmJlxuICAgICAgICBpbmZvLnNsaWNlRW5kID09PSBzbGljZUVuZCkge1xuICAgICAgICByZXR1cm4gaW5mbztcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgICAgbGluZTogaW5mby5saW5lLFxuICAgICAgICBpbmRlbnQ6IGluZGVudCxcbiAgICAgICAgLy8gQSBkZXN0cnVjdGl2ZSBzbGljZSBhbHdheXMgdW5sb2NrcyBpbmRlbnRhdGlvbi5cbiAgICAgICAgbG9ja2VkOiBmYWxzZSxcbiAgICAgICAgc2xpY2VTdGFydDogc2xpY2VTdGFydCxcbiAgICAgICAgc2xpY2VFbmQ6IHNsaWNlRW5kLFxuICAgIH07XG59XG5mdW5jdGlvbiBjb25jYXQoZWxlbWVudHMpIHtcbiAgICByZXR1cm4gZW1wdHlMaW5lcy5qb2luKGVsZW1lbnRzKTtcbn1cbmV4cG9ydHMuY29uY2F0ID0gY29uY2F0O1xuLy8gVGhlIGVtcHR5TGluZXMgb2JqZWN0IG5lZWRzIHRvIGJlIGNyZWF0ZWQgYWxsIHRoZSB3YXkgZG93biBoZXJlIHNvIHRoYXRcbi8vIExpbmVzLnByb3RvdHlwZSB3aWxsIGJlIGZ1bGx5IHBvcHVsYXRlZC5cbnZhciBlbXB0eUxpbmVzID0gZnJvbVN0cmluZyhcIlwiKTtcbiIsICJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMucHJpbnRDb21tZW50cyA9IGV4cG9ydHMuYXR0YWNoID0gdm9pZCAwO1xudmFyIHRzbGliXzEgPSByZXF1aXJlKFwidHNsaWJcIik7XG52YXIgdGlueV9pbnZhcmlhbnRfMSA9IHRzbGliXzEuX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCJ0aW55LWludmFyaWFudFwiKSk7XG52YXIgdHlwZXMgPSB0c2xpYl8xLl9faW1wb3J0U3RhcihyZXF1aXJlKFwiYXN0LXR5cGVzXCIpKTtcbnZhciBuID0gdHlwZXMubmFtZWRUeXBlcztcbnZhciBpc0FycmF5ID0gdHlwZXMuYnVpbHRJblR5cGVzLmFycmF5O1xudmFyIGlzT2JqZWN0ID0gdHlwZXMuYnVpbHRJblR5cGVzLm9iamVjdDtcbnZhciBsaW5lc18xID0gcmVxdWlyZShcIi4vbGluZXNcIik7XG52YXIgdXRpbF8xID0gcmVxdWlyZShcIi4vdXRpbFwiKTtcbnZhciBjaGlsZE5vZGVzQ2FjaGUgPSBuZXcgV2Vha01hcCgpO1xuLy8gVE9ETyBNb3ZlIGEgbm9uLWNhY2hpbmcgaW1wbGVtZW50YXRpb24gb2YgdGhpcyBmdW5jdGlvbiBpbnRvIGFzdC10eXBlcyxcbi8vIGFuZCBpbXBsZW1lbnQgYSBjYWNoaW5nIHdyYXBwZXIgZnVuY3Rpb24gaGVyZS5cbmZ1bmN0aW9uIGdldFNvcnRlZENoaWxkTm9kZXMobm9kZSwgbGluZXMsIHJlc3VsdEFycmF5KSB7XG4gICAgaWYgKCFub2RlKSB7XG4gICAgICAgIHJldHVybiByZXN1bHRBcnJheTtcbiAgICB9XG4gICAgLy8gVGhlIC5sb2MgY2hlY2tzIGJlbG93IGFyZSBzZW5zaXRpdmUgdG8gc29tZSBvZiB0aGUgcHJvYmxlbXMgdGhhdFxuICAgIC8vIGFyZSBmaXhlZCBieSB0aGlzIHV0aWxpdHkgZnVuY3Rpb24uIFNwZWNpZmljYWxseSwgaWYgaXQgZGVjaWRlcyB0b1xuICAgIC8vIHNldCBub2RlLmxvYyB0byBudWxsLCBpbmRpY2F0aW5nIHRoYXQgdGhlIG5vZGUncyAubG9jIGluZm9ybWF0aW9uXG4gICAgLy8gaXMgdW5yZWxpYWJsZSwgdGhlbiB3ZSBkb24ndCB3YW50IHRvIGFkZCBub2RlIHRvIHRoZSByZXN1bHRBcnJheS5cbiAgICAoMCwgdXRpbF8xLmZpeEZhdWx0eUxvY2F0aW9ucykobm9kZSwgbGluZXMpO1xuICAgIGlmIChyZXN1bHRBcnJheSkge1xuICAgICAgICBpZiAobi5Ob2RlLmNoZWNrKG5vZGUpICYmIG4uU291cmNlTG9jYXRpb24uY2hlY2sobm9kZS5sb2MpKSB7XG4gICAgICAgICAgICAvLyBUaGlzIHJldmVyc2UgaW5zZXJ0aW9uIHNvcnQgYWxtb3N0IGFsd2F5cyB0YWtlcyBjb25zdGFudFxuICAgICAgICAgICAgLy8gdGltZSBiZWNhdXNlIHdlIGFsbW9zdCBhbHdheXMgKG1heWJlIGFsd2F5cz8pIGFwcGVuZCB0aGVcbiAgICAgICAgICAgIC8vIG5vZGVzIGluIG9yZGVyIGFueXdheS5cbiAgICAgICAgICAgIHZhciBpID0gcmVzdWx0QXJyYXkubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgIGZvciAoOyBpID49IDA7IC0taSkge1xuICAgICAgICAgICAgICAgIHZhciBjaGlsZCA9IHJlc3VsdEFycmF5W2ldO1xuICAgICAgICAgICAgICAgIGlmIChjaGlsZCAmJlxuICAgICAgICAgICAgICAgICAgICBjaGlsZC5sb2MgJiZcbiAgICAgICAgICAgICAgICAgICAgKDAsIHV0aWxfMS5jb21wYXJlUG9zKShjaGlsZC5sb2MuZW5kLCBub2RlLmxvYy5zdGFydCkgPD0gMCkge1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXN1bHRBcnJheS5zcGxpY2UoaSArIDEsIDAsIG5vZGUpO1xuICAgICAgICAgICAgcmV0dXJuIHJlc3VsdEFycmF5O1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICB2YXIgY2hpbGROb2RlcyA9IGNoaWxkTm9kZXNDYWNoZS5nZXQobm9kZSk7XG4gICAgICAgIGlmIChjaGlsZE5vZGVzKSB7XG4gICAgICAgICAgICByZXR1cm4gY2hpbGROb2RlcztcbiAgICAgICAgfVxuICAgIH1cbiAgICB2YXIgbmFtZXM7XG4gICAgaWYgKGlzQXJyYXkuY2hlY2sobm9kZSkpIHtcbiAgICAgICAgbmFtZXMgPSBPYmplY3Qua2V5cyhub2RlKTtcbiAgICB9XG4gICAgZWxzZSBpZiAoaXNPYmplY3QuY2hlY2sobm9kZSkpIHtcbiAgICAgICAgbmFtZXMgPSB0eXBlcy5nZXRGaWVsZE5hbWVzKG5vZGUpO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdEFycmF5O1xuICAgIH1cbiAgICBpZiAoIXJlc3VsdEFycmF5KSB7XG4gICAgICAgIGNoaWxkTm9kZXNDYWNoZS5zZXQobm9kZSwgKHJlc3VsdEFycmF5ID0gW10pKTtcbiAgICB9XG4gICAgZm9yICh2YXIgaSA9IDAsIG5hbWVDb3VudCA9IG5hbWVzLmxlbmd0aDsgaSA8IG5hbWVDb3VudDsgKytpKSB7XG4gICAgICAgIGdldFNvcnRlZENoaWxkTm9kZXMobm9kZVtuYW1lc1tpXV0sIGxpbmVzLCByZXN1bHRBcnJheSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHRBcnJheTtcbn1cbi8vIEFzIGVmZmljaWVudGx5IGFzIHBvc3NpYmxlLCBkZWNvcmF0ZSB0aGUgY29tbWVudCBvYmplY3Qgd2l0aFxuLy8gLnByZWNlZGluZ05vZGUsIC5lbmNsb3NpbmdOb2RlLCBhbmQvb3IgLmZvbGxvd2luZ05vZGUgcHJvcGVydGllcywgYXRcbi8vIGxlYXN0IG9uZSBvZiB3aGljaCBpcyBndWFyYW50ZWVkIHRvIGJlIGRlZmluZWQuXG5mdW5jdGlvbiBkZWNvcmF0ZUNvbW1lbnQobm9kZSwgY29tbWVudCwgbGluZXMpIHtcbiAgICB2YXIgY2hpbGROb2RlcyA9IGdldFNvcnRlZENoaWxkTm9kZXMobm9kZSwgbGluZXMpO1xuICAgIC8vIFRpbWUgdG8gZHVzdCBvZmYgdGhlIG9sZCBiaW5hcnkgc2VhcmNoIHJvYmVzIGFuZCB3aXphcmQgaGF0LlxuICAgIHZhciBsZWZ0ID0gMDtcbiAgICB2YXIgcmlnaHQgPSBjaGlsZE5vZGVzICYmIGNoaWxkTm9kZXMubGVuZ3RoO1xuICAgIHZhciBwcmVjZWRpbmdOb2RlO1xuICAgIHZhciBmb2xsb3dpbmdOb2RlO1xuICAgIHdoaWxlICh0eXBlb2YgcmlnaHQgPT09IFwibnVtYmVyXCIgJiYgbGVmdCA8IHJpZ2h0KSB7XG4gICAgICAgIHZhciBtaWRkbGUgPSAobGVmdCArIHJpZ2h0KSA+PiAxO1xuICAgICAgICB2YXIgY2hpbGQgPSBjaGlsZE5vZGVzW21pZGRsZV07XG4gICAgICAgIGlmICgoMCwgdXRpbF8xLmNvbXBhcmVQb3MpKGNoaWxkLmxvYy5zdGFydCwgY29tbWVudC5sb2Muc3RhcnQpIDw9IDAgJiZcbiAgICAgICAgICAgICgwLCB1dGlsXzEuY29tcGFyZVBvcykoY29tbWVudC5sb2MuZW5kLCBjaGlsZC5sb2MuZW5kKSA8PSAwKSB7XG4gICAgICAgICAgICAvLyBUaGUgY29tbWVudCBpcyBjb21wbGV0ZWx5IGNvbnRhaW5lZCBieSB0aGlzIGNoaWxkIG5vZGUuXG4gICAgICAgICAgICBkZWNvcmF0ZUNvbW1lbnQoKGNvbW1lbnQuZW5jbG9zaW5nTm9kZSA9IGNoaWxkKSwgY29tbWVudCwgbGluZXMpO1xuICAgICAgICAgICAgcmV0dXJuOyAvLyBBYmFuZG9uIHRoZSBiaW5hcnkgc2VhcmNoIGF0IHRoaXMgbGV2ZWwuXG4gICAgICAgIH1cbiAgICAgICAgaWYgKCgwLCB1dGlsXzEuY29tcGFyZVBvcykoY2hpbGQubG9jLmVuZCwgY29tbWVudC5sb2Muc3RhcnQpIDw9IDApIHtcbiAgICAgICAgICAgIC8vIFRoaXMgY2hpbGQgbm9kZSBmYWxscyBjb21wbGV0ZWx5IGJlZm9yZSB0aGUgY29tbWVudC5cbiAgICAgICAgICAgIC8vIEJlY2F1c2Ugd2Ugd2lsbCBuZXZlciBjb25zaWRlciB0aGlzIG5vZGUgb3IgYW55IG5vZGVzXG4gICAgICAgICAgICAvLyBiZWZvcmUgaXQgYWdhaW4sIHRoaXMgbm9kZSBtdXN0IGJlIHRoZSBjbG9zZXN0IHByZWNlZGluZ1xuICAgICAgICAgICAgLy8gbm9kZSB3ZSBoYXZlIGVuY291bnRlcmVkIHNvIGZhci5cbiAgICAgICAgICAgIHByZWNlZGluZ05vZGUgPSBjaGlsZDtcbiAgICAgICAgICAgIGxlZnQgPSBtaWRkbGUgKyAxO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCgwLCB1dGlsXzEuY29tcGFyZVBvcykoY29tbWVudC5sb2MuZW5kLCBjaGlsZC5sb2Muc3RhcnQpIDw9IDApIHtcbiAgICAgICAgICAgIC8vIFRoaXMgY2hpbGQgbm9kZSBmYWxscyBjb21wbGV0ZWx5IGFmdGVyIHRoZSBjb21tZW50LlxuICAgICAgICAgICAgLy8gQmVjYXVzZSB3ZSB3aWxsIG5ldmVyIGNvbnNpZGVyIHRoaXMgbm9kZSBvciBhbnkgbm9kZXMgYWZ0ZXJcbiAgICAgICAgICAgIC8vIGl0IGFnYWluLCB0aGlzIG5vZGUgbXVzdCBiZSB0aGUgY2xvc2VzdCBmb2xsb3dpbmcgbm9kZSB3ZVxuICAgICAgICAgICAgLy8gaGF2ZSBlbmNvdW50ZXJlZCBzbyBmYXIuXG4gICAgICAgICAgICBmb2xsb3dpbmdOb2RlID0gY2hpbGQ7XG4gICAgICAgICAgICByaWdodCA9IG1pZGRsZTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkNvbW1lbnQgbG9jYXRpb24gb3ZlcmxhcHMgd2l0aCBub2RlIGxvY2F0aW9uXCIpO1xuICAgIH1cbiAgICBpZiAocHJlY2VkaW5nTm9kZSkge1xuICAgICAgICBjb21tZW50LnByZWNlZGluZ05vZGUgPSBwcmVjZWRpbmdOb2RlO1xuICAgIH1cbiAgICBpZiAoZm9sbG93aW5nTm9kZSkge1xuICAgICAgICBjb21tZW50LmZvbGxvd2luZ05vZGUgPSBmb2xsb3dpbmdOb2RlO1xuICAgIH1cbn1cbmZ1bmN0aW9uIGF0dGFjaChjb21tZW50cywgYXN0LCBsaW5lcykge1xuICAgIGlmICghaXNBcnJheS5jaGVjayhjb21tZW50cykpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgdGllc1RvQnJlYWsgPSBbXTtcbiAgICBjb21tZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChjb21tZW50KSB7XG4gICAgICAgIGNvbW1lbnQubG9jLmxpbmVzID0gbGluZXM7XG4gICAgICAgIGRlY29yYXRlQ29tbWVudChhc3QsIGNvbW1lbnQsIGxpbmVzKTtcbiAgICAgICAgdmFyIHBuID0gY29tbWVudC5wcmVjZWRpbmdOb2RlO1xuICAgICAgICB2YXIgZW4gPSBjb21tZW50LmVuY2xvc2luZ05vZGU7XG4gICAgICAgIHZhciBmbiA9IGNvbW1lbnQuZm9sbG93aW5nTm9kZTtcbiAgICAgICAgaWYgKHBuICYmIGZuKSB7XG4gICAgICAgICAgICB2YXIgdGllQ291bnQgPSB0aWVzVG9CcmVhay5sZW5ndGg7XG4gICAgICAgICAgICBpZiAodGllQ291bnQgPiAwKSB7XG4gICAgICAgICAgICAgICAgdmFyIGxhc3RUaWUgPSB0aWVzVG9CcmVha1t0aWVDb3VudCAtIDFdO1xuICAgICAgICAgICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKChsYXN0VGllLnByZWNlZGluZ05vZGUgPT09IGNvbW1lbnQucHJlY2VkaW5nTm9kZSkgPT09XG4gICAgICAgICAgICAgICAgICAgIChsYXN0VGllLmZvbGxvd2luZ05vZGUgPT09IGNvbW1lbnQuZm9sbG93aW5nTm9kZSkpO1xuICAgICAgICAgICAgICAgIGlmIChsYXN0VGllLmZvbGxvd2luZ05vZGUgIT09IGNvbW1lbnQuZm9sbG93aW5nTm9kZSkge1xuICAgICAgICAgICAgICAgICAgICBicmVha1RpZXModGllc1RvQnJlYWssIGxpbmVzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aWVzVG9CcmVhay5wdXNoKGNvbW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHBuKSB7XG4gICAgICAgICAgICAvLyBObyBjb250ZXN0OiB3ZSBoYXZlIGEgdHJhaWxpbmcgY29tbWVudC5cbiAgICAgICAgICAgIGJyZWFrVGllcyh0aWVzVG9CcmVhaywgbGluZXMpO1xuICAgICAgICAgICAgYWRkVHJhaWxpbmdDb21tZW50KHBuLCBjb21tZW50KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChmbikge1xuICAgICAgICAgICAgLy8gTm8gY29udGVzdDogd2UgaGF2ZSBhIGxlYWRpbmcgY29tbWVudC5cbiAgICAgICAgICAgIGJyZWFrVGllcyh0aWVzVG9CcmVhaywgbGluZXMpO1xuICAgICAgICAgICAgYWRkTGVhZGluZ0NvbW1lbnQoZm4sIGNvbW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGVuKSB7XG4gICAgICAgICAgICAvLyBUaGUgZW5jbG9zaW5nIG5vZGUgaGFzIG5vIGNoaWxkIG5vZGVzIGF0IGFsbCwgc28gd2hhdCB3ZVxuICAgICAgICAgICAgLy8gaGF2ZSBoZXJlIGlzIGEgZGFuZ2xpbmcgY29tbWVudCwgZS5nLiBbLyogY3JpY2tldHMgKi9dLlxuICAgICAgICAgICAgYnJlYWtUaWVzKHRpZXNUb0JyZWFrLCBsaW5lcyk7XG4gICAgICAgICAgICBhZGREYW5nbGluZ0NvbW1lbnQoZW4sIGNvbW1lbnQpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQVNUIGNvbnRhaW5zIG5vIG5vZGVzIGF0IGFsbD9cIik7XG4gICAgICAgIH1cbiAgICB9KTtcbiAgICBicmVha1RpZXModGllc1RvQnJlYWssIGxpbmVzKTtcbiAgICBjb21tZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChjb21tZW50KSB7XG4gICAgICAgIC8vIFRoZXNlIG5vZGUgcmVmZXJlbmNlcyB3ZXJlIHVzZWZ1bCBmb3IgYnJlYWtpbmcgdGllcywgYnV0IHdlXG4gICAgICAgIC8vIGRvbid0IG5lZWQgdGhlbSBhbnltb3JlLCBhbmQgdGhleSBjcmVhdGUgY3ljbGVzIGluIHRoZSBBU1QgdGhhdFxuICAgICAgICAvLyBtYXkgbGVhZCB0byBpbmZpbml0ZSByZWN1cnNpb24gaWYgd2UgZG9uJ3QgZGVsZXRlIHRoZW0gaGVyZS5cbiAgICAgICAgZGVsZXRlIGNvbW1lbnQucHJlY2VkaW5nTm9kZTtcbiAgICAgICAgZGVsZXRlIGNvbW1lbnQuZW5jbG9zaW5nTm9kZTtcbiAgICAgICAgZGVsZXRlIGNvbW1lbnQuZm9sbG93aW5nTm9kZTtcbiAgICB9KTtcbn1cbmV4cG9ydHMuYXR0YWNoID0gYXR0YWNoO1xuZnVuY3Rpb24gYnJlYWtUaWVzKHRpZXNUb0JyZWFrLCBsaW5lcykge1xuICAgIHZhciB0aWVDb3VudCA9IHRpZXNUb0JyZWFrLmxlbmd0aDtcbiAgICBpZiAodGllQ291bnQgPT09IDApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB2YXIgcG4gPSB0aWVzVG9CcmVha1swXS5wcmVjZWRpbmdOb2RlO1xuICAgIHZhciBmbiA9IHRpZXNUb0JyZWFrWzBdLmZvbGxvd2luZ05vZGU7XG4gICAgdmFyIGdhcEVuZFBvcyA9IGZuLmxvYy5zdGFydDtcbiAgICAvLyBJdGVyYXRlIGJhY2t3YXJkcyB0aHJvdWdoIHRpZXNUb0JyZWFrLCBleGFtaW5pbmcgdGhlIGdhcHNcbiAgICAvLyBiZXR3ZWVuIHRoZSB0aWVkIGNvbW1lbnRzLiBJbiBvcmRlciB0byBxdWFsaWZ5IGFzIGxlYWRpbmcsIGFcbiAgICAvLyBjb21tZW50IG11c3QgYmUgc2VwYXJhdGVkIGZyb20gZm4gYnkgYW4gdW5icm9rZW4gc2VyaWVzIG9mXG4gICAgLy8gd2hpdGVzcGFjZS1vbmx5IGdhcHMgKG9yIG90aGVyIGNvbW1lbnRzKS5cbiAgICB2YXIgaW5kZXhPZkZpcnN0TGVhZGluZ0NvbW1lbnQgPSB0aWVDb3VudDtcbiAgICB2YXIgY29tbWVudDtcbiAgICBmb3IgKDsgaW5kZXhPZkZpcnN0TGVhZGluZ0NvbW1lbnQgPiAwOyAtLWluZGV4T2ZGaXJzdExlYWRpbmdDb21tZW50KSB7XG4gICAgICAgIGNvbW1lbnQgPSB0aWVzVG9CcmVha1tpbmRleE9mRmlyc3RMZWFkaW5nQ29tbWVudCAtIDFdO1xuICAgICAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KShjb21tZW50LnByZWNlZGluZ05vZGUgPT09IHBuKTtcbiAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkoY29tbWVudC5mb2xsb3dpbmdOb2RlID09PSBmbik7XG4gICAgICAgIHZhciBnYXAgPSBsaW5lcy5zbGljZVN0cmluZyhjb21tZW50LmxvYy5lbmQsIGdhcEVuZFBvcyk7XG4gICAgICAgIGlmICgvXFxTLy50ZXN0KGdhcCkpIHtcbiAgICAgICAgICAgIC8vIFRoZSBnYXAgc3RyaW5nIGNvbnRhaW5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiB3aGl0ZXNwYWNlLlxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgZ2FwRW5kUG9zID0gY29tbWVudC5sb2Muc3RhcnQ7XG4gICAgfVxuICAgIHdoaWxlIChpbmRleE9mRmlyc3RMZWFkaW5nQ29tbWVudCA8PSB0aWVDb3VudCAmJlxuICAgICAgICAoY29tbWVudCA9IHRpZXNUb0JyZWFrW2luZGV4T2ZGaXJzdExlYWRpbmdDb21tZW50XSkgJiZcbiAgICAgICAgLy8gSWYgdGhlIGNvbW1lbnQgaXMgYSAvLy1zdHlsZSBjb21tZW50IGFuZCBpbmRlbnRlZCBtb3JlXG4gICAgICAgIC8vIGRlZXBseSB0aGFuIHRoZSBub2RlIGl0c2VsZiwgcmVjb25zaWRlciBpdCBhcyB0cmFpbGluZy5cbiAgICAgICAgKGNvbW1lbnQudHlwZSA9PT0gXCJMaW5lXCIgfHwgY29tbWVudC50eXBlID09PSBcIkNvbW1lbnRMaW5lXCIpICYmXG4gICAgICAgIGNvbW1lbnQubG9jLnN0YXJ0LmNvbHVtbiA+IGZuLmxvYy5zdGFydC5jb2x1bW4pIHtcbiAgICAgICAgKytpbmRleE9mRmlyc3RMZWFkaW5nQ29tbWVudDtcbiAgICB9XG4gICAgaWYgKGluZGV4T2ZGaXJzdExlYWRpbmdDb21tZW50KSB7XG4gICAgICAgIHZhciBlbmNsb3NpbmdOb2RlID0gdGllc1RvQnJlYWtbaW5kZXhPZkZpcnN0TGVhZGluZ0NvbW1lbnQgLSAxXS5lbmNsb3NpbmdOb2RlO1xuICAgICAgICBpZiAoKGVuY2xvc2luZ05vZGUgPT09IG51bGwgfHwgZW5jbG9zaW5nTm9kZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZW5jbG9zaW5nTm9kZS50eXBlKSA9PT0gXCJDYWxsRXhwcmVzc2lvblwiKSB7XG4gICAgICAgICAgICAtLWluZGV4T2ZGaXJzdExlYWRpbmdDb21tZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIHRpZXNUb0JyZWFrLmZvckVhY2goZnVuY3Rpb24gKGNvbW1lbnQsIGkpIHtcbiAgICAgICAgaWYgKGkgPCBpbmRleE9mRmlyc3RMZWFkaW5nQ29tbWVudCkge1xuICAgICAgICAgICAgYWRkVHJhaWxpbmdDb21tZW50KHBuLCBjb21tZW50KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGFkZExlYWRpbmdDb21tZW50KGZuLCBjb21tZW50KTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIHRpZXNUb0JyZWFrLmxlbmd0aCA9IDA7XG59XG5mdW5jdGlvbiBhZGRDb21tZW50SGVscGVyKG5vZGUsIGNvbW1lbnQpIHtcbiAgICB2YXIgY29tbWVudHMgPSBub2RlLmNvbW1lbnRzIHx8IChub2RlLmNvbW1lbnRzID0gW10pO1xuICAgIGNvbW1lbnRzLnB1c2goY29tbWVudCk7XG59XG5mdW5jdGlvbiBhZGRMZWFkaW5nQ29tbWVudChub2RlLCBjb21tZW50KSB7XG4gICAgY29tbWVudC5sZWFkaW5nID0gdHJ1ZTtcbiAgICBjb21tZW50LnRyYWlsaW5nID0gZmFsc2U7XG4gICAgYWRkQ29tbWVudEhlbHBlcihub2RlLCBjb21tZW50KTtcbn1cbmZ1bmN0aW9uIGFkZERhbmdsaW5nQ29tbWVudChub2RlLCBjb21tZW50KSB7XG4gICAgY29tbWVudC5sZWFkaW5nID0gZmFsc2U7XG4gICAgY29tbWVudC50cmFpbGluZyA9IGZhbHNlO1xuICAgIGFkZENvbW1lbnRIZWxwZXIobm9kZSwgY29tbWVudCk7XG59XG5mdW5jdGlvbiBhZGRUcmFpbGluZ0NvbW1lbnQobm9kZSwgY29tbWVudCkge1xuICAgIGNvbW1lbnQubGVhZGluZyA9IGZhbHNlO1xuICAgIGNvbW1lbnQudHJhaWxpbmcgPSB0cnVlO1xuICAgIGFkZENvbW1lbnRIZWxwZXIobm9kZSwgY29tbWVudCk7XG59XG5mdW5jdGlvbiBwcmludExlYWRpbmdDb21tZW50KGNvbW1lbnRQYXRoLCBwcmludCkge1xuICAgIHZhciBjb21tZW50ID0gY29tbWVudFBhdGguZ2V0VmFsdWUoKTtcbiAgICBuLkNvbW1lbnQuYXNzZXJ0KGNvbW1lbnQpO1xuICAgIHZhciBsb2MgPSBjb21tZW50LmxvYztcbiAgICB2YXIgbGluZXMgPSBsb2MgJiYgbG9jLmxpbmVzO1xuICAgIHZhciBwYXJ0cyA9IFtwcmludChjb21tZW50UGF0aCldO1xuICAgIGlmIChjb21tZW50LnRyYWlsaW5nKSB7XG4gICAgICAgIC8vIFdoZW4gd2UgcHJpbnQgdHJhaWxpbmcgY29tbWVudHMgYXMgbGVhZGluZyBjb21tZW50cywgd2UgZG9uJ3RcbiAgICAgICAgLy8gd2FudCB0byBicmluZyBhbnkgdHJhaWxpbmcgc3BhY2VzIGFsb25nLlxuICAgICAgICBwYXJ0cy5wdXNoKFwiXFxuXCIpO1xuICAgIH1cbiAgICBlbHNlIGlmIChsaW5lcyBpbnN0YW5jZW9mIGxpbmVzXzEuTGluZXMpIHtcbiAgICAgICAgdmFyIHRyYWlsaW5nU3BhY2UgPSBsaW5lcy5zbGljZShsb2MuZW5kLCBsaW5lcy5za2lwU3BhY2VzKGxvYy5lbmQpIHx8IGxpbmVzLmxhc3RQb3MoKSk7XG4gICAgICAgIGlmICh0cmFpbGluZ1NwYWNlLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgLy8gSWYgdGhlIHRyYWlsaW5nIHNwYWNlIGNvbnRhaW5zIG5vIG5ld2xpbmVzLCB0aGVuIHdlIHdhbnQgdG9cbiAgICAgICAgICAgIC8vIHByZXNlcnZlIGl0IGV4YWN0bHkgYXMgd2UgZm91bmQgaXQuXG4gICAgICAgICAgICBwYXJ0cy5wdXNoKHRyYWlsaW5nU3BhY2UpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gSWYgdGhlIHRyYWlsaW5nIHNwYWNlIGNvbnRhaW5zIG5ld2xpbmVzLCB0aGVuIHJlcGxhY2UgaXRcbiAgICAgICAgICAgIC8vIHdpdGgganVzdCB0aGF0IG1hbnkgbmV3bGluZXMsIHdpdGggYWxsIG90aGVyIHNwYWNlcyByZW1vdmVkLlxuICAgICAgICAgICAgcGFydHMucHVzaChuZXcgQXJyYXkodHJhaWxpbmdTcGFjZS5sZW5ndGgpLmpvaW4oXCJcXG5cIikpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICBwYXJ0cy5wdXNoKFwiXFxuXCIpO1xuICAgIH1cbiAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG59XG5mdW5jdGlvbiBwcmludFRyYWlsaW5nQ29tbWVudChjb21tZW50UGF0aCwgcHJpbnQpIHtcbiAgICB2YXIgY29tbWVudCA9IGNvbW1lbnRQYXRoLmdldFZhbHVlKGNvbW1lbnRQYXRoKTtcbiAgICBuLkNvbW1lbnQuYXNzZXJ0KGNvbW1lbnQpO1xuICAgIHZhciBsb2MgPSBjb21tZW50LmxvYztcbiAgICB2YXIgbGluZXMgPSBsb2MgJiYgbG9jLmxpbmVzO1xuICAgIHZhciBwYXJ0cyA9IFtdO1xuICAgIGlmIChsaW5lcyBpbnN0YW5jZW9mIGxpbmVzXzEuTGluZXMpIHtcbiAgICAgICAgdmFyIGZyb21Qb3MgPSBsaW5lcy5za2lwU3BhY2VzKGxvYy5zdGFydCwgdHJ1ZSkgfHwgbGluZXMuZmlyc3RQb3MoKTtcbiAgICAgICAgdmFyIGxlYWRpbmdTcGFjZSA9IGxpbmVzLnNsaWNlKGZyb21Qb3MsIGxvYy5zdGFydCk7XG4gICAgICAgIGlmIChsZWFkaW5nU3BhY2UubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGUgbGVhZGluZyBzcGFjZSBjb250YWlucyBubyBuZXdsaW5lcywgdGhlbiB3ZSB3YW50IHRvXG4gICAgICAgICAgICAvLyBwcmVzZXJ2ZSBpdCBleGFjdGx5IGFzIHdlIGZvdW5kIGl0LlxuICAgICAgICAgICAgcGFydHMucHVzaChsZWFkaW5nU3BhY2UpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gSWYgdGhlIGxlYWRpbmcgc3BhY2UgY29udGFpbnMgbmV3bGluZXMsIHRoZW4gcmVwbGFjZSBpdFxuICAgICAgICAgICAgLy8gd2l0aCBqdXN0IHRoYXQgbWFueSBuZXdsaW5lcywgc2FucyBhbGwgb3RoZXIgc3BhY2VzLlxuICAgICAgICAgICAgcGFydHMucHVzaChuZXcgQXJyYXkobGVhZGluZ1NwYWNlLmxlbmd0aCkuam9pbihcIlxcblwiKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcGFydHMucHVzaChwcmludChjb21tZW50UGF0aCkpO1xuICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbn1cbmZ1bmN0aW9uIHByaW50Q29tbWVudHMocGF0aCwgcHJpbnQpIHtcbiAgICB2YXIgdmFsdWUgPSBwYXRoLmdldFZhbHVlKCk7XG4gICAgdmFyIGlubmVyTGluZXMgPSBwcmludChwYXRoKTtcbiAgICB2YXIgY29tbWVudHMgPSBuLk5vZGUuY2hlY2sodmFsdWUpICYmIHR5cGVzLmdldEZpZWxkVmFsdWUodmFsdWUsIFwiY29tbWVudHNcIik7XG4gICAgaWYgKCFjb21tZW50cyB8fCBjb21tZW50cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIGlubmVyTGluZXM7XG4gICAgfVxuICAgIHZhciBsZWFkaW5nUGFydHMgPSBbXTtcbiAgICB2YXIgdHJhaWxpbmdQYXJ0cyA9IFtpbm5lckxpbmVzXTtcbiAgICBwYXRoLmVhY2goZnVuY3Rpb24gKGNvbW1lbnRQYXRoKSB7XG4gICAgICAgIHZhciBjb21tZW50ID0gY29tbWVudFBhdGguZ2V0VmFsdWUoKTtcbiAgICAgICAgdmFyIGxlYWRpbmcgPSB0eXBlcy5nZXRGaWVsZFZhbHVlKGNvbW1lbnQsIFwibGVhZGluZ1wiKTtcbiAgICAgICAgdmFyIHRyYWlsaW5nID0gdHlwZXMuZ2V0RmllbGRWYWx1ZShjb21tZW50LCBcInRyYWlsaW5nXCIpO1xuICAgICAgICBpZiAobGVhZGluZyB8fFxuICAgICAgICAgICAgKHRyYWlsaW5nICYmXG4gICAgICAgICAgICAgICAgIShuLlN0YXRlbWVudC5jaGVjayh2YWx1ZSkgfHxcbiAgICAgICAgICAgICAgICAgICAgY29tbWVudC50eXBlID09PSBcIkJsb2NrXCIgfHxcbiAgICAgICAgICAgICAgICAgICAgY29tbWVudC50eXBlID09PSBcIkNvbW1lbnRCbG9ja1wiKSkpIHtcbiAgICAgICAgICAgIGxlYWRpbmdQYXJ0cy5wdXNoKHByaW50TGVhZGluZ0NvbW1lbnQoY29tbWVudFBhdGgsIHByaW50KSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodHJhaWxpbmcpIHtcbiAgICAgICAgICAgIHRyYWlsaW5nUGFydHMucHVzaChwcmludFRyYWlsaW5nQ29tbWVudChjb21tZW50UGF0aCwgcHJpbnQpKTtcbiAgICAgICAgfVxuICAgIH0sIFwiY29tbWVudHNcIik7XG4gICAgbGVhZGluZ1BhcnRzLnB1c2guYXBwbHkobGVhZGluZ1BhcnRzLCB0cmFpbGluZ1BhcnRzKTtcbiAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShsZWFkaW5nUGFydHMpO1xufVxuZXhwb3J0cy5wcmludENvbW1lbnRzID0gcHJpbnRDb21tZW50cztcbiIsICJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbmV4cG9ydHMucGFyc2UgPSB2b2lkIDA7XG52YXIgdHNsaWJfMSA9IHJlcXVpcmUoXCJ0c2xpYlwiKTtcbnZhciB0aW55X2ludmFyaWFudF8xID0gdHNsaWJfMS5fX2ltcG9ydERlZmF1bHQocmVxdWlyZShcInRpbnktaW52YXJpYW50XCIpKTtcbnZhciB0eXBlcyA9IHRzbGliXzEuX19pbXBvcnRTdGFyKHJlcXVpcmUoXCJhc3QtdHlwZXNcIikpO1xudmFyIGIgPSB0eXBlcy5idWlsZGVycztcbnZhciBpc09iamVjdCA9IHR5cGVzLmJ1aWx0SW5UeXBlcy5vYmplY3Q7XG52YXIgaXNBcnJheSA9IHR5cGVzLmJ1aWx0SW5UeXBlcy5hcnJheTtcbnZhciBvcHRpb25zXzEgPSByZXF1aXJlKFwiLi9vcHRpb25zXCIpO1xudmFyIGxpbmVzXzEgPSByZXF1aXJlKFwiLi9saW5lc1wiKTtcbnZhciBjb21tZW50c18xID0gcmVxdWlyZShcIi4vY29tbWVudHNcIik7XG52YXIgdXRpbCA9IHRzbGliXzEuX19pbXBvcnRTdGFyKHJlcXVpcmUoXCIuL3V0aWxcIikpO1xuZnVuY3Rpb24gcGFyc2Uoc291cmNlLCBvcHRpb25zKSB7XG4gICAgb3B0aW9ucyA9ICgwLCBvcHRpb25zXzEubm9ybWFsaXplKShvcHRpb25zKTtcbiAgICB2YXIgbGluZXMgPSAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShzb3VyY2UsIG9wdGlvbnMpO1xuICAgIHZhciBzb3VyY2VXaXRob3V0VGFicyA9IGxpbmVzLnRvU3RyaW5nKHtcbiAgICAgICAgdGFiV2lkdGg6IG9wdGlvbnMudGFiV2lkdGgsXG4gICAgICAgIHJldXNlV2hpdGVzcGFjZTogZmFsc2UsXG4gICAgICAgIHVzZVRhYnM6IGZhbHNlLFxuICAgIH0pO1xuICAgIHZhciBjb21tZW50cyA9IFtdO1xuICAgIHZhciBhc3QgPSBvcHRpb25zLnBhcnNlci5wYXJzZShzb3VyY2VXaXRob3V0VGFicywge1xuICAgICAgICBqc3g6IHRydWUsXG4gICAgICAgIGxvYzogdHJ1ZSxcbiAgICAgICAgbG9jYXRpb25zOiB0cnVlLFxuICAgICAgICByYW5nZTogb3B0aW9ucy5yYW5nZSxcbiAgICAgICAgY29tbWVudDogdHJ1ZSxcbiAgICAgICAgb25Db21tZW50OiBjb21tZW50cyxcbiAgICAgICAgdG9sZXJhbnQ6IHV0aWwuZ2V0T3B0aW9uKG9wdGlvbnMsIFwidG9sZXJhbnRcIiwgdHJ1ZSksXG4gICAgICAgIGVjbWFWZXJzaW9uOiA2LFxuICAgICAgICBzb3VyY2VUeXBlOiB1dGlsLmdldE9wdGlvbihvcHRpb25zLCBcInNvdXJjZVR5cGVcIiwgXCJtb2R1bGVcIiksXG4gICAgfSk7XG4gICAgLy8gVXNlIGFzdC50b2tlbnMgaWYgcG9zc2libGUsIGFuZCBvdGhlcndpc2UgZmFsbCBiYWNrIHRvIHRoZSBFc3ByaW1hXG4gICAgLy8gdG9rZW5pemVyLiBBbGwgdGhlIHByZWNvbmZpZ3VyZWQgLi4vcGFyc2Vycy8qIGV4cG9zZSBhc3QudG9rZW5zXG4gICAgLy8gYXV0b21hdGljYWxseSwgYnV0IGN1c3RvbSBwYXJzZXJzIG1pZ2h0IG5lZWQgYWRkaXRpb25hbCBjb25maWd1cmF0aW9uXG4gICAgLy8gdG8gYXZvaWQgdGhpcyBmYWxsYmFjay5cbiAgICB2YXIgdG9rZW5zID0gQXJyYXkuaXNBcnJheShhc3QudG9rZW5zKVxuICAgICAgICA/IGFzdC50b2tlbnNcbiAgICAgICAgOiByZXF1aXJlKFwiZXNwcmltYVwiKS50b2tlbml6ZShzb3VyY2VXaXRob3V0VGFicywge1xuICAgICAgICAgICAgbG9jOiB0cnVlLFxuICAgICAgICB9KTtcbiAgICAvLyBXZSB3aWxsIHJlYXR0YWNoIHRoZSB0b2tlbnMgYXJyYXkgdG8gdGhlIGZpbGUgb2JqZWN0IGJlbG93LlxuICAgIGRlbGV0ZSBhc3QudG9rZW5zO1xuICAgIC8vIE1ha2Ugc3VyZSBldmVyeSB0b2tlbiBoYXMgYSB0b2tlbi52YWx1ZSBzdHJpbmcuXG4gICAgdG9rZW5zLmZvckVhY2goZnVuY3Rpb24gKHRva2VuKSB7XG4gICAgICAgIGlmICh0eXBlb2YgdG9rZW4udmFsdWUgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgIHRva2VuLnZhbHVlID0gbGluZXMuc2xpY2VTdHJpbmcodG9rZW4ubG9jLnN0YXJ0LCB0b2tlbi5sb2MuZW5kKTtcbiAgICAgICAgfVxuICAgIH0pO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGFzdC5jb21tZW50cykpIHtcbiAgICAgICAgY29tbWVudHMgPSBhc3QuY29tbWVudHM7XG4gICAgICAgIGRlbGV0ZSBhc3QuY29tbWVudHM7XG4gICAgfVxuICAgIGlmIChhc3QubG9jKSB7XG4gICAgICAgIC8vIElmIHRoZSBzb3VyY2Ugd2FzIGVtcHR5LCBzb21lIHBhcnNlcnMgZ2l2ZSBsb2Mue3N0YXJ0LGVuZH0ubGluZVxuICAgICAgICAvLyB2YWx1ZXMgb2YgMCwgaW5zdGVhZCBvZiB0aGUgbWluaW11bSBvZiAxLlxuICAgICAgICB1dGlsLmZpeEZhdWx0eUxvY2F0aW9ucyhhc3QsIGxpbmVzKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIGFzdC5sb2MgPSB7XG4gICAgICAgICAgICBzdGFydDogbGluZXMuZmlyc3RQb3MoKSxcbiAgICAgICAgICAgIGVuZDogbGluZXMubGFzdFBvcygpLFxuICAgICAgICB9O1xuICAgIH1cbiAgICBhc3QubG9jLmxpbmVzID0gbGluZXM7XG4gICAgYXN0LmxvYy5pbmRlbnQgPSAwO1xuICAgIHZhciBmaWxlO1xuICAgIHZhciBwcm9ncmFtO1xuICAgIGlmIChhc3QudHlwZSA9PT0gXCJQcm9ncmFtXCIpIHtcbiAgICAgICAgcHJvZ3JhbSA9IGFzdDtcbiAgICAgICAgLy8gSW4gb3JkZXIgdG8gZW5zdXJlIHdlIHJlcHJpbnQgbGVhZGluZyBhbmQgdHJhaWxpbmcgcHJvZ3JhbVxuICAgICAgICAvLyBjb21tZW50cywgd3JhcCB0aGUgb3JpZ2luYWwgUHJvZ3JhbSBub2RlIHdpdGggYSBGaWxlIG5vZGUuIE9ubHlcbiAgICAgICAgLy8gRVNUcmVlIHBhcnNlcnMgKEFjb3JuIGFuZCBFc3ByaW1hKSByZXR1cm4gYSBQcm9ncmFtIGFzIHRoZSByb290IEFTVFxuICAgICAgICAvLyBub2RlLiBNb3N0IG90aGVyIChCYWJ5bG9uLWxpa2UpIHBhcnNlcnMgcmV0dXJuIGEgRmlsZS5cbiAgICAgICAgZmlsZSA9IGIuZmlsZShhc3QsIG9wdGlvbnMuc291cmNlRmlsZU5hbWUgfHwgbnVsbCk7XG4gICAgICAgIGZpbGUubG9jID0ge1xuICAgICAgICAgICAgc3RhcnQ6IGxpbmVzLmZpcnN0UG9zKCksXG4gICAgICAgICAgICBlbmQ6IGxpbmVzLmxhc3RQb3MoKSxcbiAgICAgICAgICAgIGxpbmVzOiBsaW5lcyxcbiAgICAgICAgICAgIGluZGVudDogMCxcbiAgICAgICAgfTtcbiAgICB9XG4gICAgZWxzZSBpZiAoYXN0LnR5cGUgPT09IFwiRmlsZVwiKSB7XG4gICAgICAgIGZpbGUgPSBhc3Q7XG4gICAgICAgIHByb2dyYW0gPSBmaWxlLnByb2dyYW07XG4gICAgfVxuICAgIC8vIEV4cG9zZSBmaWxlLnRva2VucyB1bmxlc3MgdGhlIGNhbGxlciBwYXNzZWQgZmFsc2UgZm9yIG9wdGlvbnMudG9rZW5zLlxuICAgIGlmIChvcHRpb25zLnRva2Vucykge1xuICAgICAgICBmaWxlLnRva2VucyA9IHRva2VucztcbiAgICB9XG4gICAgLy8gRXhwYW5kIHRoZSBQcm9ncmFtJ3MgLmxvYyB0byBpbmNsdWRlIGFsbCBjb21tZW50cyAobm90IGp1c3QgdGhvc2VcbiAgICAvLyBhdHRhY2hlZCB0byB0aGUgUHJvZ3JhbSBub2RlLCBhcyBpdHMgY2hpbGRyZW4gbWF5IGhhdmUgY29tbWVudHMgYXNcbiAgICAvLyB3ZWxsKSwgc2luY2Ugc29tZXRpbWVzIHByb2dyYW0ubG9jLntzdGFydCxlbmR9IHdpbGwgY29pbmNpZGUgd2l0aCB0aGVcbiAgICAvLyAubG9jLntzdGFydCxlbmR9IG9mIHRoZSBmaXJzdCBhbmQgbGFzdCAqc3RhdGVtZW50cyosIG1pc3Rha2VubHlcbiAgICAvLyBleGNsdWRpbmcgY29tbWVudHMgdGhhdCBmYWxsIG91dHNpZGUgdGhhdCByZWdpb24uXG4gICAgdmFyIHRydWVQcm9ncmFtTG9jID0gdXRpbC5nZXRUcnVlTG9jKHtcbiAgICAgICAgdHlwZTogcHJvZ3JhbS50eXBlLFxuICAgICAgICBsb2M6IHByb2dyYW0ubG9jLFxuICAgICAgICBib2R5OiBbXSxcbiAgICAgICAgY29tbWVudHM6IGNvbW1lbnRzLFxuICAgIH0sIGxpbmVzKTtcbiAgICBwcm9ncmFtLmxvYy5zdGFydCA9IHRydWVQcm9ncmFtTG9jLnN0YXJ0O1xuICAgIHByb2dyYW0ubG9jLmVuZCA9IHRydWVQcm9ncmFtTG9jLmVuZDtcbiAgICAvLyBQYXNzaW5nIGZpbGUucHJvZ3JhbSBoZXJlIGluc3RlYWQgb2YganVzdCBmaWxlIG1lYW5zIHRoYXQgaW5pdGlhbFxuICAgIC8vIGNvbW1lbnRzIHdpbGwgYmUgYXR0YWNoZWQgdG8gcHJvZ3JhbS5ib2R5WzBdIGluc3RlYWQgb2YgcHJvZ3JhbS5cbiAgICAoMCwgY29tbWVudHNfMS5hdHRhY2gpKGNvbW1lbnRzLCBwcm9ncmFtLmJvZHkubGVuZ3RoID8gZmlsZS5wcm9ncmFtIDogZmlsZSwgbGluZXMpO1xuICAgIC8vIFJldHVybiBhIGNvcHkgb2YgdGhlIG9yaWdpbmFsIEFTVCBzbyB0aGF0IGFueSBjaGFuZ2VzIG1hZGUgbWF5IGJlXG4gICAgLy8gY29tcGFyZWQgdG8gdGhlIG9yaWdpbmFsLlxuICAgIHJldHVybiBuZXcgVHJlZUNvcGllcihsaW5lcywgdG9rZW5zKS5jb3B5KGZpbGUpO1xufVxuZXhwb3J0cy5wYXJzZSA9IHBhcnNlO1xudmFyIFRyZWVDb3BpZXIgPSBmdW5jdGlvbiBUcmVlQ29waWVyKGxpbmVzLCB0b2tlbnMpIHtcbiAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KSh0aGlzIGluc3RhbmNlb2YgVHJlZUNvcGllcik7XG4gICAgdGhpcy5saW5lcyA9IGxpbmVzO1xuICAgIHRoaXMudG9rZW5zID0gdG9rZW5zO1xuICAgIHRoaXMuc3RhcnRUb2tlbkluZGV4ID0gMDtcbiAgICB0aGlzLmVuZFRva2VuSW5kZXggPSB0b2tlbnMubGVuZ3RoO1xuICAgIHRoaXMuaW5kZW50ID0gMDtcbiAgICB0aGlzLnNlZW4gPSBuZXcgTWFwKCk7XG59O1xudmFyIFRDcCA9IFRyZWVDb3BpZXIucHJvdG90eXBlO1xuVENwLmNvcHkgPSBmdW5jdGlvbiAobm9kZSkge1xuICAgIGlmICh0aGlzLnNlZW4uaGFzKG5vZGUpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNlZW4uZ2V0KG5vZGUpO1xuICAgIH1cbiAgICBpZiAoaXNBcnJheS5jaGVjayhub2RlKSkge1xuICAgICAgICB2YXIgY29weV8xID0gbmV3IEFycmF5KG5vZGUubGVuZ3RoKTtcbiAgICAgICAgdGhpcy5zZWVuLnNldChub2RlLCBjb3B5XzEpO1xuICAgICAgICBub2RlLmZvckVhY2goZnVuY3Rpb24gKGl0ZW0sIGkpIHtcbiAgICAgICAgICAgIGNvcHlfMVtpXSA9IHRoaXMuY29weShpdGVtKTtcbiAgICAgICAgfSwgdGhpcyk7XG4gICAgICAgIHJldHVybiBjb3B5XzE7XG4gICAgfVxuICAgIGlmICghaXNPYmplY3QuY2hlY2sobm9kZSkpIHtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfVxuICAgIHV0aWwuZml4RmF1bHR5TG9jYXRpb25zKG5vZGUsIHRoaXMubGluZXMpO1xuICAgIHZhciBjb3B5ID0gT2JqZWN0LmNyZWF0ZShPYmplY3QuZ2V0UHJvdG90eXBlT2Yobm9kZSksIHtcbiAgICAgICAgb3JpZ2luYWw6IHtcbiAgICAgICAgICAgIC8vIFByb3ZpZGUgYSBsaW5rIGZyb20gdGhlIGNvcHkgdG8gdGhlIG9yaWdpbmFsLlxuICAgICAgICAgICAgdmFsdWU6IG5vZGUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICB9KTtcbiAgICB0aGlzLnNlZW4uc2V0KG5vZGUsIGNvcHkpO1xuICAgIHZhciBsb2MgPSBub2RlLmxvYztcbiAgICB2YXIgb2xkSW5kZW50ID0gdGhpcy5pbmRlbnQ7XG4gICAgdmFyIG5ld0luZGVudCA9IG9sZEluZGVudDtcbiAgICB2YXIgb2xkU3RhcnRUb2tlbkluZGV4ID0gdGhpcy5zdGFydFRva2VuSW5kZXg7XG4gICAgdmFyIG9sZEVuZFRva2VuSW5kZXggPSB0aGlzLmVuZFRva2VuSW5kZXg7XG4gICAgaWYgKGxvYykge1xuICAgICAgICAvLyBXaGVuIG5vZGUgaXMgYSBjb21tZW50LCB3ZSBzZXQgbm9kZS5sb2MuaW5kZW50IHRvXG4gICAgICAgIC8vIG5vZGUubG9jLnN0YXJ0LmNvbHVtbiBzbyB0aGF0LCB3aGVuL2lmIHdlIHByaW50IHRoZSBjb21tZW50IGJ5XG4gICAgICAgIC8vIGl0c2VsZiwgd2UgY2FuIHN0cmlwIHRoYXQgbXVjaCB3aGl0ZXNwYWNlIGZyb20gdGhlIGxlZnQgbWFyZ2luIG9mXG4gICAgICAgIC8vIHRoZSBjb21tZW50LiBUaGlzIG9ubHkgcmVhbGx5IG1hdHRlcnMgZm9yIG11bHRpbGluZSBCbG9jayBjb21tZW50cyxcbiAgICAgICAgLy8gYnV0IGl0IGRvZXNuJ3QgaHVydCBmb3IgTGluZSBjb21tZW50cy5cbiAgICAgICAgaWYgKG5vZGUudHlwZSA9PT0gXCJCbG9ja1wiIHx8XG4gICAgICAgICAgICBub2RlLnR5cGUgPT09IFwiTGluZVwiIHx8XG4gICAgICAgICAgICBub2RlLnR5cGUgPT09IFwiQ29tbWVudEJsb2NrXCIgfHxcbiAgICAgICAgICAgIG5vZGUudHlwZSA9PT0gXCJDb21tZW50TGluZVwiIHx8XG4gICAgICAgICAgICB0aGlzLmxpbmVzLmlzUHJlY2VkZWRPbmx5QnlXaGl0ZXNwYWNlKGxvYy5zdGFydCkpIHtcbiAgICAgICAgICAgIG5ld0luZGVudCA9IHRoaXMuaW5kZW50ID0gbG9jLnN0YXJ0LmNvbHVtbjtcbiAgICAgICAgfVxuICAgICAgICAvLyBFdmVyeSBub2RlLmxvYyBoYXMgYSByZWZlcmVuY2UgdG8gdGhlIG9yaWdpbmFsIHNvdXJjZSBsaW5lcyBhcyB3ZWxsXG4gICAgICAgIC8vIGFzIGEgY29tcGxldGUgbGlzdCBvZiBzb3VyY2UgdG9rZW5zLlxuICAgICAgICBsb2MubGluZXMgPSB0aGlzLmxpbmVzO1xuICAgICAgICBsb2MudG9rZW5zID0gdGhpcy50b2tlbnM7XG4gICAgICAgIGxvYy5pbmRlbnQgPSBuZXdJbmRlbnQ7XG4gICAgICAgIC8vIFNldCBsb2Muc3RhcnQudG9rZW4gYW5kIGxvYy5lbmQudG9rZW4gc3VjaCB0aGF0XG4gICAgICAgIC8vIGxvYy50b2tlbnMuc2xpY2UobG9jLnN0YXJ0LnRva2VuLCBsb2MuZW5kLnRva2VuKSByZXR1cm5zIGEgbGlzdCBvZlxuICAgICAgICAvLyBhbGwgdGhlIHRva2VucyB0aGF0IG1ha2UgdXAgdGhpcyBub2RlLlxuICAgICAgICB0aGlzLmZpbmRUb2tlblJhbmdlKGxvYyk7XG4gICAgfVxuICAgIHZhciBrZXlzID0gT2JqZWN0LmtleXMobm9kZSk7XG4gICAgdmFyIGtleUNvdW50ID0ga2V5cy5sZW5ndGg7XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBrZXlDb3VudDsgKytpKSB7XG4gICAgICAgIHZhciBrZXkgPSBrZXlzW2ldO1xuICAgICAgICBpZiAoa2V5ID09PSBcImxvY1wiKSB7XG4gICAgICAgICAgICBjb3B5W2tleV0gPSBub2RlW2tleV07XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoa2V5ID09PSBcInRva2Vuc1wiICYmIG5vZGUudHlwZSA9PT0gXCJGaWxlXCIpIHtcbiAgICAgICAgICAgIC8vIFByZXNlcnZlIGZpbGUudG9rZW5zICh1bmNvcGllZCkgaW4gY2FzZSBjbGllbnQgY29kZSBjYXJlcyBhYm91dFxuICAgICAgICAgICAgLy8gaXQsIGV2ZW4gdGhvdWdoIFJlY2FzdCBpZ25vcmVzIGl0IHdoZW4gcmVwcmludGluZy5cbiAgICAgICAgICAgIGNvcHlba2V5XSA9IG5vZGVba2V5XTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGNvcHlba2V5XSA9IHRoaXMuY29weShub2RlW2tleV0pO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRoaXMuaW5kZW50ID0gb2xkSW5kZW50O1xuICAgIHRoaXMuc3RhcnRUb2tlbkluZGV4ID0gb2xkU3RhcnRUb2tlbkluZGV4O1xuICAgIHRoaXMuZW5kVG9rZW5JbmRleCA9IG9sZEVuZFRva2VuSW5kZXg7XG4gICAgcmV0dXJuIGNvcHk7XG59O1xuLy8gSWYgd2UgZGlkbid0IGhhdmUgYW55IGlkZWEgd2hlcmUgaW4gbG9jLnRva2VucyB0byBsb29rIGZvciB0b2tlbnNcbi8vIGNvbnRhaW5lZCBieSB0aGlzIGxvYywgYSBiaW5hcnkgc2VhcmNoIHdvdWxkIGJlIGFwcHJvcHJpYXRlLCBidXRcbi8vIGJlY2F1c2Ugd2UgbWFpbnRhaW4gdGhpcy5zdGFydFRva2VuSW5kZXggYW5kIHRoaXMuZW5kVG9rZW5JbmRleCBhcyB3ZVxuLy8gdHJhdmVyc2UgdGhlIEFTVCwgd2Ugb25seSBuZWVkIHRvIG1ha2Ugc21hbGwgKGxpbmVhcikgYWRqdXN0bWVudHMgdG9cbi8vIHRob3NlIGluZGV4ZXMgd2l0aCBlYWNoIHJlY3Vyc2l2ZSBpdGVyYXRpb24uXG5UQ3AuZmluZFRva2VuUmFuZ2UgPSBmdW5jdGlvbiAobG9jKSB7XG4gICAgLy8gSW4gdGhlIHVubGlrZWx5IGV2ZW50IHRoYXQgbG9jLnRva2Vuc1t0aGlzLnN0YXJ0VG9rZW5JbmRleF0gc3RhcnRzXG4gICAgLy8gKmFmdGVyKiBsb2Muc3RhcnQsIHdlIG5lZWQgdG8gcmV3aW5kIHRoaXMuc3RhcnRUb2tlbkluZGV4IGZpcnN0LlxuICAgIHdoaWxlICh0aGlzLnN0YXJ0VG9rZW5JbmRleCA+IDApIHtcbiAgICAgICAgdmFyIHRva2VuID0gbG9jLnRva2Vuc1t0aGlzLnN0YXJ0VG9rZW5JbmRleF07XG4gICAgICAgIGlmICh1dGlsLmNvbXBhcmVQb3MobG9jLnN0YXJ0LCB0b2tlbi5sb2Muc3RhcnQpIDwgMCkge1xuICAgICAgICAgICAgLS10aGlzLnN0YXJ0VG9rZW5JbmRleDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG4gICAgLy8gSW4gdGhlIHVubGlrZWx5IGV2ZW50IHRoYXQgbG9jLnRva2Vuc1t0aGlzLmVuZFRva2VuSW5kZXggLSAxXSBlbmRzXG4gICAgLy8gKmJlZm9yZSogbG9jLmVuZCwgd2UgbmVlZCB0byBmYXN0LWZvcndhcmQgdGhpcy5lbmRUb2tlbkluZGV4IGZpcnN0LlxuICAgIHdoaWxlICh0aGlzLmVuZFRva2VuSW5kZXggPCBsb2MudG9rZW5zLmxlbmd0aCkge1xuICAgICAgICB2YXIgdG9rZW4gPSBsb2MudG9rZW5zW3RoaXMuZW5kVG9rZW5JbmRleF07XG4gICAgICAgIGlmICh1dGlsLmNvbXBhcmVQb3ModG9rZW4ubG9jLmVuZCwgbG9jLmVuZCkgPCAwKSB7XG4gICAgICAgICAgICArK3RoaXMuZW5kVG9rZW5JbmRleDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG4gICAgLy8gSW5jcmVtZW50IHRoaXMuc3RhcnRUb2tlbkluZGV4IHVudGlsIHdlJ3ZlIGZvdW5kIHRoZSBmaXJzdCB0b2tlblxuICAgIC8vIGNvbnRhaW5lZCBieSB0aGlzIG5vZGUuXG4gICAgd2hpbGUgKHRoaXMuc3RhcnRUb2tlbkluZGV4IDwgdGhpcy5lbmRUb2tlbkluZGV4KSB7XG4gICAgICAgIHZhciB0b2tlbiA9IGxvYy50b2tlbnNbdGhpcy5zdGFydFRva2VuSW5kZXhdO1xuICAgICAgICBpZiAodXRpbC5jb21wYXJlUG9zKHRva2VuLmxvYy5zdGFydCwgbG9jLnN0YXJ0KSA8IDApIHtcbiAgICAgICAgICAgICsrdGhpcy5zdGFydFRva2VuSW5kZXg7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIC8vIEluZGV4IGludG8gbG9jLnRva2VucyBvZiB0aGUgZmlyc3QgdG9rZW4gd2l0aGluIHRoaXMgbm9kZS5cbiAgICBsb2Muc3RhcnQudG9rZW4gPSB0aGlzLnN0YXJ0VG9rZW5JbmRleDtcbiAgICAvLyBEZWNyZW1lbnQgdGhpcy5lbmRUb2tlbkluZGV4IHVudGlsIHdlJ3ZlIGZvdW5kIHRoZSBmaXJzdCB0b2tlbiBhZnRlclxuICAgIC8vIHRoaXMgbm9kZSAobm90IGNvbnRhaW5lZCBieSB0aGUgbm9kZSkuXG4gICAgd2hpbGUgKHRoaXMuZW5kVG9rZW5JbmRleCA+IHRoaXMuc3RhcnRUb2tlbkluZGV4KSB7XG4gICAgICAgIHZhciB0b2tlbiA9IGxvYy50b2tlbnNbdGhpcy5lbmRUb2tlbkluZGV4IC0gMV07XG4gICAgICAgIGlmICh1dGlsLmNvbXBhcmVQb3MobG9jLmVuZCwgdG9rZW4ubG9jLmVuZCkgPCAwKSB7XG4gICAgICAgICAgICAtLXRoaXMuZW5kVG9rZW5JbmRleDtcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICBicmVhaztcbiAgICB9XG4gICAgLy8gSW5kZXggaW50byBsb2MudG9rZW5zIG9mIHRoZSBmaXJzdCB0b2tlbiAqYWZ0ZXIqIHRoaXMgbm9kZS5cbiAgICAvLyBJZiBsb2Muc3RhcnQudG9rZW4gPT09IGxvYy5lbmQudG9rZW4sIHRoZSBub2RlIGNvbnRhaW5zIG5vIHRva2VucyxcbiAgICAvLyBhbmQgdGhlIGluZGV4IGlzIHRoYXQgb2YgdGhlIG5leHQgdG9rZW4gZm9sbG93aW5nIHRoaXMgbm9kZS5cbiAgICBsb2MuZW5kLnRva2VuID0gdGhpcy5lbmRUb2tlbkluZGV4O1xufTtcbiIsICJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciB0c2xpYl8xID0gcmVxdWlyZShcInRzbGliXCIpO1xudmFyIHRpbnlfaW52YXJpYW50XzEgPSB0c2xpYl8xLl9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwidGlueS1pbnZhcmlhbnRcIikpO1xudmFyIHR5cGVzID0gdHNsaWJfMS5fX2ltcG9ydFN0YXIocmVxdWlyZShcImFzdC10eXBlc1wiKSk7XG52YXIgdXRpbCA9IHRzbGliXzEuX19pbXBvcnRTdGFyKHJlcXVpcmUoXCIuL3V0aWxcIikpO1xudmFyIG4gPSB0eXBlcy5uYW1lZFR5cGVzO1xudmFyIGlzQXJyYXkgPSB0eXBlcy5idWlsdEluVHlwZXMuYXJyYXk7XG52YXIgaXNOdW1iZXIgPSB0eXBlcy5idWlsdEluVHlwZXMubnVtYmVyO1xudmFyIFBSRUNFREVOQ0UgPSB7fTtcbltcbiAgICBbXCI/P1wiXSxcbiAgICBbXCJ8fFwiXSxcbiAgICBbXCImJlwiXSxcbiAgICBbXCJ8XCJdLFxuICAgIFtcIl5cIl0sXG4gICAgW1wiJlwiXSxcbiAgICBbXCI9PVwiLCBcIj09PVwiLCBcIiE9XCIsIFwiIT09XCJdLFxuICAgIFtcIjxcIiwgXCI+XCIsIFwiPD1cIiwgXCI+PVwiLCBcImluXCIsIFwiaW5zdGFuY2VvZlwiXSxcbiAgICBbXCI+PlwiLCBcIjw8XCIsIFwiPj4+XCJdLFxuICAgIFtcIitcIiwgXCItXCJdLFxuICAgIFtcIipcIiwgXCIvXCIsIFwiJVwiXSxcbiAgICBbXCIqKlwiXSxcbl0uZm9yRWFjaChmdW5jdGlvbiAodGllciwgaSkge1xuICAgIHRpZXIuZm9yRWFjaChmdW5jdGlvbiAob3ApIHtcbiAgICAgICAgUFJFQ0VERU5DRVtvcF0gPSBpO1xuICAgIH0pO1xufSk7XG52YXIgRmFzdFBhdGggPSBmdW5jdGlvbiBGYXN0UGF0aCh2YWx1ZSkge1xuICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHRoaXMgaW5zdGFuY2VvZiBGYXN0UGF0aCk7XG4gICAgdGhpcy5zdGFjayA9IFt2YWx1ZV07XG59O1xudmFyIEZQcCA9IEZhc3RQYXRoLnByb3RvdHlwZTtcbi8vIFN0YXRpYyBjb252ZW5pZW5jZSBmdW5jdGlvbiBmb3IgY29lcmNpbmcgYSB2YWx1ZSB0byBhIEZhc3RQYXRoLlxuRmFzdFBhdGguZnJvbSA9IGZ1bmN0aW9uIChvYmopIHtcbiAgICBpZiAob2JqIGluc3RhbmNlb2YgRmFzdFBhdGgpIHtcbiAgICAgICAgLy8gUmV0dXJuIGEgZGVmZW5zaXZlIGNvcHkgb2YgYW55IGV4aXN0aW5nIEZhc3RQYXRoIGluc3RhbmNlcy5cbiAgICAgICAgcmV0dXJuIG9iai5jb3B5KCk7XG4gICAgfVxuICAgIGlmIChvYmogaW5zdGFuY2VvZiB0eXBlcy5Ob2RlUGF0aCkge1xuICAgICAgICAvLyBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHVucm9sbCBOb2RlUGF0aCBpbnN0YW5jZXMgaW50b1xuICAgICAgICAvLyBsaWdodHdlaWdodCBGYXN0UGF0aCBbLi4uLCBuYW1lLCB2YWx1ZV0gc3RhY2tzLlxuICAgICAgICB2YXIgY29weSA9IE9iamVjdC5jcmVhdGUoRmFzdFBhdGgucHJvdG90eXBlKTtcbiAgICAgICAgdmFyIHN0YWNrID0gW29iai52YWx1ZV07XG4gICAgICAgIGZvciAodmFyIHBwID0gdm9pZCAwOyAocHAgPSBvYmoucGFyZW50UGF0aCk7IG9iaiA9IHBwKVxuICAgICAgICAgICAgc3RhY2sucHVzaChvYmoubmFtZSwgcHAudmFsdWUpO1xuICAgICAgICBjb3B5LnN0YWNrID0gc3RhY2sucmV2ZXJzZSgpO1xuICAgICAgICByZXR1cm4gY29weTtcbiAgICB9XG4gICAgLy8gT3RoZXJ3aXNlIHVzZSBvYmogYXMgdGhlIHZhbHVlIG9mIHRoZSBuZXcgRmFzdFBhdGggaW5zdGFuY2UuXG4gICAgcmV0dXJuIG5ldyBGYXN0UGF0aChvYmopO1xufTtcbkZQcC5jb3B5ID0gZnVuY3Rpb24gY29weSgpIHtcbiAgICB2YXIgY29weSA9IE9iamVjdC5jcmVhdGUoRmFzdFBhdGgucHJvdG90eXBlKTtcbiAgICBjb3B5LnN0YWNrID0gdGhpcy5zdGFjay5zbGljZSgwKTtcbiAgICByZXR1cm4gY29weTtcbn07XG4vLyBUaGUgbmFtZSBvZiB0aGUgY3VycmVudCBwcm9wZXJ0eSBpcyBhbHdheXMgdGhlIHBlbnVsdGltYXRlIGVsZW1lbnQgb2Zcbi8vIHRoaXMuc3RhY2ssIGFuZCBhbHdheXMgYSBTdHJpbmcuXG5GUHAuZ2V0TmFtZSA9IGZ1bmN0aW9uIGdldE5hbWUoKSB7XG4gICAgdmFyIHMgPSB0aGlzLnN0YWNrO1xuICAgIHZhciBsZW4gPSBzLmxlbmd0aDtcbiAgICBpZiAobGVuID4gMSkge1xuICAgICAgICByZXR1cm4gc1tsZW4gLSAyXTtcbiAgICB9XG4gICAgLy8gU2luY2UgdGhlIG5hbWUgaXMgYWx3YXlzIGEgc3RyaW5nLCBudWxsIGlzIGEgc2FmZSBzZW50aW5lbCB2YWx1ZSB0b1xuICAgIC8vIHJldHVybiBpZiB3ZSBkbyBub3Qga25vdyB0aGUgbmFtZSBvZiB0aGUgKHJvb3QpIHZhbHVlLlxuICAgIHJldHVybiBudWxsO1xufTtcbi8vIFRoZSB2YWx1ZSBvZiB0aGUgY3VycmVudCBwcm9wZXJ0eSBpcyBhbHdheXMgdGhlIGZpbmFsIGVsZW1lbnQgb2Zcbi8vIHRoaXMuc3RhY2suXG5GUHAuZ2V0VmFsdWUgPSBmdW5jdGlvbiBnZXRWYWx1ZSgpIHtcbiAgICB2YXIgcyA9IHRoaXMuc3RhY2s7XG4gICAgcmV0dXJuIHNbcy5sZW5ndGggLSAxXTtcbn07XG5GUHAudmFsdWVJc0R1cGxpY2F0ZSA9IGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgcyA9IHRoaXMuc3RhY2s7XG4gICAgdmFyIHZhbHVlSW5kZXggPSBzLmxlbmd0aCAtIDE7XG4gICAgcmV0dXJuIHMubGFzdEluZGV4T2Yoc1t2YWx1ZUluZGV4XSwgdmFsdWVJbmRleCAtIDEpID49IDA7XG59O1xuZnVuY3Rpb24gZ2V0Tm9kZUhlbHBlcihwYXRoLCBjb3VudCkge1xuICAgIHZhciBzID0gcGF0aC5zdGFjaztcbiAgICBmb3IgKHZhciBpID0gcy5sZW5ndGggLSAxOyBpID49IDA7IGkgLT0gMikge1xuICAgICAgICB2YXIgdmFsdWUgPSBzW2ldO1xuICAgICAgICBpZiAobi5Ob2RlLmNoZWNrKHZhbHVlKSAmJiAtLWNvdW50IDwgMCkge1xuICAgICAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufVxuRlBwLmdldE5vZGUgPSBmdW5jdGlvbiBnZXROb2RlKGNvdW50KSB7XG4gICAgaWYgKGNvdW50ID09PSB2b2lkIDApIHsgY291bnQgPSAwOyB9XG4gICAgcmV0dXJuIGdldE5vZGVIZWxwZXIodGhpcywgfn5jb3VudCk7XG59O1xuRlBwLmdldFBhcmVudE5vZGUgPSBmdW5jdGlvbiBnZXRQYXJlbnROb2RlKGNvdW50KSB7XG4gICAgaWYgKGNvdW50ID09PSB2b2lkIDApIHsgY291bnQgPSAwOyB9XG4gICAgcmV0dXJuIGdldE5vZGVIZWxwZXIodGhpcywgfn5jb3VudCArIDEpO1xufTtcbi8vIFRoZSBsZW5ndGggb2YgdGhlIHN0YWNrIGNhbiBiZSBlaXRoZXIgZXZlbiBvciBvZGQsIGRlcGVuZGluZyBvbiB3aGV0aGVyXG4vLyBvciBub3Qgd2UgaGF2ZSBhIG5hbWUgZm9yIHRoZSByb290IHZhbHVlLiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZVxuLy8gaW5kZXggb2YgdGhlIHJvb3QgdmFsdWUgYW5kIHRoZSBpbmRleCBvZiB0aGUgZmluYWwgdmFsdWUgaXMgYWx3YXlzXG4vLyBldmVuLCB0aG91Z2gsIHdoaWNoIGFsbG93cyB1cyB0byByZXR1cm4gdGhlIHJvb3QgdmFsdWUgaW4gY29uc3RhbnQgdGltZVxuLy8gKGkuZS4gd2l0aG91dCBpdGVyYXRpbmcgYmFja3dhcmRzIHRocm91Z2ggdGhlIHN0YWNrKS5cbkZQcC5nZXRSb290VmFsdWUgPSBmdW5jdGlvbiBnZXRSb290VmFsdWUoKSB7XG4gICAgdmFyIHMgPSB0aGlzLnN0YWNrO1xuICAgIGlmIChzLmxlbmd0aCAlIDIgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHNbMV07XG4gICAgfVxuICAgIHJldHVybiBzWzBdO1xufTtcbi8vIFRlbXBvcmFyaWx5IHB1c2ggcHJvcGVydGllcyBuYW1lZCBieSBzdHJpbmcgYXJndW1lbnRzIGdpdmVuIGFmdGVyIHRoZVxuLy8gY2FsbGJhY2sgZnVuY3Rpb24gb250byB0aGlzLnN0YWNrLCB0aGVuIGNhbGwgdGhlIGNhbGxiYWNrIHdpdGggYVxuLy8gcmVmZXJlbmNlIHRvIHRoaXMgKG1vZGlmaWVkKSBGYXN0UGF0aCBvYmplY3QuIE5vdGUgdGhhdCB0aGUgc3RhY2sgd2lsbFxuLy8gYmUgcmVzdG9yZWQgdG8gaXRzIG9yaWdpbmFsIHN0YXRlIGFmdGVyIHRoZSBjYWxsYmFjayBpcyBmaW5pc2hlZCwgc28gaXRcbi8vIGlzIHByb2JhYmx5IGEgbWlzdGFrZSB0byByZXRhaW4gYSByZWZlcmVuY2UgdG8gdGhlIHBhdGguXG5GUHAuY2FsbCA9IGZ1bmN0aW9uIGNhbGwoY2FsbGJhY2sgLyosIG5hbWUxLCBuYW1lMiwgLi4uICovKSB7XG4gICAgdmFyIHMgPSB0aGlzLnN0YWNrO1xuICAgIHZhciBvcmlnTGVuID0gcy5sZW5ndGg7XG4gICAgdmFyIHZhbHVlID0gc1tvcmlnTGVuIC0gMV07XG4gICAgdmFyIGFyZ2MgPSBhcmd1bWVudHMubGVuZ3RoO1xuICAgIGZvciAodmFyIGkgPSAxOyBpIDwgYXJnYzsgKytpKSB7XG4gICAgICAgIHZhciBuYW1lID0gYXJndW1lbnRzW2ldO1xuICAgICAgICB2YWx1ZSA9IHZhbHVlW25hbWVdO1xuICAgICAgICBzLnB1c2gobmFtZSwgdmFsdWUpO1xuICAgIH1cbiAgICB2YXIgcmVzdWx0ID0gY2FsbGJhY2sodGhpcyk7XG4gICAgcy5sZW5ndGggPSBvcmlnTGVuO1xuICAgIHJldHVybiByZXN1bHQ7XG59O1xuLy8gU2ltaWxhciB0byBGYXN0UGF0aC5wcm90b3R5cGUuY2FsbCwgZXhjZXB0IHRoYXQgdGhlIHZhbHVlIG9idGFpbmVkIGJ5XG4vLyBhY2Nlc3NpbmcgdGhpcy5nZXRWYWx1ZSgpW25hbWUxXVtuYW1lMl0uLi4gc2hvdWxkIGJlIGFycmF5LWxpa2UuIFRoZVxuLy8gY2FsbGJhY2sgd2lsbCBiZSBjYWxsZWQgd2l0aCBhIHJlZmVyZW5jZSB0byB0aGlzIHBhdGggb2JqZWN0IGZvciBlYWNoXG4vLyBlbGVtZW50IG9mIHRoZSBhcnJheS5cbkZQcC5lYWNoID0gZnVuY3Rpb24gZWFjaChjYWxsYmFjayAvKiwgbmFtZTEsIG5hbWUyLCAuLi4gKi8pIHtcbiAgICB2YXIgcyA9IHRoaXMuc3RhY2s7XG4gICAgdmFyIG9yaWdMZW4gPSBzLmxlbmd0aDtcbiAgICB2YXIgdmFsdWUgPSBzW29yaWdMZW4gLSAxXTtcbiAgICB2YXIgYXJnYyA9IGFyZ3VtZW50cy5sZW5ndGg7XG4gICAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmdjOyArK2kpIHtcbiAgICAgICAgdmFyIG5hbWUgPSBhcmd1bWVudHNbaV07XG4gICAgICAgIHZhbHVlID0gdmFsdWVbbmFtZV07XG4gICAgICAgIHMucHVzaChuYW1lLCB2YWx1ZSk7XG4gICAgfVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgaWYgKGkgaW4gdmFsdWUpIHtcbiAgICAgICAgICAgIHMucHVzaChpLCB2YWx1ZVtpXSk7XG4gICAgICAgICAgICAvLyBJZiB0aGUgY2FsbGJhY2sgbmVlZHMgdG8ga25vdyB0aGUgdmFsdWUgb2YgaSwgY2FsbFxuICAgICAgICAgICAgLy8gcGF0aC5nZXROYW1lKCksIGFzc3VtaW5nIHBhdGggaXMgdGhlIHBhcmFtZXRlciBuYW1lLlxuICAgICAgICAgICAgY2FsbGJhY2sodGhpcyk7XG4gICAgICAgICAgICBzLmxlbmd0aCAtPSAyO1xuICAgICAgICB9XG4gICAgfVxuICAgIHMubGVuZ3RoID0gb3JpZ0xlbjtcbn07XG4vLyBTaW1pbGFyIHRvIEZhc3RQYXRoLnByb3RvdHlwZS5lYWNoLCBleGNlcHQgdGhhdCB0aGUgcmVzdWx0cyBvZiB0aGVcbi8vIGNhbGxiYWNrIGZ1bmN0aW9uIGludm9jYXRpb25zIGFyZSBzdG9yZWQgaW4gYW4gYXJyYXkgYW5kIHJldHVybmVkIGF0XG4vLyB0aGUgZW5kIG9mIHRoZSBpdGVyYXRpb24uXG5GUHAubWFwID0gZnVuY3Rpb24gbWFwKGNhbGxiYWNrIC8qLCBuYW1lMSwgbmFtZTIsIC4uLiAqLykge1xuICAgIHZhciBzID0gdGhpcy5zdGFjaztcbiAgICB2YXIgb3JpZ0xlbiA9IHMubGVuZ3RoO1xuICAgIHZhciB2YWx1ZSA9IHNbb3JpZ0xlbiAtIDFdO1xuICAgIHZhciBhcmdjID0gYXJndW1lbnRzLmxlbmd0aDtcbiAgICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ2M7ICsraSkge1xuICAgICAgICB2YXIgbmFtZSA9IGFyZ3VtZW50c1tpXTtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZVtuYW1lXTtcbiAgICAgICAgcy5wdXNoKG5hbWUsIHZhbHVlKTtcbiAgICB9XG4gICAgdmFyIHJlc3VsdCA9IG5ldyBBcnJheSh2YWx1ZS5sZW5ndGgpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdmFsdWUubGVuZ3RoOyArK2kpIHtcbiAgICAgICAgaWYgKGkgaW4gdmFsdWUpIHtcbiAgICAgICAgICAgIHMucHVzaChpLCB2YWx1ZVtpXSk7XG4gICAgICAgICAgICByZXN1bHRbaV0gPSBjYWxsYmFjayh0aGlzLCBpKTtcbiAgICAgICAgICAgIHMubGVuZ3RoIC09IDI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcy5sZW5ndGggPSBvcmlnTGVuO1xuICAgIHJldHVybiByZXN1bHQ7XG59O1xuLy8gUmV0dXJucyB0cnVlIGlmIHRoZSBub2RlIGF0IHRoZSB0aXAgb2YgdGhlIHBhdGggaXMgd3JhcHBlZCB3aXRoXG4vLyBwYXJlbnRoZXNlcywgT1IgaWYgdGhlIG9ubHkgcmVhc29uIHRoZSBub2RlIG5lZWRlZCBwYXJlbnRoZXNlcyB3YXMgdGhhdFxuLy8gaXQgY291bGRuJ3QgYmUgdGhlIGZpcnN0IGV4cHJlc3Npb24gaW4gdGhlIGVuY2xvc2luZyBzdGF0ZW1lbnQgKHNlZVxuLy8gRmFzdFBhdGgjY2FuQmVGaXJzdEluU3RhdGVtZW50KSwgYW5kIGl0IGhhcyBhbiBvcGVuaW5nIGAoYCBjaGFyYWN0ZXIuXG4vLyBGb3IgZXhhbXBsZSwgdGhlIEZ1bmN0aW9uRXhwcmVzc2lvbiBpbiBgKGZ1bmN0aW9uKCl7fSgpKWAgYXBwZWFycyB0b1xuLy8gbmVlZCBwYXJlbnRoZXNlcyBvbmx5IGJlY2F1c2UgaXQncyB0aGUgZmlyc3QgZXhwcmVzc2lvbiBpbiB0aGUgQVNULCBidXRcbi8vIHNpbmNlIGl0IGhhcHBlbnMgdG8gYmUgcHJlY2VkZWQgYnkgYSBgKGAgKHdoaWNoIGlzIG5vdCBhcHBhcmVudCBmcm9tXG4vLyB0aGUgQVNUIGJ1dCBjYW4gYmUgZGV0ZXJtaW5lZCB1c2luZyBGYXN0UGF0aCNnZXRQcmV2VG9rZW4pLCB0aGVyZSBpcyBub1xuLy8gYW1iaWd1aXR5IGFib3V0IGhvdyB0byBwYXJzZSBpdCwgc28gaXQgY291bnRzIGFzIGhhdmluZyBwYXJlbnRoZXNlcyxcbi8vIGV2ZW4gdGhvdWdoIGl0IGlzIG5vdCBpbW1lZGlhdGVseSBmb2xsb3dlZCBieSBhIGApYC5cbkZQcC5oYXNQYXJlbnMgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIG5vZGUgPSB0aGlzLmdldE5vZGUoKTtcbiAgICB2YXIgcHJldlRva2VuID0gdGhpcy5nZXRQcmV2VG9rZW4obm9kZSk7XG4gICAgaWYgKCFwcmV2VG9rZW4pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB2YXIgbmV4dFRva2VuID0gdGhpcy5nZXROZXh0VG9rZW4obm9kZSk7XG4gICAgaWYgKCFuZXh0VG9rZW4pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAocHJldlRva2VuLnZhbHVlID09PSBcIihcIikge1xuICAgICAgICBpZiAobmV4dFRva2VuLnZhbHVlID09PSBcIilcIikge1xuICAgICAgICAgICAgLy8gSWYgdGhlIG5vZGUgcHJlY2VkZWQgYnkgYSBgKGAgdG9rZW4gYW5kIGZvbGxvd2VkIGJ5IGEgYClgIHRva2VuLFxuICAgICAgICAgICAgLy8gdGhlbiBvZiBjb3Vyc2UgaXQgaGFzIHBhcmVudGhlc2VzLlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gSWYgdGhpcyBpcyBvbmUgb2YgdGhlIGZldyBFeHByZXNzaW9uIHR5cGVzIHRoYXQgY2FuJ3QgY29tZSBmaXJzdCBpblxuICAgICAgICAvLyB0aGUgZW5jbG9zaW5nIHN0YXRlbWVudCBiZWNhdXNlIG9mIHBhcnNpbmcgYW1iaWd1aXRpZXMgKG5hbWVseSxcbiAgICAgICAgLy8gRnVuY3Rpb25FeHByZXNzaW9uLCBPYmplY3RFeHByZXNzaW9uLCBhbmQgQ2xhc3NFeHByZXNzaW9uKSBhbmRcbiAgICAgICAgLy8gdGhpcy5maXJzdEluU3RhdGVtZW50KCkgcmV0dXJucyB0cnVlLCBhbmQgdGhlIG5vZGUgd291bGQgbm90IG5lZWRcbiAgICAgICAgLy8gcGFyZW50aGVzZXMgaW4gYW4gZXhwcmVzc2lvbiBjb250ZXh0IGJlY2F1c2UgdGhpcy5uZWVkc1BhcmVucyh0cnVlKVxuICAgICAgICAvLyByZXR1cm5zIGZhbHNlLCB0aGVuIGl0IGp1c3QgbmVlZHMgYW4gb3BlbmluZyBwYXJlbnRoZXNpcyB0byByZXNvbHZlXG4gICAgICAgIC8vIHRoZSBwYXJzaW5nIGFtYmlndWl0eSB0aGF0IG1hZGUgaXQgYXBwZWFyIHRvIG5lZWQgcGFyZW50aGVzZXMuXG4gICAgICAgIHZhciBqdXN0TmVlZHNPcGVuaW5nUGFyZW4gPSAhdGhpcy5jYW5CZUZpcnN0SW5TdGF0ZW1lbnQoKSAmJlxuICAgICAgICAgICAgdGhpcy5maXJzdEluU3RhdGVtZW50KCkgJiZcbiAgICAgICAgICAgICF0aGlzLm5lZWRzUGFyZW5zKHRydWUpO1xuICAgICAgICBpZiAoanVzdE5lZWRzT3BlbmluZ1BhcmVuKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG59O1xuRlBwLmdldFByZXZUb2tlbiA9IGZ1bmN0aW9uIChub2RlKSB7XG4gICAgbm9kZSA9IG5vZGUgfHwgdGhpcy5nZXROb2RlKCk7XG4gICAgdmFyIGxvYyA9IG5vZGUgJiYgbm9kZS5sb2M7XG4gICAgdmFyIHRva2VucyA9IGxvYyAmJiBsb2MudG9rZW5zO1xuICAgIGlmICh0b2tlbnMgJiYgbG9jLnN0YXJ0LnRva2VuID4gMCkge1xuICAgICAgICB2YXIgdG9rZW4gPSB0b2tlbnNbbG9jLnN0YXJ0LnRva2VuIC0gMV07XG4gICAgICAgIGlmICh0b2tlbikge1xuICAgICAgICAgICAgLy8gRG8gbm90IHJldHVybiB0b2tlbnMgdGhhdCBmYWxsIG91dHNpZGUgdGhlIHJvb3Qgc3VidHJlZS5cbiAgICAgICAgICAgIHZhciByb290TG9jID0gdGhpcy5nZXRSb290VmFsdWUoKS5sb2M7XG4gICAgICAgICAgICBpZiAodXRpbC5jb21wYXJlUG9zKHJvb3RMb2Muc3RhcnQsIHRva2VuLmxvYy5zdGFydCkgPD0gMCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0b2tlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbn07XG5GUHAuZ2V0TmV4dFRva2VuID0gZnVuY3Rpb24gKG5vZGUpIHtcbiAgICBub2RlID0gbm9kZSB8fCB0aGlzLmdldE5vZGUoKTtcbiAgICB2YXIgbG9jID0gbm9kZSAmJiBub2RlLmxvYztcbiAgICB2YXIgdG9rZW5zID0gbG9jICYmIGxvYy50b2tlbnM7XG4gICAgaWYgKHRva2VucyAmJiBsb2MuZW5kLnRva2VuIDwgdG9rZW5zLmxlbmd0aCkge1xuICAgICAgICB2YXIgdG9rZW4gPSB0b2tlbnNbbG9jLmVuZC50b2tlbl07XG4gICAgICAgIGlmICh0b2tlbikge1xuICAgICAgICAgICAgLy8gRG8gbm90IHJldHVybiB0b2tlbnMgdGhhdCBmYWxsIG91dHNpZGUgdGhlIHJvb3Qgc3VidHJlZS5cbiAgICAgICAgICAgIHZhciByb290TG9jID0gdGhpcy5nZXRSb290VmFsdWUoKS5sb2M7XG4gICAgICAgICAgICBpZiAodXRpbC5jb21wYXJlUG9zKHRva2VuLmxvYy5lbmQsIHJvb3RMb2MuZW5kKSA8PSAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRva2VuO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xufTtcbi8vIEluc3BpcmVkIGJ5IHJlcXVpcmUoXCJhc3QtdHlwZXNcIikuTm9kZVBhdGgucHJvdG90eXBlLm5lZWRzUGFyZW5zLCBidXRcbi8vIG1vcmUgZWZmaWNpZW50IGJlY2F1c2Ugd2UncmUgaXRlcmF0aW5nIGJhY2t3YXJkcyB0aHJvdWdoIGEgc3RhY2suXG5GUHAubmVlZHNQYXJlbnMgPSBmdW5jdGlvbiAoYXNzdW1lRXhwcmVzc2lvbkNvbnRleHQpIHtcbiAgICB2YXIgbm9kZSA9IHRoaXMuZ2V0Tm9kZSgpO1xuICAgIC8vIFRoaXMgbmVlZHMgdG8gY29tZSBiZWZvcmUgYGlmICghcGFyZW50KSB7IHJldHVybiBmYWxzZSB9YCBiZWNhdXNlXG4gICAgLy8gYW4gb2JqZWN0IGRlc3RydWN0dXJpbmcgYXNzaWdubWVudCByZXF1aXJlcyBwYXJlbnMgZm9yXG4gICAgLy8gY29ycmVjdG5lc3MgZXZlbiB3aGVuIGl0J3MgdGhlIHRvcG1vc3QgZXhwcmVzc2lvbi5cbiAgICBpZiAobm9kZS50eXBlID09PSBcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCIgJiZcbiAgICAgICAgbm9kZS5sZWZ0LnR5cGUgPT09IFwiT2JqZWN0UGF0dGVyblwiKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB2YXIgcGFyZW50ID0gdGhpcy5nZXRQYXJlbnROb2RlKCk7XG4gICAgdmFyIG5hbWUgPSB0aGlzLmdldE5hbWUoKTtcbiAgICAvLyBJZiB0aGUgdmFsdWUgb2YgdGhpcyBwYXRoIGlzIHNvbWUgY2hpbGQgb2YgYSBOb2RlIGFuZCBub3QgYSBOb2RlXG4gICAgLy8gaXRzZWxmLCB0aGVuIGl0IGRvZXNuJ3QgbmVlZCBwYXJlbnRoZXNlcy4gT25seSBOb2RlIG9iamVjdHMgKGluIGZhY3QsXG4gICAgLy8gb25seSBFeHByZXNzaW9uIG5vZGVzKSBuZWVkIHBhcmVudGhlc2VzLlxuICAgIGlmICh0aGlzLmdldFZhbHVlKCkgIT09IG5vZGUpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBPbmx5IHN0YXRlbWVudHMgZG9uJ3QgbmVlZCBwYXJlbnRoZXNlcy5cbiAgICBpZiAobi5TdGF0ZW1lbnQuY2hlY2sobm9kZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAvLyBJZGVudGlmaWVycyBuZXZlciBuZWVkIHBhcmVudGhlc2VzLlxuICAgIGlmIChub2RlLnR5cGUgPT09IFwiSWRlbnRpZmllclwiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHBhcmVudCAmJiBwYXJlbnQudHlwZSA9PT0gXCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKG5vZGUuZXh0cmEgJiYgbm9kZS5leHRyYS5wYXJlbnRoZXNpemVkKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpZiAoIXBhcmVudClcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIC8vIFdyYXAgZS5nLiBgLTFgIGluIHBhcmVudGhlc2VzIGluc2lkZSBgKC0xKSAqKiAyYC5cbiAgICBpZiAobm9kZS50eXBlID09PSBcIlVuYXJ5RXhwcmVzc2lvblwiICYmXG4gICAgICAgIHBhcmVudC50eXBlID09PSBcIkJpbmFyeUV4cHJlc3Npb25cIiAmJlxuICAgICAgICBuYW1lID09PSBcImxlZnRcIiAmJlxuICAgICAgICBwYXJlbnQubGVmdCA9PT0gbm9kZSAmJlxuICAgICAgICBwYXJlbnQub3BlcmF0b3IgPT09IFwiKipcIikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgc3dpdGNoIChub2RlLnR5cGUpIHtcbiAgICAgICAgY2FzZSBcIlVuYXJ5RXhwcmVzc2lvblwiOlxuICAgICAgICBjYXNlIFwiU3ByZWFkRWxlbWVudFwiOlxuICAgICAgICBjYXNlIFwiU3ByZWFkUHJvcGVydHlcIjpcbiAgICAgICAgICAgIHJldHVybiAocGFyZW50LnR5cGUgPT09IFwiTWVtYmVyRXhwcmVzc2lvblwiICYmXG4gICAgICAgICAgICAgICAgbmFtZSA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICAgICAgICAgIHBhcmVudC5vYmplY3QgPT09IG5vZGUpO1xuICAgICAgICBjYXNlIFwiQmluYXJ5RXhwcmVzc2lvblwiOlxuICAgICAgICBjYXNlIFwiTG9naWNhbEV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgIHN3aXRjaCAocGFyZW50LnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwiQ2FsbEV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5hbWUgPT09IFwiY2FsbGVlXCIgJiYgcGFyZW50LmNhbGxlZSA9PT0gbm9kZTtcbiAgICAgICAgICAgICAgICBjYXNlIFwiVW5hcnlFeHByZXNzaW9uXCI6XG4gICAgICAgICAgICAgICAgY2FzZSBcIlNwcmVhZEVsZW1lbnRcIjpcbiAgICAgICAgICAgICAgICBjYXNlIFwiU3ByZWFkUHJvcGVydHlcIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgY2FzZSBcIk1lbWJlckV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5hbWUgPT09IFwib2JqZWN0XCIgJiYgcGFyZW50Lm9iamVjdCA9PT0gbm9kZTtcbiAgICAgICAgICAgICAgICBjYXNlIFwiQmluYXJ5RXhwcmVzc2lvblwiOlxuICAgICAgICAgICAgICAgIGNhc2UgXCJMb2dpY2FsRXhwcmVzc2lvblwiOiB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBwbyA9IHBhcmVudC5vcGVyYXRvcjtcbiAgICAgICAgICAgICAgICAgICAgdmFyIHBwID0gUFJFQ0VERU5DRVtwb107XG4gICAgICAgICAgICAgICAgICAgIHZhciBubyA9IG5vZGUub3BlcmF0b3I7XG4gICAgICAgICAgICAgICAgICAgIHZhciBucCA9IFBSRUNFREVOQ0Vbbm9dO1xuICAgICAgICAgICAgICAgICAgICBpZiAocHAgPiBucCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHBwID09PSBucCAmJiBuYW1lID09PSBcInJpZ2h0XCIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHBhcmVudC5yaWdodCA9PT0gbm9kZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJTZXF1ZW5jZUV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgIHN3aXRjaCAocGFyZW50LnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwiUmV0dXJuU3RhdGVtZW50XCI6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgICAgICBjYXNlIFwiRm9yU3RhdGVtZW50XCI6XG4gICAgICAgICAgICAgICAgICAgIC8vIEFsdGhvdWdoIHBhcmVudGhlc2VzIHdvdWxkbid0IGh1cnQgYXJvdW5kIHNlcXVlbmNlIGV4cHJlc3Npb25zIGluXG4gICAgICAgICAgICAgICAgICAgIC8vIHRoZSBoZWFkIG9mIGZvciBsb29wcywgdHJhZGl0aW9uYWwgc3R5bGUgZGljdGF0ZXMgdGhhdCBlLmcuIGkrKyxcbiAgICAgICAgICAgICAgICAgICAgLy8gaisrIHNob3VsZCBub3QgYmUgd3JhcHBlZCB3aXRoIHBhcmVudGhlc2VzLlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICAgICAgY2FzZSBcIkV4cHJlc3Npb25TdGF0ZW1lbnRcIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5hbWUgIT09IFwiZXhwcmVzc2lvblwiO1xuICAgICAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgICAgICAgIC8vIE90aGVyd2lzZSBlcnIgb24gdGhlIHNpZGUgb2Ygb3ZlcnBhcmVudGhlc2l6YXRpb24sIGFkZGluZ1xuICAgICAgICAgICAgICAgICAgICAvLyBleHBsaWNpdCBleGNlcHRpb25zIGFib3ZlIGlmIHRoaXMgcHJvdmVzIG92ZXJ6ZWFsb3VzLlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgY2FzZSBcIk9wdGlvbmFsSW5kZXhlZEFjY2Vzc1R5cGVcIjpcbiAgICAgICAgICAgIHJldHVybiBub2RlLm9wdGlvbmFsICYmIHBhcmVudC50eXBlID09PSBcIkluZGV4ZWRBY2Nlc3NUeXBlXCI7XG4gICAgICAgIGNhc2UgXCJJbnRlcnNlY3Rpb25UeXBlQW5ub3RhdGlvblwiOlxuICAgICAgICBjYXNlIFwiVW5pb25UeXBlQW5ub3RhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuIHBhcmVudC50eXBlID09PSBcIk51bGxhYmxlVHlwZUFubm90YXRpb25cIjtcbiAgICAgICAgY2FzZSBcIkxpdGVyYWxcIjpcbiAgICAgICAgICAgIHJldHVybiAocGFyZW50LnR5cGUgPT09IFwiTWVtYmVyRXhwcmVzc2lvblwiICYmXG4gICAgICAgICAgICAgICAgaXNOdW1iZXIuY2hlY2sobm9kZS52YWx1ZSkgJiZcbiAgICAgICAgICAgICAgICBuYW1lID09PSBcIm9iamVjdFwiICYmXG4gICAgICAgICAgICAgICAgcGFyZW50Lm9iamVjdCA9PT0gbm9kZSk7XG4gICAgICAgIC8vIEJhYmVsIDYgTGl0ZXJhbCBzcGxpdFxuICAgICAgICBjYXNlIFwiTnVtZXJpY0xpdGVyYWxcIjpcbiAgICAgICAgICAgIHJldHVybiAocGFyZW50LnR5cGUgPT09IFwiTWVtYmVyRXhwcmVzc2lvblwiICYmXG4gICAgICAgICAgICAgICAgbmFtZSA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICAgICAgICAgIHBhcmVudC5vYmplY3QgPT09IG5vZGUpO1xuICAgICAgICBjYXNlIFwiWWllbGRFeHByZXNzaW9uXCI6XG4gICAgICAgIGNhc2UgXCJBd2FpdEV4cHJlc3Npb25cIjpcbiAgICAgICAgY2FzZSBcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCI6XG4gICAgICAgIGNhc2UgXCJDb25kaXRpb25hbEV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgIHN3aXRjaCAocGFyZW50LnR5cGUpIHtcbiAgICAgICAgICAgICAgICBjYXNlIFwiVW5hcnlFeHByZXNzaW9uXCI6XG4gICAgICAgICAgICAgICAgY2FzZSBcIlNwcmVhZEVsZW1lbnRcIjpcbiAgICAgICAgICAgICAgICBjYXNlIFwiU3ByZWFkUHJvcGVydHlcIjpcbiAgICAgICAgICAgICAgICBjYXNlIFwiQmluYXJ5RXhwcmVzc2lvblwiOlxuICAgICAgICAgICAgICAgIGNhc2UgXCJMb2dpY2FsRXhwcmVzc2lvblwiOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgICAgICBjYXNlIFwiQ2FsbEV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgICAgICBjYXNlIFwiTmV3RXhwcmVzc2lvblwiOlxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmFtZSA9PT0gXCJjYWxsZWVcIiAmJiBwYXJlbnQuY2FsbGVlID09PSBub2RlO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJDb25kaXRpb25hbEV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5hbWUgPT09IFwidGVzdFwiICYmIHBhcmVudC50ZXN0ID09PSBub2RlO1xuICAgICAgICAgICAgICAgIGNhc2UgXCJNZW1iZXJFeHByZXNzaW9uXCI6XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuYW1lID09PSBcIm9iamVjdFwiICYmIHBhcmVudC5vYmplY3QgPT09IG5vZGU7XG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICBjYXNlIFwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgIGlmIChuLkNhbGxFeHByZXNzaW9uLmNoZWNrKHBhcmVudCkgJiZcbiAgICAgICAgICAgICAgICBuYW1lID09PSBcImNhbGxlZVwiICYmXG4gICAgICAgICAgICAgICAgcGFyZW50LmNhbGxlZSA9PT0gbm9kZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG4uTWVtYmVyRXhwcmVzc2lvbi5jaGVjayhwYXJlbnQpICYmXG4gICAgICAgICAgICAgICAgbmFtZSA9PT0gXCJvYmplY3RcIiAmJlxuICAgICAgICAgICAgICAgIHBhcmVudC5vYmplY3QgPT09IG5vZGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLlRTQXNFeHByZXNzaW9uICYmXG4gICAgICAgICAgICAgICAgbi5UU0FzRXhwcmVzc2lvbi5jaGVjayhwYXJlbnQpICYmXG4gICAgICAgICAgICAgICAgbmFtZSA9PT0gXCJleHByZXNzaW9uXCIgJiZcbiAgICAgICAgICAgICAgICBwYXJlbnQuZXhwcmVzc2lvbiA9PT0gbm9kZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGlzQmluYXJ5KHBhcmVudCk7XG4gICAgICAgIGNhc2UgXCJPYmplY3RFeHByZXNzaW9uXCI6XG4gICAgICAgICAgICBpZiAocGFyZW50LnR5cGUgPT09IFwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIiAmJlxuICAgICAgICAgICAgICAgIG5hbWUgPT09IFwiYm9keVwiICYmXG4gICAgICAgICAgICAgICAgcGFyZW50LmJvZHkgPT09IG5vZGUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiVFNBc0V4cHJlc3Npb25cIjpcbiAgICAgICAgICAgIGlmIChwYXJlbnQudHlwZSA9PT0gXCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiICYmXG4gICAgICAgICAgICAgICAgbmFtZSA9PT0gXCJib2R5XCIgJiZcbiAgICAgICAgICAgICAgICBwYXJlbnQuYm9keSA9PT0gbm9kZSAmJlxuICAgICAgICAgICAgICAgIG5vZGUuZXhwcmVzc2lvbi50eXBlID09PSBcIk9iamVjdEV4cHJlc3Npb25cIikge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJDYWxsRXhwcmVzc2lvblwiOlxuICAgICAgICAgICAgaWYgKG5hbWUgPT09IFwiZGVjbGFyYXRpb25cIiAmJlxuICAgICAgICAgICAgICAgIG4uRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uLmNoZWNrKHBhcmVudCkgJiZcbiAgICAgICAgICAgICAgICBuLkZ1bmN0aW9uRXhwcmVzc2lvbi5jaGVjayhub2RlLmNhbGxlZSkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICB9XG4gICAgaWYgKHBhcmVudC50eXBlID09PSBcIk5ld0V4cHJlc3Npb25cIiAmJlxuICAgICAgICBuYW1lID09PSBcImNhbGxlZVwiICYmXG4gICAgICAgIHBhcmVudC5jYWxsZWUgPT09IG5vZGUpIHtcbiAgICAgICAgcmV0dXJuIGNvbnRhaW5zQ2FsbEV4cHJlc3Npb24obm9kZSk7XG4gICAgfVxuICAgIGlmIChhc3N1bWVFeHByZXNzaW9uQ29udGV4dCAhPT0gdHJ1ZSAmJlxuICAgICAgICAhdGhpcy5jYW5CZUZpcnN0SW5TdGF0ZW1lbnQoKSAmJlxuICAgICAgICB0aGlzLmZpcnN0SW5TdGF0ZW1lbnQoKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xufTtcbmZ1bmN0aW9uIGlzQmluYXJ5KG5vZGUpIHtcbiAgICByZXR1cm4gbi5CaW5hcnlFeHByZXNzaW9uLmNoZWNrKG5vZGUpIHx8IG4uTG9naWNhbEV4cHJlc3Npb24uY2hlY2sobm9kZSk7XG59XG4vLyBAdHMtaWdub3JlICdpc1VuYXJ5TGlrZScgaXMgZGVjbGFyZWQgYnV0IGl0cyB2YWx1ZSBpcyBuZXZlciByZWFkLiBbNjEzM11cbmZ1bmN0aW9uIGlzVW5hcnlMaWtlKG5vZGUpIHtcbiAgICByZXR1cm4gKG4uVW5hcnlFeHByZXNzaW9uLmNoZWNrKG5vZGUpIHx8XG4gICAgICAgIC8vIEkgY29uc2lkZXJlZCBtYWtpbmcgU3ByZWFkRWxlbWVudCBhbmQgU3ByZWFkUHJvcGVydHkgc3VidHlwZXMgb2ZcbiAgICAgICAgLy8gVW5hcnlFeHByZXNzaW9uLCBidXQgdGhleSdyZSBub3QgcmVhbGx5IEV4cHJlc3Npb24gbm9kZXMuXG4gICAgICAgIChuLlNwcmVhZEVsZW1lbnQgJiYgbi5TcHJlYWRFbGVtZW50LmNoZWNrKG5vZGUpKSB8fFxuICAgICAgICAobi5TcHJlYWRQcm9wZXJ0eSAmJiBuLlNwcmVhZFByb3BlcnR5LmNoZWNrKG5vZGUpKSk7XG59XG5mdW5jdGlvbiBjb250YWluc0NhbGxFeHByZXNzaW9uKG5vZGUpIHtcbiAgICBpZiAobi5DYWxsRXhwcmVzc2lvbi5jaGVjayhub2RlKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKGlzQXJyYXkuY2hlY2sobm9kZSkpIHtcbiAgICAgICAgcmV0dXJuIG5vZGUuc29tZShjb250YWluc0NhbGxFeHByZXNzaW9uKTtcbiAgICB9XG4gICAgaWYgKG4uTm9kZS5jaGVjayhub2RlKSkge1xuICAgICAgICByZXR1cm4gdHlwZXMuc29tZUZpZWxkKG5vZGUsIGZ1bmN0aW9uIChfbmFtZSwgY2hpbGQpIHtcbiAgICAgICAgICAgIHJldHVybiBjb250YWluc0NhbGxFeHByZXNzaW9uKGNoaWxkKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbn1cbkZQcC5jYW5CZUZpcnN0SW5TdGF0ZW1lbnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIG5vZGUgPSB0aGlzLmdldE5vZGUoKTtcbiAgICBpZiAobi5GdW5jdGlvbkV4cHJlc3Npb24uY2hlY2sobm9kZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAobi5PYmplY3RFeHByZXNzaW9uLmNoZWNrKG5vZGUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKG4uQ2xhc3NFeHByZXNzaW9uLmNoZWNrKG5vZGUpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59O1xuRlBwLmZpcnN0SW5TdGF0ZW1lbnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgdmFyIHMgPSB0aGlzLnN0YWNrO1xuICAgIHZhciBwYXJlbnROYW1lLCBwYXJlbnQ7XG4gICAgdmFyIGNoaWxkTmFtZSwgY2hpbGQ7XG4gICAgZm9yICh2YXIgaSA9IHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpIC09IDIpIHtcbiAgICAgICAgaWYgKG4uTm9kZS5jaGVjayhzW2ldKSkge1xuICAgICAgICAgICAgY2hpbGROYW1lID0gcGFyZW50TmFtZTtcbiAgICAgICAgICAgIGNoaWxkID0gcGFyZW50O1xuICAgICAgICAgICAgcGFyZW50TmFtZSA9IHNbaSAtIDFdO1xuICAgICAgICAgICAgcGFyZW50ID0gc1tpXTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXBhcmVudCB8fCAhY2hpbGQpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuLkJsb2NrU3RhdGVtZW50LmNoZWNrKHBhcmVudCkgJiZcbiAgICAgICAgICAgIHBhcmVudE5hbWUgPT09IFwiYm9keVwiICYmXG4gICAgICAgICAgICBjaGlsZE5hbWUgPT09IDApIHtcbiAgICAgICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHBhcmVudC5ib2R5WzBdID09PSBjaGlsZCk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobi5FeHByZXNzaW9uU3RhdGVtZW50LmNoZWNrKHBhcmVudCkgJiYgY2hpbGROYW1lID09PSBcImV4cHJlc3Npb25cIikge1xuICAgICAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkocGFyZW50LmV4cHJlc3Npb24gPT09IGNoaWxkKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuLkFzc2lnbm1lbnRFeHByZXNzaW9uLmNoZWNrKHBhcmVudCkgJiYgY2hpbGROYW1lID09PSBcImxlZnRcIikge1xuICAgICAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkocGFyZW50LmxlZnQgPT09IGNoaWxkKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuLkFycm93RnVuY3Rpb25FeHByZXNzaW9uLmNoZWNrKHBhcmVudCkgJiYgY2hpbGROYW1lID09PSBcImJvZHlcIikge1xuICAgICAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkocGFyZW50LmJvZHkgPT09IGNoaWxkKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIC8vIHNbaSArIDFdIGFuZCBzW2kgKyAyXSByZXByZXNlbnQgdGhlIGFycmF5IGJldHdlZW4gdGhlIHBhcmVudFxuICAgICAgICAvLyBTZXF1ZW5jZUV4cHJlc3Npb24gbm9kZSBhbmQgaXRzIGNoaWxkIG5vZGVzXG4gICAgICAgIGlmIChuLlNlcXVlbmNlRXhwcmVzc2lvbi5jaGVjayhwYXJlbnQpICYmXG4gICAgICAgICAgICBzW2kgKyAxXSA9PT0gXCJleHByZXNzaW9uc1wiICYmXG4gICAgICAgICAgICBjaGlsZE5hbWUgPT09IDApIHtcbiAgICAgICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHBhcmVudC5leHByZXNzaW9uc1swXSA9PT0gY2hpbGQpO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG4uQ2FsbEV4cHJlc3Npb24uY2hlY2socGFyZW50KSAmJiBjaGlsZE5hbWUgPT09IFwiY2FsbGVlXCIpIHtcbiAgICAgICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHBhcmVudC5jYWxsZWUgPT09IGNoaWxkKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuLk1lbWJlckV4cHJlc3Npb24uY2hlY2socGFyZW50KSAmJiBjaGlsZE5hbWUgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHBhcmVudC5vYmplY3QgPT09IGNoaWxkKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuLkNvbmRpdGlvbmFsRXhwcmVzc2lvbi5jaGVjayhwYXJlbnQpICYmIGNoaWxkTmFtZSA9PT0gXCJ0ZXN0XCIpIHtcbiAgICAgICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHBhcmVudC50ZXN0ID09PSBjaGlsZCk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNCaW5hcnkocGFyZW50KSAmJiBjaGlsZE5hbWUgPT09IFwibGVmdFwiKSB7XG4gICAgICAgICAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KShwYXJlbnQubGVmdCA9PT0gY2hpbGQpO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG4uVW5hcnlFeHByZXNzaW9uLmNoZWNrKHBhcmVudCkgJiZcbiAgICAgICAgICAgICFwYXJlbnQucHJlZml4ICYmXG4gICAgICAgICAgICBjaGlsZE5hbWUgPT09IFwiYXJndW1lbnRcIikge1xuICAgICAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkocGFyZW50LmFyZ3VtZW50ID09PSBjaGlsZCk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xufTtcbmV4cG9ydHMuZGVmYXVsdCA9IEZhc3RQYXRoO1xuIiwgIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5nZXRSZXByaW50ZXIgPSBleHBvcnRzLlBhdGNoZXIgPSB2b2lkIDA7XG52YXIgdHNsaWJfMSA9IHJlcXVpcmUoXCJ0c2xpYlwiKTtcbnZhciB0aW55X2ludmFyaWFudF8xID0gdHNsaWJfMS5fX2ltcG9ydERlZmF1bHQocmVxdWlyZShcInRpbnktaW52YXJpYW50XCIpKTtcbnZhciBsaW5lc01vZHVsZSA9IHRzbGliXzEuX19pbXBvcnRTdGFyKHJlcXVpcmUoXCIuL2xpbmVzXCIpKTtcbnZhciB0eXBlcyA9IHRzbGliXzEuX19pbXBvcnRTdGFyKHJlcXVpcmUoXCJhc3QtdHlwZXNcIikpO1xudmFyIFByaW50YWJsZSA9IHR5cGVzLm5hbWVkVHlwZXMuUHJpbnRhYmxlO1xudmFyIEV4cHJlc3Npb24gPSB0eXBlcy5uYW1lZFR5cGVzLkV4cHJlc3Npb247XG52YXIgUmV0dXJuU3RhdGVtZW50ID0gdHlwZXMubmFtZWRUeXBlcy5SZXR1cm5TdGF0ZW1lbnQ7XG52YXIgU291cmNlTG9jYXRpb24gPSB0eXBlcy5uYW1lZFR5cGVzLlNvdXJjZUxvY2F0aW9uO1xudmFyIHV0aWxfMSA9IHJlcXVpcmUoXCIuL3V0aWxcIik7XG52YXIgZmFzdF9wYXRoXzEgPSB0c2xpYl8xLl9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwiLi9mYXN0LXBhdGhcIikpO1xudmFyIGlzT2JqZWN0ID0gdHlwZXMuYnVpbHRJblR5cGVzLm9iamVjdDtcbnZhciBpc0FycmF5ID0gdHlwZXMuYnVpbHRJblR5cGVzLmFycmF5O1xudmFyIGlzU3RyaW5nID0gdHlwZXMuYnVpbHRJblR5cGVzLnN0cmluZztcbnZhciByaXNreUFkam9pbmluZ0NoYXJFeHAgPSAvWzAtOWEtel8kXS9pO1xudmFyIFBhdGNoZXIgPSBmdW5jdGlvbiBQYXRjaGVyKGxpbmVzKSB7XG4gICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkodGhpcyBpbnN0YW5jZW9mIFBhdGNoZXIpO1xuICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKGxpbmVzIGluc3RhbmNlb2YgbGluZXNNb2R1bGUuTGluZXMpO1xuICAgIHZhciBzZWxmID0gdGhpcywgcmVwbGFjZW1lbnRzID0gW107XG4gICAgc2VsZi5yZXBsYWNlID0gZnVuY3Rpb24gKGxvYywgbGluZXMpIHtcbiAgICAgICAgaWYgKGlzU3RyaW5nLmNoZWNrKGxpbmVzKSlcbiAgICAgICAgICAgIGxpbmVzID0gbGluZXNNb2R1bGUuZnJvbVN0cmluZyhsaW5lcyk7XG4gICAgICAgIHJlcGxhY2VtZW50cy5wdXNoKHtcbiAgICAgICAgICAgIGxpbmVzOiBsaW5lcyxcbiAgICAgICAgICAgIHN0YXJ0OiBsb2Muc3RhcnQsXG4gICAgICAgICAgICBlbmQ6IGxvYy5lbmQsXG4gICAgICAgIH0pO1xuICAgIH07XG4gICAgc2VsZi5nZXQgPSBmdW5jdGlvbiAobG9jKSB7XG4gICAgICAgIC8vIElmIG5vIGxvY2F0aW9uIGlzIHByb3ZpZGVkLCByZXR1cm4gdGhlIGNvbXBsZXRlIExpbmVzIG9iamVjdC5cbiAgICAgICAgbG9jID0gbG9jIHx8IHtcbiAgICAgICAgICAgIHN0YXJ0OiB7IGxpbmU6IDEsIGNvbHVtbjogMCB9LFxuICAgICAgICAgICAgZW5kOiB7IGxpbmU6IGxpbmVzLmxlbmd0aCwgY29sdW1uOiBsaW5lcy5nZXRMaW5lTGVuZ3RoKGxpbmVzLmxlbmd0aCkgfSxcbiAgICAgICAgfTtcbiAgICAgICAgdmFyIHNsaWNlRnJvbSA9IGxvYy5zdGFydCwgdG9Db25jYXQgPSBbXTtcbiAgICAgICAgZnVuY3Rpb24gcHVzaFNsaWNlKGZyb20sIHRvKSB7XG4gICAgICAgICAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KSgoMCwgdXRpbF8xLmNvbXBhcmVQb3MpKGZyb20sIHRvKSA8PSAwKTtcbiAgICAgICAgICAgIHRvQ29uY2F0LnB1c2gobGluZXMuc2xpY2UoZnJvbSwgdG8pKTtcbiAgICAgICAgfVxuICAgICAgICByZXBsYWNlbWVudHNcbiAgICAgICAgICAgIC5zb3J0KGZ1bmN0aW9uIChhLCBiKSB7IHJldHVybiAoMCwgdXRpbF8xLmNvbXBhcmVQb3MpKGEuc3RhcnQsIGIuc3RhcnQpOyB9KVxuICAgICAgICAgICAgLmZvckVhY2goZnVuY3Rpb24gKHJlcCkge1xuICAgICAgICAgICAgaWYgKCgwLCB1dGlsXzEuY29tcGFyZVBvcykoc2xpY2VGcm9tLCByZXAuc3RhcnQpID4gMCkge1xuICAgICAgICAgICAgICAgIC8vIElnbm9yZSBuZXN0ZWQgcmVwbGFjZW1lbnQgcmFuZ2VzLlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcHVzaFNsaWNlKHNsaWNlRnJvbSwgcmVwLnN0YXJ0KTtcbiAgICAgICAgICAgICAgICB0b0NvbmNhdC5wdXNoKHJlcC5saW5lcyk7XG4gICAgICAgICAgICAgICAgc2xpY2VGcm9tID0gcmVwLmVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICAgIHB1c2hTbGljZShzbGljZUZyb20sIGxvYy5lbmQpO1xuICAgICAgICByZXR1cm4gbGluZXNNb2R1bGUuY29uY2F0KHRvQ29uY2F0KTtcbiAgICB9O1xufTtcbmV4cG9ydHMuUGF0Y2hlciA9IFBhdGNoZXI7XG52YXIgUHAgPSBQYXRjaGVyLnByb3RvdHlwZTtcblBwLnRyeVRvUmVwcmludENvbW1lbnRzID0gZnVuY3Rpb24gKG5ld05vZGUsIG9sZE5vZGUsIHByaW50KSB7XG4gICAgdmFyIHBhdGNoZXIgPSB0aGlzO1xuICAgIGlmICghbmV3Tm9kZS5jb21tZW50cyAmJiAhb2xkTm9kZS5jb21tZW50cykge1xuICAgICAgICAvLyBXZSB3ZXJlICh2YWN1b3VzbHkpIGFibGUgdG8gcmVwcmludCBhbGwgdGhlIGNvbW1lbnRzIVxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgdmFyIG5ld1BhdGggPSBmYXN0X3BhdGhfMS5kZWZhdWx0LmZyb20obmV3Tm9kZSk7XG4gICAgdmFyIG9sZFBhdGggPSBmYXN0X3BhdGhfMS5kZWZhdWx0LmZyb20ob2xkTm9kZSk7XG4gICAgbmV3UGF0aC5zdGFjay5wdXNoKFwiY29tbWVudHNcIiwgZ2V0U3Vycm91bmRpbmdDb21tZW50cyhuZXdOb2RlKSk7XG4gICAgb2xkUGF0aC5zdGFjay5wdXNoKFwiY29tbWVudHNcIiwgZ2V0U3Vycm91bmRpbmdDb21tZW50cyhvbGROb2RlKSk7XG4gICAgdmFyIHJlcHJpbnRzID0gW107XG4gICAgdmFyIGFibGVUb1JlcHJpbnRDb21tZW50cyA9IGZpbmRBcnJheVJlcHJpbnRzKG5ld1BhdGgsIG9sZFBhdGgsIHJlcHJpbnRzKTtcbiAgICAvLyBObyBuZWVkIHRvIHBvcCBhbnl0aGluZyBmcm9tIG5ld1BhdGguc3RhY2sgb3Igb2xkUGF0aC5zdGFjaywgc2luY2VcbiAgICAvLyBuZXdQYXRoIGFuZCBvbGRQYXRoIGFyZSBmcmVzaCBsb2NhbCB2YXJpYWJsZXMuXG4gICAgaWYgKGFibGVUb1JlcHJpbnRDb21tZW50cyAmJiByZXByaW50cy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHJlcHJpbnRzLmZvckVhY2goZnVuY3Rpb24gKHJlcHJpbnQpIHtcbiAgICAgICAgICAgIHZhciBvbGRDb21tZW50ID0gcmVwcmludC5vbGRQYXRoLmdldFZhbHVlKCk7XG4gICAgICAgICAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KShvbGRDb21tZW50LmxlYWRpbmcgfHwgb2xkQ29tbWVudC50cmFpbGluZyk7XG4gICAgICAgICAgICBwYXRjaGVyLnJlcGxhY2Uob2xkQ29tbWVudC5sb2MsIFxuICAgICAgICAgICAgLy8gQ29tbWVudHMgY2FuJ3QgaGF2ZSAuY29tbWVudHMsIHNvIGl0IGRvZXNuJ3QgbWF0dGVyIHdoZXRoZXIgd2VcbiAgICAgICAgICAgIC8vIHByaW50IHdpdGggY29tbWVudHMgb3Igd2l0aG91dC5cbiAgICAgICAgICAgIHByaW50KHJlcHJpbnQubmV3UGF0aCkuaW5kZW50VGFpbChvbGRDb21tZW50LmxvYy5pbmRlbnQpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBhYmxlVG9SZXByaW50Q29tbWVudHM7XG59O1xuLy8gR2V0IGFsbCBjb21tZW50cyB0aGF0IGFyZSBlaXRoZXIgbGVhZGluZyBvciB0cmFpbGluZywgaWdub3JpbmcgYW55XG4vLyBjb21tZW50cyB0aGF0IG9jY3VyIGluc2lkZSBub2RlLmxvYy4gUmV0dXJucyBhbiBlbXB0eSBhcnJheSBmb3Igbm9kZXNcbi8vIHdpdGggbm8gbGVhZGluZyBvciB0cmFpbGluZyBjb21tZW50cy5cbmZ1bmN0aW9uIGdldFN1cnJvdW5kaW5nQ29tbWVudHMobm9kZSkge1xuICAgIHZhciByZXN1bHQgPSBbXTtcbiAgICBpZiAobm9kZS5jb21tZW50cyAmJiBub2RlLmNvbW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgbm9kZS5jb21tZW50cy5mb3JFYWNoKGZ1bmN0aW9uIChjb21tZW50KSB7XG4gICAgICAgICAgICBpZiAoY29tbWVudC5sZWFkaW5nIHx8IGNvbW1lbnQudHJhaWxpbmcpIHtcbiAgICAgICAgICAgICAgICByZXN1bHQucHVzaChjb21tZW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG59XG5QcC5kZWxldGVDb21tZW50cyA9IGZ1bmN0aW9uIChub2RlKSB7XG4gICAgaWYgKCFub2RlLmNvbW1lbnRzKSB7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdmFyIHBhdGNoZXIgPSB0aGlzO1xuICAgIG5vZGUuY29tbWVudHMuZm9yRWFjaChmdW5jdGlvbiAoY29tbWVudCkge1xuICAgICAgICBpZiAoY29tbWVudC5sZWFkaW5nKSB7XG4gICAgICAgICAgICAvLyBEZWxldGUgbGVhZGluZyBjb21tZW50cyBhbG9uZyB3aXRoIGFueSB0cmFpbGluZyB3aGl0ZXNwYWNlIHRoZXlcbiAgICAgICAgICAgIC8vIG1pZ2h0IGhhdmUuXG4gICAgICAgICAgICBwYXRjaGVyLnJlcGxhY2Uoe1xuICAgICAgICAgICAgICAgIHN0YXJ0OiBjb21tZW50LmxvYy5zdGFydCxcbiAgICAgICAgICAgICAgICBlbmQ6IG5vZGUubG9jLmxpbmVzLnNraXBTcGFjZXMoY29tbWVudC5sb2MuZW5kLCBmYWxzZSwgZmFsc2UpLFxuICAgICAgICAgICAgfSwgXCJcIik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoY29tbWVudC50cmFpbGluZykge1xuICAgICAgICAgICAgLy8gRGVsZXRlIHRyYWlsaW5nIGNvbW1lbnRzIGFsb25nIHdpdGggYW55IGxlYWRpbmcgd2hpdGVzcGFjZSB0aGV5XG4gICAgICAgICAgICAvLyBtaWdodCBoYXZlLlxuICAgICAgICAgICAgcGF0Y2hlci5yZXBsYWNlKHtcbiAgICAgICAgICAgICAgICBzdGFydDogbm9kZS5sb2MubGluZXMuc2tpcFNwYWNlcyhjb21tZW50LmxvYy5zdGFydCwgdHJ1ZSwgZmFsc2UpLFxuICAgICAgICAgICAgICAgIGVuZDogY29tbWVudC5sb2MuZW5kLFxuICAgICAgICAgICAgfSwgXCJcIik7XG4gICAgICAgIH1cbiAgICB9KTtcbn07XG5mdW5jdGlvbiBnZXRSZXByaW50ZXIocGF0aCkge1xuICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHBhdGggaW5zdGFuY2VvZiBmYXN0X3BhdGhfMS5kZWZhdWx0KTtcbiAgICAvLyBNYWtlIHN1cmUgdGhhdCB0aGlzIHBhdGggcmVmZXJzIHNwZWNpZmljYWxseSB0byBhIE5vZGUsIHJhdGhlciB0aGFuXG4gICAgLy8gc29tZSBub24tTm9kZSBzdWJwcm9wZXJ0eSBvZiBhIE5vZGUuXG4gICAgdmFyIG5vZGUgPSBwYXRoLmdldFZhbHVlKCk7XG4gICAgaWYgKCFQcmludGFibGUuY2hlY2sobm9kZSkpXG4gICAgICAgIHJldHVybjtcbiAgICB2YXIgb3JpZyA9IG5vZGUub3JpZ2luYWw7XG4gICAgdmFyIG9yaWdMb2MgPSBvcmlnICYmIG9yaWcubG9jO1xuICAgIHZhciBsaW5lcyA9IG9yaWdMb2MgJiYgb3JpZ0xvYy5saW5lcztcbiAgICB2YXIgcmVwcmludHMgPSBbXTtcbiAgICBpZiAoIWxpbmVzIHx8ICFmaW5kUmVwcmludHMocGF0aCwgcmVwcmludHMpKVxuICAgICAgICByZXR1cm47XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChwcmludCkge1xuICAgICAgICB2YXIgcGF0Y2hlciA9IG5ldyBQYXRjaGVyKGxpbmVzKTtcbiAgICAgICAgcmVwcmludHMuZm9yRWFjaChmdW5jdGlvbiAocmVwcmludCkge1xuICAgICAgICAgICAgdmFyIG5ld05vZGUgPSByZXByaW50Lm5ld1BhdGguZ2V0VmFsdWUoKTtcbiAgICAgICAgICAgIHZhciBvbGROb2RlID0gcmVwcmludC5vbGRQYXRoLmdldFZhbHVlKCk7XG4gICAgICAgICAgICBTb3VyY2VMb2NhdGlvbi5hc3NlcnQob2xkTm9kZS5sb2MsIHRydWUpO1xuICAgICAgICAgICAgdmFyIG5lZWRUb1ByaW50TmV3UGF0aFdpdGhDb21tZW50cyA9ICFwYXRjaGVyLnRyeVRvUmVwcmludENvbW1lbnRzKG5ld05vZGUsIG9sZE5vZGUsIHByaW50KTtcbiAgICAgICAgICAgIGlmIChuZWVkVG9QcmludE5ld1BhdGhXaXRoQ29tbWVudHMpIHtcbiAgICAgICAgICAgICAgICAvLyBTaW5jZSB3ZSB3ZXJlIG5vdCBhYmxlIHRvIHByZXNlcnZlIGFsbCBsZWFkaW5nL3RyYWlsaW5nXG4gICAgICAgICAgICAgICAgLy8gY29tbWVudHMsIHdlIGRlbGV0ZSBvbGROb2RlJ3MgY29tbWVudHMsIHByaW50IG5ld1BhdGggd2l0aFxuICAgICAgICAgICAgICAgIC8vIGNvbW1lbnRzLCBhbmQgdGhlbiBwYXRjaCB0aGUgcmVzdWx0aW5nIGxpbmVzIHdoZXJlIG9sZE5vZGUgdXNlZFxuICAgICAgICAgICAgICAgIC8vIHRvIGJlLlxuICAgICAgICAgICAgICAgIHBhdGNoZXIuZGVsZXRlQ29tbWVudHMob2xkTm9kZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgbmV3TGluZXMgPSBwcmludChyZXByaW50Lm5ld1BhdGgsIHtcbiAgICAgICAgICAgICAgICBpbmNsdWRlQ29tbWVudHM6IG5lZWRUb1ByaW50TmV3UGF0aFdpdGhDb21tZW50cyxcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGUgb2xkTm9kZSB3ZSdyZSByZXBsYWNpbmcgYWxyZWFkeSBoYWQgcGFyZW50aGVzZXMsIHdlIG1heVxuICAgICAgICAgICAgICAgIC8vIG5vdCBuZWVkIHRvIHByaW50IHRoZSBuZXcgbm9kZSB3aXRoIGFueSBleHRyYSBwYXJlbnRoZXNlcyxcbiAgICAgICAgICAgICAgICAvLyBiZWNhdXNlIHRoZSBleGlzdGluZyBwYXJlbnRoZXNlcyB3aWxsIHN1ZmZpY2UuIEhvd2V2ZXIsIGlmIHRoZVxuICAgICAgICAgICAgICAgIC8vIG5ld05vZGUgaGFzIGEgZGlmZmVyZW50IHR5cGUgdGhhbiB0aGUgb2xkTm9kZSwgbGV0IHRoZSBwcmludGVyXG4gICAgICAgICAgICAgICAgLy8gZGVjaWRlIGlmIHJlcHJpbnQubmV3UGF0aCBuZWVkcyBwYXJlbnRoZXNlcywgYXMgdXN1YWwuXG4gICAgICAgICAgICAgICAgYXZvaWRSb290UGFyZW5zOiBvbGROb2RlLnR5cGUgPT09IG5ld05vZGUudHlwZSAmJiByZXByaW50Lm9sZFBhdGguaGFzUGFyZW5zKCksXG4gICAgICAgICAgICB9KS5pbmRlbnRUYWlsKG9sZE5vZGUubG9jLmluZGVudCk7XG4gICAgICAgICAgICB2YXIgbmxzID0gbmVlZHNMZWFkaW5nU3BhY2UobGluZXMsIG9sZE5vZGUubG9jLCBuZXdMaW5lcyk7XG4gICAgICAgICAgICB2YXIgbnRzID0gbmVlZHNUcmFpbGluZ1NwYWNlKGxpbmVzLCBvbGROb2RlLmxvYywgbmV3TGluZXMpO1xuICAgICAgICAgICAgLy8gSWYgd2UgdHJ5IHRvIHJlcGxhY2UgdGhlIGFyZ3VtZW50IG9mIGEgUmV0dXJuU3RhdGVtZW50IGxpa2VcbiAgICAgICAgICAgIC8vIHJldHVyblwiYXNkZlwiIHdpdGggZS5nLiBhIGxpdGVyYWwgbnVsbCBleHByZXNzaW9uLCB3ZSBydW4gdGhlIHJpc2tcbiAgICAgICAgICAgIC8vIG9mIGVuZGluZyB1cCB3aXRoIHJldHVybm51bGwsIHNvIHdlIG5lZWQgdG8gYWRkIGFuIGV4dHJhIGxlYWRpbmdcbiAgICAgICAgICAgIC8vIHNwYWNlIGluIHNpdHVhdGlvbnMgd2hlcmUgdGhhdCBtaWdodCBoYXBwZW4uIExpa2V3aXNlIGZvclxuICAgICAgICAgICAgLy8gXCJhc2RmXCJpbiBvYmouIFNlZSAjMTcwLlxuICAgICAgICAgICAgaWYgKG5scyB8fCBudHMpIHtcbiAgICAgICAgICAgICAgICB2YXIgbmV3UGFydHMgPSBbXTtcbiAgICAgICAgICAgICAgICBubHMgJiYgbmV3UGFydHMucHVzaChcIiBcIik7XG4gICAgICAgICAgICAgICAgbmV3UGFydHMucHVzaChuZXdMaW5lcyk7XG4gICAgICAgICAgICAgICAgbnRzICYmIG5ld1BhcnRzLnB1c2goXCIgXCIpO1xuICAgICAgICAgICAgICAgIG5ld0xpbmVzID0gbGluZXNNb2R1bGUuY29uY2F0KG5ld1BhcnRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhdGNoZXIucmVwbGFjZShvbGROb2RlLmxvYywgbmV3TGluZXMpO1xuICAgICAgICB9KTtcbiAgICAgICAgLy8gUmVjYWxsIHRoYXQgb3JpZ0xvYyBpcyB0aGUgLmxvYyBvZiBhbiBhbmNlc3RvciBub2RlIHRoYXQgaXNcbiAgICAgICAgLy8gZ3VhcmFudGVlZCB0byBjb250YWluIGFsbCB0aGUgcmVwcmludGVkIG5vZGVzIGFuZCBjb21tZW50cy5cbiAgICAgICAgdmFyIHBhdGNoZWRMaW5lcyA9IHBhdGNoZXIuZ2V0KG9yaWdMb2MpLmluZGVudFRhaWwoLW9yaWcubG9jLmluZGVudCk7XG4gICAgICAgIGlmIChwYXRoLm5lZWRzUGFyZW5zKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBsaW5lc01vZHVsZS5jb25jYXQoW1wiKFwiLCBwYXRjaGVkTGluZXMsIFwiKVwiXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBhdGNoZWRMaW5lcztcbiAgICB9O1xufVxuZXhwb3J0cy5nZXRSZXByaW50ZXIgPSBnZXRSZXByaW50ZXI7XG4vLyBJZiB0aGUgbGFzdCBjaGFyYWN0ZXIgYmVmb3JlIG9sZExvYyBhbmQgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiBuZXdMaW5lc1xuLy8gYXJlIGJvdGggaWRlbnRpZmllciBjaGFyYWN0ZXJzLCB0aGV5IG11c3QgYmUgc2VwYXJhdGVkIGJ5IGEgc3BhY2UsXG4vLyBvdGhlcndpc2UgdGhleSB3aWxsIG1vc3QgbGlrZWx5IGdldCBmdXNlZCB0b2dldGhlciBpbnRvIGEgc2luZ2xlIHRva2VuLlxuZnVuY3Rpb24gbmVlZHNMZWFkaW5nU3BhY2Uob2xkTGluZXMsIG9sZExvYywgbmV3TGluZXMpIHtcbiAgICB2YXIgcG9zQmVmb3JlT2xkTG9jID0gKDAsIHV0aWxfMS5jb3B5UG9zKShvbGRMb2Muc3RhcnQpO1xuICAgIC8vIFRoZSBjaGFyYWN0ZXIganVzdCBiZWZvcmUgdGhlIGxvY2F0aW9uIG9jY3VwaWVkIGJ5IG9sZE5vZGUuXG4gICAgdmFyIGNoYXJCZWZvcmVPbGRMb2MgPSBvbGRMaW5lcy5wcmV2UG9zKHBvc0JlZm9yZU9sZExvYykgJiYgb2xkTGluZXMuY2hhckF0KHBvc0JlZm9yZU9sZExvYyk7XG4gICAgLy8gRmlyc3QgY2hhcmFjdGVyIG9mIHRoZSByZXByaW50ZWQgbm9kZS5cbiAgICB2YXIgbmV3Rmlyc3RDaGFyID0gbmV3TGluZXMuY2hhckF0KG5ld0xpbmVzLmZpcnN0UG9zKCkpO1xuICAgIHJldHVybiAoY2hhckJlZm9yZU9sZExvYyAmJlxuICAgICAgICByaXNreUFkam9pbmluZ0NoYXJFeHAudGVzdChjaGFyQmVmb3JlT2xkTG9jKSAmJlxuICAgICAgICBuZXdGaXJzdENoYXIgJiZcbiAgICAgICAgcmlza3lBZGpvaW5pbmdDaGFyRXhwLnRlc3QobmV3Rmlyc3RDaGFyKSk7XG59XG4vLyBJZiB0aGUgbGFzdCBjaGFyYWN0ZXIgb2YgbmV3TGluZXMgYW5kIHRoZSBmaXJzdCBjaGFyYWN0ZXIgYWZ0ZXIgb2xkTG9jXG4vLyBhcmUgYm90aCBpZGVudGlmaWVyIGNoYXJhY3RlcnMsIHRoZXkgbXVzdCBiZSBzZXBhcmF0ZWQgYnkgYSBzcGFjZSxcbi8vIG90aGVyd2lzZSB0aGV5IHdpbGwgbW9zdCBsaWtlbHkgZ2V0IGZ1c2VkIHRvZ2V0aGVyIGludG8gYSBzaW5nbGUgdG9rZW4uXG5mdW5jdGlvbiBuZWVkc1RyYWlsaW5nU3BhY2Uob2xkTGluZXMsIG9sZExvYywgbmV3TGluZXMpIHtcbiAgICAvLyBUaGUgY2hhcmFjdGVyIGp1c3QgYWZ0ZXIgdGhlIGxvY2F0aW9uIG9jY3VwaWVkIGJ5IG9sZE5vZGUuXG4gICAgdmFyIGNoYXJBZnRlck9sZExvYyA9IG9sZExpbmVzLmNoYXJBdChvbGRMb2MuZW5kKTtcbiAgICB2YXIgbmV3TGFzdFBvcyA9IG5ld0xpbmVzLmxhc3RQb3MoKTtcbiAgICAvLyBMYXN0IGNoYXJhY3RlciBvZiB0aGUgcmVwcmludGVkIG5vZGUuXG4gICAgdmFyIG5ld0xhc3RDaGFyID0gbmV3TGluZXMucHJldlBvcyhuZXdMYXN0UG9zKSAmJiBuZXdMaW5lcy5jaGFyQXQobmV3TGFzdFBvcyk7XG4gICAgcmV0dXJuIChuZXdMYXN0Q2hhciAmJlxuICAgICAgICByaXNreUFkam9pbmluZ0NoYXJFeHAudGVzdChuZXdMYXN0Q2hhcikgJiZcbiAgICAgICAgY2hhckFmdGVyT2xkTG9jICYmXG4gICAgICAgIHJpc2t5QWRqb2luaW5nQ2hhckV4cC50ZXN0KGNoYXJBZnRlck9sZExvYykpO1xufVxuZnVuY3Rpb24gZmluZFJlcHJpbnRzKG5ld1BhdGgsIHJlcHJpbnRzKSB7XG4gICAgdmFyIG5ld05vZGUgPSBuZXdQYXRoLmdldFZhbHVlKCk7XG4gICAgUHJpbnRhYmxlLmFzc2VydChuZXdOb2RlKTtcbiAgICB2YXIgb2xkTm9kZSA9IG5ld05vZGUub3JpZ2luYWw7XG4gICAgUHJpbnRhYmxlLmFzc2VydChvbGROb2RlKTtcbiAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KShyZXByaW50cy5sZW5ndGggPT09IDApO1xuICAgIGlmIChuZXdOb2RlLnR5cGUgIT09IG9sZE5vZGUudHlwZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHZhciBvbGRQYXRoID0gbmV3IGZhc3RfcGF0aF8xLmRlZmF1bHQob2xkTm9kZSk7XG4gICAgdmFyIGNhblJlcHJpbnQgPSBmaW5kQ2hpbGRSZXByaW50cyhuZXdQYXRoLCBvbGRQYXRoLCByZXByaW50cyk7XG4gICAgaWYgKCFjYW5SZXByaW50KSB7XG4gICAgICAgIC8vIE1ha2UgYWJzb2x1dGVseSBzdXJlIHRoZSBjYWxsaW5nIGNvZGUgZG9lcyBub3QgYXR0ZW1wdCB0byByZXByaW50XG4gICAgICAgIC8vIGFueSBub2Rlcy5cbiAgICAgICAgcmVwcmludHMubGVuZ3RoID0gMDtcbiAgICB9XG4gICAgcmV0dXJuIGNhblJlcHJpbnQ7XG59XG5mdW5jdGlvbiBmaW5kQW55UmVwcmludHMobmV3UGF0aCwgb2xkUGF0aCwgcmVwcmludHMpIHtcbiAgICB2YXIgbmV3Tm9kZSA9IG5ld1BhdGguZ2V0VmFsdWUoKTtcbiAgICB2YXIgb2xkTm9kZSA9IG9sZFBhdGguZ2V0VmFsdWUoKTtcbiAgICBpZiAobmV3Tm9kZSA9PT0gb2xkTm9kZSlcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgaWYgKGlzQXJyYXkuY2hlY2sobmV3Tm9kZSkpXG4gICAgICAgIHJldHVybiBmaW5kQXJyYXlSZXByaW50cyhuZXdQYXRoLCBvbGRQYXRoLCByZXByaW50cyk7XG4gICAgaWYgKGlzT2JqZWN0LmNoZWNrKG5ld05vZGUpKVxuICAgICAgICByZXR1cm4gZmluZE9iamVjdFJlcHJpbnRzKG5ld1BhdGgsIG9sZFBhdGgsIHJlcHJpbnRzKTtcbiAgICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBmaW5kQXJyYXlSZXByaW50cyhuZXdQYXRoLCBvbGRQYXRoLCByZXByaW50cykge1xuICAgIHZhciBuZXdOb2RlID0gbmV3UGF0aC5nZXRWYWx1ZSgpO1xuICAgIHZhciBvbGROb2RlID0gb2xkUGF0aC5nZXRWYWx1ZSgpO1xuICAgIGlmIChuZXdOb2RlID09PSBvbGROb2RlIHx8XG4gICAgICAgIG5ld1BhdGgudmFsdWVJc0R1cGxpY2F0ZSgpIHx8XG4gICAgICAgIG9sZFBhdGgudmFsdWVJc0R1cGxpY2F0ZSgpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBpc0FycmF5LmFzc2VydChuZXdOb2RlKTtcbiAgICB2YXIgbGVuID0gbmV3Tm9kZS5sZW5ndGg7XG4gICAgaWYgKCEoaXNBcnJheS5jaGVjayhvbGROb2RlKSAmJiBvbGROb2RlLmxlbmd0aCA9PT0gbGVuKSlcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbGVuOyArK2kpIHtcbiAgICAgICAgbmV3UGF0aC5zdGFjay5wdXNoKGksIG5ld05vZGVbaV0pO1xuICAgICAgICBvbGRQYXRoLnN0YWNrLnB1c2goaSwgb2xkTm9kZVtpXSk7XG4gICAgICAgIHZhciBjYW5SZXByaW50ID0gZmluZEFueVJlcHJpbnRzKG5ld1BhdGgsIG9sZFBhdGgsIHJlcHJpbnRzKTtcbiAgICAgICAgbmV3UGF0aC5zdGFjay5sZW5ndGggLT0gMjtcbiAgICAgICAgb2xkUGF0aC5zdGFjay5sZW5ndGggLT0gMjtcbiAgICAgICAgaWYgKCFjYW5SZXByaW50KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBmaW5kT2JqZWN0UmVwcmludHMobmV3UGF0aCwgb2xkUGF0aCwgcmVwcmludHMpIHtcbiAgICB2YXIgbmV3Tm9kZSA9IG5ld1BhdGguZ2V0VmFsdWUoKTtcbiAgICBpc09iamVjdC5hc3NlcnQobmV3Tm9kZSk7XG4gICAgaWYgKG5ld05vZGUub3JpZ2luYWwgPT09IG51bGwpIHtcbiAgICAgICAgLy8gSWYgbmV3Tm9kZS5vcmlnaW5hbCBub2RlIHdhcyBzZXQgdG8gbnVsbCwgcmVwcmludCB0aGUgbm9kZS5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB2YXIgb2xkTm9kZSA9IG9sZFBhdGguZ2V0VmFsdWUoKTtcbiAgICBpZiAoIWlzT2JqZWN0LmNoZWNrKG9sZE5vZGUpKVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgaWYgKG5ld05vZGUgPT09IG9sZE5vZGUgfHxcbiAgICAgICAgbmV3UGF0aC52YWx1ZUlzRHVwbGljYXRlKCkgfHxcbiAgICAgICAgb2xkUGF0aC52YWx1ZUlzRHVwbGljYXRlKCkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChQcmludGFibGUuY2hlY2sobmV3Tm9kZSkpIHtcbiAgICAgICAgaWYgKCFQcmludGFibGUuY2hlY2sob2xkTm9kZSkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgbmV3UGFyZW50Tm9kZSA9IG5ld1BhdGguZ2V0UGFyZW50Tm9kZSgpO1xuICAgICAgICB2YXIgb2xkUGFyZW50Tm9kZSA9IG9sZFBhdGguZ2V0UGFyZW50Tm9kZSgpO1xuICAgICAgICBpZiAob2xkUGFyZW50Tm9kZSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgb2xkUGFyZW50Tm9kZS50eXBlID09PSBcIkZ1bmN0aW9uVHlwZUFubm90YXRpb25cIiAmJlxuICAgICAgICAgICAgbmV3UGFyZW50Tm9kZSAhPT0gbnVsbCAmJlxuICAgICAgICAgICAgbmV3UGFyZW50Tm9kZS50eXBlID09PSBcIkZ1bmN0aW9uVHlwZUFubm90YXRpb25cIikge1xuICAgICAgICAgICAgdmFyIG9sZE5lZWRzUGFyZW5zID0gb2xkUGFyZW50Tm9kZS5wYXJhbXMubGVuZ3RoICE9PSAxIHx8ICEhb2xkUGFyZW50Tm9kZS5wYXJhbXNbMF0ubmFtZTtcbiAgICAgICAgICAgIHZhciBuZXdOZWVkUGFyZW5zID0gbmV3UGFyZW50Tm9kZS5wYXJhbXMubGVuZ3RoICE9PSAxIHx8ICEhbmV3UGFyZW50Tm9kZS5wYXJhbXNbMF0ubmFtZTtcbiAgICAgICAgICAgIGlmICghb2xkTmVlZHNQYXJlbnMgJiYgbmV3TmVlZFBhcmVucykge1xuICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAvLyBIZXJlIHdlIG5lZWQgdG8gZGVjaWRlIHdoZXRoZXIgdGhlIHJlcHJpbnRlZCBjb2RlIGZvciBuZXdOb2RlIGlzXG4gICAgICAgIC8vIGFwcHJvcHJpYXRlIGZvciBwYXRjaGluZyBpbnRvIHRoZSBsb2NhdGlvbiBvZiBvbGROb2RlLlxuICAgICAgICBpZiAobmV3Tm9kZS50eXBlID09PSBvbGROb2RlLnR5cGUpIHtcbiAgICAgICAgICAgIHZhciBjaGlsZFJlcHJpbnRzID0gW107XG4gICAgICAgICAgICBpZiAoZmluZENoaWxkUmVwcmludHMobmV3UGF0aCwgb2xkUGF0aCwgY2hpbGRSZXByaW50cykpIHtcbiAgICAgICAgICAgICAgICByZXByaW50cy5wdXNoLmFwcGx5KHJlcHJpbnRzLCBjaGlsZFJlcHJpbnRzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKG9sZE5vZGUubG9jKSB7XG4gICAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBubyAubG9jIGluZm9ybWF0aW9uIGZvciBvbGROb2RlLCB0aGVuIHdlIHdvbid0IGJlXG4gICAgICAgICAgICAgICAgLy8gYWJsZSB0byByZXByaW50IGl0LlxuICAgICAgICAgICAgICAgIHJlcHJpbnRzLnB1c2goe1xuICAgICAgICAgICAgICAgICAgICBvbGRQYXRoOiBvbGRQYXRoLmNvcHkoKSxcbiAgICAgICAgICAgICAgICAgICAgbmV3UGF0aDogbmV3UGF0aC5jb3B5KCksXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoRXhwcmVzc2lvbi5jaGVjayhuZXdOb2RlKSAmJlxuICAgICAgICAgICAgRXhwcmVzc2lvbi5jaGVjayhvbGROb2RlKSAmJlxuICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBubyAubG9jIGluZm9ybWF0aW9uIGZvciBvbGROb2RlLCB0aGVuIHdlIHdvbid0IGJlXG4gICAgICAgICAgICAvLyBhYmxlIHRvIHJlcHJpbnQgaXQuXG4gICAgICAgICAgICBvbGROb2RlLmxvYykge1xuICAgICAgICAgICAgLy8gSWYgYm90aCBub2RlcyBhcmUgc3VidHlwZXMgb2YgRXhwcmVzc2lvbiwgdGhlbiB3ZSBzaG91bGQgYmUgYWJsZVxuICAgICAgICAgICAgLy8gdG8gZmlsbCB0aGUgbG9jYXRpb24gb2NjdXBpZWQgYnkgdGhlIG9sZCBub2RlIHdpdGggY29kZSBwcmludGVkXG4gICAgICAgICAgICAvLyBmb3IgdGhlIG5ldyBub2RlIHdpdGggbm8gaWxsIGNvbnNlcXVlbmNlcy5cbiAgICAgICAgICAgIHJlcHJpbnRzLnB1c2goe1xuICAgICAgICAgICAgICAgIG9sZFBhdGg6IG9sZFBhdGguY29weSgpLFxuICAgICAgICAgICAgICAgIG5ld1BhdGg6IG5ld1BhdGguY29weSgpLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBUaGUgbm9kZXMgaGF2ZSBkaWZmZXJlbnQgdHlwZXMsIGFuZCBhdCBsZWFzdCBvbmUgb2YgdGhlIHR5cGVzIGlzXG4gICAgICAgIC8vIG5vdCBhIHN1YnR5cGUgb2YgdGhlIEV4cHJlc3Npb24gdHlwZSwgc28gd2UgY2Fubm90IHNhZmVseSBhc3N1bWVcbiAgICAgICAgLy8gdGhlIG5vZGVzIGFyZSBzeW50YWN0aWNhbGx5IGludGVyY2hhbmdlYWJsZS5cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gZmluZENoaWxkUmVwcmludHMobmV3UGF0aCwgb2xkUGF0aCwgcmVwcmludHMpO1xufVxuZnVuY3Rpb24gZmluZENoaWxkUmVwcmludHMobmV3UGF0aCwgb2xkUGF0aCwgcmVwcmludHMpIHtcbiAgICB2YXIgbmV3Tm9kZSA9IG5ld1BhdGguZ2V0VmFsdWUoKTtcbiAgICB2YXIgb2xkTm9kZSA9IG9sZFBhdGguZ2V0VmFsdWUoKTtcbiAgICBpc09iamVjdC5hc3NlcnQobmV3Tm9kZSk7XG4gICAgaXNPYmplY3QuYXNzZXJ0KG9sZE5vZGUpO1xuICAgIGlmIChuZXdOb2RlLm9yaWdpbmFsID09PSBudWxsKSB7XG4gICAgICAgIC8vIElmIG5ld05vZGUub3JpZ2luYWwgbm9kZSB3YXMgc2V0IHRvIG51bGwsIHJlcHJpbnQgdGhlIG5vZGUuXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgLy8gSWYgdGhpcyBub2RlIG5lZWRzIHBhcmVudGhlc2VzIGFuZCB3aWxsIG5vdCBiZSB3cmFwcGVkIHdpdGhcbiAgICAvLyBwYXJlbnRoZXNlcyB3aGVuIHJlcHJpbnRlZCwgdGhlbiByZXR1cm4gZmFsc2UgdG8gc2tpcCByZXByaW50aW5nIGFuZFxuICAgIC8vIGxldCBpdCBiZSBwcmludGVkIGdlbmVyaWNhbGx5LlxuICAgIGlmIChuZXdQYXRoLm5lZWRzUGFyZW5zKCkgJiYgIW9sZFBhdGguaGFzUGFyZW5zKCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICB2YXIga2V5cyA9ICgwLCB1dGlsXzEuZ2V0VW5pb25PZktleXMpKG9sZE5vZGUsIG5ld05vZGUpO1xuICAgIGlmIChvbGROb2RlLnR5cGUgPT09IFwiRmlsZVwiIHx8IG5ld05vZGUudHlwZSA9PT0gXCJGaWxlXCIpIHtcbiAgICAgICAgLy8gRG9uJ3QgYm90aGVyIHRyYXZlcnNpbmcgZmlsZS50b2tlbnMsIGFuIG9mdGVuIHZlcnkgbGFyZ2UgYXJyYXlcbiAgICAgICAgLy8gcmV0dXJuZWQgYnkgQmFieWxvbiwgYW5kIHVzZWxlc3MgZm9yIG91ciBwdXJwb3Nlcy5cbiAgICAgICAgZGVsZXRlIGtleXMudG9rZW5zO1xuICAgIH1cbiAgICAvLyBEb24ndCBib3RoZXIgdHJhdmVyc2luZyAubG9jIG9iamVjdHMgbG9va2luZyBmb3IgcmVwcmludGFibGUgbm9kZXMuXG4gICAgZGVsZXRlIGtleXMubG9jO1xuICAgIHZhciBvcmlnaW5hbFJlcHJpbnRDb3VudCA9IHJlcHJpbnRzLmxlbmd0aDtcbiAgICBmb3IgKHZhciBrIGluIGtleXMpIHtcbiAgICAgICAgaWYgKGsuY2hhckF0KDApID09PSBcIl9cIikge1xuICAgICAgICAgICAgLy8gSWdub3JlIFwicHJpdmF0ZVwiIEFTVCBwcm9wZXJ0aWVzIGFkZGVkIGJ5IGUuZy4gQmFiZWwgcGx1Z2lucyBhbmRcbiAgICAgICAgICAgIC8vIHBhcnNlcnMgbGlrZSBCYWJ5bG9uLlxuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgbmV3UGF0aC5zdGFjay5wdXNoKGssIHR5cGVzLmdldEZpZWxkVmFsdWUobmV3Tm9kZSwgaykpO1xuICAgICAgICBvbGRQYXRoLnN0YWNrLnB1c2goaywgdHlwZXMuZ2V0RmllbGRWYWx1ZShvbGROb2RlLCBrKSk7XG4gICAgICAgIHZhciBjYW5SZXByaW50ID0gZmluZEFueVJlcHJpbnRzKG5ld1BhdGgsIG9sZFBhdGgsIHJlcHJpbnRzKTtcbiAgICAgICAgbmV3UGF0aC5zdGFjay5sZW5ndGggLT0gMjtcbiAgICAgICAgb2xkUGF0aC5zdGFjay5sZW5ndGggLT0gMjtcbiAgICAgICAgaWYgKCFjYW5SZXByaW50KSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gUmV0dXJuIHN0YXRlbWVudHMgbWlnaHQgZW5kIHVwIHJ1bm5pbmcgaW50byBBU0kgaXNzdWVzIGR1ZSB0b1xuICAgIC8vIGNvbW1lbnRzIGluc2VydGVkIGRlZXAgd2l0aGluIHRoZSB0cmVlLCBzbyByZXByaW50IHRoZW0gaWYgYW55dGhpbmdcbiAgICAvLyBjaGFuZ2VkIHdpdGhpbiB0aGVtLlxuICAgIGlmIChSZXR1cm5TdGF0ZW1lbnQuY2hlY2sobmV3UGF0aC5nZXROb2RlKCkpICYmXG4gICAgICAgIHJlcHJpbnRzLmxlbmd0aCA+IG9yaWdpbmFsUmVwcmludENvdW50KSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG59XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG5leHBvcnRzLlByaW50ZXIgPSB2b2lkIDA7XG52YXIgdHNsaWJfMSA9IHJlcXVpcmUoXCJ0c2xpYlwiKTtcbnZhciB0aW55X2ludmFyaWFudF8xID0gdHNsaWJfMS5fX2ltcG9ydERlZmF1bHQocmVxdWlyZShcInRpbnktaW52YXJpYW50XCIpKTtcbnZhciB0eXBlcyA9IHRzbGliXzEuX19pbXBvcnRTdGFyKHJlcXVpcmUoXCJhc3QtdHlwZXNcIikpO1xudmFyIGNvbW1lbnRzXzEgPSByZXF1aXJlKFwiLi9jb21tZW50c1wiKTtcbnZhciBmYXN0X3BhdGhfMSA9IHRzbGliXzEuX19pbXBvcnREZWZhdWx0KHJlcXVpcmUoXCIuL2Zhc3QtcGF0aFwiKSk7XG52YXIgbGluZXNfMSA9IHJlcXVpcmUoXCIuL2xpbmVzXCIpO1xudmFyIG9wdGlvbnNfMSA9IHJlcXVpcmUoXCIuL29wdGlvbnNcIik7XG52YXIgcGF0Y2hlcl8xID0gcmVxdWlyZShcIi4vcGF0Y2hlclwiKTtcbnZhciB1dGlsID0gdHNsaWJfMS5fX2ltcG9ydFN0YXIocmVxdWlyZShcIi4vdXRpbFwiKSk7XG52YXIgbmFtZWRUeXBlcyA9IHR5cGVzLm5hbWVkVHlwZXM7XG52YXIgaXNTdHJpbmcgPSB0eXBlcy5idWlsdEluVHlwZXMuc3RyaW5nO1xudmFyIGlzT2JqZWN0ID0gdHlwZXMuYnVpbHRJblR5cGVzLm9iamVjdDtcbnZhciBQcmludFJlc3VsdCA9IGZ1bmN0aW9uIFByaW50UmVzdWx0KGNvZGUsIHNvdXJjZU1hcCkge1xuICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHRoaXMgaW5zdGFuY2VvZiBQcmludFJlc3VsdCk7XG4gICAgaXNTdHJpbmcuYXNzZXJ0KGNvZGUpO1xuICAgIHRoaXMuY29kZSA9IGNvZGU7XG4gICAgaWYgKHNvdXJjZU1hcCkge1xuICAgICAgICBpc09iamVjdC5hc3NlcnQoc291cmNlTWFwKTtcbiAgICAgICAgdGhpcy5tYXAgPSBzb3VyY2VNYXA7XG4gICAgfVxufTtcbnZhciBQUnAgPSBQcmludFJlc3VsdC5wcm90b3R5cGU7XG52YXIgd2FybmVkQWJvdXRUb1N0cmluZyA9IGZhbHNlO1xuUFJwLnRvU3RyaW5nID0gZnVuY3Rpb24gKCkge1xuICAgIGlmICghd2FybmVkQWJvdXRUb1N0cmluZykge1xuICAgICAgICBjb25zb2xlLndhcm4oXCJEZXByZWNhdGlvbiB3YXJuaW5nOiByZWNhc3QucHJpbnQgbm93IHJldHVybnMgYW4gb2JqZWN0IHdpdGggXCIgK1xuICAgICAgICAgICAgXCJhIC5jb2RlIHByb3BlcnR5LiBZb3UgYXBwZWFyIHRvIGJlIHRyZWF0aW5nIHRoZSBvYmplY3QgYXMgYSBcIiArXG4gICAgICAgICAgICBcInN0cmluZywgd2hpY2ggbWlnaHQgc3RpbGwgd29yayBidXQgaXMgc3Ryb25nbHkgZGlzY291cmFnZWQuXCIpO1xuICAgICAgICB3YXJuZWRBYm91dFRvU3RyaW5nID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29kZTtcbn07XG52YXIgZW1wdHlQcmludFJlc3VsdCA9IG5ldyBQcmludFJlc3VsdChcIlwiKTtcbnZhciBQcmludGVyID0gZnVuY3Rpb24gUHJpbnRlcihjb25maWcpIHtcbiAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KSh0aGlzIGluc3RhbmNlb2YgUHJpbnRlcik7XG4gICAgdmFyIGV4cGxpY2l0VGFiV2lkdGggPSBjb25maWcgJiYgY29uZmlnLnRhYldpZHRoO1xuICAgIGNvbmZpZyA9ICgwLCBvcHRpb25zXzEubm9ybWFsaXplKShjb25maWcpO1xuICAgIC8vIEl0J3MgY29tbW9uIGZvciBjbGllbnQgY29kZSB0byBwYXNzIHRoZSBzYW1lIG9wdGlvbnMgaW50byBib3RoXG4gICAgLy8gcmVjYXN0LnBhcnNlIGFuZCByZWNhc3QucHJpbnQsIGJ1dCB0aGUgUHJpbnRlciBkb2Vzbid0IG5lZWQgKGFuZFxuICAgIC8vIGNhbiBiZSBjb25mdXNlZCBieSkgY29uZmlnLnNvdXJjZUZpbGVOYW1lLCBzbyB3ZSBudWxsIGl0IG91dC5cbiAgICBjb25maWcuc291cmNlRmlsZU5hbWUgPSBudWxsO1xuICAgIC8vIE5vbi1kZXN0cnVjdGl2ZWx5IG1vZGlmaWVzIG9wdGlvbnMgd2l0aCBvdmVycmlkZXMsIGFuZCByZXR1cm5zIGFcbiAgICAvLyBuZXcgcHJpbnQgZnVuY3Rpb24gdGhhdCB1c2VzIHRoZSBtb2RpZmllZCBvcHRpb25zLlxuICAgIGZ1bmN0aW9uIG1ha2VQcmludEZ1bmN0aW9uV2l0aChvcHRpb25zLCBvdmVycmlkZXMpIHtcbiAgICAgICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMsIG92ZXJyaWRlcyk7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiAocGF0aCkgeyByZXR1cm4gcHJpbnQocGF0aCwgb3B0aW9ucyk7IH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIHByaW50KHBhdGgsIG9wdGlvbnMpIHtcbiAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkocGF0aCBpbnN0YW5jZW9mIGZhc3RfcGF0aF8xLmRlZmF1bHQpO1xuICAgICAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICAgICAgaWYgKG9wdGlvbnMuaW5jbHVkZUNvbW1lbnRzKSB7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGNvbW1lbnRzXzEucHJpbnRDb21tZW50cykocGF0aCwgbWFrZVByaW50RnVuY3Rpb25XaXRoKG9wdGlvbnMsIHtcbiAgICAgICAgICAgICAgICBpbmNsdWRlQ29tbWVudHM6IGZhbHNlLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBvbGRUYWJXaWR0aCA9IGNvbmZpZy50YWJXaWR0aDtcbiAgICAgICAgaWYgKCFleHBsaWNpdFRhYldpZHRoKSB7XG4gICAgICAgICAgICB2YXIgbG9jID0gcGF0aC5nZXROb2RlKCkubG9jO1xuICAgICAgICAgICAgaWYgKGxvYyAmJiBsb2MubGluZXMgJiYgbG9jLmxpbmVzLmd1ZXNzVGFiV2lkdGgpIHtcbiAgICAgICAgICAgICAgICBjb25maWcudGFiV2lkdGggPSBsb2MubGluZXMuZ3Vlc3NUYWJXaWR0aCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHZhciByZXByaW50ZXIgPSAoMCwgcGF0Y2hlcl8xLmdldFJlcHJpbnRlcikocGF0aCk7XG4gICAgICAgIHZhciBsaW5lcyA9IHJlcHJpbnRlclxuICAgICAgICAgICAgPyAvLyBTaW5jZSB0aGUgcHJpbnQgZnVuY3Rpb24gdGhhdCB3ZSBwYXNzIHRvIHRoZSByZXByaW50ZXIgd2lsbFxuICAgICAgICAgICAgICAgIC8vIGJlIHVzZWQgdG8gcHJpbnQgXCJuZXdcIiBub2RlcywgaXQncyB0ZW1wdGluZyB0byB0aGluayB3ZVxuICAgICAgICAgICAgICAgIC8vIHNob3VsZCBwYXNzIHByaW50Um9vdEdlbmVyaWNhbGx5IGluc3RlYWQgb2YgcHJpbnQsIHRvIGF2b2lkXG4gICAgICAgICAgICAgICAgLy8gY2FsbGluZyBtYXliZVJlcHJpbnQgYWdhaW4sIGJ1dCB0aGF0IHdvdWxkIGJlIGEgbWlzdGFrZVxuICAgICAgICAgICAgICAgIC8vIGJlY2F1c2UgdGhlIG5ldyBub2RlcyBtaWdodCBub3QgYmUgZW50aXJlbHkgbmV3LCBidXQgbWVyZWx5XG4gICAgICAgICAgICAgICAgLy8gbW92ZWQgZnJvbSBlbHNld2hlcmUgaW4gdGhlIEFTVC4gVGhlIHByaW50IGZ1bmN0aW9uIGlzIHRoZVxuICAgICAgICAgICAgICAgIC8vIHJpZ2h0IGNob2ljZSBiZWNhdXNlIGl0IGdpdmVzIHVzIHRoZSBvcHBvcnR1bml0eSB0byByZXByaW50XG4gICAgICAgICAgICAgICAgLy8gc3VjaCBub2RlcyB1c2luZyB0aGVpciBvcmlnaW5hbCBzb3VyY2UuXG4gICAgICAgICAgICAgICAgcmVwcmludGVyKHByaW50KVxuICAgICAgICAgICAgOiBnZW5lcmljUHJpbnQocGF0aCwgY29uZmlnLCBvcHRpb25zLCBtYWtlUHJpbnRGdW5jdGlvbldpdGgob3B0aW9ucywge1xuICAgICAgICAgICAgICAgIGluY2x1ZGVDb21tZW50czogdHJ1ZSxcbiAgICAgICAgICAgICAgICBhdm9pZFJvb3RQYXJlbnM6IGZhbHNlLFxuICAgICAgICAgICAgfSkpO1xuICAgICAgICBjb25maWcudGFiV2lkdGggPSBvbGRUYWJXaWR0aDtcbiAgICAgICAgcmV0dXJuIGxpbmVzO1xuICAgIH1cbiAgICB0aGlzLnByaW50ID0gZnVuY3Rpb24gKGFzdCkge1xuICAgICAgICBpZiAoIWFzdCkge1xuICAgICAgICAgICAgcmV0dXJuIGVtcHR5UHJpbnRSZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGxpbmVzID0gcHJpbnQoZmFzdF9wYXRoXzEuZGVmYXVsdC5mcm9tKGFzdCksIHtcbiAgICAgICAgICAgIGluY2x1ZGVDb21tZW50czogdHJ1ZSxcbiAgICAgICAgICAgIGF2b2lkUm9vdFBhcmVuczogZmFsc2UsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbmV3IFByaW50UmVzdWx0KGxpbmVzLnRvU3RyaW5nKGNvbmZpZyksIHV0aWwuY29tcG9zZVNvdXJjZU1hcHMoY29uZmlnLmlucHV0U291cmNlTWFwLCBsaW5lcy5nZXRTb3VyY2VNYXAoY29uZmlnLnNvdXJjZU1hcE5hbWUsIGNvbmZpZy5zb3VyY2VSb290KSkpO1xuICAgIH07XG4gICAgdGhpcy5wcmludEdlbmVyaWNhbGx5ID0gZnVuY3Rpb24gKGFzdCkge1xuICAgICAgICBpZiAoIWFzdCkge1xuICAgICAgICAgICAgcmV0dXJuIGVtcHR5UHJpbnRSZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgLy8gUHJpbnQgdGhlIGVudGlyZSBBU1QgZ2VuZXJpY2FsbHkuXG4gICAgICAgIGZ1bmN0aW9uIHByaW50R2VuZXJpY2FsbHkocGF0aCkge1xuICAgICAgICAgICAgcmV0dXJuICgwLCBjb21tZW50c18xLnByaW50Q29tbWVudHMpKHBhdGgsIGZ1bmN0aW9uIChwYXRoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIGdlbmVyaWNQcmludChwYXRoLCBjb25maWcsIHtcbiAgICAgICAgICAgICAgICAgICAgaW5jbHVkZUNvbW1lbnRzOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICBhdm9pZFJvb3RQYXJlbnM6IGZhbHNlLFxuICAgICAgICAgICAgICAgIH0sIHByaW50R2VuZXJpY2FsbHkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFyIHBhdGggPSBmYXN0X3BhdGhfMS5kZWZhdWx0LmZyb20oYXN0KTtcbiAgICAgICAgdmFyIG9sZFJldXNlV2hpdGVzcGFjZSA9IGNvbmZpZy5yZXVzZVdoaXRlc3BhY2U7XG4gICAgICAgIC8vIERvIG5vdCByZXVzZSB3aGl0ZXNwYWNlIChvciBhbnl0aGluZyBlbHNlLCBmb3IgdGhhdCBtYXR0ZXIpXG4gICAgICAgIC8vIHdoZW4gcHJpbnRpbmcgZ2VuZXJpY2FsbHkuXG4gICAgICAgIGNvbmZpZy5yZXVzZVdoaXRlc3BhY2UgPSBmYWxzZTtcbiAgICAgICAgLy8gVE9ETyBBbGxvdyBwcmludGluZyBvZiBjb21tZW50cz9cbiAgICAgICAgdmFyIHByID0gbmV3IFByaW50UmVzdWx0KHByaW50R2VuZXJpY2FsbHkocGF0aCkudG9TdHJpbmcoY29uZmlnKSk7XG4gICAgICAgIGNvbmZpZy5yZXVzZVdoaXRlc3BhY2UgPSBvbGRSZXVzZVdoaXRlc3BhY2U7XG4gICAgICAgIHJldHVybiBwcjtcbiAgICB9O1xufTtcbmV4cG9ydHMuUHJpbnRlciA9IFByaW50ZXI7XG5mdW5jdGlvbiBnZW5lcmljUHJpbnQocGF0aCwgY29uZmlnLCBvcHRpb25zLCBwcmludFBhdGgpIHtcbiAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KShwYXRoIGluc3RhbmNlb2YgZmFzdF9wYXRoXzEuZGVmYXVsdCk7XG4gICAgdmFyIG5vZGUgPSBwYXRoLmdldFZhbHVlKCk7XG4gICAgdmFyIHBhcnRzID0gW107XG4gICAgdmFyIGxpbmVzV2l0aG91dFBhcmVucyA9IGdlbmVyaWNQcmludE5vUGFyZW5zKHBhdGgsIGNvbmZpZywgcHJpbnRQYXRoKTtcbiAgICBpZiAoIW5vZGUgfHwgbGluZXNXaXRob3V0UGFyZW5zLmlzRW1wdHkoKSkge1xuICAgICAgICByZXR1cm4gbGluZXNXaXRob3V0UGFyZW5zO1xuICAgIH1cbiAgICB2YXIgc2hvdWxkQWRkUGFyZW5zID0gZmFsc2U7XG4gICAgdmFyIGRlY29yYXRvcnNMaW5lcyA9IHByaW50RGVjb3JhdG9ycyhwYXRoLCBwcmludFBhdGgpO1xuICAgIGlmIChkZWNvcmF0b3JzTGluZXMuaXNFbXB0eSgpKSB7XG4gICAgICAgIC8vIE5vZGVzIHdpdGggZGVjb3JhdG9ycyBjYW4ndCBoYXZlIHBhcmVudGhlc2VzLCBzbyB3ZSBjYW4gYXZvaWRcbiAgICAgICAgLy8gY29tcHV0aW5nIHBhdGgubmVlZHNQYXJlbnMoKSBleGNlcHQgaW4gdGhpcyBjYXNlLlxuICAgICAgICBpZiAoIW9wdGlvbnMuYXZvaWRSb290UGFyZW5zKSB7XG4gICAgICAgICAgICBzaG91bGRBZGRQYXJlbnMgPSBwYXRoLm5lZWRzUGFyZW5zKCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIHBhcnRzLnB1c2goZGVjb3JhdG9yc0xpbmVzKTtcbiAgICB9XG4gICAgaWYgKHNob3VsZEFkZFBhcmVucykge1xuICAgICAgICBwYXJ0cy51bnNoaWZ0KFwiKFwiKTtcbiAgICB9XG4gICAgcGFydHMucHVzaChsaW5lc1dpdGhvdXRQYXJlbnMpO1xuICAgIGlmIChzaG91bGRBZGRQYXJlbnMpIHtcbiAgICAgICAgcGFydHMucHVzaChcIilcIik7XG4gICAgfVxuICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbn1cbi8vIE5vdGUgdGhhdCB0aGUgYG9wdGlvbnNgIHBhcmFtZXRlciBvZiB0aGlzIGZ1bmN0aW9uIGlzIHdoYXQgb3RoZXJcbi8vIGZ1bmN0aW9ucyBpbiB0aGlzIGZpbGUgY2FsbCB0aGUgYGNvbmZpZ2Agb2JqZWN0ICh0aGF0IGlzLCB0aGVcbi8vIGNvbmZpZ3VyYXRpb24gb2JqZWN0IG9yaWdpbmFsbHkgcGFzc2VkIGludG8gdGhlIFByaW50ZXIgY29uc3RydWN0b3IpLlxuLy8gSXRzIHByb3BlcnRpZXMgYXJlIGRvY3VtZW50ZWQgaW4gbGliL29wdGlvbnMuanMuXG5mdW5jdGlvbiBnZW5lcmljUHJpbnROb1BhcmVucyhwYXRoLCBvcHRpb25zLCBwcmludCkge1xuICAgIHZhciBuID0gcGF0aC5nZXRWYWx1ZSgpO1xuICAgIGlmICghbikge1xuICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJcIik7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgbiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykobiwgb3B0aW9ucyk7XG4gICAgfVxuICAgIG5hbWVkVHlwZXMuUHJpbnRhYmxlLmFzc2VydChuKTtcbiAgICB2YXIgcGFydHMgPSBbXTtcbiAgICBzd2l0Y2ggKG4udHlwZSkge1xuICAgICAgICBjYXNlIFwiRmlsZVwiOlxuICAgICAgICAgICAgcmV0dXJuIHBhdGguY2FsbChwcmludCwgXCJwcm9ncmFtXCIpO1xuICAgICAgICBjYXNlIFwiUHJvZ3JhbVwiOlxuICAgICAgICAgICAgLy8gQmFiZWwgNlxuICAgICAgICAgICAgaWYgKG4uZGlyZWN0aXZlcykge1xuICAgICAgICAgICAgICAgIHBhdGguZWFjaChmdW5jdGlvbiAoY2hpbGRQYXRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gocHJpbnQoY2hpbGRQYXRoKSwgXCI7XFxuXCIpO1xuICAgICAgICAgICAgICAgIH0sIFwiZGlyZWN0aXZlc1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLmludGVycHJldGVyKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwiaW50ZXJwcmV0ZXJcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwoZnVuY3Rpb24gKGJvZHlQYXRoKSB7IHJldHVybiBwcmludFN0YXRlbWVudFNlcXVlbmNlKGJvZHlQYXRoLCBvcHRpb25zLCBwcmludCk7IH0sIFwiYm9keVwiKSk7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIGNhc2UgXCJOb29wXCI6IC8vIEJhYmVsIGV4dGVuc2lvbi5cbiAgICAgICAgY2FzZSBcIkVtcHR5U3RhdGVtZW50XCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJcIik7XG4gICAgICAgIGNhc2UgXCJFeHByZXNzaW9uU3RhdGVtZW50XCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbcGF0aC5jYWxsKHByaW50LCBcImV4cHJlc3Npb25cIiksIFwiO1wiXSk7XG4gICAgICAgIGNhc2UgXCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiOiAvLyBCYWJlbCBleHRlbnNpb24uXG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXCIoXCIsIHBhdGguY2FsbChwcmludCwgXCJleHByZXNzaW9uXCIpLCBcIilcIl0pO1xuICAgICAgICBjYXNlIFwiQmluYXJ5RXhwcmVzc2lvblwiOlxuICAgICAgICBjYXNlIFwiTG9naWNhbEV4cHJlc3Npb25cIjpcbiAgICAgICAgY2FzZSBcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIgXCIpLmpvaW4oW1xuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJsZWZ0XCIpLFxuICAgICAgICAgICAgICAgIG4ub3BlcmF0b3IsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcInJpZ2h0XCIpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIGNhc2UgXCJBc3NpZ25tZW50UGF0dGVyblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJsZWZ0XCIpLFxuICAgICAgICAgICAgICAgIFwiID0gXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcInJpZ2h0XCIpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIGNhc2UgXCJNZW1iZXJFeHByZXNzaW9uXCI6XG4gICAgICAgIGNhc2UgXCJPcHRpb25hbE1lbWJlckV4cHJlc3Npb25cIjoge1xuICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwib2JqZWN0XCIpKTtcbiAgICAgICAgICAgIHZhciBwcm9wZXJ0eSA9IHBhdGguY2FsbChwcmludCwgXCJwcm9wZXJ0eVwiKTtcbiAgICAgICAgICAgIC8vIExpa2Ugbi5vcHRpb25hbCwgZXhjZXB0IHdpdGggZGVmYXVsdHMgYXBwbGllZCwgc28gb3B0aW9uYWxcbiAgICAgICAgICAgIC8vIGRlZmF1bHRzIHRvIHRydWUgZm9yIE9wdGlvbmFsTWVtYmVyRXhwcmVzc2lvbiBub2Rlcy5cbiAgICAgICAgICAgIHZhciBvcHRpb25hbCA9IHR5cGVzLmdldEZpZWxkVmFsdWUobiwgXCJvcHRpb25hbFwiKTtcbiAgICAgICAgICAgIGlmIChuLmNvbXB1dGVkKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChvcHRpb25hbCA/IFwiPy5bXCIgOiBcIltcIiwgcHJvcGVydHksIFwiXVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gob3B0aW9uYWwgPyBcIj8uXCIgOiBcIi5cIiwgcHJvcGVydHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJDaGFpbkV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgIHJldHVybiBwYXRoLmNhbGwocHJpbnQsIFwiZXhwcmVzc2lvblwiKTtcbiAgICAgICAgY2FzZSBcIk1ldGFQcm9wZXJ0eVwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJtZXRhXCIpLFxuICAgICAgICAgICAgICAgIFwiLlwiLFxuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJwcm9wZXJ0eVwiKSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICBjYXNlIFwiQmluZEV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgIGlmIChuLm9iamVjdCkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcIm9iamVjdFwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiOjpcIiwgcGF0aC5jYWxsKHByaW50LCBcImNhbGxlZVwiKSk7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIGNhc2UgXCJQYXRoXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIuXCIpLmpvaW4obi5ib2R5KTtcbiAgICAgICAgY2FzZSBcIklkZW50aWZpZXJcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcbiAgICAgICAgICAgICAgICAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShuLm5hbWUsIG9wdGlvbnMpLFxuICAgICAgICAgICAgICAgIG4ub3B0aW9uYWwgPyBcIj9cIiA6IFwiXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcInR5cGVBbm5vdGF0aW9uXCIpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIGNhc2UgXCJTcHJlYWRFbGVtZW50XCI6XG4gICAgICAgIGNhc2UgXCJTcHJlYWRFbGVtZW50UGF0dGVyblwiOlxuICAgICAgICBjYXNlIFwiUmVzdFByb3BlcnR5XCI6IC8vIEJhYmVsIDYgZm9yIE9iamVjdFBhdHRlcm5cbiAgICAgICAgY2FzZSBcIlNwcmVhZFByb3BlcnR5XCI6XG4gICAgICAgIGNhc2UgXCJTcHJlYWRQcm9wZXJ0eVBhdHRlcm5cIjpcbiAgICAgICAgY2FzZSBcIk9iamVjdFR5cGVTcHJlYWRQcm9wZXJ0eVwiOlxuICAgICAgICBjYXNlIFwiUmVzdEVsZW1lbnRcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcbiAgICAgICAgICAgICAgICBcIi4uLlwiLFxuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJhcmd1bWVudFwiKSxcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwidHlwZUFubm90YXRpb25cIiksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIkZ1bmN0aW9uRGVjbGFyYXRpb25cIjpcbiAgICAgICAgY2FzZSBcIkZ1bmN0aW9uRXhwcmVzc2lvblwiOlxuICAgICAgICBjYXNlIFwiVFNEZWNsYXJlRnVuY3Rpb25cIjpcbiAgICAgICAgICAgIGlmIChuLmRlY2xhcmUpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiZGVjbGFyZSBcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobi5hc3luYykge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJhc3luYyBcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiZnVuY3Rpb25cIik7XG4gICAgICAgICAgICBpZiAobi5nZW5lcmF0b3IpXG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIipcIik7XG4gICAgICAgICAgICBpZiAobi5pZCkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCIgXCIsIHBhdGguY2FsbChwcmludCwgXCJpZFwiKSwgcGF0aC5jYWxsKHByaW50LCBcInR5cGVQYXJhbWV0ZXJzXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIGlmIChuLnR5cGVQYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcInR5cGVQYXJhbWV0ZXJzXCIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiKFwiLCBwcmludEZ1bmN0aW9uUGFyYW1zKHBhdGgsIG9wdGlvbnMsIHByaW50KSwgXCIpXCIsIHBhdGguY2FsbChwcmludCwgXCJyZXR1cm5UeXBlXCIpKTtcbiAgICAgICAgICAgIGlmIChuLmJvZHkpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIFwiLCBwYXRoLmNhbGwocHJpbnQsIFwiYm9keVwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIGNhc2UgXCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiOlxuICAgICAgICAgICAgaWYgKG4uYXN5bmMpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiYXN5bmMgXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG4udHlwZVBhcmFtZXRlcnMpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJ0eXBlUGFyYW1ldGVyc1wiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIW9wdGlvbnMuYXJyb3dQYXJlbnNBbHdheXMgJiZcbiAgICAgICAgICAgICAgICBuLnBhcmFtcy5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgICAgICAgICAhbi5yZXN0ICYmXG4gICAgICAgICAgICAgICAgbi5wYXJhbXNbMF0udHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICAgICAgICAgICAgICAhbi5wYXJhbXNbMF0udHlwZUFubm90YXRpb24gJiZcbiAgICAgICAgICAgICAgICAhbi5yZXR1cm5UeXBlKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwicGFyYW1zXCIsIDApKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCIoXCIsIHByaW50RnVuY3Rpb25QYXJhbXMocGF0aCwgb3B0aW9ucywgcHJpbnQpLCBcIilcIiwgcGF0aC5jYWxsKHByaW50LCBcInJldHVyblR5cGVcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChcIiA9PiBcIiwgcGF0aC5jYWxsKHByaW50LCBcImJvZHlcIikpO1xuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICBjYXNlIFwiTWV0aG9kRGVmaW5pdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuIHByaW50TWV0aG9kKHBhdGgsIG9wdGlvbnMsIHByaW50KTtcbiAgICAgICAgY2FzZSBcIllpZWxkRXhwcmVzc2lvblwiOlxuICAgICAgICAgICAgcGFydHMucHVzaChcInlpZWxkXCIpO1xuICAgICAgICAgICAgaWYgKG4uZGVsZWdhdGUpXG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIipcIik7XG4gICAgICAgICAgICBpZiAobi5hcmd1bWVudClcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIFwiLCBwYXRoLmNhbGwocHJpbnQsIFwiYXJndW1lbnRcIikpO1xuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICBjYXNlIFwiQXdhaXRFeHByZXNzaW9uXCI6XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiYXdhaXRcIik7XG4gICAgICAgICAgICBpZiAobi5hbGwpXG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIipcIik7XG4gICAgICAgICAgICBpZiAobi5hcmd1bWVudClcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIFwiLCBwYXRoLmNhbGwocHJpbnQsIFwiYXJndW1lbnRcIikpO1xuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICBjYXNlIFwiTW9kdWxlRXhwcmVzc2lvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIFwibW9kdWxlIHtcXG5cIixcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwiYm9keVwiKS5pbmRlbnQob3B0aW9ucy50YWJXaWR0aCksXG4gICAgICAgICAgICAgICAgXCJcXG59XCIsXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIk1vZHVsZURlY2xhcmF0aW9uXCI6XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwibW9kdWxlXCIsIHBhdGguY2FsbChwcmludCwgXCJpZFwiKSk7XG4gICAgICAgICAgICBpZiAobi5zb3VyY2UpIHtcbiAgICAgICAgICAgICAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KSghbi5ib2R5KTtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiZnJvbVwiLCBwYXRoLmNhbGwocHJpbnQsIFwic291cmNlXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcImJvZHlcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiIFwiKS5qb2luKHBhcnRzKTtcbiAgICAgICAgY2FzZSBcIkltcG9ydFNwZWNpZmllclwiOlxuICAgICAgICAgICAgaWYgKG4uaW1wb3J0S2luZCAmJiBuLmltcG9ydEtpbmQgIT09IFwidmFsdWVcIikge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gobi5pbXBvcnRLaW5kICsgXCIgXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG4uaW1wb3J0ZWQpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJpbXBvcnRlZFwiKSk7XG4gICAgICAgICAgICAgICAgaWYgKG4ubG9jYWwgJiYgbi5sb2NhbC5uYW1lICE9PSBuLmltcG9ydGVkLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChcIiBhcyBcIiwgcGF0aC5jYWxsKHByaW50LCBcImxvY2FsXCIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChuLmlkKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwiaWRcIikpO1xuICAgICAgICAgICAgICAgIGlmIChuLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChcIiBhcyBcIiwgcGF0aC5jYWxsKHByaW50LCBcIm5hbWVcIikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgY2FzZSBcIkV4cG9ydFNwZWNpZmllclwiOlxuICAgICAgICAgICAgaWYgKG4uZXhwb3J0S2luZCAmJiBuLmV4cG9ydEtpbmQgIT09IFwidmFsdWVcIikge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gobi5leHBvcnRLaW5kICsgXCIgXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG4ubG9jYWwpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJsb2NhbFwiKSk7XG4gICAgICAgICAgICAgICAgaWYgKG4uZXhwb3J0ZWQgJiYgbi5leHBvcnRlZC5uYW1lICE9PSBuLmxvY2FsLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChcIiBhcyBcIiwgcGF0aC5jYWxsKHByaW50LCBcImV4cG9ydGVkXCIpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChuLmlkKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwiaWRcIikpO1xuICAgICAgICAgICAgICAgIGlmIChuLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChcIiBhcyBcIiwgcGF0aC5jYWxsKHByaW50LCBcIm5hbWVcIikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgY2FzZSBcIkV4cG9ydEJhdGNoU3BlY2lmaWVyXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIqXCIpO1xuICAgICAgICBjYXNlIFwiSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyXCI6XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiKiBhcyBcIik7XG4gICAgICAgICAgICBpZiAobi5sb2NhbCkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcImxvY2FsXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKG4uaWQpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJpZFwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIGNhc2UgXCJJbXBvcnREZWZhdWx0U3BlY2lmaWVyXCI6XG4gICAgICAgICAgICBpZiAobi5sb2NhbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBwYXRoLmNhbGwocHJpbnQsIFwibG9jYWxcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gcGF0aC5jYWxsKHByaW50LCBcImlkXCIpO1xuICAgICAgICBjYXNlIFwiVFNFeHBvcnRBc3NpZ25tZW50XCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXCJleHBvcnQgPSBcIiwgcGF0aC5jYWxsKHByaW50LCBcImV4cHJlc3Npb25cIildKTtcbiAgICAgICAgY2FzZSBcIkV4cG9ydERlY2xhcmF0aW9uXCI6XG4gICAgICAgIGNhc2UgXCJFeHBvcnREZWZhdWx0RGVjbGFyYXRpb25cIjpcbiAgICAgICAgY2FzZSBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIjpcbiAgICAgICAgICAgIHJldHVybiBwcmludEV4cG9ydERlY2xhcmF0aW9uKHBhdGgsIG9wdGlvbnMsIHByaW50KTtcbiAgICAgICAgY2FzZSBcIkV4cG9ydEFsbERlY2xhcmF0aW9uXCI6XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiZXhwb3J0ICpcIik7XG4gICAgICAgICAgICBpZiAobi5leHBvcnRlZCkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCIgYXMgXCIsIHBhdGguY2FsbChwcmludCwgXCJleHBvcnRlZFwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIGZyb20gXCIsIHBhdGguY2FsbChwcmludCwgXCJzb3VyY2VcIiksIFwiO1wiKTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgY2FzZSBcIlRTTmFtZXNwYWNlRXhwb3J0RGVjbGFyYXRpb25cIjpcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCJleHBvcnQgYXMgbmFtZXNwYWNlIFwiLCBwYXRoLmNhbGwocHJpbnQsIFwiaWRcIikpO1xuICAgICAgICAgICAgcmV0dXJuIG1heWJlQWRkU2VtaWNvbG9uKCgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpKTtcbiAgICAgICAgY2FzZSBcIkV4cG9ydE5hbWVzcGFjZVNwZWNpZmllclwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1wiKiBhcyBcIiwgcGF0aC5jYWxsKHByaW50LCBcImV4cG9ydGVkXCIpXSk7XG4gICAgICAgIGNhc2UgXCJFeHBvcnREZWZhdWx0U3BlY2lmaWVyXCI6XG4gICAgICAgICAgICByZXR1cm4gcGF0aC5jYWxsKHByaW50LCBcImV4cG9ydGVkXCIpO1xuICAgICAgICBjYXNlIFwiSW1wb3J0XCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJpbXBvcnRcIiwgb3B0aW9ucyk7XG4gICAgICAgIC8vIFJlY2FzdCBhbmQgYXN0LXR5cGVzIGN1cnJlbnRseSBzdXBwb3J0IGR5bmFtaWMgaW1wb3J0KC4uLikgdXNpbmdcbiAgICAgICAgLy8gZWl0aGVyIHRoaXMgZGVkaWNhdGVkIEltcG9ydEV4cHJlc3Npb24gdHlwZSBvciBhIENhbGxFeHByZXNzaW9uXG4gICAgICAgIC8vIHdob3NlIGNhbGxlZSBoYXMgdHlwZSBJbXBvcnQuXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9iZW5qYW1uL2FzdC10eXBlcy9wdWxsLzM2NSNpc3N1ZWNvbW1lbnQtNjA1MjE0NDg2XG4gICAgICAgIGNhc2UgXCJJbXBvcnRFeHByZXNzaW9uXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXCJpbXBvcnQoXCIsIHBhdGguY2FsbChwcmludCwgXCJzb3VyY2VcIiksIFwiKVwiXSk7XG4gICAgICAgIGNhc2UgXCJJbXBvcnREZWNsYXJhdGlvblwiOiB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiaW1wb3J0IFwiKTtcbiAgICAgICAgICAgIGlmIChuLmltcG9ydEtpbmQgJiYgbi5pbXBvcnRLaW5kICE9PSBcInZhbHVlXCIpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKG4uaW1wb3J0S2luZCArIFwiIFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLnNwZWNpZmllcnMgJiYgbi5zcGVjaWZpZXJzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB2YXIgdW5icmFjZWRTcGVjaWZpZXJzXzEgPSBbXTtcbiAgICAgICAgICAgICAgICB2YXIgYnJhY2VkU3BlY2lmaWVyc18xID0gW107XG4gICAgICAgICAgICAgICAgcGF0aC5lYWNoKGZ1bmN0aW9uIChzcGVjaWZpZXJQYXRoKSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBzcGVjID0gc3BlY2lmaWVyUGF0aC5nZXRWYWx1ZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoc3BlYy50eXBlID09PSBcIkltcG9ydFNwZWNpZmllclwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmFjZWRTcGVjaWZpZXJzXzEucHVzaChwcmludChzcGVjaWZpZXJQYXRoKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoc3BlYy50eXBlID09PSBcIkltcG9ydERlZmF1bHRTcGVjaWZpZXJcIiB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgc3BlYy50eXBlID09PSBcIkltcG9ydE5hbWVzcGFjZVNwZWNpZmllclwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB1bmJyYWNlZFNwZWNpZmllcnNfMS5wdXNoKHByaW50KHNwZWNpZmllclBhdGgpKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0sIFwic3BlY2lmaWVyc1wiKTtcbiAgICAgICAgICAgICAgICB1bmJyYWNlZFNwZWNpZmllcnNfMS5mb3JFYWNoKGZ1bmN0aW9uIChsaW5lcywgaSkge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaSA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCIsIFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKGxpbmVzKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBpZiAoYnJhY2VkU3BlY2lmaWVyc18xLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGxpbmVzID0gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIsIFwiKS5qb2luKGJyYWNlZFNwZWNpZmllcnNfMSk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChsaW5lcy5nZXRMaW5lTGVuZ3RoKDEpID4gb3B0aW9ucy53cmFwQ29sdW1uKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lcyA9ICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiLFxcblwiKS5qb2luKGJyYWNlZFNwZWNpZmllcnNfMSkuaW5kZW50KG9wdGlvbnMudGFiV2lkdGgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiLFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKHVuYnJhY2VkU3BlY2lmaWVyc18xLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCIsIFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpZiAobGluZXMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChcIntcXG5cIiwgbGluZXMsIFwiXFxufVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChvcHRpb25zLm9iamVjdEN1cmx5U3BhY2luZykge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChcInsgXCIsIGxpbmVzLCBcIiB9XCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChcIntcIiwgbGluZXMsIFwifVwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIGZyb20gXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwic291cmNlXCIpLCBtYXliZVByaW50SW1wb3J0QXNzZXJ0aW9ucyhwYXRoLCBvcHRpb25zLCBwcmludCksIFwiO1wiKTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiSW1wb3J0QXR0cmlidXRlXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbcGF0aC5jYWxsKHByaW50LCBcImtleVwiKSwgXCI6IFwiLCBwYXRoLmNhbGwocHJpbnQsIFwidmFsdWVcIildKTtcbiAgICAgICAgY2FzZSBcIlN0YXRpY0Jsb2NrXCI6XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwic3RhdGljIFwiKTtcbiAgICAgICAgLy8gSW50ZW50aW9uYWxseSBmYWxsIHRocm91Z2ggdG8gQmxvY2tTdGF0ZW1lbnQgYmVsb3cuXG4gICAgICAgIGNhc2UgXCJCbG9ja1N0YXRlbWVudFwiOiB7XG4gICAgICAgICAgICB2YXIgbmFrZWRfMSA9IHBhdGguY2FsbChmdW5jdGlvbiAoYm9keVBhdGgpIHsgcmV0dXJuIHByaW50U3RhdGVtZW50U2VxdWVuY2UoYm9keVBhdGgsIG9wdGlvbnMsIHByaW50KTsgfSwgXCJib2R5XCIpO1xuICAgICAgICAgICAgaWYgKG5ha2VkXzEuaXNFbXB0eSgpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFuLmRpcmVjdGl2ZXMgfHwgbi5kaXJlY3RpdmVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwie31cIik7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwie1xcblwiKTtcbiAgICAgICAgICAgIC8vIEJhYmVsIDZcbiAgICAgICAgICAgIGlmIChuLmRpcmVjdGl2ZXMpIHtcbiAgICAgICAgICAgICAgICBwYXRoLmVhY2goZnVuY3Rpb24gKGNoaWxkUGF0aCkge1xuICAgICAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKG1heWJlQWRkU2VtaWNvbG9uKHByaW50KGNoaWxkUGF0aCkuaW5kZW50KG9wdGlvbnMudGFiV2lkdGgpKSwgbi5kaXJlY3RpdmVzLmxlbmd0aCA+IDEgfHwgIW5ha2VkXzEuaXNFbXB0eSgpID8gXCJcXG5cIiA6IFwiXCIpO1xuICAgICAgICAgICAgICAgIH0sIFwiZGlyZWN0aXZlc1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzLnB1c2gobmFrZWRfMS5pbmRlbnQob3B0aW9ucy50YWJXaWR0aCkpO1xuICAgICAgICAgICAgcGFydHMucHVzaChcIlxcbn1cIik7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcIlJldHVyblN0YXRlbWVudFwiOiB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwicmV0dXJuXCIpO1xuICAgICAgICAgICAgaWYgKG4uYXJndW1lbnQpIHtcbiAgICAgICAgICAgICAgICB2YXIgYXJnTGluZXMgPSBwYXRoLmNhbGwocHJpbnQsIFwiYXJndW1lbnRcIik7XG4gICAgICAgICAgICAgICAgaWYgKGFyZ0xpbmVzLnN0YXJ0c1dpdGhDb21tZW50KCkgfHxcbiAgICAgICAgICAgICAgICAgICAgKGFyZ0xpbmVzLmxlbmd0aCA+IDEgJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWVkVHlwZXMuSlNYRWxlbWVudCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZWRUeXBlcy5KU1hFbGVtZW50LmNoZWNrKG4uYXJndW1lbnQpKSkge1xuICAgICAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIChcXG5cIiwgYXJnTGluZXMuaW5kZW50KG9wdGlvbnMudGFiV2lkdGgpLCBcIlxcbilcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIFwiLCBhcmdMaW5lcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChcIjtcIik7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcIkNhbGxFeHByZXNzaW9uXCI6XG4gICAgICAgIGNhc2UgXCJPcHRpb25hbENhbGxFeHByZXNzaW9uXCI6XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJjYWxsZWVcIikpO1xuICAgICAgICAgICAgaWYgKG4udHlwZVBhcmFtZXRlcnMpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJ0eXBlUGFyYW1ldGVyc1wiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobi50eXBlQXJndW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwidHlwZUFyZ3VtZW50c1wiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBMaWtlIG4ub3B0aW9uYWwsIGJ1dCBkZWZhdWx0cyB0byB0cnVlIGZvciBPcHRpb25hbENhbGxFeHByZXNzaW9uXG4gICAgICAgICAgICAvLyBub2RlcyB0aGF0IGFyZSBtaXNzaW5nIGFuIG4ub3B0aW9uYWwgcHJvcGVydHkgKHVudXN1YWwpLFxuICAgICAgICAgICAgLy8gYWNjb3JkaW5nIHRvIHRoZSBPcHRpb25hbENhbGxFeHByZXNzaW9uIGRlZmluaXRpb24gaW4gYXN0LXR5cGVzLlxuICAgICAgICAgICAgaWYgKHR5cGVzLmdldEZpZWxkVmFsdWUobiwgXCJvcHRpb25hbFwiKSkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCI/LlwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzLnB1c2gocHJpbnRBcmd1bWVudHNMaXN0KHBhdGgsIG9wdGlvbnMsIHByaW50KSk7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIGNhc2UgXCJSZWNvcmRFeHByZXNzaW9uXCI6XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiI1wiKTtcbiAgICAgICAgLy8gSW50ZW50aW9uYWxseSBmYWxsIHRocm91Z2ggdG8gcHJpbnRpbmcgdGhlIG9iamVjdCBsaXRlcmFsLi4uXG4gICAgICAgIGNhc2UgXCJPYmplY3RFeHByZXNzaW9uXCI6XG4gICAgICAgIGNhc2UgXCJPYmplY3RQYXR0ZXJuXCI6XG4gICAgICAgIGNhc2UgXCJPYmplY3RUeXBlQW5ub3RhdGlvblwiOiB7XG4gICAgICAgICAgICB2YXIgaXNUeXBlQW5ub3RhdGlvbl8xID0gbi50eXBlID09PSBcIk9iamVjdFR5cGVBbm5vdGF0aW9uXCI7XG4gICAgICAgICAgICB2YXIgc2VwYXJhdG9yXzEgPSBvcHRpb25zLmZsb3dPYmplY3RDb21tYXNcbiAgICAgICAgICAgICAgICA/IFwiLFwiXG4gICAgICAgICAgICAgICAgOiBpc1R5cGVBbm5vdGF0aW9uXzFcbiAgICAgICAgICAgICAgICAgICAgPyBcIjtcIlxuICAgICAgICAgICAgICAgICAgICA6IFwiLFwiO1xuICAgICAgICAgICAgdmFyIGZpZWxkcyA9IFtdO1xuICAgICAgICAgICAgdmFyIGFsbG93QnJlYWtfMSA9IGZhbHNlO1xuICAgICAgICAgICAgaWYgKGlzVHlwZUFubm90YXRpb25fMSkge1xuICAgICAgICAgICAgICAgIGZpZWxkcy5wdXNoKFwiaW5kZXhlcnNcIiwgXCJjYWxsUHJvcGVydGllc1wiKTtcbiAgICAgICAgICAgICAgICBpZiAobi5pbnRlcm5hbFNsb3RzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgZmllbGRzLnB1c2goXCJpbnRlcm5hbFNsb3RzXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZpZWxkcy5wdXNoKFwicHJvcGVydGllc1wiKTtcbiAgICAgICAgICAgIHZhciBsZW5fMSA9IDA7XG4gICAgICAgICAgICBmaWVsZHMuZm9yRWFjaChmdW5jdGlvbiAoZmllbGQpIHtcbiAgICAgICAgICAgICAgICBsZW5fMSArPSBuW2ZpZWxkXS5sZW5ndGg7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHZhciBvbmVMaW5lXzEgPSAoaXNUeXBlQW5ub3RhdGlvbl8xICYmIGxlbl8xID09PSAxKSB8fCBsZW5fMSA9PT0gMDtcbiAgICAgICAgICAgIHZhciBsZWZ0QnJhY2UgPSBuLmV4YWN0ID8gXCJ7fFwiIDogXCJ7XCI7XG4gICAgICAgICAgICB2YXIgcmlnaHRCcmFjZSA9IG4uZXhhY3QgPyBcInx9XCIgOiBcIn1cIjtcbiAgICAgICAgICAgIHBhcnRzLnB1c2gob25lTGluZV8xID8gbGVmdEJyYWNlIDogbGVmdEJyYWNlICsgXCJcXG5cIik7XG4gICAgICAgICAgICB2YXIgbGVmdEJyYWNlSW5kZXggPSBwYXJ0cy5sZW5ndGggLSAxO1xuICAgICAgICAgICAgdmFyIGlfMSA9IDA7XG4gICAgICAgICAgICBmaWVsZHMuZm9yRWFjaChmdW5jdGlvbiAoZmllbGQpIHtcbiAgICAgICAgICAgICAgICBwYXRoLmVhY2goZnVuY3Rpb24gKGNoaWxkUGF0aCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbGluZXMgPSBwcmludChjaGlsZFBhdGgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW9uZUxpbmVfMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgbGluZXMgPSBsaW5lcy5pbmRlbnQob3B0aW9ucy50YWJXaWR0aCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgdmFyIG11bHRpTGluZSA9ICFpc1R5cGVBbm5vdGF0aW9uXzEgJiYgbGluZXMubGVuZ3RoID4gMTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKG11bHRpTGluZSAmJiBhbGxvd0JyZWFrXzEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNpbWlsYXIgdG8gdGhlIGxvZ2ljIGZvciBCbG9ja1N0YXRlbWVudC5cbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJcXG5cIik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChsaW5lcyk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpXzEgPCBsZW5fMSAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEFkZCBhbiBleHRyYSBsaW5lIGJyZWFrIGlmIHRoZSBwcmV2aW91cyBvYmplY3QgcHJvcGVydHlcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGhhZCBhIG11bHRpLWxpbmUgdmFsdWUuXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHNlcGFyYXRvcl8xICsgKG11bHRpTGluZSA/IFwiXFxuXFxuXCIgOiBcIlxcblwiKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhbGxvd0JyZWFrXzEgPSAhbXVsdGlMaW5lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGxlbl8xICE9PSAxICYmIGlzVHlwZUFubm90YXRpb25fMSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChzZXBhcmF0b3JfMSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoIW9uZUxpbmVfMSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgdXRpbC5pc1RyYWlsaW5nQ29tbWFFbmFibGVkKG9wdGlvbnMsIFwib2JqZWN0c1wiKSAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGRQYXRoLmdldFZhbHVlKCkudHlwZSAhPT0gXCJSZXN0RWxlbWVudFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHNlcGFyYXRvcl8xKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBpXzErKztcbiAgICAgICAgICAgICAgICB9LCBmaWVsZCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlmIChuLmluZXhhY3QpIHtcbiAgICAgICAgICAgICAgICB2YXIgbGluZSA9ICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiLi4uXCIsIG9wdGlvbnMpO1xuICAgICAgICAgICAgICAgIGlmIChvbmVMaW5lXzEpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGxlbl8xID4gMCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChzZXBhcmF0b3JfMSwgXCIgXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gobGluZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAvLyBObyB0cmFpbGluZyBzZXBhcmF0b3IgYWZ0ZXIgLi4uIHRvIG1haW50YWluIHBhcml0eSB3aXRoIHByZXR0aWVyLlxuICAgICAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiXFxuXCIsIGxpbmUuaW5kZW50KG9wdGlvbnMudGFiV2lkdGgpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKG9uZUxpbmVfMSA/IHJpZ2h0QnJhY2UgOiBcIlxcblwiICsgcmlnaHRCcmFjZSk7XG4gICAgICAgICAgICBpZiAoaV8xICE9PSAwICYmIG9uZUxpbmVfMSAmJiBvcHRpb25zLm9iamVjdEN1cmx5U3BhY2luZykge1xuICAgICAgICAgICAgICAgIHBhcnRzW2xlZnRCcmFjZUluZGV4XSA9IGxlZnRCcmFjZSArIFwiIFwiO1xuICAgICAgICAgICAgICAgIHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdID0gXCIgXCIgKyByaWdodEJyYWNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG4udHlwZUFubm90YXRpb24pIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJ0eXBlQW5ub3RhdGlvblwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcIlByb3BlcnR5UGF0dGVyblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJrZXlcIiksXG4gICAgICAgICAgICAgICAgXCI6IFwiLFxuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJwYXR0ZXJuXCIpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIGNhc2UgXCJPYmplY3RQcm9wZXJ0eVwiOiAvLyBCYWJlbCA2XG4gICAgICAgIGNhc2UgXCJQcm9wZXJ0eVwiOiB7XG4gICAgICAgICAgICAvLyBOb24tc3RhbmRhcmQgQVNUIG5vZGUgdHlwZS5cbiAgICAgICAgICAgIGlmIChuLm1ldGhvZCB8fCBuLmtpbmQgPT09IFwiZ2V0XCIgfHwgbi5raW5kID09PSBcInNldFwiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHByaW50TWV0aG9kKHBhdGgsIG9wdGlvbnMsIHByaW50KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLnNob3J0aGFuZCAmJiBuLnZhbHVlLnR5cGUgPT09IFwiQXNzaWdubWVudFBhdHRlcm5cIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBwYXRoLmNhbGwocHJpbnQsIFwidmFsdWVcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIga2V5ID0gcGF0aC5jYWxsKHByaW50LCBcImtleVwiKTtcbiAgICAgICAgICAgIGlmIChuLmNvbXB1dGVkKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIltcIiwga2V5LCBcIl1cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKGtleSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIW4uc2hvcnRoYW5kIHx8IG4ua2V5Lm5hbWUgIT09IG4udmFsdWUubmFtZSkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCI6IFwiLCBwYXRoLmNhbGwocHJpbnQsIFwidmFsdWVcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJDbGFzc01ldGhvZFwiOiAvLyBCYWJlbCA2XG4gICAgICAgIGNhc2UgXCJPYmplY3RNZXRob2RcIjogLy8gQmFiZWwgNlxuICAgICAgICBjYXNlIFwiQ2xhc3NQcml2YXRlTWV0aG9kXCI6XG4gICAgICAgIGNhc2UgXCJUU0RlY2xhcmVNZXRob2RcIjpcbiAgICAgICAgICAgIHJldHVybiBwcmludE1ldGhvZChwYXRoLCBvcHRpb25zLCBwcmludCk7XG4gICAgICAgIGNhc2UgXCJQcml2YXRlTmFtZVwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1wiI1wiLCBwYXRoLmNhbGwocHJpbnQsIFwiaWRcIildKTtcbiAgICAgICAgY2FzZSBcIkRlY29yYXRvclwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1wiQFwiLCBwYXRoLmNhbGwocHJpbnQsIFwiZXhwcmVzc2lvblwiKV0pO1xuICAgICAgICBjYXNlIFwiVHVwbGVFeHByZXNzaW9uXCI6XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiI1wiKTtcbiAgICAgICAgLy8gSW50ZW50aW9uYWxseSBmYWxsIHRocm91Z2ggdG8gcHJpbnRpbmcgdGhlIHR1cGxlIGVsZW1lbnRzLi4uXG4gICAgICAgIGNhc2UgXCJBcnJheUV4cHJlc3Npb25cIjpcbiAgICAgICAgY2FzZSBcIkFycmF5UGF0dGVyblwiOiB7XG4gICAgICAgICAgICB2YXIgZWxlbXMgPSBuLmVsZW1lbnRzO1xuICAgICAgICAgICAgdmFyIGxlbl8yID0gZWxlbXMubGVuZ3RoO1xuICAgICAgICAgICAgdmFyIHByaW50ZWRfMSA9IHBhdGgubWFwKHByaW50LCBcImVsZW1lbnRzXCIpO1xuICAgICAgICAgICAgdmFyIGpvaW5lZCA9ICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiLCBcIikuam9pbihwcmludGVkXzEpO1xuICAgICAgICAgICAgdmFyIG9uZUxpbmVfMiA9IGpvaW5lZC5nZXRMaW5lTGVuZ3RoKDEpIDw9IG9wdGlvbnMud3JhcENvbHVtbjtcbiAgICAgICAgICAgIGlmIChvbmVMaW5lXzIpIHtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5hcnJheUJyYWNrZXRTcGFjaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJbIFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJbXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJbXFxuXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGF0aC5lYWNoKGZ1bmN0aW9uIChlbGVtUGF0aCkge1xuICAgICAgICAgICAgICAgIHZhciBpID0gZWxlbVBhdGguZ2V0TmFtZSgpO1xuICAgICAgICAgICAgICAgIHZhciBlbGVtID0gZWxlbVBhdGguZ2V0VmFsdWUoKTtcbiAgICAgICAgICAgICAgICBpZiAoIWVsZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGFycmF5IGV4cHJlc3Npb24gZW5kcyB3aXRoIGEgaG9sZSwgdGhhdCBob2xlXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpbGwgYmUgaWdub3JlZCBieSB0aGUgaW50ZXJwcmV0ZXIsIGJ1dCBpZiBpdCBlbmRzIHdpdGhcbiAgICAgICAgICAgICAgICAgICAgLy8gdHdvIChvciBtb3JlKSBob2xlcywgd2UgbmVlZCB0byB3cml0ZSBvdXQgdHdvIChvciBtb3JlKVxuICAgICAgICAgICAgICAgICAgICAvLyBjb21tYXMgc28gdGhhdCB0aGUgcmVzdWx0aW5nIGNvZGUgaXMgaW50ZXJwcmV0ZWQgd2l0aFxuICAgICAgICAgICAgICAgICAgICAvLyBib3RoIChhbGwpIG9mIHRoZSBob2xlcy5cbiAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChcIixcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbGluZXMgPSBwcmludGVkXzFbaV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChvbmVMaW5lXzIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpID4gMClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVzID0gbGluZXMuaW5kZW50KG9wdGlvbnMudGFiV2lkdGgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gobGluZXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaSA8IGxlbl8yIC0gMSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgKCFvbmVMaW5lXzIgJiYgdXRpbC5pc1RyYWlsaW5nQ29tbWFFbmFibGVkKG9wdGlvbnMsIFwiYXJyYXlzXCIpKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCIsXCIpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW9uZUxpbmVfMilcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJcXG5cIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgXCJlbGVtZW50c1wiKTtcbiAgICAgICAgICAgIGlmIChvbmVMaW5lXzIgJiYgb3B0aW9ucy5hcnJheUJyYWNrZXRTcGFjaW5nKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIiBdXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIl1cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobi50eXBlQW5ub3RhdGlvbikge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcInR5cGVBbm5vdGF0aW9uXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiU2VxdWVuY2VFeHByZXNzaW9uXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIsIFwiKS5qb2luKHBhdGgubWFwKHByaW50LCBcImV4cHJlc3Npb25zXCIpKTtcbiAgICAgICAgY2FzZSBcIlRoaXNFeHByZXNzaW9uXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJ0aGlzXCIpO1xuICAgICAgICBjYXNlIFwiU3VwZXJcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcInN1cGVyXCIpO1xuICAgICAgICBjYXNlIFwiTnVsbExpdGVyYWxcIjogLy8gQmFiZWwgNiBMaXRlcmFsIHNwbGl0XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJudWxsXCIpO1xuICAgICAgICBjYXNlIFwiUmVnRXhwTGl0ZXJhbFwiOiAvLyBCYWJlbCA2IExpdGVyYWwgc3BsaXRcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShnZXRQb3NzaWJsZVJhdyhuKSB8fCBcIi9cIi5jb25jYXQobi5wYXR0ZXJuLCBcIi9cIikuY29uY2F0KG4uZmxhZ3MgfHwgXCJcIiksIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIFwiQmlnSW50TGl0ZXJhbFwiOiAvLyBCYWJlbCA3IExpdGVyYWwgc3BsaXRcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShnZXRQb3NzaWJsZVJhdyhuKSB8fCBuLnZhbHVlICsgXCJuXCIsIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIFwiTnVtZXJpY0xpdGVyYWxcIjogLy8gQmFiZWwgNiBMaXRlcmFsIFNwbGl0XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoZ2V0UG9zc2libGVSYXcobikgfHwgbi52YWx1ZSwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJEZWNpbWFsTGl0ZXJhbFwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKGdldFBvc3NpYmxlUmF3KG4pIHx8IG4udmFsdWUgKyBcIm1cIiwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJTdHJpbmdMaXRlcmFsXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykobm9kZVN0cihuLnZhbHVlLCBvcHRpb25zKSk7XG4gICAgICAgIGNhc2UgXCJCb29sZWFuTGl0ZXJhbFwiOiAvLyBCYWJlbCA2IExpdGVyYWwgc3BsaXRcbiAgICAgICAgY2FzZSBcIkxpdGVyYWxcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShnZXRQb3NzaWJsZVJhdyhuKSB8fFxuICAgICAgICAgICAgICAgICh0eXBlb2Ygbi52YWx1ZSA9PT0gXCJzdHJpbmdcIiA/IG5vZGVTdHIobi52YWx1ZSwgb3B0aW9ucykgOiBuLnZhbHVlKSwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJEaXJlY3RpdmVcIjogLy8gQmFiZWwgNlxuICAgICAgICAgICAgcmV0dXJuIHBhdGguY2FsbChwcmludCwgXCJ2YWx1ZVwiKTtcbiAgICAgICAgY2FzZSBcIkRpcmVjdGl2ZUxpdGVyYWxcIjogLy8gQmFiZWwgNlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKGdldFBvc3NpYmxlUmF3KG4pIHx8IG5vZGVTdHIobi52YWx1ZSwgb3B0aW9ucyksIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIFwiSW50ZXJwcmV0ZXJEaXJlY3RpdmVcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIiMhXCIuY29uY2F0KG4udmFsdWUsIFwiXFxuXCIpLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIk1vZHVsZVNwZWNpZmllclwiOlxuICAgICAgICAgICAgaWYgKG4ubG9jYWwpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgRVNUcmVlIE1vZHVsZVNwZWNpZmllciB0eXBlIHNob3VsZCBiZSBhYnN0cmFjdFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIFRoZSBFc3ByaW1hIE1vZHVsZVNwZWNpZmllciB0eXBlIGlzIGp1c3QgYSBzdHJpbmctdmFsdWVkXG4gICAgICAgICAgICAvLyBMaXRlcmFsIGlkZW50aWZ5aW5nIHRoZSBpbXBvcnRlZC1mcm9tIG1vZHVsZS5cbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShub2RlU3RyKG4udmFsdWUsIG9wdGlvbnMpLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIlVuYXJ5RXhwcmVzc2lvblwiOlxuICAgICAgICAgICAgcGFydHMucHVzaChuLm9wZXJhdG9yKTtcbiAgICAgICAgICAgIGlmICgvW2Etel0kLy50ZXN0KG4ub3BlcmF0b3IpKVxuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCIgXCIpO1xuICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwiYXJndW1lbnRcIikpO1xuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICBjYXNlIFwiVXBkYXRlRXhwcmVzc2lvblwiOlxuICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwiYXJndW1lbnRcIiksIG4ub3BlcmF0b3IpO1xuICAgICAgICAgICAgaWYgKG4ucHJlZml4KVxuICAgICAgICAgICAgICAgIHBhcnRzLnJldmVyc2UoKTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgY2FzZSBcIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJ0ZXN0XCIpLFxuICAgICAgICAgICAgICAgIFwiID8gXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcImNvbnNlcXVlbnRcIiksXG4gICAgICAgICAgICAgICAgXCIgOiBcIixcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwiYWx0ZXJuYXRlXCIpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIGNhc2UgXCJOZXdFeHByZXNzaW9uXCI6IHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCJuZXcgXCIsIHBhdGguY2FsbChwcmludCwgXCJjYWxsZWVcIikpO1xuICAgICAgICAgICAgaWYgKG4udHlwZVBhcmFtZXRlcnMpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJ0eXBlUGFyYW1ldGVyc1wiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobi50eXBlQXJndW1lbnRzKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwidHlwZUFyZ3VtZW50c1wiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgYXJncyA9IG4uYXJndW1lbnRzO1xuICAgICAgICAgICAgaWYgKGFyZ3MpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHByaW50QXJndW1lbnRzTGlzdChwYXRoLCBvcHRpb25zLCBwcmludCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJWYXJpYWJsZURlY2xhcmF0aW9uXCI6IHtcbiAgICAgICAgICAgIGlmIChuLmRlY2xhcmUpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiZGVjbGFyZSBcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKG4ua2luZCwgXCIgXCIpO1xuICAgICAgICAgICAgdmFyIG1heExlbl8xID0gMDtcbiAgICAgICAgICAgIHZhciBwcmludGVkID0gcGF0aC5tYXAoZnVuY3Rpb24gKGNoaWxkUGF0aCkge1xuICAgICAgICAgICAgICAgIHZhciBsaW5lcyA9IHByaW50KGNoaWxkUGF0aCk7XG4gICAgICAgICAgICAgICAgbWF4TGVuXzEgPSBNYXRoLm1heChsaW5lcy5sZW5ndGgsIG1heExlbl8xKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gbGluZXM7XG4gICAgICAgICAgICB9LCBcImRlY2xhcmF0aW9uc1wiKTtcbiAgICAgICAgICAgIGlmIChtYXhMZW5fMSA9PT0gMSkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIsIFwiKS5qb2luKHByaW50ZWQpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2UgaWYgKHByaW50ZWQubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIsXFxuXCIpXG4gICAgICAgICAgICAgICAgICAgIC5qb2luKHByaW50ZWQpXG4gICAgICAgICAgICAgICAgICAgIC5pbmRlbnRUYWlsKG4ua2luZC5sZW5ndGggKyAxKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHByaW50ZWRbMF0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gV2UgZ2VuZXJhbGx5IHdhbnQgdG8gdGVybWluYXRlIGFsbCB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgd2l0aCBhXG4gICAgICAgICAgICAvLyBzZW1pY29sb24sIGV4Y2VwdCB3aGVuIHRoZXkgYXJlIGNoaWxkcmVuIG9mIGZvciBsb29wcy5cbiAgICAgICAgICAgIHZhciBwYXJlbnROb2RlID0gcGF0aC5nZXRQYXJlbnROb2RlKCk7XG4gICAgICAgICAgICBpZiAoIW5hbWVkVHlwZXMuRm9yU3RhdGVtZW50LmNoZWNrKHBhcmVudE5vZGUpICYmXG4gICAgICAgICAgICAgICAgIW5hbWVkVHlwZXMuRm9ySW5TdGF0ZW1lbnQuY2hlY2socGFyZW50Tm9kZSkgJiZcbiAgICAgICAgICAgICAgICAhKG5hbWVkVHlwZXMuRm9yT2ZTdGF0ZW1lbnQgJiZcbiAgICAgICAgICAgICAgICAgICAgbmFtZWRUeXBlcy5Gb3JPZlN0YXRlbWVudC5jaGVjayhwYXJlbnROb2RlKSkgJiZcbiAgICAgICAgICAgICAgICAhKG5hbWVkVHlwZXMuRm9yQXdhaXRTdGF0ZW1lbnQgJiZcbiAgICAgICAgICAgICAgICAgICAgbmFtZWRUeXBlcy5Gb3JBd2FpdFN0YXRlbWVudC5jaGVjayhwYXJlbnROb2RlKSkpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiO1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiVmFyaWFibGVEZWNsYXJhdG9yXCI6XG4gICAgICAgICAgICByZXR1cm4gbi5pbml0XG4gICAgICAgICAgICAgICAgPyAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIiA9IFwiKS5qb2luKFtcbiAgICAgICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcImlkXCIpLFxuICAgICAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwiaW5pdFwiKSxcbiAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgIDogcGF0aC5jYWxsKHByaW50LCBcImlkXCIpO1xuICAgICAgICBjYXNlIFwiV2l0aFN0YXRlbWVudFwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIFwid2l0aCAoXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcIm9iamVjdFwiKSxcbiAgICAgICAgICAgICAgICBcIikgXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcImJvZHlcIiksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIklmU3RhdGVtZW50XCI6IHtcbiAgICAgICAgICAgIHZhciBjb24gPSBhZGp1c3RDbGF1c2UocGF0aC5jYWxsKHByaW50LCBcImNvbnNlcXVlbnRcIiksIG9wdGlvbnMpO1xuICAgICAgICAgICAgcGFydHMucHVzaChcImlmIChcIiwgcGF0aC5jYWxsKHByaW50LCBcInRlc3RcIiksIFwiKVwiLCBjb24pO1xuICAgICAgICAgICAgaWYgKG4uYWx0ZXJuYXRlKVxuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goZW5kc1dpdGhCcmFjZShjb24pID8gXCIgZWxzZVwiIDogXCJcXG5lbHNlXCIsIGFkanVzdENsYXVzZShwYXRoLmNhbGwocHJpbnQsIFwiYWx0ZXJuYXRlXCIpLCBvcHRpb25zKSk7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcIkZvclN0YXRlbWVudFwiOiB7XG4gICAgICAgICAgICAvLyBUT0RPIEdldCB0aGUgZm9yICg7OykgY2FzZSByaWdodC5cbiAgICAgICAgICAgIHZhciBpbml0ID0gcGF0aC5jYWxsKHByaW50LCBcImluaXRcIik7XG4gICAgICAgICAgICB2YXIgc2VwID0gaW5pdC5sZW5ndGggPiAxID8gXCI7XFxuXCIgOiBcIjsgXCI7XG4gICAgICAgICAgICB2YXIgZm9yUGFyZW4gPSBcImZvciAoXCI7XG4gICAgICAgICAgICB2YXIgaW5kZW50ZWQgPSAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShzZXApXG4gICAgICAgICAgICAgICAgLmpvaW4oW2luaXQsIHBhdGguY2FsbChwcmludCwgXCJ0ZXN0XCIpLCBwYXRoLmNhbGwocHJpbnQsIFwidXBkYXRlXCIpXSlcbiAgICAgICAgICAgICAgICAuaW5kZW50VGFpbChmb3JQYXJlbi5sZW5ndGgpO1xuICAgICAgICAgICAgdmFyIGhlYWQgPSAoMCwgbGluZXNfMS5jb25jYXQpKFtmb3JQYXJlbiwgaW5kZW50ZWQsIFwiKVwiXSk7XG4gICAgICAgICAgICB2YXIgY2xhdXNlID0gYWRqdXN0Q2xhdXNlKHBhdGguY2FsbChwcmludCwgXCJib2R5XCIpLCBvcHRpb25zKTtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goaGVhZCk7XG4gICAgICAgICAgICBpZiAoaGVhZC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIlxcblwiKTtcbiAgICAgICAgICAgICAgICBjbGF1c2UgPSBjbGF1c2UudHJpbUxlZnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzLnB1c2goY2xhdXNlKTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiV2hpbGVTdGF0ZW1lbnRcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcbiAgICAgICAgICAgICAgICBcIndoaWxlIChcIixcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwidGVzdFwiKSxcbiAgICAgICAgICAgICAgICBcIilcIixcbiAgICAgICAgICAgICAgICBhZGp1c3RDbGF1c2UocGF0aC5jYWxsKHByaW50LCBcImJvZHlcIiksIG9wdGlvbnMpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIGNhc2UgXCJGb3JJblN0YXRlbWVudFwiOlxuICAgICAgICAgICAgLy8gTm90ZTogZXNwcmltYSBjYW4ndCBhY3R1YWxseSBwYXJzZSBcImZvciBlYWNoIChcIi5cbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcbiAgICAgICAgICAgICAgICBuLmVhY2ggPyBcImZvciBlYWNoIChcIiA6IFwiZm9yIChcIixcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwibGVmdFwiKSxcbiAgICAgICAgICAgICAgICBcIiBpbiBcIixcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwicmlnaHRcIiksXG4gICAgICAgICAgICAgICAgXCIpXCIsXG4gICAgICAgICAgICAgICAgYWRqdXN0Q2xhdXNlKHBhdGguY2FsbChwcmludCwgXCJib2R5XCIpLCBvcHRpb25zKSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICBjYXNlIFwiRm9yT2ZTdGF0ZW1lbnRcIjpcbiAgICAgICAgY2FzZSBcIkZvckF3YWl0U3RhdGVtZW50XCI6XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiZm9yIFwiKTtcbiAgICAgICAgICAgIGlmIChuLmF3YWl0IHx8IG4udHlwZSA9PT0gXCJGb3JBd2FpdFN0YXRlbWVudFwiKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcImF3YWl0IFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCIoXCIsIHBhdGguY2FsbChwcmludCwgXCJsZWZ0XCIpLCBcIiBvZiBcIiwgcGF0aC5jYWxsKHByaW50LCBcInJpZ2h0XCIpLCBcIilcIiwgYWRqdXN0Q2xhdXNlKHBhdGguY2FsbChwcmludCwgXCJib2R5XCIpLCBvcHRpb25zKSk7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIGNhc2UgXCJEb1doaWxlU3RhdGVtZW50XCI6IHtcbiAgICAgICAgICAgIHZhciBkb0JvZHkgPSAoMCwgbGluZXNfMS5jb25jYXQpKFtcbiAgICAgICAgICAgICAgICBcImRvXCIsXG4gICAgICAgICAgICAgICAgYWRqdXN0Q2xhdXNlKHBhdGguY2FsbChwcmludCwgXCJib2R5XCIpLCBvcHRpb25zKSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgICAgcGFydHMucHVzaChkb0JvZHkpO1xuICAgICAgICAgICAgaWYgKGVuZHNXaXRoQnJhY2UoZG9Cb2R5KSlcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIHdoaWxlXCIpO1xuICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJcXG53aGlsZVwiKTtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCIgKFwiLCBwYXRoLmNhbGwocHJpbnQsIFwidGVzdFwiKSwgXCIpO1wiKTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiRG9FeHByZXNzaW9uXCI6IHtcbiAgICAgICAgICAgIHZhciBzdGF0ZW1lbnRzID0gcGF0aC5jYWxsKGZ1bmN0aW9uIChib2R5UGF0aCkgeyByZXR1cm4gcHJpbnRTdGF0ZW1lbnRTZXF1ZW5jZShib2R5UGF0aCwgb3B0aW9ucywgcHJpbnQpOyB9LCBcImJvZHlcIik7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXCJkbyB7XFxuXCIsIHN0YXRlbWVudHMuaW5kZW50KG9wdGlvbnMudGFiV2lkdGgpLCBcIlxcbn1cIl0pO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJCcmVha1N0YXRlbWVudFwiOlxuICAgICAgICAgICAgcGFydHMucHVzaChcImJyZWFrXCIpO1xuICAgICAgICAgICAgaWYgKG4ubGFiZWwpXG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIiBcIiwgcGF0aC5jYWxsKHByaW50LCBcImxhYmVsXCIpKTtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCI7XCIpO1xuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICBjYXNlIFwiQ29udGludWVTdGF0ZW1lbnRcIjpcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCJjb250aW51ZVwiKTtcbiAgICAgICAgICAgIGlmIChuLmxhYmVsKVxuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCIgXCIsIHBhdGguY2FsbChwcmludCwgXCJsYWJlbFwiKSk7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiO1wiKTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgY2FzZSBcIkxhYmVsZWRTdGF0ZW1lbnRcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwibGFiZWxcIiksXG4gICAgICAgICAgICAgICAgXCI6XFxuXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcImJvZHlcIiksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIlRyeVN0YXRlbWVudFwiOlxuICAgICAgICAgICAgcGFydHMucHVzaChcInRyeSBcIiwgcGF0aC5jYWxsKHByaW50LCBcImJsb2NrXCIpKTtcbiAgICAgICAgICAgIGlmIChuLmhhbmRsZXIpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIFwiLCBwYXRoLmNhbGwocHJpbnQsIFwiaGFuZGxlclwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChuLmhhbmRsZXJzKSB7XG4gICAgICAgICAgICAgICAgcGF0aC5lYWNoKGZ1bmN0aW9uIChoYW5kbGVyUGF0aCkge1xuICAgICAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIFwiLCBwcmludChoYW5kbGVyUGF0aCkpO1xuICAgICAgICAgICAgICAgIH0sIFwiaGFuZGxlcnNcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobi5maW5hbGl6ZXIpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIGZpbmFsbHkgXCIsIHBhdGguY2FsbChwcmludCwgXCJmaW5hbGl6ZXJcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICBjYXNlIFwiQ2F0Y2hDbGF1c2VcIjpcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCJjYXRjaCBcIik7XG4gICAgICAgICAgICBpZiAobi5wYXJhbSkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCIoXCIsIHBhdGguY2FsbChwcmludCwgXCJwYXJhbVwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobi5ndWFyZCkge1xuICAgICAgICAgICAgICAgIC8vIE5vdGU6IGVzcHJpbWEgZG9lcyBub3QgcmVjb2duaXplIGNvbmRpdGlvbmFsIGNhdGNoIGNsYXVzZXMuXG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIiBpZiBcIiwgcGF0aC5jYWxsKHByaW50LCBcImd1YXJkXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLnBhcmFtKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIikgXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwiYm9keVwiKSk7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIGNhc2UgXCJUaHJvd1N0YXRlbWVudFwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1widGhyb3cgXCIsIHBhdGguY2FsbChwcmludCwgXCJhcmd1bWVudFwiKSwgXCI7XCJdKTtcbiAgICAgICAgY2FzZSBcIlN3aXRjaFN0YXRlbWVudFwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIFwic3dpdGNoIChcIixcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwiZGlzY3JpbWluYW50XCIpLFxuICAgICAgICAgICAgICAgIFwiKSB7XFxuXCIsXG4gICAgICAgICAgICAgICAgKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJcXG5cIikuam9pbihwYXRoLm1hcChwcmludCwgXCJjYXNlc1wiKSksXG4gICAgICAgICAgICAgICAgXCJcXG59XCIsXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgLy8gTm90ZTogaWdub3Jpbmcgbi5sZXhpY2FsIGJlY2F1c2UgaXQgaGFzIG5vIHByaW50aW5nIGNvbnNlcXVlbmNlcy5cbiAgICAgICAgY2FzZSBcIlN3aXRjaENhc2VcIjpcbiAgICAgICAgICAgIGlmIChuLnRlc3QpXG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcImNhc2UgXCIsIHBhdGguY2FsbChwcmludCwgXCJ0ZXN0XCIpLCBcIjpcIik7XG4gICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcImRlZmF1bHQ6XCIpO1xuICAgICAgICAgICAgaWYgKG4uY29uc2VxdWVudC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIlxcblwiLCBwYXRoXG4gICAgICAgICAgICAgICAgICAgIC5jYWxsKGZ1bmN0aW9uIChjb25zZXF1ZW50UGF0aCkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gcHJpbnRTdGF0ZW1lbnRTZXF1ZW5jZShjb25zZXF1ZW50UGF0aCwgb3B0aW9ucywgcHJpbnQpO1xuICAgICAgICAgICAgICAgIH0sIFwiY29uc2VxdWVudFwiKVxuICAgICAgICAgICAgICAgICAgICAuaW5kZW50KG9wdGlvbnMudGFiV2lkdGgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgY2FzZSBcIkRlYnVnZ2VyU3RhdGVtZW50XCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJkZWJ1Z2dlcjtcIik7XG4gICAgICAgIC8vIEpTWCBleHRlbnNpb25zIGJlbG93LlxuICAgICAgICBjYXNlIFwiSlNYQXR0cmlidXRlXCI6XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJuYW1lXCIpKTtcbiAgICAgICAgICAgIGlmIChuLnZhbHVlKVxuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCI9XCIsIHBhdGguY2FsbChwcmludCwgXCJ2YWx1ZVwiKSk7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIGNhc2UgXCJKU1hJZGVudGlmaWVyXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykobi5uYW1lLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIkpTWE5hbWVzcGFjZWROYW1lXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCI6XCIpLmpvaW4oW1xuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJuYW1lc3BhY2VcIiksXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcIm5hbWVcIiksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIkpTWE1lbWJlckV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIi5cIikuam9pbihbXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcIm9iamVjdFwiKSxcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwicHJvcGVydHlcIiksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIkpTWFNwcmVhZEF0dHJpYnV0ZVwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1wiey4uLlwiLCBwYXRoLmNhbGwocHJpbnQsIFwiYXJndW1lbnRcIiksIFwifVwiXSk7XG4gICAgICAgIGNhc2UgXCJKU1hTcHJlYWRDaGlsZFwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1wiey4uLlwiLCBwYXRoLmNhbGwocHJpbnQsIFwiZXhwcmVzc2lvblwiKSwgXCJ9XCJdKTtcbiAgICAgICAgY2FzZSBcIkpTWEV4cHJlc3Npb25Db250YWluZXJcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcIntcIiwgcGF0aC5jYWxsKHByaW50LCBcImV4cHJlc3Npb25cIiksIFwifVwiXSk7XG4gICAgICAgIGNhc2UgXCJKU1hFbGVtZW50XCI6XG4gICAgICAgIGNhc2UgXCJKU1hGcmFnbWVudFwiOiB7XG4gICAgICAgICAgICB2YXIgb3BlbmluZ1Byb3BOYW1lID0gXCJvcGVuaW5nXCIgKyAobi50eXBlID09PSBcIkpTWEVsZW1lbnRcIiA/IFwiRWxlbWVudFwiIDogXCJGcmFnbWVudFwiKTtcbiAgICAgICAgICAgIHZhciBjbG9zaW5nUHJvcE5hbWUgPSBcImNsb3NpbmdcIiArIChuLnR5cGUgPT09IFwiSlNYRWxlbWVudFwiID8gXCJFbGVtZW50XCIgOiBcIkZyYWdtZW50XCIpO1xuICAgICAgICAgICAgdmFyIG9wZW5pbmdMaW5lcyA9IHBhdGguY2FsbChwcmludCwgb3BlbmluZ1Byb3BOYW1lKTtcbiAgICAgICAgICAgIGlmIChuW29wZW5pbmdQcm9wTmFtZV0uc2VsZkNsb3NpbmcpIHtcbiAgICAgICAgICAgICAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KSghbltjbG9zaW5nUHJvcE5hbWVdLCBcInVuZXhwZWN0ZWQgXCIgK1xuICAgICAgICAgICAgICAgICAgICBjbG9zaW5nUHJvcE5hbWUgK1xuICAgICAgICAgICAgICAgICAgICBcIiBlbGVtZW50IGluIHNlbGYtY2xvc2luZyBcIiArXG4gICAgICAgICAgICAgICAgICAgIG4udHlwZSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9wZW5pbmdMaW5lcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHZhciBjaGlsZExpbmVzID0gKDAsIGxpbmVzXzEuY29uY2F0KShwYXRoLm1hcChmdW5jdGlvbiAoY2hpbGRQYXRoKSB7XG4gICAgICAgICAgICAgICAgdmFyIGNoaWxkID0gY2hpbGRQYXRoLmdldFZhbHVlKCk7XG4gICAgICAgICAgICAgICAgaWYgKG5hbWVkVHlwZXMuTGl0ZXJhbC5jaGVjayhjaGlsZCkgJiZcbiAgICAgICAgICAgICAgICAgICAgdHlwZW9mIGNoaWxkLnZhbHVlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICgvXFxTLy50ZXN0KGNoaWxkLnZhbHVlKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGNoaWxkLnZhbHVlLnJlcGxhY2UoL15cXHMrL2csIFwiXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKC9cXG4vLnRlc3QoY2hpbGQudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gXCJcXG5cIjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gcHJpbnQoY2hpbGRQYXRoKTtcbiAgICAgICAgICAgIH0sIFwiY2hpbGRyZW5cIikpLmluZGVudFRhaWwob3B0aW9ucy50YWJXaWR0aCk7XG4gICAgICAgICAgICB2YXIgY2xvc2luZ0xpbmVzID0gcGF0aC5jYWxsKHByaW50LCBjbG9zaW5nUHJvcE5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW29wZW5pbmdMaW5lcywgY2hpbGRMaW5lcywgY2xvc2luZ0xpbmVzXSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcIkpTWE9wZW5pbmdFbGVtZW50XCI6IHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCI8XCIsIHBhdGguY2FsbChwcmludCwgXCJuYW1lXCIpKTtcbiAgICAgICAgICAgIHZhciB0eXBlRGVmUGFydCA9IHBhdGguY2FsbChwcmludCwgXCJ0eXBlUGFyYW1ldGVyc1wiKTtcbiAgICAgICAgICAgIGlmICh0eXBlRGVmUGFydC5sZW5ndGgpXG4gICAgICAgICAgICAgICAgcGFydHMucHVzaCh0eXBlRGVmUGFydCk7XG4gICAgICAgICAgICB2YXIgYXR0clBhcnRzXzEgPSBbXTtcbiAgICAgICAgICAgIHBhdGguZWFjaChmdW5jdGlvbiAoYXR0clBhdGgpIHtcbiAgICAgICAgICAgICAgICBhdHRyUGFydHNfMS5wdXNoKFwiIFwiLCBwcmludChhdHRyUGF0aCkpO1xuICAgICAgICAgICAgfSwgXCJhdHRyaWJ1dGVzXCIpO1xuICAgICAgICAgICAgdmFyIGF0dHJMaW5lcyA9ICgwLCBsaW5lc18xLmNvbmNhdCkoYXR0clBhcnRzXzEpO1xuICAgICAgICAgICAgdmFyIG5lZWRMaW5lV3JhcCA9IGF0dHJMaW5lcy5sZW5ndGggPiAxIHx8IGF0dHJMaW5lcy5nZXRMaW5lTGVuZ3RoKDEpID4gb3B0aW9ucy53cmFwQ29sdW1uO1xuICAgICAgICAgICAgaWYgKG5lZWRMaW5lV3JhcCkge1xuICAgICAgICAgICAgICAgIGF0dHJQYXJ0c18xLmZvckVhY2goZnVuY3Rpb24gKHBhcnQsIGkpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHBhcnQgPT09IFwiIFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAoMCwgdGlueV9pbnZhcmlhbnRfMS5kZWZhdWx0KShpICUgMiA9PT0gMCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBhdHRyUGFydHNfMVtpXSA9IFwiXFxuXCI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICBhdHRyTGluZXMgPSAoMCwgbGluZXNfMS5jb25jYXQpKGF0dHJQYXJ0c18xKS5pbmRlbnRUYWlsKG9wdGlvbnMudGFiV2lkdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChhdHRyTGluZXMsIG4uc2VsZkNsb3NpbmcgPyBcIiAvPlwiIDogXCI+XCIpO1xuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJKU1hDbG9zaW5nRWxlbWVudFwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1wiPC9cIiwgcGF0aC5jYWxsKHByaW50LCBcIm5hbWVcIiksIFwiPlwiXSk7XG4gICAgICAgIGNhc2UgXCJKU1hPcGVuaW5nRnJhZ21lbnRcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIjw+XCIpO1xuICAgICAgICBjYXNlIFwiSlNYQ2xvc2luZ0ZyYWdtZW50XCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCI8Lz5cIik7XG4gICAgICAgIGNhc2UgXCJKU1hUZXh0XCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykobi52YWx1ZSwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJKU1hFbXB0eUV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIlwiKTtcbiAgICAgICAgY2FzZSBcIlR5cGVBbm5vdGF0ZWRJZGVudGlmaWVyXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcImFubm90YXRpb25cIiksXG4gICAgICAgICAgICAgICAgXCIgXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcImlkZW50aWZpZXJcIiksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIkNsYXNzQm9keVwiOlxuICAgICAgICAgICAgaWYgKG4uYm9keS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJ7fVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcbiAgICAgICAgICAgICAgICBcIntcXG5cIixcbiAgICAgICAgICAgICAgICBwYXRoXG4gICAgICAgICAgICAgICAgICAgIC5jYWxsKGZ1bmN0aW9uIChib2R5UGF0aCkgeyByZXR1cm4gcHJpbnRTdGF0ZW1lbnRTZXF1ZW5jZShib2R5UGF0aCwgb3B0aW9ucywgcHJpbnQpOyB9LCBcImJvZHlcIilcbiAgICAgICAgICAgICAgICAgICAgLmluZGVudChvcHRpb25zLnRhYldpZHRoKSxcbiAgICAgICAgICAgICAgICBcIlxcbn1cIixcbiAgICAgICAgICAgIF0pO1xuICAgICAgICBjYXNlIFwiQ2xhc3NQcm9wZXJ0eURlZmluaXRpb25cIjpcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCJzdGF0aWMgXCIsIHBhdGguY2FsbChwcmludCwgXCJkZWZpbml0aW9uXCIpKTtcbiAgICAgICAgICAgIGlmICghbmFtZWRUeXBlcy5NZXRob2REZWZpbml0aW9uLmNoZWNrKG4uZGVmaW5pdGlvbikpXG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIjtcIik7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIGNhc2UgXCJDbGFzc1Byb3BlcnR5XCI6IHtcbiAgICAgICAgICAgIGlmIChuLmRlY2xhcmUpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiZGVjbGFyZSBcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIgYWNjZXNzID0gbi5hY2Nlc3NpYmlsaXR5IHx8IG4uYWNjZXNzO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBhY2Nlc3MgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKGFjY2VzcywgXCIgXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG4uc3RhdGljKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcInN0YXRpYyBcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobi5hYnN0cmFjdCkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJhYnN0cmFjdCBcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobi5yZWFkb25seSkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJyZWFkb25seSBcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB2YXIga2V5ID0gcGF0aC5jYWxsKHByaW50LCBcImtleVwiKTtcbiAgICAgICAgICAgIGlmIChuLmNvbXB1dGVkKSB7XG4gICAgICAgICAgICAgICAga2V5ID0gKDAsIGxpbmVzXzEuY29uY2F0KShbXCJbXCIsIGtleSwgXCJdXCJdKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLnZhcmlhbmNlKSB7XG4gICAgICAgICAgICAgICAga2V5ID0gKDAsIGxpbmVzXzEuY29uY2F0KShbcHJpbnRWYXJpYW5jZShwYXRoLCBwcmludCksIGtleV0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChrZXkpO1xuICAgICAgICAgICAgaWYgKG4ub3B0aW9uYWwpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiP1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLmRlZmluaXRlKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIiFcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobi50eXBlQW5ub3RhdGlvbikge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcInR5cGVBbm5vdGF0aW9uXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIiA9IFwiLCBwYXRoLmNhbGwocHJpbnQsIFwidmFsdWVcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChcIjtcIik7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcIkNsYXNzUHJpdmF0ZVByb3BlcnR5XCI6XG4gICAgICAgICAgICBpZiAobi5zdGF0aWMpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwic3RhdGljIFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcImtleVwiKSk7XG4gICAgICAgICAgICBpZiAobi50eXBlQW5ub3RhdGlvbikge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcInR5cGVBbm5vdGF0aW9uXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLnZhbHVlKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIiA9IFwiLCBwYXRoLmNhbGwocHJpbnQsIFwidmFsdWVcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChcIjtcIik7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIGNhc2UgXCJDbGFzc0FjY2Vzc29yUHJvcGVydHlcIjoge1xuICAgICAgICAgICAgcGFydHMucHVzaC5hcHBseShwYXJ0cywgdHNsaWJfMS5fX3NwcmVhZEFycmF5KHRzbGliXzEuX19zcHJlYWRBcnJheShbXSwgcHJpbnRDbGFzc01lbWJlck1vZGlmaWVycyhuKSwgZmFsc2UpLCBbXCJhY2Nlc3NvciBcIl0sIGZhbHNlKSk7XG4gICAgICAgICAgICBpZiAobi5jb21wdXRlZCkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJbXCIsIHBhdGguY2FsbChwcmludCwgXCJrZXlcIiksIFwiXVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcImtleVwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobi5vcHRpb25hbCkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCI/XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG4uZGVmaW5pdGUpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLnR5cGVBbm5vdGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwidHlwZUFubm90YXRpb25cIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG4udmFsdWUpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiID0gXCIsIHBhdGguY2FsbChwcmludCwgXCJ2YWx1ZVwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiO1wiKTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiQ2xhc3NEZWNsYXJhdGlvblwiOlxuICAgICAgICBjYXNlIFwiQ2xhc3NFeHByZXNzaW9uXCI6XG4gICAgICAgIGNhc2UgXCJEZWNsYXJlQ2xhc3NcIjpcbiAgICAgICAgICAgIGlmIChuLmRlY2xhcmUpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiZGVjbGFyZSBcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobi5hYnN0cmFjdCkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJhYnN0cmFjdCBcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiY2xhc3NcIik7XG4gICAgICAgICAgICBpZiAobi5pZCkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCIgXCIsIHBhdGguY2FsbChwcmludCwgXCJpZFwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobi50eXBlUGFyYW1ldGVycykge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcInR5cGVQYXJhbWV0ZXJzXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLnN1cGVyQ2xhc3MpIHtcbiAgICAgICAgICAgICAgICAvLyBDbGFzc0RlY2xhcmF0aW9uIGFuZCBDbGFzc0V4cHJlc3Npb24gb25seVxuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCIgZXh0ZW5kcyBcIiwgcGF0aC5jYWxsKHByaW50LCBcInN1cGVyQ2xhc3NcIiksIHBhdGguY2FsbChwcmludCwgXCJzdXBlclR5cGVQYXJhbWV0ZXJzXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLmV4dGVuZHMgJiYgbi5leHRlbmRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAvLyBEZWNsYXJlQ2xhc3Mgb25seVxuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCIgZXh0ZW5kcyBcIiwgKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIsIFwiKS5qb2luKHBhdGgubWFwKHByaW50LCBcImV4dGVuZHNcIikpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuW1wiaW1wbGVtZW50c1wiXSAmJiBuW1wiaW1wbGVtZW50c1wiXS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIiBpbXBsZW1lbnRzIFwiLCAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIiwgXCIpLmpvaW4ocGF0aC5tYXAocHJpbnQsIFwiaW1wbGVtZW50c1wiKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChcIiBcIiwgcGF0aC5jYWxsKHByaW50LCBcImJvZHlcIikpO1xuICAgICAgICAgICAgaWYgKG4udHlwZSA9PT0gXCJEZWNsYXJlQ2xhc3NcIikge1xuICAgICAgICAgICAgICAgIHJldHVybiBwcmludEZsb3dEZWNsYXJhdGlvbihwYXRoLCBwYXJ0cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJUZW1wbGF0ZUVsZW1lbnRcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShuLnZhbHVlLnJhdywgb3B0aW9ucykubG9ja0luZGVudFRhaWwoKTtcbiAgICAgICAgY2FzZSBcIlRlbXBsYXRlTGl0ZXJhbFwiOiB7XG4gICAgICAgICAgICB2YXIgZXhwcmVzc2lvbnNfMSA9IHBhdGgubWFwKHByaW50LCBcImV4cHJlc3Npb25zXCIpO1xuICAgICAgICAgICAgcGFydHMucHVzaChcImBcIik7XG4gICAgICAgICAgICBwYXRoLmVhY2goZnVuY3Rpb24gKGNoaWxkUGF0aCkge1xuICAgICAgICAgICAgICAgIHZhciBpID0gY2hpbGRQYXRoLmdldE5hbWUoKTtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHByaW50KGNoaWxkUGF0aCkpO1xuICAgICAgICAgICAgICAgIGlmIChpIDwgZXhwcmVzc2lvbnNfMS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChcIiR7XCIsIGV4cHJlc3Npb25zXzFbaV0sIFwifVwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBcInF1YXNpc1wiKTtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCJgXCIpO1xuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpLmxvY2tJbmRlbnRUYWlsKCk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW3BhdGguY2FsbChwcmludCwgXCJ0YWdcIiksIHBhdGguY2FsbChwcmludCwgXCJxdWFzaVwiKV0pO1xuICAgICAgICAvLyBUaGVzZSB0eXBlcyBhcmUgdW5wcmludGFibGUgYmVjYXVzZSB0aGV5IHNlcnZlIGFzIGFic3RyYWN0XG4gICAgICAgIC8vIHN1cGVydHlwZXMgZm9yIG90aGVyIChwcmludGFibGUpIHR5cGVzLlxuICAgICAgICBjYXNlIFwiTm9kZVwiOlxuICAgICAgICBjYXNlIFwiUHJpbnRhYmxlXCI6XG4gICAgICAgIGNhc2UgXCJTb3VyY2VMb2NhdGlvblwiOlxuICAgICAgICBjYXNlIFwiUG9zaXRpb25cIjpcbiAgICAgICAgY2FzZSBcIlN0YXRlbWVudFwiOlxuICAgICAgICBjYXNlIFwiRnVuY3Rpb25cIjpcbiAgICAgICAgY2FzZSBcIlBhdHRlcm5cIjpcbiAgICAgICAgY2FzZSBcIkV4cHJlc3Npb25cIjpcbiAgICAgICAgY2FzZSBcIkRlY2xhcmF0aW9uXCI6XG4gICAgICAgIGNhc2UgXCJTcGVjaWZpZXJcIjpcbiAgICAgICAgY2FzZSBcIk5hbWVkU3BlY2lmaWVyXCI6XG4gICAgICAgIGNhc2UgXCJDb21tZW50XCI6IC8vIFN1cGVydHlwZSBvZiBCbG9jayBhbmQgTGluZVxuICAgICAgICBjYXNlIFwiRmxvd1wiOiAvLyBTdXBlcnR5cGUgb2YgYWxsIEZsb3cgQVNUIG5vZGUgdHlwZXNcbiAgICAgICAgY2FzZSBcIkZsb3dUeXBlXCI6IC8vIFN1cGVydHlwZSBvZiBhbGwgRmxvdyB0eXBlc1xuICAgICAgICBjYXNlIFwiRmxvd1ByZWRpY2F0ZVwiOiAvLyBTdXBlcnR5cGUgb2YgSW5mZXJyZWRQcmVkaWNhdGUgYW5kIERlY2xhcmVkUHJlZGljYXRlXG4gICAgICAgIGNhc2UgXCJNZW1iZXJUeXBlQW5ub3RhdGlvblwiOiAvLyBGbG93XG4gICAgICAgIGNhc2UgXCJUeXBlXCI6IC8vIEZsb3dcbiAgICAgICAgY2FzZSBcIlRTSGFzT3B0aW9uYWxUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvblwiOlxuICAgICAgICBjYXNlIFwiVFNIYXNPcHRpb25hbFR5cGVQYXJhbWV0ZXJzXCI6XG4gICAgICAgIGNhc2UgXCJUU0hhc09wdGlvbmFsVHlwZUFubm90YXRpb25cIjpcbiAgICAgICAgY2FzZSBcIkNoYWluRWxlbWVudFwiOiAvLyBTdXBlcnR5cGUgb2YgTWVtYmVyRXhwcmVzc2lvbiBhbmQgQ2FsbEV4cHJlc3Npb25cbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInVucHJpbnRhYmxlIHR5cGU6IFwiICsgSlNPTi5zdHJpbmdpZnkobi50eXBlKSk7XG4gICAgICAgIGNhc2UgXCJDb21tZW50QmxvY2tcIjogLy8gQmFiZWwgYmxvY2sgY29tbWVudC5cbiAgICAgICAgY2FzZSBcIkJsb2NrXCI6IC8vIEVzcHJpbWEgYmxvY2sgY29tbWVudC5cbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcIi8qXCIsICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKG4udmFsdWUsIG9wdGlvbnMpLCBcIiovXCJdKTtcbiAgICAgICAgY2FzZSBcIkNvbW1lbnRMaW5lXCI6IC8vIEJhYmVsIGxpbmUgY29tbWVudC5cbiAgICAgICAgY2FzZSBcIkxpbmVcIjogLy8gRXNwcmltYSBsaW5lIGNvbW1lbnQuXG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXCIvL1wiLCAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShuLnZhbHVlLCBvcHRpb25zKV0pO1xuICAgICAgICAvLyBUeXBlIEFubm90YXRpb25zIGZvciBGYWNlYm9vayBGbG93LCB0eXBpY2FsbHkgc3RyaXBwZWQgb3V0IG9yXG4gICAgICAgIC8vIHRyYW5zZm9ybWVkIGF3YXkgYmVmb3JlIHByaW50aW5nLlxuICAgICAgICBjYXNlIFwiVHlwZUFubm90YXRpb25cIjpcbiAgICAgICAgICAgIGlmIChuLnR5cGVBbm5vdGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgaWYgKG4udHlwZUFubm90YXRpb24udHlwZSAhPT0gXCJGdW5jdGlvblR5cGVBbm5vdGF0aW9uXCIpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChcIjogXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJ0eXBlQW5ub3RhdGlvblwiKSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiXCIpO1xuICAgICAgICBjYXNlIFwiRXhpc3RlbnRpYWxUeXBlUGFyYW1cIjpcbiAgICAgICAgY2FzZSBcIkV4aXN0c1R5cGVBbm5vdGF0aW9uXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIqXCIsIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIFwiRW1wdHlUeXBlQW5ub3RhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiZW1wdHlcIiwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJBbnlUeXBlQW5ub3RhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiYW55XCIsIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIFwiTWl4ZWRUeXBlQW5ub3RhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwibWl4ZWRcIiwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJBcnJheVR5cGVBbm5vdGF0aW9uXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbcGF0aC5jYWxsKHByaW50LCBcImVsZW1lbnRUeXBlXCIpLCBcIltdXCJdKTtcbiAgICAgICAgY2FzZSBcIlR1cGxlVHlwZUFubm90YXRpb25cIjoge1xuICAgICAgICAgICAgdmFyIHByaW50ZWRfMiA9IHBhdGgubWFwKHByaW50LCBcInR5cGVzXCIpO1xuICAgICAgICAgICAgdmFyIGpvaW5lZCA9ICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiLCBcIikuam9pbihwcmludGVkXzIpO1xuICAgICAgICAgICAgdmFyIG9uZUxpbmVfMyA9IGpvaW5lZC5nZXRMaW5lTGVuZ3RoKDEpIDw9IG9wdGlvbnMud3JhcENvbHVtbjtcbiAgICAgICAgICAgIGlmIChvbmVMaW5lXzMpIHtcbiAgICAgICAgICAgICAgICBpZiAob3B0aW9ucy5hcnJheUJyYWNrZXRTcGFjaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJbIFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJbXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJbXFxuXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGF0aC5lYWNoKGZ1bmN0aW9uIChlbGVtUGF0aCkge1xuICAgICAgICAgICAgICAgIHZhciBpID0gZWxlbVBhdGguZ2V0TmFtZSgpO1xuICAgICAgICAgICAgICAgIHZhciBlbGVtID0gZWxlbVBhdGguZ2V0VmFsdWUoKTtcbiAgICAgICAgICAgICAgICBpZiAoIWVsZW0pIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhlIGFycmF5IGV4cHJlc3Npb24gZW5kcyB3aXRoIGEgaG9sZSwgdGhhdCBob2xlXG4gICAgICAgICAgICAgICAgICAgIC8vIHdpbGwgYmUgaWdub3JlZCBieSB0aGUgaW50ZXJwcmV0ZXIsIGJ1dCBpZiBpdCBlbmRzIHdpdGhcbiAgICAgICAgICAgICAgICAgICAgLy8gdHdvIChvciBtb3JlKSBob2xlcywgd2UgbmVlZCB0byB3cml0ZSBvdXQgdHdvIChvciBtb3JlKVxuICAgICAgICAgICAgICAgICAgICAvLyBjb21tYXMgc28gdGhhdCB0aGUgcmVzdWx0aW5nIGNvZGUgaXMgaW50ZXJwcmV0ZWQgd2l0aFxuICAgICAgICAgICAgICAgICAgICAvLyBib3RoIChhbGwpIG9mIHRoZSBob2xlcy5cbiAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChcIixcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgbGluZXMgPSBwcmludGVkXzJbaV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChvbmVMaW5lXzMpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpID4gMClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIFwiKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVzID0gbGluZXMuaW5kZW50KG9wdGlvbnMudGFiV2lkdGgpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gobGluZXMpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoaSA8IG4udHlwZXMubGVuZ3RoIC0gMSB8fFxuICAgICAgICAgICAgICAgICAgICAgICAgKCFvbmVMaW5lXzMgJiYgdXRpbC5pc1RyYWlsaW5nQ29tbWFFbmFibGVkKG9wdGlvbnMsIFwiYXJyYXlzXCIpKSlcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCIsXCIpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoIW9uZUxpbmVfMylcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJcXG5cIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSwgXCJ0eXBlc1wiKTtcbiAgICAgICAgICAgIGlmIChvbmVMaW5lXzMgJiYgb3B0aW9ucy5hcnJheUJyYWNrZXRTcGFjaW5nKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIiBdXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIl1cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcIkJvb2xlYW5UeXBlQW5ub3RhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiYm9vbGVhblwiLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIkJvb2xlYW5MaXRlcmFsVHlwZUFubm90YXRpb25cIjpcbiAgICAgICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHR5cGVvZiBuLnZhbHVlID09PSBcImJvb2xlYW5cIik7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJcIiArIG4udmFsdWUsIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIFwiSW50ZXJmYWNlVHlwZUFubm90YXRpb25cIjpcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCJpbnRlcmZhY2VcIik7XG4gICAgICAgICAgICBpZiAobi5leHRlbmRzICYmIG4uZXh0ZW5kcy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIiBleHRlbmRzIFwiLCAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIiwgXCIpLmpvaW4ocGF0aC5tYXAocHJpbnQsIFwiZXh0ZW5kc1wiKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChcIiBcIiwgcGF0aC5jYWxsKHByaW50LCBcImJvZHlcIikpO1xuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICBjYXNlIFwiRGVjbGFyZUZ1bmN0aW9uXCI6XG4gICAgICAgICAgICByZXR1cm4gcHJpbnRGbG93RGVjbGFyYXRpb24ocGF0aCwgW1xuICAgICAgICAgICAgICAgIFwiZnVuY3Rpb24gXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcImlkXCIpLFxuICAgICAgICAgICAgICAgIFwiO1wiLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIGNhc2UgXCJEZWNsYXJlTW9kdWxlXCI6XG4gICAgICAgICAgICByZXR1cm4gcHJpbnRGbG93RGVjbGFyYXRpb24ocGF0aCwgW1xuICAgICAgICAgICAgICAgIFwibW9kdWxlIFwiLFxuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJpZFwiKSxcbiAgICAgICAgICAgICAgICBcIiBcIixcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwiYm9keVwiKSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICBjYXNlIFwiRGVjbGFyZU1vZHVsZUV4cG9ydHNcIjpcbiAgICAgICAgICAgIHJldHVybiBwcmludEZsb3dEZWNsYXJhdGlvbihwYXRoLCBbXG4gICAgICAgICAgICAgICAgXCJtb2R1bGUuZXhwb3J0c1wiLFxuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJ0eXBlQW5ub3RhdGlvblwiKSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICBjYXNlIFwiRGVjbGFyZVZhcmlhYmxlXCI6XG4gICAgICAgICAgICByZXR1cm4gcHJpbnRGbG93RGVjbGFyYXRpb24ocGF0aCwgW1widmFyIFwiLCBwYXRoLmNhbGwocHJpbnQsIFwiaWRcIiksIFwiO1wiXSk7XG4gICAgICAgIGNhc2UgXCJEZWNsYXJlRXhwb3J0RGVjbGFyYXRpb25cIjpcbiAgICAgICAgY2FzZSBcIkRlY2xhcmVFeHBvcnRBbGxEZWNsYXJhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1wiZGVjbGFyZSBcIiwgcHJpbnRFeHBvcnREZWNsYXJhdGlvbihwYXRoLCBvcHRpb25zLCBwcmludCldKTtcbiAgICAgICAgY2FzZSBcIkVudW1EZWNsYXJhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIFwiZW51bSBcIixcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwiaWRcIiksXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcImJvZHlcIiksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIkVudW1Cb29sZWFuQm9keVwiOlxuICAgICAgICBjYXNlIFwiRW51bU51bWJlckJvZHlcIjpcbiAgICAgICAgY2FzZSBcIkVudW1TdHJpbmdCb2R5XCI6XG4gICAgICAgIGNhc2UgXCJFbnVtU3ltYm9sQm9keVwiOiB7XG4gICAgICAgICAgICBpZiAobi50eXBlID09PSBcIkVudW1TeW1ib2xCb2R5XCIgfHwgbi5leHBsaWNpdFR5cGUpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIG9mIFwiLCBcbiAgICAgICAgICAgICAgICAvLyBFbnVtQm9vbGVhbkJvZHkgPT4gYm9vbGVhbiwgZXRjLlxuICAgICAgICAgICAgICAgIG4udHlwZS5zbGljZSg0LCAtNCkudG9Mb3dlckNhc2UoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIHtcXG5cIiwgKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJcXG5cIilcbiAgICAgICAgICAgICAgICAuam9pbihwYXRoLm1hcChwcmludCwgXCJtZW1iZXJzXCIpKVxuICAgICAgICAgICAgICAgIC5pbmRlbnQob3B0aW9ucy50YWJXaWR0aCksIFwiXFxufVwiKTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiRW51bURlZmF1bHRlZE1lbWJlclwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW3BhdGguY2FsbChwcmludCwgXCJpZFwiKSwgXCIsXCJdKTtcbiAgICAgICAgY2FzZSBcIkVudW1Cb29sZWFuTWVtYmVyXCI6XG4gICAgICAgIGNhc2UgXCJFbnVtTnVtYmVyTWVtYmVyXCI6XG4gICAgICAgIGNhc2UgXCJFbnVtU3RyaW5nTWVtYmVyXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcImlkXCIpLFxuICAgICAgICAgICAgICAgIFwiID0gXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcImluaXRcIiksXG4gICAgICAgICAgICAgICAgXCIsXCIsXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIkluZmVycmVkUHJlZGljYXRlXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIlY2hlY2tzXCIsIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIFwiRGVjbGFyZWRQcmVkaWNhdGVcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcIiVjaGVja3MoXCIsIHBhdGguY2FsbChwcmludCwgXCJ2YWx1ZVwiKSwgXCIpXCJdKTtcbiAgICAgICAgY2FzZSBcIkZ1bmN0aW9uVHlwZUFubm90YXRpb25cIjoge1xuICAgICAgICAgICAgLy8gRnVuY3Rpb25UeXBlQW5ub3RhdGlvbiBpcyBhbWJpZ3VvdXM6XG4gICAgICAgICAgICAvLyBkZWNsYXJlIGZ1bmN0aW9uKGE6IEIpOiB2b2lkOyBPUlxuICAgICAgICAgICAgLy8gY29uc3QgQTogKGE6IEIpID0+IHZvaWQ7XG4gICAgICAgICAgICB2YXIgcGFyZW50ID0gcGF0aC5nZXRQYXJlbnROb2RlKDApO1xuICAgICAgICAgICAgdmFyIGlzQXJyb3dGdW5jdGlvblR5cGVBbm5vdGF0aW9uID0gIShuYW1lZFR5cGVzLk9iamVjdFR5cGVDYWxsUHJvcGVydHkuY2hlY2socGFyZW50KSB8fFxuICAgICAgICAgICAgICAgIChuYW1lZFR5cGVzLk9iamVjdFR5cGVJbnRlcm5hbFNsb3QuY2hlY2socGFyZW50KSAmJiBwYXJlbnQubWV0aG9kKSB8fFxuICAgICAgICAgICAgICAgIG5hbWVkVHlwZXMuRGVjbGFyZUZ1bmN0aW9uLmNoZWNrKHBhdGguZ2V0UGFyZW50Tm9kZSgyKSkpO1xuICAgICAgICAgICAgdmFyIG5lZWRzQ29sb24gPSBpc0Fycm93RnVuY3Rpb25UeXBlQW5ub3RhdGlvbiAmJlxuICAgICAgICAgICAgICAgICFuYW1lZFR5cGVzLkZ1bmN0aW9uVHlwZVBhcmFtLmNoZWNrKHBhcmVudCkgJiZcbiAgICAgICAgICAgICAgICAhbmFtZWRUeXBlcy5UeXBlQWxpYXMuY2hlY2socGFyZW50KTtcbiAgICAgICAgICAgIGlmIChuZWVkc0NvbG9uKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIjogXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFyIGhhc1R5cGVQYXJhbWV0ZXJzID0gISFuLnR5cGVQYXJhbWV0ZXJzO1xuICAgICAgICAgICAgdmFyIG5lZWRzUGFyZW5zID0gaGFzVHlwZVBhcmFtZXRlcnMgfHwgbi5wYXJhbXMubGVuZ3RoICE9PSAxIHx8IG4ucGFyYW1zWzBdLm5hbWU7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKGhhc1R5cGVQYXJhbWV0ZXJzID8gcGF0aC5jYWxsKHByaW50LCBcInR5cGVQYXJhbWV0ZXJzXCIpIDogXCJcIiwgbmVlZHNQYXJlbnMgPyBcIihcIiA6IFwiXCIsIHByaW50RnVuY3Rpb25QYXJhbXMocGF0aCwgb3B0aW9ucywgcHJpbnQpLCBuZWVkc1BhcmVucyA/IFwiKVwiIDogXCJcIik7XG4gICAgICAgICAgICAvLyBUaGUgcmV0dXJuVHlwZSBpcyBub3Qgd3JhcHBlZCBpbiBhIFR5cGVBbm5vdGF0aW9uLCBzbyB0aGUgY29sb25cbiAgICAgICAgICAgIC8vIG5lZWRzIHRvIGJlIGFkZGVkIHNlcGFyYXRlbHkuXG4gICAgICAgICAgICBpZiAobi5yZXR1cm5UeXBlKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChpc0Fycm93RnVuY3Rpb25UeXBlQW5ub3RhdGlvbiA/IFwiID0+IFwiIDogXCI6IFwiLCBwYXRoLmNhbGwocHJpbnQsIFwicmV0dXJuVHlwZVwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcIkZ1bmN0aW9uVHlwZVBhcmFtXCI6IHtcbiAgICAgICAgICAgIHZhciBuYW1lID0gcGF0aC5jYWxsKHByaW50LCBcIm5hbWVcIik7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKG5hbWUpO1xuICAgICAgICAgICAgaWYgKG4ub3B0aW9uYWwpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiP1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuYW1lLmluZm9zWzBdLmxpbmUpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiOiBcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJ0eXBlQW5ub3RhdGlvblwiKSk7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcIkdlbmVyaWNUeXBlQW5ub3RhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJpZFwiKSxcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwidHlwZVBhcmFtZXRlcnNcIiksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIkRlY2xhcmVJbnRlcmZhY2VcIjpcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCJkZWNsYXJlIFwiKTtcbiAgICAgICAgLy8gRmFsbCB0aHJvdWdoIHRvIEludGVyZmFjZURlY2xhcmF0aW9uLi4uXG4gICAgICAgIGNhc2UgXCJJbnRlcmZhY2VEZWNsYXJhdGlvblwiOlxuICAgICAgICBjYXNlIFwiVFNJbnRlcmZhY2VEZWNsYXJhdGlvblwiOlxuICAgICAgICAgICAgaWYgKG4uZGVjbGFyZSkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJkZWNsYXJlIFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCJpbnRlcmZhY2UgXCIsIHBhdGguY2FsbChwcmludCwgXCJpZFwiKSwgcGF0aC5jYWxsKHByaW50LCBcInR5cGVQYXJhbWV0ZXJzXCIpLCBcIiBcIik7XG4gICAgICAgICAgICBpZiAobltcImV4dGVuZHNcIl0gJiYgbltcImV4dGVuZHNcIl0ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJleHRlbmRzIFwiLCAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIiwgXCIpLmpvaW4ocGF0aC5tYXAocHJpbnQsIFwiZXh0ZW5kc1wiKSksIFwiIFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLmJvZHkpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJib2R5XCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgY2FzZSBcIkNsYXNzSW1wbGVtZW50c1wiOlxuICAgICAgICBjYXNlIFwiSW50ZXJmYWNlRXh0ZW5kc1wiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJpZFwiKSxcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwidHlwZVBhcmFtZXRlcnNcIiksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIkludGVyc2VjdGlvblR5cGVBbm5vdGF0aW9uXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIgJiBcIikuam9pbihwYXRoLm1hcChwcmludCwgXCJ0eXBlc1wiKSk7XG4gICAgICAgIGNhc2UgXCJOdWxsYWJsZVR5cGVBbm5vdGF0aW9uXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXCI/XCIsIHBhdGguY2FsbChwcmludCwgXCJ0eXBlQW5ub3RhdGlvblwiKV0pO1xuICAgICAgICBjYXNlIFwiTnVsbExpdGVyYWxUeXBlQW5ub3RhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwibnVsbFwiLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIlRoaXNUeXBlQW5ub3RhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwidGhpc1wiLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIk51bWJlclR5cGVBbm5vdGF0aW9uXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJudW1iZXJcIiwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJPYmplY3RUeXBlQ2FsbFByb3BlcnR5XCI6XG4gICAgICAgICAgICByZXR1cm4gcGF0aC5jYWxsKHByaW50LCBcInZhbHVlXCIpO1xuICAgICAgICBjYXNlIFwiT2JqZWN0VHlwZUluZGV4ZXJcIjpcbiAgICAgICAgICAgIGlmIChuLnN0YXRpYykge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJzdGF0aWMgXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChwcmludFZhcmlhbmNlKHBhdGgsIHByaW50KSwgXCJbXCIpO1xuICAgICAgICAgICAgaWYgKG4uaWQpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJpZFwiKSwgXCI6IFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcImtleVwiKSwgXCJdOiBcIiwgcGF0aC5jYWxsKHByaW50LCBcInZhbHVlXCIpKTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgY2FzZSBcIk9iamVjdFR5cGVQcm9wZXJ0eVwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIHByaW50VmFyaWFuY2UocGF0aCwgcHJpbnQpLFxuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJrZXlcIiksXG4gICAgICAgICAgICAgICAgbi5vcHRpb25hbCA/IFwiP1wiIDogXCJcIixcbiAgICAgICAgICAgICAgICBcIjogXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcInZhbHVlXCIpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIGNhc2UgXCJPYmplY3RUeXBlSW50ZXJuYWxTbG90XCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXG4gICAgICAgICAgICAgICAgbi5zdGF0aWMgPyBcInN0YXRpYyBcIiA6IFwiXCIsXG4gICAgICAgICAgICAgICAgXCJbW1wiLFxuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJpZFwiKSxcbiAgICAgICAgICAgICAgICBcIl1dXCIsXG4gICAgICAgICAgICAgICAgbi5vcHRpb25hbCA/IFwiP1wiIDogXCJcIixcbiAgICAgICAgICAgICAgICBuLnZhbHVlLnR5cGUgIT09IFwiRnVuY3Rpb25UeXBlQW5ub3RhdGlvblwiID8gXCI6IFwiIDogXCJcIixcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwidmFsdWVcIiksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIlF1YWxpZmllZFR5cGVJZGVudGlmaWVyXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcInF1YWxpZmljYXRpb25cIiksXG4gICAgICAgICAgICAgICAgXCIuXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcImlkXCIpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIGNhc2UgXCJTdHJpbmdMaXRlcmFsVHlwZUFubm90YXRpb25cIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShub2RlU3RyKG4udmFsdWUsIG9wdGlvbnMpLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIk51bWJlckxpdGVyYWxUeXBlQW5ub3RhdGlvblwiOlxuICAgICAgICBjYXNlIFwiTnVtZXJpY0xpdGVyYWxUeXBlQW5ub3RhdGlvblwiOlxuICAgICAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkodHlwZW9mIG4udmFsdWUgPT09IFwibnVtYmVyXCIpO1xuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKEpTT04uc3RyaW5naWZ5KG4udmFsdWUpLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIkJpZ0ludExpdGVyYWxUeXBlQW5ub3RhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKG4ucmF3LCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIlN0cmluZ1R5cGVBbm5vdGF0aW9uXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJzdHJpbmdcIiwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJEZWNsYXJlVHlwZUFsaWFzXCI6XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiZGVjbGFyZSBcIik7XG4gICAgICAgIC8vIEZhbGwgdGhyb3VnaCB0byBUeXBlQWxpYXMuLi5cbiAgICAgICAgY2FzZSBcIlR5cGVBbGlhc1wiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIFwidHlwZSBcIixcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwiaWRcIiksXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcInR5cGVQYXJhbWV0ZXJzXCIpLFxuICAgICAgICAgICAgICAgIFwiID0gXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcInJpZ2h0XCIpLFxuICAgICAgICAgICAgICAgIFwiO1wiLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIGNhc2UgXCJEZWNsYXJlT3BhcXVlVHlwZVwiOlxuICAgICAgICAgICAgcGFydHMucHVzaChcImRlY2xhcmUgXCIpO1xuICAgICAgICAvLyBGYWxsIHRocm91Z2ggdG8gT3BhcXVlVHlwZS4uLlxuICAgICAgICBjYXNlIFwiT3BhcXVlVHlwZVwiOlxuICAgICAgICAgICAgcGFydHMucHVzaChcIm9wYXF1ZSB0eXBlIFwiLCBwYXRoLmNhbGwocHJpbnQsIFwiaWRcIiksIHBhdGguY2FsbChwcmludCwgXCJ0eXBlUGFyYW1ldGVyc1wiKSk7XG4gICAgICAgICAgICBpZiAobltcInN1cGVydHlwZVwiXSkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCI6IFwiLCBwYXRoLmNhbGwocHJpbnQsIFwic3VwZXJ0eXBlXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuW1wiaW1wbHR5cGVcIl0pIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiID0gXCIsIHBhdGguY2FsbChwcmludCwgXCJpbXBsdHlwZVwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiO1wiKTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgY2FzZSBcIlR5cGVDYXN0RXhwcmVzc2lvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIFwiKFwiLFxuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJleHByZXNzaW9uXCIpLFxuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJ0eXBlQW5ub3RhdGlvblwiKSxcbiAgICAgICAgICAgICAgICBcIilcIixcbiAgICAgICAgICAgIF0pO1xuICAgICAgICBjYXNlIFwiVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uXCI6XG4gICAgICAgIGNhc2UgXCJUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIFwiPFwiLFxuICAgICAgICAgICAgICAgICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiLCBcIikuam9pbihwYXRoLm1hcChwcmludCwgXCJwYXJhbXNcIikpLFxuICAgICAgICAgICAgICAgIFwiPlwiLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIGNhc2UgXCJWYXJpYW5jZVwiOlxuICAgICAgICAgICAgaWYgKG4ua2luZCA9PT0gXCJwbHVzXCIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIrXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG4ua2luZCA9PT0gXCJtaW51c1wiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiLVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIlwiKTtcbiAgICAgICAgY2FzZSBcIlR5cGVQYXJhbWV0ZXJcIjpcbiAgICAgICAgICAgIGlmIChuLnZhcmlhbmNlKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChwcmludFZhcmlhbmNlKHBhdGgsIHByaW50KSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJuYW1lXCIpKTtcbiAgICAgICAgICAgIGlmIChuLmJvdW5kKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwiYm91bmRcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG5bXCJkZWZhdWx0XCJdKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIj1cIiwgcGF0aC5jYWxsKHByaW50LCBcImRlZmF1bHRcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICBjYXNlIFwiVHlwZW9mVHlwZUFubm90YXRpb25cIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcbiAgICAgICAgICAgICAgICAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcInR5cGVvZiBcIiwgb3B0aW9ucyksXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcImFyZ3VtZW50XCIpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIGNhc2UgXCJJbmRleGVkQWNjZXNzVHlwZVwiOlxuICAgICAgICBjYXNlIFwiT3B0aW9uYWxJbmRleGVkQWNjZXNzVHlwZVwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJvYmplY3RUeXBlXCIpLFxuICAgICAgICAgICAgICAgIG4ub3B0aW9uYWwgPyBcIj8uXCIgOiBcIlwiLFxuICAgICAgICAgICAgICAgIFwiW1wiLFxuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJpbmRleFR5cGVcIiksXG4gICAgICAgICAgICAgICAgXCJdXCIsXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIlVuaW9uVHlwZUFubm90YXRpb25cIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIiB8IFwiKS5qb2luKHBhdGgubWFwKHByaW50LCBcInR5cGVzXCIpKTtcbiAgICAgICAgY2FzZSBcIlZvaWRUeXBlQW5ub3RhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwidm9pZFwiLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIk51bGxUeXBlQW5ub3RhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwibnVsbFwiLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIlN5bWJvbFR5cGVBbm5vdGF0aW9uXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJzeW1ib2xcIiwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJCaWdJbnRUeXBlQW5ub3RhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiYmlnaW50XCIsIG9wdGlvbnMpO1xuICAgICAgICAvLyBUeXBlIEFubm90YXRpb25zIGZvciBUeXBlU2NyaXB0ICh3aGVuIHVzaW5nIEJhYnlsb24gYXMgcGFyc2VyKVxuICAgICAgICBjYXNlIFwiVFNUeXBlXCI6XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1bnByaW50YWJsZSB0eXBlOiBcIiArIEpTT04uc3RyaW5naWZ5KG4udHlwZSkpO1xuICAgICAgICBjYXNlIFwiVFNOdW1iZXJLZXl3b3JkXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJudW1iZXJcIiwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJUU0JpZ0ludEtleXdvcmRcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcImJpZ2ludFwiLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIlRTT2JqZWN0S2V5d29yZFwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwib2JqZWN0XCIsIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIFwiVFNCb29sZWFuS2V5d29yZFwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiYm9vbGVhblwiLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIlRTU3RyaW5nS2V5d29yZFwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwic3RyaW5nXCIsIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIFwiVFNTeW1ib2xLZXl3b3JkXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJzeW1ib2xcIiwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJUU0FueUtleXdvcmRcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcImFueVwiLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIlRTVm9pZEtleXdvcmRcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcInZvaWRcIiwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJUU0ludHJpbnNpY0tleXdvcmRcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcImludHJpbnNpY1wiLCBvcHRpb25zKTtcbiAgICAgICAgY2FzZSBcIlRTVGhpc1R5cGVcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcInRoaXNcIiwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJUU051bGxLZXl3b3JkXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJudWxsXCIsIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIFwiVFNVbmRlZmluZWRLZXl3b3JkXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJ1bmRlZmluZWRcIiwgb3B0aW9ucyk7XG4gICAgICAgIGNhc2UgXCJUU1Vua25vd25LZXl3b3JkXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJ1bmtub3duXCIsIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIFwiVFNOZXZlcktleXdvcmRcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIm5ldmVyXCIsIG9wdGlvbnMpO1xuICAgICAgICBjYXNlIFwiVFNBcnJheVR5cGVcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtwYXRoLmNhbGwocHJpbnQsIFwiZWxlbWVudFR5cGVcIiksIFwiW11cIl0pO1xuICAgICAgICBjYXNlIFwiVFNMaXRlcmFsVHlwZVwiOlxuICAgICAgICAgICAgcmV0dXJuIHBhdGguY2FsbChwcmludCwgXCJsaXRlcmFsXCIpO1xuICAgICAgICBjYXNlIFwiVFNVbmlvblR5cGVcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIiB8IFwiKS5qb2luKHBhdGgubWFwKHByaW50LCBcInR5cGVzXCIpKTtcbiAgICAgICAgY2FzZSBcIlRTSW50ZXJzZWN0aW9uVHlwZVwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiICYgXCIpLmpvaW4ocGF0aC5tYXAocHJpbnQsIFwidHlwZXNcIikpO1xuICAgICAgICBjYXNlIFwiVFNDb25kaXRpb25hbFR5cGVcIjpcbiAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcImNoZWNrVHlwZVwiKSwgXCIgZXh0ZW5kcyBcIiwgcGF0aC5jYWxsKHByaW50LCBcImV4dGVuZHNUeXBlXCIpLCBcIiA/IFwiLCBwYXRoLmNhbGwocHJpbnQsIFwidHJ1ZVR5cGVcIiksIFwiIDogXCIsIHBhdGguY2FsbChwcmludCwgXCJmYWxzZVR5cGVcIikpO1xuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICBjYXNlIFwiVFNJbmZlclR5cGVcIjpcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCJpbmZlciBcIiwgcGF0aC5jYWxsKHByaW50LCBcInR5cGVQYXJhbWV0ZXJcIikpO1xuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICBjYXNlIFwiVFNQYXJlbnRoZXNpemVkVHlwZVwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1wiKFwiLCBwYXRoLmNhbGwocHJpbnQsIFwidHlwZUFubm90YXRpb25cIiksIFwiKVwiXSk7XG4gICAgICAgIGNhc2UgXCJUU0Z1bmN0aW9uVHlwZVwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJ0eXBlUGFyYW1ldGVyc1wiKSxcbiAgICAgICAgICAgICAgICBcIihcIixcbiAgICAgICAgICAgICAgICBwcmludEZ1bmN0aW9uUGFyYW1zKHBhdGgsIG9wdGlvbnMsIHByaW50KSxcbiAgICAgICAgICAgICAgICBcIikgPT4gXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcInR5cGVBbm5vdGF0aW9uXCIsIFwidHlwZUFubm90YXRpb25cIiksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIlRTQ29uc3RydWN0b3JUeXBlXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXG4gICAgICAgICAgICAgICAgXCJuZXcgXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcInR5cGVQYXJhbWV0ZXJzXCIpLFxuICAgICAgICAgICAgICAgIFwiKFwiLFxuICAgICAgICAgICAgICAgIHByaW50RnVuY3Rpb25QYXJhbXMocGF0aCwgb3B0aW9ucywgcHJpbnQpLFxuICAgICAgICAgICAgICAgIFwiKSA9PiBcIixcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwidHlwZUFubm90YXRpb25cIiwgXCJ0eXBlQW5ub3RhdGlvblwiKSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICBjYXNlIFwiVFNNYXBwZWRUeXBlXCI6IHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2gobi5yZWFkb25seSA/IFwicmVhZG9ubHkgXCIgOiBcIlwiLCBcIltcIiwgcGF0aC5jYWxsKHByaW50LCBcInR5cGVQYXJhbWV0ZXJcIiksIFwiXVwiLCBuLm9wdGlvbmFsID8gXCI/XCIgOiBcIlwiKTtcbiAgICAgICAgICAgIGlmIChuLnR5cGVBbm5vdGF0aW9uKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIjogXCIsIHBhdGguY2FsbChwcmludCwgXCJ0eXBlQW5ub3RhdGlvblwiKSwgXCI7XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1wie1xcblwiLCAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKS5pbmRlbnQob3B0aW9ucy50YWJXaWR0aCksIFwiXFxufVwiXSk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcIlRTVHVwbGVUeXBlXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXG4gICAgICAgICAgICAgICAgXCJbXCIsXG4gICAgICAgICAgICAgICAgKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIsIFwiKS5qb2luKHBhdGgubWFwKHByaW50LCBcImVsZW1lbnRUeXBlc1wiKSksXG4gICAgICAgICAgICAgICAgXCJdXCIsXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIlRTTmFtZWRUdXBsZU1lbWJlclwiOlxuICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwibGFiZWxcIikpO1xuICAgICAgICAgICAgaWYgKG4ub3B0aW9uYWwpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiP1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCI6IFwiLCBwYXRoLmNhbGwocHJpbnQsIFwiZWxlbWVudFR5cGVcIikpO1xuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICBjYXNlIFwiVFNSZXN0VHlwZVwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1wiLi4uXCIsIHBhdGguY2FsbChwcmludCwgXCJ0eXBlQW5ub3RhdGlvblwiKV0pO1xuICAgICAgICBjYXNlIFwiVFNPcHRpb25hbFR5cGVcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtwYXRoLmNhbGwocHJpbnQsIFwidHlwZUFubm90YXRpb25cIiksIFwiP1wiXSk7XG4gICAgICAgIGNhc2UgXCJUU0luZGV4ZWRBY2Nlc3NUeXBlXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcIm9iamVjdFR5cGVcIiksXG4gICAgICAgICAgICAgICAgXCJbXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcImluZGV4VHlwZVwiKSxcbiAgICAgICAgICAgICAgICBcIl1cIixcbiAgICAgICAgICAgIF0pO1xuICAgICAgICBjYXNlIFwiVFNUeXBlT3BlcmF0b3JcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwib3BlcmF0b3JcIiksXG4gICAgICAgICAgICAgICAgXCIgXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcInR5cGVBbm5vdGF0aW9uXCIpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIGNhc2UgXCJUU1R5cGVMaXRlcmFsXCI6IHtcbiAgICAgICAgICAgIHZhciBtZW1iZXJzID0gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJcXG5cIikuam9pbihwYXRoLm1hcChwcmludCwgXCJtZW1iZXJzXCIpLm1hcChmdW5jdGlvbiAobWVtYmVyKSB7XG4gICAgICAgICAgICAgICAgaWYgKGxhc3ROb25TcGFjZUNoYXJhY3RlcihtZW1iZXIpICE9PSBcIjtcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWVtYmVyLmNvbmNhdChcIjtcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBtZW1iZXI7XG4gICAgICAgICAgICB9KSk7XG4gICAgICAgICAgICBpZiAobWVtYmVycy5pc0VtcHR5KCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJ7fVwiLCBvcHRpb25zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCJ7XFxuXCIsIG1lbWJlcnMuaW5kZW50KG9wdGlvbnMudGFiV2lkdGgpLCBcIlxcbn1cIik7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcIlRTRW51bU1lbWJlclwiOlxuICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwiaWRcIikpO1xuICAgICAgICAgICAgaWYgKG4uaW5pdGlhbGl6ZXIpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiID0gXCIsIHBhdGguY2FsbChwcmludCwgXCJpbml0aWFsaXplclwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIGNhc2UgXCJUU1R5cGVRdWVyeVwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1widHlwZW9mIFwiLCBwYXRoLmNhbGwocHJpbnQsIFwiZXhwck5hbWVcIildKTtcbiAgICAgICAgY2FzZSBcIlRTUGFyYW1ldGVyUHJvcGVydHlcIjpcbiAgICAgICAgICAgIGlmIChuLmFjY2Vzc2liaWxpdHkpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKG4uYWNjZXNzaWJpbGl0eSwgXCIgXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG4uZXhwb3J0KSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcImV4cG9ydCBcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobi5zdGF0aWMpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwic3RhdGljIFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLnJlYWRvbmx5KSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcInJlYWRvbmx5IFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcInBhcmFtZXRlclwiKSk7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIGNhc2UgXCJUU1R5cGVSZWZlcmVuY2VcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwidHlwZU5hbWVcIiksXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcInR5cGVQYXJhbWV0ZXJzXCIpLFxuICAgICAgICAgICAgXSk7XG4gICAgICAgIGNhc2UgXCJUU1F1YWxpZmllZE5hbWVcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtwYXRoLmNhbGwocHJpbnQsIFwibGVmdFwiKSwgXCIuXCIsIHBhdGguY2FsbChwcmludCwgXCJyaWdodFwiKV0pO1xuICAgICAgICBjYXNlIFwiVFNBc0V4cHJlc3Npb25cIjpcbiAgICAgICAgY2FzZSBcIlRTU2F0aXNmaWVzRXhwcmVzc2lvblwiOiB7XG4gICAgICAgICAgICB2YXIgZXhwcmVzc2lvbiA9IHBhdGguY2FsbChwcmludCwgXCJleHByZXNzaW9uXCIpO1xuICAgICAgICAgICAgcGFydHMucHVzaChleHByZXNzaW9uLCBuLnR5cGUgPT09IFwiVFNTYXRpc2ZpZXNFeHByZXNzaW9uXCIgPyBcIiBzYXRpc2ZpZXMgXCIgOiBcIiBhcyBcIiwgcGF0aC5jYWxsKHByaW50LCBcInR5cGVBbm5vdGF0aW9uXCIpKTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiVFNUeXBlQ2FzdEV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwiZXhwcmVzc2lvblwiKSxcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwidHlwZUFubm90YXRpb25cIiksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIlRTTm9uTnVsbEV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtwYXRoLmNhbGwocHJpbnQsIFwiZXhwcmVzc2lvblwiKSwgXCIhXCJdKTtcbiAgICAgICAgY2FzZSBcIlRTVHlwZUFubm90YXRpb25cIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcIjogXCIsIHBhdGguY2FsbChwcmludCwgXCJ0eXBlQW5ub3RhdGlvblwiKV0pO1xuICAgICAgICBjYXNlIFwiVFNJbmRleFNpZ25hdHVyZVwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIG4ucmVhZG9ubHkgPyBcInJlYWRvbmx5IFwiIDogXCJcIixcbiAgICAgICAgICAgICAgICBcIltcIixcbiAgICAgICAgICAgICAgICBwYXRoLm1hcChwcmludCwgXCJwYXJhbWV0ZXJzXCIpLFxuICAgICAgICAgICAgICAgIFwiXVwiLFxuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJ0eXBlQW5ub3RhdGlvblwiKSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICBjYXNlIFwiVFNQcm9wZXJ0eVNpZ25hdHVyZVwiOlxuICAgICAgICAgICAgcGFydHMucHVzaChwcmludFZhcmlhbmNlKHBhdGgsIHByaW50KSwgbi5yZWFkb25seSA/IFwicmVhZG9ubHkgXCIgOiBcIlwiKTtcbiAgICAgICAgICAgIGlmIChuLmNvbXB1dGVkKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIltcIiwgcGF0aC5jYWxsKHByaW50LCBcImtleVwiKSwgXCJdXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwia2V5XCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzLnB1c2gobi5vcHRpb25hbCA/IFwiP1wiIDogXCJcIiwgcGF0aC5jYWxsKHByaW50LCBcInR5cGVBbm5vdGF0aW9uXCIpKTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgY2FzZSBcIlRTTWV0aG9kU2lnbmF0dXJlXCI6XG4gICAgICAgICAgICBpZiAobi5raW5kID09PSBcImdldFwiKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcImdldCBcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIGlmIChuLmtpbmQgPT09IFwic2V0XCIpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwic2V0IFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLmNvbXB1dGVkKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIltcIiwgcGF0aC5jYWxsKHByaW50LCBcImtleVwiKSwgXCJdXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwia2V5XCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuLm9wdGlvbmFsKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIj9cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJ0eXBlUGFyYW1ldGVyc1wiKSwgXCIoXCIsIHByaW50RnVuY3Rpb25QYXJhbXMocGF0aCwgb3B0aW9ucywgcHJpbnQpLCBcIilcIiwgcGF0aC5jYWxsKHByaW50LCBcInR5cGVBbm5vdGF0aW9uXCIpKTtcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgY2FzZSBcIlRTVHlwZVByZWRpY2F0ZVwiOlxuICAgICAgICAgICAgaWYgKG4uYXNzZXJ0cykge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJhc3NlcnRzIFwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcInBhcmFtZXRlck5hbWVcIikpO1xuICAgICAgICAgICAgaWYgKG4udHlwZUFubm90YXRpb24pIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIGlzIFwiLCBwYXRoLmNhbGwocHJpbnQsIFwidHlwZUFubm90YXRpb25cIiwgXCJ0eXBlQW5ub3RhdGlvblwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIGNhc2UgXCJUU0NhbGxTaWduYXR1cmVEZWNsYXJhdGlvblwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJ0eXBlUGFyYW1ldGVyc1wiKSxcbiAgICAgICAgICAgICAgICBcIihcIixcbiAgICAgICAgICAgICAgICBwcmludEZ1bmN0aW9uUGFyYW1zKHBhdGgsIG9wdGlvbnMsIHByaW50KSxcbiAgICAgICAgICAgICAgICBcIilcIixcbiAgICAgICAgICAgICAgICBwYXRoLmNhbGwocHJpbnQsIFwidHlwZUFubm90YXRpb25cIiksXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIlRTQ29uc3RydWN0U2lnbmF0dXJlRGVjbGFyYXRpb25cIjpcbiAgICAgICAgICAgIGlmIChuLnR5cGVQYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIm5ld1wiLCBwYXRoLmNhbGwocHJpbnQsIFwidHlwZVBhcmFtZXRlcnNcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIm5ldyBcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiKFwiLCBwcmludEZ1bmN0aW9uUGFyYW1zKHBhdGgsIG9wdGlvbnMsIHByaW50KSwgXCIpXCIsIHBhdGguY2FsbChwcmludCwgXCJ0eXBlQW5ub3RhdGlvblwiKSk7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIGNhc2UgXCJUU1R5cGVBbGlhc0RlY2xhcmF0aW9uXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXG4gICAgICAgICAgICAgICAgbi5kZWNsYXJlID8gXCJkZWNsYXJlIFwiIDogXCJcIixcbiAgICAgICAgICAgICAgICBcInR5cGUgXCIsXG4gICAgICAgICAgICAgICAgcGF0aC5jYWxsKHByaW50LCBcImlkXCIpLFxuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJ0eXBlUGFyYW1ldGVyc1wiKSxcbiAgICAgICAgICAgICAgICBcIiA9IFwiLFxuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJ0eXBlQW5ub3RhdGlvblwiKSxcbiAgICAgICAgICAgICAgICBcIjtcIixcbiAgICAgICAgICAgIF0pO1xuICAgICAgICBjYXNlIFwiVFNUeXBlUGFyYW1ldGVyXCI6IHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcIm5hbWVcIikpO1xuICAgICAgICAgICAgLy8gYW1iaWd1b3VzIGJlY2F1c2Ugb2YgVFNNYXBwZWRUeXBlXG4gICAgICAgICAgICB2YXIgcGFyZW50ID0gcGF0aC5nZXRQYXJlbnROb2RlKDApO1xuICAgICAgICAgICAgdmFyIGlzSW5NYXBwZWRUeXBlID0gbmFtZWRUeXBlcy5UU01hcHBlZFR5cGUuY2hlY2socGFyZW50KTtcbiAgICAgICAgICAgIGlmIChuLmNvbnN0cmFpbnQpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKGlzSW5NYXBwZWRUeXBlID8gXCIgaW4gXCIgOiBcIiBleHRlbmRzIFwiLCBwYXRoLmNhbGwocHJpbnQsIFwiY29uc3RyYWludFwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobltcImRlZmF1bHRcIl0pIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiID0gXCIsIHBhdGguY2FsbChwcmludCwgXCJkZWZhdWx0XCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiVFNUeXBlQXNzZXJ0aW9uXCI6IHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCI8XCIsIHBhdGguY2FsbChwcmludCwgXCJ0eXBlQW5ub3RhdGlvblwiKSwgXCI+IFwiLCBwYXRoLmNhbGwocHJpbnQsIFwiZXhwcmVzc2lvblwiKSk7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSBcIlRTVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uXCI6XG4gICAgICAgIGNhc2UgXCJUU1R5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uXCI6XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXG4gICAgICAgICAgICAgICAgXCI8XCIsXG4gICAgICAgICAgICAgICAgKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIsIFwiKS5qb2luKHBhdGgubWFwKHByaW50LCBcInBhcmFtc1wiKSksXG4gICAgICAgICAgICAgICAgXCI+XCIsXG4gICAgICAgICAgICBdKTtcbiAgICAgICAgY2FzZSBcIlRTRW51bURlY2xhcmF0aW9uXCI6IHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2gobi5kZWNsYXJlID8gXCJkZWNsYXJlIFwiIDogXCJcIiwgbi5jb25zdCA/IFwiY29uc3QgXCIgOiBcIlwiLCBcImVudW0gXCIsIHBhdGguY2FsbChwcmludCwgXCJpZFwiKSk7XG4gICAgICAgICAgICB2YXIgbWVtYmVyTGluZXMgPSAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIixcXG5cIikuam9pbihwYXRoLm1hcChwcmludCwgXCJtZW1iZXJzXCIpKTtcbiAgICAgICAgICAgIGlmIChtZW1iZXJMaW5lcy5pc0VtcHR5KCkpIHtcbiAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIHt9XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIiB7XFxuXCIsIG1lbWJlckxpbmVzLmluZGVudChvcHRpb25zLnRhYldpZHRoKSwgXCJcXG59XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJUU0V4cHJlc3Npb25XaXRoVHlwZUFyZ3VtZW50c1wiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJleHByZXNzaW9uXCIpLFxuICAgICAgICAgICAgICAgIHBhdGguY2FsbChwcmludCwgXCJ0eXBlUGFyYW1ldGVyc1wiKSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICBjYXNlIFwiVFNJbnRlcmZhY2VCb2R5XCI6IHtcbiAgICAgICAgICAgIHZhciBsaW5lcyA9ICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiXFxuXCIpLmpvaW4ocGF0aC5tYXAocHJpbnQsIFwiYm9keVwiKS5tYXAoZnVuY3Rpb24gKGVsZW1lbnQpIHtcbiAgICAgICAgICAgICAgICBpZiAobGFzdE5vblNwYWNlQ2hhcmFjdGVyKGVsZW1lbnQpICE9PSBcIjtcIikge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudC5jb25jYXQoXCI7XCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudDtcbiAgICAgICAgICAgIH0pKTtcbiAgICAgICAgICAgIGlmIChsaW5lcy5pc0VtcHR5KCkpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCJ7fVwiLCBvcHRpb25zKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcIntcXG5cIiwgbGluZXMuaW5kZW50KG9wdGlvbnMudGFiV2lkdGgpLCBcIlxcbn1cIl0pO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJUU0ltcG9ydFR5cGVcIjpcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCJpbXBvcnQoXCIsIHBhdGguY2FsbChwcmludCwgXCJhcmd1bWVudFwiKSwgXCIpXCIpO1xuICAgICAgICAgICAgaWYgKG4ucXVhbGlmaWVyKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIi5cIiwgcGF0aC5jYWxsKHByaW50LCBcInF1YWxpZmllclwiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobi50eXBlUGFyYW1ldGVycykge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcInR5cGVQYXJhbWV0ZXJzXCIpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICAgICAgY2FzZSBcIlRTSW1wb3J0RXF1YWxzRGVjbGFyYXRpb25cIjpcbiAgICAgICAgICAgIGlmIChuLmlzRXhwb3J0KSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcImV4cG9ydCBcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiaW1wb3J0IFwiLCBwYXRoLmNhbGwocHJpbnQsIFwiaWRcIiksIFwiID0gXCIsIHBhdGguY2FsbChwcmludCwgXCJtb2R1bGVSZWZlcmVuY2VcIikpO1xuICAgICAgICAgICAgcmV0dXJuIG1heWJlQWRkU2VtaWNvbG9uKCgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpKTtcbiAgICAgICAgY2FzZSBcIlRTRXh0ZXJuYWxNb2R1bGVSZWZlcmVuY2VcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcInJlcXVpcmUoXCIsIHBhdGguY2FsbChwcmludCwgXCJleHByZXNzaW9uXCIpLCBcIilcIl0pO1xuICAgICAgICBjYXNlIFwiVFNNb2R1bGVEZWNsYXJhdGlvblwiOiB7XG4gICAgICAgICAgICB2YXIgcGFyZW50ID0gcGF0aC5nZXRQYXJlbnROb2RlKCk7XG4gICAgICAgICAgICBpZiAocGFyZW50LnR5cGUgPT09IFwiVFNNb2R1bGVEZWNsYXJhdGlvblwiKSB7XG4gICAgICAgICAgICAgICAgcGFydHMucHVzaChcIi5cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBpZiAobi5kZWNsYXJlKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJkZWNsYXJlIFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCFuLmdsb2JhbCkge1xuICAgICAgICAgICAgICAgICAgICB2YXIgaXNFeHRlcm5hbCA9IG4uaWQudHlwZSA9PT0gXCJTdHJpbmdMaXRlcmFsXCIgfHxcbiAgICAgICAgICAgICAgICAgICAgICAgIChuLmlkLnR5cGUgPT09IFwiTGl0ZXJhbFwiICYmIHR5cGVvZiBuLmlkLnZhbHVlID09PSBcInN0cmluZ1wiKTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGlzRXh0ZXJuYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJtb2R1bGUgXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKG4ubG9jICYmIG4ubG9jLmxpbmVzICYmIG4uaWQubG9jKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YXIgcHJlZml4ID0gbi5sb2MubGluZXMuc2xpY2VTdHJpbmcobi5sb2Muc3RhcnQsIG4uaWQubG9jLnN0YXJ0KTtcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIFRoZXNlIGtleXdvcmRzIGFyZSBmdW5kYW1lbnRhbGx5IGFtYmlndW91cyBpbiB0aGVcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIEJhYnlsb24gcGFyc2VyLCBhbmQgbm90IHJlZmxlY3RlZCBpbiB0aGUgQVNULCBzb1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gdGhlIGJlc3Qgd2UgY2FuIGRvIGlzIHRvIG1hdGNoIHRoZSBvcmlnaW5hbCBjb2RlLFxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hlbiBwb3NzaWJsZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmVmaXguaW5kZXhPZihcIm1vZHVsZVwiKSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChcIm1vZHVsZSBcIik7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwibmFtZXNwYWNlIFwiKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJuYW1lc3BhY2UgXCIpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwiaWRcIikpO1xuICAgICAgICAgICAgaWYgKG4uYm9keSkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCIgXCIpO1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcImJvZHlcIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJUU01vZHVsZUJsb2NrXCI6IHtcbiAgICAgICAgICAgIHZhciBuYWtlZCA9IHBhdGguY2FsbChmdW5jdGlvbiAoYm9keVBhdGgpIHsgcmV0dXJuIHByaW50U3RhdGVtZW50U2VxdWVuY2UoYm9keVBhdGgsIG9wdGlvbnMsIHByaW50KTsgfSwgXCJib2R5XCIpO1xuICAgICAgICAgICAgaWYgKG5ha2VkLmlzRW1wdHkoKSkge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJ7fVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJ7XFxuXCIsIG5ha2VkLmluZGVudChvcHRpb25zLnRhYldpZHRoKSwgXCJcXG59XCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgXCJUU0luc3RhbnRpYXRpb25FeHByZXNzaW9uXCI6IHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2gocGF0aC5jYWxsKHByaW50LCBcImV4cHJlc3Npb25cIiksIHBhdGguY2FsbChwcmludCwgXCJ0eXBlUGFyYW1ldGVyc1wiKSk7XG4gICAgICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2JhYmVsL2JhYmVsL3B1bGwvMTAxNDhcbiAgICAgICAgY2FzZSBcIlY4SW50cmluc2ljSWRlbnRpZmllclwiOlxuICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1wiJVwiLCBwYXRoLmNhbGwocHJpbnQsIFwibmFtZVwiKV0pO1xuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYmFiZWwvYmFiZWwvcHVsbC8xMzE5MVxuICAgICAgICBjYXNlIFwiVG9waWNSZWZlcmVuY2VcIjpcbiAgICAgICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIiNcIik7XG4gICAgICAgIC8vIFVuaGFuZGxlZCB0eXBlcyBiZWxvdy4gSWYgZW5jb3VudGVyZWQsIG5vZGVzIG9mIHRoZXNlIHR5cGVzIHNob3VsZFxuICAgICAgICAvLyBiZSBlaXRoZXIgbGVmdCBhbG9uZSBvciBkZXN1Z2FyZWQgaW50byBBU1QgdHlwZXMgdGhhdCBhcmUgZnVsbHlcbiAgICAgICAgLy8gc3VwcG9ydGVkIGJ5IHRoZSBwcmV0dHktcHJpbnRlci5cbiAgICAgICAgY2FzZSBcIkNsYXNzSGVyaXRhZ2VcIjogLy8gVE9ET1xuICAgICAgICBjYXNlIFwiQ29tcHJlaGVuc2lvbkJsb2NrXCI6IC8vIFRPRE9cbiAgICAgICAgY2FzZSBcIkNvbXByZWhlbnNpb25FeHByZXNzaW9uXCI6IC8vIFRPRE9cbiAgICAgICAgY2FzZSBcIkdsb2JcIjogLy8gVE9ET1xuICAgICAgICBjYXNlIFwiR2VuZXJhdG9yRXhwcmVzc2lvblwiOiAvLyBUT0RPXG4gICAgICAgIGNhc2UgXCJMZXRTdGF0ZW1lbnRcIjogLy8gVE9ET1xuICAgICAgICBjYXNlIFwiTGV0RXhwcmVzc2lvblwiOiAvLyBUT0RPXG4gICAgICAgIGNhc2UgXCJHcmFwaEV4cHJlc3Npb25cIjogLy8gVE9ET1xuICAgICAgICBjYXNlIFwiR3JhcGhJbmRleEV4cHJlc3Npb25cIjogLy8gVE9ET1xuICAgICAgICBjYXNlIFwiWE1MRGVmYXVsdERlY2xhcmF0aW9uXCI6XG4gICAgICAgIGNhc2UgXCJYTUxBbnlOYW1lXCI6XG4gICAgICAgIGNhc2UgXCJYTUxRdWFsaWZpZWRJZGVudGlmaWVyXCI6XG4gICAgICAgIGNhc2UgXCJYTUxGdW5jdGlvblF1YWxpZmllZElkZW50aWZpZXJcIjpcbiAgICAgICAgY2FzZSBcIlhNTEF0dHJpYnV0ZVNlbGVjdG9yXCI6XG4gICAgICAgIGNhc2UgXCJYTUxGaWx0ZXJFeHByZXNzaW9uXCI6XG4gICAgICAgIGNhc2UgXCJYTUxcIjpcbiAgICAgICAgY2FzZSBcIlhNTEVsZW1lbnRcIjpcbiAgICAgICAgY2FzZSBcIlhNTExpc3RcIjpcbiAgICAgICAgY2FzZSBcIlhNTEVzY2FwZVwiOlxuICAgICAgICBjYXNlIFwiWE1MVGV4dFwiOlxuICAgICAgICBjYXNlIFwiWE1MU3RhcnRUYWdcIjpcbiAgICAgICAgY2FzZSBcIlhNTEVuZFRhZ1wiOlxuICAgICAgICBjYXNlIFwiWE1MUG9pbnRUYWdcIjpcbiAgICAgICAgY2FzZSBcIlhNTE5hbWVcIjpcbiAgICAgICAgY2FzZSBcIlhNTEF0dHJpYnV0ZVwiOlxuICAgICAgICBjYXNlIFwiWE1MQ2RhdGFcIjpcbiAgICAgICAgY2FzZSBcIlhNTENvbW1lbnRcIjpcbiAgICAgICAgY2FzZSBcIlhNTFByb2Nlc3NpbmdJbnN0cnVjdGlvblwiOlxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgZGVidWdnZXI7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1bmtub3duIHR5cGU6IFwiICsgSlNPTi5zdHJpbmdpZnkobi50eXBlKSk7XG4gICAgfVxufVxuZnVuY3Rpb24gcHJpbnREZWNvcmF0b3JzKHBhdGgsIHByaW50UGF0aCkge1xuICAgIHZhciBwYXJ0cyA9IFtdO1xuICAgIHZhciBub2RlID0gcGF0aC5nZXRWYWx1ZSgpO1xuICAgIGlmIChub2RlLmRlY29yYXRvcnMgJiZcbiAgICAgICAgbm9kZS5kZWNvcmF0b3JzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgLy8gSWYgdGhlIHBhcmVudCBub2RlIGlzIGFuIGV4cG9ydCBkZWNsYXJhdGlvbiwgaXQgd2lsbCBiZVxuICAgICAgICAvLyByZXNwb25zaWJsZSBmb3IgcHJpbnRpbmcgbm9kZS5kZWNvcmF0b3JzLlxuICAgICAgICAhdXRpbC5nZXRQYXJlbnRFeHBvcnREZWNsYXJhdGlvbihwYXRoKSkge1xuICAgICAgICBwYXRoLmVhY2goZnVuY3Rpb24gKGRlY29yYXRvclBhdGgpIHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2gocHJpbnRQYXRoKGRlY29yYXRvclBhdGgpLCBcIlxcblwiKTtcbiAgICAgICAgfSwgXCJkZWNvcmF0b3JzXCIpO1xuICAgIH1cbiAgICBlbHNlIGlmICh1dGlsLmlzRXhwb3J0RGVjbGFyYXRpb24obm9kZSkgJiZcbiAgICAgICAgbm9kZS5kZWNsYXJhdGlvbiAmJlxuICAgICAgICBub2RlLmRlY2xhcmF0aW9uLmRlY29yYXRvcnMpIHtcbiAgICAgICAgLy8gRXhwb3J0IGRlY2xhcmF0aW9ucyBhcmUgcmVzcG9uc2libGUgZm9yIHByaW50aW5nIGFueSBkZWNvcmF0b3JzXG4gICAgICAgIC8vIHRoYXQgbG9naWNhbGx5IGFwcGx5IHRvIG5vZGUuZGVjbGFyYXRpb24uXG4gICAgICAgIHBhdGguZWFjaChmdW5jdGlvbiAoZGVjb3JhdG9yUGF0aCkge1xuICAgICAgICAgICAgcGFydHMucHVzaChwcmludFBhdGgoZGVjb3JhdG9yUGF0aCksIFwiXFxuXCIpO1xuICAgICAgICB9LCBcImRlY2xhcmF0aW9uXCIsIFwiZGVjb3JhdG9yc1wiKTtcbiAgICB9XG4gICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xufVxuZnVuY3Rpb24gcHJpbnRTdGF0ZW1lbnRTZXF1ZW5jZShwYXRoLCBvcHRpb25zLCBwcmludCkge1xuICAgIHZhciBmaWx0ZXJlZCA9IFtdO1xuICAgIHZhciBzYXdDb21tZW50ID0gZmFsc2U7XG4gICAgdmFyIHNhd1N0YXRlbWVudCA9IGZhbHNlO1xuICAgIHBhdGguZWFjaChmdW5jdGlvbiAoc3RtdFBhdGgpIHtcbiAgICAgICAgdmFyIHN0bXQgPSBzdG10UGF0aC5nZXRWYWx1ZSgpO1xuICAgICAgICAvLyBKdXN0IGluIGNhc2UgdGhlIEFTVCBoYXMgYmVlbiBtb2RpZmllZCB0byBjb250YWluIGZhbHN5XG4gICAgICAgIC8vIFwic3RhdGVtZW50cyxcIiBpdCdzIHNhZmVyIHNpbXBseSB0byBza2lwIHRoZW0uXG4gICAgICAgIGlmICghc3RtdCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIC8vIFNraXAgcHJpbnRpbmcgRW1wdHlTdGF0ZW1lbnQgbm9kZXMgdG8gYXZvaWQgbGVhdmluZyBzdHJheVxuICAgICAgICAvLyBzZW1pY29sb25zIGx5aW5nIGFyb3VuZC5cbiAgICAgICAgaWYgKHN0bXQudHlwZSA9PT0gXCJFbXB0eVN0YXRlbWVudFwiICYmXG4gICAgICAgICAgICAhKHN0bXQuY29tbWVudHMgJiYgc3RtdC5jb21tZW50cy5sZW5ndGggPiAwKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChuYW1lZFR5cGVzLkNvbW1lbnQuY2hlY2soc3RtdCkpIHtcbiAgICAgICAgICAgIC8vIFRoZSBwcmV0dHkgcHJpbnRlciBhbGxvd3MgYSBkYW5nbGluZyBDb21tZW50IG5vZGUgdG8gYWN0IGFzXG4gICAgICAgICAgICAvLyBhIFN0YXRlbWVudCB3aGVuIHRoZSBDb21tZW50IGNhbid0IGJlIGF0dGFjaGVkIHRvIGFueSBvdGhlclxuICAgICAgICAgICAgLy8gbm9uLUNvbW1lbnQgbm9kZSBpbiB0aGUgdHJlZS5cbiAgICAgICAgICAgIHNhd0NvbW1lbnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKG5hbWVkVHlwZXMuU3RhdGVtZW50LmNoZWNrKHN0bXQpKSB7XG4gICAgICAgICAgICBzYXdTdGF0ZW1lbnQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gV2hlbiB0aGUgcHJldHR5IHByaW50ZXIgZW5jb3VudGVycyBhIHN0cmluZyBpbnN0ZWFkIG9mIGFuXG4gICAgICAgICAgICAvLyBBU1Qgbm9kZSwgaXQganVzdCBwcmludHMgdGhlIHN0cmluZy4gVGhpcyBiZWhhdmlvciBjYW4gYmVcbiAgICAgICAgICAgIC8vIHVzZWZ1bCBmb3IgZmluZS1ncmFpbmVkIGZvcm1hdHRpbmcgZGVjaXNpb25zIGxpa2UgaW5zZXJ0aW5nXG4gICAgICAgICAgICAvLyBibGFuayBsaW5lcy5cbiAgICAgICAgICAgIGlzU3RyaW5nLmFzc2VydChzdG10KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBXZSBjYW4ndCBoYW5nIG9udG8gc3RtdFBhdGggb3V0c2lkZSBvZiB0aGlzIGZ1bmN0aW9uLCBiZWNhdXNlXG4gICAgICAgIC8vIGl0J3MganVzdCBhIHJlZmVyZW5jZSB0byBhIG11dGFibGUgRmFzdFBhdGggb2JqZWN0LCBzbyB3ZSBoYXZlXG4gICAgICAgIC8vIHRvIGdvIGFoZWFkIGFuZCBwcmludCBpdCBoZXJlLlxuICAgICAgICBmaWx0ZXJlZC5wdXNoKHtcbiAgICAgICAgICAgIG5vZGU6IHN0bXQsXG4gICAgICAgICAgICBwcmludGVkOiBwcmludChzdG10UGF0aCksXG4gICAgICAgIH0pO1xuICAgIH0pO1xuICAgIGlmIChzYXdDb21tZW50KSB7XG4gICAgICAgICgwLCB0aW55X2ludmFyaWFudF8xLmRlZmF1bHQpKHNhd1N0YXRlbWVudCA9PT0gZmFsc2UsIFwiQ29tbWVudHMgbWF5IGFwcGVhciBhcyBzdGF0ZW1lbnRzIGluIG90aGVyd2lzZSBlbXB0eSBzdGF0ZW1lbnQgXCIgK1xuICAgICAgICAgICAgXCJsaXN0cywgYnV0IG1heSBub3QgY29leGlzdCB3aXRoIG5vbi1Db21tZW50IG5vZGVzLlwiKTtcbiAgICB9XG4gICAgdmFyIHByZXZUcmFpbGluZ1NwYWNlID0gbnVsbDtcbiAgICB2YXIgbGVuID0gZmlsdGVyZWQubGVuZ3RoO1xuICAgIHZhciBwYXJ0cyA9IFtdO1xuICAgIGZpbHRlcmVkLmZvckVhY2goZnVuY3Rpb24gKGluZm8sIGkpIHtcbiAgICAgICAgdmFyIHByaW50ZWQgPSBpbmZvLnByaW50ZWQ7XG4gICAgICAgIHZhciBzdG10ID0gaW5mby5ub2RlO1xuICAgICAgICB2YXIgbXVsdGlMaW5lID0gcHJpbnRlZC5sZW5ndGggPiAxO1xuICAgICAgICB2YXIgbm90Rmlyc3QgPSBpID4gMDtcbiAgICAgICAgdmFyIG5vdExhc3QgPSBpIDwgbGVuIC0gMTtcbiAgICAgICAgdmFyIGxlYWRpbmdTcGFjZTtcbiAgICAgICAgdmFyIHRyYWlsaW5nU3BhY2U7XG4gICAgICAgIHZhciBsaW5lcyA9IHN0bXQgJiYgc3RtdC5sb2MgJiYgc3RtdC5sb2MubGluZXM7XG4gICAgICAgIHZhciB0cnVlTG9jID0gbGluZXMgJiYgb3B0aW9ucy5yZXVzZVdoaXRlc3BhY2UgJiYgdXRpbC5nZXRUcnVlTG9jKHN0bXQsIGxpbmVzKTtcbiAgICAgICAgaWYgKG5vdEZpcnN0KSB7XG4gICAgICAgICAgICBpZiAodHJ1ZUxvYykge1xuICAgICAgICAgICAgICAgIHZhciBiZWZvcmVTdGFydCA9IGxpbmVzLnNraXBTcGFjZXModHJ1ZUxvYy5zdGFydCwgdHJ1ZSk7XG4gICAgICAgICAgICAgICAgdmFyIGJlZm9yZVN0YXJ0TGluZSA9IGJlZm9yZVN0YXJ0ID8gYmVmb3JlU3RhcnQubGluZSA6IDE7XG4gICAgICAgICAgICAgICAgdmFyIGxlYWRpbmdHYXAgPSB0cnVlTG9jLnN0YXJ0LmxpbmUgLSBiZWZvcmVTdGFydExpbmU7XG4gICAgICAgICAgICAgICAgbGVhZGluZ1NwYWNlID0gQXJyYXkobGVhZGluZ0dhcCArIDEpLmpvaW4oXCJcXG5cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZWFkaW5nU3BhY2UgPSBtdWx0aUxpbmUgPyBcIlxcblxcblwiIDogXCJcXG5cIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIGxlYWRpbmdTcGFjZSA9IFwiXCI7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vdExhc3QpIHtcbiAgICAgICAgICAgIGlmICh0cnVlTG9jKSB7XG4gICAgICAgICAgICAgICAgdmFyIGFmdGVyRW5kID0gbGluZXMuc2tpcFNwYWNlcyh0cnVlTG9jLmVuZCk7XG4gICAgICAgICAgICAgICAgdmFyIGFmdGVyRW5kTGluZSA9IGFmdGVyRW5kID8gYWZ0ZXJFbmQubGluZSA6IGxpbmVzLmxlbmd0aDtcbiAgICAgICAgICAgICAgICB2YXIgdHJhaWxpbmdHYXAgPSBhZnRlckVuZExpbmUgLSB0cnVlTG9jLmVuZC5saW5lO1xuICAgICAgICAgICAgICAgIHRyYWlsaW5nU3BhY2UgPSBBcnJheSh0cmFpbGluZ0dhcCArIDEpLmpvaW4oXCJcXG5cIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICB0cmFpbGluZ1NwYWNlID0gbXVsdGlMaW5lID8gXCJcXG5cXG5cIiA6IFwiXFxuXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0cmFpbGluZ1NwYWNlID0gXCJcIjtcbiAgICAgICAgfVxuICAgICAgICBwYXJ0cy5wdXNoKG1heFNwYWNlKHByZXZUcmFpbGluZ1NwYWNlLCBsZWFkaW5nU3BhY2UpLCBwcmludGVkKTtcbiAgICAgICAgaWYgKG5vdExhc3QpIHtcbiAgICAgICAgICAgIHByZXZUcmFpbGluZ1NwYWNlID0gdHJhaWxpbmdTcGFjZTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh0cmFpbGluZ1NwYWNlKSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKHRyYWlsaW5nU3BhY2UpO1xuICAgICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xufVxuZnVuY3Rpb24gbWF4U3BhY2UoczEsIHMyKSB7XG4gICAgaWYgKCFzMSAmJiAhczIpIHtcbiAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiXCIpO1xuICAgIH1cbiAgICBpZiAoIXMxKSB7XG4gICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShzMik7XG4gICAgfVxuICAgIGlmICghczIpIHtcbiAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKHMxKTtcbiAgICB9XG4gICAgdmFyIHNwYWNlTGluZXMxID0gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoczEpO1xuICAgIHZhciBzcGFjZUxpbmVzMiA9ICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKHMyKTtcbiAgICBpZiAoc3BhY2VMaW5lczIubGVuZ3RoID4gc3BhY2VMaW5lczEubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBzcGFjZUxpbmVzMjtcbiAgICB9XG4gICAgcmV0dXJuIHNwYWNlTGluZXMxO1xufVxuZnVuY3Rpb24gcHJpbnRDbGFzc01lbWJlck1vZGlmaWVycyhub2RlKSB7XG4gICAgdmFyIHBhcnRzID0gW107XG4gICAgaWYgKG5vZGUuZGVjbGFyZSkge1xuICAgICAgICBwYXJ0cy5wdXNoKFwiZGVjbGFyZSBcIik7XG4gICAgfVxuICAgIHZhciBhY2Nlc3MgPSBub2RlLmFjY2Vzc2liaWxpdHkgfHwgbm9kZS5hY2Nlc3M7XG4gICAgaWYgKHR5cGVvZiBhY2Nlc3MgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgcGFydHMucHVzaChhY2Nlc3MsIFwiIFwiKTtcbiAgICB9XG4gICAgaWYgKG5vZGUuc3RhdGljKSB7XG4gICAgICAgIHBhcnRzLnB1c2goXCJzdGF0aWMgXCIpO1xuICAgIH1cbiAgICBpZiAobm9kZS5vdmVycmlkZSkge1xuICAgICAgICBwYXJ0cy5wdXNoKFwib3ZlcnJpZGUgXCIpO1xuICAgIH1cbiAgICBpZiAobm9kZS5hYnN0cmFjdCkge1xuICAgICAgICBwYXJ0cy5wdXNoKFwiYWJzdHJhY3QgXCIpO1xuICAgIH1cbiAgICBpZiAobm9kZS5yZWFkb25seSkge1xuICAgICAgICBwYXJ0cy5wdXNoKFwicmVhZG9ubHkgXCIpO1xuICAgIH1cbiAgICByZXR1cm4gcGFydHM7XG59XG5mdW5jdGlvbiBwcmludE1ldGhvZChwYXRoLCBvcHRpb25zLCBwcmludCkge1xuICAgIHZhciBub2RlID0gcGF0aC5nZXROb2RlKCk7XG4gICAgdmFyIGtpbmQgPSBub2RlLmtpbmQ7XG4gICAgdmFyIHBhcnRzID0gW107XG4gICAgdmFyIG5vZGVWYWx1ZSA9IG5vZGUudmFsdWU7XG4gICAgaWYgKCFuYW1lZFR5cGVzLkZ1bmN0aW9uRXhwcmVzc2lvbi5jaGVjayhub2RlVmFsdWUpKSB7XG4gICAgICAgIG5vZGVWYWx1ZSA9IG5vZGU7XG4gICAgfVxuICAgIHBhcnRzLnB1c2guYXBwbHkocGFydHMsIHByaW50Q2xhc3NNZW1iZXJNb2RpZmllcnMobm9kZSkpO1xuICAgIGlmIChub2RlVmFsdWUuYXN5bmMpIHtcbiAgICAgICAgcGFydHMucHVzaChcImFzeW5jIFwiKTtcbiAgICB9XG4gICAgaWYgKG5vZGVWYWx1ZS5nZW5lcmF0b3IpIHtcbiAgICAgICAgcGFydHMucHVzaChcIipcIik7XG4gICAgfVxuICAgIGlmIChraW5kID09PSBcImdldFwiIHx8IGtpbmQgPT09IFwic2V0XCIpIHtcbiAgICAgICAgcGFydHMucHVzaChraW5kLCBcIiBcIik7XG4gICAgfVxuICAgIHZhciBrZXkgPSBwYXRoLmNhbGwocHJpbnQsIFwia2V5XCIpO1xuICAgIGlmIChub2RlLmNvbXB1dGVkKSB7XG4gICAgICAgIGtleSA9ICgwLCBsaW5lc18xLmNvbmNhdCkoW1wiW1wiLCBrZXksIFwiXVwiXSk7XG4gICAgfVxuICAgIHBhcnRzLnB1c2goa2V5KTtcbiAgICBpZiAobm9kZS5vcHRpb25hbCkge1xuICAgICAgICBwYXJ0cy5wdXNoKFwiP1wiKTtcbiAgICB9XG4gICAgaWYgKG5vZGUgPT09IG5vZGVWYWx1ZSkge1xuICAgICAgICBwYXJ0cy5wdXNoKHBhdGguY2FsbChwcmludCwgXCJ0eXBlUGFyYW1ldGVyc1wiKSwgXCIoXCIsIHByaW50RnVuY3Rpb25QYXJhbXMocGF0aCwgb3B0aW9ucywgcHJpbnQpLCBcIilcIiwgcGF0aC5jYWxsKHByaW50LCBcInJldHVyblR5cGVcIikpO1xuICAgICAgICBpZiAobm9kZS5ib2R5KSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiIFwiLCBwYXRoLmNhbGwocHJpbnQsIFwiYm9keVwiKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiO1wiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwidmFsdWVcIiwgXCJ0eXBlUGFyYW1ldGVyc1wiKSwgXCIoXCIsIHBhdGguY2FsbChmdW5jdGlvbiAodmFsdWVQYXRoKSB7IHJldHVybiBwcmludEZ1bmN0aW9uUGFyYW1zKHZhbHVlUGF0aCwgb3B0aW9ucywgcHJpbnQpOyB9LCBcInZhbHVlXCIpLCBcIilcIiwgcGF0aC5jYWxsKHByaW50LCBcInZhbHVlXCIsIFwicmV0dXJuVHlwZVwiKSk7XG4gICAgICAgIGlmIChub2RlVmFsdWUuYm9keSkge1xuICAgICAgICAgICAgcGFydHMucHVzaChcIiBcIiwgcGF0aC5jYWxsKHByaW50LCBcInZhbHVlXCIsIFwiYm9keVwiKSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiO1wiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG59XG5mdW5jdGlvbiBwcmludEFyZ3VtZW50c0xpc3QocGF0aCwgb3B0aW9ucywgcHJpbnQpIHtcbiAgICB2YXIgcHJpbnRlZCA9IHBhdGgubWFwKHByaW50LCBcImFyZ3VtZW50c1wiKTtcbiAgICB2YXIgdHJhaWxpbmdDb21tYSA9IHV0aWwuaXNUcmFpbGluZ0NvbW1hRW5hYmxlZChvcHRpb25zLCBcInBhcmFtZXRlcnNcIik7XG4gICAgdmFyIGpvaW5lZCA9ICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiLCBcIikuam9pbihwcmludGVkKTtcbiAgICBpZiAoam9pbmVkLmdldExpbmVMZW5ndGgoMSkgPiBvcHRpb25zLndyYXBDb2x1bW4pIHtcbiAgICAgICAgam9pbmVkID0gKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIsXFxuXCIpLmpvaW4ocHJpbnRlZCk7XG4gICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcbiAgICAgICAgICAgIFwiKFxcblwiLFxuICAgICAgICAgICAgam9pbmVkLmluZGVudChvcHRpb25zLnRhYldpZHRoKSxcbiAgICAgICAgICAgIHRyYWlsaW5nQ29tbWEgPyBcIixcXG4pXCIgOiBcIlxcbilcIixcbiAgICAgICAgXSk7XG4gICAgfVxuICAgIHJldHVybiAoMCwgbGluZXNfMS5jb25jYXQpKFtcIihcIiwgam9pbmVkLCBcIilcIl0pO1xufVxuZnVuY3Rpb24gcHJpbnRGdW5jdGlvblBhcmFtcyhwYXRoLCBvcHRpb25zLCBwcmludCkge1xuICAgIHZhciBmdW4gPSBwYXRoLmdldFZhbHVlKCk7XG4gICAgdmFyIHBhcmFtcztcbiAgICB2YXIgcHJpbnRlZCA9IFtdO1xuICAgIGlmIChmdW4ucGFyYW1zKSB7XG4gICAgICAgIHBhcmFtcyA9IGZ1bi5wYXJhbXM7XG4gICAgICAgIHByaW50ZWQgPSBwYXRoLm1hcChwcmludCwgXCJwYXJhbXNcIik7XG4gICAgfVxuICAgIGVsc2UgaWYgKGZ1bi5wYXJhbWV0ZXJzKSB7XG4gICAgICAgIHBhcmFtcyA9IGZ1bi5wYXJhbWV0ZXJzO1xuICAgICAgICBwcmludGVkID0gcGF0aC5tYXAocHJpbnQsIFwicGFyYW1ldGVyc1wiKTtcbiAgICB9XG4gICAgaWYgKGZ1bi5kZWZhdWx0cykge1xuICAgICAgICBwYXRoLmVhY2goZnVuY3Rpb24gKGRlZkV4cHJQYXRoKSB7XG4gICAgICAgICAgICB2YXIgaSA9IGRlZkV4cHJQYXRoLmdldE5hbWUoKTtcbiAgICAgICAgICAgIHZhciBwID0gcHJpbnRlZFtpXTtcbiAgICAgICAgICAgIGlmIChwICYmIGRlZkV4cHJQYXRoLmdldFZhbHVlKCkpIHtcbiAgICAgICAgICAgICAgICBwcmludGVkW2ldID0gKDAsIGxpbmVzXzEuY29uY2F0KShbcCwgXCIgPSBcIiwgcHJpbnQoZGVmRXhwclBhdGgpXSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIFwiZGVmYXVsdHNcIik7XG4gICAgfVxuICAgIGlmIChmdW4ucmVzdCkge1xuICAgICAgICBwcmludGVkLnB1c2goKDAsIGxpbmVzXzEuY29uY2F0KShbXCIuLi5cIiwgcGF0aC5jYWxsKHByaW50LCBcInJlc3RcIildKSk7XG4gICAgfVxuICAgIHZhciBqb2luZWQgPSAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIiwgXCIpLmpvaW4ocHJpbnRlZCk7XG4gICAgaWYgKGpvaW5lZC5sZW5ndGggPiAxIHx8IGpvaW5lZC5nZXRMaW5lTGVuZ3RoKDEpID4gb3B0aW9ucy53cmFwQ29sdW1uKSB7XG4gICAgICAgIGpvaW5lZCA9ICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiLFxcblwiKS5qb2luKHByaW50ZWQpO1xuICAgICAgICBpZiAodXRpbC5pc1RyYWlsaW5nQ29tbWFFbmFibGVkKG9wdGlvbnMsIFwicGFyYW1ldGVyc1wiKSAmJlxuICAgICAgICAgICAgIWZ1bi5yZXN0ICYmXG4gICAgICAgICAgICBwYXJhbXNbcGFyYW1zLmxlbmd0aCAtIDFdLnR5cGUgIT09IFwiUmVzdEVsZW1lbnRcIikge1xuICAgICAgICAgICAgam9pbmVkID0gKDAsIGxpbmVzXzEuY29uY2F0KShbam9pbmVkLCBcIixcXG5cIl0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgam9pbmVkID0gKDAsIGxpbmVzXzEuY29uY2F0KShbam9pbmVkLCBcIlxcblwiXSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1wiXFxuXCIsIGpvaW5lZC5pbmRlbnQob3B0aW9ucy50YWJXaWR0aCldKTtcbiAgICB9XG4gICAgcmV0dXJuIGpvaW5lZDtcbn1cbmZ1bmN0aW9uIG1heWJlUHJpbnRJbXBvcnRBc3NlcnRpb25zKHBhdGgsIG9wdGlvbnMsIHByaW50KSB7XG4gICAgdmFyIG4gPSBwYXRoLmdldFZhbHVlKCk7XG4gICAgaWYgKG4uYXNzZXJ0aW9ucyAmJiBuLmFzc2VydGlvbnMubGVuZ3RoID4gMCkge1xuICAgICAgICB2YXIgcGFydHMgPSBbXCIgYXNzZXJ0IHtcIl07XG4gICAgICAgIHZhciBwcmludGVkID0gcGF0aC5tYXAocHJpbnQsIFwiYXNzZXJ0aW9uc1wiKTtcbiAgICAgICAgdmFyIGZsYXQgPSAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIiwgXCIpLmpvaW4ocHJpbnRlZCk7XG4gICAgICAgIGlmIChmbGF0Lmxlbmd0aCA+IDEgfHwgZmxhdC5nZXRMaW5lTGVuZ3RoKDEpID4gb3B0aW9ucy53cmFwQ29sdW1uKSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKFwiXFxuXCIsICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiLFxcblwiKS5qb2luKHByaW50ZWQpLmluZGVudChvcHRpb25zLnRhYldpZHRoKSwgXCJcXG59XCIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcGFydHMucHVzaChcIiBcIiwgZmxhdCwgXCIgfVwiKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShwYXJ0cyk7XG4gICAgfVxuICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIlwiKTtcbn1cbmZ1bmN0aW9uIHByaW50RXhwb3J0RGVjbGFyYXRpb24ocGF0aCwgb3B0aW9ucywgcHJpbnQpIHtcbiAgICB2YXIgZGVjbCA9IHBhdGguZ2V0VmFsdWUoKTtcbiAgICB2YXIgcGFydHMgPSBbXCJleHBvcnQgXCJdO1xuICAgIGlmIChkZWNsLmV4cG9ydEtpbmQgJiYgZGVjbC5leHBvcnRLaW5kID09PSBcInR5cGVcIikge1xuICAgICAgICBpZiAoIWRlY2wuZGVjbGFyYXRpb24pIHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCJ0eXBlIFwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB2YXIgc2hvdWxkUHJpbnRTcGFjZXMgPSBvcHRpb25zLm9iamVjdEN1cmx5U3BhY2luZztcbiAgICBuYW1lZFR5cGVzLkRlY2xhcmF0aW9uLmFzc2VydChkZWNsKTtcbiAgICBpZiAoZGVjbFtcImRlZmF1bHRcIl0gfHwgZGVjbC50eXBlID09PSBcIkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblwiKSB7XG4gICAgICAgIHBhcnRzLnB1c2goXCJkZWZhdWx0IFwiKTtcbiAgICB9XG4gICAgaWYgKGRlY2wuZGVjbGFyYXRpb24pIHtcbiAgICAgICAgcGFydHMucHVzaChwYXRoLmNhbGwocHJpbnQsIFwiZGVjbGFyYXRpb25cIikpO1xuICAgIH1cbiAgICBlbHNlIGlmIChkZWNsLnNwZWNpZmllcnMpIHtcbiAgICAgICAgaWYgKGRlY2wuc3BlY2lmaWVycy5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgICAgIGRlY2wuc3BlY2lmaWVyc1swXS50eXBlID09PSBcIkV4cG9ydEJhdGNoU3BlY2lmaWVyXCIpIHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCIqXCIpO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGRlY2wuc3BlY2lmaWVycy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCJ7fVwiKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChkZWNsLnNwZWNpZmllcnNbMF0udHlwZSA9PT0gXCJFeHBvcnREZWZhdWx0U3BlY2lmaWVyXCIgfHxcbiAgICAgICAgICAgIGRlY2wuc3BlY2lmaWVyc1swXS50eXBlID09PSBcIkV4cG9ydE5hbWVzcGFjZVNwZWNpZmllclwiKSB7XG4gICAgICAgICAgICB2YXIgdW5icmFjZWRTcGVjaWZpZXJzXzIgPSBbXTtcbiAgICAgICAgICAgIHZhciBicmFjZWRTcGVjaWZpZXJzXzIgPSBbXTtcbiAgICAgICAgICAgIHBhdGguZWFjaChmdW5jdGlvbiAoc3BlY2lmaWVyUGF0aCkge1xuICAgICAgICAgICAgICAgIHZhciBzcGVjID0gc3BlY2lmaWVyUGF0aC5nZXRWYWx1ZSgpO1xuICAgICAgICAgICAgICAgIGlmIChzcGVjLnR5cGUgPT09IFwiRXhwb3J0RGVmYXVsdFNwZWNpZmllclwiIHx8XG4gICAgICAgICAgICAgICAgICAgIHNwZWMudHlwZSA9PT0gXCJFeHBvcnROYW1lc3BhY2VTcGVjaWZpZXJcIikge1xuICAgICAgICAgICAgICAgICAgICB1bmJyYWNlZFNwZWNpZmllcnNfMi5wdXNoKHByaW50KHNwZWNpZmllclBhdGgpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGJyYWNlZFNwZWNpZmllcnNfMi5wdXNoKHByaW50KHNwZWNpZmllclBhdGgpKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCBcInNwZWNpZmllcnNcIik7XG4gICAgICAgICAgICB1bmJyYWNlZFNwZWNpZmllcnNfMi5mb3JFYWNoKGZ1bmN0aW9uIChsaW5lcywgaSkge1xuICAgICAgICAgICAgICAgIGlmIChpID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwiLCBcIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHBhcnRzLnB1c2gobGluZXMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAoYnJhY2VkU3BlY2lmaWVyc18yLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICB2YXIgbGluZXNfMiA9ICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiLCBcIikuam9pbihicmFjZWRTcGVjaWZpZXJzXzIpO1xuICAgICAgICAgICAgICAgIGlmIChsaW5lc18yLmdldExpbmVMZW5ndGgoMSkgPiBvcHRpb25zLndyYXBDb2x1bW4pIHtcbiAgICAgICAgICAgICAgICAgICAgbGluZXNfMiA9ICgwLCBsaW5lc18xLmNvbmNhdCkoW1xuICAgICAgICAgICAgICAgICAgICAgICAgKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIsXFxuXCIpLmpvaW4oYnJhY2VkU3BlY2lmaWVyc18yKS5pbmRlbnQob3B0aW9ucy50YWJXaWR0aCksXG4gICAgICAgICAgICAgICAgICAgICAgICBcIixcIixcbiAgICAgICAgICAgICAgICAgICAgXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh1bmJyYWNlZFNwZWNpZmllcnNfMi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCIsIFwiKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGxpbmVzXzIubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgICAgICAgICBwYXJ0cy5wdXNoKFwie1xcblwiLCBsaW5lc18yLCBcIlxcbn1cIik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKG9wdGlvbnMub2JqZWN0Q3VybHlTcGFjaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhcnRzLnB1c2goXCJ7IFwiLCBsaW5lc18yLCBcIiB9XCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcGFydHMucHVzaChcIntcIiwgbGluZXNfMiwgXCJ9XCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goc2hvdWxkUHJpbnRTcGFjZXMgPyBcInsgXCIgOiBcIntcIiwgKDAsIGxpbmVzXzEuZnJvbVN0cmluZykoXCIsIFwiKS5qb2luKHBhdGgubWFwKHByaW50LCBcInNwZWNpZmllcnNcIikpLCBzaG91bGRQcmludFNwYWNlcyA/IFwiIH1cIiA6IFwifVwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZGVjbC5zb3VyY2UpIHtcbiAgICAgICAgICAgIHBhcnRzLnB1c2goXCIgZnJvbSBcIiwgcGF0aC5jYWxsKHByaW50LCBcInNvdXJjZVwiKSwgbWF5YmVQcmludEltcG9ydEFzc2VydGlvbnMocGF0aCwgb3B0aW9ucywgcHJpbnQpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB2YXIgbGluZXMgPSAoMCwgbGluZXNfMS5jb25jYXQpKHBhcnRzKTtcbiAgICBpZiAobGFzdE5vblNwYWNlQ2hhcmFjdGVyKGxpbmVzKSAhPT0gXCI7XCIgJiZcbiAgICAgICAgIShkZWNsLmRlY2xhcmF0aW9uICYmXG4gICAgICAgICAgICAoZGVjbC5kZWNsYXJhdGlvbi50eXBlID09PSBcIkZ1bmN0aW9uRGVjbGFyYXRpb25cIiB8fFxuICAgICAgICAgICAgICAgIGRlY2wuZGVjbGFyYXRpb24udHlwZSA9PT0gXCJDbGFzc0RlY2xhcmF0aW9uXCIgfHxcbiAgICAgICAgICAgICAgICBkZWNsLmRlY2xhcmF0aW9uLnR5cGUgPT09IFwiVFNNb2R1bGVEZWNsYXJhdGlvblwiIHx8XG4gICAgICAgICAgICAgICAgZGVjbC5kZWNsYXJhdGlvbi50eXBlID09PSBcIlRTSW50ZXJmYWNlRGVjbGFyYXRpb25cIiB8fFxuICAgICAgICAgICAgICAgIGRlY2wuZGVjbGFyYXRpb24udHlwZSA9PT0gXCJUU0VudW1EZWNsYXJhdGlvblwiKSkpIHtcbiAgICAgICAgbGluZXMgPSAoMCwgbGluZXNfMS5jb25jYXQpKFtsaW5lcywgXCI7XCJdKTtcbiAgICB9XG4gICAgcmV0dXJuIGxpbmVzO1xufVxuZnVuY3Rpb24gcHJpbnRGbG93RGVjbGFyYXRpb24ocGF0aCwgcGFydHMpIHtcbiAgICB2YXIgcGFyZW50RXhwb3J0RGVjbCA9IHV0aWwuZ2V0UGFyZW50RXhwb3J0RGVjbGFyYXRpb24ocGF0aCk7XG4gICAgaWYgKHBhcmVudEV4cG9ydERlY2wpIHtcbiAgICAgICAgKDAsIHRpbnlfaW52YXJpYW50XzEuZGVmYXVsdCkocGFyZW50RXhwb3J0RGVjbC50eXBlID09PSBcIkRlY2xhcmVFeHBvcnREZWNsYXJhdGlvblwiKTtcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICAgIC8vIElmIHRoZSBwYXJlbnQgbm9kZSBoYXMgdHlwZSBEZWNsYXJlRXhwb3J0RGVjbGFyYXRpb24sIHRoZW4gaXRcbiAgICAgICAgLy8gd2lsbCBiZSByZXNwb25zaWJsZSBmb3IgcHJpbnRpbmcgdGhlIFwiZGVjbGFyZVwiIHRva2VuLiBPdGhlcndpc2VcbiAgICAgICAgLy8gaXQgbmVlZHMgdG8gYmUgcHJpbnRlZCB3aXRoIHRoaXMgbm9uLWV4cG9ydGVkIGRlY2xhcmF0aW9uIG5vZGUuXG4gICAgICAgIHBhcnRzLnVuc2hpZnQoXCJkZWNsYXJlIFwiKTtcbiAgICB9XG4gICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkocGFydHMpO1xufVxuZnVuY3Rpb24gcHJpbnRWYXJpYW5jZShwYXRoLCBwcmludCkge1xuICAgIHJldHVybiBwYXRoLmNhbGwoZnVuY3Rpb24gKHZhcmlhbmNlUGF0aCkge1xuICAgICAgICB2YXIgdmFsdWUgPSB2YXJpYW5jZVBhdGguZ2V0VmFsdWUoKTtcbiAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IFwicGx1c1wiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiK1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gXCJtaW51c1wiKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmZyb21TdHJpbmcpKFwiLVwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBwcmludCh2YXJpYW5jZVBhdGgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAoMCwgbGluZXNfMS5mcm9tU3RyaW5nKShcIlwiKTtcbiAgICB9LCBcInZhcmlhbmNlXCIpO1xufVxuZnVuY3Rpb24gYWRqdXN0Q2xhdXNlKGNsYXVzZSwgb3B0aW9ucykge1xuICAgIGlmIChjbGF1c2UubGVuZ3RoID4gMSlcbiAgICAgICAgcmV0dXJuICgwLCBsaW5lc18xLmNvbmNhdCkoW1wiIFwiLCBjbGF1c2VdKTtcbiAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbXCJcXG5cIiwgbWF5YmVBZGRTZW1pY29sb24oY2xhdXNlKS5pbmRlbnQob3B0aW9ucy50YWJXaWR0aCldKTtcbn1cbmZ1bmN0aW9uIGxhc3ROb25TcGFjZUNoYXJhY3RlcihsaW5lcykge1xuICAgIHZhciBwb3MgPSBsaW5lcy5sYXN0UG9zKCk7XG4gICAgZG8ge1xuICAgICAgICB2YXIgY2ggPSBsaW5lcy5jaGFyQXQocG9zKTtcbiAgICAgICAgaWYgKC9cXFMvLnRlc3QoY2gpKVxuICAgICAgICAgICAgcmV0dXJuIGNoO1xuICAgIH0gd2hpbGUgKGxpbmVzLnByZXZQb3MocG9zKSk7XG59XG5mdW5jdGlvbiBlbmRzV2l0aEJyYWNlKGxpbmVzKSB7XG4gICAgcmV0dXJuIGxhc3ROb25TcGFjZUNoYXJhY3RlcihsaW5lcykgPT09IFwifVwiO1xufVxuZnVuY3Rpb24gc3dhcFF1b3RlcyhzdHIpIHtcbiAgICByZXR1cm4gc3RyLnJlcGxhY2UoL1snXCJdL2csIGZ1bmN0aW9uIChtKSB7IHJldHVybiAobSA9PT0gJ1wiJyA/IFwiJ1wiIDogJ1wiJyk7IH0pO1xufVxuZnVuY3Rpb24gZ2V0UG9zc2libGVSYXcobm9kZSkge1xuICAgIHZhciB2YWx1ZSA9IHR5cGVzLmdldEZpZWxkVmFsdWUobm9kZSwgXCJ2YWx1ZVwiKTtcbiAgICB2YXIgZXh0cmEgPSB0eXBlcy5nZXRGaWVsZFZhbHVlKG5vZGUsIFwiZXh0cmFcIik7XG4gICAgaWYgKGV4dHJhICYmIHR5cGVvZiBleHRyYS5yYXcgPT09IFwic3RyaW5nXCIgJiYgdmFsdWUgPT0gZXh0cmEucmF3VmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIGV4dHJhLnJhdztcbiAgICB9XG4gICAgaWYgKG5vZGUudHlwZSA9PT0gXCJMaXRlcmFsXCIpIHtcbiAgICAgICAgdmFyIHJhdyA9IG5vZGUucmF3O1xuICAgICAgICBpZiAodHlwZW9mIHJhdyA9PT0gXCJzdHJpbmdcIiAmJiB2YWx1ZSA9PSByYXcpIHtcbiAgICAgICAgICAgIHJldHVybiByYXc7XG4gICAgICAgIH1cbiAgICB9XG59XG5mdW5jdGlvbiBqc1NhZmVTdHJpbmdpZnkoc3RyKSB7XG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KHN0cikucmVwbGFjZSgvW1xcdTIwMjhcXHUyMDI5XS9nLCBmdW5jdGlvbiAobSkge1xuICAgICAgICByZXR1cm4gXCJcXFxcdVwiICsgbS5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KTtcbiAgICB9KTtcbn1cbmZ1bmN0aW9uIG5vZGVTdHIoc3RyLCBvcHRpb25zKSB7XG4gICAgaXNTdHJpbmcuYXNzZXJ0KHN0cik7XG4gICAgc3dpdGNoIChvcHRpb25zLnF1b3RlKSB7XG4gICAgICAgIGNhc2UgXCJhdXRvXCI6IHtcbiAgICAgICAgICAgIHZhciBkb3VibGUgPSBqc1NhZmVTdHJpbmdpZnkoc3RyKTtcbiAgICAgICAgICAgIHZhciBzaW5nbGUgPSBzd2FwUXVvdGVzKGpzU2FmZVN0cmluZ2lmeShzd2FwUXVvdGVzKHN0cikpKTtcbiAgICAgICAgICAgIHJldHVybiBkb3VibGUubGVuZ3RoID4gc2luZ2xlLmxlbmd0aCA/IHNpbmdsZSA6IGRvdWJsZTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwic2luZ2xlXCI6XG4gICAgICAgICAgICByZXR1cm4gc3dhcFF1b3Rlcyhqc1NhZmVTdHJpbmdpZnkoc3dhcFF1b3RlcyhzdHIpKSk7XG4gICAgICAgIGNhc2UgXCJkb3VibGVcIjpcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHJldHVybiBqc1NhZmVTdHJpbmdpZnkoc3RyKTtcbiAgICB9XG59XG5mdW5jdGlvbiBtYXliZUFkZFNlbWljb2xvbihsaW5lcykge1xuICAgIHZhciBlb2MgPSBsYXN0Tm9uU3BhY2VDaGFyYWN0ZXIobGluZXMpO1xuICAgIGlmICghZW9jIHx8IFwiXFxufTtcIi5pbmRleE9mKGVvYykgPCAwKVxuICAgICAgICByZXR1cm4gKDAsIGxpbmVzXzEuY29uY2F0KShbbGluZXMsIFwiO1wiXSk7XG4gICAgcmV0dXJuIGxpbmVzO1xufVxuIiwgIlwidXNlIHN0cmljdFwiO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuZXhwb3J0cy5ydW4gPSBleHBvcnRzLnByZXR0eVByaW50ID0gZXhwb3J0cy5wcmludCA9IGV4cG9ydHMudmlzaXQgPSBleHBvcnRzLnR5cGVzID0gZXhwb3J0cy5wYXJzZSA9IHZvaWQgMDtcbnZhciB0c2xpYl8xID0gcmVxdWlyZShcInRzbGliXCIpO1xudmFyIGZzXzEgPSB0c2xpYl8xLl9faW1wb3J0RGVmYXVsdChyZXF1aXJlKFwiZnNcIikpO1xudmFyIHR5cGVzID0gdHNsaWJfMS5fX2ltcG9ydFN0YXIocmVxdWlyZShcImFzdC10eXBlc1wiKSk7XG5leHBvcnRzLnR5cGVzID0gdHlwZXM7XG52YXIgcGFyc2VyXzEgPSByZXF1aXJlKFwiLi9saWIvcGFyc2VyXCIpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwicGFyc2VcIiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBnZXQ6IGZ1bmN0aW9uICgpIHsgcmV0dXJuIHBhcnNlcl8xLnBhcnNlOyB9IH0pO1xudmFyIHByaW50ZXJfMSA9IHJlcXVpcmUoXCIuL2xpYi9wcmludGVyXCIpO1xuLyoqXG4gKiBUcmF2ZXJzZSBhbmQgcG90ZW50aWFsbHkgbW9kaWZ5IGFuIGFic3RyYWN0IHN5bnRheCB0cmVlIHVzaW5nIGFcbiAqIGNvbnZlbmllbnQgdmlzaXRvciBzeW50YXg6XG4gKlxuICogICByZWNhc3QudmlzaXQoYXN0LCB7XG4gKiAgICAgbmFtZXM6IFtdLFxuICogICAgIHZpc2l0SWRlbnRpZmllcjogZnVuY3Rpb24ocGF0aCkge1xuICogICAgICAgdmFyIG5vZGUgPSBwYXRoLnZhbHVlO1xuICogICAgICAgdGhpcy52aXNpdG9yLm5hbWVzLnB1c2gobm9kZS5uYW1lKTtcbiAqICAgICAgIHRoaXMudHJhdmVyc2UocGF0aCk7XG4gKiAgICAgfVxuICogICB9KTtcbiAqL1xudmFyIGFzdF90eXBlc18xID0gcmVxdWlyZShcImFzdC10eXBlc1wiKTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcInZpc2l0XCIsIHsgZW51bWVyYWJsZTogdHJ1ZSwgZ2V0OiBmdW5jdGlvbiAoKSB7IHJldHVybiBhc3RfdHlwZXNfMS52aXNpdDsgfSB9KTtcbi8qKlxuICogUmVwcmludCBhIG1vZGlmaWVkIHN5bnRheCB0cmVlIHVzaW5nIGFzIG11Y2ggb2YgdGhlIG9yaWdpbmFsIHNvdXJjZVxuICogY29kZSBhcyBwb3NzaWJsZS5cbiAqL1xuZnVuY3Rpb24gcHJpbnQobm9kZSwgb3B0aW9ucykge1xuICAgIHJldHVybiBuZXcgcHJpbnRlcl8xLlByaW50ZXIob3B0aW9ucykucHJpbnQobm9kZSk7XG59XG5leHBvcnRzLnByaW50ID0gcHJpbnQ7XG4vKipcbiAqIFByaW50IHdpdGhvdXQgYXR0ZW1wdGluZyB0byByZXVzZSBhbnkgb3JpZ2luYWwgc291cmNlIGNvZGUuXG4gKi9cbmZ1bmN0aW9uIHByZXR0eVByaW50KG5vZGUsIG9wdGlvbnMpIHtcbiAgICByZXR1cm4gbmV3IHByaW50ZXJfMS5QcmludGVyKG9wdGlvbnMpLnByaW50R2VuZXJpY2FsbHkobm9kZSk7XG59XG5leHBvcnRzLnByZXR0eVByaW50ID0gcHJldHR5UHJpbnQ7XG4vKipcbiAqIENvbnZlbmllbnQgY29tbWFuZC1saW5lIGludGVyZmFjZSAoc2VlIGUuZy4gZXhhbXBsZS9hZGQtYnJhY2VzKS5cbiAqL1xuZnVuY3Rpb24gcnVuKHRyYW5zZm9ybWVyLCBvcHRpb25zKSB7XG4gICAgcmV0dXJuIHJ1bkZpbGUocHJvY2Vzcy5hcmd2WzJdLCB0cmFuc2Zvcm1lciwgb3B0aW9ucyk7XG59XG5leHBvcnRzLnJ1biA9IHJ1bjtcbmZ1bmN0aW9uIHJ1bkZpbGUocGF0aCwgdHJhbnNmb3JtZXIsIG9wdGlvbnMpIHtcbiAgICBmc18xLmRlZmF1bHQucmVhZEZpbGUocGF0aCwgXCJ1dGYtOFwiLCBmdW5jdGlvbiAoZXJyLCBjb2RlKSB7XG4gICAgICAgIGlmIChlcnIpIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBydW5TdHJpbmcoY29kZSwgdHJhbnNmb3JtZXIsIG9wdGlvbnMpO1xuICAgIH0pO1xufVxuZnVuY3Rpb24gZGVmYXVsdFdyaXRlYmFjayhvdXRwdXQpIHtcbiAgICBwcm9jZXNzLnN0ZG91dC53cml0ZShvdXRwdXQpO1xufVxuZnVuY3Rpb24gcnVuU3RyaW5nKGNvZGUsIHRyYW5zZm9ybWVyLCBvcHRpb25zKSB7XG4gICAgdmFyIHdyaXRlYmFjayA9IChvcHRpb25zICYmIG9wdGlvbnMud3JpdGViYWNrKSB8fCBkZWZhdWx0V3JpdGViYWNrO1xuICAgIHRyYW5zZm9ybWVyKCgwLCBwYXJzZXJfMS5wYXJzZSkoY29kZSwgb3B0aW9ucyksIGZ1bmN0aW9uIChub2RlKSB7XG4gICAgICAgIHdyaXRlYmFjayhwcmludChub2RlLCBvcHRpb25zKS5jb2RlKTtcbiAgICB9KTtcbn1cbiIsICIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oYXJyYXlzKSB7XG4gIGNvbnN0IHJlc3VsdCA9IG5ldyBTZXQoYXJyYXlzWzBdKTtcblxuICBsZXQgaSxqLCBhcnJheTtcbiAgZm9yIChpID0gMTsgaSA8IGFycmF5cy5sZW5ndGg7IGkrKykge1xuICAgIGFycmF5ID0gYXJyYXlzW2ldO1xuICAgIGZvciAoaiA9IDA7IGogPCBhcnJheS5sZW5ndGg7IGorKykge1xuICAgICAgcmVzdWx0LmFkZChhcnJheVtqXSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIEFycmF5LmZyb20ocmVzdWx0KTtcbn07XG4iLCAiXG4vKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuY29uc3QgYXNzZXJ0ID0gcmVxdWlyZSgnYXNzZXJ0Jyk7XG5jb25zdCBpbnRlcnNlY3Rpb24gPSByZXF1aXJlKCcuL3V0aWxzL2ludGVyc2VjdGlvbicpO1xuY29uc3QgcmVjYXN0ID0gcmVxdWlyZSgncmVjYXN0Jyk7XG5jb25zdCB1bmlvbiA9IHJlcXVpcmUoJy4vdXRpbHMvdW5pb24nKTtcblxuY29uc3QgYXN0VHlwZXMgPSByZWNhc3QudHlwZXM7XG52YXIgdHlwZXMgPSBhc3RUeXBlcy5uYW1lZFR5cGVzO1xuY29uc3QgTm9kZVBhdGggPSBhc3RUeXBlcy5Ob2RlUGF0aDtcbmNvbnN0IE5vZGUgPSB0eXBlcy5Ob2RlO1xuXG4vKipcbiAqIFRoaXMgcmVwcmVzZW50cyBhIGdlbmVyaWMgY29sbGVjdGlvbiBvZiBub2RlIHBhdGhzLiBJdCBvbmx5IGhhcyBhIGdlbmVyaWNcbiAqIEFQSSB0byBhY2Nlc3MgYW5kIHByb2Nlc3MgdGhlIGVsZW1lbnRzIG9mIHRoZSBsaXN0LiBJdCBkb2Vzbid0IGtub3cgYW55dGhpbmdcbiAqIGFib3V0IEFTVCB0eXBlcy5cbiAqXG4gKiBAbWl4ZXMgdHJhdmVyc2FsTWV0aG9kc1xuICogQG1peGVzIG11dGF0aW9uTWV0aG9kc1xuICogQG1peGVzIHRyYW5zZm9ybU1ldGhvZHNcbiAqIEBtaXhlcyBnbG9iYWxNZXRob2RzXG4gKi9cbmNsYXNzIENvbGxlY3Rpb24ge1xuXG4gIC8qKlxuICAgKiBAcGFyYW0ge0FycmF5fSBwYXRocyBBbiBhcnJheSBvZiBBU1QgcGF0aHNcbiAgICogQHBhcmFtIHtDb2xsZWN0aW9ufSBwYXJlbnQgQSBwYXJlbnQgY29sbGVjdGlvblxuICAgKiBAcGFyYW0ge0FycmF5fSB0eXBlcyBBbiBhcnJheSBvZiB0eXBlcyBhbGwgdGhlIHBhdGhzIGluIHRoZSBjb2xsZWN0aW9uXG4gICAqICBoYXZlIGluIGNvbW1vbi4gSWYgbm90IHBhc3NlZCwgaXQgd2lsbCBiZSBpbmZlcnJlZCBmcm9tIHRoZSBwYXRocy5cbiAgICogQHJldHVybiB7Q29sbGVjdGlvbn1cbiAgICovXG4gIGNvbnN0cnVjdG9yKHBhdGhzLCBwYXJlbnQsIHR5cGVzKSB7XG4gICAgYXNzZXJ0Lm9rKEFycmF5LmlzQXJyYXkocGF0aHMpLCAnQ29sbGVjdGlvbiBpcyBwYXNzZWQgYW4gYXJyYXknKTtcbiAgICBhc3NlcnQub2soXG4gICAgICBwYXRocy5ldmVyeShwID0+IHAgaW5zdGFuY2VvZiBOb2RlUGF0aCksXG4gICAgICAnQXJyYXkgY29udGFpbnMgb25seSBwYXRocydcbiAgICApO1xuICAgIHRoaXMuX3BhcmVudCA9IHBhcmVudDtcbiAgICB0aGlzLl9fcGF0aHMgPSBwYXRocztcbiAgICBpZiAodHlwZXMgJiYgIUFycmF5LmlzQXJyYXkodHlwZXMpKSB7XG4gICAgICB0eXBlcyA9IF90b1R5cGVBcnJheSh0eXBlcyk7XG4gICAgfSBlbHNlIGlmICghdHlwZXMgfHwgQXJyYXkuaXNBcnJheSh0eXBlcykgJiYgdHlwZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0eXBlcyA9IF9pbmZlclR5cGVzKHBhdGhzKTtcbiAgICB9XG4gICAgdGhpcy5fdHlwZXMgPSB0eXBlcy5sZW5ndGggPT09IDAgPyBfZGVmYXVsdFR5cGUgOiB0eXBlcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbmV3IGNvbGxlY3Rpb24gY29udGFpbmluZyB0aGUgbm9kZXMgZm9yIHdoaWNoIHRoZSBjYWxsYmFja1xuICAgKiByZXR1cm5zIHRydWUuXG4gICAqXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gICAqIEByZXR1cm4ge0NvbGxlY3Rpb259XG4gICAqL1xuICBmaWx0ZXIoY2FsbGJhY2spIHtcbiAgICByZXR1cm4gbmV3IHRoaXMuY29uc3RydWN0b3IodGhpcy5fX3BhdGhzLmZpbHRlcihjYWxsYmFjayksIHRoaXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGNhbGxiYWNrIGZvciBlYWNoIG5vZGUvcGF0aCBpbiB0aGUgY29sbGVjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2tcbiAgICogQHJldHVybiB7Q29sbGVjdGlvbn0gVGhlIGNvbGxlY3Rpb24gaXRzZWxmXG4gICAqL1xuICBmb3JFYWNoKGNhbGxiYWNrKSB7XG4gICAgdGhpcy5fX3BhdGhzLmZvckVhY2goXG4gICAgICAocGF0aCwgaSwgcGF0aHMpID0+IGNhbGxiYWNrLmNhbGwocGF0aCwgcGF0aCwgaSwgcGF0aHMpXG4gICAgKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUZXN0cyB3aGV0aGVyIGF0LWxlYXN0IG9uZSBwYXRoIHBhc3NlcyB0aGUgdGVzdCBpbXBsZW1lbnRlZCBieSB0aGUgcHJvdmlkZWQgY2FsbGJhY2suXG4gICAqXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBzb21lKGNhbGxiYWNrKSB7XG4gICAgcmV0dXJuIHRoaXMuX19wYXRocy5zb21lKFxuICAgICAgKHBhdGgsIGksIHBhdGhzKSA9PiBjYWxsYmFjay5jYWxsKHBhdGgsIHBhdGgsIGksIHBhdGhzKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogVGVzdHMgd2hldGhlciBhbGwgcGF0aHMgcGFzcyB0aGUgdGVzdCBpbXBsZW1lbnRlZCBieSB0aGUgcHJvdmlkZWQgY2FsbGJhY2suXG4gICAqXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb259IGNhbGxiYWNrXG4gICAqIEByZXR1cm4ge2Jvb2xlYW59XG4gICAqL1xuICBldmVyeShjYWxsYmFjaykge1xuICAgIHJldHVybiB0aGlzLl9fcGF0aHMuZXZlcnkoXG4gICAgICAocGF0aCwgaSwgcGF0aHMpID0+IGNhbGxiYWNrLmNhbGwocGF0aCwgcGF0aCwgaSwgcGF0aHMpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgY2FsbGJhY2sgZm9yIGV2ZXJ5IHBhdGggaW4gdGhlIGNvbGxlY3Rpb24gYW5kIHJldHVybnMgYSBuZXdcbiAgICogY29sbGVjdGlvbiBmcm9tIHRoZSByZXR1cm4gdmFsdWVzICh3aGljaCBtdXN0IGJlIHBhdGhzKS5cbiAgICpcbiAgICogVGhlIGNhbGxiYWNrIGNhbiByZXR1cm4gbnVsbCB0byBpbmRpY2F0ZSB0byBleGNsdWRlIHRoZSBlbGVtZW50IGZyb20gdGhlXG4gICAqIG5ldyBjb2xsZWN0aW9uLlxuICAgKlxuICAgKiBJZiBhbiBhcnJheSBpcyByZXR1cm5lZCwgdGhlIGFycmF5IHdpbGwgYmUgZmxhdHRlbmVkIGludG8gdGhlIHJlc3VsdFxuICAgKiBjb2xsZWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBjYWxsYmFja1xuICAgKiBAcGFyYW0ge1R5cGV9IHR5cGUgRm9yY2UgdGhlIG5ldyBjb2xsZWN0aW9uIHRvIGJlIG9mIGEgc3BlY2lmaWMgdHlwZVxuICAgKi9cbiAgbWFwKGNhbGxiYWNrLCB0eXBlKSB7XG4gICAgY29uc3QgcGF0aHMgPSBbXTtcbiAgICB0aGlzLmZvckVhY2goZnVuY3Rpb24ocGF0aCkge1xuICAgICAgLypqc2hpbnQgZXFudWxsOnRydWUqL1xuICAgICAgbGV0IHJlc3VsdCA9IGNhbGxiYWNrLmFwcGx5KHBhdGgsIGFyZ3VtZW50cyk7XG4gICAgICBpZiAocmVzdWx0ID09IG51bGwpIHJldHVybjtcbiAgICAgIGlmICghQXJyYXkuaXNBcnJheShyZXN1bHQpKSB7XG4gICAgICAgIHJlc3VsdCA9IFtyZXN1bHRdO1xuICAgICAgfVxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCByZXN1bHQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHBhdGhzLmluZGV4T2YocmVzdWx0W2ldKSA9PT0gLTEpIHtcbiAgICAgICAgICBwYXRocy5wdXNoKHJlc3VsdFtpXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZnJvbVBhdGhzKHBhdGhzLCB0aGlzLCB0eXBlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgZWxlbWVudHMgaW4gdGhpcyBjb2xsZWN0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9XG4gICAqL1xuICBzaXplKCkge1xuICAgIHJldHVybiB0aGlzLl9fcGF0aHMubGVuZ3RoO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBlbGVtZW50cyBpbiB0aGlzIGNvbGxlY3Rpb24uXG4gICAqXG4gICAqIEByZXR1cm4ge251bWJlcn1cbiAgICovXG4gIGdldCBsZW5ndGgoKSB7XG4gICAgcmV0dXJuIHRoaXMuX19wYXRocy5sZW5ndGg7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBhcnJheSBvZiBBU1Qgbm9kZXMgaW4gdGhpcyBjb2xsZWN0aW9uLlxuICAgKlxuICAgKiBAcmV0dXJuIHtBcnJheX1cbiAgICovXG4gIG5vZGVzKCkge1xuICAgIHJldHVybiB0aGlzLl9fcGF0aHMubWFwKHAgPT4gcC52YWx1ZSk7XG4gIH1cblxuICBwYXRocygpIHtcbiAgICByZXR1cm4gdGhpcy5fX3BhdGhzO1xuICB9XG5cbiAgZ2V0QVNUKCkge1xuICAgIGlmICh0aGlzLl9wYXJlbnQpIHtcbiAgICAgIHJldHVybiB0aGlzLl9wYXJlbnQuZ2V0QVNUKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9fcGF0aHM7XG4gIH1cblxuICB0b1NvdXJjZShvcHRpb25zKSB7XG4gICAgaWYgKHRoaXMuX3BhcmVudCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3BhcmVudC50b1NvdXJjZShvcHRpb25zKTtcbiAgICB9XG4gICAgaWYgKHRoaXMuX19wYXRocy5sZW5ndGggPT09IDEpIHtcbiAgICAgIHJldHVybiByZWNhc3QucHJpbnQodGhpcy5fX3BhdGhzWzBdLCBvcHRpb25zKS5jb2RlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdGhpcy5fX3BhdGhzLm1hcChwID0+IHJlY2FzdC5wcmludChwLCBvcHRpb25zKS5jb2RlKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIG5ldyBjb2xsZWN0aW9uIGNvbnRhaW5pbmcgb25seSB0aGUgZWxlbWVudCBhdCBwb3NpdGlvbiBpbmRleC5cbiAgICpcbiAgICogSW4gY2FzZSBvZiBhIG5lZ2F0aXZlIGluZGV4LCB0aGUgZWxlbWVudCBpcyB0YWtlbiBmcm9tIHRoZSBlbmQ6XG4gICAqXG4gICAqICAgLmF0KDApICAtIGZpcnN0IGVsZW1lbnRcbiAgICogICAuYXQoLTEpIC0gbGFzdCBlbGVtZW50XG4gICAqXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleFxuICAgKiBAcmV0dXJuIHtDb2xsZWN0aW9ufVxuICAgKi9cbiAgYXQoaW5kZXgpIHtcbiAgICByZXR1cm4gZnJvbVBhdGhzKFxuICAgICAgdGhpcy5fX3BhdGhzLnNsaWNlKFxuICAgICAgICBpbmRleCxcbiAgICAgICAgaW5kZXggPT09IC0xID8gdW5kZWZpbmVkIDogaW5kZXggKyAxXG4gICAgICApLFxuICAgICAgdGhpc1xuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogUHJveGllcyB0byBOb2RlUGF0aCNnZXQgb2YgdGhlIGZpcnN0IHBhdGguXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfG51bWJlcn0gLi4uZmllbGRzXG4gICAqL1xuICBnZXQoKSB7XG4gICAgY29uc3QgcGF0aCA9IHRoaXMuX19wYXRoc1swXTtcbiAgICBpZiAoIXBhdGgpIHtcbiAgICAgIHRocm93IEVycm9yKFxuICAgICAgICAnWW91IGNhbm5vdCBjYWxsIFwiZ2V0XCIgb24gYSBjb2xsZWN0aW9uIHdpdGggbm8gcGF0aHMuICcgK1xuICAgICAgICAnSW5zdGVhZCwgY2hlY2sgdGhlIFwibGVuZ3RoXCIgcHJvcGVydHkgZmlyc3QgdG8gdmVyaWZ5IGF0IGxlYXN0IDEgcGF0aCBleGlzdHMuJ1xuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhdGguZ2V0LmFwcGx5KHBhdGgsIGFyZ3VtZW50cyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdHlwZShzKSBvZiB0aGUgY29sbGVjdGlvbi4gVGhpcyBpcyBvbmx5IHVzZWQgZm9yIHVuaXQgdGVzdHMsXG4gICAqIEkgZG9uJ3QgdGhpbmsgb3RoZXIgY29uc3VtZXJzIHdvdWxkIG5lZWQgaXQuXG4gICAqXG4gICAqIEByZXR1cm4ge0FycmF5PHN0cmluZz59XG4gICAqL1xuICBnZXRUeXBlcygpIHtcbiAgICByZXR1cm4gdGhpcy5fdHlwZXM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoaXMgY29sbGVjdGlvbiBoYXMgdGhlIHR5cGUgJ3R5cGUnLlxuICAgKlxuICAgKiBAcGFyYW0ge1R5cGV9IHR5cGVcbiAgICogQHJldHVybiB7Ym9vbGVhbn1cbiAgICovXG4gIGlzT2ZUeXBlKHR5cGUpIHtcbiAgICByZXR1cm4gISF0eXBlICYmIHRoaXMuX3R5cGVzLmluZGV4T2YodHlwZS50b1N0cmluZygpKSA+IC0xO1xuICB9XG59XG5cbi8qKlxuICogR2l2ZW4gYSBzZXQgb2YgcGF0aHMsIHRoaXMgaW5mZXJzIHRoZSBjb21tb24gdHlwZXMgb2YgYWxsIHBhdGhzLlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7QXJyYXl9IHBhdGhzIEFuIGFycmF5IG9mIHBhdGhzLlxuICogQHJldHVybiB7VHlwZX0gdHlwZSBBbiBBU1QgdHlwZVxuICovXG5mdW5jdGlvbiBfaW5mZXJUeXBlcyhwYXRocykge1xuICBsZXQgX3R5cGVzID0gW107XG5cbiAgaWYgKHBhdGhzLmxlbmd0aCA+IDAgJiYgTm9kZS5jaGVjayhwYXRoc1swXS5ub2RlKSkge1xuICAgIGNvbnN0IG5vZGVUeXBlID0gdHlwZXNbcGF0aHNbMF0ubm9kZS50eXBlXTtcbiAgICBjb25zdCBzYW1lVHlwZSA9IHBhdGhzLmxlbmd0aCA9PT0gMSB8fFxuICAgICAgcGF0aHMuZXZlcnkocGF0aCA9PiBub2RlVHlwZS5jaGVjayhwYXRoLm5vZGUpKTtcblxuICAgIGlmIChzYW1lVHlwZSkge1xuICAgICAgX3R5cGVzID0gW25vZGVUeXBlLnRvU3RyaW5nKCldLmNvbmNhdChcbiAgICAgICAgYXN0VHlwZXMuZ2V0U3VwZXJ0eXBlTmFtZXMobm9kZVR5cGUudG9TdHJpbmcoKSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHRyeSB0byBmaW5kIGEgY29tbW9uIHR5cGVcbiAgICAgIF90eXBlcyA9IGludGVyc2VjdGlvbihcbiAgICAgICAgcGF0aHMubWFwKHBhdGggPT4gYXN0VHlwZXMuZ2V0U3VwZXJ0eXBlTmFtZXMocGF0aC5ub2RlLnR5cGUpKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gX3R5cGVzO1xufVxuXG5mdW5jdGlvbiBfdG9UeXBlQXJyYXkodmFsdWUpIHtcbiAgdmFsdWUgPSAhQXJyYXkuaXNBcnJheSh2YWx1ZSkgPyBbdmFsdWVdIDogdmFsdWU7XG4gIHZhbHVlID0gdmFsdWUubWFwKHYgPT4gdi50b1N0cmluZygpKTtcbiAgaWYgKHZhbHVlLmxlbmd0aCA+IDEpIHtcbiAgICByZXR1cm4gdW5pb24oXG4gICAgICBbdmFsdWVdLmNvbmNhdChpbnRlcnNlY3Rpb24odmFsdWUubWFwKF9nZXRTdXBlcnR5cGVOYW1lcykpKVxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHZhbHVlLmNvbmNhdChfZ2V0U3VwZXJ0eXBlTmFtZXModmFsdWVbMF0pKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBfZ2V0U3VwZXJ0eXBlTmFtZXModHlwZSkge1xuICB0cnkge1xuICAgIHJldHVybiBhc3RUeXBlcy5nZXRTdXBlcnR5cGVOYW1lcyh0eXBlKTtcbiAgfSBjYXRjaChlcnJvcikge1xuICAgIGlmIChlcnJvci5tZXNzYWdlID09PSAnJykge1xuICAgICAgLy8gTGlrZWx5IHRoZSBjYXNlIHRoYXQgdGhlIHBhc3NlZCB0eXBlIHdhc24ndCBmb3VuZCBpbiB0aGUgZGVmaW5pdGlvblxuICAgICAgLy8gbGlzdC4gTWF5YmUgYSB0eXBvLiBhc3QtdHlwZXMgZG9lc24ndCB0aHJvdyBhIHVzZWZ1bCBlcnJvciBpbiB0aGF0XG4gICAgICAvLyBjYXNlIDooXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdcIicgKyB0eXBlICsgJ1wiIGlzIG5vdCBhIGtub3duIEFTVCBub2RlIHR5cGUuIE1heWJlIGEgdHlwbz8nXG4gICAgICApO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgY29sbGVjdGlvbiBmcm9tIGFuIGFycmF5IG9mIG5vZGUgcGF0aHMuXG4gKlxuICogSWYgdHlwZSBpcyBwYXNzZWQsIGl0IHdpbGwgY3JlYXRlIGEgdHlwZWQgY29sbGVjdGlvbiBpZiBzdWNoIGEgY29sbGVjdGlvblxuICogZXhpc3RzLiBUaGUgbm9kZXMgb3IgcGF0aCB2YWx1ZXMgbXVzdCBiZSBvZiB0aGUgc2FtZSB0eXBlLlxuICpcbiAqIE90aGVyd2lzZSBpdCB3aWxsIHRyeSB0byBpbmZlciB0aGUgdHlwZSBmcm9tIHRoZSBwYXRoIGxpc3QuIElmIGV2ZXJ5XG4gKiBlbGVtZW50IGhhcyB0aGUgc2FtZSB0eXBlLCBhIHR5cGVkIGNvbGxlY3Rpb24gaXMgY3JlYXRlZCAoaWYgaXQgZXhpc3RzKSxcbiAqIG90aGVyd2lzZSwgYSBnZW5lcmljIGNvbGxlY3Rpb24gd2lsbCBiZSBjcmVhdGVkLlxuICpcbiAqIEBpZ25vcmVcbiAqIEBwYXJhbSB7QXJyYXl9IHBhdGhzIEFuIGFycmF5IG9mIHBhdGhzXG4gKiBAcGFyYW0ge0NvbGxlY3Rpb259IHBhcmVudCBBIHBhcmVudCBjb2xsZWN0aW9uXG4gKiBAcGFyYW0ge1R5cGV9IHR5cGUgQW4gQVNUIHR5cGVcbiAqIEByZXR1cm4ge0NvbGxlY3Rpb259XG4gKi9cbmZ1bmN0aW9uIGZyb21QYXRocyhwYXRocywgcGFyZW50LCB0eXBlKSB7XG4gIGFzc2VydC5vayhcbiAgICBwYXRocy5ldmVyeShuID0+IG4gaW5zdGFuY2VvZiBOb2RlUGF0aCksXG4gICAgJ0V2ZXJ5IGVsZW1lbnQgaW4gdGhlIGFycmF5IHNob3VsZCBiZSBhIE5vZGVQYXRoJ1xuICApO1xuXG4gIHJldHVybiBuZXcgQ29sbGVjdGlvbihwYXRocywgcGFyZW50LCB0eXBlKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgbmV3IGNvbGxlY3Rpb24gZnJvbSBhbiBhcnJheSBvZiBub2Rlcy4gVGhpcyBpcyBhIGNvbnZlbmllbmNlXG4gKiBtZXRob2Qgd2hpY2ggY29udmVydHMgdGhlIG5vZGVzIHRvIG5vZGUgcGF0aHMgZmlyc3QgYW5kIGNhbGxzXG4gKlxuICogICAgQ29sbGVjdGlvbnMuZnJvbVBhdGhzKHBhdGhzLCBwYXJlbnQsIHR5cGUpXG4gKlxuICogQGlnbm9yZVxuICogQHBhcmFtIHtBcnJheX0gbm9kZXMgQW4gYXJyYXkgb2YgQVNUIG5vZGVzXG4gKiBAcGFyYW0ge0NvbGxlY3Rpb259IHBhcmVudCBBIHBhcmVudCBjb2xsZWN0aW9uXG4gKiBAcGFyYW0ge1R5cGV9IHR5cGUgQW4gQVNUIHR5cGVcbiAqIEByZXR1cm4ge0NvbGxlY3Rpb259XG4gKi9cbmZ1bmN0aW9uIGZyb21Ob2Rlcyhub2RlcywgcGFyZW50LCB0eXBlKSB7XG4gIGFzc2VydC5vayhcbiAgICBub2Rlcy5ldmVyeShuID0+IE5vZGUuY2hlY2sobikpLFxuICAgICdFdmVyeSBlbGVtZW50IGluIHRoZSBhcnJheSBzaG91bGQgYmUgYSBOb2RlJ1xuICApO1xuICByZXR1cm4gZnJvbVBhdGhzKFxuICAgIG5vZGVzLm1hcChuID0+IG5ldyBOb2RlUGF0aChuKSksXG4gICAgcGFyZW50LFxuICAgIHR5cGVcbiAgKTtcbn1cblxuY29uc3QgQ1B0ID0gQ29sbGVjdGlvbi5wcm90b3R5cGU7XG5cbi8qKlxuICogVGhpcyBmdW5jdGlvbiBhZGRzIHRoZSBwcm92aWRlZCBtZXRob2RzIHRvIHRoZSBwcm90b3R5cGUgb2YgdGhlIGNvcnJlc3BvbmRpbmdcbiAqIHR5cGVkIGNvbGxlY3Rpb24uIElmIG5vIHR5cGUgaXMgcGFzc2VkLCB0aGUgbWV0aG9kcyBhcmUgYWRkZWQgdG9cbiAqIENvbGxlY3Rpb24ucHJvdG90eXBlIGFuZCBhcmUgYXZhaWxhYmxlIGZvciBhbGwgY29sbGVjdGlvbnMuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IG1ldGhvZHMgTWV0aG9kcyB0byBhZGQgdG8gdGhlIHByb3RvdHlwZVxuICogQHBhcmFtIHtUeXBlPX0gdHlwZSBPcHRpb25hbCB0eXBlIHRvIGFkZCB0aGUgbWV0aG9kcyB0b1xuICovXG5mdW5jdGlvbiByZWdpc3Rlck1ldGhvZHMobWV0aG9kcywgdHlwZSkge1xuICBmb3IgKGNvbnN0IG1ldGhvZE5hbWUgaW4gbWV0aG9kcykge1xuICAgIGlmICghbWV0aG9kcy5oYXNPd25Qcm9wZXJ0eShtZXRob2ROYW1lKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoaGFzQ29uZmxpY3RpbmdSZWdpc3RyYXRpb24obWV0aG9kTmFtZSwgdHlwZSkpIHtcbiAgICAgIGxldCBtc2cgPSBgVGhlcmUgaXMgYSBjb25mbGljdGluZyByZWdpc3RyYXRpb24gZm9yIG1ldGhvZCB3aXRoIG5hbWUgXCIke21ldGhvZE5hbWV9XCIuXFxuWW91IHRyaWVkIHRvIHJlZ2lzdGVyIGFuIGFkZGl0aW9uYWwgbWV0aG9kIHdpdGggYDtcblxuICAgICAgaWYgKHR5cGUpIHtcbiAgICAgICAgbXNnICs9IGB0eXBlIFwiJHt0eXBlLnRvU3RyaW5nKCl9XCIuYFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbXNnICs9ICd1bml2ZXJzYWwgdHlwZS4nXG4gICAgICB9XG5cbiAgICAgIG1zZyArPSAnXFxuVGhlcmUgYXJlIGV4aXN0aW5nIHJlZ2lzdHJhdGlvbnMgZm9yIHRoYXQgbWV0aG9kIHdpdGggJztcblxuICAgICAgY29uc3QgY29uZmxpY3RpbmdSZWdpc3RyYXRpb25zID0gQ1B0W21ldGhvZE5hbWVdLnR5cGVkUmVnaXN0cmF0aW9ucztcblxuICAgICAgaWYgKGNvbmZsaWN0aW5nUmVnaXN0cmF0aW9ucykge1xuICAgICAgICBtc2cgKz0gYHR5cGUgJHtPYmplY3Qua2V5cyhjb25mbGljdGluZ1JlZ2lzdHJhdGlvbnMpLmpvaW4oJywgJyl9LmA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBtc2cgKz0gJ3VuaXZlcnNhbCB0eXBlLic7XG4gICAgICB9XG5cbiAgICAgIHRocm93IEVycm9yKG1zZyk7XG4gICAgfVxuICAgIGlmICghdHlwZSkge1xuICAgICAgQ1B0W21ldGhvZE5hbWVdID0gbWV0aG9kc1ttZXRob2ROYW1lXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHlwZSA9IHR5cGUudG9TdHJpbmcoKTtcbiAgICAgIGlmICghQ1B0Lmhhc093blByb3BlcnR5KG1ldGhvZE5hbWUpKSB7XG4gICAgICAgIGluc3RhbGxUeXBlZE1ldGhvZChtZXRob2ROYW1lKTtcbiAgICAgIH1cbiAgICAgIHZhciByZWdpc3RyYXRpb25zID0gQ1B0W21ldGhvZE5hbWVdLnR5cGVkUmVnaXN0cmF0aW9ucztcbiAgICAgIHJlZ2lzdHJhdGlvbnNbdHlwZV0gPSBtZXRob2RzW21ldGhvZE5hbWVdO1xuICAgICAgYXN0VHlwZXMuZ2V0U3VwZXJ0eXBlTmFtZXModHlwZSkuZm9yRWFjaChmdW5jdGlvbiAobmFtZSkge1xuICAgICAgICByZWdpc3RyYXRpb25zW25hbWVdID0gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cblxuZnVuY3Rpb24gaW5zdGFsbFR5cGVkTWV0aG9kKG1ldGhvZE5hbWUpIHtcbiAgaWYgKENQdC5oYXNPd25Qcm9wZXJ0eShtZXRob2ROYW1lKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgSW50ZXJuYWwgRXJyb3I6IFwiJHttZXRob2ROYW1lfVwiIG1ldGhvZCBpcyBhbHJlYWR5IGluc3RhbGxlZGApO1xuICB9XG5cbiAgY29uc3QgcmVnaXN0cmF0aW9ucyA9IHt9O1xuXG4gIGZ1bmN0aW9uIHR5cGVkTWV0aG9kKCkge1xuICAgIGNvbnN0IHR5cGVzID0gT2JqZWN0LmtleXMocmVnaXN0cmF0aW9ucyk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHR5cGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBjdXJyZW50VHlwZSA9IHR5cGVzW2ldO1xuICAgICAgaWYgKHJlZ2lzdHJhdGlvbnNbY3VycmVudFR5cGVdICYmIHRoaXMuaXNPZlR5cGUoY3VycmVudFR5cGUpKSB7XG4gICAgICAgIHJldHVybiByZWdpc3RyYXRpb25zW2N1cnJlbnRUeXBlXS5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRocm93IEVycm9yKFxuICAgICAgYFlvdSBoYXZlIGEgY29sbGVjdGlvbiBvZiB0eXBlIFske3RoaXMuZ2V0VHlwZXMoKX1dLiBgICtcbiAgICAgIGBcIiR7bWV0aG9kTmFtZX1cIiBpcyBvbmx5IGRlZmluZWQgZm9yIG9uZSBvZiBbJHt0eXBlcy5qb2luKCd8Jyl9XS5gXG4gICAgKTtcbiAgfVxuXG4gIHR5cGVkTWV0aG9kLnR5cGVkUmVnaXN0cmF0aW9ucyA9IHJlZ2lzdHJhdGlvbnM7XG5cbiAgQ1B0W21ldGhvZE5hbWVdID0gdHlwZWRNZXRob2Q7XG59XG5cbmZ1bmN0aW9uIGhhc0NvbmZsaWN0aW5nUmVnaXN0cmF0aW9uKG1ldGhvZE5hbWUsIHR5cGUpIHtcbiAgaWYgKCF0eXBlKSB7XG4gICAgcmV0dXJuIENQdC5oYXNPd25Qcm9wZXJ0eShtZXRob2ROYW1lKTtcbiAgfVxuXG4gIGlmICghQ1B0Lmhhc093blByb3BlcnR5KG1ldGhvZE5hbWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY29uc3QgcmVnaXN0cmF0aW9ucyA9IENQdFttZXRob2ROYW1lXSAmJiBDUHRbbWV0aG9kTmFtZV0udHlwZWRSZWdpc3RyYXRpb25zO1xuXG4gIGlmICghcmVnaXN0cmF0aW9ucykge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdHlwZSA9IHR5cGUudG9TdHJpbmcoKTtcblxuICBpZiAocmVnaXN0cmF0aW9ucy5oYXNPd25Qcm9wZXJ0eSh0eXBlKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmV0dXJuIGFzdFR5cGVzLmdldFN1cGVydHlwZU5hbWVzKHR5cGUudG9TdHJpbmcoKSkuc29tZShmdW5jdGlvbiAobmFtZSkge1xuICAgIHJldHVybiAhIXJlZ2lzdHJhdGlvbnNbbmFtZV07XG4gIH0pO1xufVxuXG52YXIgX2RlZmF1bHRUeXBlID0gW107XG5cbi8qKlxuICogU2V0cyB0aGUgZGVmYXVsdCBjb2xsZWN0aW9uIHR5cGUuIEluIGNhc2UgYSBjb2xsZWN0aW9uIGlzIGNyZWF0ZWQgZm9ybSBhblxuICogZW1wdHkgc2V0IG9mIHBhdGhzIGFuZCBubyB0eXBlIGlzIHNwZWNpZmllZCwgd2UgcmV0dXJuIGEgY29sbGVjdGlvbiBvZiB0aGlzXG4gKiB0eXBlLlxuICpcbiAqIEBpZ25vcmVcbiAqIEBwYXJhbSB7VHlwZX0gdHlwZVxuICovXG5mdW5jdGlvbiBzZXREZWZhdWx0Q29sbGVjdGlvblR5cGUodHlwZSkge1xuICBfZGVmYXVsdFR5cGUgPSBfdG9UeXBlQXJyYXkodHlwZSk7XG59XG5cbmV4cG9ydHMuZnJvbVBhdGhzID0gZnJvbVBhdGhzO1xuZXhwb3J0cy5mcm9tTm9kZXMgPSBmcm9tTm9kZXM7XG5leHBvcnRzLnJlZ2lzdGVyTWV0aG9kcyA9IHJlZ2lzdGVyTWV0aG9kcztcbmV4cG9ydHMuaGFzQ29uZmxpY3RpbmdSZWdpc3RyYXRpb24gPSBoYXNDb25mbGljdGluZ1JlZ2lzdHJhdGlvbjtcbmV4cG9ydHMuc2V0RGVmYXVsdENvbGxlY3Rpb25UeXBlID0gc2V0RGVmYXVsdENvbGxlY3Rpb25UeXBlO1xuIiwgIlxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmNvbnN0IGhhc093biA9XG4gIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbC5iaW5kKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkpO1xuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIG5lZWRsZSBpcyBhIHN0cmljdCBzdWJzZXQgb2YgaGF5c3RhY2suXG4gKlxuICogQHBhcmFtIHsqfSBoYXlzdGFjayBWYWx1ZSB0byB0ZXN0LlxuICogQHBhcmFtIHsqfSBuZWVkbGUgVGVzdCBmdW5jdGlvbiBvciB2YWx1ZSB0byBsb29rIGZvciBpbiBgaGF5c3RhY2tgLlxuICogQHJldHVybiB7Ym9vbH1cbiAqL1xuZnVuY3Rpb24gbWF0Y2hOb2RlKGhheXN0YWNrLCBuZWVkbGUpIHtcbiAgaWYgKHR5cGVvZiBuZWVkbGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICByZXR1cm4gbmVlZGxlKGhheXN0YWNrKTtcbiAgfVxuICBpZiAoaXNOb2RlKG5lZWRsZSkgJiYgaXNOb2RlKGhheXN0YWNrKSkge1xuICAgIHJldHVybiBPYmplY3Qua2V5cyhuZWVkbGUpLmV2ZXJ5KGZ1bmN0aW9uKHByb3BlcnR5KSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBoYXNPd24oaGF5c3RhY2ssIHByb3BlcnR5KSAmJlxuICAgICAgICBtYXRjaE5vZGUoaGF5c3RhY2tbcHJvcGVydHldLCBuZWVkbGVbcHJvcGVydHldKVxuICAgICAgKTtcbiAgICB9KTtcbiAgfVxuICByZXR1cm4gaGF5c3RhY2sgPT09IG5lZWRsZTtcbn1cblxuZnVuY3Rpb24gaXNOb2RlKHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IG1hdGNoTm9kZTtcbiIsICIvKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbi8qKlxuICogVGhpcyByZXBsaWNhdGVzIGxvZGFzaCdzIG9uY2UgZnVuY3Rpb25hbGl0eSBmb3Igb3VyIHB1cnBvc2VzLlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKGZ1bmMpIHtcbiAgbGV0IGNhbGxlZCA9IGZhbHNlO1xuICBsZXQgcmVzdWx0O1xuICByZXR1cm4gZnVuY3Rpb24oLi4uYXJncykge1xuICAgIGlmIChjYWxsZWQpIHtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGNhbGxlZCA9IHRydWU7XG4gICAgcmV0dXJuIHJlc3VsdCA9IGZ1bmMuYXBwbHkodGhpcywgYXJncyk7XG4gIH07XG59O1xuIiwgIlxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmNvbnN0IENvbGxlY3Rpb24gPSByZXF1aXJlKCcuLi9Db2xsZWN0aW9uJyk7XG5cbmNvbnN0IG1hdGNoTm9kZSA9IHJlcXVpcmUoJy4uL21hdGNoTm9kZScpO1xuY29uc3Qgb25jZSA9IHJlcXVpcmUoJy4uL3V0aWxzL29uY2UnKTtcbmNvbnN0IHJlY2FzdCA9IHJlcXVpcmUoJ3JlY2FzdCcpO1xuXG5jb25zdCBOb2RlID0gcmVjYXN0LnR5cGVzLm5hbWVkVHlwZXMuTm9kZTtcbnZhciB0eXBlcyA9IHJlY2FzdC50eXBlcy5uYW1lZFR5cGVzO1xuXG4vKipcbiogQG1peGluXG4qL1xuY29uc3QgdHJhdmVyc2FsTWV0aG9kcyA9IHtcblxuICAvKipcbiAgICogRmluZCBub2RlcyBvZiBhIHNwZWNpZmljIHR5cGUgd2l0aGluIHRoZSBub2RlcyBvZiB0aGlzIGNvbGxlY3Rpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7dHlwZX1cbiAgICogQHBhcmFtIHtmaWx0ZXJ9XG4gICAqIEByZXR1cm4ge0NvbGxlY3Rpb259XG4gICAqL1xuICBmaW5kOiBmdW5jdGlvbih0eXBlLCBmaWx0ZXIpIHtcbiAgICBjb25zdCBwYXRocyA9IFtdO1xuICAgIGNvbnN0IHZpc2l0b3JNZXRob2ROYW1lID0gJ3Zpc2l0JyArIHR5cGU7XG5cbiAgICBjb25zdCB2aXNpdG9yID0ge307XG4gICAgZnVuY3Rpb24gdmlzaXQocGF0aCkge1xuICAgICAgLypqc2hpbnQgdmFsaWR0aGlzOnRydWUgKi9cbiAgICAgIGlmICghZmlsdGVyIHx8IG1hdGNoTm9kZShwYXRoLnZhbHVlLCBmaWx0ZXIpKSB7XG4gICAgICAgIHBhdGhzLnB1c2gocGF0aCk7XG4gICAgICB9XG4gICAgICB0aGlzLnRyYXZlcnNlKHBhdGgpO1xuICAgIH1cbiAgICB0aGlzLl9fcGF0aHMuZm9yRWFjaChmdW5jdGlvbihwLCBpKSB7XG4gICAgICBjb25zdCBzZWxmID0gdGhpcztcbiAgICAgIHZpc2l0b3JbdmlzaXRvck1ldGhvZE5hbWVdID0gZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICBpZiAoc2VsZi5fX3BhdGhzW2ldID09PSBwYXRoKSB7XG4gICAgICAgICAgdGhpcy50cmF2ZXJzZShwYXRoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gdmlzaXQuY2FsbCh0aGlzLCBwYXRoKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHJlY2FzdC52aXNpdChwLCB2aXNpdG9yKTtcbiAgICB9LCB0aGlzKTtcblxuICAgIHJldHVybiBDb2xsZWN0aW9uLmZyb21QYXRocyhwYXRocywgdGhpcywgdHlwZSk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIFJldHVybnMgYSBjb2xsZWN0aW9uIGNvbnRhaW5pbmcgdGhlIHBhdGhzIHRoYXQgY3JlYXRlIHRoZSBzY29wZSBvZiB0aGVcbiAgICogY3VycmVudGx5IHNlbGVjdGVkIHBhdGhzLiBEZWR1cGVzIHRoZSBwYXRocy5cbiAgICpcbiAgICogQHJldHVybiB7Q29sbGVjdGlvbn1cbiAgICovXG4gIGNsb3Nlc3RTY29wZTogZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwKHBhdGggPT4gcGF0aC5zY29wZSAmJiBwYXRoLnNjb3BlLnBhdGgpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBUcmF2ZXJzZSB0aGUgQVNUIHVwIGFuZCBmaW5kcyB0aGUgY2xvc2VzdCBub2RlIG9mIHRoZSBwcm92aWRlZCB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0ge0NvbGxlY3Rpb259XG4gICAqIEBwYXJhbSB7ZmlsdGVyfVxuICAgKiBAcmV0dXJuIHtDb2xsZWN0aW9ufVxuICAgKi9cbiAgY2xvc2VzdDogZnVuY3Rpb24odHlwZSwgZmlsdGVyKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKHBhdGgpIHtcbiAgICAgIGxldCBwYXJlbnQgPSBwYXRoLnBhcmVudDtcbiAgICAgIHdoaWxlIChcbiAgICAgICAgcGFyZW50ICYmXG4gICAgICAgICEoXG4gICAgICAgICAgdHlwZS5jaGVjayhwYXJlbnQudmFsdWUpICYmXG4gICAgICAgICAgKCFmaWx0ZXIgfHwgbWF0Y2hOb2RlKHBhcmVudC52YWx1ZSwgZmlsdGVyKSlcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gcGFyZW50IHx8IG51bGw7XG4gICAgfSk7XG4gIH0sXG5cbiAgLyoqXG4gICAqIEZpbmRzIHRoZSBkZWNsYXJhdGlvbiBmb3IgZWFjaCBzZWxlY3RlZCBwYXRoLiBVc2VmdWwgZm9yIG1lbWJlciBleHByZXNzaW9uc1xuICAgKiBvciBKU1hFbGVtZW50cy4gRXhwZWN0cyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgbWFwcyBlYWNoIHBhdGggdG8gdGhlIG5hbWVcbiAgICogdG8gbG9vayBmb3IuXG4gICAqXG4gICAqIElmIHRoZSBjYWxsYmFjayByZXR1cm5zIGEgZmFsc2V5IHZhbHVlLCB0aGUgZWxlbWVudCBpcyBza2lwcGVkLlxuICAgKlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9ufSBuYW1lR2V0dGVyXG4gICAqXG4gICAqIEByZXR1cm4ge0NvbGxlY3Rpb259XG4gICAqL1xuICBnZXRWYXJpYWJsZURlY2xhcmF0b3JzOiBmdW5jdGlvbihuYW1lR2V0dGVyKSB7XG4gICAgcmV0dXJuIHRoaXMubWFwKGZ1bmN0aW9uKHBhdGgpIHtcbiAgICAgIC8qanNoaW50IGN1cmx5OmZhbHNlKi9cbiAgICAgIGxldCBzY29wZSA9IHBhdGguc2NvcGU7XG4gICAgICBpZiAoIXNjb3BlKSByZXR1cm47XG4gICAgICBjb25zdCBuYW1lID0gbmFtZUdldHRlci5hcHBseShwYXRoLCBhcmd1bWVudHMpO1xuICAgICAgaWYgKCFuYW1lKSByZXR1cm47XG4gICAgICBzY29wZSA9IHNjb3BlLmxvb2t1cChuYW1lKTtcbiAgICAgIGlmICghc2NvcGUpIHJldHVybjtcbiAgICAgIGNvbnN0IGJpbmRpbmdzID0gc2NvcGUuZ2V0QmluZGluZ3MoKVtuYW1lXTtcbiAgICAgIGlmICghYmluZGluZ3MpIHJldHVybjtcbiAgICAgIGNvbnN0IGRlY2wgPSBDb2xsZWN0aW9uLmZyb21QYXRocyhiaW5kaW5ncylcbiAgICAgICAgLmNsb3Nlc3QodHlwZXMuVmFyaWFibGVEZWNsYXJhdG9yKTtcbiAgICAgIGlmIChkZWNsLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICByZXR1cm4gZGVjbC5wYXRocygpWzBdO1xuICAgICAgfVxuICAgIH0sIHR5cGVzLlZhcmlhYmxlRGVjbGFyYXRvcik7XG4gIH0sXG59O1xuXG5mdW5jdGlvbiB0b0FycmF5KHZhbHVlKSB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogW3ZhbHVlXTtcbn1cblxuLyoqXG4qIEBtaXhpblxuKi9cbmNvbnN0IG11dGF0aW9uTWV0aG9kcyA9IHtcbiAgLyoqXG4gICAqIFNpbXBseSByZXBsYWNlcyB0aGUgc2VsZWN0ZWQgbm9kZXMgd2l0aCB0aGUgcHJvdmlkZWQgbm9kZS4gSWYgYSBmdW5jdGlvblxuICAgKiBpcyBwcm92aWRlZCBpdCBpcyBleGVjdXRlZCBmb3IgZXZlcnkgbm9kZSBhbmQgdGhlIG5vZGUgaXMgcmVwbGFjZWQgd2l0aCB0aGVcbiAgICogZnVuY3Rpb25zIHJldHVybiB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHtOb2RlfEFycmF5PE5vZGU+fGZ1bmN0aW9ufSBub2Rlc1xuICAgKiBAcmV0dXJuIHtDb2xsZWN0aW9ufVxuICAgKi9cbiAgcmVwbGFjZVdpdGg6IGZ1bmN0aW9uKG5vZGVzKSB7XG4gICAgcmV0dXJuIHRoaXMuZm9yRWFjaChmdW5jdGlvbihwYXRoLCBpKSB7XG4gICAgICBjb25zdCBuZXdOb2RlcyA9XG4gICAgICAgICh0eXBlb2Ygbm9kZXMgPT09ICdmdW5jdGlvbicpID8gbm9kZXMuY2FsbChwYXRoLCBwYXRoLCBpKSA6IG5vZGVzO1xuICAgICAgcGF0aC5yZXBsYWNlLmFwcGx5KHBhdGgsIHRvQXJyYXkobmV3Tm9kZXMpKTtcbiAgICB9KTtcbiAgfSxcblxuICAvKipcbiAgICogSW5zZXJ0cyBhIG5ldyBub2RlIGJlZm9yZSB0aGUgY3VycmVudCBvbmUuXG4gICAqXG4gICAqIEBwYXJhbSB7Tm9kZXxBcnJheTxOb2RlPnxmdW5jdGlvbn0gaW5zZXJ0XG4gICAqIEByZXR1cm4ge0NvbGxlY3Rpb259XG4gICAqL1xuICBpbnNlcnRCZWZvcmU6IGZ1bmN0aW9uKGluc2VydCkge1xuICAgIHJldHVybiB0aGlzLmZvckVhY2goZnVuY3Rpb24ocGF0aCwgaSkge1xuICAgICAgY29uc3QgbmV3Tm9kZXMgPVxuICAgICAgICAodHlwZW9mIGluc2VydCA9PT0gJ2Z1bmN0aW9uJykgPyBpbnNlcnQuY2FsbChwYXRoLCBwYXRoLCBpKSA6IGluc2VydDtcbiAgICAgIHBhdGguaW5zZXJ0QmVmb3JlLmFwcGx5KHBhdGgsIHRvQXJyYXkobmV3Tm9kZXMpKTtcbiAgICB9KTtcbiAgfSxcblxuICAvKipcbiAgICogSW5zZXJ0cyBhIG5ldyBub2RlIGFmdGVyIHRoZSBjdXJyZW50IG9uZS5cbiAgICpcbiAgICogQHBhcmFtIHtOb2RlfEFycmF5PE5vZGU+fGZ1bmN0aW9ufSBpbnNlcnRcbiAgICogQHJldHVybiB7Q29sbGVjdGlvbn1cbiAgICovXG4gIGluc2VydEFmdGVyOiBmdW5jdGlvbihpbnNlcnQpIHtcbiAgICByZXR1cm4gdGhpcy5mb3JFYWNoKGZ1bmN0aW9uKHBhdGgsIGkpIHtcbiAgICAgIGNvbnN0IG5ld05vZGVzID1cbiAgICAgICAgKHR5cGVvZiBpbnNlcnQgPT09ICdmdW5jdGlvbicpID8gaW5zZXJ0LmNhbGwocGF0aCwgcGF0aCwgaSkgOiBpbnNlcnQ7XG4gICAgICBwYXRoLmluc2VydEFmdGVyLmFwcGx5KHBhdGgsIHRvQXJyYXkobmV3Tm9kZXMpKTtcbiAgICB9KTtcbiAgfSxcblxuICByZW1vdmU6IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmZvckVhY2gocGF0aCA9PiBwYXRoLnBydW5lKCkpO1xuICB9XG5cbn07XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyKCkge1xuICBDb2xsZWN0aW9uLnJlZ2lzdGVyTWV0aG9kcyh0cmF2ZXJzYWxNZXRob2RzLCBOb2RlKTtcbiAgQ29sbGVjdGlvbi5yZWdpc3Rlck1ldGhvZHMobXV0YXRpb25NZXRob2RzLCBOb2RlKTtcbiAgQ29sbGVjdGlvbi5zZXREZWZhdWx0Q29sbGVjdGlvblR5cGUoTm9kZSk7XG59XG5cbmV4cG9ydHMucmVnaXN0ZXIgPSBvbmNlKHJlZ2lzdGVyKTtcbiIsICJcbi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBDb2xsZWN0aW9uID0gcmVxdWlyZSgnLi4vQ29sbGVjdGlvbicpO1xuY29uc3QgTm9kZUNvbGxlY3Rpb24gPSByZXF1aXJlKCcuL05vZGUnKTtcbmNvbnN0IG9uY2UgPSByZXF1aXJlKCcuLi91dGlscy9vbmNlJyk7XG5jb25zdCByZWNhc3QgPSByZXF1aXJlKCdyZWNhc3QnKTtcblxuY29uc3QgYXN0Tm9kZXNBcmVFcXVpdmFsZW50ID0gcmVjYXN0LnR5cGVzLmFzdE5vZGVzQXJlRXF1aXZhbGVudDtcbmNvbnN0IGIgPSByZWNhc3QudHlwZXMuYnVpbGRlcnM7XG52YXIgdHlwZXMgPSByZWNhc3QudHlwZXMubmFtZWRUeXBlcztcblxuY29uc3QgVmFyaWFibGVEZWNsYXJhdG9yID0gcmVjYXN0LnR5cGVzLm5hbWVkVHlwZXMuVmFyaWFibGVEZWNsYXJhdG9yO1xuXG4vKipcbiogQG1peGluXG4qL1xuY29uc3QgZ2xvYmFsTWV0aG9kcyA9IHtcbiAgLyoqXG4gICAqIEZpbmRzIGFsbCB2YXJpYWJsZSBkZWNsYXJhdG9ycywgb3B0aW9uYWxseSBmaWx0ZXJlZCBieSBuYW1lLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICAgKiBAcmV0dXJuIHtDb2xsZWN0aW9ufVxuICAgKi9cbiAgZmluZFZhcmlhYmxlRGVjbGFyYXRvcnM6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBjb25zdCBmaWx0ZXIgPSBuYW1lID8ge2lkOiB7bmFtZTogbmFtZX19IDogbnVsbDtcbiAgICByZXR1cm4gdGhpcy5maW5kKFZhcmlhYmxlRGVjbGFyYXRvciwgZmlsdGVyKTtcbiAgfVxufTtcblxuY29uc3QgZmlsdGVyTWV0aG9kcyA9IHtcbiAgLyoqXG4gICAqIFJldHVybnMgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgdHJ1ZSBpZiB0aGUgcHJvdmlkZWQgcGF0aCBpcyBhIHZhcmlhYmxlXG4gICAqIGRlY2xhcmF0b3IgYW5kIHJlcXVpcmVzIG9uZSBvZiB0aGUgc3BlY2lmaWVkIG1vZHVsZSBuYW1lcy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd8QXJyYXl9IG5hbWVzIEEgbW9kdWxlIG5hbWUgb3IgYW4gYXJyYXkgb2YgbW9kdWxlIG5hbWVzXG4gICAqIEByZXR1cm4ge0Z1bmN0aW9ufVxuICAgKi9cbiAgcmVxdWlyZXNNb2R1bGU6IGZ1bmN0aW9uKG5hbWVzKSB7XG4gICAgaWYgKG5hbWVzICYmICFBcnJheS5pc0FycmF5KG5hbWVzKSkge1xuICAgICAgbmFtZXMgPSBbbmFtZXNdO1xuICAgIH1cbiAgICBjb25zdCByZXF1aXJlSWRlbnRpZmllciA9IGIuaWRlbnRpZmllcigncmVxdWlyZScpO1xuICAgIHJldHVybiBmdW5jdGlvbihwYXRoKSB7XG4gICAgICBjb25zdCBub2RlID0gcGF0aC52YWx1ZTtcbiAgICAgIGlmICghVmFyaWFibGVEZWNsYXJhdG9yLmNoZWNrKG5vZGUpIHx8XG4gICAgICAgICAgIXR5cGVzLkNhbGxFeHByZXNzaW9uLmNoZWNrKG5vZGUuaW5pdCkgfHxcbiAgICAgICAgICAhYXN0Tm9kZXNBcmVFcXVpdmFsZW50KG5vZGUuaW5pdC5jYWxsZWUsIHJlcXVpcmVJZGVudGlmaWVyKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gIW5hbWVzIHx8XG4gICAgICAgIG5hbWVzLnNvbWUoXG4gICAgICAgICAgbiA9PiBhc3ROb2Rlc0FyZUVxdWl2YWxlbnQobm9kZS5pbml0LmFyZ3VtZW50c1swXSwgYi5saXRlcmFsKG4pKVxuICAgICAgICApO1xuICAgIH07XG4gIH1cbn07XG5cbi8qKlxuKiBAbWl4aW5cbiovXG5jb25zdCB0cmFuc2Zvcm1NZXRob2RzID0ge1xuICAvKipcbiAgICogUmVuYW1lcyBhIHZhcmlhYmxlIGFuZCBhbGwgaXRzIG9jY3VycmVuY2VzLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbmV3TmFtZVxuICAgKiBAcmV0dXJuIHtDb2xsZWN0aW9ufVxuICAgKi9cbiAgcmVuYW1lVG86IGZ1bmN0aW9uKG5ld05hbWUpIHtcbiAgICAvLyBUT0RPOiBJbmNsdWRlIEpTWEVsZW1lbnRzXG4gICAgcmV0dXJuIHRoaXMuZm9yRWFjaChmdW5jdGlvbihwYXRoKSB7XG4gICAgICBjb25zdCBub2RlID0gcGF0aC52YWx1ZTtcbiAgICAgIGNvbnN0IG9sZE5hbWUgPSBub2RlLmlkLm5hbWU7XG4gICAgICBjb25zdCByb290U2NvcGUgPSBwYXRoLnNjb3BlO1xuICAgICAgY29uc3Qgcm9vdFBhdGggPSByb290U2NvcGUucGF0aDtcbiAgICAgIENvbGxlY3Rpb24uZnJvbVBhdGhzKFtyb290UGF0aF0pXG4gICAgICAgIC5maW5kKHR5cGVzLklkZW50aWZpZXIsIHtuYW1lOiBvbGROYW1lfSlcbiAgICAgICAgLmZpbHRlcihmdW5jdGlvbihwYXRoKSB7IC8vIGlnbm9yZSBub24tdmFyaWFibGVzXG4gICAgICAgICAgY29uc3QgcGFyZW50ID0gcGF0aC5wYXJlbnQubm9kZTtcblxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHR5cGVzLk1lbWJlckV4cHJlc3Npb24uY2hlY2socGFyZW50KSAmJlxuICAgICAgICAgICAgcGFyZW50LnByb3BlcnR5ID09PSBwYXRoLm5vZGUgJiZcbiAgICAgICAgICAgICFwYXJlbnQuY29tcHV0ZWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIG9iai5vbGROYW1lXG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdHlwZXMuUHJvcGVydHkuY2hlY2socGFyZW50KSAmJlxuICAgICAgICAgICAgcGFyZW50LmtleSA9PT0gcGF0aC5ub2RlICYmXG4gICAgICAgICAgICAhcGFyZW50LmNvbXB1dGVkXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICAvLyB7IG9sZE5hbWU6IDMgfVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHR5cGVzLk9iamVjdFByb3BlcnR5LmNoZWNrKHBhcmVudCkgJiZcbiAgICAgICAgICAgIHBhcmVudC5rZXkgPT09IHBhdGgubm9kZSAmJlxuICAgICAgICAgICAgIXBhcmVudC5jb21wdXRlZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgLy8geyBvbGROYW1lOiAzIH1cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0eXBlcy5PYmplY3RNZXRob2QuY2hlY2socGFyZW50KSAmJlxuICAgICAgICAgICAgcGFyZW50LmtleSA9PT0gcGF0aC5ub2RlICYmXG4gICAgICAgICAgICAhcGFyZW50LmNvbXB1dGVkXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICAvLyB7IG9sZE5hbWUoKSB7fSB9XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdHlwZXMuTWV0aG9kRGVmaW5pdGlvbi5jaGVjayhwYXJlbnQpICYmXG4gICAgICAgICAgICBwYXJlbnQua2V5ID09PSBwYXRoLm5vZGUgJiZcbiAgICAgICAgICAgICFwYXJlbnQuY29tcHV0ZWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIGNsYXNzIEEgeyBvbGROYW1lKCkge30gfVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHR5cGVzLkNsYXNzTWV0aG9kLmNoZWNrKHBhcmVudCkgJiZcbiAgICAgICAgICAgIHBhcmVudC5rZXkgPT09IHBhdGgubm9kZSAmJlxuICAgICAgICAgICAgIXBhcmVudC5jb21wdXRlZFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgLy8gY2xhc3MgQSB7IG9sZE5hbWUoKSB7fSB9XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdHlwZXMuQ2xhc3NQcm9wZXJ0eS5jaGVjayhwYXJlbnQpICYmXG4gICAgICAgICAgICBwYXJlbnQua2V5ID09PSBwYXRoLm5vZGUgJiZcbiAgICAgICAgICAgICFwYXJlbnQuY29tcHV0ZWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIGNsYXNzIEEgeyBvbGROYW1lID0gMyB9XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdHlwZXMuSlNYQXR0cmlidXRlLmNoZWNrKHBhcmVudCkgJiZcbiAgICAgICAgICAgIHBhcmVudC5uYW1lID09PSBwYXRoLm5vZGUgJiZcbiAgICAgICAgICAgICFwYXJlbnQuY29tcHV0ZWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIDxGb28gb2xkTmFtZT17b2xkTmFtZX0gLz5cbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSlcbiAgICAgICAgLmZvckVhY2goZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICAgIGxldCBzY29wZSA9IHBhdGguc2NvcGU7XG4gICAgICAgICAgd2hpbGUgKHNjb3BlICYmIHNjb3BlICE9PSByb290U2NvcGUpIHtcbiAgICAgICAgICAgIGlmIChzY29wZS5kZWNsYXJlcyhvbGROYW1lKSkge1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzY29wZSA9IHNjb3BlLnBhcmVudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHNjb3BlKSB7IC8vIGlkZW50aWZpZXIgbXVzdCByZWZlciB0byBkZWNsYXJlZCB2YXJpYWJsZVxuXG4gICAgICAgICAgICAvLyBJdCBtYXkgbG9vayBsaWtlIHdlIGZpbHRlcmVkIG91dCBwcm9wZXJ0aWVzLFxuICAgICAgICAgICAgLy8gYnV0IHRoZSBmaWx0ZXIgb25seSBpZ25vcmVkIHByb3BlcnR5IFwia2V5c1wiLCBub3QgXCJ2YWx1ZVwic1xuICAgICAgICAgICAgLy8gSW4gc2hvcnRoYW5kIHByb3BlcnRpZXMsIFwia2V5XCIgYW5kIFwidmFsdWVcIiBib3RoIGhhdmUgYW5cbiAgICAgICAgICAgIC8vIElkZW50aWZpZXIgd2l0aCB0aGUgc2FtZSBzdHJ1Y3R1cmUuXG4gICAgICAgICAgICBjb25zdCBwYXJlbnQgPSBwYXRoLnBhcmVudC5ub2RlO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICB0eXBlcy5Qcm9wZXJ0eS5jaGVjayhwYXJlbnQpICYmXG4gICAgICAgICAgICAgIHBhcmVudC5zaG9ydGhhbmQgJiZcbiAgICAgICAgICAgICAgIXBhcmVudC5tZXRob2RcbiAgICAgICAgICAgICkgIHtcblxuICAgICAgICAgICAgICBwYXRoLnBhcmVudC5nZXQoJ3Nob3J0aGFuZCcpLnJlcGxhY2UoZmFsc2UpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYXRoLmdldCgnbmFtZScpLnJlcGxhY2UobmV3TmFtZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxufTtcblxuXG5mdW5jdGlvbiByZWdpc3RlcigpIHtcbiAgTm9kZUNvbGxlY3Rpb24ucmVnaXN0ZXIoKTtcbiAgQ29sbGVjdGlvbi5yZWdpc3Rlck1ldGhvZHMoZ2xvYmFsTWV0aG9kcyk7XG4gIENvbGxlY3Rpb24ucmVnaXN0ZXJNZXRob2RzKHRyYW5zZm9ybU1ldGhvZHMsIFZhcmlhYmxlRGVjbGFyYXRvcik7XG59XG5cbmV4cG9ydHMucmVnaXN0ZXIgPSBvbmNlKHJlZ2lzdGVyKTtcbmV4cG9ydHMuZmlsdGVycyA9IGZpbHRlck1ldGhvZHM7XG4iLCAiXG4vKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuY29uc3QgQ29sbGVjdGlvbiA9IHJlcXVpcmUoJy4uL0NvbGxlY3Rpb24nKTtcbmNvbnN0IE5vZGVDb2xsZWN0aW9uID0gcmVxdWlyZSgnLi9Ob2RlJyk7XG5cbmNvbnN0IGFzc2VydCA9IHJlcXVpcmUoJ2Fzc2VydCcpO1xuY29uc3Qgb25jZSA9IHJlcXVpcmUoJy4uL3V0aWxzL29uY2UnKTtcbmNvbnN0IHJlY2FzdCA9IHJlcXVpcmUoJ3JlY2FzdCcpO1xuY29uc3QgcmVxdWlyZXNNb2R1bGUgPSByZXF1aXJlKCcuL1ZhcmlhYmxlRGVjbGFyYXRvcicpLmZpbHRlcnMucmVxdWlyZXNNb2R1bGU7XG5cbmNvbnN0IHR5cGVzID0gcmVjYXN0LnR5cGVzLm5hbWVkVHlwZXM7XG5jb25zdCBKU1hFbGVtZW50ID0gdHlwZXMuSlNYRWxlbWVudDtcbmNvbnN0IEpTWEF0dHJpYnV0ZSA9IHR5cGVzLkpTWEF0dHJpYnV0ZTtcbmNvbnN0IExpdGVyYWwgPSB0eXBlcy5MaXRlcmFsO1xuXG4vKipcbiAqIENvbnRhaW5zIGZpbHRlciBtZXRob2RzIGFuZCBtdXRhdGlvbiBtZXRob2RzIGZvciBwcm9jZXNzaW5nIEpTWEVsZW1lbnRzLlxuICogQG1peGluXG4gKi9cbmNvbnN0IGdsb2JhbE1ldGhvZHMgPSB7XG4gIC8qKlxuICAgKiBGaW5kcyBhbGwgSlNYRWxlbWVudHMgb3B0aW9uYWxseSBmaWx0ZXJlZCBieSBuYW1lXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEByZXR1cm4ge0NvbGxlY3Rpb259XG4gICAqL1xuICBmaW5kSlNYRWxlbWVudHM6IGZ1bmN0aW9uKG5hbWUpIHtcbiAgICBjb25zdCBuYW1lRmlsdGVyID0gbmFtZSAmJiB7b3BlbmluZ0VsZW1lbnQ6IHtuYW1lOiB7bmFtZTogbmFtZX19fTtcbiAgICByZXR1cm4gdGhpcy5maW5kKEpTWEVsZW1lbnQsIG5hbWVGaWx0ZXIpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBGaW5kcyBhbGwgSlNYRWxlbWVudHMgYnkgbW9kdWxlIG5hbWUuIEdpdmVuXG4gICAqXG4gICAqICAgICB2YXIgQmFyID0gcmVxdWlyZSgnRm9vJyk7XG4gICAqICAgICA8QmFyIC8+XG4gICAqXG4gICAqIGZpbmRKU1hFbGVtZW50c0J5TW9kdWxlTmFtZSgnRm9vJykgd2lsbCBmaW5kIDxCYXIgLz4sIHdpdGhvdXQgaGF2aW5nIHRvXG4gICAqIGtub3cgdGhlIHZhcmlhYmxlIG5hbWUuXG4gICAqL1xuICBmaW5kSlNYRWxlbWVudHNCeU1vZHVsZU5hbWU6IGZ1bmN0aW9uKG1vZHVsZU5hbWUpIHtcbiAgICBhc3NlcnQub2soXG4gICAgICBtb2R1bGVOYW1lICYmIHR5cGVvZiBtb2R1bGVOYW1lID09PSAnc3RyaW5nJyxcbiAgICAgICdmaW5kSlNYRWxlbWVudHNCeU1vZHVsZU5hbWUoLi4uKSBuZWVkcyBhIG5hbWUgdG8gbG9vayBmb3InXG4gICAgKTtcblxuICAgIHJldHVybiB0aGlzLmZpbmQodHlwZXMuVmFyaWFibGVEZWNsYXJhdG9yKVxuICAgICAgLmZpbHRlcihyZXF1aXJlc01vZHVsZShtb2R1bGVOYW1lKSlcbiAgICAgIC5tYXAoZnVuY3Rpb24ocGF0aCkge1xuICAgICAgICBjb25zdCBpZCA9IHBhdGgudmFsdWUuaWQubmFtZTtcbiAgICAgICAgaWYgKGlkKSB7XG4gICAgICAgICAgcmV0dXJuIENvbGxlY3Rpb24uZnJvbVBhdGhzKFtwYXRoXSlcbiAgICAgICAgICAgIC5jbG9zZXN0U2NvcGUoKVxuICAgICAgICAgICAgLmZpbmRKU1hFbGVtZW50cyhpZClcbiAgICAgICAgICAgIC5wYXRocygpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgfVxufTtcblxuY29uc3QgZmlsdGVyTWV0aG9kcyA9IHtcblxuICAvKipcbiAgICogRmlsdGVyIG1ldGhvZCBmb3IgYXR0cmlidXRlcy5cbiAgICpcbiAgICogQHBhcmFtIHtPYmplY3R9IGF0dHJpYnV0ZUZpbHRlclxuICAgKiBAcmV0dXJuIHtmdW5jdGlvbn1cbiAgICovXG4gIGhhc0F0dHJpYnV0ZXM6IGZ1bmN0aW9uKGF0dHJpYnV0ZUZpbHRlcikge1xuICAgIGNvbnN0IGF0dHJpYnV0ZU5hbWVzID0gT2JqZWN0LmtleXMoYXR0cmlidXRlRmlsdGVyKTtcbiAgICByZXR1cm4gZnVuY3Rpb24gZmlsdGVyKHBhdGgpIHtcbiAgICAgIGlmICghSlNYRWxlbWVudC5jaGVjayhwYXRoLnZhbHVlKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBjb25zdCBlbGVtZW50QXR0cmlidXRlcyA9IE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICBwYXRoLnZhbHVlLm9wZW5pbmdFbGVtZW50LmF0dHJpYnV0ZXMuZm9yRWFjaChmdW5jdGlvbihhdHRyKSB7XG4gICAgICAgIGlmICghSlNYQXR0cmlidXRlLmNoZWNrKGF0dHIpIHx8XG4gICAgICAgICAgIShhdHRyLm5hbWUubmFtZSBpbiBhdHRyaWJ1dGVGaWx0ZXIpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGVsZW1lbnRBdHRyaWJ1dGVzW2F0dHIubmFtZS5uYW1lXSA9IGF0dHI7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIGF0dHJpYnV0ZU5hbWVzLmV2ZXJ5KGZ1bmN0aW9uKG5hbWUpIHtcbiAgICAgICAgaWYgKCEobmFtZSBpbiBlbGVtZW50QXR0cmlidXRlcykgKXtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWx1ZSA9IGVsZW1lbnRBdHRyaWJ1dGVzW25hbWVdLnZhbHVlO1xuICAgICAgICBjb25zdCBleHBlY3RlZCA9IGF0dHJpYnV0ZUZpbHRlcltuYW1lXTtcblxuICAgICAgICAvLyBPbmx5IHdoZW4gdmFsdWUgaXMgdHJ1dGh5IGFjY2VzcyBpdCdzIHByb3BlcnRpZXNcbiAgICAgICAgY29uc3QgYWN0dWFsID0gIXZhbHVlXG4gICAgICAgICAgPyB2YWx1ZVxuICAgICAgICAgIDogTGl0ZXJhbC5jaGVjayh2YWx1ZSlcbiAgICAgICAgICA/IHZhbHVlLnZhbHVlXG4gICAgICAgICAgOiB2YWx1ZS5leHByZXNzaW9uO1xuXG4gICAgICAgIGlmICh0eXBlb2YgZXhwZWN0ZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICByZXR1cm4gZXhwZWN0ZWQoYWN0dWFsKTtcbiAgICAgICAgfVxuXG4gICAgICAgICAvLyBMaXRlcmFsIGF0dHJpYnV0ZSB2YWx1ZXMgYXJlIGFsd2F5cyBzdHJpbmdzXG4gICAgICAgIHJldHVybiBTdHJpbmcoZXhwZWN0ZWQpID09PSBhY3R1YWw7XG4gICAgICB9KTtcbiAgICB9O1xuICB9LFxuXG4gIC8qKlxuICAgKiBGaWx0ZXIgZWxlbWVudHMgd2hpY2ggY29udGFpbiBhIHNwZWNpZmljIGNoaWxkIHR5cGVcbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICogQHJldHVybiB7ZnVuY3Rpb259XG4gICAqL1xuICBoYXNDaGlsZHJlbjogZnVuY3Rpb24obmFtZSkge1xuICAgIHJldHVybiBmdW5jdGlvbiBmaWx0ZXIocGF0aCkge1xuICAgICAgcmV0dXJuIEpTWEVsZW1lbnQuY2hlY2socGF0aC52YWx1ZSkgJiZcbiAgICAgICAgcGF0aC52YWx1ZS5jaGlsZHJlbi5zb21lKFxuICAgICAgICAgIGNoaWxkID0+IEpTWEVsZW1lbnQuY2hlY2soY2hpbGQpICYmXG4gICAgICAgICAgICAgICAgICAgY2hpbGQub3BlbmluZ0VsZW1lbnQubmFtZS5uYW1lID09PSBuYW1lXG4gICAgICAgICk7XG4gICAgfTtcbiAgfVxufTtcblxuLyoqXG4qIEBtaXhpblxuKi9cbmNvbnN0IHRyYXZlcnNhbE1ldGhvZHMgPSB7XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIGNoaWxkIG5vZGVzLCBpbmNsdWRpbmcgbGl0ZXJhbHMgYW5kIGV4cHJlc3Npb25zLlxuICAgKlxuICAgKiBAcmV0dXJuIHtDb2xsZWN0aW9ufVxuICAgKi9cbiAgY2hpbGROb2RlczogZnVuY3Rpb24oKSB7XG4gICAgY29uc3QgcGF0aHMgPSBbXTtcbiAgICB0aGlzLmZvckVhY2goZnVuY3Rpb24ocGF0aCkge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBwYXRoLmdldCgnY2hpbGRyZW4nKTtcbiAgICAgIGNvbnN0IGwgPSBjaGlsZHJlbi52YWx1ZS5sZW5ndGg7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgICBwYXRocy5wdXNoKGNoaWxkcmVuLmdldChpKSk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIENvbGxlY3Rpb24uZnJvbVBhdGhzKHBhdGhzLCB0aGlzKTtcbiAgfSxcblxuICAvKipcbiAgICogUmV0dXJucyBhbGwgY2hpbGRyZW4gdGhhdCBhcmUgSlNYRWxlbWVudHMuXG4gICAqXG4gICAqIEByZXR1cm4ge0pTWEVsZW1lbnRDb2xsZWN0aW9ufVxuICAgKi9cbiAgY2hpbGRFbGVtZW50czogZnVuY3Rpb24oKSB7XG4gICAgY29uc3QgcGF0aHMgPSBbXTtcbiAgICB0aGlzLmZvckVhY2goZnVuY3Rpb24ocGF0aCkge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBwYXRoLmdldCgnY2hpbGRyZW4nKTtcbiAgICAgIGNvbnN0IGwgPSBjaGlsZHJlbi52YWx1ZS5sZW5ndGg7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAodHlwZXMuSlNYRWxlbWVudC5jaGVjayhjaGlsZHJlbi52YWx1ZVtpXSkpIHtcbiAgICAgICAgICBwYXRocy5wdXNoKGNoaWxkcmVuLmdldChpKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gQ29sbGVjdGlvbi5mcm9tUGF0aHMocGF0aHMsIHRoaXMsIEpTWEVsZW1lbnQpO1xuICB9LFxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGFsbCBjaGlsZHJlbiB0aGF0IGFyZSBvZiBqc3hFbGVtZW50VHlwZS5cbiAgICpcbiAgICogQHJldHVybiB7Q29sbGVjdGlvbjxqc3hFbGVtZW50VHlwZT59XG4gICAqL1xuICBjaGlsZE5vZGVzT2ZUeXBlOiBmdW5jdGlvbihqc3hDaGlsZEVsZW1lbnRUeXBlKSB7XG4gICAgY29uc3QgcGF0aHMgPSBbXTtcbiAgICB0aGlzLmZvckVhY2goZnVuY3Rpb24ocGF0aCkge1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBwYXRoLmdldCgnY2hpbGRyZW4nKTtcbiAgICAgIGNvbnN0IGwgPSBjaGlsZHJlbi52YWx1ZS5sZW5ndGg7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGw7IGkrKykge1xuICAgICAgICBpZiAoanN4Q2hpbGRFbGVtZW50VHlwZS5jaGVjayhjaGlsZHJlbi52YWx1ZVtpXSkpIHtcbiAgICAgICAgICBwYXRocy5wdXNoKGNoaWxkcmVuLmdldChpKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gQ29sbGVjdGlvbi5mcm9tUGF0aHMocGF0aHMsIHRoaXMsIGpzeENoaWxkRWxlbWVudFR5cGUpO1xuICB9LFxufTtcblxuY29uc3QgbWFwcGluZ01ldGhvZHMgPSB7XG4gIC8qKlxuICAgKiBHaXZlbiBhIEpTWEVsZW1lbnQsIHJldHVybnMgaXRzIFwicm9vdFwiIG5hbWUuIEUuZy4gaXQgd291bGQgcmV0dXJuIFwiRm9vXCIgZm9yXG4gICAqIGJvdGggPEZvbyAvPiBhbmQgPEZvby5CYXIgLz4uXG4gICAqXG4gICAqIEBwYXJhbSB7Tm9kZVBhdGh9IHBhdGhcbiAgICogQHJldHVybiB7c3RyaW5nfVxuICAgKi9cbiAgZ2V0Um9vdE5hbWU6IGZ1bmN0aW9uKHBhdGgpIHtcbiAgICBsZXQgbmFtZSA9IHBhdGgudmFsdWUub3BlbmluZ0VsZW1lbnQubmFtZTtcbiAgICB3aGlsZSAodHlwZXMuSlNYTWVtYmVyRXhwcmVzc2lvbi5jaGVjayhuYW1lKSkge1xuICAgICAgbmFtZSA9IG5hbWUub2JqZWN0O1xuICAgIH1cblxuICAgIHJldHVybiBuYW1lICYmIG5hbWUubmFtZSB8fCBudWxsO1xuICB9XG59O1xuXG5mdW5jdGlvbiByZWdpc3RlcigpIHtcbiAgTm9kZUNvbGxlY3Rpb24ucmVnaXN0ZXIoKTtcbiAgQ29sbGVjdGlvbi5yZWdpc3Rlck1ldGhvZHMoZ2xvYmFsTWV0aG9kcywgdHlwZXMuTm9kZSk7XG4gIENvbGxlY3Rpb24ucmVnaXN0ZXJNZXRob2RzKHRyYXZlcnNhbE1ldGhvZHMsIEpTWEVsZW1lbnQpO1xufVxuXG5leHBvcnRzLnJlZ2lzdGVyID0gb25jZShyZWdpc3Rlcik7XG5leHBvcnRzLmZpbHRlcnMgPSBmaWx0ZXJNZXRob2RzO1xuZXhwb3J0cy5tYXBwaW5ncyA9IG1hcHBpbmdNZXRob2RzO1xuIiwgIlxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgTm9kZTogcmVxdWlyZSgnLi9Ob2RlJyksXG4gIEpTWEVsZW1lbnQ6IHJlcXVpcmUoJy4vSlNYRWxlbWVudCcpLFxuICBWYXJpYWJsZURlY2xhcmF0b3I6IHJlcXVpcmUoJy4vVmFyaWFibGVEZWNsYXJhdG9yJyksXG59O1xuIiwgImV4cG9ydCB0eXBlIFBvcyA9IHtcbiAgc3RhcnQ6IG51bWJlcjtcbn07XG5cbi8vIFRoZXNlIGFyZSB1c2VkIHdoZW4gYG9wdGlvbnMubG9jYXRpb25zYCBpcyBvbiwgZm9yIHRoZVxuLy8gYHN0YXJ0TG9jYCBhbmQgYGVuZExvY2AgcHJvcGVydGllcy5cblxuZXhwb3J0IGNsYXNzIFBvc2l0aW9uIHtcbiAgbGluZTogbnVtYmVyO1xuICBjb2x1bW46IG51bWJlcjtcbiAgaW5kZXg6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihsaW5lOiBudW1iZXIsIGNvbDogbnVtYmVyLCBpbmRleDogbnVtYmVyKSB7XG4gICAgdGhpcy5saW5lID0gbGluZTtcbiAgICB0aGlzLmNvbHVtbiA9IGNvbDtcbiAgICB0aGlzLmluZGV4ID0gaW5kZXg7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNvdXJjZUxvY2F0aW9uIHtcbiAgc3RhcnQ6IFBvc2l0aW9uO1xuICBlbmQ6IFBvc2l0aW9uO1xuICBmaWxlbmFtZTogc3RyaW5nO1xuICBpZGVudGlmaWVyTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbDtcblxuICBjb25zdHJ1Y3RvcihzdGFydDogUG9zaXRpb24sIGVuZD86IFBvc2l0aW9uKSB7XG4gICAgdGhpcy5zdGFydCA9IHN0YXJ0O1xuICAgIC8vIChtYXkgc3RhcnQgYXMgbnVsbCwgYnV0IGluaXRpYWxpemVkIGxhdGVyKVxuICAgIHRoaXMuZW5kID0gZW5kO1xuICB9XG59XG5cbi8qKlxuICogY3JlYXRlcyBhIG5ldyBwb3NpdGlvbiB3aXRoIGEgbm9uLXplcm8gY29sdW1uIG9mZnNldCBmcm9tIHRoZSBnaXZlbiBwb3NpdGlvbi5cbiAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIGJlIG9ubHkgYmUgdXNlZCB3aGVuIHdlIGNyZWF0ZSBBU1Qgbm9kZSBvdXQgb2YgdGhlIHRva2VuXG4gKiBib3VuZGFyaWVzLCBzdWNoIGFzIFRlbXBsYXRlRWxlbWVudCBlbmRzIGJlZm9yZSB0dC50ZW1wbGF0ZU5vblRhaWwuIFRoaXNcbiAqIGZ1bmN0aW9uIGRvZXMgbm90IHNraXAgd2hpdGVzcGFjZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVQb3NpdGlvbldpdGhDb2x1bW5PZmZzZXQoXG4gIHBvc2l0aW9uOiBQb3NpdGlvbixcbiAgY29sdW1uT2Zmc2V0OiBudW1iZXIsXG4pIHtcbiAgY29uc3QgeyBsaW5lLCBjb2x1bW4sIGluZGV4IH0gPSBwb3NpdGlvbjtcbiAgcmV0dXJuIG5ldyBQb3NpdGlvbihsaW5lLCBjb2x1bW4gKyBjb2x1bW5PZmZzZXQsIGluZGV4ICsgY29sdW1uT2Zmc2V0KTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IFBhcnNlRXJyb3JUZW1wbGF0ZXMgfSBmcm9tIFwiLi4vcGFyc2UtZXJyb3IudHNcIjtcblxuY29uc3QgY29kZSA9IFwiQkFCRUxfUEFSU0VSX1NPVVJDRVRZUEVfTU9EVUxFX1JFUVVJUkVEXCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgSW1wb3J0TWV0YU91dHNpZGVNb2R1bGU6IHtcbiAgICBtZXNzYWdlOiBgaW1wb3J0Lm1ldGEgbWF5IGFwcGVhciBvbmx5IHdpdGggJ3NvdXJjZVR5cGU6IFwibW9kdWxlXCInYCxcbiAgICBjb2RlLFxuICB9LFxuICBJbXBvcnRPdXRzaWRlTW9kdWxlOiB7XG4gICAgbWVzc2FnZTogYCdpbXBvcnQnIGFuZCAnZXhwb3J0JyBtYXkgYXBwZWFyIG9ubHkgd2l0aCAnc291cmNlVHlwZTogXCJtb2R1bGVcIidgLFxuICAgIGNvZGUsXG4gIH0sXG59IHNhdGlzZmllcyBQYXJzZUVycm9yVGVtcGxhdGVzO1xuIiwgImNvbnN0IE5vZGVEZXNjcmlwdGlvbnMgPSB7XG4gIEFycmF5UGF0dGVybjogXCJhcnJheSBkZXN0cnVjdHVyaW5nIHBhdHRlcm5cIixcbiAgQXNzaWdubWVudEV4cHJlc3Npb246IFwiYXNzaWdubWVudCBleHByZXNzaW9uXCIsXG4gIEFzc2lnbm1lbnRQYXR0ZXJuOiBcImFzc2lnbm1lbnQgZXhwcmVzc2lvblwiLFxuICBBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbjogXCJhcnJvdyBmdW5jdGlvbiBleHByZXNzaW9uXCIsXG4gIENvbmRpdGlvbmFsRXhwcmVzc2lvbjogXCJjb25kaXRpb25hbCBleHByZXNzaW9uXCIsXG4gIENhdGNoQ2xhdXNlOiBcImNhdGNoIGNsYXVzZVwiLFxuICBGb3JPZlN0YXRlbWVudDogXCJmb3Itb2Ygc3RhdGVtZW50XCIsXG4gIEZvckluU3RhdGVtZW50OiBcImZvci1pbiBzdGF0ZW1lbnRcIixcbiAgRm9yU3RhdGVtZW50OiBcImZvci1sb29wXCIsXG4gIEZvcm1hbFBhcmFtZXRlcnM6IFwiZnVuY3Rpb24gcGFyYW1ldGVyIGxpc3RcIixcbiAgSWRlbnRpZmllcjogXCJpZGVudGlmaWVyXCIsXG4gIEltcG9ydFNwZWNpZmllcjogXCJpbXBvcnQgc3BlY2lmaWVyXCIsXG4gIEltcG9ydERlZmF1bHRTcGVjaWZpZXI6IFwiaW1wb3J0IGRlZmF1bHQgc3BlY2lmaWVyXCIsXG4gIEltcG9ydE5hbWVzcGFjZVNwZWNpZmllcjogXCJpbXBvcnQgbmFtZXNwYWNlIHNwZWNpZmllclwiLFxuICBPYmplY3RQYXR0ZXJuOiBcIm9iamVjdCBkZXN0cnVjdHVyaW5nIHBhdHRlcm5cIixcbiAgUGFyZW50aGVzaXplZEV4cHJlc3Npb246IFwicGFyZW50aGVzaXplZCBleHByZXNzaW9uXCIsXG4gIFJlc3RFbGVtZW50OiBcInJlc3QgZWxlbWVudFwiLFxuICBVcGRhdGVFeHByZXNzaW9uOiB7XG4gICAgdHJ1ZTogXCJwcmVmaXggb3BlcmF0aW9uXCIsXG4gICAgZmFsc2U6IFwicG9zdGZpeCBvcGVyYXRpb25cIixcbiAgfSxcbiAgVmFyaWFibGVEZWNsYXJhdG9yOiBcInZhcmlhYmxlIGRlY2xhcmF0aW9uXCIsXG4gIFlpZWxkRXhwcmVzc2lvbjogXCJ5aWVsZCBleHByZXNzaW9uXCIsXG59O1xuXG50eXBlIE5vZGVUeXBlc1dpdGhEZXNjcmlwdGlvbnMgPSBrZXlvZiBPbWl0PFxuICB0eXBlb2YgTm9kZURlc2NyaXB0aW9ucyxcbiAgXCJVcGRhdGVFeHByZXNzaW9uXCJcbj47XG5cbnR5cGUgTm9kZVdpdGhEZXNjcmlwdGlvbiA9XG4gIHwge1xuICAgICAgdHlwZTogXCJVcGRhdGVFeHByZXNzaW9uXCI7XG4gICAgICBwcmVmaXg6IGJvb2xlYW47XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IE5vZGVUeXBlc1dpdGhEZXNjcmlwdGlvbnM7XG4gICAgfTtcblxuY29uc3QgdG9Ob2RlRGVzY3JpcHRpb24gPSAobm9kZTogTm9kZVdpdGhEZXNjcmlwdGlvbikgPT5cbiAgbm9kZS50eXBlID09PSBcIlVwZGF0ZUV4cHJlc3Npb25cIlxuICAgID8gTm9kZURlc2NyaXB0aW9ucy5VcGRhdGVFeHByZXNzaW9uW2Ake25vZGUucHJlZml4fWBdXG4gICAgOiBOb2RlRGVzY3JpcHRpb25zW25vZGUudHlwZV07XG5cbmV4cG9ydCBkZWZhdWx0IHRvTm9kZURlc2NyaXB0aW9uO1xuIiwgImltcG9ydCB0eXBlIHsgUGFyc2VFcnJvclRlbXBsYXRlcyB9IGZyb20gXCIuLi9wYXJzZS1lcnJvci50c1wiO1xuaW1wb3J0IHRvTm9kZURlc2NyaXB0aW9uIGZyb20gXCIuL3RvLW5vZGUtZGVzY3JpcHRpb24udHNcIjtcblxuZXhwb3J0IHR5cGUgTFZhbEFuY2VzdG9yID1cbiAgfCB7IHR5cGU6IFwiVXBkYXRlRXhwcmVzc2lvblwiOyBwcmVmaXg6IGJvb2xlYW4gfVxuICB8IHtcbiAgICAgIHR5cGU6XG4gICAgICAgIHwgXCJBcnJheVBhdHRlcm5cIlxuICAgICAgICB8IFwiQXNzaWdubWVudEV4cHJlc3Npb25cIlxuICAgICAgICB8IFwiQ2F0Y2hDbGF1c2VcIlxuICAgICAgICB8IFwiRm9yT2ZTdGF0ZW1lbnRcIlxuICAgICAgICB8IFwiRm9ybWFsUGFyYW1ldGVyc1wiXG4gICAgICAgIHwgXCJGb3JJblN0YXRlbWVudFwiXG4gICAgICAgIHwgXCJGb3JTdGF0ZW1lbnRcIlxuICAgICAgICB8IFwiSW1wb3J0U3BlY2lmaWVyXCJcbiAgICAgICAgfCBcIkltcG9ydE5hbWVzcGFjZVNwZWNpZmllclwiXG4gICAgICAgIHwgXCJJbXBvcnREZWZhdWx0U3BlY2lmaWVyXCJcbiAgICAgICAgfCBcIlBhcmVudGhlc2l6ZWRFeHByZXNzaW9uXCJcbiAgICAgICAgfCBcIk9iamVjdFBhdHRlcm5cIlxuICAgICAgICB8IFwiUmVzdEVsZW1lbnRcIlxuICAgICAgICB8IFwiVmFyaWFibGVEZWNsYXJhdG9yXCI7XG4gICAgfTtcblxuZXhwb3J0IGRlZmF1bHQge1xuICBBY2Nlc3NvcklzR2VuZXJhdG9yOiAoeyBraW5kIH06IHsga2luZDogXCJnZXRcIiB8IFwic2V0XCIgfSkgPT5cbiAgICBgQSAke2tpbmR9dGVyIGNhbm5vdCBiZSBhIGdlbmVyYXRvci5gLFxuICBBcmd1bWVudHNJbkNsYXNzOlxuICAgIFwiJ2FyZ3VtZW50cycgaXMgb25seSBhbGxvd2VkIGluIGZ1bmN0aW9ucyBhbmQgY2xhc3MgbWV0aG9kcy5cIixcbiAgQXN5bmNGdW5jdGlvbkluU2luZ2xlU3RhdGVtZW50Q29udGV4dDpcbiAgICBcIkFzeW5jIGZ1bmN0aW9ucyBjYW4gb25seSBiZSBkZWNsYXJlZCBhdCB0aGUgdG9wIGxldmVsIG9yIGluc2lkZSBhIGJsb2NrLlwiLFxuICBBd2FpdEJpbmRpbmdJZGVudGlmaWVyOlxuICAgIFwiQ2FuIG5vdCB1c2UgJ2F3YWl0JyBhcyBpZGVudGlmaWVyIGluc2lkZSBhbiBhc3luYyBmdW5jdGlvbi5cIixcbiAgQXdhaXRCaW5kaW5nSWRlbnRpZmllckluU3RhdGljQmxvY2s6XG4gICAgXCJDYW4gbm90IHVzZSAnYXdhaXQnIGFzIGlkZW50aWZpZXIgaW5zaWRlIGEgc3RhdGljIGJsb2NrLlwiLFxuICBBd2FpdEV4cHJlc3Npb25Gb3JtYWxQYXJhbWV0ZXI6XG4gICAgXCInYXdhaXQnIGlzIG5vdCBhbGxvd2VkIGluIGFzeW5jIGZ1bmN0aW9uIHBhcmFtZXRlcnMuXCIsXG4gIEF3YWl0VXNpbmdOb3RJbkFzeW5jQ29udGV4dDpcbiAgICBcIidhd2FpdCB1c2luZycgaXMgb25seSBhbGxvd2VkIHdpdGhpbiBhc3luYyBmdW5jdGlvbnMgYW5kIGF0IHRoZSB0b3AgbGV2ZWxzIG9mIG1vZHVsZXMuXCIsXG4gIEF3YWl0Tm90SW5Bc3luY0NvbnRleHQ6XG4gICAgXCInYXdhaXQnIGlzIG9ubHkgYWxsb3dlZCB3aXRoaW4gYXN5bmMgZnVuY3Rpb25zIGFuZCBhdCB0aGUgdG9wIGxldmVscyBvZiBtb2R1bGVzLlwiLFxuICBBd2FpdE5vdEluQXN5bmNGdW5jdGlvbjogXCInYXdhaXQnIGlzIG9ubHkgYWxsb3dlZCB3aXRoaW4gYXN5bmMgZnVuY3Rpb25zLlwiLFxuICBCYWRHZXR0ZXJBcml0eTogXCJBICdnZXQnIGFjY2Vzc29yIG11c3Qgbm90IGhhdmUgYW55IGZvcm1hbCBwYXJhbWV0ZXJzLlwiLFxuICBCYWRTZXR0ZXJBcml0eTogXCJBICdzZXQnIGFjY2Vzc29yIG11c3QgaGF2ZSBleGFjdGx5IG9uZSBmb3JtYWwgcGFyYW1ldGVyLlwiLFxuICBCYWRTZXR0ZXJSZXN0UGFyYW1ldGVyOlxuICAgIFwiQSAnc2V0JyBhY2Nlc3NvciBmdW5jdGlvbiBhcmd1bWVudCBtdXN0IG5vdCBiZSBhIHJlc3QgcGFyYW1ldGVyLlwiLFxuICBDb25zdHJ1Y3RvckNsYXNzRmllbGQ6IFwiQ2xhc3NlcyBtYXkgbm90IGhhdmUgYSBmaWVsZCBuYW1lZCAnY29uc3RydWN0b3InLlwiLFxuICBDb25zdHJ1Y3RvckNsYXNzUHJpdmF0ZUZpZWxkOlxuICAgIFwiQ2xhc3NlcyBtYXkgbm90IGhhdmUgYSBwcml2YXRlIGZpZWxkIG5hbWVkICcjY29uc3RydWN0b3InLlwiLFxuICBDb25zdHJ1Y3RvcklzQWNjZXNzb3I6IFwiQ2xhc3MgY29uc3RydWN0b3IgbWF5IG5vdCBiZSBhbiBhY2Nlc3Nvci5cIixcbiAgQ29uc3RydWN0b3JJc0FzeW5jOiBcIkNvbnN0cnVjdG9yIGNhbid0IGJlIGFuIGFzeW5jIGZ1bmN0aW9uLlwiLFxuICBDb25zdHJ1Y3RvcklzR2VuZXJhdG9yOiBcIkNvbnN0cnVjdG9yIGNhbid0IGJlIGEgZ2VuZXJhdG9yLlwiLFxuICBEZWNsYXJhdGlvbk1pc3NpbmdJbml0aWFsaXplcjogKHtcbiAgICBraW5kLFxuICB9OiB7XG4gICAga2luZDogXCJhd2FpdCB1c2luZ1wiIHwgXCJjb25zdFwiIHwgXCJkZXN0cnVjdHVyaW5nXCIgfCBcInVzaW5nXCI7XG4gIH0pID0+IGBNaXNzaW5nIGluaXRpYWxpemVyIGluICR7a2luZH0gZGVjbGFyYXRpb24uYCxcbiAgRGVjb3JhdG9yQXJndW1lbnRzT3V0c2lkZVBhcmVudGhlc2VzOlxuICAgIFwiRGVjb3JhdG9yIGFyZ3VtZW50cyBtdXN0IGJlIG1vdmVkIGluc2lkZSBwYXJlbnRoZXNlczogdXNlICdAKGRlY29yYXRvcihhcmdzKSknIGluc3RlYWQgb2YgJ0AoZGVjb3JhdG9yKShhcmdzKScuXCIsXG4gIERlY29yYXRvckJlZm9yZUV4cG9ydDpcbiAgICBcIkRlY29yYXRvcnMgbXVzdCBiZSBwbGFjZWQgKmJlZm9yZSogdGhlICdleHBvcnQnIGtleXdvcmQuIFJlbW92ZSB0aGUgJ2RlY29yYXRvcnNCZWZvcmVFeHBvcnQ6IHRydWUnIG9wdGlvbiB0byB1c2UgdGhlICdleHBvcnQgQGRlY29yYXRvciBjbGFzcyB7fScgc3ludGF4LlwiLFxuICBEZWNvcmF0b3JzQmVmb3JlQWZ0ZXJFeHBvcnQ6XG4gICAgXCJEZWNvcmF0b3JzIGNhbiBiZSBwbGFjZWQgKmVpdGhlciogYmVmb3JlIG9yIGFmdGVyIHRoZSAnZXhwb3J0JyBrZXl3b3JkLCBidXQgbm90IGluIGJvdGggbG9jYXRpb25zIGF0IHRoZSBzYW1lIHRpbWUuXCIsXG4gIERlY29yYXRvckNvbnN0cnVjdG9yOlxuICAgIFwiRGVjb3JhdG9ycyBjYW4ndCBiZSB1c2VkIHdpdGggYSBjb25zdHJ1Y3Rvci4gRGlkIHlvdSBtZWFuICdAZGVjIGNsYXNzIHsgLi4uIH0nP1wiLFxuICBEZWNvcmF0b3JFeHBvcnRDbGFzczpcbiAgICBcIkRlY29yYXRvcnMgbXVzdCBiZSBwbGFjZWQgKmFmdGVyKiB0aGUgJ2V4cG9ydCcga2V5d29yZC4gUmVtb3ZlIHRoZSAnZGVjb3JhdG9yc0JlZm9yZUV4cG9ydDogZmFsc2UnIG9wdGlvbiB0byB1c2UgdGhlICdAZGVjb3JhdG9yIGV4cG9ydCBjbGFzcyB7fScgc3ludGF4LlwiLFxuICBEZWNvcmF0b3JTZW1pY29sb246IFwiRGVjb3JhdG9ycyBtdXN0IG5vdCBiZSBmb2xsb3dlZCBieSBhIHNlbWljb2xvbi5cIixcbiAgRGVjb3JhdG9yU3RhdGljQmxvY2s6IFwiRGVjb3JhdG9ycyBjYW4ndCBiZSB1c2VkIHdpdGggYSBzdGF0aWMgYmxvY2suXCIsXG4gIERlZmVySW1wb3J0UmVxdWlyZXNOYW1lc3BhY2U6XG4gICAgJ09ubHkgYGltcG9ydCBkZWZlciAqIGFzIHggZnJvbSBcIi4vbW9kdWxlXCJgIGlzIHZhbGlkLicsXG4gIERlbGV0ZVByaXZhdGVGaWVsZDogXCJEZWxldGluZyBhIHByaXZhdGUgZmllbGQgaXMgbm90IGFsbG93ZWQuXCIsXG4gIERlc3RydWN0dXJlTmFtZWRJbXBvcnQ6XG4gICAgXCJFUzIwMTUgbmFtZWQgaW1wb3J0cyBkbyBub3QgZGVzdHJ1Y3R1cmUuIFVzZSBhbm90aGVyIHN0YXRlbWVudCBmb3IgZGVzdHJ1Y3R1cmluZyBhZnRlciB0aGUgaW1wb3J0LlwiLFxuICBEdXBsaWNhdGVDb25zdHJ1Y3RvcjogXCJEdXBsaWNhdGUgY29uc3RydWN0b3IgaW4gdGhlIHNhbWUgY2xhc3MuXCIsXG4gIER1cGxpY2F0ZURlZmF1bHRFeHBvcnQ6IFwiT25seSBvbmUgZGVmYXVsdCBleHBvcnQgYWxsb3dlZCBwZXIgbW9kdWxlLlwiLFxuICBEdXBsaWNhdGVFeHBvcnQ6ICh7IGV4cG9ydE5hbWUgfTogeyBleHBvcnROYW1lOiBzdHJpbmcgfSkgPT5cbiAgICBgXFxgJHtleHBvcnROYW1lfVxcYCBoYXMgYWxyZWFkeSBiZWVuIGV4cG9ydGVkLiBFeHBvcnRlZCBpZGVudGlmaWVycyBtdXN0IGJlIHVuaXF1ZS5gLFxuICBEdXBsaWNhdGVQcm90bzogXCJSZWRlZmluaXRpb24gb2YgX19wcm90b19fIHByb3BlcnR5LlwiLFxuICBEdXBsaWNhdGVSZWdFeHBGbGFnczogXCJEdXBsaWNhdGUgcmVndWxhciBleHByZXNzaW9uIGZsYWcuXCIsXG4gIER5bmFtaWNJbXBvcnRQaGFzZVJlcXVpcmVzSW1wb3J0RXhwcmVzc2lvbnM6ICh7IHBoYXNlIH06IHsgcGhhc2U6IHN0cmluZyB9KSA9PlxuICAgIGAnaW1wb3J0LiR7cGhhc2V9KC4uLiknIGNhbiBvbmx5IGJlIHBhcnNlZCB3aGVuIHVzaW5nIHRoZSAnY3JlYXRlSW1wb3J0RXhwcmVzc2lvbnMnIG9wdGlvbi5gLFxuICBFbGVtZW50QWZ0ZXJSZXN0OiBcIlJlc3QgZWxlbWVudCBtdXN0IGJlIGxhc3QgZWxlbWVudC5cIixcbiAgRXNjYXBlZENoYXJOb3RBbklkZW50aWZpZXI6IFwiSW52YWxpZCBVbmljb2RlIGVzY2FwZS5cIixcbiAgRXhwb3J0QmluZGluZ0lzU3RyaW5nOiAoe1xuICAgIGxvY2FsTmFtZSxcbiAgICBleHBvcnROYW1lLFxuICB9OiB7XG4gICAgbG9jYWxOYW1lOiBzdHJpbmc7XG4gICAgZXhwb3J0TmFtZTogc3RyaW5nO1xuICB9KSA9PlxuICAgIGBBIHN0cmluZyBsaXRlcmFsIGNhbm5vdCBiZSB1c2VkIGFzIGFuIGV4cG9ydGVkIGJpbmRpbmcgd2l0aG91dCBcXGBmcm9tXFxgLlxcbi0gRGlkIHlvdSBtZWFuIFxcYGV4cG9ydCB7ICcke2xvY2FsTmFtZX0nIGFzICcke2V4cG9ydE5hbWV9JyB9IGZyb20gJ3NvbWUtbW9kdWxlJ1xcYD9gLFxuICBFeHBvcnREZWZhdWx0RnJvbUFzSWRlbnRpZmllcjpcbiAgICBcIidmcm9tJyBpcyBub3QgYWxsb3dlZCBhcyBhbiBpZGVudGlmaWVyIGFmdGVyICdleHBvcnQgZGVmYXVsdCcuXCIsXG5cbiAgRm9ySW5PZkxvb3BJbml0aWFsaXplcjogKHtcbiAgICB0eXBlLFxuICB9OiB7XG4gICAgdHlwZTogXCJGb3JJblN0YXRlbWVudFwiIHwgXCJGb3JPZlN0YXRlbWVudFwiO1xuICB9KSA9PlxuICAgIGAnJHtcbiAgICAgIHR5cGUgPT09IFwiRm9ySW5TdGF0ZW1lbnRcIiA/IFwiZm9yLWluXCIgOiBcImZvci1vZlwiXG4gICAgfScgbG9vcCB2YXJpYWJsZSBkZWNsYXJhdGlvbiBtYXkgbm90IGhhdmUgYW4gaW5pdGlhbGl6ZXIuYCxcbiAgRm9ySW5Vc2luZzogXCJGb3ItaW4gbG9vcCBtYXkgbm90IHN0YXJ0IHdpdGggJ3VzaW5nJyBkZWNsYXJhdGlvbi5cIixcblxuICBGb3JPZkFzeW5jOiBcIlRoZSBsZWZ0LWhhbmQgc2lkZSBvZiBhIGZvci1vZiBsb29wIG1heSBub3QgYmUgJ2FzeW5jJy5cIixcbiAgRm9yT2ZMZXQ6IFwiVGhlIGxlZnQtaGFuZCBzaWRlIG9mIGEgZm9yLW9mIGxvb3AgbWF5IG5vdCBzdGFydCB3aXRoICdsZXQnLlwiLFxuICBHZW5lcmF0b3JJblNpbmdsZVN0YXRlbWVudENvbnRleHQ6XG4gICAgXCJHZW5lcmF0b3JzIGNhbiBvbmx5IGJlIGRlY2xhcmVkIGF0IHRoZSB0b3AgbGV2ZWwgb3IgaW5zaWRlIGEgYmxvY2suXCIsXG5cbiAgSWxsZWdhbEJyZWFrQ29udGludWU6ICh7XG4gICAgdHlwZSxcbiAgfToge1xuICAgIHR5cGU6IFwiQnJlYWtTdGF0ZW1lbnRcIiB8IFwiQ29udGludWVTdGF0ZW1lbnRcIjtcbiAgfSkgPT4gYFVuc3ludGFjdGljICR7dHlwZSA9PT0gXCJCcmVha1N0YXRlbWVudFwiID8gXCJicmVha1wiIDogXCJjb250aW51ZVwifS5gLFxuXG4gIElsbGVnYWxMYW5ndWFnZU1vZGVEaXJlY3RpdmU6XG4gICAgXCJJbGxlZ2FsICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUgaW4gZnVuY3Rpb24gd2l0aCBub24tc2ltcGxlIHBhcmFtZXRlciBsaXN0LlwiLFxuICBJbGxlZ2FsUmV0dXJuOiBcIidyZXR1cm4nIG91dHNpZGUgb2YgZnVuY3Rpb24uXCIsXG4gIEltcG9ydEF0dHJpYnV0ZXNVc2VBc3NlcnQ6XG4gICAgXCJUaGUgYGFzc2VydGAga2V5d29yZCBpbiBpbXBvcnQgYXR0cmlidXRlcyBpcyBkZXByZWNhdGVkIGFuZCBpdCBoYXMgYmVlbiByZXBsYWNlZCBieSB0aGUgYHdpdGhgIGtleXdvcmQuIFlvdSBjYW4gZW5hYmxlIHRoZSBgZGVwcmVjYXRlZEltcG9ydEFzc2VydGAgcGFyc2VyIHBsdWdpbiB0byBzdXBwcmVzcyB0aGlzIGVycm9yLlwiLFxuICBJbXBvcnRCaW5kaW5nSXNTdHJpbmc6ICh7IGltcG9ydE5hbWUgfTogeyBpbXBvcnROYW1lOiBzdHJpbmcgfSkgPT5cbiAgICBgQSBzdHJpbmcgbGl0ZXJhbCBjYW5ub3QgYmUgdXNlZCBhcyBhbiBpbXBvcnRlZCBiaW5kaW5nLlxcbi0gRGlkIHlvdSBtZWFuIFxcYGltcG9ydCB7IFwiJHtpbXBvcnROYW1lfVwiIGFzIGZvbyB9XFxgP2AsXG4gIEltcG9ydENhbGxBcml0eTogYFxcYGltcG9ydCgpXFxgIHJlcXVpcmVzIGV4YWN0bHkgb25lIG9yIHR3byBhcmd1bWVudHMuYCxcbiAgSW1wb3J0Q2FsbE5vdE5ld0V4cHJlc3Npb246IFwiQ2Fubm90IHVzZSBuZXcgd2l0aCBpbXBvcnQoLi4uKS5cIixcbiAgSW1wb3J0Q2FsbFNwcmVhZEFyZ3VtZW50OiBcImAuLi5gIGlzIG5vdCBhbGxvd2VkIGluIGBpbXBvcnQoKWAuXCIsXG4gIEltcG9ydEpTT05CaW5kaW5nTm90RGVmYXVsdDpcbiAgICBcIkEgSlNPTiBtb2R1bGUgY2FuIG9ubHkgYmUgaW1wb3J0ZWQgd2l0aCBgZGVmYXVsdGAuXCIsXG4gIEltcG9ydFJlZmxlY3Rpb25IYXNBc3NlcnRpb246IFwiYGltcG9ydCBtb2R1bGUgeGAgY2Fubm90IGhhdmUgYXNzZXJ0aW9ucy5cIixcbiAgSW1wb3J0UmVmbGVjdGlvbk5vdEJpbmRpbmc6XG4gICAgJ09ubHkgYGltcG9ydCBtb2R1bGUgeCBmcm9tIFwiLi9tb2R1bGVcImAgaXMgdmFsaWQuJyxcbiAgSW5jb21wYXRpYmxlUmVnRXhwVVZGbGFnczpcbiAgICBcIlRoZSAndScgYW5kICd2JyByZWd1bGFyIGV4cHJlc3Npb24gZmxhZ3MgY2Fubm90IGJlIGVuYWJsZWQgYXQgdGhlIHNhbWUgdGltZS5cIixcbiAgSW52YWxpZEJpZ0ludExpdGVyYWw6IFwiSW52YWxpZCBCaWdJbnRMaXRlcmFsLlwiLFxuICBJbnZhbGlkQ29kZVBvaW50OiBcIkNvZGUgcG9pbnQgb3V0IG9mIGJvdW5kcy5cIixcbiAgSW52YWxpZENvdmVySW5pdGlhbGl6ZWROYW1lOiBcIkludmFsaWQgc2hvcnRoYW5kIHByb3BlcnR5IGluaXRpYWxpemVyLlwiLFxuICBJbnZhbGlkRGVjaW1hbDogXCJJbnZhbGlkIGRlY2ltYWwuXCIsXG4gIEludmFsaWREaWdpdDogKHsgcmFkaXggfTogeyByYWRpeDogbnVtYmVyIH0pID0+XG4gICAgYEV4cGVjdGVkIG51bWJlciBpbiByYWRpeCAke3JhZGl4fS5gLFxuICBJbnZhbGlkRXNjYXBlU2VxdWVuY2U6IFwiQmFkIGNoYXJhY3RlciBlc2NhcGUgc2VxdWVuY2UuXCIsXG4gIEludmFsaWRFc2NhcGVTZXF1ZW5jZVRlbXBsYXRlOiBcIkludmFsaWQgZXNjYXBlIHNlcXVlbmNlIGluIHRlbXBsYXRlLlwiLFxuICBJbnZhbGlkRXNjYXBlZFJlc2VydmVkV29yZDogKHsgcmVzZXJ2ZWRXb3JkIH06IHsgcmVzZXJ2ZWRXb3JkOiBzdHJpbmcgfSkgPT5cbiAgICBgRXNjYXBlIHNlcXVlbmNlIGluIGtleXdvcmQgJHtyZXNlcnZlZFdvcmR9LmAsXG4gIEludmFsaWRJZGVudGlmaWVyOiAoeyBpZGVudGlmaWVyTmFtZSB9OiB7IGlkZW50aWZpZXJOYW1lOiBzdHJpbmcgfSkgPT5cbiAgICBgSW52YWxpZCBpZGVudGlmaWVyICR7aWRlbnRpZmllck5hbWV9LmAsXG4gIEludmFsaWRMaHM6ICh7IGFuY2VzdG9yIH06IHsgYW5jZXN0b3I6IExWYWxBbmNlc3RvciB9KSA9PlxuICAgIGBJbnZhbGlkIGxlZnQtaGFuZCBzaWRlIGluICR7dG9Ob2RlRGVzY3JpcHRpb24oYW5jZXN0b3IpfS5gLFxuICBJbnZhbGlkTGhzQmluZGluZzogKHsgYW5jZXN0b3IgfTogeyBhbmNlc3RvcjogTFZhbEFuY2VzdG9yIH0pID0+XG4gICAgYEJpbmRpbmcgaW52YWxpZCBsZWZ0LWhhbmQgc2lkZSBpbiAke3RvTm9kZURlc2NyaXB0aW9uKGFuY2VzdG9yKX0uYCxcbiAgSW52YWxpZExoc09wdGlvbmFsQ2hhaW5pbmc6ICh7IGFuY2VzdG9yIH06IHsgYW5jZXN0b3I6IExWYWxBbmNlc3RvciB9KSA9PlxuICAgIGBJbnZhbGlkIG9wdGlvbmFsIGNoYWluaW5nIGluIHRoZSBsZWZ0LWhhbmQgc2lkZSBvZiAke3RvTm9kZURlc2NyaXB0aW9uKFxuICAgICAgYW5jZXN0b3IsXG4gICAgKX0uYCxcbiAgSW52YWxpZE51bWJlcjogXCJJbnZhbGlkIG51bWJlci5cIixcbiAgSW52YWxpZE9yTWlzc2luZ0V4cG9uZW50OlxuICAgIFwiRmxvYXRpbmctcG9pbnQgbnVtYmVycyByZXF1aXJlIGEgdmFsaWQgZXhwb25lbnQgYWZ0ZXIgdGhlICdlJy5cIixcbiAgSW52YWxpZE9yVW5leHBlY3RlZFRva2VuOiAoeyB1bmV4cGVjdGVkIH06IHsgdW5leHBlY3RlZDogc3RyaW5nIH0pID0+XG4gICAgYFVuZXhwZWN0ZWQgY2hhcmFjdGVyICcke3VuZXhwZWN0ZWR9Jy5gLFxuICBJbnZhbGlkUGFyZW50aGVzaXplZEFzc2lnbm1lbnQ6IFwiSW52YWxpZCBwYXJlbnRoZXNpemVkIGFzc2lnbm1lbnQgcGF0dGVybi5cIixcbiAgSW52YWxpZFByaXZhdGVGaWVsZFJlc29sdXRpb246ICh7XG4gICAgaWRlbnRpZmllck5hbWUsXG4gIH06IHtcbiAgICBpZGVudGlmaWVyTmFtZTogc3RyaW5nO1xuICB9KSA9PiBgUHJpdmF0ZSBuYW1lICMke2lkZW50aWZpZXJOYW1lfSBpcyBub3QgZGVmaW5lZC5gLFxuICBJbnZhbGlkUHJvcGVydHlCaW5kaW5nUGF0dGVybjogXCJCaW5kaW5nIG1lbWJlciBleHByZXNzaW9uLlwiLFxuICBJbnZhbGlkUmVjb3JkUHJvcGVydHk6XG4gICAgXCJPbmx5IHByb3BlcnRpZXMgYW5kIHNwcmVhZCBlbGVtZW50cyBhcmUgYWxsb3dlZCBpbiByZWNvcmQgZGVmaW5pdGlvbnMuXCIsXG4gIEludmFsaWRSZXN0QXNzaWdubWVudFBhdHRlcm46IFwiSW52YWxpZCByZXN0IG9wZXJhdG9yJ3MgYXJndW1lbnQuXCIsXG4gIExhYmVsUmVkZWNsYXJhdGlvbjogKHsgbGFiZWxOYW1lIH06IHsgbGFiZWxOYW1lOiBzdHJpbmcgfSkgPT5cbiAgICBgTGFiZWwgJyR7bGFiZWxOYW1lfScgaXMgYWxyZWFkeSBkZWNsYXJlZC5gLFxuICBMZXRJbkxleGljYWxCaW5kaW5nOiBcIidsZXQnIGlzIGRpc2FsbG93ZWQgYXMgYSBsZXhpY2FsbHkgYm91bmQgbmFtZS5cIixcbiAgTGluZVRlcm1pbmF0b3JCZWZvcmVBcnJvdzogXCJObyBsaW5lIGJyZWFrIGlzIGFsbG93ZWQgYmVmb3JlICc9PicuXCIsXG4gIE1hbGZvcm1lZFJlZ0V4cEZsYWdzOiBcIkludmFsaWQgcmVndWxhciBleHByZXNzaW9uIGZsYWcuXCIsXG4gIE1pc3NpbmdDbGFzc05hbWU6IFwiQSBjbGFzcyBuYW1lIGlzIHJlcXVpcmVkLlwiLFxuICBNaXNzaW5nRXFJbkFzc2lnbm1lbnQ6XG4gICAgXCJPbmx5ICc9JyBvcGVyYXRvciBjYW4gYmUgdXNlZCBmb3Igc3BlY2lmeWluZyBkZWZhdWx0IHZhbHVlLlwiLFxuICBNaXNzaW5nU2VtaWNvbG9uOiBcIk1pc3Npbmcgc2VtaWNvbG9uLlwiLFxuICBNaXNzaW5nUGx1Z2luOiAoeyBtaXNzaW5nUGx1Z2luIH06IHsgbWlzc2luZ1BsdWdpbjogW3N0cmluZ10gfSkgPT5cbiAgICBgVGhpcyBleHBlcmltZW50YWwgc3ludGF4IHJlcXVpcmVzIGVuYWJsaW5nIHRoZSBwYXJzZXIgcGx1Z2luOiAke21pc3NpbmdQbHVnaW5cbiAgICAgIC5tYXAobmFtZSA9PiBKU09OLnN0cmluZ2lmeShuYW1lKSlcbiAgICAgIC5qb2luKFwiLCBcIil9LmAsXG4gIC8vIEZJWE1FOiBXb3VsZCBiZSBuaWNlIHRvIG1ha2UgdGhpcyBcIm1pc3NpbmdQbHVnaW5zXCIgaW5zdGVhZC5cbiAgLy8gQWxzbywgc2VlbXMgbGlrZSB3ZSBjYW4gZHJvcCB0aGUgXCIocylcIiBmcm9tIHRoZSBtZXNzYWdlIGFuZCBqdXN0IG1ha2UgaXQgXCJzXCIuXG4gIE1pc3NpbmdPbmVPZlBsdWdpbnM6ICh7IG1pc3NpbmdQbHVnaW4gfTogeyBtaXNzaW5nUGx1Z2luOiBzdHJpbmdbXSB9KSA9PlxuICAgIGBUaGlzIGV4cGVyaW1lbnRhbCBzeW50YXggcmVxdWlyZXMgZW5hYmxpbmcgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGFyc2VyIHBsdWdpbihzKTogJHttaXNzaW5nUGx1Z2luXG4gICAgICAubWFwKG5hbWUgPT4gSlNPTi5zdHJpbmdpZnkobmFtZSkpXG4gICAgICAuam9pbihcIiwgXCIpfS5gLFxuICBNaXNzaW5nVW5pY29kZUVzY2FwZTogXCJFeHBlY3RpbmcgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2UgXFxcXHVYWFhYLlwiLFxuICBNaXhpbmdDb2FsZXNjZVdpdGhMb2dpY2FsOlxuICAgIFwiTnVsbGlzaCBjb2FsZXNjaW5nIG9wZXJhdG9yKD8/KSByZXF1aXJlcyBwYXJlbnMgd2hlbiBtaXhpbmcgd2l0aCBsb2dpY2FsIG9wZXJhdG9ycy5cIixcbiAgTW9kdWxlQXR0cmlidXRlRGlmZmVyZW50RnJvbVR5cGU6XG4gICAgXCJUaGUgb25seSBhY2NlcHRlZCBtb2R1bGUgYXR0cmlidXRlIGlzIGB0eXBlYC5cIixcbiAgTW9kdWxlQXR0cmlidXRlSW52YWxpZFZhbHVlOlxuICAgIFwiT25seSBzdHJpbmcgbGl0ZXJhbHMgYXJlIGFsbG93ZWQgYXMgbW9kdWxlIGF0dHJpYnV0ZSB2YWx1ZXMuXCIsXG4gIE1vZHVsZUF0dHJpYnV0ZXNXaXRoRHVwbGljYXRlS2V5czogKHsga2V5IH06IHsga2V5OiBzdHJpbmcgfSkgPT5cbiAgICBgRHVwbGljYXRlIGtleSBcIiR7a2V5fVwiIGlzIG5vdCBhbGxvd2VkIGluIG1vZHVsZSBhdHRyaWJ1dGVzLmAsXG4gIE1vZHVsZUV4cG9ydE5hbWVIYXNMb25lU3Vycm9nYXRlOiAoe1xuICAgIHN1cnJvZ2F0ZUNoYXJDb2RlLFxuICB9OiB7XG4gICAgc3Vycm9nYXRlQ2hhckNvZGU6IG51bWJlcjtcbiAgfSkgPT5cbiAgICBgQW4gZXhwb3J0IG5hbWUgY2Fubm90IGluY2x1ZGUgYSBsb25lIHN1cnJvZ2F0ZSwgZm91bmQgJ1xcXFx1JHtzdXJyb2dhdGVDaGFyQ29kZS50b1N0cmluZyhcbiAgICAgIDE2LFxuICAgICl9Jy5gLFxuICBNb2R1bGVFeHBvcnRVbmRlZmluZWQ6ICh7IGxvY2FsTmFtZSB9OiB7IGxvY2FsTmFtZTogc3RyaW5nIH0pID0+XG4gICAgYEV4cG9ydCAnJHtsb2NhbE5hbWV9JyBpcyBub3QgZGVmaW5lZC5gLFxuICBNdWx0aXBsZURlZmF1bHRzSW5Td2l0Y2g6IFwiTXVsdGlwbGUgZGVmYXVsdCBjbGF1c2VzLlwiLFxuICBOZXdsaW5lQWZ0ZXJUaHJvdzogXCJJbGxlZ2FsIG5ld2xpbmUgYWZ0ZXIgdGhyb3cuXCIsXG4gIE5vQ2F0Y2hPckZpbmFsbHk6IFwiTWlzc2luZyBjYXRjaCBvciBmaW5hbGx5IGNsYXVzZS5cIixcbiAgTnVtYmVySWRlbnRpZmllcjogXCJJZGVudGlmaWVyIGRpcmVjdGx5IGFmdGVyIG51bWJlci5cIixcbiAgTnVtZXJpY1NlcGFyYXRvckluRXNjYXBlU2VxdWVuY2U6XG4gICAgXCJOdW1lcmljIHNlcGFyYXRvcnMgYXJlIG5vdCBhbGxvd2VkIGluc2lkZSB1bmljb2RlIGVzY2FwZSBzZXF1ZW5jZXMgb3IgaGV4IGVzY2FwZSBzZXF1ZW5jZXMuXCIsXG4gIE9ic29sZXRlQXdhaXRTdGFyOlxuICAgIFwiJ2F3YWl0KicgaGFzIGJlZW4gcmVtb3ZlZCBmcm9tIHRoZSBhc3luYyBmdW5jdGlvbnMgcHJvcG9zYWwuIFVzZSBQcm9taXNlLmFsbCgpIGluc3RlYWQuXCIsXG4gIE9wdGlvbmFsQ2hhaW5pbmdOb05ldzpcbiAgICBcIkNvbnN0cnVjdG9ycyBpbi9hZnRlciBhbiBPcHRpb25hbCBDaGFpbiBhcmUgbm90IGFsbG93ZWQuXCIsXG4gIE9wdGlvbmFsQ2hhaW5pbmdOb1RlbXBsYXRlOlxuICAgIFwiVGFnZ2VkIFRlbXBsYXRlIExpdGVyYWxzIGFyZSBub3QgYWxsb3dlZCBpbiBvcHRpb25hbENoYWluLlwiLFxuICBPdmVycmlkZU9uQ29uc3RydWN0b3I6XG4gICAgXCInb3ZlcnJpZGUnIG1vZGlmaWVyIGNhbm5vdCBhcHBlYXIgb24gYSBjb25zdHJ1Y3RvciBkZWNsYXJhdGlvbi5cIixcbiAgUGFyYW1EdXBlOiBcIkFyZ3VtZW50IG5hbWUgY2xhc2guXCIsXG4gIFBhdHRlcm5IYXNBY2Nlc3NvcjogXCJPYmplY3QgcGF0dGVybiBjYW4ndCBjb250YWluIGdldHRlciBvciBzZXR0ZXIuXCIsXG4gIFBhdHRlcm5IYXNNZXRob2Q6IFwiT2JqZWN0IHBhdHRlcm4gY2FuJ3QgY29udGFpbiBtZXRob2RzLlwiLFxuICBQcml2YXRlSW5FeHBlY3RlZEluOiAoeyBpZGVudGlmaWVyTmFtZSB9OiB7IGlkZW50aWZpZXJOYW1lOiBzdHJpbmcgfSkgPT5cbiAgICBgUHJpdmF0ZSBuYW1lcyBhcmUgb25seSBhbGxvd2VkIGluIHByb3BlcnR5IGFjY2Vzc2VzIChcXGBvYmouIyR7aWRlbnRpZmllck5hbWV9XFxgKSBvciBpbiBcXGBpblxcYCBleHByZXNzaW9ucyAoXFxgIyR7aWRlbnRpZmllck5hbWV9IGluIG9ialxcYCkuYCxcbiAgUHJpdmF0ZU5hbWVSZWRlY2xhcmF0aW9uOiAoeyBpZGVudGlmaWVyTmFtZSB9OiB7IGlkZW50aWZpZXJOYW1lOiBzdHJpbmcgfSkgPT5cbiAgICBgRHVwbGljYXRlIHByaXZhdGUgbmFtZSAjJHtpZGVudGlmaWVyTmFtZX0uYCxcbiAgUmVjb3JkRXhwcmVzc2lvbkJhckluY29ycmVjdEVuZFN5bnRheFR5cGU6XG4gICAgXCJSZWNvcmQgZXhwcmVzc2lvbnMgZW5kaW5nIHdpdGggJ3x9JyBhcmUgb25seSBhbGxvd2VkIHdoZW4gdGhlICdzeW50YXhUeXBlJyBvcHRpb24gb2YgdGhlICdyZWNvcmRBbmRUdXBsZScgcGx1Z2luIGlzIHNldCB0byAnYmFyJy5cIixcbiAgUmVjb3JkRXhwcmVzc2lvbkJhckluY29ycmVjdFN0YXJ0U3ludGF4VHlwZTpcbiAgICBcIlJlY29yZCBleHByZXNzaW9ucyBzdGFydGluZyB3aXRoICd7fCcgYXJlIG9ubHkgYWxsb3dlZCB3aGVuIHRoZSAnc3ludGF4VHlwZScgb3B0aW9uIG9mIHRoZSAncmVjb3JkQW5kVHVwbGUnIHBsdWdpbiBpcyBzZXQgdG8gJ2JhcicuXCIsXG4gIFJlY29yZEV4cHJlc3Npb25IYXNoSW5jb3JyZWN0U3RhcnRTeW50YXhUeXBlOlxuICAgIFwiUmVjb3JkIGV4cHJlc3Npb25zIHN0YXJ0aW5nIHdpdGggJyN7JyBhcmUgb25seSBhbGxvd2VkIHdoZW4gdGhlICdzeW50YXhUeXBlJyBvcHRpb24gb2YgdGhlICdyZWNvcmRBbmRUdXBsZScgcGx1Z2luIGlzIHNldCB0byAnaGFzaCcuXCIsXG4gIFJlY29yZE5vUHJvdG86IFwiJ19fcHJvdG9fXycgaXMgbm90IGFsbG93ZWQgaW4gUmVjb3JkIGV4cHJlc3Npb25zLlwiLFxuICBSZXN0VHJhaWxpbmdDb21tYTogXCJVbmV4cGVjdGVkIHRyYWlsaW5nIGNvbW1hIGFmdGVyIHJlc3QgZWxlbWVudC5cIixcbiAgU2xvcHB5RnVuY3Rpb246XG4gICAgXCJJbiBub24tc3RyaWN0IG1vZGUgY29kZSwgZnVuY3Rpb25zIGNhbiBvbmx5IGJlIGRlY2xhcmVkIGF0IHRvcCBsZXZlbCBvciBpbnNpZGUgYSBibG9jay5cIixcbiAgU2xvcHB5RnVuY3Rpb25Bbm5leEI6XG4gICAgXCJJbiBub24tc3RyaWN0IG1vZGUgY29kZSwgZnVuY3Rpb25zIGNhbiBvbmx5IGJlIGRlY2xhcmVkIGF0IHRvcCBsZXZlbCwgaW5zaWRlIGEgYmxvY2ssIG9yIGFzIHRoZSBib2R5IG9mIGFuIGlmIHN0YXRlbWVudC5cIixcbiAgU291cmNlUGhhc2VJbXBvcnRSZXF1aXJlc0RlZmF1bHQ6XG4gICAgJ09ubHkgYGltcG9ydCBzb3VyY2UgeCBmcm9tIFwiLi9tb2R1bGVcImAgaXMgdmFsaWQuJyxcbiAgU3RhdGljUHJvdG90eXBlOiBcIkNsYXNzZXMgbWF5IG5vdCBoYXZlIHN0YXRpYyBwcm9wZXJ0eSBuYW1lZCBwcm90b3R5cGUuXCIsXG4gIFN1cGVyTm90QWxsb3dlZDpcbiAgICBcImBzdXBlcigpYCBpcyBvbmx5IHZhbGlkIGluc2lkZSBhIGNsYXNzIGNvbnN0cnVjdG9yIG9mIGEgc3ViY2xhc3MuIE1heWJlIGEgdHlwbyBpbiB0aGUgbWV0aG9kIG5hbWUgKCdjb25zdHJ1Y3RvcicpIG9yIG5vdCBleHRlbmRpbmcgYW5vdGhlciBjbGFzcz9cIixcbiAgU3VwZXJQcml2YXRlRmllbGQ6IFwiUHJpdmF0ZSBmaWVsZHMgY2FuJ3QgYmUgYWNjZXNzZWQgb24gc3VwZXIuXCIsXG4gIFRyYWlsaW5nRGVjb3JhdG9yOiBcIkRlY29yYXRvcnMgbXVzdCBiZSBhdHRhY2hlZCB0byBhIGNsYXNzIGVsZW1lbnQuXCIsXG4gIFR1cGxlRXhwcmVzc2lvbkJhckluY29ycmVjdEVuZFN5bnRheFR5cGU6XG4gICAgXCJUdXBsZSBleHByZXNzaW9ucyBlbmRpbmcgd2l0aCAnfF0nIGFyZSBvbmx5IGFsbG93ZWQgd2hlbiB0aGUgJ3N5bnRheFR5cGUnIG9wdGlvbiBvZiB0aGUgJ3JlY29yZEFuZFR1cGxlJyBwbHVnaW4gaXMgc2V0IHRvICdiYXInLlwiLFxuICBUdXBsZUV4cHJlc3Npb25CYXJJbmNvcnJlY3RTdGFydFN5bnRheFR5cGU6XG4gICAgXCJUdXBsZSBleHByZXNzaW9ucyBzdGFydGluZyB3aXRoICdbfCcgYXJlIG9ubHkgYWxsb3dlZCB3aGVuIHRoZSAnc3ludGF4VHlwZScgb3B0aW9uIG9mIHRoZSAncmVjb3JkQW5kVHVwbGUnIHBsdWdpbiBpcyBzZXQgdG8gJ2JhcicuXCIsXG4gIFR1cGxlRXhwcmVzc2lvbkhhc2hJbmNvcnJlY3RTdGFydFN5bnRheFR5cGU6XG4gICAgXCJUdXBsZSBleHByZXNzaW9ucyBzdGFydGluZyB3aXRoICcjWycgYXJlIG9ubHkgYWxsb3dlZCB3aGVuIHRoZSAnc3ludGF4VHlwZScgb3B0aW9uIG9mIHRoZSAncmVjb3JkQW5kVHVwbGUnIHBsdWdpbiBpcyBzZXQgdG8gJ2hhc2gnLlwiLFxuICBVbmV4cGVjdGVkQXJndW1lbnRQbGFjZWhvbGRlcjogXCJVbmV4cGVjdGVkIGFyZ3VtZW50IHBsYWNlaG9sZGVyLlwiLFxuICBVbmV4cGVjdGVkQXdhaXRBZnRlclBpcGVsaW5lQm9keTpcbiAgICAnVW5leHBlY3RlZCBcImF3YWl0XCIgYWZ0ZXIgcGlwZWxpbmUgYm9keTsgYXdhaXQgbXVzdCBoYXZlIHBhcmVudGhlc2VzIGluIG1pbmltYWwgcHJvcG9zYWwuJyxcbiAgVW5leHBlY3RlZERpZ2l0QWZ0ZXJIYXNoOiBcIlVuZXhwZWN0ZWQgZGlnaXQgYWZ0ZXIgaGFzaCB0b2tlbi5cIixcbiAgVW5leHBlY3RlZEltcG9ydEV4cG9ydDpcbiAgICBcIidpbXBvcnQnIGFuZCAnZXhwb3J0JyBtYXkgb25seSBhcHBlYXIgYXQgdGhlIHRvcCBsZXZlbC5cIixcbiAgVW5leHBlY3RlZEtleXdvcmQ6ICh7IGtleXdvcmQgfTogeyBrZXl3b3JkOiBzdHJpbmcgfSkgPT5cbiAgICBgVW5leHBlY3RlZCBrZXl3b3JkICcke2tleXdvcmR9Jy5gLFxuICBVbmV4cGVjdGVkTGVhZGluZ0RlY29yYXRvcjpcbiAgICBcIkxlYWRpbmcgZGVjb3JhdG9ycyBtdXN0IGJlIGF0dGFjaGVkIHRvIGEgY2xhc3MgZGVjbGFyYXRpb24uXCIsXG4gIFVuZXhwZWN0ZWRMZXhpY2FsRGVjbGFyYXRpb246XG4gICAgXCJMZXhpY2FsIGRlY2xhcmF0aW9uIGNhbm5vdCBhcHBlYXIgaW4gYSBzaW5nbGUtc3RhdGVtZW50IGNvbnRleHQuXCIsXG4gIFVuZXhwZWN0ZWROZXdUYXJnZXQ6XG4gICAgXCJgbmV3LnRhcmdldGAgY2FuIG9ubHkgYmUgdXNlZCBpbiBmdW5jdGlvbnMgb3IgY2xhc3MgcHJvcGVydGllcy5cIixcbiAgVW5leHBlY3RlZE51bWVyaWNTZXBhcmF0b3I6XG4gICAgXCJBIG51bWVyaWMgc2VwYXJhdG9yIGlzIG9ubHkgYWxsb3dlZCBiZXR3ZWVuIHR3byBkaWdpdHMuXCIsXG4gIFVuZXhwZWN0ZWRQcml2YXRlRmllbGQ6IFwiVW5leHBlY3RlZCBwcml2YXRlIG5hbWUuXCIsXG4gIFVuZXhwZWN0ZWRSZXNlcnZlZFdvcmQ6ICh7IHJlc2VydmVkV29yZCB9OiB7IHJlc2VydmVkV29yZDogc3RyaW5nIH0pID0+XG4gICAgYFVuZXhwZWN0ZWQgcmVzZXJ2ZWQgd29yZCAnJHtyZXNlcnZlZFdvcmR9Jy5gLFxuICBVbmV4cGVjdGVkU3VwZXI6IFwiJ3N1cGVyJyBpcyBvbmx5IGFsbG93ZWQgaW4gb2JqZWN0IG1ldGhvZHMgYW5kIGNsYXNzZXMuXCIsXG4gIFVuZXhwZWN0ZWRUb2tlbjogKHtcbiAgICBleHBlY3RlZCxcbiAgICB1bmV4cGVjdGVkLFxuICB9OiB7XG4gICAgZXhwZWN0ZWQ/OiBzdHJpbmcgfCBudWxsO1xuICAgIHVuZXhwZWN0ZWQ/OiBzdHJpbmcgfCBudWxsO1xuICB9KSA9PlxuICAgIGBVbmV4cGVjdGVkIHRva2VuJHt1bmV4cGVjdGVkID8gYCAnJHt1bmV4cGVjdGVkfScuYCA6IFwiXCJ9JHtcbiAgICAgIGV4cGVjdGVkID8gYCwgZXhwZWN0ZWQgXCIke2V4cGVjdGVkfVwiYCA6IFwiXCJcbiAgICB9YCxcbiAgVW5leHBlY3RlZFRva2VuVW5hcnlFeHBvbmVudGlhdGlvbjpcbiAgICBcIklsbGVnYWwgZXhwcmVzc2lvbi4gV3JhcCBsZWZ0IGhhbmQgc2lkZSBvciBlbnRpcmUgZXhwb25lbnRpYXRpb24gaW4gcGFyZW50aGVzZXMuXCIsXG4gIFVuZXhwZWN0ZWRVc2luZ0RlY2xhcmF0aW9uOlxuICAgIFwiVXNpbmcgZGVjbGFyYXRpb24gY2Fubm90IGFwcGVhciBpbiB0aGUgdG9wIGxldmVsIHdoZW4gc291cmNlIHR5cGUgaXMgYHNjcmlwdGAuXCIsXG4gIFVuc3VwcG9ydGVkQmluZDogXCJCaW5kaW5nIHNob3VsZCBiZSBwZXJmb3JtZWQgb24gb2JqZWN0IHByb3BlcnR5LlwiLFxuICBVbnN1cHBvcnRlZERlY29yYXRvckV4cG9ydDpcbiAgICBcIkEgZGVjb3JhdGVkIGV4cG9ydCBtdXN0IGV4cG9ydCBhIGNsYXNzIGRlY2xhcmF0aW9uLlwiLFxuICBVbnN1cHBvcnRlZERlZmF1bHRFeHBvcnQ6XG4gICAgXCJPbmx5IGV4cHJlc3Npb25zLCBmdW5jdGlvbnMgb3IgY2xhc3NlcyBhcmUgYWxsb3dlZCBhcyB0aGUgYGRlZmF1bHRgIGV4cG9ydC5cIixcbiAgVW5zdXBwb3J0ZWRJbXBvcnQ6XG4gICAgXCJgaW1wb3J0YCBjYW4gb25seSBiZSB1c2VkIGluIGBpbXBvcnQoKWAgb3IgYGltcG9ydC5tZXRhYC5cIixcbiAgVW5zdXBwb3J0ZWRNZXRhUHJvcGVydHk6ICh7XG4gICAgdGFyZ2V0LFxuICAgIG9ubHlWYWxpZFByb3BlcnR5TmFtZSxcbiAgfToge1xuICAgIHRhcmdldDogc3RyaW5nO1xuICAgIG9ubHlWYWxpZFByb3BlcnR5TmFtZTogc3RyaW5nO1xuICB9KSA9PlxuICAgIGBUaGUgb25seSB2YWxpZCBtZXRhIHByb3BlcnR5IGZvciAke3RhcmdldH0gaXMgJHt0YXJnZXR9LiR7b25seVZhbGlkUHJvcGVydHlOYW1lfS5gLFxuICBVbnN1cHBvcnRlZFBhcmFtZXRlckRlY29yYXRvcjpcbiAgICBcIkRlY29yYXRvcnMgY2Fubm90IGJlIHVzZWQgdG8gZGVjb3JhdGUgcGFyYW1ldGVycy5cIixcbiAgVW5zdXBwb3J0ZWRQcm9wZXJ0eURlY29yYXRvcjpcbiAgICBcIkRlY29yYXRvcnMgY2Fubm90IGJlIHVzZWQgdG8gZGVjb3JhdGUgb2JqZWN0IGxpdGVyYWwgcHJvcGVydGllcy5cIixcbiAgVW5zdXBwb3J0ZWRTdXBlcjpcbiAgICBcIidzdXBlcicgY2FuIG9ubHkgYmUgdXNlZCB3aXRoIGZ1bmN0aW9uIGNhbGxzIChpLmUuIHN1cGVyKCkpIG9yIGluIHByb3BlcnR5IGFjY2Vzc2VzIChpLmUuIHN1cGVyLnByb3Agb3Igc3VwZXJbcHJvcF0pLlwiLFxuICBVbnRlcm1pbmF0ZWRDb21tZW50OiBcIlVudGVybWluYXRlZCBjb21tZW50LlwiLFxuICBVbnRlcm1pbmF0ZWRSZWdFeHA6IFwiVW50ZXJtaW5hdGVkIHJlZ3VsYXIgZXhwcmVzc2lvbi5cIixcbiAgVW50ZXJtaW5hdGVkU3RyaW5nOiBcIlVudGVybWluYXRlZCBzdHJpbmcgY29uc3RhbnQuXCIsXG4gIFVudGVybWluYXRlZFRlbXBsYXRlOiBcIlVudGVybWluYXRlZCB0ZW1wbGF0ZS5cIixcbiAgVXNpbmdEZWNsYXJhdGlvbkV4cG9ydDogXCJVc2luZyBkZWNsYXJhdGlvbiBjYW5ub3QgYmUgZXhwb3J0ZWQuXCIsXG4gIFVzaW5nRGVjbGFyYXRpb25IYXNCaW5kaW5nUGF0dGVybjpcbiAgICBcIlVzaW5nIGRlY2xhcmF0aW9uIGNhbm5vdCBoYXZlIGRlc3RydWN0dXJpbmcgcGF0dGVybnMuXCIsXG4gIFZhclJlZGVjbGFyYXRpb246ICh7IGlkZW50aWZpZXJOYW1lIH06IHsgaWRlbnRpZmllck5hbWU6IHN0cmluZyB9KSA9PlxuICAgIGBJZGVudGlmaWVyICcke2lkZW50aWZpZXJOYW1lfScgaGFzIGFscmVhZHkgYmVlbiBkZWNsYXJlZC5gLFxuICBZaWVsZEJpbmRpbmdJZGVudGlmaWVyOlxuICAgIFwiQ2FuIG5vdCB1c2UgJ3lpZWxkJyBhcyBpZGVudGlmaWVyIGluc2lkZSBhIGdlbmVyYXRvci5cIixcbiAgWWllbGRJblBhcmFtZXRlcjogXCJZaWVsZCBleHByZXNzaW9uIGlzIG5vdCBhbGxvd2VkIGluIGZvcm1hbCBwYXJhbWV0ZXJzLlwiLFxuICBaZXJvRGlnaXROdW1lcmljU2VwYXJhdG9yOlxuICAgIFwiTnVtZXJpYyBzZXBhcmF0b3IgY2FuIG5vdCBiZSB1c2VkIGFmdGVyIGxlYWRpbmcgMC5cIixcbn0gc2F0aXNmaWVzIFBhcnNlRXJyb3JUZW1wbGF0ZXM7XG4iLCAiaW1wb3J0IHR5cGUgeyBQYXJzZUVycm9yVGVtcGxhdGVzIH0gZnJvbSBcIi4uL3BhcnNlLWVycm9yXCI7XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgU3RyaWN0RGVsZXRlOiBcIkRlbGV0aW5nIGxvY2FsIHZhcmlhYmxlIGluIHN0cmljdCBtb2RlLlwiLFxuXG4gIC8vIGByZWZlcmVuY2VOYW1lYCBpcyB0aGUgU3RyaW5nVmFsdWVbMV0gb2YgYW4gSWRlbnRpZmllclJlZmVyZW5jZVsyXSwgd2hpY2hcbiAgLy8gaXMgcmVwcmVzZW50ZWQgYXMganVzdCBhbiBgSWRlbnRpZmllcmBbM10gaW4gdGhlIEJhYmVsIEFTVC5cbiAgLy8gMS4gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1zdGF0aWMtc2VtYW50aWNzLXN0cmluZ3ZhbHVlXG4gIC8vIDIuIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLUlkZW50aWZpZXJSZWZlcmVuY2VcbiAgLy8gMy4gaHR0cHM6Ly9naXRodWIuY29tL2JhYmVsL2JhYmVsL2Jsb2IvbWFpbi9wYWNrYWdlcy9iYWJlbC1wYXJzZXIvYXN0L3NwZWMubWQjaWRlbnRpZmllclxuICBTdHJpY3RFdmFsQXJndW1lbnRzOiAoeyByZWZlcmVuY2VOYW1lIH06IHsgcmVmZXJlbmNlTmFtZTogc3RyaW5nIH0pID0+XG4gICAgYEFzc2lnbmluZyB0byAnJHtyZWZlcmVuY2VOYW1lfScgaW4gc3RyaWN0IG1vZGUuYCxcblxuICAvLyBgYmluZGluZ05hbWVgIGlzIHRoZSBTdHJpbmdWYWx1ZVsxXSBvZiBhIEJpbmRpbmdJZGVudGlmaWVyWzJdLCB3aGljaCBpc1xuICAvLyByZXByZXNlbnRlZCBhcyBqdXN0IGFuIGBJZGVudGlmaWVyYFszXSBpbiB0aGUgQmFiZWwgQVNULlxuICAvLyAxLiBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLXN0YXRpYy1zZW1hbnRpY3Mtc3RyaW5ndmFsdWVcbiAgLy8gMi4gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtQmluZGluZ0lkZW50aWZpZXJcbiAgLy8gMy4gaHR0cHM6Ly9naXRodWIuY29tL2JhYmVsL2JhYmVsL2Jsb2IvbWFpbi9wYWNrYWdlcy9iYWJlbC1wYXJzZXIvYXN0L3NwZWMubWQjaWRlbnRpZmllclxuICBTdHJpY3RFdmFsQXJndW1lbnRzQmluZGluZzogKHsgYmluZGluZ05hbWUgfTogeyBiaW5kaW5nTmFtZTogc3RyaW5nIH0pID0+XG4gICAgYEJpbmRpbmcgJyR7YmluZGluZ05hbWV9JyBpbiBzdHJpY3QgbW9kZS5gLFxuXG4gIFN0cmljdEZ1bmN0aW9uOlxuICAgIFwiSW4gc3RyaWN0IG1vZGUgY29kZSwgZnVuY3Rpb25zIGNhbiBvbmx5IGJlIGRlY2xhcmVkIGF0IHRvcCBsZXZlbCBvciBpbnNpZGUgYSBibG9jay5cIixcblxuICBTdHJpY3ROdW1lcmljRXNjYXBlOiBcIlRoZSBvbmx5IHZhbGlkIG51bWVyaWMgZXNjYXBlIGluIHN0cmljdCBtb2RlIGlzICdcXFxcMCcuXCIsXG5cbiAgU3RyaWN0T2N0YWxMaXRlcmFsOiBcIkxlZ2FjeSBvY3RhbCBsaXRlcmFscyBhcmUgbm90IGFsbG93ZWQgaW4gc3RyaWN0IG1vZGUuXCIsXG5cbiAgU3RyaWN0V2l0aDogXCInd2l0aCcgaW4gc3RyaWN0IG1vZGUuXCIsXG59IHNhdGlzZmllcyBQYXJzZUVycm9yVGVtcGxhdGVzO1xuIiwgImltcG9ydCB0eXBlIHsgUGFyc2VFcnJvclRlbXBsYXRlcyB9IGZyb20gXCIuLi9wYXJzZS1lcnJvci50c1wiO1xuaW1wb3J0IHRvTm9kZURlc2NyaXB0aW9uIGZyb20gXCIuL3RvLW5vZGUtZGVzY3JpcHRpb24udHNcIjtcblxuZXhwb3J0IGNvbnN0IFVucGFyZW50aGVzaXplZFBpcGVCb2R5RGVzY3JpcHRpb25zID0gbmV3IFNldChbXG4gIFwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIixcbiAgXCJBc3NpZ25tZW50RXhwcmVzc2lvblwiLFxuICBcIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiLFxuICBcIllpZWxkRXhwcmVzc2lvblwiLFxuXSBhcyBjb25zdCk7XG5cbnR5cGUgR2V0U2V0TWVtYmVyVHlwZTxUIGV4dGVuZHMgU2V0PGFueT4+ID1cbiAgVCBleHRlbmRzIFNldDxpbmZlciBNPiA/IE0gOiB1bmtub3duO1xuXG5leHBvcnQgdHlwZSBVbnBhcmVudGhlc2l6ZWRQaXBlQm9keVR5cGVzID0gR2V0U2V0TWVtYmVyVHlwZTxcbiAgdHlwZW9mIFVucGFyZW50aGVzaXplZFBpcGVCb2R5RGVzY3JpcHRpb25zXG4+O1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIC8vIFRoaXMgZXJyb3IgaXMgb25seSB1c2VkIGJ5IHRoZSBzbWFydC1taXggcHJvcG9zYWxcbiAgUGlwZUJvZHlJc1RpZ2h0ZXI6XG4gICAgXCJVbmV4cGVjdGVkIHlpZWxkIGFmdGVyIHBpcGVsaW5lIGJvZHk7IGFueSB5aWVsZCBleHByZXNzaW9uIGFjdGluZyBhcyBIYWNrLXN0eWxlIHBpcGUgYm9keSBtdXN0IGJlIHBhcmVudGhlc2l6ZWQgZHVlIHRvIGl0cyBsb29zZSBvcGVyYXRvciBwcmVjZWRlbmNlLlwiLFxuICBQaXBlVG9waWNSZXF1aXJlc0hhY2tQaXBlczpcbiAgICAnVG9waWMgcmVmZXJlbmNlIGlzIHVzZWQsIGJ1dCB0aGUgcGlwZWxpbmVPcGVyYXRvciBwbHVnaW4gd2FzIG5vdCBwYXNzZWQgYSBcInByb3Bvc2FsXCI6IFwiaGFja1wiIG9yIFwic21hcnRcIiBvcHRpb24uJyxcbiAgUGlwZVRvcGljVW5ib3VuZDpcbiAgICBcIlRvcGljIHJlZmVyZW5jZSBpcyB1bmJvdW5kOyBpdCBtdXN0IGJlIGluc2lkZSBhIHBpcGUgYm9keS5cIixcbiAgUGlwZVRvcGljVW5jb25maWd1cmVkVG9rZW46ICh7IHRva2VuIH06IHsgdG9rZW46IHN0cmluZyB9KSA9PlxuICAgIGBJbnZhbGlkIHRvcGljIHRva2VuICR7dG9rZW59LiBJbiBvcmRlciB0byB1c2UgJHt0b2tlbn0gYXMgYSB0b3BpYyByZWZlcmVuY2UsIHRoZSBwaXBlbGluZU9wZXJhdG9yIHBsdWdpbiBtdXN0IGJlIGNvbmZpZ3VyZWQgd2l0aCB7IFwicHJvcG9zYWxcIjogXCJoYWNrXCIsIFwidG9waWNUb2tlblwiOiBcIiR7dG9rZW59XCIgfS5gLFxuICBQaXBlVG9waWNVbnVzZWQ6XG4gICAgXCJIYWNrLXN0eWxlIHBpcGUgYm9keSBkb2VzIG5vdCBjb250YWluIGEgdG9waWMgcmVmZXJlbmNlOyBIYWNrLXN0eWxlIHBpcGVzIG11c3QgdXNlIHRvcGljIGF0IGxlYXN0IG9uY2UuXCIsXG4gIFBpcGVVbnBhcmVudGhlc2l6ZWRCb2R5OiAoeyB0eXBlIH06IHsgdHlwZTogVW5wYXJlbnRoZXNpemVkUGlwZUJvZHlUeXBlcyB9KSA9PlxuICAgIGBIYWNrLXN0eWxlIHBpcGUgYm9keSBjYW5ub3QgYmUgYW4gdW5wYXJlbnRoZXNpemVkICR7dG9Ob2RlRGVzY3JpcHRpb24oe1xuICAgICAgdHlwZSxcbiAgICB9KX07IHBsZWFzZSB3cmFwIGl0IGluIHBhcmVudGhlc2VzLmAsXG5cbiAgLy8gTWVzc2FnZXMgd2hvc2UgY29kZXMgc3RhcnQgd2l0aCDigJxQaXBlbGluZeKAnSBvciDigJxQcmltYXJ5VG9waWPigJ1cbiAgLy8gYXJlIHJldGFpbmVkIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eVxuICAvLyB3aXRoIHRoZSBkZXByZWNhdGVkIHNtYXJ0LW1peCBwaXBlIG9wZXJhdG9yIHByb3Bvc2FsIHBsdWdpbi5cbiAgLy8gVGhleSBhcmUgc3ViamVjdCB0byByZW1vdmFsIGluIGEgZnV0dXJlIG1ham9yIHZlcnNpb24uXG4gIFBpcGVsaW5lQm9keU5vQXJyb3c6XG4gICAgJ1VuZXhwZWN0ZWQgYXJyb3cgXCI9PlwiIGFmdGVyIHBpcGVsaW5lIGJvZHk7IGFycm93IGZ1bmN0aW9uIGluIHBpcGVsaW5lIGJvZHkgbXVzdCBiZSBwYXJlbnRoZXNpemVkLicsXG4gIFBpcGVsaW5lQm9keVNlcXVlbmNlRXhwcmVzc2lvbjpcbiAgICBcIlBpcGVsaW5lIGJvZHkgbWF5IG5vdCBiZSBhIGNvbW1hLXNlcGFyYXRlZCBzZXF1ZW5jZSBleHByZXNzaW9uLlwiLFxuICBQaXBlbGluZUhlYWRTZXF1ZW5jZUV4cHJlc3Npb246XG4gICAgXCJQaXBlbGluZSBoZWFkIHNob3VsZCBub3QgYmUgYSBjb21tYS1zZXBhcmF0ZWQgc2VxdWVuY2UgZXhwcmVzc2lvbi5cIixcbiAgUGlwZWxpbmVUb3BpY1VudXNlZDpcbiAgICBcIlBpcGVsaW5lIGlzIGluIHRvcGljIHN0eWxlIGJ1dCBkb2VzIG5vdCB1c2UgdG9waWMgcmVmZXJlbmNlLlwiLFxuICBQcmltYXJ5VG9waWNOb3RBbGxvd2VkOlxuICAgIFwiVG9waWMgcmVmZXJlbmNlIHdhcyB1c2VkIGluIGEgbGV4aWNhbCBjb250ZXh0IHdpdGhvdXQgdG9waWMgYmluZGluZy5cIixcbiAgUHJpbWFyeVRvcGljUmVxdWlyZXNTbWFydFBpcGVsaW5lOlxuICAgICdUb3BpYyByZWZlcmVuY2UgaXMgdXNlZCwgYnV0IHRoZSBwaXBlbGluZU9wZXJhdG9yIHBsdWdpbiB3YXMgbm90IHBhc3NlZCBhIFwicHJvcG9zYWxcIjogXCJoYWNrXCIgb3IgXCJzbWFydFwiIG9wdGlvbi4nLFxufSBzYXRpc2ZpZXMgUGFyc2VFcnJvclRlbXBsYXRlcztcbiIsICJpbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gXCIuL3V0aWwvbG9jYXRpb24udHNcIjtcblxudHlwZSBTeW50YXhQbHVnaW4gPVxuICB8IFwiZmxvd1wiXG4gIHwgXCJ0eXBlc2NyaXB0XCJcbiAgfCBcImpzeFwiXG4gIHwgXCJwaXBlbGluZU9wZXJhdG9yXCJcbiAgfCBcInBsYWNlaG9sZGVyc1wiO1xuXG50eXBlIFBhcnNlRXJyb3JDb2RlID1cbiAgfCBcIkJBQkVMX1BBUlNFUl9TWU5UQVhfRVJST1JcIlxuICB8IFwiQkFCRUxfUEFSU0VSX1NPVVJDRVRZUEVfTU9EVUxFX1JFUVVJUkVEXCI7XG5cbi8vIEJhYmVsIHVzZXMgXCJub3JtYWxcIiBTeW50YXhFcnJvcnMgZm9yIGl0J3MgZXJyb3JzLCBidXQgYWRkcyBzb21lIGV4dHJhXG4vLyBmdW5jdGlvbmFsaXR5LiBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgZGVmaW5lZCBpbiB0aGVcbi8vIGBQYXJzZUVycm9yU3BlY2lmaWNhdGlvbmAgaW50ZXJmYWNlIGJlbG93LiBXZSBtYXkgY2hvb3NlIHRvIGNoYW5nZSB0byBzb21lZGF5XG4vLyBnaXZlIG91ciBlcnJvcnMgdGhlaXIgb3duIGZ1bGwtYmxvd24gY2xhc3MsIGJ1dCB1bnRpbCB0aGVuIHRoaXMgYWxsb3cgdXMgdG9cbi8vIGtlZXAgYWxsIHRoZSBkZXNpcmFibGUgcHJvcGVydGllcyBvZiBTeW50YXhFcnJvcnMgKGxpa2UgdGhlaXIgbmFtZSBpbiBzdGFja1xuLy8gdHJhY2VzLCBldGMuKSwgYW5kIGFsc28gYWxsb3dzIHVzIHRvIHB1bnQgb24gYW55IHB1YmxpY2x5IGZhY2luZ1xuLy8gY2xhc3MtaGllcmFyY2h5IGRlY2lzaW9ucyB1bnRpbCBCYWJlbCA4LlxuaW50ZXJmYWNlIFBhcnNlRXJyb3JTcGVjaWZpY2F0aW9uPEVycm9yRGV0YWlscz4ge1xuICAvLyBMb29rLCB0aGVzZSAqY291bGQqIGJlIHJlYWRvbmx5LCBidXQgdGhlbiBGbG93IGNvbXBsYWlucyB3aGVuIHdlIGluaXRpYWxseVxuICAvLyBzZXQgdGhlbS4gV2UgY291bGQgZG8gYSB3aG9sZSBkYW5jZSBhbmQgbWFrZSBhIHNwZWNpYWwgaW50ZXJmYWNlIHRoYXQncyBub3RcbiAgLy8gcmVhZG9ubHkgZm9yIHdoZW4gd2UgY3JlYXRlIHRoZSBlcnJvciwgdGhlbiBjYXN0IGl0IHRvIHRoZSByZWFkb25seVxuICAvLyBpbnRlcmZhY2UgZm9yIHB1YmxpYyB1c2UsIGJ1dCB0aGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24gZGlkbid0IGhhdmUgdGhlbVxuICAvLyBhcyByZWFkb25seSwgc28gbGV0J3MganVzdCBub3Qgd29ycnkgYWJvdXQgaXQgZm9yIG5vdy5cbiAgY29kZTogUGFyc2VFcnJvckNvZGU7XG4gIHJlYXNvbkNvZGU6IHN0cmluZztcbiAgc3ludGF4UGx1Z2luPzogU3ludGF4UGx1Z2luO1xuICBtaXNzaW5nUGx1Z2luPzogc3RyaW5nIHwgc3RyaW5nW107XG4gIGxvYzogUG9zaXRpb247XG4gIGRldGFpbHM6IEVycm9yRGV0YWlscztcblxuICAvLyBXZSBzaG91bGQgY29uc2lkZXIgcmVtb3ZpbmcgdGhpcyBhcyBpdCBub3cganVzdCBjb250YWlucyB0aGUgc2FtZVxuICAvLyBpbmZvcm1hdGlvbiBhcyBgbG9jLmluZGV4YC5cbiAgcG9zOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFBhcnNlRXJyb3I8RXJyb3JEZXRhaWxzPiA9IFN5bnRheEVycm9yICZcbiAgUGFyc2VFcnJvclNwZWNpZmljYXRpb248RXJyb3JEZXRhaWxzPjtcblxuLy8gQnkgYFBhcnNlRXJyb3JDb25zdHJ1Y3RvcmAsIHdlIG1lYW4gc29tZXRoaW5nIGxpa2UgdGhlIG5ldy1sZXNzIHN0eWxlXG4vLyBgRXJyb3JDb25zdHJ1Y3RvcmBbMV0sIHNpbmNlIGBQYXJzZUVycm9yYCdzIGFyZSBub3QgdGhlbXNlbHZlcyBhY3R1YWxseVxuLy8gc2VwYXJhdGUgY2xhc3NlcyBmcm9tIGBTeW50YXhFcnJvcmAncy5cbi8vXG4vLyAxLiBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvYmxvYi92NC41LjUvbGliL2xpYi5lczUuZC50cyNMMTAyN1xuZXhwb3J0IHR5cGUgUGFyc2VFcnJvckNvbnN0cnVjdG9yPEVycm9yRGV0YWlscz4gPSAoXG4gIGxvYzogUG9zaXRpb24sXG4gIGRldGFpbHM6IEVycm9yRGV0YWlscyxcbikgPT4gUGFyc2VFcnJvcjxFcnJvckRldGFpbHM+O1xuXG50eXBlIFRvTWVzc2FnZTxFcnJvckRldGFpbHM+ID0gKHNlbGY6IEVycm9yRGV0YWlscykgPT4gc3RyaW5nO1xuXG50eXBlIFBhcnNlRXJyb3JDcmVkZW50aWFsczxFcnJvckRldGFpbHM+ID0ge1xuICBjb2RlOiBzdHJpbmc7XG4gIHJlYXNvbkNvZGU6IHN0cmluZztcbiAgc3ludGF4UGx1Z2luPzogU3ludGF4UGx1Z2luO1xuICB0b01lc3NhZ2U6IFRvTWVzc2FnZTxFcnJvckRldGFpbHM+O1xufTtcblxuZnVuY3Rpb24gZGVmaW5lSGlkZGVuKG9iajogb2JqZWN0LCBrZXk6IHN0cmluZywgdmFsdWU6IHVua25vd24pIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgIHZhbHVlLFxuICB9KTtcbn1cblxuZnVuY3Rpb24gdG9QYXJzZUVycm9yQ29uc3RydWN0b3I8RXJyb3JEZXRhaWxzIGV4dGVuZHMgb2JqZWN0Pih7XG4gIHRvTWVzc2FnZSxcbiAgY29kZSxcbiAgcmVhc29uQ29kZSxcbiAgc3ludGF4UGx1Z2luLFxufTogUGFyc2VFcnJvckNyZWRlbnRpYWxzPEVycm9yRGV0YWlscz4pOiBQYXJzZUVycm9yQ29uc3RydWN0b3I8RXJyb3JEZXRhaWxzPiB7XG4gIGNvbnN0IGhhc01pc3NpbmdQbHVnaW4gPVxuICAgIHJlYXNvbkNvZGUgPT09IFwiTWlzc2luZ1BsdWdpblwiIHx8IHJlYXNvbkNvZGUgPT09IFwiTWlzc2luZ09uZU9mUGx1Z2luc1wiO1xuXG4gIGlmICghcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORykge1xuICAgIGNvbnN0IG9sZFJlYXNvbkNvZGVzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge1xuICAgICAgQWNjZXNzb3JDYW5ub3REZWNsYXJlVGhpc1BhcmFtZXRlcjogXCJBY2Nlc29yQ2Fubm90RGVjbGFyZVRoaXNQYXJhbWV0ZXJcIixcbiAgICAgIEFjY2Vzc29yQ2Fubm90SGF2ZVR5cGVQYXJhbWV0ZXJzOiBcIkFjY2Vzb3JDYW5ub3RIYXZlVHlwZVBhcmFtZXRlcnNcIixcbiAgICAgIENvbnN0SW5pdGlhbGl6ZXJNdXN0QmVTdHJpbmdPck51bWVyaWNMaXRlcmFsT3JMaXRlcmFsRW51bVJlZmVyZW5jZTpcbiAgICAgICAgXCJDb25zdEluaXRpYWlsaXplck11c3RCZVN0cmluZ09yTnVtZXJpY0xpdGVyYWxPckxpdGVyYWxFbnVtUmVmZXJlbmNlXCIsXG4gICAgICBTZXRBY2Nlc3NvckNhbm5vdEhhdmVPcHRpb25hbFBhcmFtZXRlcjpcbiAgICAgICAgXCJTZXRBY2Nlc29yQ2Fubm90SGF2ZU9wdGlvbmFsUGFyYW1ldGVyXCIsXG4gICAgICBTZXRBY2Nlc3NvckNhbm5vdEhhdmVSZXN0UGFyYW1ldGVyOiBcIlNldEFjY2Vzb3JDYW5ub3RIYXZlUmVzdFBhcmFtZXRlclwiLFxuICAgICAgU2V0QWNjZXNzb3JDYW5ub3RIYXZlUmV0dXJuVHlwZTogXCJTZXRBY2Nlc29yQ2Fubm90SGF2ZVJldHVyblR5cGVcIixcbiAgICB9O1xuICAgIGlmIChvbGRSZWFzb25Db2Rlc1tyZWFzb25Db2RlXSkge1xuICAgICAgcmVhc29uQ29kZSA9IG9sZFJlYXNvbkNvZGVzW3JlYXNvbkNvZGVdO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiBjb25zdHJ1Y3Rvcihsb2M6IFBvc2l0aW9uLCBkZXRhaWxzOiBFcnJvckRldGFpbHMpIHtcbiAgICBjb25zdCBlcnJvcjogUGFyc2VFcnJvcjxFcnJvckRldGFpbHM+ID0gbmV3IFN5bnRheEVycm9yKCkgYXMgYW55O1xuXG4gICAgZXJyb3IuY29kZSA9IGNvZGUgYXMgUGFyc2VFcnJvckNvZGU7XG4gICAgZXJyb3IucmVhc29uQ29kZSA9IHJlYXNvbkNvZGU7XG4gICAgZXJyb3IubG9jID0gbG9jO1xuICAgIGVycm9yLnBvcyA9IGxvYy5pbmRleDtcblxuICAgIGVycm9yLnN5bnRheFBsdWdpbiA9IHN5bnRheFBsdWdpbjtcbiAgICBpZiAoaGFzTWlzc2luZ1BsdWdpbikge1xuICAgICAgZXJyb3IubWlzc2luZ1BsdWdpbiA9IChkZXRhaWxzIGFzIGFueSkubWlzc2luZ1BsdWdpbjtcbiAgICB9XG5cbiAgICB0eXBlIE92ZXJyaWRlcyA9IHtcbiAgICAgIGxvYz86IFBvc2l0aW9uO1xuICAgICAgZGV0YWlscz86IEVycm9yRGV0YWlscztcbiAgICB9O1xuICAgIGRlZmluZUhpZGRlbihlcnJvciwgXCJjbG9uZVwiLCBmdW5jdGlvbiBjbG9uZShvdmVycmlkZXM6IE92ZXJyaWRlcyA9IHt9KSB7XG4gICAgICBjb25zdCB7IGxpbmUsIGNvbHVtbiwgaW5kZXggfSA9IG92ZXJyaWRlcy5sb2MgPz8gbG9jO1xuICAgICAgcmV0dXJuIGNvbnN0cnVjdG9yKG5ldyBQb3NpdGlvbihsaW5lLCBjb2x1bW4sIGluZGV4KSwge1xuICAgICAgICAuLi5kZXRhaWxzLFxuICAgICAgICAuLi5vdmVycmlkZXMuZGV0YWlscyxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgZGVmaW5lSGlkZGVuKGVycm9yLCBcImRldGFpbHNcIiwgZGV0YWlscyk7XG5cbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXJyb3IsIFwibWVzc2FnZVwiLCB7XG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICBnZXQodGhpczogUGFyc2VFcnJvcjxFcnJvckRldGFpbHM+KTogc3RyaW5nIHtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IGAke3RvTWVzc2FnZShkZXRhaWxzKX0gKCR7bG9jLmxpbmV9OiR7bG9jLmNvbHVtbn0pYDtcbiAgICAgICAgdGhpcy5tZXNzYWdlID0gbWVzc2FnZTtcbiAgICAgICAgcmV0dXJuIG1lc3NhZ2U7XG4gICAgICB9LFxuICAgICAgc2V0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwibWVzc2FnZVwiLCB7IHZhbHVlLCB3cml0YWJsZTogdHJ1ZSB9KTtcbiAgICAgIH0sXG4gICAgfSk7XG5cbiAgICByZXR1cm4gZXJyb3I7XG4gIH07XG59XG5cbnR5cGUgUGFyc2VFcnJvclRlbXBsYXRlID1cbiAgfCBzdHJpbmdcbiAgfCBUb01lc3NhZ2U8YW55PlxuICB8IHsgbWVzc2FnZTogc3RyaW5nIHwgVG9NZXNzYWdlPGFueT47IGNvZGU/OiBQYXJzZUVycm9yQ29kZSB9O1xuXG5leHBvcnQgdHlwZSBQYXJzZUVycm9yVGVtcGxhdGVzID0geyBbcmVhc29uQ29kZTogc3RyaW5nXTogUGFyc2VFcnJvclRlbXBsYXRlIH07XG5cbi8vIFRoaXMgaXMgdGhlIHRlbXBsYXRlZCBmb3JtIG9mIGBQYXJzZUVycm9yRW51bWAuXG4vL1xuLy8gTm90ZTogV2UgY291bGQgZmFjdG9yIG91dCB0aGUgcmV0dXJuIHR5cGUgY2FsY3VsYXRpb24gaW50byBzb21ldGhpbmcgbGlrZVxuLy8gYFBhcnNlRXJyb3JDb25zdHJ1Y3RvcjxUIGV4dGVuZHMgUGFyc2VFcnJvclRlbXBsYXRlcz5gLCBhbmQgdGhlbiB3ZSBjb3VsZFxuLy8gcmV1c2UgaXQgaW4gdGhlIG5vbi10ZW1wbGF0ZWQgZm9ybSBvZiBgUGFyc2VFcnJvckVudW1gLCBidXQgVHlwZVNjcmlwdFxuLy8gZG9lc24ndCBzZWVtIHRvIGRyaWxsIGRvd24gdGhhdCBmYXIgd2hlbiBzaG93aW5nIHlvdSB0aGUgY29tcHV0ZWQgdHlwZSBvZlxuLy8gYW4gb2JqZWN0IGluIGFuIGVkaXRvciwgc28gd2UnbGwgbGVhdmUgaXQgaW5saW5lZCBmb3Igbm93LlxuZXhwb3J0IGZ1bmN0aW9uIFBhcnNlRXJyb3JFbnVtKGE6IFRlbXBsYXRlU3RyaW5nc0FycmF5KTogPFxuICBUIGV4dGVuZHMgUGFyc2VFcnJvclRlbXBsYXRlcyxcbj4oXG4gIHBhcnNlRXJyb3JUZW1wbGF0ZXM6IFQsXG4pID0+IHtcbiAgW0sgaW4ga2V5b2YgVF06IFBhcnNlRXJyb3JDb25zdHJ1Y3RvcjxcbiAgICBUW0tdIGV4dGVuZHMgeyBtZXNzYWdlOiBzdHJpbmcgfCBUb01lc3NhZ2U8YW55PiB9XG4gICAgICA/IFRbS11bXCJtZXNzYWdlXCJdIGV4dGVuZHMgVG9NZXNzYWdlPGFueT5cbiAgICAgICAgPyBQYXJhbWV0ZXJzPFRbS11bXCJtZXNzYWdlXCJdPlswXVxuICAgICAgICA6IG9iamVjdFxuICAgICAgOiBUW0tdIGV4dGVuZHMgVG9NZXNzYWdlPGFueT5cbiAgICAgICAgPyBQYXJhbWV0ZXJzPFRbS10+WzBdXG4gICAgICAgIDogb2JqZWN0XG4gID47XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gUGFyc2VFcnJvckVudW08VCBleHRlbmRzIFBhcnNlRXJyb3JUZW1wbGF0ZXM+KFxuICBwYXJzZUVycm9yVGVtcGxhdGVzOiBULFxuICBzeW50YXhQbHVnaW4/OiBTeW50YXhQbHVnaW4sXG4pOiB7XG4gIFtLIGluIGtleW9mIFRdOiBQYXJzZUVycm9yQ29uc3RydWN0b3I8XG4gICAgVFtLXSBleHRlbmRzIHsgbWVzc2FnZTogc3RyaW5nIHwgVG9NZXNzYWdlPGFueT4gfVxuICAgICAgPyBUW0tdW1wibWVzc2FnZVwiXSBleHRlbmRzIFRvTWVzc2FnZTxhbnk+XG4gICAgICAgID8gUGFyYW1ldGVyczxUW0tdW1wibWVzc2FnZVwiXT5bMF1cbiAgICAgICAgOiBvYmplY3RcbiAgICAgIDogVFtLXSBleHRlbmRzIFRvTWVzc2FnZTxhbnk+XG4gICAgICAgID8gUGFyYW1ldGVyczxUW0tdPlswXVxuICAgICAgICA6IG9iamVjdFxuICA+O1xufTtcblxuLy8gWW91IGNhbGwgYFBhcnNlRXJyb3JFbnVtYCB3aXRoIGEgbWFwcGluZyBmcm9tIGBSZWFzb25Db2RlYCdzIHRvIGVpdGhlcjpcbi8vXG4vLyAxLiBhIHN0YXRpYyBlcnJvciBtZXNzYWdlLFxuLy8gMi4gYHRvTWVzc2FnZWAgZnVuY3Rpb25zIHRoYXQgZGVmaW5lIGFkZGl0aW9uYWwgbmVjZXNzYXJ5IGBkZXRhaWxzYCBuZWVkZWQgYnlcbi8vICAgIHRoZSBgUGFyc2VFcnJvcmAsIG9yXG4vLyAzLiBPYmplY3RzIHRoYXQgY29udGFpbiBhIGBtZXNzYWdlYCBvZiBvbmUgb2YgdGhlIGFib3ZlIGFuZCBvdmVycmlkZGVuIGBjb2RlYFxuLy8gICAgYW5kL29yIGByZWFzb25Db2RlYDpcbi8vXG4vLyBQYXJzZUVycm9yRW51bSBgb3B0aW9uYWxTeW50YXhQbHVnaW5gICh7XG4vLyAgIEVycm9yV2l0aFN0YXRpY01lc3NhZ2U6IFwibWVzc2FnZVwiLFxuLy8gICBFcnJvcldpdGhEeW5hbWljTWVzc2FnZTogKHsgdHlwZSB9IDogeyB0eXBlOiBzdHJpbmcgfSkgPT4gYCR7dHlwZX1gKSxcbi8vICAgRXJyb3JXaXRoT3ZlcnJpZGRlbkNvZGVBbmRPclJlYXNvbkNvZGU6IHtcbi8vICAgICBtZXNzYWdlOiAoeyB0eXBlIH06IHsgdHlwZTogc3RyaW5nIH0pID0+IGAke3R5cGV9YCksXG4vLyAgICAgY29kZTogXCJBTl9FUlJPUl9DT0RFXCIsXG4vLyAgICAgLi4uKEJBQkVMXzhfQlJFQUtJTkcgPyB7IH0gOiB7IHJlYXNvbkNvZGU6IFwiQ3VzdG9tRXJyb3JSZWFzb25Db2RlXCIgfSlcbi8vICAgfVxuLy8gfSk7XG4vL1xuZXhwb3J0IGZ1bmN0aW9uIFBhcnNlRXJyb3JFbnVtKFxuICBhcmd1bWVudDogVGVtcGxhdGVTdHJpbmdzQXJyYXkgfCBQYXJzZUVycm9yVGVtcGxhdGVzLFxuICBzeW50YXhQbHVnaW4/OiBTeW50YXhQbHVnaW4sXG4pIHtcbiAgLy8gSWYgdGhlIGZpcnN0IHBhcmFtZXRlciBpcyBhbiBhcnJheSwgdGhhdCBtZWFucyB3ZSB3ZXJlIGNhbGxlZCB3aXRoIGEgdGFnZ2VkXG4gIC8vIHRlbXBsYXRlIGxpdGVyYWwuIEV4dHJhY3QgdGhlIHN5bnRheFBsdWdpbiBmcm9tIHRoaXMsIGFuZCBjYWxsIGFnYWluIGluXG4gIC8vIHRoZSBcIm5vcm1hbGl6ZWRcIiBmb3JtLlxuICBpZiAoQXJyYXkuaXNBcnJheShhcmd1bWVudCkpIHtcbiAgICByZXR1cm4gKHBhcnNlRXJyb3JUZW1wbGF0ZXM6IFBhcnNlRXJyb3JUZW1wbGF0ZXMpID0+XG4gICAgICBQYXJzZUVycm9yRW51bShwYXJzZUVycm9yVGVtcGxhdGVzLCBhcmd1bWVudFswXSk7XG4gIH1cblxuICBjb25zdCBQYXJzZUVycm9yQ29uc3RydWN0b3JzID0ge30gYXMgUmVjb3JkPFxuICAgIHN0cmluZyxcbiAgICBQYXJzZUVycm9yQ29uc3RydWN0b3I8dW5rbm93bj5cbiAgPjtcblxuICBmb3IgKGNvbnN0IHJlYXNvbkNvZGUgb2YgT2JqZWN0LmtleXMoYXJndW1lbnQpKSB7XG4gICAgY29uc3QgdGVtcGxhdGUgPSAoYXJndW1lbnQgYXMgUGFyc2VFcnJvclRlbXBsYXRlcylbcmVhc29uQ29kZV07XG4gICAgY29uc3QgeyBtZXNzYWdlLCAuLi5yZXN0IH0gPVxuICAgICAgdHlwZW9mIHRlbXBsYXRlID09PSBcInN0cmluZ1wiXG4gICAgICAgID8geyBtZXNzYWdlOiAoKSA9PiB0ZW1wbGF0ZSB9XG4gICAgICAgIDogdHlwZW9mIHRlbXBsYXRlID09PSBcImZ1bmN0aW9uXCJcbiAgICAgICAgICA/IHsgbWVzc2FnZTogdGVtcGxhdGUgfVxuICAgICAgICAgIDogdGVtcGxhdGU7XG4gICAgY29uc3QgdG9NZXNzYWdlID0gdHlwZW9mIG1lc3NhZ2UgPT09IFwic3RyaW5nXCIgPyAoKSA9PiBtZXNzYWdlIDogbWVzc2FnZTtcblxuICAgIFBhcnNlRXJyb3JDb25zdHJ1Y3RvcnNbcmVhc29uQ29kZV0gPSB0b1BhcnNlRXJyb3JDb25zdHJ1Y3Rvcih7XG4gICAgICBjb2RlOiBcIkJBQkVMX1BBUlNFUl9TWU5UQVhfRVJST1JcIixcbiAgICAgIHJlYXNvbkNvZGUsXG4gICAgICB0b01lc3NhZ2UsXG4gICAgICAuLi4oc3ludGF4UGx1Z2luID8geyBzeW50YXhQbHVnaW4gfSA6IHt9KSxcbiAgICAgIC4uLnJlc3QsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gUGFyc2VFcnJvckNvbnN0cnVjdG9ycztcbn1cblxuaW1wb3J0IE1vZHVsZUVycm9ycyBmcm9tIFwiLi9wYXJzZS1lcnJvci9tb2R1bGUtZXJyb3JzLnRzXCI7XG5pbXBvcnQgU3RhbmRhcmRFcnJvcnMgZnJvbSBcIi4vcGFyc2UtZXJyb3Ivc3RhbmRhcmQtZXJyb3JzLnRzXCI7XG5pbXBvcnQgU3RyaWN0TW9kZUVycm9ycyBmcm9tIFwiLi9wYXJzZS1lcnJvci9zdHJpY3QtbW9kZS1lcnJvcnMudHNcIjtcbmltcG9ydCBQaXBlbGluZU9wZXJhdG9yRXJyb3JzIGZyb20gXCIuL3BhcnNlLWVycm9yL3BpcGVsaW5lLW9wZXJhdG9yLWVycm9ycy50c1wiO1xuXG5leHBvcnQgY29uc3QgRXJyb3JzID0ge1xuICAuLi5QYXJzZUVycm9yRW51bShNb2R1bGVFcnJvcnMpLFxuICAuLi5QYXJzZUVycm9yRW51bShTdGFuZGFyZEVycm9ycyksXG4gIC4uLlBhcnNlRXJyb3JFbnVtKFN0cmljdE1vZGVFcnJvcnMpLFxuICAuLi5QYXJzZUVycm9yRW51bWBwaXBlbGluZU9wZXJhdG9yYChQaXBlbGluZU9wZXJhdG9yRXJyb3JzKSxcbn07XG5cbmV4cG9ydCB0eXBlIHsgTFZhbEFuY2VzdG9yIH0gZnJvbSBcIi4vcGFyc2UtZXJyb3Ivc3RhbmRhcmQtZXJyb3JzLnRzXCI7XG4iLCAiaW1wb3J0IHR5cGUgeyBUb2tlblR5cGUgfSBmcm9tIFwiLi4vdG9rZW5pemVyL3R5cGVzLnRzXCI7XG5pbXBvcnQgdHlwZSBQYXJzZXIgZnJvbSBcIi4uL3BhcnNlci9pbmRleC50c1wiO1xuaW1wb3J0IHR5cGUgeyBFeHByZXNzaW9uRXJyb3JzIH0gZnJvbSBcIi4uL3BhcnNlci91dGlsLnRzXCI7XG5pbXBvcnQgdHlwZSAqIGFzIE4gZnJvbSBcIi4uL3R5cGVzLnRzXCI7XG5pbXBvcnQgdHlwZSB7IE5vZGUgYXMgTm9kZVR5cGUsIE5vZGVCYXNlLCBGaWxlIH0gZnJvbSBcIi4uL3R5cGVzLnRzXCI7XG5pbXBvcnQgdHlwZSB7IFBvc2l0aW9uIH0gZnJvbSBcIi4uL3V0aWwvbG9jYXRpb24udHNcIjtcbmltcG9ydCB7IEVycm9ycyB9IGZyb20gXCIuLi9wYXJzZS1lcnJvci50c1wiO1xuaW1wb3J0IHR5cGUgeyBVbmRvbmUgfSBmcm9tIFwiLi4vcGFyc2VyL25vZGUudHNcIjtcbmltcG9ydCB0eXBlIHsgQmluZGluZ0ZsYWcgfSBmcm9tIFwiLi4vdXRpbC9zY29wZWZsYWdzLnRzXCI7XG5cbmNvbnN0IHsgZGVmaW5lUHJvcGVydHkgfSA9IE9iamVjdDtcbmNvbnN0IHRvVW5lbnVtZXJhYmxlID0gKG9iamVjdDogYW55LCBrZXk6IHN0cmluZykgPT4ge1xuICBpZiAob2JqZWN0KSB7XG4gICAgZGVmaW5lUHJvcGVydHkob2JqZWN0LCBrZXksIHsgZW51bWVyYWJsZTogZmFsc2UsIHZhbHVlOiBvYmplY3Rba2V5XSB9KTtcbiAgfVxufTtcblxuZnVuY3Rpb24gdG9FU1RyZWVMb2NhdGlvbihub2RlOiBhbnkpIHtcbiAgdG9VbmVudW1lcmFibGUobm9kZS5sb2Muc3RhcnQsIFwiaW5kZXhcIik7XG4gIHRvVW5lbnVtZXJhYmxlKG5vZGUubG9jLmVuZCwgXCJpbmRleFwiKTtcblxuICByZXR1cm4gbm9kZTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgKHN1cGVyQ2xhc3M6IHR5cGVvZiBQYXJzZXIpID0+XG4gIGNsYXNzIEVTVHJlZVBhcnNlck1peGluIGV4dGVuZHMgc3VwZXJDbGFzcyBpbXBsZW1lbnRzIFBhcnNlciB7XG4gICAgcGFyc2UoKTogRmlsZSB7XG4gICAgICBjb25zdCBmaWxlID0gdG9FU1RyZWVMb2NhdGlvbihzdXBlci5wYXJzZSgpKTtcblxuICAgICAgaWYgKHRoaXMub3B0aW9ucy50b2tlbnMpIHtcbiAgICAgICAgZmlsZS50b2tlbnMgPSBmaWxlLnRva2Vucy5tYXAodG9FU1RyZWVMb2NhdGlvbik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaWxlO1xuICAgIH1cblxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgRVNUcmVlIHBsdWdpbiBjaGFuZ2VzIG5vZGUgdHlwZXNcbiAgICBwYXJzZVJlZ0V4cExpdGVyYWwoeyBwYXR0ZXJuLCBmbGFncyB9KTogTi5Fc3RyZWVSZWdFeHBMaXRlcmFsIHtcbiAgICAgIGxldCByZWdleDogUmVnRXhwIHwgbnVsbCA9IG51bGw7XG4gICAgICB0cnkge1xuICAgICAgICByZWdleCA9IG5ldyBSZWdFeHAocGF0dGVybiwgZmxhZ3MpO1xuICAgICAgfSBjYXRjaCAoXykge1xuICAgICAgICAvLyBJbiBlbnZpcm9ubWVudHMgdGhhdCBkb24ndCBzdXBwb3J0IHRoZXNlIGZsYWdzIHZhbHVlIHdpbGxcbiAgICAgICAgLy8gYmUgbnVsbCBhcyB0aGUgcmVnZXggY2FuJ3QgYmUgcmVwcmVzZW50ZWQgbmF0aXZlbHkuXG4gICAgICB9XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5lc3RyZWVQYXJzZUxpdGVyYWw8Ti5Fc3RyZWVSZWdFeHBMaXRlcmFsPihyZWdleCk7XG4gICAgICBub2RlLnJlZ2V4ID0geyBwYXR0ZXJuLCBmbGFncyB9O1xuXG4gICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG5cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIEVTVHJlZSBwbHVnaW4gY2hhbmdlcyBub2RlIHR5cGVzXG4gICAgcGFyc2VCaWdJbnRMaXRlcmFsKHZhbHVlOiBhbnkpOiBOLk5vZGUge1xuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2VzdHJlZS9lc3RyZWUvYmxvYi9tYXN0ZXIvZXMyMDIwLm1kI2JpZ2ludGxpdGVyYWxcbiAgICAgIGxldCBiaWdJbnQ6IGJpZ2ludCB8IG51bGw7XG4gICAgICB0cnkge1xuICAgICAgICBiaWdJbnQgPSBCaWdJbnQodmFsdWUpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIGJpZ0ludCA9IG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5lc3RyZWVQYXJzZUxpdGVyYWw8Ti5Fc3RyZWVCaWdJbnRMaXRlcmFsPihiaWdJbnQpO1xuICAgICAgbm9kZS5iaWdpbnQgPSBTdHJpbmcobm9kZS52YWx1ZSB8fCB2YWx1ZSk7XG5cbiAgICAgIHJldHVybiBub2RlO1xuICAgIH1cblxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgRVNUcmVlIHBsdWdpbiBjaGFuZ2VzIG5vZGUgdHlwZXNcbiAgICBwYXJzZURlY2ltYWxMaXRlcmFsKHZhbHVlOiBhbnkpOiBOLk5vZGUge1xuICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2VzdHJlZS9lc3RyZWUvYmxvYi9tYXN0ZXIvZXhwZXJpbWVudGFsL2RlY2ltYWwubWRcbiAgICAgIC8vIHRvZG86IHVzZSBCaWdEZWNpbWFsIHdoZW4gbm9kZSBzdXBwb3J0cyBpdC5cbiAgICAgIGNvbnN0IGRlY2ltYWw6IG51bGwgPSBudWxsO1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuZXN0cmVlUGFyc2VMaXRlcmFsKGRlY2ltYWwpO1xuICAgICAgbm9kZS5kZWNpbWFsID0gU3RyaW5nKG5vZGUudmFsdWUgfHwgdmFsdWUpO1xuXG4gICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG5cbiAgICBlc3RyZWVQYXJzZUxpdGVyYWw8VCBleHRlbmRzIE4uRXN0cmVlTGl0ZXJhbD4odmFsdWU6IGFueSkge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBFU1RyZWUgcGx1Z2luIGNoYW5nZXMgbm9kZSB0eXBlc1xuICAgICAgcmV0dXJuIHRoaXMucGFyc2VMaXRlcmFsPFQ+KHZhbHVlLCBcIkxpdGVyYWxcIik7XG4gICAgfVxuXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBFU1RyZWUgcGx1Z2luIGNoYW5nZXMgbm9kZSB0eXBlc1xuICAgIHBhcnNlU3RyaW5nTGl0ZXJhbCh2YWx1ZTogYW55KTogTi5Ob2RlIHtcbiAgICAgIHJldHVybiB0aGlzLmVzdHJlZVBhcnNlTGl0ZXJhbCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcGFyc2VOdW1lcmljTGl0ZXJhbCh2YWx1ZTogYW55KTogYW55IHtcbiAgICAgIHJldHVybiB0aGlzLmVzdHJlZVBhcnNlTGl0ZXJhbCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBFU1RyZWUgcGx1Z2luIGNoYW5nZXMgbm9kZSB0eXBlc1xuICAgIHBhcnNlTnVsbExpdGVyYWwoKTogTi5Ob2RlIHtcbiAgICAgIHJldHVybiB0aGlzLmVzdHJlZVBhcnNlTGl0ZXJhbChudWxsKTtcbiAgICB9XG5cbiAgICBwYXJzZUJvb2xlYW5MaXRlcmFsKHZhbHVlOiBib29sZWFuKTogTi5Cb29sZWFuTGl0ZXJhbCB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIEVTVHJlZSBwbHVnaW4gY2hhbmdlcyBub2RlIHR5cGVzXG4gICAgICByZXR1cm4gdGhpcy5lc3RyZWVQYXJzZUxpdGVyYWwodmFsdWUpO1xuICAgIH1cblxuICAgIC8vIENhc3QgYSBEaXJlY3RpdmUgdG8gYW4gRXhwcmVzc2lvblN0YXRlbWVudC4gTXV0YXRlcyB0aGUgaW5wdXQgRGlyZWN0aXZlLlxuICAgIGRpcmVjdGl2ZVRvU3RtdChkaXJlY3RpdmU6IE4uRGlyZWN0aXZlKTogTi5FeHByZXNzaW9uU3RhdGVtZW50IHtcbiAgICAgIGNvbnN0IGV4cHJlc3Npb24gPSBkaXJlY3RpdmUudmFsdWUgYXMgYW55IGFzIE4uRXN0cmVlTGl0ZXJhbDtcbiAgICAgIGRlbGV0ZSBkaXJlY3RpdmUudmFsdWU7XG5cbiAgICAgIGV4cHJlc3Npb24udHlwZSA9IFwiTGl0ZXJhbFwiO1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBOLkVzdHJlZUxpdGVyYWwucmF3IGlzIG5vdCBkZWZpbmVkLlxuICAgICAgZXhwcmVzc2lvbi5yYXcgPSBleHByZXNzaW9uLmV4dHJhLnJhdztcbiAgICAgIGV4cHJlc3Npb24udmFsdWUgPSBleHByZXNzaW9uLmV4dHJhLmV4cHJlc3Npb25WYWx1ZTtcblxuICAgICAgY29uc3Qgc3RtdCA9IGRpcmVjdGl2ZSBhcyBhbnkgYXMgTi5FeHByZXNzaW9uU3RhdGVtZW50O1xuICAgICAgc3RtdC50eXBlID0gXCJFeHByZXNzaW9uU3RhdGVtZW50XCI7XG4gICAgICBzdG10LmV4cHJlc3Npb24gPSBleHByZXNzaW9uO1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBOLkV4cHJlc3Npb25TdGF0ZW1lbnQuZGlyZWN0aXZlIGlzIG5vdCBkZWZpbmVkXG4gICAgICBzdG10LmRpcmVjdGl2ZSA9IGV4cHJlc3Npb24uZXh0cmEucmF3VmFsdWU7XG5cbiAgICAgIGRlbGV0ZSBleHByZXNzaW9uLmV4dHJhO1xuXG4gICAgICByZXR1cm4gc3RtdDtcbiAgICB9XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gT3ZlcnJpZGVzXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgaW5pdEZ1bmN0aW9uKG5vZGU6IE4uQm9kaWxlc3NGdW5jdGlvbk9yTWV0aG9kQmFzZSwgaXNBc3luYzogYm9vbGVhbik6IHZvaWQge1xuICAgICAgc3VwZXIuaW5pdEZ1bmN0aW9uKG5vZGUsIGlzQXN5bmMpO1xuICAgICAgbm9kZS5leHByZXNzaW9uID0gZmFsc2U7XG4gICAgfVxuXG4gICAgY2hlY2tEZWNsYXJhdGlvbihub2RlOiBOLlBhdHRlcm4gfCBOLk9iamVjdFByb3BlcnR5KTogdm9pZCB7XG4gICAgICBpZiAobm9kZSAhPSBudWxsICYmIHRoaXMuaXNPYmplY3RQcm9wZXJ0eShub2RlKSkge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHBsdWdpbiB0eXBpbmdzXG4gICAgICAgIHRoaXMuY2hlY2tEZWNsYXJhdGlvbigobm9kZSBhcyB1bmtub3duIGFzIE4uRXN0cmVlUHJvcGVydHkpLnZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN1cGVyLmNoZWNrRGVjbGFyYXRpb24obm9kZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZ2V0T2JqZWN0T3JDbGFzc01ldGhvZFBhcmFtcyhtZXRob2Q6IE4uT2JqZWN0TWV0aG9kIHwgTi5DbGFzc01ldGhvZCkge1xuICAgICAgcmV0dXJuIChtZXRob2QgYXMgdW5rbm93biBhcyBOLkVzdHJlZU1ldGhvZERlZmluaXRpb24pLnZhbHVlLnBhcmFtcztcbiAgICB9XG5cbiAgICBpc1ZhbGlkRGlyZWN0aXZlKHN0bXQ6IE4uU3RhdGVtZW50KTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICBzdG10LnR5cGUgPT09IFwiRXhwcmVzc2lvblN0YXRlbWVudFwiICYmXG4gICAgICAgIHN0bXQuZXhwcmVzc2lvbi50eXBlID09PSBcIkxpdGVyYWxcIiAmJlxuICAgICAgICB0eXBlb2Ygc3RtdC5leHByZXNzaW9uLnZhbHVlID09PSBcInN0cmluZ1wiICYmXG4gICAgICAgICFzdG10LmV4cHJlc3Npb24uZXh0cmE/LnBhcmVudGhlc2l6ZWRcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcGFyc2VCbG9ja0JvZHkoXG4gICAgICBub2RlOiBOLkJsb2NrU3RhdGVtZW50TGlrZSxcbiAgICAgIGFsbG93RGlyZWN0aXZlczogYm9vbGVhbiB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICAgICB0b3BMZXZlbDogYm9vbGVhbixcbiAgICAgIGVuZDogVG9rZW5UeXBlLFxuICAgICAgYWZ0ZXJCbG9ja1BhcnNlPzogKGhhc1N0cmljdE1vZGVEaXJlY3RpdmU6IGJvb2xlYW4pID0+IHZvaWQsXG4gICAgKTogdm9pZCB7XG4gICAgICBzdXBlci5wYXJzZUJsb2NrQm9keShcbiAgICAgICAgbm9kZSxcbiAgICAgICAgYWxsb3dEaXJlY3RpdmVzLFxuICAgICAgICB0b3BMZXZlbCxcbiAgICAgICAgZW5kLFxuICAgICAgICBhZnRlckJsb2NrUGFyc2UsXG4gICAgICApO1xuXG4gICAgICBjb25zdCBkaXJlY3RpdmVTdGF0ZW1lbnRzID0gbm9kZS5kaXJlY3RpdmVzLm1hcChkID0+XG4gICAgICAgIHRoaXMuZGlyZWN0aXZlVG9TdG10KGQpLFxuICAgICAgKTtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZXN0cmVlIHBsdWdpbiB0eXBpbmdzXG4gICAgICBub2RlLmJvZHkgPSBkaXJlY3RpdmVTdGF0ZW1lbnRzLmNvbmNhdChub2RlLmJvZHkpO1xuICAgICAgZGVsZXRlIG5vZGUuZGlyZWN0aXZlcztcbiAgICB9XG5cbiAgICBwdXNoQ2xhc3NNZXRob2QoXG4gICAgICBjbGFzc0JvZHk6IE4uQ2xhc3NCb2R5LFxuICAgICAgbWV0aG9kOiBOLkNsYXNzTWV0aG9kLFxuICAgICAgaXNHZW5lcmF0b3I6IGJvb2xlYW4sXG4gICAgICBpc0FzeW5jOiBib29sZWFuLFxuICAgICAgaXNDb25zdHJ1Y3RvcjogYm9vbGVhbixcbiAgICAgIGFsbG93c0RpcmVjdFN1cGVyOiBib29sZWFuLFxuICAgICk6IHZvaWQge1xuICAgICAgdGhpcy5wYXJzZU1ldGhvZChcbiAgICAgICAgbWV0aG9kLFxuICAgICAgICBpc0dlbmVyYXRvcixcbiAgICAgICAgaXNBc3luYyxcbiAgICAgICAgaXNDb25zdHJ1Y3RvcixcbiAgICAgICAgYWxsb3dzRGlyZWN0U3VwZXIsXG4gICAgICAgIFwiQ2xhc3NNZXRob2RcIixcbiAgICAgICAgdHJ1ZSxcbiAgICAgICk7XG4gICAgICBpZiAobWV0aG9kLnR5cGVQYXJhbWV0ZXJzKSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbXV0YXRlIEFTVCB0eXBlc1xuICAgICAgICBtZXRob2QudmFsdWUudHlwZVBhcmFtZXRlcnMgPSBtZXRob2QudHlwZVBhcmFtZXRlcnM7XG4gICAgICAgIGRlbGV0ZSBtZXRob2QudHlwZVBhcmFtZXRlcnM7XG4gICAgICB9XG4gICAgICBjbGFzc0JvZHkuYm9keS5wdXNoKG1ldGhvZCk7XG4gICAgfVxuXG4gICAgcGFyc2VQcml2YXRlTmFtZSgpOiBhbnkge1xuICAgICAgY29uc3Qgbm9kZSA9IHN1cGVyLnBhcnNlUHJpdmF0ZU5hbWUoKTtcbiAgICAgIGlmICghcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORykge1xuICAgICAgICBpZiAoIXRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwiZXN0cmVlXCIsIFwiY2xhc3NGZWF0dXJlc1wiKSkge1xuICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5jb252ZXJ0UHJpdmF0ZU5hbWVUb1ByaXZhdGVJZGVudGlmaWVyKG5vZGUpO1xuICAgIH1cblxuICAgIGNvbnZlcnRQcml2YXRlTmFtZVRvUHJpdmF0ZUlkZW50aWZpZXIoXG4gICAgICBub2RlOiBOLlByaXZhdGVOYW1lLFxuICAgICk6IE4uRXN0cmVlUHJpdmF0ZUlkZW50aWZpZXIge1xuICAgICAgY29uc3QgbmFtZSA9IHN1cGVyLmdldFByaXZhdGVOYW1lU1Yobm9kZSk7XG4gICAgICBub2RlID0gbm9kZSBhcyBhbnk7XG4gICAgICBkZWxldGUgbm9kZS5pZDtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbXV0YXRlIEFTVCB0eXBlc1xuICAgICAgbm9kZS5uYW1lID0gbmFtZTtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbXV0YXRlIEFTVCB0eXBlc1xuICAgICAgbm9kZS50eXBlID0gXCJQcml2YXRlSWRlbnRpZmllclwiO1xuICAgICAgcmV0dXJuIG5vZGUgYXMgdW5rbm93biBhcyBOLkVzdHJlZVByaXZhdGVJZGVudGlmaWVyO1xuICAgIH1cblxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgRVNUcmVlIHBsdWdpbiBjaGFuZ2VzIG5vZGUgdHlwZXNcbiAgICBpc1ByaXZhdGVOYW1lKG5vZGU6IE4uTm9kZSk6IG5vZGUgaXMgTi5Fc3RyZWVQcml2YXRlSWRlbnRpZmllciB7XG4gICAgICBpZiAoIXByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcpIHtcbiAgICAgICAgaWYgKCF0aGlzLmdldFBsdWdpbk9wdGlvbihcImVzdHJlZVwiLCBcImNsYXNzRmVhdHVyZXNcIikpIHtcbiAgICAgICAgICByZXR1cm4gc3VwZXIuaXNQcml2YXRlTmFtZShub2RlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIG5vZGUudHlwZSA9PT0gXCJQcml2YXRlSWRlbnRpZmllclwiO1xuICAgIH1cblxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgRVNUcmVlIHBsdWdpbiBjaGFuZ2VzIG5vZGUgdHlwZXNcbiAgICBnZXRQcml2YXRlTmFtZVNWKG5vZGU6IE4uRXN0cmVlUHJpdmF0ZUlkZW50aWZpZXIpOiBzdHJpbmcge1xuICAgICAgaWYgKCFwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HKSB7XG4gICAgICAgIGlmICghdGhpcy5nZXRQbHVnaW5PcHRpb24oXCJlc3RyZWVcIiwgXCJjbGFzc0ZlYXR1cmVzXCIpKSB7XG4gICAgICAgICAgcmV0dXJuIHN1cGVyLmdldFByaXZhdGVOYW1lU1Yobm9kZSBhcyB1bmtub3duIGFzIE4uUHJpdmF0ZU5hbWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbm9kZS5uYW1lO1xuICAgIH1cblxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgcGx1Z2luIG1heSBvdmVycmlkZSBpbnRlcmZhY2VzXG4gICAgcGFyc2VMaXRlcmFsPFQgZXh0ZW5kcyBOLkxpdGVyYWw+KHZhbHVlOiBhbnksIHR5cGU6IFRbXCJ0eXBlXCJdKTogVCB7XG4gICAgICBjb25zdCBub2RlID0gc3VwZXIucGFyc2VMaXRlcmFsPFQ+KHZhbHVlLCB0eXBlKTtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbXV0YXRpbmcgQVNUIHR5cGVzXG4gICAgICBub2RlLnJhdyA9IG5vZGUuZXh0cmEucmF3O1xuICAgICAgZGVsZXRlIG5vZGUuZXh0cmE7XG5cbiAgICAgIHJldHVybiBub2RlO1xuICAgIH1cblxuICAgIHBhcnNlRnVuY3Rpb25Cb2R5KFxuICAgICAgbm9kZTogTi5GdW5jdGlvbixcbiAgICAgIGFsbG93RXhwcmVzc2lvbj86IGJvb2xlYW4gfCBudWxsLFxuICAgICAgaXNNZXRob2Q6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICApOiB2b2lkIHtcbiAgICAgIHN1cGVyLnBhcnNlRnVuY3Rpb25Cb2R5KG5vZGUsIGFsbG93RXhwcmVzc2lvbiwgaXNNZXRob2QpO1xuICAgICAgbm9kZS5leHByZXNzaW9uID0gbm9kZS5ib2R5LnR5cGUgIT09IFwiQmxvY2tTdGF0ZW1lbnRcIjtcbiAgICB9XG5cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHBsdWdpbiBtYXkgb3ZlcnJpZGUgaW50ZXJmYWNlc1xuICAgIHBhcnNlTWV0aG9kPFxuICAgICAgVCBleHRlbmRzIE4uQ2xhc3NQcml2YXRlTWV0aG9kIHwgTi5PYmplY3RNZXRob2QgfCBOLkNsYXNzTWV0aG9kLFxuICAgID4oXG4gICAgICBub2RlOiBVbmRvbmU8VD4sXG4gICAgICBpc0dlbmVyYXRvcjogYm9vbGVhbixcbiAgICAgIGlzQXN5bmM6IGJvb2xlYW4sXG4gICAgICBpc0NvbnN0cnVjdG9yOiBib29sZWFuLFxuICAgICAgYWxsb3dEaXJlY3RTdXBlcjogYm9vbGVhbixcbiAgICAgIHR5cGU6IFRbXCJ0eXBlXCJdLFxuICAgICAgaW5DbGFzc1Njb3BlOiBib29sZWFuID0gZmFsc2UsXG4gICAgKTogTi5Fc3RyZWVNZXRob2REZWZpbml0aW9uIHtcbiAgICAgIGxldCBmdW5jTm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uTWV0aG9kTGlrZT4oKTtcbiAgICAgIGZ1bmNOb2RlLmtpbmQgPSBub2RlLmtpbmQ7IC8vIHByb3ZpZGUga2luZCwgc28gc3VwZXIgbWV0aG9kIGNvcnJlY3RseSBzZXRzIHN0YXRlXG4gICAgICBmdW5jTm9kZSA9IHN1cGVyLnBhcnNlTWV0aG9kKFxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHRvZG8oZmxvdy0+dHMpXG4gICAgICAgIGZ1bmNOb2RlLFxuICAgICAgICBpc0dlbmVyYXRvcixcbiAgICAgICAgaXNBc3luYyxcbiAgICAgICAgaXNDb25zdHJ1Y3RvcixcbiAgICAgICAgYWxsb3dEaXJlY3RTdXBlcixcbiAgICAgICAgdHlwZSxcbiAgICAgICAgaW5DbGFzc1Njb3BlLFxuICAgICAgKTtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbXV0YXRlIEFTVCB0eXBlc1xuICAgICAgZnVuY05vZGUudHlwZSA9IFwiRnVuY3Rpb25FeHByZXNzaW9uXCI7XG4gICAgICBkZWxldGUgZnVuY05vZGUua2luZDtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbXV0YXRlIEFTVCB0eXBlc1xuICAgICAgbm9kZS52YWx1ZSA9IGZ1bmNOb2RlO1xuICAgICAgaWYgKHR5cGUgPT09IFwiQ2xhc3NQcml2YXRlTWV0aG9kXCIpIHtcbiAgICAgICAgbm9kZS5jb21wdXRlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBjYXN0IG1ldGhvZHMgdG8gZXN0cmVlIHR5cGVzXG4gICAgICAgIG5vZGUgYXMgVW5kb25lPE4uRXN0cmVlTWV0aG9kRGVmaW5pdGlvbj4sXG4gICAgICAgIFwiTWV0aG9kRGVmaW5pdGlvblwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBuYW1lSXNDb25zdHJ1Y3RvcihrZXk6IE4uRXhwcmVzc2lvbiB8IE4uUHJpdmF0ZU5hbWUpOiBib29sZWFuIHtcbiAgICAgIGlmIChrZXkudHlwZSA9PT0gXCJMaXRlcmFsXCIpIHJldHVybiBrZXkudmFsdWUgPT09IFwiY29uc3RydWN0b3JcIjtcbiAgICAgIHJldHVybiBzdXBlci5uYW1lSXNDb25zdHJ1Y3RvcihrZXkpO1xuICAgIH1cblxuICAgIHBhcnNlQ2xhc3NQcm9wZXJ0eSguLi5hcmdzOiBbTi5DbGFzc1Byb3BlcnR5XSk6IGFueSB7XG4gICAgICBjb25zdCBwcm9wZXJ0eU5vZGUgPSBzdXBlci5wYXJzZUNsYXNzUHJvcGVydHkoLi4uYXJncykgYXMgYW55O1xuICAgICAgaWYgKCFwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HKSB7XG4gICAgICAgIGlmICghdGhpcy5nZXRQbHVnaW5PcHRpb24oXCJlc3RyZWVcIiwgXCJjbGFzc0ZlYXR1cmVzXCIpKSB7XG4gICAgICAgICAgcmV0dXJuIHByb3BlcnR5Tm9kZSBhcyBOLkVzdHJlZVByb3BlcnR5RGVmaW5pdGlvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcHJvcGVydHlOb2RlLnR5cGUgPSBcIlByb3BlcnR5RGVmaW5pdGlvblwiO1xuICAgICAgcmV0dXJuIHByb3BlcnR5Tm9kZSBhcyBOLkVzdHJlZVByb3BlcnR5RGVmaW5pdGlvbjtcbiAgICB9XG5cbiAgICBwYXJzZUNsYXNzUHJpdmF0ZVByb3BlcnR5KC4uLmFyZ3M6IFtOLkNsYXNzUHJpdmF0ZVByb3BlcnR5XSk6IGFueSB7XG4gICAgICBjb25zdCBwcm9wZXJ0eU5vZGUgPSBzdXBlci5wYXJzZUNsYXNzUHJpdmF0ZVByb3BlcnR5KC4uLmFyZ3MpIGFzIGFueTtcbiAgICAgIGlmICghcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORykge1xuICAgICAgICBpZiAoIXRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwiZXN0cmVlXCIsIFwiY2xhc3NGZWF0dXJlc1wiKSkge1xuICAgICAgICAgIHJldHVybiBwcm9wZXJ0eU5vZGUgYXMgTi5Fc3RyZWVQcm9wZXJ0eURlZmluaXRpb247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHByb3BlcnR5Tm9kZS50eXBlID0gXCJQcm9wZXJ0eURlZmluaXRpb25cIjtcbiAgICAgIHByb3BlcnR5Tm9kZS5jb21wdXRlZCA9IGZhbHNlO1xuICAgICAgcmV0dXJuIHByb3BlcnR5Tm9kZSBhcyBOLkVzdHJlZVByb3BlcnR5RGVmaW5pdGlvbjtcbiAgICB9XG5cbiAgICBwYXJzZU9iamVjdE1ldGhvZChcbiAgICAgIHByb3A6IE4uT2JqZWN0TWV0aG9kLFxuICAgICAgaXNHZW5lcmF0b3I6IGJvb2xlYW4sXG4gICAgICBpc0FzeW5jOiBib29sZWFuLFxuICAgICAgaXNQYXR0ZXJuOiBib29sZWFuLFxuICAgICAgaXNBY2Nlc3NvcjogYm9vbGVhbixcbiAgICApOiBOLk9iamVjdE1ldGhvZCB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgICAgY29uc3Qgbm9kZTogTi5Fc3RyZWVQcm9wZXJ0eSA9IHN1cGVyLnBhcnNlT2JqZWN0TWV0aG9kKFxuICAgICAgICBwcm9wLFxuICAgICAgICBpc0dlbmVyYXRvcixcbiAgICAgICAgaXNBc3luYyxcbiAgICAgICAgaXNQYXR0ZXJuLFxuICAgICAgICBpc0FjY2Vzc29yLFxuICAgICAgKSBhcyBhbnk7XG5cbiAgICAgIGlmIChub2RlKSB7XG4gICAgICAgIG5vZGUudHlwZSA9IFwiUHJvcGVydHlcIjtcbiAgICAgICAgaWYgKChub2RlIGFzIGFueSBhcyBOLkNsYXNzTWV0aG9kKS5raW5kID09PSBcIm1ldGhvZFwiKSB7XG4gICAgICAgICAgbm9kZS5raW5kID0gXCJpbml0XCI7XG4gICAgICAgIH1cbiAgICAgICAgbm9kZS5zaG9ydGhhbmQgPSBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5vZGUgYXMgYW55O1xuICAgIH1cblxuICAgIHBhcnNlT2JqZWN0UHJvcGVydHkoXG4gICAgICBwcm9wOiBOLk9iamVjdFByb3BlcnR5LFxuICAgICAgc3RhcnRMb2M6IFBvc2l0aW9uIHwgdW5kZWZpbmVkIHwgbnVsbCxcbiAgICAgIGlzUGF0dGVybjogYm9vbGVhbixcbiAgICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzIHwgbnVsbCxcbiAgICApOiBOLk9iamVjdFByb3BlcnR5IHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgICBjb25zdCBub2RlOiBOLkVzdHJlZVByb3BlcnR5ID0gc3VwZXIucGFyc2VPYmplY3RQcm9wZXJ0eShcbiAgICAgICAgcHJvcCxcbiAgICAgICAgc3RhcnRMb2MsXG4gICAgICAgIGlzUGF0dGVybixcbiAgICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycyxcbiAgICAgICkgYXMgYW55O1xuXG4gICAgICBpZiAobm9kZSkge1xuICAgICAgICBub2RlLmtpbmQgPSBcImluaXRcIjtcbiAgICAgICAgbm9kZS50eXBlID0gXCJQcm9wZXJ0eVwiO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbm9kZSBhcyBhbnk7XG4gICAgfVxuXG4gICAgaXNWYWxpZExWYWwoXG4gICAgICB0eXBlOiBzdHJpbmcsXG4gICAgICBpc1VucGFyZW50aGVzaXplZEluQXNzaWduOiBib29sZWFuLFxuICAgICAgYmluZGluZzogQmluZGluZ0ZsYWcsXG4gICAgKSB7XG4gICAgICByZXR1cm4gdHlwZSA9PT0gXCJQcm9wZXJ0eVwiXG4gICAgICAgID8gXCJ2YWx1ZVwiXG4gICAgICAgIDogc3VwZXIuaXNWYWxpZExWYWwodHlwZSwgaXNVbnBhcmVudGhlc2l6ZWRJbkFzc2lnbiwgYmluZGluZyk7XG4gICAgfVxuXG4gICAgaXNBc3NpZ25hYmxlKG5vZGU6IE4uTm9kZSwgaXNCaW5kaW5nPzogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgICAgaWYgKG5vZGUgIT0gbnVsbCAmJiB0aGlzLmlzT2JqZWN0UHJvcGVydHkobm9kZSkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBc3NpZ25hYmxlKG5vZGUudmFsdWUsIGlzQmluZGluZyk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3VwZXIuaXNBc3NpZ25hYmxlKG5vZGUsIGlzQmluZGluZyk7XG4gICAgfVxuXG4gICAgdG9Bc3NpZ25hYmxlKG5vZGU6IE4uTm9kZSwgaXNMSFM6IGJvb2xlYW4gPSBmYWxzZSk6IHZvaWQge1xuICAgICAgaWYgKG5vZGUgIT0gbnVsbCAmJiB0aGlzLmlzT2JqZWN0UHJvcGVydHkobm9kZSkpIHtcbiAgICAgICAgY29uc3QgeyBrZXksIHZhbHVlIH0gPSBub2RlO1xuICAgICAgICBpZiAodGhpcy5pc1ByaXZhdGVOYW1lKGtleSkpIHtcbiAgICAgICAgICB0aGlzLmNsYXNzU2NvcGUudXNlUHJpdmF0ZU5hbWUoXG4gICAgICAgICAgICB0aGlzLmdldFByaXZhdGVOYW1lU1Yoa2V5KSxcbiAgICAgICAgICAgIGtleS5sb2Muc3RhcnQsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRvQXNzaWduYWJsZSh2YWx1ZSwgaXNMSFMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3VwZXIudG9Bc3NpZ25hYmxlKG5vZGUsIGlzTEhTKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0b0Fzc2lnbmFibGVPYmplY3RFeHByZXNzaW9uUHJvcChcbiAgICAgIHByb3A6IE4uTm9kZSxcbiAgICAgIGlzTGFzdDogYm9vbGVhbixcbiAgICAgIGlzTEhTOiBib29sZWFuLFxuICAgICkge1xuICAgICAgaWYgKFxuICAgICAgICBwcm9wLnR5cGUgPT09IFwiUHJvcGVydHlcIiAmJlxuICAgICAgICAocHJvcC5raW5kID09PSBcImdldFwiIHx8IHByb3Aua2luZCA9PT0gXCJzZXRcIilcbiAgICAgICkge1xuICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5QYXR0ZXJuSGFzQWNjZXNzb3IsIHByb3Aua2V5KTtcbiAgICAgIH0gZWxzZSBpZiAocHJvcC50eXBlID09PSBcIlByb3BlcnR5XCIgJiYgcHJvcC5tZXRob2QpIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuUGF0dGVybkhhc01ldGhvZCwgcHJvcC5rZXkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3VwZXIudG9Bc3NpZ25hYmxlT2JqZWN0RXhwcmVzc2lvblByb3AocHJvcCwgaXNMYXN0LCBpc0xIUyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmluaXNoQ2FsbEV4cHJlc3Npb248VCBleHRlbmRzIE4uQ2FsbEV4cHJlc3Npb24gfCBOLk9wdGlvbmFsQ2FsbEV4cHJlc3Npb24+KFxuICAgICAgdW5maW5pc2hlZDogVW5kb25lPFQ+LFxuICAgICAgb3B0aW9uYWw6IGJvb2xlYW4sXG4gICAgKTogVCB7XG4gICAgICBjb25zdCBub2RlID0gc3VwZXIuZmluaXNoQ2FsbEV4cHJlc3Npb24odW5maW5pc2hlZCwgb3B0aW9uYWwpO1xuXG4gICAgICBpZiAobm9kZS5jYWxsZWUudHlwZSA9PT0gXCJJbXBvcnRcIikge1xuICAgICAgICAobm9kZSBhcyBOLk5vZGUgYXMgTi5Fc3RyZWVJbXBvcnRFeHByZXNzaW9uKS50eXBlID0gXCJJbXBvcnRFeHByZXNzaW9uXCI7XG4gICAgICAgIChub2RlIGFzIE4uTm9kZSBhcyBOLkVzdHJlZUltcG9ydEV4cHJlc3Npb24pLnNvdXJjZSA9IG5vZGVcbiAgICAgICAgICAuYXJndW1lbnRzWzBdIGFzIE4uRXhwcmVzc2lvbjtcbiAgICAgICAgKG5vZGUgYXMgTi5Ob2RlIGFzIE4uRXN0cmVlSW1wb3J0RXhwcmVzc2lvbikub3B0aW9ucyA9XG4gICAgICAgICAgKG5vZGUuYXJndW1lbnRzWzFdIGFzIE4uRXhwcmVzc2lvbikgPz8gbnVsbDtcbiAgICAgICAgLy8gY29tcGF0aWJpbGl0eSB3aXRoIHByZXZpb3VzIEVTVHJlZSBBU1RcbiAgICAgICAgLy8gVE9ETyhCYWJlbCA4KTogUmVtb3ZlIHRoaXNcbiAgICAgICAgKG5vZGUgYXMgTi5Ob2RlIGFzIE4uRXN0cmVlSW1wb3J0RXhwcmVzc2lvbikuYXR0cmlidXRlcyA9XG4gICAgICAgICAgKG5vZGUuYXJndW1lbnRzWzFdIGFzIE4uRXhwcmVzc2lvbikgPz8gbnVsbDtcbiAgICAgICAgLy8gYXJndW1lbnRzIGlzbid0IG9wdGlvbmFsIGluIHRoZSB0eXBlIGRlZmluaXRpb25cbiAgICAgICAgZGVsZXRlIG5vZGUuYXJndW1lbnRzO1xuICAgICAgICAvLyBjYWxsZWUgaXNuJ3Qgb3B0aW9uYWwgaW4gdGhlIHR5cGUgZGVmaW5pdGlvblxuICAgICAgICBkZWxldGUgbm9kZS5jYWxsZWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBub2RlO1xuICAgIH1cblxuICAgIHRvUmVmZXJlbmNlZEFyZ3VtZW50cyhcbiAgICAgIG5vZGU6XG4gICAgICAgIHwgTi5DYWxsRXhwcmVzc2lvblxuICAgICAgICB8IE4uT3B0aW9uYWxDYWxsRXhwcmVzc2lvblxuICAgICAgICB8IE4uRXN0cmVlSW1wb3J0RXhwcmVzc2lvbixcbiAgICAgIC8qIGlzUGFyZW50aGVzaXplZEV4cHI/OiBib29sZWFuLCAqL1xuICAgICkge1xuICAgICAgLy8gSW1wb3J0RXhwcmVzc2lvbnMgZG8gbm90IGhhdmUgYW4gYXJndW1lbnRzIGFycmF5LlxuICAgICAgaWYgKG5vZGUudHlwZSA9PT0gXCJJbXBvcnRFeHByZXNzaW9uXCIpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBzdXBlci50b1JlZmVyZW5jZWRBcmd1bWVudHMobm9kZSk7XG4gICAgfVxuXG4gICAgcGFyc2VFeHBvcnQoXG4gICAgICB1bmZpbmlzaGVkOiBVbmRvbmU8Ti5BbnlFeHBvcnQ+LFxuICAgICAgZGVjb3JhdG9yczogTi5EZWNvcmF0b3JbXSB8IG51bGwsXG4gICAgKSB7XG4gICAgICBjb25zdCBleHBvcnRTdGFydExvYyA9IHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jO1xuICAgICAgY29uc3Qgbm9kZSA9IHN1cGVyLnBhcnNlRXhwb3J0KHVuZmluaXNoZWQsIGRlY29yYXRvcnMpO1xuXG4gICAgICBzd2l0Y2ggKG5vZGUudHlwZSkge1xuICAgICAgICBjYXNlIFwiRXhwb3J0QWxsRGVjbGFyYXRpb25cIjpcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIG11dGF0aW5nIEFTVCB0eXBlc1xuICAgICAgICAgIG5vZGUuZXhwb3J0ZWQgPSBudWxsO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCI6XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgbm9kZS5zcGVjaWZpZXJzLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICAgICAgbm9kZS5zcGVjaWZpZXJzWzBdLnR5cGUgPT09IFwiRXhwb3J0TmFtZXNwYWNlU3BlY2lmaWVyXCJcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbXV0YXRpbmcgQVNUIHR5cGVzXG4gICAgICAgICAgICBub2RlLnR5cGUgPSBcIkV4cG9ydEFsbERlY2xhcmF0aW9uXCI7XG4gICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIG11dGF0aW5nIEFTVCB0eXBlc1xuICAgICAgICAgICAgbm9kZS5leHBvcnRlZCA9IG5vZGUuc3BlY2lmaWVyc1swXS5leHBvcnRlZDtcbiAgICAgICAgICAgIGRlbGV0ZSBub2RlLnNwZWNpZmllcnM7XG4gICAgICAgICAgfVxuXG4gICAgICAgIC8vIGZhbGx0aHJvdWdoXG4gICAgICAgIGNhc2UgXCJFeHBvcnREZWZhdWx0RGVjbGFyYXRpb25cIjpcbiAgICAgICAgICB7XG4gICAgICAgICAgICBjb25zdCB7IGRlY2xhcmF0aW9uIH0gPSBub2RlO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBkZWNsYXJhdGlvbj8udHlwZSA9PT0gXCJDbGFzc0RlY2xhcmF0aW9uXCIgJiZcbiAgICAgICAgICAgICAgZGVjbGFyYXRpb24uZGVjb3JhdG9ycz8ubGVuZ3RoID4gMCAmJlxuICAgICAgICAgICAgICAvLyBkZWNvcmF0b3IgY29tZXMgYmVmb3JlIGV4cG9ydFxuICAgICAgICAgICAgICBkZWNsYXJhdGlvbi5zdGFydCA9PT0gbm9kZS5zdGFydFxuICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgIHRoaXMucmVzZXRTdGFydExvY2F0aW9uKFxuICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICAgLy8gRm9yIGNvbXBhdGliaWxpdHkgd2l0aCBFU0xpbnQncyBrZXl3b3JkLXNwYWNpbmcgcnVsZSwgd2hpY2ggYXNzdW1lcyB0aGF0IGFuXG4gICAgICAgICAgICAgICAgLy8gZXhwb3J0IGRlY2xhcmF0aW9uIG11c3Qgc3RhcnQgd2l0aCBleHBvcnQuXG4gICAgICAgICAgICAgICAgLy8gaHR0cHM6Ly9naXRodWIuY29tL2JhYmVsL2JhYmVsL2lzc3Vlcy8xNTA4NVxuICAgICAgICAgICAgICAgIC8vIEhlcmUgd2UgcmVzZXQgZXhwb3J0IGRlY2xhcmF0aW9uJ3Mgc3RhcnQgdG8gYmUgdGhlIHN0YXJ0IG9mIHRoZSBleHBvcnQgdG9rZW5cbiAgICAgICAgICAgICAgICBleHBvcnRTdGFydExvYyxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfVxuXG4gICAgcGFyc2VTdWJzY3JpcHQoXG4gICAgICBiYXNlOiBOLkV4cHJlc3Npb24sXG4gICAgICBzdGFydExvYzogUG9zaXRpb24sXG4gICAgICBub0NhbGxzOiBib29sZWFuIHwgdW5kZWZpbmVkIHwgbnVsbCxcbiAgICAgIHN0YXRlOiBOLlBhcnNlU3Vic2NyaXB0U3RhdGUsXG4gICAgKTogTi5FeHByZXNzaW9uIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBzdXBlci5wYXJzZVN1YnNjcmlwdChiYXNlLCBzdGFydExvYywgbm9DYWxscywgc3RhdGUpO1xuXG4gICAgICBpZiAoc3RhdGUub3B0aW9uYWxDaGFpbk1lbWJlcikge1xuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vZXN0cmVlL2VzdHJlZS9ibG9iL21hc3Rlci9lczIwMjAubWQjY2hhaW5leHByZXNzaW9uXG4gICAgICAgIGlmIChcbiAgICAgICAgICBub2RlLnR5cGUgPT09IFwiT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uXCIgfHxcbiAgICAgICAgICBub2RlLnR5cGUgPT09IFwiT3B0aW9uYWxDYWxsRXhwcmVzc2lvblwiXG4gICAgICAgICkge1xuICAgICAgICAgIC8vIHN0cmlwIE9wdGlvbmFsIHByZWZpeFxuICAgICAgICAgIChub2RlIGFzIHVua25vd24gYXMgTi5DYWxsRXhwcmVzc2lvbiB8IE4uTWVtYmVyRXhwcmVzc2lvbikudHlwZSA9XG4gICAgICAgICAgICBub2RlLnR5cGUuc3Vic3RyaW5nKDgpIGFzIFwiQ2FsbEV4cHJlc3Npb25cIiB8IFwiTWVtYmVyRXhwcmVzc2lvblwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZS5zdG9wKSB7XG4gICAgICAgICAgY29uc3QgY2hhaW4gPSB0aGlzLnN0YXJ0Tm9kZUF0Tm9kZTxOLkVzdHJlZUNoYWluRXhwcmVzc2lvbj4obm9kZSk7XG4gICAgICAgICAgY2hhaW4uZXhwcmVzc2lvbiA9IG5vZGU7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShjaGFpbiwgXCJDaGFpbkV4cHJlc3Npb25cIik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIG5vZGUudHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIgfHxcbiAgICAgICAgbm9kZS50eXBlID09PSBcIkNhbGxFeHByZXNzaW9uXCJcbiAgICAgICkge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIG5vdCBpbiB0aGUgdHlwZSBkZWZpbml0aW9uc1xuICAgICAgICBub2RlLm9wdGlvbmFsID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBub2RlO1xuICAgIH1cblxuICAgIGlzT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uKG5vZGU6IE4uTm9kZSkge1xuICAgICAgaWYgKG5vZGUudHlwZSA9PT0gXCJDaGFpbkV4cHJlc3Npb25cIikge1xuICAgICAgICByZXR1cm4gbm9kZS5leHByZXNzaW9uLnR5cGUgPT09IFwiTWVtYmVyRXhwcmVzc2lvblwiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN1cGVyLmlzT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uKG5vZGUpO1xuICAgIH1cblxuICAgIGhhc1Byb3BlcnR5QXNQcml2YXRlTmFtZShub2RlOiBOLk5vZGUpOiBib29sZWFuIHtcbiAgICAgIGlmIChub2RlLnR5cGUgPT09IFwiQ2hhaW5FeHByZXNzaW9uXCIpIHtcbiAgICAgICAgbm9kZSA9IG5vZGUuZXhwcmVzc2lvbjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdXBlci5oYXNQcm9wZXJ0eUFzUHJpdmF0ZU5hbWUobm9kZSk7XG4gICAgfVxuXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBFU1RyZWUgcGx1Z2luIGNoYW5nZXMgbm9kZSB0eXBlc1xuICAgIGlzT2JqZWN0UHJvcGVydHkobm9kZTogTi5Ob2RlKTogbm9kZSBpcyBOLkVzdHJlZVByb3BlcnR5IHtcbiAgICAgIHJldHVybiBub2RlLnR5cGUgPT09IFwiUHJvcGVydHlcIiAmJiBub2RlLmtpbmQgPT09IFwiaW5pdFwiICYmICFub2RlLm1ldGhvZDtcbiAgICB9XG5cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIEVTVHJlZSBwbHVnaW4gY2hhbmdlcyBub2RlIHR5cGVzXG4gICAgaXNPYmplY3RNZXRob2Qobm9kZTogTi5Ob2RlKTogbm9kZSBpcyBOLkVzdHJlZVByb3BlcnR5IHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG5vZGUudHlwZSA9PT0gXCJQcm9wZXJ0eVwiICYmXG4gICAgICAgIChub2RlLm1ldGhvZCB8fCBub2RlLmtpbmQgPT09IFwiZ2V0XCIgfHwgbm9kZS5raW5kID09PSBcInNldFwiKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBmaW5pc2hOb2RlQXQ8VCBleHRlbmRzIE5vZGVUeXBlPihcbiAgICAgIG5vZGU6IFVuZG9uZTxUPixcbiAgICAgIHR5cGU6IFRbXCJ0eXBlXCJdLFxuICAgICAgZW5kTG9jOiBQb3NpdGlvbixcbiAgICApOiBUIHtcbiAgICAgIHJldHVybiB0b0VTVHJlZUxvY2F0aW9uKHN1cGVyLmZpbmlzaE5vZGVBdChub2RlLCB0eXBlLCBlbmRMb2MpKTtcbiAgICB9XG5cbiAgICByZXNldFN0YXJ0TG9jYXRpb24obm9kZTogTi5Ob2RlLCBzdGFydExvYzogUG9zaXRpb24pIHtcbiAgICAgIHN1cGVyLnJlc2V0U3RhcnRMb2NhdGlvbihub2RlLCBzdGFydExvYyk7XG4gICAgICB0b0VTVHJlZUxvY2F0aW9uKG5vZGUpO1xuICAgIH1cblxuICAgIHJlc2V0RW5kTG9jYXRpb24oXG4gICAgICBub2RlOiBOb2RlQmFzZSxcbiAgICAgIGVuZExvYzogUG9zaXRpb24gPSB0aGlzLnN0YXRlLmxhc3RUb2tFbmRMb2MsXG4gICAgKTogdm9pZCB7XG4gICAgICBzdXBlci5yZXNldEVuZExvY2F0aW9uKG5vZGUsIGVuZExvYyk7XG4gICAgICB0b0VTVHJlZUxvY2F0aW9uKG5vZGUpO1xuICAgIH1cbiAgfTtcbiIsICIvLyBUaGUgdG9rZW4gY29udGV4dCBpcyB1c2VkIGluIEpTWCBwbHVnaW4gdG8gdHJhY2tcbi8vIGpzeCB0YWcgLyBqc3ggdGV4dCAvIG5vcm1hbCBKYXZhU2NyaXB0IGV4cHJlc3Npb25cblxuZXhwb3J0IGNsYXNzIFRva0NvbnRleHQge1xuICBjb25zdHJ1Y3Rvcih0b2tlbjogc3RyaW5nLCBwcmVzZXJ2ZVNwYWNlPzogYm9vbGVhbikge1xuICAgIHRoaXMudG9rZW4gPSB0b2tlbjtcbiAgICB0aGlzLnByZXNlcnZlU3BhY2UgPSAhIXByZXNlcnZlU3BhY2U7XG4gIH1cblxuICB0b2tlbjogc3RyaW5nO1xuICBwcmVzZXJ2ZVNwYWNlOiBib29sZWFuO1xufVxuXG5jb25zdCB0eXBlczoge1xuICBba2V5OiBzdHJpbmddOiBUb2tDb250ZXh0O1xufSA9IHtcbiAgYnJhY2U6IG5ldyBUb2tDb250ZXh0KFwie1wiKSwgLy8gbm9ybWFsIEphdmFTY3JpcHQgZXhwcmVzc2lvblxuICBqX29UYWc6IG5ldyBUb2tDb250ZXh0KFwiPHRhZ1wiKSwgLy8gSlNYIG9wZW5pbmcgdGFnXG4gIGpfY1RhZzogbmV3IFRva0NvbnRleHQoXCI8L3RhZ1wiKSwgLy8gSlNYIGNsb3NpbmcgdGFnXG4gIGpfZXhwcjogbmV3IFRva0NvbnRleHQoXCI8dGFnPi4uLjwvdGFnPlwiLCB0cnVlKSwgLy8gSlNYIGV4cHJlc3Npb25zXG59O1xuXG5pZiAoIXByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcpIHtcbiAgdHlwZXMudGVtcGxhdGUgPSBuZXcgVG9rQ29udGV4dChcImBcIiwgdHJ1ZSk7XG59XG5cbmV4cG9ydCB7IHR5cGVzIH07XG4iLCAiaW1wb3J0IHsgdHlwZXMgYXMgdGMsIHR5cGUgVG9rQ29udGV4dCB9IGZyb20gXCIuL2NvbnRleHQudHNcIjtcbi8vICMjIFRva2VuIHR5cGVzXG5cbi8vIFRoZSBhc3NpZ25tZW50IG9mIGZpbmUtZ3JhaW5lZCwgaW5mb3JtYXRpb24tY2FycnlpbmcgdHlwZSBvYmplY3RzXG4vLyBhbGxvd3MgdGhlIHRva2VuaXplciB0byBzdG9yZSB0aGUgaW5mb3JtYXRpb24gaXQgaGFzIGFib3V0IGFcbi8vIHRva2VuIGluIGEgd2F5IHRoYXQgaXMgdmVyeSBjaGVhcCBmb3IgdGhlIHBhcnNlciB0byBsb29rIHVwLlxuXG4vLyBBbGwgdG9rZW4gdHlwZSB2YXJpYWJsZXMgc3RhcnQgd2l0aCBhbiB1bmRlcnNjb3JlLCB0byBtYWtlIHRoZW1cbi8vIGVhc3kgdG8gcmVjb2duaXplLlxuXG4vLyBUaGUgYGJlZm9yZUV4cHJgIHByb3BlcnR5IGlzIHVzZWQgdG8gZGlzYW1iaWd1YXRlIGJldHdlZW4gMSkgYmluYXJ5XG4vLyBleHByZXNzaW9uICg8KSBhbmQgSlNYIFRhZyBzdGFydCAoPG5hbWU+KTsgMikgb2JqZWN0IGxpdGVyYWwgYW5kIEpTWFxuLy8gdGV4dHMuIEl0IGlzIHNldCBvbiB0aGUgYHVwZGF0ZUNvbnRleHRgIGZ1bmN0aW9uIGluIHRoZSBKU1ggcGx1Z2luLlxuXG4vLyBUaGUgYHN0YXJ0c0V4cHJgIHByb3BlcnR5IGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYW4gZXhwcmVzc2lvblxuLy8gbWF5IGJlIHRoZSDigJxhcmd1bWVudOKAnSBzdWJleHByZXNzaW9uIG9mIGEgYHlpZWxkYCBleHByZXNzaW9uIG9yXG4vLyBgeWllbGRgIHN0YXRlbWVudC4gSXQgaXMgc2V0IG9uIGFsbCB0b2tlbiB0eXBlcyB0aGF0IG1heSBiZSBhdCB0aGVcbi8vIHN0YXJ0IG9mIGEgc3ViZXhwcmVzc2lvbi5cblxuLy8gYGlzTG9vcGAgbWFya3MgYSBrZXl3b3JkIGFzIHN0YXJ0aW5nIGEgbG9vcCwgd2hpY2ggaXMgaW1wb3J0YW50XG4vLyB0byBrbm93IHdoZW4gcGFyc2luZyBhIGxhYmVsLCBpbiBvcmRlciB0byBhbGxvdyBvciBkaXNhbGxvd1xuLy8gY29udGludWUganVtcHMgdG8gdGhhdCBsYWJlbC5cblxuY29uc3QgYmVmb3JlRXhwciA9IHRydWU7XG5jb25zdCBzdGFydHNFeHByID0gdHJ1ZTtcbmNvbnN0IGlzTG9vcCA9IHRydWU7XG5jb25zdCBpc0Fzc2lnbiA9IHRydWU7XG5jb25zdCBwcmVmaXggPSB0cnVlO1xuY29uc3QgcG9zdGZpeCA9IHRydWU7XG5cbnR5cGUgVG9rZW5PcHRpb25zID0ge1xuICBrZXl3b3JkPzogc3RyaW5nO1xuICBiZWZvcmVFeHByPzogYm9vbGVhbjtcbiAgc3RhcnRzRXhwcj86IGJvb2xlYW47XG4gIHJpZ2h0QXNzb2NpYXRpdmU/OiBib29sZWFuO1xuICBpc0xvb3A/OiBib29sZWFuO1xuICBpc0Fzc2lnbj86IGJvb2xlYW47XG4gIHByZWZpeD86IGJvb2xlYW47XG4gIHBvc3RmaXg/OiBib29sZWFuO1xuICBiaW5vcD86IG51bWJlciB8IG51bGw7XG59O1xuXG4vLyBJbnRlcm5hbGx5IHRoZSB0b2tlbml6ZXIgc3RvcmVzIHRva2VuIGFzIGEgbnVtYmVyXG5leHBvcnQgdHlwZSBUb2tlblR5cGUgPSBudW1iZXI7XG5cbi8vIFRoZSBgRXhwb3J0ZWRUb2tlblR5cGVgIGlzIGV4cG9ydGVkIHZpYSBgdG9rVHlwZXNgIGFuZCBhY2Nlc3NpYmxlXG4vLyB3aGVuIGB0b2tlbnM6IHRydWVgIGlzIGVuYWJsZWQuIFVubGlrZSBpbnRlcm5hbCB0b2tlbiB0eXBlLCBpdCBwcm92aWRlc1xuLy8gbWV0YWRhdGEgb2YgdGhlIHRva2Vucy5cbmV4cG9ydCBjbGFzcyBFeHBvcnRlZFRva2VuVHlwZSB7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGtleXdvcmQ6IHN0cmluZyB8IHVuZGVmaW5lZCB8IG51bGw7XG4gIGJlZm9yZUV4cHI6IGJvb2xlYW47XG4gIHN0YXJ0c0V4cHI6IGJvb2xlYW47XG4gIHJpZ2h0QXNzb2NpYXRpdmU6IGJvb2xlYW47XG4gIGlzTG9vcDogYm9vbGVhbjtcbiAgaXNBc3NpZ246IGJvb2xlYW47XG4gIHByZWZpeDogYm9vbGVhbjtcbiAgcG9zdGZpeDogYm9vbGVhbjtcbiAgYmlub3A6IG51bWJlciB8IHVuZGVmaW5lZCB8IG51bGw7XG4gIC8vIHRvZG8oQmFiZWwgOCk6IHJlbW92ZSB1cGRhdGVDb250ZXh0IGZyb20gZXhwb3NlZCB0b2tlbiBsYXlvdXRcbiAgZGVjbGFyZSB1cGRhdGVDb250ZXh0OlxuICAgIHwgKChjb250ZXh0OiBBcnJheTxUb2tDb250ZXh0PikgPT4gdm9pZClcbiAgICB8IHVuZGVmaW5lZFxuICAgIHwgbnVsbDtcblxuICBjb25zdHJ1Y3RvcihsYWJlbDogc3RyaW5nLCBjb25mOiBUb2tlbk9wdGlvbnMgPSB7fSkge1xuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcbiAgICB0aGlzLmtleXdvcmQgPSBjb25mLmtleXdvcmQ7XG4gICAgdGhpcy5iZWZvcmVFeHByID0gISFjb25mLmJlZm9yZUV4cHI7XG4gICAgdGhpcy5zdGFydHNFeHByID0gISFjb25mLnN0YXJ0c0V4cHI7XG4gICAgdGhpcy5yaWdodEFzc29jaWF0aXZlID0gISFjb25mLnJpZ2h0QXNzb2NpYXRpdmU7XG4gICAgdGhpcy5pc0xvb3AgPSAhIWNvbmYuaXNMb29wO1xuICAgIHRoaXMuaXNBc3NpZ24gPSAhIWNvbmYuaXNBc3NpZ247XG4gICAgdGhpcy5wcmVmaXggPSAhIWNvbmYucHJlZml4O1xuICAgIHRoaXMucG9zdGZpeCA9ICEhY29uZi5wb3N0Zml4O1xuICAgIHRoaXMuYmlub3AgPSBjb25mLmJpbm9wICE9IG51bGwgPyBjb25mLmJpbm9wIDogbnVsbDtcbiAgICBpZiAoIXByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcpIHtcbiAgICAgIHRoaXMudXBkYXRlQ29udGV4dCA9IG51bGw7XG4gICAgfVxuICB9XG59XG5cbi8vIEEgbWFwIGZyb20ga2V5d29yZC9rZXl3b3JkLWxpa2Ugc3RyaW5nIHZhbHVlIHRvIHRoZSB0b2tlbiB0eXBlXG5leHBvcnQgY29uc3Qga2V5d29yZHMgPSBuZXcgTWFwPHN0cmluZywgVG9rZW5UeXBlPigpO1xuXG5mdW5jdGlvbiBjcmVhdGVLZXl3b3JkKG5hbWU6IHN0cmluZywgb3B0aW9uczogVG9rZW5PcHRpb25zID0ge30pOiBUb2tlblR5cGUge1xuICBvcHRpb25zLmtleXdvcmQgPSBuYW1lO1xuICBjb25zdCB0b2tlbiA9IGNyZWF0ZVRva2VuKG5hbWUsIG9wdGlvbnMpO1xuICBrZXl3b3Jkcy5zZXQobmFtZSwgdG9rZW4pO1xuICByZXR1cm4gdG9rZW47XG59XG5cbmZ1bmN0aW9uIGNyZWF0ZUJpbm9wKG5hbWU6IHN0cmluZywgYmlub3A6IG51bWJlcikge1xuICByZXR1cm4gY3JlYXRlVG9rZW4obmFtZSwgeyBiZWZvcmVFeHByLCBiaW5vcCB9KTtcbn1cblxubGV0IHRva2VuVHlwZUNvdW50ZXIgPSAtMTtcbmV4cG9ydCBjb25zdCB0b2tlblR5cGVzOiBFeHBvcnRlZFRva2VuVHlwZVtdID0gW107XG5jb25zdCB0b2tlbkxhYmVsczogc3RyaW5nW10gPSBbXTtcbmNvbnN0IHRva2VuQmlub3BzOiBudW1iZXJbXSA9IFtdO1xuY29uc3QgdG9rZW5CZWZvcmVFeHByczogYm9vbGVhbltdID0gW107XG5jb25zdCB0b2tlblN0YXJ0c0V4cHJzOiBib29sZWFuW10gPSBbXTtcbmNvbnN0IHRva2VuUHJlZml4ZXM6IGJvb2xlYW5bXSA9IFtdO1xuXG5mdW5jdGlvbiBjcmVhdGVUb2tlbihuYW1lOiBzdHJpbmcsIG9wdGlvbnM6IFRva2VuT3B0aW9ucyA9IHt9KTogVG9rZW5UeXBlIHtcbiAgKyt0b2tlblR5cGVDb3VudGVyO1xuICB0b2tlbkxhYmVscy5wdXNoKG5hbWUpO1xuICB0b2tlbkJpbm9wcy5wdXNoKG9wdGlvbnMuYmlub3AgPz8gLTEpO1xuICB0b2tlbkJlZm9yZUV4cHJzLnB1c2gob3B0aW9ucy5iZWZvcmVFeHByID8/IGZhbHNlKTtcbiAgdG9rZW5TdGFydHNFeHBycy5wdXNoKG9wdGlvbnMuc3RhcnRzRXhwciA/PyBmYWxzZSk7XG4gIHRva2VuUHJlZml4ZXMucHVzaChvcHRpb25zLnByZWZpeCA/PyBmYWxzZSk7XG4gIHRva2VuVHlwZXMucHVzaChuZXcgRXhwb3J0ZWRUb2tlblR5cGUobmFtZSwgb3B0aW9ucykpO1xuXG4gIHJldHVybiB0b2tlblR5cGVDb3VudGVyO1xufVxuXG5mdW5jdGlvbiBjcmVhdGVLZXl3b3JkTGlrZShcbiAgbmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBUb2tlbk9wdGlvbnMgPSB7fSxcbik6IFRva2VuVHlwZSB7XG4gICsrdG9rZW5UeXBlQ291bnRlcjtcbiAga2V5d29yZHMuc2V0KG5hbWUsIHRva2VuVHlwZUNvdW50ZXIpO1xuICB0b2tlbkxhYmVscy5wdXNoKG5hbWUpO1xuICB0b2tlbkJpbm9wcy5wdXNoKG9wdGlvbnMuYmlub3AgPz8gLTEpO1xuICB0b2tlbkJlZm9yZUV4cHJzLnB1c2gob3B0aW9ucy5iZWZvcmVFeHByID8/IGZhbHNlKTtcbiAgdG9rZW5TdGFydHNFeHBycy5wdXNoKG9wdGlvbnMuc3RhcnRzRXhwciA/PyBmYWxzZSk7XG4gIHRva2VuUHJlZml4ZXMucHVzaChvcHRpb25zLnByZWZpeCA/PyBmYWxzZSk7XG4gIC8vIEluIHRoZSBleHBvcnRlZCB0b2tlbiB0eXBlLCB3ZSBzZXQgdGhlIGxhYmVsIGFzIFwibmFtZVwiIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHdpdGggQmFiZWwgN1xuICB0b2tlblR5cGVzLnB1c2gobmV3IEV4cG9ydGVkVG9rZW5UeXBlKFwibmFtZVwiLCBvcHRpb25zKSk7XG5cbiAgcmV0dXJuIHRva2VuVHlwZUNvdW50ZXI7XG59XG5cbi8vIEZvciBwZXJmb3JtYW5jZSB0aGUgdG9rZW4gdHlwZSBoZWxwZXJzIGRlcGVuZCBvbiB0aGUgZm9sbG93aW5nIGRlY2xhcmF0aW9ucyBvcmRlci5cbi8vIFdoZW4gYWRkaW5nIG5ldyB0b2tlbiB0eXBlcywgcGxlYXNlIGFsc28gY2hlY2sgaWYgdGhlIHRva2VuIGhlbHBlcnMgbmVlZCB1cGRhdGUuXG5cbmV4cG9ydCB0eXBlIEludGVybmFsVG9rZW5UeXBlcyA9IHR5cGVvZiB0dDtcblxuZXhwb3J0IGNvbnN0IHR0ID0ge1xuICAvLyBQdW5jdHVhdGlvbiB0b2tlbiB0eXBlcy5cbiAgYnJhY2tldEw6IGNyZWF0ZVRva2VuKFwiW1wiLCB7IGJlZm9yZUV4cHIsIHN0YXJ0c0V4cHIgfSksXG4gIGJyYWNrZXRIYXNoTDogY3JlYXRlVG9rZW4oXCIjW1wiLCB7IGJlZm9yZUV4cHIsIHN0YXJ0c0V4cHIgfSksXG4gIGJyYWNrZXRCYXJMOiBjcmVhdGVUb2tlbihcIlt8XCIsIHsgYmVmb3JlRXhwciwgc3RhcnRzRXhwciB9KSxcbiAgYnJhY2tldFI6IGNyZWF0ZVRva2VuKFwiXVwiKSxcbiAgYnJhY2tldEJhclI6IGNyZWF0ZVRva2VuKFwifF1cIiksXG4gIGJyYWNlTDogY3JlYXRlVG9rZW4oXCJ7XCIsIHsgYmVmb3JlRXhwciwgc3RhcnRzRXhwciB9KSxcbiAgYnJhY2VCYXJMOiBjcmVhdGVUb2tlbihcInt8XCIsIHsgYmVmb3JlRXhwciwgc3RhcnRzRXhwciB9KSxcbiAgYnJhY2VIYXNoTDogY3JlYXRlVG9rZW4oXCIje1wiLCB7IGJlZm9yZUV4cHIsIHN0YXJ0c0V4cHIgfSksXG4gIGJyYWNlUjogY3JlYXRlVG9rZW4oXCJ9XCIpLFxuICBicmFjZUJhclI6IGNyZWF0ZVRva2VuKFwifH1cIiksXG4gIHBhcmVuTDogY3JlYXRlVG9rZW4oXCIoXCIsIHsgYmVmb3JlRXhwciwgc3RhcnRzRXhwciB9KSxcbiAgcGFyZW5SOiBjcmVhdGVUb2tlbihcIilcIiksXG4gIGNvbW1hOiBjcmVhdGVUb2tlbihcIixcIiwgeyBiZWZvcmVFeHByIH0pLFxuICBzZW1pOiBjcmVhdGVUb2tlbihcIjtcIiwgeyBiZWZvcmVFeHByIH0pLFxuICBjb2xvbjogY3JlYXRlVG9rZW4oXCI6XCIsIHsgYmVmb3JlRXhwciB9KSxcbiAgZG91YmxlQ29sb246IGNyZWF0ZVRva2VuKFwiOjpcIiwgeyBiZWZvcmVFeHByIH0pLFxuICBkb3Q6IGNyZWF0ZVRva2VuKFwiLlwiKSxcbiAgcXVlc3Rpb246IGNyZWF0ZVRva2VuKFwiP1wiLCB7IGJlZm9yZUV4cHIgfSksXG4gIHF1ZXN0aW9uRG90OiBjcmVhdGVUb2tlbihcIj8uXCIpLFxuICBhcnJvdzogY3JlYXRlVG9rZW4oXCI9PlwiLCB7IGJlZm9yZUV4cHIgfSksXG4gIHRlbXBsYXRlOiBjcmVhdGVUb2tlbihcInRlbXBsYXRlXCIpLFxuICBlbGxpcHNpczogY3JlYXRlVG9rZW4oXCIuLi5cIiwgeyBiZWZvcmVFeHByIH0pLFxuICBiYWNrUXVvdGU6IGNyZWF0ZVRva2VuKFwiYFwiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIGRvbGxhckJyYWNlTDogY3JlYXRlVG9rZW4oXCIke1wiLCB7IGJlZm9yZUV4cHIsIHN0YXJ0c0V4cHIgfSksXG4gIC8vIHN0YXJ0OiBpc1RlbXBsYXRlXG4gIHRlbXBsYXRlVGFpbDogY3JlYXRlVG9rZW4oXCIuLi5gXCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgdGVtcGxhdGVOb25UYWlsOiBjcmVhdGVUb2tlbihcIi4uLiR7XCIsIHsgYmVmb3JlRXhwciwgc3RhcnRzRXhwciB9KSxcbiAgLy8gZW5kOiBpc1RlbXBsYXRlXG4gIGF0OiBjcmVhdGVUb2tlbihcIkBcIiksXG4gIGhhc2g6IGNyZWF0ZVRva2VuKFwiI1wiLCB7IHN0YXJ0c0V4cHIgfSksXG5cbiAgLy8gU3BlY2lhbCBoYXNoYmFuZyB0b2tlbi5cbiAgaW50ZXJwcmV0ZXJEaXJlY3RpdmU6IGNyZWF0ZVRva2VuKFwiIyEuLi5cIiksXG5cbiAgLy8gT3BlcmF0b3JzLiBUaGVzZSBjYXJyeSBzZXZlcmFsIGtpbmRzIG9mIHByb3BlcnRpZXMgdG8gaGVscCB0aGVcbiAgLy8gcGFyc2VyIHVzZSB0aGVtIHByb3Blcmx5ICh0aGUgcHJlc2VuY2Ugb2YgdGhlc2UgcHJvcGVydGllcyBpc1xuICAvLyB3aGF0IGNhdGVnb3JpemVzIHRoZW0gYXMgb3BlcmF0b3JzKS5cbiAgLy9cbiAgLy8gYGJpbm9wYCwgd2hlbiBwcmVzZW50LCBzcGVjaWZpZXMgdGhhdCB0aGlzIG9wZXJhdG9yIGlzIGEgYmluYXJ5XG4gIC8vIG9wZXJhdG9yLCBhbmQgd2lsbCByZWZlciB0byBpdHMgcHJlY2VkZW5jZS5cbiAgLy9cbiAgLy8gYHByZWZpeGAgYW5kIGBwb3N0Zml4YCBtYXJrIHRoZSBvcGVyYXRvciBhcyBhIHByZWZpeCBvciBwb3N0Zml4XG4gIC8vIHVuYXJ5IG9wZXJhdG9yLlxuICAvL1xuICAvLyBgaXNBc3NpZ25gIG1hcmtzIGFsbCBvZiBgPWAsIGArPWAsIGAtPWAgZXRjZXRlcmEsIHdoaWNoIGFjdCBhc1xuICAvLyBiaW5hcnkgb3BlcmF0b3JzIHdpdGggYSB2ZXJ5IGxvdyBwcmVjZWRlbmNlLCB0aGF0IHNob3VsZCByZXN1bHRcbiAgLy8gaW4gQXNzaWdubWVudEV4cHJlc3Npb24gbm9kZXMuXG5cbiAgLy8gc3RhcnQ6IGlzQXNzaWduXG4gIGVxOiBjcmVhdGVUb2tlbihcIj1cIiwgeyBiZWZvcmVFeHByLCBpc0Fzc2lnbiB9KSxcbiAgYXNzaWduOiBjcmVhdGVUb2tlbihcIl89XCIsIHsgYmVmb3JlRXhwciwgaXNBc3NpZ24gfSksXG4gIHNsYXNoQXNzaWduOiBjcmVhdGVUb2tlbihcIl89XCIsIHsgYmVmb3JlRXhwciwgaXNBc3NpZ24gfSksXG4gIC8vIFRoZXNlIGFyZSBvbmx5IG5lZWRlZCB0byBzdXBwb3J0ICUgYW5kIF4gYXMgYSBIYWNrLXBpcGUgdG9waWMgdG9rZW4uXG4gIC8vIFdoZW4gdGhlIHByb3Bvc2FsIHNldHRsZXMgb24gYSB0b2tlbiwgdGhlIG90aGVycyBjYW4gYmUgbWVyZ2VkIHdpdGhcbiAgLy8gdHQuYXNzaWduLlxuICB4b3JBc3NpZ246IGNyZWF0ZVRva2VuKFwiXz1cIiwgeyBiZWZvcmVFeHByLCBpc0Fzc2lnbiB9KSxcbiAgbW9kdWxvQXNzaWduOiBjcmVhdGVUb2tlbihcIl89XCIsIHsgYmVmb3JlRXhwciwgaXNBc3NpZ24gfSksXG4gIC8vIGVuZDogaXNBc3NpZ25cblxuICBpbmNEZWM6IGNyZWF0ZVRva2VuKFwiKysvLS1cIiwgeyBwcmVmaXgsIHBvc3RmaXgsIHN0YXJ0c0V4cHIgfSksXG4gIGJhbmc6IGNyZWF0ZVRva2VuKFwiIVwiLCB7IGJlZm9yZUV4cHIsIHByZWZpeCwgc3RhcnRzRXhwciB9KSxcbiAgdGlsZGU6IGNyZWF0ZVRva2VuKFwiflwiLCB7IGJlZm9yZUV4cHIsIHByZWZpeCwgc3RhcnRzRXhwciB9KSxcblxuICAvLyBNb3JlIHBvc3NpYmxlIHRvcGljIHRva2Vucy5cbiAgLy8gV2hlbiB0aGUgcHJvcG9zYWwgc2V0dGxlcyBvbiBhIHRva2VuLCBhdCBsZWFzdCBvbmUgb2YgdGhlc2UgbWF5IGJlIHJlbW92ZWQuXG4gIGRvdWJsZUNhcmV0OiBjcmVhdGVUb2tlbihcIl5eXCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgZG91YmxlQXQ6IGNyZWF0ZVRva2VuKFwiQEBcIiwgeyBzdGFydHNFeHByIH0pLFxuXG4gIC8vIHN0YXJ0OiBpc0Jpbm9wXG4gIHBpcGVsaW5lOiBjcmVhdGVCaW5vcChcInw+XCIsIDApLFxuICBudWxsaXNoQ29hbGVzY2luZzogY3JlYXRlQmlub3AoXCI/P1wiLCAxKSxcbiAgbG9naWNhbE9SOiBjcmVhdGVCaW5vcChcInx8XCIsIDEpLFxuICBsb2dpY2FsQU5EOiBjcmVhdGVCaW5vcChcIiYmXCIsIDIpLFxuICBiaXR3aXNlT1I6IGNyZWF0ZUJpbm9wKFwifFwiLCAzKSxcbiAgYml0d2lzZVhPUjogY3JlYXRlQmlub3AoXCJeXCIsIDQpLFxuICBiaXR3aXNlQU5EOiBjcmVhdGVCaW5vcChcIiZcIiwgNSksXG4gIGVxdWFsaXR5OiBjcmVhdGVCaW5vcChcIj09LyE9Lz09PS8hPT1cIiwgNiksXG4gIGx0OiBjcmVhdGVCaW5vcChcIjwvPi88PS8+PVwiLCA3KSxcbiAgZ3Q6IGNyZWF0ZUJpbm9wKFwiPC8+Lzw9Lz49XCIsIDcpLFxuICByZWxhdGlvbmFsOiBjcmVhdGVCaW5vcChcIjwvPi88PS8+PVwiLCA3KSxcbiAgYml0U2hpZnQ6IGNyZWF0ZUJpbm9wKFwiPDwvPj4vPj4+XCIsIDgpLFxuICBiaXRTaGlmdEw6IGNyZWF0ZUJpbm9wKFwiPDwvPj4vPj4+XCIsIDgpLFxuICBiaXRTaGlmdFI6IGNyZWF0ZUJpbm9wKFwiPDwvPj4vPj4+XCIsIDgpLFxuICBwbHVzTWluOiBjcmVhdGVUb2tlbihcIisvLVwiLCB7IGJlZm9yZUV4cHIsIGJpbm9wOiA5LCBwcmVmaXgsIHN0YXJ0c0V4cHIgfSksXG4gIC8vIHN0YXJ0c0V4cHI6IHJlcXVpcmVkIGJ5IHY4aW50cmluc2ljIHBsdWdpblxuICBtb2R1bG86IGNyZWF0ZVRva2VuKFwiJVwiLCB7IGJpbm9wOiAxMCwgc3RhcnRzRXhwciB9KSxcbiAgLy8gdW5zZXQgYGJlZm9yZUV4cHJgIGFzIGl0IGNhbiBiZSBgZnVuY3Rpb24gKmBcbiAgc3RhcjogY3JlYXRlVG9rZW4oXCIqXCIsIHsgYmlub3A6IDEwIH0pLFxuICBzbGFzaDogY3JlYXRlQmlub3AoXCIvXCIsIDEwKSxcbiAgZXhwb25lbnQ6IGNyZWF0ZVRva2VuKFwiKipcIiwge1xuICAgIGJlZm9yZUV4cHIsXG4gICAgYmlub3A6IDExLFxuICAgIHJpZ2h0QXNzb2NpYXRpdmU6IHRydWUsXG4gIH0pLFxuXG4gIC8vIEtleXdvcmRzXG4gIC8vIERvbid0IGZvcmdldCB0byB1cGRhdGUgcGFja2FnZXMvYmFiZWwtaGVscGVyLXZhbGlkYXRvci1pZGVudGlmaWVyL3NyYy9rZXl3b3JkLmpzXG4gIC8vIHdoZW4gbmV3IGtleXdvcmRzIGFyZSBhZGRlZFxuICAvLyBzdGFydDogaXNMaXRlcmFsUHJvcGVydHlOYW1lXG4gIC8vIHN0YXJ0OiBpc0tleXdvcmRcbiAgX2luOiBjcmVhdGVLZXl3b3JkKFwiaW5cIiwgeyBiZWZvcmVFeHByLCBiaW5vcDogNyB9KSxcbiAgX2luc3RhbmNlb2Y6IGNyZWF0ZUtleXdvcmQoXCJpbnN0YW5jZW9mXCIsIHsgYmVmb3JlRXhwciwgYmlub3A6IDcgfSksXG4gIC8vIGVuZDogaXNCaW5vcFxuICBfYnJlYWs6IGNyZWF0ZUtleXdvcmQoXCJicmVha1wiKSxcbiAgX2Nhc2U6IGNyZWF0ZUtleXdvcmQoXCJjYXNlXCIsIHsgYmVmb3JlRXhwciB9KSxcbiAgX2NhdGNoOiBjcmVhdGVLZXl3b3JkKFwiY2F0Y2hcIiksXG4gIF9jb250aW51ZTogY3JlYXRlS2V5d29yZChcImNvbnRpbnVlXCIpLFxuICBfZGVidWdnZXI6IGNyZWF0ZUtleXdvcmQoXCJkZWJ1Z2dlclwiKSxcbiAgX2RlZmF1bHQ6IGNyZWF0ZUtleXdvcmQoXCJkZWZhdWx0XCIsIHsgYmVmb3JlRXhwciB9KSxcbiAgX2Vsc2U6IGNyZWF0ZUtleXdvcmQoXCJlbHNlXCIsIHsgYmVmb3JlRXhwciB9KSxcbiAgX2ZpbmFsbHk6IGNyZWF0ZUtleXdvcmQoXCJmaW5hbGx5XCIpLFxuICBfZnVuY3Rpb246IGNyZWF0ZUtleXdvcmQoXCJmdW5jdGlvblwiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIF9pZjogY3JlYXRlS2V5d29yZChcImlmXCIpLFxuICBfcmV0dXJuOiBjcmVhdGVLZXl3b3JkKFwicmV0dXJuXCIsIHsgYmVmb3JlRXhwciB9KSxcbiAgX3N3aXRjaDogY3JlYXRlS2V5d29yZChcInN3aXRjaFwiKSxcbiAgX3Rocm93OiBjcmVhdGVLZXl3b3JkKFwidGhyb3dcIiwgeyBiZWZvcmVFeHByLCBwcmVmaXgsIHN0YXJ0c0V4cHIgfSksXG4gIF90cnk6IGNyZWF0ZUtleXdvcmQoXCJ0cnlcIiksXG4gIF92YXI6IGNyZWF0ZUtleXdvcmQoXCJ2YXJcIiksXG4gIF9jb25zdDogY3JlYXRlS2V5d29yZChcImNvbnN0XCIpLFxuICBfd2l0aDogY3JlYXRlS2V5d29yZChcIndpdGhcIiksXG4gIF9uZXc6IGNyZWF0ZUtleXdvcmQoXCJuZXdcIiwgeyBiZWZvcmVFeHByLCBzdGFydHNFeHByIH0pLFxuICBfdGhpczogY3JlYXRlS2V5d29yZChcInRoaXNcIiwgeyBzdGFydHNFeHByIH0pLFxuICBfc3VwZXI6IGNyZWF0ZUtleXdvcmQoXCJzdXBlclwiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIF9jbGFzczogY3JlYXRlS2V5d29yZChcImNsYXNzXCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgX2V4dGVuZHM6IGNyZWF0ZUtleXdvcmQoXCJleHRlbmRzXCIsIHsgYmVmb3JlRXhwciB9KSxcbiAgX2V4cG9ydDogY3JlYXRlS2V5d29yZChcImV4cG9ydFwiKSxcbiAgX2ltcG9ydDogY3JlYXRlS2V5d29yZChcImltcG9ydFwiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIF9udWxsOiBjcmVhdGVLZXl3b3JkKFwibnVsbFwiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIF90cnVlOiBjcmVhdGVLZXl3b3JkKFwidHJ1ZVwiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIF9mYWxzZTogY3JlYXRlS2V5d29yZChcImZhbHNlXCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgX3R5cGVvZjogY3JlYXRlS2V5d29yZChcInR5cGVvZlwiLCB7IGJlZm9yZUV4cHIsIHByZWZpeCwgc3RhcnRzRXhwciB9KSxcbiAgX3ZvaWQ6IGNyZWF0ZUtleXdvcmQoXCJ2b2lkXCIsIHsgYmVmb3JlRXhwciwgcHJlZml4LCBzdGFydHNFeHByIH0pLFxuICBfZGVsZXRlOiBjcmVhdGVLZXl3b3JkKFwiZGVsZXRlXCIsIHsgYmVmb3JlRXhwciwgcHJlZml4LCBzdGFydHNFeHByIH0pLFxuICAvLyBzdGFydDogaXNMb29wXG4gIF9kbzogY3JlYXRlS2V5d29yZChcImRvXCIsIHsgaXNMb29wLCBiZWZvcmVFeHByIH0pLFxuICBfZm9yOiBjcmVhdGVLZXl3b3JkKFwiZm9yXCIsIHsgaXNMb29wIH0pLFxuICBfd2hpbGU6IGNyZWF0ZUtleXdvcmQoXCJ3aGlsZVwiLCB7IGlzTG9vcCB9KSxcbiAgLy8gZW5kOiBpc0xvb3BcbiAgLy8gZW5kOiBpc0tleXdvcmRcblxuICAvLyBQcmltYXJ5IGxpdGVyYWxzXG4gIC8vIHN0YXJ0OiBpc0lkZW50aWZpZXJcbiAgX2FzOiBjcmVhdGVLZXl3b3JkTGlrZShcImFzXCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgX2Fzc2VydDogY3JlYXRlS2V5d29yZExpa2UoXCJhc3NlcnRcIiwgeyBzdGFydHNFeHByIH0pLFxuICBfYXN5bmM6IGNyZWF0ZUtleXdvcmRMaWtlKFwiYXN5bmNcIiwgeyBzdGFydHNFeHByIH0pLFxuICBfYXdhaXQ6IGNyZWF0ZUtleXdvcmRMaWtlKFwiYXdhaXRcIiwgeyBzdGFydHNFeHByIH0pLFxuICBfZGVmZXI6IGNyZWF0ZUtleXdvcmRMaWtlKFwiZGVmZXJcIiwgeyBzdGFydHNFeHByIH0pLFxuICBfZnJvbTogY3JlYXRlS2V5d29yZExpa2UoXCJmcm9tXCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgX2dldDogY3JlYXRlS2V5d29yZExpa2UoXCJnZXRcIiwgeyBzdGFydHNFeHByIH0pLFxuICBfbGV0OiBjcmVhdGVLZXl3b3JkTGlrZShcImxldFwiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIF9tZXRhOiBjcmVhdGVLZXl3b3JkTGlrZShcIm1ldGFcIiwgeyBzdGFydHNFeHByIH0pLFxuICBfb2Y6IGNyZWF0ZUtleXdvcmRMaWtlKFwib2ZcIiwgeyBzdGFydHNFeHByIH0pLFxuICBfc2VudDogY3JlYXRlS2V5d29yZExpa2UoXCJzZW50XCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgX3NldDogY3JlYXRlS2V5d29yZExpa2UoXCJzZXRcIiwgeyBzdGFydHNFeHByIH0pLFxuICBfc291cmNlOiBjcmVhdGVLZXl3b3JkTGlrZShcInNvdXJjZVwiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIF9zdGF0aWM6IGNyZWF0ZUtleXdvcmRMaWtlKFwic3RhdGljXCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgX3VzaW5nOiBjcmVhdGVLZXl3b3JkTGlrZShcInVzaW5nXCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgX3lpZWxkOiBjcmVhdGVLZXl3b3JkTGlrZShcInlpZWxkXCIsIHsgc3RhcnRzRXhwciB9KSxcblxuICAvLyBGbG93IGFuZCBUeXBlU2NyaXB0IEtleXdvcmRsaWtlXG4gIF9hc3NlcnRzOiBjcmVhdGVLZXl3b3JkTGlrZShcImFzc2VydHNcIiwgeyBzdGFydHNFeHByIH0pLFxuICBfY2hlY2tzOiBjcmVhdGVLZXl3b3JkTGlrZShcImNoZWNrc1wiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIF9leHBvcnRzOiBjcmVhdGVLZXl3b3JkTGlrZShcImV4cG9ydHNcIiwgeyBzdGFydHNFeHByIH0pLFxuICBfZ2xvYmFsOiBjcmVhdGVLZXl3b3JkTGlrZShcImdsb2JhbFwiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIF9pbXBsZW1lbnRzOiBjcmVhdGVLZXl3b3JkTGlrZShcImltcGxlbWVudHNcIiwgeyBzdGFydHNFeHByIH0pLFxuICBfaW50cmluc2ljOiBjcmVhdGVLZXl3b3JkTGlrZShcImludHJpbnNpY1wiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIF9pbmZlcjogY3JlYXRlS2V5d29yZExpa2UoXCJpbmZlclwiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIF9pczogY3JlYXRlS2V5d29yZExpa2UoXCJpc1wiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIF9taXhpbnM6IGNyZWF0ZUtleXdvcmRMaWtlKFwibWl4aW5zXCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgX3Byb3RvOiBjcmVhdGVLZXl3b3JkTGlrZShcInByb3RvXCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgX3JlcXVpcmU6IGNyZWF0ZUtleXdvcmRMaWtlKFwicmVxdWlyZVwiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIF9zYXRpc2ZpZXM6IGNyZWF0ZUtleXdvcmRMaWtlKFwic2F0aXNmaWVzXCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgLy8gc3RhcnQ6IGlzVFNUeXBlT3BlcmF0b3JcbiAgX2tleW9mOiBjcmVhdGVLZXl3b3JkTGlrZShcImtleW9mXCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgX3JlYWRvbmx5OiBjcmVhdGVLZXl3b3JkTGlrZShcInJlYWRvbmx5XCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgX3VuaXF1ZTogY3JlYXRlS2V5d29yZExpa2UoXCJ1bmlxdWVcIiwgeyBzdGFydHNFeHByIH0pLFxuICAvLyBlbmQ6IGlzVFNUeXBlT3BlcmF0b3JcbiAgLy8gc3RhcnQ6IGlzVFNEZWNsYXJhdGlvblN0YXJ0XG4gIF9hYnN0cmFjdDogY3JlYXRlS2V5d29yZExpa2UoXCJhYnN0cmFjdFwiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIF9kZWNsYXJlOiBjcmVhdGVLZXl3b3JkTGlrZShcImRlY2xhcmVcIiwgeyBzdGFydHNFeHByIH0pLFxuICBfZW51bTogY3JlYXRlS2V5d29yZExpa2UoXCJlbnVtXCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgX21vZHVsZTogY3JlYXRlS2V5d29yZExpa2UoXCJtb2R1bGVcIiwgeyBzdGFydHNFeHByIH0pLFxuICBfbmFtZXNwYWNlOiBjcmVhdGVLZXl3b3JkTGlrZShcIm5hbWVzcGFjZVwiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIC8vIHN0YXJ0OiBpc0Zsb3dJbnRlcmZhY2VPclR5cGVPck9wYXF1ZVxuICBfaW50ZXJmYWNlOiBjcmVhdGVLZXl3b3JkTGlrZShcImludGVyZmFjZVwiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIF90eXBlOiBjcmVhdGVLZXl3b3JkTGlrZShcInR5cGVcIiwgeyBzdGFydHNFeHByIH0pLFxuICAvLyBlbmQ6IGlzVFNEZWNsYXJhdGlvblN0YXJ0XG4gIF9vcGFxdWU6IGNyZWF0ZUtleXdvcmRMaWtlKFwib3BhcXVlXCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgLy8gZW5kOiBpc0Zsb3dJbnRlcmZhY2VPclR5cGVPck9wYXF1ZVxuICBuYW1lOiBjcmVhdGVUb2tlbihcIm5hbWVcIiwgeyBzdGFydHNFeHByIH0pLFxuXG4gIC8vIHBsYWNlaG9sZGVyIHBsdWdpblxuICBwbGFjZWhvbGRlcjogY3JlYXRlVG9rZW4oXCIlJVwiLCB7IHN0YXJ0c0V4cHI6IHRydWUgfSksXG4gIC8vIGVuZDogaXNJZGVudGlmaWVyXG5cbiAgc3RyaW5nOiBjcmVhdGVUb2tlbihcInN0cmluZ1wiLCB7IHN0YXJ0c0V4cHIgfSksXG4gIG51bTogY3JlYXRlVG9rZW4oXCJudW1cIiwgeyBzdGFydHNFeHByIH0pLFxuICBiaWdpbnQ6IGNyZWF0ZVRva2VuKFwiYmlnaW50XCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgLy8gVE9ETzogUmVtb3ZlIHRoaXMgaW4gQmFiZWwgOFxuICBkZWNpbWFsOiBjcmVhdGVUb2tlbihcImRlY2ltYWxcIiwgeyBzdGFydHNFeHByIH0pLFxuICAvLyBlbmQ6IGlzTGl0ZXJhbFByb3BlcnR5TmFtZVxuICByZWdleHA6IGNyZWF0ZVRva2VuKFwicmVnZXhwXCIsIHsgc3RhcnRzRXhwciB9KSxcbiAgcHJpdmF0ZU5hbWU6IGNyZWF0ZVRva2VuKFwiI25hbWVcIiwgeyBzdGFydHNFeHByIH0pLFxuICBlb2Y6IGNyZWF0ZVRva2VuKFwiZW9mXCIpLFxuXG4gIC8vIGpzeCBwbHVnaW5cbiAganN4TmFtZTogY3JlYXRlVG9rZW4oXCJqc3hOYW1lXCIpLFxuICBqc3hUZXh0OiBjcmVhdGVUb2tlbihcImpzeFRleHRcIiwgeyBiZWZvcmVFeHByOiB0cnVlIH0pLFxuICBqc3hUYWdTdGFydDogY3JlYXRlVG9rZW4oXCJqc3hUYWdTdGFydFwiLCB7IHN0YXJ0c0V4cHI6IHRydWUgfSksXG4gIGpzeFRhZ0VuZDogY3JlYXRlVG9rZW4oXCJqc3hUYWdFbmRcIiksXG59IGFzIGNvbnN0O1xuXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5Jc0lkZW50aWZpZXIodG9rZW46IFRva2VuVHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdG9rZW4gPj0gdHQuX2FzICYmIHRva2VuIDw9IHR0LnBsYWNlaG9sZGVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5LZXl3b3JkT3JJZGVudGlmaWVySXNLZXl3b3JkKHRva2VuOiBUb2tlblR5cGUpOiBib29sZWFuIHtcbiAgLy8gd2UgY2FuIHJlbW92ZSB0aGUgdG9rZW4gPj0gdHQuX2luIGNoZWNrIHdoZW4gd2VcbiAgLy8ga25vdyBhIHRva2VuIGlzIGVpdGhlciBrZXl3b3JkIG9yIGlkZW50aWZpZXJcbiAgcmV0dXJuIHRva2VuIDw9IHR0Ll93aGlsZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRva2VuSXNLZXl3b3JkT3JJZGVudGlmaWVyKHRva2VuOiBUb2tlblR5cGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHRva2VuID49IHR0Ll9pbiAmJiB0b2tlbiA8PSB0dC5wbGFjZWhvbGRlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRva2VuSXNMaXRlcmFsUHJvcGVydHlOYW1lKHRva2VuOiBUb2tlblR5cGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHRva2VuID49IHR0Ll9pbiAmJiB0b2tlbiA8PSB0dC5kZWNpbWFsO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5Db21lc0JlZm9yZUV4cHJlc3Npb24odG9rZW46IFRva2VuVHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdG9rZW5CZWZvcmVFeHByc1t0b2tlbl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbkNhblN0YXJ0RXhwcmVzc2lvbih0b2tlbjogVG9rZW5UeXBlKTogYm9vbGVhbiB7XG4gIHJldHVybiB0b2tlblN0YXJ0c0V4cHJzW3Rva2VuXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRva2VuSXNBc3NpZ25tZW50KHRva2VuOiBUb2tlblR5cGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHRva2VuID49IHR0LmVxICYmIHRva2VuIDw9IHR0Lm1vZHVsb0Fzc2lnbjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRva2VuSXNGbG93SW50ZXJmYWNlT3JUeXBlT3JPcGFxdWUodG9rZW46IFRva2VuVHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdG9rZW4gPj0gdHQuX2ludGVyZmFjZSAmJiB0b2tlbiA8PSB0dC5fb3BhcXVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5Jc0xvb3AodG9rZW46IFRva2VuVHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdG9rZW4gPj0gdHQuX2RvICYmIHRva2VuIDw9IHR0Ll93aGlsZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRva2VuSXNLZXl3b3JkKHRva2VuOiBUb2tlblR5cGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHRva2VuID49IHR0Ll9pbiAmJiB0b2tlbiA8PSB0dC5fd2hpbGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbklzT3BlcmF0b3IodG9rZW46IFRva2VuVHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdG9rZW4gPj0gdHQucGlwZWxpbmUgJiYgdG9rZW4gPD0gdHQuX2luc3RhbmNlb2Y7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbklzUG9zdGZpeCh0b2tlbjogVG9rZW5UeXBlKTogYm9vbGVhbiB7XG4gIHJldHVybiB0b2tlbiA9PT0gdHQuaW5jRGVjO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5Jc1ByZWZpeCh0b2tlbjogVG9rZW5UeXBlKTogYm9vbGVhbiB7XG4gIHJldHVybiB0b2tlblByZWZpeGVzW3Rva2VuXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRva2VuSXNUU1R5cGVPcGVyYXRvcih0b2tlbjogVG9rZW5UeXBlKTogYm9vbGVhbiB7XG4gIHJldHVybiB0b2tlbiA+PSB0dC5fa2V5b2YgJiYgdG9rZW4gPD0gdHQuX3VuaXF1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRva2VuSXNUU0RlY2xhcmF0aW9uU3RhcnQodG9rZW46IFRva2VuVHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdG9rZW4gPj0gdHQuX2Fic3RyYWN0ICYmIHRva2VuIDw9IHR0Ll90eXBlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5MYWJlbE5hbWUodG9rZW46IFRva2VuVHlwZSk6IHN0cmluZyB7XG4gIHJldHVybiB0b2tlbkxhYmVsc1t0b2tlbl07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2tlbk9wZXJhdG9yUHJlY2VkZW5jZSh0b2tlbjogVG9rZW5UeXBlKTogbnVtYmVyIHtcbiAgcmV0dXJuIHRva2VuQmlub3BzW3Rva2VuXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRva2VuSXNCaW5hcnlPcGVyYXRvcih0b2tlbjogVG9rZW5UeXBlKTogYm9vbGVhbiB7XG4gIHJldHVybiB0b2tlbkJpbm9wc1t0b2tlbl0gIT09IC0xO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5Jc1JpZ2h0QXNzb2NpYXRpdmUodG9rZW46IFRva2VuVHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdG9rZW4gPT09IHR0LmV4cG9uZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdG9rZW5Jc1RlbXBsYXRlKHRva2VuOiBUb2tlblR5cGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIHRva2VuID49IHR0LnRlbXBsYXRlVGFpbCAmJiB0b2tlbiA8PSB0dC50ZW1wbGF0ZU5vblRhaWw7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRFeHBvcnRlZFRva2VuKHRva2VuOiBUb2tlblR5cGUpOiBFeHBvcnRlZFRva2VuVHlwZSB7XG4gIHJldHVybiB0b2tlblR5cGVzW3Rva2VuXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVG9rZW5UeXBlKG9iajogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB0eXBlb2Ygb2JqID09PSBcIm51bWJlclwiO1xufVxuXG5pZiAoIXByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcpIHtcbiAgdG9rZW5UeXBlc1t0dC5icmFjZVJdLnVwZGF0ZUNvbnRleHQgPSBjb250ZXh0ID0+IHtcbiAgICBjb250ZXh0LnBvcCgpO1xuICB9O1xuXG4gIHRva2VuVHlwZXNbdHQuYnJhY2VMXS51cGRhdGVDb250ZXh0ID1cbiAgICB0b2tlblR5cGVzW3R0LmJyYWNlSGFzaExdLnVwZGF0ZUNvbnRleHQgPVxuICAgIHRva2VuVHlwZXNbdHQuZG9sbGFyQnJhY2VMXS51cGRhdGVDb250ZXh0ID1cbiAgICAgIGNvbnRleHQgPT4ge1xuICAgICAgICBjb250ZXh0LnB1c2godGMuYnJhY2UpO1xuICAgICAgfTtcblxuICB0b2tlblR5cGVzW3R0LmJhY2tRdW90ZV0udXBkYXRlQ29udGV4dCA9IGNvbnRleHQgPT4ge1xuICAgIGlmIChjb250ZXh0W2NvbnRleHQubGVuZ3RoIC0gMV0gPT09IHRjLnRlbXBsYXRlKSB7XG4gICAgICBjb250ZXh0LnBvcCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250ZXh0LnB1c2godGMudGVtcGxhdGUpO1xuICAgIH1cbiAgfTtcblxuICB0b2tlblR5cGVzW3R0LmpzeFRhZ1N0YXJ0XS51cGRhdGVDb250ZXh0ID0gY29udGV4dCA9PiB7XG4gICAgY29udGV4dC5wdXNoKHRjLmpfZXhwciwgdGMual9vVGFnKTtcbiAgfTtcbn1cbiIsICIvLyBXZSBpbmxpbmUgdGhpcyBwYWNrYWdlXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5pbXBvcnQgKiBhcyBjaGFyQ29kZXMgZnJvbSBcImNoYXJjb2Rlc1wiO1xuXG4vLyAjIyBDaGFyYWN0ZXIgY2F0ZWdvcmllc1xuXG4vLyBCaWcgdWdseSByZWd1bGFyIGV4cHJlc3Npb25zIHRoYXQgbWF0Y2ggY2hhcmFjdGVycyBpbiB0aGVcbi8vIHdoaXRlc3BhY2UsIGlkZW50aWZpZXIsIGFuZCBpZGVudGlmaWVyLXN0YXJ0IGNhdGVnb3JpZXMuIFRoZXNlXG4vLyBhcmUgb25seSBhcHBsaWVkIHdoZW4gYSBjaGFyYWN0ZXIgaXMgZm91bmQgdG8gYWN0dWFsbHkgaGF2ZSBhXG4vLyBjb2RlIHBvaW50IGJldHdlZW4gMHg4MCBhbmQgMHhmZmZmLlxuLy8gR2VuZXJhdGVkIGJ5IGBzY3JpcHRzL2dlbmVyYXRlLWlkZW50aWZpZXItcmVnZXguY2pzYC5cblxuLyogcHJldHRpZXItaWdub3JlICovXG5sZXQgbm9uQVNDSUlpZGVudGlmaWVyU3RhcnRDaGFycyA9IFwiXFx4YWFcXHhiNVxceGJhXFx4YzAtXFx4ZDZcXHhkOC1cXHhmNlxceGY4LVxcdTAyYzFcXHUwMmM2LVxcdTAyZDFcXHUwMmUwLVxcdTAyZTRcXHUwMmVjXFx1MDJlZVxcdTAzNzAtXFx1MDM3NFxcdTAzNzZcXHUwMzc3XFx1MDM3YS1cXHUwMzdkXFx1MDM3ZlxcdTAzODZcXHUwMzg4LVxcdTAzOGFcXHUwMzhjXFx1MDM4ZS1cXHUwM2ExXFx1MDNhMy1cXHUwM2Y1XFx1MDNmNy1cXHUwNDgxXFx1MDQ4YS1cXHUwNTJmXFx1MDUzMS1cXHUwNTU2XFx1MDU1OVxcdTA1NjAtXFx1MDU4OFxcdTA1ZDAtXFx1MDVlYVxcdTA1ZWYtXFx1MDVmMlxcdTA2MjAtXFx1MDY0YVxcdTA2NmVcXHUwNjZmXFx1MDY3MS1cXHUwNmQzXFx1MDZkNVxcdTA2ZTVcXHUwNmU2XFx1MDZlZVxcdTA2ZWZcXHUwNmZhLVxcdTA2ZmNcXHUwNmZmXFx1MDcxMFxcdTA3MTItXFx1MDcyZlxcdTA3NGQtXFx1MDdhNVxcdTA3YjFcXHUwN2NhLVxcdTA3ZWFcXHUwN2Y0XFx1MDdmNVxcdTA3ZmFcXHUwODAwLVxcdTA4MTVcXHUwODFhXFx1MDgyNFxcdTA4MjhcXHUwODQwLVxcdTA4NThcXHUwODYwLVxcdTA4NmFcXHUwODcwLVxcdTA4ODdcXHUwODg5LVxcdTA4OGVcXHUwOGEwLVxcdTA4YzlcXHUwOTA0LVxcdTA5MzlcXHUwOTNkXFx1MDk1MFxcdTA5NTgtXFx1MDk2MVxcdTA5NzEtXFx1MDk4MFxcdTA5ODUtXFx1MDk4Y1xcdTA5OGZcXHUwOTkwXFx1MDk5My1cXHUwOWE4XFx1MDlhYS1cXHUwOWIwXFx1MDliMlxcdTA5YjYtXFx1MDliOVxcdTA5YmRcXHUwOWNlXFx1MDlkY1xcdTA5ZGRcXHUwOWRmLVxcdTA5ZTFcXHUwOWYwXFx1MDlmMVxcdTA5ZmNcXHUwYTA1LVxcdTBhMGFcXHUwYTBmXFx1MGExMFxcdTBhMTMtXFx1MGEyOFxcdTBhMmEtXFx1MGEzMFxcdTBhMzJcXHUwYTMzXFx1MGEzNVxcdTBhMzZcXHUwYTM4XFx1MGEzOVxcdTBhNTktXFx1MGE1Y1xcdTBhNWVcXHUwYTcyLVxcdTBhNzRcXHUwYTg1LVxcdTBhOGRcXHUwYThmLVxcdTBhOTFcXHUwYTkzLVxcdTBhYThcXHUwYWFhLVxcdTBhYjBcXHUwYWIyXFx1MGFiM1xcdTBhYjUtXFx1MGFiOVxcdTBhYmRcXHUwYWQwXFx1MGFlMFxcdTBhZTFcXHUwYWY5XFx1MGIwNS1cXHUwYjBjXFx1MGIwZlxcdTBiMTBcXHUwYjEzLVxcdTBiMjhcXHUwYjJhLVxcdTBiMzBcXHUwYjMyXFx1MGIzM1xcdTBiMzUtXFx1MGIzOVxcdTBiM2RcXHUwYjVjXFx1MGI1ZFxcdTBiNWYtXFx1MGI2MVxcdTBiNzFcXHUwYjgzXFx1MGI4NS1cXHUwYjhhXFx1MGI4ZS1cXHUwYjkwXFx1MGI5Mi1cXHUwYjk1XFx1MGI5OVxcdTBiOWFcXHUwYjljXFx1MGI5ZVxcdTBiOWZcXHUwYmEzXFx1MGJhNFxcdTBiYTgtXFx1MGJhYVxcdTBiYWUtXFx1MGJiOVxcdTBiZDBcXHUwYzA1LVxcdTBjMGNcXHUwYzBlLVxcdTBjMTBcXHUwYzEyLVxcdTBjMjhcXHUwYzJhLVxcdTBjMzlcXHUwYzNkXFx1MGM1OC1cXHUwYzVhXFx1MGM1ZFxcdTBjNjBcXHUwYzYxXFx1MGM4MFxcdTBjODUtXFx1MGM4Y1xcdTBjOGUtXFx1MGM5MFxcdTBjOTItXFx1MGNhOFxcdTBjYWEtXFx1MGNiM1xcdTBjYjUtXFx1MGNiOVxcdTBjYmRcXHUwY2RkXFx1MGNkZVxcdTBjZTBcXHUwY2UxXFx1MGNmMVxcdTBjZjJcXHUwZDA0LVxcdTBkMGNcXHUwZDBlLVxcdTBkMTBcXHUwZDEyLVxcdTBkM2FcXHUwZDNkXFx1MGQ0ZVxcdTBkNTQtXFx1MGQ1NlxcdTBkNWYtXFx1MGQ2MVxcdTBkN2EtXFx1MGQ3ZlxcdTBkODUtXFx1MGQ5NlxcdTBkOWEtXFx1MGRiMVxcdTBkYjMtXFx1MGRiYlxcdTBkYmRcXHUwZGMwLVxcdTBkYzZcXHUwZTAxLVxcdTBlMzBcXHUwZTMyXFx1MGUzM1xcdTBlNDAtXFx1MGU0NlxcdTBlODFcXHUwZTgyXFx1MGU4NFxcdTBlODYtXFx1MGU4YVxcdTBlOGMtXFx1MGVhM1xcdTBlYTVcXHUwZWE3LVxcdTBlYjBcXHUwZWIyXFx1MGViM1xcdTBlYmRcXHUwZWMwLVxcdTBlYzRcXHUwZWM2XFx1MGVkYy1cXHUwZWRmXFx1MGYwMFxcdTBmNDAtXFx1MGY0N1xcdTBmNDktXFx1MGY2Y1xcdTBmODgtXFx1MGY4Y1xcdTEwMDAtXFx1MTAyYVxcdTEwM2ZcXHUxMDUwLVxcdTEwNTVcXHUxMDVhLVxcdTEwNWRcXHUxMDYxXFx1MTA2NVxcdTEwNjZcXHUxMDZlLVxcdTEwNzBcXHUxMDc1LVxcdTEwODFcXHUxMDhlXFx1MTBhMC1cXHUxMGM1XFx1MTBjN1xcdTEwY2RcXHUxMGQwLVxcdTEwZmFcXHUxMGZjLVxcdTEyNDhcXHUxMjRhLVxcdTEyNGRcXHUxMjUwLVxcdTEyNTZcXHUxMjU4XFx1MTI1YS1cXHUxMjVkXFx1MTI2MC1cXHUxMjg4XFx1MTI4YS1cXHUxMjhkXFx1MTI5MC1cXHUxMmIwXFx1MTJiMi1cXHUxMmI1XFx1MTJiOC1cXHUxMmJlXFx1MTJjMFxcdTEyYzItXFx1MTJjNVxcdTEyYzgtXFx1MTJkNlxcdTEyZDgtXFx1MTMxMFxcdTEzMTItXFx1MTMxNVxcdTEzMTgtXFx1MTM1YVxcdTEzODAtXFx1MTM4ZlxcdTEzYTAtXFx1MTNmNVxcdTEzZjgtXFx1MTNmZFxcdTE0MDEtXFx1MTY2Y1xcdTE2NmYtXFx1MTY3ZlxcdTE2ODEtXFx1MTY5YVxcdTE2YTAtXFx1MTZlYVxcdTE2ZWUtXFx1MTZmOFxcdTE3MDAtXFx1MTcxMVxcdTE3MWYtXFx1MTczMVxcdTE3NDAtXFx1MTc1MVxcdTE3NjAtXFx1MTc2Y1xcdTE3NmUtXFx1MTc3MFxcdTE3ODAtXFx1MTdiM1xcdTE3ZDdcXHUxN2RjXFx1MTgyMC1cXHUxODc4XFx1MTg4MC1cXHUxOGE4XFx1MThhYVxcdTE4YjAtXFx1MThmNVxcdTE5MDAtXFx1MTkxZVxcdTE5NTAtXFx1MTk2ZFxcdTE5NzAtXFx1MTk3NFxcdTE5ODAtXFx1MTlhYlxcdTE5YjAtXFx1MTljOVxcdTFhMDAtXFx1MWExNlxcdTFhMjAtXFx1MWE1NFxcdTFhYTdcXHUxYjA1LVxcdTFiMzNcXHUxYjQ1LVxcdTFiNGNcXHUxYjgzLVxcdTFiYTBcXHUxYmFlXFx1MWJhZlxcdTFiYmEtXFx1MWJlNVxcdTFjMDAtXFx1MWMyM1xcdTFjNGQtXFx1MWM0ZlxcdTFjNWEtXFx1MWM3ZFxcdTFjODAtXFx1MWM4YVxcdTFjOTAtXFx1MWNiYVxcdTFjYmQtXFx1MWNiZlxcdTFjZTktXFx1MWNlY1xcdTFjZWUtXFx1MWNmM1xcdTFjZjVcXHUxY2Y2XFx1MWNmYVxcdTFkMDAtXFx1MWRiZlxcdTFlMDAtXFx1MWYxNVxcdTFmMTgtXFx1MWYxZFxcdTFmMjAtXFx1MWY0NVxcdTFmNDgtXFx1MWY0ZFxcdTFmNTAtXFx1MWY1N1xcdTFmNTlcXHUxZjViXFx1MWY1ZFxcdTFmNWYtXFx1MWY3ZFxcdTFmODAtXFx1MWZiNFxcdTFmYjYtXFx1MWZiY1xcdTFmYmVcXHUxZmMyLVxcdTFmYzRcXHUxZmM2LVxcdTFmY2NcXHUxZmQwLVxcdTFmZDNcXHUxZmQ2LVxcdTFmZGJcXHUxZmUwLVxcdTFmZWNcXHUxZmYyLVxcdTFmZjRcXHUxZmY2LVxcdTFmZmNcXHUyMDcxXFx1MjA3ZlxcdTIwOTAtXFx1MjA5Y1xcdTIxMDJcXHUyMTA3XFx1MjEwYS1cXHUyMTEzXFx1MjExNVxcdTIxMTgtXFx1MjExZFxcdTIxMjRcXHUyMTI2XFx1MjEyOFxcdTIxMmEtXFx1MjEzOVxcdTIxM2MtXFx1MjEzZlxcdTIxNDUtXFx1MjE0OVxcdTIxNGVcXHUyMTYwLVxcdTIxODhcXHUyYzAwLVxcdTJjZTRcXHUyY2ViLVxcdTJjZWVcXHUyY2YyXFx1MmNmM1xcdTJkMDAtXFx1MmQyNVxcdTJkMjdcXHUyZDJkXFx1MmQzMC1cXHUyZDY3XFx1MmQ2ZlxcdTJkODAtXFx1MmQ5NlxcdTJkYTAtXFx1MmRhNlxcdTJkYTgtXFx1MmRhZVxcdTJkYjAtXFx1MmRiNlxcdTJkYjgtXFx1MmRiZVxcdTJkYzAtXFx1MmRjNlxcdTJkYzgtXFx1MmRjZVxcdTJkZDAtXFx1MmRkNlxcdTJkZDgtXFx1MmRkZVxcdTMwMDUtXFx1MzAwN1xcdTMwMjEtXFx1MzAyOVxcdTMwMzEtXFx1MzAzNVxcdTMwMzgtXFx1MzAzY1xcdTMwNDEtXFx1MzA5NlxcdTMwOWItXFx1MzA5ZlxcdTMwYTEtXFx1MzBmYVxcdTMwZmMtXFx1MzBmZlxcdTMxMDUtXFx1MzEyZlxcdTMxMzEtXFx1MzE4ZVxcdTMxYTAtXFx1MzFiZlxcdTMxZjAtXFx1MzFmZlxcdTM0MDAtXFx1NGRiZlxcdTRlMDAtXFx1YTQ4Y1xcdWE0ZDAtXFx1YTRmZFxcdWE1MDAtXFx1YTYwY1xcdWE2MTAtXFx1YTYxZlxcdWE2MmFcXHVhNjJiXFx1YTY0MC1cXHVhNjZlXFx1YTY3Zi1cXHVhNjlkXFx1YTZhMC1cXHVhNmVmXFx1YTcxNy1cXHVhNzFmXFx1YTcyMi1cXHVhNzg4XFx1YTc4Yi1cXHVhN2NkXFx1YTdkMFxcdWE3ZDFcXHVhN2QzXFx1YTdkNS1cXHVhN2RjXFx1YTdmMi1cXHVhODAxXFx1YTgwMy1cXHVhODA1XFx1YTgwNy1cXHVhODBhXFx1YTgwYy1cXHVhODIyXFx1YTg0MC1cXHVhODczXFx1YTg4Mi1cXHVhOGIzXFx1YThmMi1cXHVhOGY3XFx1YThmYlxcdWE4ZmRcXHVhOGZlXFx1YTkwYS1cXHVhOTI1XFx1YTkzMC1cXHVhOTQ2XFx1YTk2MC1cXHVhOTdjXFx1YTk4NC1cXHVhOWIyXFx1YTljZlxcdWE5ZTAtXFx1YTllNFxcdWE5ZTYtXFx1YTllZlxcdWE5ZmEtXFx1YTlmZVxcdWFhMDAtXFx1YWEyOFxcdWFhNDAtXFx1YWE0MlxcdWFhNDQtXFx1YWE0YlxcdWFhNjAtXFx1YWE3NlxcdWFhN2FcXHVhYTdlLVxcdWFhYWZcXHVhYWIxXFx1YWFiNVxcdWFhYjZcXHVhYWI5LVxcdWFhYmRcXHVhYWMwXFx1YWFjMlxcdWFhZGItXFx1YWFkZFxcdWFhZTAtXFx1YWFlYVxcdWFhZjItXFx1YWFmNFxcdWFiMDEtXFx1YWIwNlxcdWFiMDktXFx1YWIwZVxcdWFiMTEtXFx1YWIxNlxcdWFiMjAtXFx1YWIyNlxcdWFiMjgtXFx1YWIyZVxcdWFiMzAtXFx1YWI1YVxcdWFiNWMtXFx1YWI2OVxcdWFiNzAtXFx1YWJlMlxcdWFjMDAtXFx1ZDdhM1xcdWQ3YjAtXFx1ZDdjNlxcdWQ3Y2ItXFx1ZDdmYlxcdWY5MDAtXFx1ZmE2ZFxcdWZhNzAtXFx1ZmFkOVxcdWZiMDAtXFx1ZmIwNlxcdWZiMTMtXFx1ZmIxN1xcdWZiMWRcXHVmYjFmLVxcdWZiMjhcXHVmYjJhLVxcdWZiMzZcXHVmYjM4LVxcdWZiM2NcXHVmYjNlXFx1ZmI0MFxcdWZiNDFcXHVmYjQzXFx1ZmI0NFxcdWZiNDYtXFx1ZmJiMVxcdWZiZDMtXFx1ZmQzZFxcdWZkNTAtXFx1ZmQ4ZlxcdWZkOTItXFx1ZmRjN1xcdWZkZjAtXFx1ZmRmYlxcdWZlNzAtXFx1ZmU3NFxcdWZlNzYtXFx1ZmVmY1xcdWZmMjEtXFx1ZmYzYVxcdWZmNDEtXFx1ZmY1YVxcdWZmNjYtXFx1ZmZiZVxcdWZmYzItXFx1ZmZjN1xcdWZmY2EtXFx1ZmZjZlxcdWZmZDItXFx1ZmZkN1xcdWZmZGEtXFx1ZmZkY1wiO1xuLyogcHJldHRpZXItaWdub3JlICovXG5sZXQgbm9uQVNDSUlpZGVudGlmaWVyQ2hhcnMgPSBcIlxceGI3XFx1MDMwMC1cXHUwMzZmXFx1MDM4N1xcdTA0ODMtXFx1MDQ4N1xcdTA1OTEtXFx1MDViZFxcdTA1YmZcXHUwNWMxXFx1MDVjMlxcdTA1YzRcXHUwNWM1XFx1MDVjN1xcdTA2MTAtXFx1MDYxYVxcdTA2NGItXFx1MDY2OVxcdTA2NzBcXHUwNmQ2LVxcdTA2ZGNcXHUwNmRmLVxcdTA2ZTRcXHUwNmU3XFx1MDZlOFxcdTA2ZWEtXFx1MDZlZFxcdTA2ZjAtXFx1MDZmOVxcdTA3MTFcXHUwNzMwLVxcdTA3NGFcXHUwN2E2LVxcdTA3YjBcXHUwN2MwLVxcdTA3YzlcXHUwN2ViLVxcdTA3ZjNcXHUwN2ZkXFx1MDgxNi1cXHUwODE5XFx1MDgxYi1cXHUwODIzXFx1MDgyNS1cXHUwODI3XFx1MDgyOS1cXHUwODJkXFx1MDg1OS1cXHUwODViXFx1MDg5Ny1cXHUwODlmXFx1MDhjYS1cXHUwOGUxXFx1MDhlMy1cXHUwOTAzXFx1MDkzYS1cXHUwOTNjXFx1MDkzZS1cXHUwOTRmXFx1MDk1MS1cXHUwOTU3XFx1MDk2MlxcdTA5NjNcXHUwOTY2LVxcdTA5NmZcXHUwOTgxLVxcdTA5ODNcXHUwOWJjXFx1MDliZS1cXHUwOWM0XFx1MDljN1xcdTA5YzhcXHUwOWNiLVxcdTA5Y2RcXHUwOWQ3XFx1MDllMlxcdTA5ZTNcXHUwOWU2LVxcdTA5ZWZcXHUwOWZlXFx1MGEwMS1cXHUwYTAzXFx1MGEzY1xcdTBhM2UtXFx1MGE0MlxcdTBhNDdcXHUwYTQ4XFx1MGE0Yi1cXHUwYTRkXFx1MGE1MVxcdTBhNjYtXFx1MGE3MVxcdTBhNzVcXHUwYTgxLVxcdTBhODNcXHUwYWJjXFx1MGFiZS1cXHUwYWM1XFx1MGFjNy1cXHUwYWM5XFx1MGFjYi1cXHUwYWNkXFx1MGFlMlxcdTBhZTNcXHUwYWU2LVxcdTBhZWZcXHUwYWZhLVxcdTBhZmZcXHUwYjAxLVxcdTBiMDNcXHUwYjNjXFx1MGIzZS1cXHUwYjQ0XFx1MGI0N1xcdTBiNDhcXHUwYjRiLVxcdTBiNGRcXHUwYjU1LVxcdTBiNTdcXHUwYjYyXFx1MGI2M1xcdTBiNjYtXFx1MGI2ZlxcdTBiODJcXHUwYmJlLVxcdTBiYzJcXHUwYmM2LVxcdTBiYzhcXHUwYmNhLVxcdTBiY2RcXHUwYmQ3XFx1MGJlNi1cXHUwYmVmXFx1MGMwMC1cXHUwYzA0XFx1MGMzY1xcdTBjM2UtXFx1MGM0NFxcdTBjNDYtXFx1MGM0OFxcdTBjNGEtXFx1MGM0ZFxcdTBjNTVcXHUwYzU2XFx1MGM2MlxcdTBjNjNcXHUwYzY2LVxcdTBjNmZcXHUwYzgxLVxcdTBjODNcXHUwY2JjXFx1MGNiZS1cXHUwY2M0XFx1MGNjNi1cXHUwY2M4XFx1MGNjYS1cXHUwY2NkXFx1MGNkNVxcdTBjZDZcXHUwY2UyXFx1MGNlM1xcdTBjZTYtXFx1MGNlZlxcdTBjZjNcXHUwZDAwLVxcdTBkMDNcXHUwZDNiXFx1MGQzY1xcdTBkM2UtXFx1MGQ0NFxcdTBkNDYtXFx1MGQ0OFxcdTBkNGEtXFx1MGQ0ZFxcdTBkNTdcXHUwZDYyXFx1MGQ2M1xcdTBkNjYtXFx1MGQ2ZlxcdTBkODEtXFx1MGQ4M1xcdTBkY2FcXHUwZGNmLVxcdTBkZDRcXHUwZGQ2XFx1MGRkOC1cXHUwZGRmXFx1MGRlNi1cXHUwZGVmXFx1MGRmMlxcdTBkZjNcXHUwZTMxXFx1MGUzNC1cXHUwZTNhXFx1MGU0Ny1cXHUwZTRlXFx1MGU1MC1cXHUwZTU5XFx1MGViMVxcdTBlYjQtXFx1MGViY1xcdTBlYzgtXFx1MGVjZVxcdTBlZDAtXFx1MGVkOVxcdTBmMThcXHUwZjE5XFx1MGYyMC1cXHUwZjI5XFx1MGYzNVxcdTBmMzdcXHUwZjM5XFx1MGYzZVxcdTBmM2ZcXHUwZjcxLVxcdTBmODRcXHUwZjg2XFx1MGY4N1xcdTBmOGQtXFx1MGY5N1xcdTBmOTktXFx1MGZiY1xcdTBmYzZcXHUxMDJiLVxcdTEwM2VcXHUxMDQwLVxcdTEwNDlcXHUxMDU2LVxcdTEwNTlcXHUxMDVlLVxcdTEwNjBcXHUxMDYyLVxcdTEwNjRcXHUxMDY3LVxcdTEwNmRcXHUxMDcxLVxcdTEwNzRcXHUxMDgyLVxcdTEwOGRcXHUxMDhmLVxcdTEwOWRcXHUxMzVkLVxcdTEzNWZcXHUxMzY5LVxcdTEzNzFcXHUxNzEyLVxcdTE3MTVcXHUxNzMyLVxcdTE3MzRcXHUxNzUyXFx1MTc1M1xcdTE3NzJcXHUxNzczXFx1MTdiNC1cXHUxN2QzXFx1MTdkZFxcdTE3ZTAtXFx1MTdlOVxcdTE4MGItXFx1MTgwZFxcdTE4MGYtXFx1MTgxOVxcdTE4YTlcXHUxOTIwLVxcdTE5MmJcXHUxOTMwLVxcdTE5M2JcXHUxOTQ2LVxcdTE5NGZcXHUxOWQwLVxcdTE5ZGFcXHUxYTE3LVxcdTFhMWJcXHUxYTU1LVxcdTFhNWVcXHUxYTYwLVxcdTFhN2NcXHUxYTdmLVxcdTFhODlcXHUxYTkwLVxcdTFhOTlcXHUxYWIwLVxcdTFhYmRcXHUxYWJmLVxcdTFhY2VcXHUxYjAwLVxcdTFiMDRcXHUxYjM0LVxcdTFiNDRcXHUxYjUwLVxcdTFiNTlcXHUxYjZiLVxcdTFiNzNcXHUxYjgwLVxcdTFiODJcXHUxYmExLVxcdTFiYWRcXHUxYmIwLVxcdTFiYjlcXHUxYmU2LVxcdTFiZjNcXHUxYzI0LVxcdTFjMzdcXHUxYzQwLVxcdTFjNDlcXHUxYzUwLVxcdTFjNTlcXHUxY2QwLVxcdTFjZDJcXHUxY2Q0LVxcdTFjZThcXHUxY2VkXFx1MWNmNFxcdTFjZjctXFx1MWNmOVxcdTFkYzAtXFx1MWRmZlxcdTIwMGNcXHUyMDBkXFx1MjAzZlxcdTIwNDBcXHUyMDU0XFx1MjBkMC1cXHUyMGRjXFx1MjBlMVxcdTIwZTUtXFx1MjBmMFxcdTJjZWYtXFx1MmNmMVxcdTJkN2ZcXHUyZGUwLVxcdTJkZmZcXHUzMDJhLVxcdTMwMmZcXHUzMDk5XFx1MzA5YVxcdTMwZmJcXHVhNjIwLVxcdWE2MjlcXHVhNjZmXFx1YTY3NC1cXHVhNjdkXFx1YTY5ZVxcdWE2OWZcXHVhNmYwXFx1YTZmMVxcdWE4MDJcXHVhODA2XFx1YTgwYlxcdWE4MjMtXFx1YTgyN1xcdWE4MmNcXHVhODgwXFx1YTg4MVxcdWE4YjQtXFx1YThjNVxcdWE4ZDAtXFx1YThkOVxcdWE4ZTAtXFx1YThmMVxcdWE4ZmYtXFx1YTkwOVxcdWE5MjYtXFx1YTkyZFxcdWE5NDctXFx1YTk1M1xcdWE5ODAtXFx1YTk4M1xcdWE5YjMtXFx1YTljMFxcdWE5ZDAtXFx1YTlkOVxcdWE5ZTVcXHVhOWYwLVxcdWE5ZjlcXHVhYTI5LVxcdWFhMzZcXHVhYTQzXFx1YWE0Y1xcdWFhNGRcXHVhYTUwLVxcdWFhNTlcXHVhYTdiLVxcdWFhN2RcXHVhYWIwXFx1YWFiMi1cXHVhYWI0XFx1YWFiN1xcdWFhYjhcXHVhYWJlXFx1YWFiZlxcdWFhYzFcXHVhYWViLVxcdWFhZWZcXHVhYWY1XFx1YWFmNlxcdWFiZTMtXFx1YWJlYVxcdWFiZWNcXHVhYmVkXFx1YWJmMC1cXHVhYmY5XFx1ZmIxZVxcdWZlMDAtXFx1ZmUwZlxcdWZlMjAtXFx1ZmUyZlxcdWZlMzNcXHVmZTM0XFx1ZmU0ZC1cXHVmZTRmXFx1ZmYxMC1cXHVmZjE5XFx1ZmYzZlxcdWZmNjVcIjtcblxuY29uc3Qgbm9uQVNDSUlpZGVudGlmaWVyU3RhcnQgPSBuZXcgUmVnRXhwKFxuICBcIltcIiArIG5vbkFTQ0lJaWRlbnRpZmllclN0YXJ0Q2hhcnMgKyBcIl1cIixcbik7XG5jb25zdCBub25BU0NJSWlkZW50aWZpZXIgPSBuZXcgUmVnRXhwKFxuICBcIltcIiArIG5vbkFTQ0lJaWRlbnRpZmllclN0YXJ0Q2hhcnMgKyBub25BU0NJSWlkZW50aWZpZXJDaGFycyArIFwiXVwiLFxuKTtcblxubm9uQVNDSUlpZGVudGlmaWVyU3RhcnRDaGFycyA9IG5vbkFTQ0lJaWRlbnRpZmllckNoYXJzID0gbnVsbDtcblxuLy8gVGhlc2UgYXJlIGEgcnVuLWxlbmd0aCBhbmQgb2Zmc2V0LWVuY29kZWQgcmVwcmVzZW50YXRpb24gb2YgdGhlXG4vLyA+MHhmZmZmIGNvZGUgcG9pbnRzIHRoYXQgYXJlIGEgdmFsaWQgcGFydCBvZiBpZGVudGlmaWVycy4gVGhlXG4vLyBvZmZzZXQgc3RhcnRzIGF0IDB4MTAwMDAsIGFuZCBlYWNoIHBhaXIgb2YgbnVtYmVycyByZXByZXNlbnRzIGFuXG4vLyBvZmZzZXQgdG8gdGhlIG5leHQgcmFuZ2UsIGFuZCB0aGVuIGEgc2l6ZSBvZiB0aGUgcmFuZ2UuIFRoZXkgd2VyZVxuLy8gZ2VuZXJhdGVkIGJ5IGBzY3JpcHRzL2dlbmVyYXRlLWlkZW50aWZpZXItcmVnZXguY2pzYC5cbi8qIHByZXR0aWVyLWlnbm9yZSAqL1xuY29uc3QgYXN0cmFsSWRlbnRpZmllclN0YXJ0Q29kZXMgPSBbMCwxMSwyLDI1LDIsMTgsMiwxLDIsMTQsMywxMywzNSwxMjIsNzAsNTIsMjY4LDI4LDQsNDgsNDgsMzEsMTQsMjksNiwzNywxMSwyOSwzLDM1LDUsNywyLDQsNDMsMTU3LDE5LDM1LDUsMzUsNSwzOSw5LDUxLDEzLDEwLDIsMTQsMiw2LDIsMSwyLDEwLDIsMTQsMiw2LDIsMSw0LDUxLDEzLDMxMCwxMCwyMSwxMSw3LDI1LDUsMiw0MSwyLDgsNzAsNSwzLDAsMiw0MywyLDEsNCwwLDMsMjIsMTEsMjIsMTAsMzAsNjYsMTgsMiwxLDExLDIxLDExLDI1LDcxLDU1LDcsMSw2NSwwLDE2LDMsMiwyLDIsMjgsNDMsMjgsNCwyOCwzNiw3LDIsMjcsMjgsNTMsMTEsMjEsMTEsMTgsMTQsMTcsMTExLDcyLDU2LDUwLDE0LDUwLDE0LDM1LDM5LDI3LDEwLDIyLDI1MSw0MSw3LDEsMTcsMiw2MCwyOCwxMSwwLDksMjEsNDMsMTcsNDcsMjAsMjgsMjIsMTMsNTIsNTgsMSwzLDAsMTQsNDQsMzMsMjQsMjcsMzUsMzAsMCwzLDAsOSwzNCw0LDAsMTMsNDcsMTUsMywyMiwwLDIsMCwzNiwxNywyLDI0LDIwLDEsNjQsNiwyLDAsMiwzLDIsMTQsMiw5LDgsNDYsMzksNywzLDEsMywyMSwyLDYsMiwxLDIsNCw0LDAsMTksMCwxMyw0LDMxLDksMiwwLDMsMCwyLDM3LDIsMCwyNiwwLDIsMCw0NSw1MiwxOSwzLDIxLDIsMzEsNDcsMjEsMSwyLDAsMTg1LDQ2LDQyLDMsMzcsNDcsMjEsMCw2MCw0MiwxNCwwLDcyLDI2LDM4LDYsMTg2LDQzLDExNyw2MywzMiw3LDMsMCwzLDcsMiwxLDIsMjMsMTYsMCwyLDAsOTUsNywzLDM4LDE3LDAsMiwwLDI5LDAsMTEsMzksOCwwLDIyLDAsMTIsNDUsMjAsMCwxOSw3MiwyMDAsMzIsMzIsOCwyLDM2LDE4LDAsNTAsMjksMTEzLDYsMiwxLDIsMzcsMjIsMCwyNiw1LDIsMSwyLDMxLDE1LDAsMzI4LDE4LDE2LDAsMiwxMiwyLDMzLDEyNSwwLDgwLDkyMSwxMDMsMTEwLDE4LDE5NSwyNjM3LDk2LDE2LDEwNzEsMTgsNSwyNiwzOTk0LDYsNTgyLDY4NDIsMjksMTc2Myw1NjgsOCwzMCwxOCw3OCwxOCwyOSwxOSw0NywxNywzLDMyLDIwLDYsMTgsNDMzLDQ0LDIxMiw2MywxMjksNzQsNiwwLDY3LDEyLDY1LDEsMiwwLDI5LDYxMzUsOSwxMjM3LDQyLDksODkzNiwzLDIsNiwyLDEsMiwyOTAsMTYsMCwzMCwyLDMsMCwxNSwzLDksMzk1LDIzMDksMTA2LDYsMTIsNCw4LDgsOSw1OTkxLDg0LDIsNzAsMiwxLDMsMCwzLDEsMywzLDIsMTEsMiwwLDIsNiwyLDY0LDIsMywzLDcsMiw2LDIsMjcsMiwzLDIsNCwyLDAsNCw2LDIsMzM5LDMsMjQsMiwyNCwyLDMwLDIsMjQsMiwzMCwyLDI0LDIsMzAsMiwyNCwyLDMwLDIsMjQsMiw3LDE4NDUsMzAsNyw1LDI2Miw2MSwxNDcsNDQsMTEsNiwxNywwLDMyMiwyOSwxOSw0Myw0ODUsMjcsMjI5LDI5LDMsMCw0OTYsNiwyLDMsMiwxLDIsMTQsMiwxOTYsNjAsNjcsOCwwLDEyMDUsMywyLDI2LDIsMSwyLDAsMywwLDIsOSwyLDMsMiwwLDIsMCw3LDAsNSwwLDIsMCwyLDAsMiwyLDIsMSwyLDAsMywwLDIsMCwyLDAsMiwwLDIsMCwyLDEsMiwwLDMsMywyLDYsMiwzLDIsMywyLDAsMiw5LDIsMTYsNiwyLDIsNCwyLDE2LDQ0MjEsNDI3MTksMzMsNDE1Myw3LDIyMSwzLDU3NjEsMTUsNzQ3MiwxNiw2MjEsMjQ2Nyw1NDEsMTUwNyw0OTM4LDYsNDE5MV07XG4vKiBwcmV0dGllci1pZ25vcmUgKi9cbmNvbnN0IGFzdHJhbElkZW50aWZpZXJDb2RlcyA9IFs1MDksMCwyMjcsMCwxNTAsNCwyOTQsOSwxMzY4LDIsMiwxLDYsMyw0MSwyLDUsMCwxNjYsMSw1NzQsMyw5LDksNyw5LDMyLDQsMzE4LDEsODAsMyw3MSwxMCw1MCwzLDEyMywyLDU0LDE0LDMyLDEwLDMsMSwxMSwzLDQ2LDEwLDgsMCw0Niw5LDcsMiwzNywxMywyLDksNiwxLDQ1LDAsMTMsMiw0OSwxMyw5LDMsMiwxMSw4MywxMSw3LDAsMywwLDE1OCwxMSw2LDksNywzLDU2LDEsMiw2LDMsMSwzLDIsMTAsMCwxMSwxLDMsNiw0LDQsNjgsOCwyLDAsMywwLDIsMywyLDQsMiwwLDE1LDEsODMsMTcsMTAsOSw1LDAsODIsMTksMTMsOSwyMTQsNiwzLDgsMjgsMSw4MywxNiwxNiw5LDgyLDEyLDksOSw3LDE5LDU4LDE0LDUsOSwyNDMsMTQsMTY2LDksNzEsNSwyLDEsMywzLDIsMCwyLDEsMTMsOSwxMjAsNiwzLDYsNCwwLDI5LDksNDEsNiwyLDMsOSwwLDEwLDEwLDQ3LDE1LDM0Myw5LDU0LDcsMiw3LDE3LDksNTcsMjEsMiwxMywxMjMsNSw0LDAsMiwxLDIsNiwyLDAsOSw5LDQ5LDQsMiwxLDIsNCw5LDksMzMwLDMsMTAsMSwyLDAsNDksNiw0LDQsMTQsMTAsNTM1MCwwLDcsMTQsMTE0NjUsMjcsMjM0Myw5LDg3LDksMzksNCw2MCw2LDI2LDksNTM1LDksNDcwLDAsMiw1NCw4LDMsODIsMCwxMiwxLDE5NjI4LDEsNDE3OCw5LDUxOSw0NSwzLDIyLDU0Myw0LDQsNSw5LDcsMyw2LDMxLDMsMTQ5LDIsMTQxOCw0OSw1MTMsNTQsNSw0OSw5LDAsMTUsMCwyMyw0LDIsMTQsMTM2MSw2LDIsMTYsMyw2LDIsMSwyLDQsMTAxLDAsMTYxLDYsMTAsOSwzNTcsMCw2MiwxMyw0OTksMTMsMjQ1LDEsMiw5LDcyNiw2LDExMCw2LDYsOSw0NzU5LDksNzg3NzE5LDIzOV07XG5cbi8vIFRoaXMgaGFzIGEgY29tcGxleGl0eSBsaW5lYXIgdG8gdGhlIHZhbHVlIG9mIHRoZSBjb2RlLiBUaGVcbi8vIGFzc3VtcHRpb24gaXMgdGhhdCBsb29raW5nIHVwIGFzdHJhbCBpZGVudGlmaWVyIGNoYXJhY3RlcnMgaXNcbi8vIHJhcmUuXG5mdW5jdGlvbiBpc0luQXN0cmFsU2V0KGNvZGU6IG51bWJlciwgc2V0OiByZWFkb25seSBudW1iZXJbXSk6IGJvb2xlYW4ge1xuICBsZXQgcG9zID0gMHgxMDAwMDtcbiAgZm9yIChsZXQgaSA9IDAsIGxlbmd0aCA9IHNldC5sZW5ndGg7IGkgPCBsZW5ndGg7IGkgKz0gMikge1xuICAgIHBvcyArPSBzZXRbaV07XG4gICAgaWYgKHBvcyA+IGNvZGUpIHJldHVybiBmYWxzZTtcblxuICAgIHBvcyArPSBzZXRbaSArIDFdO1xuICAgIGlmIChwb3MgPj0gY29kZSkgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vLyBUZXN0IHdoZXRoZXIgYSBnaXZlbiBjaGFyYWN0ZXIgY29kZSBzdGFydHMgYW4gaWRlbnRpZmllci5cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSWRlbnRpZmllclN0YXJ0KGNvZGU6IG51bWJlcik6IGJvb2xlYW4ge1xuICBpZiAoY29kZSA8IGNoYXJDb2Rlcy51cHBlcmNhc2VBKSByZXR1cm4gY29kZSA9PT0gY2hhckNvZGVzLmRvbGxhclNpZ247XG4gIGlmIChjb2RlIDw9IGNoYXJDb2Rlcy51cHBlcmNhc2VaKSByZXR1cm4gdHJ1ZTtcbiAgaWYgKGNvZGUgPCBjaGFyQ29kZXMubG93ZXJjYXNlQSkgcmV0dXJuIGNvZGUgPT09IGNoYXJDb2Rlcy51bmRlcnNjb3JlO1xuICBpZiAoY29kZSA8PSBjaGFyQ29kZXMubG93ZXJjYXNlWikgcmV0dXJuIHRydWU7XG4gIGlmIChjb2RlIDw9IDB4ZmZmZikge1xuICAgIHJldHVybiAoXG4gICAgICBjb2RlID49IDB4YWEgJiYgbm9uQVNDSUlpZGVudGlmaWVyU3RhcnQudGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKGNvZGUpKVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIGlzSW5Bc3RyYWxTZXQoY29kZSwgYXN0cmFsSWRlbnRpZmllclN0YXJ0Q29kZXMpO1xufVxuXG4vLyBUZXN0IHdoZXRoZXIgYSBnaXZlbiBjaGFyYWN0ZXIgaXMgcGFydCBvZiBhbiBpZGVudGlmaWVyLlxuXG5leHBvcnQgZnVuY3Rpb24gaXNJZGVudGlmaWVyQ2hhcihjb2RlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgaWYgKGNvZGUgPCBjaGFyQ29kZXMuZGlnaXQwKSByZXR1cm4gY29kZSA9PT0gY2hhckNvZGVzLmRvbGxhclNpZ247XG4gIGlmIChjb2RlIDwgY2hhckNvZGVzLmNvbG9uKSByZXR1cm4gdHJ1ZTtcbiAgaWYgKGNvZGUgPCBjaGFyQ29kZXMudXBwZXJjYXNlQSkgcmV0dXJuIGZhbHNlO1xuICBpZiAoY29kZSA8PSBjaGFyQ29kZXMudXBwZXJjYXNlWikgcmV0dXJuIHRydWU7XG4gIGlmIChjb2RlIDwgY2hhckNvZGVzLmxvd2VyY2FzZUEpIHJldHVybiBjb2RlID09PSBjaGFyQ29kZXMudW5kZXJzY29yZTtcbiAgaWYgKGNvZGUgPD0gY2hhckNvZGVzLmxvd2VyY2FzZVopIHJldHVybiB0cnVlO1xuICBpZiAoY29kZSA8PSAweGZmZmYpIHtcbiAgICByZXR1cm4gY29kZSA+PSAweGFhICYmIG5vbkFTQ0lJaWRlbnRpZmllci50ZXN0KFN0cmluZy5mcm9tQ2hhckNvZGUoY29kZSkpO1xuICB9XG4gIHJldHVybiAoXG4gICAgaXNJbkFzdHJhbFNldChjb2RlLCBhc3RyYWxJZGVudGlmaWVyU3RhcnRDb2RlcykgfHxcbiAgICBpc0luQXN0cmFsU2V0KGNvZGUsIGFzdHJhbElkZW50aWZpZXJDb2RlcylcbiAgKTtcbn1cblxuLy8gVGVzdCB3aGV0aGVyIGEgZ2l2ZW4gc3RyaW5nIGlzIGEgdmFsaWQgaWRlbnRpZmllciBuYW1lXG5cbmV4cG9ydCBmdW5jdGlvbiBpc0lkZW50aWZpZXJOYW1lKG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBsZXQgaXNGaXJzdCA9IHRydWU7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbmFtZS5sZW5ndGg7IGkrKykge1xuICAgIC8vIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvblxuICAgIC8vIGh0dHBzOi8vc291cmNlLmNocm9taXVtLm9yZy9jaHJvbWl1bS9jaHJvbWl1bS9zcmMvKy9tYXN0ZXI6djgvc3JjL2J1aWx0aW5zL2J1aWx0aW5zLXN0cmluZy1nZW4uY2M7bD0xNDU1O2RyYz0yMjFlMzMxYjQ5ZGZlZmFkYmM2ZmE0MGIwYzY4ZTZmOTc2MDZkMGIzO2Jwdj0wO2JwdD0xXG4gICAgLy8gV2UgcmVpbXBsZW1lbnQgYGNvZGVQb2ludEF0YCBiZWNhdXNlIGBjb2RlUG9pbnRBdGAgaXMgYSBWOCBidWlsdGluIHdoaWNoIGlzIG5vdCBpbmxpbmVkIGJ5IFR1cmJvRmFuIChhcyBvZiBNOTEpXG4gICAgLy8gc2luY2UgYG5hbWVgIGlzIG1vc3RseSBBU0NJSSwgYW4gaW5saW5lZCBgY2hhckNvZGVBdGAgd2lucyBoZXJlXG4gICAgbGV0IGNwID0gbmFtZS5jaGFyQ29kZUF0KGkpO1xuICAgIGlmICgoY3AgJiAweGZjMDApID09PSAweGQ4MDAgJiYgaSArIDEgPCBuYW1lLmxlbmd0aCkge1xuICAgICAgY29uc3QgdHJhaWwgPSBuYW1lLmNoYXJDb2RlQXQoKytpKTtcbiAgICAgIGlmICgodHJhaWwgJiAweGZjMDApID09PSAweGRjMDApIHtcbiAgICAgICAgY3AgPSAweDEwMDAwICsgKChjcCAmIDB4M2ZmKSA8PCAxMCkgKyAodHJhaWwgJiAweDNmZik7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChpc0ZpcnN0KSB7XG4gICAgICBpc0ZpcnN0ID0gZmFsc2U7XG4gICAgICBpZiAoIWlzSWRlbnRpZmllclN0YXJ0KGNwKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghaXNJZGVudGlmaWVyQ2hhcihjcCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuICFpc0ZpcnN0O1xufVxuIiwgImNvbnN0IHJlc2VydmVkV29yZHMgPSB7XG4gIGtleXdvcmQ6IFtcbiAgICBcImJyZWFrXCIsXG4gICAgXCJjYXNlXCIsXG4gICAgXCJjYXRjaFwiLFxuICAgIFwiY29udGludWVcIixcbiAgICBcImRlYnVnZ2VyXCIsXG4gICAgXCJkZWZhdWx0XCIsXG4gICAgXCJkb1wiLFxuICAgIFwiZWxzZVwiLFxuICAgIFwiZmluYWxseVwiLFxuICAgIFwiZm9yXCIsXG4gICAgXCJmdW5jdGlvblwiLFxuICAgIFwiaWZcIixcbiAgICBcInJldHVyblwiLFxuICAgIFwic3dpdGNoXCIsXG4gICAgXCJ0aHJvd1wiLFxuICAgIFwidHJ5XCIsXG4gICAgXCJ2YXJcIixcbiAgICBcImNvbnN0XCIsXG4gICAgXCJ3aGlsZVwiLFxuICAgIFwid2l0aFwiLFxuICAgIFwibmV3XCIsXG4gICAgXCJ0aGlzXCIsXG4gICAgXCJzdXBlclwiLFxuICAgIFwiY2xhc3NcIixcbiAgICBcImV4dGVuZHNcIixcbiAgICBcImV4cG9ydFwiLFxuICAgIFwiaW1wb3J0XCIsXG4gICAgXCJudWxsXCIsXG4gICAgXCJ0cnVlXCIsXG4gICAgXCJmYWxzZVwiLFxuICAgIFwiaW5cIixcbiAgICBcImluc3RhbmNlb2ZcIixcbiAgICBcInR5cGVvZlwiLFxuICAgIFwidm9pZFwiLFxuICAgIFwiZGVsZXRlXCIsXG4gIF0sXG4gIHN0cmljdDogW1xuICAgIFwiaW1wbGVtZW50c1wiLFxuICAgIFwiaW50ZXJmYWNlXCIsXG4gICAgXCJsZXRcIixcbiAgICBcInBhY2thZ2VcIixcbiAgICBcInByaXZhdGVcIixcbiAgICBcInByb3RlY3RlZFwiLFxuICAgIFwicHVibGljXCIsXG4gICAgXCJzdGF0aWNcIixcbiAgICBcInlpZWxkXCIsXG4gIF0sXG4gIHN0cmljdEJpbmQ6IFtcImV2YWxcIiwgXCJhcmd1bWVudHNcIl0sXG59O1xuY29uc3Qga2V5d29yZHMgPSBuZXcgU2V0KHJlc2VydmVkV29yZHMua2V5d29yZCk7XG5jb25zdCByZXNlcnZlZFdvcmRzU3RyaWN0U2V0ID0gbmV3IFNldChyZXNlcnZlZFdvcmRzLnN0cmljdCk7XG5jb25zdCByZXNlcnZlZFdvcmRzU3RyaWN0QmluZFNldCA9IG5ldyBTZXQocmVzZXJ2ZWRXb3Jkcy5zdHJpY3RCaW5kKTtcblxuLyoqXG4gKiBDaGVja3MgaWYgd29yZCBpcyBhIHJlc2VydmVkIHdvcmQgaW4gbm9uLXN0cmljdCBtb2RlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1Jlc2VydmVkV29yZCh3b3JkOiBzdHJpbmcsIGluTW9kdWxlOiBib29sZWFuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoaW5Nb2R1bGUgJiYgd29yZCA9PT0gXCJhd2FpdFwiKSB8fCB3b3JkID09PSBcImVudW1cIjtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgd29yZCBpcyBhIHJlc2VydmVkIHdvcmQgaW4gbm9uLWJpbmRpbmcgc3RyaWN0IG1vZGVcbiAqXG4gKiBJbmNsdWRlcyBub24tc3RyaWN0IHJlc2VydmVkIHdvcmRzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1N0cmljdFJlc2VydmVkV29yZCh3b3JkOiBzdHJpbmcsIGluTW9kdWxlOiBib29sZWFuKTogYm9vbGVhbiB7XG4gIHJldHVybiBpc1Jlc2VydmVkV29yZCh3b3JkLCBpbk1vZHVsZSkgfHwgcmVzZXJ2ZWRXb3Jkc1N0cmljdFNldC5oYXMod29yZCk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHdvcmQgaXMgYSByZXNlcnZlZCB3b3JkIGluIGJpbmRpbmcgc3RyaWN0IG1vZGUsIGJ1dCBpdCBpcyBhbGxvd2VkIGFzXG4gKiBhIG5vcm1hbCBpZGVudGlmaWVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpY3RCaW5kT25seVJlc2VydmVkV29yZCh3b3JkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIHJlc2VydmVkV29yZHNTdHJpY3RCaW5kU2V0Lmhhcyh3b3JkKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgd29yZCBpcyBhIHJlc2VydmVkIHdvcmQgaW4gYmluZGluZyBzdHJpY3QgbW9kZVxuICpcbiAqIEluY2x1ZGVzIG5vbi1zdHJpY3QgcmVzZXJ2ZWQgd29yZHMgYW5kIG5vbi1iaW5kaW5nIHN0cmljdCByZXNlcnZlZCB3b3Jkc1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNTdHJpY3RCaW5kUmVzZXJ2ZWRXb3JkKFxuICB3b3JkOiBzdHJpbmcsXG4gIGluTW9kdWxlOiBib29sZWFuLFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgaXNTdHJpY3RSZXNlcnZlZFdvcmQod29yZCwgaW5Nb2R1bGUpIHx8IGlzU3RyaWN0QmluZE9ubHlSZXNlcnZlZFdvcmQod29yZClcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzS2V5d29yZCh3b3JkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgcmV0dXJuIGtleXdvcmRzLmhhcyh3b3JkKTtcbn1cbiIsICJpbXBvcnQgKiBhcyBjaGFyQ29kZXMgZnJvbSBcImNoYXJjb2Rlc1wiO1xuaW1wb3J0IHsgaXNJZGVudGlmaWVyU3RhcnQgfSBmcm9tIFwiQGJhYmVsL2hlbHBlci12YWxpZGF0b3ItaWRlbnRpZmllclwiO1xuXG5leHBvcnQge1xuICBpc0lkZW50aWZpZXJTdGFydCxcbiAgaXNJZGVudGlmaWVyQ2hhcixcbiAgaXNSZXNlcnZlZFdvcmQsXG4gIGlzU3RyaWN0QmluZE9ubHlSZXNlcnZlZFdvcmQsXG4gIGlzU3RyaWN0QmluZFJlc2VydmVkV29yZCxcbiAgaXNTdHJpY3RSZXNlcnZlZFdvcmQsXG4gIGlzS2V5d29yZCxcbn0gZnJvbSBcIkBiYWJlbC9oZWxwZXItdmFsaWRhdG9yLWlkZW50aWZpZXJcIjtcblxuZXhwb3J0IGNvbnN0IGtleXdvcmRSZWxhdGlvbmFsT3BlcmF0b3IgPSAvXmluKHN0YW5jZW9mKT8kLztcblxuLy8gVGVzdCB3aGV0aGVyIGEgY3VycmVudCBzdGF0ZSBjaGFyYWN0ZXIgY29kZSBhbmQgbmV4dCBjaGFyYWN0ZXIgY29kZSBpcyBAXG5cbmV4cG9ydCBmdW5jdGlvbiBpc0l0ZXJhdG9yU3RhcnQoXG4gIGN1cnJlbnQ6IG51bWJlcixcbiAgbmV4dDogbnVtYmVyLFxuICBuZXh0MjogbnVtYmVyLFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiAoXG4gICAgY3VycmVudCA9PT0gY2hhckNvZGVzLmF0U2lnbiAmJlxuICAgIG5leHQgPT09IGNoYXJDb2Rlcy5hdFNpZ24gJiZcbiAgICBpc0lkZW50aWZpZXJTdGFydChuZXh0MilcbiAgKTtcbn1cblxuLy8gVGhpcyBpcyB0aGUgY29tcHJlaGVuc2l2ZSBzZXQgb2YgSmF2YVNjcmlwdCByZXNlcnZlZCB3b3Jkc1xuLy8gSWYgYSB3b3JkIGlzIGluIHRoaXMgc2V0LCBpdCBjb3VsZCBiZSBhIHJlc2VydmVkIHdvcmQsXG4vLyBkZXBlbmRpbmcgb24gc291cmNlVHlwZS9zdHJpY3RNb2RlL2JpbmRpbmcgaW5mby4gSW4gb3RoZXIgd29yZHNcbi8vIGlmIGEgd29yZCBpcyBub3QgaW4gdGhpcyBzZXQsIGl0IGlzIG5vdCBhIHJlc2VydmVkIHdvcmQgdW5kZXJcbi8vIGFueSBjaXJjdW1zdGFuY2UuXG5jb25zdCByZXNlcnZlZFdvcmRMaWtlU2V0ID0gbmV3IFNldChbXG4gIFwiYnJlYWtcIixcbiAgXCJjYXNlXCIsXG4gIFwiY2F0Y2hcIixcbiAgXCJjb250aW51ZVwiLFxuICBcImRlYnVnZ2VyXCIsXG4gIFwiZGVmYXVsdFwiLFxuICBcImRvXCIsXG4gIFwiZWxzZVwiLFxuICBcImZpbmFsbHlcIixcbiAgXCJmb3JcIixcbiAgXCJmdW5jdGlvblwiLFxuICBcImlmXCIsXG4gIFwicmV0dXJuXCIsXG4gIFwic3dpdGNoXCIsXG4gIFwidGhyb3dcIixcbiAgXCJ0cnlcIixcbiAgXCJ2YXJcIixcbiAgXCJjb25zdFwiLFxuICBcIndoaWxlXCIsXG4gIFwid2l0aFwiLFxuICBcIm5ld1wiLFxuICBcInRoaXNcIixcbiAgXCJzdXBlclwiLFxuICBcImNsYXNzXCIsXG4gIFwiZXh0ZW5kc1wiLFxuICBcImV4cG9ydFwiLFxuICBcImltcG9ydFwiLFxuICBcIm51bGxcIixcbiAgXCJ0cnVlXCIsXG4gIFwiZmFsc2VcIixcbiAgXCJpblwiLFxuICBcImluc3RhbmNlb2ZcIixcbiAgXCJ0eXBlb2ZcIixcbiAgXCJ2b2lkXCIsXG4gIFwiZGVsZXRlXCIsXG4gIC8vIHN0cmljdFxuICBcImltcGxlbWVudHNcIixcbiAgXCJpbnRlcmZhY2VcIixcbiAgXCJsZXRcIixcbiAgXCJwYWNrYWdlXCIsXG4gIFwicHJpdmF0ZVwiLFxuICBcInByb3RlY3RlZFwiLFxuICBcInB1YmxpY1wiLFxuICBcInN0YXRpY1wiLFxuICBcInlpZWxkXCIsXG4gIC8vIHN0cmljdEJpbmRcbiAgXCJldmFsXCIsXG4gIFwiYXJndW1lbnRzXCIsXG4gIC8vIHJlc2VydmVkV29ya0xpa2VcbiAgXCJlbnVtXCIsXG4gIFwiYXdhaXRcIixcbl0pO1xuXG5leHBvcnQgZnVuY3Rpb24gY2FuQmVSZXNlcnZlZFdvcmQod29yZDogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiByZXNlcnZlZFdvcmRMaWtlU2V0Lmhhcyh3b3JkKTtcbn1cbiIsICJpbXBvcnQgeyBTY29wZUZsYWcsIEJpbmRpbmdGbGFnIH0gZnJvbSBcIi4vc2NvcGVmbGFncy50c1wiO1xuaW1wb3J0IHR5cGUgeyBQb3NpdGlvbiB9IGZyb20gXCIuL2xvY2F0aW9uLnRzXCI7XG5pbXBvcnQgdHlwZSAqIGFzIE4gZnJvbSBcIi4uL3R5cGVzLnRzXCI7XG5pbXBvcnQgeyBFcnJvcnMgfSBmcm9tIFwiLi4vcGFyc2UtZXJyb3IudHNcIjtcbmltcG9ydCB0eXBlIFRva2VuaXplciBmcm9tIFwiLi4vdG9rZW5pemVyL2luZGV4LnRzXCI7XG5cbmV4cG9ydCBjb25zdCBlbnVtIE5hbWVUeXBlIHtcbiAgLy8gdmFyLWRlY2xhcmVkIG5hbWVzIGluIHRoZSBjdXJyZW50IGxleGljYWwgc2NvcGVcbiAgVmFyID0gMSA8PCAwLFxuICAvLyBsZXhpY2FsbHktZGVjbGFyZWQgbmFtZXMgaW4gdGhlIGN1cnJlbnQgbGV4aWNhbCBzY29wZVxuICBMZXhpY2FsID0gMSA8PCAxLFxuICAvLyBsZXhpY2FsbHktZGVjbGFyZWQgRnVuY3Rpb25EZWNsYXJhdGlvbiBuYW1lcyBpbiB0aGUgY3VycmVudCBsZXhpY2FsIHNjb3BlXG4gIEZ1bmN0aW9uID0gMSA8PCAyLFxufVxuXG4vLyBTdGFydCBhbiBBU1Qgbm9kZSwgYXR0YWNoaW5nIGEgc3RhcnQgb2Zmc2V0LlxuZXhwb3J0IGNsYXNzIFNjb3BlIHtcbiAgZmxhZ3M6IFNjb3BlRmxhZyA9IDA7XG4gIG5hbWVzOiBNYXA8c3RyaW5nLCBOYW1lVHlwZT4gPSBuZXcgTWFwKCk7XG4gIGZpcnN0TGV4aWNhbE5hbWUgPSBcIlwiO1xuXG4gIGNvbnN0cnVjdG9yKGZsYWdzOiBTY29wZUZsYWcpIHtcbiAgICB0aGlzLmZsYWdzID0gZmxhZ3M7XG4gIH1cbn1cblxuLy8gVGhlIGZ1bmN0aW9ucyBpbiB0aGlzIG1vZHVsZSBrZWVwIHRyYWNrIG9mIGRlY2xhcmVkIHZhcmlhYmxlcyBpbiB0aGVcbi8vIGN1cnJlbnQgc2NvcGUgaW4gb3JkZXIgdG8gZGV0ZWN0IGR1cGxpY2F0ZSB2YXJpYWJsZSBuYW1lcy5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNjb3BlSGFuZGxlcjxJU2NvcGUgZXh0ZW5kcyBTY29wZSA9IFNjb3BlPiB7XG4gIHBhcnNlcjogVG9rZW5pemVyO1xuICBzY29wZVN0YWNrOiBBcnJheTxJU2NvcGU+ID0gW107XG4gIGluTW9kdWxlOiBib29sZWFuO1xuICB1bmRlZmluZWRFeHBvcnRzOiBNYXA8c3RyaW5nLCBQb3NpdGlvbj4gPSBuZXcgTWFwKCk7XG5cbiAgY29uc3RydWN0b3IocGFyc2VyOiBUb2tlbml6ZXIsIGluTW9kdWxlOiBib29sZWFuKSB7XG4gICAgdGhpcy5wYXJzZXIgPSBwYXJzZXI7XG4gICAgdGhpcy5pbk1vZHVsZSA9IGluTW9kdWxlO1xuICB9XG5cbiAgZ2V0IGluVG9wTGV2ZWwoKSB7XG4gICAgcmV0dXJuICh0aGlzLmN1cnJlbnRTY29wZSgpLmZsYWdzICYgU2NvcGVGbGFnLlBST0dSQU0pID4gMDtcbiAgfVxuICBnZXQgaW5GdW5jdGlvbigpIHtcbiAgICByZXR1cm4gKHRoaXMuY3VycmVudFZhclNjb3BlRmxhZ3MoKSAmIFNjb3BlRmxhZy5GVU5DVElPTikgPiAwO1xuICB9XG4gIGdldCBhbGxvd1N1cGVyKCkge1xuICAgIHJldHVybiAodGhpcy5jdXJyZW50VGhpc1Njb3BlRmxhZ3MoKSAmIFNjb3BlRmxhZy5TVVBFUikgPiAwO1xuICB9XG4gIGdldCBhbGxvd0RpcmVjdFN1cGVyKCkge1xuICAgIHJldHVybiAodGhpcy5jdXJyZW50VGhpc1Njb3BlRmxhZ3MoKSAmIFNjb3BlRmxhZy5ESVJFQ1RfU1VQRVIpID4gMDtcbiAgfVxuICBnZXQgaW5DbGFzcygpIHtcbiAgICByZXR1cm4gKHRoaXMuY3VycmVudFRoaXNTY29wZUZsYWdzKCkgJiBTY29wZUZsYWcuQ0xBU1MpID4gMDtcbiAgfVxuICBnZXQgaW5DbGFzc0FuZE5vdEluTm9uQXJyb3dGdW5jdGlvbigpIHtcbiAgICBjb25zdCBmbGFncyA9IHRoaXMuY3VycmVudFRoaXNTY29wZUZsYWdzKCk7XG4gICAgcmV0dXJuIChmbGFncyAmIFNjb3BlRmxhZy5DTEFTUykgPiAwICYmIChmbGFncyAmIFNjb3BlRmxhZy5GVU5DVElPTikgPT09IDA7XG4gIH1cbiAgZ2V0IGluU3RhdGljQmxvY2soKSB7XG4gICAgZm9yIChsZXQgaSA9IHRoaXMuc2NvcGVTdGFjay5sZW5ndGggLSAxOyA7IGktLSkge1xuICAgICAgY29uc3QgeyBmbGFncyB9ID0gdGhpcy5zY29wZVN0YWNrW2ldO1xuICAgICAgaWYgKGZsYWdzICYgU2NvcGVGbGFnLlNUQVRJQ19CTE9DSykge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChmbGFncyAmIChTY29wZUZsYWcuVkFSIHwgU2NvcGVGbGFnLkNMQVNTKSkge1xuICAgICAgICAvLyBmdW5jdGlvbiBib2R5LCBtb2R1bGUgYm9keSwgY2xhc3MgcHJvcGVydHkgaW5pdGlhbGl6ZXJzXG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZ2V0IGluTm9uQXJyb3dGdW5jdGlvbigpIHtcbiAgICByZXR1cm4gKHRoaXMuY3VycmVudFRoaXNTY29wZUZsYWdzKCkgJiBTY29wZUZsYWcuRlVOQ1RJT04pID4gMDtcbiAgfVxuICBnZXQgdHJlYXRGdW5jdGlvbnNBc1ZhcigpIHtcbiAgICByZXR1cm4gdGhpcy50cmVhdEZ1bmN0aW9uc0FzVmFySW5TY29wZSh0aGlzLmN1cnJlbnRTY29wZSgpKTtcbiAgfVxuXG4gIGNyZWF0ZVNjb3BlKGZsYWdzOiBTY29wZUZsYWcpOiBTY29wZSB7XG4gICAgcmV0dXJuIG5ldyBTY29wZShmbGFncyk7XG4gIH1cblxuICBlbnRlcihmbGFnczogU2NvcGVGbGFnKSB7XG4gICAgLyo6OiArY3JlYXRlU2NvcGU6IChmbGFnczpTY29wZUZsYWcpID0+IElTY29wZTsgKi9cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRoaXMgbWV0aG9kIHdpbGwgYmUgb3ZlcndyaXR0ZW4gYnkgc3ViY2xhc3Nlc1xuICAgIHRoaXMuc2NvcGVTdGFjay5wdXNoKHRoaXMuY3JlYXRlU2NvcGUoZmxhZ3MpKTtcbiAgfVxuXG4gIGV4aXQoKTogU2NvcGVGbGFnIHtcbiAgICBjb25zdCBzY29wZSA9IHRoaXMuc2NvcGVTdGFjay5wb3AoKTtcbiAgICByZXR1cm4gc2NvcGUuZmxhZ3M7XG4gIH1cblxuICAvLyBUaGUgc3BlYyBzYXlzOlxuICAvLyA+IEF0IHRoZSB0b3AgbGV2ZWwgb2YgYSBmdW5jdGlvbiwgb3Igc2NyaXB0LCBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlXG4gIC8vID4gdHJlYXRlZCBsaWtlIHZhciBkZWNsYXJhdGlvbnMgcmF0aGVyIHRoYW4gbGlrZSBsZXhpY2FsIGRlY2xhcmF0aW9ucy5cbiAgdHJlYXRGdW5jdGlvbnNBc1ZhckluU2NvcGUoc2NvcGU6IElTY29wZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhIShcbiAgICAgIHNjb3BlLmZsYWdzICYgKFNjb3BlRmxhZy5GVU5DVElPTiB8IFNjb3BlRmxhZy5TVEFUSUNfQkxPQ0spIHx8XG4gICAgICAoIXRoaXMucGFyc2VyLmluTW9kdWxlICYmIHNjb3BlLmZsYWdzICYgU2NvcGVGbGFnLlBST0dSQU0pXG4gICAgKTtcbiAgfVxuXG4gIGRlY2xhcmVOYW1lKG5hbWU6IHN0cmluZywgYmluZGluZ1R5cGU6IEJpbmRpbmdGbGFnLCBsb2M6IFBvc2l0aW9uKSB7XG4gICAgbGV0IHNjb3BlID0gdGhpcy5jdXJyZW50U2NvcGUoKTtcbiAgICBpZiAoXG4gICAgICBiaW5kaW5nVHlwZSAmIEJpbmRpbmdGbGFnLlNDT1BFX0xFWElDQUwgfHxcbiAgICAgIGJpbmRpbmdUeXBlICYgQmluZGluZ0ZsYWcuU0NPUEVfRlVOQ1RJT05cbiAgICApIHtcbiAgICAgIHRoaXMuY2hlY2tSZWRlY2xhcmF0aW9uSW5TY29wZShzY29wZSwgbmFtZSwgYmluZGluZ1R5cGUsIGxvYyk7XG5cbiAgICAgIGxldCB0eXBlID0gc2NvcGUubmFtZXMuZ2V0KG5hbWUpIHx8IDA7XG5cbiAgICAgIGlmIChiaW5kaW5nVHlwZSAmIEJpbmRpbmdGbGFnLlNDT1BFX0ZVTkNUSU9OKSB7XG4gICAgICAgIHR5cGUgPSB0eXBlIHwgTmFtZVR5cGUuRnVuY3Rpb247XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoIXNjb3BlLmZpcnN0TGV4aWNhbE5hbWUpIHtcbiAgICAgICAgICBzY29wZS5maXJzdExleGljYWxOYW1lID0gbmFtZTtcbiAgICAgICAgfVxuICAgICAgICB0eXBlID0gdHlwZSB8IE5hbWVUeXBlLkxleGljYWw7XG4gICAgICB9XG5cbiAgICAgIHNjb3BlLm5hbWVzLnNldChuYW1lLCB0eXBlKTtcblxuICAgICAgaWYgKGJpbmRpbmdUeXBlICYgQmluZGluZ0ZsYWcuU0NPUEVfTEVYSUNBTCkge1xuICAgICAgICB0aGlzLm1heWJlRXhwb3J0RGVmaW5lZChzY29wZSwgbmFtZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChiaW5kaW5nVHlwZSAmIEJpbmRpbmdGbGFnLlNDT1BFX1ZBUikge1xuICAgICAgZm9yIChsZXQgaSA9IHRoaXMuc2NvcGVTdGFjay5sZW5ndGggLSAxOyBpID49IDA7IC0taSkge1xuICAgICAgICBzY29wZSA9IHRoaXMuc2NvcGVTdGFja1tpXTtcbiAgICAgICAgdGhpcy5jaGVja1JlZGVjbGFyYXRpb25JblNjb3BlKHNjb3BlLCBuYW1lLCBiaW5kaW5nVHlwZSwgbG9jKTtcbiAgICAgICAgc2NvcGUubmFtZXMuc2V0KG5hbWUsIChzY29wZS5uYW1lcy5nZXQobmFtZSkgfHwgMCkgfCBOYW1lVHlwZS5WYXIpO1xuICAgICAgICB0aGlzLm1heWJlRXhwb3J0RGVmaW5lZChzY29wZSwgbmFtZSk7XG5cbiAgICAgICAgaWYgKHNjb3BlLmZsYWdzICYgU2NvcGVGbGFnLlZBUikgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLnBhcnNlci5pbk1vZHVsZSAmJiBzY29wZS5mbGFncyAmIFNjb3BlRmxhZy5QUk9HUkFNKSB7XG4gICAgICB0aGlzLnVuZGVmaW5lZEV4cG9ydHMuZGVsZXRlKG5hbWUpO1xuICAgIH1cbiAgfVxuXG4gIG1heWJlRXhwb3J0RGVmaW5lZChzY29wZTogSVNjb3BlLCBuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5wYXJzZXIuaW5Nb2R1bGUgJiYgc2NvcGUuZmxhZ3MgJiBTY29wZUZsYWcuUFJPR1JBTSkge1xuICAgICAgdGhpcy51bmRlZmluZWRFeHBvcnRzLmRlbGV0ZShuYW1lKTtcbiAgICB9XG4gIH1cblxuICBjaGVja1JlZGVjbGFyYXRpb25JblNjb3BlKFxuICAgIHNjb3BlOiBJU2NvcGUsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGJpbmRpbmdUeXBlOiBCaW5kaW5nRmxhZyxcbiAgICBsb2M6IFBvc2l0aW9uLFxuICApIHtcbiAgICBpZiAodGhpcy5pc1JlZGVjbGFyZWRJblNjb3BlKHNjb3BlLCBuYW1lLCBiaW5kaW5nVHlwZSkpIHtcbiAgICAgIHRoaXMucGFyc2VyLnJhaXNlKEVycm9ycy5WYXJSZWRlY2xhcmF0aW9uLCBsb2MsIHtcbiAgICAgICAgaWRlbnRpZmllck5hbWU6IG5hbWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBpc1JlZGVjbGFyZWRJblNjb3BlKFxuICAgIHNjb3BlOiBJU2NvcGUsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGJpbmRpbmdUeXBlOiBCaW5kaW5nRmxhZyxcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKCEoYmluZGluZ1R5cGUgJiBCaW5kaW5nRmxhZy5LSU5EX1ZBTFVFKSkgcmV0dXJuIGZhbHNlO1xuXG4gICAgaWYgKGJpbmRpbmdUeXBlICYgQmluZGluZ0ZsYWcuU0NPUEVfTEVYSUNBTCkge1xuICAgICAgcmV0dXJuIHNjb3BlLm5hbWVzLmhhcyhuYW1lKTtcbiAgICB9XG5cbiAgICBjb25zdCB0eXBlID0gc2NvcGUubmFtZXMuZ2V0KG5hbWUpO1xuXG4gICAgaWYgKGJpbmRpbmdUeXBlICYgQmluZGluZ0ZsYWcuU0NPUEVfRlVOQ1RJT04pIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICh0eXBlICYgTmFtZVR5cGUuTGV4aWNhbCkgPiAwIHx8XG4gICAgICAgICghdGhpcy50cmVhdEZ1bmN0aW9uc0FzVmFySW5TY29wZShzY29wZSkgJiYgKHR5cGUgJiBOYW1lVHlwZS5WYXIpID4gMClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgICgodHlwZSAmIE5hbWVUeXBlLkxleGljYWwpID4gMCAmJlxuICAgICAgICAvLyBBbm5leCBCLjMuNFxuICAgICAgICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLXZhcmlhYmxlc3RhdGVtZW50cy1pbi1jYXRjaC1ibG9ja3NcbiAgICAgICAgIShcbiAgICAgICAgICBzY29wZS5mbGFncyAmIFNjb3BlRmxhZy5TSU1QTEVfQ0FUQ0ggJiZcbiAgICAgICAgICBzY29wZS5maXJzdExleGljYWxOYW1lID09PSBuYW1lXG4gICAgICAgICkpIHx8XG4gICAgICAoIXRoaXMudHJlYXRGdW5jdGlvbnNBc1ZhckluU2NvcGUoc2NvcGUpICYmXG4gICAgICAgICh0eXBlICYgTmFtZVR5cGUuRnVuY3Rpb24pID4gMClcbiAgICApO1xuICB9XG5cbiAgY2hlY2tMb2NhbEV4cG9ydChpZDogTi5JZGVudGlmaWVyKSB7XG4gICAgY29uc3QgeyBuYW1lIH0gPSBpZDtcbiAgICBjb25zdCB0b3BMZXZlbFNjb3BlID0gdGhpcy5zY29wZVN0YWNrWzBdO1xuICAgIGlmICghdG9wTGV2ZWxTY29wZS5uYW1lcy5oYXMobmFtZSkpIHtcbiAgICAgIHRoaXMudW5kZWZpbmVkRXhwb3J0cy5zZXQobmFtZSwgaWQubG9jLnN0YXJ0KTtcbiAgICB9XG4gIH1cblxuICBjdXJyZW50U2NvcGUoKTogSVNjb3BlIHtcbiAgICByZXR1cm4gdGhpcy5zY29wZVN0YWNrW3RoaXMuc2NvcGVTdGFjay5sZW5ndGggLSAxXTtcbiAgfVxuXG4gIGN1cnJlbnRWYXJTY29wZUZsYWdzKCk6IFNjb3BlRmxhZyB7XG4gICAgZm9yIChsZXQgaSA9IHRoaXMuc2NvcGVTdGFjay5sZW5ndGggLSAxOyA7IGktLSkge1xuICAgICAgY29uc3QgeyBmbGFncyB9ID0gdGhpcy5zY29wZVN0YWNrW2ldO1xuICAgICAgaWYgKGZsYWdzICYgU2NvcGVGbGFnLlZBUikge1xuICAgICAgICByZXR1cm4gZmxhZ3M7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ291bGQgYmUgdXNlZnVsIGZvciBgYXJndW1lbnRzYCwgYHRoaXNgLCBgbmV3LnRhcmdldGAsIGBzdXBlcigpYCwgYHN1cGVyLnByb3BlcnR5YCwgYW5kIGBzdXBlcltwcm9wZXJ0eV1gLlxuICBjdXJyZW50VGhpc1Njb3BlRmxhZ3MoKTogU2NvcGVGbGFnIHtcbiAgICBmb3IgKGxldCBpID0gdGhpcy5zY29wZVN0YWNrLmxlbmd0aCAtIDE7IDsgaS0tKSB7XG4gICAgICBjb25zdCB7IGZsYWdzIH0gPSB0aGlzLnNjb3BlU3RhY2tbaV07XG4gICAgICBpZiAoXG4gICAgICAgIGZsYWdzICYgKFNjb3BlRmxhZy5WQVIgfCBTY29wZUZsYWcuQ0xBU1MpICYmXG4gICAgICAgICEoZmxhZ3MgJiBTY29wZUZsYWcuQVJST1cpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIGZsYWdzO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwgImltcG9ydCB0eXBlIHsgUG9zaXRpb24gfSBmcm9tIFwiLi4vLi4vdXRpbC9sb2NhdGlvbi50c1wiO1xuaW1wb3J0IFNjb3BlSGFuZGxlciwgeyBOYW1lVHlwZSwgU2NvcGUgfSBmcm9tIFwiLi4vLi4vdXRpbC9zY29wZS50c1wiO1xuaW1wb3J0IHsgQmluZGluZ0ZsYWcsIHR5cGUgU2NvcGVGbGFnIH0gZnJvbSBcIi4uLy4uL3V0aWwvc2NvcGVmbGFncy50c1wiO1xuaW1wb3J0IHR5cGUgKiBhcyBOIGZyb20gXCIuLi8uLi90eXBlcy50c1wiO1xuXG4vLyBSZWZlcmVuY2UgaW1wbGVtZW50YXRpb246IGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9mbG93L2Jsb2IvMjNhZWIyYTJlZjZlYjQyNDFjZTE3OGZkZTVkOGYxN2M1Zjc0N2ZiNS9zcmMvdHlwaW5nL2Vudi5tbCNMNTM2LUw1ODRcbmNsYXNzIEZsb3dTY29wZSBleHRlbmRzIFNjb3BlIHtcbiAgLy8gZGVjbGFyZSBmdW5jdGlvbiBmb28oKTogdHlwZTtcbiAgZGVjbGFyZUZ1bmN0aW9uczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEZsb3dTY29wZUhhbmRsZXIgZXh0ZW5kcyBTY29wZUhhbmRsZXI8Rmxvd1Njb3BlPiB7XG4gIGNyZWF0ZVNjb3BlKGZsYWdzOiBTY29wZUZsYWcpOiBGbG93U2NvcGUge1xuICAgIHJldHVybiBuZXcgRmxvd1Njb3BlKGZsYWdzKTtcbiAgfVxuXG4gIGRlY2xhcmVOYW1lKG5hbWU6IHN0cmluZywgYmluZGluZ1R5cGU6IEJpbmRpbmdGbGFnLCBsb2M6IFBvc2l0aW9uKSB7XG4gICAgY29uc3Qgc2NvcGUgPSB0aGlzLmN1cnJlbnRTY29wZSgpO1xuICAgIGlmIChiaW5kaW5nVHlwZSAmIEJpbmRpbmdGbGFnLkZMQUdfRkxPV19ERUNMQVJFX0ZOKSB7XG4gICAgICB0aGlzLmNoZWNrUmVkZWNsYXJhdGlvbkluU2NvcGUoc2NvcGUsIG5hbWUsIGJpbmRpbmdUeXBlLCBsb2MpO1xuICAgICAgdGhpcy5tYXliZUV4cG9ydERlZmluZWQoc2NvcGUsIG5hbWUpO1xuICAgICAgc2NvcGUuZGVjbGFyZUZ1bmN0aW9ucy5hZGQobmFtZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3VwZXIuZGVjbGFyZU5hbWUobmFtZSwgYmluZGluZ1R5cGUsIGxvYyk7XG4gIH1cblxuICBpc1JlZGVjbGFyZWRJblNjb3BlKFxuICAgIHNjb3BlOiBGbG93U2NvcGUsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGJpbmRpbmdUeXBlOiBCaW5kaW5nRmxhZyxcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKHN1cGVyLmlzUmVkZWNsYXJlZEluU2NvcGUoc2NvcGUsIG5hbWUsIGJpbmRpbmdUeXBlKSkgcmV0dXJuIHRydWU7XG5cbiAgICBpZiAoXG4gICAgICBiaW5kaW5nVHlwZSAmIEJpbmRpbmdGbGFnLkZMQUdfRkxPV19ERUNMQVJFX0ZOICYmXG4gICAgICAhc2NvcGUuZGVjbGFyZUZ1bmN0aW9ucy5oYXMobmFtZSlcbiAgICApIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBzY29wZS5uYW1lcy5nZXQobmFtZSk7XG4gICAgICByZXR1cm4gKHR5cGUgJiBOYW1lVHlwZS5GdW5jdGlvbikgPiAwIHx8ICh0eXBlICYgTmFtZVR5cGUuTGV4aWNhbCkgPiAwO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNoZWNrTG9jYWxFeHBvcnQoaWQ6IE4uSWRlbnRpZmllcikge1xuICAgIGlmICghdGhpcy5zY29wZVN0YWNrWzBdLmRlY2xhcmVGdW5jdGlvbnMuaGFzKGlkLm5hbWUpKSB7XG4gICAgICBzdXBlci5jaGVja0xvY2FsRXhwb3J0KGlkKTtcbiAgICB9XG4gIH1cbn1cbiIsICJpbXBvcnQgdHlwZSB7IE9wdGlvbnMgfSBmcm9tIFwiLi4vb3B0aW9ucy50c1wiO1xuaW1wb3J0IHR5cGUgU3RhdGUgZnJvbSBcIi4uL3Rva2VuaXplci9zdGF0ZS50c1wiO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5zTWFwIH0gZnJvbSBcIi4vaW5kZXgudHNcIjtcbmltcG9ydCB0eXBlIFNjb3BlSGFuZGxlciBmcm9tIFwiLi4vdXRpbC9zY29wZS50c1wiO1xuaW1wb3J0IHR5cGUgRXhwcmVzc2lvblNjb3BlSGFuZGxlciBmcm9tIFwiLi4vdXRpbC9leHByZXNzaW9uLXNjb3BlLnRzXCI7XG5pbXBvcnQgdHlwZSBDbGFzc1Njb3BlSGFuZGxlciBmcm9tIFwiLi4vdXRpbC9jbGFzcy1zY29wZS50c1wiO1xuaW1wb3J0IHR5cGUgUHJvZHVjdGlvblBhcmFtZXRlckhhbmRsZXIgZnJvbSBcIi4uL3V0aWwvcHJvZHVjdGlvbi1wYXJhbWV0ZXIudHNcIjtcbmltcG9ydCB0eXBlIHtcbiAgUGFyc2VyUGx1Z2luV2l0aE9wdGlvbnMsXG4gIFBsdWdpbkNvbmZpZyxcbiAgUGx1Z2luT3B0aW9ucyxcbn0gZnJvbSBcIi4uL3R5cGluZ3MudHNcIjtcbmltcG9ydCB0eXBlICogYXMgTiBmcm9tIFwiLi4vdHlwZXMudHNcIjtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQmFzZVBhcnNlciB7XG4gIC8vIFByb3BlcnRpZXMgc2V0IGJ5IGNvbnN0cnVjdG9yIGluIGluZGV4LmpzXG4gIGRlY2xhcmUgb3B0aW9uczogT3B0aW9ucztcbiAgZGVjbGFyZSBpbk1vZHVsZTogYm9vbGVhbjtcbiAgZGVjbGFyZSBzY29wZTogU2NvcGVIYW5kbGVyPGFueT47XG4gIGRlY2xhcmUgY2xhc3NTY29wZTogQ2xhc3NTY29wZUhhbmRsZXI7XG4gIGRlY2xhcmUgcHJvZFBhcmFtOiBQcm9kdWN0aW9uUGFyYW1ldGVySGFuZGxlcjtcbiAgZGVjbGFyZSBleHByZXNzaW9uU2NvcGU6IEV4cHJlc3Npb25TY29wZUhhbmRsZXI7XG4gIGRlY2xhcmUgcGx1Z2luczogUGx1Z2luc01hcDtcbiAgZGVjbGFyZSBmaWxlbmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbDtcbiAgZGVjbGFyZSBzdGFydEluZGV4OiBudW1iZXI7XG4gIC8vIE5hbWVzIG9mIGV4cG9ydHMgc3RvcmUuIGBkZWZhdWx0YCBpcyBzdG9yZWQgYXMgYSBuYW1lIGZvciBib3RoXG4gIC8vIGBleHBvcnQgZGVmYXVsdCBmb287YCBhbmQgYGV4cG9ydCB7IGZvbyBhcyBkZWZhdWx0IH07YC5cbiAgZGVjbGFyZSBleHBvcnRlZElkZW50aWZpZXJzOiBTZXQ8c3RyaW5nPjtcbiAgc2F3VW5hbWJpZ3VvdXNFU006IGJvb2xlYW4gPSBmYWxzZTtcbiAgYW1iaWd1b3VzU2NyaXB0RGlmZmVyZW50QXN0OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLy8gSW5pdGlhbGl6ZWQgYnkgVG9rZW5pemVyXG4gIGRlY2xhcmUgc3RhdGU6IFN0YXRlO1xuICAvLyBpbnB1dCBhbmQgbGVuZ3RoIGFyZSBub3QgaW4gc3RhdGUgYXMgdGhleSBhcmUgY29uc3RhbnQgYW5kIHdlIGRvXG4gIC8vIG5vdCB3YW50IHRvIGV2ZXIgY29weSB0aGVtLCB3aGljaCBoYXBwZW5zIGlmIHN0YXRlIGdldHMgY2xvbmVkXG4gIGRlY2xhcmUgaW5wdXQ6IHN0cmluZztcbiAgZGVjbGFyZSBsZW5ndGg6IG51bWJlcjtcbiAgLy8gQ29tbWVudCBzdG9yZSBmb3IgUHJvZ3JhbS5jb21tZW50c1xuICBkZWNsYXJlIGNvbW1lbnRzOiBBcnJheTxOLkNvbW1lbnQ+O1xuXG4gIHNvdXJjZVRvT2Zmc2V0UG9zKHNvdXJjZVBvczogbnVtYmVyKSB7XG4gICAgcmV0dXJuIHNvdXJjZVBvcyArIHRoaXMuc3RhcnRJbmRleDtcbiAgfVxuXG4gIG9mZnNldFRvU291cmNlUG9zKG9mZnNldFBvczogbnVtYmVyKSB7XG4gICAgcmV0dXJuIG9mZnNldFBvcyAtIHRoaXMuc3RhcnRJbmRleDtcbiAgfVxuXG4gIC8vIFRoaXMgbWV0aG9kIGFjY2VwdHMgZWl0aGVyIGEgc3RyaW5nIChwbHVnaW4gbmFtZSkgb3IgYW4gYXJyYXkgcGFpclxuICAvLyAocGx1Z2luIG5hbWUgYW5kIG9wdGlvbnMgb2JqZWN0KS4gSWYgYW4gb3B0aW9ucyBvYmplY3QgaXMgZ2l2ZW4sXG4gIC8vIHRoZW4gZWFjaCB2YWx1ZSBpcyBub24tcmVjdXJzaXZlbHkgY2hlY2tlZCBmb3IgaWRlbnRpdHkgd2l0aCB0aGF0XG4gIC8vIHBsdWdpbuKAmXMgYWN0dWFsIG9wdGlvbiB2YWx1ZS5cbiAgaGFzUGx1Z2luKHBsdWdpbkNvbmZpZzogUGx1Z2luQ29uZmlnKTogYm9vbGVhbiB7XG4gICAgaWYgKHR5cGVvZiBwbHVnaW5Db25maWcgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJldHVybiB0aGlzLnBsdWdpbnMuaGFzKHBsdWdpbkNvbmZpZyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IFtwbHVnaW5OYW1lLCBwbHVnaW5PcHRpb25zXSA9IHBsdWdpbkNvbmZpZztcbiAgICAgIGlmICghdGhpcy5oYXNQbHVnaW4ocGx1Z2luTmFtZSkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgY29uc3QgYWN0dWFsT3B0aW9ucyA9IHRoaXMucGx1Z2lucy5nZXQocGx1Z2luTmFtZSk7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhcbiAgICAgICAgcGx1Z2luT3B0aW9ucyxcbiAgICAgICkgYXMgKGtleW9mIHR5cGVvZiBwbHVnaW5PcHRpb25zKVtdKSB7XG4gICAgICAgIGlmIChhY3R1YWxPcHRpb25zPy5ba2V5XSAhPT0gcGx1Z2luT3B0aW9uc1trZXldKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBnZXRQbHVnaW5PcHRpb248XG4gICAgUGx1Z2luTmFtZSBleHRlbmRzIFBhcnNlclBsdWdpbldpdGhPcHRpb25zWzBdLFxuICAgIE9wdGlvbk5hbWUgZXh0ZW5kcyBrZXlvZiBQbHVnaW5PcHRpb25zPFBsdWdpbk5hbWU+LFxuICA+KHBsdWdpbjogUGx1Z2luTmFtZSwgbmFtZTogT3B0aW9uTmFtZSkge1xuICAgIHJldHVybiAodGhpcy5wbHVnaW5zLmdldChwbHVnaW4pIGFzIG51bGwgfCBQbHVnaW5PcHRpb25zPFBsdWdpbk5hbWU+KT8uW1xuICAgICAgbmFtZVxuICAgIF07XG4gIH1cbn1cbiIsICIvKjo6IGRlY2xhcmUgdmFyIGludmFyaWFudDsgKi9cblxuaW1wb3J0IEJhc2VQYXJzZXIgZnJvbSBcIi4vYmFzZS50c1wiO1xuaW1wb3J0IHR5cGUgeyBDb21tZW50LCBOb2RlLCBJZGVudGlmaWVyIH0gZnJvbSBcIi4uL3R5cGVzLnRzXCI7XG5pbXBvcnQgKiBhcyBjaGFyQ29kZXMgZnJvbSBcImNoYXJjb2Rlc1wiO1xuaW1wb3J0IHR5cGUgeyBVbmRvbmUgfSBmcm9tIFwiLi9ub2RlLnRzXCI7XG5cbi8qKlxuICogQSB3aGl0ZXNwYWNlIHRva2VuIGNvbnRhaW5pbmcgY29tbWVudHNcbiAqL1xuZXhwb3J0IHR5cGUgQ29tbWVudFdoaXRlc3BhY2UgPSB7XG4gIC8qKlxuICAgKiB0aGUgc3RhcnQgb2YgdGhlIHdoaXRlc3BhY2UgdG9rZW4uXG4gICAqL1xuICBzdGFydDogbnVtYmVyO1xuICAvKipcbiAgICogdGhlIGVuZCBvZiB0aGUgd2hpdGVzcGFjZSB0b2tlbi5cbiAgICovXG4gIGVuZDogbnVtYmVyO1xuICAvKipcbiAgICogdGhlIGNvbnRhaW5pbmcgY29tbWVudHNcbiAgICovXG4gIGNvbW1lbnRzOiBBcnJheTxDb21tZW50PjtcbiAgLyoqXG4gICAqIHRoZSBpbW1lZGlhdGVseSBwcmVjZWRpbmcgQVNUIG5vZGUgb2YgdGhlIHdoaXRlc3BhY2UgdG9rZW5cbiAgICovXG4gIGxlYWRpbmdOb2RlOiBOb2RlIHwgbnVsbDtcbiAgLyoqXG4gICAqIHRoZSBpbW1lZGlhdGVseSBmb2xsb3dpbmcgQVNUIG5vZGUgb2YgdGhlIHdoaXRlc3BhY2UgdG9rZW5cbiAgICovXG4gIHRyYWlsaW5nTm9kZTogTm9kZSB8IG51bGw7XG4gIC8qKlxuICAgKiB0aGUgaW5uZXJtb3N0IEFTVCBub2RlIGNvbnRhaW5pbmcgdGhlIHdoaXRlc3BhY2Ugd2l0aCBtaW5pbWFsIHNpemUgKHxlbmQgLSBzdGFydHwpXG4gICAqL1xuICBjb250YWluaW5nTm9kZTogTm9kZSB8IG51bGw7XG59O1xuXG4vKipcbiAqIE1lcmdlIGNvbW1lbnRzIHdpdGggbm9kZSdzIHRyYWlsaW5nQ29tbWVudHMgb3IgYXNzaWduIGNvbW1lbnRzIHRvIGJlXG4gKiB0cmFpbGluZ0NvbW1lbnRzLiBOZXcgY29tbWVudHMgd2lsbCBiZSBwbGFjZWQgYmVmb3JlIG9sZCBjb21tZW50c1xuICogYmVjYXVzZSB0aGUgY29tbWVudFN0YWNrIGlzIGVudW1lcmF0ZWQgcmV2ZXJzZWx5LlxuICovXG5mdW5jdGlvbiBzZXRUcmFpbGluZ0NvbW1lbnRzKG5vZGU6IFVuZG9uZTxOb2RlPiwgY29tbWVudHM6IEFycmF5PENvbW1lbnQ+KSB7XG4gIGlmIChub2RlLnRyYWlsaW5nQ29tbWVudHMgPT09IHVuZGVmaW5lZCkge1xuICAgIG5vZGUudHJhaWxpbmdDb21tZW50cyA9IGNvbW1lbnRzO1xuICB9IGVsc2Uge1xuICAgIG5vZGUudHJhaWxpbmdDb21tZW50cy51bnNoaWZ0KC4uLmNvbW1lbnRzKTtcbiAgfVxufVxuXG4vKipcbiAqIE1lcmdlIGNvbW1lbnRzIHdpdGggbm9kZSdzIGxlYWRpbmdDb21tZW50cyBvciBhc3NpZ24gY29tbWVudHMgdG8gYmVcbiAqIGxlYWRpbmdDb21tZW50cy4gTmV3IGNvbW1lbnRzIHdpbGwgYmUgcGxhY2VkIGJlZm9yZSBvbGQgY29tbWVudHNcbiAqIGJlY2F1c2UgdGhlIGNvbW1lbnRTdGFjayBpcyBlbnVtZXJhdGVkIHJldmVyc2VseS5cbiAqL1xuZnVuY3Rpb24gc2V0TGVhZGluZ0NvbW1lbnRzKG5vZGU6IFVuZG9uZTxOb2RlPiwgY29tbWVudHM6IEFycmF5PENvbW1lbnQ+KSB7XG4gIGlmIChub2RlLmxlYWRpbmdDb21tZW50cyA9PT0gdW5kZWZpbmVkKSB7XG4gICAgbm9kZS5sZWFkaW5nQ29tbWVudHMgPSBjb21tZW50cztcbiAgfSBlbHNlIHtcbiAgICBub2RlLmxlYWRpbmdDb21tZW50cy51bnNoaWZ0KC4uLmNvbW1lbnRzKTtcbiAgfVxufVxuXG4vKipcbiAqIE1lcmdlIGNvbW1lbnRzIHdpdGggbm9kZSdzIGlubmVyQ29tbWVudHMgb3IgYXNzaWduIGNvbW1lbnRzIHRvIGJlXG4gKiBpbm5lckNvbW1lbnRzLiBOZXcgY29tbWVudHMgd2lsbCBiZSBwbGFjZWQgYmVmb3JlIG9sZCBjb21tZW50c1xuICogYmVjYXVzZSB0aGUgY29tbWVudFN0YWNrIGlzIGVudW1lcmF0ZWQgcmV2ZXJzZWx5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0SW5uZXJDb21tZW50cyhcbiAgbm9kZTogVW5kb25lPE5vZGU+LFxuICBjb21tZW50cz86IEFycmF5PENvbW1lbnQ+LFxuKSB7XG4gIGlmIChub2RlLmlubmVyQ29tbWVudHMgPT09IHVuZGVmaW5lZCkge1xuICAgIG5vZGUuaW5uZXJDb21tZW50cyA9IGNvbW1lbnRzO1xuICB9IGVsc2Uge1xuICAgIG5vZGUuaW5uZXJDb21tZW50cy51bnNoaWZ0KC4uLmNvbW1lbnRzKTtcbiAgfVxufVxuXG4vKipcbiAqIEdpdmVuIG5vZGUgYW5kIGVsZW1lbnRzIGFycmF5LCBpZiBlbGVtZW50cyBoYXMgbm9uLW51bGwgZWxlbWVudCxcbiAqIG1lcmdlIGNvbW1lbnRzIHRvIGl0cyB0cmFpbGluZ0NvbW1lbnRzLCBvdGhlcndpc2UgbWVyZ2UgY29tbWVudHNcbiAqIHRvIG5vZGUncyBpbm5lckNvbW1lbnRzXG4gKi9cbmZ1bmN0aW9uIGFkanVzdElubmVyQ29tbWVudHMoXG4gIG5vZGU6IFVuZG9uZTxOb2RlPixcbiAgZWxlbWVudHM6IEFycmF5PE5vZGU+LFxuICBjb21tZW50V1M6IENvbW1lbnRXaGl0ZXNwYWNlLFxuKSB7XG4gIGxldCBsYXN0RWxlbWVudCA9IG51bGw7XG4gIGxldCBpID0gZWxlbWVudHMubGVuZ3RoO1xuICB3aGlsZSAobGFzdEVsZW1lbnQgPT09IG51bGwgJiYgaSA+IDApIHtcbiAgICBsYXN0RWxlbWVudCA9IGVsZW1lbnRzWy0taV07XG4gIH1cbiAgaWYgKGxhc3RFbGVtZW50ID09PSBudWxsIHx8IGxhc3RFbGVtZW50LnN0YXJ0ID4gY29tbWVudFdTLnN0YXJ0KSB7XG4gICAgc2V0SW5uZXJDb21tZW50cyhub2RlLCBjb21tZW50V1MuY29tbWVudHMpO1xuICB9IGVsc2Uge1xuICAgIHNldFRyYWlsaW5nQ29tbWVudHMobGFzdEVsZW1lbnQsIGNvbW1lbnRXUy5jb21tZW50cyk7XG4gIH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ29tbWVudHNQYXJzZXIgZXh0ZW5kcyBCYXNlUGFyc2VyIHtcbiAgYWRkQ29tbWVudChjb21tZW50OiBDb21tZW50KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZmlsZW5hbWUpIGNvbW1lbnQubG9jLmZpbGVuYW1lID0gdGhpcy5maWxlbmFtZTtcbiAgICBjb25zdCB7IGNvbW1lbnRzTGVuIH0gPSB0aGlzLnN0YXRlO1xuICAgIGlmICh0aGlzLmNvbW1lbnRzLmxlbmd0aCAhPT0gY29tbWVudHNMZW4pIHtcbiAgICAgIHRoaXMuY29tbWVudHMubGVuZ3RoID0gY29tbWVudHNMZW47XG4gICAgfVxuICAgIHRoaXMuY29tbWVudHMucHVzaChjb21tZW50KTtcbiAgICB0aGlzLnN0YXRlLmNvbW1lbnRzTGVuKys7XG4gIH1cblxuICAvKipcbiAgICogR2l2ZW4gYSBuZXdseSBjcmVhdGVkIEFTVCBub2RlIF9uXywgYXR0YWNoIF9uXyB0byBhIGNvbW1lbnQgd2hpdGVzcGFjZSBfd18gaWYgYXBwbGljYWJsZVxuICAgKiB7QHNlZSB7QGxpbmsgQ29tbWVudFdoaXRlc3BhY2V9fVxuICAgKi9cbiAgcHJvY2Vzc0NvbW1lbnQobm9kZTogTm9kZSk6IHZvaWQge1xuICAgIGNvbnN0IHsgY29tbWVudFN0YWNrIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IGNvbW1lbnRTdGFja0xlbmd0aCA9IGNvbW1lbnRTdGFjay5sZW5ndGg7XG4gICAgaWYgKGNvbW1lbnRTdGFja0xlbmd0aCA9PT0gMCkgcmV0dXJuO1xuICAgIGxldCBpID0gY29tbWVudFN0YWNrTGVuZ3RoIC0gMTtcbiAgICBjb25zdCBsYXN0Q29tbWVudFdTID0gY29tbWVudFN0YWNrW2ldO1xuXG4gICAgaWYgKGxhc3RDb21tZW50V1Muc3RhcnQgPT09IG5vZGUuZW5kKSB7XG4gICAgICBsYXN0Q29tbWVudFdTLmxlYWRpbmdOb2RlID0gbm9kZTtcbiAgICAgIGktLTtcbiAgICB9XG5cbiAgICBjb25zdCB7IHN0YXJ0OiBub2RlU3RhcnQgfSA9IG5vZGU7XG4gICAgLy8gaW52YXJpYW50OiBmb3IgYWxsIDAgPD0gaiA8PSBpLCBsZXQgYyA9IGNvbW1lbnRTdGFja1tqXSwgYyBtdXN0IHNhdGlzZnkgYy5lbmQgPCBub2RlLmVuZFxuICAgIGZvciAoOyBpID49IDA7IGktLSkge1xuICAgICAgY29uc3QgY29tbWVudFdTID0gY29tbWVudFN0YWNrW2ldO1xuICAgICAgY29uc3QgY29tbWVudEVuZCA9IGNvbW1lbnRXUy5lbmQ7XG4gICAgICBpZiAoY29tbWVudEVuZCA+IG5vZGVTdGFydCkge1xuICAgICAgICAvLyBieSBkZWZpbml0aW9uIG9mIGNvbW1lbnRXaGl0ZVNwYWNlLCB0aGlzIGltcGxpZXMgY29tbWVudFdTLnN0YXJ0ID4gbm9kZVN0YXJ0XG4gICAgICAgIC8vIHNvIG5vZGUgY2FuIGJlIGEgY29udGFpbmluZ05vZGUgY2FuZGlkYXRlLiBBdCB0aGlzIHRpbWUgd2UgY2FuIGZpbmFsaXplIHRoZSBjb21tZW50XG4gICAgICAgIC8vIHdoaXRlc3BhY2UsIGJlY2F1c2VcbiAgICAgICAgLy8gMSkgaXRzIGxlYWRpbmdOb2RlIG9yIHRyYWlsaW5nTm9kZSwgaWYgZXhpc3RzLCB3aWxsIG5vdCBjaGFuZ2VcbiAgICAgICAgLy8gMikgaXRzIGNvbnRhaW5pbmdOb2RlIGhhdmUgYmVlbiBhc3NpZ25lZCBhbmQgd2lsbCBub3QgY2hhbmdlIGJlY2F1c2UgaXQgaXMgdGhlXG4gICAgICAgIC8vICAgIGlubmVybW9zdCBtaW5pbWFsLXNpemVkIEFTVCBub2RlXG4gICAgICAgIGNvbW1lbnRXUy5jb250YWluaW5nTm9kZSA9IG5vZGU7XG4gICAgICAgIHRoaXMuZmluYWxpemVDb21tZW50KGNvbW1lbnRXUyk7XG4gICAgICAgIGNvbW1lbnRTdGFjay5zcGxpY2UoaSwgMSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoY29tbWVudEVuZCA9PT0gbm9kZVN0YXJ0KSB7XG4gICAgICAgICAgY29tbWVudFdTLnRyYWlsaW5nTm9kZSA9IG5vZGU7XG4gICAgICAgIH1cbiAgICAgICAgLy8gc3RvcCB0aGUgbG9vcCB3aGVuIGNvbW1lbnRFbmQgPD0gbm9kZVN0YXJ0XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBc3NpZ24gdGhlIGNvbW1lbnRzIG9mIGNvbW1lbnQgd2hpdGVzcGFjZXMgdG8gcmVsYXRlZCBBU1Qgbm9kZXMuXG4gICAqIEFsc28gYWRqdXN0IGlubmVyQ29tbWVudHMgZm9sbG93aW5nIHRyYWlsaW5nIGNvbW1hLlxuICAgKi9cbiAgZmluYWxpemVDb21tZW50KGNvbW1lbnRXUzogQ29tbWVudFdoaXRlc3BhY2UpIHtcbiAgICBjb25zdCB7IGNvbW1lbnRzIH0gPSBjb21tZW50V1M7XG4gICAgaWYgKGNvbW1lbnRXUy5sZWFkaW5nTm9kZSAhPT0gbnVsbCB8fCBjb21tZW50V1MudHJhaWxpbmdOb2RlICE9PSBudWxsKSB7XG4gICAgICBpZiAoY29tbWVudFdTLmxlYWRpbmdOb2RlICE9PSBudWxsKSB7XG4gICAgICAgIHNldFRyYWlsaW5nQ29tbWVudHMoY29tbWVudFdTLmxlYWRpbmdOb2RlLCBjb21tZW50cyk7XG4gICAgICB9XG4gICAgICBpZiAoY29tbWVudFdTLnRyYWlsaW5nTm9kZSAhPT0gbnVsbCkge1xuICAgICAgICBzZXRMZWFkaW5nQ29tbWVudHMoY29tbWVudFdTLnRyYWlsaW5nTm9kZSwgY29tbWVudHMpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvKjo6IGludmFyaWFudChjb21tZW50V1MuY29udGFpbmluZ05vZGUgIT09IG51bGwpICovXG4gICAgICBjb25zdCB7IGNvbnRhaW5pbmdOb2RlOiBub2RlLCBzdGFydDogY29tbWVudFN0YXJ0IH0gPSBjb21tZW50V1M7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLm9mZnNldFRvU291cmNlUG9zKGNvbW1lbnRTdGFydCkgLSAxKSA9PT1cbiAgICAgICAgY2hhckNvZGVzLmNvbW1hXG4gICAgICApIHtcbiAgICAgICAgLy8gSWYgYSBjb21tZW50V2hpdGVzcGFjZSBmb2xsb3dzIGEgY29tbWEgYW5kIHRoZSBjb250YWluaW5nTm9kZSBhbGxvd3NcbiAgICAgICAgLy8gbGlzdCBzdHJ1Y3R1cmVzIHdpdGggdHJhaWxpbmcgY29tbWEsIG1lcmdlIGl0IHRvIHRoZSB0cmFpbGluZ0NvbW1lbnRcbiAgICAgICAgLy8gb2YgdGhlIGxhc3Qgbm9uLW51bGwgbGlzdCBlbGVtZW50XG4gICAgICAgIHN3aXRjaCAobm9kZS50eXBlKSB7XG4gICAgICAgICAgY2FzZSBcIk9iamVjdEV4cHJlc3Npb25cIjpcbiAgICAgICAgICBjYXNlIFwiT2JqZWN0UGF0dGVyblwiOlxuICAgICAgICAgIGNhc2UgXCJSZWNvcmRFeHByZXNzaW9uXCI6XG4gICAgICAgICAgICBhZGp1c3RJbm5lckNvbW1lbnRzKG5vZGUsIG5vZGUucHJvcGVydGllcywgY29tbWVudFdTKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJDYWxsRXhwcmVzc2lvblwiOlxuICAgICAgICAgIGNhc2UgXCJPcHRpb25hbENhbGxFeHByZXNzaW9uXCI6XG4gICAgICAgICAgICBhZGp1c3RJbm5lckNvbW1lbnRzKG5vZGUsIG5vZGUuYXJndW1lbnRzLCBjb21tZW50V1MpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIkZ1bmN0aW9uRGVjbGFyYXRpb25cIjpcbiAgICAgICAgICBjYXNlIFwiRnVuY3Rpb25FeHByZXNzaW9uXCI6XG4gICAgICAgICAgY2FzZSBcIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCI6XG4gICAgICAgICAgY2FzZSBcIk9iamVjdE1ldGhvZFwiOlxuICAgICAgICAgIGNhc2UgXCJDbGFzc01ldGhvZFwiOlxuICAgICAgICAgIGNhc2UgXCJDbGFzc1ByaXZhdGVNZXRob2RcIjpcbiAgICAgICAgICAgIGFkanVzdElubmVyQ29tbWVudHMobm9kZSwgbm9kZS5wYXJhbXMsIGNvbW1lbnRXUyk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwiQXJyYXlFeHByZXNzaW9uXCI6XG4gICAgICAgICAgY2FzZSBcIkFycmF5UGF0dGVyblwiOlxuICAgICAgICAgIGNhc2UgXCJUdXBsZUV4cHJlc3Npb25cIjpcbiAgICAgICAgICAgIGFkanVzdElubmVyQ29tbWVudHMobm9kZSwgbm9kZS5lbGVtZW50cywgY29tbWVudFdTKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCI6XG4gICAgICAgICAgY2FzZSBcIkltcG9ydERlY2xhcmF0aW9uXCI6XG4gICAgICAgICAgICBhZGp1c3RJbm5lckNvbW1lbnRzKG5vZGUsIG5vZGUuc3BlY2lmaWVycywgY29tbWVudFdTKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIHNldElubmVyQ29tbWVudHMobm9kZSwgY29tbWVudHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2V0SW5uZXJDb21tZW50cyhub2RlLCBjb21tZW50cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERyYWlucyByZW1haW5pbmcgY29tbWVudFN0YWNrIGFuZCBhcHBsaWVzIGZpbmFsaXplQ29tbWVudFxuICAgKiB0byBlYWNoIGNvbW1lbnQgd2hpdGVzcGFjZS4gVXNlZCBvbmx5IGluIHBhcnNlRXhwcmVzc2lvblxuICAgKiB3aGVyZSB0aGUgdG9wIGxldmVsIEFTVCBub2RlIGlzIF9ub3RfIFByb2dyYW1cbiAgICoge0BzZWUge0BsaW5rIENvbW1lbnRzUGFyc2VyI2ZpbmFsaXplQ29tbWVudH19XG4gICAqL1xuICBmaW5hbGl6ZVJlbWFpbmluZ0NvbW1lbnRzKCkge1xuICAgIGNvbnN0IHsgY29tbWVudFN0YWNrIH0gPSB0aGlzLnN0YXRlO1xuICAgIGZvciAobGV0IGkgPSBjb21tZW50U3RhY2subGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIHRoaXMuZmluYWxpemVDb21tZW50KGNvbW1lbnRTdGFja1tpXSk7XG4gICAgfVxuICAgIHRoaXMuc3RhdGUuY29tbWVudFN0YWNrID0gW107XG4gIH1cblxuICAvKiBlc2xpbnQtZGlzYWJsZSBuby1pcnJlZ3VsYXItd2hpdGVzcGFjZSAqL1xuICAvKipcbiAgICogUmVzZXQgcHJldmlvdXMgbm9kZSB0cmFpbGluZyBjb21tZW50cy4gVXNlZCBpbiBvYmplY3QgLyBjbGFzc1xuICAgKiBwcm9wZXJ0eSBwYXJzaW5nLiBXZSBwYXJzZSBgYXN5bmNgLCBgc3RhdGljYCwgYHNldGAgYW5kIGBnZXRgXG4gICAqIGFzIGFuIGlkZW50aWZpZXIgYnV0IG1heSByZWludGVycHJldCBpdCBpbnRvIGFuIGFzeW5jL3N0YXRpYy9hY2Nlc3NvclxuICAgKiBtZXRob2QgbGF0ZXIuIEluIHRoaXMgY2FzZSB0aGUgaWRlbnRpZmllciBpcyBub3QgcGFydCBvZiB0aGUgQVNUIGFuZCB3ZVxuICAgKiBzaG91bGQgc3luYyB0aGUga25vd2xlZGdlIHRvIGNvbW1lbnRTdGFja3NcbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIHdoZW4gcGFyc2luZ1xuICAgKiBgYGBcbiAgICogYXN5bmMgLyogMSAq4oCLLyBmdW5jdGlvbiBmKCkge31cbiAgICogYGBgXG4gICAqIHRoZSBjb21tZW50IHdoaXRlc3BhY2UgYC8qIDEgKuKAiy9gIGhhcyBsZWFkaW5nIG5vZGUgSWRlbnRpZmllcihhc3luYykuIFdoZW5cbiAgICogd2Ugc2VlIHRoZSBmdW5jdGlvbiB0b2tlbiwgd2UgY3JlYXRlIGEgRnVuY3Rpb24gbm9kZSBhbmQgbWFyayBgLyogMSAq4oCLL2AgYXNcbiAgICogaW5uZXIgY29tbWVudHMuIFNvIGAvKiAxICrigIsvYCBzaG91bGQgYmUgZGV0YWNoZWQgZnJvbSB0aGUgSWRlbnRpZmllciBub2RlLlxuICAgKlxuICAgKiBAcGFyYW0gbm9kZSB0aGUgbGFzdCBmaW5pc2hlZCBBU1Qgbm9kZSBfYmVmb3JlXyBjdXJyZW50IHRva2VuXG4gICAqL1xuICAvKiBlc2xpbnQtZW5hYmxlIG5vLWlycmVndWxhci13aGl0ZXNwYWNlICovXG4gIHJlc2V0UHJldmlvdXNOb2RlVHJhaWxpbmdDb21tZW50cyhub2RlOiBOb2RlKSB7XG4gICAgY29uc3QgeyBjb21tZW50U3RhY2sgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgeyBsZW5ndGggfSA9IGNvbW1lbnRTdGFjaztcbiAgICBpZiAobGVuZ3RoID09PSAwKSByZXR1cm47XG4gICAgY29uc3QgY29tbWVudFdTID0gY29tbWVudFN0YWNrW2xlbmd0aCAtIDFdO1xuICAgIGlmIChjb21tZW50V1MubGVhZGluZ05vZGUgPT09IG5vZGUpIHtcbiAgICAgIGNvbW1lbnRXUy5sZWFkaW5nTm9kZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyogZXNsaW50LWRpc2FibGUgbm8taXJyZWd1bGFyLXdoaXRlc3BhY2UgKi9cbiAgLyoqXG4gICAqIFJlc2V0IHByZXZpb3VzIG5vZGUgbGVhZGluZyBjb21tZW50cywgYXNzdW1pbmcgdGhhdCBgbm9kZWAgaXMgYVxuICAgKiBzaW5nbGUtdG9rZW4gbm9kZS4gVXNlZCBpbiBpbXBvcnQgcGhhc2UgbW9kaWZpZXJzIHBhcnNpbmcuIFdlIHBhcnNlXG4gICAqIGBtb2R1bGVgIGluIGBpbXBvcnQgbW9kdWxlIGZvbyBmcm9tIC4uLmAgYXMgYW4gaWRlbnRpZmllciBidXQgbWF5XG4gICAqIHJlaW50ZXJwcmV0IGl0IGludG8gYSBwaGFzZSBtb2RpZmllciBsYXRlci4gSW4gdGhpcyBjYXNlIHRoZSBpZGVudGlmaWVyIGlzXG4gICAqIG5vdCBwYXJ0IG9mIHRoZSBBU1QgYW5kIHdlIHNob3VsZCBzeW5jIHRoZSBrbm93bGVkZ2UgdG8gY29tbWVudFN0YWNrc1xuICAgKlxuICAgKiBGb3IgZXhhbXBsZSwgd2hlbiBwYXJzaW5nXG4gICAqIGBgYFxuICAgKiBpbXBvcnQgLyogMSAq4oCLLyBtb2R1bGUgYSBmcm9tIFwiYVwiO1xuICAgKiBgYGBcbiAgICogdGhlIGNvbW1lbnQgd2hpdGVzcGFjZSBgLyogMSAq4oCLL2AgaGFzIHRyYWlsaW5nIG5vZGUgSWRlbnRpZmllcihtb2R1bGUpLiBXaGVuXG4gICAqIHdlIHNlZSB0aGF0IGBtb2R1bGVgIGlzIG5vdCBhIGRlZmF1bHQgaW1wb3J0IGJpbmRpbmcsIHdlIG1hcmsgYC8qIDEgKuKAiy9gIGFzXG4gICAqIGlubmVyIGNvbW1lbnRzIG9mIHRoZSBJbXBvcnREZWNsYXJhdGlvbi4gU28gYC8qIDEgKuKAiy9gIHNob3VsZCBiZSBkZXRhY2hlZCBmcm9tXG4gICAqIHRoZSBJZGVudGlmaWVyIG5vZGUuXG4gICAqXG4gICAqIEBwYXJhbSBub2RlIHRoZSBsYXN0IGZpbmlzaGVkIEFTVCBub2RlIF9iZWZvcmVfIGN1cnJlbnQgdG9rZW5cbiAgICovXG4gIC8qIGVzbGludC1lbmFibGUgbm8taXJyZWd1bGFyLXdoaXRlc3BhY2UgKi9cbiAgcmVzZXRQcmV2aW91c0lkZW50aWZpZXJMZWFkaW5nQ29tbWVudHMobm9kZTogSWRlbnRpZmllcikge1xuICAgIGNvbnN0IHsgY29tbWVudFN0YWNrIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHsgbGVuZ3RoIH0gPSBjb21tZW50U3RhY2s7XG4gICAgaWYgKGxlbmd0aCA9PT0gMCkgcmV0dXJuO1xuXG4gICAgaWYgKGNvbW1lbnRTdGFja1tsZW5ndGggLSAxXS50cmFpbGluZ05vZGUgPT09IG5vZGUpIHtcbiAgICAgIGNvbW1lbnRTdGFja1tsZW5ndGggLSAxXS50cmFpbGluZ05vZGUgPSBudWxsO1xuICAgIH0gZWxzZSBpZiAobGVuZ3RoID49IDIgJiYgY29tbWVudFN0YWNrW2xlbmd0aCAtIDJdLnRyYWlsaW5nTm9kZSA9PT0gbm9kZSkge1xuICAgICAgY29tbWVudFN0YWNrW2xlbmd0aCAtIDJdLnRyYWlsaW5nTm9kZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaCBhIG5vZGUgdG8gdGhlIGNvbW1lbnQgd2hpdGVzcGFjZXMgcmlnaHQgYmVmb3JlL2FmdGVyXG4gICAqIHRoZSBnaXZlbiByYW5nZS5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VkIHRvIHByb3Blcmx5IGF0dGFjaCBjb21tZW50cyBhcm91bmQgcGFyZW50aGVzaXplZFxuICAgKiBleHByZXNzaW9ucyBhcyBsZWFkaW5nL3RyYWlsaW5nIGNvbW1lbnRzIG9mIHRoZSBpbm5lciBleHByZXNzaW9uLlxuICAgKi9cbiAgdGFrZVN1cnJvdW5kaW5nQ29tbWVudHMobm9kZTogTm9kZSwgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpIHtcbiAgICBjb25zdCB7IGNvbW1lbnRTdGFjayB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBjb21tZW50U3RhY2tMZW5ndGggPSBjb21tZW50U3RhY2subGVuZ3RoO1xuICAgIGlmIChjb21tZW50U3RhY2tMZW5ndGggPT09IDApIHJldHVybjtcbiAgICBsZXQgaSA9IGNvbW1lbnRTdGFja0xlbmd0aCAtIDE7XG5cbiAgICBmb3IgKDsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIGNvbnN0IGNvbW1lbnRXUyA9IGNvbW1lbnRTdGFja1tpXTtcbiAgICAgIGNvbnN0IGNvbW1lbnRFbmQgPSBjb21tZW50V1MuZW5kO1xuICAgICAgY29uc3QgY29tbWVudFN0YXJ0ID0gY29tbWVudFdTLnN0YXJ0O1xuXG4gICAgICBpZiAoY29tbWVudFN0YXJ0ID09PSBlbmQpIHtcbiAgICAgICAgY29tbWVudFdTLmxlYWRpbmdOb2RlID0gbm9kZTtcbiAgICAgIH0gZWxzZSBpZiAoY29tbWVudEVuZCA9PT0gc3RhcnQpIHtcbiAgICAgICAgY29tbWVudFdTLnRyYWlsaW5nTm9kZSA9IG5vZGU7XG4gICAgICB9IGVsc2UgaWYgKGNvbW1lbnRFbmQgPCBzdGFydCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsICJpbXBvcnQgKiBhcyBjaGFyQ29kZXMgZnJvbSBcImNoYXJjb2Rlc1wiO1xuXG4vLyBNYXRjaGVzIGEgd2hvbGUgbGluZSBicmVhayAod2hlcmUgQ1JMRiBpcyBjb25zaWRlcmVkIGEgc2luZ2xlXG4vLyBsaW5lIGJyZWFrKS4gVXNlZCB0byBjb3VudCBsaW5lcy5cbmV4cG9ydCBjb25zdCBsaW5lQnJlYWsgPSAvXFxyXFxufFtcXHJcXG5cXHUyMDI4XFx1MjAyOV0vO1xuZXhwb3J0IGNvbnN0IGxpbmVCcmVha0cgPSBuZXcgUmVnRXhwKGxpbmVCcmVhay5zb3VyY2UsIFwiZ1wiKTtcblxuLy8gaHR0cHM6Ly90YzM5LmdpdGh1Yi5pby9lY21hMjYyLyNzZWMtbGluZS10ZXJtaW5hdG9yc1xuZXhwb3J0IGZ1bmN0aW9uIGlzTmV3TGluZShjb2RlOiBudW1iZXIpOiBib29sZWFuIHtcbiAgc3dpdGNoIChjb2RlKSB7XG4gICAgY2FzZSBjaGFyQ29kZXMubGluZUZlZWQ6XG4gICAgY2FzZSBjaGFyQ29kZXMuY2FycmlhZ2VSZXR1cm46XG4gICAgY2FzZSBjaGFyQ29kZXMubGluZVNlcGFyYXRvcjpcbiAgICBjYXNlIGNoYXJDb2Rlcy5wYXJhZ3JhcGhTZXBhcmF0b3I6XG4gICAgICByZXR1cm4gdHJ1ZTtcblxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc05ld0xpbmUoaW5wdXQ6IHN0cmluZywgc3RhcnQ6IG51bWJlciwgZW5kOiBudW1iZXIpOiBib29sZWFuIHtcbiAgZm9yIChsZXQgaSA9IHN0YXJ0OyBpIDwgZW5kOyBpKyspIHtcbiAgICBpZiAoaXNOZXdMaW5lKGlucHV0LmNoYXJDb2RlQXQoaSkpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgY29uc3Qgc2tpcFdoaXRlU3BhY2UgPSAvKD86XFxzfFxcL1xcLy4qfFxcL1xcKlteXSo/XFwqXFwvKSovZztcblxuZXhwb3J0IGNvbnN0IHNraXBXaGl0ZVNwYWNlSW5MaW5lID1cbiAgLyg/OlteXFxTXFxuXFxyXFx1MjAyOFxcdTIwMjldfFxcL1xcLy4qfFxcL1xcKi4qP1xcKlxcLykqL2c7XG5cbi8vIGh0dHBzOi8vdGMzOS5naXRodWIuaW8vZWNtYTI2Mi8jc2VjLXdoaXRlLXNwYWNlXG5leHBvcnQgZnVuY3Rpb24gaXNXaGl0ZXNwYWNlKGNvZGU6IG51bWJlcik6IGJvb2xlYW4ge1xuICBzd2l0Y2ggKGNvZGUpIHtcbiAgICBjYXNlIDB4MDAwOTogLy8gQ0hBUkFDVEVSIFRBQlVMQVRJT05cbiAgICBjYXNlIDB4MDAwYjogLy8gTElORSBUQUJVTEFUSU9OXG4gICAgY2FzZSAweDAwMGM6IC8vIEZPUk0gRkVFRFxuICAgIGNhc2UgY2hhckNvZGVzLnNwYWNlOlxuICAgIGNhc2UgY2hhckNvZGVzLm5vbkJyZWFraW5nU3BhY2U6XG4gICAgY2FzZSBjaGFyQ29kZXMub2doYW1TcGFjZU1hcms6XG4gICAgY2FzZSAweDIwMDA6IC8vIEVOIFFVQURcbiAgICBjYXNlIDB4MjAwMTogLy8gRU0gUVVBRFxuICAgIGNhc2UgMHgyMDAyOiAvLyBFTiBTUEFDRVxuICAgIGNhc2UgMHgyMDAzOiAvLyBFTSBTUEFDRVxuICAgIGNhc2UgMHgyMDA0OiAvLyBUSFJFRS1QRVItRU0gU1BBQ0VcbiAgICBjYXNlIDB4MjAwNTogLy8gRk9VUi1QRVItRU0gU1BBQ0VcbiAgICBjYXNlIDB4MjAwNjogLy8gU0lYLVBFUi1FTSBTUEFDRVxuICAgIGNhc2UgMHgyMDA3OiAvLyBGSUdVUkUgU1BBQ0VcbiAgICBjYXNlIDB4MjAwODogLy8gUFVOQ1RVQVRJT04gU1BBQ0VcbiAgICBjYXNlIDB4MjAwOTogLy8gVEhJTiBTUEFDRVxuICAgIGNhc2UgMHgyMDBhOiAvLyBIQUlSIFNQQUNFXG4gICAgY2FzZSAweDIwMmY6IC8vIE5BUlJPVyBOTy1CUkVBSyBTUEFDRVxuICAgIGNhc2UgMHgyMDVmOiAvLyBNRURJVU0gTUFUSEVNQVRJQ0FMIFNQQUNFXG4gICAgY2FzZSAweDMwMDA6IC8vIElERU9HUkFQSElDIFNQQUNFXG4gICAgY2FzZSAweGZlZmY6IC8vIFpFUk8gV0lEVEggTk8tQlJFQUsgU1BBQ0VcbiAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIiwgImltcG9ydCB0eXBlIHsgT3B0aW9ucyB9IGZyb20gXCIuLi9vcHRpb25zLnRzXCI7XG5pbXBvcnQgdHlwZSB7IENvbW1lbnRXaGl0ZXNwYWNlIH0gZnJvbSBcIi4uL3BhcnNlci9jb21tZW50c1wiO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tIFwiLi4vdXRpbC9sb2NhdGlvbi50c1wiO1xuXG5pbXBvcnQgeyB0eXBlcyBhcyBjdCwgdHlwZSBUb2tDb250ZXh0IH0gZnJvbSBcIi4vY29udGV4dC50c1wiO1xuaW1wb3J0IHsgdHQsIHR5cGUgVG9rZW5UeXBlIH0gZnJvbSBcIi4vdHlwZXMudHNcIjtcbmltcG9ydCB0eXBlIHsgRXJyb3JzIH0gZnJvbSBcIi4uL3BhcnNlLWVycm9yLnRzXCI7XG5pbXBvcnQgdHlwZSB7IFBhcnNlRXJyb3IgfSBmcm9tIFwiLi4vcGFyc2UtZXJyb3IudHNcIjtcblxuZXhwb3J0IHR5cGUgRGVmZXJyZWRTdHJpY3RFcnJvciA9XG4gIHwgdHlwZW9mIEVycm9ycy5TdHJpY3ROdW1lcmljRXNjYXBlXG4gIHwgdHlwZW9mIEVycm9ycy5TdHJpY3RPY3RhbExpdGVyYWw7XG5cbnR5cGUgVG9waWNDb250ZXh0U3RhdGUgPSB7XG4gIC8vIFdoZW4gYSB0b3BpYyBiaW5kaW5nIGhhcyBiZWVuIGN1cnJlbnRseSBlc3RhYmxpc2hlZCxcbiAgLy8gdGhlbiB0aGlzIGlzIDEuIE90aGVyd2lzZSwgaXQgaXMgMC4gVGhpcyBpcyBmb3J3YXJkcyBjb21wYXRpYmxlXG4gIC8vIHdpdGggYSBmdXR1cmUgcGx1Z2luIGZvciBtdWx0aXBsZSBsZXhpY2FsIHRvcGljcy5cbiAgbWF4TnVtT2ZSZXNvbHZhYmxlVG9waWNzOiBudW1iZXI7XG4gIC8vIFdoZW4gYSB0b3BpYyBiaW5kaW5nIGhhcyBiZWVuIGN1cnJlbnRseSBlc3RhYmxpc2hlZCwgYW5kIGlmIHRoYXQgYmluZGluZ1xuICAvLyBoYXMgYmVlbiB1c2VkIGFzIGEgdG9waWMgcmVmZXJlbmNlIGAjYCwgdGhlbiB0aGlzIGlzIDAuIE90aGVyd2lzZSwgaXQgaXNcbiAgLy8gYG51bGxgLiBUaGlzIGlzIGZvcndhcmRzIGNvbXBhdGlibGUgd2l0aCBhIGZ1dHVyZSBwbHVnaW4gZm9yIG11bHRpcGxlXG4gIC8vIGxleGljYWwgdG9waWNzLlxuICBtYXhUb3BpY0luZGV4OiBudWxsIHwgMDtcbn07XG5cbmV4cG9ydCBjb25zdCBlbnVtIExvb3BMYWJlbEtpbmQge1xuICBMb29wID0gMSxcbiAgU3dpdGNoID0gMixcbn1cblxuZGVjbGFyZSBjb25zdCBiaXQ6IGltcG9ydChcIi4uLy4uLy4uLy4uL3NjcmlwdHMvYmFiZWwtcGx1Z2luLWJpdC1kZWNvcmF0b3IvdHlwZXMuZC50c1wiKS5CaXREZWNvcmF0b3I8U3RhdGU+O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTdGF0ZSB7XG4gIEBiaXQuc3RvcmFnZSBmbGFnczogbnVtYmVyO1xuXG4gIEBiaXQgYWNjZXNzb3Igc3RyaWN0ID0gZmFsc2U7XG5cbiAgc3RhcnRJbmRleDogbnVtYmVyO1xuICBjdXJMaW5lOiBudW1iZXI7XG4gIGxpbmVTdGFydDogbnVtYmVyO1xuXG4gIC8vIEFuZCwgaWYgbG9jYXRpb25zIGFyZSB1c2VkLCB0aGUge2xpbmUsIGNvbHVtbn0gb2JqZWN0XG4gIC8vIGNvcnJlc3BvbmRpbmcgdG8gdGhvc2Ugb2Zmc2V0c1xuICBzdGFydExvYzogUG9zaXRpb247XG4gIGVuZExvYzogUG9zaXRpb247XG5cbiAgaW5pdCh7XG4gICAgc3RyaWN0TW9kZSxcbiAgICBzb3VyY2VUeXBlLFxuICAgIHN0YXJ0SW5kZXgsXG4gICAgc3RhcnRMaW5lLFxuICAgIHN0YXJ0Q29sdW1uLFxuICB9OiBPcHRpb25zKTogdm9pZCB7XG4gICAgdGhpcy5zdHJpY3QgPVxuICAgICAgc3RyaWN0TW9kZSA9PT0gZmFsc2VcbiAgICAgICAgPyBmYWxzZVxuICAgICAgICA6IHN0cmljdE1vZGUgPT09IHRydWVcbiAgICAgICAgICA/IHRydWVcbiAgICAgICAgICA6IHNvdXJjZVR5cGUgPT09IFwibW9kdWxlXCI7XG5cbiAgICB0aGlzLnN0YXJ0SW5kZXggPSBzdGFydEluZGV4O1xuICAgIHRoaXMuY3VyTGluZSA9IHN0YXJ0TGluZTtcbiAgICB0aGlzLmxpbmVTdGFydCA9IC1zdGFydENvbHVtbjtcbiAgICB0aGlzLnN0YXJ0TG9jID0gdGhpcy5lbmRMb2MgPSBuZXcgUG9zaXRpb24oXG4gICAgICBzdGFydExpbmUsXG4gICAgICBzdGFydENvbHVtbixcbiAgICAgIHN0YXJ0SW5kZXgsXG4gICAgKTtcbiAgfVxuXG4gIGVycm9yczogUGFyc2VFcnJvcjxhbnk+W10gPSBbXTtcblxuICAvLyBVc2VkIHRvIHNpZ25pZnkgdGhlIHN0YXJ0IG9mIGEgcG90ZW50aWFsIGFycm93IGZ1bmN0aW9uXG4gIHBvdGVudGlhbEFycm93QXQ6IG51bWJlciA9IC0xO1xuXG4gIC8vIFVzZWQgdG8gc2lnbmlmeSB0aGUgc3RhcnQgb2YgYW4gZXhwcmVzc2lvbiB3aGljaCBsb29rcyBsaWtlIGFcbiAgLy8gdHlwZWQgYXJyb3cgZnVuY3Rpb24sIGJ1dCBpdCBpc24ndFxuICAvLyBlLmcuIGEgPyAoYikgOiBjID0+IGRcbiAgLy8gICAgICAgICAgXlxuICBub0Fycm93QXQ6IG51bWJlcltdID0gW107XG5cbiAgLy8gVXNlZCB0byBzaWduaWZ5IHRoZSBzdGFydCBvZiBhbiBleHByZXNzaW9uIHdob3NlIHBhcmFtcywgaWYgaXQgbG9va3MgbGlrZVxuICAvLyBhbiBhcnJvdyBmdW5jdGlvbiwgc2hvdWxkbid0IGJlIGNvbnZlcnRlZCB0byBhc3NpZ25hYmxlIG5vZGVzLlxuICAvLyBUaGlzIGlzIHVzZWQgdG8gZGVmZXIgdGhlIHZhbGlkYXRpb24gb2YgdHlwZWQgYXJyb3cgZnVuY3Rpb25zIGluc2lkZVxuICAvLyBjb25kaXRpb25hbCBleHByZXNzaW9ucy5cbiAgLy8gZS5nLiBhID8gKGIpIDogYyA9PiBkXG4gIC8vICAgICAgICAgIF5cbiAgbm9BcnJvd1BhcmFtc0NvbnZlcnNpb25BdDogbnVtYmVyW10gPSBbXTtcblxuICAvLyBGbGFncyB0byB0cmFja1xuICBAYml0IGFjY2Vzc29yIG1heWJlSW5BcnJvd1BhcmFtZXRlcnMgPSBmYWxzZTtcbiAgQGJpdCBhY2Nlc3NvciBpblR5cGUgPSBmYWxzZTtcbiAgQGJpdCBhY2Nlc3NvciBub0Fub25GdW5jdGlvblR5cGUgPSBmYWxzZTtcbiAgQGJpdCBhY2Nlc3NvciBoYXNGbG93Q29tbWVudCA9IGZhbHNlO1xuICBAYml0IGFjY2Vzc29yIGlzQW1iaWVudENvbnRleHQgPSBmYWxzZTtcbiAgQGJpdCBhY2Nlc3NvciBpbkFic3RyYWN0Q2xhc3MgPSBmYWxzZTtcbiAgQGJpdCBhY2Nlc3NvciBpbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgPSBmYWxzZTtcblxuICAvLyBGb3IgdGhlIEhhY2stc3R5bGUgcGlwZWxpbmVzIHBsdWdpblxuICB0b3BpY0NvbnRleHQ6IFRvcGljQ29udGV4dFN0YXRlID0ge1xuICAgIG1heE51bU9mUmVzb2x2YWJsZVRvcGljczogMCxcbiAgICBtYXhUb3BpY0luZGV4OiBudWxsLFxuICB9O1xuXG4gIC8vIEZvciB0aGUgRiMtc3R5bGUgcGlwZWxpbmVzIHBsdWdpblxuICBAYml0IGFjY2Vzc29yIHNvbG9Bd2FpdCA9IGZhbHNlO1xuICBAYml0IGFjY2Vzc29yIGluRlNoYXJwUGlwZWxpbmVEaXJlY3RCb2R5ID0gZmFsc2U7XG5cbiAgLy8gTGFiZWxzIGluIHNjb3BlLlxuICBsYWJlbHM6IEFycmF5PHtcbiAgICBraW5kOiBMb29wTGFiZWxLaW5kO1xuICAgIG5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAgIHN0YXRlbWVudFN0YXJ0PzogbnVtYmVyO1xuICB9PiA9IFtdO1xuXG4gIGNvbW1lbnRzTGVuID0gMDtcbiAgLy8gQ29tbWVudCBhdHRhY2htZW50IHN0b3JlXG4gIGNvbW1lbnRTdGFjazogQXJyYXk8Q29tbWVudFdoaXRlc3BhY2U+ID0gW107XG5cbiAgLy8gVGhlIGN1cnJlbnQgcG9zaXRpb24gb2YgdGhlIHRva2VuaXplciBpbiB0aGUgaW5wdXQuXG4gIHBvczogbnVtYmVyID0gMDtcblxuICAvLyBQcm9wZXJ0aWVzIG9mIHRoZSBjdXJyZW50IHRva2VuOlxuICAvLyBJdHMgdHlwZVxuICB0eXBlOiBUb2tlblR5cGUgPSB0dC5lb2Y7XG5cbiAgLy8gRm9yIHRva2VucyB0aGF0IGluY2x1ZGUgbW9yZSBpbmZvcm1hdGlvbiB0aGFuIHRoZWlyIHR5cGUsIHRoZSB2YWx1ZVxuICB2YWx1ZTogYW55ID0gbnVsbDtcblxuICAvLyBJdHMgc3RhcnQgYW5kIGVuZCBvZmZzZXRcbiAgc3RhcnQ6IG51bWJlciA9IDA7XG4gIGVuZDogbnVtYmVyID0gMDtcblxuICAvLyBQb3NpdGlvbiBpbmZvcm1hdGlvbiBmb3IgdGhlIHByZXZpb3VzIHRva2VuXG4gIC8vIHRoaXMgaXMgaW5pdGlhbGl6ZWQgd2hlbiBnZW5lcmF0aW5nIHRoZSBzZWNvbmQgdG9rZW4uXG4gIGxhc3RUb2tFbmRMb2M6IFBvc2l0aW9uID0gbnVsbDtcbiAgLy8gdGhpcyBpcyBpbml0aWFsaXplZCB3aGVuIGdlbmVyYXRpbmcgdGhlIHNlY29uZCB0b2tlbi5cbiAgbGFzdFRva1N0YXJ0TG9jOiBQb3NpdGlvbiA9IG51bGw7XG5cbiAgLy8gVGhlIGNvbnRleHQgc3RhY2sgaXMgdXNlZCB0byB0cmFjayB3aGV0aGVyIHRoZSBhcG9zdHJvcGhlIFwiYFwiIHN0YXJ0c1xuICAvLyBvciBlbmRzIGEgc3RyaW5nIHRlbXBsYXRlXG4gIGNvbnRleHQ6IEFycmF5PFRva0NvbnRleHQ+ID0gW2N0LmJyYWNlXTtcblxuICAvLyBVc2VkIHRvIHRyYWNrIHdoZXRoZXIgYSBKU1ggZWxlbWVudCBpcyBhbGxvd2VkIHRvIGZvcm1cbiAgQGJpdCBhY2Nlc3NvciBjYW5TdGFydEpTWEVsZW1lbnQgPSB0cnVlO1xuXG4gIC8vIFVzZWQgdG8gc2lnbmFsIHRvIGNhbGxlcnMgb2YgYHJlYWRXb3JkMWAgd2hldGhlciB0aGUgd29yZFxuICAvLyBjb250YWluZWQgYW55IGVzY2FwZSBzZXF1ZW5jZXMuIFRoaXMgaXMgbmVlZGVkIGJlY2F1c2Ugd29yZHMgd2l0aFxuICAvLyBlc2NhcGUgc2VxdWVuY2VzIG11c3Qgbm90IGJlIGludGVycHJldGVkIGFzIGtleXdvcmRzLlxuICBAYml0IGFjY2Vzc29yIGNvbnRhaW5zRXNjID0gZmFsc2U7XG5cbiAgLy8gVXNlZCB0byB0cmFjayBpbnZhbGlkIGVzY2FwZSBzZXF1ZW5jZXMgaW4gdGVtcGxhdGUgbGl0ZXJhbHMsXG4gIC8vIHRoYXQgbXVzdCBiZSByZXBvcnRlZCBpZiB0aGUgdGVtcGxhdGUgaXMgbm90IHRhZ2dlZC5cbiAgZmlyc3RJbnZhbGlkVGVtcGxhdGVFc2NhcGVQb3M6IG51bGwgfCBQb3NpdGlvbiA9IG51bGw7XG5cbiAgQGJpdCBhY2Nlc3NvciBoYXNUb3BMZXZlbEF3YWl0ID0gZmFsc2U7XG5cbiAgLy8gVGhpcyBwcm9wZXJ0eSBpcyB1c2VkIHRvIHRyYWNrIHRoZSBmb2xsb3dpbmcgZXJyb3JzXG4gIC8vIC0gU3RyaWN0TnVtZXJpY0VzY2FwZVxuICAvLyAtIFN0cmljdE9jdGFsTGl0ZXJhbFxuICAvL1xuICAvLyBpbiBhIGxpdGVyYWwgdGhhdCBvY2N1cnMgcHJpb3IgdG8vaW1tZWRpYXRlbHkgYWZ0ZXIgYSBcInVzZSBzdHJpY3RcIiBkaXJlY3RpdmUuXG5cbiAgLy8gdG9kbyhKTEh3dW5nKTogc2V0IHN0cmljdEVycm9ycyB0byBudWxsIGFuZCBhdm9pZCByZWNvcmRpbmcgc3RyaW5nIGVycm9yc1xuICAvLyBhZnRlciBhIG5vbi1kaXJlY3RpdmUgaXMgcGFyc2VkXG4gIHN0cmljdEVycm9yczogTWFwPG51bWJlciwgW0RlZmVycmVkU3RyaWN0RXJyb3IsIFBvc2l0aW9uXT4gPSBuZXcgTWFwKCk7XG5cbiAgLy8gVG9rZW5zIGxlbmd0aCBpbiB0b2tlbiBzdG9yZVxuICB0b2tlbnNMZW5ndGg6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIFdoZW4gd2UgYWRkIGEgbmV3IHByb3BlcnR5LCB3ZSBtdXN0IG1hbnVhbGx5IHVwZGF0ZSB0aGUgYGNsb25lYCBtZXRob2RcbiAgICogQHNlZSBTdGF0ZSNjbG9uZVxuICAgKi9cblxuICBjdXJQb3NpdGlvbigpOiBQb3NpdGlvbiB7XG4gICAgcmV0dXJuIG5ldyBQb3NpdGlvbihcbiAgICAgIHRoaXMuY3VyTGluZSxcbiAgICAgIHRoaXMucG9zIC0gdGhpcy5saW5lU3RhcnQsXG4gICAgICB0aGlzLnBvcyArIHRoaXMuc3RhcnRJbmRleCxcbiAgICApO1xuICB9XG5cbiAgY2xvbmUoKTogU3RhdGUge1xuICAgIGNvbnN0IHN0YXRlID0gbmV3IFN0YXRlKCk7XG4gICAgc3RhdGUuZmxhZ3MgPSB0aGlzLmZsYWdzO1xuICAgIHN0YXRlLnN0YXJ0SW5kZXggPSB0aGlzLnN0YXJ0SW5kZXg7XG4gICAgc3RhdGUuY3VyTGluZSA9IHRoaXMuY3VyTGluZTtcbiAgICBzdGF0ZS5saW5lU3RhcnQgPSB0aGlzLmxpbmVTdGFydDtcbiAgICBzdGF0ZS5zdGFydExvYyA9IHRoaXMuc3RhcnRMb2M7XG4gICAgc3RhdGUuZW5kTG9jID0gdGhpcy5lbmRMb2M7XG4gICAgc3RhdGUuZXJyb3JzID0gdGhpcy5lcnJvcnMuc2xpY2UoKTtcbiAgICBzdGF0ZS5wb3RlbnRpYWxBcnJvd0F0ID0gdGhpcy5wb3RlbnRpYWxBcnJvd0F0O1xuICAgIHN0YXRlLm5vQXJyb3dBdCA9IHRoaXMubm9BcnJvd0F0LnNsaWNlKCk7XG4gICAgc3RhdGUubm9BcnJvd1BhcmFtc0NvbnZlcnNpb25BdCA9IHRoaXMubm9BcnJvd1BhcmFtc0NvbnZlcnNpb25BdC5zbGljZSgpO1xuICAgIHN0YXRlLnRvcGljQ29udGV4dCA9IHRoaXMudG9waWNDb250ZXh0O1xuICAgIHN0YXRlLmxhYmVscyA9IHRoaXMubGFiZWxzLnNsaWNlKCk7XG4gICAgc3RhdGUuY29tbWVudHNMZW4gPSB0aGlzLmNvbW1lbnRzTGVuO1xuICAgIHN0YXRlLmNvbW1lbnRTdGFjayA9IHRoaXMuY29tbWVudFN0YWNrLnNsaWNlKCk7XG4gICAgc3RhdGUucG9zID0gdGhpcy5wb3M7XG4gICAgc3RhdGUudHlwZSA9IHRoaXMudHlwZTtcbiAgICBzdGF0ZS52YWx1ZSA9IHRoaXMudmFsdWU7XG4gICAgc3RhdGUuc3RhcnQgPSB0aGlzLnN0YXJ0O1xuICAgIHN0YXRlLmVuZCA9IHRoaXMuZW5kO1xuICAgIHN0YXRlLmxhc3RUb2tFbmRMb2MgPSB0aGlzLmxhc3RUb2tFbmRMb2M7XG4gICAgc3RhdGUubGFzdFRva1N0YXJ0TG9jID0gdGhpcy5sYXN0VG9rU3RhcnRMb2M7XG4gICAgc3RhdGUuY29udGV4dCA9IHRoaXMuY29udGV4dC5zbGljZSgpO1xuICAgIHN0YXRlLmZpcnN0SW52YWxpZFRlbXBsYXRlRXNjYXBlUG9zID0gdGhpcy5maXJzdEludmFsaWRUZW1wbGF0ZUVzY2FwZVBvcztcbiAgICBzdGF0ZS5zdHJpY3RFcnJvcnMgPSB0aGlzLnN0cmljdEVycm9ycztcbiAgICBzdGF0ZS50b2tlbnNMZW5ndGggPSB0aGlzLnRva2Vuc0xlbmd0aDtcblxuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxufVxuXG5leHBvcnQgdHlwZSBMb29rYWhlYWRTdGF0ZSA9IHtcbiAgcG9zOiBudW1iZXI7XG4gIHZhbHVlOiBhbnk7XG4gIHR5cGU6IFRva2VuVHlwZTtcbiAgc3RhcnQ6IG51bWJlcjtcbiAgZW5kOiBudW1iZXI7XG4gIGNvbnRleHQ6IFRva0NvbnRleHRbXTtcbiAgc3RhcnRMb2M6IFBvc2l0aW9uO1xuICBsYXN0VG9rRW5kTG9jOiBQb3NpdGlvbjtcbiAgY3VyTGluZTogbnVtYmVyO1xuICBsaW5lU3RhcnQ6IG51bWJlcjtcbiAgY3VyUG9zaXRpb246IFN0YXRlW1wiY3VyUG9zaXRpb25cIl07XG4gIC8qIFVzZWQgb25seSBpbiByZWFkVG9rZW5fbXVsdF9tb2R1bG8gKi9cbiAgaW5UeXBlOiBib29sZWFuO1xuICAvLyBUaGVzZSBib29sZWFuIHByb3BlcnRpZXMgYXJlIG5vdCBpbml0aWFsaXplZCBpbiBjcmVhdGVMb29rYWhlYWRTdGF0ZSgpXG4gIC8vIGluc3RlYWQgdGhleSB3aWxsIG9ubHkgYmUgc2V0IGJ5IHRoZSB0b2tlbml6ZXJcbiAgY29udGFpbnNFc2M/OiBib29sZWFuO1xufTtcbiIsICIvLyBXZSBpbmxpbmUgdGhpcyBwYWNrYWdlXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWV4dHJhbmVvdXMtZGVwZW5kZW5jaWVzXG5pbXBvcnQgKiBhcyBjaGFyQ29kZXMgZnJvbSBcImNoYXJjb2Rlc1wiO1xuXG4vLyBUaGUgZm9sbG93aW5nIGNoYXJhY3RlciBjb2RlcyBhcmUgZm9yYmlkZGVuIGZyb20gYmVpbmdcbi8vIGFuIGltbWVkaWF0ZSBzaWJsaW5nIG9mIE51bWVyaWNMaXRlcmFsU2VwYXJhdG9yIF9cbmNvbnN0IGZvcmJpZGRlbk51bWVyaWNTZXBhcmF0b3JTaWJsaW5ncyA9IHtcbiAgZGVjQmluT2N0OiBuZXcgU2V0PG51bWJlcj4oW1xuICAgIGNoYXJDb2Rlcy5kb3QsXG4gICAgY2hhckNvZGVzLnVwcGVyY2FzZUIsXG4gICAgY2hhckNvZGVzLnVwcGVyY2FzZUUsXG4gICAgY2hhckNvZGVzLnVwcGVyY2FzZU8sXG4gICAgY2hhckNvZGVzLnVuZGVyc2NvcmUsIC8vIG11bHRpcGxlIHNlcGFyYXRvcnMgYXJlIG5vdCBhbGxvd2VkXG4gICAgY2hhckNvZGVzLmxvd2VyY2FzZUIsXG4gICAgY2hhckNvZGVzLmxvd2VyY2FzZUUsXG4gICAgY2hhckNvZGVzLmxvd2VyY2FzZU8sXG4gIF0pLFxuICBoZXg6IG5ldyBTZXQ8bnVtYmVyPihbXG4gICAgY2hhckNvZGVzLmRvdCxcbiAgICBjaGFyQ29kZXMudXBwZXJjYXNlWCxcbiAgICBjaGFyQ29kZXMudW5kZXJzY29yZSwgLy8gbXVsdGlwbGUgc2VwYXJhdG9ycyBhcmUgbm90IGFsbG93ZWRcbiAgICBjaGFyQ29kZXMubG93ZXJjYXNlWCxcbiAgXSksXG59O1xuXG5jb25zdCBpc0FsbG93ZWROdW1lcmljU2VwYXJhdG9yU2libGluZyA9IHtcbiAgLy8gMCAtIDFcbiAgYmluOiAoY2g6IG51bWJlcikgPT4gY2ggPT09IGNoYXJDb2Rlcy5kaWdpdDAgfHwgY2ggPT09IGNoYXJDb2Rlcy5kaWdpdDEsXG5cbiAgLy8gMCAtIDdcbiAgb2N0OiAoY2g6IG51bWJlcikgPT4gY2ggPj0gY2hhckNvZGVzLmRpZ2l0MCAmJiBjaCA8PSBjaGFyQ29kZXMuZGlnaXQ3LFxuXG4gIC8vIDAgLSA5XG4gIGRlYzogKGNoOiBudW1iZXIpID0+IGNoID49IGNoYXJDb2Rlcy5kaWdpdDAgJiYgY2ggPD0gY2hhckNvZGVzLmRpZ2l0OSxcblxuICAvLyAwIC0gOSwgQSAtIEYsIGEgLSBmLFxuICBoZXg6IChjaDogbnVtYmVyKSA9PlxuICAgIChjaCA+PSBjaGFyQ29kZXMuZGlnaXQwICYmIGNoIDw9IGNoYXJDb2Rlcy5kaWdpdDkpIHx8XG4gICAgKGNoID49IGNoYXJDb2Rlcy51cHBlcmNhc2VBICYmIGNoIDw9IGNoYXJDb2Rlcy51cHBlcmNhc2VGKSB8fFxuICAgIChjaCA+PSBjaGFyQ29kZXMubG93ZXJjYXNlQSAmJiBjaCA8PSBjaGFyQ29kZXMubG93ZXJjYXNlRiksXG59O1xuXG5leHBvcnQgdHlwZSBTdHJpbmdDb250ZW50c0Vycm9ySGFuZGxlcnMgPSBFc2NhcGVkQ2hhckVycm9ySGFuZGxlcnMgJiB7XG4gIHVudGVybWluYXRlZChcbiAgICBpbml0aWFsUG9zOiBudW1iZXIsXG4gICAgaW5pdGlhbExpbmVTdGFydDogbnVtYmVyLFxuICAgIGluaXRpYWxDdXJMaW5lOiBudW1iZXIsXG4gICk6IHZvaWQ7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gcmVhZFN0cmluZ0NvbnRlbnRzKFxuICB0eXBlOiBcInNpbmdsZVwiIHwgXCJkb3VibGVcIiB8IFwidGVtcGxhdGVcIixcbiAgaW5wdXQ6IHN0cmluZyxcbiAgcG9zOiBudW1iZXIsXG4gIGxpbmVTdGFydDogbnVtYmVyLFxuICBjdXJMaW5lOiBudW1iZXIsXG4gIGVycm9yczogU3RyaW5nQ29udGVudHNFcnJvckhhbmRsZXJzLFxuKSB7XG4gIGNvbnN0IGluaXRpYWxQb3MgPSBwb3M7XG4gIGNvbnN0IGluaXRpYWxMaW5lU3RhcnQgPSBsaW5lU3RhcnQ7XG4gIGNvbnN0IGluaXRpYWxDdXJMaW5lID0gY3VyTGluZTtcblxuICBsZXQgb3V0ID0gXCJcIjtcbiAgbGV0IGZpcnN0SW52YWxpZExvYyA9IG51bGw7XG4gIGxldCBjaHVua1N0YXJ0ID0gcG9zO1xuICBjb25zdCB7IGxlbmd0aCB9ID0gaW5wdXQ7XG4gIGZvciAoOzspIHtcbiAgICBpZiAocG9zID49IGxlbmd0aCkge1xuICAgICAgZXJyb3JzLnVudGVybWluYXRlZChpbml0aWFsUG9zLCBpbml0aWFsTGluZVN0YXJ0LCBpbml0aWFsQ3VyTGluZSk7XG4gICAgICBvdXQgKz0gaW5wdXQuc2xpY2UoY2h1bmtTdGFydCwgcG9zKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBjb25zdCBjaCA9IGlucHV0LmNoYXJDb2RlQXQocG9zKTtcbiAgICBpZiAoaXNTdHJpbmdFbmQodHlwZSwgY2gsIGlucHV0LCBwb3MpKSB7XG4gICAgICBvdXQgKz0gaW5wdXQuc2xpY2UoY2h1bmtTdGFydCwgcG9zKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoY2ggPT09IGNoYXJDb2Rlcy5iYWNrc2xhc2gpIHtcbiAgICAgIG91dCArPSBpbnB1dC5zbGljZShjaHVua1N0YXJ0LCBwb3MpO1xuICAgICAgY29uc3QgcmVzID0gcmVhZEVzY2FwZWRDaGFyKFxuICAgICAgICBpbnB1dCxcbiAgICAgICAgcG9zLFxuICAgICAgICBsaW5lU3RhcnQsXG4gICAgICAgIGN1ckxpbmUsXG4gICAgICAgIHR5cGUgPT09IFwidGVtcGxhdGVcIixcbiAgICAgICAgZXJyb3JzLFxuICAgICAgKTtcbiAgICAgIGlmIChyZXMuY2ggPT09IG51bGwgJiYgIWZpcnN0SW52YWxpZExvYykge1xuICAgICAgICBmaXJzdEludmFsaWRMb2MgPSB7IHBvcywgbGluZVN0YXJ0LCBjdXJMaW5lIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdXQgKz0gcmVzLmNoO1xuICAgICAgfVxuICAgICAgKHsgcG9zLCBsaW5lU3RhcnQsIGN1ckxpbmUgfSA9IHJlcyk7XG4gICAgICBjaHVua1N0YXJ0ID0gcG9zO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICBjaCA9PT0gY2hhckNvZGVzLmxpbmVTZXBhcmF0b3IgfHxcbiAgICAgIGNoID09PSBjaGFyQ29kZXMucGFyYWdyYXBoU2VwYXJhdG9yXG4gICAgKSB7XG4gICAgICArK3BvcztcbiAgICAgICsrY3VyTGluZTtcbiAgICAgIGxpbmVTdGFydCA9IHBvcztcbiAgICB9IGVsc2UgaWYgKGNoID09PSBjaGFyQ29kZXMubGluZUZlZWQgfHwgY2ggPT09IGNoYXJDb2Rlcy5jYXJyaWFnZVJldHVybikge1xuICAgICAgaWYgKHR5cGUgPT09IFwidGVtcGxhdGVcIikge1xuICAgICAgICBvdXQgKz0gaW5wdXQuc2xpY2UoY2h1bmtTdGFydCwgcG9zKSArIFwiXFxuXCI7XG4gICAgICAgICsrcG9zO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgY2ggPT09IGNoYXJDb2Rlcy5jYXJyaWFnZVJldHVybiAmJlxuICAgICAgICAgIGlucHV0LmNoYXJDb2RlQXQocG9zKSA9PT0gY2hhckNvZGVzLmxpbmVGZWVkXG4gICAgICAgICkge1xuICAgICAgICAgICsrcG9zO1xuICAgICAgICB9XG4gICAgICAgICsrY3VyTGluZTtcbiAgICAgICAgY2h1bmtTdGFydCA9IGxpbmVTdGFydCA9IHBvcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVycm9ycy51bnRlcm1pbmF0ZWQoaW5pdGlhbFBvcywgaW5pdGlhbExpbmVTdGFydCwgaW5pdGlhbEN1ckxpbmUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICArK3BvcztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkdcbiAgICA/IHsgcG9zLCBzdHI6IG91dCwgZmlyc3RJbnZhbGlkTG9jLCBsaW5lU3RhcnQsIGN1ckxpbmUgfVxuICAgIDoge1xuICAgICAgICBwb3MsXG4gICAgICAgIHN0cjogb3V0LFxuICAgICAgICBmaXJzdEludmFsaWRMb2MsXG4gICAgICAgIGxpbmVTdGFydCxcbiAgICAgICAgY3VyTGluZSxcbiAgICAgICAgY29udGFpbnNJbnZhbGlkOiAhIWZpcnN0SW52YWxpZExvYyxcbiAgICAgIH07XG59XG5cbmZ1bmN0aW9uIGlzU3RyaW5nRW5kKFxuICB0eXBlOiBcInNpbmdsZVwiIHwgXCJkb3VibGVcIiB8IFwidGVtcGxhdGVcIixcbiAgY2g6IG51bWJlcixcbiAgaW5wdXQ6IHN0cmluZyxcbiAgcG9zOiBudW1iZXIsXG4pIHtcbiAgaWYgKHR5cGUgPT09IFwidGVtcGxhdGVcIikge1xuICAgIHJldHVybiAoXG4gICAgICBjaCA9PT0gY2hhckNvZGVzLmdyYXZlQWNjZW50IHx8XG4gICAgICAoY2ggPT09IGNoYXJDb2Rlcy5kb2xsYXJTaWduICYmXG4gICAgICAgIGlucHV0LmNoYXJDb2RlQXQocG9zICsgMSkgPT09IGNoYXJDb2Rlcy5sZWZ0Q3VybHlCcmFjZSlcbiAgICApO1xuICB9XG4gIHJldHVybiAoXG4gICAgY2ggPT09ICh0eXBlID09PSBcImRvdWJsZVwiID8gY2hhckNvZGVzLnF1b3RhdGlvbk1hcmsgOiBjaGFyQ29kZXMuYXBvc3Ryb3BoZSlcbiAgKTtcbn1cblxudHlwZSBFc2NhcGVkQ2hhckVycm9ySGFuZGxlcnMgPSBIZXhDaGFyRXJyb3JIYW5kbGVycyAmXG4gIENvZGVQb2ludEVycm9ySGFuZGxlcnMgJiB7XG4gICAgc3RyaWN0TnVtZXJpY0VzY2FwZShwb3M6IG51bWJlciwgbGluZVN0YXJ0OiBudW1iZXIsIGN1ckxpbmU6IG51bWJlcik6IHZvaWQ7XG4gIH07XG5cbmZ1bmN0aW9uIHJlYWRFc2NhcGVkQ2hhcihcbiAgaW5wdXQ6IHN0cmluZyxcbiAgcG9zOiBudW1iZXIsXG4gIGxpbmVTdGFydDogbnVtYmVyLFxuICBjdXJMaW5lOiBudW1iZXIsXG4gIGluVGVtcGxhdGU6IGJvb2xlYW4sXG4gIGVycm9yczogRXNjYXBlZENoYXJFcnJvckhhbmRsZXJzLFxuKSB7XG4gIGNvbnN0IHRocm93T25JbnZhbGlkID0gIWluVGVtcGxhdGU7XG4gIHBvcysrOyAvLyBza2lwICdcXCdcblxuICBjb25zdCByZXMgPSAoY2g6IHN0cmluZyB8IG51bGwpID0+ICh7IHBvcywgY2gsIGxpbmVTdGFydCwgY3VyTGluZSB9KTtcblxuICBjb25zdCBjaCA9IGlucHV0LmNoYXJDb2RlQXQocG9zKyspO1xuICBzd2l0Y2ggKGNoKSB7XG4gICAgY2FzZSBjaGFyQ29kZXMubG93ZXJjYXNlTjpcbiAgICAgIHJldHVybiByZXMoXCJcXG5cIik7XG4gICAgY2FzZSBjaGFyQ29kZXMubG93ZXJjYXNlUjpcbiAgICAgIHJldHVybiByZXMoXCJcXHJcIik7XG4gICAgY2FzZSBjaGFyQ29kZXMubG93ZXJjYXNlWDoge1xuICAgICAgbGV0IGNvZGU7XG4gICAgICAoeyBjb2RlLCBwb3MgfSA9IHJlYWRIZXhDaGFyKFxuICAgICAgICBpbnB1dCxcbiAgICAgICAgcG9zLFxuICAgICAgICBsaW5lU3RhcnQsXG4gICAgICAgIGN1ckxpbmUsXG4gICAgICAgIDIsXG4gICAgICAgIGZhbHNlLFxuICAgICAgICB0aHJvd09uSW52YWxpZCxcbiAgICAgICAgZXJyb3JzLFxuICAgICAgKSk7XG4gICAgICByZXR1cm4gcmVzKGNvZGUgPT09IG51bGwgPyBudWxsIDogU3RyaW5nLmZyb21DaGFyQ29kZShjb2RlKSk7XG4gICAgfVxuICAgIGNhc2UgY2hhckNvZGVzLmxvd2VyY2FzZVU6IHtcbiAgICAgIGxldCBjb2RlO1xuICAgICAgKHsgY29kZSwgcG9zIH0gPSByZWFkQ29kZVBvaW50KFxuICAgICAgICBpbnB1dCxcbiAgICAgICAgcG9zLFxuICAgICAgICBsaW5lU3RhcnQsXG4gICAgICAgIGN1ckxpbmUsXG4gICAgICAgIHRocm93T25JbnZhbGlkLFxuICAgICAgICBlcnJvcnMsXG4gICAgICApKTtcbiAgICAgIHJldHVybiByZXMoY29kZSA9PT0gbnVsbCA/IG51bGwgOiBTdHJpbmcuZnJvbUNvZGVQb2ludChjb2RlKSk7XG4gICAgfVxuICAgIGNhc2UgY2hhckNvZGVzLmxvd2VyY2FzZVQ6XG4gICAgICByZXR1cm4gcmVzKFwiXFx0XCIpO1xuICAgIGNhc2UgY2hhckNvZGVzLmxvd2VyY2FzZUI6XG4gICAgICByZXR1cm4gcmVzKFwiXFxiXCIpO1xuICAgIGNhc2UgY2hhckNvZGVzLmxvd2VyY2FzZVY6XG4gICAgICByZXR1cm4gcmVzKFwiXFx1MDAwYlwiKTtcbiAgICBjYXNlIGNoYXJDb2Rlcy5sb3dlcmNhc2VGOlxuICAgICAgcmV0dXJuIHJlcyhcIlxcZlwiKTtcbiAgICBjYXNlIGNoYXJDb2Rlcy5jYXJyaWFnZVJldHVybjpcbiAgICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHBvcykgPT09IGNoYXJDb2Rlcy5saW5lRmVlZCkge1xuICAgICAgICArK3BvcztcbiAgICAgIH1cbiAgICAvLyBmYWxsIHRocm91Z2hcbiAgICBjYXNlIGNoYXJDb2Rlcy5saW5lRmVlZDpcbiAgICAgIGxpbmVTdGFydCA9IHBvcztcbiAgICAgICsrY3VyTGluZTtcbiAgICAvLyBmYWxsIHRocm91Z2hcbiAgICBjYXNlIGNoYXJDb2Rlcy5saW5lU2VwYXJhdG9yOlxuICAgIGNhc2UgY2hhckNvZGVzLnBhcmFncmFwaFNlcGFyYXRvcjpcbiAgICAgIHJldHVybiByZXMoXCJcIik7XG4gICAgY2FzZSBjaGFyQ29kZXMuZGlnaXQ4OlxuICAgIGNhc2UgY2hhckNvZGVzLmRpZ2l0OTpcbiAgICAgIGlmIChpblRlbXBsYXRlKSB7XG4gICAgICAgIHJldHVybiByZXMobnVsbCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBlcnJvcnMuc3RyaWN0TnVtZXJpY0VzY2FwZShwb3MgLSAxLCBsaW5lU3RhcnQsIGN1ckxpbmUpO1xuICAgICAgfVxuICAgIC8vIGZhbGwgdGhyb3VnaFxuICAgIGRlZmF1bHQ6XG4gICAgICBpZiAoY2ggPj0gY2hhckNvZGVzLmRpZ2l0MCAmJiBjaCA8PSBjaGFyQ29kZXMuZGlnaXQ3KSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0UG9zID0gcG9zIC0gMTtcbiAgICAgICAgY29uc3QgbWF0Y2ggPSAvXlswLTddKy8uZXhlYyhpbnB1dC5zbGljZShzdGFydFBvcywgcG9zICsgMikpO1xuXG4gICAgICAgIGxldCBvY3RhbFN0ciA9IG1hdGNoWzBdO1xuXG4gICAgICAgIGxldCBvY3RhbCA9IHBhcnNlSW50KG9jdGFsU3RyLCA4KTtcbiAgICAgICAgaWYgKG9jdGFsID4gMjU1KSB7XG4gICAgICAgICAgb2N0YWxTdHIgPSBvY3RhbFN0ci5zbGljZSgwLCAtMSk7XG4gICAgICAgICAgb2N0YWwgPSBwYXJzZUludChvY3RhbFN0ciwgOCk7XG4gICAgICAgIH1cbiAgICAgICAgcG9zICs9IG9jdGFsU3RyLmxlbmd0aCAtIDE7XG4gICAgICAgIGNvbnN0IG5leHQgPSBpbnB1dC5jaGFyQ29kZUF0KHBvcyk7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBvY3RhbFN0ciAhPT0gXCIwXCIgfHxcbiAgICAgICAgICBuZXh0ID09PSBjaGFyQ29kZXMuZGlnaXQ4IHx8XG4gICAgICAgICAgbmV4dCA9PT0gY2hhckNvZGVzLmRpZ2l0OVxuICAgICAgICApIHtcbiAgICAgICAgICBpZiAoaW5UZW1wbGF0ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHJlcyhudWxsKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXJyb3JzLnN0cmljdE51bWVyaWNFc2NhcGUoc3RhcnRQb3MsIGxpbmVTdGFydCwgY3VyTGluZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHJlcyhTdHJpbmcuZnJvbUNoYXJDb2RlKG9jdGFsKSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXMoU3RyaW5nLmZyb21DaGFyQ29kZShjaCkpO1xuICB9XG59XG5cbnR5cGUgSGV4Q2hhckVycm9ySGFuZGxlcnMgPSBJbnRFcnJvckhhbmRsZXJzICYge1xuICBpbnZhbGlkRXNjYXBlU2VxdWVuY2UocG9zOiBudW1iZXIsIGxpbmVTdGFydDogbnVtYmVyLCBjdXJMaW5lOiBudW1iZXIpOiB2b2lkO1xufTtcblxuLy8gVXNlZCB0byByZWFkIGNoYXJhY3RlciBlc2NhcGUgc2VxdWVuY2VzICgnXFx4JywgJ1xcdScpLlxuZnVuY3Rpb24gcmVhZEhleENoYXIoXG4gIGlucHV0OiBzdHJpbmcsXG4gIHBvczogbnVtYmVyLFxuICBsaW5lU3RhcnQ6IG51bWJlcixcbiAgY3VyTGluZTogbnVtYmVyLFxuICBsZW46IG51bWJlcixcbiAgZm9yY2VMZW46IGJvb2xlYW4sXG4gIHRocm93T25JbnZhbGlkOiBib29sZWFuLFxuICBlcnJvcnM6IEhleENoYXJFcnJvckhhbmRsZXJzLFxuKSB7XG4gIGNvbnN0IGluaXRpYWxQb3MgPSBwb3M7XG4gIGxldCBuO1xuICAoeyBuLCBwb3MgfSA9IHJlYWRJbnQoXG4gICAgaW5wdXQsXG4gICAgcG9zLFxuICAgIGxpbmVTdGFydCxcbiAgICBjdXJMaW5lLFxuICAgIDE2LFxuICAgIGxlbixcbiAgICBmb3JjZUxlbixcbiAgICBmYWxzZSxcbiAgICBlcnJvcnMsXG4gICAgLyogYmFpbE9uRXJyb3IgKi8gIXRocm93T25JbnZhbGlkLFxuICApKTtcbiAgaWYgKG4gPT09IG51bGwpIHtcbiAgICBpZiAodGhyb3dPbkludmFsaWQpIHtcbiAgICAgIGVycm9ycy5pbnZhbGlkRXNjYXBlU2VxdWVuY2UoaW5pdGlhbFBvcywgbGluZVN0YXJ0LCBjdXJMaW5lKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcG9zID0gaW5pdGlhbFBvcyAtIDE7XG4gICAgfVxuICB9XG4gIHJldHVybiB7IGNvZGU6IG4sIHBvcyB9O1xufVxuXG5leHBvcnQgdHlwZSBJbnRFcnJvckhhbmRsZXJzID0ge1xuICBudW1lcmljU2VwYXJhdG9ySW5Fc2NhcGVTZXF1ZW5jZShcbiAgICBwb3M6IG51bWJlcixcbiAgICBsaW5lU3RhcnQ6IG51bWJlcixcbiAgICBjdXJMaW5lOiBudW1iZXIsXG4gICk6IHZvaWQ7XG4gIHVuZXhwZWN0ZWROdW1lcmljU2VwYXJhdG9yKFxuICAgIHBvczogbnVtYmVyLFxuICAgIGxpbmVTdGFydDogbnVtYmVyLFxuICAgIGN1ckxpbmU6IG51bWJlcixcbiAgKTogdm9pZDtcbiAgLy8gSXQgY2FuIHJldHVybiBcInRydWVcIiB0byBpbmRpY2F0ZSB0aGF0IHRoZSBlcnJvciB3YXMgaGFuZGxlZFxuICAvLyBhbmQgdGhlIGludCBwYXJzaW5nIHNob3VsZCBjb250aW51ZS5cbiAgaW52YWxpZERpZ2l0KFxuICAgIHBvczogbnVtYmVyLFxuICAgIGxpbmVTdGFydDogbnVtYmVyLFxuICAgIGN1ckxpbmU6IG51bWJlcixcbiAgICByYWRpeDogbnVtYmVyLFxuICApOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlYWRJbnQoXG4gIGlucHV0OiBzdHJpbmcsXG4gIHBvczogbnVtYmVyLFxuICBsaW5lU3RhcnQ6IG51bWJlcixcbiAgY3VyTGluZTogbnVtYmVyLFxuICByYWRpeDogbnVtYmVyLFxuICBsZW46IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgZm9yY2VMZW46IGJvb2xlYW4sXG4gIGFsbG93TnVtU2VwYXJhdG9yOiBib29sZWFuIHwgXCJiYWlsXCIsXG4gIGVycm9yczogSW50RXJyb3JIYW5kbGVycyxcbiAgYmFpbE9uRXJyb3I6IGJvb2xlYW4sXG4pIHtcbiAgY29uc3Qgc3RhcnQgPSBwb3M7XG4gIGNvbnN0IGZvcmJpZGRlblNpYmxpbmdzID1cbiAgICByYWRpeCA9PT0gMTZcbiAgICAgID8gZm9yYmlkZGVuTnVtZXJpY1NlcGFyYXRvclNpYmxpbmdzLmhleFxuICAgICAgOiBmb3JiaWRkZW5OdW1lcmljU2VwYXJhdG9yU2libGluZ3MuZGVjQmluT2N0O1xuICBjb25zdCBpc0FsbG93ZWRTaWJsaW5nID1cbiAgICByYWRpeCA9PT0gMTZcbiAgICAgID8gaXNBbGxvd2VkTnVtZXJpY1NlcGFyYXRvclNpYmxpbmcuaGV4XG4gICAgICA6IHJhZGl4ID09PSAxMFxuICAgICAgICA/IGlzQWxsb3dlZE51bWVyaWNTZXBhcmF0b3JTaWJsaW5nLmRlY1xuICAgICAgICA6IHJhZGl4ID09PSA4XG4gICAgICAgICAgPyBpc0FsbG93ZWROdW1lcmljU2VwYXJhdG9yU2libGluZy5vY3RcbiAgICAgICAgICA6IGlzQWxsb3dlZE51bWVyaWNTZXBhcmF0b3JTaWJsaW5nLmJpbjtcblxuICBsZXQgaW52YWxpZCA9IGZhbHNlO1xuICBsZXQgdG90YWwgPSAwO1xuXG4gIGZvciAobGV0IGkgPSAwLCBlID0gbGVuID09IG51bGwgPyBJbmZpbml0eSA6IGxlbjsgaSA8IGU7ICsraSkge1xuICAgIGNvbnN0IGNvZGUgPSBpbnB1dC5jaGFyQ29kZUF0KHBvcyk7XG4gICAgbGV0IHZhbDtcblxuICAgIGlmIChjb2RlID09PSBjaGFyQ29kZXMudW5kZXJzY29yZSAmJiBhbGxvd051bVNlcGFyYXRvciAhPT0gXCJiYWlsXCIpIHtcbiAgICAgIGNvbnN0IHByZXYgPSBpbnB1dC5jaGFyQ29kZUF0KHBvcyAtIDEpO1xuICAgICAgY29uc3QgbmV4dCA9IGlucHV0LmNoYXJDb2RlQXQocG9zICsgMSk7XG5cbiAgICAgIGlmICghYWxsb3dOdW1TZXBhcmF0b3IpIHtcbiAgICAgICAgaWYgKGJhaWxPbkVycm9yKSByZXR1cm4geyBuOiBudWxsLCBwb3MgfTtcbiAgICAgICAgZXJyb3JzLm51bWVyaWNTZXBhcmF0b3JJbkVzY2FwZVNlcXVlbmNlKHBvcywgbGluZVN0YXJ0LCBjdXJMaW5lKTtcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIE51bWJlci5pc05hTihuZXh0KSB8fFxuICAgICAgICAhaXNBbGxvd2VkU2libGluZyhuZXh0KSB8fFxuICAgICAgICBmb3JiaWRkZW5TaWJsaW5ncy5oYXMocHJldikgfHxcbiAgICAgICAgZm9yYmlkZGVuU2libGluZ3MuaGFzKG5leHQpXG4gICAgICApIHtcbiAgICAgICAgaWYgKGJhaWxPbkVycm9yKSByZXR1cm4geyBuOiBudWxsLCBwb3MgfTtcbiAgICAgICAgZXJyb3JzLnVuZXhwZWN0ZWROdW1lcmljU2VwYXJhdG9yKHBvcywgbGluZVN0YXJ0LCBjdXJMaW5lKTtcbiAgICAgIH1cblxuICAgICAgLy8gSWdub3JlIHRoaXMgXyBjaGFyYWN0ZXJcbiAgICAgICsrcG9zO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgaWYgKGNvZGUgPj0gY2hhckNvZGVzLmxvd2VyY2FzZUEpIHtcbiAgICAgIHZhbCA9IGNvZGUgLSBjaGFyQ29kZXMubG93ZXJjYXNlQSArIGNoYXJDb2Rlcy5saW5lRmVlZDtcbiAgICB9IGVsc2UgaWYgKGNvZGUgPj0gY2hhckNvZGVzLnVwcGVyY2FzZUEpIHtcbiAgICAgIHZhbCA9IGNvZGUgLSBjaGFyQ29kZXMudXBwZXJjYXNlQSArIGNoYXJDb2Rlcy5saW5lRmVlZDtcbiAgICB9IGVsc2UgaWYgKGNoYXJDb2Rlcy5pc0RpZ2l0KGNvZGUpKSB7XG4gICAgICB2YWwgPSBjb2RlIC0gY2hhckNvZGVzLmRpZ2l0MDsgLy8gMC05XG4gICAgfSBlbHNlIHtcbiAgICAgIHZhbCA9IEluZmluaXR5O1xuICAgIH1cbiAgICBpZiAodmFsID49IHJhZGl4KSB7XG4gICAgICAvLyBJZiB3ZSBmb3VuZCBhIGRpZ2l0IHdoaWNoIGlzIHRvbyBiaWcsIGVycm9ycy5pbnZhbGlkRGlnaXQgY2FuIHJldHVybiB0cnVlIHRvIGF2b2lkXG4gICAgICAvLyBicmVha2luZyB0aGUgbG9vcCAodGhpcyBpcyB1c2VkIGZvciBlcnJvciByZWNvdmVyeSkuXG4gICAgICBpZiAodmFsIDw9IDkgJiYgYmFpbE9uRXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIHsgbjogbnVsbCwgcG9zIH07XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICB2YWwgPD0gOSAmJlxuICAgICAgICBlcnJvcnMuaW52YWxpZERpZ2l0KHBvcywgbGluZVN0YXJ0LCBjdXJMaW5lLCByYWRpeClcbiAgICAgICkge1xuICAgICAgICB2YWwgPSAwO1xuICAgICAgfSBlbHNlIGlmIChmb3JjZUxlbikge1xuICAgICAgICB2YWwgPSAwO1xuICAgICAgICBpbnZhbGlkID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICArK3BvcztcbiAgICB0b3RhbCA9IHRvdGFsICogcmFkaXggKyB2YWw7XG4gIH1cbiAgaWYgKHBvcyA9PT0gc3RhcnQgfHwgKGxlbiAhPSBudWxsICYmIHBvcyAtIHN0YXJ0ICE9PSBsZW4pIHx8IGludmFsaWQpIHtcbiAgICByZXR1cm4geyBuOiBudWxsLCBwb3MgfTtcbiAgfVxuXG4gIHJldHVybiB7IG46IHRvdGFsLCBwb3MgfTtcbn1cblxuZXhwb3J0IHR5cGUgQ29kZVBvaW50RXJyb3JIYW5kbGVycyA9IEhleENoYXJFcnJvckhhbmRsZXJzICYge1xuICBpbnZhbGlkQ29kZVBvaW50KHBvczogbnVtYmVyLCBsaW5lU3RhcnQ6IG51bWJlciwgY3VyTGluZTogbnVtYmVyKTogdm9pZDtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkQ29kZVBvaW50KFxuICBpbnB1dDogc3RyaW5nLFxuICBwb3M6IG51bWJlcixcbiAgbGluZVN0YXJ0OiBudW1iZXIsXG4gIGN1ckxpbmU6IG51bWJlcixcbiAgdGhyb3dPbkludmFsaWQ6IGJvb2xlYW4sXG4gIGVycm9yczogQ29kZVBvaW50RXJyb3JIYW5kbGVycyxcbikge1xuICBjb25zdCBjaCA9IGlucHV0LmNoYXJDb2RlQXQocG9zKTtcbiAgbGV0IGNvZGU7XG5cbiAgaWYgKGNoID09PSBjaGFyQ29kZXMubGVmdEN1cmx5QnJhY2UpIHtcbiAgICArK3BvcztcbiAgICAoeyBjb2RlLCBwb3MgfSA9IHJlYWRIZXhDaGFyKFxuICAgICAgaW5wdXQsXG4gICAgICBwb3MsXG4gICAgICBsaW5lU3RhcnQsXG4gICAgICBjdXJMaW5lLFxuICAgICAgaW5wdXQuaW5kZXhPZihcIn1cIiwgcG9zKSAtIHBvcyxcbiAgICAgIHRydWUsXG4gICAgICB0aHJvd09uSW52YWxpZCxcbiAgICAgIGVycm9ycyxcbiAgICApKTtcbiAgICArK3BvcztcbiAgICBpZiAoY29kZSAhPT0gbnVsbCAmJiBjb2RlID4gMHgxMGZmZmYpIHtcbiAgICAgIGlmICh0aHJvd09uSW52YWxpZCkge1xuICAgICAgICBlcnJvcnMuaW52YWxpZENvZGVQb2ludChwb3MsIGxpbmVTdGFydCwgY3VyTGluZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4geyBjb2RlOiBudWxsLCBwb3MgfTtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgKHsgY29kZSwgcG9zIH0gPSByZWFkSGV4Q2hhcihcbiAgICAgIGlucHV0LFxuICAgICAgcG9zLFxuICAgICAgbGluZVN0YXJ0LFxuICAgICAgY3VyTGluZSxcbiAgICAgIDQsXG4gICAgICBmYWxzZSxcbiAgICAgIHRocm93T25JbnZhbGlkLFxuICAgICAgZXJyb3JzLFxuICAgICkpO1xuICB9XG4gIHJldHVybiB7IGNvZGUsIHBvcyB9O1xufVxuIiwgIi8qOjogZGVjbGFyZSB2YXIgaW52YXJpYW50OyAqL1xuXG5pbXBvcnQgdHlwZSB7IE9wdGlvbnMgfSBmcm9tIFwiLi4vb3B0aW9ucy50c1wiO1xuaW1wb3J0IHtcbiAgUG9zaXRpb24sXG4gIFNvdXJjZUxvY2F0aW9uLFxuICBjcmVhdGVQb3NpdGlvbldpdGhDb2x1bW5PZmZzZXQsXG59IGZyb20gXCIuLi91dGlsL2xvY2F0aW9uLnRzXCI7XG5pbXBvcnQgQ29tbWVudHNQYXJzZXIsIHsgdHlwZSBDb21tZW50V2hpdGVzcGFjZSB9IGZyb20gXCIuLi9wYXJzZXIvY29tbWVudHMudHNcIjtcbmltcG9ydCB0eXBlICogYXMgTiBmcm9tIFwiLi4vdHlwZXMudHNcIjtcbmltcG9ydCAqIGFzIGNoYXJDb2RlcyBmcm9tIFwiY2hhcmNvZGVzXCI7XG5pbXBvcnQgeyBpc0lkZW50aWZpZXJTdGFydCwgaXNJZGVudGlmaWVyQ2hhciB9IGZyb20gXCIuLi91dGlsL2lkZW50aWZpZXIudHNcIjtcbmltcG9ydCB7XG4gIHRva2VuSXNLZXl3b3JkLFxuICB0b2tlbkxhYmVsTmFtZSxcbiAgdHQsXG4gIGtleXdvcmRzIGFzIGtleXdvcmRUeXBlcyxcbiAgdHlwZSBUb2tlblR5cGUsXG59IGZyb20gXCIuL3R5cGVzLnRzXCI7XG5pbXBvcnQgdHlwZSB7IFRva0NvbnRleHQgfSBmcm9tIFwiLi9jb250ZXh0LnRzXCI7XG5pbXBvcnQge1xuICBFcnJvcnMsXG4gIHR5cGUgUGFyc2VFcnJvcixcbiAgdHlwZSBQYXJzZUVycm9yQ29uc3RydWN0b3IsXG59IGZyb20gXCIuLi9wYXJzZS1lcnJvci50c1wiO1xuaW1wb3J0IHtcbiAgbGluZUJyZWFrRyxcbiAgaXNOZXdMaW5lLFxuICBpc1doaXRlc3BhY2UsXG4gIHNraXBXaGl0ZVNwYWNlLFxuICBza2lwV2hpdGVTcGFjZUluTGluZSxcbn0gZnJvbSBcIi4uL3V0aWwvd2hpdGVzcGFjZS50c1wiO1xuaW1wb3J0IFN0YXRlIGZyb20gXCIuL3N0YXRlLnRzXCI7XG5pbXBvcnQgdHlwZSB7IExvb2thaGVhZFN0YXRlLCBEZWZlcnJlZFN0cmljdEVycm9yIH0gZnJvbSBcIi4vc3RhdGUudHNcIjtcbmltcG9ydCB0eXBlIHsgVW5kb25lIH0gZnJvbSBcIi4uL3BhcnNlci9ub2RlLnRzXCI7XG5pbXBvcnQgdHlwZSB7IE5vZGUgfSBmcm9tIFwiLi4vdHlwZXMudHNcIjtcblxuaW1wb3J0IHtcbiAgcmVhZEludCxcbiAgcmVhZENvZGVQb2ludCxcbiAgcmVhZFN0cmluZ0NvbnRlbnRzLFxuICB0eXBlIEludEVycm9ySGFuZGxlcnMsXG4gIHR5cGUgQ29kZVBvaW50RXJyb3JIYW5kbGVycyxcbiAgdHlwZSBTdHJpbmdDb250ZW50c0Vycm9ySGFuZGxlcnMsXG59IGZyb20gXCJAYmFiZWwvaGVscGVyLXN0cmluZy1wYXJzZXJcIjtcblxuaW1wb3J0IHR5cGUgeyBQbHVnaW4gfSBmcm9tIFwiLi4vdHlwaW5ncy50c1wiO1xuXG5mdW5jdGlvbiBidWlsZFBvc2l0aW9uKHBvczogbnVtYmVyLCBsaW5lU3RhcnQ6IG51bWJlciwgY3VyTGluZTogbnVtYmVyKSB7XG4gIHJldHVybiBuZXcgUG9zaXRpb24oY3VyTGluZSwgcG9zIC0gbGluZVN0YXJ0LCBwb3MpO1xufVxuXG5jb25zdCBWQUxJRF9SRUdFWF9GTEFHUyA9IG5ldyBTZXQoW1xuICBjaGFyQ29kZXMubG93ZXJjYXNlRyxcbiAgY2hhckNvZGVzLmxvd2VyY2FzZU0sXG4gIGNoYXJDb2Rlcy5sb3dlcmNhc2VTLFxuICBjaGFyQ29kZXMubG93ZXJjYXNlSSxcbiAgY2hhckNvZGVzLmxvd2VyY2FzZVksXG4gIGNoYXJDb2Rlcy5sb3dlcmNhc2VVLFxuICBjaGFyQ29kZXMubG93ZXJjYXNlRCxcbiAgY2hhckNvZGVzLmxvd2VyY2FzZVYsXG5dKTtcblxuLy8gT2JqZWN0IHR5cGUgdXNlZCB0byByZXByZXNlbnQgdG9rZW5zLiBOb3RlIHRoYXQgbm9ybWFsbHksIHRva2Vuc1xuLy8gc2ltcGx5IGV4aXN0IGFzIHByb3BlcnRpZXMgb24gdGhlIHBhcnNlciBvYmplY3QuIFRoaXMgaXMgb25seVxuLy8gdXNlZCBmb3IgdGhlIG9uVG9rZW4gY2FsbGJhY2sgYW5kIHRoZSBleHRlcm5hbCB0b2tlbml6ZXIuXG5cbmV4cG9ydCBjbGFzcyBUb2tlbiB7XG4gIGNvbnN0cnVjdG9yKHN0YXRlOiBTdGF0ZSkge1xuICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBzdGF0ZS5zdGFydEluZGV4IHx8IDA7XG4gICAgdGhpcy50eXBlID0gc3RhdGUudHlwZTtcbiAgICB0aGlzLnZhbHVlID0gc3RhdGUudmFsdWU7XG4gICAgdGhpcy5zdGFydCA9IHN0YXJ0SW5kZXggKyBzdGF0ZS5zdGFydDtcbiAgICB0aGlzLmVuZCA9IHN0YXJ0SW5kZXggKyBzdGF0ZS5lbmQ7XG4gICAgdGhpcy5sb2MgPSBuZXcgU291cmNlTG9jYXRpb24oc3RhdGUuc3RhcnRMb2MsIHN0YXRlLmVuZExvYyk7XG4gIH1cblxuICBkZWNsYXJlIHR5cGU6IFRva2VuVHlwZTtcbiAgZGVjbGFyZSB2YWx1ZTogYW55O1xuICBkZWNsYXJlIHN0YXJ0OiBudW1iZXI7XG4gIGRlY2xhcmUgZW5kOiBudW1iZXI7XG4gIGRlY2xhcmUgbG9jOiBTb3VyY2VMb2NhdGlvbjtcbn1cblxuLy8gIyMgVG9rZW5pemVyXG5cbmV4cG9ydCBkZWZhdWx0IGFic3RyYWN0IGNsYXNzIFRva2VuaXplciBleHRlbmRzIENvbW1lbnRzUGFyc2VyIHtcbiAgaXNMb29rYWhlYWQ6IGJvb2xlYW47XG5cbiAgLy8gVG9rZW4gc3RvcmUuXG4gIHRva2VuczogQXJyYXk8VG9rZW4gfCBOLkNvbW1lbnQ+ID0gW107XG5cbiAgY29uc3RydWN0b3Iob3B0aW9uczogT3B0aW9ucywgaW5wdXQ6IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5zdGF0ZSA9IG5ldyBTdGF0ZSgpO1xuICAgIHRoaXMuc3RhdGUuaW5pdChvcHRpb25zKTtcbiAgICB0aGlzLmlucHV0ID0gaW5wdXQ7XG4gICAgdGhpcy5sZW5ndGggPSBpbnB1dC5sZW5ndGg7XG4gICAgdGhpcy5jb21tZW50cyA9IFtdO1xuICAgIHRoaXMuaXNMb29rYWhlYWQgPSBmYWxzZTtcbiAgfVxuXG4gIHB1c2hUb2tlbih0b2tlbjogVG9rZW4gfCBOLkNvbW1lbnQpIHtcbiAgICAvLyBQb3Agb3V0IGludmFsaWQgdG9rZW5zIHRyYXBwZWQgYnkgdHJ5LWNhdGNoIHBhcnNpbmcuXG4gICAgLy8gVGhvc2UgcGFyc2luZyBicmFuY2hlcyBhcmUgbWFpbmx5IGNyZWF0ZWQgYnkgdHlwZXNjcmlwdCBhbmQgZmxvdyBwbHVnaW5zLlxuICAgIHRoaXMudG9rZW5zLmxlbmd0aCA9IHRoaXMuc3RhdGUudG9rZW5zTGVuZ3RoO1xuICAgIHRoaXMudG9rZW5zLnB1c2godG9rZW4pO1xuICAgICsrdGhpcy5zdGF0ZS50b2tlbnNMZW5ndGg7XG4gIH1cblxuICAvLyBNb3ZlIHRvIHRoZSBuZXh0IHRva2VuXG5cbiAgbmV4dCgpOiB2b2lkIHtcbiAgICB0aGlzLmNoZWNrS2V5d29yZEVzY2FwZXMoKTtcbiAgICBpZiAodGhpcy5vcHRpb25zLnRva2Vucykge1xuICAgICAgdGhpcy5wdXNoVG9rZW4obmV3IFRva2VuKHRoaXMuc3RhdGUpKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlLmxhc3RUb2tFbmRMb2MgPSB0aGlzLnN0YXRlLmVuZExvYztcbiAgICB0aGlzLnN0YXRlLmxhc3RUb2tTdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgdGhpcy5uZXh0VG9rZW4oKTtcbiAgfVxuXG4gIGVhdCh0eXBlOiBUb2tlblR5cGUpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tYXRjaCh0eXBlKSkge1xuICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBXaGV0aGVyIGN1cnJlbnQgdG9rZW4gbWF0Y2hlcyBnaXZlbiB0eXBlXG4gICAqL1xuICBtYXRjaCh0eXBlOiBUb2tlblR5cGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZS50eXBlID09PSB0eXBlO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZSBhIExvb2thaGVhZFN0YXRlIGZyb20gY3VycmVudCBwYXJzZXIgc3RhdGVcbiAgICovXG4gIGNyZWF0ZUxvb2thaGVhZFN0YXRlKHN0YXRlOiBTdGF0ZSk6IExvb2thaGVhZFN0YXRlIHtcbiAgICByZXR1cm4ge1xuICAgICAgcG9zOiBzdGF0ZS5wb3MsXG4gICAgICB2YWx1ZTogbnVsbCxcbiAgICAgIHR5cGU6IHN0YXRlLnR5cGUsXG4gICAgICBzdGFydDogc3RhdGUuc3RhcnQsXG4gICAgICBlbmQ6IHN0YXRlLmVuZCxcbiAgICAgIGNvbnRleHQ6IFt0aGlzLmN1ckNvbnRleHQoKV0sXG4gICAgICBpblR5cGU6IHN0YXRlLmluVHlwZSxcbiAgICAgIHN0YXJ0TG9jOiBzdGF0ZS5zdGFydExvYyxcbiAgICAgIGxhc3RUb2tFbmRMb2M6IHN0YXRlLmxhc3RUb2tFbmRMb2MsXG4gICAgICBjdXJMaW5lOiBzdGF0ZS5jdXJMaW5lLFxuICAgICAgbGluZVN0YXJ0OiBzdGF0ZS5saW5lU3RhcnQsXG4gICAgICBjdXJQb3NpdGlvbjogc3RhdGUuY3VyUG9zaXRpb24sXG4gICAgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBsb29rYWhlYWQgcGVla3MgdGhlIG5leHQgdG9rZW4sIHNraXBwaW5nIGNoYW5nZXMgdG8gdG9rZW4gY29udGV4dCBhbmRcbiAgICogY29tbWVudCBzdGFjay4gRm9yIHBlcmZvcm1hbmNlIGl0IHJldHVybnMgYSBsaW1pdGVkIExvb2thaGVhZFN0YXRlXG4gICAqIGluc3RlYWQgb2YgZnVsbCBwYXJzZXIgc3RhdGUuXG4gICAqXG4gICAqIFRoZSB7IGNvbHVtbiwgbGluZSB9IExvYyBpbmZvIGlzIG5vdCBpbmNsdWRlZCBpbiBsb29rYWhlYWQgc2luY2Ugc3VjaCB1c2FnZVxuICAgKiBpcyByYXJlLiBBbHRob3VnaCBpdCBtYXkgcmV0dXJuIG90aGVyIGxvY2F0aW9uIHByb3BlcnRpZXMgZS5nLiBgY3VyTGluZWAgYW5kXG4gICAqIGBsaW5lU3RhcnRgLCB0aGVzZSBwcm9wZXJ0aWVzIGFyZSBub3QgbGlzdGVkIGluIHRoZSBMb29rYWhlYWRTdGF0ZSBpbnRlcmZhY2VcbiAgICogYW5kIHRodXMgdGhlIHJldHVybmVkIHZhbHVlIGlzIF9OT1RfIHJlbGlhYmxlLlxuICAgKlxuICAgKiBUaGUgdG9rZW5pemVyIHNob3VsZCBtYWtlIGJlc3QgZWZmb3J0cyB0byBhdm9pZCB1c2luZyBhbnkgcGFyc2VyIHN0YXRlXG4gICAqIG90aGVyIHRoYW4gdGhvc2UgZGVmaW5lZCBpbiBMb29rYWhlYWRTdGF0ZVxuICAgKi9cbiAgbG9va2FoZWFkKCk6IExvb2thaGVhZFN0YXRlIHtcbiAgICBjb25zdCBvbGQgPSB0aGlzLnN0YXRlO1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgRm9yIHBlcmZvcm1hbmNlIHdlIHVzZSBhIHNpbXBsaWZpZWQgdG9rZW5pemVyIHN0YXRlIHN0cnVjdHVyZVxuICAgIHRoaXMuc3RhdGUgPSB0aGlzLmNyZWF0ZUxvb2thaGVhZFN0YXRlKG9sZCk7XG5cbiAgICB0aGlzLmlzTG9va2FoZWFkID0gdHJ1ZTtcbiAgICB0aGlzLm5leHRUb2tlbigpO1xuICAgIHRoaXMuaXNMb29rYWhlYWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IGN1cnIgPSB0aGlzLnN0YXRlO1xuICAgIHRoaXMuc3RhdGUgPSBvbGQ7XG4gICAgcmV0dXJuIGN1cnI7XG4gIH1cblxuICBuZXh0VG9rZW5TdGFydCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm5leHRUb2tlblN0YXJ0U2luY2UodGhpcy5zdGF0ZS5wb3MpO1xuICB9XG5cbiAgbmV4dFRva2VuU3RhcnRTaW5jZShwb3M6IG51bWJlcik6IG51bWJlciB7XG4gICAgc2tpcFdoaXRlU3BhY2UubGFzdEluZGV4ID0gcG9zO1xuICAgIHJldHVybiBza2lwV2hpdGVTcGFjZS50ZXN0KHRoaXMuaW5wdXQpID8gc2tpcFdoaXRlU3BhY2UubGFzdEluZGV4IDogcG9zO1xuICB9XG5cbiAgbG9va2FoZWFkQ2hhckNvZGUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMubmV4dFRva2VuU3RhcnQoKSk7XG4gIH1cblxuICAvKipcbiAgICogU2ltaWxhciB0byBuZXh0VG9rZW4sIGJ1dCBpdCB3aWxsIHN0b3AgYXQgbGluZSBicmVhayB3aGVuIGl0IGlzIHNlZW4gYmVmb3JlIHRoZSBuZXh0IHRva2VuXG4gICAqXG4gICAqIEByZXR1cm5zIHtudW1iZXJ9IHBvc2l0aW9uIG9mIHRoZSBuZXh0IHRva2VuIHN0YXJ0IG9yIGxpbmUgYnJlYWssIHdoaWNoZXZlciBpcyBzZWVuIGZpcnN0LlxuICAgKiBAbWVtYmVyb2YgVG9rZW5pemVyXG4gICAqL1xuICBuZXh0VG9rZW5JbkxpbmVTdGFydCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLm5leHRUb2tlbkluTGluZVN0YXJ0U2luY2UodGhpcy5zdGF0ZS5wb3MpO1xuICB9XG5cbiAgbmV4dFRva2VuSW5MaW5lU3RhcnRTaW5jZShwb3M6IG51bWJlcik6IG51bWJlciB7XG4gICAgc2tpcFdoaXRlU3BhY2VJbkxpbmUubGFzdEluZGV4ID0gcG9zO1xuICAgIHJldHVybiBza2lwV2hpdGVTcGFjZUluTGluZS50ZXN0KHRoaXMuaW5wdXQpXG4gICAgICA/IHNraXBXaGl0ZVNwYWNlSW5MaW5lLmxhc3RJbmRleFxuICAgICAgOiBwb3M7XG4gIH1cblxuICAvKipcbiAgICogU2ltaWxhciB0byBsb29rYWhlYWRDaGFyQ29kZSwgYnV0IGl0IHdpbGwgcmV0dXJuIHRoZSBjaGFyIGNvZGUgb2YgbGluZSBicmVhayBpZiBpdCBpc1xuICAgKiBzZWVuIGJlZm9yZSB0aGUgbmV4dCB0b2tlblxuICAgKlxuICAgKiBAcmV0dXJucyB7bnVtYmVyfSBjaGFyIGNvZGUgb2YgdGhlIG5leHQgdG9rZW4gc3RhcnQgb3IgbGluZSBicmVhaywgd2hpY2hldmVyIGlzIHNlZW4gZmlyc3QuXG4gICAqIEBtZW1iZXJvZiBUb2tlbml6ZXJcbiAgICovXG4gIGxvb2thaGVhZEluTGluZUNoYXJDb2RlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLm5leHRUb2tlbkluTGluZVN0YXJ0KCkpO1xuICB9XG5cbiAgY29kZVBvaW50QXRQb3MocG9zOiBudW1iZXIpOiBudW1iZXIge1xuICAgIC8vIFRoZSBpbXBsZW1lbnRhdGlvbiBpcyBiYXNlZCBvblxuICAgIC8vIGh0dHBzOi8vc291cmNlLmNocm9taXVtLm9yZy9jaHJvbWl1bS9jaHJvbWl1bS9zcmMvKy9tYXN0ZXI6djgvc3JjL2J1aWx0aW5zL2J1aWx0aW5zLXN0cmluZy1nZW4uY2M7bD0xNDU1O2RyYz0yMjFlMzMxYjQ5ZGZlZmFkYmM2ZmE0MGIwYzY4ZTZmOTc2MDZkMGIzO2Jwdj0wO2JwdD0xXG4gICAgLy8gV2UgcmVpbXBsZW1lbnQgYGNvZGVQb2ludEF0YCBiZWNhdXNlIGBjb2RlUG9pbnRBdGAgaXMgYSBWOCBidWlsdGluIHdoaWNoIGlzIG5vdCBpbmxpbmVkIGJ5IFR1cmJvRmFuIChhcyBvZiBNOTEpXG4gICAgLy8gc2luY2UgYGlucHV0YCBpcyBtb3N0bHkgQVNDSUksIGFuIGlubGluZWQgYGNoYXJDb2RlQXRgIHdpbnMgaGVyZVxuICAgIGxldCBjcCA9IHRoaXMuaW5wdXQuY2hhckNvZGVBdChwb3MpO1xuICAgIGlmICgoY3AgJiAweGZjMDApID09PSAweGQ4MDAgJiYgKytwb3MgPCB0aGlzLmlucHV0Lmxlbmd0aCkge1xuICAgICAgY29uc3QgdHJhaWwgPSB0aGlzLmlucHV0LmNoYXJDb2RlQXQocG9zKTtcbiAgICAgIGlmICgodHJhaWwgJiAweGZjMDApID09PSAweGRjMDApIHtcbiAgICAgICAgY3AgPSAweDEwMDAwICsgKChjcCAmIDB4M2ZmKSA8PCAxMCkgKyAodHJhaWwgJiAweDNmZik7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjcDtcbiAgfVxuXG4gIC8vIFRvZ2dsZSBzdHJpY3QgbW9kZS4gUmUtcmVhZHMgdGhlIG5leHQgbnVtYmVyIG9yIHN0cmluZyB0byBwbGVhc2VcbiAgLy8gcGVkYW50aWMgdGVzdHMgKGBcInVzZSBzdHJpY3RcIjsgMDEwO2Agc2hvdWxkIGZhaWwpLlxuXG4gIHNldFN0cmljdChzdHJpY3Q6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlLnN0cmljdCA9IHN0cmljdDtcbiAgICBpZiAoc3RyaWN0KSB7XG4gICAgICAvLyBUaHJvdyBhbiBlcnJvciBmb3IgYW55IHN0cmluZyBkZWNpbWFsIGVzY2FwZSBmb3VuZCBiZWZvcmUvaW1tZWRpYXRlbHlcbiAgICAgIC8vIGFmdGVyIGEgXCJ1c2Ugc3RyaWN0XCIgZGlyZWN0aXZlLiBTdHJpY3QgbW9kZSB3aWxsIGJlIHNldCBhdCBwYXJzZVxuICAgICAgLy8gdGltZSBmb3IgYW55IGxpdGVyYWxzIHRoYXQgb2NjdXIgYWZ0ZXIgdGhlIG5leHQgbm9kZSBvZiB0aGUgc3RyaWN0XG4gICAgICAvLyBkaXJlY3RpdmUuXG4gICAgICB0aGlzLnN0YXRlLnN0cmljdEVycm9ycy5mb3JFYWNoKChbdG9QYXJzZUVycm9yLCBhdF0pID0+XG4gICAgICAgIHRoaXMucmFpc2UodG9QYXJzZUVycm9yLCBhdCksXG4gICAgICApO1xuICAgICAgdGhpcy5zdGF0ZS5zdHJpY3RFcnJvcnMuY2xlYXIoKTtcbiAgICB9XG4gIH1cblxuICBjdXJDb250ZXh0KCk6IFRva0NvbnRleHQge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLmNvbnRleHRbdGhpcy5zdGF0ZS5jb250ZXh0Lmxlbmd0aCAtIDFdO1xuICB9XG5cbiAgLy8gUmVhZCBhIHNpbmdsZSB0b2tlbiwgdXBkYXRpbmcgdGhlIHBhcnNlciBvYmplY3QncyB0b2tlbi1yZWxhdGVkIHByb3BlcnRpZXMuXG4gIG5leHRUb2tlbigpOiB2b2lkIHtcbiAgICB0aGlzLnNraXBTcGFjZSgpO1xuICAgIHRoaXMuc3RhdGUuc3RhcnQgPSB0aGlzLnN0YXRlLnBvcztcbiAgICBpZiAoIXRoaXMuaXNMb29rYWhlYWQpIHRoaXMuc3RhdGUuc3RhcnRMb2MgPSB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCk7XG4gICAgaWYgKHRoaXMuc3RhdGUucG9zID49IHRoaXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LmVvZik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5nZXRUb2tlbkZyb21Db2RlKHRoaXMuY29kZVBvaW50QXRQb3ModGhpcy5zdGF0ZS5wb3MpKTtcbiAgfVxuXG4gIC8vIFNraXBzIGEgYmxvY2sgY29tbWVudCwgd2hvc2UgZW5kIGlzIG1hcmtlZCBieSBjb21tZW50RW5kLlxuICAvLyAqLS8gaXMgdXNlZCBieSB0aGUgRmxvdyBwbHVnaW4sIHdoZW4gcGFyc2luZyBibG9jayBjb21tZW50cyBuZXN0ZWRcbiAgLy8gaW5zaWRlIEZsb3cgY29tbWVudHMuXG4gIHNraXBCbG9ja0NvbW1lbnQoY29tbWVudEVuZDogXCIqL1wiIHwgXCIqLS9cIik6IE4uQ29tbWVudEJsb2NrIHwgdW5kZWZpbmVkIHtcbiAgICBsZXQgc3RhcnRMb2M7XG4gICAgaWYgKCF0aGlzLmlzTG9va2FoZWFkKSBzdGFydExvYyA9IHRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKTtcbiAgICBjb25zdCBzdGFydCA9IHRoaXMuc3RhdGUucG9zO1xuICAgIGNvbnN0IGVuZCA9IHRoaXMuaW5wdXQuaW5kZXhPZihjb21tZW50RW5kLCBzdGFydCArIDIpO1xuICAgIGlmIChlbmQgPT09IC0xKSB7XG4gICAgICAvLyBXZSBoYXZlIHRvIGNhbGwgdGhpcyBhZ2FpbiBoZXJlIGJlY2F1c2Ugc3RhcnRMb2MgbWF5IG5vdCBiZSBzZXQuLi5cbiAgICAgIC8vIFRoaXMgc2VlbXMgdG8gYmUgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnM6XG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYmFiZWwvYmFiZWwvY29tbWl0L2FjZjJhMTA4OTlmNjk2YThhYWYzNGRmNzhiZjk3MjViNWVhN2YyZGFcbiAgICAgIHRocm93IHRoaXMucmFpc2UoRXJyb3JzLlVudGVybWluYXRlZENvbW1lbnQsIHRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZS5wb3MgPSBlbmQgKyBjb21tZW50RW5kLmxlbmd0aDtcbiAgICBsaW5lQnJlYWtHLmxhc3RJbmRleCA9IHN0YXJ0ICsgMjtcbiAgICB3aGlsZSAobGluZUJyZWFrRy50ZXN0KHRoaXMuaW5wdXQpICYmIGxpbmVCcmVha0cubGFzdEluZGV4IDw9IGVuZCkge1xuICAgICAgKyt0aGlzLnN0YXRlLmN1ckxpbmU7XG4gICAgICB0aGlzLnN0YXRlLmxpbmVTdGFydCA9IGxpbmVCcmVha0cubGFzdEluZGV4O1xuICAgIH1cblxuICAgIC8vIElmIHdlIGFyZSBkb2luZyBhIGxvb2thaGVhZCByaWdodCBub3cgd2UgbmVlZCB0byBhZHZhbmNlIHRoZSBwb3NpdGlvbiAoYWJvdmUgY29kZSlcbiAgICAvLyBidXQgd2UgZG8gbm90IHdhbnQgdG8gcHVzaCB0aGUgY29tbWVudCB0byB0aGUgc3RhdGUuXG4gICAgaWYgKHRoaXMuaXNMb29rYWhlYWQpIHJldHVybjtcbiAgICAvKjo6IGludmFyaWFudChzdGFydExvYykgKi9cblxuICAgIGNvbnN0IGNvbW1lbnQ6IE4uQ29tbWVudEJsb2NrID0ge1xuICAgICAgdHlwZTogXCJDb21tZW50QmxvY2tcIixcbiAgICAgIHZhbHVlOiB0aGlzLmlucHV0LnNsaWNlKHN0YXJ0ICsgMiwgZW5kKSxcbiAgICAgIHN0YXJ0OiB0aGlzLnNvdXJjZVRvT2Zmc2V0UG9zKHN0YXJ0KSxcbiAgICAgIGVuZDogdGhpcy5zb3VyY2VUb09mZnNldFBvcyhlbmQgKyBjb21tZW50RW5kLmxlbmd0aCksXG4gICAgICBsb2M6IG5ldyBTb3VyY2VMb2NhdGlvbihzdGFydExvYywgdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpKSxcbiAgICB9O1xuICAgIGlmICh0aGlzLm9wdGlvbnMudG9rZW5zKSB0aGlzLnB1c2hUb2tlbihjb21tZW50KTtcbiAgICByZXR1cm4gY29tbWVudDtcbiAgfVxuXG4gIHNraXBMaW5lQ29tbWVudChzdGFydFNraXA6IG51bWJlcik6IE4uQ29tbWVudExpbmUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGF0ZS5wb3M7XG4gICAgbGV0IHN0YXJ0TG9jO1xuICAgIGlmICghdGhpcy5pc0xvb2thaGVhZCkgc3RhcnRMb2MgPSB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCk7XG4gICAgbGV0IGNoID0gdGhpcy5pbnB1dC5jaGFyQ29kZUF0KCh0aGlzLnN0YXRlLnBvcyArPSBzdGFydFNraXApKTtcbiAgICBpZiAodGhpcy5zdGF0ZS5wb3MgPCB0aGlzLmxlbmd0aCkge1xuICAgICAgd2hpbGUgKCFpc05ld0xpbmUoY2gpICYmICsrdGhpcy5zdGF0ZS5wb3MgPCB0aGlzLmxlbmd0aCkge1xuICAgICAgICBjaCA9IHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgd2UgYXJlIGRvaW5nIGEgbG9va2FoZWFkIHJpZ2h0IG5vdyB3ZSBuZWVkIHRvIGFkdmFuY2UgdGhlIHBvc2l0aW9uIChhYm92ZSBjb2RlKVxuICAgIC8vIGJ1dCB3ZSBkbyBub3Qgd2FudCB0byBwdXNoIHRoZSBjb21tZW50IHRvIHRoZSBzdGF0ZS5cbiAgICBpZiAodGhpcy5pc0xvb2thaGVhZCkgcmV0dXJuO1xuXG4gICAgY29uc3QgZW5kID0gdGhpcy5zdGF0ZS5wb3M7XG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLmlucHV0LnNsaWNlKHN0YXJ0ICsgc3RhcnRTa2lwLCBlbmQpO1xuXG4gICAgY29uc3QgY29tbWVudDogTi5Db21tZW50TGluZSA9IHtcbiAgICAgIHR5cGU6IFwiQ29tbWVudExpbmVcIixcbiAgICAgIHZhbHVlLFxuICAgICAgc3RhcnQ6IHRoaXMuc291cmNlVG9PZmZzZXRQb3Moc3RhcnQpLFxuICAgICAgZW5kOiB0aGlzLnNvdXJjZVRvT2Zmc2V0UG9zKGVuZCksXG4gICAgICBsb2M6IG5ldyBTb3VyY2VMb2NhdGlvbihzdGFydExvYywgdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpKSxcbiAgICB9O1xuICAgIGlmICh0aGlzLm9wdGlvbnMudG9rZW5zKSB0aGlzLnB1c2hUb2tlbihjb21tZW50KTtcbiAgICByZXR1cm4gY29tbWVudDtcbiAgfVxuXG4gIC8vIENhbGxlZCBhdCB0aGUgc3RhcnQgb2YgdGhlIHBhcnNlIGFuZCBhZnRlciBldmVyeSB0b2tlbi4gU2tpcHNcbiAgLy8gd2hpdGVzcGFjZSBhbmQgY29tbWVudHMsIGFuZC5cblxuICBza2lwU3BhY2UoKTogdm9pZCB7XG4gICAgY29uc3Qgc3BhY2VTdGFydCA9IHRoaXMuc3RhdGUucG9zO1xuICAgIGNvbnN0IGNvbW1lbnRzID0gW107XG4gICAgbG9vcDogd2hpbGUgKHRoaXMuc3RhdGUucG9zIDwgdGhpcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGNoID0gdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zKTtcbiAgICAgIHN3aXRjaCAoY2gpIHtcbiAgICAgICAgY2FzZSBjaGFyQ29kZXMuc3BhY2U6XG4gICAgICAgIGNhc2UgY2hhckNvZGVzLm5vbkJyZWFraW5nU3BhY2U6XG4gICAgICAgIGNhc2UgY2hhckNvZGVzLnRhYjpcbiAgICAgICAgICArK3RoaXMuc3RhdGUucG9zO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIGNoYXJDb2Rlcy5jYXJyaWFnZVJldHVybjpcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MgKyAxKSA9PT0gY2hhckNvZGVzLmxpbmVGZWVkXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICArK3RoaXMuc3RhdGUucG9zO1xuICAgICAgICAgIH1cbiAgICAgICAgLy8gZmFsbCB0aHJvdWdoXG4gICAgICAgIGNhc2UgY2hhckNvZGVzLmxpbmVGZWVkOlxuICAgICAgICBjYXNlIGNoYXJDb2Rlcy5saW5lU2VwYXJhdG9yOlxuICAgICAgICBjYXNlIGNoYXJDb2Rlcy5wYXJhZ3JhcGhTZXBhcmF0b3I6XG4gICAgICAgICAgKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgICAgICArK3RoaXMuc3RhdGUuY3VyTGluZTtcbiAgICAgICAgICB0aGlzLnN0YXRlLmxpbmVTdGFydCA9IHRoaXMuc3RhdGUucG9zO1xuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgY2hhckNvZGVzLnNsYXNoOlxuICAgICAgICAgIHN3aXRjaCAodGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zICsgMSkpIHtcbiAgICAgICAgICAgIGNhc2UgY2hhckNvZGVzLmFzdGVyaXNrOiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNvbW1lbnQgPSB0aGlzLnNraXBCbG9ja0NvbW1lbnQoXCIqL1wiKTtcbiAgICAgICAgICAgICAgaWYgKGNvbW1lbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkQ29tbWVudChjb21tZW50KTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmF0dGFjaENvbW1lbnQpIGNvbW1lbnRzLnB1c2goY29tbWVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNhc2UgY2hhckNvZGVzLnNsYXNoOiB7XG4gICAgICAgICAgICAgIGNvbnN0IGNvbW1lbnQgPSB0aGlzLnNraXBMaW5lQ29tbWVudCgyKTtcbiAgICAgICAgICAgICAgaWYgKGNvbW1lbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkQ29tbWVudChjb21tZW50KTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmF0dGFjaENvbW1lbnQpIGNvbW1lbnRzLnB1c2goY29tbWVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIGJyZWFrIGxvb3A7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgaWYgKGlzV2hpdGVzcGFjZShjaCkpIHtcbiAgICAgICAgICAgICsrdGhpcy5zdGF0ZS5wb3M7XG4gICAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAgIGNoID09PSBjaGFyQ29kZXMuZGFzaCAmJlxuICAgICAgICAgICAgIXRoaXMuaW5Nb2R1bGUgJiZcbiAgICAgICAgICAgIHRoaXMub3B0aW9ucy5hbm5leEJcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnN0IHBvcyA9IHRoaXMuc3RhdGUucG9zO1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICB0aGlzLmlucHV0LmNoYXJDb2RlQXQocG9zICsgMSkgPT09IGNoYXJDb2Rlcy5kYXNoICYmXG4gICAgICAgICAgICAgIHRoaXMuaW5wdXQuY2hhckNvZGVBdChwb3MgKyAyKSA9PT0gY2hhckNvZGVzLmdyZWF0ZXJUaGFuICYmXG4gICAgICAgICAgICAgIChzcGFjZVN0YXJ0ID09PSAwIHx8IHRoaXMuc3RhdGUubGluZVN0YXJ0ID4gc3BhY2VTdGFydClcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAvLyBBIGAtLT5gIGxpbmUgY29tbWVudFxuICAgICAgICAgICAgICBjb25zdCBjb21tZW50ID0gdGhpcy5za2lwTGluZUNvbW1lbnQoMyk7XG4gICAgICAgICAgICAgIGlmIChjb21tZW50ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFkZENvbW1lbnQoY29tbWVudCk7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5hdHRhY2hDb21tZW50KSBjb21tZW50cy5wdXNoKGNvbW1lbnQpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBicmVhayBsb29wO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgICBjaCA9PT0gY2hhckNvZGVzLmxlc3NUaGFuICYmXG4gICAgICAgICAgICAhdGhpcy5pbk1vZHVsZSAmJlxuICAgICAgICAgICAgdGhpcy5vcHRpb25zLmFubmV4QlxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgcG9zID0gdGhpcy5zdGF0ZS5wb3M7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIHRoaXMuaW5wdXQuY2hhckNvZGVBdChwb3MgKyAxKSA9PT0gY2hhckNvZGVzLmV4Y2xhbWF0aW9uTWFyayAmJlxuICAgICAgICAgICAgICB0aGlzLmlucHV0LmNoYXJDb2RlQXQocG9zICsgMikgPT09IGNoYXJDb2Rlcy5kYXNoICYmXG4gICAgICAgICAgICAgIHRoaXMuaW5wdXQuY2hhckNvZGVBdChwb3MgKyAzKSA9PT0gY2hhckNvZGVzLmRhc2hcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAvLyBgPCEtLWAsIGFuIFhNTC1zdHlsZSBjb21tZW50IHRoYXQgc2hvdWxkIGJlIGludGVycHJldGVkIGFzIGEgbGluZSBjb21tZW50XG4gICAgICAgICAgICAgIGNvbnN0IGNvbW1lbnQgPSB0aGlzLnNraXBMaW5lQ29tbWVudCg0KTtcbiAgICAgICAgICAgICAgaWYgKGNvbW1lbnQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYWRkQ29tbWVudChjb21tZW50KTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5vcHRpb25zLmF0dGFjaENvbW1lbnQpIGNvbW1lbnRzLnB1c2goY29tbWVudCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIGJyZWFrIGxvb3A7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGJyZWFrIGxvb3A7XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjb21tZW50cy5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBlbmQgPSB0aGlzLnN0YXRlLnBvcztcbiAgICAgIGNvbnN0IGNvbW1lbnRXaGl0ZXNwYWNlOiBDb21tZW50V2hpdGVzcGFjZSA9IHtcbiAgICAgICAgc3RhcnQ6IHRoaXMuc291cmNlVG9PZmZzZXRQb3Moc3BhY2VTdGFydCksXG4gICAgICAgIGVuZDogdGhpcy5zb3VyY2VUb09mZnNldFBvcyhlbmQpLFxuICAgICAgICBjb21tZW50cyxcbiAgICAgICAgbGVhZGluZ05vZGU6IG51bGwsXG4gICAgICAgIHRyYWlsaW5nTm9kZTogbnVsbCxcbiAgICAgICAgY29udGFpbmluZ05vZGU6IG51bGwsXG4gICAgICB9O1xuICAgICAgdGhpcy5zdGF0ZS5jb21tZW50U3RhY2sucHVzaChjb21tZW50V2hpdGVzcGFjZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2FsbGVkIGF0IHRoZSBlbmQgb2YgZXZlcnkgdG9rZW4uIFNldHMgYGVuZGAsIGB2YWxgLCBhbmRcbiAgLy8gbWFpbnRhaW5zIGBjb250ZXh0YCBhbmQgYGNhblN0YXJ0SlNYRWxlbWVudGAsIGFuZCBza2lwcyB0aGUgc3BhY2UgYWZ0ZXJcbiAgLy8gdGhlIHRva2VuLCBzbyB0aGF0IHRoZSBuZXh0IG9uZSdzIGBzdGFydGAgd2lsbCBwb2ludCBhdCB0aGVcbiAgLy8gcmlnaHQgcG9zaXRpb24uXG5cbiAgZmluaXNoVG9rZW4odHlwZTogVG9rZW5UeXBlLCB2YWw/OiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlLmVuZCA9IHRoaXMuc3RhdGUucG9zO1xuICAgIHRoaXMuc3RhdGUuZW5kTG9jID0gdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpO1xuICAgIGNvbnN0IHByZXZUeXBlID0gdGhpcy5zdGF0ZS50eXBlO1xuICAgIHRoaXMuc3RhdGUudHlwZSA9IHR5cGU7XG4gICAgdGhpcy5zdGF0ZS52YWx1ZSA9IHZhbDtcblxuICAgIGlmICghdGhpcy5pc0xvb2thaGVhZCkge1xuICAgICAgdGhpcy51cGRhdGVDb250ZXh0KHByZXZUeXBlKTtcbiAgICB9XG4gIH1cblxuICByZXBsYWNlVG9rZW4odHlwZTogVG9rZW5UeXBlKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZS50eXBlID0gdHlwZTtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHRoZSBwcmV2VHlwZSBvZiB1cGRhdGVDb250ZXh0IGlzIHJlcXVpcmVkXG4gICAgLy8gb25seSB3aGVuIHRoZSBuZXcgdHlwZSBpcyB0dC5zbGFzaC90dC5qc3hUYWdFbmRcbiAgICB0aGlzLnVwZGF0ZUNvbnRleHQoKTtcbiAgfVxuXG4gIC8vICMjIyBUb2tlbiByZWFkaW5nXG5cbiAgLy8gVGhpcyBpcyB0aGUgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgdG8gZmV0Y2ggdGhlIG5leHQgdG9rZW4uIEl0XG4gIC8vIGlzIHNvbWV3aGF0IG9ic2N1cmUsIGJlY2F1c2UgaXQgd29ya3MgaW4gY2hhcmFjdGVyIGNvZGVzIHJhdGhlclxuICAvLyB0aGFuIGNoYXJhY3RlcnMsIGFuZCBiZWNhdXNlIG9wZXJhdG9yIHBhcnNpbmcgaGFzIGJlZW4gaW5saW5lZFxuICAvLyBpbnRvIGl0LlxuICAvL1xuICAvLyBBbGwgaW4gdGhlIG5hbWUgb2Ygc3BlZWQuXG5cbiAgLy8gbnVtYmVyIHNpZ24gaXMgXCIjXCJcbiAgcmVhZFRva2VuX251bWJlclNpZ24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuc3RhdGUucG9zID09PSAwICYmIHRoaXMucmVhZFRva2VuX2ludGVycHJldGVyKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0UG9zID0gdGhpcy5zdGF0ZS5wb3MgKyAxO1xuICAgIGNvbnN0IG5leHQgPSB0aGlzLmNvZGVQb2ludEF0UG9zKG5leHRQb3MpO1xuICAgIGlmIChuZXh0ID49IGNoYXJDb2Rlcy5kaWdpdDAgJiYgbmV4dCA8PSBjaGFyQ29kZXMuZGlnaXQ5KSB7XG4gICAgICB0aHJvdyB0aGlzLnJhaXNlKFxuICAgICAgICBFcnJvcnMuVW5leHBlY3RlZERpZ2l0QWZ0ZXJIYXNoLFxuICAgICAgICB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCksXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIG5leHQgPT09IGNoYXJDb2Rlcy5sZWZ0Q3VybHlCcmFjZSB8fFxuICAgICAgKG5leHQgPT09IGNoYXJDb2Rlcy5sZWZ0U3F1YXJlQnJhY2tldCAmJiB0aGlzLmhhc1BsdWdpbihcInJlY29yZEFuZFR1cGxlXCIpKVxuICAgICkge1xuICAgICAgLy8gV2hlbiB3ZSBzZWUgYCN7YCwgaXQgaXMgbGlrZWx5IHRvIGJlIGEgaGFzaCByZWNvcmQuXG4gICAgICAvLyBIb3dldmVyIHdlIGRvbid0IHllbGwgYXQgYCNbYCBzaW5jZSB1c2VycyBtYXkgaW50ZW5kIHRvIHVzZSBcImNvbXB1dGVkIHByaXZhdGUgZmllbGRzXCIsXG4gICAgICAvLyB3aGljaCBpcyBub3QgYWxsb3dlZCBpbiB0aGUgc3BlYy4gVGhyb3dpbmcgZXhwZWN0aW5nIHJlY29yZEFuZFR1cGxlIGlzXG4gICAgICAvLyBtaXNsZWFkaW5nXG4gICAgICB0aGlzLmV4cGVjdFBsdWdpbihcInJlY29yZEFuZFR1cGxlXCIpO1xuICAgICAgaWYgKFxuICAgICAgICAhcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORyAmJlxuICAgICAgICB0aGlzLmdldFBsdWdpbk9wdGlvbihcInJlY29yZEFuZFR1cGxlXCIsIFwic3ludGF4VHlwZVwiKSA9PT0gXCJiYXJcIlxuICAgICAgKSB7XG4gICAgICAgIHRocm93IHRoaXMucmFpc2UoXG4gICAgICAgICAgbmV4dCA9PT0gY2hhckNvZGVzLmxlZnRDdXJseUJyYWNlXG4gICAgICAgICAgICA/IEVycm9ycy5SZWNvcmRFeHByZXNzaW9uSGFzaEluY29ycmVjdFN0YXJ0U3ludGF4VHlwZVxuICAgICAgICAgICAgOiBFcnJvcnMuVHVwbGVFeHByZXNzaW9uSGFzaEluY29ycmVjdFN0YXJ0U3ludGF4VHlwZSxcbiAgICAgICAgICB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCksXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc3RhdGUucG9zICs9IDI7XG4gICAgICBpZiAobmV4dCA9PT0gY2hhckNvZGVzLmxlZnRDdXJseUJyYWNlKSB7XG4gICAgICAgIC8vICN7XG4gICAgICAgIHRoaXMuZmluaXNoVG9rZW4odHQuYnJhY2VIYXNoTCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyAjW1xuICAgICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LmJyYWNrZXRIYXNoTCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc0lkZW50aWZpZXJTdGFydChuZXh0KSkge1xuICAgICAgKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgIHRoaXMuZmluaXNoVG9rZW4odHQucHJpdmF0ZU5hbWUsIHRoaXMucmVhZFdvcmQxKG5leHQpKTtcbiAgICB9IGVsc2UgaWYgKG5leHQgPT09IGNoYXJDb2Rlcy5iYWNrc2xhc2gpIHtcbiAgICAgICsrdGhpcy5zdGF0ZS5wb3M7XG4gICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LnByaXZhdGVOYW1lLCB0aGlzLnJlYWRXb3JkMSgpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maW5pc2hPcCh0dC5oYXNoLCAxKTtcbiAgICB9XG4gIH1cblxuICByZWFkVG9rZW5fZG90KCk6IHZvaWQge1xuICAgIGNvbnN0IG5leHQgPSB0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MgKyAxKTtcbiAgICBpZiAobmV4dCA+PSBjaGFyQ29kZXMuZGlnaXQwICYmIG5leHQgPD0gY2hhckNvZGVzLmRpZ2l0OSkge1xuICAgICAgdGhpcy5yZWFkTnVtYmVyKHRydWUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIG5leHQgPT09IGNoYXJDb2Rlcy5kb3QgJiZcbiAgICAgIHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyArIDIpID09PSBjaGFyQ29kZXMuZG90XG4gICAgKSB7XG4gICAgICB0aGlzLnN0YXRlLnBvcyArPSAzO1xuICAgICAgdGhpcy5maW5pc2hUb2tlbih0dC5lbGxpcHNpcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgICsrdGhpcy5zdGF0ZS5wb3M7XG4gICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LmRvdCk7XG4gICAgfVxuICB9XG5cbiAgcmVhZFRva2VuX3NsYXNoKCk6IHZvaWQge1xuICAgIGNvbnN0IG5leHQgPSB0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MgKyAxKTtcbiAgICBpZiAobmV4dCA9PT0gY2hhckNvZGVzLmVxdWFsc1RvKSB7XG4gICAgICB0aGlzLmZpbmlzaE9wKHR0LnNsYXNoQXNzaWduLCAyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maW5pc2hPcCh0dC5zbGFzaCwgMSk7XG4gICAgfVxuICB9XG5cbiAgcmVhZFRva2VuX2ludGVycHJldGVyKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLnN0YXRlLnBvcyAhPT0gMCB8fCB0aGlzLmxlbmd0aCA8IDIpIHJldHVybiBmYWxzZTtcblxuICAgIGxldCBjaCA9IHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyArIDEpO1xuICAgIGlmIChjaCAhPT0gY2hhckNvZGVzLmV4Y2xhbWF0aW9uTWFyaykgcmV0dXJuIGZhbHNlO1xuXG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLnN0YXRlLnBvcztcbiAgICB0aGlzLnN0YXRlLnBvcyArPSAxO1xuXG4gICAgd2hpbGUgKCFpc05ld0xpbmUoY2gpICYmICsrdGhpcy5zdGF0ZS5wb3MgPCB0aGlzLmxlbmd0aCkge1xuICAgICAgY2ggPSB0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MpO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbHVlID0gdGhpcy5pbnB1dC5zbGljZShzdGFydCArIDIsIHRoaXMuc3RhdGUucG9zKTtcblxuICAgIHRoaXMuZmluaXNoVG9rZW4odHQuaW50ZXJwcmV0ZXJEaXJlY3RpdmUsIHZhbHVlKTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcmVhZFRva2VuX211bHRfbW9kdWxvKGNvZGU6IG51bWJlcik6IHZvaWQge1xuICAgIC8vICclJyBvciAnKidcbiAgICBsZXQgdHlwZSA9IGNvZGUgPT09IGNoYXJDb2Rlcy5hc3RlcmlzayA/IHR0LnN0YXIgOiB0dC5tb2R1bG87XG4gICAgbGV0IHdpZHRoID0gMTtcbiAgICBsZXQgbmV4dCA9IHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyArIDEpO1xuXG4gICAgLy8gRXhwb25lbnRpYXRpb24gb3BlcmF0b3IgJyoqJ1xuICAgIGlmIChjb2RlID09PSBjaGFyQ29kZXMuYXN0ZXJpc2sgJiYgbmV4dCA9PT0gY2hhckNvZGVzLmFzdGVyaXNrKSB7XG4gICAgICB3aWR0aCsrO1xuICAgICAgbmV4dCA9IHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyArIDIpO1xuICAgICAgdHlwZSA9IHR0LmV4cG9uZW50O1xuICAgIH1cblxuICAgIC8vICclPScgb3IgJyo9J1xuICAgIGlmIChuZXh0ID09PSBjaGFyQ29kZXMuZXF1YWxzVG8gJiYgIXRoaXMuc3RhdGUuaW5UeXBlKSB7XG4gICAgICB3aWR0aCsrO1xuICAgICAgLy8gYHR0Lm1vZHVsb0Fzc2lnbmAgaXMgb25seSBuZWVkZWQgdG8gc3VwcG9ydCAlIGFzIGEgSGFjay1waXBlIHRvcGljIHRva2VuLlxuICAgICAgLy8gSWYgdGhlIHByb3Bvc2FsIGVuZHMgdXAgY2hvb3NpbmcgYSBkaWZmZXJlbnQgdG9rZW4sXG4gICAgICAvLyBpdCBjYW4gYmUgbWVyZ2VkIHdpdGggdHQuYXNzaWduLlxuICAgICAgdHlwZSA9IGNvZGUgPT09IGNoYXJDb2Rlcy5wZXJjZW50U2lnbiA/IHR0Lm1vZHVsb0Fzc2lnbiA6IHR0LmFzc2lnbjtcbiAgICB9XG5cbiAgICB0aGlzLmZpbmlzaE9wKHR5cGUsIHdpZHRoKTtcbiAgfVxuXG4gIHJlYWRUb2tlbl9waXBlX2FtcChjb2RlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAvLyAnfHwnICcmJicgJ3x8PScgJyYmPSdcbiAgICBjb25zdCBuZXh0ID0gdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zICsgMSk7XG5cbiAgICBpZiAobmV4dCA9PT0gY29kZSkge1xuICAgICAgaWYgKHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyArIDIpID09PSBjaGFyQ29kZXMuZXF1YWxzVG8pIHtcbiAgICAgICAgdGhpcy5maW5pc2hPcCh0dC5hc3NpZ24sIDMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5maW5pc2hPcChcbiAgICAgICAgICBjb2RlID09PSBjaGFyQ29kZXMudmVydGljYWxCYXIgPyB0dC5sb2dpY2FsT1IgOiB0dC5sb2dpY2FsQU5ELFxuICAgICAgICAgIDIsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKGNvZGUgPT09IGNoYXJDb2Rlcy52ZXJ0aWNhbEJhcikge1xuICAgICAgLy8gJ3w+J1xuICAgICAgaWYgKG5leHQgPT09IGNoYXJDb2Rlcy5ncmVhdGVyVGhhbikge1xuICAgICAgICB0aGlzLmZpbmlzaE9wKHR0LnBpcGVsaW5lLCAyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgLy8gJ3x9J1xuICAgICAgaWYgKFxuICAgICAgICAhcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORyAmJlxuICAgICAgICB0aGlzLmhhc1BsdWdpbihcInJlY29yZEFuZFR1cGxlXCIpICYmXG4gICAgICAgIG5leHQgPT09IGNoYXJDb2Rlcy5yaWdodEN1cmx5QnJhY2VcbiAgICAgICkge1xuICAgICAgICBpZiAodGhpcy5nZXRQbHVnaW5PcHRpb24oXCJyZWNvcmRBbmRUdXBsZVwiLCBcInN5bnRheFR5cGVcIikgIT09IFwiYmFyXCIpIHtcbiAgICAgICAgICB0aHJvdyB0aGlzLnJhaXNlKFxuICAgICAgICAgICAgRXJyb3JzLlJlY29yZEV4cHJlc3Npb25CYXJJbmNvcnJlY3RFbmRTeW50YXhUeXBlLFxuICAgICAgICAgICAgdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdGF0ZS5wb3MgKz0gMjtcbiAgICAgICAgdGhpcy5maW5pc2hUb2tlbih0dC5icmFjZUJhclIpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vICd8XSdcbiAgICAgIGlmIChcbiAgICAgICAgIXByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcgJiZcbiAgICAgICAgdGhpcy5oYXNQbHVnaW4oXCJyZWNvcmRBbmRUdXBsZVwiKSAmJlxuICAgICAgICBuZXh0ID09PSBjaGFyQ29kZXMucmlnaHRTcXVhcmVCcmFja2V0XG4gICAgICApIHtcbiAgICAgICAgaWYgKHRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwicmVjb3JkQW5kVHVwbGVcIiwgXCJzeW50YXhUeXBlXCIpICE9PSBcImJhclwiKSB7XG4gICAgICAgICAgdGhyb3cgdGhpcy5yYWlzZShcbiAgICAgICAgICAgIEVycm9ycy5UdXBsZUV4cHJlc3Npb25CYXJJbmNvcnJlY3RFbmRTeW50YXhUeXBlLFxuICAgICAgICAgICAgdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zdGF0ZS5wb3MgKz0gMjtcbiAgICAgICAgdGhpcy5maW5pc2hUb2tlbih0dC5icmFja2V0QmFyUik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAobmV4dCA9PT0gY2hhckNvZGVzLmVxdWFsc1RvKSB7XG4gICAgICB0aGlzLmZpbmlzaE9wKHR0LmFzc2lnbiwgMik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5maW5pc2hPcChcbiAgICAgIGNvZGUgPT09IGNoYXJDb2Rlcy52ZXJ0aWNhbEJhciA/IHR0LmJpdHdpc2VPUiA6IHR0LmJpdHdpc2VBTkQsXG4gICAgICAxLFxuICAgICk7XG4gIH1cblxuICByZWFkVG9rZW5fY2FyZXQoKTogdm9pZCB7XG4gICAgY29uc3QgbmV4dCA9IHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyArIDEpO1xuXG4gICAgLy8gJ149J1xuICAgIGlmIChuZXh0ID09PSBjaGFyQ29kZXMuZXF1YWxzVG8gJiYgIXRoaXMuc3RhdGUuaW5UeXBlKSB7XG4gICAgICAvLyBgdHQueG9yQXNzaWduYCBpcyBvbmx5IG5lZWRlZCB0byBzdXBwb3J0IF4gYXMgYSBIYWNrLXBpcGUgdG9waWMgdG9rZW4uXG4gICAgICAvLyBJZiB0aGUgcHJvcG9zYWwgZW5kcyB1cCBjaG9vc2luZyBhIGRpZmZlcmVudCB0b2tlbixcbiAgICAgIC8vIGl0IGNhbiBiZSBtZXJnZWQgd2l0aCB0dC5hc3NpZ24uXG4gICAgICB0aGlzLmZpbmlzaE9wKHR0LnhvckFzc2lnbiwgMik7XG4gICAgfVxuICAgIC8vICdeXidcbiAgICBlbHNlIGlmIChcbiAgICAgIG5leHQgPT09IGNoYXJDb2Rlcy5jYXJldCAmJlxuICAgICAgLy8gSWYgdGhlIF5eIHRva2VuIGlzIG5vdCBlbmFibGVkLCB3ZSBkb24ndCB0aHJvdyBidXQgcGFyc2UgdHdvIHNpbmdsZSBec1xuICAgICAgLy8gYmVjYXVzZSBpdCBjb3VsZCBiZSBhIF4gaGFjayB0b2tlbiBmb2xsb3dlZCBieSBhIF4gYmluYXJ5IG9wZXJhdG9yLlxuICAgICAgdGhpcy5oYXNQbHVnaW4oW1xuICAgICAgICBcInBpcGVsaW5lT3BlcmF0b3JcIixcbiAgICAgICAgeyBwcm9wb3NhbDogXCJoYWNrXCIsIHRvcGljVG9rZW46IFwiXl5cIiB9LFxuICAgICAgXSlcbiAgICApIHtcbiAgICAgIHRoaXMuZmluaXNoT3AodHQuZG91YmxlQ2FyZXQsIDIpO1xuXG4gICAgICAvLyBgXl5eYCBpcyBmb3JiaWRkZW4gYW5kIG11c3QgYmUgc2VwYXJhdGVkIGJ5IGEgc3BhY2UuXG4gICAgICBjb25zdCBsb29rYWhlYWRDaCA9IHRoaXMuaW5wdXQuY29kZVBvaW50QXQodGhpcy5zdGF0ZS5wb3MpO1xuICAgICAgaWYgKGxvb2thaGVhZENoID09PSBjaGFyQ29kZXMuY2FyZXQpIHtcbiAgICAgICAgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgICB9XG4gICAgfVxuICAgIC8vICdeJ1xuICAgIGVsc2Uge1xuICAgICAgdGhpcy5maW5pc2hPcCh0dC5iaXR3aXNlWE9SLCAxKTtcbiAgICB9XG4gIH1cblxuICByZWFkVG9rZW5fYXRTaWduKCk6IHZvaWQge1xuICAgIGNvbnN0IG5leHQgPSB0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MgKyAxKTtcblxuICAgIC8vICdAQCdcbiAgICBpZiAoXG4gICAgICBuZXh0ID09PSBjaGFyQ29kZXMuYXRTaWduICYmXG4gICAgICB0aGlzLmhhc1BsdWdpbihbXG4gICAgICAgIFwicGlwZWxpbmVPcGVyYXRvclwiLFxuICAgICAgICB7IHByb3Bvc2FsOiBcImhhY2tcIiwgdG9waWNUb2tlbjogXCJAQFwiIH0sXG4gICAgICBdKVxuICAgICkge1xuICAgICAgdGhpcy5maW5pc2hPcCh0dC5kb3VibGVBdCwgMik7XG4gICAgfVxuICAgIC8vICdAJ1xuICAgIGVsc2Uge1xuICAgICAgdGhpcy5maW5pc2hPcCh0dC5hdCwgMSk7XG4gICAgfVxuICB9XG5cbiAgcmVhZFRva2VuX3BsdXNfbWluKGNvZGU6IG51bWJlcik6IHZvaWQge1xuICAgIC8vICcrLSdcbiAgICBjb25zdCBuZXh0ID0gdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zICsgMSk7XG5cbiAgICBpZiAobmV4dCA9PT0gY29kZSkge1xuICAgICAgdGhpcy5maW5pc2hPcCh0dC5pbmNEZWMsIDIpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChuZXh0ID09PSBjaGFyQ29kZXMuZXF1YWxzVG8pIHtcbiAgICAgIHRoaXMuZmluaXNoT3AodHQuYXNzaWduLCAyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5maW5pc2hPcCh0dC5wbHVzTWluLCAxKTtcbiAgICB9XG4gIH1cblxuICByZWFkVG9rZW5fbHQoKTogdm9pZCB7XG4gICAgLy8gJzwnXG4gICAgY29uc3QgeyBwb3MgfSA9IHRoaXMuc3RhdGU7XG4gICAgY29uc3QgbmV4dCA9IHRoaXMuaW5wdXQuY2hhckNvZGVBdChwb3MgKyAxKTtcblxuICAgIGlmIChuZXh0ID09PSBjaGFyQ29kZXMubGVzc1RoYW4pIHtcbiAgICAgIGlmICh0aGlzLmlucHV0LmNoYXJDb2RlQXQocG9zICsgMikgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbykge1xuICAgICAgICB0aGlzLmZpbmlzaE9wKHR0LmFzc2lnbiwgMyk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRoaXMuZmluaXNoT3AodHQuYml0U2hpZnRMLCAyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAobmV4dCA9PT0gY2hhckNvZGVzLmVxdWFsc1RvKSB7XG4gICAgICAvLyA8PVxuICAgICAgdGhpcy5maW5pc2hPcCh0dC5yZWxhdGlvbmFsLCAyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmZpbmlzaE9wKHR0Lmx0LCAxKTtcbiAgfVxuXG4gIHJlYWRUb2tlbl9ndCgpOiB2b2lkIHtcbiAgICAvLyAnPidcbiAgICBjb25zdCB7IHBvcyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBuZXh0ID0gdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHBvcyArIDEpO1xuXG4gICAgaWYgKG5leHQgPT09IGNoYXJDb2Rlcy5ncmVhdGVyVGhhbikge1xuICAgICAgY29uc3Qgc2l6ZSA9XG4gICAgICAgIHRoaXMuaW5wdXQuY2hhckNvZGVBdChwb3MgKyAyKSA9PT0gY2hhckNvZGVzLmdyZWF0ZXJUaGFuID8gMyA6IDI7XG4gICAgICBpZiAodGhpcy5pbnB1dC5jaGFyQ29kZUF0KHBvcyArIHNpemUpID09PSBjaGFyQ29kZXMuZXF1YWxzVG8pIHtcbiAgICAgICAgdGhpcy5maW5pc2hPcCh0dC5hc3NpZ24sIHNpemUgKyAxKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5maW5pc2hPcCh0dC5iaXRTaGlmdFIsIHNpemUpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChuZXh0ID09PSBjaGFyQ29kZXMuZXF1YWxzVG8pIHtcbiAgICAgIC8vIDw9IHwgPj1cbiAgICAgIHRoaXMuZmluaXNoT3AodHQucmVsYXRpb25hbCwgMik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5maW5pc2hPcCh0dC5ndCwgMSk7XG4gIH1cblxuICByZWFkVG9rZW5fZXFfZXhjbChjb2RlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAvLyAnPSEnXG4gICAgY29uc3QgbmV4dCA9IHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyArIDEpO1xuICAgIGlmIChuZXh0ID09PSBjaGFyQ29kZXMuZXF1YWxzVG8pIHtcbiAgICAgIHRoaXMuZmluaXNoT3AoXG4gICAgICAgIHR0LmVxdWFsaXR5LFxuICAgICAgICB0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MgKyAyKSA9PT0gY2hhckNvZGVzLmVxdWFsc1RvXG4gICAgICAgICAgPyAzXG4gICAgICAgICAgOiAyLFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKGNvZGUgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbyAmJiBuZXh0ID09PSBjaGFyQ29kZXMuZ3JlYXRlclRoYW4pIHtcbiAgICAgIC8vICc9PidcbiAgICAgIHRoaXMuc3RhdGUucG9zICs9IDI7XG4gICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LmFycm93KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy5maW5pc2hPcChjb2RlID09PSBjaGFyQ29kZXMuZXF1YWxzVG8gPyB0dC5lcSA6IHR0LmJhbmcsIDEpO1xuICB9XG5cbiAgcmVhZFRva2VuX3F1ZXN0aW9uKCk6IHZvaWQge1xuICAgIC8vICc/J1xuICAgIGNvbnN0IG5leHQgPSB0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MgKyAxKTtcbiAgICBjb25zdCBuZXh0MiA9IHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyArIDIpO1xuICAgIGlmIChuZXh0ID09PSBjaGFyQ29kZXMucXVlc3Rpb25NYXJrKSB7XG4gICAgICBpZiAobmV4dDIgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbykge1xuICAgICAgICAvLyAnPz89J1xuICAgICAgICB0aGlzLmZpbmlzaE9wKHR0LmFzc2lnbiwgMyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyAnPz8nXG4gICAgICAgIHRoaXMuZmluaXNoT3AodHQubnVsbGlzaENvYWxlc2NpbmcsIDIpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICBuZXh0ID09PSBjaGFyQ29kZXMuZG90ICYmXG4gICAgICAhKG5leHQyID49IGNoYXJDb2Rlcy5kaWdpdDAgJiYgbmV4dDIgPD0gY2hhckNvZGVzLmRpZ2l0OSlcbiAgICApIHtcbiAgICAgIC8vICcuJyBub3QgZm9sbG93ZWQgYnkgYSBudW1iZXJcbiAgICAgIHRoaXMuc3RhdGUucG9zICs9IDI7XG4gICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LnF1ZXN0aW9uRG90KTtcbiAgICB9IGVsc2Uge1xuICAgICAgKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgIHRoaXMuZmluaXNoVG9rZW4odHQucXVlc3Rpb24pO1xuICAgIH1cbiAgfVxuXG4gIGdldFRva2VuRnJvbUNvZGUoY29kZTogbnVtYmVyKTogdm9pZCB7XG4gICAgc3dpdGNoIChjb2RlKSB7XG4gICAgICAvLyBUaGUgaW50ZXJwcmV0YXRpb24gb2YgYSBkb3QgZGVwZW5kcyBvbiB3aGV0aGVyIGl0IGlzIGZvbGxvd2VkXG4gICAgICAvLyBieSBhIGRpZ2l0IG9yIGFub3RoZXIgdHdvIGRvdHMuXG5cbiAgICAgIGNhc2UgY2hhckNvZGVzLmRvdDpcbiAgICAgICAgdGhpcy5yZWFkVG9rZW5fZG90KCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIC8vIFB1bmN0dWF0aW9uIHRva2Vucy5cbiAgICAgIGNhc2UgY2hhckNvZGVzLmxlZnRQYXJlbnRoZXNpczpcbiAgICAgICAgKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgICAgdGhpcy5maW5pc2hUb2tlbih0dC5wYXJlbkwpO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlIGNoYXJDb2Rlcy5yaWdodFBhcmVudGhlc2lzOlxuICAgICAgICArK3RoaXMuc3RhdGUucG9zO1xuICAgICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LnBhcmVuUik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIGNhc2UgY2hhckNvZGVzLnNlbWljb2xvbjpcbiAgICAgICAgKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgICAgdGhpcy5maW5pc2hUb2tlbih0dC5zZW1pKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY2FzZSBjaGFyQ29kZXMuY29tbWE6XG4gICAgICAgICsrdGhpcy5zdGF0ZS5wb3M7XG4gICAgICAgIHRoaXMuZmluaXNoVG9rZW4odHQuY29tbWEpO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlIGNoYXJDb2Rlcy5sZWZ0U3F1YXJlQnJhY2tldDpcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HICYmXG4gICAgICAgICAgdGhpcy5oYXNQbHVnaW4oXCJyZWNvcmRBbmRUdXBsZVwiKSAmJlxuICAgICAgICAgIHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyArIDEpID09PSBjaGFyQ29kZXMudmVydGljYWxCYXJcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwicmVjb3JkQW5kVHVwbGVcIiwgXCJzeW50YXhUeXBlXCIpICE9PSBcImJhclwiKSB7XG4gICAgICAgICAgICB0aHJvdyB0aGlzLnJhaXNlKFxuICAgICAgICAgICAgICBFcnJvcnMuVHVwbGVFeHByZXNzaW9uQmFySW5jb3JyZWN0U3RhcnRTeW50YXhUeXBlLFxuICAgICAgICAgICAgICB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCksXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIFt8XG4gICAgICAgICAgdGhpcy5zdGF0ZS5wb3MgKz0gMjtcbiAgICAgICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LmJyYWNrZXRCYXJMKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICArK3RoaXMuc3RhdGUucG9zO1xuICAgICAgICAgIHRoaXMuZmluaXNoVG9rZW4odHQuYnJhY2tldEwpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybjtcbiAgICAgIGNhc2UgY2hhckNvZGVzLnJpZ2h0U3F1YXJlQnJhY2tldDpcbiAgICAgICAgKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgICAgdGhpcy5maW5pc2hUb2tlbih0dC5icmFja2V0Uik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIGNhc2UgY2hhckNvZGVzLmxlZnRDdXJseUJyYWNlOlxuICAgICAgICBpZiAoXG4gICAgICAgICAgIXByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcgJiZcbiAgICAgICAgICB0aGlzLmhhc1BsdWdpbihcInJlY29yZEFuZFR1cGxlXCIpICYmXG4gICAgICAgICAgdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zICsgMSkgPT09IGNoYXJDb2Rlcy52ZXJ0aWNhbEJhclxuICAgICAgICApIHtcbiAgICAgICAgICBpZiAodGhpcy5nZXRQbHVnaW5PcHRpb24oXCJyZWNvcmRBbmRUdXBsZVwiLCBcInN5bnRheFR5cGVcIikgIT09IFwiYmFyXCIpIHtcbiAgICAgICAgICAgIHRocm93IHRoaXMucmFpc2UoXG4gICAgICAgICAgICAgIEVycm9ycy5SZWNvcmRFeHByZXNzaW9uQmFySW5jb3JyZWN0U3RhcnRTeW50YXhUeXBlLFxuICAgICAgICAgICAgICB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCksXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC8vIHt8XG4gICAgICAgICAgdGhpcy5zdGF0ZS5wb3MgKz0gMjtcbiAgICAgICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LmJyYWNlQmFyTCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LmJyYWNlTCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgY2FzZSBjaGFyQ29kZXMucmlnaHRDdXJseUJyYWNlOlxuICAgICAgICArK3RoaXMuc3RhdGUucG9zO1xuICAgICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LmJyYWNlUik7XG4gICAgICAgIHJldHVybjtcblxuICAgICAgY2FzZSBjaGFyQ29kZXMuY29sb246XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLmhhc1BsdWdpbihcImZ1bmN0aW9uQmluZFwiKSAmJlxuICAgICAgICAgIHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyArIDEpID09PSBjaGFyQ29kZXMuY29sb25cbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5maW5pc2hPcCh0dC5kb3VibGVDb2xvbiwgMik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LmNvbG9uKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm47XG5cbiAgICAgIGNhc2UgY2hhckNvZGVzLnF1ZXN0aW9uTWFyazpcbiAgICAgICAgdGhpcy5yZWFkVG9rZW5fcXVlc3Rpb24oKTtcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgICBjYXNlIGNoYXJDb2Rlcy5ncmF2ZUFjY2VudDpcbiAgICAgICAgdGhpcy5yZWFkVGVtcGxhdGVUb2tlbigpO1xuICAgICAgICByZXR1cm47XG5cbiAgICAgIGNhc2UgY2hhckNvZGVzLmRpZ2l0MDoge1xuICAgICAgICBjb25zdCBuZXh0ID0gdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zICsgMSk7XG4gICAgICAgIC8vICcweCcsICcwWCcgLSBoZXggbnVtYmVyXG4gICAgICAgIGlmIChuZXh0ID09PSBjaGFyQ29kZXMubG93ZXJjYXNlWCB8fCBuZXh0ID09PSBjaGFyQ29kZXMudXBwZXJjYXNlWCkge1xuICAgICAgICAgIHRoaXMucmVhZFJhZGl4TnVtYmVyKDE2KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gJzBvJywgJzBPJyAtIG9jdGFsIG51bWJlclxuICAgICAgICBpZiAobmV4dCA9PT0gY2hhckNvZGVzLmxvd2VyY2FzZU8gfHwgbmV4dCA9PT0gY2hhckNvZGVzLnVwcGVyY2FzZU8pIHtcbiAgICAgICAgICB0aGlzLnJlYWRSYWRpeE51bWJlcig4KTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgLy8gJzBiJywgJzBCJyAtIGJpbmFyeSBudW1iZXJcbiAgICAgICAgaWYgKG5leHQgPT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VCIHx8IG5leHQgPT09IGNoYXJDb2Rlcy51cHBlcmNhc2VCKSB7XG4gICAgICAgICAgdGhpcy5yZWFkUmFkaXhOdW1iZXIoMik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvLyBBbnl0aGluZyBlbHNlIGJlZ2lubmluZyB3aXRoIGEgZGlnaXQgaXMgYW4gaW50ZWdlciwgb2N0YWxcbiAgICAgIC8vIG51bWJlciwgb3IgZmxvYXQuIChmYWxsIHRocm91Z2gpXG4gICAgICBjYXNlIGNoYXJDb2Rlcy5kaWdpdDE6XG4gICAgICBjYXNlIGNoYXJDb2Rlcy5kaWdpdDI6XG4gICAgICBjYXNlIGNoYXJDb2Rlcy5kaWdpdDM6XG4gICAgICBjYXNlIGNoYXJDb2Rlcy5kaWdpdDQ6XG4gICAgICBjYXNlIGNoYXJDb2Rlcy5kaWdpdDU6XG4gICAgICBjYXNlIGNoYXJDb2Rlcy5kaWdpdDY6XG4gICAgICBjYXNlIGNoYXJDb2Rlcy5kaWdpdDc6XG4gICAgICBjYXNlIGNoYXJDb2Rlcy5kaWdpdDg6XG4gICAgICBjYXNlIGNoYXJDb2Rlcy5kaWdpdDk6XG4gICAgICAgIHRoaXMucmVhZE51bWJlcihmYWxzZSk7XG4gICAgICAgIHJldHVybjtcblxuICAgICAgLy8gUXVvdGVzIHByb2R1Y2Ugc3RyaW5ncy5cbiAgICAgIGNhc2UgY2hhckNvZGVzLnF1b3RhdGlvbk1hcms6XG4gICAgICBjYXNlIGNoYXJDb2Rlcy5hcG9zdHJvcGhlOlxuICAgICAgICB0aGlzLnJlYWRTdHJpbmcoY29kZSk7XG4gICAgICAgIHJldHVybjtcblxuICAgICAgLy8gT3BlcmF0b3JzIGFyZSBwYXJzZWQgaW5saW5lIGluIHRpbnkgc3RhdGUgbWFjaGluZXMuICc9JyAoY2hhckNvZGVzLmVxdWFsc1RvKSBpc1xuICAgICAgLy8gb2Z0ZW4gcmVmZXJyZWQgdG8uIGBmaW5pc2hPcGAgc2ltcGx5IHNraXBzIHRoZSBhbW91bnQgb2ZcbiAgICAgIC8vIGNoYXJhY3RlcnMgaXQgaXMgZ2l2ZW4gYXMgc2Vjb25kIGFyZ3VtZW50LCBhbmQgcmV0dXJucyBhIHRva2VuXG4gICAgICAvLyBvZiB0aGUgdHlwZSBnaXZlbiBieSBpdHMgZmlyc3QgYXJndW1lbnQuXG5cbiAgICAgIGNhc2UgY2hhckNvZGVzLnNsYXNoOlxuICAgICAgICB0aGlzLnJlYWRUb2tlbl9zbGFzaCgpO1xuICAgICAgICByZXR1cm47XG5cbiAgICAgIGNhc2UgY2hhckNvZGVzLnBlcmNlbnRTaWduOlxuICAgICAgY2FzZSBjaGFyQ29kZXMuYXN0ZXJpc2s6XG4gICAgICAgIHRoaXMucmVhZFRva2VuX211bHRfbW9kdWxvKGNvZGUpO1xuICAgICAgICByZXR1cm47XG5cbiAgICAgIGNhc2UgY2hhckNvZGVzLnZlcnRpY2FsQmFyOlxuICAgICAgY2FzZSBjaGFyQ29kZXMuYW1wZXJzYW5kOlxuICAgICAgICB0aGlzLnJlYWRUb2tlbl9waXBlX2FtcChjb2RlKTtcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgICBjYXNlIGNoYXJDb2Rlcy5jYXJldDpcbiAgICAgICAgdGhpcy5yZWFkVG9rZW5fY2FyZXQoKTtcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgICBjYXNlIGNoYXJDb2Rlcy5wbHVzU2lnbjpcbiAgICAgIGNhc2UgY2hhckNvZGVzLmRhc2g6XG4gICAgICAgIHRoaXMucmVhZFRva2VuX3BsdXNfbWluKGNvZGUpO1xuICAgICAgICByZXR1cm47XG5cbiAgICAgIGNhc2UgY2hhckNvZGVzLmxlc3NUaGFuOlxuICAgICAgICB0aGlzLnJlYWRUb2tlbl9sdCgpO1xuICAgICAgICByZXR1cm47XG5cbiAgICAgIGNhc2UgY2hhckNvZGVzLmdyZWF0ZXJUaGFuOlxuICAgICAgICB0aGlzLnJlYWRUb2tlbl9ndCgpO1xuICAgICAgICByZXR1cm47XG5cbiAgICAgIGNhc2UgY2hhckNvZGVzLmVxdWFsc1RvOlxuICAgICAgY2FzZSBjaGFyQ29kZXMuZXhjbGFtYXRpb25NYXJrOlxuICAgICAgICB0aGlzLnJlYWRUb2tlbl9lcV9leGNsKGNvZGUpO1xuICAgICAgICByZXR1cm47XG5cbiAgICAgIGNhc2UgY2hhckNvZGVzLnRpbGRlOlxuICAgICAgICB0aGlzLmZpbmlzaE9wKHR0LnRpbGRlLCAxKTtcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgICBjYXNlIGNoYXJDb2Rlcy5hdFNpZ246XG4gICAgICAgIHRoaXMucmVhZFRva2VuX2F0U2lnbigpO1xuICAgICAgICByZXR1cm47XG5cbiAgICAgIGNhc2UgY2hhckNvZGVzLm51bWJlclNpZ246XG4gICAgICAgIHRoaXMucmVhZFRva2VuX251bWJlclNpZ24oKTtcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgICBjYXNlIGNoYXJDb2Rlcy5iYWNrc2xhc2g6XG4gICAgICAgIHRoaXMucmVhZFdvcmQoKTtcbiAgICAgICAgcmV0dXJuO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAoaXNJZGVudGlmaWVyU3RhcnQoY29kZSkpIHtcbiAgICAgICAgICB0aGlzLnJlYWRXb3JkKGNvZGUpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRocm93IHRoaXMucmFpc2UoXG4gICAgICBFcnJvcnMuSW52YWxpZE9yVW5leHBlY3RlZFRva2VuLFxuICAgICAgdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpLFxuICAgICAge1xuICAgICAgICB1bmV4cGVjdGVkOiBTdHJpbmcuZnJvbUNvZGVQb2ludChjb2RlKSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIGZpbmlzaE9wKHR5cGU6IFRva2VuVHlwZSwgc2l6ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgY29uc3Qgc3RyID0gdGhpcy5pbnB1dC5zbGljZSh0aGlzLnN0YXRlLnBvcywgdGhpcy5zdGF0ZS5wb3MgKyBzaXplKTtcbiAgICB0aGlzLnN0YXRlLnBvcyArPSBzaXplO1xuICAgIHRoaXMuZmluaXNoVG9rZW4odHlwZSwgc3RyKTtcbiAgfVxuXG4gIHJlYWRSZWdleHAoKTogdm9pZCB7XG4gICAgY29uc3Qgc3RhcnRMb2MgPSB0aGlzLnN0YXRlLnN0YXJ0TG9jO1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGF0ZS5zdGFydCArIDE7XG4gICAgbGV0IGVzY2FwZWQsIGluQ2xhc3M7XG4gICAgbGV0IHsgcG9zIH0gPSB0aGlzLnN0YXRlO1xuICAgIGZvciAoOyA7ICsrcG9zKSB7XG4gICAgICBpZiAocG9zID49IHRoaXMubGVuZ3RoKSB7XG4gICAgICAgIC8vIEZJWE1FOiBleHBsYWluXG4gICAgICAgIHRocm93IHRoaXMucmFpc2UoXG4gICAgICAgICAgRXJyb3JzLlVudGVybWluYXRlZFJlZ0V4cCxcbiAgICAgICAgICBjcmVhdGVQb3NpdGlvbldpdGhDb2x1bW5PZmZzZXQoc3RhcnRMb2MsIDEpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgY2ggPSB0aGlzLmlucHV0LmNoYXJDb2RlQXQocG9zKTtcbiAgICAgIGlmIChpc05ld0xpbmUoY2gpKSB7XG4gICAgICAgIHRocm93IHRoaXMucmFpc2UoXG4gICAgICAgICAgRXJyb3JzLlVudGVybWluYXRlZFJlZ0V4cCxcbiAgICAgICAgICBjcmVhdGVQb3NpdGlvbldpdGhDb2x1bW5PZmZzZXQoc3RhcnRMb2MsIDEpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgaWYgKGVzY2FwZWQpIHtcbiAgICAgICAgZXNjYXBlZCA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGNoID09PSBjaGFyQ29kZXMubGVmdFNxdWFyZUJyYWNrZXQpIHtcbiAgICAgICAgICBpbkNsYXNzID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmIChjaCA9PT0gY2hhckNvZGVzLnJpZ2h0U3F1YXJlQnJhY2tldCAmJiBpbkNsYXNzKSB7XG4gICAgICAgICAgaW5DbGFzcyA9IGZhbHNlO1xuICAgICAgICB9IGVsc2UgaWYgKGNoID09PSBjaGFyQ29kZXMuc2xhc2ggJiYgIWluQ2xhc3MpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBlc2NhcGVkID0gY2ggPT09IGNoYXJDb2Rlcy5iYWNrc2xhc2g7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLmlucHV0LnNsaWNlKHN0YXJ0LCBwb3MpO1xuICAgICsrcG9zO1xuXG4gICAgbGV0IG1vZHMgPSBcIlwiO1xuXG4gICAgY29uc3QgbmV4dFBvcyA9ICgpID0+XG4gICAgICAvLyAocG9zICsgMSkgKyAxIC0gc3RhcnRcbiAgICAgIGNyZWF0ZVBvc2l0aW9uV2l0aENvbHVtbk9mZnNldChzdGFydExvYywgcG9zICsgMiAtIHN0YXJ0KTtcblxuICAgIHdoaWxlIChwb3MgPCB0aGlzLmxlbmd0aCkge1xuICAgICAgY29uc3QgY3AgPSB0aGlzLmNvZGVQb2ludEF0UG9zKHBvcyk7XG4gICAgICAvLyBJdCBkb2Vzbid0IG1hdHRlciBpZiBjcCA+IDB4ZmZmZiwgdGhlIGxvb3Agd2lsbCBlaXRoZXIgdGhyb3cgb3IgYnJlYWsgYmVjYXVzZSB3ZSBjaGVjayBvbiBjcFxuICAgICAgY29uc3QgY2hhciA9IFN0cmluZy5mcm9tQ2hhckNvZGUoY3ApO1xuXG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFZBTElEX1JFR0VYX0ZMQUdTLmhhcyBzaG91bGQgYWNjZXB0IGV4cGFuZGVkIHR5cGU6IG51bWJlclxuICAgICAgaWYgKFZBTElEX1JFR0VYX0ZMQUdTLmhhcyhjcCkpIHtcbiAgICAgICAgaWYgKGNwID09PSBjaGFyQ29kZXMubG93ZXJjYXNlVikge1xuICAgICAgICAgIGlmIChtb2RzLmluY2x1ZGVzKFwidVwiKSkge1xuICAgICAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuSW5jb21wYXRpYmxlUmVnRXhwVVZGbGFncywgbmV4dFBvcygpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoY3AgPT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VVKSB7XG4gICAgICAgICAgaWYgKG1vZHMuaW5jbHVkZXMoXCJ2XCIpKSB7XG4gICAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5JbmNvbXBhdGlibGVSZWdFeHBVVkZsYWdzLCBuZXh0UG9zKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAobW9kcy5pbmNsdWRlcyhjaGFyKSkge1xuICAgICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkR1cGxpY2F0ZVJlZ0V4cEZsYWdzLCBuZXh0UG9zKCkpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzSWRlbnRpZmllckNoYXIoY3ApIHx8IGNwID09PSBjaGFyQ29kZXMuYmFja3NsYXNoKSB7XG4gICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLk1hbGZvcm1lZFJlZ0V4cEZsYWdzLCBuZXh0UG9zKCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgICsrcG9zO1xuICAgICAgbW9kcyArPSBjaGFyO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlLnBvcyA9IHBvcztcblxuICAgIHRoaXMuZmluaXNoVG9rZW4odHQucmVnZXhwLCB7XG4gICAgICBwYXR0ZXJuOiBjb250ZW50LFxuICAgICAgZmxhZ3M6IG1vZHMsXG4gICAgfSk7XG4gIH1cblxuICAvLyBSZWFkIGFuIGludGVnZXIgaW4gdGhlIGdpdmVuIHJhZGl4LiBSZXR1cm4gbnVsbCBpZiB6ZXJvIGRpZ2l0c1xuICAvLyB3ZXJlIHJlYWQsIHRoZSBpbnRlZ2VyIHZhbHVlIG90aGVyd2lzZS4gV2hlbiBgbGVuYCBpcyBnaXZlbiwgdGhpc1xuICAvLyB3aWxsIHJldHVybiBgbnVsbGAgdW5sZXNzIHRoZSBpbnRlZ2VyIGhhcyBleGFjdGx5IGBsZW5gIGRpZ2l0cy5cbiAgLy8gV2hlbiBgZm9yY2VMZW5gIGlzIGB0cnVlYCwgaXQgbWVhbnMgdGhhdCB3ZSBhbHJlYWR5IGtub3cgdGhhdCBpbiBjYXNlXG4gIC8vIG9mIGEgbWFsZm9ybWVkIG51bWJlciB3ZSBoYXZlIHRvIHNraXAgYGxlbmAgY2hhcmFjdGVycyBhbnl3YXksIGluc3RlYWRcbiAgLy8gb2YgYmFpbGluZyBvdXQgZWFybHkuIEZvciBleGFtcGxlLCBpbiBcIlxcdXsxMjNafVwiIHdlIHdhbnQgdG8gcmVhZCB1cCB0byB9XG4gIC8vIGFueXdheSwgd2hpbGUgaW4gXCJcXHUwMFpcIiB3ZSB3aWxsIHN0b3AgYXQgWiBpbnN0ZWFkIG9mIGNvbnN1bWluZyBmb3VyXG4gIC8vIGNoYXJhY3RlcnMgKGFuZCB0aHVzIHRoZSBjbG9zaW5nIHF1b3RlKS5cblxuICByZWFkSW50KFxuICAgIHJhZGl4OiBudW1iZXIsXG4gICAgbGVuPzogbnVtYmVyLFxuICAgIGZvcmNlTGVuOiBib29sZWFuID0gZmFsc2UsXG4gICAgYWxsb3dOdW1TZXBhcmF0b3I6IGJvb2xlYW4gfCBcImJhaWxcIiA9IHRydWUsXG4gICk6IG51bWJlciB8IG51bGwge1xuICAgIGNvbnN0IHsgbiwgcG9zIH0gPSByZWFkSW50KFxuICAgICAgdGhpcy5pbnB1dCxcbiAgICAgIHRoaXMuc3RhdGUucG9zLFxuICAgICAgdGhpcy5zdGF0ZS5saW5lU3RhcnQsXG4gICAgICB0aGlzLnN0YXRlLmN1ckxpbmUsXG4gICAgICByYWRpeCxcbiAgICAgIGxlbixcbiAgICAgIGZvcmNlTGVuLFxuICAgICAgYWxsb3dOdW1TZXBhcmF0b3IsXG4gICAgICB0aGlzLmVycm9ySGFuZGxlcnNfcmVhZEludCxcbiAgICAgIC8qIGJhaWxPbkVycm9yICovIGZhbHNlLFxuICAgICk7XG4gICAgdGhpcy5zdGF0ZS5wb3MgPSBwb3M7XG4gICAgcmV0dXJuIG47XG4gIH1cblxuICByZWFkUmFkaXhOdW1iZXIocmFkaXg6IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGF0ZS5wb3M7XG4gICAgY29uc3Qgc3RhcnRMb2MgPSB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCk7XG4gICAgbGV0IGlzQmlnSW50ID0gZmFsc2U7XG5cbiAgICB0aGlzLnN0YXRlLnBvcyArPSAyOyAvLyAweFxuICAgIGNvbnN0IHZhbCA9IHRoaXMucmVhZEludChyYWRpeCk7XG4gICAgaWYgKHZhbCA9PSBudWxsKSB7XG4gICAgICB0aGlzLnJhaXNlKFxuICAgICAgICBFcnJvcnMuSW52YWxpZERpZ2l0LFxuICAgICAgICAvLyBOdW1lcmljIGxpdGVyYWxzIGNhbid0IGhhdmUgbmV3bGluZXMsIHNvIHRoaXMgaXMgc2FmZSB0byBkby5cbiAgICAgICAgY3JlYXRlUG9zaXRpb25XaXRoQ29sdW1uT2Zmc2V0KHN0YXJ0TG9jLCAyKSxcbiAgICAgICAge1xuICAgICAgICAgIHJhZGl4LFxuICAgICAgICB9LFxuICAgICAgKTtcbiAgICB9XG4gICAgY29uc3QgbmV4dCA9IHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyk7XG5cbiAgICBpZiAobmV4dCA9PT0gY2hhckNvZGVzLmxvd2VyY2FzZU4pIHtcbiAgICAgICsrdGhpcy5zdGF0ZS5wb3M7XG4gICAgICBpc0JpZ0ludCA9IHRydWU7XG4gICAgfSBlbHNlIGlmIChuZXh0ID09PSBjaGFyQ29kZXMubG93ZXJjYXNlTSkge1xuICAgICAgdGhyb3cgdGhpcy5yYWlzZShFcnJvcnMuSW52YWxpZERlY2ltYWwsIHN0YXJ0TG9jKTtcbiAgICB9XG5cbiAgICBpZiAoaXNJZGVudGlmaWVyU3RhcnQodGhpcy5jb2RlUG9pbnRBdFBvcyh0aGlzLnN0YXRlLnBvcykpKSB7XG4gICAgICB0aHJvdyB0aGlzLnJhaXNlKEVycm9ycy5OdW1iZXJJZGVudGlmaWVyLCB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCkpO1xuICAgIH1cblxuICAgIGlmIChpc0JpZ0ludCkge1xuICAgICAgY29uc3Qgc3RyID0gdGhpcy5pbnB1dC5zbGljZShzdGFydCwgdGhpcy5zdGF0ZS5wb3MpLnJlcGxhY2UoL1tfbl0vZywgXCJcIik7XG4gICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LmJpZ2ludCwgc3RyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmZpbmlzaFRva2VuKHR0Lm51bSwgdmFsKTtcbiAgfVxuXG4gIC8vIFJlYWQgYW4gaW50ZWdlciwgb2N0YWwgaW50ZWdlciwgb3IgZmxvYXRpbmctcG9pbnQgbnVtYmVyLlxuXG4gIHJlYWROdW1iZXIoc3RhcnRzV2l0aERvdDogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGF0ZS5wb3M7XG4gICAgY29uc3Qgc3RhcnRMb2MgPSB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCk7XG4gICAgbGV0IGlzRmxvYXQgPSBmYWxzZTtcbiAgICBsZXQgaXNCaWdJbnQgPSBmYWxzZTtcbiAgICBsZXQgaGFzRXhwb25lbnQgPSBmYWxzZTtcbiAgICBsZXQgaXNPY3RhbCA9IGZhbHNlO1xuXG4gICAgaWYgKCFzdGFydHNXaXRoRG90ICYmIHRoaXMucmVhZEludCgxMCkgPT09IG51bGwpIHtcbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkludmFsaWROdW1iZXIsIHRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSk7XG4gICAgfVxuICAgIGNvbnN0IGhhc0xlYWRpbmdaZXJvID1cbiAgICAgIHRoaXMuc3RhdGUucG9zIC0gc3RhcnQgPj0gMiAmJlxuICAgICAgdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHN0YXJ0KSA9PT0gY2hhckNvZGVzLmRpZ2l0MDtcblxuICAgIGlmIChoYXNMZWFkaW5nWmVybykge1xuICAgICAgY29uc3QgaW50ZWdlciA9IHRoaXMuaW5wdXQuc2xpY2Uoc3RhcnQsIHRoaXMuc3RhdGUucG9zKTtcbiAgICAgIHRoaXMucmVjb3JkU3RyaWN0TW9kZUVycm9ycyhFcnJvcnMuU3RyaWN0T2N0YWxMaXRlcmFsLCBzdGFydExvYyk7XG4gICAgICBpZiAoIXRoaXMuc3RhdGUuc3RyaWN0KSB7XG4gICAgICAgIC8vIGRpc2FsbG93IG51bWVyaWMgc2VwYXJhdG9ycyBpbiBub24gb2N0YWwgZGVjaW1hbHMgYW5kIGxlZ2FjeSBvY3RhbCBsaWtlc1xuICAgICAgICBjb25zdCB1bmRlcnNjb3JlUG9zID0gaW50ZWdlci5pbmRleE9mKFwiX1wiKTtcbiAgICAgICAgaWYgKHVuZGVyc2NvcmVQb3MgPiAwKSB7XG4gICAgICAgICAgLy8gTnVtZXJpYyBsaXRlcmFscyBjYW4ndCBoYXZlIG5ld2xpbmVzLCBzbyB0aGlzIGlzIHNhZmUgdG8gZG8uXG4gICAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICAgIEVycm9ycy5aZXJvRGlnaXROdW1lcmljU2VwYXJhdG9yLFxuICAgICAgICAgICAgY3JlYXRlUG9zaXRpb25XaXRoQ29sdW1uT2Zmc2V0KHN0YXJ0TG9jLCB1bmRlcnNjb3JlUG9zKSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpc09jdGFsID0gaGFzTGVhZGluZ1plcm8gJiYgIS9bODldLy50ZXN0KGludGVnZXIpO1xuICAgIH1cblxuICAgIGxldCBuZXh0ID0gdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zKTtcbiAgICBpZiAobmV4dCA9PT0gY2hhckNvZGVzLmRvdCAmJiAhaXNPY3RhbCkge1xuICAgICAgKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgIHRoaXMucmVhZEludCgxMCk7XG4gICAgICBpc0Zsb2F0ID0gdHJ1ZTtcbiAgICAgIG5leHQgPSB0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MpO1xuICAgIH1cblxuICAgIGlmIChcbiAgICAgIChuZXh0ID09PSBjaGFyQ29kZXMudXBwZXJjYXNlRSB8fCBuZXh0ID09PSBjaGFyQ29kZXMubG93ZXJjYXNlRSkgJiZcbiAgICAgICFpc09jdGFsXG4gICAgKSB7XG4gICAgICBuZXh0ID0gdGhpcy5pbnB1dC5jaGFyQ29kZUF0KCsrdGhpcy5zdGF0ZS5wb3MpO1xuICAgICAgaWYgKG5leHQgPT09IGNoYXJDb2Rlcy5wbHVzU2lnbiB8fCBuZXh0ID09PSBjaGFyQ29kZXMuZGFzaCkge1xuICAgICAgICArK3RoaXMuc3RhdGUucG9zO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMucmVhZEludCgxMCkgPT09IG51bGwpIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuSW52YWxpZE9yTWlzc2luZ0V4cG9uZW50LCBzdGFydExvYyk7XG4gICAgICB9XG4gICAgICBpc0Zsb2F0ID0gdHJ1ZTtcbiAgICAgIGhhc0V4cG9uZW50ID0gdHJ1ZTtcbiAgICAgIG5leHQgPSB0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MpO1xuICAgIH1cblxuICAgIGlmIChuZXh0ID09PSBjaGFyQ29kZXMubG93ZXJjYXNlTikge1xuICAgICAgLy8gZGlzYWxsb3cgZmxvYXRzLCBsZWdhY3kgb2N0YWwgc3ludGF4IGFuZCBub24gb2N0YWwgZGVjaW1hbHNcbiAgICAgIC8vIG5ldyBzdHlsZSBvY3RhbCAoXCIwb1wiKSBpcyBoYW5kbGVkIGluIHRoaXMucmVhZFJhZGl4TnVtYmVyXG4gICAgICBpZiAoaXNGbG9hdCB8fCBoYXNMZWFkaW5nWmVybykge1xuICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5JbnZhbGlkQmlnSW50TGl0ZXJhbCwgc3RhcnRMb2MpO1xuICAgICAgfVxuICAgICAgKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgIGlzQmlnSW50ID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAoIXByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcgJiYgbmV4dCA9PT0gY2hhckNvZGVzLmxvd2VyY2FzZU0pIHtcbiAgICAgIHRoaXMuZXhwZWN0UGx1Z2luKFwiZGVjaW1hbFwiLCB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCkpO1xuICAgICAgaWYgKGhhc0V4cG9uZW50IHx8IGhhc0xlYWRpbmdaZXJvKSB7XG4gICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkludmFsaWREZWNpbWFsLCBzdGFydExvYyk7XG4gICAgICB9XG4gICAgICArK3RoaXMuc3RhdGUucG9zO1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXZhclxuICAgICAgdmFyIGlzRGVjaW1hbCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGlzSWRlbnRpZmllclN0YXJ0KHRoaXMuY29kZVBvaW50QXRQb3ModGhpcy5zdGF0ZS5wb3MpKSkge1xuICAgICAgdGhyb3cgdGhpcy5yYWlzZShFcnJvcnMuTnVtYmVySWRlbnRpZmllciwgdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpKTtcbiAgICB9XG5cbiAgICAvLyByZW1vdmUgXCJfXCIgZm9yIG51bWVyaWMgbGl0ZXJhbCBzZXBhcmF0b3IsIGFuZCB0cmFpbGluZyBgbWAgb3IgYG5gXG4gICAgY29uc3Qgc3RyID0gdGhpcy5pbnB1dC5zbGljZShzdGFydCwgdGhpcy5zdGF0ZS5wb3MpLnJlcGxhY2UoL1tfbW5dL2csIFwiXCIpO1xuXG4gICAgaWYgKGlzQmlnSW50KSB7XG4gICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LmJpZ2ludCwgc3RyKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcgJiYgaXNEZWNpbWFsKSB7XG4gICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LmRlY2ltYWwsIHN0cik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgdmFsID0gaXNPY3RhbCA/IHBhcnNlSW50KHN0ciwgOCkgOiBwYXJzZUZsb2F0KHN0cik7XG4gICAgdGhpcy5maW5pc2hUb2tlbih0dC5udW0sIHZhbCk7XG4gIH1cblxuICAvLyBSZWFkIGEgc3RyaW5nIHZhbHVlLCBpbnRlcnByZXRpbmcgYmFja3NsYXNoLWVzY2FwZXMuXG5cbiAgcmVhZENvZGVQb2ludCh0aHJvd09uSW52YWxpZDogYm9vbGVhbik6IG51bWJlciB8IG51bGwge1xuICAgIGNvbnN0IHsgY29kZSwgcG9zIH0gPSByZWFkQ29kZVBvaW50KFxuICAgICAgdGhpcy5pbnB1dCxcbiAgICAgIHRoaXMuc3RhdGUucG9zLFxuICAgICAgdGhpcy5zdGF0ZS5saW5lU3RhcnQsXG4gICAgICB0aGlzLnN0YXRlLmN1ckxpbmUsXG4gICAgICB0aHJvd09uSW52YWxpZCxcbiAgICAgIHRoaXMuZXJyb3JIYW5kbGVyc19yZWFkQ29kZVBvaW50LFxuICAgICk7XG4gICAgdGhpcy5zdGF0ZS5wb3MgPSBwb3M7XG4gICAgcmV0dXJuIGNvZGU7XG4gIH1cblxuICByZWFkU3RyaW5nKHF1b3RlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB7IHN0ciwgcG9zLCBjdXJMaW5lLCBsaW5lU3RhcnQgfSA9IHJlYWRTdHJpbmdDb250ZW50cyhcbiAgICAgIHF1b3RlID09PSBjaGFyQ29kZXMucXVvdGF0aW9uTWFyayA/IFwiZG91YmxlXCIgOiBcInNpbmdsZVwiLFxuICAgICAgdGhpcy5pbnB1dCxcbiAgICAgIHRoaXMuc3RhdGUucG9zICsgMSwgLy8gc2tpcCB0aGUgcXVvdGVcbiAgICAgIHRoaXMuc3RhdGUubGluZVN0YXJ0LFxuICAgICAgdGhpcy5zdGF0ZS5jdXJMaW5lLFxuICAgICAgdGhpcy5lcnJvckhhbmRsZXJzX3JlYWRTdHJpbmdDb250ZW50c19zdHJpbmcsXG4gICAgKTtcbiAgICB0aGlzLnN0YXRlLnBvcyA9IHBvcyArIDE7IC8vIHNraXAgdGhlIHF1b3RlXG4gICAgdGhpcy5zdGF0ZS5saW5lU3RhcnQgPSBsaW5lU3RhcnQ7XG4gICAgdGhpcy5zdGF0ZS5jdXJMaW5lID0gY3VyTGluZTtcbiAgICB0aGlzLmZpbmlzaFRva2VuKHR0LnN0cmluZywgc3RyKTtcbiAgfVxuXG4gIC8vIFJlYWRzIHRlbXBsYXRlIGNvbnRpbnVhdGlvbiBgfS4uLmBcbiAgcmVhZFRlbXBsYXRlQ29udGludWF0aW9uKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5tYXRjaCh0dC5icmFjZVIpKSB7XG4gICAgICB0aGlzLnVuZXhwZWN0ZWQobnVsbCwgdHQuYnJhY2VSKTtcbiAgICB9XG4gICAgLy8gcmV3aW5kIHBvcyB0byBgfWBcbiAgICB0aGlzLnN0YXRlLnBvcy0tO1xuICAgIHRoaXMucmVhZFRlbXBsYXRlVG9rZW4oKTtcbiAgfVxuXG4gIC8vIFJlYWRzIHRlbXBsYXRlIHN0cmluZyB0b2tlbnMuXG4gIHJlYWRUZW1wbGF0ZVRva2VuKCk6IHZvaWQge1xuICAgIGNvbnN0IG9wZW5pbmcgPSB0aGlzLmlucHV0W3RoaXMuc3RhdGUucG9zXTtcbiAgICBjb25zdCB7IHN0ciwgZmlyc3RJbnZhbGlkTG9jLCBwb3MsIGN1ckxpbmUsIGxpbmVTdGFydCB9ID1cbiAgICAgIHJlYWRTdHJpbmdDb250ZW50cyhcbiAgICAgICAgXCJ0ZW1wbGF0ZVwiLFxuICAgICAgICB0aGlzLmlucHV0LFxuICAgICAgICB0aGlzLnN0YXRlLnBvcyArIDEsIC8vIHNraXAgJ2AnIG9yIGB9YFxuICAgICAgICB0aGlzLnN0YXRlLmxpbmVTdGFydCxcbiAgICAgICAgdGhpcy5zdGF0ZS5jdXJMaW5lLFxuICAgICAgICB0aGlzLmVycm9ySGFuZGxlcnNfcmVhZFN0cmluZ0NvbnRlbnRzX3RlbXBsYXRlLFxuICAgICAgKTtcbiAgICB0aGlzLnN0YXRlLnBvcyA9IHBvcyArIDE7IC8vIHNraXAgJ2AnIG9yIGAkYFxuICAgIHRoaXMuc3RhdGUubGluZVN0YXJ0ID0gbGluZVN0YXJ0O1xuICAgIHRoaXMuc3RhdGUuY3VyTGluZSA9IGN1ckxpbmU7XG5cbiAgICBpZiAoZmlyc3RJbnZhbGlkTG9jKSB7XG4gICAgICB0aGlzLnN0YXRlLmZpcnN0SW52YWxpZFRlbXBsYXRlRXNjYXBlUG9zID0gbmV3IFBvc2l0aW9uKFxuICAgICAgICBmaXJzdEludmFsaWRMb2MuY3VyTGluZSxcbiAgICAgICAgZmlyc3RJbnZhbGlkTG9jLnBvcyAtIGZpcnN0SW52YWxpZExvYy5saW5lU3RhcnQsXG4gICAgICAgIHRoaXMuc291cmNlVG9PZmZzZXRQb3MoZmlyc3RJbnZhbGlkTG9jLnBvcyksXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmlucHV0LmNvZGVQb2ludEF0KHBvcykgPT09IGNoYXJDb2Rlcy5ncmF2ZUFjY2VudCkge1xuICAgICAgdGhpcy5maW5pc2hUb2tlbihcbiAgICAgICAgdHQudGVtcGxhdGVUYWlsLFxuICAgICAgICBmaXJzdEludmFsaWRMb2MgPyBudWxsIDogb3BlbmluZyArIHN0ciArIFwiYFwiLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGF0ZS5wb3MrKzsgLy8gc2tpcCAneydcbiAgICAgIHRoaXMuZmluaXNoVG9rZW4oXG4gICAgICAgIHR0LnRlbXBsYXRlTm9uVGFpbCxcbiAgICAgICAgZmlyc3RJbnZhbGlkTG9jID8gbnVsbCA6IG9wZW5pbmcgKyBzdHIgKyBcIiR7XCIsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJlY29yZFN0cmljdE1vZGVFcnJvcnModG9QYXJzZUVycm9yOiBEZWZlcnJlZFN0cmljdEVycm9yLCBhdDogUG9zaXRpb24pIHtcbiAgICBjb25zdCBpbmRleCA9IGF0LmluZGV4O1xuXG4gICAgaWYgKHRoaXMuc3RhdGUuc3RyaWN0ICYmICF0aGlzLnN0YXRlLnN0cmljdEVycm9ycy5oYXMoaW5kZXgpKSB7XG4gICAgICB0aGlzLnJhaXNlKHRvUGFyc2VFcnJvciwgYXQpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN0YXRlLnN0cmljdEVycm9ycy5zZXQoaW5kZXgsIFt0b1BhcnNlRXJyb3IsIGF0XSk7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVhZCBhbiBpZGVudGlmaWVyLCBhbmQgcmV0dXJuIGl0IGFzIGEgc3RyaW5nLiBTZXRzIGB0aGlzLnN0YXRlLmNvbnRhaW5zRXNjYFxuICAvLyB0byB3aGV0aGVyIHRoZSB3b3JkIGNvbnRhaW5lZCBhICdcXHUnIGVzY2FwZS5cbiAgLy9cbiAgLy8gSW5jcmVtZW50YWxseSBhZGRzIG9ubHkgZXNjYXBlZCBjaGFycywgYWRkaW5nIG90aGVyIGNodW5rcyBhcy1pc1xuICAvLyBhcyBhIG1pY3JvLW9wdGltaXphdGlvbi5cbiAgLy9cbiAgLy8gV2hlbiBgZmlyc3RDb2RlYCBpcyBnaXZlbiwgaXQgYXNzdW1lcyBpdCBpcyBhbHdheXMgYW4gaWRlbnRpZmllciBzdGFydCBhbmRcbiAgLy8gd2lsbCBza2lwIHJlYWRpbmcgc3RhcnQgcG9zaXRpb24gYWdhaW5cblxuICByZWFkV29yZDEoZmlyc3RDb2RlPzogbnVtYmVyKTogc3RyaW5nIHtcbiAgICB0aGlzLnN0YXRlLmNvbnRhaW5zRXNjID0gZmFsc2U7XG4gICAgbGV0IHdvcmQgPSBcIlwiO1xuICAgIGNvbnN0IHN0YXJ0ID0gdGhpcy5zdGF0ZS5wb3M7XG4gICAgbGV0IGNodW5rU3RhcnQgPSB0aGlzLnN0YXRlLnBvcztcbiAgICBpZiAoZmlyc3RDb2RlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuc3RhdGUucG9zICs9IGZpcnN0Q29kZSA8PSAweGZmZmYgPyAxIDogMjtcbiAgICB9XG5cbiAgICB3aGlsZSAodGhpcy5zdGF0ZS5wb3MgPCB0aGlzLmxlbmd0aCkge1xuICAgICAgY29uc3QgY2ggPSB0aGlzLmNvZGVQb2ludEF0UG9zKHRoaXMuc3RhdGUucG9zKTtcbiAgICAgIGlmIChpc0lkZW50aWZpZXJDaGFyKGNoKSkge1xuICAgICAgICB0aGlzLnN0YXRlLnBvcyArPSBjaCA8PSAweGZmZmYgPyAxIDogMjtcbiAgICAgIH0gZWxzZSBpZiAoY2ggPT09IGNoYXJDb2Rlcy5iYWNrc2xhc2gpIHtcbiAgICAgICAgdGhpcy5zdGF0ZS5jb250YWluc0VzYyA9IHRydWU7XG5cbiAgICAgICAgd29yZCArPSB0aGlzLmlucHV0LnNsaWNlKGNodW5rU3RhcnQsIHRoaXMuc3RhdGUucG9zKTtcbiAgICAgICAgY29uc3QgZXNjU3RhcnQgPSB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCk7XG4gICAgICAgIGNvbnN0IGlkZW50aWZpZXJDaGVjayA9XG4gICAgICAgICAgdGhpcy5zdGF0ZS5wb3MgPT09IHN0YXJ0ID8gaXNJZGVudGlmaWVyU3RhcnQgOiBpc0lkZW50aWZpZXJDaGFyO1xuXG4gICAgICAgIGlmICh0aGlzLmlucHV0LmNoYXJDb2RlQXQoKyt0aGlzLnN0YXRlLnBvcykgIT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VVKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuTWlzc2luZ1VuaWNvZGVFc2NhcGUsIHRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSk7XG4gICAgICAgICAgY2h1bmtTdGFydCA9IHRoaXMuc3RhdGUucG9zIC0gMTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICsrdGhpcy5zdGF0ZS5wb3M7XG4gICAgICAgIGNvbnN0IGVzYyA9IHRoaXMucmVhZENvZGVQb2ludCh0cnVlKTtcbiAgICAgICAgaWYgKGVzYyAhPT0gbnVsbCkge1xuICAgICAgICAgIGlmICghaWRlbnRpZmllckNoZWNrKGVzYykpIHtcbiAgICAgICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkVzY2FwZWRDaGFyTm90QW5JZGVudGlmaWVyLCBlc2NTdGFydCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgd29yZCArPSBTdHJpbmcuZnJvbUNvZGVQb2ludChlc2MpO1xuICAgICAgICB9XG4gICAgICAgIGNodW5rU3RhcnQgPSB0aGlzLnN0YXRlLnBvcztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gd29yZCArIHRoaXMuaW5wdXQuc2xpY2UoY2h1bmtTdGFydCwgdGhpcy5zdGF0ZS5wb3MpO1xuICB9XG5cbiAgLy8gUmVhZCBhbiBpZGVudGlmaWVyIG9yIGtleXdvcmQgdG9rZW4uIFdpbGwgY2hlY2sgZm9yIHJlc2VydmVkXG4gIC8vIHdvcmRzIHdoZW4gbmVjZXNzYXJ5LlxuXG4gIHJlYWRXb3JkKGZpcnN0Q29kZT86IG51bWJlcik6IHZvaWQge1xuICAgIGNvbnN0IHdvcmQgPSB0aGlzLnJlYWRXb3JkMShmaXJzdENvZGUpO1xuICAgIGNvbnN0IHR5cGUgPSBrZXl3b3JkVHlwZXMuZ2V0KHdvcmQpO1xuICAgIGlmICh0eXBlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIC8vIFdlIGRvbid0IHVzZSB3b3JkIGFzIHN0YXRlLnZhbHVlIGhlcmUgYmVjYXVzZSB3b3JkIGlzIGEgZHluYW1pYyBzdHJpbmdcbiAgICAgIC8vIHdoaWxlIHRva2VuIGxhYmVsIGlzIGEgc2hhcmVkIGNvbnN0YW50IHN0cmluZ1xuICAgICAgdGhpcy5maW5pc2hUb2tlbih0eXBlLCB0b2tlbkxhYmVsTmFtZSh0eXBlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZmluaXNoVG9rZW4odHQubmFtZSwgd29yZCk7XG4gICAgfVxuICB9XG5cbiAgY2hlY2tLZXl3b3JkRXNjYXBlcygpOiB2b2lkIHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IHRoaXMuc3RhdGU7XG4gICAgaWYgKHRva2VuSXNLZXl3b3JkKHR5cGUpICYmIHRoaXMuc3RhdGUuY29udGFpbnNFc2MpIHtcbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkludmFsaWRFc2NhcGVkUmVzZXJ2ZWRXb3JkLCB0aGlzLnN0YXRlLnN0YXJ0TG9jLCB7XG4gICAgICAgIHJlc2VydmVkV29yZDogdG9rZW5MYWJlbE5hbWUodHlwZSksXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmFpc2UgYSBgUGFyc2VFcnJvcmAgZ2l2ZW4gdGhlIGFwcHJvcHJpYXRlIHByb3BlcnRpZXMuIElmIHBhc3NlZCBhXG4gICAqIGBQb3NpdGlvbmAgZm9yIHRoZSBgYXRgIHByb3BlcnR5LCByYWlzZXMgdGhlIGBQYXJzZUVycm9yYCBhdCB0aGF0IGxvY2F0aW9uLlxuICAgKiBPdGhlcndpc2UsIGlmIHBhc3NlZCBhIGBOb2RlYCwgcmFpc2VzIHRoZSBgUGFyc2VFcnJvcmAgYXQgdGhlIHN0YXJ0XG4gICAqIGxvY2F0aW9uIG9mIHRoYXQgYE5vZGVgLlxuICAgKlxuICAgKiBJZiBgZXJyb3JSZWNvdmVyeWAgaXMgYHRydWVgLCB0aGUgZXJyb3IgaXMgcHVzaGVkIHRvIHRoZSBlcnJvcnMgYXJyYXkgYW5kXG4gICAqIHJldHVybmVkLiBJZiBgZXJyb3JSZWNvdmVyeWAgaXMgYGZhbHNlYCwgdGhlIGVycm9yIGlzIGluc3RlYWQgdGhyb3duLlxuICAgKlxuICAgKiBUaGUgcmV0dXJuIHR5cGUgaXMgbWFya2VkIGFzIGBuZXZlcmAgZm9yIHNpbXBsaWNpdHksIGFzIGVycm9yIHJlY292ZXJ5XG4gICAqIHdpbGwgY3JlYXRlIHR5cGVzIGluIGFuIGludmFsaWQgQVNUIHNoYXBlLlxuICAgKi9cbiAgcmFpc2U8RXJyb3JEZXRhaWxzID0gb2JqZWN0PihcbiAgICB0b1BhcnNlRXJyb3I6IFBhcnNlRXJyb3JDb25zdHJ1Y3RvcjxFcnJvckRldGFpbHM+LFxuICAgIGF0OiBQb3NpdGlvbiB8IFVuZG9uZTxOb2RlPixcbiAgICBkZXRhaWxzOiBFcnJvckRldGFpbHMgPSB7fSBhcyBFcnJvckRldGFpbHMsXG4gICk6IFBhcnNlRXJyb3I8RXJyb3JEZXRhaWxzPiB7XG4gICAgY29uc3QgbG9jID0gYXQgaW5zdGFuY2VvZiBQb3NpdGlvbiA/IGF0IDogYXQubG9jLnN0YXJ0O1xuICAgIGNvbnN0IGVycm9yID0gdG9QYXJzZUVycm9yKGxvYywgZGV0YWlscyk7XG5cbiAgICBpZiAoIXRoaXMub3B0aW9ucy5lcnJvclJlY292ZXJ5KSB0aHJvdyBlcnJvcjtcbiAgICBpZiAoIXRoaXMuaXNMb29rYWhlYWQpIHRoaXMuc3RhdGUuZXJyb3JzLnB1c2goZXJyb3IpO1xuXG4gICAgcmV0dXJuIGVycm9yO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIGBlcnJvclJlY292ZXJ5YCBpcyBgZmFsc2VgLCB0aGlzIG1ldGhvZCBiZWhhdmVzIGlkZW50aWNhbGx5IHRvIGByYWlzZWAuXG4gICAqIElmIGBlcnJvclJlY292ZXJ5YCBpcyBgdHJ1ZWAsIHRoaXMgbWV0aG9kIHdpbGwgZmlyc3Qgc2VlIGlmIHRoZXJlIGlzXG4gICAqIGFscmVhZHkgYW4gZXJyb3Igc3RvcmVkIGF0IHRoZSBzYW1lIGBQb3NpdGlvbmAsIGFuZCByZXBsYWNlcyBpdCB3aXRoIHRoZVxuICAgKiBvbmUgZ2VuZXJhdGVkIGhlcmUuXG4gICAqL1xuICByYWlzZU92ZXJ3cml0ZTxFcnJvckRldGFpbHM+KFxuICAgIHRvUGFyc2VFcnJvcjogUGFyc2VFcnJvckNvbnN0cnVjdG9yPEVycm9yRGV0YWlscz4sXG4gICAgYXQ6IFBvc2l0aW9uIHwgVW5kb25lPE5vZGU+LFxuICAgIGRldGFpbHM6IEVycm9yRGV0YWlscyA9IHt9IGFzIEVycm9yRGV0YWlscyxcbiAgKTogUGFyc2VFcnJvcjxFcnJvckRldGFpbHM+IHwgbmV2ZXIge1xuICAgIGNvbnN0IGxvYyA9IGF0IGluc3RhbmNlb2YgUG9zaXRpb24gPyBhdCA6IGF0LmxvYy5zdGFydDtcbiAgICBjb25zdCBwb3MgPSBsb2MuaW5kZXg7XG4gICAgY29uc3QgZXJyb3JzID0gdGhpcy5zdGF0ZS5lcnJvcnM7XG5cbiAgICBmb3IgKGxldCBpID0gZXJyb3JzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCBlcnJvciA9IGVycm9yc1tpXTtcbiAgICAgIGlmIChlcnJvci5sb2MuaW5kZXggPT09IHBvcykge1xuICAgICAgICByZXR1cm4gKGVycm9yc1tpXSA9IHRvUGFyc2VFcnJvcihsb2MsIGRldGFpbHMpKTtcbiAgICAgIH1cbiAgICAgIGlmIChlcnJvci5sb2MuaW5kZXggPCBwb3MpIGJyZWFrO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJhaXNlKHRvUGFyc2VFcnJvciwgYXQsIGRldGFpbHMpO1xuICB9XG5cbiAgLy8gdXBkYXRlQ29udGV4dCBpcyB1c2VkIGJ5IHRoZSBqc3ggcGx1Z2luXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgdXBkYXRlQ29udGV4dChwcmV2VHlwZTogVG9rZW5UeXBlKTogdm9pZCB7fVxuXG4gIC8vIFJhaXNlIGFuIHVuZXhwZWN0ZWQgdG9rZW4gZXJyb3IuIENhbiB0YWtlIHRoZSBleHBlY3RlZCB0b2tlbiB0eXBlLlxuICB1bmV4cGVjdGVkKGxvYz86IFBvc2l0aW9uIHwgbnVsbCwgdHlwZT86IFRva2VuVHlwZSk6IHZvaWQge1xuICAgIHRocm93IHRoaXMucmFpc2UoXG4gICAgICBFcnJvcnMuVW5leHBlY3RlZFRva2VuLFxuICAgICAgbG9jICE9IG51bGwgPyBsb2MgOiB0aGlzLnN0YXRlLnN0YXJ0TG9jLFxuICAgICAge1xuICAgICAgICBleHBlY3RlZDogdHlwZSA/IHRva2VuTGFiZWxOYW1lKHR5cGUpIDogbnVsbCxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIGV4cGVjdFBsdWdpbihwbHVnaW5OYW1lOiBQbHVnaW4sIGxvYz86IFBvc2l0aW9uKTogdHJ1ZSB7XG4gICAgaWYgKHRoaXMuaGFzUGx1Z2luKHBsdWdpbk5hbWUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG5cbiAgICB0aHJvdyB0aGlzLnJhaXNlKFxuICAgICAgRXJyb3JzLk1pc3NpbmdQbHVnaW4sXG4gICAgICBsb2MgIT0gbnVsbCA/IGxvYyA6IHRoaXMuc3RhdGUuc3RhcnRMb2MsXG4gICAgICB7XG4gICAgICAgIG1pc3NpbmdQbHVnaW46IFtwbHVnaW5OYW1lXSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIGV4cGVjdE9uZVBsdWdpbihwbHVnaW5OYW1lczogUGx1Z2luW10pOiB2b2lkIHtcbiAgICBpZiAoIXBsdWdpbk5hbWVzLnNvbWUobmFtZSA9PiB0aGlzLmhhc1BsdWdpbihuYW1lKSkpIHtcbiAgICAgIHRocm93IHRoaXMucmFpc2UoRXJyb3JzLk1pc3NpbmdPbmVPZlBsdWdpbnMsIHRoaXMuc3RhdGUuc3RhcnRMb2MsIHtcbiAgICAgICAgbWlzc2luZ1BsdWdpbjogcGx1Z2luTmFtZXMsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBlcnJvckJ1aWxkZXIoZXJyb3I6IFBhcnNlRXJyb3JDb25zdHJ1Y3RvcjxvYmplY3Q+KSB7XG4gICAgcmV0dXJuIChwb3M6IG51bWJlciwgbGluZVN0YXJ0OiBudW1iZXIsIGN1ckxpbmU6IG51bWJlcikgPT4ge1xuICAgICAgdGhpcy5yYWlzZShlcnJvciwgYnVpbGRQb3NpdGlvbihwb3MsIGxpbmVTdGFydCwgY3VyTGluZSkpO1xuICAgIH07XG4gIH1cblxuICBlcnJvckhhbmRsZXJzX3JlYWRJbnQ6IEludEVycm9ySGFuZGxlcnMgPSB7XG4gICAgaW52YWxpZERpZ2l0OiAocG9zLCBsaW5lU3RhcnQsIGN1ckxpbmUsIHJhZGl4KSA9PiB7XG4gICAgICBpZiAoIXRoaXMub3B0aW9ucy5lcnJvclJlY292ZXJ5KSByZXR1cm4gZmFsc2U7XG5cbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkludmFsaWREaWdpdCwgYnVpbGRQb3NpdGlvbihwb3MsIGxpbmVTdGFydCwgY3VyTGluZSksIHtcbiAgICAgICAgcmFkaXgsXG4gICAgICB9KTtcbiAgICAgIC8vIENvbnRpbnVlIHBhcnNpbmcgdGhlIG51bWJlciBhcyBpZiB0aGVyZSB3YXMgbm8gaW52YWxpZCBkaWdpdC5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0sXG4gICAgbnVtZXJpY1NlcGFyYXRvckluRXNjYXBlU2VxdWVuY2U6IHRoaXMuZXJyb3JCdWlsZGVyKFxuICAgICAgRXJyb3JzLk51bWVyaWNTZXBhcmF0b3JJbkVzY2FwZVNlcXVlbmNlLFxuICAgICksXG4gICAgdW5leHBlY3RlZE51bWVyaWNTZXBhcmF0b3I6IHRoaXMuZXJyb3JCdWlsZGVyKFxuICAgICAgRXJyb3JzLlVuZXhwZWN0ZWROdW1lcmljU2VwYXJhdG9yLFxuICAgICksXG4gIH07XG5cbiAgZXJyb3JIYW5kbGVyc19yZWFkQ29kZVBvaW50OiBDb2RlUG9pbnRFcnJvckhhbmRsZXJzID0ge1xuICAgIC4uLnRoaXMuZXJyb3JIYW5kbGVyc19yZWFkSW50LFxuICAgIGludmFsaWRFc2NhcGVTZXF1ZW5jZTogdGhpcy5lcnJvckJ1aWxkZXIoRXJyb3JzLkludmFsaWRFc2NhcGVTZXF1ZW5jZSksXG4gICAgaW52YWxpZENvZGVQb2ludDogdGhpcy5lcnJvckJ1aWxkZXIoRXJyb3JzLkludmFsaWRDb2RlUG9pbnQpLFxuICB9O1xuXG4gIGVycm9ySGFuZGxlcnNfcmVhZFN0cmluZ0NvbnRlbnRzX3N0cmluZzogU3RyaW5nQ29udGVudHNFcnJvckhhbmRsZXJzID0ge1xuICAgIC4uLnRoaXMuZXJyb3JIYW5kbGVyc19yZWFkQ29kZVBvaW50LFxuICAgIHN0cmljdE51bWVyaWNFc2NhcGU6IChwb3MsIGxpbmVTdGFydCwgY3VyTGluZSkgPT4ge1xuICAgICAgdGhpcy5yZWNvcmRTdHJpY3RNb2RlRXJyb3JzKFxuICAgICAgICBFcnJvcnMuU3RyaWN0TnVtZXJpY0VzY2FwZSxcbiAgICAgICAgYnVpbGRQb3NpdGlvbihwb3MsIGxpbmVTdGFydCwgY3VyTGluZSksXG4gICAgICApO1xuICAgIH0sXG4gICAgdW50ZXJtaW5hdGVkOiAocG9zLCBsaW5lU3RhcnQsIGN1ckxpbmUpID0+IHtcbiAgICAgIHRocm93IHRoaXMucmFpc2UoXG4gICAgICAgIEVycm9ycy5VbnRlcm1pbmF0ZWRTdHJpbmcsIC8vIFJlcG9ydCB0aGUgZXJyb3IgYXQgdGhlIHN0cmluZyBxdW90ZVxuICAgICAgICBidWlsZFBvc2l0aW9uKHBvcyAtIDEsIGxpbmVTdGFydCwgY3VyTGluZSksXG4gICAgICApO1xuICAgIH0sXG4gIH07XG5cbiAgZXJyb3JIYW5kbGVyc19yZWFkU3RyaW5nQ29udGVudHNfdGVtcGxhdGU6IFN0cmluZ0NvbnRlbnRzRXJyb3JIYW5kbGVycyA9IHtcbiAgICAuLi50aGlzLmVycm9ySGFuZGxlcnNfcmVhZENvZGVQb2ludCxcbiAgICBzdHJpY3ROdW1lcmljRXNjYXBlOiB0aGlzLmVycm9yQnVpbGRlcihFcnJvcnMuU3RyaWN0TnVtZXJpY0VzY2FwZSksXG4gICAgdW50ZXJtaW5hdGVkOiAocG9zLCBsaW5lU3RhcnQsIGN1ckxpbmUpID0+IHtcbiAgICAgIHRocm93IHRoaXMucmFpc2UoXG4gICAgICAgIEVycm9ycy5VbnRlcm1pbmF0ZWRUZW1wbGF0ZSxcbiAgICAgICAgYnVpbGRQb3NpdGlvbihwb3MsIGxpbmVTdGFydCwgY3VyTGluZSksXG4gICAgICApO1xuICAgIH0sXG4gIH07XG59XG4iLCAiaW1wb3J0IHsgQ2xhc3NFbGVtZW50VHlwZSB9IGZyb20gXCIuL3Njb3BlZmxhZ3MudHNcIjtcbmltcG9ydCB0eXBlIHsgUG9zaXRpb24gfSBmcm9tIFwiLi9sb2NhdGlvbi50c1wiO1xuaW1wb3J0IHsgRXJyb3JzIH0gZnJvbSBcIi4uL3BhcnNlLWVycm9yLnRzXCI7XG5pbXBvcnQgdHlwZSBUb2tlbml6ZXIgZnJvbSBcIi4uL3Rva2VuaXplci9pbmRleC50c1wiO1xuXG5leHBvcnQgY2xhc3MgQ2xhc3NTY29wZSB7XG4gIC8vIEEgbGlzdCBvZiBwcml2YXRlIG5hbWVkIGRlY2xhcmVkIGluIHRoZSBjdXJyZW50IGNsYXNzXG4gIHByaXZhdGVOYW1lczogU2V0PHN0cmluZz4gPSBuZXcgU2V0KCk7XG5cbiAgLy8gQSBsaXN0IG9mIHByaXZhdGUgZ2V0dGVycyBvZiBzZXR0ZXJzIHdpdGhvdXQgdGhlaXIgY291bnRlcnBhcnRcbiAgbG9uZUFjY2Vzc29yczogTWFwPHN0cmluZywgQ2xhc3NFbGVtZW50VHlwZT4gPSBuZXcgTWFwKCk7XG5cbiAgLy8gQSBsaXN0IG9mIHByaXZhdGUgbmFtZXMgdXNlZCBiZWZvcmUgYmVpbmcgZGVmaW5lZCwgbWFwcGluZyB0b1xuICAvLyB0aGVpciBwb3NpdGlvbi5cbiAgdW5kZWZpbmVkUHJpdmF0ZU5hbWVzOiBNYXA8c3RyaW5nLCBQb3NpdGlvbj4gPSBuZXcgTWFwKCk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENsYXNzU2NvcGVIYW5kbGVyIHtcbiAgcGFyc2VyOiBUb2tlbml6ZXI7XG4gIHN0YWNrOiBBcnJheTxDbGFzc1Njb3BlPiA9IFtdO1xuICB1bmRlZmluZWRQcml2YXRlTmFtZXM6IE1hcDxzdHJpbmcsIFBvc2l0aW9uPiA9IG5ldyBNYXAoKTtcblxuICBjb25zdHJ1Y3RvcihwYXJzZXI6IFRva2VuaXplcikge1xuICAgIHRoaXMucGFyc2VyID0gcGFyc2VyO1xuICB9XG5cbiAgY3VycmVudCgpOiBDbGFzc1Njb3BlIHtcbiAgICByZXR1cm4gdGhpcy5zdGFja1t0aGlzLnN0YWNrLmxlbmd0aCAtIDFdO1xuICB9XG5cbiAgZW50ZXIoKSB7XG4gICAgdGhpcy5zdGFjay5wdXNoKG5ldyBDbGFzc1Njb3BlKCkpO1xuICB9XG5cbiAgZXhpdCgpIHtcbiAgICBjb25zdCBvbGRDbGFzc1Njb3BlID0gdGhpcy5zdGFjay5wb3AoKTtcblxuICAgIC8vIE1pZ3JhdGUgdGhlIHVzYWdlIG9mIG5vdCB5ZXQgZGVmaW5lZCBwcml2YXRlIG5hbWVzIHRvIHRoZSBvdXRlclxuICAgIC8vIGNsYXNzIHNjb3BlLCBvciByYWlzZSBhbiBlcnJvciBpZiB3ZSByZWFjaGVkIHRoZSB0b3AtbGV2ZWwgc2NvcGUuXG5cbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5jdXJyZW50KCk7XG5cbiAgICAvLyBBcnJheS5mcm9tIGlzIG5lZWRlZCBiZWNhdXNlIHRoaXMgaXMgY29tcGlsZWQgdG8gYW4gYXJyYXktbGlrZSBmb3IgbG9vcFxuICAgIGZvciAoY29uc3QgW25hbWUsIGxvY10gb2YgQXJyYXkuZnJvbShvbGRDbGFzc1Njb3BlLnVuZGVmaW5lZFByaXZhdGVOYW1lcykpIHtcbiAgICAgIGlmIChjdXJyZW50KSB7XG4gICAgICAgIGlmICghY3VycmVudC51bmRlZmluZWRQcml2YXRlTmFtZXMuaGFzKG5hbWUpKSB7XG4gICAgICAgICAgY3VycmVudC51bmRlZmluZWRQcml2YXRlTmFtZXMuc2V0KG5hbWUsIGxvYyk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucGFyc2VyLnJhaXNlKEVycm9ycy5JbnZhbGlkUHJpdmF0ZUZpZWxkUmVzb2x1dGlvbiwgbG9jLCB7XG4gICAgICAgICAgaWRlbnRpZmllck5hbWU6IG5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGRlY2xhcmVQcml2YXRlTmFtZShcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgZWxlbWVudFR5cGU6IENsYXNzRWxlbWVudFR5cGUsXG4gICAgbG9jOiBQb3NpdGlvbixcbiAgKSB7XG4gICAgY29uc3QgeyBwcml2YXRlTmFtZXMsIGxvbmVBY2Nlc3NvcnMsIHVuZGVmaW5lZFByaXZhdGVOYW1lcyB9ID1cbiAgICAgIHRoaXMuY3VycmVudCgpO1xuICAgIGxldCByZWRlZmluZWQgPSBwcml2YXRlTmFtZXMuaGFzKG5hbWUpO1xuXG4gICAgaWYgKGVsZW1lbnRUeXBlICYgQ2xhc3NFbGVtZW50VHlwZS5LSU5EX0FDQ0VTU09SKSB7XG4gICAgICBjb25zdCBhY2Nlc3NvciA9IHJlZGVmaW5lZCAmJiBsb25lQWNjZXNzb3JzLmdldChuYW1lKTtcbiAgICAgIGlmIChhY2Nlc3Nvcikge1xuICAgICAgICBjb25zdCBvbGRTdGF0aWMgPSBhY2Nlc3NvciAmIENsYXNzRWxlbWVudFR5cGUuRkxBR19TVEFUSUM7XG4gICAgICAgIGNvbnN0IG5ld1N0YXRpYyA9IGVsZW1lbnRUeXBlICYgQ2xhc3NFbGVtZW50VHlwZS5GTEFHX1NUQVRJQztcblxuICAgICAgICBjb25zdCBvbGRLaW5kID0gYWNjZXNzb3IgJiBDbGFzc0VsZW1lbnRUeXBlLktJTkRfQUNDRVNTT1I7XG4gICAgICAgIGNvbnN0IG5ld0tpbmQgPSBlbGVtZW50VHlwZSAmIENsYXNzRWxlbWVudFR5cGUuS0lORF9BQ0NFU1NPUjtcblxuICAgICAgICAvLyBUaGUgcHJpdmF0ZSBuYW1lIGNhbiBiZSBkdXBsaWNhdGVkIG9ubHkgaWYgaXQgaXMgdXNlZCBieVxuICAgICAgICAvLyB0d28gYWNjZXNzb3JzIHdpdGggZGlmZmVyZW50IGtpbmQgKGdldCBhbmQgc2V0KSwgYW5kIGlmXG4gICAgICAgIC8vIHRoZXkgaGF2ZSB0aGUgc2FtZSBwbGFjZW1lbnQgKHN0YXRpYyBvciBub3QpLlxuICAgICAgICByZWRlZmluZWQgPSBvbGRLaW5kID09PSBuZXdLaW5kIHx8IG9sZFN0YXRpYyAhPT0gbmV3U3RhdGljO1xuXG4gICAgICAgIGlmICghcmVkZWZpbmVkKSBsb25lQWNjZXNzb3JzLmRlbGV0ZShuYW1lKTtcbiAgICAgIH0gZWxzZSBpZiAoIXJlZGVmaW5lZCkge1xuICAgICAgICBsb25lQWNjZXNzb3JzLnNldChuYW1lLCBlbGVtZW50VHlwZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHJlZGVmaW5lZCkge1xuICAgICAgdGhpcy5wYXJzZXIucmFpc2UoRXJyb3JzLlByaXZhdGVOYW1lUmVkZWNsYXJhdGlvbiwgbG9jLCB7XG4gICAgICAgIGlkZW50aWZpZXJOYW1lOiBuYW1lLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZU5hbWVzLmFkZChuYW1lKTtcbiAgICB1bmRlZmluZWRQcml2YXRlTmFtZXMuZGVsZXRlKG5hbWUpO1xuICB9XG5cbiAgdXNlUHJpdmF0ZU5hbWUobmFtZTogc3RyaW5nLCBsb2M6IFBvc2l0aW9uKSB7XG4gICAgbGV0IGNsYXNzU2NvcGU7XG4gICAgZm9yIChjbGFzc1Njb3BlIG9mIHRoaXMuc3RhY2spIHtcbiAgICAgIGlmIChjbGFzc1Njb3BlLnByaXZhdGVOYW1lcy5oYXMobmFtZSkpIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoY2xhc3NTY29wZSkge1xuICAgICAgY2xhc3NTY29wZS51bmRlZmluZWRQcml2YXRlTmFtZXMuc2V0KG5hbWUsIGxvYyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHRvcC1sZXZlbFxuICAgICAgdGhpcy5wYXJzZXIucmFpc2UoRXJyb3JzLkludmFsaWRQcml2YXRlRmllbGRSZXNvbHV0aW9uLCBsb2MsIHtcbiAgICAgICAgaWRlbnRpZmllck5hbWU6IG5hbWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBFcnJvcnMsIHR5cGUgUGFyc2VFcnJvckNvbnN0cnVjdG9yIH0gZnJvbSBcIi4uL3BhcnNlLWVycm9yLnRzXCI7XG5pbXBvcnQgdHlwZSB7IFBvc2l0aW9uIH0gZnJvbSBcIi4vbG9jYXRpb24udHNcIjtcbmltcG9ydCB0eXBlIHsgTm9kZSB9IGZyb20gXCIuLi90eXBlcy50c1wiO1xuaW1wb3J0IHR5cGUgVG9rZW5pemVyIGZyb20gXCIuLi90b2tlbml6ZXIvaW5kZXgudHNcIjtcblxuLyoqXG4gKiBAbW9kdWxlIHV0aWwvZXhwcmVzc2lvbi1zY29wZVxuXG5FeHByZXNzaW9uU2NvcGUgaXMgdXNlZCB0byB0cmFjayBkZWNsYXJhdGlvbiBlcnJvcnMgaW4gdGhlc2UgYW1iaWd1b3VzIHBhdHRlcm5zOlxuXG4tIENvdmVyUGFyZW50aGVzaXplZEV4cHJlc3Npb25BbmRBcnJvd1BhcmFtZXRlckxpc3RcbiAgZS5nLiB3ZSBkb24ndCBrbm93IGlmIGAoeyB4IH0pYCBpcyBhbiBwYXJlbnRoZXNpemVkIGV4cHJlc3Npb24gb3IgYW5cbiAgYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVycyB1bnRpbCB3ZSBzZWUgYW4gYD0+YCBhZnRlciBgKWAuXG5cbi0gQ292ZXJDYWxsRXhwcmVzc2lvbkFuZEFzeW5jQXJyb3dIZWFkXG4gIGUuZy4gd2UgZG9uJ3Qga25vdyBpZiBgYXN5bmMoeyB4IH0pYCBpcyBhIGNhbGwgZXhwcmVzc2lvbiBvciBhbiBhc3luYyBhcnJvd1xuICBmdW5jdGlvbiBwYXJhbWV0ZXJzIHVudGlsIHdlIHNlZSBhbiBgPT5gIGFmdGVyIGApYFxuXG5UaGUgZm9sbG93aW5nIGRlY2xhcmF0aW9uIGVycm9ycyAoQHNlZSBwYXJzZXItZXJyb3JzL3N0YW5kYXJkKSB3aWxsIGJlIHJlY29yZGVkIGluXG5zb21lIGV4cHJlc3Npb24gc2NvcGVzIGFuZCB0aHJvd24gbGF0ZXIgd2hlbiB3ZSBrbm93IHdoYXQgdGhlIGFtYmlndW91cyBwYXR0ZXJuIGlzXG5cbi0gQXdhaXRCaW5kaW5nSWRlbnRpZmllclxuLSBBd2FpdEV4cHJlc3Npb25Gb3JtYWxQYXJhbWV0ZXJcbi0gWWllbGRJblBhcmFtZXRlclxuLSBJbnZhbGlkUGFyZW50aGVzaXplZEFzc2lnbm1lbnQgd2hlbiBwYXJlbnRoZXNpemVkIGlzIGFuIGlkZW50aWZpZXJcblxuVGhlcmUgYXJlIGZvdXIgZGlmZmVyZW50IGV4cHJlc3Npb24gc2NvcGVcbi0gRXhwcmVzc2lvblxuICBBIGdlbmVyYWwgc2NvcGUgdGhhdCByZXByZXNlbnRzIHByb2dyYW0gLyBmdW5jdGlvbiBib2R5IC8gc3RhdGljIGJsb2NrLiBObyBlcnJvcnNcbiAgd2lsbCBiZSByZWNvcmRlZCBub3IgdGhyb3duIGluIHRoaXMgc2NvcGUuXG5cbi0gTWF5YmVBcnJvd1BhcmFtZXRlckRlY2xhcmF0aW9uXG4gIEEgc2NvcGUgdGhhdCByZXByZXNlbnRzIGFtYmlndW91cyBhcnJvdyBoZWFkIGUuZy4gYCh4KWAuIEVycm9ycyB3aWxsIGJlIHJlY29yZGVkXG4gIGFsb25nc2lkZSBwYXJlbnQgc2NvcGVzIGFuZCB0aHJvd24gd2hlbiBgRXhwcmVzc2lvblNjb3BlSGFuZGxlciN2YWxpZGF0ZUFzUGF0dGVybmBcbiAgaXMgY2FsbGVkLlxuXG4tIE1heWJlQXN5bmNBcnJvd1BhcmFtZXRlckRlY2xhcmF0aW9uXG4gIEEgc2NvcGUgdGhhdCByZXByZXNlbnRzIGFtYmlndW91cyBhc3luYyBhcnJvdyBoZWFkIGUuZy4gYGFzeW5jKHgpYC4gRXJyb3JzIHdpbGxcbiAgYmUgcmVjb3JkZWQgYWxvbmdzaWRlIHBhcmVudCBzY29wZXMgYW5kIHRocm93biB3aGVuXG4gIGBFeHByZXNzaW9uU2NvcGVIYW5kbGVyI3ZhbGlkYXRlQXNQYXR0ZXJuYCBpcyBjYWxsZWQuXG5cbi0gUGFyYW1ldGVyRGVjbGFyYXRpb25cbiAgQSBzY29wZSB0aGF0IHJlcHJlc2VudHMgdW5hbWJpZ3VvdXMgZnVuY3Rpb24gcGFyYW1ldGVycyBgZnVuY3Rpb24oeClgLiBFcnJvcnNcbiAgcmVjb3JkZWQgaW4gdGhpcyBzY29wZSB3aWxsIGJlIHRocm93biBpbW1lZGlhdGVseS4gTm8gZXJyb3JzIHdpbGwgYmUgcmVjb3JkZWQgaW5cbiAgdGhpcyBzY29wZS5cblxuLy8gQHNlZSB7QGxpbmsgaHR0cHM6Ly9kb2NzLmdvb2dsZS5jb20vZG9jdW1lbnQvZC8xRkF2RXA5RVVLLUc4a0hmRElFb18zODVIczJTVUJDWWJKNUgtTm5MdnE4TXxWOCBFeHByZXNzaW9uIFNjb3BlIGRlc2lnbiBkb2NzfVxuICovXG5cbmNvbnN0IGVudW0gRXhwcmVzc2lvblNjb3BlVHlwZSB7XG4gIGtFeHByZXNzaW9uID0gMCxcbiAga01heWJlQXJyb3dQYXJhbWV0ZXJEZWNsYXJhdGlvbiA9IDEsXG4gIGtNYXliZUFzeW5jQXJyb3dQYXJhbWV0ZXJEZWNsYXJhdGlvbiA9IDIsXG4gIGtQYXJhbWV0ZXJEZWNsYXJhdGlvbiA9IDMsXG59XG5cbmNsYXNzIEV4cHJlc3Npb25TY29wZSB7XG4gIGRlY2xhcmUgdHlwZTogRXhwcmVzc2lvblNjb3BlVHlwZTtcblxuICBjb25zdHJ1Y3Rvcih0eXBlOiBFeHByZXNzaW9uU2NvcGVUeXBlID0gRXhwcmVzc2lvblNjb3BlVHlwZS5rRXhwcmVzc2lvbikge1xuICAgIHRoaXMudHlwZSA9IHR5cGU7XG4gIH1cblxuICBjYW5CZUFycm93UGFyYW1ldGVyRGVjbGFyYXRpb24oKTogdGhpcyBpcyBBcnJvd0hlYWRQYXJzaW5nU2NvcGUge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLnR5cGUgPT09IEV4cHJlc3Npb25TY29wZVR5cGUua01heWJlQXN5bmNBcnJvd1BhcmFtZXRlckRlY2xhcmF0aW9uIHx8XG4gICAgICB0aGlzLnR5cGUgPT09IEV4cHJlc3Npb25TY29wZVR5cGUua01heWJlQXJyb3dQYXJhbWV0ZXJEZWNsYXJhdGlvblxuICAgICk7XG4gIH1cblxuICBpc0NlcnRhaW5seVBhcmFtZXRlckRlY2xhcmF0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLnR5cGUgPT09IEV4cHJlc3Npb25TY29wZVR5cGUua1BhcmFtZXRlckRlY2xhcmF0aW9uO1xuICB9XG59XG5cbnR5cGUgQXJyb3dIZWFkUGFyc2luZ1BhcmFtZXRlckluaXRpYWxpemVyRXJyb3IgPVxuICB8IHR5cGVvZiBFcnJvcnMuQXdhaXRFeHByZXNzaW9uRm9ybWFsUGFyYW1ldGVyXG4gIHwgdHlwZW9mIEVycm9ycy5ZaWVsZEluUGFyYW1ldGVyO1xudHlwZSBBcnJvd0hlYWRQYXJzaW5nRGVjbGFyYXRpb25FcnJvciA9XG4gIHwgQXJyb3dIZWFkUGFyc2luZ1BhcmFtZXRlckluaXRpYWxpemVyRXJyb3JcbiAgfCB0eXBlb2YgRXJyb3JzLkludmFsaWRQYXJlbnRoZXNpemVkQXNzaWdubWVudFxuICB8IHR5cGVvZiBFcnJvcnMuQXdhaXRCaW5kaW5nSWRlbnRpZmllcjtcblxuY2xhc3MgQXJyb3dIZWFkUGFyc2luZ1Njb3BlIGV4dGVuZHMgRXhwcmVzc2lvblNjb3BlIHtcbiAgZGVjbGFyYXRpb25FcnJvcnM6IE1hcDxudW1iZXIsIFtQYXJzZUVycm9yQ29uc3RydWN0b3I8b2JqZWN0PiwgUG9zaXRpb25dPiA9XG4gICAgbmV3IE1hcCgpO1xuICBjb25zdHJ1Y3RvcihcbiAgICB0eXBlOlxuICAgICAgfCBFeHByZXNzaW9uU2NvcGVUeXBlLmtNYXliZUFycm93UGFyYW1ldGVyRGVjbGFyYXRpb25cbiAgICAgIHwgRXhwcmVzc2lvblNjb3BlVHlwZS5rTWF5YmVBc3luY0Fycm93UGFyYW1ldGVyRGVjbGFyYXRpb24sXG4gICkge1xuICAgIHN1cGVyKHR5cGUpO1xuICB9XG4gIHJlY29yZERlY2xhcmF0aW9uRXJyb3IoXG4gICAgUGFyc2luZ0Vycm9yQ2xhc3M6IFBhcnNlRXJyb3JDb25zdHJ1Y3RvcjxvYmplY3Q+LFxuICAgIGF0OiBQb3NpdGlvbixcbiAgKSB7XG4gICAgY29uc3QgaW5kZXggPSBhdC5pbmRleDtcblxuICAgIHRoaXMuZGVjbGFyYXRpb25FcnJvcnMuc2V0KGluZGV4LCBbUGFyc2luZ0Vycm9yQ2xhc3MsIGF0XSk7XG4gIH1cbiAgY2xlYXJEZWNsYXJhdGlvbkVycm9yKGluZGV4OiBudW1iZXIpIHtcbiAgICB0aGlzLmRlY2xhcmF0aW9uRXJyb3JzLmRlbGV0ZShpbmRleCk7XG4gIH1cbiAgaXRlcmF0ZUVycm9ycyhcbiAgICBpdGVyYXRvcjogKGE6IFtBcnJvd0hlYWRQYXJzaW5nRGVjbGFyYXRpb25FcnJvciwgUG9zaXRpb25dKSA9PiB2b2lkLFxuICApIHtcbiAgICB0aGlzLmRlY2xhcmF0aW9uRXJyb3JzLmZvckVhY2goaXRlcmF0b3IpO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEV4cHJlc3Npb25TY29wZUhhbmRsZXIge1xuICBwYXJzZXI6IFRva2VuaXplcjtcbiAgc3RhY2s6IEFycmF5PEV4cHJlc3Npb25TY29wZT4gPSBbbmV3IEV4cHJlc3Npb25TY29wZSgpXTtcblxuICBjb25zdHJ1Y3RvcihwYXJzZXI6IFRva2VuaXplcikge1xuICAgIHRoaXMucGFyc2VyID0gcGFyc2VyO1xuICB9XG4gIGVudGVyKHNjb3BlOiBFeHByZXNzaW9uU2NvcGUpIHtcbiAgICB0aGlzLnN0YWNrLnB1c2goc2NvcGUpO1xuICB9XG5cbiAgZXhpdCgpIHtcbiAgICB0aGlzLnN0YWNrLnBvcCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlY29yZCBsaWtlbHkgcGFyYW1ldGVyIGluaXRpYWxpemVyIGVycm9yc1xuICAgKlxuICAgKiBXaGVuIGN1cnJlbnQgc2NvcGUgaXMgYSBQYXJhbWV0ZXJEZWNsYXJhdGlvbiwgdGhlIGVycm9yIHdpbGwgYmUgdGhyb3duIGltbWVkaWF0ZWx5LFxuICAgKiBvdGhlcndpc2UgaXQgd2lsbCBiZSByZWNvcmRlZCB0byBhbnkgYW5jZXN0cnkgTWF5YmVBcnJvd1BhcmFtZXRlckRlY2xhcmF0aW9uIGFuZFxuICAgKiBNYXliZUFzeW5jQXJyb3dQYXJhbWV0ZXJEZWNsYXJhdGlvbiBzY29wZSB1bnRpbCBhbiBFeHByZXNzaW9uIHNjb3BlIGlzIHNlZW4uXG4gICAqL1xuICByZWNvcmRQYXJhbWV0ZXJJbml0aWFsaXplckVycm9yKFxuICAgIHRvUGFyc2VFcnJvcjogQXJyb3dIZWFkUGFyc2luZ1BhcmFtZXRlckluaXRpYWxpemVyRXJyb3IsXG4gICAgbm9kZTogTm9kZSxcbiAgKTogdm9pZCB7XG4gICAgY29uc3Qgb3JpZ2luID0gbm9kZS5sb2Muc3RhcnQ7XG4gICAgY29uc3QgeyBzdGFjayB9ID0gdGhpcztcbiAgICBsZXQgaSA9IHN0YWNrLmxlbmd0aCAtIDE7XG4gICAgbGV0IHNjb3BlOiBFeHByZXNzaW9uU2NvcGUgPSBzdGFja1tpXTtcbiAgICB3aGlsZSAoIXNjb3BlLmlzQ2VydGFpbmx5UGFyYW1ldGVyRGVjbGFyYXRpb24oKSkge1xuICAgICAgaWYgKHNjb3BlLmNhbkJlQXJyb3dQYXJhbWV0ZXJEZWNsYXJhdGlvbigpKSB7XG4gICAgICAgIHNjb3BlLnJlY29yZERlY2xhcmF0aW9uRXJyb3IodG9QYXJzZUVycm9yLCBvcmlnaW4pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLyo6OiBpbnZhcmlhbnQoc2NvcGUudHlwZSA9PSBFeHByZXNzaW9uU2NvcGVUeXBlLmtFeHByZXNzaW9uKSAqL1xuICAgICAgICAvLyBUeXBlLUV4cHJlc3Npb24gaXMgdGhlIGJvdW5kYXJ5IHdoZXJlIGluaXRpYWxpemVyIGVycm9yIGNhbiBwb3B1bGF0ZSB0b1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBzY29wZSA9IHN0YWNrWy0taV07XG4gICAgfVxuICAgIHRoaXMucGFyc2VyLnJhaXNlKHRvUGFyc2VFcnJvciwgb3JpZ2luKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWNvcmQgZXJyb3JzIHRoYXQgbXVzdCBiZSB0aHJvd24gaWYgdGhlIGN1cnJlbnQgcGF0dGVybiBlbmRzIHVwIGJlaW5nIGFuIGFycm93XG4gICAqIGZ1bmN0aW9uIHBhcmFtZXRlci4gVGhpcyBpcyB1c2VkIHRvIHJlY29yZCBwYXJlbnRoZXNpemVkIGlkZW50aWZpZXJzLCBhbmQgdG8gcmVjb3JkXG4gICAqIFwiYSBhcyBUXCIgYW5kIFwiPFQ+IGFcIiB0eXBlIGFzc2VydGlvbnMgd2hlbiBwYXJzaW5nIHR5cGVzY3JpcHQuXG4gICAqXG4gICAqIEEgcGFyZW50aGVzaXplZCBpZGVudGlmaWVyIChvciB0eXBlIGFzc2VydGlvbikgaW4gTEhTIGNhbiBiZSBhbWJpZ3VvdXMgYmVjYXVzZSB0aGUgYXNzaWdubWVudFxuICAgKiBjYW4gYmUgdHJhbnNmb3JtZWQgdG8gYW4gYXNzaWduYWJsZSBsYXRlciwgYnV0IG5vdCB2aWNlIHZlcnNhOlxuICAgKiBGb3IgZXhhbXBsZSwgaW4gYChbKGEpID0gW11dID0gW10pID0+IHt9YCwgd2UgdGhpbmsgYChhKSA9IFtdYCBpcyBhbiBMSFMgaW4gYFsoYSkgPSBbXV1gLFxuICAgKiBhbiBMSFMgd2l0aGluIGBbKGEpID0gW11dID0gW11gLiBIb3dldmVyIHRoZSBMSFMgY2hhaW4gaXMgdGhlbiB0cmFuc2Zvcm1lZCBieSB0b0Fzc2lnbmFibGUsXG4gICAqIGFuZCB3ZSBzaG91bGQgdGhyb3cgYXNzaWdubWVudCBgKGEpYCwgd2hpY2ggaXMgb25seSB2YWxpZCBpbiBMSFMuIEhlbmNlIHdlIHJlY29yZCB0aGVcbiAgICogbG9jYXRpb24gb2YgcGFyZW50aGVzaXplZCBgKGEpYCB0byBjdXJyZW50IHNjb3BlIGlmIGl0IGlzIG9uZSBvZiBNYXliZUFycm93UGFyYW1ldGVyRGVjbGFyYXRpb25cbiAgICogYW5kIE1heWJlQXN5bmNBcnJvd1BhcmFtZXRlckRlY2xhcmF0aW9uXG4gICAqXG4gICAqIFVubGlrZSBgcmVjb3JkUGFyYW1ldGVySW5pdGlhbGl6ZXJFcnJvcmAsIHdlIGRvbid0IHJlY29yZCB0byBhbmNlc3RyeSBzY29wZSBiZWNhdXNlIHdlXG4gICAqIHZhbGlkYXRlIGFycm93IGhlYWQgcGFyc2luZyBzY29wZSBiZWZvcmUgZXhpdCwgYW5kIHRoZW4gdGhlIExIUyB3aWxsIGJlIHVuYW1iaWd1b3VzOlxuICAgKiBGb3IgZXhhbXBsZSwgaW4gYCggeCA9ICggWyhhKSA9IFtdXSA9IFtdICkgKSA9PiB7fWAsIHdlIHNob3VsZCBub3QgcmVjb3JkIGAoYSlgIGluIGAoIHggPSAuLi4gKSA9PmBcbiAgICogYXJyb3cgc2NvcGUgYmVjYXVzZSB3aGVuIHdlIGZpbmlzaCBwYXJzaW5nIGAoIFsoYSkgPSBbXV0gPSBbXSApYCwgaXQgaXMgYW4gdW5hbWJpZ3VvdXMgYXNzaWdubWVudFxuICAgKiBleHByZXNzaW9uIGFuZCBjYW4gbm90IGJlIGNhc3QgdG8gcGF0dGVyblxuICAgKi9cbiAgcmVjb3JkQXJyb3dQYXJhbWV0ZXJCaW5kaW5nRXJyb3IoXG4gICAgZXJyb3I6IFBhcnNlRXJyb3JDb25zdHJ1Y3RvcjxvYmplY3Q+LFxuICAgIG5vZGU6IE5vZGUsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IHsgc3RhY2sgfSA9IHRoaXM7XG4gICAgY29uc3Qgc2NvcGU6IEV4cHJlc3Npb25TY29wZSA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdO1xuICAgIGNvbnN0IG9yaWdpbiA9IG5vZGUubG9jLnN0YXJ0O1xuICAgIGlmIChzY29wZS5pc0NlcnRhaW5seVBhcmFtZXRlckRlY2xhcmF0aW9uKCkpIHtcbiAgICAgIHRoaXMucGFyc2VyLnJhaXNlKGVycm9yLCBvcmlnaW4pO1xuICAgIH0gZWxzZSBpZiAoc2NvcGUuY2FuQmVBcnJvd1BhcmFtZXRlckRlY2xhcmF0aW9uKCkpIHtcbiAgICAgIHNjb3BlLnJlY29yZERlY2xhcmF0aW9uRXJyb3IoZXJyb3IsIG9yaWdpbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVjb3JkIGxpa2VseSBhc3luYyBhcnJvdyBwYXJhbWV0ZXIgZXJyb3JzXG4gICAqXG4gICAqIEVycm9ycyB3aWxsIGJlIHJlY29yZGVkIHRvIGFueSBhbmNlc3RyeSBNYXliZUFzeW5jQXJyb3dQYXJhbWV0ZXJEZWNsYXJhdGlvblxuICAgKiBzY29wZSB1bnRpbCBhbiBFeHByZXNzaW9uIHNjb3BlIGlzIHNlZW4uXG4gICAqL1xuICByZWNvcmRBc3luY0Fycm93UGFyYW1ldGVyc0Vycm9yKGF0OiBQb3NpdGlvbik6IHZvaWQge1xuICAgIGNvbnN0IHsgc3RhY2sgfSA9IHRoaXM7XG4gICAgbGV0IGkgPSBzdGFjay5sZW5ndGggLSAxO1xuICAgIGxldCBzY29wZTogRXhwcmVzc2lvblNjb3BlID0gc3RhY2tbaV07XG4gICAgd2hpbGUgKHNjb3BlLmNhbkJlQXJyb3dQYXJhbWV0ZXJEZWNsYXJhdGlvbigpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHNjb3BlLnR5cGUgPT09IEV4cHJlc3Npb25TY29wZVR5cGUua01heWJlQXN5bmNBcnJvd1BhcmFtZXRlckRlY2xhcmF0aW9uXG4gICAgICApIHtcbiAgICAgICAgc2NvcGUucmVjb3JkRGVjbGFyYXRpb25FcnJvcihFcnJvcnMuQXdhaXRCaW5kaW5nSWRlbnRpZmllciwgYXQpO1xuICAgICAgfVxuICAgICAgc2NvcGUgPSBzdGFja1stLWldO1xuICAgIH1cbiAgfVxuXG4gIHZhbGlkYXRlQXNQYXR0ZXJuKCk6IHZvaWQge1xuICAgIGNvbnN0IHsgc3RhY2sgfSA9IHRoaXM7XG4gICAgY29uc3QgY3VycmVudFNjb3BlID0gc3RhY2tbc3RhY2subGVuZ3RoIC0gMV07XG4gICAgaWYgKCFjdXJyZW50U2NvcGUuY2FuQmVBcnJvd1BhcmFtZXRlckRlY2xhcmF0aW9uKCkpIHJldHVybjtcbiAgICBjdXJyZW50U2NvcGUuaXRlcmF0ZUVycm9ycygoW3RvUGFyc2VFcnJvciwgbG9jXSkgPT4ge1xuICAgICAgdGhpcy5wYXJzZXIucmFpc2UodG9QYXJzZUVycm9yLCBsb2MpO1xuICAgICAgLy8gaXRlcmF0ZSBmcm9tIHBhcmVudCBzY29wZVxuICAgICAgbGV0IGkgPSBzdGFjay5sZW5ndGggLSAyO1xuICAgICAgbGV0IHNjb3BlID0gc3RhY2tbaV07XG4gICAgICB3aGlsZSAoc2NvcGUuY2FuQmVBcnJvd1BhcmFtZXRlckRlY2xhcmF0aW9uKCkpIHtcbiAgICAgICAgc2NvcGUuY2xlYXJEZWNsYXJhdGlvbkVycm9yKGxvYy5pbmRleCk7XG4gICAgICAgIHNjb3BlID0gc3RhY2tbLS1pXTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbmV3UGFyYW1ldGVyRGVjbGFyYXRpb25TY29wZSgpIHtcbiAgcmV0dXJuIG5ldyBFeHByZXNzaW9uU2NvcGUoRXhwcmVzc2lvblNjb3BlVHlwZS5rUGFyYW1ldGVyRGVjbGFyYXRpb24pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbmV3QXJyb3dIZWFkU2NvcGUoKSB7XG4gIHJldHVybiBuZXcgQXJyb3dIZWFkUGFyc2luZ1Njb3BlKFxuICAgIEV4cHJlc3Npb25TY29wZVR5cGUua01heWJlQXJyb3dQYXJhbWV0ZXJEZWNsYXJhdGlvbixcbiAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG5ld0FzeW5jQXJyb3dTY29wZSgpIHtcbiAgcmV0dXJuIG5ldyBBcnJvd0hlYWRQYXJzaW5nU2NvcGUoXG4gICAgRXhwcmVzc2lvblNjb3BlVHlwZS5rTWF5YmVBc3luY0Fycm93UGFyYW1ldGVyRGVjbGFyYXRpb24sXG4gICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZXdFeHByZXNzaW9uU2NvcGUoKSB7XG4gIHJldHVybiBuZXcgRXhwcmVzc2lvblNjb3BlKCk7XG59XG4iLCAiLy8gUHJvZHVjdGlvblBhcmFtZXRlckhhbmRsZXIgaXMgYSBzdGFjayBmYXNoaW9uZWQgcHJvZHVjdGlvbiBwYXJhbWV0ZXIgdHJhY2tlclxuLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1ncmFtbWFyLW5vdGF0aW9uXG4vLyBUaGUgdHJhY2tlZCBwYXJhbWV0ZXJzIGFyZSBkZWZpbmVkIGFib3ZlLlxuLy9cbi8vIFdoZW5ldmVyIFsrQXdhaXRdL1srWWllbGRdIGFwcGVhcnMgaW4gdGhlIHJpZ2h0LWhhbmQgc2lkZXMgb2YgYSBwcm9kdWN0aW9uLFxuLy8gd2UgbXVzdCBlbnRlciBhIG5ldyB0cmFja2luZyBzdGFjay4gRm9yIGV4YW1wbGUgd2hlbiBwYXJzaW5nXG4vL1xuLy8gQXN5bmNGdW5jdGlvbkRlY2xhcmF0aW9uIFtZaWVsZCwgQXdhaXRdOlxuLy8gICBhc3luYyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gZnVuY3Rpb24gQmluZGluZ0lkZW50aWZpZXJbP1lpZWxkLCA/QXdhaXRdXG4vLyAgICAgKCBGb3JtYWxQYXJhbWV0ZXJzW35ZaWVsZCwgK0F3YWl0XSApIHsgQXN5bmNGdW5jdGlvbkJvZHkgfVxuLy9cbi8vIHdlIG11c3QgZm9sbG93IHN1Y2ggcHJvY2Vzczpcbi8vXG4vLyAxLiBwYXJzZSBhc3luYyBrZXl3b3JkXG4vLyAyLiBwYXJzZSBmdW5jdGlvbiBrZXl3b3JkXG4vLyAzLiBwYXJzZSBiaW5kaW5nSWRlbnRpZmllciA8PSBpbmhlcml0IGN1cnJlbnQgcGFyYW1ldGVyczogWz9Bd2FpdF1cbi8vIDQuIGVudGVyIG5ldyBzdGFjayB3aXRoIChQQVJBTV9BV0FJVClcbi8vIDUuIHBhcnNlIGZvcm1hbCBwYXJhbWV0ZXJzIDw9IG11c3QgaGF2ZSBbQXdhaXRdIHBhcmFtZXRlciBbK0F3YWl0XVxuLy8gNi4gcGFyc2UgZnVuY3Rpb24gYm9keVxuLy8gNy4gZXhpdCBjdXJyZW50IHN0YWNrXG5cbmV4cG9ydCBjb25zdCBlbnVtIFBhcmFtS2luZCB7XG4gIC8vIEluaXRpYWwgUGFyYW1ldGVyIGZsYWdzXG4gIFBBUkFNID0gMGIwMDAwLFxuICAvLyB0cmFjayBbWWllbGRdIHByb2R1Y3Rpb24gcGFyYW1ldGVyXG4gIFBBUkFNX1lJRUxEID0gMGIwMDAxLFxuICAvLyB0cmFjayBbQXdhaXRdIHByb2R1Y3Rpb24gcGFyYW1ldGVyXG4gIFBBUkFNX0FXQUlUID0gMGIwMDEwLFxuICAvLyB0cmFjayBbUmV0dXJuXSBwcm9kdWN0aW9uIHBhcmFtZXRlclxuICBQQVJBTV9SRVRVUk4gPSAwYjAxMDAsXG4gIC8vIHRyYWNrIFtJbl0gcHJvZHVjdGlvbiBwYXJhbWV0ZXJcbiAgUEFSQU1fSU4gPSAwYjEwMDAsXG59XG5cbi8vIHRvZG8oZmxvdy0+dHMpIC0gY2hlY2sgaWYgbW9yZSBncmFudWxhciB0eXBlIGNhbiBiZSB1c2VkLFxuLy8gIHR5cGUgYmVsb3cgaXMgbm90IGdvb2QgYmVjYXVzZSB0aGluZ3MgbGlrZSBQQVJBTV9BV0FJVHxQQVJBTV9ZSUVMRCBhcmUgbm90IGluY2x1ZGVkXG4vLyBleHBvcnQgdHlwZSBQYXJhbUtpbmQgPVxuLy8gICB8IHR5cGVvZiBQQVJBTVxuLy8gICB8IHR5cGVvZiBQQVJBTV9BV0FJVFxuLy8gICB8IHR5cGVvZiBQQVJBTV9JTlxuLy8gICB8IHR5cGVvZiBQQVJBTV9SRVRVUk5cbi8vICAgfCB0eXBlb2YgUEFSQU1fWUlFTEQ7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFByb2R1Y3Rpb25QYXJhbWV0ZXJIYW5kbGVyIHtcbiAgc3RhY2tzOiBBcnJheTxQYXJhbUtpbmQ+ID0gW107XG4gIGVudGVyKGZsYWdzOiBQYXJhbUtpbmQpIHtcbiAgICB0aGlzLnN0YWNrcy5wdXNoKGZsYWdzKTtcbiAgfVxuXG4gIGV4aXQoKSB7XG4gICAgdGhpcy5zdGFja3MucG9wKCk7XG4gIH1cblxuICBjdXJyZW50RmxhZ3MoKTogUGFyYW1LaW5kIHtcbiAgICByZXR1cm4gdGhpcy5zdGFja3NbdGhpcy5zdGFja3MubGVuZ3RoIC0gMV07XG4gIH1cblxuICBnZXQgaGFzQXdhaXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLmN1cnJlbnRGbGFncygpICYgUGFyYW1LaW5kLlBBUkFNX0FXQUlUKSA+IDA7XG4gIH1cblxuICBnZXQgaGFzWWllbGQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLmN1cnJlbnRGbGFncygpICYgUGFyYW1LaW5kLlBBUkFNX1lJRUxEKSA+IDA7XG4gIH1cblxuICBnZXQgaGFzUmV0dXJuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy5jdXJyZW50RmxhZ3MoKSAmIFBhcmFtS2luZC5QQVJBTV9SRVRVUk4pID4gMDtcbiAgfVxuXG4gIGdldCBoYXNJbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKHRoaXMuY3VycmVudEZsYWdzKCkgJiBQYXJhbUtpbmQuUEFSQU1fSU4pID4gMDtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZnVuY3Rpb25GbGFncyhcbiAgaXNBc3luYzogYm9vbGVhbixcbiAgaXNHZW5lcmF0b3I6IGJvb2xlYW4sXG4pOiBQYXJhbUtpbmQge1xuICByZXR1cm4gKFxuICAgIChpc0FzeW5jID8gUGFyYW1LaW5kLlBBUkFNX0FXQUlUIDogMCkgfFxuICAgIChpc0dlbmVyYXRvciA/IFBhcmFtS2luZC5QQVJBTV9ZSUVMRCA6IDApXG4gICk7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBQb3NpdGlvbiB9IGZyb20gXCIuLi91dGlsL2xvY2F0aW9uLnRzXCI7XG5pbXBvcnQge1xuICB0b2tlbklzTGl0ZXJhbFByb3BlcnR5TmFtZSxcbiAgdHQsXG4gIHR5cGUgVG9rZW5UeXBlLFxufSBmcm9tIFwiLi4vdG9rZW5pemVyL3R5cGVzLnRzXCI7XG5pbXBvcnQgVG9rZW5pemVyIGZyb20gXCIuLi90b2tlbml6ZXIvaW5kZXgudHNcIjtcbmltcG9ydCB0eXBlIFN0YXRlIGZyb20gXCIuLi90b2tlbml6ZXIvc3RhdGUudHNcIjtcbmltcG9ydCB0eXBlIHtcbiAgRXN0cmVlUHJvcGVydHlEZWZpbml0aW9uLFxuICBOb2RlLFxuICBPYmplY3RNZXRob2QsXG4gIE9iamVjdFByb3BlcnR5LFxuICBQcml2YXRlTmFtZSxcbn0gZnJvbSBcIi4uL3R5cGVzLmQudHNcIjtcbmltcG9ydCB7IGhhc05ld0xpbmUgfSBmcm9tIFwiLi4vdXRpbC93aGl0ZXNwYWNlLnRzXCI7XG5pbXBvcnQgeyBpc0lkZW50aWZpZXJDaGFyIH0gZnJvbSBcIi4uL3V0aWwvaWRlbnRpZmllci50c1wiO1xuaW1wb3J0IENsYXNzU2NvcGVIYW5kbGVyIGZyb20gXCIuLi91dGlsL2NsYXNzLXNjb3BlLnRzXCI7XG5pbXBvcnQgRXhwcmVzc2lvblNjb3BlSGFuZGxlciBmcm9tIFwiLi4vdXRpbC9leHByZXNzaW9uLXNjb3BlLnRzXCI7XG5pbXBvcnQgeyBTY29wZUZsYWcgfSBmcm9tIFwiLi4vdXRpbC9zY29wZWZsYWdzLnRzXCI7XG5pbXBvcnQgUHJvZHVjdGlvblBhcmFtZXRlckhhbmRsZXIsIHtcbiAgUGFyYW1LaW5kLFxufSBmcm9tIFwiLi4vdXRpbC9wcm9kdWN0aW9uLXBhcmFtZXRlci50c1wiO1xuaW1wb3J0IHtcbiAgRXJyb3JzLFxuICB0eXBlIFBhcnNlRXJyb3IsXG4gIHR5cGUgUGFyc2VFcnJvckNvbnN0cnVjdG9yLFxufSBmcm9tIFwiLi4vcGFyc2UtZXJyb3IudHNcIjtcbmltcG9ydCB0eXBlIFBhcnNlciBmcm9tIFwiLi9pbmRleC50c1wiO1xuXG5pbXBvcnQgdHlwZSBTY29wZUhhbmRsZXIgZnJvbSBcIi4uL3V0aWwvc2NvcGUudHNcIjtcblxudHlwZSBUcnlQYXJzZTxOb2RlLCBFcnJvciwgVGhyb3duLCBBYm9ydGVkLCBGYWlsU3RhdGU+ID0ge1xuICBub2RlOiBOb2RlO1xuICBlcnJvcjogRXJyb3I7XG4gIHRocm93bjogVGhyb3duO1xuICBhYm9ydGVkOiBBYm9ydGVkO1xuICBmYWlsU3RhdGU6IEZhaWxTdGF0ZTtcbn07XG5cbi8vICMjIFBhcnNlciB1dGlsaXRpZXNcblxuZXhwb3J0IGRlZmF1bHQgYWJzdHJhY3QgY2xhc3MgVXRpbFBhcnNlciBleHRlbmRzIFRva2VuaXplciB7XG4gIC8vIEZvcndhcmQtZGVjbGFyYXRpb246IGRlZmluZWQgaW4gcGFyc2VyL2luZGV4LmpzXG4gIGFic3RyYWN0IGdldFNjb3BlSGFuZGxlcigpOiBuZXcgKC4uLmFyZ3M6IGFueSkgPT4gU2NvcGVIYW5kbGVyO1xuXG4gIGFkZEV4dHJhKFxuICAgIG5vZGU6IFBhcnRpYWw8Tm9kZT4sXG4gICAga2V5OiBzdHJpbmcsXG4gICAgdmFsdWU6IGFueSxcbiAgICBlbnVtZXJhYmxlOiBib29sZWFuID0gdHJ1ZSxcbiAgKTogdm9pZCB7XG4gICAgaWYgKCFub2RlKSByZXR1cm47XG5cbiAgICBsZXQgeyBleHRyYSB9ID0gbm9kZTtcbiAgICBpZiAoZXh0cmEgPT0gbnVsbCkge1xuICAgICAgZXh0cmEgPSB7fTtcbiAgICAgIG5vZGUuZXh0cmEgPSBleHRyYTtcbiAgICB9XG5cbiAgICBpZiAoZW51bWVyYWJsZSkge1xuICAgICAgZXh0cmFba2V5XSA9IHZhbHVlO1xuICAgIH0gZWxzZSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXh0cmEsIGtleSwgeyBlbnVtZXJhYmxlLCB2YWx1ZSB9KTtcbiAgICB9XG4gIH1cblxuICAvLyBUZXN0cyB3aGV0aGVyIHBhcnNlZCB0b2tlbiBpcyBhIGNvbnRleHR1YWwga2V5d29yZC5cblxuICBpc0NvbnRleHR1YWwodG9rZW46IFRva2VuVHlwZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLnR5cGUgPT09IHRva2VuICYmICF0aGlzLnN0YXRlLmNvbnRhaW5zRXNjO1xuICB9XG5cbiAgaXNVbnBhcnNlZENvbnRleHR1YWwobmFtZVN0YXJ0OiBudW1iZXIsIG5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG5hbWVFbmQgPSBuYW1lU3RhcnQgKyBuYW1lLmxlbmd0aDtcbiAgICBpZiAodGhpcy5pbnB1dC5zbGljZShuYW1lU3RhcnQsIG5hbWVFbmQpID09PSBuYW1lKSB7XG4gICAgICBjb25zdCBuZXh0Q2ggPSB0aGlzLmlucHV0LmNoYXJDb2RlQXQobmFtZUVuZCk7XG4gICAgICByZXR1cm4gIShcbiAgICAgICAgaXNJZGVudGlmaWVyQ2hhcihuZXh0Q2gpIHx8XG4gICAgICAgIC8vIGNoZWNrIGlmIGBuZXh0Q2ggaXMgYmV0d2VlbiAweGQ4MDAgLSAweGRiZmYsXG4gICAgICAgIC8vIGlmIGBuZXh0Q2hgIGlzIE5hTiwgYE5hTiAmIDB4ZmMwMGAgaXMgMCwgdGhlIGZ1bmN0aW9uXG4gICAgICAgIC8vIHJldHVybnMgdHJ1ZVxuICAgICAgICAobmV4dENoICYgMHhmYzAwKSA9PT0gMHhkODAwXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBpc0xvb2thaGVhZENvbnRleHR1YWwobmFtZTogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgY29uc3QgbmV4dCA9IHRoaXMubmV4dFRva2VuU3RhcnQoKTtcbiAgICByZXR1cm4gdGhpcy5pc1VucGFyc2VkQ29udGV4dHVhbChuZXh0LCBuYW1lKTtcbiAgfVxuXG4gIC8vIENvbnN1bWVzIGNvbnRleHR1YWwga2V5d29yZCBpZiBwb3NzaWJsZS5cblxuICBlYXRDb250ZXh0dWFsKHRva2VuOiBUb2tlblR5cGUpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5pc0NvbnRleHR1YWwodG9rZW4pKSB7XG4gICAgICB0aGlzLm5leHQoKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBBc3NlcnRzIHRoYXQgZm9sbG93aW5nIHRva2VuIGlzIGdpdmVuIGNvbnRleHR1YWwga2V5d29yZC5cblxuICBleHBlY3RDb250ZXh0dWFsKFxuICAgIHRva2VuOiBUb2tlblR5cGUsXG4gICAgdG9QYXJzZUVycm9yPzogUGFyc2VFcnJvckNvbnN0cnVjdG9yPGFueT4sXG4gICk6IHZvaWQge1xuICAgIGlmICghdGhpcy5lYXRDb250ZXh0dWFsKHRva2VuKSkge1xuICAgICAgaWYgKHRvUGFyc2VFcnJvciAhPSBudWxsKSB7XG4gICAgICAgIHRocm93IHRoaXMucmFpc2UodG9QYXJzZUVycm9yLCB0aGlzLnN0YXRlLnN0YXJ0TG9jKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudW5leHBlY3RlZChudWxsLCB0b2tlbik7XG4gICAgfVxuICB9XG5cbiAgLy8gVGVzdCB3aGV0aGVyIGEgc2VtaWNvbG9uIGNhbiBiZSBpbnNlcnRlZCBhdCB0aGUgY3VycmVudCBwb3NpdGlvbi5cblxuICBjYW5JbnNlcnRTZW1pY29sb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMubWF0Y2godHQuZW9mKSB8fFxuICAgICAgdGhpcy5tYXRjaCh0dC5icmFjZVIpIHx8XG4gICAgICB0aGlzLmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpXG4gICAgKTtcbiAgfVxuXG4gIGhhc1ByZWNlZGluZ0xpbmVCcmVhaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaGFzTmV3TGluZShcbiAgICAgIHRoaXMuaW5wdXQsXG4gICAgICB0aGlzLm9mZnNldFRvU291cmNlUG9zKHRoaXMuc3RhdGUubGFzdFRva0VuZExvYy5pbmRleCksXG4gICAgICB0aGlzLnN0YXRlLnN0YXJ0LFxuICAgICk7XG4gIH1cblxuICBoYXNGb2xsb3dpbmdMaW5lQnJlYWsoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGhhc05ld0xpbmUodGhpcy5pbnB1dCwgdGhpcy5zdGF0ZS5lbmQsIHRoaXMubmV4dFRva2VuU3RhcnQoKSk7XG4gIH1cblxuICBpc0xpbmVUZXJtaW5hdG9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLmVhdCh0dC5zZW1pKSB8fCB0aGlzLmNhbkluc2VydFNlbWljb2xvbigpO1xuICB9XG5cbiAgLy8gQ29uc3VtZSBhIHNlbWljb2xvbiwgb3IsIGZhaWxpbmcgdGhhdCwgc2VlIGlmIHdlIGFyZSBhbGxvd2VkIHRvXG4gIC8vIHByZXRlbmQgdGhhdCB0aGVyZSBpcyBhIHNlbWljb2xvbiBhdCB0aGlzIHBvc2l0aW9uLlxuXG4gIHNlbWljb2xvbihhbGxvd0FzaTogYm9vbGVhbiA9IHRydWUpOiB2b2lkIHtcbiAgICBpZiAoYWxsb3dBc2kgPyB0aGlzLmlzTGluZVRlcm1pbmF0b3IoKSA6IHRoaXMuZWF0KHR0LnNlbWkpKSByZXR1cm47XG4gICAgdGhpcy5yYWlzZShFcnJvcnMuTWlzc2luZ1NlbWljb2xvbiwgdGhpcy5zdGF0ZS5sYXN0VG9rRW5kTG9jKTtcbiAgfVxuXG4gIC8vIEV4cGVjdCBhIHRva2VuIG9mIGEgZ2l2ZW4gdHlwZS4gSWYgZm91bmQsIGNvbnN1bWUgaXQsIG90aGVyd2lzZSxcbiAgLy8gcmFpc2UgYW4gdW5leHBlY3RlZCB0b2tlbiBlcnJvciBhdCBnaXZlbiBwb3MuXG5cbiAgZXhwZWN0KHR5cGU6IFRva2VuVHlwZSwgbG9jPzogUG9zaXRpb24gfCBudWxsKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmVhdCh0eXBlKSkge1xuICAgICAgdGhpcy51bmV4cGVjdGVkKGxvYywgdHlwZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gdHJ5UGFyc2Ugd2lsbCBjbG9uZSBwYXJzZXIgc3RhdGUuXG4gIC8vIEl0IGlzIGV4cGVuc2l2ZSBhbmQgc2hvdWxkIGJlIHVzZWQgd2l0aCBjYXV0aW9uc1xuICB0cnlQYXJzZTxUIGV4dGVuZHMgTm9kZSB8IFJlYWRvbmx5QXJyYXk8Tm9kZT4+KFxuICAgIGZuOiAoYWJvcnQ6IChub2RlPzogVCkgPT4gbmV2ZXIpID0+IFQsXG4gICAgb2xkU3RhdGU6IFN0YXRlID0gdGhpcy5zdGF0ZS5jbG9uZSgpLFxuICApOlxuICAgIHwgVHJ5UGFyc2U8VCwgbnVsbCwgZmFsc2UsIGZhbHNlLCBudWxsPlxuICAgIHwgVHJ5UGFyc2U8VCB8IG51bGwsIFBhcnNlRXJyb3I8YW55PiwgYm9vbGVhbiwgZmFsc2UsIFN0YXRlPlxuICAgIHwgVHJ5UGFyc2U8VCB8IG51bGwsIG51bGwsIGZhbHNlLCB0cnVlLCBTdGF0ZT4ge1xuICAgIGNvbnN0IGFib3J0U2lnbmFsOiB7XG4gICAgICBub2RlOiBUIHwgbnVsbDtcbiAgICB9ID0geyBub2RlOiBudWxsIH07XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG5vZGUgPSBmbigobm9kZSA9IG51bGwpID0+IHtcbiAgICAgICAgYWJvcnRTaWduYWwubm9kZSA9IG5vZGU7XG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvb25seS10aHJvdy1lcnJvclxuICAgICAgICB0aHJvdyBhYm9ydFNpZ25hbDtcbiAgICAgIH0pO1xuICAgICAgaWYgKHRoaXMuc3RhdGUuZXJyb3JzLmxlbmd0aCA+IG9sZFN0YXRlLmVycm9ycy5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgZmFpbFN0YXRlID0gdGhpcy5zdGF0ZTtcbiAgICAgICAgdGhpcy5zdGF0ZSA9IG9sZFN0YXRlO1xuICAgICAgICAvLyB0b2tlbnNMZW5ndGggc2hvdWxkIGJlIHByZXNlcnZlZCBkdXJpbmcgZXJyb3IgcmVjb3ZlcnkgbW9kZVxuICAgICAgICAvLyBzaW5jZSB0aGUgcGFyc2VyIGRvZXMgbm90IGhhbHQgYW5kIHdpbGwgaW5zdGVhZCBwYXJzZSB0aGVcbiAgICAgICAgLy8gcmVtYWluaW5nIHRva2Vuc1xuICAgICAgICB0aGlzLnN0YXRlLnRva2Vuc0xlbmd0aCA9IGZhaWxTdGF0ZS50b2tlbnNMZW5ndGg7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBlcnJvcjogZmFpbFN0YXRlLmVycm9yc1tvbGRTdGF0ZS5lcnJvcnMubGVuZ3RoXSxcbiAgICAgICAgICB0aHJvd246IGZhbHNlLFxuICAgICAgICAgIGFib3J0ZWQ6IGZhbHNlLFxuICAgICAgICAgIGZhaWxTdGF0ZSxcbiAgICAgICAgfTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbm9kZSxcbiAgICAgICAgZXJyb3I6IG51bGwsXG4gICAgICAgIHRocm93bjogZmFsc2UsXG4gICAgICAgIGFib3J0ZWQ6IGZhbHNlLFxuICAgICAgICBmYWlsU3RhdGU6IG51bGwsXG4gICAgICB9O1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zdCBmYWlsU3RhdGUgPSB0aGlzLnN0YXRlO1xuICAgICAgdGhpcy5zdGF0ZSA9IG9sZFN0YXRlO1xuICAgICAgaWYgKGVycm9yIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpIHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBjYXN0aW5nIGdlbmVyYWwgc3ludGF4IGVycm9yIHRvIHBhcnNlIGVycm9yXG4gICAgICAgIHJldHVybiB7IG5vZGU6IG51bGwsIGVycm9yLCB0aHJvd246IHRydWUsIGFib3J0ZWQ6IGZhbHNlLCBmYWlsU3RhdGUgfTtcbiAgICAgIH1cbiAgICAgIGlmIChlcnJvciA9PT0gYWJvcnRTaWduYWwpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBub2RlOiBhYm9ydFNpZ25hbC5ub2RlLFxuICAgICAgICAgIGVycm9yOiBudWxsLFxuICAgICAgICAgIHRocm93bjogZmFsc2UsXG4gICAgICAgICAgYWJvcnRlZDogdHJ1ZSxcbiAgICAgICAgICBmYWlsU3RhdGUsXG4gICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrRXhwcmVzc2lvbkVycm9ycyhcbiAgICByZWZFeHByZXNzaW9uRXJyb3JzOiBFeHByZXNzaW9uRXJyb3JzIHwgdW5kZWZpbmVkIHwgbnVsbCxcbiAgICBhbmRUaHJvdzogYm9vbGVhbixcbiAgKSB7XG4gICAgaWYgKCFyZWZFeHByZXNzaW9uRXJyb3JzKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3Qge1xuICAgICAgc2hvcnRoYW5kQXNzaWduTG9jLFxuICAgICAgZG91YmxlUHJvdG9Mb2MsXG4gICAgICBwcml2YXRlS2V5TG9jLFxuICAgICAgb3B0aW9uYWxQYXJhbWV0ZXJzTG9jLFxuICAgIH0gPSByZWZFeHByZXNzaW9uRXJyb3JzO1xuXG4gICAgY29uc3QgaGFzRXJyb3JzID1cbiAgICAgICEhc2hvcnRoYW5kQXNzaWduTG9jIHx8XG4gICAgICAhIWRvdWJsZVByb3RvTG9jIHx8XG4gICAgICAhIW9wdGlvbmFsUGFyYW1ldGVyc0xvYyB8fFxuICAgICAgISFwcml2YXRlS2V5TG9jO1xuXG4gICAgaWYgKCFhbmRUaHJvdykge1xuICAgICAgcmV0dXJuIGhhc0Vycm9ycztcbiAgICB9XG5cbiAgICBpZiAoc2hvcnRoYW5kQXNzaWduTG9jICE9IG51bGwpIHtcbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkludmFsaWRDb3ZlckluaXRpYWxpemVkTmFtZSwgc2hvcnRoYW5kQXNzaWduTG9jKTtcbiAgICB9XG5cbiAgICBpZiAoZG91YmxlUHJvdG9Mb2MgIT0gbnVsbCkge1xuICAgICAgdGhpcy5yYWlzZShFcnJvcnMuRHVwbGljYXRlUHJvdG8sIGRvdWJsZVByb3RvTG9jKTtcbiAgICB9XG5cbiAgICBpZiAocHJpdmF0ZUtleUxvYyAhPSBudWxsKSB7XG4gICAgICB0aGlzLnJhaXNlKEVycm9ycy5VbmV4cGVjdGVkUHJpdmF0ZUZpZWxkLCBwcml2YXRlS2V5TG9jKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9uYWxQYXJhbWV0ZXJzTG9jICE9IG51bGwpIHtcbiAgICAgIHRoaXMudW5leHBlY3RlZChvcHRpb25hbFBhcmFtZXRlcnNMb2MpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUZXN0IGlmIGN1cnJlbnQgdG9rZW4gaXMgYSBsaXRlcmFsIHByb3BlcnR5IG5hbWVcbiAgICogaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtTGl0ZXJhbFByb3BlcnR5TmFtZVxuICAgKiBMaXRlcmFsUHJvcGVydHlOYW1lOlxuICAgKiAgIElkZW50aWZpZXJOYW1lXG4gICAqICAgU3RyaW5nTGl0ZXJhbFxuICAgKiAgIE51bWVyaWNMaXRlcmFsXG4gICAqICAgQmlnSW50TGl0ZXJhbFxuICAgKi9cbiAgaXNMaXRlcmFsUHJvcGVydHlOYW1lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0b2tlbklzTGl0ZXJhbFByb3BlcnR5TmFtZSh0aGlzLnN0YXRlLnR5cGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRlc3QgaWYgZ2l2ZW4gbm9kZSBpcyBhIFByaXZhdGVOYW1lXG4gICAqIHdpbGwgYmUgb3ZlcnJpZGRlbiBpbiBFU1RyZWUgcGx1Z2luXG4gICAqL1xuICBpc1ByaXZhdGVOYW1lKG5vZGU6IE5vZGUpOiBub2RlIGlzIFByaXZhdGVOYW1lIHtcbiAgICByZXR1cm4gbm9kZS50eXBlID09PSBcIlByaXZhdGVOYW1lXCI7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBzdHJpbmcgdmFsdWUgb2YgYSBnaXZlbiBwcml2YXRlIG5hbWVcbiAgICogV0lUSE9VVCBgI2BcbiAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3NlYy1zdGF0aWMtc2VtYW50aWNzLXN0cmluZ3ZhbHVlfVxuICAgKi9cbiAgZ2V0UHJpdmF0ZU5hbWVTVihub2RlOiBQcml2YXRlTmFtZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuIG5vZGUuaWQubmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gd2hldGhlciB0aGUgZ2l2ZW4gbm9kZSBpcyBhIG1lbWJlci9vcHRpb25hbCBjaGFpbiB0aGF0XG4gICAqIGNvbnRhaW5zIGEgcHJpdmF0ZSBuYW1lIGFzIGl0cyBwcm9wZXJ0eVxuICAgKiBJdCBpcyBvdmVycmlkZGVuIGluIEVTVHJlZSBwbHVnaW5cbiAgICovXG4gIGhhc1Byb3BlcnR5QXNQcml2YXRlTmFtZShub2RlOiBOb2RlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIChub2RlLnR5cGUgPT09IFwiTWVtYmVyRXhwcmVzc2lvblwiIHx8XG4gICAgICAgIG5vZGUudHlwZSA9PT0gXCJPcHRpb25hbE1lbWJlckV4cHJlc3Npb25cIikgJiZcbiAgICAgIHRoaXMuaXNQcml2YXRlTmFtZShub2RlLnByb3BlcnR5KVxuICAgICk7XG4gIH1cblxuICBpc09iamVjdFByb3BlcnR5KFxuICAgIG5vZGU6IE5vZGUsXG4gICk6IG5vZGUgaXMgT2JqZWN0UHJvcGVydHkgfCBFc3RyZWVQcm9wZXJ0eURlZmluaXRpb24ge1xuICAgIHJldHVybiBub2RlLnR5cGUgPT09IFwiT2JqZWN0UHJvcGVydHlcIjtcbiAgfVxuXG4gIGlzT2JqZWN0TWV0aG9kKG5vZGU6IE5vZGUpOiBub2RlIGlzIE9iamVjdE1ldGhvZCB7XG4gICAgcmV0dXJuIG5vZGUudHlwZSA9PT0gXCJPYmplY3RNZXRob2RcIjtcbiAgfVxuXG4gIGluaXRpYWxpemVTY29wZXMoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIGluTW9kdWxlOiBib29sZWFuID0gdGhpcy5vcHRpb25zLnNvdXJjZVR5cGUgPT09IFwibW9kdWxlXCIsXG4gICk6ICgpID0+IHZvaWQge1xuICAgIC8vIEluaXRpYWxpemUgc3RhdGVcbiAgICBjb25zdCBvbGRMYWJlbHMgPSB0aGlzLnN0YXRlLmxhYmVscztcbiAgICB0aGlzLnN0YXRlLmxhYmVscyA9IFtdO1xuXG4gICAgY29uc3Qgb2xkRXhwb3J0ZWRJZGVudGlmaWVycyA9IHRoaXMuZXhwb3J0ZWRJZGVudGlmaWVycztcbiAgICB0aGlzLmV4cG9ydGVkSWRlbnRpZmllcnMgPSBuZXcgU2V0KCk7XG5cbiAgICAvLyBpbml0aWFsaXplIHNjb3Blc1xuICAgIGNvbnN0IG9sZEluTW9kdWxlID0gdGhpcy5pbk1vZHVsZTtcbiAgICB0aGlzLmluTW9kdWxlID0gaW5Nb2R1bGU7XG5cbiAgICBjb25zdCBvbGRTY29wZSA9IHRoaXMuc2NvcGU7XG4gICAgY29uc3QgU2NvcGVIYW5kbGVyID0gdGhpcy5nZXRTY29wZUhhbmRsZXIoKTtcbiAgICB0aGlzLnNjb3BlID0gbmV3IFNjb3BlSGFuZGxlcih0aGlzLCBpbk1vZHVsZSk7XG5cbiAgICBjb25zdCBvbGRQcm9kUGFyYW0gPSB0aGlzLnByb2RQYXJhbTtcbiAgICB0aGlzLnByb2RQYXJhbSA9IG5ldyBQcm9kdWN0aW9uUGFyYW1ldGVySGFuZGxlcigpO1xuXG4gICAgY29uc3Qgb2xkQ2xhc3NTY29wZSA9IHRoaXMuY2xhc3NTY29wZTtcbiAgICB0aGlzLmNsYXNzU2NvcGUgPSBuZXcgQ2xhc3NTY29wZUhhbmRsZXIodGhpcyk7XG5cbiAgICBjb25zdCBvbGRFeHByZXNzaW9uU2NvcGUgPSB0aGlzLmV4cHJlc3Npb25TY29wZTtcbiAgICB0aGlzLmV4cHJlc3Npb25TY29wZSA9IG5ldyBFeHByZXNzaW9uU2NvcGVIYW5kbGVyKHRoaXMpO1xuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIC8vIFJldmVydCBzdGF0ZVxuICAgICAgdGhpcy5zdGF0ZS5sYWJlbHMgPSBvbGRMYWJlbHM7XG4gICAgICB0aGlzLmV4cG9ydGVkSWRlbnRpZmllcnMgPSBvbGRFeHBvcnRlZElkZW50aWZpZXJzO1xuXG4gICAgICAvLyBSZXZlcnQgc2NvcGVzXG4gICAgICB0aGlzLmluTW9kdWxlID0gb2xkSW5Nb2R1bGU7XG4gICAgICB0aGlzLnNjb3BlID0gb2xkU2NvcGU7XG4gICAgICB0aGlzLnByb2RQYXJhbSA9IG9sZFByb2RQYXJhbTtcbiAgICAgIHRoaXMuY2xhc3NTY29wZSA9IG9sZENsYXNzU2NvcGU7XG4gICAgICB0aGlzLmV4cHJlc3Npb25TY29wZSA9IG9sZEV4cHJlc3Npb25TY29wZTtcbiAgICB9O1xuICB9XG5cbiAgZW50ZXJJbml0aWFsU2NvcGVzKCkge1xuICAgIGxldCBwYXJhbUZsYWdzID0gUGFyYW1LaW5kLlBBUkFNO1xuICAgIGlmICh0aGlzLmluTW9kdWxlKSB7XG4gICAgICBwYXJhbUZsYWdzIHw9IFBhcmFtS2luZC5QQVJBTV9BV0FJVDtcbiAgICB9XG4gICAgdGhpcy5zY29wZS5lbnRlcihTY29wZUZsYWcuUFJPR1JBTSk7XG4gICAgdGhpcy5wcm9kUGFyYW0uZW50ZXIocGFyYW1GbGFncyk7XG4gIH1cblxuICBjaGVja0Rlc3RydWN0dXJpbmdQcml2YXRlKHJlZkV4cHJlc3Npb25FcnJvcnM6IEV4cHJlc3Npb25FcnJvcnMpIHtcbiAgICBjb25zdCB7IHByaXZhdGVLZXlMb2MgfSA9IHJlZkV4cHJlc3Npb25FcnJvcnM7XG4gICAgaWYgKHByaXZhdGVLZXlMb2MgIT09IG51bGwpIHtcbiAgICAgIHRoaXMuZXhwZWN0UGx1Z2luKFwiZGVzdHJ1Y3R1cmluZ1ByaXZhdGVcIiwgcHJpdmF0ZUtleUxvYyk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVGhlIEV4cHJlc3Npb25FcnJvcnMgaXMgYSBjb250ZXh0IHN0cnVjdCB1c2VkIHRvIHRyYWNrIGFtYmlndW91cyBwYXR0ZXJuc1xuICogV2hlbiB3ZSBhcmUgc3VyZSB0aGUgcGFyc2VkIHBhdHRlcm4gaXMgYSBSSFMsIHdoaWNoIG1lYW5zIGl0IGlzIG5vdCBhIHBhdHRlcm4sXG4gKiB3ZSB3aWxsIHRocm93IG9uIHRoaXMgcG9zaXRpb24gb24gaW52YWxpZCBhc3NpZ24gc3ludGF4LCBvdGhlcndpc2UgaXQgd2lsbCBiZSByZXNldCB0byAtMVxuICpcbiAqIFR5cGVzIG9mIEV4cHJlc3Npb25FcnJvcnM6XG4gKlxuICogLSAqKnNob3J0aGFuZEFzc2lnbkxvYyoqOiB0cmFjayBpbml0aWFsaXplciBgPWAgcG9zaXRpb25cbiAqIC0gKipkb3VibGVQcm90b0xvYyoqOiB0cmFjayB0aGUgZHVwbGljYXRlIGBfX3Byb3RvX19gIGtleSBwb3NpdGlvblxuICogLSAqKnByaXZhdGVLZXkqKjogdHJhY2sgcHJpdmF0ZSBrZXkgYCNwYCBwb3NpdGlvblxuICogLSAqKm9wdGlvbmFsUGFyYW1ldGVyc0xvYyoqOiB0cmFjayB0aGUgb3B0aW9uYWwgcGFyYW1ldGVyIChgP2ApLlxuICogSXQncyBvbmx5IHVzZWQgYnkgdHlwZXNjcmlwdCBhbmQgZmxvdyBwbHVnaW5zXG4gKi9cbmV4cG9ydCBjbGFzcyBFeHByZXNzaW9uRXJyb3JzIHtcbiAgc2hvcnRoYW5kQXNzaWduTG9jOiBQb3NpdGlvbiB8IHVuZGVmaW5lZCB8IG51bGwgPSBudWxsO1xuICBkb3VibGVQcm90b0xvYzogUG9zaXRpb24gfCB1bmRlZmluZWQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZUtleUxvYzogUG9zaXRpb24gfCB1bmRlZmluZWQgfCBudWxsID0gbnVsbDtcbiAgb3B0aW9uYWxQYXJhbWV0ZXJzTG9jOiBQb3NpdGlvbiB8IHVuZGVmaW5lZCB8IG51bGwgPSBudWxsO1xufVxuIiwgImltcG9ydCBVdGlsUGFyc2VyIGZyb20gXCIuL3V0aWwudHNcIjtcbmltcG9ydCB7IFNvdXJjZUxvY2F0aW9uLCB0eXBlIFBvc2l0aW9uIH0gZnJvbSBcIi4uL3V0aWwvbG9jYXRpb24udHNcIjtcbmltcG9ydCB0eXBlIHsgQ29tbWVudCwgTm9kZSBhcyBOb2RlVHlwZSwgTm9kZUJhc2UgfSBmcm9tIFwiLi4vdHlwZXMudHNcIjtcblxuLy8gU3RhcnQgYW4gQVNUIG5vZGUsIGF0dGFjaGluZyBhIHN0YXJ0IG9mZnNldC5cblxuY2xhc3MgTm9kZSBpbXBsZW1lbnRzIE5vZGVCYXNlIHtcbiAgY29uc3RydWN0b3IocGFyc2VyOiBVdGlsUGFyc2VyLCBwb3M6IG51bWJlciwgbG9jOiBQb3NpdGlvbikge1xuICAgIHRoaXMuc3RhcnQgPSBwb3M7XG4gICAgdGhpcy5lbmQgPSAwO1xuICAgIHRoaXMubG9jID0gbmV3IFNvdXJjZUxvY2F0aW9uKGxvYyk7XG4gICAgaWYgKHBhcnNlcj8ub3B0aW9ucy5yYW5nZXMpIHRoaXMucmFuZ2UgPSBbcG9zLCAwXTtcbiAgICBpZiAocGFyc2VyPy5maWxlbmFtZSkgdGhpcy5sb2MuZmlsZW5hbWUgPSBwYXJzZXIuZmlsZW5hbWU7XG4gIH1cblxuICB0eXBlOiBzdHJpbmcgPSBcIlwiO1xuICBkZWNsYXJlIHN0YXJ0OiBudW1iZXI7XG4gIGRlY2xhcmUgZW5kOiBudW1iZXI7XG4gIGRlY2xhcmUgbG9jOiBTb3VyY2VMb2NhdGlvbjtcbiAgZGVjbGFyZSByYW5nZTogW251bWJlciwgbnVtYmVyXTtcbiAgZGVjbGFyZSBsZWFkaW5nQ29tbWVudHM6IEFycmF5PENvbW1lbnQ+O1xuICBkZWNsYXJlIHRyYWlsaW5nQ29tbWVudHM6IEFycmF5PENvbW1lbnQ+O1xuICBkZWNsYXJlIGlubmVyQ29tbWVudHM6IEFycmF5PENvbW1lbnQ+O1xuICBkZWNsYXJlIGV4dHJhOiB7XG4gICAgW2tleTogc3RyaW5nXTogYW55O1xuICB9O1xufVxuY29uc3QgTm9kZVByb3RvdHlwZSA9IE5vZGUucHJvdG90eXBlO1xuXG5pZiAoIXByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcpIHtcbiAgLy8gQHRzLWV4cGVjdC1lcnJvciBfX2Nsb25lIGlzIG5vdCBkZWZpbmVkIGluIE5vZGUgcHJvdG90eXBlXG4gIE5vZGVQcm90b3R5cGUuX19jbG9uZSA9IGZ1bmN0aW9uICgpOiBOb2RlIHtcbiAgICBjb25zdCBuZXdOb2RlID0gbmV3IE5vZGUodW5kZWZpbmVkLCB0aGlzLnN0YXJ0LCB0aGlzLmxvYy5zdGFydCk7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKHRoaXMpIGFzIChrZXlvZiBOb2RlKVtdO1xuICAgIGZvciAobGV0IGkgPSAwLCBsZW5ndGggPSBrZXlzLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBrZXkgPSBrZXlzW2ldO1xuICAgICAgLy8gRG8gbm90IGNsb25lIGNvbW1lbnRzIHRoYXQgYXJlIGFscmVhZHkgYXR0YWNoZWQgdG8gdGhlIG5vZGVcbiAgICAgIGlmIChcbiAgICAgICAga2V5ICE9PSBcImxlYWRpbmdDb21tZW50c1wiICYmXG4gICAgICAgIGtleSAhPT0gXCJ0cmFpbGluZ0NvbW1lbnRzXCIgJiZcbiAgICAgICAga2V5ICE9PSBcImlubmVyQ29tbWVudHNcIlxuICAgICAgKSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgY2xvbmluZyB0aGlzIHRvIG5ld05vZGVcbiAgICAgICAgbmV3Tm9kZVtrZXldID0gdGhpc1trZXldO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXdOb2RlO1xuICB9O1xufVxuXG5mdW5jdGlvbiBjbG9uZVBsYWNlaG9sZGVyKG5vZGU6IGFueSk6IGFueSB7XG4gIHJldHVybiBjbG9uZUlkZW50aWZpZXIobm9kZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjbG9uZUlkZW50aWZpZXIobm9kZTogYW55KTogYW55IHtcbiAgLy8gV2UgZG9uJ3QgbmVlZCB0byBjbG9uZSBgdHlwZUFubm90YXRpb25zYCBhbmQgYG9wdGlvbmFsYDogYmVjYXVzZVxuICAvLyBjbG9uZUlkZW50aWZpZXIgaXMgb25seSB1c2VkIGluIG9iamVjdCBzaG9ydGhhbmQgYW5kIG5hbWVkIGltcG9ydC9leHBvcnQuXG4gIC8vIE5laXRoZXIgb2YgdGhlbSBhbGxvdyB0eXBlIGFubm90YXRpb25zIGFmdGVyIHRoZSBpZGVudGlmaWVyIG9yIG9wdGlvbmFsIGlkZW50aWZpZXJcbiAgY29uc3QgeyB0eXBlLCBzdGFydCwgZW5kLCBsb2MsIHJhbmdlLCBleHRyYSwgbmFtZSB9ID0gbm9kZTtcbiAgY29uc3QgY2xvbmVkID0gT2JqZWN0LmNyZWF0ZShOb2RlUHJvdG90eXBlKTtcbiAgY2xvbmVkLnR5cGUgPSB0eXBlO1xuICBjbG9uZWQuc3RhcnQgPSBzdGFydDtcbiAgY2xvbmVkLmVuZCA9IGVuZDtcbiAgY2xvbmVkLmxvYyA9IGxvYztcbiAgY2xvbmVkLnJhbmdlID0gcmFuZ2U7XG4gIGNsb25lZC5leHRyYSA9IGV4dHJhO1xuICBjbG9uZWQubmFtZSA9IG5hbWU7XG4gIGlmICh0eXBlID09PSBcIlBsYWNlaG9sZGVyXCIpIHtcbiAgICBjbG9uZWQuZXhwZWN0ZWROb2RlID0gbm9kZS5leHBlY3RlZE5vZGU7XG4gIH1cbiAgcmV0dXJuIGNsb25lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsb25lU3RyaW5nTGl0ZXJhbChub2RlOiBhbnkpOiBhbnkge1xuICBjb25zdCB7IHR5cGUsIHN0YXJ0LCBlbmQsIGxvYywgcmFuZ2UsIGV4dHJhIH0gPSBub2RlO1xuICBpZiAodHlwZSA9PT0gXCJQbGFjZWhvbGRlclwiKSB7XG4gICAgcmV0dXJuIGNsb25lUGxhY2Vob2xkZXIobm9kZSk7XG4gIH1cbiAgY29uc3QgY2xvbmVkID0gT2JqZWN0LmNyZWF0ZShOb2RlUHJvdG90eXBlKTtcbiAgY2xvbmVkLnR5cGUgPSB0eXBlO1xuICBjbG9uZWQuc3RhcnQgPSBzdGFydDtcbiAgY2xvbmVkLmVuZCA9IGVuZDtcbiAgY2xvbmVkLmxvYyA9IGxvYztcbiAgY2xvbmVkLnJhbmdlID0gcmFuZ2U7XG4gIGlmIChub2RlLnJhdyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgLy8gZXN0cmVlIHNldCBub2RlLnJhdyBpbnN0ZWFkIG9mIG5vZGUuZXh0cmFcbiAgICBjbG9uZWQucmF3ID0gbm9kZS5yYXc7XG4gIH0gZWxzZSB7XG4gICAgY2xvbmVkLmV4dHJhID0gZXh0cmE7XG4gIH1cbiAgY2xvbmVkLnZhbHVlID0gbm9kZS52YWx1ZTtcbiAgcmV0dXJuIGNsb25lZDtcbn1cblxuZXhwb3J0IHR5cGUgVW5kb25lPFQgZXh0ZW5kcyBOb2RlVHlwZT4gPSBPbWl0PFQsIFwidHlwZVwiPjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE5vZGVVdGlscyBleHRlbmRzIFV0aWxQYXJzZXIge1xuICBzdGFydE5vZGU8VCBleHRlbmRzIE5vZGVUeXBlID0gbmV2ZXI+KCk6IFVuZG9uZTxUPiB7XG4gICAgY29uc3QgbG9jID0gdGhpcy5zdGF0ZS5zdGFydExvYztcbiAgICByZXR1cm4gbmV3IE5vZGUodGhpcywgbG9jLmluZGV4LCBsb2MpIGFzIHVua25vd24gYXMgVW5kb25lPFQ+O1xuICB9XG5cbiAgc3RhcnROb2RlQXQ8VCBleHRlbmRzIE5vZGVUeXBlID0gbmV2ZXI+KGxvYzogUG9zaXRpb24pOiBVbmRvbmU8VD4ge1xuICAgIHJldHVybiBuZXcgTm9kZSh0aGlzLCBsb2MuaW5kZXgsIGxvYykgYXMgdW5rbm93biBhcyBVbmRvbmU8VD47XG4gIH1cblxuICAvKiogU3RhcnQgYSBuZXcgbm9kZSB3aXRoIGEgcHJldmlvdXMgbm9kZSdzIGxvY2F0aW9uLiAqL1xuICBzdGFydE5vZGVBdE5vZGU8VCBleHRlbmRzIE5vZGVUeXBlID0gbmV2ZXI+KFxuICAgIHR5cGU6IFVuZG9uZTxOb2RlVHlwZT4sXG4gICk6IFVuZG9uZTxUPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhcnROb2RlQXQodHlwZS5sb2Muc3RhcnQpO1xuICB9XG5cbiAgLy8gRmluaXNoIGFuIEFTVCBub2RlLCBhZGRpbmcgYHR5cGVgIGFuZCBgZW5kYCBwcm9wZXJ0aWVzLlxuXG4gIGZpbmlzaE5vZGU8VCBleHRlbmRzIE5vZGVUeXBlPihub2RlOiBVbmRvbmU8VD4sIHR5cGU6IFRbXCJ0eXBlXCJdKTogVCB7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZUF0KG5vZGUsIHR5cGUsIHRoaXMuc3RhdGUubGFzdFRva0VuZExvYyk7XG4gIH1cblxuICAvLyBGaW5pc2ggbm9kZSBhdCBnaXZlbiBwb3NpdGlvblxuXG4gIGZpbmlzaE5vZGVBdDxUIGV4dGVuZHMgTm9kZVR5cGU+KFxuICAgIG5vZGU6IE9taXQ8VCwgXCJ0eXBlXCI+LFxuICAgIHR5cGU6IFRbXCJ0eXBlXCJdLFxuICAgIGVuZExvYzogUG9zaXRpb24sXG4gICk6IFQge1xuICAgIGlmIChwcm9jZXNzLmVudi5OT0RFX0VOViAhPT0gXCJwcm9kdWN0aW9uXCIgJiYgbm9kZS5lbmQgPiAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiRG8gbm90IGNhbGwgZmluaXNoTm9kZSooKSB0d2ljZSBvbiB0aGUgc2FtZSBub2RlLlwiICtcbiAgICAgICAgICBcIiBJbnN0ZWFkIHVzZSByZXNldEVuZExvY2F0aW9uKCkgb3IgY2hhbmdlIHR5cGUgZGlyZWN0bHkuXCIsXG4gICAgICApO1xuICAgIH1cbiAgICAobm9kZSBhcyBUKS50eXBlID0gdHlwZTtcbiAgICBub2RlLmVuZCA9IGVuZExvYy5pbmRleDtcbiAgICBub2RlLmxvYy5lbmQgPSBlbmRMb2M7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5yYW5nZXMpIG5vZGUucmFuZ2VbMV0gPSBlbmRMb2MuaW5kZXg7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5hdHRhY2hDb21tZW50KSB0aGlzLnByb2Nlc3NDb21tZW50KG5vZGUgYXMgVCk7XG4gICAgcmV0dXJuIG5vZGUgYXMgVDtcbiAgfVxuXG4gIHJlc2V0U3RhcnRMb2NhdGlvbihub2RlOiBOb2RlQmFzZSwgc3RhcnRMb2M6IFBvc2l0aW9uKTogdm9pZCB7XG4gICAgbm9kZS5zdGFydCA9IHN0YXJ0TG9jLmluZGV4O1xuICAgIG5vZGUubG9jLnN0YXJ0ID0gc3RhcnRMb2M7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5yYW5nZXMpIG5vZGUucmFuZ2VbMF0gPSBzdGFydExvYy5pbmRleDtcbiAgfVxuXG4gIHJlc2V0RW5kTG9jYXRpb24oXG4gICAgbm9kZTogTm9kZUJhc2UsXG4gICAgZW5kTG9jOiBQb3NpdGlvbiA9IHRoaXMuc3RhdGUubGFzdFRva0VuZExvYyxcbiAgKTogdm9pZCB7XG4gICAgbm9kZS5lbmQgPSBlbmRMb2MuaW5kZXg7XG4gICAgbm9kZS5sb2MuZW5kID0gZW5kTG9jO1xuICAgIGlmICh0aGlzLm9wdGlvbnMucmFuZ2VzKSBub2RlLnJhbmdlWzFdID0gZW5kTG9jLmluZGV4O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlc2V0IHRoZSBzdGFydCBsb2NhdGlvbiBvZiBub2RlIHRvIHRoZSBzdGFydCBsb2NhdGlvbiBvZiBsb2NhdGlvbk5vZGVcbiAgICovXG4gIHJlc2V0U3RhcnRMb2NhdGlvbkZyb21Ob2RlKG5vZGU6IE5vZGVCYXNlLCBsb2NhdGlvbk5vZGU6IE5vZGVCYXNlKTogdm9pZCB7XG4gICAgdGhpcy5yZXNldFN0YXJ0TG9jYXRpb24obm9kZSwgbG9jYXRpb25Ob2RlLmxvYy5zdGFydCk7XG4gIH1cbn1cbiIsICIvKjo6IGRlY2xhcmUgdmFyIGludmFyaWFudDsgKi9cblxuaW1wb3J0IHR5cGUgUGFyc2VyIGZyb20gXCIuLi8uLi9wYXJzZXIvaW5kZXgudHNcIjtcbmltcG9ydCB7XG4gIHRva2VuSXNJZGVudGlmaWVyLFxuICB0b2tlbklzS2V5d29yZCxcbiAgdG9rZW5Jc0tleXdvcmRPcklkZW50aWZpZXIsXG4gIHRva2VuSXNMaXRlcmFsUHJvcGVydHlOYW1lLFxuICB0b2tlbkxhYmVsTmFtZSxcbiAgdHQsXG4gIHR5cGUgVG9rZW5UeXBlLFxuICB0b2tlbklzRmxvd0ludGVyZmFjZU9yVHlwZU9yT3BhcXVlLFxufSBmcm9tIFwiLi4vLi4vdG9rZW5pemVyL3R5cGVzLnRzXCI7XG5pbXBvcnQgdHlwZSAqIGFzIE4gZnJvbSBcIi4uLy4uL3R5cGVzLnRzXCI7XG5pbXBvcnQgdHlwZSB7IFBvc2l0aW9uIH0gZnJvbSBcIi4uLy4uL3V0aWwvbG9jYXRpb24udHNcIjtcbmltcG9ydCB7IHR5cGVzIGFzIHRjIH0gZnJvbSBcIi4uLy4uL3Rva2VuaXplci9jb250ZXh0LnRzXCI7XG5pbXBvcnQgKiBhcyBjaGFyQ29kZXMgZnJvbSBcImNoYXJjb2Rlc1wiO1xuaW1wb3J0IHsgaXNJdGVyYXRvclN0YXJ0IH0gZnJvbSBcIi4uLy4uL3V0aWwvaWRlbnRpZmllci50c1wiO1xuaW1wb3J0IEZsb3dTY29wZUhhbmRsZXIgZnJvbSBcIi4vc2NvcGUudHNcIjtcbmltcG9ydCB7IEJpbmRpbmdGbGFnLCBTY29wZUZsYWcgfSBmcm9tIFwiLi4vLi4vdXRpbC9zY29wZWZsYWdzLnRzXCI7XG5pbXBvcnQgdHlwZSB7IEV4cHJlc3Npb25FcnJvcnMgfSBmcm9tIFwiLi4vLi4vcGFyc2VyL3V0aWwudHNcIjtcbmltcG9ydCB0eXBlIHsgUGFyc2VTdGF0ZW1lbnRGbGFnIH0gZnJvbSBcIi4uLy4uL3BhcnNlci9zdGF0ZW1lbnQudHNcIjtcbmltcG9ydCB7IEVycm9ycywgUGFyc2VFcnJvckVudW0gfSBmcm9tIFwiLi4vLi4vcGFyc2UtZXJyb3IudHNcIjtcbmltcG9ydCB7IGNsb25lSWRlbnRpZmllciwgdHlwZSBVbmRvbmUgfSBmcm9tIFwiLi4vLi4vcGFyc2VyL25vZGUudHNcIjtcblxuY29uc3QgcmVzZXJ2ZWRUeXBlcyA9IG5ldyBTZXQoW1xuICBcIl9cIixcbiAgXCJhbnlcIixcbiAgXCJib29sXCIsXG4gIFwiYm9vbGVhblwiLFxuICBcImVtcHR5XCIsXG4gIFwiZXh0ZW5kc1wiLFxuICBcImZhbHNlXCIsXG4gIFwiaW50ZXJmYWNlXCIsXG4gIFwibWl4ZWRcIixcbiAgXCJudWxsXCIsXG4gIFwibnVtYmVyXCIsXG4gIFwic3RhdGljXCIsXG4gIFwic3RyaW5nXCIsXG4gIFwidHJ1ZVwiLFxuICBcInR5cGVvZlwiLFxuICBcInZvaWRcIixcbl0pO1xuXG4vKiBlc2xpbnQgc29ydC1rZXlzOiBcImVycm9yXCIgKi9cbi8vIFRoZSBFcnJvcnMga2V5IGZvbGxvd3MgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL2Zsb3cvYmxvYi9tYXN0ZXIvc3JjL3BhcnNlci9wYXJzZV9lcnJvci5tbCB1bmxlc3MgaXQgZG9lcyBub3QgZXhpc3RcbmNvbnN0IEZsb3dFcnJvcnMgPSBQYXJzZUVycm9yRW51bWBmbG93YCh7XG4gIEFtYmlndW91c0NvbmRpdGlvbmFsQXJyb3c6XG4gICAgXCJBbWJpZ3VvdXMgZXhwcmVzc2lvbjogd3JhcCB0aGUgYXJyb3cgZnVuY3Rpb25zIGluIHBhcmVudGhlc2VzIHRvIGRpc2FtYmlndWF0ZS5cIixcbiAgQW1iaWd1b3VzRGVjbGFyZU1vZHVsZUtpbmQ6XG4gICAgXCJGb3VuZCBib3RoIGBkZWNsYXJlIG1vZHVsZS5leHBvcnRzYCBhbmQgYGRlY2xhcmUgZXhwb3J0YCBpbiB0aGUgc2FtZSBtb2R1bGUuIE1vZHVsZXMgY2FuIG9ubHkgaGF2ZSAxIHNpbmNlIHRoZXkgYXJlIGVpdGhlciBhbiBFUyBtb2R1bGUgb3IgdGhleSBhcmUgYSBDb21tb25KUyBtb2R1bGUuXCIsXG4gIC8vIFRPRE86IFdoZW4gd2UgZ2V0IHByb3BlciBzdHJpbmcgZW51bXMgaW4gdHlwZXNjcmlwdCBtYWtlIHRoaXMgUmVzZXJ2ZWRUeXBlLlxuICAvLyBOb3QgcmVhbGx5IHdvcnRoIGl0IHRvIGRvIHRoZSB3aG9sZSAkVmFsdWVzIGRhbmNlIHdpdGggcmVzZXJ2ZWRUeXBlcyBzZXQuXG4gIEFzc2lnblJlc2VydmVkVHlwZTogKHsgcmVzZXJ2ZWRUeXBlIH06IHsgcmVzZXJ2ZWRUeXBlOiBzdHJpbmcgfSkgPT5cbiAgICBgQ2Fubm90IG92ZXJ3cml0ZSByZXNlcnZlZCB0eXBlICR7cmVzZXJ2ZWRUeXBlfS5gLFxuICBEZWNsYXJlQ2xhc3NFbGVtZW50OlxuICAgIFwiVGhlIGBkZWNsYXJlYCBtb2RpZmllciBjYW4gb25seSBhcHBlYXIgb24gY2xhc3MgZmllbGRzLlwiLFxuICBEZWNsYXJlQ2xhc3NGaWVsZEluaXRpYWxpemVyOlxuICAgIFwiSW5pdGlhbGl6ZXJzIGFyZSBub3QgYWxsb3dlZCBpbiBmaWVsZHMgd2l0aCB0aGUgYGRlY2xhcmVgIG1vZGlmaWVyLlwiLFxuICBEdXBsaWNhdGVEZWNsYXJlTW9kdWxlRXhwb3J0czpcbiAgICBcIkR1cGxpY2F0ZSBgZGVjbGFyZSBtb2R1bGUuZXhwb3J0c2Agc3RhdGVtZW50LlwiLFxuICBFbnVtQm9vbGVhbk1lbWJlck5vdEluaXRpYWxpemVkOiAoe1xuICAgIG1lbWJlck5hbWUsXG4gICAgZW51bU5hbWUsXG4gIH06IHtcbiAgICBtZW1iZXJOYW1lOiBzdHJpbmc7XG4gICAgZW51bU5hbWU6IHN0cmluZztcbiAgfSkgPT5cbiAgICBgQm9vbGVhbiBlbnVtIG1lbWJlcnMgbmVlZCB0byBiZSBpbml0aWFsaXplZC4gVXNlIGVpdGhlciBcXGAke21lbWJlck5hbWV9ID0gdHJ1ZSxcXGAgb3IgXFxgJHttZW1iZXJOYW1lfSA9IGZhbHNlLFxcYCBpbiBlbnVtIFxcYCR7ZW51bU5hbWV9XFxgLmAsXG4gIEVudW1EdXBsaWNhdGVNZW1iZXJOYW1lOiAoe1xuICAgIG1lbWJlck5hbWUsXG4gICAgZW51bU5hbWUsXG4gIH06IHtcbiAgICBtZW1iZXJOYW1lOiBzdHJpbmc7XG4gICAgZW51bU5hbWU6IHN0cmluZztcbiAgfSkgPT5cbiAgICBgRW51bSBtZW1iZXIgbmFtZXMgbmVlZCB0byBiZSB1bmlxdWUsIGJ1dCB0aGUgbmFtZSBcXGAke21lbWJlck5hbWV9XFxgIGhhcyBhbHJlYWR5IGJlZW4gdXNlZCBiZWZvcmUgaW4gZW51bSBcXGAke2VudW1OYW1lfVxcYC5gLFxuICBFbnVtSW5jb25zaXN0ZW50TWVtYmVyVmFsdWVzOiAoeyBlbnVtTmFtZSB9OiB7IGVudW1OYW1lOiBzdHJpbmcgfSkgPT5cbiAgICBgRW51bSBcXGAke2VudW1OYW1lfVxcYCBoYXMgaW5jb25zaXN0ZW50IG1lbWJlciBpbml0aWFsaXplcnMuIEVpdGhlciB1c2Ugbm8gaW5pdGlhbGl6ZXJzLCBvciBjb25zaXN0ZW50bHkgdXNlIGxpdGVyYWxzIChlaXRoZXIgYm9vbGVhbnMsIG51bWJlcnMsIG9yIHN0cmluZ3MpIGZvciBhbGwgbWVtYmVyIGluaXRpYWxpemVycy5gLFxuICBFbnVtSW52YWxpZEV4cGxpY2l0VHlwZTogKHtcbiAgICBpbnZhbGlkRW51bVR5cGUsXG4gICAgZW51bU5hbWUsXG4gIH06IHtcbiAgICBpbnZhbGlkRW51bVR5cGU6IHN0cmluZztcbiAgICBlbnVtTmFtZTogc3RyaW5nO1xuICB9KSA9PlxuICAgIGBFbnVtIHR5cGUgXFxgJHtpbnZhbGlkRW51bVR5cGV9XFxgIGlzIG5vdCB2YWxpZC4gVXNlIG9uZSBvZiBcXGBib29sZWFuXFxgLCBcXGBudW1iZXJcXGAsIFxcYHN0cmluZ1xcYCwgb3IgXFxgc3ltYm9sXFxgIGluIGVudW0gXFxgJHtlbnVtTmFtZX1cXGAuYCxcbiAgRW51bUludmFsaWRFeHBsaWNpdFR5cGVVbmtub3duU3VwcGxpZWQ6ICh7XG4gICAgZW51bU5hbWUsXG4gIH06IHtcbiAgICBlbnVtTmFtZTogc3RyaW5nO1xuICB9KSA9PlxuICAgIGBTdXBwbGllZCBlbnVtIHR5cGUgaXMgbm90IHZhbGlkLiBVc2Ugb25lIG9mIFxcYGJvb2xlYW5cXGAsIFxcYG51bWJlclxcYCwgXFxgc3RyaW5nXFxgLCBvciBcXGBzeW1ib2xcXGAgaW4gZW51bSBcXGAke2VudW1OYW1lfVxcYC5gLFxuXG4gIC8vIFRPRE86IFdoZW4gbW92aW5nIHRvIHR5cGVzY3JpcHQsIHdlIHNob3VsZCBlaXRoZXIgaGF2ZSBlYWNoIG9mIHRoZVxuICAvLyBmb2xsb3dpbmcgZXJyb3JzIG9ubHkgYWNjZXB0IHRoZSBzcGVjaWZpYyBzdHJpbmdzIHRoZXkgd2FudDpcbiAgLy9cbiAgLy8gLi4uUHJpbWFyeVR5cGU6IGV4cGxpY2l0VHlwZTogXCJzdHJpbmdcIiB8IFwibnVtYmVyXCIgfCBcImJvb2xlYW5cIlxuICAvLyAuLi5TeW1ib2xUeXBlOiBleHBsaWNpdFR5cGU6IFwic3ltYm9sXCJcbiAgLy8gLi4uVW5rbm93blR5cGU6IGV4cGxpY2l0VHlwZTogbnVsbFxuICAvL1xuICAvLyBPciwgYWx0ZXJuYXRpdmVseSwgbWVyZ2UgdGhlc2UgdGhyZWUgZXJyb3JzIHRvZ2V0aGVyIGludG8gb25lXG4gIC8vIGBFbnVtSW52YWxpZE1lbWJlckluaXRpYWxpemVyYCBlcnJvciB0aGF0IGNhbiBhY2NlcHQgYEVudW1FeHBsaWNpdFR5cGVgXG4gIC8vIHdpdGhvdXQgYWx0ZXJhdGlvbiwgYW5kIHRoZW4ganVzdCBoYXZlIGl0cyBtZXNzYWdlIGNoYW5nZSBiYXNlZCBvbiB0aGVcbiAgLy8gZXhwbGljaXRUeXBlLlxuICBFbnVtSW52YWxpZE1lbWJlckluaXRpYWxpemVyUHJpbWFyeVR5cGU6ICh7XG4gICAgZW51bU5hbWUsXG4gICAgbWVtYmVyTmFtZSxcbiAgICBleHBsaWNpdFR5cGUsXG4gIH06IHtcbiAgICBlbnVtTmFtZTogc3RyaW5nO1xuICAgIG1lbWJlck5hbWU6IHN0cmluZztcbiAgICBleHBsaWNpdFR5cGU6IEVudW1FeHBsaWNpdFR5cGU7XG4gIH0pID0+XG4gICAgYEVudW0gXFxgJHtlbnVtTmFtZX1cXGAgaGFzIHR5cGUgXFxgJHtleHBsaWNpdFR5cGV9XFxgLCBzbyB0aGUgaW5pdGlhbGl6ZXIgb2YgXFxgJHttZW1iZXJOYW1lfVxcYCBuZWVkcyB0byBiZSBhICR7ZXhwbGljaXRUeXBlfSBsaXRlcmFsLmAsXG4gIEVudW1JbnZhbGlkTWVtYmVySW5pdGlhbGl6ZXJTeW1ib2xUeXBlOiAoe1xuICAgIGVudW1OYW1lLFxuICAgIG1lbWJlck5hbWUsXG4gIH06IHtcbiAgICBlbnVtTmFtZTogc3RyaW5nO1xuICAgIG1lbWJlck5hbWU6IHN0cmluZztcbiAgICBleHBsaWNpdFR5cGU6IEVudW1FeHBsaWNpdFR5cGU7XG4gIH0pID0+XG4gICAgYFN5bWJvbCBlbnVtIG1lbWJlcnMgY2Fubm90IGJlIGluaXRpYWxpemVkLiBVc2UgXFxgJHttZW1iZXJOYW1lfSxcXGAgaW4gZW51bSBcXGAke2VudW1OYW1lfVxcYC5gLFxuICBFbnVtSW52YWxpZE1lbWJlckluaXRpYWxpemVyVW5rbm93blR5cGU6ICh7XG4gICAgZW51bU5hbWUsXG4gICAgbWVtYmVyTmFtZSxcbiAgfToge1xuICAgIGVudW1OYW1lOiBzdHJpbmc7XG4gICAgbWVtYmVyTmFtZTogc3RyaW5nO1xuICAgIGV4cGxpY2l0VHlwZTogRW51bUV4cGxpY2l0VHlwZTtcbiAgfSkgPT5cbiAgICBgVGhlIGVudW0gbWVtYmVyIGluaXRpYWxpemVyIGZvciBcXGAke21lbWJlck5hbWV9XFxgIG5lZWRzIHRvIGJlIGEgbGl0ZXJhbCAoZWl0aGVyIGEgYm9vbGVhbiwgbnVtYmVyLCBvciBzdHJpbmcpIGluIGVudW0gXFxgJHtlbnVtTmFtZX1cXGAuYCxcbiAgRW51bUludmFsaWRNZW1iZXJOYW1lOiAoe1xuICAgIGVudW1OYW1lLFxuICAgIG1lbWJlck5hbWUsXG4gICAgc3VnZ2VzdGlvbixcbiAgfToge1xuICAgIGVudW1OYW1lOiBzdHJpbmc7XG4gICAgbWVtYmVyTmFtZTogc3RyaW5nO1xuICAgIHN1Z2dlc3Rpb246IHN0cmluZztcbiAgfSkgPT5cbiAgICBgRW51bSBtZW1iZXIgbmFtZXMgY2Fubm90IHN0YXJ0IHdpdGggbG93ZXJjYXNlICdhJyB0aHJvdWdoICd6Jy4gSW5zdGVhZCBvZiB1c2luZyBcXGAke21lbWJlck5hbWV9XFxgLCBjb25zaWRlciB1c2luZyBcXGAke3N1Z2dlc3Rpb259XFxgLCBpbiBlbnVtIFxcYCR7ZW51bU5hbWV9XFxgLmAsXG4gIEVudW1OdW1iZXJNZW1iZXJOb3RJbml0aWFsaXplZDogKHtcbiAgICBlbnVtTmFtZSxcbiAgICBtZW1iZXJOYW1lLFxuICB9OiB7XG4gICAgZW51bU5hbWU6IHN0cmluZztcbiAgICBtZW1iZXJOYW1lOiBzdHJpbmc7XG4gIH0pID0+XG4gICAgYE51bWJlciBlbnVtIG1lbWJlcnMgbmVlZCB0byBiZSBpbml0aWFsaXplZCwgZS5nLiBcXGAke21lbWJlck5hbWV9ID0gMVxcYCBpbiBlbnVtIFxcYCR7ZW51bU5hbWV9XFxgLmAsXG4gIEVudW1TdHJpbmdNZW1iZXJJbmNvbnNpc3RlbnRseUluaXRpYWxpemVkOiAoe1xuICAgIGVudW1OYW1lLFxuICB9OiB7XG4gICAgZW51bU5hbWU6IHN0cmluZztcbiAgfSkgPT5cbiAgICBgU3RyaW5nIGVudW0gbWVtYmVycyBuZWVkIHRvIGNvbnNpc3RlbnRseSBlaXRoZXIgYWxsIHVzZSBpbml0aWFsaXplcnMsIG9yIHVzZSBubyBpbml0aWFsaXplcnMsIGluIGVudW0gXFxgJHtlbnVtTmFtZX1cXGAuYCxcbiAgR2V0dGVyTWF5Tm90SGF2ZVRoaXNQYXJhbTogXCJBIGdldHRlciBjYW5ub3QgaGF2ZSBhIGB0aGlzYCBwYXJhbWV0ZXIuXCIsXG4gIEltcG9ydFJlZmxlY3Rpb25IYXNJbXBvcnRUeXBlOlxuICAgIFwiQW4gYGltcG9ydCBtb2R1bGVgIGRlY2xhcmF0aW9uIGNhbiBub3QgdXNlIGB0eXBlYCBvciBgdHlwZW9mYCBrZXl3b3JkLlwiLFxuICBJbXBvcnRUeXBlU2hvcnRoYW5kT25seUluUHVyZUltcG9ydDpcbiAgICBcIlRoZSBgdHlwZWAgYW5kIGB0eXBlb2ZgIGtleXdvcmRzIG9uIG5hbWVkIGltcG9ydHMgY2FuIG9ubHkgYmUgdXNlZCBvbiByZWd1bGFyIGBpbXBvcnRgIHN0YXRlbWVudHMuIEl0IGNhbm5vdCBiZSB1c2VkIHdpdGggYGltcG9ydCB0eXBlYCBvciBgaW1wb3J0IHR5cGVvZmAgc3RhdGVtZW50cy5cIixcbiAgSW5leGFjdEluc2lkZUV4YWN0OlxuICAgIFwiRXhwbGljaXQgaW5leGFjdCBzeW50YXggY2Fubm90IGFwcGVhciBpbnNpZGUgYW4gZXhwbGljaXQgZXhhY3Qgb2JqZWN0IHR5cGUuXCIsXG4gIEluZXhhY3RJbnNpZGVOb25PYmplY3Q6XG4gICAgXCJFeHBsaWNpdCBpbmV4YWN0IHN5bnRheCBjYW5ub3QgYXBwZWFyIGluIGNsYXNzIG9yIGludGVyZmFjZSBkZWZpbml0aW9ucy5cIixcbiAgSW5leGFjdFZhcmlhbmNlOiBcIkV4cGxpY2l0IGluZXhhY3Qgc3ludGF4IGNhbm5vdCBoYXZlIHZhcmlhbmNlLlwiLFxuICBJbnZhbGlkTm9uVHlwZUltcG9ydEluRGVjbGFyZU1vZHVsZTpcbiAgICBcIkltcG9ydHMgd2l0aGluIGEgYGRlY2xhcmUgbW9kdWxlYCBib2R5IG11c3QgYWx3YXlzIGJlIGBpbXBvcnQgdHlwZWAgb3IgYGltcG9ydCB0eXBlb2ZgLlwiLFxuICBNaXNzaW5nVHlwZVBhcmFtRGVmYXVsdDpcbiAgICBcIlR5cGUgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIG5lZWRzIGEgZGVmYXVsdCwgc2luY2UgYSBwcmVjZWRpbmcgdHlwZSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24gaGFzIGEgZGVmYXVsdC5cIixcbiAgTmVzdGVkRGVjbGFyZU1vZHVsZTpcbiAgICBcImBkZWNsYXJlIG1vZHVsZWAgY2Fubm90IGJlIHVzZWQgaW5zaWRlIGFub3RoZXIgYGRlY2xhcmUgbW9kdWxlYC5cIixcbiAgTmVzdGVkRmxvd0NvbW1lbnQ6IFwiQ2Fubm90IGhhdmUgYSBmbG93IGNvbW1lbnQgaW5zaWRlIGFub3RoZXIgZmxvdyBjb21tZW50LlwiLFxuICBQYXR0ZXJuSXNPcHRpb25hbDoge1xuICAgIG1lc3NhZ2U6XG4gICAgICBcIkEgYmluZGluZyBwYXR0ZXJuIHBhcmFtZXRlciBjYW5ub3QgYmUgb3B0aW9uYWwgaW4gYW4gaW1wbGVtZW50YXRpb24gc2lnbmF0dXJlLlwiLFxuICAgIC8vIEZvciBjb25zaXN0ZW5jeSBpbiBUeXBlU2NyaXB0IGFuZCBGbG93IGVycm9yIGNvZGVzXG4gICAgLi4uKCFwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HXG4gICAgICA/IHsgcmVhc29uQ29kZTogXCJPcHRpb25hbEJpbmRpbmdQYXR0ZXJuXCIgfVxuICAgICAgOiB7fSksXG4gIH0sXG4gIFNldHRlck1heU5vdEhhdmVUaGlzUGFyYW06IFwiQSBzZXR0ZXIgY2Fubm90IGhhdmUgYSBgdGhpc2AgcGFyYW1ldGVyLlwiLFxuICBTcHJlYWRWYXJpYW5jZTogXCJTcHJlYWQgcHJvcGVydGllcyBjYW5ub3QgaGF2ZSB2YXJpYW5jZS5cIixcbiAgVGhpc1BhcmFtQW5ub3RhdGlvblJlcXVpcmVkOlxuICAgIFwiQSB0eXBlIGFubm90YXRpb24gaXMgcmVxdWlyZWQgZm9yIHRoZSBgdGhpc2AgcGFyYW1ldGVyLlwiLFxuICBUaGlzUGFyYW1CYW5uZWRJbkNvbnN0cnVjdG9yOlxuICAgIFwiQ29uc3RydWN0b3JzIGNhbm5vdCBoYXZlIGEgYHRoaXNgIHBhcmFtZXRlcjsgY29uc3RydWN0b3JzIGRvbid0IGJpbmQgYHRoaXNgIGxpa2Ugb3RoZXIgZnVuY3Rpb25zLlwiLFxuICBUaGlzUGFyYW1NYXlOb3RCZU9wdGlvbmFsOiBcIlRoZSBgdGhpc2AgcGFyYW1ldGVyIGNhbm5vdCBiZSBvcHRpb25hbC5cIixcbiAgVGhpc1BhcmFtTXVzdEJlRmlyc3Q6XG4gICAgXCJUaGUgYHRoaXNgIHBhcmFtZXRlciBtdXN0IGJlIHRoZSBmaXJzdCBmdW5jdGlvbiBwYXJhbWV0ZXIuXCIsXG4gIFRoaXNQYXJhbU5vRGVmYXVsdDogXCJUaGUgYHRoaXNgIHBhcmFtZXRlciBtYXkgbm90IGhhdmUgYSBkZWZhdWx0IHZhbHVlLlwiLFxuICBUeXBlQmVmb3JlSW5pdGlhbGl6ZXI6XG4gICAgXCJUeXBlIGFubm90YXRpb25zIG11c3QgY29tZSBiZWZvcmUgZGVmYXVsdCBhc3NpZ25tZW50cywgZS5nLiBpbnN0ZWFkIG9mIGBhZ2UgPSAyNTogbnVtYmVyYCB1c2UgYGFnZTogbnVtYmVyID0gMjVgLlwiLFxuICBUeXBlQ2FzdEluUGF0dGVybjpcbiAgICBcIlRoZSB0eXBlIGNhc3QgZXhwcmVzc2lvbiBpcyBleHBlY3RlZCB0byBiZSB3cmFwcGVkIHdpdGggcGFyZW50aGVzaXMuXCIsXG4gIFVuZXhwZWN0ZWRFeHBsaWNpdEluZXhhY3RJbk9iamVjdDpcbiAgICBcIkV4cGxpY2l0IGluZXhhY3Qgc3ludGF4IG11c3QgYXBwZWFyIGF0IHRoZSBlbmQgb2YgYW4gaW5leGFjdCBvYmplY3QuXCIsXG4gIFVuZXhwZWN0ZWRSZXNlcnZlZFR5cGU6ICh7IHJlc2VydmVkVHlwZSB9OiB7IHJlc2VydmVkVHlwZTogc3RyaW5nIH0pID0+XG4gICAgYFVuZXhwZWN0ZWQgcmVzZXJ2ZWQgdHlwZSAke3Jlc2VydmVkVHlwZX0uYCxcbiAgVW5leHBlY3RlZFJlc2VydmVkVW5kZXJzY29yZTpcbiAgICBcImBfYCBpcyBvbmx5IGFsbG93ZWQgYXMgYSB0eXBlIGFyZ3VtZW50IHRvIGNhbGwgb3IgbmV3LlwiLFxuICBVbmV4cGVjdGVkU3BhY2VCZXR3ZWVuTW9kdWxvQ2hlY2tzOlxuICAgIFwiU3BhY2VzIGJldHdlZW4gYCVgIGFuZCBgY2hlY2tzYCBhcmUgbm90IGFsbG93ZWQgaGVyZS5cIixcbiAgVW5leHBlY3RlZFNwcmVhZFR5cGU6XG4gICAgXCJTcHJlYWQgb3BlcmF0b3IgY2Fubm90IGFwcGVhciBpbiBjbGFzcyBvciBpbnRlcmZhY2UgZGVmaW5pdGlvbnMuXCIsXG4gIFVuZXhwZWN0ZWRTdWJ0cmFjdGlvbk9wZXJhbmQ6XG4gICAgJ1VuZXhwZWN0ZWQgdG9rZW4sIGV4cGVjdGVkIFwibnVtYmVyXCIgb3IgXCJiaWdpbnRcIi4nLFxuICBVbmV4cGVjdGVkVG9rZW5BZnRlclR5cGVQYXJhbWV0ZXI6XG4gICAgXCJFeHBlY3RlZCBhbiBhcnJvdyBmdW5jdGlvbiBhZnRlciB0aGlzIHR5cGUgcGFyYW1ldGVyIGRlY2xhcmF0aW9uLlwiLFxuICBVbmV4cGVjdGVkVHlwZVBhcmFtZXRlckJlZm9yZUFzeW5jQXJyb3dGdW5jdGlvbjpcbiAgICBcIlR5cGUgcGFyYW1ldGVycyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGFzeW5jIGtleXdvcmQsIGUuZy4gaW5zdGVhZCBvZiBgPFQ+IGFzeW5jICgpID0+IHt9YCwgdXNlIGBhc3luYyA8VD4oKSA9PiB7fWAuXCIsXG4gIFVuc3VwcG9ydGVkRGVjbGFyZUV4cG9ydEtpbmQ6ICh7XG4gICAgdW5zdXBwb3J0ZWRFeHBvcnRLaW5kLFxuICAgIHN1Z2dlc3Rpb24sXG4gIH06IHtcbiAgICB1bnN1cHBvcnRlZEV4cG9ydEtpbmQ6IHN0cmluZztcbiAgICBzdWdnZXN0aW9uOiBzdHJpbmc7XG4gIH0pID0+XG4gICAgYFxcYGRlY2xhcmUgZXhwb3J0ICR7dW5zdXBwb3J0ZWRFeHBvcnRLaW5kfVxcYCBpcyBub3Qgc3VwcG9ydGVkLiBVc2UgXFxgJHtzdWdnZXN0aW9ufVxcYCBpbnN0ZWFkLmAsXG4gIFVuc3VwcG9ydGVkU3RhdGVtZW50SW5EZWNsYXJlTW9kdWxlOlxuICAgIFwiT25seSBkZWNsYXJlcyBhbmQgdHlwZSBpbXBvcnRzIGFyZSBhbGxvd2VkIGluc2lkZSBkZWNsYXJlIG1vZHVsZS5cIixcbiAgVW50ZXJtaW5hdGVkRmxvd0NvbW1lbnQ6IFwiVW50ZXJtaW5hdGVkIGZsb3ctY29tbWVudC5cIixcbn0pO1xuLyogZXNsaW50LWRpc2FibGUgc29ydC1rZXlzICovXG5cbmZ1bmN0aW9uIGlzRXNNb2R1bGVUeXBlKGJvZHlFbGVtZW50OiBOLk5vZGUpOiBib29sZWFuIHtcbiAgcmV0dXJuIChcbiAgICBib2R5RWxlbWVudC50eXBlID09PSBcIkRlY2xhcmVFeHBvcnRBbGxEZWNsYXJhdGlvblwiIHx8XG4gICAgKGJvZHlFbGVtZW50LnR5cGUgPT09IFwiRGVjbGFyZUV4cG9ydERlY2xhcmF0aW9uXCIgJiZcbiAgICAgICghYm9keUVsZW1lbnQuZGVjbGFyYXRpb24gfHxcbiAgICAgICAgKGJvZHlFbGVtZW50LmRlY2xhcmF0aW9uLnR5cGUgIT09IFwiVHlwZUFsaWFzXCIgJiZcbiAgICAgICAgICBib2R5RWxlbWVudC5kZWNsYXJhdGlvbi50eXBlICE9PSBcIkludGVyZmFjZURlY2xhcmF0aW9uXCIpKSlcbiAgKTtcbn1cblxuZnVuY3Rpb24gaGFzVHlwZUltcG9ydEtpbmQoXG4gIG5vZGU6IFVuZG9uZTxOLkltcG9ydFNwZWNpZmllciB8IE4uSW1wb3J0RGVjbGFyYXRpb24+LFxuKTogYm9vbGVhbiB7XG4gIHJldHVybiBub2RlLmltcG9ydEtpbmQgPT09IFwidHlwZVwiIHx8IG5vZGUuaW1wb3J0S2luZCA9PT0gXCJ0eXBlb2ZcIjtcbn1cblxuY29uc3QgZXhwb3J0U3VnZ2VzdGlvbnMgPSB7XG4gIGNvbnN0OiBcImRlY2xhcmUgZXhwb3J0IHZhclwiLFxuICBsZXQ6IFwiZGVjbGFyZSBleHBvcnQgdmFyXCIsXG4gIHR5cGU6IFwiZXhwb3J0IHR5cGVcIixcbiAgaW50ZXJmYWNlOiBcImV4cG9ydCBpbnRlcmZhY2VcIixcbn07XG5cbi8vIExpa2UgQXJyYXkjZmlsdGVyLCBidXQgcmV0dXJucyBhIHR1cGxlIFsgYWNjZXB0ZWRFbGVtZW50cywgZGlzY2FyZGVkRWxlbWVudHMgXVxuZnVuY3Rpb24gcGFydGl0aW9uPFQ+KFxuICBsaXN0OiBUW10sXG4gIHRlc3Q6IChjOiBULCBiOiBudW1iZXIsIGE6IFRbXSkgPT4gYm9vbGVhbiB8IHVuZGVmaW5lZCB8IG51bGwsXG4pOiBbVFtdLCBUW11dIHtcbiAgY29uc3QgbGlzdDE6IFRbXSA9IFtdO1xuICBjb25zdCBsaXN0MjogVFtdID0gW107XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuICAgICh0ZXN0KGxpc3RbaV0sIGksIGxpc3QpID8gbGlzdDEgOiBsaXN0MikucHVzaChsaXN0W2ldKTtcbiAgfVxuICByZXR1cm4gW2xpc3QxLCBsaXN0Ml07XG59XG5cbmNvbnN0IEZMT1dfUFJBR01BX1JFR0VYID0gL1xcKj9cXHMqQCgoPzpubyk/ZmxvdylcXGIvO1xuXG4vLyBGbG93IGVudW1zIHR5cGVzXG50eXBlIEVudW1FeHBsaWNpdFR5cGUgPSBudWxsIHwgXCJib29sZWFuXCIgfCBcIm51bWJlclwiIHwgXCJzdHJpbmdcIiB8IFwic3ltYm9sXCI7XG5cbnR5cGUgRW51bUNvbnRleHQgPSB7XG4gIGVudW1OYW1lOiBzdHJpbmc7XG4gIGV4cGxpY2l0VHlwZTogRW51bUV4cGxpY2l0VHlwZTtcbiAgbWVtYmVyTmFtZTogc3RyaW5nO1xufTtcblxudHlwZSBFbnVtTWVtYmVySW5pdCA9XG4gIHwge1xuICAgICAgdHlwZTogXCJudW1iZXJcIjtcbiAgICAgIGxvYzogUG9zaXRpb247XG4gICAgICB2YWx1ZTogTi5Ob2RlO1xuICAgIH1cbiAgfCB7XG4gICAgICB0eXBlOiBcInN0cmluZ1wiO1xuICAgICAgbG9jOiBQb3NpdGlvbjtcbiAgICAgIHZhbHVlOiBOLk5vZGU7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwiYm9vbGVhblwiO1xuICAgICAgbG9jOiBQb3NpdGlvbjtcbiAgICAgIHZhbHVlOiBOLk5vZGU7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwiaW52YWxpZFwiO1xuICAgICAgbG9jOiBQb3NpdGlvbjtcbiAgICB9XG4gIHwge1xuICAgICAgdHlwZTogXCJub25lXCI7XG4gICAgICBsb2M6IFBvc2l0aW9uO1xuICAgIH07XG5cbmV4cG9ydCBkZWZhdWx0IChzdXBlckNsYXNzOiB0eXBlb2YgUGFyc2VyKSA9PlxuICBjbGFzcyBGbG93UGFyc2VyTWl4aW4gZXh0ZW5kcyBzdXBlckNsYXNzIGltcGxlbWVudHMgUGFyc2VyIHtcbiAgICAvLyBUaGUgdmFsdWUgb2YgdGhlIEBmbG93L0Bub2Zsb3cgcHJhZ21hLiBJbml0aWFsbHkgdW5kZWZpbmVkLCB0cmFuc2l0aW9uc1xuICAgIC8vIHRvIFwiQGZsb3dcIiBvciBcIkBub2Zsb3dcIiBpZiB3ZSBzZWUgYSBwcmFnbWEuIFRyYW5zaXRpb25zIHRvIG51bGwgaWYgd2UgYXJlXG4gICAgLy8gcGFzdCB0aGUgaW5pdGlhbCBjb21tZW50LlxuICAgIGZsb3dQcmFnbWE6IHZvaWQgfCBudWxsIHwgXCJmbG93XCIgfCBcIm5vZmxvd1wiID0gdW5kZWZpbmVkO1xuXG4gICAgZ2V0U2NvcGVIYW5kbGVyKCk6IG5ldyAoLi4uYXJnczogYW55KSA9PiBGbG93U2NvcGVIYW5kbGVyIHtcbiAgICAgIHJldHVybiBGbG93U2NvcGVIYW5kbGVyO1xuICAgIH1cblxuICAgIHNob3VsZFBhcnNlVHlwZXMoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5nZXRQbHVnaW5PcHRpb24oXCJmbG93XCIsIFwiYWxsXCIpIHx8IHRoaXMuZmxvd1ByYWdtYSA9PT0gXCJmbG93XCI7XG4gICAgfVxuXG4gICAgZmluaXNoVG9rZW4odHlwZTogVG9rZW5UeXBlLCB2YWw6IGFueSk6IHZvaWQge1xuICAgICAgaWYgKFxuICAgICAgICB0eXBlICE9PSB0dC5zdHJpbmcgJiZcbiAgICAgICAgdHlwZSAhPT0gdHQuc2VtaSAmJlxuICAgICAgICB0eXBlICE9PSB0dC5pbnRlcnByZXRlckRpcmVjdGl2ZVxuICAgICAgKSB7XG4gICAgICAgIGlmICh0aGlzLmZsb3dQcmFnbWEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRoaXMuZmxvd1ByYWdtYSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHN1cGVyLmZpbmlzaFRva2VuKHR5cGUsIHZhbCk7XG4gICAgfVxuXG4gICAgYWRkQ29tbWVudChjb21tZW50OiBOLkNvbW1lbnQpOiB2b2lkIHtcbiAgICAgIGlmICh0aGlzLmZsb3dQcmFnbWEgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAvLyBUcnkgdG8gcGFyc2UgYSBmbG93IHByYWdtYS5cbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IEZMT1dfUFJBR01BX1JFR0VYLmV4ZWMoY29tbWVudC52YWx1ZSk7XG4gICAgICAgIGlmICghbWF0Y2hlcykge1xuICAgICAgICAgIC8vIGRvIG5vdGhpbmdcbiAgICAgICAgfSBlbHNlIGlmIChtYXRjaGVzWzFdID09PSBcImZsb3dcIikge1xuICAgICAgICAgIHRoaXMuZmxvd1ByYWdtYSA9IFwiZmxvd1wiO1xuICAgICAgICB9IGVsc2UgaWYgKG1hdGNoZXNbMV0gPT09IFwibm9mbG93XCIpIHtcbiAgICAgICAgICB0aGlzLmZsb3dQcmFnbWEgPSBcIm5vZmxvd1wiO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlVuZXhwZWN0ZWQgZmxvdyBwcmFnbWFcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHN1cGVyLmFkZENvbW1lbnQoY29tbWVudCk7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKHRvaz86IFRva2VuVHlwZSk6IE4uRmxvd1R5cGUge1xuICAgICAgY29uc3Qgb2xkSW5UeXBlID0gdGhpcy5zdGF0ZS5pblR5cGU7XG4gICAgICB0aGlzLnN0YXRlLmluVHlwZSA9IHRydWU7XG4gICAgICB0aGlzLmV4cGVjdCh0b2sgfHwgdHQuY29sb24pO1xuXG4gICAgICBjb25zdCB0eXBlID0gdGhpcy5mbG93UGFyc2VUeXBlKCk7XG4gICAgICB0aGlzLnN0YXRlLmluVHlwZSA9IG9sZEluVHlwZTtcbiAgICAgIHJldHVybiB0eXBlO1xuICAgIH1cblxuICAgIGZsb3dQYXJzZVByZWRpY2F0ZSgpOiBOLkZsb3dQcmVkaWNhdGUge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uRmxvd1ByZWRpY2F0ZT4oKTtcbiAgICAgIGNvbnN0IG1vZHVsb0xvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgICB0aGlzLm5leHQoKTsgLy8gZWF0IGAlYFxuICAgICAgdGhpcy5leHBlY3RDb250ZXh0dWFsKHR0Ll9jaGVja3MpO1xuICAgICAgLy8gRm9yY2UgJyUnIGFuZCAnY2hlY2tzJyB0byBiZSBhZGphY2VudFxuICAgICAgaWYgKHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jLmluZGV4ID4gbW9kdWxvTG9jLmluZGV4ICsgMSkge1xuICAgICAgICB0aGlzLnJhaXNlKEZsb3dFcnJvcnMuVW5leHBlY3RlZFNwYWNlQmV0d2Vlbk1vZHVsb0NoZWNrcywgbW9kdWxvTG9jKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmVhdCh0dC5wYXJlbkwpKSB7XG4gICAgICAgIG5vZGUudmFsdWUgPSBzdXBlci5wYXJzZUV4cHJlc3Npb24oKTtcbiAgICAgICAgdGhpcy5leHBlY3QodHQucGFyZW5SKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkRlY2xhcmVkUHJlZGljYXRlXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkluZmVycmVkUHJlZGljYXRlXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZsb3dQYXJzZVR5cGVBbmRQcmVkaWNhdGVJbml0aWFsaXNlcigpOiBbXG4gICAgICBOLkZsb3dUeXBlIHwgdW5kZWZpbmVkIHwgbnVsbCxcbiAgICAgIE4uRmxvd1ByZWRpY2F0ZSB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICAgXSB7XG4gICAgICBjb25zdCBvbGRJblR5cGUgPSB0aGlzLnN0YXRlLmluVHlwZTtcbiAgICAgIHRoaXMuc3RhdGUuaW5UeXBlID0gdHJ1ZTtcbiAgICAgIHRoaXMuZXhwZWN0KHR0LmNvbG9uKTtcbiAgICAgIGxldCB0eXBlID0gbnVsbDtcbiAgICAgIGxldCBwcmVkaWNhdGUgPSBudWxsO1xuICAgICAgaWYgKHRoaXMubWF0Y2godHQubW9kdWxvKSkge1xuICAgICAgICB0aGlzLnN0YXRlLmluVHlwZSA9IG9sZEluVHlwZTtcbiAgICAgICAgcHJlZGljYXRlID0gdGhpcy5mbG93UGFyc2VQcmVkaWNhdGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHR5cGUgPSB0aGlzLmZsb3dQYXJzZVR5cGUoKTtcbiAgICAgICAgdGhpcy5zdGF0ZS5pblR5cGUgPSBvbGRJblR5cGU7XG4gICAgICAgIGlmICh0aGlzLm1hdGNoKHR0Lm1vZHVsbykpIHtcbiAgICAgICAgICBwcmVkaWNhdGUgPSB0aGlzLmZsb3dQYXJzZVByZWRpY2F0ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gW3R5cGUsIHByZWRpY2F0ZV07XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlRGVjbGFyZUNsYXNzKFxuICAgICAgbm9kZTogVW5kb25lPE4uRmxvd0RlY2xhcmVDbGFzcz4sXG4gICAgKTogTi5GbG93RGVjbGFyZUNsYXNzIHtcbiAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgdGhpcy5mbG93UGFyc2VJbnRlcmZhY2Vpc2gobm9kZSwgLyppc0NsYXNzKi8gdHJ1ZSk7XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiRGVjbGFyZUNsYXNzXCIpO1xuICAgIH1cblxuICAgIGZsb3dQYXJzZURlY2xhcmVGdW5jdGlvbihcbiAgICAgIG5vZGU6IFVuZG9uZTxOLkZsb3dEZWNsYXJlRnVuY3Rpb24+LFxuICAgICk6IE4uRmxvd0RlY2xhcmVGdW5jdGlvbiB7XG4gICAgICB0aGlzLm5leHQoKTtcblxuICAgICAgY29uc3QgaWQgPSAobm9kZS5pZCA9IHRoaXMucGFyc2VJZGVudGlmaWVyKCkpO1xuXG4gICAgICBjb25zdCB0eXBlTm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uRmxvd0Z1bmN0aW9uVHlwZUFubm90YXRpb24+KCk7XG4gICAgICBjb25zdCB0eXBlQ29udGFpbmVyID0gdGhpcy5zdGFydE5vZGU8Ti5UeXBlQW5ub3RhdGlvbj4oKTtcblxuICAgICAgaWYgKHRoaXMubWF0Y2godHQubHQpKSB7XG4gICAgICAgIHR5cGVOb2RlLnR5cGVQYXJhbWV0ZXJzID0gdGhpcy5mbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHR5cGVOb2RlLnR5cGVQYXJhbWV0ZXJzID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgdGhpcy5leHBlY3QodHQucGFyZW5MKTtcbiAgICAgIGNvbnN0IHRtcCA9IHRoaXMuZmxvd1BhcnNlRnVuY3Rpb25UeXBlUGFyYW1zKCk7XG4gICAgICB0eXBlTm9kZS5wYXJhbXMgPSB0bXAucGFyYW1zO1xuICAgICAgdHlwZU5vZGUucmVzdCA9IHRtcC5yZXN0O1xuICAgICAgdHlwZU5vZGUudGhpcyA9IHRtcC5fdGhpcztcbiAgICAgIHRoaXMuZXhwZWN0KHR0LnBhcmVuUik7XG5cbiAgICAgIFt0eXBlTm9kZS5yZXR1cm5UeXBlLCBub2RlLnByZWRpY2F0ZV0gPVxuICAgICAgICB0aGlzLmZsb3dQYXJzZVR5cGVBbmRQcmVkaWNhdGVJbml0aWFsaXNlcigpO1xuXG4gICAgICB0eXBlQ29udGFpbmVyLnR5cGVBbm5vdGF0aW9uID0gdGhpcy5maW5pc2hOb2RlKFxuICAgICAgICB0eXBlTm9kZSxcbiAgICAgICAgXCJGdW5jdGlvblR5cGVBbm5vdGF0aW9uXCIsXG4gICAgICApO1xuXG4gICAgICBpZC50eXBlQW5ub3RhdGlvbiA9IHRoaXMuZmluaXNoTm9kZSh0eXBlQ29udGFpbmVyLCBcIlR5cGVBbm5vdGF0aW9uXCIpO1xuXG4gICAgICB0aGlzLnJlc2V0RW5kTG9jYXRpb24oaWQpO1xuICAgICAgdGhpcy5zZW1pY29sb24oKTtcblxuICAgICAgdGhpcy5zY29wZS5kZWNsYXJlTmFtZShcbiAgICAgICAgbm9kZS5pZC5uYW1lLFxuICAgICAgICBCaW5kaW5nRmxhZy5UWVBFX0ZMT1dfREVDTEFSRV9GTixcbiAgICAgICAgbm9kZS5pZC5sb2Muc3RhcnQsXG4gICAgICApO1xuXG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiRGVjbGFyZUZ1bmN0aW9uXCIpO1xuICAgIH1cblxuICAgIGZsb3dQYXJzZURlY2xhcmUoXG4gICAgICBub2RlOiBVbmRvbmU8Ti5GbG93RGVjbGFyZT4sXG4gICAgICBpbnNpZGVNb2R1bGU/OiBib29sZWFuLFxuICAgICk6IE4uRmxvd0RlY2xhcmUge1xuICAgICAgaWYgKHRoaXMubWF0Y2godHQuX2NsYXNzKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5mbG93UGFyc2VEZWNsYXJlQ2xhc3Mobm9kZSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubWF0Y2godHQuX2Z1bmN0aW9uKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5mbG93UGFyc2VEZWNsYXJlRnVuY3Rpb24obm9kZSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubWF0Y2godHQuX3ZhcikpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmxvd1BhcnNlRGVjbGFyZVZhcmlhYmxlKG5vZGUpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmVhdENvbnRleHR1YWwodHQuX21vZHVsZSkpIHtcbiAgICAgICAgaWYgKHRoaXMubWF0Y2godHQuZG90KSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLmZsb3dQYXJzZURlY2xhcmVNb2R1bGVFeHBvcnRzKG5vZGUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChpbnNpZGVNb2R1bGUpIHtcbiAgICAgICAgICAgIHRoaXMucmFpc2UoXG4gICAgICAgICAgICAgIEZsb3dFcnJvcnMuTmVzdGVkRGVjbGFyZU1vZHVsZSxcbiAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5sYXN0VG9rU3RhcnRMb2MsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdGhpcy5mbG93UGFyc2VEZWNsYXJlTW9kdWxlKG5vZGUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll90eXBlKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5mbG93UGFyc2VEZWNsYXJlVHlwZUFsaWFzKG5vZGUpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzQ29udGV4dHVhbCh0dC5fb3BhcXVlKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5mbG93UGFyc2VEZWNsYXJlT3BhcXVlVHlwZShub2RlKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0NvbnRleHR1YWwodHQuX2ludGVyZmFjZSkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmxvd1BhcnNlRGVjbGFyZUludGVyZmFjZShub2RlKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5tYXRjaCh0dC5fZXhwb3J0KSkge1xuICAgICAgICByZXR1cm4gdGhpcy5mbG93UGFyc2VEZWNsYXJlRXhwb3J0RGVjbGFyYXRpb24obm9kZSwgaW5zaWRlTW9kdWxlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudW5leHBlY3RlZCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZsb3dQYXJzZURlY2xhcmVWYXJpYWJsZShcbiAgICAgIG5vZGU6IFVuZG9uZTxOLkZsb3dEZWNsYXJlVmFyaWFibGU+LFxuICAgICk6IE4uRmxvd0RlY2xhcmVWYXJpYWJsZSB7XG4gICAgICB0aGlzLm5leHQoKTtcbiAgICAgIG5vZGUuaWQgPSB0aGlzLmZsb3dQYXJzZVR5cGVBbm5vdGF0YWJsZUlkZW50aWZpZXIoXG4gICAgICAgIC8qYWxsb3dQcmltaXRpdmVPdmVycmlkZSovIHRydWUsXG4gICAgICApO1xuICAgICAgdGhpcy5zY29wZS5kZWNsYXJlTmFtZShcbiAgICAgICAgbm9kZS5pZC5uYW1lLFxuICAgICAgICBCaW5kaW5nRmxhZy5UWVBFX1ZBUixcbiAgICAgICAgbm9kZS5pZC5sb2Muc3RhcnQsXG4gICAgICApO1xuICAgICAgdGhpcy5zZW1pY29sb24oKTtcbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJEZWNsYXJlVmFyaWFibGVcIik7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlRGVjbGFyZU1vZHVsZShcbiAgICAgIG5vZGU6IFVuZG9uZTxOLkZsb3dEZWNsYXJlTW9kdWxlPixcbiAgICApOiBOLkZsb3dEZWNsYXJlTW9kdWxlIHtcbiAgICAgIHRoaXMuc2NvcGUuZW50ZXIoU2NvcGVGbGFnLk9USEVSKTtcblxuICAgICAgaWYgKHRoaXMubWF0Y2godHQuc3RyaW5nKSkge1xuICAgICAgICBub2RlLmlkID0gc3VwZXIucGFyc2VFeHByQXRvbSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9kZS5pZCA9IHRoaXMucGFyc2VJZGVudGlmaWVyKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGJvZHlOb2RlID0gKG5vZGUuYm9keSA9IHRoaXMuc3RhcnROb2RlPE4uQmxvY2tTdGF0ZW1lbnQ+KCkpO1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciByZWZpbmUgdHlwaW5nc1xuICAgICAgY29uc3QgYm9keSA9IChib2R5Tm9kZS5ib2R5ID0gW10pO1xuICAgICAgdGhpcy5leHBlY3QodHQuYnJhY2VMKTtcbiAgICAgIHdoaWxlICghdGhpcy5tYXRjaCh0dC5icmFjZVIpKSB7XG4gICAgICAgIGxldCBib2R5Tm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uSW1wb3J0RGVjbGFyYXRpb24+KCk7XG5cbiAgICAgICAgaWYgKHRoaXMubWF0Y2godHQuX2ltcG9ydCkpIHtcbiAgICAgICAgICB0aGlzLm5leHQoKTtcbiAgICAgICAgICBpZiAoIXRoaXMuaXNDb250ZXh0dWFsKHR0Ll90eXBlKSAmJiAhdGhpcy5tYXRjaCh0dC5fdHlwZW9mKSkge1xuICAgICAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICAgICAgRmxvd0Vycm9ycy5JbnZhbGlkTm9uVHlwZUltcG9ydEluRGVjbGFyZU1vZHVsZSxcbiAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5sYXN0VG9rU3RhcnRMb2MsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdXBlci5wYXJzZUltcG9ydChib2R5Tm9kZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5leHBlY3RDb250ZXh0dWFsKFxuICAgICAgICAgICAgdHQuX2RlY2xhcmUsXG4gICAgICAgICAgICBGbG93RXJyb3JzLlVuc3VwcG9ydGVkU3RhdGVtZW50SW5EZWNsYXJlTW9kdWxlLFxuICAgICAgICAgICk7XG4gICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciByZWZpbmUgdHlwaW5nc1xuICAgICAgICAgIGJvZHlOb2RlID0gdGhpcy5mbG93UGFyc2VEZWNsYXJlKGJvZHlOb2RlLCB0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJvZHkucHVzaChib2R5Tm9kZSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2NvcGUuZXhpdCgpO1xuXG4gICAgICB0aGlzLmV4cGVjdCh0dC5icmFjZVIpO1xuXG4gICAgICB0aGlzLmZpbmlzaE5vZGUoYm9keU5vZGUsIFwiQmxvY2tTdGF0ZW1lbnRcIik7XG5cbiAgICAgIGxldCBraW5kOiBcIkNvbW1vbkpTXCIgfCBcIkVTXCIgfCBudWxsID0gbnVsbDtcbiAgICAgIGxldCBoYXNNb2R1bGVFeHBvcnQgPSBmYWxzZTtcbiAgICAgIGJvZHkuZm9yRWFjaChib2R5RWxlbWVudCA9PiB7XG4gICAgICAgIGlmIChpc0VzTW9kdWxlVHlwZShib2R5RWxlbWVudCkpIHtcbiAgICAgICAgICBpZiAoa2luZCA9PT0gXCJDb21tb25KU1wiKSB7XG4gICAgICAgICAgICB0aGlzLnJhaXNlKEZsb3dFcnJvcnMuQW1iaWd1b3VzRGVjbGFyZU1vZHVsZUtpbmQsIGJvZHlFbGVtZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgICAga2luZCA9IFwiRVNcIjtcbiAgICAgICAgfSBlbHNlIGlmIChib2R5RWxlbWVudC50eXBlID09PSBcIkRlY2xhcmVNb2R1bGVFeHBvcnRzXCIpIHtcbiAgICAgICAgICBpZiAoaGFzTW9kdWxlRXhwb3J0KSB7XG4gICAgICAgICAgICB0aGlzLnJhaXNlKEZsb3dFcnJvcnMuRHVwbGljYXRlRGVjbGFyZU1vZHVsZUV4cG9ydHMsIGJvZHlFbGVtZW50KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGtpbmQgPT09IFwiRVNcIikge1xuICAgICAgICAgICAgdGhpcy5yYWlzZShGbG93RXJyb3JzLkFtYmlndW91c0RlY2xhcmVNb2R1bGVLaW5kLCBib2R5RWxlbWVudCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGtpbmQgPSBcIkNvbW1vbkpTXCI7XG4gICAgICAgICAgaGFzTW9kdWxlRXhwb3J0ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIG5vZGUua2luZCA9IGtpbmQgfHwgXCJDb21tb25KU1wiO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkRlY2xhcmVNb2R1bGVcIik7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlRGVjbGFyZUV4cG9ydERlY2xhcmF0aW9uKFxuICAgICAgbm9kZTogVW5kb25lPE4uRmxvd0RlY2xhcmVFeHBvcnREZWNsYXJhdGlvbj4sXG4gICAgICBpbnNpZGVNb2R1bGU/OiBib29sZWFuIHwgbnVsbCxcbiAgICApOiBOLkZsb3dEZWNsYXJlRXhwb3J0RGVjbGFyYXRpb24ge1xuICAgICAgdGhpcy5leHBlY3QodHQuX2V4cG9ydCk7XG5cbiAgICAgIGlmICh0aGlzLmVhdCh0dC5fZGVmYXVsdCkpIHtcbiAgICAgICAgaWYgKHRoaXMubWF0Y2godHQuX2Z1bmN0aW9uKSB8fCB0aGlzLm1hdGNoKHR0Ll9jbGFzcykpIHtcbiAgICAgICAgICAvLyBkZWNsYXJlIGV4cG9ydCBkZWZhdWx0IGNsYXNzIC4uLlxuICAgICAgICAgIC8vIGRlY2xhcmUgZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gLi4uXG4gICAgICAgICAgbm9kZS5kZWNsYXJhdGlvbiA9IHRoaXMuZmxvd1BhcnNlRGVjbGFyZSh0aGlzLnN0YXJ0Tm9kZSgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBkZWNsYXJlIGV4cG9ydCBkZWZhdWx0IFt0eXBlXTtcbiAgICAgICAgICBub2RlLmRlY2xhcmF0aW9uID0gdGhpcy5mbG93UGFyc2VUeXBlKCk7XG4gICAgICAgICAgdGhpcy5zZW1pY29sb24oKTtcbiAgICAgICAgfVxuICAgICAgICBub2RlLmRlZmF1bHQgPSB0cnVlO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJEZWNsYXJlRXhwb3J0RGVjbGFyYXRpb25cIik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5tYXRjaCh0dC5fY29uc3QpIHx8XG4gICAgICAgICAgdGhpcy5pc0xldCgpIHx8XG4gICAgICAgICAgKCh0aGlzLmlzQ29udGV4dHVhbCh0dC5fdHlwZSkgfHwgdGhpcy5pc0NvbnRleHR1YWwodHQuX2ludGVyZmFjZSkpICYmXG4gICAgICAgICAgICAhaW5zaWRlTW9kdWxlKVxuICAgICAgICApIHtcbiAgICAgICAgICBjb25zdCBsYWJlbCA9IHRoaXMuc3RhdGUudmFsdWUgYXNcbiAgICAgICAgICAgIHwgXCJjb25zdFwiXG4gICAgICAgICAgICB8IFwibGV0XCJcbiAgICAgICAgICAgIHwgXCJ0eXBlXCJcbiAgICAgICAgICAgIHwgXCJpbnRlcmZhY2VcIjtcbiAgICAgICAgICB0aHJvdyB0aGlzLnJhaXNlKFxuICAgICAgICAgICAgRmxvd0Vycm9ycy5VbnN1cHBvcnRlZERlY2xhcmVFeHBvcnRLaW5kLFxuICAgICAgICAgICAgdGhpcy5zdGF0ZS5zdGFydExvYyxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdW5zdXBwb3J0ZWRFeHBvcnRLaW5kOiBsYWJlbCxcbiAgICAgICAgICAgICAgc3VnZ2VzdGlvbjogZXhwb3J0U3VnZ2VzdGlvbnNbbGFiZWxdLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHRoaXMubWF0Y2godHQuX3ZhcikgfHwgLy8gZGVjbGFyZSBleHBvcnQgdmFyIC4uLlxuICAgICAgICAgIHRoaXMubWF0Y2godHQuX2Z1bmN0aW9uKSB8fCAvLyBkZWNsYXJlIGV4cG9ydCBmdW5jdGlvbiAuLi5cbiAgICAgICAgICB0aGlzLm1hdGNoKHR0Ll9jbGFzcykgfHwgLy8gZGVjbGFyZSBleHBvcnQgY2xhc3MgLi4uXG4gICAgICAgICAgdGhpcy5pc0NvbnRleHR1YWwodHQuX29wYXF1ZSkgLy8gZGVjbGFyZSBleHBvcnQgb3BhcXVlIC4uXG4gICAgICAgICkge1xuICAgICAgICAgIG5vZGUuZGVjbGFyYXRpb24gPSB0aGlzLmZsb3dQYXJzZURlY2xhcmUodGhpcy5zdGFydE5vZGUoKSk7XG4gICAgICAgICAgbm9kZS5kZWZhdWx0ID0gZmFsc2U7XG5cbiAgICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiRGVjbGFyZUV4cG9ydERlY2xhcmF0aW9uXCIpO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIHRoaXMubWF0Y2godHQuc3RhcikgfHwgLy8gZGVjbGFyZSBleHBvcnQgKiBmcm9tICcnXG4gICAgICAgICAgdGhpcy5tYXRjaCh0dC5icmFjZUwpIHx8IC8vIGRlY2xhcmUgZXhwb3J0IHt9IC4uLlxuICAgICAgICAgIHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9pbnRlcmZhY2UpIHx8IC8vIGRlY2xhcmUgZXhwb3J0IGludGVyZmFjZSAuLi5cbiAgICAgICAgICB0aGlzLmlzQ29udGV4dHVhbCh0dC5fdHlwZSkgfHwgLy8gZGVjbGFyZSBleHBvcnQgdHlwZSAuLi5cbiAgICAgICAgICB0aGlzLmlzQ29udGV4dHVhbCh0dC5fb3BhcXVlKSAvLyBkZWNsYXJlIGV4cG9ydCBvcGFxdWUgdHlwZSAuLi5cbiAgICAgICAgKSB7XG4gICAgICAgICAgbm9kZSA9IHRoaXMucGFyc2VFeHBvcnQoXG4gICAgICAgICAgICBub2RlIGFzIFVuZG9uZTxOLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24gfCBOLkV4cG9ydEFsbERlY2xhcmF0aW9uPixcbiAgICAgICAgICAgIC8qIGRlY29yYXRvcnMgKi8gbnVsbCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChub2RlLnR5cGUgPT09IFwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiKSB7XG4gICAgICAgICAgICBub2RlLnR5cGUgPSBcIkV4cG9ydERlY2xhcmF0aW9uXCI7XG4gICAgICAgICAgICBub2RlLmRlZmF1bHQgPSBmYWxzZTtcbiAgICAgICAgICAgIGRlbGV0ZSBub2RlLmV4cG9ydEtpbmQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbm9kZS50eXBlID0gXCJEZWNsYXJlXCIgKyBub2RlLnR5cGU7XG5cbiAgICAgICAgICByZXR1cm4gbm9kZSBhcyBOLkZsb3dEZWNsYXJlRXhwb3J0RGVjbGFyYXRpb247XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlRGVjbGFyZU1vZHVsZUV4cG9ydHMoXG4gICAgICBub2RlOiBVbmRvbmU8Ti5GbG93RGVjbGFyZU1vZHVsZUV4cG9ydHM+LFxuICAgICk6IE4uRmxvd0RlY2xhcmVNb2R1bGVFeHBvcnRzIHtcbiAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgdGhpcy5leHBlY3RDb250ZXh0dWFsKHR0Ll9leHBvcnRzKTtcbiAgICAgIG5vZGUudHlwZUFubm90YXRpb24gPSB0aGlzLmZsb3dQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gICAgICB0aGlzLnNlbWljb2xvbigpO1xuXG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiRGVjbGFyZU1vZHVsZUV4cG9ydHNcIik7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlRGVjbGFyZVR5cGVBbGlhcyhcbiAgICAgIG5vZGU6IFVuZG9uZTxOLkZsb3dEZWNsYXJlVHlwZUFsaWFzPixcbiAgICApOiBOLkZsb3dEZWNsYXJlVHlwZUFsaWFzIHtcbiAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgY29uc3QgZmluaXNoZWQgPSB0aGlzLmZsb3dQYXJzZVR5cGVBbGlhcyhcbiAgICAgICAgbm9kZSxcbiAgICAgICkgYXMgdW5rbm93biBhcyBOLkZsb3dEZWNsYXJlVHlwZUFsaWFzO1xuICAgICAgLy8gRG9uJ3QgZG8gZmluaXNoTm9kZSBhcyB3ZSBkb24ndCB3YW50IHRvIHByb2Nlc3MgY29tbWVudHMgdHdpY2VcbiAgICAgIGZpbmlzaGVkLnR5cGUgPSBcIkRlY2xhcmVUeXBlQWxpYXNcIjtcbiAgICAgIHJldHVybiBmaW5pc2hlZDtcbiAgICB9XG5cbiAgICBmbG93UGFyc2VEZWNsYXJlT3BhcXVlVHlwZShcbiAgICAgIG5vZGU6IFVuZG9uZTxOLkZsb3dEZWNsYXJlT3BhcXVlVHlwZT4sXG4gICAgKTogTi5GbG93RGVjbGFyZU9wYXF1ZVR5cGUge1xuICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICBjb25zdCBmaW5pc2hlZCA9IHRoaXMuZmxvd1BhcnNlT3BhcXVlVHlwZShcbiAgICAgICAgbm9kZSxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICkgYXMgdW5rbm93biBhcyBOLkZsb3dEZWNsYXJlT3BhcXVlVHlwZTtcbiAgICAgIC8vIERvbid0IGRvIGZpbmlzaE5vZGUgYXMgd2UgZG9uJ3Qgd2FudCB0byBwcm9jZXNzIGNvbW1lbnRzIHR3aWNlXG4gICAgICBmaW5pc2hlZC50eXBlID0gXCJEZWNsYXJlT3BhcXVlVHlwZVwiO1xuICAgICAgcmV0dXJuIGZpbmlzaGVkO1xuICAgIH1cblxuICAgIGZsb3dQYXJzZURlY2xhcmVJbnRlcmZhY2UoXG4gICAgICBub2RlOiBVbmRvbmU8Ti5GbG93RGVjbGFyZUludGVyZmFjZT4sXG4gICAgKTogTi5GbG93RGVjbGFyZUludGVyZmFjZSB7XG4gICAgICB0aGlzLm5leHQoKTtcbiAgICAgIHRoaXMuZmxvd1BhcnNlSW50ZXJmYWNlaXNoKG5vZGUsIC8qIGlzQ2xhc3MgKi8gZmFsc2UpO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkRlY2xhcmVJbnRlcmZhY2VcIik7XG4gICAgfVxuXG4gICAgLy8gSW50ZXJmYWNlc1xuXG4gICAgZmxvd1BhcnNlSW50ZXJmYWNlaXNoKG5vZGU6IFVuZG9uZTxOLkZsb3dEZWNsYXJlPiwgaXNDbGFzczogYm9vbGVhbik6IHZvaWQge1xuICAgICAgbm9kZS5pZCA9IHRoaXMuZmxvd1BhcnNlUmVzdHJpY3RlZElkZW50aWZpZXIoXG4gICAgICAgIC8qIGxpYmVyYWwgKi8gIWlzQ2xhc3MsXG4gICAgICAgIC8qIGRlY2xhcmF0aW9uICovIHRydWUsXG4gICAgICApO1xuXG4gICAgICB0aGlzLnNjb3BlLmRlY2xhcmVOYW1lKFxuICAgICAgICBub2RlLmlkLm5hbWUsXG4gICAgICAgIGlzQ2xhc3MgPyBCaW5kaW5nRmxhZy5UWVBFX0ZVTkNUSU9OIDogQmluZGluZ0ZsYWcuVFlQRV9MRVhJQ0FMLFxuICAgICAgICBub2RlLmlkLmxvYy5zdGFydCxcbiAgICAgICk7XG5cbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0Lmx0KSkge1xuICAgICAgICBub2RlLnR5cGVQYXJhbWV0ZXJzID0gdGhpcy5mbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGUudHlwZVBhcmFtZXRlcnMgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICBub2RlLmV4dGVuZHMgPSBbXTtcblxuICAgICAgaWYgKHRoaXMuZWF0KHR0Ll9leHRlbmRzKSkge1xuICAgICAgICBkbyB7XG4gICAgICAgICAgbm9kZS5leHRlbmRzLnB1c2godGhpcy5mbG93UGFyc2VJbnRlcmZhY2VFeHRlbmRzKCkpO1xuICAgICAgICB9IHdoaWxlICghaXNDbGFzcyAmJiB0aGlzLmVhdCh0dC5jb21tYSkpO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNDbGFzcykge1xuICAgICAgICBub2RlLmltcGxlbWVudHMgPSBbXTtcbiAgICAgICAgbm9kZS5taXhpbnMgPSBbXTtcblxuICAgICAgICBpZiAodGhpcy5lYXRDb250ZXh0dWFsKHR0Ll9taXhpbnMpKSB7XG4gICAgICAgICAgZG8ge1xuICAgICAgICAgICAgbm9kZS5taXhpbnMucHVzaCh0aGlzLmZsb3dQYXJzZUludGVyZmFjZUV4dGVuZHMoKSk7XG4gICAgICAgICAgfSB3aGlsZSAodGhpcy5lYXQodHQuY29tbWEpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmVhdENvbnRleHR1YWwodHQuX2ltcGxlbWVudHMpKSB7XG4gICAgICAgICAgZG8ge1xuICAgICAgICAgICAgbm9kZS5pbXBsZW1lbnRzLnB1c2godGhpcy5mbG93UGFyc2VJbnRlcmZhY2VFeHRlbmRzKCkpO1xuICAgICAgICAgIH0gd2hpbGUgKHRoaXMuZWF0KHR0LmNvbW1hKSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbm9kZS5ib2R5ID0gdGhpcy5mbG93UGFyc2VPYmplY3RUeXBlKHtcbiAgICAgICAgYWxsb3dTdGF0aWM6IGlzQ2xhc3MsXG4gICAgICAgIGFsbG93RXhhY3Q6IGZhbHNlLFxuICAgICAgICBhbGxvd1NwcmVhZDogZmFsc2UsXG4gICAgICAgIGFsbG93UHJvdG86IGlzQ2xhc3MsXG4gICAgICAgIGFsbG93SW5leGFjdDogZmFsc2UsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICBmbG93UGFyc2VJbnRlcmZhY2VFeHRlbmRzKCk6IE4uRmxvd0ludGVyZmFjZUV4dGVuZHMge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uRmxvd0ludGVyZmFjZUV4dGVuZHM+KCk7XG5cbiAgICAgIG5vZGUuaWQgPSB0aGlzLmZsb3dQYXJzZVF1YWxpZmllZFR5cGVJZGVudGlmaWVyKCk7XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5sdCkpIHtcbiAgICAgICAgbm9kZS50eXBlUGFyYW1ldGVycyA9IHRoaXMuZmxvd1BhcnNlVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb24oKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGUudHlwZVBhcmFtZXRlcnMgPSBudWxsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiSW50ZXJmYWNlRXh0ZW5kc1wiKTtcbiAgICB9XG5cbiAgICBmbG93UGFyc2VJbnRlcmZhY2Uobm9kZTogVW5kb25lPE4uRmxvd0ludGVyZmFjZT4pOiBOLkZsb3dJbnRlcmZhY2Uge1xuICAgICAgdGhpcy5mbG93UGFyc2VJbnRlcmZhY2Vpc2gobm9kZSwgLyogaXNDbGFzcyAqLyBmYWxzZSk7XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiSW50ZXJmYWNlRGVjbGFyYXRpb25cIik7XG4gICAgfVxuXG4gICAgY2hlY2tOb3RVbmRlcnNjb3JlKHdvcmQ6IHN0cmluZykge1xuICAgICAgaWYgKHdvcmQgPT09IFwiX1wiKSB7XG4gICAgICAgIHRoaXMucmFpc2UoXG4gICAgICAgICAgRmxvd0Vycm9ycy5VbmV4cGVjdGVkUmVzZXJ2ZWRVbmRlcnNjb3JlLFxuICAgICAgICAgIHRoaXMuc3RhdGUuc3RhcnRMb2MsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2hlY2tSZXNlcnZlZFR5cGUod29yZDogc3RyaW5nLCBzdGFydExvYzogUG9zaXRpb24sIGRlY2xhcmF0aW9uPzogYm9vbGVhbikge1xuICAgICAgaWYgKCFyZXNlcnZlZFR5cGVzLmhhcyh3b3JkKSkgcmV0dXJuO1xuXG4gICAgICB0aGlzLnJhaXNlKFxuICAgICAgICBkZWNsYXJhdGlvblxuICAgICAgICAgID8gRmxvd0Vycm9ycy5Bc3NpZ25SZXNlcnZlZFR5cGVcbiAgICAgICAgICA6IEZsb3dFcnJvcnMuVW5leHBlY3RlZFJlc2VydmVkVHlwZSxcbiAgICAgICAgc3RhcnRMb2MsXG4gICAgICAgIHtcbiAgICAgICAgICByZXNlcnZlZFR5cGU6IHdvcmQsXG4gICAgICAgIH0sXG4gICAgICApO1xuICAgIH1cblxuICAgIGZsb3dQYXJzZVJlc3RyaWN0ZWRJZGVudGlmaWVyKFxuICAgICAgbGliZXJhbD86IGJvb2xlYW4sXG4gICAgICBkZWNsYXJhdGlvbj86IGJvb2xlYW4sXG4gICAgKTogTi5JZGVudGlmaWVyIHtcbiAgICAgIHRoaXMuY2hlY2tSZXNlcnZlZFR5cGUoXG4gICAgICAgIHRoaXMuc3RhdGUudmFsdWUsXG4gICAgICAgIHRoaXMuc3RhdGUuc3RhcnRMb2MsXG4gICAgICAgIGRlY2xhcmF0aW9uLFxuICAgICAgKTtcbiAgICAgIHJldHVybiB0aGlzLnBhcnNlSWRlbnRpZmllcihsaWJlcmFsKTtcbiAgICB9XG5cbiAgICAvLyBUeXBlIGFsaWFzZXNcblxuICAgIGZsb3dQYXJzZVR5cGVBbGlhcyhub2RlOiBVbmRvbmU8Ti5GbG93VHlwZUFsaWFzPik6IE4uRmxvd1R5cGVBbGlhcyB7XG4gICAgICBub2RlLmlkID0gdGhpcy5mbG93UGFyc2VSZXN0cmljdGVkSWRlbnRpZmllcihcbiAgICAgICAgLyogbGliZXJhbCAqLyBmYWxzZSxcbiAgICAgICAgLyogZGVjbGFyYXRpb24gKi8gdHJ1ZSxcbiAgICAgICk7XG4gICAgICB0aGlzLnNjb3BlLmRlY2xhcmVOYW1lKFxuICAgICAgICBub2RlLmlkLm5hbWUsXG4gICAgICAgIEJpbmRpbmdGbGFnLlRZUEVfTEVYSUNBTCxcbiAgICAgICAgbm9kZS5pZC5sb2Muc3RhcnQsXG4gICAgICApO1xuXG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5sdCkpIHtcbiAgICAgICAgbm9kZS50eXBlUGFyYW1ldGVycyA9IHRoaXMuZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlLnR5cGVQYXJhbWV0ZXJzID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgbm9kZS5yaWdodCA9IHRoaXMuZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKHR0LmVxKTtcbiAgICAgIHRoaXMuc2VtaWNvbG9uKCk7XG5cbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJUeXBlQWxpYXNcIik7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlT3BhcXVlVHlwZShcbiAgICAgIG5vZGU6IFVuZG9uZTxOLkZsb3dPcGFxdWVUeXBlPixcbiAgICAgIGRlY2xhcmU6IGJvb2xlYW4sXG4gICAgKTogTi5GbG93T3BhcXVlVHlwZSB7XG4gICAgICB0aGlzLmV4cGVjdENvbnRleHR1YWwodHQuX3R5cGUpO1xuICAgICAgbm9kZS5pZCA9IHRoaXMuZmxvd1BhcnNlUmVzdHJpY3RlZElkZW50aWZpZXIoXG4gICAgICAgIC8qIGxpYmVyYWwgKi8gdHJ1ZSxcbiAgICAgICAgLyogZGVjbGFyYXRpb24gKi8gdHJ1ZSxcbiAgICAgICk7XG4gICAgICB0aGlzLnNjb3BlLmRlY2xhcmVOYW1lKFxuICAgICAgICBub2RlLmlkLm5hbWUsXG4gICAgICAgIEJpbmRpbmdGbGFnLlRZUEVfTEVYSUNBTCxcbiAgICAgICAgbm9kZS5pZC5sb2Muc3RhcnQsXG4gICAgICApO1xuXG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5sdCkpIHtcbiAgICAgICAgbm9kZS50eXBlUGFyYW1ldGVycyA9IHRoaXMuZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlLnR5cGVQYXJhbWV0ZXJzID0gbnVsbDtcbiAgICAgIH1cblxuICAgICAgLy8gUGFyc2UgdGhlIHN1cGVydHlwZVxuICAgICAgbm9kZS5zdXBlcnR5cGUgPSBudWxsO1xuICAgICAgaWYgKHRoaXMubWF0Y2godHQuY29sb24pKSB7XG4gICAgICAgIG5vZGUuc3VwZXJ0eXBlID0gdGhpcy5mbG93UGFyc2VUeXBlSW5pdGlhbGlzZXIodHQuY29sb24pO1xuICAgICAgfVxuXG4gICAgICBub2RlLmltcGx0eXBlID0gbnVsbDtcbiAgICAgIGlmICghZGVjbGFyZSkge1xuICAgICAgICBub2RlLmltcGx0eXBlID0gdGhpcy5mbG93UGFyc2VUeXBlSW5pdGlhbGlzZXIodHQuZXEpO1xuICAgICAgfVxuICAgICAgdGhpcy5zZW1pY29sb24oKTtcblxuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIk9wYXF1ZVR5cGVcIik7XG4gICAgfVxuXG4gICAgLy8gVHlwZSBhbm5vdGF0aW9uc1xuXG4gICAgZmxvd1BhcnNlVHlwZVBhcmFtZXRlcihyZXF1aXJlRGVmYXVsdDogYm9vbGVhbiA9IGZhbHNlKTogTi5UeXBlUGFyYW1ldGVyIHtcbiAgICAgIGNvbnN0IG5vZGVTdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG5cbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLlR5cGVQYXJhbWV0ZXI+KCk7XG5cbiAgICAgIGNvbnN0IHZhcmlhbmNlID0gdGhpcy5mbG93UGFyc2VWYXJpYW5jZSgpO1xuXG4gICAgICBjb25zdCBpZGVudCA9IHRoaXMuZmxvd1BhcnNlVHlwZUFubm90YXRhYmxlSWRlbnRpZmllcigpO1xuICAgICAgbm9kZS5uYW1lID0gaWRlbnQubmFtZTtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbWlncmF0ZSB0byBCYWJlbCB0eXBlc1xuICAgICAgbm9kZS52YXJpYW5jZSA9IHZhcmlhbmNlO1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBtaWdyYXRlIHRvIEJhYmVsIHR5cGVzXG4gICAgICBub2RlLmJvdW5kID0gaWRlbnQudHlwZUFubm90YXRpb247XG5cbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmVxKSkge1xuICAgICAgICB0aGlzLmVhdCh0dC5lcSk7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgbWlncmF0ZSB0byBCYWJlbCB0eXBlc1xuICAgICAgICBub2RlLmRlZmF1bHQgPSB0aGlzLmZsb3dQYXJzZVR5cGUoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChyZXF1aXJlRGVmYXVsdCkge1xuICAgICAgICAgIHRoaXMucmFpc2UoRmxvd0Vycm9ycy5NaXNzaW5nVHlwZVBhcmFtRGVmYXVsdCwgbm9kZVN0YXJ0TG9jKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVHlwZVBhcmFtZXRlclwiKTtcbiAgICB9XG5cbiAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTogTi5UeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24ge1xuICAgICAgY29uc3Qgb2xkSW5UeXBlID0gdGhpcy5zdGF0ZS5pblR5cGU7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5UeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24+KCk7XG4gICAgICBub2RlLnBhcmFtcyA9IFtdO1xuXG4gICAgICB0aGlzLnN0YXRlLmluVHlwZSA9IHRydWU7XG5cbiAgICAgIC8vIGlzdGFuYnVsIGlnbm9yZSBlbHNlOiB0aGlzIGNvbmRpdGlvbiBpcyBhbHJlYWR5IGNoZWNrZWQgYXQgYWxsIGNhbGwgc2l0ZXNcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0Lmx0KSB8fCB0aGlzLm1hdGNoKHR0LmpzeFRhZ1N0YXJ0KSkge1xuICAgICAgICB0aGlzLm5leHQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudW5leHBlY3RlZCgpO1xuICAgICAgfVxuXG4gICAgICBsZXQgZGVmYXVsdFJlcXVpcmVkID0gZmFsc2U7XG5cbiAgICAgIGRvIHtcbiAgICAgICAgY29uc3QgdHlwZVBhcmFtZXRlciA9IHRoaXMuZmxvd1BhcnNlVHlwZVBhcmFtZXRlcihkZWZhdWx0UmVxdWlyZWQpO1xuXG4gICAgICAgIG5vZGUucGFyYW1zLnB1c2godHlwZVBhcmFtZXRlcik7XG5cbiAgICAgICAgaWYgKHR5cGVQYXJhbWV0ZXIuZGVmYXVsdCkge1xuICAgICAgICAgIGRlZmF1bHRSZXF1aXJlZCA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMubWF0Y2godHQuZ3QpKSB7XG4gICAgICAgICAgdGhpcy5leHBlY3QodHQuY29tbWEpO1xuICAgICAgICB9XG4gICAgICB9IHdoaWxlICghdGhpcy5tYXRjaCh0dC5ndCkpO1xuICAgICAgdGhpcy5leHBlY3QodHQuZ3QpO1xuXG4gICAgICB0aGlzLnN0YXRlLmluVHlwZSA9IG9sZEluVHlwZTtcblxuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlR5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvblwiKTtcbiAgICB9XG5cbiAgICBmbG93UGFyc2VUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbigpOiBOLlR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uIHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLlR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uPigpO1xuICAgICAgY29uc3Qgb2xkSW5UeXBlID0gdGhpcy5zdGF0ZS5pblR5cGU7XG4gICAgICBub2RlLnBhcmFtcyA9IFtdO1xuXG4gICAgICB0aGlzLnN0YXRlLmluVHlwZSA9IHRydWU7XG5cbiAgICAgIHRoaXMuZXhwZWN0KHR0Lmx0KTtcbiAgICAgIGNvbnN0IG9sZE5vQW5vbkZ1bmN0aW9uVHlwZSA9IHRoaXMuc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlO1xuICAgICAgdGhpcy5zdGF0ZS5ub0Fub25GdW5jdGlvblR5cGUgPSBmYWxzZTtcbiAgICAgIHdoaWxlICghdGhpcy5tYXRjaCh0dC5ndCkpIHtcbiAgICAgICAgbm9kZS5wYXJhbXMucHVzaCh0aGlzLmZsb3dQYXJzZVR5cGUoKSk7XG4gICAgICAgIGlmICghdGhpcy5tYXRjaCh0dC5ndCkpIHtcbiAgICAgICAgICB0aGlzLmV4cGVjdCh0dC5jb21tYSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlID0gb2xkTm9Bbm9uRnVuY3Rpb25UeXBlO1xuICAgICAgdGhpcy5leHBlY3QodHQuZ3QpO1xuXG4gICAgICB0aGlzLnN0YXRlLmluVHlwZSA9IG9sZEluVHlwZTtcblxuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uXCIpO1xuICAgIH1cblxuICAgIGZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uQ2FsbE9yTmV3KCk6IE4uVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb24ge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb24+KCk7XG4gICAgICBjb25zdCBvbGRJblR5cGUgPSB0aGlzLnN0YXRlLmluVHlwZTtcbiAgICAgIG5vZGUucGFyYW1zID0gW107XG5cbiAgICAgIHRoaXMuc3RhdGUuaW5UeXBlID0gdHJ1ZTtcblxuICAgICAgdGhpcy5leHBlY3QodHQubHQpO1xuICAgICAgd2hpbGUgKCF0aGlzLm1hdGNoKHR0Lmd0KSkge1xuICAgICAgICBub2RlLnBhcmFtcy5wdXNoKHRoaXMuZmxvd1BhcnNlVHlwZU9ySW1wbGljaXRJbnN0YW50aWF0aW9uKCkpO1xuICAgICAgICBpZiAoIXRoaXMubWF0Y2godHQuZ3QpKSB7XG4gICAgICAgICAgdGhpcy5leHBlY3QodHQuY29tbWEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB0aGlzLmV4cGVjdCh0dC5ndCk7XG5cbiAgICAgIHRoaXMuc3RhdGUuaW5UeXBlID0gb2xkSW5UeXBlO1xuXG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb25cIik7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlSW50ZXJmYWNlVHlwZSgpOiBOLkZsb3dJbnRlcmZhY2VUeXBlIHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLkZsb3dJbnRlcmZhY2VUeXBlPigpO1xuICAgICAgdGhpcy5leHBlY3RDb250ZXh0dWFsKHR0Ll9pbnRlcmZhY2UpO1xuXG4gICAgICBub2RlLmV4dGVuZHMgPSBbXTtcbiAgICAgIGlmICh0aGlzLmVhdCh0dC5fZXh0ZW5kcykpIHtcbiAgICAgICAgZG8ge1xuICAgICAgICAgIG5vZGUuZXh0ZW5kcy5wdXNoKHRoaXMuZmxvd1BhcnNlSW50ZXJmYWNlRXh0ZW5kcygpKTtcbiAgICAgICAgfSB3aGlsZSAodGhpcy5lYXQodHQuY29tbWEpKTtcbiAgICAgIH1cblxuICAgICAgbm9kZS5ib2R5ID0gdGhpcy5mbG93UGFyc2VPYmplY3RUeXBlKHtcbiAgICAgICAgYWxsb3dTdGF0aWM6IGZhbHNlLFxuICAgICAgICBhbGxvd0V4YWN0OiBmYWxzZSxcbiAgICAgICAgYWxsb3dTcHJlYWQ6IGZhbHNlLFxuICAgICAgICBhbGxvd1Byb3RvOiBmYWxzZSxcbiAgICAgICAgYWxsb3dJbmV4YWN0OiBmYWxzZSxcbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiSW50ZXJmYWNlVHlwZUFubm90YXRpb25cIik7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlT2JqZWN0UHJvcGVydHlLZXkoKTogTi5FeHByZXNzaW9uIHtcbiAgICAgIHJldHVybiB0aGlzLm1hdGNoKHR0Lm51bSkgfHwgdGhpcy5tYXRjaCh0dC5zdHJpbmcpXG4gICAgICAgID8gc3VwZXIucGFyc2VFeHByQXRvbSgpXG4gICAgICAgIDogdGhpcy5wYXJzZUlkZW50aWZpZXIodHJ1ZSk7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlT2JqZWN0VHlwZUluZGV4ZXIoXG4gICAgICBub2RlOiBVbmRvbmU8Ti5GbG93T2JqZWN0VHlwZUluZGV4ZXI+LFxuICAgICAgaXNTdGF0aWM6IGJvb2xlYW4sXG4gICAgICB2YXJpYW5jZT86IE4uRmxvd1ZhcmlhbmNlIHwgbnVsbCxcbiAgICApOiBOLkZsb3dPYmplY3RUeXBlSW5kZXhlciB7XG4gICAgICBub2RlLnN0YXRpYyA9IGlzU3RhdGljO1xuXG4gICAgICAvLyBOb3RlOiBicmFja2V0TCBoYXMgYWxyZWFkeSBiZWVuIGNvbnN1bWVkXG4gICAgICBpZiAodGhpcy5sb29rYWhlYWQoKS50eXBlID09PSB0dC5jb2xvbikge1xuICAgICAgICBub2RlLmlkID0gdGhpcy5mbG93UGFyc2VPYmplY3RQcm9wZXJ0eUtleSgpO1xuICAgICAgICBub2RlLmtleSA9IHRoaXMuZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlLmlkID0gbnVsbDtcbiAgICAgICAgbm9kZS5rZXkgPSB0aGlzLmZsb3dQYXJzZVR5cGUoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZXhwZWN0KHR0LmJyYWNrZXRSKTtcbiAgICAgIG5vZGUudmFsdWUgPSB0aGlzLmZsb3dQYXJzZVR5cGVJbml0aWFsaXNlcigpO1xuICAgICAgbm9kZS52YXJpYW5jZSA9IHZhcmlhbmNlO1xuXG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiT2JqZWN0VHlwZUluZGV4ZXJcIik7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlT2JqZWN0VHlwZUludGVybmFsU2xvdChcbiAgICAgIG5vZGU6IFVuZG9uZTxOLkZsb3dPYmplY3RUeXBlSW50ZXJuYWxTbG90PixcbiAgICAgIGlzU3RhdGljOiBib29sZWFuLFxuICAgICk6IE4uRmxvd09iamVjdFR5cGVJbnRlcm5hbFNsb3Qge1xuICAgICAgbm9kZS5zdGF0aWMgPSBpc1N0YXRpYztcbiAgICAgIC8vIE5vdGU6IGJvdGggYnJhY2tldEwgaGF2ZSBhbHJlYWR5IGJlZW4gY29uc3VtZWRcbiAgICAgIG5vZGUuaWQgPSB0aGlzLmZsb3dQYXJzZU9iamVjdFByb3BlcnR5S2V5KCk7XG4gICAgICB0aGlzLmV4cGVjdCh0dC5icmFja2V0Uik7XG4gICAgICB0aGlzLmV4cGVjdCh0dC5icmFja2V0Uik7XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5sdCkgfHwgdGhpcy5tYXRjaCh0dC5wYXJlbkwpKSB7XG4gICAgICAgIG5vZGUubWV0aG9kID0gdHJ1ZTtcbiAgICAgICAgbm9kZS5vcHRpb25hbCA9IGZhbHNlO1xuICAgICAgICBub2RlLnZhbHVlID0gdGhpcy5mbG93UGFyc2VPYmplY3RUeXBlTWV0aG9kaXNoKFxuICAgICAgICAgIHRoaXMuc3RhcnROb2RlQXQobm9kZS5sb2Muc3RhcnQpLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9kZS5tZXRob2QgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuZWF0KHR0LnF1ZXN0aW9uKSkge1xuICAgICAgICAgIG5vZGUub3B0aW9uYWwgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIG5vZGUudmFsdWUgPSB0aGlzLmZsb3dQYXJzZVR5cGVJbml0aWFsaXNlcigpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIk9iamVjdFR5cGVJbnRlcm5hbFNsb3RcIik7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlT2JqZWN0VHlwZU1ldGhvZGlzaChcbiAgICAgIG5vZGU6IFVuZG9uZTxOLkZsb3dGdW5jdGlvblR5cGVBbm5vdGF0aW9uPixcbiAgICApOiBOLkZsb3dGdW5jdGlvblR5cGVBbm5vdGF0aW9uIHtcbiAgICAgIG5vZGUucGFyYW1zID0gW107XG4gICAgICBub2RlLnJlc3QgPSBudWxsO1xuICAgICAgbm9kZS50eXBlUGFyYW1ldGVycyA9IG51bGw7XG4gICAgICBub2RlLnRoaXMgPSBudWxsO1xuXG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5sdCkpIHtcbiAgICAgICAgbm9kZS50eXBlUGFyYW1ldGVycyA9IHRoaXMuZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZXhwZWN0KHR0LnBhcmVuTCk7XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5fdGhpcykpIHtcbiAgICAgICAgbm9kZS50aGlzID0gdGhpcy5mbG93UGFyc2VGdW5jdGlvblR5cGVQYXJhbSgvKiBmaXJzdCAqLyB0cnVlKTtcbiAgICAgICAgLy8gbWF0Y2ggRmxvdyBwYXJzZXIgYmVoYXZpb3JcbiAgICAgICAgbm9kZS50aGlzLm5hbWUgPSBudWxsO1xuICAgICAgICBpZiAoIXRoaXMubWF0Y2godHQucGFyZW5SKSkge1xuICAgICAgICAgIHRoaXMuZXhwZWN0KHR0LmNvbW1hKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgd2hpbGUgKCF0aGlzLm1hdGNoKHR0LnBhcmVuUikgJiYgIXRoaXMubWF0Y2godHQuZWxsaXBzaXMpKSB7XG4gICAgICAgIG5vZGUucGFyYW1zLnB1c2godGhpcy5mbG93UGFyc2VGdW5jdGlvblR5cGVQYXJhbShmYWxzZSkpO1xuICAgICAgICBpZiAoIXRoaXMubWF0Y2godHQucGFyZW5SKSkge1xuICAgICAgICAgIHRoaXMuZXhwZWN0KHR0LmNvbW1hKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5lYXQodHQuZWxsaXBzaXMpKSB7XG4gICAgICAgIG5vZGUucmVzdCA9IHRoaXMuZmxvd1BhcnNlRnVuY3Rpb25UeXBlUGFyYW0oZmFsc2UpO1xuICAgICAgfVxuICAgICAgdGhpcy5leHBlY3QodHQucGFyZW5SKTtcbiAgICAgIG5vZGUucmV0dXJuVHlwZSA9IHRoaXMuZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKCk7XG5cbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJGdW5jdGlvblR5cGVBbm5vdGF0aW9uXCIpO1xuICAgIH1cblxuICAgIGZsb3dQYXJzZU9iamVjdFR5cGVDYWxsUHJvcGVydHkoXG4gICAgICBub2RlOiBVbmRvbmU8Ti5GbG93T2JqZWN0VHlwZUNhbGxQcm9wZXJ0eT4sXG4gICAgICBpc1N0YXRpYzogYm9vbGVhbixcbiAgICApOiBOLkZsb3dPYmplY3RUeXBlQ2FsbFByb3BlcnR5IHtcbiAgICAgIGNvbnN0IHZhbHVlTm9kZSA9IHRoaXMuc3RhcnROb2RlKCk7XG4gICAgICBub2RlLnN0YXRpYyA9IGlzU3RhdGljO1xuICAgICAgbm9kZS52YWx1ZSA9IHRoaXMuZmxvd1BhcnNlT2JqZWN0VHlwZU1ldGhvZGlzaCh2YWx1ZU5vZGUpO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIk9iamVjdFR5cGVDYWxsUHJvcGVydHlcIik7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlT2JqZWN0VHlwZSh7XG4gICAgICBhbGxvd1N0YXRpYyxcbiAgICAgIGFsbG93RXhhY3QsXG4gICAgICBhbGxvd1NwcmVhZCxcbiAgICAgIGFsbG93UHJvdG8sXG4gICAgICBhbGxvd0luZXhhY3QsXG4gICAgfToge1xuICAgICAgYWxsb3dTdGF0aWM6IGJvb2xlYW47XG4gICAgICBhbGxvd0V4YWN0OiBib29sZWFuO1xuICAgICAgYWxsb3dTcHJlYWQ6IGJvb2xlYW47XG4gICAgICBhbGxvd1Byb3RvOiBib29sZWFuO1xuICAgICAgYWxsb3dJbmV4YWN0OiBib29sZWFuO1xuICAgIH0pOiBOLkZsb3dPYmplY3RUeXBlQW5ub3RhdGlvbiB7XG4gICAgICBjb25zdCBvbGRJblR5cGUgPSB0aGlzLnN0YXRlLmluVHlwZTtcbiAgICAgIHRoaXMuc3RhdGUuaW5UeXBlID0gdHJ1ZTtcblxuICAgICAgY29uc3Qgbm9kZVN0YXJ0ID0gdGhpcy5zdGFydE5vZGU8Ti5GbG93T2JqZWN0VHlwZUFubm90YXRpb24+KCk7XG5cbiAgICAgIG5vZGVTdGFydC5jYWxsUHJvcGVydGllcyA9IFtdO1xuICAgICAgbm9kZVN0YXJ0LnByb3BlcnRpZXMgPSBbXTtcbiAgICAgIG5vZGVTdGFydC5pbmRleGVycyA9IFtdO1xuICAgICAgbm9kZVN0YXJ0LmludGVybmFsU2xvdHMgPSBbXTtcblxuICAgICAgbGV0IGVuZERlbGltO1xuICAgICAgbGV0IGV4YWN0O1xuICAgICAgbGV0IGluZXhhY3QgPSBmYWxzZTtcbiAgICAgIGlmIChhbGxvd0V4YWN0ICYmIHRoaXMubWF0Y2godHQuYnJhY2VCYXJMKSkge1xuICAgICAgICB0aGlzLmV4cGVjdCh0dC5icmFjZUJhckwpO1xuICAgICAgICBlbmREZWxpbSA9IHR0LmJyYWNlQmFyUjtcbiAgICAgICAgZXhhY3QgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5leHBlY3QodHQuYnJhY2VMKTtcbiAgICAgICAgZW5kRGVsaW0gPSB0dC5icmFjZVI7XG4gICAgICAgIGV4YWN0ID0gZmFsc2U7XG4gICAgICB9XG5cbiAgICAgIG5vZGVTdGFydC5leGFjdCA9IGV4YWN0O1xuXG4gICAgICB3aGlsZSAoIXRoaXMubWF0Y2goZW5kRGVsaW0pKSB7XG4gICAgICAgIGxldCBpc1N0YXRpYyA9IGZhbHNlO1xuICAgICAgICBsZXQgcHJvdG9TdGFydExvYzogUG9zaXRpb24gfCB1bmRlZmluZWQgfCBudWxsID0gbnVsbDtcbiAgICAgICAgbGV0IGluZXhhY3RTdGFydExvYzogUG9zaXRpb24gfCB1bmRlZmluZWQgfCBudWxsID0gbnVsbDtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlKCk7XG5cbiAgICAgICAgaWYgKGFsbG93UHJvdG8gJiYgdGhpcy5pc0NvbnRleHR1YWwodHQuX3Byb3RvKSkge1xuICAgICAgICAgIGNvbnN0IGxvb2thaGVhZCA9IHRoaXMubG9va2FoZWFkKCk7XG5cbiAgICAgICAgICBpZiAobG9va2FoZWFkLnR5cGUgIT09IHR0LmNvbG9uICYmIGxvb2thaGVhZC50eXBlICE9PSB0dC5xdWVzdGlvbikge1xuICAgICAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgICAgICBwcm90b1N0YXJ0TG9jID0gdGhpcy5zdGF0ZS5zdGFydExvYztcbiAgICAgICAgICAgIGFsbG93U3RhdGljID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGFsbG93U3RhdGljICYmIHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9zdGF0aWMpKSB7XG4gICAgICAgICAgY29uc3QgbG9va2FoZWFkID0gdGhpcy5sb29rYWhlYWQoKTtcblxuICAgICAgICAgIC8vIHN0YXRpYyBpcyBhIHZhbGlkIGlkZW50aWZpZXIgbmFtZVxuICAgICAgICAgIGlmIChsb29rYWhlYWQudHlwZSAhPT0gdHQuY29sb24gJiYgbG9va2FoZWFkLnR5cGUgIT09IHR0LnF1ZXN0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLm5leHQoKTtcbiAgICAgICAgICAgIGlzU3RhdGljID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YXJpYW5jZSA9IHRoaXMuZmxvd1BhcnNlVmFyaWFuY2UoKTtcblxuICAgICAgICBpZiAodGhpcy5lYXQodHQuYnJhY2tldEwpKSB7XG4gICAgICAgICAgaWYgKHByb3RvU3RhcnRMb2MgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy51bmV4cGVjdGVkKHByb3RvU3RhcnRMb2MpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodGhpcy5lYXQodHQuYnJhY2tldEwpKSB7XG4gICAgICAgICAgICBpZiAodmFyaWFuY2UpIHtcbiAgICAgICAgICAgICAgdGhpcy51bmV4cGVjdGVkKHZhcmlhbmNlLmxvYy5zdGFydCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub2RlU3RhcnQuaW50ZXJuYWxTbG90cy5wdXNoKFxuICAgICAgICAgICAgICB0aGlzLmZsb3dQYXJzZU9iamVjdFR5cGVJbnRlcm5hbFNsb3Qobm9kZSwgaXNTdGF0aWMpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbm9kZVN0YXJ0LmluZGV4ZXJzLnB1c2goXG4gICAgICAgICAgICAgIHRoaXMuZmxvd1BhcnNlT2JqZWN0VHlwZUluZGV4ZXIobm9kZSwgaXNTdGF0aWMsIHZhcmlhbmNlKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMubWF0Y2godHQucGFyZW5MKSB8fCB0aGlzLm1hdGNoKHR0Lmx0KSkge1xuICAgICAgICAgIGlmIChwcm90b1N0YXJ0TG9jICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMudW5leHBlY3RlZChwcm90b1N0YXJ0TG9jKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHZhcmlhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLnVuZXhwZWN0ZWQodmFyaWFuY2UubG9jLnN0YXJ0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbm9kZVN0YXJ0LmNhbGxQcm9wZXJ0aWVzLnB1c2goXG4gICAgICAgICAgICB0aGlzLmZsb3dQYXJzZU9iamVjdFR5cGVDYWxsUHJvcGVydHkobm9kZSwgaXNTdGF0aWMpLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGV0IGtpbmQgPSBcImluaXRcIjtcblxuICAgICAgICAgIGlmICh0aGlzLmlzQ29udGV4dHVhbCh0dC5fZ2V0KSB8fCB0aGlzLmlzQ29udGV4dHVhbCh0dC5fc2V0KSkge1xuICAgICAgICAgICAgY29uc3QgbG9va2FoZWFkID0gdGhpcy5sb29rYWhlYWQoKTtcbiAgICAgICAgICAgIGlmICh0b2tlbklzTGl0ZXJhbFByb3BlcnR5TmFtZShsb29rYWhlYWQudHlwZSkpIHtcbiAgICAgICAgICAgICAga2luZCA9IHRoaXMuc3RhdGUudmFsdWU7XG4gICAgICAgICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHByb3BPckluZXhhY3QgPSB0aGlzLmZsb3dQYXJzZU9iamVjdFR5cGVQcm9wZXJ0eShcbiAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICBpc1N0YXRpYyxcbiAgICAgICAgICAgIHByb3RvU3RhcnRMb2MsXG4gICAgICAgICAgICB2YXJpYW5jZSxcbiAgICAgICAgICAgIGtpbmQsXG4gICAgICAgICAgICBhbGxvd1NwcmVhZCxcbiAgICAgICAgICAgIGFsbG93SW5leGFjdCA/PyAhZXhhY3QsXG4gICAgICAgICAgKTtcblxuICAgICAgICAgIGlmIChwcm9wT3JJbmV4YWN0ID09PSBudWxsKSB7XG4gICAgICAgICAgICBpbmV4YWN0ID0gdHJ1ZTtcbiAgICAgICAgICAgIGluZXhhY3RTdGFydExvYyA9IHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBub2RlU3RhcnQucHJvcGVydGllcy5wdXNoKHByb3BPckluZXhhY3QpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZmxvd09iamVjdFR5cGVTZW1pY29sb24oKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgaW5leGFjdFN0YXJ0TG9jICYmXG4gICAgICAgICAgIXRoaXMubWF0Y2godHQuYnJhY2VSKSAmJlxuICAgICAgICAgICF0aGlzLm1hdGNoKHR0LmJyYWNlQmFyUilcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICAgIEZsb3dFcnJvcnMuVW5leHBlY3RlZEV4cGxpY2l0SW5leGFjdEluT2JqZWN0LFxuICAgICAgICAgICAgaW5leGFjdFN0YXJ0TG9jLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5leHBlY3QoZW5kRGVsaW0pO1xuXG4gICAgICAvKiBUaGUgaW5leGFjdCBmbGFnIHNob3VsZCBvbmx5IGJlIGFkZGVkIG9uIE9iamVjdFR5cGVBbm5vdGF0aW9ucyB0aGF0XG4gICAgICAgKiBhcmUgbm90IHRoZSBib2R5IG9mIGFuIGludGVyZmFjZSwgZGVjbGFyZSBpbnRlcmZhY2UsIG9yIGRlY2xhcmUgY2xhc3MuXG4gICAgICAgKiBTaW5jZSBzcHJlYWRzIGFyZSBvbmx5IGFsbG93ZWQgaW4gb2JqZWN0IHR5cGVzLCBjaGVja2luZyB0aGF0IGlzXG4gICAgICAgKiBzdWZmaWNpZW50IGhlcmUuXG4gICAgICAgKi9cbiAgICAgIGlmIChhbGxvd1NwcmVhZCkge1xuICAgICAgICBub2RlU3RhcnQuaW5leGFjdCA9IGluZXhhY3Q7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG91dCA9IHRoaXMuZmluaXNoTm9kZShub2RlU3RhcnQsIFwiT2JqZWN0VHlwZUFubm90YXRpb25cIik7XG5cbiAgICAgIHRoaXMuc3RhdGUuaW5UeXBlID0gb2xkSW5UeXBlO1xuXG4gICAgICByZXR1cm4gb3V0O1xuICAgIH1cblxuICAgIGZsb3dQYXJzZU9iamVjdFR5cGVQcm9wZXJ0eShcbiAgICAgIG5vZGU6IFVuZG9uZTxOLkZsb3dPYmplY3RUeXBlUHJvcGVydHkgfCBOLkZsb3dPYmplY3RUeXBlU3ByZWFkUHJvcGVydHk+LFxuICAgICAgaXNTdGF0aWM6IGJvb2xlYW4sXG4gICAgICBwcm90b1N0YXJ0TG9jOiBQb3NpdGlvbiB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICAgICB2YXJpYW5jZTogTi5GbG93VmFyaWFuY2UgfCB1bmRlZmluZWQgfCBudWxsLFxuICAgICAga2luZDogc3RyaW5nLFxuICAgICAgYWxsb3dTcHJlYWQ6IGJvb2xlYW4sXG4gICAgICBhbGxvd0luZXhhY3Q6IGJvb2xlYW4sXG4gICAgKTogTi5GbG93T2JqZWN0VHlwZVByb3BlcnR5IHwgTi5GbG93T2JqZWN0VHlwZVNwcmVhZFByb3BlcnR5IHwgbnVsbCB7XG4gICAgICBpZiAodGhpcy5lYXQodHQuZWxsaXBzaXMpKSB7XG4gICAgICAgIGNvbnN0IGlzSW5leGFjdFRva2VuID1cbiAgICAgICAgICB0aGlzLm1hdGNoKHR0LmNvbW1hKSB8fFxuICAgICAgICAgIHRoaXMubWF0Y2godHQuc2VtaSkgfHxcbiAgICAgICAgICB0aGlzLm1hdGNoKHR0LmJyYWNlUikgfHxcbiAgICAgICAgICB0aGlzLm1hdGNoKHR0LmJyYWNlQmFyUik7XG5cbiAgICAgICAgaWYgKGlzSW5leGFjdFRva2VuKSB7XG4gICAgICAgICAgaWYgKCFhbGxvd1NwcmVhZCkge1xuICAgICAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICAgICAgRmxvd0Vycm9ycy5JbmV4YWN0SW5zaWRlTm9uT2JqZWN0LFxuICAgICAgICAgICAgICB0aGlzLnN0YXRlLmxhc3RUb2tTdGFydExvYyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIGlmICghYWxsb3dJbmV4YWN0KSB7XG4gICAgICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgICAgICBGbG93RXJyb3JzLkluZXhhY3RJbnNpZGVFeGFjdCxcbiAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5sYXN0VG9rU3RhcnRMb2MsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodmFyaWFuY2UpIHtcbiAgICAgICAgICAgIHRoaXMucmFpc2UoRmxvd0Vycm9ycy5JbmV4YWN0VmFyaWFuY2UsIHZhcmlhbmNlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghYWxsb3dTcHJlYWQpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgICAgRmxvd0Vycm9ycy5VbmV4cGVjdGVkU3ByZWFkVHlwZSxcbiAgICAgICAgICAgIHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByb3RvU3RhcnRMb2MgIT0gbnVsbCkge1xuICAgICAgICAgIHRoaXMudW5leHBlY3RlZChwcm90b1N0YXJ0TG9jKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFyaWFuY2UpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEZsb3dFcnJvcnMuU3ByZWFkVmFyaWFuY2UsIHZhcmlhbmNlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIG5vZGUuYXJndW1lbnQgPSB0aGlzLmZsb3dQYXJzZVR5cGUoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIk9iamVjdFR5cGVTcHJlYWRQcm9wZXJ0eVwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGUua2V5ID0gdGhpcy5mbG93UGFyc2VPYmplY3RQcm9wZXJ0eUtleSgpO1xuICAgICAgICBub2RlLnN0YXRpYyA9IGlzU3RhdGljO1xuICAgICAgICBub2RlLnByb3RvID0gcHJvdG9TdGFydExvYyAhPSBudWxsO1xuICAgICAgICBub2RlLmtpbmQgPSBraW5kO1xuXG4gICAgICAgIGxldCBvcHRpb25hbCA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5tYXRjaCh0dC5sdCkgfHwgdGhpcy5tYXRjaCh0dC5wYXJlbkwpKSB7XG4gICAgICAgICAgLy8gVGhpcyBpcyBhIG1ldGhvZCBwcm9wZXJ0eVxuICAgICAgICAgIG5vZGUubWV0aG9kID0gdHJ1ZTtcblxuICAgICAgICAgIGlmIChwcm90b1N0YXJ0TG9jICE9IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMudW5leHBlY3RlZChwcm90b1N0YXJ0TG9jKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHZhcmlhbmNlKSB7XG4gICAgICAgICAgICB0aGlzLnVuZXhwZWN0ZWQodmFyaWFuY2UubG9jLnN0YXJ0KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBub2RlLnZhbHVlID0gdGhpcy5mbG93UGFyc2VPYmplY3RUeXBlTWV0aG9kaXNoKFxuICAgICAgICAgICAgdGhpcy5zdGFydE5vZGVBdChub2RlLmxvYy5zdGFydCksXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoa2luZCA9PT0gXCJnZXRcIiB8fCBraW5kID09PSBcInNldFwiKSB7XG4gICAgICAgICAgICB0aGlzLmZsb3dDaGVja0dldHRlclNldHRlclBhcmFtcyhub2RlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLyoqIERlY2xhcmVkIGNsYXNzZXMvaW50ZXJmYWNlcyBkbyBub3QgYWxsb3cgc3ByZWFkICovXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgIWFsbG93U3ByZWFkICYmXG4gICAgICAgICAgICBub2RlLmtleS5uYW1lID09PSBcImNvbnN0cnVjdG9yXCIgJiZcbiAgICAgICAgICAgIG5vZGUudmFsdWUudGhpc1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICAgICAgRmxvd0Vycm9ycy5UaGlzUGFyYW1CYW5uZWRJbkNvbnN0cnVjdG9yLFxuICAgICAgICAgICAgICBub2RlLnZhbHVlLnRoaXMsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoa2luZCAhPT0gXCJpbml0XCIpIHRoaXMudW5leHBlY3RlZCgpO1xuXG4gICAgICAgICAgbm9kZS5tZXRob2QgPSBmYWxzZTtcblxuICAgICAgICAgIGlmICh0aGlzLmVhdCh0dC5xdWVzdGlvbikpIHtcbiAgICAgICAgICAgIG9wdGlvbmFsID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbm9kZS52YWx1ZSA9IHRoaXMuZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKCk7XG4gICAgICAgICAgbm9kZS52YXJpYW5jZSA9IHZhcmlhbmNlO1xuICAgICAgICB9XG5cbiAgICAgICAgbm9kZS5vcHRpb25hbCA9IG9wdGlvbmFsO1xuXG4gICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJPYmplY3RUeXBlUHJvcGVydHlcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVGhpcyBpcyBzaW1pbGFyIHRvIGNoZWNrR2V0dGVyU2V0dGVyUGFyYW1zLCBidXQgYXNcbiAgICAvLyBAYmFiZWwvcGFyc2VyIHVzZXMgbm9uIGVzdHJlZSBwcm9wZXJ0aWVzIHdlIGNhbm5vdCByZXVzZSBpdCBoZXJlXG4gICAgZmxvd0NoZWNrR2V0dGVyU2V0dGVyUGFyYW1zKFxuICAgICAgcHJvcGVydHk6IFVuZG9uZTxcbiAgICAgICAgTi5GbG93T2JqZWN0VHlwZVByb3BlcnR5IHwgTi5GbG93T2JqZWN0VHlwZVNwcmVhZFByb3BlcnR5XG4gICAgICA+LFxuICAgICk6IHZvaWQge1xuICAgICAgY29uc3QgcGFyYW1Db3VudCA9IHByb3BlcnR5LmtpbmQgPT09IFwiZ2V0XCIgPyAwIDogMTtcbiAgICAgIGNvbnN0IGxlbmd0aCA9XG4gICAgICAgIHByb3BlcnR5LnZhbHVlLnBhcmFtcy5sZW5ndGggKyAocHJvcGVydHkudmFsdWUucmVzdCA/IDEgOiAwKTtcblxuICAgICAgaWYgKHByb3BlcnR5LnZhbHVlLnRoaXMpIHtcbiAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICBwcm9wZXJ0eS5raW5kID09PSBcImdldFwiXG4gICAgICAgICAgICA/IEZsb3dFcnJvcnMuR2V0dGVyTWF5Tm90SGF2ZVRoaXNQYXJhbVxuICAgICAgICAgICAgOiBGbG93RXJyb3JzLlNldHRlck1heU5vdEhhdmVUaGlzUGFyYW0sXG4gICAgICAgICAgcHJvcGVydHkudmFsdWUudGhpcyxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGxlbmd0aCAhPT0gcGFyYW1Db3VudCkge1xuICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgIHByb3BlcnR5LmtpbmQgPT09IFwiZ2V0XCJcbiAgICAgICAgICAgID8gRXJyb3JzLkJhZEdldHRlckFyaXR5XG4gICAgICAgICAgICA6IEVycm9ycy5CYWRTZXR0ZXJBcml0eSxcbiAgICAgICAgICBwcm9wZXJ0eSxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHByb3BlcnR5LmtpbmQgPT09IFwic2V0XCIgJiYgcHJvcGVydHkudmFsdWUucmVzdCkge1xuICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5CYWRTZXR0ZXJSZXN0UGFyYW1ldGVyLCBwcm9wZXJ0eSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgZmxvd09iamVjdFR5cGVTZW1pY29sb24oKTogdm9pZCB7XG4gICAgICBpZiAoXG4gICAgICAgICF0aGlzLmVhdCh0dC5zZW1pKSAmJlxuICAgICAgICAhdGhpcy5lYXQodHQuY29tbWEpICYmXG4gICAgICAgICF0aGlzLm1hdGNoKHR0LmJyYWNlUikgJiZcbiAgICAgICAgIXRoaXMubWF0Y2godHQuYnJhY2VCYXJSKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMudW5leHBlY3RlZCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZsb3dQYXJzZVF1YWxpZmllZFR5cGVJZGVudGlmaWVyKFxuICAgICAgc3RhcnRMb2M/OiBQb3NpdGlvbixcbiAgICAgIGlkPzogTi5JZGVudGlmaWVyLFxuICAgICk6IE4uRmxvd1F1YWxpZmllZFR5cGVJZGVudGlmaWVyIHwgTi5JZGVudGlmaWVyIHtcbiAgICAgIHN0YXJ0TG9jID8/PSB0aGlzLnN0YXRlLnN0YXJ0TG9jO1xuICAgICAgbGV0IG5vZGU6IE4uSWRlbnRpZmllciB8IE4uRmxvd1F1YWxpZmllZFR5cGVJZGVudGlmaWVyID1cbiAgICAgICAgaWQgfHwgdGhpcy5mbG93UGFyc2VSZXN0cmljdGVkSWRlbnRpZmllcih0cnVlKTtcblxuICAgICAgd2hpbGUgKHRoaXMuZWF0KHR0LmRvdCkpIHtcbiAgICAgICAgY29uc3Qgbm9kZTIgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uRmxvd1F1YWxpZmllZFR5cGVJZGVudGlmaWVyPihzdGFydExvYyk7XG4gICAgICAgIG5vZGUyLnF1YWxpZmljYXRpb24gPSBub2RlO1xuICAgICAgICBub2RlMi5pZCA9IHRoaXMuZmxvd1BhcnNlUmVzdHJpY3RlZElkZW50aWZpZXIodHJ1ZSk7XG4gICAgICAgIG5vZGUgPSB0aGlzLmZpbmlzaE5vZGUobm9kZTIsIFwiUXVhbGlmaWVkVHlwZUlkZW50aWZpZXJcIik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBub2RlO1xuICAgIH1cblxuICAgIGZsb3dQYXJzZUdlbmVyaWNUeXBlKFxuICAgICAgc3RhcnRMb2M6IFBvc2l0aW9uLFxuICAgICAgaWQ6IE4uSWRlbnRpZmllcixcbiAgICApOiBOLkZsb3dHZW5lcmljVHlwZUFubm90YXRpb24ge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlQXQ8Ti5GbG93R2VuZXJpY1R5cGVBbm5vdGF0aW9uPihzdGFydExvYyk7XG5cbiAgICAgIG5vZGUudHlwZVBhcmFtZXRlcnMgPSBudWxsO1xuICAgICAgbm9kZS5pZCA9IHRoaXMuZmxvd1BhcnNlUXVhbGlmaWVkVHlwZUlkZW50aWZpZXIoc3RhcnRMb2MsIGlkKTtcblxuICAgICAgaWYgKHRoaXMubWF0Y2godHQubHQpKSB7XG4gICAgICAgIG5vZGUudHlwZVBhcmFtZXRlcnMgPSB0aGlzLmZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJHZW5lcmljVHlwZUFubm90YXRpb25cIik7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlVHlwZW9mVHlwZSgpOiBOLkZsb3dUeXBlb2ZUeXBlQW5ub3RhdGlvbiB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5GbG93VHlwZW9mVHlwZUFubm90YXRpb24+KCk7XG4gICAgICB0aGlzLmV4cGVjdCh0dC5fdHlwZW9mKTtcbiAgICAgIG5vZGUuYXJndW1lbnQgPSB0aGlzLmZsb3dQYXJzZVByaW1hcnlUeXBlKCk7XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVHlwZW9mVHlwZUFubm90YXRpb25cIik7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlVHVwbGVUeXBlKCk6IE4uRmxvd1R1cGxlVHlwZUFubm90YXRpb24ge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uRmxvd1R1cGxlVHlwZUFubm90YXRpb24+KCk7XG4gICAgICBub2RlLnR5cGVzID0gW107XG4gICAgICB0aGlzLmV4cGVjdCh0dC5icmFja2V0TCk7XG4gICAgICAvLyBXZSBhbGxvdyB0cmFpbGluZyBjb21tYXNcbiAgICAgIHdoaWxlICh0aGlzLnN0YXRlLnBvcyA8IHRoaXMubGVuZ3RoICYmICF0aGlzLm1hdGNoKHR0LmJyYWNrZXRSKSkge1xuICAgICAgICBub2RlLnR5cGVzLnB1c2godGhpcy5mbG93UGFyc2VUeXBlKCkpO1xuICAgICAgICBpZiAodGhpcy5tYXRjaCh0dC5icmFja2V0UikpIGJyZWFrO1xuICAgICAgICB0aGlzLmV4cGVjdCh0dC5jb21tYSk7XG4gICAgICB9XG4gICAgICB0aGlzLmV4cGVjdCh0dC5icmFja2V0Uik7XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVHVwbGVUeXBlQW5ub3RhdGlvblwiKTtcbiAgICB9XG5cbiAgICBmbG93UGFyc2VGdW5jdGlvblR5cGVQYXJhbShmaXJzdDogYm9vbGVhbik6IE4uRmxvd0Z1bmN0aW9uVHlwZVBhcmFtIHtcbiAgICAgIGxldCBuYW1lID0gbnVsbDtcbiAgICAgIGxldCBvcHRpb25hbCA9IGZhbHNlO1xuICAgICAgbGV0IHR5cGVBbm5vdGF0aW9uID0gbnVsbDtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLkZsb3dGdW5jdGlvblR5cGVQYXJhbT4oKTtcbiAgICAgIGNvbnN0IGxoID0gdGhpcy5sb29rYWhlYWQoKTtcbiAgICAgIGNvbnN0IGlzVGhpcyA9IHRoaXMuc3RhdGUudHlwZSA9PT0gdHQuX3RoaXM7XG5cbiAgICAgIGlmIChsaC50eXBlID09PSB0dC5jb2xvbiB8fCBsaC50eXBlID09PSB0dC5xdWVzdGlvbikge1xuICAgICAgICBpZiAoaXNUaGlzICYmICFmaXJzdCkge1xuICAgICAgICAgIHRoaXMucmFpc2UoRmxvd0Vycm9ycy5UaGlzUGFyYW1NdXN0QmVGaXJzdCwgbm9kZSk7XG4gICAgICAgIH1cbiAgICAgICAgbmFtZSA9IHRoaXMucGFyc2VJZGVudGlmaWVyKGlzVGhpcyk7XG4gICAgICAgIGlmICh0aGlzLmVhdCh0dC5xdWVzdGlvbikpIHtcbiAgICAgICAgICBvcHRpb25hbCA9IHRydWU7XG4gICAgICAgICAgaWYgKGlzVGhpcykge1xuICAgICAgICAgICAgdGhpcy5yYWlzZShGbG93RXJyb3JzLlRoaXNQYXJhbU1heU5vdEJlT3B0aW9uYWwsIG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IHRoaXMuZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0eXBlQW5ub3RhdGlvbiA9IHRoaXMuZmxvd1BhcnNlVHlwZSgpO1xuICAgICAgfVxuICAgICAgbm9kZS5uYW1lID0gbmFtZTtcbiAgICAgIG5vZGUub3B0aW9uYWwgPSBvcHRpb25hbDtcbiAgICAgIG5vZGUudHlwZUFubm90YXRpb24gPSB0eXBlQW5ub3RhdGlvbjtcbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJGdW5jdGlvblR5cGVQYXJhbVwiKTtcbiAgICB9XG5cbiAgICByZWludGVycHJldFR5cGVBc0Z1bmN0aW9uVHlwZVBhcmFtKFxuICAgICAgdHlwZTogTi5GbG93VHlwZSxcbiAgICApOiBOLkZsb3dGdW5jdGlvblR5cGVQYXJhbSB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGVBdDxOLkZsb3dGdW5jdGlvblR5cGVQYXJhbT4odHlwZS5sb2Muc3RhcnQpO1xuICAgICAgbm9kZS5uYW1lID0gbnVsbDtcbiAgICAgIG5vZGUub3B0aW9uYWwgPSBmYWxzZTtcbiAgICAgIG5vZGUudHlwZUFubm90YXRpb24gPSB0eXBlO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkZ1bmN0aW9uVHlwZVBhcmFtXCIpO1xuICAgIH1cblxuICAgIGZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtcyhwYXJhbXM6IE4uRmxvd0Z1bmN0aW9uVHlwZVBhcmFtW10gPSBbXSk6IHtcbiAgICAgIHBhcmFtczogTi5GbG93RnVuY3Rpb25UeXBlUGFyYW1bXTtcbiAgICAgIHJlc3Q6IE4uRmxvd0Z1bmN0aW9uVHlwZVBhcmFtIHwgdW5kZWZpbmVkIHwgbnVsbDtcbiAgICAgIF90aGlzOiBOLkZsb3dGdW5jdGlvblR5cGVQYXJhbSB8IHVuZGVmaW5lZCB8IG51bGw7XG4gICAgfSB7XG4gICAgICBsZXQgcmVzdDogTi5GbG93RnVuY3Rpb25UeXBlUGFyYW0gfCB1bmRlZmluZWQgfCBudWxsID0gbnVsbDtcbiAgICAgIGxldCBfdGhpczogTi5GbG93RnVuY3Rpb25UeXBlUGFyYW0gfCB1bmRlZmluZWQgfCBudWxsID0gbnVsbDtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0Ll90aGlzKSkge1xuICAgICAgICBfdGhpcyA9IHRoaXMuZmxvd1BhcnNlRnVuY3Rpb25UeXBlUGFyYW0oLyogZmlyc3QgKi8gdHJ1ZSk7XG4gICAgICAgIC8vIG1hdGNoIEZsb3cgcGFyc2VyIGJlaGF2aW9yXG4gICAgICAgIF90aGlzLm5hbWUgPSBudWxsO1xuICAgICAgICBpZiAoIXRoaXMubWF0Y2godHQucGFyZW5SKSkge1xuICAgICAgICAgIHRoaXMuZXhwZWN0KHR0LmNvbW1hKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgd2hpbGUgKCF0aGlzLm1hdGNoKHR0LnBhcmVuUikgJiYgIXRoaXMubWF0Y2godHQuZWxsaXBzaXMpKSB7XG4gICAgICAgIHBhcmFtcy5wdXNoKHRoaXMuZmxvd1BhcnNlRnVuY3Rpb25UeXBlUGFyYW0oZmFsc2UpKTtcbiAgICAgICAgaWYgKCF0aGlzLm1hdGNoKHR0LnBhcmVuUikpIHtcbiAgICAgICAgICB0aGlzLmV4cGVjdCh0dC5jb21tYSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmVhdCh0dC5lbGxpcHNpcykpIHtcbiAgICAgICAgcmVzdCA9IHRoaXMuZmxvd1BhcnNlRnVuY3Rpb25UeXBlUGFyYW0oZmFsc2UpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHsgcGFyYW1zLCByZXN0LCBfdGhpcyB9O1xuICAgIH1cblxuICAgIGZsb3dJZGVudFRvVHlwZUFubm90YXRpb24oXG4gICAgICBzdGFydExvYzogUG9zaXRpb24sXG4gICAgICBub2RlOiBVbmRvbmU8Ti5GbG93VHlwZT4sXG4gICAgICBpZDogTi5JZGVudGlmaWVyLFxuICAgICk6IE4uRmxvd1R5cGUge1xuICAgICAgc3dpdGNoIChpZC5uYW1lKSB7XG4gICAgICAgIGNhc2UgXCJhbnlcIjpcbiAgICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiQW55VHlwZUFubm90YXRpb25cIik7XG5cbiAgICAgICAgY2FzZSBcImJvb2xcIjpcbiAgICAgICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiQm9vbGVhblR5cGVBbm5vdGF0aW9uXCIpO1xuXG4gICAgICAgIGNhc2UgXCJtaXhlZFwiOlxuICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJNaXhlZFR5cGVBbm5vdGF0aW9uXCIpO1xuXG4gICAgICAgIGNhc2UgXCJlbXB0eVwiOlxuICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJFbXB0eVR5cGVBbm5vdGF0aW9uXCIpO1xuXG4gICAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiTnVtYmVyVHlwZUFubm90YXRpb25cIik7XG5cbiAgICAgICAgY2FzZSBcInN0cmluZ1wiOlxuICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJTdHJpbmdUeXBlQW5ub3RhdGlvblwiKTtcblxuICAgICAgICBjYXNlIFwic3ltYm9sXCI6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlN5bWJvbFR5cGVBbm5vdGF0aW9uXCIpO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhpcy5jaGVja05vdFVuZGVyc2NvcmUoaWQubmFtZSk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmxvd1BhcnNlR2VuZXJpY1R5cGUoc3RhcnRMb2MsIGlkKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGUgcGFyc2luZyBvZiB0eXBlcyByb3VnaGx5IHBhcmFsbGVscyB0aGUgcGFyc2luZyBvZiBleHByZXNzaW9ucywgYW5kXG4gICAgLy8gcHJpbWFyeSB0eXBlcyBhcmUga2luZCBvZiBsaWtlIHByaW1hcnkgZXhwcmVzc2lvbnMuLi50aGV5J3JlIHRoZVxuICAgIC8vIHByaW1pdGl2ZXMgd2l0aCB3aGljaCBvdGhlciB0eXBlcyBhcmUgY29uc3RydWN0ZWQuXG4gICAgZmxvd1BhcnNlUHJpbWFyeVR5cGUoKTogTi5GbG93VHlwZSB7XG4gICAgICBjb25zdCBzdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5GbG93T3RoZXJUeXBlQW5ub3RhdGlvbj4oKTtcbiAgICAgIGxldCB0bXA7XG4gICAgICBsZXQgdHlwZTtcbiAgICAgIGxldCBpc0dyb3VwZWRUeXBlID0gZmFsc2U7XG4gICAgICBjb25zdCBvbGROb0Fub25GdW5jdGlvblR5cGUgPSB0aGlzLnN0YXRlLm5vQW5vbkZ1bmN0aW9uVHlwZTtcblxuICAgICAgc3dpdGNoICh0aGlzLnN0YXRlLnR5cGUpIHtcbiAgICAgICAgY2FzZSB0dC5icmFjZUw6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmxvd1BhcnNlT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICBhbGxvd1N0YXRpYzogZmFsc2UsXG4gICAgICAgICAgICBhbGxvd0V4YWN0OiBmYWxzZSxcbiAgICAgICAgICAgIGFsbG93U3ByZWFkOiB0cnVlLFxuICAgICAgICAgICAgYWxsb3dQcm90bzogZmFsc2UsXG4gICAgICAgICAgICBhbGxvd0luZXhhY3Q6IHRydWUsXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgY2FzZSB0dC5icmFjZUJhckw6XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmxvd1BhcnNlT2JqZWN0VHlwZSh7XG4gICAgICAgICAgICBhbGxvd1N0YXRpYzogZmFsc2UsXG4gICAgICAgICAgICBhbGxvd0V4YWN0OiB0cnVlLFxuICAgICAgICAgICAgYWxsb3dTcHJlYWQ6IHRydWUsXG4gICAgICAgICAgICBhbGxvd1Byb3RvOiBmYWxzZSxcbiAgICAgICAgICAgIGFsbG93SW5leGFjdDogZmFsc2UsXG4gICAgICAgICAgfSk7XG5cbiAgICAgICAgY2FzZSB0dC5icmFja2V0TDpcbiAgICAgICAgICB0aGlzLnN0YXRlLm5vQW5vbkZ1bmN0aW9uVHlwZSA9IGZhbHNlO1xuICAgICAgICAgIHR5cGUgPSB0aGlzLmZsb3dQYXJzZVR1cGxlVHlwZSgpO1xuICAgICAgICAgIHRoaXMuc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlID0gb2xkTm9Bbm9uRnVuY3Rpb25UeXBlO1xuICAgICAgICAgIHJldHVybiB0eXBlO1xuXG4gICAgICAgIGNhc2UgdHQubHQ6IHtcbiAgICAgICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5GbG93RnVuY3Rpb25UeXBlQW5ub3RhdGlvbj4oKTtcbiAgICAgICAgICBub2RlLnR5cGVQYXJhbWV0ZXJzID0gdGhpcy5mbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTtcbiAgICAgICAgICB0aGlzLmV4cGVjdCh0dC5wYXJlbkwpO1xuICAgICAgICAgIHRtcCA9IHRoaXMuZmxvd1BhcnNlRnVuY3Rpb25UeXBlUGFyYW1zKCk7XG4gICAgICAgICAgbm9kZS5wYXJhbXMgPSB0bXAucGFyYW1zO1xuICAgICAgICAgIG5vZGUucmVzdCA9IHRtcC5yZXN0O1xuICAgICAgICAgIG5vZGUudGhpcyA9IHRtcC5fdGhpcztcbiAgICAgICAgICB0aGlzLmV4cGVjdCh0dC5wYXJlblIpO1xuXG4gICAgICAgICAgdGhpcy5leHBlY3QodHQuYXJyb3cpO1xuXG4gICAgICAgICAgbm9kZS5yZXR1cm5UeXBlID0gdGhpcy5mbG93UGFyc2VUeXBlKCk7XG5cbiAgICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiRnVuY3Rpb25UeXBlQW5ub3RhdGlvblwiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNhc2UgdHQucGFyZW5MOiB7XG4gICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uRmxvd0Z1bmN0aW9uVHlwZUFubm90YXRpb24+KCk7XG4gICAgICAgICAgdGhpcy5uZXh0KCk7XG5cbiAgICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYgdGhpcyBpcyBhY3R1YWxseSBhIGdyb3VwZWQgdHlwZVxuICAgICAgICAgIGlmICghdGhpcy5tYXRjaCh0dC5wYXJlblIpICYmICF0aGlzLm1hdGNoKHR0LmVsbGlwc2lzKSkge1xuICAgICAgICAgICAgaWYgKHRva2VuSXNJZGVudGlmaWVyKHRoaXMuc3RhdGUudHlwZSkgfHwgdGhpcy5tYXRjaCh0dC5fdGhpcykpIHtcbiAgICAgICAgICAgICAgY29uc3QgdG9rZW4gPSB0aGlzLmxvb2thaGVhZCgpLnR5cGU7XG4gICAgICAgICAgICAgIGlzR3JvdXBlZFR5cGUgPSB0b2tlbiAhPT0gdHQucXVlc3Rpb24gJiYgdG9rZW4gIT09IHR0LmNvbG9uO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaXNHcm91cGVkVHlwZSA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKGlzR3JvdXBlZFR5cGUpIHtcbiAgICAgICAgICAgIHRoaXMuc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlID0gZmFsc2U7XG4gICAgICAgICAgICB0eXBlID0gdGhpcy5mbG93UGFyc2VUeXBlKCk7XG4gICAgICAgICAgICB0aGlzLnN0YXRlLm5vQW5vbkZ1bmN0aW9uVHlwZSA9IG9sZE5vQW5vbkZ1bmN0aW9uVHlwZTtcblxuICAgICAgICAgICAgLy8gQSBgLGAgb3IgYSBgKSA9PmAgbWVhbnMgdGhpcyBpcyBhbiBhbm9ueW1vdXMgZnVuY3Rpb24gdHlwZVxuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICB0aGlzLnN0YXRlLm5vQW5vbkZ1bmN0aW9uVHlwZSB8fFxuICAgICAgICAgICAgICAhKFxuICAgICAgICAgICAgICAgIHRoaXMubWF0Y2godHQuY29tbWEpIHx8XG4gICAgICAgICAgICAgICAgKHRoaXMubWF0Y2godHQucGFyZW5SKSAmJiB0aGlzLmxvb2thaGVhZCgpLnR5cGUgPT09IHR0LmFycm93KVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhpcy5leHBlY3QodHQucGFyZW5SKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBFYXQgYSBjb21tYSBpZiB0aGVyZSBpcyBvbmVcbiAgICAgICAgICAgICAgdGhpcy5lYXQodHQuY29tbWEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICh0eXBlKSB7XG4gICAgICAgICAgICB0bXAgPSB0aGlzLmZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtcyhbXG4gICAgICAgICAgICAgIHRoaXMucmVpbnRlcnByZXRUeXBlQXNGdW5jdGlvblR5cGVQYXJhbSh0eXBlKSxcbiAgICAgICAgICAgIF0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0bXAgPSB0aGlzLmZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtcygpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG5vZGUucGFyYW1zID0gdG1wLnBhcmFtcztcbiAgICAgICAgICBub2RlLnJlc3QgPSB0bXAucmVzdDtcbiAgICAgICAgICBub2RlLnRoaXMgPSB0bXAuX3RoaXM7XG5cbiAgICAgICAgICB0aGlzLmV4cGVjdCh0dC5wYXJlblIpO1xuXG4gICAgICAgICAgdGhpcy5leHBlY3QodHQuYXJyb3cpO1xuXG4gICAgICAgICAgbm9kZS5yZXR1cm5UeXBlID0gdGhpcy5mbG93UGFyc2VUeXBlKCk7XG5cbiAgICAgICAgICBub2RlLnR5cGVQYXJhbWV0ZXJzID0gbnVsbDtcblxuICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJGdW5jdGlvblR5cGVBbm5vdGF0aW9uXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgY2FzZSB0dC5zdHJpbmc6XG4gICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VMaXRlcmFsPE4uU3RyaW5nTGl0ZXJhbFR5cGVBbm5vdGF0aW9uPihcbiAgICAgICAgICAgIHRoaXMuc3RhdGUudmFsdWUsXG4gICAgICAgICAgICBcIlN0cmluZ0xpdGVyYWxUeXBlQW5ub3RhdGlvblwiLFxuICAgICAgICAgICk7XG5cbiAgICAgICAgY2FzZSB0dC5fdHJ1ZTpcbiAgICAgICAgY2FzZSB0dC5fZmFsc2U6XG4gICAgICAgICAgbm9kZS52YWx1ZSA9IHRoaXMubWF0Y2godHQuX3RydWUpO1xuICAgICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUoXG4gICAgICAgICAgICBub2RlIGFzIFVuZG9uZTxOLkJvb2xlYW5MaXRlcmFsVHlwZUFubm90YXRpb24+LFxuICAgICAgICAgICAgXCJCb29sZWFuTGl0ZXJhbFR5cGVBbm5vdGF0aW9uXCIsXG4gICAgICAgICAgKTtcblxuICAgICAgICBjYXNlIHR0LnBsdXNNaW46XG4gICAgICAgICAgaWYgKHRoaXMuc3RhdGUudmFsdWUgPT09IFwiLVwiKSB7XG4gICAgICAgICAgICB0aGlzLm5leHQoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoKHR0Lm51bSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VMaXRlcmFsQXROb2RlPE4uTnVtYmVyTGl0ZXJhbFR5cGVBbm5vdGF0aW9uPihcbiAgICAgICAgICAgICAgICAtdGhpcy5zdGF0ZS52YWx1ZSxcbiAgICAgICAgICAgICAgICBcIk51bWJlckxpdGVyYWxUeXBlQW5ub3RhdGlvblwiLFxuICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmJpZ2ludCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VMaXRlcmFsQXROb2RlPE4uQmlnSW50TGl0ZXJhbFR5cGVBbm5vdGF0aW9uPihcbiAgICAgICAgICAgICAgICAtdGhpcy5zdGF0ZS52YWx1ZSxcbiAgICAgICAgICAgICAgICBcIkJpZ0ludExpdGVyYWxUeXBlQW5ub3RhdGlvblwiLFxuICAgICAgICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRocm93IHRoaXMucmFpc2UoXG4gICAgICAgICAgICAgIEZsb3dFcnJvcnMuVW5leHBlY3RlZFN1YnRyYWN0aW9uT3BlcmFuZCxcbiAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5zdGFydExvYyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMudW5leHBlY3RlZCgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgY2FzZSB0dC5udW06XG4gICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VMaXRlcmFsKFxuICAgICAgICAgICAgdGhpcy5zdGF0ZS52YWx1ZSxcbiAgICAgICAgICAgIFwiTnVtYmVyTGl0ZXJhbFR5cGVBbm5vdGF0aW9uXCIsXG4gICAgICAgICAgKTtcblxuICAgICAgICBjYXNlIHR0LmJpZ2ludDpcbiAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUxpdGVyYWwoXG4gICAgICAgICAgICB0aGlzLnN0YXRlLnZhbHVlLFxuICAgICAgICAgICAgXCJCaWdJbnRMaXRlcmFsVHlwZUFubm90YXRpb25cIixcbiAgICAgICAgICApO1xuXG4gICAgICAgIGNhc2UgdHQuX3ZvaWQ6XG4gICAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlZvaWRUeXBlQW5ub3RhdGlvblwiKTtcblxuICAgICAgICBjYXNlIHR0Ll9udWxsOlxuICAgICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJOdWxsTGl0ZXJhbFR5cGVBbm5vdGF0aW9uXCIpO1xuXG4gICAgICAgIGNhc2UgdHQuX3RoaXM6XG4gICAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRoaXNUeXBlQW5ub3RhdGlvblwiKTtcblxuICAgICAgICBjYXNlIHR0LnN0YXI6XG4gICAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkV4aXN0c1R5cGVBbm5vdGF0aW9uXCIpO1xuXG4gICAgICAgIGNhc2UgdHQuX3R5cGVvZjpcbiAgICAgICAgICByZXR1cm4gdGhpcy5mbG93UGFyc2VUeXBlb2ZUeXBlKCk7XG5cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBpZiAodG9rZW5Jc0tleXdvcmQodGhpcy5zdGF0ZS50eXBlKSkge1xuICAgICAgICAgICAgY29uc3QgbGFiZWwgPSB0b2tlbkxhYmVsTmFtZSh0aGlzLnN0YXRlLnR5cGUpO1xuICAgICAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgICAgICByZXR1cm4gc3VwZXIuY3JlYXRlSWRlbnRpZmllcihub2RlIGFzIFVuZG9uZTxOLklkZW50aWZpZXI+LCBsYWJlbCk7XG4gICAgICAgICAgfSBlbHNlIGlmICh0b2tlbklzSWRlbnRpZmllcih0aGlzLnN0YXRlLnR5cGUpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0NvbnRleHR1YWwodHQuX2ludGVyZmFjZSkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmxvd1BhcnNlSW50ZXJmYWNlVHlwZSgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5mbG93SWRlbnRUb1R5cGVBbm5vdGF0aW9uKFxuICAgICAgICAgICAgICBzdGFydExvYyxcbiAgICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICAgdGhpcy5wYXJzZUlkZW50aWZpZXIoKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLnVuZXhwZWN0ZWQoKTtcbiAgICB9XG5cbiAgICBmbG93UGFyc2VQb3N0Zml4VHlwZSgpOiBOLkZsb3dUeXBlIHtcbiAgICAgIGNvbnN0IHN0YXJ0TG9jID0gdGhpcy5zdGF0ZS5zdGFydExvYztcbiAgICAgIGxldCB0eXBlID0gdGhpcy5mbG93UGFyc2VQcmltYXJ5VHlwZSgpO1xuICAgICAgbGV0IHNlZW5PcHRpb25hbEluZGV4ZWRBY2Nlc3MgPSBmYWxzZTtcbiAgICAgIHdoaWxlIChcbiAgICAgICAgKHRoaXMubWF0Y2godHQuYnJhY2tldEwpIHx8IHRoaXMubWF0Y2godHQucXVlc3Rpb25Eb3QpKSAmJlxuICAgICAgICAhdGhpcy5jYW5JbnNlcnRTZW1pY29sb24oKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uRmxvd090aGVyVHlwZUFubm90YXRpb24+KHN0YXJ0TG9jKTtcbiAgICAgICAgY29uc3Qgb3B0aW9uYWwgPSB0aGlzLmVhdCh0dC5xdWVzdGlvbkRvdCk7XG4gICAgICAgIHNlZW5PcHRpb25hbEluZGV4ZWRBY2Nlc3MgPSBzZWVuT3B0aW9uYWxJbmRleGVkQWNjZXNzIHx8IG9wdGlvbmFsO1xuICAgICAgICB0aGlzLmV4cGVjdCh0dC5icmFja2V0TCk7XG4gICAgICAgIGlmICghb3B0aW9uYWwgJiYgdGhpcy5tYXRjaCh0dC5icmFja2V0UikpIHtcbiAgICAgICAgICBub2RlLmVsZW1lbnRUeXBlID0gdHlwZTtcbiAgICAgICAgICB0aGlzLm5leHQoKTsgLy8gZWF0IGBdYFxuICAgICAgICAgIHR5cGUgPSB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJBcnJheVR5cGVBbm5vdGF0aW9uXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vZGUub2JqZWN0VHlwZSA9IHR5cGU7XG4gICAgICAgICAgbm9kZS5pbmRleFR5cGUgPSB0aGlzLmZsb3dQYXJzZVR5cGUoKTtcbiAgICAgICAgICB0aGlzLmV4cGVjdCh0dC5icmFja2V0Uik7XG4gICAgICAgICAgaWYgKHNlZW5PcHRpb25hbEluZGV4ZWRBY2Nlc3MpIHtcbiAgICAgICAgICAgIG5vZGUub3B0aW9uYWwgPSBvcHRpb25hbDtcbiAgICAgICAgICAgIHR5cGUgPSB0aGlzLmZpbmlzaE5vZGU8Ti5GbG93T3B0aW9uYWxJbmRleGVkQWNjZXNzVHlwZT4oXG4gICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdG9kbyhmbG93LT50cylcbiAgICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgICAgXCJPcHRpb25hbEluZGV4ZWRBY2Nlc3NUeXBlXCIsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0eXBlID0gdGhpcy5maW5pc2hOb2RlPE4uRmxvd0luZGV4ZWRBY2Nlc3NUeXBlPihcbiAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciB0b2RvKGZsb3ctPnRzKVxuICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgICBcIkluZGV4ZWRBY2Nlc3NUeXBlXCIsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlUHJlZml4VHlwZSgpOiBOLkZsb3dUeXBlIHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLkZsb3dPdGhlclR5cGVBbm5vdGF0aW9uPigpO1xuICAgICAgaWYgKHRoaXMuZWF0KHR0LnF1ZXN0aW9uKSkge1xuICAgICAgICBub2RlLnR5cGVBbm5vdGF0aW9uID0gdGhpcy5mbG93UGFyc2VQcmVmaXhUeXBlKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJOdWxsYWJsZVR5cGVBbm5vdGF0aW9uXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmxvd1BhcnNlUG9zdGZpeFR5cGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmbG93UGFyc2VBbm9uRnVuY3Rpb25XaXRob3V0UGFyZW5zKCk6IE4uRmxvd1R5cGUge1xuICAgICAgY29uc3QgcGFyYW0gPSB0aGlzLmZsb3dQYXJzZVByZWZpeFR5cGUoKTtcbiAgICAgIGlmICghdGhpcy5zdGF0ZS5ub0Fub25GdW5jdGlvblR5cGUgJiYgdGhpcy5lYXQodHQuYXJyb3cpKSB7XG4gICAgICAgIC8vIFRPRE86IFRoaXMgc2hvdWxkIGJlIGEgdHlwZSBlcnJvci4gUGFzc2luZyBpbiBhIFNvdXJjZUxvY2F0aW9uLCBhbmQgaXQgZXhwZWN0cyBhIFBvc2l0aW9uLlxuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGVBdDxOLkZsb3dGdW5jdGlvblR5cGVBbm5vdGF0aW9uPihcbiAgICAgICAgICBwYXJhbS5sb2Muc3RhcnQsXG4gICAgICAgICk7XG4gICAgICAgIG5vZGUucGFyYW1zID0gW3RoaXMucmVpbnRlcnByZXRUeXBlQXNGdW5jdGlvblR5cGVQYXJhbShwYXJhbSldO1xuICAgICAgICBub2RlLnJlc3QgPSBudWxsO1xuICAgICAgICBub2RlLnRoaXMgPSBudWxsO1xuICAgICAgICBub2RlLnJldHVyblR5cGUgPSB0aGlzLmZsb3dQYXJzZVR5cGUoKTtcbiAgICAgICAgbm9kZS50eXBlUGFyYW1ldGVycyA9IG51bGw7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJGdW5jdGlvblR5cGVBbm5vdGF0aW9uXCIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBhcmFtO1xuICAgIH1cblxuICAgIGZsb3dQYXJzZUludGVyc2VjdGlvblR5cGUoKTogTi5GbG93VHlwZSB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5GbG93T3RoZXJUeXBlQW5ub3RhdGlvbj4oKTtcbiAgICAgIHRoaXMuZWF0KHR0LmJpdHdpc2VBTkQpO1xuICAgICAgY29uc3QgdHlwZSA9IHRoaXMuZmxvd1BhcnNlQW5vbkZ1bmN0aW9uV2l0aG91dFBhcmVucygpO1xuICAgICAgbm9kZS50eXBlcyA9IFt0eXBlXTtcbiAgICAgIHdoaWxlICh0aGlzLmVhdCh0dC5iaXR3aXNlQU5EKSkge1xuICAgICAgICBub2RlLnR5cGVzLnB1c2godGhpcy5mbG93UGFyc2VBbm9uRnVuY3Rpb25XaXRob3V0UGFyZW5zKCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5vZGUudHlwZXMubGVuZ3RoID09PSAxXG4gICAgICAgID8gdHlwZVxuICAgICAgICA6IHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkludGVyc2VjdGlvblR5cGVBbm5vdGF0aW9uXCIpO1xuICAgIH1cblxuICAgIGZsb3dQYXJzZVVuaW9uVHlwZSgpOiBOLkZsb3dUeXBlIHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLkZsb3dPdGhlclR5cGVBbm5vdGF0aW9uPigpO1xuICAgICAgdGhpcy5lYXQodHQuYml0d2lzZU9SKTtcbiAgICAgIGNvbnN0IHR5cGUgPSB0aGlzLmZsb3dQYXJzZUludGVyc2VjdGlvblR5cGUoKTtcbiAgICAgIG5vZGUudHlwZXMgPSBbdHlwZV07XG4gICAgICB3aGlsZSAodGhpcy5lYXQodHQuYml0d2lzZU9SKSkge1xuICAgICAgICBub2RlLnR5cGVzLnB1c2godGhpcy5mbG93UGFyc2VJbnRlcnNlY3Rpb25UeXBlKCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5vZGUudHlwZXMubGVuZ3RoID09PSAxXG4gICAgICAgID8gdHlwZVxuICAgICAgICA6IHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlVuaW9uVHlwZUFubm90YXRpb25cIik7XG4gICAgfVxuXG4gICAgZmxvd1BhcnNlVHlwZSgpOiBOLkZsb3dUeXBlIHtcbiAgICAgIGNvbnN0IG9sZEluVHlwZSA9IHRoaXMuc3RhdGUuaW5UeXBlO1xuICAgICAgdGhpcy5zdGF0ZS5pblR5cGUgPSB0cnVlO1xuICAgICAgY29uc3QgdHlwZSA9IHRoaXMuZmxvd1BhcnNlVW5pb25UeXBlKCk7XG4gICAgICB0aGlzLnN0YXRlLmluVHlwZSA9IG9sZEluVHlwZTtcbiAgICAgIHJldHVybiB0eXBlO1xuICAgIH1cblxuICAgIGZsb3dQYXJzZVR5cGVPckltcGxpY2l0SW5zdGFudGlhdGlvbigpOiBOLkZsb3dUeXBlIHtcbiAgICAgIGlmICh0aGlzLnN0YXRlLnR5cGUgPT09IHR0Lm5hbWUgJiYgdGhpcy5zdGF0ZS52YWx1ZSA9PT0gXCJfXCIpIHtcbiAgICAgICAgY29uc3Qgc3RhcnRMb2MgPSB0aGlzLnN0YXRlLnN0YXJ0TG9jO1xuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5wYXJzZUlkZW50aWZpZXIoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmxvd1BhcnNlR2VuZXJpY1R5cGUoc3RhcnRMb2MsIG5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmxvd1BhcnNlVHlwZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZsb3dQYXJzZVR5cGVBbm5vdGF0aW9uKCk6IE4uVHlwZUFubm90YXRpb24ge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uVHlwZUFubm90YXRpb24+KCk7XG4gICAgICBub2RlLnR5cGVBbm5vdGF0aW9uID0gdGhpcy5mbG93UGFyc2VUeXBlSW5pdGlhbGlzZXIoKTtcbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJUeXBlQW5ub3RhdGlvblwiKTtcbiAgICB9XG5cbiAgICBmbG93UGFyc2VUeXBlQW5ub3RhdGFibGVJZGVudGlmaWVyKFxuICAgICAgYWxsb3dQcmltaXRpdmVPdmVycmlkZT86IGJvb2xlYW4sXG4gICAgKTogTi5JZGVudGlmaWVyIHtcbiAgICAgIGNvbnN0IGlkZW50ID0gYWxsb3dQcmltaXRpdmVPdmVycmlkZVxuICAgICAgICA/IHRoaXMucGFyc2VJZGVudGlmaWVyKClcbiAgICAgICAgOiB0aGlzLmZsb3dQYXJzZVJlc3RyaWN0ZWRJZGVudGlmaWVyKCk7XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5jb2xvbikpIHtcbiAgICAgICAgaWRlbnQudHlwZUFubm90YXRpb24gPSB0aGlzLmZsb3dQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gICAgICAgIHRoaXMucmVzZXRFbmRMb2NhdGlvbihpZGVudCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaWRlbnQ7XG4gICAgfVxuXG4gICAgdHlwZUNhc3RUb1BhcmFtZXRlcihub2RlOiBOLlR5cGVDYXN0RXhwcmVzc2lvbik6IE4uRXhwcmVzc2lvbiB7XG4gICAgICAobm9kZS5leHByZXNzaW9uIGFzIE4uSWRlbnRpZmllcikudHlwZUFubm90YXRpb24gPSBub2RlLnR5cGVBbm5vdGF0aW9uO1xuXG4gICAgICB0aGlzLnJlc2V0RW5kTG9jYXRpb24obm9kZS5leHByZXNzaW9uLCBub2RlLnR5cGVBbm5vdGF0aW9uLmxvYy5lbmQpO1xuXG4gICAgICByZXR1cm4gbm9kZS5leHByZXNzaW9uO1xuICAgIH1cblxuICAgIGZsb3dQYXJzZVZhcmlhbmNlKCk6IE4uRmxvd1ZhcmlhbmNlIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgICBsZXQgdmFyaWFuY2UgPSBudWxsO1xuICAgICAgaWYgKHRoaXMubWF0Y2godHQucGx1c01pbikpIHtcbiAgICAgICAgdmFyaWFuY2UgPSB0aGlzLnN0YXJ0Tm9kZTxOLkZsb3dWYXJpYW5jZT4oKTtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUudmFsdWUgPT09IFwiK1wiKSB7XG4gICAgICAgICAgdmFyaWFuY2Uua2luZCA9IFwicGx1c1wiO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHZhcmlhbmNlLmtpbmQgPSBcIm1pbnVzXCI7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUodmFyaWFuY2UsIFwiVmFyaWFuY2VcIik7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFyaWFuY2U7XG4gICAgfVxuXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIE92ZXJyaWRlc1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuICAgIHBhcnNlRnVuY3Rpb25Cb2R5KFxuICAgICAgbm9kZTogTi5GdW5jdGlvbixcbiAgICAgIGFsbG93RXhwcmVzc2lvbkJvZHk/OiBib29sZWFuIHwgbnVsbCxcbiAgICAgIGlzTWV0aG9kOiBib29sZWFuID0gZmFsc2UsXG4gICAgKTogdm9pZCB7XG4gICAgICBpZiAoYWxsb3dFeHByZXNzaW9uQm9keSkge1xuICAgICAgICB0aGlzLmZvcndhcmROb0Fycm93UGFyYW1zQ29udmVyc2lvbkF0KG5vZGUsICgpID0+XG4gICAgICAgICAgc3VwZXIucGFyc2VGdW5jdGlvbkJvZHkobm9kZSwgdHJ1ZSwgaXNNZXRob2QpLFxuICAgICAgICApO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHN1cGVyLnBhcnNlRnVuY3Rpb25Cb2R5KG5vZGUsIGZhbHNlLCBpc01ldGhvZCk7XG4gICAgfVxuXG4gICAgcGFyc2VGdW5jdGlvbkJvZHlBbmRGaW5pc2g8XG4gICAgICBUIGV4dGVuZHNcbiAgICAgICAgfCBOLkZ1bmN0aW9uXG4gICAgICAgIHwgTi5UU0RlY2xhcmVNZXRob2RcbiAgICAgICAgfCBOLlRTRGVjbGFyZUZ1bmN0aW9uXG4gICAgICAgIHwgTi5DbGFzc1ByaXZhdGVNZXRob2QsXG4gICAgPihub2RlOiBVbmRvbmU8VD4sIHR5cGU6IFRbXCJ0eXBlXCJdLCBpc01ldGhvZDogYm9vbGVhbiA9IGZhbHNlKTogVCB7XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5jb2xvbikpIHtcbiAgICAgICAgY29uc3QgdHlwZU5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLlR5cGVBbm5vdGF0aW9uPigpO1xuXG4gICAgICAgIFtcbiAgICAgICAgICB0eXBlTm9kZS50eXBlQW5ub3RhdGlvbixcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHByZWRpY2F0ZSBtYXkgbm90IGV4aXN0XG4gICAgICAgICAgbm9kZS5wcmVkaWNhdGUsXG4gICAgICAgIF0gPSB0aGlzLmZsb3dQYXJzZVR5cGVBbmRQcmVkaWNhdGVJbml0aWFsaXNlcigpO1xuXG4gICAgICAgIG5vZGUucmV0dXJuVHlwZSA9IHR5cGVOb2RlLnR5cGVBbm5vdGF0aW9uXG4gICAgICAgICAgPyB0aGlzLmZpbmlzaE5vZGUodHlwZU5vZGUsIFwiVHlwZUFubm90YXRpb25cIilcbiAgICAgICAgICA6IG51bGw7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdXBlci5wYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaChub2RlLCB0eXBlLCBpc01ldGhvZCk7XG4gICAgfVxuXG4gICAgLy8gaW50ZXJmYWNlcyBhbmQgZW51bXNcbiAgICBwYXJzZVN0YXRlbWVudExpa2UoZmxhZ3M6IFBhcnNlU3RhdGVtZW50RmxhZyk6IE4uU3RhdGVtZW50IHtcbiAgICAgIC8vIHN0cmljdCBtb2RlIGhhbmRsaW5nIG9mIGBpbnRlcmZhY2VgIHNpbmNlIGl0J3MgYSByZXNlcnZlZCB3b3JkXG4gICAgICBpZiAodGhpcy5zdGF0ZS5zdHJpY3QgJiYgdGhpcy5pc0NvbnRleHR1YWwodHQuX2ludGVyZmFjZSkpIHtcbiAgICAgICAgY29uc3QgbG9va2FoZWFkID0gdGhpcy5sb29rYWhlYWQoKTtcbiAgICAgICAgaWYgKHRva2VuSXNLZXl3b3JkT3JJZGVudGlmaWVyKGxvb2thaGVhZC50eXBlKSkge1xuICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLkZsb3dJbnRlcmZhY2U+KCk7XG4gICAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmxvd1BhcnNlSW50ZXJmYWNlKG5vZGUpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9lbnVtKSkge1xuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGUoKTtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIHJldHVybiB0aGlzLmZsb3dQYXJzZUVudW1EZWNsYXJhdGlvbihub2RlKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHN0bXQgPSBzdXBlci5wYXJzZVN0YXRlbWVudExpa2UoZmxhZ3MpO1xuICAgICAgLy8gV2Ugd2lsbCBwYXJzZSBhIGZsb3cgcHJhZ21hIGluIGFueSBjb21tZW50IGJlZm9yZSB0aGUgZmlyc3Qgc3RhdGVtZW50LlxuICAgICAgaWYgKHRoaXMuZmxvd1ByYWdtYSA9PT0gdW5kZWZpbmVkICYmICF0aGlzLmlzVmFsaWREaXJlY3RpdmUoc3RtdCkpIHtcbiAgICAgICAgdGhpcy5mbG93UHJhZ21hID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdG10O1xuICAgIH1cblxuICAgIC8vIGRlY2xhcmVzLCBpbnRlcmZhY2VzIGFuZCB0eXBlIGFsaWFzZXNcbiAgICBwYXJzZUV4cHJlc3Npb25TdGF0ZW1lbnQoXG4gICAgICBub2RlOiBOLkV4cHJlc3Npb25TdGF0ZW1lbnQsXG4gICAgICBleHByOiBOLkV4cHJlc3Npb24sXG4gICAgICBkZWNvcmF0b3JzOiBOLkRlY29yYXRvcltdIHwgbnVsbCxcbiAgICApOiBOLkV4cHJlc3Npb25TdGF0ZW1lbnQge1xuICAgICAgaWYgKGV4cHIudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIpIHtcbiAgICAgICAgaWYgKGV4cHIubmFtZSA9PT0gXCJkZWNsYXJlXCIpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLm1hdGNoKHR0Ll9jbGFzcykgfHxcbiAgICAgICAgICAgIHRva2VuSXNJZGVudGlmaWVyKHRoaXMuc3RhdGUudHlwZSkgfHxcbiAgICAgICAgICAgIHRoaXMubWF0Y2godHQuX2Z1bmN0aW9uKSB8fFxuICAgICAgICAgICAgdGhpcy5tYXRjaCh0dC5fdmFyKSB8fFxuICAgICAgICAgICAgdGhpcy5tYXRjaCh0dC5fZXhwb3J0KVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogcmVmaW5lIHR5cGluZ3NcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZsb3dQYXJzZURlY2xhcmUobm9kZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHRva2VuSXNJZGVudGlmaWVyKHRoaXMuc3RhdGUudHlwZSkpIHtcbiAgICAgICAgICBpZiAoZXhwci5uYW1lID09PSBcImludGVyZmFjZVwiKSB7XG4gICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiByZWZpbmUgdHlwaW5nc1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmxvd1BhcnNlSW50ZXJmYWNlKG5vZGUpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZXhwci5uYW1lID09PSBcInR5cGVcIikge1xuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogcmVmaW5lIHR5cGluZ3NcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZsb3dQYXJzZVR5cGVBbGlhcyhub2RlKTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGV4cHIubmFtZSA9PT0gXCJvcGFxdWVcIikge1xuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogcmVmaW5lIHR5cGluZ3NcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZsb3dQYXJzZU9wYXF1ZVR5cGUobm9kZSwgZmFsc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3VwZXIucGFyc2VFeHByZXNzaW9uU3RhdGVtZW50KG5vZGUsIGV4cHIsIGRlY29yYXRvcnMpO1xuICAgIH1cblxuICAgIC8vIGV4cG9ydCB0eXBlXG4gICAgc2hvdWxkUGFyc2VFeHBvcnREZWNsYXJhdGlvbigpOiBib29sZWFuIHtcbiAgICAgIGNvbnN0IHsgdHlwZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIGlmICh0eXBlID09PSB0dC5fZW51bSB8fCB0b2tlbklzRmxvd0ludGVyZmFjZU9yVHlwZU9yT3BhcXVlKHR5cGUpKSB7XG4gICAgICAgIHJldHVybiAhdGhpcy5zdGF0ZS5jb250YWluc0VzYztcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdXBlci5zaG91bGRQYXJzZUV4cG9ydERlY2xhcmF0aW9uKCk7XG4gICAgfVxuXG4gICAgaXNFeHBvcnREZWZhdWx0U3BlY2lmaWVyKCk6IGJvb2xlYW4ge1xuICAgICAgY29uc3QgeyB0eXBlIH0gPSB0aGlzLnN0YXRlO1xuICAgICAgaWYgKHR5cGUgPT09IHR0Ll9lbnVtIHx8IHRva2VuSXNGbG93SW50ZXJmYWNlT3JUeXBlT3JPcGFxdWUodHlwZSkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc3RhdGUuY29udGFpbnNFc2M7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdXBlci5pc0V4cG9ydERlZmF1bHRTcGVjaWZpZXIoKTtcbiAgICB9XG5cbiAgICBwYXJzZUV4cG9ydERlZmF1bHRFeHByZXNzaW9uKCkge1xuICAgICAgaWYgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9lbnVtKSkge1xuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGUoKTtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIHJldHVybiB0aGlzLmZsb3dQYXJzZUVudW1EZWNsYXJhdGlvbihub2RlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdXBlci5wYXJzZUV4cG9ydERlZmF1bHRFeHByZXNzaW9uKCk7XG4gICAgfVxuXG4gICAgcGFyc2VDb25kaXRpb25hbChcbiAgICAgIGV4cHI6IE4uRXhwcmVzc2lvbixcblxuICAgICAgc3RhcnRMb2M6IFBvc2l0aW9uLFxuICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycz86IEV4cHJlc3Npb25FcnJvcnMgfCBudWxsLFxuICAgICk6IE4uRXhwcmVzc2lvbiB7XG4gICAgICBpZiAoIXRoaXMubWF0Y2godHQucXVlc3Rpb24pKSByZXR1cm4gZXhwcjtcblxuICAgICAgaWYgKHRoaXMuc3RhdGUubWF5YmVJbkFycm93UGFyYW1ldGVycykge1xuICAgICAgICBjb25zdCBuZXh0Q2ggPSB0aGlzLmxvb2thaGVhZENoYXJDb2RlKCk7XG4gICAgICAgIC8vIFRoZXNlIHRva2VucyBjYW5ub3Qgc3RhcnQgYW4gZXhwcmVzc2lvbiwgc28gaWYgb25lIG9mIHRoZW0gZm9sbG93c1xuICAgICAgICAvLyA/IHRoZW4gd2UgYXJlIHByb2JhYmx5IGluIGFuIGFycm93IGZ1bmN0aW9uIHBhcmFtZXRlcnMgbGlzdCBhbmQgd2VcbiAgICAgICAgLy8gZG9uJ3QgcGFyc2UgdGhlIGNvbmRpdGlvbmFsIGV4cHJlc3Npb24uXG4gICAgICAgIGlmIChcbiAgICAgICAgICBuZXh0Q2ggPT09IGNoYXJDb2Rlcy5jb21tYSB8fCAvLyAoYT8sIGIpID0+IGNcbiAgICAgICAgICBuZXh0Q2ggPT09IGNoYXJDb2Rlcy5lcXVhbHNUbyB8fCAvLyAoYT8gPSBiKSA9PiBjXG4gICAgICAgICAgbmV4dENoID09PSBjaGFyQ29kZXMuY29sb24gfHwgLy8gKGE/OiBiKSA9PiBjXG4gICAgICAgICAgbmV4dENoID09PSBjaGFyQ29kZXMucmlnaHRQYXJlbnRoZXNpcyAvLyAoYT8pID0+IGNcbiAgICAgICAgKSB7XG4gICAgICAgICAgLyo6OiBpbnZhcmlhbnQocmVmRXhwcmVzc2lvbkVycm9ycyAhPSBudWxsKSAqL1xuICAgICAgICAgIHRoaXMuc2V0T3B0aW9uYWxQYXJhbWV0ZXJzRXJyb3IocmVmRXhwcmVzc2lvbkVycm9ycyk7XG4gICAgICAgICAgcmV0dXJuIGV4cHI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy5leHBlY3QodHQucXVlc3Rpb24pO1xuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlLmNsb25lKCk7XG4gICAgICBjb25zdCBvcmlnaW5hbE5vQXJyb3dBdCA9IHRoaXMuc3RhdGUubm9BcnJvd0F0O1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlQXQ8Ti5Db25kaXRpb25hbEV4cHJlc3Npb24+KHN0YXJ0TG9jKTtcbiAgICAgIGxldCB7IGNvbnNlcXVlbnQsIGZhaWxlZCB9ID0gdGhpcy50cnlQYXJzZUNvbmRpdGlvbmFsQ29uc2VxdWVudCgpO1xuICAgICAgbGV0IFt2YWxpZCwgaW52YWxpZF0gPSB0aGlzLmdldEFycm93TGlrZUV4cHJlc3Npb25zKGNvbnNlcXVlbnQpO1xuXG4gICAgICBpZiAoZmFpbGVkIHx8IGludmFsaWQubGVuZ3RoID4gMCkge1xuICAgICAgICBjb25zdCBub0Fycm93QXQgPSBbLi4ub3JpZ2luYWxOb0Fycm93QXRdO1xuXG4gICAgICAgIGlmIChpbnZhbGlkLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgICAgICAgdGhpcy5zdGF0ZS5ub0Fycm93QXQgPSBub0Fycm93QXQ7XG5cbiAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGludmFsaWQubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgIG5vQXJyb3dBdC5wdXNoKGludmFsaWRbaV0uc3RhcnQpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICh7IGNvbnNlcXVlbnQsIGZhaWxlZCB9ID0gdGhpcy50cnlQYXJzZUNvbmRpdGlvbmFsQ29uc2VxdWVudCgpKTtcbiAgICAgICAgICBbdmFsaWQsIGludmFsaWRdID0gdGhpcy5nZXRBcnJvd0xpa2VFeHByZXNzaW9ucyhjb25zZXF1ZW50KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChmYWlsZWQgJiYgdmFsaWQubGVuZ3RoID4gMSkge1xuICAgICAgICAgIC8vIGlmIHRoZXJlIGFyZSB0d28gb3IgbW9yZSBwb3NzaWJsZSBjb3JyZWN0IHdheXMgb2YgcGFyc2luZywgdGhyb3cgYW5cbiAgICAgICAgICAvLyBlcnJvci5cbiAgICAgICAgICAvLyBlLmcuICAgU291cmNlOiBhID8gKGIpOiBjID0+IChkKTogZSA9PiBmXG4gICAgICAgICAgLy8gICAgICBSZXN1bHQgMTogYSA/IGIgOiAoYyA9PiAoKGQpOiBlID0+IGYpKVxuICAgICAgICAgIC8vICAgICAgUmVzdWx0IDI6IGEgPyAoKGIpOiBjID0+IGQpIDogKGUgPT4gZilcbiAgICAgICAgICB0aGlzLnJhaXNlKEZsb3dFcnJvcnMuQW1iaWd1b3VzQ29uZGl0aW9uYWxBcnJvdywgc3RhdGUuc3RhcnRMb2MpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGZhaWxlZCAmJiB2YWxpZC5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgICAgICAgbm9BcnJvd0F0LnB1c2godmFsaWRbMF0uc3RhcnQpO1xuICAgICAgICAgIHRoaXMuc3RhdGUubm9BcnJvd0F0ID0gbm9BcnJvd0F0O1xuICAgICAgICAgICh7IGNvbnNlcXVlbnQsIGZhaWxlZCB9ID0gdGhpcy50cnlQYXJzZUNvbmRpdGlvbmFsQ29uc2VxdWVudCgpKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICB0aGlzLmdldEFycm93TGlrZUV4cHJlc3Npb25zKGNvbnNlcXVlbnQsIHRydWUpO1xuXG4gICAgICB0aGlzLnN0YXRlLm5vQXJyb3dBdCA9IG9yaWdpbmFsTm9BcnJvd0F0O1xuICAgICAgdGhpcy5leHBlY3QodHQuY29sb24pO1xuXG4gICAgICBub2RlLnRlc3QgPSBleHByO1xuICAgICAgbm9kZS5jb25zZXF1ZW50ID0gY29uc2VxdWVudDtcbiAgICAgIG5vZGUuYWx0ZXJuYXRlID0gdGhpcy5mb3J3YXJkTm9BcnJvd1BhcmFtc0NvbnZlcnNpb25BdChub2RlLCAoKSA9PlxuICAgICAgICB0aGlzLnBhcnNlTWF5YmVBc3NpZ24odW5kZWZpbmVkLCB1bmRlZmluZWQpLFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiKTtcbiAgICB9XG5cbiAgICB0cnlQYXJzZUNvbmRpdGlvbmFsQ29uc2VxdWVudCgpOiB7XG4gICAgICBjb25zZXF1ZW50OiBOLkV4cHJlc3Npb247XG4gICAgICBmYWlsZWQ6IGJvb2xlYW47XG4gICAgfSB7XG4gICAgICB0aGlzLnN0YXRlLm5vQXJyb3dQYXJhbXNDb252ZXJzaW9uQXQucHVzaCh0aGlzLnN0YXRlLnN0YXJ0KTtcblxuICAgICAgY29uc3QgY29uc2VxdWVudCA9IHRoaXMucGFyc2VNYXliZUFzc2lnbkFsbG93SW4oKTtcbiAgICAgIGNvbnN0IGZhaWxlZCA9ICF0aGlzLm1hdGNoKHR0LmNvbG9uKTtcblxuICAgICAgdGhpcy5zdGF0ZS5ub0Fycm93UGFyYW1zQ29udmVyc2lvbkF0LnBvcCgpO1xuXG4gICAgICByZXR1cm4geyBjb25zZXF1ZW50LCBmYWlsZWQgfTtcbiAgICB9XG5cbiAgICAvLyBHaXZlbiBhbiBleHByZXNzaW9uLCB3YWxrcyB0aHJvdWdoIG91dCBpdHMgYXJyb3cgZnVuY3Rpb25zIHdob3NlIGJvZHkgaXNcbiAgICAvLyBhbiBleHByZXNzaW9uIGFuZCB0aHJvdWdoIG91dCBjb25kaXRpb25hbCBleHByZXNzaW9ucy4gSXQgcmV0dXJucyBldmVyeVxuICAgIC8vIGZ1bmN0aW9uIHdoaWNoIGhhcyBiZWVuIHBhcnNlZCB3aXRoIGEgcmV0dXJuIHR5cGUgYnV0IGNvdWxkIGhhdmUgYmVlblxuICAgIC8vIHBhcmVudGhlc2l6ZWQgZXhwcmVzc2lvbnMuXG4gICAgLy8gVGhlc2UgZnVuY3Rpb25zIGFyZSBzZXBhcmF0ZWQgaW50byB0d28gYXJyYXlzOiBvbmUgY29udGFpbmluZyB0aGUgb25lc1xuICAgIC8vIHdob3NlIHBhcmFtZXRlcnMgY2FuIGJlIGNvbnZlcnRlZCB0byBhc3NpZ25hYmxlIGxpc3RzLCBvbmUgY29udGFpbmluZyB0aGVcbiAgICAvLyBvdGhlcnMuXG4gICAgZ2V0QXJyb3dMaWtlRXhwcmVzc2lvbnMoXG4gICAgICBub2RlOiBOLkV4cHJlc3Npb24sXG4gICAgICBkaXNhbGxvd0ludmFsaWQ/OiBib29sZWFuLFxuICAgICk6IFtOLkFycm93RnVuY3Rpb25FeHByZXNzaW9uW10sIE4uQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25bXV0ge1xuICAgICAgY29uc3Qgc3RhY2sgPSBbbm9kZV07XG4gICAgICBjb25zdCBhcnJvd3M6IE4uQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25bXSA9IFtdO1xuXG4gICAgICB3aGlsZSAoc3RhY2subGVuZ3RoICE9PSAwKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSBzdGFjay5wb3AoKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIG5vZGUudHlwZSA9PT0gXCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiICYmXG4gICAgICAgICAgbm9kZS5ib2R5LnR5cGUgIT09IFwiQmxvY2tTdGF0ZW1lbnRcIlxuICAgICAgICApIHtcbiAgICAgICAgICBpZiAobm9kZS50eXBlUGFyYW1ldGVycyB8fCAhbm9kZS5yZXR1cm5UeXBlKSB7XG4gICAgICAgICAgICAvLyBUaGlzIGlzIGFuIGFycm93IGV4cHJlc3Npb24gd2l0aG91dCBhbWJpZ3VpdHksIHNvIGNoZWNrIGl0cyBwYXJhbWV0ZXJzXG4gICAgICAgICAgICB0aGlzLmZpbmlzaEFycm93VmFsaWRhdGlvbihub2RlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgYXJyb3dzLnB1c2gobm9kZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHN0YWNrLnB1c2gobm9kZS5ib2R5KTtcbiAgICAgICAgfSBlbHNlIGlmIChub2RlLnR5cGUgPT09IFwiQ29uZGl0aW9uYWxFeHByZXNzaW9uXCIpIHtcbiAgICAgICAgICBzdGFjay5wdXNoKG5vZGUuY29uc2VxdWVudCk7XG4gICAgICAgICAgc3RhY2sucHVzaChub2RlLmFsdGVybmF0ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGRpc2FsbG93SW52YWxpZCkge1xuICAgICAgICBhcnJvd3MuZm9yRWFjaChub2RlID0+IHRoaXMuZmluaXNoQXJyb3dWYWxpZGF0aW9uKG5vZGUpKTtcbiAgICAgICAgcmV0dXJuIFthcnJvd3MsIFtdXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHBhcnRpdGlvbihhcnJvd3MsIG5vZGUgPT5cbiAgICAgICAgbm9kZS5wYXJhbXMuZXZlcnkocGFyYW0gPT4gdGhpcy5pc0Fzc2lnbmFibGUocGFyYW0sIHRydWUpKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgZmluaXNoQXJyb3dWYWxpZGF0aW9uKG5vZGU6IE4uQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24pIHtcbiAgICAgIHRoaXMudG9Bc3NpZ25hYmxlTGlzdChcbiAgICAgICAgLy8gbm9kZS5wYXJhbXMgaXMgRXhwcmVzc2lvbltdIGluc3RlYWQgb2YgJFJlYWRPbmx5QXJyYXk8UGF0dGVybj4gYmVjYXVzZSBpdFxuICAgICAgICAvLyBoYXMgbm90IGJlZW4gY29udmVydGVkIHlldC5cbiAgICAgICAgbm9kZS5wYXJhbXMgYXMgYW55IGFzIE4uRXhwcmVzc2lvbltdLFxuICAgICAgICBub2RlLmV4dHJhPy50cmFpbGluZ0NvbW1hTG9jLFxuICAgICAgICAvKiBpc0xIUyAqLyBmYWxzZSxcbiAgICAgICk7XG4gICAgICAvLyBFbnRlciBzY29wZSwgYXMgY2hlY2tQYXJhbXMgZGVmaW5lcyBiaW5kaW5nc1xuICAgICAgdGhpcy5zY29wZS5lbnRlcihTY29wZUZsYWcuRlVOQ1RJT04gfCBTY29wZUZsYWcuQVJST1cpO1xuICAgICAgLy8gVXNlIHN1cGVyJ3MgbWV0aG9kIHRvIGZvcmNlIHRoZSBwYXJhbWV0ZXJzIHRvIGJlIGNoZWNrZWRcbiAgICAgIHN1cGVyLmNoZWNrUGFyYW1zKG5vZGUsIGZhbHNlLCB0cnVlKTtcbiAgICAgIHRoaXMuc2NvcGUuZXhpdCgpO1xuICAgIH1cblxuICAgIGZvcndhcmROb0Fycm93UGFyYW1zQ29udmVyc2lvbkF0PFQ+KFxuICAgICAgbm9kZTogVW5kb25lPE4uTm9kZT4sXG4gICAgICBwYXJzZTogKCkgPT4gVCxcbiAgICApOiBUIHtcbiAgICAgIGxldCByZXN1bHQ6IFQ7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuc3RhdGUubm9BcnJvd1BhcmFtc0NvbnZlcnNpb25BdC5pbmNsdWRlcyhcbiAgICAgICAgICB0aGlzLm9mZnNldFRvU291cmNlUG9zKG5vZGUuc3RhcnQpLFxuICAgICAgICApXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5zdGF0ZS5ub0Fycm93UGFyYW1zQ29udmVyc2lvbkF0LnB1c2godGhpcy5zdGF0ZS5zdGFydCk7XG4gICAgICAgIHJlc3VsdCA9IHBhcnNlKCk7XG4gICAgICAgIHRoaXMuc3RhdGUubm9BcnJvd1BhcmFtc0NvbnZlcnNpb25BdC5wb3AoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJlc3VsdCA9IHBhcnNlKCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcGFyc2VQYXJlbkl0ZW08VCBleHRlbmRzIE4uRXhwcmVzc2lvbiB8IE4uUmVzdEVsZW1lbnQgfCBOLlNwcmVhZEVsZW1lbnQ+KFxuICAgICAgbm9kZTogVCxcbiAgICAgIHN0YXJ0TG9jOiBQb3NpdGlvbixcbiAgICApOiBUIHwgTi5UeXBlQ2FzdEV4cHJlc3Npb24gfCBOLlRzVHlwZUNhc3RFeHByZXNzaW9uIHtcbiAgICAgIGNvbnN0IG5ld05vZGUgPSBzdXBlci5wYXJzZVBhcmVuSXRlbShub2RlLCBzdGFydExvYyk7XG4gICAgICBpZiAodGhpcy5lYXQodHQucXVlc3Rpb24pKSB7XG4gICAgICAgIChuZXdOb2RlIGFzIE4uSWRlbnRpZmllcikub3B0aW9uYWwgPSB0cnVlO1xuICAgICAgICAvLyBJbmNsdWRlIHF1ZXN0aW9ubWFyayBpbiBsb2NhdGlvbiBvZiBub2RlXG4gICAgICAgIC8vIERvbid0IHVzZSB0aGlzLmZpbmlzaE5vZGUoKSBhcyBvdGhlcndpc2Ugd2UgbWlnaHQgcHJvY2VzcyBjb21tZW50cyB0d2ljZSBhbmRcbiAgICAgICAgLy8gaW5jbHVkZSBhbHJlYWR5IGNvbnN1bWVkIHBhcmVuc1xuICAgICAgICB0aGlzLnJlc2V0RW5kTG9jYXRpb24obm9kZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmNvbG9uKSkge1xuICAgICAgICBjb25zdCB0eXBlQ2FzdE5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uVHlwZUNhc3RFeHByZXNzaW9uPihzdGFydExvYyk7XG4gICAgICAgIHR5cGVDYXN0Tm9kZS5leHByZXNzaW9uID0gbmV3Tm9kZSBhcyBOLkV4cHJlc3Npb247XG4gICAgICAgIHR5cGVDYXN0Tm9kZS50eXBlQW5ub3RhdGlvbiA9IHRoaXMuZmxvd1BhcnNlVHlwZUFubm90YXRpb24oKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKHR5cGVDYXN0Tm9kZSwgXCJUeXBlQ2FzdEV4cHJlc3Npb25cIik7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBuZXdOb2RlO1xuICAgIH1cblxuICAgIGFzc2VydE1vZHVsZU5vZGVBbGxvd2VkKG5vZGU6IE4uTm9kZSkge1xuICAgICAgaWYgKFxuICAgICAgICAobm9kZS50eXBlID09PSBcIkltcG9ydERlY2xhcmF0aW9uXCIgJiZcbiAgICAgICAgICAobm9kZS5pbXBvcnRLaW5kID09PSBcInR5cGVcIiB8fCBub2RlLmltcG9ydEtpbmQgPT09IFwidHlwZW9mXCIpKSB8fFxuICAgICAgICAobm9kZS50eXBlID09PSBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIiAmJlxuICAgICAgICAgIG5vZGUuZXhwb3J0S2luZCA9PT0gXCJ0eXBlXCIpIHx8XG4gICAgICAgIChub2RlLnR5cGUgPT09IFwiRXhwb3J0QWxsRGVjbGFyYXRpb25cIiAmJiBub2RlLmV4cG9ydEtpbmQgPT09IFwidHlwZVwiKVxuICAgICAgKSB7XG4gICAgICAgIC8vIEFsbG93IEZsb3d0eXBlIGltcG9ydHMgYW5kIGV4cG9ydHMgaW4gYWxsIGNvbmRpdGlvbnMgYmVjYXVzZVxuICAgICAgICAvLyBGbG93IGl0c2VsZiBkb2VzIG5vdCBjYXJlIGFib3V0ICdzb3VyY2VUeXBlJy5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBzdXBlci5hc3NlcnRNb2R1bGVOb2RlQWxsb3dlZChub2RlKTtcbiAgICB9XG5cbiAgICBwYXJzZUV4cG9ydERlY2xhcmF0aW9uKFxuICAgICAgbm9kZTogTi5FeHBvcnROYW1lZERlY2xhcmF0aW9uLFxuICAgICk6IE4uRGVjbGFyYXRpb24gfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICAgIGlmICh0aGlzLmlzQ29udGV4dHVhbCh0dC5fdHlwZSkpIHtcbiAgICAgICAgbm9kZS5leHBvcnRLaW5kID0gXCJ0eXBlXCI7XG5cbiAgICAgICAgY29uc3QgZGVjbGFyYXRpb25Ob2RlID0gdGhpcy5zdGFydE5vZGUoKTtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMubWF0Y2godHQuYnJhY2VMKSkge1xuICAgICAgICAgIC8vIGV4cG9ydCB0eXBlIHsgZm9vLCBiYXIgfTtcbiAgICAgICAgICBub2RlLnNwZWNpZmllcnMgPSB0aGlzLnBhcnNlRXhwb3J0U3BlY2lmaWVycyhcbiAgICAgICAgICAgIC8qIGlzSW5UeXBlRXhwb3J0ICovIHRydWUsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBzdXBlci5wYXJzZUV4cG9ydEZyb20obm9kZSk7XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gZXhwb3J0IHR5cGUgRm9vID0gQmFyO1xuICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IHJlZmluZSB0eXBpbmdzXG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmxvd1BhcnNlVHlwZUFsaWFzKGRlY2xhcmF0aW9uTm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0NvbnRleHR1YWwodHQuX29wYXF1ZSkpIHtcbiAgICAgICAgbm9kZS5leHBvcnRLaW5kID0gXCJ0eXBlXCI7XG5cbiAgICAgICAgY29uc3QgZGVjbGFyYXRpb25Ob2RlID0gdGhpcy5zdGFydE5vZGUoKTtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIC8vIGV4cG9ydCBvcGFxdWUgdHlwZSBGb28gPSBCYXI7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IHJlZmluZSB0eXBpbmdzXG4gICAgICAgIHJldHVybiB0aGlzLmZsb3dQYXJzZU9wYXF1ZVR5cGUoZGVjbGFyYXRpb25Ob2RlLCBmYWxzZSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9pbnRlcmZhY2UpKSB7XG4gICAgICAgIG5vZGUuZXhwb3J0S2luZCA9IFwidHlwZVwiO1xuICAgICAgICBjb25zdCBkZWNsYXJhdGlvbk5vZGUgPSB0aGlzLnN0YXJ0Tm9kZSgpO1xuICAgICAgICB0aGlzLm5leHQoKTtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogcmVmaW5lIHR5cGluZ3NcbiAgICAgICAgcmV0dXJuIHRoaXMuZmxvd1BhcnNlSW50ZXJmYWNlKGRlY2xhcmF0aW9uTm9kZSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9lbnVtKSkge1xuICAgICAgICBub2RlLmV4cG9ydEtpbmQgPSBcInZhbHVlXCI7XG4gICAgICAgIGNvbnN0IGRlY2xhcmF0aW9uTm9kZSA9IHRoaXMuc3RhcnROb2RlKCk7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiByZWZpbmUgdHlwaW5nc1xuICAgICAgICByZXR1cm4gdGhpcy5mbG93UGFyc2VFbnVtRGVjbGFyYXRpb24oZGVjbGFyYXRpb25Ob2RlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBzdXBlci5wYXJzZUV4cG9ydERlY2xhcmF0aW9uKG5vZGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGVhdEV4cG9ydFN0YXIoXG4gICAgICBub2RlOiBVbmRvbmU8Ti5Ob2RlPixcbiAgICApOiBub2RlIGlzIFVuZG9uZTxOLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24gfCBOLkV4cG9ydEFsbERlY2xhcmF0aW9uPiB7XG4gICAgICBpZiAoc3VwZXIuZWF0RXhwb3J0U3Rhcihub2RlKSkgcmV0dXJuIHRydWU7XG5cbiAgICAgIGlmICh0aGlzLmlzQ29udGV4dHVhbCh0dC5fdHlwZSkgJiYgdGhpcy5sb29rYWhlYWQoKS50eXBlID09PSB0dC5zdGFyKSB7XG4gICAgICAgIChcbiAgICAgICAgICBub2RlIGFzIFVuZG9uZTxOLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24gfCBOLkV4cG9ydEFsbERlY2xhcmF0aW9uPlxuICAgICAgICApLmV4cG9ydEtpbmQgPSBcInR5cGVcIjtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIG1heWJlUGFyc2VFeHBvcnROYW1lc3BhY2VTcGVjaWZpZXIoXG4gICAgICBub2RlOiBVbmRvbmU8Ti5FeHBvcnROYW1lZERlY2xhcmF0aW9uIHwgTi5FeHBvcnRBbGxEZWNsYXJhdGlvbj4sXG4gICAgKTogbm9kZSBpcyBVbmRvbmU8Ti5FeHBvcnROYW1lZERlY2xhcmF0aW9uPiB7XG4gICAgICBjb25zdCB7IHN0YXJ0TG9jIH0gPSB0aGlzLnN0YXRlO1xuICAgICAgY29uc3QgaGFzTmFtZXNwYWNlID0gc3VwZXIubWF5YmVQYXJzZUV4cG9ydE5hbWVzcGFjZVNwZWNpZmllcihub2RlKTtcbiAgICAgIGlmIChoYXNOYW1lc3BhY2UgJiYgbm9kZS5leHBvcnRLaW5kID09PSBcInR5cGVcIikge1xuICAgICAgICB0aGlzLnVuZXhwZWN0ZWQoc3RhcnRMb2MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGhhc05hbWVzcGFjZTtcbiAgICB9XG5cbiAgICBwYXJzZUNsYXNzSWQoXG4gICAgICBub2RlOiBOLkNsYXNzLFxuICAgICAgaXNTdGF0ZW1lbnQ6IGJvb2xlYW4sXG4gICAgICBvcHRpb25hbElkPzogYm9vbGVhbiB8IG51bGwsXG4gICAgKSB7XG4gICAgICBzdXBlci5wYXJzZUNsYXNzSWQobm9kZSwgaXNTdGF0ZW1lbnQsIG9wdGlvbmFsSWQpO1xuICAgICAgaWYgKHRoaXMubWF0Y2godHQubHQpKSB7XG4gICAgICAgIG5vZGUudHlwZVBhcmFtZXRlcnMgPSB0aGlzLmZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvbigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHBhcnNlQ2xhc3NNZW1iZXIoXG4gICAgICBjbGFzc0JvZHk6IE4uQ2xhc3NCb2R5LFxuICAgICAgbWVtYmVyOiBhbnksXG4gICAgICBzdGF0ZTogTi5QYXJzZUNsYXNzTWVtYmVyU3RhdGUsXG4gICAgKTogdm9pZCB7XG4gICAgICBjb25zdCB7IHN0YXJ0TG9jIH0gPSB0aGlzLnN0YXRlO1xuICAgICAgaWYgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9kZWNsYXJlKSkge1xuICAgICAgICBpZiAoc3VwZXIucGFyc2VDbGFzc01lbWJlckZyb21Nb2RpZmllcihjbGFzc0JvZHksIG1lbWJlcikpIHtcbiAgICAgICAgICAvLyAnZGVjbGFyZScgaXMgYSBjbGFzcyBlbGVtZW50IG5hbWVcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBtZW1iZXIuZGVjbGFyZSA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHN1cGVyLnBhcnNlQ2xhc3NNZW1iZXIoY2xhc3NCb2R5LCBtZW1iZXIsIHN0YXRlKTtcblxuICAgICAgaWYgKG1lbWJlci5kZWNsYXJlKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBtZW1iZXIudHlwZSAhPT0gXCJDbGFzc1Byb3BlcnR5XCIgJiZcbiAgICAgICAgICBtZW1iZXIudHlwZSAhPT0gXCJDbGFzc1ByaXZhdGVQcm9wZXJ0eVwiICYmXG4gICAgICAgICAgbWVtYmVyLnR5cGUgIT09IFwiUHJvcGVydHlEZWZpbml0aW9uXCIgLy8gVXNlZCBieSBlc3RyZWUgcGx1Z2luXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMucmFpc2UoRmxvd0Vycm9ycy5EZWNsYXJlQ2xhc3NFbGVtZW50LCBzdGFydExvYyk7XG4gICAgICAgIH0gZWxzZSBpZiAobWVtYmVyLnZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShGbG93RXJyb3JzLkRlY2xhcmVDbGFzc0ZpZWxkSW5pdGlhbGl6ZXIsIG1lbWJlci52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpc0l0ZXJhdG9yKHdvcmQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHdvcmQgPT09IFwiaXRlcmF0b3JcIiB8fCB3b3JkID09PSBcImFzeW5jSXRlcmF0b3JcIjtcbiAgICB9XG5cbiAgICByZWFkSXRlcmF0b3IoKTogdm9pZCB7XG4gICAgICBjb25zdCB3b3JkID0gc3VwZXIucmVhZFdvcmQxKCk7XG4gICAgICBjb25zdCBmdWxsV29yZCA9IFwiQEBcIiArIHdvcmQ7XG5cbiAgICAgIC8vIEFsbG93IEBAaXRlcmF0b3IgYW5kIEBAYXN5bmNJdGVyYXRvciBhcyBhIGlkZW50aWZpZXIgb25seSBpbnNpZGUgdHlwZVxuICAgICAgaWYgKCF0aGlzLmlzSXRlcmF0b3Iod29yZCkgfHwgIXRoaXMuc3RhdGUuaW5UeXBlKSB7XG4gICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkludmFsaWRJZGVudGlmaWVyLCB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCksIHtcbiAgICAgICAgICBpZGVudGlmaWVyTmFtZTogZnVsbFdvcmQsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmZpbmlzaFRva2VuKHR0Lm5hbWUsIGZ1bGxXb3JkKTtcbiAgICB9XG5cbiAgICAvLyBlbnN1cmUgdGhhdCBpbnNpZGUgZmxvdyB0eXBlcywgd2UgYnlwYXNzIHRoZSBqc3ggcGFyc2VyIHBsdWdpblxuICAgIGdldFRva2VuRnJvbUNvZGUoY29kZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICBjb25zdCBuZXh0ID0gdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zICsgMSk7XG4gICAgICBpZiAoY29kZSA9PT0gY2hhckNvZGVzLmxlZnRDdXJseUJyYWNlICYmIG5leHQgPT09IGNoYXJDb2Rlcy52ZXJ0aWNhbEJhcikge1xuICAgICAgICB0aGlzLmZpbmlzaE9wKHR0LmJyYWNlQmFyTCwgMik7XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICB0aGlzLnN0YXRlLmluVHlwZSAmJlxuICAgICAgICAoY29kZSA9PT0gY2hhckNvZGVzLmdyZWF0ZXJUaGFuIHx8IGNvZGUgPT09IGNoYXJDb2Rlcy5sZXNzVGhhbilcbiAgICAgICkge1xuICAgICAgICB0aGlzLmZpbmlzaE9wKGNvZGUgPT09IGNoYXJDb2Rlcy5ncmVhdGVyVGhhbiA/IHR0Lmd0IDogdHQubHQsIDEpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnN0YXRlLmluVHlwZSAmJiBjb2RlID09PSBjaGFyQ29kZXMucXVlc3Rpb25NYXJrKSB7XG4gICAgICAgIGlmIChuZXh0ID09PSBjaGFyQ29kZXMuZG90KSB7XG4gICAgICAgICAgdGhpcy5maW5pc2hPcCh0dC5xdWVzdGlvbkRvdCwgMik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gYWxsb3cgZG91YmxlIG51bGxhYmxlIHR5cGVzIGluIEZsb3c6ID8/c3RyaW5nXG4gICAgICAgICAgdGhpcy5maW5pc2hPcCh0dC5xdWVzdGlvbiwgMSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGlzSXRlcmF0b3JTdGFydChjb2RlLCBuZXh0LCB0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MgKyAyKSlcbiAgICAgICkge1xuICAgICAgICB0aGlzLnN0YXRlLnBvcyArPSAyOyAvLyBlYXQgXCJAQFwiXG4gICAgICAgIHRoaXMucmVhZEl0ZXJhdG9yKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdXBlci5nZXRUb2tlbkZyb21Db2RlKGNvZGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlzQXNzaWduYWJsZShub2RlOiBOLk5vZGUsIGlzQmluZGluZz86IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgIGlmIChub2RlLnR5cGUgPT09IFwiVHlwZUNhc3RFeHByZXNzaW9uXCIpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBc3NpZ25hYmxlKG5vZGUuZXhwcmVzc2lvbiwgaXNCaW5kaW5nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBzdXBlci5pc0Fzc2lnbmFibGUobm9kZSwgaXNCaW5kaW5nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0b0Fzc2lnbmFibGUobm9kZTogTi5Ob2RlLCBpc0xIUzogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICBpZiAoXG4gICAgICAgICFpc0xIUyAmJlxuICAgICAgICBub2RlLnR5cGUgPT09IFwiQXNzaWdubWVudEV4cHJlc3Npb25cIiAmJlxuICAgICAgICBub2RlLmxlZnQudHlwZSA9PT0gXCJUeXBlQ2FzdEV4cHJlc3Npb25cIlxuICAgICAgKSB7XG4gICAgICAgIG5vZGUubGVmdCA9IHRoaXMudHlwZUNhc3RUb1BhcmFtZXRlcihub2RlLmxlZnQpIGFzIE4uQXNzaWduYWJsZTtcbiAgICAgIH1cbiAgICAgIHN1cGVyLnRvQXNzaWduYWJsZShub2RlLCBpc0xIUyk7XG4gICAgfVxuXG4gICAgLy8gdHVybiB0eXBlIGNhc3RzIHRoYXQgd2UgZm91bmQgaW4gZnVuY3Rpb24gcGFyYW1ldGVyIGhlYWQgaW50byB0eXBlIGFubm90YXRlZCBwYXJhbXNcbiAgICB0b0Fzc2lnbmFibGVMaXN0KFxuICAgICAgZXhwckxpc3Q6IE4uRXhwcmVzc2lvbltdLFxuICAgICAgdHJhaWxpbmdDb21tYUxvYzogUG9zaXRpb24gfCB1bmRlZmluZWQgfCBudWxsLFxuICAgICAgaXNMSFM6IGJvb2xlYW4sXG4gICAgKTogdm9pZCB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGV4cHJMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGV4cHIgPSBleHByTGlzdFtpXTtcbiAgICAgICAgaWYgKGV4cHI/LnR5cGUgPT09IFwiVHlwZUNhc3RFeHByZXNzaW9uXCIpIHtcbiAgICAgICAgICBleHByTGlzdFtpXSA9IHRoaXMudHlwZUNhc3RUb1BhcmFtZXRlcihleHByKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3VwZXIudG9Bc3NpZ25hYmxlTGlzdChleHByTGlzdCwgdHJhaWxpbmdDb21tYUxvYywgaXNMSFMpO1xuICAgIH1cblxuICAgIC8vIHRoaXMgaXMgYSBsaXN0IG9mIG5vZGVzLCBmcm9tIHNvbWV0aGluZyBsaWtlIGEgY2FsbCBleHByZXNzaW9uLCB3ZSBuZWVkIHRvIGZpbHRlciB0aGVcbiAgICAvLyB0eXBlIGNhc3RzIHRoYXQgd2UndmUgZm91bmQgdGhhdCBhcmUgaWxsZWdhbCBpbiB0aGlzIGNvbnRleHRcbiAgICB0b1JlZmVyZW5jZWRMaXN0KFxuICAgICAgZXhwckxpc3Q6XG4gICAgICAgIHwgUmVhZG9ubHlBcnJheTxOLkV4cHJlc3Npb24gfCBOLlNwcmVhZEVsZW1lbnQ+XG4gICAgICAgIHwgUmVhZG9ubHlBcnJheTxOLkV4cHJlc3Npb24gfCBOLlJlc3RFbGVtZW50PixcbiAgICAgIGlzUGFyZW50aGVzaXplZEV4cHI/OiBib29sZWFuLFxuICAgICk6XG4gICAgICB8IFJlYWRvbmx5QXJyYXk8Ti5FeHByZXNzaW9uIHwgTi5TcHJlYWRFbGVtZW50PlxuICAgICAgfCBSZWFkb25seUFycmF5PE4uRXhwcmVzc2lvbiB8IE4uUmVzdEVsZW1lbnQ+IHtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZXhwckxpc3QubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgZXhwciA9IGV4cHJMaXN0W2ldO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZXhwciAmJlxuICAgICAgICAgIGV4cHIudHlwZSA9PT0gXCJUeXBlQ2FzdEV4cHJlc3Npb25cIiAmJlxuICAgICAgICAgICFleHByLmV4dHJhPy5wYXJlbnRoZXNpemVkICYmXG4gICAgICAgICAgKGV4cHJMaXN0Lmxlbmd0aCA+IDEgfHwgIWlzUGFyZW50aGVzaXplZEV4cHIpXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMucmFpc2UoRmxvd0Vycm9ycy5UeXBlQ2FzdEluUGF0dGVybiwgZXhwci50eXBlQW5ub3RhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGV4cHJMaXN0O1xuICAgIH1cblxuICAgIHBhcnNlQXJyYXlMaWtlKFxuICAgICAgY2xvc2U6IFRva2VuVHlwZSxcbiAgICAgIGNhbkJlUGF0dGVybjogYm9vbGVhbixcbiAgICAgIGlzVHVwbGU6IGJvb2xlYW4sXG4gICAgICByZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwsXG4gICAgKTogTi5BcnJheUV4cHJlc3Npb24gfCBOLlR1cGxlRXhwcmVzc2lvbiB7XG4gICAgICBjb25zdCBub2RlID0gc3VwZXIucGFyc2VBcnJheUxpa2UoXG4gICAgICAgIGNsb3NlLFxuICAgICAgICBjYW5CZVBhdHRlcm4sXG4gICAgICAgIGlzVHVwbGUsXG4gICAgICAgIHJlZkV4cHJlc3Npb25FcnJvcnMsXG4gICAgICApO1xuXG4gICAgICAvLyBUaGlzIGNvdWxkIGJlIGFuIGFycmF5IHBhdHRlcm46XG4gICAgICAvLyAgIChbYTogc3RyaW5nLCBiOiBzdHJpbmddKSA9PiB7fVxuICAgICAgLy8gSW4gdGhpcyBjYXNlLCB3ZSBkb24ndCBoYXZlIHRvIGNhbGwgdG9SZWZlcmVuY2VkTGlzdC4gV2Ugd2lsbFxuICAgICAgLy8gY2FsbCBpdCwgaWYgbmVlZGVkLCB3aGVuIHdlIGFyZSBzdXJlIHRoYXQgaXQgaXMgYSBwYXJlbnRoZXNpemVkXG4gICAgICAvLyBleHByZXNzaW9uIGJ5IGNhbGxpbmcgdG9SZWZlcmVuY2VkTGlzdERlZXAuXG4gICAgICBpZiAoY2FuQmVQYXR0ZXJuICYmICF0aGlzLnN0YXRlLm1heWJlSW5BcnJvd1BhcmFtZXRlcnMpIHtcbiAgICAgICAgdGhpcy50b1JlZmVyZW5jZWRMaXN0KG5vZGUuZWxlbWVudHMpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG5cbiAgICBpc1ZhbGlkTFZhbCh0eXBlOiBzdHJpbmcsIGlzUGFyZW50aGVzaXplZDogYm9vbGVhbiwgYmluZGluZzogQmluZGluZ0ZsYWcpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHR5cGUgPT09IFwiVHlwZUNhc3RFeHByZXNzaW9uXCIgfHxcbiAgICAgICAgc3VwZXIuaXNWYWxpZExWYWwodHlwZSwgaXNQYXJlbnRoZXNpemVkLCBiaW5kaW5nKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBwYXJzZSBjbGFzcyBwcm9wZXJ0eSB0eXBlIGFubm90YXRpb25zXG4gICAgcGFyc2VDbGFzc1Byb3BlcnR5KG5vZGU6IE4uQ2xhc3NQcm9wZXJ0eSk6IE4uQ2xhc3NQcm9wZXJ0eSB7XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5jb2xvbikpIHtcbiAgICAgICAgbm9kZS50eXBlQW5ub3RhdGlvbiA9IHRoaXMuZmxvd1BhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdXBlci5wYXJzZUNsYXNzUHJvcGVydHkobm9kZSk7XG4gICAgfVxuXG4gICAgcGFyc2VDbGFzc1ByaXZhdGVQcm9wZXJ0eShcbiAgICAgIG5vZGU6IE4uQ2xhc3NQcml2YXRlUHJvcGVydHksXG4gICAgKTogTi5DbGFzc1ByaXZhdGVQcm9wZXJ0eSB7XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5jb2xvbikpIHtcbiAgICAgICAgbm9kZS50eXBlQW5ub3RhdGlvbiA9IHRoaXMuZmxvd1BhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdXBlci5wYXJzZUNsYXNzUHJpdmF0ZVByb3BlcnR5KG5vZGUpO1xuICAgIH1cblxuICAgIC8vIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB3ZSdyZSBjdXJyZW50bHkgaW4gdGhlIHBvc2l0aW9uIHdoZXJlIGEgY2xhc3MgbWV0aG9kIHdvdWxkIGFwcGVhclxuICAgIGlzQ2xhc3NNZXRob2QoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5tYXRjaCh0dC5sdCkgfHwgc3VwZXIuaXNDbGFzc01ldGhvZCgpO1xuICAgIH1cblxuICAgIC8vIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB3ZSdyZSBjdXJyZW50bHkgaW4gdGhlIHBvc2l0aW9uIHdoZXJlIGEgY2xhc3MgcHJvcGVydHkgd291bGQgYXBwZWFyXG4gICAgaXNDbGFzc1Byb3BlcnR5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIHRoaXMubWF0Y2godHQuY29sb24pIHx8IHN1cGVyLmlzQ2xhc3NQcm9wZXJ0eSgpO1xuICAgIH1cblxuICAgIGlzTm9uc3RhdGljQ29uc3RydWN0b3IobWV0aG9kOiBOLkNsYXNzTWV0aG9kIHwgTi5DbGFzc1Byb3BlcnR5KTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gIXRoaXMubWF0Y2godHQuY29sb24pICYmIHN1cGVyLmlzTm9uc3RhdGljQ29uc3RydWN0b3IobWV0aG9kKTtcbiAgICB9XG5cbiAgICAvLyBwYXJzZSB0eXBlIHBhcmFtZXRlcnMgZm9yIGNsYXNzIG1ldGhvZHNcbiAgICBwdXNoQ2xhc3NNZXRob2QoXG4gICAgICBjbGFzc0JvZHk6IE4uQ2xhc3NCb2R5LFxuICAgICAgbWV0aG9kOiBOLkNsYXNzTWV0aG9kLFxuICAgICAgaXNHZW5lcmF0b3I6IGJvb2xlYW4sXG4gICAgICBpc0FzeW5jOiBib29sZWFuLFxuICAgICAgaXNDb25zdHJ1Y3RvcjogYm9vbGVhbixcbiAgICAgIGFsbG93c0RpcmVjdFN1cGVyOiBib29sZWFuLFxuICAgICk6IHZvaWQge1xuICAgICAgaWYgKChtZXRob2QgYXMgYW55KS52YXJpYW5jZSkge1xuICAgICAgICB0aGlzLnVuZXhwZWN0ZWQoKG1ldGhvZCBhcyBhbnkpLnZhcmlhbmNlLmxvYy5zdGFydCk7XG4gICAgICB9XG4gICAgICBkZWxldGUgKG1ldGhvZCBhcyBhbnkpLnZhcmlhbmNlO1xuICAgICAgaWYgKHRoaXMubWF0Y2godHQubHQpKSB7XG4gICAgICAgIG1ldGhvZC50eXBlUGFyYW1ldGVycyA9IHRoaXMuZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG4gICAgICB9XG5cbiAgICAgIHN1cGVyLnB1c2hDbGFzc01ldGhvZChcbiAgICAgICAgY2xhc3NCb2R5LFxuICAgICAgICBtZXRob2QsXG4gICAgICAgIGlzR2VuZXJhdG9yLFxuICAgICAgICBpc0FzeW5jLFxuICAgICAgICBpc0NvbnN0cnVjdG9yLFxuICAgICAgICBhbGxvd3NEaXJlY3RTdXBlcixcbiAgICAgICk7XG5cbiAgICAgIGlmIChtZXRob2QucGFyYW1zICYmIGlzQ29uc3RydWN0b3IpIHtcbiAgICAgICAgY29uc3QgcGFyYW1zID0gbWV0aG9kLnBhcmFtcztcbiAgICAgICAgaWYgKHBhcmFtcy5sZW5ndGggPiAwICYmIHRoaXMuaXNUaGlzUGFyYW0ocGFyYW1zWzBdKSkge1xuICAgICAgICAgIHRoaXMucmFpc2UoRmxvd0Vycm9ycy5UaGlzUGFyYW1CYW5uZWRJbkNvbnN0cnVjdG9yLCBtZXRob2QpO1xuICAgICAgICB9XG4gICAgICAgIC8vIGVzdHJlZSBzdXBwb3J0XG4gICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRTIGRvZXMgbm90IGtub3cgYWJvdXQgdGhlIGZhY2UgdGhhdCBlc3RyZWUgY2FuIHJlcGxhY2UgQ2xhc3NNZXRob2Qgd2l0aCBNZXRob2REZWZpbml0aW9uXG4gICAgICAgIG1ldGhvZC50eXBlID09PSBcIk1ldGhvZERlZmluaXRpb25cIiAmJlxuICAgICAgICBpc0NvbnN0cnVjdG9yICYmXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgZXN0cmVlXG4gICAgICAgIG1ldGhvZC52YWx1ZS5wYXJhbXNcbiAgICAgICkge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGVzdHJlZVxuICAgICAgICBjb25zdCBwYXJhbXMgPSBtZXRob2QudmFsdWUucGFyYW1zO1xuICAgICAgICBpZiAocGFyYW1zLmxlbmd0aCA+IDAgJiYgdGhpcy5pc1RoaXNQYXJhbShwYXJhbXNbMF0pKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShGbG93RXJyb3JzLlRoaXNQYXJhbUJhbm5lZEluQ29uc3RydWN0b3IsIG1ldGhvZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBwdXNoQ2xhc3NQcml2YXRlTWV0aG9kKFxuICAgICAgY2xhc3NCb2R5OiBOLkNsYXNzQm9keSxcbiAgICAgIG1ldGhvZDogTi5DbGFzc1ByaXZhdGVNZXRob2QsXG4gICAgICBpc0dlbmVyYXRvcjogYm9vbGVhbixcbiAgICAgIGlzQXN5bmM6IGJvb2xlYW4sXG4gICAgKTogdm9pZCB7XG4gICAgICBpZiAoKG1ldGhvZCBhcyBhbnkpLnZhcmlhbmNlKSB7XG4gICAgICAgIHRoaXMudW5leHBlY3RlZCgobWV0aG9kIGFzIGFueSkudmFyaWFuY2UubG9jLnN0YXJ0KTtcbiAgICAgIH1cbiAgICAgIGRlbGV0ZSAobWV0aG9kIGFzIGFueSkudmFyaWFuY2U7XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5sdCkpIHtcbiAgICAgICAgbWV0aG9kLnR5cGVQYXJhbWV0ZXJzID0gdGhpcy5mbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTtcbiAgICAgIH1cblxuICAgICAgc3VwZXIucHVzaENsYXNzUHJpdmF0ZU1ldGhvZChjbGFzc0JvZHksIG1ldGhvZCwgaXNHZW5lcmF0b3IsIGlzQXN5bmMpO1xuICAgIH1cblxuICAgIC8vIHBhcnNlIGEgdGhlIHN1cGVyIGNsYXNzIHR5cGUgcGFyYW1ldGVycyBhbmQgaW1wbGVtZW50c1xuICAgIHBhcnNlQ2xhc3NTdXBlcihub2RlOiBOLkNsYXNzKTogdm9pZCB7XG4gICAgICBzdXBlci5wYXJzZUNsYXNzU3VwZXIobm9kZSk7XG4gICAgICBpZiAobm9kZS5zdXBlckNsYXNzICYmIHRoaXMubWF0Y2godHQubHQpKSB7XG4gICAgICAgIG5vZGUuc3VwZXJUeXBlUGFyYW1ldGVycyA9IHRoaXMuZmxvd1BhcnNlVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb24oKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmlzQ29udGV4dHVhbCh0dC5faW1wbGVtZW50cykpIHtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIGNvbnN0IGltcGxlbWVudGVkOiBOLkZsb3dDbGFzc0ltcGxlbWVudHNbXSA9IChub2RlLmltcGxlbWVudHMgPSBbXSk7XG4gICAgICAgIGRvIHtcbiAgICAgICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5GbG93Q2xhc3NJbXBsZW1lbnRzPigpO1xuICAgICAgICAgIG5vZGUuaWQgPSB0aGlzLmZsb3dQYXJzZVJlc3RyaWN0ZWRJZGVudGlmaWVyKC8qbGliZXJhbCovIHRydWUpO1xuICAgICAgICAgIGlmICh0aGlzLm1hdGNoKHR0Lmx0KSkge1xuICAgICAgICAgICAgbm9kZS50eXBlUGFyYW1ldGVycyA9IHRoaXMuZmxvd1BhcnNlVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb24oKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbm9kZS50eXBlUGFyYW1ldGVycyA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICAgIGltcGxlbWVudGVkLnB1c2godGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiQ2xhc3NJbXBsZW1lbnRzXCIpKTtcbiAgICAgICAgfSB3aGlsZSAodGhpcy5lYXQodHQuY29tbWEpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja0dldHRlclNldHRlclBhcmFtcyhtZXRob2Q6IE4uT2JqZWN0TWV0aG9kIHwgTi5DbGFzc01ldGhvZCk6IHZvaWQge1xuICAgICAgc3VwZXIuY2hlY2tHZXR0ZXJTZXR0ZXJQYXJhbXMobWV0aG9kKTtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHRoaXMuZ2V0T2JqZWN0T3JDbGFzc01ldGhvZFBhcmFtcyhtZXRob2QpO1xuICAgICAgaWYgKHBhcmFtcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGNvbnN0IHBhcmFtID0gcGFyYW1zWzBdO1xuICAgICAgICBpZiAodGhpcy5pc1RoaXNQYXJhbShwYXJhbSkgJiYgbWV0aG9kLmtpbmQgPT09IFwiZ2V0XCIpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEZsb3dFcnJvcnMuR2V0dGVyTWF5Tm90SGF2ZVRoaXNQYXJhbSwgcGFyYW0pO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNUaGlzUGFyYW0ocGFyYW0pKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShGbG93RXJyb3JzLlNldHRlck1heU5vdEhhdmVUaGlzUGFyYW0sIHBhcmFtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHBhcnNlUHJvcGVydHlOYW1lUHJlZml4T3BlcmF0b3IoXG4gICAgICBub2RlOiBOLk9iamVjdE9yQ2xhc3NNZW1iZXIgfCBOLkNsYXNzTWVtYmVyLFxuICAgICk6IHZvaWQge1xuICAgICAgbm9kZS52YXJpYW5jZSA9IHRoaXMuZmxvd1BhcnNlVmFyaWFuY2UoKTtcbiAgICB9XG5cbiAgICAvLyBwYXJzZSB0eXBlIHBhcmFtZXRlcnMgZm9yIG9iamVjdCBtZXRob2Qgc2hvcnRoYW5kXG4gICAgcGFyc2VPYmpQcm9wVmFsdWU8VCBleHRlbmRzIE4uT2JqZWN0TWVtYmVyPihcbiAgICAgIHByb3A6IFVuZG9uZTxUPixcbiAgICAgIHN0YXJ0TG9jOiBQb3NpdGlvbiB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICAgICBpc0dlbmVyYXRvcjogYm9vbGVhbixcbiAgICAgIGlzQXN5bmM6IGJvb2xlYW4sXG4gICAgICBpc1BhdHRlcm46IGJvb2xlYW4sXG4gICAgICBpc0FjY2Vzc29yOiBib29sZWFuLFxuICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycz86IEV4cHJlc3Npb25FcnJvcnMgfCBudWxsLFxuICAgICk6IFQge1xuICAgICAgaWYgKChwcm9wIGFzIGFueSkudmFyaWFuY2UpIHtcbiAgICAgICAgdGhpcy51bmV4cGVjdGVkKChwcm9wIGFzIGFueSkudmFyaWFuY2UubG9jLnN0YXJ0KTtcbiAgICAgIH1cbiAgICAgIGRlbGV0ZSAocHJvcCBhcyBhbnkpLnZhcmlhbmNlO1xuXG4gICAgICBsZXQgdHlwZVBhcmFtZXRlcnM7XG5cbiAgICAgIC8vIG1ldGhvZCBzaG9ydGhhbmRcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0Lmx0KSAmJiAhaXNBY2Nlc3Nvcikge1xuICAgICAgICB0eXBlUGFyYW1ldGVycyA9IHRoaXMuZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG4gICAgICAgIGlmICghdGhpcy5tYXRjaCh0dC5wYXJlbkwpKSB0aGlzLnVuZXhwZWN0ZWQoKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzdWx0ID0gc3VwZXIucGFyc2VPYmpQcm9wVmFsdWUoXG4gICAgICAgIHByb3AsXG4gICAgICAgIHN0YXJ0TG9jLFxuICAgICAgICBpc0dlbmVyYXRvcixcbiAgICAgICAgaXNBc3luYyxcbiAgICAgICAgaXNQYXR0ZXJuLFxuICAgICAgICBpc0FjY2Vzc29yLFxuICAgICAgICByZWZFeHByZXNzaW9uRXJyb3JzLFxuICAgICAgKTtcblxuICAgICAgLy8gYWRkIHR5cGVQYXJhbWV0ZXJzIGlmIHdlIGZvdW5kIHRoZW1cbiAgICAgIGlmICh0eXBlUGFyYW1ldGVycykge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiByZWZpbmUgdHlwaW5nc1xuICAgICAgICAocmVzdWx0LnZhbHVlIHx8IHJlc3VsdCkudHlwZVBhcmFtZXRlcnMgPSB0eXBlUGFyYW1ldGVycztcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcGFyc2VGdW5jdGlvblBhcmFtVHlwZShwYXJhbTogTi5QYXR0ZXJuKTogTi5QYXR0ZXJuIHtcbiAgICAgIGlmICh0aGlzLmVhdCh0dC5xdWVzdGlvbikpIHtcbiAgICAgICAgaWYgKHBhcmFtLnR5cGUgIT09IFwiSWRlbnRpZmllclwiKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShGbG93RXJyb3JzLlBhdHRlcm5Jc09wdGlvbmFsLCBwYXJhbSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuaXNUaGlzUGFyYW0ocGFyYW0pKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShGbG93RXJyb3JzLlRoaXNQYXJhbU1heU5vdEJlT3B0aW9uYWwsIHBhcmFtKTtcbiAgICAgICAgfVxuXG4gICAgICAgIChwYXJhbSBhcyBhbnkgYXMgTi5JZGVudGlmaWVyKS5vcHRpb25hbCA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5jb2xvbikpIHtcbiAgICAgICAgcGFyYW0udHlwZUFubm90YXRpb24gPSB0aGlzLmZsb3dQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNUaGlzUGFyYW0ocGFyYW0pKSB7XG4gICAgICAgIHRoaXMucmFpc2UoRmxvd0Vycm9ycy5UaGlzUGFyYW1Bbm5vdGF0aW9uUmVxdWlyZWQsIHBhcmFtKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubWF0Y2godHQuZXEpICYmIHRoaXMuaXNUaGlzUGFyYW0ocGFyYW0pKSB7XG4gICAgICAgIHRoaXMucmFpc2UoRmxvd0Vycm9ycy5UaGlzUGFyYW1Ob0RlZmF1bHQsIHBhcmFtKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5yZXNldEVuZExvY2F0aW9uKHBhcmFtKTtcbiAgICAgIHJldHVybiBwYXJhbTtcbiAgICB9XG5cbiAgICBwYXJzZU1heWJlRGVmYXVsdChcbiAgICAgIHN0YXJ0TG9jPzogUG9zaXRpb24gfCBudWxsLFxuICAgICAgbGVmdD86IE4uUGF0dGVybiB8IG51bGwsXG4gICAgKTogTi5QYXR0ZXJuIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBzdXBlci5wYXJzZU1heWJlRGVmYXVsdChzdGFydExvYywgbGVmdCk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgbm9kZS50eXBlID09PSBcIkFzc2lnbm1lbnRQYXR0ZXJuXCIgJiZcbiAgICAgICAgbm9kZS50eXBlQW5ub3RhdGlvbiAmJlxuICAgICAgICBub2RlLnJpZ2h0LnN0YXJ0IDwgbm9kZS50eXBlQW5ub3RhdGlvbi5zdGFydFxuICAgICAgKSB7XG4gICAgICAgIHRoaXMucmFpc2UoRmxvd0Vycm9ycy5UeXBlQmVmb3JlSW5pdGlhbGl6ZXIsIG5vZGUudHlwZUFubm90YXRpb24pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG5cbiAgICBjaGVja0ltcG9ydFJlZmxlY3Rpb24obm9kZTogVW5kb25lPE4uSW1wb3J0RGVjbGFyYXRpb24+KSB7XG4gICAgICBzdXBlci5jaGVja0ltcG9ydFJlZmxlY3Rpb24obm9kZSk7XG4gICAgICBpZiAobm9kZS5tb2R1bGUgJiYgbm9kZS5pbXBvcnRLaW5kICE9PSBcInZhbHVlXCIpIHtcbiAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICBGbG93RXJyb3JzLkltcG9ydFJlZmxlY3Rpb25IYXNJbXBvcnRUeXBlLFxuICAgICAgICAgIG5vZGUuc3BlY2lmaWVyc1swXS5sb2Muc3RhcnQsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcGFyc2VJbXBvcnRTcGVjaWZpZXJMb2NhbDxcbiAgICAgIFQgZXh0ZW5kc1xuICAgICAgICB8IE4uSW1wb3J0U3BlY2lmaWVyXG4gICAgICAgIHwgTi5JbXBvcnREZWZhdWx0U3BlY2lmaWVyXG4gICAgICAgIHwgTi5JbXBvcnROYW1lc3BhY2VTcGVjaWZpZXIsXG4gICAgPihub2RlOiBOLkltcG9ydERlY2xhcmF0aW9uLCBzcGVjaWZpZXI6IFVuZG9uZTxUPiwgdHlwZTogVFtcInR5cGVcIl0pOiB2b2lkIHtcbiAgICAgIHNwZWNpZmllci5sb2NhbCA9IGhhc1R5cGVJbXBvcnRLaW5kKG5vZGUpXG4gICAgICAgID8gdGhpcy5mbG93UGFyc2VSZXN0cmljdGVkSWRlbnRpZmllcihcbiAgICAgICAgICAgIC8qIGxpYmVyYWwgKi8gdHJ1ZSxcbiAgICAgICAgICAgIC8qIGRlY2xhcmF0aW9uICovIHRydWUsXG4gICAgICAgICAgKVxuICAgICAgICA6IHRoaXMucGFyc2VJZGVudGlmaWVyKCk7XG5cbiAgICAgIG5vZGUuc3BlY2lmaWVycy5wdXNoKHRoaXMuZmluaXNoSW1wb3J0U3BlY2lmaWVyKHNwZWNpZmllciwgdHlwZSkpO1xuICAgIH1cblxuICAgIGlzUG90ZW50aWFsSW1wb3J0UGhhc2UoaXNFeHBvcnQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICAgIGlmIChzdXBlci5pc1BvdGVudGlhbEltcG9ydFBoYXNlKGlzRXhwb3J0KSkgcmV0dXJuIHRydWU7XG4gICAgICBpZiAodGhpcy5pc0NvbnRleHR1YWwodHQuX3R5cGUpKSB7XG4gICAgICAgIGlmICghaXNFeHBvcnQpIHJldHVybiB0cnVlO1xuICAgICAgICBjb25zdCBjaCA9IHRoaXMubG9va2FoZWFkQ2hhckNvZGUoKTtcbiAgICAgICAgcmV0dXJuIGNoID09PSBjaGFyQ29kZXMubGVmdEN1cmx5QnJhY2UgfHwgY2ggPT09IGNoYXJDb2Rlcy5hc3RlcmlzaztcbiAgICAgIH1cbiAgICAgIHJldHVybiAhaXNFeHBvcnQgJiYgdGhpcy5pc0NvbnRleHR1YWwodHQuX3R5cGVvZik7XG4gICAgfVxuXG4gICAgYXBwbHlJbXBvcnRQaGFzZShcbiAgICAgIG5vZGU6IFVuZG9uZTxOLkltcG9ydERlY2xhcmF0aW9uIHwgTi5FeHBvcnROYW1lZERlY2xhcmF0aW9uPixcbiAgICAgIGlzRXhwb3J0OiBib29sZWFuLFxuICAgICAgcGhhc2U6IHN0cmluZyB8IG51bGwsXG4gICAgICBsb2M/OiBQb3NpdGlvbixcbiAgICApOiB2b2lkIHtcbiAgICAgIHN1cGVyLmFwcGx5SW1wb3J0UGhhc2Uobm9kZSwgaXNFeHBvcnQsIHBoYXNlLCBsb2MpO1xuICAgICAgaWYgKGlzRXhwb3J0KSB7XG4gICAgICAgIGlmICghcGhhc2UgJiYgdGhpcy5tYXRjaCh0dC5fZGVmYXVsdCkpIHtcbiAgICAgICAgICAvLyBUT0RPOiBBbGlnbiB3aXRoIG91ciBUUyBBU1QgYW5kIGFsd2F5cyBhZGQgLmV4cG9ydEtpbmRcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgKG5vZGUgYXMgTi5FeHBvcnROYW1lZERlY2xhcmF0aW9uKS5leHBvcnRLaW5kID1cbiAgICAgICAgICBwaGFzZSA9PT0gXCJ0eXBlXCIgPyBwaGFzZSA6IFwidmFsdWVcIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChwaGFzZSA9PT0gXCJ0eXBlXCIgJiYgdGhpcy5tYXRjaCh0dC5zdGFyKSkgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgICAgIChub2RlIGFzIE4uSW1wb3J0RGVjbGFyYXRpb24pLmltcG9ydEtpbmQgPVxuICAgICAgICAgIHBoYXNlID09PSBcInR5cGVcIiB8fCBwaGFzZSA9PT0gXCJ0eXBlb2ZcIiA/IHBoYXNlIDogXCJ2YWx1ZVwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHBhcnNlIGltcG9ydC10eXBlL3R5cGVvZiBzaG9ydGhhbmRcbiAgICBwYXJzZUltcG9ydFNwZWNpZmllcihcbiAgICAgIHNwZWNpZmllcjogYW55LFxuICAgICAgaW1wb3J0ZWRJc1N0cmluZzogYm9vbGVhbixcbiAgICAgIGlzSW5UeXBlT25seUltcG9ydDogYm9vbGVhbixcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgIGlzTWF5YmVUeXBlT25seTogYm9vbGVhbixcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICAgIGJpbmRpbmdUeXBlOiBCaW5kaW5nRmxhZyB8IHVuZGVmaW5lZCxcbiAgICApOiBOLkltcG9ydFNwZWNpZmllciB7XG4gICAgICBjb25zdCBmaXJzdElkZW50ID0gc3BlY2lmaWVyLmltcG9ydGVkO1xuXG4gICAgICBsZXQgc3BlY2lmaWVyVHlwZUtpbmQgPSBudWxsO1xuICAgICAgaWYgKGZpcnN0SWRlbnQudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIpIHtcbiAgICAgICAgaWYgKGZpcnN0SWRlbnQubmFtZSA9PT0gXCJ0eXBlXCIpIHtcbiAgICAgICAgICBzcGVjaWZpZXJUeXBlS2luZCA9IFwidHlwZVwiO1xuICAgICAgICB9IGVsc2UgaWYgKGZpcnN0SWRlbnQubmFtZSA9PT0gXCJ0eXBlb2ZcIikge1xuICAgICAgICAgIHNwZWNpZmllclR5cGVLaW5kID0gXCJ0eXBlb2ZcIjtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBsZXQgaXNCaW5kaW5nID0gZmFsc2U7XG4gICAgICBpZiAodGhpcy5pc0NvbnRleHR1YWwodHQuX2FzKSAmJiAhdGhpcy5pc0xvb2thaGVhZENvbnRleHR1YWwoXCJhc1wiKSkge1xuICAgICAgICBjb25zdCBhc19pZGVudCA9IHRoaXMucGFyc2VJZGVudGlmaWVyKHRydWUpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgc3BlY2lmaWVyVHlwZUtpbmQgIT09IG51bGwgJiZcbiAgICAgICAgICAhdG9rZW5Jc0tleXdvcmRPcklkZW50aWZpZXIodGhpcy5zdGF0ZS50eXBlKVxuICAgICAgICApIHtcbiAgICAgICAgICAvLyBgaW1wb3J0IHt0eXBlIGFzICxgIG9yIGBpbXBvcnQge3R5cGUgYXMgfWBcbiAgICAgICAgICBzcGVjaWZpZXIuaW1wb3J0ZWQgPSBhc19pZGVudDtcbiAgICAgICAgICBzcGVjaWZpZXIuaW1wb3J0S2luZCA9IHNwZWNpZmllclR5cGVLaW5kO1xuICAgICAgICAgIHNwZWNpZmllci5sb2NhbCA9IGNsb25lSWRlbnRpZmllcihhc19pZGVudCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gYGltcG9ydCB7dHlwZSBhcyBmb29gXG4gICAgICAgICAgc3BlY2lmaWVyLmltcG9ydGVkID0gZmlyc3RJZGVudDtcbiAgICAgICAgICBzcGVjaWZpZXIuaW1wb3J0S2luZCA9IG51bGw7XG4gICAgICAgICAgc3BlY2lmaWVyLmxvY2FsID0gdGhpcy5wYXJzZUlkZW50aWZpZXIoKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHNwZWNpZmllclR5cGVLaW5kICE9PSBudWxsICYmXG4gICAgICAgICAgdG9rZW5Jc0tleXdvcmRPcklkZW50aWZpZXIodGhpcy5zdGF0ZS50eXBlKVxuICAgICAgICApIHtcbiAgICAgICAgICAvLyBgaW1wb3J0IHt0eXBlIGZvb2BcbiAgICAgICAgICBzcGVjaWZpZXIuaW1wb3J0ZWQgPSB0aGlzLnBhcnNlSWRlbnRpZmllcih0cnVlKTtcbiAgICAgICAgICBzcGVjaWZpZXIuaW1wb3J0S2luZCA9IHNwZWNpZmllclR5cGVLaW5kO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChpbXBvcnRlZElzU3RyaW5nKSB7XG4gICAgICAgICAgICAvKjo6IGludmFyaWFudChmaXJzdElkZW50IGluc3RhbmNlb2YgTi5TdHJpbmdMaXRlcmFsKSAqL1xuICAgICAgICAgICAgdGhyb3cgdGhpcy5yYWlzZShFcnJvcnMuSW1wb3J0QmluZGluZ0lzU3RyaW5nLCBzcGVjaWZpZXIsIHtcbiAgICAgICAgICAgICAgaW1wb3J0TmFtZTogZmlyc3RJZGVudC52YWx1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvKjo6IGludmFyaWFudChmaXJzdElkZW50IGluc3RhbmNlb2YgTi5Ob2RlKSAqL1xuICAgICAgICAgIHNwZWNpZmllci5pbXBvcnRlZCA9IGZpcnN0SWRlbnQ7XG4gICAgICAgICAgc3BlY2lmaWVyLmltcG9ydEtpbmQgPSBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZWF0Q29udGV4dHVhbCh0dC5fYXMpKSB7XG4gICAgICAgICAgc3BlY2lmaWVyLmxvY2FsID0gdGhpcy5wYXJzZUlkZW50aWZpZXIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpc0JpbmRpbmcgPSB0cnVlO1xuICAgICAgICAgIHNwZWNpZmllci5sb2NhbCA9IGNsb25lSWRlbnRpZmllcihzcGVjaWZpZXIuaW1wb3J0ZWQpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHNwZWNpZmllcklzVHlwZUltcG9ydCA9IGhhc1R5cGVJbXBvcnRLaW5kKHNwZWNpZmllcik7XG5cbiAgICAgIGlmIChpc0luVHlwZU9ubHlJbXBvcnQgJiYgc3BlY2lmaWVySXNUeXBlSW1wb3J0KSB7XG4gICAgICAgIHRoaXMucmFpc2UoRmxvd0Vycm9ycy5JbXBvcnRUeXBlU2hvcnRoYW5kT25seUluUHVyZUltcG9ydCwgc3BlY2lmaWVyKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGlzSW5UeXBlT25seUltcG9ydCB8fCBzcGVjaWZpZXJJc1R5cGVJbXBvcnQpIHtcbiAgICAgICAgdGhpcy5jaGVja1Jlc2VydmVkVHlwZShcbiAgICAgICAgICBzcGVjaWZpZXIubG9jYWwubmFtZSxcbiAgICAgICAgICBzcGVjaWZpZXIubG9jYWwubG9jLnN0YXJ0LFxuICAgICAgICAgIC8qIGRlY2xhcmF0aW9uICovIHRydWUsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChpc0JpbmRpbmcgJiYgIWlzSW5UeXBlT25seUltcG9ydCAmJiAhc3BlY2lmaWVySXNUeXBlSW1wb3J0KSB7XG4gICAgICAgIHRoaXMuY2hlY2tSZXNlcnZlZFdvcmQoXG4gICAgICAgICAgc3BlY2lmaWVyLmxvY2FsLm5hbWUsXG4gICAgICAgICAgc3BlY2lmaWVyLmxvYy5zdGFydCxcbiAgICAgICAgICB0cnVlLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaEltcG9ydFNwZWNpZmllcihzcGVjaWZpZXIsIFwiSW1wb3J0U3BlY2lmaWVyXCIpO1xuICAgIH1cblxuICAgIHBhcnNlQmluZGluZ0F0b20oKTogTi5QYXR0ZXJuIHtcbiAgICAgIHN3aXRjaCAodGhpcy5zdGF0ZS50eXBlKSB7XG4gICAgICAgIGNhc2UgdHQuX3RoaXM6XG4gICAgICAgICAgLy8gXCJ0aGlzXCIgbWF5IGJlIHRoZSBuYW1lIG9mIGEgcGFyYW1ldGVyLCBzbyBhbGxvdyBpdC5cbiAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUlkZW50aWZpZXIoLyogbGliZXJhbCAqLyB0cnVlKTtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4gc3VwZXIucGFyc2VCaW5kaW5nQXRvbSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHBhcnNlIGZ1bmN0aW9uIHR5cGUgcGFyYW1ldGVycyAtIGZ1bmN0aW9uIGZvbzxUPigpIHt9XG4gICAgcGFyc2VGdW5jdGlvblBhcmFtcyhcbiAgICAgIG5vZGU6IFVuZG9uZTxOLkZ1bmN0aW9uPixcbiAgICAgIGlzQ29uc3RydWN0b3I6IGJvb2xlYW4sXG4gICAgKTogdm9pZCB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGtpbmQgbWF5IG5vdCBpbmRleCBub2RlXG4gICAgICBjb25zdCBraW5kID0gbm9kZS5raW5kO1xuICAgICAgaWYgKGtpbmQgIT09IFwiZ2V0XCIgJiYga2luZCAhPT0gXCJzZXRcIiAmJiB0aGlzLm1hdGNoKHR0Lmx0KSkge1xuICAgICAgICBub2RlLnR5cGVQYXJhbWV0ZXJzID0gdGhpcy5mbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTtcbiAgICAgIH1cbiAgICAgIHN1cGVyLnBhcnNlRnVuY3Rpb25QYXJhbXMobm9kZSwgaXNDb25zdHJ1Y3Rvcik7XG4gICAgfVxuXG4gICAgLy8gcGFyc2UgZmxvdyB0eXBlIGFubm90YXRpb25zIG9uIHZhcmlhYmxlIGRlY2xhcmF0b3IgaGVhZHMgLSBsZXQgZm9vOiBzdHJpbmcgPSBiYXJcbiAgICBwYXJzZVZhcklkKFxuICAgICAgZGVjbDogTi5WYXJpYWJsZURlY2xhcmF0b3IsXG4gICAgICBraW5kOiBcInZhclwiIHwgXCJsZXRcIiB8IFwiY29uc3RcIixcbiAgICApOiB2b2lkIHtcbiAgICAgIHN1cGVyLnBhcnNlVmFySWQoZGVjbCwga2luZCk7XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5jb2xvbikpIHtcbiAgICAgICAgZGVjbC5pZC50eXBlQW5ub3RhdGlvbiA9IHRoaXMuZmxvd1BhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgICAgICAgdGhpcy5yZXNldEVuZExvY2F0aW9uKGRlY2wuaWQpOyAvLyBzZXQgZW5kIHBvc2l0aW9uIHRvIGVuZCBvZiB0eXBlXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gcGFyc2UgdGhlIHJldHVybiB0eXBlIG9mIGFuIGFzeW5jIGFycm93IGZ1bmN0aW9uIC0gbGV0IGZvbyA9IChhc3luYyAoKTogbnVtYmVyID0+IHt9KTtcbiAgICBwYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24oXG4gICAgICBub2RlOiBOLkFycm93RnVuY3Rpb25FeHByZXNzaW9uLFxuICAgICAgY2FsbDogTi5DYWxsRXhwcmVzc2lvbixcbiAgICApOiBOLkFycm93RnVuY3Rpb25FeHByZXNzaW9uIHtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmNvbG9uKSkge1xuICAgICAgICBjb25zdCBvbGROb0Fub25GdW5jdGlvblR5cGUgPSB0aGlzLnN0YXRlLm5vQW5vbkZ1bmN0aW9uVHlwZTtcbiAgICAgICAgdGhpcy5zdGF0ZS5ub0Fub25GdW5jdGlvblR5cGUgPSB0cnVlO1xuICAgICAgICBub2RlLnJldHVyblR5cGUgPSB0aGlzLmZsb3dQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gICAgICAgIHRoaXMuc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlID0gb2xkTm9Bbm9uRnVuY3Rpb25UeXBlO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3VwZXIucGFyc2VBc3luY0Fycm93RnJvbUNhbGxFeHByZXNzaW9uKG5vZGUsIGNhbGwpO1xuICAgIH1cblxuICAgIC8vIHRvZG8gZGVzY3JpcHRpb25cbiAgICBzaG91bGRQYXJzZUFzeW5jQXJyb3coKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5tYXRjaCh0dC5jb2xvbikgfHwgc3VwZXIuc2hvdWxkUGFyc2VBc3luY0Fycm93KCk7XG4gICAgfVxuXG4gICAgLy8gV2UgbmVlZCB0byBzdXBwb3J0IHR5cGUgcGFyYW1ldGVyIGRlY2xhcmF0aW9ucyBmb3IgYXJyb3cgZnVuY3Rpb25zLiBUaGlzXG4gICAgLy8gaXMgdHJpY2t5LiBUaGVyZSBhcmUgdGhyZWUgc2l0dWF0aW9ucyB3ZSBuZWVkIHRvIGhhbmRsZVxuICAgIC8vXG4gICAgLy8gMS4gVGhpcyBpcyBlaXRoZXIgSlNYIG9yIGFuIGFycm93IGZ1bmN0aW9uLiBXZSdsbCB0cnkgSlNYIGZpcnN0LiBJZiB0aGF0XG4gICAgLy8gICAgZmFpbHMsIHdlJ2xsIHRyeSBhbiBhcnJvdyBmdW5jdGlvbi4gSWYgdGhhdCBmYWlscywgd2UnbGwgdGhyb3cgdGhlIEpTWFxuICAgIC8vICAgIGVycm9yLlxuICAgIC8vIDIuIFRoaXMgaXMgYW4gYXJyb3cgZnVuY3Rpb24uIFdlJ2xsIHBhcnNlIHRoZSB0eXBlIHBhcmFtZXRlciBkZWNsYXJhdGlvbixcbiAgICAvLyAgICBwYXJzZSB0aGUgcmVzdCwgbWFrZSBzdXJlIHRoZSByZXN0IGlzIGFuIGFycm93IGZ1bmN0aW9uLCBhbmQgZ28gZnJvbVxuICAgIC8vICAgIHRoZXJlXG4gICAgLy8gMy4gVGhpcyBpcyBuZWl0aGVyLiBKdXN0IGNhbGwgdGhlIHN1cGVyIG1ldGhvZFxuICAgIHBhcnNlTWF5YmVBc3NpZ24oXG4gICAgICByZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwsXG4gICAgICBhZnRlckxlZnRQYXJzZT86IEZ1bmN0aW9uLFxuICAgICk6IE4uRXhwcmVzc2lvbiB7XG4gICAgICBsZXQgc3RhdGUgPSBudWxsO1xuXG4gICAgICBsZXQganN4O1xuXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuaGFzUGx1Z2luKFwianN4XCIpICYmXG4gICAgICAgICh0aGlzLm1hdGNoKHR0LmpzeFRhZ1N0YXJ0KSB8fCB0aGlzLm1hdGNoKHR0Lmx0KSlcbiAgICAgICkge1xuICAgICAgICBzdGF0ZSA9IHRoaXMuc3RhdGUuY2xvbmUoKTtcblxuICAgICAgICBqc3ggPSB0aGlzLnRyeVBhcnNlKFxuICAgICAgICAgICgpID0+IHN1cGVyLnBhcnNlTWF5YmVBc3NpZ24ocmVmRXhwcmVzc2lvbkVycm9ycywgYWZ0ZXJMZWZ0UGFyc2UpLFxuICAgICAgICAgIHN0YXRlLFxuICAgICAgICApO1xuXG4gICAgICAgIC8qOjogaW52YXJpYW50KCFqc3guYWJvcnRlZCkgKi9cbiAgICAgICAgLyo6OiBpbnZhcmlhbnQoanN4Lm5vZGUgIT0gbnVsbCkgKi9cbiAgICAgICAgaWYgKCFqc3guZXJyb3IpIHJldHVybiBqc3gubm9kZTtcblxuICAgICAgICAvLyBSZW1vdmUgYHRjLmpfZXhwcmAgYW5kIGB0Yy5qX29UYWdgIGZyb20gY29udGV4dCBhZGRlZFxuICAgICAgICAvLyBieSBwYXJzaW5nIGBqc3hUYWdTdGFydGAgdG8gc3RvcCB0aGUgSlNYIHBsdWdpbiBmcm9tXG4gICAgICAgIC8vIG1lc3Npbmcgd2l0aCB0aGUgdG9rZW5zXG4gICAgICAgIGNvbnN0IHsgY29udGV4dCB9ID0gdGhpcy5zdGF0ZTtcbiAgICAgICAgY29uc3QgY3VycmVudENvbnRleHQgPSBjb250ZXh0W2NvbnRleHQubGVuZ3RoIC0gMV07XG4gICAgICAgIGlmIChjdXJyZW50Q29udGV4dCA9PT0gdGMual9vVGFnIHx8IGN1cnJlbnRDb250ZXh0ID09PSB0Yy5qX2V4cHIpIHtcbiAgICAgICAgICBjb250ZXh0LnBvcCgpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChqc3g/LmVycm9yIHx8IHRoaXMubWF0Y2godHQubHQpKSB7XG4gICAgICAgIHN0YXRlID0gc3RhdGUgfHwgdGhpcy5zdGF0ZS5jbG9uZSgpO1xuXG4gICAgICAgIGxldCB0eXBlUGFyYW1ldGVyczogTi5UeXBlUGFyYW1ldGVyRGVjbGFyYXRpb247XG5cbiAgICAgICAgY29uc3QgYXJyb3cgPSB0aGlzLnRyeVBhcnNlKChhYm9ydDogKCkgPT4gbmV2ZXIpID0+IHtcbiAgICAgICAgICB0eXBlUGFyYW1ldGVycyA9IHRoaXMuZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk7XG5cbiAgICAgICAgICBjb25zdCBhcnJvd0V4cHJlc3Npb24gPSB0aGlzLmZvcndhcmROb0Fycm93UGFyYW1zQ29udmVyc2lvbkF0KFxuICAgICAgICAgICAgdHlwZVBhcmFtZXRlcnMsXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHN1cGVyLnBhcnNlTWF5YmVBc3NpZ24oXG4gICAgICAgICAgICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycyxcbiAgICAgICAgICAgICAgICBhZnRlckxlZnRQYXJzZSxcbiAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICB0aGlzLnJlc2V0U3RhcnRMb2NhdGlvbkZyb21Ob2RlKHJlc3VsdCwgdHlwZVBhcmFtZXRlcnMpO1xuXG4gICAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICAvLyA8VD4oKCkgPT4ge30pO1xuICAgICAgICAgIC8vIDxUPigoKSA9PiB7fTogYW55KTtcbiAgICAgICAgICBpZiAoYXJyb3dFeHByZXNzaW9uLmV4dHJhPy5wYXJlbnRoZXNpemVkKSBhYm9ydCgpO1xuXG4gICAgICAgICAgLy8gVGhlIGFib3ZlIGNhbiByZXR1cm4gYSBUeXBlQ2FzdEV4cHJlc3Npb24gd2hlbiB0aGUgYXJyb3dcbiAgICAgICAgICAvLyBleHByZXNzaW9uIGlzIG5vdCB3cmFwcGVkIGluIHBhcmVucy4gU2VlIGFsc28gYHRoaXMucGFyc2VQYXJlbkl0ZW1gLlxuICAgICAgICAgIC8vICg8VD4oKSA9PiB7fTogYW55KTtcbiAgICAgICAgICBjb25zdCBleHByID0gdGhpcy5tYXliZVVud3JhcFR5cGVDYXN0RXhwcmVzc2lvbihhcnJvd0V4cHJlc3Npb24pO1xuXG4gICAgICAgICAgaWYgKGV4cHIudHlwZSAhPT0gXCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiKSBhYm9ydCgpO1xuXG4gICAgICAgICAgZXhwci50eXBlUGFyYW1ldGVycyA9IHR5cGVQYXJhbWV0ZXJzO1xuICAgICAgICAgIHRoaXMucmVzZXRTdGFydExvY2F0aW9uRnJvbU5vZGUoZXhwciwgdHlwZVBhcmFtZXRlcnMpO1xuXG4gICAgICAgICAgcmV0dXJuIGFycm93RXhwcmVzc2lvbjtcbiAgICAgICAgfSwgc3RhdGUpO1xuXG4gICAgICAgIGxldCBhcnJvd0V4cHJlc3Npb246XG4gICAgICAgICAgfCBOLkFycm93RnVuY3Rpb25FeHByZXNzaW9uXG4gICAgICAgICAgfCBOLlR5cGVDYXN0RXhwcmVzc2lvblxuICAgICAgICAgIHwgdW5kZWZpbmVkXG4gICAgICAgICAgfCBudWxsID0gbnVsbDtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgYXJyb3cubm9kZSAmJlxuICAgICAgICAgIHRoaXMubWF5YmVVbndyYXBUeXBlQ2FzdEV4cHJlc3Npb24oYXJyb3cubm9kZSkudHlwZSA9PT1cbiAgICAgICAgICAgIFwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIlxuICAgICAgICApIHtcbiAgICAgICAgICBpZiAoIWFycm93LmVycm9yICYmICFhcnJvdy5hYm9ydGVkKSB7XG4gICAgICAgICAgICAvLyA8VD4gYXN5bmMgKCkgPT4ge31cbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IHJlZmluZSB0cnlQYXJzZSB0eXBpbmdzXG4gICAgICAgICAgICBpZiAoYXJyb3cubm9kZS5hc3luYykge1xuICAgICAgICAgICAgICAvKjo6IGludmFyaWFudCh0eXBlUGFyYW1ldGVycykgKi9cbiAgICAgICAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICAgICAgICBGbG93RXJyb3JzLlVuZXhwZWN0ZWRUeXBlUGFyYW1ldGVyQmVmb3JlQXN5bmNBcnJvd0Z1bmN0aW9uLFxuICAgICAgICAgICAgICAgIHR5cGVQYXJhbWV0ZXJzLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGFycm93Lm5vZGU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogcmVmaW5lIHR5cGluZ3NcbiAgICAgICAgICBhcnJvd0V4cHJlc3Npb24gPSBhcnJvdy5ub2RlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgd2UgYXJlIGhlcmUsIGJvdGggSlNYIGFuZCBGbG93IHBhcnNpbmcgYXR0ZW1wdHMgZmFpbGVkLlxuICAgICAgICAvLyBHaXZlIHRoZSBwcmVjZWRlbmNlIHRvIHRoZSBKU1ggZXJyb3IsIGV4Y2VwdCBpZiBKU1ggaGFkIGFuXG4gICAgICAgIC8vIHVucmVjb3ZlcmFibGUgZXJyb3Igd2hpbGUgRmxvdyBkaWRuJ3QuXG4gICAgICAgIC8vIElmIHRoZSBlcnJvciBpcyByZWNvdmVyYWJsZSwgd2UgY2FuIG9ubHkgcmUtcmVwb3J0IGl0IGlmIHRoZXJlIGlzXG4gICAgICAgIC8vIGEgbm9kZSB3ZSBjYW4gcmV0dXJuLlxuXG4gICAgICAgIGlmIChqc3g/Lm5vZGUpIHtcbiAgICAgICAgICAvKjo6IGludmFyaWFudChqc3guZmFpbFN0YXRlKSAqL1xuICAgICAgICAgIHRoaXMuc3RhdGUgPSBqc3guZmFpbFN0YXRlO1xuICAgICAgICAgIHJldHVybiBqc3gubm9kZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChhcnJvd0V4cHJlc3Npb24pIHtcbiAgICAgICAgICAvKjo6IGludmFyaWFudChhcnJvdy5mYWlsU3RhdGUpICovXG4gICAgICAgICAgdGhpcy5zdGF0ZSA9IGFycm93LmZhaWxTdGF0ZTtcbiAgICAgICAgICByZXR1cm4gYXJyb3dFeHByZXNzaW9uO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGpzeD8udGhyb3duKSB0aHJvdyBqc3guZXJyb3I7XG4gICAgICAgIGlmIChhcnJvdy50aHJvd24pIHRocm93IGFycm93LmVycm9yO1xuXG4gICAgICAgIC8qOjogaW52YXJpYW50KHR5cGVQYXJhbWV0ZXJzKSAqL1xuICAgICAgICB0aHJvdyB0aGlzLnJhaXNlKFxuICAgICAgICAgIEZsb3dFcnJvcnMuVW5leHBlY3RlZFRva2VuQWZ0ZXJUeXBlUGFyYW1ldGVyLFxuICAgICAgICAgIHR5cGVQYXJhbWV0ZXJzLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3VwZXIucGFyc2VNYXliZUFzc2lnbihyZWZFeHByZXNzaW9uRXJyb3JzLCBhZnRlckxlZnRQYXJzZSk7XG4gICAgfVxuXG4gICAgLy8gaGFuZGxlIHJldHVybiB0eXBlcyBmb3IgYXJyb3cgZnVuY3Rpb25zXG4gICAgcGFyc2VBcnJvdyhcbiAgICAgIG5vZGU6IFVuZG9uZTxOLkFycm93RnVuY3Rpb25FeHByZXNzaW9uPixcbiAgICApOiBVbmRvbmU8Ti5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbj4gfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmNvbG9uKSkge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHRvZG8oZmxvdy0+dHMpXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudHJ5UGFyc2U8Ti5UeXBlQW5ub3RhdGlvbj4oKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG9sZE5vQW5vbkZ1bmN0aW9uVHlwZSA9IHRoaXMuc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlO1xuICAgICAgICAgIHRoaXMuc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlID0gdHJ1ZTtcblxuICAgICAgICAgIGNvbnN0IHR5cGVOb2RlID0gdGhpcy5zdGFydE5vZGU8Ti5UeXBlQW5ub3RhdGlvbj4oKTtcblxuICAgICAgICAgIFtcbiAgICAgICAgICAgIHR5cGVOb2RlLnR5cGVBbm5vdGF0aW9uLFxuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciAoZGVzdHJ1Y3R1cmluZyBub3Qgc3VwcG9ydGVkIHlldClcbiAgICAgICAgICAgIG5vZGUucHJlZGljYXRlLFxuICAgICAgICAgIF0gPSB0aGlzLmZsb3dQYXJzZVR5cGVBbmRQcmVkaWNhdGVJbml0aWFsaXNlcigpO1xuXG4gICAgICAgICAgdGhpcy5zdGF0ZS5ub0Fub25GdW5jdGlvblR5cGUgPSBvbGROb0Fub25GdW5jdGlvblR5cGU7XG5cbiAgICAgICAgICBpZiAodGhpcy5jYW5JbnNlcnRTZW1pY29sb24oKSkgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgICAgICAgaWYgKCF0aGlzLm1hdGNoKHR0LmFycm93KSkgdGhpcy51bmV4cGVjdGVkKCk7XG5cbiAgICAgICAgICByZXR1cm4gdHlwZU5vZGU7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChyZXN1bHQudGhyb3duKSByZXR1cm4gbnVsbDtcbiAgICAgICAgLyo6OiBpbnZhcmlhbnQocmVzdWx0Lm5vZGUpICovXG5cbiAgICAgICAgaWYgKHJlc3VsdC5lcnJvcikgdGhpcy5zdGF0ZSA9IHJlc3VsdC5mYWlsU3RhdGU7XG5cbiAgICAgICAgLy8gYXNzaWduIGFmdGVyIGl0IGlzIGNsZWFyIGl0IGlzIGFuIGFycm93XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdG9kbyhmbG93LT50cylcbiAgICAgICAgbm9kZS5yZXR1cm5UeXBlID0gcmVzdWx0Lm5vZGUudHlwZUFubm90YXRpb25cbiAgICAgICAgICA/IHRoaXMuZmluaXNoTm9kZShyZXN1bHQubm9kZSwgXCJUeXBlQW5ub3RhdGlvblwiKVxuICAgICAgICAgIDogbnVsbDtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN1cGVyLnBhcnNlQXJyb3cobm9kZSk7XG4gICAgfVxuXG4gICAgc2hvdWxkUGFyc2VBcnJvdyhwYXJhbXM6IEFycmF5PE4uTm9kZT4pOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLm1hdGNoKHR0LmNvbG9uKSB8fCBzdXBlci5zaG91bGRQYXJzZUFycm93KHBhcmFtcyk7XG4gICAgfVxuXG4gICAgc2V0QXJyb3dGdW5jdGlvblBhcmFtZXRlcnMoXG4gICAgICBub2RlOiBVbmRvbmU8Ti5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbj4sXG4gICAgICBwYXJhbXM6XG4gICAgICAgIHwgQXJyYXk8Ti5FeHByZXNzaW9uIHwgTi5TcHJlYWRFbGVtZW50PlxuICAgICAgICB8IEFycmF5PE4uRXhwcmVzc2lvbiB8IE4uUmVzdEVsZW1lbnQ+LFxuICAgICk6IHZvaWQge1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLnN0YXRlLm5vQXJyb3dQYXJhbXNDb252ZXJzaW9uQXQuaW5jbHVkZXMoXG4gICAgICAgICAgdGhpcy5vZmZzZXRUb1NvdXJjZVBvcyhub2RlLnN0YXJ0KSxcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIG5vZGUucGFyYW1zID0gcGFyYW1zIGFzIE4uQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25bXCJwYXJhbXNcIl07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdXBlci5zZXRBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycyhub2RlLCBwYXJhbXMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNoZWNrUGFyYW1zKFxuICAgICAgbm9kZTogTi5GdW5jdGlvbixcbiAgICAgIGFsbG93RHVwbGljYXRlczogYm9vbGVhbixcbiAgICAgIGlzQXJyb3dGdW5jdGlvbj86IGJvb2xlYW4gfCBudWxsLFxuICAgICAgc3RyaWN0TW9kZUNoYW5nZWQ6IGJvb2xlYW4gPSB0cnVlLFxuICAgICk6IHZvaWQge1xuICAgICAgaWYgKFxuICAgICAgICBpc0Fycm93RnVuY3Rpb24gJiZcbiAgICAgICAgdGhpcy5zdGF0ZS5ub0Fycm93UGFyYW1zQ29udmVyc2lvbkF0LmluY2x1ZGVzKFxuICAgICAgICAgIHRoaXMub2Zmc2V0VG9Tb3VyY2VQb3Mobm9kZS5zdGFydCksXG4gICAgICAgIClcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vIGVuc3VyZSB0aGUgYHRoaXNgIHBhcmFtIGlzIGZpcnN0LCBpZiBpdCBleGlzdHNcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbm9kZS5wYXJhbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKHRoaXMuaXNUaGlzUGFyYW0obm9kZS5wYXJhbXNbaV0pICYmIGkgPiAwKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShGbG93RXJyb3JzLlRoaXNQYXJhbU11c3RCZUZpcnN0LCBub2RlLnBhcmFtc1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3VwZXIuY2hlY2tQYXJhbXMoXG4gICAgICAgIG5vZGUsXG4gICAgICAgIGFsbG93RHVwbGljYXRlcyxcbiAgICAgICAgaXNBcnJvd0Z1bmN0aW9uLFxuICAgICAgICBzdHJpY3RNb2RlQ2hhbmdlZCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcGFyc2VQYXJlbkFuZERpc3Rpbmd1aXNoRXhwcmVzc2lvbihjYW5CZUFycm93OiBib29sZWFuKTogTi5FeHByZXNzaW9uIHtcbiAgICAgIHJldHVybiBzdXBlci5wYXJzZVBhcmVuQW5kRGlzdGluZ3Vpc2hFeHByZXNzaW9uKFxuICAgICAgICBjYW5CZUFycm93ICYmXG4gICAgICAgICAgIXRoaXMuc3RhdGUubm9BcnJvd0F0LmluY2x1ZGVzKFxuICAgICAgICAgICAgdGhpcy5zb3VyY2VUb09mZnNldFBvcyh0aGlzLnN0YXRlLnN0YXJ0KSxcbiAgICAgICAgICApLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwYXJzZVN1YnNjcmlwdHMoXG4gICAgICBiYXNlOiBOLkV4cHJlc3Npb24sXG5cbiAgICAgIHN0YXJ0TG9jOiBQb3NpdGlvbixcbiAgICAgIG5vQ2FsbHM/OiBib29sZWFuIHwgbnVsbCxcbiAgICApOiBOLkV4cHJlc3Npb24ge1xuICAgICAgaWYgKFxuICAgICAgICBiYXNlLnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmXG4gICAgICAgIGJhc2UubmFtZSA9PT0gXCJhc3luY1wiICYmXG4gICAgICAgIHRoaXMuc3RhdGUubm9BcnJvd0F0LmluY2x1ZGVzKHN0YXJ0TG9jLmluZGV4KVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuXG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uQ2FsbEV4cHJlc3Npb24+KHN0YXJ0TG9jKTtcbiAgICAgICAgbm9kZS5jYWxsZWUgPSBiYXNlO1xuICAgICAgICBub2RlLmFyZ3VtZW50cyA9IHN1cGVyLnBhcnNlQ2FsbEV4cHJlc3Npb25Bcmd1bWVudHModHQucGFyZW5SKTtcbiAgICAgICAgYmFzZSA9IHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkNhbGxFeHByZXNzaW9uXCIpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgYmFzZS50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgICAgICBiYXNlLm5hbWUgPT09IFwiYXN5bmNcIiAmJlxuICAgICAgICB0aGlzLm1hdGNoKHR0Lmx0KVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IHN0YXRlID0gdGhpcy5zdGF0ZS5jbG9uZSgpO1xuICAgICAgICBjb25zdCBhcnJvdyA9IHRoaXMudHJ5UGFyc2UoXG4gICAgICAgICAgYWJvcnQgPT4gdGhpcy5wYXJzZUFzeW5jQXJyb3dXaXRoVHlwZVBhcmFtZXRlcnMoc3RhcnRMb2MpIHx8IGFib3J0KCksXG4gICAgICAgICAgc3RhdGUsXG4gICAgICAgICk7XG5cbiAgICAgICAgLyo6OiBpbnZhcmlhbnQoYXJyb3cubm9kZSAhPSBudWxsKSAqL1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiByZWZpbmUgdHJ5UGFyc2UgdHlwaW5nc1xuICAgICAgICBpZiAoIWFycm93LmVycm9yICYmICFhcnJvdy5hYm9ydGVkKSByZXR1cm4gYXJyb3cubm9kZTtcblxuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLnRyeVBhcnNlKFxuICAgICAgICAgICgpID0+IHN1cGVyLnBhcnNlU3Vic2NyaXB0cyhiYXNlLCBzdGFydExvYywgbm9DYWxscyksXG4gICAgICAgICAgc3RhdGUsXG4gICAgICAgICk7XG5cbiAgICAgICAgaWYgKHJlc3VsdC5ub2RlICYmICFyZXN1bHQuZXJyb3IpIHJldHVybiByZXN1bHQubm9kZTtcblxuICAgICAgICBpZiAoYXJyb3cubm9kZSkge1xuICAgICAgICAgIHRoaXMuc3RhdGUgPSBhcnJvdy5mYWlsU3RhdGU7XG4gICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogcmVmaW5lIHRyeVBhcnNlIHR5cGluZ3NcbiAgICAgICAgICByZXR1cm4gYXJyb3cubm9kZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXN1bHQubm9kZSkge1xuICAgICAgICAgIHRoaXMuc3RhdGUgPSByZXN1bHQuZmFpbFN0YXRlO1xuICAgICAgICAgIHJldHVybiByZXN1bHQubm9kZTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRocm93IGFycm93LmVycm9yIHx8IHJlc3VsdC5lcnJvcjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN1cGVyLnBhcnNlU3Vic2NyaXB0cyhiYXNlLCBzdGFydExvYywgbm9DYWxscyk7XG4gICAgfVxuXG4gICAgcGFyc2VTdWJzY3JpcHQoXG4gICAgICBiYXNlOiBOLkV4cHJlc3Npb24sXG5cbiAgICAgIHN0YXJ0TG9jOiBQb3NpdGlvbixcbiAgICAgIG5vQ2FsbHM6IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBudWxsLFxuICAgICAgc3Vic2NyaXB0U3RhdGU6IE4uUGFyc2VTdWJzY3JpcHRTdGF0ZSxcbiAgICApOiBOLkV4cHJlc3Npb24ge1xuICAgICAgaWYgKHRoaXMubWF0Y2godHQucXVlc3Rpb25Eb3QpICYmIHRoaXMuaXNMb29rYWhlYWRUb2tlbl9sdCgpKSB7XG4gICAgICAgIHN1YnNjcmlwdFN0YXRlLm9wdGlvbmFsQ2hhaW5NZW1iZXIgPSB0cnVlO1xuICAgICAgICBpZiAobm9DYWxscykge1xuICAgICAgICAgIHN1YnNjcmlwdFN0YXRlLnN0b3AgPSB0cnVlO1xuICAgICAgICAgIHJldHVybiBiYXNlO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGVBdDxOLk9wdGlvbmFsQ2FsbEV4cHJlc3Npb24+KHN0YXJ0TG9jKTtcbiAgICAgICAgbm9kZS5jYWxsZWUgPSBiYXNlO1xuICAgICAgICBub2RlLnR5cGVBcmd1bWVudHMgPSB0aGlzLmZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKCk7XG4gICAgICAgIHRoaXMuZXhwZWN0KHR0LnBhcmVuTCk7XG4gICAgICAgIG5vZGUuYXJndW1lbnRzID0gdGhpcy5wYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKHR0LnBhcmVuUik7XG4gICAgICAgIG5vZGUub3B0aW9uYWwgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hDYWxsRXhwcmVzc2lvbihub2RlLCAvKiBvcHRpb25hbCAqLyB0cnVlKTtcbiAgICAgIH0gZWxzZSBpZiAoIW5vQ2FsbHMgJiYgdGhpcy5zaG91bGRQYXJzZVR5cGVzKCkgJiYgdGhpcy5tYXRjaCh0dC5sdCkpIHtcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlQXQ8XG4gICAgICAgICAgTi5PcHRpb25hbENhbGxFeHByZXNzaW9uIHwgTi5DYWxsRXhwcmVzc2lvblxuICAgICAgICA+KHN0YXJ0TG9jKTtcbiAgICAgICAgbm9kZS5jYWxsZWUgPSBiYXNlO1xuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudHJ5UGFyc2UoKCkgPT4ge1xuICAgICAgICAgIG5vZGUudHlwZUFyZ3VtZW50cyA9XG4gICAgICAgICAgICB0aGlzLmZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uQ2FsbE9yTmV3KCk7XG4gICAgICAgICAgdGhpcy5leHBlY3QodHQucGFyZW5MKTtcbiAgICAgICAgICBub2RlLmFyZ3VtZW50cyA9IHN1cGVyLnBhcnNlQ2FsbEV4cHJlc3Npb25Bcmd1bWVudHModHQucGFyZW5SKTtcbiAgICAgICAgICBpZiAoc3Vic2NyaXB0U3RhdGUub3B0aW9uYWxDaGFpbk1lbWJlcikge1xuICAgICAgICAgICAgKG5vZGUgYXMgVW5kb25lPE4uT3B0aW9uYWxDYWxsRXhwcmVzc2lvbj4pLm9wdGlvbmFsID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaENhbGxFeHByZXNzaW9uKFxuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgIHN1YnNjcmlwdFN0YXRlLm9wdGlvbmFsQ2hhaW5NZW1iZXIsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgaWYgKHJlc3VsdC5ub2RlKSB7XG4gICAgICAgICAgaWYgKHJlc3VsdC5lcnJvcikgdGhpcy5zdGF0ZSA9IHJlc3VsdC5mYWlsU3RhdGU7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdC5ub2RlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdXBlci5wYXJzZVN1YnNjcmlwdChcbiAgICAgICAgYmFzZSxcblxuICAgICAgICBzdGFydExvYyxcbiAgICAgICAgbm9DYWxscyxcbiAgICAgICAgc3Vic2NyaXB0U3RhdGUsXG4gICAgICApO1xuICAgIH1cblxuICAgIHBhcnNlTmV3Q2FsbGVlKG5vZGU6IE4uTmV3RXhwcmVzc2lvbik6IHZvaWQge1xuICAgICAgc3VwZXIucGFyc2VOZXdDYWxsZWUobm9kZSk7XG5cbiAgICAgIGxldCB0YXJncyA9IG51bGw7XG4gICAgICBpZiAodGhpcy5zaG91bGRQYXJzZVR5cGVzKCkgJiYgdGhpcy5tYXRjaCh0dC5sdCkpIHtcbiAgICAgICAgdGFyZ3MgPSB0aGlzLnRyeVBhcnNlKCgpID0+XG4gICAgICAgICAgdGhpcy5mbG93UGFyc2VUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbkNhbGxPck5ldygpLFxuICAgICAgICApLm5vZGU7XG4gICAgICB9XG4gICAgICBub2RlLnR5cGVBcmd1bWVudHMgPSB0YXJncztcbiAgICB9XG5cbiAgICBwYXJzZUFzeW5jQXJyb3dXaXRoVHlwZVBhcmFtZXRlcnMoXG4gICAgICBzdGFydExvYzogUG9zaXRpb24sXG4gICAgKTogTi5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlQXQ8Ti5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbj4oc3RhcnRMb2MpO1xuICAgICAgdGhpcy5wYXJzZUZ1bmN0aW9uUGFyYW1zKG5vZGUsIGZhbHNlKTtcbiAgICAgIGlmICghdGhpcy5wYXJzZUFycm93KG5vZGUpKSByZXR1cm47XG4gICAgICByZXR1cm4gc3VwZXIucGFyc2VBcnJvd0V4cHJlc3Npb24oXG4gICAgICAgIG5vZGUsXG4gICAgICAgIC8qIHBhcmFtcyAqLyB1bmRlZmluZWQsXG4gICAgICAgIC8qIGlzQXN5bmMgKi8gdHJ1ZSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmVhZFRva2VuX211bHRfbW9kdWxvKGNvZGU6IG51bWJlcik6IHZvaWQge1xuICAgICAgY29uc3QgbmV4dCA9IHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyArIDEpO1xuICAgICAgaWYgKFxuICAgICAgICBjb2RlID09PSBjaGFyQ29kZXMuYXN0ZXJpc2sgJiZcbiAgICAgICAgbmV4dCA9PT0gY2hhckNvZGVzLnNsYXNoICYmXG4gICAgICAgIHRoaXMuc3RhdGUuaGFzRmxvd0NvbW1lbnRcbiAgICAgICkge1xuICAgICAgICB0aGlzLnN0YXRlLmhhc0Zsb3dDb21tZW50ID0gZmFsc2U7XG4gICAgICAgIHRoaXMuc3RhdGUucG9zICs9IDI7XG4gICAgICAgIHRoaXMubmV4dFRva2VuKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgc3VwZXIucmVhZFRva2VuX211bHRfbW9kdWxvKGNvZGUpO1xuICAgIH1cblxuICAgIHJlYWRUb2tlbl9waXBlX2FtcChjb2RlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgIGNvbnN0IG5leHQgPSB0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MgKyAxKTtcbiAgICAgIGlmIChcbiAgICAgICAgY29kZSA9PT0gY2hhckNvZGVzLnZlcnRpY2FsQmFyICYmXG4gICAgICAgIG5leHQgPT09IGNoYXJDb2Rlcy5yaWdodEN1cmx5QnJhY2VcbiAgICAgICkge1xuICAgICAgICAvLyAnfH0nXG4gICAgICAgIHRoaXMuZmluaXNoT3AodHQuYnJhY2VCYXJSLCAyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBzdXBlci5yZWFkVG9rZW5fcGlwZV9hbXAoY29kZSk7XG4gICAgfVxuXG4gICAgcGFyc2VUb3BMZXZlbChmaWxlOiBOLkZpbGUsIHByb2dyYW06IE4uUHJvZ3JhbSk6IE4uRmlsZSB7XG4gICAgICBjb25zdCBmaWxlTm9kZSA9IHN1cGVyLnBhcnNlVG9wTGV2ZWwoZmlsZSwgcHJvZ3JhbSk7XG4gICAgICBpZiAodGhpcy5zdGF0ZS5oYXNGbG93Q29tbWVudCkge1xuICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgIEZsb3dFcnJvcnMuVW50ZXJtaW5hdGVkRmxvd0NvbW1lbnQsXG4gICAgICAgICAgdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpbGVOb2RlO1xuICAgIH1cblxuICAgIHNraXBCbG9ja0NvbW1lbnQoKTogTi5Db21tZW50QmxvY2sgfCB1bmRlZmluZWQge1xuICAgICAgaWYgKHRoaXMuaGFzUGx1Z2luKFwiZmxvd0NvbW1lbnRzXCIpICYmIHRoaXMuc2tpcEZsb3dDb21tZW50KCkpIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUuaGFzRmxvd0NvbW1lbnQpIHtcbiAgICAgICAgICB0aHJvdyB0aGlzLnJhaXNlKEZsb3dFcnJvcnMuTmVzdGVkRmxvd0NvbW1lbnQsIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaGFzRmxvd0NvbW1lbnRDb21wbGV0aW9uKCk7XG4gICAgICAgIGNvbnN0IGNvbW1lbnRTa2lwID0gdGhpcy5za2lwRmxvd0NvbW1lbnQoKTtcbiAgICAgICAgaWYgKGNvbW1lbnRTa2lwKSB7XG4gICAgICAgICAgdGhpcy5zdGF0ZS5wb3MgKz0gY29tbWVudFNraXA7XG4gICAgICAgICAgdGhpcy5zdGF0ZS5oYXNGbG93Q29tbWVudCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3VwZXIuc2tpcEJsb2NrQ29tbWVudCh0aGlzLnN0YXRlLmhhc0Zsb3dDb21tZW50ID8gXCIqLS9cIiA6IFwiKi9cIik7XG4gICAgfVxuXG4gICAgc2tpcEZsb3dDb21tZW50KCk6IG51bWJlciB8IGZhbHNlIHtcbiAgICAgIGNvbnN0IHsgcG9zIH0gPSB0aGlzLnN0YXRlO1xuICAgICAgbGV0IHNoaWZ0VG9GaXJzdE5vbldoaXRlU3BhY2UgPSAyO1xuICAgICAgd2hpbGUgKFxuICAgICAgICBbY2hhckNvZGVzLnNwYWNlLCBjaGFyQ29kZXMudGFiXS5pbmNsdWRlcyhcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHRlc3Rpbmcgd2hldGhlciBhIG51bWJlciBpcyBpbmNsdWRlZFxuICAgICAgICAgIHRoaXMuaW5wdXQuY2hhckNvZGVBdChwb3MgKyBzaGlmdFRvRmlyc3ROb25XaGl0ZVNwYWNlKSxcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIHNoaWZ0VG9GaXJzdE5vbldoaXRlU3BhY2UrKztcbiAgICAgIH1cblxuICAgICAgY29uc3QgY2gyID0gdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHNoaWZ0VG9GaXJzdE5vbldoaXRlU3BhY2UgKyBwb3MpO1xuICAgICAgY29uc3QgY2gzID0gdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHNoaWZ0VG9GaXJzdE5vbldoaXRlU3BhY2UgKyBwb3MgKyAxKTtcblxuICAgICAgaWYgKGNoMiA9PT0gY2hhckNvZGVzLmNvbG9uICYmIGNoMyA9PT0gY2hhckNvZGVzLmNvbG9uKSB7XG4gICAgICAgIHJldHVybiBzaGlmdFRvRmlyc3ROb25XaGl0ZVNwYWNlICsgMjsgLy8gY2hlY2sgZm9yIC8qOjpcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5pbnB1dC5zbGljZShcbiAgICAgICAgICBzaGlmdFRvRmlyc3ROb25XaGl0ZVNwYWNlICsgcG9zLFxuICAgICAgICAgIHNoaWZ0VG9GaXJzdE5vbldoaXRlU3BhY2UgKyBwb3MgKyAxMixcbiAgICAgICAgKSA9PT0gXCJmbG93LWluY2x1ZGVcIlxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBzaGlmdFRvRmlyc3ROb25XaGl0ZVNwYWNlICsgMTI7IC8vIGNoZWNrIGZvciAvKmZsb3ctaW5jbHVkZVxuICAgICAgfVxuICAgICAgaWYgKGNoMiA9PT0gY2hhckNvZGVzLmNvbG9uICYmIGNoMyAhPT0gY2hhckNvZGVzLmNvbG9uKSB7XG4gICAgICAgIHJldHVybiBzaGlmdFRvRmlyc3ROb25XaGl0ZVNwYWNlOyAvLyBjaGVjayBmb3IgLyo6LCBhZHZhbmNlIHVwIHRvIDpcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBoYXNGbG93Q29tbWVudENvbXBsZXRpb24oKTogdm9pZCB7XG4gICAgICBjb25zdCBlbmQgPSB0aGlzLmlucHV0LmluZGV4T2YoXCIqL1wiLCB0aGlzLnN0YXRlLnBvcyk7XG4gICAgICBpZiAoZW5kID09PSAtMSkge1xuICAgICAgICB0aHJvdyB0aGlzLnJhaXNlKEVycm9ycy5VbnRlcm1pbmF0ZWRDb21tZW50LCB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEZsb3cgZW51bSBwYXJzaW5nXG5cbiAgICBmbG93RW51bUVycm9yQm9vbGVhbk1lbWJlck5vdEluaXRpYWxpemVkKFxuICAgICAgbG9jOiBQb3NpdGlvbixcbiAgICAgIHtcbiAgICAgICAgZW51bU5hbWUsXG4gICAgICAgIG1lbWJlck5hbWUsXG4gICAgICB9OiB7XG4gICAgICAgIGVudW1OYW1lOiBzdHJpbmc7XG4gICAgICAgIG1lbWJlck5hbWU6IHN0cmluZztcbiAgICAgIH0sXG4gICAgKTogdm9pZCB7XG4gICAgICB0aGlzLnJhaXNlKEZsb3dFcnJvcnMuRW51bUJvb2xlYW5NZW1iZXJOb3RJbml0aWFsaXplZCwgbG9jLCB7XG4gICAgICAgIG1lbWJlck5hbWUsXG4gICAgICAgIGVudW1OYW1lLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgZmxvd0VudW1FcnJvckludmFsaWRNZW1iZXJJbml0aWFsaXplcihcbiAgICAgIGxvYzogUG9zaXRpb24sXG4gICAgICBlbnVtQ29udGV4dDogRW51bUNvbnRleHQsXG4gICAgKSB7XG4gICAgICByZXR1cm4gdGhpcy5yYWlzZShcbiAgICAgICAgIWVudW1Db250ZXh0LmV4cGxpY2l0VHlwZVxuICAgICAgICAgID8gRmxvd0Vycm9ycy5FbnVtSW52YWxpZE1lbWJlckluaXRpYWxpemVyVW5rbm93blR5cGVcbiAgICAgICAgICA6IGVudW1Db250ZXh0LmV4cGxpY2l0VHlwZSA9PT0gXCJzeW1ib2xcIlxuICAgICAgICAgICAgPyBGbG93RXJyb3JzLkVudW1JbnZhbGlkTWVtYmVySW5pdGlhbGl6ZXJTeW1ib2xUeXBlXG4gICAgICAgICAgICA6IEZsb3dFcnJvcnMuRW51bUludmFsaWRNZW1iZXJJbml0aWFsaXplclByaW1hcnlUeXBlLFxuICAgICAgICBsb2MsXG4gICAgICAgIGVudW1Db250ZXh0LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBmbG93RW51bUVycm9yTnVtYmVyTWVtYmVyTm90SW5pdGlhbGl6ZWQoXG4gICAgICBsb2M6IFBvc2l0aW9uLFxuICAgICAgZGV0YWlsczoge1xuICAgICAgICBlbnVtTmFtZTogc3RyaW5nO1xuICAgICAgICBtZW1iZXJOYW1lOiBzdHJpbmc7XG4gICAgICB9LFxuICAgICk6IHZvaWQge1xuICAgICAgdGhpcy5yYWlzZShGbG93RXJyb3JzLkVudW1OdW1iZXJNZW1iZXJOb3RJbml0aWFsaXplZCwgbG9jLCBkZXRhaWxzKTtcbiAgICB9XG5cbiAgICBmbG93RW51bUVycm9yU3RyaW5nTWVtYmVySW5jb25zaXN0ZW50bHlJbml0aWFsaXplZChcbiAgICAgIG5vZGU6IE4uTm9kZSxcbiAgICAgIGRldGFpbHM6IHtcbiAgICAgICAgZW51bU5hbWU6IHN0cmluZztcbiAgICAgIH0sXG4gICAgKTogdm9pZCB7XG4gICAgICB0aGlzLnJhaXNlKFxuICAgICAgICBGbG93RXJyb3JzLkVudW1TdHJpbmdNZW1iZXJJbmNvbnNpc3RlbnRseUluaXRpYWxpemVkLFxuICAgICAgICBub2RlLFxuICAgICAgICBkZXRhaWxzLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBmbG93RW51bU1lbWJlckluaXQoKTogRW51bU1lbWJlckluaXQge1xuICAgICAgY29uc3Qgc3RhcnRMb2MgPSB0aGlzLnN0YXRlLnN0YXJ0TG9jO1xuICAgICAgY29uc3QgZW5kT2ZJbml0ID0gKCkgPT4gdGhpcy5tYXRjaCh0dC5jb21tYSkgfHwgdGhpcy5tYXRjaCh0dC5icmFjZVIpO1xuICAgICAgc3dpdGNoICh0aGlzLnN0YXRlLnR5cGUpIHtcbiAgICAgICAgY2FzZSB0dC5udW06IHtcbiAgICAgICAgICBjb25zdCBsaXRlcmFsID0gdGhpcy5wYXJzZU51bWVyaWNMaXRlcmFsKHRoaXMuc3RhdGUudmFsdWUpO1xuICAgICAgICAgIGlmIChlbmRPZkluaXQoKSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJudW1iZXJcIiwgbG9jOiBsaXRlcmFsLmxvYy5zdGFydCwgdmFsdWU6IGxpdGVyYWwgfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHsgdHlwZTogXCJpbnZhbGlkXCIsIGxvYzogc3RhcnRMb2MgfTtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIHR0LnN0cmluZzoge1xuICAgICAgICAgIGNvbnN0IGxpdGVyYWwgPSB0aGlzLnBhcnNlU3RyaW5nTGl0ZXJhbCh0aGlzLnN0YXRlLnZhbHVlKTtcbiAgICAgICAgICBpZiAoZW5kT2ZJbml0KCkpIHtcbiAgICAgICAgICAgIHJldHVybiB7IHR5cGU6IFwic3RyaW5nXCIsIGxvYzogbGl0ZXJhbC5sb2Muc3RhcnQsIHZhbHVlOiBsaXRlcmFsIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7IHR5cGU6IFwiaW52YWxpZFwiLCBsb2M6IHN0YXJ0TG9jIH07XG4gICAgICAgIH1cbiAgICAgICAgY2FzZSB0dC5fdHJ1ZTpcbiAgICAgICAgY2FzZSB0dC5fZmFsc2U6IHtcbiAgICAgICAgICBjb25zdCBsaXRlcmFsID0gdGhpcy5wYXJzZUJvb2xlYW5MaXRlcmFsKHRoaXMubWF0Y2godHQuX3RydWUpKTtcbiAgICAgICAgICBpZiAoZW5kT2ZJbml0KCkpIHtcbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIHR5cGU6IFwiYm9vbGVhblwiLFxuICAgICAgICAgICAgICBsb2M6IGxpdGVyYWwubG9jLnN0YXJ0LFxuICAgICAgICAgICAgICB2YWx1ZTogbGl0ZXJhbCxcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7IHR5cGU6IFwiaW52YWxpZFwiLCBsb2M6IHN0YXJ0TG9jIH07XG4gICAgICAgIH1cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICByZXR1cm4geyB0eXBlOiBcImludmFsaWRcIiwgbG9jOiBzdGFydExvYyB9O1xuICAgICAgfVxuICAgIH1cblxuICAgIGZsb3dFbnVtTWVtYmVyUmF3KCk6IHtcbiAgICAgIGlkOiBOLklkZW50aWZpZXI7XG4gICAgICBpbml0OiBFbnVtTWVtYmVySW5pdDtcbiAgICB9IHtcbiAgICAgIGNvbnN0IGxvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgICBjb25zdCBpZCA9IHRoaXMucGFyc2VJZGVudGlmaWVyKHRydWUpO1xuICAgICAgY29uc3QgaW5pdCA9IHRoaXMuZWF0KHR0LmVxKVxuICAgICAgICA/IHRoaXMuZmxvd0VudW1NZW1iZXJJbml0KClcbiAgICAgICAgOiB7IHR5cGU6IFwibm9uZVwiIGFzIGNvbnN0LCBsb2MgfTtcbiAgICAgIHJldHVybiB7IGlkLCBpbml0IH07XG4gICAgfVxuXG4gICAgZmxvd0VudW1DaGVja0V4cGxpY2l0VHlwZU1pc21hdGNoKFxuICAgICAgbG9jOiBQb3NpdGlvbixcbiAgICAgIGNvbnRleHQ6IEVudW1Db250ZXh0LFxuICAgICAgZXhwZWN0ZWRUeXBlOiBFbnVtRXhwbGljaXRUeXBlLFxuICAgICk6IHZvaWQge1xuICAgICAgY29uc3QgeyBleHBsaWNpdFR5cGUgfSA9IGNvbnRleHQ7XG4gICAgICBpZiAoZXhwbGljaXRUeXBlID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChleHBsaWNpdFR5cGUgIT09IGV4cGVjdGVkVHlwZSkge1xuICAgICAgICB0aGlzLmZsb3dFbnVtRXJyb3JJbnZhbGlkTWVtYmVySW5pdGlhbGl6ZXIobG9jLCBjb250ZXh0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmbG93RW51bU1lbWJlcnMoe1xuICAgICAgZW51bU5hbWUsXG4gICAgICBleHBsaWNpdFR5cGUsXG4gICAgfToge1xuICAgICAgZW51bU5hbWU6IHN0cmluZztcbiAgICAgIGV4cGxpY2l0VHlwZTogRW51bUV4cGxpY2l0VHlwZTtcbiAgICB9KToge1xuICAgICAgbWVtYmVyczoge1xuICAgICAgICBib29sZWFuTWVtYmVyczogRXh0cmFjdDxcbiAgICAgICAgICBOLkZsb3dFbnVtTWVtYmVyLFxuICAgICAgICAgIHsgdHlwZTogXCJFbnVtQm9vbGVhbk1lbWJlclwiIH1cbiAgICAgICAgPltdO1xuICAgICAgICBudW1iZXJNZW1iZXJzOiBFeHRyYWN0PFxuICAgICAgICAgIE4uRmxvd0VudW1NZW1iZXIsXG4gICAgICAgICAgeyB0eXBlOiBcIkVudW1OdW1iZXJNZW1iZXJcIiB9XG4gICAgICAgID5bXTtcbiAgICAgICAgc3RyaW5nTWVtYmVyczogRXh0cmFjdDxcbiAgICAgICAgICBOLkZsb3dFbnVtTWVtYmVyLFxuICAgICAgICAgIHsgdHlwZTogXCJFbnVtU3RyaW5nTWVtYmVyXCIgfVxuICAgICAgICA+W107XG4gICAgICAgIGRlZmF1bHRlZE1lbWJlcnM6IEV4dHJhY3Q8XG4gICAgICAgICAgTi5GbG93RW51bU1lbWJlcixcbiAgICAgICAgICB7IHR5cGU6IFwiRW51bURlZmF1bHRlZE1lbWJlclwiIH1cbiAgICAgICAgPltdO1xuICAgICAgfTtcbiAgICAgIGhhc1Vua25vd25NZW1iZXJzOiBib29sZWFuO1xuICAgIH0ge1xuICAgICAgY29uc3Qgc2Vlbk5hbWVzID0gbmV3IFNldCgpO1xuICAgICAgY29uc3QgbWVtYmVycyA9IHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogbWlncmF0ZSB0byBCYWJlbCB0eXBlc1xuICAgICAgICBib29sZWFuTWVtYmVyczogW10sXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IG1pZ3JhdGUgdG8gQmFiZWwgdHlwZXNcbiAgICAgICAgbnVtYmVyTWVtYmVyczogW10sXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IG1pZ3JhdGUgdG8gQmFiZWwgdHlwZXNcbiAgICAgICAgc3RyaW5nTWVtYmVyczogW10sXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IG1pZ3JhdGUgdG8gQmFiZWwgdHlwZXNcbiAgICAgICAgZGVmYXVsdGVkTWVtYmVyczogW10sXG4gICAgICB9O1xuICAgICAgbGV0IGhhc1Vua25vd25NZW1iZXJzID0gZmFsc2U7XG4gICAgICB3aGlsZSAoIXRoaXMubWF0Y2godHQuYnJhY2VSKSkge1xuICAgICAgICBpZiAodGhpcy5lYXQodHQuZWxsaXBzaXMpKSB7XG4gICAgICAgICAgaGFzVW5rbm93bk1lbWJlcnMgPSB0cnVlO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG1lbWJlck5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLkZsb3dFbnVtTWVtYmVyPigpO1xuICAgICAgICBjb25zdCB7IGlkLCBpbml0IH0gPSB0aGlzLmZsb3dFbnVtTWVtYmVyUmF3KCk7XG4gICAgICAgIGNvbnN0IG1lbWJlck5hbWUgPSBpZC5uYW1lO1xuICAgICAgICBpZiAobWVtYmVyTmFtZSA9PT0gXCJcIikge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICgvXlthLXpdLy50ZXN0KG1lbWJlck5hbWUpKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShGbG93RXJyb3JzLkVudW1JbnZhbGlkTWVtYmVyTmFtZSwgaWQsIHtcbiAgICAgICAgICAgIG1lbWJlck5hbWUsXG4gICAgICAgICAgICBzdWdnZXN0aW9uOiBtZW1iZXJOYW1lWzBdLnRvVXBwZXJDYXNlKCkgKyBtZW1iZXJOYW1lLnNsaWNlKDEpLFxuICAgICAgICAgICAgZW51bU5hbWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHNlZW5OYW1lcy5oYXMobWVtYmVyTmFtZSkpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEZsb3dFcnJvcnMuRW51bUR1cGxpY2F0ZU1lbWJlck5hbWUsIGlkLCB7XG4gICAgICAgICAgICBtZW1iZXJOYW1lLFxuICAgICAgICAgICAgZW51bU5hbWUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgc2Vlbk5hbWVzLmFkZChtZW1iZXJOYW1lKTtcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHsgZW51bU5hbWUsIGV4cGxpY2l0VHlwZSwgbWVtYmVyTmFtZSB9O1xuICAgICAgICBtZW1iZXJOb2RlLmlkID0gaWQ7XG4gICAgICAgIHN3aXRjaCAoaW5pdC50eXBlKSB7XG4gICAgICAgICAgY2FzZSBcImJvb2xlYW5cIjoge1xuICAgICAgICAgICAgdGhpcy5mbG93RW51bUNoZWNrRXhwbGljaXRUeXBlTWlzbWF0Y2goXG4gICAgICAgICAgICAgIGluaXQubG9jLFxuICAgICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgICBcImJvb2xlYW5cIixcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBtZW1iZXJOb2RlLmluaXQgPSBpbml0LnZhbHVlO1xuICAgICAgICAgICAgbWVtYmVycy5ib29sZWFuTWVtYmVycy5wdXNoKFxuICAgICAgICAgICAgICB0aGlzLmZpbmlzaE5vZGUobWVtYmVyTm9kZSwgXCJFbnVtQm9vbGVhbk1lbWJlclwiKSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgY2FzZSBcIm51bWJlclwiOiB7XG4gICAgICAgICAgICB0aGlzLmZsb3dFbnVtQ2hlY2tFeHBsaWNpdFR5cGVNaXNtYXRjaChpbml0LmxvYywgY29udGV4dCwgXCJudW1iZXJcIik7XG4gICAgICAgICAgICBtZW1iZXJOb2RlLmluaXQgPSBpbml0LnZhbHVlO1xuICAgICAgICAgICAgbWVtYmVycy5udW1iZXJNZW1iZXJzLnB1c2goXG4gICAgICAgICAgICAgIHRoaXMuZmluaXNoTm9kZShtZW1iZXJOb2RlLCBcIkVudW1OdW1iZXJNZW1iZXJcIiksXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhc2UgXCJzdHJpbmdcIjoge1xuICAgICAgICAgICAgdGhpcy5mbG93RW51bUNoZWNrRXhwbGljaXRUeXBlTWlzbWF0Y2goaW5pdC5sb2MsIGNvbnRleHQsIFwic3RyaW5nXCIpO1xuICAgICAgICAgICAgbWVtYmVyTm9kZS5pbml0ID0gaW5pdC52YWx1ZTtcbiAgICAgICAgICAgIG1lbWJlcnMuc3RyaW5nTWVtYmVycy5wdXNoKFxuICAgICAgICAgICAgICB0aGlzLmZpbmlzaE5vZGUobWVtYmVyTm9kZSwgXCJFbnVtU3RyaW5nTWVtYmVyXCIpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFwiaW52YWxpZFwiOiB7XG4gICAgICAgICAgICB0aHJvdyB0aGlzLmZsb3dFbnVtRXJyb3JJbnZhbGlkTWVtYmVySW5pdGlhbGl6ZXIoaW5pdC5sb2MsIGNvbnRleHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYXNlIFwibm9uZVwiOiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGV4cGxpY2l0VHlwZSkge1xuICAgICAgICAgICAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgICAgICAgICAgIHRoaXMuZmxvd0VudW1FcnJvckJvb2xlYW5NZW1iZXJOb3RJbml0aWFsaXplZChcbiAgICAgICAgICAgICAgICAgIGluaXQubG9jLFxuICAgICAgICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICAgICAgICAgICAgdGhpcy5mbG93RW51bUVycm9yTnVtYmVyTWVtYmVyTm90SW5pdGlhbGl6ZWQoaW5pdC5sb2MsIGNvbnRleHQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgIG1lbWJlcnMuZGVmYXVsdGVkTWVtYmVycy5wdXNoKFxuICAgICAgICAgICAgICAgICAgdGhpcy5maW5pc2hOb2RlKG1lbWJlck5vZGUsIFwiRW51bURlZmF1bHRlZE1lbWJlclwiKSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5tYXRjaCh0dC5icmFjZVIpKSB7XG4gICAgICAgICAgdGhpcy5leHBlY3QodHQuY29tbWEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4geyBtZW1iZXJzLCBoYXNVbmtub3duTWVtYmVycyB9O1xuICAgIH1cblxuICAgIGZsb3dFbnVtU3RyaW5nTWVtYmVycyhcbiAgICAgIGluaXRpYWxpemVkTWVtYmVyczogQXJyYXk8Ti5Ob2RlPixcbiAgICAgIGRlZmF1bHRlZE1lbWJlcnM6IEFycmF5PE4uTm9kZT4sXG4gICAgICB7XG4gICAgICAgIGVudW1OYW1lLFxuICAgICAgfToge1xuICAgICAgICBlbnVtTmFtZTogc3RyaW5nO1xuICAgICAgfSxcbiAgICApOiBBcnJheTxOLk5vZGU+IHtcbiAgICAgIGlmIChpbml0aWFsaXplZE1lbWJlcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIHJldHVybiBkZWZhdWx0ZWRNZW1iZXJzO1xuICAgICAgfSBlbHNlIGlmIChkZWZhdWx0ZWRNZW1iZXJzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gaW5pdGlhbGl6ZWRNZW1iZXJzO1xuICAgICAgfSBlbHNlIGlmIChkZWZhdWx0ZWRNZW1iZXJzLmxlbmd0aCA+IGluaXRpYWxpemVkTWVtYmVycy5sZW5ndGgpIHtcbiAgICAgICAgZm9yIChjb25zdCBtZW1iZXIgb2YgaW5pdGlhbGl6ZWRNZW1iZXJzKSB7XG4gICAgICAgICAgdGhpcy5mbG93RW51bUVycm9yU3RyaW5nTWVtYmVySW5jb25zaXN0ZW50bHlJbml0aWFsaXplZChtZW1iZXIsIHtcbiAgICAgICAgICAgIGVudW1OYW1lLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBkZWZhdWx0ZWRNZW1iZXJzO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm9yIChjb25zdCBtZW1iZXIgb2YgZGVmYXVsdGVkTWVtYmVycykge1xuICAgICAgICAgIHRoaXMuZmxvd0VudW1FcnJvclN0cmluZ01lbWJlckluY29uc2lzdGVudGx5SW5pdGlhbGl6ZWQobWVtYmVyLCB7XG4gICAgICAgICAgICBlbnVtTmFtZSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5pdGlhbGl6ZWRNZW1iZXJzO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZsb3dFbnVtUGFyc2VFeHBsaWNpdFR5cGUoe1xuICAgICAgZW51bU5hbWUsXG4gICAgfToge1xuICAgICAgZW51bU5hbWU6IHN0cmluZztcbiAgICB9KTogRW51bUV4cGxpY2l0VHlwZSB7XG4gICAgICBpZiAoIXRoaXMuZWF0Q29udGV4dHVhbCh0dC5fb2YpKSByZXR1cm4gbnVsbDtcblxuICAgICAgaWYgKCF0b2tlbklzSWRlbnRpZmllcih0aGlzLnN0YXRlLnR5cGUpKSB7XG4gICAgICAgIHRocm93IHRoaXMucmFpc2UoXG4gICAgICAgICAgRmxvd0Vycm9ycy5FbnVtSW52YWxpZEV4cGxpY2l0VHlwZVVua25vd25TdXBwbGllZCxcbiAgICAgICAgICB0aGlzLnN0YXRlLnN0YXJ0TG9jLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGVudW1OYW1lLFxuICAgICAgICAgIH0sXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgdmFsdWUgfSA9IHRoaXMuc3RhdGU7XG4gICAgICB0aGlzLm5leHQoKTtcblxuICAgICAgaWYgKFxuICAgICAgICB2YWx1ZSAhPT0gXCJib29sZWFuXCIgJiZcbiAgICAgICAgdmFsdWUgIT09IFwibnVtYmVyXCIgJiZcbiAgICAgICAgdmFsdWUgIT09IFwic3RyaW5nXCIgJiZcbiAgICAgICAgdmFsdWUgIT09IFwic3ltYm9sXCJcbiAgICAgICkge1xuICAgICAgICB0aGlzLnJhaXNlKEZsb3dFcnJvcnMuRW51bUludmFsaWRFeHBsaWNpdFR5cGUsIHRoaXMuc3RhdGUuc3RhcnRMb2MsIHtcbiAgICAgICAgICBlbnVtTmFtZSxcbiAgICAgICAgICBpbnZhbGlkRW51bVR5cGU6IHZhbHVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cblxuICAgIGZsb3dFbnVtQm9keShub2RlOiBVbmRvbmU8Ti5GbG93RW51bUJvZHk+LCBpZDogTi5JZGVudGlmaWVyKTogTi5Ob2RlIHtcbiAgICAgIGNvbnN0IGVudW1OYW1lID0gaWQubmFtZTtcbiAgICAgIGNvbnN0IG5hbWVMb2MgPSBpZC5sb2Muc3RhcnQ7XG4gICAgICBjb25zdCBleHBsaWNpdFR5cGUgPSB0aGlzLmZsb3dFbnVtUGFyc2VFeHBsaWNpdFR5cGUoeyBlbnVtTmFtZSB9KTtcbiAgICAgIHRoaXMuZXhwZWN0KHR0LmJyYWNlTCk7XG4gICAgICBjb25zdCB7IG1lbWJlcnMsIGhhc1Vua25vd25NZW1iZXJzIH0gPSB0aGlzLmZsb3dFbnVtTWVtYmVycyh7XG4gICAgICAgIGVudW1OYW1lLFxuICAgICAgICBleHBsaWNpdFR5cGUsXG4gICAgICB9KTtcbiAgICAgIG5vZGUuaGFzVW5rbm93bk1lbWJlcnMgPSBoYXNVbmtub3duTWVtYmVycztcblxuICAgICAgc3dpdGNoIChleHBsaWNpdFR5cGUpIHtcbiAgICAgICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICAgICAgICBub2RlLmV4cGxpY2l0VHlwZSA9IHRydWU7XG4gICAgICAgICAgbm9kZS5tZW1iZXJzID0gbWVtYmVycy5ib29sZWFuTWVtYmVycztcbiAgICAgICAgICB0aGlzLmV4cGVjdCh0dC5icmFjZVIpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJFbnVtQm9vbGVhbkJvZHlcIik7XG4gICAgICAgIGNhc2UgXCJudW1iZXJcIjpcbiAgICAgICAgICBub2RlLmV4cGxpY2l0VHlwZSA9IHRydWU7XG4gICAgICAgICAgbm9kZS5tZW1iZXJzID0gbWVtYmVycy5udW1iZXJNZW1iZXJzO1xuICAgICAgICAgIHRoaXMuZXhwZWN0KHR0LmJyYWNlUik7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkVudW1OdW1iZXJCb2R5XCIpO1xuICAgICAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICAgICAgbm9kZS5leHBsaWNpdFR5cGUgPSB0cnVlO1xuICAgICAgICAgIG5vZGUubWVtYmVycyA9IHRoaXMuZmxvd0VudW1TdHJpbmdNZW1iZXJzKFxuICAgICAgICAgICAgbWVtYmVycy5zdHJpbmdNZW1iZXJzLFxuICAgICAgICAgICAgbWVtYmVycy5kZWZhdWx0ZWRNZW1iZXJzLFxuICAgICAgICAgICAgeyBlbnVtTmFtZSB9LFxuICAgICAgICAgICk7XG4gICAgICAgICAgdGhpcy5leHBlY3QodHQuYnJhY2VSKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiRW51bVN0cmluZ0JvZHlcIik7XG4gICAgICAgIGNhc2UgXCJzeW1ib2xcIjpcbiAgICAgICAgICBub2RlLm1lbWJlcnMgPSBtZW1iZXJzLmRlZmF1bHRlZE1lbWJlcnM7XG4gICAgICAgICAgdGhpcy5leHBlY3QodHQuYnJhY2VSKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiRW51bVN5bWJvbEJvZHlcIik7XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAvLyBgZXhwbGljaXRUeXBlYCBpcyBgbnVsbGBcbiAgICAgICAgICBjb25zdCBlbXB0eSA9ICgpID0+IHtcbiAgICAgICAgICAgIG5vZGUubWVtYmVycyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5leHBlY3QodHQuYnJhY2VSKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJFbnVtU3RyaW5nQm9keVwiKTtcbiAgICAgICAgICB9O1xuICAgICAgICAgIG5vZGUuZXhwbGljaXRUeXBlID0gZmFsc2U7XG5cbiAgICAgICAgICBjb25zdCBib29sc0xlbiA9IG1lbWJlcnMuYm9vbGVhbk1lbWJlcnMubGVuZ3RoO1xuICAgICAgICAgIGNvbnN0IG51bXNMZW4gPSBtZW1iZXJzLm51bWJlck1lbWJlcnMubGVuZ3RoO1xuICAgICAgICAgIGNvbnN0IHN0cnNMZW4gPSBtZW1iZXJzLnN0cmluZ01lbWJlcnMubGVuZ3RoO1xuICAgICAgICAgIGNvbnN0IGRlZmF1bHRlZExlbiA9IG1lbWJlcnMuZGVmYXVsdGVkTWVtYmVycy5sZW5ndGg7XG5cbiAgICAgICAgICBpZiAoIWJvb2xzTGVuICYmICFudW1zTGVuICYmICFzdHJzTGVuICYmICFkZWZhdWx0ZWRMZW4pIHtcbiAgICAgICAgICAgIHJldHVybiBlbXB0eSgpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoIWJvb2xzTGVuICYmICFudW1zTGVuKSB7XG4gICAgICAgICAgICBub2RlLm1lbWJlcnMgPSB0aGlzLmZsb3dFbnVtU3RyaW5nTWVtYmVycyhcbiAgICAgICAgICAgICAgbWVtYmVycy5zdHJpbmdNZW1iZXJzLFxuICAgICAgICAgICAgICBtZW1iZXJzLmRlZmF1bHRlZE1lbWJlcnMsXG4gICAgICAgICAgICAgIHsgZW51bU5hbWUgfSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICB0aGlzLmV4cGVjdCh0dC5icmFjZVIpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkVudW1TdHJpbmdCb2R5XCIpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoIW51bXNMZW4gJiYgIXN0cnNMZW4gJiYgYm9vbHNMZW4gPj0gZGVmYXVsdGVkTGVuKSB7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IG1lbWJlciBvZiBtZW1iZXJzLmRlZmF1bHRlZE1lbWJlcnMpIHtcbiAgICAgICAgICAgICAgdGhpcy5mbG93RW51bUVycm9yQm9vbGVhbk1lbWJlck5vdEluaXRpYWxpemVkKG1lbWJlci5sb2Muc3RhcnQsIHtcbiAgICAgICAgICAgICAgICBlbnVtTmFtZSxcbiAgICAgICAgICAgICAgICBtZW1iZXJOYW1lOiBtZW1iZXIuaWQubmFtZSxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBub2RlLm1lbWJlcnMgPSBtZW1iZXJzLmJvb2xlYW5NZW1iZXJzO1xuICAgICAgICAgICAgdGhpcy5leHBlY3QodHQuYnJhY2VSKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJFbnVtQm9vbGVhbkJvZHlcIik7XG4gICAgICAgICAgfSBlbHNlIGlmICghYm9vbHNMZW4gJiYgIXN0cnNMZW4gJiYgbnVtc0xlbiA+PSBkZWZhdWx0ZWRMZW4pIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgbWVtYmVyIG9mIG1lbWJlcnMuZGVmYXVsdGVkTWVtYmVycykge1xuICAgICAgICAgICAgICB0aGlzLmZsb3dFbnVtRXJyb3JOdW1iZXJNZW1iZXJOb3RJbml0aWFsaXplZChtZW1iZXIubG9jLnN0YXJ0LCB7XG4gICAgICAgICAgICAgICAgZW51bU5hbWUsXG4gICAgICAgICAgICAgICAgbWVtYmVyTmFtZTogbWVtYmVyLmlkLm5hbWUsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbm9kZS5tZW1iZXJzID0gbWVtYmVycy5udW1iZXJNZW1iZXJzO1xuICAgICAgICAgICAgdGhpcy5leHBlY3QodHQuYnJhY2VSKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJFbnVtTnVtYmVyQm9keVwiKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yYWlzZShGbG93RXJyb3JzLkVudW1JbmNvbnNpc3RlbnRNZW1iZXJWYWx1ZXMsIG5hbWVMb2MsIHtcbiAgICAgICAgICAgICAgZW51bU5hbWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHJldHVybiBlbXB0eSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGZsb3dQYXJzZUVudW1EZWNsYXJhdGlvbihcbiAgICAgIG5vZGU6IFVuZG9uZTxOLkZsb3dFbnVtRGVjbGFyYXRpb24+LFxuICAgICk6IE4uRmxvd0VudW1EZWNsYXJhdGlvbiB7XG4gICAgICBjb25zdCBpZCA9IHRoaXMucGFyc2VJZGVudGlmaWVyKCk7XG4gICAgICBub2RlLmlkID0gaWQ7XG4gICAgICBub2RlLmJvZHkgPSB0aGlzLmZsb3dFbnVtQm9keSh0aGlzLnN0YXJ0Tm9kZSgpLCBpZCk7XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiRW51bURlY2xhcmF0aW9uXCIpO1xuICAgIH1cblxuICAgIC8vIGNoZWNrIGlmIHRoZSBuZXh0IHRva2VuIGlzIGEgdHQubHRcbiAgICBpc0xvb2thaGVhZFRva2VuX2x0KCk6IGJvb2xlYW4ge1xuICAgICAgY29uc3QgbmV4dCA9IHRoaXMubmV4dFRva2VuU3RhcnQoKTtcbiAgICAgIGlmICh0aGlzLmlucHV0LmNoYXJDb2RlQXQobmV4dCkgPT09IGNoYXJDb2Rlcy5sZXNzVGhhbikge1xuICAgICAgICBjb25zdCBhZnRlck5leHQgPSB0aGlzLmlucHV0LmNoYXJDb2RlQXQobmV4dCArIDEpO1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIGFmdGVyTmV4dCAhPT0gY2hhckNvZGVzLmxlc3NUaGFuICYmIGFmdGVyTmV4dCAhPT0gY2hhckNvZGVzLmVxdWFsc1RvXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgbWF5YmVVbndyYXBUeXBlQ2FzdEV4cHJlc3Npb24obm9kZTogTi5Ob2RlKSB7XG4gICAgICByZXR1cm4gbm9kZS50eXBlID09PSBcIlR5cGVDYXN0RXhwcmVzc2lvblwiID8gbm9kZS5leHByZXNzaW9uIDogbm9kZTtcbiAgICB9XG4gIH07XG4iLCAiY29uc3QgZW50aXRpZXM6IHtcbiAgX19wcm90b19fOiBudWxsO1xuICBbbmFtZTogc3RyaW5nXTogc3RyaW5nO1xufSA9IHtcbiAgX19wcm90b19fOiBudWxsLFxuICBxdW90OiBcIlxcdTAwMjJcIixcbiAgYW1wOiBcIiZcIixcbiAgYXBvczogXCJcXHUwMDI3XCIsXG4gIGx0OiBcIjxcIixcbiAgZ3Q6IFwiPlwiLFxuICBuYnNwOiBcIlxcdTAwQTBcIixcbiAgaWV4Y2w6IFwiXFx1MDBBMVwiLFxuICBjZW50OiBcIlxcdTAwQTJcIixcbiAgcG91bmQ6IFwiXFx1MDBBM1wiLFxuICBjdXJyZW46IFwiXFx1MDBBNFwiLFxuICB5ZW46IFwiXFx1MDBBNVwiLFxuICBicnZiYXI6IFwiXFx1MDBBNlwiLFxuICBzZWN0OiBcIlxcdTAwQTdcIixcbiAgdW1sOiBcIlxcdTAwQThcIixcbiAgY29weTogXCJcXHUwMEE5XCIsXG4gIG9yZGY6IFwiXFx1MDBBQVwiLFxuICBsYXF1bzogXCJcXHUwMEFCXCIsXG4gIG5vdDogXCJcXHUwMEFDXCIsXG4gIHNoeTogXCJcXHUwMEFEXCIsXG4gIHJlZzogXCJcXHUwMEFFXCIsXG4gIG1hY3I6IFwiXFx1MDBBRlwiLFxuICBkZWc6IFwiXFx1MDBCMFwiLFxuICBwbHVzbW46IFwiXFx1MDBCMVwiLFxuICBzdXAyOiBcIlxcdTAwQjJcIixcbiAgc3VwMzogXCJcXHUwMEIzXCIsXG4gIGFjdXRlOiBcIlxcdTAwQjRcIixcbiAgbWljcm86IFwiXFx1MDBCNVwiLFxuICBwYXJhOiBcIlxcdTAwQjZcIixcbiAgbWlkZG90OiBcIlxcdTAwQjdcIixcbiAgY2VkaWw6IFwiXFx1MDBCOFwiLFxuICBzdXAxOiBcIlxcdTAwQjlcIixcbiAgb3JkbTogXCJcXHUwMEJBXCIsXG4gIHJhcXVvOiBcIlxcdTAwQkJcIixcbiAgZnJhYzE0OiBcIlxcdTAwQkNcIixcbiAgZnJhYzEyOiBcIlxcdTAwQkRcIixcbiAgZnJhYzM0OiBcIlxcdTAwQkVcIixcbiAgaXF1ZXN0OiBcIlxcdTAwQkZcIixcbiAgQWdyYXZlOiBcIlxcdTAwQzBcIixcbiAgQWFjdXRlOiBcIlxcdTAwQzFcIixcbiAgQWNpcmM6IFwiXFx1MDBDMlwiLFxuICBBdGlsZGU6IFwiXFx1MDBDM1wiLFxuICBBdW1sOiBcIlxcdTAwQzRcIixcbiAgQXJpbmc6IFwiXFx1MDBDNVwiLFxuICBBRWxpZzogXCJcXHUwMEM2XCIsXG4gIENjZWRpbDogXCJcXHUwMEM3XCIsXG4gIEVncmF2ZTogXCJcXHUwMEM4XCIsXG4gIEVhY3V0ZTogXCJcXHUwMEM5XCIsXG4gIEVjaXJjOiBcIlxcdTAwQ0FcIixcbiAgRXVtbDogXCJcXHUwMENCXCIsXG4gIElncmF2ZTogXCJcXHUwMENDXCIsXG4gIElhY3V0ZTogXCJcXHUwMENEXCIsXG4gIEljaXJjOiBcIlxcdTAwQ0VcIixcbiAgSXVtbDogXCJcXHUwMENGXCIsXG4gIEVUSDogXCJcXHUwMEQwXCIsXG4gIE50aWxkZTogXCJcXHUwMEQxXCIsXG4gIE9ncmF2ZTogXCJcXHUwMEQyXCIsXG4gIE9hY3V0ZTogXCJcXHUwMEQzXCIsXG4gIE9jaXJjOiBcIlxcdTAwRDRcIixcbiAgT3RpbGRlOiBcIlxcdTAwRDVcIixcbiAgT3VtbDogXCJcXHUwMEQ2XCIsXG4gIHRpbWVzOiBcIlxcdTAwRDdcIixcbiAgT3NsYXNoOiBcIlxcdTAwRDhcIixcbiAgVWdyYXZlOiBcIlxcdTAwRDlcIixcbiAgVWFjdXRlOiBcIlxcdTAwREFcIixcbiAgVWNpcmM6IFwiXFx1MDBEQlwiLFxuICBVdW1sOiBcIlxcdTAwRENcIixcbiAgWWFjdXRlOiBcIlxcdTAwRERcIixcbiAgVEhPUk46IFwiXFx1MDBERVwiLFxuICBzemxpZzogXCJcXHUwMERGXCIsXG4gIGFncmF2ZTogXCJcXHUwMEUwXCIsXG4gIGFhY3V0ZTogXCJcXHUwMEUxXCIsXG4gIGFjaXJjOiBcIlxcdTAwRTJcIixcbiAgYXRpbGRlOiBcIlxcdTAwRTNcIixcbiAgYXVtbDogXCJcXHUwMEU0XCIsXG4gIGFyaW5nOiBcIlxcdTAwRTVcIixcbiAgYWVsaWc6IFwiXFx1MDBFNlwiLFxuICBjY2VkaWw6IFwiXFx1MDBFN1wiLFxuICBlZ3JhdmU6IFwiXFx1MDBFOFwiLFxuICBlYWN1dGU6IFwiXFx1MDBFOVwiLFxuICBlY2lyYzogXCJcXHUwMEVBXCIsXG4gIGV1bWw6IFwiXFx1MDBFQlwiLFxuICBpZ3JhdmU6IFwiXFx1MDBFQ1wiLFxuICBpYWN1dGU6IFwiXFx1MDBFRFwiLFxuICBpY2lyYzogXCJcXHUwMEVFXCIsXG4gIGl1bWw6IFwiXFx1MDBFRlwiLFxuICBldGg6IFwiXFx1MDBGMFwiLFxuICBudGlsZGU6IFwiXFx1MDBGMVwiLFxuICBvZ3JhdmU6IFwiXFx1MDBGMlwiLFxuICBvYWN1dGU6IFwiXFx1MDBGM1wiLFxuICBvY2lyYzogXCJcXHUwMEY0XCIsXG4gIG90aWxkZTogXCJcXHUwMEY1XCIsXG4gIG91bWw6IFwiXFx1MDBGNlwiLFxuICBkaXZpZGU6IFwiXFx1MDBGN1wiLFxuICBvc2xhc2g6IFwiXFx1MDBGOFwiLFxuICB1Z3JhdmU6IFwiXFx1MDBGOVwiLFxuICB1YWN1dGU6IFwiXFx1MDBGQVwiLFxuICB1Y2lyYzogXCJcXHUwMEZCXCIsXG4gIHV1bWw6IFwiXFx1MDBGQ1wiLFxuICB5YWN1dGU6IFwiXFx1MDBGRFwiLFxuICB0aG9ybjogXCJcXHUwMEZFXCIsXG4gIHl1bWw6IFwiXFx1MDBGRlwiLFxuICBPRWxpZzogXCJcXHUwMTUyXCIsXG4gIG9lbGlnOiBcIlxcdTAxNTNcIixcbiAgU2Nhcm9uOiBcIlxcdTAxNjBcIixcbiAgc2Nhcm9uOiBcIlxcdTAxNjFcIixcbiAgWXVtbDogXCJcXHUwMTc4XCIsXG4gIGZub2Y6IFwiXFx1MDE5MlwiLFxuICBjaXJjOiBcIlxcdTAyQzZcIixcbiAgdGlsZGU6IFwiXFx1MDJEQ1wiLFxuICBBbHBoYTogXCJcXHUwMzkxXCIsXG4gIEJldGE6IFwiXFx1MDM5MlwiLFxuICBHYW1tYTogXCJcXHUwMzkzXCIsXG4gIERlbHRhOiBcIlxcdTAzOTRcIixcbiAgRXBzaWxvbjogXCJcXHUwMzk1XCIsXG4gIFpldGE6IFwiXFx1MDM5NlwiLFxuICBFdGE6IFwiXFx1MDM5N1wiLFxuICBUaGV0YTogXCJcXHUwMzk4XCIsXG4gIElvdGE6IFwiXFx1MDM5OVwiLFxuICBLYXBwYTogXCJcXHUwMzlBXCIsXG4gIExhbWJkYTogXCJcXHUwMzlCXCIsXG4gIE11OiBcIlxcdTAzOUNcIixcbiAgTnU6IFwiXFx1MDM5RFwiLFxuICBYaTogXCJcXHUwMzlFXCIsXG4gIE9taWNyb246IFwiXFx1MDM5RlwiLFxuICBQaTogXCJcXHUwM0EwXCIsXG4gIFJobzogXCJcXHUwM0ExXCIsXG4gIFNpZ21hOiBcIlxcdTAzQTNcIixcbiAgVGF1OiBcIlxcdTAzQTRcIixcbiAgVXBzaWxvbjogXCJcXHUwM0E1XCIsXG4gIFBoaTogXCJcXHUwM0E2XCIsXG4gIENoaTogXCJcXHUwM0E3XCIsXG4gIFBzaTogXCJcXHUwM0E4XCIsXG4gIE9tZWdhOiBcIlxcdTAzQTlcIixcbiAgYWxwaGE6IFwiXFx1MDNCMVwiLFxuICBiZXRhOiBcIlxcdTAzQjJcIixcbiAgZ2FtbWE6IFwiXFx1MDNCM1wiLFxuICBkZWx0YTogXCJcXHUwM0I0XCIsXG4gIGVwc2lsb246IFwiXFx1MDNCNVwiLFxuICB6ZXRhOiBcIlxcdTAzQjZcIixcbiAgZXRhOiBcIlxcdTAzQjdcIixcbiAgdGhldGE6IFwiXFx1MDNCOFwiLFxuICBpb3RhOiBcIlxcdTAzQjlcIixcbiAga2FwcGE6IFwiXFx1MDNCQVwiLFxuICBsYW1iZGE6IFwiXFx1MDNCQlwiLFxuICBtdTogXCJcXHUwM0JDXCIsXG4gIG51OiBcIlxcdTAzQkRcIixcbiAgeGk6IFwiXFx1MDNCRVwiLFxuICBvbWljcm9uOiBcIlxcdTAzQkZcIixcbiAgcGk6IFwiXFx1MDNDMFwiLFxuICByaG86IFwiXFx1MDNDMVwiLFxuICBzaWdtYWY6IFwiXFx1MDNDMlwiLFxuICBzaWdtYTogXCJcXHUwM0MzXCIsXG4gIHRhdTogXCJcXHUwM0M0XCIsXG4gIHVwc2lsb246IFwiXFx1MDNDNVwiLFxuICBwaGk6IFwiXFx1MDNDNlwiLFxuICBjaGk6IFwiXFx1MDNDN1wiLFxuICBwc2k6IFwiXFx1MDNDOFwiLFxuICBvbWVnYTogXCJcXHUwM0M5XCIsXG4gIHRoZXRhc3ltOiBcIlxcdTAzRDFcIixcbiAgdXBzaWg6IFwiXFx1MDNEMlwiLFxuICBwaXY6IFwiXFx1MDNENlwiLFxuICBlbnNwOiBcIlxcdTIwMDJcIixcbiAgZW1zcDogXCJcXHUyMDAzXCIsXG4gIHRoaW5zcDogXCJcXHUyMDA5XCIsXG4gIHp3bmo6IFwiXFx1MjAwQ1wiLFxuICB6d2o6IFwiXFx1MjAwRFwiLFxuICBscm06IFwiXFx1MjAwRVwiLFxuICBybG06IFwiXFx1MjAwRlwiLFxuICBuZGFzaDogXCJcXHUyMDEzXCIsXG4gIG1kYXNoOiBcIlxcdTIwMTRcIixcbiAgbHNxdW86IFwiXFx1MjAxOFwiLFxuICByc3F1bzogXCJcXHUyMDE5XCIsXG4gIHNicXVvOiBcIlxcdTIwMUFcIixcbiAgbGRxdW86IFwiXFx1MjAxQ1wiLFxuICByZHF1bzogXCJcXHUyMDFEXCIsXG4gIGJkcXVvOiBcIlxcdTIwMUVcIixcbiAgZGFnZ2VyOiBcIlxcdTIwMjBcIixcbiAgRGFnZ2VyOiBcIlxcdTIwMjFcIixcbiAgYnVsbDogXCJcXHUyMDIyXCIsXG4gIGhlbGxpcDogXCJcXHUyMDI2XCIsXG4gIHBlcm1pbDogXCJcXHUyMDMwXCIsXG4gIHByaW1lOiBcIlxcdTIwMzJcIixcbiAgUHJpbWU6IFwiXFx1MjAzM1wiLFxuICBsc2FxdW86IFwiXFx1MjAzOVwiLFxuICByc2FxdW86IFwiXFx1MjAzQVwiLFxuICBvbGluZTogXCJcXHUyMDNFXCIsXG4gIGZyYXNsOiBcIlxcdTIwNDRcIixcbiAgZXVybzogXCJcXHUyMEFDXCIsXG4gIGltYWdlOiBcIlxcdTIxMTFcIixcbiAgd2VpZXJwOiBcIlxcdTIxMThcIixcbiAgcmVhbDogXCJcXHUyMTFDXCIsXG4gIHRyYWRlOiBcIlxcdTIxMjJcIixcbiAgYWxlZnN5bTogXCJcXHUyMTM1XCIsXG4gIGxhcnI6IFwiXFx1MjE5MFwiLFxuICB1YXJyOiBcIlxcdTIxOTFcIixcbiAgcmFycjogXCJcXHUyMTkyXCIsXG4gIGRhcnI6IFwiXFx1MjE5M1wiLFxuICBoYXJyOiBcIlxcdTIxOTRcIixcbiAgY3JhcnI6IFwiXFx1MjFCNVwiLFxuICBsQXJyOiBcIlxcdTIxRDBcIixcbiAgdUFycjogXCJcXHUyMUQxXCIsXG4gIHJBcnI6IFwiXFx1MjFEMlwiLFxuICBkQXJyOiBcIlxcdTIxRDNcIixcbiAgaEFycjogXCJcXHUyMUQ0XCIsXG4gIGZvcmFsbDogXCJcXHUyMjAwXCIsXG4gIHBhcnQ6IFwiXFx1MjIwMlwiLFxuICBleGlzdDogXCJcXHUyMjAzXCIsXG4gIGVtcHR5OiBcIlxcdTIyMDVcIixcbiAgbmFibGE6IFwiXFx1MjIwN1wiLFxuICBpc2luOiBcIlxcdTIyMDhcIixcbiAgbm90aW46IFwiXFx1MjIwOVwiLFxuICBuaTogXCJcXHUyMjBCXCIsXG4gIHByb2Q6IFwiXFx1MjIwRlwiLFxuICBzdW06IFwiXFx1MjIxMVwiLFxuICBtaW51czogXCJcXHUyMjEyXCIsXG4gIGxvd2FzdDogXCJcXHUyMjE3XCIsXG4gIHJhZGljOiBcIlxcdTIyMUFcIixcbiAgcHJvcDogXCJcXHUyMjFEXCIsXG4gIGluZmluOiBcIlxcdTIyMUVcIixcbiAgYW5nOiBcIlxcdTIyMjBcIixcbiAgYW5kOiBcIlxcdTIyMjdcIixcbiAgb3I6IFwiXFx1MjIyOFwiLFxuICBjYXA6IFwiXFx1MjIyOVwiLFxuICBjdXA6IFwiXFx1MjIyQVwiLFxuICBpbnQ6IFwiXFx1MjIyQlwiLFxuICB0aGVyZTQ6IFwiXFx1MjIzNFwiLFxuICBzaW06IFwiXFx1MjIzQ1wiLFxuICBjb25nOiBcIlxcdTIyNDVcIixcbiAgYXN5bXA6IFwiXFx1MjI0OFwiLFxuICBuZTogXCJcXHUyMjYwXCIsXG4gIGVxdWl2OiBcIlxcdTIyNjFcIixcbiAgbGU6IFwiXFx1MjI2NFwiLFxuICBnZTogXCJcXHUyMjY1XCIsXG4gIHN1YjogXCJcXHUyMjgyXCIsXG4gIHN1cDogXCJcXHUyMjgzXCIsXG4gIG5zdWI6IFwiXFx1MjI4NFwiLFxuICBzdWJlOiBcIlxcdTIyODZcIixcbiAgc3VwZTogXCJcXHUyMjg3XCIsXG4gIG9wbHVzOiBcIlxcdTIyOTVcIixcbiAgb3RpbWVzOiBcIlxcdTIyOTdcIixcbiAgcGVycDogXCJcXHUyMkE1XCIsXG4gIHNkb3Q6IFwiXFx1MjJDNVwiLFxuICBsY2VpbDogXCJcXHUyMzA4XCIsXG4gIHJjZWlsOiBcIlxcdTIzMDlcIixcbiAgbGZsb29yOiBcIlxcdTIzMEFcIixcbiAgcmZsb29yOiBcIlxcdTIzMEJcIixcbiAgbGFuZzogXCJcXHUyMzI5XCIsXG4gIHJhbmc6IFwiXFx1MjMyQVwiLFxuICBsb3o6IFwiXFx1MjVDQVwiLFxuICBzcGFkZXM6IFwiXFx1MjY2MFwiLFxuICBjbHViczogXCJcXHUyNjYzXCIsXG4gIGhlYXJ0czogXCJcXHUyNjY1XCIsXG4gIGRpYW1zOiBcIlxcdTI2NjZcIixcbn0gYXMgY29uc3Q7XG5leHBvcnQgZGVmYXVsdCBlbnRpdGllcztcbiIsICJpbXBvcnQgKiBhcyBjaGFyQ29kZXMgZnJvbSBcImNoYXJjb2Rlc1wiO1xuXG5pbXBvcnQgWEhUTUxFbnRpdGllcyBmcm9tIFwiLi94aHRtbC50c1wiO1xuaW1wb3J0IHR5cGUgUGFyc2VyIGZyb20gXCIuLi8uLi9wYXJzZXIvaW5kZXgudHNcIjtcbmltcG9ydCB0eXBlIHsgRXhwcmVzc2lvbkVycm9ycyB9IGZyb20gXCIuLi8uLi9wYXJzZXIvdXRpbC50c1wiO1xuaW1wb3J0IHtcbiAgdG9rZW5Db21lc0JlZm9yZUV4cHJlc3Npb24sXG4gIHRva2VuSXNLZXl3b3JkLFxuICB0b2tlbkxhYmVsTmFtZSxcbiAgdHlwZSBUb2tlblR5cGUsXG4gIHR0LFxufSBmcm9tIFwiLi4vLi4vdG9rZW5pemVyL3R5cGVzLnRzXCI7XG5pbXBvcnQgdHlwZSB7IFRva0NvbnRleHQgfSBmcm9tIFwiLi4vLi4vdG9rZW5pemVyL2NvbnRleHQudHNcIjtcbmltcG9ydCB7IHR5cGVzIGFzIHRjIH0gZnJvbSBcIi4uLy4uL3Rva2VuaXplci9jb250ZXh0LnRzXCI7XG5pbXBvcnQgdHlwZSAqIGFzIE4gZnJvbSBcIi4uLy4uL3R5cGVzLnRzXCI7XG5pbXBvcnQgeyBpc0lkZW50aWZpZXJDaGFyLCBpc0lkZW50aWZpZXJTdGFydCB9IGZyb20gXCIuLi8uLi91dGlsL2lkZW50aWZpZXIudHNcIjtcbmltcG9ydCB0eXBlIHsgUG9zaXRpb24gfSBmcm9tIFwiLi4vLi4vdXRpbC9sb2NhdGlvbi50c1wiO1xuaW1wb3J0IHsgaXNOZXdMaW5lIH0gZnJvbSBcIi4uLy4uL3V0aWwvd2hpdGVzcGFjZS50c1wiO1xuaW1wb3J0IHsgRXJyb3JzLCBQYXJzZUVycm9yRW51bSB9IGZyb20gXCIuLi8uLi9wYXJzZS1lcnJvci50c1wiO1xuaW1wb3J0IHR5cGUgeyBVbmRvbmUgfSBmcm9tIFwiLi4vLi4vcGFyc2VyL25vZGUudHNcIjtcblxuLyogZXNsaW50IHNvcnQta2V5czogXCJlcnJvclwiICovXG5jb25zdCBKc3hFcnJvcnMgPSBQYXJzZUVycm9yRW51bWBqc3hgKHtcbiAgQXR0cmlidXRlSXNFbXB0eTpcbiAgICBcIkpTWCBhdHRyaWJ1dGVzIG11c3Qgb25seSBiZSBhc3NpZ25lZCBhIG5vbi1lbXB0eSBleHByZXNzaW9uLlwiLFxuICBNaXNzaW5nQ2xvc2luZ1RhZ0VsZW1lbnQ6ICh7IG9wZW5pbmdUYWdOYW1lIH06IHsgb3BlbmluZ1RhZ05hbWU6IHN0cmluZyB9KSA9PlxuICAgIGBFeHBlY3RlZCBjb3JyZXNwb25kaW5nIEpTWCBjbG9zaW5nIHRhZyBmb3IgPCR7b3BlbmluZ1RhZ05hbWV9Pi5gLFxuICBNaXNzaW5nQ2xvc2luZ1RhZ0ZyYWdtZW50OiBcIkV4cGVjdGVkIGNvcnJlc3BvbmRpbmcgSlNYIGNsb3NpbmcgdGFnIGZvciA8Pi5cIixcbiAgVW5leHBlY3RlZFNlcXVlbmNlRXhwcmVzc2lvbjpcbiAgICBcIlNlcXVlbmNlIGV4cHJlc3Npb25zIGNhbm5vdCBiZSBkaXJlY3RseSBuZXN0ZWQgaW5zaWRlIEpTWC4gRGlkIHlvdSBtZWFuIHRvIHdyYXAgaXQgaW4gcGFyZW50aGVzZXMgKC4uLik/XCIsXG4gIC8vIEZJWE1FOiBVbmlmeSB3aXRoIEVycm9ycy5VbmV4cGVjdGVkVG9rZW5cbiAgVW5leHBlY3RlZFRva2VuOiAoe1xuICAgIHVuZXhwZWN0ZWQsXG4gICAgSFRNTEVudGl0eSxcbiAgfToge1xuICAgIHVuZXhwZWN0ZWQ6IHN0cmluZztcbiAgICBIVE1MRW50aXR5OiBzdHJpbmc7XG4gIH0pID0+XG4gICAgYFVuZXhwZWN0ZWQgdG9rZW4gXFxgJHt1bmV4cGVjdGVkfVxcYC4gRGlkIHlvdSBtZWFuIFxcYCR7SFRNTEVudGl0eX1cXGAgb3IgXFxgeycke3VuZXhwZWN0ZWR9J31cXGA/YCxcbiAgVW5zdXBwb3J0ZWRKc3hWYWx1ZTpcbiAgICBcIkpTWCB2YWx1ZSBzaG91bGQgYmUgZWl0aGVyIGFuIGV4cHJlc3Npb24gb3IgYSBxdW90ZWQgSlNYIHRleHQuXCIsXG4gIFVudGVybWluYXRlZEpzeENvbnRlbnQ6IFwiVW50ZXJtaW5hdGVkIEpTWCBjb250ZW50cy5cIixcbiAgVW53cmFwcGVkQWRqYWNlbnRKU1hFbGVtZW50czpcbiAgICBcIkFkamFjZW50IEpTWCBlbGVtZW50cyBtdXN0IGJlIHdyYXBwZWQgaW4gYW4gZW5jbG9zaW5nIHRhZy4gRGlkIHlvdSB3YW50IGEgSlNYIGZyYWdtZW50IDw+Li4uPC8+P1wiLFxufSk7XG5cbi8qIGVzbGludC1kaXNhYmxlIHNvcnQta2V5cyAqL1xuXG5mdW5jdGlvbiBpc0ZyYWdtZW50KG9iamVjdD86IE4uSlNYVGFnIHwgbnVsbCk6IG9iamVjdCBpcyBOLkpTWEZyYWdtZW50VGFnIHtcbiAgcmV0dXJuIG9iamVjdFxuICAgID8gb2JqZWN0LnR5cGUgPT09IFwiSlNYT3BlbmluZ0ZyYWdtZW50XCIgfHxcbiAgICAgICAgb2JqZWN0LnR5cGUgPT09IFwiSlNYQ2xvc2luZ0ZyYWdtZW50XCJcbiAgICA6IGZhbHNlO1xufVxuXG4vLyBUcmFuc2Zvcm1zIEpTWCBlbGVtZW50IG5hbWUgdG8gc3RyaW5nLlxuXG5mdW5jdGlvbiBnZXRRdWFsaWZpZWRKU1hOYW1lKFxuICBvYmplY3Q6IE4uSlNYSWRlbnRpZmllciB8IE4uSlNYTmFtZXNwYWNlZE5hbWUgfCBOLkpTWE1lbWJlckV4cHJlc3Npb24sXG4pOiBzdHJpbmcge1xuICBpZiAob2JqZWN0LnR5cGUgPT09IFwiSlNYSWRlbnRpZmllclwiKSB7XG4gICAgcmV0dXJuIG9iamVjdC5uYW1lO1xuICB9XG5cbiAgaWYgKG9iamVjdC50eXBlID09PSBcIkpTWE5hbWVzcGFjZWROYW1lXCIpIHtcbiAgICByZXR1cm4gb2JqZWN0Lm5hbWVzcGFjZS5uYW1lICsgXCI6XCIgKyBvYmplY3QubmFtZS5uYW1lO1xuICB9XG5cbiAgaWYgKG9iamVjdC50eXBlID09PSBcIkpTWE1lbWJlckV4cHJlc3Npb25cIikge1xuICAgIHJldHVybiAoXG4gICAgICBnZXRRdWFsaWZpZWRKU1hOYW1lKG9iamVjdC5vYmplY3QpICtcbiAgICAgIFwiLlwiICtcbiAgICAgIGdldFF1YWxpZmllZEpTWE5hbWUob2JqZWN0LnByb3BlcnR5KVxuICAgICk7XG4gIH1cblxuICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dFxuICAvLyBAdHMtZXhwZWN0LWVycm9yIC0gb2JqZWN0IGlzICduZXZlcidcbiAgdGhyb3cgbmV3IEVycm9yKFwiTm9kZSBoYWQgdW5leHBlY3RlZCB0eXBlOiBcIiArIG9iamVjdC50eXBlKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJSlNYUGFyc2VyTWl4aW4ge1xuICBqc3hQYXJzZU9wZW5pbmdFbGVtZW50QWZ0ZXJOYW1lKFxuICAgIG5vZGU6IE4uSlNYT3BlbmluZ0VsZW1lbnQsXG4gICk6IE4uSlNYT3BlbmluZ0VsZW1lbnQ7XG59XG5cbmV4cG9ydCBkZWZhdWx0IChzdXBlckNsYXNzOiB0eXBlb2YgUGFyc2VyKSA9PlxuICBjbGFzcyBKU1hQYXJzZXJNaXhpbiBleHRlbmRzIHN1cGVyQ2xhc3MgaW1wbGVtZW50cyBQYXJzZXIsIElKU1hQYXJzZXJNaXhpbiB7XG4gICAgLy8gUmVhZHMgaW5saW5lIEpTWCBjb250ZW50cyB0b2tlbi5cblxuICAgIGpzeFJlYWRUb2tlbigpOiB2b2lkIHtcbiAgICAgIGxldCBvdXQgPSBcIlwiO1xuICAgICAgbGV0IGNodW5rU3RhcnQgPSB0aGlzLnN0YXRlLnBvcztcbiAgICAgIGZvciAoOzspIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUucG9zID49IHRoaXMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhyb3cgdGhpcy5yYWlzZShcbiAgICAgICAgICAgIEpzeEVycm9ycy5VbnRlcm1pbmF0ZWRKc3hDb250ZW50LFxuICAgICAgICAgICAgdGhpcy5zdGF0ZS5zdGFydExvYyxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgY2ggPSB0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MpO1xuXG4gICAgICAgIHN3aXRjaCAoY2gpIHtcbiAgICAgICAgICBjYXNlIGNoYXJDb2Rlcy5sZXNzVGhhbjpcbiAgICAgICAgICBjYXNlIGNoYXJDb2Rlcy5sZWZ0Q3VybHlCcmFjZTpcbiAgICAgICAgICAgIGlmICh0aGlzLnN0YXRlLnBvcyA9PT0gdGhpcy5zdGF0ZS5zdGFydCkge1xuICAgICAgICAgICAgICBpZiAoY2ggPT09IGNoYXJDb2Rlcy5sZXNzVGhhbiAmJiB0aGlzLnN0YXRlLmNhblN0YXJ0SlNYRWxlbWVudCkge1xuICAgICAgICAgICAgICAgICsrdGhpcy5zdGF0ZS5wb3M7XG4gICAgICAgICAgICAgICAgdGhpcy5maW5pc2hUb2tlbih0dC5qc3hUYWdTdGFydCk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3VwZXIuZ2V0VG9rZW5Gcm9tQ29kZShjaCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgb3V0ICs9IHRoaXMuaW5wdXQuc2xpY2UoY2h1bmtTdGFydCwgdGhpcy5zdGF0ZS5wb3MpO1xuICAgICAgICAgICAgdGhpcy5maW5pc2hUb2tlbih0dC5qc3hUZXh0LCBvdXQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuXG4gICAgICAgICAgY2FzZSBjaGFyQ29kZXMuYW1wZXJzYW5kOlxuICAgICAgICAgICAgb3V0ICs9IHRoaXMuaW5wdXQuc2xpY2UoY2h1bmtTdGFydCwgdGhpcy5zdGF0ZS5wb3MpO1xuICAgICAgICAgICAgb3V0ICs9IHRoaXMuanN4UmVhZEVudGl0eSgpO1xuICAgICAgICAgICAgY2h1bmtTdGFydCA9IHRoaXMuc3RhdGUucG9zO1xuICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICBjYXNlIGNoYXJDb2Rlcy5ncmVhdGVyVGhhbjpcbiAgICAgICAgICBjYXNlIGNoYXJDb2Rlcy5yaWdodEN1cmx5QnJhY2U6XG4gICAgICAgICAgICBpZiAocHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORykge1xuICAgICAgICAgICAgICB0aGlzLnJhaXNlKEpzeEVycm9ycy5VbmV4cGVjdGVkVG9rZW4sIHRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSwge1xuICAgICAgICAgICAgICAgIHVuZXhwZWN0ZWQ6IHRoaXMuaW5wdXRbdGhpcy5zdGF0ZS5wb3NdLFxuICAgICAgICAgICAgICAgIEhUTUxFbnRpdHk6XG4gICAgICAgICAgICAgICAgICBjaCA9PT0gY2hhckNvZGVzLnJpZ2h0Q3VybHlCcmFjZSA/IFwiJnJicmFjZTtcIiA6IFwiJmd0O1wiLFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAvKiBmYWxscyB0aHJvdWdoICovXG5cbiAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgaWYgKGlzTmV3TGluZShjaCkpIHtcbiAgICAgICAgICAgICAgb3V0ICs9IHRoaXMuaW5wdXQuc2xpY2UoY2h1bmtTdGFydCwgdGhpcy5zdGF0ZS5wb3MpO1xuICAgICAgICAgICAgICBvdXQgKz0gdGhpcy5qc3hSZWFkTmV3TGluZSh0cnVlKTtcbiAgICAgICAgICAgICAgY2h1bmtTdGFydCA9IHRoaXMuc3RhdGUucG9zO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGpzeFJlYWROZXdMaW5lKG5vcm1hbGl6ZUNSTEY6IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgICAgY29uc3QgY2ggPSB0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MpO1xuICAgICAgbGV0IG91dDtcbiAgICAgICsrdGhpcy5zdGF0ZS5wb3M7XG4gICAgICBpZiAoXG4gICAgICAgIGNoID09PSBjaGFyQ29kZXMuY2FycmlhZ2VSZXR1cm4gJiZcbiAgICAgICAgdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zKSA9PT0gY2hhckNvZGVzLmxpbmVGZWVkXG4gICAgICApIHtcbiAgICAgICAgKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgICAgb3V0ID0gbm9ybWFsaXplQ1JMRiA/IFwiXFxuXCIgOiBcIlxcclxcblwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0ID0gU3RyaW5nLmZyb21DaGFyQ29kZShjaCk7XG4gICAgICB9XG4gICAgICArK3RoaXMuc3RhdGUuY3VyTGluZTtcbiAgICAgIHRoaXMuc3RhdGUubGluZVN0YXJ0ID0gdGhpcy5zdGF0ZS5wb3M7XG5cbiAgICAgIHJldHVybiBvdXQ7XG4gICAgfVxuXG4gICAganN4UmVhZFN0cmluZyhxdW90ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICBsZXQgb3V0ID0gXCJcIjtcbiAgICAgIGxldCBjaHVua1N0YXJ0ID0gKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgIGZvciAoOzspIHtcbiAgICAgICAgaWYgKHRoaXMuc3RhdGUucG9zID49IHRoaXMubGVuZ3RoKSB7XG4gICAgICAgICAgdGhyb3cgdGhpcy5yYWlzZShFcnJvcnMuVW50ZXJtaW5hdGVkU3RyaW5nLCB0aGlzLnN0YXRlLnN0YXJ0TG9jKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNoID0gdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zKTtcbiAgICAgICAgaWYgKGNoID09PSBxdW90ZSkgYnJlYWs7XG4gICAgICAgIGlmIChjaCA9PT0gY2hhckNvZGVzLmFtcGVyc2FuZCkge1xuICAgICAgICAgIG91dCArPSB0aGlzLmlucHV0LnNsaWNlKGNodW5rU3RhcnQsIHRoaXMuc3RhdGUucG9zKTtcbiAgICAgICAgICBvdXQgKz0gdGhpcy5qc3hSZWFkRW50aXR5KCk7XG4gICAgICAgICAgY2h1bmtTdGFydCA9IHRoaXMuc3RhdGUucG9zO1xuICAgICAgICB9IGVsc2UgaWYgKGlzTmV3TGluZShjaCkpIHtcbiAgICAgICAgICBvdXQgKz0gdGhpcy5pbnB1dC5zbGljZShjaHVua1N0YXJ0LCB0aGlzLnN0YXRlLnBvcyk7XG4gICAgICAgICAgb3V0ICs9IHRoaXMuanN4UmVhZE5ld0xpbmUoZmFsc2UpO1xuICAgICAgICAgIGNodW5rU3RhcnQgPSB0aGlzLnN0YXRlLnBvcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICArK3RoaXMuc3RhdGUucG9zO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBvdXQgKz0gdGhpcy5pbnB1dC5zbGljZShjaHVua1N0YXJ0LCB0aGlzLnN0YXRlLnBvcysrKTtcbiAgICAgIHRoaXMuZmluaXNoVG9rZW4odHQuc3RyaW5nLCBvdXQpO1xuICAgIH1cblxuICAgIGpzeFJlYWRFbnRpdHkoKTogc3RyaW5nIHtcbiAgICAgIGNvbnN0IHN0YXJ0UG9zID0gKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgIGlmICh0aGlzLmNvZGVQb2ludEF0UG9zKHRoaXMuc3RhdGUucG9zKSA9PT0gY2hhckNvZGVzLm51bWJlclNpZ24pIHtcbiAgICAgICAgKyt0aGlzLnN0YXRlLnBvcztcblxuICAgICAgICBsZXQgcmFkaXggPSAxMDtcbiAgICAgICAgaWYgKHRoaXMuY29kZVBvaW50QXRQb3ModGhpcy5zdGF0ZS5wb3MpID09PSBjaGFyQ29kZXMubG93ZXJjYXNlWCkge1xuICAgICAgICAgIHJhZGl4ID0gMTY7XG4gICAgICAgICAgKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGNvZGVQb2ludCA9IHRoaXMucmVhZEludChcbiAgICAgICAgICByYWRpeCxcbiAgICAgICAgICAvKiBsZW4gKi8gdW5kZWZpbmVkLFxuICAgICAgICAgIC8qIGZvcmNlTGVuICovIGZhbHNlLFxuICAgICAgICAgIC8qIGFsbG93TnVtU2VwYXJhdG9yICovIFwiYmFpbFwiLFxuICAgICAgICApO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgY29kZVBvaW50ICE9PSBudWxsICYmXG4gICAgICAgICAgdGhpcy5jb2RlUG9pbnRBdFBvcyh0aGlzLnN0YXRlLnBvcykgPT09IGNoYXJDb2Rlcy5zZW1pY29sb25cbiAgICAgICAgKSB7XG4gICAgICAgICAgKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgICAgICByZXR1cm4gU3RyaW5nLmZyb21Db2RlUG9pbnQoY29kZVBvaW50KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGNvdW50ID0gMDtcbiAgICAgICAgbGV0IHNlbWkgPSBmYWxzZTtcbiAgICAgICAgd2hpbGUgKFxuICAgICAgICAgIGNvdW50KysgPCAxMCAmJlxuICAgICAgICAgIHRoaXMuc3RhdGUucG9zIDwgdGhpcy5sZW5ndGggJiZcbiAgICAgICAgICAhKHNlbWkgPSB0aGlzLmNvZGVQb2ludEF0UG9zKHRoaXMuc3RhdGUucG9zKSA9PT0gY2hhckNvZGVzLnNlbWljb2xvbilcbiAgICAgICAgKSB7XG4gICAgICAgICAgKyt0aGlzLnN0YXRlLnBvcztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZW1pKSB7XG4gICAgICAgICAgY29uc3QgZGVzYyA9IHRoaXMuaW5wdXQuc2xpY2Uoc3RhcnRQb3MsIHRoaXMuc3RhdGUucG9zKTtcbiAgICAgICAgICBjb25zdCBlbnRpdHkgPSBYSFRNTEVudGl0aWVzW2Rlc2NdO1xuICAgICAgICAgICsrdGhpcy5zdGF0ZS5wb3M7XG5cbiAgICAgICAgICBpZiAoZW50aXR5KSB7XG4gICAgICAgICAgICByZXR1cm4gZW50aXR5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBOb3QgYSB2YWxpZCBlbnRpdHlcbiAgICAgIHRoaXMuc3RhdGUucG9zID0gc3RhcnRQb3M7XG4gICAgICByZXR1cm4gXCImXCI7XG4gICAgfVxuXG4gICAgLy8gUmVhZCBhIEpTWCBpZGVudGlmaWVyICh2YWxpZCB0YWcgb3IgYXR0cmlidXRlIG5hbWUpLlxuICAgIC8vXG4gICAgLy8gT3B0aW1pemVkIHZlcnNpb24gc2luY2UgSlNYIGlkZW50aWZpZXJzIGNhblwidCBjb250YWluXG4gICAgLy8gZXNjYXBlIGNoYXJhY3RlcnMgYW5kIHNvIGNhbiBiZSByZWFkIGFzIHNpbmdsZSBzbGljZS5cbiAgICAvLyBBbHNvIGFzc3VtZXMgdGhhdCBmaXJzdCBjaGFyYWN0ZXIgd2FzIGFscmVhZHkgY2hlY2tlZFxuICAgIC8vIGJ5IGlzSWRlbnRpZmllclN0YXJ0IGluIHJlYWRUb2tlbi5cblxuICAgIGpzeFJlYWRXb3JkKCk6IHZvaWQge1xuICAgICAgbGV0IGNoO1xuICAgICAgY29uc3Qgc3RhcnQgPSB0aGlzLnN0YXRlLnBvcztcbiAgICAgIGRvIHtcbiAgICAgICAgY2ggPSB0aGlzLmlucHV0LmNoYXJDb2RlQXQoKyt0aGlzLnN0YXRlLnBvcyk7XG4gICAgICB9IHdoaWxlIChpc0lkZW50aWZpZXJDaGFyKGNoKSB8fCBjaCA9PT0gY2hhckNvZGVzLmRhc2gpO1xuICAgICAgdGhpcy5maW5pc2hUb2tlbih0dC5qc3hOYW1lLCB0aGlzLmlucHV0LnNsaWNlKHN0YXJ0LCB0aGlzLnN0YXRlLnBvcykpO1xuICAgIH1cblxuICAgIC8vIFBhcnNlIG5leHQgdG9rZW4gYXMgSlNYIGlkZW50aWZpZXJcblxuICAgIGpzeFBhcnNlSWRlbnRpZmllcigpOiBOLkpTWElkZW50aWZpZXIge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uSlNYSWRlbnRpZmllcj4oKTtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmpzeE5hbWUpKSB7XG4gICAgICAgIG5vZGUubmFtZSA9IHRoaXMuc3RhdGUudmFsdWU7XG4gICAgICB9IGVsc2UgaWYgKHRva2VuSXNLZXl3b3JkKHRoaXMuc3RhdGUudHlwZSkpIHtcbiAgICAgICAgbm9kZS5uYW1lID0gdG9rZW5MYWJlbE5hbWUodGhpcy5zdGF0ZS50eXBlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudW5leHBlY3RlZCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiSlNYSWRlbnRpZmllclwiKTtcbiAgICB9XG5cbiAgICAvLyBQYXJzZSBuYW1lc3BhY2VkIGlkZW50aWZpZXIuXG5cbiAgICBqc3hQYXJzZU5hbWVzcGFjZWROYW1lKCk6IE4uSlNYTmFtZXNwYWNlZE5hbWUgfCBOLkpTWElkZW50aWZpZXIge1xuICAgICAgY29uc3Qgc3RhcnRMb2MgPSB0aGlzLnN0YXRlLnN0YXJ0TG9jO1xuICAgICAgY29uc3QgbmFtZSA9IHRoaXMuanN4UGFyc2VJZGVudGlmaWVyKCk7XG4gICAgICBpZiAoIXRoaXMuZWF0KHR0LmNvbG9uKSkgcmV0dXJuIG5hbWU7XG5cbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uSlNYTmFtZXNwYWNlZE5hbWU+KHN0YXJ0TG9jKTtcbiAgICAgIG5vZGUubmFtZXNwYWNlID0gbmFtZTtcbiAgICAgIG5vZGUubmFtZSA9IHRoaXMuanN4UGFyc2VJZGVudGlmaWVyKCk7XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiSlNYTmFtZXNwYWNlZE5hbWVcIik7XG4gICAgfVxuXG4gICAgLy8gUGFyc2VzIGVsZW1lbnQgbmFtZSBpbiBhbnkgZm9ybSAtIG5hbWVzcGFjZWQsIG1lbWJlclxuICAgIC8vIG9yIHNpbmdsZSBpZGVudGlmaWVyLlxuXG4gICAganN4UGFyc2VFbGVtZW50TmFtZSgpOlxuICAgICAgfCBOLkpTWElkZW50aWZpZXJcbiAgICAgIHwgTi5KU1hOYW1lc3BhY2VkTmFtZVxuICAgICAgfCBOLkpTWE1lbWJlckV4cHJlc3Npb24ge1xuICAgICAgY29uc3Qgc3RhcnRMb2MgPSB0aGlzLnN0YXRlLnN0YXJ0TG9jO1xuICAgICAgbGV0IG5vZGU6IE4uSlNYSWRlbnRpZmllciB8IE4uSlNYTmFtZXNwYWNlZE5hbWUgfCBOLkpTWE1lbWJlckV4cHJlc3Npb24gPVxuICAgICAgICB0aGlzLmpzeFBhcnNlTmFtZXNwYWNlZE5hbWUoKTtcbiAgICAgIGlmIChub2RlLnR5cGUgPT09IFwiSlNYTmFtZXNwYWNlZE5hbWVcIikge1xuICAgICAgICByZXR1cm4gbm9kZTtcbiAgICAgIH1cbiAgICAgIHdoaWxlICh0aGlzLmVhdCh0dC5kb3QpKSB7XG4gICAgICAgIGNvbnN0IG5ld05vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uSlNYTWVtYmVyRXhwcmVzc2lvbj4oc3RhcnRMb2MpO1xuICAgICAgICBuZXdOb2RlLm9iamVjdCA9IG5vZGU7XG4gICAgICAgIG5ld05vZGUucHJvcGVydHkgPSB0aGlzLmpzeFBhcnNlSWRlbnRpZmllcigpO1xuICAgICAgICBub2RlID0gdGhpcy5maW5pc2hOb2RlKG5ld05vZGUsIFwiSlNYTWVtYmVyRXhwcmVzc2lvblwiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBub2RlO1xuICAgIH1cblxuICAgIC8vIFBhcnNlcyBhbnkgdHlwZSBvZiBKU1ggYXR0cmlidXRlIHZhbHVlLlxuXG4gICAganN4UGFyc2VBdHRyaWJ1dGVWYWx1ZSgpOlxuICAgICAgfCBOLkpTWEV4cHJlc3Npb25Db250YWluZXJcbiAgICAgIHwgTi5KU1hFbGVtZW50XG4gICAgICB8IE4uU3RyaW5nTGl0ZXJhbCB7XG4gICAgICBsZXQgbm9kZTtcbiAgICAgIHN3aXRjaCAodGhpcy5zdGF0ZS50eXBlKSB7XG4gICAgICAgIGNhc2UgdHQuYnJhY2VMOlxuICAgICAgICAgIG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZSgpO1xuICAgICAgICAgIHRoaXMuc2V0Q29udGV4dCh0Yy5icmFjZSk7XG4gICAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgICAgbm9kZSA9IHRoaXMuanN4UGFyc2VFeHByZXNzaW9uQ29udGFpbmVyKG5vZGUsIHRjLmpfb1RhZyk7XG4gICAgICAgICAgaWYgKG5vZGUuZXhwcmVzc2lvbi50eXBlID09PSBcIkpTWEVtcHR5RXhwcmVzc2lvblwiKSB7XG4gICAgICAgICAgICB0aGlzLnJhaXNlKEpzeEVycm9ycy5BdHRyaWJ1dGVJc0VtcHR5LCBub2RlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5vZGU7XG5cbiAgICAgICAgY2FzZSB0dC5qc3hUYWdTdGFydDpcbiAgICAgICAgY2FzZSB0dC5zdHJpbmc6XG4gICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VFeHByQXRvbSgpIGFzIE4uSlNYRWxlbWVudCB8IE4uU3RyaW5nTGl0ZXJhbDtcblxuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHRocm93IHRoaXMucmFpc2UoSnN4RXJyb3JzLlVuc3VwcG9ydGVkSnN4VmFsdWUsIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEpTWEVtcHR5RXhwcmVzc2lvbiBpcyB1bmlxdWUgdHlwZSBzaW5jZSBpdCBkb2Vzbid0IGFjdHVhbGx5IHBhcnNlIGFueXRoaW5nLFxuICAgIC8vIGFuZCBzbyBpdCBzaG91bGQgc3RhcnQgYXQgdGhlIGVuZCBvZiBsYXN0IHJlYWQgdG9rZW4gKGxlZnQgYnJhY2UpIGFuZCBmaW5pc2hcbiAgICAvLyBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBuZXh0IG9uZSAocmlnaHQgYnJhY2UpLlxuXG4gICAganN4UGFyc2VFbXB0eUV4cHJlc3Npb24oKTogTi5KU1hFbXB0eUV4cHJlc3Npb24ge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlQXQodGhpcy5zdGF0ZS5sYXN0VG9rRW5kTG9jKTtcbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGVBdChub2RlLCBcIkpTWEVtcHR5RXhwcmVzc2lvblwiLCB0aGlzLnN0YXRlLnN0YXJ0TG9jKTtcbiAgICB9XG5cbiAgICAvLyBQYXJzZSBKU1ggc3ByZWFkIGNoaWxkXG5cbiAgICBqc3hQYXJzZVNwcmVhZENoaWxkKG5vZGU6IFVuZG9uZTxOLkpTWFNwcmVhZENoaWxkPik6IE4uSlNYU3ByZWFkQ2hpbGQge1xuICAgICAgdGhpcy5uZXh0KCk7IC8vIGVsbGlwc2lzXG4gICAgICBub2RlLmV4cHJlc3Npb24gPSB0aGlzLnBhcnNlRXhwcmVzc2lvbigpO1xuICAgICAgdGhpcy5zZXRDb250ZXh0KHRjLmpfZXhwcik7XG4gICAgICB0aGlzLnN0YXRlLmNhblN0YXJ0SlNYRWxlbWVudCA9IHRydWU7XG4gICAgICB0aGlzLmV4cGVjdCh0dC5icmFjZVIpO1xuXG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiSlNYU3ByZWFkQ2hpbGRcIik7XG4gICAgfVxuXG4gICAgLy8gUGFyc2VzIEpTWCBleHByZXNzaW9uIGVuY2xvc2VkIGludG8gY3VybHkgYnJhY2tldHMuXG5cbiAgICBqc3hQYXJzZUV4cHJlc3Npb25Db250YWluZXIoXG4gICAgICBub2RlOiBVbmRvbmU8Ti5KU1hFeHByZXNzaW9uQ29udGFpbmVyPixcbiAgICAgIHByZXZpb3VzQ29udGV4dDogVG9rQ29udGV4dCxcbiAgICApOiBOLkpTWEV4cHJlc3Npb25Db250YWluZXIge1xuICAgICAgaWYgKHRoaXMubWF0Y2godHQuYnJhY2VSKSkge1xuICAgICAgICBub2RlLmV4cHJlc3Npb24gPSB0aGlzLmpzeFBhcnNlRW1wdHlFeHByZXNzaW9uKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBleHByZXNzaW9uID0gdGhpcy5wYXJzZUV4cHJlc3Npb24oKTtcblxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIGV4cHJlc3Npb24udHlwZSA9PT0gXCJTZXF1ZW5jZUV4cHJlc3Npb25cIiAmJlxuICAgICAgICAgICAgIWV4cHJlc3Npb24uZXh0cmE/LnBhcmVudGhlc2l6ZWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucmFpc2UoXG4gICAgICAgICAgICAgIEpzeEVycm9ycy5VbmV4cGVjdGVkU2VxdWVuY2VFeHByZXNzaW9uLFxuICAgICAgICAgICAgICBleHByZXNzaW9uLmV4cHJlc3Npb25zWzFdLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBub2RlLmV4cHJlc3Npb24gPSBleHByZXNzaW9uO1xuICAgICAgfVxuICAgICAgdGhpcy5zZXRDb250ZXh0KHByZXZpb3VzQ29udGV4dCk7XG4gICAgICB0aGlzLnN0YXRlLmNhblN0YXJ0SlNYRWxlbWVudCA9IHRydWU7XG4gICAgICB0aGlzLmV4cGVjdCh0dC5icmFjZVIpO1xuXG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiSlNYRXhwcmVzc2lvbkNvbnRhaW5lclwiKTtcbiAgICB9XG5cbiAgICAvLyBQYXJzZXMgZm9sbG93aW5nIEpTWCBhdHRyaWJ1dGUgbmFtZS12YWx1ZSBwYWlyLlxuXG4gICAganN4UGFyc2VBdHRyaWJ1dGUoKTogTi5KU1hBdHRyaWJ1dGUgfCBOLkpTWFNwcmVhZEF0dHJpYnV0ZSB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5KU1hBdHRyaWJ1dGUgfCBOLkpTWFNwcmVhZEF0dHJpYnV0ZT4oKTtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmJyYWNlTCkpIHtcbiAgICAgICAgdGhpcy5zZXRDb250ZXh0KHRjLmJyYWNlKTtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIHRoaXMuZXhwZWN0KHR0LmVsbGlwc2lzKTtcbiAgICAgICAgbm9kZS5hcmd1bWVudCA9IHRoaXMucGFyc2VNYXliZUFzc2lnbkFsbG93SW4oKTtcbiAgICAgICAgdGhpcy5zZXRDb250ZXh0KHRjLmpfb1RhZyk7XG4gICAgICAgIHRoaXMuc3RhdGUuY2FuU3RhcnRKU1hFbGVtZW50ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5leHBlY3QodHQuYnJhY2VSKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkpTWFNwcmVhZEF0dHJpYnV0ZVwiKTtcbiAgICAgIH1cbiAgICAgIG5vZGUubmFtZSA9IHRoaXMuanN4UGFyc2VOYW1lc3BhY2VkTmFtZSgpO1xuICAgICAgbm9kZS52YWx1ZSA9IHRoaXMuZWF0KHR0LmVxKSA/IHRoaXMuanN4UGFyc2VBdHRyaWJ1dGVWYWx1ZSgpIDogbnVsbDtcbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJKU1hBdHRyaWJ1dGVcIik7XG4gICAgfVxuXG4gICAgLy8gUGFyc2VzIEpTWCBvcGVuaW5nIHRhZyBzdGFydGluZyBhZnRlciBcIjxcIi5cblxuICAgIGpzeFBhcnNlT3BlbmluZ0VsZW1lbnRBdChcbiAgICAgIHN0YXJ0TG9jOiBQb3NpdGlvbixcbiAgICApOiBOLkpTWE9wZW5pbmdFbGVtZW50IHwgTi5KU1hPcGVuaW5nRnJhZ21lbnQge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlQXQ8Ti5KU1hPcGVuaW5nRWxlbWVudCB8IE4uSlNYT3BlbmluZ0ZyYWdtZW50PihcbiAgICAgICAgc3RhcnRMb2MsXG4gICAgICApO1xuICAgICAgaWYgKHRoaXMuZWF0KHR0LmpzeFRhZ0VuZCkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkpTWE9wZW5pbmdGcmFnbWVudFwiKTtcbiAgICAgIH1cbiAgICAgIG5vZGUubmFtZSA9IHRoaXMuanN4UGFyc2VFbGVtZW50TmFtZSgpO1xuICAgICAgcmV0dXJuIHRoaXMuanN4UGFyc2VPcGVuaW5nRWxlbWVudEFmdGVyTmFtZShcbiAgICAgICAgbm9kZSBhcyBVbmRvbmU8Ti5KU1hPcGVuaW5nRWxlbWVudD4sXG4gICAgICApO1xuICAgIH1cblxuICAgIGpzeFBhcnNlT3BlbmluZ0VsZW1lbnRBZnRlck5hbWUoXG4gICAgICBub2RlOiBVbmRvbmU8Ti5KU1hPcGVuaW5nRWxlbWVudD4sXG4gICAgKTogTi5KU1hPcGVuaW5nRWxlbWVudCB7XG4gICAgICBjb25zdCBhdHRyaWJ1dGVzOiAoTi5KU1hBdHRyaWJ1dGUgfCBOLkpTWFNwcmVhZEF0dHJpYnV0ZSlbXSA9IFtdO1xuICAgICAgd2hpbGUgKCF0aGlzLm1hdGNoKHR0LnNsYXNoKSAmJiAhdGhpcy5tYXRjaCh0dC5qc3hUYWdFbmQpKSB7XG4gICAgICAgIGF0dHJpYnV0ZXMucHVzaCh0aGlzLmpzeFBhcnNlQXR0cmlidXRlKCkpO1xuICAgICAgfVxuICAgICAgbm9kZS5hdHRyaWJ1dGVzID0gYXR0cmlidXRlcztcbiAgICAgIG5vZGUuc2VsZkNsb3NpbmcgPSB0aGlzLmVhdCh0dC5zbGFzaCk7XG4gICAgICB0aGlzLmV4cGVjdCh0dC5qc3hUYWdFbmQpO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkpTWE9wZW5pbmdFbGVtZW50XCIpO1xuICAgIH1cblxuICAgIC8vIFBhcnNlcyBKU1ggY2xvc2luZyB0YWcgc3RhcnRpbmcgYWZ0ZXIgXCI8L1wiLlxuXG4gICAganN4UGFyc2VDbG9zaW5nRWxlbWVudEF0KFxuICAgICAgc3RhcnRMb2M6IFBvc2l0aW9uLFxuICAgICk6IE4uSlNYQ2xvc2luZ0VsZW1lbnQgfCBOLkpTWENsb3NpbmdGcmFnbWVudCB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGVBdDxOLkpTWENsb3NpbmdGcmFnbWVudCB8IE4uSlNYQ2xvc2luZ0VsZW1lbnQ+KFxuICAgICAgICBzdGFydExvYyxcbiAgICAgICk7XG4gICAgICBpZiAodGhpcy5lYXQodHQuanN4VGFnRW5kKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiSlNYQ2xvc2luZ0ZyYWdtZW50XCIpO1xuICAgICAgfVxuICAgICAgbm9kZS5uYW1lID0gdGhpcy5qc3hQYXJzZUVsZW1lbnROYW1lKCk7XG4gICAgICB0aGlzLmV4cGVjdCh0dC5qc3hUYWdFbmQpO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkpTWENsb3NpbmdFbGVtZW50XCIpO1xuICAgIH1cblxuICAgIC8vIFBhcnNlcyBlbnRpcmUgSlNYIGVsZW1lbnQsIGluY2x1ZGluZyBpdFwicyBvcGVuaW5nIHRhZ1xuICAgIC8vIChzdGFydGluZyBhZnRlciBcIjxcIiksIGF0dHJpYnV0ZXMsIGNvbnRlbnRzIGFuZCBjbG9zaW5nIHRhZy5cblxuICAgIGpzeFBhcnNlRWxlbWVudEF0KHN0YXJ0TG9jOiBQb3NpdGlvbik6IE4uSlNYRWxlbWVudCB8IE4uSlNYRnJhZ21lbnQge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlQXQ8Ti5KU1hFbGVtZW50IHwgTi5KU1hGcmFnbWVudD4oc3RhcnRMb2MpO1xuICAgICAgY29uc3QgY2hpbGRyZW4gPSBbXTtcbiAgICAgIGNvbnN0IG9wZW5pbmdFbGVtZW50ID0gdGhpcy5qc3hQYXJzZU9wZW5pbmdFbGVtZW50QXQoc3RhcnRMb2MpO1xuICAgICAgbGV0IGNsb3NpbmdFbGVtZW50ID0gbnVsbDtcblxuICAgICAgaWYgKCFvcGVuaW5nRWxlbWVudC5zZWxmQ2xvc2luZykge1xuICAgICAgICBjb250ZW50czogZm9yICg7Oykge1xuICAgICAgICAgIHN3aXRjaCAodGhpcy5zdGF0ZS50eXBlKSB7XG4gICAgICAgICAgICBjYXNlIHR0LmpzeFRhZ1N0YXJ0OlxuICAgICAgICAgICAgICBzdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgICAgICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICAgICAgICBpZiAodGhpcy5lYXQodHQuc2xhc2gpKSB7XG4gICAgICAgICAgICAgICAgY2xvc2luZ0VsZW1lbnQgPSB0aGlzLmpzeFBhcnNlQ2xvc2luZ0VsZW1lbnRBdChzdGFydExvYyk7XG4gICAgICAgICAgICAgICAgYnJlYWsgY29udGVudHM7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY2hpbGRyZW4ucHVzaCh0aGlzLmpzeFBhcnNlRWxlbWVudEF0KHN0YXJ0TG9jKSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIHR0LmpzeFRleHQ6XG4gICAgICAgICAgICAgIGNoaWxkcmVuLnB1c2godGhpcy5wYXJzZUxpdGVyYWwodGhpcy5zdGF0ZS52YWx1ZSwgXCJKU1hUZXh0XCIpKTtcbiAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgdHQuYnJhY2VMOiB7XG4gICAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxcbiAgICAgICAgICAgICAgICBOLkpTWFNwcmVhZENoaWxkIHwgTi5KU1hFeHByZXNzaW9uQ29udGFpbmVyXG4gICAgICAgICAgICAgID4oKTtcbiAgICAgICAgICAgICAgdGhpcy5zZXRDb250ZXh0KHRjLmJyYWNlKTtcbiAgICAgICAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmVsbGlwc2lzKSkge1xuICAgICAgICAgICAgICAgIGNoaWxkcmVuLnB1c2godGhpcy5qc3hQYXJzZVNwcmVhZENoaWxkKG5vZGUpKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBjaGlsZHJlbi5wdXNoKFxuICAgICAgICAgICAgICAgICAgdGhpcy5qc3hQYXJzZUV4cHJlc3Npb25Db250YWluZXIobm9kZSwgdGMual9leHByKSxcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLyBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAtIHNob3VsZCBuZXZlciBoYXBwZW5cbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIHRoaXMudW5leHBlY3RlZCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBpc0ZyYWdtZW50KG9wZW5pbmdFbGVtZW50KSAmJlxuICAgICAgICAgICFpc0ZyYWdtZW50KGNsb3NpbmdFbGVtZW50KSAmJlxuICAgICAgICAgIGNsb3NpbmdFbGVtZW50ICE9PSBudWxsXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMucmFpc2UoSnN4RXJyb3JzLk1pc3NpbmdDbG9zaW5nVGFnRnJhZ21lbnQsIGNsb3NpbmdFbGVtZW50KTtcbiAgICAgICAgfSBlbHNlIGlmICghaXNGcmFnbWVudChvcGVuaW5nRWxlbWVudCkgJiYgaXNGcmFnbWVudChjbG9zaW5nRWxlbWVudCkpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEpzeEVycm9ycy5NaXNzaW5nQ2xvc2luZ1RhZ0VsZW1lbnQsIGNsb3NpbmdFbGVtZW50LCB7XG4gICAgICAgICAgICBvcGVuaW5nVGFnTmFtZTogZ2V0UXVhbGlmaWVkSlNYTmFtZShvcGVuaW5nRWxlbWVudC5uYW1lKSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIGlmICghaXNGcmFnbWVudChvcGVuaW5nRWxlbWVudCkgJiYgIWlzRnJhZ21lbnQoY2xvc2luZ0VsZW1lbnQpKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgZ2V0UXVhbGlmaWVkSlNYTmFtZShjbG9zaW5nRWxlbWVudC5uYW1lKSAhPT1cbiAgICAgICAgICAgIGdldFF1YWxpZmllZEpTWE5hbWUob3BlbmluZ0VsZW1lbnQubmFtZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucmFpc2UoSnN4RXJyb3JzLk1pc3NpbmdDbG9zaW5nVGFnRWxlbWVudCwgY2xvc2luZ0VsZW1lbnQsIHtcbiAgICAgICAgICAgICAgb3BlbmluZ1RhZ05hbWU6IGdldFF1YWxpZmllZEpTWE5hbWUob3BlbmluZ0VsZW1lbnQubmFtZSksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGlzRnJhZ21lbnQob3BlbmluZ0VsZW1lbnQpKSB7XG4gICAgICAgIG5vZGUub3BlbmluZ0ZyYWdtZW50ID0gb3BlbmluZ0VsZW1lbnQ7XG4gICAgICAgIG5vZGUuY2xvc2luZ0ZyYWdtZW50ID0gY2xvc2luZ0VsZW1lbnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlLm9wZW5pbmdFbGVtZW50ID0gb3BlbmluZ0VsZW1lbnQ7XG4gICAgICAgIG5vZGUuY2xvc2luZ0VsZW1lbnQgPSBjbG9zaW5nRWxlbWVudDtcbiAgICAgIH1cbiAgICAgIG5vZGUuY2hpbGRyZW4gPSBjaGlsZHJlbjtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0Lmx0KSkge1xuICAgICAgICB0aHJvdyB0aGlzLnJhaXNlKFxuICAgICAgICAgIEpzeEVycm9ycy5VbndyYXBwZWRBZGphY2VudEpTWEVsZW1lbnRzLFxuICAgICAgICAgIHRoaXMuc3RhdGUuc3RhcnRMb2MsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBpc0ZyYWdtZW50KG9wZW5pbmdFbGVtZW50KVxuICAgICAgICA/IHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkpTWEZyYWdtZW50XCIpXG4gICAgICAgIDogdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiSlNYRWxlbWVudFwiKTtcbiAgICB9XG5cbiAgICAvLyBQYXJzZXMgZW50aXJlIEpTWCBlbGVtZW50IGZyb20gY3VycmVudCBwb3NpdGlvbi5cblxuICAgIGpzeFBhcnNlRWxlbWVudCgpOiBOLkpTWEVsZW1lbnQgfCBOLkpTWEZyYWdtZW50IHtcbiAgICAgIGNvbnN0IHN0YXJ0TG9jID0gdGhpcy5zdGF0ZS5zdGFydExvYztcbiAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgcmV0dXJuIHRoaXMuanN4UGFyc2VFbGVtZW50QXQoc3RhcnRMb2MpO1xuICAgIH1cblxuICAgIHNldENvbnRleHQobmV3Q29udGV4dDogVG9rQ29udGV4dCkge1xuICAgICAgY29uc3QgeyBjb250ZXh0IH0gPSB0aGlzLnN0YXRlO1xuICAgICAgY29udGV4dFtjb250ZXh0Lmxlbmd0aCAtIDFdID0gbmV3Q29udGV4dDtcbiAgICB9XG5cbiAgICAvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gT3ZlcnJpZGVzXG4gICAgLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgcGFyc2VFeHByQXRvbShyZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwpOiBOLkV4cHJlc3Npb24ge1xuICAgICAgaWYgKHRoaXMubWF0Y2godHQuanN4VGFnU3RhcnQpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmpzeFBhcnNlRWxlbWVudCgpO1xuICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgdGhpcy5tYXRjaCh0dC5sdCkgJiZcbiAgICAgICAgdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zKSAhPT0gY2hhckNvZGVzLmV4Y2xhbWF0aW9uTWFya1xuICAgICAgKSB7XG4gICAgICAgIC8vIEluIGNhc2Ugd2UgZW5jb3VudGVyIGFuIGx0IHRva2VuIGhlcmUgaXQgd2lsbCBhbHdheXMgYmUgdGhlIHN0YXJ0IG9mXG4gICAgICAgIC8vIGpzeCBhcyB0aGUgbHQgc2lnbiBpcyBub3QgYWxsb3dlZCBpbiBwbGFjZXMgdGhhdCBleHBlY3QgYW4gZXhwcmVzc2lvblxuICAgICAgICB0aGlzLnJlcGxhY2VUb2tlbih0dC5qc3hUYWdTdGFydCk7XG4gICAgICAgIHJldHVybiB0aGlzLmpzeFBhcnNlRWxlbWVudCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLnBhcnNlRXhwckF0b20ocmVmRXhwcmVzc2lvbkVycm9ycyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc2tpcFNwYWNlKCkge1xuICAgICAgY29uc3QgY3VyQ29udGV4dCA9IHRoaXMuY3VyQ29udGV4dCgpO1xuICAgICAgaWYgKCFjdXJDb250ZXh0LnByZXNlcnZlU3BhY2UpIHN1cGVyLnNraXBTcGFjZSgpO1xuICAgIH1cblxuICAgIGdldFRva2VuRnJvbUNvZGUoY29kZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5jdXJDb250ZXh0KCk7XG5cbiAgICAgIGlmIChjb250ZXh0ID09PSB0Yy5qX2V4cHIpIHtcbiAgICAgICAgdGhpcy5qc3hSZWFkVG9rZW4oKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAoY29udGV4dCA9PT0gdGMual9vVGFnIHx8IGNvbnRleHQgPT09IHRjLmpfY1RhZykge1xuICAgICAgICBpZiAoaXNJZGVudGlmaWVyU3RhcnQoY29kZSkpIHtcbiAgICAgICAgICB0aGlzLmpzeFJlYWRXb3JkKCk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNvZGUgPT09IGNoYXJDb2Rlcy5ncmVhdGVyVGhhbikge1xuICAgICAgICAgICsrdGhpcy5zdGF0ZS5wb3M7XG4gICAgICAgICAgdGhpcy5maW5pc2hUb2tlbih0dC5qc3hUYWdFbmQpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICAoY29kZSA9PT0gY2hhckNvZGVzLnF1b3RhdGlvbk1hcmsgfHwgY29kZSA9PT0gY2hhckNvZGVzLmFwb3N0cm9waGUpICYmXG4gICAgICAgICAgY29udGV4dCA9PT0gdGMual9vVGFnXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuanN4UmVhZFN0cmluZyhjb2RlKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKFxuICAgICAgICBjb2RlID09PSBjaGFyQ29kZXMubGVzc1RoYW4gJiZcbiAgICAgICAgdGhpcy5zdGF0ZS5jYW5TdGFydEpTWEVsZW1lbnQgJiZcbiAgICAgICAgdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zICsgMSkgIT09IGNoYXJDb2Rlcy5leGNsYW1hdGlvbk1hcmtcbiAgICAgICkge1xuICAgICAgICArK3RoaXMuc3RhdGUucG9zO1xuICAgICAgICB0aGlzLmZpbmlzaFRva2VuKHR0LmpzeFRhZ1N0YXJ0KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBzdXBlci5nZXRUb2tlbkZyb21Db2RlKGNvZGUpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNvbnRleHQocHJldlR5cGU6IFRva2VuVHlwZSk6IHZvaWQge1xuICAgICAgY29uc3QgeyBjb250ZXh0LCB0eXBlIH0gPSB0aGlzLnN0YXRlO1xuICAgICAgaWYgKHR5cGUgPT09IHR0LnNsYXNoICYmIHByZXZUeXBlID09PSB0dC5qc3hUYWdTdGFydCkge1xuICAgICAgICAvLyBkbyBub3QgY29uc2lkZXIgSlNYIGV4cHIgLT4gSlNYIG9wZW4gdGFnIC0+IC4uLiBhbnltb3JlXG4gICAgICAgIC8vIHJlY29uc2lkZXIgYXMgY2xvc2luZyB0YWcgY29udGV4dFxuICAgICAgICBjb250ZXh0LnNwbGljZSgtMiwgMiwgdGMual9jVGFnKTtcbiAgICAgICAgdGhpcy5zdGF0ZS5jYW5TdGFydEpTWEVsZW1lbnQgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gdHQuanN4VGFnU3RhcnQpIHtcbiAgICAgICAgLy8gc3RhcnQgb3BlbmluZyB0YWcgY29udGV4dFxuICAgICAgICBjb250ZXh0LnB1c2godGMual9vVGFnKTtcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gdHQuanN4VGFnRW5kKSB7XG4gICAgICAgIGNvbnN0IG91dCA9IGNvbnRleHRbY29udGV4dC5sZW5ndGggLSAxXTtcbiAgICAgICAgaWYgKChvdXQgPT09IHRjLmpfb1RhZyAmJiBwcmV2VHlwZSA9PT0gdHQuc2xhc2gpIHx8IG91dCA9PT0gdGMual9jVGFnKSB7XG4gICAgICAgICAgY29udGV4dC5wb3AoKTtcbiAgICAgICAgICB0aGlzLnN0YXRlLmNhblN0YXJ0SlNYRWxlbWVudCA9XG4gICAgICAgICAgICBjb250ZXh0W2NvbnRleHQubGVuZ3RoIC0gMV0gPT09IHRjLmpfZXhwcjtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnNldENvbnRleHQodGMual9leHByKTtcbiAgICAgICAgICB0aGlzLnN0YXRlLmNhblN0YXJ0SlNYRWxlbWVudCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc3RhdGUuY2FuU3RhcnRKU1hFbGVtZW50ID0gdG9rZW5Db21lc0JlZm9yZUV4cHJlc3Npb24odHlwZSk7XG4gICAgICB9XG4gICAgfVxuICB9O1xuIiwgImltcG9ydCB0eXBlIHsgUG9zaXRpb24gfSBmcm9tIFwiLi4vLi4vdXRpbC9sb2NhdGlvbi50c1wiO1xuaW1wb3J0IFNjb3BlSGFuZGxlciwgeyBOYW1lVHlwZSwgU2NvcGUgfSBmcm9tIFwiLi4vLi4vdXRpbC9zY29wZS50c1wiO1xuaW1wb3J0IHsgQmluZGluZ0ZsYWcsIFNjb3BlRmxhZyB9IGZyb20gXCIuLi8uLi91dGlsL3Njb3BlZmxhZ3MudHNcIjtcbmltcG9ydCB0eXBlICogYXMgTiBmcm9tIFwiLi4vLi4vdHlwZXMudHNcIjtcbmltcG9ydCB7IEVycm9ycyB9IGZyb20gXCIuLi8uLi9wYXJzZS1lcnJvci50c1wiO1xuXG5jb25zdCBlbnVtIFRzTmFtZVR5cGUge1xuICBUeXBlcyA9IDEgPDwgMCxcbiAgLy8gZW51bXMgKHdoaWNoIGFyZSBhbHNvIGluIC50eXBlcylcbiAgRW51bXMgPSAxIDw8IDEsXG4gIC8vIGNvbnN0IGVudW1zICh3aGljaCBhcmUgYWxzbyBpbiAuZW51bXMgYW5kIC50eXBlcylcbiAgQ29uc3RFbnVtcyA9IDEgPDwgMixcbiAgLy8gY2xhc3NlcyAod2hpY2ggYXJlIGFsc28gaW4gLmxleGljYWwpIGFuZCBpbnRlcmZhY2UgKHdoaWNoIGFyZSBhbHNvIGluIC50eXBlcylcbiAgQ2xhc3NlcyA9IDEgPDwgMyxcbiAgLy8gbmFtZXNwYWNlcyBhbmQgYW1iaWVudCBmdW5jdGlvbnMgKG9yIGNsYXNzZXMpIGFyZSB0b28gZGlmZmljdWx0IHRvIHRyYWNrLFxuICAvLyBlc3BlY2lhbGx5IHdpdGhvdXQgdHlwZSBhbmFseXNpcy5cbiAgLy8gV2UgbmVlZCB0byB0cmFjayB0aGVtIGFueXdheSwgdG8gYXZvaWQgXCJYIGlzIG5vdCBkZWZpbmVkXCIgZXJyb3JzXG4gIC8vIHdoZW4gZXhwb3J0aW5nIHRoZW0uXG4gIEV4cG9ydE9ubHlCaW5kaW5ncyA9IDEgPDwgNCxcbn1cblxuY2xhc3MgVHlwZVNjcmlwdFNjb3BlIGV4dGVuZHMgU2NvcGUge1xuICB0c05hbWVzOiBNYXA8c3RyaW5nLCBUc05hbWVUeXBlPiA9IG5ldyBNYXAoKTtcbn1cblxuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9iYWJlbC9iYWJlbC9wdWxsLzk3NjYjZGlzY3Vzc2lvbl9yMjY4OTIwNzMwIGZvciBhblxuLy8gZXhwbGFuYXRpb24gb2YgaG93IHR5cGVzY3JpcHQgaGFuZGxlcyBzY29wZS5cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVHlwZVNjcmlwdFNjb3BlSGFuZGxlciBleHRlbmRzIFNjb3BlSGFuZGxlcjxUeXBlU2NyaXB0U2NvcGU+IHtcbiAgaW1wb3J0c1N0YWNrOiBTZXQ8c3RyaW5nPltdID0gW107XG5cbiAgY3JlYXRlU2NvcGUoZmxhZ3M6IFNjb3BlRmxhZyk6IFR5cGVTY3JpcHRTY29wZSB7XG4gICAgdGhpcy5pbXBvcnRzU3RhY2sucHVzaChuZXcgU2V0KCkpOyAvLyBBbHdheXMga2VlcCB0aGUgdG9wLWxldmVsIHNjb3BlIGZvciBleHBvcnQgY2hlY2tzLlxuXG4gICAgcmV0dXJuIG5ldyBUeXBlU2NyaXB0U2NvcGUoZmxhZ3MpO1xuICB9XG5cbiAgZW50ZXIoZmxhZ3M6IFNjb3BlRmxhZyk6IHZvaWQge1xuICAgIGlmIChmbGFncyA9PT0gU2NvcGVGbGFnLlRTX01PRFVMRSkge1xuICAgICAgdGhpcy5pbXBvcnRzU3RhY2sucHVzaChuZXcgU2V0KCkpO1xuICAgIH1cblxuICAgIHN1cGVyLmVudGVyKGZsYWdzKTtcbiAgfVxuXG4gIGV4aXQoKSB7XG4gICAgY29uc3QgZmxhZ3MgPSBzdXBlci5leGl0KCk7XG5cbiAgICBpZiAoZmxhZ3MgPT09IFNjb3BlRmxhZy5UU19NT0RVTEUpIHtcbiAgICAgIHRoaXMuaW1wb3J0c1N0YWNrLnBvcCgpO1xuICAgIH1cblxuICAgIHJldHVybiBmbGFncztcbiAgfVxuXG4gIGhhc0ltcG9ydChuYW1lOiBzdHJpbmcsIGFsbG93U2hhZG93PzogYm9vbGVhbikge1xuICAgIGNvbnN0IGxlbiA9IHRoaXMuaW1wb3J0c1N0YWNrLmxlbmd0aDtcbiAgICBpZiAodGhpcy5pbXBvcnRzU3RhY2tbbGVuIC0gMV0uaGFzKG5hbWUpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKCFhbGxvd1NoYWRvdyAmJiBsZW4gPiAxKSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxlbiAtIDE7IGkrKykge1xuICAgICAgICBpZiAodGhpcy5pbXBvcnRzU3RhY2tbaV0uaGFzKG5hbWUpKSByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZGVjbGFyZU5hbWUobmFtZTogc3RyaW5nLCBiaW5kaW5nVHlwZTogQmluZGluZ0ZsYWcsIGxvYzogUG9zaXRpb24pIHtcbiAgICBpZiAoYmluZGluZ1R5cGUgJiBCaW5kaW5nRmxhZy5GTEFHX1RTX0lNUE9SVCkge1xuICAgICAgaWYgKHRoaXMuaGFzSW1wb3J0KG5hbWUsIHRydWUpKSB7XG4gICAgICAgIHRoaXMucGFyc2VyLnJhaXNlKEVycm9ycy5WYXJSZWRlY2xhcmF0aW9uLCBsb2MsIHtcbiAgICAgICAgICBpZGVudGlmaWVyTmFtZTogbmFtZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB0aGlzLmltcG9ydHNTdGFja1t0aGlzLmltcG9ydHNTdGFjay5sZW5ndGggLSAxXS5hZGQobmFtZSk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2NvcGUgPSB0aGlzLmN1cnJlbnRTY29wZSgpO1xuICAgIGxldCB0eXBlID0gc2NvcGUudHNOYW1lcy5nZXQobmFtZSkgfHwgMDtcblxuICAgIGlmIChiaW5kaW5nVHlwZSAmIEJpbmRpbmdGbGFnLkZMQUdfVFNfRVhQT1JUX09OTFkpIHtcbiAgICAgIHRoaXMubWF5YmVFeHBvcnREZWZpbmVkKHNjb3BlLCBuYW1lKTtcbiAgICAgIHNjb3BlLnRzTmFtZXMuc2V0KG5hbWUsIHR5cGUgfCBUc05hbWVUeXBlLkV4cG9ydE9ubHlCaW5kaW5ncyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgc3VwZXIuZGVjbGFyZU5hbWUobmFtZSwgYmluZGluZ1R5cGUsIGxvYyk7XG5cbiAgICBpZiAoYmluZGluZ1R5cGUgJiBCaW5kaW5nRmxhZy5LSU5EX1RZUEUpIHtcbiAgICAgIGlmICghKGJpbmRpbmdUeXBlICYgQmluZGluZ0ZsYWcuS0lORF9WQUxVRSkpIHtcbiAgICAgICAgLy8gXCJWYWx1ZVwiIGJpbmRpbmdzIGhhdmUgYWxyZWFkeSBiZWVuIHJlZ2lzdGVyZWQgYnkgdGhlIHN1cGVyY2xhc3MuXG4gICAgICAgIHRoaXMuY2hlY2tSZWRlY2xhcmF0aW9uSW5TY29wZShzY29wZSwgbmFtZSwgYmluZGluZ1R5cGUsIGxvYyk7XG4gICAgICAgIHRoaXMubWF5YmVFeHBvcnREZWZpbmVkKHNjb3BlLCBuYW1lKTtcbiAgICAgIH1cbiAgICAgIHR5cGUgPSB0eXBlIHwgVHNOYW1lVHlwZS5UeXBlcztcbiAgICB9XG4gICAgaWYgKGJpbmRpbmdUeXBlICYgQmluZGluZ0ZsYWcuRkxBR19UU19FTlVNKSB7XG4gICAgICB0eXBlID0gdHlwZSB8IFRzTmFtZVR5cGUuRW51bXM7XG4gICAgfVxuICAgIGlmIChiaW5kaW5nVHlwZSAmIEJpbmRpbmdGbGFnLkZMQUdfVFNfQ09OU1RfRU5VTSkge1xuICAgICAgdHlwZSA9IHR5cGUgfCBUc05hbWVUeXBlLkNvbnN0RW51bXM7XG4gICAgfVxuICAgIGlmIChiaW5kaW5nVHlwZSAmIEJpbmRpbmdGbGFnLkZMQUdfQ0xBU1MpIHtcbiAgICAgIHR5cGUgPSB0eXBlIHwgVHNOYW1lVHlwZS5DbGFzc2VzO1xuICAgIH1cbiAgICBpZiAodHlwZSkgc2NvcGUudHNOYW1lcy5zZXQobmFtZSwgdHlwZSk7XG4gIH1cblxuICBpc1JlZGVjbGFyZWRJblNjb3BlKFxuICAgIHNjb3BlOiBUeXBlU2NyaXB0U2NvcGUsXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGJpbmRpbmdUeXBlOiBCaW5kaW5nRmxhZyxcbiAgKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdHlwZSA9IHNjb3BlLnRzTmFtZXMuZ2V0KG5hbWUpO1xuICAgIGlmICgodHlwZSAmIFRzTmFtZVR5cGUuRW51bXMpID4gMCkge1xuICAgICAgaWYgKGJpbmRpbmdUeXBlICYgQmluZGluZ0ZsYWcuRkxBR19UU19FTlVNKSB7XG4gICAgICAgIC8vIEVudW1zIGNhbiBiZSBtZXJnZWQgd2l0aCBvdGhlciBlbnVtcyBpZiB0aGV5IGFyZSBib3RoXG4gICAgICAgIC8vICBjb25zdCBvciBib3RoIG5vbi1jb25zdC5cbiAgICAgICAgY29uc3QgaXNDb25zdCA9ICEhKGJpbmRpbmdUeXBlICYgQmluZGluZ0ZsYWcuRkxBR19UU19DT05TVF9FTlVNKTtcbiAgICAgICAgY29uc3Qgd2FzQ29uc3QgPSAodHlwZSAmIFRzTmFtZVR5cGUuQ29uc3RFbnVtcykgPiAwO1xuICAgICAgICByZXR1cm4gaXNDb25zdCAhPT0gd2FzQ29uc3Q7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgaWYgKFxuICAgICAgYmluZGluZ1R5cGUgJiBCaW5kaW5nRmxhZy5GTEFHX0NMQVNTICYmXG4gICAgICAodHlwZSAmIFRzTmFtZVR5cGUuQ2xhc3NlcykgPiAwXG4gICAgKSB7XG4gICAgICBpZiAoc2NvcGUubmFtZXMuZ2V0KG5hbWUpICYgTmFtZVR5cGUuTGV4aWNhbCkge1xuICAgICAgICAvLyBDbGFzc2VzIGNhbiBiZSBtZXJnZWQgd2l0aCBpbnRlcmZhY2VzXG4gICAgICAgIHJldHVybiAhIShiaW5kaW5nVHlwZSAmIEJpbmRpbmdGbGFnLktJTkRfVkFMVUUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gSW50ZXJmYWNlIGNhbiBiZSBtZXJnZWQgd2l0aCBvdGhlciBjbGFzc2VzIG9yIGludGVyZmFjZXNcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoYmluZGluZ1R5cGUgJiBCaW5kaW5nRmxhZy5LSU5EX1RZUEUgJiYgKHR5cGUgJiBUc05hbWVUeXBlLlR5cGVzKSA+IDApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5pc1JlZGVjbGFyZWRJblNjb3BlKHNjb3BlLCBuYW1lLCBiaW5kaW5nVHlwZSk7XG4gIH1cblxuICBjaGVja0xvY2FsRXhwb3J0KGlkOiBOLklkZW50aWZpZXIpIHtcbiAgICBjb25zdCB7IG5hbWUgfSA9IGlkO1xuXG4gICAgaWYgKHRoaXMuaGFzSW1wb3J0KG5hbWUpKSByZXR1cm47XG5cbiAgICBjb25zdCBsZW4gPSB0aGlzLnNjb3BlU3RhY2subGVuZ3RoO1xuICAgIGZvciAobGV0IGkgPSBsZW4gLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgY29uc3Qgc2NvcGUgPSB0aGlzLnNjb3BlU3RhY2tbaV07XG4gICAgICBjb25zdCB0eXBlID0gc2NvcGUudHNOYW1lcy5nZXQobmFtZSk7XG4gICAgICBpZiAoXG4gICAgICAgICh0eXBlICYgVHNOYW1lVHlwZS5UeXBlcykgPiAwIHx8XG4gICAgICAgICh0eXBlICYgVHNOYW1lVHlwZS5FeHBvcnRPbmx5QmluZGluZ3MpID4gMFxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzdXBlci5jaGVja0xvY2FsRXhwb3J0KGlkKTtcbiAgfVxufVxuIiwgImltcG9ydCAqIGFzIGNoYXJDb2RlcyBmcm9tIFwiY2hhcmNvZGVzXCI7XG5pbXBvcnQgeyB0dCwgdHlwZSBUb2tlblR5cGUgfSBmcm9tIFwiLi4vdG9rZW5pemVyL3R5cGVzLnRzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIEFzc2lnbm1lbnRQYXR0ZXJuLFxuICBUU1BhcmFtZXRlclByb3BlcnR5LFxuICBEZWNvcmF0b3IsXG4gIEV4cHJlc3Npb24sXG4gIElkZW50aWZpZXIsXG4gIE5vZGUsXG4gIFBhdHRlcm4sXG4gIFJlc3RFbGVtZW50LFxuICBTcHJlYWRFbGVtZW50LFxuICBPYmplY3RPckNsYXNzTWVtYmVyLFxuICBDbGFzc01lbWJlcixcbiAgT2JqZWN0TWVtYmVyLFxuICBUc05hbWVkVHlwZUVsZW1lbnRCYXNlLFxuICBQcml2YXRlTmFtZSxcbiAgT2JqZWN0RXhwcmVzc2lvbixcbiAgT2JqZWN0UGF0dGVybixcbiAgQXJyYXlQYXR0ZXJuLFxuICBBc3NpZ25tZW50UHJvcGVydHksXG4gIEFzc2lnbmFibGUsXG59IGZyb20gXCIuLi90eXBlcy50c1wiO1xuaW1wb3J0IHR5cGUgeyBQb3MsIFBvc2l0aW9uIH0gZnJvbSBcIi4uL3V0aWwvbG9jYXRpb24udHNcIjtcbmltcG9ydCB7XG4gIGlzU3RyaWN0QmluZE9ubHlSZXNlcnZlZFdvcmQsXG4gIGlzU3RyaWN0QmluZFJlc2VydmVkV29yZCxcbn0gZnJvbSBcIi4uL3V0aWwvaWRlbnRpZmllci50c1wiO1xuaW1wb3J0IHsgTm9kZVV0aWxzLCB0eXBlIFVuZG9uZSB9IGZyb20gXCIuL25vZGUudHNcIjtcbmltcG9ydCB7IEJpbmRpbmdGbGFnIH0gZnJvbSBcIi4uL3V0aWwvc2NvcGVmbGFncy50c1wiO1xuaW1wb3J0IHR5cGUgeyBFeHByZXNzaW9uRXJyb3JzIH0gZnJvbSBcIi4vdXRpbC50c1wiO1xuaW1wb3J0IHsgRXJyb3JzLCB0eXBlIExWYWxBbmNlc3RvciB9IGZyb20gXCIuLi9wYXJzZS1lcnJvci50c1wiO1xuaW1wb3J0IHR5cGUgUGFyc2VyIGZyb20gXCIuL2luZGV4LnRzXCI7XG5cbmNvbnN0IHVud3JhcFBhcmVudGhlc2l6ZWRFeHByZXNzaW9uID0gKG5vZGU6IE5vZGUpOiBOb2RlID0+IHtcbiAgcmV0dXJuIG5vZGUudHlwZSA9PT0gXCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiXG4gICAgPyB1bndyYXBQYXJlbnRoZXNpemVkRXhwcmVzc2lvbihub2RlLmV4cHJlc3Npb24pXG4gICAgOiBub2RlO1xufTtcblxuZXhwb3J0IGNvbnN0IGVudW0gUGFyc2VCaW5kaW5nTGlzdEZsYWdzIHtcbiAgQUxMT1dfRU1QVFkgPSAxIDw8IDAsXG4gIElTX0ZVTkNUSU9OX1BBUkFNUyA9IDEgPDwgMSxcbiAgSVNfQ09OU1RSVUNUT1JfUEFSQU1TID0gMSA8PCAyLFxufVxuXG5leHBvcnQgZGVmYXVsdCBhYnN0cmFjdCBjbGFzcyBMVmFsUGFyc2VyIGV4dGVuZHMgTm9kZVV0aWxzIHtcbiAgLy8gRm9yd2FyZC1kZWNsYXJhdGlvbjogZGVmaW5lZCBpbiBleHByZXNzaW9uLmpzXG4gIGFic3RyYWN0IHBhcnNlSWRlbnRpZmllcihsaWJlcmFsPzogYm9vbGVhbik6IElkZW50aWZpZXI7XG4gIGFic3RyYWN0IHBhcnNlTWF5YmVBc3NpZ24oXG4gICAgcmVmRXhwcmVzc2lvbkVycm9ycz86IEV4cHJlc3Npb25FcnJvcnMgfCBudWxsLFxuICAgIGFmdGVyTGVmdFBhcnNlPzogRnVuY3Rpb24sXG4gICAgcmVmTmVlZHNBcnJvd1Bvcz86IFBvcyB8IG51bGwsXG4gICk6IEV4cHJlc3Npb247XG5cbiAgYWJzdHJhY3QgcGFyc2VNYXliZUFzc2lnbkFsbG93SW4oXG4gICAgcmVmRXhwcmVzc2lvbkVycm9ycz86IEV4cHJlc3Npb25FcnJvcnMgfCBudWxsLFxuICAgIGFmdGVyTGVmdFBhcnNlPzogRnVuY3Rpb24sXG4gICAgcmVmTmVlZHNBcnJvd1Bvcz86IFBvcyB8IG51bGwsXG4gICk6IEV4cHJlc3Npb247XG5cbiAgYWJzdHJhY3QgcGFyc2VPYmplY3RMaWtlPFQgZXh0ZW5kcyBPYmplY3RQYXR0ZXJuIHwgT2JqZWN0RXhwcmVzc2lvbj4oXG4gICAgY2xvc2U6IFRva2VuVHlwZSxcbiAgICBpc1BhdHRlcm46IGJvb2xlYW4sXG4gICAgaXNSZWNvcmQ/OiBib29sZWFuLFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzLFxuICApOiBUO1xuICBhYnN0cmFjdCBwYXJzZU9ialByb3BWYWx1ZShcbiAgICBwcm9wOiBhbnksXG4gICAgc3RhcnRMb2M6IFBvc2l0aW9uIHwgbnVsbCxcbiAgICBpc0dlbmVyYXRvcjogYm9vbGVhbixcbiAgICBpc0FzeW5jOiBib29sZWFuLFxuICAgIGlzUGF0dGVybjogYm9vbGVhbixcbiAgICBpc0FjY2Vzc29yOiBib29sZWFuLFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzIHwgbnVsbCxcbiAgKTogdm9pZDtcbiAgYWJzdHJhY3QgcGFyc2VQcm9wZXJ0eU5hbWUoXG4gICAgcHJvcDogT2JqZWN0T3JDbGFzc01lbWJlciB8IENsYXNzTWVtYmVyIHwgVHNOYW1lZFR5cGVFbGVtZW50QmFzZSxcbiAgKTogdm9pZDtcbiAgYWJzdHJhY3QgcGFyc2VQcml2YXRlTmFtZSgpOiBQcml2YXRlTmFtZTtcbiAgLy8gRm9yd2FyZC1kZWNsYXJhdGlvbjogZGVmaW5lZCBpbiBzdGF0ZW1lbnQuanNcbiAgYWJzdHJhY3QgcGFyc2VEZWNvcmF0b3IoKTogRGVjb3JhdG9yO1xuXG4gIC8qKlxuICAgKiBDb252ZXJ0IGV4aXN0aW5nIGV4cHJlc3Npb24gYXRvbSB0byBhc3NpZ25hYmxlIHBhdHRlcm5cbiAgICogaWYgcG9zc2libGUuIEFsc28gY2hlY2tzIGludmFsaWQgZGVzdHJ1Y3R1cmluZyB0YXJnZXRzOlxuICAgKlxuICAgKiAtIFBhcmVudGhlc2l6ZWQgRGVzdHJ1Y3R1cmluZyBwYXR0ZXJuc1xuICAgKiAtIFJlc3RFbGVtZW50IGlzIG5vdCB0aGUgbGFzdCBlbGVtZW50XG4gICAqIC0gTWlzc2luZyBgPWAgaW4gYXNzaWdubWVudCBwYXR0ZXJuXG4gICAqXG4gICAqIE5PVEU6IFRoZXJlIGlzIGEgY29ycmVzcG9uZGluZyBcImlzQXNzaWduYWJsZVwiIG1ldGhvZC5cbiAgICogV2hlbiB0aGlzIG9uZSBpcyB1cGRhdGVkLCBwbGVhc2UgY2hlY2sgaWYgYWxzbyB0aGF0IG9uZSBuZWVkcyB0byBiZSB1cGRhdGVkLlxuICAgKlxuICAgKiBAcGFyYW0gbm9kZSBUaGUgZXhwcmVzc2lvbiBhdG9tXG4gICAqIEBwYXJhbSBpc0xIUyBXaGV0aGVyIHdlIGFyZSBwYXJzaW5nIGEgTGVmdEhhbmRTaWRlRXhwcmVzc2lvbi5cbiAgICogICAgICAgICAgICAgIElmIGlzTEhTIGlzIGB0cnVlYCwgdGhlIGZvbGxvd2luZyBjYXNlcyBhcmUgYWxsb3dlZDogYFsoYSldID0gWzBdYCwgYFsoYS5iKV0gPSBbMF1gXG4gICAqICAgICAgICAgICAgICBJZiBpc0xIUyBpcyBgZmFsc2VgLCB3ZSBhcmUgaW4gYW4gYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVycyBsaXN0LlxuICAgKi9cbiAgdG9Bc3NpZ25hYmxlKG5vZGU6IE5vZGUsIGlzTEhTOiBib29sZWFuID0gZmFsc2UpOiBhc3NlcnRzIG5vZGUgaXMgQXNzaWduYWJsZSB7XG4gICAgbGV0IHBhcmVudGhlc2l6ZWQgPSB1bmRlZmluZWQ7XG4gICAgaWYgKG5vZGUudHlwZSA9PT0gXCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiIHx8IG5vZGUuZXh0cmE/LnBhcmVudGhlc2l6ZWQpIHtcbiAgICAgIHBhcmVudGhlc2l6ZWQgPSB1bndyYXBQYXJlbnRoZXNpemVkRXhwcmVzc2lvbihub2RlKTtcbiAgICAgIGlmIChpc0xIUykge1xuICAgICAgICAvLyBhbiBMSFMgY2FuIGJlIHJlaW50ZXJwcmV0ZWQgdG8gYSBiaW5kaW5nIHBhdHRlcm4gYnV0IG5vdCB2aWNlIHZlcnNhLlxuICAgICAgICAvLyB0aGVyZWZvcmUgYSBwYXJlbnRoZXNpemVkIGlkZW50aWZpZXIgaXMgYW1iaWd1b3VzIHVudGlsIHdlIGFyZSBzdXJlIGl0IGlzIGFuIGFzc2lnbm1lbnQgZXhwcmVzc2lvblxuICAgICAgICAvLyBpLmUuIGAoWyhhKSA9IFtdXSA9IFtdKSA9PiB7fWBcbiAgICAgICAgLy8gc2VlIGFsc28gYHJlY29yZEFycm93UGFyYW1ldGVyQmluZGluZ0Vycm9yYCBzaWduYXR1cmUgaW4gcGFja2FnZXMvYmFiZWwtcGFyc2VyL3NyYy91dGlsL2V4cHJlc3Npb24tc2NvcGUuanNcbiAgICAgICAgaWYgKHBhcmVudGhlc2l6ZWQudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIpIHtcbiAgICAgICAgICB0aGlzLmV4cHJlc3Npb25TY29wZS5yZWNvcmRBcnJvd1BhcmFtZXRlckJpbmRpbmdFcnJvcihcbiAgICAgICAgICAgIEVycm9ycy5JbnZhbGlkUGFyZW50aGVzaXplZEFzc2lnbm1lbnQsXG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgcGFyZW50aGVzaXplZC50eXBlICE9PSBcIk1lbWJlckV4cHJlc3Npb25cIiAmJlxuICAgICAgICAgICF0aGlzLmlzT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uKHBhcmVudGhlc2l6ZWQpXG4gICAgICAgICkge1xuICAgICAgICAgIC8vIEEgcGFyZW50aGVzaXplZCBtZW1iZXIgZXhwcmVzc2lvbiBjYW4gYmUgaW4gTEhTIGJ1dCBub3QgaW4gcGF0dGVybi5cbiAgICAgICAgICAvLyBJZiB0aGUgTEhTIGlzIGxhdGVyIGludGVycHJldGVkIGFzIGEgcGF0dGVybiwgYGNoZWNrTFZhbGAgd2lsbCB0aHJvdyBmb3IgbWVtYmVyIGV4cHJlc3Npb24gYmluZGluZ1xuICAgICAgICAgIC8vIGkuZS4gYChbKGEuYikgPSBbXV0gPSBbXSkgPT4ge31gXG4gICAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuSW52YWxpZFBhcmVudGhlc2l6ZWRBc3NpZ25tZW50LCBub2RlKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuSW52YWxpZFBhcmVudGhlc2l6ZWRBc3NpZ25tZW50LCBub2RlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzd2l0Y2ggKG5vZGUudHlwZSkge1xuICAgICAgY2FzZSBcIklkZW50aWZpZXJcIjpcbiAgICAgIGNhc2UgXCJPYmplY3RQYXR0ZXJuXCI6XG4gICAgICBjYXNlIFwiQXJyYXlQYXR0ZXJuXCI6XG4gICAgICBjYXNlIFwiQXNzaWdubWVudFBhdHRlcm5cIjpcbiAgICAgIGNhc2UgXCJSZXN0RWxlbWVudFwiOlxuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBcIk9iamVjdEV4cHJlc3Npb25cIjpcbiAgICAgICAgKG5vZGUgYXMgTm9kZSkudHlwZSA9IFwiT2JqZWN0UGF0dGVyblwiO1xuICAgICAgICBmb3IgKFxuICAgICAgICAgIGxldCBpID0gMCwgbGVuZ3RoID0gbm9kZS5wcm9wZXJ0aWVzLmxlbmd0aCwgbGFzdCA9IGxlbmd0aCAtIDE7XG4gICAgICAgICAgaSA8IGxlbmd0aDtcbiAgICAgICAgICBpKytcbiAgICAgICAgKSB7XG4gICAgICAgICAgY29uc3QgcHJvcCA9IG5vZGUucHJvcGVydGllc1tpXTtcbiAgICAgICAgICBjb25zdCBpc0xhc3QgPSBpID09PSBsYXN0O1xuICAgICAgICAgIHRoaXMudG9Bc3NpZ25hYmxlT2JqZWN0RXhwcmVzc2lvblByb3AocHJvcCwgaXNMYXN0LCBpc0xIUyk7XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBpc0xhc3QgJiZcbiAgICAgICAgICAgIChwcm9wIGFzIE5vZGUpLnR5cGUgPT09IFwiUmVzdEVsZW1lbnRcIiAmJlxuICAgICAgICAgICAgbm9kZS5leHRyYT8udHJhaWxpbmdDb21tYUxvY1xuICAgICAgICAgICkge1xuICAgICAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuUmVzdFRyYWlsaW5nQ29tbWEsIG5vZGUuZXh0cmEudHJhaWxpbmdDb21tYUxvYyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICBjYXNlIFwiT2JqZWN0UHJvcGVydHlcIjoge1xuICAgICAgICBjb25zdCB7IGtleSwgdmFsdWUgfSA9IG5vZGU7XG4gICAgICAgIGlmICh0aGlzLmlzUHJpdmF0ZU5hbWUoa2V5KSkge1xuICAgICAgICAgIHRoaXMuY2xhc3NTY29wZS51c2VQcml2YXRlTmFtZShcbiAgICAgICAgICAgIHRoaXMuZ2V0UHJpdmF0ZU5hbWVTVihrZXkpLFxuICAgICAgICAgICAga2V5LmxvYy5zdGFydCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudG9Bc3NpZ25hYmxlKHZhbHVlLCBpc0xIUyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjYXNlIFwiU3ByZWFkRWxlbWVudFwiOiB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBcIkludGVybmFsIEBiYWJlbC9wYXJzZXIgZXJyb3IgKHRoaXMgaXMgYSBidWcsIHBsZWFzZSByZXBvcnQgaXQpLlwiICtcbiAgICAgICAgICAgIFwiIFNwcmVhZEVsZW1lbnQgc2hvdWxkIGJlIGNvbnZlcnRlZCBieSAudG9Bc3NpZ25hYmxlJ3MgY2FsbGVyLlwiLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBjYXNlIFwiQXJyYXlFeHByZXNzaW9uXCI6XG4gICAgICAgIChub2RlIGFzIE5vZGUpLnR5cGUgPSBcIkFycmF5UGF0dGVyblwiO1xuICAgICAgICB0aGlzLnRvQXNzaWduYWJsZUxpc3QoXG4gICAgICAgICAgbm9kZS5lbGVtZW50cyxcbiAgICAgICAgICBub2RlLmV4dHJhPy50cmFpbGluZ0NvbW1hTG9jLFxuICAgICAgICAgIGlzTEhTLFxuICAgICAgICApO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCI6XG4gICAgICAgIGlmIChub2RlLm9wZXJhdG9yICE9PSBcIj1cIikge1xuICAgICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLk1pc3NpbmdFcUluQXNzaWdubWVudCwgbm9kZS5sZWZ0LmxvYy5lbmQpO1xuICAgICAgICB9XG5cbiAgICAgICAgKG5vZGUgYXMgTm9kZSkudHlwZSA9IFwiQXNzaWdubWVudFBhdHRlcm5cIjtcbiAgICAgICAgZGVsZXRlIG5vZGUub3BlcmF0b3I7XG4gICAgICAgIHRoaXMudG9Bc3NpZ25hYmxlKG5vZGUubGVmdCwgaXNMSFMpO1xuICAgICAgICBicmVhaztcblxuICAgICAgY2FzZSBcIlBhcmVudGhlc2l6ZWRFeHByZXNzaW9uXCI6XG4gICAgICAgIC8qOjppbnZhcmlhbnQgKHBhcmVudGhlc2l6ZWQgIT09IHVuZGVmaW5lZCkgKi9cbiAgICAgICAgdGhpcy50b0Fzc2lnbmFibGUocGFyZW50aGVzaXplZCwgaXNMSFMpO1xuICAgICAgICBicmVhaztcblxuICAgICAgZGVmYXVsdDpcbiAgICAgIC8vIFdlIGRvbid0IGtub3cgaG93IHRvIGRlYWwgd2l0aCB0aGlzIG5vZGUuIEl0IHdpbGxcbiAgICAgIC8vIGJlIHJlcG9ydGVkIGJ5IGEgbGF0ZXIgY2FsbCB0byBjaGVja0xWYWxcbiAgICB9XG4gIH1cblxuICB0b0Fzc2lnbmFibGVPYmplY3RFeHByZXNzaW9uUHJvcChcbiAgICBwcm9wOiBOb2RlLFxuICAgIGlzTGFzdDogYm9vbGVhbixcbiAgICBpc0xIUzogYm9vbGVhbixcbiAgKSB7XG4gICAgaWYgKHByb3AudHlwZSA9PT0gXCJPYmplY3RNZXRob2RcIikge1xuICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgcHJvcC5raW5kID09PSBcImdldFwiIHx8IHByb3Aua2luZCA9PT0gXCJzZXRcIlxuICAgICAgICAgID8gRXJyb3JzLlBhdHRlcm5IYXNBY2Nlc3NvclxuICAgICAgICAgIDogRXJyb3JzLlBhdHRlcm5IYXNNZXRob2QsXG4gICAgICAgIHByb3Aua2V5LFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHByb3AudHlwZSA9PT0gXCJTcHJlYWRFbGVtZW50XCIpIHtcbiAgICAgIChwcm9wIGFzIE5vZGUpLnR5cGUgPSBcIlJlc3RFbGVtZW50XCI7XG4gICAgICBjb25zdCBhcmcgPSBwcm9wLmFyZ3VtZW50O1xuICAgICAgdGhpcy5jaGVja1RvUmVzdENvbnZlcnNpb24oYXJnLCAvKiBhbGxvd1BhdHRlcm4gKi8gZmFsc2UpO1xuICAgICAgdGhpcy50b0Fzc2lnbmFibGUoYXJnLCBpc0xIUyk7XG5cbiAgICAgIGlmICghaXNMYXN0KSB7XG4gICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLlJlc3RUcmFpbGluZ0NvbW1hLCBwcm9wKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy50b0Fzc2lnbmFibGUocHJvcCwgaXNMSFMpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgbGlzdCBvZiBleHByZXNzaW9uIGF0b21zIHRvIGJpbmRpbmcgbGlzdC5cblxuICB0b0Fzc2lnbmFibGVMaXN0KFxuICAgIGV4cHJMaXN0OiAoRXhwcmVzc2lvbiB8IFNwcmVhZEVsZW1lbnQgfCBSZXN0RWxlbWVudClbXSxcbiAgICB0cmFpbGluZ0NvbW1hTG9jOiBQb3NpdGlvbiB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICAgaXNMSFM6IGJvb2xlYW4sXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGVuZCA9IGV4cHJMaXN0Lmxlbmd0aCAtIDE7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8PSBlbmQ7IGkrKykge1xuICAgICAgY29uc3QgZWx0ID0gZXhwckxpc3RbaV07XG4gICAgICBpZiAoIWVsdCkgY29udGludWU7XG5cbiAgICAgIGlmIChlbHQudHlwZSA9PT0gXCJTcHJlYWRFbGVtZW50XCIpIHtcbiAgICAgICAgKGVsdCBhcyB1bmtub3duIGFzIFJlc3RFbGVtZW50KS50eXBlID0gXCJSZXN0RWxlbWVudFwiO1xuICAgICAgICBjb25zdCBhcmcgPSBlbHQuYXJndW1lbnQ7XG4gICAgICAgIHRoaXMuY2hlY2tUb1Jlc3RDb252ZXJzaW9uKGFyZywgLyogYWxsb3dQYXR0ZXJuICovIHRydWUpO1xuICAgICAgICB0aGlzLnRvQXNzaWduYWJsZShhcmcsIGlzTEhTKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudG9Bc3NpZ25hYmxlKGVsdCwgaXNMSFMpO1xuICAgICAgfVxuXG4gICAgICBpZiAoZWx0LnR5cGUgPT09IFwiUmVzdEVsZW1lbnRcIikge1xuICAgICAgICBpZiAoaSA8IGVuZCkge1xuICAgICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLlJlc3RUcmFpbGluZ0NvbW1hLCBlbHQpO1xuICAgICAgICB9IGVsc2UgaWYgKHRyYWlsaW5nQ29tbWFMb2MpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5SZXN0VHJhaWxpbmdDb21tYSwgdHJhaWxpbmdDb21tYUxvYyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpc0Fzc2lnbmFibGUobm9kZTogTm9kZSwgaXNCaW5kaW5nPzogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIHN3aXRjaCAobm9kZS50eXBlKSB7XG4gICAgICBjYXNlIFwiSWRlbnRpZmllclwiOlxuICAgICAgY2FzZSBcIk9iamVjdFBhdHRlcm5cIjpcbiAgICAgIGNhc2UgXCJBcnJheVBhdHRlcm5cIjpcbiAgICAgIGNhc2UgXCJBc3NpZ25tZW50UGF0dGVyblwiOlxuICAgICAgY2FzZSBcIlJlc3RFbGVtZW50XCI6XG4gICAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgICBjYXNlIFwiT2JqZWN0RXhwcmVzc2lvblwiOiB7XG4gICAgICAgIGNvbnN0IGxhc3QgPSBub2RlLnByb3BlcnRpZXMubGVuZ3RoIC0gMTtcbiAgICAgICAgcmV0dXJuIG5vZGUucHJvcGVydGllcy5ldmVyeSgocHJvcCwgaSkgPT4ge1xuICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICBwcm9wLnR5cGUgIT09IFwiT2JqZWN0TWV0aG9kXCIgJiZcbiAgICAgICAgICAgIChpID09PSBsYXN0IHx8IHByb3AudHlwZSAhPT0gXCJTcHJlYWRFbGVtZW50XCIpICYmXG4gICAgICAgICAgICB0aGlzLmlzQXNzaWduYWJsZShwcm9wKVxuICAgICAgICAgICk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBjYXNlIFwiT2JqZWN0UHJvcGVydHlcIjpcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBc3NpZ25hYmxlKG5vZGUudmFsdWUpO1xuXG4gICAgICBjYXNlIFwiU3ByZWFkRWxlbWVudFwiOlxuICAgICAgICByZXR1cm4gdGhpcy5pc0Fzc2lnbmFibGUobm9kZS5hcmd1bWVudCk7XG5cbiAgICAgIGNhc2UgXCJBcnJheUV4cHJlc3Npb25cIjpcbiAgICAgICAgcmV0dXJuIG5vZGUuZWxlbWVudHMuZXZlcnkoXG4gICAgICAgICAgZWxlbWVudCA9PiBlbGVtZW50ID09PSBudWxsIHx8IHRoaXMuaXNBc3NpZ25hYmxlKGVsZW1lbnQpLFxuICAgICAgICApO1xuXG4gICAgICBjYXNlIFwiQXNzaWdubWVudEV4cHJlc3Npb25cIjpcbiAgICAgICAgcmV0dXJuIG5vZGUub3BlcmF0b3IgPT09IFwiPVwiO1xuXG4gICAgICBjYXNlIFwiUGFyZW50aGVzaXplZEV4cHJlc3Npb25cIjpcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNBc3NpZ25hYmxlKG5vZGUuZXhwcmVzc2lvbik7XG5cbiAgICAgIGNhc2UgXCJNZW1iZXJFeHByZXNzaW9uXCI6XG4gICAgICBjYXNlIFwiT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uXCI6XG4gICAgICAgIHJldHVybiAhaXNCaW5kaW5nO1xuXG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBsaXN0IG9mIGV4cHJlc3Npb24gYXRvbXMgdG8gYSBsaXN0IG9mXG5cbiAgdG9SZWZlcmVuY2VkTGlzdChcbiAgICBleHByTGlzdDpcbiAgICAgIHwgUmVhZG9ubHlBcnJheTxFeHByZXNzaW9uIHwgU3ByZWFkRWxlbWVudD5cbiAgICAgIHwgUmVhZG9ubHlBcnJheTxFeHByZXNzaW9uIHwgUmVzdEVsZW1lbnQ+LFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBpc1BhcmVudGhlc2l6ZWRFeHByPzogYm9vbGVhbixcbiAgKTpcbiAgICB8IFJlYWRvbmx5QXJyYXk8RXhwcmVzc2lvbiB8IFNwcmVhZEVsZW1lbnQ+XG4gICAgfCBSZWFkb25seUFycmF5PEV4cHJlc3Npb24gfCBSZXN0RWxlbWVudD4ge1xuICAgIHJldHVybiBleHByTGlzdDtcbiAgfVxuXG4gIHRvUmVmZXJlbmNlZExpc3REZWVwKFxuICAgIGV4cHJMaXN0OlxuICAgICAgfCBSZWFkb25seUFycmF5PEV4cHJlc3Npb24gfCBTcHJlYWRFbGVtZW50PlxuICAgICAgfCBSZWFkb25seUFycmF5PEV4cHJlc3Npb24gfCBSZXN0RWxlbWVudD4sXG4gICAgaXNQYXJlbnRoZXNpemVkRXhwcj86IGJvb2xlYW4sXG4gICk6IHZvaWQge1xuICAgIHRoaXMudG9SZWZlcmVuY2VkTGlzdChleHByTGlzdCwgaXNQYXJlbnRoZXNpemVkRXhwcik7XG5cbiAgICBmb3IgKGNvbnN0IGV4cHIgb2YgZXhwckxpc3QpIHtcbiAgICAgIGlmIChleHByPy50eXBlID09PSBcIkFycmF5RXhwcmVzc2lvblwiKSB7XG4gICAgICAgIHRoaXMudG9SZWZlcmVuY2VkTGlzdERlZXAoZXhwci5lbGVtZW50cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2VzIHNwcmVhZCBlbGVtZW50LlxuXG4gIHBhcnNlU3ByZWFkKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICByZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwsXG4gICk6IFNwcmVhZEVsZW1lbnQge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxTcHJlYWRFbGVtZW50PigpO1xuICAgIHRoaXMubmV4dCgpO1xuICAgIG5vZGUuYXJndW1lbnQgPSB0aGlzLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKFxuICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycyxcbiAgICAgIHVuZGVmaW5lZCxcbiAgICApO1xuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJTcHJlYWRFbGVtZW50XCIpO1xuICB9XG5cbiAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtQmluZGluZ1Jlc3RQcm9wZXJ0eVxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1CaW5kaW5nUmVzdEVsZW1lbnRcbiAgcGFyc2VSZXN0QmluZGluZyh0aGlzOiBQYXJzZXIpOiBSZXN0RWxlbWVudCB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPFJlc3RFbGVtZW50PigpO1xuICAgIHRoaXMubmV4dCgpOyAvLyBlYXQgYC4uLmBcbiAgICBub2RlLmFyZ3VtZW50ID0gdGhpcy5wYXJzZUJpbmRpbmdBdG9tKCk7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlJlc3RFbGVtZW50XCIpO1xuICB9XG5cbiAgLy8gUGFyc2VzIGx2YWx1ZSAoYXNzaWduYWJsZSkgYXRvbS5cbiAgcGFyc2VCaW5kaW5nQXRvbSh0aGlzOiBQYXJzZXIpOiBQYXR0ZXJuIHtcbiAgICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1CaW5kaW5nUGF0dGVyblxuICAgIHN3aXRjaCAodGhpcy5zdGF0ZS50eXBlKSB7XG4gICAgICBjYXNlIHR0LmJyYWNrZXRMOiB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxBcnJheVBhdHRlcm4+KCk7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiBGaXhtZTogVFNQYXJhbWV0ZXJQcm9wZXJ0eSBjYW4gbm90IGJlIGFzc2lnbmVkIHRvIG5vZGUuZWxlbWVudHNcbiAgICAgICAgbm9kZS5lbGVtZW50cyA9IHRoaXMucGFyc2VCaW5kaW5nTGlzdChcbiAgICAgICAgICB0dC5icmFja2V0UixcbiAgICAgICAgICBjaGFyQ29kZXMucmlnaHRTcXVhcmVCcmFja2V0LFxuICAgICAgICAgIFBhcnNlQmluZGluZ0xpc3RGbGFncy5BTExPV19FTVBUWSxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkFycmF5UGF0dGVyblwiKTtcbiAgICAgIH1cblxuICAgICAgY2FzZSB0dC5icmFjZUw6XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlT2JqZWN0TGlrZSh0dC5icmFjZVIsIHRydWUpO1xuICAgIH1cblxuICAgIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLUJpbmRpbmdJZGVudGlmaWVyXG4gICAgcmV0dXJuIHRoaXMucGFyc2VJZGVudGlmaWVyKCk7XG4gIH1cblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1CaW5kaW5nRWxlbWVudExpc3RcbiAgcGFyc2VCaW5kaW5nTGlzdChcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgY2xvc2U6IFRva2VuVHlwZSxcbiAgICBjbG9zZUNoYXJDb2RlOiAodHlwZW9mIGNoYXJDb2Rlcylba2V5b2YgdHlwZW9mIGNoYXJDb2Rlc10sXG4gICAgZmxhZ3M6IFBhcnNlQmluZGluZ0xpc3RGbGFncyxcbiAgKTogQXJyYXk8UGF0dGVybiB8IFRTUGFyYW1ldGVyUHJvcGVydHk+IHtcbiAgICBjb25zdCBhbGxvd0VtcHR5ID0gZmxhZ3MgJiBQYXJzZUJpbmRpbmdMaXN0RmxhZ3MuQUxMT1dfRU1QVFk7XG5cbiAgICBjb25zdCBlbHRzOiBBcnJheTxQYXR0ZXJuIHwgVFNQYXJhbWV0ZXJQcm9wZXJ0eT4gPSBbXTtcbiAgICBsZXQgZmlyc3QgPSB0cnVlO1xuICAgIHdoaWxlICghdGhpcy5lYXQoY2xvc2UpKSB7XG4gICAgICBpZiAoZmlyc3QpIHtcbiAgICAgICAgZmlyc3QgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZXhwZWN0KHR0LmNvbW1hKTtcbiAgICAgIH1cbiAgICAgIGlmIChhbGxvd0VtcHR5ICYmIHRoaXMubWF0Y2godHQuY29tbWEpKSB7XG4gICAgICAgIGVsdHMucHVzaChudWxsKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5lYXQoY2xvc2UpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLm1hdGNoKHR0LmVsbGlwc2lzKSkge1xuICAgICAgICBsZXQgcmVzdDogUGF0dGVybiA9IHRoaXMucGFyc2VSZXN0QmluZGluZygpO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgKCFwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HICYmIHRoaXMuaGFzUGx1Z2luKFwiZmxvd1wiKSkgfHxcbiAgICAgICAgICBmbGFncyAmIFBhcnNlQmluZGluZ0xpc3RGbGFncy5JU19GVU5DVElPTl9QQVJBTVNcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmVzdCA9IHRoaXMucGFyc2VGdW5jdGlvblBhcmFtVHlwZShyZXN0KTtcbiAgICAgICAgfVxuICAgICAgICBlbHRzLnB1c2gocmVzdCk7XG4gICAgICAgIGlmICghdGhpcy5jaGVja0NvbW1hQWZ0ZXJSZXN0KGNsb3NlQ2hhckNvZGUpKSB7XG4gICAgICAgICAgdGhpcy5leHBlY3QoY2xvc2UpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBkZWNvcmF0b3JzID0gW107XG4gICAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmF0KSAmJiB0aGlzLmhhc1BsdWdpbihcImRlY29yYXRvcnNcIikpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5VbnN1cHBvcnRlZFBhcmFtZXRlckRlY29yYXRvciwgdGhpcy5zdGF0ZS5zdGFydExvYyk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gaW52YXJpYW50OiBoYXNQbHVnaW4oXCJkZWNvcmF0b3JzLWxlZ2FjeVwiKVxuICAgICAgICB3aGlsZSAodGhpcy5tYXRjaCh0dC5hdCkpIHtcbiAgICAgICAgICBkZWNvcmF0b3JzLnB1c2godGhpcy5wYXJzZURlY29yYXRvcigpKTtcbiAgICAgICAgfVxuICAgICAgICBlbHRzLnB1c2godGhpcy5wYXJzZUFzc2lnbmFibGVMaXN0SXRlbShmbGFncywgZGVjb3JhdG9ycykpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZWx0cztcbiAgfVxuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLUJpbmRpbmdSZXN0UHJvcGVydHlcbiAgcGFyc2VCaW5kaW5nUmVzdFByb3BlcnR5KFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBwcm9wOiBVbmRvbmU8UmVzdEVsZW1lbnQ+LFxuICApOiBSZXN0RWxlbWVudCB7XG4gICAgdGhpcy5uZXh0KCk7IC8vIGVhdCAnLi4uJ1xuICAgIC8vIERvbid0IHVzZSBwYXJzZVJlc3RCaW5kaW5nKCkgYXMgd2Ugb25seSBhbGxvdyBJZGVudGlmaWVyIGhlcmUuXG4gICAgcHJvcC5hcmd1bWVudCA9IHRoaXMucGFyc2VJZGVudGlmaWVyKCk7XG4gICAgdGhpcy5jaGVja0NvbW1hQWZ0ZXJSZXN0KGNoYXJDb2Rlcy5yaWdodEN1cmx5QnJhY2UpO1xuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUocHJvcCwgXCJSZXN0RWxlbWVudFwiKTtcbiAgfVxuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLUJpbmRpbmdQcm9wZXJ0eVxuICBwYXJzZUJpbmRpbmdQcm9wZXJ0eSh0aGlzOiBQYXJzZXIpOiBBc3NpZ25tZW50UHJvcGVydHkgfCBSZXN0RWxlbWVudCB7XG4gICAgY29uc3QgeyB0eXBlLCBzdGFydExvYyB9ID0gdGhpcy5zdGF0ZTtcbiAgICBpZiAodHlwZSA9PT0gdHQuZWxsaXBzaXMpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcnNlQmluZGluZ1Jlc3RQcm9wZXJ0eSh0aGlzLnN0YXJ0Tm9kZSgpKTtcbiAgICB9XG5cbiAgICBjb25zdCBwcm9wID0gdGhpcy5zdGFydE5vZGU8QXNzaWdubWVudFByb3BlcnR5PigpO1xuICAgIGlmICh0eXBlID09PSB0dC5wcml2YXRlTmFtZSkge1xuICAgICAgdGhpcy5leHBlY3RQbHVnaW4oXCJkZXN0cnVjdHVyaW5nUHJpdmF0ZVwiLCBzdGFydExvYyk7XG4gICAgICB0aGlzLmNsYXNzU2NvcGUudXNlUHJpdmF0ZU5hbWUodGhpcy5zdGF0ZS52YWx1ZSwgc3RhcnRMb2MpO1xuICAgICAgcHJvcC5rZXkgPSB0aGlzLnBhcnNlUHJpdmF0ZU5hbWUoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5wYXJzZVByb3BlcnR5TmFtZShwcm9wKTtcbiAgICB9XG4gICAgcHJvcC5tZXRob2QgPSBmYWxzZTtcbiAgICByZXR1cm4gdGhpcy5wYXJzZU9ialByb3BWYWx1ZShcbiAgICAgIHByb3AsXG4gICAgICBzdGFydExvYyxcbiAgICAgIGZhbHNlIC8qIGlzR2VuZXJhdG9yICovLFxuICAgICAgZmFsc2UgLyogaXNBc3luYyAqLyxcbiAgICAgIHRydWUgLyogaXNQYXR0ZXJuICovLFxuICAgICAgZmFsc2UgLyogaXNBY2Nlc3NvciAqLyxcbiAgICApO1xuICB9XG5cbiAgcGFyc2VBc3NpZ25hYmxlTGlzdEl0ZW0oXG4gICAgdGhpczogUGFyc2VyLFxuICAgIGZsYWdzOiBQYXJzZUJpbmRpbmdMaXN0RmxhZ3MsXG4gICAgZGVjb3JhdG9yczogRGVjb3JhdG9yW10sXG4gICk6IFBhdHRlcm4gfCBUU1BhcmFtZXRlclByb3BlcnR5IHtcbiAgICBjb25zdCBsZWZ0ID0gdGhpcy5wYXJzZU1heWJlRGVmYXVsdCgpO1xuICAgIGlmIChcbiAgICAgICghcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORyAmJiB0aGlzLmhhc1BsdWdpbihcImZsb3dcIikpIHx8XG4gICAgICBmbGFncyAmIFBhcnNlQmluZGluZ0xpc3RGbGFncy5JU19GVU5DVElPTl9QQVJBTVNcbiAgICApIHtcbiAgICAgIHRoaXMucGFyc2VGdW5jdGlvblBhcmFtVHlwZShsZWZ0KTtcbiAgICB9XG4gICAgY29uc3QgZWx0ID0gdGhpcy5wYXJzZU1heWJlRGVmYXVsdChsZWZ0LmxvYy5zdGFydCwgbGVmdCk7XG4gICAgaWYgKGRlY29yYXRvcnMubGVuZ3RoKSB7XG4gICAgICBsZWZ0LmRlY29yYXRvcnMgPSBkZWNvcmF0b3JzO1xuICAgIH1cbiAgICByZXR1cm4gZWx0O1xuICB9XG5cbiAgLy8gVXNlZCBieSBmbG93L3R5cGVzY3JpcHQgcGx1Z2luIHRvIGFkZCB0eXBlIGFubm90YXRpb25zIHRvIGJpbmRpbmcgZWxlbWVudHNcbiAgcGFyc2VGdW5jdGlvblBhcmFtVHlwZShwYXJhbTogUGF0dGVybik6IFBhdHRlcm4ge1xuICAgIHJldHVybiBwYXJhbTtcbiAgfVxuXG4gIC8vIFBhcnNlcyBhc3NpZ25tZW50IHBhdHRlcm4gYXJvdW5kIGdpdmVuIGF0b20gaWYgcG9zc2libGUuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLUJpbmRpbmdFbGVtZW50XG4gIHBhcnNlTWF5YmVEZWZhdWx0KFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBzdGFydExvYz86IFBvc2l0aW9uIHwgbnVsbCxcbiAgICBsZWZ0PzogUGF0dGVybiB8IG51bGwsXG4gICk6IFBhdHRlcm4ge1xuICAgIHN0YXJ0TG9jID8/PSB0aGlzLnN0YXRlLnN0YXJ0TG9jO1xuICAgIGxlZnQgPSBsZWZ0ID8/IHRoaXMucGFyc2VCaW5kaW5nQXRvbSgpO1xuICAgIGlmICghdGhpcy5lYXQodHQuZXEpKSByZXR1cm4gbGVmdDtcblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PEFzc2lnbm1lbnRQYXR0ZXJuPihzdGFydExvYyk7XG4gICAgbm9kZS5sZWZ0ID0gbGVmdDtcbiAgICBub2RlLnJpZ2h0ID0gdGhpcy5wYXJzZU1heWJlQXNzaWduQWxsb3dJbigpO1xuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJBc3NpZ25tZW50UGF0dGVyblwiKTtcbiAgfVxuICAvKipcbiAgICogUmV0dXJuIGluZm9ybWF0aW9uIHVzZSBpbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgTm9kZSBvZiBhIGdpdmVuIHR5cGUgaXMgYW4gTFZhbCxcbiAgICogcG9zc2libHkgZ2l2ZW4gY2VydGFpbiBhZGRpdGlvbmFsIGNvbnRleHQgaW5mb3JtYXRpb24uXG4gICAqXG4gICAqIFN1YmNsYXNzZXIgbm90ZXM6IFRoaXMgbWV0aG9kIGhhcyBraW5kIG9mIGEgbG90IG9mIG1peGVkLCBidXQgcmVsYXRlZCxcbiAgICogcmVzcG9uc2liaWxpdGllcy4gSWYgd2UgY2FuIGRlZmluaXRpdmVseSBkZXRlcm1pbmUgd2l0aCB0aGUgaW5mb3JtYXRpb25cbiAgICogcHJvdmlkZWQgdGhhdCB0aGlzIGVpdGhlciAqaXMqIG9yICppc24ndCogYSB2YWxpZCBgTFZhbGAsIHRoZW4gdGhlIHJldHVyblxuICAgKiB2YWx1ZSBpcyBlYXN5OiBqdXN0IHJldHVybiBgdHJ1ZWAgb3IgYGZhbHNlYC4gSG93ZXZlciwgaWYgaXQgaXMgYSB2YWxpZFxuICAgKiBMVmFsICphbmNlc3RvciosIGFuZCB0aHVzIGl0cyBkZXNjZW5kYW50cyBtdXN0IGJlIHN1YnNlcXVlbnRseSB2aXNpdGVkIHRvXG4gICAqIGNvbnRpbnVlIHRoZSBcImludmVzdGlnYXRpb25cIiwgdGhlbiB0aGlzIG1ldGhvZCBzaG91bGQgcmV0dXJuIHRoZSByZWxldmFudFxuICAgKiBjaGlsZCBrZXkgYXMgYSBgc3RyaW5nYC4gSW4gc29tZSBzcGVjaWFsIGNhc2VzLCB5b3UgYWRkaXRpb25hbGx5IHdhbnQgdG9cbiAgICogY29udmV5IHRoYXQgdGhpcyBub2RlIHNob3VsZCBiZSB0cmVhdGVkIGFzIGlmIGl0IHdlcmUgcGFyZW50aGVzaXplZC4gSW5cbiAgICogdGhhdCBjYXNlLCBhIHR1cGxlIG9mIFtrZXk6IHN0cmluZywgcGFyZW50aGVzaXplZDogYm9vbGVhbl0gaXMgcmV0dXJuZWQuXG4gICAqIFRoZSBgc3RyaW5nYC1vbmx5IHJldHVybiBvcHRpb24gaXMgYWN0dWFsbHkganVzdCBhIHNob3J0aGFuZCBmb3I6XG4gICAqIGBba2V5OiBzdHJpbmcsIHBhcmVudGhlc2l6ZWQ6IGZhbHNlXWAuXG4gICAqXG4gICAqIEBwYXJhbSB0eXBlIEEgTm9kZSBgdHlwZWAgc3RyaW5nXG4gICAqIEBwYXJhbSBpc1VucGFyZW50aGVzaXplZEluQXNzaWduXG4gICAqICAgICAgICBXaGV0aGVyIHRoZSBub2RlIGluIHF1ZXN0aW9uIGlzIHVucGFyZW50aGVzaXplZCBhbmQgaXRzIHBhcmVudFxuICAgKiAgICAgICAgaXMgZWl0aGVyIGFuIGFzc2lnbm1lbnQgcGF0dGVybiBvciBhbiBhc3NpZ25tZW50IGV4cHJlc3Npb24uXG4gICAqIEBwYXJhbSBiaW5kaW5nXG4gICAqICAgICAgICBUaGUgYmluZGluZyBvcGVyYXRpb24gdGhhdCBpcyBiZWluZyBjb25zaWRlcmVkIGZvciB0aGlzIHBvdGVudGlhbFxuICAgKiAgICAgICAgTFZhbC5cbiAgICogQHJldHVybnMgYHRydWVgIG9yIGBmYWxzZWAgaWYgd2UgY2FuIGltbWVkaWF0ZWx5IGRldGVybWluZSB3aGV0aGVyIHRoZSBub2RlXG4gICAqICAgICAgICAgIHR5cGUgaW4gcXVlc3Rpb24gY2FuIGJlIHRyZWF0ZWQgYXMgYW4gYExWYWxgLlxuICAgKiAgICAgICAgICBBIGBzdHJpbmdgIGtleSB0byB0cmF2ZXJzZSBpZiB3ZSBtdXN0IGNoZWNrIHRoaXMgY2hpbGQuXG4gICAqICAgICAgICAgIEEgYFtzdHJpbmcsIGJvb2xlYW5dYCB0dXBsZSBpZiB3ZSBuZWVkIHRvIGNoZWNrIHRoaXMgY2hpbGQgYW5kXG4gICAqICAgICAgICAgIHRyZWF0IGlzIGFzIHBhcmVudGhlc2l6ZWQuXG4gICAqL1xuICBpc1ZhbGlkTFZhbChcbiAgICB0eXBlOiBzdHJpbmcsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIGlzVW5wYXJlbnRoZXNpemVkSW5Bc3NpZ246IGJvb2xlYW4sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgIGJpbmRpbmc6IEJpbmRpbmdGbGFnLFxuICApOiBzdHJpbmcgfCBib29sZWFuIHwgW3N0cmluZywgYm9vbGVhbl0ge1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSBcIkFzc2lnbm1lbnRQYXR0ZXJuXCI6XG4gICAgICAgIHJldHVybiBcImxlZnRcIjtcbiAgICAgIGNhc2UgXCJSZXN0RWxlbWVudFwiOlxuICAgICAgICByZXR1cm4gXCJhcmd1bWVudFwiO1xuICAgICAgY2FzZSBcIk9iamVjdFByb3BlcnR5XCI6XG4gICAgICAgIHJldHVybiBcInZhbHVlXCI7XG4gICAgICBjYXNlIFwiUGFyZW50aGVzaXplZEV4cHJlc3Npb25cIjpcbiAgICAgICAgcmV0dXJuIFwiZXhwcmVzc2lvblwiO1xuICAgICAgY2FzZSBcIkFycmF5UGF0dGVyblwiOlxuICAgICAgICByZXR1cm4gXCJlbGVtZW50c1wiO1xuICAgICAgY2FzZSBcIk9iamVjdFBhdHRlcm5cIjpcbiAgICAgICAgcmV0dXJuIFwicHJvcGVydGllc1wiO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBPdmVycmlkZGVuIGJ5IHRoZSBlc3RyZWUgcGx1Z2luXG4gIGlzT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uKGV4cHJlc3Npb246IE5vZGUpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZXhwcmVzc2lvbi50eXBlID09PSBcIk9wdGlvbmFsTWVtYmVyRXhwcmVzc2lvblwiO1xuICB9XG5cbiAgLyoqXG4gICAqIFZlcmlmeSB0aGF0IGEgdGFyZ2V0IGV4cHJlc3Npb24gaXMgYW4gbHZhbCAoc29tZXRoaW5nIHRoYXQgY2FuIGJlIGFzc2lnbmVkIHRvKS5cbiAgICpcbiAgICogQHBhcmFtIGV4cHJlc3Npb24gVGhlIGV4cHJlc3Npb24gaW4gcXVlc3Rpb24gdG8gY2hlY2suXG4gICAqIEBwYXJhbSBhbmNlc3RvclxuICAgKiAgICAgICAgVGhlIHJlbGV2YW50IGFuY2VzdG9yIHRvIHByb3ZpZGUgY29udGV4dCBpbmZvcm1hdGlvbiBmb3IgdGhlIGVycm9yXG4gICAqICAgICAgICBpZiB0aGUgY2hlY2sgZmFpbHMuXG4gICAqIEBwYXJhbSBiaW5kaW5nXG4gICAqICAgICAgICBUaGUgZGVzaXJlZCBiaW5kaW5nIHR5cGUuIElmIHRoZSBnaXZlbiBleHByZXNzaW9uIGlzIGFuIGlkZW50aWZpZXJcbiAgICogICAgICAgIGFuZCBgYmluZGluZ2AgaXMgbm90IGBCaW5kaW5nRmxhZy5UWVBFX05PTkVgLCBgY2hlY2tMVmFsYCB3aWxsIHJlZ2lzdGVyIGJpbmRpbmdcbiAgICogICAgICAgIHRvIHRoZSBwYXJzZXIgc2NvcGUgU2VlIGFsc28gYHNyYy91dGlsL3Njb3BlZmxhZ3MuanNgXG4gICAqIEBwYXJhbSBjaGVja0NsYXNoZXNcbiAgICogICAgICAgIEFuIG9wdGlvbmFsIHN0cmluZyBzZXQgdG8gY2hlY2sgaWYgYW4gaWRlbnRpZmllciBuYW1lIGlzIGluY2x1ZGVkLlxuICAgKiAgICAgICAgYGNoZWNrTFZhbGAgd2lsbCBhZGQgY2hlY2tlZCBpZGVudGlmaWVyIG5hbWUgdG8gYGNoZWNrQ2xhc2hlc2AgSXQgaXNcbiAgICogICAgICAgIHVzZWQgaW4gdHJhY2tpbmcgZHVwbGljYXRlcyBpbiBmdW5jdGlvbiBwYXJhbWV0ZXIgbGlzdHMuIElmIGl0IGlzXG4gICAqICAgICAgICBmYWxzZSwgYGNoZWNrTFZhbGAgd2lsbCBza2lwIGR1cGxpY2F0ZSBjaGVja3NcbiAgICogQHBhcmFtIHN0cmljdE1vZGVDaGFuZ2VkXG4gICAqICAgICAgICBXaGV0aGVyIGFuIGlkZW50aWZpZXIgaGFzIGJlZW4gcGFyc2VkIGluIGEgc2xvcHB5IGNvbnRleHQgYnV0IHNob3VsZFxuICAgKiAgICAgICAgYmUgcmVpbnRlcnByZXRlZCBhcyBzdHJpY3QtbW9kZS4gZS5nLiBgKGFyZ3VtZW50cykgPT4geyBcInVzZSBzdHJpY3QgXCJ9YFxuICAgKiBAcGFyYW0gaGFzUGFyZW50aGVzaXplZEFuY2VzdG9yXG4gICAqICAgICAgICBUaGlzIGlzIG9ubHkgdXNlZCBpbnRlcm5hbGx5IGR1cmluZyByZWN1cnNpdmUgY2FsbHMsIGFuZCB5b3Ugc2hvdWxkXG4gICAqICAgICAgICBub3QgaGF2ZSB0byBzZXQgaXQgeW91cnNlbGYuXG4gICAqL1xuXG4gIGNoZWNrTFZhbChcbiAgICBleHByZXNzaW9uOlxuICAgICAgfCBFeHByZXNzaW9uXG4gICAgICB8IE9iamVjdE1lbWJlclxuICAgICAgfCBSZXN0RWxlbWVudFxuICAgICAgfCBQYXR0ZXJuXG4gICAgICB8IFRTUGFyYW1ldGVyUHJvcGVydHksXG4gICAgYW5jZXN0b3I6IExWYWxBbmNlc3RvcixcbiAgICBiaW5kaW5nOiBCaW5kaW5nRmxhZyA9IEJpbmRpbmdGbGFnLlRZUEVfTk9ORSxcbiAgICBjaGVja0NsYXNoZXM6IFNldDxzdHJpbmc+IHwgZmFsc2UgPSBmYWxzZSxcbiAgICBzdHJpY3RNb2RlQ2hhbmdlZDogYm9vbGVhbiA9IGZhbHNlLFxuICAgIGhhc1BhcmVudGhlc2l6ZWRBbmNlc3RvcjogYm9vbGVhbiA9IGZhbHNlLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCB0eXBlID0gZXhwcmVzc2lvbi50eXBlO1xuXG4gICAgLy8gSWYgd2UgZmluZCBoZXJlIGFuIE9iamVjdE1ldGhvZCwgaXQncyBiZWNhdXNlIHRoaXMgd2FzIG9yaWdpbmFsbHlcbiAgICAvLyBhbiBPYmplY3RFeHByZXNzaW9uIHdoaWNoIGhhcyB0aGVuIGJlZW4gY29udmVydGVkLlxuICAgIC8vIHRvQXNzaWduYWJsZSBhbHJlYWR5IHJlcG9ydGVkIHRoaXMgZXJyb3Igd2l0aCBhIG5pY2VyIG1lc3NhZ2UuXG4gICAgaWYgKHRoaXMuaXNPYmplY3RNZXRob2QoZXhwcmVzc2lvbikpIHJldHVybjtcblxuICAgIGNvbnN0IGlzT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uID1cbiAgICAgIHRoaXMuaXNPcHRpb25hbE1lbWJlckV4cHJlc3Npb24oZXhwcmVzc2lvbik7XG5cbiAgICBpZiAoaXNPcHRpb25hbE1lbWJlckV4cHJlc3Npb24gfHwgdHlwZSA9PT0gXCJNZW1iZXJFeHByZXNzaW9uXCIpIHtcbiAgICAgIGlmIChpc09wdGlvbmFsTWVtYmVyRXhwcmVzc2lvbikge1xuICAgICAgICB0aGlzLmV4cGVjdFBsdWdpbihcIm9wdGlvbmFsQ2hhaW5pbmdBc3NpZ25cIiwgZXhwcmVzc2lvbi5sb2Muc3RhcnQpO1xuICAgICAgICBpZiAoYW5jZXN0b3IudHlwZSAhPT0gXCJBc3NpZ25tZW50RXhwcmVzc2lvblwiKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuSW52YWxpZExoc09wdGlvbmFsQ2hhaW5pbmcsIGV4cHJlc3Npb24sIHtcbiAgICAgICAgICAgIGFuY2VzdG9yLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChiaW5kaW5nICE9PSBCaW5kaW5nRmxhZy5UWVBFX05PTkUpIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuSW52YWxpZFByb3BlcnR5QmluZGluZ1BhdHRlcm4sIGV4cHJlc3Npb24pO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0eXBlID09PSBcIklkZW50aWZpZXJcIikge1xuICAgICAgdGhpcy5jaGVja0lkZW50aWZpZXIoZXhwcmVzc2lvbiwgYmluZGluZywgc3RyaWN0TW9kZUNoYW5nZWQpO1xuXG4gICAgICBjb25zdCB7IG5hbWUgfSA9IGV4cHJlc3Npb247XG5cbiAgICAgIGlmIChjaGVja0NsYXNoZXMpIHtcbiAgICAgICAgaWYgKGNoZWNrQ2xhc2hlcy5oYXMobmFtZSkpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5QYXJhbUR1cGUsIGV4cHJlc3Npb24pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNoZWNrQ2xhc2hlcy5hZGQobmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZhbGlkaXR5ID0gdGhpcy5pc1ZhbGlkTFZhbChcbiAgICAgIHR5cGUsXG4gICAgICAhKGhhc1BhcmVudGhlc2l6ZWRBbmNlc3RvciB8fCBleHByZXNzaW9uLmV4dHJhPy5wYXJlbnRoZXNpemVkKSAmJlxuICAgICAgICBhbmNlc3Rvci50eXBlID09PSBcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCIsXG4gICAgICBiaW5kaW5nLFxuICAgICk7XG5cbiAgICBpZiAodmFsaWRpdHkgPT09IHRydWUpIHJldHVybjtcbiAgICBpZiAodmFsaWRpdHkgPT09IGZhbHNlKSB7XG4gICAgICBjb25zdCBQYXJzZUVycm9yQ2xhc3MgPVxuICAgICAgICBiaW5kaW5nID09PSBCaW5kaW5nRmxhZy5UWVBFX05PTkVcbiAgICAgICAgICA/IEVycm9ycy5JbnZhbGlkTGhzXG4gICAgICAgICAgOiBFcnJvcnMuSW52YWxpZExoc0JpbmRpbmc7XG5cbiAgICAgIHRoaXMucmFpc2UoUGFyc2VFcnJvckNsYXNzLCBleHByZXNzaW9uLCB7IGFuY2VzdG9yIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCBrZXk6IHN0cmluZywgaXNQYXJlbnRoZXNpemVkRXhwcmVzc2lvbjogYm9vbGVhbjtcbiAgICBpZiAodHlwZW9mIHZhbGlkaXR5ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBrZXkgPSB2YWxpZGl0eTtcbiAgICAgIGlzUGFyZW50aGVzaXplZEV4cHJlc3Npb24gPSB0eXBlID09PSBcIlBhcmVudGhlc2l6ZWRFeHByZXNzaW9uXCI7XG4gICAgfSBlbHNlIHtcbiAgICAgIFtrZXksIGlzUGFyZW50aGVzaXplZEV4cHJlc3Npb25dID0gdmFsaWRpdHk7XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dEFuY2VzdG9yID1cbiAgICAgIHR5cGUgPT09IFwiQXJyYXlQYXR0ZXJuXCIgfHwgdHlwZSA9PT0gXCJPYmplY3RQYXR0ZXJuXCJcbiAgICAgICAgPyAoeyB0eXBlIH0gYXMgY29uc3QpXG4gICAgICAgIDogYW5jZXN0b3I7XG5cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGtleSBtYXkgbm90IGluZGV4IGV4cHJlc3Npb24uXG4gICAgY29uc3QgdmFsID0gZXhwcmVzc2lvbltrZXldO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbCkpIHtcbiAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdmFsKSB7XG4gICAgICAgIGlmIChjaGlsZCkge1xuICAgICAgICAgIHRoaXMuY2hlY2tMVmFsKFxuICAgICAgICAgICAgY2hpbGQsXG4gICAgICAgICAgICBuZXh0QW5jZXN0b3IsXG4gICAgICAgICAgICBiaW5kaW5nLFxuICAgICAgICAgICAgY2hlY2tDbGFzaGVzLFxuICAgICAgICAgICAgc3RyaWN0TW9kZUNoYW5nZWQsXG4gICAgICAgICAgICBpc1BhcmVudGhlc2l6ZWRFeHByZXNzaW9uLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHZhbCkge1xuICAgICAgdGhpcy5jaGVja0xWYWwoXG4gICAgICAgIHZhbCxcbiAgICAgICAgbmV4dEFuY2VzdG9yLFxuICAgICAgICBiaW5kaW5nLFxuICAgICAgICBjaGVja0NsYXNoZXMsXG4gICAgICAgIHN0cmljdE1vZGVDaGFuZ2VkLFxuICAgICAgICBpc1BhcmVudGhlc2l6ZWRFeHByZXNzaW9uLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBjaGVja0lkZW50aWZpZXIoXG4gICAgYXQ6IElkZW50aWZpZXIsXG4gICAgYmluZGluZ1R5cGU6IEJpbmRpbmdGbGFnLFxuICAgIHN0cmljdE1vZGVDaGFuZ2VkOiBib29sZWFuID0gZmFsc2UsXG4gICkge1xuICAgIGlmIChcbiAgICAgIHRoaXMuc3RhdGUuc3RyaWN0ICYmXG4gICAgICAoc3RyaWN0TW9kZUNoYW5nZWRcbiAgICAgICAgPyBpc1N0cmljdEJpbmRSZXNlcnZlZFdvcmQoYXQubmFtZSwgdGhpcy5pbk1vZHVsZSlcbiAgICAgICAgOiBpc1N0cmljdEJpbmRPbmx5UmVzZXJ2ZWRXb3JkKGF0Lm5hbWUpKVxuICAgICkge1xuICAgICAgaWYgKGJpbmRpbmdUeXBlID09PSBCaW5kaW5nRmxhZy5UWVBFX05PTkUpIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuU3RyaWN0RXZhbEFyZ3VtZW50cywgYXQsIHsgcmVmZXJlbmNlTmFtZTogYXQubmFtZSB9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLlN0cmljdEV2YWxBcmd1bWVudHNCaW5kaW5nLCBhdCwge1xuICAgICAgICAgIGJpbmRpbmdOYW1lOiBhdC5uYW1lLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoYmluZGluZ1R5cGUgJiBCaW5kaW5nRmxhZy5GTEFHX05PX0xFVF9JTl9MRVhJQ0FMICYmIGF0Lm5hbWUgPT09IFwibGV0XCIpIHtcbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkxldEluTGV4aWNhbEJpbmRpbmcsIGF0KTtcbiAgICB9XG5cbiAgICBpZiAoIShiaW5kaW5nVHlwZSAmIEJpbmRpbmdGbGFnLlRZUEVfTk9ORSkpIHtcbiAgICAgIHRoaXMuZGVjbGFyZU5hbWVGcm9tSWRlbnRpZmllcihhdCwgYmluZGluZ1R5cGUpO1xuICAgIH1cbiAgfVxuXG4gIGRlY2xhcmVOYW1lRnJvbUlkZW50aWZpZXIoaWRlbnRpZmllcjogSWRlbnRpZmllciwgYmluZGluZzogQmluZGluZ0ZsYWcpIHtcbiAgICB0aGlzLnNjb3BlLmRlY2xhcmVOYW1lKGlkZW50aWZpZXIubmFtZSwgYmluZGluZywgaWRlbnRpZmllci5sb2Muc3RhcnQpO1xuICB9XG5cbiAgY2hlY2tUb1Jlc3RDb252ZXJzaW9uKG5vZGU6IE5vZGUsIGFsbG93UGF0dGVybjogYm9vbGVhbik6IHZvaWQge1xuICAgIHN3aXRjaCAobm9kZS50eXBlKSB7XG4gICAgICBjYXNlIFwiUGFyZW50aGVzaXplZEV4cHJlc3Npb25cIjpcbiAgICAgICAgdGhpcy5jaGVja1RvUmVzdENvbnZlcnNpb24obm9kZS5leHByZXNzaW9uLCBhbGxvd1BhdHRlcm4pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJJZGVudGlmaWVyXCI6XG4gICAgICBjYXNlIFwiTWVtYmVyRXhwcmVzc2lvblwiOlxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJBcnJheUV4cHJlc3Npb25cIjpcbiAgICAgIGNhc2UgXCJPYmplY3RFeHByZXNzaW9uXCI6XG4gICAgICAgIGlmIChhbGxvd1BhdHRlcm4pIGJyZWFrO1xuICAgICAgLyogZmFsbHMgdGhyb3VnaCAqL1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuSW52YWxpZFJlc3RBc3NpZ25tZW50UGF0dGVybiwgbm9kZSk7XG4gICAgfVxuICB9XG5cbiAgY2hlY2tDb21tYUFmdGVyUmVzdChcbiAgICBjbG9zZTogKHR5cGVvZiBjaGFyQ29kZXMpW2tleW9mIHR5cGVvZiBjaGFyQ29kZXNdLFxuICApOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMubWF0Y2godHQuY29tbWEpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdGhpcy5yYWlzZShcbiAgICAgIHRoaXMubG9va2FoZWFkQ2hhckNvZGUoKSA9PT0gY2xvc2VcbiAgICAgICAgPyBFcnJvcnMuUmVzdFRyYWlsaW5nQ29tbWFcbiAgICAgICAgOiBFcnJvcnMuRWxlbWVudEFmdGVyUmVzdCxcbiAgICAgIHRoaXMuc3RhdGUuc3RhcnRMb2MsXG4gICAgKTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG4iLCAiaW1wb3J0IHR5cGUgU3RhdGUgZnJvbSBcIi4uLy4uL3Rva2VuaXplci9zdGF0ZS50c1wiO1xuaW1wb3J0IHtcbiAgdG9rZW5Jc0lkZW50aWZpZXIsXG4gIHRva2VuSXNUU0RlY2xhcmF0aW9uU3RhcnQsXG4gIHRva2VuSXNUU1R5cGVPcGVyYXRvcixcbiAgdG9rZW5PcGVyYXRvclByZWNlZGVuY2UsXG4gIHRva2VuSXNLZXl3b3JkT3JJZGVudGlmaWVyLFxuICB0dCxcbiAgdHlwZSBUb2tlblR5cGUsXG4gIHRva2VuSXNUZW1wbGF0ZSxcbiAgdG9rZW5DYW5TdGFydEV4cHJlc3Npb24sXG59IGZyb20gXCIuLi8uLi90b2tlbml6ZXIvdHlwZXMudHNcIjtcbmltcG9ydCB7IHR5cGVzIGFzIHRjIH0gZnJvbSBcIi4uLy4uL3Rva2VuaXplci9jb250ZXh0LnRzXCI7XG5pbXBvcnQgdHlwZSAqIGFzIE4gZnJvbSBcIi4uLy4uL3R5cGVzLnRzXCI7XG5pbXBvcnQgdHlwZSB7IFBvc2l0aW9uIH0gZnJvbSBcIi4uLy4uL3V0aWwvbG9jYXRpb24udHNcIjtcbmltcG9ydCB7IGNyZWF0ZVBvc2l0aW9uV2l0aENvbHVtbk9mZnNldCB9IGZyb20gXCIuLi8uLi91dGlsL2xvY2F0aW9uLnRzXCI7XG5pbXBvcnQgdHlwZSBQYXJzZXIgZnJvbSBcIi4uLy4uL3BhcnNlci9pbmRleC50c1wiO1xuaW1wb3J0IHsgU2NvcGVGbGFnLCBCaW5kaW5nRmxhZyB9IGZyb20gXCIuLi8uLi91dGlsL3Njb3BlZmxhZ3MudHNcIjtcbmltcG9ydCBUeXBlU2NyaXB0U2NvcGVIYW5kbGVyIGZyb20gXCIuL3Njb3BlLnRzXCI7XG5pbXBvcnQgKiBhcyBjaGFyQ29kZXMgZnJvbSBcImNoYXJjb2Rlc1wiO1xuaW1wb3J0IHR5cGUgeyBFeHByZXNzaW9uRXJyb3JzIH0gZnJvbSBcIi4uLy4uL3BhcnNlci91dGlsLnRzXCI7XG5pbXBvcnQgdHlwZSB7IFBhcnNlU3RhdGVtZW50RmxhZyB9IGZyb20gXCIuLi8uLi9wYXJzZXIvc3RhdGVtZW50LnRzXCI7XG5pbXBvcnQgeyBQYXJhbUtpbmQgfSBmcm9tIFwiLi4vLi4vdXRpbC9wcm9kdWN0aW9uLXBhcmFtZXRlci50c1wiO1xuaW1wb3J0IHsgRXJyb3JzLCBQYXJzZUVycm9yRW51bSB9IGZyb20gXCIuLi8uLi9wYXJzZS1lcnJvci50c1wiO1xuaW1wb3J0IHsgY2xvbmVJZGVudGlmaWVyLCB0eXBlIFVuZG9uZSB9IGZyb20gXCIuLi8uLi9wYXJzZXIvbm9kZS50c1wiO1xuaW1wb3J0IHR5cGUgeyBQYXR0ZXJuIH0gZnJvbSBcIi4uLy4uL3R5cGVzLnRzXCI7XG5pbXBvcnQgdHlwZSB7IEV4cHJlc3Npb24gfSBmcm9tIFwiLi4vLi4vdHlwZXMudHNcIjtcbmltcG9ydCB0eXBlIHsgSUpTWFBhcnNlck1peGluIH0gZnJvbSBcIi4uL2pzeC9pbmRleC50c1wiO1xuaW1wb3J0IHsgUGFyc2VCaW5kaW5nTGlzdEZsYWdzIH0gZnJvbSBcIi4uLy4uL3BhcnNlci9sdmFsLnRzXCI7XG5cbnR5cGUgVHNNb2RpZmllciA9XG4gIHwgXCJyZWFkb25seVwiXG4gIHwgXCJhYnN0cmFjdFwiXG4gIHwgXCJkZWNsYXJlXCJcbiAgfCBcInN0YXRpY1wiXG4gIHwgXCJvdmVycmlkZVwiXG4gIHwgXCJjb25zdFwiXG4gIHwgTi5BY2Nlc3NpYmlsaXR5XG4gIHwgTi5WYXJpYW5jZUFubm90YXRpb25zO1xuXG5mdW5jdGlvbiBub25OdWxsPFQ+KHg/OiBUIHwgbnVsbCk6IFQge1xuICBpZiAoeCA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkICR7eH0gdmFsdWUuYCk7XG4gIH1cbiAgcmV0dXJuIHg7XG59XG5cbmZ1bmN0aW9uIGFzc2VydCh4OiBib29sZWFuKTogdm9pZCB7XG4gIGlmICgheCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkFzc2VydCBmYWlsXCIpO1xuICB9XG59XG5cbnR5cGUgUGFyc2luZ0NvbnRleHQgPVxuICB8IFwiRW51bU1lbWJlcnNcIlxuICB8IFwiSGVyaXRhZ2VDbGF1c2VFbGVtZW50XCJcbiAgfCBcIlR1cGxlRWxlbWVudFR5cGVzXCJcbiAgfCBcIlR5cGVNZW1iZXJzXCJcbiAgfCBcIlR5cGVQYXJhbWV0ZXJzT3JBcmd1bWVudHNcIjtcblxudHlwZSBNb2RpZmllckJhc2UgPSB7XG4gIGFjY2Vzc2liaWxpdHk/OiBOLkFjY2Vzc2liaWxpdHk7XG59ICYge1xuICBba2V5IGluIFRzTW9kaWZpZXJdPzogYm9vbGVhbiB8IHVuZGVmaW5lZCB8IG51bGw7XG59O1xuXG4vKiBlc2xpbnQgc29ydC1rZXlzOiBcImVycm9yXCIgKi9cbmNvbnN0IFRTRXJyb3JzID0gUGFyc2VFcnJvckVudW1gdHlwZXNjcmlwdGAoe1xuICBBYnN0cmFjdE1ldGhvZEhhc0ltcGxlbWVudGF0aW9uOiAoeyBtZXRob2ROYW1lIH06IHsgbWV0aG9kTmFtZTogc3RyaW5nIH0pID0+XG4gICAgYE1ldGhvZCAnJHttZXRob2ROYW1lfScgY2Fubm90IGhhdmUgYW4gaW1wbGVtZW50YXRpb24gYmVjYXVzZSBpdCBpcyBtYXJrZWQgYWJzdHJhY3QuYCxcbiAgQWJzdHJhY3RQcm9wZXJ0eUhhc0luaXRpYWxpemVyOiAoe1xuICAgIHByb3BlcnR5TmFtZSxcbiAgfToge1xuICAgIHByb3BlcnR5TmFtZTogc3RyaW5nO1xuICB9KSA9PlxuICAgIGBQcm9wZXJ0eSAnJHtwcm9wZXJ0eU5hbWV9JyBjYW5ub3QgaGF2ZSBhbiBpbml0aWFsaXplciBiZWNhdXNlIGl0IGlzIG1hcmtlZCBhYnN0cmFjdC5gLFxuICBBY2Nlc3NvckNhbm5vdEJlT3B0aW9uYWw6XG4gICAgXCJBbiAnYWNjZXNzb3InIHByb3BlcnR5IGNhbm5vdCBiZSBkZWNsYXJlZCBvcHRpb25hbC5cIixcbiAgQWNjZXNzb3JDYW5ub3REZWNsYXJlVGhpc1BhcmFtZXRlcjpcbiAgICBcIidnZXQnIGFuZCAnc2V0JyBhY2Nlc3NvcnMgY2Fubm90IGRlY2xhcmUgJ3RoaXMnIHBhcmFtZXRlcnMuXCIsXG4gIEFjY2Vzc29yQ2Fubm90SGF2ZVR5cGVQYXJhbWV0ZXJzOiBcIkFuIGFjY2Vzc29yIGNhbm5vdCBoYXZlIHR5cGUgcGFyYW1ldGVycy5cIixcbiAgQ2xhc3NNZXRob2RIYXNEZWNsYXJlOiBcIkNsYXNzIG1ldGhvZHMgY2Fubm90IGhhdmUgdGhlICdkZWNsYXJlJyBtb2RpZmllci5cIixcbiAgQ2xhc3NNZXRob2RIYXNSZWFkb25seTogXCJDbGFzcyBtZXRob2RzIGNhbm5vdCBoYXZlIHRoZSAncmVhZG9ubHknIG1vZGlmaWVyLlwiLFxuICBDb25zdEluaXRpYWxpemVyTXVzdEJlU3RyaW5nT3JOdW1lcmljTGl0ZXJhbE9yTGl0ZXJhbEVudW1SZWZlcmVuY2U6XG4gICAgXCJBICdjb25zdCcgaW5pdGlhbGl6ZXIgaW4gYW4gYW1iaWVudCBjb250ZXh0IG11c3QgYmUgYSBzdHJpbmcgb3IgbnVtZXJpYyBsaXRlcmFsIG9yIGxpdGVyYWwgZW51bSByZWZlcmVuY2UuXCIsXG4gIENvbnN0cnVjdG9ySGFzVHlwZVBhcmFtZXRlcnM6XG4gICAgXCJUeXBlIHBhcmFtZXRlcnMgY2Fubm90IGFwcGVhciBvbiBhIGNvbnN0cnVjdG9yIGRlY2xhcmF0aW9uLlwiLFxuICBEZWNsYXJlQWNjZXNzb3I6ICh7IGtpbmQgfTogeyBraW5kOiBcImdldFwiIHwgXCJzZXRcIiB9KSA9PlxuICAgIGAnZGVjbGFyZScgaXMgbm90IGFsbG93ZWQgaW4gJHtraW5kfXRlcnMuYCxcbiAgRGVjbGFyZUNsYXNzRmllbGRIYXNJbml0aWFsaXplcjpcbiAgICBcIkluaXRpYWxpemVycyBhcmUgbm90IGFsbG93ZWQgaW4gYW1iaWVudCBjb250ZXh0cy5cIixcbiAgRGVjbGFyZUZ1bmN0aW9uSGFzSW1wbGVtZW50YXRpb246XG4gICAgXCJBbiBpbXBsZW1lbnRhdGlvbiBjYW5ub3QgYmUgZGVjbGFyZWQgaW4gYW1iaWVudCBjb250ZXh0cy5cIixcbiAgRHVwbGljYXRlQWNjZXNzaWJpbGl0eU1vZGlmaWVyOlxuICAgIC8vIGBBY2Nlc3NpYmlsaXR5IG1vZGlmaWVyIGFscmVhZHkgc2VlbjogJHttb2RpZmllcn1gIHdvdWxkIGJlIG1vcmUgaGVscGZ1bC5cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgKHsgbW9kaWZpZXIgfTogeyBtb2RpZmllcjogTi5BY2Nlc3NpYmlsaXR5IH0pID0+XG4gICAgICBgQWNjZXNzaWJpbGl0eSBtb2RpZmllciBhbHJlYWR5IHNlZW4uYCxcbiAgRHVwbGljYXRlTW9kaWZpZXI6ICh7IG1vZGlmaWVyIH06IHsgbW9kaWZpZXI6IFRzTW9kaWZpZXIgfSkgPT5cbiAgICBgRHVwbGljYXRlIG1vZGlmaWVyOiAnJHttb2RpZmllcn0nLmAsXG4gIC8vIGB0b2tlbmAgbWF0Y2hlcyB0aGUgdGVybWlub2xvZ3kgdXNlZCBieSB0eXBlc2NyaXB0OlxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvYmxvYi9tYWluL3NyYy9jb21waWxlci90eXBlcy50cyNMMjkxNVxuICBFbXB0eUhlcml0YWdlQ2xhdXNlVHlwZTogKHsgdG9rZW4gfTogeyB0b2tlbjogXCJleHRlbmRzXCIgfCBcImltcGxlbWVudHNcIiB9KSA9PlxuICAgIGAnJHt0b2tlbn0nIGxpc3QgY2Fubm90IGJlIGVtcHR5LmAsXG4gIEVtcHR5VHlwZUFyZ3VtZW50czogXCJUeXBlIGFyZ3VtZW50IGxpc3QgY2Fubm90IGJlIGVtcHR5LlwiLFxuICBFbXB0eVR5cGVQYXJhbWV0ZXJzOiBcIlR5cGUgcGFyYW1ldGVyIGxpc3QgY2Fubm90IGJlIGVtcHR5LlwiLFxuICBFeHBlY3RlZEFtYmllbnRBZnRlckV4cG9ydERlY2xhcmU6XG4gICAgXCInZXhwb3J0IGRlY2xhcmUnIG11c3QgYmUgZm9sbG93ZWQgYnkgYW4gYW1iaWVudCBkZWNsYXJhdGlvbi5cIixcbiAgSW1wb3J0QWxpYXNIYXNJbXBvcnRUeXBlOiBcIkFuIGltcG9ydCBhbGlhcyBjYW4gbm90IHVzZSAnaW1wb3J0IHR5cGUnLlwiLFxuICBJbXBvcnRSZWZsZWN0aW9uSGFzSW1wb3J0VHlwZTpcbiAgICBcIkFuIGBpbXBvcnQgbW9kdWxlYCBkZWNsYXJhdGlvbiBjYW4gbm90IHVzZSBgdHlwZWAgbW9kaWZpZXJcIixcbiAgSW5jb21wYXRpYmxlTW9kaWZpZXJzOiAoe1xuICAgIG1vZGlmaWVycyxcbiAgfToge1xuICAgIG1vZGlmaWVyczogW1RzTW9kaWZpZXIsIFRzTW9kaWZpZXJdO1xuICB9KSA9PlxuICAgIGAnJHttb2RpZmllcnNbMF19JyBtb2RpZmllciBjYW5ub3QgYmUgdXNlZCB3aXRoICcke21vZGlmaWVyc1sxXX0nIG1vZGlmaWVyLmAsXG4gIEluZGV4U2lnbmF0dXJlSGFzQWJzdHJhY3Q6XG4gICAgXCJJbmRleCBzaWduYXR1cmVzIGNhbm5vdCBoYXZlIHRoZSAnYWJzdHJhY3QnIG1vZGlmaWVyLlwiLFxuICBJbmRleFNpZ25hdHVyZUhhc0FjY2Vzc2liaWxpdHk6ICh7XG4gICAgbW9kaWZpZXIsXG4gIH06IHtcbiAgICBtb2RpZmllcjogTi5BY2Nlc3NpYmlsaXR5O1xuICB9KSA9PlxuICAgIGBJbmRleCBzaWduYXR1cmVzIGNhbm5vdCBoYXZlIGFuIGFjY2Vzc2liaWxpdHkgbW9kaWZpZXIgKCcke21vZGlmaWVyfScpLmAsXG4gIEluZGV4U2lnbmF0dXJlSGFzRGVjbGFyZTpcbiAgICBcIkluZGV4IHNpZ25hdHVyZXMgY2Fubm90IGhhdmUgdGhlICdkZWNsYXJlJyBtb2RpZmllci5cIixcbiAgSW5kZXhTaWduYXR1cmVIYXNPdmVycmlkZTpcbiAgICBcIidvdmVycmlkZScgbW9kaWZpZXIgY2Fubm90IGFwcGVhciBvbiBhbiBpbmRleCBzaWduYXR1cmUuXCIsXG4gIEluZGV4U2lnbmF0dXJlSGFzU3RhdGljOlxuICAgIFwiSW5kZXggc2lnbmF0dXJlcyBjYW5ub3QgaGF2ZSB0aGUgJ3N0YXRpYycgbW9kaWZpZXIuXCIsXG4gIEluaXRpYWxpemVyTm90QWxsb3dlZEluQW1iaWVudENvbnRleHQ6XG4gICAgXCJJbml0aWFsaXplcnMgYXJlIG5vdCBhbGxvd2VkIGluIGFtYmllbnQgY29udGV4dHMuXCIsXG4gIEludmFsaWRNb2RpZmllck9uVHlwZU1lbWJlcjogKHsgbW9kaWZpZXIgfTogeyBtb2RpZmllcjogVHNNb2RpZmllciB9KSA9PlxuICAgIGAnJHttb2RpZmllcn0nIG1vZGlmaWVyIGNhbm5vdCBhcHBlYXIgb24gYSB0eXBlIG1lbWJlci5gLFxuICBJbnZhbGlkTW9kaWZpZXJPblR5cGVQYXJhbWV0ZXI6ICh7IG1vZGlmaWVyIH06IHsgbW9kaWZpZXI6IFRzTW9kaWZpZXIgfSkgPT5cbiAgICBgJyR7bW9kaWZpZXJ9JyBtb2RpZmllciBjYW5ub3QgYXBwZWFyIG9uIGEgdHlwZSBwYXJhbWV0ZXIuYCxcbiAgSW52YWxpZE1vZGlmaWVyT25UeXBlUGFyYW1ldGVyUG9zaXRpb25zOiAoe1xuICAgIG1vZGlmaWVyLFxuICB9OiB7XG4gICAgbW9kaWZpZXI6IFRzTW9kaWZpZXI7XG4gIH0pID0+XG4gICAgYCcke21vZGlmaWVyfScgbW9kaWZpZXIgY2FuIG9ubHkgYXBwZWFyIG9uIGEgdHlwZSBwYXJhbWV0ZXIgb2YgYSBjbGFzcywgaW50ZXJmYWNlIG9yIHR5cGUgYWxpYXMuYCxcbiAgSW52YWxpZE1vZGlmaWVyc09yZGVyOiAoe1xuICAgIG9yZGVyZWRNb2RpZmllcnMsXG4gIH06IHtcbiAgICBvcmRlcmVkTW9kaWZpZXJzOiBbVHNNb2RpZmllciwgVHNNb2RpZmllcl07XG4gIH0pID0+XG4gICAgYCcke29yZGVyZWRNb2RpZmllcnNbMF19JyBtb2RpZmllciBtdXN0IHByZWNlZGUgJyR7b3JkZXJlZE1vZGlmaWVyc1sxXX0nIG1vZGlmaWVyLmAsXG4gIEludmFsaWRQcm9wZXJ0eUFjY2Vzc0FmdGVySW5zdGFudGlhdGlvbkV4cHJlc3Npb246XG4gICAgXCJJbnZhbGlkIHByb3BlcnR5IGFjY2VzcyBhZnRlciBhbiBpbnN0YW50aWF0aW9uIGV4cHJlc3Npb24uIFwiICtcbiAgICBcIllvdSBjYW4gZWl0aGVyIHdyYXAgdGhlIGluc3RhbnRpYXRpb24gZXhwcmVzc2lvbiBpbiBwYXJlbnRoZXNlcywgb3IgZGVsZXRlIHRoZSB0eXBlIGFyZ3VtZW50cy5cIixcbiAgSW52YWxpZFR1cGxlTWVtYmVyTGFiZWw6XG4gICAgXCJUdXBsZSBtZW1iZXJzIG11c3QgYmUgbGFiZWxlZCB3aXRoIGEgc2ltcGxlIGlkZW50aWZpZXIuXCIsXG4gIE1pc3NpbmdJbnRlcmZhY2VOYW1lOlxuICAgIFwiJ2ludGVyZmFjZScgZGVjbGFyYXRpb25zIG11c3QgYmUgZm9sbG93ZWQgYnkgYW4gaWRlbnRpZmllci5cIixcbiAgTm9uQWJzdHJhY3RDbGFzc0hhc0Fic3RyYWN0TWV0aG9kOlxuICAgIFwiQWJzdHJhY3QgbWV0aG9kcyBjYW4gb25seSBhcHBlYXIgd2l0aGluIGFuIGFic3RyYWN0IGNsYXNzLlwiLFxuICBOb25DbGFzc01ldGhvZFByb3BlcnR5SGFzQWJzdHJhY3RNb2RpZmVyOlxuICAgIFwiJ2Fic3RyYWN0JyBtb2RpZmllciBjYW4gb25seSBhcHBlYXIgb24gYSBjbGFzcywgbWV0aG9kLCBvciBwcm9wZXJ0eSBkZWNsYXJhdGlvbi5cIixcbiAgT3B0aW9uYWxUeXBlQmVmb3JlUmVxdWlyZWQ6XG4gICAgXCJBIHJlcXVpcmVkIGVsZW1lbnQgY2Fubm90IGZvbGxvdyBhbiBvcHRpb25hbCBlbGVtZW50LlwiLFxuICBPdmVycmlkZU5vdEluU3ViQ2xhc3M6XG4gICAgXCJUaGlzIG1lbWJlciBjYW5ub3QgaGF2ZSBhbiAnb3ZlcnJpZGUnIG1vZGlmaWVyIGJlY2F1c2UgaXRzIGNvbnRhaW5pbmcgY2xhc3MgZG9lcyBub3QgZXh0ZW5kIGFub3RoZXIgY2xhc3MuXCIsXG4gIFBhdHRlcm5Jc09wdGlvbmFsOlxuICAgIFwiQSBiaW5kaW5nIHBhdHRlcm4gcGFyYW1ldGVyIGNhbm5vdCBiZSBvcHRpb25hbCBpbiBhbiBpbXBsZW1lbnRhdGlvbiBzaWduYXR1cmUuXCIsXG4gIFByaXZhdGVFbGVtZW50SGFzQWJzdHJhY3Q6XG4gICAgXCJQcml2YXRlIGVsZW1lbnRzIGNhbm5vdCBoYXZlIHRoZSAnYWJzdHJhY3QnIG1vZGlmaWVyLlwiLFxuICBQcml2YXRlRWxlbWVudEhhc0FjY2Vzc2liaWxpdHk6ICh7XG4gICAgbW9kaWZpZXIsXG4gIH06IHtcbiAgICBtb2RpZmllcjogTi5BY2Nlc3NpYmlsaXR5O1xuICB9KSA9PlxuICAgIGBQcml2YXRlIGVsZW1lbnRzIGNhbm5vdCBoYXZlIGFuIGFjY2Vzc2liaWxpdHkgbW9kaWZpZXIgKCcke21vZGlmaWVyfScpLmAsXG4gIFJlYWRvbmx5Rm9yTWV0aG9kU2lnbmF0dXJlOlxuICAgIFwiJ3JlYWRvbmx5JyBtb2RpZmllciBjYW4gb25seSBhcHBlYXIgb24gYSBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBvciBpbmRleCBzaWduYXR1cmUuXCIsXG4gIFJlc2VydmVkQXJyb3dUeXBlUGFyYW06XG4gICAgXCJUaGlzIHN5bnRheCBpcyByZXNlcnZlZCBpbiBmaWxlcyB3aXRoIHRoZSAubXRzIG9yIC5jdHMgZXh0ZW5zaW9uLiBBZGQgYSB0cmFpbGluZyBjb21tYSwgYXMgaW4gYDxULD4oKSA9PiAuLi5gLlwiLFxuICBSZXNlcnZlZFR5cGVBc3NlcnRpb246XG4gICAgXCJUaGlzIHN5bnRheCBpcyByZXNlcnZlZCBpbiBmaWxlcyB3aXRoIHRoZSAubXRzIG9yIC5jdHMgZXh0ZW5zaW9uLiBVc2UgYW4gYGFzYCBleHByZXNzaW9uIGluc3RlYWQuXCIsXG4gIFNldEFjY2Vzc29yQ2Fubm90SGF2ZU9wdGlvbmFsUGFyYW1ldGVyOlxuICAgIFwiQSAnc2V0JyBhY2Nlc3NvciBjYW5ub3QgaGF2ZSBhbiBvcHRpb25hbCBwYXJhbWV0ZXIuXCIsXG4gIFNldEFjY2Vzc29yQ2Fubm90SGF2ZVJlc3RQYXJhbWV0ZXI6XG4gICAgXCJBICdzZXQnIGFjY2Vzc29yIGNhbm5vdCBoYXZlIHJlc3QgcGFyYW1ldGVyLlwiLFxuICBTZXRBY2Nlc3NvckNhbm5vdEhhdmVSZXR1cm5UeXBlOlxuICAgIFwiQSAnc2V0JyBhY2Nlc3NvciBjYW5ub3QgaGF2ZSBhIHJldHVybiB0eXBlIGFubm90YXRpb24uXCIsXG4gIFNpbmdsZVR5cGVQYXJhbWV0ZXJXaXRob3V0VHJhaWxpbmdDb21tYTogKHtcbiAgICB0eXBlUGFyYW1ldGVyTmFtZSxcbiAgfToge1xuICAgIHR5cGVQYXJhbWV0ZXJOYW1lOiBzdHJpbmc7XG4gIH0pID0+XG4gICAgYFNpbmdsZSB0eXBlIHBhcmFtZXRlciAke3R5cGVQYXJhbWV0ZXJOYW1lfSBzaG91bGQgaGF2ZSBhIHRyYWlsaW5nIGNvbW1hLiBFeGFtcGxlIHVzYWdlOiA8JHt0eXBlUGFyYW1ldGVyTmFtZX0sPi5gLFxuICBTdGF0aWNCbG9ja0Nhbm5vdEhhdmVNb2RpZmllcjpcbiAgICBcIlN0YXRpYyBjbGFzcyBibG9ja3MgY2Fubm90IGhhdmUgYW55IG1vZGlmaWVyLlwiLFxuICBUdXBsZU9wdGlvbmFsQWZ0ZXJUeXBlOlxuICAgIFwiQSBsYWJlbGVkIHR1cGxlIG9wdGlvbmFsIGVsZW1lbnQgbXVzdCBiZSBkZWNsYXJlZCB1c2luZyBhIHF1ZXN0aW9uIG1hcmsgYWZ0ZXIgdGhlIG5hbWUgYW5kIGJlZm9yZSB0aGUgY29sb24gKGBuYW1lPzogdHlwZWApLCByYXRoZXIgdGhhbiBhZnRlciB0aGUgdHlwZSAoYG5hbWU6IHR5cGU/YCkuXCIsXG4gIFR5cGVBbm5vdGF0aW9uQWZ0ZXJBc3NpZ246XG4gICAgXCJUeXBlIGFubm90YXRpb25zIG11c3QgY29tZSBiZWZvcmUgZGVmYXVsdCBhc3NpZ25tZW50cywgZS5nLiBpbnN0ZWFkIG9mIGBhZ2UgPSAyNTogbnVtYmVyYCB1c2UgYGFnZTogbnVtYmVyID0gMjVgLlwiLFxuICBUeXBlSW1wb3J0Q2Fubm90U3BlY2lmeURlZmF1bHRBbmROYW1lZDpcbiAgICBcIkEgdHlwZS1vbmx5IGltcG9ydCBjYW4gc3BlY2lmeSBhIGRlZmF1bHQgaW1wb3J0IG9yIG5hbWVkIGJpbmRpbmdzLCBidXQgbm90IGJvdGguXCIsXG4gIFR5cGVNb2RpZmllcklzVXNlZEluVHlwZUV4cG9ydHM6XG4gICAgXCJUaGUgJ3R5cGUnIG1vZGlmaWVyIGNhbm5vdCBiZSB1c2VkIG9uIGEgbmFtZWQgZXhwb3J0IHdoZW4gJ2V4cG9ydCB0eXBlJyBpcyB1c2VkIG9uIGl0cyBleHBvcnQgc3RhdGVtZW50LlwiLFxuICBUeXBlTW9kaWZpZXJJc1VzZWRJblR5cGVJbXBvcnRzOlxuICAgIFwiVGhlICd0eXBlJyBtb2RpZmllciBjYW5ub3QgYmUgdXNlZCBvbiBhIG5hbWVkIGltcG9ydCB3aGVuICdpbXBvcnQgdHlwZScgaXMgdXNlZCBvbiBpdHMgaW1wb3J0IHN0YXRlbWVudC5cIixcbiAgVW5leHBlY3RlZFBhcmFtZXRlck1vZGlmaWVyOlxuICAgIFwiQSBwYXJhbWV0ZXIgcHJvcGVydHkgaXMgb25seSBhbGxvd2VkIGluIGEgY29uc3RydWN0b3IgaW1wbGVtZW50YXRpb24uXCIsXG4gIFVuZXhwZWN0ZWRSZWFkb25seTpcbiAgICBcIidyZWFkb25seScgdHlwZSBtb2RpZmllciBpcyBvbmx5IHBlcm1pdHRlZCBvbiBhcnJheSBhbmQgdHVwbGUgbGl0ZXJhbCB0eXBlcy5cIixcbiAgVW5leHBlY3RlZFR5cGVBbm5vdGF0aW9uOiBcIkRpZCBub3QgZXhwZWN0IGEgdHlwZSBhbm5vdGF0aW9uIGhlcmUuXCIsXG4gIFVuZXhwZWN0ZWRUeXBlQ2FzdEluUGFyYW1ldGVyOiBcIlVuZXhwZWN0ZWQgdHlwZSBjYXN0IGluIHBhcmFtZXRlciBwb3NpdGlvbi5cIixcbiAgVW5zdXBwb3J0ZWRJbXBvcnRUeXBlQXJndW1lbnQ6XG4gICAgXCJBcmd1bWVudCBpbiBhIHR5cGUgaW1wb3J0IG11c3QgYmUgYSBzdHJpbmcgbGl0ZXJhbC5cIixcbiAgVW5zdXBwb3J0ZWRQYXJhbWV0ZXJQcm9wZXJ0eUtpbmQ6XG4gICAgXCJBIHBhcmFtZXRlciBwcm9wZXJ0eSBtYXkgbm90IGJlIGRlY2xhcmVkIHVzaW5nIGEgYmluZGluZyBwYXR0ZXJuLlwiLFxuICBVbnN1cHBvcnRlZFNpZ25hdHVyZVBhcmFtZXRlcktpbmQ6ICh7IHR5cGUgfTogeyB0eXBlOiBzdHJpbmcgfSkgPT5cbiAgICBgTmFtZSBpbiBhIHNpZ25hdHVyZSBtdXN0IGJlIGFuIElkZW50aWZpZXIsIE9iamVjdFBhdHRlcm4gb3IgQXJyYXlQYXR0ZXJuLCBpbnN0ZWFkIGdvdCAke3R5cGV9LmAsXG59KTtcblxuLyogZXNsaW50LWRpc2FibGUgc29ydC1rZXlzICovXG5cbi8vIERvZXNuJ3QgaGFuZGxlIFwidm9pZFwiIG9yIFwibnVsbFwiIGJlY2F1c2UgdGhvc2UgYXJlIGtleXdvcmRzLCBub3QgaWRlbnRpZmllcnMuXG4vLyBJdCBhbHNvIGRvZXNuJ3QgaGFuZGxlIFwiaW50cmluc2ljXCIsIHNpbmNlIHVzdWFsbHkgaXQncyBub3QgYSBrZXl3b3JkLlxuZnVuY3Rpb24ga2V5d29yZFR5cGVGcm9tTmFtZSh2YWx1ZTogc3RyaW5nKTogTi5Uc0tleXdvcmRUeXBlVHlwZSB8IHVuZGVmaW5lZCB7XG4gIHN3aXRjaCAodmFsdWUpIHtcbiAgICBjYXNlIFwiYW55XCI6XG4gICAgICByZXR1cm4gXCJUU0FueUtleXdvcmRcIjtcbiAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgcmV0dXJuIFwiVFNCb29sZWFuS2V5d29yZFwiO1xuICAgIGNhc2UgXCJiaWdpbnRcIjpcbiAgICAgIHJldHVybiBcIlRTQmlnSW50S2V5d29yZFwiO1xuICAgIGNhc2UgXCJuZXZlclwiOlxuICAgICAgcmV0dXJuIFwiVFNOZXZlcktleXdvcmRcIjtcbiAgICBjYXNlIFwibnVtYmVyXCI6XG4gICAgICByZXR1cm4gXCJUU051bWJlcktleXdvcmRcIjtcbiAgICBjYXNlIFwib2JqZWN0XCI6XG4gICAgICByZXR1cm4gXCJUU09iamVjdEtleXdvcmRcIjtcbiAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICByZXR1cm4gXCJUU1N0cmluZ0tleXdvcmRcIjtcbiAgICBjYXNlIFwic3ltYm9sXCI6XG4gICAgICByZXR1cm4gXCJUU1N5bWJvbEtleXdvcmRcIjtcbiAgICBjYXNlIFwidW5kZWZpbmVkXCI6XG4gICAgICByZXR1cm4gXCJUU1VuZGVmaW5lZEtleXdvcmRcIjtcbiAgICBjYXNlIFwidW5rbm93blwiOlxuICAgICAgcmV0dXJuIFwiVFNVbmtub3duS2V5d29yZFwiO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmZ1bmN0aW9uIHRzSXNBY2Nlc3NNb2RpZmllcihtb2RpZmllcjogc3RyaW5nKTogbW9kaWZpZXIgaXMgTi5BY2Nlc3NpYmlsaXR5IHtcbiAgcmV0dXJuIChcbiAgICBtb2RpZmllciA9PT0gXCJwcml2YXRlXCIgfHwgbW9kaWZpZXIgPT09IFwicHVibGljXCIgfHwgbW9kaWZpZXIgPT09IFwicHJvdGVjdGVkXCJcbiAgKTtcbn1cblxuZnVuY3Rpb24gdHNJc1ZhcmlhbmNlQW5ub3RhdGlvbnMoXG4gIG1vZGlmaWVyOiBzdHJpbmcsXG4pOiBtb2RpZmllciBpcyBOLlZhcmlhbmNlQW5ub3RhdGlvbnMge1xuICByZXR1cm4gbW9kaWZpZXIgPT09IFwiaW5cIiB8fCBtb2RpZmllciA9PT0gXCJvdXRcIjtcbn1cblxudHlwZSBDbGFzc1dpdGhNaXhpbjxcbiAgVCBleHRlbmRzIG5ldyAoLi4uYXJnczogYW55KSA9PiBhbnksXG4gIE0gZXh0ZW5kcyBvYmplY3QsXG4+ID0gVCBleHRlbmRzIG5ldyAoLi4uYXJnczogaW5mZXIgUCkgPT4gaW5mZXIgSVxuICA/IG5ldyAoLi4uYXJnczogUCkgPT4gSSAmIE1cbiAgOiBuZXZlcjtcblxuZXhwb3J0IGRlZmF1bHQgKHN1cGVyQ2xhc3M6IENsYXNzV2l0aE1peGluPHR5cGVvZiBQYXJzZXIsIElKU1hQYXJzZXJNaXhpbj4pID0+XG4gIGNsYXNzIFR5cGVTY3JpcHRQYXJzZXJNaXhpbiBleHRlbmRzIHN1cGVyQ2xhc3MgaW1wbGVtZW50cyBQYXJzZXIge1xuICAgIGdldFNjb3BlSGFuZGxlcigpOiBuZXcgKC4uLmFyZ3M6IGFueSkgPT4gVHlwZVNjcmlwdFNjb3BlSGFuZGxlciB7XG4gICAgICByZXR1cm4gVHlwZVNjcmlwdFNjb3BlSGFuZGxlcjtcbiAgICB9XG5cbiAgICB0c0lzSWRlbnRpZmllcigpOiBib29sZWFuIHtcbiAgICAgIC8vIFRPRE86IGFjdHVhbGx5IGEgYml0IG1vcmUgY29tcGxleCBpbiBUeXBlU2NyaXB0LCBidXQgc2hvdWxkbid0IG1hdHRlci5cbiAgICAgIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vTWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzE1MDA4XG4gICAgICByZXR1cm4gdG9rZW5Jc0lkZW50aWZpZXIodGhpcy5zdGF0ZS50eXBlKTtcbiAgICB9XG5cbiAgICB0c1Rva2VuQ2FuRm9sbG93TW9kaWZpZXIoKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLm1hdGNoKHR0LmJyYWNrZXRMKSB8fFxuICAgICAgICB0aGlzLm1hdGNoKHR0LmJyYWNlTCkgfHxcbiAgICAgICAgdGhpcy5tYXRjaCh0dC5zdGFyKSB8fFxuICAgICAgICB0aGlzLm1hdGNoKHR0LmVsbGlwc2lzKSB8fFxuICAgICAgICB0aGlzLm1hdGNoKHR0LnByaXZhdGVOYW1lKSB8fFxuICAgICAgICB0aGlzLmlzTGl0ZXJhbFByb3BlcnR5TmFtZSgpXG4gICAgICApO1xuICAgIH1cblxuICAgIHRzTmV4dFRva2VuT25TYW1lTGluZUFuZENhbkZvbGxvd01vZGlmaWVyKCkge1xuICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICBpZiAodGhpcy5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy50c1Rva2VuQ2FuRm9sbG93TW9kaWZpZXIoKTtcbiAgICB9XG5cbiAgICB0c05leHRUb2tlbkNhbkZvbGxvd01vZGlmaWVyKCkge1xuICAgICAgLy8gTm90ZTogVHlwZVNjcmlwdCdzIGltcGxlbWVudGF0aW9uIGlzIG11Y2ggbW9yZSBjb21wbGljYXRlZCBiZWNhdXNlXG4gICAgICAvLyBtb3JlIHRoaW5ncyBhcmUgY29uc2lkZXJlZCBtb2RpZmllcnMgdGhlcmUuXG4gICAgICAvLyBUaGlzIGltcGxlbWVudGF0aW9uIG9ubHkgaGFuZGxlcyBtb2RpZmllcnMgbm90IGhhbmRsZWQgYnkgQGJhYmVsL3BhcnNlciBpdHNlbGYuIEFuZCBcInN0YXRpY1wiLlxuICAgICAgaWYgKHRoaXMubWF0Y2godHQuX3N0YXRpYykpIHtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIHJldHVybiB0aGlzLnRzVG9rZW5DYW5Gb2xsb3dNb2RpZmllcigpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMudHNOZXh0VG9rZW5PblNhbWVMaW5lQW5kQ2FuRm9sbG93TW9kaWZpZXIoKTtcbiAgICB9XG5cbiAgICAvKiogUGFyc2VzIGEgbW9kaWZpZXIgbWF0Y2hpbmcgb25lIHRoZSBnaXZlbiBtb2RpZmllciBuYW1lcy4gKi9cbiAgICB0c1BhcnNlTW9kaWZpZXI8VCBleHRlbmRzIFRzTW9kaWZpZXI+KFxuICAgICAgYWxsb3dlZE1vZGlmaWVyczogVFtdLFxuICAgICAgc3RvcE9uU3RhcnRPZkNsYXNzU3RhdGljQmxvY2s/OiBib29sZWFuLFxuICAgICk6IFQgfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICAgIGlmIChcbiAgICAgICAgIXRva2VuSXNJZGVudGlmaWVyKHRoaXMuc3RhdGUudHlwZSkgJiZcbiAgICAgICAgdGhpcy5zdGF0ZS50eXBlICE9PSB0dC5faW4gJiZcbiAgICAgICAgdGhpcy5zdGF0ZS50eXBlICE9PSB0dC5fY29uc3RcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBtb2RpZmllciA9IHRoaXMuc3RhdGUudmFsdWU7XG4gICAgICBpZiAoYWxsb3dlZE1vZGlmaWVycy5pbmNsdWRlcyhtb2RpZmllcikpIHtcbiAgICAgICAgaWYgKHN0b3BPblN0YXJ0T2ZDbGFzc1N0YXRpY0Jsb2NrICYmIHRoaXMudHNJc1N0YXJ0T2ZTdGF0aWNCbG9ja3MoKSkge1xuICAgICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMudHNUcnlQYXJzZSh0aGlzLnRzTmV4dFRva2VuQ2FuRm9sbG93TW9kaWZpZXIuYmluZCh0aGlzKSkpIHtcbiAgICAgICAgICByZXR1cm4gbW9kaWZpZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgLyoqIFBhcnNlcyBhIGxpc3Qgb2YgbW9kaWZpZXJzLCBpbiBhbnkgb3JkZXIuXG4gICAgICogIElmIHlvdSBuZWVkIGEgc3BlY2lmaWMgb3JkZXIsIHlvdSBtdXN0IGNhbGwgdGhpcyBmdW5jdGlvbiBtdWx0aXBsZSB0aW1lczpcbiAgICAgKiAgICB0aGlzLnRzUGFyc2VNb2RpZmllcnMoeyBtb2RpZmllZDogbm9kZSwgYWxsb3dlZE1vZGlmaWVyczogW1wicHVibGljXCJdIH0pO1xuICAgICAqICAgIHRoaXMudHNQYXJzZU1vZGlmaWVycyh7IG1vZGlmaWVkOiBub2RlLCBhbGxvd2VkTW9kaWZpZXJzOiBbXCJhYnN0cmFjdFwiLCBcInJlYWRvbmx5XCJdIH0pO1xuICAgICAqL1xuICAgIHRzUGFyc2VNb2RpZmllcnM8TiBleHRlbmRzIE1vZGlmaWVyQmFzZT4oXG4gICAgICB7XG4gICAgICAgIGFsbG93ZWRNb2RpZmllcnMsXG4gICAgICAgIGRpc2FsbG93ZWRNb2RpZmllcnMsXG4gICAgICAgIHN0b3BPblN0YXJ0T2ZDbGFzc1N0YXRpY0Jsb2NrLFxuICAgICAgICBlcnJvclRlbXBsYXRlID0gVFNFcnJvcnMuSW52YWxpZE1vZGlmaWVyT25UeXBlTWVtYmVyLFxuICAgICAgfToge1xuICAgICAgICBhbGxvd2VkTW9kaWZpZXJzOiByZWFkb25seSBUc01vZGlmaWVyW107XG4gICAgICAgIGRpc2FsbG93ZWRNb2RpZmllcnM/OiBUc01vZGlmaWVyW107XG4gICAgICAgIHN0b3BPblN0YXJ0T2ZDbGFzc1N0YXRpY0Jsb2NrPzogYm9vbGVhbjtcbiAgICAgICAgZXJyb3JUZW1wbGF0ZT86IHR5cGVvZiBUU0Vycm9ycy5JbnZhbGlkTW9kaWZpZXJPblR5cGVNZW1iZXI7XG4gICAgICB9LFxuICAgICAgbW9kaWZpZWQ6IE4sXG4gICAgKTogdm9pZCB7XG4gICAgICBjb25zdCBlbmZvcmNlT3JkZXIgPSAoXG4gICAgICAgIGxvYzogUG9zaXRpb24sXG4gICAgICAgIG1vZGlmaWVyOiBUc01vZGlmaWVyLFxuICAgICAgICBiZWZvcmU6IFRzTW9kaWZpZXIsXG4gICAgICAgIGFmdGVyOiBUc01vZGlmaWVyLFxuICAgICAgKSA9PiB7XG4gICAgICAgIGlmIChtb2RpZmllciA9PT0gYmVmb3JlICYmIG1vZGlmaWVkW2FmdGVyXSkge1xuICAgICAgICAgIHRoaXMucmFpc2UoVFNFcnJvcnMuSW52YWxpZE1vZGlmaWVyc09yZGVyLCBsb2MsIHtcbiAgICAgICAgICAgIG9yZGVyZWRNb2RpZmllcnM6IFtiZWZvcmUsIGFmdGVyXSxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGluY29tcGF0aWJsZSA9IChcbiAgICAgICAgbG9jOiBQb3NpdGlvbixcbiAgICAgICAgbW9kaWZpZXI6IFRzTW9kaWZpZXIsXG4gICAgICAgIG1vZDE6IFRzTW9kaWZpZXIsXG4gICAgICAgIG1vZDI6IFRzTW9kaWZpZXIsXG4gICAgICApID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIChtb2RpZmllZFttb2QxXSAmJiBtb2RpZmllciA9PT0gbW9kMikgfHxcbiAgICAgICAgICAobW9kaWZpZWRbbW9kMl0gJiYgbW9kaWZpZXIgPT09IG1vZDEpXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMucmFpc2UoVFNFcnJvcnMuSW5jb21wYXRpYmxlTW9kaWZpZXJzLCBsb2MsIHtcbiAgICAgICAgICAgIG1vZGlmaWVyczogW21vZDEsIG1vZDJdLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9O1xuXG4gICAgICBmb3IgKDs7KSB7XG4gICAgICAgIGNvbnN0IHsgc3RhcnRMb2MgfSA9IHRoaXMuc3RhdGU7XG4gICAgICAgIGNvbnN0IG1vZGlmaWVyOiBUc01vZGlmaWVyIHwgdW5kZWZpbmVkIHwgbnVsbCA9IHRoaXMudHNQYXJzZU1vZGlmaWVyKFxuICAgICAgICAgIGFsbG93ZWRNb2RpZmllcnMuY29uY2F0KGRpc2FsbG93ZWRNb2RpZmllcnMgPz8gW10pLFxuICAgICAgICAgIHN0b3BPblN0YXJ0T2ZDbGFzc1N0YXRpY0Jsb2NrLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmICghbW9kaWZpZXIpIGJyZWFrO1xuXG4gICAgICAgIGlmICh0c0lzQWNjZXNzTW9kaWZpZXIobW9kaWZpZXIpKSB7XG4gICAgICAgICAgaWYgKG1vZGlmaWVkLmFjY2Vzc2liaWxpdHkpIHtcbiAgICAgICAgICAgIHRoaXMucmFpc2UoVFNFcnJvcnMuRHVwbGljYXRlQWNjZXNzaWJpbGl0eU1vZGlmaWVyLCBzdGFydExvYywge1xuICAgICAgICAgICAgICBtb2RpZmllcixcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBlbmZvcmNlT3JkZXIoc3RhcnRMb2MsIG1vZGlmaWVyLCBtb2RpZmllciwgXCJvdmVycmlkZVwiKTtcbiAgICAgICAgICAgIGVuZm9yY2VPcmRlcihzdGFydExvYywgbW9kaWZpZXIsIG1vZGlmaWVyLCBcInN0YXRpY1wiKTtcbiAgICAgICAgICAgIGVuZm9yY2VPcmRlcihzdGFydExvYywgbW9kaWZpZXIsIG1vZGlmaWVyLCBcInJlYWRvbmx5XCIpO1xuXG4gICAgICAgICAgICBtb2RpZmllZC5hY2Nlc3NpYmlsaXR5ID0gbW9kaWZpZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHRzSXNWYXJpYW5jZUFubm90YXRpb25zKG1vZGlmaWVyKSkge1xuICAgICAgICAgIGlmIChtb2RpZmllZFttb2RpZmllcl0pIHtcbiAgICAgICAgICAgIHRoaXMucmFpc2UoVFNFcnJvcnMuRHVwbGljYXRlTW9kaWZpZXIsIHN0YXJ0TG9jLCB7IG1vZGlmaWVyIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBtb2RpZmllZFttb2RpZmllcl0gPSB0cnVlO1xuXG4gICAgICAgICAgZW5mb3JjZU9yZGVyKHN0YXJ0TG9jLCBtb2RpZmllciwgXCJpblwiLCBcIm91dFwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoT2JqZWN0Lmhhc093bihtb2RpZmllZCwgbW9kaWZpZXIpKSB7XG4gICAgICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLkR1cGxpY2F0ZU1vZGlmaWVyLCBzdGFydExvYywgeyBtb2RpZmllciB9KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZW5mb3JjZU9yZGVyKHN0YXJ0TG9jLCBtb2RpZmllciwgXCJzdGF0aWNcIiwgXCJyZWFkb25seVwiKTtcbiAgICAgICAgICAgIGVuZm9yY2VPcmRlcihzdGFydExvYywgbW9kaWZpZXIsIFwic3RhdGljXCIsIFwib3ZlcnJpZGVcIik7XG4gICAgICAgICAgICBlbmZvcmNlT3JkZXIoc3RhcnRMb2MsIG1vZGlmaWVyLCBcIm92ZXJyaWRlXCIsIFwicmVhZG9ubHlcIik7XG4gICAgICAgICAgICBlbmZvcmNlT3JkZXIoc3RhcnRMb2MsIG1vZGlmaWVyLCBcImFic3RyYWN0XCIsIFwib3ZlcnJpZGVcIik7XG5cbiAgICAgICAgICAgIGluY29tcGF0aWJsZShzdGFydExvYywgbW9kaWZpZXIsIFwiZGVjbGFyZVwiLCBcIm92ZXJyaWRlXCIpO1xuICAgICAgICAgICAgaW5jb21wYXRpYmxlKHN0YXJ0TG9jLCBtb2RpZmllciwgXCJzdGF0aWNcIiwgXCJhYnN0cmFjdFwiKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbW9kaWZpZWRbbW9kaWZpZXJdID0gdHJ1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChkaXNhbGxvd2VkTW9kaWZpZXJzPy5pbmNsdWRlcyhtb2RpZmllcikpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKGVycm9yVGVtcGxhdGUsIHN0YXJ0TG9jLCB7XG4gICAgICAgICAgICBtb2RpZmllcixcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRzSXNMaXN0VGVybWluYXRvcihraW5kOiBQYXJzaW5nQ29udGV4dCk6IGJvb2xlYW4ge1xuICAgICAgc3dpdGNoIChraW5kKSB7XG4gICAgICAgIGNhc2UgXCJFbnVtTWVtYmVyc1wiOlxuICAgICAgICBjYXNlIFwiVHlwZU1lbWJlcnNcIjpcbiAgICAgICAgICByZXR1cm4gdGhpcy5tYXRjaCh0dC5icmFjZVIpO1xuICAgICAgICBjYXNlIFwiSGVyaXRhZ2VDbGF1c2VFbGVtZW50XCI6XG4gICAgICAgICAgcmV0dXJuIHRoaXMubWF0Y2godHQuYnJhY2VMKTtcbiAgICAgICAgY2FzZSBcIlR1cGxlRWxlbWVudFR5cGVzXCI6XG4gICAgICAgICAgcmV0dXJuIHRoaXMubWF0Y2godHQuYnJhY2tldFIpO1xuICAgICAgICBjYXNlIFwiVHlwZVBhcmFtZXRlcnNPckFyZ3VtZW50c1wiOlxuICAgICAgICAgIHJldHVybiB0aGlzLm1hdGNoKHR0Lmd0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0c1BhcnNlTGlzdDxUIGV4dGVuZHMgTi5Ob2RlPihcbiAgICAgIGtpbmQ6IFBhcnNpbmdDb250ZXh0LFxuICAgICAgcGFyc2VFbGVtZW50OiAoKSA9PiBULFxuICAgICk6IFRbXSB7XG4gICAgICBjb25zdCByZXN1bHQ6IFRbXSA9IFtdO1xuICAgICAgd2hpbGUgKCF0aGlzLnRzSXNMaXN0VGVybWluYXRvcihraW5kKSkge1xuICAgICAgICAvLyBTa2lwcGluZyBcInBhcnNlTGlzdEVsZW1lbnRcIiBmcm9tIHRoZSBUUyBzb3VyY2Ugc2luY2UgdGhhdCdzIGp1c3QgZm9yIGVycm9yIGhhbmRsaW5nLlxuICAgICAgICByZXN1bHQucHVzaChwYXJzZUVsZW1lbnQoKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHRzUGFyc2VEZWxpbWl0ZWRMaXN0PFQgZXh0ZW5kcyBOLk5vZGU+KFxuICAgICAga2luZDogUGFyc2luZ0NvbnRleHQsXG4gICAgICBwYXJzZUVsZW1lbnQ6ICgpID0+IFQsXG4gICAgICByZWZUcmFpbGluZ0NvbW1hUG9zPzoge1xuICAgICAgICB2YWx1ZTogbnVtYmVyO1xuICAgICAgfSxcbiAgICApOiBUW10ge1xuICAgICAgcmV0dXJuIG5vbk51bGwoXG4gICAgICAgIHRoaXMudHNQYXJzZURlbGltaXRlZExpc3RXb3JrZXIoXG4gICAgICAgICAga2luZCxcbiAgICAgICAgICBwYXJzZUVsZW1lbnQsXG4gICAgICAgICAgLyogZXhwZWN0U3VjY2VzcyAqLyB0cnVlLFxuICAgICAgICAgIHJlZlRyYWlsaW5nQ29tbWFQb3MsXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIElmICFleHBlY3RTdWNjZXNzLCByZXR1cm5zIHVuZGVmaW5lZCBpbnN0ZWFkIG9mIGZhaWxpbmcgdG8gcGFyc2UuXG4gICAgICogSWYgZXhwZWN0U3VjY2VzcywgcGFyc2VFbGVtZW50IHNob3VsZCBhbHdheXMgcmV0dXJuIGEgZGVmaW5lZCB2YWx1ZS5cbiAgICAgKi9cbiAgICB0c1BhcnNlRGVsaW1pdGVkTGlzdFdvcmtlcjxUIGV4dGVuZHMgTi5Ob2RlPihcbiAgICAgIGtpbmQ6IFBhcnNpbmdDb250ZXh0LFxuICAgICAgcGFyc2VFbGVtZW50OiAoKSA9PiBUIHwgdW5kZWZpbmVkLFxuICAgICAgZXhwZWN0U3VjY2VzczogYm9vbGVhbixcbiAgICAgIHJlZlRyYWlsaW5nQ29tbWFQb3M/OiB7XG4gICAgICAgIHZhbHVlOiBudW1iZXI7XG4gICAgICB9LFxuICAgICk6IFRbXSB8IHVuZGVmaW5lZCB7XG4gICAgICBjb25zdCByZXN1bHQ6IFRbXSA9IFtdO1xuICAgICAgbGV0IHRyYWlsaW5nQ29tbWFQb3MgPSAtMTtcblxuICAgICAgZm9yICg7Oykge1xuICAgICAgICBpZiAodGhpcy50c0lzTGlzdFRlcm1pbmF0b3Ioa2luZCkpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICB0cmFpbGluZ0NvbW1hUG9zID0gLTE7XG5cbiAgICAgICAgY29uc3QgZWxlbWVudCA9IHBhcnNlRWxlbWVudCgpO1xuICAgICAgICBpZiAoZWxlbWVudCA9PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgICByZXN1bHQucHVzaChlbGVtZW50KTtcblxuICAgICAgICBpZiAodGhpcy5lYXQodHQuY29tbWEpKSB7XG4gICAgICAgICAgdHJhaWxpbmdDb21tYVBvcyA9IHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jLmluZGV4O1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudHNJc0xpc3RUZXJtaW5hdG9yKGtpbmQpKSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoZXhwZWN0U3VjY2Vzcykge1xuICAgICAgICAgIC8vIFRoaXMgd2lsbCBmYWlsIHdpdGggYW4gZXJyb3IgYWJvdXQgYSBtaXNzaW5nIGNvbW1hXG4gICAgICAgICAgdGhpcy5leHBlY3QodHQuY29tbWEpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgICB9XG5cbiAgICAgIGlmIChyZWZUcmFpbGluZ0NvbW1hUG9zKSB7XG4gICAgICAgIHJlZlRyYWlsaW5nQ29tbWFQb3MudmFsdWUgPSB0cmFpbGluZ0NvbW1hUG9zO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHRzUGFyc2VCcmFja2V0ZWRMaXN0PFQgZXh0ZW5kcyBOLk5vZGU+KFxuICAgICAga2luZDogUGFyc2luZ0NvbnRleHQsXG4gICAgICBwYXJzZUVsZW1lbnQ6ICgpID0+IFQsXG4gICAgICBicmFja2V0OiBib29sZWFuLFxuICAgICAgc2tpcEZpcnN0VG9rZW46IGJvb2xlYW4sXG4gICAgICByZWZUcmFpbGluZ0NvbW1hUG9zPzoge1xuICAgICAgICB2YWx1ZTogbnVtYmVyO1xuICAgICAgfSxcbiAgICApOiBUW10ge1xuICAgICAgaWYgKCFza2lwRmlyc3RUb2tlbikge1xuICAgICAgICBpZiAoYnJhY2tldCkge1xuICAgICAgICAgIHRoaXMuZXhwZWN0KHR0LmJyYWNrZXRMKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmV4cGVjdCh0dC5sdCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy50c1BhcnNlRGVsaW1pdGVkTGlzdChcbiAgICAgICAga2luZCxcbiAgICAgICAgcGFyc2VFbGVtZW50LFxuICAgICAgICByZWZUcmFpbGluZ0NvbW1hUG9zLFxuICAgICAgKTtcblxuICAgICAgaWYgKGJyYWNrZXQpIHtcbiAgICAgICAgdGhpcy5leHBlY3QodHQuYnJhY2tldFIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5leHBlY3QodHQuZ3QpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuICAgIHRzUGFyc2VJbXBvcnRUeXBlKCk6IE4uVHNJbXBvcnRUeXBlIHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLlRzSW1wb3J0VHlwZT4oKTtcbiAgICAgIHRoaXMuZXhwZWN0KHR0Ll9pbXBvcnQpO1xuICAgICAgdGhpcy5leHBlY3QodHQucGFyZW5MKTtcbiAgICAgIGlmICghdGhpcy5tYXRjaCh0dC5zdHJpbmcpKSB7XG4gICAgICAgIHRoaXMucmFpc2UoVFNFcnJvcnMuVW5zdXBwb3J0ZWRJbXBvcnRUeXBlQXJndW1lbnQsIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgICAgfVxuXG4gICAgICAvLyBGb3IgY29tcGF0aWJpbGl0eSB0byBlc3RyZWUgd2UgY2Fubm90IGNhbGwgcGFyc2VMaXRlcmFsIGRpcmVjdGx5IGhlcmVcbiAgICAgIG5vZGUuYXJndW1lbnQgPSBzdXBlci5wYXJzZUV4cHJBdG9tKCkgYXMgTi5TdHJpbmdMaXRlcmFsO1xuICAgICAgaWYgKHRoaXMuZWF0KHR0LmNvbW1hKSAmJiAhdGhpcy5tYXRjaCh0dC5wYXJlblIpKSB7XG4gICAgICAgIG5vZGUub3B0aW9ucyA9IHN1cGVyLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKCk7XG4gICAgICAgIHRoaXMuZWF0KHR0LmNvbW1hKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5vZGUub3B0aW9ucyA9IG51bGw7XG4gICAgICB9XG4gICAgICB0aGlzLmV4cGVjdCh0dC5wYXJlblIpO1xuXG4gICAgICBpZiAodGhpcy5lYXQodHQuZG90KSkge1xuICAgICAgICAvLyBJbiB0aGlzIGluc3RhbmNlLCB0aGUgZW50aXR5IG5hbWUgd2lsbCBhY3R1YWxseSBpdHNlbGYgYmUgYVxuICAgICAgICAvLyBxdWFsaWZpZXIsIHNvIGFsbG93IGl0IHRvIGJlIGEgcmVzZXJ2ZWQgd29yZCBhcyB3ZWxsLlxuICAgICAgICBub2RlLnF1YWxpZmllciA9IHRoaXMudHNQYXJzZUVudGl0eU5hbWUoKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0Lmx0KSkge1xuICAgICAgICBub2RlLnR5cGVQYXJhbWV0ZXJzID0gdGhpcy50c1BhcnNlVHlwZUFyZ3VtZW50cygpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTSW1wb3J0VHlwZVwiKTtcbiAgICB9XG5cbiAgICB0c1BhcnNlRW50aXR5TmFtZShhbGxvd1Jlc2VydmVkV29yZHM6IGJvb2xlYW4gPSB0cnVlKTogTi5Uc0VudGl0eU5hbWUge1xuICAgICAgbGV0IGVudGl0eTogTi5Uc0VudGl0eU5hbWUgPSB0aGlzLnBhcnNlSWRlbnRpZmllcihhbGxvd1Jlc2VydmVkV29yZHMpO1xuICAgICAgd2hpbGUgKHRoaXMuZWF0KHR0LmRvdCkpIHtcbiAgICAgICAgY29uc3Qgbm9kZTogVW5kb25lPE4uVHNRdWFsaWZpZWROYW1lPiA9XG4gICAgICAgICAgdGhpcy5zdGFydE5vZGVBdE5vZGU8Ti5Uc1F1YWxpZmllZE5hbWU+KGVudGl0eSk7XG4gICAgICAgIG5vZGUubGVmdCA9IGVudGl0eTtcbiAgICAgICAgbm9kZS5yaWdodCA9IHRoaXMucGFyc2VJZGVudGlmaWVyKGFsbG93UmVzZXJ2ZWRXb3Jkcyk7XG4gICAgICAgIGVudGl0eSA9IHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTUXVhbGlmaWVkTmFtZVwiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBlbnRpdHk7XG4gICAgfVxuXG4gICAgdHNQYXJzZVR5cGVSZWZlcmVuY2UoKTogTi5Uc1R5cGVSZWZlcmVuY2Uge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uVHNUeXBlUmVmZXJlbmNlPigpO1xuICAgICAgbm9kZS50eXBlTmFtZSA9IHRoaXMudHNQYXJzZUVudGl0eU5hbWUoKTtcbiAgICAgIGlmICghdGhpcy5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSAmJiB0aGlzLm1hdGNoKHR0Lmx0KSkge1xuICAgICAgICBub2RlLnR5cGVQYXJhbWV0ZXJzID0gdGhpcy50c1BhcnNlVHlwZUFyZ3VtZW50cygpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTVHlwZVJlZmVyZW5jZVwiKTtcbiAgICB9XG5cbiAgICB0c1BhcnNlVGhpc1R5cGVQcmVkaWNhdGUobGhzOiBOLlRzVGhpc1R5cGUpOiBOLlRzVHlwZVByZWRpY2F0ZSB7XG4gICAgICB0aGlzLm5leHQoKTtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0Tm9kZTxOLlRzVHlwZVByZWRpY2F0ZT4obGhzKTtcbiAgICAgIG5vZGUucGFyYW1ldGVyTmFtZSA9IGxocztcbiAgICAgIG5vZGUudHlwZUFubm90YXRpb24gPSB0aGlzLnRzUGFyc2VUeXBlQW5ub3RhdGlvbigvKiBlYXRDb2xvbiAqLyBmYWxzZSk7XG4gICAgICBub2RlLmFzc2VydHMgPSBmYWxzZTtcbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJUU1R5cGVQcmVkaWNhdGVcIik7XG4gICAgfVxuXG4gICAgdHNQYXJzZVRoaXNUeXBlTm9kZSgpOiBOLlRzVGhpc1R5cGUge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uVHNUaGlzVHlwZT4oKTtcbiAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTVGhpc1R5cGVcIik7XG4gICAgfVxuXG4gICAgdHNQYXJzZVR5cGVRdWVyeSgpOiBOLlRzVHlwZVF1ZXJ5IHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLlRzVHlwZVF1ZXJ5PigpO1xuICAgICAgdGhpcy5leHBlY3QodHQuX3R5cGVvZik7XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5faW1wb3J0KSkge1xuICAgICAgICBub2RlLmV4cHJOYW1lID0gdGhpcy50c1BhcnNlSW1wb3J0VHlwZSgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9kZS5leHByTmFtZSA9IHRoaXMudHNQYXJzZUVudGl0eU5hbWUoKTtcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSAmJiB0aGlzLm1hdGNoKHR0Lmx0KSkge1xuICAgICAgICBub2RlLnR5cGVQYXJhbWV0ZXJzID0gdGhpcy50c1BhcnNlVHlwZUFyZ3VtZW50cygpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTVHlwZVF1ZXJ5XCIpO1xuICAgIH1cblxuICAgIHRzUGFyc2VJbk91dE1vZGlmaWVycyA9IHRoaXMudHNQYXJzZU1vZGlmaWVycy5iaW5kKHRoaXMsIHtcbiAgICAgIGFsbG93ZWRNb2RpZmllcnM6IFtcImluXCIsIFwib3V0XCJdLFxuICAgICAgZGlzYWxsb3dlZE1vZGlmaWVyczogW1xuICAgICAgICBcImNvbnN0XCIsXG4gICAgICAgIFwicHVibGljXCIsXG4gICAgICAgIFwicHJpdmF0ZVwiLFxuICAgICAgICBcInByb3RlY3RlZFwiLFxuICAgICAgICBcInJlYWRvbmx5XCIsXG4gICAgICAgIFwiZGVjbGFyZVwiLFxuICAgICAgICBcImFic3RyYWN0XCIsXG4gICAgICAgIFwib3ZlcnJpZGVcIixcbiAgICAgIF0sXG4gICAgICBlcnJvclRlbXBsYXRlOiBUU0Vycm9ycy5JbnZhbGlkTW9kaWZpZXJPblR5cGVQYXJhbWV0ZXIsXG4gICAgfSk7XG5cbiAgICB0c1BhcnNlQ29uc3RNb2RpZmllciA9IHRoaXMudHNQYXJzZU1vZGlmaWVycy5iaW5kKHRoaXMsIHtcbiAgICAgIGFsbG93ZWRNb2RpZmllcnM6IFtcImNvbnN0XCJdLFxuICAgICAgLy8gZm9yIGJldHRlciBlcnJvciByZWNvdmVyeVxuICAgICAgZGlzYWxsb3dlZE1vZGlmaWVyczogW1wiaW5cIiwgXCJvdXRcIl0sXG4gICAgICBlcnJvclRlbXBsYXRlOiBUU0Vycm9ycy5JbnZhbGlkTW9kaWZpZXJPblR5cGVQYXJhbWV0ZXJQb3NpdGlvbnMsXG4gICAgfSk7XG5cbiAgICB0c1BhcnNlSW5PdXRDb25zdE1vZGlmaWVycyA9IHRoaXMudHNQYXJzZU1vZGlmaWVycy5iaW5kKHRoaXMsIHtcbiAgICAgIGFsbG93ZWRNb2RpZmllcnM6IFtcImluXCIsIFwib3V0XCIsIFwiY29uc3RcIl0sXG4gICAgICBkaXNhbGxvd2VkTW9kaWZpZXJzOiBbXG4gICAgICAgIFwicHVibGljXCIsXG4gICAgICAgIFwicHJpdmF0ZVwiLFxuICAgICAgICBcInByb3RlY3RlZFwiLFxuICAgICAgICBcInJlYWRvbmx5XCIsXG4gICAgICAgIFwiZGVjbGFyZVwiLFxuICAgICAgICBcImFic3RyYWN0XCIsXG4gICAgICAgIFwib3ZlcnJpZGVcIixcbiAgICAgIF0sXG4gICAgICBlcnJvclRlbXBsYXRlOiBUU0Vycm9ycy5JbnZhbGlkTW9kaWZpZXJPblR5cGVQYXJhbWV0ZXIsXG4gICAgfSk7XG5cbiAgICB0c1BhcnNlVHlwZVBhcmFtZXRlcihcbiAgICAgIHBhcnNlTW9kaWZpZXJzOiAobm9kZTogVW5kb25lPE4uVHNUeXBlUGFyYW1ldGVyPikgPT4gdm9pZCxcbiAgICApOiBOLlRzVHlwZVBhcmFtZXRlciB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5Uc1R5cGVQYXJhbWV0ZXI+KCk7XG5cbiAgICAgIHBhcnNlTW9kaWZpZXJzKG5vZGUpO1xuXG4gICAgICBub2RlLm5hbWUgPSB0aGlzLnRzUGFyc2VUeXBlUGFyYW1ldGVyTmFtZSgpO1xuICAgICAgbm9kZS5jb25zdHJhaW50ID0gdGhpcy50c0VhdFRoZW5QYXJzZVR5cGUodHQuX2V4dGVuZHMpO1xuICAgICAgbm9kZS5kZWZhdWx0ID0gdGhpcy50c0VhdFRoZW5QYXJzZVR5cGUodHQuZXEpO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTVHlwZVBhcmFtZXRlclwiKTtcbiAgICB9XG5cbiAgICB0c1RyeVBhcnNlVHlwZVBhcmFtZXRlcnMoXG4gICAgICBwYXJzZU1vZGlmaWVyczogKG5vZGU6IE4uVHNUeXBlUGFyYW1ldGVyKSA9PiB2b2lkLFxuICAgICk6IE4uVHNUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24gfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0Lmx0KSkge1xuICAgICAgICByZXR1cm4gdGhpcy50c1BhcnNlVHlwZVBhcmFtZXRlcnMocGFyc2VNb2RpZmllcnMpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRzUGFyc2VUeXBlUGFyYW1ldGVycyhwYXJzZU1vZGlmaWVyczogKG5vZGU6IE4uVHNUeXBlUGFyYW1ldGVyKSA9PiB2b2lkKSB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5Uc1R5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvbj4oKTtcblxuICAgICAgaWYgKHRoaXMubWF0Y2godHQubHQpIHx8IHRoaXMubWF0Y2godHQuanN4VGFnU3RhcnQpKSB7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJlZlRyYWlsaW5nQ29tbWFQb3MgPSB7IHZhbHVlOiAtMSB9O1xuXG4gICAgICBub2RlLnBhcmFtcyA9IHRoaXMudHNQYXJzZUJyYWNrZXRlZExpc3QoXG4gICAgICAgIFwiVHlwZVBhcmFtZXRlcnNPckFyZ3VtZW50c1wiLFxuICAgICAgICB0aGlzLnRzUGFyc2VUeXBlUGFyYW1ldGVyLmJpbmQodGhpcywgcGFyc2VNb2RpZmllcnMpLFxuICAgICAgICAvKiBicmFja2V0ICovIGZhbHNlLFxuICAgICAgICAvKiBza2lwRmlyc3RUb2tlbiAqLyB0cnVlLFxuICAgICAgICByZWZUcmFpbGluZ0NvbW1hUG9zLFxuICAgICAgKTtcbiAgICAgIGlmIChub2RlLnBhcmFtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5yYWlzZShUU0Vycm9ycy5FbXB0eVR5cGVQYXJhbWV0ZXJzLCBub2RlKTtcbiAgICAgIH1cbiAgICAgIGlmIChyZWZUcmFpbGluZ0NvbW1hUG9zLnZhbHVlICE9PSAtMSkge1xuICAgICAgICB0aGlzLmFkZEV4dHJhKG5vZGUsIFwidHJhaWxpbmdDb21tYVwiLCByZWZUcmFpbGluZ0NvbW1hUG9zLnZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJUU1R5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvblwiKTtcbiAgICB9XG5cbiAgICAvLyBOb3RlOiBJbiBUeXBlU2NyaXB0IGltcGxlbWVudGF0aW9uIHdlIG11c3QgcHJvdmlkZSBgeWllbGRDb250ZXh0YCBhbmQgYGF3YWl0Q29udGV4dGAsXG4gICAgLy8gYnV0IGhlcmUgaXQncyBhbHdheXMgZmFsc2UsIGJlY2F1c2UgdGhpcyBpcyBvbmx5IHVzZWQgZm9yIHR5cGVzLlxuICAgIHRzRmlsbFNpZ25hdHVyZShcbiAgICAgIHJldHVyblRva2VuOiBUb2tlblR5cGUsXG4gICAgICBzaWduYXR1cmU6IFVuZG9uZTxOLlRzU2lnbmF0dXJlRGVjbGFyYXRpb24+LFxuICAgICk6IHZvaWQge1xuICAgICAgLy8gQXJyb3cgZm5zICptdXN0KiBoYXZlIHJldHVybiB0b2tlbiAoYD0+YCkuIE5vcm1hbCBmdW5jdGlvbnMgY2FuIG9taXQgaXQuXG4gICAgICBjb25zdCByZXR1cm5Ub2tlblJlcXVpcmVkID0gcmV0dXJuVG9rZW4gPT09IHR0LmFycm93O1xuXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYmFiZWwvYmFiZWwvaXNzdWVzLzkyMzFcbiAgICAgIGNvbnN0IHBhcmFtc0tleSA9IHByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcgPyBcInBhcmFtc1wiIDogXCJwYXJhbWV0ZXJzXCI7XG4gICAgICBjb25zdCByZXR1cm5UeXBlS2V5ID0gcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lOR1xuICAgICAgICA/IFwicmV0dXJuVHlwZVwiXG4gICAgICAgIDogXCJ0eXBlQW5ub3RhdGlvblwiO1xuXG4gICAgICBzaWduYXR1cmUudHlwZVBhcmFtZXRlcnMgPSB0aGlzLnRzVHJ5UGFyc2VUeXBlUGFyYW1ldGVycyhcbiAgICAgICAgdGhpcy50c1BhcnNlQ29uc3RNb2RpZmllcixcbiAgICAgICk7XG4gICAgICB0aGlzLmV4cGVjdCh0dC5wYXJlbkwpO1xuICAgICAgc2lnbmF0dXJlW3BhcmFtc0tleV0gPSB0aGlzLnRzUGFyc2VCaW5kaW5nTGlzdEZvclNpZ25hdHVyZSgpO1xuICAgICAgaWYgKHJldHVyblRva2VuUmVxdWlyZWQpIHtcbiAgICAgICAgc2lnbmF0dXJlW3JldHVyblR5cGVLZXldID1cbiAgICAgICAgICB0aGlzLnRzUGFyc2VUeXBlT3JUeXBlUHJlZGljYXRlQW5ub3RhdGlvbihyZXR1cm5Ub2tlbik7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubWF0Y2gocmV0dXJuVG9rZW4pKSB7XG4gICAgICAgIHNpZ25hdHVyZVtyZXR1cm5UeXBlS2V5XSA9XG4gICAgICAgICAgdGhpcy50c1BhcnNlVHlwZU9yVHlwZVByZWRpY2F0ZUFubm90YXRpb24ocmV0dXJuVG9rZW4pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRzUGFyc2VCaW5kaW5nTGlzdEZvclNpZ25hdHVyZSgpOiBBcnJheTxcbiAgICAgIE4uSWRlbnRpZmllciB8IE4uUmVzdEVsZW1lbnQgfCBOLk9iamVjdFBhdHRlcm4gfCBOLkFycmF5UGF0dGVyblxuICAgID4ge1xuICAgICAgY29uc3QgbGlzdCA9IHN1cGVyLnBhcnNlQmluZGluZ0xpc3QoXG4gICAgICAgIHR0LnBhcmVuUixcbiAgICAgICAgY2hhckNvZGVzLnJpZ2h0UGFyZW50aGVzaXMsXG4gICAgICAgIFBhcnNlQmluZGluZ0xpc3RGbGFncy5JU19GVU5DVElPTl9QQVJBTVMsXG4gICAgICApO1xuICAgICAgZm9yIChjb25zdCBwYXR0ZXJuIG9mIGxpc3QpIHtcbiAgICAgICAgY29uc3QgeyB0eXBlIH0gPSBwYXR0ZXJuO1xuICAgICAgICBpZiAodHlwZSA9PT0gXCJBc3NpZ25tZW50UGF0dGVyblwiIHx8IHR5cGUgPT09IFwiVFNQYXJhbWV0ZXJQcm9wZXJ0eVwiKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShUU0Vycm9ycy5VbnN1cHBvcnRlZFNpZ25hdHVyZVBhcmFtZXRlcktpbmQsIHBhdHRlcm4sIHtcbiAgICAgICAgICAgIHR5cGUsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBsaXN0IGFzIEV4Y2x1ZGU8XG4gICAgICAgICh0eXBlb2YgbGlzdClbMF0sXG4gICAgICAgIE4uQXNzaWdubWVudFBhdHRlcm4gfCBOLlRTUGFyYW1ldGVyUHJvcGVydHlcbiAgICAgID5bXTtcbiAgICB9XG5cbiAgICB0c1BhcnNlVHlwZU1lbWJlclNlbWljb2xvbigpOiB2b2lkIHtcbiAgICAgIGlmICghdGhpcy5lYXQodHQuY29tbWEpICYmICF0aGlzLmlzTGluZVRlcm1pbmF0b3IoKSkge1xuICAgICAgICB0aGlzLmV4cGVjdCh0dC5zZW1pKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0c1BhcnNlU2lnbmF0dXJlTWVtYmVyKFxuICAgICAga2luZDogXCJUU0NhbGxTaWduYXR1cmVEZWNsYXJhdGlvblwiIHwgXCJUU0NvbnN0cnVjdFNpZ25hdHVyZURlY2xhcmF0aW9uXCIsXG4gICAgICBub2RlOiBVbmRvbmU8XG4gICAgICAgIE4uVHNDYWxsU2lnbmF0dXJlRGVjbGFyYXRpb24gfCBOLlRzQ29uc3RydWN0U2lnbmF0dXJlRGVjbGFyYXRpb25cbiAgICAgID4sXG4gICAgKTogTi5Uc0NhbGxTaWduYXR1cmVEZWNsYXJhdGlvbiB8IE4uVHNDb25zdHJ1Y3RTaWduYXR1cmVEZWNsYXJhdGlvbiB7XG4gICAgICB0aGlzLnRzRmlsbFNpZ25hdHVyZSh0dC5jb2xvbiwgbm9kZSk7XG4gICAgICB0aGlzLnRzUGFyc2VUeXBlTWVtYmVyU2VtaWNvbG9uKCk7XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIGtpbmQpO1xuICAgIH1cblxuICAgIHRzSXNVbmFtYmlndW91c2x5SW5kZXhTaWduYXR1cmUoKSB7XG4gICAgICB0aGlzLm5leHQoKTsgLy8gU2tpcCAneydcbiAgICAgIGlmICh0b2tlbklzSWRlbnRpZmllcih0aGlzLnN0YXRlLnR5cGUpKSB7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5tYXRjaCh0dC5jb2xvbik7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdHNUcnlQYXJzZUluZGV4U2lnbmF0dXJlKFxuICAgICAgbm9kZTogVW5kb25lPE4uVHNJbmRleFNpZ25hdHVyZT4sXG4gICAgKTogTi5Uc0luZGV4U2lnbmF0dXJlIHwgdW5kZWZpbmVkIHtcbiAgICAgIGlmIChcbiAgICAgICAgIShcbiAgICAgICAgICB0aGlzLm1hdGNoKHR0LmJyYWNrZXRMKSAmJlxuICAgICAgICAgIHRoaXMudHNMb29rQWhlYWQodGhpcy50c0lzVW5hbWJpZ3VvdXNseUluZGV4U2lnbmF0dXJlLmJpbmQodGhpcykpXG4gICAgICAgIClcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZXhwZWN0KHR0LmJyYWNrZXRMKTtcbiAgICAgIGNvbnN0IGlkID0gdGhpcy5wYXJzZUlkZW50aWZpZXIoKTtcbiAgICAgIGlkLnR5cGVBbm5vdGF0aW9uID0gdGhpcy50c1BhcnNlVHlwZUFubm90YXRpb24oKTtcbiAgICAgIHRoaXMucmVzZXRFbmRMb2NhdGlvbihpZCk7IC8vIHNldCBlbmQgcG9zaXRpb24gdG8gZW5kIG9mIHR5cGVcblxuICAgICAgdGhpcy5leHBlY3QodHQuYnJhY2tldFIpO1xuICAgICAgbm9kZS5wYXJhbWV0ZXJzID0gW2lkXTtcblxuICAgICAgY29uc3QgdHlwZSA9IHRoaXMudHNUcnlQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gICAgICBpZiAodHlwZSkgbm9kZS50eXBlQW5ub3RhdGlvbiA9IHR5cGU7XG4gICAgICB0aGlzLnRzUGFyc2VUeXBlTWVtYmVyU2VtaWNvbG9uKCk7XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVFNJbmRleFNpZ25hdHVyZVwiKTtcbiAgICB9XG5cbiAgICB0c1BhcnNlUHJvcGVydHlPck1ldGhvZFNpZ25hdHVyZShcbiAgICAgIG5vZGU6IE4uVHNQcm9wZXJ0eVNpZ25hdHVyZSB8IE4uVHNNZXRob2RTaWduYXR1cmUsXG4gICAgICByZWFkb25seTogYm9vbGVhbixcbiAgICApOiBOLlRzUHJvcGVydHlTaWduYXR1cmUgfCBOLlRzTWV0aG9kU2lnbmF0dXJlIHtcbiAgICAgIGlmICh0aGlzLmVhdCh0dC5xdWVzdGlvbikpIG5vZGUub3B0aW9uYWwgPSB0cnVlO1xuICAgICAgY29uc3Qgbm9kZUFueTogYW55ID0gbm9kZTtcblxuICAgICAgaWYgKHRoaXMubWF0Y2godHQucGFyZW5MKSB8fCB0aGlzLm1hdGNoKHR0Lmx0KSkge1xuICAgICAgICBpZiAocmVhZG9ubHkpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLlJlYWRvbmx5Rm9yTWV0aG9kU2lnbmF0dXJlLCBub2RlKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBtZXRob2Q6IE4uVHNNZXRob2RTaWduYXR1cmUgPSBub2RlQW55O1xuICAgICAgICBpZiAobWV0aG9kLmtpbmQgJiYgdGhpcy5tYXRjaCh0dC5sdCkpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgICAgVFNFcnJvcnMuQWNjZXNzb3JDYW5ub3RIYXZlVHlwZVBhcmFtZXRlcnMsXG4gICAgICAgICAgICB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCksXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnRzRmlsbFNpZ25hdHVyZSh0dC5jb2xvbiwgbWV0aG9kKTtcbiAgICAgICAgdGhpcy50c1BhcnNlVHlwZU1lbWJlclNlbWljb2xvbigpO1xuICAgICAgICBjb25zdCBwYXJhbXNLZXkgPSBwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HXG4gICAgICAgICAgPyBcInBhcmFtc1wiXG4gICAgICAgICAgOiBcInBhcmFtZXRlcnNcIjtcbiAgICAgICAgY29uc3QgcmV0dXJuVHlwZUtleSA9IHByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkdcbiAgICAgICAgICA/IFwicmV0dXJuVHlwZVwiXG4gICAgICAgICAgOiBcInR5cGVBbm5vdGF0aW9uXCI7XG4gICAgICAgIGlmIChtZXRob2Qua2luZCA9PT0gXCJnZXRcIikge1xuICAgICAgICAgIGlmIChtZXRob2RbcGFyYW1zS2V5XS5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5CYWRHZXR0ZXJBcml0eSwgdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzVGhpc1BhcmFtKG1ldGhvZFtwYXJhbXNLZXldWzBdKSkge1xuICAgICAgICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgICAgICAgIFRTRXJyb3JzLkFjY2Vzc29yQ2Fubm90RGVjbGFyZVRoaXNQYXJhbWV0ZXIsXG4gICAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpLFxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmIChtZXRob2Qua2luZCA9PT0gXCJzZXRcIikge1xuICAgICAgICAgIGlmIChtZXRob2RbcGFyYW1zS2V5XS5sZW5ndGggIT09IDEpIHtcbiAgICAgICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkJhZFNldHRlckFyaXR5LCB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCBmaXJzdFBhcmFtZXRlciA9IG1ldGhvZFtwYXJhbXNLZXldWzBdO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNUaGlzUGFyYW0oZmlyc3RQYXJhbWV0ZXIpKSB7XG4gICAgICAgICAgICAgIHRoaXMucmFpc2UoXG4gICAgICAgICAgICAgICAgVFNFcnJvcnMuQWNjZXNzb3JDYW5ub3REZWNsYXJlVGhpc1BhcmFtZXRlcixcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIGZpcnN0UGFyYW1ldGVyLnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmXG4gICAgICAgICAgICAgIGZpcnN0UGFyYW1ldGVyLm9wdGlvbmFsXG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICAgICAgICBUU0Vycm9ycy5TZXRBY2Nlc3NvckNhbm5vdEhhdmVPcHRpb25hbFBhcmFtZXRlcixcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoZmlyc3RQYXJhbWV0ZXIudHlwZSA9PT0gXCJSZXN0RWxlbWVudFwiKSB7XG4gICAgICAgICAgICAgIHRoaXMucmFpc2UoXG4gICAgICAgICAgICAgICAgVFNFcnJvcnMuU2V0QWNjZXNzb3JDYW5ub3RIYXZlUmVzdFBhcmFtZXRlcixcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCksXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChtZXRob2RbcmV0dXJuVHlwZUtleV0pIHtcbiAgICAgICAgICAgIHRoaXMucmFpc2UoXG4gICAgICAgICAgICAgIFRTRXJyb3JzLlNldEFjY2Vzc29yQ2Fubm90SGF2ZVJldHVyblR5cGUsXG4gICAgICAgICAgICAgIG1ldGhvZFtyZXR1cm5UeXBlS2V5XSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG1ldGhvZC5raW5kID0gXCJtZXRob2RcIjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG1ldGhvZCwgXCJUU01ldGhvZFNpZ25hdHVyZVwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHByb3BlcnR5OiBOLlRzUHJvcGVydHlTaWduYXR1cmUgPSBub2RlQW55O1xuICAgICAgICBpZiAocmVhZG9ubHkpIHByb3BlcnR5LnJlYWRvbmx5ID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgdHlwZSA9IHRoaXMudHNUcnlQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gICAgICAgIGlmICh0eXBlKSBwcm9wZXJ0eS50eXBlQW5ub3RhdGlvbiA9IHR5cGU7XG4gICAgICAgIHRoaXMudHNQYXJzZVR5cGVNZW1iZXJTZW1pY29sb24oKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShwcm9wZXJ0eSwgXCJUU1Byb3BlcnR5U2lnbmF0dXJlXCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRzUGFyc2VUeXBlTWVtYmVyKCk6IE4uVHNUeXBlRWxlbWVudCB7XG4gICAgICBjb25zdCBub2RlOiBhbnkgPSB0aGlzLnN0YXJ0Tm9kZSgpO1xuXG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5wYXJlbkwpIHx8IHRoaXMubWF0Y2godHQubHQpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VTaWduYXR1cmVNZW1iZXIoXCJUU0NhbGxTaWduYXR1cmVEZWNsYXJhdGlvblwiLCBub2RlKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMubWF0Y2godHQuX25ldykpIHtcbiAgICAgICAgY29uc3QgaWQgPSB0aGlzLnN0YXJ0Tm9kZTxOLklkZW50aWZpZXI+KCk7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICBpZiAodGhpcy5tYXRjaCh0dC5wYXJlbkwpIHx8IHRoaXMubWF0Y2godHQubHQpKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMudHNQYXJzZVNpZ25hdHVyZU1lbWJlcihcbiAgICAgICAgICAgIFwiVFNDb25zdHJ1Y3RTaWduYXR1cmVEZWNsYXJhdGlvblwiLFxuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vZGUua2V5ID0gdGhpcy5jcmVhdGVJZGVudGlmaWVyKGlkLCBcIm5ld1wiKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy50c1BhcnNlUHJvcGVydHlPck1ldGhvZFNpZ25hdHVyZShub2RlLCBmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy50c1BhcnNlTW9kaWZpZXJzKFxuICAgICAgICB7XG4gICAgICAgICAgYWxsb3dlZE1vZGlmaWVyczogW1wicmVhZG9ubHlcIl0sXG4gICAgICAgICAgZGlzYWxsb3dlZE1vZGlmaWVyczogW1xuICAgICAgICAgICAgXCJkZWNsYXJlXCIsXG4gICAgICAgICAgICBcImFic3RyYWN0XCIsXG4gICAgICAgICAgICBcInByaXZhdGVcIixcbiAgICAgICAgICAgIFwicHJvdGVjdGVkXCIsXG4gICAgICAgICAgICBcInB1YmxpY1wiLFxuICAgICAgICAgICAgXCJzdGF0aWNcIixcbiAgICAgICAgICAgIFwib3ZlcnJpZGVcIixcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgICBub2RlLFxuICAgICAgKTtcblxuICAgICAgY29uc3QgaWR4ID0gdGhpcy50c1RyeVBhcnNlSW5kZXhTaWduYXR1cmUobm9kZSk7XG4gICAgICBpZiAoaWR4KSB7XG4gICAgICAgIHJldHVybiBpZHg7XG4gICAgICB9XG5cbiAgICAgIHN1cGVyLnBhcnNlUHJvcGVydHlOYW1lKG5vZGUpO1xuICAgICAgaWYgKFxuICAgICAgICAhbm9kZS5jb21wdXRlZCAmJlxuICAgICAgICBub2RlLmtleS50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgICAgICAobm9kZS5rZXkubmFtZSA9PT0gXCJnZXRcIiB8fCBub2RlLmtleS5uYW1lID09PSBcInNldFwiKSAmJlxuICAgICAgICB0aGlzLnRzVG9rZW5DYW5Gb2xsb3dNb2RpZmllcigpXG4gICAgICApIHtcbiAgICAgICAgbm9kZS5raW5kID0gbm9kZS5rZXkubmFtZTtcbiAgICAgICAgc3VwZXIucGFyc2VQcm9wZXJ0eU5hbWUobm9kZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy50c1BhcnNlUHJvcGVydHlPck1ldGhvZFNpZ25hdHVyZShub2RlLCAhIW5vZGUucmVhZG9ubHkpO1xuICAgIH1cblxuICAgIHRzUGFyc2VUeXBlTGl0ZXJhbCgpOiBOLlRzVHlwZUxpdGVyYWwge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uVHNUeXBlTGl0ZXJhbD4oKTtcbiAgICAgIG5vZGUubWVtYmVycyA9IHRoaXMudHNQYXJzZU9iamVjdFR5cGVNZW1iZXJzKCk7XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVFNUeXBlTGl0ZXJhbFwiKTtcbiAgICB9XG5cbiAgICB0c1BhcnNlT2JqZWN0VHlwZU1lbWJlcnMoKTogQXJyYXk8Ti5Uc1R5cGVFbGVtZW50PiB7XG4gICAgICB0aGlzLmV4cGVjdCh0dC5icmFjZUwpO1xuICAgICAgY29uc3QgbWVtYmVycyA9IHRoaXMudHNQYXJzZUxpc3QoXG4gICAgICAgIFwiVHlwZU1lbWJlcnNcIixcbiAgICAgICAgdGhpcy50c1BhcnNlVHlwZU1lbWJlci5iaW5kKHRoaXMpLFxuICAgICAgKTtcbiAgICAgIHRoaXMuZXhwZWN0KHR0LmJyYWNlUik7XG4gICAgICByZXR1cm4gbWVtYmVycztcbiAgICB9XG5cbiAgICB0c0lzU3RhcnRPZk1hcHBlZFR5cGUoKTogYm9vbGVhbiB7XG4gICAgICB0aGlzLm5leHQoKTtcbiAgICAgIGlmICh0aGlzLmVhdCh0dC5wbHVzTWluKSkge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0NvbnRleHR1YWwodHQuX3JlYWRvbmx5KTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLmlzQ29udGV4dHVhbCh0dC5fcmVhZG9ubHkpKSB7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgfVxuICAgICAgaWYgKCF0aGlzLm1hdGNoKHR0LmJyYWNrZXRMKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLm5leHQoKTtcbiAgICAgIGlmICghdGhpcy50c0lzSWRlbnRpZmllcigpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgcmV0dXJuIHRoaXMubWF0Y2godHQuX2luKTtcbiAgICB9XG5cbiAgICB0c1BhcnNlTWFwcGVkVHlwZSgpOiBOLlRzTWFwcGVkVHlwZSB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5Uc01hcHBlZFR5cGU+KCk7XG5cbiAgICAgIHRoaXMuZXhwZWN0KHR0LmJyYWNlTCk7XG5cbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LnBsdXNNaW4pKSB7XG4gICAgICAgIG5vZGUucmVhZG9ubHkgPSB0aGlzLnN0YXRlLnZhbHVlO1xuICAgICAgICB0aGlzLm5leHQoKTtcbiAgICAgICAgdGhpcy5leHBlY3RDb250ZXh0dWFsKHR0Ll9yZWFkb25seSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZWF0Q29udGV4dHVhbCh0dC5fcmVhZG9ubHkpKSB7XG4gICAgICAgIG5vZGUucmVhZG9ubHkgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmV4cGVjdCh0dC5icmFja2V0TCk7XG4gICAgICBpZiAocHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORykge1xuICAgICAgICBub2RlLmtleSA9IHRoaXMudHNQYXJzZVR5cGVQYXJhbWV0ZXJOYW1lKCkgYXMgTi5JZGVudGlmaWVyO1xuICAgICAgICBub2RlLmNvbnN0cmFpbnQgPSB0aGlzLnRzRXhwZWN0VGhlblBhcnNlVHlwZSh0dC5faW4pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgdHlwZVBhcmFtZXRlciA9IHRoaXMuc3RhcnROb2RlPE4uVHNUeXBlUGFyYW1ldGVyPigpO1xuICAgICAgICB0eXBlUGFyYW1ldGVyLm5hbWUgPSB0aGlzLnRzUGFyc2VUeXBlUGFyYW1ldGVyTmFtZSgpO1xuICAgICAgICB0eXBlUGFyYW1ldGVyLmNvbnN0cmFpbnQgPSB0aGlzLnRzRXhwZWN0VGhlblBhcnNlVHlwZSh0dC5faW4pO1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGZvciBCYWJlbCA3XG4gICAgICAgIG5vZGUudHlwZVBhcmFtZXRlciA9IHRoaXMuZmluaXNoTm9kZSh0eXBlUGFyYW1ldGVyLCBcIlRTVHlwZVBhcmFtZXRlclwiKTtcbiAgICAgIH1cbiAgICAgIG5vZGUubmFtZVR5cGUgPSB0aGlzLmVhdENvbnRleHR1YWwodHQuX2FzKSA/IHRoaXMudHNQYXJzZVR5cGUoKSA6IG51bGw7XG5cbiAgICAgIHRoaXMuZXhwZWN0KHR0LmJyYWNrZXRSKTtcblxuICAgICAgaWYgKHRoaXMubWF0Y2godHQucGx1c01pbikpIHtcbiAgICAgICAgbm9kZS5vcHRpb25hbCA9IHRoaXMuc3RhdGUudmFsdWU7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICB0aGlzLmV4cGVjdCh0dC5xdWVzdGlvbik7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZWF0KHR0LnF1ZXN0aW9uKSkge1xuICAgICAgICBub2RlLm9wdGlvbmFsID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgbm9kZS50eXBlQW5ub3RhdGlvbiA9IHRoaXMudHNUcnlQYXJzZVR5cGUoKTtcbiAgICAgIHRoaXMuc2VtaWNvbG9uKCk7XG4gICAgICB0aGlzLmV4cGVjdCh0dC5icmFjZVIpO1xuXG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVFNNYXBwZWRUeXBlXCIpO1xuICAgIH1cblxuICAgIHRzUGFyc2VUdXBsZVR5cGUoKTogTi5Uc1R1cGxlVHlwZSB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5Uc1R1cGxlVHlwZT4oKTtcbiAgICAgIG5vZGUuZWxlbWVudFR5cGVzID0gdGhpcy50c1BhcnNlQnJhY2tldGVkTGlzdChcbiAgICAgICAgXCJUdXBsZUVsZW1lbnRUeXBlc1wiLFxuICAgICAgICB0aGlzLnRzUGFyc2VUdXBsZUVsZW1lbnRUeXBlLmJpbmQodGhpcyksXG4gICAgICAgIC8qIGJyYWNrZXQgKi8gdHJ1ZSxcbiAgICAgICAgLyogc2tpcEZpcnN0VG9rZW4gKi8gZmFsc2UsXG4gICAgICApO1xuXG4gICAgICAvLyBWYWxpZGF0ZSB0aGUgZWxlbWVudFR5cGVzIHRvIGVuc3VyZSB0aGF0IG5vIG1hbmRhdG9yeSBlbGVtZW50c1xuICAgICAgLy8gZm9sbG93IG9wdGlvbmFsIGVsZW1lbnRzXG4gICAgICBsZXQgc2Vlbk9wdGlvbmFsRWxlbWVudCA9IGZhbHNlO1xuICAgICAgbm9kZS5lbGVtZW50VHlwZXMuZm9yRWFjaChlbGVtZW50Tm9kZSA9PiB7XG4gICAgICAgIGNvbnN0IHsgdHlwZSB9ID0gZWxlbWVudE5vZGU7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHNlZW5PcHRpb25hbEVsZW1lbnQgJiZcbiAgICAgICAgICB0eXBlICE9PSBcIlRTUmVzdFR5cGVcIiAmJlxuICAgICAgICAgIHR5cGUgIT09IFwiVFNPcHRpb25hbFR5cGVcIiAmJlxuICAgICAgICAgICEodHlwZSA9PT0gXCJUU05hbWVkVHVwbGVNZW1iZXJcIiAmJiBlbGVtZW50Tm9kZS5vcHRpb25hbClcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShUU0Vycm9ycy5PcHRpb25hbFR5cGVCZWZvcmVSZXF1aXJlZCwgZWxlbWVudE5vZGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgc2Vlbk9wdGlvbmFsRWxlbWVudCB8fD1cbiAgICAgICAgICAodHlwZSA9PT0gXCJUU05hbWVkVHVwbGVNZW1iZXJcIiAmJiBlbGVtZW50Tm9kZS5vcHRpb25hbCkgfHxcbiAgICAgICAgICB0eXBlID09PSBcIlRTT3B0aW9uYWxUeXBlXCI7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTVHVwbGVUeXBlXCIpO1xuICAgIH1cblxuICAgIHRzUGFyc2VUdXBsZUVsZW1lbnRUeXBlKCk6IE4uVHNOYW1lZFR1cGxlTWVtYmVyIHwgTi5Uc1R5cGUge1xuICAgICAgLy8gcGFyc2VzIGAuLi5Uc1R5cGVbXWBcblxuICAgICAgY29uc3QgeyBzdGFydExvYyB9ID0gdGhpcy5zdGF0ZTtcblxuICAgICAgY29uc3QgcmVzdCA9IHRoaXMuZWF0KHR0LmVsbGlwc2lzKTtcblxuICAgICAgbGV0IGxhYmVsZWQ6IGJvb2xlYW47XG4gICAgICBsZXQgbGFiZWw6IE4uSWRlbnRpZmllcjtcbiAgICAgIGxldCBvcHRpb25hbDogYm9vbGVhbjtcbiAgICAgIGxldCB0eXBlOiBOLlRzTmFtZWRUdXBsZU1lbWJlciB8IE4uVHNUeXBlO1xuXG4gICAgICBjb25zdCBpc1dvcmQgPSB0b2tlbklzS2V5d29yZE9ySWRlbnRpZmllcih0aGlzLnN0YXRlLnR5cGUpO1xuICAgICAgY29uc3QgY2hBZnRlcldvcmQgPSBpc1dvcmQgPyB0aGlzLmxvb2thaGVhZENoYXJDb2RlKCkgOiBudWxsO1xuICAgICAgaWYgKGNoQWZ0ZXJXb3JkID09PSBjaGFyQ29kZXMuY29sb24pIHtcbiAgICAgICAgbGFiZWxlZCA9IHRydWU7XG4gICAgICAgIG9wdGlvbmFsID0gZmFsc2U7XG4gICAgICAgIGxhYmVsID0gdGhpcy5wYXJzZUlkZW50aWZpZXIodHJ1ZSk7XG4gICAgICAgIHRoaXMuZXhwZWN0KHR0LmNvbG9uKTtcbiAgICAgICAgdHlwZSA9IHRoaXMudHNQYXJzZVR5cGUoKTtcbiAgICAgIH0gZWxzZSBpZiAoY2hBZnRlcldvcmQgPT09IGNoYXJDb2Rlcy5xdWVzdGlvbk1hcmspIHtcbiAgICAgICAgb3B0aW9uYWwgPSB0cnVlO1xuICAgICAgICBjb25zdCBzdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgICAgIGNvbnN0IHdvcmROYW1lID0gdGhpcy5zdGF0ZS52YWx1ZTtcbiAgICAgICAgY29uc3QgdHlwZU9yTGFiZWwgPSB0aGlzLnRzUGFyc2VOb25BcnJheVR5cGUoKTtcblxuICAgICAgICBpZiAodGhpcy5sb29rYWhlYWRDaGFyQ29kZSgpID09PSBjaGFyQ29kZXMuY29sb24pIHtcbiAgICAgICAgICBsYWJlbGVkID0gdHJ1ZTtcbiAgICAgICAgICBsYWJlbCA9IHRoaXMuY3JlYXRlSWRlbnRpZmllcihcbiAgICAgICAgICAgIHRoaXMuc3RhcnROb2RlQXQ8Ti5JZGVudGlmaWVyPihzdGFydExvYyksXG4gICAgICAgICAgICB3b3JkTmFtZSxcbiAgICAgICAgICApO1xuICAgICAgICAgIHRoaXMuZXhwZWN0KHR0LnF1ZXN0aW9uKTtcbiAgICAgICAgICB0aGlzLmV4cGVjdCh0dC5jb2xvbik7XG4gICAgICAgICAgdHlwZSA9IHRoaXMudHNQYXJzZVR5cGUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBsYWJlbGVkID0gZmFsc2U7XG4gICAgICAgICAgdHlwZSA9IHR5cGVPckxhYmVsO1xuICAgICAgICAgIHRoaXMuZXhwZWN0KHR0LnF1ZXN0aW9uKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdHlwZSA9IHRoaXMudHNQYXJzZVR5cGUoKTtcbiAgICAgICAgb3B0aW9uYWwgPSB0aGlzLmVhdCh0dC5xdWVzdGlvbik7XG4gICAgICAgIC8vIEluIHRoaXMgY2FzZSAobGFiZWxlZCA9PT0gdHJ1ZSkgY291bGQgYmUgb25seSBpbiBpbnZhbGlkIGxhYmVsLlxuICAgICAgICAvLyBFLmcuIFt4Lnk6dHlwZV1cbiAgICAgICAgLy8gQW4gZXJyb3IgaXMgcmFpc2VkIHdoaWxlIHByb2Nlc3Npbmcgbm9kZS5cbiAgICAgICAgbGFiZWxlZCA9IHRoaXMuZWF0KHR0LmNvbG9uKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGxhYmVsZWQpIHtcbiAgICAgICAgbGV0IGxhYmVsZWROb2RlOiBVbmRvbmU8Ti5Uc05hbWVkVHVwbGVNZW1iZXI+O1xuICAgICAgICBpZiAobGFiZWwpIHtcbiAgICAgICAgICBsYWJlbGVkTm9kZSA9IHRoaXMuc3RhcnROb2RlQXROb2RlPE4uVHNOYW1lZFR1cGxlTWVtYmVyPihsYWJlbCk7XG4gICAgICAgICAgbGFiZWxlZE5vZGUub3B0aW9uYWwgPSBvcHRpb25hbDtcbiAgICAgICAgICBsYWJlbGVkTm9kZS5sYWJlbCA9IGxhYmVsO1xuICAgICAgICAgIGxhYmVsZWROb2RlLmVsZW1lbnRUeXBlID0gdHlwZTtcblxuICAgICAgICAgIGlmICh0aGlzLmVhdCh0dC5xdWVzdGlvbikpIHtcbiAgICAgICAgICAgIGxhYmVsZWROb2RlLm9wdGlvbmFsID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMucmFpc2UoXG4gICAgICAgICAgICAgIFRTRXJyb3JzLlR1cGxlT3B0aW9uYWxBZnRlclR5cGUsXG4gICAgICAgICAgICAgIHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGFiZWxlZE5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0Tm9kZTxOLlRzTmFtZWRUdXBsZU1lbWJlcj4odHlwZSk7XG4gICAgICAgICAgbGFiZWxlZE5vZGUub3B0aW9uYWwgPSBvcHRpb25hbDtcbiAgICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLkludmFsaWRUdXBsZU1lbWJlckxhYmVsLCB0eXBlKTtcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFRoaXMgcHJvZHVjZXMgYW4gaW52YWxpZCBBU1QsIGJ1dCBhdCBsZWFzdCB3ZSBkb24ndCBkcm9wXG4gICAgICAgICAgLy8gbm9kZXMgcmVwcmVzZW50aW5nIHRoZSBpbnZhbGlkIHNvdXJjZS5cbiAgICAgICAgICBsYWJlbGVkTm9kZS5sYWJlbCA9IHR5cGU7XG4gICAgICAgICAgbGFiZWxlZE5vZGUuZWxlbWVudFR5cGUgPSB0aGlzLnRzUGFyc2VUeXBlKCk7XG4gICAgICAgIH1cbiAgICAgICAgdHlwZSA9IHRoaXMuZmluaXNoTm9kZShsYWJlbGVkTm9kZSwgXCJUU05hbWVkVHVwbGVNZW1iZXJcIik7XG4gICAgICB9IGVsc2UgaWYgKG9wdGlvbmFsKSB7XG4gICAgICAgIGNvbnN0IG9wdGlvbmFsVHlwZU5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0Tm9kZTxOLlRzT3B0aW9uYWxUeXBlPih0eXBlKTtcbiAgICAgICAgb3B0aW9uYWxUeXBlTm9kZS50eXBlQW5ub3RhdGlvbiA9IHR5cGU7XG4gICAgICAgIHR5cGUgPSB0aGlzLmZpbmlzaE5vZGUob3B0aW9uYWxUeXBlTm9kZSwgXCJUU09wdGlvbmFsVHlwZVwiKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlc3QpIHtcbiAgICAgICAgY29uc3QgcmVzdE5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uVHNSZXN0VHlwZT4oc3RhcnRMb2MpO1xuICAgICAgICByZXN0Tm9kZS50eXBlQW5ub3RhdGlvbiA9IHR5cGU7XG4gICAgICAgIHR5cGUgPSB0aGlzLmZpbmlzaE5vZGUocmVzdE5vZGUsIFwiVFNSZXN0VHlwZVwiKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHR5cGU7XG4gICAgfVxuXG4gICAgdHNQYXJzZVBhcmVudGhlc2l6ZWRUeXBlKCk6IE4uVHNQYXJlbnRoZXNpemVkVHlwZSB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5Uc1BhcmVudGhlc2l6ZWRUeXBlPigpO1xuICAgICAgdGhpcy5leHBlY3QodHQucGFyZW5MKTtcbiAgICAgIG5vZGUudHlwZUFubm90YXRpb24gPSB0aGlzLnRzUGFyc2VUeXBlKCk7XG4gICAgICB0aGlzLmV4cGVjdCh0dC5wYXJlblIpO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTUGFyZW50aGVzaXplZFR5cGVcIik7XG4gICAgfVxuXG4gICAgdHNQYXJzZUZ1bmN0aW9uT3JDb25zdHJ1Y3RvclR5cGUoXG4gICAgICB0eXBlOiBcIlRTRnVuY3Rpb25UeXBlXCIgfCBcIlRTQ29uc3RydWN0b3JUeXBlXCIsXG4gICAgICBhYnN0cmFjdD86IGJvb2xlYW4sXG4gICAgKTogTi5Uc0Z1bmN0aW9uT3JDb25zdHJ1Y3RvclR5cGUge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPFxuICAgICAgICBOLlRzRnVuY3Rpb25PckNvbnN0cnVjdG9yVHlwZSB8IE4uVHNDb25zdHJ1Y3RvclR5cGVcbiAgICAgID4oKTtcbiAgICAgIGlmICh0eXBlID09PSBcIlRTQ29uc3RydWN0b3JUeXBlXCIpIHtcbiAgICAgICAgKG5vZGUgYXMgVW5kb25lPE4uVHNDb25zdHJ1Y3RvclR5cGU+KS5hYnN0cmFjdCA9ICEhYWJzdHJhY3Q7XG4gICAgICAgIGlmIChhYnN0cmFjdCkgdGhpcy5uZXh0KCk7XG4gICAgICAgIHRoaXMubmV4dCgpOyAvLyBlYXQgYG5ld2BcbiAgICAgIH1cbiAgICAgIHRoaXMudHNJbkFsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQoKCkgPT5cbiAgICAgICAgdGhpcy50c0ZpbGxTaWduYXR1cmUodHQuYXJyb3csIG5vZGUpLFxuICAgICAgKTtcbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgdHlwZSk7XG4gICAgfVxuXG4gICAgdHNQYXJzZUxpdGVyYWxUeXBlTm9kZSgpOiBOLlRzTGl0ZXJhbFR5cGUge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uVHNMaXRlcmFsVHlwZT4oKTtcbiAgICAgIHN3aXRjaCAodGhpcy5zdGF0ZS50eXBlKSB7XG4gICAgICAgIGNhc2UgdHQubnVtOlxuICAgICAgICBjYXNlIHR0LmJpZ2ludDpcbiAgICAgICAgY2FzZSB0dC5zdHJpbmc6XG4gICAgICAgIGNhc2UgdHQuX3RydWU6XG4gICAgICAgIGNhc2UgdHQuX2ZhbHNlOlxuICAgICAgICAgIC8vIEZvciBjb21wYXRpYmlsaXR5IHRvIGVzdHJlZSB3ZSBjYW5ub3QgY2FsbCBwYXJzZUxpdGVyYWwgZGlyZWN0bHkgaGVyZVxuICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgcmVmaW5lIHR5cGluZ3NcbiAgICAgICAgICBub2RlLmxpdGVyYWwgPSBzdXBlci5wYXJzZUV4cHJBdG9tKCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVFNMaXRlcmFsVHlwZVwiKTtcbiAgICB9XG5cbiAgICB0c1BhcnNlVGVtcGxhdGVMaXRlcmFsVHlwZSgpOiBOLlRzVHlwZSB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5Uc0xpdGVyYWxUeXBlPigpO1xuICAgICAgbm9kZS5saXRlcmFsID0gc3VwZXIucGFyc2VUZW1wbGF0ZShmYWxzZSk7XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVFNMaXRlcmFsVHlwZVwiKTtcbiAgICB9XG5cbiAgICBwYXJzZVRlbXBsYXRlU3Vic3RpdHV0aW9uKCk6IE4uVHNUeXBlIHwgTi5FeHByZXNzaW9uIHtcbiAgICAgIGlmICh0aGlzLnN0YXRlLmluVHlwZSkgcmV0dXJuIHRoaXMudHNQYXJzZVR5cGUoKTtcbiAgICAgIHJldHVybiBzdXBlci5wYXJzZVRlbXBsYXRlU3Vic3RpdHV0aW9uKCk7XG4gICAgfVxuXG4gICAgdHNQYXJzZVRoaXNUeXBlT3JUaGlzVHlwZVByZWRpY2F0ZSgpOiBOLlRzVGhpc1R5cGUgfCBOLlRzVHlwZVByZWRpY2F0ZSB7XG4gICAgICBjb25zdCB0aGlzS2V5d29yZCA9IHRoaXMudHNQYXJzZVRoaXNUeXBlTm9kZSgpO1xuICAgICAgaWYgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9pcykgJiYgIXRoaXMuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHNQYXJzZVRoaXNUeXBlUHJlZGljYXRlKHRoaXNLZXl3b3JkKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB0aGlzS2V5d29yZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0c1BhcnNlTm9uQXJyYXlUeXBlKCk6IE4uVHNUeXBlIHtcbiAgICAgIHN3aXRjaCAodGhpcy5zdGF0ZS50eXBlKSB7XG4gICAgICAgIGNhc2UgdHQuc3RyaW5nOlxuICAgICAgICBjYXNlIHR0Lm51bTpcbiAgICAgICAgY2FzZSB0dC5iaWdpbnQ6XG4gICAgICAgIGNhc2UgdHQuX3RydWU6XG4gICAgICAgIGNhc2UgdHQuX2ZhbHNlOlxuICAgICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VMaXRlcmFsVHlwZU5vZGUoKTtcbiAgICAgICAgY2FzZSB0dC5wbHVzTWluOlxuICAgICAgICAgIGlmICh0aGlzLnN0YXRlLnZhbHVlID09PSBcIi1cIikge1xuICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uVHNMaXRlcmFsVHlwZT4oKTtcbiAgICAgICAgICAgIGNvbnN0IG5leHRUb2tlbiA9IHRoaXMubG9va2FoZWFkKCk7XG4gICAgICAgICAgICBpZiAobmV4dFRva2VuLnR5cGUgIT09IHR0Lm51bSAmJiBuZXh0VG9rZW4udHlwZSAhPT0gdHQuYmlnaW50KSB7XG4gICAgICAgICAgICAgIHRoaXMudW5leHBlY3RlZCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogcGFyc2VNYXliZVVuYXJ5IG11c3QgcmV0dXJucyB1bmFyeSBleHByZXNzaW9uXG4gICAgICAgICAgICBub2RlLmxpdGVyYWwgPSB0aGlzLnBhcnNlTWF5YmVVbmFyeSgpO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTTGl0ZXJhbFR5cGVcIik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIHR0Ll90aGlzOlxuICAgICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VUaGlzVHlwZU9yVGhpc1R5cGVQcmVkaWNhdGUoKTtcbiAgICAgICAgY2FzZSB0dC5fdHlwZW9mOlxuICAgICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VUeXBlUXVlcnkoKTtcbiAgICAgICAgY2FzZSB0dC5faW1wb3J0OlxuICAgICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VJbXBvcnRUeXBlKCk7XG4gICAgICAgIGNhc2UgdHQuYnJhY2VMOlxuICAgICAgICAgIHJldHVybiB0aGlzLnRzTG9va0FoZWFkKHRoaXMudHNJc1N0YXJ0T2ZNYXBwZWRUeXBlLmJpbmQodGhpcykpXG4gICAgICAgICAgICA/IHRoaXMudHNQYXJzZU1hcHBlZFR5cGUoKVxuICAgICAgICAgICAgOiB0aGlzLnRzUGFyc2VUeXBlTGl0ZXJhbCgpO1xuICAgICAgICBjYXNlIHR0LmJyYWNrZXRMOlxuICAgICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VUdXBsZVR5cGUoKTtcbiAgICAgICAgY2FzZSB0dC5wYXJlbkw6XG4gICAgICAgICAgaWYgKHByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcpIHtcbiAgICAgICAgICAgIGlmICghdGhpcy5vcHRpb25zLmNyZWF0ZVBhcmVudGhlc2l6ZWRFeHByZXNzaW9ucykge1xuICAgICAgICAgICAgICBjb25zdCBzdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgICAgICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICAgICAgICBjb25zdCB0eXBlID0gdGhpcy50c1BhcnNlVHlwZSgpO1xuICAgICAgICAgICAgICB0aGlzLmV4cGVjdCh0dC5wYXJlblIpO1xuICAgICAgICAgICAgICB0aGlzLmFkZEV4dHJhKHR5cGUsIFwicGFyZW50aGVzaXplZFwiLCB0cnVlKTtcbiAgICAgICAgICAgICAgdGhpcy5hZGRFeHRyYSh0eXBlLCBcInBhcmVuU3RhcnRcIiwgc3RhcnRMb2MuaW5kZXgpO1xuICAgICAgICAgICAgICByZXR1cm4gdHlwZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdGhpcy50c1BhcnNlUGFyZW50aGVzaXplZFR5cGUoKTtcbiAgICAgICAgY2FzZSB0dC50ZW1wbGF0ZU5vblRhaWw6XG4gICAgICAgIGNhc2UgdHQudGVtcGxhdGVUYWlsOlxuICAgICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VUZW1wbGF0ZUxpdGVyYWxUeXBlKCk7XG4gICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICBjb25zdCB7IHR5cGUgfSA9IHRoaXMuc3RhdGU7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdG9rZW5Jc0lkZW50aWZpZXIodHlwZSkgfHxcbiAgICAgICAgICAgIHR5cGUgPT09IHR0Ll92b2lkIHx8XG4gICAgICAgICAgICB0eXBlID09PSB0dC5fbnVsbFxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3Qgbm9kZVR5cGUgPVxuICAgICAgICAgICAgICB0eXBlID09PSB0dC5fdm9pZFxuICAgICAgICAgICAgICAgID8gXCJUU1ZvaWRLZXl3b3JkXCJcbiAgICAgICAgICAgICAgICA6IHR5cGUgPT09IHR0Ll9udWxsXG4gICAgICAgICAgICAgICAgICA/IFwiVFNOdWxsS2V5d29yZFwiXG4gICAgICAgICAgICAgICAgICA6IGtleXdvcmRUeXBlRnJvbU5hbWUodGhpcy5zdGF0ZS52YWx1ZSk7XG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIG5vZGVUeXBlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgICAgICAgdGhpcy5sb29rYWhlYWRDaGFyQ29kZSgpICE9PSBjaGFyQ29kZXMuZG90XG4gICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uVHNLZXl3b3JkVHlwZT4oKTtcbiAgICAgICAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgbm9kZVR5cGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHNQYXJzZVR5cGVSZWZlcmVuY2UoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgfVxuXG4gICAgdHNQYXJzZUFycmF5VHlwZU9ySGlnaGVyKCk6IE4uVHNUeXBlIHtcbiAgICAgIGxldCB0eXBlID0gdGhpcy50c1BhcnNlTm9uQXJyYXlUeXBlKCk7XG4gICAgICB3aGlsZSAoIXRoaXMuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkgJiYgdGhpcy5lYXQodHQuYnJhY2tldEwpKSB7XG4gICAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmJyYWNrZXRSKSkge1xuICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0Tm9kZTxOLlRzQXJyYXlUeXBlPih0eXBlKTtcbiAgICAgICAgICBub2RlLmVsZW1lbnRUeXBlID0gdHlwZTtcbiAgICAgICAgICB0aGlzLmV4cGVjdCh0dC5icmFja2V0Uik7XG4gICAgICAgICAgdHlwZSA9IHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTQXJyYXlUeXBlXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0Tm9kZTxOLlRzSW5kZXhlZEFjY2Vzc1R5cGU+KHR5cGUpO1xuICAgICAgICAgIG5vZGUub2JqZWN0VHlwZSA9IHR5cGU7XG4gICAgICAgICAgbm9kZS5pbmRleFR5cGUgPSB0aGlzLnRzUGFyc2VUeXBlKCk7XG4gICAgICAgICAgdGhpcy5leHBlY3QodHQuYnJhY2tldFIpO1xuICAgICAgICAgIHR5cGUgPSB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJUU0luZGV4ZWRBY2Nlc3NUeXBlXCIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHlwZTtcbiAgICB9XG5cbiAgICB0c1BhcnNlVHlwZU9wZXJhdG9yKCk6IE4uVHNUeXBlT3BlcmF0b3Ige1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uVHNUeXBlT3BlcmF0b3I+KCk7XG4gICAgICBjb25zdCBvcGVyYXRvciA9IHRoaXMuc3RhdGUudmFsdWU7XG4gICAgICB0aGlzLm5leHQoKTsgLy8gZWF0IG9wZXJhdG9yXG4gICAgICBub2RlLm9wZXJhdG9yID0gb3BlcmF0b3I7XG4gICAgICBub2RlLnR5cGVBbm5vdGF0aW9uID0gdGhpcy50c1BhcnNlVHlwZU9wZXJhdG9yT3JIaWdoZXIoKTtcblxuICAgICAgaWYgKG9wZXJhdG9yID09PSBcInJlYWRvbmx5XCIpIHtcbiAgICAgICAgdGhpcy50c0NoZWNrVHlwZUFubm90YXRpb25Gb3JSZWFkT25seShub2RlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTVHlwZU9wZXJhdG9yXCIpO1xuICAgIH1cblxuICAgIHRzQ2hlY2tUeXBlQW5ub3RhdGlvbkZvclJlYWRPbmx5KG5vZGU6IFVuZG9uZTxOLlRzVHlwZU9wZXJhdG9yPikge1xuICAgICAgc3dpdGNoIChub2RlLnR5cGVBbm5vdGF0aW9uLnR5cGUpIHtcbiAgICAgICAgY2FzZSBcIlRTVHVwbGVUeXBlXCI6XG4gICAgICAgIGNhc2UgXCJUU0FycmF5VHlwZVwiOlxuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLlVuZXhwZWN0ZWRSZWFkb25seSwgbm9kZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHNQYXJzZUluZmVyVHlwZSgpOiBOLlRzSW5mZXJUeXBlIHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLlRzSW5mZXJUeXBlPigpO1xuICAgICAgdGhpcy5leHBlY3RDb250ZXh0dWFsKHR0Ll9pbmZlcik7XG4gICAgICBjb25zdCB0eXBlUGFyYW1ldGVyID0gdGhpcy5zdGFydE5vZGU8Ti5Uc1R5cGVQYXJhbWV0ZXI+KCk7XG4gICAgICB0eXBlUGFyYW1ldGVyLm5hbWUgPSB0aGlzLnRzUGFyc2VUeXBlUGFyYW1ldGVyTmFtZSgpO1xuICAgICAgdHlwZVBhcmFtZXRlci5jb25zdHJhaW50ID0gdGhpcy50c1RyeVBhcnNlKCgpID0+XG4gICAgICAgIHRoaXMudHNQYXJzZUNvbnN0cmFpbnRGb3JJbmZlclR5cGUoKSxcbiAgICAgICk7XG4gICAgICBub2RlLnR5cGVQYXJhbWV0ZXIgPSB0aGlzLmZpbmlzaE5vZGUodHlwZVBhcmFtZXRlciwgXCJUU1R5cGVQYXJhbWV0ZXJcIik7XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVFNJbmZlclR5cGVcIik7XG4gICAgfVxuXG4gICAgdHNQYXJzZUNvbnN0cmFpbnRGb3JJbmZlclR5cGUoKSB7XG4gICAgICBpZiAodGhpcy5lYXQodHQuX2V4dGVuZHMpKSB7XG4gICAgICAgIGNvbnN0IGNvbnN0cmFpbnQgPSB0aGlzLnRzSW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0KCgpID0+XG4gICAgICAgICAgdGhpcy50c1BhcnNlVHlwZSgpLFxuICAgICAgICApO1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5zdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgfHxcbiAgICAgICAgICAhdGhpcy5tYXRjaCh0dC5xdWVzdGlvbilcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIGNvbnN0cmFpbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0c1BhcnNlVHlwZU9wZXJhdG9yT3JIaWdoZXIoKTogTi5Uc1R5cGUge1xuICAgICAgY29uc3QgaXNUeXBlT3BlcmF0b3IgPVxuICAgICAgICB0b2tlbklzVFNUeXBlT3BlcmF0b3IodGhpcy5zdGF0ZS50eXBlKSAmJiAhdGhpcy5zdGF0ZS5jb250YWluc0VzYztcbiAgICAgIHJldHVybiBpc1R5cGVPcGVyYXRvclxuICAgICAgICA/IHRoaXMudHNQYXJzZVR5cGVPcGVyYXRvcigpXG4gICAgICAgIDogdGhpcy5pc0NvbnRleHR1YWwodHQuX2luZmVyKVxuICAgICAgICAgID8gdGhpcy50c1BhcnNlSW5mZXJUeXBlKClcbiAgICAgICAgICA6IHRoaXMudHNJbkFsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQoKCkgPT5cbiAgICAgICAgICAgICAgdGhpcy50c1BhcnNlQXJyYXlUeXBlT3JIaWdoZXIoKSxcbiAgICAgICAgICAgICk7XG4gICAgfVxuXG4gICAgdHNQYXJzZVVuaW9uT3JJbnRlcnNlY3Rpb25UeXBlKFxuICAgICAga2luZDogXCJUU1VuaW9uVHlwZVwiIHwgXCJUU0ludGVyc2VjdGlvblR5cGVcIixcbiAgICAgIHBhcnNlQ29uc3RpdHVlbnRUeXBlOiAoKSA9PiBOLlRzVHlwZSxcbiAgICAgIG9wZXJhdG9yOiBUb2tlblR5cGUsXG4gICAgKTogTi5Uc1R5cGUge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uVHNVbmlvblR5cGUgfCBOLlRzSW50ZXJzZWN0aW9uVHlwZT4oKTtcbiAgICAgIGNvbnN0IGhhc0xlYWRpbmdPcGVyYXRvciA9IHRoaXMuZWF0KG9wZXJhdG9yKTtcbiAgICAgIGNvbnN0IHR5cGVzID0gW107XG4gICAgICBkbyB7XG4gICAgICAgIHR5cGVzLnB1c2gocGFyc2VDb25zdGl0dWVudFR5cGUoKSk7XG4gICAgICB9IHdoaWxlICh0aGlzLmVhdChvcGVyYXRvcikpO1xuICAgICAgaWYgKHR5cGVzLmxlbmd0aCA9PT0gMSAmJiAhaGFzTGVhZGluZ09wZXJhdG9yKSB7XG4gICAgICAgIHJldHVybiB0eXBlc1swXTtcbiAgICAgIH1cbiAgICAgIG5vZGUudHlwZXMgPSB0eXBlcztcbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwga2luZCk7XG4gICAgfVxuXG4gICAgdHNQYXJzZUludGVyc2VjdGlvblR5cGVPckhpZ2hlcigpOiBOLlRzVHlwZSB7XG4gICAgICByZXR1cm4gdGhpcy50c1BhcnNlVW5pb25PckludGVyc2VjdGlvblR5cGUoXG4gICAgICAgIFwiVFNJbnRlcnNlY3Rpb25UeXBlXCIsXG4gICAgICAgIHRoaXMudHNQYXJzZVR5cGVPcGVyYXRvck9ySGlnaGVyLmJpbmQodGhpcyksXG4gICAgICAgIHR0LmJpdHdpc2VBTkQsXG4gICAgICApO1xuICAgIH1cblxuICAgIHRzUGFyc2VVbmlvblR5cGVPckhpZ2hlcigpIHtcbiAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VVbmlvbk9ySW50ZXJzZWN0aW9uVHlwZShcbiAgICAgICAgXCJUU1VuaW9uVHlwZVwiLFxuICAgICAgICB0aGlzLnRzUGFyc2VJbnRlcnNlY3Rpb25UeXBlT3JIaWdoZXIuYmluZCh0aGlzKSxcbiAgICAgICAgdHQuYml0d2lzZU9SLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0c0lzU3RhcnRPZkZ1bmN0aW9uVHlwZSgpIHtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0Lmx0KSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMubWF0Y2godHQucGFyZW5MKSAmJlxuICAgICAgICB0aGlzLnRzTG9va0FoZWFkKHRoaXMudHNJc1VuYW1iaWd1b3VzbHlTdGFydE9mRnVuY3Rpb25UeXBlLmJpbmQodGhpcykpXG4gICAgICApO1xuICAgIH1cblxuICAgIHRzU2tpcFBhcmFtZXRlclN0YXJ0KCk6IGJvb2xlYW4ge1xuICAgICAgaWYgKHRva2VuSXNJZGVudGlmaWVyKHRoaXMuc3RhdGUudHlwZSkgfHwgdGhpcy5tYXRjaCh0dC5fdGhpcykpIHtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5icmFjZUwpKSB7XG4gICAgICAgIC8vIFJldHVybiB0cnVlIGlmIHdlIGNhbiBwYXJzZSBhbiBvYmplY3QgcGF0dGVybiB3aXRob3V0IGVycm9yc1xuICAgICAgICBjb25zdCB7IGVycm9ycyB9ID0gdGhpcy5zdGF0ZTtcbiAgICAgICAgY29uc3QgcHJldmlvdXNFcnJvckNvdW50ID0gZXJyb3JzLmxlbmd0aDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICB0aGlzLnBhcnNlT2JqZWN0TGlrZSh0dC5icmFjZVIsIHRydWUpO1xuICAgICAgICAgIHJldHVybiBlcnJvcnMubGVuZ3RoID09PSBwcmV2aW91c0Vycm9yQ291bnQ7XG4gICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5icmFja2V0TCkpIHtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIC8vIFJldHVybiB0cnVlIGlmIHdlIGNhbiBwYXJzZSBhbiBhcnJheSBwYXR0ZXJuIHdpdGhvdXQgZXJyb3JzXG4gICAgICAgIGNvbnN0IHsgZXJyb3JzIH0gPSB0aGlzLnN0YXRlO1xuICAgICAgICBjb25zdCBwcmV2aW91c0Vycm9yQ291bnQgPSBlcnJvcnMubGVuZ3RoO1xuICAgICAgICB0cnkge1xuICAgICAgICAgIHN1cGVyLnBhcnNlQmluZGluZ0xpc3QoXG4gICAgICAgICAgICB0dC5icmFja2V0UixcbiAgICAgICAgICAgIGNoYXJDb2Rlcy5yaWdodFNxdWFyZUJyYWNrZXQsXG4gICAgICAgICAgICBQYXJzZUJpbmRpbmdMaXN0RmxhZ3MuQUxMT1dfRU1QVFksXG4gICAgICAgICAgKTtcbiAgICAgICAgICByZXR1cm4gZXJyb3JzLmxlbmd0aCA9PT0gcHJldmlvdXNFcnJvckNvdW50O1xuICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHRzSXNVbmFtYmlndW91c2x5U3RhcnRPZkZ1bmN0aW9uVHlwZSgpOiBib29sZWFuIHtcbiAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgaWYgKHRoaXMubWF0Y2godHQucGFyZW5SKSB8fCB0aGlzLm1hdGNoKHR0LmVsbGlwc2lzKSkge1xuICAgICAgICAvLyAoIClcbiAgICAgICAgLy8gKCAuLi5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy50c1NraXBQYXJhbWV0ZXJTdGFydCgpKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLm1hdGNoKHR0LmNvbG9uKSB8fFxuICAgICAgICAgIHRoaXMubWF0Y2godHQuY29tbWEpIHx8XG4gICAgICAgICAgdGhpcy5tYXRjaCh0dC5xdWVzdGlvbikgfHxcbiAgICAgICAgICB0aGlzLm1hdGNoKHR0LmVxKVxuICAgICAgICApIHtcbiAgICAgICAgICAvLyAoIHh4eCA6XG4gICAgICAgICAgLy8gKCB4eHggLFxuICAgICAgICAgIC8vICggeHh4ID9cbiAgICAgICAgICAvLyAoIHh4eCA9XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMubWF0Y2godHQucGFyZW5SKSkge1xuICAgICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmFycm93KSkge1xuICAgICAgICAgICAgLy8gKCB4eHggKSA9PlxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgdHNQYXJzZVR5cGVPclR5cGVQcmVkaWNhdGVBbm5vdGF0aW9uKFxuICAgICAgcmV0dXJuVG9rZW46IFRva2VuVHlwZSxcbiAgICApOiBOLlRzVHlwZUFubm90YXRpb24ge1xuICAgICAgcmV0dXJuIHRoaXMudHNJblR5cGUoKCkgPT4ge1xuICAgICAgICBjb25zdCB0ID0gdGhpcy5zdGFydE5vZGU8Ti5Uc1R5cGVBbm5vdGF0aW9uPigpO1xuICAgICAgICB0aGlzLmV4cGVjdChyZXR1cm5Ub2tlbik7XG5cbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uVHNUeXBlUHJlZGljYXRlPigpO1xuXG4gICAgICAgIGNvbnN0IGFzc2VydHMgPSAhIXRoaXMudHNUcnlQYXJzZShcbiAgICAgICAgICB0aGlzLnRzUGFyc2VUeXBlUHJlZGljYXRlQXNzZXJ0cy5iaW5kKHRoaXMpLFxuICAgICAgICApO1xuXG4gICAgICAgIGlmIChhc3NlcnRzICYmIHRoaXMubWF0Y2godHQuX3RoaXMpKSB7XG4gICAgICAgICAgLy8gV2hlbiBhc3NlcnRzIGlzIGZhbHNlLCB0aGlzS2V5d29yZCBpcyBoYW5kbGVkIGJ5IHRzUGFyc2VOb25BcnJheVR5cGVcbiAgICAgICAgICAvLyA6IGFzc2VydHMgdGhpcyBpcyB0eXBlXG4gICAgICAgICAgbGV0IHRoaXNUeXBlUHJlZGljYXRlID0gdGhpcy50c1BhcnNlVGhpc1R5cGVPclRoaXNUeXBlUHJlZGljYXRlKCk7XG4gICAgICAgICAgLy8gaWYgaXQgdHVybnMgb3V0IHRvIGJlIGEgYFRTVGhpc1R5cGVgLCB3cmFwIGl0IHdpdGggYFRTVHlwZVByZWRpY2F0ZWBcbiAgICAgICAgICAvLyA6IGFzc2VydHMgdGhpc1xuICAgICAgICAgIGlmICh0aGlzVHlwZVByZWRpY2F0ZS50eXBlID09PSBcIlRTVGhpc1R5cGVcIikge1xuICAgICAgICAgICAgbm9kZS5wYXJhbWV0ZXJOYW1lID0gdGhpc1R5cGVQcmVkaWNhdGU7XG4gICAgICAgICAgICBub2RlLmFzc2VydHMgPSB0cnVlO1xuICAgICAgICAgICAgKG5vZGUgYXMgTi5Uc1R5cGVQcmVkaWNhdGUpLnR5cGVBbm5vdGF0aW9uID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXNUeXBlUHJlZGljYXRlID0gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVFNUeXBlUHJlZGljYXRlXCIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlc2V0U3RhcnRMb2NhdGlvbkZyb21Ob2RlKHRoaXNUeXBlUHJlZGljYXRlLCBub2RlKTtcbiAgICAgICAgICAgIHRoaXNUeXBlUHJlZGljYXRlLmFzc2VydHMgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0LnR5cGVBbm5vdGF0aW9uID0gdGhpc1R5cGVQcmVkaWNhdGU7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZSh0LCBcIlRTVHlwZUFubm90YXRpb25cIik7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB0eXBlUHJlZGljYXRlVmFyaWFibGUgPVxuICAgICAgICAgIHRoaXMudHNJc0lkZW50aWZpZXIoKSAmJlxuICAgICAgICAgIHRoaXMudHNUcnlQYXJzZSh0aGlzLnRzUGFyc2VUeXBlUHJlZGljYXRlUHJlZml4LmJpbmQodGhpcykpO1xuXG4gICAgICAgIGlmICghdHlwZVByZWRpY2F0ZVZhcmlhYmxlKSB7XG4gICAgICAgICAgaWYgKCFhc3NlcnRzKSB7XG4gICAgICAgICAgICAvLyA6IHR5cGVcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VUeXBlQW5ub3RhdGlvbigvKiBlYXRDb2xvbiAqLyBmYWxzZSwgdCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gOiBhc3NlcnRzIGZvb1xuICAgICAgICAgIG5vZGUucGFyYW1ldGVyTmFtZSA9IHRoaXMucGFyc2VJZGVudGlmaWVyKCk7XG4gICAgICAgICAgbm9kZS5hc3NlcnRzID0gYXNzZXJ0cztcbiAgICAgICAgICAobm9kZSBhcyBOLlRzVHlwZVByZWRpY2F0ZSkudHlwZUFubm90YXRpb24gPSBudWxsO1xuICAgICAgICAgIHQudHlwZUFubm90YXRpb24gPSB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJUU1R5cGVQcmVkaWNhdGVcIik7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZSh0LCBcIlRTVHlwZUFubm90YXRpb25cIik7XG4gICAgICAgIH1cblxuICAgICAgICAvLyA6IGFzc2VydHMgZm9vIGlzIHR5cGVcbiAgICAgICAgY29uc3QgdHlwZSA9IHRoaXMudHNQYXJzZVR5cGVBbm5vdGF0aW9uKC8qIGVhdENvbG9uICovIGZhbHNlKTtcbiAgICAgICAgbm9kZS5wYXJhbWV0ZXJOYW1lID0gdHlwZVByZWRpY2F0ZVZhcmlhYmxlO1xuICAgICAgICBub2RlLnR5cGVBbm5vdGF0aW9uID0gdHlwZTtcbiAgICAgICAgbm9kZS5hc3NlcnRzID0gYXNzZXJ0cztcbiAgICAgICAgdC50eXBlQW5ub3RhdGlvbiA9IHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTVHlwZVByZWRpY2F0ZVwiKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZSh0LCBcIlRTVHlwZUFubm90YXRpb25cIik7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0c1RyeVBhcnNlVHlwZU9yVHlwZVByZWRpY2F0ZUFubm90YXRpb24oKTogTi5Uc1R5cGVBbm5vdGF0aW9uIHwgdW5kZWZpbmVkIHtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmNvbG9uKSkge1xuICAgICAgICByZXR1cm4gdGhpcy50c1BhcnNlVHlwZU9yVHlwZVByZWRpY2F0ZUFubm90YXRpb24odHQuY29sb24pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRzVHJ5UGFyc2VUeXBlQW5ub3RhdGlvbigpOiBOLlRzVHlwZUFubm90YXRpb24gfCB1bmRlZmluZWQge1xuICAgICAgaWYgKHRoaXMubWF0Y2godHQuY29sb24pKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VUeXBlQW5ub3RhdGlvbigpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRzVHJ5UGFyc2VUeXBlKCk6IE4uVHNUeXBlIHwgdW5kZWZpbmVkIHtcbiAgICAgIHJldHVybiB0aGlzLnRzRWF0VGhlblBhcnNlVHlwZSh0dC5jb2xvbik7XG4gICAgfVxuXG4gICAgdHNQYXJzZVR5cGVQcmVkaWNhdGVQcmVmaXgoKTogTi5JZGVudGlmaWVyIHwgdW5kZWZpbmVkIHtcbiAgICAgIGNvbnN0IGlkID0gdGhpcy5wYXJzZUlkZW50aWZpZXIoKTtcbiAgICAgIGlmICh0aGlzLmlzQ29udGV4dHVhbCh0dC5faXMpICYmICF0aGlzLmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpKSB7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICByZXR1cm4gaWQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHNQYXJzZVR5cGVQcmVkaWNhdGVBc3NlcnRzKCk6IGJvb2xlYW4ge1xuICAgICAgaWYgKHRoaXMuc3RhdGUudHlwZSAhPT0gdHQuX2Fzc2VydHMpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgY29uc3QgY29udGFpbnNFc2MgPSB0aGlzLnN0YXRlLmNvbnRhaW5zRXNjO1xuICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICBpZiAoIXRva2VuSXNJZGVudGlmaWVyKHRoaXMuc3RhdGUudHlwZSkgJiYgIXRoaXMubWF0Y2godHQuX3RoaXMpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNvbnRhaW5zRXNjKSB7XG4gICAgICAgIHRoaXMucmFpc2UoXG4gICAgICAgICAgRXJyb3JzLkludmFsaWRFc2NhcGVkUmVzZXJ2ZWRXb3JkLFxuICAgICAgICAgIHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJlc2VydmVkV29yZDogXCJhc3NlcnRzXCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgdHNQYXJzZVR5cGVBbm5vdGF0aW9uKFxuICAgICAgZWF0Q29sb24gPSB0cnVlLFxuICAgICAgdDogVW5kb25lPE4uVHNUeXBlQW5ub3RhdGlvbj4gPSB0aGlzLnN0YXJ0Tm9kZTxOLlRzVHlwZUFubm90YXRpb24+KCksXG4gICAgKTogTi5Uc1R5cGVBbm5vdGF0aW9uIHtcbiAgICAgIHRoaXMudHNJblR5cGUoKCkgPT4ge1xuICAgICAgICBpZiAoZWF0Q29sb24pIHRoaXMuZXhwZWN0KHR0LmNvbG9uKTtcbiAgICAgICAgdC50eXBlQW5ub3RhdGlvbiA9IHRoaXMudHNQYXJzZVR5cGUoKTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZSh0LCBcIlRTVHlwZUFubm90YXRpb25cIik7XG4gICAgfVxuXG4gICAgLyoqIEJlIHN1cmUgdG8gYmUgaW4gYSB0eXBlIGNvbnRleHQgYmVmb3JlIGNhbGxpbmcgdGhpcywgdXNpbmcgYHRzSW5UeXBlYC4gKi9cbiAgICB0c1BhcnNlVHlwZSgpOiBOLlRzVHlwZSB7XG4gICAgICAvLyBOZWVkIHRvIHNldCBgc3RhdGUuaW5UeXBlYCBzbyB0aGF0IHdlIGRvbid0IHBhcnNlIEpTWCBpbiBhIHR5cGUgY29udGV4dC5cbiAgICAgIGFzc2VydCh0aGlzLnN0YXRlLmluVHlwZSk7XG4gICAgICBjb25zdCB0eXBlID0gdGhpcy50c1BhcnNlTm9uQ29uZGl0aW9uYWxUeXBlKCk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5zdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgfHxcbiAgICAgICAgdGhpcy5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSB8fFxuICAgICAgICAhdGhpcy5lYXQodHQuX2V4dGVuZHMpXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuIHR5cGU7XG4gICAgICB9XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGVBdE5vZGU8Ti5Uc0NvbmRpdGlvbmFsVHlwZT4odHlwZSk7XG4gICAgICBub2RlLmNoZWNrVHlwZSA9IHR5cGU7XG5cbiAgICAgIG5vZGUuZXh0ZW5kc1R5cGUgPSB0aGlzLnRzSW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0KCgpID0+XG4gICAgICAgIHRoaXMudHNQYXJzZU5vbkNvbmRpdGlvbmFsVHlwZSgpLFxuICAgICAgKTtcblxuICAgICAgdGhpcy5leHBlY3QodHQucXVlc3Rpb24pO1xuICAgICAgbm9kZS50cnVlVHlwZSA9IHRoaXMudHNJbkFsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQoKCkgPT5cbiAgICAgICAgdGhpcy50c1BhcnNlVHlwZSgpLFxuICAgICAgKTtcblxuICAgICAgdGhpcy5leHBlY3QodHQuY29sb24pO1xuICAgICAgbm9kZS5mYWxzZVR5cGUgPSB0aGlzLnRzSW5BbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0KCgpID0+XG4gICAgICAgIHRoaXMudHNQYXJzZVR5cGUoKSxcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJUU0NvbmRpdGlvbmFsVHlwZVwiKTtcbiAgICB9XG5cbiAgICBpc0Fic3RyYWN0Q29uc3RydWN0b3JTaWduYXR1cmUoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLmlzQ29udGV4dHVhbCh0dC5fYWJzdHJhY3QpICYmIHRoaXMubG9va2FoZWFkKCkudHlwZSA9PT0gdHQuX25ld1xuICAgICAgKTtcbiAgICB9XG5cbiAgICB0c1BhcnNlTm9uQ29uZGl0aW9uYWxUeXBlKCk6IE4uVHNUeXBlIHtcbiAgICAgIGlmICh0aGlzLnRzSXNTdGFydE9mRnVuY3Rpb25UeXBlKCkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHNQYXJzZUZ1bmN0aW9uT3JDb25zdHJ1Y3RvclR5cGUoXCJUU0Z1bmN0aW9uVHlwZVwiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0Ll9uZXcpKSB7XG4gICAgICAgIC8vIEFzIGluIGBuZXcgKCkgPT4gRGF0ZWBcbiAgICAgICAgcmV0dXJuIHRoaXMudHNQYXJzZUZ1bmN0aW9uT3JDb25zdHJ1Y3RvclR5cGUoXCJUU0NvbnN0cnVjdG9yVHlwZVwiKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0Fic3RyYWN0Q29uc3RydWN0b3JTaWduYXR1cmUoKSkge1xuICAgICAgICAvLyBBcyBpbiBgYWJzdHJhY3QgbmV3ICgpID0+IERhdGVgXG4gICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VGdW5jdGlvbk9yQ29uc3RydWN0b3JUeXBlKFxuICAgICAgICAgIFwiVFNDb25zdHJ1Y3RvclR5cGVcIixcbiAgICAgICAgICAvKiBhYnN0cmFjdCAqLyB0cnVlLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMudHNQYXJzZVVuaW9uVHlwZU9ySGlnaGVyKCk7XG4gICAgfVxuXG4gICAgdHNQYXJzZVR5cGVBc3NlcnRpb24oKTogTi5Uc1R5cGVBc3NlcnRpb24ge1xuICAgICAgaWYgKHRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwidHlwZXNjcmlwdFwiLCBcImRpc2FsbG93QW1iaWd1b3VzSlNYTGlrZVwiKSkge1xuICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLlJlc2VydmVkVHlwZUFzc2VydGlvbiwgdGhpcy5zdGF0ZS5zdGFydExvYyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLlRzVHlwZUFzc2VydGlvbj4oKTtcbiAgICAgIG5vZGUudHlwZUFubm90YXRpb24gPSB0aGlzLnRzSW5UeXBlKCgpID0+IHtcbiAgICAgICAgdGhpcy5uZXh0KCk7IC8vIFwiPFwiXG4gICAgICAgIHJldHVybiB0aGlzLm1hdGNoKHR0Ll9jb25zdClcbiAgICAgICAgICA/IHRoaXMudHNQYXJzZVR5cGVSZWZlcmVuY2UoKVxuICAgICAgICAgIDogdGhpcy50c1BhcnNlVHlwZSgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLmV4cGVjdCh0dC5ndCk7XG4gICAgICBub2RlLmV4cHJlc3Npb24gPSB0aGlzLnBhcnNlTWF5YmVVbmFyeSgpO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTVHlwZUFzc2VydGlvblwiKTtcbiAgICB9XG5cbiAgICB0c1BhcnNlSGVyaXRhZ2VDbGF1c2UodG9rZW46IFwiZXh0ZW5kc1wiKTogQXJyYXk8Ti5UU0ludGVyZmFjZUhlcml0YWdlPjtcbiAgICB0c1BhcnNlSGVyaXRhZ2VDbGF1c2UodG9rZW46IFwiaW1wbGVtZW50c1wiKTogQXJyYXk8Ti5UU0NsYXNzSW1wbGVtZW50cz47XG4gICAgdHNQYXJzZUhlcml0YWdlQ2xhdXNlKFxuICAgICAgdG9rZW46IFwiZXh0ZW5kc1wiIHwgXCJpbXBsZW1lbnRzXCIsXG4gICAgKTogQXJyYXk8Ti5UU0NsYXNzSW1wbGVtZW50cz4gfCBBcnJheTxOLlRTSW50ZXJmYWNlSGVyaXRhZ2U+IHtcbiAgICAgIGNvbnN0IG9yaWdpbmFsU3RhcnRMb2MgPSB0aGlzLnN0YXRlLnN0YXJ0TG9jO1xuXG4gICAgICBjb25zdCBkZWxpbWl0ZWRMaXN0ID0gdGhpcy50c1BhcnNlRGVsaW1pdGVkTGlzdChcbiAgICAgICAgXCJIZXJpdGFnZUNsYXVzZUVsZW1lbnRcIixcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxcbiAgICAgICAgICAgIE4uVFNDbGFzc0ltcGxlbWVudHMgfCBOLlRTSW50ZXJmYWNlSGVyaXRhZ2VcbiAgICAgICAgICA+KCk7XG4gICAgICAgICAgbm9kZS5leHByZXNzaW9uID0gdGhpcy50c1BhcnNlRW50aXR5TmFtZSgpO1xuICAgICAgICAgIGlmICh0aGlzLm1hdGNoKHR0Lmx0KSkge1xuICAgICAgICAgICAgbm9kZS50eXBlUGFyYW1ldGVycyA9IHRoaXMudHNQYXJzZVR5cGVBcmd1bWVudHMoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKFxuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgQmFiZWwgNyB2cyBCYWJlbCA4XG4gICAgICAgICAgICBwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HXG4gICAgICAgICAgICAgID8gdG9rZW4gPT09IFwiZXh0ZW5kc1wiXG4gICAgICAgICAgICAgICAgPyBcIlRTSW50ZXJmYWNlSGVyaXRhZ2VcIlxuICAgICAgICAgICAgICAgIDogXCJUU0NsYXNzSW1wbGVtZW50c1wiXG4gICAgICAgICAgICAgIDogXCJUU0V4cHJlc3Npb25XaXRoVHlwZUFyZ3VtZW50c1wiLFxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICApO1xuXG4gICAgICBpZiAoIWRlbGltaXRlZExpc3QubGVuZ3RoKSB7XG4gICAgICAgIHRoaXMucmFpc2UoVFNFcnJvcnMuRW1wdHlIZXJpdGFnZUNsYXVzZVR5cGUsIG9yaWdpbmFsU3RhcnRMb2MsIHtcbiAgICAgICAgICB0b2tlbixcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkZWxpbWl0ZWRMaXN0IGFzXG4gICAgICAgIHwgQXJyYXk8Ti5UU0NsYXNzSW1wbGVtZW50cz5cbiAgICAgICAgfCBBcnJheTxOLlRTSW50ZXJmYWNlSGVyaXRhZ2U+O1xuICAgIH1cblxuICAgIHRzUGFyc2VJbnRlcmZhY2VEZWNsYXJhdGlvbihcbiAgICAgIG5vZGU6IFVuZG9uZTxOLlRzSW50ZXJmYWNlRGVjbGFyYXRpb24+LFxuICAgICAgcHJvcGVydGllczoge1xuICAgICAgICBkZWNsYXJlPzogdHJ1ZTtcbiAgICAgIH0gPSB7fSxcbiAgICApOiBOLlRzSW50ZXJmYWNlRGVjbGFyYXRpb24gfCBudWxsIHtcbiAgICAgIGlmICh0aGlzLmhhc0ZvbGxvd2luZ0xpbmVCcmVhaygpKSByZXR1cm4gbnVsbDtcbiAgICAgIHRoaXMuZXhwZWN0Q29udGV4dHVhbCh0dC5faW50ZXJmYWNlKTtcbiAgICAgIGlmIChwcm9wZXJ0aWVzLmRlY2xhcmUpIG5vZGUuZGVjbGFyZSA9IHRydWU7XG4gICAgICBpZiAodG9rZW5Jc0lkZW50aWZpZXIodGhpcy5zdGF0ZS50eXBlKSkge1xuICAgICAgICBub2RlLmlkID0gdGhpcy5wYXJzZUlkZW50aWZpZXIoKTtcbiAgICAgICAgdGhpcy5jaGVja0lkZW50aWZpZXIobm9kZS5pZCwgQmluZGluZ0ZsYWcuVFlQRV9UU19JTlRFUkZBQ0UpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9kZS5pZCA9IG51bGw7XG4gICAgICAgIHRoaXMucmFpc2UoVFNFcnJvcnMuTWlzc2luZ0ludGVyZmFjZU5hbWUsIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgICAgfVxuXG4gICAgICBub2RlLnR5cGVQYXJhbWV0ZXJzID0gdGhpcy50c1RyeVBhcnNlVHlwZVBhcmFtZXRlcnMoXG4gICAgICAgIHRoaXMudHNQYXJzZUluT3V0Q29uc3RNb2RpZmllcnMsXG4gICAgICApO1xuICAgICAgaWYgKHRoaXMuZWF0KHR0Ll9leHRlbmRzKSkge1xuICAgICAgICBub2RlLmV4dGVuZHMgPSB0aGlzLnRzUGFyc2VIZXJpdGFnZUNsYXVzZShcImV4dGVuZHNcIik7XG4gICAgICB9XG4gICAgICBjb25zdCBib2R5ID0gdGhpcy5zdGFydE5vZGU8Ti5UU0ludGVyZmFjZUJvZHk+KCk7XG4gICAgICBib2R5LmJvZHkgPSB0aGlzLnRzSW5UeXBlKHRoaXMudHNQYXJzZU9iamVjdFR5cGVNZW1iZXJzLmJpbmQodGhpcykpO1xuICAgICAgbm9kZS5ib2R5ID0gdGhpcy5maW5pc2hOb2RlKGJvZHksIFwiVFNJbnRlcmZhY2VCb2R5XCIpO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTSW50ZXJmYWNlRGVjbGFyYXRpb25cIik7XG4gICAgfVxuXG4gICAgdHNQYXJzZVR5cGVBbGlhc0RlY2xhcmF0aW9uKFxuICAgICAgbm9kZTogTi5Uc1R5cGVBbGlhc0RlY2xhcmF0aW9uLFxuICAgICk6IE4uVHNUeXBlQWxpYXNEZWNsYXJhdGlvbiB7XG4gICAgICBub2RlLmlkID0gdGhpcy5wYXJzZUlkZW50aWZpZXIoKTtcbiAgICAgIHRoaXMuY2hlY2tJZGVudGlmaWVyKG5vZGUuaWQsIEJpbmRpbmdGbGFnLlRZUEVfVFNfVFlQRSk7XG5cbiAgICAgIG5vZGUudHlwZUFubm90YXRpb24gPSB0aGlzLnRzSW5UeXBlKCgpID0+IHtcbiAgICAgICAgbm9kZS50eXBlUGFyYW1ldGVycyA9IHRoaXMudHNUcnlQYXJzZVR5cGVQYXJhbWV0ZXJzKFxuICAgICAgICAgIHRoaXMudHNQYXJzZUluT3V0TW9kaWZpZXJzLFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMuZXhwZWN0KHR0LmVxKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5pc0NvbnRleHR1YWwodHQuX2ludHJpbnNpYykgJiZcbiAgICAgICAgICB0aGlzLmxvb2thaGVhZCgpLnR5cGUgIT09IHR0LmRvdFxuICAgICAgICApIHtcbiAgICAgICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5Uc0tleXdvcmRUeXBlPigpO1xuICAgICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJUU0ludHJpbnNpY0tleXdvcmRcIik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy50c1BhcnNlVHlwZSgpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMuc2VtaWNvbG9uKCk7XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVFNUeXBlQWxpYXNEZWNsYXJhdGlvblwiKTtcbiAgICB9XG5cbiAgICB0c0luTm9Db250ZXh0PFQ+KGNiOiAoKSA9PiBUKTogVCB7XG4gICAgICBjb25zdCBvbGRDb250ZXh0ID0gdGhpcy5zdGF0ZS5jb250ZXh0O1xuICAgICAgdGhpcy5zdGF0ZS5jb250ZXh0ID0gW29sZENvbnRleHRbMF1dO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGNiKCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICB0aGlzLnN0YXRlLmNvbnRleHQgPSBvbGRDb250ZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJ1bnMgYGNiYCBpbiBhIHR5cGUgY29udGV4dC5cbiAgICAgKiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgb25lIHRva2VuICpiZWZvcmUqIHRoZSBmaXJzdCB0eXBlIHRva2VuLFxuICAgICAqIHNvIHRoYXQgdGhlIGNhbGwgdG8gYG5leHQoKWAgaXMgcnVuIGluIHR5cGUgY29udGV4dC5cbiAgICAgKi9cbiAgICB0c0luVHlwZTxUPihjYjogKCkgPT4gVCk6IFQge1xuICAgICAgY29uc3Qgb2xkSW5UeXBlID0gdGhpcy5zdGF0ZS5pblR5cGU7XG4gICAgICB0aGlzLnN0YXRlLmluVHlwZSA9IHRydWU7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gY2IoKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRoaXMuc3RhdGUuaW5UeXBlID0gb2xkSW5UeXBlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRzSW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0PFQ+KGNiOiAoKSA9PiBUKTogVCB7XG4gICAgICBjb25zdCBvbGRJbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgPVxuICAgICAgICB0aGlzLnN0YXRlLmluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dDtcbiAgICAgIHRoaXMuc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ID0gdHJ1ZTtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBjYigpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgdGhpcy5zdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQgPVxuICAgICAgICAgIG9sZEluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0c0luQWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dDxUPihjYjogKCkgPT4gVCk6IFQge1xuICAgICAgY29uc3Qgb2xkSW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0ID1cbiAgICAgICAgdGhpcy5zdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQ7XG4gICAgICB0aGlzLnN0YXRlLmluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dCA9IGZhbHNlO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIGNiKCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICB0aGlzLnN0YXRlLmluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dCA9XG4gICAgICAgICAgb2xkSW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHRzRWF0VGhlblBhcnNlVHlwZSh0b2tlbjogVG9rZW5UeXBlKTogTi5Uc1R5cGUgfCB1bmRlZmluZWQge1xuICAgICAgaWYgKHRoaXMubWF0Y2godG9rZW4pKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnRzTmV4dFRoZW5QYXJzZVR5cGUoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0c0V4cGVjdFRoZW5QYXJzZVR5cGUodG9rZW46IFRva2VuVHlwZSk6IE4uVHNUeXBlIHtcbiAgICAgIHJldHVybiB0aGlzLnRzSW5UeXBlKCgpID0+IHtcbiAgICAgICAgdGhpcy5leHBlY3QodG9rZW4pO1xuICAgICAgICByZXR1cm4gdGhpcy50c1BhcnNlVHlwZSgpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdHNOZXh0VGhlblBhcnNlVHlwZSgpOiBOLlRzVHlwZSB7XG4gICAgICByZXR1cm4gdGhpcy50c0luVHlwZSgoKSA9PiB7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICByZXR1cm4gdGhpcy50c1BhcnNlVHlwZSgpO1xuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdHNQYXJzZUVudW1NZW1iZXIoKTogTi5Uc0VudW1NZW1iZXIge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uVHNFbnVtTWVtYmVyPigpO1xuICAgICAgLy8gQ29tcHV0ZWQgcHJvcGVydHkgbmFtZXMgYXJlIGdyYW1tYXIgZXJyb3JzIGluIGFuIGVudW0sIHNvIGFjY2VwdCBqdXN0IHN0cmluZyBsaXRlcmFsIG9yIGlkZW50aWZpZXIuXG4gICAgICBub2RlLmlkID0gdGhpcy5tYXRjaCh0dC5zdHJpbmcpXG4gICAgICAgID8gc3VwZXIucGFyc2VTdHJpbmdMaXRlcmFsKHRoaXMuc3RhdGUudmFsdWUpXG4gICAgICAgIDogdGhpcy5wYXJzZUlkZW50aWZpZXIoLyogbGliZXJhbCAqLyB0cnVlKTtcbiAgICAgIGlmICh0aGlzLmVhdCh0dC5lcSkpIHtcbiAgICAgICAgbm9kZS5pbml0aWFsaXplciA9IHN1cGVyLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVFNFbnVtTWVtYmVyXCIpO1xuICAgIH1cblxuICAgIHRzUGFyc2VFbnVtRGVjbGFyYXRpb24oXG4gICAgICBub2RlOiBVbmRvbmU8Ti5Uc0VudW1EZWNsYXJhdGlvbj4sXG4gICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgIGNvbnN0PzogdHJ1ZTtcbiAgICAgICAgZGVjbGFyZT86IHRydWU7XG4gICAgICB9ID0ge30sXG4gICAgKTogTi5Uc0VudW1EZWNsYXJhdGlvbiB7XG4gICAgICBpZiAocHJvcGVydGllcy5jb25zdCkgbm9kZS5jb25zdCA9IHRydWU7XG4gICAgICBpZiAocHJvcGVydGllcy5kZWNsYXJlKSBub2RlLmRlY2xhcmUgPSB0cnVlO1xuICAgICAgdGhpcy5leHBlY3RDb250ZXh0dWFsKHR0Ll9lbnVtKTtcbiAgICAgIG5vZGUuaWQgPSB0aGlzLnBhcnNlSWRlbnRpZmllcigpO1xuICAgICAgdGhpcy5jaGVja0lkZW50aWZpZXIoXG4gICAgICAgIG5vZGUuaWQsXG4gICAgICAgIG5vZGUuY29uc3QgPyBCaW5kaW5nRmxhZy5UWVBFX1RTX0NPTlNUX0VOVU0gOiBCaW5kaW5nRmxhZy5UWVBFX1RTX0VOVU0sXG4gICAgICApO1xuXG4gICAgICB0aGlzLmV4cGVjdCh0dC5icmFjZUwpO1xuICAgICAgbm9kZS5tZW1iZXJzID0gdGhpcy50c1BhcnNlRGVsaW1pdGVkTGlzdChcbiAgICAgICAgXCJFbnVtTWVtYmVyc1wiLFxuICAgICAgICB0aGlzLnRzUGFyc2VFbnVtTWVtYmVyLmJpbmQodGhpcyksXG4gICAgICApO1xuICAgICAgdGhpcy5leHBlY3QodHQuYnJhY2VSKTtcbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJUU0VudW1EZWNsYXJhdGlvblwiKTtcbiAgICB9XG5cbiAgICB0c1BhcnNlTW9kdWxlQmxvY2soKTogTi5Uc01vZHVsZUJsb2NrIHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLlRzTW9kdWxlQmxvY2s+KCk7XG4gICAgICB0aGlzLnNjb3BlLmVudGVyKFNjb3BlRmxhZy5PVEhFUik7XG5cbiAgICAgIHRoaXMuZXhwZWN0KHR0LmJyYWNlTCk7XG4gICAgICAvLyBJbnNpZGUgb2YgYSBtb2R1bGUgYmxvY2sgaXMgY29uc2lkZXJlZCBcInRvcC1sZXZlbFwiLCBtZWFuaW5nIGl0IGNhbiBoYXZlIGltcG9ydHMgYW5kIGV4cG9ydHMuXG4gICAgICBzdXBlci5wYXJzZUJsb2NrT3JNb2R1bGVCbG9ja0JvZHkoXG4gICAgICAgIChub2RlLmJvZHkgPSBbXSksXG4gICAgICAgIC8qIGRpcmVjdGl2ZXMgKi8gdW5kZWZpbmVkLFxuICAgICAgICAvKiB0b3BMZXZlbCAqLyB0cnVlLFxuICAgICAgICAvKiBlbmQgKi8gdHQuYnJhY2VSLFxuICAgICAgKTtcbiAgICAgIHRoaXMuc2NvcGUuZXhpdCgpO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTTW9kdWxlQmxvY2tcIik7XG4gICAgfVxuXG4gICAgdHNQYXJzZU1vZHVsZU9yTmFtZXNwYWNlRGVjbGFyYXRpb24oXG4gICAgICBub2RlOiBVbmRvbmU8Ti5Uc01vZHVsZURlY2xhcmF0aW9uPixcbiAgICAgIG5lc3RlZDogYm9vbGVhbiA9IGZhbHNlLFxuICAgICk6IE4uVHNNb2R1bGVEZWNsYXJhdGlvbiB7XG4gICAgICBub2RlLmlkID0gcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lOR1xuICAgICAgICA/IHRoaXMudHNQYXJzZUVudGl0eU5hbWUoKVxuICAgICAgICA6IHRoaXMucGFyc2VJZGVudGlmaWVyKCk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORyA/IG5vZGUuaWQudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgOiAhbmVzdGVkXG4gICAgICApIHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBjaGVja2VkIGFib3ZlXG4gICAgICAgIHRoaXMuY2hlY2tJZGVudGlmaWVyKG5vZGUuaWQsIEJpbmRpbmdGbGFnLlRZUEVfVFNfTkFNRVNQQUNFKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HICYmIHRoaXMuZWF0KHR0LmRvdCkpIHtcbiAgICAgICAgY29uc3QgaW5uZXIgPSB0aGlzLnN0YXJ0Tm9kZTxOLlRzTW9kdWxlRGVjbGFyYXRpb24+KCk7XG4gICAgICAgIHRoaXMudHNQYXJzZU1vZHVsZU9yTmFtZXNwYWNlRGVjbGFyYXRpb24oaW5uZXIsIHRydWUpO1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIEZpeG1lOiByZWZpbmUgdHlwaW5nc1xuICAgICAgICBub2RlLmJvZHkgPSBpbm5lcjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2NvcGUuZW50ZXIoU2NvcGVGbGFnLlRTX01PRFVMRSk7XG4gICAgICAgIHRoaXMucHJvZFBhcmFtLmVudGVyKFBhcmFtS2luZC5QQVJBTSk7XG4gICAgICAgIG5vZGUuYm9keSA9IHRoaXMudHNQYXJzZU1vZHVsZUJsb2NrKCk7XG4gICAgICAgIHRoaXMucHJvZFBhcmFtLmV4aXQoKTtcbiAgICAgICAgdGhpcy5zY29wZS5leGl0KCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVFNNb2R1bGVEZWNsYXJhdGlvblwiKTtcbiAgICB9XG5cbiAgICB0c1BhcnNlQW1iaWVudEV4dGVybmFsTW9kdWxlRGVjbGFyYXRpb24oXG4gICAgICBub2RlOiBOLlRzTW9kdWxlRGVjbGFyYXRpb24sXG4gICAgKTogTi5Uc01vZHVsZURlY2xhcmF0aW9uIHtcbiAgICAgIGlmICh0aGlzLmlzQ29udGV4dHVhbCh0dC5fZ2xvYmFsKSkge1xuICAgICAgICBub2RlLmtpbmQgPSBcImdsb2JhbFwiO1xuICAgICAgICBpZiAoIXByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcpIHtcbiAgICAgICAgICBub2RlLmdsb2JhbCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgbm9kZS5pZCA9IHRoaXMucGFyc2VJZGVudGlmaWVyKCk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubWF0Y2godHQuc3RyaW5nKSkge1xuICAgICAgICBub2RlLmtpbmQgPSBcIm1vZHVsZVwiO1xuICAgICAgICBub2RlLmlkID0gc3VwZXIucGFyc2VTdHJpbmdMaXRlcmFsKHRoaXMuc3RhdGUudmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5icmFjZUwpKSB7XG4gICAgICAgIHRoaXMuc2NvcGUuZW50ZXIoU2NvcGVGbGFnLlRTX01PRFVMRSk7XG4gICAgICAgIHRoaXMucHJvZFBhcmFtLmVudGVyKFBhcmFtS2luZC5QQVJBTSk7XG4gICAgICAgIG5vZGUuYm9keSA9IHRoaXMudHNQYXJzZU1vZHVsZUJsb2NrKCk7XG4gICAgICAgIHRoaXMucHJvZFBhcmFtLmV4aXQoKTtcbiAgICAgICAgdGhpcy5zY29wZS5leGl0KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnNlbWljb2xvbigpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVFNNb2R1bGVEZWNsYXJhdGlvblwiKTtcbiAgICB9XG5cbiAgICB0c1BhcnNlSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24oXG4gICAgICBub2RlOiBVbmRvbmU8Ti5Uc0ltcG9ydEVxdWFsc0RlY2xhcmF0aW9uPixcbiAgICAgIG1heWJlRGVmYXVsdElkZW50aWZpZXI/OiBOLklkZW50aWZpZXIgfCBudWxsLFxuICAgICAgaXNFeHBvcnQ/OiBib29sZWFuLFxuICAgICk6IE4uVHNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbiB7XG4gICAgICBub2RlLmlzRXhwb3J0ID0gaXNFeHBvcnQgfHwgZmFsc2U7XG4gICAgICBub2RlLmlkID0gbWF5YmVEZWZhdWx0SWRlbnRpZmllciB8fCB0aGlzLnBhcnNlSWRlbnRpZmllcigpO1xuICAgICAgdGhpcy5jaGVja0lkZW50aWZpZXIobm9kZS5pZCwgQmluZGluZ0ZsYWcuVFlQRV9UU19WQUxVRV9JTVBPUlQpO1xuICAgICAgdGhpcy5leHBlY3QodHQuZXEpO1xuICAgICAgY29uc3QgbW9kdWxlUmVmZXJlbmNlID0gdGhpcy50c1BhcnNlTW9kdWxlUmVmZXJlbmNlKCk7XG4gICAgICBpZiAoXG4gICAgICAgIG5vZGUuaW1wb3J0S2luZCA9PT0gXCJ0eXBlXCIgJiZcbiAgICAgICAgbW9kdWxlUmVmZXJlbmNlLnR5cGUgIT09IFwiVFNFeHRlcm5hbE1vZHVsZVJlZmVyZW5jZVwiXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5yYWlzZShUU0Vycm9ycy5JbXBvcnRBbGlhc0hhc0ltcG9ydFR5cGUsIG1vZHVsZVJlZmVyZW5jZSk7XG4gICAgICB9XG4gICAgICBub2RlLm1vZHVsZVJlZmVyZW5jZSA9IG1vZHVsZVJlZmVyZW5jZTtcbiAgICAgIHRoaXMuc2VtaWNvbG9uKCk7XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVFNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvblwiKTtcbiAgICB9XG5cbiAgICB0c0lzRXh0ZXJuYWxNb2R1bGVSZWZlcmVuY2UoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLmlzQ29udGV4dHVhbCh0dC5fcmVxdWlyZSkgJiZcbiAgICAgICAgdGhpcy5sb29rYWhlYWRDaGFyQ29kZSgpID09PSBjaGFyQ29kZXMubGVmdFBhcmVudGhlc2lzXG4gICAgICApO1xuICAgIH1cblxuICAgIHRzUGFyc2VNb2R1bGVSZWZlcmVuY2UoKTogTi5Uc01vZHVsZVJlZmVyZW5jZSB7XG4gICAgICByZXR1cm4gdGhpcy50c0lzRXh0ZXJuYWxNb2R1bGVSZWZlcmVuY2UoKVxuICAgICAgICA/IHRoaXMudHNQYXJzZUV4dGVybmFsTW9kdWxlUmVmZXJlbmNlKClcbiAgICAgICAgOiB0aGlzLnRzUGFyc2VFbnRpdHlOYW1lKC8qIGFsbG93UmVzZXJ2ZWRXb3JkcyAqLyBmYWxzZSk7XG4gICAgfVxuXG4gICAgdHNQYXJzZUV4dGVybmFsTW9kdWxlUmVmZXJlbmNlKCk6IE4uVHNFeHRlcm5hbE1vZHVsZVJlZmVyZW5jZSB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5Uc0V4dGVybmFsTW9kdWxlUmVmZXJlbmNlPigpO1xuICAgICAgdGhpcy5leHBlY3RDb250ZXh0dWFsKHR0Ll9yZXF1aXJlKTtcbiAgICAgIHRoaXMuZXhwZWN0KHR0LnBhcmVuTCk7XG4gICAgICBpZiAoIXRoaXMubWF0Y2godHQuc3RyaW5nKSkge1xuICAgICAgICB0aGlzLnVuZXhwZWN0ZWQoKTtcbiAgICAgIH1cbiAgICAgIC8vIEZvciBjb21wYXRpYmlsaXR5IHRvIGVzdHJlZSB3ZSBjYW5ub3QgY2FsbCBwYXJzZUxpdGVyYWwgZGlyZWN0bHkgaGVyZVxuICAgICAgbm9kZS5leHByZXNzaW9uID0gc3VwZXIucGFyc2VFeHByQXRvbSgpIGFzIE4uU3RyaW5nTGl0ZXJhbDtcbiAgICAgIHRoaXMuZXhwZWN0KHR0LnBhcmVuUik7XG4gICAgICB0aGlzLnNhd1VuYW1iaWd1b3VzRVNNID0gdHJ1ZTtcbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJUU0V4dGVybmFsTW9kdWxlUmVmZXJlbmNlXCIpO1xuICAgIH1cblxuICAgIC8vIFV0aWxpdGllc1xuXG4gICAgdHNMb29rQWhlYWQ8VD4oZjogKCkgPT4gVCk6IFQge1xuICAgICAgY29uc3Qgc3RhdGUgPSB0aGlzLnN0YXRlLmNsb25lKCk7XG4gICAgICBjb25zdCByZXMgPSBmKCk7XG4gICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH1cblxuICAgIHRzVHJ5UGFyc2VBbmRDYXRjaDxUIGV4dGVuZHMgTi5Ob2RlQmFzZSB8IHVuZGVmaW5lZCB8IG51bGw+KFxuICAgICAgZjogKCkgPT4gVCxcbiAgICApOiBUIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLnRyeVBhcnNlKFxuICAgICAgICBhYm9ydCA9PlxuICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdG9kbyhmbG93LT50cylcbiAgICAgICAgICBmKCkgfHwgYWJvcnQoKSxcbiAgICAgICk7XG5cbiAgICAgIGlmIChyZXN1bHQuYWJvcnRlZCB8fCAhcmVzdWx0Lm5vZGUpIHJldHVybjtcbiAgICAgIGlmIChyZXN1bHQuZXJyb3IpIHRoaXMuc3RhdGUgPSByZXN1bHQuZmFpbFN0YXRlO1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciByZWZpbmUgdHlwaW5nc1xuICAgICAgcmV0dXJuIHJlc3VsdC5ub2RlO1xuICAgIH1cblxuICAgIHRzVHJ5UGFyc2U8VD4oZjogKCkgPT4gVCB8IHVuZGVmaW5lZCB8IGZhbHNlKTogVCB8IHVuZGVmaW5lZCB7XG4gICAgICBjb25zdCBzdGF0ZSA9IHRoaXMuc3RhdGUuY2xvbmUoKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGYoKTtcbiAgICAgIGlmIChyZXN1bHQgIT09IHVuZGVmaW5lZCAmJiByZXN1bHQgIT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG4gICAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgfVxuXG4gICAgdHNUcnlQYXJzZURlY2xhcmUobmFueTogYW55KTogTi5EZWNsYXJhdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgICBpZiAodGhpcy5pc0xpbmVUZXJtaW5hdG9yKCkpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgbGV0IHN0YXJ0VHlwZSA9IHRoaXMuc3RhdGUudHlwZTtcbiAgICAgIGxldCBraW5kOiBcImxldFwiIHwgbnVsbDtcblxuICAgICAgaWYgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9sZXQpKSB7XG4gICAgICAgIHN0YXJ0VHlwZSA9IHR0Ll92YXI7XG4gICAgICAgIGtpbmQgPSBcImxldFwiO1xuICAgICAgfVxuXG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHJlZmluZSB0eXBpbmdzXG4gICAgICByZXR1cm4gdGhpcy50c0luQW1iaWVudENvbnRleHQoKCkgPT4ge1xuICAgICAgICBzd2l0Y2ggKHN0YXJ0VHlwZSkge1xuICAgICAgICAgIGNhc2UgdHQuX2Z1bmN0aW9uOlxuICAgICAgICAgICAgbmFueS5kZWNsYXJlID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBzdXBlci5wYXJzZUZ1bmN0aW9uU3RhdGVtZW50KFxuICAgICAgICAgICAgICBuYW55LFxuICAgICAgICAgICAgICAvKiBhc3luYyAqLyBmYWxzZSxcbiAgICAgICAgICAgICAgLyogaXNIYW5naW5nRGVjbGFyYXRpb24gKi8gZmFsc2UsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIGNhc2UgdHQuX2NsYXNzOlxuICAgICAgICAgICAgLy8gV2hpbGUgdGhpcyBpcyBhbHNvIHNldCBieSB0c1BhcnNlRXhwcmVzc2lvblN0YXRlbWVudCwgd2UgbmVlZCB0byBzZXQgaXRcbiAgICAgICAgICAgIC8vIGJlZm9yZSBwYXJzaW5nIHRoZSBjbGFzcyBkZWNsYXJhdGlvbiB0byBrbm93IGhvdyB0byByZWdpc3RlciBpdCBpbiB0aGUgc2NvcGUuXG4gICAgICAgICAgICBuYW55LmRlY2xhcmUgPSB0cnVlO1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VDbGFzcyhcbiAgICAgICAgICAgICAgbmFueSxcbiAgICAgICAgICAgICAgLyogaXNTdGF0ZW1lbnQgKi8gdHJ1ZSxcbiAgICAgICAgICAgICAgLyogb3B0aW9uYWxJZCAqLyBmYWxzZSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgY2FzZSB0dC5fZW51bTpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VFbnVtRGVjbGFyYXRpb24obmFueSwgeyBkZWNsYXJlOiB0cnVlIH0pO1xuICAgICAgICAgIGNhc2UgdHQuX2dsb2JhbDpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VBbWJpZW50RXh0ZXJuYWxNb2R1bGVEZWNsYXJhdGlvbihuYW55KTtcbiAgICAgICAgICBjYXNlIHR0Ll9jb25zdDpcbiAgICAgICAgICBjYXNlIHR0Ll92YXI6XG4gICAgICAgICAgICBpZiAoIXRoaXMubWF0Y2godHQuX2NvbnN0KSB8fCAhdGhpcy5pc0xvb2thaGVhZENvbnRleHR1YWwoXCJlbnVtXCIpKSB7XG4gICAgICAgICAgICAgIG5hbnkuZGVjbGFyZSA9IHRydWU7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnBhcnNlVmFyU3RhdGVtZW50KFxuICAgICAgICAgICAgICAgIG5hbnksXG4gICAgICAgICAgICAgICAga2luZCB8fCB0aGlzLnN0YXRlLnZhbHVlLFxuICAgICAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIGBjb25zdCBlbnVtID0gMDtgIG5vdCBhbGxvd2VkIGJlY2F1c2UgXCJlbnVtXCIgaXMgYSBzdHJpY3QgbW9kZSByZXNlcnZlZCB3b3JkLlxuICAgICAgICAgICAgdGhpcy5leHBlY3QodHQuX2NvbnN0KTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VFbnVtRGVjbGFyYXRpb24obmFueSwge1xuICAgICAgICAgICAgICBjb25zdDogdHJ1ZSxcbiAgICAgICAgICAgICAgZGVjbGFyZTogdHJ1ZSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIGNhc2UgdHQuX2ludGVyZmFjZToge1xuICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy50c1BhcnNlSW50ZXJmYWNlRGVjbGFyYXRpb24obmFueSwge1xuICAgICAgICAgICAgICBkZWNsYXJlOiB0cnVlLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBpZiAocmVzdWx0KSByZXR1cm4gcmVzdWx0O1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBmYWxsdGhyb3VnaFxuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBpZiAodG9rZW5Jc0lkZW50aWZpZXIoc3RhcnRUeXBlKSkge1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy50c1BhcnNlRGVjbGFyYXRpb24oXG4gICAgICAgICAgICAgICAgbmFueSxcbiAgICAgICAgICAgICAgICB0aGlzLnN0YXRlLnZhbHVlLFxuICAgICAgICAgICAgICAgIC8qIG5leHQgKi8gdHJ1ZSxcbiAgICAgICAgICAgICAgICAvKiBkZWNvcmF0b3JzICovIG51bGwsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIE5vdGU6IHRoaXMgd29uJ3QgYmUgY2FsbGVkIHVubGVzcyB0aGUga2V5d29yZCBpcyBhbGxvd2VkIGluIGBzaG91bGRQYXJzZUV4cG9ydERlY2xhcmF0aW9uYC5cbiAgICB0c1RyeVBhcnNlRXhwb3J0RGVjbGFyYXRpb24oKTogTi5EZWNsYXJhdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgICByZXR1cm4gdGhpcy50c1BhcnNlRGVjbGFyYXRpb24oXG4gICAgICAgIHRoaXMuc3RhcnROb2RlKCksXG4gICAgICAgIHRoaXMuc3RhdGUudmFsdWUsXG4gICAgICAgIC8qIG5leHQgKi8gdHJ1ZSxcbiAgICAgICAgLyogZGVjb3JhdG9ycyAqLyBudWxsLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0c1BhcnNlRXhwcmVzc2lvblN0YXRlbWVudChcbiAgICAgIG5vZGU6IFVuZG9uZTxOLlRzTW9kdWxlRGVjbGFyYXRpb24+LFxuICAgICAgZXhwcjogTi5JZGVudGlmaWVyLFxuICAgICAgZGVjb3JhdG9yczogTi5EZWNvcmF0b3JbXSB8IG51bGwsXG4gICAgKTogTi5EZWNsYXJhdGlvbiB8IHVuZGVmaW5lZCB7XG4gICAgICBzd2l0Y2ggKGV4cHIubmFtZSkge1xuICAgICAgICBjYXNlIFwiZGVjbGFyZVwiOiB7XG4gICAgICAgICAgY29uc3QgZGVjbGFyYXRpb24gPSB0aGlzLnRzVHJ5UGFyc2VEZWNsYXJlKG5vZGUpO1xuICAgICAgICAgIGlmIChkZWNsYXJhdGlvbikge1xuICAgICAgICAgICAgZGVjbGFyYXRpb24uZGVjbGFyZSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBkZWNsYXJhdGlvbjtcbiAgICAgICAgfVxuICAgICAgICBjYXNlIFwiZ2xvYmFsXCI6XG4gICAgICAgICAgLy8gYGdsb2JhbCB7IH1gICh3aXRoIG5vIGBkZWNsYXJlYCkgbWF5IGFwcGVhciBpbnNpZGUgYW4gYW1iaWVudCBtb2R1bGUgZGVjbGFyYXRpb24uXG4gICAgICAgICAgLy8gV291bGQgbGlrZSB0byB1c2UgdHNQYXJzZUFtYmllbnRFeHRlcm5hbE1vZHVsZURlY2xhcmF0aW9uIGhlcmUsIGJ1dCBhbHJlYWR5IHJhbiBwYXN0IFwiZ2xvYmFsXCIuXG4gICAgICAgICAgaWYgKHRoaXMubWF0Y2godHQuYnJhY2VMKSkge1xuICAgICAgICAgICAgdGhpcy5zY29wZS5lbnRlcihTY29wZUZsYWcuVFNfTU9EVUxFKTtcbiAgICAgICAgICAgIHRoaXMucHJvZFBhcmFtLmVudGVyKFBhcmFtS2luZC5QQVJBTSk7XG4gICAgICAgICAgICBjb25zdCBtb2QgPSBub2RlO1xuICAgICAgICAgICAgbW9kLmtpbmQgPSBcImdsb2JhbFwiO1xuICAgICAgICAgICAgaWYgKCFwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HKSB7XG4gICAgICAgICAgICAgIG5vZGUuZ2xvYmFsID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1vZC5pZCA9IGV4cHI7XG4gICAgICAgICAgICBtb2QuYm9keSA9IHRoaXMudHNQYXJzZU1vZHVsZUJsb2NrKCk7XG4gICAgICAgICAgICB0aGlzLnNjb3BlLmV4aXQoKTtcbiAgICAgICAgICAgIHRoaXMucHJvZFBhcmFtLmV4aXQoKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobW9kLCBcIlRTTW9kdWxlRGVjbGFyYXRpb25cIik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIHRoaXMudHNQYXJzZURlY2xhcmF0aW9uKFxuICAgICAgICAgICAgbm9kZSxcbiAgICAgICAgICAgIGV4cHIubmFtZSxcbiAgICAgICAgICAgIC8qIG5leHQgKi8gZmFsc2UsXG4gICAgICAgICAgICBkZWNvcmF0b3JzLFxuICAgICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ29tbW9uIHRvIHRzVHJ5UGFyc2VEZWNsYXJlLCB0c1RyeVBhcnNlRXhwb3J0RGVjbGFyYXRpb24sIGFuZCB0c1BhcnNlRXhwcmVzc2lvblN0YXRlbWVudC5cbiAgICB0c1BhcnNlRGVjbGFyYXRpb24oXG4gICAgICBub2RlOiBhbnksXG4gICAgICB2YWx1ZTogc3RyaW5nLFxuICAgICAgbmV4dDogYm9vbGVhbixcbiAgICAgIGRlY29yYXRvcnM6IE4uRGVjb3JhdG9yW10gfCBudWxsLFxuICAgICk6IE4uRGVjbGFyYXRpb24gfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICAgIC8vIG5vIGRlY2xhcmF0aW9uIGFwYXJ0IGZyb20gZW51bSBjYW4gYmUgZm9sbG93ZWQgYnkgYSBsaW5lIGJyZWFrLlxuICAgICAgc3dpdGNoICh2YWx1ZSkge1xuICAgICAgICBjYXNlIFwiYWJzdHJhY3RcIjpcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnRzQ2hlY2tMaW5lVGVybWluYXRvcihuZXh0KSAmJlxuICAgICAgICAgICAgKHRoaXMubWF0Y2godHQuX2NsYXNzKSB8fCB0b2tlbklzSWRlbnRpZmllcih0aGlzLnN0YXRlLnR5cGUpKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHNQYXJzZUFic3RyYWN0RGVjbGFyYXRpb24obm9kZSwgZGVjb3JhdG9ycyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgIGNhc2UgXCJtb2R1bGVcIjpcbiAgICAgICAgICBpZiAodGhpcy50c0NoZWNrTGluZVRlcm1pbmF0b3IobmV4dCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1hdGNoKHR0LnN0cmluZykpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHRoaXMudHNQYXJzZUFtYmllbnRFeHRlcm5hbE1vZHVsZURlY2xhcmF0aW9uKG5vZGUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmICh0b2tlbklzSWRlbnRpZmllcih0aGlzLnN0YXRlLnR5cGUpKSB7XG4gICAgICAgICAgICAgIG5vZGUua2luZCA9IFwibW9kdWxlXCI7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VNb2R1bGVPck5hbWVzcGFjZURlY2xhcmF0aW9uKG5vZGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcblxuICAgICAgICBjYXNlIFwibmFtZXNwYWNlXCI6XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy50c0NoZWNrTGluZVRlcm1pbmF0b3IobmV4dCkgJiZcbiAgICAgICAgICAgIHRva2VuSXNJZGVudGlmaWVyKHRoaXMuc3RhdGUudHlwZSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIG5vZGUua2luZCA9IFwibmFtZXNwYWNlXCI7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy50c1BhcnNlTW9kdWxlT3JOYW1lc3BhY2VEZWNsYXJhdGlvbihub2RlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgY2FzZSBcInR5cGVcIjpcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICB0aGlzLnRzQ2hlY2tMaW5lVGVybWluYXRvcihuZXh0KSAmJlxuICAgICAgICAgICAgdG9rZW5Jc0lkZW50aWZpZXIodGhpcy5zdGF0ZS50eXBlKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHNQYXJzZVR5cGVBbGlhc0RlY2xhcmF0aW9uKG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0c0NoZWNrTGluZVRlcm1pbmF0b3IobmV4dDogYm9vbGVhbikge1xuICAgICAgaWYgKG5leHQpIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzRm9sbG93aW5nTGluZUJyZWFrKCkpIHJldHVybiBmYWxzZTtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuICF0aGlzLmlzTGluZVRlcm1pbmF0b3IoKTtcbiAgICB9XG5cbiAgICB0c1RyeVBhcnNlR2VuZXJpY0FzeW5jQXJyb3dGdW5jdGlvbihcbiAgICAgIHN0YXJ0TG9jOiBQb3NpdGlvbixcbiAgICApOiBOLkFycm93RnVuY3Rpb25FeHByZXNzaW9uIHwgdW5kZWZpbmVkIHtcbiAgICAgIGlmICghdGhpcy5tYXRjaCh0dC5sdCkpIHJldHVybjtcblxuICAgICAgY29uc3Qgb2xkTWF5YmVJbkFycm93UGFyYW1ldGVycyA9IHRoaXMuc3RhdGUubWF5YmVJbkFycm93UGFyYW1ldGVycztcbiAgICAgIHRoaXMuc3RhdGUubWF5YmVJbkFycm93UGFyYW1ldGVycyA9IHRydWU7XG5cbiAgICAgIGNvbnN0IHJlczogVW5kb25lPE4uQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24+IHwgdW5kZWZpbmVkID1cbiAgICAgICAgdGhpcy50c1RyeVBhcnNlQW5kQ2F0Y2goKCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24+KHN0YXJ0TG9jKTtcbiAgICAgICAgICBub2RlLnR5cGVQYXJhbWV0ZXJzID0gdGhpcy50c1BhcnNlVHlwZVBhcmFtZXRlcnMoXG4gICAgICAgICAgICB0aGlzLnRzUGFyc2VDb25zdE1vZGlmaWVyLFxuICAgICAgICAgICk7XG4gICAgICAgICAgLy8gRG9uJ3QgdXNlIG92ZXJsb2FkZWQgcGFyc2VGdW5jdGlvblBhcmFtcyB3aGljaCB3b3VsZCBsb29rIGZvciBcIjxcIiBhZ2Fpbi5cbiAgICAgICAgICBzdXBlci5wYXJzZUZ1bmN0aW9uUGFyYW1zKG5vZGUpO1xuICAgICAgICAgIG5vZGUucmV0dXJuVHlwZSA9IHRoaXMudHNUcnlQYXJzZVR5cGVPclR5cGVQcmVkaWNhdGVBbm5vdGF0aW9uKCk7XG4gICAgICAgICAgdGhpcy5leHBlY3QodHQuYXJyb3cpO1xuICAgICAgICAgIHJldHVybiBub2RlO1xuICAgICAgICB9KTtcblxuICAgICAgdGhpcy5zdGF0ZS5tYXliZUluQXJyb3dQYXJhbWV0ZXJzID0gb2xkTWF5YmVJbkFycm93UGFyYW1ldGVycztcblxuICAgICAgaWYgKCFyZXMpIHJldHVybjtcblxuICAgICAgcmV0dXJuIHN1cGVyLnBhcnNlQXJyb3dFeHByZXNzaW9uKFxuICAgICAgICByZXMsXG4gICAgICAgIC8qIHBhcmFtcyBhcmUgYWxyZWFkeSBzZXQgKi8gbnVsbCxcbiAgICAgICAgLyogYXN5bmMgKi8gdHJ1ZSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gVXNlZCB3aGVuIHBhcnNpbmcgdHlwZSBhcmd1bWVudHMgZnJvbSBFUyBwcm9kdWN0aW9ucywgd2hlcmUgdGhlIGZpcnN0IHRva2VuXG4gICAgLy8gaGFzIGJlZW4gY3JlYXRlZCB3aXRob3V0IHN0YXRlLmluVHlwZS4gVGh1cyB3ZSBuZWVkIHRvIHJlc2NhbiB0aGUgbHQgdG9rZW4uXG4gICAgdHNQYXJzZVR5cGVBcmd1bWVudHNJbkV4cHJlc3Npb24oKTpcbiAgICAgIHwgTi5Uc1R5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uXG4gICAgICB8IHVuZGVmaW5lZCB7XG4gICAgICBpZiAodGhpcy5yZVNjYW5fbHQoKSAhPT0gdHQubHQpIHJldHVybjtcbiAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VUeXBlQXJndW1lbnRzKCk7XG4gICAgfVxuXG4gICAgdHNQYXJzZVR5cGVBcmd1bWVudHMoKTogTi5Uc1R5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uIHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLlRzVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb24+KCk7XG4gICAgICBub2RlLnBhcmFtcyA9IHRoaXMudHNJblR5cGUoKCkgPT5cbiAgICAgICAgLy8gVGVtcG9yYXJpbHkgcmVtb3ZlIGEgSlNYIHBhcnNpbmcgY29udGV4dCwgd2hpY2ggbWFrZXMgdXMgc2NhbiBkaWZmZXJlbnQgdG9rZW5zLlxuICAgICAgICB0aGlzLnRzSW5Ob0NvbnRleHQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuZXhwZWN0KHR0Lmx0KTtcbiAgICAgICAgICByZXR1cm4gdGhpcy50c1BhcnNlRGVsaW1pdGVkTGlzdChcbiAgICAgICAgICAgIFwiVHlwZVBhcmFtZXRlcnNPckFyZ3VtZW50c1wiLFxuICAgICAgICAgICAgdGhpcy50c1BhcnNlVHlwZS5iaW5kKHRoaXMpLFxuICAgICAgICAgICk7XG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICAgIGlmIChub2RlLnBhcmFtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdGhpcy5yYWlzZShUU0Vycm9ycy5FbXB0eVR5cGVBcmd1bWVudHMsIG5vZGUpO1xuICAgICAgfSBlbHNlIGlmICghdGhpcy5zdGF0ZS5pblR5cGUgJiYgdGhpcy5jdXJDb250ZXh0KCkgPT09IHRjLmJyYWNlKSB7XG4gICAgICAgIC8vIHJlc2NhbiBgPmAgd2hlbiB3ZSBhcmUgbm8gbG9uZ2VyIGluIHR5cGUgY29udGV4dCBhbmQgSlNYIHBhcnNpbmcgY29udGV4dFxuICAgICAgICAvLyBzaW5jZSBpdCB3YXMgdG9rZW5pemVkIHdoZW4gYGluVHlwZWAgaXMgYHRydWVgLlxuICAgICAgICB0aGlzLnJlU2Nhbl9sdF9ndCgpO1xuICAgICAgfVxuICAgICAgdGhpcy5leHBlY3QodHQuZ3QpO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb25cIik7XG4gICAgfVxuXG4gICAgdHNJc0RlY2xhcmF0aW9uU3RhcnQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdG9rZW5Jc1RTRGVjbGFyYXRpb25TdGFydCh0aGlzLnN0YXRlLnR5cGUpO1xuICAgIH1cblxuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgIC8vIE9WRVJSSURFU1xuICAgIC8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4gICAgaXNFeHBvcnREZWZhdWx0U3BlY2lmaWVyKCk6IGJvb2xlYW4ge1xuICAgICAgaWYgKHRoaXMudHNJc0RlY2xhcmF0aW9uU3RhcnQoKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgcmV0dXJuIHN1cGVyLmlzRXhwb3J0RGVmYXVsdFNwZWNpZmllcigpO1xuICAgIH1cblxuICAgIHBhcnNlQXNzaWduYWJsZUxpc3RJdGVtKFxuICAgICAgZmxhZ3M6IFBhcnNlQmluZGluZ0xpc3RGbGFncyxcbiAgICAgIGRlY29yYXRvcnM6IE4uRGVjb3JhdG9yW10sXG4gICAgKTogTi5QYXR0ZXJuIHwgTi5UU1BhcmFtZXRlclByb3BlcnR5IHtcbiAgICAgIC8vIFN0b3JlIG9yaWdpbmFsIGxvY2F0aW9uIHRvIGluY2x1ZGUgbW9kaWZpZXJzIGluIHJhbmdlXG4gICAgICBjb25zdCBzdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG5cbiAgICAgIGNvbnN0IG1vZGlmaWVkOiBNb2RpZmllckJhc2UgPSB7fTtcbiAgICAgIHRoaXMudHNQYXJzZU1vZGlmaWVycyhcbiAgICAgICAge1xuICAgICAgICAgIGFsbG93ZWRNb2RpZmllcnM6IFtcbiAgICAgICAgICAgIFwicHVibGljXCIsXG4gICAgICAgICAgICBcInByaXZhdGVcIixcbiAgICAgICAgICAgIFwicHJvdGVjdGVkXCIsXG4gICAgICAgICAgICBcIm92ZXJyaWRlXCIsXG4gICAgICAgICAgICBcInJlYWRvbmx5XCIsXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgICAgbW9kaWZpZWQsXG4gICAgICApO1xuICAgICAgY29uc3QgYWNjZXNzaWJpbGl0eSA9IG1vZGlmaWVkLmFjY2Vzc2liaWxpdHk7XG4gICAgICBjb25zdCBvdmVycmlkZSA9IG1vZGlmaWVkLm92ZXJyaWRlO1xuICAgICAgY29uc3QgcmVhZG9ubHkgPSBtb2RpZmllZC5yZWFkb25seTtcbiAgICAgIGlmIChcbiAgICAgICAgIShmbGFncyAmIFBhcnNlQmluZGluZ0xpc3RGbGFncy5JU19DT05TVFJVQ1RPUl9QQVJBTVMpICYmXG4gICAgICAgIChhY2Nlc3NpYmlsaXR5IHx8IHJlYWRvbmx5IHx8IG92ZXJyaWRlKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMucmFpc2UoVFNFcnJvcnMuVW5leHBlY3RlZFBhcmFtZXRlck1vZGlmaWVyLCBzdGFydExvYyk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGxlZnQgPSB0aGlzLnBhcnNlTWF5YmVEZWZhdWx0KCk7XG4gICAgICBpZiAoZmxhZ3MgJiBQYXJzZUJpbmRpbmdMaXN0RmxhZ3MuSVNfRlVOQ1RJT05fUEFSQU1TKSB7XG4gICAgICAgIHRoaXMucGFyc2VGdW5jdGlvblBhcmFtVHlwZShsZWZ0KTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGVsdCA9IHRoaXMucGFyc2VNYXliZURlZmF1bHQobGVmdC5sb2Muc3RhcnQsIGxlZnQpO1xuICAgICAgaWYgKGFjY2Vzc2liaWxpdHkgfHwgcmVhZG9ubHkgfHwgb3ZlcnJpZGUpIHtcbiAgICAgICAgY29uc3QgcHAgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uVFNQYXJhbWV0ZXJQcm9wZXJ0eT4oc3RhcnRMb2MpO1xuICAgICAgICBpZiAoZGVjb3JhdG9ycy5sZW5ndGgpIHtcbiAgICAgICAgICBwcC5kZWNvcmF0b3JzID0gZGVjb3JhdG9ycztcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWNjZXNzaWJpbGl0eSkgcHAuYWNjZXNzaWJpbGl0eSA9IGFjY2Vzc2liaWxpdHk7XG4gICAgICAgIGlmIChyZWFkb25seSkgcHAucmVhZG9ubHkgPSByZWFkb25seTtcbiAgICAgICAgaWYgKG92ZXJyaWRlKSBwcC5vdmVycmlkZSA9IG92ZXJyaWRlO1xuICAgICAgICBpZiAoZWx0LnR5cGUgIT09IFwiSWRlbnRpZmllclwiICYmIGVsdC50eXBlICE9PSBcIkFzc2lnbm1lbnRQYXR0ZXJuXCIpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLlVuc3VwcG9ydGVkUGFyYW1ldGVyUHJvcGVydHlLaW5kLCBwcCk7XG4gICAgICAgIH1cbiAgICAgICAgcHAucGFyYW1ldGVyID0gZWx0IGFzIGFueSBhcyBOLklkZW50aWZpZXIgfCBOLkFzc2lnbm1lbnRQYXR0ZXJuO1xuICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKHBwLCBcIlRTUGFyYW1ldGVyUHJvcGVydHlcIik7XG4gICAgICB9XG5cbiAgICAgIGlmIChkZWNvcmF0b3JzLmxlbmd0aCkge1xuICAgICAgICBsZWZ0LmRlY29yYXRvcnMgPSBkZWNvcmF0b3JzO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZWx0O1xuICAgIH1cblxuICAgIGlzU2ltcGxlUGFyYW1ldGVyKG5vZGU6IE4uUGF0dGVybiB8IE4uVFNQYXJhbWV0ZXJQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgKG5vZGUudHlwZSA9PT0gXCJUU1BhcmFtZXRlclByb3BlcnR5XCIgJiZcbiAgICAgICAgICBzdXBlci5pc1NpbXBsZVBhcmFtZXRlcihub2RlLnBhcmFtZXRlcikpIHx8XG4gICAgICAgIHN1cGVyLmlzU2ltcGxlUGFyYW1ldGVyKG5vZGUpXG4gICAgICApO1xuICAgIH1cblxuICAgIHRzRGlzYWxsb3dPcHRpb25hbFBhdHRlcm4obm9kZTogVW5kb25lPE4uRnVuY3Rpb24+KSB7XG4gICAgICBmb3IgKGNvbnN0IHBhcmFtIG9mIG5vZGUucGFyYW1zKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICBwYXJhbS50eXBlICE9PSBcIklkZW50aWZpZXJcIiAmJlxuICAgICAgICAgIChwYXJhbSBhcyBhbnkpLm9wdGlvbmFsICYmXG4gICAgICAgICAgIXRoaXMuc3RhdGUuaXNBbWJpZW50Q29udGV4dFxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLlBhdHRlcm5Jc09wdGlvbmFsLCBwYXJhbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycyhcbiAgICAgIG5vZGU6IFVuZG9uZTxOLkFycm93RnVuY3Rpb25FeHByZXNzaW9uPixcbiAgICAgIHBhcmFtczogTi5FeHByZXNzaW9uW10sXG4gICAgICB0cmFpbGluZ0NvbW1hTG9jPzogUG9zaXRpb24gfCBudWxsLFxuICAgICk6IHZvaWQge1xuICAgICAgc3VwZXIuc2V0QXJyb3dGdW5jdGlvblBhcmFtZXRlcnMobm9kZSwgcGFyYW1zLCB0cmFpbGluZ0NvbW1hTG9jKTtcbiAgICAgIHRoaXMudHNEaXNhbGxvd09wdGlvbmFsUGF0dGVybihub2RlKTtcbiAgICB9XG5cbiAgICBwYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaDxcbiAgICAgIFQgZXh0ZW5kc1xuICAgICAgICB8IE4uRnVuY3Rpb25cbiAgICAgICAgfCBOLlRTRGVjbGFyZU1ldGhvZFxuICAgICAgICB8IE4uVFNEZWNsYXJlRnVuY3Rpb25cbiAgICAgICAgfCBOLkNsYXNzUHJpdmF0ZU1ldGhvZCxcbiAgICA+KG5vZGU6IFVuZG9uZTxUPiwgdHlwZTogVFtcInR5cGVcIl0sIGlzTWV0aG9kOiBib29sZWFuID0gZmFsc2UpOiBUIHtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmNvbG9uKSkge1xuICAgICAgICBub2RlLnJldHVyblR5cGUgPSB0aGlzLnRzUGFyc2VUeXBlT3JUeXBlUHJlZGljYXRlQW5ub3RhdGlvbih0dC5jb2xvbik7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGJvZGlsZXNzVHlwZSA9XG4gICAgICAgIHR5cGUgPT09IFwiRnVuY3Rpb25EZWNsYXJhdGlvblwiXG4gICAgICAgICAgPyBcIlRTRGVjbGFyZUZ1bmN0aW9uXCJcbiAgICAgICAgICA6IHR5cGUgPT09IFwiQ2xhc3NNZXRob2RcIiB8fCB0eXBlID09PSBcIkNsYXNzUHJpdmF0ZU1ldGhvZFwiXG4gICAgICAgICAgICA/IFwiVFNEZWNsYXJlTWV0aG9kXCJcbiAgICAgICAgICAgIDogdW5kZWZpbmVkO1xuICAgICAgaWYgKGJvZGlsZXNzVHlwZSAmJiAhdGhpcy5tYXRjaCh0dC5icmFjZUwpICYmIHRoaXMuaXNMaW5lVGVybWluYXRvcigpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgYm9kaWxlc3NUeXBlKTtcbiAgICAgIH1cbiAgICAgIGlmIChib2RpbGVzc1R5cGUgPT09IFwiVFNEZWNsYXJlRnVuY3Rpb25cIiAmJiB0aGlzLnN0YXRlLmlzQW1iaWVudENvbnRleHQpIHtcbiAgICAgICAgdGhpcy5yYWlzZShUU0Vycm9ycy5EZWNsYXJlRnVuY3Rpb25IYXNJbXBsZW1lbnRhdGlvbiwgbm9kZSk7XG4gICAgICAgIGlmICgobm9kZSBhcyBVbmRvbmU8Ti5GdW5jdGlvbkRlY2xhcmF0aW9uPikuZGVjbGFyZSkge1xuICAgICAgICAgIHJldHVybiBzdXBlci5wYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaChub2RlLCBib2RpbGVzc1R5cGUsIGlzTWV0aG9kKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy50c0Rpc2FsbG93T3B0aW9uYWxQYXR0ZXJuKG5vZGUpO1xuXG4gICAgICByZXR1cm4gc3VwZXIucGFyc2VGdW5jdGlvbkJvZHlBbmRGaW5pc2gobm9kZSwgdHlwZSwgaXNNZXRob2QpO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyRnVuY3Rpb25TdGF0ZW1lbnRJZChub2RlOiBOLkZ1bmN0aW9uKTogdm9pZCB7XG4gICAgICBpZiAoIW5vZGUuYm9keSAmJiBub2RlLmlkKSB7XG4gICAgICAgIC8vIEZ1bmN0aW9uIGlkcyBhcmUgdmFsaWRhdGVkIGFmdGVyIHBhcnNpbmcgdGhlaXIgYm9keS5cbiAgICAgICAgLy8gRm9yIGJvZGlsZXNzIGZ1bmN0aW9uLCB3ZSBuZWVkIHRvIGRvIGl0IGhlcmUuXG4gICAgICAgIHRoaXMuY2hlY2tJZGVudGlmaWVyKG5vZGUuaWQsIEJpbmRpbmdGbGFnLlRZUEVfVFNfQU1CSUVOVCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdXBlci5yZWdpc3RlckZ1bmN0aW9uU3RhdGVtZW50SWQobm9kZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdHNDaGVja0ZvckludmFsaWRUeXBlQ2FzdHMoaXRlbXM6IEFycmF5PE4uRXhwcmVzc2lvbiB8IE4uU3ByZWFkRWxlbWVudD4pIHtcbiAgICAgIGl0ZW1zLmZvckVhY2gobm9kZSA9PiB7XG4gICAgICAgIGlmIChub2RlPy50eXBlID09PSBcIlRTVHlwZUNhc3RFeHByZXNzaW9uXCIpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLlVuZXhwZWN0ZWRUeXBlQW5ub3RhdGlvbiwgbm9kZS50eXBlQW5ub3RhdGlvbik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRvUmVmZXJlbmNlZExpc3QoXG4gICAgICBleHByTGlzdDogQXJyYXk8Ti5FeHByZXNzaW9uIHwgdW5kZWZpbmVkIHwgbnVsbD4sXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICBpc0luUGFyZW5zPzogYm9vbGVhbixcbiAgICApOiBBcnJheTxOLkV4cHJlc3Npb24gfCB1bmRlZmluZWQgfCBudWxsPiB7XG4gICAgICAvLyBIYW5kbGVzIGludmFsaWQgc2NlbmFyaW9zIGxpa2U6IGBmKGE6YilgLCBgKGE6Yik7YCwgYW5kIGAoYTpiLGM6ZClgLlxuICAgICAgLy9cbiAgICAgIC8vIE5vdGUgdGhhdCBgZjxUPihhOmIpYCBnb2VzIHRocm91Z2ggYSBkaWZmZXJlbnQgcGF0aCBhbmQgaXMgaGFuZGxlZFxuICAgICAgLy8gaW4gYHBhcnNlU3Vic2NyaXB0YCBkaXJlY3RseS5cbiAgICAgIHRoaXMudHNDaGVja0ZvckludmFsaWRUeXBlQ2FzdHMoZXhwckxpc3QpO1xuICAgICAgcmV0dXJuIGV4cHJMaXN0O1xuICAgIH1cblxuICAgIHBhcnNlQXJyYXlMaWtlKFxuICAgICAgY2xvc2U6IFRva2VuVHlwZSxcbiAgICAgIGNhbkJlUGF0dGVybjogYm9vbGVhbixcbiAgICAgIGlzVHVwbGU6IGJvb2xlYW4sXG4gICAgICByZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwsXG4gICAgKTogTi5BcnJheUV4cHJlc3Npb24gfCBOLlR1cGxlRXhwcmVzc2lvbiB7XG4gICAgICBjb25zdCBub2RlID0gc3VwZXIucGFyc2VBcnJheUxpa2UoXG4gICAgICAgIGNsb3NlLFxuICAgICAgICBjYW5CZVBhdHRlcm4sXG4gICAgICAgIGlzVHVwbGUsXG4gICAgICAgIHJlZkV4cHJlc3Npb25FcnJvcnMsXG4gICAgICApO1xuXG4gICAgICBpZiAobm9kZS50eXBlID09PSBcIkFycmF5RXhwcmVzc2lvblwiKSB7XG4gICAgICAgIHRoaXMudHNDaGVja0ZvckludmFsaWRUeXBlQ2FzdHMobm9kZS5lbGVtZW50cyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBub2RlO1xuICAgIH1cblxuICAgIHBhcnNlU3Vic2NyaXB0KFxuICAgICAgYmFzZTogTi5FeHByZXNzaW9uLFxuXG4gICAgICBzdGFydExvYzogUG9zaXRpb24sXG4gICAgICBub0NhbGxzOiBib29sZWFuIHwgdW5kZWZpbmVkIHwgbnVsbCxcbiAgICAgIHN0YXRlOiBOLlBhcnNlU3Vic2NyaXB0U3RhdGUsXG4gICAgKTogTi5FeHByZXNzaW9uIHtcbiAgICAgIGlmICghdGhpcy5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSAmJiB0aGlzLm1hdGNoKHR0LmJhbmcpKSB7XG4gICAgICAgIC8vIFdoZW4gISBpcyBjb25zdW1lZCBhcyBhIHBvc3RmaXggb3BlcmF0b3IgKG5vbi1udWxsIGFzc2VydGlvbiksXG4gICAgICAgIC8vIGRpc2FsbG93IEpTWCB0YWcgZm9ybWluZyBhZnRlci4gZS5nLiBXaGVuIHBhcnNpbmcgYHAhIDwgbi5wIWBcbiAgICAgICAgLy8gYDxuLnBgIGNhbiBub3QgYmUgYSBzdGFydCBvZiBKU1ggdGFnXG4gICAgICAgIHRoaXMuc3RhdGUuY2FuU3RhcnRKU1hFbGVtZW50ID0gZmFsc2U7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuXG4gICAgICAgIGNvbnN0IG5vbk51bGxFeHByZXNzaW9uID1cbiAgICAgICAgICB0aGlzLnN0YXJ0Tm9kZUF0PE4uVHNOb25OdWxsRXhwcmVzc2lvbj4oc3RhcnRMb2MpO1xuICAgICAgICBub25OdWxsRXhwcmVzc2lvbi5leHByZXNzaW9uID0gYmFzZTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub25OdWxsRXhwcmVzc2lvbiwgXCJUU05vbk51bGxFeHByZXNzaW9uXCIpO1xuICAgICAgfVxuXG4gICAgICBsZXQgaXNPcHRpb25hbENhbGwgPSBmYWxzZTtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5tYXRjaCh0dC5xdWVzdGlvbkRvdCkgJiZcbiAgICAgICAgdGhpcy5sb29rYWhlYWRDaGFyQ29kZSgpID09PSBjaGFyQ29kZXMubGVzc1RoYW5cbiAgICAgICkge1xuICAgICAgICBpZiAobm9DYWxscykge1xuICAgICAgICAgIHN0YXRlLnN0b3AgPSB0cnVlO1xuICAgICAgICAgIHJldHVybiBiYXNlO1xuICAgICAgICB9XG4gICAgICAgIHN0YXRlLm9wdGlvbmFsQ2hhaW5NZW1iZXIgPSBpc09wdGlvbmFsQ2FsbCA9IHRydWU7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgfVxuXG4gICAgICAvLyBoYW5kbGVzICdmPDxUPidcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0Lmx0KSB8fCB0aGlzLm1hdGNoKHR0LmJpdFNoaWZ0TCkpIHtcbiAgICAgICAgbGV0IG1pc3NpbmdQYXJlbkVycm9yTG9jO1xuICAgICAgICAvLyB0c1RyeVBhcnNlQW5kQ2F0Y2ggaXMgZXhwZW5zaXZlLCBzbyBhdm9pZCBpZiBub3QgbmVjZXNzYXJ5LlxuICAgICAgICAvLyBUaGVyZSBhcmUgbnVtYmVyIG9mIHRoaW5ncyB3ZSBhcmUgZ29pbmcgdG8gXCJtYXliZVwiIHBhcnNlLCBsaWtlIHR5cGUgYXJndW1lbnRzIG9uXG4gICAgICAgIC8vIHRhZ2dlZCB0ZW1wbGF0ZSBleHByZXNzaW9ucy4gSWYgYW55IG9mIHRoZW0gZmFpbCwgd2FsayBpdCBiYWNrIGFuZCBjb250aW51ZS5cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy50c1RyeVBhcnNlQW5kQ2F0Y2goKCkgPT4ge1xuICAgICAgICAgIGlmICghbm9DYWxscyAmJiB0aGlzLmF0UG9zc2libGVBc3luY0Fycm93KGJhc2UpKSB7XG4gICAgICAgICAgICAvLyBBbG1vc3QgY2VydGFpbmx5IHRoaXMgaXMgYSBnZW5lcmljIGFzeW5jIGZ1bmN0aW9uIGBhc3luYyA8VD4oKSA9PiAuLi5cbiAgICAgICAgICAgIC8vIEJ1dCBpdCBtaWdodCBiZSBhIGNhbGwgd2l0aCBhIHR5cGUgYXJndW1lbnQgYGFzeW5jPFQ+KCk7YFxuICAgICAgICAgICAgY29uc3QgYXN5bmNBcnJvd0ZuID1cbiAgICAgICAgICAgICAgdGhpcy50c1RyeVBhcnNlR2VuZXJpY0FzeW5jQXJyb3dGdW5jdGlvbihzdGFydExvYyk7XG4gICAgICAgICAgICBpZiAoYXN5bmNBcnJvd0ZuKSB7XG4gICAgICAgICAgICAgIHJldHVybiBhc3luY0Fycm93Rm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgdHlwZUFyZ3VtZW50cyA9IHRoaXMudHNQYXJzZVR5cGVBcmd1bWVudHNJbkV4cHJlc3Npb24oKTtcbiAgICAgICAgICBpZiAoIXR5cGVBcmd1bWVudHMpIHJldHVybjtcblxuICAgICAgICAgIGlmIChpc09wdGlvbmFsQ2FsbCAmJiAhdGhpcy5tYXRjaCh0dC5wYXJlbkwpKSB7XG4gICAgICAgICAgICBtaXNzaW5nUGFyZW5FcnJvckxvYyA9IHRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodG9rZW5Jc1RlbXBsYXRlKHRoaXMuc3RhdGUudHlwZSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHN1cGVyLnBhcnNlVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uKFxuICAgICAgICAgICAgICBiYXNlLFxuICAgICAgICAgICAgICBzdGFydExvYyxcbiAgICAgICAgICAgICAgc3RhdGUsXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmVzdWx0LnR5cGVQYXJhbWV0ZXJzID0gdHlwZUFyZ3VtZW50cztcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKCFub0NhbGxzICYmIHRoaXMuZWF0KHR0LnBhcmVuTCkpIHtcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PFxuICAgICAgICAgICAgICBOLkNhbGxFeHByZXNzaW9uIHwgTi5PcHRpb25hbENhbGxFeHByZXNzaW9uXG4gICAgICAgICAgICA+KHN0YXJ0TG9jKTtcbiAgICAgICAgICAgIG5vZGUuY2FsbGVlID0gYmFzZTtcbiAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgKHdvbid0IGJlIGFueSB1bmRlZmluZWQgYXJndW1lbnRzKVxuICAgICAgICAgICAgbm9kZS5hcmd1bWVudHMgPSB0aGlzLnBhcnNlQ2FsbEV4cHJlc3Npb25Bcmd1bWVudHModHQucGFyZW5SKTtcblxuICAgICAgICAgICAgLy8gSGFuZGxlcyBpbnZhbGlkIGNhc2U6IGBmPFQ+KGE6YilgXG4gICAgICAgICAgICB0aGlzLnRzQ2hlY2tGb3JJbnZhbGlkVHlwZUNhc3RzKG5vZGUuYXJndW1lbnRzKTtcblxuICAgICAgICAgICAgbm9kZS50eXBlUGFyYW1ldGVycyA9IHR5cGVBcmd1bWVudHM7XG4gICAgICAgICAgICBpZiAoc3RhdGUub3B0aW9uYWxDaGFpbk1lbWJlcikge1xuICAgICAgICAgICAgICAobm9kZSBhcyBVbmRvbmU8Ti5PcHRpb25hbENhbGxFeHByZXNzaW9uPikub3B0aW9uYWwgPVxuICAgICAgICAgICAgICAgIGlzT3B0aW9uYWxDYWxsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hDYWxsRXhwcmVzc2lvbihub2RlLCBzdGF0ZS5vcHRpb25hbENoYWluTWVtYmVyKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB0b2tlblR5cGUgPSB0aGlzLnN0YXRlLnR5cGU7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgLy8gYTxiPj5jIGlzIG5vdCAoYTxiPik+YywgYnV0IGE8KGI+PmMpXG4gICAgICAgICAgICB0b2tlblR5cGUgPT09IHR0Lmd0IHx8XG4gICAgICAgICAgICAvLyBhPGI+Pj5jIGlzIG5vdCAoYTxiPik+PmMsIGJ1dCBhPChiPj4+YylcbiAgICAgICAgICAgIHRva2VuVHlwZSA9PT0gdHQuYml0U2hpZnRSIHx8XG4gICAgICAgICAgICAvLyBhPGI+YyBpcyAoYTxiKT5jXG4gICAgICAgICAgICAodG9rZW5UeXBlICE9PSB0dC5wYXJlbkwgJiZcbiAgICAgICAgICAgICAgdG9rZW5DYW5TdGFydEV4cHJlc3Npb24odG9rZW5UeXBlKSAmJlxuICAgICAgICAgICAgICAhdGhpcy5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIC8vIEJhaWwgb3V0LlxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uVHNJbnN0YW50aWF0aW9uRXhwcmVzc2lvbj4oc3RhcnRMb2MpO1xuICAgICAgICAgIG5vZGUuZXhwcmVzc2lvbiA9IGJhc2U7XG4gICAgICAgICAgbm9kZS50eXBlUGFyYW1ldGVycyA9IHR5cGVBcmd1bWVudHM7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRTSW5zdGFudGlhdGlvbkV4cHJlc3Npb25cIik7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGlmIChtaXNzaW5nUGFyZW5FcnJvckxvYykge1xuICAgICAgICAgIHRoaXMudW5leHBlY3RlZChtaXNzaW5nUGFyZW5FcnJvckxvYywgdHQucGFyZW5MKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChyZXN1bHQpIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICByZXN1bHQudHlwZSA9PT0gXCJUU0luc3RhbnRpYXRpb25FeHByZXNzaW9uXCIgJiZcbiAgICAgICAgICAgICh0aGlzLm1hdGNoKHR0LmRvdCkgfHxcbiAgICAgICAgICAgICAgKHRoaXMubWF0Y2godHQucXVlc3Rpb25Eb3QpICYmXG4gICAgICAgICAgICAgICAgdGhpcy5sb29rYWhlYWRDaGFyQ29kZSgpICE9PSBjaGFyQ29kZXMubGVmdFBhcmVudGhlc2lzKSlcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucmFpc2UoXG4gICAgICAgICAgICAgIFRTRXJyb3JzLkludmFsaWRQcm9wZXJ0eUFjY2Vzc0FmdGVySW5zdGFudGlhdGlvbkV4cHJlc3Npb24sXG4gICAgICAgICAgICAgIHRoaXMuc3RhdGUuc3RhcnRMb2MsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdXBlci5wYXJzZVN1YnNjcmlwdChiYXNlLCBzdGFydExvYywgbm9DYWxscywgc3RhdGUpO1xuICAgIH1cblxuICAgIHBhcnNlTmV3Q2FsbGVlKG5vZGU6IE4uTmV3RXhwcmVzc2lvbik6IHZvaWQge1xuICAgICAgc3VwZXIucGFyc2VOZXdDYWxsZWUobm9kZSk7XG5cbiAgICAgIGNvbnN0IHsgY2FsbGVlIH0gPSBub2RlO1xuICAgICAgaWYgKFxuICAgICAgICBjYWxsZWUudHlwZSA9PT0gXCJUU0luc3RhbnRpYXRpb25FeHByZXNzaW9uXCIgJiZcbiAgICAgICAgIWNhbGxlZS5leHRyYT8ucGFyZW50aGVzaXplZFxuICAgICAgKSB7XG4gICAgICAgIG5vZGUudHlwZVBhcmFtZXRlcnMgPSBjYWxsZWUudHlwZVBhcmFtZXRlcnM7XG4gICAgICAgIG5vZGUuY2FsbGVlID0gY2FsbGVlLmV4cHJlc3Npb247XG4gICAgICB9XG4gICAgfVxuXG4gICAgcGFyc2VFeHByT3AoXG4gICAgICBsZWZ0OiBOLkV4cHJlc3Npb24sXG4gICAgICBsZWZ0U3RhcnRMb2M6IFBvc2l0aW9uLFxuICAgICAgbWluUHJlYzogbnVtYmVyLFxuICAgICk6IE4uRXhwcmVzc2lvbiB7XG4gICAgICBsZXQgaXNTYXRpc2ZpZXM6IGJvb2xlYW47XG4gICAgICBpZiAoXG4gICAgICAgIHRva2VuT3BlcmF0b3JQcmVjZWRlbmNlKHR0Ll9pbikgPiBtaW5QcmVjICYmXG4gICAgICAgICF0aGlzLmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpICYmXG4gICAgICAgICh0aGlzLmlzQ29udGV4dHVhbCh0dC5fYXMpIHx8XG4gICAgICAgICAgKGlzU2F0aXNmaWVzID0gdGhpcy5pc0NvbnRleHR1YWwodHQuX3NhdGlzZmllcykpKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PFxuICAgICAgICAgIE4uVHNBc0V4cHJlc3Npb24gfCBOLlRzU2F0aXNmaWVzRXhwcmVzc2lvblxuICAgICAgICA+KGxlZnRTdGFydExvYyk7XG4gICAgICAgIG5vZGUuZXhwcmVzc2lvbiA9IGxlZnQ7XG4gICAgICAgIG5vZGUudHlwZUFubm90YXRpb24gPSB0aGlzLnRzSW5UeXBlKCgpID0+IHtcbiAgICAgICAgICB0aGlzLm5leHQoKTsgLy8gXCJhc1wiIG9yIFwic2F0aXNmaWVzXCJcbiAgICAgICAgICBpZiAodGhpcy5tYXRjaCh0dC5fY29uc3QpKSB7XG4gICAgICAgICAgICBpZiAoaXNTYXRpc2ZpZXMpIHtcbiAgICAgICAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuVW5leHBlY3RlZEtleXdvcmQsIHRoaXMuc3RhdGUuc3RhcnRMb2MsIHtcbiAgICAgICAgICAgICAgICBrZXl3b3JkOiBcImNvbnN0XCIsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudHNQYXJzZVR5cGVSZWZlcmVuY2UoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gdGhpcy50c1BhcnNlVHlwZSgpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5maW5pc2hOb2RlKFxuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgaXNTYXRpc2ZpZXMgPyBcIlRTU2F0aXNmaWVzRXhwcmVzc2lvblwiIDogXCJUU0FzRXhwcmVzc2lvblwiLFxuICAgICAgICApO1xuICAgICAgICAvLyByZXNjYW4gYDxgLCBgPmAgYmVjYXVzZSB0aGV5IHdlcmUgc2Nhbm5lZCB3aGVuIHRoaXMuc3RhdGUuaW5UeXBlIHdhcyB0cnVlXG4gICAgICAgIHRoaXMucmVTY2FuX2x0X2d0KCk7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlRXhwck9wKFxuICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdG9kbyhmbG93LT50cylcbiAgICAgICAgICBub2RlLFxuICAgICAgICAgIGxlZnRTdGFydExvYyxcbiAgICAgICAgICBtaW5QcmVjLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3VwZXIucGFyc2VFeHByT3AobGVmdCwgbGVmdFN0YXJ0TG9jLCBtaW5QcmVjKTtcbiAgICB9XG5cbiAgICBjaGVja1Jlc2VydmVkV29yZChcbiAgICAgIHdvcmQ6IHN0cmluZyxcbiAgICAgIHN0YXJ0TG9jOiBQb3NpdGlvbixcbiAgICAgIGNoZWNrS2V5d29yZHM6IGJvb2xlYW4sXG4gICAgICBpc0JpbmRpbmc6IGJvb2xlYW4sXG4gICAgKTogdm9pZCB7XG4gICAgICAvLyBTdHJpY3QgbW9kZSB3b3JkcyBtYXkgYmUgYWxsb3dlZCBhcyBpbiBgZGVjbGFyZSBuYW1lc3BhY2UgTiB7IGNvbnN0IHN0YXRpYzogbnVtYmVyOyB9YC5cbiAgICAgIC8vIEFuZCB3ZSBoYXZlIGEgdHlwZSBjaGVja2VyIGFueXdheSwgc28gZG9uJ3QgYm90aGVyIGhhdmluZyB0aGUgcGFyc2VyIGRvIGl0LlxuICAgICAgaWYgKCF0aGlzLnN0YXRlLmlzQW1iaWVudENvbnRleHQpIHtcbiAgICAgICAgc3VwZXIuY2hlY2tSZXNlcnZlZFdvcmQod29yZCwgc3RhcnRMb2MsIGNoZWNrS2V5d29yZHMsIGlzQmluZGluZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2hlY2tJbXBvcnRSZWZsZWN0aW9uKG5vZGU6IFVuZG9uZTxOLkltcG9ydERlY2xhcmF0aW9uPikge1xuICAgICAgc3VwZXIuY2hlY2tJbXBvcnRSZWZsZWN0aW9uKG5vZGUpO1xuICAgICAgaWYgKG5vZGUubW9kdWxlICYmIG5vZGUuaW1wb3J0S2luZCAhPT0gXCJ2YWx1ZVwiKSB7XG4gICAgICAgIHRoaXMucmFpc2UoXG4gICAgICAgICAgVFNFcnJvcnMuSW1wb3J0UmVmbGVjdGlvbkhhc0ltcG9ydFR5cGUsXG4gICAgICAgICAgbm9kZS5zcGVjaWZpZXJzWzBdLmxvYy5zdGFydCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKlxuICAgIERvbid0IGJvdGhlciBkb2luZyB0aGlzIGNoZWNrIGluIFR5cGVTY3JpcHQgY29kZSBiZWNhdXNlOlxuICAgIDEuIFdlIG1heSBoYXZlIGEgbmVzdGVkIGV4cG9ydCBzdGF0ZW1lbnQgd2l0aCB0aGUgc2FtZSBuYW1lOlxuICAgICAgZXhwb3J0IGNvbnN0IHggPSAwO1xuICAgICAgZXhwb3J0IG5hbWVzcGFjZSBOIHtcbiAgICAgICAgZXhwb3J0IGNvbnN0IHggPSAxO1xuICAgICAgfVxuICAgIDIuIFdlIGhhdmUgYSB0eXBlIGNoZWNrZXIgdG8gd2FybiB1cyBhYm91dCB0aGlzIHNvcnQgb2YgdGhpbmcuXG4gICAgKi9cbiAgICBjaGVja0R1cGxpY2F0ZUV4cG9ydHMoKSB7fVxuXG4gICAgaXNQb3RlbnRpYWxJbXBvcnRQaGFzZShpc0V4cG9ydDogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgICAgaWYgKHN1cGVyLmlzUG90ZW50aWFsSW1wb3J0UGhhc2UoaXNFeHBvcnQpKSByZXR1cm4gdHJ1ZTtcbiAgICAgIGlmICh0aGlzLmlzQ29udGV4dHVhbCh0dC5fdHlwZSkpIHtcbiAgICAgICAgY29uc3QgY2ggPSB0aGlzLmxvb2thaGVhZENoYXJDb2RlKCk7XG4gICAgICAgIHJldHVybiBpc0V4cG9ydFxuICAgICAgICAgID8gY2ggPT09IGNoYXJDb2Rlcy5sZWZ0Q3VybHlCcmFjZSB8fCBjaCA9PT0gY2hhckNvZGVzLmFzdGVyaXNrXG4gICAgICAgICAgOiBjaCAhPT0gY2hhckNvZGVzLmVxdWFsc1RvO1xuICAgICAgfVxuICAgICAgcmV0dXJuICFpc0V4cG9ydCAmJiB0aGlzLmlzQ29udGV4dHVhbCh0dC5fdHlwZW9mKTtcbiAgICB9XG5cbiAgICBhcHBseUltcG9ydFBoYXNlKFxuICAgICAgbm9kZTogVW5kb25lPE4uSW1wb3J0RGVjbGFyYXRpb24gfCBOLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24+LFxuICAgICAgaXNFeHBvcnQ6IGJvb2xlYW4sXG4gICAgICBwaGFzZTogc3RyaW5nIHwgbnVsbCxcbiAgICAgIGxvYz86IFBvc2l0aW9uLFxuICAgICk6IHZvaWQge1xuICAgICAgc3VwZXIuYXBwbHlJbXBvcnRQaGFzZShub2RlLCBpc0V4cG9ydCwgcGhhc2UsIGxvYyk7XG4gICAgICBpZiAoaXNFeHBvcnQpIHtcbiAgICAgICAgKG5vZGUgYXMgTi5FeHBvcnROYW1lZERlY2xhcmF0aW9uKS5leHBvcnRLaW5kID1cbiAgICAgICAgICBwaGFzZSA9PT0gXCJ0eXBlXCIgPyBcInR5cGVcIiA6IFwidmFsdWVcIjtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIChub2RlIGFzIE4uSW1wb3J0RGVjbGFyYXRpb24pLmltcG9ydEtpbmQgPVxuICAgICAgICAgIHBoYXNlID09PSBcInR5cGVcIiB8fCBwaGFzZSA9PT0gXCJ0eXBlb2ZcIiA/IHBoYXNlIDogXCJ2YWx1ZVwiO1xuICAgICAgfVxuICAgIH1cblxuICAgIHBhcnNlSW1wb3J0KFxuICAgICAgbm9kZTogVW5kb25lPE4uSW1wb3J0RGVjbGFyYXRpb24gfCBOLlRzSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24+LFxuICAgICk6IE4uQW55SW1wb3J0IHtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LnN0cmluZykpIHtcbiAgICAgICAgbm9kZS5pbXBvcnRLaW5kID0gXCJ2YWx1ZVwiO1xuICAgICAgICByZXR1cm4gc3VwZXIucGFyc2VJbXBvcnQobm9kZSBhcyBVbmRvbmU8Ti5JbXBvcnREZWNsYXJhdGlvbj4pO1xuICAgICAgfVxuXG4gICAgICBsZXQgaW1wb3J0Tm9kZTtcbiAgICAgIGlmIChcbiAgICAgICAgdG9rZW5Jc0lkZW50aWZpZXIodGhpcy5zdGF0ZS50eXBlKSAmJlxuICAgICAgICB0aGlzLmxvb2thaGVhZENoYXJDb2RlKCkgPT09IGNoYXJDb2Rlcy5lcXVhbHNUb1xuICAgICAgKSB7XG4gICAgICAgIG5vZGUuaW1wb3J0S2luZCA9IFwidmFsdWVcIjtcbiAgICAgICAgcmV0dXJuIHRoaXMudHNQYXJzZUltcG9ydEVxdWFsc0RlY2xhcmF0aW9uKFxuICAgICAgICAgIG5vZGUgYXMgVW5kb25lPE4uVHNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbj4sXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll90eXBlKSkge1xuICAgICAgICBjb25zdCBtYXliZURlZmF1bHRJZGVudGlmaWVyID0gdGhpcy5wYXJzZU1heWJlSW1wb3J0UGhhc2UoXG4gICAgICAgICAgbm9kZSBhcyBVbmRvbmU8Ti5JbXBvcnREZWNsYXJhdGlvbj4sXG4gICAgICAgICAgLyogaXNFeHBvcnQgKi8gZmFsc2UsXG4gICAgICAgICk7XG4gICAgICAgIGlmICh0aGlzLmxvb2thaGVhZENoYXJDb2RlKCkgPT09IGNoYXJDb2Rlcy5lcXVhbHNUbykge1xuICAgICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbihcbiAgICAgICAgICAgIG5vZGUgYXMgVW5kb25lPE4uVHNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbj4sXG4gICAgICAgICAgICBtYXliZURlZmF1bHRJZGVudGlmaWVyLFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaW1wb3J0Tm9kZSA9IHN1cGVyLnBhcnNlSW1wb3J0U3BlY2lmaWVyc0FuZEFmdGVyKFxuICAgICAgICAgICAgbm9kZSBhcyBVbmRvbmU8Ti5JbXBvcnREZWNsYXJhdGlvbj4sXG4gICAgICAgICAgICBtYXliZURlZmF1bHRJZGVudGlmaWVyLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGltcG9ydE5vZGUgPSBzdXBlci5wYXJzZUltcG9ydChub2RlIGFzIFVuZG9uZTxOLkltcG9ydERlY2xhcmF0aW9uPik7XG4gICAgICB9XG5cbiAgICAgIC8vIGBpbXBvcnQgdHlwZWAgY2FuIG9ubHkgYmUgdXNlZCBvbiBpbXBvcnRzIHdpdGggbmFtZWQgaW1wb3J0cyBvciB3aXRoIGFcbiAgICAgIC8vIGRlZmF1bHQgaW1wb3J0IC0gYnV0IG5vdCBib3RoXG4gICAgICBpZiAoXG4gICAgICAgIGltcG9ydE5vZGUuaW1wb3J0S2luZCA9PT0gXCJ0eXBlXCIgJiZcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciByZWZpbmUgdHlwaW5nc1xuICAgICAgICBpbXBvcnROb2RlLnNwZWNpZmllcnMubGVuZ3RoID4gMSAmJlxuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHJlZmluZSB0eXBpbmdzXG4gICAgICAgIGltcG9ydE5vZGUuc3BlY2lmaWVyc1swXS50eXBlID09PSBcIkltcG9ydERlZmF1bHRTcGVjaWZpZXJcIlxuICAgICAgKSB7XG4gICAgICAgIHRoaXMucmFpc2UoVFNFcnJvcnMuVHlwZUltcG9ydENhbm5vdFNwZWNpZnlEZWZhdWx0QW5kTmFtZWQsIGltcG9ydE5vZGUpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gaW1wb3J0Tm9kZTtcbiAgICB9XG5cbiAgICBwYXJzZUV4cG9ydChcbiAgICAgIG5vZGU6IFVuZG9uZTxcbiAgICAgICAgfCBOLkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblxuICAgICAgICB8IE4uRXhwb3J0QWxsRGVjbGFyYXRpb25cbiAgICAgICAgfCBOLkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cbiAgICAgID4sXG4gICAgICBkZWNvcmF0b3JzOiBOLkRlY29yYXRvcltdIHwgbnVsbCxcbiAgICApOiBOLkFueUV4cG9ydCB7XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5faW1wb3J0KSkge1xuICAgICAgICAvLyBgZXhwb3J0IGltcG9ydCBBID0gQjtgXG4gICAgICAgIHRoaXMubmV4dCgpOyAvLyBlYXQgYHR0Ll9pbXBvcnRgXG4gICAgICAgIGNvbnN0IG5vZGVJbXBvcnRFcXVhbHMgPSBub2RlIGFzIFVuZG9uZTxOLlRzSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24+O1xuICAgICAgICBsZXQgbWF5YmVEZWZhdWx0SWRlbnRpZmllcjogTi5JZGVudGlmaWVyIHwgbnVsbCA9IG51bGw7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLmlzQ29udGV4dHVhbCh0dC5fdHlwZSkgJiZcbiAgICAgICAgICAvLyBXZSBwYXNzIGZhbHNlIGhlcmUsIGJlY2F1c2Ugd2UgYXJlIHBhcnNpbmcgYW4gYGltcG9ydCAuLi4gPWBcbiAgICAgICAgICB0aGlzLmlzUG90ZW50aWFsSW1wb3J0UGhhc2UoLyogaXNFeHBvcnQgKi8gZmFsc2UpXG4gICAgICAgICkge1xuICAgICAgICAgIG1heWJlRGVmYXVsdElkZW50aWZpZXIgPSB0aGlzLnBhcnNlTWF5YmVJbXBvcnRQaGFzZShcbiAgICAgICAgICAgIG5vZGVJbXBvcnRFcXVhbHMsXG4gICAgICAgICAgICAvKiBpc0V4cG9ydCAqLyBmYWxzZSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5vZGVJbXBvcnRFcXVhbHMuaW1wb3J0S2luZCA9IFwidmFsdWVcIjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy50c1BhcnNlSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24oXG4gICAgICAgICAgbm9kZUltcG9ydEVxdWFscyxcbiAgICAgICAgICBtYXliZURlZmF1bHRJZGVudGlmaWVyLFxuICAgICAgICAgIC8qIGlzRXhwb3J0ICovIHRydWUsXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZWF0KHR0LmVxKSkge1xuICAgICAgICAvLyBgZXhwb3J0ID0geDtgXG4gICAgICAgIGNvbnN0IGFzc2lnbiA9IG5vZGUgYXMgVW5kb25lPE4uVHNFeHBvcnRBc3NpZ25tZW50PjtcbiAgICAgICAgYXNzaWduLmV4cHJlc3Npb24gPSBzdXBlci5wYXJzZUV4cHJlc3Npb24oKTtcbiAgICAgICAgdGhpcy5zZW1pY29sb24oKTtcbiAgICAgICAgdGhpcy5zYXdVbmFtYmlndW91c0VTTSA9IHRydWU7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUoYXNzaWduLCBcIlRTRXhwb3J0QXNzaWdubWVudFwiKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5lYXRDb250ZXh0dWFsKHR0Ll9hcykpIHtcbiAgICAgICAgLy8gYGV4cG9ydCBhcyBuYW1lc3BhY2UgQTtgXG4gICAgICAgIGNvbnN0IGRlY2wgPSBub2RlIGFzIFVuZG9uZTxOLlRzTmFtZXNwYWNlRXhwb3J0RGVjbGFyYXRpb24+O1xuICAgICAgICAvLyBTZWUgYHBhcnNlTmFtZXNwYWNlRXhwb3J0RGVjbGFyYXRpb25gIGluIFR5cGVTY3JpcHQncyBvd24gcGFyc2VyXG4gICAgICAgIHRoaXMuZXhwZWN0Q29udGV4dHVhbCh0dC5fbmFtZXNwYWNlKTtcbiAgICAgICAgZGVjbC5pZCA9IHRoaXMucGFyc2VJZGVudGlmaWVyKCk7XG4gICAgICAgIHRoaXMuc2VtaWNvbG9uKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUoZGVjbCwgXCJUU05hbWVzcGFjZUV4cG9ydERlY2xhcmF0aW9uXCIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHN1cGVyLnBhcnNlRXhwb3J0KFxuICAgICAgICAgIG5vZGUgYXMgVW5kb25lPE4uRXhwb3J0QWxsRGVjbGFyYXRpb24gfCBOLkV4cG9ydERlZmF1bHREZWNsYXJhdGlvbj4sXG4gICAgICAgICAgZGVjb3JhdG9ycyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpc0Fic3RyYWN0Q2xhc3MoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLmlzQ29udGV4dHVhbCh0dC5fYWJzdHJhY3QpICYmIHRoaXMubG9va2FoZWFkKCkudHlwZSA9PT0gdHQuX2NsYXNzXG4gICAgICApO1xuICAgIH1cblxuICAgIHBhcnNlRXhwb3J0RGVmYXVsdEV4cHJlc3Npb24oKTogTi5FeHBvcnREZWZhdWx0RGVjbGFyYXRpb25bXCJkZWNsYXJhdGlvblwiXSB7XG4gICAgICBpZiAodGhpcy5pc0Fic3RyYWN0Q2xhc3MoKSkge1xuICAgICAgICBjb25zdCBjbHMgPSB0aGlzLnN0YXJ0Tm9kZTxOLkNsYXNzPigpO1xuICAgICAgICB0aGlzLm5leHQoKTsgLy8gU2tpcCBcImFic3RyYWN0XCJcbiAgICAgICAgY2xzLmFic3RyYWN0ID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VDbGFzcyhjbHMsIHRydWUsIHRydWUpO1xuICAgICAgfVxuXG4gICAgICAvLyBleHBvcnQgZGVmYXVsdCBpbnRlcmZhY2UgYWxsb3dlZCBpbjpcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9NaWNyb3NvZnQvVHlwZVNjcmlwdC9wdWxsLzE2MDQwXG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5faW50ZXJmYWNlKSkge1xuICAgICAgICBjb25zdCByZXN1bHQgPSB0aGlzLnRzUGFyc2VJbnRlcmZhY2VEZWNsYXJhdGlvbihcbiAgICAgICAgICB0aGlzLnN0YXJ0Tm9kZTxOLlRzSW50ZXJmYWNlRGVjbGFyYXRpb24+KCksXG4gICAgICAgICk7XG4gICAgICAgIGlmIChyZXN1bHQpIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdXBlci5wYXJzZUV4cG9ydERlZmF1bHRFeHByZXNzaW9uKCk7XG4gICAgfVxuXG4gICAgcGFyc2VWYXJTdGF0ZW1lbnQoXG4gICAgICBub2RlOiBOLlZhcmlhYmxlRGVjbGFyYXRpb24sXG4gICAgICBraW5kOiBcInZhclwiIHwgXCJsZXRcIiB8IFwiY29uc3RcIiB8IFwidXNpbmdcIixcbiAgICAgIGFsbG93TWlzc2luZ0luaXRpYWxpemVyOiBib29sZWFuID0gZmFsc2UsXG4gICAgKSB7XG4gICAgICBjb25zdCB7IGlzQW1iaWVudENvbnRleHQgfSA9IHRoaXMuc3RhdGU7XG4gICAgICBjb25zdCBkZWNsYXJhdGlvbiA9IHN1cGVyLnBhcnNlVmFyU3RhdGVtZW50KFxuICAgICAgICBub2RlLFxuICAgICAgICBraW5kLFxuICAgICAgICBhbGxvd01pc3NpbmdJbml0aWFsaXplciB8fCBpc0FtYmllbnRDb250ZXh0LFxuICAgICAgKTtcblxuICAgICAgaWYgKCFpc0FtYmllbnRDb250ZXh0KSByZXR1cm4gZGVjbGFyYXRpb247XG5cbiAgICAgIGZvciAoY29uc3QgeyBpZCwgaW5pdCB9IG9mIGRlY2xhcmF0aW9uLmRlY2xhcmF0aW9ucykge1xuICAgICAgICAvLyBFbXB0eSBpbml0aWFsaXplciBpcyB0aGUgZWFzeSBjYXNlIHRoYXQgd2Ugd2FudC5cbiAgICAgICAgaWYgKCFpbml0KSBjb250aW51ZTtcblxuICAgICAgICAvLyB2YXIgYW5kIGxldCBhcmVuJ3QgZXZlciBhbGxvd2VkIGluaXRpYWxpemVycy5cbiAgICAgICAgaWYgKGtpbmQgIT09IFwiY29uc3RcIiB8fCAhIWlkLnR5cGVBbm5vdGF0aW9uKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShUU0Vycm9ycy5Jbml0aWFsaXplck5vdEFsbG93ZWRJbkFtYmllbnRDb250ZXh0LCBpbml0KTtcbiAgICAgICAgfSBlbHNlIGlmIChcbiAgICAgICAgICAhaXNWYWxpZEFtYmllbnRDb25zdEluaXRpYWxpemVyKGluaXQsIHRoaXMuaGFzUGx1Z2luKFwiZXN0cmVlXCIpKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgICAgVFNFcnJvcnMuQ29uc3RJbml0aWFsaXplck11c3RCZVN0cmluZ09yTnVtZXJpY0xpdGVyYWxPckxpdGVyYWxFbnVtUmVmZXJlbmNlLFxuICAgICAgICAgICAgaW5pdCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkZWNsYXJhdGlvbjtcbiAgICB9XG5cbiAgICBwYXJzZVN0YXRlbWVudENvbnRlbnQoXG4gICAgICBmbGFnczogUGFyc2VTdGF0ZW1lbnRGbGFnLFxuICAgICAgZGVjb3JhdG9ycz86IE4uRGVjb3JhdG9yW10gfCBudWxsLFxuICAgICk6IE4uU3RhdGVtZW50IHtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0Ll9jb25zdCkgJiYgdGhpcy5pc0xvb2thaGVhZENvbnRleHR1YWwoXCJlbnVtXCIpKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLlRzRW51bURlY2xhcmF0aW9uPigpO1xuICAgICAgICB0aGlzLmV4cGVjdCh0dC5fY29uc3QpOyAvLyBlYXQgJ2NvbnN0J1xuICAgICAgICByZXR1cm4gdGhpcy50c1BhcnNlRW51bURlY2xhcmF0aW9uKG5vZGUsIHsgY29uc3Q6IHRydWUgfSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmlzQ29udGV4dHVhbCh0dC5fZW51bSkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHNQYXJzZUVudW1EZWNsYXJhdGlvbihcbiAgICAgICAgICB0aGlzLnN0YXJ0Tm9kZTxOLlRzRW51bURlY2xhcmF0aW9uPigpLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5pc0NvbnRleHR1YWwodHQuX2ludGVyZmFjZSkpIHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy50c1BhcnNlSW50ZXJmYWNlRGVjbGFyYXRpb24odGhpcy5zdGFydE5vZGUoKSk7XG4gICAgICAgIGlmIChyZXN1bHQpIHJldHVybiByZXN1bHQ7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdXBlci5wYXJzZVN0YXRlbWVudENvbnRlbnQoZmxhZ3MsIGRlY29yYXRvcnMpO1xuICAgIH1cblxuICAgIHBhcnNlQWNjZXNzTW9kaWZpZXIoKTogTi5BY2Nlc3NpYmlsaXR5IHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgICByZXR1cm4gdGhpcy50c1BhcnNlTW9kaWZpZXIoW1wicHVibGljXCIsIFwicHJvdGVjdGVkXCIsIFwicHJpdmF0ZVwiXSk7XG4gICAgfVxuXG4gICAgdHNIYXNTb21lTW9kaWZpZXJzKG1lbWJlcjogYW55LCBtb2RpZmllcnM6IHJlYWRvbmx5IFRzTW9kaWZpZXJbXSk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIG1vZGlmaWVycy5zb21lKG1vZGlmaWVyID0+IHtcbiAgICAgICAgaWYgKHRzSXNBY2Nlc3NNb2RpZmllcihtb2RpZmllcikpIHtcbiAgICAgICAgICByZXR1cm4gbWVtYmVyLmFjY2Vzc2liaWxpdHkgPT09IG1vZGlmaWVyO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAhIW1lbWJlclttb2RpZmllcl07XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0c0lzU3RhcnRPZlN0YXRpY0Jsb2NrcygpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9zdGF0aWMpICYmXG4gICAgICAgIHRoaXMubG9va2FoZWFkQ2hhckNvZGUoKSA9PT0gY2hhckNvZGVzLmxlZnRDdXJseUJyYWNlXG4gICAgICApO1xuICAgIH1cblxuICAgIHBhcnNlQ2xhc3NNZW1iZXIoXG4gICAgICBjbGFzc0JvZHk6IE4uQ2xhc3NCb2R5LFxuICAgICAgbWVtYmVyOiBhbnksXG4gICAgICBzdGF0ZTogTi5QYXJzZUNsYXNzTWVtYmVyU3RhdGUsXG4gICAgKTogdm9pZCB7XG4gICAgICBjb25zdCBtb2RpZmllcnMgPSBbXG4gICAgICAgIFwiZGVjbGFyZVwiLFxuICAgICAgICBcInByaXZhdGVcIixcbiAgICAgICAgXCJwdWJsaWNcIixcbiAgICAgICAgXCJwcm90ZWN0ZWRcIixcbiAgICAgICAgXCJvdmVycmlkZVwiLFxuICAgICAgICBcImFic3RyYWN0XCIsXG4gICAgICAgIFwicmVhZG9ubHlcIixcbiAgICAgICAgXCJzdGF0aWNcIixcbiAgICAgIF0gYXMgY29uc3Q7XG4gICAgICB0aGlzLnRzUGFyc2VNb2RpZmllcnMoXG4gICAgICAgIHtcbiAgICAgICAgICBhbGxvd2VkTW9kaWZpZXJzOiBtb2RpZmllcnMsXG4gICAgICAgICAgZGlzYWxsb3dlZE1vZGlmaWVyczogW1wiaW5cIiwgXCJvdXRcIl0sXG4gICAgICAgICAgc3RvcE9uU3RhcnRPZkNsYXNzU3RhdGljQmxvY2s6IHRydWUsXG4gICAgICAgICAgZXJyb3JUZW1wbGF0ZTogVFNFcnJvcnMuSW52YWxpZE1vZGlmaWVyT25UeXBlUGFyYW1ldGVyUG9zaXRpb25zLFxuICAgICAgICB9LFxuICAgICAgICBtZW1iZXIsXG4gICAgICApO1xuXG4gICAgICBjb25zdCBjYWxsUGFyc2VDbGFzc01lbWJlcldpdGhJc1N0YXRpYyA9ICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMudHNJc1N0YXJ0T2ZTdGF0aWNCbG9ja3MoKSkge1xuICAgICAgICAgIHRoaXMubmV4dCgpOyAvLyBlYXQgXCJzdGF0aWNcIlxuICAgICAgICAgIHRoaXMubmV4dCgpOyAvLyBlYXQgXCJ7XCJcbiAgICAgICAgICBpZiAodGhpcy50c0hhc1NvbWVNb2RpZmllcnMobWVtYmVyLCBtb2RpZmllcnMpKSB7XG4gICAgICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgICAgICBUU0Vycm9ycy5TdGF0aWNCbG9ja0Nhbm5vdEhhdmVNb2RpZmllcixcbiAgICAgICAgICAgICAgdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3VwZXIucGFyc2VDbGFzc1N0YXRpY0Jsb2NrKGNsYXNzQm9keSwgbWVtYmVyIGFzIE4uU3RhdGljQmxvY2spO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMucGFyc2VDbGFzc01lbWJlcldpdGhJc1N0YXRpYyhcbiAgICAgICAgICAgIGNsYXNzQm9keSxcbiAgICAgICAgICAgIG1lbWJlcixcbiAgICAgICAgICAgIHN0YXRlLFxuICAgICAgICAgICAgISFtZW1iZXIuc3RhdGljLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICBpZiAobWVtYmVyLmRlY2xhcmUpIHtcbiAgICAgICAgdGhpcy50c0luQW1iaWVudENvbnRleHQoY2FsbFBhcnNlQ2xhc3NNZW1iZXJXaXRoSXNTdGF0aWMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2FsbFBhcnNlQ2xhc3NNZW1iZXJXaXRoSXNTdGF0aWMoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwYXJzZUNsYXNzTWVtYmVyV2l0aElzU3RhdGljKFxuICAgICAgY2xhc3NCb2R5OiBOLkNsYXNzQm9keSxcbiAgICAgIG1lbWJlcjogVW5kb25lPE4uQ2xhc3NNZW1iZXIgfCBOLlRzSW5kZXhTaWduYXR1cmU+LFxuICAgICAgc3RhdGU6IE4uUGFyc2VDbGFzc01lbWJlclN0YXRlLFxuICAgICAgaXNTdGF0aWM6IGJvb2xlYW4sXG4gICAgKTogdm9pZCB7XG4gICAgICBjb25zdCBpZHggPSB0aGlzLnRzVHJ5UGFyc2VJbmRleFNpZ25hdHVyZShcbiAgICAgICAgbWVtYmVyIGFzIFVuZG9uZTxOLlRzSW5kZXhTaWduYXR1cmU+LFxuICAgICAgKTtcbiAgICAgIGlmIChpZHgpIHtcbiAgICAgICAgY2xhc3NCb2R5LmJvZHkucHVzaChpZHgpO1xuXG4gICAgICAgIGlmICgobWVtYmVyIGFzIGFueSkuYWJzdHJhY3QpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLkluZGV4U2lnbmF0dXJlSGFzQWJzdHJhY3QsIG1lbWJlcik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKChtZW1iZXIgYXMgYW55KS5hY2Nlc3NpYmlsaXR5KSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShUU0Vycm9ycy5JbmRleFNpZ25hdHVyZUhhc0FjY2Vzc2liaWxpdHksIG1lbWJlciwge1xuICAgICAgICAgICAgbW9kaWZpZXI6IChtZW1iZXIgYXMgYW55KS5hY2Nlc3NpYmlsaXR5LFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICgobWVtYmVyIGFzIGFueSkuZGVjbGFyZSkge1xuICAgICAgICAgIHRoaXMucmFpc2UoVFNFcnJvcnMuSW5kZXhTaWduYXR1cmVIYXNEZWNsYXJlLCBtZW1iZXIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICgobWVtYmVyIGFzIGFueSkub3ZlcnJpZGUpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLkluZGV4U2lnbmF0dXJlSGFzT3ZlcnJpZGUsIG1lbWJlcik7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5zdGF0ZS5pbkFic3RyYWN0Q2xhc3MgJiYgKG1lbWJlciBhcyBhbnkpLmFic3RyYWN0KSB7XG4gICAgICAgIHRoaXMucmFpc2UoVFNFcnJvcnMuTm9uQWJzdHJhY3RDbGFzc0hhc0Fic3RyYWN0TWV0aG9kLCBtZW1iZXIpO1xuICAgICAgfVxuXG4gICAgICBpZiAoKG1lbWJlciBhcyBhbnkpLm92ZXJyaWRlKSB7XG4gICAgICAgIGlmICghc3RhdGUuaGFkU3VwZXJDbGFzcykge1xuICAgICAgICAgIHRoaXMucmFpc2UoVFNFcnJvcnMuT3ZlcnJpZGVOb3RJblN1YkNsYXNzLCBtZW1iZXIpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qOjogaW52YXJpYW50KG1lbWJlci50eXBlICE9PSBcIlRTSW5kZXhTaWduYXR1cmVcIikgKi9cblxuICAgICAgc3VwZXIucGFyc2VDbGFzc01lbWJlcldpdGhJc1N0YXRpYyhcbiAgICAgICAgY2xhc3NCb2R5LFxuICAgICAgICBtZW1iZXIgYXMgVW5kb25lPE4uQ2xhc3NNZW1iZXI+LFxuICAgICAgICBzdGF0ZSxcbiAgICAgICAgaXNTdGF0aWMsXG4gICAgICApO1xuICAgIH1cblxuICAgIHBhcnNlUG9zdE1lbWJlck5hbWVNb2RpZmllcnMoXG4gICAgICBtZXRob2RPclByb3A6IE4uQ2xhc3NNZXRob2QgfCBOLkNsYXNzUHJvcGVydHkgfCBOLkNsYXNzUHJpdmF0ZVByb3BlcnR5LFxuICAgICk6IHZvaWQge1xuICAgICAgY29uc3Qgb3B0aW9uYWwgPSB0aGlzLmVhdCh0dC5xdWVzdGlvbik7XG4gICAgICBpZiAob3B0aW9uYWwpIG1ldGhvZE9yUHJvcC5vcHRpb25hbCA9IHRydWU7XG5cbiAgICAgIGlmICgobWV0aG9kT3JQcm9wIGFzIGFueSkucmVhZG9ubHkgJiYgdGhpcy5tYXRjaCh0dC5wYXJlbkwpKSB7XG4gICAgICAgIHRoaXMucmFpc2UoVFNFcnJvcnMuQ2xhc3NNZXRob2RIYXNSZWFkb25seSwgbWV0aG9kT3JQcm9wKTtcbiAgICAgIH1cblxuICAgICAgaWYgKChtZXRob2RPclByb3AgYXMgYW55KS5kZWNsYXJlICYmIHRoaXMubWF0Y2godHQucGFyZW5MKSkge1xuICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLkNsYXNzTWV0aG9kSGFzRGVjbGFyZSwgbWV0aG9kT3JQcm9wKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOb3RlOiBUaGUgcmVhc29uIHdlIGRvIHRoaXMgaW4gYHBhcnNlRXhwcmVzc2lvblN0YXRlbWVudGAgYW5kIG5vdCBgcGFyc2VTdGF0ZW1lbnRgXG4gICAgLy8gaXMgdGhhdCBlLmcuIGB0eXBlKClgIGlzIHZhbGlkIEpTLCBzbyB3ZSBtdXN0IHRyeSBwYXJzaW5nIHRoYXQgZmlyc3QuXG4gICAgLy8gSWYgaXQncyByZWFsbHkgYSB0eXBlLCB3ZSB3aWxsIHBhcnNlIGB0eXBlYCBhcyB0aGUgc3RhdGVtZW50LCBhbmQgY2FuIGNvcnJlY3QgaXQgaGVyZVxuICAgIC8vIGJ5IHBhcnNpbmcgdGhlIHJlc3QuXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwbHVnaW4gb3ZlcnJpZGVzIGludGVyZmFjZXNcbiAgICBwYXJzZUV4cHJlc3Npb25TdGF0ZW1lbnQoXG4gICAgICBub2RlOiBVbmRvbmU8Ti5FeHByZXNzaW9uU3RhdGVtZW50PixcbiAgICAgIGV4cHI6IE4uRXhwcmVzc2lvbixcbiAgICAgIGRlY29yYXRvcnM6IE4uRGVjb3JhdG9yW10gfCBudWxsLFxuICAgICk6IE4uU3RhdGVtZW50IHtcbiAgICAgIGNvbnN0IGRlY2wgPVxuICAgICAgICBleHByLnR5cGUgPT09IFwiSWRlbnRpZmllclwiXG4gICAgICAgICAgPyAvLyBAdHMtZXhwZWN0LWVycm9yIHJlZmluZSB0eXBpbmdzXG4gICAgICAgICAgICB0aGlzLnRzUGFyc2VFeHByZXNzaW9uU3RhdGVtZW50KG5vZGUsIGV4cHIsIGRlY29yYXRvcnMpXG4gICAgICAgICAgOiB1bmRlZmluZWQ7XG4gICAgICByZXR1cm4gZGVjbCB8fCBzdXBlci5wYXJzZUV4cHJlc3Npb25TdGF0ZW1lbnQobm9kZSwgZXhwciwgZGVjb3JhdG9ycyk7XG4gICAgfVxuXG4gICAgLy8gZXhwb3J0IHR5cGVcbiAgICAvLyBTaG91bGQgYmUgdHJ1ZSBmb3IgYW55dGhpbmcgcGFyc2VkIGJ5IGB0c1RyeVBhcnNlRXhwb3J0RGVjbGFyYXRpb25gLlxuICAgIHNob3VsZFBhcnNlRXhwb3J0RGVjbGFyYXRpb24oKTogYm9vbGVhbiB7XG4gICAgICBpZiAodGhpcy50c0lzRGVjbGFyYXRpb25TdGFydCgpKSByZXR1cm4gdHJ1ZTtcbiAgICAgIHJldHVybiBzdXBlci5zaG91bGRQYXJzZUV4cG9ydERlY2xhcmF0aW9uKCk7XG4gICAgfVxuXG4gICAgLy8gQW4gYXBwYXJlbnQgY29uZGl0aW9uYWwgZXhwcmVzc2lvbiBjb3VsZCBhY3R1YWxseSBiZSBhbiBvcHRpb25hbCBwYXJhbWV0ZXIgaW4gYW4gYXJyb3cgZnVuY3Rpb24uXG4gICAgcGFyc2VDb25kaXRpb25hbChcbiAgICAgIGV4cHI6IE4uRXhwcmVzc2lvbixcblxuICAgICAgc3RhcnRMb2M6IFBvc2l0aW9uLFxuICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycz86IEV4cHJlc3Npb25FcnJvcnMgfCBudWxsLFxuICAgICk6IE4uRXhwcmVzc2lvbiB7XG4gICAgICAvLyBvbmx5IGRvIHRoZSBleHBlbnNpdmUgY2xvbmUgaWYgdGhlcmUgaXMgYSBxdWVzdGlvbiBtYXJrXG4gICAgICAvLyBhbmQgaWYgd2UgY29tZSBmcm9tIGluc2lkZSBwYXJlbnNcbiAgICAgIGlmICghdGhpcy5zdGF0ZS5tYXliZUluQXJyb3dQYXJhbWV0ZXJzIHx8ICF0aGlzLm1hdGNoKHR0LnF1ZXN0aW9uKSkge1xuICAgICAgICByZXR1cm4gc3VwZXIucGFyc2VDb25kaXRpb25hbChcbiAgICAgICAgICBleHByLFxuXG4gICAgICAgICAgc3RhcnRMb2MsXG4gICAgICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycyxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy50cnlQYXJzZSgoKSA9PlxuICAgICAgICBzdXBlci5wYXJzZUNvbmRpdGlvbmFsKGV4cHIsIHN0YXJ0TG9jKSxcbiAgICAgICk7XG5cbiAgICAgIGlmICghcmVzdWx0Lm5vZGUpIHtcbiAgICAgICAgaWYgKHJlc3VsdC5lcnJvcikge1xuICAgICAgICAgIC8qOjogaW52YXJpYW50KHJlZkV4cHJlc3Npb25FcnJvcnMgIT0gbnVsbCkgKi9cbiAgICAgICAgICBzdXBlci5zZXRPcHRpb25hbFBhcmFtZXRlcnNFcnJvcihyZWZFeHByZXNzaW9uRXJyb3JzLCByZXN1bHQuZXJyb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGV4cHI7XG4gICAgICB9XG4gICAgICBpZiAocmVzdWx0LmVycm9yKSB0aGlzLnN0YXRlID0gcmVzdWx0LmZhaWxTdGF0ZTtcbiAgICAgIHJldHVybiByZXN1bHQubm9kZTtcbiAgICB9XG5cbiAgICAvLyBOb3RlOiBUaGVzZSBcInR5cGUgY2FzdHNcIiBhcmUgKm5vdCogdmFsaWQgVFMgZXhwcmVzc2lvbnMuXG4gICAgLy8gQnV0IHdlIHBhcnNlIHRoZW0gaGVyZSBhbmQgY2hhbmdlIHRoZW0gd2hlbiBjb21wbGV0aW5nIHRoZSBhcnJvdyBmdW5jdGlvbi5cbiAgICBwYXJzZVBhcmVuSXRlbTxUIGV4dGVuZHMgTi5FeHByZXNzaW9uIHwgTi5SZXN0RWxlbWVudCB8IE4uU3ByZWFkRWxlbWVudD4oXG4gICAgICBub2RlOiBULFxuICAgICAgc3RhcnRMb2M6IFBvc2l0aW9uLFxuICAgICk6IFQgfCBOLlRzVHlwZUNhc3RFeHByZXNzaW9uIHtcbiAgICAgIGNvbnN0IG5ld05vZGUgPSBzdXBlci5wYXJzZVBhcmVuSXRlbShub2RlLCBzdGFydExvYyk7XG4gICAgICBpZiAodGhpcy5lYXQodHQucXVlc3Rpb24pKSB7XG4gICAgICAgIChuZXdOb2RlIGFzIE4uSWRlbnRpZmllcikub3B0aW9uYWwgPSB0cnVlO1xuICAgICAgICAvLyBJbmNsdWRlIHF1ZXN0aW9ubWFyayBpbiBsb2NhdGlvbiBvZiBub2RlXG4gICAgICAgIC8vIERvbid0IHVzZSB0aGlzLmZpbmlzaE5vZGUoKSBhcyBvdGhlcndpc2Ugd2UgbWlnaHQgcHJvY2VzcyBjb21tZW50cyB0d2ljZSBhbmRcbiAgICAgICAgLy8gaW5jbHVkZSBhbHJlYWR5IGNvbnN1bWVkIHBhcmVuc1xuICAgICAgICB0aGlzLnJlc2V0RW5kTG9jYXRpb24obm9kZSk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmNvbG9uKSkge1xuICAgICAgICBjb25zdCB0eXBlQ2FzdE5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uVHNUeXBlQ2FzdEV4cHJlc3Npb24+KHN0YXJ0TG9jKTtcbiAgICAgICAgdHlwZUNhc3ROb2RlLmV4cHJlc3Npb24gPSBub2RlIGFzIE4uRXhwcmVzc2lvbjtcbiAgICAgICAgdHlwZUNhc3ROb2RlLnR5cGVBbm5vdGF0aW9uID0gdGhpcy50c1BhcnNlVHlwZUFubm90YXRpb24oKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKHR5cGVDYXN0Tm9kZSwgXCJUU1R5cGVDYXN0RXhwcmVzc2lvblwiKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfVxuXG4gICAgcGFyc2VFeHBvcnREZWNsYXJhdGlvbihcbiAgICAgIG5vZGU6IE4uRXhwb3J0TmFtZWREZWNsYXJhdGlvbixcbiAgICApOiBOLkRlY2xhcmF0aW9uIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgICBpZiAoIXRoaXMuc3RhdGUuaXNBbWJpZW50Q29udGV4dCAmJiB0aGlzLmlzQ29udGV4dHVhbCh0dC5fZGVjbGFyZSkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHNJbkFtYmllbnRDb250ZXh0KCgpID0+IHRoaXMucGFyc2VFeHBvcnREZWNsYXJhdGlvbihub2RlKSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFN0b3JlIG9yaWdpbmFsIGxvY2F0aW9uXG4gICAgICBjb25zdCBzdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG5cbiAgICAgIGNvbnN0IGlzRGVjbGFyZSA9IHRoaXMuZWF0Q29udGV4dHVhbCh0dC5fZGVjbGFyZSk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgaXNEZWNsYXJlICYmXG4gICAgICAgICh0aGlzLmlzQ29udGV4dHVhbCh0dC5fZGVjbGFyZSkgfHwgIXRoaXMuc2hvdWxkUGFyc2VFeHBvcnREZWNsYXJhdGlvbigpKVxuICAgICAgKSB7XG4gICAgICAgIHRocm93IHRoaXMucmFpc2UoXG4gICAgICAgICAgVFNFcnJvcnMuRXhwZWN0ZWRBbWJpZW50QWZ0ZXJFeHBvcnREZWNsYXJlLFxuICAgICAgICAgIHRoaXMuc3RhdGUuc3RhcnRMb2MsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGlzSWRlbnRpZmllciA9IHRva2VuSXNJZGVudGlmaWVyKHRoaXMuc3RhdGUudHlwZSk7XG4gICAgICBjb25zdCBkZWNsYXJhdGlvbjogTi5EZWNsYXJhdGlvbiB8IHVuZGVmaW5lZCB8IG51bGwgPVxuICAgICAgICAoaXNJZGVudGlmaWVyICYmIHRoaXMudHNUcnlQYXJzZUV4cG9ydERlY2xhcmF0aW9uKCkpIHx8XG4gICAgICAgIHN1cGVyLnBhcnNlRXhwb3J0RGVjbGFyYXRpb24obm9kZSk7XG5cbiAgICAgIGlmICghZGVjbGFyYXRpb24pIHJldHVybiBudWxsO1xuXG4gICAgICBpZiAoXG4gICAgICAgIGRlY2xhcmF0aW9uLnR5cGUgPT09IFwiVFNJbnRlcmZhY2VEZWNsYXJhdGlvblwiIHx8XG4gICAgICAgIGRlY2xhcmF0aW9uLnR5cGUgPT09IFwiVFNUeXBlQWxpYXNEZWNsYXJhdGlvblwiIHx8XG4gICAgICAgIGlzRGVjbGFyZVxuICAgICAgKSB7XG4gICAgICAgIG5vZGUuZXhwb3J0S2luZCA9IFwidHlwZVwiO1xuICAgICAgfVxuXG4gICAgICBpZiAoaXNEZWNsYXJlKSB7XG4gICAgICAgIC8vIFJlc2V0IGxvY2F0aW9uIHRvIGluY2x1ZGUgYGRlY2xhcmVgIGluIHJhbmdlXG4gICAgICAgIHRoaXMucmVzZXRTdGFydExvY2F0aW9uKGRlY2xhcmF0aW9uLCBzdGFydExvYyk7XG5cbiAgICAgICAgZGVjbGFyYXRpb24uZGVjbGFyZSA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBkZWNsYXJhdGlvbjtcbiAgICB9XG5cbiAgICBwYXJzZUNsYXNzSWQoXG4gICAgICBub2RlOiBOLkNsYXNzLFxuICAgICAgaXNTdGF0ZW1lbnQ6IGJvb2xlYW4sXG4gICAgICBvcHRpb25hbElkPzogYm9vbGVhbiB8IG51bGwsXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICBiaW5kaW5nVHlwZT86IEJpbmRpbmdGbGFnLFxuICAgICk6IHZvaWQge1xuICAgICAgaWYgKCghaXNTdGF0ZW1lbnQgfHwgb3B0aW9uYWxJZCkgJiYgdGhpcy5pc0NvbnRleHR1YWwodHQuX2ltcGxlbWVudHMpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgc3VwZXIucGFyc2VDbGFzc0lkKFxuICAgICAgICBub2RlLFxuICAgICAgICBpc1N0YXRlbWVudCxcbiAgICAgICAgb3B0aW9uYWxJZCxcbiAgICAgICAgKG5vZGUgYXMgYW55KS5kZWNsYXJlXG4gICAgICAgICAgPyBCaW5kaW5nRmxhZy5UWVBFX1RTX0FNQklFTlRcbiAgICAgICAgICA6IEJpbmRpbmdGbGFnLlRZUEVfQ0xBU1MsXG4gICAgICApO1xuICAgICAgY29uc3QgdHlwZVBhcmFtZXRlcnMgPSB0aGlzLnRzVHJ5UGFyc2VUeXBlUGFyYW1ldGVycyhcbiAgICAgICAgdGhpcy50c1BhcnNlSW5PdXRDb25zdE1vZGlmaWVycyxcbiAgICAgICk7XG4gICAgICBpZiAodHlwZVBhcmFtZXRlcnMpIG5vZGUudHlwZVBhcmFtZXRlcnMgPSB0eXBlUGFyYW1ldGVycztcbiAgICB9XG5cbiAgICBwYXJzZUNsYXNzUHJvcGVydHlBbm5vdGF0aW9uKFxuICAgICAgbm9kZTogTi5DbGFzc1Byb3BlcnR5IHwgTi5DbGFzc1ByaXZhdGVQcm9wZXJ0eSB8IE4uQ2xhc3NBY2Nlc3NvclByb3BlcnR5LFxuICAgICk6IHZvaWQge1xuICAgICAgaWYgKCFub2RlLm9wdGlvbmFsKSB7XG4gICAgICAgIGlmICh0aGlzLmVhdCh0dC5iYW5nKSkge1xuICAgICAgICAgIG5vZGUuZGVmaW5pdGUgPSB0cnVlO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuZWF0KHR0LnF1ZXN0aW9uKSkge1xuICAgICAgICAgIG5vZGUub3B0aW9uYWwgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHR5cGUgPSB0aGlzLnRzVHJ5UGFyc2VUeXBlQW5ub3RhdGlvbigpO1xuICAgICAgaWYgKHR5cGUpIG5vZGUudHlwZUFubm90YXRpb24gPSB0eXBlO1xuICAgIH1cblxuICAgIHBhcnNlQ2xhc3NQcm9wZXJ0eShub2RlOiBOLkNsYXNzUHJvcGVydHkpOiBOLkNsYXNzUHJvcGVydHkge1xuICAgICAgdGhpcy5wYXJzZUNsYXNzUHJvcGVydHlBbm5vdGF0aW9uKG5vZGUpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuc3RhdGUuaXNBbWJpZW50Q29udGV4dCAmJlxuICAgICAgICAhKG5vZGUucmVhZG9ubHkgJiYgIW5vZGUudHlwZUFubm90YXRpb24pICYmXG4gICAgICAgIHRoaXMubWF0Y2godHQuZXEpXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICBUU0Vycm9ycy5EZWNsYXJlQ2xhc3NGaWVsZEhhc0luaXRpYWxpemVyLFxuICAgICAgICAgIHRoaXMuc3RhdGUuc3RhcnRMb2MsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBpZiAobm9kZS5hYnN0cmFjdCAmJiB0aGlzLm1hdGNoKHR0LmVxKSkge1xuICAgICAgICBjb25zdCB7IGtleSB9ID0gbm9kZTtcbiAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICBUU0Vycm9ycy5BYnN0cmFjdFByb3BlcnR5SGFzSW5pdGlhbGl6ZXIsXG4gICAgICAgICAgdGhpcy5zdGF0ZS5zdGFydExvYyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwcm9wZXJ0eU5hbWU6XG4gICAgICAgICAgICAgIGtleS50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJiAhbm9kZS5jb21wdXRlZFxuICAgICAgICAgICAgICAgID8ga2V5Lm5hbWVcbiAgICAgICAgICAgICAgICA6IGBbJHt0aGlzLmlucHV0LnNsaWNlKHRoaXMub2Zmc2V0VG9Tb3VyY2VQb3Moa2V5LnN0YXJ0KSwgdGhpcy5vZmZzZXRUb1NvdXJjZVBvcyhrZXkuZW5kKSl9XWAsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN1cGVyLnBhcnNlQ2xhc3NQcm9wZXJ0eShub2RlKTtcbiAgICB9XG5cbiAgICBwYXJzZUNsYXNzUHJpdmF0ZVByb3BlcnR5KFxuICAgICAgbm9kZTogTi5DbGFzc1ByaXZhdGVQcm9wZXJ0eSxcbiAgICApOiBOLkNsYXNzUHJpdmF0ZVByb3BlcnR5IHtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgYWJzdHJhY3QgbWF5IG5vdCBpbmRleCBub2RlXG4gICAgICBpZiAobm9kZS5hYnN0cmFjdCkge1xuICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLlByaXZhdGVFbGVtZW50SGFzQWJzdHJhY3QsIG5vZGUpO1xuICAgICAgfVxuXG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIGFjY2Vzc2liaWxpdHkgbWF5IG5vdCBpbmRleCBub2RlXG4gICAgICBpZiAobm9kZS5hY2Nlc3NpYmlsaXR5KSB7XG4gICAgICAgIHRoaXMucmFpc2UoVFNFcnJvcnMuUHJpdmF0ZUVsZW1lbnRIYXNBY2Nlc3NpYmlsaXR5LCBub2RlLCB7XG4gICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciByZWZpbmUgdHlwaW5nc1xuICAgICAgICAgIG1vZGlmaWVyOiBub2RlLmFjY2Vzc2liaWxpdHksXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnBhcnNlQ2xhc3NQcm9wZXJ0eUFubm90YXRpb24obm9kZSk7XG4gICAgICByZXR1cm4gc3VwZXIucGFyc2VDbGFzc1ByaXZhdGVQcm9wZXJ0eShub2RlKTtcbiAgICB9XG5cbiAgICBwYXJzZUNsYXNzQWNjZXNzb3JQcm9wZXJ0eShcbiAgICAgIG5vZGU6IE4uQ2xhc3NBY2Nlc3NvclByb3BlcnR5LFxuICAgICk6IE4uQ2xhc3NBY2Nlc3NvclByb3BlcnR5IHtcbiAgICAgIHRoaXMucGFyc2VDbGFzc1Byb3BlcnR5QW5ub3RhdGlvbihub2RlKTtcbiAgICAgIGlmIChub2RlLm9wdGlvbmFsKSB7XG4gICAgICAgIHRoaXMucmFpc2UoVFNFcnJvcnMuQWNjZXNzb3JDYW5ub3RCZU9wdGlvbmFsLCBub2RlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdXBlci5wYXJzZUNsYXNzQWNjZXNzb3JQcm9wZXJ0eShub2RlKTtcbiAgICB9XG5cbiAgICBwdXNoQ2xhc3NNZXRob2QoXG4gICAgICBjbGFzc0JvZHk6IE4uQ2xhc3NCb2R5LFxuICAgICAgbWV0aG9kOiBOLkNsYXNzTWV0aG9kLFxuICAgICAgaXNHZW5lcmF0b3I6IGJvb2xlYW4sXG4gICAgICBpc0FzeW5jOiBib29sZWFuLFxuICAgICAgaXNDb25zdHJ1Y3RvcjogYm9vbGVhbixcbiAgICAgIGFsbG93c0RpcmVjdFN1cGVyOiBib29sZWFuLFxuICAgICk6IHZvaWQge1xuICAgICAgY29uc3QgdHlwZVBhcmFtZXRlcnMgPSB0aGlzLnRzVHJ5UGFyc2VUeXBlUGFyYW1ldGVycyhcbiAgICAgICAgdGhpcy50c1BhcnNlQ29uc3RNb2RpZmllcixcbiAgICAgICk7XG4gICAgICBpZiAodHlwZVBhcmFtZXRlcnMgJiYgaXNDb25zdHJ1Y3Rvcikge1xuICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLkNvbnN0cnVjdG9ySGFzVHlwZVBhcmFtZXRlcnMsIHR5cGVQYXJhbWV0ZXJzKTtcbiAgICAgIH1cblxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBkZWNsYXJlIGRvZXMgbm90IGV4aXN0IGluIENsYXNzTWV0aG9kXG4gICAgICBjb25zdCB7IGRlY2xhcmUgPSBmYWxzZSwga2luZCB9ID0gbWV0aG9kO1xuXG4gICAgICBpZiAoZGVjbGFyZSAmJiAoa2luZCA9PT0gXCJnZXRcIiB8fCBraW5kID09PSBcInNldFwiKSkge1xuICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLkRlY2xhcmVBY2Nlc3NvciwgbWV0aG9kLCB7IGtpbmQgfSk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZVBhcmFtZXRlcnMpIG1ldGhvZC50eXBlUGFyYW1ldGVycyA9IHR5cGVQYXJhbWV0ZXJzO1xuICAgICAgc3VwZXIucHVzaENsYXNzTWV0aG9kKFxuICAgICAgICBjbGFzc0JvZHksXG4gICAgICAgIG1ldGhvZCxcbiAgICAgICAgaXNHZW5lcmF0b3IsXG4gICAgICAgIGlzQXN5bmMsXG4gICAgICAgIGlzQ29uc3RydWN0b3IsXG4gICAgICAgIGFsbG93c0RpcmVjdFN1cGVyLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwdXNoQ2xhc3NQcml2YXRlTWV0aG9kKFxuICAgICAgY2xhc3NCb2R5OiBOLkNsYXNzQm9keSxcbiAgICAgIG1ldGhvZDogTi5DbGFzc1ByaXZhdGVNZXRob2QsXG4gICAgICBpc0dlbmVyYXRvcjogYm9vbGVhbixcbiAgICAgIGlzQXN5bmM6IGJvb2xlYW4sXG4gICAgKTogdm9pZCB7XG4gICAgICBjb25zdCB0eXBlUGFyYW1ldGVycyA9IHRoaXMudHNUcnlQYXJzZVR5cGVQYXJhbWV0ZXJzKFxuICAgICAgICB0aGlzLnRzUGFyc2VDb25zdE1vZGlmaWVyLFxuICAgICAgKTtcbiAgICAgIGlmICh0eXBlUGFyYW1ldGVycykgbWV0aG9kLnR5cGVQYXJhbWV0ZXJzID0gdHlwZVBhcmFtZXRlcnM7XG4gICAgICBzdXBlci5wdXNoQ2xhc3NQcml2YXRlTWV0aG9kKGNsYXNzQm9keSwgbWV0aG9kLCBpc0dlbmVyYXRvciwgaXNBc3luYyk7XG4gICAgfVxuXG4gICAgZGVjbGFyZUNsYXNzUHJpdmF0ZU1ldGhvZEluU2NvcGUoXG4gICAgICBub2RlOiBOLkNsYXNzUHJpdmF0ZU1ldGhvZCB8IE4uVFNEZWNsYXJlTWV0aG9kLFxuICAgICAga2luZDogbnVtYmVyLFxuICAgICkge1xuICAgICAgaWYgKG5vZGUudHlwZSA9PT0gXCJUU0RlY2xhcmVNZXRob2RcIikgcmV0dXJuO1xuICAgICAgLy8gVGhpcyBoYXBwZW5zIHdoZW4gdXNpbmcgdGhlIFwiZXN0cmVlXCIgcGx1Z2luLlxuICAgICAgaWYgKFxuICAgICAgICAobm9kZSBhcyBOLk5vZGUpLnR5cGUgPT09IFwiTWV0aG9kRGVmaW5pdGlvblwiICYmXG4gICAgICAgICFPYmplY3QuaGFzT3duKFxuICAgICAgICAgIChub2RlIGFzIHVua25vd24gYXMgTi5Fc3RyZWVNZXRob2REZWZpbml0aW9uKS52YWx1ZSxcbiAgICAgICAgICBcImJvZHlcIixcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgc3VwZXIuZGVjbGFyZUNsYXNzUHJpdmF0ZU1ldGhvZEluU2NvcGUobm9kZSwga2luZCk7XG4gICAgfVxuXG4gICAgcGFyc2VDbGFzc1N1cGVyKG5vZGU6IE4uQ2xhc3MpOiB2b2lkIHtcbiAgICAgIHN1cGVyLnBhcnNlQ2xhc3NTdXBlcihub2RlKTtcbiAgICAgIC8vIGhhbmRsZSBgZXh0ZW5kcyBmPDxUPlxuICAgICAgaWYgKG5vZGUuc3VwZXJDbGFzcyAmJiAodGhpcy5tYXRjaCh0dC5sdCkgfHwgdGhpcy5tYXRjaCh0dC5iaXRTaGlmdEwpKSkge1xuICAgICAgICBub2RlLnN1cGVyVHlwZVBhcmFtZXRlcnMgPSB0aGlzLnRzUGFyc2VUeXBlQXJndW1lbnRzSW5FeHByZXNzaW9uKCk7XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5lYXRDb250ZXh0dWFsKHR0Ll9pbXBsZW1lbnRzKSkge1xuICAgICAgICBub2RlLmltcGxlbWVudHMgPSB0aGlzLnRzUGFyc2VIZXJpdGFnZUNsYXVzZShcImltcGxlbWVudHNcIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcGFyc2VPYmpQcm9wVmFsdWU8VCBleHRlbmRzIE4uT2JqZWN0TWVtYmVyPihcbiAgICAgIHByb3A6IFVuZG9uZTxUPixcbiAgICAgIHN0YXJ0TG9jOiBQb3NpdGlvbiB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICAgICBpc0dlbmVyYXRvcjogYm9vbGVhbixcbiAgICAgIGlzQXN5bmM6IGJvb2xlYW4sXG4gICAgICBpc1BhdHRlcm46IGJvb2xlYW4sXG4gICAgICBpc0FjY2Vzc29yOiBib29sZWFuLFxuICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycz86IEV4cHJlc3Npb25FcnJvcnMgfCBudWxsLFxuICAgICk6IFQge1xuICAgICAgY29uc3QgdHlwZVBhcmFtZXRlcnMgPSB0aGlzLnRzVHJ5UGFyc2VUeXBlUGFyYW1ldGVycyhcbiAgICAgICAgdGhpcy50c1BhcnNlQ29uc3RNb2RpZmllcixcbiAgICAgICk7XG4gICAgICBpZiAodHlwZVBhcmFtZXRlcnMpIHByb3AudHlwZVBhcmFtZXRlcnMgPSB0eXBlUGFyYW1ldGVycztcblxuICAgICAgcmV0dXJuIHN1cGVyLnBhcnNlT2JqUHJvcFZhbHVlKFxuICAgICAgICBwcm9wLFxuXG4gICAgICAgIHN0YXJ0TG9jLFxuICAgICAgICBpc0dlbmVyYXRvcixcbiAgICAgICAgaXNBc3luYyxcbiAgICAgICAgaXNQYXR0ZXJuLFxuICAgICAgICBpc0FjY2Vzc29yLFxuICAgICAgICByZWZFeHByZXNzaW9uRXJyb3JzLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwYXJzZUZ1bmN0aW9uUGFyYW1zKG5vZGU6IE4uRnVuY3Rpb24sIGlzQ29uc3RydWN0b3I6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIGNvbnN0IHR5cGVQYXJhbWV0ZXJzID0gdGhpcy50c1RyeVBhcnNlVHlwZVBhcmFtZXRlcnMoXG4gICAgICAgIHRoaXMudHNQYXJzZUNvbnN0TW9kaWZpZXIsXG4gICAgICApO1xuICAgICAgaWYgKHR5cGVQYXJhbWV0ZXJzKSBub2RlLnR5cGVQYXJhbWV0ZXJzID0gdHlwZVBhcmFtZXRlcnM7XG4gICAgICBzdXBlci5wYXJzZUZ1bmN0aW9uUGFyYW1zKG5vZGUsIGlzQ29uc3RydWN0b3IpO1xuICAgIH1cblxuICAgIC8vIGBsZXQgeDogbnVtYmVyO2BcbiAgICBwYXJzZVZhcklkKFxuICAgICAgZGVjbDogTi5WYXJpYWJsZURlY2xhcmF0b3IsXG4gICAgICBraW5kOiBcInZhclwiIHwgXCJsZXRcIiB8IFwiY29uc3RcIiB8IFwidXNpbmdcIixcbiAgICApOiB2b2lkIHtcbiAgICAgIHN1cGVyLnBhcnNlVmFySWQoZGVjbCwga2luZCk7XG4gICAgICBpZiAoXG4gICAgICAgIGRlY2wuaWQudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICAgICAgIXRoaXMuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkgJiZcbiAgICAgICAgdGhpcy5lYXQodHQuYmFuZylcbiAgICAgICkge1xuICAgICAgICBkZWNsLmRlZmluaXRlID0gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdHlwZSA9IHRoaXMudHNUcnlQYXJzZVR5cGVBbm5vdGF0aW9uKCk7XG4gICAgICBpZiAodHlwZSkge1xuICAgICAgICBkZWNsLmlkLnR5cGVBbm5vdGF0aW9uID0gdHlwZTtcbiAgICAgICAgdGhpcy5yZXNldEVuZExvY2F0aW9uKGRlY2wuaWQpOyAvLyBzZXQgZW5kIHBvc2l0aW9uIHRvIGVuZCBvZiB0eXBlXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gcGFyc2UgdGhlIHJldHVybiB0eXBlIG9mIGFuIGFzeW5jIGFycm93IGZ1bmN0aW9uIC0gbGV0IGZvbyA9IChhc3luYyAoKTogbnVtYmVyID0+IHt9KTtcbiAgICBwYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24oXG4gICAgICBub2RlOiBOLkFycm93RnVuY3Rpb25FeHByZXNzaW9uLFxuICAgICAgY2FsbDogTi5DYWxsRXhwcmVzc2lvbixcbiAgICApOiBOLkFycm93RnVuY3Rpb25FeHByZXNzaW9uIHtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmNvbG9uKSkge1xuICAgICAgICBub2RlLnJldHVyblR5cGUgPSB0aGlzLnRzUGFyc2VUeXBlQW5ub3RhdGlvbigpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN1cGVyLnBhcnNlQXN5bmNBcnJvd0Zyb21DYWxsRXhwcmVzc2lvbihub2RlLCBjYWxsKTtcbiAgICB9XG5cbiAgICBwYXJzZU1heWJlQXNzaWduKFxuICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycz86IEV4cHJlc3Npb25FcnJvcnMgfCBudWxsLFxuICAgICAgYWZ0ZXJMZWZ0UGFyc2U/OiBGdW5jdGlvbixcbiAgICApOiBOLkV4cHJlc3Npb24ge1xuICAgICAgLy8gTm90ZTogV2hlbiB0aGUgSlNYIHBsdWdpbiBpcyBvbiwgdHlwZSBhc3NlcnRpb25zIChgPFQ+IHhgKSBhcmVuJ3QgdmFsaWQgc3ludGF4LlxuXG4gICAgICBsZXQgc3RhdGU6IFN0YXRlIHwgdW5kZWZpbmVkIHwgbnVsbDtcbiAgICAgIGxldCBqc3g7XG4gICAgICBsZXQgdHlwZUNhc3Q7XG5cbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5oYXNQbHVnaW4oXCJqc3hcIikgJiZcbiAgICAgICAgKHRoaXMubWF0Y2godHQuanN4VGFnU3RhcnQpIHx8IHRoaXMubWF0Y2godHQubHQpKVxuICAgICAgKSB7XG4gICAgICAgIC8vIFByZWZlciB0byBwYXJzZSBKU1ggaWYgcG9zc2libGUuIEJ1dCBtYXkgYmUgYW4gYXJyb3cgZm4uXG4gICAgICAgIHN0YXRlID0gdGhpcy5zdGF0ZS5jbG9uZSgpO1xuXG4gICAgICAgIGpzeCA9IHRoaXMudHJ5UGFyc2UoXG4gICAgICAgICAgKCkgPT4gc3VwZXIucGFyc2VNYXliZUFzc2lnbihyZWZFeHByZXNzaW9uRXJyb3JzLCBhZnRlckxlZnRQYXJzZSksXG4gICAgICAgICAgc3RhdGUsXG4gICAgICAgICk7XG5cbiAgICAgICAgLyo6OiBpbnZhcmlhbnQoIWpzeC5hYm9ydGVkKSAqL1xuICAgICAgICAvKjo6IGludmFyaWFudChqc3gubm9kZSAhPSBudWxsKSAqL1xuICAgICAgICBpZiAoIWpzeC5lcnJvcikgcmV0dXJuIGpzeC5ub2RlO1xuXG4gICAgICAgIC8vIFJlbW92ZSBgdGMual9leHByYCBvciBgdGMual9vVGFnYCBmcm9tIGNvbnRleHQgYWRkZWRcbiAgICAgICAgLy8gYnkgcGFyc2luZyBganN4VGFnU3RhcnRgIHRvIHN0b3AgdGhlIEpTWCBwbHVnaW4gZnJvbVxuICAgICAgICAvLyBtZXNzaW5nIHdpdGggdGhlIHRva2Vuc1xuICAgICAgICBjb25zdCB7IGNvbnRleHQgfSA9IHRoaXMuc3RhdGU7XG4gICAgICAgIGNvbnN0IGN1cnJlbnRDb250ZXh0ID0gY29udGV4dFtjb250ZXh0Lmxlbmd0aCAtIDFdO1xuICAgICAgICBpZiAoY3VycmVudENvbnRleHQgPT09IHRjLmpfb1RhZyB8fCBjdXJyZW50Q29udGV4dCA9PT0gdGMual9leHByKSB7XG4gICAgICAgICAgY29udGV4dC5wb3AoKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIWpzeD8uZXJyb3IgJiYgIXRoaXMubWF0Y2godHQubHQpKSB7XG4gICAgICAgIHJldHVybiBzdXBlci5wYXJzZU1heWJlQXNzaWduKHJlZkV4cHJlc3Npb25FcnJvcnMsIGFmdGVyTGVmdFBhcnNlKTtcbiAgICAgIH1cblxuICAgICAgLy8gRWl0aGVyIHdheSwgd2UncmUgbG9va2luZyBhdCBhICc8JzogdHQuanN4VGFnU3RhcnQgb3IgcmVsYXRpb25hbC5cblxuICAgICAgLy8gSWYgdGhlIHN0YXRlIHdhcyBjbG9uZWQgaW4gdGhlIEpTWCBwYXJzaW5nIGJyYW5jaCBhYm92ZSBidXQgdGhlcmVcbiAgICAgIC8vIGhhdmUgYmVlbiBhbnkgZXJyb3IgaW4gdGhlIHRyeVBhcnNlIGNhbGwsIHRoaXMuc3RhdGUgaXMgc2V0IHRvIHN0YXRlXG4gICAgICAvLyBzbyB3ZSBzdGlsbCBuZWVkIHRvIGNsb25lIGl0LlxuICAgICAgaWYgKCFzdGF0ZSB8fCBzdGF0ZSA9PT0gdGhpcy5zdGF0ZSkgc3RhdGUgPSB0aGlzLnN0YXRlLmNsb25lKCk7XG5cbiAgICAgIGxldCB0eXBlUGFyYW1ldGVyczogTi5Uc1R5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvbiB8IHVuZGVmaW5lZCB8IG51bGw7XG4gICAgICAvLyBXZSBuZWVkIHRvIGV4cGxpY2l0bHkgYW5ub3RhdGUgJ2Fib3J0JyBmb3IgbWljcm9zb2Z0L1R5cGVTY3JpcHQjNTgxNzBcbiAgICAgIGNvbnN0IGFycm93ID0gdGhpcy50cnlQYXJzZSgoYWJvcnQ6ICgpID0+IG5ldmVyKSA9PiB7XG4gICAgICAgIC8vIFRoaXMgaXMgc2ltaWxhciB0byBUeXBlU2NyaXB0J3MgYHRyeVBhcnNlUGFyZW50aGVzaXplZEFycm93RnVuY3Rpb25FeHByZXNzaW9uYC5cbiAgICAgICAgdHlwZVBhcmFtZXRlcnMgPSB0aGlzLnRzUGFyc2VUeXBlUGFyYW1ldGVycyh0aGlzLnRzUGFyc2VDb25zdE1vZGlmaWVyKTtcbiAgICAgICAgY29uc3QgZXhwciA9IHN1cGVyLnBhcnNlTWF5YmVBc3NpZ24oXG4gICAgICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycyxcbiAgICAgICAgICBhZnRlckxlZnRQYXJzZSxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgZXhwci50eXBlICE9PSBcIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCIgfHxcbiAgICAgICAgICBleHByLmV4dHJhPy5wYXJlbnRoZXNpemVkXG4gICAgICAgICkge1xuICAgICAgICAgIGFib3J0KCk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDb3JyZWN0IFR5cGVTY3JpcHQgY29kZSBzaG91bGQgaGF2ZSBhdCBsZWFzdCAxIHR5cGUgcGFyYW1ldGVyLCBidXQgZG9uJ3QgY3Jhc2ggb24gYmFkIGNvZGUuXG4gICAgICAgIGlmICh0eXBlUGFyYW1ldGVycz8ucGFyYW1zLmxlbmd0aCAhPT0gMCkge1xuICAgICAgICAgIHRoaXMucmVzZXRTdGFydExvY2F0aW9uRnJvbU5vZGUoZXhwciwgdHlwZVBhcmFtZXRlcnMpO1xuICAgICAgICB9XG4gICAgICAgIGV4cHIudHlwZVBhcmFtZXRlcnMgPSB0eXBlUGFyYW1ldGVycztcblxuICAgICAgICBpZiAocHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORykge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuaGFzUGx1Z2luKFwianN4XCIpICYmXG4gICAgICAgICAgICBleHByLnR5cGVQYXJhbWV0ZXJzLnBhcmFtcy5sZW5ndGggPT09IDEgJiZcbiAgICAgICAgICAgICFleHByLnR5cGVQYXJhbWV0ZXJzLmV4dHJhPy50cmFpbGluZ0NvbW1hXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICAvLyByZXBvcnQgZXJyb3IgaWYgc2luZ2xlIHR5cGUgcGFyYW1ldGVyIHVzZWQgd2l0aG91dCB0cmFpbGluZyBjb21tYS5cbiAgICAgICAgICAgIGNvbnN0IHBhcmFtZXRlciA9IGV4cHIudHlwZVBhcmFtZXRlcnNcbiAgICAgICAgICAgICAgLnBhcmFtc1swXSBhcyBOLlRzVHlwZVBhcmFtZXRlcjtcbiAgICAgICAgICAgIGlmICghcGFyYW1ldGVyLmNvbnN0cmFpbnQpIHtcbiAgICAgICAgICAgICAgLy8gQSBzaW5nbGUgdHlwZSBwYXJhbWV0ZXIgbXVzdCBlaXRoZXIgaGF2ZSBjb25zdHJhaW50c1xuICAgICAgICAgICAgICAvLyBvciBhIHRyYWlsaW5nIGNvbW1hLCBvdGhlcndpc2UgaXQncyBhbWJpZ3VvdXMgd2l0aCBKU1guXG4gICAgICAgICAgICAgIHRoaXMucmFpc2UoXG4gICAgICAgICAgICAgICAgVFNFcnJvcnMuU2luZ2xlVHlwZVBhcmFtZXRlcldpdGhvdXRUcmFpbGluZ0NvbW1hLFxuICAgICAgICAgICAgICAgIGNyZWF0ZVBvc2l0aW9uV2l0aENvbHVtbk9mZnNldChwYXJhbWV0ZXIubG9jLmVuZCwgMSksXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdHlwZVBhcmFtZXRlck5hbWU6IHByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkdcbiAgICAgICAgICAgICAgICAgICAgPyAocGFyYW1ldGVyLm5hbWUgYXMgTi5JZGVudGlmaWVyKS5uYW1lXG4gICAgICAgICAgICAgICAgICAgIDogKHBhcmFtZXRlci5uYW1lIGFzIHN0cmluZyksXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gZXhwcjtcbiAgICAgIH0sIHN0YXRlKTtcblxuICAgICAgLyo6OiBpbnZhcmlhbnQoYXJyb3cubm9kZSAhPSBudWxsKSAqL1xuICAgICAgaWYgKCFhcnJvdy5lcnJvciAmJiAhYXJyb3cuYWJvcnRlZCkge1xuICAgICAgICAvLyBUaGlzIGVycm9yIGlzIHJlcG9ydGVkIG91dHNpZGUgb2YgdGhlIHRoaXMudHJ5UGFyc2UgY2FsbCBzbyB0aGF0XG4gICAgICAgIC8vIGluIGNhc2Ugb2YgPFQ+KHgpID0+IDIsIHdlIGRvbid0IGNvbnNpZGVyIDxUPih4KSBhcyBhIHR5cGUgYXNzZXJ0aW9uXG4gICAgICAgIC8vIGJlY2F1c2Ugb2YgdGhpcyBlcnJvci5cbiAgICAgICAgaWYgKHR5cGVQYXJhbWV0ZXJzKSB0aGlzLnJlcG9ydFJlc2VydmVkQXJyb3dUeXBlUGFyYW0odHlwZVBhcmFtZXRlcnMpO1xuICAgICAgICByZXR1cm4gYXJyb3cubm9kZTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFqc3gpIHtcbiAgICAgICAgLy8gVHJ5IHBhcnNpbmcgYSB0eXBlIGNhc3QgaW5zdGVhZCBvZiBhbiBhcnJvdyBmdW5jdGlvbi5cbiAgICAgICAgLy8gVGhpcyB3aWxsIG5ldmVyIGhhcHBlbiBvdXRzaWRlIG9mIEpTWC5cbiAgICAgICAgLy8gKEJlY2F1c2UgaW4gSlNYIHRoZSAnPCcgc2hvdWxkIGJlIGEganN4VGFnU3RhcnQgYW5kIG5vdCBhIHJlbGF0aW9uYWwuXG4gICAgICAgIGFzc2VydCghdGhpcy5oYXNQbHVnaW4oXCJqc3hcIikpO1xuXG4gICAgICAgIC8vIFRoaXMgd2lsbCBzdGFydCB3aXRoIGEgdHlwZSBhc3NlcnRpb24gKHZpYSBwYXJzZU1heWJlVW5hcnkpLlxuICAgICAgICAvLyBCdXQgZG9uJ3QgZGlyZWN0bHkgY2FsbCBgdGhpcy50c1BhcnNlVHlwZUFzc2VydGlvbmAgYmVjYXVzZSB3ZSB3YW50IHRvIGhhbmRsZSBhbnkgYmluYXJ5IGFmdGVyIGl0LlxuICAgICAgICB0eXBlQ2FzdCA9IHRoaXMudHJ5UGFyc2UoXG4gICAgICAgICAgKCkgPT4gc3VwZXIucGFyc2VNYXliZUFzc2lnbihyZWZFeHByZXNzaW9uRXJyb3JzLCBhZnRlckxlZnRQYXJzZSksXG4gICAgICAgICAgc3RhdGUsXG4gICAgICAgICk7XG4gICAgICAgIC8qOjogaW52YXJpYW50KCF0eXBlQ2FzdC5hYm9ydGVkKSAqL1xuICAgICAgICAvKjo6IGludmFyaWFudCh0eXBlQ2FzdC5ub2RlICE9IG51bGwpICovXG4gICAgICAgIGlmICghdHlwZUNhc3QuZXJyb3IpIHJldHVybiB0eXBlQ2FzdC5ub2RlO1xuICAgICAgfVxuXG4gICAgICBpZiAoanN4Py5ub2RlKSB7XG4gICAgICAgIC8qOjogaW52YXJpYW50KGpzeC5mYWlsU3RhdGUpICovXG4gICAgICAgIHRoaXMuc3RhdGUgPSBqc3guZmFpbFN0YXRlO1xuICAgICAgICByZXR1cm4ganN4Lm5vZGU7XG4gICAgICB9XG5cbiAgICAgIGlmIChhcnJvdy5ub2RlKSB7XG4gICAgICAgIC8qOjogaW52YXJpYW50KGFycm93LmZhaWxTdGF0ZSkgKi9cbiAgICAgICAgdGhpcy5zdGF0ZSA9IGFycm93LmZhaWxTdGF0ZTtcbiAgICAgICAgaWYgKHR5cGVQYXJhbWV0ZXJzKSB0aGlzLnJlcG9ydFJlc2VydmVkQXJyb3dUeXBlUGFyYW0odHlwZVBhcmFtZXRlcnMpO1xuICAgICAgICByZXR1cm4gYXJyb3cubm9kZTtcbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVDYXN0Py5ub2RlKSB7XG4gICAgICAgIC8qOjogaW52YXJpYW50KHR5cGVDYXN0LmZhaWxTdGF0ZSkgKi9cbiAgICAgICAgdGhpcy5zdGF0ZSA9IHR5cGVDYXN0LmZhaWxTdGF0ZTtcbiAgICAgICAgcmV0dXJuIHR5cGVDYXN0Lm5vZGU7XG4gICAgICB9XG5cbiAgICAgIHRocm93IGpzeD8uZXJyb3IgfHwgYXJyb3cuZXJyb3IgfHwgdHlwZUNhc3Q/LmVycm9yO1xuICAgIH1cblxuICAgIHJlcG9ydFJlc2VydmVkQXJyb3dUeXBlUGFyYW0obm9kZTogYW55KSB7XG4gICAgICBpZiAoXG4gICAgICAgIG5vZGUucGFyYW1zLmxlbmd0aCA9PT0gMSAmJlxuICAgICAgICAhbm9kZS5wYXJhbXNbMF0uY29uc3RyYWludCAmJlxuICAgICAgICAhbm9kZS5leHRyYT8udHJhaWxpbmdDb21tYSAmJlxuICAgICAgICB0aGlzLmdldFBsdWdpbk9wdGlvbihcInR5cGVzY3JpcHRcIiwgXCJkaXNhbGxvd0FtYmlndW91c0pTWExpa2VcIilcbiAgICAgICkge1xuICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLlJlc2VydmVkQXJyb3dUeXBlUGFyYW0sIG5vZGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhhbmRsZSB0eXBlIGFzc2VydGlvbnNcbiAgICBwYXJzZU1heWJlVW5hcnkoXG4gICAgICByZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwsXG4gICAgICBzYXdVbmFyeT86IGJvb2xlYW4sXG4gICAgKTogTi5FeHByZXNzaW9uIHtcbiAgICAgIGlmICghdGhpcy5oYXNQbHVnaW4oXCJqc3hcIikgJiYgdGhpcy5tYXRjaCh0dC5sdCkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudHNQYXJzZVR5cGVBc3NlcnRpb24oKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdXBlci5wYXJzZU1heWJlVW5hcnkocmVmRXhwcmVzc2lvbkVycm9ycywgc2F3VW5hcnkpO1xuICAgIH1cblxuICAgIHBhcnNlQXJyb3coXG4gICAgICBub2RlOiBVbmRvbmU8Ti5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbj4sXG4gICAgKTogVW5kb25lPE4uQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24+IHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5jb2xvbikpIHtcbiAgICAgICAgLy8gVGhpcyBpcyBkaWZmZXJlbnQgZnJvbSBob3cgdGhlIFRTIHBhcnNlciBkb2VzIGl0LlxuICAgICAgICAvLyBUUyB1c2VzIGxvb2thaGVhZC4gVGhlIEJhYmVsIFBhcnNlciBwYXJzZXMgaXQgYXMgYSBwYXJlbnRoZXNpemVkIGV4cHJlc3Npb24gYW5kIGNvbnZlcnRzLlxuXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMudHJ5UGFyc2UoYWJvcnQgPT4ge1xuICAgICAgICAgIGNvbnN0IHJldHVyblR5cGUgPSB0aGlzLnRzUGFyc2VUeXBlT3JUeXBlUHJlZGljYXRlQW5ub3RhdGlvbihcbiAgICAgICAgICAgIHR0LmNvbG9uLFxuICAgICAgICAgICk7XG4gICAgICAgICAgaWYgKHRoaXMuY2FuSW5zZXJ0U2VtaWNvbG9uKCkgfHwgIXRoaXMubWF0Y2godHQuYXJyb3cpKSBhYm9ydCgpO1xuICAgICAgICAgIHJldHVybiByZXR1cm5UeXBlO1xuICAgICAgICB9KTtcblxuICAgICAgICBpZiAocmVzdWx0LmFib3J0ZWQpIHJldHVybjtcblxuICAgICAgICBpZiAoIXJlc3VsdC50aHJvd24pIHtcbiAgICAgICAgICBpZiAocmVzdWx0LmVycm9yKSB0aGlzLnN0YXRlID0gcmVzdWx0LmZhaWxTdGF0ZTtcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHJlZmluZSB0eXBpbmdzXG4gICAgICAgICAgbm9kZS5yZXR1cm5UeXBlID0gcmVzdWx0Lm5vZGU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN1cGVyLnBhcnNlQXJyb3cobm9kZSk7XG4gICAgfVxuXG4gICAgLy8gQWxsb3cgdHlwZSBhbm5vdGF0aW9ucyBpbnNpZGUgb2YgYSBwYXJhbWV0ZXIgbGlzdC5cbiAgICBwYXJzZUZ1bmN0aW9uUGFyYW1UeXBlKHBhcmFtOiBOLlBhdHRlcm4pIHtcbiAgICAgIGlmICh0aGlzLmVhdCh0dC5xdWVzdGlvbikpIHtcbiAgICAgICAgKHBhcmFtIGFzIGFueSBhcyBOLklkZW50aWZpZXIpLm9wdGlvbmFsID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHR5cGUgPSB0aGlzLnRzVHJ5UGFyc2VUeXBlQW5ub3RhdGlvbigpO1xuICAgICAgaWYgKHR5cGUpIHBhcmFtLnR5cGVBbm5vdGF0aW9uID0gdHlwZTtcbiAgICAgIHRoaXMucmVzZXRFbmRMb2NhdGlvbihwYXJhbSk7XG5cbiAgICAgIHJldHVybiBwYXJhbTtcbiAgICB9XG5cbiAgICBpc0Fzc2lnbmFibGUobm9kZTogTi5Ob2RlLCBpc0JpbmRpbmc/OiBib29sZWFuKTogYm9vbGVhbiB7XG4gICAgICBzd2l0Y2ggKG5vZGUudHlwZSkge1xuICAgICAgICBjYXNlIFwiVFNUeXBlQ2FzdEV4cHJlc3Npb25cIjpcbiAgICAgICAgICByZXR1cm4gdGhpcy5pc0Fzc2lnbmFibGUobm9kZS5leHByZXNzaW9uLCBpc0JpbmRpbmcpO1xuICAgICAgICBjYXNlIFwiVFNQYXJhbWV0ZXJQcm9wZXJ0eVwiOlxuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiBzdXBlci5pc0Fzc2lnbmFibGUobm9kZSwgaXNCaW5kaW5nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0b0Fzc2lnbmFibGUobm9kZTogTi5Ob2RlLCBpc0xIUzogYm9vbGVhbiA9IGZhbHNlKTogdm9pZCB7XG4gICAgICBzd2l0Y2ggKG5vZGUudHlwZSkge1xuICAgICAgICBjYXNlIFwiUGFyZW50aGVzaXplZEV4cHJlc3Npb25cIjpcbiAgICAgICAgICB0aGlzLnRvQXNzaWduYWJsZVBhcmVudGhlc2l6ZWRFeHByZXNzaW9uKG5vZGUsIGlzTEhTKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBcIlRTQXNFeHByZXNzaW9uXCI6XG4gICAgICAgIGNhc2UgXCJUU1NhdGlzZmllc0V4cHJlc3Npb25cIjpcbiAgICAgICAgY2FzZSBcIlRTTm9uTnVsbEV4cHJlc3Npb25cIjpcbiAgICAgICAgY2FzZSBcIlRTVHlwZUFzc2VydGlvblwiOlxuICAgICAgICAgIGlmIChpc0xIUykge1xuICAgICAgICAgICAgdGhpcy5leHByZXNzaW9uU2NvcGUucmVjb3JkQXJyb3dQYXJhbWV0ZXJCaW5kaW5nRXJyb3IoXG4gICAgICAgICAgICAgIFRTRXJyb3JzLlVuZXhwZWN0ZWRUeXBlQ2FzdEluUGFyYW1ldGVyLFxuICAgICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yYWlzZShUU0Vycm9ycy5VbmV4cGVjdGVkVHlwZUNhc3RJblBhcmFtZXRlciwgbm9kZSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMudG9Bc3NpZ25hYmxlKG5vZGUuZXhwcmVzc2lvbiwgaXNMSFMpO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwiQXNzaWdubWVudEV4cHJlc3Npb25cIjpcbiAgICAgICAgICBpZiAoIWlzTEhTICYmIG5vZGUubGVmdC50eXBlID09PSBcIlRTVHlwZUNhc3RFeHByZXNzaW9uXCIpIHtcbiAgICAgICAgICAgIG5vZGUubGVmdCA9IHRoaXMudHlwZUNhc3RUb1BhcmFtZXRlcihub2RlLmxlZnQpIGFzIE4uQXNzaWduYWJsZTtcbiAgICAgICAgICB9XG4gICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqL1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHN1cGVyLnRvQXNzaWduYWJsZShub2RlLCBpc0xIUyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdG9Bc3NpZ25hYmxlUGFyZW50aGVzaXplZEV4cHJlc3Npb24oXG4gICAgICBub2RlOiBOLlBhcmVudGhlc2l6ZWRFeHByZXNzaW9uLFxuICAgICAgaXNMSFM6IGJvb2xlYW4sXG4gICAgKTogdm9pZCB7XG4gICAgICBzd2l0Y2ggKG5vZGUuZXhwcmVzc2lvbi50eXBlKSB7XG4gICAgICAgIGNhc2UgXCJUU0FzRXhwcmVzc2lvblwiOlxuICAgICAgICBjYXNlIFwiVFNTYXRpc2ZpZXNFeHByZXNzaW9uXCI6XG4gICAgICAgIGNhc2UgXCJUU05vbk51bGxFeHByZXNzaW9uXCI6XG4gICAgICAgIGNhc2UgXCJUU1R5cGVBc3NlcnRpb25cIjpcbiAgICAgICAgY2FzZSBcIlBhcmVudGhlc2l6ZWRFeHByZXNzaW9uXCI6XG4gICAgICAgICAgdGhpcy50b0Fzc2lnbmFibGUobm9kZS5leHByZXNzaW9uLCBpc0xIUyk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgc3VwZXIudG9Bc3NpZ25hYmxlKG5vZGUsIGlzTEhTKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjaGVja1RvUmVzdENvbnZlcnNpb24obm9kZTogTi5Ob2RlLCBhbGxvd1BhdHRlcm46IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIHN3aXRjaCAobm9kZS50eXBlKSB7XG4gICAgICAgIGNhc2UgXCJUU0FzRXhwcmVzc2lvblwiOlxuICAgICAgICBjYXNlIFwiVFNTYXRpc2ZpZXNFeHByZXNzaW9uXCI6XG4gICAgICAgIGNhc2UgXCJUU1R5cGVBc3NlcnRpb25cIjpcbiAgICAgICAgY2FzZSBcIlRTTm9uTnVsbEV4cHJlc3Npb25cIjpcbiAgICAgICAgICB0aGlzLmNoZWNrVG9SZXN0Q29udmVyc2lvbihub2RlLmV4cHJlc3Npb24sIGZhbHNlKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBzdXBlci5jaGVja1RvUmVzdENvbnZlcnNpb24obm9kZSwgYWxsb3dQYXR0ZXJuKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpc1ZhbGlkTFZhbChcbiAgICAgIHR5cGU6XG4gICAgICAgIHwgXCJUU1R5cGVDYXN0RXhwcmVzc2lvblwiXG4gICAgICAgIHwgXCJUU1BhcmFtZXRlclByb3BlcnR5XCJcbiAgICAgICAgfCBcIlRTTm9uTnVsbEV4cHJlc3Npb25cIlxuICAgICAgICB8IFwiVFNJbnN0YW50aWF0aW9uRXhwcmVzc2lvblwiXG4gICAgICAgIHwgXCJUU0FzRXhwcmVzc2lvblwiXG4gICAgICAgIHwgXCJUU1NhdGlzZmllc0V4cHJlc3Npb25cIlxuICAgICAgICB8IFwiVFNUeXBlQXNzZXJ0aW9uXCIsXG4gICAgICBpc1VucGFyZW50aGVzaXplZEluQXNzaWduOiBib29sZWFuLFxuICAgICAgYmluZGluZzogQmluZGluZ0ZsYWcsXG4gICAgKSB7XG4gICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgLy8gQWxsb3cgXCJ0eXBlY2FzdHNcIiB0byBhcHBlYXIgb24gdGhlIGxlZnQgb2YgYXNzaWdubWVudCBleHByZXNzaW9ucyxcbiAgICAgICAgLy8gYmVjYXVzZSBpdCBtYXkgYmUgaW4gYW4gYXJyb3cgZnVuY3Rpb24uXG4gICAgICAgIC8vIGUuZy4gYGNvbnN0IGYgPSAoZm9vOiBudW1iZXIgPSAwKSA9PiBmb287YFxuICAgICAgICBjYXNlIFwiVFNUeXBlQ2FzdEV4cHJlc3Npb25cIjpcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgY2FzZSBcIlRTUGFyYW1ldGVyUHJvcGVydHlcIjpcbiAgICAgICAgICByZXR1cm4gXCJwYXJhbWV0ZXJcIjtcbiAgICAgICAgY2FzZSBcIlRTTm9uTnVsbEV4cHJlc3Npb25cIjpcbiAgICAgICAgY2FzZSBcIlRTSW5zdGFudGlhdGlvbkV4cHJlc3Npb25cIjpcbiAgICAgICAgICByZXR1cm4gXCJleHByZXNzaW9uXCI7XG4gICAgICAgIGNhc2UgXCJUU0FzRXhwcmVzc2lvblwiOlxuICAgICAgICBjYXNlIFwiVFNTYXRpc2ZpZXNFeHByZXNzaW9uXCI6XG4gICAgICAgIGNhc2UgXCJUU1R5cGVBc3NlcnRpb25cIjpcbiAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgKGJpbmRpbmcgIT09IEJpbmRpbmdGbGFnLlRZUEVfTk9ORSB8fCAhaXNVbnBhcmVudGhlc2l6ZWRJbkFzc2lnbikgJiZcbiAgICAgICAgICAgIChbXCJleHByZXNzaW9uXCIsIHRydWVdIGFzIFtzdHJpbmcsIGJvb2xlYW5dKVxuICAgICAgICAgICk7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIHN1cGVyLmlzVmFsaWRMVmFsKHR5cGUsIGlzVW5wYXJlbnRoZXNpemVkSW5Bc3NpZ24sIGJpbmRpbmcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHBhcnNlQmluZGluZ0F0b20oKTogTi5QYXR0ZXJuIHtcbiAgICAgIGlmICh0aGlzLnN0YXRlLnR5cGUgPT09IHR0Ll90aGlzKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlSWRlbnRpZmllcigvKiBsaWJlcmFsICovIHRydWUpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN1cGVyLnBhcnNlQmluZGluZ0F0b20oKTtcbiAgICB9XG5cbiAgICBwYXJzZU1heWJlRGVjb3JhdG9yQXJndW1lbnRzKGV4cHI6IE4uRXhwcmVzc2lvbik6IE4uRXhwcmVzc2lvbiB7XG4gICAgICAvLyBoYW5kbGVzIGBAZjw8VD5gXG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5sdCkgfHwgdGhpcy5tYXRjaCh0dC5iaXRTaGlmdEwpKSB7XG4gICAgICAgIGNvbnN0IHR5cGVBcmd1bWVudHMgPSB0aGlzLnRzUGFyc2VUeXBlQXJndW1lbnRzSW5FeHByZXNzaW9uKCk7XG5cbiAgICAgICAgaWYgKHRoaXMubWF0Y2godHQucGFyZW5MKSkge1xuICAgICAgICAgIGNvbnN0IGNhbGwgPSBzdXBlci5wYXJzZU1heWJlRGVjb3JhdG9yQXJndW1lbnRzKFxuICAgICAgICAgICAgZXhwcixcbiAgICAgICAgICApIGFzIE4uQ2FsbEV4cHJlc3Npb247XG4gICAgICAgICAgY2FsbC50eXBlUGFyYW1ldGVycyA9IHR5cGVBcmd1bWVudHM7XG4gICAgICAgICAgcmV0dXJuIGNhbGw7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnVuZXhwZWN0ZWQobnVsbCwgdHQucGFyZW5MKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN1cGVyLnBhcnNlTWF5YmVEZWNvcmF0b3JBcmd1bWVudHMoZXhwcik7XG4gICAgfVxuXG4gICAgY2hlY2tDb21tYUFmdGVyUmVzdChcbiAgICAgIGNsb3NlOiAodHlwZW9mIGNoYXJDb2Rlcylba2V5b2YgdHlwZW9mIGNoYXJDb2Rlc10sXG4gICAgKTogYm9vbGVhbiB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuc3RhdGUuaXNBbWJpZW50Q29udGV4dCAmJlxuICAgICAgICB0aGlzLm1hdGNoKHR0LmNvbW1hKSAmJlxuICAgICAgICB0aGlzLmxvb2thaGVhZENoYXJDb2RlKCkgPT09IGNsb3NlXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdXBlci5jaGVja0NvbW1hQWZ0ZXJSZXN0KGNsb3NlKTtcbiAgICB9XG5cbiAgICAvLyA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT1cbiAgICAvLyBOb3RlOiBBbGwgYmVsb3cgbWV0aG9kcyBhcmUgZHVwbGljYXRlcyBvZiBzb21ldGhpbmcgaW4gZmxvdy5qcy5cbiAgICAvLyBOb3Qgc3VyZSB3aGF0IHRoZSBiZXN0IHdheSB0byBjb21iaW5lIHRoZXNlIGlzLlxuICAgIC8vID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PSA9PT0gPT09ID09PVxuXG4gICAgaXNDbGFzc01ldGhvZCgpOiBib29sZWFuIHtcbiAgICAgIHJldHVybiB0aGlzLm1hdGNoKHR0Lmx0KSB8fCBzdXBlci5pc0NsYXNzTWV0aG9kKCk7XG4gICAgfVxuXG4gICAgaXNDbGFzc1Byb3BlcnR5KCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgdGhpcy5tYXRjaCh0dC5iYW5nKSB8fCB0aGlzLm1hdGNoKHR0LmNvbG9uKSB8fCBzdXBlci5pc0NsYXNzUHJvcGVydHkoKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwYXJzZU1heWJlRGVmYXVsdChcbiAgICAgIHN0YXJ0TG9jPzogUG9zaXRpb24gfCBudWxsLFxuICAgICAgbGVmdD86IFBhdHRlcm4gfCBudWxsLFxuICAgICk6IE4uUGF0dGVybiB7XG4gICAgICBjb25zdCBub2RlID0gc3VwZXIucGFyc2VNYXliZURlZmF1bHQoc3RhcnRMb2MsIGxlZnQpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIG5vZGUudHlwZSA9PT0gXCJBc3NpZ25tZW50UGF0dGVyblwiICYmXG4gICAgICAgIG5vZGUudHlwZUFubm90YXRpb24gJiZcbiAgICAgICAgbm9kZS5yaWdodC5zdGFydCA8IG5vZGUudHlwZUFubm90YXRpb24uc3RhcnRcbiAgICAgICkge1xuICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLlR5cGVBbm5vdGF0aW9uQWZ0ZXJBc3NpZ24sIG5vZGUudHlwZUFubm90YXRpb24pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG5cbiAgICAvLyBlbnN1cmUgdGhhdCBpbnNpZGUgdHlwZXMsIHdlIGJ5cGFzcyB0aGUganN4IHBhcnNlciBwbHVnaW5cbiAgICBnZXRUb2tlbkZyb21Db2RlKGNvZGU6IG51bWJlcik6IHZvaWQge1xuICAgICAgaWYgKHRoaXMuc3RhdGUuaW5UeXBlKSB7XG4gICAgICAgIGlmIChjb2RlID09PSBjaGFyQ29kZXMuZ3JlYXRlclRoYW4pIHtcbiAgICAgICAgICB0aGlzLmZpbmlzaE9wKHR0Lmd0LCAxKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNvZGUgPT09IGNoYXJDb2Rlcy5sZXNzVGhhbikge1xuICAgICAgICAgIHRoaXMuZmluaXNoT3AodHQubHQsIDEpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3VwZXIuZ2V0VG9rZW5Gcm9tQ29kZShjb2RlKTtcbiAgICB9XG5cbiAgICAvLyB1c2VkIGFmdGVyIHdlIGhhdmUgZmluaXNoZWQgcGFyc2luZyB0eXBlc1xuICAgIHJlU2Nhbl9sdF9ndCgpIHtcbiAgICAgIGNvbnN0IHsgdHlwZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIGlmICh0eXBlID09PSB0dC5sdCkge1xuICAgICAgICB0aGlzLnN0YXRlLnBvcyAtPSAxO1xuICAgICAgICB0aGlzLnJlYWRUb2tlbl9sdCgpO1xuICAgICAgfSBlbHNlIGlmICh0eXBlID09PSB0dC5ndCkge1xuICAgICAgICB0aGlzLnN0YXRlLnBvcyAtPSAxO1xuICAgICAgICB0aGlzLnJlYWRUb2tlbl9ndCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJlU2Nhbl9sdCgpIHtcbiAgICAgIGNvbnN0IHsgdHlwZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICAgIGlmICh0eXBlID09PSB0dC5iaXRTaGlmdEwpIHtcbiAgICAgICAgdGhpcy5zdGF0ZS5wb3MgLT0gMjtcbiAgICAgICAgdGhpcy5maW5pc2hPcCh0dC5sdCwgMSk7XG4gICAgICAgIHJldHVybiB0dC5sdDtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0eXBlO1xuICAgIH1cblxuICAgIHRvQXNzaWduYWJsZUxpc3QoXG4gICAgICBleHByTGlzdDogRXhwcmVzc2lvbltdLFxuICAgICAgdHJhaWxpbmdDb21tYUxvYzogUG9zaXRpb24gfCB1bmRlZmluZWQgfCBudWxsLFxuICAgICAgaXNMSFM6IGJvb2xlYW4sXG4gICAgKTogdm9pZCB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGV4cHJMaXN0Lmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGNvbnN0IGV4cHIgPSBleHByTGlzdFtpXTtcbiAgICAgICAgaWYgKGV4cHI/LnR5cGUgPT09IFwiVFNUeXBlQ2FzdEV4cHJlc3Npb25cIikge1xuICAgICAgICAgIGV4cHJMaXN0W2ldID0gdGhpcy50eXBlQ2FzdFRvUGFyYW1ldGVyKGV4cHIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBzdXBlci50b0Fzc2lnbmFibGVMaXN0KGV4cHJMaXN0LCB0cmFpbGluZ0NvbW1hTG9jLCBpc0xIUyk7XG4gICAgfVxuXG4gICAgdHlwZUNhc3RUb1BhcmFtZXRlcihub2RlOiBOLlRzVHlwZUNhc3RFeHByZXNzaW9uKTogTi5FeHByZXNzaW9uIHtcbiAgICAgIChub2RlLmV4cHJlc3Npb24gYXMgTi5JZGVudGlmaWVyKS50eXBlQW5ub3RhdGlvbiA9IG5vZGUudHlwZUFubm90YXRpb247XG5cbiAgICAgIHRoaXMucmVzZXRFbmRMb2NhdGlvbihub2RlLmV4cHJlc3Npb24sIG5vZGUudHlwZUFubm90YXRpb24ubG9jLmVuZCk7XG5cbiAgICAgIHJldHVybiBub2RlLmV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgc2hvdWxkUGFyc2VBcnJvdyhwYXJhbXM6IEFycmF5PE4uTm9kZT4pIHtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmNvbG9uKSkge1xuICAgICAgICByZXR1cm4gcGFyYW1zLmV2ZXJ5KGV4cHIgPT4gdGhpcy5pc0Fzc2lnbmFibGUoZXhwciwgdHJ1ZSkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN1cGVyLnNob3VsZFBhcnNlQXJyb3cocGFyYW1zKTtcbiAgICB9XG5cbiAgICBzaG91bGRQYXJzZUFzeW5jQXJyb3coKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gdGhpcy5tYXRjaCh0dC5jb2xvbikgfHwgc3VwZXIuc2hvdWxkUGFyc2VBc3luY0Fycm93KCk7XG4gICAgfVxuXG4gICAgY2FuSGF2ZUxlYWRpbmdEZWNvcmF0b3IoKSB7XG4gICAgICAvLyBBdm9pZCB1bm5lY2Vzc2FyeSBsb29rYWhlYWQgaW4gY2hlY2tpbmcgZm9yIGFic3RyYWN0IGNsYXNzIHVubGVzcyBuZWVkZWQhXG4gICAgICByZXR1cm4gc3VwZXIuY2FuSGF2ZUxlYWRpbmdEZWNvcmF0b3IoKSB8fCB0aGlzLmlzQWJzdHJhY3RDbGFzcygpO1xuICAgIH1cblxuICAgIGpzeFBhcnNlT3BlbmluZ0VsZW1lbnRBZnRlck5hbWUoXG4gICAgICBub2RlOiBOLkpTWE9wZW5pbmdFbGVtZW50LFxuICAgICk6IE4uSlNYT3BlbmluZ0VsZW1lbnQge1xuICAgICAgLy8gaGFuZGxlcyBgPENvbXBvbmVudDw8VD5gXG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5sdCkgfHwgdGhpcy5tYXRjaCh0dC5iaXRTaGlmdEwpKSB7XG4gICAgICAgIGNvbnN0IHR5cGVBcmd1bWVudHMgPSB0aGlzLnRzVHJ5UGFyc2VBbmRDYXRjaCgoKSA9PlxuICAgICAgICAgIHRoaXMudHNQYXJzZVR5cGVBcmd1bWVudHNJbkV4cHJlc3Npb24oKSxcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKHR5cGVBcmd1bWVudHMpIG5vZGUudHlwZVBhcmFtZXRlcnMgPSB0eXBlQXJndW1lbnRzO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN1cGVyLmpzeFBhcnNlT3BlbmluZ0VsZW1lbnRBZnRlck5hbWUobm9kZSk7XG4gICAgfVxuXG4gICAgZ2V0R2V0dGVyU2V0dGVyRXhwZWN0ZWRQYXJhbUNvdW50KFxuICAgICAgbWV0aG9kOiBOLk9iamVjdE1ldGhvZCB8IE4uQ2xhc3NNZXRob2QsXG4gICAgKTogbnVtYmVyIHtcbiAgICAgIGNvbnN0IGJhc2VDb3VudCA9IHN1cGVyLmdldEdldHRlclNldHRlckV4cGVjdGVkUGFyYW1Db3VudChtZXRob2QpO1xuICAgICAgY29uc3QgcGFyYW1zID0gdGhpcy5nZXRPYmplY3RPckNsYXNzTWV0aG9kUGFyYW1zKG1ldGhvZCk7XG4gICAgICBjb25zdCBmaXJzdFBhcmFtID0gcGFyYW1zWzBdO1xuICAgICAgY29uc3QgaGFzQ29udGV4dFBhcmFtID0gZmlyc3RQYXJhbSAmJiB0aGlzLmlzVGhpc1BhcmFtKGZpcnN0UGFyYW0pO1xuXG4gICAgICByZXR1cm4gaGFzQ29udGV4dFBhcmFtID8gYmFzZUNvdW50ICsgMSA6IGJhc2VDb3VudDtcbiAgICB9XG5cbiAgICBwYXJzZUNhdGNoQ2xhdXNlUGFyYW0oKTogTi5QYXR0ZXJuIHtcbiAgICAgIGNvbnN0IHBhcmFtID0gc3VwZXIucGFyc2VDYXRjaENsYXVzZVBhcmFtKCk7XG4gICAgICBjb25zdCB0eXBlID0gdGhpcy50c1RyeVBhcnNlVHlwZUFubm90YXRpb24oKTtcblxuICAgICAgaWYgKHR5cGUpIHtcbiAgICAgICAgcGFyYW0udHlwZUFubm90YXRpb24gPSB0eXBlO1xuICAgICAgICB0aGlzLnJlc2V0RW5kTG9jYXRpb24ocGFyYW0pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGFyYW07XG4gICAgfVxuXG4gICAgdHNJbkFtYmllbnRDb250ZXh0PFQ+KGNiOiAoKSA9PiBUKTogVCB7XG4gICAgICBjb25zdCB7IGlzQW1iaWVudENvbnRleHQ6IG9sZElzQW1iaWVudENvbnRleHQsIHN0cmljdDogb2xkU3RyaWN0IH0gPVxuICAgICAgICB0aGlzLnN0YXRlO1xuICAgICAgdGhpcy5zdGF0ZS5pc0FtYmllbnRDb250ZXh0ID0gdHJ1ZTtcbiAgICAgIHRoaXMuc3RhdGUuc3RyaWN0ID0gZmFsc2U7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gY2IoKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRoaXMuc3RhdGUuaXNBbWJpZW50Q29udGV4dCA9IG9sZElzQW1iaWVudENvbnRleHQ7XG4gICAgICAgIHRoaXMuc3RhdGUuc3RyaWN0ID0gb2xkU3RyaWN0O1xuICAgICAgfVxuICAgIH1cblxuICAgIHBhcnNlQ2xhc3M8VCBleHRlbmRzIE4uQ2xhc3M+KFxuICAgICAgbm9kZTogVW5kb25lPFQ+LFxuICAgICAgaXNTdGF0ZW1lbnQ6IGJvb2xlYW4sXG4gICAgICBvcHRpb25hbElkPzogYm9vbGVhbixcbiAgICApOiBUIHtcbiAgICAgIGNvbnN0IG9sZEluQWJzdHJhY3RDbGFzcyA9IHRoaXMuc3RhdGUuaW5BYnN0cmFjdENsYXNzO1xuICAgICAgdGhpcy5zdGF0ZS5pbkFic3RyYWN0Q2xhc3MgPSAhIShub2RlIGFzIGFueSkuYWJzdHJhY3Q7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gc3VwZXIucGFyc2VDbGFzcyhub2RlLCBpc1N0YXRlbWVudCwgb3B0aW9uYWxJZCk7XG4gICAgICB9IGZpbmFsbHkge1xuICAgICAgICB0aGlzLnN0YXRlLmluQWJzdHJhY3RDbGFzcyA9IG9sZEluQWJzdHJhY3RDbGFzcztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0c1BhcnNlQWJzdHJhY3REZWNsYXJhdGlvbihcbiAgICAgIG5vZGU6IGFueSxcbiAgICAgIGRlY29yYXRvcnM6IE4uRGVjb3JhdG9yW10gfCBudWxsLFxuICAgICk6IE4uQ2xhc3NEZWNsYXJhdGlvbiB8IE4uVHNJbnRlcmZhY2VEZWNsYXJhdGlvbiB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgICAgaWYgKHRoaXMubWF0Y2godHQuX2NsYXNzKSkge1xuICAgICAgICBub2RlLmFic3RyYWN0ID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRoaXMubWF5YmVUYWtlRGVjb3JhdG9ycyhcbiAgICAgICAgICBkZWNvcmF0b3JzLFxuICAgICAgICAgIHRoaXMucGFyc2VDbGFzczxOLkNsYXNzRGVjbGFyYXRpb24+KFxuICAgICAgICAgICAgbm9kZSBhcyBOLkNsYXNzRGVjbGFyYXRpb24sXG4gICAgICAgICAgICAvKiBpc1N0YXRlbWVudCAqLyB0cnVlLFxuICAgICAgICAgICAgLyogb3B0aW9uYWxJZCAqLyBmYWxzZSxcbiAgICAgICAgICApLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLmlzQ29udGV4dHVhbCh0dC5faW50ZXJmYWNlKSkge1xuICAgICAgICAvLyBmb3IgaW52YWxpZCBhYnN0cmFjdCBpbnRlcmZhY2VcblxuICAgICAgICAvLyBUbyBhdm9pZFxuICAgICAgICAvLyAgIGFic3RyYWN0IGludGVyZmFjZVxuICAgICAgICAvLyAgIEZvbyB7fVxuICAgICAgICBpZiAoIXRoaXMuaGFzRm9sbG93aW5nTGluZUJyZWFrKCkpIHtcbiAgICAgICAgICBub2RlLmFic3RyYWN0ID0gdHJ1ZTtcbiAgICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLk5vbkNsYXNzTWV0aG9kUHJvcGVydHlIYXNBYnN0cmFjdE1vZGlmZXIsIG5vZGUpO1xuICAgICAgICAgIHJldHVybiB0aGlzLnRzUGFyc2VJbnRlcmZhY2VEZWNsYXJhdGlvbihcbiAgICAgICAgICAgIG5vZGUgYXMgTi5Uc0ludGVyZmFjZURlY2xhcmF0aW9uLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudW5leHBlY3RlZChudWxsLCB0dC5fY2xhc3MpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHBhcnNlTWV0aG9kPFxuICAgICAgVCBleHRlbmRzIE4uT2JqZWN0TWV0aG9kIHwgTi5DbGFzc01ldGhvZCB8IE4uQ2xhc3NQcml2YXRlTWV0aG9kLFxuICAgID4oXG4gICAgICBub2RlOiBVbmRvbmU8VD4sXG4gICAgICBpc0dlbmVyYXRvcjogYm9vbGVhbixcbiAgICAgIGlzQXN5bmM6IGJvb2xlYW4sXG4gICAgICBpc0NvbnN0cnVjdG9yOiBib29sZWFuLFxuICAgICAgYWxsb3dEaXJlY3RTdXBlcjogYm9vbGVhbixcbiAgICAgIHR5cGU6IFRbXCJ0eXBlXCJdLFxuICAgICAgaW5DbGFzc1Njb3BlPzogYm9vbGVhbixcbiAgICApIHtcbiAgICAgIGNvbnN0IG1ldGhvZCA9IHN1cGVyLnBhcnNlTWV0aG9kPFQ+KFxuICAgICAgICBub2RlLFxuICAgICAgICBpc0dlbmVyYXRvcixcbiAgICAgICAgaXNBc3luYyxcbiAgICAgICAgaXNDb25zdHJ1Y3RvcixcbiAgICAgICAgYWxsb3dEaXJlY3RTdXBlcixcbiAgICAgICAgdHlwZSxcbiAgICAgICAgaW5DbGFzc1Njb3BlLFxuICAgICAgKTtcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdG9kbyhmbG93LT50cykgcHJvcGVydHkgbm90IGRlZmluZWQgZm9yIGFsbCB0eXBlcyBpbiB1bmlvblxuICAgICAgaWYgKG1ldGhvZC5hYnN0cmFjdCkge1xuICAgICAgICBjb25zdCBoYXNCb2R5ID0gdGhpcy5oYXNQbHVnaW4oXCJlc3RyZWVcIilcbiAgICAgICAgICA/IC8vIEB0cy1leHBlY3QtZXJyb3IgZXN0cmVlIHR5cGluZ3NcbiAgICAgICAgICAgICEhbWV0aG9kLnZhbHVlLmJvZHlcbiAgICAgICAgICA6ICEhbWV0aG9kLmJvZHk7XG4gICAgICAgIGlmIChoYXNCb2R5KSB7XG4gICAgICAgICAgY29uc3QgeyBrZXkgfSA9IG1ldGhvZDtcbiAgICAgICAgICB0aGlzLnJhaXNlKFRTRXJyb3JzLkFic3RyYWN0TWV0aG9kSGFzSW1wbGVtZW50YXRpb24sIG1ldGhvZCwge1xuICAgICAgICAgICAgbWV0aG9kTmFtZTpcbiAgICAgICAgICAgICAga2V5LnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmICFtZXRob2QuY29tcHV0ZWRcbiAgICAgICAgICAgICAgICA/IGtleS5uYW1lXG4gICAgICAgICAgICAgICAgOiBgWyR7dGhpcy5pbnB1dC5zbGljZSh0aGlzLm9mZnNldFRvU291cmNlUG9zKGtleS5zdGFydCksIHRoaXMub2Zmc2V0VG9Tb3VyY2VQb3Moa2V5LmVuZCkpfV1gLFxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbWV0aG9kO1xuICAgIH1cblxuICAgIHRzUGFyc2VUeXBlUGFyYW1ldGVyTmFtZSgpOiBOLklkZW50aWZpZXIgfCBzdHJpbmcge1xuICAgICAgY29uc3QgdHlwZU5hbWU6IE4uSWRlbnRpZmllciA9IHRoaXMucGFyc2VJZGVudGlmaWVyKCk7XG4gICAgICByZXR1cm4gcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORyA/IHR5cGVOYW1lIDogdHlwZU5hbWUubmFtZTtcbiAgICB9XG5cbiAgICBzaG91bGRQYXJzZUFzQW1iaWVudENvbnRleHQoKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gISF0aGlzLmdldFBsdWdpbk9wdGlvbihcInR5cGVzY3JpcHRcIiwgXCJkdHNcIik7XG4gICAgfVxuXG4gICAgcGFyc2UoKSB7XG4gICAgICBpZiAodGhpcy5zaG91bGRQYXJzZUFzQW1iaWVudENvbnRleHQoKSkge1xuICAgICAgICB0aGlzLnN0YXRlLmlzQW1iaWVudENvbnRleHQgPSB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN1cGVyLnBhcnNlKCk7XG4gICAgfVxuXG4gICAgZ2V0RXhwcmVzc2lvbigpIHtcbiAgICAgIGlmICh0aGlzLnNob3VsZFBhcnNlQXNBbWJpZW50Q29udGV4dCgpKSB7XG4gICAgICAgIHRoaXMuc3RhdGUuaXNBbWJpZW50Q29udGV4dCA9IHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3VwZXIuZ2V0RXhwcmVzc2lvbigpO1xuICAgIH1cblxuICAgIHBhcnNlRXhwb3J0U3BlY2lmaWVyKFxuICAgICAgbm9kZTogVW5kb25lPE4uRXhwb3J0U3BlY2lmaWVyPixcbiAgICAgIGlzU3RyaW5nOiBib29sZWFuLFxuICAgICAgaXNJblR5cGVFeHBvcnQ6IGJvb2xlYW4sXG4gICAgICBpc01heWJlVHlwZU9ubHk6IGJvb2xlYW4sXG4gICAgKSB7XG4gICAgICBpZiAoIWlzU3RyaW5nICYmIGlzTWF5YmVUeXBlT25seSkge1xuICAgICAgICB0aGlzLnBhcnNlVHlwZU9ubHlJbXBvcnRFeHBvcnRTcGVjaWZpZXIoXG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICAvKiBpc0ltcG9ydCAqLyBmYWxzZSxcbiAgICAgICAgICBpc0luVHlwZUV4cG9ydCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZTxOLkV4cG9ydFNwZWNpZmllcj4obm9kZSwgXCJFeHBvcnRTcGVjaWZpZXJcIik7XG4gICAgICB9XG4gICAgICBub2RlLmV4cG9ydEtpbmQgPSBcInZhbHVlXCI7XG4gICAgICByZXR1cm4gc3VwZXIucGFyc2VFeHBvcnRTcGVjaWZpZXIoXG4gICAgICAgIG5vZGUsXG4gICAgICAgIGlzU3RyaW5nLFxuICAgICAgICBpc0luVHlwZUV4cG9ydCxcbiAgICAgICAgaXNNYXliZVR5cGVPbmx5LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBwYXJzZUltcG9ydFNwZWNpZmllcihcbiAgICAgIHNwZWNpZmllcjogVW5kb25lPE4uSW1wb3J0U3BlY2lmaWVyPixcbiAgICAgIGltcG9ydGVkSXNTdHJpbmc6IGJvb2xlYW4sXG4gICAgICBpc0luVHlwZU9ubHlJbXBvcnQ6IGJvb2xlYW4sXG4gICAgICBpc01heWJlVHlwZU9ubHk6IGJvb2xlYW4sXG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgICBiaW5kaW5nVHlwZTogQmluZGluZ0ZsYWcgfCB1bmRlZmluZWQsXG4gICAgKTogTi5JbXBvcnRTcGVjaWZpZXIge1xuICAgICAgaWYgKCFpbXBvcnRlZElzU3RyaW5nICYmIGlzTWF5YmVUeXBlT25seSkge1xuICAgICAgICB0aGlzLnBhcnNlVHlwZU9ubHlJbXBvcnRFeHBvcnRTcGVjaWZpZXIoXG4gICAgICAgICAgc3BlY2lmaWVyLFxuICAgICAgICAgIC8qIGlzSW1wb3J0ICovIHRydWUsXG4gICAgICAgICAgaXNJblR5cGVPbmx5SW1wb3J0LFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlPE4uSW1wb3J0U3BlY2lmaWVyPihzcGVjaWZpZXIsIFwiSW1wb3J0U3BlY2lmaWVyXCIpO1xuICAgICAgfVxuICAgICAgc3BlY2lmaWVyLmltcG9ydEtpbmQgPSBcInZhbHVlXCI7XG4gICAgICByZXR1cm4gc3VwZXIucGFyc2VJbXBvcnRTcGVjaWZpZXIoXG4gICAgICAgIHNwZWNpZmllcixcbiAgICAgICAgaW1wb3J0ZWRJc1N0cmluZyxcbiAgICAgICAgaXNJblR5cGVPbmx5SW1wb3J0LFxuICAgICAgICBpc01heWJlVHlwZU9ubHksXG4gICAgICAgIGlzSW5UeXBlT25seUltcG9ydFxuICAgICAgICAgID8gQmluZGluZ0ZsYWcuVFlQRV9UU19UWVBFX0lNUE9SVFxuICAgICAgICAgIDogQmluZGluZ0ZsYWcuVFlQRV9UU19WQUxVRV9JTVBPUlQsXG4gICAgICApO1xuICAgIH1cblxuICAgIHBhcnNlVHlwZU9ubHlJbXBvcnRFeHBvcnRTcGVjaWZpZXIoXG4gICAgICBub2RlOiBhbnksXG4gICAgICBpc0ltcG9ydDogYm9vbGVhbixcbiAgICAgIGlzSW5UeXBlT25seUltcG9ydEV4cG9ydDogYm9vbGVhbixcbiAgICApOiB2b2lkIHtcbiAgICAgIGNvbnN0IGxlZnRPZkFzS2V5ID0gaXNJbXBvcnQgPyBcImltcG9ydGVkXCIgOiBcImxvY2FsXCI7XG4gICAgICBjb25zdCByaWdodE9mQXNLZXkgPSBpc0ltcG9ydCA/IFwibG9jYWxcIiA6IFwiZXhwb3J0ZWRcIjtcblxuICAgICAgbGV0IGxlZnRPZkFzID0gbm9kZVtsZWZ0T2ZBc0tleV07XG4gICAgICBsZXQgcmlnaHRPZkFzO1xuXG4gICAgICBsZXQgaGFzVHlwZVNwZWNpZmllciA9IGZhbHNlO1xuICAgICAgbGV0IGNhblBhcnNlQXNLZXl3b3JkID0gdHJ1ZTtcblxuICAgICAgY29uc3QgbG9jID0gbGVmdE9mQXMubG9jLnN0YXJ0O1xuXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvYmxvYi9mYzRmOWQ4M2Q1OTM5MDQ3YWE2YmIyYTQzOTY1YzZlOWJiZmJjMzViL3NyYy9jb21waWxlci9wYXJzZXIudHMjTDc0MTEtTDc0NTZcbiAgICAgIC8vIGltcG9ydCB7IHR5cGUgfSBmcm9tIFwibW9kXCI7ICAgICAgICAgIC0gaGFzVHlwZVNwZWNpZmllcjogZmFsc2UsIGxlZnRPZkFzOiB0eXBlXG4gICAgICAvLyBpbXBvcnQgeyB0eXBlIGFzIH0gZnJvbSBcIm1vZFwiOyAgICAgICAtIGhhc1R5cGVTcGVjaWZpZXI6IHRydWUsICBsZWZ0T2ZBczogYXNcbiAgICAgIC8vIGltcG9ydCB7IHR5cGUgYXMgYXMgfSBmcm9tIFwibW9kXCI7ICAgIC0gaGFzVHlwZVNwZWNpZmllcjogZmFsc2UsIGxlZnRPZkFzOiB0eXBlLCByaWdodE9mQXM6IGFzXG4gICAgICAvLyBpbXBvcnQgeyB0eXBlIGFzIGFzIGFzIH0gZnJvbSBcIm1vZFwiOyAtIGhhc1R5cGVTcGVjaWZpZXI6IHRydWUsICBsZWZ0T2ZBczogYXMsICAgcmlnaHRPZkFzOiBhc1xuICAgICAgaWYgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9hcykpIHtcbiAgICAgICAgLy8geyB0eXBlIGFzIC4uLj8gfVxuICAgICAgICBjb25zdCBmaXJzdEFzID0gdGhpcy5wYXJzZUlkZW50aWZpZXIoKTtcbiAgICAgICAgaWYgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9hcykpIHtcbiAgICAgICAgICAvLyB7IHR5cGUgYXMgYXMgLi4uPyB9XG4gICAgICAgICAgY29uc3Qgc2Vjb25kQXMgPSB0aGlzLnBhcnNlSWRlbnRpZmllcigpO1xuICAgICAgICAgIGlmICh0b2tlbklzS2V5d29yZE9ySWRlbnRpZmllcih0aGlzLnN0YXRlLnR5cGUpKSB7XG4gICAgICAgICAgICAvLyB7IHR5cGUgYXMgYXMgc29tZXRoaW5nIH1cbiAgICAgICAgICAgIGhhc1R5cGVTcGVjaWZpZXIgPSB0cnVlO1xuICAgICAgICAgICAgbGVmdE9mQXMgPSBmaXJzdEFzO1xuICAgICAgICAgICAgcmlnaHRPZkFzID0gaXNJbXBvcnRcbiAgICAgICAgICAgICAgPyB0aGlzLnBhcnNlSWRlbnRpZmllcigpXG4gICAgICAgICAgICAgIDogdGhpcy5wYXJzZU1vZHVsZUV4cG9ydE5hbWUoKTtcbiAgICAgICAgICAgIGNhblBhcnNlQXNLZXl3b3JkID0gZmFsc2U7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIHsgdHlwZSBhcyBhcyB9XG4gICAgICAgICAgICByaWdodE9mQXMgPSBzZWNvbmRBcztcbiAgICAgICAgICAgIGNhblBhcnNlQXNLZXl3b3JkID0gZmFsc2U7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHRva2VuSXNLZXl3b3JkT3JJZGVudGlmaWVyKHRoaXMuc3RhdGUudHlwZSkpIHtcbiAgICAgICAgICAvLyB7IHR5cGUgYXMgc29tZXRoaW5nIH1cbiAgICAgICAgICBjYW5QYXJzZUFzS2V5d29yZCA9IGZhbHNlO1xuICAgICAgICAgIHJpZ2h0T2ZBcyA9IGlzSW1wb3J0XG4gICAgICAgICAgICA/IHRoaXMucGFyc2VJZGVudGlmaWVyKClcbiAgICAgICAgICAgIDogdGhpcy5wYXJzZU1vZHVsZUV4cG9ydE5hbWUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyB7IHR5cGUgYXMgfVxuICAgICAgICAgIGhhc1R5cGVTcGVjaWZpZXIgPSB0cnVlO1xuICAgICAgICAgIGxlZnRPZkFzID0gZmlyc3RBcztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICh0b2tlbklzS2V5d29yZE9ySWRlbnRpZmllcih0aGlzLnN0YXRlLnR5cGUpKSB7XG4gICAgICAgIC8vIHsgdHlwZSBzb21ldGhpbmcgLi4uPyB9XG4gICAgICAgIGhhc1R5cGVTcGVjaWZpZXIgPSB0cnVlO1xuICAgICAgICBpZiAoaXNJbXBvcnQpIHtcbiAgICAgICAgICBsZWZ0T2ZBcyA9IHRoaXMucGFyc2VJZGVudGlmaWVyKHRydWUpO1xuICAgICAgICAgIGlmICghdGhpcy5pc0NvbnRleHR1YWwodHQuX2FzKSkge1xuICAgICAgICAgICAgdGhpcy5jaGVja1Jlc2VydmVkV29yZChcbiAgICAgICAgICAgICAgbGVmdE9mQXMubmFtZSxcbiAgICAgICAgICAgICAgbGVmdE9mQXMubG9jLnN0YXJ0LFxuICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbGVmdE9mQXMgPSB0aGlzLnBhcnNlTW9kdWxlRXhwb3J0TmFtZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoaGFzVHlwZVNwZWNpZmllciAmJiBpc0luVHlwZU9ubHlJbXBvcnRFeHBvcnQpIHtcbiAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICBpc0ltcG9ydFxuICAgICAgICAgICAgPyBUU0Vycm9ycy5UeXBlTW9kaWZpZXJJc1VzZWRJblR5cGVJbXBvcnRzXG4gICAgICAgICAgICA6IFRTRXJyb3JzLlR5cGVNb2RpZmllcklzVXNlZEluVHlwZUV4cG9ydHMsXG4gICAgICAgICAgbG9jLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBub2RlW2xlZnRPZkFzS2V5XSA9IGxlZnRPZkFzO1xuICAgICAgbm9kZVtyaWdodE9mQXNLZXldID0gcmlnaHRPZkFzO1xuXG4gICAgICBjb25zdCBraW5kS2V5ID0gaXNJbXBvcnQgPyBcImltcG9ydEtpbmRcIiA6IFwiZXhwb3J0S2luZFwiO1xuICAgICAgbm9kZVtraW5kS2V5XSA9IGhhc1R5cGVTcGVjaWZpZXIgPyBcInR5cGVcIiA6IFwidmFsdWVcIjtcblxuICAgICAgaWYgKGNhblBhcnNlQXNLZXl3b3JkICYmIHRoaXMuZWF0Q29udGV4dHVhbCh0dC5fYXMpKSB7XG4gICAgICAgIG5vZGVbcmlnaHRPZkFzS2V5XSA9IGlzSW1wb3J0XG4gICAgICAgICAgPyB0aGlzLnBhcnNlSWRlbnRpZmllcigpXG4gICAgICAgICAgOiB0aGlzLnBhcnNlTW9kdWxlRXhwb3J0TmFtZSgpO1xuICAgICAgfVxuICAgICAgaWYgKCFub2RlW3JpZ2h0T2ZBc0tleV0pIHtcbiAgICAgICAgbm9kZVtyaWdodE9mQXNLZXldID0gY2xvbmVJZGVudGlmaWVyKG5vZGVbbGVmdE9mQXNLZXldKTtcbiAgICAgIH1cbiAgICAgIGlmIChpc0ltcG9ydCkge1xuICAgICAgICB0aGlzLmNoZWNrSWRlbnRpZmllcihcbiAgICAgICAgICBub2RlW3JpZ2h0T2ZBc0tleV0sXG4gICAgICAgICAgaGFzVHlwZVNwZWNpZmllclxuICAgICAgICAgICAgPyBCaW5kaW5nRmxhZy5UWVBFX1RTX1RZUEVfSU1QT1JUXG4gICAgICAgICAgICA6IEJpbmRpbmdGbGFnLlRZUEVfVFNfVkFMVUVfSU1QT1JULFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfTtcblxuZnVuY3Rpb24gaXNQb3NzaWJseUxpdGVyYWxFbnVtKGV4cHJlc3Npb246IE4uRXhwcmVzc2lvbik6IGJvb2xlYW4ge1xuICBpZiAoZXhwcmVzc2lvbi50eXBlICE9PSBcIk1lbWJlckV4cHJlc3Npb25cIikgcmV0dXJuIGZhbHNlO1xuXG4gIGNvbnN0IHsgY29tcHV0ZWQsIHByb3BlcnR5IH0gPSBleHByZXNzaW9uO1xuXG4gIGlmIChcbiAgICBjb21wdXRlZCAmJlxuICAgIHByb3BlcnR5LnR5cGUgIT09IFwiU3RyaW5nTGl0ZXJhbFwiICYmXG4gICAgKHByb3BlcnR5LnR5cGUgIT09IFwiVGVtcGxhdGVMaXRlcmFsXCIgfHwgcHJvcGVydHkuZXhwcmVzc2lvbnMubGVuZ3RoID4gMClcbiAgKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGlzVW5jb21wdXRlZE1lbWJlckV4cHJlc3Npb25DaGFpbihleHByZXNzaW9uLm9iamVjdCk7XG59XG5cbi8vIElmIGEgY29uc3QgZGVjbGFyYXRpb24gaGFzIG5vIHR5cGUgYW5ub3RhdGlvbiBhbmQgaXMgaW5pdGlhbGl6ZWQgdG9cbi8vIGEgc3RyaW5nIGxpdGVyYWwsIG51bWVyaWMgbGl0ZXJhbCwgb3IgZW51bSByZWZlcmVuY2UsIHRoZW4gaXQgaXNcbi8vIGFsbG93ZWQuIEluIGFuIGlkZWFsIHdvcmxkLCB3ZSdkIGNoZWNrIHdoZXRoZXIgaW5pdCB3YXMgKmFjdHVhbGx5KiBhblxuLy8gZW51bSByZWZlcmVuY2UsIGJ1dCB3ZSBhbGxvdyBhbnl0aGluZyB0aGF0IFwiY291bGQgYmVcIiBhIGxpdGVyYWwgZW51bVxuLy8gaW4gYGlzUG9zc2libHlMaXRlcmFsRW51bWAgc2luY2Ugd2UgZG9uJ3QgaGF2ZSBhbGwgdGhlIGluZm9ybWF0aW9uXG4vLyB0aGF0IHRoZSB0eXBlc2NyaXB0IGNvbXBpbGVyIGhhcy5cbmZ1bmN0aW9uIGlzVmFsaWRBbWJpZW50Q29uc3RJbml0aWFsaXplcihcbiAgZXhwcmVzc2lvbjogTi5FeHByZXNzaW9uLFxuICBlc3RyZWU6IGJvb2xlYW4sXG4pOiBib29sZWFuIHtcbiAgY29uc3QgeyB0eXBlIH0gPSBleHByZXNzaW9uO1xuICBpZiAoZXhwcmVzc2lvbi5leHRyYT8ucGFyZW50aGVzaXplZCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoZXN0cmVlKSB7XG4gICAgaWYgKHR5cGUgPT09IFwiTGl0ZXJhbFwiKSB7XG4gICAgICBjb25zdCB7IHZhbHVlIH0gPSBleHByZXNzaW9uO1xuICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgdmFsdWUgPT09IFwiYm9vbGVhblwiKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIHtcbiAgICBpZiAodHlwZSA9PT0gXCJTdHJpbmdMaXRlcmFsXCIgfHwgdHlwZSA9PT0gXCJCb29sZWFuTGl0ZXJhbFwiKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgaWYgKGlzTnVtYmVyKGV4cHJlc3Npb24sIGVzdHJlZSkgfHwgaXNOZWdhdGl2ZU51bWJlcihleHByZXNzaW9uLCBlc3RyZWUpKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgaWYgKHR5cGUgPT09IFwiVGVtcGxhdGVMaXRlcmFsXCIgJiYgZXhwcmVzc2lvbi5leHByZXNzaW9ucy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAoaXNQb3NzaWJseUxpdGVyYWxFbnVtKGV4cHJlc3Npb24pKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5mdW5jdGlvbiBpc051bWJlcihleHByZXNzaW9uOiBOLkV4cHJlc3Npb24sIGVzdHJlZTogYm9vbGVhbik6IGJvb2xlYW4ge1xuICBpZiAoZXN0cmVlKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGV4cHJlc3Npb24udHlwZSA9PT0gXCJMaXRlcmFsXCIgJiZcbiAgICAgICh0eXBlb2YgZXhwcmVzc2lvbi52YWx1ZSA9PT0gXCJudW1iZXJcIiB8fCBcImJpZ2ludFwiIGluIGV4cHJlc3Npb24pXG4gICAgKTtcbiAgfVxuICByZXR1cm4gKFxuICAgIGV4cHJlc3Npb24udHlwZSA9PT0gXCJOdW1lcmljTGl0ZXJhbFwiIHx8IGV4cHJlc3Npb24udHlwZSA9PT0gXCJCaWdJbnRMaXRlcmFsXCJcbiAgKTtcbn1cblxuZnVuY3Rpb24gaXNOZWdhdGl2ZU51bWJlcihleHByZXNzaW9uOiBOLkV4cHJlc3Npb24sIGVzdHJlZTogYm9vbGVhbik6IGJvb2xlYW4ge1xuICBpZiAoZXhwcmVzc2lvbi50eXBlID09PSBcIlVuYXJ5RXhwcmVzc2lvblwiKSB7XG4gICAgY29uc3QgeyBvcGVyYXRvciwgYXJndW1lbnQgfSA9IGV4cHJlc3Npb247XG4gICAgaWYgKG9wZXJhdG9yID09PSBcIi1cIiAmJiBpc051bWJlcihhcmd1bWVudCwgZXN0cmVlKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cblxuZnVuY3Rpb24gaXNVbmNvbXB1dGVkTWVtYmVyRXhwcmVzc2lvbkNoYWluKGV4cHJlc3Npb246IE4uRXhwcmVzc2lvbik6IGJvb2xlYW4ge1xuICBpZiAoZXhwcmVzc2lvbi50eXBlID09PSBcIklkZW50aWZpZXJcIikgcmV0dXJuIHRydWU7XG4gIGlmIChleHByZXNzaW9uLnR5cGUgIT09IFwiTWVtYmVyRXhwcmVzc2lvblwiIHx8IGV4cHJlc3Npb24uY29tcHV0ZWQpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICByZXR1cm4gaXNVbmNvbXB1dGVkTWVtYmVyRXhwcmVzc2lvbkNoYWluKGV4cHJlc3Npb24ub2JqZWN0KTtcbn1cbiIsICJpbXBvcnQgKiBhcyBjaGFyQ29kZXMgZnJvbSBcImNoYXJjb2Rlc1wiO1xuXG5pbXBvcnQgeyB0b2tlbkxhYmVsTmFtZSwgdHQgfSBmcm9tIFwiLi4vdG9rZW5pemVyL3R5cGVzLnRzXCI7XG5pbXBvcnQgdHlwZSBQYXJzZXIgZnJvbSBcIi4uL3BhcnNlci9pbmRleC50c1wiO1xuaW1wb3J0IHR5cGUgKiBhcyBOIGZyb20gXCIuLi90eXBlcy50c1wiO1xuaW1wb3J0IHsgUGFyc2VFcnJvckVudW0gfSBmcm9tIFwiLi4vcGFyc2UtZXJyb3IudHNcIjtcbmltcG9ydCB0eXBlIHsgVW5kb25lIH0gZnJvbSBcIi4uL3BhcnNlci9ub2RlLnRzXCI7XG5pbXBvcnQgdHlwZSB7IEV4cHJlc3Npb25FcnJvcnMgfSBmcm9tIFwiLi4vcGFyc2VyL3V0aWwudHNcIjtcbmltcG9ydCB0eXBlIHsgQmluZGluZ0ZsYWcgfSBmcm9tIFwiLi4vdXRpbC9zY29wZWZsYWdzLnRzXCI7XG5pbXBvcnQgdHlwZSB7IFBvc2l0aW9uIH0gZnJvbSBcIi4uL3V0aWwvbG9jYXRpb24udHNcIjtcblxudHlwZSBQb3NzaWJsZVBsYWNlaG9sZGVycyA9IHtcbiAgSWRlbnRpZmllcjogTi5JZGVudGlmaWVyO1xuICBTdHJpbmdMaXRlcmFsOiBOLlN0cmluZ0xpdGVyYWw7XG4gIEV4cHJlc3Npb246IE4uRXhwcmVzc2lvbjtcbiAgU3RhdGVtZW50OiBOLlN0YXRlbWVudDtcbiAgRGVjbGFyYXRpb246IE4uRGVjbGFyYXRpb247XG4gIEJsb2NrU3RhdGVtZW50OiBOLkJsb2NrU3RhdGVtZW50O1xuICBDbGFzc0JvZHk6IE4uQ2xhc3NCb2R5O1xuICBQYXR0ZXJuOiBOLlBhdHRlcm47XG59O1xuZXhwb3J0IHR5cGUgUGxhY2Vob2xkZXJUeXBlcyA9IGtleW9mIFBvc3NpYmxlUGxhY2Vob2xkZXJzO1xuXG50eXBlIE5vZGVPZjxUIGV4dGVuZHMga2V5b2YgUG9zc2libGVQbGFjZWhvbGRlcnM+ID0gUG9zc2libGVQbGFjZWhvbGRlcnNbVF07XG4vLyB0b2RvOiB3aGVuIHRoZXJlICBpcyBwcm9wZXIgdW5pb24gdHlwZSBmb3IgTm9kZVxuLy8gdHlwZSBOb2RlT2Y8VCBleHRlbmRzIFBsYWNlaG9sZGVyVHlwZXM+ID0gRXh0cmFjdDxOLk5vZGUsIHsgdHlwZTogVCB9PjtcblxuLy8gdG9kbzogUGxhY2Vob2xkZXI8VD4gYnJlYWtzIGV2ZXJ5dGhpbmcsIGJlY2F1c2UgaXRzIHR5cGUgaXMgaW5jb21wYXRpYmxlIHdpdGhcbi8vIHRoZSBzdWJzdGl0dXRlZCBub2Rlcy5cbnR5cGUgTWF5YmVQbGFjZWhvbGRlcjxUIGV4dGVuZHMgUGxhY2Vob2xkZXJUeXBlcz4gPSBOb2RlT2Y8VD47IC8vIHwgUGxhY2Vob2xkZXI8VD5cblxuLyogZXNsaW50IHNvcnQta2V5czogXCJlcnJvclwiICovXG5jb25zdCBQbGFjZWhvbGRlckVycm9ycyA9IFBhcnNlRXJyb3JFbnVtYHBsYWNlaG9sZGVyc2Aoe1xuICBDbGFzc05hbWVJc1JlcXVpcmVkOiBcIkEgY2xhc3MgbmFtZSBpcyByZXF1aXJlZC5cIixcbiAgVW5leHBlY3RlZFNwYWNlOiBcIlVuZXhwZWN0ZWQgc3BhY2UgaW4gcGxhY2Vob2xkZXIuXCIsXG59KTtcblxuZXhwb3J0IGRlZmF1bHQgKHN1cGVyQ2xhc3M6IHR5cGVvZiBQYXJzZXIpID0+XG4gIGNsYXNzIFBsYWNlaG9sZGVyc1BhcnNlck1peGluIGV4dGVuZHMgc3VwZXJDbGFzcyBpbXBsZW1lbnRzIFBhcnNlciB7XG4gICAgcGFyc2VQbGFjZWhvbGRlcjxUIGV4dGVuZHMgUGxhY2Vob2xkZXJUeXBlcz4oXG4gICAgICBleHBlY3RlZE5vZGU6IFQsXG4gICAgKTogLyo/Ti5QbGFjZWhvbGRlcjxUPiovIE1heWJlUGxhY2Vob2xkZXI8VD4gfCB1bmRlZmluZWQge1xuICAgICAgaWYgKHRoaXMubWF0Y2godHQucGxhY2Vob2xkZXIpKSB7XG4gICAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLlBsYWNlaG9sZGVyPFQ+PigpO1xuICAgICAgICB0aGlzLm5leHQoKTtcbiAgICAgICAgdGhpcy5hc3NlcnROb1NwYWNlKCk7XG5cbiAgICAgICAgLy8gV2UgY2FuJ3QgdXNlIHRoaXMucGFyc2VJZGVudGlmaWVyIGJlY2F1c2VcbiAgICAgICAgLy8gd2UgZG9uJ3Qgd2FudCBuZXN0ZWQgcGxhY2Vob2xkZXJzLlxuICAgICAgICBub2RlLm5hbWUgPSBzdXBlci5wYXJzZUlkZW50aWZpZXIoLyogbGliZXJhbCAqLyB0cnVlKTtcblxuICAgICAgICB0aGlzLmFzc2VydE5vU3BhY2UoKTtcbiAgICAgICAgdGhpcy5leHBlY3QodHQucGxhY2Vob2xkZXIpO1xuICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hQbGFjZWhvbGRlcihub2RlLCBleHBlY3RlZE5vZGUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGZpbmlzaFBsYWNlaG9sZGVyPFQgZXh0ZW5kcyBQbGFjZWhvbGRlclR5cGVzPihcbiAgICAgIG5vZGU6IFVuZG9uZTxOLlBsYWNlaG9sZGVyPiB8IFVuZG9uZTxOb2RlT2Y8UGxhY2Vob2xkZXJUeXBlcz4+LFxuICAgICAgZXhwZWN0ZWROb2RlOiBULFxuICAgICk6IC8qTi5QbGFjZWhvbGRlcjxUPiovIE1heWJlUGxhY2Vob2xkZXI8VD4ge1xuICAgICAgbGV0IHBsYWNlaG9sZGVyID0gbm9kZSBhcyB1bmtub3duIGFzIE4uUGxhY2Vob2xkZXI8VD47XG5cbiAgICAgIGlmICghcGxhY2Vob2xkZXIuZXhwZWN0ZWROb2RlIHx8ICFwbGFjZWhvbGRlci50eXBlKSB7XG4gICAgICAgIHBsYWNlaG9sZGVyID0gdGhpcy5maW5pc2hOb2RlKFxuICAgICAgICAgIHBsYWNlaG9sZGVyLFxuICAgICAgICAgIFwiUGxhY2Vob2xkZXJcIixcbiAgICAgICAgKSBhcyB1bmtub3duIGFzIE4uUGxhY2Vob2xkZXI8VD47XG4gICAgICB9XG5cbiAgICAgIHBsYWNlaG9sZGVyLmV4cGVjdGVkTm9kZSA9IGV4cGVjdGVkTm9kZTtcbiAgICAgIHJldHVybiBwbGFjZWhvbGRlciBhcyB1bmtub3duIGFzIE1heWJlUGxhY2Vob2xkZXI8VD47XG4gICAgfVxuXG4gICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAgICAgKiB0b2tlbml6ZXIvaW5kZXguanMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgZ2V0VG9rZW5Gcm9tQ29kZShjb2RlOiBudW1iZXIpIHtcbiAgICAgIGlmIChcbiAgICAgICAgY29kZSA9PT0gY2hhckNvZGVzLnBlcmNlbnRTaWduICYmXG4gICAgICAgIHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyArIDEpID09PSBjaGFyQ29kZXMucGVyY2VudFNpZ25cbiAgICAgICkge1xuICAgICAgICB0aGlzLmZpbmlzaE9wKHR0LnBsYWNlaG9sZGVyLCAyKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN1cGVyLmdldFRva2VuRnJvbUNvZGUoY29kZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAgICAgKiBwYXJzZXIvZXhwcmVzc2lvbi5qcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgcGFyc2VFeHByQXRvbShcbiAgICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzIHwgbnVsbCxcbiAgICApOiBNYXliZVBsYWNlaG9sZGVyPFwiRXhwcmVzc2lvblwiPiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLnBhcnNlUGxhY2Vob2xkZXIoXCJFeHByZXNzaW9uXCIpIHx8XG4gICAgICAgIHN1cGVyLnBhcnNlRXhwckF0b20ocmVmRXhwcmVzc2lvbkVycm9ycylcbiAgICAgICk7XG4gICAgfVxuXG4gICAgcGFyc2VJZGVudGlmaWVyKGxpYmVyYWw/OiBib29sZWFuKTogTWF5YmVQbGFjZWhvbGRlcjxcIklkZW50aWZpZXJcIj4ge1xuICAgICAgLy8gTk9URTogVGhpcyBmdW5jdGlvbiBvbmx5IGhhbmRsZXMgaWRlbnRpZmllcnMgb3V0c2lkZSBvZlxuICAgICAgLy8gZXhwcmVzc2lvbnMgYW5kIGJpbmRpbmcgcGF0dGVybnMsIHNpbmNlIHRoZXkgYXJlIGFscmVhZHlcbiAgICAgIC8vIGhhbmRsZWQgYnkgdGhlIHBhcnNlRXhwckF0b20gYW5kIHBhcnNlQmluZGluZ0F0b20gZnVuY3Rpb25zLlxuICAgICAgLy8gVGhpcyBpcyBuZWVkZWQsIGZvciBleGFtcGxlLCB0byBwYXJzZSBcImNsYXNzICUlTkFNRSUlIHt9XCIuXG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLnBhcnNlUGxhY2Vob2xkZXIoXCJJZGVudGlmaWVyXCIpIHx8IHN1cGVyLnBhcnNlSWRlbnRpZmllcihsaWJlcmFsKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjaGVja1Jlc2VydmVkV29yZChcbiAgICAgIHdvcmQ6IHN0cmluZyxcbiAgICAgIHN0YXJ0TG9jOiBQb3NpdGlvbixcbiAgICAgIGNoZWNrS2V5d29yZHM6IGJvb2xlYW4sXG4gICAgICBpc0JpbmRpbmc6IGJvb2xlYW4sXG4gICAgKSB7XG4gICAgICAvLyBTb21ldGltZXMgd2UgY2FsbCAjY2hlY2tSZXNlcnZlZFdvcmQobm9kZS5uYW1lKSwgZXhwZWN0aW5nXG4gICAgICAvLyB0aGF0IG5vZGUgaXMgYW4gSWRlbnRpZmllci4gSWYgaXQgaXMgYSBQbGFjZWhvbGRlciwgbmFtZVxuICAgICAgLy8gd2lsbCBiZSB1bmRlZmluZWQuXG4gICAgICBpZiAod29yZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHN1cGVyLmNoZWNrUmVzZXJ2ZWRXb3JkKHdvcmQsIHN0YXJ0TG9jLCBjaGVja0tleXdvcmRzLCBpc0JpbmRpbmcpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqXG4gICAgICogcGFyc2VyL2x2YWwuanMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICAgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIHBhcnNlQmluZGluZ0F0b20oKTogTWF5YmVQbGFjZWhvbGRlcjxcIlBhdHRlcm5cIj4ge1xuICAgICAgcmV0dXJuIHRoaXMucGFyc2VQbGFjZWhvbGRlcihcIlBhdHRlcm5cIikgfHwgc3VwZXIucGFyc2VCaW5kaW5nQXRvbSgpO1xuICAgIH1cblxuICAgIGlzVmFsaWRMVmFsKHR5cGU6IHN0cmluZywgaXNQYXJlbnRoZXNpemVkOiBib29sZWFuLCBiaW5kaW5nOiBCaW5kaW5nRmxhZykge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgdHlwZSA9PT0gXCJQbGFjZWhvbGRlclwiIHx8XG4gICAgICAgIHN1cGVyLmlzVmFsaWRMVmFsKHR5cGUsIGlzUGFyZW50aGVzaXplZCwgYmluZGluZylcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdG9Bc3NpZ25hYmxlKG5vZGU6IE4uTm9kZSwgaXNMSFM6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgIGlmIChcbiAgICAgICAgbm9kZSAmJlxuICAgICAgICBub2RlLnR5cGUgPT09IFwiUGxhY2Vob2xkZXJcIiAmJlxuICAgICAgICBub2RlLmV4cGVjdGVkTm9kZSA9PT0gXCJFeHByZXNzaW9uXCJcbiAgICAgICkge1xuICAgICAgICBub2RlLmV4cGVjdGVkTm9kZSA9IFwiUGF0dGVyblwiO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3VwZXIudG9Bc3NpZ25hYmxlKG5vZGUsIGlzTEhTKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKlxuICAgICAqIHBhcnNlci9zdGF0ZW1lbnQuanMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBjaFN0YXJ0c0JpbmRpbmdJZGVudGlmaWVyKGNoOiBudW1iZXIsIHBvczogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICBpZiAoc3VwZXIuY2hTdGFydHNCaW5kaW5nSWRlbnRpZmllcihjaCwgcG9zKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gQWNjZXB0IFwibGV0ICUlXCIgYXMgdGhlIHN0YXJ0IG9mIFwibGV0ICUlcGxhY2Vob2xkZXIlJVwiLCBhcyB0aG91Z2ggdGhlXG4gICAgICAvLyBwbGFjZWhvbGRlciB3ZXJlIGFuIGlkZW50aWZpZXIuXG4gICAgICBjb25zdCBuZXh0VG9rZW4gPSB0aGlzLmxvb2thaGVhZCgpO1xuICAgICAgaWYgKG5leHRUb2tlbi50eXBlID09PSB0dC5wbGFjZWhvbGRlcikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cblxuICAgIHZlcmlmeUJyZWFrQ29udGludWUoXG4gICAgICBub2RlOiBOLkJyZWFrU3RhdGVtZW50IHwgTi5Db250aW51ZVN0YXRlbWVudCxcbiAgICAgIGlzQnJlYWs6IGJvb2xlYW4sXG4gICAgKSB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiBub2RlLmxhYmVsIGNvdWxkIGJlIFBsYWNlaG9sZGVyXG4gICAgICBpZiAobm9kZS5sYWJlbCAmJiBub2RlLmxhYmVsLnR5cGUgPT09IFwiUGxhY2Vob2xkZXJcIikgcmV0dXJuO1xuICAgICAgc3VwZXIudmVyaWZ5QnJlYWtDb250aW51ZShub2RlLCBpc0JyZWFrKTtcbiAgICB9XG5cbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIFBsdWdpbiB3aWxsIG92ZXJyaWRlIHBhcnNlciBpbnRlcmZhY2VcbiAgICBwYXJzZUV4cHJlc3Npb25TdGF0ZW1lbnQoXG4gICAgICBub2RlOiBNYXliZVBsYWNlaG9sZGVyPFwiU3RhdGVtZW50XCI+LFxuICAgICAgZXhwcjogTWF5YmVQbGFjZWhvbGRlcjxcIkV4cHJlc3Npb25cIj4sXG4gICAgKTogTWF5YmVQbGFjZWhvbGRlcjxcIlN0YXRlbWVudFwiPiB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHBsYWNlaG9sZGVyIHR5cGluZ3NcbiAgICAgIGlmIChleHByLnR5cGUgIT09IFwiUGxhY2Vob2xkZXJcIiB8fCBleHByLmV4dHJhPy5wYXJlbnRoZXNpemVkKSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgcGxhY2Vob2xkZXIgdHlwaW5nc1xuICAgICAgICByZXR1cm4gc3VwZXIucGFyc2VFeHByZXNzaW9uU3RhdGVtZW50KG5vZGUsIGV4cHIpO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5jb2xvbikpIHtcbiAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBwbGFjZWhvbGRlciB0eXBpbmdzXG4gICAgICAgIGNvbnN0IHN0bXQ6IE4uTGFiZWxlZFN0YXRlbWVudCA9IG5vZGU7XG4gICAgICAgIHN0bXQubGFiZWwgPSB0aGlzLmZpbmlzaFBsYWNlaG9sZGVyKGV4cHIsIFwiSWRlbnRpZmllclwiKTtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIHN0bXQuYm9keSA9IHN1cGVyLnBhcnNlU3RhdGVtZW50T3JTbG9wcHlBbm5leEJGdW5jdGlvbkRlY2xhcmF0aW9uKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUoc3RtdCwgXCJMYWJlbGVkU3RhdGVtZW50XCIpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLnNlbWljb2xvbigpO1xuICAgICAgY29uc3Qgc3RtdFBsYWNlaG9sZGVyID0gbm9kZSBhcyB1bmtub3duIGFzIE4uUGxhY2Vob2xkZXI8XCJTdGF0ZW1lbnRcIj47XG4gICAgICBzdG10UGxhY2Vob2xkZXIubmFtZSA9IChleHByIGFzIE4uUGxhY2Vob2xkZXIpLm5hbWU7XG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hQbGFjZWhvbGRlcihzdG10UGxhY2Vob2xkZXIsIFwiU3RhdGVtZW50XCIpO1xuICAgIH1cblxuICAgIHBhcnNlQmxvY2soXG4gICAgICBhbGxvd0RpcmVjdGl2ZXM/OiBib29sZWFuLFxuICAgICAgY3JlYXRlTmV3TGV4aWNhbFNjb3BlPzogYm9vbGVhbixcbiAgICAgIGFmdGVyQmxvY2tQYXJzZT86IChoYXNTdHJpY3RNb2RlRGlyZWN0aXZlOiBib29sZWFuKSA9PiB2b2lkLFxuICAgICk6IE1heWJlUGxhY2Vob2xkZXI8XCJCbG9ja1N0YXRlbWVudFwiPiB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLnBhcnNlUGxhY2Vob2xkZXIoXCJCbG9ja1N0YXRlbWVudFwiKSB8fFxuICAgICAgICBzdXBlci5wYXJzZUJsb2NrKFxuICAgICAgICAgIGFsbG93RGlyZWN0aXZlcyxcbiAgICAgICAgICBjcmVhdGVOZXdMZXhpY2FsU2NvcGUsXG4gICAgICAgICAgYWZ0ZXJCbG9ja1BhcnNlLFxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cblxuICAgIHBhcnNlRnVuY3Rpb25JZChcbiAgICAgIHJlcXVpcmVJZD86IGJvb2xlYW4sXG4gICAgKTogTWF5YmVQbGFjZWhvbGRlcjxcIklkZW50aWZpZXJcIj4gfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIHRoaXMucGFyc2VQbGFjZWhvbGRlcihcIklkZW50aWZpZXJcIikgfHwgc3VwZXIucGFyc2VGdW5jdGlvbklkKHJlcXVpcmVJZClcbiAgICAgICk7XG4gICAgfVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgUGx1Z2luIHdpbGwgb3ZlcnJpZGUgcGFyc2VyIGludGVyZmFjZVxuICAgIHBhcnNlQ2xhc3M8VCBleHRlbmRzIE4uQ2xhc3M+KFxuICAgICAgbm9kZTogVCxcbiAgICAgIGlzU3RhdGVtZW50OiAvKiBUID09PSBDbGFzc0RlY2xhcmF0aW9uICovIGJvb2xlYW4sXG4gICAgICBvcHRpb25hbElkPzogYm9vbGVhbixcbiAgICApOiBUIHtcbiAgICAgIGNvbnN0IHR5cGUgPSBpc1N0YXRlbWVudCA/IFwiQ2xhc3NEZWNsYXJhdGlvblwiIDogXCJDbGFzc0V4cHJlc3Npb25cIjtcblxuICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICBjb25zdCBvbGRTdHJpY3QgPSB0aGlzLnN0YXRlLnN0cmljdDtcblxuICAgICAgY29uc3QgcGxhY2Vob2xkZXIgPSB0aGlzLnBhcnNlUGxhY2Vob2xkZXIoXCJJZGVudGlmaWVyXCIpO1xuICAgICAgaWYgKHBsYWNlaG9sZGVyKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLm1hdGNoKHR0Ll9leHRlbmRzKSB8fFxuICAgICAgICAgIHRoaXMubWF0Y2godHQucGxhY2Vob2xkZXIpIHx8XG4gICAgICAgICAgdGhpcy5tYXRjaCh0dC5icmFjZUwpXG4gICAgICAgICkge1xuICAgICAgICAgIG5vZGUuaWQgPSBwbGFjZWhvbGRlcjtcbiAgICAgICAgfSBlbHNlIGlmIChvcHRpb25hbElkIHx8ICFpc1N0YXRlbWVudCkge1xuICAgICAgICAgIG5vZGUuaWQgPSBudWxsO1xuICAgICAgICAgIG5vZGUuYm9keSA9IHRoaXMuZmluaXNoUGxhY2Vob2xkZXIocGxhY2Vob2xkZXIsIFwiQ2xhc3NCb2R5XCIpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgdHlwZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgdGhpcy5yYWlzZShcbiAgICAgICAgICAgIFBsYWNlaG9sZGVyRXJyb3JzLkNsYXNzTmFtZUlzUmVxdWlyZWQsXG4gICAgICAgICAgICB0aGlzLnN0YXRlLnN0YXJ0TG9jLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMucGFyc2VDbGFzc0lkKG5vZGUsIGlzU3RhdGVtZW50LCBvcHRpb25hbElkKTtcbiAgICAgIH1cblxuICAgICAgc3VwZXIucGFyc2VDbGFzc1N1cGVyKG5vZGUpO1xuICAgICAgbm9kZS5ib2R5ID1cbiAgICAgICAgdGhpcy5wYXJzZVBsYWNlaG9sZGVyKFwiQ2xhc3NCb2R5XCIpIHx8XG4gICAgICAgIHN1cGVyLnBhcnNlQ2xhc3NCb2R5KCEhbm9kZS5zdXBlckNsYXNzLCBvbGRTdHJpY3QpO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCB0eXBlKTtcbiAgICB9XG5cbiAgICBwYXJzZUV4cG9ydChcbiAgICAgIG5vZGU6IFVuZG9uZTxcbiAgICAgICAgfCBOLkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblxuICAgICAgICB8IE4uRXhwb3J0QWxsRGVjbGFyYXRpb25cbiAgICAgICAgfCBOLkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cbiAgICAgID4sXG4gICAgICBkZWNvcmF0b3JzOiBOLkRlY29yYXRvcltdIHwgbnVsbCxcbiAgICApOiBOLkFueUV4cG9ydCB7XG4gICAgICBjb25zdCBwbGFjZWhvbGRlciA9IHRoaXMucGFyc2VQbGFjZWhvbGRlcihcIklkZW50aWZpZXJcIik7XG4gICAgICBpZiAoIXBsYWNlaG9sZGVyKSByZXR1cm4gc3VwZXIucGFyc2VFeHBvcnQobm9kZSwgZGVjb3JhdG9ycyk7XG5cbiAgICAgIGNvbnN0IG5vZGUyID0gbm9kZSBhcyBVbmRvbmU8Ti5FeHBvcnROYW1lZERlY2xhcmF0aW9uPjtcblxuICAgICAgaWYgKCF0aGlzLmlzQ29udGV4dHVhbCh0dC5fZnJvbSkgJiYgIXRoaXMubWF0Y2godHQuY29tbWEpKSB7XG4gICAgICAgIC8vIGV4cG9ydCAlJURFQ0wlJTtcbiAgICAgICAgbm9kZTIuc3BlY2lmaWVycyA9IFtdO1xuICAgICAgICBub2RlMi5zb3VyY2UgPSBudWxsO1xuICAgICAgICBub2RlMi5kZWNsYXJhdGlvbiA9IHRoaXMuZmluaXNoUGxhY2Vob2xkZXIocGxhY2Vob2xkZXIsIFwiRGVjbGFyYXRpb25cIik7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZTIsIFwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiKTtcbiAgICAgIH1cblxuICAgICAgLy8gZXhwb3J0ICUlTkFNRSUlIGZyb20gXCJmb29cIjtcbiAgICAgIHRoaXMuZXhwZWN0UGx1Z2luKFwiZXhwb3J0RGVmYXVsdEZyb21cIik7XG4gICAgICBjb25zdCBzcGVjaWZpZXIgPSB0aGlzLnN0YXJ0Tm9kZTxOLkV4cG9ydERlZmF1bHRTcGVjaWZpZXI+KCk7XG4gICAgICBzcGVjaWZpZXIuZXhwb3J0ZWQgPSBwbGFjZWhvbGRlcjtcbiAgICAgIG5vZGUyLnNwZWNpZmllcnMgPSBbdGhpcy5maW5pc2hOb2RlKHNwZWNpZmllciwgXCJFeHBvcnREZWZhdWx0U3BlY2lmaWVyXCIpXTtcblxuICAgICAgcmV0dXJuIHN1cGVyLnBhcnNlRXhwb3J0KG5vZGUyLCBkZWNvcmF0b3JzKTtcbiAgICB9XG5cbiAgICBpc0V4cG9ydERlZmF1bHRTcGVjaWZpZXIoKTogYm9vbGVhbiB7XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5fZGVmYXVsdCkpIHtcbiAgICAgICAgY29uc3QgbmV4dCA9IHRoaXMubmV4dFRva2VuU3RhcnQoKTtcbiAgICAgICAgaWYgKHRoaXMuaXNVbnBhcnNlZENvbnRleHR1YWwobmV4dCwgXCJmcm9tXCIpKSB7XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgdGhpcy5pbnB1dC5zdGFydHNXaXRoKFxuICAgICAgICAgICAgICB0b2tlbkxhYmVsTmFtZSh0dC5wbGFjZWhvbGRlciksXG4gICAgICAgICAgICAgIHRoaXMubmV4dFRva2VuU3RhcnRTaW5jZShuZXh0ICsgNCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBzdXBlci5pc0V4cG9ydERlZmF1bHRTcGVjaWZpZXIoKTtcbiAgICB9XG5cbiAgICBtYXliZVBhcnNlRXhwb3J0RGVmYXVsdFNwZWNpZmllcihcbiAgICAgIG5vZGU6IFVuZG9uZTxcbiAgICAgICAgfCBOLkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblxuICAgICAgICB8IE4uRXhwb3J0QWxsRGVjbGFyYXRpb25cbiAgICAgICAgfCBOLkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cbiAgICAgID4sXG4gICAgICBtYXliZURlZmF1bHRJZGVudGlmaWVyOiBOLklkZW50aWZpZXIgfCBudWxsLFxuICAgICk6IG5vZGUgaXMgVW5kb25lPE4uRXhwb3J0TmFtZWREZWNsYXJhdGlvbj4ge1xuICAgICAgaWYgKChub2RlIGFzIE4uRXhwb3J0TmFtZWREZWNsYXJhdGlvbikuc3BlY2lmaWVycz8ubGVuZ3RoKSB7XG4gICAgICAgIC8vIFwiZXhwb3J0ICUlTkFNRSUlXCIgaGFzIGFscmVhZHkgYmVlbiBwYXJzZWQgYnkgI3BhcnNlRXhwb3J0LlxuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdXBlci5tYXliZVBhcnNlRXhwb3J0RGVmYXVsdFNwZWNpZmllcihcbiAgICAgICAgbm9kZSxcbiAgICAgICAgbWF5YmVEZWZhdWx0SWRlbnRpZmllcixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgY2hlY2tFeHBvcnQobm9kZTogTi5FeHBvcnROYW1lZERlY2xhcmF0aW9uKTogdm9pZCB7XG4gICAgICBjb25zdCB7IHNwZWNpZmllcnMgfSA9IG5vZGU7XG4gICAgICBpZiAoc3BlY2lmaWVycz8ubGVuZ3RoKSB7XG4gICAgICAgIG5vZGUuc3BlY2lmaWVycyA9IHNwZWNpZmllcnMuZmlsdGVyKFxuICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgcGxhY2Vob2xkZXIgdHlwaW5nc1xuICAgICAgICAgIG5vZGUgPT4gbm9kZS5leHBvcnRlZC50eXBlID09PSBcIlBsYWNlaG9sZGVyXCIsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBzdXBlci5jaGVja0V4cG9ydChub2RlKTtcbiAgICAgIG5vZGUuc3BlY2lmaWVycyA9IHNwZWNpZmllcnM7XG4gICAgfVxuXG4gICAgcGFyc2VJbXBvcnQoXG4gICAgICBub2RlOiBVbmRvbmU8Ti5JbXBvcnREZWNsYXJhdGlvbj4sXG4gICAgKTogTi5JbXBvcnREZWNsYXJhdGlvbiB8IE4uVHNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbiB7XG4gICAgICBjb25zdCBwbGFjZWhvbGRlciA9IHRoaXMucGFyc2VQbGFjZWhvbGRlcihcIklkZW50aWZpZXJcIik7XG4gICAgICBpZiAoIXBsYWNlaG9sZGVyKSByZXR1cm4gc3VwZXIucGFyc2VJbXBvcnQobm9kZSk7XG5cbiAgICAgIG5vZGUuc3BlY2lmaWVycyA9IFtdO1xuXG4gICAgICBpZiAoIXRoaXMuaXNDb250ZXh0dWFsKHR0Ll9mcm9tKSAmJiAhdGhpcy5tYXRjaCh0dC5jb21tYSkpIHtcbiAgICAgICAgLy8gaW1wb3J0ICUlU1RSSU5HJSU7XG4gICAgICAgIG5vZGUuc291cmNlID0gdGhpcy5maW5pc2hQbGFjZWhvbGRlcihwbGFjZWhvbGRlciwgXCJTdHJpbmdMaXRlcmFsXCIpO1xuICAgICAgICB0aGlzLnNlbWljb2xvbigpO1xuICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiSW1wb3J0RGVjbGFyYXRpb25cIik7XG4gICAgICB9XG5cbiAgICAgIC8vIGltcG9ydCAlJURFRkFVTFQlJSAuLi5cbiAgICAgIGNvbnN0IHNwZWNpZmllciA9XG4gICAgICAgIHRoaXMuc3RhcnROb2RlQXROb2RlPE4uSW1wb3J0RGVmYXVsdFNwZWNpZmllcj4ocGxhY2Vob2xkZXIpO1xuICAgICAgc3BlY2lmaWVyLmxvY2FsID0gcGxhY2Vob2xkZXI7XG4gICAgICBub2RlLnNwZWNpZmllcnMucHVzaChcbiAgICAgICAgdGhpcy5maW5pc2hOb2RlKHNwZWNpZmllciwgXCJJbXBvcnREZWZhdWx0U3BlY2lmaWVyXCIpLFxuICAgICAgKTtcblxuICAgICAgaWYgKHRoaXMuZWF0KHR0LmNvbW1hKSkge1xuICAgICAgICAvLyBpbXBvcnQgJSVERUZBVUxUJSUsICogYXMgLi4uXG4gICAgICAgIGNvbnN0IGhhc1N0YXJJbXBvcnQgPSB0aGlzLm1heWJlUGFyc2VTdGFySW1wb3J0U3BlY2lmaWVyKG5vZGUpO1xuXG4gICAgICAgIC8vIGltcG9ydCAlJURFRkFVTFQlJSwgeyAuLi5cbiAgICAgICAgaWYgKCFoYXNTdGFySW1wb3J0KSB0aGlzLnBhcnNlTmFtZWRJbXBvcnRTcGVjaWZpZXJzKG5vZGUpO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmV4cGVjdENvbnRleHR1YWwodHQuX2Zyb20pO1xuICAgICAgbm9kZS5zb3VyY2UgPSB0aGlzLnBhcnNlSW1wb3J0U291cmNlKCk7XG4gICAgICB0aGlzLnNlbWljb2xvbigpO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkltcG9ydERlY2xhcmF0aW9uXCIpO1xuICAgIH1cblxuICAgIHBhcnNlSW1wb3J0U291cmNlKCk6IE1heWJlUGxhY2Vob2xkZXI8XCJTdHJpbmdMaXRlcmFsXCI+IHtcbiAgICAgIC8vIGltcG9ydCAuLi4gZnJvbSAlJVNUUklORyUlO1xuXG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLnBhcnNlUGxhY2Vob2xkZXIoXCJTdHJpbmdMaXRlcmFsXCIpIHx8IHN1cGVyLnBhcnNlSW1wb3J0U291cmNlKClcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gVGhyb3dzIGlmIHRoZSBjdXJyZW50IHRva2VuIGFuZCB0aGUgcHJldiBvbmUgYXJlIHNlcGFyYXRlZCBieSBhIHNwYWNlLlxuICAgIGFzc2VydE5vU3BhY2UoKTogdm9pZCB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuc3RhdGUuc3RhcnQgPlxuICAgICAgICB0aGlzLm9mZnNldFRvU291cmNlUG9zKHRoaXMuc3RhdGUubGFzdFRva0VuZExvYy5pbmRleClcbiAgICAgICkge1xuICAgICAgICB0aGlzLnJhaXNlKFBsYWNlaG9sZGVyRXJyb3JzLlVuZXhwZWN0ZWRTcGFjZSwgdGhpcy5zdGF0ZS5sYXN0VG9rRW5kTG9jKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG4iLCAiaW1wb3J0IHR5cGUgUGFyc2VyIGZyb20gXCIuLi9wYXJzZXIvaW5kZXgudHNcIjtcbmltcG9ydCB7IHRva2VuSXNJZGVudGlmaWVyLCB0dCB9IGZyb20gXCIuLi90b2tlbml6ZXIvdHlwZXMudHNcIjtcbmltcG9ydCB0eXBlICogYXMgTiBmcm9tIFwiLi4vdHlwZXMudHNcIjtcbmltcG9ydCB0eXBlIHsgRXhwcmVzc2lvbkVycm9ycyB9IGZyb20gXCIuLi9wYXJzZXIvdXRpbC50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCAoc3VwZXJDbGFzczogdHlwZW9mIFBhcnNlcikgPT5cbiAgY2xhc3MgVjhJbnRyaW5zaWNNaXhpbiBleHRlbmRzIHN1cGVyQ2xhc3MgaW1wbGVtZW50cyBQYXJzZXIge1xuICAgIHBhcnNlVjhJbnRyaW5zaWMoKTogTi5FeHByZXNzaW9uIHtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0Lm1vZHVsbykpIHtcbiAgICAgICAgY29uc3QgdjhJbnRyaW5zaWNTdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgICAgIC8vIGxldCB0aGUgYGxvY2Agb2YgSWRlbnRpZmllciBzdGFydHMgZnJvbSBgJWBcbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uSWRlbnRpZmllcj4oKTtcbiAgICAgICAgdGhpcy5uZXh0KCk7IC8vIGVhdCAnJSdcbiAgICAgICAgaWYgKHRva2VuSXNJZGVudGlmaWVyKHRoaXMuc3RhdGUudHlwZSkpIHtcbiAgICAgICAgICBjb25zdCBuYW1lID0gdGhpcy5wYXJzZUlkZW50aWZpZXJOYW1lKCk7XG4gICAgICAgICAgY29uc3QgaWRlbnRpZmllciA9IHRoaXMuY3JlYXRlSWRlbnRpZmllcihub2RlLCBuYW1lKTtcbiAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiBhdm9pZCBtdXRhdGluZyBBU1QgdHlwZXNcbiAgICAgICAgICBpZGVudGlmaWVyLnR5cGUgPSBcIlY4SW50cmluc2ljSWRlbnRpZmllclwiO1xuICAgICAgICAgIGlmICh0aGlzLm1hdGNoKHR0LnBhcmVuTCkpIHtcbiAgICAgICAgICAgIHJldHVybiBpZGVudGlmaWVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVuZXhwZWN0ZWQodjhJbnRyaW5zaWNTdGFydExvYyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICpcbiAgICAgKiBwYXJzZXIvZXhwcmVzc2lvbi5qcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgICAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgcGFyc2VFeHByQXRvbShyZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwpOiBOLkV4cHJlc3Npb24ge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgdGhpcy5wYXJzZVY4SW50cmluc2ljKCkgfHwgc3VwZXIucGFyc2VFeHByQXRvbShyZWZFeHByZXNzaW9uRXJyb3JzKVxuICAgICAgKTtcbiAgICB9XG4gIH07XG4iLCAiaW1wb3J0IHR5cGUgUGFyc2VyIGZyb20gXCIuL3BhcnNlci9pbmRleC50c1wiO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5Db25maWcgfSBmcm9tIFwiLi90eXBpbmdzLnRzXCI7XG5cbmV4cG9ydCB0eXBlIFBsdWdpbiA9IFBsdWdpbkNvbmZpZztcblxuZXhwb3J0IHR5cGUgUGx1Z2luTGlzdCA9IFBsdWdpbkNvbmZpZ1tdO1xuXG5leHBvcnQgdHlwZSBNaXhpblBsdWdpbiA9IChcbiAgc3VwZXJDbGFzczogbmV3ICguLi5hcmdzOiBhbnkpID0+IFBhcnNlcixcbikgPT4gbmV3ICguLi5hcmdzOiBhbnkpID0+IFBhcnNlcjtcblxuY29uc3QgUElQRUxJTkVfUFJPUE9TQUxTID0gcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lOR1xuICA/IFtcImZzaGFycFwiLCBcImhhY2tcIl1cbiAgOiBbXCJtaW5pbWFsXCIsIFwiZnNoYXJwXCIsIFwiaGFja1wiLCBcInNtYXJ0XCJdO1xuY29uc3QgVE9QSUNfVE9LRU5TID0gW1wiXl5cIiwgXCJAQFwiLCBcIl5cIiwgXCIlXCIsIFwiI1wiXTtcblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlUGx1Z2lucyhwbHVnaW5zTWFwOiBNYXA8c3RyaW5nLCBhbnk+KSB7XG4gIGlmIChwbHVnaW5zTWFwLmhhcyhcImRlY29yYXRvcnNcIikpIHtcbiAgICBpZiAocGx1Z2luc01hcC5oYXMoXCJkZWNvcmF0b3JzLWxlZ2FjeVwiKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkNhbm5vdCB1c2UgdGhlIGRlY29yYXRvcnMgYW5kIGRlY29yYXRvcnMtbGVnYWN5IHBsdWdpbiB0b2dldGhlclwiLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCBkZWNvcmF0b3JzQmVmb3JlRXhwb3J0ID1cbiAgICAgIHBsdWdpbnNNYXAuZ2V0KFwiZGVjb3JhdG9yc1wiKS5kZWNvcmF0b3JzQmVmb3JlRXhwb3J0O1xuICAgIGlmIChcbiAgICAgIGRlY29yYXRvcnNCZWZvcmVFeHBvcnQgIT0gbnVsbCAmJlxuICAgICAgdHlwZW9mIGRlY29yYXRvcnNCZWZvcmVFeHBvcnQgIT09IFwiYm9vbGVhblwiXG4gICAgKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiJ2RlY29yYXRvcnNCZWZvcmVFeHBvcnQnIG11c3QgYmUgYSBib29sZWFuLCBpZiBzcGVjaWZpZWQuXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IGFsbG93Q2FsbFBhcmVudGhlc2l6ZWQgPVxuICAgICAgcGx1Z2luc01hcC5nZXQoXCJkZWNvcmF0b3JzXCIpLmFsbG93Q2FsbFBhcmVudGhlc2l6ZWQ7XG4gICAgaWYgKFxuICAgICAgYWxsb3dDYWxsUGFyZW50aGVzaXplZCAhPSBudWxsICYmXG4gICAgICB0eXBlb2YgYWxsb3dDYWxsUGFyZW50aGVzaXplZCAhPT0gXCJib29sZWFuXCJcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIidhbGxvd0NhbGxQYXJlbnRoZXNpemVkJyBtdXN0IGJlIGEgYm9vbGVhbi5cIik7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBsdWdpbnNNYXAuaGFzKFwiZmxvd1wiKSAmJiBwbHVnaW5zTWFwLmhhcyhcInR5cGVzY3JpcHRcIikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgY29tYmluZSBmbG93IGFuZCB0eXBlc2NyaXB0IHBsdWdpbnMuXCIpO1xuICB9XG5cbiAgaWYgKHBsdWdpbnNNYXAuaGFzKFwicGxhY2Vob2xkZXJzXCIpICYmIHBsdWdpbnNNYXAuaGFzKFwidjhpbnRyaW5zaWNcIikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgY29tYmluZSBwbGFjZWhvbGRlcnMgYW5kIHY4aW50cmluc2ljIHBsdWdpbnMuXCIpO1xuICB9XG5cbiAgaWYgKHBsdWdpbnNNYXAuaGFzKFwicGlwZWxpbmVPcGVyYXRvclwiKSkge1xuICAgIGNvbnN0IHByb3Bvc2FsID0gcGx1Z2luc01hcC5nZXQoXCJwaXBlbGluZU9wZXJhdG9yXCIpLnByb3Bvc2FsO1xuXG4gICAgaWYgKCFQSVBFTElORV9QUk9QT1NBTFMuaW5jbHVkZXMocHJvcG9zYWwpKSB7XG4gICAgICBjb25zdCBwcm9wb3NhbExpc3QgPSBQSVBFTElORV9QUk9QT1NBTFMubWFwKHAgPT4gYFwiJHtwfVwiYCkuam9pbihcIiwgXCIpO1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgXCJwaXBlbGluZU9wZXJhdG9yXCIgcmVxdWlyZXMgXCJwcm9wb3NhbFwiIG9wdGlvbiB3aG9zZSB2YWx1ZSBtdXN0IGJlIG9uZSBvZjogJHtwcm9wb3NhbExpc3R9LmAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHR1cGxlU3ludGF4SXNIYXNoID0gcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lOR1xuICAgICAgPyBwbHVnaW5zTWFwLmhhcyhcInJlY29yZEFuZFR1cGxlXCIpXG4gICAgICA6IHBsdWdpbnNNYXAuZ2V0KFwicmVjb3JkQW5kVHVwbGVcIik/LnN5bnRheFR5cGUgPT09IFwiaGFzaFwiO1xuXG4gICAgaWYgKHByb3Bvc2FsID09PSBcImhhY2tcIikge1xuICAgICAgaWYgKHBsdWdpbnNNYXAuaGFzKFwicGxhY2Vob2xkZXJzXCIpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBcIkNhbm5vdCBjb21iaW5lIHBsYWNlaG9sZGVycyBwbHVnaW4gYW5kIEhhY2stc3R5bGUgcGlwZXMuXCIsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIGlmIChwbHVnaW5zTWFwLmhhcyhcInY4aW50cmluc2ljXCIpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBcIkNhbm5vdCBjb21iaW5lIHY4aW50cmluc2ljIHBsdWdpbiBhbmQgSGFjay1zdHlsZSBwaXBlcy5cIixcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgdG9waWNUb2tlbiA9IHBsdWdpbnNNYXAuZ2V0KFwicGlwZWxpbmVPcGVyYXRvclwiKS50b3BpY1Rva2VuO1xuXG4gICAgICBpZiAoIVRPUElDX1RPS0VOUy5pbmNsdWRlcyh0b3BpY1Rva2VuKSkge1xuICAgICAgICBjb25zdCB0b2tlbkxpc3QgPSBUT1BJQ19UT0tFTlMubWFwKHQgPT4gYFwiJHt0fVwiYCkuam9pbihcIiwgXCIpO1xuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICBgXCJwaXBlbGluZU9wZXJhdG9yXCIgaW4gXCJwcm9wb3NhbFwiOiBcImhhY2tcIiBtb2RlIGFsc28gcmVxdWlyZXMgYSBcInRvcGljVG9rZW5cIiBvcHRpb24gd2hvc2UgdmFsdWUgbXVzdCBiZSBvbmUgb2Y6ICR7dG9rZW5MaXN0fS5gLFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBpZiAodG9waWNUb2tlbiA9PT0gXCIjXCIgJiYgdHVwbGVTeW50YXhJc0hhc2gpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBQbHVnaW4gY29uZmxpY3QgYmV0d2VlbiBcXGBbXCJwaXBlbGluZU9wZXJhdG9yXCIsIHsgcHJvcG9zYWw6IFwiaGFja1wiLCB0b3BpY1Rva2VuOiBcIiNcIiB9XVxcYCBhbmQgXFxgJHtKU09OLnN0cmluZ2lmeShbXCJyZWNvcmRBbmRUdXBsZVwiLCBwbHVnaW5zTWFwLmdldChcInJlY29yZEFuZFR1cGxlXCIpXSl9XFxgLmAsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChwcm9wb3NhbCA9PT0gXCJzbWFydFwiICYmIHR1cGxlU3ludGF4SXNIYXNoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBQbHVnaW4gY29uZmxpY3QgYmV0d2VlbiBcXGBbXCJwaXBlbGluZU9wZXJhdG9yXCIsIHsgcHJvcG9zYWw6IFwic21hcnRcIiB9XVxcYCBhbmQgXFxgJHtKU09OLnN0cmluZ2lmeShbXCJyZWNvcmRBbmRUdXBsZVwiLCBwbHVnaW5zTWFwLmdldChcInJlY29yZEFuZFR1cGxlXCIpXSl9XFxgLmAsXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIGlmIChwbHVnaW5zTWFwLmhhcyhcIm1vZHVsZUF0dHJpYnV0ZXNcIikpIHtcbiAgICBpZiAocHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcImBtb2R1bGVBdHRyaWJ1dGVzYCBoYXMgYmVlbiByZW1vdmVkIGluIEJhYmVsIDgsIHBsZWFzZSBtaWdyYXRlIHRvIGltcG9ydCBhdHRyaWJ1dGVzIGluc3RlYWQuXCIsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoXG4gICAgICAgIHBsdWdpbnNNYXAuaGFzKFwiZGVwcmVjYXRlZEltcG9ydEFzc2VydFwiKSB8fFxuICAgICAgICBwbHVnaW5zTWFwLmhhcyhcImltcG9ydEFzc2VydGlvbnNcIilcbiAgICAgICkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgXCJDYW5ub3QgY29tYmluZSBpbXBvcnRBc3NlcnRpb25zLCBkZXByZWNhdGVkSW1wb3J0QXNzZXJ0IGFuZCBtb2R1bGVBdHRyaWJ1dGVzIHBsdWdpbnMuXCIsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zdCBtb2R1bGVBdHRyaWJ1dGVzVmVyc2lvblBsdWdpbk9wdGlvbiA9XG4gICAgICAgIHBsdWdpbnNNYXAuZ2V0KFwibW9kdWxlQXR0cmlidXRlc1wiKS52ZXJzaW9uO1xuICAgICAgaWYgKG1vZHVsZUF0dHJpYnV0ZXNWZXJzaW9uUGx1Z2luT3B0aW9uICE9PSBcIm1heS0yMDIwXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIFwiVGhlICdtb2R1bGVBdHRyaWJ1dGVzJyBwbHVnaW4gcmVxdWlyZXMgYSAndmVyc2lvbicgb3B0aW9uLFwiICtcbiAgICAgICAgICAgIFwiIHJlcHJlc2VudGluZyB0aGUgbGFzdCBwcm9wb3NhbCB1cGRhdGUuIEN1cnJlbnRseSwgdGhlXCIgK1xuICAgICAgICAgICAgXCIgb25seSBzdXBwb3J0ZWQgdmFsdWUgaXMgJ21heS0yMDIwJy5cIixcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKHBsdWdpbnNNYXAuaGFzKFwiaW1wb3J0QXNzZXJ0aW9uc1wiKSkge1xuICAgIGlmIChwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiYGltcG9ydEFzc2VydGlvbnNgIGhhcyBiZWVuIHJlbW92ZWQgaW4gQmFiZWwgOCwgcGxlYXNlIHVzZSBpbXBvcnQgYXR0cmlidXRlcyBpbnN0ZWFkLlwiICtcbiAgICAgICAgICBcIiBUbyB1c2UgdGhlIG5vbi1zdGFuZGFyZCBgYXNzZXJ0YCBzeW50YXggeW91IGNhbiBlbmFibGUgdGhlIGBkZXByZWNhdGVkSW1wb3J0QXNzZXJ0YCBwYXJzZXIgcGx1Z2luLlwiLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHBsdWdpbnNNYXAuaGFzKFwiZGVwcmVjYXRlZEltcG9ydEFzc2VydFwiKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIkNhbm5vdCBjb21iaW5lIGltcG9ydEFzc2VydGlvbnMgYW5kIGRlcHJlY2F0ZWRJbXBvcnRBc3NlcnQgcGx1Z2lucy5cIixcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIGlmIChcbiAgICAhcGx1Z2luc01hcC5oYXMoXCJkZXByZWNhdGVkSW1wb3J0QXNzZXJ0XCIpICYmXG4gICAgcGx1Z2luc01hcC5oYXMoXCJpbXBvcnRBdHRyaWJ1dGVzXCIpICYmXG4gICAgcGx1Z2luc01hcC5nZXQoXCJpbXBvcnRBdHRyaWJ1dGVzXCIpLmRlcHJlY2F0ZWRBc3NlcnRTeW50YXhcbiAgKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJUaGUgJ2ltcG9ydEF0dHJpYnV0ZXMnIHBsdWdpbiBoYXMgYmVlbiByZW1vdmVkIGluIEJhYmVsIDguIElmIHlvdSBuZWVkIHRvIGVuYWJsZSBzdXBwb3J0IFwiICtcbiAgICAgICAgICBcImZvciB0aGUgZGVwcmVjYXRlZCBgYXNzZXJ0YCBzeW50YXgsIHlvdSBjYW4gZW5hYmxlIHRoZSBgZGVwcmVjYXRlZEltcG9ydEFzc2VydGAgcGFyc2VyIHBsdWdpbi5cIixcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBsdWdpbnNNYXAuc2V0KFwiZGVwcmVjYXRlZEltcG9ydEFzc2VydFwiLCB7fSk7XG4gICAgfVxuICB9XG5cbiAgaWYgKHBsdWdpbnNNYXAuaGFzKFwicmVjb3JkQW5kVHVwbGVcIikpIHtcbiAgICBjb25zdCBzeW50YXhUeXBlID0gcGx1Z2luc01hcC5nZXQoXCJyZWNvcmRBbmRUdXBsZVwiKS5zeW50YXhUeXBlO1xuICAgIGlmIChzeW50YXhUeXBlICE9IG51bGwpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HKSB7XG4gICAgICAgIGlmIChzeW50YXhUeXBlID09PSBcImhhc2hcIikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgICdUaGUgc3ludGF4VHlwZSBvcHRpb24gaXMgbm8gbG9uZ2VyIHJlcXVpcmVkIGluIEJhYmVsIDguIFlvdSBjYW4gc2FmZWx5IHJlbW92ZSB7IHN5bnRheFR5cGU6IFwiaGFzaFwiIH0gZnJvbSB0aGUgcmVjb3JkQW5kVHVwbGUgY29uZmlnLicsXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICAnVGhlIHN5bnRheFR5cGUgb3B0aW9uIGlzIG5vIGxvbmdlciByZXF1aXJlZCBpbiBCYWJlbCA4LiBQbGVhc2UgcmVtb3ZlIHsgc3ludGF4VHlwZTogXCJiYXJcIiB9IGZyb20gdGhlIHJlY29yZEFuZFR1cGxlIGNvbmZpZyBhbmQgbWlncmF0ZSB0byB0aGUgaGFzaCBzeW50YXggI3t9IGFuZCAjW10uJyxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBSRUNPUkRfQU5EX1RVUExFX1NZTlRBWF9UWVBFUyA9IFtcImhhc2hcIiwgXCJiYXJcIl07XG4gICAgICAgIGlmICghUkVDT1JEX0FORF9UVVBMRV9TWU5UQVhfVFlQRVMuaW5jbHVkZXMoc3ludGF4VHlwZSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBcIlRoZSAnc3ludGF4VHlwZScgb3B0aW9uIG9mIHRoZSAncmVjb3JkQW5kVHVwbGUnIHBsdWdpbiBtdXN0IGJlIG9uZSBvZjogXCIgK1xuICAgICAgICAgICAgICBSRUNPUkRfQU5EX1RVUExFX1NZTlRBWF9UWVBFUy5tYXAocCA9PiBgJyR7cH0nYCkuam9pbihcIiwgXCIpLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpZiAoXG4gICAgcGx1Z2luc01hcC5oYXMoXCJhc3luY0RvRXhwcmVzc2lvbnNcIikgJiZcbiAgICAhcGx1Z2luc01hcC5oYXMoXCJkb0V4cHJlc3Npb25zXCIpXG4gICkge1xuICAgIGNvbnN0IGVycm9yID0gbmV3IEVycm9yKFxuICAgICAgXCInYXN5bmNEb0V4cHJlc3Npb25zJyByZXF1aXJlcyAnZG9FeHByZXNzaW9ucycsIHBsZWFzZSBhZGQgJ2RvRXhwcmVzc2lvbnMnIHRvIHBhcnNlciBwbHVnaW5zLlwiLFxuICAgICk7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBzbyBAYmFiZWwvY29yZSBjYW4gcHJvdmlkZSBiZXR0ZXIgZXJyb3IgbWVzc2FnZVxuICAgIGVycm9yLm1pc3NpbmdQbHVnaW5zID0gXCJkb0V4cHJlc3Npb25zXCI7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cblxuICBpZiAoXG4gICAgcGx1Z2luc01hcC5oYXMoXCJvcHRpb25hbENoYWluaW5nQXNzaWduXCIpICYmXG4gICAgcGx1Z2luc01hcC5nZXQoXCJvcHRpb25hbENoYWluaW5nQXNzaWduXCIpLnZlcnNpb24gIT09IFwiMjAyMy0wN1wiXG4gICkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwiVGhlICdvcHRpb25hbENoYWluaW5nQXNzaWduJyBwbHVnaW4gcmVxdWlyZXMgYSAndmVyc2lvbicgb3B0aW9uLFwiICtcbiAgICAgICAgXCIgcmVwcmVzZW50aW5nIHRoZSBsYXN0IHByb3Bvc2FsIHVwZGF0ZS4gQ3VycmVudGx5LCB0aGVcIiArXG4gICAgICAgIFwiIG9ubHkgc3VwcG9ydGVkIHZhbHVlIGlzICcyMDIzLTA3Jy5cIixcbiAgICApO1xuICB9XG5cbiAgaWYgKHByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcpIHtcbiAgICBpZiAocGx1Z2luc01hcC5oYXMoXCJkZWNpbWFsXCIpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIFwiVGhlICdkZWNpbWFsJyBwbHVnaW4gaGFzIGJlZW4gcmVtb3ZlZCBpbiBCYWJlbCA4LiBQbGVhc2UgcmVtb3ZlIGl0IGZyb20geW91ciBjb25maWd1cmF0aW9uLlwiLFxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKHBsdWdpbnNNYXAuaGFzKFwiaW1wb3J0UmVmbGVjdGlvblwiKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIlRoZSAnaW1wb3J0UmVmbGVjdGlvbicgcGx1Z2luIGhhcyBiZWVuIHJlbW92ZWQgaW4gQmFiZWwgOC4gVXNlICdzb3VyY2VQaGFzZUltcG9ydHMnIGluc3RlYWQsIGFuZCBcIiArXG4gICAgICAgICAgXCJyZXBsYWNlICdpbXBvcnQgbW9kdWxlJyB3aXRoICdpbXBvcnQgc291cmNlJyBpbiB5b3VyIGNvZGUuXCIsXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuXG4vLyBUaGVzZSBwbHVnaW5zIGFyZSBkZWZpbmVkIHVzaW5nIGEgbWl4aW4gd2hpY2ggZXh0ZW5kcyB0aGUgcGFyc2VyIGNsYXNzLlxuXG5pbXBvcnQgZXN0cmVlIGZyb20gXCIuL3BsdWdpbnMvZXN0cmVlLnRzXCI7XG5pbXBvcnQgZmxvdyBmcm9tIFwiLi9wbHVnaW5zL2Zsb3cvaW5kZXgudHNcIjtcbmltcG9ydCBqc3ggZnJvbSBcIi4vcGx1Z2lucy9qc3gvaW5kZXgudHNcIjtcbmltcG9ydCB0eXBlc2NyaXB0IGZyb20gXCIuL3BsdWdpbnMvdHlwZXNjcmlwdC9pbmRleC50c1wiO1xuaW1wb3J0IHBsYWNlaG9sZGVycyBmcm9tIFwiLi9wbHVnaW5zL3BsYWNlaG9sZGVycy50c1wiO1xuaW1wb3J0IHY4aW50cmluc2ljIGZyb20gXCIuL3BsdWdpbnMvdjhpbnRyaW5zaWMudHNcIjtcblxuLy8gTk9URTogb3JkZXIgaXMgaW1wb3J0YW50LiBlc3RyZWUgbXVzdCBjb21lIGZpcnN0OyBwbGFjZWhvbGRlcnMgbXVzdCBjb21lIGxhc3QuXG5leHBvcnQgY29uc3QgbWl4aW5QbHVnaW5zID0ge1xuICBlc3RyZWUsXG4gIGpzeCxcbiAgZmxvdyxcbiAgdHlwZXNjcmlwdCxcbiAgdjhpbnRyaW5zaWMsXG4gIHBsYWNlaG9sZGVycyxcbn07XG5cbmV4cG9ydCBjb25zdCBtaXhpblBsdWdpbk5hbWVzID0gT2JqZWN0LmtleXMobWl4aW5QbHVnaW5zKSBhcyBSZWFkb25seUFycmF5PFxuICBcImVzdHJlZVwiIHwgXCJqc3hcIiB8IFwiZmxvd1wiIHwgXCJ0eXBlc2NyaXB0XCIgfCBcInY4aW50cmluc2ljXCIgfCBcInBsYWNlaG9sZGVyc1wiXG4+O1xuIiwgImltcG9ydCB0eXBlIHsgUGx1Z2luTGlzdCB9IGZyb20gXCIuL3BsdWdpbi11dGlscy50c1wiO1xuXG4vLyBBIHNlY29uZCBvcHRpb25hbCBhcmd1bWVudCBjYW4gYmUgZ2l2ZW4gdG8gZnVydGhlciBjb25maWd1cmVcbi8vIHRoZSBwYXJzZXIgcHJvY2Vzcy4gVGhlc2Ugb3B0aW9ucyBhcmUgcmVjb2duaXplZDpcblxuZXhwb3J0IHR5cGUgU291cmNlVHlwZSA9IFwic2NyaXB0XCIgfCBcIm1vZHVsZVwiIHwgXCJ1bmFtYmlndW91c1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMge1xuICBzb3VyY2VUeXBlPzogU291cmNlVHlwZTtcbiAgc291cmNlRmlsZW5hbWU/OiBzdHJpbmc7XG4gIHN0YXJ0SW5kZXg/OiBudW1iZXI7XG4gIHN0YXJ0Q29sdW1uPzogbnVtYmVyO1xuICBzdGFydExpbmU/OiBudW1iZXI7XG4gIGFsbG93QXdhaXRPdXRzaWRlRnVuY3Rpb24/OiBib29sZWFuO1xuICBhbGxvd1JldHVybk91dHNpZGVGdW5jdGlvbj86IGJvb2xlYW47XG4gIGFsbG93TmV3VGFyZ2V0T3V0c2lkZUZ1bmN0aW9uPzogYm9vbGVhbjtcbiAgYWxsb3dJbXBvcnRFeHBvcnRFdmVyeXdoZXJlPzogYm9vbGVhbjtcbiAgYWxsb3dTdXBlck91dHNpZGVNZXRob2Q/OiBib29sZWFuO1xuICBhbGxvd1VuZGVjbGFyZWRFeHBvcnRzPzogYm9vbGVhbjtcbiAgcGx1Z2lucz86IFBsdWdpbkxpc3Q7XG4gIHN0cmljdE1vZGU/OiBib29sZWFuIHwgdW5kZWZpbmVkIHwgbnVsbDtcbiAgcmFuZ2VzPzogYm9vbGVhbjtcbiAgdG9rZW5zPzogYm9vbGVhbjtcbiAgY3JlYXRlSW1wb3J0RXhwcmVzc2lvbnM/OiBib29sZWFuO1xuICBjcmVhdGVQYXJlbnRoZXNpemVkRXhwcmVzc2lvbnM/OiBib29sZWFuO1xuICBlcnJvclJlY292ZXJ5PzogYm9vbGVhbjtcbiAgYXR0YWNoQ29tbWVudD86IGJvb2xlYW47XG4gIGFubmV4Qj86IGJvb2xlYW47XG59XG5cbnR5cGUgT3B0aW9uc1dpdGhEZWZhdWx0cyA9IHsgW1AgaW4ga2V5b2YgT3B0aW9uc10tPzogT3B0aW9uc1tQXSB9O1xuXG5mdW5jdGlvbiBjcmVhdGVEZWZhdWx0T3B0aW9ucygpOiBPcHRpb25zV2l0aERlZmF1bHRzIHtcbiAgcmV0dXJuIHtcbiAgICAvLyBTb3VyY2UgdHlwZSAoXCJzY3JpcHRcIiBvciBcIm1vZHVsZVwiKSBmb3IgZGlmZmVyZW50IHNlbWFudGljc1xuICAgIHNvdXJjZVR5cGU6IFwic2NyaXB0XCIsXG4gICAgLy8gU291cmNlIGZpbGVuYW1lLlxuICAgIHNvdXJjZUZpbGVuYW1lOiB1bmRlZmluZWQsXG4gICAgLy8gSW5kZXggKDAtYmFzZWQpIGZyb20gd2hpY2ggdG8gc3RhcnQgY291bnRpbmcgc291cmNlLiBVc2VmdWwgZm9yXG4gICAgLy8gaW50ZWdyYXRpb24gd2l0aCBvdGhlciB0b29scy5cbiAgICBzdGFydEluZGV4OiAwLFxuICAgIC8vIENvbHVtbiAoMC1iYXNlZCkgZnJvbSB3aGljaCB0byBzdGFydCBjb3VudGluZyBzb3VyY2UuIFVzZWZ1bCBmb3JcbiAgICAvLyBpbnRlZ3JhdGlvbiB3aXRoIG90aGVyIHRvb2xzLlxuICAgIHN0YXJ0Q29sdW1uOiAwLFxuICAgIC8vIExpbmUgKDEtYmFzZWQpIGZyb20gd2hpY2ggdG8gc3RhcnQgY291bnRpbmcgc291cmNlLiBVc2VmdWwgZm9yXG4gICAgLy8gaW50ZWdyYXRpb24gd2l0aCBvdGhlciB0b29scy5cbiAgICBzdGFydExpbmU6IDEsXG4gICAgLy8gV2hlbiBlbmFibGVkLCBhd2FpdCBhdCB0aGUgdG9wIGxldmVsIGlzIG5vdCBjb25zaWRlcmVkIGFuXG4gICAgLy8gZXJyb3IuXG4gICAgYWxsb3dBd2FpdE91dHNpZGVGdW5jdGlvbjogZmFsc2UsXG4gICAgLy8gV2hlbiBlbmFibGVkLCBhIHJldHVybiBhdCB0aGUgdG9wIGxldmVsIGlzIG5vdCBjb25zaWRlcmVkIGFuXG4gICAgLy8gZXJyb3IuXG4gICAgYWxsb3dSZXR1cm5PdXRzaWRlRnVuY3Rpb246IGZhbHNlLFxuICAgIC8vIFdoZW4gZW5hYmxlZCwgbmV3LnRhcmdldCBvdXRzaWRlIGEgZnVuY3Rpb24gb3IgY2xhc3MgaXMgbm90XG4gICAgLy8gY29uc2lkZXJlZCBhbiBlcnJvci5cbiAgICBhbGxvd05ld1RhcmdldE91dHNpZGVGdW5jdGlvbjogZmFsc2UsXG4gICAgLy8gV2hlbiBlbmFibGVkLCBpbXBvcnQvZXhwb3J0IHN0YXRlbWVudHMgYXJlIG5vdCBjb25zdHJhaW5lZCB0b1xuICAgIC8vIGFwcGVhcmluZyBhdCB0aGUgdG9wIG9mIHRoZSBwcm9ncmFtLlxuICAgIGFsbG93SW1wb3J0RXhwb3J0RXZlcnl3aGVyZTogZmFsc2UsXG4gICAgLy8gVE9ET1xuICAgIGFsbG93U3VwZXJPdXRzaWRlTWV0aG9kOiBmYWxzZSxcbiAgICAvLyBXaGVuIGVuYWJsZWQsIGV4cG9ydCBzdGF0ZW1lbnRzIGNhbiByZWZlcmVuY2UgdW5kZWNsYXJlZCB2YXJpYWJsZXMuXG4gICAgYWxsb3dVbmRlY2xhcmVkRXhwb3J0czogZmFsc2UsXG4gICAgLy8gQW4gYXJyYXkgb2YgcGx1Z2lucyB0byBlbmFibGVcbiAgICBwbHVnaW5zOiBbXSxcbiAgICAvLyBUT0RPXG4gICAgc3RyaWN0TW9kZTogbnVsbCxcbiAgICAvLyBOb2RlcyBoYXZlIHRoZWlyIHN0YXJ0IGFuZCBlbmQgY2hhcmFjdGVycyBvZmZzZXRzIHJlY29yZGVkIGluXG4gICAgLy8gYHN0YXJ0YCBhbmQgYGVuZGAgcHJvcGVydGllcyAoZGlyZWN0bHkgb24gdGhlIG5vZGUsIHJhdGhlciB0aGFuXG4gICAgLy8gdGhlIGBsb2NgIG9iamVjdCwgd2hpY2ggaG9sZHMgbGluZS9jb2x1bW4gZGF0YS4gVG8gYWxzbyBhZGQgYVxuICAgIC8vIFtzZW1pLXN0YW5kYXJkaXplZF1bcmFuZ2VdIGByYW5nZWAgcHJvcGVydHkgaG9sZGluZyBhIGBbc3RhcnQsXG4gICAgLy8gZW5kXWAgYXJyYXkgd2l0aCB0aGUgc2FtZSBudW1iZXJzLCBzZXQgdGhlIGByYW5nZXNgIG9wdGlvbiB0b1xuICAgIC8vIGB0cnVlYC5cbiAgICAvL1xuICAgIC8vIFtyYW5nZV06IGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTY3OFxuICAgIHJhbmdlczogZmFsc2UsXG4gICAgLy8gQWRkcyBhbGwgcGFyc2VkIHRva2VucyB0byBhIGB0b2tlbnNgIHByb3BlcnR5IG9uIHRoZSBgRmlsZWAgbm9kZVxuICAgIHRva2VuczogZmFsc2UsXG4gICAgLy8gV2hldGhlciB0byBjcmVhdGUgSW1wb3J0RXhwcmVzc2lvbiBBU1Qgbm9kZXMgKGlmIGZhbHNlXG4gICAgLy8gYGltcG9ydChmb28pYCB3aWxsIGJlIHBhcnNlZCBhcyBDYWxsRXhwcmVzc2lvbihJbXBvcnQsIFtJZGVudGlmaWVyKGZvbyldKVxuICAgIGNyZWF0ZUltcG9ydEV4cHJlc3Npb25zOiBwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HID8gdHJ1ZSA6IGZhbHNlLFxuICAgIC8vIFdoZXRoZXIgdG8gY3JlYXRlIFBhcmVudGhlc2l6ZWRFeHByZXNzaW9uIEFTVCBub2RlcyAoaWYgZmFsc2VcbiAgICAvLyB0aGUgcGFyc2VyIHNldHMgZXh0cmEucGFyZW50aGVzaXplZCBvbiB0aGUgZXhwcmVzc2lvbiBub2RlcyBpbnN0ZWFkKS5cbiAgICBjcmVhdGVQYXJlbnRoZXNpemVkRXhwcmVzc2lvbnM6IGZhbHNlLFxuICAgIC8vIFdoZW4gZW5hYmxlZCwgZXJyb3JzIGFyZSBhdHRhY2hlZCB0byB0aGUgQVNUIGluc3RlYWQgb2YgYmVpbmcgZGlyZWN0bHkgdGhyb3duLlxuICAgIC8vIFNvbWUgZXJyb3JzIHdpbGwgc3RpbGwgdGhyb3csIGJlY2F1c2UgQGJhYmVsL3BhcnNlciBjYW4ndCBhbHdheXMgcmVjb3Zlci5cbiAgICBlcnJvclJlY292ZXJ5OiBmYWxzZSxcbiAgICAvLyBXaGVuIGVuYWJsZWQsIGNvbW1lbnRzIHdpbGwgYmUgYXR0YWNoZWQgdG8gYWRqYWNlbnQgQVNUIG5vZGVzIGFzIG9uZSBvZlxuICAgIC8vIGBsZWFkaW5nQ29tbWVudHNgLCBgdHJhaWxpbmdDb21tZW50c2AgYW5kIGBpbm5lckNvbW1lbnRzYC4gVGhlIGNvbW1lbnQgYXR0YWNobWVudFxuICAgIC8vIGlzIHZpdGFsIHRvIHByZXNlcnZlIGNvbW1lbnRzIGFmdGVyIHRyYW5zZm9ybS4gSWYgeW91IGRvbid0IHByaW50IEFTVCBiYWNrLFxuICAgIC8vIGNvbnNpZGVyIHNldCB0aGlzIG9wdGlvbiB0byBgZmFsc2VgIGZvciBwZXJmb3JtYW5jZVxuICAgIGF0dGFjaENvbW1lbnQ6IHRydWUsXG4gICAgLy8gV2hlbiBlbmFibGVkLCB0aGUgcGFyc2VyIHdpbGwgc3VwcG9ydCBBbm5leCBCIHN5bnRheC5cbiAgICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jc2VjLWFkZGl0aW9uYWwtZWNtYXNjcmlwdC1mZWF0dXJlcy1mb3Itd2ViLWJyb3dzZXJzXG4gICAgYW5uZXhCOiB0cnVlLFxuICB9O1xufVxuXG4vLyBJbnRlcnByZXQgYW5kIGRlZmF1bHQgYW4gb3B0aW9ucyBvYmplY3RcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvbnMob3B0cz86IE9wdGlvbnMgfCBudWxsKTogT3B0aW9uc1dpdGhEZWZhdWx0cyB7XG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9iYWJlbC9iYWJlbC9wdWxsLzE2OTE4XG4gIC8vIGBvcHRpb25zYCBpcyBhY2Nlc3NlZCBmcmVxdWVudGx5LCBwbGVhc2UgbWFrZSBzdXJlIGl0IGlzIGEgZmFzdCBvYmplY3QuXG4gIC8vIGAlVG9GYXN0UHJvcGVydGllc2AgY2FuIG1ha2UgaXQgYSBmYXN0IG9iamVjdCwgYnV0IHRoZSBwZXJmb3JtYW5jZSBpcyB0aGUgc2FtZSBhcyB0aGUgc2xvdyBvYmplY3QuXG4gIGNvbnN0IG9wdGlvbnM6IGFueSA9IGNyZWF0ZURlZmF1bHRPcHRpb25zKCk7XG5cbiAgaWYgKG9wdHMgPT0gbnVsbCkge1xuICAgIHJldHVybiBvcHRpb25zO1xuICB9XG4gIGlmIChvcHRzLmFubmV4QiAhPSBudWxsICYmIG9wdHMuYW5uZXhCICE9PSBmYWxzZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlRoZSBgYW5uZXhCYCBvcHRpb24gY2FuIG9ubHkgYmUgc2V0IHRvIGBmYWxzZWAuXCIpO1xuICB9XG5cbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMob3B0aW9ucykgYXMgKGtleW9mIE9wdGlvbnMpW10pIHtcbiAgICBpZiAob3B0c1trZXldICE9IG51bGwpIG9wdGlvbnNba2V5XSA9IG9wdHNba2V5XTtcbiAgfVxuXG4gIGlmIChvcHRpb25zLnN0YXJ0TGluZSA9PT0gMSkge1xuICAgIGlmIChvcHRzLnN0YXJ0SW5kZXggPT0gbnVsbCAmJiBvcHRpb25zLnN0YXJ0Q29sdW1uID4gMCkge1xuICAgICAgb3B0aW9ucy5zdGFydEluZGV4ID0gb3B0aW9ucy5zdGFydENvbHVtbjtcbiAgICB9IGVsc2UgaWYgKG9wdHMuc3RhcnRDb2x1bW4gPT0gbnVsbCAmJiBvcHRpb25zLnN0YXJ0SW5kZXggPiAwKSB7XG4gICAgICBvcHRpb25zLnN0YXJ0Q29sdW1uID0gb3B0aW9ucy5zdGFydEluZGV4O1xuICAgIH1cbiAgfSBlbHNlIGlmIChvcHRzLnN0YXJ0Q29sdW1uID09IG51bGwgfHwgb3B0cy5zdGFydEluZGV4ID09IG51bGwpIHtcbiAgICBpZiAob3B0cy5zdGFydEluZGV4ICE9IG51bGwgfHwgcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBcIldpdGggYSBgc3RhcnRMaW5lID4gMWAgeW91IG11c3QgYWxzbyBzcGVjaWZ5IGBzdGFydEluZGV4YCBhbmQgYHN0YXJ0Q29sdW1uYC5cIixcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG9wdGlvbnM7XG59XG4iLCAiLy8gQSByZWN1cnNpdmUgZGVzY2VudCBwYXJzZXIgb3BlcmF0ZXMgYnkgZGVmaW5pbmcgZnVuY3Rpb25zIGZvciBhbGxcbi8vIHN5bnRhY3RpYyBlbGVtZW50cywgYW5kIHJlY3Vyc2l2ZWx5IGNhbGxpbmcgdGhvc2UsIGVhY2ggZnVuY3Rpb25cbi8vIGFkdmFuY2luZyB0aGUgaW5wdXQgc3RyZWFtIGFuZCByZXR1cm5pbmcgYW4gQVNUIG5vZGUuIFByZWNlZGVuY2Vcbi8vIG9mIGNvbnN0cnVjdHMgKGZvciBleGFtcGxlLCB0aGUgZmFjdCB0aGF0IGAheFsxXWAgbWVhbnMgYCEoeFsxXSlgXG4vLyBpbnN0ZWFkIG9mIGAoIXgpWzFdYCBpcyBoYW5kbGVkIGJ5IHRoZSBmYWN0IHRoYXQgdGhlIHBhcnNlclxuLy8gZnVuY3Rpb24gdGhhdCBwYXJzZXMgdW5hcnkgcHJlZml4IG9wZXJhdG9ycyBpcyBjYWxsZWQgZmlyc3QsIGFuZFxuLy8gaW4gdHVybiBjYWxscyB0aGUgZnVuY3Rpb24gdGhhdCBwYXJzZXMgYFtdYCBzdWJzY3JpcHRzIOKAlCB0aGF0XG4vLyB3YXksIGl0J2xsIHJlY2VpdmUgdGhlIG5vZGUgZm9yIGB4WzFdYCBhbHJlYWR5IHBhcnNlZCwgYW5kIHdyYXBzXG4vLyAqdGhhdCogaW4gdGhlIHVuYXJ5IG9wZXJhdG9yIG5vZGUuXG4vL1xuLy8gQWNvcm4gdXNlcyBhbiBbb3BlcmF0b3IgcHJlY2VkZW5jZSBwYXJzZXJdW29wcF0gdG8gaGFuZGxlIGJpbmFyeVxuLy8gb3BlcmF0b3IgcHJlY2VkZW5jZSwgYmVjYXVzZSBpdCBpcyBtdWNoIG1vcmUgY29tcGFjdCB0aGFuIHVzaW5nXG4vLyB0aGUgdGVjaG5pcXVlIG91dGxpbmVkIGFib3ZlLCB3aGljaCB1c2VzIGRpZmZlcmVudCwgbmVzdGluZ1xuLy8gZnVuY3Rpb25zIHRvIHNwZWNpZnkgcHJlY2VkZW5jZSwgZm9yIGFsbCBvZiB0aGUgdGVuIGJpbmFyeVxuLy8gcHJlY2VkZW5jZSBsZXZlbHMgdGhhdCBKYXZhU2NyaXB0IGRlZmluZXMuXG4vL1xuLy8gW29wcF06IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvT3BlcmF0b3ItcHJlY2VkZW5jZV9wYXJzZXJcblxuaW1wb3J0IHtcbiAgdG9rZW5DYW5TdGFydEV4cHJlc3Npb24sXG4gIHRva2VuSXNBc3NpZ25tZW50LFxuICB0b2tlbklzSWRlbnRpZmllcixcbiAgdG9rZW5Jc0tleXdvcmRPcklkZW50aWZpZXIsXG4gIHRva2VuSXNPcGVyYXRvcixcbiAgdG9rZW5Jc1Bvc3RmaXgsXG4gIHRva2VuSXNQcmVmaXgsXG4gIHRva2VuSXNSaWdodEFzc29jaWF0aXZlLFxuICB0b2tlbklzVGVtcGxhdGUsXG4gIHRva2VuS2V5d29yZE9ySWRlbnRpZmllcklzS2V5d29yZCxcbiAgdG9rZW5MYWJlbE5hbWUsXG4gIHRva2VuT3BlcmF0b3JQcmVjZWRlbmNlLFxuICB0dCxcbiAgdHlwZSBUb2tlblR5cGUsXG59IGZyb20gXCIuLi90b2tlbml6ZXIvdHlwZXMudHNcIjtcbmltcG9ydCB0eXBlICogYXMgTiBmcm9tIFwiLi4vdHlwZXMudHNcIjtcbmltcG9ydCBMVmFsUGFyc2VyIGZyb20gXCIuL2x2YWwudHNcIjtcbmltcG9ydCB7XG4gIGlzS2V5d29yZCxcbiAgaXNSZXNlcnZlZFdvcmQsXG4gIGlzU3RyaWN0UmVzZXJ2ZWRXb3JkLFxuICBpc1N0cmljdEJpbmRSZXNlcnZlZFdvcmQsXG4gIGlzSWRlbnRpZmllclN0YXJ0LFxuICBjYW5CZVJlc2VydmVkV29yZCxcbn0gZnJvbSBcIi4uL3V0aWwvaWRlbnRpZmllci50c1wiO1xuaW1wb3J0IHtcbiAgdHlwZSBQb3NpdGlvbixcbiAgY3JlYXRlUG9zaXRpb25XaXRoQ29sdW1uT2Zmc2V0LFxufSBmcm9tIFwiLi4vdXRpbC9sb2NhdGlvbi50c1wiO1xuaW1wb3J0ICogYXMgY2hhckNvZGVzIGZyb20gXCJjaGFyY29kZXNcIjtcbmltcG9ydCB7IFNjb3BlRmxhZywgQmluZGluZ0ZsYWcgfSBmcm9tIFwiLi4vdXRpbC9zY29wZWZsYWdzLnRzXCI7XG5pbXBvcnQgeyBFeHByZXNzaW9uRXJyb3JzIH0gZnJvbSBcIi4vdXRpbC50c1wiO1xuaW1wb3J0IHsgUGFyYW1LaW5kLCBmdW5jdGlvbkZsYWdzIH0gZnJvbSBcIi4uL3V0aWwvcHJvZHVjdGlvbi1wYXJhbWV0ZXIudHNcIjtcbmltcG9ydCB7XG4gIG5ld0Fycm93SGVhZFNjb3BlLFxuICBuZXdBc3luY0Fycm93U2NvcGUsXG4gIG5ld0V4cHJlc3Npb25TY29wZSxcbn0gZnJvbSBcIi4uL3V0aWwvZXhwcmVzc2lvbi1zY29wZS50c1wiO1xuaW1wb3J0IHsgRXJyb3JzLCB0eXBlIFBhcnNlRXJyb3IgfSBmcm9tIFwiLi4vcGFyc2UtZXJyb3IudHNcIjtcbmltcG9ydCB7XG4gIFVucGFyZW50aGVzaXplZFBpcGVCb2R5RGVzY3JpcHRpb25zLFxuICB0eXBlIFVucGFyZW50aGVzaXplZFBpcGVCb2R5VHlwZXMsXG59IGZyb20gXCIuLi9wYXJzZS1lcnJvci9waXBlbGluZS1vcGVyYXRvci1lcnJvcnMudHNcIjtcbmltcG9ydCB7IHNldElubmVyQ29tbWVudHMgfSBmcm9tIFwiLi9jb21tZW50cy50c1wiO1xuaW1wb3J0IHsgY2xvbmVJZGVudGlmaWVyLCB0eXBlIFVuZG9uZSB9IGZyb20gXCIuL25vZGUudHNcIjtcbmltcG9ydCB0eXBlIFBhcnNlciBmcm9tIFwiLi9pbmRleC50c1wiO1xuXG5pbXBvcnQgdHlwZSB7IFNvdXJjZVR5cGUgfSBmcm9tIFwiLi4vb3B0aW9ucy50c1wiO1xuXG5leHBvcnQgZGVmYXVsdCBhYnN0cmFjdCBjbGFzcyBFeHByZXNzaW9uUGFyc2VyIGV4dGVuZHMgTFZhbFBhcnNlciB7XG4gIC8vIEZvcndhcmQtZGVjbGFyYXRpb246IGRlZmluZWQgaW4gc3RhdGVtZW50LmpzXG4gIGFic3RyYWN0IHBhcnNlQmxvY2soXG4gICAgYWxsb3dEaXJlY3RpdmVzPzogYm9vbGVhbixcbiAgICBjcmVhdGVOZXdMZXhpY2FsU2NvcGU/OiBib29sZWFuLFxuICAgIGFmdGVyQmxvY2tQYXJzZT86IChoYXNTdHJpY3RNb2RlRGlyZWN0aXZlOiBib29sZWFuKSA9PiB2b2lkLFxuICApOiBOLkJsb2NrU3RhdGVtZW50O1xuICBhYnN0cmFjdCBwYXJzZUNsYXNzKFxuICAgIG5vZGU6IE4uQ2xhc3MsXG4gICAgaXNTdGF0ZW1lbnQ6IGJvb2xlYW4sXG4gICAgb3B0aW9uYWxJZD86IGJvb2xlYW4sXG4gICk6IE4uQ2xhc3M7XG4gIGFic3RyYWN0IHBhcnNlRGVjb3JhdG9ycyhhbGxvd0V4cG9ydD86IGJvb2xlYW4pOiB2b2lkO1xuICBhYnN0cmFjdCBwYXJzZUZ1bmN0aW9uPFQgZXh0ZW5kcyBOLk5vcm1hbEZ1bmN0aW9uPihcbiAgICBub2RlOiBULFxuICAgIHN0YXRlbWVudD86IG51bWJlcixcbiAgICBhbGxvd0V4cHJlc3Npb25Cb2R5PzogYm9vbGVhbixcbiAgICBpc0FzeW5jPzogYm9vbGVhbixcbiAgKTogVDtcbiAgYWJzdHJhY3QgcGFyc2VGdW5jdGlvblBhcmFtcyhub2RlOiBOLkZ1bmN0aW9uLCBpc0NvbnN0cnVjdG9yPzogYm9vbGVhbik6IHZvaWQ7XG4gIGFic3RyYWN0IHBhcnNlQmxvY2tPck1vZHVsZUJsb2NrQm9keShcbiAgICBib2R5OiBOLlN0YXRlbWVudFtdLFxuICAgIGRpcmVjdGl2ZXM6IE4uRGlyZWN0aXZlW10gfCBudWxsIHwgdW5kZWZpbmVkLFxuICAgIHRvcExldmVsOiBib29sZWFuLFxuICAgIGVuZDogVG9rZW5UeXBlLFxuICAgIGFmdGVyQmxvY2tQYXJzZT86IChoYXNTdHJpY3RNb2RlRGlyZWN0aXZlOiBib29sZWFuKSA9PiB2b2lkLFxuICApOiB2b2lkO1xuICBhYnN0cmFjdCBwYXJzZVByb2dyYW0oXG4gICAgcHJvZ3JhbTogTi5Qcm9ncmFtLFxuICAgIGVuZDogVG9rZW5UeXBlLFxuICAgIHNvdXJjZVR5cGU/OiBTb3VyY2VUeXBlLFxuICApOiBOLlByb2dyYW07XG5cbiAgLy8gRm9yIG9iamVjdCBsaXRlcmFsLCBjaGVjayBpZiBwcm9wZXJ0eSBfX3Byb3RvX18gaGFzIGJlZW4gdXNlZCBtb3JlIHRoYW4gb25jZS5cbiAgLy8gSWYgdGhlIGV4cHJlc3Npb24gaXMgYSBkZXN0cnVjdHVyaW5nIGFzc2lnbm1lbnQsIHRoZW4gX19wcm90b19fIG1heSBhcHBlYXJcbiAgLy8gbXVsdGlwbGUgdGltZXMuIE90aGVyd2lzZSwgX19wcm90b19fIGlzIGEgZHVwbGljYXRlZCBrZXkuXG5cbiAgLy8gRm9yIHJlY29yZCBleHByZXNzaW9uLCBjaGVjayBpZiBwcm9wZXJ0eSBfX3Byb3RvX18gZXhpc3RzXG5cbiAgY2hlY2tQcm90byhcbiAgICBwcm9wOiBOLk9iamVjdE1lbWJlciB8IE4uU3ByZWFkRWxlbWVudCxcbiAgICBpc1JlY29yZDogYm9vbGVhbiB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICAgcHJvdG9SZWY6IHtcbiAgICAgIHVzZWQ6IGJvb2xlYW47XG4gICAgfSxcbiAgICByZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwsXG4gICk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIHByb3AudHlwZSA9PT0gXCJTcHJlYWRFbGVtZW50XCIgfHxcbiAgICAgIHRoaXMuaXNPYmplY3RNZXRob2QocHJvcCkgfHxcbiAgICAgIHByb3AuY29tcHV0ZWQgfHxcbiAgICAgIHByb3Auc2hvcnRoYW5kXG4gICAgKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qga2V5ID0gcHJvcC5rZXkgYXNcbiAgICAgIHwgTi5JZGVudGlmaWVyXG4gICAgICB8IE4uU3RyaW5nTGl0ZXJhbFxuICAgICAgfCBOLk51bWVyaWNMaXRlcmFsXG4gICAgICB8IE4uQmlnSW50TGl0ZXJhbDtcbiAgICAvLyBJdCBpcyBlaXRoZXIgYW4gSWRlbnRpZmllciBvciBhIFN0cmluZy9OdW1lcmljTGl0ZXJhbFxuICAgIGNvbnN0IG5hbWUgPSBrZXkudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgPyBrZXkubmFtZSA6IGtleS52YWx1ZTtcblxuICAgIGlmIChuYW1lID09PSBcIl9fcHJvdG9fX1wiKSB7XG4gICAgICBpZiAoaXNSZWNvcmQpIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuUmVjb3JkTm9Qcm90bywga2V5KTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKHByb3RvUmVmLnVzZWQpIHtcbiAgICAgICAgaWYgKHJlZkV4cHJlc3Npb25FcnJvcnMpIHtcbiAgICAgICAgICAvLyBTdG9yZSB0aGUgZmlyc3QgcmVkZWZpbml0aW9uJ3MgcG9zaXRpb24sIG90aGVyd2lzZSBpZ25vcmUgYmVjYXVzZVxuICAgICAgICAgIC8vIHdlIGFyZSBwYXJzaW5nIGFtYmlndW91cyBwYXR0ZXJuXG4gICAgICAgICAgaWYgKHJlZkV4cHJlc3Npb25FcnJvcnMuZG91YmxlUHJvdG9Mb2MgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJlZkV4cHJlc3Npb25FcnJvcnMuZG91YmxlUHJvdG9Mb2MgPSBrZXkubG9jLnN0YXJ0O1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5EdXBsaWNhdGVQcm90bywga2V5KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBwcm90b1JlZi51c2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBzaG91bGRFeGl0RGVzY2VuZGluZyhcbiAgICBleHByOiBOLkV4cHJlc3Npb24gfCBOLlByaXZhdGVOYW1lLFxuICAgIHBvdGVudGlhbEFycm93QXQ6IG51bWJlcixcbiAgKTogZXhwciBpcyBOLkFycm93RnVuY3Rpb25FeHByZXNzaW9uIHtcbiAgICByZXR1cm4gKFxuICAgICAgZXhwci50eXBlID09PSBcIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCIgJiZcbiAgICAgIHRoaXMub2Zmc2V0VG9Tb3VyY2VQb3MoZXhwci5zdGFydCkgPT09IHBvdGVudGlhbEFycm93QXRcbiAgICApO1xuICB9XG5cbiAgLy8gQ29udmVuaWVuY2UgbWV0aG9kIHRvIHBhcnNlIGFuIEV4cHJlc3Npb24gb25seVxuICBnZXRFeHByZXNzaW9uKHRoaXM6IFBhcnNlcik6IE4uRXhwcmVzc2lvbiAmIE4uUGFyc2VyT3V0cHV0IHtcbiAgICB0aGlzLmVudGVySW5pdGlhbFNjb3BlcygpO1xuICAgIHRoaXMubmV4dFRva2VuKCk7XG4gICAgY29uc3QgZXhwciA9IHRoaXMucGFyc2VFeHByZXNzaW9uKCkgYXMgTi5FeHByZXNzaW9uICYgTi5QYXJzZXJPdXRwdXQ7XG4gICAgaWYgKCF0aGlzLm1hdGNoKHR0LmVvZikpIHtcbiAgICAgIHRoaXMudW5leHBlY3RlZCgpO1xuICAgIH1cbiAgICAvLyBVbmxpa2UgcGFyc2VUb3BMZXZlbCwgd2UgbmVlZCB0byBkcmFpbiByZW1haW5pbmcgY29tbWVudFN0YWNrc1xuICAgIC8vIGJlY2F1c2UgdGhlIHRvcCBsZXZlbCBub2RlIGlzIF9ub3RfIFByb2dyYW0uXG4gICAgdGhpcy5maW5hbGl6ZVJlbWFpbmluZ0NvbW1lbnRzKCk7XG4gICAgZXhwci5jb21tZW50cyA9IHRoaXMuY29tbWVudHM7XG4gICAgZXhwci5lcnJvcnMgPSB0aGlzLnN0YXRlLmVycm9ycztcbiAgICBpZiAodGhpcy5vcHRpb25zLnRva2Vucykge1xuICAgICAgZXhwci50b2tlbnMgPSB0aGlzLnRva2VucztcbiAgICB9XG4gICAgcmV0dXJuIGV4cHI7XG4gIH1cblxuICAvLyAjIyMgRXhwcmVzc2lvbiBwYXJzaW5nXG5cbiAgLy8gVGhlc2UgbmVzdCwgZnJvbSB0aGUgbW9zdCBnZW5lcmFsIGV4cHJlc3Npb24gdHlwZSBhdCB0aGUgdG9wIHRvXG4gIC8vICdhdG9taWMnLCBub25kaXZpc2libGUgZXhwcmVzc2lvbiB0eXBlcyBhdCB0aGUgYm90dG9tLiBNb3N0IG9mXG4gIC8vIHRoZSBmdW5jdGlvbnMgd2lsbCBzaW1wbHkgbGV0IHRoZSBmdW5jdGlvbiAocykgYmVsb3cgdGhlbSBwYXJzZSxcbiAgLy8gYW5kLCAqaWYqIHRoZSBzeW50YWN0aWMgY29uc3RydWN0IHRoZXkgaGFuZGxlIGlzIHByZXNlbnQsIHdyYXBcbiAgLy8gdGhlIEFTVCBub2RlIHRoYXQgdGhlIGlubmVyIHBhcnNlciBnYXZlIHRoZW0gaW4gYW5vdGhlciBub2RlLlxuXG4gIC8vIFBhcnNlIGEgZnVsbCBleHByZXNzaW9uLlxuICAvLyAtIGBkaXNhbGxvd0luYFxuICAvLyAgIGlzIHVzZWQgdG8gZm9yYmlkIHRoZSBgaW5gIG9wZXJhdG9yIChpbiBmb3IgbG9vcHMgaW5pdGlhbGl6YXRpb24gZXhwcmVzc2lvbnMpXG4gIC8vICAgV2hlbiBgZGlzYWxsb3dJbmAgaXMgdHJ1ZSwgdGhlIHByb2R1Y3Rpb24gcGFyYW1ldGVyIFtJbl0gaXMgbm90IHByZXNlbnQuXG5cbiAgLy8gLSBgcmVmRXhwcmVzc2lvbkVycm9ycyBgXG4gIC8vICAgcHJvdmlkZXMgcmVmZXJlbmNlIGZvciBzdG9yaW5nICc9JyBvcGVyYXRvciBpbnNpZGUgc2hvcnRoYW5kXG4gIC8vICAgcHJvcGVydHkgYXNzaWdubWVudCBpbiBjb250ZXh0cyB3aGVyZSBib3RoIG9iamVjdCBleHByZXNzaW9uXG4gIC8vICAgYW5kIG9iamVjdCBwYXR0ZXJuIG1pZ2h0IGFwcGVhciAoc28gaXQncyBwb3NzaWJsZSB0byByYWlzZVxuICAvLyAgIGRlbGF5ZWQgc3ludGF4IGVycm9yIGF0IGNvcnJlY3QgcG9zaXRpb24pLlxuXG4gIHBhcnNlRXhwcmVzc2lvbihcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgZGlzYWxsb3dJbj86IGJvb2xlYW4sXG4gICAgcmVmRXhwcmVzc2lvbkVycm9ycz86IEV4cHJlc3Npb25FcnJvcnMsXG4gICk6IE4uRXhwcmVzc2lvbiB7XG4gICAgaWYgKGRpc2FsbG93SW4pIHtcbiAgICAgIHJldHVybiB0aGlzLmRpc2FsbG93SW5BbmQoKCkgPT5cbiAgICAgICAgdGhpcy5wYXJzZUV4cHJlc3Npb25CYXNlKHJlZkV4cHJlc3Npb25FcnJvcnMpLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuYWxsb3dJbkFuZCgoKSA9PiB0aGlzLnBhcnNlRXhwcmVzc2lvbkJhc2UocmVmRXhwcmVzc2lvbkVycm9ycykpO1xuICB9XG5cbiAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtRXhwcmVzc2lvblxuICBwYXJzZUV4cHJlc3Npb25CYXNlKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICByZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyxcbiAgKTogTi5FeHByZXNzaW9uIHtcbiAgICBjb25zdCBzdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgY29uc3QgZXhwciA9IHRoaXMucGFyc2VNYXliZUFzc2lnbihyZWZFeHByZXNzaW9uRXJyb3JzKTtcbiAgICBpZiAodGhpcy5tYXRjaCh0dC5jb21tYSkpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uU2VxdWVuY2VFeHByZXNzaW9uPihzdGFydExvYyk7XG4gICAgICBub2RlLmV4cHJlc3Npb25zID0gW2V4cHJdO1xuICAgICAgd2hpbGUgKHRoaXMuZWF0KHR0LmNvbW1hKSkge1xuICAgICAgICBub2RlLmV4cHJlc3Npb25zLnB1c2godGhpcy5wYXJzZU1heWJlQXNzaWduKHJlZkV4cHJlc3Npb25FcnJvcnMpKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9SZWZlcmVuY2VkTGlzdChub2RlLmV4cHJlc3Npb25zKTtcbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJTZXF1ZW5jZUV4cHJlc3Npb25cIik7XG4gICAgfVxuICAgIHJldHVybiBleHByO1xuICB9XG5cbiAgLy8gU2V0IFt+SW5dIHBhcmFtZXRlciBmb3IgYXNzaWdubWVudCBleHByZXNzaW9uXG4gIHBhcnNlTWF5YmVBc3NpZ25EaXNhbGxvd0luKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICByZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwsXG4gICAgYWZ0ZXJMZWZ0UGFyc2U/OiBGdW5jdGlvbixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuZGlzYWxsb3dJbkFuZCgoKSA9PlxuICAgICAgdGhpcy5wYXJzZU1heWJlQXNzaWduKHJlZkV4cHJlc3Npb25FcnJvcnMsIGFmdGVyTGVmdFBhcnNlKSxcbiAgICApO1xuICB9XG5cbiAgLy8gU2V0IFsrSW5dIHBhcmFtZXRlciBmb3IgYXNzaWdubWVudCBleHByZXNzaW9uXG4gIHBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICByZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwsXG4gICAgYWZ0ZXJMZWZ0UGFyc2U/OiBGdW5jdGlvbixcbiAgKSB7XG4gICAgcmV0dXJuIHRoaXMuYWxsb3dJbkFuZCgoKSA9PlxuICAgICAgdGhpcy5wYXJzZU1heWJlQXNzaWduKHJlZkV4cHJlc3Npb25FcnJvcnMsIGFmdGVyTGVmdFBhcnNlKSxcbiAgICApO1xuICB9XG5cbiAgLy8gVGhpcyBtZXRob2QgaXMgb25seSB1c2VkIGJ5XG4gIC8vIHRoZSB0eXBlc2NyaXB0IGFuZCBmbG93IHBsdWdpbnMuXG4gIHNldE9wdGlvbmFsUGFyYW1ldGVyc0Vycm9yKFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM6IEV4cHJlc3Npb25FcnJvcnMsXG4gICAgcmVzdWx0RXJyb3I/OiBQYXJzZUVycm9yPGFueT4sXG4gICkge1xuICAgIHJlZkV4cHJlc3Npb25FcnJvcnMub3B0aW9uYWxQYXJhbWV0ZXJzTG9jID1cbiAgICAgIHJlc3VsdEVycm9yPy5sb2MgPz8gdGhpcy5zdGF0ZS5zdGFydExvYztcbiAgfVxuXG4gIC8vIFBhcnNlIGFuIGFzc2lnbm1lbnQgZXhwcmVzc2lvbi4gVGhpcyBpbmNsdWRlcyBhcHBsaWNhdGlvbnMgb2ZcbiAgLy8gb3BlcmF0b3JzIGxpa2UgYCs9YC5cbiAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtQXNzaWdubWVudEV4cHJlc3Npb25cbiAgcGFyc2VNYXliZUFzc2lnbihcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgcmVmRXhwcmVzc2lvbkVycm9ycz86IEV4cHJlc3Npb25FcnJvcnMgfCBudWxsLFxuICAgIGFmdGVyTGVmdFBhcnNlPzogRnVuY3Rpb24sXG4gICk6IE4uRXhwcmVzc2lvbiB7XG4gICAgY29uc3Qgc3RhcnRMb2MgPSB0aGlzLnN0YXRlLnN0YXJ0TG9jO1xuICAgIGlmICh0aGlzLmlzQ29udGV4dHVhbCh0dC5feWllbGQpKSB7XG4gICAgICBpZiAodGhpcy5wcm9kUGFyYW0uaGFzWWllbGQpIHtcbiAgICAgICAgbGV0IGxlZnQgPSB0aGlzLnBhcnNlWWllbGQoKTtcbiAgICAgICAgaWYgKGFmdGVyTGVmdFBhcnNlKSB7XG4gICAgICAgICAgbGVmdCA9IGFmdGVyTGVmdFBhcnNlLmNhbGwodGhpcywgbGVmdCwgc3RhcnRMb2MpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCBvd25FeHByZXNzaW9uRXJyb3JzO1xuICAgIGlmIChyZWZFeHByZXNzaW9uRXJyb3JzKSB7XG4gICAgICBvd25FeHByZXNzaW9uRXJyb3JzID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlZkV4cHJlc3Npb25FcnJvcnMgPSBuZXcgRXhwcmVzc2lvbkVycm9ycygpO1xuICAgICAgb3duRXhwcmVzc2lvbkVycm9ycyA9IHRydWU7XG4gICAgfVxuICAgIGNvbnN0IHsgdHlwZSB9ID0gdGhpcy5zdGF0ZTtcblxuICAgIGlmICh0eXBlID09PSB0dC5wYXJlbkwgfHwgdG9rZW5Jc0lkZW50aWZpZXIodHlwZSkpIHtcbiAgICAgIHRoaXMuc3RhdGUucG90ZW50aWFsQXJyb3dBdCA9IHRoaXMuc3RhdGUuc3RhcnQ7XG4gICAgfVxuXG4gICAgbGV0IGxlZnQgPSB0aGlzLnBhcnNlTWF5YmVDb25kaXRpb25hbChyZWZFeHByZXNzaW9uRXJyb3JzKTtcbiAgICBpZiAoYWZ0ZXJMZWZ0UGFyc2UpIHtcbiAgICAgIGxlZnQgPSBhZnRlckxlZnRQYXJzZS5jYWxsKHRoaXMsIGxlZnQsIHN0YXJ0TG9jKTtcbiAgICB9XG4gICAgaWYgKHRva2VuSXNBc3NpZ25tZW50KHRoaXMuc3RhdGUudHlwZSkpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uQXNzaWdubWVudEV4cHJlc3Npb24+KHN0YXJ0TG9jKTtcbiAgICAgIGNvbnN0IG9wZXJhdG9yID0gdGhpcy5zdGF0ZS52YWx1ZTtcbiAgICAgIG5vZGUub3BlcmF0b3IgPSBvcGVyYXRvcjtcblxuICAgICAgaWYgKHRoaXMubWF0Y2godHQuZXEpKSB7XG4gICAgICAgIHRoaXMudG9Bc3NpZ25hYmxlKGxlZnQsIC8qIGlzTEhTICovIHRydWUpO1xuICAgICAgICBub2RlLmxlZnQgPSBsZWZ0O1xuXG4gICAgICAgIGNvbnN0IHN0YXJ0SW5kZXggPSBzdGFydExvYy5pbmRleDtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIHJlZkV4cHJlc3Npb25FcnJvcnMuZG91YmxlUHJvdG9Mb2MgIT0gbnVsbCAmJlxuICAgICAgICAgIHJlZkV4cHJlc3Npb25FcnJvcnMuZG91YmxlUHJvdG9Mb2MuaW5kZXggPj0gc3RhcnRJbmRleFxuICAgICAgICApIHtcbiAgICAgICAgICByZWZFeHByZXNzaW9uRXJyb3JzLmRvdWJsZVByb3RvTG9jID0gbnVsbDsgLy8gcmVzZXQgYmVjYXVzZSBkb3VibGUgX19wcm90b19fIGlzIHZhbGlkIGluIGFzc2lnbm1lbnQgZXhwcmVzc2lvblxuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICByZWZFeHByZXNzaW9uRXJyb3JzLnNob3J0aGFuZEFzc2lnbkxvYyAhPSBudWxsICYmXG4gICAgICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycy5zaG9ydGhhbmRBc3NpZ25Mb2MuaW5kZXggPj0gc3RhcnRJbmRleFxuICAgICAgICApIHtcbiAgICAgICAgICByZWZFeHByZXNzaW9uRXJyb3JzLnNob3J0aGFuZEFzc2lnbkxvYyA9IG51bGw7IC8vIHJlc2V0IGJlY2F1c2Ugc2hvcnRoYW5kIGRlZmF1bHQgd2FzIHVzZWQgY29ycmVjdGx5XG4gICAgICAgIH1cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHJlZkV4cHJlc3Npb25FcnJvcnMucHJpdmF0ZUtleUxvYyAhPSBudWxsICYmXG4gICAgICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycy5wcml2YXRlS2V5TG9jLmluZGV4ID49IHN0YXJ0SW5kZXhcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5jaGVja0Rlc3RydWN0dXJpbmdQcml2YXRlKHJlZkV4cHJlc3Npb25FcnJvcnMpO1xuICAgICAgICAgIHJlZkV4cHJlc3Npb25FcnJvcnMucHJpdmF0ZUtleUxvYyA9IG51bGw7IC8vIHJlc2V0IGJlY2F1c2UgYCh7ICN4OiB4IH0pYCBpcyBhbiBhc3NpZ25hYmxlIHBhdHRlcm5cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbm9kZS5sZWZ0ID0gbGVmdCBhcyB1bmtub3duIGFzIE4uQXNzaWduYWJsZTsgLy8gY2hlY2tlZCBhIGZldyBsaW5lcyBmdXJ0aGVyIGRvd25cbiAgICAgIH1cblxuICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICBub2RlLnJpZ2h0ID0gdGhpcy5wYXJzZU1heWJlQXNzaWduKCk7XG4gICAgICB0aGlzLmNoZWNrTFZhbChsZWZ0LCB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJBc3NpZ25tZW50RXhwcmVzc2lvblwiKSk7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHRvZG8oZmxvdy0+dHMpIGltcHJvdmUgbm9kZSB0eXBlc1xuICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfSBlbHNlIGlmIChvd25FeHByZXNzaW9uRXJyb3JzKSB7XG4gICAgICB0aGlzLmNoZWNrRXhwcmVzc2lvbkVycm9ycyhyZWZFeHByZXNzaW9uRXJyb3JzLCB0cnVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbGVmdDtcbiAgfVxuXG4gIC8vIFBhcnNlIGEgdGVybmFyeSBjb25kaXRpb25hbCAoYD86YCkgb3BlcmF0b3IuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLUNvbmRpdGlvbmFsRXhwcmVzc2lvblxuXG4gIHBhcnNlTWF5YmVDb25kaXRpb25hbChcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgcmVmRXhwcmVzc2lvbkVycm9yczogRXhwcmVzc2lvbkVycm9ycyxcbiAgKTogTi5FeHByZXNzaW9uIHtcbiAgICBjb25zdCBzdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgY29uc3QgcG90ZW50aWFsQXJyb3dBdCA9IHRoaXMuc3RhdGUucG90ZW50aWFsQXJyb3dBdDtcbiAgICBjb25zdCBleHByID0gdGhpcy5wYXJzZUV4cHJPcHMocmVmRXhwcmVzc2lvbkVycm9ycyk7XG5cbiAgICBpZiAodGhpcy5zaG91bGRFeGl0RGVzY2VuZGluZyhleHByLCBwb3RlbnRpYWxBcnJvd0F0KSkge1xuICAgICAgcmV0dXJuIGV4cHI7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucGFyc2VDb25kaXRpb25hbChleHByLCBzdGFydExvYywgcmVmRXhwcmVzc2lvbkVycm9ycyk7XG4gIH1cblxuICBwYXJzZUNvbmRpdGlvbmFsKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBleHByOiBOLkV4cHJlc3Npb24sXG4gICAgc3RhcnRMb2M6IFBvc2l0aW9uLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICByZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwsXG4gICk6IE4uRXhwcmVzc2lvbiB7XG4gICAgaWYgKHRoaXMuZWF0KHR0LnF1ZXN0aW9uKSkge1xuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlQXQ8Ti5Db25kaXRpb25hbEV4cHJlc3Npb24+KHN0YXJ0TG9jKTtcbiAgICAgIG5vZGUudGVzdCA9IGV4cHI7XG4gICAgICBub2RlLmNvbnNlcXVlbnQgPSB0aGlzLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKCk7XG4gICAgICB0aGlzLmV4cGVjdCh0dC5jb2xvbik7XG4gICAgICBub2RlLmFsdGVybmF0ZSA9IHRoaXMucGFyc2VNYXliZUFzc2lnbigpO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiKTtcbiAgICB9XG4gICAgcmV0dXJuIGV4cHI7XG4gIH1cblxuICBwYXJzZU1heWJlVW5hcnlPclByaXZhdGUoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzLFxuICApOiBOLkV4cHJlc3Npb24gfCBOLlByaXZhdGVOYW1lIHtcbiAgICByZXR1cm4gdGhpcy5tYXRjaCh0dC5wcml2YXRlTmFtZSlcbiAgICAgID8gdGhpcy5wYXJzZVByaXZhdGVOYW1lKClcbiAgICAgIDogdGhpcy5wYXJzZU1heWJlVW5hcnkocmVmRXhwcmVzc2lvbkVycm9ycyk7XG4gIH1cblxuICAvLyBTdGFydCB0aGUgcHJlY2VkZW5jZSBwYXJzZXIuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLVNob3J0Q2lyY3VpdEV4cHJlc3Npb25cblxuICBwYXJzZUV4cHJPcHMoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM6IEV4cHJlc3Npb25FcnJvcnMsXG4gICk6IE4uRXhwcmVzc2lvbiB7XG4gICAgY29uc3Qgc3RhcnRMb2MgPSB0aGlzLnN0YXRlLnN0YXJ0TG9jO1xuICAgIGNvbnN0IHBvdGVudGlhbEFycm93QXQgPSB0aGlzLnN0YXRlLnBvdGVudGlhbEFycm93QXQ7XG4gICAgY29uc3QgZXhwciA9IHRoaXMucGFyc2VNYXliZVVuYXJ5T3JQcml2YXRlKHJlZkV4cHJlc3Npb25FcnJvcnMpO1xuXG4gICAgaWYgKHRoaXMuc2hvdWxkRXhpdERlc2NlbmRpbmcoZXhwciwgcG90ZW50aWFsQXJyb3dBdCkpIHtcbiAgICAgIHJldHVybiBleHByO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnBhcnNlRXhwck9wKGV4cHIsIHN0YXJ0TG9jLCAtMSk7XG4gIH1cblxuICAvLyBQYXJzZSBiaW5hcnkgb3BlcmF0b3JzIHdpdGggdGhlIG9wZXJhdG9yIHByZWNlZGVuY2UgcGFyc2luZ1xuICAvLyBhbGdvcml0aG0uIGBsZWZ0YCBpcyB0aGUgbGVmdC1oYW5kIHNpZGUgb2YgdGhlIG9wZXJhdG9yLlxuICAvLyBgbWluUHJlY2AgcHJvdmlkZXMgY29udGV4dCB0aGF0IGFsbG93cyB0aGUgZnVuY3Rpb24gdG8gc3RvcCBhbmRcbiAgLy8gZGVmZXIgZnVydGhlciBwYXJzZXIgdG8gb25lIG9mIGl0cyBjYWxsZXJzIHdoZW4gaXQgZW5jb3VudGVycyBhblxuICAvLyBvcGVyYXRvciB0aGF0IGhhcyBhIGxvd2VyIHByZWNlZGVuY2UgdGhhbiB0aGUgc2V0IGl0IGlzIHBhcnNpbmcuXG5cbiAgcGFyc2VFeHByT3AoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIGxlZnQ6IE4uRXhwcmVzc2lvbiB8IE4uUHJpdmF0ZU5hbWUsXG4gICAgbGVmdFN0YXJ0TG9jOiBQb3NpdGlvbixcbiAgICBtaW5QcmVjOiBudW1iZXIsXG4gICk6IE4uRXhwcmVzc2lvbiB7XG4gICAgaWYgKHRoaXMuaXNQcml2YXRlTmFtZShsZWZ0KSkge1xuICAgICAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtUmVsYXRpb25hbEV4cHJlc3Npb25cbiAgICAgIC8vIFJlbGF0aW9uYWxFeHByZXNzaW9uIFtJbiwgWWllbGQsIEF3YWl0XVxuICAgICAgLy8gICBbK0luXSBQcml2YXRlSWRlbnRpZmllciBpbiBTaGlmdEV4cHJlc3Npb25bP1lpZWxkLCA/QXdhaXRdXG5cbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5nZXRQcml2YXRlTmFtZVNWKGxlZnQpO1xuXG4gICAgICBpZiAoXG4gICAgICAgIG1pblByZWMgPj0gdG9rZW5PcGVyYXRvclByZWNlZGVuY2UodHQuX2luKSB8fFxuICAgICAgICAhdGhpcy5wcm9kUGFyYW0uaGFzSW4gfHxcbiAgICAgICAgIXRoaXMubWF0Y2godHQuX2luKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLlByaXZhdGVJbkV4cGVjdGVkSW4sIGxlZnQsIHtcbiAgICAgICAgICBpZGVudGlmaWVyTmFtZTogdmFsdWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmNsYXNzU2NvcGUudXNlUHJpdmF0ZU5hbWUodmFsdWUsIGxlZnQubG9jLnN0YXJ0KTtcbiAgICB9XG5cbiAgICBjb25zdCBvcCA9IHRoaXMuc3RhdGUudHlwZTtcbiAgICBpZiAodG9rZW5Jc09wZXJhdG9yKG9wKSAmJiAodGhpcy5wcm9kUGFyYW0uaGFzSW4gfHwgIXRoaXMubWF0Y2godHQuX2luKSkpIHtcbiAgICAgIGxldCBwcmVjID0gdG9rZW5PcGVyYXRvclByZWNlZGVuY2Uob3ApO1xuICAgICAgaWYgKHByZWMgPiBtaW5QcmVjKSB7XG4gICAgICAgIGlmIChvcCA9PT0gdHQucGlwZWxpbmUpIHtcbiAgICAgICAgICB0aGlzLmV4cGVjdFBsdWdpbihcInBpcGVsaW5lT3BlcmF0b3JcIik7XG4gICAgICAgICAgaWYgKHRoaXMuc3RhdGUuaW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHkpIHtcbiAgICAgICAgICAgIC8vIFByaXZhdGVOYW1lIG11c3QgYmUgZm9sbG93ZWQgYnkgYGluYCwgYnV0IHdlIGhhdmUgYHw+YFxuICAgICAgICAgICAgcmV0dXJuIGxlZnQgYXMgTi5FeHByZXNzaW9uO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLmNoZWNrUGlwZWxpbmVBdEluZml4T3BlcmF0b3IobGVmdCBhcyBOLkV4cHJlc3Npb24sIGxlZnRTdGFydExvYyk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlQXQ8Ti5Mb2dpY2FsRXhwcmVzc2lvbiB8IE4uQmluYXJ5RXhwcmVzc2lvbj4oXG4gICAgICAgICAgbGVmdFN0YXJ0TG9jLFxuICAgICAgICApO1xuICAgICAgICBub2RlLmxlZnQgPSBsZWZ0O1xuICAgICAgICBub2RlLm9wZXJhdG9yID0gdGhpcy5zdGF0ZS52YWx1ZTtcblxuICAgICAgICBjb25zdCBsb2dpY2FsID0gb3AgPT09IHR0LmxvZ2ljYWxPUiB8fCBvcCA9PT0gdHQubG9naWNhbEFORDtcbiAgICAgICAgY29uc3QgY29hbGVzY2UgPSBvcCA9PT0gdHQubnVsbGlzaENvYWxlc2Npbmc7XG5cbiAgICAgICAgaWYgKGNvYWxlc2NlKSB7XG4gICAgICAgICAgLy8gSGFuZGxlIHRoZSBwcmVjZWRlbmNlIG9mIGB0dC5jb2FsZXNjZWAgYXMgZXF1YWwgdG8gdGhlIHJhbmdlIG9mIGxvZ2ljYWwgZXhwcmVzc2lvbnMuXG4gICAgICAgICAgLy8gSW4gb3RoZXIgd29yZHMsIGBub2RlLnJpZ2h0YCBzaG91bGRuJ3QgY29udGFpbiBsb2dpY2FsIGV4cHJlc3Npb25zIGluIG9yZGVyIHRvIGNoZWNrIHRoZSBtaXhlZCBlcnJvci5cbiAgICAgICAgICBwcmVjID0gdG9rZW5PcGVyYXRvclByZWNlZGVuY2UodHQubG9naWNhbEFORCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLm5leHQoKTtcblxuICAgICAgICBpZiAoXG4gICAgICAgICAgb3AgPT09IHR0LnBpcGVsaW5lICYmXG4gICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBSZW1vdmUgdGhpcyBpbiBCYWJlbCA4XG4gICAgICAgICAgdGhpcy5oYXNQbHVnaW4oW1wicGlwZWxpbmVPcGVyYXRvclwiLCB7IHByb3Bvc2FsOiBcIm1pbmltYWxcIiB9XSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgaWYgKHRoaXMuc3RhdGUudHlwZSA9PT0gdHQuX2F3YWl0ICYmIHRoaXMucHJvZFBhcmFtLmhhc0F3YWl0KSB7XG4gICAgICAgICAgICB0aHJvdyB0aGlzLnJhaXNlKFxuICAgICAgICAgICAgICBFcnJvcnMuVW5leHBlY3RlZEF3YWl0QWZ0ZXJQaXBlbGluZUJvZHksXG4gICAgICAgICAgICAgIHRoaXMuc3RhdGUuc3RhcnRMb2MsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5vZGUucmlnaHQgPSB0aGlzLnBhcnNlRXhwck9wUmlnaHRFeHByKG9wLCBwcmVjKTtcbiAgICAgICAgY29uc3QgZmluaXNoZWROb2RlID0gdGhpcy5maW5pc2hOb2RlKFxuICAgICAgICAgIG5vZGUsXG4gICAgICAgICAgbG9naWNhbCB8fCBjb2FsZXNjZSA/IFwiTG9naWNhbEV4cHJlc3Npb25cIiA6IFwiQmluYXJ5RXhwcmVzc2lvblwiLFxuICAgICAgICApO1xuICAgICAgICAvKiB0aGlzIGNoZWNrIGlzIGZvciBhbGwgPz8gb3BlcmF0b3JzXG4gICAgICAgICAqIGEgPz8gYiAmJiBjIGZvciB0aGlzIGV4YW1wbGVcbiAgICAgICAgICogd2hlbiBvcCBpcyBjb2FsZXNjZSBhbmQgbmV4dE9wIGlzIGxvZ2ljYWwgKCYmKSwgdGhyb3cgYXQgdGhlIHBvcyBvZiBuZXh0T3AgdGhhdCBpdCBjYW4gbm90IGJlIG1peGVkLlxuICAgICAgICAgKiBTeW1tZXRyaWNhbGx5IGl0IGFsc28gdGhyb3dzIHdoZW4gb3AgaXMgbG9naWNhbCBhbmQgbmV4dE9wIGlzIGNvYWxlc2NlXG4gICAgICAgICAqL1xuICAgICAgICBjb25zdCBuZXh0T3AgPSB0aGlzLnN0YXRlLnR5cGU7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAoY29hbGVzY2UgJiYgKG5leHRPcCA9PT0gdHQubG9naWNhbE9SIHx8IG5leHRPcCA9PT0gdHQubG9naWNhbEFORCkpIHx8XG4gICAgICAgICAgKGxvZ2ljYWwgJiYgbmV4dE9wID09PSB0dC5udWxsaXNoQ29hbGVzY2luZylcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhyb3cgdGhpcy5yYWlzZShcbiAgICAgICAgICAgIEVycm9ycy5NaXhpbmdDb2FsZXNjZVdpdGhMb2dpY2FsLFxuICAgICAgICAgICAgdGhpcy5zdGF0ZS5zdGFydExvYyxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VFeHByT3AoZmluaXNoZWROb2RlLCBsZWZ0U3RhcnRMb2MsIG1pblByZWMpO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBQcml2YXRlTmFtZSBpcyBmb2xsb3dlZCBieSBgaW5gIGFuZCBoYW5kbGVkIGJ5IHRoZSBwcmV2aW91cyBpZiBzdGF0ZW1lbnRcbiAgICByZXR1cm4gbGVmdCBhcyBOLkV4cHJlc3Npb247XG4gIH1cblxuICAvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIGBwYXJzZUV4cHJPcGAuIFBhcnNlIHRoZSByaWdodC1oYW5kIHNpZGUgb2YgYmluYXJ5LVxuICAvLyBvcGVyYXRvciBleHByZXNzaW9ucywgdGhlbiBhcHBseSBhbnkgb3BlcmF0b3Itc3BlY2lmaWMgZnVuY3Rpb25zLlxuXG4gIHBhcnNlRXhwck9wUmlnaHRFeHByKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBvcDogVG9rZW5UeXBlLFxuICAgIHByZWM6IG51bWJlcixcbiAgKTogTi5FeHByZXNzaW9uIHtcbiAgICBjb25zdCBzdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgc3dpdGNoIChvcCkge1xuICAgICAgY2FzZSB0dC5waXBlbGluZTpcbiAgICAgICAgc3dpdGNoICh0aGlzLmdldFBsdWdpbk9wdGlvbihcInBpcGVsaW5lT3BlcmF0b3JcIiwgXCJwcm9wb3NhbFwiKSkge1xuICAgICAgICAgIGNhc2UgXCJoYWNrXCI6XG4gICAgICAgICAgICByZXR1cm4gdGhpcy53aXRoVG9waWNCaW5kaW5nQ29udGV4dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnBhcnNlSGFja1BpcGVCb2R5KCk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgUmVtb3ZlIHRoaXMgaW4gQmFiZWwgOFxuICAgICAgICAgIGNhc2UgXCJzbWFydFwiOlxuICAgICAgICAgICAgcmV0dXJuIHRoaXMud2l0aFRvcGljQmluZGluZ0NvbnRleHQoKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAodGhpcy5wcm9kUGFyYW0uaGFzWWllbGQgJiYgdGhpcy5pc0NvbnRleHR1YWwodHQuX3lpZWxkKSkge1xuICAgICAgICAgICAgICAgIHRocm93IHRoaXMucmFpc2UoRXJyb3JzLlBpcGVCb2R5SXNUaWdodGVyLCB0aGlzLnN0YXRlLnN0YXJ0TG9jKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZVNtYXJ0UGlwZWxpbmVCb2R5SW5TdHlsZShcbiAgICAgICAgICAgICAgICB0aGlzLnBhcnNlRXhwck9wQmFzZVJpZ2h0RXhwcihvcCwgcHJlYyksXG4gICAgICAgICAgICAgICAgc3RhcnRMb2MsXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgIGNhc2UgXCJmc2hhcnBcIjpcbiAgICAgICAgICAgIHJldHVybiB0aGlzLndpdGhTb2xvQXdhaXRQZXJtaXR0aW5nQ29udGV4dCgoKSA9PiB7XG4gICAgICAgICAgICAgIHJldHVybiB0aGlzLnBhcnNlRlNoYXJwUGlwZWxpbmVCb2R5KHByZWMpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgLy8gRmFsbHMgdGhyb3VnaC5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlRXhwck9wQmFzZVJpZ2h0RXhwcihvcCwgcHJlYyk7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVscGVyIGZ1bmN0aW9uIGZvciBgcGFyc2VFeHByT3BSaWdodEV4cHJgLiBQYXJzZSB0aGUgcmlnaHQtaGFuZCBzaWRlIG9mXG4gIC8vIGJpbmFyeS1vcGVyYXRvciBleHByZXNzaW9ucyB3aXRob3V0IGFwcGx5aW5nIGFueSBvcGVyYXRvci1zcGVjaWZpYyBmdW5jdGlvbnMuXG5cbiAgcGFyc2VFeHByT3BCYXNlUmlnaHRFeHByKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBvcDogVG9rZW5UeXBlLFxuICAgIHByZWM6IG51bWJlcixcbiAgKTogTi5FeHByZXNzaW9uIHtcbiAgICBjb25zdCBzdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG5cbiAgICByZXR1cm4gdGhpcy5wYXJzZUV4cHJPcChcbiAgICAgIHRoaXMucGFyc2VNYXliZVVuYXJ5T3JQcml2YXRlKCksXG4gICAgICBzdGFydExvYyxcbiAgICAgIHRva2VuSXNSaWdodEFzc29jaWF0aXZlKG9wKSA/IHByZWMgLSAxIDogcHJlYyxcbiAgICApO1xuICB9XG5cbiAgcGFyc2VIYWNrUGlwZUJvZHkodGhpczogUGFyc2VyKTogTi5FeHByZXNzaW9uIHtcbiAgICBjb25zdCB7IHN0YXJ0TG9jIH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IGJvZHkgPSB0aGlzLnBhcnNlTWF5YmVBc3NpZ24oKTtcbiAgICBjb25zdCByZXF1aXJlZFBhcmVudGhlc2VzID0gVW5wYXJlbnRoZXNpemVkUGlwZUJvZHlEZXNjcmlwdGlvbnMuaGFzKFxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBUUzIzNDU6IEFyZ3VtZW50IG9mIHR5cGUgJ3N0cmluZycgaXMgbm90IGFzc2lnbmFibGUgdG8gcGFyYW1ldGVyIG9mIHR5cGUgJ1wiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIiB8IFwiWWllbGRFeHByZXNzaW9uXCIgfCBcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCIgfCBcIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiJy5cbiAgICAgIGJvZHkudHlwZSxcbiAgICApO1xuXG4gICAgLy8gVE9ETzogQ2hlY2sgaG93IHRvIGhhbmRsZSB0eXBlIGNhc3RzIGluIEZsb3cgYW5kIFRTIG9uY2UgdGhleSBhcmUgc3VwcG9ydGVkXG4gICAgaWYgKHJlcXVpcmVkUGFyZW50aGVzZXMgJiYgIWJvZHkuZXh0cmE/LnBhcmVudGhlc2l6ZWQpIHtcbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLlBpcGVVbnBhcmVudGhlc2l6ZWRCb2R5LCBzdGFydExvYywge1xuICAgICAgICB0eXBlOiBib2R5LnR5cGUgYXMgVW5wYXJlbnRoZXNpemVkUGlwZUJvZHlUeXBlcyxcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoIXRoaXMudG9waWNSZWZlcmVuY2VXYXNVc2VkSW5DdXJyZW50Q29udGV4dCgpKSB7XG4gICAgICAvLyBBIEhhY2sgcGlwZSBib2R5IG11c3QgdXNlIHRoZSB0b3BpYyByZWZlcmVuY2UgYXQgbGVhc3Qgb25jZS5cbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLlBpcGVUb3BpY1VudXNlZCwgc3RhcnRMb2MpO1xuICAgIH1cblxuICAgIHJldHVybiBib2R5O1xuICB9XG5cbiAgY2hlY2tFeHBvbmVudGlhbEFmdGVyVW5hcnkoXG4gICAgbm9kZTogTi5Bd2FpdEV4cHJlc3Npb24gfCBVbmRvbmU8Ti5VbmFyeUV4cHJlc3Npb24+LFxuICApIHtcbiAgICBpZiAodGhpcy5tYXRjaCh0dC5leHBvbmVudCkpIHtcbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLlVuZXhwZWN0ZWRUb2tlblVuYXJ5RXhwb25lbnRpYXRpb24sIG5vZGUuYXJndW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNlIHVuYXJ5IG9wZXJhdG9ycywgYm90aCBwcmVmaXggYW5kIHBvc3RmaXguXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLVVuYXJ5RXhwcmVzc2lvblxuICBwYXJzZU1heWJlVW5hcnkoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzIHwgbnVsbCxcbiAgICBzYXdVbmFyeT86IGJvb2xlYW4sXG4gICk6IE4uRXhwcmVzc2lvbiB7XG4gICAgY29uc3Qgc3RhcnRMb2MgPSB0aGlzLnN0YXRlLnN0YXJ0TG9jO1xuICAgIGNvbnN0IGlzQXdhaXQgPSB0aGlzLmlzQ29udGV4dHVhbCh0dC5fYXdhaXQpO1xuXG4gICAgaWYgKGlzQXdhaXQgJiYgdGhpcy5yZWNvcmRBd2FpdElmQWxsb3dlZCgpKSB7XG4gICAgICB0aGlzLm5leHQoKTtcbiAgICAgIGNvbnN0IGV4cHIgPSB0aGlzLnBhcnNlQXdhaXQoc3RhcnRMb2MpO1xuICAgICAgaWYgKCFzYXdVbmFyeSkgdGhpcy5jaGVja0V4cG9uZW50aWFsQWZ0ZXJVbmFyeShleHByKTtcbiAgICAgIHJldHVybiBleHByO1xuICAgIH1cbiAgICBjb25zdCB1cGRhdGUgPSB0aGlzLm1hdGNoKHR0LmluY0RlYyk7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uVW5hcnlFeHByZXNzaW9uIHwgTi5VcGRhdGVFeHByZXNzaW9uPigpO1xuICAgIGlmICh0b2tlbklzUHJlZml4KHRoaXMuc3RhdGUudHlwZSkpIHtcbiAgICAgIG5vZGUub3BlcmF0b3IgPSB0aGlzLnN0YXRlLnZhbHVlO1xuICAgICAgbm9kZS5wcmVmaXggPSB0cnVlO1xuXG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5fdGhyb3cpKSB7XG4gICAgICAgIHRoaXMuZXhwZWN0UGx1Z2luKFwidGhyb3dFeHByZXNzaW9uc1wiKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGlzRGVsZXRlID0gdGhpcy5tYXRjaCh0dC5fZGVsZXRlKTtcbiAgICAgIHRoaXMubmV4dCgpO1xuXG4gICAgICBub2RlLmFyZ3VtZW50ID0gdGhpcy5wYXJzZU1heWJlVW5hcnkobnVsbCwgdHJ1ZSk7XG5cbiAgICAgIHRoaXMuY2hlY2tFeHByZXNzaW9uRXJyb3JzKHJlZkV4cHJlc3Npb25FcnJvcnMsIHRydWUpO1xuXG4gICAgICBpZiAodGhpcy5zdGF0ZS5zdHJpY3QgJiYgaXNEZWxldGUpIHtcbiAgICAgICAgY29uc3QgYXJnID0gbm9kZS5hcmd1bWVudDtcblxuICAgICAgICBpZiAoYXJnLnR5cGUgPT09IFwiSWRlbnRpZmllclwiKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuU3RyaWN0RGVsZXRlLCBub2RlKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmhhc1Byb3BlcnR5QXNQcml2YXRlTmFtZShhcmcpKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuRGVsZXRlUHJpdmF0ZUZpZWxkLCBub2RlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoIXVwZGF0ZSkge1xuICAgICAgICBpZiAoIXNhd1VuYXJ5KSB7XG4gICAgICAgICAgdGhpcy5jaGVja0V4cG9uZW50aWFsQWZ0ZXJVbmFyeShub2RlIGFzIFVuZG9uZTxOLlVuYXJ5RXhwcmVzc2lvbj4pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJVbmFyeUV4cHJlc3Npb25cIik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgZXhwciA9IHRoaXMucGFyc2VVcGRhdGUoXG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHVzaW5nIFwiVW5kb25lXCIgbm9kZSBhcyBcImRvbmVcIlxuICAgICAgbm9kZSxcbiAgICAgIHVwZGF0ZSxcbiAgICAgIHJlZkV4cHJlc3Npb25FcnJvcnMsXG4gICAgKTtcblxuICAgIGlmIChpc0F3YWl0KSB7XG4gICAgICBjb25zdCB7IHR5cGUgfSA9IHRoaXMuc3RhdGU7XG4gICAgICBjb25zdCBzdGFydHNFeHByID0gdGhpcy5oYXNQbHVnaW4oXCJ2OGludHJpbnNpY1wiKVxuICAgICAgICA/IHRva2VuQ2FuU3RhcnRFeHByZXNzaW9uKHR5cGUpXG4gICAgICAgIDogdG9rZW5DYW5TdGFydEV4cHJlc3Npb24odHlwZSkgJiYgIXRoaXMubWF0Y2godHQubW9kdWxvKTtcbiAgICAgIGlmIChzdGFydHNFeHByICYmICF0aGlzLmlzQW1iaWd1b3VzQXdhaXQoKSkge1xuICAgICAgICB0aGlzLnJhaXNlT3ZlcndyaXRlKEVycm9ycy5Bd2FpdE5vdEluQXN5bmNDb250ZXh0LCBzdGFydExvYyk7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlQXdhaXQoc3RhcnRMb2MpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBleHByO1xuICB9XG5cbiAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtVXBkYXRlRXhwcmVzc2lvblxuICBwYXJzZVVwZGF0ZShcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgbm9kZTogTi5FeHByZXNzaW9uLFxuICAgIHVwZGF0ZTogYm9vbGVhbixcbiAgICByZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwsXG4gICk6IE4uRXhwcmVzc2lvbiB7XG4gICAgaWYgKHVwZGF0ZSkge1xuICAgICAgY29uc3QgdXBkYXRlRXhwcmVzc2lvbk5vZGUgPSBub2RlIGFzIFVuZG9uZTxOLlVwZGF0ZUV4cHJlc3Npb24+O1xuICAgICAgdGhpcy5jaGVja0xWYWwoXG4gICAgICAgIHVwZGF0ZUV4cHJlc3Npb25Ob2RlLmFyZ3VtZW50LFxuICAgICAgICB0aGlzLmZpbmlzaE5vZGUodXBkYXRlRXhwcmVzc2lvbk5vZGUsIFwiVXBkYXRlRXhwcmVzc2lvblwiKSxcbiAgICAgICk7XG4gICAgICByZXR1cm4gbm9kZTtcbiAgICB9XG5cbiAgICBjb25zdCBzdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgbGV0IGV4cHIgPSB0aGlzLnBhcnNlRXhwclN1YnNjcmlwdHMocmVmRXhwcmVzc2lvbkVycm9ycyk7XG4gICAgaWYgKHRoaXMuY2hlY2tFeHByZXNzaW9uRXJyb3JzKHJlZkV4cHJlc3Npb25FcnJvcnMsIGZhbHNlKSkgcmV0dXJuIGV4cHI7XG4gICAgd2hpbGUgKHRva2VuSXNQb3N0Zml4KHRoaXMuc3RhdGUudHlwZSkgJiYgIXRoaXMuY2FuSW5zZXJ0U2VtaWNvbG9uKCkpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uVXBkYXRlRXhwcmVzc2lvbj4oc3RhcnRMb2MpO1xuICAgICAgbm9kZS5vcGVyYXRvciA9IHRoaXMuc3RhdGUudmFsdWU7XG4gICAgICBub2RlLnByZWZpeCA9IGZhbHNlO1xuICAgICAgbm9kZS5hcmd1bWVudCA9IGV4cHI7XG4gICAgICB0aGlzLm5leHQoKTtcbiAgICAgIHRoaXMuY2hlY2tMVmFsKGV4cHIsIChleHByID0gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVXBkYXRlRXhwcmVzc2lvblwiKSkpO1xuICAgIH1cbiAgICByZXR1cm4gZXhwcjtcbiAgfVxuXG4gIC8vIFBhcnNlIGNhbGwsIGRvdCwgYW5kIGBbXWAtc3Vic2NyaXB0IGV4cHJlc3Npb25zLlxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1MZWZ0SGFuZFNpZGVFeHByZXNzaW9uXG4gIHBhcnNlRXhwclN1YnNjcmlwdHMoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzIHwgbnVsbCxcbiAgKTogTi5FeHByZXNzaW9uIHtcbiAgICBjb25zdCBzdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgY29uc3QgcG90ZW50aWFsQXJyb3dBdCA9IHRoaXMuc3RhdGUucG90ZW50aWFsQXJyb3dBdDtcbiAgICBjb25zdCBleHByID0gdGhpcy5wYXJzZUV4cHJBdG9tKHJlZkV4cHJlc3Npb25FcnJvcnMpO1xuXG4gICAgaWYgKHRoaXMuc2hvdWxkRXhpdERlc2NlbmRpbmcoZXhwciwgcG90ZW50aWFsQXJyb3dBdCkpIHtcbiAgICAgIHJldHVybiBleHByO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnBhcnNlU3Vic2NyaXB0cyhleHByLCBzdGFydExvYyk7XG4gIH1cblxuICBwYXJzZVN1YnNjcmlwdHMoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIGJhc2U6IE4uRXhwcmVzc2lvbixcbiAgICBzdGFydExvYzogUG9zaXRpb24sXG4gICAgbm9DYWxscz86IGJvb2xlYW4gfCBudWxsLFxuICApOiBOLkV4cHJlc3Npb24ge1xuICAgIGNvbnN0IHN0YXRlID0ge1xuICAgICAgb3B0aW9uYWxDaGFpbk1lbWJlcjogZmFsc2UsXG4gICAgICBtYXliZUFzeW5jQXJyb3c6IHRoaXMuYXRQb3NzaWJsZUFzeW5jQXJyb3coYmFzZSksXG4gICAgICBzdG9wOiBmYWxzZSxcbiAgICB9O1xuICAgIGRvIHtcbiAgICAgIGJhc2UgPSB0aGlzLnBhcnNlU3Vic2NyaXB0KGJhc2UsIHN0YXJ0TG9jLCBub0NhbGxzLCBzdGF0ZSk7XG5cbiAgICAgIC8vIEFmdGVyIHBhcnNpbmcgYSBzdWJzY3JpcHQsIHRoaXMgaXNuJ3QgXCJhc3luY1wiIGZvciBzdXJlLlxuICAgICAgc3RhdGUubWF5YmVBc3luY0Fycm93ID0gZmFsc2U7XG4gICAgfSB3aGlsZSAoIXN0YXRlLnN0b3ApO1xuICAgIHJldHVybiBiYXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBzdGF0ZSBTZXQgJ3N0YXRlLnN0b3AgPSB0cnVlJyB0byBpbmRpY2F0ZSB0aGF0IHdlIHNob3VsZCBzdG9wIHBhcnNpbmcgc3Vic2NyaXB0cy5cbiAgICogICBzdGF0ZS5vcHRpb25hbENoYWluTWVtYmVyIHRvIGluZGljYXRlIHRoYXQgdGhlIG1lbWJlciBpcyBjdXJyZW50bHkgaW4gT3B0aW9uYWxDaGFpblxuICAgKi9cbiAgcGFyc2VTdWJzY3JpcHQoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIGJhc2U6IE4uRXhwcmVzc2lvbixcbiAgICBzdGFydExvYzogUG9zaXRpb24sXG4gICAgbm9DYWxsczogYm9vbGVhbiB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICAgc3RhdGU6IE4uUGFyc2VTdWJzY3JpcHRTdGF0ZSxcbiAgKTogTi5FeHByZXNzaW9uIHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IHRoaXMuc3RhdGU7XG4gICAgaWYgKCFub0NhbGxzICYmIHR5cGUgPT09IHR0LmRvdWJsZUNvbG9uKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJzZUJpbmQoYmFzZSwgc3RhcnRMb2MsIG5vQ2FsbHMsIHN0YXRlKTtcbiAgICB9IGVsc2UgaWYgKHRva2VuSXNUZW1wbGF0ZSh0eXBlKSkge1xuICAgICAgcmV0dXJuIHRoaXMucGFyc2VUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb24oYmFzZSwgc3RhcnRMb2MsIHN0YXRlKTtcbiAgICB9XG5cbiAgICBsZXQgb3B0aW9uYWwgPSBmYWxzZTtcblxuICAgIGlmICh0eXBlID09PSB0dC5xdWVzdGlvbkRvdCkge1xuICAgICAgaWYgKG5vQ2FsbHMpIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuT3B0aW9uYWxDaGFpbmluZ05vTmV3LCB0aGlzLnN0YXRlLnN0YXJ0TG9jKTtcbiAgICAgICAgaWYgKHRoaXMubG9va2FoZWFkQ2hhckNvZGUoKSA9PT0gY2hhckNvZGVzLmxlZnRQYXJlbnRoZXNpcykge1xuICAgICAgICAgIC8vIHN0b3AgYXQgYD8uYCB3aGVuIHBhcnNpbmcgYG5ldyBhPy4oKWBcbiAgICAgICAgICBzdGF0ZS5zdG9wID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm4gYmFzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgc3RhdGUub3B0aW9uYWxDaGFpbk1lbWJlciA9IG9wdGlvbmFsID0gdHJ1ZTtcbiAgICAgIHRoaXMubmV4dCgpO1xuICAgIH1cblxuICAgIGlmICghbm9DYWxscyAmJiB0aGlzLm1hdGNoKHR0LnBhcmVuTCkpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcnNlQ292ZXJDYWxsQW5kQXN5bmNBcnJvd0hlYWQoXG4gICAgICAgIGJhc2UsXG4gICAgICAgIHN0YXJ0TG9jLFxuICAgICAgICBzdGF0ZSxcbiAgICAgICAgb3B0aW9uYWwsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjb21wdXRlZCA9IHRoaXMuZWF0KHR0LmJyYWNrZXRMKTtcbiAgICAgIGlmIChjb21wdXRlZCB8fCBvcHRpb25hbCB8fCB0aGlzLmVhdCh0dC5kb3QpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlTWVtYmVyKGJhc2UsIHN0YXJ0TG9jLCBzdGF0ZSwgY29tcHV0ZWQsIG9wdGlvbmFsKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXRlLnN0b3AgPSB0cnVlO1xuICAgICAgICByZXR1cm4gYmFzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBiYXNlWz9ZaWVsZCwgP0F3YWl0XSBbIEV4cHJlc3Npb25bK0luLCA/WWllbGQsID9Bd2FpdF0gXVxuICAvLyBiYXNlWz9ZaWVsZCwgP0F3YWl0XSAuIElkZW50aWZpZXJOYW1lXG4gIC8vIGJhc2VbP1lpZWxkLCA/QXdhaXRdIC4gUHJpdmF0ZUlkZW50aWZpZXJcbiAgLy8gICB3aGVyZSBgYmFzZWAgaXMgb25lIG9mIENhbGxFeHByZXNzaW9uLCBNZW1iZXJFeHByZXNzaW9uIGFuZCBPcHRpb25hbENoYWluXG4gIHBhcnNlTWVtYmVyKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBiYXNlOiBOLkV4cHJlc3Npb24sXG4gICAgc3RhcnRMb2M6IFBvc2l0aW9uLFxuICAgIHN0YXRlOiBOLlBhcnNlU3Vic2NyaXB0U3RhdGUsXG4gICAgY29tcHV0ZWQ6IGJvb2xlYW4sXG4gICAgb3B0aW9uYWw6IGJvb2xlYW4sXG4gICk6IE4uT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uIHwgTi5NZW1iZXJFeHByZXNzaW9uIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGVBdDxcbiAgICAgIE4uT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uIHwgTi5NZW1iZXJFeHByZXNzaW9uXG4gICAgPihzdGFydExvYyk7XG4gICAgbm9kZS5vYmplY3QgPSBiYXNlO1xuICAgIG5vZGUuY29tcHV0ZWQgPSBjb21wdXRlZDtcbiAgICBpZiAoY29tcHV0ZWQpIHtcbiAgICAgIG5vZGUucHJvcGVydHkgPSB0aGlzLnBhcnNlRXhwcmVzc2lvbigpO1xuICAgICAgdGhpcy5leHBlY3QodHQuYnJhY2tldFIpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5tYXRjaCh0dC5wcml2YXRlTmFtZSkpIHtcbiAgICAgIGlmIChiYXNlLnR5cGUgPT09IFwiU3VwZXJcIikge1xuICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5TdXBlclByaXZhdGVGaWVsZCwgc3RhcnRMb2MpO1xuICAgICAgfVxuICAgICAgdGhpcy5jbGFzc1Njb3BlLnVzZVByaXZhdGVOYW1lKHRoaXMuc3RhdGUudmFsdWUsIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgICAgbm9kZS5wcm9wZXJ0eSA9IHRoaXMucGFyc2VQcml2YXRlTmFtZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLnByb3BlcnR5ID0gdGhpcy5wYXJzZUlkZW50aWZpZXIodHJ1ZSk7XG4gICAgfVxuXG4gICAgaWYgKHN0YXRlLm9wdGlvbmFsQ2hhaW5NZW1iZXIpIHtcbiAgICAgIChub2RlIGFzIE4uT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uKS5vcHRpb25hbCA9IG9wdGlvbmFsO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIk9wdGlvbmFsTWVtYmVyRXhwcmVzc2lvblwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIk1lbWJlckV4cHJlc3Npb25cIik7XG4gICAgfVxuICB9XG5cbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtYmluZC1vcGVyYXRvciNzeW50YXhcbiAgcGFyc2VCaW5kKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBiYXNlOiBOLkV4cHJlc3Npb24sXG4gICAgc3RhcnRMb2M6IFBvc2l0aW9uLFxuICAgIG5vQ2FsbHM6IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBudWxsLFxuICAgIHN0YXRlOiBOLlBhcnNlU3Vic2NyaXB0U3RhdGUsXG4gICk6IE4uRXhwcmVzc2lvbiB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlQXQ8Ti5CaW5kRXhwcmVzc2lvbj4oc3RhcnRMb2MpO1xuICAgIG5vZGUub2JqZWN0ID0gYmFzZTtcbiAgICB0aGlzLm5leHQoKTsgLy8gZWF0ICc6OidcbiAgICBub2RlLmNhbGxlZSA9IHRoaXMucGFyc2VOb0NhbGxFeHByKCk7XG4gICAgc3RhdGUuc3RvcCA9IHRydWU7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VTdWJzY3JpcHRzKFxuICAgICAgdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiQmluZEV4cHJlc3Npb25cIiksXG4gICAgICBzdGFydExvYyxcbiAgICAgIG5vQ2FsbHMsXG4gICAgKTtcbiAgfVxuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLUNvdmVyQ2FsbEV4cHJlc3Npb25BbmRBc3luY0Fycm93SGVhZFxuICAvLyBDb3ZlckNhbGxFeHByZXNzaW9uQW5kQXN5bmNBcnJvd0hlYWRcbiAgLy8gQ2FsbEV4cHJlc3Npb25bP1lpZWxkLCA/QXdhaXRdIEFyZ3VtZW50c1s/WWllbGQsID9Bd2FpdF1cbiAgLy8gT3B0aW9uYWxDaGFpbls/WWllbGQsID9Bd2FpdF0gQXJndW1lbnRzWz9ZaWVsZCwgP0F3YWl0XVxuICBwYXJzZUNvdmVyQ2FsbEFuZEFzeW5jQXJyb3dIZWFkKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBiYXNlOiBOLkV4cHJlc3Npb24sXG4gICAgc3RhcnRMb2M6IFBvc2l0aW9uLFxuICAgIHN0YXRlOiBOLlBhcnNlU3Vic2NyaXB0U3RhdGUsXG4gICAgb3B0aW9uYWw6IGJvb2xlYW4sXG4gICk6IE4uRXhwcmVzc2lvbiB7XG4gICAgY29uc3Qgb2xkTWF5YmVJbkFycm93UGFyYW1ldGVycyA9IHRoaXMuc3RhdGUubWF5YmVJbkFycm93UGFyYW1ldGVycztcbiAgICBsZXQgcmVmRXhwcmVzc2lvbkVycm9yczogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwgPSBudWxsO1xuXG4gICAgdGhpcy5zdGF0ZS5tYXliZUluQXJyb3dQYXJhbWV0ZXJzID0gdHJ1ZTtcbiAgICB0aGlzLm5leHQoKTsgLy8gZWF0IGAoYFxuXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlQXQ8Ti5DYWxsRXhwcmVzc2lvbiB8IE4uT3B0aW9uYWxDYWxsRXhwcmVzc2lvbj4oXG4gICAgICBzdGFydExvYyxcbiAgICApO1xuICAgIG5vZGUuY2FsbGVlID0gYmFzZTtcbiAgICBjb25zdCB7IG1heWJlQXN5bmNBcnJvdywgb3B0aW9uYWxDaGFpbk1lbWJlciB9ID0gc3RhdGU7XG5cbiAgICBpZiAobWF5YmVBc3luY0Fycm93KSB7XG4gICAgICB0aGlzLmV4cHJlc3Npb25TY29wZS5lbnRlcihuZXdBc3luY0Fycm93U2NvcGUoKSk7XG4gICAgICByZWZFeHByZXNzaW9uRXJyb3JzID0gbmV3IEV4cHJlc3Npb25FcnJvcnMoKTtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9uYWxDaGFpbk1lbWJlcikge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciB3aGVuIG9wdGlvbmFsQ2hhaW5NZW1iZXIgaXMgdHJ1ZSwgbm9kZSBtdXN0IGJlIGFuIG9wdGlvbmFsIGNhbGxcbiAgICAgIG5vZGUub3B0aW9uYWwgPSBvcHRpb25hbDtcbiAgICB9XG5cbiAgICBpZiAob3B0aW9uYWwpIHtcbiAgICAgIG5vZGUuYXJndW1lbnRzID0gdGhpcy5wYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKHR0LnBhcmVuUik7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGUuYXJndW1lbnRzID0gdGhpcy5wYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKFxuICAgICAgICB0dC5wYXJlblIsXG4gICAgICAgIGJhc2UudHlwZSAhPT0gXCJTdXBlclwiLFxuICAgICAgICBub2RlLFxuICAgICAgICByZWZFeHByZXNzaW9uRXJyb3JzLFxuICAgICAgKTtcbiAgICB9XG4gICAgbGV0IGZpbmlzaGVkTm9kZTpcbiAgICAgIHwgTi5DYWxsRXhwcmVzc2lvblxuICAgICAgfCBOLk9wdGlvbmFsQ2FsbEV4cHJlc3Npb25cbiAgICAgIHwgTi5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiA9IHRoaXMuZmluaXNoQ2FsbEV4cHJlc3Npb24oXG4gICAgICBub2RlLFxuICAgICAgb3B0aW9uYWxDaGFpbk1lbWJlcixcbiAgICApO1xuXG4gICAgaWYgKG1heWJlQXN5bmNBcnJvdyAmJiB0aGlzLnNob3VsZFBhcnNlQXN5bmNBcnJvdygpICYmICFvcHRpb25hbCkge1xuICAgICAgLyo6OiBpbnZhcmlhbnQocmVmRXhwcmVzc2lvbkVycm9ycyAhPSBudWxsKSAqL1xuICAgICAgc3RhdGUuc3RvcCA9IHRydWU7XG4gICAgICB0aGlzLmNoZWNrRGVzdHJ1Y3R1cmluZ1ByaXZhdGUocmVmRXhwcmVzc2lvbkVycm9ycyk7XG4gICAgICB0aGlzLmV4cHJlc3Npb25TY29wZS52YWxpZGF0ZUFzUGF0dGVybigpO1xuICAgICAgdGhpcy5leHByZXNzaW9uU2NvcGUuZXhpdCgpO1xuICAgICAgZmluaXNoZWROb2RlID0gdGhpcy5wYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24oXG4gICAgICAgIHRoaXMuc3RhcnROb2RlQXQ8Ti5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbj4oc3RhcnRMb2MpLFxuICAgICAgICBmaW5pc2hlZE5vZGUgYXMgTi5DYWxsRXhwcmVzc2lvbixcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChtYXliZUFzeW5jQXJyb3cpIHtcbiAgICAgICAgdGhpcy5jaGVja0V4cHJlc3Npb25FcnJvcnMocmVmRXhwcmVzc2lvbkVycm9ycywgdHJ1ZSk7XG4gICAgICAgIHRoaXMuZXhwcmVzc2lvblNjb3BlLmV4aXQoKTtcbiAgICAgIH1cbiAgICAgIHRoaXMudG9SZWZlcmVuY2VkQXJndW1lbnRzKGZpbmlzaGVkTm9kZSk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZS5tYXliZUluQXJyb3dQYXJhbWV0ZXJzID0gb2xkTWF5YmVJbkFycm93UGFyYW1ldGVycztcblxuICAgIHJldHVybiBmaW5pc2hlZE5vZGU7XG4gIH1cblxuICB0b1JlZmVyZW5jZWRBcmd1bWVudHMoXG4gICAgbm9kZTogTi5DYWxsRXhwcmVzc2lvbiB8IE4uT3B0aW9uYWxDYWxsRXhwcmVzc2lvbixcbiAgICBpc1BhcmVudGhlc2l6ZWRFeHByPzogYm9vbGVhbixcbiAgKSB7XG4gICAgdGhpcy50b1JlZmVyZW5jZWRMaXN0RGVlcChub2RlLmFyZ3VtZW50cywgaXNQYXJlbnRoZXNpemVkRXhwcik7XG4gIH1cblxuICAvLyBNZW1iZXJFeHByZXNzaW9uIFs/WWllbGQsID9Bd2FpdF0gVGVtcGxhdGVMaXRlcmFsWz9ZaWVsZCwgP0F3YWl0LCArVGFnZ2VkXVxuICAvLyBDYWxsRXhwcmVzc2lvbiBbP1lpZWxkLCA/QXdhaXRdIFRlbXBsYXRlTGl0ZXJhbFs/WWllbGQsID9Bd2FpdCwgK1RhZ2dlZF1cbiAgcGFyc2VUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb24oXG4gICAgdGhpczogUGFyc2VyLFxuICAgIGJhc2U6IE4uRXhwcmVzc2lvbixcbiAgICBzdGFydExvYzogUG9zaXRpb24sXG4gICAgc3RhdGU6IE4uUGFyc2VTdWJzY3JpcHRTdGF0ZSxcbiAgKTogTi5UYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb24ge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uPihzdGFydExvYyk7XG4gICAgbm9kZS50YWcgPSBiYXNlO1xuICAgIG5vZGUucXVhc2kgPSB0aGlzLnBhcnNlVGVtcGxhdGUodHJ1ZSk7XG4gICAgaWYgKHN0YXRlLm9wdGlvbmFsQ2hhaW5NZW1iZXIpIHtcbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLk9wdGlvbmFsQ2hhaW5pbmdOb1RlbXBsYXRlLCBzdGFydExvYyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb25cIik7XG4gIH1cblxuICBhdFBvc3NpYmxlQXN5bmNBcnJvdyhiYXNlOiBOLkV4cHJlc3Npb24pOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgYmFzZS50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgICAgYmFzZS5uYW1lID09PSBcImFzeW5jXCIgJiZcbiAgICAgIHRoaXMuc3RhdGUubGFzdFRva0VuZExvYy5pbmRleCA9PT0gYmFzZS5lbmQgJiZcbiAgICAgICF0aGlzLmNhbkluc2VydFNlbWljb2xvbigpICYmXG4gICAgICAvLyBjaGVjayB0aGVyZSBhcmUgbm8gZXNjYXBlIHNlcXVlbmNlcywgc3VjaCBhcyBcXHV7NjF9c3luY1xuICAgICAgYmFzZS5lbmQgLSBiYXNlLnN0YXJ0ID09PSA1ICYmXG4gICAgICB0aGlzLm9mZnNldFRvU291cmNlUG9zKGJhc2Uuc3RhcnQpID09PSB0aGlzLnN0YXRlLnBvdGVudGlhbEFycm93QXRcbiAgICApO1xuICB9XG5cbiAgZmluaXNoQ2FsbEV4cHJlc3Npb248VCBleHRlbmRzIE4uQ2FsbEV4cHJlc3Npb24gfCBOLk9wdGlvbmFsQ2FsbEV4cHJlc3Npb24+KFxuICAgIG5vZGU6IFVuZG9uZTxUPixcbiAgICBvcHRpb25hbDogYm9vbGVhbixcbiAgKTogVCB7XG4gICAgaWYgKG5vZGUuY2FsbGVlLnR5cGUgPT09IFwiSW1wb3J0XCIpIHtcbiAgICAgIGlmIChub2RlLmFyZ3VtZW50cy5sZW5ndGggPT09IDAgfHwgbm9kZS5hcmd1bWVudHMubGVuZ3RoID4gMikge1xuICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5JbXBvcnRDYWxsQXJpdHksIG5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZm9yIChjb25zdCBhcmcgb2Ygbm9kZS5hcmd1bWVudHMpIHtcbiAgICAgICAgICBpZiAoYXJnLnR5cGUgPT09IFwiU3ByZWFkRWxlbWVudFwiKSB7XG4gICAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5JbXBvcnRDYWxsU3ByZWFkQXJndW1lbnQsIGFyZyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUoXG4gICAgICBub2RlLFxuICAgICAgb3B0aW9uYWwgPyBcIk9wdGlvbmFsQ2FsbEV4cHJlc3Npb25cIiA6IFwiQ2FsbEV4cHJlc3Npb25cIixcbiAgICApO1xuICB9XG5cbiAgcGFyc2VDYWxsRXhwcmVzc2lvbkFyZ3VtZW50cyhcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgY2xvc2U6IFRva2VuVHlwZSxcbiAgICBhbGxvd1BsYWNlaG9sZGVyPzogYm9vbGVhbixcbiAgICBub2RlRm9yRXh0cmE/OiBVbmRvbmU8Ti5Ob2RlPiB8IG51bGwsXG4gICAgcmVmRXhwcmVzc2lvbkVycm9ycz86IEV4cHJlc3Npb25FcnJvcnMgfCBudWxsLFxuICApOiBBcnJheTxOLkV4cHJlc3Npb24+IHtcbiAgICBjb25zdCBlbHRzOiBOLkV4cHJlc3Npb25bXSA9IFtdO1xuICAgIGxldCBmaXJzdCA9IHRydWU7XG4gICAgY29uc3Qgb2xkSW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHkgPSB0aGlzLnN0YXRlLmluRlNoYXJwUGlwZWxpbmVEaXJlY3RCb2R5O1xuICAgIHRoaXMuc3RhdGUuaW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHkgPSBmYWxzZTtcblxuICAgIHdoaWxlICghdGhpcy5lYXQoY2xvc2UpKSB7XG4gICAgICBpZiAoZmlyc3QpIHtcbiAgICAgICAgZmlyc3QgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZXhwZWN0KHR0LmNvbW1hKTtcbiAgICAgICAgaWYgKHRoaXMubWF0Y2goY2xvc2UpKSB7XG4gICAgICAgICAgaWYgKG5vZGVGb3JFeHRyYSkge1xuICAgICAgICAgICAgdGhpcy5hZGRUcmFpbGluZ0NvbW1hRXh0cmFUb05vZGUobm9kZUZvckV4dHJhKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZWx0cy5wdXNoKFxuICAgICAgICB0aGlzLnBhcnNlRXhwckxpc3RJdGVtKGZhbHNlLCByZWZFeHByZXNzaW9uRXJyb3JzLCBhbGxvd1BsYWNlaG9sZGVyKSxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZS5pbkZTaGFycFBpcGVsaW5lRGlyZWN0Qm9keSA9IG9sZEluRlNoYXJwUGlwZWxpbmVEaXJlY3RCb2R5O1xuXG4gICAgcmV0dXJuIGVsdHM7XG4gIH1cblxuICBzaG91bGRQYXJzZUFzeW5jQXJyb3coKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWF0Y2godHQuYXJyb3cpICYmICF0aGlzLmNhbkluc2VydFNlbWljb2xvbigpO1xuICB9XG5cbiAgcGFyc2VBc3luY0Fycm93RnJvbUNhbGxFeHByZXNzaW9uKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBub2RlOiBVbmRvbmU8Ti5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbj4sXG4gICAgY2FsbDogTi5DYWxsRXhwcmVzc2lvbixcbiAgKTogTi5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiB7XG4gICAgdGhpcy5yZXNldFByZXZpb3VzTm9kZVRyYWlsaW5nQ29tbWVudHMoY2FsbCk7XG4gICAgdGhpcy5leHBlY3QodHQuYXJyb3cpO1xuICAgIHRoaXMucGFyc2VBcnJvd0V4cHJlc3Npb24oXG4gICAgICBub2RlLFxuICAgICAgY2FsbC5hcmd1bWVudHMsXG4gICAgICB0cnVlLFxuICAgICAgY2FsbC5leHRyYT8udHJhaWxpbmdDb21tYUxvYyxcbiAgICApO1xuICAgIC8vIG1hcmsgaW5uZXIgY29tbWVudHMgb2YgYGFzeW5jKClgIGFzIGlubmVyIGNvbW1lbnRzIG9mIGBhc3luYyAoKSA9PmBcbiAgICBpZiAoY2FsbC5pbm5lckNvbW1lbnRzKSB7XG4gICAgICBzZXRJbm5lckNvbW1lbnRzKG5vZGUsIGNhbGwuaW5uZXJDb21tZW50cyk7XG4gICAgfVxuICAgIC8vIG1hcmsgdHJhaWxpbmcgY29tbWVudHMgb2YgYGFzeW5jYCB0byBiZSBpbm5lciBjb21tZW50c1xuICAgIGlmIChjYWxsLmNhbGxlZS50cmFpbGluZ0NvbW1lbnRzKSB7XG4gICAgICBzZXRJbm5lckNvbW1lbnRzKG5vZGUsIGNhbGwuY2FsbGVlLnRyYWlsaW5nQ29tbWVudHMpO1xuICAgIH1cbiAgICByZXR1cm4gbm9kZSBhcyBOLkFycm93RnVuY3Rpb25FeHByZXNzaW9uO1xuICB9XG5cbiAgLy8gUGFyc2UgYSBuby1jYWxsIGV4cHJlc3Npb24gKGxpa2UgYXJndW1lbnQgb2YgYG5ld2Agb3IgYDo6YCBvcGVyYXRvcnMpLlxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1NZW1iZXJFeHByZXNzaW9uXG4gIHBhcnNlTm9DYWxsRXhwcih0aGlzOiBQYXJzZXIpOiBOLkV4cHJlc3Npb24ge1xuICAgIGNvbnN0IHN0YXJ0TG9jID0gdGhpcy5zdGF0ZS5zdGFydExvYztcbiAgICByZXR1cm4gdGhpcy5wYXJzZVN1YnNjcmlwdHModGhpcy5wYXJzZUV4cHJBdG9tKCksIHN0YXJ0TG9jLCB0cnVlKTtcbiAgfVxuXG4gIC8vIFBhcnNlIGFuIGF0b21pYyBleHByZXNzaW9uIOKAlCBlaXRoZXIgYSBzaW5nbGUgdG9rZW4gdGhhdCBpcyBhblxuICAvLyBleHByZXNzaW9uLCBhbiBleHByZXNzaW9uIHN0YXJ0ZWQgYnkgYSBrZXl3b3JkIGxpa2UgYGZ1bmN0aW9uYCBvclxuICAvLyBgbmV3YCwgb3IgYW4gZXhwcmVzc2lvbiB3cmFwcGVkIGluIHB1bmN0dWF0aW9uIGxpa2UgYCgpYCwgYFtdYCxcbiAgLy8gb3IgYHt9YC5cblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1QcmltYXJ5RXhwcmVzc2lvblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1Bc3luY0Fycm93RnVuY3Rpb25cbiAgLy8gUHJpbWFyeUV4cHJlc3Npb25cbiAgLy8gU3VwZXJcbiAgLy8gSW1wb3J0XG4gIC8vIEFzeW5jQXJyb3dGdW5jdGlvblxuXG4gIHBhcnNlRXhwckF0b20oXG4gICAgdGhpczogUGFyc2VyLFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzIHwgbnVsbCxcbiAgKTogTi5FeHByZXNzaW9uIHtcbiAgICBsZXQgbm9kZTtcbiAgICBsZXQgZGVjb3JhdG9yczogTi5EZWNvcmF0b3JbXSB8IG51bGwgPSBudWxsO1xuXG4gICAgY29uc3QgeyB0eXBlIH0gPSB0aGlzLnN0YXRlO1xuICAgIHN3aXRjaCAodHlwZSkge1xuICAgICAgY2FzZSB0dC5fc3VwZXI6XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlU3VwZXIoKTtcblxuICAgICAgY2FzZSB0dC5faW1wb3J0OlxuICAgICAgICBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5NZXRhUHJvcGVydHkgfCBOLkltcG9ydCB8IE4uSW1wb3J0RXhwcmVzc2lvbj4oKTtcbiAgICAgICAgdGhpcy5uZXh0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMubWF0Y2godHQuZG90KSkge1xuICAgICAgICAgIHJldHVybiB0aGlzLnBhcnNlSW1wb3J0TWV0YVByb3BlcnR5KG5vZGUgYXMgVW5kb25lPE4uTWV0YVByb3BlcnR5Pik7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5tYXRjaCh0dC5wYXJlbkwpKSB7XG4gICAgICAgICAgaWYgKHRoaXMub3B0aW9ucy5jcmVhdGVJbXBvcnRFeHByZXNzaW9ucykge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VJbXBvcnRDYWxsKG5vZGUgYXMgVW5kb25lPE4uSW1wb3J0RXhwcmVzc2lvbj4pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiSW1wb3J0XCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5VbnN1cHBvcnRlZEltcG9ydCwgdGhpcy5zdGF0ZS5sYXN0VG9rU3RhcnRMb2MpO1xuICAgICAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJJbXBvcnRcIik7XG4gICAgICAgIH1cblxuICAgICAgY2FzZSB0dC5fdGhpczpcbiAgICAgICAgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uVGhpc0V4cHJlc3Npb24+KCk7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiVGhpc0V4cHJlc3Npb25cIik7XG5cbiAgICAgIGNhc2UgdHQuX2RvOiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlRG8odGhpcy5zdGFydE5vZGUoKSwgZmFsc2UpO1xuICAgICAgfVxuXG4gICAgICBjYXNlIHR0LnNsYXNoOlxuICAgICAgY2FzZSB0dC5zbGFzaEFzc2lnbjoge1xuICAgICAgICB0aGlzLnJlYWRSZWdleHAoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VSZWdFeHBMaXRlcmFsKHRoaXMuc3RhdGUudmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBjYXNlIHR0Lm51bTpcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VOdW1lcmljTGl0ZXJhbCh0aGlzLnN0YXRlLnZhbHVlKTtcblxuICAgICAgY2FzZSB0dC5iaWdpbnQ6XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlQmlnSW50TGl0ZXJhbCh0aGlzLnN0YXRlLnZhbHVlKTtcblxuICAgICAgY2FzZSB0dC5zdHJpbmc6XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlU3RyaW5nTGl0ZXJhbCh0aGlzLnN0YXRlLnZhbHVlKTtcblxuICAgICAgY2FzZSB0dC5fbnVsbDpcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VOdWxsTGl0ZXJhbCgpO1xuXG4gICAgICBjYXNlIHR0Ll90cnVlOlxuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUJvb2xlYW5MaXRlcmFsKHRydWUpO1xuICAgICAgY2FzZSB0dC5fZmFsc2U6XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlQm9vbGVhbkxpdGVyYWwoZmFsc2UpO1xuXG4gICAgICBjYXNlIHR0LnBhcmVuTDoge1xuICAgICAgICBjb25zdCBjYW5CZUFycm93ID0gdGhpcy5zdGF0ZS5wb3RlbnRpYWxBcnJvd0F0ID09PSB0aGlzLnN0YXRlLnN0YXJ0O1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZVBhcmVuQW5kRGlzdGluZ3Vpc2hFeHByZXNzaW9uKGNhbkJlQXJyb3cpO1xuICAgICAgfVxuXG4gICAgICBjYXNlIHR0LmJyYWNrZXRCYXJMOlxuICAgICAgY2FzZSB0dC5icmFja2V0SGFzaEw6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VBcnJheUxpa2UoXG4gICAgICAgICAgdGhpcy5zdGF0ZS50eXBlID09PSB0dC5icmFja2V0QmFyTCA/IHR0LmJyYWNrZXRCYXJSIDogdHQuYnJhY2tldFIsXG4gICAgICAgICAgLyogY2FuQmVQYXR0ZXJuICovIGZhbHNlLFxuICAgICAgICAgIC8qIGlzVHVwbGUgKi8gdHJ1ZSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNhc2UgdHQuYnJhY2tldEw6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VBcnJheUxpa2UoXG4gICAgICAgICAgdHQuYnJhY2tldFIsXG4gICAgICAgICAgLyogY2FuQmVQYXR0ZXJuICovIHRydWUsXG4gICAgICAgICAgLyogaXNUdXBsZSAqLyBmYWxzZSxcbiAgICAgICAgICByZWZFeHByZXNzaW9uRXJyb3JzLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY2FzZSB0dC5icmFjZUJhckw6XG4gICAgICBjYXNlIHR0LmJyYWNlSGFzaEw6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VPYmplY3RMaWtlKFxuICAgICAgICAgIHRoaXMuc3RhdGUudHlwZSA9PT0gdHQuYnJhY2VCYXJMID8gdHQuYnJhY2VCYXJSIDogdHQuYnJhY2VSLFxuICAgICAgICAgIC8qIGlzUGF0dGVybiAqLyBmYWxzZSxcbiAgICAgICAgICAvKiBpc1JlY29yZCAqLyB0cnVlLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY2FzZSB0dC5icmFjZUw6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VPYmplY3RMaWtlKFxuICAgICAgICAgIHR0LmJyYWNlUixcbiAgICAgICAgICAvKiBpc1BhdHRlcm4gKi8gZmFsc2UsXG4gICAgICAgICAgLyogaXNSZWNvcmQgKi8gZmFsc2UsXG4gICAgICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNhc2UgdHQuX2Z1bmN0aW9uOlxuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUZ1bmN0aW9uT3JGdW5jdGlvblNlbnQoKTtcblxuICAgICAgY2FzZSB0dC5hdDpcbiAgICAgICAgZGVjb3JhdG9ycyA9IHRoaXMucGFyc2VEZWNvcmF0b3JzKCk7XG4gICAgICAvLyBmYWxsIHRocm91Z2hcbiAgICAgIGNhc2UgdHQuX2NsYXNzOlxuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUNsYXNzKFxuICAgICAgICAgIHRoaXMubWF5YmVUYWtlRGVjb3JhdG9ycyhcbiAgICAgICAgICAgIGRlY29yYXRvcnMsXG4gICAgICAgICAgICB0aGlzLnN0YXJ0Tm9kZTxOLkNsYXNzRXhwcmVzc2lvbj4oKSxcbiAgICAgICAgICApLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICApO1xuXG4gICAgICBjYXNlIHR0Ll9uZXc6XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlTmV3T3JOZXdUYXJnZXQoKTtcblxuICAgICAgY2FzZSB0dC50ZW1wbGF0ZU5vblRhaWw6XG4gICAgICBjYXNlIHR0LnRlbXBsYXRlVGFpbDpcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VUZW1wbGF0ZShmYWxzZSk7XG5cbiAgICAgIC8vIEJpbmRFeHByZXNzaW9uW1lpZWxkXVxuICAgICAgLy8gICA6OiBNZW1iZXJFeHByZXNzaW9uWz9ZaWVsZF1cbiAgICAgIGNhc2UgdHQuZG91YmxlQ29sb246IHtcbiAgICAgICAgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uQmluZEV4cHJlc3Npb24+KCk7XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICBub2RlLm9iamVjdCA9IG51bGw7XG4gICAgICAgIGNvbnN0IGNhbGxlZSA9IChub2RlLmNhbGxlZSA9IHRoaXMucGFyc2VOb0NhbGxFeHByKCkpO1xuICAgICAgICBpZiAoY2FsbGVlLnR5cGUgPT09IFwiTWVtYmVyRXhwcmVzc2lvblwiKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkJpbmRFeHByZXNzaW9uXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IHRoaXMucmFpc2UoRXJyb3JzLlVuc3VwcG9ydGVkQmluZCwgY2FsbGVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBjYXNlIHR0LnByaXZhdGVOYW1lOiB7XG4gICAgICAgIC8vIFN0YW5kYWxvbmUgcHJpdmF0ZSBuYW1lcyBhcmUgb25seSBhbGxvd2VkIGluIFwiI3ggaW4gb2JqXCJcbiAgICAgICAgLy8gZXhwcmVzc2lvbnMsIGFuZCB0aGV5IGFyZSBkaXJlY3RseSBoYW5kbGVkIGJ5IGNhbGxlcnMgb2ZcbiAgICAgICAgLy8gcGFyc2VFeHByT3AuIElmIHdlIHJlYWNoIHRoaXMsIHRoZSBpbnB1dCBpcyBhbHdheXMgaW52YWxpZC5cbiAgICAgICAgLy8gV2UgY2FuIHRocm93IGEgYmV0dGVyIGVycm9yIG1lc3NhZ2UgYW5kIHJlY292ZXIsIHJhdGhlciB0aGFuXG4gICAgICAgIC8vIGp1c3QgdGhyb3dpbmcgXCJVbmV4cGVjdGVkIHRva2VuXCIgKHdoaWNoIGlzIHRoZSBkZWZhdWx0XG4gICAgICAgIC8vIGJlaGF2aW9yIG9mIHRoaXMgYmlnIHN3aXRjaCBzdGF0ZW1lbnQpLlxuICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5Qcml2YXRlSW5FeHBlY3RlZEluLCB0aGlzLnN0YXRlLnN0YXJ0TG9jLCB7XG4gICAgICAgICAgaWRlbnRpZmllck5hbWU6IHRoaXMuc3RhdGUudmFsdWUsXG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZVByaXZhdGVOYW1lKCkgYXMgdW5rbm93biBhcyBOLkV4cHJlc3Npb247XG4gICAgICB9XG5cbiAgICAgIGNhc2UgdHQubW9kdWxvQXNzaWduOiB7XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlVG9waWNSZWZlcmVuY2VUaGVuRXF1YWxzU2lnbih0dC5tb2R1bG8sIFwiJVwiKTtcbiAgICAgIH1cblxuICAgICAgY2FzZSB0dC54b3JBc3NpZ246IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VUb3BpY1JlZmVyZW5jZVRoZW5FcXVhbHNTaWduKHR0LmJpdHdpc2VYT1IsIFwiXlwiKTtcbiAgICAgIH1cblxuICAgICAgY2FzZSB0dC5kb3VibGVDYXJldDpcbiAgICAgIGNhc2UgdHQuZG91YmxlQXQ6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VUb3BpY1JlZmVyZW5jZShcImhhY2tcIik7XG4gICAgICB9XG5cbiAgICAgIGNhc2UgdHQuYml0d2lzZVhPUjpcbiAgICAgIGNhc2UgdHQubW9kdWxvOlxuICAgICAgY2FzZSB0dC5oYXNoOiB7XG4gICAgICAgIGNvbnN0IHBpcGVQcm9wb3NhbCA9IHRoaXMuZ2V0UGx1Z2luT3B0aW9uKFxuICAgICAgICAgIFwicGlwZWxpbmVPcGVyYXRvclwiLFxuICAgICAgICAgIFwicHJvcG9zYWxcIixcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAocGlwZVByb3Bvc2FsKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VUb3BpY1JlZmVyZW5jZShwaXBlUHJvcG9zYWwpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMudW5leHBlY3RlZCgpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cblxuICAgICAgY2FzZSB0dC5sdDoge1xuICAgICAgICBjb25zdCBsb29rYWhlYWRDaCA9IHRoaXMuaW5wdXQuY29kZVBvaW50QXQodGhpcy5uZXh0VG9rZW5TdGFydCgpKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGlzSWRlbnRpZmllclN0YXJ0KGxvb2thaGVhZENoKSB8fCAvLyBFbGVtZW50L1R5cGUgUGFyYW1ldGVyIDxmb28+XG4gICAgICAgICAgbG9va2FoZWFkQ2ggPT09IGNoYXJDb2Rlcy5ncmVhdGVyVGhhbiAvLyBGcmFnbWVudCA8PlxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmV4cGVjdE9uZVBsdWdpbihbXCJqc3hcIiwgXCJmbG93XCIsIFwidHlwZXNjcmlwdFwiXSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIGlmICghcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORyAmJiB0eXBlID09PSB0dC5kZWNpbWFsKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VEZWNpbWFsTGl0ZXJhbCh0aGlzLnN0YXRlLnZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0b2tlbklzSWRlbnRpZmllcih0eXBlKSkge1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9tb2R1bGUpICYmXG4gICAgICAgICAgICB0aGlzLmxvb2thaGVhZEluTGluZUNoYXJDb2RlKCkgPT09IGNoYXJDb2Rlcy5sZWZ0Q3VybHlCcmFjZVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VNb2R1bGVFeHByZXNzaW9uKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IGNhbkJlQXJyb3cgPSB0aGlzLnN0YXRlLnBvdGVudGlhbEFycm93QXQgPT09IHRoaXMuc3RhdGUuc3RhcnQ7XG4gICAgICAgICAgY29uc3QgY29udGFpbnNFc2MgPSB0aGlzLnN0YXRlLmNvbnRhaW5zRXNjO1xuICAgICAgICAgIGNvbnN0IGlkID0gdGhpcy5wYXJzZUlkZW50aWZpZXIoKTtcblxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFjb250YWluc0VzYyAmJlxuICAgICAgICAgICAgaWQubmFtZSA9PT0gXCJhc3luY1wiICYmXG4gICAgICAgICAgICAhdGhpcy5jYW5JbnNlcnRTZW1pY29sb24oKVxuICAgICAgICAgICkge1xuICAgICAgICAgICAgY29uc3QgeyB0eXBlIH0gPSB0aGlzLnN0YXRlO1xuICAgICAgICAgICAgaWYgKHR5cGUgPT09IHR0Ll9mdW5jdGlvbikge1xuICAgICAgICAgICAgICB0aGlzLnJlc2V0UHJldmlvdXNOb2RlVHJhaWxpbmdDb21tZW50cyhpZCk7XG4gICAgICAgICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUFzeW5jRnVuY3Rpb25FeHByZXNzaW9uKFxuICAgICAgICAgICAgICAgIHRoaXMuc3RhcnROb2RlQXROb2RlKGlkKSxcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodG9rZW5Jc0lkZW50aWZpZXIodHlwZSkpIHtcbiAgICAgICAgICAgICAgLy8gSWYgdGhlIG5leHQgdG9rZW4gYmVnaW5zIHdpdGggXCI9XCIsIGNvbW1pdCB0byBwYXJzaW5nIGFuIGFzeW5jXG4gICAgICAgICAgICAgIC8vIGFycm93IGZ1bmN0aW9uLiAoUGVla2luZyBhaGVhZCBmb3IgXCI9XCIgbGV0cyB1cyBhdm9pZCBhIG1vcmVcbiAgICAgICAgICAgICAgLy8gZXhwZW5zaXZlIGZ1bGwtdG9rZW4gbG9va2FoZWFkIG9uIHRoaXMgY29tbW9uIHBhdGguKVxuICAgICAgICAgICAgICBpZiAodGhpcy5sb29rYWhlYWRDaGFyQ29kZSgpID09PSBjaGFyQ29kZXMuZXF1YWxzVG8pIHtcbiAgICAgICAgICAgICAgICAvLyBhbHRob3VnaCBgaWRgIGlzIG5vdCB1c2VkIGluIGFzeW5jIGFycm93IHVuYXJ5IGZ1bmN0aW9uLFxuICAgICAgICAgICAgICAgIC8vIHdlIGRvbid0IG5lZWQgdG8gcmVzZXQgYGFzeW5jYCdzIHRyYWlsaW5nIGNvbW1lbnRzIGJlY2F1c2VcbiAgICAgICAgICAgICAgICAvLyBpdCB3aWxsIGJlIGF0dGFjaGVkIHRvIHRoZSB1cGNvbWluZyBhc3luYyBhcnJvdyBiaW5kaW5nIGlkZW50aWZpZXJcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUFzeW5jQXJyb3dVbmFyeUZ1bmN0aW9uKFxuICAgICAgICAgICAgICAgICAgdGhpcy5zdGFydE5vZGVBdE5vZGUoaWQpLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCB0cmVhdCBcImFzeW5jXCIgYXMgYW4gaWRlbnRpZmllciBhbmQgbGV0IGNhbGxpbmcgY29kZVxuICAgICAgICAgICAgICAgIC8vIGRlYWwgd2l0aCB0aGUgY3VycmVudCB0dC5uYW1lIHRva2VuLlxuICAgICAgICAgICAgICAgIHJldHVybiBpZDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlID09PSB0dC5fZG8pIHtcbiAgICAgICAgICAgICAgdGhpcy5yZXNldFByZXZpb3VzTm9kZVRyYWlsaW5nQ29tbWVudHMoaWQpO1xuICAgICAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZURvKHRoaXMuc3RhcnROb2RlQXROb2RlKGlkKSwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgY2FuQmVBcnJvdyAmJlxuICAgICAgICAgICAgdGhpcy5tYXRjaCh0dC5hcnJvdykgJiZcbiAgICAgICAgICAgICF0aGlzLmNhbkluc2VydFNlbWljb2xvbigpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLm5leHQoKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBhcnNlQXJyb3dFeHByZXNzaW9uKFxuICAgICAgICAgICAgICB0aGlzLnN0YXJ0Tm9kZUF0Tm9kZShpZCksXG4gICAgICAgICAgICAgIFtpZF0sXG4gICAgICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gaWQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBUaGlzIGhlbHBlciBtZXRob2Qgc2hvdWxkIG9ubHkgYmUgY2FsbGVkXG4gIC8vIHdoZW4gdGhlIHBhcnNlciBoYXMgcmVhY2hlZCBhIHBvdGVudGlhbCBIYWNrIHBpcGUgdG9waWMgdG9rZW5cbiAgLy8gdGhhdCBpcyBmb2xsb3dlZCBieSBhbiBlcXVhbHMgc2lnbi5cbiAgLy8gU2VlIDxodHRwczovL2dpdGh1Yi5jb20vanMtY2hvaS9wcm9wb3NhbC1oYWNrLXBpcGVzPi5cbiAgLy8gSWYgd2UgZmluZCBePSBvciAlPSBpbiBhbiBleHByZXNzaW9uIHBvc2l0aW9uXG4gIC8vIChpLmUuLCB0aGUgdHQubW9kdWxvQXNzaWduIG9yIHR0LnhvckFzc2lnbiB0b2tlbiB0eXBlcyksIGFuZCBpZiB0aGVcbiAgLy8gSGFjay1waXBlcyBwcm9wb3NhbCBpcyBhY3RpdmUgd2l0aCBeIG9yICUgYXMgaXRzIHRvcGljVG9rZW4sIHRoZW4gdGhlIF4gb3JcbiAgLy8gJSBjb3VsZCBiZSB0aGUgdG9waWMgdG9rZW4gKGUuZy4sIGluIHggfD4gXj09eSBvciB4IHw+IF49PT15KSwgYW5kIHNvIHdlXG4gIC8vIHJlcGFyc2UgdGhlIGN1cnJlbnQgdG9rZW4gYXMgXiBvciAlLlxuICAvLyBPdGhlcndpc2UsIHRoaXMgdGhyb3dzIGFuIHVuZXhwZWN0ZWQtdG9rZW4gZXJyb3IuXG4gIHBhcnNlVG9waWNSZWZlcmVuY2VUaGVuRXF1YWxzU2lnbihcbiAgICB0b3BpY1Rva2VuVHlwZTogVG9rZW5UeXBlLFxuICAgIHRvcGljVG9rZW5WYWx1ZTogc3RyaW5nLFxuICApOiBOLkV4cHJlc3Npb24ge1xuICAgIGNvbnN0IHBpcGVQcm9wb3NhbCA9IHRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwicGlwZWxpbmVPcGVyYXRvclwiLCBcInByb3Bvc2FsXCIpO1xuXG4gICAgaWYgKHBpcGVQcm9wb3NhbCkge1xuICAgICAgLy8gU2V0IHRoZSBtb3N0LXJlY2VudCB0b2tlbiB0byBiZSBhIHRvcGljIHRva2VuXG4gICAgICAvLyBnaXZlbiBieSB0aGUgdG9rZW5UeXBlIGFuZCB0b2tlblZhbHVlLlxuICAgICAgLy8gTm93IHRoZSBuZXh0IHJlYWRUb2tlbigpIGNhbGwgKGluIHBhcnNlVG9waWNSZWZlcmVuY2UpXG4gICAgICAvLyB3aWxsIGNvbnN1bWUgdGhhdCDigJx0b3BpYyB0b2tlbuKAnS5cbiAgICAgIHRoaXMuc3RhdGUudHlwZSA9IHRvcGljVG9rZW5UeXBlO1xuICAgICAgdGhpcy5zdGF0ZS52YWx1ZSA9IHRvcGljVG9rZW5WYWx1ZTtcbiAgICAgIC8vIFJld2luZCB0aGUgdG9rZW5pemVyIHRvIHRoZSBlbmQgb2YgdGhlIOKAnHRvcGljIHRva2Vu4oCdLCBzbyB0aGF0IHRoZVxuICAgICAgLy8gZm9sbG93aW5nIHRva2VuIHN0YXJ0cyBhdCB0aGUgZXF1YWxzIHNpZ24gYWZ0ZXIgdGhhdCB0b3BpYyB0b2tlbi5cbiAgICAgIHRoaXMuc3RhdGUucG9zLS07XG4gICAgICB0aGlzLnN0YXRlLmVuZC0tO1xuICAgICAgLy8gVGhpcyBpcyBzYWZlIHRvIGRvIHNpbmNlIHRoZSBwcmVjZWRpbmcgY2hhcmFjdGVyIHdhcyBlaXRoZXIgXiBvciAlLCBhbmRcbiAgICAgIC8vIHRodXMgbm90IGEgbmV3bGluZS5cbiAgICAgIHRoaXMuc3RhdGUuZW5kTG9jID0gY3JlYXRlUG9zaXRpb25XaXRoQ29sdW1uT2Zmc2V0KHRoaXMuc3RhdGUuZW5kTG9jLCAtMSk7XG4gICAgICAvLyBOb3cgYWN0dWFsbHkgY29uc3VtZSB0aGUgdG9waWMgdG9rZW4uXG4gICAgICByZXR1cm4gdGhpcy5wYXJzZVRvcGljUmVmZXJlbmNlKHBpcGVQcm9wb3NhbCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudW5leHBlY3RlZCgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgaGVscGVyIG1ldGhvZCBzaG91bGQgb25seSBiZSBjYWxsZWRcbiAgLy8gd2hlbiB0aGUgcHJvcG9zYWwtcGlwZWxpbmUtb3BlcmF0b3IgcGx1Z2luIGlzIGFjdGl2ZSxcbiAgLy8gYW5kIHdoZW4gdGhlIHBhcnNlciBoYXMgcmVhY2hlZCBhIHBvdGVudGlhbCBIYWNrIHBpcGUgdG9waWMgdG9rZW4uXG4gIC8vIEFsdGhvdWdoIGEgcGlwZS1vcGVyYXRvciBwcm9wb3NhbCBpcyBhc3N1bWVkIHRvIGJlIGFjdGl2ZSxcbiAgLy8gaXRzIGNvbmZpZ3VyYXRpb24gbWlnaHQgbm90IG1hdGNoIHRoZSBjdXJyZW50IHRva2Vu4oCZcyB0eXBlLlxuICAvLyBTZWUgPGh0dHBzOi8vZ2l0aHViLmNvbS9qcy1jaG9pL3Byb3Bvc2FsLWhhY2stcGlwZXM+LlxuICBwYXJzZVRvcGljUmVmZXJlbmNlKHBpcGVQcm9wb3NhbDogc3RyaW5nKTogTi5FeHByZXNzaW9uIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5Ub3BpY1JlZmVyZW5jZT4oKTtcbiAgICBjb25zdCBzdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgY29uc3QgdG9rZW5UeXBlID0gdGhpcy5zdGF0ZS50eXBlO1xuXG4gICAgLy8gQ29uc3VtZSB0aGUgY3VycmVudCB0b2tlbi5cbiAgICB0aGlzLm5leHQoKTtcblxuICAgIC8vIElmIHRoZSBwaXBlLW9wZXJhdG9yIHBsdWdpbuKAmXMgY29uZmlndXJhdGlvbiBtYXRjaGVzIHRoZSBjdXJyZW50IHRva2Vu4oCZcyB0eXBlLFxuICAgIC8vIHRoZW4gdGhpcyB3aWxsIHJldHVybiBgbm9kZWAsIHdpbGwgaGF2ZSBiZWVuIGZpbmlzaGVkIGFzIGEgdG9waWMgcmVmZXJlbmNlLlxuICAgIC8vIE90aGVyd2lzZSwgdGhpcyB3aWxsIHRocm93IGEgYFBpcGVUb3BpY1VuY29uZmlndXJlZFRva2VuYCBlcnJvci5cbiAgICByZXR1cm4gdGhpcy5maW5pc2hUb3BpY1JlZmVyZW5jZShub2RlLCBzdGFydExvYywgcGlwZVByb3Bvc2FsLCB0b2tlblR5cGUpO1xuICB9XG5cbiAgLy8gVGhpcyBoZWxwZXIgbWV0aG9kIGF0dGVtcHRzIHRvIGZpbmlzaCB0aGUgZ2l2ZW4gYG5vZGVgXG4gIC8vIGludG8gYSB0b3BpYy1yZWZlcmVuY2Ugbm9kZSBmb3IgdGhlIGdpdmVuIGBwaXBlUHJvcG9zYWxgLlxuICAvLyBTZWUgPGh0dHBzOi8vZ2l0aHViLmNvbS9qcy1jaG9pL3Byb3Bvc2FsLWhhY2stcGlwZXM+LlxuICAvL1xuICAvLyBUaGUgbWV0aG9kIGFzc3VtZXMgdGhhdCBhbnkgdG9waWMgdG9rZW4gd2FzIGNvbnN1bWVkIGJlZm9yZSBpdCB3YXMgY2FsbGVkLlxuICAvL1xuICAvLyBJZiB0aGUgYHBpcGVsaW5lT3BlcmF0b3JgIHBsdWdpbiBpcyBhY3RpdmUsXG4gIC8vIGFuZCBpZiB0aGUgZ2l2ZW4gYHRva2VuVHlwZWAgbWF0Y2hlcyB0aGUgcGx1Z2lu4oCZcyBjb25maWd1cmF0aW9uLFxuICAvLyB0aGVuIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIHRoZSBmaW5pc2hlZCBgbm9kZWAuXG4gIC8vXG4gIC8vIElmIHRoZSBgcGlwZWxpbmVPcGVyYXRvcmAgcGx1Z2luIGlzIGFjdGl2ZSxcbiAgLy8gYnV0IGlmIHRoZSBnaXZlbiBgdG9rZW5UeXBlYCBkb2VzIG5vdCBtYXRjaCB0aGUgcGx1Z2lu4oCZcyBjb25maWd1cmF0aW9uLFxuICAvLyB0aGVuIHRoaXMgbWV0aG9kIHdpbGwgdGhyb3cgYSBgUGlwZVRvcGljVW5jb25maWd1cmVkVG9rZW5gIGVycm9yLlxuICBmaW5pc2hUb3BpY1JlZmVyZW5jZTxcbiAgICBUIGV4dGVuZHMgTi5QaXBlbGluZVByaW1hcnlUb3BpY1JlZmVyZW5jZSB8IE4uVG9waWNSZWZlcmVuY2UsXG4gID4oXG4gICAgbm9kZTogVW5kb25lPFQ+LFxuICAgIHN0YXJ0TG9jOiBQb3NpdGlvbixcbiAgICBwaXBlUHJvcG9zYWw6IHN0cmluZyxcbiAgICB0b2tlblR5cGU6IFRva2VuVHlwZSxcbiAgKTogVCB7XG4gICAgaWYgKFxuICAgICAgdGhpcy50ZXN0VG9waWNSZWZlcmVuY2VDb25maWd1cmF0aW9uKHBpcGVQcm9wb3NhbCwgc3RhcnRMb2MsIHRva2VuVHlwZSlcbiAgICApIHtcbiAgICAgIC8vIFRoZSB0b2tlbiBtYXRjaGVzIHRoZSBwbHVnaW7igJlzIGNvbmZpZ3VyYXRpb24uXG4gICAgICAvLyBUaGUgdG9rZW4gaXMgdGhlcmVmb3JlIGEgdG9waWMgcmVmZXJlbmNlLlxuXG4gICAgICAvLyBEZXRlcm1pbmUgdGhlIG5vZGUgdHlwZSBmb3IgdGhlIHRvcGljIHJlZmVyZW5jZVxuICAgICAgLy8gdGhhdCBpcyBhcHByb3ByaWF0ZSBmb3IgdGhlIGFjdGl2ZSBwaXBlLW9wZXJhdG9yIHByb3Bvc2FsLlxuICAgICAgY29uc3Qgbm9kZVR5cGUgPVxuICAgICAgICBwaXBlUHJvcG9zYWwgPT09IFwic21hcnRcIlxuICAgICAgICAgID8gXCJQaXBlbGluZVByaW1hcnlUb3BpY1JlZmVyZW5jZVwiXG4gICAgICAgICAgOiAvLyBUaGUgcHJvcG9zYWwgbXVzdCBvdGhlcndpc2UgYmUgXCJoYWNrXCIsXG4gICAgICAgICAgICAvLyBhcyBlbmZvcmNlZCBieSB0ZXN0VG9waWNSZWZlcmVuY2VDb25maWd1cmF0aW9uLlxuICAgICAgICAgICAgXCJUb3BpY1JlZmVyZW5jZVwiO1xuXG4gICAgICBpZiAoIXRoaXMudG9waWNSZWZlcmVuY2VJc0FsbG93ZWRJbkN1cnJlbnRDb250ZXh0KCkpIHtcbiAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICAvLyBUaGUgdG9waWMgcmVmZXJlbmNlIGlzIG5vdCBhbGxvd2VkIGluIHRoZSBjdXJyZW50IGNvbnRleHQ6XG4gICAgICAgICAgLy8gaXQgaXMgb3V0c2lkZSBvZiBhIHBpcGUgYm9keS5cbiAgICAgICAgICAvLyBSYWlzZSByZWNvdmVyYWJsZSBlcnJvcnMuXG4gICAgICAgICAgcGlwZVByb3Bvc2FsID09PSBcInNtYXJ0XCJcbiAgICAgICAgICAgID8gRXJyb3JzLlByaW1hcnlUb3BpY05vdEFsbG93ZWRcbiAgICAgICAgICAgIDogLy8gSW4gdGhpcyBjYXNlLCBgcGlwZVByb3Bvc2FsID09PSBcImhhY2tcImAgaXMgdHJ1ZS5cbiAgICAgICAgICAgICAgRXJyb3JzLlBpcGVUb3BpY1VuYm91bmQsXG4gICAgICAgICAgc3RhcnRMb2MsXG4gICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIC8vIFJlZ2lzdGVyIHRoZSB0b3BpYyByZWZlcmVuY2Ugc28gdGhhdCBpdHMgcGlwZSBib2R5IGtub3dzXG4gICAgICAvLyB0aGF0IGl0cyB0b3BpYyB3YXMgdXNlZCBhdCBsZWFzdCBvbmNlLlxuICAgICAgdGhpcy5yZWdpc3RlclRvcGljUmVmZXJlbmNlKCk7XG5cbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgbm9kZVR5cGUpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgdG9rZW4gZG9lcyBub3QgbWF0Y2ggdGhlIHBsdWdpbuKAmXMgY29uZmlndXJhdGlvbi5cbiAgICAgIHRocm93IHRoaXMucmFpc2UoRXJyb3JzLlBpcGVUb3BpY1VuY29uZmlndXJlZFRva2VuLCBzdGFydExvYywge1xuICAgICAgICB0b2tlbjogdG9rZW5MYWJlbE5hbWUodG9rZW5UeXBlKSxcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgaGVscGVyIG1ldGhvZCB0ZXN0cyB3aGV0aGVyIHRoZSBnaXZlbiB0b2tlbiB0eXBlXG4gIC8vIG1hdGNoZXMgdGhlIHBpcGVsaW5lT3BlcmF0b3IgcGFyc2VyIHBsdWdpbuKAmXMgY29uZmlndXJhdGlvbi5cbiAgLy8gSWYgdGhlIGFjdGl2ZSBwaXBlIHByb3Bvc2FsIGlzIEhhY2sgc3R5bGUsXG4gIC8vIGFuZCBpZiB0aGUgZ2l2ZW4gdG9rZW4gaXMgdGhlIHNhbWUgYXMgdGhlIHBsdWdpbiBjb25maWd1cmF0aW9u4oCZcyBgdG9waWNUb2tlbmAsXG4gIC8vIHRoZW4gdGhpcyBpcyBhIHZhbGlkIHRvcGljIHJlZmVyZW5jZS5cbiAgLy8gSWYgdGhlIGFjdGl2ZSBwaXBlIHByb3Bvc2FsIGlzIHNtYXJ0IG1peCxcbiAgLy8gdGhlbiB0aGUgdG9waWMgdG9rZW4gbXVzdCBhbHdheXMgYmUgYCNgLlxuICAvLyBJZiB0aGUgYWN0aXZlIHBpcGUgcHJvcG9zYWwgaXMgbmVpdGhlciAoZS5nLiwgXCJtaW5pbWFsXCIgb3IgXCJmc2hhcnBcIiksXG4gIC8vIHRoZW4gYW4gZXJyb3IgaXMgdGhyb3duLlxuICB0ZXN0VG9waWNSZWZlcmVuY2VDb25maWd1cmF0aW9uKFxuICAgIHBpcGVQcm9wb3NhbDogc3RyaW5nLFxuICAgIHN0YXJ0TG9jOiBQb3NpdGlvbixcbiAgICB0b2tlblR5cGU6IFRva2VuVHlwZSxcbiAgKTogYm9vbGVhbiB7XG4gICAgc3dpdGNoIChwaXBlUHJvcG9zYWwpIHtcbiAgICAgIGNhc2UgXCJoYWNrXCI6IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzUGx1Z2luKFtcbiAgICAgICAgICBcInBpcGVsaW5lT3BlcmF0b3JcIixcbiAgICAgICAgICB7XG4gICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHRva2VuIG11c3QgaGF2ZSBhIGxhYmVsXG4gICAgICAgICAgICB0b3BpY1Rva2VuOiB0b2tlbkxhYmVsTmFtZSh0b2tlblR5cGUpLFxuICAgICAgICAgIH0sXG4gICAgICAgIF0pO1xuICAgICAgfVxuICAgICAgY2FzZSBcInNtYXJ0XCI6XG4gICAgICAgIHJldHVybiB0b2tlblR5cGUgPT09IHR0Lmhhc2g7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyB0aGlzLnJhaXNlKEVycm9ycy5QaXBlVG9waWNSZXF1aXJlc0hhY2tQaXBlcywgc3RhcnRMb2MpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGFzeW5jIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBBc3luY0Fycm93QmluZGluZ0lkZW50aWZpZXJbP1lpZWxkXSBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gPT4gQXN5bmNDb25jaXNlQm9keVs/SW5dXG4gIHBhcnNlQXN5bmNBcnJvd1VuYXJ5RnVuY3Rpb24oXG4gICAgdGhpczogUGFyc2VyLFxuICAgIG5vZGU6IFVuZG9uZTxOLkFycm93RnVuY3Rpb25FeHByZXNzaW9uPixcbiAgKTogTi5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiB7XG4gICAgLy8gV2UgZG9uJ3QgbmVlZCB0byBwdXNoIGEgbmV3IFBhcmFtZXRlckRlY2xhcmF0aW9uU2NvcGUgaGVyZSBzaW5jZSB3ZSBhcmUgc3VyZVxuICAgIC8vIDEpIGl0IGlzIGFuIGFzeW5jIGFycm93LCAyKSBubyBiaWRpbmcgcGF0dGVybiBpcyBhbGxvd2VkIGluIHBhcmFtc1xuICAgIHRoaXMucHJvZFBhcmFtLmVudGVyKGZ1bmN0aW9uRmxhZ3ModHJ1ZSwgdGhpcy5wcm9kUGFyYW0uaGFzWWllbGQpKTtcbiAgICBjb25zdCBwYXJhbXMgPSBbdGhpcy5wYXJzZUlkZW50aWZpZXIoKV07XG4gICAgdGhpcy5wcm9kUGFyYW0uZXhpdCgpO1xuICAgIGlmICh0aGlzLmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpKSB7XG4gICAgICB0aGlzLnJhaXNlKEVycm9ycy5MaW5lVGVybWluYXRvckJlZm9yZUFycm93LCB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCkpO1xuICAgIH1cbiAgICB0aGlzLmV4cGVjdCh0dC5hcnJvdyk7XG4gICAgLy8gbGV0IGZvbyA9IGFzeW5jIGJhciA9PiB7fTtcbiAgICByZXR1cm4gdGhpcy5wYXJzZUFycm93RXhwcmVzc2lvbihub2RlLCBwYXJhbXMsIHRydWUpO1xuICB9XG5cbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtZG8tZXhwcmVzc2lvbnNcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3RjMzkvcHJvcG9zYWwtYXN5bmMtZG8tZXhwcmVzc2lvbnNcbiAgcGFyc2VEbyhcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgbm9kZTogVW5kb25lPE4uRG9FeHByZXNzaW9uPixcbiAgICBpc0FzeW5jOiBib29sZWFuLFxuICApOiBOLkRvRXhwcmVzc2lvbiB7XG4gICAgdGhpcy5leHBlY3RQbHVnaW4oXCJkb0V4cHJlc3Npb25zXCIpO1xuICAgIGlmIChpc0FzeW5jKSB7XG4gICAgICB0aGlzLmV4cGVjdFBsdWdpbihcImFzeW5jRG9FeHByZXNzaW9uc1wiKTtcbiAgICB9XG4gICAgbm9kZS5hc3luYyA9IGlzQXN5bmM7XG4gICAgdGhpcy5uZXh0KCk7IC8vIGVhdCBgZG9gXG4gICAgY29uc3Qgb2xkTGFiZWxzID0gdGhpcy5zdGF0ZS5sYWJlbHM7XG4gICAgdGhpcy5zdGF0ZS5sYWJlbHMgPSBbXTtcbiAgICBpZiAoaXNBc3luYykge1xuICAgICAgLy8gQXN5bmNEb0V4cHJlc3Npb24gOlxuICAgICAgLy8gYXN5bmMgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIGRvIEJsb2NrW35ZaWVsZCwgK0F3YWl0LCB+UmV0dXJuXVxuICAgICAgdGhpcy5wcm9kUGFyYW0uZW50ZXIoUGFyYW1LaW5kLlBBUkFNX0FXQUlUKTtcbiAgICAgIG5vZGUuYm9keSA9IHRoaXMucGFyc2VCbG9jaygpO1xuICAgICAgdGhpcy5wcm9kUGFyYW0uZXhpdCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLmJvZHkgPSB0aGlzLnBhcnNlQmxvY2soKTtcbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlLmxhYmVscyA9IG9sZExhYmVscztcbiAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiRG9FeHByZXNzaW9uXCIpO1xuICB9XG5cbiAgLy8gUGFyc2UgdGhlIGBzdXBlcmAga2V5d29yZFxuICBwYXJzZVN1cGVyKCk6IE4uU3VwZXIge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLlN1cGVyPigpO1xuICAgIHRoaXMubmV4dCgpOyAvLyBlYXQgYHN1cGVyYFxuICAgIGlmIChcbiAgICAgIHRoaXMubWF0Y2godHQucGFyZW5MKSAmJlxuICAgICAgIXRoaXMuc2NvcGUuYWxsb3dEaXJlY3RTdXBlciAmJlxuICAgICAgIXRoaXMub3B0aW9ucy5hbGxvd1N1cGVyT3V0c2lkZU1ldGhvZFxuICAgICkge1xuICAgICAgdGhpcy5yYWlzZShFcnJvcnMuU3VwZXJOb3RBbGxvd2VkLCBub2RlKTtcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgIXRoaXMuc2NvcGUuYWxsb3dTdXBlciAmJlxuICAgICAgIXRoaXMub3B0aW9ucy5hbGxvd1N1cGVyT3V0c2lkZU1ldGhvZFxuICAgICkge1xuICAgICAgdGhpcy5yYWlzZShFcnJvcnMuVW5leHBlY3RlZFN1cGVyLCBub2RlKTtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAhdGhpcy5tYXRjaCh0dC5wYXJlbkwpICYmXG4gICAgICAhdGhpcy5tYXRjaCh0dC5icmFja2V0TCkgJiZcbiAgICAgICF0aGlzLm1hdGNoKHR0LmRvdClcbiAgICApIHtcbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLlVuc3VwcG9ydGVkU3VwZXIsIG5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJTdXBlclwiKTtcbiAgfVxuXG4gIHBhcnNlUHJpdmF0ZU5hbWUoKTogTi5Qcml2YXRlTmFtZSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uUHJpdmF0ZU5hbWU+KCk7XG4gICAgY29uc3QgaWQgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uSWRlbnRpZmllcj4oXG4gICAgICAvLyBUaGUgcG9zaXRpb24gaXMgaGFyZGNvZGVkIGJlY2F1c2Ugd2UgbWVyZ2UgYCNgIGFuZCBuYW1lIGludG8gYSBzaW5nbGVcbiAgICAgIC8vIHR0LnByaXZhdGVOYW1lIHRva2VuXG4gICAgICBjcmVhdGVQb3NpdGlvbldpdGhDb2x1bW5PZmZzZXQodGhpcy5zdGF0ZS5zdGFydExvYywgMSksXG4gICAgKTtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5zdGF0ZS52YWx1ZTtcbiAgICB0aGlzLm5leHQoKTsgLy8gZWF0ICNuYW1lO1xuICAgIG5vZGUuaWQgPSB0aGlzLmNyZWF0ZUlkZW50aWZpZXIoaWQsIG5hbWUpO1xuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJQcml2YXRlTmFtZVwiKTtcbiAgfVxuXG4gIHBhcnNlRnVuY3Rpb25PckZ1bmN0aW9uU2VudChcbiAgICB0aGlzOiBQYXJzZXIsXG4gICk6IE4uRnVuY3Rpb25FeHByZXNzaW9uIHwgTi5NZXRhUHJvcGVydHkge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLkZ1bmN0aW9uRXhwcmVzc2lvbiB8IE4uTWV0YVByb3BlcnR5PigpO1xuXG4gICAgLy8gV2UgZG8gbm90IGRvIHBhcnNlSWRlbnRpZmllciBoZXJlIGJlY2F1c2Ugd2hlbiBwYXJzZUZ1bmN0aW9uT3JGdW5jdGlvblNlbnRcbiAgICAvLyBpcyBjYWxsZWQgd2UgYWxyZWFkeSBrbm93IHRoYXQgdGhlIGN1cnJlbnQgdG9rZW4gaXMgYSBcIm5hbWVcIiB3aXRoIHRoZSB2YWx1ZSBcImZ1bmN0aW9uXCJcbiAgICAvLyBUaGlzIHdpbGwgaW1wcm92ZSBwZXJmIGEgdGlueSBsaXR0bGUgYml0IGFzIHdlIGRvIG5vdCBkbyB2YWxpZGF0aW9uIGJ1dCBtb3JlIGltcG9ydGFudGx5XG4gICAgLy8gaGVyZSBpcyB0aGF0IHBhcnNlSWRlbnRpZmllciB3aWxsIHJlbW92ZSBhbiBpdGVtIGZyb20gdGhlIGV4cHJlc3Npb24gc3RhY2tcbiAgICAvLyBpZiBcImZ1bmN0aW9uXCIgb3IgXCJjbGFzc1wiIGlzIHBhcnNlZCBhcyBpZGVudGlmaWVyIChpbiBvYmplY3RzIGUuZy4pLCB3aGljaCBzaG91bGQgbm90IGhhcHBlbiBoZXJlLlxuICAgIHRoaXMubmV4dCgpOyAvLyBlYXQgYGZ1bmN0aW9uYFxuXG4gICAgaWYgKHRoaXMucHJvZFBhcmFtLmhhc1lpZWxkICYmIHRoaXMubWF0Y2godHQuZG90KSkge1xuICAgICAgY29uc3QgbWV0YSA9IHRoaXMuY3JlYXRlSWRlbnRpZmllcihcbiAgICAgICAgdGhpcy5zdGFydE5vZGVBdE5vZGU8Ti5JZGVudGlmaWVyPihub2RlKSxcbiAgICAgICAgXCJmdW5jdGlvblwiLFxuICAgICAgKTtcbiAgICAgIHRoaXMubmV4dCgpOyAvLyBlYXQgYC5gXG4gICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9wcm9wb3NhbC1mdW5jdGlvbi5zZW50I3N5bnRheC0xXG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5fc2VudCkpIHtcbiAgICAgICAgdGhpcy5leHBlY3RQbHVnaW4oXCJmdW5jdGlvblNlbnRcIik7XG4gICAgICB9IGVsc2UgaWYgKCF0aGlzLmhhc1BsdWdpbihcImZ1bmN0aW9uU2VudFwiKSkge1xuICAgICAgICAvLyBUaGUgY29kZSB3YXNuJ3QgYGZ1bmN0aW9uLnNlbnRgIGJ1dCBqdXN0IGBmdW5jdGlvbi5gLCBzbyBhIHNpbXBsZSBlcnJvciBpcyBsZXNzIGNvbmZ1c2luZy5cbiAgICAgICAgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5wYXJzZU1ldGFQcm9wZXJ0eShcbiAgICAgICAgbm9kZSBhcyBVbmRvbmU8Ti5NZXRhUHJvcGVydHk+LFxuICAgICAgICBtZXRhLFxuICAgICAgICBcInNlbnRcIixcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnBhcnNlRnVuY3Rpb24obm9kZSBhcyBVbmRvbmU8Ti5GdW5jdGlvbkV4cHJlc3Npb24+KTtcbiAgfVxuXG4gIHBhcnNlTWV0YVByb3BlcnR5KFxuICAgIG5vZGU6IFVuZG9uZTxOLk1ldGFQcm9wZXJ0eT4sXG4gICAgbWV0YTogTi5JZGVudGlmaWVyLFxuICAgIHByb3BlcnR5TmFtZTogc3RyaW5nLFxuICApOiBOLk1ldGFQcm9wZXJ0eSB7XG4gICAgbm9kZS5tZXRhID0gbWV0YTtcblxuICAgIGNvbnN0IGNvbnRhaW5zRXNjID0gdGhpcy5zdGF0ZS5jb250YWluc0VzYztcblxuICAgIG5vZGUucHJvcGVydHkgPSB0aGlzLnBhcnNlSWRlbnRpZmllcih0cnVlKTtcblxuICAgIGlmIChub2RlLnByb3BlcnR5Lm5hbWUgIT09IHByb3BlcnR5TmFtZSB8fCBjb250YWluc0VzYykge1xuICAgICAgdGhpcy5yYWlzZShFcnJvcnMuVW5zdXBwb3J0ZWRNZXRhUHJvcGVydHksIG5vZGUucHJvcGVydHksIHtcbiAgICAgICAgdGFyZ2V0OiBtZXRhLm5hbWUsXG4gICAgICAgIG9ubHlWYWxpZFByb3BlcnR5TmFtZTogcHJvcGVydHlOYW1lLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIk1ldGFQcm9wZXJ0eVwiKTtcbiAgfVxuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLUltcG9ydE1ldGFcbiAgcGFyc2VJbXBvcnRNZXRhUHJvcGVydHkoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIG5vZGU6IFVuZG9uZTxOLk1ldGFQcm9wZXJ0eSB8IE4uSW1wb3J0RXhwcmVzc2lvbj4sXG4gICk6IE4uTWV0YVByb3BlcnR5IHwgTi5JbXBvcnRFeHByZXNzaW9uIHtcbiAgICBjb25zdCBpZCA9IHRoaXMuY3JlYXRlSWRlbnRpZmllcihcbiAgICAgIHRoaXMuc3RhcnROb2RlQXROb2RlPE4uSWRlbnRpZmllcj4obm9kZSksXG4gICAgICBcImltcG9ydFwiLFxuICAgICk7XG4gICAgdGhpcy5uZXh0KCk7IC8vIGVhdCBgLmBcblxuICAgIGlmICh0aGlzLmlzQ29udGV4dHVhbCh0dC5fbWV0YSkpIHtcbiAgICAgIGlmICghdGhpcy5pbk1vZHVsZSkge1xuICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5JbXBvcnRNZXRhT3V0c2lkZU1vZHVsZSwgaWQpO1xuICAgICAgfVxuICAgICAgdGhpcy5zYXdVbmFtYmlndW91c0VTTSA9IHRydWU7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzQ29udGV4dHVhbCh0dC5fc291cmNlKSB8fCB0aGlzLmlzQ29udGV4dHVhbCh0dC5fZGVmZXIpKSB7XG4gICAgICBjb25zdCBpc1NvdXJjZSA9IHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9zb3VyY2UpO1xuXG4gICAgICAvLyBUT0RPOiBUaGUgcHJvcG9zYWwgZG9lc24ndCBtZW50aW9uIGltcG9ydC5kZWZlciB5ZXQgYmVjYXVzZSBpdCB3YXNcbiAgICAgIC8vIHBlbmRpbmcgb24gYSBkZWNpc2lvbiBmb3IgaW1wb3J0LnNvdXJjZS4gV2FpdCB0byBlbmFibGUgaXQgdW50aWwgaXQnc1xuICAgICAgLy8gaW5jbHVkZWQgaW4gdGhlIHByb3Bvc2FsLlxuICAgICAgaWYgKCFpc1NvdXJjZSkgdGhpcy51bmV4cGVjdGVkKCk7XG5cbiAgICAgIHRoaXMuZXhwZWN0UGx1Z2luKFxuICAgICAgICBpc1NvdXJjZSA/IFwic291cmNlUGhhc2VJbXBvcnRzXCIgOiBcImRlZmVycmVkSW1wb3J0RXZhbHVhdGlvblwiLFxuICAgICAgKTtcbiAgICAgIGlmICghdGhpcy5vcHRpb25zLmNyZWF0ZUltcG9ydEV4cHJlc3Npb25zKSB7XG4gICAgICAgIHRocm93IHRoaXMucmFpc2UoXG4gICAgICAgICAgRXJyb3JzLkR5bmFtaWNJbXBvcnRQaGFzZVJlcXVpcmVzSW1wb3J0RXhwcmVzc2lvbnMsXG4gICAgICAgICAgdGhpcy5zdGF0ZS5zdGFydExvYyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwaGFzZTogdGhpcy5zdGF0ZS52YWx1ZSxcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAobm9kZSBhcyBVbmRvbmU8Ti5JbXBvcnRFeHByZXNzaW9uPikucGhhc2UgPSBpc1NvdXJjZVxuICAgICAgICA/IFwic291cmNlXCJcbiAgICAgICAgOiBcImRlZmVyXCI7XG4gICAgICByZXR1cm4gdGhpcy5wYXJzZUltcG9ydENhbGwobm9kZSBhcyBVbmRvbmU8Ti5JbXBvcnRFeHByZXNzaW9uPik7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucGFyc2VNZXRhUHJvcGVydHkobm9kZSBhcyBVbmRvbmU8Ti5NZXRhUHJvcGVydHk+LCBpZCwgXCJtZXRhXCIpO1xuICB9XG5cbiAgcGFyc2VMaXRlcmFsQXROb2RlPFQgZXh0ZW5kcyBOLk5vZGU+KFxuICAgIHZhbHVlOiBhbnksXG4gICAgdHlwZTogVFtcInR5cGVcIl0sXG4gICAgbm9kZTogYW55LFxuICApOiBUIHtcbiAgICB0aGlzLmFkZEV4dHJhKG5vZGUsIFwicmF3VmFsdWVcIiwgdmFsdWUpO1xuICAgIHRoaXMuYWRkRXh0cmEoXG4gICAgICBub2RlLFxuICAgICAgXCJyYXdcIixcbiAgICAgIHRoaXMuaW5wdXQuc2xpY2UodGhpcy5vZmZzZXRUb1NvdXJjZVBvcyhub2RlLnN0YXJ0KSwgdGhpcy5zdGF0ZS5lbmQpLFxuICAgICk7XG4gICAgbm9kZS52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMubmV4dCgpO1xuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGU8VD4obm9kZSwgdHlwZSk7XG4gIH1cblxuICBwYXJzZUxpdGVyYWw8VCBleHRlbmRzIE4uTm9kZT4odmFsdWU6IGFueSwgdHlwZTogVFtcInR5cGVcIl0pOiBUIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGUoKTtcbiAgICByZXR1cm4gdGhpcy5wYXJzZUxpdGVyYWxBdE5vZGUodmFsdWUsIHR5cGUsIG5vZGUpO1xuICB9XG5cbiAgcGFyc2VTdHJpbmdMaXRlcmFsKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZUxpdGVyYWw8Ti5TdHJpbmdMaXRlcmFsPih2YWx1ZSwgXCJTdHJpbmdMaXRlcmFsXCIpO1xuICB9XG5cbiAgcGFyc2VOdW1lcmljTGl0ZXJhbCh2YWx1ZTogYW55KSB7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VMaXRlcmFsPE4uTnVtZXJpY0xpdGVyYWw+KHZhbHVlLCBcIk51bWVyaWNMaXRlcmFsXCIpO1xuICB9XG5cbiAgcGFyc2VCaWdJbnRMaXRlcmFsKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZUxpdGVyYWw8Ti5CaWdJbnRMaXRlcmFsPih2YWx1ZSwgXCJCaWdJbnRMaXRlcmFsXCIpO1xuICB9XG5cbiAgLy8gVE9ETzogUmVtb3ZlIHRoaXMgaW4gQmFiZWwgOFxuICBwYXJzZURlY2ltYWxMaXRlcmFsKHZhbHVlOiBhbnkpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZUxpdGVyYWw8Ti5EZWNpbWFsTGl0ZXJhbD4odmFsdWUsIFwiRGVjaW1hbExpdGVyYWxcIik7XG4gIH1cblxuICBwYXJzZVJlZ0V4cExpdGVyYWwodmFsdWU6IHtcbiAgICB2YWx1ZTogYW55O1xuICAgIHBhdHRlcm46IHN0cmluZztcbiAgICBmbGFnczogTi5SZWdFeHBMaXRlcmFsW1wiZmxhZ3NcIl07XG4gIH0pIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5SZWdFeHBMaXRlcmFsPigpO1xuICAgIHRoaXMuYWRkRXh0cmEoXG4gICAgICBub2RlLFxuICAgICAgXCJyYXdcIixcbiAgICAgIHRoaXMuaW5wdXQuc2xpY2UodGhpcy5vZmZzZXRUb1NvdXJjZVBvcyhub2RlLnN0YXJ0KSwgdGhpcy5zdGF0ZS5lbmQpLFxuICAgICk7XG4gICAgbm9kZS5wYXR0ZXJuID0gdmFsdWUucGF0dGVybjtcbiAgICBub2RlLmZsYWdzID0gdmFsdWUuZmxhZ3M7XG4gICAgdGhpcy5uZXh0KCk7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlJlZ0V4cExpdGVyYWxcIik7XG4gIH1cblxuICBwYXJzZUJvb2xlYW5MaXRlcmFsKHZhbHVlOiBib29sZWFuKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uQm9vbGVhbkxpdGVyYWw+KCk7XG4gICAgbm9kZS52YWx1ZSA9IHZhbHVlO1xuICAgIHRoaXMubmV4dCgpO1xuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJCb29sZWFuTGl0ZXJhbFwiKTtcbiAgfVxuXG4gIHBhcnNlTnVsbExpdGVyYWwoKSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uTnVsbExpdGVyYWw+KCk7XG4gICAgdGhpcy5uZXh0KCk7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIk51bGxMaXRlcmFsXCIpO1xuICB9XG5cbiAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtQ292ZXJQYXJlbnRoZXNpemVkRXhwcmVzc2lvbkFuZEFycm93UGFyYW1ldGVyTGlzdFxuICBwYXJzZVBhcmVuQW5kRGlzdGluZ3Vpc2hFeHByZXNzaW9uKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBjYW5CZUFycm93OiBib29sZWFuLFxuICApOiBOLkV4cHJlc3Npb24ge1xuICAgIGNvbnN0IHN0YXJ0TG9jID0gdGhpcy5zdGF0ZS5zdGFydExvYztcblxuICAgIGxldCB2YWw7XG4gICAgdGhpcy5uZXh0KCk7IC8vIGVhdCBgKGBcbiAgICB0aGlzLmV4cHJlc3Npb25TY29wZS5lbnRlcihuZXdBcnJvd0hlYWRTY29wZSgpKTtcblxuICAgIGNvbnN0IG9sZE1heWJlSW5BcnJvd1BhcmFtZXRlcnMgPSB0aGlzLnN0YXRlLm1heWJlSW5BcnJvd1BhcmFtZXRlcnM7XG4gICAgY29uc3Qgb2xkSW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHkgPSB0aGlzLnN0YXRlLmluRlNoYXJwUGlwZWxpbmVEaXJlY3RCb2R5O1xuICAgIHRoaXMuc3RhdGUubWF5YmVJbkFycm93UGFyYW1ldGVycyA9IHRydWU7XG4gICAgdGhpcy5zdGF0ZS5pbkZTaGFycFBpcGVsaW5lRGlyZWN0Qm9keSA9IGZhbHNlO1xuXG4gICAgY29uc3QgaW5uZXJTdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgY29uc3QgZXhwckxpc3Q6IChOLkV4cHJlc3Npb24gfCBOLlJlc3RFbGVtZW50KVtdID0gW107XG4gICAgY29uc3QgcmVmRXhwcmVzc2lvbkVycm9ycyA9IG5ldyBFeHByZXNzaW9uRXJyb3JzKCk7XG4gICAgbGV0IGZpcnN0ID0gdHJ1ZTtcbiAgICBsZXQgc3ByZWFkU3RhcnRMb2M7XG4gICAgbGV0IG9wdGlvbmFsQ29tbWFTdGFydExvYztcblxuICAgIHdoaWxlICghdGhpcy5tYXRjaCh0dC5wYXJlblIpKSB7XG4gICAgICBpZiAoZmlyc3QpIHtcbiAgICAgICAgZmlyc3QgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZXhwZWN0KFxuICAgICAgICAgIHR0LmNvbW1hLFxuICAgICAgICAgIHJlZkV4cHJlc3Npb25FcnJvcnMub3B0aW9uYWxQYXJhbWV0ZXJzTG9jID09PSBudWxsXG4gICAgICAgICAgICA/IG51bGxcbiAgICAgICAgICAgIDogcmVmRXhwcmVzc2lvbkVycm9ycy5vcHRpb25hbFBhcmFtZXRlcnNMb2MsXG4gICAgICAgICk7XG4gICAgICAgIGlmICh0aGlzLm1hdGNoKHR0LnBhcmVuUikpIHtcbiAgICAgICAgICBvcHRpb25hbENvbW1hU3RhcnRMb2MgPSB0aGlzLnN0YXRlLnN0YXJ0TG9jO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmVsbGlwc2lzKSkge1xuICAgICAgICBjb25zdCBzcHJlYWROb2RlU3RhcnRMb2MgPSB0aGlzLnN0YXRlLnN0YXJ0TG9jO1xuICAgICAgICBzcHJlYWRTdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgICAgIGV4cHJMaXN0LnB1c2goXG4gICAgICAgICAgdGhpcy5wYXJzZVBhcmVuSXRlbSh0aGlzLnBhcnNlUmVzdEJpbmRpbmcoKSwgc3ByZWFkTm9kZVN0YXJ0TG9jKSxcbiAgICAgICAgKTtcblxuICAgICAgICBpZiAoIXRoaXMuY2hlY2tDb21tYUFmdGVyUmVzdChjaGFyQ29kZXMucmlnaHRQYXJlbnRoZXNpcykpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXhwckxpc3QucHVzaChcbiAgICAgICAgICB0aGlzLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKFxuICAgICAgICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycyxcbiAgICAgICAgICAgIHRoaXMucGFyc2VQYXJlbkl0ZW0sXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBpbm5lckVuZExvYyA9IHRoaXMuc3RhdGUubGFzdFRva0VuZExvYztcbiAgICB0aGlzLmV4cGVjdCh0dC5wYXJlblIpO1xuXG4gICAgdGhpcy5zdGF0ZS5tYXliZUluQXJyb3dQYXJhbWV0ZXJzID0gb2xkTWF5YmVJbkFycm93UGFyYW1ldGVycztcbiAgICB0aGlzLnN0YXRlLmluRlNoYXJwUGlwZWxpbmVEaXJlY3RCb2R5ID0gb2xkSW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHk7XG5cbiAgICBsZXQgYXJyb3dOb2RlID0gdGhpcy5zdGFydE5vZGVBdDxOLkFycm93RnVuY3Rpb25FeHByZXNzaW9uPihzdGFydExvYyk7XG4gICAgaWYgKFxuICAgICAgY2FuQmVBcnJvdyAmJlxuICAgICAgdGhpcy5zaG91bGRQYXJzZUFycm93KGV4cHJMaXN0KSAmJlxuICAgICAgKGFycm93Tm9kZSA9IHRoaXMucGFyc2VBcnJvdyhhcnJvd05vZGUpKVxuICAgICkge1xuICAgICAgdGhpcy5jaGVja0Rlc3RydWN0dXJpbmdQcml2YXRlKHJlZkV4cHJlc3Npb25FcnJvcnMpO1xuICAgICAgdGhpcy5leHByZXNzaW9uU2NvcGUudmFsaWRhdGVBc1BhdHRlcm4oKTtcbiAgICAgIHRoaXMuZXhwcmVzc2lvblNjb3BlLmV4aXQoKTtcbiAgICAgIHRoaXMucGFyc2VBcnJvd0V4cHJlc3Npb24oYXJyb3dOb2RlLCBleHByTGlzdCwgZmFsc2UpO1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciB0b2RvKGZsb3ctPnRzKSBpbXByb3ZlIG5vZGUgdHlwZXNcbiAgICAgIHJldHVybiBhcnJvd05vZGU7XG4gICAgfVxuICAgIHRoaXMuZXhwcmVzc2lvblNjb3BlLmV4aXQoKTtcblxuICAgIGlmICghZXhwckxpc3QubGVuZ3RoKSB7XG4gICAgICB0aGlzLnVuZXhwZWN0ZWQodGhpcy5zdGF0ZS5sYXN0VG9rU3RhcnRMb2MpO1xuICAgIH1cbiAgICBpZiAob3B0aW9uYWxDb21tYVN0YXJ0TG9jKSB0aGlzLnVuZXhwZWN0ZWQob3B0aW9uYWxDb21tYVN0YXJ0TG9jKTtcbiAgICBpZiAoc3ByZWFkU3RhcnRMb2MpIHRoaXMudW5leHBlY3RlZChzcHJlYWRTdGFydExvYyk7XG4gICAgdGhpcy5jaGVja0V4cHJlc3Npb25FcnJvcnMocmVmRXhwcmVzc2lvbkVycm9ycywgdHJ1ZSk7XG5cbiAgICB0aGlzLnRvUmVmZXJlbmNlZExpc3REZWVwKGV4cHJMaXN0LCAvKiBpc1BhcmVudGhlc2l6ZWRFeHByICovIHRydWUpO1xuICAgIGlmIChleHByTGlzdC5sZW5ndGggPiAxKSB7XG4gICAgICB2YWwgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uU2VxdWVuY2VFeHByZXNzaW9uPihpbm5lclN0YXJ0TG9jKTtcbiAgICAgIHZhbC5leHByZXNzaW9ucyA9IGV4cHJMaXN0IGFzIE4uRXhwcmVzc2lvbltdO1xuICAgICAgLy8gZmluaXNoIG5vZGUgYXQgY3VycmVudCBsb2NhdGlvbiBzbyBpdCBjYW4gcGljayB1cCBjb21tZW50cyBhZnRlciBgKWBcbiAgICAgIHRoaXMuZmluaXNoTm9kZSh2YWwsIFwiU2VxdWVuY2VFeHByZXNzaW9uXCIpO1xuICAgICAgdGhpcy5yZXNldEVuZExvY2F0aW9uKHZhbCwgaW5uZXJFbmRMb2MpO1xuICAgIH0gZWxzZSB7XG4gICAgICB2YWwgPSBleHByTGlzdFswXTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy53cmFwUGFyZW50aGVzaXMoXG4gICAgICBzdGFydExvYyxcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdG9kbyhmbG93LT50cylcbiAgICAgIHZhbCxcbiAgICApO1xuICB9XG5cbiAgd3JhcFBhcmVudGhlc2lzKHN0YXJ0TG9jOiBQb3NpdGlvbiwgZXhwcmVzc2lvbjogTi5FeHByZXNzaW9uKTogTi5FeHByZXNzaW9uIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5jcmVhdGVQYXJlbnRoZXNpemVkRXhwcmVzc2lvbnMpIHtcbiAgICAgIHRoaXMuYWRkRXh0cmEoZXhwcmVzc2lvbiwgXCJwYXJlbnRoZXNpemVkXCIsIHRydWUpO1xuICAgICAgdGhpcy5hZGRFeHRyYShleHByZXNzaW9uLCBcInBhcmVuU3RhcnRcIiwgc3RhcnRMb2MuaW5kZXgpO1xuXG4gICAgICB0aGlzLnRha2VTdXJyb3VuZGluZ0NvbW1lbnRzKFxuICAgICAgICBleHByZXNzaW9uLFxuICAgICAgICBzdGFydExvYy5pbmRleCxcbiAgICAgICAgdGhpcy5zdGF0ZS5sYXN0VG9rRW5kTG9jLmluZGV4LFxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIGV4cHJlc3Npb247XG4gICAgfVxuXG4gICAgY29uc3QgcGFyZW5FeHByZXNzaW9uID1cbiAgICAgIHRoaXMuc3RhcnROb2RlQXQ8Ti5QYXJlbnRoZXNpemVkRXhwcmVzc2lvbj4oc3RhcnRMb2MpO1xuICAgIHBhcmVuRXhwcmVzc2lvbi5leHByZXNzaW9uID0gZXhwcmVzc2lvbjtcbiAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKHBhcmVuRXhwcmVzc2lvbiwgXCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiKTtcbiAgfVxuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gYHBhcmFtc2AgaXMgdXNlZCBpbiB0eXBlc2NyaXB0IHBsdWdpblxuICBzaG91bGRQYXJzZUFycm93KHBhcmFtczogQXJyYXk8Ti5Ob2RlPik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhdGhpcy5jYW5JbnNlcnRTZW1pY29sb24oKTtcbiAgfVxuXG4gIHBhcnNlQXJyb3coXG4gICAgbm9kZTogVW5kb25lPE4uQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24+LFxuICApOiBVbmRvbmU8Ti5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbj4gfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLmVhdCh0dC5hcnJvdykpIHtcbiAgICAgIHJldHVybiBub2RlO1xuICAgIH1cbiAgfVxuXG4gIHBhcnNlUGFyZW5JdGVtPFQgZXh0ZW5kcyBOLkV4cHJlc3Npb24gfCBOLlJlc3RFbGVtZW50IHwgTi5TcHJlYWRFbGVtZW50PihcbiAgICBub2RlOiBULFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBzdGFydExvYzogUG9zaXRpb24sXG4gICk6IFQgfCBOLlR5cGVDYXN0RXhwcmVzc2lvbiB8IE4uVHNUeXBlQ2FzdEV4cHJlc3Npb24ge1xuICAgIHJldHVybiBub2RlO1xuICB9XG5cbiAgcGFyc2VOZXdPck5ld1RhcmdldCh0aGlzOiBQYXJzZXIpOiBOLk5ld0V4cHJlc3Npb24gfCBOLk1ldGFQcm9wZXJ0eSB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uTmV3RXhwcmVzc2lvbiB8IE4uTWV0YVByb3BlcnR5PigpO1xuICAgIHRoaXMubmV4dCgpO1xuICAgIGlmICh0aGlzLm1hdGNoKHR0LmRvdCkpIHtcbiAgICAgIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLU5ld1RhcmdldFxuICAgICAgY29uc3QgbWV0YSA9IHRoaXMuY3JlYXRlSWRlbnRpZmllcihcbiAgICAgICAgdGhpcy5zdGFydE5vZGVBdE5vZGU8Ti5JZGVudGlmaWVyPihub2RlKSxcbiAgICAgICAgXCJuZXdcIixcbiAgICAgICk7XG4gICAgICB0aGlzLm5leHQoKTtcbiAgICAgIGNvbnN0IG1ldGFQcm9wID0gdGhpcy5wYXJzZU1ldGFQcm9wZXJ0eShcbiAgICAgICAgbm9kZSBhcyBVbmRvbmU8Ti5NZXRhUHJvcGVydHk+LFxuICAgICAgICBtZXRhLFxuICAgICAgICBcInRhcmdldFwiLFxuICAgICAgKTtcblxuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5zY29wZS5pbk5vbkFycm93RnVuY3Rpb24gJiZcbiAgICAgICAgIXRoaXMuc2NvcGUuaW5DbGFzcyAmJlxuICAgICAgICAhdGhpcy5vcHRpb25zLmFsbG93TmV3VGFyZ2V0T3V0c2lkZUZ1bmN0aW9uXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuVW5leHBlY3RlZE5ld1RhcmdldCwgbWV0YVByb3ApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbWV0YVByb3A7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucGFyc2VOZXcobm9kZSBhcyBVbmRvbmU8Ti5OZXdFeHByZXNzaW9uPik7XG4gIH1cblxuICAvLyBOZXcncyBwcmVjZWRlbmNlIGlzIHNsaWdodGx5IHRyaWNreS4gSXQgbXVzdCBhbGxvdyBpdHMgYXJndW1lbnQgdG9cbiAgLy8gYmUgYSBgW11gIG9yIGRvdCBzdWJzY3JpcHQgZXhwcmVzc2lvbiwgYnV0IG5vdCBhIGNhbGwg4oCUIGF0IGxlYXN0LFxuICAvLyBub3Qgd2l0aG91dCB3cmFwcGluZyBpdCBpbiBwYXJlbnRoZXNlcy4gVGh1cywgaXQgdXNlcyB0aGUgbm9DYWxsc1xuICAvLyBhcmd1bWVudCB0byBwYXJzZVN1YnNjcmlwdHMgdG8gcHJldmVudCBpdCBmcm9tIGNvbnN1bWluZyB0aGVcbiAgLy8gYXJndW1lbnQgbGlzdC5cbiAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtTmV3RXhwcmVzc2lvblxuICBwYXJzZU5ldyh0aGlzOiBQYXJzZXIsIG5vZGU6IFVuZG9uZTxOLk5ld0V4cHJlc3Npb24+KTogTi5OZXdFeHByZXNzaW9uIHtcbiAgICB0aGlzLnBhcnNlTmV3Q2FsbGVlKG5vZGUpO1xuXG4gICAgaWYgKHRoaXMuZWF0KHR0LnBhcmVuTCkpIHtcbiAgICAgIGNvbnN0IGFyZ3MgPSB0aGlzLnBhcnNlRXhwckxpc3QodHQucGFyZW5SKTtcbiAgICAgIHRoaXMudG9SZWZlcmVuY2VkTGlzdChhcmdzKTtcbiAgICAgIC8vIChwYXJzZUV4cHJMaXN0IHNob3VsZCBiZSBhbGwgbm9uLW51bGwgaW4gdGhpcyBjYXNlKVxuICAgICAgbm9kZS5hcmd1bWVudHMgPSBhcmdzO1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLmFyZ3VtZW50cyA9IFtdO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJOZXdFeHByZXNzaW9uXCIpO1xuICB9XG5cbiAgcGFyc2VOZXdDYWxsZWUodGhpczogUGFyc2VyLCBub2RlOiBVbmRvbmU8Ti5OZXdFeHByZXNzaW9uPik6IHZvaWQge1xuICAgIGNvbnN0IGlzSW1wb3J0ID0gdGhpcy5tYXRjaCh0dC5faW1wb3J0KTtcbiAgICBjb25zdCBjYWxsZWUgPSB0aGlzLnBhcnNlTm9DYWxsRXhwcigpO1xuICAgIG5vZGUuY2FsbGVlID0gY2FsbGVlO1xuICAgIGlmIChcbiAgICAgIGlzSW1wb3J0ICYmXG4gICAgICAoY2FsbGVlLnR5cGUgPT09IFwiSW1wb3J0XCIgfHwgY2FsbGVlLnR5cGUgPT09IFwiSW1wb3J0RXhwcmVzc2lvblwiKVxuICAgICkge1xuICAgICAgdGhpcy5yYWlzZShFcnJvcnMuSW1wb3J0Q2FsbE5vdE5ld0V4cHJlc3Npb24sIGNhbGxlZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2UgdGVtcGxhdGUgZXhwcmVzc2lvbi5cblxuICBwYXJzZVRlbXBsYXRlRWxlbWVudChpc1RhZ2dlZDogYm9vbGVhbik6IE4uVGVtcGxhdGVFbGVtZW50IHtcbiAgICBjb25zdCB7IHN0YXJ0LCBzdGFydExvYywgZW5kLCB2YWx1ZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBlbGVtU3RhcnQgPSBzdGFydCArIDE7XG4gICAgY29uc3QgZWxlbSA9IHRoaXMuc3RhcnROb2RlQXQ8Ti5UZW1wbGF0ZUVsZW1lbnQ+KFxuICAgICAgY3JlYXRlUG9zaXRpb25XaXRoQ29sdW1uT2Zmc2V0KHN0YXJ0TG9jLCAxKSxcbiAgICApO1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgaWYgKCFpc1RhZ2dlZCkge1xuICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgIEVycm9ycy5JbnZhbGlkRXNjYXBlU2VxdWVuY2VUZW1wbGF0ZSxcbiAgICAgICAgICAvLyBGSVhNRTogQWRkaW5nIDEgaXMgcHJvYmFibHkgd3JvbmcuXG4gICAgICAgICAgY3JlYXRlUG9zaXRpb25XaXRoQ29sdW1uT2Zmc2V0KFxuICAgICAgICAgICAgdGhpcy5zdGF0ZS5maXJzdEludmFsaWRUZW1wbGF0ZUVzY2FwZVBvcyxcbiAgICAgICAgICAgIDEsXG4gICAgICAgICAgKSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBpc1RhaWwgPSB0aGlzLm1hdGNoKHR0LnRlbXBsYXRlVGFpbCk7XG4gICAgY29uc3QgZW5kT2Zmc2V0ID0gaXNUYWlsID8gLTEgOiAtMjtcbiAgICBjb25zdCBlbGVtRW5kID0gZW5kICsgZW5kT2Zmc2V0O1xuICAgIGVsZW0udmFsdWUgPSB7XG4gICAgICByYXc6IHRoaXMuaW5wdXQuc2xpY2UoZWxlbVN0YXJ0LCBlbGVtRW5kKS5yZXBsYWNlKC9cXHJcXG4/L2csIFwiXFxuXCIpLFxuICAgICAgY29va2VkOiB2YWx1ZSA9PT0gbnVsbCA/IG51bGwgOiB2YWx1ZS5zbGljZSgxLCBlbmRPZmZzZXQpLFxuICAgIH07XG4gICAgZWxlbS50YWlsID0gaXNUYWlsO1xuICAgIHRoaXMubmV4dCgpO1xuICAgIGNvbnN0IGZpbmlzaGVkTm9kZSA9IHRoaXMuZmluaXNoTm9kZShlbGVtLCBcIlRlbXBsYXRlRWxlbWVudFwiKTtcbiAgICB0aGlzLnJlc2V0RW5kTG9jYXRpb24oXG4gICAgICBmaW5pc2hlZE5vZGUsXG4gICAgICBjcmVhdGVQb3NpdGlvbldpdGhDb2x1bW5PZmZzZXQodGhpcy5zdGF0ZS5sYXN0VG9rRW5kTG9jLCBlbmRPZmZzZXQpLFxuICAgICk7XG4gICAgcmV0dXJuIGZpbmlzaGVkTm9kZTtcbiAgfVxuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLVRlbXBsYXRlTGl0ZXJhbFxuICBwYXJzZVRlbXBsYXRlKHRoaXM6IFBhcnNlciwgaXNUYWdnZWQ6IGJvb2xlYW4pOiBOLlRlbXBsYXRlTGl0ZXJhbCB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uVGVtcGxhdGVMaXRlcmFsPigpO1xuICAgIGxldCBjdXJFbHQgPSB0aGlzLnBhcnNlVGVtcGxhdGVFbGVtZW50KGlzVGFnZ2VkKTtcbiAgICBjb25zdCBxdWFzaXMgPSBbY3VyRWx0XTtcbiAgICBjb25zdCBzdWJzdGl0dXRpb25zID0gW107XG4gICAgd2hpbGUgKCFjdXJFbHQudGFpbCkge1xuICAgICAgc3Vic3RpdHV0aW9ucy5wdXNoKHRoaXMucGFyc2VUZW1wbGF0ZVN1YnN0aXR1dGlvbigpKTtcbiAgICAgIHRoaXMucmVhZFRlbXBsYXRlQ29udGludWF0aW9uKCk7XG4gICAgICBxdWFzaXMucHVzaCgoY3VyRWx0ID0gdGhpcy5wYXJzZVRlbXBsYXRlRWxlbWVudChpc1RhZ2dlZCkpKTtcbiAgICB9XG4gICAgLy8gVHlwZSBjYXN0IGZyb20gKE4uRXhwcmVzc2lvbltdIHwgTi5Uc1R5cGVbXSkuIHBhcnNlVGVtcGxhdGVTdWJzdGl0dXRpb25cbiAgICAvLyByZXR1cm5zIGNvbnNpc3RlbnQgcmVzdWx0cy5cbiAgICBub2RlLmV4cHJlc3Npb25zID0gc3Vic3RpdHV0aW9ucyBhcyBOLkV4cHJlc3Npb25bXSB8IE4uVHNUeXBlW107XG4gICAgbm9kZS5xdWFzaXMgPSBxdWFzaXM7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRlbXBsYXRlTGl0ZXJhbFwiKTtcbiAgfVxuXG4gIC8vIFRoaXMgaXMgb3ZlcndyaXR0ZW4gYnkgdGhlIFR5cGVTY3JpcHQgcGx1Z2luIHRvIHBhcnNlIHRlbXBsYXRlIHR5cGVzXG4gIHBhcnNlVGVtcGxhdGVTdWJzdGl0dXRpb24odGhpczogUGFyc2VyKTogTi5FeHByZXNzaW9uIHwgTi5Uc1R5cGUge1xuICAgIHJldHVybiB0aGlzLnBhcnNlRXhwcmVzc2lvbigpO1xuICB9XG5cbiAgLy8gUGFyc2UgYW4gb2JqZWN0IGxpdGVyYWwsIGJpbmRpbmcgcGF0dGVybiwgb3IgcmVjb3JkLlxuXG4gIHBhcnNlT2JqZWN0TGlrZShcbiAgICBjbG9zZTogVG9rZW5UeXBlLFxuICAgIGlzUGF0dGVybjogdHJ1ZSxcbiAgICBpc1JlY29yZD86IGJvb2xlYW4gfCBudWxsLFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzIHwgbnVsbCxcbiAgKTogTi5PYmplY3RQYXR0ZXJuO1xuICBwYXJzZU9iamVjdExpa2UoXG4gICAgY2xvc2U6IFRva2VuVHlwZSxcbiAgICBpc1BhdHRlcm46IGZhbHNlLFxuICAgIGlzUmVjb3JkPzogZmFsc2UgfCBudWxsLFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzIHwgbnVsbCxcbiAgKTogTi5PYmplY3RFeHByZXNzaW9uO1xuICBwYXJzZU9iamVjdExpa2UoXG4gICAgY2xvc2U6IFRva2VuVHlwZSxcbiAgICBpc1BhdHRlcm46IGZhbHNlLFxuICAgIGlzUmVjb3JkPzogdHJ1ZSxcbiAgICByZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwsXG4gICk6IE4uUmVjb3JkRXhwcmVzc2lvbjtcbiAgcGFyc2VPYmplY3RMaWtlPFQgZXh0ZW5kcyBOLk9iamVjdFBhdHRlcm4gfCBOLk9iamVjdEV4cHJlc3Npb24+KFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBjbG9zZTogVG9rZW5UeXBlLFxuICAgIGlzUGF0dGVybjogYm9vbGVhbixcbiAgICBpc1JlY29yZD86IGJvb2xlYW4gfCBudWxsLFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzIHwgbnVsbCxcbiAgKTogVCB7XG4gICAgaWYgKGlzUmVjb3JkKSB7XG4gICAgICB0aGlzLmV4cGVjdFBsdWdpbihcInJlY29yZEFuZFR1cGxlXCIpO1xuICAgIH1cbiAgICBjb25zdCBvbGRJbkZTaGFycFBpcGVsaW5lRGlyZWN0Qm9keSA9IHRoaXMuc3RhdGUuaW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHk7XG4gICAgdGhpcy5zdGF0ZS5pbkZTaGFycFBpcGVsaW5lRGlyZWN0Qm9keSA9IGZhbHNlO1xuICAgIGNvbnN0IHByb3BIYXNoOiBhbnkgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuICAgIGxldCBmaXJzdCA9IHRydWU7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPFxuICAgICAgTi5PYmplY3RFeHByZXNzaW9uIHwgTi5PYmplY3RQYXR0ZXJuIHwgTi5SZWNvcmRFeHByZXNzaW9uXG4gICAgPigpO1xuXG4gICAgbm9kZS5wcm9wZXJ0aWVzID0gW107XG4gICAgdGhpcy5uZXh0KCk7XG5cbiAgICB3aGlsZSAoIXRoaXMubWF0Y2goY2xvc2UpKSB7XG4gICAgICBpZiAoZmlyc3QpIHtcbiAgICAgICAgZmlyc3QgPSBmYWxzZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZXhwZWN0KHR0LmNvbW1hKTtcbiAgICAgICAgaWYgKHRoaXMubWF0Y2goY2xvc2UpKSB7XG4gICAgICAgICAgdGhpcy5hZGRUcmFpbGluZ0NvbW1hRXh0cmFUb05vZGUobm9kZSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgbGV0IHByb3A7XG4gICAgICBpZiAoaXNQYXR0ZXJuKSB7XG4gICAgICAgIHByb3AgPSB0aGlzLnBhcnNlQmluZGluZ1Byb3BlcnR5KCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcm9wID0gdGhpcy5wYXJzZVByb3BlcnR5RGVmaW5pdGlvbihyZWZFeHByZXNzaW9uRXJyb3JzKTtcbiAgICAgICAgdGhpcy5jaGVja1Byb3RvKHByb3AsIGlzUmVjb3JkLCBwcm9wSGFzaCwgcmVmRXhwcmVzc2lvbkVycm9ycyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChcbiAgICAgICAgaXNSZWNvcmQgJiZcbiAgICAgICAgIXRoaXMuaXNPYmplY3RQcm9wZXJ0eShwcm9wKSAmJlxuICAgICAgICBwcm9wLnR5cGUgIT09IFwiU3ByZWFkRWxlbWVudFwiXG4gICAgICApIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuSW52YWxpZFJlY29yZFByb3BlcnR5LCBwcm9wKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCFwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HKSB7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3Igc2hvcnRoYW5kIG1heSBub3QgaW5kZXggcHJvcFxuICAgICAgICBpZiAocHJvcC5zaG9ydGhhbmQpIHtcbiAgICAgICAgICB0aGlzLmFkZEV4dHJhKHByb3AsIFwic2hvcnRoYW5kXCIsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgRml4bWU6IHJlZmluZSB0eXBpbmdzXG4gICAgICBub2RlLnByb3BlcnRpZXMucHVzaChwcm9wKTtcbiAgICB9XG5cbiAgICB0aGlzLm5leHQoKTtcblxuICAgIHRoaXMuc3RhdGUuaW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHkgPSBvbGRJbkZTaGFycFBpcGVsaW5lRGlyZWN0Qm9keTtcbiAgICBsZXQgdHlwZSA9IFwiT2JqZWN0RXhwcmVzc2lvblwiO1xuICAgIGlmIChpc1BhdHRlcm4pIHtcbiAgICAgIHR5cGUgPSBcIk9iamVjdFBhdHRlcm5cIjtcbiAgICB9IGVsc2UgaWYgKGlzUmVjb3JkKSB7XG4gICAgICB0eXBlID0gXCJSZWNvcmRFeHByZXNzaW9uXCI7XG4gICAgfVxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdHlwZSBpcyB3ZWxsIGRlZmluZWRcbiAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIHR5cGUpO1xuICB9XG5cbiAgYWRkVHJhaWxpbmdDb21tYUV4dHJhVG9Ob2RlKG5vZGU6IFVuZG9uZTxOLk5vZGU+KTogdm9pZCB7XG4gICAgdGhpcy5hZGRFeHRyYShub2RlLCBcInRyYWlsaW5nQ29tbWFcIiwgdGhpcy5zdGF0ZS5sYXN0VG9rU3RhcnRMb2MuaW5kZXgpO1xuICAgIHRoaXMuYWRkRXh0cmEobm9kZSwgXCJ0cmFpbGluZ0NvbW1hTG9jXCIsIHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jLCBmYWxzZSk7XG4gIH1cblxuICAvLyBDaGVjayBncmFtbWFyIHByb2R1Y3Rpb246XG4gIC8vICAgSWRlbnRpZmllck5hbWUgKl9vcHQgUHJvcGVydHlOYW1lXG4gIC8vIEl0IGlzIHVzZWQgaW4gYHBhcnNlUHJvcGVydHlEZWZpbml0aW9uYCB0byBkZXRlY3QgQXN5bmNNZXRob2QgYW5kIEFjY2Vzc29yc1xuICBtYXliZUFzeW5jT3JBY2Nlc3NvclByb3AoXG4gICAgcHJvcDogVW5kb25lPE4uT2JqZWN0UHJvcGVydHk+LFxuICApOiBwcm9wIGlzIHR5cGVvZiBwcm9wICYgeyBrZXk6IE4uSWRlbnRpZmllciB9IHtcbiAgICByZXR1cm4gKFxuICAgICAgIXByb3AuY29tcHV0ZWQgJiZcbiAgICAgIHByb3Aua2V5LnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmXG4gICAgICAodGhpcy5pc0xpdGVyYWxQcm9wZXJ0eU5hbWUoKSB8fFxuICAgICAgICB0aGlzLm1hdGNoKHR0LmJyYWNrZXRMKSB8fFxuICAgICAgICB0aGlzLm1hdGNoKHR0LnN0YXIpKVxuICAgICk7XG4gIH1cblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1Qcm9wZXJ0eURlZmluaXRpb25cbiAgcGFyc2VQcm9wZXJ0eURlZmluaXRpb24oXG4gICAgdGhpczogUGFyc2VyLFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzIHwgbnVsbCxcbiAgKTogTi5PYmplY3RNZW1iZXIgfCBOLlNwcmVhZEVsZW1lbnQge1xuICAgIGxldCBkZWNvcmF0b3JzID0gW107XG4gICAgaWYgKHRoaXMubWF0Y2godHQuYXQpKSB7XG4gICAgICBpZiAodGhpcy5oYXNQbHVnaW4oXCJkZWNvcmF0b3JzXCIpKSB7XG4gICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLlVuc3VwcG9ydGVkUHJvcGVydHlEZWNvcmF0b3IsIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgICAgfVxuXG4gICAgICAvLyB3ZSBuZWVkbid0IGNoZWNrIGlmIGRlY29yYXRvcnMgKHN0YWdlIDApIHBsdWdpbiBpcyBlbmFibGVkIHNpbmNlIGl0J3MgY2hlY2tlZCBieVxuICAgICAgLy8gdGhlIGNhbGwgdG8gdGhpcy5wYXJzZURlY29yYXRvclxuICAgICAgd2hpbGUgKHRoaXMubWF0Y2godHQuYXQpKSB7XG4gICAgICAgIGRlY29yYXRvcnMucHVzaCh0aGlzLnBhcnNlRGVjb3JhdG9yKCkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHByb3AgPSB0aGlzLnN0YXJ0Tm9kZTxOLk9iamVjdFByb3BlcnR5PigpO1xuICAgIGxldCBpc0FzeW5jID0gZmFsc2U7XG4gICAgbGV0IGlzQWNjZXNzb3IgPSBmYWxzZTtcbiAgICBsZXQgc3RhcnRMb2M7XG5cbiAgICBpZiAodGhpcy5tYXRjaCh0dC5lbGxpcHNpcykpIHtcbiAgICAgIGlmIChkZWNvcmF0b3JzLmxlbmd0aCkgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgICByZXR1cm4gdGhpcy5wYXJzZVNwcmVhZCgpO1xuICAgIH1cblxuICAgIGlmIChkZWNvcmF0b3JzLmxlbmd0aCkge1xuICAgICAgcHJvcC5kZWNvcmF0b3JzID0gZGVjb3JhdG9ycztcbiAgICAgIGRlY29yYXRvcnMgPSBbXTtcbiAgICB9XG5cbiAgICBwcm9wLm1ldGhvZCA9IGZhbHNlO1xuXG4gICAgaWYgKHJlZkV4cHJlc3Npb25FcnJvcnMpIHtcbiAgICAgIHN0YXJ0TG9jID0gdGhpcy5zdGF0ZS5zdGFydExvYztcbiAgICB9XG5cbiAgICBsZXQgaXNHZW5lcmF0b3IgPSB0aGlzLmVhdCh0dC5zdGFyKTtcbiAgICB0aGlzLnBhcnNlUHJvcGVydHlOYW1lUHJlZml4T3BlcmF0b3IocHJvcCk7XG4gICAgY29uc3QgY29udGFpbnNFc2MgPSB0aGlzLnN0YXRlLmNvbnRhaW5zRXNjO1xuICAgIHRoaXMucGFyc2VQcm9wZXJ0eU5hbWUocHJvcCwgcmVmRXhwcmVzc2lvbkVycm9ycyk7XG5cbiAgICBpZiAoIWlzR2VuZXJhdG9yICYmICFjb250YWluc0VzYyAmJiB0aGlzLm1heWJlQXN5bmNPckFjY2Vzc29yUHJvcChwcm9wKSkge1xuICAgICAgY29uc3QgeyBrZXkgfSA9IHByb3A7XG4gICAgICBjb25zdCBrZXlOYW1lID0ga2V5Lm5hbWU7XG4gICAgICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1Bc3luY01ldGhvZFxuICAgICAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtQXN5bmNHZW5lcmF0b3JNZXRob2RcbiAgICAgIGlmIChrZXlOYW1lID09PSBcImFzeW5jXCIgJiYgIXRoaXMuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpIHtcbiAgICAgICAgaXNBc3luYyA9IHRydWU7XG4gICAgICAgIHRoaXMucmVzZXRQcmV2aW91c05vZGVUcmFpbGluZ0NvbW1lbnRzKGtleSk7XG4gICAgICAgIGlzR2VuZXJhdG9yID0gdGhpcy5lYXQodHQuc3Rhcik7XG4gICAgICAgIHRoaXMucGFyc2VQcm9wZXJ0eU5hbWUocHJvcCk7XG4gICAgICB9XG4gICAgICAvLyBnZXQgUHJvcGVydHlOYW1lWz9ZaWVsZCwgP0F3YWl0XSAoKSB7IEZ1bmN0aW9uQm9keVt+WWllbGQsIH5Bd2FpdF0gfVxuICAgICAgLy8gc2V0IFByb3BlcnR5TmFtZVs/WWllbGQsID9Bd2FpdF0gKCBQcm9wZXJ0eVNldFBhcmFtZXRlckxpc3QgKSB7IEZ1bmN0aW9uQm9keVt+WWllbGQsIH5Bd2FpdF0gfVxuICAgICAgaWYgKGtleU5hbWUgPT09IFwiZ2V0XCIgfHwga2V5TmFtZSA9PT0gXCJzZXRcIikge1xuICAgICAgICBpc0FjY2Vzc29yID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5yZXNldFByZXZpb3VzTm9kZVRyYWlsaW5nQ29tbWVudHMoa2V5KTtcbiAgICAgICAgcHJvcC5raW5kID0ga2V5TmFtZTtcbiAgICAgICAgaWYgKHRoaXMubWF0Y2godHQuc3RhcikpIHtcbiAgICAgICAgICBpc0dlbmVyYXRvciA9IHRydWU7XG4gICAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuQWNjZXNzb3JJc0dlbmVyYXRvciwgdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpLCB7XG4gICAgICAgICAgICBraW5kOiBrZXlOYW1lLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucGFyc2VQcm9wZXJ0eU5hbWUocHJvcCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucGFyc2VPYmpQcm9wVmFsdWUoXG4gICAgICBwcm9wLFxuICAgICAgc3RhcnRMb2MsXG4gICAgICBpc0dlbmVyYXRvcixcbiAgICAgIGlzQXN5bmMsXG4gICAgICBmYWxzZSAvKiBpc1BhdHRlcm4gKi8sXG4gICAgICBpc0FjY2Vzc29yLFxuICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycyxcbiAgICApO1xuICB9XG5cbiAgZ2V0R2V0dGVyU2V0dGVyRXhwZWN0ZWRQYXJhbUNvdW50KFxuICAgIG1ldGhvZDogTi5PYmplY3RNZXRob2QgfCBOLkNsYXNzTWV0aG9kLFxuICApOiBudW1iZXIge1xuICAgIHJldHVybiBtZXRob2Qua2luZCA9PT0gXCJnZXRcIiA/IDAgOiAxO1xuICB9XG5cbiAgLy8gVGhpcyBleGlzdHMgc28gd2UgY2FuIG92ZXJyaWRlIHdpdGhpbiB0aGUgRVNUcmVlIHBsdWdpblxuICBnZXRPYmplY3RPckNsYXNzTWV0aG9kUGFyYW1zKG1ldGhvZDogTi5PYmplY3RNZXRob2QgfCBOLkNsYXNzTWV0aG9kKSB7XG4gICAgcmV0dXJuIG1ldGhvZC5wYXJhbXM7XG4gIH1cblxuICAvLyBnZXQgbWV0aG9kcyBhcmVuJ3QgYWxsb3dlZCB0byBoYXZlIGFueSBwYXJhbWV0ZXJzXG4gIC8vIHNldCBtZXRob2RzIG11c3QgaGF2ZSBleGFjdGx5IDEgcGFyYW1ldGVyIHdoaWNoIGlzIG5vdCBhIHJlc3QgcGFyYW1ldGVyXG4gIGNoZWNrR2V0dGVyU2V0dGVyUGFyYW1zKG1ldGhvZDogTi5PYmplY3RNZXRob2QgfCBOLkNsYXNzTWV0aG9kKTogdm9pZCB7XG4gICAgY29uc3QgcGFyYW1Db3VudCA9IHRoaXMuZ2V0R2V0dGVyU2V0dGVyRXhwZWN0ZWRQYXJhbUNvdW50KG1ldGhvZCk7XG4gICAgY29uc3QgcGFyYW1zID0gdGhpcy5nZXRPYmplY3RPckNsYXNzTWV0aG9kUGFyYW1zKG1ldGhvZCk7XG5cbiAgICBpZiAocGFyYW1zLmxlbmd0aCAhPT0gcGFyYW1Db3VudCkge1xuICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgbWV0aG9kLmtpbmQgPT09IFwiZ2V0XCIgPyBFcnJvcnMuQmFkR2V0dGVyQXJpdHkgOiBFcnJvcnMuQmFkU2V0dGVyQXJpdHksXG4gICAgICAgIG1ldGhvZCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgbWV0aG9kLmtpbmQgPT09IFwic2V0XCIgJiZcbiAgICAgIHBhcmFtc1twYXJhbXMubGVuZ3RoIC0gMV0/LnR5cGUgPT09IFwiUmVzdEVsZW1lbnRcIlxuICAgICkge1xuICAgICAgdGhpcy5yYWlzZShFcnJvcnMuQmFkU2V0dGVyUmVzdFBhcmFtZXRlciwgbWV0aG9kKTtcbiAgICB9XG4gIH1cblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1NZXRob2REZWZpbml0aW9uXG4gIHBhcnNlT2JqZWN0TWV0aG9kKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBwcm9wOiBVbmRvbmU8Ti5PYmplY3RNZXRob2Q+LFxuICAgIGlzR2VuZXJhdG9yOiBib29sZWFuLFxuICAgIGlzQXN5bmM6IGJvb2xlYW4sXG4gICAgaXNQYXR0ZXJuOiBib29sZWFuLFxuICAgIGlzQWNjZXNzb3I6IGJvb2xlYW4sXG4gICk6IE4uT2JqZWN0TWV0aG9kIHwgdW5kZWZpbmVkIHwgbnVsbCB7XG4gICAgaWYgKGlzQWNjZXNzb3IpIHtcbiAgICAgIC8vIGlzQWNjZXNzb3IgaW1wbGllcyBpc0FzeW5jOiBmYWxzZSwgaXNQYXR0ZXJuOiBmYWxzZSwgaXNHZW5lcmF0b3I6IGZhbHNlXG4gICAgICBjb25zdCBmaW5pc2hlZFByb3AgPSB0aGlzLnBhcnNlTWV0aG9kKFxuICAgICAgICBwcm9wLFxuICAgICAgICAvLyBUaGlzIF9zaG91bGRfIGJlIGZhbHNlLCBidXQgd2l0aCBlcnJvciByZWNvdmVyeSwgd2UgYWxsb3cgaXQgdG8gYmVcbiAgICAgICAgLy8gc2V0IGZvciBpbmZvcm1hdGlvbmFsIHB1cnBvc2VzXG4gICAgICAgIGlzR2VuZXJhdG9yLFxuICAgICAgICAvKiBpc0FzeW5jICovIGZhbHNlLFxuICAgICAgICAvKiBpc0NvbnN0cnVjdG9yICovIGZhbHNlLFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgXCJPYmplY3RNZXRob2RcIixcbiAgICAgICk7XG4gICAgICB0aGlzLmNoZWNrR2V0dGVyU2V0dGVyUGFyYW1zKGZpbmlzaGVkUHJvcCk7XG4gICAgICByZXR1cm4gZmluaXNoZWRQcm9wO1xuICAgIH1cblxuICAgIGlmIChpc0FzeW5jIHx8IGlzR2VuZXJhdG9yIHx8IHRoaXMubWF0Y2godHQucGFyZW5MKSkge1xuICAgICAgaWYgKGlzUGF0dGVybikgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgICBwcm9wLmtpbmQgPSBcIm1ldGhvZFwiO1xuICAgICAgcHJvcC5tZXRob2QgPSB0cnVlO1xuICAgICAgcmV0dXJuIHRoaXMucGFyc2VNZXRob2QoXG4gICAgICAgIHByb3AsXG4gICAgICAgIGlzR2VuZXJhdG9yLFxuICAgICAgICBpc0FzeW5jLFxuICAgICAgICAvKiBpc0NvbnN0cnVjdG9yICovIGZhbHNlLFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgXCJPYmplY3RNZXRob2RcIixcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gaWYgYGlzUGF0dGVybmAgaXMgdHJ1ZSwgcGFyc2UgaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtQmluZGluZ1Byb3BlcnR5XG4gIC8vIGVsc2UgaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtUHJvcGVydHlEZWZpbml0aW9uXG4gIHBhcnNlT2JqZWN0UHJvcGVydHkoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIHByb3A6IFVuZG9uZTxOLk9iamVjdFByb3BlcnR5PixcbiAgICBzdGFydExvYzogUG9zaXRpb24gfCB1bmRlZmluZWQgfCBudWxsLFxuICAgIGlzUGF0dGVybjogYm9vbGVhbixcbiAgICByZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwsXG4gICk6IE4uT2JqZWN0UHJvcGVydHkgfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICBwcm9wLnNob3J0aGFuZCA9IGZhbHNlO1xuXG4gICAgaWYgKHRoaXMuZWF0KHR0LmNvbG9uKSkge1xuICAgICAgcHJvcC52YWx1ZSA9IGlzUGF0dGVyblxuICAgICAgICA/IHRoaXMucGFyc2VNYXliZURlZmF1bHQodGhpcy5zdGF0ZS5zdGFydExvYylcbiAgICAgICAgOiB0aGlzLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKHJlZkV4cHJlc3Npb25FcnJvcnMpO1xuXG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKHByb3AsIFwiT2JqZWN0UHJvcGVydHlcIik7XG4gICAgfVxuXG4gICAgaWYgKCFwcm9wLmNvbXB1dGVkICYmIHByb3Aua2V5LnR5cGUgPT09IFwiSWRlbnRpZmllclwiKSB7XG4gICAgICAvLyBQcm9wZXJ0eURlZmluaXRpb246XG4gICAgICAvLyAgIElkZW50aWZpZXJSZWZlcmVuY2VcbiAgICAgIC8vICAgQ292ZXJJbml0aWFsaXplZE5hbWVcbiAgICAgIC8vIE5vdGU6IGB7IGV2YWwgfSA9IHt9YCB3aWxsIGJlIGNoZWNrZWQgaW4gYGNoZWNrTFZhbGAgbGF0ZXIuXG4gICAgICB0aGlzLmNoZWNrUmVzZXJ2ZWRXb3JkKHByb3Aua2V5Lm5hbWUsIHByb3Aua2V5LmxvYy5zdGFydCwgdHJ1ZSwgZmFsc2UpO1xuXG4gICAgICBpZiAoaXNQYXR0ZXJuKSB7XG4gICAgICAgIHByb3AudmFsdWUgPSB0aGlzLnBhcnNlTWF5YmVEZWZhdWx0KFxuICAgICAgICAgIHN0YXJ0TG9jLFxuICAgICAgICAgIGNsb25lSWRlbnRpZmllcihwcm9wLmtleSksXG4gICAgICAgICk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubWF0Y2godHQuZXEpKSB7XG4gICAgICAgIGNvbnN0IHNob3J0aGFuZEFzc2lnbkxvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgICAgIGlmIChyZWZFeHByZXNzaW9uRXJyb3JzICE9IG51bGwpIHtcbiAgICAgICAgICBpZiAocmVmRXhwcmVzc2lvbkVycm9ycy5zaG9ydGhhbmRBc3NpZ25Mb2MgPT09IG51bGwpIHtcbiAgICAgICAgICAgIHJlZkV4cHJlc3Npb25FcnJvcnMuc2hvcnRoYW5kQXNzaWduTG9jID0gc2hvcnRoYW5kQXNzaWduTG9jO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5JbnZhbGlkQ292ZXJJbml0aWFsaXplZE5hbWUsIHNob3J0aGFuZEFzc2lnbkxvYyk7XG4gICAgICAgIH1cbiAgICAgICAgcHJvcC52YWx1ZSA9IHRoaXMucGFyc2VNYXliZURlZmF1bHQoXG4gICAgICAgICAgc3RhcnRMb2MsXG4gICAgICAgICAgY2xvbmVJZGVudGlmaWVyKHByb3Aua2V5KSxcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByb3AudmFsdWUgPSBjbG9uZUlkZW50aWZpZXIocHJvcC5rZXkpO1xuICAgICAgfVxuICAgICAgcHJvcC5zaG9ydGhhbmQgPSB0cnVlO1xuXG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKHByb3AsIFwiT2JqZWN0UHJvcGVydHlcIik7XG4gICAgfVxuICB9XG5cbiAgcGFyc2VPYmpQcm9wVmFsdWU8VCBleHRlbmRzIE4uT2JqZWN0TWVtYmVyPihcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgcHJvcDogVW5kb25lPFQ+LFxuICAgIHN0YXJ0TG9jOiBQb3NpdGlvbiB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICAgaXNHZW5lcmF0b3I6IGJvb2xlYW4sXG4gICAgaXNBc3luYzogYm9vbGVhbixcbiAgICBpc1BhdHRlcm46IGJvb2xlYW4sXG4gICAgaXNBY2Nlc3NvcjogYm9vbGVhbixcbiAgICByZWZFeHByZXNzaW9uRXJyb3JzPzogRXhwcmVzc2lvbkVycm9ycyB8IG51bGwsXG4gICk6IFQge1xuICAgIGNvbnN0IG5vZGUgPSAodGhpcy5wYXJzZU9iamVjdE1ldGhvZChcbiAgICAgIHByb3AgYXMgVW5kb25lPE4uT2JqZWN0TWV0aG9kPixcbiAgICAgIGlzR2VuZXJhdG9yLFxuICAgICAgaXNBc3luYyxcbiAgICAgIGlzUGF0dGVybixcbiAgICAgIGlzQWNjZXNzb3IsXG4gICAgKSB8fFxuICAgICAgdGhpcy5wYXJzZU9iamVjdFByb3BlcnR5KFxuICAgICAgICBwcm9wIGFzIFVuZG9uZTxOLk9iamVjdFByb3BlcnR5PixcbiAgICAgICAgc3RhcnRMb2MsXG4gICAgICAgIGlzUGF0dGVybixcbiAgICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycyxcbiAgICAgICkpIGFzIFQ7XG5cbiAgICBpZiAoIW5vZGUpIHRoaXMudW5leHBlY3RlZCgpO1xuXG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1Qcm9wZXJ0eU5hbWVcbiAgLy8gd2hlbiByZWZFeHByZXNzaW9uRXJyb3JzIHByZXNlbnRzLCBpdCB3aWxsIHBhcnNlIHByaXZhdGUgbmFtZVxuICAvLyBhbmQgcmVjb3JkIHRoZSBwb3NpdGlvbiBvZiB0aGUgZmlyc3QgcHJpdmF0ZSBuYW1lXG4gIHBhcnNlUHJvcGVydHlOYW1lKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBwcm9wOlxuICAgICAgfCBVbmRvbmU8Ti5PYmplY3RPckNsYXNzTWVtYmVyIHwgTi5DbGFzc01lbWJlcj5cbiAgICAgIHwgTi5Uc05hbWVkVHlwZUVsZW1lbnRCYXNlLFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzIHwgbnVsbCxcbiAgKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZWF0KHR0LmJyYWNrZXRMKSkge1xuICAgICAgKHByb3AgYXMgVW5kb25lPE4uT2JqZWN0T3JDbGFzc01lbWJlcj4pLmNvbXB1dGVkID0gdHJ1ZTtcbiAgICAgIHByb3Aua2V5ID0gdGhpcy5wYXJzZU1heWJlQXNzaWduQWxsb3dJbigpO1xuICAgICAgdGhpcy5leHBlY3QodHQuYnJhY2tldFIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBXZSBjaGVjayBpZiBpdCdzIHZhbGlkIGZvciBpdCB0byBiZSBhIHByaXZhdGUgbmFtZSB3aGVuIHdlIHB1c2ggaXQuXG4gICAgICBjb25zdCB7IHR5cGUsIHZhbHVlIH0gPSB0aGlzLnN0YXRlO1xuICAgICAgbGV0IGtleTtcbiAgICAgIC8vIG1vc3QgdW4tY29tcHV0ZWQgcHJvcGVydHkgbmFtZXMgYXJlIGlkZW50aWZpZXJzXG4gICAgICBpZiAodG9rZW5Jc0tleXdvcmRPcklkZW50aWZpZXIodHlwZSkpIHtcbiAgICAgICAga2V5ID0gdGhpcy5wYXJzZUlkZW50aWZpZXIodHJ1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzd2l0Y2ggKHR5cGUpIHtcbiAgICAgICAgICBjYXNlIHR0Lm51bTpcbiAgICAgICAgICAgIGtleSA9IHRoaXMucGFyc2VOdW1lcmljTGl0ZXJhbCh2YWx1ZSk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIHR0LnN0cmluZzpcbiAgICAgICAgICAgIGtleSA9IHRoaXMucGFyc2VTdHJpbmdMaXRlcmFsKHZhbHVlKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIGNhc2UgdHQuYmlnaW50OlxuICAgICAgICAgICAga2V5ID0gdGhpcy5wYXJzZUJpZ0ludExpdGVyYWwodmFsdWUpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSB0dC5wcml2YXRlTmFtZToge1xuICAgICAgICAgICAgLy8gdGhlIGNsYXNzIHByaXZhdGUga2V5IGhhcyBiZWVuIGhhbmRsZWQgaW4gcGFyc2VDbGFzc0VsZW1lbnROYW1lXG4gICAgICAgICAgICBjb25zdCBwcml2YXRlS2V5TG9jID0gdGhpcy5zdGF0ZS5zdGFydExvYztcbiAgICAgICAgICAgIGlmIChyZWZFeHByZXNzaW9uRXJyb3JzICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgaWYgKHJlZkV4cHJlc3Npb25FcnJvcnMucHJpdmF0ZUtleUxvYyA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJlZkV4cHJlc3Npb25FcnJvcnMucHJpdmF0ZUtleUxvYyA9IHByaXZhdGVLZXlMb2M7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLlVuZXhwZWN0ZWRQcml2YXRlRmllbGQsIHByaXZhdGVLZXlMb2MpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAga2V5ID0gdGhpcy5wYXJzZVByaXZhdGVOYW1lKCk7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIGlmICghcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORyAmJiB0eXBlID09PSB0dC5kZWNpbWFsKSB7XG4gICAgICAgICAgICAgIGtleSA9IHRoaXMucGFyc2VEZWNpbWFsTGl0ZXJhbCh2YWx1ZSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnVuZXhwZWN0ZWQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgKHByb3AgYXMgYW55KS5rZXkgPSBrZXk7XG4gICAgICBpZiAodHlwZSAhPT0gdHQucHJpdmF0ZU5hbWUpIHtcbiAgICAgICAgLy8gQ2xhc3NQcml2YXRlUHJvcGVydHkgaXMgbmV2ZXIgY29tcHV0ZWQsIHNvIHdlIGRvbid0IGFzc2lnbiBpbiB0aGF0IGNhc2UuXG4gICAgICAgIHByb3AuY29tcHV0ZWQgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbml0aWFsaXplIGVtcHR5IGZ1bmN0aW9uIG5vZGUuXG5cbiAgaW5pdEZ1bmN0aW9uKG5vZGU6IE4uQm9kaWxlc3NGdW5jdGlvbk9yTWV0aG9kQmFzZSwgaXNBc3luYzogYm9vbGVhbik6IHZvaWQge1xuICAgIG5vZGUuaWQgPSBudWxsO1xuICAgIG5vZGUuZ2VuZXJhdG9yID0gZmFsc2U7XG4gICAgbm9kZS5hc3luYyA9IGlzQXN5bmM7XG4gIH1cblxuICAvLyBQYXJzZSBvYmplY3Qgb3IgY2xhc3MgbWV0aG9kLlxuXG4gIHBhcnNlTWV0aG9kPFQgZXh0ZW5kcyBOLk9iamVjdE1ldGhvZCB8IE4uQ2xhc3NNZXRob2QgfCBOLkNsYXNzUHJpdmF0ZU1ldGhvZD4oXG4gICAgdGhpczogUGFyc2VyLFxuICAgIG5vZGU6IFVuZG9uZTxUPixcbiAgICBpc0dlbmVyYXRvcjogYm9vbGVhbixcbiAgICBpc0FzeW5jOiBib29sZWFuLFxuICAgIGlzQ29uc3RydWN0b3I6IGJvb2xlYW4sXG4gICAgYWxsb3dEaXJlY3RTdXBlcjogYm9vbGVhbixcbiAgICB0eXBlOiBUW1widHlwZVwiXSxcbiAgICBpbkNsYXNzU2NvcGU6IGJvb2xlYW4gPSBmYWxzZSxcbiAgKTogVCB7XG4gICAgdGhpcy5pbml0RnVuY3Rpb24obm9kZSwgaXNBc3luYyk7XG4gICAgbm9kZS5nZW5lcmF0b3IgPSBpc0dlbmVyYXRvcjtcbiAgICB0aGlzLnNjb3BlLmVudGVyKFxuICAgICAgU2NvcGVGbGFnLkZVTkNUSU9OIHxcbiAgICAgICAgU2NvcGVGbGFnLlNVUEVSIHxcbiAgICAgICAgKGluQ2xhc3NTY29wZSA/IFNjb3BlRmxhZy5DTEFTUyA6IDApIHxcbiAgICAgICAgKGFsbG93RGlyZWN0U3VwZXIgPyBTY29wZUZsYWcuRElSRUNUX1NVUEVSIDogMCksXG4gICAgKTtcbiAgICB0aGlzLnByb2RQYXJhbS5lbnRlcihmdW5jdGlvbkZsYWdzKGlzQXN5bmMsIG5vZGUuZ2VuZXJhdG9yKSk7XG4gICAgdGhpcy5wYXJzZUZ1bmN0aW9uUGFyYW1zKG5vZGUsIGlzQ29uc3RydWN0b3IpO1xuICAgIGNvbnN0IGZpbmlzaGVkTm9kZSA9IHRoaXMucGFyc2VGdW5jdGlvbkJvZHlBbmRGaW5pc2gobm9kZSwgdHlwZSwgdHJ1ZSk7XG4gICAgdGhpcy5wcm9kUGFyYW0uZXhpdCgpO1xuICAgIHRoaXMuc2NvcGUuZXhpdCgpO1xuXG4gICAgcmV0dXJuIGZpbmlzaGVkTm9kZTtcbiAgfVxuXG4gIC8vIHBhcnNlIGFuIGFycmF5IGxpdGVyYWwgb3IgdHVwbGUgbGl0ZXJhbFxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1BcnJheUxpdGVyYWxcbiAgLy8gaHR0cHM6Ly90YzM5LmVzL3Byb3Bvc2FsLXJlY29yZC10dXBsZS8jcHJvZC1UdXBsZUxpdGVyYWxcbiAgcGFyc2VBcnJheUxpa2UoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIGNsb3NlOiBUb2tlblR5cGUsXG4gICAgY2FuQmVQYXR0ZXJuOiBib29sZWFuLFxuICAgIGlzVHVwbGU6IGJvb2xlYW4sXG4gICAgcmVmRXhwcmVzc2lvbkVycm9ycz86IEV4cHJlc3Npb25FcnJvcnMgfCBudWxsLFxuICApOiBOLkFycmF5RXhwcmVzc2lvbiB8IE4uVHVwbGVFeHByZXNzaW9uIHtcbiAgICBpZiAoaXNUdXBsZSkge1xuICAgICAgdGhpcy5leHBlY3RQbHVnaW4oXCJyZWNvcmRBbmRUdXBsZVwiKTtcbiAgICB9XG4gICAgY29uc3Qgb2xkSW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHkgPSB0aGlzLnN0YXRlLmluRlNoYXJwUGlwZWxpbmVEaXJlY3RCb2R5O1xuICAgIHRoaXMuc3RhdGUuaW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHkgPSBmYWxzZTtcbiAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5BcnJheUV4cHJlc3Npb24gfCBOLlR1cGxlRXhwcmVzc2lvbj4oKTtcbiAgICB0aGlzLm5leHQoKTtcbiAgICBub2RlLmVsZW1lbnRzID0gdGhpcy5wYXJzZUV4cHJMaXN0KFxuICAgICAgY2xvc2UsXG4gICAgICAvKiBhbGxvd0VtcHR5ICovICFpc1R1cGxlLFxuICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycyxcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdG9kbyhmbG93LT50cylcbiAgICAgIG5vZGUsXG4gICAgKTtcbiAgICB0aGlzLnN0YXRlLmluRlNoYXJwUGlwZWxpbmVEaXJlY3RCb2R5ID0gb2xkSW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHk7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShcbiAgICAgIG5vZGUsXG4gICAgICBpc1R1cGxlID8gXCJUdXBsZUV4cHJlc3Npb25cIiA6IFwiQXJyYXlFeHByZXNzaW9uXCIsXG4gICAgKTtcbiAgfVxuXG4gIC8vIFBhcnNlIGFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb24uXG4gIC8vIElmIHRoZSBwYXJhbWV0ZXJzIGFyZSBwcm92aWRlZCwgdGhleSB3aWxsIGJlIGNvbnZlcnRlZCB0byBhblxuICAvLyBhc3NpZ25hYmxlIGxpc3QuXG4gIHBhcnNlQXJyb3dFeHByZXNzaW9uKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBub2RlOiBVbmRvbmU8Ti5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbj4sXG4gICAgcGFyYW1zOlxuICAgICAgfCBBcnJheTxOLkV4cHJlc3Npb24gfCBOLlNwcmVhZEVsZW1lbnQ+XG4gICAgICB8IEFycmF5PE4uRXhwcmVzc2lvbiB8IE4uUmVzdEVsZW1lbnQ+LFxuICAgIGlzQXN5bmM6IGJvb2xlYW4sXG4gICAgdHJhaWxpbmdDb21tYUxvYz86IFBvc2l0aW9uIHwgbnVsbCxcbiAgKTogTi5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiB7XG4gICAgdGhpcy5zY29wZS5lbnRlcihTY29wZUZsYWcuRlVOQ1RJT04gfCBTY29wZUZsYWcuQVJST1cpO1xuICAgIGxldCBmbGFncyA9IGZ1bmN0aW9uRmxhZ3MoaXNBc3luYywgZmFsc2UpO1xuICAgIC8vIENvbmNpc2VCb2R5W0luXSA6XG4gICAgLy8gICBbbG9va2FoZWFkIOKJoCB7XSBFeHByZXNzaW9uQm9keVs/SW4sIH5Bd2FpdF1cbiAgICAvLyAgIHsgRnVuY3Rpb25Cb2R5W35ZaWVsZCwgfkF3YWl0XSB9XG4gICAgaWYgKCF0aGlzLm1hdGNoKHR0LmJyYWNlTCkgJiYgdGhpcy5wcm9kUGFyYW0uaGFzSW4pIHtcbiAgICAgIGZsYWdzIHw9IFBhcmFtS2luZC5QQVJBTV9JTjtcbiAgICB9XG4gICAgdGhpcy5wcm9kUGFyYW0uZW50ZXIoZmxhZ3MpO1xuICAgIHRoaXMuaW5pdEZ1bmN0aW9uKG5vZGUsIGlzQXN5bmMpO1xuICAgIGNvbnN0IG9sZE1heWJlSW5BcnJvd1BhcmFtZXRlcnMgPSB0aGlzLnN0YXRlLm1heWJlSW5BcnJvd1BhcmFtZXRlcnM7XG5cbiAgICBpZiAocGFyYW1zKSB7XG4gICAgICB0aGlzLnN0YXRlLm1heWJlSW5BcnJvd1BhcmFtZXRlcnMgPSB0cnVlO1xuICAgICAgdGhpcy5zZXRBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycyhub2RlLCBwYXJhbXMsIHRyYWlsaW5nQ29tbWFMb2MpO1xuICAgIH1cbiAgICB0aGlzLnN0YXRlLm1heWJlSW5BcnJvd1BhcmFtZXRlcnMgPSBmYWxzZTtcbiAgICB0aGlzLnBhcnNlRnVuY3Rpb25Cb2R5KG5vZGUsIHRydWUpO1xuXG4gICAgdGhpcy5wcm9kUGFyYW0uZXhpdCgpO1xuICAgIHRoaXMuc2NvcGUuZXhpdCgpO1xuICAgIHRoaXMuc3RhdGUubWF5YmVJbkFycm93UGFyYW1ldGVycyA9IG9sZE1heWJlSW5BcnJvd1BhcmFtZXRlcnM7XG5cbiAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIik7XG4gIH1cblxuICBzZXRBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycyhcbiAgICBub2RlOiBVbmRvbmU8Ti5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbj4sXG4gICAgcGFyYW1zOlxuICAgICAgfCBBcnJheTxOLkV4cHJlc3Npb24gfCBOLlNwcmVhZEVsZW1lbnQ+XG4gICAgICB8IEFycmF5PE4uRXhwcmVzc2lvbiB8IE4uUmVzdEVsZW1lbnQ+LFxuICAgIHRyYWlsaW5nQ29tbWFMb2M/OiBQb3NpdGlvbiB8IG51bGwsXG4gICk6IHZvaWQge1xuICAgIHRoaXMudG9Bc3NpZ25hYmxlTGlzdChwYXJhbXMsIHRyYWlsaW5nQ29tbWFMb2MsIGZhbHNlKTtcbiAgICBub2RlLnBhcmFtcyA9IHBhcmFtcyBhcyAoTi5QYXR0ZXJuIHwgTi5UU1BhcmFtZXRlclByb3BlcnR5KVtdO1xuICB9XG5cbiAgcGFyc2VGdW5jdGlvbkJvZHlBbmRGaW5pc2g8XG4gICAgVCBleHRlbmRzXG4gICAgICB8IE4uRnVuY3Rpb25cbiAgICAgIHwgTi5UU0RlY2xhcmVNZXRob2RcbiAgICAgIHwgTi5UU0RlY2xhcmVGdW5jdGlvblxuICAgICAgfCBOLkNsYXNzUHJpdmF0ZU1ldGhvZCxcbiAgPihub2RlOiBVbmRvbmU8VD4sIHR5cGU6IFRbXCJ0eXBlXCJdLCBpc01ldGhvZDogYm9vbGVhbiA9IGZhbHNlKTogVCB7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciAobm9kZSBpcyBub3QgYm9kaWxlc3MgaWYgd2UgZ2V0IGhlcmUpXG4gICAgdGhpcy5wYXJzZUZ1bmN0aW9uQm9keShub2RlLCBmYWxzZSwgaXNNZXRob2QpO1xuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgdHlwZSk7XG4gIH1cblxuICAvLyBQYXJzZSBmdW5jdGlvbiBib2R5IGFuZCBjaGVjayBwYXJhbWV0ZXJzLlxuICBwYXJzZUZ1bmN0aW9uQm9keShcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgbm9kZTogVW5kb25lPE4uRnVuY3Rpb24+LFxuICAgIGFsbG93RXhwcmVzc2lvbj86IGJvb2xlYW4gfCBudWxsLFxuICAgIGlzTWV0aG9kOiBib29sZWFuID0gZmFsc2UsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGlzRXhwcmVzc2lvbiA9IGFsbG93RXhwcmVzc2lvbiAmJiAhdGhpcy5tYXRjaCh0dC5icmFjZUwpO1xuICAgIHRoaXMuZXhwcmVzc2lvblNjb3BlLmVudGVyKG5ld0V4cHJlc3Npb25TY29wZSgpKTtcblxuICAgIGlmIChpc0V4cHJlc3Npb24pIHtcbiAgICAgIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLUV4cHJlc3Npb25Cb2R5XG4gICAgICAobm9kZSBhcyBVbmRvbmU8Ti5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbj4pLmJvZHkgPVxuICAgICAgICB0aGlzLnBhcnNlTWF5YmVBc3NpZ24oKTtcbiAgICAgIHRoaXMuY2hlY2tQYXJhbXMobm9kZSwgZmFsc2UsIGFsbG93RXhwcmVzc2lvbiwgZmFsc2UpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBvbGRTdHJpY3QgPSB0aGlzLnN0YXRlLnN0cmljdDtcbiAgICAgIC8vIFN0YXJ0IGEgbmV3IHNjb3BlIHdpdGggcmVnYXJkIHRvIGxhYmVsc1xuICAgICAgLy8gZmxhZyAocmVzdG9yZSB0aGVtIHRvIHRoZWlyIG9sZCB2YWx1ZSBhZnRlcndhcmRzKS5cbiAgICAgIGNvbnN0IG9sZExhYmVscyA9IHRoaXMuc3RhdGUubGFiZWxzO1xuICAgICAgdGhpcy5zdGF0ZS5sYWJlbHMgPSBbXTtcblxuICAgICAgLy8gRnVuY3Rpb25Cb2R5W1lpZWxkLCBBd2FpdF06XG4gICAgICAvLyAgIFN0YXRlbWVudExpc3RbP1lpZWxkLCA/QXdhaXQsICtSZXR1cm5dIG9wdFxuICAgICAgdGhpcy5wcm9kUGFyYW0uZW50ZXIoXG4gICAgICAgIHRoaXMucHJvZFBhcmFtLmN1cnJlbnRGbGFncygpIHwgUGFyYW1LaW5kLlBBUkFNX1JFVFVSTixcbiAgICAgICk7XG4gICAgICBub2RlLmJvZHkgPSB0aGlzLnBhcnNlQmxvY2soXG4gICAgICAgIHRydWUsXG4gICAgICAgIGZhbHNlLFxuICAgICAgICAvLyBTdHJpY3QgbW9kZSBmdW5jdGlvbiBjaGVja3MgYWZ0ZXIgd2UgcGFyc2UgdGhlIHN0YXRlbWVudHMgaW4gdGhlIGZ1bmN0aW9uIGJvZHkuXG4gICAgICAgIChoYXNTdHJpY3RNb2RlRGlyZWN0aXZlOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgY29uc3Qgbm9uU2ltcGxlID0gIXRoaXMuaXNTaW1wbGVQYXJhbUxpc3Qobm9kZS5wYXJhbXMpO1xuXG4gICAgICAgICAgaWYgKGhhc1N0cmljdE1vZGVEaXJlY3RpdmUgJiYgbm9uU2ltcGxlKSB7XG4gICAgICAgICAgICAvLyBUaGlzIGxvZ2ljIGlzIGhlcmUgdG8gYWxpZ24gdGhlIGVycm9yIGxvY2F0aW9uIHdpdGggdGhlIEVTVHJlZSBwbHVnaW4uXG4gICAgICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgICAgICBFcnJvcnMuSWxsZWdhbExhbmd1YWdlTW9kZURpcmVjdGl2ZSxcbiAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBraW5kIG1heSBub3QgaW5kZXggbm9kZVxuICAgICAgICAgICAgICAobm9kZS5raW5kID09PSBcIm1ldGhvZFwiIHx8IG5vZGUua2luZCA9PT0gXCJjb25zdHJ1Y3RvclwiKSAmJlxuICAgICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3Iga2V5IG1heSBub3QgaW5kZXggbm9kZVxuICAgICAgICAgICAgICAgICEhbm9kZS5rZXlcbiAgICAgICAgICAgICAgICA/IC8vIEB0cy1leHBlY3QtZXJyb3Igbm9kZS5rZXkgaGFzIGJlZW4gZ3VhcmRlZFxuICAgICAgICAgICAgICAgICAgbm9kZS5rZXkubG9jLmVuZFxuICAgICAgICAgICAgICAgIDogbm9kZSxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3Qgc3RyaWN0TW9kZUNoYW5nZWQgPSAhb2xkU3RyaWN0ICYmIHRoaXMuc3RhdGUuc3RyaWN0O1xuXG4gICAgICAgICAgLy8gQWRkIHRoZSBwYXJhbXMgdG8gdmFyRGVjbGFyZWROYW1lcyB0byBlbnN1cmUgdGhhdCBhbiBlcnJvciBpcyB0aHJvd25cbiAgICAgICAgICAvLyBpZiBhIGxldC9jb25zdCBkZWNsYXJhdGlvbiBpbiB0aGUgZnVuY3Rpb24gY2xhc2hlcyB3aXRoIG9uZSBvZiB0aGUgcGFyYW1zLlxuICAgICAgICAgIHRoaXMuY2hlY2tQYXJhbXMoXG4gICAgICAgICAgICBub2RlLFxuICAgICAgICAgICAgIXRoaXMuc3RhdGUuc3RyaWN0ICYmICFhbGxvd0V4cHJlc3Npb24gJiYgIWlzTWV0aG9kICYmICFub25TaW1wbGUsXG4gICAgICAgICAgICBhbGxvd0V4cHJlc3Npb24sXG4gICAgICAgICAgICBzdHJpY3RNb2RlQ2hhbmdlZCxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgLy8gRW5zdXJlIHRoZSBmdW5jdGlvbiBuYW1lIGlzbid0IGEgZm9yYmlkZGVuIGlkZW50aWZpZXIgaW4gc3RyaWN0IG1vZGUsIGUuZy4gJ2V2YWwnXG4gICAgICAgICAgaWYgKHRoaXMuc3RhdGUuc3RyaWN0ICYmIG5vZGUuaWQpIHtcbiAgICAgICAgICAgIHRoaXMuY2hlY2tJZGVudGlmaWVyKFxuICAgICAgICAgICAgICBub2RlLmlkLFxuICAgICAgICAgICAgICBCaW5kaW5nRmxhZy5UWVBFX09VVFNJREUsXG4gICAgICAgICAgICAgIHN0cmljdE1vZGVDaGFuZ2VkLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICApO1xuICAgICAgdGhpcy5wcm9kUGFyYW0uZXhpdCgpO1xuICAgICAgdGhpcy5zdGF0ZS5sYWJlbHMgPSBvbGRMYWJlbHM7XG4gICAgfVxuICAgIHRoaXMuZXhwcmVzc2lvblNjb3BlLmV4aXQoKTtcbiAgfVxuXG4gIGlzU2ltcGxlUGFyYW1ldGVyKG5vZGU6IE4uUGF0dGVybiB8IE4uVFNQYXJhbWV0ZXJQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBub2RlLnR5cGUgPT09IFwiSWRlbnRpZmllclwiO1xuICB9XG5cbiAgaXNTaW1wbGVQYXJhbUxpc3QoXG4gICAgcGFyYW1zOiBSZWFkb25seUFycmF5PE4uUGF0dGVybiB8IE4uVFNQYXJhbWV0ZXJQcm9wZXJ0eT4sXG4gICk6IGJvb2xlYW4ge1xuICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBwYXJhbXMubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGlmICghdGhpcy5pc1NpbXBsZVBhcmFtZXRlcihwYXJhbXNbaV0pKSByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY2hlY2tQYXJhbXMoXG4gICAgbm9kZTogVW5kb25lPE4uRnVuY3Rpb24+LFxuICAgIGFsbG93RHVwbGljYXRlczogYm9vbGVhbixcbiAgICBpc0Fycm93RnVuY3Rpb24/OiBib29sZWFuIHwgbnVsbCxcbiAgICBzdHJpY3RNb2RlQ2hhbmdlZDogYm9vbGVhbiA9IHRydWUsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGNoZWNrQ2xhc2hlcyA9ICFhbGxvd0R1cGxpY2F0ZXMgJiYgbmV3IFNldDxzdHJpbmc+KCk7XG4gICAgLy8gV2UgY3JlYXRlIGEgZmFrZSBub2RlIHdpdGggdGhlIFwiZXBoZW1lcmFsXCIgdHlwZSBgRm9ybWFsUGFyYW1ldGVyc2BbMV1cbiAgICAvLyBzaW5jZSB3ZSBqdXN0IHN0b3JlIGFuIGFycmF5IG9mIHBhcmFtZXRlcnMuIFBlcmhhcHMgc29tZWRheSB3ZSBjYW4gaGF2ZVxuICAgIC8vIHNvbWV0aGluZyBsaWtlIGNsYXNzIEZvcm1hbFBhcmFtZXRlcnMgZXh0ZW5kcyBBcnJheSB7IC4uLiB9LCB3aGljaCB3b3VsZFxuICAgIC8vIGFsc28gYmUgaGVscGZ1bCB3aGVuIHRyYXZlcnNpbmcgdGhpcyBub2RlLlxuICAgIC8vXG4gICAgLy8gMS4gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtRm9ybWFsUGFyYW1ldGVyc1xuICAgIGNvbnN0IGZvcm1hbFBhcmFtZXRlcnMgPSB7IHR5cGU6IFwiRm9ybWFsUGFyYW1ldGVyc1wiIH0gYXMgY29uc3Q7XG4gICAgZm9yIChjb25zdCBwYXJhbSBvZiBub2RlLnBhcmFtcykge1xuICAgICAgdGhpcy5jaGVja0xWYWwoXG4gICAgICAgIHBhcmFtLFxuICAgICAgICBmb3JtYWxQYXJhbWV0ZXJzLFxuICAgICAgICBCaW5kaW5nRmxhZy5UWVBFX1ZBUixcbiAgICAgICAgY2hlY2tDbGFzaGVzLFxuICAgICAgICBzdHJpY3RNb2RlQ2hhbmdlZCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgZXhwcmVzc2lvbnMsIGFuZCByZXR1cm5zIHRoZW0gYXNcbiAgLy8gYW4gYXJyYXkuIGBjbG9zZWAgaXMgdGhlIHRva2VuIHR5cGUgdGhhdCBlbmRzIHRoZSBsaXN0LCBhbmRcbiAgLy8gYGFsbG93RW1wdHlgIGNhbiBiZSB0dXJuZWQgb24gdG8gYWxsb3cgc3Vic2VxdWVudCBjb21tYXMgd2l0aFxuICAvLyBub3RoaW5nIGluIGJldHdlZW4gdGhlbSB0byBiZSBwYXJzZWQgYXMgYG51bGxgICh3aGljaCBpcyBuZWVkZWRcbiAgLy8gZm9yIGFycmF5IGxpdGVyYWxzKS5cblxuICBwYXJzZUV4cHJMaXN0KFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBjbG9zZTogVG9rZW5UeXBlLFxuICAgIGFsbG93RW1wdHk/OiBib29sZWFuLFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzIHwgbnVsbCxcbiAgICBub2RlRm9yRXh0cmE/OiBOLk5vZGUgfCBudWxsLFxuICApOiAoTi5FeHByZXNzaW9uIHwgbnVsbClbXSB7XG4gICAgY29uc3QgZWx0czogKE4uRXhwcmVzc2lvbiB8IG51bGwpW10gPSBbXTtcbiAgICBsZXQgZmlyc3QgPSB0cnVlO1xuXG4gICAgd2hpbGUgKCF0aGlzLmVhdChjbG9zZSkpIHtcbiAgICAgIGlmIChmaXJzdCkge1xuICAgICAgICBmaXJzdCA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5leHBlY3QodHQuY29tbWEpO1xuICAgICAgICBpZiAodGhpcy5tYXRjaChjbG9zZSkpIHtcbiAgICAgICAgICBpZiAobm9kZUZvckV4dHJhKSB7XG4gICAgICAgICAgICB0aGlzLmFkZFRyYWlsaW5nQ29tbWFFeHRyYVRvTm9kZShub2RlRm9yRXh0cmEpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLm5leHQoKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBlbHRzLnB1c2godGhpcy5wYXJzZUV4cHJMaXN0SXRlbShhbGxvd0VtcHR5LCByZWZFeHByZXNzaW9uRXJyb3JzKSk7XG4gICAgfVxuICAgIHJldHVybiBlbHRzO1xuICB9XG5cbiAgcGFyc2VFeHByTGlzdEl0ZW0oXG4gICAgdGhpczogUGFyc2VyLFxuICAgIGFsbG93RW1wdHk/OiBib29sZWFuLFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzIHwgbnVsbCxcbiAgICBhbGxvd1BsYWNlaG9sZGVyPzogYm9vbGVhbiB8IG51bGwsXG4gICk6IE4uRXhwcmVzc2lvbiB8IG51bGw7XG4gIHBhcnNlRXhwckxpc3RJdGVtKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBhbGxvd0VtcHR5PzogZmFsc2UsXG4gICAgcmVmRXhwcmVzc2lvbkVycm9ycz86IEV4cHJlc3Npb25FcnJvcnMgfCBudWxsLFxuICAgIGFsbG93UGxhY2Vob2xkZXI/OiBib29sZWFuIHwgbnVsbCxcbiAgKTogTi5FeHByZXNzaW9uO1xuICBwYXJzZUV4cHJMaXN0SXRlbShcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgYWxsb3dFbXB0eT86IGJvb2xlYW4gfCBudWxsLFxuICAgIHJlZkV4cHJlc3Npb25FcnJvcnM/OiBFeHByZXNzaW9uRXJyb3JzIHwgbnVsbCxcbiAgICBhbGxvd1BsYWNlaG9sZGVyPzogYm9vbGVhbiB8IG51bGwsXG4gICk6IE4uRXhwcmVzc2lvbiB8IE4uU3ByZWFkRWxlbWVudCB8IE4uQXJndW1lbnRQbGFjZWhvbGRlciB8IG51bGwge1xuICAgIGxldCBlbHQ7XG4gICAgaWYgKHRoaXMubWF0Y2godHQuY29tbWEpKSB7XG4gICAgICBpZiAoIWFsbG93RW1wdHkpIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuVW5leHBlY3RlZFRva2VuLCB0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCksIHtcbiAgICAgICAgICB1bmV4cGVjdGVkOiBcIixcIixcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBlbHQgPSBudWxsO1xuICAgIH0gZWxzZSBpZiAodGhpcy5tYXRjaCh0dC5lbGxpcHNpcykpIHtcbiAgICAgIGNvbnN0IHNwcmVhZE5vZGVTdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG5cbiAgICAgIGVsdCA9IHRoaXMucGFyc2VQYXJlbkl0ZW0oXG4gICAgICAgIHRoaXMucGFyc2VTcHJlYWQocmVmRXhwcmVzc2lvbkVycm9ycyksXG4gICAgICAgIHNwcmVhZE5vZGVTdGFydExvYyxcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0aGlzLm1hdGNoKHR0LnF1ZXN0aW9uKSkge1xuICAgICAgdGhpcy5leHBlY3RQbHVnaW4oXCJwYXJ0aWFsQXBwbGljYXRpb25cIik7XG4gICAgICBpZiAoIWFsbG93UGxhY2Vob2xkZXIpIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuVW5leHBlY3RlZEFyZ3VtZW50UGxhY2Vob2xkZXIsIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgICAgfVxuICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uQXJndW1lbnRQbGFjZWhvbGRlcj4oKTtcbiAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgZWx0ID0gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiQXJndW1lbnRQbGFjZWhvbGRlclwiKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZWx0ID0gdGhpcy5wYXJzZU1heWJlQXNzaWduQWxsb3dJbihcbiAgICAgICAgcmVmRXhwcmVzc2lvbkVycm9ycyxcbiAgICAgICAgdGhpcy5wYXJzZVBhcmVuSXRlbSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBlbHQ7XG4gIH1cblxuICAvLyBQYXJzZSB0aGUgbmV4dCB0b2tlbiBhcyBhbiBpZGVudGlmaWVyLiBJZiBgbGliZXJhbGAgaXMgdHJ1ZSAodXNlZFxuICAvLyB3aGVuIHBhcnNpbmcgcHJvcGVydGllcyksIGl0IHdpbGwgYWxzbyBjb252ZXJ0IGtleXdvcmRzIGludG9cbiAgLy8gaWRlbnRpZmllcnMuXG4gIC8vIFRoaXMgc2hvdWxkbid0IGJlIHVzZWQgdG8gcGFyc2UgdGhlIGtleXdvcmRzIG9mIG1ldGEgcHJvcGVydGllcywgc2luY2UgdGhleVxuICAvLyBhcmUgbm90IGlkZW50aWZpZXJzIGFuZCBjYW5ub3QgY29udGFpbiBlc2NhcGUgc2VxdWVuY2VzLlxuXG4gIHBhcnNlSWRlbnRpZmllcihsaWJlcmFsPzogYm9vbGVhbik6IE4uSWRlbnRpZmllciB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uSWRlbnRpZmllcj4oKTtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5wYXJzZUlkZW50aWZpZXJOYW1lKGxpYmVyYWwpO1xuXG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlSWRlbnRpZmllcihub2RlLCBuYW1lKTtcbiAgfVxuXG4gIGNyZWF0ZUlkZW50aWZpZXIoXG4gICAgbm9kZTogT21pdDxOLklkZW50aWZpZXIsIFwidHlwZVwiPixcbiAgICBuYW1lOiBzdHJpbmcsXG4gICk6IE4uSWRlbnRpZmllciB7XG4gICAgbm9kZS5uYW1lID0gbmFtZTtcbiAgICBub2RlLmxvYy5pZGVudGlmaWVyTmFtZSA9IG5hbWU7XG5cbiAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiSWRlbnRpZmllclwiKTtcbiAgfVxuXG4gIHBhcnNlSWRlbnRpZmllck5hbWUobGliZXJhbD86IGJvb2xlYW4pOiBzdHJpbmcge1xuICAgIGxldCBuYW1lOiBzdHJpbmc7XG5cbiAgICBjb25zdCB7IHN0YXJ0TG9jLCB0eXBlIH0gPSB0aGlzLnN0YXRlO1xuXG4gICAgaWYgKHRva2VuSXNLZXl3b3JkT3JJZGVudGlmaWVyKHR5cGUpKSB7XG4gICAgICBuYW1lID0gdGhpcy5zdGF0ZS52YWx1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgfVxuXG4gICAgY29uc3QgdG9rZW5Jc0tleXdvcmQgPSB0b2tlbktleXdvcmRPcklkZW50aWZpZXJJc0tleXdvcmQodHlwZSk7XG5cbiAgICBpZiAobGliZXJhbCkge1xuICAgICAgLy8gSWYgdGhlIGN1cnJlbnQgdG9rZW4gaXMgbm90IHVzZWQgYXMgYSBrZXl3b3JkLCBzZXQgaXRzIHR5cGUgdG8gXCJ0dC5uYW1lXCIuXG4gICAgICAvLyBUaGlzIHdpbGwgcHJldmVudCB0aGlzLm5leHQoKSBmcm9tIHRocm93aW5nIGFib3V0IHVuZXhwZWN0ZWQgZXNjYXBlcy5cbiAgICAgIGlmICh0b2tlbklzS2V5d29yZCkge1xuICAgICAgICB0aGlzLnJlcGxhY2VUb2tlbih0dC5uYW1lKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jaGVja1Jlc2VydmVkV29yZChuYW1lLCBzdGFydExvYywgdG9rZW5Jc0tleXdvcmQsIGZhbHNlKTtcbiAgICB9XG5cbiAgICB0aGlzLm5leHQoKTtcblxuICAgIHJldHVybiBuYW1lO1xuICB9XG5cbiAgY2hlY2tSZXNlcnZlZFdvcmQoXG4gICAgd29yZDogc3RyaW5nLFxuICAgIHN0YXJ0TG9jOiBQb3NpdGlvbixcbiAgICBjaGVja0tleXdvcmRzOiBib29sZWFuLFxuICAgIGlzQmluZGluZzogYm9vbGVhbixcbiAgKTogdm9pZCB7XG4gICAgLy8gRXZlcnkgSmF2YVNjcmlwdCByZXNlcnZlZCB3b3JkIGlzIDEwIGNoYXJhY3RlcnMgb3IgbGVzcy5cbiAgICBpZiAod29yZC5sZW5ndGggPiAxMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICAvLyBNb3N0IGlkZW50aWZpZXJzIGFyZSBub3QgcmVzZXJ2ZWRXb3JkLWxpa2UsIHRoZXkgZG9uJ3QgbmVlZCBzcGVjaWFsXG4gICAgLy8gdHJlYXRtZW50cyBhZnRlcndhcmQsIHdoaWNoIHZlcnkgbGlrZWx5IGVuZHMgdXAgdGhyb3dpbmcgZXJyb3JzXG4gICAgaWYgKCFjYW5CZVJlc2VydmVkV29yZCh3b3JkKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChjaGVja0tleXdvcmRzICYmIGlzS2V5d29yZCh3b3JkKSkge1xuICAgICAgdGhpcy5yYWlzZShFcnJvcnMuVW5leHBlY3RlZEtleXdvcmQsIHN0YXJ0TG9jLCB7XG4gICAgICAgIGtleXdvcmQ6IHdvcmQsXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCByZXNlcnZlZFRlc3QgPSAhdGhpcy5zdGF0ZS5zdHJpY3RcbiAgICAgID8gaXNSZXNlcnZlZFdvcmRcbiAgICAgIDogaXNCaW5kaW5nXG4gICAgICAgID8gaXNTdHJpY3RCaW5kUmVzZXJ2ZWRXb3JkXG4gICAgICAgIDogaXNTdHJpY3RSZXNlcnZlZFdvcmQ7XG5cbiAgICBpZiAocmVzZXJ2ZWRUZXN0KHdvcmQsIHRoaXMuaW5Nb2R1bGUpKSB7XG4gICAgICB0aGlzLnJhaXNlKEVycm9ycy5VbmV4cGVjdGVkUmVzZXJ2ZWRXb3JkLCBzdGFydExvYywge1xuICAgICAgICByZXNlcnZlZFdvcmQ6IHdvcmQsXG4gICAgICB9KTtcbiAgICAgIHJldHVybjtcbiAgICB9IGVsc2UgaWYgKHdvcmQgPT09IFwieWllbGRcIikge1xuICAgICAgaWYgKHRoaXMucHJvZFBhcmFtLmhhc1lpZWxkKSB7XG4gICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLllpZWxkQmluZGluZ0lkZW50aWZpZXIsIHN0YXJ0TG9jKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAod29yZCA9PT0gXCJhd2FpdFwiKSB7XG4gICAgICBpZiAodGhpcy5wcm9kUGFyYW0uaGFzQXdhaXQpIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuQXdhaXRCaW5kaW5nSWRlbnRpZmllciwgc3RhcnRMb2MpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnNjb3BlLmluU3RhdGljQmxvY2spIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuQXdhaXRCaW5kaW5nSWRlbnRpZmllckluU3RhdGljQmxvY2ssIHN0YXJ0TG9jKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB0aGlzLmV4cHJlc3Npb25TY29wZS5yZWNvcmRBc3luY0Fycm93UGFyYW1ldGVyc0Vycm9yKHN0YXJ0TG9jKTtcbiAgICB9IGVsc2UgaWYgKHdvcmQgPT09IFwiYXJndW1lbnRzXCIpIHtcbiAgICAgIGlmICh0aGlzLnNjb3BlLmluQ2xhc3NBbmROb3RJbk5vbkFycm93RnVuY3Rpb24pIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuQXJndW1lbnRzSW5DbGFzcywgc3RhcnRMb2MpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUmV0dXJucyB3ZXRoZXIgYGF3YWl0YCBpcyBhbGxvd2VkIG9yIG5vdCBpbiB0aGlzIGNvbnRleHQsIGFuZCBpZiBpdCBpc1xuICAvLyBrZWVwcyB0cmFjayBvZiBpdCB0byBkZXRlcm1pbmUgd2hldGhlciBhIG1vZHVsZSB1c2VzIHRvcC1sZXZlbCBhd2FpdC5cbiAgcmVjb3JkQXdhaXRJZkFsbG93ZWQoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgaXNBd2FpdEFsbG93ZWQgPVxuICAgICAgdGhpcy5wcm9kUGFyYW0uaGFzQXdhaXQgfHxcbiAgICAgICh0aGlzLm9wdGlvbnMuYWxsb3dBd2FpdE91dHNpZGVGdW5jdGlvbiAmJiAhdGhpcy5zY29wZS5pbkZ1bmN0aW9uKTtcblxuICAgIGlmIChpc0F3YWl0QWxsb3dlZCAmJiAhdGhpcy5zY29wZS5pbkZ1bmN0aW9uKSB7XG4gICAgICB0aGlzLnN0YXRlLmhhc1RvcExldmVsQXdhaXQgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBpc0F3YWl0QWxsb3dlZDtcbiAgfVxuXG4gIC8vIFBhcnNlcyBhd2FpdCBleHByZXNzaW9uIGluc2lkZSBhc3luYyBmdW5jdGlvbi5cblxuICBwYXJzZUF3YWl0KHRoaXM6IFBhcnNlciwgc3RhcnRMb2M6IFBvc2l0aW9uKTogTi5Bd2FpdEV4cHJlc3Npb24ge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uQXdhaXRFeHByZXNzaW9uPihzdGFydExvYyk7XG5cbiAgICB0aGlzLmV4cHJlc3Npb25TY29wZS5yZWNvcmRQYXJhbWV0ZXJJbml0aWFsaXplckVycm9yKFxuICAgICAgRXJyb3JzLkF3YWl0RXhwcmVzc2lvbkZvcm1hbFBhcmFtZXRlcixcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdG9kbyhmbG93LT50cylcbiAgICAgIG5vZGUsXG4gICAgKTtcblxuICAgIGlmICh0aGlzLmVhdCh0dC5zdGFyKSkge1xuICAgICAgdGhpcy5yYWlzZShFcnJvcnMuT2Jzb2xldGVBd2FpdFN0YXIsIG5vZGUpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5zY29wZS5pbkZ1bmN0aW9uICYmICF0aGlzLm9wdGlvbnMuYWxsb3dBd2FpdE91dHNpZGVGdW5jdGlvbikge1xuICAgICAgaWYgKHRoaXMuaXNBbWJpZ3VvdXNBd2FpdCgpKSB7XG4gICAgICAgIHRoaXMuYW1iaWd1b3VzU2NyaXB0RGlmZmVyZW50QXN0ID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuc2F3VW5hbWJpZ3VvdXNFU00gPSB0cnVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghdGhpcy5zdGF0ZS5zb2xvQXdhaXQpIHtcbiAgICAgIG5vZGUuYXJndW1lbnQgPSB0aGlzLnBhcnNlTWF5YmVVbmFyeShudWxsLCB0cnVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiQXdhaXRFeHByZXNzaW9uXCIpO1xuICB9XG5cbiAgaXNBbWJpZ3VvdXNBd2FpdCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSkgcmV0dXJuIHRydWU7XG4gICAgY29uc3QgeyB0eXBlIH0gPSB0aGlzLnN0YXRlO1xuICAgIHJldHVybiAoXG4gICAgICAvLyBBbGwgdGhlIGZvbGxvd2luZyBleHByZXNzaW9ucyBhcmUgYW1iaWd1b3VzOlxuICAgICAgLy8gICBhd2FpdCArIDAsIGF3YWl0IC0gMCwgYXdhaXQgKCAwICksIGF3YWl0IFsgMCBdLCBhd2FpdCAvIDAgL3UsIGF3YWl0IGBgLCBhd2FpdCBvZiBbXVxuICAgICAgdHlwZSA9PT0gdHQucGx1c01pbiB8fFxuICAgICAgdHlwZSA9PT0gdHQucGFyZW5MIHx8XG4gICAgICB0eXBlID09PSB0dC5icmFja2V0TCB8fFxuICAgICAgdG9rZW5Jc1RlbXBsYXRlKHR5cGUpIHx8XG4gICAgICAodHlwZSA9PT0gdHQuX29mICYmICF0aGlzLnN0YXRlLmNvbnRhaW5zRXNjKSB8fFxuICAgICAgLy8gU29tZXRpbWVzIHRoZSB0b2tlbml6ZXIgZ2VuZXJhdGVzIHR0LnNsYXNoIGZvciByZWdleHBzLCBhbmQgdGhpcyBpc1xuICAgICAgLy8gaGFuZGxlciBieSBwYXJzZUV4cHJBdG9tXG4gICAgICB0eXBlID09PSB0dC5yZWdleHAgfHxcbiAgICAgIHR5cGUgPT09IHR0LnNsYXNoIHx8XG4gICAgICAvLyBUaGlzIGNvZGUgY291bGQgYmUgcGFyc2VkIGJvdGggYXMgYSBtb2R1bG8gb3BlcmF0b3Igb3IgYXMgYW4gaW50cmluc2ljOlxuICAgICAgLy8gICBhd2FpdCAleCgwKVxuICAgICAgKHRoaXMuaGFzUGx1Z2luKFwidjhpbnRyaW5zaWNcIikgJiYgdHlwZSA9PT0gdHQubW9kdWxvKVxuICAgICk7XG4gIH1cblxuICAvLyBQYXJzZXMgeWllbGQgZXhwcmVzc2lvbiBpbnNpZGUgZ2VuZXJhdG9yLlxuXG4gIHBhcnNlWWllbGQodGhpczogUGFyc2VyKTogTi5ZaWVsZEV4cHJlc3Npb24ge1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLllpZWxkRXhwcmVzc2lvbj4oKTtcblxuICAgIHRoaXMuZXhwcmVzc2lvblNjb3BlLnJlY29yZFBhcmFtZXRlckluaXRpYWxpemVyRXJyb3IoXG4gICAgICBFcnJvcnMuWWllbGRJblBhcmFtZXRlcixcbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgdG9kbyhmbG93LT50cylcbiAgICAgIG5vZGUsXG4gICAgKTtcblxuICAgIHRoaXMubmV4dCgpO1xuICAgIGxldCBkZWxlZ2F0aW5nID0gZmFsc2U7XG4gICAgbGV0IGFyZ3VtZW50OiBOLkV4cHJlc3Npb24gfCBudWxsID0gbnVsbDtcbiAgICBpZiAoIXRoaXMuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpIHtcbiAgICAgIGRlbGVnYXRpbmcgPSB0aGlzLmVhdCh0dC5zdGFyKTtcbiAgICAgIHN3aXRjaCAodGhpcy5zdGF0ZS50eXBlKSB7XG4gICAgICAgIGNhc2UgdHQuc2VtaTpcbiAgICAgICAgY2FzZSB0dC5lb2Y6XG4gICAgICAgIGNhc2UgdHQuYnJhY2VSOlxuICAgICAgICBjYXNlIHR0LnBhcmVuUjpcbiAgICAgICAgY2FzZSB0dC5icmFja2V0UjpcbiAgICAgICAgY2FzZSB0dC5icmFjZUJhclI6XG4gICAgICAgIGNhc2UgdHQuY29sb246XG4gICAgICAgIGNhc2UgdHQuY29tbWE6XG4gICAgICAgICAgLy8gVGhlIGFib3ZlIGlzIHRoZSBjb21wbGV0ZSBzZXQgb2YgdG9rZW5zIHRoYXQgY2FuXG4gICAgICAgICAgLy8gZm9sbG93IGFuIEFzc2lnbm1lbnRFeHByZXNzaW9uLCBhbmQgbm9uZSBvZiB0aGVtXG4gICAgICAgICAgLy8gY2FuIHN0YXJ0IGFuIEFzc2lnbm1lbnRFeHByZXNzaW9uXG4gICAgICAgICAgaWYgKCFkZWxlZ2F0aW5nKSBicmVhaztcbiAgICAgICAgLyogZmFsbHRocm91Z2ggKi9cbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBhcmd1bWVudCA9IHRoaXMucGFyc2VNYXliZUFzc2lnbigpO1xuICAgICAgfVxuICAgIH1cbiAgICBub2RlLmRlbGVnYXRlID0gZGVsZWdhdGluZztcbiAgICBub2RlLmFyZ3VtZW50ID0gYXJndW1lbnQ7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIllpZWxkRXhwcmVzc2lvblwiKTtcbiAgfVxuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLUltcG9ydENhbGxcbiAgcGFyc2VJbXBvcnRDYWxsKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBub2RlOiBVbmRvbmU8Ti5JbXBvcnRFeHByZXNzaW9uPixcbiAgKTogTi5JbXBvcnRFeHByZXNzaW9uIHtcbiAgICB0aGlzLm5leHQoKTsgLy8gZWF0IHR0LnBhcmVuTFxuICAgIG5vZGUuc291cmNlID0gdGhpcy5wYXJzZU1heWJlQXNzaWduQWxsb3dJbigpO1xuICAgIG5vZGUub3B0aW9ucyA9IG51bGw7XG4gICAgaWYgKHRoaXMuZWF0KHR0LmNvbW1hKSkge1xuICAgICAgaWYgKCF0aGlzLm1hdGNoKHR0LnBhcmVuUikpIHtcbiAgICAgICAgbm9kZS5vcHRpb25zID0gdGhpcy5wYXJzZU1heWJlQXNzaWduQWxsb3dJbigpO1xuXG4gICAgICAgIGlmICh0aGlzLmVhdCh0dC5jb21tYSkgJiYgIXRoaXMubWF0Y2godHQucGFyZW5SKSkge1xuICAgICAgICAgIC8vIGtlZXAgY29uc3VtaW5nIGFyZ3VtZW50cywgdG8gdGhlbiB0aHJvdyBJbXBvcnRDYWxsQXJpdHlcbiAgICAgICAgICAvLyBpbnN0ZWFkIG9mIFwiZXhwZWN0ZWQgKVwiXG4gICAgICAgICAgZG8ge1xuICAgICAgICAgICAgdGhpcy5wYXJzZU1heWJlQXNzaWduQWxsb3dJbigpO1xuICAgICAgICAgIH0gd2hpbGUgKHRoaXMuZWF0KHR0LmNvbW1hKSAmJiAhdGhpcy5tYXRjaCh0dC5wYXJlblIpKTtcblxuICAgICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkltcG9ydENhbGxBcml0eSwgbm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5leHBlY3QodHQucGFyZW5SKTtcbiAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiSW1wb3J0RXhwcmVzc2lvblwiKTtcbiAgfVxuXG4gIC8vIFZhbGlkYXRlcyBhIHBpcGVsaW5lIChmb3IgYW55IG9mIHRoZSBwaXBlbGluZSBCYWJ5bG9uIHBsdWdpbnMpIGF0IHRoZSBwb2ludFxuICAvLyBvZiB0aGUgaW5maXggb3BlcmF0b3IgYHw+YC5cblxuICBjaGVja1BpcGVsaW5lQXRJbmZpeE9wZXJhdG9yKGxlZnQ6IE4uRXhwcmVzc2lvbiwgbGVmdFN0YXJ0TG9jOiBQb3NpdGlvbikge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgUmVtb3ZlIHRoaXMgaW4gQmFiZWwgOFxuICAgIGlmICh0aGlzLmhhc1BsdWdpbihbXCJwaXBlbGluZU9wZXJhdG9yXCIsIHsgcHJvcG9zYWw6IFwic21hcnRcIiB9XSkpIHtcbiAgICAgIGlmIChsZWZ0LnR5cGUgPT09IFwiU2VxdWVuY2VFeHByZXNzaW9uXCIpIHtcbiAgICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIHBpcGVsaW5lIGhlYWQgaXMgbm90IGEgY29tbWEtZGVsaW1pdGVkXG4gICAgICAgIC8vIHNlcXVlbmNlIGV4cHJlc3Npb24uXG4gICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLlBpcGVsaW5lSGVhZFNlcXVlbmNlRXhwcmVzc2lvbiwgbGVmdFN0YXJ0TG9jKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwYXJzZVNtYXJ0UGlwZWxpbmVCb2R5SW5TdHlsZShjaGlsZEV4cHI6IE4uRXhwcmVzc2lvbiwgc3RhcnRMb2M6IFBvc2l0aW9uKSB7XG4gICAgaWYgKHRoaXMuaXNTaW1wbGVSZWZlcmVuY2UoY2hpbGRFeHByKSkge1xuICAgICAgY29uc3QgYm9keU5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0PE4uUGlwZWxpbmVCYXJlRnVuY3Rpb24+KHN0YXJ0TG9jKTtcbiAgICAgIGJvZHlOb2RlLmNhbGxlZSA9IGNoaWxkRXhwcjtcbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUoYm9keU5vZGUsIFwiUGlwZWxpbmVCYXJlRnVuY3Rpb25cIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGJvZHlOb2RlID0gdGhpcy5zdGFydE5vZGVBdDxOLlBpcGVsaW5lVG9waWNFeHByZXNzaW9uPihzdGFydExvYyk7XG4gICAgICB0aGlzLmNoZWNrU21hcnRQaXBlVG9waWNCb2R5RWFybHlFcnJvcnMoc3RhcnRMb2MpO1xuICAgICAgYm9keU5vZGUuZXhwcmVzc2lvbiA9IGNoaWxkRXhwcjtcbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUoYm9keU5vZGUsIFwiUGlwZWxpbmVUb3BpY0V4cHJlc3Npb25cIik7XG4gICAgfVxuICB9XG5cbiAgaXNTaW1wbGVSZWZlcmVuY2UoZXhwcmVzc2lvbjogTi5FeHByZXNzaW9uKTogYm9vbGVhbiB7XG4gICAgc3dpdGNoIChleHByZXNzaW9uLnR5cGUpIHtcbiAgICAgIGNhc2UgXCJNZW1iZXJFeHByZXNzaW9uXCI6XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgIWV4cHJlc3Npb24uY29tcHV0ZWQgJiYgdGhpcy5pc1NpbXBsZVJlZmVyZW5jZShleHByZXNzaW9uLm9iamVjdClcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgXCJJZGVudGlmaWVyXCI6XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoaXMgaGVscGVyIG1ldGhvZCBpcyB0byBiZSBjYWxsZWQgaW1tZWRpYXRlbHlcbiAgLy8gYWZ0ZXIgYSB0b3BpYy1zdHlsZSBzbWFydC1taXggcGlwZSBib2R5IGlzIHBhcnNlZC5cbiAgLy8gVGhlIGBzdGFydExvY2AgaXMgdGhlIHN0YXJ0aW5nIHBvc2l0aW9uIG9mIHRoZSBwaXBlIGJvZHkuXG5cbiAgY2hlY2tTbWFydFBpcGVUb3BpY0JvZHlFYXJseUVycm9ycyhzdGFydExvYzogUG9zaXRpb24pOiB2b2lkIHtcbiAgICAvLyBJZiB0aGUgZm9sbG93aW5nIHRva2VuIGlzIGludmFsaWRseSBgPT5gLCB0aGVuIHRocm93IGEgaHVtYW4tZnJpZW5kbHkgZXJyb3JcbiAgICAvLyBpbnN0ZWFkIG9mIHNvbWV0aGluZyBsaWtlICdVbmV4cGVjdGVkIHRva2VuLCBleHBlY3RlZCBcIjtcIicuXG4gICAgLy8gRm9yIGV4YW1wbGUsIGB4ID0+IHggfD4geSA9PiAjYCAoYXNzdW1pbmcgYCNgIGlzIHRoZSB0b3BpYyByZWZlcmVuY2UpXG4gICAgLy8gZ3JvdXBzIGludG8gYHggPT4gKHggfD4geSkgPT4gI2AsXG4gICAgLy8gYW5kIGAoeCB8PiB5KSA9PiAjYCBpcyBhbiBpbnZhbGlkIGFycm93IGZ1bmN0aW9uLlxuICAgIC8vIFRoaXMgaXMgYmVjYXVzZSBzbWFydC1taXggYHw+YCBoYXMgdGlnaHRlciBwcmVjZWRlbmNlIHRoYW4gYD0+YC5cbiAgICBpZiAodGhpcy5tYXRjaCh0dC5hcnJvdykpIHtcbiAgICAgIHRocm93IHRoaXMucmFpc2UoRXJyb3JzLlBpcGVsaW5lQm9keU5vQXJyb3csIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgIH1cblxuICAgIC8vIEEgdG9waWMtc3R5bGUgc21hcnQtbWl4IHBpcGUgYm9keSBtdXN0IHVzZSB0aGUgdG9waWMgcmVmZXJlbmNlIGF0IGxlYXN0IG9uY2UuXG4gICAgaWYgKCF0aGlzLnRvcGljUmVmZXJlbmNlV2FzVXNlZEluQ3VycmVudENvbnRleHQoKSkge1xuICAgICAgdGhpcy5yYWlzZShFcnJvcnMuUGlwZWxpbmVUb3BpY1VudXNlZCwgc3RhcnRMb2MpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVuYWJsZSB0b3BpYyByZWZlcmVuY2VzIGZyb20gb3V0ZXIgY29udGV4dHMgd2l0aGluIEhhY2stc3R5bGUgcGlwZSBib2RpZXMuXG4gIC8vIFRoZSBmdW5jdGlvbiBtb2RpZmllcyB0aGUgcGFyc2VyJ3MgdG9waWMtY29udGV4dCBzdGF0ZSB0byBlbmFibGUgb3IgZGlzYWJsZVxuICAvLyB0aGUgdXNlIG9mIHRvcGljIHJlZmVyZW5jZXMuXG4gIC8vIFRoZSBmdW5jdGlvbiB0aGVuIGNhbGxzIGEgY2FsbGJhY2ssIHRoZW4gcmVzZXRzIHRoZSBwYXJzZXJcbiAgLy8gdG8gdGhlIG9sZCB0b3BpYy1jb250ZXh0IHN0YXRlIHRoYXQgaXQgaGFkIGJlZm9yZSB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZC5cblxuICB3aXRoVG9waWNCaW5kaW5nQ29udGV4dDxUPihjYWxsYmFjazogKCkgPT4gVCk6IFQge1xuICAgIGNvbnN0IG91dGVyQ29udGV4dFRvcGljU3RhdGUgPSB0aGlzLnN0YXRlLnRvcGljQ29udGV4dDtcbiAgICB0aGlzLnN0YXRlLnRvcGljQ29udGV4dCA9IHtcbiAgICAgIC8vIEVuYWJsZSB0aGUgdXNlIG9mIHRoZSBwcmltYXJ5IHRvcGljIHJlZmVyZW5jZS5cbiAgICAgIG1heE51bU9mUmVzb2x2YWJsZVRvcGljczogMSxcbiAgICAgIC8vIEhpZGUgdGhlIHVzZSBvZiBhbnkgdG9waWMgcmVmZXJlbmNlcyBmcm9tIG91dGVyIGNvbnRleHRzLlxuICAgICAgbWF4VG9waWNJbmRleDogbnVsbCxcbiAgICB9O1xuXG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBjYWxsYmFjaygpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YXRlLnRvcGljQ29udGV4dCA9IG91dGVyQ29udGV4dFRvcGljU3RhdGU7XG4gICAgfVxuICB9XG5cbiAgLy8gVGhpcyBoZWxwZXIgbWV0aG9kIGlzIHVzZWQgb25seSB3aXRoIHRoZSBkZXByZWNhdGVkIHNtYXJ0LW1peCBwaXBlIHByb3Bvc2FsLlxuICAvLyBEaXNhYmxlcyB0b3BpYyByZWZlcmVuY2VzIGZyb20gb3V0ZXIgY29udGV4dHMgd2l0aGluIHN5bnRheCBjb25zdHJ1Y3RzXG4gIC8vIHN1Y2ggYXMgdGhlIGJvZGllcyBvZiBpdGVyYXRpb24gc3RhdGVtZW50cy5cbiAgLy8gVGhlIGZ1bmN0aW9uIG1vZGlmaWVzIHRoZSBwYXJzZXIncyB0b3BpYy1jb250ZXh0IHN0YXRlIHRvIGVuYWJsZSBvciBkaXNhYmxlXG4gIC8vIHRoZSB1c2Ugb2YgdG9waWMgcmVmZXJlbmNlcyB3aXRoIHRoZSBzbWFydFBpcGVsaW5lcyBwbHVnaW4uIFRoZXkgdGhlbiBydW4gYVxuICAvLyBjYWxsYmFjaywgdGhlbiB0aGV5IHJlc2V0IHRoZSBwYXJzZXIgdG8gdGhlIG9sZCB0b3BpYy1jb250ZXh0IHN0YXRlIHRoYXQgaXRcbiAgLy8gaGFkIGJlZm9yZSB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZC5cblxuICB3aXRoU21hcnRNaXhUb3BpY0ZvcmJpZGRpbmdDb250ZXh0PFQ+KGNhbGxiYWNrOiAoKSA9PiBUKTogVCB7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciBSZW1vdmUgdGhpcyBpbiBCYWJlbCA4XG4gICAgaWYgKHRoaXMuaGFzUGx1Z2luKFtcInBpcGVsaW5lT3BlcmF0b3JcIiwgeyBwcm9wb3NhbDogXCJzbWFydFwiIH1dKSkge1xuICAgICAgLy8gUmVzZXQgdGhlIHBhcnNlcuKAmXMgdG9waWMgY29udGV4dCBvbmx5IGlmIHRoZSBzbWFydC1taXggcGlwZSBwcm9wb3NhbCBpcyBhY3RpdmUuXG4gICAgICBjb25zdCBvdXRlckNvbnRleHRUb3BpY1N0YXRlID0gdGhpcy5zdGF0ZS50b3BpY0NvbnRleHQ7XG4gICAgICB0aGlzLnN0YXRlLnRvcGljQ29udGV4dCA9IHtcbiAgICAgICAgLy8gRGlzYWJsZSB0aGUgdXNlIG9mIHRoZSBwcmltYXJ5IHRvcGljIHJlZmVyZW5jZS5cbiAgICAgICAgbWF4TnVtT2ZSZXNvbHZhYmxlVG9waWNzOiAwLFxuICAgICAgICAvLyBIaWRlIHRoZSB1c2Ugb2YgYW55IHRvcGljIHJlZmVyZW5jZXMgZnJvbSBvdXRlciBjb250ZXh0cy5cbiAgICAgICAgbWF4VG9waWNJbmRleDogbnVsbCxcbiAgICAgIH07XG5cbiAgICAgIHRyeSB7XG4gICAgICAgIHJldHVybiBjYWxsYmFjaygpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgdGhpcy5zdGF0ZS50b3BpY0NvbnRleHQgPSBvdXRlckNvbnRleHRUb3BpY1N0YXRlO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiB0aGUgcGlwZSBwcm9wb3NhbCBpcyBcIm1pbmltYWxcIiwgXCJmc2hhcnBcIiwgb3IgXCJoYWNrXCIsXG4gICAgICAvLyBvciBpZiBubyBwaXBlIHByb3Bvc2FsIGlzIGFjdGl2ZSxcbiAgICAgIC8vIHRoZW4gdGhlIGNhbGxiYWNrIHJlc3VsdCBpcyByZXR1cm5lZFxuICAgICAgLy8gd2l0aG91dCB0b3VjaGluZyBhbnkgZXh0cmEgcGFyc2VyIHN0YXRlLlxuICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7XG4gICAgfVxuICB9XG5cbiAgd2l0aFNvbG9Bd2FpdFBlcm1pdHRpbmdDb250ZXh0PFQ+KGNhbGxiYWNrOiAoKSA9PiBUKTogVCB7XG4gICAgY29uc3Qgb3V0ZXJDb250ZXh0U29sb0F3YWl0U3RhdGUgPSB0aGlzLnN0YXRlLnNvbG9Bd2FpdDtcbiAgICB0aGlzLnN0YXRlLnNvbG9Bd2FpdCA9IHRydWU7XG5cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGNhbGxiYWNrKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuc3RhdGUuc29sb0F3YWl0ID0gb3V0ZXJDb250ZXh0U29sb0F3YWl0U3RhdGU7XG4gICAgfVxuICB9XG5cbiAgYWxsb3dJbkFuZDxUPihjYWxsYmFjazogKCkgPT4gVCk6IFQge1xuICAgIGNvbnN0IGZsYWdzID0gdGhpcy5wcm9kUGFyYW0uY3VycmVudEZsYWdzKCk7XG4gICAgY29uc3QgcHJvZFBhcmFtVG9TZXQgPSBQYXJhbUtpbmQuUEFSQU1fSU4gJiB+ZmxhZ3M7XG4gICAgaWYgKHByb2RQYXJhbVRvU2V0KSB7XG4gICAgICB0aGlzLnByb2RQYXJhbS5lbnRlcihmbGFncyB8IFBhcmFtS2luZC5QQVJBTV9JTik7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRoaXMucHJvZFBhcmFtLmV4aXQoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNhbGxiYWNrKCk7XG4gIH1cblxuICBkaXNhbGxvd0luQW5kPFQ+KGNhbGxiYWNrOiAoKSA9PiBUKTogVCB7XG4gICAgY29uc3QgZmxhZ3MgPSB0aGlzLnByb2RQYXJhbS5jdXJyZW50RmxhZ3MoKTtcbiAgICBjb25zdCBwcm9kUGFyYW1Ub0NsZWFyID0gUGFyYW1LaW5kLlBBUkFNX0lOICYgZmxhZ3M7XG4gICAgaWYgKHByb2RQYXJhbVRvQ2xlYXIpIHtcbiAgICAgIHRoaXMucHJvZFBhcmFtLmVudGVyKGZsYWdzICYgflBhcmFtS2luZC5QQVJBTV9JTik7XG4gICAgICB0cnkge1xuICAgICAgICByZXR1cm4gY2FsbGJhY2soKTtcbiAgICAgIH0gZmluYWxseSB7XG4gICAgICAgIHRoaXMucHJvZFBhcmFtLmV4aXQoKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNhbGxiYWNrKCk7XG4gIH1cblxuICAvLyBSZWdpc3RlciB0aGUgdXNlIG9mIGEgdG9waWMgcmVmZXJlbmNlIHdpdGhpbiB0aGUgY3VycmVudFxuICAvLyB0b3BpYy1iaW5kaW5nIGNvbnRleHQuXG4gIHJlZ2lzdGVyVG9waWNSZWZlcmVuY2UoKTogdm9pZCB7XG4gICAgdGhpcy5zdGF0ZS50b3BpY0NvbnRleHQubWF4VG9waWNJbmRleCA9IDA7XG4gIH1cblxuICB0b3BpY1JlZmVyZW5jZUlzQWxsb3dlZEluQ3VycmVudENvbnRleHQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGUudG9waWNDb250ZXh0Lm1heE51bU9mUmVzb2x2YWJsZVRvcGljcyA+PSAxO1xuICB9XG5cbiAgdG9waWNSZWZlcmVuY2VXYXNVc2VkSW5DdXJyZW50Q29udGV4dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5zdGF0ZS50b3BpY0NvbnRleHQubWF4VG9waWNJbmRleCAhPSBudWxsICYmXG4gICAgICB0aGlzLnN0YXRlLnRvcGljQ29udGV4dC5tYXhUb3BpY0luZGV4ID49IDBcbiAgICApO1xuICB9XG5cbiAgcGFyc2VGU2hhcnBQaXBlbGluZUJvZHkodGhpczogUGFyc2VyLCBwcmVjOiBudW1iZXIpOiBOLkV4cHJlc3Npb24ge1xuICAgIGNvbnN0IHN0YXJ0TG9jID0gdGhpcy5zdGF0ZS5zdGFydExvYztcblxuICAgIHRoaXMuc3RhdGUucG90ZW50aWFsQXJyb3dBdCA9IHRoaXMuc3RhdGUuc3RhcnQ7XG4gICAgY29uc3Qgb2xkSW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHkgPSB0aGlzLnN0YXRlLmluRlNoYXJwUGlwZWxpbmVEaXJlY3RCb2R5O1xuICAgIHRoaXMuc3RhdGUuaW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHkgPSB0cnVlO1xuXG4gICAgY29uc3QgcmV0ID0gdGhpcy5wYXJzZUV4cHJPcChcbiAgICAgIHRoaXMucGFyc2VNYXliZVVuYXJ5T3JQcml2YXRlKCksXG4gICAgICBzdGFydExvYyxcbiAgICAgIHByZWMsXG4gICAgKTtcblxuICAgIHRoaXMuc3RhdGUuaW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHkgPSBvbGRJbkZTaGFycFBpcGVsaW5lRGlyZWN0Qm9keTtcblxuICAgIHJldHVybiByZXQ7XG4gIH1cblxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdGMzOS9wcm9wb3NhbC1qcy1tb2R1bGUtYmxvY2tzXG4gIHBhcnNlTW9kdWxlRXhwcmVzc2lvbih0aGlzOiBQYXJzZXIpOiBOLk1vZHVsZUV4cHJlc3Npb24ge1xuICAgIHRoaXMuZXhwZWN0UGx1Z2luKFwibW9kdWxlQmxvY2tzXCIpO1xuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLk1vZHVsZUV4cHJlc3Npb24+KCk7XG4gICAgdGhpcy5uZXh0KCk7IC8vIGVhdCBcIm1vZHVsZVwiXG4gICAgaWYgKCF0aGlzLm1hdGNoKHR0LmJyYWNlTCkpIHtcbiAgICAgIHRoaXMudW5leHBlY3RlZChudWxsLCB0dC5icmFjZUwpO1xuICAgIH1cbiAgICAvLyBzdGFydCBwcm9ncmFtIG5vZGUgaW1tZWRpYXRlbHkgYWZ0ZXIgYHtgXG4gICAgY29uc3QgcHJvZ3JhbSA9IHRoaXMuc3RhcnROb2RlQXQ8Ti5Qcm9ncmFtPih0aGlzLnN0YXRlLmVuZExvYyk7XG4gICAgdGhpcy5uZXh0KCk7IC8vIGVhdCBge2BcblxuICAgIGNvbnN0IHJldmVydFNjb3BlcyA9IHRoaXMuaW5pdGlhbGl6ZVNjb3BlcygvKiogaW5Nb2R1bGUgKi8gdHJ1ZSk7XG4gICAgdGhpcy5lbnRlckluaXRpYWxTY29wZXMoKTtcblxuICAgIHRyeSB7XG4gICAgICBub2RlLmJvZHkgPSB0aGlzLnBhcnNlUHJvZ3JhbShwcm9ncmFtLCB0dC5icmFjZVIsIFwibW9kdWxlXCIpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICByZXZlcnRTY29wZXMoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZTxOLk1vZHVsZUV4cHJlc3Npb24+KG5vZGUsIFwiTW9kdWxlRXhwcmVzc2lvblwiKTtcbiAgfVxuXG4gIC8vIFVzZWQgaW4gRmxvdyBwbHVnaW5cbiAgcGFyc2VQcm9wZXJ0eU5hbWVQcmVmaXhPcGVyYXRvcihcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgcHJvcDogVW5kb25lPE4uT2JqZWN0T3JDbGFzc01lbWJlciB8IE4uQ2xhc3NNZW1iZXI+LFxuICApOiB2b2lkIHt9XG59XG4iLCAiaW1wb3J0IHR5cGUgKiBhcyBOIGZyb20gXCIuLi90eXBlcy50c1wiO1xuaW1wb3J0IHtcbiAgdG9rZW5Jc0lkZW50aWZpZXIsXG4gIHRva2VuSXNLZXl3b3JkT3JJZGVudGlmaWVyLFxuICB0b2tlbklzTG9vcCxcbiAgdG9rZW5Jc1RlbXBsYXRlLFxuICB0dCxcbiAgdHlwZSBUb2tlblR5cGUsXG4gIGdldEV4cG9ydGVkVG9rZW4sXG59IGZyb20gXCIuLi90b2tlbml6ZXIvdHlwZXMudHNcIjtcbmltcG9ydCBFeHByZXNzaW9uUGFyc2VyIGZyb20gXCIuL2V4cHJlc3Npb24udHNcIjtcbmltcG9ydCB7IEVycm9ycyB9IGZyb20gXCIuLi9wYXJzZS1lcnJvci50c1wiO1xuaW1wb3J0IHsgaXNJZGVudGlmaWVyQ2hhciwgaXNJZGVudGlmaWVyU3RhcnQgfSBmcm9tIFwiLi4vdXRpbC9pZGVudGlmaWVyLnRzXCI7XG5pbXBvcnQgKiBhcyBjaGFyQ29kZXMgZnJvbSBcImNoYXJjb2Rlc1wiO1xuaW1wb3J0IHtcbiAgU2NvcGVGbGFnLFxuICBDbGFzc0VsZW1lbnRUeXBlLFxuICBCaW5kaW5nRmxhZyxcbn0gZnJvbSBcIi4uL3V0aWwvc2NvcGVmbGFncy50c1wiO1xuaW1wb3J0IHsgRXhwcmVzc2lvbkVycm9ycyB9IGZyb20gXCIuL3V0aWwudHNcIjtcbmltcG9ydCB7IFBhcmFtS2luZCwgZnVuY3Rpb25GbGFncyB9IGZyb20gXCIuLi91dGlsL3Byb2R1Y3Rpb24tcGFyYW1ldGVyLnRzXCI7XG5pbXBvcnQge1xuICBuZXdFeHByZXNzaW9uU2NvcGUsXG4gIG5ld1BhcmFtZXRlckRlY2xhcmF0aW9uU2NvcGUsXG59IGZyb20gXCIuLi91dGlsL2V4cHJlc3Npb24tc2NvcGUudHNcIjtcbmltcG9ydCB0eXBlIHsgU291cmNlVHlwZSB9IGZyb20gXCIuLi9vcHRpb25zLnRzXCI7XG5pbXBvcnQgeyBUb2tlbiB9IGZyb20gXCIuLi90b2tlbml6ZXIvaW5kZXgudHNcIjtcbmltcG9ydCB0eXBlIHsgUG9zaXRpb24gfSBmcm9tIFwiLi4vdXRpbC9sb2NhdGlvbi50c1wiO1xuaW1wb3J0IHsgY3JlYXRlUG9zaXRpb25XaXRoQ29sdW1uT2Zmc2V0IH0gZnJvbSBcIi4uL3V0aWwvbG9jYXRpb24udHNcIjtcbmltcG9ydCB7IGNsb25lU3RyaW5nTGl0ZXJhbCwgY2xvbmVJZGVudGlmaWVyLCB0eXBlIFVuZG9uZSB9IGZyb20gXCIuL25vZGUudHNcIjtcbmltcG9ydCB0eXBlIFBhcnNlciBmcm9tIFwiLi9pbmRleC50c1wiO1xuaW1wb3J0IHsgUGFyc2VCaW5kaW5nTGlzdEZsYWdzIH0gZnJvbSBcIi4vbHZhbC50c1wiO1xuaW1wb3J0IHsgTG9vcExhYmVsS2luZCB9IGZyb20gXCIuLi90b2tlbml6ZXIvc3RhdGUudHNcIjtcblxuY29uc3QgbG9vcExhYmVsID0geyBraW5kOiBMb29wTGFiZWxLaW5kLkxvb3AgfSBhcyBjb25zdCxcbiAgc3dpdGNoTGFiZWwgPSB7IGtpbmQ6IExvb3BMYWJlbEtpbmQuU3dpdGNoIH0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBlbnVtIFBhcnNlRnVuY3Rpb25GbGFnIHtcbiAgRXhwcmVzc2lvbiA9IDBiMDAwMCxcbiAgRGVjbGFyYXRpb24gPSAwYjAwMDEsXG4gIEhhbmdpbmdEZWNsYXJhdGlvbiA9IDBiMDAxMCxcbiAgTnVsbGFibGVJZCA9IDBiMDEwMCxcbiAgQXN5bmMgPSAwYjEwMDAsXG59XG5cbmV4cG9ydCBjb25zdCBlbnVtIFBhcnNlU3RhdGVtZW50RmxhZyB7XG4gIFN0YXRlbWVudE9ubHkgPSAwYjAwMDAsXG4gIEFsbG93SW1wb3J0RXhwb3J0ID0gMGIwMDAxLFxuICBBbGxvd0RlY2xhcmF0aW9uID0gMGIwMDEwLFxuICBBbGxvd0Z1bmN0aW9uRGVjbGFyYXRpb24gPSAwYjAxMDAsXG4gIEFsbG93TGFiZWxlZEZ1bmN0aW9uID0gMGIxMDAwLFxufVxuXG5jb25zdCBsb25lU3Vycm9nYXRlID0gL1tcXHVEODAwLVxcdURGRkZdL3U7XG5cbmNvbnN0IGtleXdvcmRSZWxhdGlvbmFsT3BlcmF0b3IgPSAvaW4oPzpzdGFuY2VvZik/L3k7XG5cbi8qKlxuICogQ29udmVydCB0b2tlbnMgZm9yIGJhY2t3YXJkIEJhYmVsIDcgY29tcGF0LlxuICogdHQucHJpdmF0ZU5hbWUgPT4gdHQuaGFzaCArIHR0Lm5hbWVcbiAqIHR0LnRlbXBsYXRlVGFpbCA9PiB0dC5iYWNrcXVvdGUvdHQuYnJhY2VSICsgdHQudGVtcGxhdGUgKyB0dC5iYWNrcXVvdGVcbiAqIHR0LnRlbXBsYXRlTm9uVGFpbCA9PiB0dC5iYWNrcXVvdGUvdHQuYnJhY2VSICsgdHQudGVtcGxhdGUgKyB0dC5kb2xsYXJCcmFjZUxcbiAqIEZvciBwZXJmb3JtYW5jZSByZWFzb25zIHRoaXMgcm91dGluZSBtdXRhdGVzIGB0b2tlbnNgLCBpdCBpcyBva2F5XG4gKiBoZXJlIHNpbmNlIHdlIGV4ZWN1dGUgYHBhcnNlVG9wTGV2ZWxgIG9uY2UgZm9yIGV2ZXJ5IGZpbGUuXG4gKi9cbmZ1bmN0aW9uIGJhYmVsN0NvbXBhdFRva2VucyhcbiAgdG9rZW5zOiAoVG9rZW4gfCBOLkNvbW1lbnQpW10sXG4gIGlucHV0OiBzdHJpbmcsXG4gIHN0YXJ0SW5kZXg6IG51bWJlcixcbikge1xuICBmb3IgKGxldCBpID0gMDsgaSA8IHRva2Vucy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IHRva2VuID0gdG9rZW5zW2ldO1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gdG9rZW47XG4gICAgaWYgKHR5cGVvZiB0eXBlID09PSBcIm51bWJlclwiKSB7XG4gICAgICBpZiAoIXByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcpIHtcbiAgICAgICAgaWYgKHR5cGUgPT09IHR0LnByaXZhdGVOYW1lKSB7XG4gICAgICAgICAgY29uc3QgeyBsb2MsIHN0YXJ0LCB2YWx1ZSwgZW5kIH0gPSB0b2tlbjtcbiAgICAgICAgICBjb25zdCBoYXNoRW5kUG9zID0gc3RhcnQgKyAxO1xuICAgICAgICAgIGNvbnN0IGhhc2hFbmRMb2MgPSBjcmVhdGVQb3NpdGlvbldpdGhDb2x1bW5PZmZzZXQobG9jLnN0YXJ0LCAxKTtcbiAgICAgICAgICB0b2tlbnMuc3BsaWNlKFxuICAgICAgICAgICAgaSxcbiAgICAgICAgICAgIDEsXG4gICAgICAgICAgICBuZXcgVG9rZW4oe1xuICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiBoYWNreSB3YXkgdG8gY3JlYXRlIHRva2VuXG4gICAgICAgICAgICAgIHR5cGU6IGdldEV4cG9ydGVkVG9rZW4odHQuaGFzaCksXG4gICAgICAgICAgICAgIHZhbHVlOiBcIiNcIixcbiAgICAgICAgICAgICAgc3RhcnQ6IHN0YXJ0LFxuICAgICAgICAgICAgICBlbmQ6IGhhc2hFbmRQb3MsXG4gICAgICAgICAgICAgIHN0YXJ0TG9jOiBsb2Muc3RhcnQsXG4gICAgICAgICAgICAgIGVuZExvYzogaGFzaEVuZExvYyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgbmV3IFRva2VuKHtcbiAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogaGFja3kgd2F5IHRvIGNyZWF0ZSB0b2tlblxuICAgICAgICAgICAgICB0eXBlOiBnZXRFeHBvcnRlZFRva2VuKHR0Lm5hbWUpLFxuICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICAgIHN0YXJ0OiBoYXNoRW5kUG9zLFxuICAgICAgICAgICAgICBlbmQ6IGVuZCxcbiAgICAgICAgICAgICAgc3RhcnRMb2M6IGhhc2hFbmRMb2MsXG4gICAgICAgICAgICAgIGVuZExvYzogbG9jLmVuZCxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICk7XG4gICAgICAgICAgaSsrO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRva2VuSXNUZW1wbGF0ZSh0eXBlKSkge1xuICAgICAgICAgIGNvbnN0IHsgbG9jLCBzdGFydCwgdmFsdWUsIGVuZCB9ID0gdG9rZW47XG4gICAgICAgICAgY29uc3QgYmFja3F1b3RlRW5kID0gc3RhcnQgKyAxO1xuICAgICAgICAgIGNvbnN0IGJhY2txdW90ZUVuZExvYyA9IGNyZWF0ZVBvc2l0aW9uV2l0aENvbHVtbk9mZnNldChsb2Muc3RhcnQsIDEpO1xuICAgICAgICAgIGxldCBzdGFydFRva2VuO1xuICAgICAgICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KHN0YXJ0IC0gc3RhcnRJbmRleCkgPT09IGNoYXJDb2Rlcy5ncmF2ZUFjY2VudCkge1xuICAgICAgICAgICAgc3RhcnRUb2tlbiA9IG5ldyBUb2tlbih7XG4gICAgICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IGhhY2t5IHdheSB0byBjcmVhdGUgdG9rZW5cbiAgICAgICAgICAgICAgdHlwZTogZ2V0RXhwb3J0ZWRUb2tlbih0dC5iYWNrUXVvdGUpLFxuICAgICAgICAgICAgICB2YWx1ZTogXCJgXCIsXG4gICAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgICAgICAgZW5kOiBiYWNrcXVvdGVFbmQsXG4gICAgICAgICAgICAgIHN0YXJ0TG9jOiBsb2Muc3RhcnQsXG4gICAgICAgICAgICAgIGVuZExvYzogYmFja3F1b3RlRW5kTG9jLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN0YXJ0VG9rZW4gPSBuZXcgVG9rZW4oe1xuICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiBoYWNreSB3YXkgdG8gY3JlYXRlIHRva2VuXG4gICAgICAgICAgICAgIHR5cGU6IGdldEV4cG9ydGVkVG9rZW4odHQuYnJhY2VSKSxcbiAgICAgICAgICAgICAgdmFsdWU6IFwifVwiLFxuICAgICAgICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgICAgICAgIGVuZDogYmFja3F1b3RlRW5kLFxuICAgICAgICAgICAgICBzdGFydExvYzogbG9jLnN0YXJ0LFxuICAgICAgICAgICAgICBlbmRMb2M6IGJhY2txdW90ZUVuZExvYyxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsZXQgdGVtcGxhdGVWYWx1ZSxcbiAgICAgICAgICAgIHRlbXBsYXRlRWxlbWVudEVuZCxcbiAgICAgICAgICAgIHRlbXBsYXRlRWxlbWVudEVuZExvYyxcbiAgICAgICAgICAgIGVuZFRva2VuO1xuICAgICAgICAgIGlmICh0eXBlID09PSB0dC50ZW1wbGF0ZVRhaWwpIHtcbiAgICAgICAgICAgIC8vIGVuZHMgd2l0aCAnYCdcbiAgICAgICAgICAgIHRlbXBsYXRlRWxlbWVudEVuZCA9IGVuZCAtIDE7XG4gICAgICAgICAgICB0ZW1wbGF0ZUVsZW1lbnRFbmRMb2MgPSBjcmVhdGVQb3NpdGlvbldpdGhDb2x1bW5PZmZzZXQobG9jLmVuZCwgLTEpO1xuICAgICAgICAgICAgdGVtcGxhdGVWYWx1ZSA9IHZhbHVlID09PSBudWxsID8gbnVsbCA6IHZhbHVlLnNsaWNlKDEsIC0xKTtcbiAgICAgICAgICAgIGVuZFRva2VuID0gbmV3IFRva2VuKHtcbiAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogaGFja3kgd2F5IHRvIGNyZWF0ZSB0b2tlblxuICAgICAgICAgICAgICB0eXBlOiBnZXRFeHBvcnRlZFRva2VuKHR0LmJhY2tRdW90ZSksXG4gICAgICAgICAgICAgIHZhbHVlOiBcImBcIixcbiAgICAgICAgICAgICAgc3RhcnQ6IHRlbXBsYXRlRWxlbWVudEVuZCxcbiAgICAgICAgICAgICAgZW5kOiBlbmQsXG4gICAgICAgICAgICAgIHN0YXJ0TG9jOiB0ZW1wbGF0ZUVsZW1lbnRFbmRMb2MsXG4gICAgICAgICAgICAgIGVuZExvYzogbG9jLmVuZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBlbmRzIHdpdGggYCR7YFxuICAgICAgICAgICAgdGVtcGxhdGVFbGVtZW50RW5kID0gZW5kIC0gMjtcbiAgICAgICAgICAgIHRlbXBsYXRlRWxlbWVudEVuZExvYyA9IGNyZWF0ZVBvc2l0aW9uV2l0aENvbHVtbk9mZnNldChsb2MuZW5kLCAtMik7XG4gICAgICAgICAgICB0ZW1wbGF0ZVZhbHVlID0gdmFsdWUgPT09IG51bGwgPyBudWxsIDogdmFsdWUuc2xpY2UoMSwgLTIpO1xuICAgICAgICAgICAgZW5kVG9rZW4gPSBuZXcgVG9rZW4oe1xuICAgICAgICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yOiBoYWNreSB3YXkgdG8gY3JlYXRlIHRva2VuXG4gICAgICAgICAgICAgIHR5cGU6IGdldEV4cG9ydGVkVG9rZW4odHQuZG9sbGFyQnJhY2VMKSxcbiAgICAgICAgICAgICAgdmFsdWU6IFwiJHtcIixcbiAgICAgICAgICAgICAgc3RhcnQ6IHRlbXBsYXRlRWxlbWVudEVuZCxcbiAgICAgICAgICAgICAgZW5kOiBlbmQsXG4gICAgICAgICAgICAgIHN0YXJ0TG9jOiB0ZW1wbGF0ZUVsZW1lbnRFbmRMb2MsXG4gICAgICAgICAgICAgIGVuZExvYzogbG9jLmVuZCxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0b2tlbnMuc3BsaWNlKFxuICAgICAgICAgICAgaSxcbiAgICAgICAgICAgIDEsXG4gICAgICAgICAgICBzdGFydFRva2VuLFxuICAgICAgICAgICAgbmV3IFRva2VuKHtcbiAgICAgICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvcjogaGFja3kgd2F5IHRvIGNyZWF0ZSB0b2tlblxuICAgICAgICAgICAgICB0eXBlOiBnZXRFeHBvcnRlZFRva2VuKHR0LnRlbXBsYXRlKSxcbiAgICAgICAgICAgICAgdmFsdWU6IHRlbXBsYXRlVmFsdWUsXG4gICAgICAgICAgICAgIHN0YXJ0OiBiYWNrcXVvdGVFbmQsXG4gICAgICAgICAgICAgIGVuZDogdGVtcGxhdGVFbGVtZW50RW5kLFxuICAgICAgICAgICAgICBzdGFydExvYzogYmFja3F1b3RlRW5kTG9jLFxuICAgICAgICAgICAgICBlbmRMb2M6IHRlbXBsYXRlRWxlbWVudEVuZExvYyxcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgZW5kVG9rZW4sXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpICs9IDI7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3I6IHdlIG1hbmlwdWxhdGUgYHRva2VuYCBmb3IgcGVyZm9ybWFuY2UgcmVhc29uc1xuICAgICAgdG9rZW4udHlwZSA9IGdldEV4cG9ydGVkVG9rZW4odHlwZSk7XG4gICAgfVxuICB9XG4gIHJldHVybiB0b2tlbnM7XG59XG5leHBvcnQgZGVmYXVsdCBhYnN0cmFjdCBjbGFzcyBTdGF0ZW1lbnRQYXJzZXIgZXh0ZW5kcyBFeHByZXNzaW9uUGFyc2VyIHtcbiAgLy8gIyMjIFN0YXRlbWVudCBwYXJzaW5nXG5cbiAgLy8gUGFyc2UgYSBwcm9ncmFtLiBJbml0aWFsaXplcyB0aGUgcGFyc2VyLCByZWFkcyBhbnkgbnVtYmVyIG9mXG4gIC8vIHN0YXRlbWVudHMsIGFuZCB3cmFwcyB0aGVtIGluIGEgUHJvZ3JhbSBub2RlLiAgT3B0aW9uYWxseSB0YWtlcyBhXG4gIC8vIGBwcm9ncmFtYCBhcmd1bWVudC4gIElmIHByZXNlbnQsIHRoZSBzdGF0ZW1lbnRzIHdpbGwgYmUgYXBwZW5kZWRcbiAgLy8gdG8gaXRzIGJvZHkgaW5zdGVhZCBvZiBjcmVhdGluZyBhIG5ldyBub2RlLlxuXG4gIHBhcnNlVG9wTGV2ZWwoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIGZpbGU6IFVuZG9uZTxOLkZpbGU+LFxuICAgIHByb2dyYW06IFVuZG9uZTxOLlByb2dyYW0+LFxuICApOiBOLkZpbGUge1xuICAgIGZpbGUucHJvZ3JhbSA9IHRoaXMucGFyc2VQcm9ncmFtKHByb2dyYW0pO1xuICAgIGZpbGUuY29tbWVudHMgPSB0aGlzLmNvbW1lbnRzO1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucy50b2tlbnMpIHtcbiAgICAgIGZpbGUudG9rZW5zID0gYmFiZWw3Q29tcGF0VG9rZW5zKFxuICAgICAgICB0aGlzLnRva2VucyxcbiAgICAgICAgdGhpcy5pbnB1dCxcbiAgICAgICAgdGhpcy5zdGFydEluZGV4LFxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKGZpbGUsIFwiRmlsZVwiKTtcbiAgfVxuXG4gIHBhcnNlUHJvZ3JhbShcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgcHJvZ3JhbTogVW5kb25lPE4uUHJvZ3JhbT4sXG4gICAgZW5kOiBUb2tlblR5cGUgPSB0dC5lb2YsXG4gICAgc291cmNlVHlwZTogU291cmNlVHlwZSA9IHRoaXMub3B0aW9ucy5zb3VyY2VUeXBlLFxuICApOiBOLlByb2dyYW0ge1xuICAgIHByb2dyYW0uc291cmNlVHlwZSA9IHNvdXJjZVR5cGU7XG4gICAgcHJvZ3JhbS5pbnRlcnByZXRlciA9IHRoaXMucGFyc2VJbnRlcnByZXRlckRpcmVjdGl2ZSgpO1xuICAgIHRoaXMucGFyc2VCbG9ja0JvZHkocHJvZ3JhbSwgdHJ1ZSwgdHJ1ZSwgZW5kKTtcbiAgICBpZiAodGhpcy5pbk1vZHVsZSkge1xuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5vcHRpb25zLmFsbG93VW5kZWNsYXJlZEV4cG9ydHMgJiZcbiAgICAgICAgdGhpcy5zY29wZS51bmRlZmluZWRFeHBvcnRzLnNpemUgPiAwXG4gICAgICApIHtcbiAgICAgICAgZm9yIChjb25zdCBbbG9jYWxOYW1lLCBhdF0gb2YgQXJyYXkuZnJvbSh0aGlzLnNjb3BlLnVuZGVmaW5lZEV4cG9ydHMpKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuTW9kdWxlRXhwb3J0VW5kZWZpbmVkLCBhdCwgeyBsb2NhbE5hbWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuYWRkRXh0cmEocHJvZ3JhbSwgXCJ0b3BMZXZlbEF3YWl0XCIsIHRoaXMuc3RhdGUuaGFzVG9wTGV2ZWxBd2FpdCk7XG4gICAgfVxuICAgIGxldCBmaW5pc2hlZFByb2dyYW06IE4uUHJvZ3JhbTtcbiAgICBpZiAoZW5kID09PSB0dC5lb2YpIHtcbiAgICAgIC8vIGZpbmlzaCBhdCBlb2YgZm9yIHRvcCBsZXZlbCBwcm9ncmFtXG4gICAgICBmaW5pc2hlZFByb2dyYW0gPSB0aGlzLmZpbmlzaE5vZGUocHJvZ3JhbSwgXCJQcm9ncmFtXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBmaW5pc2ggaW1tZWRpYXRlbHkgYmVmb3JlIHRoZSBlbmQgdG9rZW5cbiAgICAgIGZpbmlzaGVkUHJvZ3JhbSA9IHRoaXMuZmluaXNoTm9kZUF0KFxuICAgICAgICBwcm9ncmFtLFxuICAgICAgICBcIlByb2dyYW1cIixcbiAgICAgICAgY3JlYXRlUG9zaXRpb25XaXRoQ29sdW1uT2Zmc2V0KHRoaXMuc3RhdGUuc3RhcnRMb2MsIC0xKSxcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiBmaW5pc2hlZFByb2dyYW07XG4gIH1cblxuICAvKipcbiAgICogY2FzdCBhIFN0YXRlbWVudCB0byBhIERpcmVjdGl2ZS4gVGhpcyBtZXRob2QgbXV0YXRlcyBpbnB1dCBzdGF0ZW1lbnQuXG4gICAqL1xuICBzdG10VG9EaXJlY3RpdmUoc3RtdDogTi5TdGF0ZW1lbnQpOiBOLkRpcmVjdGl2ZSB7XG4gICAgY29uc3QgZGlyZWN0aXZlID0gc3RtdCBhcyBhbnk7XG4gICAgZGlyZWN0aXZlLnR5cGUgPSBcIkRpcmVjdGl2ZVwiO1xuICAgIGRpcmVjdGl2ZS52YWx1ZSA9IGRpcmVjdGl2ZS5leHByZXNzaW9uO1xuICAgIGRlbGV0ZSBkaXJlY3RpdmUuZXhwcmVzc2lvbjtcblxuICAgIGNvbnN0IGRpcmVjdGl2ZUxpdGVyYWwgPSBkaXJlY3RpdmUudmFsdWU7XG4gICAgY29uc3QgZXhwcmVzc2lvblZhbHVlID0gZGlyZWN0aXZlTGl0ZXJhbC52YWx1ZTtcbiAgICBjb25zdCByYXcgPSB0aGlzLmlucHV0LnNsaWNlKFxuICAgICAgdGhpcy5vZmZzZXRUb1NvdXJjZVBvcyhkaXJlY3RpdmVMaXRlcmFsLnN0YXJ0KSxcbiAgICAgIHRoaXMub2Zmc2V0VG9Tb3VyY2VQb3MoZGlyZWN0aXZlTGl0ZXJhbC5lbmQpLFxuICAgICk7XG4gICAgY29uc3QgdmFsID0gKGRpcmVjdGl2ZUxpdGVyYWwudmFsdWUgPSByYXcuc2xpY2UoMSwgLTEpKTsgLy8gcmVtb3ZlIHF1b3Rlc1xuXG4gICAgdGhpcy5hZGRFeHRyYShkaXJlY3RpdmVMaXRlcmFsLCBcInJhd1wiLCByYXcpO1xuICAgIHRoaXMuYWRkRXh0cmEoZGlyZWN0aXZlTGl0ZXJhbCwgXCJyYXdWYWx1ZVwiLCB2YWwpO1xuICAgIHRoaXMuYWRkRXh0cmEoZGlyZWN0aXZlTGl0ZXJhbCwgXCJleHByZXNzaW9uVmFsdWVcIiwgZXhwcmVzc2lvblZhbHVlKTtcblxuICAgIGRpcmVjdGl2ZUxpdGVyYWwudHlwZSA9IFwiRGlyZWN0aXZlTGl0ZXJhbFwiO1xuXG4gICAgcmV0dXJuIGRpcmVjdGl2ZTtcbiAgfVxuXG4gIHBhcnNlSW50ZXJwcmV0ZXJEaXJlY3RpdmUoKTogTi5JbnRlcnByZXRlckRpcmVjdGl2ZSB8IG51bGwge1xuICAgIGlmICghdGhpcy5tYXRjaCh0dC5pbnRlcnByZXRlckRpcmVjdGl2ZSkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLkludGVycHJldGVyRGlyZWN0aXZlPigpO1xuICAgIG5vZGUudmFsdWUgPSB0aGlzLnN0YXRlLnZhbHVlO1xuICAgIHRoaXMubmV4dCgpO1xuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJJbnRlcnByZXRlckRpcmVjdGl2ZVwiKTtcbiAgfVxuXG4gIGlzTGV0KCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5pc0NvbnRleHR1YWwodHQuX2xldCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaGFzRm9sbG93aW5nQmluZGluZ0F0b20oKTtcbiAgfVxuXG4gIGNoU3RhcnRzQmluZGluZ0lkZW50aWZpZXIoY2g6IG51bWJlciwgcG9zOiBudW1iZXIpIHtcbiAgICBpZiAoaXNJZGVudGlmaWVyU3RhcnQoY2gpKSB7XG4gICAgICBrZXl3b3JkUmVsYXRpb25hbE9wZXJhdG9yLmxhc3RJbmRleCA9IHBvcztcbiAgICAgIGlmIChrZXl3b3JkUmVsYXRpb25hbE9wZXJhdG9yLnRlc3QodGhpcy5pbnB1dCkpIHtcbiAgICAgICAgLy8gV2UgaGF2ZSBzZWVuIGBpbmAgb3IgYGluc3RhbmNlb2ZgIHNvIGZhciwgbm93IGNoZWNrIGlmIHRoZSBpZGVudGlmaWVyXG4gICAgICAgIC8vIGVuZHMgaGVyZVxuICAgICAgICBjb25zdCBlbmRDaCA9IHRoaXMuY29kZVBvaW50QXRQb3Moa2V5d29yZFJlbGF0aW9uYWxPcGVyYXRvci5sYXN0SW5kZXgpO1xuICAgICAgICBpZiAoIWlzSWRlbnRpZmllckNoYXIoZW5kQ2gpICYmIGVuZENoICE9PSBjaGFyQ29kZXMuYmFja3NsYXNoKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKGNoID09PSBjaGFyQ29kZXMuYmFja3NsYXNoKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGNoU3RhcnRzQmluZGluZ1BhdHRlcm4oY2g6IG51bWJlcikge1xuICAgIHJldHVybiAoXG4gICAgICBjaCA9PT0gY2hhckNvZGVzLmxlZnRTcXVhcmVCcmFja2V0IHx8IGNoID09PSBjaGFyQ29kZXMubGVmdEN1cmx5QnJhY2VcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFzc3VtaW5nIHdlIGhhdmUgc2VlbiBhIGNvbnRleHR1YWwgYGxldGAgYW5kIGRlY2xhcmF0aW9uIGlzIGFsbG93ZWQsIGNoZWNrIGlmIGl0XG4gICAqIHN0YXJ0cyBhIHZhcmlhYmxlIGRlY2xhcmF0aW9uIHNvIHRoYXQgaXQgc2hvdWxkIGJlIGludGVycHJldGVkIGFzIGEga2V5d29yZC5cbiAgICovXG4gIGhhc0ZvbGxvd2luZ0JpbmRpbmdBdG9tKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG5leHQgPSB0aGlzLm5leHRUb2tlblN0YXJ0KCk7XG4gICAgY29uc3QgbmV4dENoID0gdGhpcy5jb2RlUG9pbnRBdFBvcyhuZXh0KTtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5jaFN0YXJ0c0JpbmRpbmdQYXR0ZXJuKG5leHRDaCkgfHxcbiAgICAgIHRoaXMuY2hTdGFydHNCaW5kaW5nSWRlbnRpZmllcihuZXh0Q2gsIG5leHQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3N1bWluZyB3ZSBoYXZlIHNlZW4gYSBjb250ZXh0dWFsIGB1c2luZ2AgYW5kIGRlY2xhcmF0aW9uIGlzIGFsbG93ZWQsIGNoZWNrIGlmIGl0XG4gICAqIHN0YXJ0cyBhIHZhcmlhYmxlIGRlY2xhcmF0aW9uIGluIHRoZSBzYW1lIGxpbmUgc28gdGhhdCBpdCBzaG91bGQgYmUgaW50ZXJwcmV0ZWQgYXNcbiAgICogYSBrZXl3b3JkLlxuICAgKi9cbiAgaGFzSW5MaW5lRm9sbG93aW5nQmluZGluZ0lkZW50aWZpZXJPckJyYWNlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IG5leHQgPSB0aGlzLm5leHRUb2tlbkluTGluZVN0YXJ0KCk7XG4gICAgY29uc3QgbmV4dENoID0gdGhpcy5jb2RlUG9pbnRBdFBvcyhuZXh0KTtcbiAgICByZXR1cm4gKFxuICAgICAgbmV4dENoID09PSBjaGFyQ29kZXMubGVmdEN1cmx5QnJhY2UgfHxcbiAgICAgIHRoaXMuY2hTdGFydHNCaW5kaW5nSWRlbnRpZmllcihuZXh0Q2gsIG5leHQpXG4gICAgKTtcbiAgfVxuXG4gIHN0YXJ0c1VzaW5nRm9yT2YoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgeyB0eXBlLCBjb250YWluc0VzYyB9ID0gdGhpcy5sb29rYWhlYWQoKTtcbiAgICBpZiAodHlwZSA9PT0gdHQuX29mICYmICFjb250YWluc0VzYykge1xuICAgICAgLy8gYHVzaW5nIG9mYCBtdXN0IHN0YXJ0IGEgZm9yLWxocy1vZiBzdGF0ZW1lbnRcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKHRva2VuSXNJZGVudGlmaWVyKHR5cGUpICYmICF0aGlzLmhhc0ZvbGxvd2luZ0xpbmVCcmVhaygpKSB7XG4gICAgICB0aGlzLmV4cGVjdFBsdWdpbihcImV4cGxpY2l0UmVzb3VyY2VNYW5hZ2VtZW50XCIpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG5cbiAgc3RhcnRzQXdhaXRVc2luZygpOiBib29sZWFuIHtcbiAgICBsZXQgbmV4dCA9IHRoaXMubmV4dFRva2VuSW5MaW5lU3RhcnQoKTtcbiAgICBpZiAodGhpcy5pc1VucGFyc2VkQ29udGV4dHVhbChuZXh0LCBcInVzaW5nXCIpKSB7XG4gICAgICBuZXh0ID0gdGhpcy5uZXh0VG9rZW5JbkxpbmVTdGFydFNpbmNlKG5leHQgKyA1KTtcbiAgICAgIGNvbnN0IG5leHRDaCA9IHRoaXMuY29kZVBvaW50QXRQb3MobmV4dCk7XG4gICAgICBpZiAodGhpcy5jaFN0YXJ0c0JpbmRpbmdJZGVudGlmaWVyKG5leHRDaCwgbmV4dCkpIHtcbiAgICAgICAgdGhpcy5leHBlY3RQbHVnaW4oXCJleHBsaWNpdFJlc291cmNlTWFuYWdlbWVudFwiKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLU1vZHVsZUl0ZW1cbiAgcGFyc2VNb2R1bGVJdGVtKHRoaXM6IFBhcnNlcikge1xuICAgIHJldHVybiB0aGlzLnBhcnNlU3RhdGVtZW50TGlrZShcbiAgICAgIFBhcnNlU3RhdGVtZW50RmxhZy5BbGxvd0ltcG9ydEV4cG9ydCB8XG4gICAgICAgIFBhcnNlU3RhdGVtZW50RmxhZy5BbGxvd0RlY2xhcmF0aW9uIHxcbiAgICAgICAgUGFyc2VTdGF0ZW1lbnRGbGFnLkFsbG93RnVuY3Rpb25EZWNsYXJhdGlvbiB8XG4gICAgICAgIC8vIFRoaXMgZnVuY3Rpb24gaXMgYWN0dWFsbHkgYWxzbyB1c2VkIHRvIHBhcnNlIFN0YXRlbWVudEl0ZW1zLFxuICAgICAgICAvLyB3aGljaCB3aXRoIEFubmV4IEIgZW5hYmxlZCBhbGxvd3MgbGFiZWxlZCBmdW5jdGlvbnMuXG4gICAgICAgIFBhcnNlU3RhdGVtZW50RmxhZy5BbGxvd0xhYmVsZWRGdW5jdGlvbixcbiAgICApO1xuICB9XG5cbiAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtU3RhdGVtZW50TGlzdEl0ZW1cbiAgcGFyc2VTdGF0ZW1lbnRMaXN0SXRlbSh0aGlzOiBQYXJzZXIpIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZVN0YXRlbWVudExpa2UoXG4gICAgICBQYXJzZVN0YXRlbWVudEZsYWcuQWxsb3dEZWNsYXJhdGlvbiB8XG4gICAgICAgIFBhcnNlU3RhdGVtZW50RmxhZy5BbGxvd0Z1bmN0aW9uRGVjbGFyYXRpb24gfFxuICAgICAgICAoIXRoaXMub3B0aW9ucy5hbm5leEIgfHwgdGhpcy5zdGF0ZS5zdHJpY3RcbiAgICAgICAgICA/IDBcbiAgICAgICAgICA6IFBhcnNlU3RhdGVtZW50RmxhZy5BbGxvd0xhYmVsZWRGdW5jdGlvbiksXG4gICAgKTtcbiAgfVxuXG4gIHBhcnNlU3RhdGVtZW50T3JTbG9wcHlBbm5leEJGdW5jdGlvbkRlY2xhcmF0aW9uKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBhbGxvd0xhYmVsZWRGdW5jdGlvbjogYm9vbGVhbiA9IGZhbHNlLFxuICApIHtcbiAgICBsZXQgZmxhZ3M6IFBhcnNlU3RhdGVtZW50RmxhZyA9IFBhcnNlU3RhdGVtZW50RmxhZy5TdGF0ZW1lbnRPbmx5O1xuICAgIGlmICh0aGlzLm9wdGlvbnMuYW5uZXhCICYmICF0aGlzLnN0YXRlLnN0cmljdCkge1xuICAgICAgZmxhZ3MgfD0gUGFyc2VTdGF0ZW1lbnRGbGFnLkFsbG93RnVuY3Rpb25EZWNsYXJhdGlvbjtcbiAgICAgIGlmIChhbGxvd0xhYmVsZWRGdW5jdGlvbikge1xuICAgICAgICBmbGFncyB8PSBQYXJzZVN0YXRlbWVudEZsYWcuQWxsb3dMYWJlbGVkRnVuY3Rpb247XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnBhcnNlU3RhdGVtZW50TGlrZShmbGFncyk7XG4gIH1cblxuICAvLyBQYXJzZSBhIHNpbmdsZSBzdGF0ZW1lbnQuXG4gIC8vXG4gIC8vIElmIGV4cGVjdGluZyBhIHN0YXRlbWVudCBhbmQgZmluZGluZyBhIHNsYXNoIG9wZXJhdG9yLCBwYXJzZSBhXG4gIC8vIHJlZ3VsYXIgZXhwcmVzc2lvbiBsaXRlcmFsLiBUaGlzIGlzIHRvIGhhbmRsZSBjYXNlcyBsaWtlXG4gIC8vIGBpZiAoZm9vKSAvYmxhaC8uZXhlYyhmb28pYCwgd2hlcmUgbG9va2luZyBhdCB0aGUgcHJldmlvdXMgdG9rZW5cbiAgLy8gZG9lcyBub3QgaGVscC5cbiAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtU3RhdGVtZW50XG4gIHBhcnNlU3RhdGVtZW50KHRoaXM6IFBhcnNlcikge1xuICAgIHJldHVybiB0aGlzLnBhcnNlU3RhdGVtZW50TGlrZShQYXJzZVN0YXRlbWVudEZsYWcuU3RhdGVtZW50T25seSk7XG4gIH1cblxuICAvLyBJbXBvcnREZWNsYXJhdGlvbiBhbmQgRXhwb3J0RGVjbGFyYXRpb24gYXJlIGFsc28gaGFuZGxlZCBoZXJlIHNvIHdlIGNhbiB0aHJvdyByZWNvdmVyYWJsZSBlcnJvcnNcbiAgLy8gd2hlbiB0aGV5IGFyZSBub3QgYXQgdGhlIHRvcCBsZXZlbFxuICBwYXJzZVN0YXRlbWVudExpa2UoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIGZsYWdzOiBQYXJzZVN0YXRlbWVudEZsYWcsXG4gICk6XG4gICAgfCBOLlN0YXRlbWVudFxuICAgIHwgTi5EZWNsYXJhdGlvblxuICAgIHwgTi5JbXBvcnREZWNsYXJhdGlvblxuICAgIHwgTi5FeHBvcnREZWZhdWx0RGVjbGFyYXRpb25cbiAgICB8IE4uRXhwb3J0TmFtZWREZWNsYXJhdGlvblxuICAgIHwgTi5FeHBvcnRBbGxEZWNsYXJhdGlvbiB7XG4gICAgbGV0IGRlY29yYXRvcnM6IE4uRGVjb3JhdG9yW10gfCBudWxsID0gbnVsbDtcblxuICAgIGlmICh0aGlzLm1hdGNoKHR0LmF0KSkge1xuICAgICAgZGVjb3JhdG9ycyA9IHRoaXMucGFyc2VEZWNvcmF0b3JzKHRydWUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5wYXJzZVN0YXRlbWVudENvbnRlbnQoZmxhZ3MsIGRlY29yYXRvcnMpO1xuICB9XG5cbiAgcGFyc2VTdGF0ZW1lbnRDb250ZW50KFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBmbGFnczogUGFyc2VTdGF0ZW1lbnRGbGFnLFxuICAgIGRlY29yYXRvcnM/OiBOLkRlY29yYXRvcltdIHwgbnVsbCxcbiAgKTogTi5TdGF0ZW1lbnQge1xuICAgIGNvbnN0IHN0YXJ0VHlwZSA9IHRoaXMuc3RhdGUudHlwZTtcbiAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGUoKTtcbiAgICBjb25zdCBhbGxvd0RlY2xhcmF0aW9uID0gISEoZmxhZ3MgJiBQYXJzZVN0YXRlbWVudEZsYWcuQWxsb3dEZWNsYXJhdGlvbik7XG4gICAgY29uc3QgYWxsb3dGdW5jdGlvbkRlY2xhcmF0aW9uID0gISEoXG4gICAgICBmbGFncyAmIFBhcnNlU3RhdGVtZW50RmxhZy5BbGxvd0Z1bmN0aW9uRGVjbGFyYXRpb25cbiAgICApO1xuICAgIGNvbnN0IHRvcExldmVsID0gZmxhZ3MgJiBQYXJzZVN0YXRlbWVudEZsYWcuQWxsb3dJbXBvcnRFeHBvcnQ7XG5cbiAgICAvLyBNb3N0IHR5cGVzIG9mIHN0YXRlbWVudHMgYXJlIHJlY29nbml6ZWQgYnkgdGhlIGtleXdvcmQgdGhleVxuICAgIC8vIHN0YXJ0IHdpdGguIE1hbnkgYXJlIHRyaXZpYWwgdG8gcGFyc2UsIHNvbWUgcmVxdWlyZSBhIGJpdCBvZlxuICAgIC8vIGNvbXBsZXhpdHkuXG5cbiAgICBzd2l0Y2ggKHN0YXJ0VHlwZSkge1xuICAgICAgY2FzZSB0dC5fYnJlYWs6XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlQnJlYWtDb250aW51ZVN0YXRlbWVudChub2RlLCAvKiBpc0JyZWFrICovIHRydWUpO1xuICAgICAgY2FzZSB0dC5fY29udGludWU6XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlQnJlYWtDb250aW51ZVN0YXRlbWVudChub2RlLCAvKiBpc0JyZWFrICovIGZhbHNlKTtcbiAgICAgIGNhc2UgdHQuX2RlYnVnZ2VyOlxuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZURlYnVnZ2VyU3RhdGVtZW50KG5vZGUgYXMgVW5kb25lPE4uRGVidWdnZXJTdGF0ZW1lbnQ+KTtcbiAgICAgIGNhc2UgdHQuX2RvOlxuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZURvV2hpbGVTdGF0ZW1lbnQobm9kZSBhcyBVbmRvbmU8Ti5Eb1doaWxlU3RhdGVtZW50Pik7XG4gICAgICBjYXNlIHR0Ll9mb3I6XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlRm9yU3RhdGVtZW50KG5vZGUgYXMgVW5kb25lPE4uRm9yU3RhdGVtZW50Pik7XG4gICAgICBjYXNlIHR0Ll9mdW5jdGlvbjpcbiAgICAgICAgaWYgKHRoaXMubG9va2FoZWFkQ2hhckNvZGUoKSA9PT0gY2hhckNvZGVzLmRvdCkgYnJlYWs7XG4gICAgICAgIGlmICghYWxsb3dGdW5jdGlvbkRlY2xhcmF0aW9uKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICAgIHRoaXMuc3RhdGUuc3RyaWN0XG4gICAgICAgICAgICAgID8gRXJyb3JzLlN0cmljdEZ1bmN0aW9uXG4gICAgICAgICAgICAgIDogdGhpcy5vcHRpb25zLmFubmV4QlxuICAgICAgICAgICAgICAgID8gRXJyb3JzLlNsb3BweUZ1bmN0aW9uQW5uZXhCXG4gICAgICAgICAgICAgICAgOiBFcnJvcnMuU2xvcHB5RnVuY3Rpb24sXG4gICAgICAgICAgICB0aGlzLnN0YXRlLnN0YXJ0TG9jLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VGdW5jdGlvblN0YXRlbWVudChcbiAgICAgICAgICBub2RlIGFzIFVuZG9uZTxOLkZ1bmN0aW9uRGVjbGFyYXRpb24+LFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgICFhbGxvd0RlY2xhcmF0aW9uICYmIGFsbG93RnVuY3Rpb25EZWNsYXJhdGlvbixcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgdHQuX2NsYXNzOlxuICAgICAgICBpZiAoIWFsbG93RGVjbGFyYXRpb24pIHRoaXMudW5leHBlY3RlZCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUNsYXNzKFxuICAgICAgICAgIHRoaXMubWF5YmVUYWtlRGVjb3JhdG9ycyhcbiAgICAgICAgICAgIGRlY29yYXRvcnMsXG4gICAgICAgICAgICBub2RlIGFzIFVuZG9uZTxOLkNsYXNzRGVjbGFyYXRpb24+LFxuICAgICAgICAgICksXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgKTtcblxuICAgICAgY2FzZSB0dC5faWY6XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlSWZTdGF0ZW1lbnQobm9kZSBhcyBVbmRvbmU8Ti5JZlN0YXRlbWVudD4pO1xuICAgICAgY2FzZSB0dC5fcmV0dXJuOlxuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZVJldHVyblN0YXRlbWVudChub2RlIGFzIFVuZG9uZTxOLlJldHVyblN0YXRlbWVudD4pO1xuICAgICAgY2FzZSB0dC5fc3dpdGNoOlxuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZVN3aXRjaFN0YXRlbWVudChub2RlIGFzIFVuZG9uZTxOLlN3aXRjaFN0YXRlbWVudD4pO1xuICAgICAgY2FzZSB0dC5fdGhyb3c6XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlVGhyb3dTdGF0ZW1lbnQobm9kZSBhcyBVbmRvbmU8Ti5UaHJvd1N0YXRlbWVudD4pO1xuICAgICAgY2FzZSB0dC5fdHJ5OlxuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZVRyeVN0YXRlbWVudChub2RlIGFzIFVuZG9uZTxOLlRyeVN0YXRlbWVudD4pO1xuXG4gICAgICBjYXNlIHR0Ll9hd2FpdDpcbiAgICAgICAgLy8gWytBd2FpdF0gYXdhaXQgW25vIExpbmVUZXJtaW5hdG9yIGhlcmVdIHVzaW5nIFtubyBMaW5lVGVybWluYXRvciBoZXJlXSBCaW5kaW5nTGlzdFsrVXNpbmddXG4gICAgICAgIGlmICghdGhpcy5zdGF0ZS5jb250YWluc0VzYyAmJiB0aGlzLnN0YXJ0c0F3YWl0VXNpbmcoKSkge1xuICAgICAgICAgIGlmICghdGhpcy5yZWNvcmRBd2FpdElmQWxsb3dlZCgpKSB7XG4gICAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5Bd2FpdFVzaW5nTm90SW5Bc3luY0NvbnRleHQsIG5vZGUpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoIWFsbG93RGVjbGFyYXRpb24pIHtcbiAgICAgICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLlVuZXhwZWN0ZWRMZXhpY2FsRGVjbGFyYXRpb24sIG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLm5leHQoKTsgLy8gZWF0ICdhd2FpdCdcbiAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZVZhclN0YXRlbWVudChcbiAgICAgICAgICAgIG5vZGUgYXMgVW5kb25lPE4uVmFyaWFibGVEZWNsYXJhdGlvbj4sXG4gICAgICAgICAgICBcImF3YWl0IHVzaW5nXCIsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgdHQuX3VzaW5nOlxuICAgICAgICAvLyB1c2luZyBbbm8gTGluZVRlcm1pbmF0b3IgaGVyZV0gQmluZGluZ0xpc3RbK1VzaW5nXVxuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5zdGF0ZS5jb250YWluc0VzYyB8fFxuICAgICAgICAgICF0aGlzLmhhc0luTGluZUZvbGxvd2luZ0JpbmRpbmdJZGVudGlmaWVyT3JCcmFjZSgpXG4gICAgICAgICkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZXhwZWN0UGx1Z2luKFwiZXhwbGljaXRSZXNvdXJjZU1hbmFnZW1lbnRcIik7XG4gICAgICAgIGlmICghdGhpcy5zY29wZS5pbk1vZHVsZSAmJiB0aGlzLnNjb3BlLmluVG9wTGV2ZWwpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5VbmV4cGVjdGVkVXNpbmdEZWNsYXJhdGlvbiwgdGhpcy5zdGF0ZS5zdGFydExvYyk7XG4gICAgICAgIH0gZWxzZSBpZiAoIWFsbG93RGVjbGFyYXRpb24pIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5VbmV4cGVjdGVkTGV4aWNhbERlY2xhcmF0aW9uLCB0aGlzLnN0YXRlLnN0YXJ0TG9jKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZVZhclN0YXRlbWVudChcbiAgICAgICAgICBub2RlIGFzIFVuZG9uZTxOLlZhcmlhYmxlRGVjbGFyYXRpb24+LFxuICAgICAgICAgIFwidXNpbmdcIixcbiAgICAgICAgKTtcbiAgICAgIGNhc2UgdHQuX2xldDoge1xuICAgICAgICBpZiAodGhpcy5zdGF0ZS5jb250YWluc0VzYykge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIC8vIGBsZXQgW2AgaXMgYW4gZXhwbGljaXQgbmVnYXRpdmUgbG9va2FoZWFkIGZvclxuICAgICAgICAvLyBFeHByZXNzaW9uU3RhdGVtZW50LCBzbyBzcGVjaWFsLWNhc2UgaXQgZmlyc3QuXG4gICAgICAgIGNvbnN0IG5leHQgPSB0aGlzLm5leHRUb2tlblN0YXJ0KCk7XG4gICAgICAgIGNvbnN0IG5leHRDaCA9IHRoaXMuY29kZVBvaW50QXRQb3MobmV4dCk7XG4gICAgICAgIGlmIChuZXh0Q2ggIT09IGNoYXJDb2Rlcy5sZWZ0U3F1YXJlQnJhY2tldCkge1xuICAgICAgICAgIGlmICghYWxsb3dEZWNsYXJhdGlvbiAmJiB0aGlzLmhhc0ZvbGxvd2luZ0xpbmVCcmVhaygpKSBicmVhaztcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhdGhpcy5jaFN0YXJ0c0JpbmRpbmdJZGVudGlmaWVyKG5leHRDaCwgbmV4dCkgJiZcbiAgICAgICAgICAgIG5leHRDaCAhPT0gY2hhckNvZGVzLmxlZnRDdXJseUJyYWNlXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIGZhbGwgdGhyb3VnaFxuICAgICAgY2FzZSB0dC5fY29uc3Q6IHtcbiAgICAgICAgaWYgKCFhbGxvd0RlY2xhcmF0aW9uKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuVW5leHBlY3RlZExleGljYWxEZWNsYXJhdGlvbiwgdGhpcy5zdGF0ZS5zdGFydExvYyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIGZhbGwgdGhyb3VnaFxuICAgICAgY2FzZSB0dC5fdmFyOiB7XG4gICAgICAgIGNvbnN0IGtpbmQgPSB0aGlzLnN0YXRlLnZhbHVlO1xuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZVZhclN0YXRlbWVudChcbiAgICAgICAgICBub2RlIGFzIFVuZG9uZTxOLlZhcmlhYmxlRGVjbGFyYXRpb24+LFxuICAgICAgICAgIGtpbmQsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjYXNlIHR0Ll93aGlsZTpcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VXaGlsZVN0YXRlbWVudChub2RlIGFzIFVuZG9uZTxOLldoaWxlU3RhdGVtZW50Pik7XG4gICAgICBjYXNlIHR0Ll93aXRoOlxuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZVdpdGhTdGF0ZW1lbnQobm9kZSBhcyBVbmRvbmU8Ti5XaXRoU3RhdGVtZW50Pik7XG4gICAgICBjYXNlIHR0LmJyYWNlTDpcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VCbG9jaygpO1xuICAgICAgY2FzZSB0dC5zZW1pOlxuICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUVtcHR5U3RhdGVtZW50KG5vZGUgYXMgVW5kb25lPE4uRW1wdHlTdGF0ZW1lbnQ+KTtcbiAgICAgIGNhc2UgdHQuX2ltcG9ydDoge1xuICAgICAgICBjb25zdCBuZXh0VG9rZW5DaGFyQ29kZSA9IHRoaXMubG9va2FoZWFkQ2hhckNvZGUoKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIG5leHRUb2tlbkNoYXJDb2RlID09PSBjaGFyQ29kZXMubGVmdFBhcmVudGhlc2lzIHx8IC8vIGltcG9ydCgpXG4gICAgICAgICAgbmV4dFRva2VuQ2hhckNvZGUgPT09IGNoYXJDb2Rlcy5kb3QgLy8gaW1wb3J0Lm1ldGFcbiAgICAgICAgKSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIGZhbGwgdGhyb3VnaFxuICAgICAgY2FzZSB0dC5fZXhwb3J0OiB7XG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zLmFsbG93SW1wb3J0RXhwb3J0RXZlcnl3aGVyZSAmJiAhdG9wTGV2ZWwpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5VbmV4cGVjdGVkSW1wb3J0RXhwb3J0LCB0aGlzLnN0YXRlLnN0YXJ0TG9jKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubmV4dCgpOyAvLyBlYXQgYGltcG9ydGAvYGV4cG9ydGBcblxuICAgICAgICBsZXQgcmVzdWx0O1xuICAgICAgICBpZiAoc3RhcnRUeXBlID09PSB0dC5faW1wb3J0KSB7XG4gICAgICAgICAgcmVzdWx0ID0gdGhpcy5wYXJzZUltcG9ydChub2RlIGFzIFVuZG9uZTxOLkltcG9ydERlY2xhcmF0aW9uPik7XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICByZXN1bHQudHlwZSA9PT0gXCJJbXBvcnREZWNsYXJhdGlvblwiICYmXG4gICAgICAgICAgICAoIXJlc3VsdC5pbXBvcnRLaW5kIHx8IHJlc3VsdC5pbXBvcnRLaW5kID09PSBcInZhbHVlXCIpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnNhd1VuYW1iaWd1b3VzRVNNID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzdWx0ID0gdGhpcy5wYXJzZUV4cG9ydChcbiAgICAgICAgICAgIG5vZGUgYXMgVW5kb25lPFxuICAgICAgICAgICAgICB8IE4uRXhwb3J0QWxsRGVjbGFyYXRpb25cbiAgICAgICAgICAgICAgfCBOLkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblxuICAgICAgICAgICAgICB8IE4uRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXG4gICAgICAgICAgICA+LFxuICAgICAgICAgICAgZGVjb3JhdG9ycyxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgKHJlc3VsdC50eXBlID09PSBcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIiAmJlxuICAgICAgICAgICAgICAoIXJlc3VsdC5leHBvcnRLaW5kIHx8IHJlc3VsdC5leHBvcnRLaW5kID09PSBcInZhbHVlXCIpKSB8fFxuICAgICAgICAgICAgKHJlc3VsdC50eXBlID09PSBcIkV4cG9ydEFsbERlY2xhcmF0aW9uXCIgJiZcbiAgICAgICAgICAgICAgKCFyZXN1bHQuZXhwb3J0S2luZCB8fCByZXN1bHQuZXhwb3J0S2luZCA9PT0gXCJ2YWx1ZVwiKSkgfHxcbiAgICAgICAgICAgIHJlc3VsdC50eXBlID09PSBcIkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblwiXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLnNhd1VuYW1iaWd1b3VzRVNNID0gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmFzc2VydE1vZHVsZU5vZGVBbGxvd2VkKHJlc3VsdCk7XG5cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH1cblxuICAgICAgZGVmYXVsdDoge1xuICAgICAgICBpZiAodGhpcy5pc0FzeW5jRnVuY3Rpb24oKSkge1xuICAgICAgICAgIGlmICghYWxsb3dEZWNsYXJhdGlvbikge1xuICAgICAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICAgICAgRXJyb3JzLkFzeW5jRnVuY3Rpb25JblNpbmdsZVN0YXRlbWVudENvbnRleHQsXG4gICAgICAgICAgICAgIHRoaXMuc3RhdGUuc3RhcnRMb2MsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0aGlzLm5leHQoKTsgLy8gZWF0ICdhc3luYydcbiAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUZ1bmN0aW9uU3RhdGVtZW50KFxuICAgICAgICAgICAgbm9kZSBhcyBVbmRvbmU8Ti5GdW5jdGlvbkRlY2xhcmF0aW9uPixcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICAhYWxsb3dEZWNsYXJhdGlvbiAmJiBhbGxvd0Z1bmN0aW9uRGVjbGFyYXRpb24sXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHRoZSBzdGF0ZW1lbnQgZG9lcyBub3Qgc3RhcnQgd2l0aCBhIHN0YXRlbWVudCBrZXl3b3JkIG9yIGFcbiAgICAvLyBicmFjZSwgaXQncyBhbiBFeHByZXNzaW9uU3RhdGVtZW50IG9yIExhYmVsZWRTdGF0ZW1lbnQuIFdlXG4gICAgLy8gc2ltcGx5IHN0YXJ0IHBhcnNpbmcgYW4gZXhwcmVzc2lvbiwgYW5kIGFmdGVyd2FyZHMsIGlmIHRoZVxuICAgIC8vIG5leHQgdG9rZW4gaXMgYSBjb2xvbiBhbmQgdGhlIGV4cHJlc3Npb24gd2FzIGEgc2ltcGxlXG4gICAgLy8gSWRlbnRpZmllciBub2RlLCB3ZSBzd2l0Y2ggdG8gaW50ZXJwcmV0aW5nIGl0IGFzIGEgbGFiZWwuXG4gICAgY29uc3QgbWF5YmVOYW1lID0gdGhpcy5zdGF0ZS52YWx1ZTtcbiAgICBjb25zdCBleHByID0gdGhpcy5wYXJzZUV4cHJlc3Npb24oKTtcblxuICAgIGlmIChcbiAgICAgIHRva2VuSXNJZGVudGlmaWVyKHN0YXJ0VHlwZSkgJiZcbiAgICAgIGV4cHIudHlwZSA9PT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICAgIHRoaXMuZWF0KHR0LmNvbG9uKVxuICAgICkge1xuICAgICAgcmV0dXJuIHRoaXMucGFyc2VMYWJlbGVkU3RhdGVtZW50KFxuICAgICAgICBub2RlIGFzIFVuZG9uZTxOLkxhYmVsZWRTdGF0ZW1lbnQ+LFxuICAgICAgICBtYXliZU5hbWUsXG4gICAgICAgIGV4cHIsXG4gICAgICAgIGZsYWdzLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMucGFyc2VFeHByZXNzaW9uU3RhdGVtZW50KFxuICAgICAgICBub2RlIGFzIFVuZG9uZTxOLkV4cHJlc3Npb25TdGF0ZW1lbnQ+LFxuICAgICAgICBleHByLFxuICAgICAgICBkZWNvcmF0b3JzLFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBhc3NlcnRNb2R1bGVOb2RlQWxsb3dlZChub2RlOiBOLk5vZGUpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMub3B0aW9ucy5hbGxvd0ltcG9ydEV4cG9ydEV2ZXJ5d2hlcmUgJiYgIXRoaXMuaW5Nb2R1bGUpIHtcbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkltcG9ydE91dHNpZGVNb2R1bGUsIG5vZGUpO1xuICAgIH1cbiAgfVxuXG4gIGRlY29yYXRvcnNFbmFibGVkQmVmb3JlRXhwb3J0KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLmhhc1BsdWdpbihcImRlY29yYXRvcnMtbGVnYWN5XCIpKSByZXR1cm4gdHJ1ZTtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5oYXNQbHVnaW4oXCJkZWNvcmF0b3JzXCIpICYmXG4gICAgICB0aGlzLmdldFBsdWdpbk9wdGlvbihcImRlY29yYXRvcnNcIiwgXCJkZWNvcmF0b3JzQmVmb3JlRXhwb3J0XCIpICE9PSBmYWxzZVxuICAgICk7XG4gIH1cblxuICAvLyBBdHRhY2ggdGhlIGRlY29yYXRvcnMgdG8gdGhlIGdpdmVuIGNsYXNzLlxuICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBjaGFuZ2VzIHRoZSAuc3RhcnQgbG9jYXRpb24gb2YgdGhlIGNsYXNzLCBhbmQgdGh1c1xuICAvLyBjYW4gYWZmZWN0IGNvbW1lbnQgYXR0YWNobWVudC4gQ2FsbGluZyBpdCBiZWZvcmUgb3IgYWZ0ZXIgZmluYWxpemluZ1xuICAvLyB0aGUgY2xhc3Mgbm9kZSAoYW5kIHRodXMgZmluYWxpemluZyBpdHMgY29tbWVudHMpIGNoYW5nZXMgaG93IGNvbW1lbnRzXG4gIC8vIGJlZm9yZSB0aGUgYGNsYXNzYCBrZXl3b3JkIG9yIGJlZm9yZSB0aGUgZmluYWwgLnN0YXJ0IGxvY2F0aW9uIG9mIHRoZVxuICAvLyBjbGFzcyBhcmUgYXR0YWNoZWQuXG4gIG1heWJlVGFrZURlY29yYXRvcnM8VCBleHRlbmRzIFVuZG9uZTxOLkNsYXNzPj4oXG4gICAgbWF5YmVEZWNvcmF0b3JzOiBOLkRlY29yYXRvcltdIHwgbnVsbCxcbiAgICBjbGFzc05vZGU6IFQsXG4gICAgZXhwb3J0Tm9kZT86IFVuZG9uZTxOLkV4cG9ydERlZmF1bHREZWNsYXJhdGlvbiB8IE4uRXhwb3J0TmFtZWREZWNsYXJhdGlvbj4sXG4gICk6IFQge1xuICAgIGlmIChtYXliZURlY29yYXRvcnMpIHtcbiAgICAgIGlmIChjbGFzc05vZGUuZGVjb3JhdG9ycyAmJiBjbGFzc05vZGUuZGVjb3JhdG9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIC8vIE5vdGU6IGRlY29yYXRvcnMgYXR0YWNobWVudCBpcyBvbmx5IGF0dGVtcHJlZCBtdWx0aXBsZSB0aW1lc1xuICAgICAgICAvLyB3aGVuIHRoZSBjbGFzcyBpcyBwYXJ0IG9mIGFuIGV4cG9ydCBkZWNsYXJhdGlvbi5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHR5cGVvZiB0aGlzLmdldFBsdWdpbk9wdGlvbihcbiAgICAgICAgICAgIFwiZGVjb3JhdG9yc1wiLFxuICAgICAgICAgICAgXCJkZWNvcmF0b3JzQmVmb3JlRXhwb3J0XCIsXG4gICAgICAgICAgKSAhPT0gXCJib29sZWFuXCJcbiAgICAgICAgKSB7XG4gICAgICAgICAgLy8gSWYgYGRlY29yYXRvcnNCZWZvcmVFeHBvcnRgIHdhcyBzZXQgdG8gYHRydWVgIG9yIGBmYWxzZWAsIHdlXG4gICAgICAgICAgLy8gYWxyZWFkeSB0aHJldyBhbiBlcnJvciBhYm91dCBkZWNvcmF0b3JzIG5vdCBiZWluZyBpbiBhIHZhbGlkXG4gICAgICAgICAgLy8gcG9zaXRpb24uXG4gICAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICAgIEVycm9ycy5EZWNvcmF0b3JzQmVmb3JlQWZ0ZXJFeHBvcnQsXG4gICAgICAgICAgICBjbGFzc05vZGUuZGVjb3JhdG9yc1swXSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNsYXNzTm9kZS5kZWNvcmF0b3JzLnVuc2hpZnQoLi4ubWF5YmVEZWNvcmF0b3JzKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsYXNzTm9kZS5kZWNvcmF0b3JzID0gbWF5YmVEZWNvcmF0b3JzO1xuICAgICAgfVxuICAgICAgdGhpcy5yZXNldFN0YXJ0TG9jYXRpb25Gcm9tTm9kZShjbGFzc05vZGUsIG1heWJlRGVjb3JhdG9yc1swXSk7XG4gICAgICBpZiAoZXhwb3J0Tm9kZSkgdGhpcy5yZXNldFN0YXJ0TG9jYXRpb25Gcm9tTm9kZShleHBvcnROb2RlLCBjbGFzc05vZGUpO1xuICAgIH1cbiAgICByZXR1cm4gY2xhc3NOb2RlO1xuICB9XG5cbiAgY2FuSGF2ZUxlYWRpbmdEZWNvcmF0b3IoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWF0Y2godHQuX2NsYXNzKTtcbiAgfVxuXG4gIHBhcnNlRGVjb3JhdG9ycyh0aGlzOiBQYXJzZXIsIGFsbG93RXhwb3J0PzogYm9vbGVhbik6IE4uRGVjb3JhdG9yW10ge1xuICAgIGNvbnN0IGRlY29yYXRvcnMgPSBbXTtcbiAgICBkbyB7XG4gICAgICBkZWNvcmF0b3JzLnB1c2godGhpcy5wYXJzZURlY29yYXRvcigpKTtcbiAgICB9IHdoaWxlICh0aGlzLm1hdGNoKHR0LmF0KSk7XG5cbiAgICBpZiAodGhpcy5tYXRjaCh0dC5fZXhwb3J0KSkge1xuICAgICAgaWYgKCFhbGxvd0V4cG9ydCkge1xuICAgICAgICB0aGlzLnVuZXhwZWN0ZWQoKTtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0aGlzLmRlY29yYXRvcnNFbmFibGVkQmVmb3JlRXhwb3J0KCkpIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuRGVjb3JhdG9yRXhwb3J0Q2xhc3MsIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIXRoaXMuY2FuSGF2ZUxlYWRpbmdEZWNvcmF0b3IoKSkge1xuICAgICAgdGhyb3cgdGhpcy5yYWlzZShFcnJvcnMuVW5leHBlY3RlZExlYWRpbmdEZWNvcmF0b3IsIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgIH1cblxuICAgIHJldHVybiBkZWNvcmF0b3JzO1xuICB9XG5cbiAgcGFyc2VEZWNvcmF0b3IodGhpczogUGFyc2VyKTogTi5EZWNvcmF0b3Ige1xuICAgIHRoaXMuZXhwZWN0T25lUGx1Z2luKFtcImRlY29yYXRvcnNcIiwgXCJkZWNvcmF0b3JzLWxlZ2FjeVwiXSk7XG5cbiAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5EZWNvcmF0b3I+KCk7XG4gICAgdGhpcy5uZXh0KCk7XG5cbiAgICBpZiAodGhpcy5oYXNQbHVnaW4oXCJkZWNvcmF0b3JzXCIpKSB7XG4gICAgICBjb25zdCBzdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG4gICAgICBsZXQgZXhwcjogTi5FeHByZXNzaW9uO1xuXG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5wYXJlbkwpKSB7XG4gICAgICAgIGNvbnN0IHN0YXJ0TG9jID0gdGhpcy5zdGF0ZS5zdGFydExvYztcbiAgICAgICAgdGhpcy5uZXh0KCk7IC8vIGVhdCAnKCdcbiAgICAgICAgZXhwciA9IHRoaXMucGFyc2VFeHByZXNzaW9uKCk7XG4gICAgICAgIHRoaXMuZXhwZWN0KHR0LnBhcmVuUik7XG4gICAgICAgIGV4cHIgPSB0aGlzLndyYXBQYXJlbnRoZXNpcyhzdGFydExvYywgZXhwcik7XG5cbiAgICAgICAgY29uc3QgcGFyYW1zU3RhcnRMb2MgPSB0aGlzLnN0YXRlLnN0YXJ0TG9jO1xuICAgICAgICBub2RlLmV4cHJlc3Npb24gPSB0aGlzLnBhcnNlTWF5YmVEZWNvcmF0b3JBcmd1bWVudHMoZXhwcik7XG4gICAgICAgIGlmIChcbiAgICAgICAgICB0aGlzLmdldFBsdWdpbk9wdGlvbihcImRlY29yYXRvcnNcIiwgXCJhbGxvd0NhbGxQYXJlbnRoZXNpemVkXCIpID09PVxuICAgICAgICAgICAgZmFsc2UgJiZcbiAgICAgICAgICBub2RlLmV4cHJlc3Npb24gIT09IGV4cHJcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShcbiAgICAgICAgICAgIEVycm9ycy5EZWNvcmF0b3JBcmd1bWVudHNPdXRzaWRlUGFyZW50aGVzZXMsXG4gICAgICAgICAgICBwYXJhbXNTdGFydExvYyxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBleHByID0gdGhpcy5wYXJzZUlkZW50aWZpZXIoZmFsc2UpO1xuXG4gICAgICAgIHdoaWxlICh0aGlzLmVhdCh0dC5kb3QpKSB7XG4gICAgICAgICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlQXQ8Ti5NZW1iZXJFeHByZXNzaW9uPihzdGFydExvYyk7XG4gICAgICAgICAgbm9kZS5vYmplY3QgPSBleHByO1xuICAgICAgICAgIGlmICh0aGlzLm1hdGNoKHR0LnByaXZhdGVOYW1lKSkge1xuICAgICAgICAgICAgdGhpcy5jbGFzc1Njb3BlLnVzZVByaXZhdGVOYW1lKFxuICAgICAgICAgICAgICB0aGlzLnN0YXRlLnZhbHVlLFxuICAgICAgICAgICAgICB0aGlzLnN0YXRlLnN0YXJ0TG9jLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIG5vZGUucHJvcGVydHkgPSB0aGlzLnBhcnNlUHJpdmF0ZU5hbWUoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbm9kZS5wcm9wZXJ0eSA9IHRoaXMucGFyc2VJZGVudGlmaWVyKHRydWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBub2RlLmNvbXB1dGVkID0gZmFsc2U7XG4gICAgICAgICAgZXhwciA9IHRoaXMuZmluaXNoTm9kZShub2RlLCBcIk1lbWJlckV4cHJlc3Npb25cIik7XG4gICAgICAgIH1cblxuICAgICAgICBub2RlLmV4cHJlc3Npb24gPSB0aGlzLnBhcnNlTWF5YmVEZWNvcmF0b3JBcmd1bWVudHMoZXhwcik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGUuZXhwcmVzc2lvbiA9IHRoaXMucGFyc2VFeHByU3Vic2NyaXB0cygpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiRGVjb3JhdG9yXCIpO1xuICB9XG5cbiAgcGFyc2VNYXliZURlY29yYXRvckFyZ3VtZW50cyh0aGlzOiBQYXJzZXIsIGV4cHI6IE4uRXhwcmVzc2lvbik6IE4uRXhwcmVzc2lvbiB7XG4gICAgaWYgKHRoaXMuZWF0KHR0LnBhcmVuTCkpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZUF0Tm9kZTxOLkNhbGxFeHByZXNzaW9uPihleHByKTtcbiAgICAgIG5vZGUuY2FsbGVlID0gZXhwcjtcbiAgICAgIG5vZGUuYXJndW1lbnRzID0gdGhpcy5wYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKHR0LnBhcmVuUik7XG4gICAgICB0aGlzLnRvUmVmZXJlbmNlZExpc3Qobm9kZS5hcmd1bWVudHMpO1xuICAgICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkNhbGxFeHByZXNzaW9uXCIpO1xuICAgIH1cblxuICAgIHJldHVybiBleHByO1xuICB9XG5cbiAgcGFyc2VCcmVha0NvbnRpbnVlU3RhdGVtZW50KFxuICAgIG5vZGU6IFVuZG9uZTxOLk5vZGU+LFxuICAgIGlzQnJlYWs6IHRydWUsXG4gICk6IE4uQnJlYWtTdGF0ZW1lbnQ7XG4gIHBhcnNlQnJlYWtDb250aW51ZVN0YXRlbWVudChcbiAgICBub2RlOiBVbmRvbmU8Ti5Ob2RlPixcbiAgICBpc0JyZWFrOiBmYWxzZSxcbiAgKTogTi5Db250aW51ZVN0YXRlbWVudDtcbiAgcGFyc2VCcmVha0NvbnRpbnVlU3RhdGVtZW50KFxuICAgIG5vZGU6IFVuZG9uZTxOLkJyZWFrU3RhdGVtZW50IHwgTi5Db250aW51ZVN0YXRlbWVudD4sXG4gICAgaXNCcmVhazogYm9vbGVhbixcbiAgKTogTi5CcmVha1N0YXRlbWVudCB8IE4uQ29udGludWVTdGF0ZW1lbnQge1xuICAgIHRoaXMubmV4dCgpO1xuXG4gICAgaWYgKHRoaXMuaXNMaW5lVGVybWluYXRvcigpKSB7XG4gICAgICBub2RlLmxhYmVsID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgbm9kZS5sYWJlbCA9IHRoaXMucGFyc2VJZGVudGlmaWVyKCk7XG4gICAgICB0aGlzLnNlbWljb2xvbigpO1xuICAgIH1cblxuICAgIHRoaXMudmVyaWZ5QnJlYWtDb250aW51ZShub2RlLCBpc0JyZWFrKTtcblxuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUoXG4gICAgICBub2RlLFxuICAgICAgaXNCcmVhayA/IFwiQnJlYWtTdGF0ZW1lbnRcIiA6IFwiQ29udGludWVTdGF0ZW1lbnRcIixcbiAgICApO1xuICB9XG5cbiAgdmVyaWZ5QnJlYWtDb250aW51ZShcbiAgICBub2RlOiBVbmRvbmU8Ti5CcmVha1N0YXRlbWVudCB8IE4uQ29udGludWVTdGF0ZW1lbnQ+LFxuICAgIGlzQnJlYWs6IGJvb2xlYW4sXG4gICkge1xuICAgIGxldCBpO1xuICAgIGZvciAoaSA9IDA7IGkgPCB0aGlzLnN0YXRlLmxhYmVscy5sZW5ndGg7ICsraSkge1xuICAgICAgY29uc3QgbGFiID0gdGhpcy5zdGF0ZS5sYWJlbHNbaV07XG4gICAgICBpZiAobm9kZS5sYWJlbCA9PSBudWxsIHx8IGxhYi5uYW1lID09PSBub2RlLmxhYmVsLm5hbWUpIHtcbiAgICAgICAgaWYgKGxhYi5raW5kICE9IG51bGwgJiYgKGlzQnJlYWsgfHwgbGFiLmtpbmQgPT09IExvb3BMYWJlbEtpbmQuTG9vcCkpIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5sYWJlbCAmJiBpc0JyZWFrKSBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGkgPT09IHRoaXMuc3RhdGUubGFiZWxzLmxlbmd0aCkge1xuICAgICAgY29uc3QgdHlwZSA9IGlzQnJlYWsgPyBcIkJyZWFrU3RhdGVtZW50XCIgOiBcIkNvbnRpbnVlU3RhdGVtZW50XCI7XG4gICAgICB0aGlzLnJhaXNlKEVycm9ycy5JbGxlZ2FsQnJlYWtDb250aW51ZSwgbm9kZSwgeyB0eXBlIH0pO1xuICAgIH1cbiAgfVxuXG4gIHBhcnNlRGVidWdnZXJTdGF0ZW1lbnQoXG4gICAgbm9kZTogVW5kb25lPE4uRGVidWdnZXJTdGF0ZW1lbnQ+LFxuICApOiBOLkRlYnVnZ2VyU3RhdGVtZW50IHtcbiAgICB0aGlzLm5leHQoKTtcbiAgICB0aGlzLnNlbWljb2xvbigpO1xuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJEZWJ1Z2dlclN0YXRlbWVudFwiKTtcbiAgfVxuXG4gIHBhcnNlSGVhZGVyRXhwcmVzc2lvbih0aGlzOiBQYXJzZXIpOiBOLkV4cHJlc3Npb24ge1xuICAgIHRoaXMuZXhwZWN0KHR0LnBhcmVuTCk7XG4gICAgY29uc3QgdmFsID0gdGhpcy5wYXJzZUV4cHJlc3Npb24oKTtcbiAgICB0aGlzLmV4cGVjdCh0dC5wYXJlblIpO1xuICAgIHJldHVybiB2YWw7XG4gIH1cblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1Eb1doaWxlU3RhdGVtZW50XG4gIHBhcnNlRG9XaGlsZVN0YXRlbWVudChcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgbm9kZTogVW5kb25lPE4uRG9XaGlsZVN0YXRlbWVudD4sXG4gICk6IE4uRG9XaGlsZVN0YXRlbWVudCB7XG4gICAgdGhpcy5uZXh0KCk7XG4gICAgdGhpcy5zdGF0ZS5sYWJlbHMucHVzaChsb29wTGFiZWwpO1xuXG4gICAgLy8gUGFyc2UgdGhlIGxvb3AgYm9keSdzIGJvZHkuXG4gICAgbm9kZS5ib2R5ID1cbiAgICAgIC8vIEZvciB0aGUgc21hcnRQaXBlbGluZXMgcGx1Z2luOiBEaXNhYmxlIHRvcGljIHJlZmVyZW5jZXMgZnJvbSBvdXRlclxuICAgICAgLy8gY29udGV4dHMgd2l0aGluIHRoZSBsb29wIGJvZHkuIFRoZXkgYXJlIHBlcm1pdHRlZCBpbiB0ZXN0IGV4cHJlc3Npb25zLFxuICAgICAgLy8gb3V0c2lkZSBvZiB0aGUgbG9vcCBib2R5LlxuICAgICAgdGhpcy53aXRoU21hcnRNaXhUb3BpY0ZvcmJpZGRpbmdDb250ZXh0KCgpID0+XG4gICAgICAgIC8vIFBhcnNlIHRoZSBsb29wIGJvZHkncyBib2R5LlxuICAgICAgICB0aGlzLnBhcnNlU3RhdGVtZW50KCksXG4gICAgICApO1xuXG4gICAgdGhpcy5zdGF0ZS5sYWJlbHMucG9wKCk7XG5cbiAgICB0aGlzLmV4cGVjdCh0dC5fd2hpbGUpO1xuICAgIG5vZGUudGVzdCA9IHRoaXMucGFyc2VIZWFkZXJFeHByZXNzaW9uKCk7XG4gICAgdGhpcy5lYXQodHQuc2VtaSk7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkRvV2hpbGVTdGF0ZW1lbnRcIik7XG4gIH1cblxuICAvLyBEaXNhbWJpZ3VhdGluZyBiZXR3ZWVuIGEgYGZvcmAgYW5kIGEgYGZvcmAvYGluYCBvciBgZm9yYC9gb2ZgXG4gIC8vIGxvb3AgaXMgbm9uLXRyaXZpYWwuIEJhc2ljYWxseSwgd2UgaGF2ZSB0byBwYXJzZSB0aGUgaW5pdCBgdmFyYFxuICAvLyBzdGF0ZW1lbnQgb3IgZXhwcmVzc2lvbiwgZGlzYWxsb3dpbmcgdGhlIGBpbmAgb3BlcmF0b3IgKHNlZVxuICAvLyB0aGUgc2Vjb25kIHBhcmFtZXRlciB0byBgcGFyc2VFeHByZXNzaW9uYCksIGFuZCB0aGVuIGNoZWNrXG4gIC8vIHdoZXRoZXIgdGhlIG5leHQgdG9rZW4gaXMgYGluYCBvciBgb2ZgLiBXaGVuIHRoZXJlIGlzIG5vIGluaXRcbiAgLy8gcGFydCAoc2VtaWNvbG9uIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBvcGVuaW5nIHBhcmVudGhlc2lzKSwgaXRcbiAgLy8gaXMgYSByZWd1bGFyIGBmb3JgIGxvb3AuXG5cbiAgcGFyc2VGb3JTdGF0ZW1lbnQoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIG5vZGU6IFVuZG9uZTxOLkZvclN0YXRlbWVudCB8IE4uRm9ySW5PZj4sXG4gICk6IE4uRm9yTGlrZSB7XG4gICAgdGhpcy5uZXh0KCk7XG4gICAgdGhpcy5zdGF0ZS5sYWJlbHMucHVzaChsb29wTGFiZWwpO1xuXG4gICAgbGV0IGF3YWl0QXQgPSBudWxsO1xuXG4gICAgaWYgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9hd2FpdCkgJiYgdGhpcy5yZWNvcmRBd2FpdElmQWxsb3dlZCgpKSB7XG4gICAgICBhd2FpdEF0ID0gdGhpcy5zdGF0ZS5zdGFydExvYztcbiAgICAgIHRoaXMubmV4dCgpO1xuICAgIH1cbiAgICB0aGlzLnNjb3BlLmVudGVyKFNjb3BlRmxhZy5PVEhFUik7XG4gICAgdGhpcy5leHBlY3QodHQucGFyZW5MKTtcblxuICAgIGlmICh0aGlzLm1hdGNoKHR0LnNlbWkpKSB7XG4gICAgICBpZiAoYXdhaXRBdCAhPT0gbnVsbCkge1xuICAgICAgICB0aGlzLnVuZXhwZWN0ZWQoYXdhaXRBdCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdGhpcy5wYXJzZUZvcihub2RlIGFzIFVuZG9uZTxOLkZvclN0YXRlbWVudD4sIG51bGwpO1xuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0c1dpdGhMZXQgPSB0aGlzLmlzQ29udGV4dHVhbCh0dC5fbGV0KTtcbiAgICB7XG4gICAgICBjb25zdCBzdGFydHNXaXRoQXdhaXRVc2luZyA9XG4gICAgICAgIHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9hd2FpdCkgJiYgdGhpcy5zdGFydHNBd2FpdFVzaW5nKCk7XG4gICAgICBjb25zdCBzdGFyc1dpdGhVc2luZ0RlY2xhcmF0aW9uID1cbiAgICAgICAgc3RhcnRzV2l0aEF3YWl0VXNpbmcgfHxcbiAgICAgICAgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll91c2luZykgJiYgdGhpcy5zdGFydHNVc2luZ0Zvck9mKCkpO1xuICAgICAgY29uc3QgaXNMZXRPclVzaW5nID1cbiAgICAgICAgKHN0YXJ0c1dpdGhMZXQgJiYgdGhpcy5oYXNGb2xsb3dpbmdCaW5kaW5nQXRvbSgpKSB8fFxuICAgICAgICBzdGFyc1dpdGhVc2luZ0RlY2xhcmF0aW9uO1xuXG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5fdmFyKSB8fCB0aGlzLm1hdGNoKHR0Ll9jb25zdCkgfHwgaXNMZXRPclVzaW5nKSB7XG4gICAgICAgIGNvbnN0IGluaXROb2RlID0gdGhpcy5zdGFydE5vZGU8Ti5WYXJpYWJsZURlY2xhcmF0aW9uPigpO1xuICAgICAgICBsZXQga2luZDtcbiAgICAgICAgaWYgKHN0YXJ0c1dpdGhBd2FpdFVzaW5nKSB7XG4gICAgICAgICAga2luZCA9IFwiYXdhaXQgdXNpbmdcIjtcbiAgICAgICAgICBpZiAoIXRoaXMucmVjb3JkQXdhaXRJZkFsbG93ZWQoKSkge1xuICAgICAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuQXdhaXRVc2luZ05vdEluQXN5bmNDb250ZXh0LCB0aGlzLnN0YXRlLnN0YXJ0TG9jKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy5uZXh0KCk7IC8vIGVhdCAnYXdhaXQnXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAga2luZCA9IHRoaXMuc3RhdGUudmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5uZXh0KCk7XG4gICAgICAgIHRoaXMucGFyc2VWYXIoaW5pdE5vZGUsIHRydWUsIGtpbmQpO1xuICAgICAgICBjb25zdCBpbml0ID0gdGhpcy5maW5pc2hOb2RlKGluaXROb2RlLCBcIlZhcmlhYmxlRGVjbGFyYXRpb25cIik7XG5cbiAgICAgICAgY29uc3QgaXNGb3JJbiA9IHRoaXMubWF0Y2godHQuX2luKTtcbiAgICAgICAgaWYgKGlzRm9ySW4gJiYgc3RhcnNXaXRoVXNpbmdEZWNsYXJhdGlvbikge1xuICAgICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkZvckluVXNpbmcsIGluaXQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChcbiAgICAgICAgICAoaXNGb3JJbiB8fCB0aGlzLmlzQ29udGV4dHVhbCh0dC5fb2YpKSAmJlxuICAgICAgICAgIGluaXQuZGVjbGFyYXRpb25zLmxlbmd0aCA9PT0gMVxuICAgICAgICApIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5wYXJzZUZvckluKG5vZGUgYXMgVW5kb25lPE4uRm9ySW5PZj4sIGluaXQsIGF3YWl0QXQpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChhd2FpdEF0ICE9PSBudWxsKSB7XG4gICAgICAgICAgdGhpcy51bmV4cGVjdGVkKGF3YWl0QXQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnBhcnNlRm9yKG5vZGUgYXMgVW5kb25lPE4uRm9yU3RhdGVtZW50PiwgaW5pdCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2hlY2sgd2hldGhlciB0aGUgZmlyc3QgdG9rZW4gaXMgcG9zc2libHkgYSBjb250ZXh0dWFsIGtleXdvcmQsIHNvIHRoYXRcbiAgICAvLyB3ZSBjYW4gZm9yYmlkIGBmb3IgKGFzeW5jIG9mYCBpZiB0aGlzIHR1cm5zIG91dCB0byBiZSBhIGZvci1vZiBsb29wLlxuICAgIGNvbnN0IHN0YXJ0c1dpdGhBc3luYyA9IHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9hc3luYyk7XG5cbiAgICBjb25zdCByZWZFeHByZXNzaW9uRXJyb3JzID0gbmV3IEV4cHJlc3Npb25FcnJvcnMoKTtcbiAgICBjb25zdCBpbml0ID0gdGhpcy5wYXJzZUV4cHJlc3Npb24odHJ1ZSwgcmVmRXhwcmVzc2lvbkVycm9ycyk7XG4gICAgY29uc3QgaXNGb3JPZiA9IHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9vZik7XG4gICAgaWYgKGlzRm9yT2YpIHtcbiAgICAgIC8vIENoZWNrIGZvciBsZWFkaW5nIHRva2VucyB0aGF0IGFyZSBmb3JiaWRkZW4gaW4gZm9yLW9mIGxvb3BzOlxuICAgICAgaWYgKHN0YXJ0c1dpdGhMZXQpIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuRm9yT2ZMZXQsIGluaXQpO1xuICAgICAgfVxuXG4gICAgICBpZiAoXG4gICAgICAgIC8vIGBmb3IgYXdhaXQgKGFzeW5jIG9mIFtdKTtgIGlzIGFsbG93ZWQuXG4gICAgICAgIGF3YWl0QXQgPT09IG51bGwgJiZcbiAgICAgICAgc3RhcnRzV2l0aEFzeW5jICYmXG4gICAgICAgIGluaXQudHlwZSA9PT0gXCJJZGVudGlmaWVyXCJcbiAgICAgICkge1xuICAgICAgICAvLyBUaGlzIGNhdGNoZXMgdGhlIGNhc2Ugd2hlcmUgdGhlIGBhc3luY2AgaW4gYGZvciAoYXN5bmMgb2ZgIHdhc1xuICAgICAgICAvLyBwYXJzZWQgYXMgYW4gaWRlbnRpZmllci4gSWYgaXQgd2FzIHBhcnNlZCBhcyB0aGUgc3RhcnQgb2YgYW4gYXN5bmNcbiAgICAgICAgLy8gYXJyb3cgZnVuY3Rpb24gKGUuZy4gYGZvciAoYXN5bmMgb2YgPT4ge30gb2YgW10pO2ApLCB0aGUgTFZhbCBjaGVja1xuICAgICAgICAvLyBmdXJ0aGVyIGRvd24gd2lsbCByYWlzZSBhIG1vcmUgYXBwcm9wcmlhdGUgZXJyb3IuXG4gICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkZvck9mQXN5bmMsIGluaXQpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaXNGb3JPZiB8fCB0aGlzLm1hdGNoKHR0Ll9pbikpIHtcbiAgICAgIHRoaXMuY2hlY2tEZXN0cnVjdHVyaW5nUHJpdmF0ZShyZWZFeHByZXNzaW9uRXJyb3JzKTtcbiAgICAgIHRoaXMudG9Bc3NpZ25hYmxlKGluaXQsIC8qIGlzTEhTICovIHRydWUpO1xuICAgICAgY29uc3QgdHlwZSA9IGlzRm9yT2YgPyBcIkZvck9mU3RhdGVtZW50XCIgOiBcIkZvckluU3RhdGVtZW50XCI7XG4gICAgICB0aGlzLmNoZWNrTFZhbChpbml0LCB7IHR5cGUgfSk7XG4gICAgICByZXR1cm4gdGhpcy5wYXJzZUZvckluKFxuICAgICAgICBub2RlIGFzIFVuZG9uZTxOLkZvckluU3RhdGVtZW50IHwgTi5Gb3JPZlN0YXRlbWVudD4sXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgaW5pdCBoYXMgYmVlbiB0cmFuc2Zvcm1lZCB0byBhbiBhc3NpZ25hYmxlXG4gICAgICAgIGluaXQsXG4gICAgICAgIGF3YWl0QXQsXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmNoZWNrRXhwcmVzc2lvbkVycm9ycyhyZWZFeHByZXNzaW9uRXJyb3JzLCB0cnVlKTtcbiAgICB9XG4gICAgaWYgKGF3YWl0QXQgIT09IG51bGwpIHtcbiAgICAgIHRoaXMudW5leHBlY3RlZChhd2FpdEF0KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucGFyc2VGb3Iobm9kZSBhcyBVbmRvbmU8Ti5Gb3JTdGF0ZW1lbnQ+LCBpbml0KTtcbiAgfVxuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLUhvaXN0YWJsZURlY2xhcmF0aW9uXG4gIHBhcnNlRnVuY3Rpb25TdGF0ZW1lbnQoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIG5vZGU6IFVuZG9uZTxOLkZ1bmN0aW9uRGVjbGFyYXRpb24+LFxuICAgIGlzQXN5bmM6IGJvb2xlYW4sXG4gICAgaXNIYW5naW5nRGVjbGFyYXRpb246IGJvb2xlYW4sXG4gICk6IE4uRnVuY3Rpb25EZWNsYXJhdGlvbiB7XG4gICAgdGhpcy5uZXh0KCk7IC8vIGVhdCAnZnVuY3Rpb24nXG4gICAgcmV0dXJuIHRoaXMucGFyc2VGdW5jdGlvbihcbiAgICAgIG5vZGUsXG4gICAgICBQYXJzZUZ1bmN0aW9uRmxhZy5EZWNsYXJhdGlvbiB8XG4gICAgICAgIChpc0hhbmdpbmdEZWNsYXJhdGlvbiA/IFBhcnNlRnVuY3Rpb25GbGFnLkhhbmdpbmdEZWNsYXJhdGlvbiA6IDApIHxcbiAgICAgICAgKGlzQXN5bmMgPyBQYXJzZUZ1bmN0aW9uRmxhZy5Bc3luYyA6IDApLFxuICAgICk7XG4gIH1cblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1JZlN0YXRlbWVudFxuICBwYXJzZUlmU3RhdGVtZW50KHRoaXM6IFBhcnNlciwgbm9kZTogVW5kb25lPE4uSWZTdGF0ZW1lbnQ+KSB7XG4gICAgdGhpcy5uZXh0KCk7XG4gICAgbm9kZS50ZXN0ID0gdGhpcy5wYXJzZUhlYWRlckV4cHJlc3Npb24oKTtcbiAgICAvLyBBbm5leCBCLjMuM1xuICAgIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNzZWMtZnVuY3Rpb25kZWNsYXJhdGlvbnMtaW4taWZzdGF0ZW1lbnQtc3RhdGVtZW50LWNsYXVzZXNcbiAgICBub2RlLmNvbnNlcXVlbnQgPSB0aGlzLnBhcnNlU3RhdGVtZW50T3JTbG9wcHlBbm5leEJGdW5jdGlvbkRlY2xhcmF0aW9uKCk7XG4gICAgbm9kZS5hbHRlcm5hdGUgPSB0aGlzLmVhdCh0dC5fZWxzZSlcbiAgICAgID8gdGhpcy5wYXJzZVN0YXRlbWVudE9yU2xvcHB5QW5uZXhCRnVuY3Rpb25EZWNsYXJhdGlvbigpXG4gICAgICA6IG51bGw7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIklmU3RhdGVtZW50XCIpO1xuICB9XG5cbiAgcGFyc2VSZXR1cm5TdGF0ZW1lbnQodGhpczogUGFyc2VyLCBub2RlOiBVbmRvbmU8Ti5SZXR1cm5TdGF0ZW1lbnQ+KSB7XG4gICAgaWYgKCF0aGlzLnByb2RQYXJhbS5oYXNSZXR1cm4gJiYgIXRoaXMub3B0aW9ucy5hbGxvd1JldHVybk91dHNpZGVGdW5jdGlvbikge1xuICAgICAgdGhpcy5yYWlzZShFcnJvcnMuSWxsZWdhbFJldHVybiwgdGhpcy5zdGF0ZS5zdGFydExvYyk7XG4gICAgfVxuXG4gICAgdGhpcy5uZXh0KCk7XG5cbiAgICAvLyBJbiBgcmV0dXJuYCAoYW5kIGBicmVha2AvYGNvbnRpbnVlYCksIHRoZSBrZXl3b3JkcyB3aXRoXG4gICAgLy8gb3B0aW9uYWwgYXJndW1lbnRzLCB3ZSBlYWdlcmx5IGxvb2sgZm9yIGEgc2VtaWNvbG9uIG9yIHRoZVxuICAgIC8vIHBvc3NpYmlsaXR5IHRvIGluc2VydCBvbmUuXG5cbiAgICBpZiAodGhpcy5pc0xpbmVUZXJtaW5hdG9yKCkpIHtcbiAgICAgIG5vZGUuYXJndW1lbnQgPSBudWxsO1xuICAgIH0gZWxzZSB7XG4gICAgICBub2RlLmFyZ3VtZW50ID0gdGhpcy5wYXJzZUV4cHJlc3Npb24oKTtcbiAgICAgIHRoaXMuc2VtaWNvbG9uKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlJldHVyblN0YXRlbWVudFwiKTtcbiAgfVxuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLVN3aXRjaFN0YXRlbWVudFxuICBwYXJzZVN3aXRjaFN0YXRlbWVudCh0aGlzOiBQYXJzZXIsIG5vZGU6IFVuZG9uZTxOLlN3aXRjaFN0YXRlbWVudD4pIHtcbiAgICB0aGlzLm5leHQoKTtcbiAgICBub2RlLmRpc2NyaW1pbmFudCA9IHRoaXMucGFyc2VIZWFkZXJFeHByZXNzaW9uKCk7XG4gICAgY29uc3QgY2FzZXM6IE4uU3dpdGNoU3RhdGVtZW50W1wiY2FzZXNcIl0gPSAobm9kZS5jYXNlcyA9IFtdKTtcbiAgICB0aGlzLmV4cGVjdCh0dC5icmFjZUwpO1xuICAgIHRoaXMuc3RhdGUubGFiZWxzLnB1c2goc3dpdGNoTGFiZWwpO1xuICAgIHRoaXMuc2NvcGUuZW50ZXIoU2NvcGVGbGFnLk9USEVSKTtcblxuICAgIC8vIFN0YXRlbWVudHMgdW5kZXIgbXVzdCBiZSBncm91cGVkIChieSBsYWJlbCkgaW4gU3dpdGNoQ2FzZVxuICAgIC8vIG5vZGVzLiBgY3VyYCBpcyB1c2VkIHRvIGtlZXAgdGhlIG5vZGUgdGhhdCB3ZSBhcmUgY3VycmVudGx5XG4gICAgLy8gYWRkaW5nIHN0YXRlbWVudHMgdG8uXG5cbiAgICBsZXQgY3VyO1xuICAgIGZvciAobGV0IHNhd0RlZmF1bHQ7ICF0aGlzLm1hdGNoKHR0LmJyYWNlUik7ICkge1xuICAgICAgaWYgKHRoaXMubWF0Y2godHQuX2Nhc2UpIHx8IHRoaXMubWF0Y2godHQuX2RlZmF1bHQpKSB7XG4gICAgICAgIGNvbnN0IGlzQ2FzZSA9IHRoaXMubWF0Y2godHQuX2Nhc2UpO1xuICAgICAgICBpZiAoY3VyKSB0aGlzLmZpbmlzaE5vZGUoY3VyLCBcIlN3aXRjaENhc2VcIik7XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgRml4bWVcbiAgICAgICAgY2FzZXMucHVzaCgoY3VyID0gdGhpcy5zdGFydE5vZGU8Ti5Td2l0Y2hDYXNlPigpKSk7XG4gICAgICAgIGN1ci5jb25zZXF1ZW50ID0gW107XG4gICAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgICBpZiAoaXNDYXNlKSB7XG4gICAgICAgICAgY3VyLnRlc3QgPSB0aGlzLnBhcnNlRXhwcmVzc2lvbigpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChzYXdEZWZhdWx0KSB7XG4gICAgICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgICAgICBFcnJvcnMuTXVsdGlwbGVEZWZhdWx0c0luU3dpdGNoLFxuICAgICAgICAgICAgICB0aGlzLnN0YXRlLmxhc3RUb2tTdGFydExvYyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNhd0RlZmF1bHQgPSB0cnVlO1xuICAgICAgICAgIGN1ci50ZXN0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmV4cGVjdCh0dC5jb2xvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAoY3VyKSB7XG4gICAgICAgICAgY3VyLmNvbnNlcXVlbnQucHVzaCh0aGlzLnBhcnNlU3RhdGVtZW50TGlzdEl0ZW0oKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy5zY29wZS5leGl0KCk7XG4gICAgaWYgKGN1cikgdGhpcy5maW5pc2hOb2RlKGN1ciwgXCJTd2l0Y2hDYXNlXCIpO1xuICAgIHRoaXMubmV4dCgpOyAvLyBDbG9zaW5nIGJyYWNlXG4gICAgdGhpcy5zdGF0ZS5sYWJlbHMucG9wKCk7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlN3aXRjaFN0YXRlbWVudFwiKTtcbiAgfVxuXG4gIHBhcnNlVGhyb3dTdGF0ZW1lbnQodGhpczogUGFyc2VyLCBub2RlOiBVbmRvbmU8Ti5UaHJvd1N0YXRlbWVudD4pIHtcbiAgICB0aGlzLm5leHQoKTtcbiAgICBpZiAodGhpcy5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSkge1xuICAgICAgdGhpcy5yYWlzZShFcnJvcnMuTmV3bGluZUFmdGVyVGhyb3csIHRoaXMuc3RhdGUubGFzdFRva0VuZExvYyk7XG4gICAgfVxuICAgIG5vZGUuYXJndW1lbnQgPSB0aGlzLnBhcnNlRXhwcmVzc2lvbigpO1xuICAgIHRoaXMuc2VtaWNvbG9uKCk7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlRocm93U3RhdGVtZW50XCIpO1xuICB9XG5cbiAgcGFyc2VDYXRjaENsYXVzZVBhcmFtKHRoaXM6IFBhcnNlcik6IE4uUGF0dGVybiB7XG4gICAgY29uc3QgcGFyYW0gPSB0aGlzLnBhcnNlQmluZGluZ0F0b20oKTtcblxuICAgIHRoaXMuc2NvcGUuZW50ZXIoXG4gICAgICB0aGlzLm9wdGlvbnMuYW5uZXhCICYmIHBhcmFtLnR5cGUgPT09IFwiSWRlbnRpZmllclwiXG4gICAgICAgID8gU2NvcGVGbGFnLlNJTVBMRV9DQVRDSFxuICAgICAgICA6IDAsXG4gICAgKTtcbiAgICB0aGlzLmNoZWNrTFZhbChcbiAgICAgIHBhcmFtLFxuICAgICAgeyB0eXBlOiBcIkNhdGNoQ2xhdXNlXCIgfSxcbiAgICAgIEJpbmRpbmdGbGFnLlRZUEVfQ0FUQ0hfUEFSQU0sXG4gICAgKTtcblxuICAgIHJldHVybiBwYXJhbTtcbiAgfVxuXG4gIHBhcnNlVHJ5U3RhdGVtZW50KFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBub2RlOiBVbmRvbmU8Ti5UcnlTdGF0ZW1lbnQ+LFxuICApOiBOLlRyeVN0YXRlbWVudCB7XG4gICAgdGhpcy5uZXh0KCk7XG5cbiAgICBub2RlLmJsb2NrID0gdGhpcy5wYXJzZUJsb2NrKCk7XG4gICAgbm9kZS5oYW5kbGVyID0gbnVsbDtcblxuICAgIGlmICh0aGlzLm1hdGNoKHR0Ll9jYXRjaCkpIHtcbiAgICAgIGNvbnN0IGNsYXVzZSA9IHRoaXMuc3RhcnROb2RlPE4uQ2F0Y2hDbGF1c2U+KCk7XG4gICAgICB0aGlzLm5leHQoKTtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LnBhcmVuTCkpIHtcbiAgICAgICAgdGhpcy5leHBlY3QodHQucGFyZW5MKTtcbiAgICAgICAgY2xhdXNlLnBhcmFtID0gdGhpcy5wYXJzZUNhdGNoQ2xhdXNlUGFyYW0oKTtcbiAgICAgICAgdGhpcy5leHBlY3QodHQucGFyZW5SKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsYXVzZS5wYXJhbSA9IG51bGw7XG4gICAgICAgIHRoaXMuc2NvcGUuZW50ZXIoU2NvcGVGbGFnLk9USEVSKTtcbiAgICAgIH1cblxuICAgICAgLy8gUGFyc2UgdGhlIGNhdGNoIGNsYXVzZSdzIGJvZHkuXG4gICAgICBjbGF1c2UuYm9keSA9XG4gICAgICAgIC8vIEZvciB0aGUgc21hcnRQaXBlbGluZXMgcGx1Z2luOiBEaXNhYmxlIHRvcGljIHJlZmVyZW5jZXMgZnJvbSBvdXRlclxuICAgICAgICAvLyBjb250ZXh0cyB3aXRoaW4gdGhlIGNhdGNoIGNsYXVzZSdzIGJvZHkuXG4gICAgICAgIHRoaXMud2l0aFNtYXJ0TWl4VG9waWNGb3JiaWRkaW5nQ29udGV4dCgoKSA9PlxuICAgICAgICAgIC8vIFBhcnNlIHRoZSBjYXRjaCBjbGF1c2UncyBib2R5LlxuICAgICAgICAgIHRoaXMucGFyc2VCbG9jayhmYWxzZSwgZmFsc2UpLFxuICAgICAgICApO1xuXG4gICAgICB0aGlzLnNjb3BlLmV4aXQoKTtcbiAgICAgIG5vZGUuaGFuZGxlciA9IHRoaXMuZmluaXNoTm9kZShjbGF1c2UsIFwiQ2F0Y2hDbGF1c2VcIik7XG4gICAgfVxuXG4gICAgbm9kZS5maW5hbGl6ZXIgPSB0aGlzLmVhdCh0dC5fZmluYWxseSkgPyB0aGlzLnBhcnNlQmxvY2soKSA6IG51bGw7XG5cbiAgICBpZiAoIW5vZGUuaGFuZGxlciAmJiAhbm9kZS5maW5hbGl6ZXIpIHtcbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLk5vQ2F0Y2hPckZpbmFsbHksIG5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJUcnlTdGF0ZW1lbnRcIik7XG4gIH1cblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1WYXJpYWJsZVN0YXRlbWVudFxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1MZXhpY2FsRGVjbGFyYXRpb25cbiAgcGFyc2VWYXJTdGF0ZW1lbnQoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIG5vZGU6IFVuZG9uZTxOLlZhcmlhYmxlRGVjbGFyYXRpb24+LFxuICAgIGtpbmQ6IFwidmFyXCIgfCBcImxldFwiIHwgXCJjb25zdFwiIHwgXCJ1c2luZ1wiIHwgXCJhd2FpdCB1c2luZ1wiLFxuICAgIGFsbG93TWlzc2luZ0luaXRpYWxpemVyOiBib29sZWFuID0gZmFsc2UsXG4gICk6IE4uVmFyaWFibGVEZWNsYXJhdGlvbiB7XG4gICAgdGhpcy5uZXh0KCk7XG4gICAgdGhpcy5wYXJzZVZhcihub2RlLCBmYWxzZSwga2luZCwgYWxsb3dNaXNzaW5nSW5pdGlhbGl6ZXIpO1xuICAgIHRoaXMuc2VtaWNvbG9uKCk7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIlZhcmlhYmxlRGVjbGFyYXRpb25cIik7XG4gIH1cblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1XaGlsZVN0YXRlbWVudFxuICBwYXJzZVdoaWxlU3RhdGVtZW50KFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBub2RlOiBVbmRvbmU8Ti5XaGlsZVN0YXRlbWVudD4sXG4gICk6IE4uV2hpbGVTdGF0ZW1lbnQge1xuICAgIHRoaXMubmV4dCgpO1xuICAgIG5vZGUudGVzdCA9IHRoaXMucGFyc2VIZWFkZXJFeHByZXNzaW9uKCk7XG4gICAgdGhpcy5zdGF0ZS5sYWJlbHMucHVzaChsb29wTGFiZWwpO1xuXG4gICAgLy8gUGFyc2UgdGhlIGxvb3AgYm9keS5cbiAgICBub2RlLmJvZHkgPVxuICAgICAgLy8gRm9yIHRoZSBzbWFydFBpcGVsaW5lcyBwbHVnaW46XG4gICAgICAvLyBEaXNhYmxlIHRvcGljIHJlZmVyZW5jZXMgZnJvbSBvdXRlciBjb250ZXh0cyB3aXRoaW4gdGhlIGxvb3AgYm9keS5cbiAgICAgIC8vIFRoZXkgYXJlIHBlcm1pdHRlZCBpbiB0ZXN0IGV4cHJlc3Npb25zLCBvdXRzaWRlIG9mIHRoZSBsb29wIGJvZHkuXG4gICAgICB0aGlzLndpdGhTbWFydE1peFRvcGljRm9yYmlkZGluZ0NvbnRleHQoKCkgPT5cbiAgICAgICAgLy8gUGFyc2UgbG9vcCBib2R5LlxuICAgICAgICB0aGlzLnBhcnNlU3RhdGVtZW50KCksXG4gICAgICApO1xuXG4gICAgdGhpcy5zdGF0ZS5sYWJlbHMucG9wKCk7XG5cbiAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiV2hpbGVTdGF0ZW1lbnRcIik7XG4gIH1cblxuICBwYXJzZVdpdGhTdGF0ZW1lbnQoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIG5vZGU6IFVuZG9uZTxOLldpdGhTdGF0ZW1lbnQ+LFxuICApOiBOLldpdGhTdGF0ZW1lbnQge1xuICAgIGlmICh0aGlzLnN0YXRlLnN0cmljdCkge1xuICAgICAgdGhpcy5yYWlzZShFcnJvcnMuU3RyaWN0V2l0aCwgdGhpcy5zdGF0ZS5zdGFydExvYyk7XG4gICAgfVxuICAgIHRoaXMubmV4dCgpO1xuICAgIG5vZGUub2JqZWN0ID0gdGhpcy5wYXJzZUhlYWRlckV4cHJlc3Npb24oKTtcblxuICAgIC8vIFBhcnNlIHRoZSBzdGF0ZW1lbnQgYm9keS5cbiAgICBub2RlLmJvZHkgPVxuICAgICAgLy8gRm9yIHRoZSBzbWFydFBpcGVsaW5lcyBwbHVnaW46XG4gICAgICAvLyBEaXNhYmxlIHRvcGljIHJlZmVyZW5jZXMgZnJvbSBvdXRlciBjb250ZXh0cyB3aXRoaW4gdGhlIHdpdGggc3RhdGVtZW50J3MgYm9keS5cbiAgICAgIC8vIFRoZXkgYXJlIHBlcm1pdHRlZCBpbiBmdW5jdGlvbiBkZWZhdWx0LXBhcmFtZXRlciBleHByZXNzaW9ucywgd2hpY2ggYXJlXG4gICAgICAvLyBwYXJ0IG9mIHRoZSBvdXRlciBjb250ZXh0LCBvdXRzaWRlIG9mIHRoZSB3aXRoIHN0YXRlbWVudCdzIGJvZHkuXG4gICAgICB0aGlzLndpdGhTbWFydE1peFRvcGljRm9yYmlkZGluZ0NvbnRleHQoKCkgPT5cbiAgICAgICAgLy8gUGFyc2UgdGhlIHN0YXRlbWVudCBib2R5LlxuICAgICAgICB0aGlzLnBhcnNlU3RhdGVtZW50KCksXG4gICAgICApO1xuXG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIldpdGhTdGF0ZW1lbnRcIik7XG4gIH1cblxuICBwYXJzZUVtcHR5U3RhdGVtZW50KG5vZGU6IFVuZG9uZTxOLkVtcHR5U3RhdGVtZW50Pik6IE4uRW1wdHlTdGF0ZW1lbnQge1xuICAgIHRoaXMubmV4dCgpO1xuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJFbXB0eVN0YXRlbWVudFwiKTtcbiAgfVxuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLUxhYmVsbGVkU3RhdGVtZW50XG4gIHBhcnNlTGFiZWxlZFN0YXRlbWVudChcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgbm9kZTogVW5kb25lPE4uTGFiZWxlZFN0YXRlbWVudD4sXG4gICAgbWF5YmVOYW1lOiBzdHJpbmcsXG4gICAgZXhwcjogTi5JZGVudGlmaWVyLFxuICAgIGZsYWdzOiBQYXJzZVN0YXRlbWVudEZsYWcsXG4gICk6IE4uTGFiZWxlZFN0YXRlbWVudCB7XG4gICAgZm9yIChjb25zdCBsYWJlbCBvZiB0aGlzLnN0YXRlLmxhYmVscykge1xuICAgICAgaWYgKGxhYmVsLm5hbWUgPT09IG1heWJlTmFtZSkge1xuICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5MYWJlbFJlZGVjbGFyYXRpb24sIGV4cHIsIHtcbiAgICAgICAgICBsYWJlbE5hbWU6IG1heWJlTmFtZSxcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3Qga2luZCA9IHRva2VuSXNMb29wKHRoaXMuc3RhdGUudHlwZSlcbiAgICAgID8gTG9vcExhYmVsS2luZC5Mb29wXG4gICAgICA6IHRoaXMubWF0Y2godHQuX3N3aXRjaClcbiAgICAgICAgPyBMb29wTGFiZWxLaW5kLlN3aXRjaFxuICAgICAgICA6IG51bGw7XG4gICAgZm9yIChsZXQgaSA9IHRoaXMuc3RhdGUubGFiZWxzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCBsYWJlbCA9IHRoaXMuc3RhdGUubGFiZWxzW2ldO1xuICAgICAgaWYgKGxhYmVsLnN0YXRlbWVudFN0YXJ0ID09PSBub2RlLnN0YXJ0KSB7XG4gICAgICAgIGxhYmVsLnN0YXRlbWVudFN0YXJ0ID0gdGhpcy5zb3VyY2VUb09mZnNldFBvcyh0aGlzLnN0YXRlLnN0YXJ0KTtcbiAgICAgICAgbGFiZWwua2luZCA9IGtpbmQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnN0YXRlLmxhYmVscy5wdXNoKHtcbiAgICAgIG5hbWU6IG1heWJlTmFtZSxcbiAgICAgIGtpbmQ6IGtpbmQsXG4gICAgICBzdGF0ZW1lbnRTdGFydDogdGhpcy5zb3VyY2VUb09mZnNldFBvcyh0aGlzLnN0YXRlLnN0YXJ0KSxcbiAgICB9KTtcbiAgICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1MYWJlbGxlZEl0ZW1cbiAgICBub2RlLmJvZHkgPVxuICAgICAgZmxhZ3MgJiBQYXJzZVN0YXRlbWVudEZsYWcuQWxsb3dMYWJlbGVkRnVuY3Rpb25cbiAgICAgICAgPyB0aGlzLnBhcnNlU3RhdGVtZW50T3JTbG9wcHlBbm5leEJGdW5jdGlvbkRlY2xhcmF0aW9uKHRydWUpXG4gICAgICAgIDogdGhpcy5wYXJzZVN0YXRlbWVudCgpO1xuXG4gICAgdGhpcy5zdGF0ZS5sYWJlbHMucG9wKCk7XG4gICAgbm9kZS5sYWJlbCA9IGV4cHI7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkxhYmVsZWRTdGF0ZW1lbnRcIik7XG4gIH1cblxuICBwYXJzZUV4cHJlc3Npb25TdGF0ZW1lbnQoXG4gICAgbm9kZTogVW5kb25lPE4uRXhwcmVzc2lvblN0YXRlbWVudD4sXG4gICAgZXhwcjogTi5FeHByZXNzaW9uLFxuICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gdXNlZCBpbiBUeXBlU2NyaXB0IHBhcnNlciAqL1xuICAgIGRlY29yYXRvcnM6IE4uRGVjb3JhdG9yW10gfCBudWxsLFxuICApIHtcbiAgICBub2RlLmV4cHJlc3Npb24gPSBleHByO1xuICAgIHRoaXMuc2VtaWNvbG9uKCk7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkV4cHJlc3Npb25TdGF0ZW1lbnRcIik7XG4gIH1cblxuICAvLyBQYXJzZSBhIHNlbWljb2xvbi1lbmNsb3NlZCBibG9jayBvZiBzdGF0ZW1lbnRzLCBoYW5kbGluZyBgXCJ1c2VcbiAgLy8gc3RyaWN0XCJgIGRlY2xhcmF0aW9ucyB3aGVuIGBhbGxvd0RpcmVjdGl2ZXNgIGlzIHRydWUgKHVzZWQgZm9yXG4gIC8vIGZ1bmN0aW9uIGJvZGllcykuXG5cbiAgcGFyc2VCbG9jayhcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgYWxsb3dEaXJlY3RpdmVzOiBib29sZWFuID0gZmFsc2UsXG4gICAgY3JlYXRlTmV3TGV4aWNhbFNjb3BlOiBib29sZWFuID0gdHJ1ZSxcbiAgICBhZnRlckJsb2NrUGFyc2U/OiAoaGFzU3RyaWN0TW9kZURpcmVjdGl2ZTogYm9vbGVhbikgPT4gdm9pZCxcbiAgKTogTi5CbG9ja1N0YXRlbWVudCB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMuc3RhcnROb2RlPE4uQmxvY2tTdGF0ZW1lbnQ+KCk7XG4gICAgaWYgKGFsbG93RGlyZWN0aXZlcykge1xuICAgICAgdGhpcy5zdGF0ZS5zdHJpY3RFcnJvcnMuY2xlYXIoKTtcbiAgICB9XG4gICAgdGhpcy5leHBlY3QodHQuYnJhY2VMKTtcbiAgICBpZiAoY3JlYXRlTmV3TGV4aWNhbFNjb3BlKSB7XG4gICAgICB0aGlzLnNjb3BlLmVudGVyKFNjb3BlRmxhZy5PVEhFUik7XG4gICAgfVxuICAgIHRoaXMucGFyc2VCbG9ja0JvZHkoXG4gICAgICBub2RlLFxuICAgICAgYWxsb3dEaXJlY3RpdmVzLFxuICAgICAgZmFsc2UsXG4gICAgICB0dC5icmFjZVIsXG4gICAgICBhZnRlckJsb2NrUGFyc2UsXG4gICAgKTtcbiAgICBpZiAoY3JlYXRlTmV3TGV4aWNhbFNjb3BlKSB7XG4gICAgICB0aGlzLnNjb3BlLmV4aXQoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkJsb2NrU3RhdGVtZW50XCIpO1xuICB9XG5cbiAgaXNWYWxpZERpcmVjdGl2ZShzdG10OiBOLlN0YXRlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICBzdG10LnR5cGUgPT09IFwiRXhwcmVzc2lvblN0YXRlbWVudFwiICYmXG4gICAgICBzdG10LmV4cHJlc3Npb24udHlwZSA9PT0gXCJTdHJpbmdMaXRlcmFsXCIgJiZcbiAgICAgICFzdG10LmV4cHJlc3Npb24uZXh0cmEucGFyZW50aGVzaXplZFxuICAgICk7XG4gIH1cblxuICBwYXJzZUJsb2NrQm9keShcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgbm9kZTogVW5kb25lPE4uQmxvY2tTdGF0ZW1lbnRMaWtlPixcbiAgICBhbGxvd0RpcmVjdGl2ZXM6IGJvb2xlYW4gfCB1bmRlZmluZWQgfCBudWxsLFxuICAgIHRvcExldmVsOiBib29sZWFuLFxuICAgIGVuZDogVG9rZW5UeXBlLFxuICAgIGFmdGVyQmxvY2tQYXJzZT86IChoYXNTdHJpY3RNb2RlRGlyZWN0aXZlOiBib29sZWFuKSA9PiB2b2lkLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBib2R5OiBOLkJsb2NrU3RhdGVtZW50TGlrZVtcImJvZHlcIl0gPSAobm9kZS5ib2R5ID0gW10pO1xuICAgIGNvbnN0IGRpcmVjdGl2ZXM6IE4uQmxvY2tTdGF0ZW1lbnRMaWtlW1wiZGlyZWN0aXZlc1wiXSA9IChub2RlLmRpcmVjdGl2ZXMgPVxuICAgICAgW10pO1xuICAgIHRoaXMucGFyc2VCbG9ja09yTW9kdWxlQmxvY2tCb2R5KFxuICAgICAgYm9keSxcbiAgICAgIGFsbG93RGlyZWN0aXZlcyA/IGRpcmVjdGl2ZXMgOiB1bmRlZmluZWQsXG4gICAgICB0b3BMZXZlbCxcbiAgICAgIGVuZCxcbiAgICAgIGFmdGVyQmxvY2tQYXJzZSxcbiAgICApO1xuICB9XG5cbiAgLy8gVW5kZWZpbmVkIGRpcmVjdGl2ZXMgbWVhbnMgdGhhdCBkaXJlY3RpdmVzIGFyZSBub3QgYWxsb3dlZC5cbiAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtQmxvY2tcbiAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtTW9kdWxlQm9keVxuICBwYXJzZUJsb2NrT3JNb2R1bGVCbG9ja0JvZHkoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIGJvZHk6IE4uU3RhdGVtZW50W10sXG4gICAgZGlyZWN0aXZlczogTi5EaXJlY3RpdmVbXSB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICAgdG9wTGV2ZWw6IGJvb2xlYW4sXG4gICAgZW5kOiBUb2tlblR5cGUsXG4gICAgYWZ0ZXJCbG9ja1BhcnNlPzogKGhhc1N0cmljdE1vZGVEaXJlY3RpdmU6IGJvb2xlYW4pID0+IHZvaWQsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IG9sZFN0cmljdCA9IHRoaXMuc3RhdGUuc3RyaWN0O1xuICAgIGxldCBoYXNTdHJpY3RNb2RlRGlyZWN0aXZlID0gZmFsc2U7XG4gICAgbGV0IHBhcnNlZE5vbkRpcmVjdGl2ZSA9IGZhbHNlO1xuXG4gICAgd2hpbGUgKCF0aGlzLm1hdGNoKGVuZCkpIHtcbiAgICAgIGNvbnN0IHN0bXQgPSB0b3BMZXZlbFxuICAgICAgICA/IHRoaXMucGFyc2VNb2R1bGVJdGVtKClcbiAgICAgICAgOiB0aGlzLnBhcnNlU3RhdGVtZW50TGlzdEl0ZW0oKTtcblxuICAgICAgaWYgKGRpcmVjdGl2ZXMgJiYgIXBhcnNlZE5vbkRpcmVjdGl2ZSkge1xuICAgICAgICBpZiAodGhpcy5pc1ZhbGlkRGlyZWN0aXZlKHN0bXQpKSB7XG4gICAgICAgICAgY29uc3QgZGlyZWN0aXZlID0gdGhpcy5zdG10VG9EaXJlY3RpdmUoc3RtdCk7XG4gICAgICAgICAgZGlyZWN0aXZlcy5wdXNoKGRpcmVjdGl2ZSk7XG5cbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAhaGFzU3RyaWN0TW9kZURpcmVjdGl2ZSAmJlxuICAgICAgICAgICAgZGlyZWN0aXZlLnZhbHVlLnZhbHVlID09PSBcInVzZSBzdHJpY3RcIlxuICAgICAgICAgICkge1xuICAgICAgICAgICAgaGFzU3RyaWN0TW9kZURpcmVjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnNldFN0cmljdCh0cnVlKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBwYXJzZWROb25EaXJlY3RpdmUgPSB0cnVlO1xuICAgICAgICAvLyBjbGVhciBzdHJpY3QgZXJyb3JzIHNpbmNlIHRoZSBzdHJpY3QgbW9kZSB3aWxsIG5vdCBjaGFuZ2Ugd2l0aGluIHRoZSBibG9ja1xuICAgICAgICB0aGlzLnN0YXRlLnN0cmljdEVycm9ycy5jbGVhcigpO1xuICAgICAgfVxuICAgICAgYm9keS5wdXNoKHN0bXQpO1xuICAgIH1cblxuICAgIGFmdGVyQmxvY2tQYXJzZT8uY2FsbCh0aGlzLCBoYXNTdHJpY3RNb2RlRGlyZWN0aXZlKTtcblxuICAgIGlmICghb2xkU3RyaWN0KSB7XG4gICAgICB0aGlzLnNldFN0cmljdChmYWxzZSk7XG4gICAgfVxuXG4gICAgdGhpcy5uZXh0KCk7XG4gIH1cblxuICAvLyBQYXJzZSBhIHJlZ3VsYXIgYGZvcmAgbG9vcC4gVGhlIGRpc2FtYmlndWF0aW9uIGNvZGUgaW5cbiAgLy8gYHBhcnNlU3RhdGVtZW50YCB3aWxsIGFscmVhZHkgaGF2ZSBwYXJzZWQgdGhlIGluaXQgc3RhdGVtZW50IG9yXG4gIC8vIGV4cHJlc3Npb24uXG5cbiAgcGFyc2VGb3IoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIG5vZGU6IFVuZG9uZTxOLkZvclN0YXRlbWVudD4sXG4gICAgaW5pdD86IE4uVmFyaWFibGVEZWNsYXJhdGlvbiB8IE4uRXhwcmVzc2lvbiB8IG51bGwsXG4gICk6IE4uRm9yU3RhdGVtZW50IHtcbiAgICBub2RlLmluaXQgPSBpbml0O1xuICAgIHRoaXMuc2VtaWNvbG9uKC8qIGFsbG93QXNpICovIGZhbHNlKTtcbiAgICBub2RlLnRlc3QgPSB0aGlzLm1hdGNoKHR0LnNlbWkpID8gbnVsbCA6IHRoaXMucGFyc2VFeHByZXNzaW9uKCk7XG4gICAgdGhpcy5zZW1pY29sb24oLyogYWxsb3dBc2kgKi8gZmFsc2UpO1xuICAgIG5vZGUudXBkYXRlID0gdGhpcy5tYXRjaCh0dC5wYXJlblIpID8gbnVsbCA6IHRoaXMucGFyc2VFeHByZXNzaW9uKCk7XG4gICAgdGhpcy5leHBlY3QodHQucGFyZW5SKTtcblxuICAgIC8vIFBhcnNlIHRoZSBsb29wIGJvZHkuXG4gICAgbm9kZS5ib2R5ID1cbiAgICAgIC8vIEZvciB0aGUgc21hcnRQaXBlbGluZXMgcGx1Z2luOiBEaXNhYmxlIHRvcGljIHJlZmVyZW5jZXMgZnJvbSBvdXRlclxuICAgICAgLy8gY29udGV4dHMgd2l0aGluIHRoZSBsb29wIGJvZHkuIFRoZXkgYXJlIHBlcm1pdHRlZCBpbiB0ZXN0IGV4cHJlc3Npb25zLFxuICAgICAgLy8gb3V0c2lkZSBvZiB0aGUgbG9vcCBib2R5LlxuICAgICAgdGhpcy53aXRoU21hcnRNaXhUb3BpY0ZvcmJpZGRpbmdDb250ZXh0KCgpID0+XG4gICAgICAgIC8vIFBhcnNlIHRoZSBsb29wIGJvZHkuXG4gICAgICAgIHRoaXMucGFyc2VTdGF0ZW1lbnQoKSxcbiAgICAgICk7XG5cbiAgICB0aGlzLnNjb3BlLmV4aXQoKTtcbiAgICB0aGlzLnN0YXRlLmxhYmVscy5wb3AoKTtcblxuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJGb3JTdGF0ZW1lbnRcIik7XG4gIH1cblxuICAvLyBQYXJzZSBhIGBmb3JgL2BpbmAgYW5kIGBmb3JgL2BvZmAgbG9vcCwgd2hpY2ggYXJlIGFsbW9zdFxuICAvLyBzYW1lIGZyb20gcGFyc2VyJ3MgcGVyc3BlY3RpdmUuXG5cbiAgcGFyc2VGb3JJbihcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgbm9kZTogVW5kb25lPE4uRm9ySW5PZj4sXG4gICAgaW5pdDogTi5WYXJpYWJsZURlY2xhcmF0aW9uIHwgTi5Bc3NpZ25tZW50UGF0dGVybixcbiAgICBhd2FpdEF0PzogUG9zaXRpb24gfCBudWxsLFxuICApOiBOLkZvckluT2Yge1xuICAgIGNvbnN0IGlzRm9ySW4gPSB0aGlzLm1hdGNoKHR0Ll9pbik7XG4gICAgdGhpcy5uZXh0KCk7XG5cbiAgICBpZiAoaXNGb3JJbikge1xuICAgICAgaWYgKGF3YWl0QXQgIT09IG51bGwpIHRoaXMudW5leHBlY3RlZChhd2FpdEF0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgbm9kZS5hd2FpdCA9IGF3YWl0QXQgIT09IG51bGw7XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgaW5pdC50eXBlID09PSBcIlZhcmlhYmxlRGVjbGFyYXRpb25cIiAmJlxuICAgICAgaW5pdC5kZWNsYXJhdGlvbnNbMF0uaW5pdCAhPSBudWxsICYmXG4gICAgICAoIWlzRm9ySW4gfHxcbiAgICAgICAgIXRoaXMub3B0aW9ucy5hbm5leEIgfHxcbiAgICAgICAgdGhpcy5zdGF0ZS5zdHJpY3QgfHxcbiAgICAgICAgaW5pdC5raW5kICE9PSBcInZhclwiIHx8XG4gICAgICAgIGluaXQuZGVjbGFyYXRpb25zWzBdLmlkLnR5cGUgIT09IFwiSWRlbnRpZmllclwiKVxuICAgICkge1xuICAgICAgdGhpcy5yYWlzZShFcnJvcnMuRm9ySW5PZkxvb3BJbml0aWFsaXplciwgaW5pdCwge1xuICAgICAgICB0eXBlOiBpc0ZvckluID8gXCJGb3JJblN0YXRlbWVudFwiIDogXCJGb3JPZlN0YXRlbWVudFwiLFxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgaWYgKGluaXQudHlwZSA9PT0gXCJBc3NpZ25tZW50UGF0dGVyblwiKSB7XG4gICAgICB0aGlzLnJhaXNlKEVycm9ycy5JbnZhbGlkTGhzLCBpbml0LCB7XG4gICAgICAgIGFuY2VzdG9yOiB7IHR5cGU6IFwiRm9yU3RhdGVtZW50XCIgfSxcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIG5vZGUubGVmdCA9IGluaXQ7XG4gICAgbm9kZS5yaWdodCA9IGlzRm9ySW5cbiAgICAgID8gdGhpcy5wYXJzZUV4cHJlc3Npb24oKVxuICAgICAgOiB0aGlzLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKCk7XG4gICAgdGhpcy5leHBlY3QodHQucGFyZW5SKTtcblxuICAgIC8vIFBhcnNlIHRoZSBsb29wIGJvZHkuXG4gICAgbm9kZS5ib2R5ID1cbiAgICAgIC8vIEZvciB0aGUgc21hcnRQaXBlbGluZXMgcGx1Z2luOlxuICAgICAgLy8gRGlzYWJsZSB0b3BpYyByZWZlcmVuY2VzIGZyb20gb3V0ZXIgY29udGV4dHMgd2l0aGluIHRoZSBsb29wIGJvZHkuXG4gICAgICAvLyBUaGV5IGFyZSBwZXJtaXR0ZWQgaW4gdGVzdCBleHByZXNzaW9ucywgb3V0c2lkZSBvZiB0aGUgbG9vcCBib2R5LlxuICAgICAgdGhpcy53aXRoU21hcnRNaXhUb3BpY0ZvcmJpZGRpbmdDb250ZXh0KCgpID0+XG4gICAgICAgIC8vIFBhcnNlIGxvb3AgYm9keS5cbiAgICAgICAgdGhpcy5wYXJzZVN0YXRlbWVudCgpLFxuICAgICAgKTtcblxuICAgIHRoaXMuc2NvcGUuZXhpdCgpO1xuICAgIHRoaXMuc3RhdGUubGFiZWxzLnBvcCgpO1xuXG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBpc0ZvckluID8gXCJGb3JJblN0YXRlbWVudFwiIDogXCJGb3JPZlN0YXRlbWVudFwiKTtcbiAgfVxuXG4gIC8vIFBhcnNlIGEgbGlzdCBvZiB2YXJpYWJsZSBkZWNsYXJhdGlvbnMuXG5cbiAgcGFyc2VWYXIoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIG5vZGU6IFVuZG9uZTxOLlZhcmlhYmxlRGVjbGFyYXRpb24+LFxuICAgIGlzRm9yOiBib29sZWFuLFxuICAgIGtpbmQ6IFwidmFyXCIgfCBcImxldFwiIHwgXCJjb25zdFwiIHwgXCJ1c2luZ1wiIHwgXCJhd2FpdCB1c2luZ1wiLFxuICAgIGFsbG93TWlzc2luZ0luaXRpYWxpemVyOiBib29sZWFuID0gZmFsc2UsXG4gICk6IFVuZG9uZTxOLlZhcmlhYmxlRGVjbGFyYXRpb24+IHtcbiAgICBjb25zdCBkZWNsYXJhdGlvbnM6IE4uVmFyaWFibGVEZWNsYXJhdG9yW10gPSAobm9kZS5kZWNsYXJhdGlvbnMgPSBbXSk7XG4gICAgbm9kZS5raW5kID0ga2luZDtcbiAgICBmb3IgKDs7KSB7XG4gICAgICBjb25zdCBkZWNsID0gdGhpcy5zdGFydE5vZGU8Ti5WYXJpYWJsZURlY2xhcmF0b3I+KCk7XG4gICAgICB0aGlzLnBhcnNlVmFySWQoZGVjbCwga2luZCk7XG4gICAgICBkZWNsLmluaXQgPSAhdGhpcy5lYXQodHQuZXEpXG4gICAgICAgID8gbnVsbFxuICAgICAgICA6IGlzRm9yXG4gICAgICAgICAgPyB0aGlzLnBhcnNlTWF5YmVBc3NpZ25EaXNhbGxvd0luKClcbiAgICAgICAgICA6IHRoaXMucGFyc2VNYXliZUFzc2lnbkFsbG93SW4oKTtcblxuICAgICAgaWYgKGRlY2wuaW5pdCA9PT0gbnVsbCAmJiAhYWxsb3dNaXNzaW5nSW5pdGlhbGl6ZXIpIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGRlY2wuaWQudHlwZSAhPT0gXCJJZGVudGlmaWVyXCIgJiZcbiAgICAgICAgICAhKGlzRm9yICYmICh0aGlzLm1hdGNoKHR0Ll9pbikgfHwgdGhpcy5pc0NvbnRleHR1YWwodHQuX29mKSkpXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMucmFpc2UoXG4gICAgICAgICAgICBFcnJvcnMuRGVjbGFyYXRpb25NaXNzaW5nSW5pdGlhbGl6ZXIsXG4gICAgICAgICAgICB0aGlzLnN0YXRlLmxhc3RUb2tFbmRMb2MsXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGtpbmQ6IFwiZGVzdHJ1Y3R1cmluZ1wiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICApO1xuICAgICAgICB9IGVsc2UgaWYgKFxuICAgICAgICAgIChraW5kID09PSBcImNvbnN0XCIgfHwga2luZCA9PT0gXCJ1c2luZ1wiIHx8IGtpbmQgPT09IFwiYXdhaXQgdXNpbmdcIikgJiZcbiAgICAgICAgICAhKHRoaXMubWF0Y2godHQuX2luKSB8fCB0aGlzLmlzQ29udGV4dHVhbCh0dC5fb2YpKVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgICAgRXJyb3JzLkRlY2xhcmF0aW9uTWlzc2luZ0luaXRpYWxpemVyLFxuICAgICAgICAgICAgdGhpcy5zdGF0ZS5sYXN0VG9rRW5kTG9jLFxuICAgICAgICAgICAgeyBraW5kIH0sXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZGVjbGFyYXRpb25zLnB1c2godGhpcy5maW5pc2hOb2RlKGRlY2wsIFwiVmFyaWFibGVEZWNsYXJhdG9yXCIpKTtcbiAgICAgIGlmICghdGhpcy5lYXQodHQuY29tbWEpKSBicmVhaztcbiAgICB9XG4gICAgcmV0dXJuIG5vZGU7XG4gIH1cblxuICBwYXJzZVZhcklkKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBkZWNsOiBVbmRvbmU8Ti5WYXJpYWJsZURlY2xhcmF0b3I+LFxuICAgIGtpbmQ6IFwidmFyXCIgfCBcImxldFwiIHwgXCJjb25zdFwiIHwgXCJ1c2luZ1wiIHwgXCJhd2FpdCB1c2luZ1wiLFxuICApOiB2b2lkIHtcbiAgICBjb25zdCBpZCA9IHRoaXMucGFyc2VCaW5kaW5nQXRvbSgpO1xuICAgIGlmIChraW5kID09PSBcInVzaW5nXCIgfHwga2luZCA9PT0gXCJhd2FpdCB1c2luZ1wiKSB7XG4gICAgICBpZiAoaWQudHlwZSA9PT0gXCJBcnJheVBhdHRlcm5cIiB8fCBpZC50eXBlID09PSBcIk9iamVjdFBhdHRlcm5cIikge1xuICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5Vc2luZ0RlY2xhcmF0aW9uSGFzQmluZGluZ1BhdHRlcm4sIGlkLmxvYy5zdGFydCk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuY2hlY2tMVmFsKFxuICAgICAgaWQsXG4gICAgICB7IHR5cGU6IFwiVmFyaWFibGVEZWNsYXJhdG9yXCIgfSxcbiAgICAgIGtpbmQgPT09IFwidmFyXCIgPyBCaW5kaW5nRmxhZy5UWVBFX1ZBUiA6IEJpbmRpbmdGbGFnLlRZUEVfTEVYSUNBTCxcbiAgICApO1xuICAgIGRlY2wuaWQgPSBpZDtcbiAgfVxuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLUFzeW5jRnVuY3Rpb25FeHByZXNzaW9uXG4gIHBhcnNlQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24oXG4gICAgdGhpczogUGFyc2VyLFxuICAgIG5vZGU6IFVuZG9uZTxOLkZ1bmN0aW9uRXhwcmVzc2lvbj4sXG4gICk6IE4uRnVuY3Rpb25FeHByZXNzaW9uIHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZUZ1bmN0aW9uKG5vZGUsIFBhcnNlRnVuY3Rpb25GbGFnLkFzeW5jKTtcbiAgfVxuXG4gIC8vIFBhcnNlIGEgZnVuY3Rpb24gZGVjbGFyYXRpb24gb3IgZXhwcmVzc2lvbiAoZGVwZW5kaW5nIG9uIHRoZVxuICAvLyBQYXJzZUZ1bmN0aW9uRmxhZy5EZWNsYXJhdGlvbiBmbGFnKS5cblxuICBwYXJzZUZ1bmN0aW9uPFQgZXh0ZW5kcyBOLk5vcm1hbEZ1bmN0aW9uPihcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgbm9kZTogVW5kb25lPFQ+LFxuICAgIGZsYWdzOiBQYXJzZUZ1bmN0aW9uRmxhZyA9IFBhcnNlRnVuY3Rpb25GbGFnLkV4cHJlc3Npb24sXG4gICk6IFQge1xuICAgIGNvbnN0IGhhbmdpbmdEZWNsYXJhdGlvbiA9IGZsYWdzICYgUGFyc2VGdW5jdGlvbkZsYWcuSGFuZ2luZ0RlY2xhcmF0aW9uO1xuICAgIGNvbnN0IGlzRGVjbGFyYXRpb24gPSAhIShmbGFncyAmIFBhcnNlRnVuY3Rpb25GbGFnLkRlY2xhcmF0aW9uKTtcbiAgICBjb25zdCByZXF1aXJlSWQgPSBpc0RlY2xhcmF0aW9uICYmICEoZmxhZ3MgJiBQYXJzZUZ1bmN0aW9uRmxhZy5OdWxsYWJsZUlkKTtcbiAgICBjb25zdCBpc0FzeW5jID0gISEoZmxhZ3MgJiBQYXJzZUZ1bmN0aW9uRmxhZy5Bc3luYyk7XG5cbiAgICB0aGlzLmluaXRGdW5jdGlvbihub2RlLCBpc0FzeW5jKTtcblxuICAgIGlmICh0aGlzLm1hdGNoKHR0LnN0YXIpKSB7XG4gICAgICBpZiAoaGFuZ2luZ0RlY2xhcmF0aW9uKSB7XG4gICAgICAgIHRoaXMucmFpc2UoXG4gICAgICAgICAgRXJyb3JzLkdlbmVyYXRvckluU2luZ2xlU3RhdGVtZW50Q29udGV4dCxcbiAgICAgICAgICB0aGlzLnN0YXRlLnN0YXJ0TG9jLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhpcy5uZXh0KCk7IC8vIGVhdCAqXG4gICAgICBub2RlLmdlbmVyYXRvciA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKGlzRGVjbGFyYXRpb24pIHtcbiAgICAgIG5vZGUuaWQgPSB0aGlzLnBhcnNlRnVuY3Rpb25JZChyZXF1aXJlSWQpO1xuICAgIH1cblxuICAgIGNvbnN0IG9sZE1heWJlSW5BcnJvd1BhcmFtZXRlcnMgPSB0aGlzLnN0YXRlLm1heWJlSW5BcnJvd1BhcmFtZXRlcnM7XG4gICAgdGhpcy5zdGF0ZS5tYXliZUluQXJyb3dQYXJhbWV0ZXJzID0gZmFsc2U7XG4gICAgdGhpcy5zY29wZS5lbnRlcihTY29wZUZsYWcuRlVOQ1RJT04pO1xuICAgIHRoaXMucHJvZFBhcmFtLmVudGVyKGZ1bmN0aW9uRmxhZ3MoaXNBc3luYywgbm9kZS5nZW5lcmF0b3IpKTtcblxuICAgIGlmICghaXNEZWNsYXJhdGlvbikge1xuICAgICAgbm9kZS5pZCA9IHRoaXMucGFyc2VGdW5jdGlvbklkKCk7XG4gICAgfVxuXG4gICAgdGhpcy5wYXJzZUZ1bmN0aW9uUGFyYW1zKG5vZGUsIC8qIGlzQ29uc3RydWN0b3IgKi8gZmFsc2UpO1xuXG4gICAgLy8gRm9yIHRoZSBzbWFydFBpcGVsaW5lcyBwbHVnaW46IERpc2FibGUgdG9waWMgcmVmZXJlbmNlcyBmcm9tIG91dGVyXG4gICAgLy8gY29udGV4dHMgd2l0aGluIHRoZSBmdW5jdGlvbiBib2R5LiBUaGV5IGFyZSBwZXJtaXR0ZWQgaW4gZnVuY3Rpb25cbiAgICAvLyBkZWZhdWx0LXBhcmFtZXRlciBleHByZXNzaW9ucywgb3V0c2lkZSBvZiB0aGUgZnVuY3Rpb24gYm9keS5cbiAgICB0aGlzLndpdGhTbWFydE1peFRvcGljRm9yYmlkZGluZ0NvbnRleHQoKCkgPT4ge1xuICAgICAgLy8gUGFyc2UgdGhlIGZ1bmN0aW9uIGJvZHkuXG4gICAgICB0aGlzLnBhcnNlRnVuY3Rpb25Cb2R5QW5kRmluaXNoKFxuICAgICAgICBub2RlLFxuICAgICAgICBpc0RlY2xhcmF0aW9uID8gXCJGdW5jdGlvbkRlY2xhcmF0aW9uXCIgOiBcIkZ1bmN0aW9uRXhwcmVzc2lvblwiLFxuICAgICAgKTtcbiAgICB9KTtcblxuICAgIHRoaXMucHJvZFBhcmFtLmV4aXQoKTtcbiAgICB0aGlzLnNjb3BlLmV4aXQoKTtcblxuICAgIGlmIChpc0RlY2xhcmF0aW9uICYmICFoYW5naW5nRGVjbGFyYXRpb24pIHtcbiAgICAgIC8vIFdlIG5lZWQgdG8gcmVnaXN0ZXIgdGhpcyBfYWZ0ZXJfIHBhcnNpbmcgdGhlIGZ1bmN0aW9uIGJvZHlcbiAgICAgIC8vIGJlY2F1c2Ugb2YgVHlwZVNjcmlwdCBib2R5LWxlc3MgZnVuY3Rpb24gZGVjbGFyYXRpb25zLFxuICAgICAgLy8gd2hpY2ggc2hvdWxkbid0IGJlIGFkZGVkIHRvIHRoZSBzY29wZS5cbiAgICAgIHRoaXMucmVnaXN0ZXJGdW5jdGlvblN0YXRlbWVudElkKG5vZGUgYXMgVCk7XG4gICAgfVxuXG4gICAgdGhpcy5zdGF0ZS5tYXliZUluQXJyb3dQYXJhbWV0ZXJzID0gb2xkTWF5YmVJbkFycm93UGFyYW1ldGVycztcbiAgICByZXR1cm4gbm9kZSBhcyBUO1xuICB9XG5cbiAgcGFyc2VGdW5jdGlvbklkKHJlcXVpcmVJZD86IGJvb2xlYW4pOiBOLklkZW50aWZpZXIgfCB1bmRlZmluZWQgfCBudWxsIHtcbiAgICByZXR1cm4gcmVxdWlyZUlkIHx8IHRva2VuSXNJZGVudGlmaWVyKHRoaXMuc3RhdGUudHlwZSlcbiAgICAgID8gdGhpcy5wYXJzZUlkZW50aWZpZXIoKVxuICAgICAgOiBudWxsO1xuICB9XG5cbiAgcGFyc2VGdW5jdGlvblBhcmFtcyhcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgbm9kZTogVW5kb25lPE4uRnVuY3Rpb24+LFxuICAgIGlzQ29uc3RydWN0b3I/OiBib29sZWFuLFxuICApOiB2b2lkIHtcbiAgICB0aGlzLmV4cGVjdCh0dC5wYXJlbkwpO1xuICAgIHRoaXMuZXhwcmVzc2lvblNjb3BlLmVudGVyKG5ld1BhcmFtZXRlckRlY2xhcmF0aW9uU2NvcGUoKSk7XG4gICAgbm9kZS5wYXJhbXMgPSB0aGlzLnBhcnNlQmluZGluZ0xpc3QoXG4gICAgICB0dC5wYXJlblIsXG4gICAgICBjaGFyQ29kZXMucmlnaHRQYXJlbnRoZXNpcyxcbiAgICAgIFBhcnNlQmluZGluZ0xpc3RGbGFncy5JU19GVU5DVElPTl9QQVJBTVMgfFxuICAgICAgICAoaXNDb25zdHJ1Y3RvciA/IFBhcnNlQmluZGluZ0xpc3RGbGFncy5JU19DT05TVFJVQ1RPUl9QQVJBTVMgOiAwKSxcbiAgICApO1xuXG4gICAgdGhpcy5leHByZXNzaW9uU2NvcGUuZXhpdCgpO1xuICB9XG5cbiAgcmVnaXN0ZXJGdW5jdGlvblN0YXRlbWVudElkKG5vZGU6IE4uRnVuY3Rpb24pOiB2b2lkIHtcbiAgICBpZiAoIW5vZGUuaWQpIHJldHVybjtcblxuICAgIC8vIElmIGl0IGlzIGEgcmVndWxhciBmdW5jdGlvbiBkZWNsYXJhdGlvbiBpbiBzbG9wcHkgbW9kZSwgdGhlbiBpdCBpc1xuICAgIC8vIHN1YmplY3QgdG8gQW5uZXggQiBzZW1hbnRpY3MgKEJpbmRpbmdGbGFnLlRZUEVfRlVOQ1RJT04pLiBPdGhlcndpc2UsIHRoZSBiaW5kaW5nXG4gICAgLy8gbW9kZSBkZXBlbmRzIG9uIHByb3BlcnRpZXMgb2YgdGhlIGN1cnJlbnQgc2NvcGUgKHNlZVxuICAgIC8vIHRyZWF0RnVuY3Rpb25zQXNWYXIpLlxuICAgIHRoaXMuc2NvcGUuZGVjbGFyZU5hbWUoXG4gICAgICBub2RlLmlkLm5hbWUsXG4gICAgICAhdGhpcy5vcHRpb25zLmFubmV4QiB8fCB0aGlzLnN0YXRlLnN0cmljdCB8fCBub2RlLmdlbmVyYXRvciB8fCBub2RlLmFzeW5jXG4gICAgICAgID8gdGhpcy5zY29wZS50cmVhdEZ1bmN0aW9uc0FzVmFyXG4gICAgICAgICAgPyBCaW5kaW5nRmxhZy5UWVBFX1ZBUlxuICAgICAgICAgIDogQmluZGluZ0ZsYWcuVFlQRV9MRVhJQ0FMXG4gICAgICAgIDogQmluZGluZ0ZsYWcuVFlQRV9GVU5DVElPTixcbiAgICAgIG5vZGUuaWQubG9jLnN0YXJ0LFxuICAgICk7XG4gIH1cblxuICAvLyBQYXJzZSBhIGNsYXNzIGRlY2xhcmF0aW9uIG9yIGxpdGVyYWwgKGRlcGVuZGluZyBvbiB0aGVcbiAgLy8gYGlzU3RhdGVtZW50YCBwYXJhbWV0ZXIpLlxuXG4gIHBhcnNlQ2xhc3M8VCBleHRlbmRzIE4uQ2xhc3M+KFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBub2RlOiBVbmRvbmU8VD4sXG4gICAgaXNTdGF0ZW1lbnQ6IC8qIFQgPT09IENsYXNzRGVjbGFyYXRpb24gKi8gYm9vbGVhbixcbiAgICBvcHRpb25hbElkPzogYm9vbGVhbixcbiAgKTogVCB7XG4gICAgdGhpcy5uZXh0KCk7IC8vICdjbGFzcydcblxuICAgIC8vIEEgY2xhc3MgZGVmaW5pdGlvbiBpcyBhbHdheXMgc3RyaWN0IG1vZGUgY29kZS5cbiAgICBjb25zdCBvbGRTdHJpY3QgPSB0aGlzLnN0YXRlLnN0cmljdDtcbiAgICB0aGlzLnN0YXRlLnN0cmljdCA9IHRydWU7XG5cbiAgICB0aGlzLnBhcnNlQ2xhc3NJZChub2RlLCBpc1N0YXRlbWVudCwgb3B0aW9uYWxJZCk7XG4gICAgdGhpcy5wYXJzZUNsYXNzU3VwZXIobm9kZSk7XG4gICAgLy8gdGhpcy5zdGF0ZS5zdHJpY3QgaXMgcmVzdG9yZWQgaW4gcGFyc2VDbGFzc0JvZHlcbiAgICBub2RlLmJvZHkgPSB0aGlzLnBhcnNlQ2xhc3NCb2R5KCEhbm9kZS5zdXBlckNsYXNzLCBvbGRTdHJpY3QpO1xuXG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShcbiAgICAgIG5vZGUsXG4gICAgICBpc1N0YXRlbWVudCA/IFwiQ2xhc3NEZWNsYXJhdGlvblwiIDogXCJDbGFzc0V4cHJlc3Npb25cIixcbiAgICApO1xuICB9XG5cbiAgaXNDbGFzc1Byb3BlcnR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLm1hdGNoKHR0LmVxKSB8fCB0aGlzLm1hdGNoKHR0LnNlbWkpIHx8IHRoaXMubWF0Y2godHQuYnJhY2VSKTtcbiAgfVxuXG4gIGlzQ2xhc3NNZXRob2QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubWF0Y2godHQucGFyZW5MKTtcbiAgfVxuXG4gIG5hbWVJc0NvbnN0cnVjdG9yKGtleTogTi5FeHByZXNzaW9uIHwgTi5Qcml2YXRlTmFtZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAoa2V5LnR5cGUgPT09IFwiSWRlbnRpZmllclwiICYmIGtleS5uYW1lID09PSBcImNvbnN0cnVjdG9yXCIpIHx8XG4gICAgICAoa2V5LnR5cGUgPT09IFwiU3RyaW5nTGl0ZXJhbFwiICYmIGtleS52YWx1ZSA9PT0gXCJjb25zdHJ1Y3RvclwiKVxuICAgICk7XG4gIH1cblxuICBpc05vbnN0YXRpY0NvbnN0cnVjdG9yKG1ldGhvZDogTi5DbGFzc01ldGhvZCB8IE4uQ2xhc3NQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICAhbWV0aG9kLmNvbXB1dGVkICYmICFtZXRob2Quc3RhdGljICYmIHRoaXMubmFtZUlzQ29uc3RydWN0b3IobWV0aG9kLmtleSlcbiAgICApO1xuICB9XG5cbiAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtQ2xhc3NCb2R5XG4gIHBhcnNlQ2xhc3NCb2R5KFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBoYWRTdXBlckNsYXNzOiBib29sZWFuLFxuICAgIG9sZFN0cmljdDogYm9vbGVhbixcbiAgKTogTi5DbGFzc0JvZHkge1xuICAgIHRoaXMuY2xhc3NTY29wZS5lbnRlcigpO1xuXG4gICAgY29uc3Qgc3RhdGU6IE4uUGFyc2VDbGFzc01lbWJlclN0YXRlID0ge1xuICAgICAgaGFkQ29uc3RydWN0b3I6IGZhbHNlLFxuICAgICAgaGFkU3VwZXJDbGFzcyxcbiAgICB9O1xuICAgIGxldCBkZWNvcmF0b3JzOiBOLkRlY29yYXRvcltdID0gW107XG4gICAgY29uc3QgY2xhc3NCb2R5ID0gdGhpcy5zdGFydE5vZGU8Ti5DbGFzc0JvZHk+KCk7XG4gICAgY2xhc3NCb2R5LmJvZHkgPSBbXTtcblxuICAgIHRoaXMuZXhwZWN0KHR0LmJyYWNlTCk7XG5cbiAgICAvLyBGb3IgdGhlIHNtYXJ0UGlwZWxpbmVzIHBsdWdpbjogRGlzYWJsZSB0b3BpYyByZWZlcmVuY2VzIGZyb20gb3V0ZXJcbiAgICAvLyBjb250ZXh0cyB3aXRoaW4gdGhlIGNsYXNzIGJvZHkuXG4gICAgdGhpcy53aXRoU21hcnRNaXhUb3BpY0ZvcmJpZGRpbmdDb250ZXh0KCgpID0+IHtcbiAgICAgIC8vIFBhcnNlIHRoZSBjb250ZW50cyB3aXRoaW4gdGhlIGJyYWNlcy5cbiAgICAgIHdoaWxlICghdGhpcy5tYXRjaCh0dC5icmFjZVIpKSB7XG4gICAgICAgIGlmICh0aGlzLmVhdCh0dC5zZW1pKSkge1xuICAgICAgICAgIGlmIChkZWNvcmF0b3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHRocm93IHRoaXMucmFpc2UoXG4gICAgICAgICAgICAgIEVycm9ycy5EZWNvcmF0b3JTZW1pY29sb24sXG4gICAgICAgICAgICAgIHRoaXMuc3RhdGUubGFzdFRva0VuZExvYyxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMubWF0Y2godHQuYXQpKSB7XG4gICAgICAgICAgZGVjb3JhdG9ycy5wdXNoKHRoaXMucGFyc2VEZWNvcmF0b3IoKSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBtZW1iZXIgPSB0aGlzLnN0YXJ0Tm9kZTxOLkNsYXNzTWVtYmVyPigpO1xuXG4gICAgICAgIC8vIHN0ZWFsIHRoZSBkZWNvcmF0b3JzIGlmIHRoZXJlIGFyZSBhbnlcbiAgICAgICAgaWYgKGRlY29yYXRvcnMubGVuZ3RoKSB7XG4gICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBGaXhtZVxuICAgICAgICAgIG1lbWJlci5kZWNvcmF0b3JzID0gZGVjb3JhdG9ycztcbiAgICAgICAgICB0aGlzLnJlc2V0U3RhcnRMb2NhdGlvbkZyb21Ob2RlKG1lbWJlciwgZGVjb3JhdG9yc1swXSk7XG4gICAgICAgICAgZGVjb3JhdG9ycyA9IFtdO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5wYXJzZUNsYXNzTWVtYmVyKGNsYXNzQm9keSwgbWVtYmVyLCBzdGF0ZSk7XG5cbiAgICAgICAgaWYgKFxuICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgRml4bWVcbiAgICAgICAgICBtZW1iZXIua2luZCA9PT0gXCJjb25zdHJ1Y3RvclwiICYmXG4gICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBGaXhtZVxuICAgICAgICAgIG1lbWJlci5kZWNvcmF0b3JzICYmXG4gICAgICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBGaXhtZVxuICAgICAgICAgIG1lbWJlci5kZWNvcmF0b3JzLmxlbmd0aCA+IDBcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuRGVjb3JhdG9yQ29uc3RydWN0b3IsIG1lbWJlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuc3RhdGUuc3RyaWN0ID0gb2xkU3RyaWN0O1xuXG4gICAgdGhpcy5uZXh0KCk7IC8vIGVhdCBgfWBcblxuICAgIGlmIChkZWNvcmF0b3JzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgdGhpcy5yYWlzZShFcnJvcnMuVHJhaWxpbmdEZWNvcmF0b3IsIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgIH1cblxuICAgIHRoaXMuY2xhc3NTY29wZS5leGl0KCk7XG5cbiAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKGNsYXNzQm9keSwgXCJDbGFzc0JvZHlcIik7XG4gIH1cblxuICAvLyByZXR1cm5zIHRydWUgaWYgdGhlIGN1cnJlbnQgaWRlbnRpZmllciBpcyBhIG1ldGhvZC9maWVsZCBuYW1lLFxuICAvLyBmYWxzZSBpZiBpdCBpcyBhIG1vZGlmaWVyXG4gIHBhcnNlQ2xhc3NNZW1iZXJGcm9tTW9kaWZpZXIoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIGNsYXNzQm9keTogVW5kb25lPE4uQ2xhc3NCb2R5PixcbiAgICBtZW1iZXI6IFVuZG9uZTxOLkNsYXNzTWVtYmVyPixcbiAgKTogYm9vbGVhbiB7XG4gICAgY29uc3Qga2V5ID0gdGhpcy5wYXJzZUlkZW50aWZpZXIodHJ1ZSk7IC8vIGVhdHMgdGhlIG1vZGlmaWVyXG5cbiAgICBpZiAodGhpcy5pc0NsYXNzTWV0aG9kKCkpIHtcbiAgICAgIGNvbnN0IG1ldGhvZDogTi5DbGFzc01ldGhvZCA9IG1lbWJlciBhcyBhbnk7XG5cbiAgICAgIC8vIGEgbWV0aG9kIG5hbWVkIGxpa2UgdGhlIG1vZGlmaWVyXG4gICAgICBtZXRob2Qua2luZCA9IFwibWV0aG9kXCI7XG4gICAgICBtZXRob2QuY29tcHV0ZWQgPSBmYWxzZTtcbiAgICAgIG1ldGhvZC5rZXkgPSBrZXk7XG4gICAgICBtZXRob2Quc3RhdGljID0gZmFsc2U7XG4gICAgICB0aGlzLnB1c2hDbGFzc01ldGhvZChcbiAgICAgICAgY2xhc3NCb2R5LFxuICAgICAgICBtZXRob2QsXG4gICAgICAgIGZhbHNlLFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgLyogaXNDb25zdHJ1Y3RvciAqLyBmYWxzZSxcbiAgICAgICAgZmFsc2UsXG4gICAgICApO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzQ2xhc3NQcm9wZXJ0eSgpKSB7XG4gICAgICBjb25zdCBwcm9wOiBOLkNsYXNzUHJvcGVydHkgPSBtZW1iZXIgYXMgYW55O1xuXG4gICAgICAvLyBhIHByb3BlcnR5IG5hbWVkIGxpa2UgdGhlIG1vZGlmaWVyXG4gICAgICBwcm9wLmNvbXB1dGVkID0gZmFsc2U7XG4gICAgICBwcm9wLmtleSA9IGtleTtcbiAgICAgIHByb3Auc3RhdGljID0gZmFsc2U7XG4gICAgICBjbGFzc0JvZHkuYm9keS5wdXNoKHRoaXMucGFyc2VDbGFzc1Byb3BlcnR5KHByb3ApKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB0aGlzLnJlc2V0UHJldmlvdXNOb2RlVHJhaWxpbmdDb21tZW50cyhrZXkpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHBhcnNlQ2xhc3NNZW1iZXIoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIGNsYXNzQm9keTogVW5kb25lPE4uQ2xhc3NCb2R5PixcbiAgICBtZW1iZXI6IFVuZG9uZTxOLkNsYXNzTWVtYmVyPixcbiAgICBzdGF0ZTogTi5QYXJzZUNsYXNzTWVtYmVyU3RhdGUsXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGlzU3RhdGljID0gdGhpcy5pc0NvbnRleHR1YWwodHQuX3N0YXRpYyk7XG5cbiAgICBpZiAoaXNTdGF0aWMpIHtcbiAgICAgIGlmICh0aGlzLnBhcnNlQ2xhc3NNZW1iZXJGcm9tTW9kaWZpZXIoY2xhc3NCb2R5LCBtZW1iZXIpKSB7XG4gICAgICAgIC8vIGEgY2xhc3MgZWxlbWVudCBuYW1lZCAnc3RhdGljJ1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5lYXQodHQuYnJhY2VMKSkge1xuICAgICAgICB0aGlzLnBhcnNlQ2xhc3NTdGF0aWNCbG9jayhjbGFzc0JvZHksIG1lbWJlciBhcyBhbnkgYXMgTi5TdGF0aWNCbG9jayk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLnBhcnNlQ2xhc3NNZW1iZXJXaXRoSXNTdGF0aWMoY2xhc3NCb2R5LCBtZW1iZXIsIHN0YXRlLCBpc1N0YXRpYyk7XG4gIH1cblxuICBwYXJzZUNsYXNzTWVtYmVyV2l0aElzU3RhdGljKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBjbGFzc0JvZHk6IFVuZG9uZTxOLkNsYXNzQm9keT4sXG4gICAgbWVtYmVyOiBVbmRvbmU8Ti5DbGFzc01lbWJlcj4sXG4gICAgc3RhdGU6IE4uUGFyc2VDbGFzc01lbWJlclN0YXRlLFxuICAgIGlzU3RhdGljOiBib29sZWFuLFxuICApIHtcbiAgICBjb25zdCBwdWJsaWNNZXRob2QgPSBtZW1iZXIgYXMgTi5DbGFzc01ldGhvZDtcbiAgICBjb25zdCBwcml2YXRlTWV0aG9kID0gbWVtYmVyIGFzIE4uQ2xhc3NQcml2YXRlTWV0aG9kO1xuICAgIGNvbnN0IHB1YmxpY1Byb3AgPSBtZW1iZXIgYXMgTi5DbGFzc1Byb3BlcnR5O1xuICAgIGNvbnN0IHByaXZhdGVQcm9wID0gbWVtYmVyIGFzIE4uQ2xhc3NQcml2YXRlUHJvcGVydHk7XG4gICAgY29uc3QgYWNjZXNzb3JQcm9wID0gbWVtYmVyIGFzIE4uQ2xhc3NBY2Nlc3NvclByb3BlcnR5O1xuXG4gICAgY29uc3QgbWV0aG9kOiB0eXBlb2YgcHVibGljTWV0aG9kIHwgdHlwZW9mIHByaXZhdGVNZXRob2QgPSBwdWJsaWNNZXRob2Q7XG4gICAgY29uc3QgcHVibGljTWVtYmVyOiB0eXBlb2YgcHVibGljTWV0aG9kIHwgdHlwZW9mIHB1YmxpY1Byb3AgPSBwdWJsaWNNZXRob2Q7XG5cbiAgICBtZW1iZXIuc3RhdGljID0gaXNTdGF0aWM7XG4gICAgdGhpcy5wYXJzZVByb3BlcnR5TmFtZVByZWZpeE9wZXJhdG9yKG1lbWJlcik7XG5cbiAgICBpZiAodGhpcy5lYXQodHQuc3RhcikpIHtcbiAgICAgIC8vIGEgZ2VuZXJhdG9yXG4gICAgICBtZXRob2Qua2luZCA9IFwibWV0aG9kXCI7XG4gICAgICBjb25zdCBpc1ByaXZhdGVOYW1lID0gdGhpcy5tYXRjaCh0dC5wcml2YXRlTmFtZSk7XG4gICAgICB0aGlzLnBhcnNlQ2xhc3NFbGVtZW50TmFtZShtZXRob2QpO1xuXG4gICAgICBpZiAoaXNQcml2YXRlTmFtZSkge1xuICAgICAgICAvLyBQcml2YXRlIGdlbmVyYXRvciBtZXRob2RcbiAgICAgICAgdGhpcy5wdXNoQ2xhc3NQcml2YXRlTWV0aG9kKGNsYXNzQm9keSwgcHJpdmF0ZU1ldGhvZCwgdHJ1ZSwgZmFsc2UpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLmlzTm9uc3RhdGljQ29uc3RydWN0b3IocHVibGljTWV0aG9kKSkge1xuICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5Db25zdHJ1Y3RvcklzR2VuZXJhdG9yLCBwdWJsaWNNZXRob2Qua2V5KTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5wdXNoQ2xhc3NNZXRob2QoXG4gICAgICAgIGNsYXNzQm9keSxcbiAgICAgICAgcHVibGljTWV0aG9kLFxuICAgICAgICB0cnVlLFxuICAgICAgICBmYWxzZSxcbiAgICAgICAgLyogaXNDb25zdHJ1Y3RvciAqLyBmYWxzZSxcbiAgICAgICAgZmFsc2UsXG4gICAgICApO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgaXNDb250ZXh0dWFsID1cbiAgICAgICF0aGlzLnN0YXRlLmNvbnRhaW5zRXNjICYmIHRva2VuSXNJZGVudGlmaWVyKHRoaXMuc3RhdGUudHlwZSk7XG4gICAgY29uc3Qga2V5ID0gdGhpcy5wYXJzZUNsYXNzRWxlbWVudE5hbWUobWVtYmVyKTtcbiAgICBjb25zdCBtYXliZUNvbnRleHR1YWxLdyA9IGlzQ29udGV4dHVhbCA/IChrZXkgYXMgTi5JZGVudGlmaWVyKS5uYW1lIDogbnVsbDtcbiAgICBjb25zdCBpc1ByaXZhdGUgPSB0aGlzLmlzUHJpdmF0ZU5hbWUoa2V5KTtcbiAgICBjb25zdCBtYXliZVF1ZXN0aW9uVG9rZW5TdGFydExvYyA9IHRoaXMuc3RhdGUuc3RhcnRMb2M7XG5cbiAgICB0aGlzLnBhcnNlUG9zdE1lbWJlck5hbWVNb2RpZmllcnMocHVibGljTWVtYmVyKTtcblxuICAgIGlmICh0aGlzLmlzQ2xhc3NNZXRob2QoKSkge1xuICAgICAgbWV0aG9kLmtpbmQgPSBcIm1ldGhvZFwiO1xuXG4gICAgICBpZiAoaXNQcml2YXRlKSB7XG4gICAgICAgIHRoaXMucHVzaENsYXNzUHJpdmF0ZU1ldGhvZChjbGFzc0JvZHksIHByaXZhdGVNZXRob2QsIGZhbHNlLCBmYWxzZSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gYSBub3JtYWwgbWV0aG9kXG4gICAgICBjb25zdCBpc0NvbnN0cnVjdG9yID0gdGhpcy5pc05vbnN0YXRpY0NvbnN0cnVjdG9yKHB1YmxpY01ldGhvZCk7XG4gICAgICBsZXQgYWxsb3dzRGlyZWN0U3VwZXIgPSBmYWxzZTtcbiAgICAgIGlmIChpc0NvbnN0cnVjdG9yKSB7XG4gICAgICAgIHB1YmxpY01ldGhvZC5raW5kID0gXCJjb25zdHJ1Y3RvclwiO1xuXG4gICAgICAgIC8vIFR5cGVTY3JpcHQgYWxsb3dzIG11bHRpcGxlIG92ZXJsb2FkZWQgY29uc3RydWN0b3IgZGVjbGFyYXRpb25zLlxuICAgICAgICBpZiAoc3RhdGUuaGFkQ29uc3RydWN0b3IgJiYgIXRoaXMuaGFzUGx1Z2luKFwidHlwZXNjcmlwdFwiKSkge1xuICAgICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkR1cGxpY2F0ZUNvbnN0cnVjdG9yLCBrZXkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc0NvbnN0cnVjdG9yICYmIHRoaXMuaGFzUGx1Z2luKFwidHlwZXNjcmlwdFwiKSAmJiBtZW1iZXIub3ZlcnJpZGUpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5PdmVycmlkZU9uQ29uc3RydWN0b3IsIGtleSk7XG4gICAgICAgIH1cbiAgICAgICAgc3RhdGUuaGFkQ29uc3RydWN0b3IgPSB0cnVlO1xuICAgICAgICBhbGxvd3NEaXJlY3RTdXBlciA9IHN0YXRlLmhhZFN1cGVyQ2xhc3M7XG4gICAgICB9XG5cbiAgICAgIHRoaXMucHVzaENsYXNzTWV0aG9kKFxuICAgICAgICBjbGFzc0JvZHksXG4gICAgICAgIHB1YmxpY01ldGhvZCxcbiAgICAgICAgZmFsc2UsXG4gICAgICAgIGZhbHNlLFxuICAgICAgICBpc0NvbnN0cnVjdG9yLFxuICAgICAgICBhbGxvd3NEaXJlY3RTdXBlcixcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlzQ2xhc3NQcm9wZXJ0eSgpKSB7XG4gICAgICBpZiAoaXNQcml2YXRlKSB7XG4gICAgICAgIHRoaXMucHVzaENsYXNzUHJpdmF0ZVByb3BlcnR5KGNsYXNzQm9keSwgcHJpdmF0ZVByb3ApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wdXNoQ2xhc3NQcm9wZXJ0eShjbGFzc0JvZHksIHB1YmxpY1Byb3ApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAobWF5YmVDb250ZXh0dWFsS3cgPT09IFwiYXN5bmNcIiAmJiAhdGhpcy5pc0xpbmVUZXJtaW5hdG9yKCkpIHtcbiAgICAgIC8vIGFuIGFzeW5jIG1ldGhvZFxuICAgICAgdGhpcy5yZXNldFByZXZpb3VzTm9kZVRyYWlsaW5nQ29tbWVudHMoa2V5KTtcbiAgICAgIGNvbnN0IGlzR2VuZXJhdG9yID0gdGhpcy5lYXQodHQuc3Rhcik7XG5cbiAgICAgIGlmIChwdWJsaWNNZW1iZXIub3B0aW9uYWwpIHtcbiAgICAgICAgdGhpcy51bmV4cGVjdGVkKG1heWJlUXVlc3Rpb25Ub2tlblN0YXJ0TG9jKTtcbiAgICAgIH1cblxuICAgICAgbWV0aG9kLmtpbmQgPSBcIm1ldGhvZFwiO1xuICAgICAgLy8gVGhlIHNvLWNhbGxlZCBwYXJzZWQgbmFtZSB3b3VsZCBoYXZlIGJlZW4gXCJhc3luY1wiOiBnZXQgdGhlIHJlYWwgbmFtZS5cbiAgICAgIGNvbnN0IGlzUHJpdmF0ZSA9IHRoaXMubWF0Y2godHQucHJpdmF0ZU5hbWUpO1xuICAgICAgdGhpcy5wYXJzZUNsYXNzRWxlbWVudE5hbWUobWV0aG9kKTtcbiAgICAgIHRoaXMucGFyc2VQb3N0TWVtYmVyTmFtZU1vZGlmaWVycyhwdWJsaWNNZW1iZXIpO1xuXG4gICAgICBpZiAoaXNQcml2YXRlKSB7XG4gICAgICAgIC8vIHByaXZhdGUgYXN5bmMgbWV0aG9kXG4gICAgICAgIHRoaXMucHVzaENsYXNzUHJpdmF0ZU1ldGhvZChcbiAgICAgICAgICBjbGFzc0JvZHksXG4gICAgICAgICAgcHJpdmF0ZU1ldGhvZCxcbiAgICAgICAgICBpc0dlbmVyYXRvcixcbiAgICAgICAgICB0cnVlLFxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuaXNOb25zdGF0aWNDb25zdHJ1Y3RvcihwdWJsaWNNZXRob2QpKSB7XG4gICAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuQ29uc3RydWN0b3JJc0FzeW5jLCBwdWJsaWNNZXRob2Qua2V5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucHVzaENsYXNzTWV0aG9kKFxuICAgICAgICAgIGNsYXNzQm9keSxcbiAgICAgICAgICBwdWJsaWNNZXRob2QsXG4gICAgICAgICAgaXNHZW5lcmF0b3IsXG4gICAgICAgICAgdHJ1ZSxcbiAgICAgICAgICAvKiBpc0NvbnN0cnVjdG9yICovIGZhbHNlLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoXG4gICAgICAobWF5YmVDb250ZXh0dWFsS3cgPT09IFwiZ2V0XCIgfHwgbWF5YmVDb250ZXh0dWFsS3cgPT09IFwic2V0XCIpICYmXG4gICAgICAhKHRoaXMubWF0Y2godHQuc3RhcikgJiYgdGhpcy5pc0xpbmVUZXJtaW5hdG9yKCkpXG4gICAgKSB7XG4gICAgICAvLyBgZ2V0XFxuKmAgaXMgYW4gdW5pbml0aWFsaXplZCBwcm9wZXJ0eSBuYW1lZCAnZ2V0JyBmb2xsb3dlZCBieSBhIGdlbmVyYXRvci5cbiAgICAgIC8vIGEgZ2V0dGVyIG9yIHNldHRlclxuICAgICAgdGhpcy5yZXNldFByZXZpb3VzTm9kZVRyYWlsaW5nQ29tbWVudHMoa2V5KTtcbiAgICAgIG1ldGhvZC5raW5kID0gbWF5YmVDb250ZXh0dWFsS3c7XG4gICAgICAvLyBUaGUgc28tY2FsbGVkIHBhcnNlZCBuYW1lIHdvdWxkIGhhdmUgYmVlbiBcImdldC9zZXRcIjogZ2V0IHRoZSByZWFsIG5hbWUuXG4gICAgICBjb25zdCBpc1ByaXZhdGUgPSB0aGlzLm1hdGNoKHR0LnByaXZhdGVOYW1lKTtcbiAgICAgIHRoaXMucGFyc2VDbGFzc0VsZW1lbnROYW1lKHB1YmxpY01ldGhvZCk7XG5cbiAgICAgIGlmIChpc1ByaXZhdGUpIHtcbiAgICAgICAgLy8gcHJpdmF0ZSBnZXR0ZXIvc2V0dGVyXG4gICAgICAgIHRoaXMucHVzaENsYXNzUHJpdmF0ZU1ldGhvZChjbGFzc0JvZHksIHByaXZhdGVNZXRob2QsIGZhbHNlLCBmYWxzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5pc05vbnN0YXRpY0NvbnN0cnVjdG9yKHB1YmxpY01ldGhvZCkpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5Db25zdHJ1Y3RvcklzQWNjZXNzb3IsIHB1YmxpY01ldGhvZC5rZXkpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMucHVzaENsYXNzTWV0aG9kKFxuICAgICAgICAgIGNsYXNzQm9keSxcbiAgICAgICAgICBwdWJsaWNNZXRob2QsXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgLyogaXNDb25zdHJ1Y3RvciAqLyBmYWxzZSxcbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5jaGVja0dldHRlclNldHRlclBhcmFtcyhwdWJsaWNNZXRob2QpO1xuICAgIH0gZWxzZSBpZiAobWF5YmVDb250ZXh0dWFsS3cgPT09IFwiYWNjZXNzb3JcIiAmJiAhdGhpcy5pc0xpbmVUZXJtaW5hdG9yKCkpIHtcbiAgICAgIHRoaXMuZXhwZWN0UGx1Z2luKFwiZGVjb3JhdG9yQXV0b0FjY2Vzc29yc1wiKTtcbiAgICAgIHRoaXMucmVzZXRQcmV2aW91c05vZGVUcmFpbGluZ0NvbW1lbnRzKGtleSk7XG5cbiAgICAgIC8vIFRoZSBzby1jYWxsZWQgcGFyc2VkIG5hbWUgd291bGQgaGF2ZSBiZWVuIFwiYWNjZXNzb3JcIjogZ2V0IHRoZSByZWFsIG5hbWUuXG4gICAgICBjb25zdCBpc1ByaXZhdGUgPSB0aGlzLm1hdGNoKHR0LnByaXZhdGVOYW1lKTtcbiAgICAgIHRoaXMucGFyc2VDbGFzc0VsZW1lbnROYW1lKHB1YmxpY1Byb3ApO1xuICAgICAgdGhpcy5wdXNoQ2xhc3NBY2Nlc3NvclByb3BlcnR5KGNsYXNzQm9keSwgYWNjZXNzb3JQcm9wLCBpc1ByaXZhdGUpO1xuICAgIH0gZWxzZSBpZiAodGhpcy5pc0xpbmVUZXJtaW5hdG9yKCkpIHtcbiAgICAgIC8vIGFuIHVuaW5pdGlhbGl6ZWQgY2xhc3MgcHJvcGVydHkgKGR1ZSB0byBBU0ksIHNpbmNlIHdlIGRvbid0IG90aGVyd2lzZSByZWNvZ25pemUgdGhlIG5leHQgdG9rZW4pXG4gICAgICBpZiAoaXNQcml2YXRlKSB7XG4gICAgICAgIHRoaXMucHVzaENsYXNzUHJpdmF0ZVByb3BlcnR5KGNsYXNzQm9keSwgcHJpdmF0ZVByb3ApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5wdXNoQ2xhc3NQcm9wZXJ0eShjbGFzc0JvZHksIHB1YmxpY1Byb3ApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVuZXhwZWN0ZWQoKTtcbiAgICB9XG4gIH1cblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1DbGFzc0VsZW1lbnROYW1lXG4gIHBhcnNlQ2xhc3NFbGVtZW50TmFtZShcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgbWVtYmVyOiBVbmRvbmU8Ti5DbGFzc01lbWJlcj4sXG4gICk6IE4uRXhwcmVzc2lvbiB8IE4uSWRlbnRpZmllciB8IE4uUHJpdmF0ZU5hbWUge1xuICAgIGNvbnN0IHsgdHlwZSwgdmFsdWUgfSA9IHRoaXMuc3RhdGU7XG4gICAgaWYgKFxuICAgICAgKHR5cGUgPT09IHR0Lm5hbWUgfHwgdHlwZSA9PT0gdHQuc3RyaW5nKSAmJlxuICAgICAgbWVtYmVyLnN0YXRpYyAmJlxuICAgICAgdmFsdWUgPT09IFwicHJvdG90eXBlXCJcbiAgICApIHtcbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLlN0YXRpY1Byb3RvdHlwZSwgdGhpcy5zdGF0ZS5zdGFydExvYyk7XG4gICAgfVxuXG4gICAgaWYgKHR5cGUgPT09IHR0LnByaXZhdGVOYW1lKSB7XG4gICAgICBpZiAodmFsdWUgPT09IFwiY29uc3RydWN0b3JcIikge1xuICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5Db25zdHJ1Y3RvckNsYXNzUHJpdmF0ZUZpZWxkLCB0aGlzLnN0YXRlLnN0YXJ0TG9jKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGtleSA9IHRoaXMucGFyc2VQcml2YXRlTmFtZSgpO1xuICAgICAgbWVtYmVyLmtleSA9IGtleTtcbiAgICAgIHJldHVybiBrZXk7XG4gICAgfVxuXG4gICAgdGhpcy5wYXJzZVByb3BlcnR5TmFtZShtZW1iZXIpO1xuICAgIHJldHVybiBtZW1iZXIua2V5O1xuICB9XG5cbiAgcGFyc2VDbGFzc1N0YXRpY0Jsb2NrKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBjbGFzc0JvZHk6IFVuZG9uZTxOLkNsYXNzQm9keT4sXG4gICAgbWVtYmVyOiBVbmRvbmU8XG4gICAgICBOLlN0YXRpY0Jsb2NrICYge1xuICAgICAgICBkZWNvcmF0b3JzPzogQXJyYXk8Ti5EZWNvcmF0b3I+O1xuICAgICAgfVxuICAgID4sXG4gICkge1xuICAgIC8vIFN0YXJ0IGEgbmV3IGxleGljYWwgc2NvcGVcbiAgICB0aGlzLnNjb3BlLmVudGVyKFxuICAgICAgU2NvcGVGbGFnLkNMQVNTIHwgU2NvcGVGbGFnLlNUQVRJQ19CTE9DSyB8IFNjb3BlRmxhZy5TVVBFUixcbiAgICApO1xuICAgIC8vIFN0YXJ0IGEgbmV3IHNjb3BlIHdpdGggcmVnYXJkIHRvIGxvb3AgbGFiZWxzXG4gICAgY29uc3Qgb2xkTGFiZWxzID0gdGhpcy5zdGF0ZS5sYWJlbHM7XG4gICAgdGhpcy5zdGF0ZS5sYWJlbHMgPSBbXTtcbiAgICAvLyBDbGFzc1N0YXRpY0Jsb2NrU3RhdGVtZW50TGlzdDpcbiAgICAvLyAgIFN0YXRlbWVudExpc3RbfllpZWxkLCB+QXdhaXQsIH5SZXR1cm5dIG9wdFxuICAgIHRoaXMucHJvZFBhcmFtLmVudGVyKFBhcmFtS2luZC5QQVJBTSk7XG4gICAgY29uc3QgYm9keTogTi5TdGF0ZW1lbnRbXSA9IChtZW1iZXIuYm9keSA9IFtdKTtcbiAgICB0aGlzLnBhcnNlQmxvY2tPck1vZHVsZUJsb2NrQm9keShib2R5LCB1bmRlZmluZWQsIGZhbHNlLCB0dC5icmFjZVIpO1xuICAgIHRoaXMucHJvZFBhcmFtLmV4aXQoKTtcbiAgICB0aGlzLnNjb3BlLmV4aXQoKTtcbiAgICB0aGlzLnN0YXRlLmxhYmVscyA9IG9sZExhYmVscztcbiAgICBjbGFzc0JvZHkuYm9keS5wdXNoKHRoaXMuZmluaXNoTm9kZTxOLlN0YXRpY0Jsb2NrPihtZW1iZXIsIFwiU3RhdGljQmxvY2tcIikpO1xuICAgIGlmIChtZW1iZXIuZGVjb3JhdG9ycz8ubGVuZ3RoKSB7XG4gICAgICB0aGlzLnJhaXNlKEVycm9ycy5EZWNvcmF0b3JTdGF0aWNCbG9jaywgbWVtYmVyKTtcbiAgICB9XG4gIH1cblxuICBwdXNoQ2xhc3NQcm9wZXJ0eShcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgY2xhc3NCb2R5OiBVbmRvbmU8Ti5DbGFzc0JvZHk+LFxuICAgIHByb3A6IE4uQ2xhc3NQcm9wZXJ0eSxcbiAgKSB7XG4gICAgaWYgKCFwcm9wLmNvbXB1dGVkICYmIHRoaXMubmFtZUlzQ29uc3RydWN0b3IocHJvcC5rZXkpKSB7XG4gICAgICAvLyBOb24tY29tcHV0ZWQgZmllbGQsIHdoaWNoIGlzIGVpdGhlciBhbiBpZGVudGlmaWVyIG5hbWVkIFwiY29uc3RydWN0b3JcIlxuICAgICAgLy8gb3IgYSBzdHJpbmcgbGl0ZXJhbCBuYW1lZCBcImNvbnN0cnVjdG9yXCJcbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkNvbnN0cnVjdG9yQ2xhc3NGaWVsZCwgcHJvcC5rZXkpO1xuICAgIH1cblxuICAgIGNsYXNzQm9keS5ib2R5LnB1c2godGhpcy5wYXJzZUNsYXNzUHJvcGVydHkocHJvcCkpO1xuICB9XG5cbiAgcHVzaENsYXNzUHJpdmF0ZVByb3BlcnR5KFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBjbGFzc0JvZHk6IFVuZG9uZTxOLkNsYXNzQm9keT4sXG4gICAgcHJvcDogVW5kb25lPE4uQ2xhc3NQcml2YXRlUHJvcGVydHk+LFxuICApIHtcbiAgICBjb25zdCBub2RlID0gdGhpcy5wYXJzZUNsYXNzUHJpdmF0ZVByb3BlcnR5KHByb3ApO1xuICAgIGNsYXNzQm9keS5ib2R5LnB1c2gobm9kZSk7XG5cbiAgICB0aGlzLmNsYXNzU2NvcGUuZGVjbGFyZVByaXZhdGVOYW1lKFxuICAgICAgdGhpcy5nZXRQcml2YXRlTmFtZVNWKG5vZGUua2V5KSxcbiAgICAgIENsYXNzRWxlbWVudFR5cGUuT1RIRVIsXG4gICAgICBub2RlLmtleS5sb2Muc3RhcnQsXG4gICAgKTtcbiAgfVxuXG4gIHB1c2hDbGFzc0FjY2Vzc29yUHJvcGVydHkoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIGNsYXNzQm9keTogVW5kb25lPE4uQ2xhc3NCb2R5PixcbiAgICBwcm9wOiBOLkNsYXNzQWNjZXNzb3JQcm9wZXJ0eSxcbiAgICBpc1ByaXZhdGU6IGJvb2xlYW4sXG4gICkge1xuICAgIGlmICghaXNQcml2YXRlICYmICFwcm9wLmNvbXB1dGVkICYmIHRoaXMubmFtZUlzQ29uc3RydWN0b3IocHJvcC5rZXkpKSB7XG4gICAgICAvLyBOb24tY29tcHV0ZWQgZmllbGQsIHdoaWNoIGlzIGVpdGhlciBhbiBpZGVudGlmaWVyIG5hbWVkIFwiY29uc3RydWN0b3JcIlxuICAgICAgLy8gb3IgYSBzdHJpbmcgbGl0ZXJhbCBuYW1lZCBcImNvbnN0cnVjdG9yXCJcbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkNvbnN0cnVjdG9yQ2xhc3NGaWVsZCwgcHJvcC5rZXkpO1xuICAgIH1cblxuICAgIGNvbnN0IG5vZGUgPSB0aGlzLnBhcnNlQ2xhc3NBY2Nlc3NvclByb3BlcnR5KHByb3ApO1xuICAgIGNsYXNzQm9keS5ib2R5LnB1c2gobm9kZSk7XG5cbiAgICBpZiAoaXNQcml2YXRlKSB7XG4gICAgICB0aGlzLmNsYXNzU2NvcGUuZGVjbGFyZVByaXZhdGVOYW1lKFxuICAgICAgICB0aGlzLmdldFByaXZhdGVOYW1lU1Yobm9kZS5rZXkgYXMgTi5Qcml2YXRlTmFtZSksXG4gICAgICAgIENsYXNzRWxlbWVudFR5cGUuT1RIRVIsXG4gICAgICAgIG5vZGUua2V5LmxvYy5zdGFydCxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHVzaENsYXNzTWV0aG9kKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBjbGFzc0JvZHk6IFVuZG9uZTxOLkNsYXNzQm9keT4sXG4gICAgbWV0aG9kOiBVbmRvbmU8Ti5DbGFzc01ldGhvZD4sXG4gICAgaXNHZW5lcmF0b3I6IGJvb2xlYW4sXG4gICAgaXNBc3luYzogYm9vbGVhbixcbiAgICBpc0NvbnN0cnVjdG9yOiBib29sZWFuLFxuICAgIGFsbG93c0RpcmVjdFN1cGVyOiBib29sZWFuLFxuICApOiB2b2lkIHtcbiAgICBjbGFzc0JvZHkuYm9keS5wdXNoKFxuICAgICAgdGhpcy5wYXJzZU1ldGhvZChcbiAgICAgICAgbWV0aG9kLFxuICAgICAgICBpc0dlbmVyYXRvcixcbiAgICAgICAgaXNBc3luYyxcbiAgICAgICAgaXNDb25zdHJ1Y3RvcixcbiAgICAgICAgYWxsb3dzRGlyZWN0U3VwZXIsXG4gICAgICAgIFwiQ2xhc3NNZXRob2RcIixcbiAgICAgICAgdHJ1ZSxcbiAgICAgICksXG4gICAgKTtcbiAgfVxuXG4gIHB1c2hDbGFzc1ByaXZhdGVNZXRob2QoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIGNsYXNzQm9keTogVW5kb25lPE4uQ2xhc3NCb2R5PixcbiAgICBtZXRob2Q6IFVuZG9uZTxOLkNsYXNzUHJpdmF0ZU1ldGhvZD4sXG4gICAgaXNHZW5lcmF0b3I6IGJvb2xlYW4sXG4gICAgaXNBc3luYzogYm9vbGVhbixcbiAgKTogdm9pZCB7XG4gICAgY29uc3Qgbm9kZSA9IHRoaXMucGFyc2VNZXRob2QoXG4gICAgICBtZXRob2QsXG4gICAgICBpc0dlbmVyYXRvcixcbiAgICAgIGlzQXN5bmMsXG4gICAgICAvKiBpc0NvbnN0cnVjdG9yICovIGZhbHNlLFxuICAgICAgZmFsc2UsXG4gICAgICBcIkNsYXNzUHJpdmF0ZU1ldGhvZFwiLFxuICAgICAgdHJ1ZSxcbiAgICApO1xuICAgIGNsYXNzQm9keS5ib2R5LnB1c2gobm9kZSk7XG5cbiAgICBjb25zdCBraW5kID1cbiAgICAgIG5vZGUua2luZCA9PT0gXCJnZXRcIlxuICAgICAgICA/IG5vZGUuc3RhdGljXG4gICAgICAgICAgPyBDbGFzc0VsZW1lbnRUeXBlLlNUQVRJQ19HRVRURVJcbiAgICAgICAgICA6IENsYXNzRWxlbWVudFR5cGUuSU5TVEFOQ0VfR0VUVEVSXG4gICAgICAgIDogbm9kZS5raW5kID09PSBcInNldFwiXG4gICAgICAgICAgPyBub2RlLnN0YXRpY1xuICAgICAgICAgICAgPyBDbGFzc0VsZW1lbnRUeXBlLlNUQVRJQ19TRVRURVJcbiAgICAgICAgICAgIDogQ2xhc3NFbGVtZW50VHlwZS5JTlNUQU5DRV9TRVRURVJcbiAgICAgICAgICA6IENsYXNzRWxlbWVudFR5cGUuT1RIRVI7XG4gICAgdGhpcy5kZWNsYXJlQ2xhc3NQcml2YXRlTWV0aG9kSW5TY29wZShub2RlLCBraW5kKTtcbiAgfVxuXG4gIGRlY2xhcmVDbGFzc1ByaXZhdGVNZXRob2RJblNjb3BlKFxuICAgIG5vZGU6IFVuZG9uZTxOLkNsYXNzUHJpdmF0ZU1ldGhvZCB8IE4uVFNEZWNsYXJlTWV0aG9kPixcbiAgICBraW5kOiBudW1iZXIsXG4gICkge1xuICAgIHRoaXMuY2xhc3NTY29wZS5kZWNsYXJlUHJpdmF0ZU5hbWUoXG4gICAgICB0aGlzLmdldFByaXZhdGVOYW1lU1Yobm9kZS5rZXkgYXMgTi5Qcml2YXRlTmFtZSksXG4gICAgICBraW5kLFxuICAgICAgbm9kZS5rZXkubG9jLnN0YXJ0LFxuICAgICk7XG4gIH1cblxuICAvLyBPdmVycmlkZGVuIGluIHR5cGVzY3JpcHQuanNcbiAgcGFyc2VQb3N0TWVtYmVyTmFtZU1vZGlmaWVycyhcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gICAgbWV0aG9kT3JQcm9wOiBVbmRvbmU8Ti5DbGFzc01ldGhvZCB8IE4uQ2xhc3NQcm9wZXJ0eT4sXG4gICk6IHZvaWQge31cblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1GaWVsZERlZmluaXRpb25cbiAgcGFyc2VDbGFzc1ByaXZhdGVQcm9wZXJ0eShcbiAgICB0aGlzOiBQYXJzZXIsXG4gICAgbm9kZTogVW5kb25lPE4uQ2xhc3NQcml2YXRlUHJvcGVydHk+LFxuICApOiBOLkNsYXNzUHJpdmF0ZVByb3BlcnR5IHtcbiAgICB0aGlzLnBhcnNlSW5pdGlhbGl6ZXIobm9kZSk7XG4gICAgdGhpcy5zZW1pY29sb24oKTtcbiAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiQ2xhc3NQcml2YXRlUHJvcGVydHlcIik7XG4gIH1cblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1GaWVsZERlZmluaXRpb25cbiAgcGFyc2VDbGFzc1Byb3BlcnR5KHRoaXM6IFBhcnNlciwgbm9kZTogTi5DbGFzc1Byb3BlcnR5KTogTi5DbGFzc1Byb3BlcnR5IHtcbiAgICB0aGlzLnBhcnNlSW5pdGlhbGl6ZXIobm9kZSk7XG4gICAgdGhpcy5zZW1pY29sb24oKTtcbiAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiQ2xhc3NQcm9wZXJ0eVwiKTtcbiAgfVxuXG4gIHBhcnNlQ2xhc3NBY2Nlc3NvclByb3BlcnR5KFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBub2RlOiBOLkNsYXNzQWNjZXNzb3JQcm9wZXJ0eSxcbiAgKTogTi5DbGFzc0FjY2Vzc29yUHJvcGVydHkge1xuICAgIHRoaXMucGFyc2VJbml0aWFsaXplcihub2RlKTtcbiAgICB0aGlzLnNlbWljb2xvbigpO1xuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZSwgXCJDbGFzc0FjY2Vzc29yUHJvcGVydHlcIik7XG4gIH1cblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1Jbml0aWFsaXplclxuICBwYXJzZUluaXRpYWxpemVyKFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBub2RlOiBVbmRvbmU8XG4gICAgICBOLkNsYXNzUHJvcGVydHkgfCBOLkNsYXNzUHJpdmF0ZVByb3BlcnR5IHwgTi5DbGFzc0FjY2Vzc29yUHJvcGVydHlcbiAgICA+LFxuICApOiB2b2lkIHtcbiAgICB0aGlzLnNjb3BlLmVudGVyKFNjb3BlRmxhZy5DTEFTUyB8IFNjb3BlRmxhZy5TVVBFUik7XG4gICAgdGhpcy5leHByZXNzaW9uU2NvcGUuZW50ZXIobmV3RXhwcmVzc2lvblNjb3BlKCkpO1xuICAgIHRoaXMucHJvZFBhcmFtLmVudGVyKFBhcmFtS2luZC5QQVJBTSk7XG4gICAgbm9kZS52YWx1ZSA9IHRoaXMuZWF0KHR0LmVxKSA/IHRoaXMucGFyc2VNYXliZUFzc2lnbkFsbG93SW4oKSA6IG51bGw7XG4gICAgdGhpcy5leHByZXNzaW9uU2NvcGUuZXhpdCgpO1xuICAgIHRoaXMucHJvZFBhcmFtLmV4aXQoKTtcbiAgICB0aGlzLnNjb3BlLmV4aXQoKTtcbiAgfVxuXG4gIHBhcnNlQ2xhc3NJZChcbiAgICBub2RlOiBVbmRvbmU8Ti5DbGFzcz4sXG4gICAgaXNTdGF0ZW1lbnQ6IGJvb2xlYW4sXG4gICAgb3B0aW9uYWxJZD86IGJvb2xlYW4gfCBudWxsLFxuICAgIGJpbmRpbmdUeXBlOiBCaW5kaW5nRmxhZyA9IEJpbmRpbmdGbGFnLlRZUEVfQ0xBU1MsXG4gICk6IHZvaWQge1xuICAgIGlmICh0b2tlbklzSWRlbnRpZmllcih0aGlzLnN0YXRlLnR5cGUpKSB7XG4gICAgICBub2RlLmlkID0gdGhpcy5wYXJzZUlkZW50aWZpZXIoKTtcbiAgICAgIGlmIChpc1N0YXRlbWVudCkge1xuICAgICAgICB0aGlzLmRlY2xhcmVOYW1lRnJvbUlkZW50aWZpZXIobm9kZS5pZCwgYmluZGluZ1R5cGUpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAob3B0aW9uYWxJZCB8fCAhaXNTdGF0ZW1lbnQpIHtcbiAgICAgICAgbm9kZS5pZCA9IG51bGw7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyB0aGlzLnJhaXNlKEVycm9ycy5NaXNzaW5nQ2xhc3NOYW1lLCB0aGlzLnN0YXRlLnN0YXJ0TG9jKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1DbGFzc0hlcml0YWdlXG4gIHBhcnNlQ2xhc3NTdXBlcih0aGlzOiBQYXJzZXIsIG5vZGU6IFVuZG9uZTxOLkNsYXNzPik6IHZvaWQge1xuICAgIG5vZGUuc3VwZXJDbGFzcyA9IHRoaXMuZWF0KHR0Ll9leHRlbmRzKSA/IHRoaXMucGFyc2VFeHByU3Vic2NyaXB0cygpIDogbnVsbDtcbiAgfVxuXG4gIC8vIFBhcnNlcyBtb2R1bGUgZXhwb3J0IGRlY2xhcmF0aW9uLlxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1FeHBvcnREZWNsYXJhdGlvblxuXG4gIHBhcnNlRXhwb3J0KFxuICAgIHRoaXM6IFBhcnNlcixcbiAgICBub2RlOiBVbmRvbmU8XG4gICAgICB8IE4uRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXG4gICAgICB8IE4uRXhwb3J0QWxsRGVjbGFyYXRpb25cbiAgICAgIHwgTi5FeHBvcnROYW1lZERlY2xhcmF0aW9uXG4gICAgPixcbiAgICBkZWNvcmF0b3JzOiBOLkRlY29yYXRvcltdIHwgbnVsbCxcbiAgKTogTi5BbnlFeHBvcnQge1xuICAgIGNvbnN0IG1heWJlRGVmYXVsdElkZW50aWZpZXIgPSB0aGlzLnBhcnNlTWF5YmVJbXBvcnRQaGFzZShcbiAgICAgIG5vZGUsXG4gICAgICAvKiBpc0V4cG9ydCAqLyB0cnVlLFxuICAgICk7XG4gICAgY29uc3QgaGFzRGVmYXVsdCA9IHRoaXMubWF5YmVQYXJzZUV4cG9ydERlZmF1bHRTcGVjaWZpZXIoXG4gICAgICBub2RlLFxuICAgICAgbWF5YmVEZWZhdWx0SWRlbnRpZmllcixcbiAgICApO1xuICAgIGNvbnN0IHBhcnNlQWZ0ZXJEZWZhdWx0ID0gIWhhc0RlZmF1bHQgfHwgdGhpcy5lYXQodHQuY29tbWEpO1xuICAgIGNvbnN0IGhhc1N0YXIgPSBwYXJzZUFmdGVyRGVmYXVsdCAmJiB0aGlzLmVhdEV4cG9ydFN0YXIobm9kZSk7XG4gICAgY29uc3QgaGFzTmFtZXNwYWNlID1cbiAgICAgIGhhc1N0YXIgJiYgdGhpcy5tYXliZVBhcnNlRXhwb3J0TmFtZXNwYWNlU3BlY2lmaWVyKG5vZGUpO1xuICAgIGNvbnN0IHBhcnNlQWZ0ZXJOYW1lc3BhY2UgPVxuICAgICAgcGFyc2VBZnRlckRlZmF1bHQgJiYgKCFoYXNOYW1lc3BhY2UgfHwgdGhpcy5lYXQodHQuY29tbWEpKTtcbiAgICBjb25zdCBpc0Zyb21SZXF1aXJlZCA9IGhhc0RlZmF1bHQgfHwgaGFzU3RhcjtcblxuICAgIGlmIChoYXNTdGFyICYmICFoYXNOYW1lc3BhY2UpIHtcbiAgICAgIGlmIChoYXNEZWZhdWx0KSB0aGlzLnVuZXhwZWN0ZWQoKTtcbiAgICAgIGlmIChkZWNvcmF0b3JzKSB7XG4gICAgICAgIHRocm93IHRoaXMucmFpc2UoRXJyb3JzLlVuc3VwcG9ydGVkRGVjb3JhdG9yRXhwb3J0LCBub2RlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMucGFyc2VFeHBvcnRGcm9tKG5vZGUsIHRydWUpO1xuXG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiRXhwb3J0QWxsRGVjbGFyYXRpb25cIik7XG4gICAgfVxuXG4gICAgY29uc3QgaGFzU3BlY2lmaWVycyA9IHRoaXMubWF5YmVQYXJzZUV4cG9ydE5hbWVkU3BlY2lmaWVycyhub2RlKTtcblxuICAgIGlmIChoYXNEZWZhdWx0ICYmIHBhcnNlQWZ0ZXJEZWZhdWx0ICYmICFoYXNTdGFyICYmICFoYXNTcGVjaWZpZXJzKSB7XG4gICAgICB0aGlzLnVuZXhwZWN0ZWQobnVsbCwgdHQuYnJhY2VMKTtcbiAgICB9XG5cbiAgICBpZiAoaGFzTmFtZXNwYWNlICYmIHBhcnNlQWZ0ZXJOYW1lc3BhY2UpIHtcbiAgICAgIHRoaXMudW5leHBlY3RlZChudWxsLCB0dC5fZnJvbSk7XG4gICAgfVxuXG4gICAgbGV0IGhhc0RlY2xhcmF0aW9uO1xuICAgIGlmIChpc0Zyb21SZXF1aXJlZCB8fCBoYXNTcGVjaWZpZXJzKSB7XG4gICAgICBoYXNEZWNsYXJhdGlvbiA9IGZhbHNlO1xuICAgICAgaWYgKGRlY29yYXRvcnMpIHtcbiAgICAgICAgdGhyb3cgdGhpcy5yYWlzZShFcnJvcnMuVW5zdXBwb3J0ZWREZWNvcmF0b3JFeHBvcnQsIG5vZGUpO1xuICAgICAgfVxuICAgICAgdGhpcy5wYXJzZUV4cG9ydEZyb20oXG4gICAgICAgIG5vZGUgYXMgVW5kb25lPE4uRXhwb3J0TmFtZWREZWNsYXJhdGlvbj4sXG4gICAgICAgIGlzRnJvbVJlcXVpcmVkLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaGFzRGVjbGFyYXRpb24gPSB0aGlzLm1heWJlUGFyc2VFeHBvcnREZWNsYXJhdGlvbihcbiAgICAgICAgbm9kZSBhcyBVbmRvbmU8Ti5FeHBvcnROYW1lZERlY2xhcmF0aW9uPixcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGlzRnJvbVJlcXVpcmVkIHx8IGhhc1NwZWNpZmllcnMgfHwgaGFzRGVjbGFyYXRpb24pIHtcbiAgICAgIGNvbnN0IG5vZGUyID0gbm9kZSBhcyBVbmRvbmU8Ti5FeHBvcnROYW1lZERlY2xhcmF0aW9uPjtcbiAgICAgIHRoaXMuY2hlY2tFeHBvcnQobm9kZTIsIHRydWUsIGZhbHNlLCAhIW5vZGUyLnNvdXJjZSk7XG4gICAgICBpZiAobm9kZTIuZGVjbGFyYXRpb24/LnR5cGUgPT09IFwiQ2xhc3NEZWNsYXJhdGlvblwiKSB7XG4gICAgICAgIHRoaXMubWF5YmVUYWtlRGVjb3JhdG9ycyhkZWNvcmF0b3JzLCBub2RlMi5kZWNsYXJhdGlvbiwgbm9kZTIpO1xuICAgICAgfSBlbHNlIGlmIChkZWNvcmF0b3JzKSB7XG4gICAgICAgIHRocm93IHRoaXMucmFpc2UoRXJyb3JzLlVuc3VwcG9ydGVkRGVjb3JhdG9yRXhwb3J0LCBub2RlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGUobm9kZTIsIFwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5lYXQodHQuX2RlZmF1bHQpKSB7XG4gICAgICBjb25zdCBub2RlMiA9IG5vZGUgYXMgVW5kb25lPE4uRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uPjtcbiAgICAgIC8vIGV4cG9ydCBkZWZhdWx0IC4uLlxuICAgICAgY29uc3QgZGVjbCA9IHRoaXMucGFyc2VFeHBvcnREZWZhdWx0RXhwcmVzc2lvbigpO1xuICAgICAgbm9kZTIuZGVjbGFyYXRpb24gPSBkZWNsO1xuXG4gICAgICBpZiAoZGVjbC50eXBlID09PSBcIkNsYXNzRGVjbGFyYXRpb25cIikge1xuICAgICAgICB0aGlzLm1heWJlVGFrZURlY29yYXRvcnMoZGVjb3JhdG9ycywgZGVjbCBhcyBOLkNsYXNzRGVjbGFyYXRpb24sIG5vZGUyKTtcbiAgICAgIH0gZWxzZSBpZiAoZGVjb3JhdG9ycykge1xuICAgICAgICB0aHJvdyB0aGlzLnJhaXNlKEVycm9ycy5VbnN1cHBvcnRlZERlY29yYXRvckV4cG9ydCwgbm9kZSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuY2hlY2tFeHBvcnQobm9kZTIsIHRydWUsIHRydWUpO1xuXG4gICAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKG5vZGUyLCBcIkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblwiKTtcbiAgICB9XG5cbiAgICB0aGlzLnVuZXhwZWN0ZWQobnVsbCwgdHQuYnJhY2VMKTtcbiAgfVxuXG4gIGVhdEV4cG9ydFN0YXIoXG4gICAgbm9kZTogVW5kb25lPE4uTm9kZT4sXG4gICk6IG5vZGUgaXMgVW5kb25lPE4uRXhwb3J0TmFtZWREZWNsYXJhdGlvbiB8IE4uRXhwb3J0QWxsRGVjbGFyYXRpb24+IHtcbiAgICByZXR1cm4gdGhpcy5lYXQodHQuc3Rhcik7XG4gIH1cblxuICBtYXliZVBhcnNlRXhwb3J0RGVmYXVsdFNwZWNpZmllcihcbiAgICBub2RlOiBVbmRvbmU8XG4gICAgICB8IE4uRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXG4gICAgICB8IE4uRXhwb3J0QWxsRGVjbGFyYXRpb25cbiAgICAgIHwgTi5FeHBvcnROYW1lZERlY2xhcmF0aW9uXG4gICAgPixcbiAgICBtYXliZURlZmF1bHRJZGVudGlmaWVyOiBOLklkZW50aWZpZXIgfCBudWxsLFxuICApOiBub2RlIGlzIFVuZG9uZTxOLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24+IHtcbiAgICBpZiAobWF5YmVEZWZhdWx0SWRlbnRpZmllciB8fCB0aGlzLmlzRXhwb3J0RGVmYXVsdFNwZWNpZmllcigpKSB7XG4gICAgICAvLyBleHBvcnQgZGVmYXVsdE9iaiAuLi5cbiAgICAgIHRoaXMuZXhwZWN0UGx1Z2luKFwiZXhwb3J0RGVmYXVsdEZyb21cIiwgbWF5YmVEZWZhdWx0SWRlbnRpZmllcj8ubG9jLnN0YXJ0KTtcbiAgICAgIGNvbnN0IGlkID0gbWF5YmVEZWZhdWx0SWRlbnRpZmllciB8fCB0aGlzLnBhcnNlSWRlbnRpZmllcih0cnVlKTtcbiAgICAgIGNvbnN0IHNwZWNpZmllciA9IHRoaXMuc3RhcnROb2RlQXROb2RlPE4uRXhwb3J0RGVmYXVsdFNwZWNpZmllcj4oaWQpO1xuICAgICAgc3BlY2lmaWVyLmV4cG9ydGVkID0gaWQ7XG4gICAgICAobm9kZSBhcyBVbmRvbmU8Ti5FeHBvcnROYW1lZERlY2xhcmF0aW9uPikuc3BlY2lmaWVycyA9IFtcbiAgICAgICAgdGhpcy5maW5pc2hOb2RlKHNwZWNpZmllciwgXCJFeHBvcnREZWZhdWx0U3BlY2lmaWVyXCIpLFxuICAgICAgXTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBtYXliZVBhcnNlRXhwb3J0TmFtZXNwYWNlU3BlY2lmaWVyKFxuICAgIG5vZGU6IFVuZG9uZTxOLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24gfCBOLkV4cG9ydEFsbERlY2xhcmF0aW9uPixcbiAgKTogbm9kZSBpcyBVbmRvbmU8Ti5FeHBvcnROYW1lZERlY2xhcmF0aW9uPiB7XG4gICAgaWYgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9hcykpIHtcbiAgICAgIChub2RlIGFzIFVuZG9uZTxOLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24+KS5zcGVjaWZpZXJzID8/PSBbXTtcblxuICAgICAgY29uc3Qgc3BlY2lmaWVyID0gdGhpcy5zdGFydE5vZGVBdDxOLkV4cG9ydE5hbWVzcGFjZVNwZWNpZmllcj4oXG4gICAgICAgIHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jLFxuICAgICAgKTtcblxuICAgICAgdGhpcy5uZXh0KCk7XG5cbiAgICAgIHNwZWNpZmllci5leHBvcnRlZCA9IHRoaXMucGFyc2VNb2R1bGVFeHBvcnROYW1lKCk7XG4gICAgICAobm9kZSBhcyBVbmRvbmU8Ti5FeHBvcnROYW1lZERlY2xhcmF0aW9uPikuc3BlY2lmaWVycy5wdXNoKFxuICAgICAgICB0aGlzLmZpbmlzaE5vZGUoc3BlY2lmaWVyLCBcIkV4cG9ydE5hbWVzcGFjZVNwZWNpZmllclwiKSxcbiAgICAgICk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgbWF5YmVQYXJzZUV4cG9ydE5hbWVkU3BlY2lmaWVycyhcbiAgICBub2RlOiBVbmRvbmU8Ti5Ob2RlPixcbiAgKTogbm9kZSBpcyBVbmRvbmU8Ti5FeHBvcnROYW1lZERlY2xhcmF0aW9uPiB7XG4gICAgaWYgKHRoaXMubWF0Y2godHQuYnJhY2VMKSkge1xuICAgICAgY29uc3Qgbm9kZTIgPSBub2RlIGFzIFVuZG9uZTxOLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24+O1xuXG4gICAgICBpZiAoIW5vZGUyLnNwZWNpZmllcnMpIG5vZGUyLnNwZWNpZmllcnMgPSBbXTtcbiAgICAgIGNvbnN0IGlzVHlwZUV4cG9ydCA9IG5vZGUyLmV4cG9ydEtpbmQgPT09IFwidHlwZVwiO1xuICAgICAgbm9kZTIuc3BlY2lmaWVycy5wdXNoKC4uLnRoaXMucGFyc2VFeHBvcnRTcGVjaWZpZXJzKGlzVHlwZUV4cG9ydCkpO1xuXG4gICAgICBub2RlMi5zb3VyY2UgPSBudWxsO1xuICAgICAgbm9kZTIuZGVjbGFyYXRpb24gPSBudWxsO1xuICAgICAgaWYgKCFwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HICYmIHRoaXMuaGFzUGx1Z2luKFwiaW1wb3J0QXNzZXJ0aW9uc1wiKSkge1xuICAgICAgICBub2RlMi5hc3NlcnRpb25zID0gW107XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBtYXliZVBhcnNlRXhwb3J0RGVjbGFyYXRpb24oXG4gICAgdGhpczogUGFyc2VyLFxuICAgIG5vZGU6IFVuZG9uZTxOLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24+LFxuICApOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5zaG91bGRQYXJzZUV4cG9ydERlY2xhcmF0aW9uKCkpIHtcbiAgICAgIG5vZGUuc3BlY2lmaWVycyA9IFtdO1xuICAgICAgbm9kZS5zb3VyY2UgPSBudWxsO1xuICAgICAgaWYgKCFwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HICYmIHRoaXMuaGFzUGx1Z2luKFwiaW1wb3J0QXNzZXJ0aW9uc1wiKSkge1xuICAgICAgICBub2RlLmFzc2VydGlvbnMgPSBbXTtcbiAgICAgIH1cbiAgICAgIG5vZGUuZGVjbGFyYXRpb24gPSB0aGlzLnBhcnNlRXhwb3J0RGVjbGFyYXRpb24obm9kZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgaXNBc3luY0Z1bmN0aW9uKCk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5pc0NvbnRleHR1YWwodHQuX2FzeW5jKSkgcmV0dXJuIGZhbHNlO1xuICAgIGNvbnN0IG5leHQgPSB0aGlzLm5leHRUb2tlbkluTGluZVN0YXJ0KCk7XG4gICAgcmV0dXJuIHRoaXMuaXNVbnBhcnNlZENvbnRleHR1YWwobmV4dCwgXCJmdW5jdGlvblwiKTtcbiAgfVxuXG4gIHBhcnNlRXhwb3J0RGVmYXVsdEV4cHJlc3Npb24oXG4gICAgdGhpczogUGFyc2VyLFxuICApOiBOLkV4cG9ydERlZmF1bHREZWNsYXJhdGlvbltcImRlY2xhcmF0aW9uXCJdIHtcbiAgICBjb25zdCBleHByID0gdGhpcy5zdGFydE5vZGUoKTtcblxuICAgIGlmICh0aGlzLm1hdGNoKHR0Ll9mdW5jdGlvbikpIHtcbiAgICAgIHRoaXMubmV4dCgpO1xuICAgICAgcmV0dXJuIHRoaXMucGFyc2VGdW5jdGlvbihcbiAgICAgICAgZXhwciBhcyBVbmRvbmU8Ti5GdW5jdGlvbkRlY2xhcmF0aW9uPixcbiAgICAgICAgUGFyc2VGdW5jdGlvbkZsYWcuRGVjbGFyYXRpb24gfCBQYXJzZUZ1bmN0aW9uRmxhZy5OdWxsYWJsZUlkLFxuICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXNBc3luY0Z1bmN0aW9uKCkpIHtcbiAgICAgIHRoaXMubmV4dCgpOyAvLyBlYXQgJ2FzeW5jJ1xuICAgICAgdGhpcy5uZXh0KCk7IC8vIGVhdCAnZnVuY3Rpb24nXG4gICAgICByZXR1cm4gdGhpcy5wYXJzZUZ1bmN0aW9uKFxuICAgICAgICBleHByIGFzIFVuZG9uZTxOLkZ1bmN0aW9uRGVjbGFyYXRpb24+LFxuICAgICAgICBQYXJzZUZ1bmN0aW9uRmxhZy5EZWNsYXJhdGlvbiB8XG4gICAgICAgICAgUGFyc2VGdW5jdGlvbkZsYWcuTnVsbGFibGVJZCB8XG4gICAgICAgICAgUGFyc2VGdW5jdGlvbkZsYWcuQXN5bmMsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm1hdGNoKHR0Ll9jbGFzcykpIHtcbiAgICAgIHJldHVybiB0aGlzLnBhcnNlQ2xhc3MoZXhwciBhcyBVbmRvbmU8Ti5DbGFzc0V4cHJlc3Npb24+LCB0cnVlLCB0cnVlKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tYXRjaCh0dC5hdCkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5oYXNQbHVnaW4oXCJkZWNvcmF0b3JzXCIpICYmXG4gICAgICAgIHRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwiZGVjb3JhdG9yc1wiLCBcImRlY29yYXRvcnNCZWZvcmVFeHBvcnRcIikgPT09IHRydWVcbiAgICAgICkge1xuICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5EZWNvcmF0b3JCZWZvcmVFeHBvcnQsIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMucGFyc2VDbGFzcyhcbiAgICAgICAgdGhpcy5tYXliZVRha2VEZWNvcmF0b3JzKFxuICAgICAgICAgIHRoaXMucGFyc2VEZWNvcmF0b3JzKGZhbHNlKSxcbiAgICAgICAgICB0aGlzLnN0YXJ0Tm9kZTxOLkNsYXNzRGVjbGFyYXRpb24+KCksXG4gICAgICAgICksXG4gICAgICAgIHRydWUsXG4gICAgICAgIHRydWUsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm1hdGNoKHR0Ll9jb25zdCkgfHwgdGhpcy5tYXRjaCh0dC5fdmFyKSB8fCB0aGlzLmlzTGV0KCkpIHtcbiAgICAgIHRocm93IHRoaXMucmFpc2UoRXJyb3JzLlVuc3VwcG9ydGVkRGVmYXVsdEV4cG9ydCwgdGhpcy5zdGF0ZS5zdGFydExvYyk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVzID0gdGhpcy5wYXJzZU1heWJlQXNzaWduQWxsb3dJbigpO1xuICAgIHRoaXMuc2VtaWNvbG9uKCk7XG4gICAgcmV0dXJuIHJlcztcbiAgfVxuXG4gIC8vIGh0dHBzOi8vdGMzOS5lcy9lY21hMjYyLyNwcm9kLUV4cG9ydERlY2xhcmF0aW9uXG4gIHBhcnNlRXhwb3J0RGVjbGFyYXRpb24oXG4gICAgdGhpczogUGFyc2VyLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBub2RlOiBVbmRvbmU8Ti5FeHBvcnROYW1lZERlY2xhcmF0aW9uPixcbiAgKTogTi5EZWNsYXJhdGlvbiB8IHVuZGVmaW5lZCB8IG51bGwge1xuICAgIGlmICh0aGlzLm1hdGNoKHR0Ll9jbGFzcykpIHtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnBhcnNlQ2xhc3MoXG4gICAgICAgIHRoaXMuc3RhcnROb2RlPE4uQ2xhc3NEZWNsYXJhdGlvbj4oKSxcbiAgICAgICAgdHJ1ZSxcbiAgICAgICAgZmFsc2UsXG4gICAgICApO1xuICAgICAgcmV0dXJuIG5vZGU7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnBhcnNlU3RhdGVtZW50TGlzdEl0ZW0oKSBhcyBOLkRlY2xhcmF0aW9uO1xuICB9XG5cbiAgaXNFeHBvcnREZWZhdWx0U3BlY2lmaWVyKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHsgdHlwZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBpZiAodG9rZW5Jc0lkZW50aWZpZXIodHlwZSkpIHtcbiAgICAgIGlmICgodHlwZSA9PT0gdHQuX2FzeW5jICYmICF0aGlzLnN0YXRlLmNvbnRhaW5zRXNjKSB8fCB0eXBlID09PSB0dC5fbGV0KSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChcbiAgICAgICAgKHR5cGUgPT09IHR0Ll90eXBlIHx8IHR5cGUgPT09IHR0Ll9pbnRlcmZhY2UpICYmXG4gICAgICAgICF0aGlzLnN0YXRlLmNvbnRhaW5zRXNjXG4gICAgICApIHtcbiAgICAgICAgY29uc3QgeyB0eXBlOiBuZXh0VHlwZSB9ID0gdGhpcy5sb29rYWhlYWQoKTtcbiAgICAgICAgLy8gSWYgd2Ugc2VlIGFueSB2YXJpYWJsZSBuYW1lIG90aGVyIHRoYW4gYGZyb21gIGFmdGVyIGB0eXBlYCBrZXl3b3JkLFxuICAgICAgICAvLyB3ZSBjb25zaWRlciBpdCBhcyBmbG93L3R5cGVzY3JpcHQgdHlwZSBleHBvcnRzXG4gICAgICAgIC8vIG5vdGUgdGhhdCB0aGlzIGFwcHJvYWNoIG1heSBmYWlsIG9uIHNvbWUgcGVkYW50aWMgY2FzZXNcbiAgICAgICAgLy8gZXhwb3J0IHR5cGUgZnJvbSA9IG51bWJlclxuICAgICAgICBpZiAoXG4gICAgICAgICAgKHRva2VuSXNJZGVudGlmaWVyKG5leHRUeXBlKSAmJiBuZXh0VHlwZSAhPT0gdHQuX2Zyb20pIHx8XG4gICAgICAgICAgbmV4dFR5cGUgPT09IHR0LmJyYWNlTFxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmV4cGVjdE9uZVBsdWdpbihbXCJmbG93XCIsIFwidHlwZXNjcmlwdFwiXSk7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICghdGhpcy5tYXRjaCh0dC5fZGVmYXVsdCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBjb25zdCBuZXh0ID0gdGhpcy5uZXh0VG9rZW5TdGFydCgpO1xuICAgIGNvbnN0IGhhc0Zyb20gPSB0aGlzLmlzVW5wYXJzZWRDb250ZXh0dWFsKG5leHQsIFwiZnJvbVwiKTtcbiAgICBpZiAoXG4gICAgICB0aGlzLmlucHV0LmNoYXJDb2RlQXQobmV4dCkgPT09IGNoYXJDb2Rlcy5jb21tYSB8fFxuICAgICAgKHRva2VuSXNJZGVudGlmaWVyKHRoaXMuc3RhdGUudHlwZSkgJiYgaGFzRnJvbSlcbiAgICApIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICAvLyBsb29rYWhlYWQgYWdhaW4gd2hlbiBgZXhwb3J0IGRlZmF1bHQgZnJvbWAgaXMgc2VlblxuICAgIGlmICh0aGlzLm1hdGNoKHR0Ll9kZWZhdWx0KSAmJiBoYXNGcm9tKSB7XG4gICAgICBjb25zdCBuZXh0QWZ0ZXJGcm9tID0gdGhpcy5pbnB1dC5jaGFyQ29kZUF0KFxuICAgICAgICB0aGlzLm5leHRUb2tlblN0YXJ0U2luY2UobmV4dCArIDQpLFxuICAgICAgKTtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIG5leHRBZnRlckZyb20gPT09IGNoYXJDb2Rlcy5xdW90YXRpb25NYXJrIHx8XG4gICAgICAgIG5leHRBZnRlckZyb20gPT09IGNoYXJDb2Rlcy5hcG9zdHJvcGhlXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwYXJzZUV4cG9ydEZyb20oXG4gICAgdGhpczogUGFyc2VyLFxuICAgIG5vZGU6IFVuZG9uZTxOLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24gfCBOLkV4cG9ydEFsbERlY2xhcmF0aW9uPixcbiAgICBleHBlY3Q/OiBib29sZWFuLFxuICApOiB2b2lkIHtcbiAgICBpZiAodGhpcy5lYXRDb250ZXh0dWFsKHR0Ll9mcm9tKSkge1xuICAgICAgbm9kZS5zb3VyY2UgPSB0aGlzLnBhcnNlSW1wb3J0U291cmNlKCk7XG4gICAgICB0aGlzLmNoZWNrRXhwb3J0KG5vZGUpO1xuICAgICAgdGhpcy5tYXliZVBhcnNlSW1wb3J0QXR0cmlidXRlcyhub2RlKTtcbiAgICAgIHRoaXMuY2hlY2tKU09OTW9kdWxlSW1wb3J0KG5vZGUpO1xuICAgIH0gZWxzZSBpZiAoZXhwZWN0KSB7XG4gICAgICB0aGlzLnVuZXhwZWN0ZWQoKTtcbiAgICB9XG5cbiAgICB0aGlzLnNlbWljb2xvbigpO1xuICB9XG5cbiAgc2hvdWxkUGFyc2VFeHBvcnREZWNsYXJhdGlvbigpOiBib29sZWFuIHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IHRoaXMuc3RhdGU7XG4gICAgaWYgKHR5cGUgPT09IHR0LmF0KSB7XG4gICAgICB0aGlzLmV4cGVjdE9uZVBsdWdpbihbXCJkZWNvcmF0b3JzXCIsIFwiZGVjb3JhdG9ycy1sZWdhY3lcIl0pO1xuICAgICAgaWYgKHRoaXMuaGFzUGx1Z2luKFwiZGVjb3JhdG9yc1wiKSkge1xuICAgICAgICBpZiAoXG4gICAgICAgICAgdGhpcy5nZXRQbHVnaW5PcHRpb24oXCJkZWNvcmF0b3JzXCIsIFwiZGVjb3JhdG9yc0JlZm9yZUV4cG9ydFwiKSA9PT0gdHJ1ZVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5EZWNvcmF0b3JCZWZvcmVFeHBvcnQsIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll91c2luZykpIHtcbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLlVzaW5nRGVjbGFyYXRpb25FeHBvcnQsIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9hd2FpdCkgJiYgdGhpcy5zdGFydHNBd2FpdFVzaW5nKCkpIHtcbiAgICAgIHRoaXMucmFpc2UoRXJyb3JzLlVzaW5nRGVjbGFyYXRpb25FeHBvcnQsIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIHR5cGUgPT09IHR0Ll92YXIgfHxcbiAgICAgIHR5cGUgPT09IHR0Ll9jb25zdCB8fFxuICAgICAgdHlwZSA9PT0gdHQuX2Z1bmN0aW9uIHx8XG4gICAgICB0eXBlID09PSB0dC5fY2xhc3MgfHxcbiAgICAgIHRoaXMuaXNMZXQoKSB8fFxuICAgICAgdGhpcy5pc0FzeW5jRnVuY3Rpb24oKVxuICAgICk7XG4gIH1cblxuICBjaGVja0V4cG9ydChcbiAgICBub2RlOiBVbmRvbmU8XG4gICAgICB8IE4uRXhwb3J0TmFtZWREZWNsYXJhdGlvblxuICAgICAgfCBOLkV4cG9ydEFsbERlY2xhcmF0aW9uXG4gICAgICB8IE4uRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXG4gICAgPixcbiAgICBjaGVja05hbWVzPzogYm9vbGVhbixcbiAgICBpc0RlZmF1bHQ/OiBib29sZWFuLFxuICAgIGlzRnJvbT86IGJvb2xlYW4sXG4gICk6IHZvaWQge1xuICAgIGlmIChjaGVja05hbWVzKSB7XG4gICAgICAvLyBDaGVjayBmb3IgZHVwbGljYXRlIGV4cG9ydHNcbiAgICAgIGlmIChpc0RlZmF1bHQpIHtcbiAgICAgICAgLy8gRGVmYXVsdCBleHBvcnRzXG4gICAgICAgIHRoaXMuY2hlY2tEdXBsaWNhdGVFeHBvcnRzKG5vZGUsIFwiZGVmYXVsdFwiKTtcbiAgICAgICAgaWYgKHRoaXMuaGFzUGx1Z2luKFwiZXhwb3J0RGVmYXVsdEZyb21cIikpIHtcbiAgICAgICAgICBjb25zdCBkZWNsYXJhdGlvbiA9IChub2RlIGFzIGFueSBhcyBOLkV4cG9ydERlZmF1bHREZWNsYXJhdGlvbilcbiAgICAgICAgICAgIC5kZWNsYXJhdGlvbjtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBkZWNsYXJhdGlvbi50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJlxuICAgICAgICAgICAgZGVjbGFyYXRpb24ubmFtZSA9PT0gXCJmcm9tXCIgJiZcbiAgICAgICAgICAgIGRlY2xhcmF0aW9uLmVuZCAtIGRlY2xhcmF0aW9uLnN0YXJ0ID09PSA0ICYmIC8vIGRvZXMgbm90IGNvbnRhaW4gZXNjYXBlXG4gICAgICAgICAgICAhZGVjbGFyYXRpb24uZXh0cmE/LnBhcmVudGhlc2l6ZWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkV4cG9ydERlZmF1bHRGcm9tQXNJZGVudGlmaWVyLCBkZWNsYXJhdGlvbik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3Igbm9kZS5zcGVjaWZpZXJzIG1heSBub3QgZXhpc3RcbiAgICAgIH0gZWxzZSBpZiAobm9kZS5zcGVjaWZpZXJzPy5sZW5ndGgpIHtcbiAgICAgICAgLy8gTmFtZWQgZXhwb3J0c1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIG5vZGUuc3BlY2lmaWVycyBtYXkgbm90IGV4aXN0XG4gICAgICAgIGZvciAoY29uc3Qgc3BlY2lmaWVyIG9mIG5vZGUuc3BlY2lmaWVycykge1xuICAgICAgICAgIGNvbnN0IHsgZXhwb3J0ZWQgfSA9IHNwZWNpZmllcjtcbiAgICAgICAgICBjb25zdCBleHBvcnROYW1lID1cbiAgICAgICAgICAgIGV4cG9ydGVkLnR5cGUgPT09IFwiSWRlbnRpZmllclwiID8gZXhwb3J0ZWQubmFtZSA6IGV4cG9ydGVkLnZhbHVlO1xuICAgICAgICAgIHRoaXMuY2hlY2tEdXBsaWNhdGVFeHBvcnRzKHNwZWNpZmllciwgZXhwb3J0TmFtZSk7XG4gICAgICAgICAgaWYgKCFpc0Zyb20gJiYgc3BlY2lmaWVyLmxvY2FsKSB7XG4gICAgICAgICAgICBjb25zdCB7IGxvY2FsIH0gPSBzcGVjaWZpZXI7XG4gICAgICAgICAgICBpZiAobG9jYWwudHlwZSAhPT0gXCJJZGVudGlmaWVyXCIpIHtcbiAgICAgICAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuRXhwb3J0QmluZGluZ0lzU3RyaW5nLCBzcGVjaWZpZXIsIHtcbiAgICAgICAgICAgICAgICBsb2NhbE5hbWU6IGxvY2FsLnZhbHVlLFxuICAgICAgICAgICAgICAgIGV4cG9ydE5hbWUsXG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgLy8gY2hlY2sgZm9yIGtleXdvcmRzIHVzZWQgYXMgbG9jYWwgbmFtZXNcbiAgICAgICAgICAgICAgdGhpcy5jaGVja1Jlc2VydmVkV29yZChsb2NhbC5uYW1lLCBsb2NhbC5sb2Muc3RhcnQsIHRydWUsIGZhbHNlKTtcbiAgICAgICAgICAgICAgLy8gY2hlY2sgaWYgZXhwb3J0IGlzIGRlZmluZWRcbiAgICAgICAgICAgICAgdGhpcy5zY29wZS5jaGVja0xvY2FsRXhwb3J0KGxvY2FsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoKG5vZGUgYXMgVW5kb25lPE4uRXhwb3J0TmFtZWREZWNsYXJhdGlvbj4pLmRlY2xhcmF0aW9uKSB7XG4gICAgICAgIGNvbnN0IGRlY2wgPSAobm9kZSBhcyBVbmRvbmU8Ti5FeHBvcnROYW1lZERlY2xhcmF0aW9uPikuZGVjbGFyYXRpb247XG4gICAgICAgIC8vIEV4cG9ydGVkIGRlY2xhcmF0aW9uc1xuICAgICAgICBpZiAoXG4gICAgICAgICAgZGVjbC50eXBlID09PSBcIkZ1bmN0aW9uRGVjbGFyYXRpb25cIiB8fFxuICAgICAgICAgIGRlY2wudHlwZSA9PT0gXCJDbGFzc0RlY2xhcmF0aW9uXCJcbiAgICAgICAgKSB7XG4gICAgICAgICAgY29uc3QgeyBpZCB9ID0gZGVjbDtcbiAgICAgICAgICBpZiAoIWlkKSB0aHJvdyBuZXcgRXJyb3IoXCJBc3NlcnRpb24gZmFpbHVyZVwiKTtcblxuICAgICAgICAgIHRoaXMuY2hlY2tEdXBsaWNhdGVFeHBvcnRzKG5vZGUsIGlkLm5hbWUpO1xuICAgICAgICB9IGVsc2UgaWYgKGRlY2wudHlwZSA9PT0gXCJWYXJpYWJsZURlY2xhcmF0aW9uXCIpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGRlY2xhcmF0aW9uIG9mIGRlY2wuZGVjbGFyYXRpb25zKSB7XG4gICAgICAgICAgICB0aGlzLmNoZWNrRGVjbGFyYXRpb24oZGVjbGFyYXRpb24uaWQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNoZWNrRGVjbGFyYXRpb24obm9kZTogTi5QYXR0ZXJuIHwgTi5PYmplY3RQcm9wZXJ0eSk6IHZvaWQge1xuICAgIGlmIChub2RlLnR5cGUgPT09IFwiSWRlbnRpZmllclwiKSB7XG4gICAgICB0aGlzLmNoZWNrRHVwbGljYXRlRXhwb3J0cyhub2RlLCBub2RlLm5hbWUpO1xuICAgIH0gZWxzZSBpZiAobm9kZS50eXBlID09PSBcIk9iamVjdFBhdHRlcm5cIikge1xuICAgICAgZm9yIChjb25zdCBwcm9wIG9mIG5vZGUucHJvcGVydGllcykge1xuICAgICAgICB0aGlzLmNoZWNrRGVjbGFyYXRpb24ocHJvcCk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChub2RlLnR5cGUgPT09IFwiQXJyYXlQYXR0ZXJuXCIpIHtcbiAgICAgIGZvciAoY29uc3QgZWxlbSBvZiBub2RlLmVsZW1lbnRzKSB7XG4gICAgICAgIGlmIChlbGVtKSB7XG4gICAgICAgICAgdGhpcy5jaGVja0RlY2xhcmF0aW9uKGVsZW0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChub2RlLnR5cGUgPT09IFwiT2JqZWN0UHJvcGVydHlcIikge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBtaWdyYXRlIHRvIEJhYmVsIHR5cGVzXG4gICAgICB0aGlzLmNoZWNrRGVjbGFyYXRpb24obm9kZS52YWx1ZSk7XG4gICAgfSBlbHNlIGlmIChub2RlLnR5cGUgPT09IFwiUmVzdEVsZW1lbnRcIikge1xuICAgICAgdGhpcy5jaGVja0RlY2xhcmF0aW9uKG5vZGUuYXJndW1lbnQpO1xuICAgIH0gZWxzZSBpZiAobm9kZS50eXBlID09PSBcIkFzc2lnbm1lbnRQYXR0ZXJuXCIpIHtcbiAgICAgIHRoaXMuY2hlY2tEZWNsYXJhdGlvbihub2RlLmxlZnQpO1xuICAgIH1cbiAgfVxuXG4gIGNoZWNrRHVwbGljYXRlRXhwb3J0cyhcbiAgICBub2RlOiBVbmRvbmU8XG4gICAgICB8IE4uSWRlbnRpZmllclxuICAgICAgfCBOLlN0cmluZ0xpdGVyYWxcbiAgICAgIHwgTi5FeHBvcnROYW1lZERlY2xhcmF0aW9uXG4gICAgICB8IE4uRXhwb3J0U3BlY2lmaWVyXG4gICAgICB8IE4uRXhwb3J0RGVmYXVsdFNwZWNpZmllclxuICAgID4sXG4gICAgZXhwb3J0TmFtZTogc3RyaW5nLFxuICApOiB2b2lkIHtcbiAgICBpZiAodGhpcy5leHBvcnRlZElkZW50aWZpZXJzLmhhcyhleHBvcnROYW1lKSkge1xuICAgICAgaWYgKGV4cG9ydE5hbWUgPT09IFwiZGVmYXVsdFwiKSB7XG4gICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkR1cGxpY2F0ZURlZmF1bHRFeHBvcnQsIG5vZGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuRHVwbGljYXRlRXhwb3J0LCBub2RlLCB7IGV4cG9ydE5hbWUgfSk7XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuZXhwb3J0ZWRJZGVudGlmaWVycy5hZGQoZXhwb3J0TmFtZSk7XG4gIH1cblxuICAvLyBQYXJzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb2R1bGUgZXhwb3J0cy5cblxuICBwYXJzZUV4cG9ydFNwZWNpZmllcnMoaXNJblR5cGVFeHBvcnQ6IGJvb2xlYW4pOiBBcnJheTxOLkV4cG9ydFNwZWNpZmllcj4ge1xuICAgIGNvbnN0IG5vZGVzID0gW107XG4gICAgbGV0IGZpcnN0ID0gdHJ1ZTtcblxuICAgIC8vIGV4cG9ydCB7IHgsIHkgYXMgeiB9IFtmcm9tICcuLi4nXVxuICAgIHRoaXMuZXhwZWN0KHR0LmJyYWNlTCk7XG5cbiAgICB3aGlsZSAoIXRoaXMuZWF0KHR0LmJyYWNlUikpIHtcbiAgICAgIGlmIChmaXJzdCkge1xuICAgICAgICBmaXJzdCA9IGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5leHBlY3QodHQuY29tbWEpO1xuICAgICAgICBpZiAodGhpcy5lYXQodHQuYnJhY2VSKSkgYnJlYWs7XG4gICAgICB9XG4gICAgICBjb25zdCBpc01heWJlVHlwZU9ubHkgPSB0aGlzLmlzQ29udGV4dHVhbCh0dC5fdHlwZSk7XG4gICAgICBjb25zdCBpc1N0cmluZyA9IHRoaXMubWF0Y2godHQuc3RyaW5nKTtcbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLkV4cG9ydFNwZWNpZmllcj4oKTtcbiAgICAgIG5vZGUubG9jYWwgPSB0aGlzLnBhcnNlTW9kdWxlRXhwb3J0TmFtZSgpIGFzIE4uSWRlbnRpZmllcjtcbiAgICAgIG5vZGVzLnB1c2goXG4gICAgICAgIHRoaXMucGFyc2VFeHBvcnRTcGVjaWZpZXIoXG4gICAgICAgICAgbm9kZSxcbiAgICAgICAgICBpc1N0cmluZyxcbiAgICAgICAgICBpc0luVHlwZUV4cG9ydCxcbiAgICAgICAgICBpc01heWJlVHlwZU9ubHksXG4gICAgICAgICksXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiBub2RlcztcbiAgfVxuXG4gIHBhcnNlRXhwb3J0U3BlY2lmaWVyKFxuICAgIG5vZGU6IGFueSxcbiAgICBpc1N0cmluZzogYm9vbGVhbixcbiAgICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gdXNlZCBpbiBUeXBlU2NyaXB0IHBhcnNlciAqL1xuICAgIGlzSW5UeXBlRXhwb3J0OiBib29sZWFuLFxuICAgIGlzTWF5YmVUeXBlT25seTogYm9vbGVhbixcbiAgICAvKiBlc2xpbnQtZW5hYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAqL1xuICApOiBOLkV4cG9ydFNwZWNpZmllciB7XG4gICAgaWYgKHRoaXMuZWF0Q29udGV4dHVhbCh0dC5fYXMpKSB7XG4gICAgICBub2RlLmV4cG9ydGVkID0gdGhpcy5wYXJzZU1vZHVsZUV4cG9ydE5hbWUoKTtcbiAgICB9IGVsc2UgaWYgKGlzU3RyaW5nKSB7XG4gICAgICBub2RlLmV4cG9ydGVkID0gY2xvbmVTdHJpbmdMaXRlcmFsKG5vZGUubG9jYWwpO1xuICAgIH0gZWxzZSBpZiAoIW5vZGUuZXhwb3J0ZWQpIHtcbiAgICAgIG5vZGUuZXhwb3J0ZWQgPSBjbG9uZUlkZW50aWZpZXIobm9kZS5sb2NhbCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmZpbmlzaE5vZGU8Ti5FeHBvcnRTcGVjaWZpZXI+KG5vZGUsIFwiRXhwb3J0U3BlY2lmaWVyXCIpO1xuICB9XG5cbiAgLy8gaHR0cHM6Ly90YzM5LmVzL2VjbWEyNjIvI3Byb2QtTW9kdWxlRXhwb3J0TmFtZVxuICBwYXJzZU1vZHVsZUV4cG9ydE5hbWUoKTogTi5TdHJpbmdMaXRlcmFsIHwgTi5JZGVudGlmaWVyIHtcbiAgICBpZiAodGhpcy5tYXRjaCh0dC5zdHJpbmcpKSB7XG4gICAgICBjb25zdCByZXN1bHQgPSB0aGlzLnBhcnNlU3RyaW5nTGl0ZXJhbCh0aGlzLnN0YXRlLnZhbHVlKTtcbiAgICAgIGNvbnN0IHN1cnJvZ2F0ZSA9IGxvbmVTdXJyb2dhdGUuZXhlYyhyZXN1bHQudmFsdWUpO1xuICAgICAgaWYgKHN1cnJvZ2F0ZSkge1xuICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5Nb2R1bGVFeHBvcnROYW1lSGFzTG9uZVN1cnJvZ2F0ZSwgcmVzdWx0LCB7XG4gICAgICAgICAgc3Vycm9nYXRlQ2hhckNvZGU6IHN1cnJvZ2F0ZVswXS5jaGFyQ29kZUF0KDApLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnBhcnNlSWRlbnRpZmllcih0cnVlKTtcbiAgfVxuXG4gIGlzSlNPTk1vZHVsZUltcG9ydChcbiAgICBub2RlOiBVbmRvbmU8XG4gICAgICBOLkV4cG9ydEFsbERlY2xhcmF0aW9uIHwgTi5FeHBvcnROYW1lZERlY2xhcmF0aW9uIHwgTi5JbXBvcnREZWNsYXJhdGlvblxuICAgID4sXG4gICk6IGJvb2xlYW4ge1xuICAgIGlmIChub2RlLmFzc2VydGlvbnMgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG5vZGUuYXNzZXJ0aW9ucy5zb21lKCh7IGtleSwgdmFsdWUgfSkgPT4ge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIHZhbHVlLnZhbHVlID09PSBcImpzb25cIiAmJlxuICAgICAgICAgIChrZXkudHlwZSA9PT0gXCJJZGVudGlmaWVyXCJcbiAgICAgICAgICAgID8ga2V5Lm5hbWUgPT09IFwidHlwZVwiXG4gICAgICAgICAgICA6IGtleS52YWx1ZSA9PT0gXCJ0eXBlXCIpXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgY2hlY2tJbXBvcnRSZWZsZWN0aW9uKG5vZGU6IFVuZG9uZTxOLkltcG9ydERlY2xhcmF0aW9uPikge1xuICAgIGNvbnN0IHsgc3BlY2lmaWVycyB9ID0gbm9kZTtcbiAgICBjb25zdCBzaW5nbGVCaW5kaW5nVHlwZSA9XG4gICAgICBzcGVjaWZpZXJzLmxlbmd0aCA9PT0gMSA/IHNwZWNpZmllcnNbMF0udHlwZSA6IG51bGw7XG5cbiAgICBpZiAobm9kZS5waGFzZSA9PT0gXCJzb3VyY2VcIikge1xuICAgICAgaWYgKHNpbmdsZUJpbmRpbmdUeXBlICE9PSBcIkltcG9ydERlZmF1bHRTcGVjaWZpZXJcIikge1xuICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgIEVycm9ycy5Tb3VyY2VQaGFzZUltcG9ydFJlcXVpcmVzRGVmYXVsdCxcbiAgICAgICAgICBzcGVjaWZpZXJzWzBdLmxvYy5zdGFydCxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKG5vZGUucGhhc2UgPT09IFwiZGVmZXJcIikge1xuICAgICAgaWYgKHNpbmdsZUJpbmRpbmdUeXBlICE9PSBcIkltcG9ydE5hbWVzcGFjZVNwZWNpZmllclwiKSB7XG4gICAgICAgIHRoaXMucmFpc2UoXG4gICAgICAgICAgRXJyb3JzLkRlZmVySW1wb3J0UmVxdWlyZXNOYW1lc3BhY2UsXG4gICAgICAgICAgc3BlY2lmaWVyc1swXS5sb2Muc3RhcnQsXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChub2RlLm1vZHVsZSkge1xuICAgICAgaWYgKHNpbmdsZUJpbmRpbmdUeXBlICE9PSBcIkltcG9ydERlZmF1bHRTcGVjaWZpZXJcIikge1xuICAgICAgICB0aGlzLnJhaXNlKEVycm9ycy5JbXBvcnRSZWZsZWN0aW9uTm90QmluZGluZywgc3BlY2lmaWVyc1swXS5sb2Muc3RhcnQpO1xuICAgICAgfVxuICAgICAgaWYgKG5vZGUuYXNzZXJ0aW9ucz8ubGVuZ3RoID4gMCkge1xuICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgIEVycm9ycy5JbXBvcnRSZWZsZWN0aW9uSGFzQXNzZXJ0aW9uLFxuICAgICAgICAgIHNwZWNpZmllcnNbMF0ubG9jLnN0YXJ0LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGNoZWNrSlNPTk1vZHVsZUltcG9ydChcbiAgICBub2RlOiBVbmRvbmU8XG4gICAgICBOLkV4cG9ydEFsbERlY2xhcmF0aW9uIHwgTi5FeHBvcnROYW1lZERlY2xhcmF0aW9uIHwgTi5JbXBvcnREZWNsYXJhdGlvblxuICAgID4sXG4gICkge1xuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgRml4bWU6IG5vZGUudHlwZSBtdXN0IGJlIHVuZGVmaW5lZCBiZWNhdXNlIHRoZXkgYXJlIHVuZG9uZVxuICAgIGlmICh0aGlzLmlzSlNPTk1vZHVsZUltcG9ydChub2RlKSAmJiBub2RlLnR5cGUgIT09IFwiRXhwb3J0QWxsRGVjbGFyYXRpb25cIikge1xuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBzcGVjaWZpZXJzIG1heSBub3QgaW5kZXggbm9kZVxuICAgICAgY29uc3QgeyBzcGVjaWZpZXJzIH0gPSBub2RlO1xuICAgICAgaWYgKHNwZWNpZmllcnMgIT0gbnVsbCkge1xuICAgICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHJlZmluZSBzcGVjaWZpZXIgdHlwZXNcbiAgICAgICAgY29uc3Qgbm9uRGVmYXVsdE5hbWVkU3BlY2lmaWVyID0gc3BlY2lmaWVycy5maW5kKHNwZWNpZmllciA9PiB7XG4gICAgICAgICAgbGV0IGltcG9ydGVkO1xuICAgICAgICAgIGlmIChzcGVjaWZpZXIudHlwZSA9PT0gXCJFeHBvcnRTcGVjaWZpZXJcIikge1xuICAgICAgICAgICAgaW1wb3J0ZWQgPSBzcGVjaWZpZXIubG9jYWw7XG4gICAgICAgICAgfSBlbHNlIGlmIChzcGVjaWZpZXIudHlwZSA9PT0gXCJJbXBvcnRTcGVjaWZpZXJcIikge1xuICAgICAgICAgICAgaW1wb3J0ZWQgPSBzcGVjaWZpZXIuaW1wb3J0ZWQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpbXBvcnRlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gaW1wb3J0ZWQudHlwZSA9PT0gXCJJZGVudGlmaWVyXCJcbiAgICAgICAgICAgICAgPyBpbXBvcnRlZC5uYW1lICE9PSBcImRlZmF1bHRcIlxuICAgICAgICAgICAgICA6IGltcG9ydGVkLnZhbHVlICE9PSBcImRlZmF1bHRcIjtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAobm9uRGVmYXVsdE5hbWVkU3BlY2lmaWVyICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgICAgRXJyb3JzLkltcG9ydEpTT05CaW5kaW5nTm90RGVmYXVsdCxcbiAgICAgICAgICAgIG5vbkRlZmF1bHROYW1lZFNwZWNpZmllci5sb2Muc3RhcnQsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGlzUG90ZW50aWFsSW1wb3J0UGhhc2UoaXNFeHBvcnQ6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBpZiAoaXNFeHBvcnQpIHJldHVybiBmYWxzZTtcbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy5pc0NvbnRleHR1YWwodHQuX3NvdXJjZSkgfHxcbiAgICAgIHRoaXMuaXNDb250ZXh0dWFsKHR0Ll9kZWZlcikgfHxcbiAgICAgICghcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORyAmJiB0aGlzLmlzQ29udGV4dHVhbCh0dC5fbW9kdWxlKSlcbiAgICApO1xuICB9XG5cbiAgYXBwbHlJbXBvcnRQaGFzZShcbiAgICBub2RlOiBVbmRvbmU8Ti5JbXBvcnREZWNsYXJhdGlvbiB8IE4uRXhwb3J0TmFtZWREZWNsYXJhdGlvbj4sXG4gICAgaXNFeHBvcnQ6IGJvb2xlYW4sXG4gICAgcGhhc2U6IHN0cmluZyB8IG51bGwsXG4gICAgbG9jPzogUG9zaXRpb24sXG4gICk6IHZvaWQge1xuICAgIGlmIChpc0V4cG9ydCkge1xuICAgICAgaWYgKCFwcm9jZXNzLmVudi5JU19QVUJMSVNIKSB7XG4gICAgICAgIGlmIChcbiAgICAgICAgICAoIXByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcgJiYgcGhhc2UgPT09IFwibW9kdWxlXCIpIHx8XG4gICAgICAgICAgcGhhc2UgPT09IFwic291cmNlXCJcbiAgICAgICAgKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgYEFzc2VydGlvbiBmYWlsdXJlOiBleHBvcnQgZGVjbGFyYXRpb25zIGRvIG5vdCBzdXBwb3J0IHRoZSAnJHtwaGFzZX0nIHBoYXNlLmAsXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghcHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORyAmJiBwaGFzZSA9PT0gXCJtb2R1bGVcIikge1xuICAgICAgdGhpcy5leHBlY3RQbHVnaW4oXCJpbXBvcnRSZWZsZWN0aW9uXCIsIGxvYyk7XG4gICAgICAobm9kZSBhcyBOLkltcG9ydERlY2xhcmF0aW9uKS5tb2R1bGUgPSB0cnVlO1xuICAgIH0gZWxzZSBpZiAodGhpcy5oYXNQbHVnaW4oXCJpbXBvcnRSZWZsZWN0aW9uXCIpKSB7XG4gICAgICAobm9kZSBhcyBOLkltcG9ydERlY2xhcmF0aW9uKS5tb2R1bGUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAocGhhc2UgPT09IFwic291cmNlXCIpIHtcbiAgICAgIHRoaXMuZXhwZWN0UGx1Z2luKFwic291cmNlUGhhc2VJbXBvcnRzXCIsIGxvYyk7XG4gICAgICAobm9kZSBhcyBOLkltcG9ydERlY2xhcmF0aW9uKS5waGFzZSA9IFwic291cmNlXCI7XG4gICAgfSBlbHNlIGlmIChwaGFzZSA9PT0gXCJkZWZlclwiKSB7XG4gICAgICB0aGlzLmV4cGVjdFBsdWdpbihcImRlZmVycmVkSW1wb3J0RXZhbHVhdGlvblwiLCBsb2MpO1xuICAgICAgKG5vZGUgYXMgTi5JbXBvcnREZWNsYXJhdGlvbikucGhhc2UgPSBcImRlZmVyXCI7XG4gICAgfSBlbHNlIGlmICh0aGlzLmhhc1BsdWdpbihcInNvdXJjZVBoYXNlSW1wb3J0c1wiKSkge1xuICAgICAgKG5vZGUgYXMgTi5JbXBvcnREZWNsYXJhdGlvbikucGhhc2UgPSBudWxsO1xuICAgIH1cbiAgfVxuXG4gIC8qXG4gICAqIFBhcnNlIGBzb3VyY2VgIGluIGBpbXBvcnQgc291cmNlIHggZnJvbSBcInhcImAsIGRpc2FtYmlndWF0aW5nXG4gICAqIGBpbXBvcnQgc291cmNlIGZyb20gXCJ4XCJgIGFuZCBgaW1wb3J0IHNvdXJjZSBmcm9tIGZyb20gXCJ4XCJgLlxuICAgKlxuICAgKiBUaGlzIGZ1bmN0aW9uIG1pZ2h0IHJldHVybiBhbiBpZGVudGlmaWVyIHJlcHJlc2VudGluZyB0aGUgYHNvdXJjZWBcbiAgICogaWYgaXQgZWF0cyBgc291cmNlYCBhbmQgdGhlbiBkaXNjb3ZlcnMgdGhhdCBpdCB3YXMgdGhlIGRlZmF1bHQgaW1wb3J0XG4gICAqIGJpbmRpbmcgYW5kIG5vdCB0aGUgaW1wb3J0IHJlZmxlY3Rpb24uXG4gICAqXG4gICAqIFRoaXMgZnVuY3Rpb24gaXMgYWxzbyB1c2VkIHRvIHBhcnNlIGBpbXBvcnQgdHlwZWAgYW5kIGBpbXBvcnQgdHlwZW9mYFxuICAgKiBpbiB0aGUgVFMgYW5kIEZsb3cgcGx1Z2lucywgYW5kIGZvciBwYXJzaW5nIGBpbXBvcnQgZGVmZXJgLlxuICAgKi9cbiAgcGFyc2VNYXliZUltcG9ydFBoYXNlKFxuICAgIG5vZGU6IFVuZG9uZTxOLkltcG9ydERlY2xhcmF0aW9uIHwgTi5Uc0ltcG9ydEVxdWFsc0RlY2xhcmF0aW9uPixcbiAgICBpc0V4cG9ydDogYm9vbGVhbixcbiAgKTogTi5JZGVudGlmaWVyIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmlzUG90ZW50aWFsSW1wb3J0UGhhc2UoaXNFeHBvcnQpKSB7XG4gICAgICB0aGlzLmFwcGx5SW1wb3J0UGhhc2UoXG4gICAgICAgIG5vZGUgYXMgVW5kb25lPE4uSW1wb3J0RGVjbGFyYXRpb24+LFxuICAgICAgICBpc0V4cG9ydCxcbiAgICAgICAgbnVsbCxcbiAgICAgICk7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG5cbiAgICBjb25zdCBwaGFzZUlkZW50aWZpZXIgPSB0aGlzLnBhcnNlSWRlbnRpZmllcih0cnVlKTtcblxuICAgIGNvbnN0IHsgdHlwZSB9ID0gdGhpcy5zdGF0ZTtcbiAgICBjb25zdCBpc0ltcG9ydFBoYXNlID0gdG9rZW5Jc0tleXdvcmRPcklkZW50aWZpZXIodHlwZSlcbiAgICAgID8gLy8gT0s6IGltcG9ydCA8cGhhc2U+IHggZnJvbSBcImZvb1wiO1xuICAgICAgICAvLyBPSzogaW1wb3J0IDxwaGFzZT4gZnJvbSBmcm9tIFwiZm9vXCI7XG4gICAgICAgIC8vIE5POiBpbXBvcnQgPHBoYXNlPiBmcm9tIFwiZm9vXCI7XG4gICAgICAgIC8vIE5POiBpbXBvcnQgPHBoYXNlPiBmcm9tICdmb28nO1xuICAgICAgICAvLyBXaXRoIHRoZSBtb2R1bGUgZGVjbGFyYXRpb25zIHByb3Bvc2Fscywgd2Ugd2lsbCBuZWVkIGZ1cnRoZXIgZGlzYW1iaWd1YXRpb25cbiAgICAgICAgLy8gZm9yIGBpbXBvcnQgbW9kdWxlIGZyb20gZnJvbTtgLlxuICAgICAgICB0eXBlICE9PSB0dC5fZnJvbSB8fCB0aGlzLmxvb2thaGVhZENoYXJDb2RlKCkgPT09IGNoYXJDb2Rlcy5sb3dlcmNhc2VGXG4gICAgICA6IC8vIE9LOiBpbXBvcnQgPHBoYXNlPiB7IHggfSBmcm9tIFwiZm9vXCI7XG4gICAgICAgIC8vIE9LOiBpbXBvcnQgPHBoYXNlPiB4IGZyb20gXCJmb29cIjtcbiAgICAgICAgLy8gT0s6IGltcG9ydCA8cGhhc2U+ICogYXMgVCBmcm9tIFwiZm9vXCI7XG4gICAgICAgIC8vIE5POiBpbXBvcnQgPHBoYXNlPiBmcm9tIFwiZm9vXCI7XG4gICAgICAgIC8vIE9LOiBpbXBvcnQgPHBoYXNlPiBcImZvb1wiO1xuICAgICAgICAvLyBUaGUgbGFzdCBvbmUgaXMgaW52YWxpZCwgd2Ugd2lsbCBjb250aW51ZSBwYXJzaW5nIGFuZCB0aHJvd1xuICAgICAgICAvLyBhbiBlcnJvciBsYXRlclxuICAgICAgICB0eXBlICE9PSB0dC5jb21tYTtcblxuICAgIGlmIChpc0ltcG9ydFBoYXNlKSB7XG4gICAgICB0aGlzLnJlc2V0UHJldmlvdXNJZGVudGlmaWVyTGVhZGluZ0NvbW1lbnRzKHBoYXNlSWRlbnRpZmllcik7XG4gICAgICB0aGlzLmFwcGx5SW1wb3J0UGhhc2UoXG4gICAgICAgIG5vZGUgYXMgVW5kb25lPE4uSW1wb3J0RGVjbGFyYXRpb24+LFxuICAgICAgICBpc0V4cG9ydCxcbiAgICAgICAgcGhhc2VJZGVudGlmaWVyLm5hbWUsXG4gICAgICAgIHBoYXNlSWRlbnRpZmllci5sb2Muc3RhcnQsXG4gICAgICApO1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYXBwbHlJbXBvcnRQaGFzZShcbiAgICAgICAgbm9kZSBhcyBVbmRvbmU8Ti5JbXBvcnREZWNsYXJhdGlvbj4sXG4gICAgICAgIGlzRXhwb3J0LFxuICAgICAgICBudWxsLFxuICAgICAgKTtcbiAgICAgIC8vIGA8cGhhc2U+YCBpcyBhIGRlZmF1bHQgYmluZGluZywgcmV0dXJuIGl0IHRvIHRoZSBtYWluIGltcG9ydCBkZWNsYXJhdGlvbiBwYXJzZXJcbiAgICAgIHJldHVybiBwaGFzZUlkZW50aWZpZXI7XG4gICAgfVxuICB9XG5cbiAgaXNQcmVjZWRpbmdJZEltcG9ydFBoYXNlKFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbiAgICBwaGFzZTogc3RyaW5nLFxuICApIHtcbiAgICBjb25zdCB7IHR5cGUgfSA9IHRoaXMuc3RhdGU7XG4gICAgcmV0dXJuIHRva2VuSXNJZGVudGlmaWVyKHR5cGUpXG4gICAgICA/IC8vIE9LOiBpbXBvcnQgPHBoYXNlPiB4IGZyb20gXCJmb29cIjtcbiAgICAgICAgLy8gT0s6IGltcG9ydCA8cGhhc2U+IGZyb20gZnJvbSBcImZvb1wiO1xuICAgICAgICAvLyBOTzogaW1wb3J0IDxwaGFzZT4gZnJvbSBcImZvb1wiO1xuICAgICAgICAvLyBOTzogaW1wb3J0IDxwaGFzZT4gZnJvbSAnZm9vJztcbiAgICAgICAgLy8gV2l0aCB0aGUgbW9kdWxlIGRlY2xhcmF0aW9ucyBwcm9wb3NhbHMsIHdlIHdpbGwgbmVlZCBmdXJ0aGVyIGRpc2FtYmlndWF0aW9uXG4gICAgICAgIC8vIGZvciBgaW1wb3J0IG1vZHVsZSBmcm9tIGZyb207YC5cbiAgICAgICAgdHlwZSAhPT0gdHQuX2Zyb20gfHwgdGhpcy5sb29rYWhlYWRDaGFyQ29kZSgpID09PSBjaGFyQ29kZXMubG93ZXJjYXNlRlxuICAgICAgOiAvLyBPSzogaW1wb3J0IDxwaGFzZT4geyB4IH0gZnJvbSBcImZvb1wiO1xuICAgICAgICAvLyBPSzogaW1wb3J0IDxwaGFzZT4geCBmcm9tIFwiZm9vXCI7XG4gICAgICAgIC8vIE9LOiBpbXBvcnQgPHBoYXNlPiAqIGFzIFQgZnJvbSBcImZvb1wiO1xuICAgICAgICAvLyBOTzogaW1wb3J0IDxwaGFzZT4gZnJvbSBcImZvb1wiO1xuICAgICAgICAvLyBPSzogaW1wb3J0IDxwaGFzZT4gXCJmb29cIjtcbiAgICAgICAgLy8gVGhlIGxhc3Qgb25lIGlzIGludmFsaWQsIHdlIHdpbGwgY29udGludWUgcGFyc2luZyBhbmQgdGhyb3dcbiAgICAgICAgLy8gYW4gZXJyb3IgbGF0ZXJcbiAgICAgICAgdHlwZSAhPT0gdHQuY29tbWE7XG4gIH1cblxuICAvLyBQYXJzZXMgaW1wb3J0IGRlY2xhcmF0aW9uLlxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1JbXBvcnREZWNsYXJhdGlvblxuXG4gIHBhcnNlSW1wb3J0KHRoaXM6IFBhcnNlciwgbm9kZTogVW5kb25lPE4uSW1wb3J0RGVjbGFyYXRpb24+KTogTi5BbnlJbXBvcnQge1xuICAgIGlmICh0aGlzLm1hdGNoKHR0LnN0cmluZykpIHtcbiAgICAgIC8vIGltcG9ydCAnLi4uJ1xuICAgICAgcmV0dXJuIHRoaXMucGFyc2VJbXBvcnRTb3VyY2VBbmRBdHRyaWJ1dGVzKG5vZGUpO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnBhcnNlSW1wb3J0U3BlY2lmaWVyc0FuZEFmdGVyKFxuICAgICAgbm9kZSxcbiAgICAgIHRoaXMucGFyc2VNYXliZUltcG9ydFBoYXNlKG5vZGUsIC8qIGlzRXhwb3J0ICovIGZhbHNlKSxcbiAgICApO1xuICB9XG5cbiAgcGFyc2VJbXBvcnRTcGVjaWZpZXJzQW5kQWZ0ZXIoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIG5vZGU6IFVuZG9uZTxOLkltcG9ydERlY2xhcmF0aW9uPixcbiAgICBtYXliZURlZmF1bHRJZGVudGlmaWVyOiBOLklkZW50aWZpZXIgfCBudWxsLFxuICApOiBOLkFueUltcG9ydCB7XG4gICAgbm9kZS5zcGVjaWZpZXJzID0gW107XG5cbiAgICAvLyBjaGVjayBpZiB3ZSBoYXZlIGEgZGVmYXVsdCBpbXBvcnQgbGlrZVxuICAgIC8vIGltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcbiAgICBjb25zdCBoYXNEZWZhdWx0ID0gdGhpcy5tYXliZVBhcnNlRGVmYXVsdEltcG9ydFNwZWNpZmllcihcbiAgICAgIG5vZGUsXG4gICAgICBtYXliZURlZmF1bHRJZGVudGlmaWVyLFxuICAgICk7XG4gICAgLyogd2UgYXJlIGNoZWNraW5nIGlmIHdlIGRvIG5vdCBoYXZlIGEgZGVmYXVsdCBpbXBvcnQsIHRoZW4gaXQgaXMgb2J2aW91cyB0aGF0IHdlIG5lZWQgbmFtZWQgaW1wb3J0c1xuICAgICAqIGltcG9ydCB7IGdldCB9IGZyb20gXCJheGlvc1wiO1xuICAgICAqIGJ1dCBpZiB3ZSBkbyBoYXZlIGEgZGVmYXVsdCBpbXBvcnRcbiAgICAgKiB3ZSBuZWVkIHRvIGNoZWNrIGlmIHdlIGhhdmUgYSBjb21tYSBhZnRlciB0aGF0IGFuZFxuICAgICAqIHRoYXQgaXMgd2hlcmUgdGhpcyBgfHwgdGhpcy5lYXRgIGNvbmRpdGlvbiBjb21lcyBpbnRvIHBsYXlcbiAgICAgKi9cbiAgICBjb25zdCBwYXJzZU5leHQgPSAhaGFzRGVmYXVsdCB8fCB0aGlzLmVhdCh0dC5jb21tYSk7XG4gICAgLy8gaWYgd2UgZG8gaGF2ZSB0byBwYXJzZSB0aGUgbmV4dCBzZXQgb2Ygc3BlY2lmaWVycywgd2UgZmlyc3QgY2hlY2sgZm9yIHN0YXIgaW1wb3J0c1xuICAgIC8vIGltcG9ydCBSZWFjdCwgKiBmcm9tIFwicmVhY3RcIjtcbiAgICBjb25zdCBoYXNTdGFyID0gcGFyc2VOZXh0ICYmIHRoaXMubWF5YmVQYXJzZVN0YXJJbXBvcnRTcGVjaWZpZXIobm9kZSk7XG4gICAgLy8gbm93IHdlIGNoZWNrIGlmIHdlIG5lZWQgdG8gcGFyc2UgdGhlIG5leHQgaW1wb3J0c1xuICAgIC8vIGJ1dCBvbmx5IGlmIHRoZXkgYXJlIG5vdCBpbXBvcnRpbmcgKiAoZXZlcnl0aGluZylcbiAgICBpZiAocGFyc2VOZXh0ICYmICFoYXNTdGFyKSB0aGlzLnBhcnNlTmFtZWRJbXBvcnRTcGVjaWZpZXJzKG5vZGUpO1xuICAgIHRoaXMuZXhwZWN0Q29udGV4dHVhbCh0dC5fZnJvbSk7XG5cbiAgICByZXR1cm4gdGhpcy5wYXJzZUltcG9ydFNvdXJjZUFuZEF0dHJpYnV0ZXMobm9kZSk7XG4gIH1cblxuICBwYXJzZUltcG9ydFNvdXJjZUFuZEF0dHJpYnV0ZXMoXG4gICAgdGhpczogUGFyc2VyLFxuICAgIG5vZGU6IFVuZG9uZTxOLkltcG9ydERlY2xhcmF0aW9uPixcbiAgKTogTi5BbnlJbXBvcnQge1xuICAgIG5vZGUuc3BlY2lmaWVycyA/Pz0gW107XG4gICAgbm9kZS5zb3VyY2UgPSB0aGlzLnBhcnNlSW1wb3J0U291cmNlKCk7XG4gICAgdGhpcy5tYXliZVBhcnNlSW1wb3J0QXR0cmlidXRlcyhub2RlKTtcbiAgICB0aGlzLmNoZWNrSW1wb3J0UmVmbGVjdGlvbihub2RlKTtcbiAgICB0aGlzLmNoZWNrSlNPTk1vZHVsZUltcG9ydChub2RlKTtcblxuICAgIHRoaXMuc2VtaWNvbG9uKCk7XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoTm9kZShub2RlLCBcIkltcG9ydERlY2xhcmF0aW9uXCIpO1xuICB9XG5cbiAgcGFyc2VJbXBvcnRTb3VyY2UodGhpczogUGFyc2VyKTogTi5TdHJpbmdMaXRlcmFsIHtcbiAgICBpZiAoIXRoaXMubWF0Y2godHQuc3RyaW5nKSkgdGhpcy51bmV4cGVjdGVkKCk7XG4gICAgcmV0dXJuIHRoaXMucGFyc2VFeHByQXRvbSgpIGFzIE4uU3RyaW5nTGl0ZXJhbDtcbiAgfVxuXG4gIHBhcnNlSW1wb3J0U3BlY2lmaWVyTG9jYWw8XG4gICAgVCBleHRlbmRzXG4gICAgICB8IE4uSW1wb3J0U3BlY2lmaWVyXG4gICAgICB8IE4uSW1wb3J0RGVmYXVsdFNwZWNpZmllclxuICAgICAgfCBOLkltcG9ydE5hbWVzcGFjZVNwZWNpZmllcixcbiAgPihcbiAgICBub2RlOiBVbmRvbmU8Ti5JbXBvcnREZWNsYXJhdGlvbj4sXG4gICAgc3BlY2lmaWVyOiBVbmRvbmU8VD4sXG4gICAgdHlwZTogVFtcInR5cGVcIl0sXG4gICk6IHZvaWQge1xuICAgIHNwZWNpZmllci5sb2NhbCA9IHRoaXMucGFyc2VJZGVudGlmaWVyKCk7XG4gICAgbm9kZS5zcGVjaWZpZXJzLnB1c2godGhpcy5maW5pc2hJbXBvcnRTcGVjaWZpZXIoc3BlY2lmaWVyLCB0eXBlKSk7XG4gIH1cblxuICBmaW5pc2hJbXBvcnRTcGVjaWZpZXI8XG4gICAgVCBleHRlbmRzXG4gICAgICB8IE4uSW1wb3J0U3BlY2lmaWVyXG4gICAgICB8IE4uSW1wb3J0RGVmYXVsdFNwZWNpZmllclxuICAgICAgfCBOLkltcG9ydE5hbWVzcGFjZVNwZWNpZmllcixcbiAgPihcbiAgICBzcGVjaWZpZXI6IFVuZG9uZTxUPixcbiAgICB0eXBlOiBUW1widHlwZVwiXSxcbiAgICBiaW5kaW5nVHlwZTogQmluZGluZ0ZsYWcgPSBCaW5kaW5nRmxhZy5UWVBFX0xFWElDQUwsXG4gICkge1xuICAgIHRoaXMuY2hlY2tMVmFsKHNwZWNpZmllci5sb2NhbCwgeyB0eXBlIH0sIGJpbmRpbmdUeXBlKTtcbiAgICByZXR1cm4gdGhpcy5maW5pc2hOb2RlKHNwZWNpZmllciwgdHlwZSk7XG4gIH1cblxuICAvKipcbiAgICogcGFyc2UgYXNzZXJ0IGVudHJpZXNcbiAgICpcbiAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly90YzM5LmVzL3Byb3Bvc2FsLWltcG9ydC1hdHRyaWJ1dGVzLyNwcm9kLVdpdGhFbnRyaWVzIFdpdGhFbnRyaWVzfVxuICAgKi9cbiAgcGFyc2VJbXBvcnRBdHRyaWJ1dGVzKCk6IE4uSW1wb3J0QXR0cmlidXRlW10ge1xuICAgIHRoaXMuZXhwZWN0KHR0LmJyYWNlTCk7XG5cbiAgICBjb25zdCBhdHRycyA9IFtdO1xuICAgIGNvbnN0IGF0dHJOYW1lcyA9IG5ldyBTZXQoKTtcblxuICAgIGRvIHtcbiAgICAgIGlmICh0aGlzLm1hdGNoKHR0LmJyYWNlUikpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG5vZGUgPSB0aGlzLnN0YXJ0Tm9kZTxOLkltcG9ydEF0dHJpYnV0ZT4oKTtcblxuICAgICAgLy8gcGFyc2UgQXNzZXJ0aW9uS2V5IDogSWRlbnRpZmllck5hbWUsIFN0cmluZ0xpdGVyYWxcbiAgICAgIGNvbnN0IGtleU5hbWUgPSB0aGlzLnN0YXRlLnZhbHVlO1xuICAgICAgLy8gY2hlY2sgaWYgd2UgYWxyZWFkeSBoYXZlIGFuIGVudHJ5IGZvciBhbiBhdHRyaWJ1dGVcbiAgICAgIC8vIGlmIGEgZHVwbGljYXRlIGVudHJ5IGlzIGZvdW5kLCB0aHJvdyBhbiBlcnJvclxuICAgICAgLy8gZm9yIG5vdyB0aGlzIGxvZ2ljIHdpbGwgY29tZSBpbnRvIHBsYXkgb25seSB3aGVuIHNvbWVvbmUgZGVjbGFyZXMgYHR5cGVgIHR3aWNlXG4gICAgICBpZiAoYXR0ck5hbWVzLmhhcyhrZXlOYW1lKSkge1xuICAgICAgICB0aGlzLnJhaXNlKFxuICAgICAgICAgIEVycm9ycy5Nb2R1bGVBdHRyaWJ1dGVzV2l0aER1cGxpY2F0ZUtleXMsXG4gICAgICAgICAgdGhpcy5zdGF0ZS5zdGFydExvYyxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBrZXk6IGtleU5hbWUsXG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGF0dHJOYW1lcy5hZGQoa2V5TmFtZSk7XG4gICAgICBpZiAodGhpcy5tYXRjaCh0dC5zdHJpbmcpKSB7XG4gICAgICAgIG5vZGUua2V5ID0gdGhpcy5wYXJzZVN0cmluZ0xpdGVyYWwoa2V5TmFtZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBub2RlLmtleSA9IHRoaXMucGFyc2VJZGVudGlmaWVyKHRydWUpO1xuICAgICAgfVxuICAgICAgdGhpcy5leHBlY3QodHQuY29sb24pO1xuXG4gICAgICBpZiAoIXRoaXMubWF0Y2godHQuc3RyaW5nKSkge1xuICAgICAgICB0aHJvdyB0aGlzLnJhaXNlKFxuICAgICAgICAgIEVycm9ycy5Nb2R1bGVBdHRyaWJ1dGVJbnZhbGlkVmFsdWUsXG4gICAgICAgICAgdGhpcy5zdGF0ZS5zdGFydExvYyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIG5vZGUudmFsdWUgPSB0aGlzLnBhcnNlU3RyaW5nTGl0ZXJhbCh0aGlzLnN0YXRlLnZhbHVlKTtcbiAgICAgIGF0dHJzLnB1c2godGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiSW1wb3J0QXR0cmlidXRlXCIpKTtcbiAgICB9IHdoaWxlICh0aGlzLmVhdCh0dC5jb21tYSkpO1xuXG4gICAgdGhpcy5leHBlY3QodHQuYnJhY2VSKTtcblxuICAgIHJldHVybiBhdHRycztcbiAgfVxuXG4gIC8qKlxuICAgKiBwYXJzZSBtb2R1bGUgYXR0cmlidXRlc1xuICAgKiBAZGVwcmVjYXRlZCBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gQmFiZWwgOFxuICAgKi9cbiAgcGFyc2VNb2R1bGVBdHRyaWJ1dGVzKCkge1xuICAgIGNvbnN0IGF0dHJzOiBOLkltcG9ydEF0dHJpYnV0ZVtdID0gW107XG4gICAgY29uc3QgYXR0cmlidXRlcyA9IG5ldyBTZXQoKTtcbiAgICBkbyB7XG4gICAgICBjb25zdCBub2RlID0gdGhpcy5zdGFydE5vZGU8Ti5JbXBvcnRBdHRyaWJ1dGU+KCk7XG4gICAgICBub2RlLmtleSA9IHRoaXMucGFyc2VJZGVudGlmaWVyKHRydWUpO1xuXG4gICAgICBpZiAobm9kZS5rZXkubmFtZSAhPT0gXCJ0eXBlXCIpIHtcbiAgICAgICAgdGhpcy5yYWlzZShFcnJvcnMuTW9kdWxlQXR0cmlidXRlRGlmZmVyZW50RnJvbVR5cGUsIG5vZGUua2V5KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGF0dHJpYnV0ZXMuaGFzKG5vZGUua2V5Lm5hbWUpKSB7XG4gICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLk1vZHVsZUF0dHJpYnV0ZXNXaXRoRHVwbGljYXRlS2V5cywgbm9kZS5rZXksIHtcbiAgICAgICAgICBrZXk6IG5vZGUua2V5Lm5hbWUsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgYXR0cmlidXRlcy5hZGQobm9kZS5rZXkubmFtZSk7XG4gICAgICB0aGlzLmV4cGVjdCh0dC5jb2xvbik7XG4gICAgICBpZiAoIXRoaXMubWF0Y2godHQuc3RyaW5nKSkge1xuICAgICAgICB0aHJvdyB0aGlzLnJhaXNlKFxuICAgICAgICAgIEVycm9ycy5Nb2R1bGVBdHRyaWJ1dGVJbnZhbGlkVmFsdWUsXG4gICAgICAgICAgdGhpcy5zdGF0ZS5zdGFydExvYyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIG5vZGUudmFsdWUgPSB0aGlzLnBhcnNlU3RyaW5nTGl0ZXJhbCh0aGlzLnN0YXRlLnZhbHVlKTtcbiAgICAgIGF0dHJzLnB1c2godGhpcy5maW5pc2hOb2RlKG5vZGUsIFwiSW1wb3J0QXR0cmlidXRlXCIpKTtcbiAgICB9IHdoaWxlICh0aGlzLmVhdCh0dC5jb21tYSkpO1xuXG4gICAgcmV0dXJuIGF0dHJzO1xuICB9XG5cbiAgbWF5YmVQYXJzZUltcG9ydEF0dHJpYnV0ZXMoXG4gICAgbm9kZTogVW5kb25lPFxuICAgICAgTi5JbXBvcnREZWNsYXJhdGlvbiB8IE4uRXhwb3J0TmFtZWREZWNsYXJhdGlvbiB8IE4uRXhwb3J0QWxsRGVjbGFyYXRpb25cbiAgICA+LFxuICApIHtcbiAgICBsZXQgYXR0cmlidXRlczogTi5JbXBvcnRBdHRyaWJ1dGVbXTtcbiAgICBpZiAoIXByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby12YXJcbiAgICAgIHZhciB1c2VXaXRoID0gZmFsc2U7XG4gICAgfVxuXG4gICAgLy8gaHR0cHM6Ly90YzM5LmVzL3Byb3Bvc2FsLWltcG9ydC1hdHRyaWJ1dGVzLyNwcm9kLVdpdGhDbGF1c2VcbiAgICBpZiAodGhpcy5tYXRjaCh0dC5fd2l0aCkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSAmJlxuICAgICAgICB0aGlzLmxvb2thaGVhZENoYXJDb2RlKCkgPT09IGNoYXJDb2Rlcy5sZWZ0UGFyZW50aGVzaXNcbiAgICAgICkge1xuICAgICAgICAvLyBUaGlzIHdpbGwgYmUgcGFyc2VkIGFzIGEgd2l0aCBzdGF0ZW1lbnQsIGFuZCB3ZSB3aWxsIHRocm93IGFcbiAgICAgICAgLy8gYmV0dGVyIGVycm9yIGFib3V0IGl0IG5vdCBiZWluZyBzdXBwb3J0ZWQgaW4gc3RyaWN0IG1vZGUuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgdGhpcy5uZXh0KCk7IC8vIGVhdCBgd2l0aGBcblxuICAgICAgaWYgKCFwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HICYmIHRoaXMuaGFzUGx1Z2luKFwibW9kdWxlQXR0cmlidXRlc1wiKSkge1xuICAgICAgICBhdHRyaWJ1dGVzID0gdGhpcy5wYXJzZU1vZHVsZUF0dHJpYnV0ZXMoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF0dHJpYnV0ZXMgPSB0aGlzLnBhcnNlSW1wb3J0QXR0cmlidXRlcygpO1xuICAgICAgfVxuICAgICAgaWYgKCFwcm9jZXNzLmVudi5CQUJFTF84X0JSRUFLSU5HKSB7XG4gICAgICAgIHVzZVdpdGggPSB0cnVlO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy5pc0NvbnRleHR1YWwodHQuX2Fzc2VydCkgJiYgIXRoaXMuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgIXRoaXMuaGFzUGx1Z2luKFwiZGVwcmVjYXRlZEltcG9ydEFzc2VydFwiKSAmJlxuICAgICAgICAocHJvY2Vzcy5lbnYuQkFCRUxfOF9CUkVBS0lORyB8fCAhdGhpcy5oYXNQbHVnaW4oXCJpbXBvcnRBc3NlcnRpb25zXCIpKVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMucmFpc2UoRXJyb3JzLkltcG9ydEF0dHJpYnV0ZXNVc2VBc3NlcnQsIHRoaXMuc3RhdGUuc3RhcnRMb2MpO1xuICAgICAgfVxuICAgICAgaWYgKHByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcgfHwgIXRoaXMuaGFzUGx1Z2luKFwiaW1wb3J0QXNzZXJ0aW9uc1wiKSkge1xuICAgICAgICB0aGlzLmFkZEV4dHJhKG5vZGUsIFwiZGVwcmVjYXRlZEFzc2VydFN5bnRheFwiLCB0cnVlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMubmV4dCgpOyAvLyBlYXQgYGFzc2VydGBcbiAgICAgIGF0dHJpYnV0ZXMgPSB0aGlzLnBhcnNlSW1wb3J0QXR0cmlidXRlcygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhdHRyaWJ1dGVzID0gW107XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgIXByb2Nlc3MuZW52LkJBQkVMXzhfQlJFQUtJTkcgJiZcbiAgICAgICF1c2VXaXRoICYmXG4gICAgICB0aGlzLmhhc1BsdWdpbihcImltcG9ydEFzc2VydGlvbnNcIilcbiAgICApIHtcbiAgICAgIG5vZGUuYXNzZXJ0aW9ucyA9IGF0dHJpYnV0ZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIG5vZGUuYXR0cmlidXRlcyA9IGF0dHJpYnV0ZXM7XG4gICAgfVxuICB9XG5cbiAgbWF5YmVQYXJzZURlZmF1bHRJbXBvcnRTcGVjaWZpZXIoXG4gICAgbm9kZTogVW5kb25lPE4uSW1wb3J0RGVjbGFyYXRpb24+LFxuICAgIG1heWJlRGVmYXVsdElkZW50aWZpZXI6IE4uSWRlbnRpZmllciB8IG51bGwsXG4gICk6IGJvb2xlYW4ge1xuICAgIC8vIGltcG9ydCBkZWZhdWx0T2JqLCB7IHgsIHkgYXMgeiB9IGZyb20gJy4uLidcbiAgICBpZiAobWF5YmVEZWZhdWx0SWRlbnRpZmllcikge1xuICAgICAgY29uc3Qgc3BlY2lmaWVyID0gdGhpcy5zdGFydE5vZGVBdE5vZGU8Ti5JbXBvcnREZWZhdWx0U3BlY2lmaWVyPihcbiAgICAgICAgbWF5YmVEZWZhdWx0SWRlbnRpZmllcixcbiAgICAgICk7XG4gICAgICBzcGVjaWZpZXIubG9jYWwgPSBtYXliZURlZmF1bHRJZGVudGlmaWVyO1xuICAgICAgbm9kZS5zcGVjaWZpZXJzLnB1c2goXG4gICAgICAgIHRoaXMuZmluaXNoSW1wb3J0U3BlY2lmaWVyKHNwZWNpZmllciwgXCJJbXBvcnREZWZhdWx0U3BlY2lmaWVyXCIpLFxuICAgICAgKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSBpZiAoXG4gICAgICAvLyBXZSBhbGxvdyBrZXl3b3JkcywgYW5kIHBhcnNlSW1wb3J0U3BlY2lmaWVyTG9jYWwgd2lsbCByZXBvcnQgYSByZWNvdmVyYWJsZSBlcnJvclxuICAgICAgdG9rZW5Jc0tleXdvcmRPcklkZW50aWZpZXIodGhpcy5zdGF0ZS50eXBlKVxuICAgICkge1xuICAgICAgdGhpcy5wYXJzZUltcG9ydFNwZWNpZmllckxvY2FsKFxuICAgICAgICBub2RlLFxuICAgICAgICB0aGlzLnN0YXJ0Tm9kZTxOLkltcG9ydERlZmF1bHRTcGVjaWZpZXI+KCksXG4gICAgICAgIFwiSW1wb3J0RGVmYXVsdFNwZWNpZmllclwiLFxuICAgICAgKTtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBtYXliZVBhcnNlU3RhckltcG9ydFNwZWNpZmllcihub2RlOiBVbmRvbmU8Ti5JbXBvcnREZWNsYXJhdGlvbj4pOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy5tYXRjaCh0dC5zdGFyKSkge1xuICAgICAgY29uc3Qgc3BlY2lmaWVyID0gdGhpcy5zdGFydE5vZGU8Ti5JbXBvcnROYW1lc3BhY2VTcGVjaWZpZXI+KCk7XG4gICAgICB0aGlzLm5leHQoKTtcbiAgICAgIHRoaXMuZXhwZWN0Q29udGV4dHVhbCh0dC5fYXMpO1xuXG4gICAgICB0aGlzLnBhcnNlSW1wb3J0U3BlY2lmaWVyTG9jYWwoXG4gICAgICAgIG5vZGUsXG4gICAgICAgIHNwZWNpZmllcixcbiAgICAgICAgXCJJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXJcIixcbiAgICAgICk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcGFyc2VOYW1lZEltcG9ydFNwZWNpZmllcnMobm9kZTogVW5kb25lPE4uSW1wb3J0RGVjbGFyYXRpb24+KSB7XG4gICAgbGV0IGZpcnN0ID0gdHJ1ZTtcbiAgICB0aGlzLmV4cGVjdCh0dC5icmFjZUwpO1xuICAgIHdoaWxlICghdGhpcy5lYXQodHQuYnJhY2VSKSkge1xuICAgICAgaWYgKGZpcnN0KSB7XG4gICAgICAgIGZpcnN0ID0gZmFsc2U7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBEZXRlY3QgYW4gYXR0ZW1wdCB0byBkZWVwIGRlc3RydWN0dXJlXG4gICAgICAgIGlmICh0aGlzLmVhdCh0dC5jb2xvbikpIHtcbiAgICAgICAgICB0aHJvdyB0aGlzLnJhaXNlKEVycm9ycy5EZXN0cnVjdHVyZU5hbWVkSW1wb3J0LCB0aGlzLnN0YXRlLnN0YXJ0TG9jKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuZXhwZWN0KHR0LmNvbW1hKTtcbiAgICAgICAgaWYgKHRoaXMuZWF0KHR0LmJyYWNlUikpIGJyZWFrO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBzcGVjaWZpZXIgPSB0aGlzLnN0YXJ0Tm9kZTxOLkltcG9ydFNwZWNpZmllcj4oKTtcbiAgICAgIGNvbnN0IGltcG9ydGVkSXNTdHJpbmcgPSB0aGlzLm1hdGNoKHR0LnN0cmluZyk7XG4gICAgICBjb25zdCBpc01heWJlVHlwZU9ubHkgPSB0aGlzLmlzQ29udGV4dHVhbCh0dC5fdHlwZSk7XG4gICAgICBzcGVjaWZpZXIuaW1wb3J0ZWQgPSB0aGlzLnBhcnNlTW9kdWxlRXhwb3J0TmFtZSgpO1xuICAgICAgY29uc3QgaW1wb3J0U3BlY2lmaWVyID0gdGhpcy5wYXJzZUltcG9ydFNwZWNpZmllcihcbiAgICAgICAgc3BlY2lmaWVyLFxuICAgICAgICBpbXBvcnRlZElzU3RyaW5nLFxuICAgICAgICBub2RlLmltcG9ydEtpbmQgPT09IFwidHlwZVwiIHx8IG5vZGUuaW1wb3J0S2luZCA9PT0gXCJ0eXBlb2ZcIixcbiAgICAgICAgaXNNYXliZVR5cGVPbmx5LFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICApO1xuICAgICAgbm9kZS5zcGVjaWZpZXJzLnB1c2goaW1wb3J0U3BlY2lmaWVyKTtcbiAgICB9XG4gIH1cblxuICAvLyBodHRwczovL3RjMzkuZXMvZWNtYTI2Mi8jcHJvZC1JbXBvcnRTcGVjaWZpZXJcbiAgcGFyc2VJbXBvcnRTcGVjaWZpZXIoXG4gICAgc3BlY2lmaWVyOiBVbmRvbmU8Ti5JbXBvcnRTcGVjaWZpZXI+LFxuICAgIGltcG9ydGVkSXNTdHJpbmc6IGJvb2xlYW4sXG4gICAgLyogdXNlZCBpbiBUeXBlU2NyaXB0IGFuZCBGbG93IHBhcnNlciAqL1xuICAgIGlzSW5UeXBlT25seUltcG9ydDogYm9vbGVhbixcbiAgICBpc01heWJlVHlwZU9ubHk6IGJvb2xlYW4sXG4gICAgYmluZGluZ1R5cGU6IEJpbmRpbmdGbGFnIHwgdW5kZWZpbmVkLFxuICApOiBOLkltcG9ydFNwZWNpZmllciB7XG4gICAgaWYgKHRoaXMuZWF0Q29udGV4dHVhbCh0dC5fYXMpKSB7XG4gICAgICBzcGVjaWZpZXIubG9jYWwgPSB0aGlzLnBhcnNlSWRlbnRpZmllcigpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCB7IGltcG9ydGVkIH0gPSBzcGVjaWZpZXI7XG4gICAgICBpZiAoaW1wb3J0ZWRJc1N0cmluZykge1xuICAgICAgICB0aHJvdyB0aGlzLnJhaXNlKEVycm9ycy5JbXBvcnRCaW5kaW5nSXNTdHJpbmcsIHNwZWNpZmllciwge1xuICAgICAgICAgIGltcG9ydE5hbWU6IChpbXBvcnRlZCBhcyBOLlN0cmluZ0xpdGVyYWwpLnZhbHVlLFxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuY2hlY2tSZXNlcnZlZFdvcmQoXG4gICAgICAgIChpbXBvcnRlZCBhcyBOLklkZW50aWZpZXIpLm5hbWUsXG4gICAgICAgIHNwZWNpZmllci5sb2Muc3RhcnQsXG4gICAgICAgIHRydWUsXG4gICAgICAgIHRydWUsXG4gICAgICApO1xuICAgICAgaWYgKCFzcGVjaWZpZXIubG9jYWwpIHtcbiAgICAgICAgc3BlY2lmaWVyLmxvY2FsID0gY2xvbmVJZGVudGlmaWVyKGltcG9ydGVkKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmluaXNoSW1wb3J0U3BlY2lmaWVyKFxuICAgICAgc3BlY2lmaWVyLFxuICAgICAgXCJJbXBvcnRTcGVjaWZpZXJcIixcbiAgICAgIGJpbmRpbmdUeXBlLFxuICAgICk7XG4gIH1cblxuICAvLyBUaGlzIGlzIHVzZWQgaW4gZmxvdyBhbmQgdHlwZXNjcmlwdCBwbHVnaW5cbiAgLy8gRGV0ZXJtaW5lIHdoZXRoZXIgYSBwYXJhbWV0ZXIgaXMgYSB0aGlzIHBhcmFtXG4gIGlzVGhpc1BhcmFtKFxuICAgIHBhcmFtOiBOLlBhdHRlcm4gfCBOLklkZW50aWZpZXIgfCBOLlRTUGFyYW1ldGVyUHJvcGVydHksXG4gICk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBwYXJhbS50eXBlID09PSBcIklkZW50aWZpZXJcIiAmJiBwYXJhbS5uYW1lID09PSBcInRoaXNcIjtcbiAgfVxufVxuIiwgImltcG9ydCB0eXBlIHsgT3B0aW9ucyB9IGZyb20gXCIuLi9vcHRpb25zLnRzXCI7XG5pbXBvcnQgdHlwZSAqIGFzIE4gZnJvbSBcIi4uL3R5cGVzLnRzXCI7XG5pbXBvcnQgeyBnZXRPcHRpb25zIH0gZnJvbSBcIi4uL29wdGlvbnMudHNcIjtcbmltcG9ydCBTdGF0ZW1lbnRQYXJzZXIgZnJvbSBcIi4vc3RhdGVtZW50LnRzXCI7XG5pbXBvcnQgU2NvcGVIYW5kbGVyIGZyb20gXCIuLi91dGlsL3Njb3BlLnRzXCI7XG5cbmV4cG9ydCB0eXBlIFBsdWdpbnNNYXAgPSBNYXA8XG4gIHN0cmluZyxcbiAge1xuICAgIFt4OiBzdHJpbmddOiBhbnk7XG4gIH1cbj47XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhcnNlciBleHRlbmRzIFN0YXRlbWVudFBhcnNlciB7XG4gIC8vIEZvcndhcmQtZGVjbGFyYXRpb24gc28gdHlwZXNjcmlwdCBwbHVnaW4gY2FuIG92ZXJyaWRlIGpzeCBwbHVnaW5cbiAgLy8gdG9kbyhmbG93LT50cykgLSB0aGlzIHByb2JhYmx5IGNhbiBiZSByZW1vdmVkXG4gIC8vIGFic3RyYWN0IGpzeFBhcnNlT3BlbmluZ0VsZW1lbnRBZnRlck5hbWUoXG4gIC8vICAgbm9kZTogTi5KU1hPcGVuaW5nRWxlbWVudCxcbiAgLy8gKTogTi5KU1hPcGVuaW5nRWxlbWVudDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBvcHRpb25zOiBPcHRpb25zIHwgdW5kZWZpbmVkIHwgbnVsbCxcbiAgICBpbnB1dDogc3RyaW5nLFxuICAgIHBsdWdpbnNNYXA6IFBsdWdpbnNNYXAsXG4gICkge1xuICAgIG9wdGlvbnMgPSBnZXRPcHRpb25zKG9wdGlvbnMpO1xuICAgIHN1cGVyKG9wdGlvbnMsIGlucHV0KTtcblxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM7XG4gICAgdGhpcy5pbml0aWFsaXplU2NvcGVzKCk7XG4gICAgdGhpcy5wbHVnaW5zID0gcGx1Z2luc01hcDtcbiAgICB0aGlzLmZpbGVuYW1lID0gb3B0aW9ucy5zb3VyY2VGaWxlbmFtZTtcbiAgICB0aGlzLnN0YXJ0SW5kZXggPSBvcHRpb25zLnN0YXJ0SW5kZXg7XG4gIH1cblxuICAvLyBUaGlzIGNhbiBiZSBvdmVyd3JpdHRlbiwgZm9yIGV4YW1wbGUsIGJ5IHRoZSBUeXBlU2NyaXB0IHBsdWdpbi5cbiAgZ2V0U2NvcGVIYW5kbGVyKCk6IG5ldyAoLi4uYXJnczogYW55KSA9PiBTY29wZUhhbmRsZXIge1xuICAgIHJldHVybiBTY29wZUhhbmRsZXI7XG4gIH1cblxuICBwYXJzZSgpOiBOLkZpbGUge1xuICAgIHRoaXMuZW50ZXJJbml0aWFsU2NvcGVzKCk7XG4gICAgY29uc3QgZmlsZSA9IHRoaXMuc3RhcnROb2RlPE4uRmlsZT4oKTtcbiAgICBjb25zdCBwcm9ncmFtID0gdGhpcy5zdGFydE5vZGU8Ti5Qcm9ncmFtPigpO1xuICAgIHRoaXMubmV4dFRva2VuKCk7XG4gICAgZmlsZS5lcnJvcnMgPSBudWxsO1xuICAgIHRoaXMucGFyc2VUb3BMZXZlbChmaWxlLCBwcm9ncmFtKTtcbiAgICBmaWxlLmVycm9ycyA9IHRoaXMuc3RhdGUuZXJyb3JzO1xuICAgIGZpbGUuY29tbWVudHMubGVuZ3RoID0gdGhpcy5zdGF0ZS5jb21tZW50c0xlbjtcbiAgICByZXR1cm4gZmlsZSBhcyBOLkZpbGU7XG4gIH1cbn1cbiIsICJpbXBvcnQgdHlwZSB7IE9wdGlvbnMgfSBmcm9tIFwiLi9vcHRpb25zLnRzXCI7XG5pbXBvcnQge1xuICB2YWxpZGF0ZVBsdWdpbnMsXG4gIG1peGluUGx1Z2luTmFtZXMsXG4gIG1peGluUGx1Z2lucyxcbn0gZnJvbSBcIi4vcGx1Z2luLXV0aWxzLnRzXCI7XG5pbXBvcnQgdHlwZSB7XG4gIFBsdWdpbkNvbmZpZyBhcyBQYXJzZXJQbHVnaW4sXG4gIEZsb3dQbHVnaW5PcHRpb25zLFxuICBSZWNvcmRBbmRUdXBsZVBsdWdpbk9wdGlvbnMsXG4gIFBpcGVsaW5lT3BlcmF0b3JQbHVnaW5PcHRpb25zLFxufSBmcm9tIFwiLi90eXBpbmdzLnRzXCI7XG5pbXBvcnQgUGFyc2VyLCB7IHR5cGUgUGx1Z2luc01hcCB9IGZyb20gXCIuL3BhcnNlci9pbmRleC50c1wiO1xuXG5pbXBvcnQgdHlwZSB7IEV4cG9ydGVkVG9rZW5UeXBlIH0gZnJvbSBcIi4vdG9rZW5pemVyL3R5cGVzLnRzXCI7XG5pbXBvcnQge1xuICBnZXRFeHBvcnRlZFRva2VuLFxuICB0dCBhcyBpbnRlcm5hbFRva2VuVHlwZXMsXG4gIHR5cGUgSW50ZXJuYWxUb2tlblR5cGVzLFxufSBmcm9tIFwiLi90b2tlbml6ZXIvdHlwZXMudHNcIjtcbmV4cG9ydCB0eXBlIHsgVG9rZW4gfSBmcm9tIFwiLi90b2tlbml6ZXIvaW5kZXgudHNcIjtcblxuaW1wb3J0IHR5cGUgeyBFeHByZXNzaW9uLCBGaWxlIH0gZnJvbSBcIi4vdHlwZXMudHNcIjtcbmV4cG9ydCB0eXBlIHsgRXhwcmVzc2lvbiwgRmlsZSB9O1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2UoaW5wdXQ6IHN0cmluZywgb3B0aW9ucz86IE9wdGlvbnMpOiBGaWxlIHtcbiAgaWYgKG9wdGlvbnM/LnNvdXJjZVR5cGUgPT09IFwidW5hbWJpZ3VvdXNcIikge1xuICAgIG9wdGlvbnMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG4gICAgdHJ5IHtcbiAgICAgIG9wdGlvbnMuc291cmNlVHlwZSA9IFwibW9kdWxlXCI7XG4gICAgICBjb25zdCBwYXJzZXIgPSBnZXRQYXJzZXIob3B0aW9ucywgaW5wdXQpO1xuICAgICAgY29uc3QgYXN0ID0gcGFyc2VyLnBhcnNlKCk7XG5cbiAgICAgIGlmIChwYXJzZXIuc2F3VW5hbWJpZ3VvdXNFU00pIHtcbiAgICAgICAgcmV0dXJuIGFzdDtcbiAgICAgIH1cblxuICAgICAgaWYgKHBhcnNlci5hbWJpZ3VvdXNTY3JpcHREaWZmZXJlbnRBc3QpIHtcbiAgICAgICAgLy8gVG9wIGxldmVsIGF3YWl0IGludHJvZHVjZXMgY29kZSB3aGljaCBjYW4gYmUgYm90aCBhIHZhbGlkIHNjcmlwdCBhbmRcbiAgICAgICAgLy8gYSB2YWxpZCBtb2R1bGUsIGJ1dCB3aGljaCBwcm9kdWNlcyBkaWZmZXJlbnQgQVNUczpcbiAgICAgICAgLy8gICAgYXdhaXRcbiAgICAgICAgLy8gICAgMFxuICAgICAgICAvLyBjYW4gYmUgcGFyc2VkIGVpdGhlciBhcyBhbiBBd2FpdEV4cHJlc3Npb24sIG9yIGFzIHR3byBFeHByZXNzaW9uU3RhdGVtZW50cy5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBvcHRpb25zLnNvdXJjZVR5cGUgPSBcInNjcmlwdFwiO1xuICAgICAgICAgIHJldHVybiBnZXRQYXJzZXIob3B0aW9ucywgaW5wdXQpLnBhcnNlKCk7XG4gICAgICAgIH0gY2F0Y2gge31cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFRoaXMgaXMgYm90aCBhIHZhbGlkIG1vZHVsZSBhbmQgYSB2YWxpZCBzY3JpcHQsIGJ1dFxuICAgICAgICAvLyB3ZSBwYXJzZSBpdCBhcyBhIHNjcmlwdCBieSBkZWZhdWx0XG4gICAgICAgIGFzdC5wcm9ncmFtLnNvdXJjZVR5cGUgPSBcInNjcmlwdFwiO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXN0O1xuICAgIH0gY2F0Y2ggKG1vZHVsZUVycm9yKSB7XG4gICAgICB0cnkge1xuICAgICAgICBvcHRpb25zLnNvdXJjZVR5cGUgPSBcInNjcmlwdFwiO1xuICAgICAgICByZXR1cm4gZ2V0UGFyc2VyKG9wdGlvbnMsIGlucHV0KS5wYXJzZSgpO1xuICAgICAgfSBjYXRjaCB7fVxuXG4gICAgICB0aHJvdyBtb2R1bGVFcnJvcjtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIGdldFBhcnNlcihvcHRpb25zLCBpbnB1dCkucGFyc2UoKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VFeHByZXNzaW9uKGlucHV0OiBzdHJpbmcsIG9wdGlvbnM/OiBPcHRpb25zKTogRXhwcmVzc2lvbiB7XG4gIGNvbnN0IHBhcnNlciA9IGdldFBhcnNlcihvcHRpb25zLCBpbnB1dCk7XG4gIGlmIChwYXJzZXIub3B0aW9ucy5zdHJpY3RNb2RlKSB7XG4gICAgcGFyc2VyLnN0YXRlLnN0cmljdCA9IHRydWU7XG4gIH1cbiAgcmV0dXJuIHBhcnNlci5nZXRFeHByZXNzaW9uKCk7XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlRXhwb3J0ZWRUb2tlblR5cGVzKFxuICBpbnRlcm5hbFRva2VuVHlwZXM6IEludGVybmFsVG9rZW5UeXBlcyxcbik6IFJlY29yZDxzdHJpbmcsIEV4cG9ydGVkVG9rZW5UeXBlPiB7XG4gIGNvbnN0IHRva2VuVHlwZXM6IFJlY29yZDxzdHJpbmcsIEV4cG9ydGVkVG9rZW5UeXBlPiA9IHt9O1xuICBmb3IgKGNvbnN0IHR5cGVOYW1lIG9mIE9iamVjdC5rZXlzKFxuICAgIGludGVybmFsVG9rZW5UeXBlcyxcbiAgKSBhcyAoa2V5b2YgSW50ZXJuYWxUb2tlblR5cGVzKVtdKSB7XG4gICAgdG9rZW5UeXBlc1t0eXBlTmFtZV0gPSBnZXRFeHBvcnRlZFRva2VuKGludGVybmFsVG9rZW5UeXBlc1t0eXBlTmFtZV0pO1xuICB9XG4gIHJldHVybiB0b2tlblR5cGVzO1xufVxuXG5leHBvcnQgY29uc3QgdG9rVHlwZXMgPSBnZW5lcmF0ZUV4cG9ydGVkVG9rZW5UeXBlcyhpbnRlcm5hbFRva2VuVHlwZXMpO1xuXG5mdW5jdGlvbiBnZXRQYXJzZXIob3B0aW9uczogT3B0aW9ucyB8IHVuZGVmaW5lZCB8IG51bGwsIGlucHV0OiBzdHJpbmcpOiBQYXJzZXIge1xuICBsZXQgY2xzID0gUGFyc2VyO1xuICBjb25zdCBwbHVnaW5zTWFwOiBQbHVnaW5zTWFwID0gbmV3IE1hcCgpO1xuICBpZiAob3B0aW9ucz8ucGx1Z2lucykge1xuICAgIGZvciAoY29uc3QgcGx1Z2luIG9mIG9wdGlvbnMucGx1Z2lucykge1xuICAgICAgbGV0IG5hbWUsIG9wdHM7XG4gICAgICBpZiAodHlwZW9mIHBsdWdpbiA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBuYW1lID0gcGx1Z2luO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgW25hbWUsIG9wdHNdID0gcGx1Z2luO1xuICAgICAgfVxuICAgICAgaWYgKCFwbHVnaW5zTWFwLmhhcyhuYW1lKSkge1xuICAgICAgICBwbHVnaW5zTWFwLnNldChuYW1lLCBvcHRzIHx8IHt9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgdmFsaWRhdGVQbHVnaW5zKHBsdWdpbnNNYXApO1xuICAgIGNscyA9IGdldFBhcnNlckNsYXNzKHBsdWdpbnNNYXApO1xuICB9XG5cbiAgcmV0dXJuIG5ldyBjbHMob3B0aW9ucywgaW5wdXQsIHBsdWdpbnNNYXApO1xufVxuXG5jb25zdCBwYXJzZXJDbGFzc0NhY2hlID0gbmV3IE1hcDxzdHJpbmcsIG5ldyAoLi4uYXJnczogYW55KSA9PiBQYXJzZXI+KCk7XG5cbi8qKiBHZXQgYSBQYXJzZXIgY2xhc3Mgd2l0aCBwbHVnaW5zIGFwcGxpZWQuICovXG5mdW5jdGlvbiBnZXRQYXJzZXJDbGFzcyhcbiAgcGx1Z2luc01hcDogTWFwPHN0cmluZywgYW55Pixcbik6IG5ldyAoLi4uYXJnczogYW55KSA9PiBQYXJzZXIge1xuICBjb25zdCBwbHVnaW5MaXN0ID0gW107XG4gIGZvciAoY29uc3QgbmFtZSBvZiBtaXhpblBsdWdpbk5hbWVzKSB7XG4gICAgaWYgKHBsdWdpbnNNYXAuaGFzKG5hbWUpKSB7XG4gICAgICBwbHVnaW5MaXN0LnB1c2gobmFtZSk7XG4gICAgfVxuICB9XG4gIGNvbnN0IGtleSA9IHBsdWdpbkxpc3Quam9pbihcInxcIik7XG4gIGxldCBjbHMgPSBwYXJzZXJDbGFzc0NhY2hlLmdldChrZXkpO1xuICBpZiAoIWNscykge1xuICAgIGNscyA9IFBhcnNlcjtcbiAgICBmb3IgKGNvbnN0IHBsdWdpbiBvZiBwbHVnaW5MaXN0KSB7XG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIHRvZG8oZmxvdy0+dHMpXG4gICAgICBjbHMgPSBtaXhpblBsdWdpbnNbcGx1Z2luXShjbHMpO1xuICAgIH1cbiAgICBwYXJzZXJDbGFzc0NhY2hlLnNldChrZXksIGNscyk7XG4gIH1cbiAgcmV0dXJuIGNscztcbn1cblxuZXhwb3J0IHR5cGUge1xuICBGbG93UGx1Z2luT3B0aW9ucyxcbiAgUGFyc2VyUGx1Z2luLFxuICBQaXBlbGluZU9wZXJhdG9yUGx1Z2luT3B0aW9ucyxcbiAgUmVjb3JkQW5kVHVwbGVQbHVnaW5PcHRpb25zLFxufTtcbmV4cG9ydCB0eXBlIFBhcnNlck9wdGlvbnMgPSBQYXJ0aWFsPE9wdGlvbnM+O1xuIiwgIlxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmNvbnN0IGJhYnlsb24gPSByZXF1aXJlKCdAYmFiZWwvcGFyc2VyJyk7XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuICBzb3VyY2VUeXBlOiAnbW9kdWxlJyxcbiAgYWxsb3dJbXBvcnRFeHBvcnRFdmVyeXdoZXJlOiB0cnVlLFxuICBhbGxvd1JldHVybk91dHNpZGVGdW5jdGlvbjogdHJ1ZSxcbiAgc3RhcnRMaW5lOiAxLFxuICB0b2tlbnM6IHRydWUsXG4gIHBsdWdpbnM6IFtcbiAgICBbJ2Zsb3cnLCB7YWxsOiB0cnVlfV0sXG4gICAgJ2Zsb3dDb21tZW50cycsXG4gICAgJ2pzeCcsXG5cbiAgICAnYXN5bmNHZW5lcmF0b3JzJyxcbiAgICAnYmlnSW50JyxcbiAgICAnY2xhc3NQcm9wZXJ0aWVzJyxcbiAgICAnY2xhc3NQcml2YXRlUHJvcGVydGllcycsXG4gICAgJ2NsYXNzUHJpdmF0ZU1ldGhvZHMnLFxuICAgIFsnZGVjb3JhdG9ycycsIHtkZWNvcmF0b3JzQmVmb3JlRXhwb3J0OiBmYWxzZX1dLFxuICAgICdkb0V4cHJlc3Npb25zJyxcbiAgICAnZHluYW1pY0ltcG9ydCcsXG4gICAgJ2V4cG9ydERlZmF1bHRGcm9tJyxcbiAgICAnZXhwb3J0TmFtZXNwYWNlRnJvbScsXG4gICAgJ2Z1bmN0aW9uQmluZCcsXG4gICAgJ2Z1bmN0aW9uU2VudCcsXG4gICAgJ2ltcG9ydE1ldGEnLFxuICAgICdsb2dpY2FsQXNzaWdubWVudCcsXG4gICAgJ251bGxpc2hDb2FsZXNjaW5nT3BlcmF0b3InLFxuICAgICdudW1lcmljU2VwYXJhdG9yJyxcbiAgICAnb2JqZWN0UmVzdFNwcmVhZCcsXG4gICAgJ29wdGlvbmFsQ2F0Y2hCaW5kaW5nJyxcbiAgICAnb3B0aW9uYWxDaGFpbmluZycsXG4gICAgWydwaXBlbGluZU9wZXJhdG9yJywge3Byb3Bvc2FsOiAnbWluaW1hbCd9XSxcbiAgICAndGhyb3dFeHByZXNzaW9ucycsXG4gIF0sXG59O1xuXG4vKipcbiAqIFdyYXBwZXIgdG8gc2V0IGRlZmF1bHQgb3B0aW9uc1xuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKG9wdGlvbnM9ZGVmYXVsdE9wdGlvbnMpIHtcbiAgcmV0dXJuIHtcbiAgICBwYXJzZShjb2RlKSB7XG4gICAgICByZXR1cm4gYmFieWxvbi5wYXJzZShjb2RlLCBvcHRpb25zKTtcbiAgICB9LFxuICB9O1xufTtcbiIsICIvLyBHZW5lcmF0ZWQgYnkganNfb2Zfb2NhbWxcbi8vIyBidWlsZEluZm86ZWZmZWN0cz1mYWxzZSwga2luZD1leGUsIHVzZS1qcy1zdHJpbmc9dHJ1ZSwgdmVyc2lvbj01LjcuMis1LjcuMlxuKGZ1bmN0aW9uKGEpe3R5cGVvZlxuZ2xvYmFsVGhpcyE9PVwib2JqZWN0XCImJih0aGlzP2IoKTooYS5kZWZpbmVQcm9wZXJ0eShhLnByb3RvdHlwZSxcIl9UX1wiLHtjb25maWd1cmFibGU6dHJ1ZSxnZXQ6Yn0pLF9UXykpO2Z1bmN0aW9uXG5iKCl7dmFyXG5iPXRoaXN8fHNlbGY7Yi5nbG9iYWxUaGlzPWI7ZGVsZXRlXG5hLnByb3RvdHlwZS5fVF99fShPYmplY3QpKTsoZnVuY3Rpb24oYWUpe1widXNlIHN0cmljdFwiO3ZhclxueWs9XCJsb2NcIixFbj03MDQxNixFbz02OTc0OCxLaj0xNjMsQng9OTIxNTksdlc9NDM1ODcsZSQ9XCJsYWJlbGVkX3N0YXRlbWVudFwiLExoPVwiJj1cIixoMj1cImludF9vZl9zdHJpbmdcIixCdj0xMTA1OTEsQnc9OTI5MDkscVk9MTE1NTksTGc9XCJyZWdleHBcIixCdT00MzMwMSxxWD0xMTcwMyx2Vj0xMjI2NTQsaDE9MHhmZixOYz1cIiVuaVwiLHZVPTY4MjUyLExmPTIzMixCdD00Mjc4NSxoQj1cImRlY2xhcmVfdmFyaWFibGVcIixxVz1cIndoaWxlXCIsRW09NjY5MzgsQnM9NzAzMDEsRWw9MTI0OTA3LG9oPTEyNjUxNSxMXz0yMTgsaEE9XCJwYXR0ZXJuX2lkZW50aWZpZXJcIix2VD02NzY0MyxnZD1cImV4cG9ydF9zb3VyY2VcIix2Uz0yMTYseWo9NjQyNzksTGU9XCJPdXRfb2ZfbWVtb3J5XCIsQnI9MTEzNzg4LE5iPVwiY29tbWVudHNcIix2Uj0xMjY2MjQsS2k9XCJ3aW4zMlwiLGdjPVwib2JqZWN0X2tleV9iaWdpbnRfbGl0ZXJhbFwiLEtoPTE4NSxxVj0xMjMyMTQsaTk9XCJjb25zdHJ1Y3RvclwiLHlpPTY5OTU1LGdiPVwiaW1wb3J0X2RlY2xhcmF0aW9uXCIsRWo9Njg0MzcsRWs9XCJGYWlsdXJlXCIscDE9XCJVbml4LlVuaXhfZXJyb3JcIix2UT02NDI1NSx2UD00MjUzOSx5aD0xMTA1NzksZV89XCJleHBvcnRfZGVmYXVsdF9kZWNsYXJhdGlvblwiLGRaPVwianN4X2F0dHJpYnV0ZV9uYW1lXCIscVU9MTE3Mjcsdk89NDMwMDIsb2c9MTI2NTAwLGh6PVwiY29tcG9uZW50X3BhcmFtX3BhdHRlcm5cIixLZz1cImNvbGxlY3RfY29tbWVudHNfb3B0XCIsZTk9XCJtYXRjaF91bmFyeV9wYXR0ZXJuXCIsZFk9XCJrZXlvZl90eXBlXCIsTDk9XCJJbnZhbGlkIGJpbmFyeS9vY3RhbCBcIixMZD1cInJhbmdlXCIseWc9MTcwLGg1PVwiZmFsc2VcIix2Tj00Mzc5OCxLZj1cIiwgY2hhcmFjdGVycyBcIixoeT1cIm9iamVjdF90eXBlX3Byb3BlcnR5X2dldHRlclwiLEJxPTY1NTQ3LHZNPTEyNjQ2NyxCcD02NTAwNyxOYT1cImd1YXJkXCIsQm89NDIyMzcseWY9ODMxOCxCbj03MTIxNSxkWD1cIm9iamVjdF9wcm9wZXJ0eV90eXBlXCIsZTg9XCJ0eXBlX2FsaWFzXCIsRWk9Njc3NDIsaHg9XCJmdW5jdGlvbl9ib2R5XCIsQm09NjgxMTEsbyQ9MTIwNzQ1LEJsPTcxOTU5LHAwPTQzODgwLExjPVwiTWF0Y2hfZmFpbHVyZVwiLGRXPVwidHlwZV9jYXN0XCIsZFY9MTA5LGhYPVwidm9pZFwiLEVoPVwiZ2VuZXJhdG9yXCIsQmo9MTI1MTI0LEJrPTEwMTU4OSxwWj05NDE3OSxMOD1cIj4+PlwiLG9fPTcwNDA0LGU3PVwib3B0aW9uYWxfaW5kZXhlZF9hY2Nlc3NfdHlwZVwiLEtlPTMxMCxhXz1cImFyZ3VtZW50XCIsZ2E9XCJvYmplY3RfcHJvcGVydHlcIixodz1cIm9iamVjdF90eXBlX3Byb3BlcnR5XCIsRWc9NjcwMDQsdkw9NDI3ODMsQmk9Njg4NTAsTDc9XCJAXCIseWQ9NDM3NDEseWU9NDM0ODcsbzk9XCJvYmplY3RcIixMNj1cImVuZFwiLG9mPTEyNjU3MSxCaD03MTk1NixMNT0yMDgsRWU9MTI2NTY2LEVmPTY3NzAyLE0kPVwiRUVYSVNUXCIsZTY9XCJ0aGlzX2V4cHJlc3Npb25cIixCZz0yMDMsQmY9MTE1MDcsdks9MTEzODA3LG9lPTExOTg5Myx5Yz00MjczNSxsTz1cInJlc3RcIixlNT1cIm51bGxfbGl0ZXJhbFwiLGxYPVwicHJvdGVjdGVkXCIsQmU9NDM2MTUsYVk9ODIzMSx5Yj02ODE0OSx2Sj03MzcyNyxFZD03MjM0OCx2ST05Mjk5NSxqJD0yMjQsdkg9MTE2ODYseWE9NDMwMTMsZTQ9XCJhc3NpZ25tZW50X3BhdHRlcm5cIixCZD0xMjMyOSxmJD1cImZ1bmN0aW9uX3R5cGVcIixrcT0xOTIsZTM9XCJqc3hfZWxlbWVudF9uYW1lXCIsRWM9NzAwMTgsaHY9XCJjYXRjaF9jbGF1c2VfcGF0dGVyblwiLHBZPTEyNjU0MCxmXz1cInRlbXBsYXRlX2xpdGVyYWxcIix2Rz0xMjA2NTQsRWE9Njg0OTcsRWI9Njc2NzksaHU9XCJyZWFkb25seV90eXBlXCIsdkU9Njg3MzUsdkY9XCI8XCIsbzg9XCI6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcIixEJD02NjkxNSxNXz1cIiFcIixkVT1cIm9iamVjdF90eXBlXCIseCQ9NDM3MTIscVQ9NjQyOTcseF89MTgzOTY5LEJjPTQzNTAzLERfPTY3NTkxLGp2PTY1Mjc4LHg5PTY3NjY5LGh0PVwiZm9yX29mX2Fzc2lnbm1lbnRfcGF0dGVyblwiLGx3PVwiYFwiLEQ5PTExNTAyLGhzPVwiY2F0Y2hfYm9keVwiLEtkPTI1OCx2RD00MjE5MSxpQT0tNzQ0MTA2MzQwLHZDPTE4MixqdT1cIjpcIixLYz1cImEgc3RyaW5nXCIsQmI9NjU2NjMsRDg9NjY5NzgsRDc9NzE5NDcscVM9NDM1MTkseDg9NzEwODYsdkI9MTI1MjU4LEQ2PTEyNTM4LGUyPVwiZXhwcmVzc2lvbl9vcl9zcHJlYWRcIixMYj1cIlByaW50ZXhjLmhhbmRsZV91bmNhdWdodF9leGNlcHRpb25cIixwWD02OTk1NixvZD0xMjAxMjIsbzc9MjQ3LEtiPTIzMSx2QT1cIiA6IGZsYWdzIE9wZW5fcmRvbmx5IGFuZCBPcGVuX3dyb25seSBhcmUgbm90IGNvbXBhdGlibGVcIixocj1cInN0YXRlbWVudF9mb3JrX3BvaW50XCIsTGE9NzEwLEthPS02OTIwMzg0MjksYk09XCJzdGF0aWNcIix4Nz01NTIwMyx2eT02NDMyNCx2ej02NDExMSxKJD1cIiE9PVwiLEQ1PTEyMDEzMix2eD0xMjQ5MDMsbHY9XCJjbGFzc1wiLEskPTIyMixmOT1cInBhdHRlcm5fbnVtYmVyX2xpdGVyYWxcIixoVz1cImtpbmRcIix2dz03MTkwMyxkVD1cInZhcmlhYmxlX2RlY2xhcmF0b3JcIixkUz1cInR5cGVvZl9leHByZXNzaW9uXCIseDY9MTI2NjI3LEJhPTcwMDg0LE05PTIyOCxxUj03MDQ4MCxlMT1cImNsYXNzX3ByaXZhdGVfZmllbGRcIixBJD0yMzksb2M9MTIwNzEzLGN5PTB4ZmZmZixlMD1cInByaXZhdGVfbmFtZVwiLEFfPTQzMTM3LGY4PVwicmVtb3RlX2lkZW50aWZpZXJcIix2dj03MDE2MSxlWj1cImxhYmVsX2lkZW50aWZpZXJcIixBOT1cInNyYy9wYXJzZXIvc3RhdGVtZW50X3BhcnNlci5tbFwiLHZ1PTgzMzUsQTg9MTk5MDMsRDQ9NjQzMTAsams9XCJfXCIsZFI9XCJmb3JfaW5pdF9kZWNsYXJhdGlvblwiLEtfPVwiaW5mZXJcIixEMj02NDQ2NixEMz00MzAxOCxKXz1cInRva2Vuc1wiLEE3PTkyNzM1LEQxPTY2OTU0LHZ0PTY1NDczLEQwPTcwMjg1LGY3PVwic2VxdWVuY2VcIixEWj1cImNvbXBhcmU6IGZ1bmN0aW9uYWwgdmFsdWVcIix2cz02OTg5MCxsVz0xMDAwLHZyPTY1NDg3LERZPTQyNjUzLEo5PVwiXFxcXFxcXFxcIixMND1cIiU9XCIsaHE9XCJtYXRjaF9tZW1iZXJfcGF0dGVybl9iYXNlXCIsQTY9NzIzNjcsZFE9XCJmdW5jdGlvbl9yZXN0X3BhcmFtXCIsSjg9XCIvc3RhdGljL1wiLHZxPTEyNDkxMSxBNT02NTI3NixwVz0xMjY1NTgsdnA9MTE0OTgsSjc9MTM3LGY2PVwiZXhwb3J0X2RlZmF1bHRfZGVjbGFyYXRpb25fZGVjbFwiLHZvPVwiY2FzZXNcIixvYj0xMjY2MDIsZFA9XCJqc3hfY2hpbGRcIixiTD1cImNvbnRpbnVlXCIsdm49NDI5NjIsTTg9XCJpbXBvcnRLaW5kXCIsYWk9MTIyLGtwPVwiTGl0ZXJhbFwiLGhwPVwicGF0dGVybl9vYmplY3RfcHJvcGVydHlfaWRlbnRpZmllcl9rZXlcIix4NT00MjUwOCxpRT1cImluXCIsQTQ9NTUyMzgseDQ9NjcwNzEsQTM9NzA4MzEsQTE9NzIxNjEsQTI9Njc0NjIsSjY9XCI8PD1cIix2bT00MzAwOSx2bD02NjM4MyxvYT02NzgyNyxBMD03MjIwMix4Mz02OTgzOSxEWD02Njc3NSxKNT1cIi09XCIsamY9ODIwMixEVz03MDEwNSxBWj0xMjA1MzgsZE89XCJmb3JfaW5fbGVmdF9kZWNsYXJhdGlvblwiLEFZPVwicmVuZGVyc1R5cGVcIixwVj0xMjY1NjMsRFY9NzA3MDgsbiQ9MTI2NTIzLEo0PTE2NixKMz0yMDIsQVg9MTEwOTUxLGgwPVwiY29tcG9uZW50XCIsbzY9MTI2NTUyLERVPTY2OTc3LE03PTIxMyxobz1cImVudW1fbWVtYmVyX2lkZW50aWZpZXJcIixMMz0yMTAsaG49XCJlbnVtX2JpZ2ludF9ib2R5XCIsSzk9XCI+PVwiLEFWPTEyNjQ5NSxBVz1cInNwZWNpZmllcnNcIixLOD0tODgsQVU9XCI9XCIseDI9NjUzMzgsbHU9XCJtZW1iZXJzXCIsSzc9MzA5LHZqPTEyMzUzNSx2az00MzcwMix4MT03Mjc2NyxqdD1cImdldFwiLEFUPTEyNjYzMyxuXz0xMjY1MzYsQVI9OTQwOTgsQVM9XCJ0eXBlc1wiLERUPTExMzY2MyxLNj1cIkludGVybmFsIEVycm9yOiBGb3VuZCBwcml2YXRlIGZpZWxkIGluIG9iamVjdCBwcm9wc1wiLGVZPVwianN4X2VsZW1lbnRcIixBUT03MDM2Nix4MD0xMTA5NTksbzU9MTIwNjU1LE02PVwidHJhaWxpbmdDb21tZW50c1wiLGl5PTI0MDI5LERTPS0xMDAsYm49XCJ5aWVsZFwiLGROPVwiYmluZGluZ19wYXR0ZXJuXCIsSzU9Mjc1LGhtPVwidHlwZW9mX2lkZW50aWZpZXJcIixKMj1cIkVOT1RFTVBUWVwiLHhaPS0xMDQsbzQ9MTI2NDY4LEFQPTEyNTUsdmk9MTIwNjI4LGVYPVwicGF0dGVybl9vYmplY3RfcHJvcGVydHlfc3RyaW5nX2xpdGVyYWxfa2V5XCIsRFI9ODUyMSxKMD1cImxlYWRpbmdDb21tZW50c1wiLEoxPTgyMDQsaXo9XCJAIFwiLHhZPTcwMzE5LGhWPVwibGVmdFwiLEFPPTE4OCxwVT1cImNhc2VcIixBTj0xOTk2NyxwVD00MjYyMix4WD00MzQ5MixEUT0xMTM3NzAsQUw9NDI3NzQsQU09MTgzLG8zPTg0NjgsZjU9XCJjbGFzc19pbXBsZW1lbnRzXCIsbjk9MTI2NTc5LGo3PVwic3RyaW5nXCIseFc9MjExLGFTPS00OCxEUD02OTkyNixETz0xMjMyMTMsZE09XCJpZl9jb25zZXF1ZW50X3N0YXRlbWVudFwiLEFLPTEyNDkyNyxrbz1cIm51bWJlclwiLHZoPTEyNjU0Nix4Vj02ODExOSxBSj03MDcyNixvMj03MDc1MCxETj02NTQ4OSxNNT1cIlNwcmVhZEVsZW1lbnRcIixMMj1cImNhbGxlZVwiLEpaPTE5MyxBST03MDQ5MixBSD03MTkzNCxKWT0xNjQsQUc9MTEwNTgwLERNPTEyMzIwLE00PTMwMCxwUz1cImFueVwiLGJ2PVwiL1wiLGhsPVwidHlwZV9ndWFyZFwiLGF0PVwiYm9keVwiLEpYPTI3MixBRj0xNzgsYkU9XCJwYXR0ZXJuXCIsSzQ9XCJjb21tZW50X2JvdW5kc1wiLEwxPTI5NyxmND1cImJpbmRpbmdfdHlwZV9pZGVudGlmaWVyXCIsbjg9MTg3LGVXPVwicGF0dGVybl9hcnJheV9yZXN0X2VsZW1lbnRfcGF0dGVyblwiLG43PVwiQF0pXCIsREs9MTI1NDMsREw9MTE2MjMsTTM9XCJzdGFydFwiLHZnPTY3ODcxLGJ1PVwiaW50ZXJmYWNlXCIsQUU9ODQ0OSx2Zj02NzYzNyx2ZT00Mjk2MSxxUT0xMjAwODUsREo9MTI2NDYzLEpXPVwiYWx0ZXJuYXRlXCIsTDA9LTEwNTMzODIzNjYseFU9NzAxNDMsSlY9XCItLVwiLEFEPTY4MDMxLGhrPVwianN4X2V4cHJlc3Npb25cIixlVj1cInR5cGVfaWRlbnRpZmllcl9yZWZlcmVuY2VcIixwUj0xMTY0NyxEST1cInByb3RvXCIsY2U9XCJpZGVudGlmaWVyXCIsQUM9NDM2OTYsY2Q9XCJyYXdcIixESD0xMjY1MjksQUI9MTE1NjQscVA9MTI2NTU3LERHPTY0OTExLG8xPTY3NTkyLHhUPTQzNDkzLERGPTIxNSxERT0xMTA1ODgsbEc9NDYxODk0ODU3LHZkPTkyOTI3LEFBPTY3ODYxLERDPTExOTk4MCxERD00MzA0MixBej02Njk2NSx4Uz02NzM5MSxrZz1cImNvbXB1dGVkXCIsTFo9XCJ1bnJlYWNoYWJsZSBqc3h0ZXh0XCIsREE9NzExNjcsREI9NDI1NTksdmI9NzI5NjYsSlU9MzAzLHZjPTE4MCxLMz0xOTcsbjY9NjQzMTksbjU9MTY5LEpUPVwiKlwiLGpzPTEyOSx2YT02NjMzNSxsdD1cIm1ldGFcIixBeT00MzM4OCxvMD05NDE3OCxiMT1cIm9wdGlvbmFsXCIscFE9XCJ1bmtub3duXCIsRHo9MTIwMTIxLER5PTEyMzE4MCxvWj04NDY5LEF4PTY4MjIwLExZPVwifFwiLER4PTQzMTg3LEF3PTk0MjA3LHUkPTEyNDg5NSxxTz0xMjA1MTMsdV89NDI1MjcsamU9ODI4NixEdz05NDE3NyxsRj1cInZhclwiLGYzPVwiY29tcG9uZW50X3R5cGVfcGFyYW1cIixEdj02NjQyMSx4Uj05Mjk5MSxBdj02ODQxNSxkTD1cImNvbW1lbnRcIixoaj1cIm1hdGNoX3BhdHRlcm5fYXJyYXlfZWxlbWVudFwiLGpkPTI0NCxwUD1cIl5cIix4UT0xNzM3OTEsSzI9MTM2LEF1PTQyODkwLHU5PVwiRU5PVERJUlwiLER1PVwiPz9cIixBcz00MzcxMSxBdD02NjMwMyxEdD0xMTM4MDAsdTg9NDIyMzksRHM9MTI3MDMsaGg9XCJ2YXJpYW5jZV9vcHRcIixoaT1cIitcIixKUz1cIj4+Pj1cIixuND1cIm1peGVkXCIseFA9NjU2MTMsQXI9NzMwMjkseE89NjgxOTEsSzE9XCIqPVwiLHBPPTg0ODcsdTc9ODQ3NyxmMj1cInRvcGxldmVsX3N0YXRlbWVudF9saXN0XCIsbjI9XCJuZXZlclwiLG4zPVwiZG9cIixpRz0xMjUsdTY9NzIyNDksSlI9XCJQZXJ2YXNpdmVzLmRvX2F0X2V4aXRcIixKUT1cInZpc2l0X3RyYWlsaW5nX2NvbW1lbnRcIixkSz1cImpzeF9jbG9zaW5nX2VsZW1lbnRcIixlVT1cImpzeF9uYW1lc3BhY2VkX25hbWVcIix1NT0xMjQ5MDgsQXE9MTI2NjUxLGYxPVwiY29tcG9uZW50X2RlY2xhcmF0aW9uXCIsQXA9MHhmLGYwPVwiaW50ZXJmYWNlX3R5cGVcIixlVD1cImZ1bmN0aW9uX3R5cGVfcmV0dXJuX2Fubm90YXRpb25cIix4Tj02NDEwOSxvWT02NTU5NSxxTj0xMjY1NjAsdTQ9MTEwOTI3LHBNPTY1NTk4LHBOPTg0ODgsaDQ9XCJgLlwiLE0yPTE3NSxwTD1cInBhY2thZ2VcIixxTT1cImVsc2VcIixvWD0xMjA3NzEsdTM9NjgwMjMsSzA9XCJmZCBcIixqaj04MjM4LG4wPTg4ODk2MDMzMyxuMT0xMTk5NjUsdTI9NDI2NTUsaGc9XCJtYXRjaF9vYmplY3RfcGF0dGVyblwiLHUxPTExNzEwLERyPTExOTk5MyxoZj1cImJvb2xlYW5fbGl0ZXJhbFwiLGRKPVwic3RhdGVtZW50X2xpc3RcIixmWj1cImZ1bmN0aW9uX3BhcmFtXCIsZEk9XCJtYXRjaF9hc19wYXR0ZXJuXCIsZVM9XCJwYXR0ZXJuX29iamVjdF9wcm9wZXJ0eV9iaWdpbnRfbGl0ZXJhbF9rZXlcIixwSz02OTk1OSx1MD0xMjA0ODUsSlA9MHhmMCx1Wj0xOTE0NTYsZlk9XCJkZWNsYXJlX2VudW1cIixwSj0xMjA1OTcscEk9NzAyODEsZlc9XCJ0eXBlX2Fubm90YXRpb25cIixmWD1cInNwcmVhZF9lbGVtZW50XCIsblo9MTI2NTQ0LHhNPTEyMDA2OSxpRD1cImtleVwiLHhMPTQzNTgzLHVYPVwib3V0XCIsdVk9XCJcXG5cIixLWj1cIioqPVwiLGVSPVwicGF0dGVybl9vYmplY3RfcHJvcGVydHlfcGF0dGVyblwiLHhLPVwiZVwiLHVXPTcyNzEyLE0xPVwiSW50ZXJuYWwgRXJyb3I6IEZvdW5kIG9iamVjdCBwcml2YXRlIHByb3BcIixBbz1cIkVOT0VOVFwiLHVWPS00MixlUT1cImpzeF9vcGVuaW5nX2F0dHJpYnV0ZVwiLEFuPTY3NjQ2LGVQPVwiY29tcG9uZW50X3R5cGVcIix4Sj02NDI5Nix4ST00Mzg4NyxMWD1cIkRpdmlzaW9uX2J5X3plcm9cIixMVz1cIkVudW1EZWZhdWx0ZWRNZW1iZXJcIixoZT1cInR5cGVvZl9tZW1iZXJfaWRlbnRpZmllclwiLHVVPTQzNzkyLGRIPVwibWF0Y2hfbWVtYmVyX3BhdHRlcm5fcHJvcGVydHlcIixmVj1cImRlY2xhcmVfZXhwb3J0X2RlY2xhcmF0aW9uX2RlY2xcIixEcT05MzAyNixmVT1cInR5cGVfYW5ub3RhdGlvbl9oaW50XCIsdVQ9NDI4ODcsQW09NDM4ODEsQWw9NDM3NjEscEg9ODUyNixKTz0yODcsbHM9MTE5LERwPTQzODY2LHhHPTcyODQ3LHhIPTgzNDgsYnQ9MTAxLEFrPTk0MDI2LHBHPTcyMjcyLEpOPVwic3JjL3BhcnNlci9mbG93X2xleGVyLm1sXCIsQWo9MTIwNzQ0LGpjPTgxOTEsa2Y9XCJpbXBsaWVzXCIscEY9MjU1LHFMPTExNzExLGhkPVwibWF0Y2hfdW5hcnlfcGF0dGVybl9hcmd1bWVudFwiLHVTPTcxMjM1LHBFPTY4MTE2LGFuPTEwMCxmVD1cIm1hdGNoX2V4cHJlc3Npb25cIixoYz1cImVudW1fYm9keVwiLHBEPTExMTQxMTEsaGI9XCJhc3NpZ25tZW50XCIsdVI9NzE5NTUsblk9NDMyNjAsZU89XCJwYXR0ZXJuX2FycmF5X2VcIixEbz0xMjY1ODMsSk09XCJwcmVmaXhcIixmUz1cImNsYXNzX2JvZHlcIixwQz1cInNob3J0aGFuZFwiLERuPTE3MSx1UT02NjI1NixvVz0tOTcsTFY9XCIgPVwiLERsPTk0MDMyLERtPTQyNjA2LHhGPTcxODM5LG5YPTEyMDEzNCx4RT01NTI5MSxBaT05Mjg2Mix4RD00MzAxOSxEaz0xMjY1NDMsal89XCJmdW5jdGlvblwiLEFoPTExMTM1NSxEaj0xMTM4OSx1UD03MDc1Myx1Tz00MzI0OSxEaT02NDgyOSxuVz1cImxpbmVcIixmUj1cImZ1bmN0aW9uX2RlY2xhcmF0aW9uXCIscUs9XCJ1bmRlZmluZWRcIixNMD1cIihbXi9dKylcIix4Qz0xMTA5NDcsRGg9NzAwMDIsS1k9XCJDeWd3aW5cIixkRz1cImFzX2V4cHJlc3Npb25cIixEZz0xMjU5MSxxSj02NDI4NSxEZj0yMDQ4LHVOPTczMTEyLG9WPTEyNjU4OSxNWj0yMjUsb1U9NDMyNTksSkw9MjY2LHhCPTcyODE3LG9UPTY0MzE4LE1ZPTE3MixMVT0yMDksZyQ9XCJtYXRjaF9iaW5kaW5nX3BhdHRlcm5cIixoYT1cIiBcIixlTj1cImltcG9ydF9zb3VyY2VcIixsRT1cImRlbGV0ZVwiLExUPVwiRW51bSBgXCIscUk9MTI2NTUzLEFnPTY3MDAxLGppPVwiZGVmYXVsdFwiLHh6PTExNjMwLHhBPTIwNixlTT1cImVudW1fYmlnaW50X21lbWJlclwiLEFmPTY3NTA0LHFIPTY3NTkzLHh5PTExMzc5MSx1TT02OTU3MixnXz1cInR5cGVvZl90eXBlXCIsTVc9MjEyLE1YPVwiJWlcIixkRj1cImZ1bmN0aW9uX3RoaXNfcGFyYW1cIix4eD03MjMyOSxpQz1cIjB4XCIsanI9ODIzOSxEZT03NTA3NSxNVj0yNzcsTFM9MHhkZmZmLGVMPVwicGF0dGVybl9iaWdpbnRfbGl0ZXJhbFwiLERkPTEyMzQxLE1VPTIwMSxpOD1cImhvb2tcIixKSz1cIjogY2xvc2VkaXIgZmFpbGVkXCIsRGM9NDI5NTksblY9MTE5OTcwLHh3PTI3OCx4dj00MzU2MCxMUj1cInx8PVwiLGc5PVwibWVtYmVyX3ByaXZhdGVfbmFtZVwiLHVMPTEyMDU3MCxlSz1cIm9iamVjdF9rZXlfaWRlbnRpZmllclwiLG5VPTIyMyxLWD1cIk5vdF9mb3VuZFwiLE1UPTIzMCxlSj1cImpzeF9lbGVtZW50X25hbWVfbWVtYmVyX2V4cHJlc3Npb25cIixnOD1cInN0cmluZ19saXRlcmFsXCIsQWU9MTIwNTk2LERiPTQzODA3LEFkPTY5Njg3LHVLPTYzNzQzLHFHPTcyMTkyLGRFPVwibWVtYmVyX3Byb3BlcnR5XCIseHU9NDMyNjIsZzc9XCJjbGFzc19kZWNsYXJhdGlvblwiLEpKPVwicmVuZGVycypcIixLVz1cIiVMaVwiLHh0PTEyNjU3OCxmUT1cImpzeF9hdHRyaWJ1dGVcIixrbj0yNTQsYkY9XCJlbXB0eVwiLGxWPVwibGFiZWxcIixnNj1cIm9iamVjdF9pbnRlcm5hbF9zbG90X3Byb3BlcnR5X3R5cGVcIixvUz0xMjAxMzMsdUo9NDMzNTksYks9XCJwcmVkaWNhdGVcIixMUT1cIj8/PVwiLEMkPTQzNjk3LERhPS00MyxmUD1cImRlZmF1bHRfb3B0XCIsTVM9XCJ0aGUgc3RhcnQgb2YgYSBzdGF0ZW1lbnRcIix1ST02NzgyNixmTj1cIm9iamVjdF9cIixmTz1cImNsYXNzX2VsZW1lbnRcIixxRj0xMTYzMSxvUj03MDg1NSxlST1cIm9wYXF1ZV90eXBlXCIsZk09XCJudW1iZXJfbGl0ZXJhbFwiLE1SPVwiLCBcIixvUT04MzE5LHFFPTEyMDAwNCxvUD0xMzMsZkw9XCJ0eXBlX3BhcmFtc1wiLGREPVwicGF0dGVybl9vYmplY3RfcmVzdF9wcm9wZXJ0eVwiLGJqPVwiaW1wb3J0XCIsQWM9NzIwMDAsQzk9Njc0MTMsQ189MTIzNDMsQWI9NzAwODAsZzU9XCJpbnRlcnNlY3Rpb25fdHlwZVwiLGFYPS0zNix1SD03MDAwNSxxRD1cInByb3BlcnRpZXNcIix4cj0xMTY3OSx4cz04NDgzLEFhPTExMDU4NyxLVj00MzUyMCxlSD1cImNvbXB1dGVkX2tleVwiLEpJPTIwNyxnND1cImNsYXNzX2lkZW50aWZpZXJcIix1Rz1cIkludmFsaWQgbnVtYmVyIFwiLGRDPVwiZnVuY3Rpb25fcGFyYW1fcGF0dGVyblwiLGpiPTEyMjg4LHokPTExMzgxNyx4cT03MDczMCx6Xz0xNzgyMDcscEI9NzEyMzYsTVE9MTY3LGRCPVwib2JqZWN0X2luZGV4ZXJfcHJvcGVydHlfdHlwZVwiLHVGPTY0Mjg2LExPPVwiVHlwZUFubm90YXRpb25cIixMUD0yMjAsZks9XCJ0eXBlX2lkZW50aWZpZXJcIixkej1cInNwcmVhZF9wcm9wZXJ0eVwiLGRBPVwianN4X2F0dHJpYnV0ZV92YWx1ZV9leHByZXNzaW9uXCIsejk9MTI2NTE5LHFDPTcwMTA4LG9PPTEyNixuVD00Mjk5OSxpRj1cInByb3RvdHlwZVwiLEM4PVwiIDogZmxhZ3MgT3Blbl90ZXh0IGFuZCBPcGVuX2JpbmFyeSBhcmUgbm90IGNvbXBhdGlibGVcIixKSD1cIioqXCIsb049NDM4MjMsQzc9XCI6IE5vdCBhIGRpcmVjdG9yeVwiLGVHPVwicmVuZGVyX3R5cGVcIixxQj03MjM0OSxrZT1cInRlc3RcIixDNj00Mzc3Nix1RD05Mjg3OSx1RT0xMTI2MyxLVT0yNDEsdUM9OTMwNTIsZUY9XCJudWxsYWJsZV90eXBlXCIsejg9NDM3MDQsQzU9NjQzMjEsS1Q9XCJQcm9wZXJ0eVwiLHo3PTcyMTkxLE1QPTE2NSxsTj1cImluc3RhbmNlb2ZcIixDND02OTI0NyxLUz0zMDIsYlU9XCJuYW1lXCIsb009MTI2NjM0LHo2PTg1MTYscEE9XCJ0eXBlQXJndW1lbnRzXCIsejU9NzExMjcsZzM9XCJqc3hfc3ByZWFkX2F0dHJpYnV0ZVwiLHhwPTY2NTU5LEMzPTQ0MDMxLHo0PTQzNjQ1LGFQPTgyMzMseG49NzE0OTQseG89XCJvcGFxdWVcIixuUz03Mjk2Nyx4bT03MDEwNixlRT1cImxvZ2ljYWxcIixKRz1cIkBbJXMgPUAgXCIsbE09XCIwb1wiLG9MPTEyNjU1NCx1Qj03MTM1MSxxQT04NDg0LHhsPTcyMjQyLG5SPTEyMDY4NyxqOT0yNTIseGs9MTgzOTgzLGxVPVwiJVNcIixkeT1cImZ1bmN0aW9uX3RoaXNfcGFyYW1fdHlwZVwiLHF6PVwiZGVjb3JhdG9yc1wiLHVBPTQzMjU1LGR4PVwiY2F0Y2hfY2xhdXNlXCIsYlA9XCItXCIsejM9Njc3MTEsTU89XCI6IGZpbGUgZGVzY3JpcHRvciBhbHJlYWR5IGNsb3NlZFwiLG9LPTY0MzExLHF5PTEyMDUzOSx1ej1cImFyZ3VtZW50c1wiLG9KPTczMDYyLHoyPTE3MzgyMyx1eT00MjEyNCxDMj03MjA5NSx1dz0xMjUyNTksdXg9NDI5NjksblE9NzAyODAsTE49MTI1MjAsdXY9Njk3NDkseGo9NzAwNjYsZko9XCJiaW5hcnlcIixmST1cImZvcl9pbl9zdGF0ZW1lbnRcIix6MT00MzAxMCxKRj1cIl49XCIseGk9MTI2NTcwLGVEPVwiZm9yX3N0YXRlbWVudFwiLG9JPTEyNjU4NCxlQz1cImZ1bmN0aW9uX3JldHVybl9hbm5vdGF0aW9uXCIsQzE9NzIxNDQsejA9ODUwNSxlQj1cImNsYXNzX2V4cHJlc3Npb25cIix1dT0xMjAwNzYselo9Njk4MDcselk9NDA5ODEsQ1o9LTI0OTc2MTkxLEMwPTcyNzY4LHhoPTEyNjU1MCxxeD0nXCInLGZIPVwiY2FsbF90eXBlX2FyZ1wiLExNPVwiZlwiLGk3PVwidGhpc1wiLG5QPTEyNjYyOCxKRT1cIj09PVwiLEtSPTB4ZGMwMCxnMj1cImRlY2xhcmVfbW9kdWxlX2V4cG9ydHNcIixDWT0xMjA1MTIsY2g9MTA1LHVzPTExOTk3NCx1dD03MTQ1MCx1cj03MTk0Mix6WD0xOTUscHo9MTIwNjI5LEpEPVwiLz1cIixLUT1cIj4+XCIsZUE9XCJkZWNsYXJlX2ludGVyZmFjZVwiLExMPTQwOTYsZHc9XCJwYXR0ZXJuX2FycmF5X3Jlc3RfZWxlbWVudFwiLHhnPTcxMzM4LG9IPTEyNjUyMCxmRz1cImFzX2NvbnN0X2V4cHJlc3Npb25cIixNTj1cIlBvcHBpbmcgbGV4IG1vZGUgZnJvbSBlbXB0eSBzdGFja1wiLE1NPVwicmVuZGVycz9cIix4Zj02ODQwNSxlej1cIm1lbWJlclwiLGcxPVwiY2xhc3NfZXh0ZW5kc1wiLGphPTEyMjg3LHB5PTEyNjU5MCx1cT02NjM3NyxpeD1cImFzeW5jXCIsZzA9XCJwYXR0ZXJuX2FycmF5X2VsZW1lbnRcIixrZD0yNDAselc9Njk4NjQsamg9XCJyZWFkb25seVwiLHpWPTcwNDYwLHVvPTEyMDc3OSx1cD02NjM3OCxkdj1cIm5ld19cIixvRz0xMjY1NTEsZ1o9XCJwYXR0ZXJuX29iamVjdF9yZXN0X3Byb3BlcnR5X3BhdHRlcm5cIixleT1cImZvcl9zdGF0ZW1lbnRfaW5pdFwiLHVuPTQzNTk1LE1MPTI5MyxweD02ODI5Nix4ZD0xMjA3MTIseGU9NjQyMTcselU9NjkyOTUsSkM9XCJ8fFwiLHpUPVwiO1wiLHVtPTcwNDYxLHhjPTY2OTM5LE1LPVwiY29sbGVjdF9jb21tZW50c1wiLENYPTI3OSxkdT1cImdlbmVyaWNfdHlwZVwiLHpTPTY4Mjk1LHpSPTQ0MDAyLHB3PTcyMTYyLGZGPVwib2JqZWN0X2NhbGxfcHJvcGVydHlfdHlwZVwiLHF3PTgzMDUsb0Y9MTE5OTk1LHB2PVwid2l0aFwiLGdZPVwiY2xhc3NfcHJvcGVydHlcIixLUD1cInF1YWxpZmljYXRpb25cIixldz1cImpzeF9hdHRyaWJ1dGVfbmFtZV9uYW1lc3BhY2VkXCIsZXg9XCJpZl9zdGF0ZW1lbnRcIixkdD1cInR5cGVvZl9xdWFsaWZpZWRfaWRlbnRpZmllclwiLE1KPTIzOCx4Yj02NTYxNSxLTz0xNzYsYVE9XCJleHByZXNzaW9uXCIscXY9MTI2NTU5LGZFPVwianN4X2F0dHJpYnV0ZV92YWx1ZVwiLGdXPVwiPDI+XCIsZ1g9XCJjb21wb25lbnRfcGFyYW1cIixxdT1cIk1hcC5iYWxcIixwdT0xMzIsQ1c9NzA0MTIseGE9NzA0NDAsS049XCI8PFwiLHB0PVwiZmluYWxseVwiLEtNPVwidlwiLGZEPVwic3ludGF4X29wdFwiLGRzPVwibWV0YV9wcm9wZXJ0eVwiLHpRPTEyNDQ3LHckPTY3NTE0LHBzPTEyNDQ4LGRyPVwib2JqZWN0X21hcHBlZF90eXBlX3Byb3BlcnR5XCIsaSQ9XCJvcGVyYXRvclwiLEtMPVwiY2xvc2VkaXJcIixmQz1cInVuYXJ5X2V4cHJlc3Npb25cIixDVT0xMjY1ODgsQ1Y9NzA4NTEsZkI9XCJleHBvcnRfYmF0Y2hfc3BlY2lmaWVyXCIsa209XCJyZW5kZXJzXCIsS0s9MjI2LHpQPTczMTExLEtKPTIyMSxBPVwiXCIsdzg9NjY5Mjcsdzk9NjQ5Njcsd189XCJlbGVtZW50c1wiLHc3PTY3NjQwLHpPPTQzNzU0LGdWPVwiZGVjbGFyZV9leHBvcnRfZGVjbGFyYXRpb25cIix3NT0tMjYwNjU1NTcsdzY9NjU4NTUsbEQ9XCJib29sZWFuXCIsaDM9XCJ0eXBlb2ZcIix1bD0xMjQ5MDIsTEs9MTM5LENUPTY1NjI5LE1JPTB4ZTAsQ1M9NDMxMjMsbk89NzA0NDksek49MTI3MzUsYUs9MTA3LHF0PTExNzE5LE1IPVwiIT1cIixkcT1cImNhbGxfdHlwZV9hcmdzXCIsa2w9XCJhc3NlcnRzXCIsaXc9LTQ2LHpNPVwibmFtZXNwYWNlXCIsZG49XCJtYXRjaF9wYXR0ZXJuXCIsZHA9XCJmb3Jfb2Zfc3RhdGVtZW50X2xoc1wiLG9FPTEyNjUwNCxDUj02OTUwNSxwcj1cImZvclwiLHVrPTcyNzAzLHBwPTEyMDEyNyxwcT00MzQ3MSxDUT05MzA0NyxLST1cIlVuZGVmaW5lZF9yZWN1cnNpdmVfbW9kdWxlXCIsS0g9MjE0NzQ4MzY0NyxnVT1cInRlbXBsYXRlX2xpdGVyYWxfZWxlbWVudFwiLEpCPVwiVW5leHBlY3RlZCBcIix6Sz0xMDE2MzEsekw9NjU0OTcscG89NjgxMjAsZkE9XCJpbXBvcnRfZGVmYXVsdF9zcGVjaWZpZXJcIixjRT1cImFycmF5XCIsTEo9XCJleHByZXNzaW9uc1wiLENQPTExMDkzMCxLRz0yMDQsZ1M9XCJ3aGlsZV9cIixnVD1cImZ1bmN0aW9uX3Jlc3RfcGFyYW1fdHlwZVwiLGlCPTB4M2YsQ089Nzc4MDgsTUc9XCJVbmV4cGVjdGVkIHRva2VuIGBcIixWPTExNCxmej1cInBhdHRlcm5fb2JqZWN0X3BcIix3ND02NTE0MCx1aj0xMjMxOTAsZG09XCJwYXR0ZXJuX29iamVjdF9wcm9wZXJ0eV9udW1iZXJfbGl0ZXJhbF9rZXlcIixsQz1cImVudW1cIixmeT1cImNvbmRpdGlvbmFsX3R5cGVcIixibT0xMTMsZGw9XCJhcnJheV90eXBlXCIsS0Y9XCJtaW51c1wiLHVpPTQzNzkwLGRrPVwiZG9fd2hpbGVcIix3Mz0xMTU2NyxDTj0xMTY5NCxsQj0yNTYsQ009MTE5OTc2LGdSPVwiY29tcG9uZW50X2JvZHlcIixicz0xMTEseko9MTc3OTc2LExJPS01NixuTj02NzY0NCx3Mj03MzQzOSxsTD05NTE5MDE1NjEsTEc9XCI/XCIsTEg9XCIpXCIsbk09NDM4Njcsb0Q9NjU1NzUsQ0w9Njk0NDUsTUY9XCJGdW5jdGlvblR5cGVQYXJhbVwiLHFzPTExOTk5Nix1aD02NTAxOSxkaj1cImNvbmRpdGlvbmFsXCIsekk9MTE1MDUsSkE9MTM1LHcxPTcxMjk1LHpIPTEyNzk5LENLPTY3MzgyLGV2PVwidHlwZV9ndWFyZF9hbm5vdGF0aW9uXCIsZGk9XCJvYmplY3Rfa2V5X2NvbXB1dGVkXCIsY3g9MTIzLGdRPVwicGF0dGVybl9vYmplY3RfcHJvcGVydHlfa2V5XCIsekc9MTE5ODkyLHcwPTY3NTA1LHpGPTY2OTYyLGRoPVwid2l0aF9cIix1Zz00MzI3MyxkZz1cImludGVyZmFjZV9kZWNsYXJhdGlvblwiLG5MPVwiYm9vbFwiLHpFPTcxOTQ1LENKPVwiZGVjbGFyYXRpb25cIixDST0xMTUxOSxsVD1cIj5cIix6RD02Njc3MSxvQz1cIn1cIixLRT04NDcyLHVmPTQzMDE0LGZ4PVwiZGVjbGFyZV9mdW5jdGlvblwiLGFiPTEyNyxDSD1cIlJlc3RFbGVtZW50XCIsTEY9MTkwLHVlPTg0NjcsS0M9XCJtb2R1bGVcIixvQj0xMjY1MjIsS0Q9XCJTeXNfYmxvY2tlZF9pb1wiLGdQPVwianN4X29wZW5pbmdfZWxlbWVudFwiLGZ3PVwib2JqZWN0X2tleV9udW1iZXJfbGl0ZXJhbFwiLE1FPVwifD1cIixLQj1cIm1peGluc1wiLHdaPTIwNSxMRT0yMTcscXI9XCJpZlwiLE1EPVwiKz1cIixkZj1cIm1hdGNoX29iamVjdF9wYXR0ZXJuX3Byb3BlcnR5X2tleVwiLGV0PVwibWF0Y2hfcmVzdF9wYXR0ZXJuXCIsZXU9XCJleHBvcnRfbmFtZWRfZGVjbGFyYXRpb25fc3BlY2lmaWVyXCIscG09XCJ0cnlcIixwbj1cIl9iaWdhcnIwMlwiLENGPTcwNDc5LGNEPVwicmlnaHRcIixDRz0yNDUsekM9MTE3MTgsZ089XCJ0dXBsZV9sYWJlbGVkX2VsZW1lbnRcIixMRD1cIlR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uXCIsQ0U9XCJta2RpclwiLENEPTcxOTk5LHpCPTg3MDUzMDc3NixMQz1cIkBbXCIsS0E9LTkwODg1NjYwOSxMQj0zMzE0MTY3MzAsekE9MTE2NzAsQ0M9NjY3MzUsdWQ9NDM3MDkscXE9NDM2NDIsdWM9NjcwMDIseno9NjkzNzUsZnY9XCJmdW5jdGlvbl9ib2R5X2FueVwiLENCPTExOTgwNyxNQz1cIkFzc2VydF9mYWlsdXJlXCIsZXM9XCJmdW5jdGlvbl9pZGVudGlmaWVyXCIsQ0E9NjU0NzksbHI9MTMxLGpxPVwibmV3XCIsZ049XCJmb3Jfb2ZfbGVmdF9kZWNsYXJhdGlvblwiLHViPTEyMDA4NCx3WT0xMDAzNDMsQ3o9NzMwMzAscGw9NzA0NTIsS3o9MTM0LHVhPTI1MyxDeT00Mjk1NCxNQj0yMjcsZ009XCJqc3hfbWVtYmVyX2V4cHJlc3Npb25fb2JqZWN0XCIsZXI9XCJjbGFzc19wcm9wZXJ0eV92YWx1ZVwiLHdYPTEyMDE0NCxDeD02Njk5NCxqNj1cInNldFwiLEN3PTEyNjQ5OCxnTD1cInR1cGxlX2VsZW1lbnRcIixkZT1cImFyZ19saXN0XCIsenk9NjU0ODEsd1c9ODUxMSx0JD00Mjk2NCxDdj0xMTQ5MixqOD0tMjUscXA9MTI2NTU1LHRfPTcxMDM5LEN1PVwiZXhwb3J0S2luZFwiLGRkPVwicHJvZ3JhbVwiLHp4PTcwMTg3LExBPTE3MyxjYz1cImFzXCIsa2M9MTI0LEx6PVwidmlzaXRfbGVhZGluZ19jb21tZW50XCIsdDk9MTEwNTc1LGVxPVwiY2xhc3NfXCIsQ3Q9NzI0NDAsQ3M9Njc4OTcsTUE9MjM1LHdWPTg1NDMsS3k9MTQxLGVvPTEyMCxlcD1cIm1hdGNoX29iamVjdF9wYXR0ZXJuX3Byb3BlcnR5XCIsbHE9MTAyNCx3VT0xMDE2NDAsS3g9MTAyNyxNej0yMzYsajU9MjQ2LEt3PVwiKFwiLHQ4PTY2NTExLGRjPVwicmVnZXhwX2xpdGVyYWxcIix6dz02NTU3NCx6dj00MzUxMyx0Nz00MzY5NSxKej1cIiYmXCIsbks9MTE1NTgsd1Q9NjY1MDMsQ3I9OTMwNzEsZGI9XCJwYXR0ZXJuX2V4cHJlc3Npb25cIixDcT02NTM4MSxxbz0xMjY1MzgsQ3A9MTIyOTIsZ0s9XCJpbXBvcnRfbmFtZXNwYWNlX3NwZWNpZmllclwiLGZ1PVwibWF0Y2hfc3RhdGVtZW50X2Nhc2VcIixDbz02NzU4Myx0Nj0xMjAxMzcsd1M9Njk2MjIsQ249MTIwNzcwLENtPTcxMTMxLGlfPTgyODcsenQ9MTEwNTkwLHp1PTY1MTM1LHdSPVwiRmF0YWwgZXJyb3I6IGV4Y2VwdGlvbiBcIixraz0xMTgsQ2w9MTgxLHFuPTExNjg3LGEwPVwiY2FtbGludGVybmFsRm9ybWF0Lm1sXCIsQ2o9NzI5NTksQ2s9MjQ5LGVuPVwidW5pb25fdHlwZVwiLEt2PTgyMDYsenM9NzMwNjQsQ2k9NzAyNzEsd1E9OTI3Mjgsbko9NjUzNDQsb0E9MTE2OTUsZ0o9XCJjbGFzc19kZWNvcmF0b3JcIixDaD1cInRoZSBlbmQgb2YgYW4gZXhwcmVzc2lvbiBzdGF0ZW1lbnQgKGA7YClcIix0NT0xNzc5ODMsenI9ODQ1NyxMeT05MzEsQ2c9NjY0OTksdDQ9OTQxNzUsSnk9XCIjXCIsS3U9MTUxLHpxPVwiSWRlbnRpZmllclwiLGdJPVwiZm9yX2luX3N0YXRlbWVudF9saHNcIixkYT1cInBhdHRlcm5fc3RyaW5nX2xpdGVyYWxcIixwaz03MDMwMixxbT0xMjY0OTYsenA9NjY0NjEsQ2Y9ODI5NDMsbkk9ODQ1MCx0Mz03MjI3MSxDZD03MDg1MyxDZT1cIm9mXCIsTXk9XCJTdGFja19vdmVyZmxvd1wiLGxvPVwiaGFzVW5rbm93bk1lbWJlcnNcIixscD1cImFcIixlbT1cInZhcmlhYmxlX2RlY2xhcmF0b3JfcGF0dGVyblwiLHpvPTczMDYxLHQyPTc3NzExLG96PTY0MzE3LHpuPTczMDk3LGdIPVwiZW51bV9kZWNsYXJhdGlvblwiLHptPTY2OTY2LHFsPTE4OSx3UD0xMTk5NjQsZnQ9XCJ0eXBlX3BhcmFtXCIsY2I9NzgyMTc2NjY0LG95PTY1NTM1LEx4PS0xMCx6bD02NDQzMyxveD00MzgxNSxuRz05NDAzMSxuSD03MzA2NSx3Tz02OTk1OCxxaz1cInByb3BlcnR5XCIsYyQ9XCJqc3hfY2hpbGRyZW5cIixlbD1cIm1lbWJlcl9wcm9wZXJ0eV9pZGVudGlmaWVyXCIsdDE9NDI1MzcsbG49XCJjb25zdFwiLHprPTcwMjc4LGVrPVwiZW51bV9zdHJpbmdfbWVtYmVyXCIsbEs9XCJsb2NhbFwiLGZzPVwianN4X2VsZW1lbnRfbmFtZV9pZGVudGlmaWVyXCIsdDA9NjgyMjMsb3c9XCJcXHgwMVxceDAyXCIsd049MTE5OTY3LHBqPTExOTk5NCx0Wj02Njk5Myxlaj1cImpzeF9tZW1iZXJfZXhwcmVzc2lvbl9pZGVudGlmaWVyXCIscGk9XCJleHBsaWNpdFR5cGVcIix3TT02NzU4OSxDYz02NTU5Nyx0WT1cImV4cG9ydGVkXCIsemo9OTQxMTEsemk9MTEzNzc1LGVpPVwib2JqZWN0X3NwcmVhZF9wcm9wZXJ0eV90eXBlXCIsd0w9NjQ4NDcsZ0c9XCJjb21wb25lbnRfaWRlbnRpZmllclwiLGZyPVwiY2xhc3NfaW1wbGVtZW50c19pbnRlcmZhY2VcIixNeD0xNjIsSng9MjQzLHRYPTEyNzgzLEp3PVwiRmF0YWwgZXJyb3I6IGV4Y2VwdGlvbiAlc1xcblwiLG92PTEyMDA5MyxsbT1cImNvbHVtblwiLGVoPVwiY29tcG9uZW50X3Jlc3RfcGFyYW1cIix0VT03MDQ1MSx0Vj03MDMxMix0Vz02OTk2Nyxxaj03MDI3OSx3Sz02NjQ2Myx0VD05Mjk3NSxuRj03MDI4NixjOT1cInBhdHRlcm5fb2JqZWN0X3Byb3BlcnR5X2NvbXB1dGVkX2tleVwiLGNfPVwib2JqZWN0X2tleV9zdHJpbmdfbGl0ZXJhbFwiLHRTPVwianNFcnJvclwiLGZxPVwidHlwZV9hcmdzXCIsdFI9ODMwNCxMdz1cIj09XCIsanA9MTE1LGdGPVwiZGVjbGFyZV9jb21wb25lbnRcIix6aD0xMjAwOTIsQ2I9NDM2MzgsdFE9NjY4MTEsd0o9NDMzMzQsd0k9NjY4NjMsdFA9Nzc4MjMsTHY9MTQzLGdFPVwib3B0aW9uYWxfY2FsbFwiLHpnPTEyNjU2MixwaD03MDE2MixiVD0xMDQsemY9NjY5NjMsam89XCJhd2FpdFwiLG5FPTcwMTA3LGJsPVwiMFwiLHdHPTcyMjUwLHdIPTg1MDcsTHU9MjkxLHplPTEwMDM1MSxxaT1cIkFzc2lnbm1lbnRQYXR0ZXJuXCIsZWc9XCJ0eXBlXCIsTHQ9XCIldVwiLGVmPVwiZnVuY3Rpb25fZXhwcmVzc2lvbl9vcl9tZXRob2RcIix6ZD00MzQ3MCxNdz0yNDIsSnY9XCJjYW1saW50ZXJuYWxNb2QubWxcIixlZT1cIm1hdGNoX29yX3BhdHRlcm5cIix6Yz03Mjc1MCxDYT02OTQxNCx0Tz02NTM3MCxjOD1cInN5bnRheFwiLExzPTB4N2ZmMCxCJD00Mjk2MyxNdj1cIkVuZF9vZl9maWxlXCIsemI9MTIyOTQsQl89ODQ3MSxKdT1cImVsZW1lbnRUeXBlXCIsQjk9NDM3ODIsTXU9XCIrK1wiLHdGPTQzNjQxLEI4PTcxOTQ0LHdFPTEyNjYwMSx6YT03ODg5NCxCNz0tNDUsam49XCJudWxsXCIsTHI9MTc3LEt0PVwic2F0aXNmaWVzXCIsQjY9MTMxMDcxLGM3PVwiaW1wb3J0X3NwZWNpZmllclwiLGdEPVwiY2xhc3NfbWV0aG9kXCIsZWQ9XCJ0eXBlX1wiLEI1PTEyNjUxNCx5JD04NDU0LEtzPVwiaW5leGFjdFwiLHROPTY3ODA3LHRNPTg1MjUsdEw9NjU0NzAsQjQ9NzEzNTIsZnA9XCJ0dXBsZV9zcHJlYWRfZWxlbWVudFwiLHRLPTIxOSx5Xz1cImFic3RyYWN0XCIsd0Q9NzM0NTgsYk89XCJyZXR1cm5cIixsUz02NTUzNixuRD0xMjY1NDgsZWM9XCJhcnJheV9lbGVtZW50XCIseTk9LTI1MzMxMzE5Nix0Sj0xODYsb3U9XCJjYXRjaFwiLGViPVwiaW5mZXJfdHlwZVwiLEIzPTEyMjk1LE10PVwiSW52YWxpZCBsZWdhY3kgb2N0YWwgXCIsdEg9Njk3NjIsdEk9NDMzMTEseTg9NjU0MzcsYzY9XCJ2YXJpYWJsZV9kZWNsYXJhdGlvblwiLEp0PS02OTY1MTAyNDEsZ0M9XCJmdW5jdGlvbl9wYXJhbXNcIixNcz0zMDcseTc9NjQzMTYsb3Q9MTE1NjUsTXI9XCJpbmZpbml0eVwiLHdDPVwiQF1cIixCMj02NTkwOCxnQj1cImV4dGVuZHNcIix0Rj02NjIwNCx0Rz00Mzc4NCx5Nj0xMTc0MixxaD0xMjY1MDMsYk49XCJkZWJ1Z2dlclwiLHk1PTcwNDU3LGhaPS04NixsSj05MTIwNjgzNjYsQjE9Njg3ODYscWY9XCJrZXlvZlwiLHFnPTY5NDE1LHdCPTEyNjg2LGNCPTEyNzM0MzYwMCxmbz1cImRlY2xhcmVfdHlwZV9hbGlhc1wiLEpzPVwidGhlXCIsS3I9MjMzLGVhPVwianN4X2VsZW1lbnRfbmFtZV9uYW1lc3BhY2VkXCIsd0E9NzIyODMsTXE9MTYxLGQkPVwiZnVuY3Rpb25fcGFyYW1fdHlwZVwiLGNmPTB4ODAseTQ9LTY3Mzk1MDkzMyxwZz0xMjY1OTEsTXA9XCJTeXNfZXJyb3JcIix5Mz03NDY0OSx0RT03NDg2MixsQT1cImlzXCIsdEQ9NDM3MzgsQjA9Njg0NzksTHE9MTk2LHFlPTcwODU0LGdBPVwiZW51bV9ib29sZWFuX21lbWJlclwiLGM1PVwibWF0Y2hfZXhwcmVzc2lvbl9jYXNlXCIscGY9NzIxNjMseTI9OTI3ODMsSnI9MjgxLGd6PVwiY29tcG9uZW50X3BhcmFtX25hbWVcIix3ej02ODg2Myxjdz0weDgwMDAsTW89MHg4MDAsd3k9NjQyODQsS3E9XCJAe1wiLHkxPVwiXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVwiLHBlPTg0NTUsZ3k9XCJ1cGRhdGVfZXhwcmVzc2lvblwiLHkwPTY1NTAwLGxSPVwiZnJvbVwiLHd4PTY4NDQ3LG5DPTEyNTkyLHd3PTkyNzY2LExwPVwiPj49XCIsYVo9MTEwLEJaPTY2NDMxLHRDPTQzNTg2LGRfPVwianN4X2lkZW50aWZpZXJcIix3dj1cIiA6IGZpbGUgYWxyZWFkeSBleGlzdHNcIixhQT0xMjgsQlk9NzE5NTgsdEI9NjY3MTcsYzQ9XCJlbnVtX2Jvb2xlYW5fYm9keVwiLHlaPTY0MjYyLGI9XCJpZFwiLGMzPVwiY29tcG9uZW50X3JlbmRlcnNfYW5ub3RhdGlvblwiLEJYPTQyODg4LHRBPTg1ODQsdHo9NzMwMDgsYzI9XCJlbnVtX3N5bWJvbF9ib2R5XCIsZDk9XCJkZWNsYXJlX25hbWVzcGFjZVwiLG9zPTcyNzEzLHlZPTU1MjE1LGMxPVwib2JqZWN0X3Byb3BlcnR5X3ZhbHVlX3R5cGVcIixmbj1cImZvcl9pbl9hc3NpZ25tZW50X3BhdHRlcm5cIixuQj04NDg1LHd1PTQzMzk1LE1uPTIyOSxoVT1cInRydWVcIix5WD00Mzc0MyxmbT1cImVudW1fbnVtYmVyX21lbWJlclwiLEpxPTIzNCx5Vz03Mjk2OSxMbz1cImV4cGVjdGVkICpcIixjQT0xMDIsTW09MjAwLGx6PVwic3ltYm9sXCIsam09XCJzb3VyY2VcIix3dD00MzcxNCxneD1cImpzeF9mcmFnbWVudFwiLGZsPVwianN4X2F0dHJpYnV0ZV9uYW1lX2lkZW50aWZpZXJcIixsbD1cInB1YmxpY1wiLHdzPTQzNDQyLGQ4PVwicGF0dGVybl9vYmplY3RfcHJvcGVydHlcIixCVz02NTc4Nix0eD03MDc4Myx0eT00MzcxMyx3cj03MjE2MCxMbj1cIiotL1wiLGNaPVwiZXhwb3J0X25hbWVkX3NwZWNpZmllclwiLGMwPVwiYXJyb3dfZnVuY3Rpb25cIix3cT0xMjI2MjMscWQ9NzAwMDYsS3A9XCIke1wiLHlWPTQzODE0LGZrPVwiZ2VuZXJpY19xdWFsaWZpZWRfaWRlbnRpZmllcl90eXBlXCIsTWw9MTk5LGQ3PVwianN4X3NwcmVhZF9jaGlsZFwiLHFjPTg0ODksbFE9MTg0LEpwPTIwNDcsd3A9NjY5NTUsZDY9XCJ0cnlfY2F0Y2hcIix5VT03MDQ5NyxNaz0yMzcsd289Njc0MzEseVQ9MTI1MTgzLEpvPS02MDIxNjIzMTAsY3o9XCJwYXJhbXNcIix3bj1cImNvbnNlcXVlbnRcIix5Uz02ODAyOSx5Uj02NzgyOSxCVj02ODA5NSxndz1cImVudW1fc3RyaW5nX2JvZHlcIix0dj05MzgyMyx0dz02ODM1MSx3bT02NTQ5NSxmaj1cImRlY2xhcmVfbW9kdWxlXCIsZDU9XCJib2R5X2V4cHJlc3Npb25cIix5UT02NjE3NSxNaj0xOTEsb3I9NzA0NDEscWE9NjUxNDEscWI9XCImXCIsZ3Y9XCJzdXBlcl9leHByZXNzaW9uXCIsb3E9MTI2NTY0LHR1PTcyMTA1LHlQPVwiZnNcIixiUz1cInRocm93XCIsdHQ9NjgyODcsd2w9Njc4MzksaXY9MTE2LHdrPTExMDg4MixCVT02OTQwNCx0cz0xMjMxOTcsaTY9NjUyNzksajQ9XCJzcmMvcGFyc2VyL3R5cGVfcGFyc2VyLm1sXCIsQlQ9NjgxMTUsTWk9MjU5LHAkPTEyNjU0NyxuQT0xMjY1NTYseU89NzMwNTUsZ3U9XCJtZW1iZXJfcHJvcGVydHlfZXhwcmVzc2lvblwiLGZpPVwiZW51bV9kZWZhdWx0ZWRfbWVtYmVyXCIseU49NDMwNzEsQlM9MTE3MjYsZ3Q9XCJjb21wb25lbnRfdHlwZV9yZXN0X3BhcmFtXCIsd2o9Njg2MDcsZ3M9XCJvYmplY3Rfa2V5XCIsTG09MTYwLGJrPVwidmFyaWFuY2VcIixCUT03MDY1NSxCUj03MDQxNCxrYj1cInN1cGVyXCIsdHI9MTIzNTgzLHlNPTY1NTk0LGxJPVwibWV0aG9kXCIsd2k9NzM2NDgsbHk9MTIxLEJQPTkzOTUxLGZoPVwicGF0dGVybl9hcnJheV9lbGVtZW50X3BhdHRlcm5cIix3Zz00Mzc2NCx3aD00Mjk5MyxvcD0xMjAxNDUseUw9NzQ4NzksQk89MTY4LG9vPTg0ODYseUs9NzIwMDEsZmY9XCJ0YWdnZWRfdGVtcGxhdGVcIixmZz1cIm1vZHVsZV9yZWZfbGl0ZXJhbFwiLEJOPTY1MzEyLGpnPVwiaW1wbGVtZW50c1wiLHRxPTQzNzAwLHdmPTEyMDAwMyxNaD1cIkludmFsaWRfYXJndW1lbnRcIixncj0weGZmZmZmZix0cD04MzUyNixuej02OTc0NCxvbj0xMjMzNixncT1cInN3aXRjaF9jYXNlXCIsS289LTYxLGNZPVwib3B0aW9uYWxfbWVtYmVyXCIsdG89NjQyNzQscF89NjQzMjIsbnk9MTI2NTMwLHdlPTcxOTk4LHBkPTcyOTcwLEJNPTEzMzExLHdkPTczNjQ3LHlKPTEyMDA3NCxrYT1cImxldFwiLGQzPVwiZXhwcmVzc2lvbl9zdGF0ZW1lbnRcIixkND1cImNvbXBvbmVudF90eXBlX3BhcmFtc1wiLHdjPTUxMix5SD02OTYzNCx5ST02NzQ2MSxCTD0xMjM2MjcsdG49NjQ5MTMsSm49XCJjaGlsZHJlblwiLEttPVwiUHJvcGVydHlEZWZpbml0aW9uXCIsS249MTAyNixNZz1cIiVsaVwiLGdwPVwiZGVjbGFyZV9jbGFzc1wiLHRtPTQzMjU4LGQyPVwiaW5kZXhlZF9hY2Nlc3NfdHlwZVwiLE1mPTE1Nyx5Rj0xMjQ5MjYsaFk9MTEyLHlHPVwiYlwiLGduPVwicHJlZGljYXRlX2V4cHJlc3Npb25cIixnbz1cImlmX2FsdGVybmF0ZV9zdGF0ZW1lbnRcIixseD1cInByaXZhdGVcIixMbD0tNTk0OTUzNzM3LEptPTE0MCx5RT1cIm5hblwiLHdhPTcyMTAzLG9tPTExNzM1LGQxPVwic3RhdGVtZW50XCIsd2I9XCJybWRpclwiLG54PTY2NTEyLEJLPVwibWF0Y2hcIixNZT0xOTgseUQ9MTE3MzQsZ209XCJpbXBvcnRfbmFtZWRfc3BlY2lmaWVyXCIsdGw9Njk1OTkseUM9Njg3OTksQko9MTk0NTU5LGNYPVwibWF0Y2hfYXJyYXlfcGF0dGVyblwiLE1kPTE3NCxnaz1cImZ1bmN0aW9uX1wiLGdsPVwiYmlnaW50X2xpdGVyYWxcIixhaD0yNDgsbnc9Njc2MzgscDk9MTI2NTM5LHlCPTExNTU3LEpsPTIxNCx2JD01NzYwLGJSPVwiYnJlYWtcIixjQz1cImJsb2NrXCIsZDA9XCJtYXRjaF9tZW1iZXJfcGF0dGVyblwiLHlBPTEyMzU2NSx2Xz02NjgxNSxhcD1cInZhbHVlXCIsSms9MTAzOTEwMDY3Myx5ej02OTc0NixCST03MDQ0OCx2OT03NDc1MSxnaj1cImluaXRcIixCSD02OTU1MSxwOD02NTU0OCxnaT1cImpzeF9tZW1iZXJfZXhwcmVzc2lvblwiLG9sPTY4MDk2LGhUPTEwOCxwYz0xMjY1MjEsQkc9NzE0ODcsZ2g9XCJtYXRjaF9zdGF0ZW1lbnRcIix0az0xNzgyMDUsdGo9MTI1NDgsTGs9XCIgOiBpcyBhIGRpcmVjdG9yeVwiLGN2PVwiLlwiLHl5PTEyMzQ4LGtqPS04MzU5MjU5MTEsYmk9XCJ0eXBlUGFyYW1ldGVyc1wiLEJGPTY2ODU1LGFSPVwidHlwZUFubm90YXRpb25cIixqbD1cImJpZ2ludFwiLGZlPVwianN4X2F0dHJpYnV0ZV92YWx1ZV9saXRlcmFsXCIsQkU9MTk0LE1jPVwiVF9KU1hfVEVYVFwiLHRpPTY4NDY2LG9rPTEyNjUzNyxKaT02NzcxNDA2Nyx0aD02OTQ4NyxKaj0yNzEsbnY9XCJleHBvcnRcIixCRD00MzgyMixwNz0xMjY0OTksdGc9NTUyNDIsY1c9XCJtZW1iZXJfdHlwZV9pZGVudGlmaWVyXCIsdjg9MTM4LHl4PTcxNjc5LGxIPTEzMCxCQz0xMjQzOCx2Nz0xMTk5NjkscDY9MTI1MzkseXc9MTE5OTcyLE1iPVwiLFwiLHY1PTcxNDIzLHY2PVwiaW5kZXggb3V0IG9mIGJvdW5kc1wiLGNnPTEwNixqMz1cIiVkXCIsS2w9XCJUX1JFTkRFUlNfUVVFU1RJT05cIixwNT0xMjA1NzEsb2o9XCJyZXR1cm5UeXBlXCIseXY9Njk0MjMscGI9MTIwMDcwLExqPVwiJVwiLGxQPTExNyxNYT0xNzksdGY9XCJFQkFERlwiLHl1PTkzNzU5LHA0PTY0MzI1LGdnPVwiY29tcG9uZW50X3BhcmFtc1wiLHl0PTY2NTE3LHRlPTY3NDIzLHRkPTYwNTg1NzY5NSx2ND00MzUxOCxMaT0yNTEsY1Y9XCJmb3Jfb2Zfc3RhdGVtZW50XCIsdjM9NzE5ODMsS2s9XCJ+XCIseXM9MTI0NDIsYlE9XCJzd2l0Y2hcIixCQj02NjIwNyxwMz0xMjY1MzUsSmg9XCImJj1cIix2Mj02OTI4OSx5cj03MTcyMyxnZj1cImdlbmVyaWNfaWRlbnRpZmllcl90eXBlXCIseXE9MTI2NjE5LGZkPVwib2JqZWN0X3R5cGVfcHJvcGVydHlfc2V0dGVyXCIsQkE9NzA0MTgsTCQ9XCI8PVwiLHYxPTEyNTI1MSxCej0xMTcwMixmYz1cImVudW1fbnVtYmVyX2JvZHlcIixraT0yNTAsdGI9MTI0OTEwLHRjPTY5Mjk3LHlwPTY3NDU1LHlvPTQyNTExLGNVPVwidHNfc2F0aXNmaWVzXCIsSmc9Mjg2LHYwPTY4MzI0LHAyPVwiYW4gaWRlbnRpZmllclwiLHRhPTEyNjUzNCxiZT0xMDMsdlo9MTIwMTI2LGtoPTQ0OTU0MDE5Nyxsaz1cImRlY2xhcmVcIix2WT02ODg5OSxzJD0xMjY1MDIsZmI9XCJmdW5jdGlvbl9leHByZXNzaW9uXCIsSmY9MTQyLEJ5PTEyMzEzNSxzXz02Nzk2Nyx5bj0xMjA0ODcsczk9MTIwNjg2LGNUPVwiZXhwb3J0X25hbWVkX2RlY2xhcmF0aW9uXCIseW09NjYzNDgscGE9MTE5OTgxLHlsPTEyMzUyLGdlPVwidHVwbGVfdHlwZVwiLHZYPTY4NjgwLG9pPVwidGFyZ2V0XCIsZmE9XCJjYWxsXCI7ZnVuY3Rpb25cbmF3TyhhLGIsYyxkLGUpe2lmKGQ8PWIpZm9yKHZhclxuZj0xO2Y8PWU7ZisrKWNbZCtmXT1hW2IrZl07ZWxzZVxuZm9yKHZhclxuZj1lO2Y+PTE7Zi0tKWNbZCtmXT1hW2IrZl07cmV0dXJuIDB9ZnVuY3Rpb25cbmF3UChhKXt2YXJcbmM9WzBdO3doaWxlKGEhPT0wKXt2YXJcbmQ9YVsxXTtmb3IodmFyXG5iPTE7YjxkLmxlbmd0aDtiKyspYy5wdXNoKGRbYl0pO2E9YVsyXX1yZXR1cm4gY31mdW5jdGlvblxuYXdRKGEsYixjKXt2YXJcbmQ9bmV3XG5BcnJheShjKzEpO2RbMF09MDtmb3IodmFyXG5lPTEsZj1iKzE7ZTw9YztlKyssZisrKWRbZV09YVtmXTtyZXR1cm4gZH1mdW5jdGlvblxucTAoYSxiLGMpe2lmKGFbMV09PT1iKXthWzFdPWM7cmV0dXJuIDF9cmV0dXJuIDB9ZnVuY3Rpb25cbmF3UihhLGIpe3ZhclxuYz1hWzFdO2FbMV0rPWI7cmV0dXJuIGN9ZnVuY3Rpb25cbmtzKGEpe3JldHVybiBhWzFdfWZ1bmN0aW9uXG5OTihhKXt2YXJcbmI9YWUucHJvY2VzcztpZihiJiZiLmVudiYmYi5lbnZbYV0hPXVuZGVmaW5lZClyZXR1cm4gYi5lbnZbYV07aWYoYWUuanNvb19zdGF0aWNfZW52JiZhZS5qc29vX3N0YXRpY19lbnZbYV0pcmV0dXJuIGFlLmpzb29fc3RhdGljX2VudlthXX12YXJcbkVLPTA7KGZ1bmN0aW9uKCl7dmFyXG5jPU5OKFwiT0NBTUxSVU5QQVJBTVwiKTtpZihjIT09dW5kZWZpbmVkKXt2YXJcbmI9Yy5zcGxpdChNYik7Zm9yKHZhclxuYT0wO2E8Yi5sZW5ndGg7YSsrKWlmKGJbYV09PXlHKXtFSz0xO2JyZWFrfWVsc2UgaWYoYlthXS5zdGFydHNXaXRoKFwiYj1cIikpRUs9K2JbYV0uc2xpY2UoMik7ZWxzZVxuY29udGludWV9fSgpKTt2YXJcbmJwPVswXTtmdW5jdGlvblxuYXczKGEsYil7aWYoIWEuanNfZXJyb3J8fGJ8fGFbMF09PWFoKWEuanNfZXJyb3I9bmV3XG5hZS5FcnJvcihcIkpzIGV4Y2VwdGlvbiBjb250YWluaW5nIGJhY2t0cmFjZVwiKTtyZXR1cm4gYX1mdW5jdGlvblxueChhLGIpe3JldHVybiBFSz9hdzMoYSxiKTphfWZ1bmN0aW9uXG5heEIoYSxiKXt0aHJvdyB4KFswLGEsYl0pfWZ1bmN0aW9uXG5iNChhKXtyZXR1cm4gYX1mdW5jdGlvblxuRUooYSxiKXtheEIoYSxiNChiKSl9ZnVuY3Rpb25cbmFVKGEpe0VKKGJwLkludmFsaWRfYXJndW1lbnQsYSl9ZnVuY3Rpb25cbk5oKGEpe3N3aXRjaChhKXtjYXNlXG43OmNhc2VcbjEwOmNhc2VcbjExOnJldHVybiAyO2RlZmF1bHQ6cmV0dXJuIDF9fWZ1bmN0aW9uXG5OZihhLGIpe3ZhclxuYztzd2l0Y2goYSl7Y2FzZVxuMDpjPUZsb2F0MzJBcnJheTticmVhaztjYXNlXG4xOmM9RmxvYXQ2NEFycmF5O2JyZWFrO2Nhc2VcbjI6Yz1JbnQ4QXJyYXk7YnJlYWs7Y2FzZVxuMzpjPVVpbnQ4QXJyYXk7YnJlYWs7Y2FzZVxuNDpjPUludDE2QXJyYXk7YnJlYWs7Y2FzZVxuNTpjPVVpbnQxNkFycmF5O2JyZWFrO2Nhc2VcbjY6Yz1JbnQzMkFycmF5O2JyZWFrO2Nhc2Vcbjc6Yz1JbnQzMkFycmF5O2JyZWFrO2Nhc2Vcbjg6Yz1JbnQzMkFycmF5O2JyZWFrO2Nhc2Vcbjk6Yz1JbnQzMkFycmF5O2JyZWFrO2Nhc2VcbjEwOmM9RmxvYXQzMkFycmF5O2JyZWFrO2Nhc2VcbjExOmM9RmxvYXQ2NEFycmF5O2JyZWFrO2Nhc2VcbjEyOmM9VWludDhBcnJheTticmVha31pZighYylhVShcIkJpZ2FycmF5LmNyZWF0ZTogdW5zdXBwb3J0ZWQga2luZFwiKTt2YXJcbmQ9bmV3XG5jKGIqTmgoYSkpO3JldHVybiBkfWZ1bmN0aW9uXG5xMShhKXt2YXJcbmQ9YS5sZW5ndGgsYz0xO2Zvcih2YXJcbmI9MDtiPGQ7YisrKXtpZihhW2JdPDApYVUoXCJCaWdhcnJheS5jcmVhdGU6IG5lZ2F0aXZlIGRpbWVuc2lvblwiKTtjPWMqYVtiXX1yZXR1cm4gY312YXJcbk54PU1hdGgucG93KDIsLTI0KTtmdW5jdGlvblxuTkgoYSl7dGhyb3cgYX1mdW5jdGlvblxuTkooKXtOSChicC5EaXZpc2lvbl9ieV96ZXJvKX1mdW5jdGlvblxuZChhLGIsYyl7dGhpcy5sbz1hJmdyO3RoaXMubWk9YiZncjt0aGlzLmhpPWMmY3l9ZC5wcm90b3R5cGUuY2FtbF9jdXN0b209XCJfalwiO2QucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3XG5kKHRoaXMubG8sdGhpcy5taSx0aGlzLmhpKX07ZC5wcm90b3R5cGUudWNvbXBhcmU9ZnVuY3Rpb24oYSl7aWYodGhpcy5oaT5hLmhpKXJldHVybiAxO2lmKHRoaXMuaGk8YS5oaSlyZXR1cm4tMTtpZih0aGlzLm1pPmEubWkpcmV0dXJuIDE7aWYodGhpcy5taTxhLm1pKXJldHVybi0xO2lmKHRoaXMubG8+YS5sbylyZXR1cm4gMTtpZih0aGlzLmxvPGEubG8pcmV0dXJuLTE7cmV0dXJuIDB9O2QucHJvdG90eXBlLmNvbXBhcmU9ZnVuY3Rpb24oYSl7dmFyXG5iPXRoaXMuaGk8PDE2LGM9YS5oaTw8MTY7aWYoYj5jKXJldHVybiAxO2lmKGI8YylyZXR1cm4tMTtpZih0aGlzLm1pPmEubWkpcmV0dXJuIDE7aWYodGhpcy5taTxhLm1pKXJldHVybi0xO2lmKHRoaXMubG8+YS5sbylyZXR1cm4gMTtpZih0aGlzLmxvPGEubG8pcmV0dXJuLTE7cmV0dXJuIDB9O2QucHJvdG90eXBlLm5lZz1mdW5jdGlvbigpe3ZhclxuYT0tdGhpcy5sbyxiPS10aGlzLm1pKyhhPj4yNCksYz0tdGhpcy5oaSsoYj4+MjQpO3JldHVybiBuZXdcbmQoYSxiLGMpfTtkLnByb3RvdHlwZS5hZGQ9ZnVuY3Rpb24oYSl7dmFyXG5iPXRoaXMubG8rYS5sbyxjPXRoaXMubWkrYS5taSsoYj4+MjQpLGU9dGhpcy5oaSthLmhpKyhjPj4yNCk7cmV0dXJuIG5ld1xuZChiLGMsZSl9O2QucHJvdG90eXBlLnN1Yj1mdW5jdGlvbihhKXt2YXJcbmI9dGhpcy5sby1hLmxvLGM9dGhpcy5taS1hLm1pKyhiPj4yNCksZT10aGlzLmhpLWEuaGkrKGM+PjI0KTtyZXR1cm4gbmV3XG5kKGIsYyxlKX07ZC5wcm90b3R5cGUubXVsPWZ1bmN0aW9uKGEpe3ZhclxuYj10aGlzLmxvKmEubG8sYz0oYipOeHwwKSt0aGlzLm1pKmEubG8rdGhpcy5sbyphLm1pLGU9KGMqTnh8MCkrdGhpcy5oaSphLmxvK3RoaXMubWkqYS5taSt0aGlzLmxvKmEuaGk7cmV0dXJuIG5ld1xuZChiLGMsZSl9O2QucHJvdG90eXBlLmlzWmVybz1mdW5jdGlvbigpe3JldHVybih0aGlzLmxvfHRoaXMubWl8dGhpcy5oaSk9PTB9O2QucHJvdG90eXBlLmlzTmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGk8PDE2PDB9O2QucHJvdG90eXBlLmFuZD1mdW5jdGlvbihhKXtyZXR1cm4gbmV3XG5kKHRoaXMubG8mYS5sbyx0aGlzLm1pJmEubWksdGhpcy5oaSZhLmhpKX07ZC5wcm90b3R5cGUub3I9ZnVuY3Rpb24oYSl7cmV0dXJuIG5ld1xuZCh0aGlzLmxvfGEubG8sdGhpcy5taXxhLm1pLHRoaXMuaGl8YS5oaSl9O2QucHJvdG90eXBlLnhvcj1mdW5jdGlvbihhKXtyZXR1cm4gbmV3XG5kKHRoaXMubG9eYS5sbyx0aGlzLm1pXmEubWksdGhpcy5oaV5hLmhpKX07ZC5wcm90b3R5cGUuc2hpZnRfbGVmdD1mdW5jdGlvbihhKXthPWEmNjM7aWYoYT09MClyZXR1cm4gdGhpcztpZihhPDI0KXJldHVybiBuZXdcbmQodGhpcy5sbzw8YSx0aGlzLm1pPDxhfHRoaXMubG8+PjI0LWEsdGhpcy5oaTw8YXx0aGlzLm1pPj4yNC1hKTtpZihhPDQ4KXJldHVybiBuZXdcbmQoMCx0aGlzLmxvPDxhLTI0LHRoaXMubWk8PGEtMjR8dGhpcy5sbz4+NDgtYSk7cmV0dXJuIG5ld1xuZCgwLDAsdGhpcy5sbzw8YS00OCl9O2QucHJvdG90eXBlLnNoaWZ0X3JpZ2h0X3Vuc2lnbmVkPWZ1bmN0aW9uKGEpe2E9YSY2MztpZihhPT0wKXJldHVybiB0aGlzO2lmKGE8MjQpcmV0dXJuIG5ld1xuZCh0aGlzLmxvPj5hfHRoaXMubWk8PDI0LWEsdGhpcy5taT4+YXx0aGlzLmhpPDwyNC1hLHRoaXMuaGk+PmEpO2lmKGE8NDgpcmV0dXJuIG5ld1xuZCh0aGlzLm1pPj5hLTI0fHRoaXMuaGk8PDQ4LWEsdGhpcy5oaT4+YS0yNCwwKTtyZXR1cm4gbmV3XG5kKHRoaXMuaGk+PmEtNDgsMCwwKX07ZC5wcm90b3R5cGUuc2hpZnRfcmlnaHQ9ZnVuY3Rpb24oYSl7YT1hJjYzO2lmKGE9PTApcmV0dXJuIHRoaXM7dmFyXG5jPXRoaXMuaGk8PDE2Pj4xNjtpZihhPDI0KXJldHVybiBuZXdcbmQodGhpcy5sbz4+YXx0aGlzLm1pPDwyNC1hLHRoaXMubWk+PmF8Yzw8MjQtYSx0aGlzLmhpPDwxNj4+YT4+PjE2KTt2YXJcbmI9dGhpcy5oaTw8MTY+PjMxO2lmKGE8NDgpcmV0dXJuIG5ld1xuZCh0aGlzLm1pPj5hLTI0fHRoaXMuaGk8PDQ4LWEsdGhpcy5oaTw8MTY+PmEtMjQ+PjE2LGImY3kpO3JldHVybiBuZXdcbmQodGhpcy5oaTw8MTY+PmEtMzIsYixiKX07ZC5wcm90b3R5cGUubHNsMT1mdW5jdGlvbigpe3RoaXMuaGk9dGhpcy5oaTw8MXx0aGlzLm1pPj4yMzt0aGlzLm1pPSh0aGlzLm1pPDwxfHRoaXMubG8+PjIzKSZncjt0aGlzLmxvPXRoaXMubG88PDEmZ3J9O2QucHJvdG90eXBlLmxzcjE9ZnVuY3Rpb24oKXt0aGlzLmxvPSh0aGlzLmxvPj4+MXx0aGlzLm1pPDwyMykmZ3I7dGhpcy5taT0odGhpcy5taT4+PjF8dGhpcy5oaTw8MjMpJmdyO3RoaXMuaGk9dGhpcy5oaT4+PjF9O2QucHJvdG90eXBlLnVkaXZtb2Q9ZnVuY3Rpb24oYSl7dmFyXG5lPTAsYz10aGlzLmNvcHkoKSxiPWEuY29weSgpLGY9bmV3XG5kKDAsMCwwKTt3aGlsZShjLnVjb21wYXJlKGIpPjApe2UrKztiLmxzbDEoKX13aGlsZShlPj0wKXtlLS07Zi5sc2wxKCk7aWYoYy51Y29tcGFyZShiKT49MCl7Zi5sbysrO2M9Yy5zdWIoYil9Yi5sc3IxKCl9cmV0dXJue3F1b3RpZW50OmYsbW9kdWx1czpjfX07ZC5wcm90b3R5cGUuZGl2PWZ1bmN0aW9uKGEpe3ZhclxuYj10aGlzO2lmKGEuaXNaZXJvKCkpTkooKTt2YXJcbmQ9Yi5oaV5hLmhpO2lmKGIuaGkmY3cpYj1iLm5lZygpO2lmKGEuaGkmY3cpYT1hLm5lZygpO3ZhclxuYz1iLnVkaXZtb2QoYSkucXVvdGllbnQ7aWYoZCZjdyljPWMubmVnKCk7cmV0dXJuIGN9O2QucHJvdG90eXBlLm1vZD1mdW5jdGlvbihhKXt2YXJcbmI9dGhpcztpZihhLmlzWmVybygpKU5KKCk7dmFyXG5kPWIuaGk7aWYoYi5oaSZjdyliPWIubmVnKCk7aWYoYS5oaSZjdylhPWEubmVnKCk7dmFyXG5jPWIudWRpdm1vZChhKS5tb2R1bHVzO2lmKGQmY3cpYz1jLm5lZygpO3JldHVybiBjfTtkLnByb3RvdHlwZS50b0ludD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxvfHRoaXMubWk8PDI0fTtkLnByb3RvdHlwZS50b0Zsb2F0PWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMuaGk8PDE2KSpNYXRoLnBvdygyLDMyKSt0aGlzLm1pKk1hdGgucG93KDIsMjQpK3RoaXMubG99O2QucHJvdG90eXBlLnRvQXJyYXk9ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy5oaT4+OCx0aGlzLmhpJmgxLHRoaXMubWk+PjE2LHRoaXMubWk+PjgmaDEsdGhpcy5taSZoMSx0aGlzLmxvPj4xNix0aGlzLmxvPj44JmgxLHRoaXMubG8maDFdfTtkLnByb3RvdHlwZS5sbzMyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubG98KHRoaXMubWkmaDEpPDwyNH07ZC5wcm90b3R5cGUuaGkzMj1mdW5jdGlvbigpe3JldHVybiB0aGlzLm1pPj4+OCZjeXx0aGlzLmhpPDwxNn07ZnVuY3Rpb25cbmF3XyhhLGIpe3JldHVybiBuZXdcbmQoYSZncixhPj4+MjQmaDF8KGImY3kpPDw4LGI+Pj4xNiZjeSl9ZnVuY3Rpb25cbkV6KGEpe3JldHVybiBhLmhpMzIoKX1mdW5jdGlvblxuRUEoYSl7cmV0dXJuIGEubG8zMigpfWZ1bmN0aW9uXG5sWigpe2FVKHY2KX12YXJcbmF3VD1wbjtmdW5jdGlvblxuaUgoYSxiLGMsZCl7dGhpcy5raW5kPWE7dGhpcy5sYXlvdXQ9Yjt0aGlzLmRpbXM9Yzt0aGlzLmRhdGE9ZH1pSC5wcm90b3R5cGUuY2FtbF9jdXN0b209YXdUO2lILnByb3RvdHlwZS5vZmZzZXQ9ZnVuY3Rpb24oYSl7dmFyXG5jPTA7aWYodHlwZW9mXG5hPT09XCJudW1iZXJcIilhPVthXTtpZighKGFcbmluc3RhbmNlb2ZcbkFycmF5KSlhVShcImJpZ2FycmF5LmpzOiBpbnZhbGlkIG9mZnNldFwiKTtpZih0aGlzLmRpbXMubGVuZ3RoIT1hLmxlbmd0aClhVShcIkJpZ2FycmF5LmdldC9zZXQ6IGJhZCBudW1iZXIgb2YgZGltZW5zaW9uc1wiKTtpZih0aGlzLmxheW91dD09MClmb3IodmFyXG5iPTA7Yjx0aGlzLmRpbXMubGVuZ3RoO2IrKyl7aWYoYVtiXTwwfHxhW2JdPj10aGlzLmRpbXNbYl0pbFooKTtjPWMqdGhpcy5kaW1zW2JdK2FbYl19ZWxzZVxuZm9yKHZhclxuYj10aGlzLmRpbXMubGVuZ3RoLTE7Yj49MDtiLS0pe2lmKGFbYl08MXx8YVtiXT50aGlzLmRpbXNbYl0pbFooKTtjPWMqdGhpcy5kaW1zW2JdKyhhW2JdLTEpfXJldHVybiBjfTtpSC5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3N3aXRjaCh0aGlzLmtpbmQpe2Nhc2Vcbjc6dmFyXG5kPXRoaXMuZGF0YVthKjIrMF0sYj10aGlzLmRhdGFbYSoyKzFdO3JldHVybiBhd18oZCxiKTtjYXNlXG4xMDpjYXNlXG4xMTp2YXJcbmU9dGhpcy5kYXRhW2EqMiswXSxjPXRoaXMuZGF0YVthKjIrMV07cmV0dXJuW2tuLGUsY107ZGVmYXVsdDpyZXR1cm4gdGhpcy5kYXRhW2FdfX07aUgucHJvdG90eXBlLnNldD1mdW5jdGlvbihhLGIpe3N3aXRjaCh0aGlzLmtpbmQpe2Nhc2Vcbjc6dGhpcy5kYXRhW2EqMiswXT1FQShiKTt0aGlzLmRhdGFbYSoyKzFdPUV6KGIpO2JyZWFrO2Nhc2VcbjEwOmNhc2VcbjExOnRoaXMuZGF0YVthKjIrMF09YlsxXTt0aGlzLmRhdGFbYSoyKzFdPWJbMl07YnJlYWs7ZGVmYXVsdDp0aGlzLmRhdGFbYV09YjticmVha31yZXR1cm4gMH07aUgucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24oYSl7c3dpdGNoKHRoaXMua2luZCl7Y2FzZVxuNzp2YXJcbmM9RUEoYSksZT1FeihhKTtpZihjPT1lKXRoaXMuZGF0YS5maWxsKGMpO2Vsc2VcbmZvcih2YXJcbmI9MDtiPHRoaXMuZGF0YS5sZW5ndGg7YisrKXRoaXMuZGF0YVtiXT1iJTI9PTA/YzplO2JyZWFrO2Nhc2VcbjEwOmNhc2VcbjExOnZhclxuZD1hWzFdLGY9YVsyXTtpZihkPT1mKXRoaXMuZGF0YS5maWxsKGQpO2Vsc2VcbmZvcih2YXJcbmI9MDtiPHRoaXMuZGF0YS5sZW5ndGg7YisrKXRoaXMuZGF0YVtiXT1iJTI9PTA/ZDpmO2JyZWFrO2RlZmF1bHQ6dGhpcy5kYXRhLmZpbGwoYSk7YnJlYWt9fTtpSC5wcm90b3R5cGUuY29tcGFyZT1mdW5jdGlvbihhLGIpe2lmKHRoaXMubGF5b3V0IT1hLmxheW91dHx8dGhpcy5raW5kIT1hLmtpbmQpe3ZhclxuZj10aGlzLmtpbmR8dGhpcy5sYXlvdXQ8PDgsZz1hLmtpbmR8YS5sYXlvdXQ8PDg7cmV0dXJuIGctZn1pZih0aGlzLmRpbXMubGVuZ3RoIT1hLmRpbXMubGVuZ3RoKXJldHVybiBhLmRpbXMubGVuZ3RoLXRoaXMuZGltcy5sZW5ndGg7Zm9yKHZhclxuYz0wO2M8dGhpcy5kaW1zLmxlbmd0aDtjKyspaWYodGhpcy5kaW1zW2NdIT1hLmRpbXNbY10pcmV0dXJuIHRoaXMuZGltc1tjXTxhLmRpbXNbY10/LTE6MTtzd2l0Y2godGhpcy5raW5kKXtjYXNlXG4wOmNhc2VcbjE6Y2FzZVxuMTA6Y2FzZVxuMTE6dmFyXG5kLGU7Zm9yKHZhclxuYz0wO2M8dGhpcy5kYXRhLmxlbmd0aDtjKyspe2Q9dGhpcy5kYXRhW2NdO2U9YS5kYXRhW2NdO2lmKGQ8ZSlyZXR1cm4tMTtpZihkPmUpcmV0dXJuIDE7aWYoZCE9ZSl7aWYoIWIpcmV0dXJuIE5hTjtpZihkPT1kKXJldHVybiAxO2lmKGU9PWUpcmV0dXJuLTF9fWJyZWFrO2Nhc2Vcbjc6Zm9yKHZhclxuYz0wO2M8dGhpcy5kYXRhLmxlbmd0aDtjKz0yKXtpZih0aGlzLmRhdGFbYysxXTxhLmRhdGFbYysxXSlyZXR1cm4tMTtpZih0aGlzLmRhdGFbYysxXT5hLmRhdGFbYysxXSlyZXR1cm4gMTtpZih0aGlzLmRhdGFbY10+Pj4wPGEuZGF0YVtjXT4+PjApcmV0dXJuLTE7aWYodGhpcy5kYXRhW2NdPj4+MD5hLmRhdGFbY10+Pj4wKXJldHVybiAxfWJyZWFrO2Nhc2VcbjI6Y2FzZVxuMzpjYXNlXG40OmNhc2VcbjU6Y2FzZVxuNjpjYXNlXG44OmNhc2Vcbjk6Y2FzZVxuMTI6Zm9yKHZhclxuYz0wO2M8dGhpcy5kYXRhLmxlbmd0aDtjKyspe2lmKHRoaXMuZGF0YVtjXTxhLmRhdGFbY10pcmV0dXJuLTE7aWYodGhpcy5kYXRhW2NdPmEuZGF0YVtjXSlyZXR1cm4gMX1icmVha31yZXR1cm4gMH07ZnVuY3Rpb25cbmtyKGEsYixjLGQpe3RoaXMua2luZD1hO3RoaXMubGF5b3V0PWI7dGhpcy5kaW1zPWM7dGhpcy5kYXRhPWR9a3IucHJvdG90eXBlPW5ld1xuaUgoKTtrci5wcm90b3R5cGUub2Zmc2V0PWZ1bmN0aW9uKGEpe2lmKHR5cGVvZlxuYSE9PVwibnVtYmVyXCIpaWYoYVxuaW5zdGFuY2VvZlxuQXJyYXkmJmEubGVuZ3RoPT0xKWE9YVswXTtlbHNlXG5hVShcIk1sX0JpZ2FycmF5X2NfMV8xLm9mZnNldFwiKTtpZihhPDB8fGE+PXRoaXMuZGltc1swXSlsWigpO3JldHVybiBhfTtrci5wcm90b3R5cGUuZ2V0PWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmRhdGFbYV19O2tyLnByb3RvdHlwZS5zZXQ9ZnVuY3Rpb24oYSxiKXt0aGlzLmRhdGFbYV09YjtyZXR1cm4gMH07a3IucHJvdG90eXBlLmZpbGw9ZnVuY3Rpb24oYSl7dGhpcy5kYXRhLmZpbGwoYSk7cmV0dXJuIDB9O2Z1bmN0aW9uXG5FcChhLGIsYyxkKXt2YXJcbmU9TmgoYSk7aWYocTEoYykqZSE9ZC5sZW5ndGgpYVUoXCJsZW5ndGggZG9lc24ndCBtYXRjaCBkaW1zXCIpO2lmKGI9PTAmJmMubGVuZ3RoPT0xJiZlPT0xKXJldHVybiBuZXdcbmtyKGEsYixjLGQpO3JldHVybiBuZXdcbmlIKGEsYixjLGQpfWZ1bmN0aW9uXG5OeihhKXtyZXR1cm4gYS5zbGljZSgxKX1mdW5jdGlvblxuYXdTKGEsYixjKXt2YXJcbmQ9TnooYyksZT1OZihhLHExKGQpKTtyZXR1cm4gRXAoYSxiLGQsZSl9ZnVuY3Rpb25cbmwwKGEsYixjKXthLnNldChhLm9mZnNldChiKSxjKTtyZXR1cm4gMH1mdW5jdGlvblxubDMoYSxiLGMpe3ZhclxuZD1TdHJpbmcuZnJvbUNoYXJDb2RlO2lmKGI9PTAmJmM8PUxMJiZjPT1hLmxlbmd0aClyZXR1cm4gZC5hcHBseShudWxsLGEpO3ZhclxuZT1BO2Zvcig7MDxjO2IrPWxxLGMtPWxxKWUrPWQuYXBwbHkobnVsbCxhLnNsaWNlKGIsYitNYXRoLm1pbihjLGxxKSkpO3JldHVybiBlfWZ1bmN0aW9uXG5xNChhKXt2YXJcbmM9bmV3XG5VaW50OEFycmF5KGEubCksZT1hLmMsZD1lLmxlbmd0aCxiPTA7Zm9yKDtiPGQ7YisrKWNbYl09ZS5jaGFyQ29kZUF0KGIpO2ZvcihkPWEubDtiPGQ7YisrKWNbYl09MDthLmM9YzthLnQ9NDtyZXR1cm4gY31mdW5jdGlvblxuaDcoYSxiLGMsZCxlKXtpZihlPT0wKXJldHVybiAwO2lmKGQ9PTAmJihlPj1jLmx8fGMudD09MiYmZT49Yy5jLmxlbmd0aCkpe2MuYz1hLnQ9PTQ/bDMoYS5jLGIsZSk6Yj09MCYmYS5jLmxlbmd0aD09ZT9hLmM6YS5jLnN1YnN0cihiLGUpO2MudD1jLmMubGVuZ3RoPT1jLmw/MDoyfWVsc2UgaWYoYy50PT0yJiZkPT1jLmMubGVuZ3RoKXtjLmMrPWEudD09ND9sMyhhLmMsYixlKTpiPT0wJiZhLmMubGVuZ3RoPT1lP2EuYzphLmMuc3Vic3RyKGIsZSk7Yy50PWMuYy5sZW5ndGg9PWMubD8wOjJ9ZWxzZXtpZihjLnQhPTQpcTQoYyk7dmFyXG5nPWEuYyxoPWMuYztpZihhLnQ9PTQpaWYoZDw9Yilmb3IodmFyXG5mPTA7ZjxlO2YrKyloW2QrZl09Z1tiK2ZdO2Vsc2VcbmZvcih2YXJcbmY9ZS0xO2Y+PTA7Zi0tKWhbZCtmXT1nW2IrZl07ZWxzZXt2YXJcbmk9TWF0aC5taW4oZSxnLmxlbmd0aC1iKTtmb3IodmFyXG5mPTA7ZjxpO2YrKyloW2QrZl09Zy5jaGFyQ29kZUF0KGIrZik7Zm9yKDtmPGU7ZisrKWhbZCtmXT0wfX1yZXR1cm4gMH1mdW5jdGlvblxua3coYSxiKXtpZihhPT0wKXJldHVybiBBO2lmKGIucmVwZWF0KXJldHVybiBiLnJlcGVhdChhKTt2YXJcbmQ9QSxjPTA7Zm9yKDs7KXtpZihhJjEpZCs9YjthPj49MTtpZihhPT0wKXJldHVybiBkO2IrPWI7YysrO2lmKGM9PTkpYi5zbGljZSgwLDEpfX1mdW5jdGlvblxucTUoYSl7aWYoYS50PT0yKWEuYys9a3coYS5sLWEuYy5sZW5ndGgsXCJcXDBcIik7ZWxzZVxuYS5jPWwzKGEuYywwLGEuYy5sZW5ndGgpO2EudD0wfWZ1bmN0aW9uXG5FTihhKXtpZihhLmxlbmd0aDwyNCl7Zm9yKHZhclxuYj0wO2I8YS5sZW5ndGg7YisrKWlmKGEuY2hhckNvZGVBdChiKT5hYilyZXR1cm4gZmFsc2U7cmV0dXJuIHRydWV9ZWxzZVxucmV0dXJuIS9bXlxceDAwLVxceDdmXS8udGVzdChhKX1mdW5jdGlvblxuTk0oYSl7Zm9yKHZhclxuaj1BLGQ9QSxnLGYsaCxiLGM9MCxpPWEubGVuZ3RoO2M8aTtjKyspe2Y9YS5jaGFyQ29kZUF0KGMpO2lmKGY8Y2Ype2Zvcih2YXJcbmU9YysxO2U8aSYmKGY9YS5jaGFyQ29kZUF0KGUpKTxjZjtlKyspO2lmKGUtYz53Yyl7ZC5zdWJzdHIoMCwxKTtqKz1kO2Q9QTtqKz1hLnNsaWNlKGMsZSl9ZWxzZVxuZCs9YS5zbGljZShjLGUpO2lmKGU9PWkpYnJlYWs7Yz1lfWI9MTtpZigrK2M8aSYmKChoPWEuY2hhckNvZGVBdChjKSkmLTY0KT09YUEpe2c9aCsoZjw8Nik7aWYoZjxNSSl7Yj1nLTB4MzA4MDtpZihiPGNmKWI9MX1lbHNle2I9MjtpZigrK2M8aSYmKChoPWEuY2hhckNvZGVBdChjKSkmLTY0KT09YUEpe2c9aCsoZzw8Nik7aWYoZjxKUCl7Yj1nLTB4ZTIwODA7aWYoYjxNb3x8Yj49MHhkN2ZmJiZiPDB4ZTAwMCliPTJ9ZWxzZXtiPTM7aWYoKytjPGkmJigoaD1hLmNoYXJDb2RlQXQoYykpJi02NCk9PWFBJiZmPDB4ZjUpe2I9aC0weDNjODIwODArKGc8PDYpO2lmKGI8MHgxMDAwMHx8Yj4weDEwZmZmZiliPTN9fX19fWlmKGI8NCl7Yy09YjtkKz1cIlxcdWZmZmRcIn1lbHNlIGlmKGI+Y3kpZCs9U3RyaW5nLmZyb21DaGFyQ29kZSgweGQ3YzArKGI+PjEwKSxLUisoYiYweDNGRikpO2Vsc2VcbmQrPVN0cmluZy5mcm9tQ2hhckNvZGUoYik7aWYoZC5sZW5ndGg+bHEpe2Quc3Vic3RyKDAsMSk7ais9ZDtkPUF9fXJldHVybiBqK2R9ZnVuY3Rpb25cbmg2KGEsYixjKXt0aGlzLnQ9YTt0aGlzLmM9Yjt0aGlzLmw9Y31oNi5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtzd2l0Y2godGhpcy50KXtjYXNlXG45OnJldHVybiB0aGlzLmM7ZGVmYXVsdDpxNSh0aGlzKTtjYXNlXG4wOmlmKEVOKHRoaXMuYykpe3RoaXMudD05O3JldHVybiB0aGlzLmN9dGhpcy50PTg7Y2FzZVxuODpyZXR1cm4gdGhpcy5jfX07aDYucHJvdG90eXBlLnRvVXRmMTY9ZnVuY3Rpb24oKXt2YXJcbmE9dGhpcy50b1N0cmluZygpO2lmKHRoaXMudD09OSlyZXR1cm4gYTtyZXR1cm4gTk0oYSl9O2g2LnByb3RvdHlwZS5zbGljZT1mdW5jdGlvbigpe3ZhclxuYT10aGlzLnQ9PTQ/dGhpcy5jLnNsaWNlKCk6dGhpcy5jO3JldHVybiBuZXdcbmg2KHRoaXMudCxhLHRoaXMubCl9O2Z1bmN0aW9uXG5OayhhKXtyZXR1cm4gbmV3XG5oNigwLGEsYS5sZW5ndGgpfWZ1bmN0aW9uXG5oXyhhKXtyZXR1cm4gYX1mdW5jdGlvblxuY2koYSl7cmV0dXJuIE5rKGhfKGEpKX1mdW5jdGlvblxuaEMoYSxiLGMsZCxlKXtoNyhjaShhKSxiLGMsZCxlKTtyZXR1cm4gMH1mdW5jdGlvblxua3UoYSl7cmV0dXJuIG5ld1xuZChhWzddPDwwfGFbNl08PDh8YVs1XTw8MTYsYVs0XTw8MHxhWzNdPDw4fGFbMl08PDE2LGFbMV08PDB8YVswXTw8OCl9ZnVuY3Rpb25cbmJ4KGEsYil7c3dpdGNoKGEudCY2KXtkZWZhdWx0OmlmKGI+PWEuYy5sZW5ndGgpcmV0dXJuIDA7Y2FzZVxuMDpyZXR1cm4gYS5jLmNoYXJDb2RlQXQoYik7Y2FzZVxuNDpyZXR1cm4gYS5jW2JdfX1mdW5jdGlvblxuRXEoKXthVSh2Nil9ZnVuY3Rpb25cbmF3WChhLGIpe2lmKGI+Pj4wPj1hLmwtNylFcSgpO3ZhclxuZD1uZXdcbkFycmF5KDgpO2Zvcih2YXJcbmM9MDtjPDg7YysrKWRbNy1jXT1ieChhLGIrYyk7cmV0dXJuIGt1KGQpfWZ1bmN0aW9uXG5hYyhhLGIsYyl7YyY9aDE7aWYoYS50IT00KXtpZihiPT1hLmMubGVuZ3RoKXthLmMrPVN0cmluZy5mcm9tQ2hhckNvZGUoYyk7aWYoYisxPT1hLmwpYS50PTA7cmV0dXJuIDB9cTQoYSl9YS5jW2JdPWM7cmV0dXJuIDB9ZnVuY3Rpb25cbmg4KGEsYixjKXtpZihiPj4+MD49YS5sKUVxKCk7cmV0dXJuIGFjKGEsYixjKX1mdW5jdGlvblxua3YoYSl7cmV0dXJuIGEudG9BcnJheSgpfWZ1bmN0aW9uXG5hd1koYSxiLGMpe2lmKGI+Pj4wPj1hLmwtNylFcSgpO3ZhclxuZT1rdihjKTtmb3IodmFyXG5kPTA7ZDw4O2QrKylhYyhhLGIrNy1kLGVbZF0pO3JldHVybiAwfWZ1bmN0aW9uXG5oRChkLGMpe3ZhclxuZj1kLmw+PTA/ZC5sOmQubD1kLmxlbmd0aCxlPWMubGVuZ3RoLGI9Zi1lO2lmKGI9PTApcmV0dXJuIGQuYXBwbHkobnVsbCxjKTtlbHNlIGlmKGI8MCl7dmFyXG5hPWQuYXBwbHkobnVsbCxjLnNsaWNlKDAsZikpO2lmKHR5cGVvZlxuYSE9PVwiZnVuY3Rpb25cIilyZXR1cm4gYTtyZXR1cm4gaEQoYSxjLnNsaWNlKGYpKX1lbHNle3N3aXRjaChiKXtjYXNlXG4xOnt2YXJcbmE9ZnVuY3Rpb24oYSl7dmFyXG5mPW5ld1xuQXJyYXkoZSsxKTtmb3IodmFyXG5iPTA7YjxlO2IrKylmW2JdPWNbYl07ZltlXT1hO3JldHVybiBkLmFwcGx5KG51bGwsZil9O2JyZWFrfWNhc2VcbjI6e3ZhclxuYT1mdW5jdGlvbihhLGIpe3ZhclxuZz1uZXdcbkFycmF5KGUrMik7Zm9yKHZhclxuZj0wO2Y8ZTtmKyspZ1tmXT1jW2ZdO2dbZV09YTtnW2UrMV09YjtyZXR1cm4gZC5hcHBseShudWxsLGcpfTticmVha31kZWZhdWx0OnZhclxuYT1mdW5jdGlvbigpe3ZhclxuZT1hcmd1bWVudHMubGVuZ3RoPT0wPzE6YXJndW1lbnRzLmxlbmd0aCxiPW5ld1xuQXJyYXkoYy5sZW5ndGgrZSk7Zm9yKHZhclxuYT0wO2E8Yy5sZW5ndGg7YSsrKWJbYV09Y1thXTtmb3IodmFyXG5hPTA7YTxhcmd1bWVudHMubGVuZ3RoO2ErKyliW2MubGVuZ3RoK2FdPWFyZ3VtZW50c1thXTtyZXR1cm4gaEQoZCxiKX19YS5sPWI7cmV0dXJuIGF9fWZ1bmN0aW9uXG5hdShhLGIpe2lmKGI+Pj4wPj1hLmxlbmd0aC0xKWxaKCk7cmV0dXJuIGF9ZnVuY3Rpb25cbmF3WihhKXtpZihpc0Zpbml0ZShhKSl7aWYoTWF0aC5hYnMoYSk+PTIuMjI1MDczODU4NTA3MjAxNGUtMzA4KXJldHVybiAwO2lmKGEhPTApcmV0dXJuIDE7cmV0dXJuIDJ9cmV0dXJuIGlzTmFOKGEpPzQ6M31mdW5jdGlvblxuYXhpKGEpe3JldHVybiBhPT1DRz8xOjB9dmFyXG5heE09TWF0aC5sb2cyJiZNYXRoLmxvZzIoMS4xMjM1NTgyMDkyODg5NDc0RSszMDcpPT0xMDIwO2Z1bmN0aW9uXG5heEwoYSl7aWYoYXhNKXJldHVybiBNYXRoLmZsb29yKE1hdGgubG9nMihhKSk7dmFyXG5iPTA7aWYoYT09MClyZXR1cm4tSW5maW5pdHk7aWYoYT49MSl3aGlsZShhPj0yKXthLz0yO2IrK31lbHNlXG53aGlsZShhPDEpe2EqPTI7Yi0tfXJldHVybiBifWZ1bmN0aW9uXG5FdyhhKXt2YXJcbmI9bmV3XG5GbG9hdDMyQXJyYXkoMSk7YlswXT1hO3ZhclxuYz1uZXdcbkludDMyQXJyYXkoYi5idWZmZXIpO3JldHVybiBjWzBdfDB9ZnVuY3Rpb25cbmIyKGEsYixjKXtyZXR1cm4gbmV3XG5kKGEsYixjKX1mdW5jdGlvblxucTgoYSl7aWYoIWlzRmluaXRlKGEpKXtpZihpc05hTihhKSlyZXR1cm4gYjIoMSwwLExzKTtyZXR1cm4gYT4wP2IyKDAsMCxMcyk6YjIoMCwwLDB4ZmZmMCl9dmFyXG5mPWE9PTAmJjEvYT09LUluZmluaXR5P2N3OmE+PTA/MDpjdztpZihmKWE9LWE7dmFyXG5iPWF4TChhKSsxMDIzO2lmKGI8PTApe2I9MDthLz1NYXRoLnBvdygyLC1Lbil9ZWxzZXthLz1NYXRoLnBvdygyLGItS3gpO2lmKGE8MTYpe2EqPTI7Yi09MX1pZihiPT0wKWEvPTJ9dmFyXG5kPU1hdGgucG93KDIsMjQpLGM9YXwwO2E9KGEtYykqZDt2YXJcbmU9YXwwO2E9KGEtZSkqZDt2YXJcbmc9YXwwO2M9YyZBcHxmfGI8PDQ7cmV0dXJuIGIyKGcsZSxjKX1mdW5jdGlvblxuTmooYSxiLGMpe2Eud3JpdGUoMzIsYi5kaW1zLmxlbmd0aCk7YS53cml0ZSgzMixiLmtpbmR8Yi5sYXlvdXQ8PDgpO2lmKGIuY2FtbF9jdXN0b209PXBuKWZvcih2YXJcbmQ9MDtkPGIuZGltcy5sZW5ndGg7ZCsrKWlmKGIuZGltc1tkXTxjeSlhLndyaXRlKDE2LGIuZGltc1tkXSk7ZWxzZXthLndyaXRlKDE2LGN5KTthLndyaXRlKDMyLDApO2Eud3JpdGUoMzIsYi5kaW1zW2RdKX1lbHNlXG5mb3IodmFyXG5kPTA7ZDxiLmRpbXMubGVuZ3RoO2QrKylhLndyaXRlKDMyLGIuZGltc1tkXSk7c3dpdGNoKGIua2luZCl7Y2FzZVxuMjpjYXNlXG4zOmNhc2VcbjEyOmZvcih2YXJcbmQ9MDtkPGIuZGF0YS5sZW5ndGg7ZCsrKWEud3JpdGUoOCxiLmRhdGFbZF0pO2JyZWFrO2Nhc2VcbjQ6Y2FzZVxuNTpmb3IodmFyXG5kPTA7ZDxiLmRhdGEubGVuZ3RoO2QrKylhLndyaXRlKDE2LGIuZGF0YVtkXSk7YnJlYWs7Y2FzZVxuNjpmb3IodmFyXG5kPTA7ZDxiLmRhdGEubGVuZ3RoO2QrKylhLndyaXRlKDMyLGIuZGF0YVtkXSk7YnJlYWs7Y2FzZVxuODpjYXNlXG45OmEud3JpdGUoOCwwKTtmb3IodmFyXG5kPTA7ZDxiLmRhdGEubGVuZ3RoO2QrKylhLndyaXRlKDMyLGIuZGF0YVtkXSk7YnJlYWs7Y2FzZVxuNzpmb3IodmFyXG5kPTA7ZDxiLmRhdGEubGVuZ3RoLzI7ZCsrKXt2YXJcbmY9a3YoYi5nZXQoZCkpO2Zvcih2YXJcbmU9MDtlPDg7ZSsrKWEud3JpdGUoOCxmW2VdKX1icmVhaztjYXNlXG4xOmZvcih2YXJcbmQ9MDtkPGIuZGF0YS5sZW5ndGg7ZCsrKXt2YXJcbmY9a3YocTgoYi5nZXQoZCkpKTtmb3IodmFyXG5lPTA7ZTw4O2UrKylhLndyaXRlKDgsZltlXSl9YnJlYWs7Y2FzZVxuMDpmb3IodmFyXG5kPTA7ZDxiLmRhdGEubGVuZ3RoO2QrKyl7dmFyXG5mPUV3KGIuZ2V0KGQpKTthLndyaXRlKDMyLGYpfWJyZWFrO2Nhc2VcbjEwOmZvcih2YXJcbmQ9MDtkPGIuZGF0YS5sZW5ndGgvMjtkKyspe3ZhclxuZT1iLmdldChkKTthLndyaXRlKDMyLEV3KGVbMV0pKTthLndyaXRlKDMyLEV3KGVbMl0pKX1icmVhaztjYXNlXG4xMTpmb3IodmFyXG5kPTA7ZDxiLmRhdGEubGVuZ3RoLzI7ZCsrKXt2YXJcbmc9Yi5nZXQoZCksZj1rdihxOChnWzFdKSk7Zm9yKHZhclxuZT0wO2U8ODtlKyspYS53cml0ZSg4LGZbZV0pO3ZhclxuZj1rdihxOChnWzJdKSk7Zm9yKHZhclxuZT0wO2U8ODtlKyspYS53cml0ZSg4LGZbZV0pfWJyZWFrfWNbMF09KDQrYi5kaW1zLmxlbmd0aCkqNDtjWzFdPSg0K2IuZGltcy5sZW5ndGgpKjh9ZnVuY3Rpb25cbkV4KGEpe3ZhclxuYj1uZXdcbkludDMyQXJyYXkoMSk7YlswXT1hO3ZhclxuYz1uZXdcbkZsb2F0MzJBcnJheShiLmJ1ZmZlcik7cmV0dXJuIGNbMF19ZnVuY3Rpb25cbkV5KGEpe3ZhclxuZj1hLmxvLGc9YS5taSxjPWEuaGksZD0oYyYweDdmZmYpPj40O2lmKGQ9PUpwKXJldHVybihmfGd8YyZBcCk9PTA/YyZjdz8tSW5maW5pdHk6SW5maW5pdHk6TmFOO3ZhclxuZT1NYXRoLnBvdygyLC0yNCksYj0oZiplK2cpKmUrKGMmQXApO2lmKGQ+MCl7Yis9MTY7Yio9TWF0aC5wb3coMixkLUt4KX1lbHNlXG5iKj1NYXRoLnBvdygyLC1Lbik7aWYoYyZjdyliPS1iO3JldHVybiBifWZ1bmN0aW9uXG5ibyhhKXtpZighYnAuRmFpbHVyZSlicC5GYWlsdXJlPVthaCxiNChFayksLTNdO0VKKGJwLkZhaWx1cmUsYSl9ZnVuY3Rpb25cbk5nKGEsYixjKXt2YXJcbms9YS5yZWFkMzJzKCk7aWYoazwwfHxrPjE2KWJvKFwiaW5wdXRfdmFsdWU6IHdyb25nIG51bWJlciBvZiBiaWdhcnJheSBkaW1lbnNpb25zXCIpO3Zhclxucj1hLnJlYWQzMnMoKSxsPXImaDEscT1yPj44JjEsaj1bXTtpZihjPT1wbilmb3IodmFyXG5kPTA7ZDxrO2QrKyl7dmFyXG5wPWEucmVhZDE2dSgpO2lmKHA9PWN5KXt2YXJcbnU9YS5yZWFkMzJ1KCksdj1hLnJlYWQzMnUoKTtpZih1IT0wKWJvKFwiaW5wdXRfdmFsdWU6IGJpZ2FycmF5IGRpbWVuc2lvbiBvdmVyZmxvdyBpbiAzMmJpdFwiKTtwPXZ9ai5wdXNoKHApfWVsc2VcbmZvcih2YXJcbmQ9MDtkPGs7ZCsrKWoucHVzaChhLnJlYWQzMnUoKSk7dmFyXG5mPXExKGopLGg9TmYobCxmKSxpPUVwKGwscSxqLGgpO3N3aXRjaChsKXtjYXNlXG4yOmZvcih2YXJcbmQ9MDtkPGY7ZCsrKWhbZF09YS5yZWFkOHMoKTticmVhaztjYXNlXG4zOmNhc2VcbjEyOmZvcih2YXJcbmQ9MDtkPGY7ZCsrKWhbZF09YS5yZWFkOHUoKTticmVhaztjYXNlXG40OmZvcih2YXJcbmQ9MDtkPGY7ZCsrKWhbZF09YS5yZWFkMTZzKCk7YnJlYWs7Y2FzZVxuNTpmb3IodmFyXG5kPTA7ZDxmO2QrKyloW2RdPWEucmVhZDE2dSgpO2JyZWFrO2Nhc2VcbjY6Zm9yKHZhclxuZD0wO2Q8ZjtkKyspaFtkXT1hLnJlYWQzMnMoKTticmVhaztjYXNlXG44OmNhc2Vcbjk6dmFyXG50PWEucmVhZDh1KCk7aWYodClibyhcImlucHV0X3ZhbHVlOiBjYW5ub3QgcmVhZCBiaWdhcnJheSB3aXRoIDY0LWJpdCBPQ2FtbCBpbnRzXCIpO2Zvcih2YXJcbmQ9MDtkPGY7ZCsrKWhbZF09YS5yZWFkMzJzKCk7YnJlYWs7Y2FzZVxuNzp2YXJcbmc9bmV3XG5BcnJheSg4KTtmb3IodmFyXG5kPTA7ZDxmO2QrKyl7Zm9yKHZhclxuZT0wO2U8ODtlKyspZ1tlXT1hLnJlYWQ4dSgpO3Zhclxucz1rdShnKTtpLnNldChkLHMpfWJyZWFrO2Nhc2VcbjE6dmFyXG5nPW5ld1xuQXJyYXkoOCk7Zm9yKHZhclxuZD0wO2Q8ZjtkKyspe2Zvcih2YXJcbmU9MDtlPDg7ZSsrKWdbZV09YS5yZWFkOHUoKTt2YXJcbm09RXkoa3UoZykpO2kuc2V0KGQsbSl9YnJlYWs7Y2FzZVxuMDpmb3IodmFyXG5kPTA7ZDxmO2QrKyl7dmFyXG5tPUV4KGEucmVhZDMycygpKTtpLnNldChkLG0pfWJyZWFrO2Nhc2VcbjEwOmZvcih2YXJcbmQ9MDtkPGY7ZCsrKXt2YXJcbm89RXgoYS5yZWFkMzJzKCkpLG49RXgoYS5yZWFkMzJzKCkpO2kuc2V0KGQsW2tuLG8sbl0pfWJyZWFrO2Nhc2VcbjExOnZhclxuZz1uZXdcbkFycmF5KDgpO2Zvcih2YXJcbmQ9MDtkPGY7ZCsrKXtmb3IodmFyXG5lPTA7ZTw4O2UrKylnW2VdPWEucmVhZDh1KCk7dmFyXG5vPUV5KGt1KGcpKTtmb3IodmFyXG5lPTA7ZTw4O2UrKylnW2VdPWEucmVhZDh1KCk7dmFyXG5uPUV5KGt1KGcpKTtpLnNldChkLFtrbixvLG5dKX1icmVha31iWzBdPSg0K2spKjQ7cmV0dXJuIEVwKGwscSxqLGgpfWZ1bmN0aW9uXG5OZShhLGIsYyl7cmV0dXJuIGEuY29tcGFyZShiLGMpfWZ1bmN0aW9uXG5OQyhhLGIpe3JldHVybiBNYXRoLmltdWwoYSxiKX1mdW5jdGlvblxuaDkoYSxiKXtiPU5DKGIsMHhjYzllMmQ1MXwwKTtiPWI8PDE1fGI+Pj4zMi0xNTtiPU5DKGIsMHgxYjg3MzU5Myk7YV49YjthPWE8PDEzfGE+Pj4zMi0xMztyZXR1cm4oYSsoYTw8Mil8MCkrKDB4ZTY1NDZiNjR8MCl8MH1mdW5jdGlvblxuYXc2KGEsYil7YT1oOShhLEVBKGIpKTthPWg5KGEsRXooYikpO3JldHVybiBhfWZ1bmN0aW9uXG5OdChhLGIpe3JldHVybiBhdzYoYSxxOChiKSl9ZnVuY3Rpb25cbk5pKGEpe3ZhclxuYz1xMShhLmRpbXMpLGQ9MDtzd2l0Y2goYS5raW5kKXtjYXNlXG4yOmNhc2VcbjM6Y2FzZVxuMTI6aWYoYz5sQiljPWxCO3ZhclxuZT0wLGI9MDtmb3IoYj0wO2IrNDw9YS5kYXRhLmxlbmd0aDtiKz00KXtlPWEuZGF0YVtiKzBdfGEuZGF0YVtiKzFdPDw4fGEuZGF0YVtiKzJdPDwxNnxhLmRhdGFbYiszXTw8MjQ7ZD1oOShkLGUpfWU9MDtzd2l0Y2goYyYzKXtjYXNlXG4zOmU9YS5kYXRhW2IrMl08PDE2O2Nhc2VcbjI6ZXw9YS5kYXRhW2IrMV08PDg7Y2FzZVxuMTplfD1hLmRhdGFbYiswXTtkPWg5KGQsZSl9YnJlYWs7Y2FzZVxuNDpjYXNlXG41OmlmKGM+YUEpYz1hQTt2YXJcbmU9MCxiPTA7Zm9yKGI9MDtiKzI8PWEuZGF0YS5sZW5ndGg7Yis9Mil7ZT1hLmRhdGFbYiswXXxhLmRhdGFbYisxXTw8MTY7ZD1oOShkLGUpfWlmKChjJjEpIT0wKWQ9aDkoZCxhLmRhdGFbYl0pO2JyZWFrO2Nhc2VcbjY6aWYoYz42NCljPTY0O2Zvcih2YXJcbmI9MDtiPGM7YisrKWQ9aDkoZCxhLmRhdGFbYl0pO2JyZWFrO2Nhc2Vcbjg6Y2FzZVxuOTppZihjPjY0KWM9NjQ7Zm9yKHZhclxuYj0wO2I8YztiKyspZD1oOShkLGEuZGF0YVtiXSk7YnJlYWs7Y2FzZVxuNzppZihjPjMyKWM9MzI7Yyo9Mjtmb3IodmFyXG5iPTA7YjxjO2IrKylkPWg5KGQsYS5kYXRhW2JdKTticmVhaztjYXNlXG4xMDpjKj0yO2Nhc2VcbjA6aWYoYz42NCljPTY0O2Zvcih2YXJcbmI9MDtiPGM7YisrKWQ9TnQoZCxhLmRhdGFbYl0pO2JyZWFrO2Nhc2VcbjExOmMqPTI7Y2FzZVxuMTppZihjPjMyKWM9MzI7Zm9yKHZhclxuYj0wO2I8YztiKyspZD1OdChkLGEuZGF0YVtiXSk7YnJlYWt9cmV0dXJuIGR9ZnVuY3Rpb25cbmF3OChhLGIpe2JbMF09NDtyZXR1cm4gYS5yZWFkMzJzKCl9ZnVuY3Rpb25cbmF4eihhLGIpe3N3aXRjaChhLnJlYWQ4dSgpKXtjYXNlXG4xOmJbMF09NDtyZXR1cm4gYS5yZWFkMzJzKCk7Y2FzZVxuMjpibyhcImlucHV0X3ZhbHVlOiBuYXRpdmUgaW50ZWdlciB2YWx1ZSB0b28gbGFyZ2VcIik7ZGVmYXVsdDpibyhcImlucHV0X3ZhbHVlOiBpbGwtZm9ybWVkIG5hdGl2ZSBpbnRlZ2VyXCIpfX1mdW5jdGlvblxuYXhnKGEsYil7dmFyXG5kPW5ld1xuQXJyYXkoOCk7Zm9yKHZhclxuYz0wO2M8ODtjKyspZFtjXT1hLnJlYWQ4dSgpO2JbMF09ODtyZXR1cm4ga3UoZCl9ZnVuY3Rpb25cbmF4YyhhLGIsYyl7dmFyXG5lPWt2KGIpO2Zvcih2YXJcbmQ9MDtkPDg7ZCsrKWEud3JpdGUoOCxlW2RdKTtjWzBdPTg7Y1sxXT04fWZ1bmN0aW9uXG5hdzkoYSxiLGMpe3JldHVybiBhLmNvbXBhcmUoYil9ZnVuY3Rpb25cbmF3JChhKXtyZXR1cm4gYS5sbzMyKCleYS5oaTMyKCl9dmFyXG5Obz17XCJfalwiOntkZXNlcmlhbGl6ZTpheGcsc2VyaWFsaXplOmF4YyxmaXhlZF9sZW5ndGg6OCxjb21wYXJlOmF3OSxoYXNoOmF3JH0sXCJfaVwiOntkZXNlcmlhbGl6ZTphdzgsZml4ZWRfbGVuZ3RoOjR9LFwiX25cIjp7ZGVzZXJpYWxpemU6YXh6LGZpeGVkX2xlbmd0aDo0fSxcIl9iaWdhcnJheVwiOntkZXNlcmlhbGl6ZTpmdW5jdGlvbihhLGIpe3JldHVybiBOZyhhLGIsXCJfYmlnYXJyYXlcIil9LHNlcmlhbGl6ZTpOaixjb21wYXJlOk5lLGhhc2g6Tml9LFwiX2JpZ2FycjAyXCI6e2Rlc2VyaWFsaXplOmZ1bmN0aW9uKGEsYil7cmV0dXJuIE5nKGEsYixwbil9LHNlcmlhbGl6ZTpOaixjb21wYXJlOk5lLGhhc2g6Tml9fTtmdW5jdGlvblxuRXMoYSl7cmV0dXJuIE5vW2EuY2FtbF9jdXN0b21dJiZOb1thLmNhbWxfY3VzdG9tXS5jb21wYXJlfWZ1bmN0aW9uXG5ObShhLGIsYyxkKXt2YXJcbmY9RXMoYik7aWYoZil7dmFyXG5lPWM+MD9mKGIsYSxkKTpmKGEsYixkKTtpZihkJiZlIT1lKXJldHVybiBjO2lmKCtlIT0rZSlyZXR1cm4rZTtpZigoZXwwKSE9MClyZXR1cm4gZXwwfXJldHVybiBjfWZ1bmN0aW9uXG5FRShhKXtyZXR1cm4gdHlwZW9mXG5hPT09XCJzdHJpbmdcIiYmIS9bXlxceDAwLVxceGZmXS8udGVzdChhKX1mdW5jdGlvblxuRUQoYSl7cmV0dXJuIGFcbmluc3RhbmNlb2Zcbmg2fWZ1bmN0aW9uXG5ObihhKXtpZih0eXBlb2ZcbmE9PT1cIm51bWJlclwiKXJldHVybiBsVztlbHNlIGlmKEVEKGEpKXJldHVybiBqOTtlbHNlIGlmKEVFKGEpKXJldHVybiAxMjUyO2Vsc2UgaWYoYVxuaW5zdGFuY2VvZlxuQXJyYXkmJmFbMF09PT1hWzBdPj4+MCYmYVswXTw9cEYpe3ZhclxuYj1hWzBdfDA7cmV0dXJuIGI9PWtuPzA6Yn1lbHNlIGlmKGFcbmluc3RhbmNlb2ZcblN0cmluZylyZXR1cm4gTE47ZWxzZSBpZih0eXBlb2ZcbmE9PVwic3RyaW5nXCIpcmV0dXJuIExOO2Vsc2UgaWYoYVxuaW5zdGFuY2VvZlxuTnVtYmVyKXJldHVybiBsVztlbHNlIGlmKGEmJmEuY2FtbF9jdXN0b20pcmV0dXJuIEFQO2Vsc2UgaWYoYSYmYS5jb21wYXJlKXJldHVybiAxMjU2O2Vsc2UgaWYodHlwZW9mXG5hPT1cImZ1bmN0aW9uXCIpcmV0dXJuIDEyNDc7ZWxzZSBpZih0eXBlb2ZcbmE9PVwic3ltYm9sXCIpcmV0dXJuIDEyNTE7cmV0dXJuIDEwMDF9ZnVuY3Rpb25cbmJWKGEsYil7aWYoYTxiKXJldHVybi0xO2lmKGE9PWIpcmV0dXJuIDA7cmV0dXJuIDF9ZnVuY3Rpb25cbkMoYSxiKXtyZXR1cm4gYTxiPy0xOmE+Yj8xOjB9ZnVuY3Rpb25cbmF3VyhhLGIpe2EudCY2JiZxNShhKTtiLnQmNiYmcTUoYik7cmV0dXJuIGEuYzxiLmM/LTE6YS5jPmIuYz8xOjB9ZnVuY3Rpb25cbnEzKGEsYixjKXt2YXJcbmY9W107Zm9yKDs7KXtpZighKGMmJmE9PT1iKSl7dmFyXG5lPU5uKGEpO2lmKGU9PWtpKXthPWFbMV07Y29udGludWV9dmFyXG5nPU5uKGIpO2lmKGc9PWtpKXtiPWJbMV07Y29udGludWV9aWYoZSE9PWcpe2lmKGU9PWxXKXtpZihnPT1BUClyZXR1cm4gTm0oYSxiLC0xLGMpO3JldHVybi0xfWlmKGc9PWxXKXtpZihlPT1BUClyZXR1cm4gTm0oYixhLDEsYyk7cmV0dXJuIDF9cmV0dXJuIGU8Zz8tMToxfXN3aXRjaChlKXtjYXNlXG4yNDc6YVUoRFopO2JyZWFrO2Nhc2VcbjI0ODp2YXJcbmQ9YlYoYVsyXSxiWzJdKTtpZihkIT0wKXJldHVybiBkfDA7YnJlYWs7Y2FzZVxuMjQ5OmFVKERaKTticmVhaztjYXNlXG4yNTA6YVUoXCJlcXVhbDogZ290IEZvcndhcmRfdGFnLCBzaG91bGQgbm90IGhhcHBlblwiKTticmVhaztjYXNlXG4yNTE6YVUoXCJlcXVhbDogYWJzdHJhY3QgdmFsdWVcIik7YnJlYWs7Y2FzZVxuMjUyOmlmKGEhPT1iKXt2YXJcbmQ9YXdXKGEsYik7aWYoZCE9MClyZXR1cm4gZHwwfWJyZWFrO2Nhc2VcbjI1MzphVShcImVxdWFsOiBnb3QgRG91YmxlX3RhZywgc2hvdWxkIG5vdCBoYXBwZW5cIik7YnJlYWs7Y2FzZVxuMjU0OmFVKFwiZXF1YWw6IGdvdCBEb3VibGVfYXJyYXlfdGFnLCBzaG91bGQgbm90IGhhcHBlblwiKTticmVhaztjYXNlXG4yNTU6YVUoXCJlcXVhbDogZ290IEN1c3RvbV90YWcsIHNob3VsZCBub3QgaGFwcGVuXCIpO2JyZWFrO2Nhc2VcbjEyNDc6YVUoRFopO2JyZWFrO2Nhc2VcbjEyNTU6dmFyXG5pPUVzKGEpO2lmKGkhPUVzKGIpKXJldHVybiBhLmNhbWxfY3VzdG9tPGIuY2FtbF9jdXN0b20/LTE6MTtpZighaSlhVShcImNvbXBhcmU6IGFic3RyYWN0IHZhbHVlXCIpO3ZhclxuZD1pKGEsYixjKTtpZihkIT1kKXJldHVybiBjPy0xOmQ7aWYoZCE9PShkfDApKXJldHVybi0xO2lmKGQhPTApcmV0dXJuIGR8MDticmVhaztjYXNlXG4xMjU2OnZhclxuZD1hLmNvbXBhcmUoYixjKTtpZihkIT1kKXJldHVybiBjPy0xOmQ7aWYoZCE9PShkfDApKXJldHVybi0xO2lmKGQhPTApcmV0dXJuIGR8MDticmVhaztjYXNlXG4xMDAwOmE9K2E7Yj0rYjtpZihhPGIpcmV0dXJuLTE7aWYoYT5iKXJldHVybiAxO2lmKGEhPWIpe2lmKCFjKXJldHVybiBOYU47aWYoYT09YSlyZXR1cm4gMTtpZihiPT1iKXJldHVybi0xfWJyZWFrO2Nhc2VcbjEwMDE6aWYoYTxiKXJldHVybi0xO2lmKGE+YilyZXR1cm4gMTtpZihhIT1iKXtpZighYylyZXR1cm4gTmFOO2lmKGE9PWEpcmV0dXJuIDE7aWYoYj09YilyZXR1cm4tMX1icmVhaztjYXNlXG4xMjUxOmlmKGEhPT1iKXtpZighYylyZXR1cm4gTmFOO3JldHVybiAxfWJyZWFrO2Nhc2VcbjEyNTI6dmFyXG5hPWhfKGEpLGI9aF8oYik7aWYoYSE9PWIpe2lmKGE8YilyZXR1cm4tMTtpZihhPmIpcmV0dXJuIDF9YnJlYWs7Y2FzZVxuMTI1MjA6dmFyXG5hPWEudG9TdHJpbmcoKSxiPWIudG9TdHJpbmcoKTtpZihhIT09Yil7aWYoYTxiKXJldHVybi0xO2lmKGE+YilyZXR1cm4gMX1icmVhaztjYXNlXG4yNDY6Y2FzZVxuMjU0OmRlZmF1bHQ6aWYoYXhpKGUpKXthVShcImNvbXBhcmU6IGNvbnRpbnVhdGlvbiB2YWx1ZVwiKTticmVha31pZihhLmxlbmd0aCE9Yi5sZW5ndGgpcmV0dXJuIGEubGVuZ3RoPGIubGVuZ3RoPy0xOjE7aWYoYS5sZW5ndGg+MSlmLnB1c2goYSxiLDEpO2JyZWFrfX1pZihmLmxlbmd0aD09MClyZXR1cm4gMDt2YXJcbmg9Zi5wb3AoKTtiPWYucG9wKCk7YT1mLnBvcCgpO2lmKGgrMTxhLmxlbmd0aClmLnB1c2goYSxiLGgrMSk7YT1hW2hdO2I9YltoXX19ZnVuY3Rpb25cbk5sKGEsYil7cmV0dXJuIHEzKGEsYix0cnVlKX1mdW5jdGlvblxuYXcwKCl7cmV0dXJuWzBdfWZ1bmN0aW9uXG5hcihhKXtpZihhPDApYVUoXCJCeXRlcy5jcmVhdGVcIik7cmV0dXJuIG5ld1xuaDYoYT8yOjksQSxhKX12YXJcbnE2PVswXTtmdW5jdGlvblxuYXcxKGEsYil7aWYocTYhPT1hKXJldHVybiAwO3E2PWI7cmV0dXJuIDF9ZnVuY3Rpb25cbk5wKGEpe3JldHVybiBxNn1mdW5jdGlvblxuYXcyKGEpe3E2PWF9ZnVuY3Rpb25cbmt0KGEsYil7cmV0dXJuKyhxMyhhLGIsZmFsc2UpPT0wKX1mdW5jdGlvblxuYXc0KGEsYixjLGQpe2lmKGM+MClpZihiPT0wJiYoYz49YS5sfHxhLnQ9PTImJmM+PWEuYy5sZW5ndGgpKWlmKGQ9PTApe2EuYz1BO2EudD0yfWVsc2V7YS5jPWt3KGMsU3RyaW5nLmZyb21DaGFyQ29kZShkKSk7YS50PWM9PWEubD8wOjJ9ZWxzZXtpZihhLnQhPTQpcTQoYSk7Zm9yKGMrPWI7YjxjO2IrKylhLmNbYl09ZH1yZXR1cm4gMH1mdW5jdGlvblxuRXUoYSl7dmFyXG5iO2E9aF8oYSk7Yj0rYTtpZihhLmxlbmd0aD4wJiZiPT09YilyZXR1cm4gYjthPWEucmVwbGFjZSgvXy9nLEEpO2I9K2E7aWYoYS5sZW5ndGg+MCYmYj09PWJ8fC9eWystXT9uYW4kL2kudGVzdChhKSlyZXR1cm4gYjt2YXJcbmM9L14gKihbKy1dPykweChbMC05YS1mXSspXFwuPyhbMC05YS1mXSopKHAoWystXT9bMC05XSspKT8vaS5leGVjKGEpO2lmKGMpe3ZhclxuZD1jWzNdLnJlcGxhY2UoLzArJC8sQSksZj1wYXJzZUludChjWzFdK2NbMl0rZCwxNiksZT0oY1s1XXwwKS00KmQubGVuZ3RoO2I9ZipNYXRoLnBvdygyLGUpO3JldHVybiBifWlmKC9eXFwrP2luZihpbml0eSk/JC9pLnRlc3QoYSkpcmV0dXJuIEluZmluaXR5O2lmKC9eLWluZihpbml0eSk/JC9pLnRlc3QoYSkpcmV0dXJuLUluZmluaXR5O2JvKFwiZmxvYXRfb2Zfc3RyaW5nXCIpfWZ1bmN0aW9uXG5FSShhKXthPWhfKGEpO3ZhclxuZT1hLmxlbmd0aDtpZihlPjMxKWFVKFwiZm9ybWF0X2ludDogZm9ybWF0IHRvbyBsb25nXCIpO3ZhclxuYj17anVzdGlmeTpoaSxzaWduc3R5bGU6YlAsZmlsbGVyOmhhLGFsdGVybmF0ZTpmYWxzZSxiYXNlOjAsc2lnbmVkY29udjpmYWxzZSx3aWR0aDowLHVwcGVyY2FzZTpmYWxzZSxzaWduOjEscHJlYzotMSxjb252OkxNfTtmb3IodmFyXG5kPTA7ZDxlO2QrKyl7dmFyXG5jPWEuY2hhckF0KGQpO3N3aXRjaChjKXtjYXNlXCItXCI6Yi5qdXN0aWZ5PWJQO2JyZWFrO2Nhc2VcIitcIjpjYXNlXCIgXCI6Yi5zaWduc3R5bGU9YzticmVhaztjYXNlXCIwXCI6Yi5maWxsZXI9Ymw7YnJlYWs7Y2FzZVwiI1wiOmIuYWx0ZXJuYXRlPXRydWU7YnJlYWs7Y2FzZVwiMVwiOmNhc2VcIjJcIjpjYXNlXCIzXCI6Y2FzZVwiNFwiOmNhc2VcIjVcIjpjYXNlXCI2XCI6Y2FzZVwiN1wiOmNhc2VcIjhcIjpjYXNlXCI5XCI6Yi53aWR0aD0wO3doaWxlKGM9YS5jaGFyQ29kZUF0KGQpLTQ4LGM+PTAmJmM8PTkpe2Iud2lkdGg9Yi53aWR0aCoxMCtjO2QrK31kLS07YnJlYWs7Y2FzZVwiLlwiOmIucHJlYz0wO2QrKzt3aGlsZShjPWEuY2hhckNvZGVBdChkKS00OCxjPj0wJiZjPD05KXtiLnByZWM9Yi5wcmVjKjEwK2M7ZCsrfWQtLTtjYXNlXCJkXCI6Y2FzZVwiaVwiOmIuc2lnbmVkY29udj10cnVlO2Nhc2VcInVcIjpiLmJhc2U9MTA7YnJlYWs7Y2FzZVwieFwiOmIuYmFzZT0xNjticmVhaztjYXNlXCJYXCI6Yi5iYXNlPTE2O2IudXBwZXJjYXNlPXRydWU7YnJlYWs7Y2FzZVwib1wiOmIuYmFzZT04O2JyZWFrO2Nhc2VcImVcIjpjYXNlXCJmXCI6Y2FzZVwiZ1wiOmIuc2lnbmVkY29udj10cnVlO2IuY29udj1jO2JyZWFrO2Nhc2VcIkVcIjpjYXNlXCJGXCI6Y2FzZVwiR1wiOmIuc2lnbmVkY29udj10cnVlO2IudXBwZXJjYXNlPXRydWU7Yi5jb252PWMudG9Mb3dlckNhc2UoKTticmVha319cmV0dXJuIGJ9ZnVuY3Rpb25cbkV0KGEsYil7aWYoYS51cHBlcmNhc2UpYj1iLnRvVXBwZXJDYXNlKCk7dmFyXG5lPWIubGVuZ3RoO2lmKGEuc2lnbmVkY29udiYmKGEuc2lnbjwwfHxhLnNpZ25zdHlsZSE9YlApKWUrKztpZihhLmFsdGVybmF0ZSl7aWYoYS5iYXNlPT04KWUrPTE7aWYoYS5iYXNlPT0xNillKz0yfXZhclxuYz1BO2lmKGEuanVzdGlmeT09aGkmJmEuZmlsbGVyPT1oYSlmb3IodmFyXG5kPWU7ZDxhLndpZHRoO2QrKyljKz1oYTtpZihhLnNpZ25lZGNvbnYpaWYoYS5zaWduPDApYys9YlA7ZWxzZSBpZihhLnNpZ25zdHlsZSE9YlApYys9YS5zaWduc3R5bGU7aWYoYS5hbHRlcm5hdGUmJmEuYmFzZT09OCljKz1ibDtpZihhLmFsdGVybmF0ZSYmYS5iYXNlPT0xNiljKz1hLnVwcGVyY2FzZT9cIjBYXCI6aUM7aWYoYS5qdXN0aWZ5PT1oaSYmYS5maWxsZXI9PWJsKWZvcih2YXJcbmQ9ZTtkPGEud2lkdGg7ZCsrKWMrPWJsO2MrPWI7aWYoYS5qdXN0aWZ5PT1iUClmb3IodmFyXG5kPWU7ZDxhLndpZHRoO2QrKyljKz1oYTtyZXR1cm4gYjQoYyl9ZnVuY3Rpb25cbkV2KGEsYil7ZnVuY3Rpb25cbmooYSxiKXtpZihNYXRoLmFicyhhKTwxLjApcmV0dXJuIGEudG9GaXhlZChiKTtlbHNle3ZhclxuYz1wYXJzZUludChhLnRvU3RyaW5nKCkuc3BsaXQoaGkpWzFdKTtpZihjPjIwKXtjLT0yMDthLz1NYXRoLnBvdygxMCxjKTthKz1uZXdcbkFycmF5KGMrMSkuam9pbihibCk7aWYoYj4wKWE9YStjdituZXdcbkFycmF5KGIrMSkuam9pbihibCk7cmV0dXJuIGF9ZWxzZVxucmV0dXJuIGEudG9GaXhlZChiKX19dmFyXG5jLGY9RUkoYSksZT1mLnByZWM8MD82OmYucHJlYztpZihiPDB8fGI9PTAmJjEvYj09LUluZmluaXR5KXtmLnNpZ249LTE7Yj0tYn1pZihpc05hTihiKSl7Yz15RTtmLmZpbGxlcj1oYX1lbHNlIGlmKCFpc0Zpbml0ZShiKSl7Yz1cImluZlwiO2YuZmlsbGVyPWhhfWVsc2VcbnN3aXRjaChmLmNvbnYpe2Nhc2VcImVcIjp2YXJcbmM9Yi50b0V4cG9uZW50aWFsKGUpLGQ9Yy5sZW5ndGg7aWYoYy5jaGFyQXQoZC0zKT09eEspYz1jLnNsaWNlKDAsZC0xKStibCtjLnNsaWNlKGQtMSk7YnJlYWs7Y2FzZVwiZlwiOmM9aihiLGUpO2JyZWFrO2Nhc2VcImdcIjplPWU/ZToxO2M9Yi50b0V4cG9uZW50aWFsKGUtMSk7dmFyXG5pPWMuaW5kZXhPZih4SyksaD0rYy5zbGljZShpKzEpO2lmKGg8LTR8fGI+PTFlMjF8fGIudG9GaXhlZCgwKS5sZW5ndGg+ZSl7dmFyXG5kPWktMTt3aGlsZShjLmNoYXJBdChkKT09YmwpZC0tO2lmKGMuY2hhckF0KGQpPT1jdilkLS07Yz1jLnNsaWNlKDAsZCsxKStjLnNsaWNlKGkpO2Q9Yy5sZW5ndGg7aWYoYy5jaGFyQXQoZC0zKT09eEspYz1jLnNsaWNlKDAsZC0xKStibCtjLnNsaWNlKGQtMSk7YnJlYWt9ZWxzZXt2YXJcbmc9ZTtpZihoPDApe2ctPWgrMTtjPWIudG9GaXhlZChnKX1lbHNlXG53aGlsZShjPWIudG9GaXhlZChnKSxjLmxlbmd0aD5lKzEpZy0tO2lmKGcpe3ZhclxuZD1jLmxlbmd0aC0xO3doaWxlKGMuY2hhckF0KGQpPT1ibClkLS07aWYoYy5jaGFyQXQoZCk9PWN2KWQtLTtjPWMuc2xpY2UoMCxkKzEpfX1icmVha31yZXR1cm4gRXQoZixjKX1mdW5jdGlvblxucTcoYSxiKXtpZihoXyhhKT09ajMpcmV0dXJuIGI0KEErYik7dmFyXG5jPUVJKGEpO2lmKGI8MClpZihjLnNpZ25lZGNvbnYpe2Muc2lnbj0tMTtiPS1ifWVsc2VcbmI+Pj49MDt2YXJcbmQ9Yi50b1N0cmluZyhjLmJhc2UpO2lmKGMucHJlYz49MCl7Yy5maWxsZXI9aGE7dmFyXG5lPWMucHJlYy1kLmxlbmd0aDtpZihlPjApZD1rdyhlLGJsKStkfXJldHVybiBFdChjLGQpfXZhclxuTkY9MDtmdW5jdGlvblxuaEUoKXtyZXR1cm4gTkYrK31mdW5jdGlvblxuTnIoKXtyZXR1cm5bMF19dmFyXG5xJD1bXTtmdW5jdGlvblxuTChhLGIsYyl7dmFyXG5lPWFbMV0saT1xJFtjXTtpZihpPT09dW5kZWZpbmVkKWZvcih2YXJcbmg9cSQubGVuZ3RoO2g8YztoKyspcSRbaF09MDtlbHNlIGlmKGVbaV09PT1iKXJldHVybiBlW2ktMV07dmFyXG5kPTMsZz1lWzFdKjIrMSxmO3doaWxlKGQ8Zyl7Zj1kK2c+PjF8MTtpZihiPGVbZisxXSlnPWYtMjtlbHNlXG5kPWZ9cSRbY109ZCsxO3JldHVybiBiPT1lW2QrMV0/ZVtkXTowfWZ1bmN0aW9uXG5heEsoYSl7Zm9yKHZhclxuZj1BLGM9ZixiLGgsZD0wLGc9YS5sZW5ndGg7ZDxnO2QrKyl7Yj1hLmNoYXJDb2RlQXQoZCk7aWYoYjxjZil7Zm9yKHZhclxuZT1kKzE7ZTxnJiYoYj1hLmNoYXJDb2RlQXQoZSkpPGNmO2UrKyk7aWYoZS1kPndjKXtjLnN1YnN0cigwLDEpO2YrPWM7Yz1BO2YrPWEuc2xpY2UoZCxlKX1lbHNlXG5jKz1hLnNsaWNlKGQsZSk7aWYoZT09ZylicmVhaztkPWV9aWYoYjxNbyl7Yys9U3RyaW5nLmZyb21DaGFyQ29kZSgweGMwfGI+PjYpO2MrPVN0cmluZy5mcm9tQ2hhckNvZGUoY2Z8YiZpQil9ZWxzZSBpZihiPDB4ZDgwMHx8Yj49TFMpYys9U3RyaW5nLmZyb21DaGFyQ29kZShNSXxiPj4xMixjZnxiPj42JmlCLGNmfGImaUIpO2Vsc2UgaWYoYj49MHhkYmZmfHxkKzE9PWd8fChoPWEuY2hhckNvZGVBdChkKzEpKTxLUnx8aD5MUyljKz1cIlxceGVmXFx4YmZcXHhiZFwiO2Vsc2V7ZCsrO2I9KGI8PDEwKStoLTB4MzVmZGMwMDtjKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEpQfGI+PjE4LGNmfGI+PjEyJmlCLGNmfGI+PjYmaUIsY2Z8YiZpQil9aWYoYy5sZW5ndGg+bHEpe2Muc3Vic3RyKDAsMSk7Zis9YztjPUF9fXJldHVybiBmK2N9ZnVuY3Rpb25cbmNsKGEpe3JldHVybiBFTihhKT9iNChhKTpiNChheEsoYSkpfWZ1bmN0aW9uXG5hdzcoYSxiLGMpe2lmKCFpc0Zpbml0ZShhKSl7aWYoaXNOYU4oYSkpcmV0dXJuIGNsKHlFKTtyZXR1cm4gY2woYT4wP01yOlwiLWluZmluaXR5XCIpfXZhclxuaj1hPT0wJiYxL2E9PS1JbmZpbml0eT8xOmE+PTA/MDoxO2lmKGopYT0tYTt2YXJcbmU9MDtpZihhPT0wKTtlbHNlIGlmKGE8MSl3aGlsZShhPDEmJmU+LTEwMjIpe2EqPTI7ZS0tfWVsc2VcbndoaWxlKGE+PTIpe2EvPTI7ZSsrfXZhclxuaz1lPDA/QTpoaSxmPUE7aWYoailmPWJQO2Vsc2VcbnN3aXRjaChjKXtjYXNlXG40MzpmPWhpO2JyZWFrO2Nhc2VcbjMyOmY9aGE7YnJlYWs7ZGVmYXVsdDpicmVha31pZihiPj0wJiZiPDEzKXt2YXJcbmg9TWF0aC5wb3coMixiKjQpO2E9TWF0aC5yb3VuZChhKmgpL2h9dmFyXG5kPWEudG9TdHJpbmcoMTYpO2lmKGI+PTApe3ZhclxuaT1kLmluZGV4T2YoY3YpO2lmKGk8MClkKz1jditrdyhiLGJsKTtlbHNle3ZhclxuZz1pKzErYjtpZihkLmxlbmd0aDxnKWQrPWt3KGctZC5sZW5ndGgsYmwpO2Vsc2VcbmQ9ZC5zdWJzdHIoMCxnKX19cmV0dXJuIGNsKGYraUMrZCtcInBcIitrK2UudG9TdHJpbmcoMTApKX1mdW5jdGlvblxuYXhiKGEpe3JldHVybithLmlzWmVybygpfWZ1bmN0aW9uXG5sMihhKXtyZXR1cm4gbmV3XG5kKGEmZ3IsYT4+MjQmZ3IsYT4+MzEmY3kpfWZ1bmN0aW9uXG5heGYoYSl7cmV0dXJuIGEudG9JbnQoKX1mdW5jdGlvblxuYXhhKGEpe3JldHVybithLmlzTmVnKCl9ZnVuY3Rpb25cbkVCKGEpe3JldHVybiBhLm5lZygpfWZ1bmN0aW9uXG5OdihhLGIpe3ZhclxuYz1FSShhKTtpZihjLnNpZ25lZGNvbnYmJmF4YShiKSl7Yy5zaWduPS0xO2I9RUIoYil9dmFyXG5kPUEsaD1sMihjLmJhc2UpLGc9XCIwMTIzNDU2Nzg5YWJjZGVmXCI7ZG97dmFyXG5mPWIudWRpdm1vZChoKTtiPWYucXVvdGllbnQ7ZD1nLmNoYXJBdChheGYoZi5tb2R1bHVzKSkrZH13aGlsZSghYXhiKGIpKTtpZihjLnByZWM+PTApe2MuZmlsbGVyPWhhO3ZhclxuZT1jLnByZWMtZC5sZW5ndGg7aWYoZT4wKWQ9a3coZSxibCkrZH1yZXR1cm4gRXQoYyxkKX1mdW5jdGlvblxuRyhhKXtyZXR1cm4gYS5sZW5ndGh9ZnVuY3Rpb25cbncoYSxiKXtyZXR1cm4gYS5jaGFyQ29kZUF0KGIpfWZ1bmN0aW9uXG5OdShhLGIpe3JldHVybiBhLmFkZChiKX1mdW5jdGlvblxuTncoYSxiKXtyZXR1cm4gYS5tdWwoYil9ZnVuY3Rpb25cbkVDKGEsYil7cmV0dXJuIGEudWNvbXBhcmUoYik8MH1mdW5jdGlvblxuTkcoYSl7dmFyXG5iPTAsZT1HKGEpLGM9MTAsZD0xO2lmKGU+MClzd2l0Y2godyhhLGIpKXtjYXNlXG40NTpiKys7ZD0tMTticmVhaztjYXNlXG40MzpiKys7ZD0xO2JyZWFrfWlmKGIrMTxlJiZ3KGEsYik9PTQ4KXN3aXRjaCh3KGEsYisxKSl7Y2FzZVxuMTIwOmNhc2Vcbjg4OmM9MTY7Yis9MjticmVhaztjYXNlXG4xMTE6Y2FzZVxuNzk6Yz04O2IrPTI7YnJlYWs7Y2FzZVxuOTg6Y2FzZVxuNjY6Yz0yO2IrPTI7YnJlYWs7Y2FzZVxuMTE3OmNhc2Vcbjg1OmIrPTI7YnJlYWt9cmV0dXJuW2IsZCxjXX1mdW5jdGlvblxucmEoYSl7aWYoYT49NDgmJmE8PTU3KXJldHVybiBhLTQ4O2lmKGE+PTY1JiZhPD05MClyZXR1cm4gYS01NTtpZihhPj05NyYmYTw9YWkpcmV0dXJuIGEtODc7cmV0dXJuLTF9ZnVuY3Rpb25cbmp4KGEpe3ZhclxuaD1ORyhhKSxnPWhbMF0saj1oWzFdLGU9aFsyXSxpPWwyKGUpLGs9bmV3XG5kKGdyLDB4ZmZmZmZmZixjeSkudWRpdm1vZChpKS5xdW90aWVudCxmPXcoYSxnKSxiPXJhKGYpO2lmKGI8MHx8Yj49ZSlibyhoMik7dmFyXG5jPWwyKGIpO2Zvcig7Oyl7ZysrO2Y9dyhhLGcpO2lmKGY9PTk1KWNvbnRpbnVlO2I9cmEoZik7aWYoYjwwfHxiPj1lKWJyZWFrO2lmKEVDKGssYykpYm8oaDIpO2I9bDIoYik7Yz1OdShOdyhpLGMpLGIpO2lmKEVDKGMsYikpYm8oaDIpfWlmKGchPUcoYSkpYm8oaDIpO2lmKGU9PTEwJiZFQyhuZXdcbmQoMCwwLGN3KSxjKSlibyhoMik7aWYoajwwKWM9RUIoYyk7cmV0dXJuIGN9ZnVuY3Rpb25cbk55KGEsYil7cmV0dXJuIGEub3IoYil9ZnVuY3Rpb25cbnE5KGEpe3JldHVybiBhLnRvRmxvYXQoKX1mdW5jdGlvblxuYjMoYSl7dmFyXG5oPU5HKGEpLGQ9aFswXSxpPWhbMV0sZT1oWzJdLGc9RyhhKSxqPS0xPj4+MCxmPWQ8Zz93KGEsZCk6MCxjPXJhKGYpO2lmKGM8MHx8Yz49ZSlibyhoMik7dmFyXG5iPWM7Zm9yKGQrKztkPGc7ZCsrKXtmPXcoYSxkKTtpZihmPT05NSljb250aW51ZTtjPXJhKGYpO2lmKGM8MHx8Yz49ZSlicmVhaztiPWUqYitjO2lmKGI+ailibyhoMil9aWYoZCE9ZylibyhoMik7Yj1pKmI7aWYoZT09MTAmJihifDApIT1iKWJvKGgyKTtyZXR1cm4gYnwwfWZ1bmN0aW9uXG5NKGEpe2lmKEVOKGEpKXJldHVybiBhO3JldHVybiBOTShhKX1mdW5jdGlvblxuYXhsKGEpe3ZhclxuYz17fTtmb3IodmFyXG5iPTE7YjxhLmxlbmd0aDtiKyspe3ZhclxuZD1hW2JdO2NbTShkWzFdKV09ZFsyXX1yZXR1cm4gY312YXJcbnEyPWhEO2Z1bmN0aW9uXG5heGsoYSl7cmV0dXJuIGEubD49MD9hLmw6YS5sPWEubGVuZ3RofWZ1bmN0aW9uXG5heG0oYSl7cmV0dXJuIGZ1bmN0aW9uKCl7dmFyXG5kPWF4ayhhKSxjPW5ld1xuQXJyYXkoZCk7Zm9yKHZhclxuYj0wO2I8ZDtiKyspY1tiXT1hcmd1bWVudHNbYl07cmV0dXJuIHEyKGEsYyl9fWZ1bmN0aW9uXG5FSChhLGIsYyl7aWYoYVswXT09Yil7YVswXT1jO3JldHVybiAxfXJldHVybiAwfWZ1bmN0aW9uXG5heG4oYSl7RUgoYSxqZCxqNSk7cmV0dXJuIDB9ZnVuY3Rpb25cbmF4byhhKXtyZXR1cm4gYVxuaW5zdGFuY2VvZlxuQXJyYXkmJmFbMF09PWFbMF0+Pj4wJiZFSChhLGo1LGpkKT8wOjF9ZnVuY3Rpb25cbmF4cChhKXtFSChhLGpkLGtpKTtyZXR1cm4gMH1mdW5jdGlvblxuYXhxKGEsYil7cmV0dXJuKyhxMyhhLGIsZmFsc2UpPDApfWZ1bmN0aW9uXG5ORShhKXtyZXR1cm4gYjQoYSl9ZnVuY3Rpb25cbmF3VShhLGIpe3JldHVybiBhLmdldChhLm9mZnNldChiKSl9ZnVuY3Rpb25cbmF4aChhLGIpe3JldHVybiBhLnhvcihiKX1mdW5jdGlvblxuYXhlKGEsYil7cmV0dXJuIGEuc2hpZnRfcmlnaHRfdW5zaWduZWQoYil9ZnVuY3Rpb25cbmF4ZChhLGIpe3JldHVybiBhLnNoaWZ0X2xlZnQoYil9ZnVuY3Rpb25cbnFfKGEpe2Z1bmN0aW9uXG5vKGEsYil7cmV0dXJuIGF4ZChhLGIpfWZ1bmN0aW9uXG5oKGEsYil7cmV0dXJuIGF4ZShhLGIpfWZ1bmN0aW9uXG5zKGEsYil7cmV0dXJuIE55KGEsYil9ZnVuY3Rpb25cbmYoYSxiKXtyZXR1cm4gYXhoKGEsYil9ZnVuY3Rpb25cbmsoYSxiKXtyZXR1cm4gTnUoYSxiKX1mdW5jdGlvblxuaShhLGIpe3JldHVybiBOdyhhLGIpfWZ1bmN0aW9uXG5tKGEsYil7cmV0dXJuIHMobyhhLGIpLGgoYSw2NC1iKSl9ZnVuY3Rpb25cbmcoYSxiKXtyZXR1cm4gYXdVKGEsYil9ZnVuY3Rpb25cbmooYSxiLGMpe3JldHVybiBsMChhLGIsYyl9dmFyXG5xPWp4KE5FKFwiMHhkMTM0MjU0M2RlODJlZjk1XCIpKSxsPWp4KE5FKFwiMHhkYWJhMGI2ZWIwOTMyMmUzXCIpKSxiLGQsYyxlPWEscj1nKGUsMCksbj1nKGUsMSkscD1nKGUsMiksdD1nKGUsMyk7Yj1rKG4scCk7Yj1pKGYoYixoKGIsMzIpKSxsKTtiPWkoZihiLGgoYiwzMikpLGwpO2I9ZihiLGgoYiwzMikpO2ooZSwxLGsoaShuLHEpLHIpKTt2YXJcbmQ9cCxjPXQ7Yz1mKGMsZCk7ZD1tKGQsMjQpO2Q9ZihmKGQsYyksbyhjLDE2KSk7Yz1tKGMsMzcpO2ooZSwyLGQpO2ooZSwzLGMpO3JldHVybiBifWZ1bmN0aW9uXG5pSShhLGIpe2lmKGE8MClsWigpO3ZhclxuYT1hKzF8MCxjPW5ld1xuQXJyYXkoYSk7Y1swXT0wO2Zvcih2YXJcbmQ9MTtkPGE7ZCsrKWNbZF09YjtyZXR1cm4gY31mdW5jdGlvblxuYXdNKCl7dmFyXG5hPW5ld1xuQXJyYXlCdWZmZXIoNjQpLGI9bmV3XG5VaW50MzJBcnJheShhKSxjPW5ld1xuVWludDhBcnJheShhKTtyZXR1cm57bGVuOjAsdzpuZXdcblVpbnQzMkFycmF5KFsweDY3NDUyMzAxLDB4RUZDREFCODksMHg5OEJBRENGRSwweDEwMzI1NDc2XSksYjMyOmIsYjg6Y319dmFyXG5xWj1mdW5jdGlvbigpe2Z1bmN0aW9uXG5rKGEsYil7cmV0dXJuIGErYnwwfWZ1bmN0aW9uXG5sKGEsYixjLGQsZSxmKXtiPWsoayhiLGEpLGsoZCxmKSk7cmV0dXJuIGsoYjw8ZXxiPj4+MzItZSxjKX1mdW5jdGlvblxuZyhhLGIsYyxkLGUsZixnKXtyZXR1cm4gbChiJmN8fmImZCxhLGIsZSxmLGcpfWZ1bmN0aW9uXG5oKGEsYixjLGQsZSxmLGcpe3JldHVybiBsKGImZHxjJn5kLGEsYixlLGYsZyl9ZnVuY3Rpb25cbmkoYSxiLGMsZCxlLGYsZyl7cmV0dXJuIGwoYl5jXmQsYSxiLGUsZixnKX1mdW5jdGlvblxuaihhLGIsYyxkLGUsZixnKXtyZXR1cm4gbChjXihifH5kKSxhLGIsZSxmLGcpfXJldHVybiBmdW5jdGlvbihhLGIpe3ZhclxuYz1hWzBdLGQ9YVsxXSxlPWFbMl0sZj1hWzNdO2M9ZyhjLGQsZSxmLGJbMF0sNywweEQ3NkFBNDc4KTtmPWcoZixjLGQsZSxiWzFdLDEyLDB4RThDN0I3NTYpO2U9ZyhlLGYsYyxkLGJbMl0sMTcsMHgyNDIwNzBEQik7ZD1nKGQsZSxmLGMsYlszXSwyMiwweEMxQkRDRUVFKTtjPWcoYyxkLGUsZixiWzRdLDcsMHhGNTdDMEZBRik7Zj1nKGYsYyxkLGUsYls1XSwxMiwweDQ3ODdDNjJBKTtlPWcoZSxmLGMsZCxiWzZdLDE3LDB4QTgzMDQ2MTMpO2Q9ZyhkLGUsZixjLGJbN10sMjIsMHhGRDQ2OTUwMSk7Yz1nKGMsZCxlLGYsYls4XSw3LDB4Njk4MDk4RDgpO2Y9ZyhmLGMsZCxlLGJbOV0sMTIsMHg4QjQ0RjdBRik7ZT1nKGUsZixjLGQsYlsxMF0sMTcsMHhGRkZGNUJCMSk7ZD1nKGQsZSxmLGMsYlsxMV0sMjIsMHg4OTVDRDdCRSk7Yz1nKGMsZCxlLGYsYlsxMl0sNywweDZCOTAxMTIyKTtmPWcoZixjLGQsZSxiWzEzXSwxMiwweEZEOTg3MTkzKTtlPWcoZSxmLGMsZCxiWzE0XSwxNywweEE2Nzk0MzhFKTtkPWcoZCxlLGYsYyxiWzE1XSwyMiwweDQ5QjQwODIxKTtjPWgoYyxkLGUsZixiWzFdLDUsMHhGNjFFMjU2Mik7Zj1oKGYsYyxkLGUsYls2XSw5LDB4QzA0MEIzNDApO2U9aChlLGYsYyxkLGJbMTFdLDE0LDB4MjY1RTVBNTEpO2Q9aChkLGUsZixjLGJbMF0sMjAsMHhFOUI2QzdBQSk7Yz1oKGMsZCxlLGYsYls1XSw1LDB4RDYyRjEwNUQpO2Y9aChmLGMsZCxlLGJbMTBdLDksMHgwMjQ0MTQ1Myk7ZT1oKGUsZixjLGQsYlsxNV0sMTQsMHhEOEExRTY4MSk7ZD1oKGQsZSxmLGMsYls0XSwyMCwweEU3RDNGQkM4KTtjPWgoYyxkLGUsZixiWzldLDUsMHgyMUUxQ0RFNik7Zj1oKGYsYyxkLGUsYlsxNF0sOSwweEMzMzcwN0Q2KTtlPWgoZSxmLGMsZCxiWzNdLDE0LDB4RjRENTBEODcpO2Q9aChkLGUsZixjLGJbOF0sMjAsMHg0NTVBMTRFRCk7Yz1oKGMsZCxlLGYsYlsxM10sNSwweEE5RTNFOTA1KTtmPWgoZixjLGQsZSxiWzJdLDksMHhGQ0VGQTNGOCk7ZT1oKGUsZixjLGQsYls3XSwxNCwweDY3NkYwMkQ5KTtkPWgoZCxlLGYsYyxiWzEyXSwyMCwweDhEMkE0QzhBKTtjPWkoYyxkLGUsZixiWzVdLDQsMHhGRkZBMzk0Mik7Zj1pKGYsYyxkLGUsYls4XSwxMSwweDg3NzFGNjgxKTtlPWkoZSxmLGMsZCxiWzExXSwxNiwweDZEOUQ2MTIyKTtkPWkoZCxlLGYsYyxiWzE0XSwyMywweEZERTUzODBDKTtjPWkoYyxkLGUsZixiWzFdLDQsMHhBNEJFRUE0NCk7Zj1pKGYsYyxkLGUsYls0XSwxMSwweDRCREVDRkE5KTtlPWkoZSxmLGMsZCxiWzddLDE2LDB4RjZCQjRCNjApO2Q9aShkLGUsZixjLGJbMTBdLDIzLDB4QkVCRkJDNzApO2M9aShjLGQsZSxmLGJbMTNdLDQsMHgyODlCN0VDNik7Zj1pKGYsYyxkLGUsYlswXSwxMSwweEVBQTEyN0ZBKTtlPWkoZSxmLGMsZCxiWzNdLDE2LDB4RDRFRjMwODUpO2Q9aShkLGUsZixjLGJbNl0sMjMsMHgwNDg4MUQwNSk7Yz1pKGMsZCxlLGYsYls5XSw0LDB4RDlENEQwMzkpO2Y9aShmLGMsZCxlLGJbMTJdLDExLDB4RTZEQjk5RTUpO2U9aShlLGYsYyxkLGJbMTVdLDE2LDB4MUZBMjdDRjgpO2Q9aShkLGUsZixjLGJbMl0sMjMsMHhDNEFDNTY2NSk7Yz1qKGMsZCxlLGYsYlswXSw2LDB4RjQyOTIyNDQpO2Y9aihmLGMsZCxlLGJbN10sMTAsMHg0MzJBRkY5Nyk7ZT1qKGUsZixjLGQsYlsxNF0sMTUsMHhBQjk0MjNBNyk7ZD1qKGQsZSxmLGMsYls1XSwyMSwweEZDOTNBMDM5KTtjPWooYyxkLGUsZixiWzEyXSw2LDB4NjU1QjU5QzMpO2Y9aihmLGMsZCxlLGJbM10sMTAsMHg4RjBDQ0M5Mik7ZT1qKGUsZixjLGQsYlsxMF0sMTUsMHhGRkVGRjQ3RCk7ZD1qKGQsZSxmLGMsYlsxXSwyMSwweDg1ODQ1REQxKTtjPWooYyxkLGUsZixiWzhdLDYsMHg2RkE4N0U0Rik7Zj1qKGYsYyxkLGUsYlsxNV0sMTAsMHhGRTJDRTZFMCk7ZT1qKGUsZixjLGQsYls2XSwxNSwweEEzMDE0MzE0KTtkPWooZCxlLGYsYyxiWzEzXSwyMSwweDRFMDgxMUExKTtjPWooYyxkLGUsZixiWzRdLDYsMHhGNzUzN0U4Mik7Zj1qKGYsYyxkLGUsYlsxMV0sMTAsMHhCRDNBRjIzNSk7ZT1qKGUsZixjLGQsYlsyXSwxNSwweDJBRDdEMkJCKTtkPWooZCxlLGYsYyxiWzldLDIxLDB4RUI4NkQzOTEpO2FbMF09ayhjLGFbMF0pO2FbMV09ayhkLGFbMV0pO2FbMl09ayhlLGFbMl0pO2FbM109ayhmLGFbM10pfX0oKTtmdW5jdGlvblxuYXdOKGEsYixjKXt2YXJcbmU9YS5sZW4maUIsZD0wO2EubGVuKz1jO2lmKGUpe3ZhclxuZj02NC1lO2lmKGM8Zil7YS5iOC5zZXQoYi5zdWJhcnJheSgwLGMpLGUpO3JldHVybn1hLmI4LnNldChiLnN1YmFycmF5KDAsZiksZSk7cVooYS53LGEuYjMyKTtjLT1mO2QrPWZ9d2hpbGUoYz49NjQpe2EuYjguc2V0KGIuc3ViYXJyYXkoZCxkKzY0KSwwKTtxWihhLncsYS5iMzIpO2MtPTY0O2QrPTY0fWlmKGMpYS5iOC5zZXQoYi5zdWJhcnJheShkLGQrYyksMCl9ZnVuY3Rpb25cbmF3TChhKXt2YXJcbmM9YS5sZW4maUI7YS5iOFtjXT1jZjtjKys7aWYoYz41Nil7Zm9yKHZhclxuYj1jO2I8NjQ7YisrKWEuYjhbYl09MDtxWihhLncsYS5iMzIpO2Zvcih2YXJcbmI9MDtiPDU2O2IrKylhLmI4W2JdPTB9ZWxzZVxuZm9yKHZhclxuYj1jO2I8NTY7YisrKWEuYjhbYl09MDthLmIzMlsxNF09YS5sZW48PDM7YS5iMzJbMTVdPWEubGVuPj4yOSYweDFGRkZGRkZGO3FaKGEudyxhLmIzMik7dmFyXG5lPW5ld1xuVWludDhBcnJheSgxNik7Zm9yKHZhclxuZD0wO2Q8NDtkKyspZm9yKHZhclxuYj0wO2I8NDtiKyspZVtkKjQrYl09YS53W2RdPj44KmImMHhGRjtyZXR1cm4gZX1mdW5jdGlvblxuRU0oYSl7aWYoYS50IT00KXE0KGEpO3JldHVybiBhLmN9ZnVuY3Rpb25cbmF4RihhKXtyZXR1cm4gYjQobDMoYSwwLGEubGVuZ3RoKSl9ZnVuY3Rpb25cbmF4cyhhLGIsYyl7dmFyXG5kPWF3TSgpLGU9RU0oYSk7YXdOKGQsZS5zdWJhcnJheShiLGIrYyksYyk7cmV0dXJuIGF4Rihhd0woZCkpfWZ1bmN0aW9uXG5heHQoYSxiLGMpe3JldHVybiBheHMoY2koYSksYixjKX1mdW5jdGlvblxuY2ooYSl7cmV0dXJuIGEubH1mdW5jdGlvblxuYXh1KCl7cmV0dXJuIDB9ZnVuY3Rpb25cblooYSl7RUooYnAuU3lzX2Vycm9yLGEpfXZhclxuaCQ9bmV3XG5BcnJheSgpO2Z1bmN0aW9uXG5jRyhhKXt2YXJcbmI9aCRbYV07aWYoIWIub3BlbmVkKVooXCJDYW5ub3QgZmx1c2ggYSBjbG9zZWQgY2hhbm5lbFwiKTtpZighYi5idWZmZXJ8fGIuYnVmZmVyX2N1cnI9PTApcmV0dXJuIDA7aWYoYi5vdXRwdXQpYi5vdXRwdXQobDMoYi5idWZmZXIsMCxiLmJ1ZmZlcl9jdXJyKSk7ZWxzZVxuYi5maWxlLndyaXRlKGIub2Zmc2V0LGIuYnVmZmVyLDAsYi5idWZmZXJfY3Vycik7Yi5vZmZzZXQrPWIuYnVmZmVyX2N1cnI7Yi5idWZmZXJfY3Vycj0wO3JldHVybiAwfWZ1bmN0aW9uXG5OZCgpe31mdW5jdGlvblxuYXhTKGEpe3ZhclxuZD1HKGEpLGM9bmV3XG5VaW50OEFycmF5KGQpLGI9MDtmb3IoO2I8ZDtiKyspY1tiXT13KGEsYik7cmV0dXJuIGN9ZnVuY3Rpb25cbmNGKGEsYil7dGhpcy5mcz1yZXF1aXJlKHlQKTt0aGlzLmZkPWE7dGhpcy5mbGFncz1ifWNGLnByb3RvdHlwZT1uZXdcbk5kKCk7Y0YucHJvdG90eXBlLmNvbnN0cnVjdG9yPWNGO2NGLnByb3RvdHlwZS50cnVuY2F0ZT1mdW5jdGlvbihhKXt0cnl7dGhpcy5mcy5mdHJ1bmNhdGVTeW5jKHRoaXMuZmQsYXwwKX1jYXRjaChmKXtaKGYudG9TdHJpbmcoKSl9fTtjRi5wcm90b3R5cGUubGVuZ3RoPWZ1bmN0aW9uKCl7dHJ5e3JldHVybiB0aGlzLmZzLmZzdGF0U3luYyh0aGlzLmZkKS5zaXplfWNhdGNoKGYpe1ooZi50b1N0cmluZygpKX19O2NGLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihhLGIsYyxkKXt0cnl7aWYodGhpcy5mbGFncy5pc0NoYXJhY3RlckRldmljZSl0aGlzLmZzLndyaXRlU3luYyh0aGlzLmZkLGIsYyxkKTtlbHNlXG50aGlzLmZzLndyaXRlU3luYyh0aGlzLmZkLGIsYyxkLGEpfWNhdGNoKGYpe1ooZi50b1N0cmluZygpKX1yZXR1cm4gMH07Y0YucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oYSxiLGMsZCl7dHJ5e2lmKHRoaXMuZmxhZ3MuaXNDaGFyYWN0ZXJEZXZpY2UpdmFyXG5lPXRoaXMuZnMucmVhZFN5bmModGhpcy5mZCxiLGMsZCk7ZWxzZVxudmFyXG5lPXRoaXMuZnMucmVhZFN5bmModGhpcy5mZCxiLGMsZCxhKTtyZXR1cm4gZX1jYXRjaChmKXtaKGYudG9TdHJpbmcoKSl9fTtjRi5wcm90b3R5cGUuY2xvc2U9ZnVuY3Rpb24oKXt0cnl7dGhpcy5mcy5jbG9zZVN5bmModGhpcy5mZCk7cmV0dXJuIDB9Y2F0Y2goZil7WihmLnRvU3RyaW5nKCkpfX07ZnVuY3Rpb25cbmF4SShhLGIpe2lmKGIubmFtZSl0cnl7dmFyXG5kPXJlcXVpcmUoeVApLGM9ZC5vcGVuU3luYyhiLm5hbWUsXCJyc1wiKTtyZXR1cm4gbmV3XG5jRihjLGIpfWNhdGNoKGYpe31yZXR1cm4gbmV3XG5jRihhLGIpfXZhclxucmM9bmV3XG5BcnJheSgzKTtmdW5jdGlvblxubDQoKXtyZXR1cm4gdHlwZW9mXG5hZS5wcm9jZXNzIT09XCJ1bmRlZmluZWRcIiYmdHlwZW9mXG5hZS5wcm9jZXNzLnZlcnNpb25zIT09XCJ1bmRlZmluZWRcIiYmdHlwZW9mXG5hZS5wcm9jZXNzLnZlcnNpb25zLm5vZGUhPT1cInVuZGVmaW5lZFwifWZ1bmN0aW9uXG5heE4oKXtmdW5jdGlvblxuYShhKXtpZihhLmNoYXJBdCgwKT09PWJ2KXJldHVybltBLGEuc3Vic3RyaW5nKDEpXTtyZXR1cm59ZnVuY3Rpb25cbmIoYSl7dmFyXG5nPS9eKFthLXpBLVpdOnxbXFxcXC9dezJ9W15cXFxcL10rW1xcXFwvXStbXlxcXFwvXSspPyhbXFxcXC9dKT8oW1xcc1xcU10qPykkLyxiPWcuZXhlYyhhKSxjPWJbMV18fEEsZT1Cb29sZWFuKGMmJmMuY2hhckF0KDEpIT09anUpO2lmKEJvb2xlYW4oYlsyXXx8ZSkpe3ZhclxuZD1iWzFdfHxBLGY9YlsyXXx8QTtyZXR1cm5bZCxhLnN1YnN0cmluZyhkLmxlbmd0aCtmLmxlbmd0aCldfXJldHVybn1yZXR1cm4gbDQoKSYmYWUucHJvY2VzcyYmYWUucHJvY2Vzcy5wbGF0Zm9ybT9hZS5wcm9jZXNzLnBsYXRmb3JtPT09S2k/YjphOmF9dmFyXG5FTz1heE4oKTtmdW5jdGlvblxuTkwoYSl7cmV0dXJuIGEuc2xpY2UoLTEpIT09YnY/YStidjphfWlmKGw0KCkmJmFlLnByb2Nlc3MmJmFlLnByb2Nlc3MuY3dkKXZhclxubDE9YWUucHJvY2Vzcy5jd2QoKS5yZXBsYWNlKC9cXFxcL2csYnYpO2Vsc2VcbnZhclxubDE9XCIvc3RhdGljXCI7bDE9TkwobDEpO2Z1bmN0aW9uXG5heHIoYSl7YT1NKGEpO2lmKCFFTyhhKSlhPWwxK2E7dmFyXG5lPUVPKGEpLGQ9ZVsxXS5zcGxpdChidiksYj1bXTtmb3IodmFyXG5jPTA7YzxkLmxlbmd0aDtjKyspc3dpdGNoKGRbY10pe2Nhc2VcIi4uXCI6aWYoYi5sZW5ndGg+MSliLnBvcCgpO2JyZWFrO2Nhc2VcIi5cIjpicmVhaztjYXNlXCJcIjpicmVhaztkZWZhdWx0OmIucHVzaChkW2NdKTticmVha31iLnVuc2hpZnQoZVswXSk7Yi5vcmlnPWE7cmV0dXJuIGJ9dmFyXG5heFE9W1wiRTJCSUdcIixcIkVBQ0NFU1wiLFwiRUFHQUlOXCIsdGYsXCJFQlVTWVwiLFwiRUNISUxEXCIsXCJFREVBRExLXCIsXCJFRE9NXCIsTSQsXCJFRkFVTFRcIixcIkVGQklHXCIsXCJFSU5UUlwiLFwiRUlOVkFMXCIsXCJFSU9cIixcIkVJU0RJUlwiLFwiRU1GSUxFXCIsXCJFTUxJTktcIixcIkVOQU1FVE9PTE9OR1wiLFwiRU5GSUxFXCIsXCJFTk9ERVZcIixBbyxcIkVOT0VYRUNcIixcIkVOT0xDS1wiLFwiRU5PTUVNXCIsXCJFTk9TUENcIixcIkVOT1NZU1wiLHU5LEoyLFwiRU5PVFRZXCIsXCJFTlhJT1wiLFwiRVBFUk1cIixcIkVQSVBFXCIsXCJFUkFOR0VcIixcIkVST0ZTXCIsXCJFU1BJUEVcIixcIkVTUkNIXCIsXCJFWERFVlwiLFwiRVdPVUxEQkxPQ0tcIixcIkVJTlBST0dSRVNTXCIsXCJFQUxSRUFEWVwiLFwiRU5PVFNPQ0tcIixcIkVERVNUQUREUlJFUVwiLFwiRU1TR1NJWkVcIixcIkVQUk9UT1RZUEVcIixcIkVOT1BST1RPT1BUXCIsXCJFUFJPVE9OT1NVUFBPUlRcIixcIkVTT0NLVE5PU1VQUE9SVFwiLFwiRU9QTk9UU1VQUFwiLFwiRVBGTk9TVVBQT1JUXCIsXCJFQUZOT1NVUFBPUlRcIixcIkVBRERSSU5VU0VcIixcIkVBRERSTk9UQVZBSUxcIixcIkVORVRET1dOXCIsXCJFTkVUVU5SRUFDSFwiLFwiRU5FVFJFU0VUXCIsXCJFQ09OTkFCT1JURURcIixcIkVDT05OUkVTRVRcIixcIkVOT0JVRlNcIixcIkVJU0NPTk5cIixcIkVOT1RDT05OXCIsXCJFU0hVVERPV05cIixcIkVUT09NQU5ZUkVGU1wiLFwiRVRJTUVET1VUXCIsXCJFQ09OTlJFRlVTRURcIixcIkVIT1NURE9XTlwiLFwiRUhPU1RVTlJFQUNIXCIsXCJFTE9PUFwiLFwiRU9WRVJGTE9XXCJdO2Z1bmN0aW9uXG5pYihhLGIsYyxkKXt2YXJcbmU9YXhRLmluZGV4T2YoYSk7aWYoZTwwKXtpZihkPT1udWxsKWQ9LTk5OTk7ZT1bMCxkXX12YXJcbmY9W2UsY2woYnx8QSksY2woY3x8QSldO3JldHVybiBmfXZhclxuTkQ9e307ZnVuY3Rpb25cbmlKKGEpe3JldHVybiBORFthXX1mdW5jdGlvblxuaWEoYSxiKXt0aHJvdyB4KFswLGFdLmNvbmNhdChiKSl9ZnVuY3Rpb25cbkVyKGEpe2lmKCEoYVxuaW5zdGFuY2VvZlxuVWludDhBcnJheSkpYT1uZXdcblVpbnQ4QXJyYXkoYSk7cmV0dXJuIG5ld1xuaDYoNCxhLGEubGVuZ3RoKX1mdW5jdGlvblxuTkkoYSl7WihhK284KX1mdW5jdGlvblxuYncoYSl7dGhpcy5kYXRhPWF9YncucHJvdG90eXBlPW5ld1xuTmQoKTtidy5wcm90b3R5cGUuY29uc3RydWN0b3I9Ync7YncucHJvdG90eXBlLnRydW5jYXRlPWZ1bmN0aW9uKGEpe3ZhclxuYj10aGlzLmRhdGE7dGhpcy5kYXRhPWFyKGF8MCk7aDcoYiwwLHRoaXMuZGF0YSwwLGEpfTtidy5wcm90b3R5cGUubGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIGNqKHRoaXMuZGF0YSl9O2J3LnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihhLGIsYyxkKXt2YXJcbmU9dGhpcy5sZW5ndGgoKTtpZihhK2Q+PWUpe3ZhclxuZj1hcihhK2QpLGc9dGhpcy5kYXRhO3RoaXMuZGF0YT1mO2g3KGcsMCx0aGlzLmRhdGEsMCxlKX1oNyhFcihiKSxjLHRoaXMuZGF0YSxhLGQpO3JldHVybiAwfTtidy5wcm90b3R5cGUucmVhZD1mdW5jdGlvbihhLGIsYyxkKXt2YXJcbmU9dGhpcy5sZW5ndGgoKTtpZihhK2Q+PWUpZD1lLWE7aWYoZCl7dmFyXG5mPWFyKGR8MCk7aDcodGhpcy5kYXRhLGEsZiwwLGQpO2Iuc2V0KEVNKGYpLGMpfXJldHVybiBkfTtmdW5jdGlvblxuancoYSxiLGMpe3RoaXMuZmlsZT1iO3RoaXMubmFtZT1hO3RoaXMuZmxhZ3M9Y31qdy5wcm90b3R5cGUuZXJyX2Nsb3NlZD1mdW5jdGlvbigpe1oodGhpcy5uYW1lK01PKX07ancucHJvdG90eXBlLmxlbmd0aD1mdW5jdGlvbigpe2lmKHRoaXMuZmlsZSlyZXR1cm4gdGhpcy5maWxlLmxlbmd0aCgpO3RoaXMuZXJyX2Nsb3NlZCgpfTtqdy5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oYSxiLGMsZCl7aWYodGhpcy5maWxlKXJldHVybiB0aGlzLmZpbGUud3JpdGUoYSxiLGMsZCk7dGhpcy5lcnJfY2xvc2VkKCl9O2p3LnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKGEsYixjLGQpe2lmKHRoaXMuZmlsZSlyZXR1cm4gdGhpcy5maWxlLnJlYWQoYSxiLGMsZCk7dGhpcy5lcnJfY2xvc2VkKCl9O2p3LnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe3RoaXMuZmlsZT11bmRlZmluZWR9O2Z1bmN0aW9uXG5hJChhLGIpe3RoaXMuY29udGVudD17fTt0aGlzLnJvb3Q9YTt0aGlzLmxvb2t1cEZ1bj1ifWEkLnByb3RvdHlwZS5ubT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yb290K2F9O2EkLnByb3RvdHlwZS5jcmVhdGVfZGlyX2lmX25lZWRlZD1mdW5jdGlvbihhKXt2YXJcbmQ9YS5zcGxpdChidiksYz1BO2Zvcih2YXJcbmI9MDtiPGQubGVuZ3RoLTE7YisrKXtjKz1kW2JdK2J2O2lmKHRoaXMuY29udGVudFtjXSljb250aW51ZTt0aGlzLmNvbnRlbnRbY109U3ltYm9sKFwiZGlyZWN0b3J5XCIpfX07YSQucHJvdG90eXBlLnNsYXNoPWZ1bmN0aW9uKGEpe3JldHVybi9cXC8kLy50ZXN0KGEpP2E6YStidn07YSQucHJvdG90eXBlLmxvb2t1cD1mdW5jdGlvbihhKXtpZighdGhpcy5jb250ZW50W2FdJiZ0aGlzLmxvb2t1cEZ1bil7dmFyXG5iPXRoaXMubG9va3VwRnVuKGI0KHRoaXMucm9vdCksYjQoYSkpO2lmKGIhPT0wKXt0aGlzLmNyZWF0ZV9kaXJfaWZfbmVlZGVkKGEpO3RoaXMuY29udGVudFthXT1uZXdcbmJ3KGNpKGJbMV0pKX19fTthJC5wcm90b3R5cGUuZXhpc3RzPWZ1bmN0aW9uKGEpe2lmKGE9PUEpcmV0dXJuIDE7dmFyXG5iPXRoaXMuc2xhc2goYSk7aWYodGhpcy5jb250ZW50W2JdKXJldHVybiAxO3RoaXMubG9va3VwKGEpO3JldHVybiB0aGlzLmNvbnRlbnRbYV0/MTowfTthJC5wcm90b3R5cGUuaXNGaWxlPWZ1bmN0aW9uKGEpe3JldHVybiB0aGlzLmV4aXN0cyhhKSYmIXRoaXMuaXNfZGlyKGEpPzE6MH07YSQucHJvdG90eXBlLm1rZGlyPWZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9YyYmaUoocDEpO2lmKHRoaXMuZXhpc3RzKGEpKWlmKGUpaWEoZSxpYihNJCxDRSx0aGlzLm5tKGEpKSk7ZWxzZVxuWihhK1wiOiBGaWxlIGV4aXN0c1wiKTt2YXJcbmQ9L14oLiopXFwvW14vXSsvLmV4ZWMoYSk7ZD1kJiZkWzFdfHxBO2lmKCF0aGlzLmV4aXN0cyhkKSlpZihlKWlhKGUsaWIoQW8sQ0UsdGhpcy5ubShkKSkpO2Vsc2VcblooZCtvOCk7aWYoIXRoaXMuaXNfZGlyKGQpKWlmKGUpaWEoZSxpYih1OSxDRSx0aGlzLm5tKGQpKSk7ZWxzZVxuWihkK0M3KTt0aGlzLmNyZWF0ZV9kaXJfaWZfbmVlZGVkKHRoaXMuc2xhc2goYSkpfTthJC5wcm90b3R5cGUucm1kaXI9ZnVuY3Rpb24oYSxiKXt2YXJcbmM9YiYmaUoocDEpLGQ9YT09QT9BOnRoaXMuc2xhc2goYSksZj1uZXdcblJlZ0V4cChwUCtkK00wKTtpZighdGhpcy5leGlzdHMoYSkpaWYoYylpYShjLGliKEFvLHdiLHRoaXMubm0oYSkpKTtlbHNlXG5aKGErbzgpO2lmKCF0aGlzLmlzX2RpcihhKSlpZihjKWlhKGMsaWIodTksd2IsdGhpcy5ubShhKSkpO2Vsc2VcblooYStDNyk7Zm9yKHZhclxuZVxuaW5cbnRoaXMuY29udGVudClpZihlLm1hdGNoKGYpKWlmKGMpaWEoYyxpYihKMix3Yix0aGlzLm5tKGEpKSk7ZWxzZVxuWih0aGlzLm5tKGEpK1wiOiBEaXJlY3Rvcnkgbm90IGVtcHR5XCIpO2RlbGV0ZVxudGhpcy5jb250ZW50W2RdfTthJC5wcm90b3R5cGUucmVhZGRpcj1mdW5jdGlvbihhKXt2YXJcbmY9YT09QT9BOnRoaXMuc2xhc2goYSk7aWYoIXRoaXMuZXhpc3RzKGEpKVooYStvOCk7aWYoIXRoaXMuaXNfZGlyKGEpKVooYStDNyk7dmFyXG5nPW5ld1xuUmVnRXhwKHBQK2YrTTApLGQ9e30sYz1bXTtmb3IodmFyXG5lXG5pblxudGhpcy5jb250ZW50KXt2YXJcbmI9ZS5tYXRjaChnKTtpZihiJiYhZFtiWzFdXSl7ZFtiWzFdXT10cnVlO2MucHVzaChiWzFdKX19cmV0dXJuIGN9O2EkLnByb3RvdHlwZS5vcGVuZGlyPWZ1bmN0aW9uKGEsYil7dmFyXG5jPWImJmlKKHAxKSxkPXRoaXMucmVhZGRpcihhKSxlPWZhbHNlLGY9MDtyZXR1cm57cmVhZFN5bmM6ZnVuY3Rpb24oKXtpZihlKWlmKGMpaWEoYyxpYih0ZixLTCx0aGlzLm5tKGEpKSk7ZWxzZVxuWihhK0pLKTtpZihmPT1kLmxlbmd0aClyZXR1cm4gbnVsbDt2YXJcbmI9ZFtmXTtmKys7cmV0dXJue25hbWU6Yn19LGNsb3NlU3luYzpmdW5jdGlvbigpe2lmKGUpaWYoYylpYShjLGliKHRmLEtMLHRoaXMubm0oYSkpKTtlbHNlXG5aKGErSkspO2U9dHJ1ZTtkPVtdfX19O2EkLnByb3RvdHlwZS5pc19kaXI9ZnVuY3Rpb24oYSl7aWYoYT09QSlyZXR1cm4gdHJ1ZTt2YXJcbmI9dGhpcy5zbGFzaChhKTtyZXR1cm4gdGhpcy5jb250ZW50W2JdPzE6MH07YSQucHJvdG90eXBlLnVubGluaz1mdW5jdGlvbihhKXt2YXJcbmI9dGhpcy5jb250ZW50W2FdP3RydWU6ZmFsc2U7ZGVsZXRlXG50aGlzLmNvbnRlbnRbYV07cmV0dXJuIGJ9O2EkLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKGEsYil7dmFyXG5jO2lmKGIucmRvbmx5JiZiLndyb25seSlaKHRoaXMubm0oYSkrdkEpO2lmKGIudGV4dCYmYi5iaW5hcnkpWih0aGlzLm5tKGEpK0M4KTt0aGlzLmxvb2t1cChhKTtpZih0aGlzLmNvbnRlbnRbYV0pe2lmKHRoaXMuaXNfZGlyKGEpKVoodGhpcy5ubShhKStMayk7aWYoYi5jcmVhdGUmJmIuZXhjbClaKHRoaXMubm0oYSkrd3YpO2M9dGhpcy5jb250ZW50W2FdO2lmKGIudHJ1bmNhdGUpYy50cnVuY2F0ZSgpfWVsc2UgaWYoYi5jcmVhdGUpe3RoaXMuY3JlYXRlX2Rpcl9pZl9uZWVkZWQoYSk7dGhpcy5jb250ZW50W2FdPW5ld1xuYncoYXIoMCkpO2M9dGhpcy5jb250ZW50W2FdfWVsc2Vcbk5JKHRoaXMubm0oYSkpO3JldHVybiBuZXdcbmp3KHRoaXMubm0oYSksYyxiKX07YSQucHJvdG90eXBlLm9wZW49ZnVuY3Rpb24oYSxiKXt2YXJcbmM7aWYoYi5yZG9ubHkmJmIud3Jvbmx5KVoodGhpcy5ubShhKSt2QSk7aWYoYi50ZXh0JiZiLmJpbmFyeSlaKHRoaXMubm0oYSkrQzgpO3RoaXMubG9va3VwKGEpO2lmKHRoaXMuY29udGVudFthXSl7aWYodGhpcy5pc19kaXIoYSkpWih0aGlzLm5tKGEpK0xrKTtpZihiLmNyZWF0ZSYmYi5leGNsKVoodGhpcy5ubShhKSt3dik7Yz10aGlzLmNvbnRlbnRbYV07aWYoYi50cnVuY2F0ZSljLnRydW5jYXRlKCl9ZWxzZSBpZihiLmNyZWF0ZSl7dGhpcy5jcmVhdGVfZGlyX2lmX25lZWRlZChhKTt0aGlzLmNvbnRlbnRbYV09bmV3XG5idyhhcigwKSk7Yz10aGlzLmNvbnRlbnRbYV19ZWxzZVxuTkkodGhpcy5ubShhKSk7cmV0dXJuIG5ld1xuancodGhpcy5ubShhKSxjLGIpfTthJC5wcm90b3R5cGUucmVnaXN0ZXI9ZnVuY3Rpb24oYSxiKXt2YXJcbmM7aWYodGhpcy5jb250ZW50W2FdKVoodGhpcy5ubShhKSt3dik7aWYoRUQoYikpYz1uZXdcbmJ3KGIpO2lmKEVFKGIpKWM9bmV3XG5idyhjaShiKSk7ZWxzZSBpZihiXG5pbnN0YW5jZW9mXG5BcnJheSljPW5ld1xuYncoRXIoYikpO2Vsc2UgaWYodHlwZW9mXG5iPT09XCJzdHJpbmdcIiljPW5ld1xuYncoTmsoYikpO2Vsc2UgaWYoYi50b1N0cmluZyl7dmFyXG5kPWNpKGNsKGIudG9TdHJpbmcoKSkpO2M9bmV3XG5idyhkKX1pZihjKXt0aGlzLmNyZWF0ZV9kaXJfaWZfbmVlZGVkKGEpO3RoaXMuY29udGVudFthXT1jfWVsc2VcbloodGhpcy5ubShhKStcIiA6IHJlZ2lzdGVyaW5nIGZpbGUgd2l0aCBpbnZhbGlkIGNvbnRlbnQgdHlwZVwiKX07YSQucHJvdG90eXBlLmNvbnN0cnVjdG9yPWEkO2Z1bmN0aW9uXG5hVChhKXt0aGlzLmZzPXJlcXVpcmUoeVApO3RoaXMucm9vdD1hfWFULnByb3RvdHlwZS5ubT1mdW5jdGlvbihhKXtyZXR1cm4gdGhpcy5yb290K2F9O2FULnByb3RvdHlwZS5leGlzdHM9ZnVuY3Rpb24oYSl7dHJ5e3JldHVybiB0aGlzLmZzLmV4aXN0c1N5bmModGhpcy5ubShhKSk/MTowfWNhdGNoKGYpe3JldHVybiAwfX07YVQucHJvdG90eXBlLmlzRmlsZT1mdW5jdGlvbihhKXt0cnl7cmV0dXJuIHRoaXMuZnMuc3RhdFN5bmModGhpcy5ubShhKSkuaXNGaWxlKCk/MTowfWNhdGNoKGYpe1ooZi50b1N0cmluZygpKX19O2FULnByb3RvdHlwZS5ta2Rpcj1mdW5jdGlvbihhLGIsYyl7dHJ5e3RoaXMuZnMubWtkaXJTeW5jKHRoaXMubm0oYSkse21vZGU6Yn0pO3JldHVybiAwfWNhdGNoKGYpe3RoaXMucmFpc2Vfbm9kZWpzX2Vycm9yKGYsYyl9fTthVC5wcm90b3R5cGUucm1kaXI9ZnVuY3Rpb24oYSxiKXt0cnl7dGhpcy5mcy5ybWRpclN5bmModGhpcy5ubShhKSk7cmV0dXJuIDB9Y2F0Y2goZil7dGhpcy5yYWlzZV9ub2RlanNfZXJyb3IoZixiKX19O2FULnByb3RvdHlwZS5yZWFkZGlyPWZ1bmN0aW9uKGEsYil7dHJ5e3JldHVybiB0aGlzLmZzLnJlYWRkaXJTeW5jKHRoaXMubm0oYSkpfWNhdGNoKGYpe3RoaXMucmFpc2Vfbm9kZWpzX2Vycm9yKGYsYil9fTthVC5wcm90b3R5cGUuaXNfZGlyPWZ1bmN0aW9uKGEpe3RyeXtyZXR1cm4gdGhpcy5mcy5zdGF0U3luYyh0aGlzLm5tKGEpKS5pc0RpcmVjdG9yeSgpPzE6MH1jYXRjaChmKXtaKGYudG9TdHJpbmcoKSl9fTthVC5wcm90b3R5cGUudW5saW5rPWZ1bmN0aW9uKGEsYil7dHJ5e3ZhclxuYz10aGlzLmZzLmV4aXN0c1N5bmModGhpcy5ubShhKSk/MTowO3RoaXMuZnMudW5saW5rU3luYyh0aGlzLm5tKGEpKTtyZXR1cm4gY31jYXRjaChmKXt0aGlzLnJhaXNlX25vZGVqc19lcnJvcihmLGIpfX07YVQucHJvdG90eXBlLm9wZW49ZnVuY3Rpb24oYSxiLGMpe3ZhclxuZD1yZXF1aXJlKFwiY29uc3RhbnRzXCIpLGU9MDtmb3IodmFyXG5oXG5pblxuYilzd2l0Y2goaCl7Y2FzZVwicmRvbmx5XCI6ZXw9ZC5PX1JET05MWTticmVhaztjYXNlXCJ3cm9ubHlcIjplfD1kLk9fV1JPTkxZO2JyZWFrO2Nhc2VcImFwcGVuZFwiOmV8PWQuT19XUk9OTFl8ZC5PX0FQUEVORDticmVhaztjYXNlXCJjcmVhdGVcIjplfD1kLk9fQ1JFQVQ7YnJlYWs7Y2FzZVwidHJ1bmNhdGVcIjplfD1kLk9fVFJVTkM7YnJlYWs7Y2FzZVwiZXhjbFwiOmV8PWQuT19FWENMO2JyZWFrO2Nhc2VcImJpbmFyeVwiOmV8PWQuT19CSU5BUlk7YnJlYWs7Y2FzZVwidGV4dFwiOmV8PWQuT19URVhUO2JyZWFrO2Nhc2VcIm5vbmJsb2NrXCI6ZXw9ZC5PX05PTkJMT0NLO2JyZWFrfXRyeXt2YXJcbmY9dGhpcy5mcy5vcGVuU3luYyh0aGlzLm5tKGEpLGUpLGc9dGhpcy5mcy5sc3RhdFN5bmModGhpcy5ubShhKSkuaXNDaGFyYWN0ZXJEZXZpY2UoKTtiLmlzQ2hhcmFjdGVyRGV2aWNlPWc7cmV0dXJuIG5ld1xuY0YoZixiKX1jYXRjaChmKXt0aGlzLnJhaXNlX25vZGVqc19lcnJvcihmLGMpfX07YVQucHJvdG90eXBlLnJlbmFtZT1mdW5jdGlvbihhLGIsYyl7dHJ5e3RoaXMuZnMucmVuYW1lU3luYyh0aGlzLm5tKGEpLHRoaXMubm0oYikpfWNhdGNoKGYpe3RoaXMucmFpc2Vfbm9kZWpzX2Vycm9yKGYsYyl9fTthVC5wcm90b3R5cGUuc3RhdD1mdW5jdGlvbihhLGIpe3RyeXt2YXJcbmM9dGhpcy5mcy5zdGF0U3luYyh0aGlzLm5tKGEpKTtyZXR1cm4gdGhpcy5zdGF0c19mcm9tX2pzKGMpfWNhdGNoKGYpe3RoaXMucmFpc2Vfbm9kZWpzX2Vycm9yKGYsYil9fTthVC5wcm90b3R5cGUubHN0YXQ9ZnVuY3Rpb24oYSxiKXt0cnl7dmFyXG5jPXRoaXMuZnMubHN0YXRTeW5jKHRoaXMubm0oYSkpO3JldHVybiB0aGlzLnN0YXRzX2Zyb21fanMoYyl9Y2F0Y2goZil7dGhpcy5yYWlzZV9ub2RlanNfZXJyb3IoZixiKX19O2FULnByb3RvdHlwZS5zeW1saW5rPWZ1bmN0aW9uKGEsYixjLGQpe3RyeXt0aGlzLmZzLnN5bWxpbmtTeW5jKHRoaXMubm0oYiksdGhpcy5ubShjKSxhP1wiZGlyXCI6XCJmaWxlXCIpO3JldHVybiAwfWNhdGNoKGYpe3RoaXMucmFpc2Vfbm9kZWpzX2Vycm9yKGYsZCl9fTthVC5wcm90b3R5cGUucmVhZGxpbms9ZnVuY3Rpb24oYSxiKXt0cnl7dmFyXG5jPXRoaXMuZnMucmVhZGxpbmtTeW5jKHRoaXMubm0oYSksXCJ1dGY4XCIpO3JldHVybiBjbChjKX1jYXRjaChmKXt0aGlzLnJhaXNlX25vZGVqc19lcnJvcihmLGIpfX07YVQucHJvdG90eXBlLm9wZW5kaXI9ZnVuY3Rpb24oYSxiKXt0cnl7cmV0dXJuIHRoaXMuZnMub3BlbmRpclN5bmModGhpcy5ubShhKSl9Y2F0Y2goZil7dGhpcy5yYWlzZV9ub2RlanNfZXJyb3IoZixiKX19O2FULnByb3RvdHlwZS5yYWlzZV9ub2RlanNfZXJyb3I9ZnVuY3Rpb24oYSxiKXt2YXJcbmM9aUoocDEpO2lmKGImJmMpe3ZhclxuZD1pYihhLmNvZGUsYS5zeXNjYWxsLGEucGF0aCxhLmVycm5vKTtpYShjLGQpfWVsc2VcblooYS50b1N0cmluZygpKX07YVQucHJvdG90eXBlLnN0YXRzX2Zyb21fanM9ZnVuY3Rpb24oYSl7dmFyXG5iO2lmKGEuaXNGaWxlKCkpYj0wO2Vsc2UgaWYoYS5pc0RpcmVjdG9yeSgpKWI9MTtlbHNlIGlmKGEuaXNDaGFyYWN0ZXJEZXZpY2UoKSliPTI7ZWxzZSBpZihhLmlzQmxvY2tEZXZpY2UoKSliPTM7ZWxzZSBpZihhLmlzU3ltYm9saWNMaW5rKCkpYj00O2Vsc2UgaWYoYS5pc0ZJRk8oKSliPTU7ZWxzZSBpZihhLmlzU29ja2V0KCkpYj02O3JldHVyblswLGEuZGV2LGEuaW5vLGIsYS5tb2RlLGEubmxpbmssYS51aWQsYS5naWQsYS5yZGV2LGEuc2l6ZSxhLmF0aW1lTXMsYS5tdGltZU1zLGEuY3RpbWVNc119O2FULnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hVDtmdW5jdGlvblxuTnMoYSl7dmFyXG5iPUVPKGEpO2lmKCFiKXJldHVybjtyZXR1cm4gYlswXStidn12YXJcbnJiPU5zKGwxKXx8Ym8oXCJ1bmFibGUgdG8gY29tcHV0ZSBjYW1sX3Jvb3RcIiksa3g9W107aWYobDQoKSlreC5wdXNoKHtwYXRoOnJiLGRldmljZTpuZXdcbmFUKHJiKX0pO2Vsc2Vcbmt4LnB1c2goe3BhdGg6cmIsZGV2aWNlOm5ld1xuYSQocmIpfSk7a3gucHVzaCh7cGF0aDpKOCxkZXZpY2U6bmV3XG5hJChKOCl9KTtmdW5jdGlvblxuYXhQKGEpe3ZhclxuZz1heHIoYSksYT1nLmpvaW4oYnYpLGY9TkwoYSksYztmb3IodmFyXG5lPTA7ZTxreC5sZW5ndGg7ZSsrKXt2YXJcbmI9a3hbZV07aWYoZi5zZWFyY2goYi5wYXRoKT09MCYmKCFjfHxjLnBhdGgubGVuZ3RoPGIucGF0aC5sZW5ndGgpKWM9e3BhdGg6Yi5wYXRoLGRldmljZTpiLmRldmljZSxyZXN0OmEuc3Vic3RyaW5nKGIucGF0aC5sZW5ndGgsYS5sZW5ndGgpfX1pZighYyYmbDQoKSl7dmFyXG5kPU5zKGEpO2lmKGQmJmQubWF0Y2goL15bYS16QS1aXTpcXC8kLykpe3ZhclxuYj17cGF0aDpkLGRldmljZTpuZXdcbmFUKGQpfTtreC5wdXNoKGIpO2M9e3BhdGg6Yi5wYXRoLGRldmljZTpiLmRldmljZSxyZXN0OmEuc3Vic3RyaW5nKGIucGF0aC5sZW5ndGgsYS5sZW5ndGgpfX19aWYoYylyZXR1cm4gYztaKFwibm8gZGV2aWNlIGZvdW5kIGZvciBcIitmKX1mdW5jdGlvblxubFkoYSxiKXtidy5jYWxsKHRoaXMsYXIoMCkpO3RoaXMubG9nPWZ1bmN0aW9uKGEpe3JldHVybiAwfTtpZihhPT0xJiZ0eXBlb2ZcbmNvbnNvbGUubG9nPT1cImZ1bmN0aW9uXCIpdGhpcy5sb2c9Y29uc29sZS5sb2c7ZWxzZSBpZihhPT0yJiZ0eXBlb2ZcbmNvbnNvbGUuZXJyb3I9PVwiZnVuY3Rpb25cIil0aGlzLmxvZz1jb25zb2xlLmVycm9yO2Vsc2UgaWYodHlwZW9mXG5jb25zb2xlLmxvZz09XCJmdW5jdGlvblwiKXRoaXMubG9nPWNvbnNvbGUubG9nO3RoaXMuZmxhZ3M9Yn1sWS5wcm90b3R5cGUubGVuZ3RoPWZ1bmN0aW9uKCl7cmV0dXJuIDB9O2xZLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbihhLGIsYyxkKXtpZih0aGlzLmxvZyl7aWYoZD4wJiZjPj0wJiZjK2Q8PWIubGVuZ3RoJiZiW2MrZC0xXT09MTApZC0tO3ZhclxuZT1hcihkKTtoNyhFcihiKSxjLGUsMCxkKTt0aGlzLmxvZyhlLnRvVXRmMTYoKSk7cmV0dXJuIDB9Wih0aGlzLmZkK01PKX07bFkucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oYSxiLGMsZCl7Wih0aGlzLmZkK1wiOiBmaWxlIGRlc2NyaXB0b3IgaXMgd3JpdGUgb25seVwiKX07bFkucHJvdG90eXBlLmNsb3NlPWZ1bmN0aW9uKCl7dGhpcy5sb2c9dW5kZWZpbmVkfTtmdW5jdGlvblxucmQoYSxiKXtpZihiPT11bmRlZmluZWQpYj1yYy5sZW5ndGg7cmNbYl09YTtyZXR1cm4gYnwwfWZ1bmN0aW9uXG5heFIoYSxiLGMpe3ZhclxuZD17fTt3aGlsZShiKXtzd2l0Y2goYlsxXSl7Y2FzZVxuMDpkLnJkb25seT0xO2JyZWFrO2Nhc2VcbjE6ZC53cm9ubHk9MTticmVhaztjYXNlXG4yOmQuYXBwZW5kPTE7YnJlYWs7Y2FzZVxuMzpkLmNyZWF0ZT0xO2JyZWFrO2Nhc2VcbjQ6ZC50cnVuY2F0ZT0xO2JyZWFrO2Nhc2VcbjU6ZC5leGNsPTE7YnJlYWs7Y2FzZVxuNjpkLmJpbmFyeT0xO2JyZWFrO2Nhc2Vcbjc6ZC50ZXh0PTE7YnJlYWs7Y2FzZVxuODpkLm5vbmJsb2NrPTE7YnJlYWt9Yj1iWzJdfWlmKGQucmRvbmx5JiZkLndyb25seSlaKGhfKGEpK3ZBKTtpZihkLnRleHQmJmQuYmluYXJ5KVooaF8oYSkrQzgpO3ZhclxuZT1heFAoYSksZj1lLmRldmljZS5vcGVuKGUucmVzdCxkKTtyZXR1cm4gcmQoZix1bmRlZmluZWQpfShmdW5jdGlvbigpe2Z1bmN0aW9uXG5hKGEsYil7cmV0dXJuIGw0KCk/YXhJKGEsYik6bmV3XG5sWShhLGIpfXJkKGEoMCx7cmRvbmx5OjEsYWx0bmFtZTpcIi9kZXYvc3RkaW5cIixpc0NoYXJhY3RlckRldmljZTp0cnVlfSksMCk7cmQoYSgxLHtidWZmZXJlZDoyLHdyb25seToxLGlzQ2hhcmFjdGVyRGV2aWNlOnRydWV9KSwxKTtyZChhKDIse2J1ZmZlcmVkOjIsd3Jvbmx5OjEsaXNDaGFyYWN0ZXJEZXZpY2U6dHJ1ZX0pLDIpfSgpKTtmdW5jdGlvblxuYXh2KGEpe3ZhclxuYj1yY1thXTtpZihiLmZsYWdzLndyb25seSlaKEswK2ErXCIgaXMgd3JpdGVvbmx5XCIpO3ZhclxuZD1udWxsLGM9e2ZpbGU6YixvZmZzZXQ6Yi5mbGFncy5hcHBlbmQ/Yi5sZW5ndGgoKTowLGZkOmEsb3BlbmVkOnRydWUsb3V0OmZhbHNlLGJ1ZmZlcl9jdXJyOjAsYnVmZmVyX21heDowLGJ1ZmZlcjpuZXdcblVpbnQ4QXJyYXkobFMpLHJlZmlsbDpkfTtoJFtjLmZkXT1jO3JldHVybiBjLmZkfWZ1bmN0aW9uXG5OQShhKXt2YXJcbmI9cmNbYV07aWYoYi5mbGFncy5yZG9ubHkpWihLMCthK1wiIGlzIHJlYWRvbmx5XCIpO3ZhclxuZD1iLmZsYWdzLmJ1ZmZlcmVkIT09dW5kZWZpbmVkP2IuZmxhZ3MuYnVmZmVyZWQ6MSxjPXtmaWxlOmIsb2Zmc2V0OmIuZmxhZ3MuYXBwZW5kP2IubGVuZ3RoKCk6MCxmZDphLG9wZW5lZDp0cnVlLG91dDp0cnVlLGJ1ZmZlcl9jdXJyOjAsYnVmZmVyOm5ld1xuVWludDhBcnJheShsUyksYnVmZmVyZWQ6ZH07aCRbYy5mZF09YztyZXR1cm4gYy5mZH1mdW5jdGlvblxuYXh3KCl7dmFyXG5iPTA7Zm9yKHZhclxuYT0wO2E8aCQubGVuZ3RoO2ErKylpZihoJFthXSYmaCRbYV0ub3BlbmVkJiZoJFthXS5vdXQpYj1bMCxoJFthXS5mZCxiXTtyZXR1cm4gYn1mdW5jdGlvblxuYXh5KGEsYixjLGQpe3ZhclxuZT1oJFthXTtpZighZS5vcGVuZWQpWihcIkNhbm5vdCBvdXRwdXQgdG8gYSBjbG9zZWQgY2hhbm5lbFwiKTtiPWIuc3ViYXJyYXkoYyxjK2QpO2lmKGUuYnVmZmVyX2N1cnIrYi5sZW5ndGg+ZS5idWZmZXIubGVuZ3RoKXt2YXJcbmc9bmV3XG5VaW50OEFycmF5KGUuYnVmZmVyX2N1cnIrYi5sZW5ndGgpO2cuc2V0KGUuYnVmZmVyKTtlLmJ1ZmZlcj1nfXN3aXRjaChlLmJ1ZmZlcmVkKXtjYXNlXG4wOmUuYnVmZmVyLnNldChiLGUuYnVmZmVyX2N1cnIpO2UuYnVmZmVyX2N1cnIrPWIubGVuZ3RoO2NHKGEpO2JyZWFrO2Nhc2VcbjE6ZS5idWZmZXIuc2V0KGIsZS5idWZmZXJfY3Vycik7ZS5idWZmZXJfY3Vycis9Yi5sZW5ndGg7aWYoZS5idWZmZXJfY3Vycj49ZS5idWZmZXIubGVuZ3RoKWNHKGEpO2JyZWFrO2Nhc2VcbjI6dmFyXG5mPWIubGFzdEluZGV4T2YoMTApO2lmKGY8MCl7ZS5idWZmZXIuc2V0KGIsZS5idWZmZXJfY3Vycik7ZS5idWZmZXJfY3Vycis9Yi5sZW5ndGg7aWYoZS5idWZmZXJfY3Vycj49ZS5idWZmZXIubGVuZ3RoKWNHKGEpfWVsc2V7ZS5idWZmZXIuc2V0KGIuc3ViYXJyYXkoMCxmKzEpLGUuYnVmZmVyX2N1cnIpO2UuYnVmZmVyX2N1cnIrPWYrMTtjRyhhKTtlLmJ1ZmZlci5zZXQoYi5zdWJhcnJheShmKzEpLGUuYnVmZmVyX2N1cnIpO2UuYnVmZmVyX2N1cnIrPWIubGVuZ3RoLWYtMX1icmVha31yZXR1cm4gMH1mdW5jdGlvblxuYXh4KGEsYixjLGQpe3ZhclxuYj1FTShiKTtyZXR1cm4gYXh5KGEsYixjLGQpfWZ1bmN0aW9uXG5FRihhLGIsYyxkKXtyZXR1cm4gYXh4KGEsY2koYiksYyxkKX1mdW5jdGlvblxuTkIoYSxiKXt2YXJcbmM9YjQoU3RyaW5nLmZyb21DaGFyQ29kZShiKSk7RUYoYSxjLDAsMSk7cmV0dXJuIDB9ZnVuY3Rpb25cbmp5KGEsYil7cmV0dXJuKyhxMyhhLGIsZmFsc2UpIT0wKX1mdW5jdGlvblxuRUcoYSxiKXt2YXJcbmQ9bmV3XG5BcnJheShiKzEpO2RbMF09YTtmb3IodmFyXG5jPTE7Yzw9YjtjKyspZFtjXT0wO3JldHVybiBkfWZ1bmN0aW9uXG5qeihhKXtpZihhXG5pbnN0YW5jZW9mXG5BcnJheSYmYVswXT09YVswXT4+PjApcmV0dXJuIGFbMF07ZWxzZSBpZihFRChhKSlyZXR1cm4gajk7ZWxzZSBpZihFRShhKSlyZXR1cm4gajk7ZWxzZSBpZihhXG5pbnN0YW5jZW9mXG5GdW5jdGlvbnx8dHlwZW9mXG5hPT1cImZ1bmN0aW9uXCIpcmV0dXJuIG83O2Vsc2UgaWYoYSYmYS5jYW1sX2N1c3RvbSlyZXR1cm4gcEY7ZWxzZVxucmV0dXJuIGxXfWZ1bmN0aW9uXG5hd1YoYSl7dmFyXG5jPXt9O2lmKGEpZm9yKHZhclxuYj0xO2I8YS5sZW5ndGg7YisrKWNbTShhW2JdWzFdKV09YVtiXVsyXTtyZXR1cm4gY31mdW5jdGlvblxuY2soYSxiLGMpe2lmKGMpe3ZhclxuZD1jO2lmKGFlLnRvcGxldmVsUmVsb2MpYT1xMihhZS50b3BsZXZlbFJlbG9jLFtkXSk7ZWxzZSBpZihicC5zeW1ib2xzKXtpZighYnAuc3ltaWR4KWJwLnN5bWlkeD1hd1YoYnAuc3ltYm9scyk7dmFyXG5lPWJwLnN5bWlkeFtkXTtpZihlPj0wKWE9ZTtlbHNlXG5ibyhcImNhbWxfcmVnaXN0ZXJfZ2xvYmFsOiBjYW5ub3QgbG9jYXRlIFwiK2QpfX1icFthKzFdPWI7aWYoYylicFtjXT1ifWZ1bmN0aW9uXG5FTChhLGIpe05EW2hfKGEpXT1iO3JldHVybiAwfWZ1bmN0aW9uXG5heEMoYSl7YVsyXT1ORisrO3JldHVybiBhfWZ1bmN0aW9uXG5YKGEsYil7aWYoYT09PWIpcmV0dXJuIDE7cmV0dXJuIDB9ZnVuY3Rpb25cbmF4RSgpe2FVKHY2KX1mdW5jdGlvblxuYUIoYSxiKXtpZihiPj4+MD49RyhhKSlheEUoKTtyZXR1cm4gdyhhLGIpfWZ1bmN0aW9uXG5rKGEsYil7cmV0dXJuIDEtWChhLGIpfWZ1bmN0aW9uXG5iYShhKXthLnQmNiYmcTUoYSk7cmV0dXJuIGI0KGEuYyl9ZnVuY3Rpb25cbmF4Rygpe3JldHVybiAweDdGRkZGRkZGLzR8MH12YXJcbmF4Tz1hZS5wcm9jZXNzJiZhZS5wcm9jZXNzLnBsYXRmb3JtJiZhZS5wcm9jZXNzLnBsYXRmb3JtPT1LaT9LWTpcIlVuaXhcIjtmdW5jdGlvblxuYXhIKCl7cmV0dXJuWzAsYjQoYXhPKSwzMiwwXX1mdW5jdGlvblxuYXhBKCl7TkgoYnAuTm90X2ZvdW5kKX1mdW5jdGlvblxuTksoYSl7dmFyXG5iPU5OKE0oYSkpO2lmKGI9PT11bmRlZmluZWQpYXhBKCk7cmV0dXJuIGNsKGIpfWZ1bmN0aW9uXG5heEooKXtpZihhZS5jcnlwdG8paWYoYWUuY3J5cHRvLmdldFJhbmRvbVZhbHVlcyl7dmFyXG5hPWFlLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3XG5JbnQzMkFycmF5KDQpKTtyZXR1cm5bMCxhWzBdLGFbMV0sYVsyXSxhWzNdXX1lbHNlIGlmKGFlLmNyeXB0by5yYW5kb21CeXRlcyl7dmFyXG5hPW5ld1xuSW50MzJBcnJheShhZS5jcnlwdG8ucmFuZG9tQnl0ZXMoMTYpLmJ1ZmZlcik7cmV0dXJuWzAsYVswXSxhWzFdLGFbMl0sYVszXV19dmFyXG5iPW5ld1xuRGF0ZSgpLmdldFRpbWUoKSxjPWJeMHhmZmZmZmZmZipNYXRoLnJhbmRvbSgpO3JldHVyblswLGNdfWZ1bmN0aW9uXG5yZShhKXt2YXJcbmI9MTt3aGlsZShhJiZhLmpvb190cmFtcCl7YT1hLmpvb190cmFtcC5hcHBseShudWxsLGEuam9vX2FyZ3MpO2IrK31yZXR1cm4gYX1mdW5jdGlvblxuYUgoYSxiKXtyZXR1cm57am9vX3RyYW1wOmEsam9vX2FyZ3M6Yn19ZnVuY3Rpb25cbmEoYSxiKXtpZihiLmZ1bil7YS5mdW49Yi5mdW47cmV0dXJuIDB9aWYodHlwZW9mXG5iPT09XCJmdW5jdGlvblwiKXthLmZ1bj1iO3JldHVybiAwfXZhclxuYz1iLmxlbmd0aDt3aGlsZShjLS0pYVtjXT1iW2NdO3JldHVybiAwfWZ1bmN0aW9uXG5hQyhhKXt7aWYoYVxuaW5zdGFuY2VvZlxuQXJyYXkpcmV0dXJuIGE7dmFyXG5iO2lmKGFlLlJhbmdlRXJyb3ImJmFcbmluc3RhbmNlb2ZcbmFlLlJhbmdlRXJyb3ImJmEubWVzc2FnZSYmYS5tZXNzYWdlLm1hdGNoKC9tYXhpbXVtIGNhbGwgc3RhY2svaSkpYj1icC5TdGFja19vdmVyZmxvdztlbHNlIGlmKGFlLkludGVybmFsRXJyb3ImJmFcbmluc3RhbmNlb2ZcbmFlLkludGVybmFsRXJyb3ImJmEubWVzc2FnZSYmYS5tZXNzYWdlLm1hdGNoKC90b28gbXVjaCByZWN1cnNpb24vaSkpYj1icC5TdGFja19vdmVyZmxvdztlbHNlIGlmKGFcbmluc3RhbmNlb2ZcbmFlLkVycm9yJiZpSih0UykpYj1bMCxpSih0UyksYV07ZWxzZVxuYj1bMCxicC5GYWlsdXJlLGNsKFN0cmluZyhhKSldO2lmKGFcbmluc3RhbmNlb2ZcbmFlLkVycm9yKWIuanNfZXJyb3I9YTtyZXR1cm4gYn19ZnVuY3Rpb25cbmF4aihhKXtzd2l0Y2goYVsyXSl7Y2FzZS04OmNhc2UtMTE6Y2FzZS0xMjpyZXR1cm4gMTtkZWZhdWx0OnJldHVybiAwfX1mdW5jdGlvblxuYXc1KGEpe3ZhclxuYj1BO2lmKGFbMF09PTApe2IrPWFbMV1bMV07aWYoYS5sZW5ndGg9PTMmJmFbMl1bMF09PTAmJmF4aihhWzFdKSl2YXJcbmU9YVsyXSxmPTE7ZWxzZVxudmFyXG5mPTIsZT1hO2IrPUt3O2Zvcih2YXJcbmQ9ZjtkPGUubGVuZ3RoO2QrKyl7aWYoZD5mKWIrPU1SO3ZhclxuYz1lW2RdO2lmKHR5cGVvZlxuYz09XCJudW1iZXJcIiliKz1jLnRvU3RyaW5nKCk7ZWxzZSBpZihjXG5pbnN0YW5jZW9mXG5oNiliKz1xeCtjLnRvU3RyaW5nKCkrcXg7ZWxzZSBpZih0eXBlb2ZcbmM9PVwic3RyaW5nXCIpYis9cXgrYy50b1N0cmluZygpK3F4O2Vsc2VcbmIrPWprfWIrPUxIfWVsc2UgaWYoYVswXT09YWgpYis9YVsxXTtyZXR1cm4gYn1mdW5jdGlvblxuTnEoYSl7aWYoYVxuaW5zdGFuY2VvZlxuQXJyYXkmJihhWzBdPT0wfHxhWzBdPT1haCkpe3ZhclxuYz1pSihMYik7aWYoYylxMihjLFthLGZhbHNlXSk7ZWxzZXt2YXJcbmQ9YXc1KGEpLGI9aUooSlIpO2lmKGIpcTIoYixbMF0pO2NvbnNvbGUuZXJyb3Iod1IrZCk7aWYoYS5qc19lcnJvcil0aHJvdyBhLmpzX2Vycm9yfX1lbHNlXG50aHJvdyBhfWZ1bmN0aW9uXG5heEQoKXt2YXJcbmM9YWUucHJvY2VzcztpZihjJiZjLm9uKWMub24oXCJ1bmNhdWdodEV4Y2VwdGlvblwiLGZ1bmN0aW9uKGEsYil7TnEoYSk7Yy5leGl0KDIpfSk7ZWxzZSBpZihhZS5hZGRFdmVudExpc3RlbmVyKWFlLmFkZEV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLGZ1bmN0aW9uKGEpe2lmKGEuZXJyb3IpTnEoYS5lcnJvcil9KX1heEQoKTtmdW5jdGlvblxuaShhLGIpe3JldHVybihhLmw+PTA/YS5sOmEubD1hLmxlbmd0aCk9PTE/YShiKTpoRChhLFtiXSl9ZnVuY3Rpb25cbmooYSxiLGMpe3JldHVybihhLmw+PTA/YS5sOmEubD1hLmxlbmd0aCk9PTI/YShiLGMpOmhEKGEsW2IsY10pfWZ1bmN0aW9uXG56KGEsYixjLGQpe3JldHVybihhLmw+PTA/YS5sOmEubD1hLmxlbmd0aCk9PTM/YShiLGMsZCk6aEQoYSxbYixjLGRdKX1mdW5jdGlvblxuczgoYSxiLGMsZCxlKXtyZXR1cm4oYS5sPj0wP2EubDphLmw9YS5sZW5ndGgpPT00P2EoYixjLGQsZSk6aEQoYSxbYixjLGQsZV0pfWZ1bmN0aW9uXG5zNyhhLGIsYyxkLGUsZil7cmV0dXJuKGEubD49MD9hLmw6YS5sPWEubGVuZ3RoKT09NT9hKGIsYyxkLGUsZik6aEQoYSxbYixjLGQsZSxmXSl9ZnVuY3Rpb25cbmxqKGEsYixjLGQsZSxmLGcpe3JldHVybihhLmw+PTA/YS5sOmEubD1hLmxlbmd0aCk9PTY/YShiLGMsZCxlLGYsZyk6aEQoYSxbYixjLGQsZSxmLGddKX1mdW5jdGlvblxuYXdLKGEsYixjLGQsZSxmLGcsaCl7cmV0dXJuKGEubD49MD9hLmw6YS5sPWEubGVuZ3RoKT09Nz9hKGIsYyxkLGUsZixnLGgpOmhEKGEsW2IsYyxkLGUsZixnLGhdKX12YXJcbmw9dW5kZWZpbmVkLHJmPVthaCxMZSwtMV0sRVI9W2FoLE1wLC0yXSxjbT1bYWgsRWssLTNdLGw1PVthaCxNaCwtNF0sY0g9W2FoLEtYLC03XSxFUD1bYWgsTGMsLThdLEVRPVthaCxNeSwtOV0sWT1bYWgsTUMsLTExXSxreT1bYWgsS0ksLTEyXSxhd0o9WzQsMCwwLDAsWzEyLDQ1LFs0LDAsMCwwLDBdXV0scng9WzAsWzExLCdGaWxlIFwiJyxbMiwwLFsxMSwnXCIsIGxpbmUgJyxbNCwwLDAsMCxbMTEsS2YsWzQsMCwwLDAsWzEyLDQ1LFs0LDAsMCwwLFsxMSxcIjogXCIsWzIsMCwwXV1dXV1dXV1dXSwnRmlsZSBcIiVzXCIsIGxpbmUgJWQsIGNoYXJhY3RlcnMgJWQtJWQ6ICVzJ10saks9WzAsMCxbMCwwLDBdLFswLDAsMF1dLGpQPVswLDAsMCwwLDAsMSwwLDAsMF0sSGE9WzAsXCJmaXJzdF9sZWFkaW5nXCIsXCJsYXN0X3RyYWlsaW5nXCJdLEhiPVswLGRlLGNFLGVjLGRsLGMwLGZHLGRHLGhiLGU0LGdsLGZKLGROLGY0LGNDLGQ1LGhmLGJSLGZhLGZILGRxLGhzLGR4LGh2LGVxLGZTLGc3LGdKLGZPLGVCLGcxLGc0LGY1LGZyLGdELGUxLGdZLGVyLGRMLGdSLGYxLGdHLGdYLGd6LGh6LGdnLGMzLGVoLGVQLGYzLGQ0LGd0LGVILGRqLGZ5LGJMLGJOLGdwLGdGLGZZLGdWLGZWLGZ4LGVBLGZqLGcyLGQ5LGZvLGhCLGZQLGRrLGJGLGhuLGVNLGhjLGM0LGdBLGdILGZpLGhvLGZjLGZtLGd3LGVrLGMyLGZCLGVfLGY2LGNULGV1LGNaLGdkLGFRLGUyLGQzLGZuLGRPLGZJLGdJLGRSLGh0LGdOLGNWLGRwLGVELGV5LGdrLGh4LGZ2LGZSLGZiLGVmLGVzLGZaLGRDLGQkLGdDLGRRLGdULGVDLGRGLGR5LGYkLGVULGdmLGZrLGR1LGNlLGdvLGRNLGV4LGJqLGdiLGZBLGdtLGdLLGVOLGM3LGQyLGViLGJ1LGRnLGYwLGc1LGZRLGRaLGZsLGV3LGZFLGRBLGZlLGRQLGMkLGRLLGVZLGUzLGZzLGVKLGVhLGhrLGd4LGRfLGdpLGVqLGdNLGVVLGVRLGdQLGczLGQ3LGRZLGVaLGUkLGVFLGNYLGRJLGckLGZULGM1LGQwLGhxLGRILGhnLGVwLGRmLGVlLGRuLGhqLGV0LGdoLGZ1LGU5LGhkLGV6LGc5LGRFLGd1LGVsLGNXLGRzLGZnLGR2LGU1LGVGLGZNLGZOLGZGLGRCLGc2LGdzLGdjLGRpLGVLLGZ3LGNfLGRyLGdhLGRYLGMxLGVpLGRVLGh3LGh5LGZkLGVJLGdFLGU3LGNZLGJFLGVPLGcwLGZoLGR3LGVXLGVMLGRiLGhBLGY5LGZ6LGQ4LGVTLGM5LGhwLGdRLGRtLGVSLGVYLGRELGdaLGRhLGJLLGduLGUwLGRkLGh1LGRjLGY4LGVHLGJPLGY3LGZYLGR6LGQxLGhyLGRKLGc4LGd2LGJRLGdxLGM4LGZELGZmLGZfLGdVLGU2LGJTLGYyLGQ2LGNVLGdMLGdPLGZwLGdlLGVkLGU4LGZXLGZVLGZxLGRXLGhsLGV2LGZLLGVWLGZ0LGZMLGRTLGhtLGhlLGR0LGdfLGZDLGVuLGd5LGM2LGRULGVtLGJrLGhoLGdTLGRoLGJuXSxjdT1bMCwwLDBdO2NrKDExLGt5LEtJKTtjaygxMCxZLE1DKTtjayg5LFthaCxLRCxMeF0sS0QpO2NrKDgsRVEsTXkpO2NrKDcsRVAsTGMpO2NrKDYsY0gsS1gpO2NrKDUsW2FoLExYLC02XSxMWCk7Y2soNCxbYWgsTXYsLTVdLE12KTtjaygzLGw1LE1oKTtjaygyLGNtLEVrKTtjaygxLEVSLE1wKTtjaygwLHJmLExlKTtmdW5jdGlvblxuYXkoYSl7aWYodHlwZW9mXG5hPT09XCJudW1iZXJcIilyZXR1cm4gMDtzd2l0Y2goYVswXSl7Y2FzZVxuMDpyZXR1cm5bMCxheShhWzFdKV07Y2FzZVxuMTpyZXR1cm5bMSxheShhWzFdKV07Y2FzZVxuMjpyZXR1cm5bMixheShhWzFdKV07Y2FzZVxuMzpyZXR1cm5bMyxheShhWzFdKV07Y2FzZVxuNDpyZXR1cm5bNCxheShhWzFdKV07Y2FzZVxuNTpyZXR1cm5bNSxheShhWzFdKV07Y2FzZVxuNjpyZXR1cm5bNixheShhWzFdKV07Y2FzZVxuNzpyZXR1cm5bNyxheShhWzFdKV07Y2FzZVxuODp2YXJcbmM9YVsxXTtyZXR1cm5bOCxjLGF5KGFbMl0pXTtjYXNlXG45OnZhclxuYj1hWzFdO3JldHVybls5LGIsYixheShhWzNdKV07Y2FzZVxuMTA6cmV0dXJuWzEwLGF5KGFbMV0pXTtjYXNlXG4xMTpyZXR1cm5bMTEsYXkoYVsxXSldO2Nhc2VcbjEyOnJldHVyblsxMixheShhWzFdKV07Y2FzZVxuMTM6cmV0dXJuWzEzLGF5KGFbMV0pXTtkZWZhdWx0OnJldHVyblsxNCxheShhWzFdKV19fWZ1bmN0aW9uXG5icShhLGIpe2lmKHR5cGVvZlxuYT09PVwibnVtYmVyXCIpcmV0dXJuIGI7c3dpdGNoKGFbMF0pe2Nhc2VcbjA6cmV0dXJuWzAsYnEoYVsxXSxiKV07Y2FzZVxuMTpyZXR1cm5bMSxicShhWzFdLGIpXTtjYXNlXG4yOnJldHVyblsyLGJxKGFbMV0sYildO2Nhc2VcbjM6cmV0dXJuWzMsYnEoYVsxXSxiKV07Y2FzZVxuNDpyZXR1cm5bNCxicShhWzFdLGIpXTtjYXNlXG41OnJldHVybls1LGJxKGFbMV0sYildO2Nhc2VcbjY6cmV0dXJuWzYsYnEoYVsxXSxiKV07Y2FzZVxuNzpyZXR1cm5bNyxicShhWzFdLGIpXTtjYXNlXG44OnZhclxuYz1hWzFdO3JldHVybls4LGMsYnEoYVsyXSxiKV07Y2FzZVxuOTp2YXJcbmQ9YVsyXSxlPWFbMV07cmV0dXJuWzksZSxkLGJxKGFbM10sYildO2Nhc2VcbjEwOnJldHVyblsxMCxicShhWzFdLGIpXTtjYXNlXG4xMTpyZXR1cm5bMTEsYnEoYVsxXSxiKV07Y2FzZVxuMTI6cmV0dXJuWzEyLGJxKGFbMV0sYildO2Nhc2VcbjEzOnJldHVyblsxMyxicShhWzFdLGIpXTtkZWZhdWx0OnJldHVyblsxNCxicShhWzFdLGIpXX19ZnVuY3Rpb25cbmFzKGEsYil7aWYodHlwZW9mXG5hPT09XCJudW1iZXJcIilyZXR1cm4gYjtzd2l0Y2goYVswXSl7Y2FzZVxuMDpyZXR1cm5bMCxhcyhhWzFdLGIpXTtjYXNlXG4xOnJldHVyblsxLGFzKGFbMV0sYildO2Nhc2VcbjI6dmFyXG5jPWFbMV07cmV0dXJuWzIsYyxhcyhhWzJdLGIpXTtjYXNlXG4zOnZhclxuZD1hWzFdO3JldHVyblszLGQsYXMoYVsyXSxiKV07Y2FzZVxuNDp2YXJcbmU9YVszXSxmPWFbMl0sZz1hWzFdO3JldHVybls0LGcsZixlLGFzKGFbNF0sYildO2Nhc2VcbjU6dmFyXG5oPWFbM10saT1hWzJdLGo9YVsxXTtyZXR1cm5bNSxqLGksaCxhcyhhWzRdLGIpXTtjYXNlXG42OnZhclxuaz1hWzNdLGw9YVsyXSxtPWFbMV07cmV0dXJuWzYsbSxsLGssYXMoYVs0XSxiKV07Y2FzZVxuNzp2YXJcbm49YVszXSxvPWFbMl0scD1hWzFdO3JldHVybls3LHAsbyxuLGFzKGFbNF0sYildO2Nhc2Vcbjg6dmFyXG5xPWFbM10scj1hWzJdLHM9YVsxXTtyZXR1cm5bOCxzLHIscSxhcyhhWzRdLGIpXTtjYXNlXG45OnZhclxudD1hWzFdO3JldHVybls5LHQsYXMoYVsyXSxiKV07Y2FzZVxuMTA6cmV0dXJuWzEwLGFzKGFbMV0sYildO2Nhc2VcbjExOnZhclxudT1hWzFdO3JldHVyblsxMSx1LGFzKGFbMl0sYildO2Nhc2VcbjEyOnZhclxudj1hWzFdO3JldHVyblsxMix2LGFzKGFbMl0sYildO2Nhc2VcbjEzOnZhclxudz1hWzJdLHg9YVsxXTtyZXR1cm5bMTMseCx3LGFzKGFbM10sYildO2Nhc2VcbjE0OnZhclxueT1hWzJdLHo9YVsxXTtyZXR1cm5bMTQseix5LGFzKGFbM10sYildO2Nhc2VcbjE1OnJldHVyblsxNSxhcyhhWzFdLGIpXTtjYXNlXG4xNjpyZXR1cm5bMTYsYXMoYVsxXSxiKV07Y2FzZVxuMTc6dmFyXG5BPWFbMV07cmV0dXJuWzE3LEEsYXMoYVsyXSxiKV07Y2FzZVxuMTg6dmFyXG5CPWFbMV07cmV0dXJuWzE4LEIsYXMoYVsyXSxiKV07Y2FzZVxuMTk6cmV0dXJuWzE5LGFzKGFbMV0sYildO2Nhc2VcbjIwOnZhclxuQz1hWzJdLEQ9YVsxXTtyZXR1cm5bMjAsRCxDLGFzKGFbM10sYildO2Nhc2VcbjIxOnZhclxuRT1hWzFdO3JldHVyblsyMSxFLGFzKGFbMl0sYildO2Nhc2VcbjIyOnJldHVyblsyMixhcyhhWzFdLGIpXTtjYXNlXG4yMzp2YXJcbkY9YVsxXTtyZXR1cm5bMjMsRixhcyhhWzJdLGIpXTtkZWZhdWx0OnZhclxuRz1hWzJdLEg9YVsxXTtyZXR1cm5bMjQsSCxHLGFzKGFbM10sYildfX1mdW5jdGlvblxuRShhKXt0aHJvdyB4KFswLGNtLGFdLDEpfWZ1bmN0aW9uXG5iYihhKXt0aHJvdyB4KFswLGw1LGFdLDEpfWZ1bmN0aW9uXG5sNihhKXtyZXR1cm4gMDw9YT9hOi1hfDB9dmFyXG5OUT1oVSxOUj1oNTtmdW5jdGlvblxuSihhLGIpe3ZhclxuYz1HKGEpLGU9RyhiKSxkPWFyKGMrZXwwKTtoQyhhLDAsZCwwLGMpO2hDKGIsMCxkLGMsZSk7cmV0dXJuIGJhKGQpfWZ1bmN0aW9uXG5JKGEsYil7aWYoIWEpcmV0dXJuIGI7dmFyXG5mPWFbMl0sZz1hWzFdO2lmKCFmKXJldHVyblswLGcsYl07dmFyXG5oPWZbMl0sbD1mWzFdO2lmKCFoKXJldHVyblswLGcsWzAsbCxiXV07dmFyXG5tPVswLGhbMV0saXldLGQ9bSxjPTEsZT1oWzJdO2Zvcig7Oyl7aWYoZSl7dmFyXG5pPWVbMl0saj1lWzFdO2lmKGkpe3Zhclxuaz1pWzJdLG49aVsxXTtpZihrKXt2YXJcbm89WzAsa1sxXSxpeV0scD1rWzJdO2RbMStjXT1bMCxqLFswLG4sb11dO3ZhclxuZD1vLGM9MSxlPXA7Y29udGludWV9ZFsxK2NdPVswLGosWzAsbixiXV19ZWxzZVxuZFsxK2NdPVswLGosYl19ZWxzZVxuZFsxK2NdPWI7cmV0dXJuWzAsZyxbMCxsLG1dXX19YXh2KDApO3ZhclxuRVM9TkEoMSksY249TkEoMiksTlQ9XCJvdXRwdXRfc3Vic3RyaW5nXCI7ZnVuY3Rpb25cbmt6KGEsYil7RUYoYSxiLDAsRyhiKSk7cmV0dXJufWZ1bmN0aW9uXG5FVChhLGIsYyxkKXtpZigwPD1jJiYwPD1kJiYoRyhiKS1kfDApPj1jKXJldHVybiBFRihhLGIsYyxkKTtyZXR1cm4gYmIoTlQpfWZ1bmN0aW9uXG5FVShhKXtreihjbixhKTtOQihjbiwxMCk7cmV0dXJuIGNHKGNuKX12YXJcbnJnPVswLGZ1bmN0aW9uKGEpe3ZhclxuYj1heHcoMCk7Zm9yKDs7KXtpZighYilyZXR1cm4gMDt2YXJcbmQ9YlsyXSxlPWJbMV07dHJ5e2NHKGUpfWNhdGNoKGYpe3ZhclxuYz1hQyhmKTtpZihjWzFdIT09RVIpdGhyb3cgeChjLDApfXZhclxuYj1kfX1dLEVXPVswLGZ1bmN0aW9uKGEpe3JldHVybn1dO2Z1bmN0aW9uXG5yaChhKXtpKEVXWzFdLDApO3JldHVybiBpKGtzKHJnKSwwKX1FTChKUixyaCk7dmFyXG5FWD1heEgoMClbMV0sa0E9KDQqYXhHKDApfDApLTF8MDtmdW5jdGlvblxubDcoYSxiKXtyZXR1cm4gYj9bMCxpKGEsYlsxXSldOjB9ZnVuY3Rpb25cbkVZKGEpe3JldHVybiAyNTxhK29XPj4+MD9hOmEtMzJ8MH12YXJcbk4xPVwiaGRcIixOMj1cInRsXCIsTjM9XCJMaXN0Lml0ZXIyXCI7ZnVuY3Rpb25cbmhGKGEpe3ZhclxuYz0wLGI9YTtmb3IoOzspe2lmKCFiKXJldHVybiBjO3ZhclxuYz1jKzF8MCxiPWJbMl19fWZ1bmN0aW9uXG5rQihhKXtyZXR1cm4gYT9hWzFdOkUoTjEpfWZ1bmN0aW9uXG5FWihhKXtyZXR1cm4gYT9hWzJdOkUoTjIpfWZ1bmN0aW9uXG5qQShhLGIpe3ZhclxuYz1hLGQ9Yjtmb3IoOzspe2lmKCFjKXJldHVybiBkO3ZhclxuZT1bMCxjWzFdLGRdLGM9Y1syXSxkPWV9fWZ1bmN0aW9uXG5CKGEpe3JldHVybiBqQShhLDApfWZ1bmN0aW9uXG5rQyhhKXtpZighYSlyZXR1cm4gMDt2YXJcbmI9YVsxXTtyZXR1cm4gSShiLGtDKGFbMl0pKX1mdW5jdGlvblxuY0koYSxiKXtpZighYilyZXR1cm4gMDt2YXJcbmY9YlsyXSxoPWJbMV07aWYoIWYpcmV0dXJuWzAsYShoKSwwXTt2YXJcbmw9ZlsyXSxtPWZbMV0sbj1hKGgpLGk9WzAsYShtKSxpeV0sZT1pLGQ9MSxjPWw7Zm9yKDs7KXtpZihjKXt2YXJcbmc9Y1syXSxqPWNbMV07aWYoZyl7dmFyXG5vPWdbMl0scD1nWzFdLHE9YShqKSxrPVswLGEocCksaXldO2VbMStkXT1bMCxxLGtdO3ZhclxuZT1rLGQ9MSxjPW87Y29udGludWV9ZVsxK2RdPVswLGEoaiksMF19ZWxzZVxuZVsxK2RdPTA7cmV0dXJuWzAsbixpXX19ZnVuY3Rpb25cbmw4KGEsYil7dmFyXG5kPTAsYz1iO2Zvcig7Oyl7aWYoIWMpcmV0dXJuIGQ7dmFyXG5lPWNbMl0sZD1bMCxhKGNbMV0pLGRdLGM9ZX19ZnVuY3Rpb25cbmExKGEsYil7dmFyXG5jPWI7Zm9yKDs7KXtpZighYylyZXR1cm4gMDt2YXJcbmQ9Y1syXTtpKGEsY1sxXSk7dmFyXG5jPWR9fWZ1bmN0aW9uXG5hVihhLGIsYyl7dmFyXG5lPWIsZD1jO2Zvcig7Oyl7aWYoIWQpcmV0dXJuIGU7dmFyXG5mPWRbMl0sZT1qKGEsZSxkWzFdKSxkPWZ9fWZ1bmN0aW9uXG5yaShhLGIsYyl7aWYoIWIpcmV0dXJuIGM7dmFyXG5kPWJbMV07cmV0dXJuIGEoZCxyaShhLGJbMl0sYykpfWZ1bmN0aW9uXG5FMChhLGIsYyl7dmFyXG5lPWIsZD1jO2Zvcig7Oyl7aWYoZSl7aWYoZCl7dmFyXG5mPWRbMl0sZz1lWzJdO2EoZVsxXSxkWzFdKTt2YXJcbmU9ZyxkPWY7Y29udGludWV9fWVsc2UgaWYoIWQpcmV0dXJuO3JldHVybiBiYihOMyl9fWZ1bmN0aW9uXG5qQihhLGIpe3ZhclxuYz1iO2Zvcig7Oyl7aWYoIWMpcmV0dXJuIDA7dmFyXG5lPWNbMl0sZD1pKGEsY1sxXSk7aWYoZClyZXR1cm4gZDt2YXJcbmM9ZX19ZnVuY3Rpb25cbnJqKGEsYil7dmFyXG5jPWI7Zm9yKDs7KXtpZighYylyZXR1cm4gMDt2YXJcbmU9Y1syXSxkPTA9PT1ObChjWzFdLGEpPzE6MDtpZihkKXJldHVybiBkO3ZhclxuYz1lfX1mdW5jdGlvblxua0QoYSxiKXt2YXJcbmQ9Yjtmb3IoOzspe2lmKCFkKXJldHVybiAwO3ZhclxuZz1kWzJdLGg9ZFsxXTtpZihhKGgpKXt2YXJcbmk9WzAsaCxpeV0sZj1pLGU9MSxjPWc7Zm9yKDs7KXtpZighYyl7ZlsxK2VdPTA7cmV0dXJuIGl9dmFyXG5qPWNbMl0saz1jWzFdO2lmKGEoaykpe3ZhclxubD1bMCxrLGl5XTtmWzErZV09bDt2YXJcbmY9bCxlPTEsYz1qfWVsc2VcbnZhclxuYz1qfX1lbHNlXG52YXJcbmQ9Z319dmFyXG5ONT1cIlN0cmluZy5zdWIgLyBCeXRlcy5zdWJcIixONj1cIkJ5dGVzLmJsaXRcIixONz1cIlN0cmluZy5ibGl0IC8gQnl0ZXMuYmxpdF9zdHJpbmdcIjtmdW5jdGlvblxuaUsoYSxiKXt2YXJcbmM9YXIoYSk7YXc0KGMsMCxhLGIpO3JldHVybiBjfWZ1bmN0aW9uXG5FMShhLGIsYyl7aWYoMDw9YiYmMDw9YyYmKGNqKGEpLWN8MCk+PWIpe3ZhclxuZD1hcihjKTtoNyhhLGIsZCwwLGMpO3JldHVybiBkfXJldHVybiBiYihONSl9ZnVuY3Rpb25cbmpDKGEsYixjKXtyZXR1cm4gYmEoRTEoYSxiLGMpKX1mdW5jdGlvblxuRTIoYSxiLGMsZCxlKXtpZigwPD1lJiYwPD1iJiYoY2ooYSktZXwwKT49YiYmMDw9ZCYmKGNqKGMpLWV8MCk+PWQpe2g3KGEsYixjLGQsZSk7cmV0dXJufXJldHVybiBiYihONil9ZnVuY3Rpb25cbmNvKGEsYixjLGQsZSl7aWYoMDw9ZSYmMDw9YiYmKEcoYSktZXwwKT49YiYmMDw9ZCYmKGNqKGMpLWV8MCk+PWQpe2hDKGEsYixjLGQsZSk7cmV0dXJufXJldHVybiBiYihONyl9dmFyXG5OOT1cIlN0cmluZy5jb25jYXRcIixOXz1BO2Z1bmN0aW9uXG5sOShhLGIpe3JldHVybiBiYShpSyhhLGIpKX1mdW5jdGlvblxuYTIoYSxiLGMpe3JldHVybiBiYShFMShjaShhKSxiLGMpKX1mdW5jdGlvblxuRTMoYSxiKXtpZighYilyZXR1cm4gTl87dmFyXG5pPUcoYSk7YTp7Yjp7dmFyXG5lPTAsZD1iLHA9MDtmb3IoOzspe2lmKCFkKWJyZWFrO3Zhclxuaj1kWzFdO2lmKCFkWzJdKWJyZWFrIGI7dmFyXG5rPShHKGopK2l8MCkrZXwwLG09ZFsyXSxuPWU8PWs/azpiYihOOSksZT1uLGQ9bX12YXJcbmw9ZTticmVhayBhfXZhclxubD1HKGopK2V8MH12YXJcbmg9YXIobCksZz1wLGY9Yjtmb3IoOzspe2lmKGYpe3ZhclxuYz1mWzFdO2lmKGZbMl0pe3Zhclxubz1mWzJdO2hDKGMsMCxoLGcsRyhjKSk7aEMoYSwwLGgsZytHKGMpfDAsaSk7dmFyXG5nPShnK0coYyl8MCkraXwwLGY9bztjb250aW51ZX1oQyhjLDAsaCxnLEcoYykpfXJldHVybiBiYShoKX19ZnVuY3Rpb25cbkU0KGEpe3ZhclxuYj1jaShhKTtpZigwPT09Y2ooYikpdmFyXG5lPWI7ZWxzZXt2YXJcbmQ9Y2ooYiksYz1hcihkKTtoNyhiLDAsYywwLGQpO2FjKGMsMCxFWShieChiLDApKSk7dmFyXG5lPWN9cmV0dXJuIGJhKGUpfWZ1bmN0aW9uXG5FNShhLGIpe3ZhclxuZD1HKGEpLGU9ZDw9RyhiKT8xOjA7aWYoIWUpcmV0dXJuIGU7dmFyXG5jPTA7Zm9yKDs7KXtpZihjPT09ZClyZXR1cm4gMTtpZih3KGIsYykhPT13KGEsYykpcmV0dXJuIDA7dmFyXG5jPWMrMXwwfX1mdW5jdGlvblxuRTYoYSxiKXt2YXJcbmQ9WzAsMF0sZT1bMCxHKGIpXSxmPUcoYiktMXwwO2lmKGY+PTApe3ZhclxuYz1mO2Zvcig7Oyl7aWYodyhiLGMpPT09YSl7dmFyXG5oPWRbMV07ZFsxXT1bMCxhMihiLGMrMXwwLChlWzFdLWN8MCktMXwwKSxoXTtlWzFdPWN9dmFyXG5pPWMtMXwwO2lmKDA9PT1jKWJyZWFrO3ZhclxuYz1pfX12YXJcbmc9ZFsxXTtyZXR1cm5bMCxhMihiLDAsZVsxXSksZ119ZnVuY3Rpb25cbmxfKGEsYil7cmV0dXJuIGF3WChjaShhKSxiKX12YXJcbk9jPVwiQXJyYXkuYmxpdFwiO2Z1bmN0aW9uXG5FNyhhLGIsYyxkLGUpe2lmKDA8PWUmJjA8PWImJihhLmxlbmd0aC0xLWV8MCk+PWImJjA8PWQmJihjLmxlbmd0aC0xLWV8MCk+PWQpe2F3TyhhLGIsYyxkLGUpO3JldHVybn1yZXR1cm4gYmIoT2MpfWZ1bmN0aW9uXG5FOChhLGIpe3ZhclxuZD1iLmxlbmd0aC0xLTF8MCxlPTA7aWYoZD49MCl7dmFyXG5jPWU7Zm9yKDs7KXthKGJbMStjXSk7dmFyXG5mPWMrMXwwO2lmKGQ9PT1jKWJyZWFrO3ZhclxuYz1mfX1yZXR1cm59ZnVuY3Rpb25cbmwkKGEsYil7dmFyXG5kPWIubGVuZ3RoLTE7aWYoMD09PWQpcmV0dXJuWzBdO3ZhclxuZT1pSShkLGEoYlsxXSkpLGY9ZC0xfDAsZz0xO2lmKGY+PTEpe3ZhclxuYz1nO2Zvcig7Oyl7ZVsxK2NdPWEoYlsxK2NdKTt2YXJcbmg9YysxfDA7aWYoZj09PWMpYnJlYWs7dmFyXG5jPWh9fXJldHVybiBlfWZ1bmN0aW9uXG5rRShhKXtpZighYSlyZXR1cm5bMF07dmFyXG5kPTAsYz1hLGc9YVsyXSxoPWFbMV07Zm9yKDs7KXtpZighYylicmVhazt2YXJcbmQ9ZCsxfDAsYz1jWzJdfXZhclxuZj1pSShkLGgpLGU9MSxiPWc7Zm9yKDs7KXtpZighYilyZXR1cm4gZjt2YXJcbmk9YlsyXTtmWzErZV09YlsxXTt2YXJcbmU9ZSsxfDAsYj1pfX1mdW5jdGlvblxuRTkoYSl7dHJ5e3ZhclxuYz1bMCxqeChhKV07cmV0dXJuIGN9Y2F0Y2goZil7dmFyXG5iPWFDKGYpO2lmKGJbMV09PT1jbSlyZXR1cm4gMDt0aHJvdyB4KGIsMCl9fXZhclxuT2Q9cXUsT2U9cXUsT2Y9cXUsT2c9cXU7ZnVuY3Rpb25cbnJrKG4pe2Z1bmN0aW9uXG5oKGEpe3JldHVybiBhP2FbNV06MH1mdW5jdGlvblxuZShhLGIsYyxkKXt2YXJcbmU9aChhKSxmPWgoZCksZz1mPD1lP2UrMXwwOmYrMXwwO3JldHVyblswLGEsYixjLGQsZ119ZnVuY3Rpb25cbmkoYSxiLGMsZCl7dmFyXG5pPWE/YVs1XTowLGo9ZD9kWzVdOjA7aWYoKGorMnwwKTxpKXtpZighYSlyZXR1cm4gYmIoT2UpO3ZhclxuZj1hWzRdLG09YVszXSxuPWFbMl0saz1hWzFdLHE9aChmKTtpZihxPD1oKGspKXJldHVybiBlKGssbixtLGUoZixiLGMsZCkpO2lmKCFmKXJldHVybiBiYihPZCk7dmFyXG5yPWZbM10scz1mWzJdLHQ9ZlsxXSx1PWUoZls0XSxiLGMsZCk7cmV0dXJuIGUoZShrLG4sbSx0KSxzLHIsdSl9aWYoKGkrMnwwKT49ail7dmFyXG5BPWo8PWk/aSsxfDA6aisxfDA7cmV0dXJuWzAsYSxiLGMsZCxBXX1pZighZClyZXR1cm4gYmIoT2cpO3ZhclxubD1kWzRdLG89ZFszXSxwPWRbMl0sZz1kWzFdLHY9aChnKTtpZih2PD1oKGwpKXJldHVybiBlKGUoYSxiLGMsZykscCxvLGwpO2lmKCFnKXJldHVybiBiYihPZik7dmFyXG53PWdbM10seD1nWzJdLHk9Z1sxXSx6PWUoZ1s0XSxwLG8sbCk7cmV0dXJuIGUoZShhLGIsYyx5KSx4LHcseil9ZnVuY3Rpb25cbmYoYSxiLGMpe2lmKCFjKXJldHVyblswLDAsYSxiLDAsMV07dmFyXG5kPWNbNF0sZz1jWzNdLGg9Y1syXSxlPWNbMV0sbz1jWzVdLGs9aihuWzFdLGEsaCk7aWYoMD09PWspcmV0dXJuIGc9PT1iP2M6WzAsZSxhLGIsZCxvXTtpZigwPD1rKXt2YXJcbmw9ZihhLGIsZCk7cmV0dXJuIGQ9PT1sP2M6aShlLGgsZyxsKX12YXJcbm09ZihhLGIsZSk7cmV0dXJuIGU9PT1tP2M6aShtLGgsZyxkKX1mdW5jdGlvblxuZyhhLGIsYyl7dmFyXG5kPWIsZT1jO2Zvcig7Oyl7aWYoIWQpcmV0dXJuIGU7dmFyXG5mPWRbNF0saD1kWzNdLGk9ZFsyXSxqPWEoaSxoLGcoYSxkWzFdLGUpKSxkPWYsZT1qfX1yZXR1cm5bMCwwLGYsLCwsLCwsLCwsLCwsLCxmdW5jdGlvbihhLGIpe3ZhclxuYz1iO2Zvcig7Oyl7aWYoIWMpdGhyb3cgeChjSCwxKTt2YXJcbmU9Y1s0XSxmPWNbM10sZz1jWzFdLGQ9aihuWzFdLGEsY1syXSk7aWYoMD09PWQpcmV0dXJuIGY7dmFyXG5oPTA8PWQ/ZTpnLGM9aH19LCwsLCwsLGddfWZ1bmN0aW9uXG5rRihhKXtyZXR1cm5bMCwwLDBdfWZ1bmN0aW9uXG5rRyhhKXthWzFdPTA7YVsyXT0wO3JldHVybn1mdW5jdGlvblxuaUwoYSxiKXtiWzFdPVswLGEsYlsxXV07YlsyXT1iWzJdKzF8MDtyZXR1cm59ZnVuY3Rpb25cbmpEKGEpe3ZhclxuYj1hWzFdO2lmKCFiKXJldHVybiAwO3ZhclxuYz1iWzFdO2FbMV09YlsyXTthWzJdPWFbMl0tMXwwO3JldHVyblswLGNdfWZ1bmN0aW9uXG5qRShhKXt2YXJcbmI9YVsxXTtyZXR1cm4gYj9bMCxiWzFdXTowfWZ1bmN0aW9uXG5FXyhhKXtyZXR1cm5bMCwwLDAsMF19ZnVuY3Rpb25cbnJsKGEpe2FbMV09MDthWzJdPTA7YVszXT0wO3JldHVybn1mdW5jdGlvblxucm0oYSxiKXt2YXJcbmM9WzAsYSwwXSxkPWJbM107cmV0dXJuIGQ/KGJbMV09YlsxXSsxfDAsZFsyXT1jLGJbM109YywwKTooYlsxXT0xLGJbMl09YyxiWzNdPWMsMCl9dmFyXG5Paj1cIkJ1ZmZlci5hZGQ6IGNhbm5vdCBncm93IGJ1ZmZlclwiLE9rPVwiQnVmZmVyLmFkZF9zdWJzdHJpbmcvYWRkX3N1YmJ5dGVzXCI7ZnVuY3Rpb25cbmFkKGEpe3ZhclxuYj0xPD1hP2E6MSxjPWtBPGI/a0E6YixkPWFyKGMpO3JldHVyblswLFswLGQsY10sMCxkXX1mdW5jdGlvblxuYUQoYSl7cmV0dXJuIGpDKGFbMV1bMV0sMCxhWzJdKX1mdW5jdGlvblxucm4oYSxiKXt2YXJcbmQ9YVsyXSxjPVswLGFbMV1bMl1dO2Zvcig7Oyl7aWYoY1sxXT49KGQrYnwwKSlicmVhaztjWzFdPTIqY1sxXXwwfWlmKGtBPGNbMV0paWYoKGQrYnwwKTw9a0EpY1sxXT1rQTtlbHNlXG5FKE9qKTt2YXJcbmU9YXIoY1sxXSk7RTIoYVsxXVsxXSwwLGUsMCxhWzJdKTthWzFdPVswLGUsY1sxXV07cmV0dXJufWZ1bmN0aW9uXG5iVyhhLGIpe3ZhclxuYz1hWzJdLGQ9YVsxXSxlPWRbMV07aWYoZFsyXTw9Yyl7cm4oYSwxKTtoOChhWzFdWzFdLGFbMl0sYil9ZWxzZVxuYWMoZSxjLGIpO2FbMl09YysxfDA7cmV0dXJufWZ1bmN0aW9uXG5ybyhhLGIsYyxkKXt2YXJcbmU9YzwwPzE6MDtpZihlKXZhclxuZj1lO2Vsc2VcbnZhclxuaz1kPDA/MTowLGY9a3x8KChHKGIpLWR8MCk8Yz8xOjApO2lmKGYpYmIoT2spO3ZhclxuZz1hWzJdLGg9YVsxXSxpPWcrZHwwLGo9aFsxXTtpZihoWzJdPGkpe3JuKGEsZCk7Y28oYixjLGFbMV1bMV0sYVsyXSxkKX1lbHNlXG5oQyhiLGMsaixnLGQpO2FbMl09aTtyZXR1cm4gMH1mdW5jdGlvblxucnAoYSxiLGMsZCl7cmV0dXJuIHJvKGEsYmEoYiksYyxkKX1mdW5jdGlvblxuTyhhLGIpe3ZhclxuYz1HKGIpLGQ9YVsyXSxlPWFbMV0sZj1kK2N8MCxnPWVbMV07aWYoZVsyXTxmKXtybihhLGMpO2NvKGIsMCxhWzFdWzFdLGFbMl0sYyl9ZWxzZVxuaEMoYiwwLGcsZCxjKTthWzJdPWY7cmV0dXJufXZhclxucnE9WzAsMF07ZnVuY3Rpb25cbkUkKGEpe3JldHVybiBhIT09cnE/MTowfWF3MihpSSg4LHJxKSk7dmFyXG5GYT1bMCwwXSxPbD1bMCwwXSxPbT1bMCxcImRvbWFpbi5tbFwiLGxRLDEzXTtmdW5jdGlvblxuY0ooYSxiKXt2YXJcbmQ9WzAsYXdSKE9sLDEpLGJdO2lmKGEpe3ZhclxuZT1bMCxkLGFbMV1dO2Zvcig7Oyl7dmFyXG5jPWtzKEZhKTtpZighKDEtcTAoRmEsYyxbMCxlLGNdKSkpYnJlYWt9fXJldHVybiBkfWZ1bmN0aW9uXG5GYihhKXtmb3IoOzspe3ZhclxuYj1OcCgwKSxkPWIubGVuZ3RoLTE7aWYoYTxkKXJldHVybiBiO3ZhclxuYz1kO2Zvcig7Oyl7aWYoYTxjKWJyZWFrO3ZhclxuYz0yKmN8MH12YXJcbmU9aUkoYyxycSk7RTcoYiwwLGUsMCxkKTtpZihhdzEoYixlKSlyZXR1cm4gZX19ZnVuY3Rpb25cbmtIKGEsYil7dmFyXG5jPWFbMV07YXUoRmIoYyksYylbMStjXT1iO3JldHVybn1mdW5jdGlvblxuaU0oYSl7dmFyXG5iPWFbMV0sZz1hWzJdLGM9YXUoRmIoYiksYilbMStiXTtpZihFJChjKSlyZXR1cm4gYzt2YXJcbmU9aShnLDApLGQ9TnAoMCksaD1hdShkLGIpWzErYl09PT1jPyhkWzErYl09ZSwxKTowO2lmKGgpcmV0dXJuIGU7dmFyXG5mPWF1KGQsYilbMStiXTtpZihFJChmKSlyZXR1cm4gZjt0aHJvdyB4KFswLFksT21dLDEpfXZhclxucnI9Y0ooMCxmdW5jdGlvbihhKXtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIDB9fSk7ZnVuY3Rpb25cbkZjKGIpe3ZhclxuYz1pTShycik7cmV0dXJuIGtIKHJyLGZ1bmN0aW9uKGEpe2IobCk7cmV0dXJuIGkoYywwKX0pfUVXWzFdPWZ1bmN0aW9uKGEpe3JldHVybiBpKGlNKHJyKSwwKX07dmFyXG5PcD13QyxPcT1cIkB9XCIsT3I9XCJAP1wiLE9zPVwiQFxcblwiLE90PVwiQC5cIixPdT1cIkBAXCIsT3Y9XCJAJVwiLE93PUw3LE94PVwiJWNcIixPeT1cIiVzXCIsT3o9TVgsT0E9TWcsT0I9TmMsT0M9S1csT0Q9XCIlZlwiLE9FPVwiJUJcIixPRj1cIiV7XCIsT0c9XCIlfVwiLE9IPVwiJShcIixPST1cIiUpXCIsT0o9XCIlYVwiLE9LPVwiJXRcIixPTD1cIiU/XCIsT009XCIlclwiLE9OPVwiJV9yXCIsT089WzAsYTAsODUwLDIzXSxPUD1bMCxhMCw4MzcsMjZdLE9RPVswLGEwLDg0NywyOF0sT1I9WzAsYTAsODE1LDIxXSxPUz1bMCxhMCw4MTksMjFdLE9UPVswLGEwLDgyMywxOV0sT1U9WzAsYTAsODI3LDIyXSxPVj1bMCxhMCw4MzIsMzBdLE9XPVswLGEwLDg1MSwyM10sT1g9WzAsYTAsODM2LDI2XSxPWT1bMCxhMCw4NDYsMjhdLE9aPVswLGEwLDgxNCwyMV0sTzA9WzAsYTAsODE4LDIxXSxPMT1bMCxhMCw4MjIsMTldLE8yPVswLGEwLDgyNiwyMl0sTzM9WzAsYTAsODMxLDMwXTtmdW5jdGlvblxucnMoYSl7cmV0dXJuIDU9PT1hWzJdPzEyOi02fWZ1bmN0aW9uXG5GZChhKXtyZXR1cm5bMCwwLGFyKGEpXX1mdW5jdGlvblxuRmUoYSxiKXt2YXJcbmM9Y2ooYVsyXSksZD1hWzFdK2J8MDtpZihjPGQpe3ZhclxuZT1jKjJ8MCxnPWQ8PWU/ZTpkLGY9YXIoZyk7RTIoYVsyXSwwLGYsMCxjKTthWzJdPWZ9cmV0dXJufWZ1bmN0aW9uXG5qRihhLGIpe0ZlKGEsMSk7aDgoYVsyXSxhWzFdLGIpO2FbMV09YVsxXSsxfDA7cmV0dXJufWZ1bmN0aW9uXG5iYyhhLGIpe3ZhclxuYz1HKGIpO0ZlKGEsYyk7Y28oYiwwLGFbMl0sYVsxXSxjKTthWzFdPWFbMV0rY3wwO3JldHVybn1mdW5jdGlvblxuRmYoYSl7cmV0dXJuIGpDKGFbMl0sMCxhWzFdKX1mdW5jdGlvblxuRmcoYSl7aWYodHlwZW9mXG5hPT09XCJudW1iZXJcIilzd2l0Y2goYSl7Y2FzZVxuMDpyZXR1cm4gT3A7Y2FzZVxuMTpyZXR1cm4gT3E7Y2FzZVxuMjpyZXR1cm4gT3I7Y2FzZVxuMzpyZXR1cm4gT3M7Y2FzZVxuNDpyZXR1cm4gT3Q7Y2FzZVxuNTpyZXR1cm4gT3U7ZGVmYXVsdDpyZXR1cm4gT3Z9c3dpdGNoKGFbMF0pe2Nhc2VcbjA6cmV0dXJuIGFbMV07Y2FzZVxuMTpyZXR1cm4gYVsxXTtkZWZhdWx0OnJldHVybiBKKE93LGw5KDEsYVsxXSkpfX1mdW5jdGlvblxucnQoYSxiKXt2YXJcbmM9Yjtmb3IoOzspe2lmKHR5cGVvZlxuYz09PVwibnVtYmVyXCIpcmV0dXJuO3N3aXRjaChjWzBdKXtjYXNlXG4wOnZhclxuZD1jWzFdO2JjKGEsT3gpO3ZhclxuYz1kO2JyZWFrO2Nhc2VcbjE6dmFyXG5lPWNbMV07YmMoYSxPeSk7dmFyXG5jPWU7YnJlYWs7Y2FzZVxuMjp2YXJcbmY9Y1sxXTtiYyhhLE96KTt2YXJcbmM9ZjticmVhaztjYXNlXG4zOnZhclxuZz1jWzFdO2JjKGEsT0EpO3ZhclxuYz1nO2JyZWFrO2Nhc2VcbjQ6dmFyXG5oPWNbMV07YmMoYSxPQik7dmFyXG5jPWg7YnJlYWs7Y2FzZVxuNTp2YXJcbmk9Y1sxXTtiYyhhLE9DKTt2YXJcbmM9aTticmVhaztjYXNlXG42OnZhclxuaj1jWzFdO2JjKGEsT0QpO3ZhclxuYz1qO2JyZWFrO2Nhc2Vcbjc6dmFyXG5rPWNbMV07YmMoYSxPRSk7dmFyXG5jPWs7YnJlYWs7Y2FzZVxuODp2YXJcbmw9Y1syXSxtPWNbMV07YmMoYSxPRik7cnQoYSxtKTtiYyhhLE9HKTt2YXJcbmM9bDticmVhaztjYXNlXG45OnZhclxubj1jWzNdLG89Y1sxXTtiYyhhLE9IKTtydChhLG8pO2JjKGEsT0kpO3ZhclxuYz1uO2JyZWFrO2Nhc2VcbjEwOnZhclxucD1jWzFdO2JjKGEsT0opO3ZhclxuYz1wO2JyZWFrO2Nhc2VcbjExOnZhclxucT1jWzFdO2JjKGEsT0spO3ZhclxuYz1xO2JyZWFrO2Nhc2VcbjEyOnZhclxucj1jWzFdO2JjKGEsT0wpO3ZhclxuYz1yO2JyZWFrO2Nhc2VcbjEzOnZhclxucz1jWzFdO2JjKGEsT00pO3ZhclxuYz1zO2JyZWFrO2RlZmF1bHQ6dmFyXG50PWNbMV07YmMoYSxPTik7dmFyXG5jPXR9fX1mdW5jdGlvblxuYUwoYSl7aWYodHlwZW9mXG5hPT09XCJudW1iZXJcIilyZXR1cm4gMDtzd2l0Y2goYVswXSl7Y2FzZVxuMDpyZXR1cm5bMCxhTChhWzFdKV07Y2FzZVxuMTpyZXR1cm5bMSxhTChhWzFdKV07Y2FzZVxuMjpyZXR1cm5bMixhTChhWzFdKV07Y2FzZVxuMzpyZXR1cm5bMyxhTChhWzFdKV07Y2FzZVxuNDpyZXR1cm5bNCxhTChhWzFdKV07Y2FzZVxuNTpyZXR1cm5bNSxhTChhWzFdKV07Y2FzZVxuNjpyZXR1cm5bNixhTChhWzFdKV07Y2FzZVxuNzpyZXR1cm5bNyxhTChhWzFdKV07Y2FzZVxuODp2YXJcbmI9YVsxXTtyZXR1cm5bOCxiLGFMKGFbMl0pXTtjYXNlXG45OnZhclxuYz1hWzJdLGQ9YVsxXTtyZXR1cm5bOSxjLGQsYUwoYVszXSldO2Nhc2VcbjEwOnJldHVyblsxMCxhTChhWzFdKV07Y2FzZVxuMTE6cmV0dXJuWzExLGFMKGFbMV0pXTtjYXNlXG4xMjpyZXR1cm5bMTIsYUwoYVsxXSldO2Nhc2VcbjEzOnJldHVyblsxMyxhTChhWzFdKV07ZGVmYXVsdDpyZXR1cm5bMTQsYUwoYVsxXSldfX1mdW5jdGlvblxuYmQoYSl7aWYodHlwZW9mXG5hPT09XCJudW1iZXJcIilyZXR1cm5bMCxmdW5jdGlvbihhKXtyZXR1cm59LGZ1bmN0aW9uKGEpe3JldHVybn0sZnVuY3Rpb24oYSl7cmV0dXJufSxmdW5jdGlvbihhKXtyZXR1cm59XTtzd2l0Y2goYVswXSl7Y2FzZVxuMDp2YXJcbmI9YmQoYVsxXSkscz1iWzJdLHQ9YlsxXTtyZXR1cm5bMCxmdW5jdGlvbihhKXt0KGwpO3JldHVybn0sZnVuY3Rpb24oYSl7cyhsKTtyZXR1cm59LGJbM10sYls0XV07Y2FzZVxuMTp2YXJcbmM9YmQoYVsxXSksdT1jWzJdLHY9Y1sxXTtyZXR1cm5bMCxmdW5jdGlvbihhKXt2KGwpO3JldHVybn0sZnVuY3Rpb24oYSl7dShsKTtyZXR1cm59LGNbM10sY1s0XV07Y2FzZVxuMjp2YXJcbmQ9YmQoYVsxXSksdz1kWzJdLHg9ZFsxXTtyZXR1cm5bMCxmdW5jdGlvbihhKXt4KGwpO3JldHVybn0sZnVuY3Rpb24oYSl7dyhsKTtyZXR1cm59LGRbM10sZFs0XV07Y2FzZVxuMzp2YXJcbmU9YmQoYVsxXSkseT1lWzJdLHo9ZVsxXTtyZXR1cm5bMCxmdW5jdGlvbihhKXt6KGwpO3JldHVybn0sZnVuY3Rpb24oYSl7eShsKTtyZXR1cm59LGVbM10sZVs0XV07Y2FzZVxuNDp2YXJcbmY9YmQoYVsxXSksQT1mWzJdLEI9ZlsxXTtyZXR1cm5bMCxmdW5jdGlvbihhKXtCKGwpO3JldHVybn0sZnVuY3Rpb24oYSl7QShsKTtyZXR1cm59LGZbM10sZls0XV07Y2FzZVxuNTp2YXJcbmc9YmQoYVsxXSksQz1nWzJdLEQ9Z1sxXTtyZXR1cm5bMCxmdW5jdGlvbihhKXtEKGwpO3JldHVybn0sZnVuY3Rpb24oYSl7QyhsKTtyZXR1cm59LGdbM10sZ1s0XV07Y2FzZVxuNjp2YXJcbmg9YmQoYVsxXSksRT1oWzJdLEY9aFsxXTtyZXR1cm5bMCxmdW5jdGlvbihhKXtGKGwpO3JldHVybn0sZnVuY3Rpb24oYSl7RShsKTtyZXR1cm59LGhbM10saFs0XV07Y2FzZVxuNzp2YXJcbmk9YmQoYVsxXSksRz1pWzJdLEg9aVsxXTtyZXR1cm5bMCxmdW5jdGlvbihhKXtIKGwpO3JldHVybn0sZnVuY3Rpb24oYSl7RyhsKTtyZXR1cm59LGlbM10saVs0XV07Y2FzZVxuODp2YXJcbmo9YmQoYVsyXSksST1qWzJdLEo9alsxXTtyZXR1cm5bMCxmdW5jdGlvbihhKXtKKGwpO3JldHVybn0sZnVuY3Rpb24oYSl7SShsKTtyZXR1cm59LGpbM10sals0XV07Y2FzZVxuOTp2YXJcbks9YVsyXSxMPWFbMV0saz1iZChhWzNdKSxNPWtbNF0sTj1rWzNdLE89a1syXSxQPWtbMV0sbT1iZChhVyhhTChMKSxLKSksUT1tWzRdLFI9bVszXSxTPW1bMl0sVD1tWzFdO3JldHVyblswLGZ1bmN0aW9uKGEpe1AobCk7VChsKTtyZXR1cm59LGZ1bmN0aW9uKGEpe1MobCk7TyhsKTtyZXR1cm59LGZ1bmN0aW9uKGEpe04obCk7UihsKTtyZXR1cm59LGZ1bmN0aW9uKGEpe1EobCk7TShsKTtyZXR1cm59XTtjYXNlXG4xMDp2YXJcbm49YmQoYVsxXSksVT1uWzJdLFY9blsxXTtyZXR1cm5bMCxmdW5jdGlvbihhKXtWKGwpO3JldHVybn0sZnVuY3Rpb24oYSl7VShsKTtyZXR1cm59LG5bM10sbls0XV07Y2FzZVxuMTE6dmFyXG5vPWJkKGFbMV0pLFc9b1syXSxYPW9bMV07cmV0dXJuWzAsZnVuY3Rpb24oYSl7WChsKTtyZXR1cm59LGZ1bmN0aW9uKGEpe1cobCk7cmV0dXJufSxvWzNdLG9bNF1dO2Nhc2VcbjEyOnZhclxucD1iZChhWzFdKSxZPXBbMl0sWj1wWzFdO3JldHVyblswLGZ1bmN0aW9uKGEpe1oobCk7cmV0dXJufSxmdW5jdGlvbihhKXtZKGwpO3JldHVybn0scFszXSxwWzRdXTtjYXNlXG4xMzp2YXJcbnE9YmQoYVsxXSksXz1xWzRdLCQ9cVszXSxhYT1xWzJdLGFiPXFbMV07cmV0dXJuWzAsZnVuY3Rpb24oYSl7YWIobCk7cmV0dXJufSxmdW5jdGlvbihhKXthYShsKTtyZXR1cm59LGZ1bmN0aW9uKGEpeyQobCk7cmV0dXJufSxmdW5jdGlvbihhKXtfKGwpO3JldHVybn1dO2RlZmF1bHQ6dmFyXG5yPWJkKGFbMV0pLGFjPXJbNF0sYWQ9clszXSxhZT1yWzJdLGFmPXJbMV07cmV0dXJuWzAsZnVuY3Rpb24oYSl7YWYobCk7cmV0dXJufSxmdW5jdGlvbihhKXthZShsKTtyZXR1cm59LGZ1bmN0aW9uKGEpe2FkKGwpO3JldHVybn0sZnVuY3Rpb24oYSl7YWMobCk7cmV0dXJufV19fWZ1bmN0aW9uXG5hVyhhLGIpe2E6e2I6e2M6e2Q6e2U6e2Y6e2c6e2lmKHR5cGVvZlxuYSE9PVwibnVtYmVyXCIpe3N3aXRjaChhWzBdKXtjYXNlXG4wOnZhclxuZD1hWzFdO2lmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCIpc3dpdGNoKGJbMF0pe2Nhc2VcbjA6cmV0dXJuWzAsYVcoZCxiWzFdKV07Y2FzZVxuODpicmVhayBmO2Nhc2Vcbjk6YnJlYWsgZztjYXNlXG4xMDpicmVhayBhO2Nhc2VcbjExOmJyZWFrIGI7Y2FzZVxuMTI6YnJlYWsgYztjYXNlXG4xMzpicmVhayBkO2Nhc2VcbjE0OmJyZWFrIGV9YnJlYWs7Y2FzZVxuMTp2YXJcbmU9YVsxXTtpZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiKXN3aXRjaChiWzBdKXtjYXNlXG4xOnJldHVyblsxLGFXKGUsYlsxXSldO2Nhc2Vcbjg6YnJlYWsgZjtjYXNlXG45OmJyZWFrIGc7Y2FzZVxuMTA6YnJlYWsgYTtjYXNlXG4xMTpicmVhayBiO2Nhc2VcbjEyOmJyZWFrIGM7Y2FzZVxuMTM6YnJlYWsgZDtjYXNlXG4xNDpicmVhayBlfWJyZWFrO2Nhc2VcbjI6dmFyXG5mPWFbMV07aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIilzd2l0Y2goYlswXSl7Y2FzZVxuMjpyZXR1cm5bMixhVyhmLGJbMV0pXTtjYXNlXG44OmJyZWFrIGY7Y2FzZVxuOTpicmVhayBnO2Nhc2VcbjEwOmJyZWFrIGE7Y2FzZVxuMTE6YnJlYWsgYjtjYXNlXG4xMjpicmVhayBjO2Nhc2VcbjEzOmJyZWFrIGQ7Y2FzZVxuMTQ6YnJlYWsgZX1icmVhaztjYXNlXG4zOnZhclxuZz1hWzFdO2lmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCIpc3dpdGNoKGJbMF0pe2Nhc2VcbjM6cmV0dXJuWzMsYVcoZyxiWzFdKV07Y2FzZVxuODpicmVhayBmO2Nhc2Vcbjk6YnJlYWsgZztjYXNlXG4xMDpicmVhayBhO2Nhc2VcbjExOmJyZWFrIGI7Y2FzZVxuMTI6YnJlYWsgYztjYXNlXG4xMzpicmVhayBkO2Nhc2VcbjE0OmJyZWFrIGV9YnJlYWs7Y2FzZVxuNDp2YXJcbmg9YVsxXTtpZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiKXN3aXRjaChiWzBdKXtjYXNlXG40OnJldHVybls0LGFXKGgsYlsxXSldO2Nhc2Vcbjg6YnJlYWsgZjtjYXNlXG45OmJyZWFrIGc7Y2FzZVxuMTA6YnJlYWsgYTtjYXNlXG4xMTpicmVhayBiO2Nhc2VcbjEyOmJyZWFrIGM7Y2FzZVxuMTM6YnJlYWsgZDtjYXNlXG4xNDpicmVhayBlfWJyZWFrO2Nhc2VcbjU6dmFyXG5pPWFbMV07aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIilzd2l0Y2goYlswXSl7Y2FzZVxuNTpyZXR1cm5bNSxhVyhpLGJbMV0pXTtjYXNlXG44OmJyZWFrIGY7Y2FzZVxuOTpicmVhayBnO2Nhc2VcbjEwOmJyZWFrIGE7Y2FzZVxuMTE6YnJlYWsgYjtjYXNlXG4xMjpicmVhayBjO2Nhc2VcbjEzOmJyZWFrIGQ7Y2FzZVxuMTQ6YnJlYWsgZX1icmVhaztjYXNlXG42OnZhclxuaj1hWzFdO2lmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCIpc3dpdGNoKGJbMF0pe2Nhc2VcbjY6cmV0dXJuWzYsYVcoaixiWzFdKV07Y2FzZVxuODpicmVhayBmO2Nhc2Vcbjk6YnJlYWsgZztjYXNlXG4xMDpicmVhayBhO2Nhc2VcbjExOmJyZWFrIGI7Y2FzZVxuMTI6YnJlYWsgYztjYXNlXG4xMzpicmVhayBkO2Nhc2VcbjE0OmJyZWFrIGV9YnJlYWs7Y2FzZVxuNzp2YXJcbms9YVsxXTtpZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiKXN3aXRjaChiWzBdKXtjYXNlXG43OnJldHVybls3LGFXKGssYlsxXSldO2Nhc2Vcbjg6YnJlYWsgZjtjYXNlXG45OmJyZWFrIGc7Y2FzZVxuMTA6YnJlYWsgYTtjYXNlXG4xMTpicmVhayBiO2Nhc2VcbjEyOmJyZWFrIGM7Y2FzZVxuMTM6YnJlYWsgZDtjYXNlXG4xNDpicmVhayBlfWJyZWFrO2Nhc2Vcbjg6dmFyXG5tPWFbMl0sbj1hWzFdO2lmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCIpc3dpdGNoKGJbMF0pe2Nhc2Vcbjg6dmFyXG5vPWJbMV0scD1hVyhtLGJbMl0pO3JldHVybls4LGFXKG4sbykscF07Y2FzZVxuMTA6YnJlYWsgYTtjYXNlXG4xMTpicmVhayBiO2Nhc2VcbjEyOmJyZWFrIGM7Y2FzZVxuMTM6YnJlYWsgZDtjYXNlXG4xNDpicmVhayBlfXRocm93IHgoWzAsWSxPWF0sMSk7Y2FzZVxuOTp2YXJcbnE9YVszXSxyPWFbMl0scz1hWzFdO2lmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCIpc3dpdGNoKGJbMF0pe2Nhc2Vcbjg6YnJlYWsgZjtjYXNlXG45OnZhclxudD1iWzNdLHU9YlsyXSx2PWJbMV0sYz1iZChhVyhhTChyKSx2KSksdz1jWzRdO2NbMl0uY2FsbChudWxsLGwpO3cobCk7cmV0dXJuWzkscyx1LGFXKHEsdCldO2Nhc2VcbjEwOmJyZWFrIGE7Y2FzZVxuMTE6YnJlYWsgYjtjYXNlXG4xMjpicmVhayBjO2Nhc2VcbjEzOmJyZWFrIGQ7Y2FzZVxuMTQ6YnJlYWsgZX10aHJvdyB4KFswLFksT1ldLDEpO2Nhc2VcbjEwOnZhclxueT1hWzFdO2lmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjEwPT09YlswXSlyZXR1cm5bMTAsYVcoeSxiWzFdKV07dGhyb3cgeChbMCxZLE9aXSwxKTtjYXNlXG4xMTp2YXJcbno9YVsxXTtpZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiKXN3aXRjaChiWzBdKXtjYXNlXG4xMDpicmVhayBhO2Nhc2VcbjExOnJldHVyblsxMSxhVyh6LGJbMV0pXX10aHJvdyB4KFswLFksTzBdLDEpO2Nhc2VcbjEyOnZhclxuQT1hWzFdO2lmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCIpc3dpdGNoKGJbMF0pe2Nhc2VcbjEwOmJyZWFrIGE7Y2FzZVxuMTE6YnJlYWsgYjtjYXNlXG4xMjpyZXR1cm5bMTIsYVcoQSxiWzFdKV19dGhyb3cgeChbMCxZLE8xXSwxKTtjYXNlXG4xMzp2YXJcbkI9YVsxXTtpZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiKXN3aXRjaChiWzBdKXtjYXNlXG4xMDpicmVhayBhO2Nhc2VcbjExOmJyZWFrIGI7Y2FzZVxuMTI6YnJlYWsgYztjYXNlXG4xMzpyZXR1cm5bMTMsYVcoQixiWzFdKV19dGhyb3cgeChbMCxZLE8yXSwxKTtkZWZhdWx0OnZhclxuQz1hWzFdO2lmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCIpc3dpdGNoKGJbMF0pe2Nhc2VcbjEwOmJyZWFrIGE7Y2FzZVxuMTE6YnJlYWsgYjtjYXNlXG4xMjpicmVhayBjO2Nhc2VcbjEzOmJyZWFrIGQ7Y2FzZVxuMTQ6cmV0dXJuWzE0LGFXKEMsYlsxXSldfXRocm93IHgoWzAsWSxPM10sMSl9dGhyb3cgeChbMCxZLE9XXSwxKX1pZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiKXJldHVybiAwO3N3aXRjaChiWzBdKXtjYXNlXG4xMDpicmVhayBhO2Nhc2VcbjExOmJyZWFrIGI7Y2FzZVxuMTI6YnJlYWsgYztjYXNlXG4xMzpicmVhayBkO2Nhc2VcbjE0OmJyZWFrIGU7Y2FzZVxuODpicmVhayBmO2Nhc2Vcbjk6YnJlYWs7ZGVmYXVsdDp0aHJvdyB4KFswLFksT09dLDEpfX10aHJvdyB4KFswLFksT1FdLDEpfXRocm93IHgoWzAsWSxPUF0sMSl9dGhyb3cgeChbMCxZLE9WXSwxKX10aHJvdyB4KFswLFksT1VdLDEpfXRocm93IHgoWzAsWSxPVF0sMSl9dGhyb3cgeChbMCxZLE9TXSwxKX10aHJvdyB4KFswLFksT1JdLDEpfXZhclxuYTM9W2FoLFwiQ2FtbGludGVybmFsRm9ybWF0LlR5cGVfbWlzbWF0Y2hcIixoRSgwKV07ZnVuY3Rpb25cbk5QKGEpe3JldHVybiBhP05ROk5SfXZhclxuTlY9SjksTlc9XCJcXFxcJ1wiLE5YPVwiXFxcXGJcIixOWT1cIlxcXFx0XCIsTlo9XCJcXFxcblwiLE4wPVwiXFxcXHJcIjtmdW5jdGlvblxuTjgoYSxiKXt2YXJcbmQ9Y2ooYik7aWYoMD09PWQpcmV0dXJuIGI7dmFyXG5lPWFyKGQpLGY9ZC0xfDAsZz0wO2lmKGY+PTApe3ZhclxuYz1nO2Zvcig7Oyl7YWMoZSxjLGEoYngoYixjKSkpO3ZhclxuaD1jKzF8MDtpZihmPT09YylicmVhazt2YXJcbmM9aH19cmV0dXJuIGV9dmFyXG5PNT1qMyxPNj1cIiUrZFwiLE83PVwiJSBkXCIsTzg9TVgsTzk9XCIlK2lcIixPXz1cIiUgaVwiLE8kPVwiJXhcIixQYT1cIiUjeFwiLFBiPVwiJVhcIixQYz1cIiUjWFwiLFBkPVwiJW9cIixQZT1cIiUjb1wiLFBmPUx0LFBnPVwiJUxkXCIsUGg9XCIlK0xkXCIsUGk9XCIlIExkXCIsUGo9S1csUGs9XCIlK0xpXCIsUGw9XCIlIExpXCIsUG09XCIlTHhcIixQbj1cIiUjTHhcIixQbz1cIiVMWFwiLFBwPVwiJSNMWFwiLFBxPVwiJUxvXCIsUHI9XCIlI0xvXCIsUHM9XCIlTHVcIixQdD1cIiVsZFwiLFB1PVwiJStsZFwiLFB2PVwiJSBsZFwiLFB3PU1nLFB4PVwiJStsaVwiLFB5PVwiJSBsaVwiLFB6PVwiJWx4XCIsUEE9XCIlI2x4XCIsUEI9XCIlbFhcIixQQz1cIiUjbFhcIixQRD1cIiVsb1wiLFBFPVwiJSNsb1wiLFBGPVwiJWx1XCIsUEc9XCIlbmRcIixQSD1cIiUrbmRcIixQST1cIiUgbmRcIixQSj1OYyxQSz1cIiUrbmlcIixQTD1cIiUgbmlcIixQTT1cIiVueFwiLFBOPVwiJSNueFwiLFBPPVwiJW5YXCIsUFA9XCIlI25YXCIsUFE9XCIlbm9cIixQUj1cIiUjbm9cIixQUz1cIiVudVwiLFBUPVswLGJlXSxQWT1jdixQWj1cIm5lZ19pbmZpbml0eVwiLFAwPU1yLFAxPXlFLFAzPVswLGEwLDE1NTgsNF0sUDQ9XCJQcmludGY6IGJhZCBjb252ZXJzaW9uICVbXCIsUDU9WzAsYTAsMTYyNiwzOV0sUDY9WzAsYTAsMTY0OSwzMV0sUDc9WzAsYTAsMTY1MCwzMV0sUDg9XCJQcmludGY6IGJhZCBjb252ZXJzaW9uICVfXCIsUDk9S3EsUF89TEMsUCQ9S3EsUWE9TEM7ZnVuY3Rpb25cbm1hKGEsYil7aWYodHlwZW9mXG5hPT09XCJudW1iZXJcIilyZXR1cm5bMCwwLGJdO2lmKDA9PT1hWzBdKXJldHVyblswLFswLGFbMV0sYVsyXV0sYl07aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmMj09PWJbMF0pcmV0dXJuWzAsWzEsYVsxXV0sYlsxXV07dGhyb3cgeChhMywxKX1mdW5jdGlvblxua0koYSxiLGMpe3ZhclxuZD1tYShhLGMpO2lmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCIpcmV0dXJuWzAsZFsxXSxbMCxiWzFdXSxkWzJdXTtpZighYilyZXR1cm5bMCxkWzFdLDAsZFsyXV07dmFyXG5lPWRbMl07aWYodHlwZW9mXG5lIT09XCJudW1iZXJcIiYmMj09PWVbMF0pcmV0dXJuWzAsZFsxXSwxLGVbMV1dO3Rocm93IHgoYTMsMSl9ZnVuY3Rpb25cbmFtKGEsYil7aWYodHlwZW9mXG5hPT09XCJudW1iZXJcIilyZXR1cm5bMCwwLGJdO3N3aXRjaChhWzBdKXtjYXNlXG4wOmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjA9PT1iWzBdKXt2YXJcbnM9YW0oYVsxXSxiWzFdKTtyZXR1cm5bMCxbMCxzWzFdXSxzWzJdXX1icmVhaztjYXNlXG4xOmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjA9PT1iWzBdKXt2YXJcbnQ9YW0oYVsxXSxiWzFdKTtyZXR1cm5bMCxbMSx0WzFdXSx0WzJdXX1icmVhaztjYXNlXG4yOnZhclxuYWI9YVsyXSx1PW1hKGFbMV0sYiksZT11WzJdLGFjPXVbMV07aWYodHlwZW9mXG5lIT09XCJudW1iZXJcIiYmMT09PWVbMF0pe3Zhclxudj1hbShhYixlWzFdKTtyZXR1cm5bMCxbMixhYyx2WzFdXSx2WzJdXX10aHJvdyB4KGEzLDEpO2Nhc2VcbjM6dmFyXG5hZD1hWzJdLHc9bWEoYVsxXSxiKSxmPXdbMl0sYWU9d1sxXTtpZih0eXBlb2ZcbmYhPT1cIm51bWJlclwiJiYxPT09ZlswXSl7dmFyXG55PWFtKGFkLGZbMV0pO3JldHVyblswLFszLGFlLHlbMV1dLHlbMl1dfXRocm93IHgoYTMsMSk7Y2FzZVxuNDp2YXJcbmFmPWFbNF0sYWc9YVsxXSxnPWtJKGFbMl0sYVszXSxiKSxoPWdbM10sYWg9Z1sxXTtpZih0eXBlb2ZcbmghPT1cIm51bWJlclwiJiYyPT09aFswXSl7dmFyXG5haT1nWzJdLHo9YW0oYWYsaFsxXSk7cmV0dXJuWzAsWzQsYWcsYWgsYWkselsxXV0selsyXV19dGhyb3cgeChhMywxKTtjYXNlXG41OnZhclxuYWo9YVs0XSxhaz1hWzFdLGk9a0koYVsyXSxhWzNdLGIpLGo9aVszXSxhbD1pWzFdO2lmKHR5cGVvZlxuaiE9PVwibnVtYmVyXCImJjM9PT1qWzBdKXt2YXJcbmFuPWlbMl0sQT1hbShhaixqWzFdKTtyZXR1cm5bMCxbNSxhayxhbCxhbixBWzFdXSxBWzJdXX10aHJvdyB4KGEzLDEpO2Nhc2VcbjY6dmFyXG5hbz1hWzRdLGFwPWFbMV0saz1rSShhWzJdLGFbM10sYiksbD1rWzNdLGFxPWtbMV07aWYodHlwZW9mXG5sIT09XCJudW1iZXJcIiYmND09PWxbMF0pe3ZhclxuYXI9a1syXSxCPWFtKGFvLGxbMV0pO3JldHVyblswLFs2LGFwLGFxLGFyLEJbMV1dLEJbMl1dfXRocm93IHgoYTMsMSk7Y2FzZVxuNzp2YXJcbmFzPWFbNF0sYXQ9YVsxXSxtPWtJKGFbMl0sYVszXSxiKSxuPW1bM10sYXU9bVsxXTtpZih0eXBlb2Zcbm4hPT1cIm51bWJlclwiJiY1PT09blswXSl7dmFyXG5hdj1tWzJdLEM9YW0oYXMsblsxXSk7cmV0dXJuWzAsWzcsYXQsYXUsYXYsQ1sxXV0sQ1syXV19dGhyb3cgeChhMywxKTtjYXNlXG44OnZhclxuYXc9YVs0XSxheD1hWzFdLG89a0koYVsyXSxhWzNdLGIpLHA9b1szXSxhej1vWzFdO2lmKHR5cGVvZlxucCE9PVwibnVtYmVyXCImJjY9PT1wWzBdKXt2YXJcbmFBPW9bMl0sRD1hbShhdyxwWzFdKTtyZXR1cm5bMCxbOCxheCxheixhQSxEWzFdXSxEWzJdXX10aHJvdyB4KGEzLDEpO2Nhc2Vcbjk6dmFyXG5hQj1hWzJdLEU9bWEoYVsxXSxiKSxxPUVbMl0sYUM9RVsxXTtpZih0eXBlb2ZcbnEhPT1cIm51bWJlclwiJiY3PT09cVswXSl7dmFyXG5GPWFtKGFCLHFbMV0pO3JldHVyblswLFs5LGFDLEZbMV1dLEZbMl1dfXRocm93IHgoYTMsMSk7Y2FzZVxuMTA6dmFyXG5HPWFtKGFbMV0sYik7cmV0dXJuWzAsWzEwLEdbMV1dLEdbMl1dO2Nhc2VcbjExOnZhclxuYUQ9YVsxXSxIPWFtKGFbMl0sYik7cmV0dXJuWzAsWzExLGFELEhbMV1dLEhbMl1dO2Nhc2VcbjEyOnZhclxuYUU9YVsxXSxJPWFtKGFbMl0sYik7cmV0dXJuWzAsWzEyLGFFLElbMV1dLElbMl1dO2Nhc2VcbjEzOmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjg9PT1iWzBdKXt2YXJcbko9YlsxXSxhRj1iWzJdLGFHPWFbM10sYUg9YVsxXTtpZihqeShbMCxhWzJdXSxbMCxKXSkpdGhyb3cgeChhMywxKTt2YXJcbks9YW0oYUcsYUYpO3JldHVyblswLFsxMyxhSCxKLEtbMV1dLEtbMl1dfWJyZWFrO2Nhc2VcbjE0OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjk9PT1iWzBdKXt2YXJcbkw9YlsxXSxhST1iWzNdLGFKPWFbM10sYUs9YVsyXSxhTD1hWzFdLGFNPVswLGF5KEwpXTtpZihqeShbMCxheShhSyldLGFNKSl0aHJvdyB4KGEzLDEpO3ZhclxuTT1hbShhSixheShhSSkpO3JldHVyblswLFsxNCxhTCxMLE1bMV1dLE1bMl1dfWJyZWFrO2Nhc2VcbjE1OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjEwPT09YlswXSl7dmFyXG5OPWFtKGFbMV0sYlsxXSk7cmV0dXJuWzAsWzE1LE5bMV1dLE5bMl1dfWJyZWFrO2Nhc2VcbjE2OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjExPT09YlswXSl7dmFyXG5PPWFtKGFbMV0sYlsxXSk7cmV0dXJuWzAsWzE2LE9bMV1dLE9bMl1dfWJyZWFrO2Nhc2VcbjE3OnZhclxuYU49YVsxXSxQPWFtKGFbMl0sYik7cmV0dXJuWzAsWzE3LGFOLFBbMV1dLFBbMl1dO2Nhc2VcbjE4OnZhclxuUT1hWzJdLHI9YVsxXTtpZigwPT09clswXSl7dmFyXG5VPXJbMV0sYVI9VVsyXSxWPWFtKFVbMV0sYiksYVM9VlsxXSxXPWFtKFEsVlsyXSk7cmV0dXJuWzAsWzE4LFswLFswLGFTLGFSXV0sV1sxXV0sV1syXV19dmFyXG5YPXJbMV0sYVQ9WFsyXSxZPWFtKFhbMV0sYiksYVU9WVsxXSxaPWFtKFEsWVsyXSk7cmV0dXJuWzAsWzE4LFsxLFswLGFVLGFUXV0sWlsxXV0sWlsyXV07Y2FzZVxuMTk6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmMTM9PT1iWzBdKXt2YXJcblI9YW0oYVsxXSxiWzFdKTtyZXR1cm5bMCxbMTksUlsxXV0sUlsyXV19YnJlYWs7Y2FzZVxuMjA6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmMT09PWJbMF0pe3ZhclxuYU89YVsyXSxhUD1hWzFdLFM9YW0oYVszXSxiWzFdKTtyZXR1cm5bMCxbMjAsYVAsYU8sU1sxXV0sU1syXV19YnJlYWs7Y2FzZVxuMjE6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmMj09PWJbMF0pe3ZhclxuYVE9YVsxXSxUPWFtKGFbMl0sYlsxXSk7cmV0dXJuWzAsWzIxLGFRLFRbMV1dLFRbMl1dfWJyZWFrO2Nhc2VcbjIzOnZhclxuZD1hWzJdLGM9YVsxXTtpZih0eXBlb2ZcbmMhPT1cIm51bWJlclwiKXN3aXRjaChjWzBdKXtjYXNlXG4wOnJldHVybiBiRyhjLGQsYik7Y2FzZVxuMTpyZXR1cm4gYkcoYyxkLGIpO2Nhc2VcbjI6cmV0dXJuIGJHKGMsZCxiKTtjYXNlXG4zOnJldHVybiBiRyhjLGQsYik7Y2FzZVxuNDpyZXR1cm4gYkcoYyxkLGIpO2Nhc2VcbjU6cmV0dXJuIGJHKGMsZCxiKTtjYXNlXG42OnJldHVybiBiRyhjLGQsYik7Y2FzZVxuNzpyZXR1cm4gYkcoYyxkLGIpO2Nhc2Vcbjg6cmV0dXJuIGJHKFs4LGNbMV0sY1syXV0sZCxiKTtjYXNlXG45OnZhclxuYVY9Y1sxXSwkPWJ5KGNbMl0sZCxiKSxhYT0kWzJdO3JldHVyblswLFsyMyxbOSxhViwkWzFdXSxhYVsxXV0sYWFbMl1dO2Nhc2VcbjEwOnJldHVybiBiRyhjLGQsYik7ZGVmYXVsdDpyZXR1cm4gYkcoYyxkLGIpfXN3aXRjaChjKXtjYXNlXG4wOnJldHVybiBiRyhjLGQsYik7Y2FzZVxuMTpyZXR1cm4gYkcoYyxkLGIpO2Nhc2VcbjI6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmMTQ9PT1iWzBdKXt2YXJcbl89YW0oZCxiWzFdKTtyZXR1cm5bMCxbMjMsMixfWzFdXSxfWzJdXX10aHJvdyB4KGEzLDEpO2RlZmF1bHQ6cmV0dXJuIGJHKGMsZCxiKX19dGhyb3cgeChhMywxKX1mdW5jdGlvblxuYkcoYSxiLGMpe3ZhclxuZD1hbShiLGMpO3JldHVyblswLFsyMyxhLGRbMV1dLGRbMl1dfWZ1bmN0aW9uXG5ieShhLGIsYyl7aWYodHlwZW9mXG5hPT09XCJudW1iZXJcIilyZXR1cm5bMCwwLGFtKGIsYyldO3N3aXRjaChhWzBdKXtjYXNlXG4wOmlmKHR5cGVvZlxuYyE9PVwibnVtYmVyXCImJjA9PT1jWzBdKXt2YXJcbmY9YnkoYVsxXSxiLGNbMV0pO3JldHVyblswLFswLGZbMV1dLGZbMl1dfWJyZWFrO2Nhc2VcbjE6aWYodHlwZW9mXG5jIT09XCJudW1iZXJcIiYmMT09PWNbMF0pe3ZhclxuZz1ieShhWzFdLGIsY1sxXSk7cmV0dXJuWzAsWzEsZ1sxXV0sZ1syXV19YnJlYWs7Y2FzZVxuMjppZih0eXBlb2ZcbmMhPT1cIm51bWJlclwiJiYyPT09Y1swXSl7dmFyXG5oPWJ5KGFbMV0sYixjWzFdKTtyZXR1cm5bMCxbMixoWzFdXSxoWzJdXX1icmVhaztjYXNlXG4zOmlmKHR5cGVvZlxuYyE9PVwibnVtYmVyXCImJjM9PT1jWzBdKXt2YXJcbmk9YnkoYVsxXSxiLGNbMV0pO3JldHVyblswLFszLGlbMV1dLGlbMl1dfWJyZWFrO2Nhc2VcbjQ6aWYodHlwZW9mXG5jIT09XCJudW1iZXJcIiYmND09PWNbMF0pe3Zhclxuaj1ieShhWzFdLGIsY1sxXSk7cmV0dXJuWzAsWzQsalsxXV0salsyXV19YnJlYWs7Y2FzZVxuNTppZih0eXBlb2ZcbmMhPT1cIm51bWJlclwiJiY1PT09Y1swXSl7dmFyXG5rPWJ5KGFbMV0sYixjWzFdKTtyZXR1cm5bMCxbNSxrWzFdXSxrWzJdXX1icmVhaztjYXNlXG42OmlmKHR5cGVvZlxuYyE9PVwibnVtYmVyXCImJjY9PT1jWzBdKXt2YXJcbm09YnkoYVsxXSxiLGNbMV0pO3JldHVyblswLFs2LG1bMV1dLG1bMl1dfWJyZWFrO2Nhc2Vcbjc6aWYodHlwZW9mXG5jIT09XCJudW1iZXJcIiYmNz09PWNbMF0pe3Zhclxubj1ieShhWzFdLGIsY1sxXSk7cmV0dXJuWzAsWzcsblsxXV0sblsyXV19YnJlYWs7Y2FzZVxuODppZih0eXBlb2ZcbmMhPT1cIm51bWJlclwiJiY4PT09Y1swXSl7dmFyXG5vPWNbMV0sdz1jWzJdLHk9YVsyXTtpZihqeShbMCxhWzFdXSxbMCxvXSkpdGhyb3cgeChhMywxKTt2YXJcbnA9YnkoeSxiLHcpO3JldHVyblswLFs4LG8scFsxXV0scFsyXV19YnJlYWs7Y2FzZVxuOTppZih0eXBlb2ZcbmMhPT1cIm51bWJlclwiJiY5PT09Y1swXSl7dmFyXG5kPWNbMl0sZT1jWzFdLHo9Y1szXSxBPWFbM10sQj1hWzJdLEM9YVsxXSxEPVswLGF5KGUpXTtpZihqeShbMCxheShDKV0sRCkpdGhyb3cgeChhMywxKTt2YXJcbkU9WzAsYXkoZCldO2lmKGp5KFswLGF5KEIpXSxFKSl0aHJvdyB4KGEzLDEpO3ZhclxucT1iZChhVyhhTChlKSxkKSksRj1xWzRdO3FbMl0uY2FsbChudWxsLGwpO0YobCk7dmFyXG5yPWJ5KGF5KEEpLGIseiksRz1yWzJdO3JldHVyblswLFs5LGUsZCxhTChyWzFdKV0sR119YnJlYWs7Y2FzZVxuMTA6aWYodHlwZW9mXG5jIT09XCJudW1iZXJcIiYmMTA9PT1jWzBdKXt2YXJcbnM9YnkoYVsxXSxiLGNbMV0pO3JldHVyblswLFsxMCxzWzFdXSxzWzJdXX1icmVhaztjYXNlXG4xMTppZih0eXBlb2ZcbmMhPT1cIm51bWJlclwiJiYxMT09PWNbMF0pe3ZhclxudD1ieShhWzFdLGIsY1sxXSk7cmV0dXJuWzAsWzExLHRbMV1dLHRbMl1dfWJyZWFrO2Nhc2VcbjEzOmlmKHR5cGVvZlxuYyE9PVwibnVtYmVyXCImJjEzPT09Y1swXSl7dmFyXG51PWJ5KGFbMV0sYixjWzFdKTtyZXR1cm5bMCxbMTMsdVsxXV0sdVsyXV19YnJlYWs7Y2FzZVxuMTQ6aWYodHlwZW9mXG5jIT09XCJudW1iZXJcIiYmMTQ9PT1jWzBdKXt2YXJcbnY9YnkoYVsxXSxiLGNbMV0pO3JldHVyblswLFsxNCx2WzFdXSx2WzJdXX1icmVha310aHJvdyB4KGEzLDEpfWZ1bmN0aW9uXG5iSChhLGIsYyl7dmFyXG5kPUcoYyksZz0wPD1iP2E6MCxmPWw2KGIpO2lmKGY8PWQpcmV0dXJuIGM7dmFyXG5oPTI9PT1nPzQ4OjMyLGU9aUsoZixoKTtzd2l0Y2goZyl7Y2FzZVxuMDpjbyhjLDAsZSwwLGQpO2JyZWFrO2Nhc2VcbjE6Y28oYywwLGUsZi1kfDAsZCk7YnJlYWs7ZGVmYXVsdDphOmlmKDA8ZCl7aWYoNDMhPT1hQihjLDApJiY0NSE9PWFCKGMsMCkmJjMyIT09YUIoYywwKSlicmVhayBhO2g4KGUsMCxhQihjLDApKTtjbyhjLDEsZSwoZi1kfDApKzF8MCxkLTF8MCk7YnJlYWt9YTppZigxPGQmJjQ4PT09YUIoYywwKSl7aWYoZW8hPT1hQihjLDEpJiY4OCE9PWFCKGMsMSkpYnJlYWsgYTtoOChlLDEsYUIoYywxKSk7Y28oYywyLGUsKGYtZHwwKSsyfDAsZC0yfDApO2JyZWFrfWNvKGMsMCxlLGYtZHwwLGQpfXJldHVybiBiYShlKX1mdW5jdGlvblxuakcoYSxiKXt2YXJcbmQ9bDYoYSksYz1HKGIpLGU9YUIoYiwwKTthOntiOntpZig1OD5lKXtpZigzMiE9PWUpe2lmKDQzPmUpYnJlYWsgYTtzd2l0Y2goZStEYXwwKXtjYXNlXG41OmM6aWYoYzwoZCsyfDApJiYxPGMpe2lmKGVvIT09YUIoYiwxKSYmODghPT1hQihiLDEpKWJyZWFrIGM7dmFyXG5nPWlLKGQrMnwwLDQ4KTtoOChnLDEsYUIoYiwxKSk7Y28oYiwyLGcsKGQtY3wwKSs0fDAsYy0yfDApO3JldHVybiBiYShnKX1icmVhayBiO2Nhc2VcbjA6Y2FzZVxuMjpicmVhaztjYXNlXG4xOmNhc2VcbjM6Y2FzZVxuNDpicmVhayBhO2RlZmF1bHQ6YnJlYWsgYn19aWYoYz49KGQrMXwwKSlicmVhayBhO3ZhclxuZj1pSyhkKzF8MCw0OCk7aDgoZiwwLGUpO2NvKGIsMSxmLChkLWN8MCkrMnwwLGMtMXwwKTtyZXR1cm4gYmEoZil9aWYoNzE8PWUpe2lmKDU8ZStvVz4+PjApYnJlYWsgYX1lbHNlIGlmKDY1PmUpYnJlYWsgYX1pZihjPGQpe3ZhclxuaD1pSyhkLDQ4KTtjbyhiLDAsaCxkLWN8MCxjKTtyZXR1cm4gYmEoaCl9fXJldHVybiBifWZ1bmN0aW9uXG5PNChhKXt2YXJcbmU9Y2koYSksYj1bMCwwXSxrPWNqKGUpLTF8MCxxPTA7aWYoaz49MCl7dmFyXG5oPXE7Zm9yKDs7KXt2YXJcbmY9YngoZSxoKTthOntiOntjOntpZigzMjw9Zil7dmFyXG5pPWYtMzR8MDtpZig1ODxpPj4+MCl7aWYoOTM8PWkpYnJlYWsgY31lbHNlIGlmKDU2PGktMT4+PjApYnJlYWsgYjt2YXJcbmo9MTticmVhayBhfWlmKDExPD1mKXtpZigxMz09PWYpYnJlYWsgYn1lbHNlIGlmKDg8PWYpYnJlYWsgYn12YXJcbmo9NDticmVhayBhfXZhclxuaj0yfWJbMV09YlsxXStqfDA7dmFyXG50PWgrMXwwO2lmKGs9PT1oKWJyZWFrO3ZhclxuaD10fX1pZihiWzFdPT09Y2ooZSkpdmFyXG5tPWU7ZWxzZXt2YXJcbmM9YXIoYlsxXSk7YlsxXT0wO3ZhclxubD1jaihlKS0xfDAscj0wO2lmKGw+PTApe3ZhclxuZz1yO2Zvcig7Oyl7dmFyXG5kPWJ4KGUsZyk7YTp7Yjp7Yzp7aWYoMzU8PWQpe2lmKDkyIT09ZCl7aWYoYWI8PWQpYnJlYWsgYzticmVhayBifX1lbHNle2lmKDMyPmQpe2lmKDE0PD1kKWJyZWFrIGM7c3dpdGNoKGQpe2Nhc2Vcbjg6YWMoYyxiWzFdLDkyKTtiWzFdKys7YWMoYyxiWzFdLDk4KTticmVhayBhO2Nhc2Vcbjk6YWMoYyxiWzFdLDkyKTtiWzFdKys7YWMoYyxiWzFdLGl2KTticmVhayBhO2Nhc2VcbjEwOmFjKGMsYlsxXSw5Mik7YlsxXSsrO2FjKGMsYlsxXSxhWik7YnJlYWsgYTtjYXNlXG4xMzphYyhjLGJbMV0sOTIpO2JbMV0rKzthYyhjLGJbMV0sVik7YnJlYWsgYTtkZWZhdWx0OmJyZWFrIGN9fWlmKDM0PmQpYnJlYWsgYn1hYyhjLGJbMV0sOTIpO2JbMV0rKzthYyhjLGJbMV0sZCk7YnJlYWsgYX1hYyhjLGJbMV0sOTIpO2JbMV0rKzthYyhjLGJbMV0sNDgrKGQvYW58MCl8MCk7YlsxXSsrO2FjKGMsYlsxXSw0OCsoKGQvMTB8MCklMTB8MCl8MCk7YlsxXSsrO2FjKGMsYlsxXSw0OCsoZCUxMHwwKXwwKTticmVhayBhfWFjKGMsYlsxXSxkKX1iWzFdKys7dmFyXG5zPWcrMXwwO2lmKGw9PT1nKWJyZWFrO3ZhclxuZz1zfX12YXJcbm09Y312YXJcbm49YmEobSksbz1HKG4pLHA9aUsobysyfDAsMzQpO2hDKG4sMCxwLDEsbyk7cmV0dXJuIGJhKHApfWZ1bmN0aW9uXG5GaChhLGIpe3ZhclxuZj1sNihiKSxlPVBUWzFdO3N3aXRjaChhWzJdKXtjYXNlXG4wOnZhclxuYz1jQTticmVhaztjYXNlXG4xOnZhclxuYz1idDticmVhaztjYXNlXG4yOnZhclxuYz02OTticmVhaztjYXNlXG4zOnZhclxuYz1iZTticmVhaztjYXNlXG40OnZhclxuYz03MTticmVhaztjYXNlXG41OnZhclxuYz1lO2JyZWFrO2Nhc2VcbjY6dmFyXG5jPWJUO2JyZWFrO2Nhc2Vcbjc6dmFyXG5jPTcyO2JyZWFrO2RlZmF1bHQ6dmFyXG5jPTcwfXZhclxuZD1GZCgxNik7akYoZCwzNyk7c3dpdGNoKGFbMV0pe2Nhc2VcbjA6YnJlYWs7Y2FzZVxuMTpqRihkLDQzKTticmVhaztkZWZhdWx0OmpGKGQsMzIpfWlmKDg8PWFbMl0pakYoZCwzNSk7akYoZCw0Nik7YmMoZCxBK2YpO2pGKGQsYyk7cmV0dXJuIEZmKGQpfWZ1bmN0aW9uXG5tYihhLGIpe2lmKDEzPmEpcmV0dXJuIGI7dmFyXG5oPVswLDBdLGk9RyhiKS0xfDAsbj0wO2lmKGk+PTApe3ZhclxuZD1uO2Zvcig7Oyl7aWYoOT49dyhiLGQpK2FTPj4+MCloWzFdKys7dmFyXG5xPWQrMXwwO2lmKGk9PT1kKWJyZWFrO3ZhclxuZD1xfX12YXJcbmo9aFsxXSxrPWFyKEcoYikrKChqLTF8MCkvM3wwKXwwKSxsPVswLDBdO2Z1bmN0aW9uXG5lKGEpe2g4KGssbFsxXSxhKTtsWzFdKys7cmV0dXJufXZhclxuZj1bMCwoKGotMXwwKSUzfDApKzF8MF0sbT1HKGIpLTF8MCxvPTA7aWYobT49MCl7dmFyXG5jPW87Zm9yKDs7KXt2YXJcbmc9dyhiLGMpO2lmKDk8ZythUz4+PjApZShnKTtlbHNle2lmKDA9PT1mWzFdKXtlKDk1KTtmWzFdPTN9ZlsxXSs9LTE7ZShnKX12YXJcbnA9YysxfDA7aWYobT09PWMpYnJlYWs7dmFyXG5jPXB9fXJldHVybiBiYShrKX1mdW5jdGlvblxuUFUoYSxiKXtzd2l0Y2goYSl7Y2FzZVxuMTp2YXJcbmM9TzY7YnJlYWs7Y2FzZVxuMjp2YXJcbmM9Tzc7YnJlYWs7Y2FzZVxuNDp2YXJcbmM9Tzk7YnJlYWs7Y2FzZVxuNTp2YXJcbmM9T187YnJlYWs7Y2FzZVxuNjp2YXJcbmM9TyQ7YnJlYWs7Y2FzZVxuNzp2YXJcbmM9UGE7YnJlYWs7Y2FzZVxuODp2YXJcbmM9UGI7YnJlYWs7Y2FzZVxuOTp2YXJcbmM9UGM7YnJlYWs7Y2FzZVxuMTA6dmFyXG5jPVBkO2JyZWFrO2Nhc2VcbjExOnZhclxuYz1QZTticmVhaztjYXNlXG4wOmNhc2VcbjEzOnZhclxuYz1PNTticmVhaztjYXNlXG4zOmNhc2VcbjE0OnZhclxuYz1PODticmVhaztkZWZhdWx0OnZhclxuYz1QZn1yZXR1cm4gbWIoYSxxNyhjLGIpKX1mdW5jdGlvblxuUFYoYSxiKXtzd2l0Y2goYSl7Y2FzZVxuMTp2YXJcbmM9UHU7YnJlYWs7Y2FzZVxuMjp2YXJcbmM9UHY7YnJlYWs7Y2FzZVxuNDp2YXJcbmM9UHg7YnJlYWs7Y2FzZVxuNTp2YXJcbmM9UHk7YnJlYWs7Y2FzZVxuNjp2YXJcbmM9UHo7YnJlYWs7Y2FzZVxuNzp2YXJcbmM9UEE7YnJlYWs7Y2FzZVxuODp2YXJcbmM9UEI7YnJlYWs7Y2FzZVxuOTp2YXJcbmM9UEM7YnJlYWs7Y2FzZVxuMTA6dmFyXG5jPVBEO2JyZWFrO2Nhc2VcbjExOnZhclxuYz1QRTticmVhaztjYXNlXG4wOmNhc2VcbjEzOnZhclxuYz1QdDticmVhaztjYXNlXG4zOmNhc2VcbjE0OnZhclxuYz1QdzticmVhaztkZWZhdWx0OnZhclxuYz1QRn1yZXR1cm4gbWIoYSxxNyhjLGIpKX1mdW5jdGlvblxuUFcoYSxiKXtzd2l0Y2goYSl7Y2FzZVxuMTp2YXJcbmM9UEg7YnJlYWs7Y2FzZVxuMjp2YXJcbmM9UEk7YnJlYWs7Y2FzZVxuNDp2YXJcbmM9UEs7YnJlYWs7Y2FzZVxuNTp2YXJcbmM9UEw7YnJlYWs7Y2FzZVxuNjp2YXJcbmM9UE07YnJlYWs7Y2FzZVxuNzp2YXJcbmM9UE47YnJlYWs7Y2FzZVxuODp2YXJcbmM9UE87YnJlYWs7Y2FzZVxuOTp2YXJcbmM9UFA7YnJlYWs7Y2FzZVxuMTA6dmFyXG5jPVBRO2JyZWFrO2Nhc2VcbjExOnZhclxuYz1QUjticmVhaztjYXNlXG4wOmNhc2VcbjEzOnZhclxuYz1QRzticmVhaztjYXNlXG4zOmNhc2VcbjE0OnZhclxuYz1QSjticmVhaztkZWZhdWx0OnZhclxuYz1QU31yZXR1cm4gbWIoYSxxNyhjLGIpKX1mdW5jdGlvblxuUFgoYSxiKXtzd2l0Y2goYSl7Y2FzZVxuMTp2YXJcbmM9UGg7YnJlYWs7Y2FzZVxuMjp2YXJcbmM9UGk7YnJlYWs7Y2FzZVxuNDp2YXJcbmM9UGs7YnJlYWs7Y2FzZVxuNTp2YXJcbmM9UGw7YnJlYWs7Y2FzZVxuNjp2YXJcbmM9UG07YnJlYWs7Y2FzZVxuNzp2YXJcbmM9UG47YnJlYWs7Y2FzZVxuODp2YXJcbmM9UG87YnJlYWs7Y2FzZVxuOTp2YXJcbmM9UHA7YnJlYWs7Y2FzZVxuMTA6dmFyXG5jPVBxO2JyZWFrO2Nhc2VcbjExOnZhclxuYz1QcjticmVhaztjYXNlXG4wOmNhc2VcbjEzOnZhclxuYz1QZzticmVhaztjYXNlXG4zOmNhc2VcbjE0OnZhclxuYz1QajticmVhaztkZWZhdWx0OnZhclxuYz1Qc31yZXR1cm4gbWIoYSxOdihjLGIpKX1mdW5jdGlvblxuaEcoZCxiLGMpe2Z1bmN0aW9uXG5mKGEpe3N3aXRjaChkWzFdKXtjYXNlXG4wOnZhclxuZT00NTticmVhaztjYXNlXG4xOnZhclxuZT00MzticmVhaztkZWZhdWx0OnZhclxuZT0zMn1yZXR1cm4gYXc3KGMsYixlKX1mdW5jdGlvblxuaShhKXt2YXJcbmI9YXdaKGMpO3JldHVybiAzPT09Yj9jPDAuP1BaOlAwOjQ8PWI/UDE6YX1zd2l0Y2goZFsyXSl7Y2FzZVxuNTp2YXJcbmU9RXYoRmgoZCxiKSxjKSxhPTAsaj1HKGUpO2Zvcig7Oyl7aWYoYT09PWopdmFyXG5oPTA7ZWxzZXt2YXJcbmc9YUIoZSxhKStpd3wwO2E6e2lmKDIzPGc+Pj4wKXtpZig1NT09PWcpYnJlYWsgYX1lbHNlIGlmKDIxPGctMT4+PjApYnJlYWsgYTt2YXJcbmE9YSsxfDA7Y29udGludWV9dmFyXG5oPTF9dmFyXG5rPWg/ZTpKKGUsUFkpO3JldHVybiBpKGspfWNhc2VcbjY6cmV0dXJuIGYobCk7Y2FzZVxuNzpyZXR1cm4gYmEoTjgoRVksY2koZihsKSkpKTtjYXNlXG44OnJldHVybiBpKGYobCkpO2RlZmF1bHQ6cmV0dXJuIEV2KEZoKGQsYiksYyl9fWZ1bmN0aW9uXG5saShhLGIsYyxkKXt2YXJcbmY9YixlPWMsZz1kO2Zvcig7Oyl7aWYodHlwZW9mXG5nPT09XCJudW1iZXJcIilyZXR1cm4gZihlKTtzd2l0Y2goZ1swXSl7Y2FzZVxuMDp2YXJcbkE9Z1sxXTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIF8oZixbNSxlLGFdLEEpfTtjYXNlXG4xOnZhclxuQj1nWzFdO3JldHVybiBmdW5jdGlvbihhKXthOntiOntpZig0MDw9YSl7aWYoOTI9PT1hKXt2YXJcbmI9TlY7YnJlYWsgYX1pZihhYj5hKWJyZWFrIGJ9ZWxzZXtpZigzMjw9YSl7aWYoMzk+YSlicmVhayBiO3ZhclxuYj1OVzticmVhayBhfWlmKDE0PmEpc3dpdGNoKGEpe2Nhc2Vcbjg6dmFyXG5iPU5YO2JyZWFrIGE7Y2FzZVxuOTp2YXJcbmI9Tlk7YnJlYWsgYTtjYXNlXG4xMDp2YXJcbmI9Tlo7YnJlYWsgYTtjYXNlXG4xMzp2YXJcbmI9TjA7YnJlYWsgYX19dmFyXG5jPWFyKDQpO2FjKGMsMCw5Mik7YWMoYywxLDQ4KyhhL2FufDApfDApO2FjKGMsMiw0OCsoKGEvMTB8MCklMTB8MCl8MCk7YWMoYywzLDQ4KyhhJTEwfDApfDApO3ZhclxuYj1iYShjKTticmVhayBhfXZhclxuZD1hcigxKTthYyhkLDAsYSk7dmFyXG5iPWJhKGQpfXZhclxuZz1HKGIpLGg9aUsoZysyfDAsMzkpO2hDKGIsMCxoLDEsZyk7cmV0dXJuIF8oZixbNCxlLGJhKGgpXSxCKX07Y2FzZVxuMjpyZXR1cm4gcnUoZixlLGdbMl0sZ1sxXSxmdW5jdGlvbihhKXtyZXR1cm4gYX0pO2Nhc2VcbjM6cmV0dXJuIHJ1KGYsZSxnWzJdLGdbMV0sTzQpO2Nhc2VcbjQ6cmV0dXJuIG1jKGYsZSxnWzRdLGdbMl0sZ1szXSxQVSxnWzFdKTtjYXNlXG41OnJldHVybiBtYyhmLGUsZ1s0XSxnWzJdLGdbM10sUFYsZ1sxXSk7Y2FzZVxuNjpyZXR1cm4gbWMoZixlLGdbNF0sZ1syXSxnWzNdLFBXLGdbMV0pO2Nhc2Vcbjc6cmV0dXJuIG1jKGYsZSxnWzRdLGdbMl0sZ1szXSxQWCxnWzFdKTtjYXNlXG44OnZhclxubD1nWzRdLG09Z1szXSxuPWdbMl0saz1nWzFdO2lmKHR5cGVvZlxubj09PVwibnVtYmVyXCIpe2lmKHR5cGVvZlxubT09PVwibnVtYmVyXCIpcmV0dXJuIG0/ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXyhmLFs0LGUsaEcoayxhLGIpXSxsKX06ZnVuY3Rpb24oYSl7cmV0dXJuIF8oZixbNCxlLGhHKGsscnMoayksYSldLGwpfTt2YXJcbk49bVsxXTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIF8oZixbNCxlLGhHKGssTixhKV0sbCl9fWlmKDA9PT1uWzBdKXt2YXJcbnE9blsyXSxyPW5bMV07aWYodHlwZW9mXG5tPT09XCJudW1iZXJcIilyZXR1cm4gbT9mdW5jdGlvbihhLGIpe3JldHVybiBfKGYsWzQsZSxiSChyLHEsaEcoayxhLGIpKV0sbCl9OmZ1bmN0aW9uKGEpe3JldHVybiBfKGYsWzQsZSxiSChyLHEsaEcoayxycyhrKSxhKSldLGwpfTt2YXJcbk89bVsxXTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIF8oZixbNCxlLGJIKHIscSxoRyhrLE8sYSkpXSxsKX19dmFyXG5zPW5bMV07aWYodHlwZW9mXG5tPT09XCJudW1iZXJcIilyZXR1cm4gbT9mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8oZixbNCxlLGJIKHMsYSxoRyhrLGIsYykpXSxsKX06ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXyhmLFs0LGUsYkgocyxhLGhHKGsscnMoayksYikpXSxsKX07dmFyXG5QPW1bMV07cmV0dXJuIGZ1bmN0aW9uKGEsYil7cmV0dXJuIF8oZixbNCxlLGJIKHMsYSxoRyhrLFAsYikpXSxsKX07Y2FzZVxuOTpyZXR1cm4gcnUoZixlLGdbMl0sZ1sxXSxOUCk7Y2FzZVxuMTA6dmFyXG5lPVs3LGVdLGc9Z1sxXTticmVhaztjYXNlXG4xMTp2YXJcbmU9WzIsZSxnWzFdXSxnPWdbMl07YnJlYWs7Y2FzZVxuMTI6dmFyXG5lPVszLGUsZ1sxXV0sZz1nWzJdO2JyZWFrO2Nhc2VcbjEzOnZhclxuQz1nWzNdLEQ9Z1syXSx0PUZkKDE2KTtydCh0LEQpO3Zhclxuej1GZih0KTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIF8oZixbNCxlLHpdLEMpfTtjYXNlXG4xNDp2YXJcbkU9Z1szXSxGPWdbMl07cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhclxuYz1hWzFdLGI9YW0oYyxheShhTChGKSkpO2lmKHR5cGVvZlxuYlsyXT09PVwibnVtYmVyXCIpcmV0dXJuIF8oZixlLGFzKGJbMV0sRSkpO3Rocm93IHgoYTMsMSl9O2Nhc2VcbjE1OnZhclxuSD1nWzFdO3JldHVybiBmdW5jdGlvbihjLGIpe3JldHVybiBfKGYsWzYsZSxmdW5jdGlvbihhKXtyZXR1cm4gaihjLGEsYil9XSxIKX07Y2FzZVxuMTY6dmFyXG5JPWdbMV07cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBfKGYsWzYsZSxhXSxJKX07Y2FzZVxuMTc6dmFyXG5lPVswLGUsZ1sxXV0sZz1nWzJdO2JyZWFrO2Nhc2VcbjE4OnZhclxucD1nWzFdO2lmKDA9PT1wWzBdKXtsZXRcbmI9ZSxjPWYsZD1nWzJdO3ZhclxuZj1mdW5jdGlvbihhKXtyZXR1cm4gXyhjLFsxLGIsWzAsYV1dLGQpfSxlPTAsZz1wWzFdWzFdfWVsc2V7bGV0XG5iPWUsYz1mLGQ9Z1syXTt2YXJcbmY9ZnVuY3Rpb24oYSl7cmV0dXJuIF8oYyxbMSxiLFsxLGFdXSxkKX0sZT0wLGc9cFsxXVsxXX1icmVhaztjYXNlXG4xOTp0aHJvdyB4KFswLFksUDNdLDEpO2Nhc2VcbjIwOnZhclxuSj1nWzNdLEs9WzgsZSxQNF07cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBfKGYsSyxKKX07Y2FzZVxuMjE6dmFyXG5MPWdbMl07cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBfKGYsWzQsZSxxNyhMdCxhKV0sTCl9O2Nhc2VcbjIyOnZhclxuTT1nWzFdO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gXyhmLFs1LGUsYV0sTSl9O2Nhc2VcbjIzOnZhclxuaD1nWzJdLG89Z1sxXTtpZih0eXBlb2Zcbm89PT1cIm51bWJlclwiKXN3aXRjaChvKXtjYXNlXG4wOnJldHVybiBhPDUwP2FsKGErMXwwLGYsZSxoKTphSChhbCxbMCxmLGUsaF0pO2Nhc2VcbjE6cmV0dXJuIGE8NTA/YWwoYSsxfDAsZixlLGgpOmFIKGFsLFswLGYsZSxoXSk7Y2FzZVxuMjp0aHJvdyB4KFswLFksUDVdLDEpO2RlZmF1bHQ6cmV0dXJuIGE8NTA/YWwoYSsxfDAsZixlLGgpOmFIKGFsLFswLGYsZSxoXSl9c3dpdGNoKG9bMF0pe2Nhc2VcbjA6cmV0dXJuIGE8NTA/YWwoYSsxfDAsZixlLGgpOmFIKGFsLFswLGYsZSxoXSk7Y2FzZVxuMTpyZXR1cm4gYTw1MD9hbChhKzF8MCxmLGUsaCk6YUgoYWwsWzAsZixlLGhdKTtjYXNlXG4yOnJldHVybiBhPDUwP2FsKGErMXwwLGYsZSxoKTphSChhbCxbMCxmLGUsaF0pO2Nhc2VcbjM6cmV0dXJuIGE8NTA/YWwoYSsxfDAsZixlLGgpOmFIKGFsLFswLGYsZSxoXSk7Y2FzZVxuNDpyZXR1cm4gYTw1MD9hbChhKzF8MCxmLGUsaCk6YUgoYWwsWzAsZixlLGhdKTtjYXNlXG41OnJldHVybiBhPDUwP2FsKGErMXwwLGYsZSxoKTphSChhbCxbMCxmLGUsaF0pO2Nhc2VcbjY6cmV0dXJuIGE8NTA/YWwoYSsxfDAsZixlLGgpOmFIKGFsLFswLGYsZSxoXSk7Y2FzZVxuNzpyZXR1cm4gYTw1MD9hbChhKzF8MCxmLGUsaCk6YUgoYWwsWzAsZixlLGhdKTtjYXNlXG44OnJldHVybiBhPDUwP2FsKGErMXwwLGYsZSxoKTphSChhbCxbMCxmLGUsaF0pO2Nhc2Vcbjk6dmFyXG55PW9bMl07cmV0dXJuIGE8NTA/czUoYSsxfDAsZixlLHksaCk6YUgoczUsWzAsZixlLHksaF0pO2Nhc2VcbjEwOnJldHVybiBhPDUwP2FsKGErMXwwLGYsZSxoKTphSChhbCxbMCxmLGUsaF0pO2RlZmF1bHQ6cmV0dXJuIGE8NTA/YWwoYSsxfDAsZixlLGgpOmFIKGFsLFswLGYsZSxoXSl9ZGVmYXVsdDp2YXJcbnU9Z1szXSx2PWdbMV0sdz1pKGdbMl0sMCk7cmV0dXJuIGE8NTA/czQoYSsxfDAsZixlLHUsdix3KTphSChzNCxbMCxmLGUsdSx2LHddKX19fWZ1bmN0aW9uXG5fKGEsYixjKXtyZXR1cm4gcmUobGkoMCxhLGIsYykpfWZ1bmN0aW9uXG5zNShhLGYsYyxkLGUpe2lmKHR5cGVvZlxuZD09PVwibnVtYmVyXCIpcmV0dXJuIGE8NTA/YWwoYSsxfDAsZixjLGUpOmFIKGFsLFswLGYsYyxlXSk7c3dpdGNoKGRbMF0pe2Nhc2VcbjA6dmFyXG5iPWRbMV07cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBiWChmLGMsYixlKX07Y2FzZVxuMTp2YXJcbmc9ZFsxXTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGJYKGYsYyxnLGUpfTtjYXNlXG4yOnZhclxuaD1kWzFdO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYlgoZixjLGgsZSl9O2Nhc2VcbjM6dmFyXG5pPWRbMV07cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBiWChmLGMsaSxlKX07Y2FzZVxuNDp2YXJcbmo9ZFsxXTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGJYKGYsYyxqLGUpfTtjYXNlXG41OnZhclxuaz1kWzFdO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYlgoZixjLGssZSl9O2Nhc2VcbjY6dmFyXG5sPWRbMV07cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBiWChmLGMsbCxlKX07Y2FzZVxuNzp2YXJcbm09ZFsxXTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGJYKGYsYyxtLGUpfTtjYXNlXG44OnZhclxubj1kWzJdO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYlgoZixjLG4sZSl9O2Nhc2Vcbjk6dmFyXG5vPWRbM10scD1kWzJdLHE9YVcoYUwoZFsxXSkscCk7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBiWChmLGMsYnEocSxvKSxlKX07Y2FzZVxuMTA6dmFyXG5yPWRbMV07cmV0dXJuIGZ1bmN0aW9uKGEsYil7cmV0dXJuIGJYKGYsYyxyLGUpfTtjYXNlXG4xMTp2YXJcbnM9ZFsxXTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGJYKGYsYyxzLGUpfTtjYXNlXG4xMjp2YXJcbnQ9ZFsxXTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGJYKGYsYyx0LGUpfTtjYXNlXG4xMzp0aHJvdyB4KFswLFksUDZdLDEpO2RlZmF1bHQ6dGhyb3cgeChbMCxZLFA3XSwxKX19ZnVuY3Rpb25cbmJYKGEsYixjLGQpe3JldHVybiByZShzNSgwLGEsYixjLGQpKX1mdW5jdGlvblxuYWwoYSxiLGMsZCl7dmFyXG5lPVs4LGMsUDhdO3JldHVybiBhPDUwP2xpKGErMXwwLGIsZSxkKTphSChsaSxbMCxiLGUsZF0pfWZ1bmN0aW9uXG5ydShnLGYsYyxkLGUpe2lmKHR5cGVvZlxuZD09PVwibnVtYmVyXCIpcmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBfKGcsWzQsZixlKGEpXSxjKX07aWYoMD09PWRbMF0pe3ZhclxuYj1kWzJdLGg9ZFsxXTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIF8oZyxbNCxmLGJIKGgsYixlKGEpKV0sYyl9fXZhclxuaT1kWzFdO3JldHVybiBmdW5jdGlvbihhLGIpe3JldHVybiBfKGcsWzQsZixiSChpLGEsZShiKSldLGMpfX1mdW5jdGlvblxubWMoaixpLGgsZCxlLGYsZyl7aWYodHlwZW9mXG5kPT09XCJudW1iZXJcIil7aWYodHlwZW9mXG5lPT09XCJudW1iZXJcIilyZXR1cm4gZT9mdW5jdGlvbihhLGIpe3JldHVybiBfKGosWzQsaSxqRyhhLGYoZyxiKSldLGgpfTpmdW5jdGlvbihhKXtyZXR1cm4gXyhqLFs0LGksZihnLGEpXSxoKX07dmFyXG5iPWVbMV07cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBfKGosWzQsaSxqRyhiLGYoZyxhKSldLGgpfX1pZigwPT09ZFswXSl7dmFyXG5jPWRbMl0saz1kWzFdO2lmKHR5cGVvZlxuZT09PVwibnVtYmVyXCIpcmV0dXJuIGU/ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXyhqLFs0LGksYkgoayxjLGpHKGEsZihnLGIpKSldLGgpfTpmdW5jdGlvbihhKXtyZXR1cm4gXyhqLFs0LGksYkgoayxjLGYoZyxhKSldLGgpfTt2YXJcbm09ZVsxXTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIF8oaixbNCxpLGJIKGssYyxqRyhtLGYoZyxhKSkpXSxoKX19dmFyXG5sPWRbMV07aWYodHlwZW9mXG5lPT09XCJudW1iZXJcIilyZXR1cm4gZT9mdW5jdGlvbihhLGIsYyl7cmV0dXJuIF8oaixbNCxpLGJIKGwsYSxqRyhiLGYoZyxjKSkpXSxoKX06ZnVuY3Rpb24oYSxiKXtyZXR1cm4gXyhqLFs0LGksYkgobCxhLGYoZyxiKSldLGgpfTt2YXJcbm49ZVsxXTtyZXR1cm4gZnVuY3Rpb24oYSxiKXtyZXR1cm4gXyhqLFs0LGksYkgobCxhLGpHKG4sZihnLGIpKSldLGgpfX1mdW5jdGlvblxuczQoYSxiLGMsZCxlLGYpe2lmKGUpe3ZhclxuaD1lWzFdO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gUDIoYixjLGQsaCxpKGYsYSkpfX12YXJcbmc9WzQsYyxmXTtyZXR1cm4gYTw1MD9saShhKzF8MCxiLGcsZCk6YUgobGksWzAsYixnLGRdKX1mdW5jdGlvblxuUDIoYSxiLGMsZCxlKXtyZXR1cm4gcmUoczQoMCxhLGIsYyxkLGUpKX1mdW5jdGlvblxuaEgoYSxiKXt2YXJcbmM9Yjtmb3IoOzspe2lmKHR5cGVvZlxuYz09PVwibnVtYmVyXCIpcmV0dXJuO3N3aXRjaChjWzBdKXtjYXNlXG4wOnZhclxuZj1jWzFdLGc9RmcoY1syXSk7aEgoYSxmKTtyZXR1cm4ga3ooYSxnKTtjYXNlXG4xOnZhclxuZD1jWzJdLGU9Y1sxXTtpZigwPT09ZFswXSl7dmFyXG5oPWRbMV07aEgoYSxlKTtreihhLFA5KTt2YXJcbmM9aH1lbHNle3Zhclxuaj1kWzFdO2hIKGEsZSk7a3ooYSxQXyk7dmFyXG5jPWp9YnJlYWs7Y2FzZVxuNjp2YXJcbm09Y1syXTtoSChhLGNbMV0pO3JldHVybiBpKG0sYSk7Y2FzZVxuNzpoSChhLGNbMV0pO2NHKGEpO3JldHVybjtjYXNlXG44OnZhclxubj1jWzJdO2hIKGEsY1sxXSk7cmV0dXJuIGJiKG4pO2Nhc2VcbjI6Y2FzZVxuNDp2YXJcbms9Y1syXTtoSChhLGNbMV0pO3JldHVybiBreihhLGspO2RlZmF1bHQ6dmFyXG5sPWNbMl07aEgoYSxjWzFdKTtOQihhLGwpO3JldHVybn19fWZ1bmN0aW9uXG5oSShhLGIpe3ZhclxuYz1iO2Zvcig7Oyl7aWYodHlwZW9mXG5jPT09XCJudW1iZXJcIilyZXR1cm47c3dpdGNoKGNbMF0pe2Nhc2VcbjA6dmFyXG5mPWNbMV0sZz1GZyhjWzJdKTtoSShhLGYpO3JldHVybiBPKGEsZyk7Y2FzZVxuMTp2YXJcbmQ9Y1syXSxlPWNbMV07aWYoMD09PWRbMF0pe3ZhclxuaD1kWzFdO2hJKGEsZSk7TyhhLFAkKTt2YXJcbmM9aH1lbHNle3Zhclxuaj1kWzFdO2hJKGEsZSk7TyhhLFFhKTt2YXJcbmM9an1icmVhaztjYXNlXG42OnZhclxubT1jWzJdO2hJKGEsY1sxXSk7cmV0dXJuIE8oYSxpKG0sMCkpO2Nhc2Vcbjc6dmFyXG5jPWNbMV07YnJlYWs7Y2FzZVxuODp2YXJcbm49Y1syXTtoSShhLGNbMV0pO3JldHVybiBiYihuKTtjYXNlXG4yOmNhc2VcbjQ6dmFyXG5rPWNbMl07aEkoYSxjWzFdKTtyZXR1cm4gTyhhLGspO2RlZmF1bHQ6dmFyXG5sPWNbMl07aEkoYSxjWzFdKTtyZXR1cm4gYlcoYSxsKX19fWZ1bmN0aW9uXG5GaShjLGIpe3JldHVybiBfKGZ1bmN0aW9uKGEpe2hIKGMsYSk7cmV0dXJuIDB9LDAsYlsxXSl9ZnVuY3Rpb25cbnJ2KGEpe3JldHVybiBGaShjbixhKX1mdW5jdGlvblxuUihhKXtyZXR1cm4gXyhmdW5jdGlvbihhKXt2YXJcbmI9YWQoNjQpO2hJKGIsYSk7cmV0dXJuIGFEKGIpfSwwLGFbMV0pfXZhclxucnc9WzAsMF0sTlM9Y3YsUWQ9WzAsWzMsMCwwXSxsVV0sUWU9amssUWY9WzAsWzQsMCwwLDAsMF0sajNdLFFnPUEsUWg9WzAsWzExLE1SLFsyLDAsWzIsMCwwXV1dLFwiLCAlcyVzXCJdLFFpPVswLFsxMiw0MCxbMiwwLFsyLDAsWzEyLDQxLDBdXV1dLFwiKCVzJXMpXCJdLFFqPUEsUWs9QSxRbD1bMCxbMTIsNDAsWzIsMCxbMTIsNDEsMF1dXSxcIiglcylcIl0sUW09XCJPdXQgb2YgbWVtb3J5XCIsUW49XCJTdGFjayBvdmVyZmxvd1wiLFFvPVwiUGF0dGVybiBtYXRjaGluZyBmYWlsZWRcIixRcD1cIkFzc2VydGlvbiBmYWlsZWRcIixRcT1cIlVuZGVmaW5lZCByZWN1cnNpdmUgbW9kdWxlXCIsUXI9XCJSYWlzZWQgYXRcIixRcz1cIlJlLXJhaXNlZCBhdFwiLFF0PVwiUmFpc2VkIGJ5IHByaW1pdGl2ZSBvcGVyYXRpb24gYXRcIixRdT1cIkNhbGxlZCBmcm9tXCIsUXY9WzAsWzEyLDMyLFs0LDAsMCwwLDBdXSxcIiAlZFwiXSxRdz1cIiAoaW5saW5lZClcIixReD1bMCxbMiwwLFsxMiwzMixbMiwwLFsxMSwnIGluIGZpbGUgXCInLFsyLDAsWzEyLDM0LFsyLDAsWzExLFwiLCBsaW5lXCIsWzIsMCxbMTEsS2YsYXdKXV1dXV1dXV1dXSwnJXMgJXMgaW4gZmlsZSBcIiVzXCIlcywgbGluZSVzLCBjaGFyYWN0ZXJzICVkLSVkJ10sUXk9QSxRej1bMCxbMTEsXCJzIFwiLFs0LDAsMCwwLFsxMiw0NSxbNCwwLDAsMCwwXV1dXSxcInMgJWQtJWRcIl0sUUE9WzAsWzIsMCxbMTEsXCIgdW5rbm93biBsb2NhdGlvblwiLDBdXSxcIiVzIHVua25vd24gbG9jYXRpb25cIl0sUUI9WzAsWzIsMCxbMTIsMTAsMF1dLFwiJXNcXG5cIl07ZnVuY3Rpb25cbnJ5KGEsYil7dmFyXG5jPWFbMStiXTtpZighKDEtKHR5cGVvZlxuYz09PVwibnVtYmVyXCI/MTowKSkpcmV0dXJuIGkoUihRZiksYyk7aWYoanooYyk9PT1qOSlyZXR1cm4gaShSKFFkKSxjKTtpZihqeihjKSE9PXVhKXJldHVybiBRZTt2YXJcbmU9RXYoXCIlLjEyZ1wiLGMpLGQ9MCxnPUcoZSk7Zm9yKDs7KXtpZihnPD1kKXJldHVybiBKKGUsTlMpO3ZhclxuZj1hQihlLGQpO2E6e2lmKDQ4PD1mKXtpZig1OD5mKWJyZWFrIGF9ZWxzZSBpZig0NT09PWYpYnJlYWsgYTtyZXR1cm4gZX12YXJcbmQ9ZCsxfDB9fWZ1bmN0aW9uXG5GaihhLGIpe2lmKGEubGVuZ3RoLTE8PWIpcmV0dXJuIFFnO3ZhclxuYz1GaihhLGIrMXwwKSxkPXJ5KGEsYik7cmV0dXJuIGooUihRaCksZCxjKX1mdW5jdGlvblxua0ooYSl7YTp7Yjp7dmFyXG5iPWtzKHJ3KTtmb3IoOzspe2lmKCFiKWJyZWFrO2M6e3ZhclxudT1iWzJdLHY9YlsxXTt0cnl7dmFyXG5sPWkodixhKX1jYXRjaChmKXticmVhayBjfWlmKGwpYnJlYWsgYn12YXJcbmI9dX12YXJcbmg9MDticmVhayBhfXZhclxuaD1bMCxsWzFdXX1pZihoKXJldHVybiBoWzFdO2lmKGE9PT1yZilyZXR1cm4gUW07aWYoYT09PUVRKXJldHVybiBRbjtpZihhWzFdPT09RVApe3ZhclxuZT1hWzJdLG89ZVszXSx4PWVbMl0seT1lWzFdO3JldHVybiBzNyhSKHJ4KSx5LHgsbyxvKzV8MCxRbyl9aWYoYVsxXT09PVkpe3ZhclxuZj1hWzJdLHA9ZlszXSx6PWZbMl0sQT1mWzFdO3JldHVybiBzNyhSKHJ4KSxBLHoscCxwKzZ8MCxRcCl9aWYoYVsxXT09PWt5KXt2YXJcbmc9YVsyXSxxPWdbM10sQj1nWzJdLEM9Z1sxXTtyZXR1cm4gczcoUihyeCksQyxCLHEscSs2fDAsUXEpfWlmKDA9PT1qeihhKSl7dmFyXG5rPWEubGVuZ3RoLTEsdz1hWzFdWzFdO2lmKDI8az4+PjApdmFyXG5yPUZqKGEsMikscz1yeShhLDEpLGM9aihSKFFpKSxzLHIpO2Vsc2VcbnN3aXRjaChrKXtjYXNlXG4wOnZhclxuYz1RajticmVhaztjYXNlXG4xOnZhclxuYz1RazticmVhaztkZWZhdWx0OnZhclxudD1yeShhLDEpLGM9aShSKFFsKSx0KX12YXJcbmQ9WzAsdyxbMCxjXV19ZWxzZVxudmFyXG5kPVswLGFbMV0sMF07dmFyXG5tPWRbMl0sbj1kWzFdO3JldHVybiBtP0oobixtWzFdKTpufWZ1bmN0aW9uXG5yeihhLGIpe3ZhclxuZj1hdzAoYiksaz1mLmxlbmd0aC0xLTF8MCx2PTA7aWYoaz49MCl7dmFyXG5kPXY7Zm9yKDs7KXt2YXJcbmM9YXUoZixkKVsxK2RdO2xldFxuYj1kO3ZhclxuZz1mdW5jdGlvbihhKXtyZXR1cm4gYT8wPT09Yj9RcjpRczowPT09Yj9RdDpRdX07aWYoMD09PWNbMF0pe2lmKGNbM109PT1jWzZdKXZhclxubD1jWzNdLGg9aShSKFF2KSxsKTtlbHNlXG52YXJcbnM9Y1s2XSx0PWNbM10saD1qKFIoUXopLHQscyk7dmFyXG5tPWNbN10sbj1jWzRdLG89Y1s4XT9RdzpReSxwPWNbMl0scT1jWzldLHI9ZyhjWzFdKSxlPVswLGF3SyhSKFF4KSxyLHEscCxvLGgsbixtKV19ZWxzZSBpZihjWzFdKXZhclxuZT0wO2Vsc2VcbnZhclxudT1nKDApLGU9WzAsaShSKFFBKSx1KV07aWYoZSl7dmFyXG53PWVbMV07aShGaShhLFFCKSx3KX12YXJcbng9ZCsxfDA7aWYoaz09PWQpYnJlYWs7dmFyXG5kPXh9fXJldHVybn1mdW5jdGlvblxuckEoYSl7Zm9yKDs7KXt2YXJcbmI9a3MocncpLGM9MS1xMChydyxiLFswLGEsYl0pO2lmKCFjKXJldHVybiBjfX12YXJcblFDPVswLEEsXCIoQ2Fubm90IHByaW50IGxvY2F0aW9uczpcXG4gYnl0ZWNvZGUgZXhlY3V0YWJsZSBwcm9ncmFtIGZpbGUgbm90IGZvdW5kKVwiLFwiKENhbm5vdCBwcmludCBsb2NhdGlvbnM6XFxuIGJ5dGVjb2RlIGV4ZWN1dGFibGUgcHJvZ3JhbSBmaWxlIGFwcGVhcnMgdG8gYmUgY29ycnVwdClcIixcIihDYW5ub3QgcHJpbnQgbG9jYXRpb25zOlxcbiBieXRlY29kZSBleGVjdXRhYmxlIHByb2dyYW0gZmlsZSBoYXMgd3JvbmcgbWFnaWMgbnVtYmVyKVwiLFwiKENhbm5vdCBwcmludCBsb2NhdGlvbnM6XFxuIGJ5dGVjb2RlIGV4ZWN1dGFibGUgcHJvZ3JhbSBmaWxlIGNhbm5vdCBiZSBvcGVuZWQ7XFxuIC0tIHRvbyBtYW55IG9wZW4gZmlsZXMuIFRyeSBydW5uaW5nIHdpdGggT0NBTUxSVU5QQVJBTT1iPTIpXCJdLnNsaWNlKCksUUQ9WzAsWzExLHdSLFsyLDAsWzEyLDEwLDBdXV0sSnddLFFFPVswXSxRRj1cIkZhdGFsIGVycm9yOiBvdXQgb2YgbWVtb3J5IGluIHVuY2F1Z2h0IGV4Y2VwdGlvbiBoYW5kbGVyXCIsUUc9WzAsWzExLHdSLFsyLDAsWzEyLDEwLDBdXV0sSnddLFFIPVswLFsxMSxcIkZhdGFsIGVycm9yIGluIHVuY2F1Z2h0IGV4Y2VwdGlvbiBoYW5kbGVyOiBleGNlcHRpb24gXCIsWzIsMCxbMTIsMTAsMF1dXSxcIkZhdGFsIGVycm9yIGluIHVuY2F1Z2h0IGV4Y2VwdGlvbiBoYW5kbGVyOiBleGNlcHRpb24gJXNcXG5cIl07RUwoTGIsZnVuY3Rpb24oYSxiKXt0cnl7dHJ5e3ZhclxuZz1iP1FFOk5yKDApO3RyeXtyaChsKX1jYXRjaChmKXt9dHJ5e3ZhclxuZj1rSihhKTtpKHJ2KFFEKSxmKTtyeihjbixnKTt2YXJcbmM9YXh1KDApO2lmKGM8MCl7dmFyXG5kPWw2KGMpO0VVKGF1KFFDLGQpWzErZF0pfXZhclxuaz1jRyhjbiksaD1rfWNhdGNoKGYpe3ZhclxubT1hQyhmKSxuPWtKKGEpO2kocnYoUUcpLG4pO3J6KGNuLGcpO3Zhclxubz1rSihtKTtpKHJ2KFFIKSxvKTtyeihjbixOcigwKSk7dmFyXG5oPWNHKGNuKX12YXJcbmo9aH1jYXRjaChmKXt2YXJcbmU9YUMoZik7aWYoZSE9PXJmKXRocm93IHgoZSwwKTt2YXJcbmo9RVUoUUYpfXJldHVybiBqfWNhdGNoKGYpe3JldHVybiAwfX0pO3ZhclxuUUk9W2FoLFwiU3RkbGliLkZ1bi5GaW5hbGx5X3JhaXNlZFwiLGhFKDApXSxRSj1cIkZ1bi5GaW5hbGx5X3JhaXNlZDogXCI7ckEoZnVuY3Rpb24oYSl7cmV0dXJuIGFbMV09PT1RST9bMCxKKFFKLGtKKGFbMl0pKV06MH0pO3ZhclxuUUs9XCJEaWdlc3QuQkxBS0UyOiB3cm9uZyBoYXNoIHNpemVcIjtmdW5jdGlvblxuckIoYSl7dmFyXG5iPWFbMV08MT8xOjAsYz1ifHwoNjQ8YVsxXT8xOjApO2lmKGMpYmIoUUspO3JldHVybn1yQihbMCwxNl0pO3JCKFswLDMyXSk7ckIoWzAsNjRdKTtmdW5jdGlvblxuRmsoYSl7dmFyXG5iPWJhKGEpO3JldHVybiBheHQoYiwwLEcoYikpfXZhclxuUUw9YjIoMSwwLDApLFFNPWIyKDAsMCwwKSxRTj1iMigwLDAsMCksUU89YjIoMiwwLDApLFFQPWIyKDEsMCwwKTtmdW5jdGlvblxuRmwoYSl7cmV0dXJuIGF3Uyg3LDAsWzAsNF0pfWZ1bmN0aW9uXG5GbShhLGIsYyxkLGUpe2wwKGEsMCxOeShiLFFMKSk7bDAoYSwxLGMpO3ZhclxuZj1qeShkLFFNKT9kOlFQO2wwKGEsMixmKTt2YXJcbmc9ankoZSxRTik/ZTpRTztsMChhLDMsZyk7cmV0dXJufWZ1bmN0aW9uXG5GbihhLGIsYyxkKXt2YXJcbmU9RmwobCk7Rm0oZSxhLGIsYyxkKTtyZXR1cm4gZX12YXJcblFSPWIyKDE0MzcxODUyLDE1MzQ5NjUxLDIyNjk2KSxRUz1iMigxMjIzMDE5MywxMTQzODc0MywzNTAxMyksUVQ9YjIoMTQyNDkzMywxNTU0OTI2MywyMDgzKSxRVT1iMig5NDkyNDcxLDQ2OTY3MDgsS1YpO2NKKFswLGZ1bmN0aW9uKGEpe3ZhclxuYj1xXyhhKSxjPXFfKGEpLGQ9cV8oYSk7cmV0dXJuIEZuKGIsYyxkLHFfKGEpKX1dLGZ1bmN0aW9uKGEpe3JldHVybiBGbihRVSxRVCxRUyxRUil9KTt2YXJcbm1kPTAsRm89LTEsckM9W2FoLFwiU3RkbGliLkZvcm1hdC5TdHJpbmdfdGFnXCIsaEUoMCldO2Z1bmN0aW9uXG5rSyhhLGIpe2FbMTNdPWFbMTNdK2JbM118MDtyZXR1cm4gcm0oYixhWzI4XSl9dmFyXG5GcD0xMDAwMDAwMDEwO2Z1bmN0aW9uXG5ONChhLGIpe3JldHVybiBhPD1iP2E6Yn12YXJcbk9oPVthaCxcIlN0ZGxpYi5RdWV1ZS5FbXB0eVwiLGhFKDApXSxRVj1bMCxBLDAsQV0sUVg9QSxRWT1BLFFaPUEsUTA9QSxRMT1bMCxBXSxRNj11WTtmdW5jdGlvblxuckQoYSxiKXtyZXR1cm4geihhWzE3XSxiLDAsRyhiKSl9ZnVuY3Rpb25cbm1lKGEpe3JldHVybiBpKGFbMTldLDApfWZ1bmN0aW9uXG5GcShhLGIsYyl7YVs5XT1hWzldLWJ8MDtyRChhLGMpO2FbMTFdPTA7cmV0dXJufWZ1bmN0aW9uXG5tZihhLGIpe3ZhclxuYz1rKGIsQSk7cmV0dXJuIGM/RnEoYSxHKGIpLGIpOmN9ZnVuY3Rpb25cbmlOKGEsYixjKXt2YXJcbmQ9YlszXSxlPWJbMl07bWYoYSxiWzFdKTttZShhKTthWzExXT0xO2FbMTBdPU40KGFbOF0sKGFbNl0tY3wwKStlfDApO2FbOV09YVs2XS1hWzEwXXwwO2koYVsyMV0sYVsxMF0pO3JldHVybiBtZihhLGQpfWZ1bmN0aW9uXG5GcihhLGIpe3JldHVybiBpTihhLFFWLGIpfWZ1bmN0aW9uXG5qSChhLGIpe3ZhclxuYz1iWzJdLGQ9YlszXTttZihhLGJbMV0pO2FbOV09YVs5XS1jfDA7aShhWzIwXSxjKTtyZXR1cm4gbWYoYSxkKX1mdW5jdGlvblxuUVcoYSxiLGMpe2lmKHR5cGVvZlxuYz09PVwibnVtYmVyXCIpc3dpdGNoKGMpe2Nhc2VcbjA6dmFyXG5zPWpFKGFbM10pO2lmKCFzKXJldHVybjt2YXJcbnQ9c1sxXVsxXSx1PWZ1bmN0aW9uKGEsYil7aWYoIWIpcmV0dXJuWzAsYSwwXTt2YXJcbmM9YlsxXSxkPWJbMl07cmV0dXJuIGF4cShhLGMpP1swLGEsYl06WzAsYyx1KGEsZCldfTt0WzFdPXUoYVs2XS1hWzldfDAsdFsxXSk7cmV0dXJuO2Nhc2VcbjE6akQoYVsyXSk7cmV0dXJuO2Nhc2VcbjI6akQoYVszXSk7cmV0dXJuO2Nhc2VcbjM6dmFyXG52PWpFKGFbMl0pO3JldHVybiB2P0ZyKGEsdlsxXVsyXSk6bWUoYSk7Y2FzZVxuNDp2YXJcbnc9YVsxMF0hPT0oYVs2XS1hWzldfDApPzE6MDtpZighdylyZXR1cm4gdzt2YXJcbmY9YVsyOF0saD1mWzJdO2lmKGgpe3Zhclxubj1oWzFdO2lmKGhbMl0pe3ZhclxuSz1oWzJdO2ZbMV09ZlsxXS0xfDA7ZlsyXT1LO3Zhclxuaj1bMCxuXX1lbHNle3JsKGYpO3Zhclxuaj1bMCxuXX19ZWxzZVxudmFyXG5qPTA7aWYoIWopcmV0dXJuO3Zhclxucj1qWzFdLE09clsxXTthWzEyXT1hWzEyXS1yWzNdfDA7YVs5XT1hWzldK018MDtyZXR1cm47ZGVmYXVsdDp2YXJcbng9akQoYVs1XSk7aWYoeClyZXR1cm4gckQoYSxpKGFbMjVdLHhbMV0pKTtyZXR1cm59c3dpdGNoKGNbMF0pe2Nhc2VcbjA6cmV0dXJuIEZxKGEsYixjWzFdKTtjYXNlXG4xOnZhclxuZD1jWzJdLGc9Y1sxXSx5PWRbMV0sTj1kWzJdLHo9akUoYVsyXSk7aWYoIXopcmV0dXJuO3ZhclxuQT16WzFdLGU9QVsyXTtzd2l0Y2goQVsxXSl7Y2FzZVxuMDpyZXR1cm4gakgoYSxnKTtjYXNlXG4xOnJldHVybiBpTihhLGQsZSk7Y2FzZVxuMjpyZXR1cm4gaU4oYSxkLGUpO2Nhc2VcbjM6cmV0dXJuIGFbOV08KGIrRyh5KXwwKT9pTihhLGQsZSk6akgoYSxnKTtjYXNlXG40OnJldHVybiBhWzExXT9qSChhLGcpOmFbOV08KGIrRyh5KXwwKT9pTihhLGQsZSk6KChhWzZdLWV8MCkrTnwwKTxhWzEwXT9pTihhLGQsZSk6akgoYSxnKTtkZWZhdWx0OnJldHVybiBqSChhLGcpfWNhc2VcbjI6dmFyXG5sPWFbNl0tYVs5XXwwLE89Y1syXSxQPWNbMV0sQj1qRShhWzNdKTtpZighQilyZXR1cm47dmFyXG5DPUJbMV1bMV0sRD1DWzFdO2lmKEQpe3Zhclxuaz1DWzFdLFE9RFsxXTtmb3IoOzspe2lmKGspe3ZhclxuRT1rWzFdLFI9a1syXTtpZihsPkUpe3Zhclxuaz1SO2NvbnRpbnVlfXZhclxuRj1FfWVsc2VcbnZhclxuRj1RO3ZhclxubT1GO2JyZWFrfX1lbHNlXG52YXJcbm09bDt2YXJcbkg9bS1sfDA7cmV0dXJuIDA8PUg/akgoYSxbMCxRWSxIK1B8MCxRWF0pOmlOKGEsWzAsUTAsbStPfDAsUVpdLGFbNl0pO2Nhc2VcbjM6dmFyXG5JPWNbMl0sUz1jWzFdO2lmKGFbOF08KGFbNl0tYVs5XXwwKSl7dmFyXG5vPWpFKGFbMl0pO2lmKG8pe3ZhclxucD1vWzFdLHE9cFsyXSxMPXBbMV07aWYoYVs5XTxxJiYzPj1MLTE+Pj4wKUZyKGEscSl9ZWxzZVxubWUoYSl9dmFyXG5UPWFbOV0tU3wwLFU9MT09PUk/MTphWzldPGI/STo1O3JldHVybiBpTChbMCxVLFRdLGFbMl0pO2Nhc2VcbjQ6cmV0dXJuIGlMKGNbMV0sYVszXSk7ZGVmYXVsdDp2YXJcbko9Y1sxXTtyRChhLGkoYVsyNF0sSikpO3JldHVybiBpTChKLGFbNV0pfX1mdW5jdGlvblxuRnMoYSl7Zm9yKDs7KXt2YXJcbmY9YVsyOF1bMl0sZz1mP1swLGZbMV1dOjA7aWYoIWcpcmV0dXJuO3ZhclxuZD1nWzFdLGU9ZFsxXSxtPTA8PWU/MTowLGo9ZFszXSxrPWRbMl0sbD1hWzEzXS1hWzEyXXwwLGg9bXx8KGFbOV08PWw/MTowKTtpZighaClyZXR1cm4gaDt2YXJcbmI9YVsyOF0sYz1iWzJdO2lmKCFjKXRocm93IHgoT2gsMSk7aWYoY1syXSl7dmFyXG5pPWNbMl07YlsxXT1iWzFdLTF8MDtiWzJdPWl9ZWxzZVxucmwoYik7dmFyXG5uPTA8PWU/ZTpGcDtRVyhhLG4sayk7YVsxMl09aithWzEyXXwwfX1mdW5jdGlvblxuRnQoYSxiKXtrSyhhLGIpO3JldHVybiBGcyhhKX1mdW5jdGlvblxuRnUoYSxiLGMpe3JldHVybiBGdChhLFswLGIsWzAsY10sYl0pfWZ1bmN0aW9uXG5yRShhKXtrRyhhKTtyZXR1cm4gaUwoWzAsLTEsWzAsRm8sUTEsMF1dLGEpfWZ1bmN0aW9uXG5yRihhLGIpe3ZhclxuZD1qRShhWzFdKTtpZighZClyZXR1cm47dmFyXG5lPWRbMV0sYz1lWzJdLGY9Y1sxXTtpZihlWzFdPGFbMTJdKXJldHVybiByRShhWzFdKTt2YXJcbmc9Y1syXTtpZih0eXBlb2ZcbmchPT1cIm51bWJlclwiKXN3aXRjaChnWzBdKXtjYXNlXG4zOmlmKDEtYil7Y1sxXT1hWzEzXStmfDA7akQoYVsxXSl9cmV0dXJuO2Nhc2VcbjE6Y2FzZVxuMjppZihiKXtjWzFdPWFbMTNdK2Z8MDtqRChhWzFdKX1yZXR1cm59cmV0dXJufWZ1bmN0aW9uXG5GdihhLGIsYyl7a0soYSxjKTtpZihiKXJGKGEsMSk7cmV0dXJuIGlMKFswLGFbMTNdLGNdLGFbMV0pfWZ1bmN0aW9uXG5GdyhhLGIsYyl7YVsxNF09YVsxNF0rMXwwO2lmKGFbMTRdPGFbMTVdKXJldHVybiBGdihhLDAsWzAsLWFbMTNdfDAsWzMsYixjXSwwXSk7dmFyXG5kPWFbMTRdPT09YVsxNV0/MTowO2lmKCFkKXJldHVybiBkO3ZhclxuZT1hWzE2XTtyZXR1cm4gRnUoYSxHKGUpLGUpfWZ1bmN0aW9uXG5GeChhLGIpe2lmKDE8YVsxNF0pe2lmKGFbMTRdPGFbMTVdKXtrSyhhLFswLG1kLDEsMF0pO3JGKGEsMSk7ckYoYSwwKX1hWzE0XT1hWzE0XS0xfDB9cmV0dXJufWZ1bmN0aW9uXG5GeShhLGIpe2lmKGFbMjNdKWtLKGEsWzAsbWQsNSwwXSk7aWYoYVsyMl0pe3ZhclxuYz1qRChhWzRdKTtpZihjKXJldHVybiBpKGFbMjddLGNbMV0pfXJldHVybn1mdW5jdGlvblxuRnooYyxiKXthMShmdW5jdGlvbihhKXtyZXR1cm4gRnkoYyxsKX0sY1s0XVsxXSk7Zm9yKDs7KXtpZigxPj1jWzE0XSlicmVhaztGeChjLGwpfWNbMTNdPUZwO0ZzKGMpO2lmKGIpbWUoYyk7Y1sxMl09MTtjWzEzXT0xO3JsKGNbMjhdKTtyRShjWzFdKTtrRyhjWzJdKTtrRyhjWzNdKTtrRyhjWzRdKTtrRyhjWzVdKTtjWzEwXT0wO2NbMTRdPTA7Y1s5XT1jWzZdO3JldHVybiBGdyhjLDAsMyl9ZnVuY3Rpb25cbnJHKGEsYixjKXt2YXJcbmQ9YVsxNF08YVsxNV0/MTowO3JldHVybiBkP0Z1KGEsYixjKTpkfWZ1bmN0aW9uXG5GQShhLGIsYyl7cmV0dXJuIHJHKGEsYixjKX1mdW5jdGlvblxua0woYSxiKXtyZXR1cm4gRkEoYSwxLGw5KDEsYikpfWZ1bmN0aW9uXG5pTyhhLGIpe0Z6KGEsMCk7cmV0dXJuIGkoYVsxOF0sMCl9ZnVuY3Rpb25cbnJIKGEsYil7cmV0dXJuIHooYVsxN10sUTYsMCwxKX12YXJcbkZCPWw5KDgwLDMyKSxOTz1LSCxROD1sVCxROT12RixRXz1BLFJhPWxULFJiPVwiPFxcL1wiLFJjPUEsUmY9WzMsMCwzXSxSZz1jdjtmdW5jdGlvblxuakkoYSxiKXt2YXJcbmM9Yjtmb3IoOzspe3ZhclxuZD0wPGM/MTowO2lmKCFkKXJldHVybiBkO2lmKDgwPj1jKXJldHVybiB6KGFbMTddLEZCLDAsYyk7eihhWzE3XSxGQiwwLDgwKTt2YXJcbmM9Yy04MHwwfX1mdW5jdGlvblxuUTcoYSl7cmV0dXJuIGFbMV09PT1yQz9KKFE5LEooYVsyXSxROCkpOlFffWZ1bmN0aW9uXG5RJChhKXtyZXR1cm4gYVsxXT09PXJDP0ooUmIsSihhWzJdLFJhKSk6UmN9ZnVuY3Rpb25cblJkKGEpe3JldHVybiAwfWZ1bmN0aW9uXG5SZShhKXtyZXR1cm4gMH1mdW5jdGlvblxuckkoYSxiLGMsZCxlKXt2YXJcbmc9RV8obCksaD1bMCxGbyxSZiwwXTtybShoLGcpO3ZhclxuZj1rRihsKTtyRShmKTtpTChbMCwxLGhdLGYpO3ZhclxuaT03OCxqPWtGKGwpLGs9a0YobCksbT1rRihsKTtyZXR1cm5bMCxmLGtGKGwpLG0sayxqLGksMTAsNjgsaSwwLDEsMSwxLDEsTk8sUmcsYSxiLGMsZCxlLDAsMCxRNyxRJCxSZCxSZSxnXX1mdW5jdGlvblxuRkMoYSxiKXt2YXJcbmM9ckkoYSxiLGZ1bmN0aW9uKGEpe3JldHVybiAwfSxmdW5jdGlvbihhKXtyZXR1cm4gMH0sZnVuY3Rpb24oYSl7cmV0dXJuIDB9KTtjWzE5XT1mdW5jdGlvbihhKXtyZXR1cm4gckgoYyxsKX07Y1syMF09ZnVuY3Rpb24oYSl7cmV0dXJuIGpJKGMsYSl9O2NbMjFdPWZ1bmN0aW9uKGEpe3JldHVybiBqSShjLGEpfTtyZXR1cm4gY31mdW5jdGlvblxuRkQoZCl7cmV0dXJuIEZDKGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gRVQoZCxhLGIsYyl9LGZ1bmN0aW9uKGEpe3JldHVybiBjRyhkKX0pfWZ1bmN0aW9uXG5ySihkKXtyZXR1cm4gRkMoZnVuY3Rpb24oYSxiLGMpe3JldHVybiBybyhkLGEsYixjKX0sZnVuY3Rpb24oYSl7cmV0dXJuIDB9KX12YXJcbnJLPXdjO2Z1bmN0aW9uXG5GRShhKXtyZXR1cm4gYWQockspfXZhclxuRkY9RkUobCksUmg9RkQoRVMpLFJpPUZEKGNuKSxSaj1ySihGRiksRkc9Y0ooMCxGRSk7a0goRkcsRkYpO2tIKGNKKDAsZnVuY3Rpb24oYSl7cmV0dXJuIHJKKGlNKEZHKSl9KSxSaik7ZnVuY3Rpb25cbkZIKGEsYixjLGQpe3JldHVybiBybyhpTShhKSxiLGMsZCl9ZnVuY3Rpb25cbkZJKGEsYixjKXt2YXJcbmQ9aU0oYiksZT1kWzJdO0VUKGEsYUQoZCksMCxlKTtjRyhhKTtkWzJdPTA7cmV0dXJuIDB9dmFyXG5GSj1jSigwLGZ1bmN0aW9uKGEpe3JldHVybiBhZChySyl9KSxGSz1jSigwLGZ1bmN0aW9uKGEpe3JldHVybiBhZChySyl9KSxGTD1jSigwLGZ1bmN0aW9uKGEpe3ZhclxuYj1ySShmdW5jdGlvbihhLGIsYyl7cmV0dXJuIEZIKEZKLGEsYixjKX0sZnVuY3Rpb24oYSl7cmV0dXJuIEZJKEVTLEZKLGwpfSxmdW5jdGlvbihhKXtyZXR1cm4gMH0sZnVuY3Rpb24oYSl7cmV0dXJuIDB9LGZ1bmN0aW9uKGEpe3JldHVybiAwfSk7YlsxOV09ZnVuY3Rpb24oYSl7cmV0dXJuIHJIKGIsbCl9O2JbMjBdPWZ1bmN0aW9uKGEpe3JldHVybiBqSShiLGEpfTtiWzIxXT1mdW5jdGlvbihhKXtyZXR1cm4gakkoYixhKX07RmMoZnVuY3Rpb24oYSl7cmV0dXJuIGlPKGIsbCl9KTtyZXR1cm4gYn0pO2tIKEZMLFJoKTt2YXJcbkZNPWNKKDAsZnVuY3Rpb24oYSl7dmFyXG5iPXJJKGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gRkgoRkssYSxiLGMpfSxmdW5jdGlvbihhKXtyZXR1cm4gRkkoY24sRkssbCl9LGZ1bmN0aW9uKGEpe3JldHVybiAwfSxmdW5jdGlvbihhKXtyZXR1cm4gMH0sZnVuY3Rpb24oYSl7cmV0dXJuIDB9KTtiWzE5XT1mdW5jdGlvbihhKXtyZXR1cm4gckgoYixsKX07YlsyMF09ZnVuY3Rpb24oYSl7cmV0dXJuIGpJKGIsYSl9O2JbMjFdPWZ1bmN0aW9uKGEpe3JldHVybiBqSShiLGEpfTtGYyhmdW5jdGlvbihhKXtyZXR1cm4gaU8oYixsKX0pO3JldHVybiBifSk7a0goRk0sUmkpO3ZhclxuT2k9XCJCdWZmZXIuc3ViXCIsUWI9WzAsMCw0XSxRYz1bMCxbMTEsXCJpbnZhbGlkIGJveCBkZXNjcmlwdGlvbiBcIixbMywwLDBdXSxcImludmFsaWQgYm94IGRlc2NyaXB0aW9uICVTXCJdLFEyPUEsUTM9QSxRND1BLFE1PUE7ZnVuY3Rpb25cbkZOKGEsYil7dmFyXG5jPWFkKDE2KSxlPXJKKGMpO2EoZSxiKTtpTyhlLGwpO3ZhclxuZj1jWzJdO2lmKDI+ZilyZXR1cm4gYUQoYyk7dmFyXG5kPWYtMnwwLGc9MTtpZigwPD1kJiYoY1syXS1kfDApPj0xKXJldHVybiBqQyhjWzFdWzFdLGcsZCk7cmV0dXJuIGJiKE9pKX1mdW5jdGlvblxuYlkoYSxiKXtpZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiKXJldHVybjthOntiOntjOntzd2l0Y2goYlswXSl7Y2FzZVxuMDp2YXJcbmg9YlsyXTtiWShhLGJbMV0pO2lmKHR5cGVvZlxuaD09PVwibnVtYmVyXCIpc3dpdGNoKGgpe2Nhc2VcbjA6cmV0dXJuIEZ4KGEsbCk7Y2FzZVxuMTpyZXR1cm4gRnkoYSxsKTtjYXNlXG4yOnJldHVybiBpTyhhLGwpO2Nhc2VcbjM6dmFyXG5MPWFbMTRdPGFbMTVdPzE6MDtyZXR1cm4gTD9GdChhLFswLG1kLDMsMF0pOkw7Y2FzZVxuNDpGeihhLDEpO3JldHVybiBpKGFbMThdLDApO2Nhc2VcbjU6cmV0dXJuIGtMKGEsNjQpO2RlZmF1bHQ6cmV0dXJuIGtMKGEsMzcpfXN3aXRjaChoWzBdKXtjYXNlXG4wOnZhclxucj1bMCxRNSxoWzJdLFE0XSxNPWFbMTRdPGFbMTVdPzE6MCxhYj1bMCxRMyxoWzNdLFEyXSxaPXJbM10sJD1yWzJdLGFhPXJbMV07cmV0dXJuIE0/RnYoYSwxLFswLC1hWzEzXXwwLFsxLHIsYWJdLChHKGFhKSskfDApK0coWil8MF0pOk07Y2FzZVxuMTpyZXR1cm47ZGVmYXVsdDp2YXJcbmFjPWhbMV07a0woYSw2NCk7cmV0dXJuIGtMKGEsYWMpfWNhc2VcbjE6dmFyXG55PWJbMl0sTj1iWzFdO2lmKDA9PT15WzBdKXt2YXJcbmFlPXlbMV07YlkoYSxOKTt2YXJcbno9WzAsckMsRk4oYlksYWUpXTtpZihhWzIyXSl7aUwoeixhWzRdKTtpKGFbMjZdLHopfXZhclxuSz1hWzIzXTtyZXR1cm4gSz9rSyhhLFswLG1kLFs1LHpdLDBdKTpLfXZhclxuYWY9eVsxXTtiWShhLE4pO3ZhclxuYz1GTihiWSxhZik7aWYoWChjLEEpKXZhclxuQj1RYjtlbHNle3ZhclxucD1HKGMpLHM9ZnVuY3Rpb24oYSl7dmFyXG5kPVFjWzFdLGI9YWQobEIpO3JldHVybiBpKF8oZnVuY3Rpb24oYSl7aEkoYixhKTtyZXR1cm4gRShhRChiKSl9LDAsZCksYyl9LHQ9ZnVuY3Rpb24oYSl7dmFyXG5iPWE7Zm9yKDs7KXtpZihiPT09cClyZXR1cm4gYjt2YXJcbmQ9YUIoYyxiKTtpZig5IT09ZCYmMzIhPT1kKXJldHVybiBiO3ZhclxuYj1iKzF8MH19LHY9dCgwKTtkOmU6e3ZhclxuZT12O2Zvcig7Oyl7aWYoZT09PXApYnJlYWsgZTtpZigyNTxhQihjLGUpK29XPj4+MClicmVhazt2YXJcbmU9ZSsxfDB9YnJlYWsgZH12YXJcbmY9YTIoYyx2LGUtdnwwKSxxPXQoZSk7ZDplOnt2YXJcbmQ9cTtmb3IoOzspe2lmKGQ9PT1wKWJyZWFrIGU7dmFyXG51PWFCKGMsZCk7aWYoNDg8PXUpe2lmKDU4PD11KWJyZWFrfWVsc2UgaWYoNDUhPT11KWJyZWFrO3ZhclxuZD1kKzF8MH1icmVhayBkfWlmKHE9PT1kKXZhclxudz0wO2Vsc2VcbnRyeXt2YXJcblk9YjMoYTIoYyxxLGQtcXwwKSksdz1ZfWNhdGNoKGYpe3ZhclxuSj1hQyhmKTtpZihKWzFdIT09Y20pdGhyb3cgeChKLDApO3Zhclxudz1zKGwpfWlmKHQoZCkhPT1wKXMobCk7ZDp7aWYoayhmLEEpJiZrKGYseUcpKXtpZighayhmLFwiaFwiKSl7dmFyXG5nPTA7YnJlYWsgZH1pZighayhmLFwiaG92XCIpKXt2YXJcbmc9MzticmVhayBkfWlmKCFrKGYsXCJodlwiKSl7dmFyXG5nPTI7YnJlYWsgZH1pZihrKGYsS00pKXt2YXJcbmc9cyhsKTticmVhayBkfXZhclxuZz0xO2JyZWFrIGR9dmFyXG5nPTR9dmFyXG5CPVswLHcsZ119cmV0dXJuIEZ3KGEsQlsxXSxCWzJdKTtjYXNlXG4yOnZhclxuaj1iWzFdO2lmKHR5cGVvZlxuaiE9PVwibnVtYmVyXCImJjA9PT1qWzBdKXt2YXJcbkQ9alsyXTtpZih0eXBlb2ZcbkQhPT1cIm51bWJlclwiJiYxPT09RFswXSl7dmFyXG5SPWJbMl0sUT1EWzJdLFA9alsxXTticmVhayBifX12YXJcbkM9YlsyXSxPPWo7YnJlYWsgYTtjYXNlXG4zOnZhclxubT1iWzFdO2lmKHR5cGVvZlxubSE9PVwibnVtYmVyXCImJjA9PT1tWzBdKXt2YXJcbkY9bVsyXTtpZih0eXBlb2ZcbkYhPT1cIm51bWJlclwiJiYxPT09RlswXSl7dmFyXG5XPWJbMl0sVj1GWzJdLFU9bVsxXTticmVha319dmFyXG5UPWJbMl0sUz1tO2JyZWFrIGM7Y2FzZVxuNDp2YXJcbm49YlsxXTtpZih0eXBlb2Zcbm4hPT1cIm51bWJlclwiJiYwPT09blswXSl7dmFyXG5IPW5bMl07aWYodHlwZW9mXG5IIT09XCJudW1iZXJcIiYmMT09PUhbMF0pe3ZhclxuUj1iWzJdLFE9SFsyXSxQPW5bMV07YnJlYWsgYn19dmFyXG5DPWJbMl0sTz1uO2JyZWFrIGE7Y2FzZVxuNTp2YXJcbm89YlsxXTtpZih0eXBlb2Zcbm8hPT1cIm51bWJlclwiJiYwPT09b1swXSl7dmFyXG5JPW9bMl07aWYodHlwZW9mXG5JIT09XCJudW1iZXJcIiYmMT09PUlbMF0pe3ZhclxuVz1iWzJdLFY9SVsyXSxVPW9bMV07YnJlYWt9fXZhclxuVD1iWzJdLFM9bzticmVhayBjO2Nhc2VcbjY6dmFyXG5hZz1iWzJdO2JZKGEsYlsxXSk7cmV0dXJuIGkoYWcsYSk7Y2FzZVxuNzpiWShhLGJbMV0pO3JldHVybiBpTyhhLGwpO2RlZmF1bHQ6dmFyXG5haD1iWzJdO2JZKGEsYlsxXSk7cmV0dXJuIGJiKGFoKX1iWShhLFUpO3JldHVybiByRyhhLFYsbDkoMSxXKSl9YlkoYSxTKTtyZXR1cm4ga0woYSxUKX1iWShhLFApO3JldHVybiByRyhhLFEsUil9YlkoYSxPKTtyZXR1cm4gRkEoYSxHKEMpLEMpfWZ1bmN0aW9uXG5hTShiKXtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIF8oZnVuY3Rpb24oYSl7YlkoYixhKTtyZXR1cm4gMH0sMCxhWzFdKX19dmFyXG5PYj1cIkFycmF5LnN1YlwiLE9vPVwiZmlyc3QgZG9tYWluIGFscmVhZHkgc3Bhd25lZFwiLFJwPVswLFwiY2FtbGludGVybmFsT08ubWxcIixDWCw1MF0sUnE9WzAsSnYsNzIsNV0sUnI9WzAsSnYsODEsMl0sUnM9XCIvdG1wXCIsUnU9Y3YsUno9WzAsXCJzcmMvd3RmOC5tbFwiLDY1LDldLFJCPVswLFwic3JjL3RoaXJkLXBhcnR5L3NlZGxleC9mbG93X3NlZGxleGluZy5tbFwiLENrLDRdLFJBPVwiRmxvd19zZWRsZXhpbmcuTWFsRm9ybWVkXCIsUkQ9bEQsUkU9a28sUkY9ajcsUkc9bHosUkg9amwsUkk9WzAsWzEyLDQwLFsxOCxbMSxbMCxbMTEsZ1csMF0sZ1ddXSxbMTEsXCJGaWxlX2tleS5MaWJGaWxlXCIsWzE3LFswLGl6LDEsMF0sMF1dXV0sXCIoQFs8Mj5GaWxlX2tleS5MaWJGaWxlQCBcIl0sUko9WzAsWzMsMCwwXSxsVV0sUks9WzAsWzE3LDAsWzEyLDQxLDBdXSxuN10sUkw9WzAsWzEyLDQwLFsxOCxbMSxbMCxbMTEsZ1csMF0sZ1ddXSxbMTEsXCJGaWxlX2tleS5Tb3VyY2VGaWxlXCIsWzE3LFswLGl6LDEsMF0sMF1dXV0sXCIoQFs8Mj5GaWxlX2tleS5Tb3VyY2VGaWxlQCBcIl0sUk09WzAsWzMsMCwwXSxsVV0sUk49WzAsWzE3LDAsWzEyLDQxLDBdXSxuN10sUk89WzAsWzEyLDQwLFsxOCxbMSxbMCxbMTEsZ1csMF0sZ1ddXSxbMTEsXCJGaWxlX2tleS5Kc29uRmlsZVwiLFsxNyxbMCxpeiwxLDBdLDBdXV1dLFwiKEBbPDI+RmlsZV9rZXkuSnNvbkZpbGVAIFwiXSxSUD1bMCxbMywwLDBdLGxVXSxSUT1bMCxbMTcsMCxbMTIsNDEsMF1dLG43XSxSUj1bMCxbMTIsNDAsWzE4LFsxLFswLFsxMSxnVywwXSxnV11dLFsxMSxcIkZpbGVfa2V5LlJlc291cmNlRmlsZVwiLFsxNyxbMCxpeiwxLDBdLDBdXV1dLFwiKEBbPDI+RmlsZV9rZXkuUmVzb3VyY2VGaWxlQCBcIl0sUlM9WzAsWzMsMCwwXSxsVV0sUlQ9WzAsWzE3LDAsWzEyLDQxLDBdXSxuN10sUl89WzAsMV0sUjk9WzAsMF0sUjg9WzAsMV0sUjc9WzAsMl0sUjY9WzAsMl0sUjU9WzAsMF0sUjQ9WzAsMV0sUjM9WzAsMV0sUjI9WzAsMV0sUjE9WzAsMV0sUjA9WzAsMl0sUlo9WzAsMV0sUlk9WzAsMV0sUlg9WzAsMCwwXSxSVz1bMCwwLDBdLFJVPVswLGJuLGRoLGdTLGhoLGJrLGVtLGRULGM2LGd5LGVuLGZDLGdfLGR0LGhlLGhtLGRTLGZMLGZ0LGVWLGZLLGV2LGhsLGRXLGZxLGZVLGZXLGU4LGVkLGdlLGZwLGdPLGdMLGNVLGQ2LGYyLGJTLGU2LGdVLGZfLGZmLGZELGM4LGdxLGJRLGd2LGc4LGRKLGhyLGQxLGR6LGZYLGY3LGJPLGVHLGY4LGRjLGh1LGRkLGUwLGduLGJLLGRhLGdaLGRELGVYLGVSLGRtLGdRLGhwLGM5LGVTLGQ4LGZ6LGY5LGhBLGRiLGVMLGVXLGR3LGZoLGcwLGVPLGJFLGNZLGU3LGdFLGVJLGZkLGh5LGh3LGRVLGVpLGMxLGRYLGdhLGRyLGNfLGZ3LGVLLGRpLGdjLGdzLGc2LGRCLGZGLGZOLGZNLGVGLGU1LGR2LGZnLGRzLGNXLGVsLGd1LGRFLGc5LGV6LGhkLGU5LGZ1LGdoLGV0LGhqLGRuLGVlLGRmLGVwLGhnLGRILGhxLGQwLGM1LGZULGckLGRJLGNYLGVFLGUkLGVaLGRZLGQ3LGczLGdQLGVRLGVVLGdNLGVqLGdpLGRfLGd4LGhrLGVhLGVKLGZzLGUzLGVZLGRLLGMkLGRQLGZlLGRBLGZFLGV3LGZsLGRaLGZRLGc1LGYwLGRnLGJ1LGViLGQyLGM3LGVOLGdLLGdtLGZBLGdiLGJqLGV4LGRNLGdvLGNlLGR1LGZrLGdmLGVULGYkLGR5LGRGLGVDLGdULGRRLGdDLGQkLGRDLGZaLGVzLGVmLGZiLGZSLGZ2LGh4LGdrLGV5LGVELGRwLGNWLGdOLGh0LGRSLGdJLGZJLGRPLGZuLGQzLGUyLGFRLGdkLGNaLGV1LGNULGY2LGVfLGZCLGMyLGVrLGd3LGZtLGZjLGhvLGZpLGdILGdBLGM0LGhjLGVNLGhuLGJGLGRrLGZQLGhCLGZvLGQ5LGcyLGZqLGVBLGZ4LGZWLGdWLGZZLGdGLGdwLGJOLGJMLGZ5LGRqLGVILGd0LGQ0LGYzLGVQLGVoLGMzLGdnLGh6LGd6LGdYLGdHLGYxLGdSLGRMLGVyLGdZLGUxLGdELGZyLGY1LGc0LGcxLGVCLGZPLGdKLGc3LGZTLGVxLGh2LGR4LGhzLGRxLGZILGZhLGJSLGhmLGQ1LGNDLGY0LGROLGZKLGdsLGU0LGhiLGRHLGZHLGMwLGRsLGVjLGNFLGRlXSxSVj1bMCxkMSxkQSxkJCxkdSxlQyxmYSxlRixkaSxoayxmMCxkNSxmVSxodyxiUSxmZCxjWixoaixkZixnSixjVSxkcixkSyxkdixlYixkUCxjNCxobyxkaCxlTCxlVCxlRCxmOSxnUCxkOSxlaCxnZixnQSxjVyxjZSxoaCxnSSxjOSxmeCxkcSxkQyxocyxlMyxjMixkYSxkeSxkcCxncSxncyxkTSxkSixlOSxlTixoYyxnMyxkcyxnMSxnWSxjWSxkZSxlUixkbixnWCxobCxlSyxkRCxnaSxmcixkVSxiSyxnYSxnVCxlNyxlbCxlYSxlWSxmayxlJCxkaixlOCxmbSxocSxlcCxkXyxlWixnQyxkSSxocCxkbCxmaixlXyxnOSxodSxlTyxlYyxobixmSCxmNyxiayxnWixmWSxkUyxmOCxleCxoZCxmSixleSxmMixmbCxmTyxmRixjOCxiRixodCxmVyxibixkWSxkNixnVixkbSxnXyxmaCxnRixkZCxnbCxmQyxlcixmVixmTSxjNixkSCxjJCxkRyxmcCxnNSxmaSxmbixoeSxldSxkNyxkdyxmSSxmdCxnZSxnRyxlbSxnTyxkeixmTCxnOCxlbixmNSxkMixjVixlMSxlRSxkUSxmMSxneSxkTCxmdSxmTixlVSxjMyxlNCxleixlcSxlQixoeixkMCxlVyxnTSxneixkRSxiaixiTyxobSxlVixndixkYixiUyxiTixlNSxnbyxlSSxlMixmZSxiRSxoZixmYixnSCxjNyxnRCxnZCxmWixmRSxkRixoZSxmYyxnbixoeCxmQSxlZSxndyxmNixkNCxkQixmWCxnYyxnSyxjMSxkOCxlZCxmdyxlWCxkWCxmSyxnMixoZyxodixlQSxmNCxkWixmRCxlTSxnTCxmJCxlMCxnYixjXyxmUyxnNixmcyxnNCxnJCxkZyxkayxmcSxjRSxkVCxmUCxkeCxkVyxoQixlSixldyxlSCxlUSxmeixmZyxmUSxkTyxmVCxlaixldixmXyxoYixldCxmMyxoQSxmRyxkTixhUSxnMCxnUixkMyxnaCxmUixmdixocixiTCxlcyxnZyxnUSxmQixmbyxnVSxmZixjNSxnayxjVCxkdCxnTixjWCxnRSxjQyxnbSxnNyxneCxlaSxlZixncCxlRyxlayxiUixjMCxidSxmeSxnUyxlUCxkYyxkUixndCxlUyxlNixndV0sU289THcsU3A9TUgsU3E9SkUsU3I9SiQsU3M9dkYsU3Q9TCQsU3U9bFQsU3Y9SzksU3c9S04sU3g9S1EsU3k9TDgsU3o9aGksU0E9YlAsU0I9SlQsU0M9SkgsU0Q9YnYsU0U9TGosU0Y9TFksU0c9cFAsU0g9cWIsU0k9aUUsU0o9bE4sUiQ9TUQsU2E9SjUsU2I9SzEsU2M9S1osU2Q9SkQsU2U9TDQsU2Y9SjYsU2c9THAsU2g9SlMsU2k9TUUsU2o9SkYsU2s9TGgsU2w9TFEsU209SmgsU249TFIsU0s9WzAsWzE4LFsxLFswLFsxMSxnVywwXSxnV11dLFsxMSxcInsgXCIsMF1dLFwiQFs8Mj57IFwiXSxTTD1cIkxvYy5saW5lXCIsU009WzAsWzE4LFsxLFswLDAsQV1dLFsyLDAsWzExLExWLFsxNyxbMCxpeiwxLDBdLDBdXV1dLEpHXSxTTj1bMCxbNCwwLDAsMCwwXSxqM10sU089WzAsWzE3LDAsMF0sd0NdLFNQPVswLFsxMiw1OSxbMTcsWzAsaXosMSwwXSwwXV0sXCI7QCBcIl0sU1E9bG0sU1I9WzAsWzE4LFsxLFswLDAsQV1dLFsyLDAsWzExLExWLFsxNyxbMCxpeiwxLDBdLDBdXV1dLEpHXSxTUz1bMCxbNCwwLDAsMCwwXSxqM10sU1Q9WzAsWzE3LDAsMF0sd0NdLFNVPVswLFsxNyxbMCxpeiwxLDBdLFsxMixpRyxbMTcsMCwwXV1dLFwiQCB9QF1cIl0sU1Y9QSxTMD1cIk9iamVjdCBsaXRlcmFsIG1heSBub3QgaGF2ZSBkYXRhIGFuZCBhY2Nlc3NvciBwcm9wZXJ0eSB3aXRoIHRoZSBzYW1lIG5hbWVcIixTMT1cIk9iamVjdCBsaXRlcmFsIG1heSBub3QgaGF2ZSBtdWx0aXBsZSBnZXQvc2V0IGFjY2Vzc29ycyB3aXRoIHRoZSBzYW1lIG5hbWVcIixTMj1cIlVuZXhwZWN0ZWQgdG9rZW4gPC4gUmVtZW1iZXIsIGFkamFjZW50IEpTWCBlbGVtZW50cyBtdXN0IGJlIHdyYXBwZWQgaW4gYW4gZW5jbG9zaW5nIHBhcmVudCB0YWdcIixTMz1cImBsZXQgW2AgaXMgYW1iaWd1b3VzIGluIHRoaXMgcG9zaXRpb24gYmVjYXVzZSBpdCBpcyBlaXRoZXIgYSBgbGV0YCBiaW5kaW5nIHBhdHRlcm4sIG9yIGEgbWVtYmVyIGV4cHJlc3Npb24uXCIsUzQ9XCJBc3luYyBmdW5jdGlvbnMgY2FuIG9ubHkgYmUgZGVjbGFyZWQgYXQgdG9wIGxldmVsIG9yIGltbWVkaWF0ZWx5IHdpdGhpbiBhbm90aGVyIGZ1bmN0aW9uLlwiLFM1PVwiYGF3YWl0YCBpcyBhbiBpbnZhbGlkIGlkZW50aWZpZXIgaW4gYXN5bmMgZnVuY3Rpb25zXCIsUzY9XCJgYXdhaXRgIGlzIG5vdCBhbGxvd2VkIGluIGFzeW5jIGZ1bmN0aW9uIHBhcmFtZXRlcnMuXCIsUzc9XCJDb21wdXRlZCBwcm9wZXJ0aWVzIG11c3QgaGF2ZSBhIHZhbHVlLlwiLFM4PVwiQ29uc3RydWN0b3IgY2FuJ3QgYmUgYW4gYWNjZXNzb3IuXCIsUzk9XCJDb25zdHJ1Y3RvciBjYW4ndCBiZSBhbiBhc3luYyBmdW5jdGlvbi5cIixTXz1cIkNvbnN0cnVjdG9yIGNhbid0IGJlIGEgZ2VuZXJhdG9yLlwiLFMkPVwiSXQgaXMgc3VmZmljaWVudCBmb3IgeW91ciBkZWNsYXJlIGZ1bmN0aW9uIHRvIGp1c3QgaGF2ZSBhIFByb21pc2UgcmV0dXJuIHR5cGUuXCIsVGE9XCJhc3luYyBpcyBhbiBpbXBsZW1lbnRhdGlvbiBkZXRhaWwgYW5kIGlzbid0IG5lY2Vzc2FyeSBmb3IgeW91ciBkZWNsYXJlIGZ1bmN0aW9uIHN0YXRlbWVudC4gXCIsVGI9XCJgZGVjbGFyZWAgbW9kaWZpZXIgY2FuIG9ubHkgYXBwZWFyIG9uIGNsYXNzIGZpZWxkcy5cIixUYz1cIlVuZXhwZWN0ZWQgdG9rZW4gYD1gLiBJbml0aWFsaXplcnMgYXJlIG5vdCBhbGxvd2VkIGluIGEgYGRlY2xhcmVgLlwiLFRkPVwiVW5leHBlY3RlZCB0b2tlbiBgPWAuIEluaXRpYWxpemVycyBhcmUgbm90IGFsbG93ZWQgaW4gYSBgZGVjbGFyZSBvcGFxdWUgdHlwZWAuXCIsVGU9XCJDbGFzc2VzIG1heSBvbmx5IGhhdmUgb25lIGNvbnN0cnVjdG9yXCIsVGY9XCJSZXN0IGVsZW1lbnQgbXVzdCBiZSBmaW5hbCBlbGVtZW50IG9mIGFuIGFycmF5IHBhdHRlcm5cIixUZz1cIkNhbm5vdCBleHBvcnQgYW4gZW51bSB3aXRoIGBleHBvcnQgdHlwZWAsIHRyeSBgZXhwb3J0IGVudW0gRSB7fWAgb3IgYG1vZHVsZS5leHBvcnRzID0gRTtgIGluc3RlYWQuXCIsVGg9XCJFbnVtIG1lbWJlcnMgYXJlIHNlcGFyYXRlZCB3aXRoIGAsYC4gUmVwbGFjZSBgO2Agd2l0aCBgLGAuXCIsVGk9XCJgY29uc3RgIGVudW1zIGFyZSBub3Qgc3VwcG9ydGVkLiBGbG93IEVudW1zIGFyZSBkZXNpZ25lZCB0byBhbGxvdyBmb3IgaW5saW5pbmcsIGhvd2V2ZXIgdGhlIGlubGluaW5nIGl0c2VsZiBuZWVkcyB0byBiZSBwYXJ0IG9mIHRoZSBidWlsZCBzeXN0ZW0gKHdoYXRldmVyIHlvdSB1c2UpIHJhdGhlciB0aGFuIEZsb3cgaXRzZWxmLlwiLFRqPVwiRXhwZWN0ZWQgYW4gb2JqZWN0IHBhdHRlcm4sIGFycmF5IHBhdHRlcm4sIG9yIGFuIGlkZW50aWZpZXIgYnV0IGZvdW5kIGFuIGV4cHJlc3Npb24gaW5zdGVhZFwiLFRrPVwiTWlzc2luZyBjb21tYSBiZXR3ZWVuIGV4cG9ydCBzcGVjaWZpZXJzXCIsVGw9XCJHZW5lcmF0b3JzIGNhbiBvbmx5IGJlIGRlY2xhcmVkIGF0IHRvcCBsZXZlbCBvciBpbW1lZGlhdGVseSB3aXRoaW4gYW5vdGhlciBmdW5jdGlvbi5cIixUbT1cIkdldHRlciBzaG91bGQgaGF2ZSB6ZXJvIHBhcmFtZXRlcnNcIixUbj1cIkEgZ2V0dGVyIGNhbm5vdCBoYXZlIGEgYHRoaXNgIHBhcmFtZXRlci5cIixUbz1cIklsbGVnYWwgYnJlYWsgc3RhdGVtZW50XCIsVHA9XCJJbGxlZ2FsIGNvbnRpbnVlIHN0YXRlbWVudFwiLFRxPVwiSWxsZWdhbCByZXR1cm4gc3RhdGVtZW50XCIsVHI9XCJJbGxlZ2FsIFVuaWNvZGUgZXNjYXBlXCIsVHM9XCJNaXNzaW5nIGNvbW1hIGJldHdlZW4gaW1wb3J0IHNwZWNpZmllcnNcIixUdD1cIkl0IGNhbm5vdCBiZSB1c2VkIHdpdGggYGltcG9ydCB0eXBlYCBvciBgaW1wb3J0IHR5cGVvZmAgc3RhdGVtZW50c1wiLFR1PVwiVGhlIGB0eXBlYCBhbmQgYHR5cGVvZmAga2V5d29yZHMgb24gbmFtZWQgaW1wb3J0cyBjYW4gb25seSBiZSB1c2VkIG9uIHJlZ3VsYXIgYGltcG9ydGAgc3RhdGVtZW50cy4gXCIsVHY9XCJFeHBsaWNpdCBpbmV4YWN0IHN5bnRheCBjYW5ub3QgYXBwZWFyIGluc2lkZSBhbiBleHBsaWNpdCBleGFjdCBvYmplY3QgdHlwZVwiLFR3PVwiRXhwbGljaXQgaW5leGFjdCBzeW50YXggY2FuIG9ubHkgYXBwZWFyIGluc2lkZSBhbiBvYmplY3QgdHlwZVwiLFR4PVwiQ29tcG9uZW50IHBhcmFtcyBtdXN0IGJlIGFuIGlkZW50aWZpZXIuIElmIHlvdSdkIGxpa2UgdG8gZGVzdHJ1Y3R1cmUsIHlvdSBzaG91bGQgdXNlIGBuYW1lIGFzIHtkZXN0cnVjdHVyZX1gXCIsVHk9XCJBIGJpZ2ludCBsaXRlcmFsIG11c3QgYmUgYW4gaW50ZWdlclwiLFR6PVwiSlNYIHZhbHVlIHNob3VsZCBiZSBlaXRoZXIgYW4gZXhwcmVzc2lvbiBvciBhIHF1b3RlZCBKU1ggdGV4dFwiLFRBPVwiSW52YWxpZCBsZWZ0LWhhbmQgc2lkZSBpbiBhc3NpZ25tZW50XCIsVEI9XCJJbnZhbGlkIGxlZnQtaGFuZCBzaWRlIGluIGV4cG9uZW50aWF0aW9uIGV4cHJlc3Npb25cIixUQz1cIkludmFsaWQgbGVmdC1oYW5kIHNpZGUgaW4gZm9yLWluXCIsVEQ9XCJJbnZhbGlkIGxlZnQtaGFuZCBzaWRlIGluIGZvci1vZlwiLFRFPVwiSW52YWxpZCBvcHRpb25hbCBpbmRleGVkIGFjY2Vzcy4gSW5kZXhlZCBhY2Nlc3MgdXNlcyBicmFja2V0IG5vdGF0aW9uLiBVc2UgdGhlIGZvcm1hdCBgVD8uW0tdYC5cIixURj1cIkludmFsaWQgcmVndWxhciBleHByZXNzaW9uXCIsVEc9XCJBIGJpZ2ludCBsaXRlcmFsIGNhbm5vdCB1c2UgZXhwb25lbnRpYWwgbm90YXRpb25cIixUSD1cIlR1cGxlIHNwcmVhZCBlbGVtZW50cyBjYW5ub3QgYmUgb3B0aW9uYWwuXCIsVEk9XCJUdXBsZSB2YXJpYW5jZSBhbm5vdGF0aW9ucyBjYW4gb25seSBiZSB1c2VkIHdpdGggbGFiZWxlZCB0dXBsZSBlbGVtZW50cywgZS5nLiBgWytmb286IG51bWJlcl1gXCIsVEo9XCJgdHlwZW9mYCBjYW4gb25seSBiZSB1c2VkIHRvIGdldCB0aGUgdHlwZSBvZiB2YXJpYWJsZXMuXCIsVEs9XCJKU1ggYXR0cmlidXRlcyBtdXN0IG9ubHkgYmUgYXNzaWduZWQgYSBub24tZW1wdHkgZXhwcmVzc2lvblwiLFRMPVwiTGl0ZXJhbHMgY2Fubm90IGJlIHVzZWQgYXMgc2hvcnRoYW5kIHByb3BlcnRpZXMuXCIsVE09XCJNYWxmb3JtZWQgdW5pY29kZVwiLFROPVwiYG1hdGNoYCBhcmd1bWVudCBtdXN0IG5vdCBiZSBlbXB0eVwiLFRPPVwiYG1hdGNoYCBhcmd1bWVudCBjYW5ub3QgY29udGFpbiBzcHJlYWQgZWxlbWVudHNcIixUUD1cIk9iamVjdCBwYXR0ZXJuIGNhbid0IGNvbnRhaW4gbWV0aG9kc1wiLFRRPVwiRXhwZWN0ZWQgYXQgbGVhc3Qgb25lIHR5cGUgcGFyYW1ldGVyLlwiLFRSPVwiVHlwZSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24gbmVlZHMgYSBkZWZhdWx0LCBzaW5jZSBhIHByZWNlZGluZyB0eXBlIHBhcmFtZXRlciBkZWNsYXJhdGlvbiBoYXMgYSBkZWZhdWx0LlwiLFRTPVwiTW9yZSB0aGFuIG9uZSBkZWZhdWx0IGNsYXVzZSBpbiBzd2l0Y2ggc3RhdGVtZW50XCIsVFQ9XCJJbGxlZ2FsIG5ld2xpbmUgYWZ0ZXIgdGhyb3dcIixUVT1cIklsbGVnYWwgbmV3bGluZSBiZWZvcmUgYXJyb3dcIixUVj1cIk1pc3NpbmcgY2F0Y2ggb3IgZmluYWxseSBhZnRlciB0cnlcIixUVz1cIkNvbnN0IG11c3QgYmUgaW5pdGlhbGl6ZWRcIixUWD1cIkRlc3RydWN0dXJpbmcgYXNzaWdubWVudCBtdXN0IGJlIGluaXRpYWxpemVkXCIsVFk9XCJBbiBvcHRpb25hbCBjaGFpbiBtYXkgbm90IGJlIHVzZWQgaW4gYSBgbmV3YCBleHByZXNzaW9uLlwiLFRaPVwiVGVtcGxhdGUgbGl0ZXJhbHMgbWF5IG5vdCBiZSB1c2VkIGluIGFuIG9wdGlvbmFsIGNoYWluLlwiLFQwPVwiUmVzdCBwYXJhbWV0ZXIgbXVzdCBiZSBmaW5hbCBwYXJhbWV0ZXIgb2YgYW4gYXJndW1lbnQgbGlzdFwiLFQxPVwiUHJpdmF0ZSBmaWVsZHMgbWF5IG5vdCBiZSBkZWxldGVkLlwiLFQyPVwiUHJpdmF0ZSBmaWVsZHMgY2FuIG9ubHkgYmUgcmVmZXJlbmNlZCBmcm9tIHdpdGhpbiBhIGNsYXNzLlwiLFQzPVwiUmVzdCBwcm9wZXJ0eSBtdXN0IGJlIGZpbmFsIHByb3BlcnR5IG9mIGFuIG9iamVjdCBwYXR0ZXJuXCIsVDQ9XCJTZXR0ZXIgc2hvdWxkIGhhdmUgZXhhY3RseSBvbmUgcGFyYW1ldGVyXCIsVDU9XCJBIHNldHRlciBjYW5ub3QgaGF2ZSBhIGB0aGlzYCBwYXJhbWV0ZXIuXCIsVDY9XCJDYXRjaCB2YXJpYWJsZSBtYXkgbm90IGJlIGV2YWwgb3IgYXJndW1lbnRzIGluIHN0cmljdCBtb2RlXCIsVDc9XCJEZWxldGUgb2YgYW4gdW5xdWFsaWZpZWQgaWRlbnRpZmllciBpbiBzdHJpY3QgbW9kZS5cIixUOD1cIkR1cGxpY2F0ZSBkYXRhIHByb3BlcnR5IGluIG9iamVjdCBsaXRlcmFsIG5vdCBhbGxvd2VkIGluIHN0cmljdCBtb2RlXCIsVDk9XCJGdW5jdGlvbiBuYW1lIG1heSBub3QgYmUgZXZhbCBvciBhcmd1bWVudHMgaW4gc3RyaWN0IG1vZGVcIixUXz1cIkFzc2lnbm1lbnQgdG8gZXZhbCBvciBhcmd1bWVudHMgaXMgbm90IGFsbG93ZWQgaW4gc3RyaWN0IG1vZGVcIixUJD1cIlBvc3RmaXggaW5jcmVtZW50L2RlY3JlbWVudCBtYXkgbm90IGhhdmUgZXZhbCBvciBhcmd1bWVudHMgb3BlcmFuZCBpbiBzdHJpY3QgbW9kZVwiLFVhPVwiUHJlZml4IGluY3JlbWVudC9kZWNyZW1lbnQgbWF5IG5vdCBoYXZlIGV2YWwgb3IgYXJndW1lbnRzIG9wZXJhbmQgaW4gc3RyaWN0IG1vZGVcIixVYj1cIlN0cmljdCBtb2RlIGNvZGUgbWF5IG5vdCBpbmNsdWRlIGEgd2l0aCBzdGF0ZW1lbnRcIixVYz1cIk51bWJlciBsaXRlcmFscyB3aXRoIGxlYWRpbmcgemVyb3MgYXJlIG5vdCBhbGxvd2VkIGluIHN0cmljdCBtb2RlLlwiLFVkPVwiT2N0YWwgbGl0ZXJhbHMgYXJlIG5vdCBhbGxvd2VkIGluIHN0cmljdCBtb2RlLlwiLFVlPVwiU3RyaWN0IG1vZGUgZnVuY3Rpb24gbWF5IG5vdCBoYXZlIGR1cGxpY2F0ZSBwYXJhbWV0ZXIgbmFtZXNcIixVZj1cIlBhcmFtZXRlciBuYW1lIGV2YWwgb3IgYXJndW1lbnRzIGlzIG5vdCBhbGxvd2VkIGluIHN0cmljdCBtb2RlXCIsVWc9J0lsbGVnYWwgXCJ1c2Ugc3RyaWN0XCIgZGlyZWN0aXZlIGluIGZ1bmN0aW9uIHdpdGggbm9uLXNpbXBsZSBwYXJhbWV0ZXIgbGlzdCcsVWg9XCJVc2Ugb2YgcmVzZXJ2ZWQgd29yZCBpbiBzdHJpY3QgbW9kZVwiLFVpPVwiVmFyaWFibGUgbmFtZSBtYXkgbm90IGJlIGV2YWwgb3IgYXJndW1lbnRzIGluIHN0cmljdCBtb2RlXCIsVWo9XCJZb3UgbWF5IG5vdCBhY2Nlc3MgYSBwcml2YXRlIGZpZWxkIHRocm91Z2ggdGhlIGBzdXBlcmAga2V5d29yZC5cIixVaz1cIkZsb3cgZG9lcyBub3Qgc3VwcG9ydCBhYnN0cmFjdCBjbGFzc2VzLlwiLFVsPVwiRmxvdyBkb2VzIG5vdCBzdXBwb3J0IHRlbXBsYXRlIGxpdGVyYWwgdHlwZXMuXCIsVW09XCJBIHR5cGUgYW5ub3RhdGlvbiBpcyByZXF1aXJlZCBmb3IgdGhlIGB0aGlzYCBwYXJhbWV0ZXIuXCIsVW49XCJBcnJvdyBmdW5jdGlvbnMgY2Fubm90IGhhdmUgYSBgdGhpc2AgcGFyYW1ldGVyOyBhcnJvdyBmdW5jdGlvbnMgYXV0b21hdGljYWxseSBiaW5kIGB0aGlzYCB3aGVuIGRlY2xhcmVkLlwiLFVvPVwiQ29uc3RydWN0b3JzIGNhbm5vdCBoYXZlIGEgYHRoaXNgIHBhcmFtZXRlcjsgY29uc3RydWN0b3JzIGRvbid0IGJpbmQgYHRoaXNgIGxpa2Ugb3RoZXIgZnVuY3Rpb25zLlwiLFVwPVwiVGhlIGB0aGlzYCBwYXJhbWV0ZXIgY2Fubm90IGJlIG9wdGlvbmFsLlwiLFVxPVwiVGhlIGB0aGlzYCBwYXJhbWV0ZXIgbXVzdCBiZSB0aGUgZmlyc3QgZnVuY3Rpb24gcGFyYW1ldGVyLlwiLFVyPVwiQSB0cmFpbGluZyBjb21tYSBpcyBub3QgcGVybWl0dGVkIGFmdGVyIHRoZSByZXN0IGVsZW1lbnRcIixVcz1cIlVuZXhwZWN0ZWQgZW5kIG9mIGlucHV0XCIsVXQ9XCJFeHBsaWNpdCBpbmV4YWN0IHN5bnRheCBtdXN0IGNvbWUgYXQgdGhlIGVuZCBvZiBhbiBvYmplY3QgdHlwZVwiLFV1PVwiT3BhcXVlIHR5cGUgYWxpYXNlcyBhcmUgbm90IGFsbG93ZWQgaW4gdW50eXBlZCBtb2RlXCIsVXY9XCJVbmV4cGVjdGVkIHByb3RvIG1vZGlmaWVyXCIsVXc9XCJVbmV4cGVjdGVkIHJlc2VydmVkIHdvcmRcIixVeD1cIlVuZXhwZWN0ZWQgcmVzZXJ2ZWQgdHlwZVwiLFV5PVwiU3ByZWFkaW5nIGEgdHlwZSBpcyBvbmx5IGFsbG93ZWQgaW5zaWRlIGFuIG9iamVjdCB0eXBlXCIsVXo9XCJVbmV4cGVjdGVkIHN0YXRpYyBtb2RpZmllclwiLFVBPVwiVW5leHBlY3RlZCBgc3VwZXJgIG91dHNpZGUgb2YgYSBjbGFzcyBtZXRob2RcIixVQj1cImBzdXBlcigpYCBpcyBvbmx5IHZhbGlkIGluIGEgY2xhc3MgY29uc3RydWN0b3JcIixVQz1cIlR5cGUgYWxpYXNlcyBhcmUgbm90IGFsbG93ZWQgaW4gdW50eXBlZCBtb2RlXCIsVUQ9XCJUeXBlIGFubm90YXRpb25zIGFyZSBub3QgYWxsb3dlZCBpbiB1bnR5cGVkIG1vZGVcIixVRT1cIlR5cGUgZGVjbGFyYXRpb25zIGFyZSBub3QgYWxsb3dlZCBpbiB1bnR5cGVkIG1vZGVcIixVRj1cIlR5cGUgZXhwb3J0cyBhcmUgbm90IGFsbG93ZWQgaW4gdW50eXBlZCBtb2RlXCIsVUc9XCJUeXBlIGltcG9ydHMgYXJlIG5vdCBhbGxvd2VkIGluIHVudHlwZWQgbW9kZVwiLFVIPVwiSW50ZXJmYWNlcyBhcmUgbm90IGFsbG93ZWQgaW4gdW50eXBlZCBtb2RlXCIsVUk9XCJVbmV4cGVjdGVkIHZhcmlhbmNlIHNpZ2lsXCIsVUo9XCJGb3VuZCBhIGRlY29yYXRvciBpbiBhbiB1bnN1cHBvcnRlZCBwb3NpdGlvbi5cIixVSz1cIkludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiBtaXNzaW5nIC9cIixVTD1cIlVuZXhwZWN0ZWQgd2hpdGVzcGFjZSBiZXR3ZWVuIGAjYCBhbmQgaWRlbnRpZmllclwiLFVNPVwiYHlpZWxkYCBpcyBhbiBpbnZhbGlkIGlkZW50aWZpZXIgaW4gZ2VuZXJhdG9yc1wiLFVOPVwiWWllbGQgZXhwcmVzc2lvbiBub3QgYWxsb3dlZCBpbiBmb3JtYWwgcGFyYW1ldGVyXCIsVU89WzAsWzExLFwiRHVwbGljYXRlIGV4cG9ydCBmb3IgYFwiLFsyLDAsWzEyLDk2LDBdXV0sXCJEdXBsaWNhdGUgZXhwb3J0IGZvciBgJXNgXCJdLFVQPVswLFsxMSxcIlByaXZhdGUgZmllbGRzIG1heSBvbmx5IGJlIGRlY2xhcmVkIG9uY2UuIGAjXCIsWzIsMCxbMTEsXCJgIGlzIGRlY2xhcmVkIG1vcmUgdGhhbiBvbmNlLlwiLDBdXV0sXCJQcml2YXRlIGZpZWxkcyBtYXkgb25seSBiZSBkZWNsYXJlZCBvbmNlLiBgIyVzYCBpcyBkZWNsYXJlZCBtb3JlIHRoYW4gb25jZS5cIl0sVVE9WzAsWzExLFwiYmlnaW50IGVudW0gbWVtYmVycyBuZWVkIHRvIGJlIGluaXRpYWxpemVkLCBlLmcuIGBcIixbMiwwLFsxMSxcIiA9IDFuLGAgaW4gZW51bSBgXCIsWzIsMCxbMTEsaDQsMF1dXV1dLFwiYmlnaW50IGVudW0gbWVtYmVycyBuZWVkIHRvIGJlIGluaXRpYWxpemVkLCBlLmcuIGAlcyA9IDFuLGAgaW4gZW51bSBgJXNgLlwiXSxVUj1bMCxbMTEsXCJCb29sZWFuIGVudW0gbWVtYmVycyBuZWVkIHRvIGJlIGluaXRpYWxpemVkLiBVc2UgZWl0aGVyIGBcIixbMiwwLFsxMSxcIiA9IHRydWUsYCBvciBgXCIsWzIsMCxbMTEsXCIgPSBmYWxzZSxgIGluIGVudW0gYFwiLFsyLDAsWzExLGg0LDBdXV1dXV1dLFwiQm9vbGVhbiBlbnVtIG1lbWJlcnMgbmVlZCB0byBiZSBpbml0aWFsaXplZC4gVXNlIGVpdGhlciBgJXMgPSB0cnVlLGAgb3IgYCVzID0gZmFsc2UsYCBpbiBlbnVtIGAlc2AuXCJdLFVTPVswLFsxMSxcIkVudW0gbWVtYmVyIG5hbWVzIG5lZWQgdG8gYmUgdW5pcXVlLCBidXQgdGhlIG5hbWUgYFwiLFsyLDAsWzExLFwiYCBoYXMgYWxyZWFkeSBiZWVuIHVzZWQgYmVmb3JlIGluIGVudW0gYFwiLFsyLDAsWzExLGg0LDBdXV1dXSxcIkVudW0gbWVtYmVyIG5hbWVzIG5lZWQgdG8gYmUgdW5pcXVlLCBidXQgdGhlIG5hbWUgYCVzYCBoYXMgYWxyZWFkeSBiZWVuIHVzZWQgYmVmb3JlIGluIGVudW0gYCVzYC5cIl0sVVQ9WzAsWzExLExULFsyLDAsWzExLFwiYCBoYXMgaW5jb25zaXN0ZW50IG1lbWJlciBpbml0aWFsaXplcnMuIEVpdGhlciB1c2Ugbm8gaW5pdGlhbGl6ZXJzLCBvciBjb25zaXN0ZW50bHkgdXNlIGxpdGVyYWxzIChlaXRoZXIgYm9vbGVhbnMsIG51bWJlcnMsIG9yIHN0cmluZ3MpIGZvciBhbGwgbWVtYmVyIGluaXRpYWxpemVycy5cIiwwXV1dLFwiRW51bSBgJXNgIGhhcyBpbmNvbnNpc3RlbnQgbWVtYmVyIGluaXRpYWxpemVycy4gRWl0aGVyIHVzZSBubyBpbml0aWFsaXplcnMsIG9yIGNvbnNpc3RlbnRseSB1c2UgbGl0ZXJhbHMgKGVpdGhlciBib29sZWFucywgbnVtYmVycywgb3Igc3RyaW5ncykgZm9yIGFsbCBtZW1iZXIgaW5pdGlhbGl6ZXJzLlwiXSxVVT1cIlRoZSBgLi4uYCBtdXN0IGNvbWUgYXQgdGhlIGVuZCBvZiB0aGUgZW51bSBib2R5LiBSZW1vdmUgdGhlIHRyYWlsaW5nIGNvbW1hLlwiLFVWPVwiVGhlIGAuLi5gIG11c3QgY29tZSBhZnRlciBhbGwgZW51bSBtZW1iZXJzLiBNb3ZlIGl0IHRvIHRoZSBlbmQgb2YgdGhlIGVudW0gYm9keS5cIixVVz1bMCxbMTEsXCJVc2Ugb25lIG9mIGBib29sZWFuYCwgYG51bWJlcmAsIGBzdHJpbmdgLCBgc3ltYm9sYCwgb3IgYGJpZ2ludGAgaW4gZW51bSBgXCIsWzIsMCxbMTEsaDQsMF1dXSxcIlVzZSBvbmUgb2YgYGJvb2xlYW5gLCBgbnVtYmVyYCwgYHN0cmluZ2AsIGBzeW1ib2xgLCBvciBgYmlnaW50YCBpbiBlbnVtIGAlc2AuXCJdLFVYPVswLFsxMSxcIkVudW0gdHlwZSBgXCIsWzIsMCxbMTEsXCJgIGlzIG5vdCB2YWxpZC4gXCIsWzIsMCwwXV1dXSxcIkVudW0gdHlwZSBgJXNgIGlzIG5vdCB2YWxpZC4gJXNcIl0sVVk9WzAsWzExLFwiU3VwcGxpZWQgZW51bSB0eXBlIGlzIG5vdCB2YWxpZC4gXCIsWzIsMCwwXV0sXCJTdXBwbGllZCBlbnVtIHR5cGUgaXMgbm90IHZhbGlkLiAlc1wiXSxVWj1bMCxbMTEsXCJFbnVtIG1lbWJlciBuYW1lcyBhbmQgaW5pdGlhbGl6ZXJzIGFyZSBzZXBhcmF0ZWQgd2l0aCBgPWAuIFJlcGxhY2UgYFwiLFsyLDAsWzExLFwiOmAgd2l0aCBgXCIsWzIsMCxbMTEsXCIgPWAuXCIsMF1dXV1dLFwiRW51bSBtZW1iZXIgbmFtZXMgYW5kIGluaXRpYWxpemVycyBhcmUgc2VwYXJhdGVkIHdpdGggYD1gLiBSZXBsYWNlIGAlczpgIHdpdGggYCVzID1gLlwiXSxVMT1bMCxbMTEsTFQsWzIsMCxbMTEsXCJgIGhhcyB0eXBlIGBcIixbMiwwLFsxMSxcImAsIHNvIHRoZSBpbml0aWFsaXplciBvZiBgXCIsWzIsMCxbMTEsXCJgIG5lZWRzIHRvIGJlIGEgXCIsWzIsMCxbMTEsXCIgbGl0ZXJhbC5cIiwwXV1dXV1dXV1dLFwiRW51bSBgJXNgIGhhcyB0eXBlIGAlc2AsIHNvIHRoZSBpbml0aWFsaXplciBvZiBgJXNgIG5lZWRzIHRvIGJlIGEgJXMgbGl0ZXJhbC5cIl0sVTA9WzAsWzExLFwiU3ltYm9sIGVudW0gbWVtYmVycyBjYW5ub3QgYmUgaW5pdGlhbGl6ZWQuIFVzZSBgXCIsWzIsMCxbMTEsXCIsYCBpbiBlbnVtIGBcIixbMiwwLFsxMSxoNCwwXV1dXV0sXCJTeW1ib2wgZW51bSBtZW1iZXJzIGNhbm5vdCBiZSBpbml0aWFsaXplZC4gVXNlIGAlcyxgIGluIGVudW0gYCVzYC5cIl0sVTI9WzAsWzExLFwiVGhlIGVudW0gbWVtYmVyIGluaXRpYWxpemVyIGZvciBgXCIsWzIsMCxbMTEsXCJgIG5lZWRzIHRvIGJlIGEgbGl0ZXJhbCAoZWl0aGVyIGEgYm9vbGVhbiwgbnVtYmVyLCBvciBzdHJpbmcpIGluIGVudW0gYFwiLFsyLDAsWzExLGg0LDBdXV1dXSxcIlRoZSBlbnVtIG1lbWJlciBpbml0aWFsaXplciBmb3IgYCVzYCBuZWVkcyB0byBiZSBhIGxpdGVyYWwgKGVpdGhlciBhIGJvb2xlYW4sIG51bWJlciwgb3Igc3RyaW5nKSBpbiBlbnVtIGAlc2AuXCJdLFUzPVswLFsxMSxcIkVudW0gbWVtYmVyIG5hbWVzIGNhbm5vdCBzdGFydCB3aXRoIGxvd2VyY2FzZSAnYScgdGhyb3VnaCAneicuIEluc3RlYWQgb2YgdXNpbmcgYFwiLFsyLDAsWzExLFwiYCwgY29uc2lkZXIgdXNpbmcgYFwiLFsyLDAsWzExLFwiYCwgaW4gZW51bSBgXCIsWzIsMCxbMTEsaDQsMF1dXV1dXV0sXCJFbnVtIG1lbWJlciBuYW1lcyBjYW5ub3Qgc3RhcnQgd2l0aCBsb3dlcmNhc2UgJ2EnIHRocm91Z2ggJ3onLiBJbnN0ZWFkIG9mIHVzaW5nIGAlc2AsIGNvbnNpZGVyIHVzaW5nIGAlc2AsIGluIGVudW0gYCVzYC5cIl0sVTQ9WzAsWzExLFwiTnVtYmVyIGVudW0gbWVtYmVycyBuZWVkIHRvIGJlIGluaXRpYWxpemVkLCBlLmcuIGBcIixbMiwwLFsxMSxcIiA9IDEsYCBpbiBlbnVtIGBcIixbMiwwLFsxMSxoNCwwXV1dXV0sXCJOdW1iZXIgZW51bSBtZW1iZXJzIG5lZWQgdG8gYmUgaW5pdGlhbGl6ZWQsIGUuZy4gYCVzID0gMSxgIGluIGVudW0gYCVzYC5cIl0sVTU9WzAsWzExLFwiU3RyaW5nIGVudW0gbWVtYmVycyBuZWVkIHRvIGNvbnNpc3RlbnRseSBlaXRoZXIgYWxsIHVzZSBpbml0aWFsaXplcnMsIG9yIHVzZSBubyBpbml0aWFsaXplcnMsIGluIGVudW0gXCIsWzIsMCxbMTIsNDYsMF1dXSxcIlN0cmluZyBlbnVtIG1lbWJlcnMgbmVlZCB0byBjb25zaXN0ZW50bHkgZWl0aGVyIGFsbCB1c2UgaW5pdGlhbGl6ZXJzLCBvciB1c2Ugbm8gaW5pdGlhbGl6ZXJzLCBpbiBlbnVtICVzLlwiXSxVNj1bMCxbMTEsXCJFeHBlY3RlZCBjb3JyZXNwb25kaW5nIEpTWCBjbG9zaW5nIHRhZyBmb3IgXCIsWzIsMCwwXV0sXCJFeHBlY3RlZCBjb3JyZXNwb25kaW5nIEpTWCBjbG9zaW5nIHRhZyBmb3IgJXNcIl0sVTc9XCJpbW1lZGlhdGVseSB3aXRoaW4gYW5vdGhlciBmdW5jdGlvbi5cIixVOD1cIkluIHN0cmljdCBtb2RlIGNvZGUsIGZ1bmN0aW9ucyBjYW4gb25seSBiZSBkZWNsYXJlZCBhdCB0b3AgbGV2ZWwgb3IgXCIsVTk9XCJpbnNpZGUgYSBibG9jaywgb3IgYXMgdGhlIGJvZHkgb2YgYW4gaWYgc3RhdGVtZW50LlwiLFVfPVwiSW4gbm9uLXN0cmljdCBtb2RlIGNvZGUsIGZ1bmN0aW9ucyBjYW4gb25seSBiZSBkZWNsYXJlZCBhdCB0b3AgbGV2ZWwsIFwiLFUkPVwic3RhdGljIFwiLFZlPUEsVmE9XCJtZXRob2RzXCIsVmQ9XCJmaWVsZHNcIixWYj1KeSxWYz1bMCxbMTEsXCJDbGFzc2VzIG1heSBub3QgaGF2ZSBcIixbMiwwLFsyLDAsWzExLFwiIG5hbWVkIGBcIixbMiwwLFsxMSxoNCwwXV1dXV1dLFwiQ2xhc3NlcyBtYXkgbm90IGhhdmUgJXMlcyBuYW1lZCBgJXNgLlwiXSxWZj1cIkNvbXBvbmVudHMgdXNlIGByZW5kZXJzYCBpbnN0ZWFkIG9mIGA6YCB0byBhbm5vdGF0ZSB0aGUgcmVuZGVyIHR5cGUgb2YgYSBjb21wb25lbnQuXCIsVmc9TEcsVmk9QSxWaD1bMCxbMTEsXCJTdHJpbmcgcGFyYW1zIHJlcXVpcmUgbG9jYWwgYmluZGluZ3MgdXNpbmcgYGFzYCByZW5hbWluZy4gWW91IGNhbiB1c2UgYCdcIixbMiwwLFsxMSxcIicgYXMgXCIsWzIsMCxbMiwwLFsxMSxcIjogPFRZUEU+YCBcIiwwXV1dXV1dLFwiU3RyaW5nIHBhcmFtcyByZXF1aXJlIGxvY2FsIGJpbmRpbmdzIHVzaW5nIGBhc2AgcmVuYW1pbmcuIFlvdSBjYW4gdXNlIGAnJXMnIGFzICVzJXM6IDxUWVBFPmAgXCJdLFZqPVwiUmVtb3ZlIHRoZSBwZXJpb2QuXCIsVmw9XCJJbmRleGVkIGFjY2VzcyB1c2VzIGJyYWNrZXQgbm90YXRpb24uXCIsVms9WzAsWzExLFwiSW52YWxpZCBpbmRleGVkIGFjY2Vzcy4gXCIsWzIsMCxbMTEsXCIgVXNlIHRoZSBmb3JtYXQgYFRbS11gLlwiLDBdXV0sXCJJbnZhbGlkIGluZGV4ZWQgYWNjZXNzLiAlcyBVc2UgdGhlIGZvcm1hdCBgVFtLXWAuXCJdLFZtPVswLFsxMSxcIkludmFsaWQgZmxhZ3Mgc3VwcGxpZWQgdG8gUmVnRXhwIGNvbnN0cnVjdG9yICdcIixbMiwwLFsxMiwzOSwwXV1dLFwiSW52YWxpZCBmbGFncyBzdXBwbGllZCB0byBSZWdFeHAgY29uc3RydWN0b3IgJyVzJ1wiXSxWbj1jRSxWcD1vOSxWbz1bMCxbMTEsXCJJbiBtYXRjaCBcIixbMiwwLFsxMSxcIiBwYXR0ZXJuLCB0aGUgcmVzdCBtdXN0IGJlIHRoZSBsYXN0IGVsZW1lbnQgaW4gdGhlIHBhdHRlcm5cIiwwXV1dLFwiSW4gbWF0Y2ggJXMgcGF0dGVybiwgdGhlIHJlc3QgbXVzdCBiZSB0aGUgbGFzdCBlbGVtZW50IGluIHRoZSBwYXR0ZXJuXCJdLFZxPVswLFsxMSxcIkpTWCBlbGVtZW50IFwiLFsyLDAsWzExLFwiIGhhcyBubyBjb3JyZXNwb25kaW5nIGNsb3NpbmcgdGFnLlwiLDBdXV0sXCJKU1ggZWxlbWVudCAlcyBoYXMgbm8gY29ycmVzcG9uZGluZyBjbG9zaW5nIHRhZy5cIl0sVnI9WzAsWzExLE1HLFsyLDAsWzExLFwiYC4gUGFyZW50aGVzZXMgYXJlIHJlcXVpcmVkIHRvIGNvbWJpbmUgYD8/YCB3aXRoIGAmJmAgb3IgYHx8YCBleHByZXNzaW9ucy5cIiwwXV1dLFwiVW5leHBlY3RlZCB0b2tlbiBgJXNgLiBQYXJlbnRoZXNlcyBhcmUgcmVxdWlyZWQgdG8gY29tYmluZSBgPz9gIHdpdGggYCYmYCBvciBgfHxgIGV4cHJlc3Npb25zLlwiXSxWcz1bMCxbMiwwLFsxMSxcIiAnXCIsWzIsMCxbMTEsXCInIGhhcyBhbHJlYWR5IGJlZW4gZGVjbGFyZWRcIiwwXV1dXSxcIiVzICclcycgaGFzIGFscmVhZHkgYmVlbiBkZWNsYXJlZFwiXSxWdz1BLFZ4PWxYLFZ5PVwiIFlvdSBjYW4gdHJ5IHVzaW5nIEphdmFTY3JpcHQgcHJpdmF0ZSBmaWVsZHMgYnkgcHJlcGVuZGluZyBgI2AgdG8gdGhlIGZpZWxkIG5hbWUuXCIsVno9bHgsVnQ9XCIgRmllbGRzIGFuZCBtZXRob2RzIGFyZSBwdWJsaWMgYnkgZGVmYXVsdC4gWW91IGNhbiBzaW1wbHkgb21pdCB0aGUgYHB1YmxpY2Aga2V5d29yZC5cIixWdT1sbCxWdj1bMCxbMTEsXCJGbG93IGRvZXMgbm90IHN1cHBvcnQgdXNpbmcgYFwiLFsyLDAsWzExLFwiYCBpbiBjbGFzc2VzLlwiLFsyLDAsMF1dXV0sXCJGbG93IGRvZXMgbm90IHN1cHBvcnQgdXNpbmcgYCVzYCBpbiBjbGFzc2VzLiVzXCJdLFZBPVswLFsxMSxcIlByaXZhdGUgZmllbGRzIG11c3QgYmUgZGVjbGFyZWQgYmVmb3JlIHRoZXkgY2FuIGJlIHJlZmVyZW5jZWQuIGAjXCIsWzIsMCxbMTEsXCJgIGhhcyBub3QgYmVlbiBkZWNsYXJlZC5cIiwwXV1dLFwiUHJpdmF0ZSBmaWVsZHMgbXVzdCBiZSBkZWNsYXJlZCBiZWZvcmUgdGhleSBjYW4gYmUgcmVmZXJlbmNlZC4gYCMlc2AgaGFzIG5vdCBiZWVuIGRlY2xhcmVkLlwiXSxWQj1bMCxbMTEsSkIsWzIsMCwwXV0sXCJVbmV4cGVjdGVkICVzXCJdLFZDPVswLFsxMSxNRyxbMiwwLFsxMSxcImAuIERpZCB5b3UgbWVhbiBgXCIsWzIsMCxbMTEsXCJgP1wiLDBdXV1dXSxcIlVuZXhwZWN0ZWQgdG9rZW4gYCVzYC4gRGlkIHlvdSBtZWFuIGAlc2A/XCJdLFZEPVswLFsxMSxKQixbMiwwLFsxMSxcIiwgZXhwZWN0ZWQgXCIsWzIsMCwwXV1dXSxcIlVuZXhwZWN0ZWQgJXMsIGV4cGVjdGVkICVzXCJdLFZFPVswLFsxMSxcIlVuZGVmaW5lZCBsYWJlbCAnXCIsWzIsMCxbMTIsMzksMF1dXSxcIlVuZGVmaW5lZCBsYWJlbCAnJXMnXCJdLFNYPVwiUGFyc2VfZXJyb3IuRXJyb3JcIixWRj1bMCxbMCwzNiwzN10sWzAsNDgsNThdLFswLDY1LDkxXSxbMCw5NSw5Nl0sWzAsOTcsY3hdLFswLHlnLERuXSxbMCxDbCx2Q10sWzAsQU0sbFFdLFswLHRKLG44XSxbMCxrcSxERl0sWzAsdlMsbzddLFswLGFoLDcwNl0sWzAsTGEsNzIyXSxbMCw3MzYsNzQxXSxbMCw3NDgsNzQ5XSxbMCw3NTAsNzUxXSxbMCw3NjgsODg1XSxbMCw4ODYsODg4XSxbMCw4OTAsODk0XSxbMCw4OTUsODk2XSxbMCw5MDIsOTA3XSxbMCw5MDgsOTA5XSxbMCw5MTAsOTMwXSxbMCxMeSwxMDE0XSxbMCwxMDE1LDExNTRdLFswLDExNTUsMTE2MF0sWzAsMTE2MiwxMzI4XSxbMCwxMzI5LDEzNjddLFswLDEzNjksMTM3MF0sWzAsMTM3NiwxNDE3XSxbMCwxNDI1LDE0NzBdLFswLDE0NzEsMTQ3Ml0sWzAsMTQ3MywxNDc1XSxbMCwxNDc2LDE0NzhdLFswLDE0NzksMTQ4MF0sWzAsMTQ4OCwxNTE1XSxbMCwxNTE5LDE1MjNdLFswLDE1NTIsMTU2M10sWzAsMTU2OCwxNjQyXSxbMCwxNjQ2LDE3NDhdLFswLDE3NDksMTc1N10sWzAsMTc1OSwxNzY5XSxbMCwxNzcwLDE3ODldLFswLDE3OTEsMTc5Ml0sWzAsMTgwOCwxODY3XSxbMCwxODY5LDE5NzBdLFswLDE5ODQsMjAzOF0sWzAsMjA0MiwyMDQzXSxbMCwyMDQ1LDIwNDZdLFswLERmLDIwOTRdLFswLDIxMTIsMjE0MF0sWzAsMjE0NCwyMTU1XSxbMCwyMjA4LDIyMjldLFswLDIyMzAsMjIzOF0sWzAsMjI1OSwyMjc0XSxbMCwyMjc1LDI0MDRdLFswLDI0MDYsMjQxNl0sWzAsMjQxNywyNDM2XSxbMCwyNDM3LDI0NDVdLFswLDI0NDcsMjQ0OV0sWzAsMjQ1MSwyNDczXSxbMCwyNDc0LDI0ODFdLFswLDI0ODIsMjQ4M10sWzAsMjQ4NiwyNDkwXSxbMCwyNDkyLDI1MDFdLFswLDI1MDMsMjUwNV0sWzAsMjUwNywyNTExXSxbMCwyNTE5LDI1MjBdLFswLDI1MjQsMjUyNl0sWzAsMjUyNywyNTMyXSxbMCwyNTM0LDI1NDZdLFswLDI1NTYsMjU1N10sWzAsMjU1OCwyNTU5XSxbMCwyNTYxLDI1NjRdLFswLDI1NjUsMjU3MV0sWzAsMjU3NSwyNTc3XSxbMCwyNTc5LDI2MDFdLFswLDI2MDIsMjYwOV0sWzAsMjYxMCwyNjEyXSxbMCwyNjEzLDI2MTVdLFswLDI2MTYsMjYxOF0sWzAsMjYyMCwyNjIxXSxbMCwyNjIyLDI2MjddLFswLDI2MzEsMjYzM10sWzAsMjYzNSwyNjM4XSxbMCwyNjQxLDI2NDJdLFswLDI2NDksMjY1M10sWzAsMjY1NCwyNjU1XSxbMCwyNjYyLDI2NzhdLFswLDI2ODksMjY5Ml0sWzAsMjY5MywyNzAyXSxbMCwyNzAzLDI3MDZdLFswLDI3MDcsMjcyOV0sWzAsMjczMCwyNzM3XSxbMCwyNzM4LDI3NDBdLFswLDI3NDEsMjc0Nl0sWzAsMjc0OCwyNzU4XSxbMCwyNzU5LDI3NjJdLFswLDI3NjMsMjc2Nl0sWzAsMjc2OCwyNzY5XSxbMCwyNzg0LDI3ODhdLFswLDI3OTAsMjgwMF0sWzAsMjgwOSwyODE2XSxbMCwyODE3LDI4MjBdLFswLDI4MjEsMjgyOV0sWzAsMjgzMSwyODMzXSxbMCwyODM1LDI4NTddLFswLDI4NTgsMjg2NV0sWzAsMjg2NiwyODY4XSxbMCwyODY5LDI4NzRdLFswLDI4NzYsMjg4NV0sWzAsMjg4NywyODg5XSxbMCwyODkxLDI4OTRdLFswLDI5MDIsMjkwNF0sWzAsMjkwOCwyOTEwXSxbMCwyOTExLDI5MTZdLFswLDI5MTgsMjkyOF0sWzAsMjkyOSwyOTMwXSxbMCwyOTQ2LDI5NDhdLFswLDI5NDksMjk1NV0sWzAsMjk1OCwyOTYxXSxbMCwyOTYyLDI5NjZdLFswLDI5NjksMjk3MV0sWzAsMjk3MiwyOTczXSxbMCwyOTc0LDI5NzZdLFswLDI5NzksMjk4MV0sWzAsMjk4NCwyOTg3XSxbMCwyOTkwLDMwMDJdLFswLDMwMDYsMzAxMV0sWzAsMzAxNCwzMDE3XSxbMCwzMDE4LDMwMjJdLFswLDMwMjQsMzAyNV0sWzAsMzAzMSwzMDMyXSxbMCwzMDQ2LDMwNTZdLFswLDMwNzIsMzA4NV0sWzAsMzA4NiwzMDg5XSxbMCwzMDkwLDMxMTNdLFswLDMxMTQsMzEzMF0sWzAsMzEzMywzMTQxXSxbMCwzMTQyLDMxNDVdLFswLDMxNDYsMzE1MF0sWzAsMzE1NywzMTU5XSxbMCwzMTYwLDMxNjNdLFswLDMxNjgsMzE3Ml0sWzAsMzE3NCwzMTg0XSxbMCwzMjAwLDMyMDRdLFswLDMyMDUsMzIxM10sWzAsMzIxNCwzMjE3XSxbMCwzMjE4LDMyNDFdLFswLDMyNDIsMzI1Ml0sWzAsMzI1MywzMjU4XSxbMCwzMjYwLDMyNjldLFswLDMyNzAsMzI3M10sWzAsMzI3NCwzMjc4XSxbMCwzMjg1LDMyODddLFswLDMyOTQsMzI5NV0sWzAsMzI5NiwzMzAwXSxbMCwzMzAyLDMzMTJdLFswLDMzMTMsMzMxNV0sWzAsMzMyOCwzMzMyXSxbMCwzMzMzLDMzNDFdLFswLDMzNDIsMzM0NV0sWzAsMzM0NiwzMzk3XSxbMCwzMzk4LDM0MDFdLFswLDM0MDIsMzQwN10sWzAsMzQxMiwzNDE2XSxbMCwzNDIzLDM0MjhdLFswLDM0MzAsMzQ0MF0sWzAsMzQ1MCwzNDU2XSxbMCwzNDU4LDM0NjBdLFswLDM0NjEsMzQ3OV0sWzAsMzQ4MiwzNTA2XSxbMCwzNTA3LDM1MTZdLFswLDM1MTcsMzUxOF0sWzAsMzUyMCwzNTI3XSxbMCwzNTMwLDM1MzFdLFswLDM1MzUsMzU0MV0sWzAsMzU0MiwzNTQzXSxbMCwzNTQ0LDM1NTJdLFswLDM1NTgsMzU2OF0sWzAsMzU3MCwzNTcyXSxbMCwzNTg1LDM2NDNdLFswLDM2NDgsMzY2M10sWzAsMzY2NCwzNjc0XSxbMCwzNzEzLDM3MTVdLFswLDM3MTYsMzcxN10sWzAsMzcxOCwzNzIzXSxbMCwzNzI0LDM3NDhdLFswLDM3NDksMzc1MF0sWzAsMzc1MSwzNzc0XSxbMCwzNzc2LDM3ODFdLFswLDM3ODIsMzc4M10sWzAsMzc4NCwzNzkwXSxbMCwzNzkyLDM4MDJdLFswLDM4MDQsMzgwOF0sWzAsMzg0MCwzODQxXSxbMCwzODY0LDM4NjZdLFswLDM4NzIsMzg4Ml0sWzAsMzg5MywzODk0XSxbMCwzODk1LDM4OTZdLFswLDM4OTcsMzg5OF0sWzAsMzkwMiwzOTEyXSxbMCwzOTEzLDM5NDldLFswLDM5NTMsMzk3M10sWzAsMzk3NCwzOTkyXSxbMCwzOTkzLDQwMjldLFswLDQwMzgsNDAzOV0sWzAsTEwsNDE3MF0sWzAsNDE3Niw0MjU0XSxbMCw0MjU2LDQyOTRdLFswLDQyOTUsNDI5Nl0sWzAsNDMwMSw0MzAyXSxbMCw0MzA0LDQzNDddLFswLDQzNDgsNDY4MV0sWzAsNDY4Miw0Njg2XSxbMCw0Njg4LDQ2OTVdLFswLDQ2OTYsNDY5N10sWzAsNDY5OCw0NzAyXSxbMCw0NzA0LDQ3NDVdLFswLDQ3NDYsNDc1MF0sWzAsNDc1Miw0Nzg1XSxbMCw0Nzg2LDQ3OTBdLFswLDQ3OTIsNDc5OV0sWzAsNDgwMCw0ODAxXSxbMCw0ODAyLDQ4MDZdLFswLDQ4MDgsNDgyM10sWzAsNDgyNCw0ODgxXSxbMCw0ODgyLDQ4ODZdLFswLDQ4ODgsNDk1NV0sWzAsNDk1Nyw0OTYwXSxbMCw0OTY5LDQ5NzhdLFswLDQ5OTIsNTAwOF0sWzAsNTAyNCw1MTEwXSxbMCw1MTEyLDUxMThdLFswLDUxMjEsNTc0MV0sWzAsNTc0Myx2JF0sWzAsNTc2MSw1Nzg3XSxbMCw1NzkyLDU4NjddLFswLDU4NzAsNTg4MV0sWzAsNTg4OCw1OTAxXSxbMCw1OTAyLDU5MDldLFswLDU5MjAsNTk0MV0sWzAsNTk1Miw1OTcyXSxbMCw1OTg0LDU5OTddLFswLDU5OTgsNjAwMV0sWzAsNjAwMiw2MDA0XSxbMCw2MDE2LDYxMDBdLFswLDYxMDMsNjEwNF0sWzAsNjEwOCw2MTEwXSxbMCw2MTEyLDYxMjJdLFswLDYxNTUsNjE1OF0sWzAsNjE2MCw2MTcwXSxbMCw2MTc2LDYyNjVdLFswLDYyNzIsNjMxNV0sWzAsNjMyMCw2MzkwXSxbMCw2NDAwLDY0MzFdLFswLDY0MzIsNjQ0NF0sWzAsNjQ0OCw2NDYwXSxbMCw2NDcwLDY1MTBdLFswLDY1MTIsNjUxN10sWzAsNjUyOCw2NTcyXSxbMCw2NTc2LDY2MDJdLFswLDY2MDgsNjYxOV0sWzAsNjY1Niw2Njg0XSxbMCw2Njg4LDY3NTFdLFswLDY3NTIsNjc4MV0sWzAsNjc4Myw2Nzk0XSxbMCw2ODAwLDY4MTBdLFswLDY4MjMsNjgyNF0sWzAsNjgzMiw2ODQ2XSxbMCw2OTEyLDY5ODhdLFswLDY5OTIsNzAwMl0sWzAsNzAxOSw3MDI4XSxbMCw3MDQwLDcxNTZdLFswLDcxNjgsNzIyNF0sWzAsNzIzMiw3MjQyXSxbMCw3MjQ1LDcyOTRdLFswLDcyOTYsNzMwNV0sWzAsNzMxMiw3MzU1XSxbMCw3MzU3LDczNjBdLFswLDczNzYsNzM3OV0sWzAsNzM4MCw3NDE5XSxbMCw3NDI0LDc2NzRdLFswLDc2NzUsNzk1OF0sWzAsNzk2MCw3OTY2XSxbMCw3OTY4LDgwMDZdLFswLDgwMDgsODAxNF0sWzAsODAxNiw4MDI0XSxbMCw4MDI1LDgwMjZdLFswLDgwMjcsODAyOF0sWzAsODAyOSw4MDMwXSxbMCw4MDMxLDgwNjJdLFswLDgwNjQsODExN10sWzAsODExOCw4MTI1XSxbMCw4MTI2LDgxMjddLFswLDgxMzAsODEzM10sWzAsODEzNCw4MTQxXSxbMCw4MTQ0LDgxNDhdLFswLDgxNTAsODE1Nl0sWzAsODE2MCw4MTczXSxbMCw4MTc4LDgxODFdLFswLDgxODIsODE4OV0sWzAsSjEsS3ZdLFswLDgyNTUsODI1N10sWzAsODI3Niw4Mjc3XSxbMCxxdyw4MzA2XSxbMCxvUSw4MzIwXSxbMCw4MzM2LDgzNDldLFswLDg0MDAsODQxM10sWzAsODQxNyw4NDE4XSxbMCw4NDIxLDg0MzNdLFswLG5JLDg0NTFdLFswLHBlLDg0NTZdLFswLDg0NTgsbzNdLFswLG9aLDg0NzBdLFswLEtFLDg0NzhdLFswLHFBLG5CXSxbMCxvbyxwT10sWzAscE4scWNdLFswLDg0OTAsODUwNl0sWzAsODUwOCw4NTEyXSxbMCw4NTE3LDg1MjJdLFswLHBILDg1MjddLFswLDg1NDQsODU4NV0sWzAsMTEyNjQsMTEzMTFdLFswLDExMzEyLDExMzU5XSxbMCwxMTM2MCwxMTQ5M10sWzAsMTE0OTksMTE1MDhdLFswLDExNTIwLG5LXSxbMCxxWSwxMTU2MF0sWzAsb3QsMTE1NjZdLFswLDExNTY4LDExNjI0XSxbMCxxRiwxMTYzMl0sWzAscFIsMTE2NzFdLFswLDExNjgwLHFuXSxbMCwxMTY4OCxvQV0sWzAsMTE2OTYscVhdLFswLDExNzA0LHFMXSxbMCwxMTcxMixxdF0sWzAsMTE3MjAscVVdLFswLDExNzI4LG9tXSxbMCwxMTczNiwxMTc0M10sWzAsMTE3NDQsMTE3NzZdLFswLDEyMjkzLDEyMjk2XSxbMCwxMjMyMSxvbl0sWzAsMTIzMzcsMTIzNDJdLFswLDEyMzQ0LDEyMzQ5XSxbMCwxMjM1MywxMjQzOV0sWzAsMTI0NDEscHNdLFswLDEyNDQ5LHA2XSxbMCwxMjU0MCwxMjU0NF0sWzAsMTI1NDksbkNdLFswLDEyNTkzLDEyNjg3XSxbMCwxMjcwNCwxMjczMV0sWzAsMTI3ODQsMTI4MDBdLFswLDEzMzEyLDE5ODk0XSxbMCwxOTk2OCw0MDk0NF0sWzAsNDA5NjAsNDIxMjVdLFswLDQyMTkyLDQyMjM4XSxbMCw0MjI0MCw0MjUwOV0sWzAsNDI1MTIsNDI1NDBdLFswLDQyNTYwLDQyNjA4XSxbMCw0MjYxMixwVF0sWzAsNDI2MjMsNDI3MzhdLFswLDQyNzc1LDQyNzg0XSxbMCw0Mjc4Niw0Mjg4OV0sWzAsNDI4OTEsNDI5NDRdLFswLDQyOTQ2LDQyOTUxXSxbMCxuVCw0MzA0OF0sWzAsNDMwNzIsNDMxMjRdLFswLDQzMTM2LDQzMjA2XSxbMCw0MzIxNiw0MzIyNl0sWzAsNDMyMzIsNDMyNTZdLFswLG9VLG5ZXSxbMCw0MzI2MSw0MzMxMF0sWzAsNDMzMTIsNDMzNDhdLFswLDQzMzYwLDQzMzg5XSxbMCw0MzM5Miw0MzQ1N10sWzAscHEsNDM0ODJdLFswLDQzNDg4LHFTXSxbMCxLViw0MzU3NV0sWzAsNDM1ODQsNDM1OThdLFswLDQzNjAwLDQzNjEwXSxbMCw0MzYxNiw0MzYzOV0sWzAscXEsNDM3MTVdLFswLDQzNzM5LDQzNzQyXSxbMCw0Mzc0NCw0Mzc2MF0sWzAsNDM3NjIsNDM3NjddLFswLDQzNzc3LDQzNzgzXSxbMCw0Mzc4NSw0Mzc5MV0sWzAsNDM3OTMsNDM3OTldLFswLDQzODA4LG94XSxbMCw0MzgxNixvTl0sWzAsNDM4MjQsbk1dLFswLDQzODY4LHAwXSxbMCw0Mzg4OCw0NDAxMV0sWzAsNDQwMTIsNDQwMTRdLFswLDQ0MDE2LDQ0MDI2XSxbMCw0NDAzMiw1NTIwNF0sWzAsNTUyMTYsNTUyMzldLFswLDU1MjQzLDU1MjkyXSxbMCw2Mzc0NCw2NDExMF0sWzAsNjQxMTIsNjQyMThdLFswLDY0MjU2LDY0MjYzXSxbMCw2NDI3NSw2NDI4MF0sWzAscUoscVRdLFswLDY0Mjk4LG9LXSxbMCw2NDMxMixvel0sWzAsb1QsbjZdLFswLDY0MzIwLHBfXSxbMCw2NDMyMyxwNF0sWzAsNjQzMjYsNjQ0MzRdLFswLDY0NDY3LDY0ODMwXSxbMCw2NDg0OCw2NDkxMl0sWzAsNjQ5MTQsNjQ5NjhdLFswLDY1MDA4LDY1MDIwXSxbMCw2NTAyNCw2NTA0MF0sWzAsNjUwNTYsNjUwNzJdLFswLDY1MDc1LDY1MDc3XSxbMCw2NTEwMSw2NTEwNF0sWzAsNjUxMzYscWFdLFswLDY1MTQyLDY1Mjc3XSxbMCw2NTI5Niw2NTMwNl0sWzAsNjUzMTMsNjUzMzldLFswLDY1MzQzLG5KXSxbMCw2NTM0NSw2NTM3MV0sWzAsNjUzODIsNjU0NzFdLFswLDY1NDc0LDY1NDgwXSxbMCw2NTQ4Miw2NTQ4OF0sWzAsNjU0OTAsNjU0OTZdLFswLDY1NDk4LDY1NTAxXSxbMCxsUyxwOF0sWzAsNjU1NDksb0RdLFswLDY1NTc2LG9ZXSxbMCw2NTU5NixwTV0sWzAsNjU1OTksNjU2MTRdLFswLDY1NjE2LDY1NjMwXSxbMCw2NTY2NCw2NTc4N10sWzAsNjU4NTYsNjU5MDldLFswLDY2MDQ1LDY2MDQ2XSxbMCw2NjE3Niw2NjIwNV0sWzAsNjYyMDgsNjYyNTddLFswLDY2MjcyLDY2MjczXSxbMCw2NjMwNCw2NjMzNl0sWzAsNjYzNDksNjYzNzldLFswLDY2Mzg0LDY2NDI3XSxbMCw2NjQzMiw2NjQ2Ml0sWzAsNjY0NjQsNjY1MDBdLFswLDY2NTA0LG54XSxbMCw2NjUxMyw2NjUxOF0sWzAsNjY1NjAsNjY3MThdLFswLDY2NzIwLDY2NzMwXSxbMCw2NjczNiw2Njc3Ml0sWzAsNjY3NzYsNjY4MTJdLFswLDY2ODE2LDY2ODU2XSxbMCw2Njg2NCw2NjkxNl0sWzAsNjcwNzIsNjczODNdLFswLDY3MzkyLDY3NDE0XSxbMCw2NzQyNCw2NzQzMl0sWzAsNjc1ODQsNjc1OTBdLFswLG8xLHFIXSxbMCw2NzU5NCxud10sWzAsNjc2MzksNjc2NDFdLFswLG5OLDY3NjQ1XSxbMCw2NzY0Nyw2NzY3MF0sWzAsNjc2ODAsNjc3MDNdLFswLDY3NzEyLDY3NzQzXSxbMCw2NzgwOCxvYV0sWzAsNjc4MjgsNjc4MzBdLFswLDY3ODQwLDY3ODYyXSxbMCw2Nzg3Miw2Nzg5OF0sWzAsNjc5NjgsNjgwMjRdLFswLDY4MDMwLDY4MDMyXSxbMCxvbCw2ODEwMF0sWzAsNjgxMDEsNjgxMDNdLFswLDY4MTA4LHBFXSxbMCw2ODExNyxwb10sWzAsNjgxMjEsNjgxNTBdLFswLDY4MTUyLDY4MTU1XSxbMCw2ODE1OSw2ODE2MF0sWzAsNjgxOTIsNjgyMjFdLFswLDY4MjI0LDY4MjUzXSxbMCw2ODI4OCxweF0sWzAsNjgyOTcsNjgzMjddLFswLDY4MzUyLDY4NDA2XSxbMCw2ODQxNiw2ODQzOF0sWzAsNjg0NDgsNjg0NjddLFswLDY4NDgwLDY4NDk4XSxbMCw2ODYwOCw2ODY4MV0sWzAsNjg3MzYsNjg3ODddLFswLDY4ODAwLDY4ODUxXSxbMCw2ODg2NCw2ODkwNF0sWzAsNjg5MTIsNjg5MjJdLFswLDY5Mzc2LDY5NDA1XSxbMCxxZyw2OTQxNl0sWzAsNjk0MjQsNjk0NTddLFswLDY5NjAwLDY5NjIzXSxbMCw2OTYzMiw2OTcwM10sWzAsNjk3MzQsbnpdLFswLDY5NzU5LDY5ODE5XSxbMCw2OTg0MCw2OTg2NV0sWzAsNjk4NzIsNjk4ODJdLFswLDY5ODg4LDY5OTQxXSxbMCw2OTk0Miw2OTk1Ml0sWzAscFgscEtdLFswLDY5OTY4LDcwMDA0XSxbMCxxZCw3MDAwN10sWzAsNzAwMTYsNzAwODVdLFswLDcwMDg5LDcwMDkzXSxbMCw3MDA5NixuRV0sWzAscUMsNzAxMDldLFswLDcwMTQ0LHBoXSxbMCw3MDE2Myw3MDIwMF0sWzAsNzAyMDYsNzAyMDddLFswLDcwMjcyLHFqXSxbMCxuUSxwSV0sWzAsNzAyODIsbkZdLFswLDcwMjg3LHBrXSxbMCw3MDMwMyw3MDMxM10sWzAsNzAzMjAsNzAzNzldLFswLDcwMzg0LDcwMzk0XSxbMCw3MDQwMCxvX10sWzAsNzA0MDUsNzA0MTNdLFswLDcwNDE1LDcwNDE3XSxbMCw3MDQxOSxvcl0sWzAsNzA0NDIsbk9dLFswLDcwNDUwLHBsXSxbMCw3MDQ1Myw3MDQ1OF0sWzAsNzA0NTksNzA0NjldLFswLDcwNDcxLDcwNDczXSxbMCw3MDQ3NSw3MDQ3OF0sWzAscVIsNzA0ODFdLFswLDcwNDg3LDcwNDg4XSxbMCw3MDQ5Myw3MDUwMF0sWzAsNzA1MDIsNzA1MDldLFswLDcwNTEyLDcwNTE3XSxbMCw3MDY1Niw3MDczMV0sWzAsNzA3MzYsNzA3NDZdLFswLG8yLDcwNzUyXSxbMCw3MDc4NCxxZV0sWzAsb1IsNzA4NTZdLFswLDcwODY0LDcwODc0XSxbMCw3MTA0MCw3MTA5NF0sWzAsNzEwOTYsNzExMDVdLFswLDcxMTI4LDcxMTM0XSxbMCw3MTE2OCw3MTIzM10sWzAscEIsNzEyMzddLFswLDcxMjQ4LDcxMjU4XSxbMCw3MTI5Niw3MTM1M10sWzAsNzEzNjAsNzEzNzBdLFswLDcxNDI0LDcxNDUxXSxbMCw3MTQ1Myw3MTQ2OF0sWzAsNzE0NzIsNzE0ODJdLFswLDcxNjgwLDcxNzM5XSxbMCw3MTg0MCw3MTkxNF0sWzAsNzE5MzUsNzE5MzZdLFswLDcyMDk2LDcyMTA0XSxbMCw3MjEwNiw3MjE1Ml0sWzAsNzIxNTQscHddLFswLHBmLDcyMTY1XSxbMCxxRyw3MjI1NV0sWzAsNzIyNjMsNzIyNjRdLFswLHBHLDcyMzQ2XSxbMCxxQiw3MjM1MF0sWzAsNzIzODQsNzI0NDFdLFswLDcyNzA0LG9zXSxbMCw3MjcxNCw3Mjc1OV0sWzAsNzI3NjAsNzI3NjldLFswLDcyNzg0LDcyNzk0XSxbMCw3MjgxOCw3Mjg0OF0sWzAsNzI4NTAsNzI4NzJdLFswLDcyODczLDcyODg3XSxbMCw3Mjk2MCxuU10sWzAsNzI5NjgscGRdLFswLDcyOTcxLDczMDE1XSxbMCw3MzAxOCw3MzAxOV0sWzAsNzMwMjAsNzMwMjJdLFswLDczMDIzLDczMDMyXSxbMCw3MzA0MCw3MzA1MF0sWzAsNzMwNTYsb0pdLFswLDczMDYzLG5IXSxbMCw3MzA2Niw3MzEwM10sWzAsNzMxMDQsNzMxMDZdLFswLDczMTA3LDczMTEzXSxbMCw3MzEyMCw3MzEzMF0sWzAsNzM0NDAsNzM0NjNdLFswLDczNzI4LDc0NjUwXSxbMCw3NDc1Miw3NDg2M10sWzAsNzQ4ODAsNzUwNzZdLFswLDc3ODI0LDc4ODk1XSxbMCw4Mjk0NCw4MzUyN10sWzAsOTIxNjAsOTI3MjldLFswLDkyNzM2LDkyNzY3XSxbMCw5Mjc2OCw5Mjc3OF0sWzAsOTI4ODAsOTI5MTBdLFswLDkyOTEyLDkyOTE3XSxbMCw5MjkyOCw5Mjk4M10sWzAsOTI5OTIsOTI5OTZdLFswLDkzMDA4LDkzMDE4XSxbMCw5MzAyNyw5MzA0OF0sWzAsOTMwNTMsOTMwNzJdLFswLDkzNzYwLDkzODI0XSxbMCw5Mzk1Miw5NDAyN10sWzAsbkcsOTQwODhdLFswLDk0MDk1LDk0MTEyXSxbMCw5NDE3NixvMF0sWzAscFosOTQxODBdLFswLDk0MjA4LDEwMDM0NF0sWzAsMTAwMzUyLDEwMTEwN10sWzAsMTEwNTkyLDExMDg3OV0sWzAsMTEwOTI4LDExMDkzMV0sWzAsMTEwOTQ4LDExMDk1Ml0sWzAsMTEwOTYwLDExMTM1Nl0sWzAsMTEzNjY0LDExMzc3MV0sWzAsMTEzNzc2LDExMzc4OV0sWzAsMTEzNzkyLDExMzgwMV0sWzAsMTEzODA4LDExMzgxOF0sWzAsMTEzODIxLDExMzgyM10sWzAsMTE5MTQxLDExOTE0Nl0sWzAsMTE5MTQ5LDExOTE1NV0sWzAsMTE5MTYzLDExOTE3MV0sWzAsMTE5MTczLDExOTE4MF0sWzAsMTE5MjEwLDExOTIxNF0sWzAsMTE5MzYyLDExOTM2NV0sWzAsMTE5ODA4LG9lXSxbMCwxMTk4OTQsbjFdLFswLDExOTk2NiwxMTk5NjhdLFswLG5WLDExOTk3MV0sWzAsMTE5OTczLDExOTk3NV0sWzAsMTE5OTc3LHBhXSxbMCwxMTk5ODIscGpdLFswLG9GLHFzXSxbMCwxMTk5OTcscUVdLFswLDEyMDAwNSxwYl0sWzAsMTIwMDcxLDEyMDA3NV0sWzAsMTIwMDc3LHFRXSxbMCwxMjAwODYsb3ZdLFswLDEyMDA5NCxvZF0sWzAsMTIwMTIzLHBwXSxbMCwxMjAxMjgsb1NdLFswLG5YLDEyMDEzNV0sWzAsMTIwMTM4LG9wXSxbMCwxMjAxNDYsMTIwNDg2XSxbMCwxMjA0ODgscU9dLFswLDEyMDUxNCxxeV0sWzAsMTIwNTQwLHA1XSxbMCwxMjA1NzIscEpdLFswLDEyMDU5OCxwel0sWzAsMTIwNjMwLG81XSxbMCwxMjA2NTYsblJdLFswLDEyMDY4OCxvY10sWzAsMTIwNzE0LG8kXSxbMCwxMjA3NDYsb1hdLFswLDEyMDc3MiwxMjA3ODBdLFswLDEyMDc4MiwxMjA4MzJdLFswLDEyMTM0NCwxMjEzOTldLFswLDEyMTQwMywxMjE0NTNdLFswLDEyMTQ2MSwxMjE0NjJdLFswLDEyMTQ3NiwxMjE0NzddLFswLDEyMTQ5OSwxMjE1MDRdLFswLDEyMTUwNSwxMjE1MjBdLFswLDEyMjg4MCwxMjI4ODddLFswLDEyMjg4OCwxMjI5MDVdLFswLDEyMjkwNywxMjI5MTRdLFswLDEyMjkxNSwxMjI5MTddLFswLDEyMjkxOCwxMjI5MjNdLFswLDEyMzEzNiwxMjMxODFdLFswLDEyMzE4NCwxMjMxOThdLFswLDEyMzIwMCwxMjMyMTBdLFswLHFWLDEyMzIxNV0sWzAsMTIzNTg0LDEyMzY0Ml0sWzAsMTI0OTI4LDEyNTEyNV0sWzAsMTI1MTM2LDEyNTE0M10sWzAsMTI1MTg0LDEyNTI2MF0sWzAsMTI1MjY0LDEyNTI3NF0sWzAsMTI2NDY0LG80XSxbMCwxMjY0NjkscW1dLFswLDEyNjQ5NyxwN10sWzAsb2csMTI2NTAxXSxbMCxxaCxvRV0sWzAsMTI2NTA1LG9oXSxbMCwxMjY1MTYsb0hdLFswLHBjLG9CXSxbMCxuJCwxMjY1MjRdLFswLG55LDEyNjUzMV0sWzAscDMsbl9dLFswLG9rLHFvXSxbMCxwOSxwWV0sWzAsMTI2NTQxLG5aXSxbMCwxMjY1NDUscCRdLFswLG5ELDEyNjU0OV0sWzAsb0csbzZdLFswLHFJLG9MXSxbMCxxcCxuQV0sWzAscVAscFddLFswLHF2LHFOXSxbMCwxMjY1NjEscFZdLFswLG9xLDEyNjU2NV0sWzAsMTI2NTY3LG9mXSxbMCwxMjY1NzIsbjldLFswLDEyNjU4MCxvSV0sWzAsMTI2NTg1LG9WXSxbMCxweSxwZ10sWzAsMTI2NTkyLG9iXSxbMCwxMjY2MDMsMTI2NjIwXSxbMCwxMjY2MjUsblBdLFswLDEyNjYyOSxvTV0sWzAsMTI2NjM1LDEyNjY1Ml0sWzAsMTMxMDcyLDE3Mzc4M10sWzAsMTczODI0LDE3Nzk3M10sWzAsMTc3OTg0LDE3ODIwNl0sWzAsMTc4MjA4LDE4Mzk3MF0sWzAsMTgzOTg0LDE5MTQ1N10sWzAsMTk0NTYwLDE5NTEwMl0sWzAsOTE3NzYwLDkxODAwMF1dLFZIPVswLDEsMF0sVkc9WzAsMCxbMCwxLDBdLFswLDEsMF1dLF9sPUpzLF9tPVwiZW5kIG9mIGlucHV0XCIsX3Q9bHAsX3U9XCJ0ZW1wbGF0ZSBsaXRlcmFsIHBhcnRcIixfeD1scCxfeT1MZyxfaj1Kcyxfbj1scCxfbz1rbyxfcD1scCxfcT1qbCxfcj1scCxfcz1qNyxfdj1cImFuXCIsX3c9Y2UsX2s9aGEsX2k9WzAsWzExLFwidG9rZW4gYFwiLFsyLDAsWzEyLDk2LDBdXV0sXCJ0b2tlbiBgJXNgXCJdLFgyPVwie1wiLFgzPW9DLFg0PVwie3xcIixYNT1cInx9XCIsWDY9S3csWDc9TEgsWDg9XCJbXCIsWDk9XCJdXCIsWF89elQsWCQ9TWIsWWE9Y3YsWWI9XCI9PlwiLFljPVwiLi4uXCIsWWQ9TDcsWWU9SnksWWY9al8sWWc9cXIsWWg9aUUsWWk9bE4sWWo9Yk8sWWs9YlEsWWw9QkssWW09aTcsWW49YlMsWW89cG0sWXA9bEYsWXE9cVcsWXI9cHYsWXM9bG4sWXQ9a2EsWXU9am4sWXY9aDUsWXc9aFUsWXg9YlIsWXk9cFUsWXo9b3UsWUE9YkwsWUI9amksWUM9bjMsWUQ9cHQsWUU9cHIsWUY9bHYsWUc9Z0IsWUg9Yk0sWUk9cU0sWUo9anEsWUs9bEUsWUw9aDMsWU09aFgsWU49bEMsWU89bnYsWVA9YmosWVE9a2IsWVI9amcsWVM9YnUsWVQ9cEwsWVU9bHgsWVY9bFgsWVc9bGwsWVg9Ym4sWVk9Yk4sWVo9bGssWTA9ZWcsWTE9eG8sWTI9Q2UsWTM9aXgsWTQ9am8sWTU9XCIlY2hlY2tzXCIsWTY9SlMsWTc9THAsWTg9SjYsWTk9SkYsWV89TUUsWSQ9TGgsWmE9TDQsWmI9SkQsWmM9SzEsWmQ9S1osWmU9SjUsWmY9TUQsWmc9TFEsWmg9SmgsWmk9TFIsWmo9QVUsWms9XCI/LlwiLFpsPUR1LFptPUxHLFpuPWp1LFpvPUpDLFpwPUp6LFpxPUxZLFpyPXBQLFpzPXFiLFp0PUx3LFp1PU1ILFp2PUpFLFp3PUokLFp4PUwkLFp5PUs5LFp6PXZGLFpBPWxULFpCPUtOLFpDPUtRLFpEPUw4LFpFPWhpLFpGPWJQLFpHPWJ2LFpIPUpULFpJPUpILFpKPUxqLFpLPU1fLFpMPUtrLFpNPU11LFpOPUpWLFpPPUEsWlA9cFMsWlE9bjQsWlI9YkYsWlM9a28sWlQ9amwsWlU9ajcsWlY9aFgsWlc9bHosWlg9cFEsWlk9bjIsWlo9cUssWjA9cWYsWjE9amgsWjI9S18sWjM9bEEsWjQ9a2wsWjU9a2YsWjY9TU0sWjc9SkosWjg9bHcsWjk9bHcsWl89S3AsWiQ9bHcsX2E9bHcsX2I9b0MsX2M9b0MsX2Q9S3AsX2U9YnYsX2Y9YnYsX2c9bEQsX2g9bkwsVkk9XCJUX0xDVVJMWVwiLFZKPVwiVF9SQ1VSTFlcIixWSz1cIlRfTENVUkxZQkFSXCIsVkw9XCJUX1JDVVJMWUJBUlwiLFZNPVwiVF9MUEFSRU5cIixWTj1cIlRfUlBBUkVOXCIsVk89XCJUX0xCUkFDS0VUXCIsVlA9XCJUX1JCUkFDS0VUXCIsVlE9XCJUX1NFTUlDT0xPTlwiLFZSPVwiVF9DT01NQVwiLFZTPVwiVF9QRVJJT0RcIixWVD1cIlRfQVJST1dcIixWVT1cIlRfRUxMSVBTSVNcIixWVj1cIlRfQVRcIixWVz1cIlRfUE9VTkRcIixWWD1cIlRfRlVOQ1RJT05cIixWWT1cIlRfSUZcIixWWj1cIlRfSU5cIixWMD1cIlRfSU5TVEFOQ0VPRlwiLFYxPVwiVF9SRVRVUk5cIixWMj1cIlRfU1dJVENIXCIsVjM9XCJUX01BVENIXCIsVjQ9XCJUX1RISVNcIixWNT1cIlRfVEhST1dcIixWNj1cIlRfVFJZXCIsVjc9XCJUX1ZBUlwiLFY4PVwiVF9XSElMRVwiLFY5PVwiVF9XSVRIXCIsVl89XCJUX0NPTlNUXCIsViQ9XCJUX0xFVFwiLFdhPVwiVF9OVUxMXCIsV2I9XCJUX0ZBTFNFXCIsV2M9XCJUX1RSVUVcIixXZD1cIlRfQlJFQUtcIixXZT1cIlRfQ0FTRVwiLFdmPVwiVF9DQVRDSFwiLFdnPVwiVF9DT05USU5VRVwiLFdoPVwiVF9ERUZBVUxUXCIsV2k9XCJUX0RPXCIsV2o9XCJUX0ZJTkFMTFlcIixXaz1cIlRfRk9SXCIsV2w9XCJUX0NMQVNTXCIsV209XCJUX0VYVEVORFNcIixXbj1cIlRfU1RBVElDXCIsV289XCJUX0VMU0VcIixXcD1cIlRfTkVXXCIsV3E9XCJUX0RFTEVURVwiLFdyPVwiVF9UWVBFT0ZcIixXcz1cIlRfVk9JRFwiLFd0PVwiVF9FTlVNXCIsV3U9XCJUX0VYUE9SVFwiLFd2PVwiVF9JTVBPUlRcIixXdz1cIlRfU1VQRVJcIixXeD1cIlRfSU1QTEVNRU5UU1wiLFd5PVwiVF9JTlRFUkZBQ0VcIixXej1cIlRfUEFDS0FHRVwiLFdBPVwiVF9QUklWQVRFXCIsV0I9XCJUX1BST1RFQ1RFRFwiLFdDPVwiVF9QVUJMSUNcIixXRD1cIlRfWUlFTERcIixXRT1cIlRfREVCVUdHRVJcIixXRj1cIlRfREVDTEFSRVwiLFdHPVwiVF9UWVBFXCIsV0g9XCJUX09QQVFVRVwiLFdJPVwiVF9PRlwiLFdKPVwiVF9BU1lOQ1wiLFdLPVwiVF9BV0FJVFwiLFdMPVwiVF9DSEVDS1NcIixXTT1cIlRfUlNISUZUM19BU1NJR05cIixXTj1cIlRfUlNISUZUX0FTU0lHTlwiLFdPPVwiVF9MU0hJRlRfQVNTSUdOXCIsV1A9XCJUX0JJVF9YT1JfQVNTSUdOXCIsV1E9XCJUX0JJVF9PUl9BU1NJR05cIixXUj1cIlRfQklUX0FORF9BU1NJR05cIixXUz1cIlRfTU9EX0FTU0lHTlwiLFdUPVwiVF9ESVZfQVNTSUdOXCIsV1U9XCJUX01VTFRfQVNTSUdOXCIsV1Y9XCJUX0VYUF9BU1NJR05cIixXVz1cIlRfTUlOVVNfQVNTSUdOXCIsV1g9XCJUX1BMVVNfQVNTSUdOXCIsV1k9XCJUX05VTExJU0hfQVNTSUdOXCIsV1o9XCJUX0FORF9BU1NJR05cIixXMD1cIlRfT1JfQVNTSUdOXCIsVzE9XCJUX0FTU0lHTlwiLFcyPVwiVF9QTElOR19QRVJJT0RcIixXMz1cIlRfUExJTkdfUExJTkdcIixXND1cIlRfUExJTkdcIixXNT1cIlRfQ09MT05cIixXNj1cIlRfT1JcIixXNz1cIlRfQU5EXCIsVzg9XCJUX0JJVF9PUlwiLFc5PVwiVF9CSVRfWE9SXCIsV189XCJUX0JJVF9BTkRcIixXJD1cIlRfRVFVQUxcIixYYT1cIlRfTk9UX0VRVUFMXCIsWGI9XCJUX1NUUklDVF9FUVVBTFwiLFhjPVwiVF9TVFJJQ1RfTk9UX0VRVUFMXCIsWGQ9XCJUX0xFU1NfVEhBTl9FUVVBTFwiLFhlPVwiVF9HUkVBVEVSX1RIQU5fRVFVQUxcIixYZj1cIlRfTEVTU19USEFOXCIsWGc9XCJUX0dSRUFURVJfVEhBTlwiLFhoPVwiVF9MU0hJRlRcIixYaT1cIlRfUlNISUZUXCIsWGo9XCJUX1JTSElGVDNcIixYaz1cIlRfUExVU1wiLFhsPVwiVF9NSU5VU1wiLFhtPVwiVF9ESVZcIixYbj1cIlRfTVVMVFwiLFhvPVwiVF9FWFBcIixYcD1cIlRfTU9EXCIsWHE9XCJUX05PVFwiLFhyPVwiVF9CSVRfTk9UXCIsWHM9XCJUX0lOQ1JcIixYdD1cIlRfREVDUlwiLFh1PVwiVF9FT0ZcIixYdj1cIlRfQU5ZX1RZUEVcIixYdz1cIlRfTUlYRURfVFlQRVwiLFh4PVwiVF9FTVBUWV9UWVBFXCIsWHk9XCJUX05VTUJFUl9UWVBFXCIsWHo9XCJUX0JJR0lOVF9UWVBFXCIsWEE9XCJUX1NUUklOR19UWVBFXCIsWEI9XCJUX1ZPSURfVFlQRVwiLFhDPVwiVF9TWU1CT0xfVFlQRVwiLFhEPVwiVF9VTktOT1dOX1RZUEVcIixYRT1cIlRfTkVWRVJfVFlQRVwiLFhGPVwiVF9VTkRFRklORURfVFlQRVwiLFhHPVwiVF9LRVlPRlwiLFhIPVwiVF9SRUFET05MWVwiLFhJPVwiVF9JTkZFUlwiLFhKPVwiVF9JU1wiLFhLPVwiVF9BU1NFUlRTXCIsWEw9XCJUX0lNUExJRVNcIixYTT1LbCxYTj1LbCxYTz1cIlRfTlVNQkVSXCIsWFA9XCJUX0JJR0lOVFwiLFhRPVwiVF9TVFJJTkdcIixYUj1cIlRfVEVNUExBVEVfUEFSVFwiLFhTPVwiVF9JREVOVElGSUVSXCIsWFQ9XCJUX1JFR0VYUFwiLFhVPVwiVF9JTlRFUlBSRVRFUlwiLFhWPVwiVF9FUlJPUlwiLFhXPVwiVF9KU1hfSURFTlRJRklFUlwiLFhYPU1jLFhZPU1jLFhaPVwiVF9CT09MRUFOX1RZUEVcIixYMD1cIlRfTlVNQkVSX1NJTkdMRVRPTl9UWVBFXCIsWDE9XCJUX0JJR0lOVF9TSU5HTEVUT05fVFlQRVwiLF9DPVswLEpOLHFsLDldLF9EPVswLEpOLHhBLDldLF9NPUxuLF9OPVwiKi9cIixfTz1MbixfUD1cInVucmVhY2hhYmxlIGxpbmVfY29tbWVudFwiLF80PVwidW5yZWFjaGFibGUgc3RyaW5nX3F1b3RlXCIsXzU9XCJcXFxcXCIsXzY9XCJ1bnJlYWNoYWJsZSB0ZW1wbGF0ZV9wYXJ0XCIsXzc9XCJcXHJcXG5cIixfOD11WSwkbz1cInVucmVhY2hhYmxlIHJlZ2V4cF9jbGFzc1wiLCRwPUo5LCRyPVwidW5yZWFjaGFibGUgcmVnZXhwX2JvZHlcIiwkcz1BLCR0PUEsJHU9QSwkdj1BLGFkdT1MWixhZHY9XCJ7Jz4nfVwiLGFkdz1sVCxhZHg9XCJ7J30nfVwiLGFkeT1vQyxhZHo9aUMsYWRBPXpULGFkQj1xYixhZEM9TFosYWREPWlDLGFkRT16VCxhZEY9cWIsYWRZPVwidW5yZWFjaGFibGUgdHlwZV90b2tlbiB3aG9sZW51bWJlclwiLGFkWD1cInVucmVhY2hhYmxlIHR5cGVfdG9rZW4gd2hvbGViaWdpbnRcIixhZFc9XCJ1bnJlYWNoYWJsZSB0eXBlX3Rva2VuIGZsb2F0YmlnaW50XCIsYWRWPVwidW5yZWFjaGFibGUgdHlwZV90b2tlbiBzY2ludW1iZXJcIixhZFU9XCJ1bnJlYWNoYWJsZSB0eXBlX3Rva2VuIHNjaWJpZ2ludFwiLGFkVD1cInVucmVhY2hhYmxlIHR5cGVfdG9rZW4gaGV4bnVtYmVyXCIsYWRTPVwidW5yZWFjaGFibGUgdHlwZV90b2tlbiBoZXhiaWdpbnRcIixhZFI9XCJ1bnJlYWNoYWJsZSB0eXBlX3Rva2VuIGxlZ2FjeW9jdG51bWJlclwiLGFkUT1cInVucmVhY2hhYmxlIHR5cGVfdG9rZW4gb2N0bnVtYmVyXCIsYWRQPVwidW5yZWFjaGFibGUgdHlwZV90b2tlbiBvY3RiaWdpbnRcIixhZE89XCJ1bnJlYWNoYWJsZSB0eXBlX3Rva2VuIGJpbm51bWJlclwiLGFkTj1cInVucmVhY2hhYmxlIHR5cGVfdG9rZW4gYmlnYmlnaW50XCIsYWRMPVwidW5yZWFjaGFibGUgdHlwZV90b2tlblwiLGFkTT1MbyxhZFo9WzExLDFdLGFkMD1bMTEsMF0sYWRJPVwidW5yZWFjaGFibGUgdGVtcGxhdGVfdGFpbFwiLGFkSj1BLGFkSz1BLGFkSD1cInVucmVhY2hhYmxlIGpzeF9jaGlsZFwiLGFkRz1cInVucmVhY2hhYmxlIGpzeF90YWdcIixhZG49WzAsSzNdLGFkbz1bMCw5MTNdLGFkcD1bMCxrcV0sYWRxPVswLEJFXSxhZHI9WzAsSlpdLGFkcz1bMCxNZV0sYWR0PVswLDg3NDddLGFkZj1bMCxMNV0sYWRnPVswLDkxNl0sYWRoPVswLDgyMjVdLGFkaT1bMCw5MzVdLGFkaj1bMCxNbF0sYWRrPVswLDkxNF0sYWRsPVswLExxXSxhZG09WzAselhdLGFjOT1bMCx3Wl0sYWNfPVswLDkxNV0sYWMkPVswLEJnXSxhZGE9WzAsOTE5XSxhZGI9WzAsOTE3XSxhZGM9WzAsTW1dLGFkZD1bMCxKM10sYWMxPVswLExVXSxhYzI9WzAsOTI0XSxhYzM9WzAsOTIzXSxhYzQ9WzAsOTIyXSxhYzU9WzAsSkldLGFjNj1bMCw5MjFdLGFjNz1bMCxLR10sYWM4PVswLHhBXSxhZGU9WzAsTVVdLGFjVD1bMCx2U10sYWNVPVswLDkyN10sYWNWPVswLDkzN10sYWNXPVswLEwzXSxhY1g9WzAsTVddLGFjWT1bMCx4V10sYWNaPVswLDMzOF0sYWNMPVswLDM1Ml0sYWNNPVswLDkyOV0sYWNOPVswLDkzNl0sYWNPPVswLDgyNDNdLGFjUD1bMCw5MjhdLGFjUT1bMCw5MzRdLGFjUj1bMCxKbF0sYWNTPVswLE03XSxhY0Q9WzAsOTMzXSxhY0U9WzAsTEVdLGFjRj1bMCx0S10sYWNHPVswLExfXSxhY0g9WzAsOTIwXSxhY0k9WzAsOTMyXSxhY0o9WzAsSyRdLGFjdj1bMCx2Y10sYWN3PVswLEtLXSxhY3g9WzAsTVpdLGFjeT1bMCw5MThdLGFjej1bMCwzNzZdLGFjQT1bMCxLSl0sYWNCPVswLDkyNl0sYWNDPVswLExQXSxhY0s9WzAsTHldLGFjMD1bMCw5MjVdLGFjbj1bMCwzOV0sYWNvPVswLDg3MzZdLGFjcD1bMCw4NzQzXSxhY3E9WzAsMzhdLGFjcj1bMCw5NDVdLGFjcz1bMCw4NTAxXSxhY3Q9WzAsaiRdLGFjZj1bMCw4MjI2XSxhY2c9WzAsSjRdLGFjaD1bMCw5NDZdLGFjaT1bMCw4MjIyXSxhY2o9WzAsTTldLGFjaz1bMCxNQl0sYWNsPVswLDg3NzZdLGFjbT1bMCxNbl0sYWI5PVswLDg3NzNdLGFiXz1bMCw5ODI3XSxhYiQ9WzAsTGFdLGFjYT1bMCw5NjddLGFjYj1bMCxNeF0sYWNjPVswLGxRXSxhY2Q9WzAsS2JdLGFiMT1bMCxLT10sYWIyPVswLDg1OTVdLGFiMz1bMCw4MjI0XSxhYjQ9WzAsODY1OV0sYWI1PVswLEpZXSxhYjY9WzAsODc0Nl0sYWI3PVswLDg2MjldLGFiOD1bMCxuNV0sYWNlPVswLDg3NDVdLGFiVD1bMCw4MTk1XSxhYlU9WzAsODcwOV0sYWJWPVswLExmXSxhYlc9WzAsSnFdLGFiWD1bMCxLcl0sYWJZPVswLG83XSxhYlo9WzAsOTgzMF0sYWJMPVswLDg3MDddLGFiTT1bMCw4MzY0XSxhYk49WzAsTUFdLGFiTz1bMCxrZF0sYWJQPVswLDk1MV0sYWJRPVswLDg4MDFdLGFiUj1bMCw5NDldLGFiUz1bMCw4MTk0XSxhYkQ9WzAsODgwNV0sYWJFPVswLDk0N10sYWJGPVswLDgyNjBdLGFiRz1bMCxMRl0sYWJIPVswLEFPXSxhYkk9WzAscWxdLGFiSj1bMCw4NzA0XSxhYnc9WzAsTUpdLGFieD1bMCxNa10sYWJ5PVswLDgyMzBdLGFiej1bMCw5ODI5XSxhYkE9WzAsODU5Nl0sYWJCPVswLDg2NjBdLGFiQz1bMCw2Ml0sYWJLPVswLDQwMl0sYWIwPVswLDk0OF0sYWN1PVswLE1UXSxhYm89WzAsQSRdLGFicD1bMCw4NzEyXSxhYnE9WzAsTWpdLGFicj1bMCw5NTNdLGFicz1bMCw4NzM0XSxhYnQ9WzAsODQ2NV0sYWJ1PVswLE16XSxhYmc9WzAsODIyMF0sYWJoPVswLDg5NjhdLGFiaT1bMCw4NTkyXSxhYmo9WzAsRG5dLGFiaz1bMCwxMDIxNl0sYWJsPVswLDk1NV0sYWJtPVswLDg2NTZdLGFibj1bMCw5NTRdLGFhXz1bMCw2MF0sYWEkPVswLDgyMTZdLGFiYT1bMCw4MjQ5XSxhYmI9WzAsS3ZdLGFiYz1bMCw5Njc0XSxhYmQ9WzAsODcyN10sYWJlPVswLDg5NzBdLGFhMj1bMCxMbV0sYWEzPVswLDg3MTFdLGFhND1bMCw5NTZdLGFhNT1bMCw4NzIyXSxhYTY9WzAsQU1dLGFhNz1bMCxDbF0sYWE4PVswLDgyMTJdLGFhOT1bMCxNMl0sYWJmPVswLDg4MDRdLGFhVT1bMCw5NTddLGFhVj1bMCxLVV0sYWFXPVswLDg4MzZdLGFhWD1bMCw4NzEzXSxhYVk9WzAsTVldLGFhWj1bMCw4NzE1XSxhYTA9WzAsODgwMF0sYWFNPVswLDg4NTNdLGFhTj1bMCw5NTldLGFhTz1bMCw5NjldLGFhUD1bMCw4MjU0XSxhYVE9WzAsTXddLGFhUj1bMCwzMzldLGFhUz1bMCxqZF0sYWFUPVswLEp4XSxhYUU9WzAsdkNdLGFhRj1bMCxqNV0sYWFHPVswLDg4NTVdLGFhSD1bMCxDR10sYWFJPVswLGFoXSxhYUo9WzAsdEpdLGFhSz1bMCx5Z10sYWF3PVswLEtqXSxhYXg9WzAsTHJdLGFheT1bMCw5ODJdLGFhej1bMCw5NjBdLGFhQT1bMCw5NjZdLGFhQj1bMCw4ODY5XSxhYUM9WzAsODI0MF0sYWFEPVswLDg3MDZdLGFhTD1bMCw4NzQ0XSxhYTE9WzAsODIxMV0sYWFvPVswLDEwMjE3XSxhYXA9WzAsODczMF0sYWFxPVswLDg2NThdLGFhcj1bMCwzNF0sYWFzPVswLDk2OF0sYWF0PVswLDg3MzNdLGFhdT1bMCw4NzE5XSxhYWc9WzAsOTYxXSxhYWg9WzAsODk3MV0sYWFpPVswLE1kXSxhYWo9WzAsODQ3Nl0sYWFrPVswLDgyMjFdLGFhbD1bMCw4OTY5XSxhYW09WzAsODU5NF0sYWFuPVswLG44XSwkXz1bMCxMQV0sJCQ9WzAsTVFdLGFhYT1bMCw4OTAxXSxhYWI9WzAsMzUzXSxhYWM9WzAsODIxOF0sYWFkPVswLDgyMTddLGFhZT1bMCw4MjUwXSwkMj1bMCw4ODM1XSwkMz1bMCw4NzIxXSwkND1bMCw4ODM4XSwkNT1bMCw4ODM0XSwkNj1bMCw5ODI0XSwkNz1bMCw4NzY0XSwkOD1bMCw5NjJdLCQ5PVswLDk2M10sYWFmPVswLDgyMDddLCRVPVswLDk1Ml0sJFY9WzAsODc1Nl0sJFc9WzAsOTY0XSwkWD1bMCxuVV0sJFk9WzAsODgzOV0sJFo9WzAsTWFdLCQwPVswLEFGXSwkTT1bMCxraV0sJE49WzAsODY1N10sJE89WzAsODQ4Ml0sJFA9WzAsREZdLCRRPVswLDczMl0sJFI9WzAsa25dLCRTPVswLDgyMDFdLCRUPVswLDk3N10sJEU9WzAsS0VdLCRGPVswLGo5XSwkRz1bMCw5NjVdLCRIPVswLDk3OF0sJEk9WzAsQk9dLCRKPVswLENrXSwkSz1bMCxMaV0sJHg9WzAsSjFdLCR5PVswLDgyMDVdLCR6PVswLDk1MF0sJEE9WzAscEZdLCRCPVswLE1QXSwkQz1bMCx1YV0sJEQ9WzAsOTU4XSwkTD1bMCw4NTkzXSwkMT1bMCxLaF0sYWF2PVswLDgyNDJdLGFidj1bMCxNcV0sJHc9XCJ1bnJlYWNoYWJsZSByZWdleHBcIiwkbT1cInVucmVhY2hhYmxlIHRva2VuIHdob2xlbnVtYmVyXCIsJGw9XCJ1bnJlYWNoYWJsZSB0b2tlbiB3aG9sZWJpZ2ludFwiLCRrPVwidW5yZWFjaGFibGUgdG9rZW4gZmxvYXRiaWdpbnRcIiwkaj1cInVucmVhY2hhYmxlIHRva2VuIHNjaW51bWJlclwiLCRpPVwidW5yZWFjaGFibGUgdG9rZW4gc2NpYmlnaW50XCIsJGg9XCJ1bnJlYWNoYWJsZSB0b2tlbiBoZXhudW1iZXJcIiwkZz1cInVucmVhY2hhYmxlIHRva2VuIGhleGJpZ2ludFwiLCRmPVwidW5yZWFjaGFibGUgdG9rZW4gbGVnYWN5b2N0bnVtYmVyXCIsJGU9XCJ1bnJlYWNoYWJsZSB0b2tlbiBsZWdhY3lub25vY3RudW1iZXJcIiwkZD1cInVucmVhY2hhYmxlIHRva2VuIG9jdG51bWJlclwiLCRjPVwidW5yZWFjaGFibGUgdG9rZW4gb2N0YmlnaW50XCIsJGI9XCJ1bnJlYWNoYWJsZSB0b2tlbiBiaWdudW1iZXJcIiwkYT1cInVucmVhY2hhYmxlIHRva2VuIGJpZ2ludFwiLF85PVwidW5yZWFjaGFibGUgdG9rZW5cIixfXz1MbyxfJD1bNyxcIiMhXCJdLCRuPVwiZXhwZWN0ZWQgP1wiLF9RPVwidW5yZWFjaGFibGUgc3RyaW5nX2VzY2FwZVwiLF9SPWJsLF9TPWxNLF9UPWxNLF9VPWJsLF9WPXlHLF9XPUxNLF9YPVwiblwiLF9ZPVwiclwiLF9aPVwidFwiLF8wPUtNLF8xPWxNLF8yPWlDLF8zPWlDLF9KPVwidW5yZWFjaGFibGUgaWRfY2hhclwiLF9LPWlDLF9MPWlDLF9IPWxNLF9HPU10LF9GPUw5LF9JPXVHLF9FPVsyNixcInRva2VuIElMTEVHQUxcIl0sYWVoPVswLFsxMSxcInRoZSBpZGVudGlmaWVyIGBcIixbMiwwLFsxMiw5NiwwXV1dLFwidGhlIGlkZW50aWZpZXIgYCVzYFwiXSxhZWc9WzAsMV0sYWVmPVswLDFdLGFlZT1NTixhZWQ9TU4sYWViPVswLFsxMSxcImFuIGlkZW50aWZpZXIuIFdoZW4gZXhwb3J0aW5nIGEgXCIsWzIsMCxbMTEsXCIgYXMgYSBuYW1lZCBleHBvcnQsIHlvdSBtdXN0IHNwZWNpZnkgYSBcIixbMiwwLFsxMSxcIiBuYW1lLiBEaWQgeW91IG1lYW4gYGV4cG9ydCBkZWZhdWx0IFwiLFsyLDAsWzExLFwiIC4uLmA/XCIsMF1dXV1dXV0sXCJhbiBpZGVudGlmaWVyLiBXaGVuIGV4cG9ydGluZyBhICVzIGFzIGEgbmFtZWQgZXhwb3J0LCB5b3UgbXVzdCBzcGVjaWZ5IGEgJXMgbmFtZS4gRGlkIHlvdSBtZWFuIGBleHBvcnQgZGVmYXVsdCAlcyAuLi5gP1wiXSxhZWM9cDIsYWVhPVwiUGVla2luZyBjdXJyZW50IGxvY2F0aW9uIHdoZW4gbm90IGF2YWlsYWJsZVwiLGFkJD1bMCxcInNyYy9wYXJzZXIvcGFyc2VyX2Vudi5tbFwiLDM2NSw5XSxhZF89XCJJbnRlcm5hbCBFcnJvcjogVHJpZWQgdG8gYWRkX2RlY2xhcmVkX3ByaXZhdGUgd2l0aCBvdXRzaWRlIG9mIGNsYXNzIHNjb3BlLlwiLGFkOT1cIkludGVybmFsIEVycm9yOiBgZXhpdF9jbGFzc2AgY2FsbGVkIGJlZm9yZSBhIG1hdGNoaW5nIGBlbnRlcl9jbGFzc2BcIixhZDY9QSxhZDc9WzAsMCwwXSxhZDg9WzAsMCwwXSxhZWk9XCJQYXJzZXJfZW52LlRyeS5Sb2xsYmFja1wiLGFlcD1BLGFlbj1BLGFlaj1bMCxibixkaCxnUyxKUSxMeixoaCxiayxlbSxkVCxjNixneSxlbixmQyxnXyxkdCxoZSxobSxkUyxmTCxmdCxlVixmSyxldixobCxkVyxmcSxmVSxmVyxlOCxlZCxnZSxmcCxnTyxnTCxjVSxkNixmMixiUyxlNixnVSxmXyxmZixmRCxjOCxncSxiUSxndixnOCxkSixocixkMSxkeixmWCxmNyxiTyxlRyxmOCxkYyxodSxkZCxlMCxnbixiSyxkYSxnWixkRCxlWCxlUixkbSxnUSxocCxjOSxlUyxkOCxmeixmOSxoQSxkYixlTCxlVyxkdyxmaCxnMCxlTyxiRSxjWSxlNyxnRSxlSSxmZCxoeSxodyxkVSxlaSxjMSxkWCxnYSxkcixjXyxmdyxlSyxkaSxnYyxncyxnNixkQixmRixmTixmTSxlRixlNSxkdixmZyxkcyxjVyxlbCxndSxkRSxnOSxleixoZCxlOSxmdSxnaCxldCxoaixkbixlZSxkZixlcCxoZyxkSCxocSxkMCxjNSxmVCxnJCxkSSxjWCxlRSxlJCxlWixkWSxkNyxnMyxnUCxlUSxlVSxnTSxlaixnaSxkXyxneCxoayxlYSxlSixmcyxlMyxlWSxkSyxjJCxkUCxmZSxkQSxmRSxldyxmbCxkWixmUSxnNSxmMCxkZyxidSxlYixkMixjNyxlTixnSyxnbSxmQSxnYixiaixleCxkTSxnbyxjZSxkdSxmayxnZixlVCxmJCxkeSxkRixlQyxnVCxkUSxnQyxkJCxkQyxmWixlcyxlZixmYixmUixmdixoeCxnayxleSxlRCxkcCxjVixnTixodCxkUixnSSxmSSxkTyxmbixkMyxlMixhUSxnZCxjWixldSxjVCxmNixlXyxmQixjMixlayxndyxmbSxmYyxobyxmaSxnSCxnQSxjNCxoYyxlTSxobixiRixkayxmUCxoQixmbyxkOSxnMixmaixlQSxmeCxmVixnVixmWSxnRixncCxiTixiTCxmeSxkaixlSCxndCxkNCxmMyxlUCxlaCxjMyxnZyxoeixneixnWCxnRyxmMSxnUixLNCxkTCxLZyxNSyxlcixnWSxlMSxnRCxmcixmNSxnNCxnMSxlQixmTyxnSixnNyxmUyxlcSxodixkeCxocyxkcSxmSCxmYSxiUixoZixkNSxjQyxmNCxkTixmSixnbCxlNCxoYixkRyxmRyxjMCxkbCxlYyxjRSxkZV0sYWVrPVswLGJuLGRoLGdTLGhoLGJrLGVtLGRULGM2LGd5LGVuLGZDLGdfLGR0LGhlLGhtLGRTLGZMLGZ0LGVWLGZLLGV2LGhsLGRXLGZxLGZVLGZXLGU4LGVkLGdlLGZwLGdPLGdMLGNVLGQ2LGYyLGJTLGU2LGdVLGZfLGZmLGZELGM4LGdxLGJRLGd2LGc4LGRKLGhyLGQxLGR6LGZYLGY3LGJPLGVHLGY4LGRjLGh1LGRkLGUwLGduLGJLLGRhLGdaLGRELGVYLGVSLGRtLGdRLGhwLGM5LGVTLGQ4LGZ6LGY5LGhBLGRiLGVMLGVXLGR3LGZoLGcwLGVPLGJFLGNZLGU3LGdFLGVJLGZkLGh5LGh3LGRVLGVpLGMxLGRYLGdhLGRyLGNfLGZ3LGVLLGRpLGdjLGdzLGc2LGRCLGZGLGZOLGZNLGVGLGU1LGR2LGZnLGRzLGNXLGVsLGd1LGRFLGc5LGV6LGhkLGU5LGZ1LGdoLGV0LGhqLGRuLGVlLGRmLGVwLGhnLGRILGhxLGQwLGM1LGZULGckLGRJLGNYLGVFLGUkLGVaLGRZLGQ3LGczLGdQLGVRLGVVLGdNLGVqLGdpLGRfLGd4LGhrLGVhLGVKLGZzLGUzLGVZLGRLLGMkLGRQLGZlLGRBLGZFLGV3LGZsLGRaLGZRLGc1LGYwLGRnLGJ1LGViLGQyLGM3LGVOLGdLLGdtLGZBLGdiLGJqLGV4LGRNLGdvLGNlLGR1LGZrLGdmLGVULGYkLGR5LGRGLGVDLGdULGRRLGdDLGQkLGRDLGZaLGVzLGVmLGZiLGZSLGZ2LGh4LGdrLGV5LGVELGRwLGNWLGdOLGh0LGRSLGdJLGZJLGRPLGZuLGQzLGUyLGFRLGdkLGNaLGV1LGNULGY2LGVfLGZCLGMyLGVrLGd3LGZtLGZjLGhvLGZpLGdILGdBLGM0LGhjLGVNLGhuLGJGLGRrLGZQLGhCLGZvLGQ5LGcyLGZqLGVBLGZ4LGZWLGdWLGZZLGdGLGdwLGJOLGJMLGZ5LGRqLGVILGd0LGQ0LGYzLGVQLGVoLGMzLGdnLGh6LGd6LGdYLGdHLGYxLGdSLGRMLGVyLGdZLGUxLGdELGZyLGY1LGc0LGcxLGVCLGZPLGdKLGc3LGZTLGVxLGh2LGR4LGhzLGRxLGZILGZhLGJSLGhmLGQ1LGNDLGY0LGROLGZKLGdsLGU0LGhiLGRHLGZHLGMwLGRsLGVjLGNFLGRlXSxhZWw9WzAsZDEsZEEsZCQsZHUsZUMsZmEsZUYsZGksaGssZjAsZDUsZlUsaHcsYlEsZmQsY1osaGosZGYsZ0osY1UsZHIsZEssZHYsZWIsZFAsYzQsaG8sZGgsZUwsZVQsZUQsZjksZ1AsZDksZWgsZ2YsZ0EsY1csY2UsaGgsZ0ksYzksZngsZHEsZEMsaHMsZTMsYzIsZGEsZHksZHAsZ3EsZ3MsZE0sZEosZTksZU4saGMsZzMsZHMsZzEsZ1ksY1ksZGUsZVIsZG4sZ1gsaGwsZUssZEQsZ2ksZnIsZFUsYkssZ2EsZ1QsZTcsZWwsZWEsZVksZmssZSQsZGosZTgsZm0saHEsZXAsZF8sZVosZ0MsZEksaHAsZGwsZmosZV8sZzksaHUsZU8sZWMsaG4sZkgsZjcsYmssZ1osZlksZFMsZjgsZXgsaGQsZkosZXksZjIsZmwsZk8sZkYsYzgsYkYsaHQsZlcsYm4sZFksZDYsZ1YsZG0sZ18sZmgsZ0YsZGQsZ2wsZkMsZXIsZlYsZk0sYzYsZEgsYyQsZEcsZnAsZzUsZmksZm4saHksZXUsZDcsZHcsZkksZnQsZ2UsZ0csZW0sZ08sZHosZkwsZzgsZW4sZjUsZDIsY1YsZTEsZUUsZFEsZjEsZ3ksZEwsZnUsZk4sZVUsYzMsZTQsZXosZXEsZUIsaHosZDAsZVcsZ00sZ3osZEUsYmosYk8saG0sZVYsZ3YsZGIsYlMsYk4sZTUsZ28sZUksZTIsZmUsYkUsaGYsZmIsZ0gsYzcsZ0QsZ2QsZlosZkUsZEYsaGUsZmMsZ24saHgsZkEsZWUsZ3csZjYsZDQsZEIsZlgsZ2MsZ0ssYzEsZDgsZWQsZncsZVgsZFgsZkssZzIsaGcsaHYsZUEsZjQsZFosZkQsZU0sZ0wsZiQsZTAsZ2IsY18sZlMsZzYsZnMsZzQsZyQsZGcsZGssZnEsY0UsZFQsZlAsZHgsZFcsaEIsZUosZXcsZUgsZVEsZnosZmcsZlEsZE8sZlQsZWosZXYsZl8saGIsZXQsZjMsaEEsZkcsZE4sYVEsZzAsZ1IsZDMsZ2gsZlIsZnYsaHIsYkwsZXMsZ2csZ1EsZkIsZm8sZ1UsZmYsYzUsZ2ssY1QsZHQsZ04sY1gsZ0UsY0MsZ20sZzcsZ3gsZWksZWYsZ3AsZUcsZWssYlIsYzAsYnUsZnksZ1MsZVAsZGMsZFIsZ3QsZVMsZTYsZ3VdLGFlbT1bMCxkMSxkQSxkJCxkdSxlQyxmYSxlRixkaSxoayxmMCxkNSxmVSxodyxiUSxmZCxjWixoaixkZixnSixjVSxkcixkSyxkdixlYixkUCxjNCxobyxkaCxlTCxlVCxlRCxmOSxnUCxkOSxlaCxnZixnQSxjVyxjZSxoaCxMeixnSSxjOSxmeCxkcSxkQyxocyxlMyxjMixkYSxkeSxkcCxncSxncyxkTSxkSixlOSxlTixoYyxnMyxkcyxnMSxnWSxjWSxkZSxlUixkbixnWCxLZyxobCxlSyxkRCxnaSxmcixkVSxiSyxnYSxnVCxlNyxlbCxlYSxlWSxmayxlJCxkaixlOCxmbSxocSxlcCxkXyxlWixnQyxkSSxocCxkbCxmaixlXyxnOSxodSxlTyxlYyxobixmSCxmNyxiayxnWixmWSxkUyxmOCxleCxoZCxmSixleSxmMixmbCxmTyxmRixjOCxiRixodCxmVyxibixkWSxkNixnVixkbSxnXyxmaCxnRixkZCxnbCxmQyxlcixmVixmTSxjNixkSCxjJCxkRyxmcCxnNSxmaSxmbixoeSxldSxkNyxkdyxmSSxmdCxnZSxnRyxlbSxnTyxkeixmTCxnOCxlbixmNSxkMixjVixlMSxlRSxkUSxmMSxneSxkTCxmdSxmTixlVSxjMyxlNCxleixlcSxlQixoeixkMCxlVyxnTSxneixkRSxiaixiTyxobSxlVixndixkYixiUyxiTixlNSxnbyxlSSxlMixmZSxiRSxoZixmYixnSCxjNyxnRCxnZCxmWixmRSxkRixoZSxmYyxnbixoeCxmQSxlZSxndyxmNixkNCxkQixmWCxnYyxnSyxjMSxkOCxlZCxmdyxlWCxkWCxmSyxnMixoZyxodixlQSxmNCxkWixNSyxmRCxlTSxnTCxmJCxlMCxnYixjXyxmUyxnNixmcyxnNCxnJCxkZyxkayxmcSxLNCxjRSxkVCxmUCxkeCxkVyxKUSxoQixlSixldyxlSCxlUSxmeixmZyxmUSxkTyxmVCxlaixldixmXyxoYixldCxmMyxoQSxmRyxkTixhUSxnMCxnUixkMyxnaCxmUixmdixocixiTCxlcyxnZyxnUSxmQixmbyxnVSxmZixjNSxnayxjVCxkdCxnTixjWCxnRSxjQyxnbSxnNyxneCxlaSxlZixncCxlRyxlayxiUixjMCxidSxmeSxnUyxlUCxkYyxkUixndCxlUyxlNixndV0sYWVzPWpfLGFldD1xcixhZXU9aUUsYWV2PWxOLGFldz1iTyxhZXg9YlEsYWV5PUJLLGFlej1pNyxhZUE9YlMsYWVCPXBtLGFlQz1sRixhZUQ9cVcsYWVFPXB2LGFlRj1sbixhZUc9a2EsYWVIPWpuLGFlST1oNSxhZUo9aFUsYWVLPWJSLGFlTD1wVSxhZU09b3UsYWVOPWJMLGFlTz1qaSxhZVA9bjMsYWVRPXB0LGFlUj1wcixhZVM9bHYsYWVUPWdCLGFlVT1iTSxhZVY9cU0sYWVXPWpxLGFlWD1sRSxhZVk9aDMsYWVaPWhYLGFlMD1sQyxhZTE9bnYsYWUyPWJqLGFlMz1rYixhZTQ9amcsYWU1PWJ1LGFlNj1wTCxhZTc9bHgsYWU4PWxYLGFlOT1sbCxhZV89Ym4sYWUkPWJOLGFmYT1sayxhZmI9ZWcsYWZjPXhvLGFmZD1DZSxhZmU9aXgsYWZmPWpvLGFmZz1wUyxhZmg9bjQsYWZpPWJGLGFmaj1rbyxhZms9amwsYWZsPWo3LGFmbT1oWCxhZm49bHosYWZvPXBRLGFmcD1uMixhZnE9cUssYWZyPXFmLGFmcz1qaCxhZnQ9bEEsYWZ1PWtsLGFmdj1rZixhZnc9bEQsYWZ4PW5MLGFlcT1bMCxwMl0sYWVyPUEsYWZIPVsxOCwxXSxhZkk9WzE4LDBdLGFmSj1bMCwwXSxhZk09aDAsYWZOPVswLDBdLGFmSz1bMCxcImEgdHlwZVwiXSxhZkw9WzAsMF0sYWZPPVswLFwiYSBudW1iZXIgbGl0ZXJhbCB0eXBlXCJdLGFmUD1bMCwwXSxhZlE9bEEsYWZSPWtsLGFmUz1rZixhZlQ9XCJZb3Ugc2hvdWxkIG9ubHkgY2FsbCByZW5kZXJfdHlwZSBhZnRlciBtYWtpbmcgc3VyZSB0aGUgbmV4dCB0b2tlbiBpcyBhIHJlbmRlcnMgdmFyaWFudFwiLGFmVT1bMCxbMCwwLDAsMCwwXV0sYWZWPVswLDAsMCwwXSxhZjk9WzAsMV0sYWYxPVswLGo0LDE0MzYsNl0sYWYyPVswLGo0LDE0MzksNl0sYWY2PVswLGo0LDE1NDIsOF0sYWY3PVswLDFdLGFmOD1bMCxqNCwxNTU5LDhdLGFmMz1cIkNhbiBub3QgaGF2ZSBib3RoIGBzdGF0aWNgIGFuZCBgcHJvdG9gXCIsYWY0PWJNLGFmNT1ESSxhZlo9WzAsMF0sYWZZPVswLFwidGhlIGVuZCBvZiBhIHR1cGxlIHR5cGUgKG5vIHRyYWlsaW5nIGNvbW1hIGlzIGFsbG93ZWQgaW4gaW5leGFjdCB0dXBsZSB0eXBlKS5cIl0sYWZYPVswLGo0LHhXLDE1XSxhZlc9WzAsajQsQUYsMTVdLGFmej1iUCxhZnk9YlAsYWdmPW5XLGFnZz1sbSxhZ2U9WzAsWzExLFwiRmFpbHVyZSB3aGlsZSBsb29raW5nIHVwIFwiLFsyLDAsWzExLFwiLiBJbmRleDogXCIsWzQsMCwwLDAsWzExLFwiLiBMZW5ndGg6IFwiLFs0LDAsMCwwLFsxMiw0NiwwXV1dXV1dXSxcIkZhaWx1cmUgd2hpbGUgbG9va2luZyB1cCAlcy4gSW5kZXg6ICVkLiBMZW5ndGg6ICVkLlwiXSxhZ2I9WzAsMCwwLDBdLGFnYz1cIk9mZnNldF91dGlscy5PZmZzZXRfbG9va3VwX2ZhaWxlZFwiLGFnaD1hcCxhZ2k9TGQsYWdqPWxtLGFnaz1uVyxhZ2w9TDYsYWdtPWxtLGFnbj1uVyxhZ289TTMsYWdwPXlrLGFncT1cIm5vcm1hbFwiLGFndD1lZyxhZ3U9XCJqc3hUYWdcIixhZ3Y9XCJqc3hDaGlsZFwiLGFndz1cInRlbXBsYXRlXCIsYWd4PUxnLGFncj1cImNvbnRleHRcIixhZ3M9ZWcsYWdBPVs2LDBdLGFnRz1bMCwwXSxhZ0I9WzAsMV0sYWdDPVswLDRdLGFnRD1bMCwyXSxhZ0U9WzAsM10sYWdGPVswLDBdLGFnej1iUCxhZ3k9WzAsMCwwLDAsMCwwXSxhaHk9WzAsQ2hdLGFodz1bMCwwXSxhaHg9WzAsMV0sYWh6PVswLDFdLGFoQT1bMCwwXSxhaEI9aDAsYWhDPVswLDcxXSxhaEQ9WzAsODJdLGFoRT1LQyxhaEY9ek0sYWhHPVwiZXhwb3J0c1wiLGFoSD1sUixhaEk9WzAsQSxBLDBdLGFoSj1bMCxLY10sYWhLPVswLDgyXSxhaEw9WzAsXCJhIGRlY2xhcmF0aW9uLCBzdGF0ZW1lbnQgb3IgZXhwb3J0IHNwZWNpZmllcnNcIl0sYWhOPVswLDFdLGFoTT1bMCxBOSwxODYzLDIxXSxhaHM9WzAsXCJ0aGUga2V5d29yZCBgYXNgXCJdLGFocj1bMCwzMF0sYWhxPVswLDMwXSxhaHA9WzAsMF0sYWhvPVswLDFdLGFobT1bMCxLY10sYWhsPVswLFwidGhlIGtleXdvcmQgYGZyb21gXCJdLGFoaz1bMCxBLEEsMF0sYWhpPVswLENoXSxhaGY9XCJMYWJlbFwiLGFoZT1bMCxDaF0sYWcxPVswLDAsMF0sYWdTPVswLDM5XSxhZ1Q9WzAsQTksMzcyLDIyXSxhZ1E9WzAsMzhdLGFnUj1bMCxBOSwzOTEsMjJdLGFnTj1bMCwwXSxhZ0o9XCJ0aGUgdG9rZW4gYDtgXCIsYWdJPVswLDBdLGFnSD1bMCwwXSxhaFE9TTEsYWhSPVswLHAyXSxhaE89TTEsYWhQPVsyNixjZV0sYWlkPWgwLGFpZT1bMCw3MV0sYWhfPVswLEEsMF0sYWg5PWNjLGFoOD1bMCxBLDBdLGFoMT1bMCw3MV0sYWgyPVswLDcxXSxhaDM9al8sYWg0PVswLEEsMF0sYWhaPVswLDAsMF0sYWhZPVswLDAsMF0sYWloPVswLFswLDhdXSxhaWk9WzAsWzAsN11dLGFpaj1bMCxbMCw2XV0sYWlrPVswLFswLDEwXV0sYWlsPVswLFswLDldXSxhaW09WzAsWzAsMTFdXSxhaW49WzAsWzAsNV1dLGFpbz1bMCxbMCw0XV0sYWlwPVswLFswLDJdXSxhaXE9WzAsWzAsM11dLGFpcj1bMCxbMCwxXV0sYWlzPVswLFswLDBdXSxhaXQ9WzAsWzAsMTJdXSxhaXU9WzAsWzAsMTNdXSxhaXY9WzAsWzAsMTRdXSxhaXc9WzAsMF0sYWl4PVswLDFdLGFpeT1bMCwwXSxhaXo9WzAsMl0sYWlBPVswLDNdLGFpQj1bMCw3XSxhaUM9WzAsNl0sYWlEPVswLDRdLGFpRT1bMCw1XSxhaUc9WzAsMV0sYWlGPVswLDBdLGFpST1bMCwxXSxhaUg9WzAsMF0sYWlLPWtiLGFpSj1bMCxcImVpdGhlciBhIGNhbGwgb3IgYWNjZXNzIG9mIGBzdXBlcmBcIl0sYWlMPWtiLGFpTT1iaixhaU49bHQsYWlPPWx0LGFpUD1qcSxhaVE9WzAsXCJ0aGUgaWRlbnRpZmllciBgdGFyZ2V0YFwiXSxhaVI9WzAsMF0sYWlVPVswLDFdLGFpVj1bMCwxXSxhaVM9WzAsMV0sYWlUPVswLDFdLGFpVz1bMCwxXSxhaVg9WzAsNzFdLGFpMD1sTSxhaVo9TXQsYWkxPXVHLGFpMj11RyxhaVk9TDksYWk0PVswLDBdLGFpNT1bMCwxXSxhaTM9WzAsMF0sYWlfPWJ2LGFpJD1idixhaTY9WzAsXCJhIHJlZ3VsYXIgZXhwcmVzc2lvblwiXSxhaTc9QSxhaTg9QSxhaTk9QSxhamE9WzAsNzldLGFqQz1bMCxcInNyYy9wYXJzZXIvZXhwcmVzc2lvbl9wYXJzZXIubWxcIiwxNDQxLDE3XSxhakQ9WzAsXCJhIHRlbXBsYXRlIGxpdGVyYWwgcGFydFwiXSxhakU9WzAsWzAsQSxBXSwxXSxhakE9amssYWp6PVswLDZdLGFqZD1bMCxbMCwxNyxbMCwyXV1dLGFqZT1bMCxbMCwxOCxbMCwzXV1dLGFqZj1bMCxbMCwxOSxbMCw0XV1dLGFqZz1bMCxbMCwwLFswLDVdXV0sYWpoPVswLFswLDEsWzAsNV1dXSxhamk9WzAsWzAsMixbMCw1XV1dLGFqaj1bMCxbMCwzLFswLDVdXV0sYWprPVswLFswLDUsWzAsNl1dXSxhamw9WzAsWzAsNyxbMCw2XV1dLGFqbT1bMCxbMCw0LFswLDZdXV0sYWpuPVswLFswLDYsWzAsNl1dXSxham89WzAsWzAsOCxbMCw3XV1dLGFqcD1bMCxbMCw5LFswLDddXV0sYWpxPVswLFswLDEwLFswLDddXV0sYWpyPVswLFswLDExLFswLDhdXV0sYWpzPVswLFswLDEyLFswLDhdXV0sYWp0PVswLFswLDE1LFswLDldXV0sYWp1PVswLFswLDEzLFswLDldXV0sYWp2PVswLFswLDE0LFsxLDEwXV1dLGFqdz1bMCxbMCwxNixbMCw5XV1dLGFqeD1bMCxbMCwyMSxbMCw2XV1dLGFqeT1bMCxbMCwyMCxbMCw2XV1dLGFqYz1bMjIsRHVdLGFqSz1bMTMsXCJKU1ggZnJhZ21lbnRcIl0sYWpNPWp1LGFqTj1jdixhako9WzAsY0JdLGFqST1bMSxjQl0sYWpIPVswLEEsQSwwXSxhakY9WzAscDJdLGFqRz1BLGFqTz1bMCxcImEgbnVtYmVyIG9yIHN0cmluZyBsaXRlcmFsXCJdLGFqUD1bMCxBLCdcIlwiJywwXSxhalE9WzAsMF0sYWpSPVswLFwiYSBudW1iZXIgbGl0ZXJhbFwiXSxhalM9WzAsWzAsMC4sYmwsMF1dLGFqVD1bMCw4Ml0sYWpVPVsyMCxLQV0sYWpWPVsyMCxsTF0sYWokPWx2LGFrYT1bMCxBLDBdLGFqOT1cInVuZXhwZWN0ZWQgUHJpdmF0ZU5hbWUgaW4gUHJvcGVydHksIGV4cGVjdGVkIGEgUHJpdmF0ZUZpZWxkXCIsYWpfPVswLDAsMF0sYWoyPWlGLGFqOD1cIk11c3QgYmUgb25lIG9mIHRoZSBhYm92ZVwiLGFqNj1bMCwxXSxhajc9WzAsMV0sYWo1PVswLDFdLGFqMT1pRixhajA9aUYsYWpZPUFVLGFqWD1cIkludGVybmFsIEVycm9yOiBwcml2YXRlIG5hbWUgZm91bmQgaW4gb2JqZWN0IHByb3BzXCIsYWtpPVswLDAsMCwwXSxha2s9WzAsTVNdLGFrbD1bMTksWzAsMF1dLGFraj1bMCxNU10sYWttPXVZLGFrbj1cIk5vb286IFwiLGFrZT1qaSxha2Q9XCJQYXJzZXIgZXJyb3I6IE5vIHN1Y2ggdGhpbmcgYXMgYW4gZXhwcmVzc2lvbiBwYXR0ZXJuIVwiLGFrZj1bMCxbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF1dLGFrZz1bMCxcInNyYy9wYXJzZXIvcGFyc2VyX2Zsb3cubWxcIixuNSwyOF0sYWtvPVswLFswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXV0sYWt3PUxkLGFreD15ayxha3k9TTYsYWt6PUowLGFrQj1KMCxha0M9TTYsYWtBPWVnLGFrRD1OYixha0U9YXQsYWtGPWFwLGFrRz1cIkludGVycHJldGVyRGlyZWN0aXZlXCIsYWtIPVwiaW50ZXJwcmV0ZXJcIixha0k9XCJQcm9ncmFtXCIsYWtKPWxWLGFrSz1cIkJyZWFrU3RhdGVtZW50XCIsYWtMPWxWLGFrTT1cIkNvbnRpbnVlU3RhdGVtZW50XCIsYWtOPVwiRGVidWdnZXJTdGF0ZW1lbnRcIixha1Q9am0sYWtVPVwiRGVjbGFyZUV4cG9ydEFsbERlY2xhcmF0aW9uXCIsYWtPPWptLGFrUD1BVyxha1E9Q0osYWtSPWppLGFrUz1cIkRlY2xhcmVFeHBvcnREZWNsYXJhdGlvblwiLGFrVj1hdCxha1c9Yixha1g9XCJEZWNsYXJlTW9kdWxlXCIsYWtZPWFSLGFrWj1cIkRlY2xhcmVNb2R1bGVFeHBvcnRzXCIsYWswPWF0LGFrMT1iLGFrMj1cIkRlY2xhcmVOYW1lc3BhY2VcIixhazM9a2UsYWs0PWF0LGFrNT1cIkRvV2hpbGVTdGF0ZW1lbnRcIixhazY9XCJFbXB0eVN0YXRlbWVudFwiLGFrNz1DdSxhazg9Q0osYWs5PVwiRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXCIsYWxkPUN1LGFsZT10WSxhbGY9am0sYWxnPVwiRXhwb3J0QWxsRGVjbGFyYXRpb25cIixha189Q3UsYWskPWptLGFsYT1BVyxhbGI9Q0osYWxjPVwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiLGFsaD1cImRpcmVjdGl2ZVwiLGFsaT1hUSxhbGo9XCJFeHByZXNzaW9uU3RhdGVtZW50XCIsYWxrPWF0LGFsbD1cInVwZGF0ZVwiLGFsbT1rZSxhbG49Z2osYWxvPVwiRm9yU3RhdGVtZW50XCIsYWxwPVwiZWFjaFwiLGFscT1hdCxhbHI9Y0QsYWxzPWhWLGFsdD1cIkZvckluU3RhdGVtZW50XCIsYWx1PWpvLGFsdj1hdCxhbHc9Y0QsYWx4PWhWLGFseT1cIkZvck9mU3RhdGVtZW50XCIsYWx6PUpXLGFsQT13bixhbEI9a2UsYWxDPVwiSWZTdGF0ZW1lbnRcIixhbEQ9ZWcsYWxJPWgzLGFsSj1hcCxhbEU9TTgsYWxGPWptLGFsRz1BVyxhbEg9XCJJbXBvcnREZWNsYXJhdGlvblwiLGFsSz1hdCxhbEw9bFYsYWxNPVwiTGFiZWxlZFN0YXRlbWVudFwiLGFsTj12byxhbE89YV8sYWxQPVwiTWF0Y2hTdGF0ZW1lbnRcIixhbFE9YV8sYWxSPVwiUmV0dXJuU3RhdGVtZW50XCIsYWxTPXZvLGFsVD1cImRpc2NyaW1pbmFudFwiLGFsVT1cIlN3aXRjaFN0YXRlbWVudFwiLGFsVj1hXyxhbFc9XCJUaHJvd1N0YXRlbWVudFwiLGFsWD1cImZpbmFsaXplclwiLGFsWT1cImhhbmRsZXJcIixhbFo9Y0MsYWwwPVwiVHJ5U3RhdGVtZW50XCIsYWwxPWF0LGFsMj1rZSxhbDM9XCJXaGlsZVN0YXRlbWVudFwiLGFsND1hdCxhbDU9bzksYWw2PVwiV2l0aFN0YXRlbWVudFwiLGFsNz13XyxhbDg9XCJBcnJheUV4cHJlc3Npb25cIixhbDk9YmksYWxfPW9qLGFsJD1hUSxhbWE9YkssYW1iPUVoLGFtYz1peCxhbWQ9YXQsYW1lPWN6LGFtZj1iLGFtZz1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCIsYW1oPWFRLGFtaT1cIkFzQ29uc3RFeHByZXNzaW9uXCIsYW1qPWFSLGFtaz1hUSxhbWw9XCJBc0V4cHJlc3Npb25cIixhbXE9QVUsYW1tPWNELGFtbj1oVixhbW89aSQsYW1wPVwiQXNzaWdubWVudEV4cHJlc3Npb25cIixhbXI9Y0QsYW1zPWhWLGFtdD1pJCxhbXU9XCJCaW5hcnlFeHByZXNzaW9uXCIsYW12PVwiQ2FsbEV4cHJlc3Npb25cIixhbXc9SlcsYW14PXduLGFteT1rZSxhbXo9XCJDb25kaXRpb25hbEV4cHJlc3Npb25cIixhbUE9am0sYW1CPVwiSW1wb3J0RXhwcmVzc2lvblwiLGFtQz1KQyxhbUg9SnosYW1JPUR1LGFtRD1jRCxhbUU9aFYsYW1GPWkkLGFtRz1cIkxvZ2ljYWxFeHByZXNzaW9uXCIsYW1KPXZvLGFtSz1hXyxhbUw9XCJNYXRjaEV4cHJlc3Npb25cIixhbU09XCJNZW1iZXJFeHByZXNzaW9uXCIsYW1OPXFrLGFtTz1sdCxhbVA9XCJNZXRhUHJvcGVydHlcIixhbVE9dXosYW1SPXBBLGFtUz1MMixhbVQ9XCJOZXdFeHByZXNzaW9uXCIsYW1VPXFELGFtVj1cIk9iamVjdEV4cHJlc3Npb25cIixhbVc9YjEsYW1YPVwiT3B0aW9uYWxDYWxsRXhwcmVzc2lvblwiLGFtWT1iMSxhbVo9XCJPcHRpb25hbE1lbWJlckV4cHJlc3Npb25cIixhbTA9TEosYW0xPVwiU2VxdWVuY2VFeHByZXNzaW9uXCIsYW0yPVwiU3VwZXJcIixhbTM9XCJUaGlzRXhwcmVzc2lvblwiLGFtND1hUixhbTU9YVEsYW02PVwiVHlwZUNhc3RFeHByZXNzaW9uXCIsYW03PWFSLGFtOD1hUSxhbTk9XCJTYXRpc2ZpZXNFeHByZXNzaW9uXCIsYW1fPWFfLGFtJD1cIkF3YWl0RXhwcmVzc2lvblwiLGFuYT1iUCxhbmY9aGksYW5nPU1fLGFuaD1Layxhbmk9aDMsYW5qPWhYLGFuaz1sRSxhbmw9XCJtYXRjaGVkIGFib3ZlXCIsYW5iPWFfLGFuYz1KTSxhbmQ9aSQsYW5lPVwiVW5hcnlFeHByZXNzaW9uXCIsYW5tPUpWLGFucj1NdSxhbm49Sk0sYW5vPWFfLGFucD1pJCxhbnE9XCJVcGRhdGVFeHByZXNzaW9uXCIsYW5zPVwiZGVsZWdhdGVcIixhbnQ9YV8sYW51PVwiWWllbGRFeHByZXNzaW9uXCIsYW52PU5hLGFudz1hdCxhbng9YkUsYW55PVwiTWF0Y2hFeHByZXNzaW9uQ2FzZVwiLGFuej1OYSxhbkE9YXQsYW5CPWJFLGFuQz1cIk1hdGNoU3RhdGVtZW50Q2FzZVwiLGFuTz1wQyxhblA9YkUsYW5RPWlELGFuUj1cIk1hdGNoT2JqZWN0UGF0dGVyblByb3BlcnR5XCIsYW5MPXFrLGFuTT1cImJhc2VcIixhbk49XCJNYXRjaE1lbWJlclBhdHRlcm5cIixhbkQ9XCJsaXRlcmFsXCIsYW5FPVwiTWF0Y2hMaXRlcmFsUGF0dGVyblwiLGFuRj1cIk1hdGNoV2lsZGNhcmRQYXR0ZXJuXCIsYW5HPWJQLGFuSz1oaSxhbkg9YV8sYW5JPWkkLGFuSj1cIk1hdGNoVW5hcnlQYXR0ZXJuXCIsYW5TPWxPLGFuVD1xRCxhblU9XCJNYXRjaE9iamVjdFBhdHRlcm5cIixhblY9bE8sYW5XPXdfLGFuWD1cIk1hdGNoQXJyYXlQYXR0ZXJuXCIsYW5ZPVwicGF0dGVybnNcIixhblo9XCJNYXRjaE9yUGF0dGVyblwiLGFuMD1vaSxhbjE9YkUsYW4yPVwiTWF0Y2hBc1BhdHRlcm5cIixhbjM9YixhbjQ9XCJNYXRjaElkZW50aWZpZXJQYXR0ZXJuXCIsYW41PWhXLGFuNj1iLGFuNz1cIk1hdGNoQmluZGluZ1BhdHRlcm5cIixhbjg9YV8sYW45PVwiTWF0Y2hSZXN0UGF0dGVyblwiLGFvaj1cIlVuZXhwZWN0ZWQgRnVuY3Rpb25EZWNsYXJhdGlvbiB3aXRoIEJvZHlFeHByZXNzaW9uXCIsYW5fPVwiSG9va0RlY2xhcmF0aW9uXCIsYW9lPWFRLGFvZj1iSyxhb2c9RWgsYW9oPWl4LGFvaT1cIkZ1bmN0aW9uRGVjbGFyYXRpb25cIixhbiQ9YmksYW9hPW9qLGFvYj1hdCxhb2M9Y3osYW9kPWIsYW91PVwiVW5leHBlY3RlZCBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBCb2R5RXhwcmVzc2lvblwiLGFvaz1iaSxhb2w9b2osYW9tPWFRLGFvbj1iSyxhb289RWgsYW9wPWl4LGFvcT1hdCxhb3I9Y3osYW9zPWIsYW90PVwiRnVuY3Rpb25FeHByZXNzaW9uXCIsYW92PWIxLGFvdz1hUixhb3g9YlUsYW95PXpxLGFvej1iMSxhb0E9YVIsYW9CPWJVLGFvQz1cIlByaXZhdGVJZGVudGlmaWVyXCIsYW9EPWIxLGFvRT1hUixhb0Y9YlUsYW9HPXpxLGFvSD13bixhb0k9a2UsYW9KPVwiU3dpdGNoQ2FzZVwiLGFvSz1hdCxhb0w9XCJwYXJhbVwiLGFvTT1cIkNhdGNoQ2xhdXNlXCIsYW9OPWF0LGFvTz1cIkJsb2NrU3RhdGVtZW50XCIsYW9QPWhXLGFvUT1iLGFvUj1cIkRlY2xhcmVWYXJpYWJsZVwiLGFvVj1cIkRlY2xhcmVIb29rXCIsYW9TPWJLLGFvVD1cIkRlY2xhcmVGdW5jdGlvblwiLGFvVT1iLGFvVz1LQixhb1g9amcsYW9ZPWdCLGFvWj1hdCxhbzA9YmksYW8xPWIsYW8yPVwiRGVjbGFyZUNsYXNzXCIsYW8zPWJpLGFvND1BWSxhbzU9Y3osYW82PWxPLGFvNz1jeixhbzg9Yixhbzk9XCJEZWNsYXJlQ29tcG9uZW50XCIsYW9fPWJpLGFvJD1BWSxhcGE9bE8sYXBiPWN6LGFwYz1cIkNvbXBvbmVudFR5cGVBbm5vdGF0aW9uXCIsYXBkPWIxLGFwZT1hUixhcGY9YlUsYXBnPVwiQ29tcG9uZW50VHlwZVBhcmFtZXRlclwiLGFwaD1hdCxhcGk9YixhcGo9XCJEZWNsYXJlRW51bVwiLGFwaz1nQixhcGw9YXQsYXBtPWJpLGFwbj1iLGFwbz1cIkRlY2xhcmVJbnRlcmZhY2VcIixhcHA9YXAsYXBxPWVnLGFwcj10WSxhcHM9XCJFeHBvcnROYW1lc3BhY2VTcGVjaWZpZXJcIixhcHQ9Y0QsYXB1PWJpLGFwdj1iLGFwdz1cIkRlY2xhcmVUeXBlQWxpYXNcIixhcHg9Y0QsYXB5PWJpLGFwej1iLGFwQT1cIlR5cGVBbGlhc1wiLGFwQj1cIkRlY2xhcmVPcGFxdWVUeXBlXCIsYXBHPVwiT3BhcXVlVHlwZVwiLGFwQz1cInN1cGVydHlwZVwiLGFwRD1cImltcGx0eXBlXCIsYXBFPWJpLGFwRj1iLGFwSD1cIkNsYXNzRGVjbGFyYXRpb25cIixhcEk9XCJDbGFzc0V4cHJlc3Npb25cIixhcEo9cXosYXBLPWpnLGFwTD1cInN1cGVyVHlwZVBhcmFtZXRlcnNcIixhcE09XCJzdXBlckNsYXNzXCIsYXBOPWJpLGFwTz1hdCxhcFA9YixhcFE9YVEsYXBSPVwiRGVjb3JhdG9yXCIsYXBTPWJpLGFwVD1iLGFwVT1cIkNsYXNzSW1wbGVtZW50c1wiLGFwVj1hdCxhcFc9XCJDbGFzc0JvZHlcIixhcFg9aTksYXA1PWxJLGFwNj1qdCxhcDc9ajYsYXBZPXF6LGFwWj1rZyxhcDA9Yk0sYXAxPWhXLGFwMj1hcCxhcDM9aUQsYXA0PVwiTWV0aG9kRGVmaW5pdGlvblwiLGFwOD1sayxhcWU9cXosYXA5PWJrLGFwXz1iTSxhcCQ9a2csYXFhPWFSLGFxYj1hcCxhcWM9aUQsYXFkPUttLGFxbz1cIkludGVybmFsIEVycm9yOiBQcml2YXRlIG5hbWUgZm91bmQgaW4gY2xhc3MgcHJvcFwiLGFxZj1sayxhcW49cXosYXFnPWJrLGFxaD1iTSxhcWk9a2csYXFqPWFSLGFxaz1hcCxhcWw9aUQsYXFtPUttLGFxcD1iaSxhcXE9QVksYXFyPWN6LGFxcz1iLGFxdD1hdCxhcXU9XCJDb21wb25lbnREZWNsYXJhdGlvblwiLGFxdj1hXyxhcXc9Q0gsYXF4PWNELGFxeT1oVixhcXo9cWksYXFBPXBDLGFxQj1sSyxhcUM9YlUsYXFEPVwiQ29tcG9uZW50UGFyYW1ldGVyXCIsYXE4PWdqLGFxOT1iLGFxXz1cIkVudW1CaWdJbnRNZW1iZXJcIixhcTI9YixhcTM9TFcsYXFZPWdqLGFxWj1iLGFxMD1cIkVudW1TdHJpbmdNZW1iZXJcIixhcVM9YixhcVQ9TFcsYXFOPWdqLGFxTz1iLGFxUD1cIkVudW1OdW1iZXJNZW1iZXJcIixhcUc9Z2osYXFIPWIsYXFJPVwiRW51bUJvb2xlYW5NZW1iZXJcIixhcUU9bG8sYXFGPXBpLGFxSj1sdSxhcUs9XCJFbnVtQm9vbGVhbkJvZHlcIixhcUw9bG8sYXFNPXBpLGFxUT1sdSxhcVI9XCJFbnVtTnVtYmVyQm9keVwiLGFxVT1sbyxhcVY9cGksYXFXPWx1LGFxWD1cIkVudW1TdHJpbmdCb2R5XCIsYXExPWxvLGFxND1sdSxhcTU9XCJFbnVtU3ltYm9sQm9keVwiLGFxNj1sbyxhcTc9cGksYXEkPWx1LGFyYT1cIkVudW1CaWdJbnRCb2R5XCIsYXJiPWF0LGFyYz1iLGFyZD1cIkVudW1EZWNsYXJhdGlvblwiLGFyZT1nQixhcmY9YXQsYXJnPWJpLGFyaD1iLGFyaT1cIkludGVyZmFjZURlY2xhcmF0aW9uXCIsYXJqPWJpLGFyaz1iLGFybD1cIkludGVyZmFjZUV4dGVuZHNcIixhcm09YVIsYXJuPXFELGFybz1cIk9iamVjdFBhdHRlcm5cIixhcnA9YVIsYXJxPXdfLGFycj1cIkFycmF5UGF0dGVyblwiLGFycz1jRCxhcnQ9aFYsYXJ1PXFpLGFydj1hUixhcnc9YlUsYXJ4PXpxLGFyeT1hXyxhcno9Q0gsYXJBPWFfLGFyQj1DSCxhckM9Y0QsYXJEPWhWLGFyRT1xaSxhckY9Z2osYXJPPWdqLGFyUD1qdCxhclE9ajYsYXJOPUs2LGFyRz1rZyxhckg9cEMsYXJJPWxJLGFySj1oVyxhcks9YXAsYXJMPWlELGFyTT1LVCxhclI9YV8sYXJTPU01LGFyVD1jRCxhclU9aFYsYXJWPXFpLGFyVz1rZyxhclg9cEMsYXJZPWxJLGFyWj1oVyxhcjA9YXAsYXIxPWlELGFyMj1LVCxhcjM9YV8sYXI0PU01LGFyNT1jZCxhcjY9YXAsYXI3PWtwLGFzYT1BLGFyOD1jZCxhcjk9amwsYXJfPWFwLGFyJD1rcCxhc2I9Y2QsYXNjPWFwLGFzZD1rcCxhc2U9aFUsYXNpPWg1LGFzZj1jZCxhc2c9YXAsYXNoPWtwLGFzaj1cImZsYWdzXCIsYXNrPWJFLGFzbD1cInJlZ2V4XCIsYXNtPWNkLGFzbj1hcCxhc289a3AsYXNwPWNkLGFzcT1hcCxhc3I9a3AsYXNzPUxKLGFzdD1cInF1YXNpc1wiLGFzdT1cIlRlbXBsYXRlTGl0ZXJhbFwiLGFzdj1cImNvb2tlZFwiLGFzdz1jZCxhc3g9XCJ0YWlsXCIsYXN5PWFwLGFzej1cIlRlbXBsYXRlRWxlbWVudFwiLGFzQT1cInF1YXNpXCIsYXNCPVwidGFnXCIsYXNDPVwiVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uXCIsYXNEPWxGLGFzRT1rYSxhc0Y9bG4sYXNHPWhXLGFzSD1cImRlY2xhcmF0aW9uc1wiLGFzST1cIlZhcmlhYmxlRGVjbGFyYXRpb25cIixhc0o9Z2osYXNLPWIsYXNMPVwiVmFyaWFibGVEZWNsYXJhdG9yXCIsYXNNPVwicGx1c1wiLGFzUD1LRixhc1E9amgsYXNSPWlFLGFzUz11WCxhc1Q9XCJpbi1vdXRcIixhc049aFcsYXNPPVwiVmFyaWFuY2VcIixhc1U9XCJBbnlUeXBlQW5ub3RhdGlvblwiLGFzVj1cIk1peGVkVHlwZUFubm90YXRpb25cIixhc1c9XCJFbXB0eVR5cGVBbm5vdGF0aW9uXCIsYXNYPVwiVm9pZFR5cGVBbm5vdGF0aW9uXCIsYXNZPVwiTnVsbExpdGVyYWxUeXBlQW5ub3RhdGlvblwiLGFzWj1cIlN5bWJvbFR5cGVBbm5vdGF0aW9uXCIsYXMwPVwiTnVtYmVyVHlwZUFubm90YXRpb25cIixhczE9XCJCaWdJbnRUeXBlQW5ub3RhdGlvblwiLGFzMj1cIlN0cmluZ1R5cGVBbm5vdGF0aW9uXCIsYXMzPVwiQm9vbGVhblR5cGVBbm5vdGF0aW9uXCIsYXM0PWFSLGFzNT1cIk51bGxhYmxlVHlwZUFubm90YXRpb25cIixhczY9XCJVbmtub3duVHlwZUFubm90YXRpb25cIixhczc9XCJOZXZlclR5cGVBbm5vdGF0aW9uXCIsYXM4PVwiVW5kZWZpbmVkVHlwZUFubm90YXRpb25cIixhczk9aFcsYXNfPWFSLGFzJD1cInBhcmFtZXRlck5hbWVcIixhdGE9XCJUeXBlUHJlZGljYXRlXCIsYXRiPVwiSG9va1R5cGVBbm5vdGF0aW9uXCIsYXRoPVwiRnVuY3Rpb25UeXBlQW5ub3RhdGlvblwiLGF0Zz1pNyxhdGM9YmksYXRkPWxPLGF0ZT1vaixhdGY9Y3osYXRpPWIxLGF0aj1hUixhdGs9YlUsYXRsPU1GLGF0bT1iMSxhdG49YVIsYXRvPWJVLGF0cD1NRixhdHE9WzAsMCwwLDAsMF0sYXRyPVwiaW50ZXJuYWxTbG90c1wiLGF0cz1cImNhbGxQcm9wZXJ0aWVzXCIsYXR0PVwiaW5kZXhlcnNcIixhdHU9cUQsYXR2PVwiZXhhY3RcIixhdHc9S3MsYXR4PVwiT2JqZWN0VHlwZUFubm90YXRpb25cIixhdEs9SzYsYXRMPVwiVGhlcmUgc2hvdWxkIG5vdCBiZSBjb21wdXRlZCBvYmplY3QgdHlwZSBwcm9wZXJ0eSBrZXlzXCIsYXR5PWdqLGF0ST1qdCxhdEo9ajYsYXR6PWhXLGF0QT1iayxhdEI9REksYXRDPWJNLGF0RD1iMSxhdEU9bEksYXRGPWFwLGF0Rz1pRCxhdEg9XCJPYmplY3RUeXBlUHJvcGVydHlcIixhdE09YV8sYXROPVwiT2JqZWN0VHlwZVNwcmVhZFByb3BlcnR5XCIsYXRPPWJrLGF0UD1iTSxhdFE9YXAsYXRSPWlELGF0Uz1iLGF0VD1cIk9iamVjdFR5cGVJbmRleGVyXCIsYXRVPWJNLGF0Vj1hcCxhdFc9XCJPYmplY3RUeXBlQ2FsbFByb3BlcnR5XCIsYXRYPWIxLGF0WT1iayxhdFo9XCJzb3VyY2VUeXBlXCIsYXQwPVwicHJvcFR5cGVcIixhdDE9XCJrZXlUcGFyYW1cIixhdDI9XCJPYmplY3RUeXBlTWFwcGVkVHlwZVByb3BlcnR5XCIsYXQzPWFwLGF0ND1sSSxhdDU9Yk0sYXQ2PWIxLGF0Nz1iLGF0OD1cIk9iamVjdFR5cGVJbnRlcm5hbFNsb3RcIixhdDk9YXQsYXRfPWdCLGF0JD1cIkludGVyZmFjZVR5cGVBbm5vdGF0aW9uXCIsYXVhPUp1LGF1Yj1cIkFycmF5VHlwZUFubm90YXRpb25cIixhdWM9XCJmYWxzZVR5cGVcIixhdWQ9XCJ0cnVlVHlwZVwiLGF1ZT1cImV4dGVuZHNUeXBlXCIsYXVmPVwiY2hlY2tUeXBlXCIsYXVnPVwiQ29uZGl0aW9uYWxUeXBlQW5ub3RhdGlvblwiLGF1aD1cInR5cGVQYXJhbWV0ZXJcIixhdWk9XCJJbmZlclR5cGVBbm5vdGF0aW9uXCIsYXVqPWIsYXVrPUtQLGF1bD1cIlF1YWxpZmllZFR5cGVJZGVudGlmaWVyXCIsYXVtPWJpLGF1bj1iLGF1bz1cIkdlbmVyaWNUeXBlQW5ub3RhdGlvblwiLGF1cD1cImluZGV4VHlwZVwiLGF1cT1cIm9iamVjdFR5cGVcIixhdXI9XCJJbmRleGVkQWNjZXNzVHlwZVwiLGF1cz1iMSxhdXQ9XCJPcHRpb25hbEluZGV4ZWRBY2Nlc3NUeXBlXCIsYXV1PUFTLGF1dj1cIlVuaW9uVHlwZUFubm90YXRpb25cIixhdXc9QVMsYXV4PVwiSW50ZXJzZWN0aW9uVHlwZUFubm90YXRpb25cIixhdXk9cEEsYXV6PWFfLGF1QT1cIlR5cGVvZlR5cGVBbm5vdGF0aW9uXCIsYXVCPWIsYXVDPUtQLGF1RD1cIlF1YWxpZmllZFR5cGVvZklkZW50aWZpZXJcIixhdUU9YV8sYXVGPVwiS2V5b2ZUeXBlQW5ub3RhdGlvblwiLGF1Rz1rbSxhdUg9TU0sYXVJPUpKLGF1Sj1hUixhdUs9aSQsYXVMPVwiVHlwZU9wZXJhdG9yXCIsYXVNPWpoLGF1Tj1LcyxhdU89XCJlbGVtZW50VHlwZXNcIixhdVA9XCJUdXBsZVR5cGVBbm5vdGF0aW9uXCIsYXVRPWIxLGF1Uj1iayxhdVM9SnUsYXVUPWxWLGF1VT1cIlR1cGxlVHlwZUxhYmVsZWRFbGVtZW50XCIsYXVWPWFSLGF1Vz1sVixhdVg9XCJUdXBsZVR5cGVTcHJlYWRFbGVtZW50XCIsYXVZPWNkLGF1Wj1hcCxhdTA9XCJTdHJpbmdMaXRlcmFsVHlwZUFubm90YXRpb25cIixhdTE9Y2QsYXUyPWFwLGF1Mz1cIk51bWJlckxpdGVyYWxUeXBlQW5ub3RhdGlvblwiLGF1ND1jZCxhdTU9YXAsYXU2PVwiQmlnSW50TGl0ZXJhbFR5cGVBbm5vdGF0aW9uXCIsYXU3PWhVLGF1JD1oNSxhdTg9Y2QsYXU5PWFwLGF1Xz1cIkJvb2xlYW5MaXRlcmFsVHlwZUFubm90YXRpb25cIixhdmE9XCJFeGlzdHNUeXBlQW5ub3RhdGlvblwiLGF2Yj1hUixhdmM9TE8sYXZkPWFSLGF2ZT1MTyxhdmY9Y3osYXZnPVwiVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uXCIsYXZoPVwidXNlc0V4dGVuZHNCb3VuZFwiLGF2aT1qaSxhdmo9YmssYXZrPVwiYm91bmRcIixhdmw9YlUsYXZtPVwiVHlwZVBhcmFtZXRlclwiLGF2bj1jeixhdm89TEQsYXZwPWN6LGF2cT1MRCxhdnI9amssYXZzPUpuLGF2dD1cImNsb3NpbmdFbGVtZW50XCIsYXZ1PVwib3BlbmluZ0VsZW1lbnRcIixhdnY9XCJKU1hFbGVtZW50XCIsYXZ3PVwiY2xvc2luZ0ZyYWdtZW50XCIsYXZ4PUpuLGF2eT1cIm9wZW5pbmdGcmFnbWVudFwiLGF2ej1cIkpTWEZyYWdtZW50XCIsYXZBPXBBLGF2Qj1cInNlbGZDbG9zaW5nXCIsYXZDPVwiYXR0cmlidXRlc1wiLGF2RD1iVSxhdkU9XCJKU1hPcGVuaW5nRWxlbWVudFwiLGF2Rj1cIkpTWE9wZW5pbmdGcmFnbWVudFwiLGF2Rz1iVSxhdkg9XCJKU1hDbG9zaW5nRWxlbWVudFwiLGF2ST1cIkpTWENsb3NpbmdGcmFnbWVudFwiLGF2Sj1hcCxhdks9YlUsYXZMPVwiSlNYQXR0cmlidXRlXCIsYXZNPWFfLGF2Tj1cIkpTWFNwcmVhZEF0dHJpYnV0ZVwiLGF2UT1cIkpTWEVtcHR5RXhwcmVzc2lvblwiLGF2Tz1hUSxhdlA9XCJKU1hFeHByZXNzaW9uQ29udGFpbmVyXCIsYXZSPWFRLGF2Uz1cIkpTWFNwcmVhZENoaWxkXCIsYXZUPWNkLGF2VT1hcCxhdlY9XCJKU1hUZXh0XCIsYXZXPXFrLGF2WD1vOSxhdlk9XCJKU1hNZW1iZXJFeHByZXNzaW9uXCIsYXZaPWJVLGF2MD16TSxhdjE9XCJKU1hOYW1lc3BhY2VkTmFtZVwiLGF2Mj1iVSxhdjM9XCJKU1hJZGVudGlmaWVyXCIsYXY0PXRZLGF2NT1sSyxhdjY9XCJFeHBvcnRTcGVjaWZpZXJcIixhdjc9bEssYXY4PVwiSW1wb3J0RGVmYXVsdFNwZWNpZmllclwiLGF2OT1sSyxhdl89XCJJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXJcIixhdiQ9TTgsYXdhPWxLLGF3Yj1cImltcG9ydGVkXCIsYXdjPVwiSW1wb3J0U3BlY2lmaWVyXCIsYXdkPVwiTGluZVwiLGF3Zj1cIkJsb2NrXCIsYXdlPWFwLGF3Zz1hcCxhd2g9XCJEZWNsYXJlZFByZWRpY2F0ZVwiLGF3aT1cIkluZmVycmVkUHJlZGljYXRlXCIsYXdqPXV6LGF3az1wQSxhd2w9TDIsYXdtPWtnLGF3bj1xayxhd289bzksYWt1PVwibWVzc2FnZVwiLGFrdj15ayxha3I9TDYsYWtzPU0zLGFrdD1qbSxha3A9bG0sYWtxPW5XLGF3cD1bMCxibixkaCxnUyxoaCxiayxlbSxkVCxjNixneSxlbixmQyxnXyxkdCxoZSxobSxkUyxmTCxmdCxlVixmSyxldixobCxkVyxmcSxmVSxmVyxlOCxlZCxnZSxmcCxnTyxnTCxjVSxkNixmMixiUyxlNixnVSxmXyxmZixmRCxjOCxncSxiUSxndixnOCxkSixocixkMSxkeixmWCxmNyxiTyxlRyxmOCxkYyxodSxkZCxlMCxnbixiSyxkYSxnWixkRCxlWCxlUixkbSxnUSxocCxjOSxlUyxkOCxmeixmOSxoQSxkYixlTCxlVyxkdyxmaCxnMCxlTyxiRSxjWSxlNyxnRSxlSSxmZCxoeSxodyxkVSxlaSxjMSxkWCxnYSxkcixjXyxmdyxlSyxkaSxnYyxncyxnNixkQixmRixmTixmTSxlRixlNSxkdixmZyxkcyxjVyxlbCxndSxkRSxnOSxleixoZCxlOSxmdSxnaCxldCxoaixkbixlZSxkZixlcCxoZyxkSCxocSxkMCxjNSxmVCxnJCxkSSxjWCxlRSxlJCxlWixkWSxkNyxnMyxnUCxlUSxlVSxnTSxlaixnaSxkXyxneCxoayxlYSxlSixmcyxlMyxlWSxkSyxjJCxkUCxmZSxkQSxmRSxldyxmbCxkWixmUSxnNSxmMCxkZyxidSxlYixkMixjNyxlTixnSyxnbSxmQSxnYixiaixleCxkTSxnbyxjZSxkdSxmayxnZixlVCxmJCxkeSxkRixlQyxnVCxkUSxnQyxkJCxkQyxmWixlcyxlZixmYixmUixmdixoeCxnayxleSxlRCxkcCxjVixnTixodCxkUixnSSxmSSxkTyxmbixkMyxlMixhUSxnZCxjWixldSxjVCxmNixlXyxmQixjMixlayxndyxmbSxmYyxobyxmaSxnSCxnQSxjNCxoYyxlTSxobixiRixkayxmUCxoQixmbyxkOSxnMixmaixlQSxmeCxmVixnVixmWSxnRixncCxiTixiTCxmeSxkaixlSCxndCxkNCxmMyxlUCxlaCxjMyxnZyxoeixneixnWCxnRyxmMSxnUixkTCxlcixnWSxlMSxnRCxmcixmNSxnNCxnMSxlQixmTyxnSixnNyxmUyxlcSxodixkeCxocyxkcSxmSCxmYSxiUixoZixkNSxjQyxmNCxkTixmSixnbCxlNCxoYixkRyxmRyxjMCxkbCxlYyxjRSxkZV0sYXdxPVswLGQxLGRBLGQkLGR1LGVDLGZhLGVGLGRpLGhrLGYwLGQ1LGZVLGh3LGJRLGZkLGNaLGhqLGRmLGdKLGNVLGRyLGRLLGR2LGViLGRQLGM0LGhvLGRoLGVMLGVULGVELGY5LGdQLGQ5LGVoLGdmLGdBLGNXLGNlLGhoLGdJLGM5LGZ4LGRxLGRDLGhzLGUzLGMyLGRhLGR5LGRwLGdxLGdzLGRNLGRKLGU5LGVOLGhjLGczLGRzLGcxLGdZLGNZLGRlLGVSLGRuLGdYLGhsLGVLLGRELGdpLGZyLGRVLGJLLGdhLGdULGU3LGVsLGVhLGVZLGZrLGUkLGRqLGU4LGZtLGhxLGVwLGRfLGVaLGdDLGRJLGhwLGRsLGZqLGVfLGc5LGh1LGVPLGVjLGhuLGZILGY3LGJrLGdaLGZZLGRTLGY4LGV4LGhkLGZKLGV5LGYyLGZsLGZPLGZGLGM4LGJGLGh0LGZXLGJuLGRZLGQ2LGdWLGRtLGdfLGZoLGdGLGRkLGdsLGZDLGVyLGZWLGZNLGM2LGRILGMkLGRHLGZwLGc1LGZpLGZuLGh5LGV1LGQ3LGR3LGZJLGZ0LGdlLGdHLGVtLGdPLGR6LGZMLGc4LGVuLGY1LGQyLGNWLGUxLGVFLGRRLGYxLGd5LGRMLGZ1LGZOLGVVLGMzLGU0LGV6LGVxLGVCLGh6LGQwLGVXLGdNLGd6LGRFLGJqLGJPLGhtLGVWLGd2LGRiLGJTLGJOLGU1LGdvLGVJLGUyLGZlLGJFLGhmLGZiLGdILGM3LGdELGdkLGZaLGZFLGRGLGhlLGZjLGduLGh4LGZBLGVlLGd3LGY2LGQ0LGRCLGZYLGdjLGdLLGMxLGQ4LGVkLGZ3LGVYLGRYLGZLLGcyLGhnLGh2LGVBLGY0LGRaLGZELGVNLGdMLGYkLGUwLGdiLGNfLGZTLGc2LGZzLGc0LGckLGRnLGRrLGZxLGNFLGRULGZQLGR4LGRXLGhCLGVKLGV3LGVILGVRLGZ6LGZnLGZRLGRPLGZULGVqLGV2LGZfLGhiLGV0LGYzLGhBLGZHLGROLGFRLGcwLGdSLGQzLGdoLGZSLGZ2LGhyLGJMLGVzLGdnLGdRLGZCLGZvLGdVLGZmLGM1LGdrLGNULGR0LGdOLGNYLGdFLGNDLGdtLGc3LGd4LGVpLGVmLGdwLGVHLGVrLGJSLGMwLGJ1LGZ5LGdTLGVQLGRjLGRSLGd0LGVTLGU2LGd1XSxhd3I9WzAsZGUsY0UsZWMsZGwsYzAsZkcsZEcsaGIsZTQsZ2wsZkosZE4sZjQsY0MsZDUsaGYsYlIsZmEsZkgsZHEsaHMsZHgsaHYsZXEsZlMsZzcsZ0osZk8sZUIsZzEsZzQsZjUsZnIsZ0QsZTEsZ1ksZXIsZEwsZ1IsZjEsZ0csZ1gsZ3osaHosZ2csYzMsZWgsZVAsZjMsZDQsZ3QsZUgsZGosZnksYkwsYk4sZ3AsZ0YsZlksZ1YsZlYsZngsZUEsZmosZzIsZDksZm8saEIsZlAsZGssYkYsaG4sZU0saGMsYzQsZ0EsZ0gsZmksaG8sZmMsZm0sZ3csZWssYzIsZkIsZV8sZjYsY1QsZXUsY1osZ2QsYVEsZTIsZDMsZm4sZE8sZkksZ0ksZFIsaHQsZ04sY1YsZHAsZUQsZXksZ2ssaHgsZnYsZlIsZmIsZWYsZXMsZlosZEMsZCQsZ0MsZFEsZ1QsZUMsZEYsZHksZiQsZVQsZ2YsZmssZHUsY2UsZ28sZE0sZXgsYmosZ2IsZkEsZ20sZ0ssZU4sYzcsZDIsZWIsYnUsZGcsZjAsZzUsZlEsZFosZmwsZXcsZkUsZEEsZmUsZFAsYyQsZEssZVksZTMsZnMsZUosZWEsaGssZ3gsZF8sZ2ksZWosZ00sZVUsZVEsZ1AsZzMsZDcsZFksZVosZSQsZUUsY1gsZEksZyQsZlQsYzUsZDAsaHEsZEgsaGcsZXAsZGYsZWUsZG4saGosZXQsZ2gsZnUsZTksaGQsZXosZzksZEUsZ3UsZWwsY1csZHMsZmcsZHYsZTUsZUYsZk0sZk4sZkYsZEIsZzYsZ3MsZ2MsZGksZUssZncsY18sZHIsZ2EsZFgsYzEsZWksZFUsaHcsaHksZmQsZUksZ0UsZTcsY1ksYkUsZU8sZzAsZmgsZHcsZVcsZUwsZGIsaEEsZjksZnosZDgsZVMsYzksaHAsZ1EsZG0sZVIsZVgsZEQsZ1osZGEsYkssZ24sZTAsZGQsaHUsZGMsZjgsZUcsYk8sZjcsZlgsZHosZDEsaHIsZEosZzgsZ3YsYlEsZ3EsYzgsZkQsZmYsZl8sZ1UsZTYsYlMsZjIsZDYsY1UsZ0wsZ08sZnAsZ2UsZWQsZTgsZlcsZlUsZnEsZFcsaGwsZXYsZkssZVYsZnQsZkwsZFMsaG0saGUsZHQsZ18sZkMsZW4sZ3ksYzYsZFQsZW0sYmssaGgsZ1MsZGgsYm5dLGF3dD1cIkpzb29fcnVudGltZS5FcnJvci5FeG5cIixhd0Y9WzAsMF0sYXd5PVwidXNlX3N0cmljdFwiLGF3ej1BUyxhd0E9XCJlc3Byb3Bvc2FsX2RlY29yYXRvcnNcIixhd0I9XCJwYXR0ZXJuX21hdGNoaW5nXCIsYXdDPVwiZW51bXNcIixhd0Q9XCJjb21wb25lbnRzXCIsYXdHPVwiSW50ZXJuYWwgZXJyb3I6IFwiLE5VPVthaCxcIkNhbWxpbnRlcm5hbExhenkuVW5kZWZpbmVkXCIsaEUoMCldO2Z1bmN0aW9uXG5OJChhLGIpe3ZhclxuZD1HKGIpLTF8MCxlPTA7aWYoZD49MCl7dmFyXG5jPWU7Zm9yKDs7KXthKHcoYixjKSk7dmFyXG5mPWMrMXwwO2lmKGQ9PT1jKWJyZWFrO3ZhclxuYz1mfX1yZXR1cm59dmFyXG5PYT1DLE9uPVswLDBdO2Z1bmN0aW9uXG5RUShhKXt2YXJcbmk9YXhKKDApLGg9RmwobCksZD1pLmxlbmd0aC0xLGM9YXIoKGQqOHwwKSsxfDApLGU9ZC0xfDAsaj0wO2lmKGU+PTApe3ZhclxuYj1qO2Zvcig7Oyl7YXdZKGMsYio4fDAsbDIoYXUoaSxiKVsxK2JdKSk7dmFyXG5vPWIrMXwwO2lmKGU9PT1iKWJyZWFrO3ZhclxuYj1vfX1oOChjLGQqOHwwLDEpO3ZhclxuZj1GayhjKTtoOChjLGQqOHwwLDIpO3ZhclxuZz1GayhjKSxrPWxfKGcsOCksbT1sXyhnLDApLG49bF8oZiw4KTtGbShoLGxfKGYsMCksbixtLGspO3JldHVybiBofWZvcig7Oyl7dmFyXG5FVj1rcyhyZyk7bGV0XG5iPVswLDFdLGM9RVY7aWYoISgxLXEwKHJnLEVWLGZ1bmN0aW9uKGEpe2lmKHEwKGIsMSwwKSl7aU8oaU0oRkwpLGwpO2lPKGlNKEZNKSxsKX1yZXR1cm4gaShjLDApfSkpKWJyZWFrfWlmKGtzKE9uKSl0aHJvdyB4KFswLGw1LE9vXSwxKTt2YXJcbmhKPXJrKFswLENdKSxpUD1yayhbMCxDXSksaWM9cmsoWzAsYlZdKSxGTz1FRygwLDApLFJsPTIsUm49WzAsMF07ZnVuY3Rpb25cbkZQKGEpe3JldHVybiAyPGE/RlAoKGErMXwwKS8yfDApKjJ8MDphfWZ1bmN0aW9uXG5GUShhKXtSblsxXSsrO3ZhclxuYz1hLmxlbmd0aC0xLGQ9aUkoKGMqMnwwKSsyfDAsRk8pO2F1KGQsMClbMV09Yzt2YXJcbmc9KChGUChjKSozMnwwKS84fDApLTF8MDthdShkLDEpWzJdPWc7dmFyXG5lPWMtMXwwLGg9MDtpZihlPj0wKXt2YXJcbmI9aDtmb3IoOzspe3ZhclxuZj0oYioyfDApKzN8MCxpPWF1KGEsYilbMStiXTthdShkLGYpWzErZl09aTt2YXJcbmo9YisxfDA7aWYoZT09PWIpYnJlYWs7dmFyXG5iPWp9fXJldHVyblswLFJsLGQsaVBbMV0saWNbMV0sMCwwLGhKWzFdLDBdfWZ1bmN0aW9uXG5yTChhLGIpe3ZhclxuYz1hWzJdLmxlbmd0aC0xO2lmKGM8Yil7dmFyXG5kPWlJKGIsRk8pO0U3KGFbMl0sMCxkLDAsYyk7YVsyXT1kfXJldHVybn1mdW5jdGlvblxuUm0oYSl7dmFyXG5iPVswLDBdLGQ9RyhhKS0xfDAsZT0wO2lmKGQ+PTApe3ZhclxuYz1lO2Zvcig7Oyl7dmFyXG5nPWFCKGEsYyk7YlsxXT0oblUqYlsxXXwwKStnfDA7dmFyXG5oPWMrMXwwO2lmKGQ9PT1jKWJyZWFrO3ZhclxuYz1ofX1iWzFdPWJbMV0mS0g7dmFyXG5mPTEwNzM3NDE4MjM8YlsxXT9iWzFdKzIxNDc0ODM2NDh8MDpiWzFdO3JldHVybiBmfXZhclxuUm89WzAsMF07ZnVuY3Rpb25cbnJNKGEpe3ZhclxuYj1hWzJdLmxlbmd0aC0xO3JMKGEsYisxfDApO3JldHVybiBifWZ1bmN0aW9uXG5rTShhLGIpe3RyeXt2YXJcbmU9aVBbMTddLmNhbGwobnVsbCxiLGFbM10pO3JldHVybiBlfWNhdGNoKGYpe3ZhclxuZD1hQyhmKTtpZihkIT09Y0gpdGhyb3cgeChkLDApO3ZhclxuYz1yTShhKTthWzNdPWlQWzJdLmNhbGwobnVsbCxiLGMsYVszXSk7YVs0XT1pY1syXS5jYWxsKG51bGwsYywxLGFbNF0pO3JldHVybiBjfX1mdW5jdGlvblxuck4oYyxiKXtyZXR1cm4gbCQoZnVuY3Rpb24oYSl7cmV0dXJuIGtNKGMsYSl9LGIpfWZ1bmN0aW9uXG5GUihhLGIsYyl7Um9bMV0rKztpZihpY1sxN10uY2FsbChudWxsLGIsYVs0XSkpe3JMKGEsYisxfDApO2F1KGFbMl0sYilbMStiXT1jO3JldHVybn1hWzZdPVswLFswLGIsY10sYVs2XV07cmV0dXJufWZ1bmN0aW9uXG5yTyhhKXtpZigwPT09YSlyZXR1cm4gMDt2YXJcbmI9YS5sZW5ndGgtMS0xfDAsYz0wO2Zvcig7Oyl7aWYoMD5iKXJldHVybiBjO3ZhclxuZD1bMCxhWzErYl0sY10sYj1iLTF8MCxjPWR9fWZ1bmN0aW9uXG5yUChhLGIpe3RyeXt2YXJcbmU9aEpbMTddLmNhbGwobnVsbCxiLGFbN10pO3JldHVybiBlfWNhdGNoKGYpe3ZhclxuZD1hQyhmKTtpZihkIT09Y0gpdGhyb3cgeChkLDApO3ZhclxuYz1hWzFdO2FbMV09YysxfDA7aWYoayhiLEEpKWFbN109aEpbMl0uY2FsbChudWxsLGIsYyxhWzddKTtyZXR1cm4gY319ZnVuY3Rpb25cbnJRKGEpe3JldHVybiBrdChhLDApP1swXTphfWZ1bmN0aW9uXG5yUihnLGIsYyxkLGUsZil7dmFyXG5vPWVbMl0sdz1lWzRdLGw9ck8oYiksbT1yTyhjKSxuPXJPKGQpLGs9Y0koZnVuY3Rpb24oYSl7cmV0dXJuIGtNKGcsYSl9LG0pLHA9Y0koZnVuY3Rpb24oYSl7cmV0dXJuIGtNKGcsYSl9LG4pO2dbNV09WzAsWzAsZ1szXSxnWzRdLGdbNl0sZ1s3XSxrLGxdLGdbNV1dO2dbN109aEpbMjRdLmNhbGwobnVsbCxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHJqKGEsbCk/aEpbMl0uY2FsbChudWxsLGEsYixjKTpjfSxnWzddLGhKWzFdKTt2YXJcbmg9WzAsaVBbMV1dLGo9WzAsaWNbMV1dO0UwKGZ1bmN0aW9uKGEsYil7aFsxXT1pUFsyXS5jYWxsKG51bGwsYSxiLGhbMV0pO3ZhclxuZT1qWzFdO3RyeXt2YXJcbmY9aWNbMTddLmNhbGwobnVsbCxiLGdbNF0pLGQ9Zn1jYXRjaChmKXt2YXJcbmM9YUMoZik7aWYoYyE9PWNIKXRocm93IHgoYywwKTt2YXJcbmQ9MX1qWzFdPWljWzJdLmNhbGwobnVsbCxiLGQsZSk7cmV0dXJufSxuLHApO0UwKGZ1bmN0aW9uKGEsYil7aFsxXT1pUFsyXS5jYWxsKG51bGwsYSxiLGhbMV0pO2pbMV09aWNbMl0uY2FsbChudWxsLGIsMCxqWzFdKTtyZXR1cm59LG0sayk7Z1szXT1oWzFdO2dbNF09alsxXTtnWzZdPXJpKGZ1bmN0aW9uKGEsYil7cmV0dXJuIHJqKGFbMV0sayk/YjpbMCxhLGJdfSxnWzZdLDApO3ZhclxueT1mP2kobyhnKSx3KTpvKGcpLGE9a0IoZ1s1XSkscT1hWzZdLHI9YVs1XSxzPWFbNF0sdD1hWzNdLHU9YVsyXSx2PWFbMV07Z1s1XT1FWihnWzVdKTtnWzddPWFWKGZ1bmN0aW9uKGEsYil7dmFyXG5jPWhKWzE3XS5jYWxsKG51bGwsYixnWzddKTtyZXR1cm4gaEpbMl0uY2FsbChudWxsLGIsYyxhKX0scyxxKTtnWzNdPXY7Z1s0XT11O2dbNl09cmkoZnVuY3Rpb24oYSxiKXtyZXR1cm4gcmooYVsxXSxyKT9iOlswLGEsYl19LGdbNl0sdCk7dmFyXG56PVswLGwkKGZ1bmN0aW9uKGEpe3ZhclxuYz1rTShnLGEpO3RyeXt2YXJcbmI9Z1s2XTtmb3IoOzspe2lmKCFiKXRocm93IHgoY0gsMSk7dmFyXG5kPWJbMV0sZj1iWzJdLGg9ZFsyXTtpZigwPT09TmwoZFsxXSxjKSlyZXR1cm4gaDt2YXJcbmI9Zn19Y2F0Y2goZil7dmFyXG5lPWFDKGYpO2lmKGU9PT1jSClyZXR1cm4gYXUoZ1syXSxjKVsxK2NdO3Rocm93IHgoZSwwKX19LHJRKGQpKSwwXTtyZXR1cm4gYXdQKFswLFswLHldLFswLGwkKGZ1bmN0aW9uKGEpe3RyeXt2YXJcbmM9aEpbMTddLmNhbGwobnVsbCxhLGdbN10pO3JldHVybiBjfWNhdGNoKGYpe3ZhclxuYj1hQyhmKTtpZihiPT09Y0gpdGhyb3cgeChbMCxZLFJwXSwxKTt0aHJvdyB4KGIsMCl9fSxyUShiKSksel1dKX1mdW5jdGlvblxubWcoYSxiKXtpZigwPT09YSl2YXJcbmM9RlEoWzBdKTtlbHNle3ZhclxuZT1GUShsJChSbSxhKSksZj1hLmxlbmd0aC0xLTF8MCxoPTA7aWYoZj49MCl7dmFyXG5kPWg7Zm9yKDs7KXt2YXJcbmc9KGQqMnwwKSsyfDA7ZVszXT1pUFsyXS5jYWxsKG51bGwsYVsxK2RdLGcsZVszXSk7ZVs0XT1pY1syXS5jYWxsKG51bGwsZywxLGVbNF0pO3Zhclxuaj1kKzF8MDtpZihmPT09ZClicmVhazt2YXJcbmQ9an19dmFyXG5jPWV9dmFyXG5rPWIoYyk7Y1s4XT1CKGNbOF0pO3JMKGMsMysoKGF1KGNbMl0sMSlbMl0qMTZ8MCkvMzJ8MCl8MCk7cmV0dXJuWzAsaShrLDApLGIsLDBdfWZ1bmN0aW9uXG5taChhLGIpe2lmKGEpcmV0dXJuIGE7dmFyXG5jPUVHKGFoLGJbMV0pO2NbMV09YlsyXTtyZXR1cm4gYXhDKGMpfWZ1bmN0aW9uXG5yUyhhLGIsYyl7aWYoYSlyZXR1cm4gYjt2YXJcbmU9Y1s4XTtpZigwIT09ZSl7dmFyXG5kPWU7Zm9yKDs7KXtpZighZClicmVhazt2YXJcbmY9ZFsyXTtpKGRbMV0sYik7dmFyXG5kPWZ9fXJldHVybiBifWZ1bmN0aW9uXG5taShhKXt2YXJcbmM9ck0oYSk7YTp7aWYoMCE9PShjJTJ8MCkmJigyKygoYXUoYVsyXSwxKVsyXSoxNnwwKS8zMnwwKXwwKT49Yyl7dmFyXG5iPXJNKGEpO2JyZWFrIGF9dmFyXG5iPWN9YXUoYVsyXSxiKVsxK2JdPTA7cmV0dXJuIGJ9ZnVuY3Rpb25cbnJUKGEsYil7dmFyXG5lPVswLDBdLFY9Yi5sZW5ndGgtMTtmb3IoOzspe2lmKGVbMV0+PVYpcmV0dXJuO3ZhclxuZz1lWzFdLGM9ZnVuY3Rpb24oYSl7ZVsxXSsrO3ZhclxuYz1lWzFdO3JldHVybiBhdShiLGMpWzErY119LFc9YXUoYixnKVsxK2ddLGY9YyhsKTtpZih0eXBlb2ZcbmY9PT1cIm51bWJlclwiKXN3aXRjaChmKXtjYXNlXG4wOmxldFxuYVM9YyhsKTt2YXJcbmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGFTfTticmVhaztjYXNlXG4xOmxldFxuYVI9YyhsKTt2YXJcbmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGFbMSthUl19O2JyZWFrO2Nhc2VcbjI6dmFyXG5oPWMobCk7bGV0XG5hUD1oLGFRPWMobCk7dmFyXG5kPWZ1bmN0aW9uKGEpe3JldHVybiBhWzErYVBdWzErYVFdfTticmVhaztjYXNlXG4zOmxldFxuYU89YyhsKTt2YXJcbmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGkoYVsxXVsxK2FPXSxhKX07YnJlYWs7Y2FzZVxuNDpsZXRcbmFOPWMobCk7dmFyXG5kPWZ1bmN0aW9uKGEsYil7YVsxK2FOXT1iO3JldHVybiAwfTticmVhaztjYXNlXG41OnZhclxuaz1jKGwpO2xldFxuYUw9ayxhTT1jKGwpO3ZhclxuZD1mdW5jdGlvbihhKXtyZXR1cm4gaShhTCxhTSl9O2JyZWFrO2Nhc2VcbjY6dmFyXG5tPWMobCk7bGV0XG5hSj1tLGFLPWMobCk7dmFyXG5kPWZ1bmN0aW9uKGEpe3JldHVybiBpKGFKLGFbMSthS10pfTticmVhaztjYXNlXG43OnZhclxubj1jKGwpLG89YyhsKTtsZXRcbmFHPW4sYUg9byxhST1jKGwpO3ZhclxuZD1mdW5jdGlvbihhKXtyZXR1cm4gaShhRyxhWzErYUhdWzErYUldKX07YnJlYWs7Y2FzZVxuODp2YXJcbnA9YyhsKTtsZXRcbmFFPXAsYUY9YyhsKTt2YXJcbmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGkoYUUsaShhWzFdWzErYUZdLGEpKX07YnJlYWs7Y2FzZVxuOTp2YXJcbnE9YyhsKSxyPWMobCk7bGV0XG5hQj1xLGFDPXIsYUQ9YyhsKTt2YXJcbmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGooYUIsYUMsYUQpfTticmVhaztjYXNlXG4xMDp2YXJcbnM9YyhsKSx0PWMobCk7bGV0XG5heT1zLGF6PXQsYUE9YyhsKTt2YXJcbmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGooYXksYXosYVsxK2FBXSl9O2JyZWFrO2Nhc2VcbjExOnZhclxudT1jKGwpLHY9YyhsKSx3PWMobCk7bGV0XG5hdT11LGF2PXYsYXc9dyxheD1jKGwpO3ZhclxuZD1mdW5jdGlvbihhKXtyZXR1cm4gaihhdSxhdixhWzErYXddWzErYXhdKX07YnJlYWs7Y2FzZVxuMTI6dmFyXG54PWMobCkseT1jKGwpO2xldFxuYXI9eCxhcz15LGF0PWMobCk7dmFyXG5kPWZ1bmN0aW9uKGEpe3JldHVybiBqKGFyLGFzLGkoYVsxXVsxK2F0XSxhKSl9O2JyZWFrO2Nhc2VcbjEzOnZhclxuej1jKGwpLEE9YyhsKTtsZXRcbmFvPXosYXA9QSxhcT1jKGwpO3ZhclxuZD1mdW5jdGlvbihhKXtyZXR1cm4gaihhbyxhWzErYXBdLGFxKX07YnJlYWs7Y2FzZVxuMTQ6dmFyXG5CPWMobCksQz1jKGwpLEQ9YyhsKTtsZXRcbmFrPUIsYWw9QyxhbT1ELGFuPWMobCk7dmFyXG5kPWZ1bmN0aW9uKGEpe3JldHVybiBqKGFrLGFbMSthbF1bMSthbV0sYW4pfTticmVhaztjYXNlXG4xNTp2YXJcbkU9YyhsKSxGPWMobCk7bGV0XG5haD1FLGFpPUYsYWo9YyhsKTt2YXJcbmQ9ZnVuY3Rpb24oYSl7cmV0dXJuIGooYWgsaShhWzFdWzErYWldLGEpLGFqKX07YnJlYWs7Y2FzZVxuMTY6dmFyXG5HPWMobCk7bGV0XG5hZj1HLGFnPWMobCk7dmFyXG5kPWZ1bmN0aW9uKGEpe3JldHVybiBqKGFbMV1bMSthZl0sYSxhZyl9O2JyZWFrO2Nhc2VcbjE3OnZhclxuSD1jKGwpO2xldFxuYWQ9SCxhZT1jKGwpO3ZhclxuZD1mdW5jdGlvbihhKXtyZXR1cm4gaihhWzFdWzErYWRdLGEsYVsxK2FlXSl9O2JyZWFrO2Nhc2VcbjE4OnZhclxuST1jKGwpLEo9YyhsKTtsZXRcbmFhPUksYWI9SixhYz1jKGwpO3ZhclxuZD1mdW5jdGlvbihhKXtyZXR1cm4gaihhWzFdWzErYWFdLGEsYVsxK2FiXVsxK2FjXSl9O2JyZWFrO2Nhc2VcbjE5OnZhclxuSz1jKGwpO2xldFxuXz1LLCQ9YyhsKTt2YXJcbmQ9ZnVuY3Rpb24oYSl7dmFyXG5iPWkoYVsxXVsxKyRdLGEpO3JldHVybiBqKGFbMV1bMStfXSxhLGIpfTticmVhaztjYXNlXG4yMDp2YXJcbk09YyhsKSxOPWMobCk7bWkoYSk7bGV0XG5aPU0sYj1OO3ZhclxuZD1mdW5jdGlvbihhKXtyZXR1cm4gaShMKGIsWiwwKSxiKX07YnJlYWs7Y2FzZVxuMjE6dmFyXG5PPWMobCksUD1jKGwpO21pKGEpO2xldFxuWD1PLFk9UDt2YXJcbmQ9ZnVuY3Rpb24oYSl7dmFyXG5iPWFbMStZXTtyZXR1cm4gaShMKGIsWCwwKSxiKX07YnJlYWs7Y2FzZVxuMjI6dmFyXG5RPWMobCksUj1jKGwpLFM9YyhsKTttaShhKTtsZXRcbmc9USxWPVIsVz1TO3ZhclxuZD1mdW5jdGlvbihhKXt2YXJcbmI9YVsxK1ZdWzErV107cmV0dXJuIGkoTChiLGcsMCksYil9O2JyZWFrO2RlZmF1bHQ6dmFyXG5UPWMobCksVT1jKGwpO21pKGEpO2xldFxuZT1ULGY9VTt2YXJcbmQ9ZnVuY3Rpb24oYSl7dmFyXG5iPWkoYVsxXVsxK2ZdLGEpO3JldHVybiBpKEwoYixlLDApLGIpfX1lbHNlXG52YXJcbmQ9ZjtGUihhLFcsZCk7ZVsxXSsrfX1mdW5jdGlvblxuRlMoZixiKXt2YXJcbmw9Yi5sZW5ndGgtMSxnPUVHKDAsbCksbT1sLTF8MCxuPTA7aWYobT49MCl7dmFyXG5jPW47Zm9yKDs7KXt2YXJcbmQ9YXUoYixjKVsxK2NdO2lmKHR5cGVvZlxuZD09PVwibnVtYmVyXCIpc3dpdGNoKGQpe2Nhc2VcbjA6bGV0XG5uPWM7dmFyXG5rPWZ1bmN0aW9uKGEpe3ZhclxuYj1nWzErbl07aWYoZD09PWIpdGhyb3cgeChbMCxreSxmXSwxKTtyZXR1cm4gaShiLGEpfTtsZXRcbmQ9azt2YXJcbmU9azticmVhaztjYXNlXG4xOnZhclxuaj1bXTtsZXRcbmw9aixtPWM7YShqLFtqNSxmdW5jdGlvbihhKXt2YXJcbmI9Z1sxK21dO2lmKGw9PT1iKXRocm93IHgoWzAsa3ksZl0sMSk7dmFyXG5jPWp6KGIpO2lmKGtpPT09YylyZXR1cm4gYlsxXTtpZihqNSE9PWMmJmpkIT09YylyZXR1cm4gYjtpZigwIT09YXhvKGIpKXRocm93IHgoTlUsMSk7dmFyXG5oPWJbMV07YlsxXT0wO3RyeXt2YXJcbmU9aShoLDApO2JbMV09ZTtheHAoYik7cmV0dXJuIGV9Y2F0Y2goZil7dmFyXG5kPWFDKGYpO2JbMV09ZnVuY3Rpb24oYSl7dGhyb3cgeChkLDApfTtheG4oYik7dGhyb3cgeChkLDApfX1dKTt2YXJcbmU9ajticmVhaztkZWZhdWx0OnZhclxuaD1mdW5jdGlvbihhKXt0aHJvdyB4KFswLGt5LGZdLDEpfSxlPVswLGgsaCxoLDBdfWVsc2VcbnZhclxuZT0wPT09ZFswXT9GUyhmLGRbMV0pOmRbMV07Z1sxK2NdPWU7dmFyXG5vPWMrMXwwO2lmKG09PT1jKWJyZWFrO3ZhclxuYz1vfX1yZXR1cm4gZ31mdW5jdGlvblxuRlQoYSxiLGMpe2lmKDA9PT1qeihjKSYmYS5sZW5ndGgtMTw9Yy5sZW5ndGgtMSl7dmFyXG5oPWEubGVuZ3RoLTEtMXwwLGs9MDtpZihoPj0wKXt2YXJcbmQ9aztmb3IoOzspe3ZhclxuZj1jWzErZF0sZz1hdShhLGQpWzErZF07YTppZih0eXBlb2Zcbmc9PT1cIm51bWJlclwiKXtpZigyPT09Zyl7aWYoMD09PWp6KGYpJiY0PT09Zi5sZW5ndGgtMSl7dmFyXG5lPTAsaT1iWzErZF07Zm9yKDs7KXtpWzErZV09ZlsxK2VdO3Zhclxuaj1lKzF8MDtpZigzPT09ZSlicmVhazt2YXJcbmU9an1icmVhayBhfXRocm93IHgoWzAsWSxScV0sMSl9YlsxK2RdPWZ9ZWxzZSBpZigwPT09Z1swXSlGVChnWzFdLGJbMStkXSxmKTt2YXJcbmw9ZCsxfDA7aWYoaD09PWQpYnJlYWs7dmFyXG5kPWx9fXJldHVybn10aHJvdyB4KFswLFksUnJdLDEpfXRyeXt2YXJcbmF3ST1OSyhcIlRNUERJUlwiKSxyVT1hd0l9Y2F0Y2goZil7dmFyXG5GVT1hQyhmKTtpZihGVSE9PWNIKXRocm93IHgoRlUsMCk7dmFyXG5yVT1Sc312YXJcblJ0PVswLCwsLCwsLCwsLHJVXTt0cnl7dmFyXG5hd0g9TksoXCJURU1QXCIpLEZXPWF3SH1jYXRjaChmKXt2YXJcbkZWPWFDKGYpO2lmKEZWIT09Y0gpdGhyb3cgeChGViwwKTt2YXJcbkZXPVJ1fXZhclxuUnY9WzAsLCwsLCwsLCwsRlddLFJ3PVswLCwsLCwsLCwsLHJVXSxSeD1rKEVYLEtZKT9rKEVYLFwiV2luMzJcIik/UnQ6UnY6UncsUnk9UnhbMTBdO2NKKDAsUVEpO2NKKFswLGZ1bmN0aW9uKGEpe3JldHVybiBhfV0sZnVuY3Rpb24oYSl7cmV0dXJuIFJ5fSk7ZnVuY3Rpb25cbmNLKGMsYil7ZnVuY3Rpb25cbmEoYSl7cmV0dXJuIGJXKGMsYSl9cmV0dXJuIGxTPD1iPyhhKGtkfGI+Pj4xOHwwKSxhKGFBfChiPj4+MTJ8MCkmNjMpLGEoYUF8KGI+Pj42fDApJjYzKSxhKGFBfGImNjMpKTpEZjw9Yj8oYShqJHxiPj4+MTJ8MCksYShhQXwoYj4+PjZ8MCkmNjMpLGEoYUF8YiY2MykpOmFBPD1iPyhhKGtxfGI+Pj42fDApLGEoYUF8YiY2MykpOmEoYil9dmFyXG5pZD1bYWgsUkEsaEUoMCldLEZYPTAsRlk9MCxGWj0wLEYwPTAsRjE9MCxGMj0wLEYzPTAsRjQ9MCxGNT0wLEY2PTA7ZnVuY3Rpb25cbmcoYSl7aWYoYVszXT09PWFbMl0pcmV0dXJuLTE7dmFyXG5iPWFbMV1bMSthWzNdXTthWzNdPWFbM10rMXwwO2lmKDEwPT09Yil7aWYoMCE9PWFbNV0pYVs1XT1hWzVdKzF8MDthWzRdPWFbM119cmV0dXJuIGJ9ZnVuY3Rpb25cbm8oYSxiKXthWzldPWFbM107YVsxMF09YVs0XTthWzExXT1hWzVdO2FbMTJdPWI7cmV0dXJufWZ1bmN0aW9uXG5TKGEpe2FbNl09YVszXTthWzddPWFbNF07YVs4XT1hWzVdO3JldHVybiBvKGEsLTEpfWZ1bmN0aW9uXG5oKGEpe2FbM109YVs5XTthWzRdPWFbMTBdO2FbNV09YVsxMV07cmV0dXJuIGFbMTJdfWZ1bmN0aW9uXG5qSihhKXthWzNdPWFbNl07YVs0XT1hWzddO2FbNV09YVs4XTtyZXR1cm59ZnVuY3Rpb25cbnJWKGEsYil7YVs2XT1iO3JldHVybn1mdW5jdGlvblxubWooYSl7cmV0dXJuIGFbM10tYVs2XXwwfWZ1bmN0aW9uXG5haihhKXt2YXJcbmI9YVszXS1hWzZdfDAsYz1hWzZdLGQ9YVsxXTtpZigwPD1jJiYwPD1iJiYoZC5sZW5ndGgtMS1ifDApPj1jKXJldHVybiBhd1EoZCxjLGIpO3JldHVybiBiYihPYil9ZnVuY3Rpb25cbkY3KGEpe3ZhclxuYj1hWzZdO3JldHVybiBhdShhWzFdLGIpWzErYl19ZnVuY3Rpb25cbmtOKGEsYixjLGQpe3ZhclxuZz1bMCxiXSxoPVswLGNdLGU9WzAsMF07Zm9yKDs7KXtpZigwPj1oWzFdKXJldHVybiBlWzFdO3ZhclxuZj1hWzErZ1sxXV07aWYoMD5mKXRocm93IHgoaWQsMSk7aWYoYWI8ZilpZihKcDxmKWlmKG95PGYpe2lmKHBEPGYpdGhyb3cgeChpZCwxKTthYyhkLGVbMV0sa2R8Zj4+PjE4fDApO2FjKGQsZVsxXSsxfDAsYUF8KGY+Pj4xMnwwKSY2Myk7YWMoZCxlWzFdKzJ8MCxhQXwoZj4+PjZ8MCkmNjMpO2FjKGQsZVsxXSszfDAsYUF8ZiY2Myk7ZVsxXT1lWzFdKzR8MH1lbHNle2FjKGQsZVsxXSxqJHxmPj4+MTJ8MCk7YWMoZCxlWzFdKzF8MCxhQXwoZj4+PjZ8MCkmNjMpO2FjKGQsZVsxXSsyfDAsYUF8ZiY2Myk7ZVsxXT1lWzFdKzN8MH1lbHNle2FjKGQsZVsxXSxrcXxmPj4+NnwwKTthYyhkLGVbMV0rMXwwLGFBfGYmNjMpO2VbMV09ZVsxXSsyfDB9ZWxzZXthYyhkLGVbMV0sZik7ZVsxXSsrfWdbMV0rKztoWzFdKz0tMX19ZnVuY3Rpb25cbkY4KGEpe3Zhclxucz1HKGEpLGU9aUkocywwKSxiPVswLDBdLGQ9WzAsMF07Zm9yKDs7KXtpZihiWzFdPj1zKXJldHVyblswLGUsZFsxXSxGNixGNSxGNCxGMyxGMixGMSxGMCxGWixGWSxGWF07dmFyXG5jPXcoYSxiWzFdKTthOntpZihrcTw9Yyl7aWYoa2Q+Yyl7aWYoaiQ+Yyl7dmFyXG5yPXcoYSxiWzFdKzF8MCk7aWYoMiE9PShyPj4+NnwwKSl0aHJvdyB4KGlkLDEpO2VbMStkWzFdXT0oYyYzMSk8PDZ8ciY2MztiWzFdPWJbMV0rMnwwO2JyZWFrIGF9dmFyXG5tPXcoYSxiWzFdKzF8MCksbj13KGEsYlsxXSsyfDApLGY9KGMmMTUpPDwxMnwobSY2Myk8PDZ8biY2Myx1PTIhPT0obT4+PjZ8MCk/MTowLG89dXx8KDIhPT0obj4+PjZ8MCk/MTowKTtpZihvKXZhclxucD1vO2Vsc2VcbnZhclxucT01NTI5Njw9Zj8xOjAscD1xP2Y8PTU3MzQzPzE6MDpxO2lmKHApdGhyb3cgeChpZCwxKTtlWzErZFsxXV09ZjtiWzFdPWJbMV0rM3wwO2JyZWFrIGF9aWYoYWg+Yyl7dmFyXG5nPXcoYSxiWzFdKzF8MCksaD13KGEsYlsxXSsyfDApLGk9dyhhLGJbMV0rM3wwKSxqPTIhPT0oZz4+PjZ8MCk/MTowO2lmKGopdmFyXG5rPWo7ZWxzZVxudmFyXG50PTIhPT0oaD4+PjZ8MCk/MTowLGs9dHx8KDIhPT0oaT4+PjZ8MCk/MTowKTtpZihrKXRocm93IHgoaWQsMSk7dmFyXG5sPShjJjcpPDwxOHwoZyY2Myk8PDEyfChoJjYzKTw8NnxpJjYzO2lmKHBEPGwpdGhyb3cgeChpZCwxKTtlWzErZFsxXV09bDtiWzFdPWJbMV0rNHwwO2JyZWFrIGF9fWVsc2UgaWYoYUE+Yyl7ZVsxK2RbMV1dPWM7YlsxXSsrO2JyZWFrIGF9dGhyb3cgeChpZCwxKX1kWzFdKyt9fWZ1bmN0aW9uXG5rTyhhLGIsYyl7dmFyXG5kPWFbNl0rYnwwLGU9YXIoYyo0fDApLGY9YVsxXTtpZigoZCtjfDApPD1mLmxlbmd0aC0xKXJldHVybiBqQyhlLDAsa04oZixkLGMsZSkpO3Rocm93IHgoWzAsWSxSQl0sMSl9ZnVuY3Rpb25cbkgoYSl7dmFyXG5iPWFbNl0sYz1hWzNdLWJ8MCxkPWFyKGMqNHwwKTtyZXR1cm4gakMoZCwwLGtOKGFbMV0sYixjLGQpKX1mdW5jdGlvblxubWsoYSxiKXt2YXJcbmM9YVs2XSxkPWFbM10tY3wwLGU9YXIoZCo0fDApO3JldHVybiBycChiLGUsMCxrTihhWzFdLGMsZCxlKSl9ZnVuY3Rpb25cbmtQKGEpe3ZhclxuYj1hLmxlbmd0aC0xLGM9YXIoYio0fDApO3JldHVybiBqQyhjLDAsa04oYSwwLGIsYykpfWZ1bmN0aW9uXG5GOShhLGIpe2FbM109YVszXS1ifDA7cmV0dXJufWZ1bmN0aW9uXG5jTChhKXtyZXR1cm4gdHlwZW9mXG5hPT09XCJudW1iZXJcIj8wOjA9PT1hWzBdPzE6YVsxXX1mdW5jdGlvblxuaVEoYSxiLGMsZCl7dmFyXG5lPWNMKGEpLGY9Y0woZCksZz1mPD1lP2UrMXwwOmYrMXwwO3JldHVybiAxPT09Zz9bMCxiLGNdOlsxLGcsYixjLGEsZF19ZnVuY3Rpb25cbm1sKGEsYixjLGQpe3ZhclxuZT1jTChhKSxmPWNMKGQpLGc9Zjw9ZT9lKzF8MDpmKzF8MDtyZXR1cm5bMSxnLGIsYyxhLGRdfWZ1bmN0aW9uXG5GXyhhLGIsYyxkKXt2YXJcbmk9Y0woYSksaj1jTChkKTtpZigoaisyfDApPGkpe3ZhclxuZT1hWzVdLGc9YVs0XSxrPWFbM10sbD1hWzJdLG89Y0woZSk7aWYobzw9Y0woZykpcmV0dXJuIG1sKGcsbCxrLGlRKGUsYixjLGQpKTt2YXJcbnA9ZVs0XSxxPWVbM10scj1lWzJdLHM9aVEoZVs1XSxiLGMsZCk7cmV0dXJuIG1sKGlRKGcsbCxrLHApLHIscSxzKX1pZigoaSsyfDApPj1qKXJldHVybiBpUShhLGIsYyxkKTt2YXJcbmg9ZFs1XSxmPWRbNF0sbT1kWzNdLG49ZFsyXSx0PWNMKGYpO2lmKHQ8PWNMKGgpKXJldHVybiBtbChpUShhLGIsYyxmKSxuLG0saCk7dmFyXG51PWZbNF0sdj1mWzNdLHc9ZlsyXSx4PWlRKGZbNV0sbixtLGgpO3JldHVybiBtbChpUShhLGIsYyx1KSx3LHYseCl9ZnVuY3Rpb25cbmllKGEpe3JldHVybiB0eXBlb2ZcbmE9PT1cIm51bWJlclwiPzA6MD09PWFbMF0/MTphWzFdfWZ1bmN0aW9uXG5oSyhhLGIsYyl7YTp7Yjp7aWYodHlwZW9mXG5hPT09XCJudW1iZXJcIil7aWYodHlwZW9mXG5jPT09XCJudW1iZXJcIilyZXR1cm5bMCxiXTtpZigxPT09Y1swXSlicmVhayBifWVsc2V7aWYoMCE9PWFbMF0pe3ZhclxuZD1hWzFdO2lmKHR5cGVvZlxuYyE9PVwibnVtYmVyXCImJjE9PT1jWzBdKXt2YXJcbmY9Y1sxXSxnPWY8PWQ/ZCsxfDA6ZisxfDA7cmV0dXJuWzEsZyxiLGEsY119dmFyXG5lPWQ7YnJlYWsgYX1pZih0eXBlb2ZcbmMhPT1cIm51bWJlclwiJiYxPT09Y1swXSlicmVhayBifXJldHVyblsxLDIsYixhLGNdfXZhclxuZT1jWzFdfXJldHVyblsxLGUrMXwwLGIsYSxjXX1mdW5jdGlvblxubW4oYSxiLGMpe3ZhclxuZD1pZShhKSxlPWllKGMpLGY9ZTw9ZD9kKzF8MDplKzF8MDtyZXR1cm5bMSxmLGIsYSxjXX1mdW5jdGlvblxuRiQoYSxiLGMpe3ZhclxuaD1pZShhKSxpPWllKGMpO2lmKChpKzJ8MCk8aCl7dmFyXG5kPWFbNF0sZj1hWzNdLGo9YVsyXSxsPWllKGQpO2lmKGw8PWllKGYpKXJldHVybiBtbihmLGosaEsoZCxiLGMpKTt2YXJcbm09ZFszXSxuPWRbMl0sbz1oSyhkWzRdLGIsYyk7cmV0dXJuIG1uKGhLKGYsaixtKSxuLG8pfWlmKChoKzJ8MCk+PWkpcmV0dXJuIGhLKGEsYixjKTt2YXJcbmc9Y1s0XSxlPWNbM10saz1jWzJdLHA9aWUoZSk7aWYocDw9aWUoZykpcmV0dXJuIG1uKGhLKGEsYixlKSxrLGcpO3ZhclxucT1lWzNdLHI9ZVsyXSxzPWhLKGVbNF0sayxnKTtyZXR1cm4gbW4oaEsoYSxiLHEpLHIscyl9dmFyXG5yVz0wO2Z1bmN0aW9uXG5HYShkKXtmdW5jdGlvblxuYyhhLGIpe2lmKHR5cGVvZlxuYj09PVwibnVtYmVyXCIpcmV0dXJuWzAsYV07aWYoMD09PWJbMF0pe3ZhclxuaD1iWzFdLGk9aihkWzFdLGEsaCk7cmV0dXJuIDA9PT1pP2I6MDw9aT9oSyhiLGEsclcpOmhLKFswLGFdLGgsclcpfXZhclxuZT1iWzRdLGY9YlszXSxnPWJbMl0saz1qKGRbMV0sYSxnKTtpZigwPT09aylyZXR1cm4gYjtpZigwPD1rKXt2YXJcbmw9YyhhLGUpO3JldHVybiBlPT09bD9iOkYkKGYsZyxsKX12YXJcbm09YyhhLGYpO3JldHVybiBmPT09bT9iOkYkKG0sZyxlKX1yZXR1cm5bMCxyVywsZnVuY3Rpb24oYSxiKXt2YXJcbmM9Yjtmb3IoOzspe2lmKHR5cGVvZlxuYz09PVwibnVtYmVyXCIpcmV0dXJuIDA7aWYoMD09PWNbMF0pcmV0dXJuIDA9PT1qKGRbMV0sYSxjWzFdKT8xOjA7dmFyXG5nPWNbNF0saD1jWzNdLGU9aihkWzFdLGEsY1syXSksZj0wPT09ZT8xOjA7aWYoZilyZXR1cm4gZjt2YXJcbmk9MDw9ZT9nOmgsYz1pfX0sY119ZnVuY3Rpb25cbkdiKGEpe3N3aXRjaChhWzBdKXtjYXNlXG4wOnJldHVybiAxO2Nhc2VcbjE6cmV0dXJuIDI7Y2FzZVxuMjpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAzfX1mdW5jdGlvblxuRihhLGIpe2lmKCFiKXJldHVybiBiO3ZhclxuYz1iWzFdLGQ9aShhLGMpO3JldHVybiBjPT09ZD9iOlswLGRdfWZ1bmN0aW9uXG5mKGEsYixjLGQsZSl7dmFyXG5mPWooYSxiLGMpO3JldHVybiBjPT09Zj9kOmUoZil9ZnVuY3Rpb25cbmUoYSxiLGMsZCl7dmFyXG5lPWkoYSxiKTtyZXR1cm4gYj09PWU/YzpkKGUpfWZ1bmN0aW9uXG5hRShhLGIpe3ZhclxuYz1iWzFdO3JldHVybiBmKGEsYyxiWzJdLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxhXX0pfWZ1bmN0aW9uXG5rUShjLGIpe3JldHVybiBGKGZ1bmN0aW9uKGEpe3ZhclxuYj1hWzFdO3JldHVybiBmKGMsYixhWzJdLGEsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYixhXX0pfSxiKX1mdW5jdGlvblxuUChkLGIpe3ZhclxuYT1hVihmdW5jdGlvbihhLGIpe3ZhclxuZT1hWzJdLGY9YVsxXSxjPWkoZCxiKSxnPWV8fChjIT09Yj8xOjApO3JldHVyblswLFswLGMsZl0sZ119LFJXLGIpLGM9YVsxXTtyZXR1cm4gYVsyXT9CKGMpOmJ9dmFyXG5yWD1tZyhSVixmdW5jdGlvbihhZSl7dmFyXG5hPXJOKGFlLFJVKSxhMz1hWzFdLGE0PWFbMl0sYTU9YVszXSx0PWFbNF0sYTY9YVs1XSxhNz1hWzZdLGE4PWFbN10sRz1hWzhdLGE5PWFbOV0sYV89YVsxMF0sYSQ9YVsxMV0sYmE9YVsxMl0sYmI9YVsxM10sYmM9YVsxNF0sYmQ9YVsxNV0sYWY9YVsxNl0sbz1hWzE3XSxOPWFbMThdLGFnPWFbMTldLGFqPWFbMjBdLGJmPWFbMjFdLGFrPWFbMjJdLGJnPWFbMjNdLEg9YVsyNF0sdj1hWzI1XSxuPWFbMjZdLE89YVsyN10saD1hWzI4XSxiaD1hWzI5XSxiaT1hWzMwXSxiaj1hWzMxXSxiaz1hWzMyXSxibD1hWzMzXSxibj1hWzM0XSxibz1hWzM1XSxicD1hWzM2XSxicT1hWzM3XSxicj1hWzM4XSxhbD1hWzM5XSxidT1hWzQwXSxkPWFbNDFdLGI9YVs0Ml0sYnY9YVs0M10sYnc9YVs0NF0sYng9YVs0NV0scD1hWzQ2XSxRPWFbNDddLGJ5PWFbNDhdLG09YVs0OV0sYno9YVs1MF0sYW09YVs1MV0sYkE9YVs1Ml0sYkI9YVs1M10sYW89YVs1NF0sYkM9YVs1NV0sYkQ9YVs1Nl0sYkU9YVs1N10sUj1hWzU5XSx5PWFbNjBdLGFwPWFbNjFdLGJGPWFbNjJdLGJHPWFbNjNdLGJIPWFbNjRdLGJJPWFbNjVdLGJKPWFbNjZdLGJLPWFbNjddLGJMPWFbNjhdLGJNPWFbNjldLGJOPWFbNzBdLGJPPWFbNzFdLGJQPWFbNzJdLGJRPWFbNzNdLGJSPWFbNzRdLGw9YVs3NV0sYlM9YVs3Nl0sYlU9YVs3N10sYlY9YVs3OF0sYlc9YVs3OV0sYlg9YVs4MF0sYlk9YVs4MV0sYlo9YVs4Ml0sdz1hWzgzXSxiMD1hWzg0XSxiMT1hWzg1XSxiMj1hWzg2XSxTPWFbODddLGIzPWFbODhdLGI0PWFbODldLGI1PWFbOTBdLEk9YVs5MV0sYjY9YVs5Ml0sYjc9YVs5M10sYjg9YVs5NF0sYjk9YVs5NV0sYl89YVs5Nl0sYiQ9YVs5N10sY2E9YVs5OF0sY2I9YVs5OV0sY2M9YVthbl0sY2Q9YVtidF0sdT1hW2NBXSxjZT1hW2JlXSxjZj1hW2JUXSxjaT1hW2NoXSxjaj1hW2NnXSxyPWFbYUtdLGNrPWFbaFRdLGNsPWFbZFZdLGNtPWFbYVpdLGNuPWFbYnNdLGNvPWFbaFldLGNwPWFbYm1dLGNxPWFbVl0sY3I9YVtqcF0sY3M9YVtpdl0sY3Q9YVtsUF0sYXE9YVtra10sY3U9YVtsc10sY3Y9YVtlb10sY3c9YVtseV0sY3k9YVthaV0sYXI9YVtjeF0sY3o9YVtrY10sYz1hW2lHXSxjQj1hW29PXSxjQz1hW2FiXSxjRD1hW2FBXSxjRT1hW2pzXSxjRj1hW2xIXSxjRz1hW2xyXSxhcz1hW3B1XSxjSD1hW29QXSxjST1hW0t6XSxUPWFbSkFdLGNKPWFbSzJdLGNLPWFbSjddLGNMPWFbdjhdLGNNPWFbTEtdLFU9YVtKbV0sY049YVtLeV0sY089YVtKZl0sY1A9YVtMdl0sY1E9YVsxNDRdLGNSPWFbMTQ1XSxhdD1hWzE0Nl0sY1M9YVsxNDddLGNUPWFbMTQ4XSxhdT1hWzE0OV0sQT1hWzE1MF0sYXY9YVtLdV0sYXc9YVsxNTJdLGNVPWFbMTUzXSxjVj1hWzE1NF0sYXg9YVsxNTVdLGF5PWFbMTU2XSxhej1hW01mXSxjVz1hWzE1OF0sYUI9YVsxNTldLGNYPWFbTG1dLGNZPWFbTXFdLGNaPWFbTXhdLGMwPWFbS2pdLGMxPWFbSlldLGMyPWFbTVBdLGMzPWFbSjRdLGM0PWFbTVFdLGM1PWFbQk9dLGM2PWFbbjVdLGM3PWFbeWddLFc9YVtEbl0sYzg9YVtNWV0sYUM9YVtMQV0sYzk9YVtNZF0sY189YVtNMl0sYyQ9YVtLT10sZGE9YVtMcl0sZGI9YVtBRl0sZGM9YVtNYV0sZGQ9YVt2Y10sZGU9YVtDbF0sZGY9YVt2Q10sZGc9YVtBTV0saz1hW2xRXSxDPWFbS2hdLGRoPWFbdEpdLGFEPWFbbjhdLGRpPWFbQU9dLEo9YVtxbF0sZGo9YVtMRl0sZGs9YVtNal0sZGw9YVtrcV0sZG09YVtKWl0sZG49YVtCRV0sZHA9YVt6WF0sYUY9YVtMcV0sYUc9YVtLM10sZHE9YVtNZV0sYUg9YVtNbF0sRD1hW01tXSxkcj1hW01VXSxkcz1hW0ozXSxkdD1hW0JnXSxkdT1hW0tHXSxZPWFbd1pdLGR2PWFbeEFdLGR3PWFbSkldLGR4PWFbTDVdLGR5PWFbTFVdLGR6PWFbTDNdLGRBPWFbeFddLGRCPWFbTVddLGRDPWFbTTddLGREPWFbSmxdLGRFPWFbREZdLGRGPWFbdlNdLGRHPWFbTEVdLGRIPWFbTF9dLGc9YVt0S10sYUk9YVtMUF0sYUo9YVtLSl0sZEk9YVtLJF0sZEo9YVtuVV0sZEs9YVtqJF0sZEw9YVtNWl0sZE09YVtLS10sZE49YVtNQl0sZE89YVtNOV0sZFA9YVtNbl0sZFE9YVtNVF0sZFI9YVtLYl0sRT1hW0xmXSxhTD1hW0tyXSxaPWFbSnFdLGRTPWFbTUFdLGRUPWFbTXpdLGRVPWFbTWtdLGRXPWFbTUpdLGRYPWFbQSRdLGRZPWFba2RdLGRaPWFbS1VdLEs9YVtNd10sYU09YVtKeF0sZDA9YVtqZF0sZDE9YVtDR10sZDI9YVtqNV0sZDM9YVtvN10sZDQ9YVthaF0sYU49YVtDa10sZDU9YVtraV0sZDY9YVtMaV0sZDc9YVtqOV0sYU89YVt1YV0sYVA9YVtrbl0sZDg9YVtwRl0sZDk9YVtsQl0sZF89YVsyNTddLGQkPWFbS2RdLGFRPWFbTWldLGVhPWFbMjYwXSxhUj1hWzI2MV0sZWI9YVsyNjJdLGVjPWFbMjYzXSxlZD1hWzI2NF0sXz1hWzI2NV0sZWU9YVtKTF0sYVM9YVsyNjddLGFUPWFbMjY4XSxlZj1hWzI2OV0sYVU9YVsyNzBdLGVnPWFbSmpdLGVoPWFbSlhdLCQ9YVsyNzNdLGFXPWFbMjc0XSxlaT1hW0s1XSxlaj1hWzI3Nl0sZWs9YVtNVl0sZWw9YVt4d10sYVg9YVtDWF0sYVk9YVsyODBdLGVtPWFbSnJdLGVuPWFbMjgyXSxlcD1hWzI4M10sTD1hWzI4NF0sZXE9YVsyODVdLGVyPWFbSmddLGEwPWFbSk9dLGVzPWFbMjg4XSxldD1hWzI4OV0sZXU9YVsyOTBdLGFhPWFbTHVdLGV2PWFbMjkyXSxhMT1hW01MXSxldz1hWzI5NF0sYWM9YVsyOTVdLGV4PWFbMjk2XSxxPWFbTDFdLHM9YVsyOThdLE09YVsyOTldLGV5PWFbTTRdLHg9YVszMDFdLGFkPWFbS1NdLGV6PWFbSlVdLGVBPWFbMzA0XSxlQj1hWzMwNV0sZUM9YVszMDZdLGVEPWFbTXNdLGVFPWFbMzA4XSxlRj1hW0s3XSxhMj1hW0tlXTtyVChhZSxbMCxhWzU4XSxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGU9Y1s0XSxmPWNbM10sZz1jWzFdLG09Y1syXSxuPWJbMV0saD1qKGFbMV1bMStib10sYSxnKSxrPWooYVsxXVsxK2RdLGEsZiksbD1QKGkoYVsxXVsxKyRdLGEpLGUpO2lmKGc9PT1oJiZmPT09ayYmZT09PWwpcmV0dXJuIGI7cmV0dXJuWzAsbixbMCxoLG0sayxsXV19LG0sZnVuY3Rpb24oYSxiKXt2YXJcbmQ9YlsyXSxjPWJbMV07c3dpdGNoKGRbMF0pe2Nhc2VcbjA6dmFyXG5lPWRbMV07cmV0dXJuIGYoaShhWzFdWzErcV0sYSksYyxlLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMCxhXV19KTtjYXNlXG4xOnZhclxuZz1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2V3XSxhKSxjLGcsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxLGFdXX0pO2Nhc2VcbjI6dmFyXG5oPWRbMV07cmV0dXJuIGYoaShhWzFdWzErZXFdLGEpLGMsaCxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzIsYV1dfSk7Y2FzZVxuMzp2YXJcbmo9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStlZ10sYSksYyxqLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMyxhXV19KTtjYXNlXG40OnZhclxuaz1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2Q5XSxhKSxjLGssYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFs0LGFdXX0pO2Nhc2VcbjU6dmFyXG5sPWRbMV07cmV0dXJuIGYoaShhWzFdWzErZDhdLGEpLGMsbCxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzUsYV1dfSk7Y2FzZVxuNjp2YXJcbm09ZFsxXTtyZXR1cm4gZihpKGFbMV1bMSthUF0sYSksYyxtLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbNixhXV19KTtjYXNlXG43OnZhclxubj1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2FPXSxhKSxjLG4sYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFs3LGFdXX0pO2Nhc2Vcbjg6dmFyXG5vPWRbMV07cmV0dXJuIGYoaShhWzFdWzErZDddLGEpLGMsbyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzgsYV1dfSk7Y2FzZVxuOTp2YXJcbnA9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStkNl0sYSksYyxwLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbOSxhXV19KTtjYXNlXG4xMDp2YXJcbnI9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMSthTl0sYSksYyxyLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMTAsYV1dfSk7Y2FzZVxuMTE6dmFyXG5zPWRbMV07cmV0dXJuIGYoaShhWzFdWzErZDRdLGEpLGMscyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzExLGFdXX0pO2Nhc2VcbjEyOnZhclxudD1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2QzXSxhKSxjLHQsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxMixhXV19KTtjYXNlXG4xMzp2YXJcbnU9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStkMl0sYSksYyx1LGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMTMsYV1dfSk7Y2FzZVxuMTQ6dmFyXG52PWRbMV07cmV0dXJuIGYoaShhWzFdWzErZDFdLGEpLGMsdixiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzE0LGFdXX0pO2Nhc2VcbjE1OnZhclxudz1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2QwXSxhKSxjLHcsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxNSxhXV19KTtjYXNlXG4xNjp2YXJcbng9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStTXSxhKSxjLHgsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxNixhXV19KTtjYXNlXG4xNzp2YXJcbnk9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMSthTV0sYSksYyx5LGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMTcsYV1dfSk7Y2FzZVxuMTg6dmFyXG56PWRbMV07cmV0dXJuIGYoaShhWzFdWzErZFpdLGEpLGMseixiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzE4LGFdXX0pO2Nhc2VcbjE5OnZhclxuQT1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2RZXSxhKSxjLEEsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxOSxhXV19KTtjYXNlXG4yMDp2YXJcbkI9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStaXSxhKSxjLEIsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsyMCxhXV19KTtjYXNlXG4yMTp2YXJcbkM9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStkTF0sYSksYyxDLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMjEsYV1dfSk7Y2FzZVxuMjI6dmFyXG5EPWRbMV07cmV0dXJuIGYoaShhWzFdWzErZEpdLGEpLGMsRCxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzIyLGFdXX0pO2Nhc2VcbjIzOnZhclxuRT1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2RHXSxhKSxjLEUsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsyMyxhXV19KTtjYXNlXG4yNDp2YXJcbkY9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStkd10sYSksYyxGLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMjQsYV1dfSk7Y2FzZVxuMjU6dmFyXG5IPWRbMV07cmV0dXJuIGYoaShhWzFdWzErZERdLGEpLGMsSCxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzI1LGFdXX0pO2Nhc2VcbjI2OnZhclxuST1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2R5XSxhKSxjLEksYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsyNixhXV19KTtjYXNlXG4yNzp2YXJcbko9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStkc10sYSksYyxKLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMjcsYV1dfSk7Y2FzZVxuMjg6dmFyXG5LPWRbMV07cmV0dXJuIGYoaShhWzFdWzErZGVdLGEpLGMsSyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzI4LGFdXX0pO2Nhc2VcbjI5OnZhclxuTD1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2RjXSxhKSxjLEwsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsyOSxhXV19KTtjYXNlXG4zMDp2YXJcbk09ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStjN10sYSksYyxNLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMzAsYV1dfSk7Y2FzZVxuMzE6dmFyXG5OPWRbMV07cmV0dXJuIGYoaShhWzFdWzErY01dLGEpLGMsTixiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzMxLGFdXX0pO2Nhc2VcbjMyOnZhclxuUD1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2N5XSxhKSxjLFAsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFszMixhXV19KTtjYXNlXG4zMzp2YXJcblE9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStiQl0sYSksYyxRLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMzMsYV1dfSk7Y2FzZVxuMzQ6dmFyXG5SPWRbMV07cmV0dXJuIGYoaShhWzFdWzErYnddLGEpLGMsUixiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzM0LGFdXX0pO2Nhc2VcbjM1OnZhclxuVD1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2JwXSxhKSxjLFQsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFszNSxhXV19KTtjYXNlXG4zNjp2YXJcblU9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStibl0sYSksYyxVLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMzYsYV1dfSk7Y2FzZVxuMzc6dmFyXG5WPWRbMV07cmV0dXJuIGYoaShhWzFdWzErT10sYSksYyxWLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMzcsYV1dfSk7Y2FzZVxuMzg6dmFyXG5XPWRbMV07cmV0dXJuIGYoaShhWzFdWzErU10sYSksYyxXLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMzgsYV1dfSk7Y2FzZVxuMzk6dmFyXG5YPWRbMV07cmV0dXJuIGYoaShhWzFdWzErR10sYSksYyxYLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMzksYV1dfSk7Y2FzZVxuNDA6dmFyXG5ZPWRbMV07cmV0dXJuIGYoaShhWzFdWzErYTVdLGEpLGMsWSxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzQwLGFdXX0pO2RlZmF1bHQ6dmFyXG5fPWRbMV07cmV0dXJuIGYoaShhWzFdWzErYTRdLGEpLGMsXyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzQxLGFdXX0pfX0sJCxmdW5jdGlvbihhLGIpe3JldHVybiBifSxkLGZ1bmN0aW9uKGEpe3ZhclxuYz1pKGFbMV1bMStiXSxhKTtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIEYoYyxhKX19LGIsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxkPWJbMV0sZz1iWzNdLGU9UChpKGFbMV1bMSskXSxhKSxkKSxmPVAoaShhWzFdWzErJF0sYSksYyk7aWYoZD09PWUmJmM9PT1mKXJldHVybiBiO3JldHVyblswLGUsZixnXX0sZyxmdW5jdGlvbihhLGIpe3ZhclxuZD1iWzJdLGM9YlsxXTtzd2l0Y2goZFswXSl7Y2FzZVxuMDp2YXJcbmc9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStlRl0sYSksYyxnLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMCxhXV19KTtjYXNlXG4xOnZhclxuaD1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2VDXSxhKSxjLGgsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxLGFdXX0pO2Nhc2VcbjI6dmFyXG5sPWRbMV07cmV0dXJuIGYoaShhWzFdWzErZUJdLGEpLGMsbCxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzIsYV1dfSk7Y2FzZVxuMzp2YXJcbm09ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStlQV0sYSksYyxtLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMyxhXV19KTtjYXNlXG40OnZhclxubj1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2V6XSxhKSxjLG4sYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFs0LGFdXX0pO2Nhc2VcbjU6dmFyXG5vPWRbMV07cmV0dXJuIGYoaShhWzFdWzErZXldLGEpLGMsbyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzUsYV1dfSk7Y2FzZVxuNjp2YXJcbnE9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMSthMV0sYSksYyxxLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbNixhXV19KTtjYXNlXG43OnZhclxucz1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2VuXSxhKSxjLHMsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFs3LGFdXX0pO2Nhc2Vcbjg6dmFyXG50PWRbMV07cmV0dXJuIGYoaShhWzFdWzErZCRdLGEpLGMsdCxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzgsYV1dfSk7Y2FzZVxuOTp2YXJcbnU9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStkcl0sYSksYyx1LGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbOSxhXV19KTtjYXNlXG4xMDp2YXJcbnY9ZFsxXTtyZXR1cm4gZShpKGFbMV1bMStrXSxhKSx2LGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMTAsYV1dfSk7Y2FzZVxuMTE6dmFyXG53PWRbMV07cmV0dXJuIGUoaihhWzFdWzErZGRdLGEsYyksdyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzExLGFdXX0pO2Nhc2VcbjEyOnZhclxueT1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2F6XSxhKSxjLHksYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxMixhXV19KTtjYXNlXG4xMzp2YXJcbno9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMSthdl0sYSksYyx6LGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMTMsYV1dfSk7Y2FzZVxuMTQ6dmFyXG5BPWRbMV07cmV0dXJuIGYoaShhWzFdWzErcF0sYSksYyxBLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMTQsYV1dfSk7Y2FzZVxuMTU6dmFyXG5CPWRbMV07cmV0dXJuIGYoaShhWzFdWzErYWNdLGEpLGMsQixiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzE1LGFdXX0pO2Nhc2VcbjE2OnZhclxuQz1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2NsXSxhKSxjLEMsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxNixhXV19KTtjYXNlXG4xNzp2YXJcbkQ9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStyXSxhKSxjLEQsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxNyxhXV19KTtjYXNlXG4xODp2YXJcbkU9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMSt4XSxhKSxjLEUsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxOCxhXV19KTtjYXNlXG4xOTp2YXJcbkY9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStiRF0sYSksYyxGLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMTksYV1dfSk7Y2FzZVxuMjA6dmFyXG5HPWRbMV07cmV0dXJuIGYoaShhWzFdWzErY25dLGEpLGMsRyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzIwLGFdXX0pO2Nhc2VcbjIxOnZhclxuSD1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2NMXSxhKSxjLEgsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsyMSxhXV19KTtjYXNlXG4yMjp2YXJcbkk9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStjSV0sYSksYyxJLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMjIsYV1dfSk7Y2FzZVxuMjM6dmFyXG5KPWRbMV07cmV0dXJuIGYoaShhWzFdWzErYXFdLGEpLGMsSixiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzIzLGFdXX0pO2Nhc2VcbjI0OnZhclxuSz1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2NvXSxhKSxjLEssYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsyNCxhXV19KTtjYXNlXG4yNTp2YXJcbkw9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStjbV0sYSksYyxMLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMjUsYV1dfSk7Y2FzZVxuMjY6dmFyXG5NPWRbMV07cmV0dXJuIGYoaShhWzFdWzErY2pdLGEpLGMsTSxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzI2LGFdXX0pO2Nhc2VcbjI3OnZhclxuTj1kWzFdO3JldHVybiBlKGooYVsxXVsxK2IyXSxhLGMpLE4sYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsyNyxhXV19KTtjYXNlXG4yODp2YXJcbk89ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStiMF0sYSksYyxPLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMjgsYV1dfSk7Y2FzZVxuMjk6dmFyXG5QPWRbMV07cmV0dXJuIGYoaShhWzFdWzErYkFdLGEpLGMsUCxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzI5LGFdXX0pO2Nhc2VcbjMwOnZhclxuUT1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2J4XSxhKSxjLFEsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFszMCxhXV19KTtjYXNlXG4zMTp2YXJcblI9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStidV0sYSksYyxSLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMzEsYV1dfSk7Y2FzZVxuMzI6dmFyXG5TPWRbMV07cmV0dXJuIGYoaShhWzFdWzErYWxdLGEpLGMsUyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzMyLGFdXX0pO2Nhc2VcbjMzOnZhclxuVD1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2JxXSxhKSxjLFQsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFszMyxhXV19KTtjYXNlXG4zNDp2YXJcblU9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMStiZ10sYSksYyxVLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMzQsYV1dfSk7Y2FzZVxuMzU6dmFyXG5WPWRbMV07cmV0dXJuIGYoaShhWzFdWzErYmxdLGEpLGMsVixiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzM1LGFdXX0pO2Nhc2VcbjM2OnZhclxuVz1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2EkXSxhKSxjLFcsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFszNixhXV19KTtjYXNlXG4zNzp2YXJcblg9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMSthOV0sYSksYyxYLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMzcsYV1dfSk7ZGVmYXVsdDp2YXJcblk9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMSthM10sYSksYyxZLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMzgsYV1dfSl9fSxlRixmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbMl0sZj1jWzFdLGc9UChpKGFbMV1bMStlRV0sYSksZiksaD1qKGFbMV1bMStkXSxhLGUpO2lmKGY9PT1nJiZlPT09aClyZXR1cm4gYztyZXR1cm5bMCxnLGhdfSxlRSxmdW5jdGlvbihhLGIpe3N3aXRjaChiWzBdKXtjYXNlXG4wOnZhclxuYz1iWzFdO3JldHVybiBlKGkoYVsxXVsxK2ddLGEpLGMsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxhXX0pO2Nhc2VcbjE6dmFyXG5kPWJbMV07cmV0dXJuIGUoaShhWzFdWzErYW1dLGEpLGQsYixmdW5jdGlvbihhKXtyZXR1cm5bMSxhXX0pO2RlZmF1bHQ6cmV0dXJuIGJ9fSxlQyxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHooYVsxXVsxK1ldLGEsYixjKX0sZUIsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzJdLGY9Y1sxXSxoPWooYVsxXVsxK2ddLGEsZiksaT1qKGFbMV1bMStkXSxhLGUpO2lmKGg9PT1mJiZpPT09ZSlyZXR1cm4gYztyZXR1cm5bMCxoLGldfSxlQSxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbM10sZj1jWzJdLGg9Y1sxXSxpPWooYVsxXVsxK2ddLGEsaCksaz1qKGFbMV1bMStuXSxhLGYpLGw9aihhWzFdWzErZF0sYSxlKTtpZihpPT09aCYmaz09PWYmJmw9PT1lKXJldHVybiBjO3JldHVyblswLGksayxsXX0sZXosZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzRdLGY9Y1szXSxoPWNbMl0saT1qKGFbMV1bMSthZF0sYSxoKSxrPWooYVsxXVsxK2ddLGEsZiksbD1qKGFbMV1bMStkXSxhLGUpO2lmKGg9PT1pJiZmPT09ayYmZT09PWwpcmV0dXJuIGM7cmV0dXJuWzAsY1sxXSxpLGssbF19LGV5LGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1s0XSxmPWNbM10saD1jWzJdLGk9aihhWzFdWzErZ10sYSxoKSxrPWooYVsxXVsxK2ddLGEsZiksbD1qKGFbMV1bMStkXSxhLGUpO2lmKGg9PT1pJiZmPT09ayYmZT09PWwpcmV0dXJuIGM7cmV0dXJuWzAsY1sxXSxpLGssbF19LHEsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzJdLGY9Y1sxXSxnPWooYVsxXVsxK1FdLGEsZiksaD1qKGFbMV1bMStkXSxhLGUpO2lmKGY9PT1nJiZlPT09aClyZXR1cm4gYztyZXR1cm5bMCxnLGhdfSxldyxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbMl0sZj1jWzFdLGc9RihpKGFbMV1bMStVXSxhKSxmKSxoPWooYVsxXVsxK2RdLGEsZSk7aWYoZj09PWcmJmU9PT1oKXJldHVybiBjO3JldHVyblswLGcsaF19LGExLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1s0XSxmPWNbM10saD1jWzJdLGs9Y1sxXSxsPWooYVsxXVsxK2ddLGEsayksbT1GKGkoYVsxXVsxK2FhXSxhKSxoKSxuPWooYVsxXVsxK2EyXSxhLGYpLG89aihhWzFdWzErZF0sYSxlKTtpZihrPT09bCYmaD09PW0mJmY9PT1uJiZlPT09bylyZXR1cm4gYztyZXR1cm5bMCxsLG0sbixvXX0sYTIsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxlPWNbMl0sZj1jWzFdLGs9YlsxXSxnPVAoaShhWzFdWzErZEhdLGEpLGYpLGg9aihhWzFdWzErZF0sYSxlKTtpZihmPT09ZyYmZT09PWgpcmV0dXJuIGI7cmV0dXJuWzAsayxbMCxnLGhdXX0sYjIsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZD1jWzFdLGU9eihhWzFdWzErYTFdLGEsYixkKTtyZXR1cm4gZD09PWU/YzpbMCxlLGNbMl0sY1szXV19LGFhLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1jWzJdLGY9Y1sxXSxrPWJbMV0sZz1QKGkoYVsxXVsxK2V2XSxhKSxmKSxoPWooYVsxXVsxK2RdLGEsZSk7aWYoZj09PWcmJmU9PT1oKXJldHVybiBiO3JldHVyblswLGssWzAsZyxoXV19LGV2LGZ1bmN0aW9uKGEsYil7aWYoMD09PWJbMF0pe3ZhclxuYz1iWzFdLGU9aihhWzFdWzEraF0sYSxjKTtyZXR1cm4gZT09PWM/YjpbMCxlXX12YXJcbmY9YlsxXSxnPWZbMl1bMV0saz1mWzFdLGk9aihhWzFdWzErZF0sYSxnKTtyZXR1cm4gZz09PWk/YjpbMSxbMCxrLFswLGldXV19LGV1LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGFFKGkoYVsxXVsxK3FdLGEpLGIpfSxldCxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbM10sZj1jWzJdLGc9Y1sxXSxoPUYoaShhWzFdWzErZXNdLGEpLGcpLGs9aihhWzFdWzErZXVdLGEsZiksbD1qKGFbMV1bMStkXSxhLGUpO2lmKGc9PT1oJiZmPT09ayYmZT09PWwpcmV0dXJuIGM7cmV0dXJuWzAsaCxrLGxdfSxlcSxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHooYVsxXVsxK2EwXSxhLGIsYyl9LGVuLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4geihhWzFdWzErYTBdLGEsYixjKX0sYTAsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzddLGY9Y1s2XSxnPWNbNV0saD1jWzRdLGs9Y1szXSxsPWNbMl0sbT1jWzFdLG49RihpKGFbMV1bMSthWV0sYSksbSkscD1GKGkoYVsxXVsxK29dLGEpLGspLHE9aihhWzFdWzErZXJdLGEsbCksdj1pKGFbMV1bMStlbV0sYSkscj1GKGZ1bmN0aW9uKGEpe3JldHVybiBhRSh2LGEpfSxoKSxzPUYoaShhWzFdWzErYVhdLGEpLGcpLHQ9UChpKGFbMV1bMStMXSxhKSxmKSx1PWooYVsxXVsxK2RdLGEsZSk7aWYobT09PW4mJmw9PT1xJiZoPT09ciYmZz09PXMmJmY9PT10JiZlPT09dSYmaz09PXApcmV0dXJuIGM7cmV0dXJuWzAsbixxLHAscixzLHQsdV19LGVtLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1szXSxmPWNbMl0saD1jWzFdLGs9aihhWzFdWzErZ10sYSxoKSxsPUYoaShhWzFdWzErSF0sYSksZiksbT1qKGFbMV1bMStkXSxhLGUpO2lmKGg9PT1rJiZmPT09bCYmZT09PW0pcmV0dXJuIGM7cmV0dXJuWzAsayxsLG1dfSxhWSxmdW5jdGlvbihhLGIpe3JldHVybiB6KGFbMV1bMStsXSxhLFJfLGIpfSxlcixmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGU9Y1syXSxmPWNbMV0saz1iWzFdLGc9UChpKGFbMV1bMStlcF0sYSksZiksaD1qKGFbMV1bMStkXSxhLGUpO2lmKGY9PT1nJiZlPT09aClyZXR1cm4gYjtyZXR1cm5bMCxrLFswLGcsaF1dfSxMLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1jWzJdLGY9Y1sxXSxrPWJbMV0saD1qKGFbMV1bMStnXSxhLGYpLGk9aihhWzFdWzErZF0sYSxlKTtpZihmPT09aCYmZT09PWkpcmV0dXJuIGI7cmV0dXJuWzAsayxbMCxoLGldXX0sZXAsZnVuY3Rpb24oYSxiKXtzd2l0Y2goYlswXSl7Y2FzZVxuMDp2YXJcbmM9YlsxXSxkPWNbMV0saz1jWzJdO3JldHVybiBmKGkoYVsxXVsxK2VrXSxhKSxkLGssYixmdW5jdGlvbihhKXtyZXR1cm5bMCxbMCxkLGFdXX0pO2Nhc2VcbjE6dmFyXG5lPWJbMV0sZz1lWzFdLGw9ZVsyXTtyZXR1cm4gZihpKGFbMV1bMStlaV0sYSksZyxsLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzEsWzAsZyxhXV19KTtkZWZhdWx0OnZhclxuaD1iWzFdLGo9aFsxXSxtPWhbMl07cmV0dXJuIGYoaShhWzFdWzErZWpdLGEpLGosbSxiLGZ1bmN0aW9uKGEpe3JldHVyblsyLFswLGosYV1dfSl9fSxhWCxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGU9Y1syXSxmPWNbMV0saz1iWzFdLGc9UChpKGFbMV1bMStlbF0sYSksZiksaD1qKGFbMV1bMStkXSxhLGUpO2lmKGY9PT1nJiZlPT09aClyZXR1cm4gYjtyZXR1cm5bMCxrLFswLGcsaF1dfSxlbCxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGQ9Y1syXSxlPWNbMV0saD1iWzFdLGY9aihhWzFdWzErYWddLGEsZSksZz1GKGkoYVsxXVsxK0hdLGEpLGQpO2lmKGU9PT1mJiZkPT09ZylyZXR1cm4gYjtyZXR1cm5bMCxoLFswLGYsZ11dfSxlayxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbNl0sZj1jWzVdLGc9Y1szXSxoPWNbMl0saz1qKGFbMV1bMSt1XSxhLGgpLGw9YUUoaShhWzFdWzErRF0sYSksZyksbT1QKGkoYVsxXVsxK0xdLGEpLGYpLG49aihhWzFdWzErZF0sYSxlKTtpZihoPT09ayYmZz09PWwmJmY9PT1tJiZlPT09bilyZXR1cm4gYztyZXR1cm5bMCxjWzFdLGssbCxjWzRdLG0sbl19LGVpLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1s3XSxmPWNbNl0sZz1jWzVdLGg9Y1szXSxrPWNbMl0sbD1jWzFdLG09aihhWzFdWzErdV0sYSxsKSxuPWooYVsxXVsxK2FXXSxhLGspLG89aihhWzFdWzErdl0sYSxoKSxwPWooYVsxXVsxK3RdLGEsZykscT1QKGkoYVsxXVsxK0xdLGEpLGYpLHI9aihhWzFdWzErZF0sYSxlKTtpZihsPT09bSYmaz09PW4mJm89PT1oJiZwPT09ZyYmcT09PWYmJnI9PT1lKXJldHVybiBjO3JldHVyblswLG0sbixvLGNbNF0scCxxLHJdfSxhVyxmdW5jdGlvbihhLGIpe2lmKHR5cGVvZlxuYj09PVwibnVtYmVyXCIpcmV0dXJuIGI/YjpiO3ZhclxuYz1iWzFdLGQ9aihhWzFdWzErZ10sYSxjKTtyZXR1cm4gYz09PWQ/YjpbMCxkXX0sZWosZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzddLGY9Y1s2XSxnPWNbNV0saD1jWzNdLGs9Y1syXSxsPWNbMV0sbT1qKGFbMV1bMStSXSxhLGwpLG49aihhWzFdWzErYVddLGEsayksbz1qKGFbMV1bMSt2XSxhLGgpLHA9aihhWzFdWzErdF0sYSxnKSxxPVAoaShhWzFdWzErTF0sYSksZikscj1qKGFbMV1bMStkXSxhLGUpO2lmKGw9PT1tJiZrPT09biYmbz09PWgmJnA9PT1nJiZxPT09ZiYmcj09PWUpcmV0dXJuIGM7cmV0dXJuWzAsbSxuLG8sY1s0XSxwLHEscl19LEssZnVuY3Rpb24oYSxiKXtyZXR1cm4gRihpKGFbMV1bMStnXSxhKSxiKX0sZWcsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzZdLGY9Y1s1XSxnPWNbNF0saD1jWzNdLGs9Y1syXSxsPWNbMV0sdD1jWzddLG09aihhWzFdWzErYVVdLGEsbCksbj1GKGkoYVsxXVsxK29dLGEpLGspLHA9aihhWzFdWzErZWVdLGEsaCkscT1qKGFbMV1bMStlaF0sYSxmKSxyPWooYVsxXVsxK19dLGEsZykscz1qKGFbMV1bMStkXSxhLGUpO2lmKGw9PT1tJiZrPT09biYmaD09PXAmJmY9PT1xJiZnPT09ciYmZT09PXMpcmV0dXJuIGM7cmV0dXJuWzAsbSxuLHAscixxLHMsdF19LGFVLGZ1bmN0aW9uKGEsYil7cmV0dXJuIHooYVsxXVsxK2xdLGEsUjksYil9LGVlLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1jWzNdLGY9Y1syXSxnPWNbMV0sbT1iWzFdLGg9UChpKGFbMV1bMStlZl0sYSksZyksaz1GKGkoYVsxXVsxK2VkXSxhKSxmKSxsPWooYVsxXVsxK2RdLGEsZSk7aWYoZz09PWgmJmY9PT1rJiZlPT09bClyZXR1cm4gYjtyZXR1cm5bMCxtLFswLGgsayxsXV19LGVmLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZD1jWzNdLGU9Y1syXSxmPWNbMV0saz1jWzRdLGw9YlsxXSxnPWooYVsxXVsxK2FUXSxhLGYpLGg9aihhWzFdWzErYVNdLGEsZSksaT1qKGFbMV1bMStLXSxhLGQpO2lmKGY9PT1nJiZlPT09aCYmZD09PWkpcmV0dXJuIGI7cmV0dXJuWzAsbCxbMCxnLGgsaSxrXV19LGFULGZ1bmN0aW9uKGEsYil7aWYoMD09PWJbMF0pcmV0dXJuWzAsaihhWzFdWzEra10sYSxiWzFdKV07dmFyXG5jPWJbMV0sZD1jWzFdO3JldHVyblsxLFswLGQseihhWzFdWzErcF0sYSxkLGNbMl0pXV19LGFTLGZ1bmN0aW9uKGEsYil7cmV0dXJuIHooYVsxXVsxK01dLGEsUjgsYil9LGVkLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1jWzJdLGY9Y1sxXSxpPWJbMV0sZz1qKGFbMV1bMSthU10sYSxmKSxoPWooYVsxXVsxK2RdLGEsZSk7aWYoZj09PWcmJmU9PT1oKXJldHVybiBiO3JldHVyblswLGksWzAsZyxoXV19LGVoLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMV0sZD1iWzJdO3JldHVybiBmKGkoYVsxXVsxK3FdLGEpLGMsZCxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsYV19KX0sZCQsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzRdLGY9Y1szXSxoPWNbMl0saT1jWzFdLGs9aihhWzFdWzEreV0sYSxpKSxsPWooYVsxXVsxK2ddLGEsaCksbT1qKGFbMV1bMStnXSxhLGYpLG49aihhWzFdWzErZF0sYSxlKTtpZihpPT09ayYmaD09PWwmJmY9PT1tJiZlPT09bilyZXR1cm4gYztyZXR1cm5bMCxrLGwsbSxuXX0sZDksZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzJdLGY9Y1sxXSxnPUYoaShhWzFdWzErVV0sYSksZiksaD1qKGFbMV1bMStkXSxhLGUpO2lmKGY9PT1nJiZlPT09aClyZXR1cm4gYztyZXR1cm5bMCxnLGhdfSxkOCxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbMV0sZj1qKGFbMV1bMStkXSxhLGUpO3JldHVybiBlPT09Zj9jOlswLGZdfSxhUCxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbN10sZj1jWzZdLGc9Y1s1XSxoPWNbNF0saz1jWzNdLGw9Y1syXSxtPWNbMV0sbj1qKGFbMV1bMSthWV0sYSxtKSxwPUYoaShhWzFdWzErb10sYSksbCkscT1hRShpKGFbMV1bMStJXSxhKSxrKSx2PWkoYVsxXVsxK0NdLGEpLHI9RihmdW5jdGlvbihhKXtyZXR1cm4gYUUodixhKX0saCksdz1pKGFbMV1bMStDXSxhKSxzPVAoZnVuY3Rpb24oYSl7cmV0dXJuIGFFKHcsYSl9LGcpLHQ9RihpKGFbMV1bMSthWF0sYSksZiksdT1qKGFbMV1bMStkXSxhLGUpO2lmKG49PT1tJiZwPT09bCYmcT09PWsmJnI9PT1oJiZzPT09ZyYmdD09PWYmJnU9PT1lKXJldHVybiBjO3JldHVyblswLG4scCxxLHIscyx0LHVdfSxhTyxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbNV0sZj1jWzRdLGc9Y1szXSxoPWNbMl0saz1jWzFdLGw9aihhWzFdWzErYVVdLGEsayksbT1GKGkoYVsxXVsxK29dLGEpLGgpLG49aihhWzFdWzErYVJdLGEsZykscD1qKGFbMV1bMStfXSxhLGYpLHE9aihhWzFdWzErZF0sYSxlKTtpZihrPT09bCYmaD09PW0mJmc9PT1uJiZmPT09cCYmZT09PXEpcmV0dXJuIGM7cmV0dXJuWzAsbCxtLG4scCxxXX0sZWMsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzRdLGY9Y1szXSxnPWNbMl0saD1jWzFdLGs9RihpKGFbMV1bMStvXSxhKSxoKSxsPWooYVsxXVsxK2FSXSxhLGcpLG09aihhWzFdWzErX10sYSxmKSxuPWooYVsxXVsxK2RdLGEsZSk7aWYoaD09PWsmJmc9PT1sJiZmPT09bSYmZT09PW4pcmV0dXJuIGM7cmV0dXJuWzAsayxsLG0sbl19LGFSLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1jWzNdLGY9Y1syXSxnPWNbMV0sbT1iWzFdLGg9UChpKGFbMV1bMStlYl0sYSksZyksaz1GKGkoYVsxXVsxK2VhXSxhKSxmKSxsPWooYVsxXVsxK2RdLGEsZSk7aWYoZz09PWgmJmY9PT1rJiZlPT09bClyZXR1cm4gYjtyZXR1cm5bMCxtLFswLGgsayxsXV19LGViLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZD1jWzJdLGU9Y1sxXSxoPWNbM10saT1iWzFdLGY9aihhWzFdWzErYVRdLGEsZSksZz1qKGFbMV1bMStuXSxhLGQpO2lmKGU9PT1mJiZkPT09ZylyZXR1cm4gYjtyZXR1cm5bMCxpLFswLGYsZyxoXV19LGVhLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1jWzRdLGY9Y1syXSxnPWNbMV0sbz1jWzNdLHA9YlsxXSxsPUYoaShhWzFdWzEra10sYSksZyksbT1qKGFbMV1bMStoXSxhLGYpLG49aihhWzFdWzErZF0sYSxlKTtpZihnPT09bCYmZj09PW0mJmU9PT1uKXJldHVybiBiO3JldHVyblswLHAsWzAsbCxtLG8sbl1dfSxkNyxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHooYVsxXVsxK1pdLGEsYixjKX0sZDYsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzVdLGY9Y1s0XSxnPWNbM10saD1jWzJdLG89Y1sxXSxrPWtRKGkoYVsxXVsxK2FJXSxhKSxmKSxsPUYoaShhWzFdWzErYUpdLGEpLGcpLG09RihpKGFbMV1bMStkNV0sYSksaCksbj1qKGFbMV1bMStkXSxhLGUpO2lmKGY9PT1rJiZnPT09bCYmaD09PW0mJmU9PT1uKXJldHVybiBjO3JldHVyblswLG8sbSxsLGssbl19LGQ1LGZ1bmN0aW9uKGEsYil7c3dpdGNoKGJbMF0pe2Nhc2VcbjA6dmFyXG5jPWJbMV0sZD1jWzJdLGU9Y1sxXSxmPXooYVsxXVsxK2FNXSxhLGUsZCk7cmV0dXJuIGY9PT1kP2I6WzAsWzAsZSxmXV07Y2FzZVxuMTp2YXJcbmc9YlsxXSxpPWdbMl0saz1nWzFdLGw9eihhWzFdWzErYU5dLGEsayxpKTtyZXR1cm4gbD09PWk/YjpbMSxbMCxrLGxdXTtjYXNlXG4yOnZhclxubT1iWzFdLG49bVsyXSxvPW1bMV0scD16KGFbMV1bMSthUF0sYSxvLG4pO3JldHVybiBwPT09bj9iOlsyLFswLG8scF1dO2Nhc2VcbjM6dmFyXG5xPWJbMV0scj1xWzJdLHM9cVsxXSx0PXooYVsxXVsxK2FPXSxhLHMscik7cmV0dXJuIHQ9PT1yP2I6WzMsWzAscyx0XV07Y2FzZVxuNDp2YXJcbnU9YlsxXSx2PWooYVsxXVsxK2hdLGEsdSk7cmV0dXJuIHY9PT11P2I6WzQsdl07Y2FzZVxuNTp2YXJcbnc9YlsxXSx4PXdbMl0seT13WzFdLEE9eihhWzFdWzErT10sYSx5LHgpO3JldHVybiBBPT09eD9iOls1LFswLHksQV1dO2Nhc2VcbjY6dmFyXG5CPWJbMV0sQz1CWzJdLEQ9QlsxXSxFPXooYVsxXVsxK1NdLGEsRCxDKTtyZXR1cm4gRT09PUM/YjpbNixbMCxELEVdXTtjYXNlXG43OnZhclxuRj1iWzFdLEc9RlsyXSxIPUZbMV0sST16KGFbMV1bMStXXSxhLEgsRyk7cmV0dXJuIEk9PT1HP2I6WzcsWzAsSCxJXV07ZGVmYXVsdDp2YXJcbko9YlsxXSxLPUpbMl0sTD1KWzFdLE09eihhWzFdWzErWl0sYSxMLEspO3JldHVybiBNPT09Sz9iOls4LFswLEwsTV1dfX0sYU4sZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzRdLGY9Y1szXSxnPWNbMl0saD1jWzFdLGs9aihhWzFdWzErYUhdLGEsaCksbD1qKGFbMV1bMStuXSxhLGcpLG09RihpKGFbMV1bMSthcF0sYSksZiksbz1qKGFbMV1bMStkXSxhLGUpO2lmKGs9PT1oJiZsPT09ZyYmbT09PWYmJm89PT1lKXJldHVybiBjO3JldHVyblswLGssbCxtLG9dfSxkNCxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHooYVsxXVsxK1ddLGEsYixjKX0sZDMsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGY9Y1syXSxrPWNbMV0sZz1hRShpKGFbMV1bMStxXSxhKSxmKSxoPWooYVsxXVsxK2RdLGEsZSk7aWYoZz09PWYmJmU9PT1oKXJldHVybiBjO3JldHVyblswLGssZyxoXX0sZDIsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzJdLGY9Y1sxXSxnPWooYVsxXVsxK25dLGEsZiksaD1qKGFbMV1bMStkXSxhLGUpO2lmKGY9PT1nJiZlPT09aClyZXR1cm4gYztyZXR1cm5bMCxnLGhdfSxkMSxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbM10sZj1jWzJdLGc9Y1sxXSxoPXooYVsxXVsxK2xdLGEsUjcsZyksaz1hRShpKGFbMV1bMStxXSxhKSxmKSxtPWooYVsxXVsxK2RdLGEsZSk7aWYoaD09PWcmJms9PT1mJiZlPT09bSlyZXR1cm4gYztyZXR1cm5bMCxoLGssbV19LGQwLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4geihhWzFdWzErT10sYSxiLGMpfSxhTSxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbNF0sZj1jWzNdLGc9Y1syXSxoPWNbMV0saT16KGFbMV1bMStsXSxhLFswLGZdLGgpLGs9aihhWzFdWzErbl0sYSxnKSxtPWooYVsxXVsxK2RdLGEsZSk7aWYoaT09PWgmJms9PT1nJiZtPT09ZSlyZXR1cm4gYztyZXR1cm5bMCxpLGssZixtXX0sZFosZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGY9Y1syXSxnPWNbMV0saD1qKGFbMV1bMSttXSxhLGcpLGk9aihhWzFdWzEreV0sYSxmKSxrPWooYVsxXVsxK2RdLGEsZSk7aWYoZz09PWgmJmY9PT1pJiZlPT09aylyZXR1cm4gYztyZXR1cm5bMCxoLGksa119LGRZLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1sxXSxmPWooYVsxXVsxK2RdLGEsZSk7cmV0dXJuIGU9PT1mP2M6WzAsZl19LFosZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGY9Y1syXSxnPWNbMV0saD16KGFbMV1bMStsXSxhLFI2LGcpLGk9aihhWzFdWzErZFVdLGEsZiksaz1qKGFbMV1bMStkXSxhLGUpO2lmKGc9PT1oJiZmPT09aSYmZT09PWspcmV0dXJuIGM7cmV0dXJuWzAsaCxpLGtdfSxkVSxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGQ9YlsxXTtzd2l0Y2goY1swXSl7Y2FzZVxuMDp2YXJcbmY9Y1sxXTtyZXR1cm4gZShpKGFbMV1bMStkVF0sYSksZixiLGZ1bmN0aW9uKGEpe3JldHVyblswLGQsWzAsYV1dfSk7Y2FzZVxuMTp2YXJcbmc9Y1sxXTtyZXR1cm4gZShpKGFbMV1bMStkUl0sYSksZyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGQsWzEsYV1dfSk7Y2FzZVxuMjp2YXJcbmg9Y1sxXTtyZXR1cm4gZShpKGFbMV1bMStkUF0sYSksaCxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGQsWzIsYV1dfSk7Y2FzZVxuMzp2YXJcbmo9Y1sxXTtyZXR1cm4gZShpKGFbMV1bMStkTl0sYSksaixiLGZ1bmN0aW9uKGEpe3JldHVyblswLGQsWzMsYV1dfSk7ZGVmYXVsdDp2YXJcbms9Y1sxXTtyZXR1cm4gZShpKGFbMV1bMStkWF0sYSksayxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGQsWzQsYV1dfSl9fSxkVCxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzRdLGU9YlsxXSxmPVAoaShhWzFdWzErZFNdLGEpLGUpLGc9aihhWzFdWzErZF0sYSxjKTtpZihlPT09ZiYmYz09PWcpcmV0dXJuIGI7cmV0dXJuWzAsZixiWzJdLGJbM10sZ119LGRSLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbNF0sZT1iWzFdLGY9UChpKGFbMV1bMStkUV0sYSksZSksZz1qKGFbMV1bMStkXSxhLGMpO2lmKGU9PT1mJiZjPT09ZylyZXR1cm4gYjtyZXR1cm5bMCxmLGJbMl0sYlszXSxnXX0sZFAsZnVuY3Rpb24oYSxiKXt2YXJcbmc9Yls0XSxjPWJbMV07aWYoMD09PWNbMF0pdmFyXG5rPWNbMV0sbD1pKGFbMV1bMSthTF0sYSksZj1lKGZ1bmN0aW9uKGEpe3JldHVybiBQKGwsYSl9LGssYyxmdW5jdGlvbihhKXtyZXR1cm5bMCxhXX0pO2Vsc2VcbnZhclxubT1jWzFdLG49aShhWzFdWzErZE9dLGEpLGY9ZShmdW5jdGlvbihhKXtyZXR1cm4gUChuLGEpfSxtLGMsZnVuY3Rpb24oYSl7cmV0dXJuWzEsYV19KTt2YXJcbmg9aihhWzFdWzErZF0sYSxnKTtpZihjPT09ZiYmZz09PWgpcmV0dXJuIGI7cmV0dXJuWzAsZixiWzJdLGJbM10saF19LGROLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbM10sZT1iWzFdLGY9UChpKGFbMV1bMSthTF0sYSksZSksZz1qKGFbMV1bMStkXSxhLGMpO2lmKGU9PT1mJiZjPT09ZylyZXR1cm4gYjtyZXR1cm5bMCxmLGJbMl0sZ119LGRYLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbNF0sZT1iWzFdLGY9UChpKGFbMV1bMStkV10sYSksZSksZz1qKGFbMV1bMStkXSxhLGMpO2lmKGU9PT1mJiZjPT09ZylyZXR1cm4gYjtyZXR1cm5bMCxmLGJbMl0sYlszXSxnXX0sYUwsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXVsxXSxlPWJbMV0sZD1qKGFbMV1bMStFXSxhLGMpO3JldHVybiBjPT09ZD9iOlswLGUsWzAsZF1dfSxkUyxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGQ9Y1sxXSxmPWNbMl0sZz1iWzFdLGU9aihhWzFdWzErRV0sYSxkKTtyZXR1cm4gZD09PWU/YjpbMCxnLFswLGUsZl1dfSxkUSxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGQ9Y1sxXSxmPWNbMl0sZz1iWzFdLGU9aihhWzFdWzErRV0sYSxkKTtyZXR1cm4gZD09PWU/YjpbMCxnLFswLGUsZl1dfSxkTyxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGQ9Y1sxXSxmPWNbMl0sZz1iWzFdLGU9aihhWzFdWzErRV0sYSxkKTtyZXR1cm4gZD09PWU/YjpbMCxnLFswLGUsZl1dfSxkVyxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGQ9Y1sxXSxmPWNbMl0sZz1iWzFdLGU9aihhWzFdWzErRV0sYSxkKTtyZXR1cm4gZD09PWU/YjpbMCxnLFswLGUsZl1dfSxFLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooYVsxXVsxK2tdLGEsYil9LGRMLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1szXSxmPWNbMl0saT1jWzFdLGc9aihhWzFdWzErZEtdLGEsZiksaD1qKGFbMV1bMStkXSxhLGUpO2lmKGc9PT1mJiZoPT09ZSlyZXR1cm4gYztyZXR1cm5bMCxpLGcsaF19LGRLLGZ1bmN0aW9uKGEsYil7aWYoMD09PWJbMF0pe3ZhclxuYz1iWzFdO3JldHVybiBlKGkoYVsxXVsxK21dLGEpLGMsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxhXX0pfXZhclxuZD1iWzFdO3JldHVybiBlKGkoYVsxXVsxK2ddLGEpLGQsYixmdW5jdGlvbihhKXtyZXR1cm5bMSxhXX0pfSxkSixmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbNV0sZj1jWzNdLGc9Y1syXSxoPWNbMV0scD1jWzRdLGs9a1EoaShhWzFdWzErYUldLGEpLGYpLGw9RihpKGFbMV1bMSthSl0sYSksZyksbj1GKGkoYVsxXVsxK21dLGEpLGgpLG89aihhWzFdWzErZF0sYSxlKTtpZihmPT09ayYmZz09PWwmJmg9PT1uJiZlPT09bylyZXR1cm4gYztyZXR1cm5bMCxuLGwsayxwLG9dfSxkSSxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGQ9Y1syXSxlPWNbMV0saD1iWzFdLGY9aihhWzFdWzEra10sYSxlKSxnPUYoaShhWzFdWzEra10sYSksZCk7aWYoZT09PWYmJmQ9PT1nKXJldHVybiBiO3JldHVyblswLGgsWzAsZixnXV19LGRNLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1iWzFdLGQ9RihpKGFbMV1bMStrXSxhKSxjKTtyZXR1cm4gYz09PWQ/YjpbMCxlLGRdfSxhSixmdW5jdGlvbihhLGIpe2lmKDA9PT1iWzBdKXt2YXJcbmM9YlsxXSxkPVAoaShhWzFdWzErZEldLGEpLGMpO3JldHVybiBjPT09ZD9iOlswLGRdfXZhclxuZT1iWzFdLGY9aihhWzFdWzErZE1dLGEsZSk7cmV0dXJuIGU9PT1mP2I6WzEsZl19LGFJLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1szXSxnPWNbMl0saD1jWzFdLGY9aihhWzFdWzErZF0sYSxlKTtyZXR1cm4gZT09PWY/YzpbMCxoLGcsZl19LGRHLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1szXSxmPWNbMV0saz1jWzJdLGg9aihhWzFdWzErZ10sYSxmKSxpPWooYVsxXVsxK2RdLGEsZSk7aWYoZj09PWgmJmU9PT1pKXJldHVybiBjO3JldHVyblswLGgsayxpXX0sZEgsZnVuY3Rpb24oYSxiKXtpZigwPT09YlswXSl7dmFyXG5jPWJbMV07cmV0dXJuIGUoaShhWzFdWzErZ10sYSksYyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGFdfSl9dmFyXG5kPWJbMV07cmV0dXJuIGUoaShhWzFdWzErYW1dLGEpLGQsYixmdW5jdGlvbihhKXtyZXR1cm5bMSxhXX0pfSxkRCxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbNV0sZj1jWzNdLGg9Y1syXSxpPWNbMV0scD1jWzRdLGs9aihhWzFdWzErZENdLGEsaSksbD1qKGFbMV1bMStnXSxhLGgpLG49aihhWzFdWzErbV0sYSxmKSxvPWooYVsxXVsxK2RdLGEsZSk7aWYoaT09PWsmJmg9PT1sJiZmPT09biYmZT09PW8pcmV0dXJuIGM7cmV0dXJuWzAsayxsLG4scCxvXX0sZEMsZnVuY3Rpb24oYSxiKXtpZigwPT09YlswXSl7dmFyXG5jPWJbMV07cmV0dXJuIGUoaShhWzFdWzErZEVdLGEpLGMsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxhXX0pfXZhclxuZD1iWzFdO3JldHVybiBlKGkoYVsxXVsxK2RGXSxhKSxkLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzEsYV19KX0sZEUsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsxXSxkPWJbMl07cmV0dXJuIGYoaShhWzFdWzErR10sYSksYyxkLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxhXX0pfSxkeSxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbNV0sZj1jWzNdLGg9Y1syXSxpPWNbMV0scD1jWzRdLGs9aihhWzFdWzErZHhdLGEsaSksbD1qKGFbMV1bMStnXSxhLGgpLG49aihhWzFdWzErbV0sYSxmKSxvPWooYVsxXVsxK2RdLGEsZSk7aWYoaT09PWsmJmg9PT1sJiZmPT09biYmZT09PW8pcmV0dXJuIGM7cmV0dXJuWzAsayxsLG4scCxvXX0sZHgsZnVuY3Rpb24oYSxiKXtpZigwPT09YlswXSl7dmFyXG5jPWJbMV07cmV0dXJuIGUoaShhWzFdWzErZHpdLGEpLGMsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxhXX0pfXZhclxuZD1iWzFdO3JldHVybiBlKGkoYVsxXVsxK2RBXSxhKSxkLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzEsYV19KX0sZHosZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsxXSxkPWJbMl07cmV0dXJuIGYoaShhWzFdWzErR10sYSksYyxkLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxhXX0pfSxkdyxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbNV0sZj1jWzRdLGg9Y1szXSxrPWNbMl0sbD1jWzFdLG49RihpKGFbMV1bMStkdl0sYSksbCksbz1GKGkoYVsxXVsxK3ldLGEpLGspLHA9RihpKGFbMV1bMStnXSxhKSxoKSxxPWooYVsxXVsxK21dLGEsZikscj1qKGFbMV1bMStkXSxhLGUpO2lmKGw9PT1uJiZrPT09byYmaD09PXAmJmY9PT1xJiZlPT09cilyZXR1cm4gYztyZXR1cm5bMCxuLG8scCxxLHJdfSxkdixmdW5jdGlvbihhLGIpe2lmKDA9PT1iWzBdKXt2YXJcbmM9YlsxXTtyZXR1cm4gZShpKGFbMV1bMStkQl0sYSksYyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGFdfSl9dmFyXG5kPWJbMV07cmV0dXJuIGUoaShhWzFdWzErZ10sYSksZCxiLGZ1bmN0aW9uKGEpe3JldHVyblsxLGFdfSl9LGRCLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMV0sZD1iWzJdO3JldHVybiBmKGkoYVsxXVsxK0ddLGEpLGMsZCxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsYV19KX0sYUYsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxkPWNbMl0sZT1jWzFdLGw9Y1szXSxtPWJbMV0sZj1qKGFbMV1bMStoXSxhLGQpLGc9RihpKGFbMV1bMStrXSxhKSxlKTtpZihmPT09ZCYmZz09PWUpcmV0dXJuIGI7cmV0dXJuWzAsbSxbMCxnLGYsbF1dfSxkbSxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGU9Y1syXSxmPWNbMV0saT1iWzFdLGc9aihhWzFdWzErYUZdLGEsZiksaD1qKGFbMV1bMStkXSxhLGUpO2lmKGc9PT1mJiZoPT09ZSlyZXR1cm4gYjtyZXR1cm5bMCxpLFswLGcsaF1dfSxkaixmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGU9Y1syXSxmPWNbMV0saT1iWzFdLGc9aihhWzFdWzErbl0sYSxmKSxoPWooYVsxXVsxK2RdLGEsZSk7aWYoZz09PWYmJmg9PT1lKXJldHVybiBiO3JldHVyblswLGksWzAsZyxoXV19LGRpLGZ1bmN0aW9uKGEsYil7aWYoMD09PWJbMF0pe3ZhclxuYz1iWzFdO3JldHVybiBlKGkoYVsxXVsxK2hdLGEpLGMsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxhXX0pfXZhclxuZD1iWzFdO3JldHVybiBlKGkoYVsxXVsxK2FrXSxhKSxkLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzEsYV19KX0sSixmdW5jdGlvbihhLGIsYyl7dmFyXG5mPWNbNF0sZz1jWzNdLGg9Y1syXSxlPWhbMl0saz1lWzRdLGw9ZVszXSxtPWVbMl0sbj1lWzFdLHA9Y1sxXSx4PWNbNV0seT1oWzFdLHE9RihpKGFbMV1bMStvXSxhKSxwKSxyPUYoaShhWzFdWzErZGpdLGEpLG4pLHM9UChpKGFbMV1bMSthRl0sYSksbSksdD1GKGkoYVsxXVsxK2RtXSxhKSxsKSx1PWooYVsxXVsxK2RpXSxhLGcpLHY9aihhWzFdWzErZF0sYSxmKSx3PWooYVsxXVsxK2RdLGEsayk7aWYocz09PW0mJnQ9PT1sJiZ1PT09ZyYmcT09PXAmJnY9PT1mJiZ3PT09ayYmcj09PW4pcmV0dXJuIGM7cmV0dXJuWzAscSxbMCx5LFswLHIscyx0LHddXSx1LHYseF19LFUsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihhWzFdWzEra10sYSxiKX0sYjcsZnVuY3Rpb24oYSxiKXtzd2l0Y2goYlswXSl7Y2FzZVxuMDp2YXJcbmM9YlsxXTtyZXR1cm4gZShpKGFbMV1bMStoXSxhKSxjLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYV19KTtjYXNlXG4xOnZhclxuZD1iWzFdO3JldHVybiBlKGkoYVsxXVsxK2I0XSxhKSxkLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzEsYV19KTtkZWZhdWx0OnZhclxuZj1iWzFdO3JldHVybiBlKGkoYVsxXVsxK2IzXSxhKSxmLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzIsYV19KX19LGI0LGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMV0sZD1iWzJdO3JldHVybiBmKGkoYVsxXVsxK0pdLGEpLGMsZCxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsYV19KX0sYjMsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsxXSxkPWJbMl07cmV0dXJuIGYoaShhWzFdWzErSl0sYSksYyxkLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxhXX0pfSxiOCxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGU9Y1s4XSxmPWNbN10sZz1jWzJdLGg9Y1sxXSxuPWNbNl0sbz1jWzVdLHA9Y1s0XSxxPWNbM10scj1iWzFdLGk9aihhWzFdWzErdV0sYSxoKSxrPWooYVsxXVsxK2I3XSxhLGcpLGw9aihhWzFdWzErdF0sYSxmKSxtPWooYVsxXVsxK2RdLGEsZSk7aWYoaT09PWgmJms9PT1nJiZsPT09ZiYmbT09PWUpcmV0dXJuIGI7cmV0dXJuWzAscixbMCxpLGsscSxwLG8sbixsLG1dXX0sYjYsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxlPWNbMl0sZj1jWzFdLGs9YlsxXSxnPWooYVsxXVsxK2hdLGEsZiksaT1qKGFbMV1bMStkXSxhLGUpO2lmKGc9PT1mJiZlPT09aSlyZXR1cm4gYjtyZXR1cm5bMCxrLFswLGcsaV1dfSxjZixmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGU9Y1s2XSxmPWNbNV0sZz1jWzNdLGk9Y1syXSxvPWNbNF0scD1jWzFdLHE9YlsxXSxrPWooYVsxXVsxK2hdLGEsaSksbD1qKGFbMV1bMStoXSxhLGcpLG09aihhWzFdWzErdF0sYSxmKSxuPWooYVsxXVsxK2RdLGEsZSk7aWYoaz09PWkmJmw9PT1nJiZtPT09ZiYmbj09PWUpcmV0dXJuIGI7cmV0dXJuWzAscSxbMCxwLGssbCxvLG0sbl1dfSxjZSxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGU9Y1s2XSxmPWNbMl0sZz1jWzFdLG49Y1s1XSxvPWNbNF0scD1jWzNdLHE9YlsxXSxpPWooYVsxXVsxK2tdLGEsZyksbD1qKGFbMV1bMStoXSxhLGYpLG09aihhWzFdWzErZF0sYSxlKTtpZihnPT09aSYmZj09PWwmJmU9PT1tKXJldHVybiBiO3JldHVyblswLHEsWzAsaSxsLHAsbyxuLG1dXX0sY2ksZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxlPWNbM10sZj1jWzFdLGc9ZlsyXSxoPWZbMV0sbD1jWzJdLG09YlsxXSxpPXooYVsxXVsxK0pdLGEsaCxnKSxrPWooYVsxXVsxK2RdLGEsZSk7aWYoZz09PWkmJmU9PT1rKXJldHVybiBiO3JldHVyblswLG0sWzAsWzAsaCxpXSxsLGtdXX0sYl8sZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxlPWNbNl0sZj1jWzRdLGc9Y1szXSxpPWNbMl0saz1jWzFdLHE9Y1s1XSxyPWJbMV0sbD1qKGFbMV1bMStOXSxhLGspLG09aihhWzFdWzEraF0sYSxpKSxuPWooYVsxXVsxK2hdLGEsZyksbz1qKGFbMV1bMSt0XSxhLGYpLHA9aihhWzFdWzErZF0sYSxlKTtpZihsPT09ayYmbT09PWkmJm49PT1nJiZvPT09ZiYmcD09PWUpcmV0dXJuIGI7cmV0dXJuWzAscixbMCxsLG0sbixvLHEscF1dfSxJLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1s0XSxmPWNbM10saz1jWzJdLGw9Y1sxXSxnPVAoaShhWzFdWzErYjVdLGEpLGYpLGg9aihhWzFdWzErZF0sYSxlKTtpZihnPT09ZiYmZT09PWgpcmV0dXJuIGM7cmV0dXJuWzAsbCxrLGcsaF19LGI1LGZ1bmN0aW9uKGEsYil7c3dpdGNoKGJbMF0pe2Nhc2VcbjA6dmFyXG5jPWJbMV07cmV0dXJuIGUoaShhWzFdWzErYjhdLGEpLGMsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxhXX0pO2Nhc2VcbjE6dmFyXG5kPWJbMV07cmV0dXJuIGUoaShhWzFdWzErYjZdLGEpLGQsYixmdW5jdGlvbihhKXtyZXR1cm5bMSxhXX0pO2Nhc2VcbjI6dmFyXG5mPWJbMV07cmV0dXJuIGUoaShhWzFdWzErY2ZdLGEpLGYsYixmdW5jdGlvbihhKXtyZXR1cm5bMixhXX0pO2Nhc2VcbjM6dmFyXG5nPWJbMV07cmV0dXJuIGUoaShhWzFdWzErY2ldLGEpLGcsYixmdW5jdGlvbihhKXtyZXR1cm5bMyxhXX0pO2Nhc2VcbjQ6dmFyXG5oPWJbMV07cmV0dXJuIGUoaShhWzFdWzErY2VdLGEpLGgsYixmdW5jdGlvbihhKXtyZXR1cm5bNCxhXX0pO2RlZmF1bHQ6dmFyXG5qPWJbMV07cmV0dXJuIGUoaShhWzFdWzErYl9dLGEpLGosYixmdW5jdGlvbihhKXtyZXR1cm5bNSxhXX0pfX0sYzYsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGY9Y1syXSxnPWNbMV0sbT1pKGFbMV1bMStDXSxhKSxoPVAoZnVuY3Rpb24oYSl7cmV0dXJuIGFFKG0sYSl9LGYpLGs9YUUoaShhWzFdWzErSV0sYSksZyksbD1qKGFbMV1bMStkXSxhLGUpO2lmKGg9PT1mJiZrPT09ZyYmZT09PWwpcmV0dXJuIGM7cmV0dXJuWzAsayxoLGxdfSxhRCxmdW5jdGlvbihhLGIpe2lmKDA9PT1iWzBdKXt2YXJcbmM9YlsxXTtyZXR1cm4gZShpKGFbMV1bMSthZ10sYSksYyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGFdfSl9dmFyXG5kPWJbMV07cmV0dXJuIGUoaShhWzFdWzErZGhdLGEpLGQsYixmdW5jdGlvbihhKXtyZXR1cm5bMSxhXX0pfSxkaCxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGQ9Y1syXSxlPWNbMV0saD1iWzFdLGY9aihhWzFdWzErYURdLGEsZSksZz1qKGFbMV1bMStjcF0sYSxkKTtpZihmPT09ZSYmZz09PWQpcmV0dXJuIGI7cmV0dXJuWzAsaCxbMCxmLGddXX0sY3AsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihhWzFdWzEra10sYSxiKX0sYTYsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxlPWNbMl0sZz1jWzFdLGg9YlsxXSxmPWooYVsxXVsxK2RdLGEsZSk7cmV0dXJuIGU9PT1mP2I6WzAsaCxbMCxnLGZdXX0sdCxmdW5jdGlvbihhLGIpe3JldHVybiBGKGkoYVsxXVsxK2E2XSxhKSxiKX0sSCxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGU9Y1syXSxmPWNbMV0sbD1iWzFdLGc9UChpKGFbMV1bMStoXSxhKSxmKSxrPWooYVsxXVsxK2RdLGEsZSk7aWYoZj09PWcmJmU9PT1rKXJldHVybiBiO3JldHVyblswLGwsWzAsZyxrXV19LG8sZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxlPWNbMl0sZj1jWzFdLGs9YlsxXSxnPVAoaShhWzFdWzErTl0sYSksZiksaD1qKGFbMV1bMStkXSxhLGUpO2lmKGc9PT1mJiZoPT09ZSlyZXR1cm4gYjtyZXR1cm5bMCxrLFswLGcsaF1dfSxOLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZD1jWzVdLGU9Y1s0XSxmPWNbMl0sZz1jWzFdLG89Y1szXSxwPWJbMV0saz1qKGFbMV1bMSt2XSxhLGYpLGw9aihhWzFdWzErdF0sYSxlKSxtPUYoaShhWzFdWzEraF0sYSksZCksbj1qKGFbMV1bMStzXSxhLGcpO2lmKG49PT1nJiZrPT09ZiYmbD09PWUmJm09PT1kKXJldHVybiBiO3JldHVyblswLHAsWzAsbixrLG8sbCxtXV19LEMsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGY9Y1syXSxnPWNbMV0saD1qKGFbMV1bMSthRF0sYSxnKSxrPUYoaShhWzFdWzErSF0sYSksZiksbD1qKGFbMV1bMStkXSxhLGUpO2lmKGg9PT1nJiZrPT09ZiYmbD09PWUpcmV0dXJuIGM7cmV0dXJuWzAsaCxrLGxdfSxhQyxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbM10sZj1jWzJdLGc9Y1sxXSxpPWooYVsxXVsxK2hdLGEsZyksaz1qKGFbMV1bMStoXSxhLGYpLGw9aihhWzFdWzErZF0sYSxlKTtpZihpPT09ZyYmaz09PWYmJmw9PT1lKXJldHVybiBjO3JldHVyblswLGksayxsXX0sYjEsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZD1jWzFdLGY9Y1syXSxlPXooYVsxXVsxK2FDXSxhLGIsZCk7cmV0dXJuIGU9PT1kP2M6WzAsZSxmXX0scCxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbM10sZz1jWzJdLGg9Y1sxXSxmPWooYVsxXVsxK2RdLGEsZSk7cmV0dXJuIGU9PT1mP2M6WzAsaCxnLGZdfSxyLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1szXSxnPWNbMl0saD1jWzFdLGY9aihhWzFdWzErZF0sYSxlKTtyZXR1cm4gZT09PWY/YzpbMCxoLGcsZl19LHgsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGc9Y1syXSxoPWNbMV0sZj1qKGFbMV1bMStkXSxhLGUpO3JldHVybiBlPT09Zj9jOlswLGgsZyxmXX0sYWMsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzJdLGc9Y1sxXSxmPWooYVsxXVsxK2RdLGEsZSk7cmV0dXJuIGU9PT1mP2M6WzAsZyxmXX0sY2wsZnVuY3Rpb24oYSxiLGMpe3JldHVybiBqKGFbMV1bMStkXSxhLGMpfSxiRCxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbNF0sZz1jWzNdLGg9Y1syXSxpPWNbMV0sZj1qKGFbMV1bMStkXSxhLGUpO3JldHVybiBlPT09Zj9jOlswLGksaCxnLGZdfSxjbixmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbNl0sZj1jWzVdLGc9Y1s0XSxoPWNbM10saT1jWzJdLGs9Y1sxXTtyZXR1cm4gZT09PWooYVsxXVsxK2RdLGEsZSk/YzpbMCxrLGksaCxnLGYsZV19LGNrLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1iWzFdLGY9aihhWzFdWzEraF0sYSxlKSxnPWooYVsxXVsxK2RdLGEsYyk7aWYoZT09PWYmJmM9PT1nKXJldHVybiBiO3JldHVyblswLGYsZ119LGRfLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbNV0sZT1iWzRdLGY9YlszXSxnPWJbMl0saT1iWzFdLGs9aihhWzFdWzEraF0sYSxpKSxsPWooYVsxXVsxK2hdLGEsZyksbT1qKGFbMV1bMStoXSxhLGYpLG49aihhWzFdWzEraF0sYSxlKSxvPWooYVsxXVsxK2RdLGEsYyk7aWYoaT09PWsmJmc9PT1sJiZmPT09bSYmZT09PW4mJmM9PT1vKXJldHVybiBiO3JldHVyblswLGssbCxtLG4sb119LGM4LGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1iWzFdLGY9aihhWzFdWzErTl0sYSxlKSxnPWooYVsxXVsxK2RdLGEsYyk7aWYoZT09PWYmJmM9PT1nKXJldHVybiBiO3JldHVyblswLGYsZ119LGJhLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbM10sZT1iWzJdLGY9YlsxXSxnPWooYVsxXVsxK2FmXSxhLGYpLGg9RihpKGFbMV1bMStIXSxhKSxlKSxrPWooYVsxXVsxK2RdLGEsYyk7aWYoZj09PWcmJmt0KGUsaCkmJmM9PT1rKXJldHVybiBiO3JldHVyblswLGcsaCxrXX0sYWYsZnVuY3Rpb24oYSxiKXtpZigwPT09YlswXSl7dmFyXG5jPWJbMV07cmV0dXJuIGUoaShhWzFdWzErYmRdLGEpLGMsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxhXX0pfXZhclxuZD1iWzFdO3JldHVybiBlKGkoYVsxXVsxK2JiXSxhKSxkLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzEsYV19KX0sYmQsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihhWzFdWzEra10sYSxiKX0sYmMsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihhWzFdWzEra10sYSxiKX0sYmIsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxkPWNbMl0sZT1jWzFdLGg9YlsxXSxmPWooYVsxXVsxK2FmXSxhLGUpLGc9aihhWzFdWzErYmNdLGEsZCk7aWYoZj09PWUmJmc9PT1kKXJldHVybiBiO3JldHVyblswLGgsWzAsZixnXV19LGNOLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1iWzFdLGY9aihhWzFdWzEraF0sYSxlKSxnPWooYVsxXVsxK2RdLGEsYyk7aWYoZT09PWYmJmM9PT1nKXJldHVybiBiO3JldHVyblswLGYsZ119LGFvLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbM10sZT1iWzJdLGk9Yls0XSxrPWJbMV0sZj1qKGFbMV1bMStoXSxhLGUpLGc9aihhWzFdWzErZF0sYSxjKTtpZihlPT09ZiYmYz09PWcpcmV0dXJuIGI7cmV0dXJuWzAsayxmLGcsaV19LGJFLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1iWzFdLGY9aihhWzFdWzEraF0sYSxlKSxnPWooYVsxXVsxK2RdLGEsYyk7aWYoZT09PWYmJmM9PT1nKXJldHVybiBiO3JldHVyblswLGYsZ119LGJoLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbM10sZT1iWzFdLGg9YlsyXSxmPVAoaShhWzFdWzErYmtdLGEpLGUpLGc9aihhWzFdWzErZF0sYSxjKTtpZihlPT09ZiYmYz09PWcpcmV0dXJuIGI7cmV0dXJuWzAsZixoLGddfSxiayxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGQ9YlsxXTtzd2l0Y2goY1swXSl7Y2FzZVxuMDp2YXJcbmY9Y1sxXTtyZXR1cm4gZShpKGFbMV1bMStoXSxhKSxmLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsZCxbMCxhXV19KTtjYXNlXG4xOnZhclxuZz1jWzFdO3JldHVybiBlKGkoYVsxXVsxK2JqXSxhKSxnLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsZCxbMSxhXV19KTtkZWZhdWx0OnZhclxuaj1jWzFdO3JldHVybiBlKGkoYVsxXVsxK2JpXSxhKSxqLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsZCxbMixhXV19KX19LGJqLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbM10sZD1iWzJdLGc9Yls0XSxpPWJbMV0sZT1qKGFbMV1bMStoXSxhLGQpLGY9aihhWzFdWzErdF0sYSxjKTtpZihlPT09ZCYmZj09PWMpcmV0dXJuIGI7cmV0dXJuWzAsaSxlLGYsZ119LGJpLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1iWzFdLGQ9aihhWzFdWzEraF0sYSxjKTtyZXR1cm4gZD09PWM/YjpbMCxlLGRdfSxlRCxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGU9YlsxXSxmPWooYVsxXVsxK2hdLGEsZSksZz1qKGFbMV1bMStkXSxhLGMpO2lmKGU9PT1mJiZjPT09ZylyZXR1cm4gYjtyZXR1cm5bMCxmLGddfSxhXyxmdW5jdGlvbihhLGIsYyl7dmFyXG5mPWNbMl0sZT1jWzFdLGc9ZVszXSxrPWVbMl0sbD1lWzFdLG09aihhWzFdWzEraF0sYSxsKSxuPWooYVsxXVsxK2hdLGEsayksbz1QKGkoYVsxXVsxK2hdLGEpLGcpLHA9aihhWzFdWzErZF0sYSxmKTtpZihtPT09bCYmbj09PWsmJm89PT1nJiZwPT09ZilyZXR1cm4gYztyZXR1cm5bMCxbMCxtLG4sb10scF19LGM1LGZ1bmN0aW9uKGEsYixjKXt2YXJcbmY9Y1syXSxlPWNbMV0sZz1lWzNdLGs9ZVsyXSxsPWVbMV0sbT1qKGFbMV1bMStoXSxhLGwpLG49aihhWzFdWzEraF0sYSxrKSxvPVAoaShhWzFdWzEraF0sYSksZykscD1qKGFbMV1bMStkXSxhLGYpO2lmKG09PT1sJiZuPT09ayYmbz09PWcmJnA9PT1mKXJldHVybiBjO3JldHVyblswLFswLG0sbixvXSxwXX0saCxmdW5jdGlvbihhLGIpe3ZhclxuZz1iWzJdLGM9YlsxXTtzd2l0Y2goZ1swXSl7Y2FzZVxuMDp2YXJcbmg9Z1sxXTtyZXR1cm4gZShpKGFbMV1bMStkXSxhKSxoLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMCxhXV19KTtjYXNlXG4xOnZhclxuaj1nWzFdO3JldHVybiBlKGkoYVsxXVsxK2RdLGEpLGosYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxLGFdXX0pO2Nhc2VcbjI6dmFyXG5rPWdbMV07cmV0dXJuIGUoaShhWzFdWzErZF0sYSksayxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzIsYV1dfSk7Y2FzZVxuMzp2YXJcbmw9Z1sxXTtyZXR1cm4gZShpKGFbMV1bMStkXSxhKSxsLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMyxhXV19KTtjYXNlXG40OnZhclxubT1nWzFdO3JldHVybiBlKGkoYVsxXVsxK2RdLGEpLG0sYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFs0LGFdXX0pO2Nhc2VcbjU6dmFyXG5uPWdbMV07cmV0dXJuIGUoaShhWzFdWzErZF0sYSksbixiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzUsYV1dfSk7Y2FzZVxuNjp2YXJcbm89Z1sxXTtyZXR1cm4gZShpKGFbMV1bMStkXSxhKSxvLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbNixhXV19KTtjYXNlXG43OnZhclxucT1nWzFdO3JldHVybiBlKGkoYVsxXVsxK2RdLGEpLHEsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFs3LGFdXX0pO2Nhc2Vcbjg6dmFyXG50PWdbMV0scz1nWzJdO3JldHVybiBlKGkoYVsxXVsxK2RdLGEpLHMsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFs4LHQsYV1dfSk7Y2FzZVxuOTp2YXJcbnU9Z1sxXTtyZXR1cm4gZShpKGFbMV1bMStkXSxhKSx1LGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbOSxhXV19KTtjYXNlXG4xMDp2YXJcbnY9Z1sxXTtyZXR1cm4gZShpKGFbMV1bMStkXSxhKSx2LGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMTAsYV1dfSk7Y2FzZVxuMTE6dmFyXG53PWdbMV07cmV0dXJuIGUoaShhWzFdWzErY2tdLGEpLHcsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxMSxhXV19KTtjYXNlXG4xMjp2YXJcbnk9Z1sxXTtyZXR1cm4gZihpKGFbMV1bMStKXSxhKSxjLHksYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxMixhXV19KTtjYXNlXG4xMzp2YXJcbno9Z1sxXTtyZXR1cm4gZihpKGFbMV1bMStlY10sYSksYyx6LGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMTMsYV1dfSk7Y2FzZVxuMTQ6dmFyXG5BPWdbMV07cmV0dXJuIGYoaShhWzFdWzErSV0sYSksYyxBLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMTQsYV1dfSk7Y2FzZVxuMTU6dmFyXG5CPWdbMV07cmV0dXJuIGYoaShhWzFdWzErYzZdLGEpLGMsQixiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzE1LGFdXX0pO2Nhc2VcbjE2OnZhclxuRD1nWzFdO3JldHVybiBlKGkoYVsxXVsxK2VEXSxhKSxELGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMTYsYV1dfSk7Y2FzZVxuMTc6dmFyXG5FPWdbMV07cmV0dXJuIGUoaShhWzFdWzErZF9dLGEpLEUsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxNyxhXV19KTtjYXNlXG4xODp2YXJcbkY9Z1sxXTtyZXR1cm4gZShpKGFbMV1bMStjOF0sYSksRixiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzE4LGFdXX0pO2Nhc2VcbjE5OnZhclxuRz1nWzFdO3JldHVybiBmKGkoYVsxXVsxK0NdLGEpLGMsRyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzE5LGFdXX0pO2Nhc2VcbjIwOnZhclxuSD1nWzFdO3JldHVybiBmKGkoYVsxXVsxK2FDXSxhKSxjLEgsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsyMCxhXV19KTtjYXNlXG4yMTp2YXJcbks9Z1sxXTtyZXR1cm4gZihpKGFbMV1bMStiMV0sYSksYyxLLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMjEsYV1dfSk7Y2FzZVxuMjI6dmFyXG5MPWdbMV07cmV0dXJuIGYoaShhWzFdWzErYV9dLGEpLGMsTCxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzIyLGFdXX0pO2Nhc2VcbjIzOnZhclxuTT1nWzFdO3JldHVybiBmKGkoYVsxXVsxK2M1XSxhKSxjLE0sYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsyMyxhXV19KTtjYXNlXG4yNDp2YXJcbk49Z1sxXTtyZXR1cm4gZShpKGFbMV1bMStiYV0sYSksTixiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzI0LGFdXX0pO2Nhc2VcbjI1OnZhclxuTz1nWzFdO3JldHVybiBlKGkoYVsxXVsxK2NOXSxhKSxPLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMjUsYV1dfSk7Y2FzZVxuMjY6dmFyXG5QPWdbMV07cmV0dXJuIGUoaShhWzFdWzErYW9dLGEpLFAsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsyNixhXV19KTtjYXNlXG4yNzp2YXJcblE9Z1sxXTtyZXR1cm4gZShpKGFbMV1bMStiRV0sYSksUSxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzI3LGFdXX0pO2Nhc2VcbjI4OnZhclxuUj1nWzFdO3JldHVybiBlKGkoYVsxXVsxK2JoXSxhKSxSLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMjgsYV1dfSk7Y2FzZVxuMjk6dmFyXG5TPWdbMV07cmV0dXJuIGYoaShhWzFdWzErcF0sYSksYyxTLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMjksYV1dfSk7Y2FzZVxuMzA6dmFyXG5UPWdbMV07cmV0dXJuIGYoaShhWzFdWzErcl0sYSksYyxULGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMzAsYV1dfSk7Y2FzZVxuMzE6dmFyXG5VPWdbMV07cmV0dXJuIGYoaShhWzFdWzEreF0sYSksYyxVLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMzEsYV1dfSk7Y2FzZVxuMzI6dmFyXG5WPWdbMV07cmV0dXJuIGYoaShhWzFdWzErYWNdLGEpLGMsVixiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzMyLGFdXX0pO2Nhc2VcbjMzOnZhclxuVz1nWzFdO3JldHVybiBlKGkoYVsxXVsxK2RdLGEpLFcsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFszMyxhXV19KTtjYXNlXG4zNDp2YXJcblg9Z1sxXTtyZXR1cm4gZShpKGFbMV1bMStkXSxhKSxYLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMzQsYV1dfSk7ZGVmYXVsdDp2YXJcblk9Z1sxXTtyZXR1cm4gZShpKGFbMV1bMStkXSxhKSxZLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMzUsYV1dfSl9fSxuLGZ1bmN0aW9uKGEsYil7dmFyXG5kPWJbMV0sYz1iWzJdO3JldHVybiBlKGkoYVsxXVsxK2hdLGEpLGMsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxkLGFdfSl9LHYsZnVuY3Rpb24oYSxiKXtpZigwPT09YlswXSlyZXR1cm4gYjt2YXJcbmM9YlsxXTtyZXR1cm4gZShpKGFbMV1bMStuXSxhKSxjLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzEsYV19KX0sXyxmdW5jdGlvbihhLGIpe2lmKDA9PT1iWzBdKXJldHVybiBiO3ZhclxuYz1iWzJdLGU9YlsxXSxkPWooYVsxXVsxK2FvXSxhLGMpO3JldHVybiBkPT09Yz9iOlsxLGUsZF19LGRzLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4geihhWzFdWzErWV0sYSxiLGMpfSxkcixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHooYVsxXVsxK0RdLGEsYixjKX0sRCxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIHooYVsxXVsxK1ldLGEsYixjKX0sWSxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbMTBdLGY9Y1s5XSxnPWNbOF0saD1jWzddLGs9Y1szXSxsPWNbMl0sbT1jWzFdLHY9Y1sxMV0sdz1jWzZdLHg9Y1s1XSx5PWNbNF0sbj1GKGkoYVsxXVsxK2FIXSxhKSxtKSxwPUYoaShhWzFdWzErb10sYSksZikscT1qKGFbMV1bMStkcF0sYSxsKSxyPWooYVsxXVsxK2RsXSxhLGcpLHM9aihhWzFdWzErZHRdLGEsayksdD1GKGkoYVsxXVsxK2FwXSxhKSxoKSx1PWooYVsxXVsxK2RdLGEsZSk7aWYobT09PW4mJmw9PT1xJiZrPT09cyYmaD09PXQmJmc9PT1yJiZmPT09cCYmZT09PXUpcmV0dXJuIGM7cmV0dXJuWzAsbixxLHMseSx4LHcsdCxyLHAsdSx2XX0sZHAsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxlPWNbNF0sZj1jWzNdLGc9Y1syXSxoPWNbMV0sbz1iWzFdLGs9UChpKGFbMV1bMStkcV0sYSksZyksbD1GKGkoYVsxXVsxK2RuXSxhKSxmKSxtPUYoaShhWzFdWzErZGtdLGEpLGgpLG49aihhWzFdWzErZF0sYSxlKTtpZihnPT09ayYmZj09PWwmJmU9PT1uJiZoPT09bSlyZXR1cm4gYjtyZXR1cm5bMCxvLFswLG0sayxsLG5dXX0sZGssZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxlPWNbMl0sZj1jWzFdLGk9YlsxXSxnPWooYVsxXVsxK25dLGEsZiksaD1qKGFbMV1bMStkXSxhLGUpO2lmKGc9PT1mJiZoPT09ZSlyZXR1cm4gYjtyZXR1cm5bMCxpLFswLGcsaF1dfSxkcSxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGQ9Y1syXSxlPWNbMV0saD1iWzFdLGY9aihhWzFdWzErYUddLGEsZSksZz1qKGFbMV1bMStLXSxhLGQpO2lmKGU9PT1mJiZkPT09ZylyZXR1cm4gYjtyZXR1cm5bMCxoLFswLGYsZ11dfSxkbCxmdW5jdGlvbihhLGIpe3N3aXRjaChiWzBdKXtjYXNlXG4wOnJldHVybiBiO2Nhc2VcbjE6dmFyXG5jPWJbMV07cmV0dXJuIGUoaShhWzFdWzErbl0sYSksYyxiLGZ1bmN0aW9uKGEpe3JldHVyblsxLGFdfSk7ZGVmYXVsdDp2YXJcbmQ9YlsxXTtyZXR1cm4gZShpKGFbMV1bMStiZl0sYSksZCxiLGZ1bmN0aW9uKGEpe3JldHVyblsyLGFdfSl9fSxkdCxmdW5jdGlvbihhLGIpe2lmKDA9PT1iWzBdKXt2YXJcbmM9YlsxXTtyZXR1cm4gZShpKGFbMV1bMStkdV0sYSksYyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGFdfSl9dmFyXG5kPWJbMV07cmV0dXJuIGUoaShhWzFdWzErZXhdLGEpLGQsYixmdW5jdGlvbihhKXtyZXR1cm5bMSxhXX0pfSxkdSxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzFdLGQ9YlsyXTtyZXR1cm4gZihpKGFbMV1bMStxXSxhKSxjLGQsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLGFdfSl9LGV4LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooYVsxXVsxK2ddLGEsYil9LGFILGZ1bmN0aW9uKGEsYil7cmV0dXJuIHooYVsxXVsxK2xdLGEsUjUsYil9LGssZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxlPWNbMl0sZz1jWzFdLGg9YlsxXSxmPWooYVsxXVsxK2RdLGEsZSk7cmV0dXJuIGU9PT1mP2I6WzAsaCxbMCxnLGZdXX0sYWosZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihhWzFdWzEra10sYSxiKX0sYWcsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihhWzFdWzErYWpdLGEsYil9LHMsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihhWzFdWzErYWpdLGEsYil9LFcsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzVdLGY9Y1s0XSxnPWNbM10saD1jWzJdLGs9Y1sxXSxsPWooYVsxXVsxK3NdLGEsayksbT1GKGkoYVsxXVsxK29dLGEpLGgpLHI9aShhWzFdWzErQ10sYSksbj1QKGZ1bmN0aW9uKGEpe3JldHVybiBhRShyLGEpfSxnKSxwPWFFKGkoYVsxXVsxK0ldLGEpLGYpLHE9aihhWzFdWzErZF0sYSxlKTtpZihsPT09ayYmbT09PWgmJm49PT1nJiZwPT09ZiYmcT09PWUpcmV0dXJuIGM7cmV0dXJuWzAsbCxtLG4scCxxXX0sYzcsZnVuY3Rpb24oYSxiLGMpe3JldHVybiB6KGFbMV1bMStXXSxhLGIsYyl9LFIsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxlPWNbMl0sZz1jWzFdLGg9YlsxXSxmPWooYVsxXVsxK2RdLGEsZSk7cmV0dXJuIGU9PT1mP2I6WzAsaCxbMCxnLGZdXX0sYVEsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxlPWNbMl0sZj1jWzFdLGs9YlsxXSxoPWooYVsxXVsxK2ddLGEsZiksaT1qKGFbMV1bMStkXSxhLGUpO2lmKGY9PT1oJiZlPT09aSlyZXR1cm4gYjtyZXR1cm5bMCxrLFswLGgsaV1dfSxkZCxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbMl0sZj1jWzFdLGg9aihhWzFdWzErZ10sYSxmKSxpPWooYVsxXVsxK2RdLGEsZSk7aWYoZj09PWgmJmU9PT1pKXJldHVybiBjO3JldHVyblswLGgsaV19LGRmLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gaihhWzFdWzErbV0sYSxjKX0sZGcsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzJdLGY9Y1sxXSxnPWooYVsxXVsxK21dLGEsZiksaD1qKGFbMV1bMStkXSxhLGUpO2lmKGY9PT1nJiZlPT09aClyZXR1cm4gYztyZXR1cm5bMCxnLGhdfSxkZSxmdW5jdGlvbihhLGIsYyl7dmFyXG5mPWNbNF0sZT1jWzNdLGc9Y1syXSxoPWNbMV0saz1qKGFbMV1bMSt5XSxhLGgpLGw9eihhWzFdWzErZGZdLGEsMCE9PWU/MTowLGcpLG89aShhWzFdWzErZGddLGEpLG09RihmdW5jdGlvbihhKXtyZXR1cm4gYUUobyxhKX0sZSksbj1qKGFbMV1bMStkXSxhLGYpO2lmKGg9PT1rJiZnPT09bCYmZT09PW0mJmY9PT1uKXJldHVybiBjO3JldHVyblswLGssbCxtLG5dfSxkYyxmdW5jdGlvbihlLGIsYyl7dmFyXG5hPWNbNV0sZz1jWzRdLGg9Y1szXSxrPWNbMl0sZj1jWzFdLGw9YUUoaShlWzFdWzErY19dLGUpLGspLG09RihqKGVbMV1bMStjOV0sZSxmKSxnKSxuPUYoZnVuY3Rpb24oYSl7dmFyXG5iPWFbMV0sZD1hWzJdLGM9eihlWzFdWzErZGJdLGUsZixiKTtyZXR1cm4gYz09PWI/YTpbMCxjLGRdfSxoKSxvPWooZVsxXVsxK2RdLGUsYSk7aWYoaz09PWwmJmc9PT1tJiZoPT09biYmYT09PW8pcmV0dXJuIGM7cmV0dXJuWzAsZixsLG4sbSxvXX0sY18sZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGc9Y1syXSxoPWNbMV0sZj1qKGFbMV1bMStkXSxhLGUpO3JldHVybiBlPT09Zj9jOlswLGgsZyxmXX0sYzksZnVuY3Rpb24oYSxiLGMpe2lmKDA9PT1jWzBdKXt2YXJcbmQ9Y1sxXSxlPVAoaihhWzFdWzErZGFdLGEsYiksZCk7cmV0dXJuIGQ9PT1lP2M6WzAsZV19dmFyXG5nPWNbMV0saD1nWzFdLGk9Z1syXTtyZXR1cm4gZihqKGFbMV1bMStjJF0sYSxiKSxoLGksYyxmdW5jdGlvbihhKXtyZXR1cm5bMSxbMCxoLGFdXX0pfSxiQyxmdW5jdGlvbihhLGIpe3JldHVybiBqKGFbMV1bMStrXSxhLGIpfSxkYSxmdW5jdGlvbihhLGIsYyl7dmFyXG5mPWNbM10sZD1jWzJdLGc9Y1sxXTthOntiOnt2YXJcbm89Y1s0XTtpZihiKXtjOntpZihnKXN3aXRjaChnWzFdKXtjYXNlXG4wOmJyZWFrIGI7Y2FzZVxuMTpicmVhayBjfWlmKDI8PWIpe3Zhclxuaz0wLGg9MDticmVhayBhfX12YXJcbms9MSxoPTA7YnJlYWsgYX19dmFyXG5rPTEsaD0xfXZhclxubj1kP2ooYVsxXVsxK2JDXSxhLGYpOmg/aihhWzFdWzErc10sYSxmKTp6KGFbMV1bMStsXSxhLFI0LGYpO2lmKGQpdmFyXG5wPWRbMV0scT1rP2koYVsxXVsxK3NdLGEpOmooYVsxXVsxK2xdLGEsUjMpLG09ZShxLHAsZCxmdW5jdGlvbihhKXtyZXR1cm5bMCxhXX0pO2Vsc2VcbnZhclxubT0wO2lmKGQ9PT1tJiZmPT09bilyZXR1cm4gYztyZXR1cm5bMCxnLG0sbixvXX0sZGIsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZD0yPD1iP2ooYVsxXVsxK2xdLGEsUjIpOmkoYVsxXVsxK3NdLGEpO3JldHVybiBpKGQsYyl9LGMkLGZ1bmN0aW9uKGEsYixjLGQpe3ZhclxuZT0yPD1iP2ooYVsxXVsxK2xdLGEsUjEpOmkoYVsxXVsxK3NdLGEpO3JldHVybiBpKGUsZCl9LGF6LGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1s0XSxmPWNbM10sZz1jWzJdLGg9Y1sxXSxrPWooYVsxXVsxK2NRXSxhLGgpLGw9RihpKGFbMV1bMStjV10sYSksZyksbT1qKGFbMV1bMSthQl0sYSxmKSxuPWooYVsxXVsxK2RdLGEsZSk7aWYoaD09PWsmJmc9PT1sJiZmPT09bSYmZT09PW4pcmV0dXJuIGM7cmV0dXJuWzAsayxsLG0sbl19LGF2LGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1s0XSxmPWNbM10sZz1qKGFbMV1bMSthQl0sYSxmKSxoPWooYVsxXVsxK2RdLGEsZSk7aWYoZj09PWcmJmU9PT1oKXJldHVybiBjO3JldHVyblswLGNbMV0sY1syXSxnLGhdfSxjUSxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGQ9Y1s0XSxlPWNbMl0sZj1jWzFdLGw9Y1szXSxtPWJbMV0sZz1qKGFbMV1bMStheV0sYSxmKSxoPUYoaShhWzFdWzErYWFdLGEpLGUpLGs9UChpKGFbMV1bMStjUl0sYSksZCk7aWYoZj09PWcmJmU9PT1oJiZkPT09aylyZXR1cm4gYjtyZXR1cm5bMCxtLFswLGcsaCxsLGtdXX0sY1csZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXVsxXSxlPWJbMV0sZD1qKGFbMV1bMStheV0sYSxjKTtyZXR1cm4gYz09PWQ/YjpbMCxlLFswLGRdXX0sY1IsZnVuY3Rpb24oYSxiKXtpZigwPT09YlswXSl7dmFyXG5nPWJbMV07cmV0dXJuIGUoaShhWzFdWzErYzRdLGEpLGcsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxhXX0pfXZhclxuYz1iWzFdLGQ9Y1sxXSxoPWNbMl07cmV0dXJuIGYoaShhWzFdWzErY1BdLGEpLGQsaCxiLGZ1bmN0aW9uKGEpe3JldHVyblsxLFswLGQsYV1dfSl9LGNQLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1syXSxmPWNbMV0saD1qKGFbMV1bMStnXSxhLGYpLGk9aihhWzFdWzErZF0sYSxlKTtpZihmPT09aCYmZT09PWkpcmV0dXJuIGM7cmV0dXJuWzAsaCxpXX0sYzQsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxkPWNbMl0sZT1jWzFdLGg9YlsxXSxmPWooYVsxXVsxK2MzXSxhLGUpLGc9RihpKGFbMV1bMStjMF0sYSksZCk7aWYoZT09PWYmJmQ9PT1nKXJldHVybiBiO3JldHVyblswLGgsWzAsZixnXV19LGMzLGZ1bmN0aW9uKGEsYil7aWYoMD09PWJbMF0pe3ZhclxuYz1iWzFdO3JldHVybiBlKGkoYVsxXVsxK2MyXSxhKSxjLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYV19KX12YXJcbmQ9YlsxXTtyZXR1cm4gZShpKGFbMV1bMStjMV0sYSksZCxiLGZ1bmN0aW9uKGEpe3JldHVyblsxLGFdfSl9LGMyLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooYVsxXVsxK0FdLGEsYil9LGMxLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooYVsxXVsxK2F0XSxhLGIpfSxjMCxmdW5jdGlvbihhLGIpe2lmKDA9PT1iWzBdKXt2YXJcbmM9YlsxXSxkPWNbMV0saD1jWzJdO3JldHVybiBmKGkoYVsxXVsxK2NZXSxhKSxkLGgsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxbMCxkLGFdXX0pfXZhclxuZT1iWzFdLGc9ZVsxXSxqPWVbMl07cmV0dXJuIGYoaShhWzFdWzErY1pdLGEpLGcsaixiLGZ1bmN0aW9uKGEpe3JldHVyblsxLFswLGcsYV1dfSl9LGNaLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4geihhWzFdWzErYXddLGEsYixjKX0sY1ksZnVuY3Rpb24oYSxiLGMpe3JldHVybiB6KGFbMV1bMStwXSxhLGIsYyl9LGFCLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1iWzFdLGQ9UChpKGFbMV1bMStjWF0sYSksYyk7cmV0dXJuIGM9PT1kP2I6WzAsZSxkXX0sY1gsZnVuY3Rpb24oYSxiKXt2YXJcbmQ9YlsyXSxjPWJbMV07c3dpdGNoKGRbMF0pe2Nhc2VcbjA6dmFyXG5nPWRbMV07cmV0dXJuIGYoaShhWzFdWzErYXpdLGEpLGMsZyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzAsYV1dfSk7Y2FzZVxuMTp2YXJcbmg9ZFsxXTtyZXR1cm4gZihpKGFbMV1bMSthdl0sYSksYyxoLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMSxhXV19KTtjYXNlXG4yOnZhclxuaj1kWzFdO3JldHVybiBmKGkoYVsxXVsxK2F3XSxhKSxjLGosYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsyLGFdXX0pO2Nhc2VcbjM6dmFyXG5rPWRbMV07cmV0dXJuIGUoaShhWzFdWzErY09dLGEpLGssYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFszLGFdXX0pO2RlZmF1bHQ6cmV0dXJuIGJ9fSxhdyxmdW5jdGlvbihhLGIsYyl7dmFyXG5mPWNbMl0saD1jWzFdLGU9aihhWzFdWzErZF0sYSxmKTtpZighaClyZXR1cm4gZj09PWU/YzpbMCwwLGVdO3ZhclxuaT1oWzFdLGs9aihhWzFdWzErZ10sYSxpKTtpZihpPT09ayYmZj09PWUpcmV0dXJuIGM7cmV0dXJuWzAsWzAsa10sZV19LGNPLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1iWzFdLGY9aihhWzFdWzErZ10sYSxlKSxoPWooYVsxXVsxK2RdLGEsYyk7aWYoZT09PWYmJmM9PT1oKXJldHVybiBiO3JldHVyblswLGYsaF19LGF5LGZ1bmN0aW9uKGEsYil7c3dpdGNoKGJbMF0pe2Nhc2VcbjA6dmFyXG5jPWJbMV07cmV0dXJuIGUoaShhWzFdWzErYXhdLGEpLGMsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxhXX0pO2Nhc2VcbjE6dmFyXG5kPWJbMV07cmV0dXJuIGUoaShhWzFdWzErY1VdLGEpLGQsYixmdW5jdGlvbihhKXtyZXR1cm5bMSxhXX0pO2RlZmF1bHQ6dmFyXG5mPWJbMV07cmV0dXJuIGUoaShhWzFdWzErY1ZdLGEpLGYsYixmdW5jdGlvbihhKXtyZXR1cm5bMixhXX0pfX0sYXgsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihhWzFdWzErQV0sYSxiKX0sY1UsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihhWzFdWzErYXRdLGEsYil9LGNWLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooYVsxXVsxK2F1XSxhLGIpfSxhdCxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGQ9Y1syXSxlPWNbMV0saD1iWzFdLGY9aihhWzFdWzErQV0sYSxlKSxnPWooYVsxXVsxK0FdLGEsZCk7aWYoZT09PWYmJmQ9PT1nKXJldHVybiBiO3JldHVyblswLGgsWzAsZixnXV19LGF1LGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZD1jWzJdLGU9Y1sxXSxoPWJbMV0sZj1qKGFbMV1bMStjU10sYSxlKSxnPWooYVsxXVsxK0FdLGEsZCk7aWYoZT09PWYmJmQ9PT1nKXJldHVybiBiO3JldHVyblswLGgsWzAsZixnXV19LGNTLGZ1bmN0aW9uKGEsYil7aWYoMD09PWJbMF0pe3ZhclxuYz1iWzFdO3JldHVybiBlKGkoYVsxXVsxK2NUXSxhKSxjLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYV19KX12YXJcbmQ9YlsxXTtyZXR1cm4gZShpKGFbMV1bMSthdV0sYSksZCxiLGZ1bmN0aW9uKGEpe3JldHVyblsxLGFdfSl9LGNULGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooYVsxXVsxK2F4XSxhLGIpfSxBLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1jWzJdLGc9Y1sxXSxoPWJbMV0sZj1qKGFbMV1bMStkXSxhLGUpO3JldHVybiBlPT09Zj9iOlswLGgsWzAsZyxmXV19LGNNLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1szXSxmPWNbMl0sZz1jWzFdLGg9aihhWzFdWzErVV0sYSxnKSxpPWooYVsxXVsxK21dLGEsZiksaz1qKGFbMV1bMStkXSxhLGUpO2lmKGc9PT1oJiZmPT09aSYmZT09PWspcmV0dXJuIGM7cmV0dXJuWzAsaCxpLGtdfSxjTCxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbNF0sZj1jWzNdLGg9Y1syXSxpPWooYVsxXVsxK2ddLGEsaCksaz1qKGFbMV1bMStnXSxhLGYpLGw9aihhWzFdWzErZF0sYSxlKTtpZihoPT09aSYmZj09PWsmJmU9PT1sKXJldHVybiBjO3JldHVyblswLGNbMV0saSxrLGxdfSxjSSxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbM10sZj1jWzJdLGg9Y1sxXSxrPWooYVsxXVsxK2ddLGEsaCksbD1QKGkoYVsxXVsxK2NIXSxhKSxmKSxtPWooYVsxXVsxK2RdLGEsZSk7aWYoaD09PWsmJmY9PT1sJiZlPT09bSlyZXR1cm4gYztyZXR1cm5bMCxrLGwsbV19LGNILGZ1bmN0aW9uKGEsYil7dmFyXG5lPWJbMl0saz1lWzRdLGw9ZVszXSxmPWVbMl0saD1lWzFdLG89YlsxXSxwPWooYVsxXVsxK2NdLGEsaCkscT1qKGFbMV1bMStnXSxhLGYpLG09RihpKGFbMV1bMStnXSxhKSxsKSxuPWooYVsxXVsxK2RdLGEsayk7aWYoaD09PXAmJmY9PT1xJiZsPT09bSYmaz09PW4pcmV0dXJuIGI7cmV0dXJuWzAsbyxbMCxoLGYsbSxuXV19LGN5LGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1szXSxmPWNbMl0saD1jWzFdLGs9aihhWzFdWzErZ10sYSxoKSxsPVAoaShhWzFdWzErY3ddLGEpLGYpLG09aihhWzFdWzErZF0sYSxlKTtpZihoPT09ayYmZj09PWwmJmU9PT1tKXJldHVybiBjO3JldHVyblswLGssbCxtXX0sY3csZnVuY3Rpb24oYSxiKXt2YXJcbmU9YlsyXSxrPWVbNF0sbD1lWzNdLGY9ZVsyXSxoPWVbMV0sbz1iWzFdLHA9aihhWzFdWzErY10sYSxoKSxyPWFFKGkoYVsxXVsxK3FdLGEpLGYpLG09RihpKGFbMV1bMStnXSxhKSxsKSxuPWooYVsxXVsxK2RdLGEsayk7aWYoaD09PXAmJmY9PT1yJiZsPT09bSYmaz09PW4pcmV0dXJuIGI7cmV0dXJuWzAsbyxbMCxoLGYsbSxuXV19LGMsZnVuY3Rpb24oYSxiKXt2YXJcbmc9YlsyXSxjPWJbMV07c3dpdGNoKGdbMF0pe2Nhc2VcbjA6dmFyXG5oPWdbMV07cmV0dXJuIGUoaShhWzFdWzErZF0sYSksaCxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzAsYV1dfSk7Y2FzZVxuMTp2YXJcbmo9Z1sxXTtyZXR1cm4gZihpKGFbMV1bMStyXSxhKSxjLGosYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxLGFdXX0pO2Nhc2VcbjI6dmFyXG5sPWdbMV07cmV0dXJuIGYoaShhWzFdWzEreF0sYSksYyxsLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMixhXV19KTtjYXNlXG4zOnZhclxubT1nWzFdO3JldHVybiBmKGkoYVsxXVsxK3BdLGEpLGMsbSxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzMsYV1dfSk7Y2FzZVxuNDp2YXJcbm49Z1sxXTtyZXR1cm4gZihpKGFbMV1bMSthY10sYSksYyxuLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbNCxhXV19KTtjYXNlXG41OnZhclxubz1nWzFdO3JldHVybiBlKGkoYVsxXVsxK2RdLGEpLG8sYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFs1LGFdXX0pO2Nhc2VcbjY6dmFyXG5xPWdbMV07cmV0dXJuIGUoaShhWzFdWzErY3ZdLGEpLHEsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFs2LGFdXX0pO2Nhc2Vcbjc6dmFyXG5zPWdbMV07cmV0dXJuIGYoaShhWzFdWzErVF0sYSksYyxzLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbNyxhXV19KTtjYXNlXG44OnZhclxudD1nWzFdO3JldHVybiBlKGkoYVsxXVsxK2tdLGEpLHQsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFs4LGFdXX0pO2Nhc2Vcbjk6dmFyXG51PWdbMV07cmV0dXJuIGUoaShhWzFdWzErYXNdLGEpLHUsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFs5LGFdXX0pO2Nhc2VcbjEwOnZhclxudj1nWzFdO3JldHVybiBlKGkoYVsxXVsxK2NFXSxhKSx2LGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxbMTAsYV1dfSk7Y2FzZVxuMTE6dmFyXG53PWdbMV07cmV0dXJuIGUoaShhWzFdWzErY0tdLGEpLHcsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxMSxhXV19KTtjYXNlXG4xMjp2YXJcbnk9Z1sxXTtyZXR1cm4gZShpKGFbMV1bMStjQl0sYSkseSxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsWzEyLGFdXX0pO2RlZmF1bHQ6dmFyXG56PWdbMV07cmV0dXJuIGUoaShhWzFdWzErY0pdLGEpLHosYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLFsxMyxhXV19KX19LGN2LGZ1bmN0aW9uKGEsYil7dmFyXG5lPWJbM10sYz1iWzJdLGc9Y1sxXSxsPWJbMV0sbT1jWzJdLGg9ZihpKGFbMV1bMStjdV0sYSksZyxtLGMsZnVuY3Rpb24oYSl7cmV0dXJuWzAsZyxhXX0pLGs9aihhWzFdWzErZF0sYSxlKTtpZihjPT09aCYmZT09PWspcmV0dXJuIGI7cmV0dXJuWzAsbCxoLGtdfSxjdSxmdW5jdGlvbihhLGIsYyl7aWYoMD09PWNbMF0pe3ZhclxuZD1jWzFdO3JldHVybiBmKGkoYVsxXVsxK3JdLGEpLGIsZCxjLGZ1bmN0aW9uKGEpe3JldHVyblswLGFdfSl9dmFyXG5lPWNbMV07cmV0dXJuIGYoaShhWzFdWzEreF0sYSksYixlLGMsZnVuY3Rpb24oYSl7cmV0dXJuWzEsYV19KX0sYXMsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxlPWNbM10sZj1jWzJdLGc9Y1sxXSxsPWJbMV0saD1qKGFbMV1bMStjR10sYSxnKSxpPWooYVsxXVsxK2NGXSxhLGYpLGs9aihhWzFdWzErZF0sYSxlKTtpZihnPT09aCYmZj09PWkmJmU9PT1rKXJldHVybiBiO3JldHVyblswLGwsWzAsaCxpLGtdXX0sY0csZnVuY3Rpb24oYSxiKXtpZigwPT09YlswXSl7dmFyXG5jPWJbMV07cmV0dXJuIGUoaShhWzFdWzEra10sYSksYyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGFdfSl9dmFyXG5kPWJbMV07cmV0dXJuIGUoaShhWzFdWzErYXNdLGEpLGQsYixmdW5jdGlvbihhKXtyZXR1cm5bMSxhXX0pfSxjRixmdW5jdGlvbihhLGIpe3N3aXRjaChiWzBdKXtjYXNlXG4wOnZhclxuYz1iWzFdLGQ9Y1sxXSxqPWNbMl07cmV0dXJuIGYoaShhWzFdWzErcF0sYSksZCxqLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsWzAsZCxhXV19KTtjYXNlXG4xOnZhclxuZz1iWzFdLGg9Z1sxXSxsPWdbMl07cmV0dXJuIGYoaShhWzFdWzErcl0sYSksaCxsLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzEsWzAsaCxhXV19KTtkZWZhdWx0OnZhclxubT1iWzFdO3JldHVybiBlKGkoYVsxXVsxK2tdLGEpLG0sYixmdW5jdGlvbihhKXtyZXR1cm5bMixhXX0pfX0sVCxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbM10sZj1jWzJdLGc9Y1sxXSxoPXooYVsxXVsxK2xdLGEsWzAsZ10sZiksaT1qKGFbMV1bMStkXSxhLGUpO2lmKGY9PT1oJiZlPT09aSlyZXR1cm4gYztyZXR1cm5bMCxnLGgsaV19LGNFLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbM10sZT1iWzJdLGY9YlsxXSxnPVAoaShhWzFdWzErY0RdLGEpLGYpLGg9a1EoaShhWzFdWzErYXJdLGEpLGUpLGs9aihhWzFdWzErZF0sYSxjKTtpZihmPT09ZyYmZT09PWgmJmM9PT1rKXJldHVybiBiO3JldHVyblswLGcsaCxrXX0sY0QsZnVuY3Rpb24oYSxiKXt2YXJcbmU9YlsyXSxmPWVbNF0sZz1lWzJdLGg9ZVsxXSxtPWVbM10sbj1iWzFdLGk9aihhWzFdWzErY0NdLGEsaCksaz1qKGFbMV1bMStjXSxhLGcpLGw9aihhWzFdWzErZF0sYSxmKTtpZihoPT09aSYmZz09PWsmJmY9PT1sKXJldHVybiBiO3JldHVyblswLG4sWzAsaSxrLG0sbF1dfSxjQyxmdW5jdGlvbihhLGIpe3N3aXRjaChiWzBdKXtjYXNlXG4wOnZhclxuYz1iWzFdLGQ9Y1sxXSxqPWNbMl07cmV0dXJuIGYoaShhWzFdWzErcF0sYSksZCxqLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsWzAsZCxhXV19KTtjYXNlXG4xOnZhclxuZz1iWzFdLGg9Z1sxXSxsPWdbMl07cmV0dXJuIGYoaShhWzFdWzErcl0sYSksaCxsLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzEsWzAsaCxhXV19KTtkZWZhdWx0OnZhclxubT1iWzFdO3JldHVybiBlKGkoYVsxXVsxK2tdLGEpLG0sYixmdW5jdGlvbihhKXtyZXR1cm5bMixhXX0pfX0sY0ssZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlszXSxlPWJbMl0sZj1iWzFdLGc9UChpKGFbMV1bMStjel0sYSksZiksaD1rUShpKGFbMV1bMSthcl0sYSksZSksaz1qKGFbMV1bMStkXSxhLGMpO2lmKGY9PT1nJiZlPT09aCYmYz09PWspcmV0dXJuIGI7cmV0dXJuWzAsZyxoLGtdfSxjeixmdW5jdGlvbihhLGIpe3ZhclxuZD1iWzJdLGY9YlsxXSxlPWooYVsxXVsxK2NdLGEsZCk7cmV0dXJuIGQ9PT1lP2I6WzAsZixlXX0sYXIsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzJdLGY9Y1sxXSxnPWtRKGkoYVsxXVsxK1RdLGEpLGYpLGg9aihhWzFdWzErZF0sYSxlKTtpZihmPT09ZyYmZT09PWgpcmV0dXJuIGM7cmV0dXJuWzAsZyxoXX0sY0IsZnVuY3Rpb24oYSxiKXt2YXJcbmU9YlsyXSxmPWJbMV0sZz1QKGkoYVsxXVsxK2NdLGEpLGYpLGg9aihhWzFdWzErZF0sYSxlKTtpZihmPT09ZyYmZT09PWgpcmV0dXJuIGI7cmV0dXJuWzAsZyxoXX0sY0osZnVuY3Rpb24oYSxiKXt2YXJcbms9YlszXSxnPWJbMl0sbT1iWzFdLG49aihhWzFdWzErY10sYSxtKTtpZigwPT09Z1swXSl2YXJcbnE9Z1sxXSxoPWUoaihhWzFdWzErbF0sYSxSMCkscSxnLGZ1bmN0aW9uKGEpe3JldHVyblswLGFdfSk7ZWxzZVxudmFyXG5wPWdbMV0scj1nWzJdLGg9ZihpKGFbMV1bMStUXSxhKSxwLHIsZyxmdW5jdGlvbihhKXtyZXR1cm5bMSxwLGFdfSk7dmFyXG5vPWooYVsxXVsxK2RdLGEsayk7aWYobT09PW4mJmc9PT1oJiZrPT09bylyZXR1cm4gYjtyZXR1cm5bMCxuLGgsb119LGFxLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1szXSxmPWNbMl0saD1jWzFdLGk9aihhWzFdWzErZ10sYSxoKSxrPWooYVsxXVsxK2NzXSxhLGYpLGw9aihhWzFdWzErZF0sYSxlKTtpZihoPT09aSYmZj09PWsmJmU9PT1sKXJldHVybiBjO3JldHVyblswLGksayxsXX0sYjAsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZD1jWzFdLGU9eihhWzFdWzErYXFdLGEsYixkKTtyZXR1cm4gZD09PWU/YzpbMCxlLGNbMl0sY1szXV19LGNzLGZ1bmN0aW9uKGEsYil7c3dpdGNoKGJbMF0pe2Nhc2VcbjA6dmFyXG5jPWJbMV07cmV0dXJuIGUoaShhWzFdWzErY3FdLGEpLGMsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxhXX0pO2Nhc2VcbjE6dmFyXG5kPWJbMV07cmV0dXJuIGUoaShhWzFdWzErY3RdLGEpLGQsYixmdW5jdGlvbihhKXtyZXR1cm5bMSxhXX0pO2RlZmF1bHQ6dmFyXG5mPWJbMV07cmV0dXJuIGUoaShhWzFdWzErY3JdLGEpLGYsYixmdW5jdGlvbihhKXtyZXR1cm5bMixhXX0pfX0sY3EsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihhWzFdWzEra10sYSxiKX0sY3QsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihhWzFdWzErUl0sYSxiKX0sY3IsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihhWzFdWzErZ10sYSxiKX0sY28sZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGY9Y1syXSxnPWNbMV0saD1qKGFbMV1bMStrXSxhLGcpLGk9aihhWzFdWzEra10sYSxmKSxsPWooYVsxXVsxK2RdLGEsZSk7aWYoZz09PWgmJmY9PT1pJiZlPT09bClyZXR1cm4gYztyZXR1cm5bMCxoLGksbF19LGNtLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1s0XSxmPWNbM10saD1jWzJdLGs9Y1sxXSxsPWooYVsxXVsxK2ddLGEsayksbT1GKGkoYVsxXVsxK2FhXSxhKSxoKSxuPUYoaShhWzFdWzErYTJdLGEpLGYpLG89aihhWzFdWzErZF0sYSxlKTtpZihrPT09bCYmaD09PW0mJmY9PT1uJiZlPT09bylyZXR1cm4gYztyZXR1cm5bMCxsLG0sbixvXX0sY2osZnVuY3Rpb24oZSxiLGMpe3ZhclxuYT1jWzJdLGY9Y1sxXSxnPVAoZnVuY3Rpb24oYSl7aWYoMD09PWFbMF0pe3ZhclxuYj1hWzFdLGM9aihlWzFdWzErYjldLGUsYik7cmV0dXJuIGI9PT1jP2E6WzAsY119dmFyXG5kPWFbMV0sZj1qKGVbMV1bMStiel0sZSxkKTtyZXR1cm4gZD09PWY/YTpbMSxmXX0sZiksaD1qKGVbMV1bMStkXSxlLGEpO2lmKGY9PT1nJiZhPT09aClyZXR1cm4gYztyZXR1cm5bMCxnLGhdfSxiOSxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGY9YlsxXTtzd2l0Y2goY1swXSl7Y2FzZVxuMDp2YXJcbmw9Y1szXSxtPWNbMl0sbj1jWzFdLGU9aihhWzFdWzErdV0sYSxuKSxoPWooYVsxXVsxK2ddLGEsbSk7YTppZihsKXtpZigzPT09ZVswXSl7dmFyXG5wPWhbMl07aWYoMTA9PT1wWzBdKXt2YXJcbms9WChlWzFdWzJdWzFdLHBbMV1bMl1bMV0pO2JyZWFrIGF9fXZhclxubz1uPT09ZT8xOjAsaz1vP209PT1oPzE6MDpvfWVsc2VcbnZhclxuaz1sO2lmKG49PT1lJiZtPT09aCYmbD09PWspcmV0dXJuIGI7cmV0dXJuWzAsZixbMCxlLGgsa11dO2Nhc2VcbjE6dmFyXG5xPWNbMl0scj1jWzFdLHM9aihhWzFdWzErdV0sYSxyKSx0PWFFKGkoYVsxXVsxK0RdLGEpLHEpO2lmKHI9PT1zJiZxPT09dClyZXR1cm4gYjtyZXR1cm5bMCxmLFsxLHMsdF1dO2Nhc2VcbjI6dmFyXG52PWNbM10sdz1jWzJdLHg9Y1sxXSx5PWooYVsxXVsxK3VdLGEseCksej1hRShpKGFbMV1bMStEXSxhKSx3KSxBPWooYVsxXVsxK2RdLGEsdik7aWYoeD09PXkmJnc9PT16JiZ2PT09QSlyZXR1cm4gYjtyZXR1cm5bMCxmLFsyLHkseixBXV07ZGVmYXVsdDp2YXJcbkI9Y1szXSxDPWNbMl0sRT1jWzFdLEY9aihhWzFdWzErdV0sYSxFKSxHPWFFKGkoYVsxXVsxK0RdLGEpLEMpLEg9aihhWzFdWzErZF0sYSxCKTtpZihFPT09RiYmQz09PUcmJkI9PT1IKXJldHVybiBiO3JldHVyblswLGYsWzMsRixHLEhdXX19LHUsZnVuY3Rpb24oYSxiKXtzd2l0Y2goYlswXSl7Y2FzZVxuMDp2YXJcbmM9YlsxXTtyZXR1cm4gZShpKGFbMV1bMStiJF0sYSksYyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGFdfSk7Y2FzZVxuMTp2YXJcbmQ9YlsxXTtyZXR1cm4gZShpKGFbMV1bMStjYV0sYSksZCxiLGZ1bmN0aW9uKGEpe3JldHVyblsxLGFdfSk7Y2FzZVxuMjp2YXJcbmY9YlsxXTtyZXR1cm4gZShpKGFbMV1bMStjZF0sYSksZixiLGZ1bmN0aW9uKGEpe3JldHVyblsyLGFdfSk7Y2FzZVxuMzp2YXJcbmc9YlsxXTtyZXR1cm4gZShpKGFbMV1bMStjYl0sYSksZyxiLGZ1bmN0aW9uKGEpe3JldHVyblszLGFdfSk7Y2FzZVxuNDp2YXJcbmg9YlsxXTtyZXR1cm4gZShpKGFbMV1bMStSXSxhKSxoLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzQsYV19KTtkZWZhdWx0OnZhclxuaj1iWzFdO3JldHVybiBlKGkoYVsxXVsxK2NjXSxhKSxqLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzUsYV19KX19LGIkLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMV0sZD1iWzJdO3JldHVybiBmKGkoYVsxXVsxK3BdLGEpLGMsZCxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGMsYV19KX0sY2EsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsxXSxkPWJbMl07cmV0dXJuIGYoaShhWzFdWzErcl0sYSksYyxkLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYyxhXX0pfSxjZCxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzFdLGQ9YlsyXTtyZXR1cm4gZihpKGFbMV1bMSt4XSxhKSxjLGQsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxjLGFdfSl9LGNiLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooYVsxXVsxK2tdLGEsYil9LGNjLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooYVsxXVsxK2FRXSxhLGIpfSxTLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmc9Y1s1XSxrPWNbNF0sZT1jWzNdLGw9Y1syXSxtPWNbMV0sbj1qKGFbMV1bMStzXSxhLG0pLHA9RihpKGFbMV1bMStvXSxhKSxsKSxmPUYoaShhWzFdWzEraF0sYSksZSkscT1GKGkoYVsxXVsxK2hdLGEpLGspLHI9aihhWzFdWzErZF0sYSxnKTtpZihtPT09biYmZT09PWYmJmw9PT1wJiZlPT09ZiYmaz09PXEmJmc9PT1yKXJldHVybiBjO3JldHVyblswLG4scCxmLHEscl19LGFHLGZ1bmN0aW9uKGEsYil7cmV0dXJuIHooYVsxXVsxK01dLGEsUlosYil9LGE3LGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4geihhWzFdWzErTV0sYSxbMCxiXSxjKX0sZXMsZnVuY3Rpb24oYSxiKXtyZXR1cm4geihhWzFdWzErTV0sYSxSWSxiKX0sZEYsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihhWzFdWzErYWRdLGEsYil9LGRBLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooYVsxXVsxK2FkXSxhLGIpfSxNLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmQ9Yj9iWzFdOjA7cmV0dXJuIHooYVsxXVsxK3ddLGEsWzAsZF0sYyl9LGFkLGZ1bmN0aW9uKGEsYil7cmV0dXJuIHooYVsxXVsxK3ddLGEsMCxiKX0sdyxmdW5jdGlvbihhLGIsYyl7dmFyXG5mPWNbMl0sST1jWzFdO3N3aXRjaChmWzBdKXtjYXNlXG4wOnZhclxuaD1mWzFdLG49aFszXSxvPWhbMl0scD1oWzFdLHE9UChqKGFbMV1bMStiUV0sYSxiKSxwKSxyPWooYVsxXVsxK3ZdLGEsbykscz1qKGFbMV1bMStkXSxhLG4pO2E6e2lmKHE9PT1wJiZyPT09byYmcz09PW4pe3ZhclxudD1mO2JyZWFrIGF9dmFyXG50PVswLFswLHEscixzXV19dmFyXG5nPXQ7YnJlYWs7Y2FzZVxuMTp2YXJcbms9ZlsxXSx1PWtbM10sdz1rWzJdLHg9a1sxXSx5PVAoaihhWzFdWzErYlpdLGEsYikseCksQT1qKGFbMV1bMSt2XSxhLHcpLEI9aihhWzFdWzErZF0sYSx1KTthOntpZih1PT09QiYmeT09PXgmJkE9PT13KXt2YXJcbkM9ZjticmVhayBhfXZhclxuQz1bMSxbMCx5LEEsQl1dfXZhclxuZz1DO2JyZWFrO2Nhc2VcbjI6dmFyXG5tPWZbMV0sRD1tWzJdLEU9bVsxXSxKPW1bM10sRj16KGFbMV1bMStsXSxhLGIsRSksRz1qKGFbMV1bMSt2XSxhLEQpO2E6e2lmKEU9PT1GJiZEPT09Ryl7dmFyXG5IPWY7YnJlYWsgYX12YXJcbkg9WzIsWzAsRixHLEpdXX12YXJcbmc9SDticmVhaztkZWZhdWx0OnZhclxuSz1mWzFdLGc9ZShpKGFbMV1bMStiU10sYSksSyxmLGZ1bmN0aW9uKGEpe3JldHVyblszLGFdfSl9cmV0dXJuIGY9PT1nP2M6WzAsSSxnXX0sbCxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGooYVsxXVsxK2tdLGEsYyl9LGJGLGZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB6KGFbMV1bMStwXSxhLGMsZCl9LGJSLGZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB6KGFbMV1bMStyXSxhLGMsZCl9LGJVLGZ1bmN0aW9uKGEsYixjLGQpe3JldHVybiB6KGFbMV1bMSt4XSxhLGMsZCl9LGJRLGZ1bmN0aW9uKGEsYixjKXtpZigwPT09Y1swXSl7dmFyXG5kPWNbMV07cmV0dXJuIGUoaihhWzFdWzErYlBdLGEsYiksZCxjLGZ1bmN0aW9uKGEpe3JldHVyblswLGFdfSl9dmFyXG5mPWNbMV07cmV0dXJuIGUoaihhWzFdWzErYkhdLGEsYiksZixjLGZ1bmN0aW9uKGEpe3JldHVyblsxLGFdfSl9LGJQLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1syXSxoPWVbNF0sbD1lWzNdLGk9ZVsyXSxrPWVbMV0scD1jWzFdLGQ9eihhWzFdWzErYkxdLGEsYixrKSxmPXooYVsxXVsxK2JKXSxhLGIsaSksbT1qKGFbMV1bMStLXSxhLGwpO2E6aWYoaCl7aWYoMz09PWRbMF0pe3Zhclxubz1mWzJdO2lmKDI9PT1vWzBdKXt2YXJcbmc9WChkWzFdWzJdWzFdLG9bMV1bMV1bMl1bMV0pO2JyZWFrIGF9fXZhclxubj1rPT09ZD8xOjAsZz1uP2k9PT1mPzE6MDpufWVsc2VcbnZhclxuZz1oO2lmKGQ9PT1rJiZmPT09aSYmbT09PWwmJmg9PT1nKXJldHVybiBjO3JldHVyblswLHAsWzAsZCxmLG0sZ11dfSxiTCxmdW5jdGlvbihhLGIsYyl7c3dpdGNoKGNbMF0pe2Nhc2VcbjA6dmFyXG5kPWNbMV07cmV0dXJuIGUoaihhWzFdWzErYkldLGEsYiksZCxjLGZ1bmN0aW9uKGEpe3JldHVyblswLGFdfSk7Y2FzZVxuMTp2YXJcbmY9Y1sxXTtyZXR1cm4gZShqKGFbMV1bMStiS10sYSxiKSxmLGMsZnVuY3Rpb24oYSl7cmV0dXJuWzEsYV19KTtjYXNlXG4yOnZhclxuZz1jWzFdO3JldHVybiBlKGooYVsxXVsxK2JPXSxhLGIpLGcsYyxmdW5jdGlvbihhKXtyZXR1cm5bMixhXX0pO2Nhc2VcbjM6dmFyXG5oPWNbMV07cmV0dXJuIGUoaihhWzFdWzErYk1dLGEsYiksaCxjLGZ1bmN0aW9uKGEpe3JldHVyblszLGFdfSk7ZGVmYXVsdDp2YXJcbmk9Y1sxXTtyZXR1cm4gZShqKGFbMV1bMStiTl0sYSxiKSxpLGMsZnVuY3Rpb24oYSl7cmV0dXJuWzQsYV19KX19LGJJLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmQ9Y1sxXSxlPWNbMl07cmV0dXJuIGYoaihhWzFdWzErYkZdLGEsYiksZCxlLGMsZnVuY3Rpb24oYSl7cmV0dXJuWzAsZCxhXX0pfSxiSyxmdW5jdGlvbihhLGIsYyl7dmFyXG5kPWNbMV0sZT1jWzJdO3JldHVybiBmKGooYVsxXVsxK2JSXSxhLGIpLGQsZSxjLGZ1bmN0aW9uKGEpe3JldHVyblswLGQsYV19KX0sYk8sZnVuY3Rpb24oYSxiLGMpe3ZhclxuZD1jWzFdLGU9Y1syXTtyZXR1cm4gZihqKGFbMV1bMStiVV0sYSxiKSxkLGUsYyxmdW5jdGlvbihhKXtyZXR1cm5bMCxkLGFdfSl9LGJNLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4geihhWzFdWzErbF0sYSxiLGMpfSxiTixmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGooYVsxXVsxK2FRXSxhLGMpfSxiSCxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbMl0sZj1lWzJdLGc9ZVsxXSxrPWNbMV0saD16KGFbMV1bMStiR10sYSxiLGcpLGk9aihhWzFdWzErZF0sYSxmKTtpZihoPT09ZyYmZj09PWkpcmV0dXJuIGM7cmV0dXJuWzAsayxbMCxoLGldXX0sYkosZnVuY3Rpb24oYSxiLGMpe3JldHVybiB6KGFbMV1bMSt3XSxhLGIsYyl9LGJHLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4geihhWzFdWzErd10sYSxiLGMpfSxiWixmdW5jdGlvbihhLGIsYyl7c3dpdGNoKGNbMF0pe2Nhc2VcbjA6dmFyXG5kPWNbMV07cmV0dXJuIGUoaihhWzFdWzErYlldLGEsYiksZCxjLGZ1bmN0aW9uKGEpe3JldHVyblswLGFdfSk7Y2FzZVxuMTp2YXJcbmY9Y1sxXTtyZXR1cm4gZShqKGFbMV1bMStiV10sYSxiKSxmLGMsZnVuY3Rpb24oYSl7cmV0dXJuWzEsYV19KTtkZWZhdWx0OnJldHVybiBjfX0sYlksZnVuY3Rpb24oYSxiLGMpe3ZhclxuZD1jWzJdLGU9ZFsyXSxmPWRbMV0saT1jWzFdLGc9eihhWzFdWzErYlhdLGEsYixmKSxoPWooYVsxXVsxK0tdLGEsZSk7aWYoZj09PWcmJmU9PT1oKXJldHVybiBjO3JldHVyblswLGksWzAsZyxoXV19LGJYLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4geihhWzFdWzErd10sYSxiLGMpfSxiVyxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbMl0sZj1lWzJdLGc9ZVsxXSxrPWNbMV0saD16KGFbMV1bMStiVl0sYSxiLGcpLGk9aihhWzFdWzErZF0sYSxmKTtpZihoPT09ZyYmZj09PWkpcmV0dXJuIGM7cmV0dXJuWzAsayxbMCxoLGldXX0sYlYsZnVuY3Rpb24oYSxiLGMpe3JldHVybiB6KGFbMV1bMSt3XSxhLGIsYyl9LGJTLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooYVsxXVsxK2ddLGEsYil9LGFwLGZ1bmN0aW9uKGEsYil7dmFyXG5oPWJbMl0saz1oWzJdLGM9aFsxXSxtPWJbMV07aWYoYyl2YXJcbm49Y1sxXSxmPWUoaShhWzFdWzErZ10sYSksbixjLGZ1bmN0aW9uKGEpe3JldHVyblswLGFdfSk7ZWxzZVxudmFyXG5mPWM7dmFyXG5sPWooYVsxXVsxK2RdLGEsayk7aWYoYz09PWYmJms9PT1sKXJldHVybiBiO3JldHVyblswLG0sWzAsZixsXV19LHksZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihhWzFdWzErZ10sYSxiKX0sYmYsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxlPWJbMV0sZD1qKGFbMV1bMStha10sYSxjKTtyZXR1cm4ga3QoZCxjKT9iOlswLGUsZF19LGFrLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1jWzNdLGY9Y1syXSxnPWZbMl0sbD1mWzFdLHA9Y1sxXSxxPWJbMV0sbT1qKGFbMV1bMStrXSxhLGwpLG49RihpKGFbMV1bMStoXSxhKSxnKSxvPWooYVsxXVsxK2RdLGEsZSk7aWYobT09PWwmJm49PT1nJiZvPT09ZSlyZXR1cm4gYjtyZXR1cm5bMCxxLFswLHAsWzAsbSxuXSxvXV19LGRuLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1jWzJdLGY9Y1sxXSxpPWJbMV0sZz1qKGFbMV1bMSthR10sYSxmKSxoPWooYVsxXVsxK2RdLGEsZSk7aWYoZj09PWcmJmU9PT1oKXJldHVybiBiO3JldHVyblswLGksWzAsZyxoXV19LGJCLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1syXSxmPWNbMV0sbD1jWzNdLGg9RihpKGFbMV1bMStnXSxhKSxmKSxrPWooYVsxXVsxK2RdLGEsZSk7aWYoZj09PWgmJmU9PT1rKXJldHVybiBjO3JldHVyblswLGgsayxsXX0sYkEsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzJdLGY9Y1sxXSxoPVAoaShhWzFdWzErZ10sYSksZiksaz1qKGFbMV1bMStkXSxhLGUpO2lmKGY9PT1oJiZlPT09aylyZXR1cm4gYztyZXR1cm5bMCxoLGtdfSxibyxmdW5jdGlvbihhLGIpe3JldHVybiBqKGFbMV1bMStRXSxhLGIpfSxRLGZ1bmN0aW9uKGEsYil7dmFyXG5oPWkoYVsxXVsxK2J5XSxhKSxjPWFWKGZ1bmN0aW9uKGEsYil7dmFyXG5mPWFbMl0sZD1hWzFdLGM9aShoLGIpO2lmKCFjKXJldHVyblswLGQsMV07aWYoY1syXSlyZXR1cm5bMCxqQShjLGQpLDFdO3ZhclxuZT1jWzFdLGc9Znx8KGIhPT1lPzE6MCk7cmV0dXJuWzAsWzAsZSxkXSxnXX0sUlgsYiksZD1jWzFdO3JldHVybiBjWzJdP0IoZCk6Yn0sYnksZnVuY3Rpb24oYSxiKXtyZXR1cm5bMCxqKGFbMV1bMSttXSxhLGIpLDBdfSxhbSxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGU9Y1syXSxmPWNbMV0saz1iWzFdLGg9aihhWzFdWzErZ10sYSxmKSxpPWooYVsxXVsxK2RdLGEsZSk7aWYoZj09PWgmJmU9PT1pKXJldHVybiBiO3JldHVyblswLGssWzAsaCxpXV19LGJ6LGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZT1jWzJdLGY9Y1sxXSxrPWJbMV0saD1qKGFbMV1bMStnXSxhLGYpLGk9aihhWzFdWzErZF0sYSxlKTtpZihmPT09aCYmZT09PWkpcmV0dXJuIGI7cmV0dXJuWzAsayxbMCxoLGldXX0sYngsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzFdLGY9aihhWzFdWzErZF0sYSxlKTtyZXR1cm4gZT09PWY/YzpbMCxmXX0sYncsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGY9Y1syXSxoPWNbMV0sbj1jWzRdLGs9aihhWzFdWzErZ10sYSxoKSxsPVAoaShhWzFdWzErYnZdLGEpLGYpLG09aihhWzFdWzErZF0sYSxlKTtpZihoPT09ayYmZj09PWwmJmU9PT1tKXJldHVybiBjO3JldHVyblswLGssbCxtLG5dfSxidixmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGU9Y1szXSxmPWNbMl0saD1jWzFdLG49YlsxXSxrPUYoaShhWzFdWzErZ10sYSksaCksbD1qKGFbMV1bMStRXSxhLGYpLG09aihhWzFdWzErZF0sYSxlKTtpZihoPT09ayYmZj09PWwmJmU9PT1tKXJldHVybiBiO3JldHVyblswLG4sWzAsayxsLG1dXX0sYnUsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGY9Y1syXSxoPWNbMV0saz1qKGFbMV1bMStnXSxhLGgpLGw9YUUoaShhWzFdWzErYWxdLGEpLGYpLG09aihhWzFdWzErZF0sYSxlKTtpZihoPT09ayYmZj09PWwmJmU9PT1tKXJldHVybiBjO3JldHVyblswLGssbCxtXX0sYWwsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGY9Y1syXSxoPWNbMV0saz1QKGkoYVsxXVsxK2JyXSxhKSxoKSxsPVAoaShhWzFdWzErZ10sYSksZiksbT1qKGFbMV1bMStkXSxhLGUpO2lmKGg9PT1rJiZmPT09bCYmZT09PW0pcmV0dXJuIGM7cmV0dXJuWzAsayxsLG1dfSxicixmdW5jdGlvbihhLGIpe3JldHVybiBifSxicSxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbMV0sZj1qKGFbMV1bMStkXSxhLGUpO3JldHVybiBlPT09Zj9jOlswLGZdfSxicCxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbMl0sZj1jWzFdLGg9aihhWzFdWzErZ10sYSxmKSxpPWooYVsxXVsxK2RdLGEsZSk7aWYoZj09PWgmJmU9PT1pKXJldHVybiBjO3JldHVyblswLGgsaV19LGJuLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmw9Y1s0XSxlPWNbM10sZz1jWzJdLG09Y1sxXSxuPWFFKGkoYVsxXVsxK3FdLGEpLG0pO2lmKGcpdmFyXG5vPWdbMV0scD1vWzFdLHU9b1syXSxoPWYoaShhWzFdWzErZXRdLGEpLHAsdSxnLGZ1bmN0aW9uKGEpe3JldHVyblswLFswLHAsYV1dfSk7ZWxzZVxudmFyXG5oPWc7aWYoZSl2YXJcbnI9ZVsxXSxzPXJbMV0sdj1yWzJdLGs9ZihpKGFbMV1bMStxXSxhKSxzLHYsZSxmdW5jdGlvbihhKXtyZXR1cm5bMCxbMCxzLGFdXX0pO2Vsc2VcbnZhclxuaz1lO3ZhclxudD1qKGFbMV1bMStkXSxhLGwpO2lmKG09PT1uJiZnPT09aCYmZT09PWsmJmw9PT10KXJldHVybiBjO3JldHVyblswLG4saCxrLHRdfSxiZyxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbM10sZj1jWzJdLGg9Y1sxXSxpPWooYVsxXVsxK2ddLGEsaCksaz1qKGFbMV1bMStuXSxhLGYpLGw9aihhWzFdWzErZF0sYSxlKTtpZihpPT09aCYmaz09PWYmJmw9PT1lKXJldHVybiBjO3JldHVyblswLGksayxsXX0sYmwsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGY9Y1syXSxoPWNbMV0saT1qKGFbMV1bMStnXSxhLGgpLGs9aihhWzFdWzErbl0sYSxmKSxsPWooYVsxXVsxK2RdLGEsZSk7aWYoaT09PWgmJmt0KGssZikmJmw9PT1lKXJldHVybiBjO3JldHVyblswLGksayxsXX0sYSQsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGY9Y1syXSxoPWooYVsxXVsxK2ddLGEsZiksaT1qKGFbMV1bMStkXSxhLGUpO2lmKGY9PT1oJiZlPT09aSlyZXR1cm4gYztyZXR1cm5bMCxjWzFdLGgsaV19LGE5LGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1s0XSxmPWNbMl0saD1qKGFbMV1bMStnXSxhLGYpLGk9aihhWzFdWzErZF0sYSxlKTtpZihmPT09aCYmZT09PWkpcmV0dXJuIGM7cmV0dXJuWzAsY1sxXSxoLGNbM10saV19LEcsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGY9Y1syXSxnPWNbMV0saD1QKGooYVsxXVsxK2E4XSxhLGYpLGcpLGk9aihhWzFdWzErZF0sYSxlKTtpZihnPT09aCYmZT09PWkpcmV0dXJuIGM7cmV0dXJuWzAsaCxmLGldfSxhOCxmdW5jdGlvbihhLGIsYyl7dmFyXG5kPWNbMl0sZT1kWzJdLGY9ZFsxXSxrPWNbMV0saD16KGFbMV1bMSthN10sYSxiLGYpLGo9RihpKGFbMV1bMStnXSxhKSxlKTtpZihmPT09aCYmZT09PWopcmV0dXJuIGM7cmV0dXJuWzAsayxbMCxoLGpdXX0sYTUsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGY9Y1syXSxnPWNbMV0saD1qKGFbMV1bMSt5XSxhLGcpLGk9aihhWzFdWzErbV0sYSxmKSxrPWooYVsxXVsxK2RdLGEsZSk7aWYoZz09PWgmJmY9PT1pJiZlPT09aylyZXR1cm4gYztyZXR1cm5bMCxoLGksa119LGE0LGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1szXSxmPWNbMl0saD1jWzFdLGk9aihhWzFdWzErZ10sYSxoKSxrPWooYVsxXVsxK21dLGEsZiksbD1qKGFbMV1bMStkXSxhLGUpO2lmKGg9PT1pJiZmPT09ayYmZT09PWwpcmV0dXJuIGM7cmV0dXJuWzAsaSxrLGxdfSxPLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1s0XSxmPWNbM10sZz1jWzJdLGs9Y1sxXSxsPWooYVsxXVsxK3NdLGEsayksbT1GKGkoYVsxXVsxK29dLGEpLGcpLG49aihhWzFdWzEraF0sYSxmKSxwPWooYVsxXVsxK2RdLGEsZSk7aWYoaz09PWwmJmY9PT1uJiZnPT09bSYmZT09PXApcmV0dXJuIGM7cmV0dXJuWzAsbCxtLG4scF19LGEzLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1syXSxmPWNbMV0sbD1jWzRdLG09Y1szXSxoPUYoaShhWzFdWzErZ10sYSksZiksaz1qKGFbMV1bMStkXSxhLGUpO2lmKGU9PT1rJiZmPT09aClyZXR1cm4gYztyZXR1cm5bMCxoLGssbSxsXX1dKTtyZXR1cm4gZnVuY3Rpb24oYSxiKXtyZXR1cm4gbWgoYixhZSl9fSksclk9W107ZnVuY3Rpb25cbkdjKGEsYixjKXt2YXJcbmQ9Y1syXTtzd2l0Y2goZFswXSl7Y2FzZVxuMDp2YXJcbmU9ZFsxXVsxXTtyZXR1cm4gYVYoaShyWVsxXSxhKSxiLGUpO2Nhc2VcbjE6dmFyXG5mPWRbMV1bMV07cmV0dXJuIGFWKGkocllbMl0sYSksYixmKTtjYXNlXG4yOnJldHVybiBqKGEsYixkWzFdWzFdKTtkZWZhdWx0OnJldHVybiBifX1hKHJZLFswLGZ1bmN0aW9uKGMsYil7cmV0dXJuIGZ1bmN0aW9uKGEpe3ZhclxuZD0wPT09YVswXT9hWzFdWzJdWzJdOmFbMV1bMl1bMV07cmV0dXJuIEdjKGMsYixkKX19LGZ1bmN0aW9uKGMsYil7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiAyPT09YVswXT9iOkdjKGMsYixhWzFdWzJdWzFdKX19XSk7dmFyXG5yWj1bXTtmdW5jdGlvblxuR2QoYSl7dmFyXG5iPWFbMl07c3dpdGNoKGJbMF0pe2Nhc2VcbjA6cmV0dXJuIGpCKHJaWzFdLGJbMV1bMV0pO2Nhc2VcbjE6cmV0dXJuIGpCKHJaWzJdLGJbMV1bMV0pO2Nhc2VcbjI6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gMH19YShyWixbMCxmdW5jdGlvbihhKXt2YXJcbmI9MD09PWFbMF0/YVsxXVsyXVsyXTphWzFdWzJdWzFdO3JldHVybiBHZChiKX0sZnVuY3Rpb24oYSl7cmV0dXJuIDI9PT1hWzBdPzA6R2QoYVsxXVsyXVsxXSl9XSk7dmFyXG5tbz1bXTtmdW5jdGlvblxucjAoYSl7dmFyXG5iPWFbMl07c3dpdGNoKGJbMF0pe2Nhc2Vcbjc6cmV0dXJuIDE7Y2FzZVxuMTA6dmFyXG5jPWJbMV0sZz1jWzFdLGQ9aShtb1syXSxjWzJdKTtyZXR1cm4gZD9kOmpCKG1vWzFdLGcpO2Nhc2VcbjExOnZhclxuZT1iWzFdLGg9ZVsxXSxmPWkobW9bMl0sZVsyXSk7cmV0dXJuIGY/ZjpqQihmdW5jdGlvbihhKXtyZXR1cm4gcjAoYVsyXSl9LGgpO2Nhc2VcbjEyOnJldHVybiBqQihyMCxiWzFdWzFdKTtjYXNlXG4xMzpyZXR1cm4gMTtkZWZhdWx0OnJldHVybiAwfX1hKG1vLFswLGZ1bmN0aW9uKGEpe3JldHVybiByMChhWzJdWzJdKX0sZnVuY3Rpb24oYSl7aWYoYSYmYVsxXVsyXVsxXSlyZXR1cm4gMTtyZXR1cm4gMH1dKTtmdW5jdGlvblxuY3AoYSxiKXtyZXR1cm5bMCxiWzFdLFswLGJbMl0sYV1dfWZ1bmN0aW9uXG5HZShhLGIsYyl7dmFyXG5kPWE/YVsxXTowLGU9Yj9iWzFdOjA7cmV0dXJuWzAsZCxlLGNdfWZ1bmN0aW9uXG5wKGEsYixjKXt2YXJcbmQ9YT9hWzFdOjAsZT1iP2JbMV06MDtpZighZCYmIWUpcmV0dXJuIDA7cmV0dXJuWzAsR2UoWzAsZF0sWzAsZV0sMCldfWZ1bmN0aW9uXG5hdihhLGIsYyxkKXt2YXJcbmU9YT9hWzFdOjAsZj1iP2JbMV06MDtpZighZSYmIWYmJiFjKXJldHVybiAwO3JldHVyblswLEdlKFswLGVdLFswLGZdLGMpXX1mdW5jdGlvblxuYTQoYSxiKXtpZihhKXtpZihiKXt2YXJcbmM9YlsxXSxkPWFbMV0sZj1bMCxJKGRbMl0sY1syXSldO3JldHVybiBwKFswLEkoY1sxXSxkWzFdKV0sZixsKX12YXJcbmU9YX1lbHNlXG52YXJcbmU9YjtyZXR1cm4gZX1mdW5jdGlvblxubXAoYSxiKXtpZighYilyZXR1cm4gYTtpZihhKXt2YXJcbmQ9YlsxXSxjPWFbMV0sZj1kWzFdLGc9Y1szXSxoPWNbMV0saT1bMCxJKGNbMl0sZFsyXSldO3JldHVybiBhdihbMCxJKGYsaCldLGksZyxsKX12YXJcbmU9YlsxXTtyZXR1cm4gYXYoWzAsZVsxXV0sWzAsZVsyXV0sMCxsKX1mdW5jdGlvblxuR2YoYSxiKXthTShhKShTSyk7aShhTShhKShTTSksU0wpO3ZhclxuYz1iWzFdO2koYU0oYSkoU04pLGMpO2FNKGEpKFNPKTthTShhKShTUCk7aShhTShhKShTUiksU1EpO3ZhclxuZD1iWzJdO2koYU0oYSkoU1MpLGQpO2FNKGEpKFNUKTtyZXR1cm4gYU0oYSkoU1UpfWEoW10sWzAsR2YsR2YsZnVuY3Rpb24oYSxiKXtzd2l0Y2goYlswXSl7Y2FzZVxuMDp2YXJcbmM9YlsxXTthTShhKShSSSk7aShhTShhKShSSiksYyk7cmV0dXJuIGFNKGEpKFJLKTtjYXNlXG4xOnZhclxuZD1iWzFdO2FNKGEpKFJMKTtpKGFNKGEpKFJNKSxkKTtyZXR1cm4gYU0oYSkoUk4pO2Nhc2VcbjI6dmFyXG5lPWJbMV07YU0oYSkoUk8pO2koYU0oYSkoUlApLGUpO3JldHVybiBhTShhKShSUSk7ZGVmYXVsdDp2YXJcbmY9YlsxXTthTShhKShSUik7aShhTShhKShSUyksZik7cmV0dXJuIGFNKGEpKFJUKX19XSk7ZnVuY3Rpb25cbiQoYSxiKXtyZXR1cm5bMCxhWzFdLGFbMl0sYlszXV19ZnVuY3Rpb25cbmhMKGEsYil7dmFyXG5jPWFbMV0tYlsxXXwwO3JldHVybiAwPT09Yz9hWzJdLWJbMl18MDpjfWZ1bmN0aW9uXG5HZyhhLGIpe3ZhclxuZD1iWzFdLGk9YVsxXTtpZihpKXt2YXJcbmY9aVsxXTtpZihkKXZhclxuZz1kWzFdLGo9R2IoZyksZT1HYihmKS1qfDAsYz0wPT09ZT9DKGZbMV0sZ1sxXSk6ZTtlbHNlXG52YXJcbmM9LTF9ZWxzZVxudmFyXG5jPWQ/MTowO2lmKDAhPT1jKXJldHVybiBjO3ZhclxuaD1oTChhWzJdLGJbMl0pO3JldHVybiAwPT09aD9oTChhWzNdLGJbM10pOmh9ZnVuY3Rpb25cbmlnKGEsYil7cmV0dXJuIDA9PT1HZyhhLGIpPzE6MH12YXJcbmM9W107YShjLFswLGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQyhiLGMpfSxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIEMoYixjKX0sZnVuY3Rpb24oYSxiLGMpe3JldHVybiBDKGIsYyl9LGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQyhiLGMpfSxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIEMoYixjKX0sZnVuY3Rpb24oYSxiLGMpe3JldHVybiBDKGIsYyl9LGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQyhiLGMpfSxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIEMoYixjKX0sZnVuY3Rpb24oYSxiLGMpe3JldHVybiBDKGIsYyl9LGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQyhiLGMpfSxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIEMoYixjKX0sZnVuY3Rpb24oYSxiLGMpe3JldHVybiBDKGIsYyl9LGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYlYoYixjKX0sZnVuY3Rpb24oYSxiLGMpe3JldHVybiBDKGIsYyl9LGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYlYoYixjKX0sZnVuY3Rpb24oYSxiLGMpe3JldHVybiBiVihiLGMpfSxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGJWKGIsYyl9LGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gYlYoYixjKX0sZnVuY3Rpb24oYSxiLGMpe3JldHVybiBiVihiLGMpfSxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIEMoYixjKX0sZnVuY3Rpb24oYSxiLGMpe3JldHVybiBiVihiLGMpfSxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIEMoYixjKX0sZnVuY3Rpb24oYSxiLGMpe3JldHVybiBDKGIsYyl9LGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQyhiLGMpfSxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIEMoYixjKX0sZnVuY3Rpb24oYSxiLGMpe3JldHVybiBDKGIsYyl9LGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQyhiLGMpfSxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIEMoYixjKX0sZnVuY3Rpb24oYSxiKXtzd2l0Y2goYSl7Y2FzZVxuMDppZighYilyZXR1cm4gMDticmVhaztjYXNlXG4xOmlmKDE9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjI6aWYoMj09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMzppZigzPT09YilyZXR1cm4gMDticmVhaztkZWZhdWx0OmlmKDQ8PWIpcmV0dXJuIDB9ZnVuY3Rpb25cbmMoYSl7c3dpdGNoKGEpe2Nhc2VcbjA6cmV0dXJuIDA7Y2FzZVxuMTpyZXR1cm4gMTtjYXNlXG4yOnJldHVybiAyO2Nhc2VcbjM6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4gNH19dmFyXG5kPWMoYik7cmV0dXJuIGJWKGMoYSksZCl9LGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQyhiLGMpfSxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIEMoYixjKX0sZnVuY3Rpb24oYSxiLGMpe3JldHVybiBDKGIsYyl9LGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQyhiLGMpfSxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIGJWKGIsYyl9LGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQyhiLGMpfSxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIEMoYixjKX0sZnVuY3Rpb24oYSxiLGMpe3JldHVybiBDKGIsYyl9LGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQyhiLGMpfSxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIEMoYixjKX0sZnVuY3Rpb24oYSxiLGMpe3JldHVybiBDKGIsYyl9LGZ1bmN0aW9uKGEsYixjKXtyZXR1cm4gQyhiLGMpfSxmdW5jdGlvbihhLGIsYyl7cmV0dXJuIEMoYixjKX0sZnVuY3Rpb24oYSxiLGMpe3JldHVybiBDKGIsYyl9XSk7dmFyXG5HaD1WRi5zbGljZSgpO2Z1bmN0aW9uXG5yMShhKXt2YXJcbmI9MCxjPUdoLmxlbmd0aC0xLTF8MDtmb3IoOzspe2lmKGM8YilyZXR1cm4gMDt2YXJcbmQ9YisoKGMtYnwwKS8yfDApfDAsZT1HaFsxK2RdLGY9ZVsyXTtpZihhPGVbMV0pdmFyXG5jPWQtMXwwO2Vsc2V7aWYoZj5hKXJldHVybiAxO3ZhclxuYj1kKzF8MH19fXZhclxuR2k9MDtmdW5jdGlvblxuR2ooYSl7dmFyXG5iPWFbMl07cmV0dXJuWzAsYVsxXSxbMCxiWzFdLGJbMl0sYlszXSxiWzRdLGJbNV0sYls2XSxiWzddLGJbOF0sYls5XSxiWzEwXSxiWzExXSxiWzEyXV0sYVszXSxhWzRdLGFbNV0sYVs2XSxhWzddXX1mdW5jdGlvblxuR2soYSl7cmV0dXJuIGFbM11bMV19ZnVuY3Rpb25cbm1xKGEsYil7cmV0dXJuIGEhPT1iWzRdP1swLGJbMV0sYlsyXSxiWzNdLGEsYls1XSxiWzZdLGJbN11dOmJ9dmFyXG5iST1bXTtmdW5jdGlvblxuR2woYSxiKXtpZih0eXBlb2ZcbmE9PT1cIm51bWJlclwiKXt2YXJcbmM9YTtpZig2Nzw9YylpZihidDw9Yylzd2l0Y2goYyl7Y2FzZVxuMTAxOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJmJ0PT09YilyZXR1cm4gMTticmVhaztjYXNlXG4xMDI6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmY0E9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjEwMzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZiZT09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMTA0OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJmJUPT09YilyZXR1cm4gMTticmVhaztjYXNlXG4xMDU6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmY2g9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjEwNjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZjZz09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMTA3OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJmFLPT09YilyZXR1cm4gMTticmVhaztjYXNlXG4xMDg6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmaFQ9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjEwOTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZkVj09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMTEwOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJmFaPT09YilyZXR1cm4gMTticmVhaztjYXNlXG4xMTE6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmYnM9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjExMjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZoWT09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMTEzOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJmJtPT09YilyZXR1cm4gMTticmVhaztjYXNlXG4xMTQ6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmVj09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMTE1OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJmpwPT09YilyZXR1cm4gMTticmVhaztjYXNlXG4xMTY6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmaXY9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjExNzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZsUD09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMTE4OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJmtrPT09YilyZXR1cm4gMTticmVhaztjYXNlXG4xMTk6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmbHM9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjEyMDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZlbz09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMTIxOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJmx5PT09YilyZXR1cm4gMTticmVhaztjYXNlXG4xMjI6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmYWk9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjEyMzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZjeD09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMTI0OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJmtjPT09YilyZXR1cm4gMTticmVhaztjYXNlXG4xMjU6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmaUc9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjEyNjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZvTz09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMTI3OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJmFiPT09YilyZXR1cm4gMTticmVhaztjYXNlXG4xMjg6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmYUE9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjEyOTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZqcz09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMTMwOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJmxIPT09YilyZXR1cm4gMTticmVhaztjYXNlXG4xMzE6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmbHI9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjEzMjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZwdT09PWIpcmV0dXJuIDE7YnJlYWs7ZGVmYXVsdDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZvUDw9YilyZXR1cm4gMX1lbHNlXG5zd2l0Y2goYyl7Y2FzZVxuNjc6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNjc9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjY4OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjY4PT09YilyZXR1cm4gMTticmVhaztjYXNlXG42OTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY2OT09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuNzA6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNzA9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjcxOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjcxPT09YilyZXR1cm4gMTticmVhaztjYXNlXG43MjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY3Mj09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuNzM6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNzM9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2Vcbjc0OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjc0PT09YilyZXR1cm4gMTticmVhaztjYXNlXG43NTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY3NT09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuNzY6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNzY9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2Vcbjc3OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjc3PT09YilyZXR1cm4gMTticmVhaztjYXNlXG43ODppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY3OD09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuNzk6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNzk9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjgwOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjgwPT09YilyZXR1cm4gMTticmVhaztjYXNlXG44MTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY4MT09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuODI6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmODI9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjgzOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjgzPT09YilyZXR1cm4gMTticmVhaztjYXNlXG44NDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY4ND09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuODU6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmODU9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2Vcbjg2OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjg2PT09YilyZXR1cm4gMTticmVhaztjYXNlXG44NzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY4Nz09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuODg6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmODg9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2Vcbjg5OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjg5PT09YilyZXR1cm4gMTticmVhaztjYXNlXG45MDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY5MD09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuOTE6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmOTE9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjkyOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjkyPT09YilyZXR1cm4gMTticmVhaztjYXNlXG45MzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY5Mz09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuOTQ6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmOTQ9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2Vcbjk1OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjk1PT09YilyZXR1cm4gMTticmVhaztjYXNlXG45NjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY5Nj09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuOTc6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmOTc9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2Vcbjk4OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjk4PT09YilyZXR1cm4gMTticmVhaztjYXNlXG45OTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY5OT09PWIpcmV0dXJuIDE7YnJlYWs7ZGVmYXVsdDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZhbj09PWIpcmV0dXJuIDF9ZWxzZSBpZigzNDw9Yylzd2l0Y2goYyl7Y2FzZVxuMzQ6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMzQ9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjM1OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjM1PT09YilyZXR1cm4gMTticmVhaztjYXNlXG4zNjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYzNj09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMzc6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMzc9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjM4OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjM4PT09YilyZXR1cm4gMTticmVhaztjYXNlXG4zOTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYzOT09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuNDA6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNDA9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjQxOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjQxPT09YilyZXR1cm4gMTticmVhaztjYXNlXG40MjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY0Mj09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuNDM6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNDM9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjQ0OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjQ0PT09YilyZXR1cm4gMTticmVhaztjYXNlXG40NTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY0NT09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuNDY6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNDY9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjQ3OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjQ3PT09YilyZXR1cm4gMTticmVhaztjYXNlXG40ODppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY0OD09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuNDk6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNDk9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjUwOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjUwPT09YilyZXR1cm4gMTticmVhaztjYXNlXG41MTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY1MT09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuNTI6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNTI9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjUzOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjUzPT09YilyZXR1cm4gMTticmVhaztjYXNlXG41NDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY1ND09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuNTU6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNTU9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjU2OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjU2PT09YilyZXR1cm4gMTticmVhaztjYXNlXG41NzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY1Nz09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuNTg6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNTg9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjU5OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjU5PT09YilyZXR1cm4gMTticmVhaztjYXNlXG42MDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY2MD09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuNjE6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNjE9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjYyOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjYyPT09YilyZXR1cm4gMTticmVhaztjYXNlXG42MzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY2Mz09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuNjQ6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNjQ9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjY1OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjY1PT09YilyZXR1cm4gMTticmVhaztkZWZhdWx0OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjY2PT09YilyZXR1cm4gMX1lbHNlXG5zd2l0Y2goYyl7Y2FzZVxuMDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYhYilyZXR1cm4gMTticmVhaztjYXNlXG4xOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjE9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjI6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMj09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYzPT09YilyZXR1cm4gMTticmVhaztjYXNlXG40OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjQ9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjU6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNT09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuNjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY2PT09YilyZXR1cm4gMTticmVhaztjYXNlXG43OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjc9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2Vcbjg6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmOD09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuOTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY5PT09YilyZXR1cm4gMTticmVhaztjYXNlXG4xMDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYxMD09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMTE6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMTE9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjEyOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjEyPT09YilyZXR1cm4gMTticmVhaztjYXNlXG4xMzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYxMz09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMTQ6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMTQ9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjE1OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjE1PT09YilyZXR1cm4gMTticmVhaztjYXNlXG4xNjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYxNj09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMTc6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMTc9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjE4OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjE4PT09YilyZXR1cm4gMTticmVhaztjYXNlXG4xOTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYxOT09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMjA6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMjA9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjIxOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjIxPT09YilyZXR1cm4gMTticmVhaztjYXNlXG4yMjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYyMj09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMjM6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMjM9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjI0OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjI0PT09YilyZXR1cm4gMTticmVhaztjYXNlXG4yNTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYyNT09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMjY6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMjY9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjI3OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjI3PT09YilyZXR1cm4gMTticmVhaztjYXNlXG4yODppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYyOD09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMjk6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMjk9PT1iKXJldHVybiAxO2JyZWFrO2Nhc2VcbjMwOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjMwPT09YilyZXR1cm4gMTticmVhaztjYXNlXG4zMTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYzMT09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMzI6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMzI9PT1iKXJldHVybiAxO2JyZWFrO2RlZmF1bHQ6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMzM9PT1iKXJldHVybiAxfX1lbHNlXG5zd2l0Y2goYVswXSl7Y2FzZVxuMDppZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiYwPT09YlswXSl7dmFyXG5JPWJbMl0sSj1hWzJdLGw9aihiSVsxM10sYVsxXSxiWzFdKTtyZXR1cm4gbD9YKEosSSk6bH1icmVhaztjYXNlXG4xOmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjE9PT1iWzBdKXt2YXJcbks9YlsyXSxMPWFbMl0sbT1qKGJJWzEyXSxhWzFdLGJbMV0pO3JldHVybiBtP1goTCxLKTptfWJyZWFrO2Nhc2VcbjI6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmMj09PWJbMF0pe3ZhclxuZj1iWzFdLGc9YVsxXSxNPWZbNF0sTj1mWzNdLE89ZlsyXSxQPWdbNF0sUT1nWzNdLFI9Z1syXSxuPWooYklbMTFdLGdbMV0sZlsxXSksbz1uP1goUixPKTpuLHA9bz9YKFEsTik6bztyZXR1cm4gcD9QPT09TT8xOjA6cH1icmVhaztjYXNlXG4zOmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjM9PT1iWzBdKXt2YXJcbmQ9YlsxXSxlPWFbMV0sUz1kWzVdLFQ9ZFs0XSxVPWRbM10sVz1kWzJdLFk9ZVs1XSxaPWVbNF0sXz1lWzNdLCQ9ZVsyXSxxPWooYklbMTBdLGVbMV0sZFsxXSkscj1xP1goJCxXKTpxLHM9cj9YKF8sVSk6cix0PXM/Wj09PVQ/MTowOnM7cmV0dXJuIHQ/WT09PVM/MTowOnR9YnJlYWs7Y2FzZVxuNDppZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiY0PT09YlswXSl7dmFyXG5hYT1iWzNdLGFjPWJbMl0sYWQ9YVszXSxhZT1hWzJdLHU9aihiSVs5XSxhWzFdLGJbMV0pLHY9dT9YKGFlLGFjKTp1O3JldHVybiB2P1goYWQsYWEpOnZ9YnJlYWs7Y2FzZVxuNTppZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiY1PT09YlswXSl7dmFyXG5hZj1iWzNdLGFnPWJbMl0sYWg9YVszXSxhaj1hWzJdLHc9aihiSVs4XSxhWzFdLGJbMV0pLHg9dz9YKGFqLGFnKTp3O3JldHVybiB4P1goYWgsYWYpOnh9YnJlYWs7Y2FzZVxuNjppZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiY2PT09YlswXSl7dmFyXG5haz1iWzJdLGFsPWFbMl0seT1qKGJJWzddLGFbMV0sYlsxXSk7cmV0dXJuIHk/WChhbCxhayk6eX1icmVhaztjYXNlXG43OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjc9PT1iWzBdKXJldHVybiBYKGFbMV0sYlsxXSk7YnJlYWs7Y2FzZVxuODppZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiY4PT09YlswXSl7dmFyXG56PVgoYVsxXSxiWzFdKSxhbT1iWzJdLGFvPWFbMl07cmV0dXJuIHo/aihiSVs2XSxhbyxhbSk6en1icmVhaztjYXNlXG45OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjk9PT1iWzBdKXt2YXJcbmFwPWJbM10sYXE9YlsyXSxhcj1hWzNdLGFzPWFbMl0sQT1qKGJJWzVdLGFbMV0sYlsxXSksQj1BP1goYXMsYXEpOkE7cmV0dXJuIEI/WChhcixhcCk6Qn1icmVhaztjYXNlXG4xMDppZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiYxMD09PWJbMF0pe3ZhclxuYXQ9YlszXSxhdT1iWzJdLGF2PWFbM10sYXc9YVsyXSxDPWooYklbNF0sYVsxXSxiWzFdKSxEPUM/WChhdyxhdSk6QztyZXR1cm4gRD9YKGF2LGF0KTpEfWJyZWFrO2Nhc2VcbjExOmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjExPT09YlswXSlyZXR1cm4gaihiSVszXSxhWzFdLGJbMV0pO2JyZWFrO2Nhc2VcbjEyOmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjEyPT09YlswXSl7dmFyXG5heD1iWzNdLGF5PWJbMl0sYXo9YVszXSxhQj1hWzJdLEU9aihiSVsyXSxhWzFdLGJbMV0pLEY9RT9hQj09YXk/MTowOkU7cmV0dXJuIEY/WChheixheCk6Rn1icmVhaztkZWZhdWx0OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjEzPT09YlswXSl7dmFyXG5oPWJbMl0sRz1hWzJdLGFDPWJbM10sYUQ9YVszXSxIPWooYklbMV0sYVsxXSxiWzFdKTtpZihIKXthOntpZihHKXtpZihoKXt2YXJcbmk9a3QoR1sxXSxoWzFdKTticmVhayBhfX1lbHNlIGlmKCFoKXt2YXJcbmk9MTticmVhayBhfXZhclxuaT0wfXZhclxuaz1pfWVsc2VcbnZhclxuaz1IO3JldHVybiBrP1goYUQsYUMpOmt9fXJldHVybiAwfWZ1bmN0aW9uXG5HbShhLGIpe3N3aXRjaChhKXtjYXNlXG4wOmlmKCFiKXJldHVybiAxO2JyZWFrO2Nhc2VcbjE6aWYoMT09PWIpcmV0dXJuIDE7YnJlYWs7Y2FzZVxuMjppZigyPT09YilyZXR1cm4gMTticmVhaztjYXNlXG4zOmlmKDM9PT1iKXJldHVybiAxO2JyZWFrO2RlZmF1bHQ6aWYoNDw9YilyZXR1cm4gMX1yZXR1cm4gMH1mdW5jdGlvblxuR24oYSxiKXtzd2l0Y2goYSl7Y2FzZVxuMDppZighYilyZXR1cm4gMTticmVhaztjYXNlXG4xOmlmKDE9PT1iKXJldHVybiAxO2JyZWFrO2RlZmF1bHQ6aWYoMjw9YilyZXR1cm4gMX1yZXR1cm4gMH1hKGJJLFswLEduLEdtLGZ1bmN0aW9uKGEsYil7aWYoYSl7aWYoYilyZXR1cm4gMX1lbHNlIGlmKCFiKXJldHVybiAxO3JldHVybiAwfSxpZyxpZyxpZyxpZyxpZyxpZyxpZyxpZyxHbixHbV0pO2Z1bmN0aW9uXG5HbyhhKXtpZih0eXBlb2ZcbmEhPT1cIm51bWJlclwiKXN3aXRjaChhWzBdKXtjYXNlXG4wOnJldHVybiBYTztjYXNlXG4xOnJldHVybiBYUDtjYXNlXG4yOnJldHVybiBYUTtjYXNlXG4zOnJldHVybiBYUjtjYXNlXG40OnJldHVybiBYUztjYXNlXG41OnJldHVybiBYVDtjYXNlXG42OnJldHVybiBYVTtjYXNlXG43OnJldHVybiBYVjtjYXNlXG44OnJldHVybiBYVztjYXNlXG45OnJldHVybiBYWDtjYXNlXG4xMDpyZXR1cm4gWFk7Y2FzZVxuMTE6cmV0dXJuIFhaO2Nhc2VcbjEyOnJldHVybiBYMDtkZWZhdWx0OnJldHVybiBYMX12YXJcbmI9YTtpZig2Nzw9Yil7aWYoYnQ8PWIpc3dpdGNoKGIpe2Nhc2VcbjEwMTpyZXR1cm4gWGg7Y2FzZVxuMTAyOnJldHVybiBYaTtjYXNlXG4xMDM6cmV0dXJuIFhqO2Nhc2VcbjEwNDpyZXR1cm4gWGs7Y2FzZVxuMTA1OnJldHVybiBYbDtjYXNlXG4xMDY6cmV0dXJuIFhtO2Nhc2VcbjEwNzpyZXR1cm4gWG47Y2FzZVxuMTA4OnJldHVybiBYbztjYXNlXG4xMDk6cmV0dXJuIFhwO2Nhc2VcbjExMDpyZXR1cm4gWHE7Y2FzZVxuMTExOnJldHVybiBYcjtjYXNlXG4xMTI6cmV0dXJuIFhzO2Nhc2VcbjExMzpyZXR1cm4gWHQ7Y2FzZVxuMTE0OnJldHVybiBYdTtjYXNlXG4xMTU6cmV0dXJuIFh2O2Nhc2VcbjExNjpyZXR1cm4gWHc7Y2FzZVxuMTE3OnJldHVybiBYeDtjYXNlXG4xMTg6cmV0dXJuIFh5O2Nhc2VcbjExOTpyZXR1cm4gWHo7Y2FzZVxuMTIwOnJldHVybiBYQTtjYXNlXG4xMjE6cmV0dXJuIFhCO2Nhc2VcbjEyMjpyZXR1cm4gWEM7Y2FzZVxuMTIzOnJldHVybiBYRDtjYXNlXG4xMjQ6cmV0dXJuIFhFO2Nhc2VcbjEyNTpyZXR1cm4gWEY7Y2FzZVxuMTI2OnJldHVybiBYRztjYXNlXG4xMjc6cmV0dXJuIFhIO2Nhc2VcbjEyODpyZXR1cm4gWEk7Y2FzZVxuMTI5OnJldHVybiBYSjtjYXNlXG4xMzA6cmV0dXJuIFhLO2Nhc2VcbjEzMTpyZXR1cm4gWEw7Y2FzZVxuMTMyOnJldHVybiBYTTtkZWZhdWx0OnJldHVybiBYTn1zd2l0Y2goYil7Y2FzZVxuNjc6cmV0dXJuIFdMO2Nhc2VcbjY4OnJldHVybiBXTTtjYXNlXG42OTpyZXR1cm4gV047Y2FzZVxuNzA6cmV0dXJuIFdPO2Nhc2VcbjcxOnJldHVybiBXUDtjYXNlXG43MjpyZXR1cm4gV1E7Y2FzZVxuNzM6cmV0dXJuIFdSO2Nhc2Vcbjc0OnJldHVybiBXUztjYXNlXG43NTpyZXR1cm4gV1Q7Y2FzZVxuNzY6cmV0dXJuIFdVO2Nhc2Vcbjc3OnJldHVybiBXVjtjYXNlXG43ODpyZXR1cm4gV1c7Y2FzZVxuNzk6cmV0dXJuIFdYO2Nhc2VcbjgwOnJldHVybiBXWTtjYXNlXG44MTpyZXR1cm4gV1o7Y2FzZVxuODI6cmV0dXJuIFcwO2Nhc2VcbjgzOnJldHVybiBXMTtjYXNlXG44NDpyZXR1cm4gVzI7Y2FzZVxuODU6cmV0dXJuIFczO2Nhc2Vcbjg2OnJldHVybiBXNDtjYXNlXG44NzpyZXR1cm4gVzU7Y2FzZVxuODg6cmV0dXJuIFc2O2Nhc2Vcbjg5OnJldHVybiBXNztjYXNlXG45MDpyZXR1cm4gVzg7Y2FzZVxuOTE6cmV0dXJuIFc5O2Nhc2VcbjkyOnJldHVybiBXXztjYXNlXG45MzpyZXR1cm4gVyQ7Y2FzZVxuOTQ6cmV0dXJuIFhhO2Nhc2Vcbjk1OnJldHVybiBYYjtjYXNlXG45NjpyZXR1cm4gWGM7Y2FzZVxuOTc6cmV0dXJuIFhkO2Nhc2Vcbjk4OnJldHVybiBYZTtjYXNlXG45OTpyZXR1cm4gWGY7ZGVmYXVsdDpyZXR1cm4gWGd9fWlmKDM0PD1iKXN3aXRjaChiKXtjYXNlXG4zNDpyZXR1cm4gV2U7Y2FzZVxuMzU6cmV0dXJuIFdmO2Nhc2VcbjM2OnJldHVybiBXZztjYXNlXG4zNzpyZXR1cm4gV2g7Y2FzZVxuMzg6cmV0dXJuIFdpO2Nhc2VcbjM5OnJldHVybiBXajtjYXNlXG40MDpyZXR1cm4gV2s7Y2FzZVxuNDE6cmV0dXJuIFdsO2Nhc2VcbjQyOnJldHVybiBXbTtjYXNlXG40MzpyZXR1cm4gV247Y2FzZVxuNDQ6cmV0dXJuIFdvO2Nhc2VcbjQ1OnJldHVybiBXcDtjYXNlXG40NjpyZXR1cm4gV3E7Y2FzZVxuNDc6cmV0dXJuIFdyO2Nhc2VcbjQ4OnJldHVybiBXcztjYXNlXG40OTpyZXR1cm4gV3Q7Y2FzZVxuNTA6cmV0dXJuIFd1O2Nhc2VcbjUxOnJldHVybiBXdjtjYXNlXG41MjpyZXR1cm4gV3c7Y2FzZVxuNTM6cmV0dXJuIFd4O2Nhc2VcbjU0OnJldHVybiBXeTtjYXNlXG41NTpyZXR1cm4gV3o7Y2FzZVxuNTY6cmV0dXJuIFdBO2Nhc2VcbjU3OnJldHVybiBXQjtjYXNlXG41ODpyZXR1cm4gV0M7Y2FzZVxuNTk6cmV0dXJuIFdEO2Nhc2VcbjYwOnJldHVybiBXRTtjYXNlXG42MTpyZXR1cm4gV0Y7Y2FzZVxuNjI6cmV0dXJuIFdHO2Nhc2VcbjYzOnJldHVybiBXSDtjYXNlXG42NDpyZXR1cm4gV0k7Y2FzZVxuNjU6cmV0dXJuIFdKO2RlZmF1bHQ6cmV0dXJuIFdLfXN3aXRjaChiKXtjYXNlXG4wOnJldHVybiBWSTtjYXNlXG4xOnJldHVybiBWSjtjYXNlXG4yOnJldHVybiBWSztjYXNlXG4zOnJldHVybiBWTDtjYXNlXG40OnJldHVybiBWTTtjYXNlXG41OnJldHVybiBWTjtjYXNlXG42OnJldHVybiBWTztjYXNlXG43OnJldHVybiBWUDtjYXNlXG44OnJldHVybiBWUTtjYXNlXG45OnJldHVybiBWUjtjYXNlXG4xMDpyZXR1cm4gVlM7Y2FzZVxuMTE6cmV0dXJuIFZUO2Nhc2VcbjEyOnJldHVybiBWVTtjYXNlXG4xMzpyZXR1cm4gVlY7Y2FzZVxuMTQ6cmV0dXJuIFZXO2Nhc2VcbjE1OnJldHVybiBWWDtjYXNlXG4xNjpyZXR1cm4gVlk7Y2FzZVxuMTc6cmV0dXJuIFZaO2Nhc2VcbjE4OnJldHVybiBWMDtjYXNlXG4xOTpyZXR1cm4gVjE7Y2FzZVxuMjA6cmV0dXJuIFYyO2Nhc2VcbjIxOnJldHVybiBWMztjYXNlXG4yMjpyZXR1cm4gVjQ7Y2FzZVxuMjM6cmV0dXJuIFY1O2Nhc2VcbjI0OnJldHVybiBWNjtjYXNlXG4yNTpyZXR1cm4gVjc7Y2FzZVxuMjY6cmV0dXJuIFY4O2Nhc2VcbjI3OnJldHVybiBWOTtjYXNlXG4yODpyZXR1cm4gVl87Y2FzZVxuMjk6cmV0dXJuIFYkO2Nhc2VcbjMwOnJldHVybiBXYTtjYXNlXG4zMTpyZXR1cm4gV2I7Y2FzZVxuMzI6cmV0dXJuIFdjO2RlZmF1bHQ6cmV0dXJuIFdkfX1mdW5jdGlvblxucjIoYSl7aWYodHlwZW9mXG5hIT09XCJudW1iZXJcIilzd2l0Y2goYVswXSl7Y2FzZVxuMDpyZXR1cm4gYVsyXTtjYXNlXG4xOnJldHVybiBhWzJdO2Nhc2VcbjI6cmV0dXJuIGFbMV1bM107Y2FzZVxuMzp2YXJcbmQ9YVsxXSxlPWRbNV0sZj1kWzRdLGM9ZFszXTtpZihmJiZlKXJldHVybiBKKFo5LEooYyxaOCkpO3JldHVybiBmP0ooWiQsSihjLFpfKSk6ZT9KKF9iLEooYyxfYSkpOkooX2QsSihjLF9jKSk7Y2FzZVxuNDpyZXR1cm4gYVszXTtjYXNlXG41OnZhclxuZz1hWzJdO3JldHVybiBKKF9mLEooZyxKKF9lLGFbM10pKSk7Y2FzZVxuNjpyZXR1cm4gYVsyXTtjYXNlXG43OnJldHVybiBhWzFdO2Nhc2Vcbjg6cmV0dXJuIGFbMV07Y2FzZVxuOTpyZXR1cm4gYVszXTtjYXNlXG4xMDpyZXR1cm4gYVszXTtjYXNlXG4xMTpyZXR1cm4gYVsxXT9fZzpfaDtjYXNlXG4xMjpyZXR1cm4gYVszXTtkZWZhdWx0OnJldHVybiBhWzNdfXZhclxuYj1hO2lmKDY3PD1iKXtpZihidDw9Yilzd2l0Y2goYil7Y2FzZVxuMTAxOnJldHVybiBaQjtjYXNlXG4xMDI6cmV0dXJuIFpDO2Nhc2VcbjEwMzpyZXR1cm4gWkQ7Y2FzZVxuMTA0OnJldHVybiBaRTtjYXNlXG4xMDU6cmV0dXJuIFpGO2Nhc2VcbjEwNjpyZXR1cm4gWkc7Y2FzZVxuMTA3OnJldHVybiBaSDtjYXNlXG4xMDg6cmV0dXJuIFpJO2Nhc2VcbjEwOTpyZXR1cm4gWko7Y2FzZVxuMTEwOnJldHVybiBaSztjYXNlXG4xMTE6cmV0dXJuIFpMO2Nhc2VcbjExMjpyZXR1cm4gWk07Y2FzZVxuMTEzOnJldHVybiBaTjtjYXNlXG4xMTQ6cmV0dXJuIFpPO2Nhc2VcbjExNTpyZXR1cm4gWlA7Y2FzZVxuMTE2OnJldHVybiBaUTtjYXNlXG4xMTc6cmV0dXJuIFpSO2Nhc2VcbjExODpyZXR1cm4gWlM7Y2FzZVxuMTE5OnJldHVybiBaVDtjYXNlXG4xMjA6cmV0dXJuIFpVO2Nhc2VcbjEyMTpyZXR1cm4gWlY7Y2FzZVxuMTIyOnJldHVybiBaVztjYXNlXG4xMjM6cmV0dXJuIFpYO2Nhc2VcbjEyNDpyZXR1cm4gWlk7Y2FzZVxuMTI1OnJldHVybiBaWjtjYXNlXG4xMjY6cmV0dXJuIFowO2Nhc2VcbjEyNzpyZXR1cm4gWjE7Y2FzZVxuMTI4OnJldHVybiBaMjtjYXNlXG4xMjk6cmV0dXJuIFozO2Nhc2VcbjEzMDpyZXR1cm4gWjQ7Y2FzZVxuMTMxOnJldHVybiBaNTtjYXNlXG4xMzI6cmV0dXJuIFo2O2RlZmF1bHQ6cmV0dXJuIFo3fXN3aXRjaChiKXtjYXNlXG42NzpyZXR1cm4gWTU7Y2FzZVxuNjg6cmV0dXJuIFk2O2Nhc2VcbjY5OnJldHVybiBZNztjYXNlXG43MDpyZXR1cm4gWTg7Y2FzZVxuNzE6cmV0dXJuIFk5O2Nhc2VcbjcyOnJldHVybiBZXztjYXNlXG43MzpyZXR1cm4gWSQ7Y2FzZVxuNzQ6cmV0dXJuIFphO2Nhc2Vcbjc1OnJldHVybiBaYjtjYXNlXG43NjpyZXR1cm4gWmM7Y2FzZVxuNzc6cmV0dXJuIFpkO2Nhc2Vcbjc4OnJldHVybiBaZTtjYXNlXG43OTpyZXR1cm4gWmY7Y2FzZVxuODA6cmV0dXJuIFpnO2Nhc2VcbjgxOnJldHVybiBaaDtjYXNlXG44MjpyZXR1cm4gWmk7Y2FzZVxuODM6cmV0dXJuIFpqO2Nhc2Vcbjg0OnJldHVybiBaaztjYXNlXG44NTpyZXR1cm4gWmw7Y2FzZVxuODY6cmV0dXJuIFptO2Nhc2Vcbjg3OnJldHVybiBabjtjYXNlXG44ODpyZXR1cm4gWm87Y2FzZVxuODk6cmV0dXJuIFpwO2Nhc2VcbjkwOnJldHVybiBacTtjYXNlXG45MTpyZXR1cm4gWnI7Y2FzZVxuOTI6cmV0dXJuIFpzO2Nhc2VcbjkzOnJldHVybiBadDtjYXNlXG45NDpyZXR1cm4gWnU7Y2FzZVxuOTU6cmV0dXJuIFp2O2Nhc2Vcbjk2OnJldHVybiBadztjYXNlXG45NzpyZXR1cm4gWng7Y2FzZVxuOTg6cmV0dXJuIFp5O2Nhc2Vcbjk5OnJldHVybiBaejtkZWZhdWx0OnJldHVybiBaQX19aWYoMzQ8PWIpc3dpdGNoKGIpe2Nhc2VcbjM0OnJldHVybiBZeTtjYXNlXG4zNTpyZXR1cm4gWXo7Y2FzZVxuMzY6cmV0dXJuIFlBO2Nhc2VcbjM3OnJldHVybiBZQjtjYXNlXG4zODpyZXR1cm4gWUM7Y2FzZVxuMzk6cmV0dXJuIFlEO2Nhc2VcbjQwOnJldHVybiBZRTtjYXNlXG40MTpyZXR1cm4gWUY7Y2FzZVxuNDI6cmV0dXJuIFlHO2Nhc2VcbjQzOnJldHVybiBZSDtjYXNlXG40NDpyZXR1cm4gWUk7Y2FzZVxuNDU6cmV0dXJuIFlKO2Nhc2VcbjQ2OnJldHVybiBZSztjYXNlXG40NzpyZXR1cm4gWUw7Y2FzZVxuNDg6cmV0dXJuIFlNO2Nhc2VcbjQ5OnJldHVybiBZTjtjYXNlXG41MDpyZXR1cm4gWU87Y2FzZVxuNTE6cmV0dXJuIFlQO2Nhc2VcbjUyOnJldHVybiBZUTtjYXNlXG41MzpyZXR1cm4gWVI7Y2FzZVxuNTQ6cmV0dXJuIFlTO2Nhc2VcbjU1OnJldHVybiBZVDtjYXNlXG41NjpyZXR1cm4gWVU7Y2FzZVxuNTc6cmV0dXJuIFlWO2Nhc2VcbjU4OnJldHVybiBZVztjYXNlXG41OTpyZXR1cm4gWVg7Y2FzZVxuNjA6cmV0dXJuIFlZO2Nhc2VcbjYxOnJldHVybiBZWjtjYXNlXG42MjpyZXR1cm4gWTA7Y2FzZVxuNjM6cmV0dXJuIFkxO2Nhc2VcbjY0OnJldHVybiBZMjtjYXNlXG42NTpyZXR1cm4gWTM7ZGVmYXVsdDpyZXR1cm4gWTR9c3dpdGNoKGIpe2Nhc2VcbjA6cmV0dXJuIFgyO2Nhc2VcbjE6cmV0dXJuIFgzO2Nhc2VcbjI6cmV0dXJuIFg0O2Nhc2VcbjM6cmV0dXJuIFg1O2Nhc2VcbjQ6cmV0dXJuIFg2O2Nhc2VcbjU6cmV0dXJuIFg3O2Nhc2VcbjY6cmV0dXJuIFg4O2Nhc2Vcbjc6cmV0dXJuIFg5O2Nhc2Vcbjg6cmV0dXJuIFhfO2Nhc2Vcbjk6cmV0dXJuIFgkO2Nhc2VcbjEwOnJldHVybiBZYTtjYXNlXG4xMTpyZXR1cm4gWWI7Y2FzZVxuMTI6cmV0dXJuIFljO2Nhc2VcbjEzOnJldHVybiBZZDtjYXNlXG4xNDpyZXR1cm4gWWU7Y2FzZVxuMTU6cmV0dXJuIFlmO2Nhc2VcbjE2OnJldHVybiBZZztjYXNlXG4xNzpyZXR1cm4gWWg7Y2FzZVxuMTg6cmV0dXJuIFlpO2Nhc2VcbjE5OnJldHVybiBZajtjYXNlXG4yMDpyZXR1cm4gWWs7Y2FzZVxuMjE6cmV0dXJuIFlsO2Nhc2VcbjIyOnJldHVybiBZbTtjYXNlXG4yMzpyZXR1cm4gWW47Y2FzZVxuMjQ6cmV0dXJuIFlvO2Nhc2VcbjI1OnJldHVybiBZcDtjYXNlXG4yNjpyZXR1cm4gWXE7Y2FzZVxuMjc6cmV0dXJuIFlyO2Nhc2VcbjI4OnJldHVybiBZcztjYXNlXG4yOTpyZXR1cm4gWXQ7Y2FzZVxuMzA6cmV0dXJuIFl1O2Nhc2VcbjMxOnJldHVybiBZdjtjYXNlXG4zMjpyZXR1cm4gWXc7ZGVmYXVsdDpyZXR1cm4gWXh9fWZ1bmN0aW9uXG5tcihhKXtyZXR1cm4gaShSKF9pKSxhKX1mdW5jdGlvblxucjMoYSxiKXt2YXJcbmU9YT9hWzFdOjA7YTp7aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIil7aWYoVj09PWIpe3ZhclxuZD1fbCxjPV9tO2JyZWFrIGF9fWVsc2VcbnN3aXRjaChiWzBdKXtjYXNlXG4zOnZhclxuZD1fdCxjPV91O2JyZWFrIGE7Y2FzZVxuNTp2YXJcbmQ9X3gsYz1feTticmVhayBhO2Nhc2VcbjA6Y2FzZVxuMTI6dmFyXG5kPV9uLGM9X287YnJlYWsgYTtjYXNlXG4xOmNhc2VcbjEzOnZhclxuZD1fcCxjPV9xO2JyZWFrIGE7Y2FzZVxuNDpjYXNlXG44OnZhclxuZD1fdixjPV93O2JyZWFrIGE7Y2FzZVxuNjpjYXNlXG43OmNhc2VcbjExOmJyZWFrO2RlZmF1bHQ6dmFyXG5kPV9yLGM9X3M7YnJlYWsgYX12YXJcbmQ9X2osYz1tcihyMihiKSl9cmV0dXJuIGU/SihkLEooX2ssYykpOmN9ZnVuY3Rpb25cbl96KGEpe3JldHVybiBqYzxhP0JKPGE/LTE6dGw8YT9vZDxhP0I2PGE/eGs8YT91WjxhPzE6ODp0NTxhP3pfPGE/eF88YT8xOjg6dGs8YT8xOjg6ejI8YT96SjxhPzE6ODp4UTxhPzE6ODpvNDxhP282PGE/bjk8YT9vYjxhP25QPGE/b008YT9BcTxhPzE6ODpBVDxhPzE6ODp2UjxhP3g2PGE/MTo4OnlxPGE/MTo4Om9WPGE/cGc8YT93RTxhPzE6ODpweTxhPzE6ODpvSTxhP0NVPGE/MTo4OkRvPGE/MTo4OnFOPGE/RWU8YT9vZjxhP3h0PGE/MTo4OnhpPGE/MTo4OnBWPGE/b3E8YT8xOjg6emc8YT8xOjg6bkE8YT9wVzxhP3F2PGE/MTo4OnFQPGE/MTo4Om9MPGE/cXA8YT8xOjg6cUk8YT8xOjg6REg8YT9wWTxhP3AkPGE/eGg8YT9vRzxhPzE6ODpuRDxhPzE6ODpuWjxhP3ZoPGE/MTo4OkRrPGE/MTo4Om5fPGE/cW88YT9wOTxhPzE6ODpvazxhPzE6ODp0YTxhP3AzPGE/MTo4Om55PGE/MTo4Om9FPGE/b0g8YT9vQjxhP24kPGE/MTo4OnBjPGE/MTo4Om9oPGE/ejk8YT8xOjg6QjU8YT8xOjg6cDc8YT9zJDxhP3FoPGE/MTo4Om9nPGE/MTo4OnFtPGE/Q3c8YT8xOjg6QVY8YT8xOjg6d3E8YT91JDxhP0FLPGE/dkI8YT9ESjxhP3ZNPGE/MTo4OnV3PGE/MTo4OnlUPGE/djE8YT8xOjg6Qmo8YT8xOjg6dTU8YT92cTxhP3lGPGE/MTo4OnRiPGE/MTo4OnZ4PGE/RWw8YT8xOjg6dWw8YT8xOjg6dWo8YT92ajxhP3RyPGE/Qkw8YT8xOjg6eUE8YT8xOjg6RE88YT9xVjxhPzE6ODp0czxhPzE6ODp2VjxhP0J5PGE/RHk8YT8xOjg6MTo4OnA1PGE/blI8YT9vJDxhP29YPGE/dW88YT8xOjg6Q248YT8xOjg6b2M8YT9BajxhPzE6ODp4ZDxhPzE6ODpwejxhP281PGE/czk8YT8xOjg6dkc8YT8xOjg6cEo8YT92aTxhPzE6ODpBZTxhPzE6ODpvcDxhP3FPPGE/cXk8YT91TDxhPzE6ODpBWjxhPzE6ODp5bjxhP0NZPGE/MTo4OnUwPGE/MTo4Om9TPGE/dDY8YT93WDxhPzE6ODpuWDxhPzE6ODpwcDxhP0Q1PGE/MTo4OnZaPGE/MTo4OkVkPGE/bkc8YT94eTxhP3BhPGE/cGI8YT9xUTxhP292PGE/RHo8YT8xOjg6emg8YT8xOjg6dXU8YT91YjxhPzE6ODp5SjxhPzE6ODpxczxhP3FFPGE/eE08YT8xOjg6d2Y8YT8xOjg6cGo8YT9vRjxhPzE6ODpEcjxhPzE6ODpuMTxhP3l3PGE/Q008YT9EQzxhPzE6ODp1czxhPzE6ODp2NzxhP25WPGE/MTo4OndOPGE/MTo4OkNCPGE/b2U8YT93UDxhPzE6ODp6RzxhPzE6ODp2SzxhP3okPGE/MTo4OkR0PGE/MTo4OkFHPGE/eEM8YT9EVDxhP3ppPGE/QnI8YT8xOjg6RFE8YT8xOjg6eDA8YT9BaDxhPzE6ODpBWDxhPzE6ODpCdjxhP3U0PGE/Q1A8YT8xOjg6d2s8YT8xOjg6REU8YT96dDxhPzE6ODpBYTxhPzE6ODpBdzxhP3pLPGE/dDk8YT95aDxhPzE6ODp3VTxhPzE6ODp6ZTxhP0JrPGE/MTo4OndZPGE/MTo4OnQ0PGE/bzA8YT9wWjxhPzE6ODpEdzxhPzE6ODpBUjxhP3pqPGE/MTo4OkRsPGE/MTo4OnZKPGE/eTI8YT9EcTxhP3l1PGE/QlA8YT9BazxhPzE6ODp0djxhPzE6ODp1QzxhP0NyPGE/MTo4OkNRPGE/MTo4OnZkPGE/eFI8YT92STxhPzE6ODp0VDxhPzE6ODp1RDxhP0J3PGE/MTo4OkFpPGE/MTo4OnRQPGE/Qng8YT9BNzxhP3d3PGE/MTo4OndRPGE/MTo4OkNmPGE/dHA8YT8xOjg6emE8YT8xOjg6eUw8YT90MjxhP0NPPGE/MTo4OkRlPGE/MTo4OnY5PGE/dEU8YT8xOjg6eTM8YT8xOjg6cGQ8YT9uSDxhP3cyPGE/d2Q8YT93aTxhPzE6ODp3RDxhPzE6ODp6UDxhP3VOPGE/MTo4OnpuPGE/MTo4OnlPPGE/b0o8YT96czxhPzE6ODp6bzxhPzE6ODpBcjxhP0N6PGE/MTo4OnR6PGE/MTo4OngxPGE/Q2o8YT9uUzxhP3lXPGE/MTo4OnZiPGE/MTo4OnhCPGE/eEc8YT8xOjg6QzA8YT8xOjg6dWs8YT9vczxhP3pjPGE/MTo4OnVXPGE/MTo4OkE2PGE/Q3Q8YT8xOjg6cUI8YT8xOjg6QlE8YT9BSDxhP3R1PGE/QTA8YT90MzxhP3dBPGE/eHg8YT8xOjg6cEc8YT8xOjg6dTY8YT93RzxhPzE6ODp4bDxhPzE6ODpwdzxhP3o3PGE/cUc8YT8xOjg6cGY8YT8xOjg6d3I8YT9BMTxhPzE6ODpDMTxhPzE6ODpCbDxhP0FjPGE/QzI8YT93YTxhPzE6ODp5SzxhPzE6ODp3ZTxhP0NEPGE/MTo4OnYzPGE/MTo4OkQ3PGE/Qmg8YT9CWTxhPzE6ODp1UjxhPzE6ODpCODxhP3pFPGE/MTo4OnVyPGE/MTo4OkRBPGE/djU8YT95eDxhP3hGPGE/dnc8YT8xOjg6eXI8YT8xOjg6Qkc8YT94bjxhPzE6ODp1dDxhPzE6ODp3MTxhP3VCPGE/QjQ8YT8xOjg6eGc8YT8xOjg6dVM8YT9wQjxhPzE6ODpCbjxhPzE6ODpDVjxhP3RfPGE/ejU8YT9DbTxhPzE6ODp4ODxhPzE6ODpxZTxhP29SPGE/MTo4OkNkPGE/MTo4Om8yPGE/dHg8YT9BMzxhPzE6ODp1UDxhPzE6ODpBSjxhP3hxPGE/MTo4OkRWPGE/MTo4OnBoPGE/QlI8YT9wbDxhP0NGPGE/QUk8YT95VTxhPzE6ODpxUjxhPzE6ODp6VjxhP3VtPGE/MTo4Onk1PGE/MTo4Om9yPGE/bk88YT90VTxhPzE6ODpCSTxhPzE6ODpCQTxhP3hhPGE/MTo4OkVuPGE/MTo4Om5GPGE/eFk8YT9vXzxhP0NXPGE/MTo4OkFRPGE/MTo4OnBrPGE/dFY8YT8xOjg6QnM8YT8xOjg6cWo8YT9wSTxhP0QwPGE/MTo4Om5RPGE/MTo4OkNpPGE/ems8YT8xOjg6eng8YT8xOjg6d088YT9BYjxhP25FPGE/eFU8YT92djxhPzE6ODpxQzxhPzE6ODpEVzxhP3htPGE/MTo4OkJhPGE/MTo4OnVIPGE/RWM8YT94ajxhPzE6ODpxZDxhPzE6ODp0VzxhP0RoPGE/MTo4OnBLPGE/MTo4OnRIPGE/dnM8YT95aTxhP3BYPGE/MTo4OkRQPGE/MTo4OngzPGE/elc8YT8xOjg6elo8YT8xOjg6bno8YT9FbzxhP3V2PGE/MTo4Onl6PGE/MTo4OnlIPGE/QWQ8YT8xOjg6d1M8YT8xOjg6QXM8YT91cTxhP0FuPGE/cHg8YT93ejxhP0NhPGE/dGg8YT9CSDxhP3VNPGE/MTo4OkNSPGE/MTo4Onl2PGE/Q0w8YT8xOjg6cWc8YT8xOjg6elU8YT96ejxhP0JVPGE/MTo4OnRjPGE/MTo4OkM0PGE/djI8YT8xOjg6dlk8YT8xOjg6QjA8YT92RTxhP3lDPGE/Qmk8YT8xOjg6QjE8YT8xOjg6d2o8YT92WDxhPzE6ODpFYTxhPzE6ODpBdjxhP3d4PGE/dGk8YT8xOjg6RWo8YT8xOjg6dHc8YT94ZjxhPzE6ODp2MDxhPzE6ODp5UzxhP3BvPGE/dDA8YT90dDxhP3pTPGE/MTo4OnZVPGE/MTo4OnhPPGE/QXg8YT8xOjg6eWI8YT8xOjg6Qm08YT9wRTxhP3hWPGE/MTo4OkJUPGE/MTo4OkJWPGE/b2w8YT8xOjg6QUQ8YT8xOjg6b2E8YT92ZzxhP3NfPGE/dTM8YT8xOjg6Q3M8YT8xOjg6d2w8YT9BQTxhPzE6ODp5UjxhPzE6ODp6MzxhP3ROPGE/dUk8YT8xOjg6RWk8YT8xOjg6RWI8YT9FZjxhPzE6ODp4OTxhPzE6ODp6ZjxhP3lwPGE/RF88YT9udzxhP3ZUPGE/bk48YT8xOjg6dzc8YT8xOjg6cUg8YT92ZjxhPzE6ODpvMTxhPzE6ODp3MDxhP0NvPGE/d008YT8xOjg6dyQ8YT8xOjg6QTI8YT9BZjxhPzE6ODp5STxhPzE6ODp1YzxhP3hTPGE/dGU8YT93bzxhPzE6ODpDOTxhPzE6ODp4NDxhP0NLPGE/MTo4OkVnPGE/MTo4OkQ4PGE/Q3g8YT9BZzxhPzE6ODp0WjxhPzE6ODp6bTxhP0RVPGE/MTo4OkF6PGE/MTo4OnRCPGE/d0k8YT94YzxhP3dwPGE/ekY8YT8xOjg6RDE8YT8xOjg6dzg8YT9FbTxhPzE6ODpEJDxhPzE6ODpEWDxhP3ZfPGE/QkY8YT8xOjg6dFE8YT8xOjg6Q0M8YT96RDxhPzE6ODoxOndLPGE/bng8YT94cDxhPzg6eXQ8YT8xOjg6d1Q8YT90ODxhPzE6ODpDZzxhPzE6ODp2bDxhP0JaPGE/enA8YT8xOjg6RHY8YT8xOjg6dXA8YT8xOjg6cDQ8YT96eTxhP3hiPGE/QkI8YT95bTxhPzg6QXQ8YT92YTxhPzE6ODp1UTxhPzE6ODp3NjxhP3lRPGE/dEY8YT8xOjg6QjI8YT8xOjg6QmI8YT9CVzxhPzE6ODpDVDxhPzE6ODpwODxhP29ZPGE/cE08YT94UDxhPzE6ODpDYzxhPzE6ODpvRDxhP3lNPGE/MTo4Onp3PGE/MTo4OnpMPGE/b3k8YT9CcTxhPzE6ODp5MDxhPzE6ODpETjxhP3dtPGE/MTo4OnZyPGE/MTo4OkJOPGE/eTg8YT90TDxhP3Z0PGE/Q0E8YT8xOjg6MTo4OkNxPGE/ODpuSjxhP3RPPGE/MTo4OngyPGE/MTo4OkJwPGE/cWE8YT9qdjxhP2k2PGE/MToyOkE1PGE/MTo4Onp1PGE/dzQ8YT8xOjg6dWg8YT8xOjg6d0w8YT90bjxhP3c5PGE/MTo4OkRHPGE/MTo4OkQyPGE/RGk8YT8xOjg6emw8YT8xOjg6eEk8YT90bzxhP29LPGE/bjY8YT9wXzxhP3Z5PGE/MTo4OkM1PGE/MTo4Om96PGE/b1Q8YT8xOjg6eTc8YT8xOjg6dUY8YT9xVDxhP0Q0PGE/MTo4OnhKPGE/MTo4Ond5PGE/cUo8YT8xOjg6eWo8YT8xOjg6dGc8YT92ejxhP3ZRPGE/eVo8YT8xOjg6eGU8YT8xOjg6dUs8YT94TjxhPzE6ODp4RTxhPzE6ODpDMzxhP3lZPGE/QTQ8YT8xOjg6eDc8YT8xOjg6elI8YT8xOjg6dEc8YT9vTjxhP3AwPGE/QW08YT8xOjg6bk08YT84OkRwPGE/MTo4OkRiPGE/b3g8YT9CRDxhPzE6ODp5VjxhPzE6ODp1VTxhP3ZOPGE/MTo4OnVpPGE/MTo4OnlYPGE/d2c8YT9DNjxhP0I5PGE/MTo4OjE6QWw8YT84OnpPPGE/MTo4OnREPGE/eWQ8YT8xOjg6dHk8YT93dDxhPzE6ODp4JDxhPzE6ODpEczxhP25UPGE/emQ8YT9CZTxhP3o0PGE/dHE8YT96ODxhP3VkPGE/MTo4OnZrPGE/MTo4OkFDPGE/QyQ8YT8xOjg6dDc8YT8xOjg6Q2I8YT93RjxhP3FxPGE/MTo4OjE6ODp6djxhP3hMPGE/dlc8YT91bjxhPzE6ODp0QzxhPzE6ODpxUzxhP3h2PGE/MTo4OnY0PGE/MTo4OnhUPGE/QmM8YT8xOjg6eWU8YT94WDxhPzE6ODpwcTxhPzE6ODpBXzxhP3VnPGE/dUo8YT93dTxhP3dzPGE/MTo4OkF5PGE/MTo4OnRJPGE/d0o8YT8xOjg6QnU8YT8xOjg6dG08YT9uWTxhP3h1PGE/MTo4Om9VPGE/MTo4OnVPPGE/dUE8YT8xOjg6RHg8YT8xOjg6ejE8YT94RDxhP3lOPGE/Q1M8YT8xOjg6REQ8YT8xOjg6dWY8YT9EMzxhPzE6ODp5YTxhPzE6ODp2TzxhP3ZtPGE/MTo4Ojg6RFk8YT9BdTxhP3ZuPGE/d2g8YT84OnQkPGE/dXg8YT8xOjg6QiQ8YT8xOjg6Q3k8YT9EYzxhP3ZlPGE/MTo4OjE6ODpCdDxhP3VUPGE/Qlg8YT8xOjg6ODp5YzxhP0FMPGE/dkw8YT8xOjg6MTp1MjxhPzg6MTp1ODxhP0RCPGE/cFQ8YT84OkRtPGE/MTo4OnlvPGE/dDE8YT92UDxhPzE6ODp1XzxhPzE6ODp4NTxhPzE6ODp6WTxhP3ZEPGE/Qm88YT8xOjg6dXk8YT8xOjg6Qk08YT9BTjxhPzg6QTg8YT8xOjg6dFg8YT96SDxhPzE6ODp6TjxhPzE6ODpDSTxhP3piPGE/eXM8YT9wNjxhP3RqPGE/bkM8YT93QjxhPzE6ODpEZzxhPzE6ODpESzxhPzE6ODp6UTxhP3BzPGE/RDY8YT8xOjg6MTo4OkNfPGE/eXk8YT95bDxhP0JDPGE/MTo4OjE6ODpETTxhP29uPGE/RGQ8YT8xOjg6QmQ8YT8xOjg6QjM8YT8xOjg6b0E8YT9xVTxhP2phPGE/Q3A8YT84OmpiPGE/MToyOm9tPGE/eTY8YT8xOjg6eUQ8YT8xOjg6cUw8YT9xdDxhP0JTPGE/MTo4OnpDPGE/MTo4OnFYPGE/dTE8YT8xOjg6Qno8YT8xOjg6eHo8YT94cjxhP3FuPGE/Q048YT8xOjg6dkg8YT8xOjg6cFI8YT96QTxhPzE6ODpxRjxhPzE6ODpBQjxhP3czPGE/REw8YT8xOjg6b3Q8YT8xOjg6bks8YT9xWTxhPzE6ODp5QjxhPzE6ODpxYzxhP3dWPGE/RGo8YT92cDxhP3pJPGE/QmY8YT8xOjg6RDk8YT8xOjg6Q3Y8YT8xOjg6dEE8YT91RTxhPzg6MTo4OnowPGE/ejY8YT90TTxhP3BIPGE/MTo4OkRSPGE/MTo4OndIPGE/d1c8YT8xOjg6MTo4OnkkPGE/dTc8YT9uQjxhP3BPPGE/cE48YT8xOjg6b288YT8xOjg6eHM8YT9xQTxhPzE6ODoxOm8zPGE/Ql88YT84Om9aPGE/MTo4OnpyPGE/dWU8YT8xOjg6cGU8YT8xOjg6dFI8YT92dTxhP0FFPGE/bkk8YT8xOjg6eEg8YT8xOjg6eWY8YT9vUTxhPzE6ODpxdzxhPzE6ODpqajxhP2plPGE/aV88YT8xOjI6anI8YT8xOjI6YVk8YT9hUDxhPzE6MzpqZjxhPzE6Mjp3KCdcXHgwMVxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAzXFx4MDRcXHgwM1xceDAzXFx4MDVcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwM1xceDA2XFx4MDdcXGJcXHRcXG5cXHgwYlxceDA3XFxmXFxyXFx4MGVcXHgwZlxceDEwXFx4MTFcXHgxMlxceDEzXFx4MTRcXHgxNVxceDE1XFx4MTVcXHgxNVxceDE1XFx4MTVcXHgxNVxceDE1XFx4MTVcXHgxNlxceDE3XFx4MThcXHgxOVxceDFhXFx4MWJcXHgxY1xcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDFkXFx4MWVcXHgxZiBcXHQhXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XCIjJCVcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwM1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxcdFxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxceDAyXFx0XFx0XFx0XFx4MDJcXHRcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx4MDJcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHRcXHRcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHgwMlxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx0XFx0XFx4MDJcXHRcXHRcXHgwMlxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx4MDJcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHRcXHRcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHRcXHgwMlxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxcdFxcdFxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx0XFx0XFx4MDJcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHgwMlxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxceDAyXFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx0XFx0XFx4MDJcXHRcXHgwMlxcdFxcdFxceDAyXFx4MDJcXHgwMlxcdFxcdFxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxcdFxcdFxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx4MDJcXHgwMlxcdFxceDAyXFx4MDJcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx0XFx0XFx0XFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHgwMlxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxcdFxcdFxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx0XFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHgwMlxcdFxceDAyXFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx0XFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxceDAyXFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx0XFx4MDJcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwM1xcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx0XFx0XFx4MDJcXHgwMlxceDAyXFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx0XFx4MDJcXHRcXHgwMlxcdFxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx0XFx0XFx0XFx0XFx0XFx0XFx0XFx4MDJcXHRcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHRcXHRcXHRcXHRcXHRcXHRcXHgwMlxceDAyXFx4MDJcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHRcXHRcXHRcXHgwMlxcdFxcdFxcdFxcdFxcdFxcdFxcdFxceDAyXFx4MDJcXHgwMicsYSsxfDApLTF8MH1mdW5jdGlvblxucjQoYSl7cmV0dXJuIDQ1PGE/NDY8YT8tMTowOi0xfWZ1bmN0aW9uXG5jTShhKXtyZXR1cm4gODxhP3YkPGE/amM8YT9pNjxhPy0xOmpiPGE/anY8YT8wOi0xOmpyPGE/amU8YT9pXzxhP2phPGE/MDotMTowOi0xOmpmPGE/amo8YT8wOi0xOjA6LTE6dyhcIlxceDAxXFwwXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVwiLGEtOXwwKS0xfDA6LTF9ZnVuY3Rpb25cbkdwKGEpe3JldHVybiA0NzxhP2VvPGE/LTE6dyhcIlxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDJcIixhK2FTfDApLTF8MDotMX1mdW5jdGlvblxuVChhKXtyZXR1cm4gNDc8YT81NzxhPy0xOjA6LTF9ZnVuY3Rpb25cblcoYSl7cmV0dXJuIDQ3PGE/Y0E8YT8tMTp3KFwiXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcIixhK2FTfDApLTF8MDotMX1mdW5jdGlvblxuYjUoYSl7cmV0dXJuIDQ3PGE/YVo8YT8tMTp3KFwiXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAzXCIsYSthU3wwKS0xfDA6LTF9ZnVuY3Rpb25cbkdxKGEpe3JldHVybiA0NzxhPzU5PGE/LTE6dyhcIlxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFx4MDJcIixhK2FTfDApLTF8MDotMX1mdW5jdGlvblxuYjYoYSl7cmV0dXJuIDM1PGE/YWk8YT8tMTp3KFwiXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxceDAyXFwwXFwwXFwwXFwwXFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcIixhK2FYfDApLTF8MDotMX1mdW5jdGlvblxubXMoYSl7cmV0dXJuIDg3PGE/ZW88YT8tMTp3KHkxLGErSzh8MCktMXwwOi0xfWZ1bmN0aW9uXG5paChhKXtyZXR1cm4gNDU8YT81NzxhPy0xOncoXCJcXHgwMVxcMFxceDAyXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXCIsYStpd3wwKS0xfDA6LTF9ZnVuY3Rpb25cbnI1KGEpe3JldHVybi0xPGE/YWk8YT9jeDxhP2FZPGE/YVA8YT8wOi0xOjA6LTE6dyhcIlxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFx4MDFcXHgwMVxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcIixhKS0xfDA6LTF9ZnVuY3Rpb25cbkdyKGEpe3JldHVybiAzNTxhP2FpPGE/LTE6dyhcIlxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVwiLGErYVh8MCktMXwwOi0xfWZ1bmN0aW9uXG5pUihhKXtyZXR1cm4gNDc8YT9pRzxhPy0xOncoXCJcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXCIsYSthU3wwKS0xfDA6LTF9ZnVuY3Rpb25cbmpMKGEpe3JldHVybiAzNTxhP2FpPGE/LTE6dyhcIlxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwM1xceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVwiLGErYVh8MCktMXwwOi0xfWZ1bmN0aW9uXG5tdChhKXtyZXR1cm4gNDU8YT9idDxhPy0xOncoXCJcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDJcIixhK2l3fDApLTF8MDotMX1mdW5jdGlvblxuR3MoYSl7cmV0dXJuIDM1PGE/YWk8YT8tMTp3KFwiXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFwwXFwwXFwwXFx4MDFcXDBcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXCIsYSthWHwwKS0xfDA6LTF9ZnVuY3Rpb25cbm11KGEpe3JldHVybiA0NzxhPzk1PGE/LTE6dyhcIlxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlwiLGErYVN8MCktMXwwOi0xfWZ1bmN0aW9uXG5tdihhKXtyZXR1cm4gNDc8YT9hWjxhPy0xOncoXCJcXHgwMVxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDJcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwM1wiLGErYVN8MCktMXwwOi0xfWZ1bmN0aW9uXG5tdyhhKXtyZXR1cm4gNDc8YT9hWjxhPy0xOncoXCJcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDNcIixhK2FTfDApLTF8MDotMX1mdW5jdGlvblxubXgoYSl7cmV0dXJuIDM1PGE/YWk8YT8tMTp3KFwiXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlxcMFxceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDRcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcIixhK2FYfDApLTF8MDotMX1mdW5jdGlvblxubXkoYSl7cmV0dXJuIDg8YT92JDxhP2pjPGE/aTY8YT8tMTpqYjxhP2p2PGE/MDotMTpqcjxhP2plPGE/aV88YT9qYTxhPzA6LTE6MDotMTpqZjxhP2pqPGE/MDotMTowOi0xOncoXCJcXHgwMVxcMFxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDNcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXCIsYS05fDApLTF8MDotMX1mdW5jdGlvblxuY04oYSl7cmV0dXJuIDQ3PGE/NDk8YT8tMTowOi0xfWZ1bmN0aW9uXG5teihhKXtyZXR1cm4gNDc8YT85NTxhPy0xOncoXCJcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDJcIixhK2FTfDApLTF8MDotMX1mdW5jdGlvblxuaWkoYSl7cmV0dXJuIDQ3PGE/NTc8YT8tMTp3KFwiXFx4MDFcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcIixhK2FTfDApLTF8MDotMX1mdW5jdGlvblxubUEoYSl7cmV0dXJuIDM1PGE/YWk8YT8tMTp3KFwiXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlxcMFxceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwNFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxceDA1XFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwNFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwNlxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVwiLGErYVh8MCktMXwwOi0xfWZ1bmN0aW9uXG5yNihhKXtyZXR1cm4gVjxhP2pwPGE/LTE6MDotMX1mdW5jdGlvblxuY3EoYSl7cmV0dXJuIDYwPGE/NjE8YT8tMTowOi0xfWZ1bmN0aW9uXG5qTShhKXtyZXR1cm4gNDc8YT9hWjxhPy0xOncoXCJcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXCIsYSthU3wwKS0xfDA6LTF9ZnVuY3Rpb25cbm1CKGEpe3JldHVybiA0NzxhP2FaPGE/LTE6dyhcIlxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAzXCIsYSthU3wwKS0xfDA6LTF9ZnVuY3Rpb25cbnI3KGEpe3JldHVybiA2MDxhPzYyPGE/LTE6dyhvdyxhK0tvfDApLTF8MDotMX1mdW5jdGlvblxubUMoYSl7cmV0dXJuIDY1PGE/OTg8YT8tMTp3KHkxLGEtNjZ8MCktMXwwOi0xfWZ1bmN0aW9uXG5heihhKXtyZXR1cm4gMzU8YT9haTxhPy0xOncoXCJcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcIixhK2FYfDApLTF8MDotMX1mdW5jdGlvblxubUQoYSl7cmV0dXJuIGpwPGE/aXY8YT8tMTowOi0xfWZ1bmN0aW9uXG5iZihhKXtyZXR1cm4gNDc8YT81NTxhPy0xOjA6LTF9ZnVuY3Rpb25cbm1FKGEpe3JldHVybiBkVjxhP2FaPGE/LTE6MDotMX1mdW5jdGlvblxubUYoYSl7cmV0dXJuIGFaPGE/YnM8YT8tMTowOi0xfWZ1bmN0aW9uXG5rUihhKXtyZXR1cm4gOTg8YT85OTxhPy0xOjA6LTF9ZnVuY3Rpb25cbmJ6KGEpe3JldHVybiA0NzxhPzQ4PGE/LTE6MDotMX1mdW5jdGlvblxubUcoYSl7cmV0dXJuIDQ1PGE/YnQ8YT8tMTp3KFwiXFx4MDFcXDBcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAzXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDNcIixhK2l3fDApLTF8MDotMX1mdW5jdGlvblxubUgoYSl7cmV0dXJuIDc4PGE/YnM8YT8tMTp3KHkxLGEtNzl8MCktMXwwOi0xfWZ1bmN0aW9uXG5HdChhKXtyZXR1cm4gNDE8YT80MjxhPy0xOjA6LTF9ZnVuY3Rpb25cbkd1KGEpe3JldHVybiAzNTxhP2FpPGE/LTE6dyhcIlxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAzXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwM1xceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwNFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVwiLGErYVh8MCktMXwwOi0xfWZ1bmN0aW9uXG5tSShhKXtyZXR1cm4gNDc8YT9idDxhPy0xOncoXCJcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDJcIixhK2FTfDApLTF8MDotMX1mdW5jdGlvblxuaWooYSl7cmV0dXJuIDM1PGE/YWk8YT8tMTp3KFwiXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDNcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXHgwNFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDNcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDVcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcIixhK2FYfDApLTF8MDotMX1mdW5jdGlvblxuR3YoYSl7cmV0dXJuIDQxPGE/NjE8YT8tMTp3KFwiXFx4MDFcXDBcXDBcXDBcXDBcXHgwMlxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAzXCIsYSt1VnwwKS0xfDA6LTF9ZnVuY3Rpb25cbkd3KGEpe3JldHVybiA0NDxhPzQ1PGE/LTE6MDotMX1mdW5jdGlvblxuR3goYSl7cmV0dXJuIGJUPGE/Y2g8YT8tMTowOi0xfWZ1bmN0aW9uXG5tSihhKXtyZXR1cm4gYUs8YT9oVDxhPy0xOjA6LTF9ZnVuY3Rpb25cbnI4KGEpe3JldHVybiA5OTxhP2FuPGE/LTE6MDotMX1mdW5jdGlvblxubUsoYSl7cmV0dXJuIDQ3PGE/Y0E8YT8tMTp3KFwiXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVwiLGErYVN8MCktMXwwOi0xfWZ1bmN0aW9uXG5rUyhhKXtyZXR1cm4gYm08YT9WPGE/LTE6MDotMX1mdW5jdGlvblxuak4oYSl7cmV0dXJuIDQ1PGE/NTc8YT8tMTp3KFwiXFx4MDFcXDBcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlwiLGEraXd8MCktMXwwOi0xfWZ1bmN0aW9uXG5HeShhKXtyZXR1cm4gMzU8YT9haTxhPy0xOncoXCJcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXFx4MDJcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcIixhK2FYfDApLTF8MDotMX1mdW5jdGlvblxuaVMoYSl7cmV0dXJuIDQ3PGE/Y3g8YT8tMTp3KFwiXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlwiLGErYVN8MCktMXwwOi0xfWZ1bmN0aW9uXG5HeihhKXtyZXR1cm4gMzU8YT9haTxhPy0xOncoXCJcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXFwwXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDA0XFx4MDRcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVxceDA1XFx4MDFcXHgwMVxceDA2XFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDdcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFxiXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDVcXHgwMVxceDAxXFx4MDZcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx0XFx4MDdcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFxiXFx4MDFcXHgwMVwiLGErYVh8MCktMXwwOi0xfWZ1bmN0aW9uXG5iQShhKXtyZXR1cm4gOTxhPzEwPGE/LTE6MDotMX1mdW5jdGlvblxuR0EoYSl7cmV0dXJuIDM1PGE/YWk8YT8tMTp3KFwiXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXCIsYSthWHwwKS0xfDA6LTF9ZnVuY3Rpb25cbkdCKGEpe3JldHVybiA5NjxhPzk3PGE/LTE6MDotMX1mdW5jdGlvblxuY08oYSl7cmV0dXJuIDM1PGE/YWk8YT8tMTp3KFwiXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXHgwM1xcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDRcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcIixhK2FYfDApLTF8MDotMX1mdW5jdGlvblxubUwoYSl7cmV0dXJuIDM1PGE/YWk8YT8tMTp3KFwiXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXHgwM1xcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDRcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcIixhK2FYfDApLTF8MDotMX1mdW5jdGlvblxuaWsoYSl7cmV0dXJuIDQ3PGE/OTU8YT8tMTp3KFwiXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlwiLGErYVN8MCktMXwwOi0xfWZ1bmN0aW9uXG5HQyhhKXtyZXR1cm4gMzU8YT9haTxhPy0xOncoXCJcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXFwwXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFwwXFwwXFwwXFx4MDRcXDBcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDA1XFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXCIsYSthWHwwKS0xfDA6LTF9ZnVuY3Rpb25cbmlUKGEpe3JldHVybiBhbjxhP2J0PGE/LTE6MDotMX1mdW5jdGlvblxuR0QoYSl7cmV0dXJuIDU4PGE/NTk8YT8tMTowOi0xfWZ1bmN0aW9uXG5HRShhKXtyZXR1cm4gMzU8YT9haTxhPy0xOncoXCJcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXFwwXFx4MDJcXDBcXDBcXHgwM1xceDA0XFx4MDRcXHgwNFxceDA0XFx4MDRcXHgwNFxceDA0XFx4MDRcXHgwNFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXCIsYSthWHwwKS0xfDA6LTF9ZnVuY3Rpb25cbm1NKGEpe3JldHVybiA0MTxhPzQ3PGE/LTE6dyhcIlxceDAxXFwwXFwwXFwwXFwwXFx4MDJcIixhK3VWfDApLTF8MDotMX1mdW5jdGlvblxubU4oYSl7cmV0dXJuIDM1PGE/YWk8YT8tMTp3KFwiXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlxceDAyXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXDBcXDBcXDBcXHgwM1xcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDRcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcIixhK2FYfDApLTF8MDotMX1mdW5jdGlvblxuR0YoYSl7cmV0dXJuIDM1PGE/YWk8YT8tMTp3KFwiXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlxcMFxceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwNFxceDA0XFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDVcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcIixhK2FYfDApLTF8MDotMX1mdW5jdGlvblxuR0coYSl7cmV0dXJuIGtrPGE/bHM8YT8tMTowOi0xfWZ1bmN0aW9uXG5tTyhhKXtyZXR1cm4gMzU8YT9haTxhPy0xOncoXCJcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxceDAzXFwwXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwNFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVwiLGErYVh8MCktMXwwOi0xfWZ1bmN0aW9uXG5icihhKXtyZXR1cm4gNDc8YT9idDxhPy0xOncoXCJcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDNcXDBcXDBcXDBcXDBcXDBcXHgwMlwiLGErYVN8MCktMXwwOi0xfWZ1bmN0aW9uXG5tUChhKXtyZXR1cm4gNDI8YT81NzxhPy0xOncoXCJcXHgwMVxcMFxceDAxXFwwXFwwXFx4MDJcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcIixhK0RhfDApLTF8MDotMX1mdW5jdGlvblxuR0goYSl7cmV0dXJuIDQ3PGE/Y0E8YT8tMTp3KFwiXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXHgwMlxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVwiLGErYVN8MCktMXwwOi0xfWZ1bmN0aW9uXG5pbChhKXtyZXR1cm4gNDU8YT85NTxhPy0xOncoXCJcXHgwMVxcMFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDNcIixhK2l3fDApLTF8MDotMX1mdW5jdGlvblxuaW0oYSl7cmV0dXJuIGl2PGE/bFA8YT8tMTowOi0xfWZ1bmN0aW9uXG5HSShhKXtyZXR1cm4gNDY8YT80NzxhPy0xOjA6LTF9ZnVuY3Rpb25cbkdKKGEpe3JldHVybiA1NzxhPzU4PGE/LTE6MDotMX1mdW5jdGlvblxuX0EoYSl7cmV0dXJuIGpjPGE/Qko8YT8tMTp0bDxhP29kPGE/QjY8YT94azxhP3VaPGE/MTo2OnQ1PGE/el88YT94XzxhPzE6Njp0azxhPzE6Njp6MjxhP3pKPGE/MTo2OnhRPGE/MTo2Om80PGE/bzY8YT9uOTxhP29iPGE/blA8YT9vTTxhP0FxPGE/MTo2OkFUPGE/MTo2OnZSPGE/eDY8YT8xOjY6eXE8YT8xOjY6b1Y8YT9wZzxhP3dFPGE/MTo2OnB5PGE/MTo2Om9JPGE/Q1U8YT8xOjY6RG88YT8xOjY6cU48YT9FZTxhP29mPGE/eHQ8YT8xOjY6eGk8YT8xOjY6cFY8YT9vcTxhPzE6Njp6ZzxhPzE6NjpuQTxhP3BXPGE/cXY8YT8xOjY6cVA8YT8xOjY6b0w8YT9xcDxhPzE6NjpxSTxhPzE6NjpESDxhP3BZPGE/cCQ8YT94aDxhP29HPGE/MTo2Om5EPGE/MTo2Om5aPGE/dmg8YT8xOjY6RGs8YT8xOjY6bl88YT9xbzxhP3A5PGE/MTo2Om9rPGE/MTo2OnRhPGE/cDM8YT8xOjY6bnk8YT8xOjY6b0U8YT9vSDxhP29CPGE/biQ8YT8xOjY6cGM8YT8xOjY6b2g8YT96OTxhPzE6NjpCNTxhPzE6NjpwNzxhP3MkPGE/cWg8YT8xOjY6b2c8YT8xOjY6cW08YT9DdzxhPzE6NjpBVjxhPzE6Njp3cTxhP3UkPGE/QUs8YT92QjxhP0RKPGE/dk08YT8xOjY6dXc8YT8xOjY6eVQ8YT92MTxhPzE6NjpCajxhPzE6Njp1NTxhP3ZxPGE/eUY8YT8xOjY6dGI8YT8xOjY6dng8YT9FbDxhPzE6Njp1bDxhPzE6Njp1ajxhP3ZqPGE/dHI8YT9CTDxhPzE6Njp5QTxhPzE6NjpETzxhP3FWPGE/MTo2OnRzPGE/MTo2OnZWPGE/Qnk8YT9EeTxhPzE6NjoxOjY6cDU8YT9uUjxhP28kPGE/b1g8YT91bzxhPzE6NjpDbjxhPzE6NjpvYzxhP0FqPGE/MTo2OnhkPGE/MTo2OnB6PGE/bzU8YT9zOTxhPzE6Njp2RzxhPzE6NjpwSjxhP3ZpPGE/MTo2OkFlPGE/MTo2Om9wPGE/cU88YT9xeTxhP3VMPGE/MTo2OkFaPGE/MTo2OnluPGE/Q1k8YT8xOjY6dTA8YT8xOjY6b1M8YT90NjxhP3dYPGE/MTo2Om5YPGE/MTo2OnBwPGE/RDU8YT8xOjY6dlo8YT8xOjY6RWQ8YT9uRzxhP3h5PGE/cGE8YT9wYjxhP3FRPGE/b3Y8YT9EejxhPzE6Njp6aDxhPzE6Njp1dTxhP3ViPGE/MTo2OnlKPGE/MTo2OnFzPGE/cUU8YT94TTxhPzE6Njp3ZjxhPzE6NjpwajxhP29GPGE/MTo2OkRyPGE/MTo2Om4xPGE/eXc8YT9DTTxhP0RDPGE/MTo2OnVzPGE/MTo2OnY3PGE/blY8YT8xOjY6d048YT8xOjY6Q0I8YT9vZTxhP3dQPGE/MTo2OnpHPGE/MTo2OnZLPGE/eiQ8YT8xOjY6RHQ8YT8xOjY6QUc8YT94QzxhP0RUPGE/emk8YT9CcjxhPzE6NjpEUTxhPzE6Njp4MDxhP0FoPGE/MTo2OkFYPGE/MTo2OkJ2PGE/dTQ8YT9DUDxhPzE6Njp3azxhPzE6NjpERTxhP3p0PGE/MTo2OkFhPGE/MTo2OkF3PGE/eks8YT90OTxhP3loPGE/MTo2OndVPGE/MTo2OnplPGE/Qms8YT8xOjY6d1k8YT8xOjY6dDQ8YT9vMDxhP3BaPGE/MTo2OkR3PGE/MTo2OkFSPGE/emo8YT8xOjY6RGw8YT8xOjY6dko8YT95MjxhP0RxPGE/eXU8YT9CUDxhP0FrPGE/MTo2OnR2PGE/MTo2OnVDPGE/Q3I8YT8xOjY6Q1E8YT8xOjY6dmQ8YT94UjxhP3ZJPGE/MTo2OnRUPGE/MTo2OnVEPGE/Qnc8YT8xOjY6QWk8YT8xOjY6dFA8YT9CeDxhP0E3PGE/d3c8YT8xOjY6d1E8YT8xOjY6Q2Y8YT90cDxhPzE6Njp6YTxhPzE6Njp5TDxhP3QyPGE/Q088YT8xOjY6RGU8YT8xOjY6djk8YT90RTxhPzE6Njp5MzxhPzE6NjpwZDxhP25IPGE/dzI8YT93ZDxhP3dpPGE/MTo2OndEPGE/MTo2OnpQPGE/dU48YT8xOjY6em48YT8xOjY6eU88YT9vSjxhP3pzPGE/MTo2OnpvPGE/MTo2OkFyPGE/Q3o8YT8xOjY6dHo8YT8xOjY6eDE8YT9DajxhP25TPGE/eVc8YT8xOjY6dmI8YT8xOjY6eEI8YT94RzxhPzE6NjpDMDxhPzE6Njp1azxhP29zPGE/emM8YT8xOjY6dVc8YT8xOjY6QTY8YT9DdDxhPzE6NjpxQjxhPzE6NjpCUTxhP0FIPGE/dHU8YT9BMDxhP3QzPGE/d0E8YT94eDxhPzE6NjpwRzxhPzE6Njp1NjxhP3dHPGE/MTo2OnhsPGE/MTo2OnB3PGE/ejc8YT9xRzxhPzE6NjpwZjxhPzE6Njp3cjxhP0ExPGE/MTo2OkMxPGE/MTo2OkJsPGE/QWM8YT9DMjxhP3dhPGE/MTo2OnlLPGE/MTo2OndlPGE/Q0Q8YT8xOjY6djM8YT8xOjY6RDc8YT9CaDxhP0JZPGE/MTo2OnVSPGE/MTo2OkI4PGE/ekU8YT8xOjY6dXI8YT8xOjY6REE8YT92NTxhP3l4PGE/eEY8YT92dzxhPzE6Njp5cjxhPzE6NjpCRzxhP3huPGE/MTo2OnV0PGE/MTo2OncxPGE/dUI8YT9CNDxhPzE6Njp4ZzxhPzE6Njp1UzxhP3BCPGE/MTo2OkJuPGE/MTo2OkNWPGE/dF88YT96NTxhP0NtPGE/MTo2Ong4PGE/MTo2OnFlPGE/b1I8YT8xOjY6Q2Q8YT8xOjY6bzI8YT90eDxhP0EzPGE/MTo2OnVQPGE/MTo2OkFKPGE/eHE8YT8xOjY6RFY8YT8xOjY6cGg8YT9CUjxhP3BsPGE/Q0Y8YT9BSTxhP3lVPGE/MTo2OnFSPGE/MTo2OnpWPGE/dW08YT8xOjY6eTU8YT8xOjY6b3I8YT9uTzxhP3RVPGE/MTo2OkJJPGE/MTo2OkJBPGE/eGE8YT8xOjY6RW48YT8xOjY6bkY8YT94WTxhP29fPGE/Q1c8YT8xOjY6QVE8YT8xOjY6cGs8YT90VjxhPzE6NjpCczxhPzE6NjpxajxhP3BJPGE/RDA8YT8xOjY6blE8YT8xOjY6Q2k8YT96azxhPzE6Njp6eDxhPzE6Njp3TzxhP0FiPGE/bkU8YT94VTxhP3Z2PGE/MTo2OnFDPGE/MTo2OkRXPGE/eG08YT8xOjY6QmE8YT8xOjY6dUg8YT9FYzxhP3hqPGE/MTo2OnFkPGE/MTo2OnRXPGE/RGg8YT8xOjY6cEs8YT8xOjY6dEg8YT92czxhP3lpPGE/cFg8YT8xOjY6RFA8YT8xOjY6eDM8YT96VzxhPzE6Njp6WjxhPzE6NjpuejxhP0VvPGE/dXY8YT8xOjY6eXo8YT8xOjY6eUg8YT9BZDxhPzE6Njp3UzxhPzE6NjpBczxhP3VxPGE/QW48YT9weDxhP3d6PGE/Q2E8YT90aDxhP0JIPGE/dU08YT8xOjY6Q1I8YT8xOjY6eXY8YT9DTDxhPzE6NjpxZzxhPzE6Njp6VTxhP3p6PGE/QlU8YT8xOjY6dGM8YT8xOjY6QzQ8YT92MjxhPzE6Njp2WTxhPzE6NjpCMDxhP3ZFPGE/eUM8YT9CaTxhPzE6NjpCMTxhPzE6Njp3ajxhP3ZYPGE/MTo2OkVhPGE/MTo2OkF2PGE/d3g8YT90aTxhPzE6NjpFajxhPzE6Njp0dzxhP3hmPGE/MTo2OnYwPGE/MTo2OnlTPGE/cG88YT90MDxhP3R0PGE/elM8YT8xOjY6dlU8YT8xOjY6eE88YT9BeDxhPzE6Njp5YjxhPzE6NjpCbTxhP3BFPGE/eFY8YT8xOjY6QlQ8YT8xOjY6QlY8YT9vbDxhPzE6NjpBRDxhPzE6NjpvYTxhP3ZnPGE/c188YT91MzxhPzE6NjpDczxhPzE6Njp3bDxhP0FBPGE/MTo2OnlSPGE/MTo2OnozPGE/dE48YT91STxhPzE6NjpFaTxhPzE6NjpFYjxhP0VmPGE/MTo2Ong5PGE/MTo2OnpmPGE/eXA8YT9EXzxhP253PGE/dlQ8YT9uTjxhPzE6Njp3NzxhPzE6NjpxSDxhP3ZmPGE/MTo2Om8xPGE/MTo2OncwPGE/Q288YT93TTxhPzE6Njp3JDxhPzE6NjpBMjxhP0FmPGE/MTo2OnlJPGE/MTo2OnVjPGE/eFM8YT90ZTxhP3dvPGE/MTo2OkM5PGE/MTo2Ong0PGE/Q0s8YT8xOjY6RWc8YT8xOjY6RDg8YT9DeDxhP0FnPGE/MTo2OnRaPGE/MTo2OnptPGE/RFU8YT8xOjY6QXo8YT8xOjY6dEI8YT93STxhP3hjPGE/d3A8YT96RjxhPzE6NjpEMTxhPzE6Njp3ODxhP0VtPGE/MTo2OkQkPGE/MTo2OkRYPGE/dl88YT9CRjxhPzE6Njp0UTxhPzE6NjpDQzxhP3pEPGE/MTo2OjE6d0s8YT9ueDxhP3hwPGE/Njp5dDxhPzE6Njp3VDxhP3Q4PGE/MTo2OkNnPGE/MTo2OnZsPGE/Qlo8YT96cDxhPzE6NjpEdjxhPzE6Njp1cDxhPzE6NjpwNDxhP3p5PGE/eGI8YT9CQjxhP3ltPGE/NjpBdDxhP3ZhPGE/MTo2OnVRPGE/MTo2Onc2PGE/eVE8YT90RjxhPzE6NjpCMjxhPzE6NjpCYjxhP0JXPGE/MTo2OkNUPGE/MTo2OnA4PGE/b1k8YT9wTTxhP3hQPGE/MTo2OkNjPGE/MTo2Om9EPGE/eU08YT8xOjY6enc8YT8xOjY6ekw8YT9veTxhP0JxPGE/MTo2OnkwPGE/MTo2OkROPGE/d208YT8xOjY6dnI8YT8xOjY6Qk48YT95ODxhP3RMPGE/dnQ8YT9DQTxhPzE6NjoxOjY6Q3E8YT82Om5KPGE/dE88YT8xOjY6eDI8YT8xOjY6QnA8YT9xYTxhP2p2PGE/aTY8YT8xOjI6QTU8YT8xOjY6enU8YT93NDxhPzE6Njp1aDxhPzE6Njp3TDxhP3RuPGE/dzk8YT8xOjY6REc8YT8xOjY6RDI8YT9EaTxhPzE6Njp6bDxhPzE6Njp4STxhP3RvPGE/b0s8YT9uNjxhP3BfPGE/dnk8YT8xOjY6QzU8YT8xOjY6b3o8YT9vVDxhPzE6Njp5NzxhPzE6Njp1RjxhP3FUPGE/RDQ8YT8xOjY6eEo8YT8xOjY6d3k8YT9xSjxhPzE6Njp5ajxhPzE6Njp0ZzxhP3Z6PGE/dlE8YT95WjxhPzE6Njp4ZTxhPzE6Njp1SzxhP3hOPGE/MTo2OnhFPGE/MTo2OkMzPGE/eVk8YT9BNDxhPzE6Njp4NzxhPzE6Njp6UjxhPzE6Njp0RzxhP29OPGE/cDA8YT9BbTxhPzE6NjpuTTxhPzY6RHA8YT8xOjY6RGI8YT9veDxhP0JEPGE/MTo2OnlWPGE/MTo2OnVVPGE/dk48YT8xOjY6dWk8YT8xOjY6eVg8YT93ZzxhP0M2PGE/Qjk8YT8xOjY6MTpBbDxhPzY6ek88YT8xOjY6dEQ8YT95ZDxhPzE6Njp0eTxhP3d0PGE/MTo2OngkPGE/MTo2OkRzPGE/blQ8YT96ZDxhP0JlPGE/ejQ8YT90cTxhP3o4PGE/dWQ8YT8xOjY6dms8YT8xOjY6QUM8YT9DJDxhPzE6Njp0NzxhPzE6NjpDYjxhP3dGPGE/cXE8YT8xOjY6MTo2Onp2PGE/eEw8YT92VzxhP3VuPGE/MTo2OnRDPGE/MTo2OnFTPGE/eHY8YT8xOjY6djQ8YT8xOjY6eFQ8YT9CYzxhPzE6Njp5ZTxhP3hYPGE/MTo2OnBxPGE/MTo2OkFfPGE/dWc8YT91SjxhP3d1PGE/d3M8YT8xOjY6QXk8YT8xOjY6dEk8YT93SjxhPzE6NjpCdTxhPzE6Njp0bTxhP25ZPGE/eHU8YT8xOjY6b1U8YT8xOjY6dU88YT91QTxhPzE6NjpEeDxhPzE6Njp6MTxhP3hEPGE/eU48YT9DUzxhPzE6NjpERDxhPzE6Njp1ZjxhP0QzPGE/MTo2OnlhPGE/MTo2OnZPPGE/dm08YT8xOjY6NjpEWTxhP0F1PGE/dm48YT93aDxhPzY6dCQ8YT91eDxhPzE6NjpCJDxhPzE6NjpDeTxhP0RjPGE/dmU8YT8xOjY6MTo2OkJ0PGE/dVQ8YT9CWDxhPzE6Njo2OnljPGE/QUw8YT92TDxhPzE6NjoxOnUyPGE/NjoxOnU4PGE/REI8YT9wVDxhPzY6RG08YT8xOjY6eW88YT90MTxhP3ZQPGE/MTo2OnVfPGE/MTo2Ong1PGE/MTo2OnpZPGE/dkQ8YT9CbzxhPzE6Njp1eTxhPzE6NjpCTTxhP0FOPGE/NjpBODxhPzE6Njp0WDxhP3pIPGE/MTo2OnpOPGE/MTo2OkNJPGE/emI8YT95czxhP3A2PGE/dGo8YT9uQzxhP3dCPGE/MTo2OkRnPGE/MTo2OkRLPGE/MTo2OnpRPGE/cHM8YT9ENjxhPzE6NjoxOjY6Q188YT95eTxhP3lsPGE/QkM8YT8xOjY6MTo2OkRNPGE/b248YT9EZDxhPzE6NjpCZDxhPzE6NjpCMzxhPzE6NjpvQTxhP3FVPGE/amE8YT9DcDxhPzY6amI8YT8xOjI6b208YT95NjxhPzE6Njp5RDxhPzE6NjpxTDxhP3F0PGE/QlM8YT8xOjY6ekM8YT8xOjY6cVg8YT91MTxhPzE6NjpCejxhPzE6Njp4ejxhP3hyPGE/cW48YT9DTjxhPzE6Njp2SDxhPzE6NjpwUjxhP3pBPGE/MTo2OnFGPGE/MTo2OkFCPGE/dzM8YT9ETDxhPzE6NjpvdDxhPzE6NjpuSzxhP3FZPGE/MTo2OnlCPGE/MTo2OnFjPGE/d1Y8YT9EajxhP3ZwPGE/ekk8YT9CZjxhPzE6NjpEOTxhPzE6NjpDdjxhPzE6Njp0QTxhP3VFPGE/NjoxOjY6ejA8YT96NjxhP3RNPGE/cEg8YT8xOjY6RFI8YT8xOjY6d0g8YT93VzxhPzE6NjoxOjY6eSQ8YT91NzxhP25CPGE/cE88YT9wTjxhPzE6NjpvbzxhPzE6Njp4czxhP3FBPGE/MTo2OjE6bzM8YT9CXzxhPzY6b1o8YT8xOjY6enI8YT91ZTxhPzE6NjpwZTxhPzE6Njp0UjxhP3Z1PGE/QUU8YT9uSTxhPzE6Njp4SDxhPzE6Njp5ZjxhP29RPGE/MTo2OnF3PGE/MTo2OmpqPGE/amU8YT9pXzxhPzE6MjpqcjxhPzE6MjphWTxhP2FQPGE/MTozOmpmPGE/MToyOncoXCJcXHgwMVxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAzXFx4MDRcXHgwM1xceDAzXFx4MDVcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwM1xceDAyXFx4MDZcXHgwMlxceDA3XFxiXFx0XFx4MDZcXG5cXHgwYlxcZlxcclxceDBlXFx4MGZcXHgxMFxceDExXFx4MTJcXHgxM1xceDEzXFx4MTNcXHgxM1xceDEzXFx4MTNcXHgxM1xceDEzXFx4MTNcXHgxNFxceDE1XFx4MTZcXHgxN1xceDE4XFx4MTlcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgxYVxceDFiXFx4MWNcXHgwMlxceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MWRcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MWVcXHgxZiBcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAzXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwM1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDAyXFx4MDdcXHgwMlxceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXCIsYSsxfDApLTF8MH1mdW5jdGlvblxuUShhKXtyZXR1cm4gMzU8YT9haTxhPy0xOncoXCJcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcIixhK2FYfDApLTF8MDotMX1mdW5jdGlvblxuR0soYSl7cmV0dXJuIDM0PGE/YWk8YT8tMTp3KFwiXFx4MDFcXHgwMlxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcIixhLTM1fDApLTF8MDotMX1mdW5jdGlvblxuX0IoYSl7cmV0dXJuIGpjPGE/Qko8YT8tMTp0bDxhP29kPGE/QjY8YT94azxhP3VaPGE/MTo2OnQ1PGE/el88YT94XzxhPzE6Njp0azxhPzE6Njp6MjxhP3pKPGE/MTo2OnhRPGE/MTo2Om80PGE/bzY8YT9uOTxhP29iPGE/blA8YT9vTTxhP0FxPGE/MTo2OkFUPGE/MTo2OnZSPGE/eDY8YT8xOjY6eXE8YT8xOjY6b1Y8YT9wZzxhP3dFPGE/MTo2OnB5PGE/MTo2Om9JPGE/Q1U8YT8xOjY6RG88YT8xOjY6cU48YT9FZTxhP29mPGE/eHQ8YT8xOjY6eGk8YT8xOjY6cFY8YT9vcTxhPzE6Njp6ZzxhPzE6NjpuQTxhP3BXPGE/cXY8YT8xOjY6cVA8YT8xOjY6b0w8YT9xcDxhPzE6NjpxSTxhPzE6NjpESDxhP3BZPGE/cCQ8YT94aDxhP29HPGE/MTo2Om5EPGE/MTo2Om5aPGE/dmg8YT8xOjY6RGs8YT8xOjY6bl88YT9xbzxhP3A5PGE/MTo2Om9rPGE/MTo2OnRhPGE/cDM8YT8xOjY6bnk8YT8xOjY6b0U8YT9vSDxhP29CPGE/biQ8YT8xOjY6cGM8YT8xOjY6b2g8YT96OTxhPzE6NjpCNTxhPzE6NjpwNzxhP3MkPGE/cWg8YT8xOjY6b2c8YT8xOjY6cW08YT9DdzxhPzE6NjpBVjxhPzE6Njp3cTxhP3UkPGE/QUs8YT92QjxhP0RKPGE/dk08YT8xOjY6dXc8YT8xOjY6eVQ8YT92MTxhPzE6NjpCajxhPzE6Njp1NTxhP3ZxPGE/eUY8YT8xOjY6dGI8YT8xOjY6dng8YT9FbDxhPzE6Njp1bDxhPzE6Njp1ajxhP3ZqPGE/dHI8YT9CTDxhPzE6Njp5QTxhPzE6NjpETzxhP3FWPGE/MTo2OnRzPGE/MTo2OnZWPGE/Qnk8YT9EeTxhPzE6NjoxOjY6cDU8YT9uUjxhP28kPGE/b1g8YT91bzxhPzE6NjpDbjxhPzE6NjpvYzxhP0FqPGE/MTo2OnhkPGE/MTo2OnB6PGE/bzU8YT9zOTxhPzE6Njp2RzxhPzE6NjpwSjxhP3ZpPGE/MTo2OkFlPGE/MTo2Om9wPGE/cU88YT9xeTxhP3VMPGE/MTo2OkFaPGE/MTo2OnluPGE/Q1k8YT8xOjY6dTA8YT8xOjY6b1M8YT90NjxhP3dYPGE/MTo2Om5YPGE/MTo2OnBwPGE/RDU8YT8xOjY6dlo8YT8xOjY6RWQ8YT9uRzxhP3h5PGE/cGE8YT9wYjxhP3FRPGE/b3Y8YT9EejxhPzE6Njp6aDxhPzE6Njp1dTxhP3ViPGE/MTo2OnlKPGE/MTo2OnFzPGE/cUU8YT94TTxhPzE6Njp3ZjxhPzE6NjpwajxhP29GPGE/MTo2OkRyPGE/MTo2Om4xPGE/eXc8YT9DTTxhP0RDPGE/MTo2OnVzPGE/MTo2OnY3PGE/blY8YT8xOjY6d048YT8xOjY6Q0I8YT9vZTxhP3dQPGE/MTo2OnpHPGE/MTo2OnZLPGE/eiQ8YT8xOjY6RHQ8YT8xOjY6QUc8YT94QzxhP0RUPGE/emk8YT9CcjxhPzE6NjpEUTxhPzE6Njp4MDxhP0FoPGE/MTo2OkFYPGE/MTo2OkJ2PGE/dTQ8YT9DUDxhPzE6Njp3azxhPzE6NjpERTxhP3p0PGE/MTo2OkFhPGE/MTo2OkF3PGE/eks8YT90OTxhP3loPGE/MTo2OndVPGE/MTo2OnplPGE/Qms8YT8xOjY6d1k8YT8xOjY6dDQ8YT9vMDxhP3BaPGE/MTo2OkR3PGE/MTo2OkFSPGE/emo8YT8xOjY6RGw8YT8xOjY6dko8YT95MjxhP0RxPGE/eXU8YT9CUDxhP0FrPGE/MTo2OnR2PGE/MTo2OnVDPGE/Q3I8YT8xOjY6Q1E8YT8xOjY6dmQ8YT94UjxhP3ZJPGE/MTo2OnRUPGE/MTo2OnVEPGE/Qnc8YT8xOjY6QWk8YT8xOjY6dFA8YT9CeDxhP0E3PGE/d3c8YT8xOjY6d1E8YT8xOjY6Q2Y8YT90cDxhPzE6Njp6YTxhPzE6Njp5TDxhP3QyPGE/Q088YT8xOjY6RGU8YT8xOjY6djk8YT90RTxhPzE6Njp5MzxhPzE6NjpwZDxhP25IPGE/dzI8YT93ZDxhP3dpPGE/MTo2OndEPGE/MTo2OnpQPGE/dU48YT8xOjY6em48YT8xOjY6eU88YT9vSjxhP3pzPGE/MTo2OnpvPGE/MTo2OkFyPGE/Q3o8YT8xOjY6dHo8YT8xOjY6eDE8YT9DajxhP25TPGE/eVc8YT8xOjY6dmI8YT8xOjY6eEI8YT94RzxhPzE6NjpDMDxhPzE6Njp1azxhP29zPGE/emM8YT8xOjY6dVc8YT8xOjY6QTY8YT9DdDxhPzE6NjpxQjxhPzE6NjpCUTxhP0FIPGE/dHU8YT9BMDxhP3QzPGE/d0E8YT94eDxhPzE6NjpwRzxhPzE6Njp1NjxhP3dHPGE/MTo2OnhsPGE/MTo2OnB3PGE/ejc8YT9xRzxhPzE6NjpwZjxhPzE6Njp3cjxhP0ExPGE/MTo2OkMxPGE/MTo2OkJsPGE/QWM8YT9DMjxhP3dhPGE/MTo2OnlLPGE/MTo2OndlPGE/Q0Q8YT8xOjY6djM8YT8xOjY6RDc8YT9CaDxhP0JZPGE/MTo2OnVSPGE/MTo2OkI4PGE/ekU8YT8xOjY6dXI8YT8xOjY6REE8YT92NTxhP3l4PGE/eEY8YT92dzxhPzE6Njp5cjxhPzE6NjpCRzxhP3huPGE/MTo2OnV0PGE/MTo2OncxPGE/dUI8YT9CNDxhPzE6Njp4ZzxhPzE6Njp1UzxhP3BCPGE/MTo2OkJuPGE/MTo2OkNWPGE/dF88YT96NTxhP0NtPGE/MTo2Ong4PGE/MTo2OnFlPGE/b1I8YT8xOjY6Q2Q8YT8xOjY6bzI8YT90eDxhP0EzPGE/MTo2OnVQPGE/MTo2OkFKPGE/eHE8YT8xOjY6RFY8YT8xOjY6cGg8YT9CUjxhP3BsPGE/Q0Y8YT9BSTxhP3lVPGE/MTo2OnFSPGE/MTo2OnpWPGE/dW08YT8xOjY6eTU8YT8xOjY6b3I8YT9uTzxhP3RVPGE/MTo2OkJJPGE/MTo2OkJBPGE/eGE8YT8xOjY6RW48YT8xOjY6bkY8YT94WTxhP29fPGE/Q1c8YT8xOjY6QVE8YT8xOjY6cGs8YT90VjxhPzE6NjpCczxhPzE6NjpxajxhP3BJPGE/RDA8YT8xOjY6blE8YT8xOjY6Q2k8YT96azxhPzE6Njp6eDxhPzE6Njp3TzxhP0FiPGE/bkU8YT94VTxhP3Z2PGE/MTo2OnFDPGE/MTo2OkRXPGE/eG08YT8xOjY6QmE8YT8xOjY6dUg8YT9FYzxhP3hqPGE/MTo2OnFkPGE/MTo2OnRXPGE/RGg8YT8xOjY6cEs8YT8xOjY6dEg8YT92czxhP3lpPGE/cFg8YT8xOjY6RFA8YT8xOjY6eDM8YT96VzxhPzE6Njp6WjxhPzE6NjpuejxhP0VvPGE/dXY8YT8xOjY6eXo8YT8xOjY6eUg8YT9BZDxhPzE6Njp3UzxhPzE6NjpBczxhP3VxPGE/QW48YT9weDxhP3d6PGE/Q2E8YT90aDxhP0JIPGE/dU08YT8xOjY6Q1I8YT8xOjY6eXY8YT9DTDxhPzE6NjpxZzxhPzE6Njp6VTxhP3p6PGE/QlU8YT8xOjY6dGM8YT8xOjY6QzQ8YT92MjxhPzE6Njp2WTxhPzE6NjpCMDxhP3ZFPGE/eUM8YT9CaTxhPzE6NjpCMTxhPzE6Njp3ajxhP3ZYPGE/MTo2OkVhPGE/MTo2OkF2PGE/d3g8YT90aTxhPzE6NjpFajxhPzE6Njp0dzxhP3hmPGE/MTo2OnYwPGE/MTo2OnlTPGE/cG88YT90MDxhP3R0PGE/elM8YT8xOjY6dlU8YT8xOjY6eE88YT9BeDxhPzE6Njp5YjxhPzE6NjpCbTxhP3BFPGE/eFY8YT8xOjY6QlQ8YT8xOjY6QlY8YT9vbDxhPzE6NjpBRDxhPzE6NjpvYTxhP3ZnPGE/c188YT91MzxhPzE6NjpDczxhPzE6Njp3bDxhP0FBPGE/MTo2OnlSPGE/MTo2OnozPGE/dE48YT91STxhPzE6NjpFaTxhPzE6NjpFYjxhP0VmPGE/MTo2Ong5PGE/MTo2OnpmPGE/eXA8YT9EXzxhP253PGE/dlQ8YT9uTjxhPzE6Njp3NzxhPzE6NjpxSDxhP3ZmPGE/MTo2Om8xPGE/MTo2OncwPGE/Q288YT93TTxhPzE6Njp3JDxhPzE6NjpBMjxhP0FmPGE/MTo2OnlJPGE/MTo2OnVjPGE/eFM8YT90ZTxhP3dvPGE/MTo2OkM5PGE/MTo2Ong0PGE/Q0s8YT8xOjY6RWc8YT8xOjY6RDg8YT9DeDxhP0FnPGE/MTo2OnRaPGE/MTo2OnptPGE/RFU8YT8xOjY6QXo8YT8xOjY6dEI8YT93STxhP3hjPGE/d3A8YT96RjxhPzE6NjpEMTxhPzE6Njp3ODxhP0VtPGE/MTo2OkQkPGE/MTo2OkRYPGE/dl88YT9CRjxhPzE6Njp0UTxhPzE6NjpDQzxhP3pEPGE/MTo2OjE6d0s8YT9ueDxhP3hwPGE/Njp5dDxhPzE6Njp3VDxhP3Q4PGE/MTo2OkNnPGE/MTo2OnZsPGE/Qlo8YT96cDxhPzE6NjpEdjxhPzE6Njp1cDxhPzE6NjpwNDxhP3p5PGE/eGI8YT9CQjxhP3ltPGE/NjpBdDxhP3ZhPGE/MTo2OnVRPGE/MTo2Onc2PGE/eVE8YT90RjxhPzE6NjpCMjxhPzE6NjpCYjxhP0JXPGE/MTo2OkNUPGE/MTo2OnA4PGE/b1k8YT9wTTxhP3hQPGE/MTo2OkNjPGE/MTo2Om9EPGE/eU08YT8xOjY6enc8YT8xOjY6ekw8YT9veTxhP0JxPGE/MTo2OnkwPGE/MTo2OkROPGE/d208YT8xOjY6dnI8YT8xOjY6Qk48YT95ODxhP3RMPGE/dnQ8YT9DQTxhPzE6NjoxOjY6Q3E8YT82Om5KPGE/dE88YT8xOjY6eDI8YT8xOjY6QnA8YT9xYTxhP2p2PGE/aTY8YT8xOjI6QTU8YT8xOjY6enU8YT93NDxhPzE6Njp1aDxhPzE6Njp3TDxhP3RuPGE/dzk8YT8xOjY6REc8YT8xOjY6RDI8YT9EaTxhPzE6Njp6bDxhPzE6Njp4STxhP3RvPGE/b0s8YT9uNjxhP3BfPGE/dnk8YT8xOjY6QzU8YT8xOjY6b3o8YT9vVDxhPzE6Njp5NzxhPzE6Njp1RjxhP3FUPGE/RDQ8YT8xOjY6eEo8YT8xOjY6d3k8YT9xSjxhPzE6Njp5ajxhPzE6Njp0ZzxhP3Z6PGE/dlE8YT95WjxhPzE6Njp4ZTxhPzE6Njp1SzxhP3hOPGE/MTo2OnhFPGE/MTo2OkMzPGE/eVk8YT9BNDxhPzE6Njp4NzxhPzE6Njp6UjxhPzE6Njp0RzxhP29OPGE/cDA8YT9BbTxhPzE6NjpuTTxhPzY6RHA8YT8xOjY6RGI8YT9veDxhP0JEPGE/MTo2OnlWPGE/MTo2OnVVPGE/dk48YT8xOjY6dWk8YT8xOjY6eVg8YT93ZzxhP0M2PGE/Qjk8YT8xOjY6MTpBbDxhPzY6ek88YT8xOjY6dEQ8YT95ZDxhPzE6Njp0eTxhP3d0PGE/MTo2OngkPGE/MTo2OkRzPGE/blQ8YT96ZDxhP0JlPGE/ejQ8YT90cTxhP3o4PGE/dWQ8YT8xOjY6dms8YT8xOjY6QUM8YT9DJDxhPzE6Njp0NzxhPzE6NjpDYjxhP3dGPGE/cXE8YT8xOjY6MTo2Onp2PGE/eEw8YT92VzxhP3VuPGE/MTo2OnRDPGE/MTo2OnFTPGE/eHY8YT8xOjY6djQ8YT8xOjY6eFQ8YT9CYzxhPzE6Njp5ZTxhP3hYPGE/MTo2OnBxPGE/MTo2OkFfPGE/dWc8YT91SjxhP3d1PGE/d3M8YT8xOjY6QXk8YT8xOjY6dEk8YT93SjxhPzE6NjpCdTxhPzE6Njp0bTxhP25ZPGE/eHU8YT8xOjY6b1U8YT8xOjY6dU88YT91QTxhPzE6NjpEeDxhPzE6Njp6MTxhP3hEPGE/eU48YT9DUzxhPzE6NjpERDxhPzE6Njp1ZjxhP0QzPGE/MTo2OnlhPGE/MTo2OnZPPGE/dm08YT8xOjY6NjpEWTxhP0F1PGE/dm48YT93aDxhPzY6dCQ8YT91eDxhPzE6NjpCJDxhPzE6NjpDeTxhP0RjPGE/dmU8YT8xOjY6MTo2OkJ0PGE/dVQ8YT9CWDxhPzE6Njo2OnljPGE/QUw8YT92TDxhPzE6NjoxOnUyPGE/NjoxOnU4PGE/REI8YT9wVDxhPzY6RG08YT8xOjY6eW88YT90MTxhP3ZQPGE/MTo2OnVfPGE/MTo2Ong1PGE/MTo2OnpZPGE/dkQ8YT9CbzxhPzE6Njp1eTxhPzE6NjpCTTxhP0FOPGE/NjpBODxhPzE6Njp0WDxhP3pIPGE/MTo2OnpOPGE/MTo2OkNJPGE/emI8YT95czxhP3A2PGE/dGo8YT9uQzxhP3dCPGE/MTo2OkRnPGE/MTo2OkRLPGE/MTo2OnpRPGE/cHM8YT9ENjxhPzE6NjoxOjY6Q188YT95eTxhP3lsPGE/QkM8YT8xOjY6MTo2OkRNPGE/b248YT9EZDxhPzE6NjpCZDxhPzE6NjpCMzxhPzE6NjpvQTxhP3FVPGE/amE8YT9DcDxhPzY6amI8YT8xOjI6b208YT95NjxhPzE6Njp5RDxhPzE6NjpxTDxhP3F0PGE/QlM8YT8xOjY6ekM8YT8xOjY6cVg8YT91MTxhPzE6NjpCejxhPzE6Njp4ejxhP3hyPGE/cW48YT9DTjxhPzE6Njp2SDxhPzE6NjpwUjxhP3pBPGE/MTo2OnFGPGE/MTo2OkFCPGE/dzM8YT9ETDxhPzE6NjpvdDxhPzE6NjpuSzxhP3FZPGE/MTo2OnlCPGE/MTo2OnFjPGE/d1Y8YT9EajxhP3ZwPGE/ekk8YT9CZjxhPzE6NjpEOTxhPzE6NjpDdjxhPzE6Njp0QTxhP3VFPGE/NjoxOjY6ejA8YT96NjxhP3RNPGE/cEg8YT8xOjY6RFI8YT8xOjY6d0g8YT93VzxhPzE6NjoxOjY6eSQ8YT91NzxhP25CPGE/cE88YT9wTjxhPzE6NjpvbzxhPzE6Njp4czxhP3FBPGE/MTo2OjE6bzM8YT9CXzxhPzY6b1o8YT8xOjY6enI8YT91ZTxhPzE6NjpwZTxhPzE6Njp0UjxhP3Z1PGE/QUU8YT9uSTxhPzE6Njp4SDxhPzE6Njp5ZjxhP29RPGE/MTo2OnF3PGE/MTo2OmpqPGE/amU8YT9pXzxhPzE6MjpqcjxhPzE6MjphWTxhP2FQPGE/MTozOmpmPGE/MToyOncoXCJcXHgwMVxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAzXFx4MDRcXHgwM1xceDAzXFx4MDVcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwM1xceDAyXFx4MDZcXHgwMlxceDA3XFx4MDJcXHgwMlxceDA2XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFxiXFx0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXG5cXHgwMlxceDBiXFxmXFxyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDBlXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MGZcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwM1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwMlxceDA3XFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwMlxceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDNcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwMlxceDA3XFx4MDJcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDdcXHgwN1xceDA3XFx4MDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDAyXFx4MDJcXHgwMlwiLGErMXwwKS0xfDB9ZnVuY3Rpb25cbkdMKGEpe2Zvcig7Oyl7UyhhKTt2YXJcbmM9ZyhhKSxkPWFpPGM/MTp3KFwiXFx4MDFcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwM1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAyXFx4MDRcXHgwMlxceDAyXFx4MDNcXHgwMlxceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcIixjKzF8MCktMXwwO2lmKDM8ZD4+PjApdmFyXG5iPWgoYSk7ZWxzZVxuc3dpdGNoKGQpe2Nhc2VcbjA6dmFyXG5iPTE7YnJlYWs7Y2FzZVxuMTp2YXJcbmI9MjticmVhaztjYXNlXG4yOnZhclxuYj0wO2JyZWFrO2RlZmF1bHQ6byhhLDIpO2lmKDA9PT1pbShnKGEpKSl7dmFyXG5lPWlTKGcoYSkpO2lmKDA9PT1lKXZhclxuYj0wPT09VyhnKGEpKT8wPT09VyhnKGEpKT8wPT09VyhnKGEpKT8wOmgoYSk6aChhKTpoKGEpO2Vsc2UgaWYoMT09PWUmJjA9PT1XKGcoYSkpKXtmb3IoOzspe3ZhclxuZj1pUihnKGEpKTtpZigwIT09ZilicmVha312YXJcbmI9MT09PWY/MDpoKGEpfWVsc2VcbnZhclxuYj1oKGEpfWVsc2VcbnZhclxuYj1oKGEpfWlmKDI8Yj4+PjApdGhyb3cgeChbMCxZLF9DXSwxKTtzd2l0Y2goYil7Y2FzZVxuMDpicmVhaztjYXNlXG4xOnJldHVybjtkZWZhdWx0OmlmKCFyMShGNyhhKSkpe0Y5KGEsMSk7cmV0dXJufX19fWZ1bmN0aW9uXG5tUShhLGIpe3ZhclxuYz1iLWFbM11bMl18MDtyZXR1cm5bMCxHayhhKSxjXX1mdW5jdGlvblxua1QoYSxiLGMpe3ZhclxuZD1tUShhLGMpLGU9bVEoYSxiKTtyZXR1cm5bMCxhWzFdLGUsZF19ZnVuY3Rpb25cbmE1KGEsYil7cmV0dXJuIG1RKGEsYls2XSl9ZnVuY3Rpb25cbmJCKGEsYil7cmV0dXJuIG1RKGEsYlszXSl9ZnVuY3Rpb25cbmFhKGEsYil7cmV0dXJuIGtUKGEsYls2XSxiWzNdKX1mdW5jdGlvblxuR00oYSxiKXthOmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCIpe3N3aXRjaChiWzBdKXtjYXNlXG4yOnZhclxuYz1iWzFdWzFdO2JyZWFrO2Nhc2VcbjM6cmV0dXJuIGJbMV1bMV07Y2FzZVxuNDp2YXJcbmM9YlsxXTticmVhaztjYXNlXG41OnJldHVybiBiWzFdO2Nhc2Vcbjg6dmFyXG5jPWJbMl07YnJlYWs7Y2FzZVxuOTpyZXR1cm4gYlsxXTtjYXNlXG4xMDpyZXR1cm4gYlsxXTtkZWZhdWx0OmJyZWFrIGF9cmV0dXJuIGN9cmV0dXJuIGFhKGEsYVsyXSl9ZnVuY3Rpb25cbmE2KGEsYixjKXtyZXR1cm5bMCxhWzFdLGFbMl0sYVszXSxhWzRdLGFbNV0sWzAsWzAsYixjXSxhWzZdXSxhWzddXX1mdW5jdGlvblxuR04oYSxiLGMpe3JldHVybiBhNihhLGIsWzI2LG1yKGMpXSl9ZnVuY3Rpb25cbnI5KGEsYixjLGQpe3JldHVybiBhNihhLGIsWzI3LGMsZF0pfWZ1bmN0aW9uXG5iWihhLGIpe3JldHVybiBhNihhLGIsX0UpfWZ1bmN0aW9uXG5iZyhhLGIpe3ZhclxuYz1iWzNdLGQ9WzAsR2soYSkrMXwwLGNdO3JldHVyblswLGFbMV0sYVsyXSxkLGFbNF0sYVs1XSxhWzZdLGFbN11dfWZ1bmN0aW9uXG5iNyhhLGIsYyxkLGUpe3ZhclxuZj1bMCxhWzFdLGIsY10sZz1hRChkKSxoPWU/MDoxO3JldHVyblswLGYsWzAsaCxnLGFbN11bM11bMV08ZlsyXVsxXT8xOjBdXX1mdW5jdGlvblxuYjgoYSxiKXt2YXJcbmM9a1AoYik7c3dpdGNoKGEpe2Nhc2VcbjE6dHJ5e3ZhclxuaT1xOShqeChKKF9ILGMpKSksZD1pfWNhdGNoKGYpe3ZhclxuZz1hQyhmKTtpZihnWzFdIT09Y20pdGhyb3cgeChnLDApO3ZhclxuZD1FKEooX0csYykpfWJyZWFrO2Nhc2VcbjA6Y2FzZVxuMzp0cnl7dmFyXG5mPXE5KGp4KGMpKSxkPWZ9Y2F0Y2goZil7dmFyXG5lPWFDKGYpO2lmKGVbMV0hPT1jbSl0aHJvdyB4KGUsMCk7dmFyXG5kPUUoSihfRixjKSl9YnJlYWs7ZGVmYXVsdDp0cnl7dmFyXG5qPUV1KGMpLGQ9an1jYXRjaChmKXt2YXJcbmg9YUMoZik7aWYoaFsxXSE9PWNtKXRocm93IHgoaCwwKTt2YXJcbmQ9RShKKF9JLGMpKX19cmV0dXJuWzEyLGEsZCxjXX1mdW5jdGlvblxuYjkoYSxiKXt2YXJcbmM9a1AoYiksZD1HKGMpO2E6e2lmKDAhPT1kJiZhWj09PWFCKGMsZC0xfDApKXt2YXJcbmU9YTIoYywwLGQtMXwwKTticmVhayBhfXZhclxuZT1jfXJldHVyblsxMyxhLEU5KGUpLGNdfWZ1bmN0aW9uXG5HTyhhLGIsYyl7cmV0dXJuIHIxKGMpP2E6YTYoYSxiLDI4KX1mdW5jdGlvblxuR1AoYSxiLGMsZCxlKXt2YXJcbmY9a1QoYSxiK2NbNl18MCxiK2NbM118MCk7cmV0dXJuWzAsZixrTyhjLGQsKG1qKGMpLWR8MCktZXwwKV19ZnVuY3Rpb25cbkdRKGEsYil7dmFyXG55PWFbMl1bNl0sYz1bMCxiLGIubGVuZ3RoLTEsRjYsRjUsRjQsRjMsRjIsRjEsRjAsRlosRlksRlhdLGk9YWQoYi5sZW5ndGgtMSksZD1hO2Zvcig7Oyl7UyhjKTt2YXJcbnA9ZyhjKSxxPTkyPHA/MTp3KFwiXFx4MDFcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDNcIixwKzF8MCktMXwwO2lmKDI8cT4+PjApdmFyXG5lPWgoYyk7ZWxzZVxuc3dpdGNoKHEpe2Nhc2VcbjA6dmFyXG5lPTI7YnJlYWs7Y2FzZVxuMTpmb3IoOzspe28oYywzKTt2YXJcbmo9ZyhjKSx6PS0xPGo/OTE8aj85MjxqPzA6LTE6MDotMTtpZigwIT09eilicmVha312YXJcbmU9aChjKTticmVhaztkZWZhdWx0Om8oYywzKTtpZigwPT09aW0oZyhjKSkpe3Zhclxucj1pUyhnKGMpKTtpZigwPT09cil2YXJcbmU9MD09PVcoZyhjKSk/MD09PVcoZyhjKSk/MD09PVcoZyhjKSk/MDpoKGMpOmgoYyk6aChjKTtlbHNlIGlmKDE9PT1yJiYwPT09VyhnKGMpKSl7Zm9yKDs7KXt2YXJcbnM9aVIoZyhjKSk7aWYoMCE9PXMpYnJlYWt9dmFyXG5lPTE9PT1zPzE6aChjKX1lbHNlXG52YXJcbmU9aChjKX1lbHNlXG52YXJcbmU9aChjKX1pZigzPGU+Pj4wKXJldHVybiBFKF9KKTtzd2l0Y2goZSl7Y2FzZVxuMDp2YXJcbnQ9R1AoZCx5LGMsMiwwKSx1PXRbMV0sZj1iMyhKKF9LLHRbMl0pKSxrPTA8PWY/MTowLGw9az9mPD01NTI5NT8xOjA6aztpZihsKXZhclxubT1sO2Vsc2VcbnZhclxubj01NzM0NDw9Zj8xOjAsbT1uP2Y8PXBEPzE6MDpuO3ZhclxuQT1tP0dPKGQsdSxmKTphNihkLHUsMjgpO2NLKGksZik7dmFyXG5kPUE7YnJlYWs7Y2FzZVxuMTp2YXJcbnY9R1AoZCx5LGMsMywxKSxCPXZbMV0seD1iMyhKKF9MLHZbMl0pKSxDPUdPKGQsQix4KTtjSyhpLHgpO3ZhclxuZD1DO2JyZWFrO2Nhc2VcbjI6cmV0dXJuWzAsZCxhRChpKV07ZGVmYXVsdDptayhjLGkpfX19ZnVuY3Rpb25cbmF3KGEsYixjKXt2YXJcbmQ9YlooYSxhYShhLGIpKTtqSihiKTtyZXR1cm4gYyhkLGIpfWZ1bmN0aW9uXG5pVShhLGIsYyl7dmFyXG5kPWE7Zm9yKDs7KXtTKGMpO3ZhclxuaT1nKGMpLGs9LTE8aT80MjxpP2FQPGk/MDphWTxpPzE6MDp3KFwiXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMlxceDAxXFx4MDFcXHgwM1xceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDRcIixpKS0xfDA6LTE7aWYoMzxrPj4+MCl2YXJcbmY9aChjKTtlbHNlXG5zd2l0Y2goayl7Y2FzZVxuMDpmb3IoOzspe28oYywzKTt2YXJcbmU9ZyhjKSxwPS0xPGU/NDE8ZT80MjxlP2FZPGU/YVA8ZT8wOi0xOjA6LTE6dyhcIlxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFx4MDFcXHgwMVxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXCIsZSktMXwwOi0xO2lmKDAhPT1wKWJyZWFrfXZhclxuZj1oKGMpO2JyZWFrO2Nhc2VcbjE6dmFyXG5mPTA7YnJlYWs7Y2FzZVxuMjpvKGMsMCk7dmFyXG5mPTA9PT1iQShnKGMpKT8wOmgoYyk7YnJlYWs7ZGVmYXVsdDpvKGMsMyk7dmFyXG5qPWcoYyksbD00NDxqPzQ3PGo/LTE6dyhcIlxceDAxXFwwXFx4MDJcIixqK0I3fDApLTF8MDotMSxmPTA9PT1sPzA9PT1HSShnKGMpKT8yOmgoYyk6MT09PWw/MTpoKGMpfWlmKDM8Zj4+PjApe3ZhclxubT1iWihkLGFhKGQsYykpO3JldHVyblswLG0sYkIobSxjKV19c3dpdGNoKGYpe2Nhc2VcbjA6dmFyXG5xPWJnKGQsYyk7bWsoYyxiKTt2YXJcbmQ9cTticmVhaztjYXNlXG4xOnZhclxubj1kWzRdP3I5KGQsYWEoZCxjKSxfTixfTSk6ZDtyZXR1cm5bMCxuLGJCKG4sYyldO2Nhc2VcbjI6aWYoZFs0XSlyZXR1cm5bMCxkLGJCKGQsYyldO08oYixfTyk7YnJlYWs7ZGVmYXVsdDptayhjLGIpfX19ZnVuY3Rpb25cbmpPKGEsYixjKXtmb3IoOzspe1MoYyk7dmFyXG5mPWcoYyksaT0xMzxmP2FQPGY/MTphWTxmPzI6MTp3KFwiXFx4MDFcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAzXFx4MDJcXHgwMlxceDA0XCIsZisxfDApLTF8MDtpZigzPGk+Pj4wKXZhclxuZT1oKGMpO2Vsc2VcbnN3aXRjaChpKXtjYXNlXG4wOnZhclxuZT0wO2JyZWFrO2Nhc2VcbjE6Zm9yKDs7KXtvKGMsMik7dmFyXG5kPWcoYyksaz0tMTxkPzEyPGQ/MTM8ZD9hWTxkP2FQPGQ/MDotMTowOi0xOncoXCJcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxceDAxXFx4MDFcIixkKS0xfDA6LTE7aWYoMCE9PWspYnJlYWt9dmFyXG5lPWgoYyk7YnJlYWs7Y2FzZVxuMjp2YXJcbmU9MTticmVhaztkZWZhdWx0Om8oYywxKTt2YXJcbmU9MD09PWJBKGcoYykpPzE6aChjKX1pZigyPGU+Pj4wKXJldHVybiBFKF9QKTtzd2l0Y2goZSl7Y2FzZVxuMDpyZXR1cm5bMCxhLGJCKGEsYyldO2Nhc2VcbjE6dmFyXG5qPWJCKGEsYyksbD1qWzJdLG09alsxXSxuPWJnKGEsYyk7cmV0dXJuWzAsbixbMCxtLGwtbWooYyl8MF1dO2RlZmF1bHQ6bWsoYyxiKX19fWZ1bmN0aW9uXG5HUihhLGIpe2Z1bmN0aW9uXG5rKGEpe28oYSwzKTtyZXR1cm4gMD09PWJmKGcoYSkpPzI6aChhKX1TKGIpO3ZhclxuZD1nKGIpLGw9ZW88ZD9hUDxkPzE6YVk8ZD8yOjE6dyhcIlxceDAxXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwM1xceDAyXFx4MDJcXHgwNFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDVcXHgwNlxceDA2XFx4MDZcXHgwNlxceDA2XFx4MDZcXHgwNlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxcYlxceDAyXFx4MDJcXHgwMlxcdFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFxuXFx4MDJcXHgwMlxceDAyXFx4MGJcXHgwMlxcZlxcclxceDBlXFx4MDJcXHgwZlwiLGQrMXwwKS0xfDA7aWYoMTQ8bD4+PjApdmFyXG5jPWgoYik7ZWxzZVxuc3dpdGNoKGwpe2Nhc2VcbjA6dmFyXG5jPTA7YnJlYWs7Y2FzZVxuMTp2YXJcbmM9MTY7YnJlYWs7Y2FzZVxuMjp2YXJcbmM9MTU7YnJlYWs7Y2FzZVxuMzpvKGIsMTUpO3ZhclxuYz0wPT09YkEoZyhiKSk/MTU6aChiKTticmVhaztjYXNlXG40Om8oYiw0KTt2YXJcbmM9MD09PWJmKGcoYikpP2soYik6aChiKTticmVhaztjYXNlXG41Om8oYiwxMSk7dmFyXG5jPTA9PT1iZihnKGIpKT9rKGIpOmgoYik7YnJlYWs7Y2FzZVxuNjp2YXJcbmM9MDticmVhaztjYXNlXG43OnZhclxuYz01O2JyZWFrO2Nhc2Vcbjg6dmFyXG5jPTY7YnJlYWs7Y2FzZVxuOTp2YXJcbmM9NzticmVhaztjYXNlXG4xMDp2YXJcbmM9ODticmVhaztjYXNlXG4xMTp2YXJcbmM9OTticmVhaztjYXNlXG4xMjpvKGIsMTQpO3ZhclxubT1pUyhnKGIpKTtpZigwPT09bSl2YXJcbmM9MD09PVcoZyhiKSk/MD09PVcoZyhiKSk/MD09PVcoZyhiKSk/MTI6aChiKTpoKGIpOmgoYik7ZWxzZSBpZigxPT09bSYmMD09PVcoZyhiKSkpe2Zvcig7Oyl7dmFyXG5uPWlSKGcoYikpO2lmKDAhPT1uKWJyZWFrfXZhclxuYz0xPT09bj8xMzpoKGIpfWVsc2VcbnZhclxuYz1oKGIpO2JyZWFrO2Nhc2VcbjEzOnZhclxuYz0xMDticmVhaztkZWZhdWx0Om8oYiwxNCk7dmFyXG5jPTA9PT1XKGcoYikpPzA9PT1XKGcoYikpPzE6aChiKTpoKGIpfWlmKDE2PGM+Pj4wKXJldHVybiBFKF9RKTtzd2l0Y2goYyl7Y2FzZVxuMDp2YXJcbnQ9SChiKTtyZXR1cm5bMCxhLHQsYWooYiksMF07Y2FzZVxuMTp2YXJcbnA9SChiKTtyZXR1cm5bMCxhLHAsWzAsYjMoSihfUixwKSldLDBdO2Nhc2VcbjI6dmFyXG5mPUgoYiksZT1iMyhKKF9TLGYpKTtyZXR1cm4gbEI8PWU/WzAsYSxmLFswLGU+Pj4zfDAsNDgrKGUmNyl8MF0sMV06WzAsYSxmLFswLGVdLDFdO2Nhc2VcbjM6dmFyXG5xPUgoYik7cmV0dXJuWzAsYSxxLFswLGIzKEooX1QscSkpXSwxXTtjYXNlXG40OnJldHVyblswLGEsX1UsWzAsMF0sMF07Y2FzZVxuNTpyZXR1cm5bMCxhLF9WLFswLDhdLDBdO2Nhc2VcbjY6cmV0dXJuWzAsYSxfVyxbMCwxMl0sMF07Y2FzZVxuNzpyZXR1cm5bMCxhLF9YLFswLDEwXSwwXTtjYXNlXG44OnJldHVyblswLGEsX1ksWzAsMTNdLDBdO2Nhc2Vcbjk6cmV0dXJuWzAsYSxfWixbMCw5XSwwXTtjYXNlXG4xMDpyZXR1cm5bMCxhLF8wLFswLDExXSwwXTtjYXNlXG4xMTp2YXJcbnI9SChiKTtyZXR1cm5bMCxhLHIsWzAsYjMoSihfMSxyKSldLDFdO2Nhc2VcbjEyOnZhclxuaT1IKGIpO3JldHVyblswLGEsaSxbMCxiMyhKKF8yLGEyKGksMSxHKGkpLTF8MCkpKV0sMF07Y2FzZVxuMTM6dmFyXG5qPUgoYikscz1iMyhKKF8zLGEyKGosMixHKGopLTN8MCkpKSx1PXBEPHM/YlooYSxhYShhLGIpKTphO3JldHVyblswLHUsaixbMCxzXSwwXTtjYXNlXG4xNDp2YXJcbnY9SChiKSx4PWFqKGIpO3JldHVyblswLGJaKGEsYWEoYSxiKSksdix4LDBdO2Nhc2VcbjE1OnZhclxueT1IKGIpO3JldHVyblswLGJnKGEsYikseSxbMF0sMF07ZGVmYXVsdDp2YXJcbno9SChiKTtyZXR1cm5bMCxhLHosYWooYiksMF19fWZ1bmN0aW9uXG5HUyhhLGIsYyxkLGUsZil7dmFyXG5pPWEsaz1lO2Zvcig7Oyl7UyhmKTt2YXJcbnQ9ZyhmKSx1PTkyPHQ/MTp3KFwiXFx4MDFcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAzXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwNFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDVcIix0KzF8MCktMXwwO2lmKDQ8dT4+PjApdmFyXG5qPWgoZik7ZWxzZVxuc3dpdGNoKHUpe2Nhc2VcbjA6dmFyXG5qPTM7YnJlYWs7Y2FzZVxuMTpmb3IoOzspe28oZiw0KTt2YXJcbmw9ZyhmKSxBPS0xPGw/OTE8bD85MjxsPzA6LTE6dyhcIlxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcIixsKS0xfDA6LTE7aWYoMCE9PUEpYnJlYWt9dmFyXG5qPWgoZik7YnJlYWs7Y2FzZVxuMjp2YXJcbmo9MjticmVhaztjYXNlXG4zOnZhclxuaj0wO2JyZWFrO2RlZmF1bHQ6dmFyXG5qPTF9aWYoNDxqPj4+MClyZXR1cm4gRShfNCk7c3dpdGNoKGope2Nhc2VcbjA6dmFyXG5wPUgoZik7TyhkLHApO2lmKFgoYixwKSlyZXR1cm5bMCxpLGJCKGksZiksa107TyhjLHApO2JyZWFrO2Nhc2VcbjE6TyhkLF81KTt2YXJcbm09R1IoaSxmKSxCPW1bNF0sQz1tWzNdLEQ9bVsyXSxGPW1bMV0sRz1CfHxrO08oZCxEKTtFOChmdW5jdGlvbihhKXtyZXR1cm4gY0soYyxhKX0sQyk7dmFyXG5pPUYsaz1HO2JyZWFrO2Nhc2VcbjI6dmFyXG52PUgoZik7TyhkLHYpO3ZhclxueD1iZyhiWihpLGFhKGksZikpLGYpO08oYyx2KTtyZXR1cm5bMCx4LGJCKHgsZiksa107Y2FzZVxuMzp2YXJcbnk9SChmKTtPKGQseSk7dmFyXG56PWJaKGksYWEoaSxmKSk7TyhjLHkpO3JldHVyblswLHosYkIoeixmKSxrXTtkZWZhdWx0OnZhclxucT1mWzZdLHI9ZlszXS1xfDAsbj1hcihyKjR8MCkscz1rTihmWzFdLHEscixuKTtycChkLG4sMCxzKTtycChjLG4sMCxzKX19fWZ1bmN0aW9uXG5HVChhLGIsYyxkKXt2YXJcbmU9YTtmb3IoOzspe1MoZCk7dmFyXG5rPWcoZCksbD05NjxrPzE6dyhcIlxceDAxXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwM1xceDAyXFx4MDJcXHgwNFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDVcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA2XFx4MDJcXHgwMlxceDAyXFx4MDdcIixrKzF8MCktMXwwO2lmKDY8bD4+PjApdmFyXG5mPWgoZCk7ZWxzZVxuc3dpdGNoKGwpe2Nhc2VcbjA6dmFyXG5mPTA7YnJlYWs7Y2FzZVxuMTpmb3IoOzspe28oZCw2KTt2YXJcbmk9ZyhkKSxwPS0xPGk/OTU8aT85NjxpPzA6LTE6dyhcIlxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFx4MDFcXHgwMVxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXHgwMVxceDAxXFx4MDFcIixpKS0xfDA6LTE7aWYoMCE9PXApYnJlYWt9dmFyXG5mPWgoZCk7YnJlYWs7Y2FzZVxuMjp2YXJcbmY9NTticmVhaztjYXNlXG4zOm8oZCw1KTt2YXJcbmY9MD09PWJBKGcoZCkpPzQ6aChkKTticmVhaztjYXNlXG40Om8oZCw2KTt2YXJcbm09ZyhkKSxxPWFpPG0/Y3g8bT8tMTowOi0xLGY9MD09PXE/MjpoKGQpO2JyZWFrO2Nhc2VcbjU6dmFyXG5mPTM7YnJlYWs7ZGVmYXVsdDp2YXJcbmY9MX1pZig2PGY+Pj4wKXJldHVybiBFKF82KTtzd2l0Y2goZil7Y2FzZVxuMDpyZXR1cm5bMCxiWihlLGFhKGUsZCkpLDFdO2Nhc2VcbjE6cmV0dXJuWzAsZSwxXTtjYXNlXG4yOnJldHVyblswLGUsMF07Y2FzZVxuMzpiVyhjLDkyKTt2YXJcbmo9R1IoZSxkKSxyPWpbM10scz1qWzFdO08oYyxqWzJdKTtFOChmdW5jdGlvbihhKXtyZXR1cm4gY0soYixhKX0scik7dmFyXG5lPXM7YnJlYWs7Y2FzZVxuNDpPKGMsXzcpO08oYixfOCk7dmFyXG5lPWJnKGUsZCk7YnJlYWs7Y2FzZVxuNTpPKGMsSChkKSk7YlcoYiwxMCk7dmFyXG5lPWJnKGUsZCk7YnJlYWs7ZGVmYXVsdDp2YXJcbm49SChkKTtPKGMsbik7TyhiLG4pfX19ZnVuY3Rpb25cbiRxKGEsYixjKXt2YXJcbmQ9YTtmb3IoOzspe1MoYyk7dmFyXG5tPWcoYykscz05MjxtP2FQPG0/MTphWTxtPzI6MTp3KFwiXFx4MDFcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAzXFx4MDJcXHgwMlxceDA0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDVcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA2XFx4MDdcIixtKzF8MCktMXwwO2lmKDY8cz4+PjApdmFyXG5lPWgoYyk7ZWxzZVxuc3dpdGNoKHMpe2Nhc2VcbjA6dmFyXG5lPTA7YnJlYWs7Y2FzZVxuMTpmb3IoOzspe28oYyw3KTt2YXJcbmo9ZyhjKSx4PS0xPGo/OTA8aj85MjxqP2FZPGo/YVA8aj8wOi0xOjA6LTE6dyhcIlxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFwwXFx4MDFcXHgwMVxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXCIsaiktMXwwOi0xO2lmKDAhPT14KWJyZWFrfXZhclxuZT1oKGMpO2JyZWFrO2Nhc2VcbjI6dmFyXG5lPTY7YnJlYWs7Y2FzZVxuMzpvKGMsNik7dmFyXG5lPTA9PT1iQShnKGMpKT82OmgoYyk7YnJlYWs7Y2FzZVxuNDpvKGMsNCk7aWYoMD09PUdzKGcoYykpKXtmb3IoOzspe28oYywzKTtpZigwIT09R3MoZyhjKSkpYnJlYWt9dmFyXG5lPWgoYyl9ZWxzZVxudmFyXG5lPWgoYyk7YnJlYWs7Y2FzZVxuNTp2YXJcbmU9NTticmVhaztkZWZhdWx0Om8oYyw3KTt2YXJcbms9ZyhjKSx0PS0xPGs/MTM8az9hUDxrPzA6YVk8az8xOjA6dyhcIlxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDJcXHgwMVxceDAxXFx4MDNcIixrKS0xfDA6LTE7aWYoMjx0Pj4+MCl2YXJcbmU9aChjKTtlbHNlXG5zd2l0Y2godCl7Y2FzZVxuMDp2YXJcbmU9MjticmVhaztjYXNlXG4xOnZhclxuZT0xO2JyZWFrO2RlZmF1bHQ6byhjLDEpO3ZhclxuZT0wPT09YkEoZyhjKSk/MTpoKGMpfX1pZig3PGU+Pj4wKXJldHVybiBFKCRyKTtzd2l0Y2goZSl7Y2FzZVxuMDpyZXR1cm5bMCxhNihkLGFhKGQsYyksYVopLCRzXTtjYXNlXG4xOnJldHVyblswLGJnKGE2KGQsYWEoZCxjKSxhWiksYyksJHRdO2Nhc2VcbjI6TyhiLEgoYykpO2JyZWFrO2Nhc2VcbjM6dmFyXG51PUgoYyk7cmV0dXJuWzAsZCxhMih1LDEsRyh1KS0xfDApXTtjYXNlXG40OnJldHVyblswLGQsJHVdO2Nhc2VcbjU6YlcoYiw5MSk7YTp7Yjp7Yzp7ZDp7ZTpmb3IoOzspe1MoYyk7dmFyXG5sPWcoYykscT05MzxsP2FQPGw/MTphWTxsPzI6MTp3KFwiXFx4MDFcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAzXFx4MDJcXHgwMlxceDA0XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDVcXHgwNlwiLGwrMXwwKS0xfDA7aWYoNTxxPj4+MCl2YXJcbmY9aChjKTtlbHNlXG5zd2l0Y2gocSl7Y2FzZVxuMDp2YXJcbmY9MDticmVhaztjYXNlXG4xOmZvcig7Oyl7byhjLDUpO3ZhclxuaT1nKGMpLHY9LTE8aT85MTxpPzkzPGk/YVk8aT9hUDxpPzA6LTE6MDotMTp3KFwiXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXHgwMVxceDAxXFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXCIsaSktMXwwOi0xO2lmKDAhPT12KWJyZWFrfXZhclxuZj1oKGMpO2JyZWFrO2Nhc2VcbjI6dmFyXG5mPTQ7YnJlYWs7Y2FzZVxuMzpvKGMsNCk7dmFyXG5mPTA9PT1iQShnKGMpKT80OmgoYyk7YnJlYWs7Y2FzZVxuNDpvKGMsNSk7dmFyXG5wPWcoYykscj05MTxwPzkzPHA/LTE6dyhvdyxwLTkyfDApLTF8MDotMSxmPTA9PT1yPzE6MT09PXI/MjpoKGMpO2JyZWFrO2RlZmF1bHQ6dmFyXG5mPTN9aWYoNTxmPj4+MClicmVhayBiO3N3aXRjaChmKXtjYXNlXG4wOmJyZWFrIGM7Y2FzZVxuMTpPKGIsJHApO2JyZWFrO2Nhc2VcbjI6YlcoYiw5Mik7YlcoYiw5Myk7YnJlYWs7Y2FzZVxuMzpicmVhayBkO2Nhc2VcbjQ6YnJlYWsgZTtkZWZhdWx0Ok8oYixIKGMpKX19dmFyXG5uPWJnKGE2KGQsYWEoZCxjKSxhWiksYyk7YnJlYWsgYX1iVyhiLDkzKTt2YXJcbm49ZDticmVhayBhfXZhclxubj1kO2JyZWFrIGF9dmFyXG5uPUUoJG8pfXZhclxuZD1uO2JyZWFrO2Nhc2VcbjY6cmV0dXJuWzAsYmcoYTYoZCxhYShkLGMpLGFaKSxjKSwkdl07ZGVmYXVsdDpPKGIsSChjKSl9fX1mdW5jdGlvblxuR1UoYSl7dmFyXG5iPUMoYSxcImlleGNsXCIpO2lmKDA8PWIpe2lmKDA+PWIpcmV0dXJuIGFidjt2YXJcbmM9QyhhLFwicHJpbWVcIik7aWYoMDw9Yyl7aWYoMD49YylyZXR1cm4gYWF2O3ZhclxuZD1DKGEsXCJzdXAxXCIpO2lmKDA8PWQpe2lmKDA+PWQpcmV0dXJuICQxO3ZhclxuZT1DKGEsXCJ1YXJyXCIpO2lmKDA8PWUpe2lmKDA+PWUpcmV0dXJuICRMO3ZhclxuZj1DKGEsXCJ4aVwiKTtpZigwPD1mKXtpZigwPj1mKXJldHVybiAkRDtpZighayhhLFwieWFjdXRlXCIpKXJldHVybiAkQztpZighayhhLFwieWVuXCIpKXJldHVybiAkQjtpZighayhhLFwieXVtbFwiKSlyZXR1cm4gJEE7aWYoIWsoYSxcInpldGFcIikpcmV0dXJuICR6O2lmKCFrKGEsXCJ6d2pcIikpcmV0dXJuICR5O2lmKCFrKGEsXCJ6d25qXCIpKXJldHVybiAkeH1lbHNle2lmKCFrKGEsXCJ1Y2lyY1wiKSlyZXR1cm4gJEs7aWYoIWsoYSxcInVncmF2ZVwiKSlyZXR1cm4gJEo7aWYoIWsoYSxcInVtbFwiKSlyZXR1cm4gJEk7aWYoIWsoYSxcInVwc2loXCIpKXJldHVybiAkSDtpZighayhhLFwidXBzaWxvblwiKSlyZXR1cm4gJEc7aWYoIWsoYSxcInV1bWxcIikpcmV0dXJuICRGO2lmKCFrKGEsXCJ3ZWllcnBcIikpcmV0dXJuICRFfX1lbHNle3ZhclxuZz1DKGEsXCJ0aGV0YXN5bVwiKTtpZigwPD1nKXtpZigwPj1nKXJldHVybiAkVDtpZighayhhLFwidGhpbnNwXCIpKXJldHVybiAkUztpZighayhhLFwidGhvcm5cIikpcmV0dXJuICRSO2lmKCFrKGEsXCJ0aWxkZVwiKSlyZXR1cm4gJFE7aWYoIWsoYSxcInRpbWVzXCIpKXJldHVybiAkUDtpZighayhhLFwidHJhZGVcIikpcmV0dXJuICRPO2lmKCFrKGEsXCJ1QXJyXCIpKXJldHVybiAkTjtpZighayhhLFwidWFjdXRlXCIpKXJldHVybiAkTX1lbHNle2lmKCFrKGEsXCJzdXAyXCIpKXJldHVybiAkMDtpZighayhhLFwic3VwM1wiKSlyZXR1cm4gJFo7aWYoIWsoYSxcInN1cGVcIikpcmV0dXJuICRZO2lmKCFrKGEsXCJzemxpZ1wiKSlyZXR1cm4gJFg7aWYoIWsoYSxcInRhdVwiKSlyZXR1cm4gJFc7aWYoIWsoYSxcInRoZXJlNFwiKSlyZXR1cm4gJFY7aWYoIWsoYSxcInRoZXRhXCIpKXJldHVybiAkVX19fWVsc2V7dmFyXG5oPUMoYSxcInJsbVwiKTtpZigwPD1oKXtpZigwPj1oKXJldHVybiBhYWY7dmFyXG5pPUMoYSxcInNpZ21hXCIpO2lmKDA8PWkpe2lmKDA+PWkpcmV0dXJuICQ5O2lmKCFrKGEsXCJzaWdtYWZcIikpcmV0dXJuICQ4O2lmKCFrKGEsXCJzaW1cIikpcmV0dXJuICQ3O2lmKCFrKGEsXCJzcGFkZXNcIikpcmV0dXJuICQ2O2lmKCFrKGEsXCJzdWJcIikpcmV0dXJuICQ1O2lmKCFrKGEsXCJzdWJlXCIpKXJldHVybiAkNDtpZighayhhLFwic3VtXCIpKXJldHVybiAkMztpZighayhhLFwic3VwXCIpKXJldHVybiAkMn1lbHNle2lmKCFrKGEsXCJyc2FxdW9cIikpcmV0dXJuIGFhZTtpZighayhhLFwicnNxdW9cIikpcmV0dXJuIGFhZDtpZighayhhLFwic2JxdW9cIikpcmV0dXJuIGFhYztpZighayhhLFwic2Nhcm9uXCIpKXJldHVybiBhYWI7aWYoIWsoYSxcInNkb3RcIikpcmV0dXJuIGFhYTtpZighayhhLFwic2VjdFwiKSlyZXR1cm4gJCQ7aWYoIWsoYSxcInNoeVwiKSlyZXR1cm4gJF99fWVsc2V7dmFyXG5qPUMoYSxcInJhcXVvXCIpO2lmKDA8PWope2lmKDA+PWopcmV0dXJuIGFhbjtpZighayhhLFwicmFyclwiKSlyZXR1cm4gYWFtO2lmKCFrKGEsXCJyY2VpbFwiKSlyZXR1cm4gYWFsO2lmKCFrKGEsXCJyZHF1b1wiKSlyZXR1cm4gYWFrO2lmKCFrKGEsXCJyZWFsXCIpKXJldHVybiBhYWo7aWYoIWsoYSxcInJlZ1wiKSlyZXR1cm4gYWFpO2lmKCFrKGEsXCJyZmxvb3JcIikpcmV0dXJuIGFhaDtpZighayhhLFwicmhvXCIpKXJldHVybiBhYWd9ZWxzZXtpZighayhhLFwicHJvZFwiKSlyZXR1cm4gYWF1O2lmKCFrKGEsXCJwcm9wXCIpKXJldHVybiBhYXQ7aWYoIWsoYSxcInBzaVwiKSlyZXR1cm4gYWFzO2lmKCFrKGEsXCJxdW90XCIpKXJldHVybiBhYXI7aWYoIWsoYSxcInJBcnJcIikpcmV0dXJuIGFhcTtpZighayhhLFwicmFkaWNcIikpcmV0dXJuIGFhcDtpZighayhhLFwicmFuZ1wiKSlyZXR1cm4gYWFvfX19fWVsc2V7dmFyXG5sPUMoYSxcIm5kYXNoXCIpO2lmKDA8PWwpe2lmKDA+PWwpcmV0dXJuIGFhMTt2YXJcbm09QyhhLFwib3JcIik7aWYoMDw9bSl7aWYoMD49bSlyZXR1cm4gYWFMO3Zhclxubj1DKGEsXCJwYXJ0XCIpO2lmKDA8PW4pe2lmKDA+PW4pcmV0dXJuIGFhRDtpZighayhhLFwicGVybWlsXCIpKXJldHVybiBhYUM7aWYoIWsoYSxcInBlcnBcIikpcmV0dXJuIGFhQjtpZighayhhLFwicGhpXCIpKXJldHVybiBhYUE7aWYoIWsoYSxcInBpXCIpKXJldHVybiBhYXo7aWYoIWsoYSxcInBpdlwiKSlyZXR1cm4gYWF5O2lmKCFrKGEsXCJwbHVzbW5cIikpcmV0dXJuIGFheDtpZighayhhLFwicG91bmRcIikpcmV0dXJuIGFhd31lbHNle2lmKCFrKGEsXCJvcmRmXCIpKXJldHVybiBhYUs7aWYoIWsoYSxcIm9yZG1cIikpcmV0dXJuIGFhSjtpZighayhhLFwib3NsYXNoXCIpKXJldHVybiBhYUk7aWYoIWsoYSxcIm90aWxkZVwiKSlyZXR1cm4gYWFIO2lmKCFrKGEsXCJvdGltZXNcIikpcmV0dXJuIGFhRztpZighayhhLFwib3VtbFwiKSlyZXR1cm4gYWFGO2lmKCFrKGEsXCJwYXJhXCIpKXJldHVybiBhYUV9fWVsc2V7dmFyXG5vPUMoYSxcIm9hY3V0ZVwiKTtpZigwPD1vKXtpZigwPj1vKXJldHVybiBhYVQ7aWYoIWsoYSxcIm9jaXJjXCIpKXJldHVybiBhYVM7aWYoIWsoYSxcIm9lbGlnXCIpKXJldHVybiBhYVI7aWYoIWsoYSxcIm9ncmF2ZVwiKSlyZXR1cm4gYWFRO2lmKCFrKGEsXCJvbGluZVwiKSlyZXR1cm4gYWFQO2lmKCFrKGEsXCJvbWVnYVwiKSlyZXR1cm4gYWFPO2lmKCFrKGEsXCJvbWljcm9uXCIpKXJldHVybiBhYU47aWYoIWsoYSxcIm9wbHVzXCIpKXJldHVybiBhYU19ZWxzZXtpZighayhhLFwibmVcIikpcmV0dXJuIGFhMDtpZighayhhLFwibmlcIikpcmV0dXJuIGFhWjtpZighayhhLFwibm90XCIpKXJldHVybiBhYVk7aWYoIWsoYSxcIm5vdGluXCIpKXJldHVybiBhYVg7aWYoIWsoYSxcIm5zdWJcIikpcmV0dXJuIGFhVztpZighayhhLFwibnRpbGRlXCIpKXJldHVybiBhYVY7aWYoIWsoYSxcIm51XCIpKXJldHVybiBhYVV9fX1lbHNle3ZhclxucD1DKGEsXCJsZVwiKTtpZigwPD1wKXtpZigwPj1wKXJldHVybiBhYmY7dmFyXG5xPUMoYSxcIm1hY3JcIik7aWYoMDw9cSl7aWYoMD49cSlyZXR1cm4gYWE5O2lmKCFrKGEsXCJtZGFzaFwiKSlyZXR1cm4gYWE4O2lmKCFrKGEsXCJtaWNyb1wiKSlyZXR1cm4gYWE3O2lmKCFrKGEsXCJtaWRkb3RcIikpcmV0dXJuIGFhNjtpZighayhhLEtGKSlyZXR1cm4gYWE1O2lmKCFrKGEsXCJtdVwiKSlyZXR1cm4gYWE0O2lmKCFrKGEsXCJuYWJsYVwiKSlyZXR1cm4gYWEzO2lmKCFrKGEsXCJuYnNwXCIpKXJldHVybiBhYTJ9ZWxzZXtpZighayhhLFwibGZsb29yXCIpKXJldHVybiBhYmU7aWYoIWsoYSxcImxvd2FzdFwiKSlyZXR1cm4gYWJkO2lmKCFrKGEsXCJsb3pcIikpcmV0dXJuIGFiYztpZighayhhLFwibHJtXCIpKXJldHVybiBhYmI7aWYoIWsoYSxcImxzYXF1b1wiKSlyZXR1cm4gYWJhO2lmKCFrKGEsXCJsc3F1b1wiKSlyZXR1cm4gYWEkO2lmKCFrKGEsXCJsdFwiKSlyZXR1cm4gYWFffX1lbHNle3Zhclxucj1DKGEsXCJrYXBwYVwiKTtpZigwPD1yKXtpZigwPj1yKXJldHVybiBhYm47aWYoIWsoYSxcImxBcnJcIikpcmV0dXJuIGFibTtpZighayhhLFwibGFtYmRhXCIpKXJldHVybiBhYmw7aWYoIWsoYSxcImxhbmdcIikpcmV0dXJuIGFiaztpZighayhhLFwibGFxdW9cIikpcmV0dXJuIGFiajtpZighayhhLFwibGFyclwiKSlyZXR1cm4gYWJpO2lmKCFrKGEsXCJsY2VpbFwiKSlyZXR1cm4gYWJoO2lmKCFrKGEsXCJsZHF1b1wiKSlyZXR1cm4gYWJnfWVsc2V7aWYoIWsoYSxcImlncmF2ZVwiKSlyZXR1cm4gYWJ1O2lmKCFrKGEsXCJpbWFnZVwiKSlyZXR1cm4gYWJ0O2lmKCFrKGEsXCJpbmZpblwiKSlyZXR1cm4gYWJzO2lmKCFrKGEsXCJpb3RhXCIpKXJldHVybiBhYnI7aWYoIWsoYSxcImlxdWVzdFwiKSlyZXR1cm4gYWJxO2lmKCFrKGEsXCJpc2luXCIpKXJldHVybiBhYnA7aWYoIWsoYSxcIml1bWxcIikpcmV0dXJuIGFib319fX19ZWxzZXt2YXJcbnM9QyhhLFwiYWVsaWdcIik7aWYoMDw9cyl7aWYoMD49cylyZXR1cm4gYWN1O3ZhclxudD1DKGEsXCJkZWx0YVwiKTtpZigwPD10KXtpZigwPj10KXJldHVybiBhYjA7dmFyXG51PUMoYSxcImZub2ZcIik7aWYoMDw9dSl7aWYoMD49dSlyZXR1cm4gYWJLO3Zhclxudj1DKGEsXCJndFwiKTtpZigwPD12KXtpZigwPj12KXJldHVybiBhYkM7aWYoIWsoYSxcImhBcnJcIikpcmV0dXJuIGFiQjtpZighayhhLFwiaGFyclwiKSlyZXR1cm4gYWJBO2lmKCFrKGEsXCJoZWFydHNcIikpcmV0dXJuIGFiejtpZighayhhLFwiaGVsbGlwXCIpKXJldHVybiBhYnk7aWYoIWsoYSxcImlhY3V0ZVwiKSlyZXR1cm4gYWJ4O2lmKCFrKGEsXCJpY2lyY1wiKSlyZXR1cm4gYWJ3fWVsc2V7aWYoIWsoYSxcImZvcmFsbFwiKSlyZXR1cm4gYWJKO2lmKCFrKGEsXCJmcmFjMTJcIikpcmV0dXJuIGFiSTtpZighayhhLFwiZnJhYzE0XCIpKXJldHVybiBhYkg7aWYoIWsoYSxcImZyYWMzNFwiKSlyZXR1cm4gYWJHO2lmKCFrKGEsXCJmcmFzbFwiKSlyZXR1cm4gYWJGO2lmKCFrKGEsXCJnYW1tYVwiKSlyZXR1cm4gYWJFO2lmKCFrKGEsXCJnZVwiKSlyZXR1cm4gYWJEfX1lbHNle3Zhclxudz1DKGEsXCJlbnNwXCIpO2lmKDA8PXcpe2lmKDA+PXcpcmV0dXJuIGFiUztpZighayhhLFwiZXBzaWxvblwiKSlyZXR1cm4gYWJSO2lmKCFrKGEsXCJlcXVpdlwiKSlyZXR1cm4gYWJRO2lmKCFrKGEsXCJldGFcIikpcmV0dXJuIGFiUDtpZighayhhLFwiZXRoXCIpKXJldHVybiBhYk87aWYoIWsoYSxcImV1bWxcIikpcmV0dXJuIGFiTjtpZighayhhLFwiZXVyb1wiKSlyZXR1cm4gYWJNO2lmKCFrKGEsXCJleGlzdFwiKSlyZXR1cm4gYWJMfWVsc2V7aWYoIWsoYSxcImRpYW1zXCIpKXJldHVybiBhYlo7aWYoIWsoYSxcImRpdmlkZVwiKSlyZXR1cm4gYWJZO2lmKCFrKGEsXCJlYWN1dGVcIikpcmV0dXJuIGFiWDtpZighayhhLFwiZWNpcmNcIikpcmV0dXJuIGFiVztpZighayhhLFwiZWdyYXZlXCIpKXJldHVybiBhYlY7aWYoIWsoYSxiRikpcmV0dXJuIGFiVTtpZighayhhLFwiZW1zcFwiKSlyZXR1cm4gYWJUfX19ZWxzZXt2YXJcbng9QyhhLFwiY2FwXCIpO2lmKDA8PXgpe2lmKDA+PXgpcmV0dXJuIGFjZTt2YXJcbnk9QyhhLFwiY29weVwiKTtpZigwPD15KXtpZigwPj15KXJldHVybiBhYjg7aWYoIWsoYSxcImNyYXJyXCIpKXJldHVybiBhYjc7aWYoIWsoYSxcImN1cFwiKSlyZXR1cm4gYWI2O2lmKCFrKGEsXCJjdXJyZW5cIikpcmV0dXJuIGFiNTtpZighayhhLFwiZEFyclwiKSlyZXR1cm4gYWI0O2lmKCFrKGEsXCJkYWdnZXJcIikpcmV0dXJuIGFiMztpZighayhhLFwiZGFyclwiKSlyZXR1cm4gYWIyO2lmKCFrKGEsXCJkZWdcIikpcmV0dXJuIGFiMX1lbHNle2lmKCFrKGEsXCJjY2VkaWxcIikpcmV0dXJuIGFjZDtpZighayhhLFwiY2VkaWxcIikpcmV0dXJuIGFjYztpZighayhhLFwiY2VudFwiKSlyZXR1cm4gYWNiO2lmKCFrKGEsXCJjaGlcIikpcmV0dXJuIGFjYTtpZighayhhLFwiY2lyY1wiKSlyZXR1cm4gYWIkO2lmKCFrKGEsXCJjbHVic1wiKSlyZXR1cm4gYWJfO2lmKCFrKGEsXCJjb25nXCIpKXJldHVybiBhYjl9fWVsc2V7dmFyXG56PUMoYSxcImFyaW5nXCIpO2lmKDA8PXope2lmKDA+PXopcmV0dXJuIGFjbTtpZighayhhLFwiYXN5bXBcIikpcmV0dXJuIGFjbDtpZighayhhLFwiYXRpbGRlXCIpKXJldHVybiBhY2s7aWYoIWsoYSxcImF1bWxcIikpcmV0dXJuIGFjajtpZighayhhLFwiYmRxdW9cIikpcmV0dXJuIGFjaTtpZighayhhLFwiYmV0YVwiKSlyZXR1cm4gYWNoO2lmKCFrKGEsXCJicnZiYXJcIikpcmV0dXJuIGFjZztpZighayhhLFwiYnVsbFwiKSlyZXR1cm4gYWNmfWVsc2V7aWYoIWsoYSxcImFncmF2ZVwiKSlyZXR1cm4gYWN0O2lmKCFrKGEsXCJhbGVmc3ltXCIpKXJldHVybiBhY3M7aWYoIWsoYSxcImFscGhhXCIpKXJldHVybiBhY3I7aWYoIWsoYSxcImFtcFwiKSlyZXR1cm4gYWNxO2lmKCFrKGEsXCJhbmRcIikpcmV0dXJuIGFjcDtpZighayhhLFwiYW5nXCIpKXJldHVybiBhY287aWYoIWsoYSxcImFwb3NcIikpcmV0dXJuIGFjbn19fX1lbHNle3ZhclxuQT1DKGEsXCJOdVwiKTtpZigwPD1BKXtpZigwPj1BKXJldHVybiBhYzA7dmFyXG5CPUMoYSxcIlNpZ21hXCIpO2lmKDA8PUIpe2lmKDA+PUIpcmV0dXJuIGFjSzt2YXJcbkQ9QyhhLFwiVXVtbFwiKTtpZigwPD1EKXtpZigwPj1EKXJldHVybiBhY0M7aWYoIWsoYSxcIlhpXCIpKXJldHVybiBhY0I7aWYoIWsoYSxcIllhY3V0ZVwiKSlyZXR1cm4gYWNBO2lmKCFrKGEsXCJZdW1sXCIpKXJldHVybiBhY3o7aWYoIWsoYSxcIlpldGFcIikpcmV0dXJuIGFjeTtpZighayhhLFwiYWFjdXRlXCIpKXJldHVybiBhY3g7aWYoIWsoYSxcImFjaXJjXCIpKXJldHVybiBhY3c7aWYoIWsoYSxcImFjdXRlXCIpKXJldHVybiBhY3Z9ZWxzZXtpZighayhhLFwiVEhPUk5cIikpcmV0dXJuIGFjSjtpZighayhhLFwiVGF1XCIpKXJldHVybiBhY0k7aWYoIWsoYSxcIlRoZXRhXCIpKXJldHVybiBhY0g7aWYoIWsoYSxcIlVhY3V0ZVwiKSlyZXR1cm4gYWNHO2lmKCFrKGEsXCJVY2lyY1wiKSlyZXR1cm4gYWNGO2lmKCFrKGEsXCJVZ3JhdmVcIikpcmV0dXJuIGFjRTtpZighayhhLFwiVXBzaWxvblwiKSlyZXR1cm4gYWNEfX1lbHNle3ZhclxuRT1DKGEsXCJPdGlsZGVcIik7aWYoMDw9RSl7aWYoMD49RSlyZXR1cm4gYWNTO2lmKCFrKGEsXCJPdW1sXCIpKXJldHVybiBhY1I7aWYoIWsoYSxcIlBoaVwiKSlyZXR1cm4gYWNRO2lmKCFrKGEsXCJQaVwiKSlyZXR1cm4gYWNQO2lmKCFrKGEsXCJQcmltZVwiKSlyZXR1cm4gYWNPO2lmKCFrKGEsXCJQc2lcIikpcmV0dXJuIGFjTjtpZighayhhLFwiUmhvXCIpKXJldHVybiBhY007aWYoIWsoYSxcIlNjYXJvblwiKSlyZXR1cm4gYWNMfWVsc2V7aWYoIWsoYSxcIk9FbGlnXCIpKXJldHVybiBhY1o7aWYoIWsoYSxcIk9hY3V0ZVwiKSlyZXR1cm4gYWNZO2lmKCFrKGEsXCJPY2lyY1wiKSlyZXR1cm4gYWNYO2lmKCFrKGEsXCJPZ3JhdmVcIikpcmV0dXJuIGFjVztpZighayhhLFwiT21lZ2FcIikpcmV0dXJuIGFjVjtpZighayhhLFwiT21pY3JvblwiKSlyZXR1cm4gYWNVO2lmKCFrKGEsXCJPc2xhc2hcIikpcmV0dXJuIGFjVH19fWVsc2V7dmFyXG5GPUMoYSxcIkVhY3V0ZVwiKTtpZigwPD1GKXtpZigwPj1GKXJldHVybiBhZGU7dmFyXG5HPUMoYSxcIkljaXJjXCIpO2lmKDA8PUcpe2lmKDA+PUcpcmV0dXJuIGFjODtpZighayhhLFwiSWdyYXZlXCIpKXJldHVybiBhYzc7aWYoIWsoYSxcIklvdGFcIikpcmV0dXJuIGFjNjtpZighayhhLFwiSXVtbFwiKSlyZXR1cm4gYWM1O2lmKCFrKGEsXCJLYXBwYVwiKSlyZXR1cm4gYWM0O2lmKCFrKGEsXCJMYW1iZGFcIikpcmV0dXJuIGFjMztpZighayhhLFwiTXVcIikpcmV0dXJuIGFjMjtpZighayhhLFwiTnRpbGRlXCIpKXJldHVybiBhYzF9ZWxzZXtpZighayhhLFwiRWNpcmNcIikpcmV0dXJuIGFkZDtpZighayhhLFwiRWdyYXZlXCIpKXJldHVybiBhZGM7aWYoIWsoYSxcIkVwc2lsb25cIikpcmV0dXJuIGFkYjtpZighayhhLFwiRXRhXCIpKXJldHVybiBhZGE7aWYoIWsoYSxcIkV1bWxcIikpcmV0dXJuIGFjJDtpZighayhhLFwiR2FtbWFcIikpcmV0dXJuIGFjXztpZighayhhLFwiSWFjdXRlXCIpKXJldHVybiBhYzl9fWVsc2V7dmFyXG5IPUMoYSxcIkF0aWxkZVwiKTtpZigwPD1IKXtpZigwPj1IKXJldHVybiBhZG07aWYoIWsoYSxcIkF1bWxcIikpcmV0dXJuIGFkbDtpZighayhhLFwiQmV0YVwiKSlyZXR1cm4gYWRrO2lmKCFrKGEsXCJDY2VkaWxcIikpcmV0dXJuIGFkajtpZighayhhLFwiQ2hpXCIpKXJldHVybiBhZGk7aWYoIWsoYSxcIkRhZ2dlclwiKSlyZXR1cm4gYWRoO2lmKCFrKGEsXCJEZWx0YVwiKSlyZXR1cm4gYWRnO2lmKCFrKGEsXCJFVEhcIikpcmV0dXJuIGFkZn1lbHNle2lmKCFrKGEsXCInaW50J1wiKSlyZXR1cm4gYWR0O2lmKCFrKGEsXCJBRWxpZ1wiKSlyZXR1cm4gYWRzO2lmKCFrKGEsXCJBYWN1dGVcIikpcmV0dXJuIGFkcjtpZighayhhLFwiQWNpcmNcIikpcmV0dXJuIGFkcTtpZighayhhLFwiQWdyYXZlXCIpKXJldHVybiBhZHA7aWYoIWsoYSxcIkFscGhhXCIpKXJldHVybiBhZG87aWYoIWsoYSxcIkFyaW5nXCIpKXJldHVybiBhZG59fX19fXJldHVybiAwfWZ1bmN0aW9uXG5HVihhLGIsYyxkKXt2YXJcbmY9YTtmb3IoOzspe3Zhclxuaj1mdW5jdGlvbihhKXtmb3IoOzspe28oYSw4KTtpZigwIT09cjUoZyhhKSkpcmV0dXJuIGgoYSl9fTtTKGQpO3ZhclxuaT1nKGQpLG49aUc8aT9hUDxpPzE6YVk8aT8yOjE6dyhcIlxceDAxXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwM1xceDAyXFx4MDJcXHgwNFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDA1XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDZcXHgwMlxceDA3XFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDZcXHgwMlxcYlwiLGkrMXwwKS0xfDA7aWYoNzxuPj4+MCl2YXJcbmU9aChkKTtlbHNlXG5zd2l0Y2gobil7Y2FzZVxuMDp2YXJcbmU9MzticmVhaztjYXNlXG4xOnZhclxuZT1qKGQpO2JyZWFrO2Nhc2VcbjI6dmFyXG5lPTQ7YnJlYWs7Y2FzZVxuMzpvKGQsNCk7dmFyXG5lPTA9PT1iQShnKGQpKT80OmgoZCk7YnJlYWs7Y2FzZVxuNDpvKGQsOCk7dmFyXG5wPUdLKGcoZCkpO2lmKDA9PT1wKXt2YXJcbnE9R3AoZyhkKSk7aWYoMD09PXEpe2Zvcig7Oyl7dmFyXG5yPUdxKGcoZCkpO2lmKDAhPT1yKWJyZWFrfXZhclxuZT0xPT09cj82OmgoZCl9ZWxzZSBpZigxPT09cSYmMD09PVcoZyhkKSkpe2Zvcig7Oyl7dmFyXG5zPUdIKGcoZCkpO2lmKDAhPT1zKWJyZWFrfXZhclxuZT0xPT09cz81OmgoZCl9ZWxzZVxudmFyXG5lPWgoZCl9ZWxzZSBpZigxPT09cCYmMD09PVEoZyhkKSkpe3ZhclxudD1iNihnKGQpKTtpZigwPT09dCl7dmFyXG51PWI2KGcoZCkpO2lmKDA9PT11KXt2YXJcbnY9YjYoZyhkKSk7aWYoMD09PXYpe3ZhclxueD1iNihnKGQpKTtpZigwPT09eCl7dmFyXG55PWI2KGcoZCkpO2lmKDA9PT15KXZhclxuej1iNihnKGQpKSxlPTA9PT16PzA9PT1HRChnKGQpKT83OmgoZCk6MT09PXo/NzpoKGQpO2Vsc2VcbnZhclxuZT0xPT09eT83OmgoZCl9ZWxzZVxudmFyXG5lPTE9PT14Pzc6aChkKX1lbHNlXG52YXJcbmU9MT09PXY/NzpoKGQpfWVsc2VcbnZhclxuZT0xPT09dT83OmgoZCl9ZWxzZVxudmFyXG5lPTE9PT10Pzc6aChkKX1lbHNlXG52YXJcbmU9aChkKTticmVhaztjYXNlXG41OnZhclxuZT0wO2JyZWFrO2Nhc2VcbjY6byhkLDEpO3ZhclxuZT0wPT09cjUoZyhkKSk/aihkKTpoKGQpO2JyZWFrO2RlZmF1bHQ6byhkLDIpO3ZhclxuZT0wPT09cjUoZyhkKSk/aihkKTpoKGQpfWlmKDg8ZT4+PjApcmV0dXJuIEUoYWR1KTtzd2l0Y2goZSl7Y2FzZVxuMDpqSihkKTtyZXR1cm4gZjtjYXNlXG4xOnJldHVybiByOShmLGFhKGYsZCksYWR3LGFkdik7Y2FzZVxuMjpyZXR1cm4gcjkoZixhYShmLGQpLGFkeSxhZHgpO2Nhc2VcbjM6cmV0dXJuIGJaKGYsYWEoZixkKSk7Y2FzZVxuNDp2YXJcbkE9SChkKTtPKGMsQSk7TyhiLEEpO3ZhclxuZj1iZyhmLGQpO2JyZWFrO2Nhc2VcbjU6dmFyXG5rPUgoZCksRj1hMihrLDMsRyhrKS00fDApO08oYyxrKTtjSyhiLGIzKEooYWR6LEYpKSk7YnJlYWs7Y2FzZVxuNjp2YXJcbmw9SChkKSxJPWEyKGwsMixHKGwpLTN8MCk7TyhjLGwpO2NLKGIsYjMoSSkpO2JyZWFrO2Nhc2Vcbjc6dmFyXG5tPUgoZCksQj1hMihtLDEsRyhtKS0yfDApO08oYyxtKTt2YXJcbkM9R1UoQik7aWYoQyljSyhiLENbMV0pO2Vsc2Vcbk8oYixKKGFkQixKKEIsYWRBKSkpO2JyZWFrO2RlZmF1bHQ6dmFyXG5EPUgoZCk7TyhjLEQpO08oYixEKX19fWZ1bmN0aW9uXG5rVShsKXtyZXR1cm4gZnVuY3Rpb24oYSl7dmFyXG5mPTAsZT1hO2E6Zm9yKDs7KXt2YXJcbmM9bChlLGVbMl0pO3N3aXRjaChjWzBdKXtjYXNlXG4wOmJyZWFrIGE7Y2FzZVxuMTp2YXJcbms9Y1syXSxkPWNbMV0sZj1bMCxrLGZdLGU9WzAsZFsxXSxkWzJdLGRbM10sZFs0XSxkWzVdLGRbNl0sa1sxXV07YnJlYWs7ZGVmYXVsdDp2YXJcbmU9Y1sxXX19dmFyXG5oPWNbMl0sYj1jWzFdLGc9R00oYixoKSxpPTA9PT1mPzA6QihmKSxqPWJbNl07aWYoMD09PWopcmV0dXJuWzAsWzAsYlsxXSxiWzJdLGJbM10sYls0XSxiWzVdLGJbNl0sZ10sWzAsaCxnLDAsaV1dO3ZhclxubT1bMCxoLGcsQihqKSxpXTtyZXR1cm5bMCxbMCxiWzFdLGJbMl0sYlszXSxiWzRdLGJbNV0sR2ksZ10sbV19fXZhclxuYWQxPWtVKGZ1bmN0aW9uKGEsYil7UyhiKTt2YXJcbmM9ZyhiKSxmPWpjPGM/amE8Yz9qdjxjP2k2PGM/MToyOmpiPGM/MToyOmpqPGM/amU8Yz9pXzxjPzE6MjpqcjxjPzE6MjphWTxjP2FQPGM/MTozOmpmPGM/MToyOncoXCJcXHgwMVxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAzXFx4MDRcXHgwM1xceDAzXFx4MDVcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwM1xceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwNlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDNcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAzXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcIixjKzF8MCktMXwwO2lmKDU8Zj4+PjApdmFyXG5kPWgoYik7ZWxzZVxuc3dpdGNoKGYpe2Nhc2VcbjA6dmFyXG5kPTA7YnJlYWs7Y2FzZVxuMTp2YXJcbmQ9NjticmVhaztjYXNlXG4yOm8oYiwyKTtpZigwPT09Y00oZyhiKSkpe2Zvcig7Oyl7byhiLDIpO2lmKDAhPT1jTShnKGIpKSlicmVha312YXJcbmQ9aChiKX1lbHNlXG52YXJcbmQ9aChiKTticmVhaztjYXNlXG4zOnZhclxuZD0xO2JyZWFrO2Nhc2VcbjQ6byhiLDEpO3ZhclxuZD0wPT09YkEoZyhiKSk/MTpoKGIpO2JyZWFrO2RlZmF1bHQ6byhiLDUpO3ZhclxuaT1tTShnKGIpKSxkPTA9PT1pPzQ6MT09PWk/MzpoKGIpfWlmKDY8ZD4+PjApcmV0dXJuIEUoJHcpO3N3aXRjaChkKXtjYXNlXG4wOnJldHVyblswLGEsVl07Y2FzZVxuMTpyZXR1cm5bMixiZyhhLGIpXTtjYXNlXG4yOnJldHVyblsyLGFdO2Nhc2VcbjM6dmFyXG5zPWE1KGEsYiksaj1hZChhYiksaz1qTyhhLGosYiksbD1rWzFdO3JldHVyblsxLGwsYjcobCxzLGtbMl0saiwwKV07Y2FzZVxuNDp2YXJcbnQ9YTUoYSxiKSxtPWFkKGFiKSxuPWlVKGEsbSxiKSxwPW5bMV07cmV0dXJuWzEscCxiNyhwLHQsblsyXSxtLDEpXTtjYXNlXG41OnZhclxudT1hNShhLGIpLHE9YWQoYWIpLHI9JHEoYSxxLGIpLGU9clsxXSx2PXJbMl0seD1iQihlLGIpLHk9WzAsZVsxXSx1LHhdO3JldHVyblswLGUsWzUseSxhRChxKSx2XV07ZGVmYXVsdDp2YXJcbno9YlooYSxhYShhLGIpKTtyZXR1cm5bMCx6LFs3LEgoYildXX19KSxhZDI9a1UoZnVuY3Rpb24oYSxiKXtTKGIpO3ZhclxuVT1fQihnKGIpKTtpZigxNDxVPj4+MCl2YXJcbmM9aChiKTtlbHNlXG5zd2l0Y2goVSl7Y2FzZVxuMDp2YXJcbmM9MDticmVhaztjYXNlXG4xOnZhclxuYz0xNDticmVhaztjYXNlXG4yOm8oYiwyKTtpZigwPT09Y00oZyhiKSkpe2Zvcig7Oyl7byhiLDIpO2lmKDAhPT1jTShnKGIpKSlicmVha312YXJcbmM9aChiKX1lbHNlXG52YXJcbmM9aChiKTticmVhaztjYXNlXG4zOnZhclxuYz0xO2JyZWFrO2Nhc2VcbjQ6byhiLDEpO3ZhclxuYz0wPT09YkEoZyhiKSk/MTpoKGIpO2JyZWFrO2Nhc2VcbjU6dmFyXG5jPTEyO2JyZWFrO2Nhc2VcbjY6dmFyXG5jPTEzO2JyZWFrO2Nhc2Vcbjc6dmFyXG5jPTEwO2JyZWFrO2Nhc2Vcbjg6byhiLDYpO3ZhclxuWj1tTShnKGIpKSxjPTA9PT1aPzQ6MT09PVo/MzpoKGIpO2JyZWFrO2Nhc2Vcbjk6dmFyXG5jPTk7YnJlYWs7Y2FzZVxuMTA6dmFyXG5jPTU7YnJlYWs7Y2FzZVxuMTE6dmFyXG5jPTExO2JyZWFrO2Nhc2VcbjEyOnZhclxuYz03O2JyZWFrO2Nhc2VcbjEzOm8oYiwxNCk7aWYoMD09PWltKGcoYikpKXt2YXJcbl89aVMoZyhiKSk7aWYoMD09PV8pdmFyXG5jPTA9PT1XKGcoYikpPzA9PT1XKGcoYikpPzA9PT1XKGcoYikpPzEzOmgoYik6aChiKTpoKGIpO2Vsc2UgaWYoMT09PV8mJjA9PT1XKGcoYikpKXtmb3IoOzspe3ZhclxuJD1pUihnKGIpKTtpZigwIT09JClicmVha312YXJcbmM9MT09PSQ/MTM6aChiKX1lbHNlXG52YXJcbmM9aChiKX1lbHNlXG52YXJcbmM9aChiKTticmVhaztkZWZhdWx0OnZhclxuYz04fWlmKDE0PGM+Pj4wKXJldHVybiBFKGFkRyk7c3dpdGNoKGMpe2Nhc2VcbjA6cmV0dXJuWzAsYSxWXTtjYXNlXG4xOnJldHVyblsyLGJnKGEsYildO2Nhc2VcbjI6cmV0dXJuWzIsYV07Y2FzZVxuMzp2YXJcbmFyPWE1KGEsYiksYWM9YWQoYWIpLGFlPWpPKGEsYWMsYiksYWY9YWVbMV07cmV0dXJuWzEsYWYsYjcoYWYsYXIsYWVbMl0sYWMsMCldO2Nhc2VcbjQ6dmFyXG5hcz1hNShhLGIpLGFnPWFkKGFiKSxhaD1pVShhLGFnLGIpLGFrPWFoWzFdO3JldHVyblsxLGFrLGI3KGFrLGFzLGFoWzJdLGFnLDEpXTtjYXNlXG41OnJldHVyblswLGEsOTldO2Nhc2VcbjY6cmV0dXJuWzAsYSxjZ107Y2FzZVxuNzpyZXR1cm5bMCxhLGFuXTtjYXNlXG44OnJldHVyblswLGEsMF07Y2FzZVxuOTpyZXR1cm5bMCxhLDg3XTtjYXNlXG4xMDpyZXR1cm5bMCxhLDEwXTtjYXNlXG4xMTpyZXR1cm5bMCxhLDgzXTtjYXNlXG4xMjp2YXJcbnI9SChiKSxhdD1hNShhLGIpLGk9YWQoYWIpLGU9YWQoYWIpO08oZSxyKTt2YXJcbmFsPVgocixcIidcIiksaj1hO2Zvcig7Oyl7UyhiKTt2YXJcbm09ZyhiKSx5PTM5PG0/YVA8bT8xOmFZPG0/MjoxOncoXCJcXHgwMVxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDNcXHgwMlxceDAyXFx4MDRcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDVcXHgwMlxceDAyXFx4MDJcXHgwNlxceDA3XCIsbSsxfDApLTF8MDtpZig2PHk+Pj4wKXZhclxuZD1oKGIpO2Vsc2VcbnN3aXRjaCh5KXtjYXNlXG4wOnZhclxuZD0yO2JyZWFrO2Nhc2VcbjE6Zm9yKDs7KXtvKGIsNyk7dmFyXG5rPWcoYiksYW89LTE8az8zNzxrPzM5PGs/YVk8az9hUDxrPzA6LTE6MDotMTp3KFwiXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXDBcXHgwMVxceDAxXFwwXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxcMFxceDAxXFx4MDFcXHgwMVwiLGspLTF8MDotMTtpZigwIT09YW8pYnJlYWt9dmFyXG5kPWgoYik7YnJlYWs7Y2FzZVxuMjp2YXJcbmQ9MzticmVhaztjYXNlXG4zOm8oYiwzKTt2YXJcbmQ9MD09PWJBKGcoYikpPzM6aChiKTticmVhaztjYXNlXG40OnZhclxuZD0xO2JyZWFrO2Nhc2VcbjU6byhiLDcpO3Zhclxuej1HSyhnKGIpKTtpZigwPT09eil7dmFyXG5BPUdwKGcoYikpO2lmKDA9PT1BKXtmb3IoOzspe3ZhclxuQj1HcShnKGIpKTtpZigwIT09QilicmVha312YXJcbmQ9MT09PUI/NTpoKGIpfWVsc2UgaWYoMT09PUEmJjA9PT1XKGcoYikpKXtmb3IoOzspe3ZhclxuQz1HSChnKGIpKTtpZigwIT09QylicmVha312YXJcbmQ9MT09PUM/NDpoKGIpfWVsc2VcbnZhclxuZD1oKGIpfWVsc2UgaWYoMT09PXomJjA9PT1RKGcoYikpKXt2YXJcbkQ9YjYoZyhiKSk7aWYoMD09PUQpe3ZhclxuRj1iNihnKGIpKTtpZigwPT09Ril7dmFyXG5JPWI2KGcoYikpO2lmKDA9PT1JKXt2YXJcbks9YjYoZyhiKSk7aWYoMD09PUspe3ZhclxuTD1iNihnKGIpKTtpZigwPT09TCl2YXJcbk09YjYoZyhiKSksZD0wPT09TT8wPT09R0QoZyhiKSk/NjpoKGIpOjE9PT1NPzY6aChiKTtlbHNlXG52YXJcbmQ9MT09PUw/NjpoKGIpfWVsc2VcbnZhclxuZD0xPT09Sz82OmgoYil9ZWxzZVxudmFyXG5kPTE9PT1JPzY6aChiKX1lbHNlXG52YXJcbmQ9MT09PUY/NjpoKGIpfWVsc2VcbnZhclxuZD0xPT09RD82OmgoYil9ZWxzZVxudmFyXG5kPWgoYik7YnJlYWs7ZGVmYXVsdDp2YXJcbmQ9MH1pZig3PGQ+Pj4wKXZhclxubD1FKGFkQyk7ZWxzZVxuc3dpdGNoKGQpe2Nhc2VcbjA6aWYoIWFsKXtiVyhlLDM5KTtiVyhpLDM5KTtjb250aW51ZX12YXJcbmw9ajticmVhaztjYXNlXG4xOmlmKGFsKXtiVyhlLDM0KTtiVyhpLDM0KTtjb250aW51ZX12YXJcbmw9ajticmVhaztjYXNlXG4yOnZhclxubD1iWihqLGFhKGosYikpO2JyZWFrO2Nhc2VcbjM6dmFyXG5OPUgoYik7TyhlLE4pO08oaSxOKTt2YXJcbmo9YmcoaixiKTtjb250aW51ZTtjYXNlXG40OnZhclxubj1IKGIpLGFwPWEyKG4sMyxHKG4pLTR8MCk7TyhlLG4pO2NLKGksYjMoSihhZEQsYXApKSk7Y29udGludWU7Y2FzZVxuNTp2YXJcbnA9SChiKSxhcT1hMihwLDIsRyhwKS0zfDApO08oZSxwKTtjSyhpLGIzKGFxKSk7Y29udGludWU7Y2FzZVxuNjp2YXJcbnE9SChiKSxQPWEyKHEsMSxHKHEpLTJ8MCk7TyhlLHEpO3ZhclxuUj1HVShQKTtpZihSKWNLKGksUlsxXSk7ZWxzZVxuTyhpLEooYWRGLEooUCxhZEUpKSk7Y29udGludWU7ZGVmYXVsdDp2YXJcblQ9SChiKTtPKGUsVCk7TyhpLFQpO2NvbnRpbnVlfXZhclxuYXU9YkIobCxiKTtPKGUscik7dmFyXG5hdj1hRChpKSxhdz1hRChlKTtyZXR1cm5bMCxsLFsxMCxbMCxsWzFdLGF0LGF1XSxhdixhd11dfWNhc2VcbjEzOnZhclxuYW09Yls2XTtmb3IoOzspe1MoYik7dmFyXG5zPWcoYiksdD1haTxzPzE6dyhcIlxceDAxXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDNcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDNcXHgwMlxceDAyXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwMlxceDA0XFx4MDJcXHgwMlxceDAzXFx4MDJcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXFx4MDNcXHgwM1xceDAzXCIscysxfDApLTF8MDtpZigzPHQ+Pj4wKXZhclxuZj1oKGIpO2Vsc2VcbnN3aXRjaCh0KXtjYXNlXG4wOnZhclxuZj0xO2JyZWFrO2Nhc2VcbjE6dmFyXG5mPTI7YnJlYWs7Y2FzZVxuMjp2YXJcbmY9MDticmVhaztkZWZhdWx0Om8oYiwyKTtpZigwPT09aW0oZyhiKSkpe3ZhclxudT1pUyhnKGIpKTtpZigwPT09dSl2YXJcbmY9MD09PVcoZyhiKSk/MD09PVcoZyhiKSk/MD09PVcoZyhiKSk/MDpoKGIpOmgoYik6aChiKTtlbHNlIGlmKDE9PT11JiYwPT09VyhnKGIpKSl7Zm9yKDs7KXt2YXJcbnY9aVIoZyhiKSk7aWYoMCE9PXYpYnJlYWt9dmFyXG5mPTE9PT12PzA6aChiKX1lbHNlXG52YXJcbmY9aChiKX1lbHNlXG52YXJcbmY9aChiKX1pZigyPGY+Pj4wKXRocm93IHgoWzAsWSxfRF0sMSk7c3dpdGNoKGYpe2Nhc2VcbjA6Y29udGludWU7Y2FzZVxuMTpicmVhaztkZWZhdWx0OmlmKHIxKEY3KGIpKSljb250aW51ZTtGOShiLDEpfXZhclxuYXg9YlszXTtyVihiLGFtKTt2YXJcbmF5PWFqKGIpLGF6PWtUKGEsYW0sYXgpO3JldHVyblswLGEsWzgsa1AoYXkpLGF6XV19ZGVmYXVsdDpyZXR1cm5bMCxhLFs3LEgoYildXX19KSxhZDM9a1UoZnVuY3Rpb24oYSxiKXtTKGIpO3ZhclxuYz1nKGIpLGY9LTE8Yz9qYzxjP2phPGM/anY8Yz9pNjxjPzA6MTpqYjxjPzA6MTpqajxjP2plPGM/aV88Yz8wOjE6anI8Yz8wOjE6YVk8Yz9hUDxjPzA6MjpqZjxjPzA6MTp3KFwiXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDJcXHgwM1xceDAyXFx4MDJcXHgwNFxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAyXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDA1XFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDA2XFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMlxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDJcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVwiLGMpLTF8MDotMTtpZig1PGY+Pj4wKXZhclxuZD1oKGIpO2Vsc2VcbnN3aXRjaChmKXtjYXNlXG4wOnZhclxuZD01O2JyZWFrO2Nhc2VcbjE6byhiLDEpO2lmKDA9PT1jTShnKGIpKSl7Zm9yKDs7KXtvKGIsMSk7aWYoMCE9PWNNKGcoYikpKWJyZWFrfXZhclxuZD1oKGIpfWVsc2VcbnZhclxuZD1oKGIpO2JyZWFrO2Nhc2VcbjI6dmFyXG5kPTA7YnJlYWs7Y2FzZVxuMzpvKGIsMCk7dmFyXG5kPTA9PT1iQShnKGIpKT8wOmgoYik7YnJlYWs7Y2FzZVxuNDpvKGIsNSk7dmFyXG5pPW1NKGcoYikpLGQ9MD09PWk/MzoxPT09aT8yOmgoYik7YnJlYWs7ZGVmYXVsdDp2YXJcbmQ9NH1pZig1PGQ+Pj4wKXJldHVybiBFKGFkSSk7c3dpdGNoKGQpe2Nhc2VcbjA6cmV0dXJuWzIsYmcoYSxiKV07Y2FzZVxuMTpyZXR1cm5bMixhXTtjYXNlXG4yOnZhclxudT1hNShhLGIpLGo9YWQoYWIpLGs9ak8oYSxqLGIpLGw9a1sxXTtyZXR1cm5bMSxsLGI3KGwsdSxrWzJdLGosMCldO2Nhc2VcbjM6dmFyXG52PWE1KGEsYiksbT1hZChhYiksbj1pVShhLG0sYikscD1uWzFdO3JldHVyblsxLHAsYjcocCx2LG5bMl0sbSwxKV07Y2FzZVxuNDp2YXJcbng9YTUoYSxiKSxxPWFkKGFiKSxyPWFkKGFiKSxzPUdUKGEscSxyLGIpLGU9c1sxXSx5PXNbMl0sej1iQihlLGIpLEE9WzAsZVsxXSx4LHpdLEI9YUQocik7cmV0dXJuWzAsZSxbMyxbMCxBLGFEKHEpLEIsMCx5XV1dO2RlZmF1bHQ6dmFyXG50PWJaKGEsYWEoYSxiKSk7cmV0dXJuWzAsdCxbMyxbMCxhYSh0LGIpLGFkSyxhZEosMCwxXV1dfX0pLGFkND1rVShmdW5jdGlvbihhLGIpe2Z1bmN0aW9uXG5lKGEpe2Zvcig7Oyl7byhhLDI5KTtpZigwIT09UShnKGEpKSlyZXR1cm4gaChhKX19ZnVuY3Rpb25cbmYoYSl7byhhLDI5KTt2YXJcbmI9R0UoZyhhKSk7aWYoMzxiPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYil7Y2FzZVxuMDpyZXR1cm4gZShhKTtjYXNlXG4xOnZhclxuYz1paShnKGEpKTtpZigwPT09Yylmb3IoOzspe28oYSwyNCk7dmFyXG5kPWpMKGcoYSkpO2lmKDI8ZD4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKGQpe2Nhc2VcbjA6cmV0dXJuIGwoYSk7Y2FzZVxuMTpicmVhaztkZWZhdWx0OnJldHVybiBuKGEpfX1lbHNle2lmKDEhPT1jKXJldHVybiBoKGEpO2Zvcig7Oyl7byhhLDI0KTt2YXJcbmY9Y08oZyhhKSk7aWYoMzxmPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goZil7Y2FzZVxuMDpyZXR1cm4gbChhKTtjYXNlXG4xOmJyZWFrO2Nhc2VcbjI6cmV0dXJuIHgoYSk7ZGVmYXVsdDpyZXR1cm4gbihhKX19fWJyZWFrO2Nhc2VcbjI6Zm9yKDs7KXtvKGEsMjQpO3ZhclxuaT1qTChnKGEpKTtpZigyPGk+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChpKXtjYXNlXG4wOnJldHVybiBwKGEpO2Nhc2VcbjE6YnJlYWs7ZGVmYXVsdDpyZXR1cm4geShhKX19YnJlYWs7ZGVmYXVsdDpmb3IoOzspe28oYSwyNCk7dmFyXG5qPWNPKGcoYSkpO2lmKDM8aj4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKGope2Nhc2VcbjA6cmV0dXJuIHAoYSk7Y2FzZVxuMTpicmVhaztjYXNlXG4yOnJldHVybiB4KGEpO2RlZmF1bHQ6cmV0dXJuIHkoYSl9fX19ZnVuY3Rpb25cbmwoYSl7Zm9yKDs7KXtvKGEsMjMpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1mdW5jdGlvblxubihhKXtvKGEsMjIpO3ZhclxuYj1heihnKGEpKTtpZigwIT09YilyZXR1cm4gMT09PWI/bChhKTpoKGEpO2Zvcig7Oyl7byhhLDIxKTtpZigwIT09UShnKGEpKSlyZXR1cm4gaChhKX19ZnVuY3Rpb25cbngoYSl7Zm9yKDs7KXtpZigwIT09VChnKGEpKSlyZXR1cm4gaChhKTthOmZvcig7Oyl7byhhLDI0KTt2YXJcbmI9Y08oZyhhKSk7aWYoMzxiPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYil7Y2FzZVxuMDpyZXR1cm4gbChhKTtjYXNlXG4xOmJyZWFrO2Nhc2VcbjI6YnJlYWsgYTtkZWZhdWx0OnJldHVybiBuKGEpfX19fWZ1bmN0aW9uXG5wKGEpe2Zvcig7Oyl7byhhLDIzKTtpZigwIT09UShnKGEpKSlyZXR1cm4gaChhKX19ZnVuY3Rpb25cbnkoYSl7byhhLDIyKTt2YXJcbmI9YXooZyhhKSk7aWYoMCE9PWIpcmV0dXJuIDE9PT1iP3AoYSk6aChhKTtmb3IoOzspe28oYSwyMSk7aWYoMCE9PVEoZyhhKSkpcmV0dXJuIGgoYSl9fWZ1bmN0aW9uXG5pKGEpe28oYSwyNyk7dmFyXG5iPWF6KGcoYSkpO2lmKDAhPT1iKXJldHVybiAxPT09Yj9lKGEpOmgoYSk7Zm9yKDs7KXtvKGEsMjUpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1mdW5jdGlvblxueihhKXtvKGEsMyk7cmV0dXJuIDA9PT1HSihnKGEpKT8zOmgoYSl9ZnVuY3Rpb25cbkEoYSl7cmV0dXJuIDA9PT1tSihnKGEpKT8wPT09bUYoZyhhKSk/MD09PUdHKGcoYSkpPzA9PT1HdyhnKGEpKT8wPT09R3goZyhhKSk/MD09PW1FKGcoYSkpPzA9PT1rUihnKGEpKT8wPT09bUooZyhhKSk/MD09PWltKGcoYSkpPzA9PT1yOChnKGEpKT8wPT09aVQoZyhhKSk/MzpoKGEpOmgoYSk6aChhKTpoKGEpOmgoYSk6aChhKTpoKGEpOmgoYSk6aChhKTpoKGEpOmgoYSl9ZnVuY3Rpb25cbnEoYSl7byhhLDMwKTt2YXJcbmI9R3UoZyhhKSk7aWYoMzxiPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYil7Y2FzZVxuMDpyZXR1cm4gZShhKTtjYXNlXG4xOmE6Zm9yKDs7KXtvKGEsMzApO3ZhclxuYz1paihnKGEpKTtpZig0PGM+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChjKXtjYXNlXG4wOnJldHVybiBlKGEpO2Nhc2VcbjE6YnJlYWs7Y2FzZVxuMjpyZXR1cm4gZihhKTtjYXNlXG4zOmJyZWFrIGE7ZGVmYXVsdDpyZXR1cm4gaShhKX19Zm9yKDs7KXtpZigwIT09VChnKGEpKSlyZXR1cm4gaChhKTthOmZvcig7Oyl7byhhLDMwKTt2YXJcbmQ9aWooZyhhKSk7aWYoNDxkPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goZCl7Y2FzZVxuMDpyZXR1cm4gZShhKTtjYXNlXG4xOmJyZWFrO2Nhc2VcbjI6cmV0dXJuIGYoYSk7Y2FzZVxuMzpicmVhayBhO2RlZmF1bHQ6cmV0dXJuIGkoYSl9fX1icmVhaztjYXNlXG4yOnJldHVybiBmKGEpO2RlZmF1bHQ6cmV0dXJuIGkoYSl9fWZ1bmN0aW9uXG5yKGEpe2Zvcig7Oyl7byhhLDE1KTtpZigwIT09UShnKGEpKSlyZXR1cm4gaChhKX19ZnVuY3Rpb25cbm0oYSl7byhhLDMwKTt2YXJcbmI9akwoZyhhKSk7aWYoMjxiPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYil7Y2FzZVxuMDpyZXR1cm4gZShhKTtjYXNlXG4xOmE6Zm9yKDs7KXtvKGEsMzApO3ZhclxuYz1jTyhnKGEpKTtpZigzPGM+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChjKXtjYXNlXG4wOnJldHVybiBlKGEpO2Nhc2VcbjE6YnJlYWs7Y2FzZVxuMjpicmVhayBhO2RlZmF1bHQ6cmV0dXJuIGkoYSl9fWZvcig7Oyl7aWYoMCE9PVQoZyhhKSkpcmV0dXJuIGgoYSk7YTpmb3IoOzspe28oYSwzMCk7dmFyXG5kPWNPKGcoYSkpO2lmKDM8ZD4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKGQpe2Nhc2VcbjA6cmV0dXJuIGUoYSk7Y2FzZVxuMTpicmVhaztjYXNlXG4yOmJyZWFrIGE7ZGVmYXVsdDpyZXR1cm4gaShhKX19fWJyZWFrO2RlZmF1bHQ6cmV0dXJuIGkoYSl9fWZ1bmN0aW9uXG5CKGEpe28oYSwxNSk7dmFyXG5iPWF6KGcoYSkpO2lmKDAhPT1iKXJldHVybiAxPT09Yj9yKGEpOmgoYSk7Zm9yKDs7KXtvKGEsMTUpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1mdW5jdGlvblxuaihhKXtvKGEsMjgpO3ZhclxuYj1heihnKGEpKTtpZigwIT09YilyZXR1cm4gMT09PWI/ZShhKTpoKGEpO2Zvcig7Oyl7byhhLDI2KTtpZigwIT09UShnKGEpKSlyZXR1cm4gaChhKX19ZnVuY3Rpb25cbkQoYSl7Zm9yKDs7KXtvKGEsOSk7aWYoMCE9PVEoZyhhKSkpcmV0dXJuIGgoYSl9fWZ1bmN0aW9uXG5GKGEpe2Zvcig7Oyl7byhhLDkpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1mdW5jdGlvblxuRyhhKXtmb3IoOzspe28oYSwxMyk7aWYoMCE9PVEoZyhhKSkpcmV0dXJuIGgoYSl9fWZ1bmN0aW9uXG5JKGEpe2Zvcig7Oyl7byhhLDEzKTtpZigwIT09UShnKGEpKSlyZXR1cm4gaChhKX19ZnVuY3Rpb25cbkooYSl7Zm9yKDs7KXtvKGEsMTkpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1mdW5jdGlvblxuSyhhKXtmb3IoOzspe28oYSwxOSk7aWYoMCE9PVEoZyhhKSkpcmV0dXJuIGgoYSl9fWZ1bmN0aW9uXG5MKGEpe2Zvcig7Oyl7aWYoMCE9PVQoZyhhKSkpcmV0dXJuIGgoYSk7YTpmb3IoOzspe28oYSwzMCk7dmFyXG5iPUdDKGcoYSkpO2lmKDQ8Yj4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKGIpe2Nhc2VcbjA6cmV0dXJuIGUoYSk7Y2FzZVxuMTpyZXR1cm4gbShhKTtjYXNlXG4yOmJyZWFrO2Nhc2VcbjM6YnJlYWsgYTtkZWZhdWx0OnJldHVybiBqKGEpfX19fVMoYik7dmFyXG5NPWZ1bmN0aW9uKGEpe3ZhclxuZD1fQShnKGEpKTtpZigzMTxkPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goZCl7Y2FzZVxuMDpyZXR1cm4gNjY7Y2FzZVxuMTpyZXR1cm4gNjc7Y2FzZVxuMjpvKGEsMSk7aWYoMCE9PWNNKGcoYSkpKXJldHVybiBoKGEpO2Zvcig7Oyl7byhhLDEpO2lmKDAhPT1jTShnKGEpKSlyZXR1cm4gaChhKX1icmVhaztjYXNlXG4zOnJldHVybiAwO2Nhc2VcbjQ6byhhLDApO3JldHVybiAwPT09YkEoZyhhKSk/MDpoKGEpO2Nhc2VcbjU6cmV0dXJuIDY7Y2FzZVxuNjpyZXR1cm4gNjU7Y2FzZVxuNzpvKGEsNjcpO2lmKDAhPT1rUihnKGEpKSlyZXR1cm4gaChhKTt2YXJcbms9ZyhhKSxhaz1iZTxrP2JUPGs/LTE6MDotMTtpZigwIT09YWspcmV0dXJuIGgoYSk7aWYoMCE9PWlUKGcoYSkpKXJldHVybiBoKGEpO2lmKDAhPT1rUihnKGEpKSlyZXR1cm4gaChhKTt2YXJcbmw9ZyhhKSxhbD1jZzxsP2FLPGw/LTE6MDotMTtyZXR1cm4gMD09PWFsPzA9PT1yNihnKGEpKT8zMTpoKGEpOmgoYSk7Y2FzZVxuODpvKGEsNTgpO3Zhclxubj1nKGEpLGFtPTM3PG4/Mzg8bj8tMTowOi0xO3JldHVybiAwPT09YW0/NTU6aChhKTtjYXNlXG45OnJldHVybiAzODtjYXNlXG4xMDpyZXR1cm4gMzk7Y2FzZVxuMTE6byhhLDUzKTtyZXR1cm4gMD09PUdJKGcoYSkpPzQ6aChhKTtjYXNlXG4xMjpyZXR1cm4gNjE7Y2FzZVxuMTM6cmV0dXJuIDQzO2Nhc2VcbjE0OnJldHVybiA2MjtjYXNlXG4xNTpvKGEsNDEpO3ZhclxucD1qTihnKGEpKTtpZigwPT09cClyZXR1cm4gMD09PXI0KGcoYSkpPzQwOmgoYSk7aWYoMSE9PXApcmV0dXJuIGgoYSk7YTpmb3IoOzspe28oYSwzMCk7dmFyXG5zPWlqKGcoYSkpO2lmKDQ8cz4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKHMpe2Nhc2VcbjA6cmV0dXJuIGUoYSk7Y2FzZVxuMTpicmVhaztjYXNlXG4yOnJldHVybiBmKGEpO2Nhc2VcbjM6YnJlYWsgYTtkZWZhdWx0OnJldHVybiBpKGEpfX1mb3IoOzspe2lmKDAhPT1UKGcoYSkpKXJldHVybiBoKGEpO2E6Zm9yKDs7KXtvKGEsMzApO3ZhclxudD1paihnKGEpKTtpZig0PHQ+Pj4wKXJldHVybiBoKGEpO3N3aXRjaCh0KXtjYXNlXG4wOnJldHVybiBlKGEpO2Nhc2VcbjE6YnJlYWs7Y2FzZVxuMjpyZXR1cm4gZihhKTtjYXNlXG4zOmJyZWFrIGE7ZGVmYXVsdDpyZXR1cm4gaShhKX19fWJyZWFrO2Nhc2VcbjE2Om8oYSw2Nyk7dmFyXG51PW1NKGcoYSkpO2lmKDAhPT11KXJldHVybiAxPT09dT81OmgoYSk7byhhLDIpO3Zhclxudj1teShnKGEpKTtpZigyPHY+Pj4wKXJldHVybiBoKGEpO3N3aXRjaCh2KXtjYXNlXG4wOmZvcig7Oyl7dmFyXG54PW15KGcoYSkpO2lmKDI8eD4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKHgpe2Nhc2VcbjA6YnJlYWs7Y2FzZVxuMTpyZXR1cm4geihhKTtkZWZhdWx0OnJldHVybiBBKGEpfX1icmVhaztjYXNlXG4xOnJldHVybiB6KGEpO2RlZmF1bHQ6cmV0dXJuIEEoYSl9YnJlYWs7Y2FzZVxuMTc6byhhLDMwKTt2YXJcbnk9R3ooZyhhKSk7aWYoODx5Pj4+MClyZXR1cm4gaChhKTtzd2l0Y2goeSl7Y2FzZVxuMDpyZXR1cm4gZShhKTtjYXNlXG4xOnJldHVybiBxKGEpO2Nhc2VcbjI6YTpmb3IoOzspe28oYSwxNik7dmFyXG5DPUdGKGcoYSkpO2lmKDQ8Qz4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKEMpe2Nhc2VcbjA6cmV0dXJuIHIoYSk7Y2FzZVxuMTpyZXR1cm4gbShhKTtjYXNlXG4yOmJyZWFrO2Nhc2VcbjM6YnJlYWsgYTtkZWZhdWx0OnJldHVybiBCKGEpfX1mb3IoOzspe28oYSwxNSk7dmFyXG5FPW14KGcoYSkpO2lmKDM8RT4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKEUpe2Nhc2VcbjA6cmV0dXJuIHIoYSk7Y2FzZVxuMTpyZXR1cm4gbShhKTtjYXNlXG4yOmJyZWFrO2RlZmF1bHQ6cmV0dXJuIEIoYSl9fWJyZWFrO2Nhc2VcbjM6Zm9yKDs7KXtvKGEsMzApO3ZhclxuSD1teChnKGEpKTtpZigzPEg+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChIKXtjYXNlXG4wOnJldHVybiBlKGEpO2Nhc2VcbjE6cmV0dXJuIG0oYSk7Y2FzZVxuMjpicmVhaztkZWZhdWx0OnJldHVybiBqKGEpfX1icmVhaztjYXNlXG40Om8oYSwyOSk7dmFyXG5NPUd5KGcoYSkpO2lmKDA9PT1NKXJldHVybiBlKGEpO2lmKDEhPT1NKXJldHVybiBoKGEpO2E6e2I6Zm9yKDs7KXtvKGEsMTApO3ZhclxuTj1tTihnKGEpKTtpZigzPE4+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChOKXtjYXNlXG4wOnJldHVybiBEKGEpO2Nhc2VcbjE6YnJlYWs7Y2FzZVxuMjpicmVhayBhO2RlZmF1bHQ6YnJlYWsgYn19byhhLDgpO3ZhclxuUj1heihnKGEpKTtpZigwIT09UilyZXR1cm4gMT09PVI/RChhKTpoKGEpO2Zvcig7Oyl7byhhLDcpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1hOmZvcig7Oyl7aWYoMCE9PWNOKGcoYSkpKXJldHVybiBoKGEpO2I6Zm9yKDs7KXtvKGEsMTApO3ZhclxuTz1tTihnKGEpKTtpZigzPE8+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChPKXtjYXNlXG4wOnJldHVybiBGKGEpO2Nhc2VcbjE6YnJlYWs7Y2FzZVxuMjpicmVhayBiO2RlZmF1bHQ6YnJlYWsgYX19fW8oYSw4KTt2YXJcblA9YXooZyhhKSk7aWYoMCE9PVApcmV0dXJuIDE9PT1QP0YoYSk6aChhKTtmb3IoOzspe28oYSw3KTtpZigwIT09UShnKGEpKSlyZXR1cm4gaChhKX1icmVhaztjYXNlXG41OnJldHVybiBmKGEpO2Nhc2VcbjY6byhhLDI5KTt2YXJcblM9R0EoZyhhKSk7aWYoMD09PVMpcmV0dXJuIGUoYSk7aWYoMSE9PVMpcmV0dXJuIGgoYSk7YTp7Yjpmb3IoOzspe28oYSwxNCk7dmFyXG5VPW1MKGcoYSkpO2lmKDM8VT4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKFUpe2Nhc2VcbjA6cmV0dXJuIEcoYSk7Y2FzZVxuMTpicmVhaztjYXNlXG4yOmJyZWFrIGE7ZGVmYXVsdDpicmVhayBifX1vKGEsMTIpO3ZhclxuWT1heihnKGEpKTtpZigwIT09WSlyZXR1cm4gMT09PVk/RyhhKTpoKGEpO2Zvcig7Oyl7byhhLDExKTtpZigwIT09UShnKGEpKSlyZXR1cm4gaChhKX19YTpmb3IoOzspe2lmKDAhPT1iZihnKGEpKSlyZXR1cm4gaChhKTtiOmZvcig7Oyl7byhhLDE0KTt2YXJcblY9bUwoZyhhKSk7aWYoMzxWPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goVil7Y2FzZVxuMDpyZXR1cm4gSShhKTtjYXNlXG4xOmJyZWFrO2Nhc2VcbjI6YnJlYWsgYjtkZWZhdWx0OmJyZWFrIGF9fX1vKGEsMTIpO3ZhclxuWD1heihnKGEpKTtpZigwIT09WClyZXR1cm4gMT09PVg/SShhKTpoKGEpO2Zvcig7Oyl7byhhLDExKTtpZigwIT09UShnKGEpKSlyZXR1cm4gaChhKX1icmVhaztjYXNlXG43Om8oYSwyOSk7dmFyXG5aPUdyKGcoYSkpO2lmKDA9PT1aKXJldHVybiBlKGEpO2lmKDEhPT1aKXJldHVybiBoKGEpO2E6e2I6Zm9yKDs7KXtvKGEsMjApO3ZhclxuXz1tTyhnKGEpKTtpZigzPF8+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChfKXtjYXNlXG4wOnJldHVybiBKKGEpO2Nhc2VcbjE6YnJlYWs7Y2FzZVxuMjpicmVhayBhO2RlZmF1bHQ6YnJlYWsgYn19byhhLDE4KTt2YXJcbmFiPWF6KGcoYSkpO2lmKDAhPT1hYilyZXR1cm4gMT09PWFiP0ooYSk6aChhKTtmb3IoOzspe28oYSwxNyk7aWYoMCE9PVEoZyhhKSkpcmV0dXJuIGgoYSl9fWE6Zm9yKDs7KXtpZigwIT09VyhnKGEpKSlyZXR1cm4gaChhKTtiOmZvcig7Oyl7byhhLDIwKTt2YXJcbiQ9bU8oZyhhKSk7aWYoMzwkPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goJCl7Y2FzZVxuMDpyZXR1cm4gSyhhKTtjYXNlXG4xOmJyZWFrO2Nhc2VcbjI6YnJlYWsgYjtkZWZhdWx0OmJyZWFrIGF9fX1vKGEsMTgpO3ZhclxuYWE9YXooZyhhKSk7aWYoMCE9PWFhKXJldHVybiAxPT09YWE/SyhhKTpoKGEpO2Zvcig7Oyl7byhhLDE3KTtpZigwIT09UShnKGEpKSlyZXR1cm4gaChhKX1icmVhaztkZWZhdWx0OnJldHVybiBqKGEpfWJyZWFrO2Nhc2VcbjE4Om8oYSwzMCk7dmFyXG5hYz1tQShnKGEpKTtpZig1PGFjPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYWMpe2Nhc2VcbjA6cmV0dXJuIGUoYSk7Y2FzZVxuMTpyZXR1cm4gcShhKTtjYXNlXG4yOmZvcig7Oyl7byhhLDMwKTt2YXJcbmFkPW1BKGcoYSkpO2lmKDU8YWQ+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChhZCl7Y2FzZVxuMDpyZXR1cm4gZShhKTtjYXNlXG4xOnJldHVybiBxKGEpO2Nhc2VcbjI6YnJlYWs7Y2FzZVxuMzpyZXR1cm4gZihhKTtjYXNlXG40OnJldHVybiBMKGEpO2RlZmF1bHQ6cmV0dXJuIGooYSl9fWJyZWFrO2Nhc2VcbjM6cmV0dXJuIGYoYSk7Y2FzZVxuNDpyZXR1cm4gTChhKTtkZWZhdWx0OnJldHVybiBqKGEpfWJyZWFrO2Nhc2VcbjE5OnJldHVybiA0NDtjYXNlXG4yMDpyZXR1cm4gNDI7Y2FzZVxuMjE6cmV0dXJuIDQ5O2Nhc2VcbjIyOm8oYSw1MSk7dmFyXG5hZT1nKGEpLGFuPTYxPGFlPzYyPGFlPy0xOjA6LTE7cmV0dXJuIDA9PT1hbj81OTpoKGEpO2Nhc2VcbjIzOnJldHVybiA1MDtjYXNlXG4yNDpvKGEsNDYpO3JldHVybiAwPT09cjQoZyhhKSk/NDU6aChhKTtjYXNlXG4yNTpyZXR1cm4gMzI7Y2FzZVxuMjY6byhhLDY3KTtpZigwIT09aW0oZyhhKSkpcmV0dXJuIGgoYSk7dmFyXG5hZj1pUyhnKGEpKTtpZigwPT09YWYpcmV0dXJuIDA9PT1XKGcoYSkpPzA9PT1XKGcoYSkpPzA9PT1XKGcoYSkpPzY1OmgoYSk6aChhKTpoKGEpO2lmKDEhPT1hZilyZXR1cm4gaChhKTtpZigwIT09VyhnKGEpKSlyZXR1cm4gaChhKTtmb3IoOzspe3ZhclxuYWc9aVIoZyhhKSk7aWYoMCE9PWFnKXJldHVybiAxPT09YWc/NjU6aChhKX1icmVhaztjYXNlXG4yNzpyZXR1cm4gMzM7Y2FzZVxuMjg6byhhLDY1KTtpZigwIT09aVQoZyhhKSkpcmV0dXJuIGgoYSk7aWYoMCE9PW1FKGcoYSkpKXJldHVybiBoKGEpO2lmKDAhPT1yOChnKGEpKSlyZXR1cm4gaChhKTtpZigwIT09aVQoZyhhKSkpcmV0dXJuIGgoYSk7aWYoMCE9PWtTKGcoYSkpKXJldHVybiBoKGEpO2lmKDAhPT1yNihnKGEpKSlyZXR1cm4gaChhKTt2YXJcbmI9ZyhhKSxhaD00MTxiPzYzPGI/LTE6dyhcIlxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDJcIixiK3VWfDApLTF8MDotMTtyZXR1cm4gMD09PWFoPzY0OjE9PT1haD82MzpoKGEpO2Nhc2VcbjI5Om8oYSwzNCk7dmFyXG5haT1nKGEpLGFvPWN4PGFpP2tjPGFpPy0xOjA6LTE7cmV0dXJuIDA9PT1hbz8zNjpoKGEpO2Nhc2VcbjMwOm8oYSw1Nyk7dmFyXG5jPWcoYSksYWo9Y3g8Yz9pRzxjPy0xOncob3csYy0xMjR8MCktMXwwOi0xO3JldHVybiAwPT09YWo/NTY6MT09PWFqPzM3OmgoYSk7ZGVmYXVsdDpyZXR1cm4gMzV9fShiKTtpZig2NzxNPj4+MClyZXR1cm4gRShhZEwpO3Zhclxudj1NO2lmKDM0PnYpc3dpdGNoKHYpe2Nhc2VcbjA6cmV0dXJuWzIsYmcoYSxiKV07Y2FzZVxuMTpyZXR1cm5bMixhXTtjYXNlXG4yOnZhclxuYXM9YTUoYSxiKSxOPWFkKGFiKSxQPWlVKGEsTixiKSxSPVBbMV07cmV0dXJuWzEsUixiNyhSLGFzLFBbMl0sTiwxKV07Y2FzZVxuMzp2YXJcblU9SChiKTtpZighYVs1XSl7dmFyXG5hdT1hNShhLGIpLHM9YWQoYWIpO08ocyxVKTt2YXJcbl89aVUoYSxzLGIpLCQ9X1sxXTtyZXR1cm5bMSwkLGI3KCQsYXUsX1syXSxzLDEpXX12YXJcbmF0PWFbNF0/R04oYSxhYShhLGIpLFUpOmEsWT1tcSgxLGF0KSxaPW1qKGIpO2lmKFgoa08oYixaLTF8MCwxKSxqdSkmJmsoa08oYixaLTJ8MCwxKSxqdSkpcmV0dXJuWzAsWSw4N107cmV0dXJuWzIsWV07Y2FzZVxuNDppZihhWzRdKXJldHVyblsyLG1xKDAsYSldO2pKKGIpO1MoYik7dmFyXG5hdj0wPT09R3QoZyhiKSk/MDpoKGIpO3JldHVybiAwPT09YXY/WzAsYSxhS106RShhZE0pO2Nhc2VcbjU6dmFyXG5heD1hNShhLGIpLGFjPWFkKGFiKSxhZT1qTyhhLGFjLGIpLGFmPWFlWzFdO3JldHVyblsxLGFmLGI3KGFmLGF4LGFlWzJdLGFjLDApXTtjYXNlXG42OnZhclxuYWc9SChiKSxheT1hNShhLGIpLGFoPWFkKGFiKSx0PWFkKGFiKTtPKHQsYWcpO3ZhclxudT1HUyhhLGFnLGFoLHQsMCxiKSxhaz11WzFdLGFCPXVbM10sYUM9WzAsYWtbMV0sYXksdVsyXV0sYUU9YUQodCk7cmV0dXJuWzAsYWssWzIsWzAsYUMsYUQoYWgpLGFFLGFCXV1dO2Nhc2Vcbjc6cmV0dXJuIGF3KGEsYixmdW5jdGlvbihhLGIpe1MoYik7YTppZigwPT09YnooZyhiKSkmJjA9PT1tQyhnKGIpKSYmMD09PWNOKGcoYikpKXtiOmZvcig7Oyl7dmFyXG5lPW12KGcoYikpO2lmKDI8ZT4+PjApe3ZhclxuYz1oKGIpO2JyZWFrIGF9c3dpdGNoKGUpe2Nhc2VcbjA6YnJlYWs7Y2FzZVxuMTpicmVhayBiO2RlZmF1bHQ6dmFyXG5jPTA7YnJlYWsgYX19Zm9yKDs7KXtiOntpZigwPT09Y04oZyhiKSkpe2M6Zm9yKDs7KXt2YXJcbmY9bXYoZyhiKSk7aWYoMjxmPj4+MCl7dmFyXG5kPWgoYik7YnJlYWsgYn1zd2l0Y2goZil7Y2FzZVxuMDpicmVhaztjYXNlXG4xOmJyZWFrIGM7ZGVmYXVsdDp2YXJcbmQ9MDticmVhayBifX1jb250aW51ZX12YXJcbmQ9aChiKX12YXJcbmM9ZDticmVha319ZWxzZVxudmFyXG5jPWgoYik7cmV0dXJuIDA9PT1jP1swLGEsYjkoMCxhaihiKSldOkUoYWROKX0pO2Nhc2Vcbjg6cmV0dXJuWzAsYSxiOSgwLGFqKGIpKV07Y2FzZVxuOTpyZXR1cm4gYXcoYSxiLGZ1bmN0aW9uKGEsYil7UyhiKTtpZigwPT09YnooZyhiKSkmJjA9PT1tQyhnKGIpKSYmMD09PWNOKGcoYikpKXtmb3IoOzspe28oYiwwKTt2YXJcbmQ9bXUoZyhiKSk7aWYoMCE9PWQpYnJlYWt9aWYoMT09PWQpZm9yKDs7KXtpZigwPT09Y04oZyhiKSkpe2Zvcig7Oyl7byhiLDApO3ZhclxuZj1tdShnKGIpKTtpZigwIT09ZilicmVha31pZigxPT09Ziljb250aW51ZTt2YXJcbmU9aChiKX1lbHNlXG52YXJcbmU9aChiKTt2YXJcbmM9ZTticmVha31lbHNlXG52YXJcbmM9aChiKX1lbHNlXG52YXJcbmM9aChiKTtyZXR1cm4gMD09PWM/WzAsYSxiOCgwLGFqKGIpKV06RShhZE8pfSk7Y2FzZVxuMTA6cmV0dXJuWzAsYSxiOCgwLGFqKGIpKV07Y2FzZVxuMTE6cmV0dXJuIGF3KGEsYixmdW5jdGlvbihhLGIpe1MoYik7YTppZigwPT09YnooZyhiKSkmJjA9PT1tSChnKGIpKSYmMD09PWJmKGcoYikpKXtiOmZvcig7Oyl7dmFyXG5lPW1CKGcoYikpO2lmKDI8ZT4+PjApe3ZhclxuYz1oKGIpO2JyZWFrIGF9c3dpdGNoKGUpe2Nhc2VcbjA6YnJlYWs7Y2FzZVxuMTpicmVhayBiO2RlZmF1bHQ6dmFyXG5jPTA7YnJlYWsgYX19Zm9yKDs7KXtiOntpZigwPT09YmYoZyhiKSkpe2M6Zm9yKDs7KXt2YXJcbmY9bUIoZyhiKSk7aWYoMjxmPj4+MCl7dmFyXG5kPWgoYik7YnJlYWsgYn1zd2l0Y2goZil7Y2FzZVxuMDpicmVhaztjYXNlXG4xOmJyZWFrIGM7ZGVmYXVsdDp2YXJcbmQ9MDticmVhayBifX1jb250aW51ZX12YXJcbmQ9aChiKX12YXJcbmM9ZDticmVha319ZWxzZVxudmFyXG5jPWgoYik7cmV0dXJuIDA9PT1jP1swLGEsYjkoMSxhaihiKSldOkUoYWRQKX0pO2Nhc2VcbjEyOnJldHVyblswLGEsYjkoMSxhaihiKSldO2Nhc2VcbjEzOnJldHVybiBhdyhhLGIsZnVuY3Rpb24oYSxiKXtTKGIpO2lmKDA9PT1ieihnKGIpKSYmMD09PW1IKGcoYikpJiYwPT09YmYoZyhiKSkpe2Zvcig7Oyl7byhiLDApO3ZhclxuZD1teihnKGIpKTtpZigwIT09ZClicmVha31pZigxPT09ZClmb3IoOzspe2lmKDA9PT1iZihnKGIpKSl7Zm9yKDs7KXtvKGIsMCk7dmFyXG5mPW16KGcoYikpO2lmKDAhPT1mKWJyZWFrfWlmKDE9PT1mKWNvbnRpbnVlO3ZhclxuZT1oKGIpfWVsc2VcbnZhclxuZT1oKGIpO3ZhclxuYz1lO2JyZWFrfWVsc2VcbnZhclxuYz1oKGIpfWVsc2VcbnZhclxuYz1oKGIpO3JldHVybiAwPT09Yz9bMCxhLGI4KDMsYWooYikpXTpFKGFkUSl9KTtjYXNlXG4xNDpyZXR1cm5bMCxhLGI4KDMsYWooYikpXTtjYXNlXG4xNTpyZXR1cm4gYXcoYSxiLGZ1bmN0aW9uKGEsYil7UyhiKTtpZigwPT09YnooZyhiKSkmJjA9PT1iZihnKGIpKSlmb3IoOzspe28oYiwwKTtpZigwIT09YmYoZyhiKSkpe3ZhclxuYz1oKGIpO2JyZWFrfX1lbHNlXG52YXJcbmM9aChiKTtyZXR1cm4gMD09PWM/WzAsYSxiOCgxLGFqKGIpKV06RShhZFIpfSk7Y2FzZVxuMTY6cmV0dXJuWzAsYSxiOCgxLGFqKGIpKV07Y2FzZVxuMTc6cmV0dXJuIGF3KGEsYixmdW5jdGlvbihhLGIpe1MoYik7YTppZigwPT09YnooZyhiKSkmJjA9PT1tcyhnKGIpKSYmMD09PVcoZyhiKSkpe2I6Zm9yKDs7KXt2YXJcbmU9bXcoZyhiKSk7aWYoMjxlPj4+MCl7dmFyXG5jPWgoYik7YnJlYWsgYX1zd2l0Y2goZSl7Y2FzZVxuMDpicmVhaztjYXNlXG4xOmJyZWFrIGI7ZGVmYXVsdDp2YXJcbmM9MDticmVhayBhfX1mb3IoOzspe2I6e2lmKDA9PT1XKGcoYikpKXtjOmZvcig7Oyl7dmFyXG5mPW13KGcoYikpO2lmKDI8Zj4+PjApe3ZhclxuZD1oKGIpO2JyZWFrIGJ9c3dpdGNoKGYpe2Nhc2VcbjA6YnJlYWs7Y2FzZVxuMTpicmVhayBjO2RlZmF1bHQ6dmFyXG5kPTA7YnJlYWsgYn19Y29udGludWV9dmFyXG5kPWgoYil9dmFyXG5jPWQ7YnJlYWt9fWVsc2VcbnZhclxuYz1oKGIpO3JldHVybiAwPT09Yz9bMCxhLGI5KDIsYWooYikpXTpFKGFkUyl9KTtjYXNlXG4xODpyZXR1cm5bMCxhLGI5KDIsYWooYikpXTtjYXNlXG4xOTpyZXR1cm4gYXcoYSxiLGZ1bmN0aW9uKGEsYil7UyhiKTtpZigwPT09YnooZyhiKSkmJjA9PT1tcyhnKGIpKSYmMD09PVcoZyhiKSkpe2Zvcig7Oyl7byhiLDApO3ZhclxuZD1tSyhnKGIpKTtpZigwIT09ZClicmVha31pZigxPT09ZClmb3IoOzspe2lmKDA9PT1XKGcoYikpKXtmb3IoOzspe28oYiwwKTt2YXJcbmY9bUsoZyhiKSk7aWYoMCE9PWYpYnJlYWt9aWYoMT09PWYpY29udGludWU7dmFyXG5lPWgoYil9ZWxzZVxudmFyXG5lPWgoYik7dmFyXG5jPWU7YnJlYWt9ZWxzZVxudmFyXG5jPWgoYil9ZWxzZVxudmFyXG5jPWgoYik7cmV0dXJuIDA9PT1jP1swLGEsYjgoNCxhaihiKSldOkUoYWRUKX0pO2Nhc2VcbjIwOnJldHVyblswLGEsYjgoNCxhaihiKSldO2Nhc2VcbjIxOnJldHVybiBhdyhhLGIsZnVuY3Rpb24oYSxiKXtmdW5jdGlvblxuZChhKXt2YXJcbmI9bVAoZyhhKSk7aWYoMjxiPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYil7Y2FzZVxuMDp2YXJcbmM9aWkoZyhhKSk7cmV0dXJuIDA9PT1jP2YoYSk6MT09PWM/aShhKTpoKGEpO2Nhc2VcbjE6cmV0dXJuIGYoYSk7ZGVmYXVsdDpyZXR1cm4gaShhKX19ZnVuY3Rpb25cbmYoYSl7Zm9yKDs7KXt2YXJcbmI9ak0oZyhhKSk7aWYoMCE9PWIpcmV0dXJuIDE9PT1iPzA6aChhKX19ZnVuY3Rpb25cbmkoYSl7Zm9yKDs7KXt2YXJcbmI9YjUoZyhhKSk7aWYoMjxiPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYil7Y2FzZVxuMDpicmVhaztjYXNlXG4xOmZvcig7Oyl7aWYoMCE9PVQoZyhhKSkpcmV0dXJuIGgoYSk7YTpmb3IoOzspe3ZhclxuYz1iNShnKGEpKTtpZigyPGM+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChjKXtjYXNlXG4wOmJyZWFrO2Nhc2VcbjE6YnJlYWsgYTtkZWZhdWx0OnJldHVybiAwfX19YnJlYWs7ZGVmYXVsdDpyZXR1cm4gMH19fWZ1bmN0aW9uXG5qKGEpe3ZhclxuYj1tSShnKGEpKTtpZigwIT09YilyZXR1cm4gMT09PWI/ZChhKTpoKGEpO2E6Zm9yKDs7KXt2YXJcbmM9YnIoZyhhKSk7aWYoMjxjPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYyl7Y2FzZVxuMDpicmVhaztjYXNlXG4xOnJldHVybiBkKGEpO2RlZmF1bHQ6YnJlYWsgYX19Zm9yKDs7KXtpZigwIT09VChnKGEpKSlyZXR1cm4gaChhKTthOmZvcig7Oyl7dmFyXG5lPWJyKGcoYSkpO2lmKDI8ZT4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKGUpe2Nhc2VcbjA6YnJlYWs7Y2FzZVxuMTpyZXR1cm4gZChhKTtkZWZhdWx0OmJyZWFrIGF9fX19UyhiKTt2YXJcbms9aWgoZyhiKSk7aWYoMjxrPj4+MCl2YXJcbmM9aChiKTtlbHNlXG5hOnN3aXRjaChrKXtjYXNlXG4wOmlmKDA9PT1UKGcoYikpKXtiOmZvcig7Oyl7dmFyXG5sPWJyKGcoYikpO2lmKDI8bD4+PjApe3ZhclxuYz1oKGIpO2JyZWFrIGF9c3dpdGNoKGwpe2Nhc2VcbjA6YnJlYWs7Y2FzZVxuMTp2YXJcbmM9ZChiKTticmVhayBhO2RlZmF1bHQ6YnJlYWsgYn19Zm9yKDs7KXtiOntpZigwPT09VChnKGIpKSl7Yzpmb3IoOzspe3ZhclxubT1icihnKGIpKTtpZigyPG0+Pj4wKXt2YXJcbmU9aChiKTticmVhayBifXN3aXRjaChtKXtjYXNlXG4wOmJyZWFrO2Nhc2VcbjE6dmFyXG5lPWQoYik7YnJlYWsgYjtkZWZhdWx0OmJyZWFrIGN9fWNvbnRpbnVlfXZhclxuZT1oKGIpfXZhclxuYz1lO2JyZWFrfX1lbHNlXG52YXJcbmM9aChiKTticmVhaztjYXNlXG4xOnZhclxubj1tdChnKGIpKSxjPTA9PT1uP2ooYik6MT09PW4/ZChiKTpoKGIpO2JyZWFrO2RlZmF1bHQ6Yjpmb3IoOzspe3Zhclxubz1tRyhnKGIpKTtpZigyPG8+Pj4wKXt2YXJcbmM9aChiKTticmVha31zd2l0Y2gobyl7Y2FzZVxuMDp2YXJcbmM9aihiKTticmVhayBiO2Nhc2VcbjE6YnJlYWs7ZGVmYXVsdDp2YXJcbmM9ZChiKTticmVhayBifX19aWYoMCE9PWMpcmV0dXJuIEUoYWRVKTt2YXJcbnA9YWooYikscT1hNihhLGFhKGEsYiksNDIpO3JldHVyblswLHEsYjkoMixwKV19KTtjYXNlXG4yMjp2YXJcbmFGPWFqKGIpLGFHPWE2KGEsYWEoYSxiKSw0Mik7cmV0dXJuWzAsYUcsYjkoMixhRildO2Nhc2VcbjIzOnJldHVybiBhdyhhLGIsZnVuY3Rpb24oYSxiKXtmdW5jdGlvblxuZChhKXt2YXJcbmI9bVAoZyhhKSk7aWYoMjxiPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYil7Y2FzZVxuMDp2YXJcbmM9aWkoZyhhKSk7cmV0dXJuIDA9PT1jP2YoYSk6MT09PWM/aShhKTpoKGEpO2Nhc2VcbjE6cmV0dXJuIGYoYSk7ZGVmYXVsdDpyZXR1cm4gaShhKX19ZnVuY3Rpb25cbmYoYSl7Zm9yKDs7KXtvKGEsMCk7aWYoMCE9PVQoZyhhKSkpcmV0dXJuIGgoYSl9fWZ1bmN0aW9uXG5pKGEpe2Zvcig7Oyl7byhhLDApO3ZhclxuYj1payhnKGEpKTtpZigwIT09Yil7aWYoMSE9PWIpcmV0dXJuIGgoYSk7Zm9yKDs7KXtpZigwIT09VChnKGEpKSlyZXR1cm4gaChhKTtmb3IoOzspe28oYSwwKTt2YXJcbmM9aWsoZyhhKSk7aWYoMCE9PWMpYnJlYWt9aWYoMSE9PWMpcmV0dXJuIGgoYSl9fX19ZnVuY3Rpb25cbmooYSl7dmFyXG5iPW1JKGcoYSkpO2lmKDAhPT1iKXJldHVybiAxPT09Yj9kKGEpOmgoYSk7YTpmb3IoOzspe3ZhclxuYz1icihnKGEpKTtpZigyPGM+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChjKXtjYXNlXG4wOmJyZWFrO2Nhc2VcbjE6cmV0dXJuIGQoYSk7ZGVmYXVsdDpicmVhayBhfX1mb3IoOzspe2lmKDAhPT1UKGcoYSkpKXJldHVybiBoKGEpO2E6Zm9yKDs7KXt2YXJcbmU9YnIoZyhhKSk7aWYoMjxlPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goZSl7Y2FzZVxuMDpicmVhaztjYXNlXG4xOnJldHVybiBkKGEpO2RlZmF1bHQ6YnJlYWsgYX19fX1TKGIpO3Zhclxuaz1paChnKGIpKTtpZigyPGs+Pj4wKXZhclxuYz1oKGIpO2Vsc2VcbmE6c3dpdGNoKGspe2Nhc2VcbjA6aWYoMD09PVQoZyhiKSkpe2I6Zm9yKDs7KXt2YXJcbmw9YnIoZyhiKSk7aWYoMjxsPj4+MCl7dmFyXG5jPWgoYik7YnJlYWsgYX1zd2l0Y2gobCl7Y2FzZVxuMDpicmVhaztjYXNlXG4xOnZhclxuYz1kKGIpO2JyZWFrIGE7ZGVmYXVsdDpicmVhayBifX1mb3IoOzspe2I6e2lmKDA9PT1UKGcoYikpKXtjOmZvcig7Oyl7dmFyXG5tPWJyKGcoYikpO2lmKDI8bT4+PjApe3ZhclxuZT1oKGIpO2JyZWFrIGJ9c3dpdGNoKG0pe2Nhc2VcbjA6YnJlYWs7Y2FzZVxuMTp2YXJcbmU9ZChiKTticmVhayBiO2RlZmF1bHQ6YnJlYWsgY319Y29udGludWV9dmFyXG5lPWgoYil9dmFyXG5jPWU7YnJlYWt9fWVsc2VcbnZhclxuYz1oKGIpO2JyZWFrO2Nhc2VcbjE6dmFyXG5uPW10KGcoYikpLGM9MD09PW4/aihiKToxPT09bj9kKGIpOmgoYik7YnJlYWs7ZGVmYXVsdDpiOmZvcig7Oyl7dmFyXG5wPW1HKGcoYikpO2lmKDI8cD4+PjApe3ZhclxuYz1oKGIpO2JyZWFrfXN3aXRjaChwKXtjYXNlXG4wOnZhclxuYz1qKGIpO2JyZWFrIGI7Y2FzZVxuMTpicmVhaztkZWZhdWx0OnZhclxuYz1kKGIpO2JyZWFrIGJ9fX1yZXR1cm4gMD09PWM/WzAsYSxiOCg0LGFqKGIpKV06RShhZFYpfSk7Y2FzZVxuMjQ6cmV0dXJuWzAsYSxiOCg0LGFqKGIpKV07Y2FzZVxuMjU6cmV0dXJuIGF3KGEsYixmdW5jdGlvbihhLGIpe2Z1bmN0aW9uXG5mKGEpe2Zvcig7Oyl7dmFyXG5iPWI1KGcoYSkpO2lmKDI8Yj4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKGIpe2Nhc2VcbjA6YnJlYWs7Y2FzZVxuMTpmb3IoOzspe2lmKDAhPT1UKGcoYSkpKXJldHVybiBoKGEpO2E6Zm9yKDs7KXt2YXJcbmM9YjUoZyhhKSk7aWYoMjxjPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYyl7Y2FzZVxuMDpicmVhaztjYXNlXG4xOmJyZWFrIGE7ZGVmYXVsdDpyZXR1cm4gMH19fWJyZWFrO2RlZmF1bHQ6cmV0dXJuIDB9fX1mdW5jdGlvblxuZChhKXt2YXJcbmI9ak0oZyhhKSk7cmV0dXJuIDA9PT1iP2YoYSk6MT09PWI/MDpoKGEpfVMoYik7dmFyXG5pPWloKGcoYikpO2lmKDI8aT4+PjApdmFyXG5jPWgoYik7ZWxzZVxuYTpzd2l0Y2goaSl7Y2FzZVxuMDp2YXJcbmM9MD09PVQoZyhiKSk/ZihiKTpoKGIpO2JyZWFrO2Nhc2VcbjE6Zm9yKDs7KXt2YXJcbmo9ak4oZyhiKSk7aWYoMD09PWope3ZhclxuYz1kKGIpO2JyZWFrfWlmKDEhPT1qKXt2YXJcbmM9aChiKTticmVha319YnJlYWs7ZGVmYXVsdDpiOmZvcig7Oyl7dmFyXG5rPWlsKGcoYikpO2lmKDI8az4+PjApe3ZhclxuYz1oKGIpO2JyZWFrIGF9c3dpdGNoKGspe2Nhc2VcbjA6dmFyXG5jPWQoYik7YnJlYWsgYTtjYXNlXG4xOmJyZWFrO2RlZmF1bHQ6YnJlYWsgYn19Zm9yKDs7KXtiOntpZigwPT09VChnKGIpKSl7Yzpmb3IoOzspe3ZhclxubD1pbChnKGIpKTtpZigyPGw+Pj4wKXt2YXJcbmU9aChiKTticmVhayBifXN3aXRjaChsKXtjYXNlXG4wOnZhclxuZT1kKGIpO2JyZWFrIGI7Y2FzZVxuMTpicmVhaztkZWZhdWx0OmJyZWFrIGN9fWNvbnRpbnVlfXZhclxuZT1oKGIpfXZhclxuYz1lO2JyZWFrfX1pZigwIT09YylyZXR1cm4gRShhZFcpO3ZhclxubT1haihiKSxuPWE2KGEsYWEoYSxiKSwzNCk7cmV0dXJuWzAsbixiOSgyLG0pXX0pO2Nhc2VcbjI2OnJldHVybiBhdyhhLGIsZnVuY3Rpb24oYSxiKXtTKGIpO3ZhclxuZT1paShnKGIpKTthOmlmKDA9PT1lKWZvcig7Oyl7dmFyXG5mPWpNKGcoYikpO2lmKDAhPT1mKXtpZigxPT09Zil7dmFyXG5jPTA7YnJlYWt9dmFyXG5jPWgoYik7YnJlYWt9fWVsc2UgaWYoMT09PWUpe2I6Zm9yKDs7KXt2YXJcbmk9YjUoZyhiKSk7aWYoMjxpPj4+MCl7dmFyXG5jPWgoYik7YnJlYWsgYX1zd2l0Y2goaSl7Y2FzZVxuMDpicmVhaztjYXNlXG4xOmJyZWFrIGI7ZGVmYXVsdDp2YXJcbmM9MDticmVhayBhfX1mb3IoOzspe2I6e2lmKDA9PT1UKGcoYikpKXtjOmZvcig7Oyl7dmFyXG5qPWI1KGcoYikpO2lmKDI8aj4+PjApe3ZhclxuZD1oKGIpO2JyZWFrIGJ9c3dpdGNoKGope2Nhc2VcbjA6YnJlYWs7Y2FzZVxuMTpicmVhayBjO2RlZmF1bHQ6dmFyXG5kPTA7YnJlYWsgYn19Y29udGludWV9dmFyXG5kPWgoYil9dmFyXG5jPWQ7YnJlYWt9fWVsc2VcbnZhclxuYz1oKGIpO3JldHVybiAwPT09Yz9bMCxhLGI5KDIsYWooYikpXTpFKGFkWCl9KTtjYXNlXG4yNzp2YXJcbmFIPWFqKGIpLGFJPWE2KGEsYWEoYSxiKSwzNCk7cmV0dXJuWzAsYUksYjkoMixhSCldO2Nhc2VcbjI4OnJldHVyblswLGEsYjkoMixhaihiKSldO2Nhc2VcbjI5OnJldHVybiBhdyhhLGIsZnVuY3Rpb24oYSxiKXtmdW5jdGlvblxuZihhKXtmb3IoOzspe28oYSwwKTt2YXJcbmI9aWsoZyhhKSk7aWYoMCE9PWIpe2lmKDEhPT1iKXJldHVybiBoKGEpO2Zvcig7Oyl7aWYoMCE9PVQoZyhhKSkpcmV0dXJuIGgoYSk7Zm9yKDs7KXtvKGEsMCk7dmFyXG5jPWlrKGcoYSkpO2lmKDAhPT1jKWJyZWFrfWlmKDEhPT1jKXJldHVybiBoKGEpfX19fWZ1bmN0aW9uXG5kKGEpe28oYSwwKTtyZXR1cm4gMD09PVQoZyhhKSk/ZihhKTpoKGEpfVMoYik7dmFyXG5pPWloKGcoYikpO2lmKDI8aT4+PjApdmFyXG5jPWgoYik7ZWxzZVxuYTpzd2l0Y2goaSl7Y2FzZVxuMDp2YXJcbmM9MD09PVQoZyhiKSk/ZihiKTpoKGIpO2JyZWFrO2Nhc2VcbjE6Zm9yKDs7KXtvKGIsMCk7dmFyXG5qPWpOKGcoYikpO2lmKDA9PT1qKXt2YXJcbmM9ZChiKTticmVha31pZigxIT09ail7dmFyXG5jPWgoYik7YnJlYWt9fWJyZWFrO2RlZmF1bHQ6Yjpmb3IoOzspe28oYiwwKTt2YXJcbms9aWwoZyhiKSk7aWYoMjxrPj4+MCl7dmFyXG5jPWgoYik7YnJlYWsgYX1zd2l0Y2goayl7Y2FzZVxuMDp2YXJcbmM9ZChiKTticmVhayBhO2Nhc2VcbjE6YnJlYWs7ZGVmYXVsdDpicmVhayBifX1mb3IoOzspe2I6e2lmKDA9PT1UKGcoYikpKXtjOmZvcig7Oyl7byhiLDApO3ZhclxubD1pbChnKGIpKTtpZigyPGw+Pj4wKXt2YXJcbmU9aChiKTticmVhayBifXN3aXRjaChsKXtjYXNlXG4wOnZhclxuZT1kKGIpO2JyZWFrIGI7Y2FzZVxuMTpicmVhaztkZWZhdWx0OmJyZWFrIGN9fWNvbnRpbnVlfXZhclxuZT1oKGIpfXZhclxuYz1lO2JyZWFrfX1yZXR1cm4gMD09PWM/WzAsYSxiOCg0LGFqKGIpKV06RShhZFkpfSk7Y2FzZVxuMzA6cmV0dXJuWzAsYSxiOCg0LGFqKGIpKV07Y2FzZVxuMzE6cmV0dXJuWzAsYSw2N107Y2FzZVxuMzI6cmV0dXJuWzAsYSw2XTtkZWZhdWx0OnJldHVyblswLGEsN119c3dpdGNoKHYpe2Nhc2VcbjM0OnJldHVyblswLGEsMF07Y2FzZVxuMzU6cmV0dXJuWzAsYSwxXTtjYXNlXG4zNjpyZXR1cm5bMCxhLDJdO2Nhc2VcbjM3OnJldHVyblswLGEsM107Y2FzZVxuMzg6cmV0dXJuWzAsYSw0XTtjYXNlXG4zOTpyZXR1cm5bMCxhLDVdO2Nhc2VcbjQwOnJldHVyblswLGEsMTJdO2Nhc2VcbjQxOnJldHVyblswLGEsMTBdO2Nhc2VcbjQyOnJldHVyblswLGEsOF07Y2FzZVxuNDM6cmV0dXJuWzAsYSw5XTtjYXNlXG40NDpyZXR1cm5bMCxhLDg3XTtjYXNlXG40NTpyZXR1cm5bMCxhLDg0XTtjYXNlXG40NjpyZXR1cm5bMCxhLDg2XTtjYXNlXG40NzpyZXR1cm5bMCxhLDZdO2Nhc2VcbjQ4OnJldHVyblswLGEsN107Y2FzZVxuNDk6cmV0dXJuWzAsYSw5OV07Y2FzZVxuNTA6cmV0dXJuWzAsYSxhbl07Y2FzZVxuNTE6cmV0dXJuWzAsYSw4M107Y2FzZVxuNTI6cmV0dXJuWzAsYSw4Nl07Y2FzZVxuNTM6cmV0dXJuWzAsYSxhS107Y2FzZVxuNTQ6cmV0dXJuWzAsYSw4N107Y2FzZVxuNTU6cmV0dXJuWzAsYSw4OV07Y2FzZVxuNTY6cmV0dXJuWzAsYSw4OF07Y2FzZVxuNTc6cmV0dXJuWzAsYSw5MF07Y2FzZVxuNTg6cmV0dXJuWzAsYSw5Ml07Y2FzZVxuNTk6cmV0dXJuWzAsYSwxMV07Y2FzZVxuNjA6cmV0dXJuWzAsYSw4M107Y2FzZVxuNjE6cmV0dXJuWzAsYSxiVF07Y2FzZVxuNjI6cmV0dXJuWzAsYSxjaF07Y2FzZVxuNjM6cmV0dXJuWzAsYSxwdV07Y2FzZVxuNjQ6cmV0dXJuWzAsYSxvUF07Y2FzZVxuNjU6dmFyXG5hbD1iWzZdO0dMKGIpO3ZhclxuYUo9a1QoYSxhbCxiWzNdKTtyVihiLGFsKTt2YXJcbmFtPWFqKGIpLGFvPUdRKGEsYW0pLGM9YW9bMl0sZD1hb1sxXSxhcD1DKGMsbjQpO2lmKDA8PWFwKXtpZigwPj1hcClyZXR1cm5bMCxkLGl2XTt2YXJcbmFxPUMoYyxseik7aWYoMDw9YXEpe2lmKDA+PWFxKXJldHVyblswLGQsYWldO2lmKCFrKGMsaFUpKXJldHVyblswLGQsMzJdO2lmKCFrKGMsaDMpKXJldHVyblswLGQsNDddO2lmKCFrKGMscUspKXJldHVyblswLGQsaUddO2lmKCFrKGMscFEpKXJldHVyblswLGQsY3hdO2lmKCFrKGMsaFgpKXJldHVyblswLGQsbHldfWVsc2V7aWYoIWsoYyxuMikpcmV0dXJuWzAsZCxrY107aWYoIWsoYyxqbikpcmV0dXJuWzAsZCwzMF07aWYoIWsoYyxrbykpcmV0dXJuWzAsZCxra107aWYoIWsoYyxqaCkpcmV0dXJuWzAsZCxhYl07aWYoIWsoYyxiTSkpcmV0dXJuWzAsZCw0M107aWYoIWsoYyxqNykpcmV0dXJuWzAsZCxlb119fWVsc2V7dmFyXG5hcj1DKGMsZ0IpO2lmKDA8PWFyKXtpZigwPj1hcilyZXR1cm5bMCxkLDQyXTtpZighayhjLGg1KSlyZXR1cm5bMCxkLDMxXTtpZighayhjLGtmKSlyZXR1cm5bMCxkLGxyXTtpZighayhjLEtfKSlyZXR1cm5bMCxkLGFBXTtpZighayhjLGJ1KSlyZXR1cm5bMCxkLDU0XTtpZighayhjLGxBKSlyZXR1cm5bMCxkLGpzXTtpZighayhjLHFmKSlyZXR1cm5bMCxkLG9PXX1lbHNle2lmKCFrKGMscFMpKXJldHVyblswLGQsanBdO2lmKCFrKGMsa2wpKXJldHVyblswLGQsbEhdO2lmKCFrKGMsamwpKXJldHVyblswLGQsbHNdO2lmKCFrKGMsbkwpKXJldHVyblswLGQsYWQwXTtpZighayhjLGxEKSlyZXR1cm5bMCxkLGFkWl07aWYoIWsoYyxiRikpcmV0dXJuWzAsZCxsUF19fXJldHVyblswLGQsWzQsYUosYyxrUChhbSldXTtjYXNlXG42Njp2YXJcbmFMPWFbNF0/YTYoYSxhYShhLGIpLDkyKTphO3JldHVyblswLGFMLFZdO2RlZmF1bHQ6cmV0dXJuWzAsYSxbNyxIKGIpXV19fSksYWQ1PWtVKGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb25cbmQoYSl7Zm9yKDs7KXtvKGEsMzMpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1mdW5jdGlvblxuZShhKXtvKGEsMzMpO3ZhclxuYj1HRShnKGEpKTtpZigzPGI+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChiKXtjYXNlXG4wOnJldHVybiBkKGEpO2Nhc2VcbjE6dmFyXG5jPWlpKGcoYSkpO2lmKDA9PT1jKWZvcig7Oyl7byhhLDI4KTt2YXJcbmU9akwoZyhhKSk7aWYoMjxlPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goZSl7Y2FzZVxuMDpyZXR1cm4gaShhKTtjYXNlXG4xOmJyZWFrO2RlZmF1bHQ6cmV0dXJuIG0oYSl9fWVsc2V7aWYoMSE9PWMpcmV0dXJuIGgoYSk7Zm9yKDs7KXtvKGEsMjgpO3ZhclxuZj1jTyhnKGEpKTtpZigzPGY+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChmKXtjYXNlXG4wOnJldHVybiBpKGEpO2Nhc2VcbjE6YnJlYWs7Y2FzZVxuMjpyZXR1cm4geChhKTtkZWZhdWx0OnJldHVybiBtKGEpfX19YnJlYWs7Y2FzZVxuMjpmb3IoOzspe28oYSwyOCk7dmFyXG5qPWpMKGcoYSkpO2lmKDI8aj4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKGope2Nhc2VcbjA6cmV0dXJuIG4oYSk7Y2FzZVxuMTpicmVhaztkZWZhdWx0OnJldHVybiB5KGEpfX1icmVhaztkZWZhdWx0OmZvcig7Oyl7byhhLDI4KTt2YXJcbms9Y08oZyhhKSk7aWYoMzxrPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goayl7Y2FzZVxuMDpyZXR1cm4gbihhKTtjYXNlXG4xOmJyZWFrO2Nhc2VcbjI6cmV0dXJuIHgoYSk7ZGVmYXVsdDpyZXR1cm4geShhKX19fX1mdW5jdGlvblxuaShhKXtmb3IoOzspe28oYSwyNyk7aWYoMCE9PVEoZyhhKSkpcmV0dXJuIGgoYSl9fWZ1bmN0aW9uXG5tKGEpe28oYSwyNik7dmFyXG5iPWF6KGcoYSkpO2lmKDAhPT1iKXJldHVybiAxPT09Yj9pKGEpOmgoYSk7Zm9yKDs7KXtvKGEsMjUpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1mdW5jdGlvblxueChhKXtmb3IoOzspe2lmKDAhPT1UKGcoYSkpKXJldHVybiBoKGEpO2E6Zm9yKDs7KXtvKGEsMjgpO3ZhclxuYj1jTyhnKGEpKTtpZigzPGI+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChiKXtjYXNlXG4wOnJldHVybiBpKGEpO2Nhc2VcbjE6YnJlYWs7Y2FzZVxuMjpicmVhayBhO2RlZmF1bHQ6cmV0dXJuIG0oYSl9fX19ZnVuY3Rpb25cbm4oYSl7Zm9yKDs7KXtvKGEsMjcpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1mdW5jdGlvblxueShhKXtvKGEsMjYpO3ZhclxuYj1heihnKGEpKTtpZigwIT09YilyZXR1cm4gMT09PWI/bihhKTpoKGEpO2Zvcig7Oyl7byhhLDI1KTtpZigwIT09UShnKGEpKSlyZXR1cm4gaChhKX19ZnVuY3Rpb25cbmYoYSl7byhhLDMxKTt2YXJcbmI9YXooZyhhKSk7aWYoMCE9PWIpcmV0dXJuIDE9PT1iP2QoYSk6aChhKTtmb3IoOzspe28oYSwyOSk7aWYoMCE9PVEoZyhhKSkpcmV0dXJuIGgoYSl9fWZ1bmN0aW9uXG56KGEpe28oYSwzKTtyZXR1cm4gMD09PUdKKGcoYSkpPzM6aChhKX1mdW5jdGlvblxuQShhKXtyZXR1cm4gMD09PW1KKGcoYSkpPzA9PT1tRihnKGEpKT8wPT09R0coZyhhKSk/MD09PUd3KGcoYSkpPzA9PT1HeChnKGEpKT8wPT09bUUoZyhhKSk/MD09PWtSKGcoYSkpPzA9PT1tSihnKGEpKT8wPT09aW0oZyhhKSk/MD09PXI4KGcoYSkpPzA9PT1pVChnKGEpKT8zOmgoYSk6aChhKTpoKGEpOmgoYSk6aChhKTpoKGEpOmgoYSk6aChhKTpoKGEpOmgoYSk6aChhKX1mdW5jdGlvblxucChhKXtvKGEsMzQpO3ZhclxuYj1HdShnKGEpKTtpZigzPGI+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChiKXtjYXNlXG4wOnJldHVybiBkKGEpO2Nhc2VcbjE6YTpmb3IoOzspe28oYSwzNCk7dmFyXG5jPWlqKGcoYSkpO2lmKDQ8Yz4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKGMpe2Nhc2VcbjA6cmV0dXJuIGQoYSk7Y2FzZVxuMTpicmVhaztjYXNlXG4yOnJldHVybiBlKGEpO2Nhc2VcbjM6YnJlYWsgYTtkZWZhdWx0OnJldHVybiBmKGEpfX1mb3IoOzspe2lmKDAhPT1UKGcoYSkpKXJldHVybiBoKGEpO2E6Zm9yKDs7KXtvKGEsMzQpO3ZhclxuaT1paihnKGEpKTtpZig0PGk+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChpKXtjYXNlXG4wOnJldHVybiBkKGEpO2Nhc2VcbjE6YnJlYWs7Y2FzZVxuMjpyZXR1cm4gZShhKTtjYXNlXG4zOmJyZWFrIGE7ZGVmYXVsdDpyZXR1cm4gZihhKX19fWJyZWFrO2Nhc2VcbjI6cmV0dXJuIGUoYSk7ZGVmYXVsdDpyZXR1cm4gZihhKX19ZnVuY3Rpb25cbkIoYSl7Zm9yKDs7KXtvKGEsMTkpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1mdW5jdGlvblxuaihhKXtvKGEsMzQpO3ZhclxuYj1qTChnKGEpKTtpZigyPGI+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChiKXtjYXNlXG4wOnJldHVybiBkKGEpO2Nhc2VcbjE6YTpmb3IoOzspe28oYSwzNCk7dmFyXG5jPWNPKGcoYSkpO2lmKDM8Yz4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKGMpe2Nhc2VcbjA6cmV0dXJuIGQoYSk7Y2FzZVxuMTpicmVhaztjYXNlXG4yOmJyZWFrIGE7ZGVmYXVsdDpyZXR1cm4gZihhKX19Zm9yKDs7KXtpZigwIT09VChnKGEpKSlyZXR1cm4gaChhKTthOmZvcig7Oyl7byhhLDM0KTt2YXJcbmU9Y08oZyhhKSk7aWYoMzxlPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goZSl7Y2FzZVxuMDpyZXR1cm4gZChhKTtjYXNlXG4xOmJyZWFrO2Nhc2VcbjI6YnJlYWsgYTtkZWZhdWx0OnJldHVybiBmKGEpfX19YnJlYWs7ZGVmYXVsdDpyZXR1cm4gZihhKX19ZnVuY3Rpb25cbkQoYSl7Zm9yKDs7KXtvKGEsMTcpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1mdW5jdGlvblxuRihhKXtmb3IoOzspe28oYSwxNyk7aWYoMCE9PVEoZyhhKSkpcmV0dXJuIGgoYSl9fWZ1bmN0aW9uXG5JKGEpe2Zvcig7Oyl7byhhLDExKTtpZigwIT09UShnKGEpKSlyZXR1cm4gaChhKX19ZnVuY3Rpb25cbkooYSl7Zm9yKDs7KXtvKGEsMTEpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1mdW5jdGlvblxuSyhhKXtmb3IoOzspe28oYSwxNSk7aWYoMCE9PVEoZyhhKSkpcmV0dXJuIGgoYSl9fWZ1bmN0aW9uXG5MKGEpe2Zvcig7Oyl7byhhLDE1KTtpZigwIT09UShnKGEpKSlyZXR1cm4gaChhKX19ZnVuY3Rpb25cbk0oYSl7Zm9yKDs7KXtvKGEsMjMpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1mdW5jdGlvblxuTihhKXtmb3IoOzspe28oYSwyMyk7aWYoMCE9PVEoZyhhKSkpcmV0dXJuIGgoYSl9fWZ1bmN0aW9uXG5sKGEpe28oYSwzMik7dmFyXG5iPWF6KGcoYSkpO2lmKDAhPT1iKXJldHVybiAxPT09Yj9kKGEpOmgoYSk7Zm9yKDs7KXtvKGEsMzApO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1mdW5jdGlvblxuUChhKXtmb3IoOzspe2lmKDAhPT1UKGcoYSkpKXJldHVybiBoKGEpO2E6Zm9yKDs7KXtvKGEsMzQpO3ZhclxuYj1HQyhnKGEpKTtpZig0PGI+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChiKXtjYXNlXG4wOnJldHVybiBkKGEpO2Nhc2VcbjE6cmV0dXJuIGooYSk7Y2FzZVxuMjpicmVhaztjYXNlXG4zOmJyZWFrIGE7ZGVmYXVsdDpyZXR1cm4gbChhKX19fX1TKGIpO3ZhclxuUj1mdW5jdGlvbihhKXt2YXJcbnI9X3ooZyhhKSk7aWYoMzY8cj4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKHIpe2Nhc2VcbjA6cmV0dXJuIDk4O2Nhc2VcbjE6cmV0dXJuIDk5O2Nhc2VcbjI6byhhLDEpO2lmKDAhPT1jTShnKGEpKSlyZXR1cm4gaChhKTtmb3IoOzspe28oYSwxKTtpZigwIT09Y00oZyhhKSkpcmV0dXJuIGgoYSl9YnJlYWs7Y2FzZVxuMzpyZXR1cm4gMDtjYXNlXG40Om8oYSwwKTtyZXR1cm4gMD09PWJBKGcoYSkpPzA6aChhKTtjYXNlXG41Om8oYSw4OCk7cmV0dXJuIDA9PT1jcShnKGEpKT8obyhhLDU4KSwwPT09Y3EoZyhhKSk/NTQ6aChhKSk6aChhKTtjYXNlXG42OnJldHVybiA3O2Nhc2Vcbjc6byhhLDk1KTt2YXJcbnM9ZyhhKSxhQz0zMjxzPzMzPHM/LTE6MDotMTtyZXR1cm4gMD09PWFDPzY6aChhKTtjYXNlXG44OnJldHVybiA5NztjYXNlXG45Om8oYSw4NCk7cmV0dXJuIDA9PT1jcShnKGEpKT83MTpoKGEpO2Nhc2VcbjEwOm8oYSw4Nik7dmFyXG5iPWcoYSksdD0zNzxiPzYxPGI/LTE6dyhcIlxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDJcIixiLTM4fDApLTF8MDotMTtyZXR1cm4gMD09PXQ/KG8oYSw1MSksMD09PWNxKGcoYSkpPzc2OmgoYSkpOjE9PT10PzcyOmgoYSk7Y2FzZVxuMTE6cmV0dXJuIDM4O2Nhc2VcbjEyOnJldHVybiAzOTtjYXNlXG4xMzpvKGEsODIpO3ZhclxudT1HdihnKGEpKTtpZigyPHU+Pj4wKXJldHVybiBoKGEpO3N3aXRjaCh1KXtjYXNlXG4wOm8oYSw4Myk7cmV0dXJuIDA9PT1jcShnKGEpKT83MDpoKGEpO2Nhc2VcbjE6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gNjl9Y2FzZVxuMTQ6byhhLDgwKTt2YXJcbmM9ZyhhKSx2PTQyPGM/NjE8Yz8tMTp3KFwiXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlwiLGMrRGF8MCktMXwwOi0xO3JldHVybiAwPT09dj81OToxPT09dj82NzpoKGEpO2Nhc2VcbjE1OnJldHVybiA0NTtjYXNlXG4xNjpvKGEsODEpO3ZhclxuaT1nKGEpLHg9NDQ8aT82MTxpPy0xOncoXCJcXHgwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxceDAyXCIsaStCN3wwKS0xfDA6LTE7cmV0dXJuIDA9PT14PzYwOjE9PT14PzY4OmgoYSk7Y2FzZVxuMTc6byhhLDQzKTt2YXJcbnk9ak4oZyhhKSk7aWYoMD09PXkpcmV0dXJuIDA9PT1yNChnKGEpKT80MjpoKGEpO2lmKDEhPT15KXJldHVybiBoKGEpO2E6Zm9yKDs7KXtvKGEsMzQpO3ZhclxuQz1paihnKGEpKTtpZig0PEM+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChDKXtjYXNlXG4wOnJldHVybiBkKGEpO2Nhc2VcbjE6YnJlYWs7Y2FzZVxuMjpyZXR1cm4gZShhKTtjYXNlXG4zOmJyZWFrIGE7ZGVmYXVsdDpyZXR1cm4gZihhKX19Zm9yKDs7KXtpZigwIT09VChnKGEpKSlyZXR1cm4gaChhKTthOmZvcig7Oyl7byhhLDM0KTt2YXJcbkU9aWooZyhhKSk7aWYoNDxFPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goRSl7Y2FzZVxuMDpyZXR1cm4gZChhKTtjYXNlXG4xOmJyZWFrO2Nhc2VcbjI6cmV0dXJuIGUoYSk7Y2FzZVxuMzpicmVhayBhO2RlZmF1bHQ6cmV0dXJuIGYoYSl9fX1icmVhaztjYXNlXG4xODpvKGEsOTMpO3ZhclxuRz1HdihnKGEpKTtpZigyPEc+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChHKXtjYXNlXG4wOm8oYSwyKTt2YXJcbkg9bXkoZyhhKSk7aWYoMjxIPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goSCl7Y2FzZVxuMDpmb3IoOzspe3ZhclxuTz1teShnKGEpKTtpZigyPE8+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChPKXtjYXNlXG4wOmJyZWFrO2Nhc2VcbjE6cmV0dXJuIHooYSk7ZGVmYXVsdDpyZXR1cm4gQShhKX19YnJlYWs7Y2FzZVxuMTpyZXR1cm4geihhKTtkZWZhdWx0OnJldHVybiBBKGEpfWJyZWFrO2Nhc2VcbjE6cmV0dXJuIDU7ZGVmYXVsdDpyZXR1cm4gOTJ9YnJlYWs7Y2FzZVxuMTk6byhhLDM0KTt2YXJcblI9R3ooZyhhKSk7aWYoODxSPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goUil7Y2FzZVxuMDpyZXR1cm4gZChhKTtjYXNlXG4xOnJldHVybiBwKGEpO2Nhc2VcbjI6YTp7Yjpmb3IoOzspe28oYSwyMCk7dmFyXG5TPUdGKGcoYSkpO2lmKDQ8Uz4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKFMpe2Nhc2VcbjA6cmV0dXJuIEIoYSk7Y2FzZVxuMTpyZXR1cm4gaihhKTtjYXNlXG4yOmJyZWFrO2Nhc2VcbjM6YnJlYWsgYTtkZWZhdWx0OmJyZWFrIGJ9fW8oYSwxOSk7dmFyXG5YPWF6KGcoYSkpO2lmKDAhPT1YKXJldHVybiAxPT09WD9CKGEpOmgoYSk7Zm9yKDs7KXtvKGEsMTkpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1hOmZvcig7Oyl7byhhLDE4KTt2YXJcblU9bXgoZyhhKSk7aWYoMzxVPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goVSl7Y2FzZVxuMDpyZXR1cm4gRChhKTtjYXNlXG4xOnJldHVybiBqKGEpO2Nhc2VcbjI6YnJlYWs7ZGVmYXVsdDpicmVhayBhfX1vKGEsMTcpO3ZhclxuVj1heihnKGEpKTtpZigwIT09VilyZXR1cm4gMT09PVY/RChhKTpoKGEpO2Zvcig7Oyl7byhhLDE3KTtpZigwIT09UShnKGEpKSlyZXR1cm4gaChhKX1icmVhaztjYXNlXG4zOmE6Zm9yKDs7KXtvKGEsMTgpO3ZhclxuWT1teChnKGEpKTtpZigzPFk+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChZKXtjYXNlXG4wOnJldHVybiBGKGEpO2Nhc2VcbjE6cmV0dXJuIGooYSk7Y2FzZVxuMjpicmVhaztkZWZhdWx0OmJyZWFrIGF9fW8oYSwxNyk7dmFyXG5aPWF6KGcoYSkpO2lmKDAhPT1aKXJldHVybiAxPT09Wj9GKGEpOmgoYSk7Zm9yKDs7KXtvKGEsMTcpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfWJyZWFrO2Nhc2VcbjQ6byhhLDMzKTt2YXJcbl89R3koZyhhKSk7aWYoMD09PV8pcmV0dXJuIGQoYSk7aWYoMSE9PV8pcmV0dXJuIGgoYSk7YTp7Yjpmb3IoOzspe28oYSwxMik7dmFyXG4kPW1OKGcoYSkpO2lmKDM8JD4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKCQpe2Nhc2VcbjA6cmV0dXJuIEkoYSk7Y2FzZVxuMTpicmVhaztjYXNlXG4yOmJyZWFrIGE7ZGVmYXVsdDpicmVhayBifX1vKGEsMTApO3ZhclxuYWM9YXooZyhhKSk7aWYoMCE9PWFjKXJldHVybiAxPT09YWM/SShhKTpoKGEpO2Zvcig7Oyl7byhhLDkpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1hOmZvcig7Oyl7aWYoMCE9PWNOKGcoYSkpKXJldHVybiBoKGEpO2I6Zm9yKDs7KXtvKGEsMTIpO3ZhclxuYWE9bU4oZyhhKSk7aWYoMzxhYT4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKGFhKXtjYXNlXG4wOnJldHVybiBKKGEpO2Nhc2VcbjE6YnJlYWs7Y2FzZVxuMjpicmVhayBiO2RlZmF1bHQ6YnJlYWsgYX19fW8oYSwxMCk7dmFyXG5hYj1heihnKGEpKTtpZigwIT09YWIpcmV0dXJuIDE9PT1hYj9KKGEpOmgoYSk7Zm9yKDs7KXtvKGEsOSk7aWYoMCE9PVEoZyhhKSkpcmV0dXJuIGgoYSl9YnJlYWs7Y2FzZVxuNTpyZXR1cm4gZShhKTtjYXNlXG42Om8oYSwzMyk7dmFyXG5hZD1HQShnKGEpKTtpZigwPT09YWQpcmV0dXJuIGQoYSk7aWYoMSE9PWFkKXJldHVybiBoKGEpO2E6e2I6Zm9yKDs7KXtvKGEsMTYpO3ZhclxuYWU9bUwoZyhhKSk7aWYoMzxhZT4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKGFlKXtjYXNlXG4wOnJldHVybiBLKGEpO2Nhc2VcbjE6YnJlYWs7Y2FzZVxuMjpicmVhayBhO2RlZmF1bHQ6YnJlYWsgYn19byhhLDE0KTt2YXJcbmFoPWF6KGcoYSkpO2lmKDAhPT1haClyZXR1cm4gMT09PWFoP0soYSk6aChhKTtmb3IoOzspe28oYSwxMyk7aWYoMCE9PVEoZyhhKSkpcmV0dXJuIGgoYSl9fWE6Zm9yKDs7KXtpZigwIT09YmYoZyhhKSkpcmV0dXJuIGgoYSk7Yjpmb3IoOzspe28oYSwxNik7dmFyXG5hZj1tTChnKGEpKTtpZigzPGFmPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYWYpe2Nhc2VcbjA6cmV0dXJuIEwoYSk7Y2FzZVxuMTpicmVhaztjYXNlXG4yOmJyZWFrIGI7ZGVmYXVsdDpicmVhayBhfX19byhhLDE0KTt2YXJcbmFnPWF6KGcoYSkpO2lmKDAhPT1hZylyZXR1cm4gMT09PWFnP0woYSk6aChhKTtmb3IoOzspe28oYSwxMyk7aWYoMCE9PVEoZyhhKSkpcmV0dXJuIGgoYSl9YnJlYWs7Y2FzZVxuNzpvKGEsMzMpO3ZhclxuYWk9R3IoZyhhKSk7aWYoMD09PWFpKXJldHVybiBkKGEpO2lmKDEhPT1haSlyZXR1cm4gaChhKTthOntiOmZvcig7Oyl7byhhLDI0KTt2YXJcbmFqPW1PKGcoYSkpO2lmKDM8YWo+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChhail7Y2FzZVxuMDpyZXR1cm4gTShhKTtjYXNlXG4xOmJyZWFrO2Nhc2VcbjI6YnJlYWsgYTtkZWZhdWx0OmJyZWFrIGJ9fW8oYSwyMik7dmFyXG5hbT1heihnKGEpKTtpZigwIT09YW0pcmV0dXJuIDE9PT1hbT9NKGEpOmgoYSk7Zm9yKDs7KXtvKGEsMjEpO2lmKDAhPT1RKGcoYSkpKXJldHVybiBoKGEpfX1hOmZvcig7Oyl7aWYoMCE9PVcoZyhhKSkpcmV0dXJuIGgoYSk7Yjpmb3IoOzspe28oYSwyNCk7dmFyXG5haz1tTyhnKGEpKTtpZigzPGFrPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYWspe2Nhc2VcbjA6cmV0dXJuIE4oYSk7Y2FzZVxuMTpicmVhaztjYXNlXG4yOmJyZWFrIGI7ZGVmYXVsdDpicmVhayBhfX19byhhLDIyKTt2YXJcbmFsPWF6KGcoYSkpO2lmKDAhPT1hbClyZXR1cm4gMT09PWFsP04oYSk6aChhKTtmb3IoOzspe28oYSwyMSk7aWYoMCE9PVEoZyhhKSkpcmV0dXJuIGgoYSl9YnJlYWs7ZGVmYXVsdDpyZXR1cm4gbChhKX1icmVhaztjYXNlXG4yMDpvKGEsMzQpO3ZhclxuYW49bUEoZyhhKSk7aWYoNTxhbj4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKGFuKXtjYXNlXG4wOnJldHVybiBkKGEpO2Nhc2VcbjE6cmV0dXJuIHAoYSk7Y2FzZVxuMjpmb3IoOzspe28oYSwzNCk7dmFyXG5hbz1tQShnKGEpKTtpZig1PGFvPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYW8pe2Nhc2VcbjA6cmV0dXJuIGQoYSk7Y2FzZVxuMTpyZXR1cm4gcChhKTtjYXNlXG4yOmJyZWFrO2Nhc2VcbjM6cmV0dXJuIGUoYSk7Y2FzZVxuNDpyZXR1cm4gUChhKTtkZWZhdWx0OnJldHVybiBsKGEpfX1icmVhaztjYXNlXG4zOnJldHVybiBlKGEpO2Nhc2VcbjQ6cmV0dXJuIFAoYSk7ZGVmYXVsdDpyZXR1cm4gbChhKX1icmVhaztjYXNlXG4yMTpyZXR1cm4gNDY7Y2FzZVxuMjI6cmV0dXJuIDQ0O2Nhc2VcbjIzOm8oYSw3OCk7dmFyXG5rPWcoYSksYXA9NTk8az82MTxrPy0xOncob3csay02MHwwKS0xfDA6LTE7cmV0dXJuIDA9PT1hcD8obyhhLDYyKSwwPT09Y3EoZyhhKSk/NjE6aChhKSk6MT09PWFwPzU1OmgoYSk7Y2FzZVxuMjQ6byhhLDkwKTt2YXJcbmFxPXI3KGcoYSkpO3JldHVybiAwPT09YXE/KG8oYSw1NyksMD09PWNxKGcoYSkpPzUzOmgoYSkpOjE9PT1hcT85MTpoKGEpO2Nhc2VcbjI1Om8oYSw3OSk7dmFyXG5hcj1yNyhnKGEpKTtpZigwPT09YXIpcmV0dXJuIDU2O2lmKDEhPT1hcilyZXR1cm4gaChhKTtvKGEsNjYpO3ZhclxuYXM9cjcoZyhhKSk7cmV0dXJuIDA9PT1hcz82MzoxPT09YXM/KG8oYSw2NSksMD09PWNxKGcoYSkpPzY0OmgoYSkpOmgoYSk7Y2FzZVxuMjY6byhhLDUwKTt2YXJcbm09ZyhhKSxhdD00NTxtPzYzPG0/LTE6dyhcIlxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDJcIixtK2l3fDApLTF8MDotMTtyZXR1cm4gMD09PWF0PyhvKGEsNDgpLDA9PT1UKGcoYSkpPzQ3OmgoYSkpOjE9PT1hdD8obyhhLDQ5KSwwPT09Y3EoZyhhKSk/NzU6aChhKSk6aChhKTtjYXNlXG4yNzpvKGEsOTQpO3ZhclxuYXU9ZyhhKSxhRD02MzxhdT82NDxhdT8tMTowOi0xO2lmKDAhPT1hRClyZXR1cm4gaChhKTt2YXJcbm49ZyhhKSxhdj05NjxuP2NoPG4/LTE6dyhcIlxceDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFx4MDJcIixuK29XfDApLTF8MDotMTtpZigwIT09YXYpcmV0dXJuIDE9PT1hdj8wPT09bUQoZyhhKSk/MD09PWlUKGcoYSkpPzA9PT1rUyhnKGEpKT8wPT09R0IoZyhhKSk/MD09PW1EKGcoYSkpPzA9PT1tRihnKGEpKT8wPT09a1MoZyhhKSk/MzU6aChhKTpoKGEpOmgoYSk6aChhKTpoKGEpOmgoYSk6aChhKTpoKGEpO2lmKDAhPT1yNihnKGEpKSlyZXR1cm4gaChhKTt2YXJcbmF3PWcoYSksYUU9ZW88YXc/bHk8YXc/LTE6MDotMTtpZigwIT09YUUpcmV0dXJuIGgoYSk7aWYoMCE9PW1FKGcoYSkpKXJldHVybiBoKGEpO2lmKDAhPT1rUihnKGEpKSlyZXR1cm4gaChhKTt2YXJcbmF4PWcoYSksYUY9NzI8YXg/NzM8YXg/LTE6MDotMTtyZXR1cm4gMD09PWFGPzA9PT1tRChnKGEpKT8wPT09aVQoZyhhKSk/MD09PWtTKGcoYSkpPzA9PT1HQihnKGEpKT8wPT09bUQoZyhhKSk/MD09PW1GKGcoYSkpPzA9PT1rUyhnKGEpKT8zNTpoKGEpOmgoYSk6aChhKTpoKGEpOmgoYSk6aChhKTpoKGEpOmgoYSk7Y2FzZVxuMjg6cmV0dXJuIDQwO2Nhc2VcbjI5Om8oYSw5Nik7aWYoMCE9PWltKGcoYSkpKXJldHVybiBoKGEpO3ZhclxuYXk9aVMoZyhhKSk7aWYoMD09PWF5KXJldHVybiAwPT09VyhnKGEpKT8wPT09VyhnKGEpKT8wPT09VyhnKGEpKT85NzpoKGEpOmgoYSk6aChhKTtpZigxIT09YXkpcmV0dXJuIGgoYSk7aWYoMCE9PVcoZyhhKSkpcmV0dXJuIGgoYSk7Zm9yKDs7KXt2YXJcbmFBPWlSKGcoYSkpO2lmKDAhPT1hQSlyZXR1cm4gMT09PWFBPzk3OmgoYSl9YnJlYWs7Y2FzZVxuMzA6cmV0dXJuIDQxO2Nhc2VcbjMxOm8oYSw4Nyk7cmV0dXJuIDA9PT1jcShnKGEpKT83NDpoKGEpO2Nhc2VcbjMyOnJldHVybiA4O2Nhc2VcbjMzOnJldHVybiAzNjtjYXNlXG4zNDpvKGEsODUpO3ZhclxucT1nKGEpLGFCPTYwPHE/a2M8cT8tMTp3KFwiXFx4MDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXHgwMlwiLHErS298MCktMXwwOi0xO3JldHVybiAwPT09YUI/NzM6MT09PWFCPyhvKGEsNTIpLDA9PT1jcShnKGEpKT83NzpoKGEpKTpoKGEpO2Nhc2VcbjM1OnJldHVybiAzNztkZWZhdWx0OnJldHVybiA4OX19KGIpO2lmKDk5PFI+Pj4wKXJldHVybiBFKF85KTt2YXJcbnY9UjtpZig1MD52KXN3aXRjaCh2KXtjYXNlXG4wOnJldHVyblsyLGJnKGEsYildO2Nhc2VcbjE6cmV0dXJuWzIsYV07Y2FzZVxuMjp2YXJcbmFJPWE1KGEsYiksVT1hZChhYiksWT1pVShhLFUsYiksWj1ZWzFdO3JldHVyblsxLFosYjcoWixhSSxZWzJdLFUsMSldO2Nhc2VcbjM6dmFyXG5xPUgoYik7aWYoIWFbNV0pe3ZhclxuYUw9YTUoYSxiKSxyPWFkKGFiKTtPKHIsYTIocSwyLEcocSktMnwwKSk7dmFyXG5hYz1pVShhLHIsYiksYWU9YWNbMV07cmV0dXJuWzEsYWUsYjcoYWUsYUwsYWNbMl0sciwxKV19dmFyXG5hSj1hWzRdP0dOKGEsYWEoYSxiKSxxKTphLF89bXEoMSxhSiksJD1taihiKTtpZihYKGtPKGIsJC0xfDAsMSksanUpJiZrKGtPKGIsJC0yfDAsMSksanUpKXJldHVyblswLF8sODddO3JldHVyblsyLF9dO2Nhc2VcbjQ6aWYoYVs0XSlyZXR1cm5bMixtcSgwLGEpXTtqSihiKTtTKGIpO3ZhclxuYU09MD09PUd0KGcoYikpPzA6aChiKTtyZXR1cm4gMD09PWFNP1swLGEsYUtdOkUoX18pO2Nhc2VcbjU6dmFyXG5hTj1hNShhLGIpLGFmPWFkKGFiKSxhZz1qTyhhLGFmLGIpLGFoPWFnWzFdO3JldHVyblsxLGFoLGI3KGFoLGFOLGFnWzJdLGFmLDApXTtjYXNlXG42OmlmKDAhPT1iWzZdKXJldHVyblswLGEsXyRdO3ZhclxuYU89YTUoYSxiKSxhaT1hZChhYiksYWs9ak8oYSxhaSxiKSxhbD1ha1sxXSxhUD1bMCxhbFsxXSxhTyxha1syXV07cmV0dXJuWzAsYWwsWzYsYVAsYUQoYWkpXV07Y2FzZVxuNzp2YXJcbmFtPUgoYiksYVE9YTUoYSxiKSxhbz1hZChhYikscz1hZChhYik7TyhzLGFtKTt2YXJcbnQ9R1MoYSxhbSxhbyxzLDAsYiksYXA9dFsxXSxhUj10WzNdLGFUPVswLGFwWzFdLGFRLHRbMl1dLGFVPWFEKHMpO3JldHVyblswLGFwLFsyLFswLGFULGFEKGFvKSxhVSxhUl1dXTtjYXNlXG44OnZhclxuYXE9YWQoYWIpLGFyPWFkKGFiKSxhVj1hNShhLGIpLGFzPUdUKGEsYXEsYXIsYiksdT1hc1sxXSxhVz1hc1syXSxhWD1iQih1LGIpLGFZPVswLHVbMV0sYVYsYVhdLGEwPWFEKGFyKTtyZXR1cm5bMCx1LFszLFswLGFZLGFEKGFxKSxhMCwxLGFXXV1dO2Nhc2Vcbjk6cmV0dXJuIGF3KGEsYixmdW5jdGlvbihhLGIpe1MoYik7YTppZigwPT09YnooZyhiKSkmJjA9PT1tQyhnKGIpKSYmMD09PWNOKGcoYikpKXtiOmZvcig7Oyl7dmFyXG5lPW12KGcoYikpO2lmKDI8ZT4+PjApe3ZhclxuYz1oKGIpO2JyZWFrIGF9c3dpdGNoKGUpe2Nhc2VcbjA6YnJlYWs7Y2FzZVxuMTpicmVhayBiO2RlZmF1bHQ6dmFyXG5jPTA7YnJlYWsgYX19Zm9yKDs7KXtiOntpZigwPT09Y04oZyhiKSkpe2M6Zm9yKDs7KXt2YXJcbmY9bXYoZyhiKSk7aWYoMjxmPj4+MCl7dmFyXG5kPWgoYik7YnJlYWsgYn1zd2l0Y2goZil7Y2FzZVxuMDpicmVhaztjYXNlXG4xOmJyZWFrIGM7ZGVmYXVsdDp2YXJcbmQ9MDticmVhayBifX1jb250aW51ZX12YXJcbmQ9aChiKX12YXJcbmM9ZDticmVha319ZWxzZVxudmFyXG5jPWgoYik7cmV0dXJuIDA9PT1jP1swLGEsWzEsMCxIKGIpXV06RSgkYSl9KTtjYXNlXG4xMDpyZXR1cm5bMCxhLFsxLDAsSChiKV1dO2Nhc2VcbjExOnJldHVybiBhdyhhLGIsZnVuY3Rpb24oYSxiKXtTKGIpO2lmKDA9PT1ieihnKGIpKSYmMD09PW1DKGcoYikpJiYwPT09Y04oZyhiKSkpe2Zvcig7Oyl7byhiLDApO3ZhclxuZD1tdShnKGIpKTtpZigwIT09ZClicmVha31pZigxPT09ZClmb3IoOzspe2lmKDA9PT1jTihnKGIpKSl7Zm9yKDs7KXtvKGIsMCk7dmFyXG5mPW11KGcoYikpO2lmKDAhPT1mKWJyZWFrfWlmKDE9PT1mKWNvbnRpbnVlO3ZhclxuZT1oKGIpfWVsc2VcbnZhclxuZT1oKGIpO3ZhclxuYz1lO2JyZWFrfWVsc2VcbnZhclxuYz1oKGIpfWVsc2VcbnZhclxuYz1oKGIpO3JldHVybiAwPT09Yz9bMCxhLFswLDAsSChiKV1dOkUoJGIpfSk7Y2FzZVxuMTI6cmV0dXJuWzAsYSxbMCwwLEgoYildXTtjYXNlXG4xMzpyZXR1cm4gYXcoYSxiLGZ1bmN0aW9uKGEsYil7UyhiKTthOmlmKDA9PT1ieihnKGIpKSYmMD09PW1IKGcoYikpJiYwPT09YmYoZyhiKSkpe2I6Zm9yKDs7KXt2YXJcbmU9bUIoZyhiKSk7aWYoMjxlPj4+MCl7dmFyXG5jPWgoYik7YnJlYWsgYX1zd2l0Y2goZSl7Y2FzZVxuMDpicmVhaztjYXNlXG4xOmJyZWFrIGI7ZGVmYXVsdDp2YXJcbmM9MDticmVhayBhfX1mb3IoOzspe2I6e2lmKDA9PT1iZihnKGIpKSl7Yzpmb3IoOzspe3ZhclxuZj1tQihnKGIpKTtpZigyPGY+Pj4wKXt2YXJcbmQ9aChiKTticmVhayBifXN3aXRjaChmKXtjYXNlXG4wOmJyZWFrO2Nhc2VcbjE6YnJlYWsgYztkZWZhdWx0OnZhclxuZD0wO2JyZWFrIGJ9fWNvbnRpbnVlfXZhclxuZD1oKGIpfXZhclxuYz1kO2JyZWFrfX1lbHNlXG52YXJcbmM9aChiKTtyZXR1cm4gMD09PWM/WzAsYSxbMSwxLEgoYildXTpFKCRjKX0pO2Nhc2VcbjE0OnJldHVyblswLGEsWzEsMSxIKGIpXV07Y2FzZVxuMTU6cmV0dXJuIGF3KGEsYixmdW5jdGlvbihhLGIpe1MoYik7aWYoMD09PWJ6KGcoYikpJiYwPT09bUgoZyhiKSkmJjA9PT1iZihnKGIpKSl7Zm9yKDs7KXtvKGIsMCk7dmFyXG5kPW16KGcoYikpO2lmKDAhPT1kKWJyZWFrfWlmKDE9PT1kKWZvcig7Oyl7aWYoMD09PWJmKGcoYikpKXtmb3IoOzspe28oYiwwKTt2YXJcbmY9bXooZyhiKSk7aWYoMCE9PWYpYnJlYWt9aWYoMT09PWYpY29udGludWU7dmFyXG5lPWgoYil9ZWxzZVxudmFyXG5lPWgoYik7dmFyXG5jPWU7YnJlYWt9ZWxzZVxudmFyXG5jPWgoYil9ZWxzZVxudmFyXG5jPWgoYik7cmV0dXJuIDA9PT1jP1swLGEsWzAsMyxIKGIpXV06RSgkZCl9KTtjYXNlXG4xNjpyZXR1cm5bMCxhLFswLDMsSChiKV1dO2Nhc2VcbjE3OnJldHVybiBhdyhhLGIsZnVuY3Rpb24oYSxiKXtTKGIpO2lmKDA9PT1ieihnKGIpKSl7Zm9yKDs7KXt2YXJcbmM9ZyhiKSxlPTQ3PGM/NTc8Yz8tMTp3KFwiXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAxXFx4MDFcXHgwMVxceDAyXFx4MDJcIixjK2FTfDApLTF8MDotMTtpZigwIT09ZSlicmVha31pZigxPT09ZSlmb3IoOzspe28oYiwwKTtpZigwIT09VChnKGIpKSl7dmFyXG5kPWgoYik7YnJlYWt9fWVsc2VcbnZhclxuZD1oKGIpfWVsc2VcbnZhclxuZD1oKGIpO3JldHVybiAwPT09ZD9bMCxhLFswLDIsSChiKV1dOkUoJGUpfSk7Y2FzZVxuMTg6cmV0dXJuWzAsYSxbMCwyLEgoYildXTtjYXNlXG4xOTpyZXR1cm4gYXcoYSxiLGZ1bmN0aW9uKGEsYil7UyhiKTtpZigwPT09YnooZyhiKSkmJjA9PT1iZihnKGIpKSlmb3IoOzspe28oYiwwKTtpZigwIT09YmYoZyhiKSkpe3ZhclxuYz1oKGIpO2JyZWFrfX1lbHNlXG52YXJcbmM9aChiKTtyZXR1cm4gMD09PWM/WzAsYSxbMCwxLEgoYildXTpFKCRmKX0pO2Nhc2VcbjIwOnJldHVyblswLGEsWzAsMSxIKGIpXV07Y2FzZVxuMjE6cmV0dXJuIGF3KGEsYixmdW5jdGlvbihhLGIpe1MoYik7YTppZigwPT09YnooZyhiKSkmJjA9PT1tcyhnKGIpKSYmMD09PVcoZyhiKSkpe2I6Zm9yKDs7KXt2YXJcbmU9bXcoZyhiKSk7aWYoMjxlPj4+MCl7dmFyXG5jPWgoYik7YnJlYWsgYX1zd2l0Y2goZSl7Y2FzZVxuMDpicmVhaztjYXNlXG4xOmJyZWFrIGI7ZGVmYXVsdDp2YXJcbmM9MDticmVhayBhfX1mb3IoOzspe2I6e2lmKDA9PT1XKGcoYikpKXtjOmZvcig7Oyl7dmFyXG5mPW13KGcoYikpO2lmKDI8Zj4+PjApe3ZhclxuZD1oKGIpO2JyZWFrIGJ9c3dpdGNoKGYpe2Nhc2VcbjA6YnJlYWs7Y2FzZVxuMTpicmVhayBjO2RlZmF1bHQ6dmFyXG5kPTA7YnJlYWsgYn19Y29udGludWV9dmFyXG5kPWgoYil9dmFyXG5jPWQ7YnJlYWt9fWVsc2VcbnZhclxuYz1oKGIpO3JldHVybiAwPT09Yz9bMCxhLFsxLDIsSChiKV1dOkUoJGcpfSk7Y2FzZVxuMjI6cmV0dXJuWzAsYSxbMSwyLEgoYildXTtjYXNlXG4yMzpyZXR1cm4gYXcoYSxiLGZ1bmN0aW9uKGEsYil7UyhiKTtpZigwPT09YnooZyhiKSkmJjA9PT1tcyhnKGIpKSYmMD09PVcoZyhiKSkpe2Zvcig7Oyl7byhiLDApO3ZhclxuZD1tSyhnKGIpKTtpZigwIT09ZClicmVha31pZigxPT09ZClmb3IoOzspe2lmKDA9PT1XKGcoYikpKXtmb3IoOzspe28oYiwwKTt2YXJcbmY9bUsoZyhiKSk7aWYoMCE9PWYpYnJlYWt9aWYoMT09PWYpY29udGludWU7dmFyXG5lPWgoYil9ZWxzZVxudmFyXG5lPWgoYik7dmFyXG5jPWU7YnJlYWt9ZWxzZVxudmFyXG5jPWgoYil9ZWxzZVxudmFyXG5jPWgoYik7cmV0dXJuIDA9PT1jP1swLGEsWzAsNCxIKGIpXV06RSgkaCl9KTtjYXNlXG4yNDpyZXR1cm5bMCxhLFswLDQsSChiKV1dO2Nhc2VcbjI1OnJldHVybiBhdyhhLGIsZnVuY3Rpb24oYSxiKXtmdW5jdGlvblxuZChhKXt2YXJcbmI9bVAoZyhhKSk7aWYoMjxiPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYil7Y2FzZVxuMDp2YXJcbmM9aWkoZyhhKSk7cmV0dXJuIDA9PT1jP2YoYSk6MT09PWM/aShhKTpoKGEpO2Nhc2VcbjE6cmV0dXJuIGYoYSk7ZGVmYXVsdDpyZXR1cm4gaShhKX19ZnVuY3Rpb25cbmYoYSl7Zm9yKDs7KXt2YXJcbmI9ak0oZyhhKSk7aWYoMCE9PWIpcmV0dXJuIDE9PT1iPzA6aChhKX19ZnVuY3Rpb25cbmkoYSl7Zm9yKDs7KXt2YXJcbmI9YjUoZyhhKSk7aWYoMjxiPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYil7Y2FzZVxuMDpicmVhaztjYXNlXG4xOmZvcig7Oyl7aWYoMCE9PVQoZyhhKSkpcmV0dXJuIGgoYSk7YTpmb3IoOzspe3ZhclxuYz1iNShnKGEpKTtpZigyPGM+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChjKXtjYXNlXG4wOmJyZWFrO2Nhc2VcbjE6YnJlYWsgYTtkZWZhdWx0OnJldHVybiAwfX19YnJlYWs7ZGVmYXVsdDpyZXR1cm4gMH19fWZ1bmN0aW9uXG5qKGEpe3ZhclxuYj1tSShnKGEpKTtpZigwIT09YilyZXR1cm4gMT09PWI/ZChhKTpoKGEpO2E6Zm9yKDs7KXt2YXJcbmM9YnIoZyhhKSk7aWYoMjxjPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYyl7Y2FzZVxuMDpicmVhaztjYXNlXG4xOnJldHVybiBkKGEpO2RlZmF1bHQ6YnJlYWsgYX19Zm9yKDs7KXtpZigwIT09VChnKGEpKSlyZXR1cm4gaChhKTthOmZvcig7Oyl7dmFyXG5lPWJyKGcoYSkpO2lmKDI8ZT4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKGUpe2Nhc2VcbjA6YnJlYWs7Y2FzZVxuMTpyZXR1cm4gZChhKTtkZWZhdWx0OmJyZWFrIGF9fX19UyhiKTt2YXJcbms9aWgoZyhiKSk7aWYoMjxrPj4+MCl2YXJcbmM9aChiKTtlbHNlXG5hOnN3aXRjaChrKXtjYXNlXG4wOmlmKDA9PT1UKGcoYikpKXtiOmZvcig7Oyl7dmFyXG5sPWJyKGcoYikpO2lmKDI8bD4+PjApe3ZhclxuYz1oKGIpO2JyZWFrIGF9c3dpdGNoKGwpe2Nhc2VcbjA6YnJlYWs7Y2FzZVxuMTp2YXJcbmM9ZChiKTticmVhayBhO2RlZmF1bHQ6YnJlYWsgYn19Zm9yKDs7KXtiOntpZigwPT09VChnKGIpKSl7Yzpmb3IoOzspe3ZhclxubT1icihnKGIpKTtpZigyPG0+Pj4wKXt2YXJcbmU9aChiKTticmVhayBifXN3aXRjaChtKXtjYXNlXG4wOmJyZWFrO2Nhc2VcbjE6dmFyXG5lPWQoYik7YnJlYWsgYjtkZWZhdWx0OmJyZWFrIGN9fWNvbnRpbnVlfXZhclxuZT1oKGIpfXZhclxuYz1lO2JyZWFrfX1lbHNlXG52YXJcbmM9aChiKTticmVhaztjYXNlXG4xOnZhclxubj1tdChnKGIpKSxjPTA9PT1uP2ooYik6MT09PW4/ZChiKTpoKGIpO2JyZWFrO2RlZmF1bHQ6Yjpmb3IoOzspe3Zhclxubz1tRyhnKGIpKTtpZigyPG8+Pj4wKXt2YXJcbmM9aChiKTticmVha31zd2l0Y2gobyl7Y2FzZVxuMDp2YXJcbmM9aihiKTticmVhayBiO2Nhc2VcbjE6YnJlYWs7ZGVmYXVsdDp2YXJcbmM9ZChiKTticmVhayBifX19aWYoMCE9PWMpcmV0dXJuIEUoJGkpO3ZhclxucD1hNihhLGFhKGEsYiksNDIpO3JldHVyblswLHAsWzEsMixIKGIpXV19KTtjYXNlXG4yNjp2YXJcbmExPWE2KGEsYWEoYSxiKSw0Mik7cmV0dXJuWzAsYTEsWzEsMixIKGIpXV07Y2FzZVxuMjc6cmV0dXJuIGF3KGEsYixmdW5jdGlvbihhLGIpe2Z1bmN0aW9uXG5kKGEpe3ZhclxuYj1tUChnKGEpKTtpZigyPGI+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChiKXtjYXNlXG4wOnZhclxuYz1paShnKGEpKTtyZXR1cm4gMD09PWM/ZihhKToxPT09Yz9pKGEpOmgoYSk7Y2FzZVxuMTpyZXR1cm4gZihhKTtkZWZhdWx0OnJldHVybiBpKGEpfX1mdW5jdGlvblxuZihhKXtmb3IoOzspe28oYSwwKTtpZigwIT09VChnKGEpKSlyZXR1cm4gaChhKX19ZnVuY3Rpb25cbmkoYSl7Zm9yKDs7KXtvKGEsMCk7dmFyXG5iPWlrKGcoYSkpO2lmKDAhPT1iKXtpZigxIT09YilyZXR1cm4gaChhKTtmb3IoOzspe2lmKDAhPT1UKGcoYSkpKXJldHVybiBoKGEpO2Zvcig7Oyl7byhhLDApO3ZhclxuYz1payhnKGEpKTtpZigwIT09YylicmVha31pZigxIT09YylyZXR1cm4gaChhKX19fX1mdW5jdGlvblxuaihhKXt2YXJcbmI9bUkoZyhhKSk7aWYoMCE9PWIpcmV0dXJuIDE9PT1iP2QoYSk6aChhKTthOmZvcig7Oyl7dmFyXG5jPWJyKGcoYSkpO2lmKDI8Yz4+PjApcmV0dXJuIGgoYSk7c3dpdGNoKGMpe2Nhc2VcbjA6YnJlYWs7Y2FzZVxuMTpyZXR1cm4gZChhKTtkZWZhdWx0OmJyZWFrIGF9fWZvcig7Oyl7aWYoMCE9PVQoZyhhKSkpcmV0dXJuIGgoYSk7YTpmb3IoOzspe3ZhclxuZT1icihnKGEpKTtpZigyPGU+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChlKXtjYXNlXG4wOmJyZWFrO2Nhc2VcbjE6cmV0dXJuIGQoYSk7ZGVmYXVsdDpicmVhayBhfX19fVMoYik7dmFyXG5rPWloKGcoYikpO2lmKDI8az4+PjApdmFyXG5jPWgoYik7ZWxzZVxuYTpzd2l0Y2goayl7Y2FzZVxuMDppZigwPT09VChnKGIpKSl7Yjpmb3IoOzspe3ZhclxubD1icihnKGIpKTtpZigyPGw+Pj4wKXt2YXJcbmM9aChiKTticmVhayBhfXN3aXRjaChsKXtjYXNlXG4wOmJyZWFrO2Nhc2VcbjE6dmFyXG5jPWQoYik7YnJlYWsgYTtkZWZhdWx0OmJyZWFrIGJ9fWZvcig7Oyl7Yjp7aWYoMD09PVQoZyhiKSkpe2M6Zm9yKDs7KXt2YXJcbm09YnIoZyhiKSk7aWYoMjxtPj4+MCl7dmFyXG5lPWgoYik7YnJlYWsgYn1zd2l0Y2gobSl7Y2FzZVxuMDpicmVhaztjYXNlXG4xOnZhclxuZT1kKGIpO2JyZWFrIGI7ZGVmYXVsdDpicmVhayBjfX1jb250aW51ZX12YXJcbmU9aChiKX12YXJcbmM9ZTticmVha319ZWxzZVxudmFyXG5jPWgoYik7YnJlYWs7Y2FzZVxuMTp2YXJcbm49bXQoZyhiKSksYz0wPT09bj9qKGIpOjE9PT1uP2QoYik6aChiKTticmVhaztkZWZhdWx0OmI6Zm9yKDs7KXt2YXJcbnA9bUcoZyhiKSk7aWYoMjxwPj4+MCl7dmFyXG5jPWgoYik7YnJlYWt9c3dpdGNoKHApe2Nhc2VcbjA6dmFyXG5jPWooYik7YnJlYWsgYjtjYXNlXG4xOmJyZWFrO2RlZmF1bHQ6dmFyXG5jPWQoYik7YnJlYWsgYn19fXJldHVybiAwPT09Yz9bMCxhLFswLDQsSChiKV1dOkUoJGopfSk7Y2FzZVxuMjg6cmV0dXJuWzAsYSxbMCw0LEgoYildXTtjYXNlXG4yOTpyZXR1cm4gYXcoYSxiLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb25cbmYoYSl7Zm9yKDs7KXt2YXJcbmI9YjUoZyhhKSk7aWYoMjxiPj4+MClyZXR1cm4gaChhKTtzd2l0Y2goYil7Y2FzZVxuMDpicmVhaztjYXNlXG4xOmZvcig7Oyl7aWYoMCE9PVQoZyhhKSkpcmV0dXJuIGgoYSk7YTpmb3IoOzspe3ZhclxuYz1iNShnKGEpKTtpZigyPGM+Pj4wKXJldHVybiBoKGEpO3N3aXRjaChjKXtjYXNlXG4wOmJyZWFrO2Nhc2VcbjE6YnJlYWsgYTtkZWZhdWx0OnJldHVybiAwfX19YnJlYWs7ZGVmYXVsdDpyZXR1cm4gMH19fWZ1bmN0aW9uXG5kKGEpe3ZhclxuYj1qTShnKGEpKTtyZXR1cm4gMD09PWI/ZihhKToxPT09Yj8wOmgoYSl9UyhiKTt2YXJcbmk9aWgoZyhiKSk7aWYoMjxpPj4+MCl2YXJcbmM9aChiKTtlbHNlXG5hOnN3aXRjaChpKXtjYXNlXG4wOnZhclxuYz0wPT09VChnKGIpKT9mKGIpOmgoYik7YnJlYWs7Y2FzZVxuMTpmb3IoOzspe3Zhclxuaj1qTihnKGIpKTtpZigwPT09ail7dmFyXG5jPWQoYik7YnJlYWt9aWYoMSE9PWope3ZhclxuYz1oKGIpO2JyZWFrfX1icmVhaztkZWZhdWx0OmI6Zm9yKDs7KXt2YXJcbms9aWwoZyhiKSk7aWYoMjxrPj4+MCl7dmFyXG5jPWgoYik7YnJlYWsgYX1zd2l0Y2goayl7Y2FzZVxuMDp2YXJcbmM9ZChiKTticmVhayBhO2Nhc2VcbjE6YnJlYWs7ZGVmYXVsdDpicmVhayBifX1mb3IoOzspe2I6e2lmKDA9PT1UKGcoYikpKXtjOmZvcig7Oyl7dmFyXG5sPWlsKGcoYikpO2lmKDI8bD4+PjApe3ZhclxuZT1oKGIpO2JyZWFrIGJ9c3dpdGNoKGwpe2Nhc2VcbjA6dmFyXG5lPWQoYik7YnJlYWsgYjtjYXNlXG4xOmJyZWFrO2RlZmF1bHQ6YnJlYWsgY319Y29udGludWV9dmFyXG5lPWgoYil9dmFyXG5jPWU7YnJlYWt9fWlmKDAhPT1jKXJldHVybiBFKCRrKTt2YXJcbm09YTYoYSxhYShhLGIpLDM0KTtyZXR1cm5bMCxtLFsxLDIsSChiKV1dfSk7Y2FzZVxuMzA6cmV0dXJuIGF3KGEsYixmdW5jdGlvbihhLGIpe1MoYik7dmFyXG5lPWlpKGcoYikpO2E6aWYoMD09PWUpZm9yKDs7KXt2YXJcbmY9ak0oZyhiKSk7aWYoMCE9PWYpe2lmKDE9PT1mKXt2YXJcbmM9MDticmVha312YXJcbmM9aChiKTticmVha319ZWxzZSBpZigxPT09ZSl7Yjpmb3IoOzspe3ZhclxuaT1iNShnKGIpKTtpZigyPGk+Pj4wKXt2YXJcbmM9aChiKTticmVhayBhfXN3aXRjaChpKXtjYXNlXG4wOmJyZWFrO2Nhc2VcbjE6YnJlYWsgYjtkZWZhdWx0OnZhclxuYz0wO2JyZWFrIGF9fWZvcig7Oyl7Yjp7aWYoMD09PVQoZyhiKSkpe2M6Zm9yKDs7KXt2YXJcbmo9YjUoZyhiKSk7aWYoMjxqPj4+MCl7dmFyXG5kPWgoYik7YnJlYWsgYn1zd2l0Y2goail7Y2FzZVxuMDpicmVhaztjYXNlXG4xOmJyZWFrIGM7ZGVmYXVsdDp2YXJcbmQ9MDticmVhayBifX1jb250aW51ZX12YXJcbmQ9aChiKX12YXJcbmM9ZDticmVha319ZWxzZVxudmFyXG5jPWgoYik7cmV0dXJuIDA9PT1jP1swLGEsWzEsMixIKGIpXV06RSgkbCl9KTtjYXNlXG4zMTp2YXJcbmEzPWE2KGEsYWEoYSxiKSwzNCk7cmV0dXJuWzAsYTMsWzEsMixIKGIpXV07Y2FzZVxuMzI6cmV0dXJuWzAsYSxbMSwyLEgoYildXTtjYXNlXG4zMzpyZXR1cm4gYXcoYSxiLGZ1bmN0aW9uKGEsYil7ZnVuY3Rpb25cbmYoYSl7Zm9yKDs7KXtvKGEsMCk7dmFyXG5iPWlrKGcoYSkpO2lmKDAhPT1iKXtpZigxIT09YilyZXR1cm4gaChhKTtmb3IoOzspe2lmKDAhPT1UKGcoYSkpKXJldHVybiBoKGEpO2Zvcig7Oyl7byhhLDApO3ZhclxuYz1payhnKGEpKTtpZigwIT09YylicmVha31pZigxIT09YylyZXR1cm4gaChhKX19fX1mdW5jdGlvblxuZChhKXtvKGEsMCk7cmV0dXJuIDA9PT1UKGcoYSkpP2YoYSk6aChhKX1TKGIpO3ZhclxuaT1paChnKGIpKTtpZigyPGk+Pj4wKXZhclxuYz1oKGIpO2Vsc2VcbmE6c3dpdGNoKGkpe2Nhc2VcbjA6dmFyXG5jPTA9PT1UKGcoYikpP2YoYik6aChiKTticmVhaztjYXNlXG4xOmZvcig7Oyl7byhiLDApO3Zhclxuaj1qTihnKGIpKTtpZigwPT09ail7dmFyXG5jPWQoYik7YnJlYWt9aWYoMSE9PWope3ZhclxuYz1oKGIpO2JyZWFrfX1icmVhaztkZWZhdWx0OmI6Zm9yKDs7KXtvKGIsMCk7dmFyXG5rPWlsKGcoYikpO2lmKDI8az4+PjApe3ZhclxuYz1oKGIpO2JyZWFrIGF9c3dpdGNoKGspe2Nhc2VcbjA6dmFyXG5jPWQoYik7YnJlYWsgYTtjYXNlXG4xOmJyZWFrO2RlZmF1bHQ6YnJlYWsgYn19Zm9yKDs7KXtiOntpZigwPT09VChnKGIpKSl7Yzpmb3IoOzspe28oYiwwKTt2YXJcbmw9aWwoZyhiKSk7aWYoMjxsPj4+MCl7dmFyXG5lPWgoYik7YnJlYWsgYn1zd2l0Y2gobCl7Y2FzZVxuMDp2YXJcbmU9ZChiKTticmVhayBiO2Nhc2VcbjE6YnJlYWs7ZGVmYXVsdDpicmVhayBjfX1jb250aW51ZX12YXJcbmU9aChiKX12YXJcbmM9ZTticmVha319cmV0dXJuIDA9PT1jP1swLGEsWzAsNCxIKGIpXV06RSgkbSl9KTtjYXNlXG4zNDpyZXR1cm5bMCxhLFswLDQsSChiKV1dO2Nhc2VcbjM1OnZhclxuYTQ9YWEoYSxiKSxhdD1IKGIpO3JldHVyblswLGEsWzQsYTQsYXQsYXRdXTtjYXNlXG4zNjpyZXR1cm5bMCxhLDBdO2Nhc2VcbjM3OnJldHVyblswLGEsMV07Y2FzZVxuMzg6cmV0dXJuWzAsYSw0XTtjYXNlXG4zOTpyZXR1cm5bMCxhLDVdO2Nhc2VcbjQwOnJldHVyblswLGEsNl07Y2FzZVxuNDE6cmV0dXJuWzAsYSw3XTtjYXNlXG40MjpyZXR1cm5bMCxhLDEyXTtjYXNlXG40MzpyZXR1cm5bMCxhLDEwXTtjYXNlXG40NDpyZXR1cm5bMCxhLDhdO2Nhc2VcbjQ1OnJldHVyblswLGEsOV07Y2FzZVxuNDY6cmV0dXJuWzAsYSw4N107Y2FzZVxuNDc6akooYik7UyhiKTt2YXJcbmF1PWcoYiksYTc9NjI8YXU/NjM8YXU/LTE6MDotMSxhOD0wPT09YTc/MDpoKGIpO3JldHVybiAwPT09YTg/WzAsYSw4Nl06RSgkbik7Y2FzZVxuNDg6cmV0dXJuWzAsYSw4NF07ZGVmYXVsdDpyZXR1cm5bMCxhLDg1XX1zd2l0Y2godil7Y2FzZVxuNTA6cmV0dXJuWzAsYSw4Nl07Y2FzZVxuNTE6cmV0dXJuWzAsYSw4OV07Y2FzZVxuNTI6cmV0dXJuWzAsYSw4OF07Y2FzZVxuNTM6cmV0dXJuWzAsYSw5NV07Y2FzZVxuNTQ6cmV0dXJuWzAsYSw5Nl07Y2FzZVxuNTU6cmV0dXJuWzAsYSw5N107Y2FzZVxuNTY6cmV0dXJuWzAsYSw5OF07Y2FzZVxuNTc6cmV0dXJuWzAsYSw5M107Y2FzZVxuNTg6cmV0dXJuWzAsYSw5NF07Y2FzZVxuNTk6cmV0dXJuWzAsYSxoWV07Y2FzZVxuNjA6cmV0dXJuWzAsYSxibV07Y2FzZVxuNjE6cmV0dXJuWzAsYSw3MF07Y2FzZVxuNjI6cmV0dXJuWzAsYSxidF07Y2FzZVxuNjM6cmV0dXJuWzAsYSw2OV07Y2FzZVxuNjQ6cmV0dXJuWzAsYSw2OF07Y2FzZVxuNjU6cmV0dXJuWzAsYSxiZV07Y2FzZVxuNjY6cmV0dXJuWzAsYSxjQV07Y2FzZVxuNjc6cmV0dXJuWzAsYSw3OV07Y2FzZVxuNjg6cmV0dXJuWzAsYSw3OF07Y2FzZVxuNjk6cmV0dXJuWzAsYSw3Nl07Y2FzZVxuNzA6cmV0dXJuWzAsYSw3N107Y2FzZVxuNzE6cmV0dXJuWzAsYSw3NF07Y2FzZVxuNzI6cmV0dXJuWzAsYSw3M107Y2FzZVxuNzM6cmV0dXJuWzAsYSw3Ml07Y2FzZVxuNzQ6cmV0dXJuWzAsYSw3MV07Y2FzZVxuNzU6cmV0dXJuWzAsYSw4MF07Y2FzZVxuNzY6cmV0dXJuWzAsYSw4MV07Y2FzZVxuNzc6cmV0dXJuWzAsYSw4Ml07Y2FzZVxuNzg6cmV0dXJuWzAsYSw5OV07Y2FzZVxuNzk6cmV0dXJuWzAsYSxhbl07Y2FzZVxuODA6cmV0dXJuWzAsYSxiVF07Y2FzZVxuODE6cmV0dXJuWzAsYSxjaF07Y2FzZVxuODI6cmV0dXJuWzAsYSxhS107Y2FzZVxuODM6cmV0dXJuWzAsYSxoVF07Y2FzZVxuODQ6cmV0dXJuWzAsYSxkVl07Y2FzZVxuODU6cmV0dXJuWzAsYSw5MF07Y2FzZVxuODY6cmV0dXJuWzAsYSw5Ml07Y2FzZVxuODc6cmV0dXJuWzAsYSw5MV07Y2FzZVxuODg6cmV0dXJuWzAsYSxhWl07Y2FzZVxuODk6cmV0dXJuWzAsYSxic107Y2FzZVxuOTA6cmV0dXJuWzAsYSw4M107Y2FzZVxuOTE6cmV0dXJuWzAsYSwxMV07Y2FzZVxuOTI6cmV0dXJuWzAsYSw3NV07Y2FzZVxuOTM6cmV0dXJuWzAsYSxjZ107Y2FzZVxuOTQ6cmV0dXJuWzAsYSwxM107Y2FzZVxuOTU6cmV0dXJuWzAsYSwxNF07Y2FzZVxuOTY6cmV0dXJuWzIsYlooYSxhYShhLGIpKV07Y2FzZVxuOTc6dmFyXG5hdj1iWzZdO0dMKGIpO3ZhclxuYTk9a1QoYSxhdixiWzNdKTtyVihiLGF2KTt2YXJcbmM9SChiKSxheD1DKGMsYnUpO2lmKDA8PWF4KXtpZigwPj1heClyZXR1cm5bMCxhLDU0XTt2YXJcbmF5PUMoYyxrYik7aWYoMDw9YXkpe2lmKDA+PWF5KXJldHVyblswLGEsNTJdO3ZhclxuYUE9QyhjLGgzKTtpZigwPD1hQSl7aWYoMD49YUEpcmV0dXJuWzAsYSw0N107aWYoIWsoYyxsRikpcmV0dXJuWzAsYSwyNV07aWYoIWsoYyxoWCkpcmV0dXJuWzAsYSw0OF07aWYoIWsoYyxxVykpcmV0dXJuWzAsYSwyNl07aWYoIWsoYyxwdikpcmV0dXJuWzAsYSwyN107aWYoIWsoYyxibikpcmV0dXJuWzAsYSw1OV19ZWxzZXtpZighayhjLGJRKSlyZXR1cm5bMCxhLDIwXTtpZighayhjLGk3KSlyZXR1cm5bMCxhLDIyXTtpZighayhjLGJTKSlyZXR1cm5bMCxhLDIzXTtpZighayhjLGhVKSlyZXR1cm5bMCxhLDMyXTtpZighayhjLHBtKSlyZXR1cm5bMCxhLDI0XTtpZighayhjLGVnKSlyZXR1cm5bMCxhLDYyXX19ZWxzZXt2YXJcbmFFPUMoYyxwTCk7aWYoMDw9YUUpe2lmKDA+PWFFKXJldHVyblswLGEsNTVdO2lmKCFrKGMsbHgpKXJldHVyblswLGEsNTZdO2lmKCFrKGMsbFgpKXJldHVyblswLGEsNTddO2lmKCFrKGMsbGwpKXJldHVyblswLGEsNThdO2lmKCFrKGMsYk8pKXJldHVyblswLGEsMTldO2lmKCFrKGMsYk0pKXJldHVyblswLGEsNDNdfWVsc2V7aWYoIWsoYyxrYSkpcmV0dXJuWzAsYSwyOV07aWYoIWsoYyxCSykpcmV0dXJuWzAsYSwyMV07aWYoIWsoYyxqcSkpcmV0dXJuWzAsYSw0NV07aWYoIWsoYyxqbikpcmV0dXJuWzAsYSwzMF07aWYoIWsoYyxDZSkpcmV0dXJuWzAsYSw2NF07aWYoIWsoYyx4bykpcmV0dXJuWzAsYSw2M119fX1lbHNle3ZhclxuYUY9QyhjLHFNKTtpZigwPD1hRil7aWYoMD49YUYpcmV0dXJuWzAsYSw0NF07dmFyXG5hRz1DKGMsal8pO2lmKDA8PWFHKXtpZigwPj1hRylyZXR1cm5bMCxhLDE1XTtpZighayhjLHFyKSlyZXR1cm5bMCxhLDE2XTtpZighayhjLGpnKSlyZXR1cm5bMCxhLDUzXTtpZighayhjLGJqKSlyZXR1cm5bMCxhLDUxXTtpZighayhjLGlFKSlyZXR1cm5bMCxhLDE3XTtpZighayhjLGxOKSlyZXR1cm5bMCxhLDE4XX1lbHNle2lmKCFrKGMsbEMpKXJldHVyblswLGEsNDldO2lmKCFrKGMsbnYpKXJldHVyblswLGEsNTBdO2lmKCFrKGMsZ0IpKXJldHVyblswLGEsNDJdO2lmKCFrKGMsaDUpKXJldHVyblswLGEsMzFdO2lmKCFrKGMscHQpKXJldHVyblswLGEsMzldO2lmKCFrKGMscHIpKXJldHVyblswLGEsNDBdfX1lbHNle3ZhclxuYUg9QyhjLGxuKTtpZigwPD1hSCl7aWYoMD49YUgpcmV0dXJuWzAsYSwyOF07aWYoIWsoYyxiTCkpcmV0dXJuWzAsYSwzNl07aWYoIWsoYyxiTikpcmV0dXJuWzAsYSw2MF07aWYoIWsoYyxsaykpcmV0dXJuWzAsYSw2MV07aWYoIWsoYyxqaSkpcmV0dXJuWzAsYSwzN107aWYoIWsoYyxsRSkpcmV0dXJuWzAsYSw0Nl07aWYoIWsoYyxuMykpcmV0dXJuWzAsYSwzOF19ZWxzZXtpZighayhjLGl4KSlyZXR1cm5bMCxhLDY1XTtpZighayhjLGpvKSlyZXR1cm5bMCxhLDY2XTtpZighayhjLGJSKSlyZXR1cm5bMCxhLDMzXTtpZighayhjLHBVKSlyZXR1cm5bMCxhLDM0XTtpZighayhjLG91KSlyZXR1cm5bMCxhLDM1XTtpZighayhjLGx2KSlyZXR1cm5bMCxhLDQxXX19fXZhclxuYUI9YWooYiksYUM9R1EoYSxhQiksYV89YUNbMl0sYSQ9YUNbMV07cmV0dXJuWzAsYSQsWzQsYTksYV8sa1AoYUIpXV07Y2FzZVxuOTg6dmFyXG5iYT1hWzRdP2E2KGEsYWEoYSxiKSw5Mik6YTtyZXR1cm5bMCxiYSxWXTtkZWZhdWx0OnZhclxuYmI9YlooYSxhYShhLGIpKTtyZXR1cm5bMCxiYixbNyxIKGIpXV19fSksYTc9R2EoWzAsT2FdKTtmdW5jdGlvblxua1YoYSxiKXtyZXR1cm5bMCwwLDAsYixHaihhKV19ZnVuY3Rpb25cbm1SKGEpe3ZhclxuYz1hWzRdO3N3aXRjaChhWzNdKXtjYXNlXG4wOnZhclxuaT1hZDUoYyk7YnJlYWs7Y2FzZVxuMTp2YXJcbmk9YWQ0KGMpO2JyZWFrO2Nhc2VcbjI6dmFyXG5pPWFkMihjKTticmVhaztjYXNlXG4zOnZhclxudD1iQihjLGNbMl0pLGo9YWQoYWIpLGs9YWQoYWIpLGI9Y1syXTtTKGIpO3ZhclxubD1nKGIpLHI9Y3g8bD9hUDxsPzE6YVk8bD8yOjE6dyhcIlxceDAxXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwM1xceDAyXFx4MDJcXHgwNFxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDVcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDJcXHgwMlxceDAyXFx4MDZcIixsKzF8MCktMXwwO2lmKDU8cj4+PjApdmFyXG5lPWgoYik7ZWxzZVxuc3dpdGNoKHIpe2Nhc2VcbjA6dmFyXG5lPTE7YnJlYWs7Y2FzZVxuMTp2YXJcbmU9NDticmVhaztjYXNlXG4yOnZhclxuZT0wO2JyZWFrO2Nhc2VcbjM6byhiLDApO3ZhclxuZT0wPT09YkEoZyhiKSk/MDpoKGIpO2JyZWFrO2Nhc2VcbjQ6dmFyXG5lPTI7YnJlYWs7ZGVmYXVsdDp2YXJcbmU9M31pZig0PGU+Pj4wKXZhclxuZj1FKGFkSCk7ZWxzZVxuc3dpdGNoKGUpe2Nhc2VcbjA6dmFyXG5zPUgoYik7TyhrLHMpO08oaixzKTt2YXJcbm09R1YoYmcoYyxiKSxqLGssYiksej1iQihtLGIpLEE9YUQoaiksQz1hRChrKSxmPVswLG0sWzksWzAsbVsxXSx0LHpdLEEsQ11dO2JyZWFrO2Nhc2VcbjE6dmFyXG5mPVswLGMsVl07YnJlYWs7Y2FzZVxuMjp2YXJcbmY9WzAsYyw5OV07YnJlYWs7Y2FzZVxuMzp2YXJcbmY9WzAsYywwXTticmVhaztkZWZhdWx0OmpKKGIpO3Zhclxubj1HVihjLGosayxiKSxEPWJCKG4sYiksRj1hRChqKSxHPWFEKGspLGY9WzAsbixbOSxbMCxuWzFdLHQsRF0sRixHXV19dmFyXG5wPWZbMl0sZD1mWzFdLHU9R00oZCxwKSx2PWRbNl07aWYoMD09PXYpdmFyXG55PVswLGQsWzAscCx1LDAsMF1dO2Vsc2VcbnZhclxuST1bMCxwLHUsQih2KSwwXSx5PVswLFswLGRbMV0sZFsyXSxkWzNdLGRbNF0sZFs1XSwwLGRbN11dLEldO3ZhclxuaT15O2JyZWFrO2Nhc2VcbjQ6dmFyXG5pPWFkMyhjKTticmVhaztkZWZhdWx0OnZhclxuaT1hZDEoYyl9dmFyXG54PWlbMV0sSj1pWzJdLHE9WzAsR2ooeCksSl07YVs0XT14O2lmKGFbMV0pYVsyXT1bMCxxXTtlbHNlXG5hWzFdPVswLHFdO3JldHVybiBxfWZ1bmN0aW9uXG5HVyhhKXt2YXJcbmI9YVsxXTtyZXR1cm4gYj9iWzFdWzJdOm1SKGEpWzJdfWZ1bmN0aW9uXG5qUShhKXtyZXR1cm4ga0IoYVsyNF1bMV0pfWZ1bmN0aW9uXG5hcShhKXtyZXR1cm4gYVsyOF1bNV19ZnVuY3Rpb25cbnUoYSxiKXt2YXJcbmM9YlsyXTthWzFdWzFdPVswLFswLGJbMV0sY10sYVsxXVsxXV07dmFyXG5kPWFbMjNdO3JldHVybiBkP2ooZFsxXSxhLGMpOjB9ZnVuY3Rpb25cbmtXKGEsYil7YVszMV1bMV09YjtyZXR1cm59ZnVuY3Rpb25cbmlvKGEsYil7aWYoMD09PWEpcmV0dXJuIEdXKGJbMjZdWzFdKTtpZigxIT09YSl0aHJvdyB4KFswLFksYWQkXSwxKTt2YXJcbmM9YlsyNl1bMV07aWYoIWNbMV0pbVIoYyk7dmFyXG5kPWNbMl07cmV0dXJuIGQ/ZFsxXVsyXTptUihjKVsyXX1mdW5jdGlvblxuaE0oYSxiKXtyZXR1cm4gYT09PWJbNV0/YjpbMCxiWzFdLGJbMl0sYlszXSxiWzRdLGEsYls2XSxiWzddLGJbOF0sYls5XSxiWzEwXSxiWzExXSxiWzEyXSxiWzEzXSxiWzE0XSxiWzE1XSxiWzE2XSxiWzE3XSxiWzE4XSxiWzE5XSxiWzIwXSxiWzIxXSxiWzIyXSxiWzIzXSxiWzI0XSxiWzI1XSxiWzI2XSxiWzI3XSxiWzI4XSxiWzI5XSxiWzMwXSxiWzMxXV19ZnVuY3Rpb25cbkdYKGEsYil7cmV0dXJuIGE9PT1iWzEwXT9iOlswLGJbMV0sYlsyXSxiWzNdLGJbNF0sYls1XSxiWzZdLGJbN10sYls4XSxiWzldLGEsYlsxMV0sYlsxMl0sYlsxM10sYlsxNF0sYlsxNV0sYlsxNl0sYlsxN10sYlsxOF0sYlsxOV0sYlsyMF0sYlsyMV0sYlsyMl0sYlsyM10sYlsyNF0sYlsyNV0sYlsyNl0sYlsyN10sYlsyOF0sYlsyOV0sYlszMF0sYlszMV1dfWZ1bmN0aW9uXG5yXyhhLGIpe3JldHVybiBhPT09YlsxOF0/YjpbMCxiWzFdLGJbMl0sYlszXSxiWzRdLGJbNV0sYls2XSxiWzddLGJbOF0sYls5XSxiWzEwXSxiWzExXSxiWzEyXSxiWzEzXSxiWzE0XSxiWzE1XSxiWzE2XSxiWzE3XSxhLGJbMTldLGJbMjBdLGJbMjFdLGJbMjJdLGJbMjNdLGJbMjRdLGJbMjVdLGJbMjZdLGJbMjddLGJbMjhdLGJbMjldLGJbMzBdLGJbMzFdXX1mdW5jdGlvblxuciQoYSxiKXtyZXR1cm4gYT09PWJbMTldP2I6WzAsYlsxXSxiWzJdLGJbM10sYls0XSxiWzVdLGJbNl0sYls3XSxiWzhdLGJbOV0sYlsxMF0sYlsxMV0sYlsxMl0sYlsxM10sYlsxNF0sYlsxNV0sYlsxNl0sYlsxN10sYlsxOF0sYSxiWzIwXSxiWzIxXSxiWzIyXSxiWzIzXSxiWzI0XSxiWzI1XSxiWzI2XSxiWzI3XSxiWzI4XSxiWzI5XSxiWzMwXSxiWzMxXV19ZnVuY3Rpb25cbkdZKGEsYil7cmV0dXJuIGE9PT1iWzIwXT9iOlswLGJbMV0sYlsyXSxiWzNdLGJbNF0sYls1XSxiWzZdLGJbN10sYls4XSxiWzldLGJbMTBdLGJbMTFdLGJbMTJdLGJbMTNdLGJbMTRdLGJbMTVdLGJbMTZdLGJbMTddLGJbMThdLGJbMTldLGEsYlsyMV0sYlsyMl0sYlsyM10sYlsyNF0sYlsyNV0sYlsyNl0sYlsyN10sYlsyOF0sYlsyOV0sYlszMF0sYlszMV1dfWZ1bmN0aW9uXG5pVihhLGIpe3JldHVybiBhPT09YlsyMl0/YjpbMCxiWzFdLGJbMl0sYlszXSxiWzRdLGJbNV0sYls2XSxiWzddLGJbOF0sYls5XSxiWzEwXSxiWzExXSxiWzEyXSxiWzEzXSxiWzE0XSxiWzE1XSxiWzE2XSxiWzE3XSxiWzE4XSxiWzE5XSxiWzIwXSxiWzIxXSxhLGJbMjNdLGJbMjRdLGJbMjVdLGJbMjZdLGJbMjddLGJbMjhdLGJbMjldLGJbMzBdLGJbMzFdXX1mdW5jdGlvblxuc2EoYSxiKXtyZXR1cm4gYT09PWJbMTRdP2I6WzAsYlsxXSxiWzJdLGJbM10sYls0XSxiWzVdLGJbNl0sYls3XSxiWzhdLGJbOV0sYlsxMF0sYlsxMV0sYlsxMl0sYlsxM10sYSxiWzE1XSxiWzE2XSxiWzE3XSxiWzE4XSxiWzE5XSxiWzIwXSxiWzIxXSxiWzIyXSxiWzIzXSxiWzI0XSxiWzI1XSxiWzI2XSxiWzI3XSxiWzI4XSxiWzI5XSxiWzMwXSxiWzMxXV19ZnVuY3Rpb25cbmtYKGEsYil7cmV0dXJuIGE9PT1iWzhdP2I6WzAsYlsxXSxiWzJdLGJbM10sYls0XSxiWzVdLGJbNl0sYls3XSxhLGJbOV0sYlsxMF0sYlsxMV0sYlsxMl0sYlsxM10sYlsxNF0sYlsxNV0sYlsxNl0sYlsxN10sYlsxOF0sYlsxOV0sYlsyMF0sYlsyMV0sYlsyMl0sYlsyM10sYlsyNF0sYlsyNV0sYlsyNl0sYlsyN10sYlsyOF0sYlsyOV0sYlszMF0sYlszMV1dfWZ1bmN0aW9uXG5rWShhLGIpe3JldHVybiBhPT09YlsxMl0/YjpbMCxiWzFdLGJbMl0sYlszXSxiWzRdLGJbNV0sYls2XSxiWzddLGJbOF0sYls5XSxiWzEwXSxiWzExXSxhLGJbMTNdLGJbMTRdLGJbMTVdLGJbMTZdLGJbMTddLGJbMThdLGJbMTldLGJbMjBdLGJbMjFdLGJbMjJdLGJbMjNdLGJbMjRdLGJbMjVdLGJbMjZdLGJbMjddLGJbMjhdLGJbMjldLGJbMzBdLGJbMzFdXX1mdW5jdGlvblxuaVcoYSxiKXtyZXR1cm4gYT09PWJbMTVdP2I6WzAsYlsxXSxiWzJdLGJbM10sYls0XSxiWzVdLGJbNl0sYls3XSxiWzhdLGJbOV0sYlsxMF0sYlsxMV0sYlsxMl0sYlsxM10sYlsxNF0sYSxiWzE2XSxiWzE3XSxiWzE4XSxiWzE5XSxiWzIwXSxiWzIxXSxiWzIyXSxiWzIzXSxiWzI0XSxiWzI1XSxiWzI2XSxiWzI3XSxiWzI4XSxiWzI5XSxiWzMwXSxiWzMxXV19ZnVuY3Rpb25cbnNiKGEsYil7cmV0dXJuIGE9PT1iWzE2XT9iOlswLGJbMV0sYlsyXSxiWzNdLGJbNF0sYls1XSxiWzZdLGJbN10sYls4XSxiWzldLGJbMTBdLGJbMTFdLGJbMTJdLGJbMTNdLGJbMTRdLGJbMTVdLGEsYlsxN10sYlsxOF0sYlsxOV0sYlsyMF0sYlsyMV0sYlsyMl0sYlsyM10sYlsyNF0sYlsyNV0sYlsyNl0sYlsyN10sYlsyOF0sYlsyOV0sYlszMF0sYlszMV1dfWZ1bmN0aW9uXG5HWihhLGIpe3JldHVybiBhPT09Yls2XT9iOlswLGJbMV0sYlsyXSxiWzNdLGJbNF0sYls1XSxhLGJbN10sYls4XSxiWzldLGJbMTBdLGJbMTFdLGJbMTJdLGJbMTNdLGJbMTRdLGJbMTVdLGJbMTZdLGJbMTddLGJbMThdLGJbMTldLGJbMjBdLGJbMjFdLGJbMjJdLGJbMjNdLGJbMjRdLGJbMjVdLGJbMjZdLGJbMjddLGJbMjhdLGJbMjldLGJbMzBdLGJbMzFdXX1mdW5jdGlvblxuRzAoYSxiKXtyZXR1cm4gYT09PWJbN10/YjpbMCxiWzFdLGJbMl0sYlszXSxiWzRdLGJbNV0sYls2XSxhLGJbOF0sYls5XSxiWzEwXSxiWzExXSxiWzEyXSxiWzEzXSxiWzE0XSxiWzE1XSxiWzE2XSxiWzE3XSxiWzE4XSxiWzE5XSxiWzIwXSxiWzIxXSxiWzIyXSxiWzIzXSxiWzI0XSxiWzI1XSxiWzI2XSxiWzI3XSxiWzI4XSxiWzI5XSxiWzMwXSxiWzMxXV19ZnVuY3Rpb25cbnNjKGEsYil7cmV0dXJuIGE9PT1iWzEzXT9iOlswLGJbMV0sYlsyXSxiWzNdLGJbNF0sYls1XSxiWzZdLGJbN10sYls4XSxiWzldLGJbMTBdLGJbMTFdLGJbMTJdLGEsYlsxNF0sYlsxNV0sYlsxNl0sYlsxN10sYlsxOF0sYlsxOV0sYlsyMF0sYlsyMV0sYlsyMl0sYlsyM10sYlsyNF0sYlsyNV0sYlsyNl0sYlsyN10sYlsyOF0sYlsyOV0sYlszMF0sYlszMV1dfWZ1bmN0aW9uXG5tUyhhLGIpe3JldHVyblswLGJbMV0sYlsyXSxiWzNdLGJbNF0sYls1XSxiWzZdLGJbN10sYls4XSxiWzldLGJbMTBdLGJbMTFdLGJbMTJdLGJbMTNdLGJbMTRdLGJbMTVdLGJbMTZdLGJbMTddLGJbMThdLGJbMTldLGJbMjBdLGJbMjFdLGJbMjJdLFswLGFdLGJbMjRdLGJbMjVdLGJbMjZdLGJbMjddLGJbMjhdLGJbMjldLGJbMzBdLGJbMzFdXX1mdW5jdGlvblxuc2QoYil7ZnVuY3Rpb25cbmMoYSl7cmV0dXJuIHUoYixhKX1yZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIGExKGMsYSl9fWZ1bmN0aW9uXG5qUihhKXt2YXJcbmI9YVs0XVsxXTtyZXR1cm4gYj9bMCxiWzFdWzJdXTowfWZ1bmN0aW9uXG5HMShhKXt2YXJcbmI9YVs0XVsxXTtyZXR1cm4gYj9bMCxiWzFdWzFdXTowfWZ1bmN0aW9uXG5HMihhKXtyZXR1cm5bMCxhWzFdLGFbMl0sYVszXSxhWzRdLGFbNV0sYVs2XSxhWzddLGFbOF0sYVs5XSxhWzEwXSxhWzExXSxhWzEyXSxhWzEzXSxhWzE0XSxhWzE1XSxhWzE2XSxhWzE3XSxhWzE4XSxhWzE5XSxhWzIwXSxhWzIxXSxhWzIyXSwwLGFbMjRdLGFbMjVdLGFbMjZdLGFbMjddLGFbMjhdLGFbMjldLGFbMzBdLGFbMzFdXX1mdW5jdGlvblxuRzMoYSxiLGMsZCl7cmV0dXJuWzAsYVsxXSxhWzJdLGE3WzFdLGFbNF0sYVs1XSwwLDAsMCwwLDAsMSxhWzEyXSxhWzEzXSxhWzE0XSxhWzE1XSxhWzE2XSxhWzE3XSxjLGIsYVsyMF0sZCxhWzIyXSxhWzIzXSxhWzI0XSxhWzI1XSxhWzI2XSxhWzI3XSxhWzI4XSxhWzI5XSxhWzMwXSxhWzMxXV19ZnVuY3Rpb25cbmpTKGEpe2lmKGsoYSxqZykmJmsoYSxidSkmJmsoYSxrYSkmJmsoYSxwTCkmJmsoYSxseCkmJmsoYSxsWCkmJmsoYSxsbCkmJmsoYSxiTSkmJmsoYSxibikpcmV0dXJuIDA7cmV0dXJuIDF9ZnVuY3Rpb25cbmlYKGEpe2lmKGsoYSx1eikmJmsoYSxcImV2YWxcIikpcmV0dXJuIDA7cmV0dXJuIDF9ZnVuY3Rpb25cbm1UKGEpe3ZhclxuYj1DKGEscXIpO2E6e2lmKDA8PWIpe2lmKDA8Yil7dmFyXG5jPUMoYSxpNyk7aWYoMDw9Yyl7aWYoMDxjJiZrKGEsYlMpJiZrKGEsaFUpJiZrKGEscG0pJiZrKGEsaDMpJiZrKGEsbEYpJiZrKGEsaFgpJiZrKGEscVcpJiZrKGEscHYpKWJyZWFrIGF9ZWxzZSBpZihrKGEsYmopJiZrKGEsaUUpJiZrKGEsbE4pJiZrKGEsanEpJiZrKGEsam4pJiZrKGEsYk8pJiZrKGEsa2IpJiZrKGEsYlEpKWJyZWFrIGF9fWVsc2V7dmFyXG5kPUMoYSxuMyk7aWYoMDw9ZCl7aWYoMDxkJiZrKGEscU0pJiZrKGEsbEMpJiZrKGEsbnYpJiZrKGEsZ0IpJiZrKGEsaDUpJiZrKGEscHQpJiZrKGEscHIpJiZrKGEsal8pKWJyZWFrIGF9ZWxzZSBpZihrKGEsYlIpJiZrKGEscFUpJiZrKGEsb3UpJiZrKGEsbHYpJiZrKGEsbG4pJiZrKGEsYkwpJiZrKGEsYk4pJiZrKGEsamkpJiZrKGEsbEUpKWJyZWFrIGF9cmV0dXJuIDF9cmV0dXJuIDB9ZnVuY3Rpb25cbnNlKGEpe3ZhclxuYj1DKGEsbjIpO2E6e2lmKDA8PWIpe2lmKDA8Yil7dmFyXG5jPUMoYSxseik7aWYoMDw9Yyl7aWYoMDxjJiZrKGEsaFUpJiZrKGEsaDMpJiZrKGEscUspJiZrKGEscFEpJiZrKGEsaFgpKWJyZWFrIGF9ZWxzZSBpZihrKGEsam4pJiZrKGEsa28pJiZrKGEsamgpJiZrKGEsYk0pJiZrKGEsajcpKWJyZWFrIGF9fWVsc2V7dmFyXG5kPUMoYSxnQik7aWYoMDw9ZCl7aWYoMDxkJiZrKGEsaDUpJiZrKGEsal8pJiZrKGEsYnUpJiZrKGEscWYpJiZrKGEsbjQpKWJyZWFrIGF9ZWxzZSBpZihrKGEsamspJiZrKGEscFMpJiZrKGEsamwpJiZrKGEsbkwpJiZrKGEsbEQpJiZrKGEsYkYpKWJyZWFrIGF9cmV0dXJuIDF9cmV0dXJuIDB9ZnVuY3Rpb25cbkc0KGEsYil7dmFyXG5kPWpRKGEpO2lmKDE9PT1kKXtpZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiY0PT09YlswXSlyZXR1cm4gMTtyZXR1cm4gMH1pZihkKXJldHVybiAwO2E6e2I6e2lmKHR5cGVvZlxuYj09PVwibnVtYmVyXCIpe3ZhclxuYz1iO2lmKDQ3PD1jKXN3aXRjaChjKXtjYXNlXG40NzpjYXNlXG40ODpjYXNlXG4xMjY6Y2FzZVxuMTI3OmNhc2VcbjEyODpjYXNlXG4xMjk6Y2FzZVxuMTMwOmNhc2VcbjEzMTpjYXNlXG4xMzI6Y2FzZVxuMTMzOmJyZWFrO2Nhc2VcbjQ5OmNhc2VcbjUwOmNhc2VcbjUxOmNhc2VcbjUyOmNhc2VcbjUzOmNhc2VcbjU0OmNhc2VcbjU1OmNhc2VcbjU2OmNhc2VcbjU3OmNhc2VcbjU4OmNhc2VcbjU5OmNhc2VcbjYwOmNhc2VcbjYxOmNhc2VcbjYyOmNhc2VcbjYzOmNhc2VcbjY0OmNhc2VcbjY1OmNhc2VcbjY2OmNhc2VcbjExNTpjYXNlXG4xMTY6Y2FzZVxuMTE3OmNhc2VcbjExODpjYXNlXG4xMTk6Y2FzZVxuMTIwOmNhc2VcbjEyMTpjYXNlXG4xMjI6Y2FzZVxuMTIzOmNhc2VcbjEyNDpjYXNlXG4xMjU6YnJlYWsgYTtkZWZhdWx0OmJyZWFrIGJ9ZWxzZVxuc3dpdGNoKGMpe2Nhc2VcbjE1OmNhc2VcbjQzOmJyZWFrO2Nhc2VcbjA6Y2FzZVxuMTpjYXNlXG4yOmNhc2VcbjM6Y2FzZVxuNDpjYXNlXG41OmNhc2VcbjY6Y2FzZVxuNzpjYXNlXG44OmNhc2Vcbjk6Y2FzZVxuMTA6Y2FzZVxuMTE6Y2FzZVxuMTI6Y2FzZVxuMTM6Y2FzZVxuMTQ6YnJlYWsgYjtkZWZhdWx0OmJyZWFrIGF9cmV0dXJuIDB9c3dpdGNoKGJbMF0pe2Nhc2VcbjQ6aWYoc2UoYlszXSkpcmV0dXJuIDA7YnJlYWsgYTtjYXNlXG42OmJyZWFrO2Nhc2VcbjExOmNhc2VcbjEyOmNhc2VcbjEzOmJyZWFrIGE7ZGVmYXVsdDpyZXR1cm4gMH19cmV0dXJuIDB9cmV0dXJuIDF9ZnVuY3Rpb25cbk4oYSxiKXtyZXR1cm4gaW8oYSxiKVsxXX1mdW5jdGlvblxualQoYSxiKXtyZXR1cm4gaW8oYSxiKVsyXX1mdW5jdGlvblxubShhKXtyZXR1cm4gTigwLGEpfWZ1bmN0aW9uXG55KGEpe3JldHVybiBqVCgwLGEpfWZ1bmN0aW9uXG5oTihhKXt2YXJcbmM9alIoYSksYj1jP2NbMV06RShhZWEpO3JldHVyblswLGJbMV0sYlszXSxiWzNdXX1mdW5jdGlvblxuc2YoYSl7cmV0dXJuIGlvKDAsYSlbM119ZnVuY3Rpb25cbnIoYil7dmFyXG5hPWlvKDAsYilbNF07cmV0dXJuIGE/a0QoZnVuY3Rpb24oYSl7cmV0dXJuIGhMKGJbMzFdWzFdLGFbMV1bMl0pPD0wPzE6MH0sYSk6MH1mdW5jdGlvblxuRzUoYil7cmV0dXJuIGpCKGZ1bmN0aW9uKGEpe3JldHVybiBoTChhWzFdWzJdLGJbMzFdWzFdKTwwPzE6MH0saW8oMCxiKVs0XSl9ZnVuY3Rpb25cbmlZKGEsYil7dmFyXG5jPTA8YT9bMCxqVChhLTF8MCxiKV06alIoYik7aWYoIWMpcmV0dXJuIDA7dmFyXG5kPWNbMV1bMl1bMV07cmV0dXJuIGQ8alQoYSxiKVsyXVsxXT8xOjB9ZnVuY3Rpb25cbmE4KGEpe3JldHVybiBpWSgwLGEpfWZ1bmN0aW9uXG5HNihhLGIpe3ZhclxuZD1OKGEsYik7aWYodHlwZW9mXG5kPT09XCJudW1iZXJcIil7dmFyXG5jPWQtMnwwO2lmKGJzPGM+Pj4wKXtpZihibT49YysxPj4+MClyZXR1cm4gMX1lbHNlIGlmKDY9PT1jKXJldHVybiAwfXJldHVybiBpWShhLGIpfWZ1bmN0aW9uXG5qVShhKXtyZXR1cm4gRzYoMCxhKX1mdW5jdGlvblxuaE8oYSxiKXt2YXJcbmM9TihhLGIpO2E6e2lmKHR5cGVvZlxuYz09PVwibnVtYmVyXCIpc3dpdGNoKGMpe2Nhc2VcbjI5OmNhc2VcbjQzOmNhc2VcbjUzOmNhc2VcbjU0OmNhc2VcbjU1OmNhc2VcbjU2OmNhc2VcbjU3OmNhc2VcbjU4OmNhc2VcbjU5OnZhclxuZD0xO2JyZWFrIGF9ZWxzZSBpZig0PT09Y1swXSl7dmFyXG5kPWpTKGNbMl0pO2JyZWFrIGF9dmFyXG5kPTB9aWYoZClyZXR1cm4gMTthOntpZih0eXBlb2ZcbmM9PT1cIm51bWJlclwiKXN3aXRjaChjKXtjYXNlXG4xNDpjYXNlXG4yMTpjYXNlXG40OTpjYXNlXG42MTpjYXNlXG42MjpjYXNlXG42MzpjYXNlXG42NDpjYXNlXG42NTpjYXNlXG42NjpjYXNlXG4xMjc6YnJlYWs7ZGVmYXVsdDpicmVhayBhfWVsc2UgaWYoNCE9PWNbMF0pYnJlYWsgYTtyZXR1cm4gMX1yZXR1cm4gMH1mdW5jdGlvblxubVUoYSxiKXtyZXR1cm4gRzQoYixOKGEsYikpfWZ1bmN0aW9uXG5HNyhhLGIpe3ZhclxuYz1oTyhhLGIpO3JldHVybiBjP2M6bVUoYSxiKX1mdW5jdGlvblxuY3IoYSl7cmV0dXJuIGhPKDAsYSl9ZnVuY3Rpb25cbmlwKGEpe3ZhclxuYz0xNT09PW0oYSk/MTowO2lmKGMpdmFyXG5iPWM7ZWxzZXt2YXJcbmQ9NjU9PT1tKGEpPzE6MDtpZihkKXt2YXJcbmU9MTU9PT1OKDEsYSk/MTowO2lmKGUpdmFyXG5mPWpUKDEsYSlbMl1bMV0sYj15KGEpWzNdWzFdPT09Zj8xOjA7ZWxzZVxudmFyXG5iPWV9ZWxzZVxudmFyXG5iPWR9cmV0dXJuIGJ9ZnVuY3Rpb25cbm1WKGEpe3ZhclxuYj1tKGEpO2lmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjQ9PT1iWzBdJiYhayhiWzNdLGk4KSl7dmFyXG5kPWFbMjhdWzFdO2lmKGQpe3ZhclxuZT1oTygxLGEpO2lmKGUpdmFyXG5mPWpUKDEsYSlbMl1bMV0sYz15KGEpWzNdWzFdPT09Zj8xOjA7ZWxzZVxudmFyXG5jPWV9ZWxzZVxudmFyXG5jPWQ7cmV0dXJuIGN9cmV0dXJuIDB9ZnVuY3Rpb25cbmtaKGEpe3ZhclxuYj1tKGEpO2lmKHR5cGVvZlxuYj09PVwibnVtYmVyXCIpc3dpdGNoKGIpe2Nhc2VcbjEzOmNhc2VcbjQxOnJldHVybiAxfWVsc2UgaWYoND09PWJbMF0mJiFrKGJbM10seV8pJiY0MT09PU4oMSxhKSlyZXR1cm4gMTtyZXR1cm4gMH1mdW5jdGlvblxuc2coYSl7dmFyXG5jPWFbMjhdWzFdO2lmKGMpe3ZhclxuYj1tKGEpO2lmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjQ9PT1iWzBdJiYhayhiWzNdLGgwKSYmaE8oMSxhKSlyZXR1cm4gMTt2YXJcbmQ9MH1lbHNlXG52YXJcbmQ9YztyZXR1cm4gZH1mdW5jdGlvblxuc2goYSl7dmFyXG5iPW0oYSk7aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmND09PWJbMF0mJiFrKGJbM10sa20pKXJldHVybiAxO3JldHVybiAwfWZ1bmN0aW9uXG5LKGEsYil7cmV0dXJuIHUoYSxbMCx5KGEpLGJdKX1mdW5jdGlvblxuRzgoYSxiKXt2YXJcbmM9cjMoMCxiKTtyZXR1cm4gYT9bMjgsYyxhWzFdXTpbMjYsY119ZnVuY3Rpb25cbmFrKGEsYil7dmFyXG5jPXNmKGIpO3NkKGIpKGMpO3JldHVybiBLKGIsRzgoYSxtKGIpKSl9ZnVuY3Rpb25cbm1XKGIpe2Z1bmN0aW9uXG5jKGEpe3JldHVybiB1KGIsWzAsYVsxXSxkVl0pfXJldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gYTEoYyxhKX19ZnVuY3Rpb25cbkc5KGEsYil7dmFyXG5jPWFbNl0/eihSKGFlYiksYixiLGIpOmFlYztyZXR1cm4gYWsoWzAsY10sYSl9ZnVuY3Rpb25cbmJDKGEsYil7dmFyXG5jPWFbNV07cmV0dXJuIGM/SyhhLGIpOmN9ZnVuY3Rpb25cbmIwKGEsYil7dmFyXG5jPWFbNV0sZD1iWzJdLGU9YlsxXTtyZXR1cm4gYz91KGEsWzAsZSxkXSk6Y31mdW5jdGlvblxuaVooYSxiKXtyZXR1cm4gdShhLFswLGIsWzE0LGFbNV1dXSl9ZnVuY3Rpb25cbnMoYSl7dmFyXG5lPWFbMjddWzFdO2lmKGUpe3ZhclxuZj1lWzFdLGc9alEoYSksaD1tKGEpO2koZixbMCx5KGEpLGgsZ10pfXZhclxuZD1hWzI2XVsxXSxjPWRbMV0saj1jP2NbMV1bMV06bVIoZClbMV07YVsyNV1bMV09ajt2YXJcbms9c2YoYSk7c2QoYSkoayk7dmFyXG5sPWFbMl1bMV0sbj1qQShpbygwLGEpWzRdLGwpO2FbMl1bMV09bjt2YXJcbm89WzAsaW8oMCxhKV07YVs0XVsxXT1vO3ZhclxuYj1hWzI2XVsxXTtyZXR1cm4gYlsyXT8oYlsxXT1iWzJdLGJbMl09MCwwKTooR1coYiksYlsxXT0wLDApfWZ1bmN0aW9uXG5hZyhhLGIpe3ZhclxuYz1HbChtKGEpLGIpO2lmKGMpcyhhKTtyZXR1cm4gY31mdW5jdGlvblxuYUYoYSxiKXthWzI0XVsxXT1bMCxiLGFbMjRdWzFdXTt2YXJcbmM9alEoYSksZD1rVihhWzI1XVsxXSxjKTthWzI2XVsxXT1kO3JldHVybn1mdW5jdGlvblxuYUkoYSl7dmFyXG5iPWFbMjRdWzFdLGM9Yj9iWzJdOkUoYWVkKTthWzI0XVsxXT1jO3ZhclxuZD1qUShhKSxlPWtWKGFbMjVdWzFdLGQpO2FbMjZdWzFdPWU7cmV0dXJufWZ1bmN0aW9uXG50KGEpe3ZhclxuYj15KGEpO2lmKDk9PT1tKGEpJiZpWSgxLGEpKXt2YXJcbmM9cihhKSxkPUkoYyxrRChmdW5jdGlvbihhKXtyZXR1cm4gYVsxXVsyXVsxXTw9YlszXVsxXT8xOjB9LGlvKDEsYSlbNF0pKTtrVyhhLFswLGJbM11bMV0rMXwwLDBdKTtyZXR1cm4gZH12YXJcbmU9cihhKTtrVyhhLGJbM10pO3JldHVybiBlfWZ1bmN0aW9uXG5pcShhKXt2YXJcbmI9YVs0XVsxXTtpZighYilyZXR1cm4gMDt2YXJcbmM9YlsxXVsyXSxkPWtEKGZ1bmN0aW9uKGEpe3JldHVybiBhWzFdWzJdWzFdPD1jWzNdWzFdPzE6MH0scihhKSk7a1coYSxbMCxjWzNdWzFdKzF8MCwwXSk7cmV0dXJuIGR9ZnVuY3Rpb25cbmNzKGEsYil7cmV0dXJuIGFrKFswLHIzKGFlZyxiKV0sYSl9ZnVuY3Rpb25cbm4oYSxiKXtpZigxLUdsKG0oYSksYikpY3MoYSxiKTtyZXR1cm4gcyhhKX1mdW5jdGlvblxuR18oYSxiKXt2YXJcbmM9YWcoYSxiKTtpZigxLWMpY3MoYSxiKTtyZXR1cm4gY31mdW5jdGlvblxubVgoYSxiKXtHXyhhLGIpO3JldHVybn1mdW5jdGlvblxuY1AoYSxiKXt2YXJcbmM9bShhKTthOntpZih0eXBlb2ZcbmMhPT1cIm51bWJlclwiJiY0PT09Y1swXSYmWChjWzNdLGIpKWJyZWFrIGE7YWsoWzAsaShSKGFlaCksYildLGEpfXJldHVybiBzKGEpfXZhclxuY1E9W2FoLGFlaSxoRSgwKV07ZnVuY3Rpb25cbkckKGEsYixjKXtpZighYylyZXR1cm47dmFyXG5lPWNbMV0sZj1lWzFdLGg9ZVsyXTtiWzI3XVsxXT1bMCxmXTtpZighYSlyZXR1cm4gYTt2YXJcbmQ9aFsyXTtmb3IoOzspe2lmKCFkKXJldHVybjt2YXJcbmc9ZFsyXTtpKGYsZFsxXSk7dmFyXG5kPWd9fWZ1bmN0aW9uXG5zaShhLGIpe3ZhclxuZD1hWzI3XVsxXTtpZihkKXt2YXJcbmY9ZFsxXSxlPUVfKGwpO2FbMjddWzFdPVswLGZ1bmN0aW9uKGEpe3JldHVybiBybShhLGUpfV07dmFyXG5jPVswLFswLGYsZV1dfWVsc2VcbnZhclxuYz0wO3ZhclxuaD1hWzMxXVsxXSxqPWFbMjVdWzFdLGs9YVsyNF1bMV0sbT1hWzRdWzFdLG49YVsyXVsxXSxvPWFbMV1bMV07dHJ5e3Zhclxucz1pKGIsYSk7RyQoMSxhLGMpO3Zhclxucj1bMCxzXTtyZXR1cm4gcn1jYXRjaChmKXt2YXJcbmc9YUMoZik7aWYoZyE9PWNRKXRocm93IHgoZywwKTtHJCgwLGEsYyk7YVsxXVsxXT1vO2FbMl1bMV09bjthWzRdWzFdPW07YVsyNF1bMV09azthWzI1XVsxXT1qO2FbMzFdWzFdPWg7dmFyXG5wPWpRKGEpLHE9a1YoYVsyNV1bMV0scCk7YVsyNl1bMV09cTtyZXR1cm4gMH19ZnVuY3Rpb25cbm1ZKGEsYixjKXt2YXJcbmQ9c2koYSxjKTtyZXR1cm4gZD9kWzFdOmJ9ZnVuY3Rpb25cbmswKGEsYil7dmFyXG5jPUIoYik7aWYoIWMpcmV0dXJuIGI7dmFyXG5kPWNbMV0sZj1jWzJdLGU9aShhLGQpO3JldHVybiBkPT09ZT9iOkIoWzAsZSxmXSl9dmFyXG5IYz1tZyhhZWwsZnVuY3Rpb24oZyl7dmFyXG5sPXJQKGcsYWVuKSxhPXJOKGcsYWVrKSxtPWFbMjRdLGg9YVsyOF0sZD1hWzQxXSxuPWFbOTFdLGM9YVtsUV0sZj1hW3RLXSxvPWFbeHddLHA9YVtKZ10scT1hW0x1XSxrPWFbS2VdLHI9YVs2XSxiPWFbN10scz1hWzEwXSx0PWFbMTddLHU9YVsyM10sdj1hWzI5XSx3PWFbMzldLHg9YVs0Ml0seT1hWzUyXSx6PWFbNjFdLEE9YVtjZ10sQj1hW2FaXSxDPWFbaXZdLEQ9YVtra10sRT1hW3Y4XSxHPWFbS3VdLEg9YVtNZl0sST1hW0JPXSxKPWFbbjVdLEs9YVt2Y10sTD1hW244XSxNPWFbQU9dLE49YVtxbF0sTz1hW3pYXSxQPWFbQmddLFE9YVt3Wl0sUj1hW0tkXSxTPWFbTWldLFQ9YVtKTF0sVT1hW0pqXSxWPWFbSlhdLFc9YVtDWF0sWD1hW0pyXSxZPWFbSk9dLFo9YVtNTF0sXz1hW0wxXSwkPWFbTTRdLGFhPWFbSlVdLGFiPWFbTXNdLGFjPWFbSzddLGFkPXJSKGcsMCwwLEhiLHJYLDEpWzFdO3JUKGcsWzAseCxmdW5jdGlvbihkLGIpe3ZhclxuYT1iWzJdLGM9a0QoZnVuY3Rpb24oYSl7cmV0dXJuIGhMKGFbMV1bMl0sZFsxK2xdKTwwPzE6MH0sYSksZT1oRihjKTtyZXR1cm4gaEYoYSk9PT1lP2I6WzAsYlsxXSxjLGJbM11dfSxhYyxmdW5jdGlvbihhLGIsYyl7dmFyXG5mPWNbMl07cmV0dXJuIGUoaShhWzFdWzErZF0sYSksZixjLGZ1bmN0aW9uKGEpe3JldHVyblswLGNbMV0sYV19KX0sYWIsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXTtyZXR1cm4gZShpKGFbMV1bMStkXSxhKSxjLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYlsxXSxhXX0pfSxhYSxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbNF0sZz1jWzNdLGg9aihhWzFdWzErZl0sYSxnKSxpPWooYVsxXVsxK2RdLGEsZSk7aWYoZz09PWgmJmU9PT1pKXJldHVybiBjO3JldHVyblswLGNbMV0sY1syXSxoLGldfSwkLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1s0XSxnPWNbM10saD1qKGFbMV1bMStmXSxhLGcpLGk9aihhWzFdWzErZF0sYSxlKTtpZihnPT09aCYmZT09PWkpcmV0dXJuIGM7cmV0dXJuWzAsY1sxXSxjWzJdLGgsaV19LF8sZnVuY3Rpb24oYSxiLGMpe3ZhclxuZj1jWzJdO3JldHVybiBlKGkoYVsxXVsxK2RdLGEpLGYsYyxmdW5jdGlvbihhKXtyZXR1cm5bMCxjWzFdLGFdfSl9LFosZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzRdLGY9Y1szXSxnPWooYVsxXVsxK2tdLGEsZiksaD1qKGFbMV1bMStkXSxhLGUpO2lmKGY9PT1nJiZlPT09aClyZXR1cm4gYztyZXR1cm5bMCxjWzFdLGNbMl0sZyxoXX0sayxmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzJdLGc9Y1sxXSxoPWJbMV0sZj1jWzJdO3JldHVybiBlKGkoYVsxXVsxK2RdLGEpLGYsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxoLFswLGcsYV1dfSl9LHEsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxnPWNbMV0saD1iWzFdLGY9Y1syXTtyZXR1cm4gZShpKGFbMV1bMStkXSxhKSxmLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsaCxbMCxnLGFdXX0pfSxZLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1s3XSxmPWNbMl0sZz1qKGFbMV1bMStwXSxhLGYpLGg9aihhWzFdWzErZF0sYSxlKTtpZihmPT09ZyYmZT09PWgpcmV0dXJuIGM7cmV0dXJuWzAsY1sxXSxnLGNbM10sY1s0XSxjWzVdLGNbNl0saF19LHAsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxnPWNbMV0saD1iWzFdLGY9Y1syXTtyZXR1cm4gZShpKGFbMV1bMStkXSxhKSxmLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsaCxbMCxnLGFdXX0pfSxYLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmQ9Y1syXSxnPWNbMV07aWYoMD09PWQpcmV0dXJuIGUoaShhWzFdWzErZl0sYSksZyxjLGZ1bmN0aW9uKGEpe3JldHVyblswLGEsY1syXSxjWzNdXX0pO3ZhclxuaD1pKGFbMV1bMSttXSxhKTtyZXR1cm4gZShmdW5jdGlvbihhKXtyZXR1cm4gRihoLGEpfSxkLGMsZnVuY3Rpb24oYSl7cmV0dXJuWzAsY1sxXSxhLGNbM11dfSl9LFcsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxkPWNbMl0sZz1iWzFdLGY9Y1sxXSxoPWkoYVsxXVsxK29dLGEpO3JldHVybiBlKGZ1bmN0aW9uKGEpe3JldHVybiBrMChoLGEpfSxmLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsZyxbMCxhLGRdXX0pfSxvLGZ1bmN0aW9uKGEsYil7dmFyXG5mPWJbMl0sZD1mWzJdLGc9ZlsxXSxoPWJbMV07aWYoMD09PWQpcmV0dXJuIGUoaShhWzFdWzErY10sYSksZyxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGgsWzAsYSxkXV19KTt2YXJcbmo9aShhWzFdWzErbV0sYSk7cmV0dXJuIGUoZnVuY3Rpb24oYSl7cmV0dXJuIEYoaixhKX0sZCxiLGZ1bmN0aW9uKGEpe3JldHVyblswLGgsWzAsZyxhXV19KX0sVSxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbNl0sZj1jWzVdLGc9aihhWzFdWzErVl0sYSxmKSxoPWooYVsxXVsxK2RdLGEsZSk7aWYoZj09PWcmJmU9PT1oKXJldHVybiBjO3JldHVyblswLGNbMV0sY1syXSxjWzNdLGNbNF0sZyxoLGNbN11dfSxULGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZj1iWzFdLGc9Y1szXTtyZXR1cm4gZShpKGFbMV1bMStkXSxhKSxnLFswLGYsY10sZnVuY3Rpb24oYSl7cmV0dXJuWzAsZixbMCxjWzFdLGNbMl0sYV1dfSl9LFMsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxnPWNbMV0saD1iWzFdLGY9Y1syXTtyZXR1cm4gZShpKGFbMV1bMStkXSxhKSxmLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsaCxbMCxnLGFdXX0pfSxSLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1s0XSxnPWNbM10saD1qKGFbMV1bMStmXSxhLGcpLGk9aihhWzFdWzErZF0sYSxlKTtpZihnPT09aCYmZT09PWkpcmV0dXJuIGM7cmV0dXJuWzAsY1sxXSxjWzJdLGgsaV19LFEsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzEwXSxmPWNbM10sZz1qKGFbMV1bMStQXSxhLGYpLGg9aihhWzFdWzErZF0sYSxlKTtpZihmPT09ZyYmZT09PWgpcmV0dXJuIGM7cmV0dXJuWzAsY1sxXSxjWzJdLGcsY1s0XSxjWzVdLGNbNl0sY1s3XSxjWzhdLGNbOV0saCxjWzExXV19LE8sZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxmPWJbMV0sZz1jWzRdO3JldHVybiBlKGkoYVsxXVsxK2RdLGEpLGcsWzAsZixjXSxmdW5jdGlvbihhKXtyZXR1cm5bMCxmLFswLGNbMV0sY1syXSxjWzNdLGFdXX0pfSxOLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1s0XSxmPWNbM10sZz1qKGFbMV1bMStNXSxhLGYpLGg9aihhWzFdWzErZF0sYSxlKTtpZihmPT09ZyYmZT09PWgpcmV0dXJuIGM7cmV0dXJuWzAsY1sxXSxjWzJdLGcsaCxjWzVdXX0sTCxmdW5jdGlvbihhLGIpe2lmKDA9PT1iWzBdKXt2YXJcbms9YlsxXTtyZXR1cm4gZShpKGFbMV1bMStjXSxhKSxrLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYV19KX12YXJcbmQ9YlsxXSxmPWRbMl0sZz1mWzJdLGw9ZFsxXSxoPWooYVsxXVsxK2NdLGEsZyk7cmV0dXJuIGc9PT1oP2I6WzEsWzAsbCxbMCxmWzFdLGhdXV19LEssZnVuY3Rpb24oYSxiLGMpe3ZhclxuZj1jWzJdO3JldHVybiBlKGkoYVsxXVsxK2RdLGEpLGYsYyxmdW5jdGlvbihhKXtyZXR1cm5bMCxjWzFdLGFdfSl9LEosZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1jWzNdLGY9Y1sxXSxnPWFFKGkoYVsxXVsxK25dLGEpLGYpLGg9aihhWzFdWzErZF0sYSxlKTtpZihmPT09ZyYmZT09PWgpcmV0dXJuIGM7cmV0dXJuWzAsZyxjWzJdLGhdfSxJLGZ1bmN0aW9uKGEsYixjKXt2YXJcbm09Y1syXSxlPWNbMV0sZj1lWzNdLGc9ZVsyXSxvPWVbMV07aWYoZil2YXJcbmw9azAoaShhWzFdWzEraF0sYSksZiksaz1nO2Vsc2VcbnZhclxubD0wLGs9aihhWzFdWzEraF0sYSxnKTt2YXJcbm49aihhWzFdWzErZF0sYSxtKTtpZihnPT09ayYmZj09PWwmJm09PT1uKXJldHVybiBjO3JldHVyblswLFswLG8sayxsXSxuXX0sSCxmdW5jdGlvbihhLGIsYyl7dmFyXG5mPWNbNF07cmV0dXJuIGUoaShhWzFdWzErZF0sYSksZixjLGZ1bmN0aW9uKGEpe3JldHVyblswLGNbMV0sY1syXSxjWzNdLGFdfSl9LEcsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZj1jWzRdO3JldHVybiBlKGkoYVsxXVsxK2RdLGEpLGYsYyxmdW5jdGlvbihhKXtyZXR1cm5bMCxjWzFdLGNbMl0sY1szXSxhXX0pfSxFLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1s0XSxnPWNbM10saD1qKGFbMV1bMStmXSxhLGcpLGk9aihhWzFdWzErZF0sYSxlKTtpZihnPT09aCYmZT09PWkpcmV0dXJuIGM7cmV0dXJuWzAsY1sxXSxjWzJdLGgsaV19LEIsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZz1jWzRdLGg9Y1szXSxsPWNbMl0sbT1jWzFdLGU9aihhWzFdWzErZF0sYSxnKTtpZihoKXt2YXJcbm49RihpKGFbMV1bMStrXSxhKSxoKTtpZihoPT09biYmZz09PWUpcmV0dXJuIGM7cmV0dXJuWzAsY1sxXSxjWzJdLG4sZV19aWYobCl7dmFyXG5vPUYoaShhWzFdWzErcV0sYSksbCk7aWYobD09PW8mJmc9PT1lKXJldHVybiBjO3JldHVyblswLGNbMV0sbyxjWzNdLGVdfXZhclxucD1qKGFbMV1bMStmXSxhLG0pO2lmKG09PT1wJiZnPT09ZSlyZXR1cm4gYztyZXR1cm5bMCxwLGNbMl0sY1szXSxlXX0sRCxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPWNbM10sZj1jWzJdLGc9aihhWzFdWzErQ10sYSxmKSxoPWooYVsxXVsxK2RdLGEsZSk7aWYoZj09PWcmJmU9PT1oKXJldHVybiBjO3JldHVyblswLGNbMV0sZyxoXX0sQSxmdW5jdGlvbihhLGIsYyl7dmFyXG5mPWNbMl07cmV0dXJuIGUoaShhWzFdWzErZF0sYSksZixjLGZ1bmN0aW9uKGEpe3JldHVyblswLGNbMV0sYV19KX0sbixmdW5jdGlvbihhLGIsYyl7dmFyXG5mPWNbNF07cmV0dXJuIGUoaShhWzFdWzErZF0sYSksZixjLGZ1bmN0aW9uKGEpe3JldHVyblswLGNbMV0sY1syXSxjWzNdLGFdfSl9LHosZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxnPWNbMV0saD1iWzFdLGY9Y1syXTtyZXR1cm4gZShpKGFbMV1bMStkXSxhKSxmLGIsZnVuY3Rpb24oYSl7cmV0dXJuWzAsaCxbMCxnLGFdXX0pfSx5LGZ1bmN0aW9uKGEsYixjKXt2YXJcbmU9Y1syXSxnPWNbMV0saD1rMChpKGFbMV1bMStmXSxhKSxnKSxrPWooYVsxXVsxK2RdLGEsZSk7aWYoZz09PWgmJmU9PT1rKXJldHVybiBjO3JldHVyblswLGgsa119LHcsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZj1jWzNdO3JldHVybiBlKGkoYVsxXVsxK2RdLGEpLGYsYyxmdW5jdGlvbihhKXtyZXR1cm5bMCxjWzFdLGNbMl0sYV19KX0sdixmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzNdO3JldHVybiBlKGkoYVsxXVsxK2RdLGEpLGMsYixmdW5jdGlvbihhKXtyZXR1cm5bMCxiWzFdLGJbMl0sYV19KX0sdSxmdW5jdGlvbihhLGIsYyl7dmFyXG5mPWNbM107cmV0dXJuIGUoaShhWzFdWzErZF0sYSksZixjLGZ1bmN0aW9uKGEpe3JldHVyblswLGNbMV0sY1syXSxhXX0pfSx0LGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMl0sZz1jWzFdLGg9YlsxXSxmPWNbMl07cmV0dXJuIGUoaShhWzFdWzErZF0sYSksZixiLGZ1bmN0aW9uKGEpe3JldHVyblswLGgsWzAsZyxhXV19KX0scyxmdW5jdGlvbihhLGIsYyl7dmFyXG5tPWNbMl0sZT1jWzFdLGY9ZVszXSxnPWVbMl0sbz1lWzFdO2lmKGYpdmFyXG5sPWswKGkoYVsxXVsxK2hdLGEpLGYpLGs9ZztlbHNlXG52YXJcbmw9MCxrPWooYVsxXVsxK2hdLGEsZyk7dmFyXG5uPWooYVsxXVsxK2RdLGEsbSk7aWYoZz09PWsmJmY9PT1sJiZtPT09bilyZXR1cm4gYztyZXR1cm5bMCxbMCxvLGssbF0sbl19LGIsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZz1jWzJdLGQ9Z1syXSxoPWdbMV0saz1jWzFdO2lmKCFkKXJldHVybiBlKGooYVsxXVsxK3JdLGEsYiksaCxjLGZ1bmN0aW9uKGEpe3JldHVyblswLGssWzAsYSxkXV19KTt2YXJcbmw9ZFsxXTtyZXR1cm4gZShpKGFbMV1bMStmXSxhKSxsLGMsZnVuY3Rpb24oYSl7cmV0dXJuWzAsayxbMCxoLFswLGFdXV19KX1dKTtyZXR1cm4gZnVuY3Rpb24oYSxiLGMpe3ZhclxuZD1taChiLGcpO2RbMStsXT1jO2koYWQsZCk7cmV0dXJuIHJTKGIsZCxnKX19KTtmdW5jdGlvblxubVooYSl7dmFyXG5iPWpSKGEpO2lmKGIpdmFyXG5kPWJbMV0sZT1HNShhKT8oa1coYSxkWzNdKSxbMCxqKEhjWzFdLDAsZFszXSldKTowLGM9ZTtlbHNlXG52YXJcbmM9MDtyZXR1cm5bMCwwLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGM/YihjWzFdLGEpOmF9XX1mdW5jdGlvblxuazEoYSl7dmFyXG5kPWpSKGEpO2lmKGQpe3ZhclxuZT1kWzFdO2lmKEc1KGEpKXtrVyhhLGVbM10pO3ZhclxuZj1pcShhKSxjPVswLGooSGNbMV0sMCxbMCxlWzNdWzFdKzF8MCwwXSldLGI9Zn1lbHNlXG52YXJcbmM9MCxiPWlxKGEpfWVsc2VcbnZhclxuYz0wLGI9MDtyZXR1cm5bMCxiLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGM/aihiLGNbMV0sYSk6YX1dfWZ1bmN0aW9uXG5heChhKXtyZXR1cm4gYTgoYSk/azEoYSk6bVooYSl9ZnVuY3Rpb25cbmJfKGEsYil7cmV0dXJuIGooYXgoYSlbMl0sYixmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSxraiwyKSxhLGIpfSl9ZnVuY3Rpb25cbmJoKGEsYil7aWYoIWIpcmV0dXJuIDA7dmFyXG5jPWJbMV07cmV0dXJuWzAsaihheChhKVsyXSxjLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooTChhLHc1LDUpLGEsYil9KV19ZnVuY3Rpb25cbnNqKGEsYil7cmV0dXJuIGooYXgoYSlbMl0sYixmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSxKaSw4KSxhLGIpfSl9ZnVuY3Rpb25cbmpWKGEsYil7cmV0dXJuIGooYXgoYSlbMl0sYixmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSwtMTA0NTgyNDc3Nyw5KSxhLGIpfSl9ZnVuY3Rpb25cbmsyKGEsYil7cmV0dXJuIGooYXgoYSlbMl0sYixmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSwtNDU1NzcyOTc5LDEwKSxhLGIpfSl9ZnVuY3Rpb25cbkhkKGEsYil7aWYoIWIpcmV0dXJuIDA7dmFyXG5jPWJbMV07cmV0dXJuWzAsaihheChhKVsyXSxjLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooTChhLExsLDEzKSxhLGIpfSldfWZ1bmN0aW9uXG5jdChhLGIpe3JldHVybiBqKGF4KGEpWzJdLGIsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihMKGEsSnQsMTQpLGEsYil9KX1mdW5jdGlvblxuSGUoYSxiKXtyZXR1cm4gaihheChhKVsyXSxiLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWkoTChhLEwwLDE2KSxhKTtyZXR1cm4gazAoZnVuY3Rpb24oYSl7cmV0dXJuIGFFKGMsYSl9LGIpfSl9ZnVuY3Rpb25cbkhmKGEsYil7cmV0dXJuIGooYXgoYSlbMl0sYixmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSwtMjE0NzYwMDksMTcpLGEsYil9KX1tZyhhZW0sZnVuY3Rpb24oZCl7dmFyXG5oPXJQKGQsYWVwKSxsPXJRKGFlaiksZz1sLmxlbmd0aC0xLG09SGEubGVuZ3RoLTEsYT1pSShnK218MCwwKSxuPWctMXwwLHQ9MDtpZihuPj0wKXt2YXJcbmI9dDtmb3IoOzspe3ZhclxueD1rTShkLGF1KGwsYilbMStiXSk7YXUoYSxiKVsxK2JdPXg7dmFyXG55PWIrMXwwO2lmKG49PT1iKWJyZWFrO3ZhclxuYj15fX12YXJcbm89bS0xfDAsdT0wO2lmKG8+PTApe3ZhclxuYz11O2Zvcig7Oyl7dmFyXG5wPWMrZ3wwLHY9clAoZCxhdShIYSxjKVsxK2NdKTthdShhLHApWzErcF09djt2YXJcbnc9YysxfDA7aWYobz09PWMpYnJlYWs7dmFyXG5jPXd9fXZhclxucT1hWzRdLHI9YVs1XSxzPWFbTVZdLGs9YVt4d10sZT1hWzMxNl0sZj1hWzMxN10sej1hWzQ0XSxBPWFbSzVdLEI9YVtLU10sQz1yUihkLDAsMCxIYixyWCwxKVsxXTtyVChkLFswLEEsZnVuY3Rpb24oYSl7cmV0dXJuWzAsYVsxK2VdLGFbMStmXV19LGssZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsyXSxkPWJbMV07YTEoaShhWzFdWzErcl0sYSksZCk7cmV0dXJuIGExKGkoYVsxXVsxK3FdLGEpLGMpfSxzLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGI/aihhWzFdWzEra10sYSxiWzFdKTowfSxyLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMV0sZD1hWzErZV07aWYoZCl7dmFyXG5mPWhMKGNbMl0sZFsxXVsxXVsyXSk8MD8xOjAsaT1mPyhhWzErZV09WzAsYl0sMCk6ZjtyZXR1cm4gaX12YXJcbmc9aEwoY1syXSxhWzEraF1bMl0pPDA/MTowLGo9Zz8oYVsxK2VdPVswLGJdLDApOmc7cmV0dXJuIGp9LHEsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsxXSxkPWFbMStmXTtpZihkKXt2YXJcbmU9aEwoZFsxXVsxXVsyXSxjWzJdKTwwPzE6MCxpPWU/KGFbMStmXT1bMCxiXSwwKTplO3JldHVybiBpfXZhclxuZz0wPD1oTChjWzJdLGFbMStoXVszXSk/MTowLGo9Zz8oYVsxK2ZdPVswLGJdLDApOmc7cmV0dXJuIGp9LHosZnVuY3Rpb24oYSxiKXtqKGFbMV1bMStrXSxhLGIpO3JldHVybiBifSxCLGZ1bmN0aW9uKGEsYixjKXtqKGFbMV1bMStzXSxhLGNbMl0pO3JldHVybiBjfV0pO3JldHVybiBmdW5jdGlvbihhLGIsYyl7dmFyXG5nPW1oKGIsZCk7Z1sxK2hdPWM7aShDLGcpO2dbMStlXT0wO2dbMStmXT0wO3JldHVybiByUyhiLGcsZCl9fSk7ZnVuY3Rpb25cbkhnKGEpe3ZhclxuYz1tKGEpO2E6e2lmKHR5cGVvZlxuYz09PVwibnVtYmVyXCIpe3ZhclxuZD1jO2lmKDUwPD1kKXN3aXRjaChkKXtjYXNlXG41MDp2YXJcbmI9YWUxO2JyZWFrIGE7Y2FzZVxuNTE6dmFyXG5iPWFlMjticmVhayBhO2Nhc2VcbjUyOnZhclxuYj1hZTM7YnJlYWsgYTtjYXNlXG41Mzp2YXJcbmI9YWU0O2JyZWFrIGE7Y2FzZVxuNTQ6dmFyXG5iPWFlNTticmVhayBhO2Nhc2VcbjU1OnZhclxuYj1hZTY7YnJlYWsgYTtjYXNlXG41Njp2YXJcbmI9YWU3O2JyZWFrIGE7Y2FzZVxuNTc6dmFyXG5iPWFlODticmVhayBhO2Nhc2VcbjU4OnZhclxuYj1hZTk7YnJlYWsgYTtjYXNlXG41OTp2YXJcbmI9YWVfO2JyZWFrIGE7Y2FzZVxuNjA6dmFyXG5iPWFlJDticmVhayBhO2Nhc2VcbjYxOnZhclxuYj1hZmE7YnJlYWsgYTtjYXNlXG42Mjp2YXJcbmI9YWZiO2JyZWFrIGE7Y2FzZVxuNjM6dmFyXG5iPWFmYzticmVhayBhO2Nhc2VcbjY0OnZhclxuYj1hZmQ7YnJlYWsgYTtjYXNlXG42NTp2YXJcbmI9YWZlO2JyZWFrIGE7Y2FzZVxuNjY6dmFyXG5iPWFmZjticmVhayBhO2Nhc2VcbjExNTp2YXJcbmI9YWZnO2JyZWFrIGE7Y2FzZVxuMTE2OnZhclxuYj1hZmg7YnJlYWsgYTtjYXNlXG4xMTc6dmFyXG5iPWFmaTticmVhayBhO2Nhc2VcbjExODp2YXJcbmI9YWZqO2JyZWFrIGE7Y2FzZVxuMTE5OnZhclxuYj1hZms7YnJlYWsgYTtjYXNlXG4xMjA6dmFyXG5iPWFmbDticmVhayBhO2Nhc2VcbjEyMTp2YXJcbmI9YWZtO2JyZWFrIGE7Y2FzZVxuMTIyOnZhclxuYj1hZm47YnJlYWsgYTtjYXNlXG4xMjM6dmFyXG5iPWFmbzticmVhayBhO2Nhc2VcbjEyNDp2YXJcbmI9YWZwO2JyZWFrIGE7Y2FzZVxuMTI1OnZhclxuYj1hZnE7YnJlYWsgYTtjYXNlXG4xMjY6dmFyXG5iPWFmcjticmVhayBhO2Nhc2VcbjEyNzp2YXJcbmI9YWZzO2JyZWFrIGE7Y2FzZVxuMTI5OnZhclxuYj1hZnQ7YnJlYWsgYTtjYXNlXG4xMzA6dmFyXG5iPWFmdTticmVhayBhO2Nhc2VcbjEzMTp2YXJcbmI9YWZ2O2JyZWFrIGF9ZWxzZVxuc3dpdGNoKGQpe2Nhc2VcbjE1OnZhclxuYj1hZXM7YnJlYWsgYTtjYXNlXG4xNjp2YXJcbmI9YWV0O2JyZWFrIGE7Y2FzZVxuMTc6dmFyXG5iPWFldTticmVhayBhO2Nhc2VcbjE4OnZhclxuYj1hZXY7YnJlYWsgYTtjYXNlXG4xOTp2YXJcbmI9YWV3O2JyZWFrIGE7Y2FzZVxuMjA6dmFyXG5iPWFleDticmVhayBhO2Nhc2VcbjIxOnZhclxuYj1hZXk7YnJlYWsgYTtjYXNlXG4yMjp2YXJcbmI9YWV6O2JyZWFrIGE7Y2FzZVxuMjM6dmFyXG5iPWFlQTticmVhayBhO2Nhc2VcbjI0OnZhclxuYj1hZUI7YnJlYWsgYTtjYXNlXG4yNTp2YXJcbmI9YWVDO2JyZWFrIGE7Y2FzZVxuMjY6dmFyXG5iPWFlRDticmVhayBhO2Nhc2VcbjI3OnZhclxuYj1hZUU7YnJlYWsgYTtjYXNlXG4yODp2YXJcbmI9YWVGO2JyZWFrIGE7Y2FzZVxuMjk6dmFyXG5iPWFlRzticmVhayBhO2Nhc2VcbjMwOnZhclxuYj1hZUg7YnJlYWsgYTtjYXNlXG4zMTp2YXJcbmI9YWVJO2JyZWFrIGE7Y2FzZVxuMzI6dmFyXG5iPWFlSjticmVhayBhO2Nhc2VcbjMzOnZhclxuYj1hZUs7YnJlYWsgYTtjYXNlXG4zNDp2YXJcbmI9YWVMO2JyZWFrIGE7Y2FzZVxuMzU6dmFyXG5iPWFlTTticmVhayBhO2Nhc2VcbjM2OnZhclxuYj1hZU47YnJlYWsgYTtjYXNlXG4zNzp2YXJcbmI9YWVPO2JyZWFrIGE7Y2FzZVxuMzg6dmFyXG5iPWFlUDticmVhayBhO2Nhc2VcbjM5OnZhclxuYj1hZVE7YnJlYWsgYTtjYXNlXG40MDp2YXJcbmI9YWVSO2JyZWFrIGE7Y2FzZVxuNDE6dmFyXG5iPWFlUzticmVhayBhO2Nhc2VcbjQyOnZhclxuYj1hZVQ7YnJlYWsgYTtjYXNlXG40Mzp2YXJcbmI9YWVVO2JyZWFrIGE7Y2FzZVxuNDQ6dmFyXG5iPWFlVjticmVhayBhO2Nhc2VcbjQ1OnZhclxuYj1hZVc7YnJlYWsgYTtjYXNlXG40Njp2YXJcbmI9YWVYO2JyZWFrIGE7Y2FzZVxuNDc6dmFyXG5iPWFlWTticmVhayBhO2Nhc2VcbjQ4OnZhclxuYj1hZVo7YnJlYWsgYTtjYXNlXG40OTp2YXJcbmI9YWUwO2JyZWFrIGF9fWVsc2VcbnN3aXRjaChjWzBdKXtjYXNlXG40OnZhclxuYj1jWzJdO2JyZWFrIGE7Y2FzZVxuMTE6dmFyXG5lPWNbMV0/YWZ3OmFmeCxiPWU7YnJlYWsgYX1hayhhZXEsYSk7dmFyXG5iPWFlcn1zKGEpO3JldHVybiBifWZ1bmN0aW9uXG5hTihhKXt2YXJcbmI9eShhKSxjPXIoYSksZD1IZyhhKTtyZXR1cm5bMCxiLFswLGQscChbMCxjXSxbMCx0KGEpXSxsKV1dfWZ1bmN0aW9uXG5IaChhKXt2YXJcbmM9eShhKSxoPXIoYSk7bihhLDE0KTt2YXJcbmQ9eShhKSxpPUhnKGEpLGo9cChbMCxoXSxbMCx0KGEpXSxsKSxlPSQoYyxkKSxmPWRbMl0sZz1jWzNdLGI9Z1sxXT09PWZbMV0/MTowLGs9Yj9nWzJdPT09ZlsyXT8xOjA6YjtpZigxLWspdShhLFswLGUsYnNdKTtyZXR1cm5bMCxlLFswLGksal1dfWZ1bmN0aW9uXG5pMChhKXt2YXJcbmU9YVsyXSxmPTA9PT1lWzNdPzE6MCxoPWVbMl07aWYoIWYpcmV0dXJuIGY7dmFyXG5iPWg7Zm9yKDs7KXtpZighYilyZXR1cm4gMTt2YXJcbmQ9YlsxXVsyXSxnPWJbMl07YTp7aWYoMj09PWRbMV1bMl1bMF0mJiFkWzJdKXt2YXJcbmM9MTticmVhayBhfXZhclxuYz0wfWlmKCFjKXJldHVybiBjO3ZhclxuYj1nfX1mdW5jdGlvblxuazMoYSl7dmFyXG5iPWE7Zm9yKDs7KXt2YXJcbmM9YlsyXTtpZigzMSE9PWNbMF0pcmV0dXJuIDA7dmFyXG5kPWNbMV1bMl07aWYoMjc9PT1kWzJdWzBdKXJldHVybiAxO3ZhclxuYj1kfX1mdW5jdGlvblxubTAoYSxiLGMpe3ZhclxuZD1jWzJdWzFdLGU9Y1sxXTtpZighayhkLGpvKSl7dmFyXG5mPWJbMTldO3JldHVybiBmP3UoYixbMCxlLDVdKTpmfWlmKGsoZCxrYSkpe2lmKCFrKGQsYm4pKXJldHVybiBiWzE4XT91KGIsWzAsZSw5Nl0pOmIwKGIsWzAsZSw4MV0pfWVsc2UgaWYoYlsxNF0pcmV0dXJuIHUoYixbMCxlLFsyNixtcihkKV1dKTtpZihqUyhkKSlyZXR1cm4gYjAoYixbMCxlLDgxXSk7aWYobVQoZCkpcmV0dXJuIHUoYixbMCxlLDk2XSk7aWYoYSl7dmFyXG5nPWFbMV07aWYoaVgoZCkpcmV0dXJuIGIwKGIsWzAsZSxnXSl9cmV0dXJufWZ1bmN0aW9uXG5xKGEsYixjKXt2YXJcbmQ9YT9hWzFdOnkoYyksZj1pKGIsYyksZT1qUihjKSxnPWU/JChkLGVbMV0pOmQ7cmV0dXJuWzAsZyxmXX1mdW5jdGlvblxuc2soYSxiLGMpe3ZhclxuZD1xKGEsYixjKSxlPWRbMl07cmV0dXJuWzAsWzAsZFsxXSxlWzFdXSxlWzJdXX1mdW5jdGlvblxubTEoYSl7YUYoYSwwKTt2YXJcbmM9bShhKTthSShhKTt2YXJcbmI9TigxLGEpO2E6e2I6e2lmKHR5cGVvZlxuYz09PVwibnVtYmVyXCIpe2lmKDIyIT09YylicmVhayBhfWVsc2V7aWYoNCE9PWNbMF0pYnJlYWsgYTt2YXJcbmQ9Y1szXTtpZihrKGQsa2wpKXtpZighayhkLGtmKSljOntpZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiKXtpZigyMiE9PWIpYnJlYWsgY31lbHNlIGlmKDQhPT1iWzBdKWJyZWFrIGM7YnJlYWsgYn19ZWxzZVxuYzp7aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIil7aWYoMjIhPT1iKWJyZWFrIGN9ZWxzZSBpZig0IT09YlswXSlicmVhayBjO2JyZWFrIGJ9fWlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCIpe2lmKGpzIT09YilicmVhayBhfWVsc2UgaWYoNCE9PWJbMF18fGsoYlszXSxsQSkpYnJlYWsgYX1yZXR1cm4gMX1yZXR1cm4gMH1mdW5jdGlvblxuSGkobSxiKXt2YXJcbm49YlsxXSxvPWJbMl1bMV0scT1vPzA6MTtpZihxKXUobSxbMCxuLDQ5XSk7ZnVuY3Rpb25cbnAoYSl7cmV0dXJuIDA9PT1hWzBdP1swLGFbMV1dOih1KG0sWzAsYVsxXVsxXSw1MF0pLDApfWE6e3ZhclxuZD1vO2Zvcig7Oyl7aWYoIWQpe3ZhclxuYz0wO2JyZWFrIGF9dmFyXG5nPWRbMl0saD1wKGRbMV0pO2lmKGgpYnJlYWs7dmFyXG5kPWd9dmFyXG5pPVswLGhbMV0saXldLGY9aSxlPTEsYT1nO2Zvcig7Oyl7aWYoIWEpe2ZbMStlXT0wO3ZhclxuYz1pO2JyZWFrfXZhclxuaj1hWzJdLGs9cChhWzFdKTtpZihrKXt2YXJcbmw9WzAsa1sxXSxpeV07ZlsxK2VdPWw7dmFyXG5mPWwsZT0xLGE9an1lbHNlXG52YXJcbmE9an19aWYoYyYmIWNbMl0pcmV0dXJuIGNbMV07cmV0dXJuWzAsbixbMjksWzAsYywwXV1dfWZ1bmN0aW9uXG5IUyhhKXtzd2l0Y2goYSl7Y2FzZVxuMzpyZXR1cm4gMjtjYXNlXG40OnJldHVybiAxO2Nhc2VcbjU6cmV0dXJuIDE7Y2FzZVxuNjpyZXR1cm4gMTtjYXNlXG43OnJldHVybiAxO2RlZmF1bHQ6cmV0dXJuIDF9fWZ1bmN0aW9uXG5zdyhhLGIsYyl7aWYoYyl7dmFyXG5kPWNbMV07YTp7aWYoODIzMiE9PWQmJmFQIT09ZCl7aWYoMTA9PT1kKXt2YXJcbmU9NjticmVhayBhfWlmKDEzPT09ZCl7dmFyXG5lPTU7YnJlYWsgYX1pZihsUzw9ZCl7dmFyXG5lPTM7YnJlYWsgYX1pZihEZjw9ZCl7dmFyXG5lPTI7YnJlYWsgYX1pZihhQTw9ZCl7dmFyXG5lPTE7YnJlYWsgYX12YXJcbmU9MDticmVhayBhfXZhclxuZT03fXZhclxuZj1lfWVsc2VcbnZhclxuZj00O3JldHVyblswLGYsYV19dmFyXG5hZ2Q9W2FoLGFnYyxoRSgwKV07ZnVuY3Rpb25cbkhUKGEsYixjLGQpe3RyeXt2YXJcbmY9YXUoYSxiKVsxK2JdO3JldHVybiBmfWNhdGNoKGYpe3ZhclxuZT1hQyhmKTtpZihlWzFdPT09bDUpdGhyb3cgeChbMCxhZ2QsYyx6KFIoYWdlKSxkLGIsYS5sZW5ndGgtMSldLDEpO3Rocm93IHgoZSwwKX19ZnVuY3Rpb25cbm05KGEsYil7aWYoMD09PWJbMV0mJjA9PT1iWzJdKXJldHVybiAwO3ZhclxuYz1IVChhLGJbMV0tMXwwLGIsYWdmKTtyZXR1cm4gSFQoYyxiWzJdLGIsYWdnKX1mdW5jdGlvblxuSFUoaCl7ZnVuY3Rpb25cbmcoYSl7dmFyXG5iPW0oYSk7YTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiKXtpZig4PD1iKXtpZigxMDw9YilicmVhayBhfWVsc2UgaWYoMSE9PWIpYnJlYWsgYTtyZXR1cm4gMX1yZXR1cm4gMH1mdW5jdGlvblxuaShhLGIsYyxkLGUsZil7dmFyXG5pPXooaFsyNF0sYSxlLGYpO2lmKGMpdmFyXG5rPUooYWd6LGYpLGo9LWk7ZWxzZVxudmFyXG5rPWYsaj1pO3ZhclxubT10KGEpO3JldHVybiBnKGEpP1syLGIsWzAsaixrLHAoWzAsZF0sWzAsbV0sbCldXTpbMCxiXX1mdW5jdGlvblxuZChhKXt2YXJcbmM9eShhKSxkPXIoYSksYj1tKGEpO2lmKHR5cGVvZlxuYj09PVwibnVtYmVyXCIpc3dpdGNoKGIpe2Nhc2VcbjEwNTpzKGEpO3ZhclxuZT1tKGEpO2lmKHR5cGVvZlxuZSE9PVwibnVtYmVyXCImJjA9PT1lWzBdKXJldHVybiBpKGEsYywxLGQsZVsxXSxlWzJdKTtyZXR1cm5bMCxjXTtjYXNlXG4zMTpjYXNlXG4zMjpzKGEpO3Zhclxubj10KGEpO3JldHVybiBnKGEpP1sxLGMsWzAsMzI9PT1iPzE6MCxwKFswLGRdLFswLG5dLGwpXV06WzAsY119ZWxzZVxuc3dpdGNoKGJbMF0pe2Nhc2VcbjA6cmV0dXJuIGkoYSxjLDAsZCxiWzFdLGJbMl0pO2Nhc2VcbjE6dmFyXG5qPWJbMl0sbz16KGhbMjZdLGEsYlsxXSxqKSxxPXQoYSk7cmV0dXJuIGcoYSk/WzQsYyxbMCxvLGoscChbMCxkXSxbMCxxXSxsKV1dOlswLGNdO2Nhc2VcbjI6dmFyXG5mPWJbMV0saz1mWzFdLHU9ZlszXSx2PWZbMl07aWYoZls0XSliQyhhLDc3KTtzKGEpO3Zhclxudz10KGEpO3JldHVybiBnKGEpP1szLGssWzAsdix1LHAoWzAsZF0sWzAsd10sbCldXTpbMCxrXX1zKGEpO3JldHVyblswLGNdfXZhclxuYXM9WzAsYWd5LGE3WzFdLDAsMF07ZnVuY3Rpb25cbmF0KGEpe3ZhclxuZT1hTihhKSxiPW0oYSk7YTp7aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIil7aWYoODM9PT1iKXtuKGEsODMpO3ZhclxuYz1kKGEpO2JyZWFrIGF9aWYoODc9PT1iKXtLKGEsWzgsZVsyXVsxXV0pO24oYSw4Nyk7dmFyXG5jPWQoYSk7YnJlYWsgYX19dmFyXG5jPTB9cmV0dXJuWzAsZSxjXX12YXJcbmF1PTA7ZnVuY3Rpb25cbmFuKGgsYixjLGQsZSxmLGcpe3ZhclxuYT1oRihlKSxpPWhGKGYpO2Z1bmN0aW9uXG5qKGEpe3JldHVyblsyLFswLFswLGZdLGMsZCxnXV19ZnVuY3Rpb25cbmsoYSl7cmV0dXJuWzIsWzAsWzEsZV0sYyxkLGddXX1yZXR1cm4gMD09PWE/aihsKTowPT09aT9rKGwpOmE8aT8oYTEoZnVuY3Rpb24oYSl7cmV0dXJuIHUoaCxbMCxhWzFdLFsxMixiXV0pfSxlKSxqKGwpKTooYTEoZnVuY3Rpb24oYSl7cmV0dXJuIHUoaCxbMCxhWzFdLFsxMixiXV0pfSxmKSxrKGwpKX1yZXR1cm5bMCxmdW5jdGlvbihhLGIpe3ZhclxuZT1hP2FbMV06MCxmPUkoZSxyKGIpKTtuKGIsNDkpO3ZhclxuYz1qKGhbMTNdLDAsYiksZD1jWzJdWzFdLGFIPWNbMV0sZz1xKDAsZnVuY3Rpb24oYyl7aWYoYWcoYyw2NCkpe2FGKGMsMSk7dmFyXG5EPW0oYyk7YTp7aWYodHlwZW9mXG5EPT09XCJudW1iZXJcIilzd2l0Y2goRCl7Y2FzZVxuMTE4OnZhclxudj1hZ0I7YnJlYWsgYTtjYXNlXG4xMTk6dmFyXG52PWFnQzticmVhayBhO2Nhc2VcbjEyMDp2YXJcbnY9YWdEO2JyZWFrIGE7Y2FzZVxuMTIyOnZhclxudj1hZ0U7YnJlYWsgYX1lbHNlXG5zd2l0Y2goRFswXSl7Y2FzZVxuNDpLKGMsWzcsZCxbMCxEWzJdXV0pO3Zhclxudj0wO2JyZWFrIGE7Y2FzZVxuMTE6aWYoRFsxXSl7dmFyXG52PWFnRjticmVhayBhfWJyZWFrfUsoYyxbNyxkLDBdKTt2YXJcbnY9MH1zKGMpO2FJKGMpO3ZhclxuaT12fWVsc2VcbnZhclxuaT0wO3ZhclxuYUU9MD09PWk/MDpyKGMpO24oYywwKTt2YXJcbmI9YXM7Zm9yKDs7KXt2YXJcbmFoPW0oYyk7aWYodHlwZW9mXG5haD09PVwibnVtYmVyXCIpe3ZhclxuTj1haC0yfDA7aWYoYnM8Tj4+PjApe2lmKGJtPj1OKzE+Pj4wKWJyZWFrfWVsc2UgaWYoMTA9PT1OKXt2YXJcbmFrPXkoYyksYUQ9cihjKTtzKGMpO3ZhclxuYWw9bShjKTthOntiOmlmKHR5cGVvZlxuYWw9PT1cIm51bWJlclwiKXt2YXJcblQ9YWwtMnwwO2lmKGJzPFQ+Pj4wKXtpZihibTxUKzE+Pj4wKWJyZWFrIGJ9ZWxzZXtpZig3IT09VClicmVhayBiO24oYyw5KTt2YXJcblU9bShjKTtjOntkOmlmKHR5cGVvZlxuVT09PVwibnVtYmVyXCIpe2lmKDEhPT1VJiZWIT09VSlicmVhayBkO3ZhclxuYW09MTticmVhayBjfXZhclxuYW09MH11KGMsWzAsYWssWzYsYW1dXSl9YnJlYWsgYX11KGMsWzAsYWssYWdBXSl9dmFyXG5iPVswLGJbMV0sYlsyXSwxLGFEXTtjb250aW51ZX19dmFyXG5fPWJbMl0sYT1iWzFdLGFyPXEoYXUsYXQsYyksJD1hclsyXSxlPSRbMl0sbz0kWzFdLGs9YXJbMV0sZj1vWzJdWzFdLGFhPW9bMV07YTppZihYKGYsQSkpdmFyXG5nPWI7ZWxzZXt2YXJcbmFiPWFCKGYsMCksWj05Nzw9YWI/MTowLGF3PVo/YWI8PWFpPzE6MDpaO2lmKGF3KXUoYyxbMCxhYSxbMTAsZCxmXV0pO2lmKGE3WzNdLmNhbGwobnVsbCxmLF8pKXUoYyxbMCxhYSxbNCxkLGZdXSk7dmFyXG53PWJbNF0seD1iWzNdLHo9YTdbNF0uY2FsbChudWxsLGYsXyksRj1bMCxiWzFdLHoseCx3XTtsZXRcbmg9Zjt2YXJcbkc9ZnVuY3Rpb24oYSxiKXtpZihpJiZpWzFdIT09YSlyZXR1cm4gdShjLFswLGIsWzksZCxpLGhdXSk7cmV0dXJufTtpZih0eXBlb2ZcbmU9PT1cIm51bWJlclwiKXtpZihpKXN3aXRjaChpWzFdKXtjYXNlXG4wOnUoYyxbMCxrLFszLGQsZl1dKTt2YXJcbmc9RjticmVhayBhO2Nhc2VcbjE6dShjLFswLGssWzExLGQsZl1dKTt2YXJcbmc9RjticmVhayBhO2Nhc2VcbjQ6dShjLFswLGssWzIsZCxmXV0pO3ZhclxuZz1GO2JyZWFrIGF9dmFyXG5nPVswLFswLGFbMV0sYVsyXSxhWzNdLGFbNF0sWzAsWzAsayxbMCxvXV0sYVs1XV1dLHoseCx3XX1lbHNlXG5zd2l0Y2goZVswXSl7Y2FzZVxuMDp1KGMsWzAsZVsxXSxbOSxkLGksZl1dKTt2YXJcbmc9RjticmVhaztjYXNlXG4xOnZhclxuYWM9ZVsxXSxheD1lWzJdO0coMCxhYyk7dmFyXG5nPVswLFswLFswLFswLGssWzAsbyxbMCxhYyxheF1dXSxhWzFdXSxhWzJdLGFbM10sYVs0XSxhWzVdXSx6LHgsd107YnJlYWs7Y2FzZVxuMjp2YXJcbmFkPWVbMV0sYXk9ZVsyXTtHKDEsYWQpO3ZhclxuZz1bMCxbMCxhWzFdLFswLFswLGssWzAsbyxbMCxhZCxheV1dXSxhWzJdXSxhWzNdLGFbNF0sYVs1XV0seix4LHddO2JyZWFrO2Nhc2VcbjM6dmFyXG5hZT1lWzFdLGF6PWVbMl07RygyLGFlKTt2YXJcbmc9WzAsWzAsYVsxXSxhWzJdLFswLFswLGssWzAsbyxbMCxhZSxhel1dXSxhWzNdXSxhWzRdLGFbNV1dLHoseCx3XTticmVhaztkZWZhdWx0OnZhclxuYWY9ZVsxXSxhQT1lWzJdO0coNCxhZik7dmFyXG5nPVswLFswLGFbMV0sYVsyXSxhWzNdLFswLFswLGssWzAsbyxbMCxhZixhQV1dXSxhWzRdXSxhWzVdXSx6LHgsd119fXZhclxuYWo9bShjKTthOntiOmlmKHR5cGVvZlxuYWo9PT1cIm51bWJlclwiKXt2YXJcbk89YWotMnwwO2lmKGJzPE8+Pj4wKXtpZihibTxPKzE+Pj4wKWJyZWFrIGJ9ZWxzZXtpZig2IT09TylicmVhayBiO0soYywxOCk7bihjLDgpfWJyZWFrIGF9bihjLDkpfXZhclxuYj1nfXZhclxuaD1iWzNdLGFDPWJbNF0scD1CKGJbMV1bNV0pLFA9QihiWzFdWzRdKSxRPUIoYlsxXVszXSksUj1CKGJbMV1bMl0pLFM9QihiWzFdWzFdKSxhRz1JKGFDLHIoYykpO24oYywxKTt2YXJcblc9bShjKTthOntiOmlmKHR5cGVvZlxuVz09PVwibnVtYmVyXCIpe2lmKDEhPT1XJiZWIT09VylicmVhayBiO3ZhclxuYW89dChjKTticmVhayBhfXZhclxuYW89YTgoYyk/aXEoYyk6MH12YXJcbmo9YXYoWzAsYUVdLFswLGFvXSxhRyxsKTtpZihpKXtzd2l0Y2goaVsxXSl7Y2FzZVxuMDp2YXJcbkU9WzAsWzAsUywxLGgsal1dO2JyZWFrO2Nhc2VcbjE6dmFyXG5FPVsxLFswLFIsMSxoLGpdXTticmVhaztjYXNlXG4yOnZhclxuRT1hbihjLGQsMSxoLFEscCxqKTticmVhaztjYXNlXG4zOnZhclxuRT1bMyxbMCxwLGgsal1dO2JyZWFrO2RlZmF1bHQ6dmFyXG5FPVs0LFswLFAsMSxoLGpdXX12YXJcbmFwPUV9ZWxzZXt2YXJcblk9aEYoUyksSD1oRihSKSxKPWhGKFApLEw9aEYoUSksTT1oRihwKSxhcT1mdW5jdGlvbihhKXtyZXR1cm5bMixbMCxhZ0csMCxoLGpdXX07YTp7aWYoMD09PVkmJjA9PT1IJiYwPT09Sil7aWYoMD09PUwmJjA9PT1NKXt2YXJcbkM9YXEobCk7YnJlYWsgYX12YXJcbkM9YW4oYyxkLDAsaCxRLHAsaik7YnJlYWsgYX1pZigwPT09SCYmMD09PUomJjA9PT1MJiZNPD1ZKXthMShmdW5jdGlvbihhKXtyZXR1cm4gdShjLFswLGFbMV0sWzMsZCxhWzJdWzFdWzJdWzFdXV0pfSxwKTt2YXJcbkM9WzAsWzAsUywwLGgsal1dO2JyZWFrIGF9aWYoMD09PVkpe2lmKDA9PT1KJiYwPT09TCYmTTw9SCl7YTEoZnVuY3Rpb24oYSl7cmV0dXJuIHUoYyxbMCxhWzFdLFsxMSxkLGFbMl1bMV1bMl1bMV1dXSl9LHApO3ZhclxuQz1bMSxbMCxSLDAsaCxqXV07YnJlYWsgYX1pZigwPT09SCYmMD09PUwmJk08PUope2ExKGZ1bmN0aW9uKGEpe3JldHVybiB1KGMsWzAsYVsxXSxbMTEsZCxhWzJdWzFdWzJdWzFdXV0pfSxwKTt2YXJcbkM9WzQsWzAsUCwwLGgsal1dO2JyZWFrIGF9fXUoYyxbMCxhSCxbNSxkXV0pO3ZhclxuQz1hcShsKX12YXJcbmFwPUN9cmV0dXJuIGFwfSxiKTtyZXR1cm5bMCxjLGcscChbMCxmXSwwLGwpXX1dfWZ1bmN0aW9uXG5qVyhhKXtyZXR1cm5bMCxoTihhKV19ZnVuY3Rpb25cbm1tKGEsYixjKXtpZih0eXBlb2ZcbmM9PT1cIm51bWJlclwiKXJldHVyblswLGEsYl07aWYoMD09PWNbMF0pe3ZhclxuaD1jWzFdLGk9QyhhLGgpLG09Y1syXTtyZXR1cm4gMD09PWk/bT09PWI/YzpbMCxoLGJdOjA8PWk/WzEsMixhLGIsYywwXTpbMSwyLGEsYiwwLGNdfXZhclxuZD1jWzVdLGU9Y1s0XSxmPWNbM10sZz1jWzJdLGo9QyhhLGcpLG49Y1sxXTtpZigwPT09ailyZXR1cm4gZj09PWI/YzpbMSxuLGEsYixlLGRdO2lmKDA8PWope3Zhclxuaz1tbShhLGIsZCk7cmV0dXJuIGQ9PT1rP2M6Rl8oZSxnLGYsayl9dmFyXG5sPW1tKGEsYixlKTtyZXR1cm4gZT09PWw/YzpGXyhsLGcsZixkKX1mdW5jdGlvblxuU1coYSxiKXtpZih0eXBlb2ZcbmE9PT1cIm51bWJlclwiKXt2YXJcbmw9YTtpZig1Nzw9bClzd2l0Y2gobCl7Y2FzZVxuNTc6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNTc9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjU4OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjU4PT09YilyZXR1cm4gMDticmVhaztjYXNlXG41OTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY1OT09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuNjA6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNjA9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjYxOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjYxPT09YilyZXR1cm4gMDticmVhaztjYXNlXG42MjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY2Mj09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuNjM6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNjM9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjY0OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjY0PT09YilyZXR1cm4gMDticmVhaztjYXNlXG42NTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY2NT09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuNjY6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNjY9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjY3OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjY3PT09YilyZXR1cm4gMDticmVhaztjYXNlXG42ODppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY2OD09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuNjk6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNjk9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjcwOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjcwPT09YilyZXR1cm4gMDticmVhaztjYXNlXG43MTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY3MT09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuNzI6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNzI9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjczOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjczPT09YilyZXR1cm4gMDticmVhaztjYXNlXG43NDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY3ND09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuNzU6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNzU9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2Vcbjc2OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjc2PT09YilyZXR1cm4gMDticmVhaztjYXNlXG43NzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY3Nz09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuNzg6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNzg9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2Vcbjc5OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjc5PT09YilyZXR1cm4gMDticmVhaztjYXNlXG44MDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY4MD09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuODE6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmODE9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjgyOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjgyPT09YilyZXR1cm4gMDticmVhaztjYXNlXG44MzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY4Mz09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuODQ6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmODQ9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2Vcbjg1OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjg1PT09YilyZXR1cm4gMDticmVhaztjYXNlXG44NjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY4Nj09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuODc6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmODc9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2Vcbjg4OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjg4PT09YilyZXR1cm4gMDticmVhaztjYXNlXG44OTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY4OT09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuOTA6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmOTA9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjkxOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjkxPT09YilyZXR1cm4gMDticmVhaztjYXNlXG45MjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY5Mj09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuOTM6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmOTM9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2Vcbjk0OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjk0PT09YilyZXR1cm4gMDticmVhaztjYXNlXG45NTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY5NT09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuOTY6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmOTY9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2Vcbjk3OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjk3PT09YilyZXR1cm4gMDticmVhaztjYXNlXG45ODppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY5OD09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuOTk6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmOTk9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjEwMDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZhbj09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMTAxOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJmJ0PT09YilyZXR1cm4gMDticmVhaztjYXNlXG4xMDI6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmY0E9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjEwMzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZiZT09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMTA0OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJmJUPT09YilyZXR1cm4gMDticmVhaztjYXNlXG4xMDU6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmY2g9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjEwNjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZjZz09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMTA3OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJmFLPT09YilyZXR1cm4gMDticmVhaztjYXNlXG4xMDg6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmaFQ9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjEwOTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZkVj09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMTEwOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJmFaPT09YilyZXR1cm4gMDticmVhaztjYXNlXG4xMTE6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmYnM9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjExMjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZoWT09PWIpcmV0dXJuIDA7YnJlYWs7ZGVmYXVsdDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZibTw9YilyZXR1cm4gMH1lbHNlXG5zd2l0Y2gobCl7Y2FzZVxuMDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYhYilyZXR1cm4gMDticmVhaztjYXNlXG4xOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjE9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjI6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMj09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYzPT09YilyZXR1cm4gMDticmVhaztjYXNlXG40OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjQ9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjU6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNT09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuNjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY2PT09YilyZXR1cm4gMDticmVhaztjYXNlXG43OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjc9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2Vcbjg6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmOD09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuOTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY5PT09YilyZXR1cm4gMDticmVhaztjYXNlXG4xMDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYxMD09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMTE6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMTE9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjEyOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjEyPT09YilyZXR1cm4gMDticmVhaztjYXNlXG4xMzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYxMz09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMTQ6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMTQ9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjE1OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjE1PT09YilyZXR1cm4gMDticmVhaztjYXNlXG4xNjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYxNj09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMTc6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMTc9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjE4OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjE4PT09YilyZXR1cm4gMDticmVhaztjYXNlXG4xOTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYxOT09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMjA6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMjA9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjIxOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjIxPT09YilyZXR1cm4gMDticmVhaztjYXNlXG4yMjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYyMj09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMjM6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMjM9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjI0OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjI0PT09YilyZXR1cm4gMDticmVhaztjYXNlXG4yNTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYyNT09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMjY6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMjY9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjI3OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjI3PT09YilyZXR1cm4gMDticmVhaztjYXNlXG4yODppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYyOD09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMjk6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMjk9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjMwOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjMwPT09YilyZXR1cm4gMDticmVhaztjYXNlXG4zMTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYzMT09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMzI6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMzI9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjMzOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjMzPT09YilyZXR1cm4gMDticmVhaztjYXNlXG4zNDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYzND09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMzU6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMzU9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjM2OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjM2PT09YilyZXR1cm4gMDticmVhaztjYXNlXG4zNzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYzNz09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMzg6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMzg9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjM5OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjM5PT09YilyZXR1cm4gMDticmVhaztjYXNlXG40MDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY0MD09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuNDE6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNDE9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjQyOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjQyPT09YilyZXR1cm4gMDticmVhaztjYXNlXG40MzppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY0Mz09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuNDQ6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNDQ9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjQ1OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjQ1PT09YilyZXR1cm4gMDticmVhaztjYXNlXG40NjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY0Nj09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuNDc6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNDc9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjQ4OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjQ4PT09YilyZXR1cm4gMDticmVhaztjYXNlXG40OTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY0OT09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuNTA6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNTA9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjUxOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjUxPT09YilyZXR1cm4gMDticmVhaztjYXNlXG41MjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY1Mj09PWIpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuNTM6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNTM9PT1iKXJldHVybiAwO2JyZWFrO2Nhc2VcbjU0OmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjU0PT09YilyZXR1cm4gMDticmVhaztjYXNlXG41NTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY1NT09PWIpcmV0dXJuIDA7YnJlYWs7ZGVmYXVsdDppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY1Nj09PWIpcmV0dXJuIDB9fWVsc2VcbnN3aXRjaChhWzBdKXtjYXNlXG4wOmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjA9PT1iWzBdKXt2YXJcbkg9YlsxXSxJPWFbMV07cmV0dXJuIGooaShjWzQzXSwwKSxJLEgpfWJyZWFrO2Nhc2VcbjE6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmMT09PWJbMF0pe3ZhclxuSj1iWzFdLEs9YVsxXTtyZXR1cm4gaihpKGNbNDJdLDApLEssSil9YnJlYWs7Y2FzZVxuMjppZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiYyPT09YlswXSl7dmFyXG5MPWJbMl0sTT1iWzFdLE49YVsyXSxPPWFbMV0sbj1qKGkoY1s0MV0sMCksTyxNKTtyZXR1cm4gMD09PW4/aihpKGNbNDBdLDApLE4sTCk6bn1icmVhaztjYXNlXG4zOmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjM9PT1iWzBdKXt2YXJcblA9YlsyXSxRPWJbMV0sUj1hWzJdLFM9YVsxXSxvPWooaShjWzM5XSwwKSxTLFEpO3JldHVybiAwPT09bz9qKGkoY1szOF0sMCksUixQKTpvfWJyZWFrO2Nhc2VcbjQ6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmND09PWJbMF0pe3ZhclxuVD1iWzJdLFU9YlsxXSxXPWFbMl0sWD1hWzFdLHA9aihpKGNbMzddLDApLFgsVSk7cmV0dXJuIDA9PT1wP2ooaShjWzM2XSwwKSxXLFQpOnB9YnJlYWs7Y2FzZVxuNTppZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiY1PT09YlswXSl7dmFyXG5ZPWJbMV0sWj1hWzFdO3JldHVybiBqKGkoY1szNV0sMCksWixZKX1icmVhaztjYXNlXG42OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjY9PT1iWzBdKXt2YXJcbl89YlsxXSwkPWFbMV07cmV0dXJuIGooaShjWzM0XSwwKSwkLF8pfWJyZWFrO2Nhc2Vcbjc6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmNz09PWJbMF0pe3ZhclxuZj1iWzJdLHE9YVsyXSxhYT1iWzFdLGFjPWFbMV0scj1qKGkoY1szM10sMCksYWMsYWEpO2lmKDAhPT1yKXJldHVybiByO2lmKCFxKXJldHVybiBmPy0xOjA7dmFyXG5hZD1xWzFdO2lmKCFmKXJldHVybiAxO3ZhclxuYWU9ZlsxXTtyZXR1cm4gaihpKGNbMzJdLDApLGFkLGFlKX1icmVhaztjYXNlXG44OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjg9PT1iWzBdKXt2YXJcbmFmPWJbMV0sYWc9YVsxXTtyZXR1cm4gaihpKGNbMzFdLDApLGFnLGFmKX1icmVhaztjYXNlXG45OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjk9PT1iWzBdKXt2YXJcbmc9YlsyXSxzPWFbMl0sYWg9YlszXSxhaj1iWzFdLGFrPWFbM10sYWw9YVsxXSx0PWooaShjWzMwXSwwKSxhbCxhaik7aWYoMCE9PXQpcmV0dXJuIHQ7aWYocyl2YXJcbmFtPXNbMV0saD1nP2ooY1syOV0sYW0sZ1sxXSk6MTtlbHNlXG52YXJcbmg9Zz8tMTowO3JldHVybiAwPT09aD9qKGkoY1syOF0sMCksYWssYWgpOmh9YnJlYWs7Y2FzZVxuMTA6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmMTA9PT1iWzBdKXt2YXJcbmFvPWJbMl0sYXA9YlsxXSxhcT1hWzJdLGFyPWFbMV0sdT1qKGkoY1syN10sMCksYXIsYXApO3JldHVybiAwPT09dT9qKGkoY1syNl0sMCksYXEsYW8pOnV9YnJlYWs7Y2FzZVxuMTE6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmMTE9PT1iWzBdKXt2YXJcbmFzPWJbMl0sYXQ9YlsxXSxhdT1hWzJdLGF2PWFbMV0sdj1qKGkoY1syNV0sMCksYXYsYXQpO3JldHVybiAwPT09dj9qKGkoY1syNF0sMCksYXUsYXMpOnZ9YnJlYWs7Y2FzZVxuMTI6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmMTI9PT1iWzBdKXt2YXJcbmF3PWJbMV0sYXg9YVsxXTtyZXR1cm4gaihpKGNbMjNdLDApLGF4LGF3KX1icmVhaztjYXNlXG4xMzppZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiYxMz09PWJbMF0pe3ZhclxuYXk9YlsxXSxhej1hWzFdO3JldHVybiBqKGkoY1syMl0sMCksYXosYXkpfWJyZWFrO2Nhc2VcbjE0OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjE0PT09YlswXSl7dmFyXG5hQj1iWzFdLGFDPWFbMV07cmV0dXJuIGooaShjWzIxXSwwKSxhQyxhQil9YnJlYWs7Y2FzZVxuMTU6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmMTU9PT1iWzBdKXt2YXJcbmFEPWJbNF0sYUU9YlszXSxhRj1iWzJdLGFHPWJbMV0sYUg9YVs0XSxhST1hWzNdLGFKPWFbMl0sYUw9YVsxXSx3PWooaShjWzIwXSwwKSxhTCxhRyk7aWYoMCE9PXcpcmV0dXJuIHc7dmFyXG54PWooaShjWzE5XSwwKSxhSixhRik7aWYoMCE9PXgpcmV0dXJuIHg7dmFyXG55PWooaShjWzE4XSwwKSxhSSxhRSk7cmV0dXJuIDA9PT15P2ooaShjWzE3XSwwKSxhSCxhRCk6eX1icmVhaztjYXNlXG4xNjppZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiYxNj09PWJbMF0pe3ZhclxuYU09YlsxXSxhTj1hWzFdO3JldHVybiBqKGkoY1sxNl0sMCksYU4sYU0pfWJyZWFrO2Nhc2VcbjE3OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjE3PT09YlswXSl7dmFyXG5hTz1iWzJdLGFQPWJbMV0sYVE9YVsyXSxhUj1hWzFdLHo9aihpKGNbMTVdLDApLGFSLGFQKTtyZXR1cm4gMD09PXo/aihpKGNbMTRdLDApLGFRLGFPKTp6fWJyZWFrO2Nhc2VcbjE4OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjE4PT09YlswXSl7dmFyXG5hUz1iWzFdLGFUPWFbMV07cmV0dXJuIGooaShjWzEzXSwwKSxhVCxhUyl9YnJlYWs7Y2FzZVxuMTk6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmMTk9PT1iWzBdKXt2YXJcbmFVPWJbMV0sYVY9YVsxXTtyZXR1cm4gaihpKGNbMTJdLDApLGFWLGFVKX1icmVhaztjYXNlXG4yMDppZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiYyMD09PWJbMF0pe3ZhclxuZT1iWzFdLEE9YVsxXTtpZihsTDw9QSl7aWYodHlwZW9mXG5lPT09XCJudW1iZXJcIiYmbEw9PT1lKXJldHVybiAwfWVsc2UgaWYodHlwZW9mXG5lPT09XCJudW1iZXJcIiYmS0E9PT1lKXJldHVybiAwO3ZhclxuQj1mdW5jdGlvbihhKXtyZXR1cm4gbEw8PWE/MTowfSxhVz1CKGUpO3JldHVybiBiVihCKEEpLGFXKX1icmVhaztjYXNlXG4yMTppZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiYyMT09PWJbMF0pe3ZhclxuYVg9YlsxXSxhWT1hWzFdO3JldHVybiBqKGkoY1sxMV0sMCksYVksYVgpfWJyZWFrO2Nhc2VcbjIyOmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjIyPT09YlswXSl7dmFyXG5hMD1iWzFdLGExPWFbMV07cmV0dXJuIGooaShjWzEwXSwwKSxhMSxhMCl9YnJlYWs7Y2FzZVxuMjM6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmMjM9PT1iWzBdKXt2YXJcbmEyPWJbMl0sYTM9YlsxXSxhND1hWzJdLGE1PWFbMV0sQz1qKGkoY1s5XSwwKSxhNSxhMyk7cmV0dXJuIDA9PT1DP2ooaShjWzhdLDApLGE0LGEyKTpDfWJyZWFrO2Nhc2VcbjI0OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjI0PT09YlswXSl7dmFyXG5kPWJbMV0saz1hWzFdO2lmKGxHPT09ayl7aWYodHlwZW9mXG5kPT09XCJudW1iZXJcIiYmbEc9PT1kKXJldHVybiAwfWVsc2VcbmlmKGxKPD1rKXtpZih0eXBlb2ZcbmQ9PT1cIm51bWJlclwiJiZsSj09PWQpcmV0dXJuIDB9ZWxzZSBpZih0eXBlb2ZcbmQ9PT1cIm51bWJlclwiJiZLYT09PWQpcmV0dXJuIDA7dmFyXG5EPWZ1bmN0aW9uKGEpe3JldHVybiBsRz09PWE/MDpsSjw9YT8yOjF9LGE2PUQoZCk7cmV0dXJuIGJWKEQoayksYTYpfWJyZWFrO2Nhc2VcbjI1OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjI1PT09YlswXSl7dmFyXG5hNz1iWzFdLGE4PWFbMV07cmV0dXJuIGooaShjWzddLDApLGE4LGE3KX1icmVhaztjYXNlXG4yNjppZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiYyNj09PWJbMF0pe3ZhclxuYTk9YlsxXSxhXz1hWzFdO3JldHVybiBqKGkoY1s2XSwwKSxhXyxhOSl9YnJlYWs7Y2FzZVxuMjc6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmMjc9PT1iWzBdKXt2YXJcbmEkPWJbMl0sYmE9YlsxXSxiYj1hWzJdLGJjPWFbMV0sRT1qKGkoY1s1XSwwKSxiYyxiYSk7cmV0dXJuIDA9PT1FP2ooaShjWzRdLDApLGJiLGEkKTpFfWJyZWFrO2Nhc2VcbjI4OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjI4PT09YlswXSl7dmFyXG5iZD1iWzJdLGJmPWJbMV0sYmc9YVsyXSxiaD1hWzFdLEY9aihpKGNbM10sMCksYmgsYmYpO3JldHVybiAwPT09Rj9qKGkoY1syXSwwKSxiZyxiZCk6Rn1icmVhaztkZWZhdWx0OmlmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjI5PT09YlswXSl7dmFyXG5iaT1iWzFdLGJqPWFbMV07cmV0dXJuIGooaShjWzFdLDApLGJqLGJpKX19ZnVuY3Rpb25cbm0oYSl7aWYodHlwZW9mXG5hIT09XCJudW1iZXJcIilzd2l0Y2goYVswXSl7Y2FzZVxuMDpyZXR1cm4gMTY7Y2FzZVxuMTpyZXR1cm4gMTc7Y2FzZVxuMjpyZXR1cm4gMTk7Y2FzZVxuMzpyZXR1cm4gMjA7Y2FzZVxuNDpyZXR1cm4gMjE7Y2FzZVxuNTpyZXR1cm4gMjI7Y2FzZVxuNjpyZXR1cm4gMjM7Y2FzZVxuNzpyZXR1cm4gMjQ7Y2FzZVxuODpyZXR1cm4gMjY7Y2FzZVxuOTpyZXR1cm4gMjc7Y2FzZVxuMTA6cmV0dXJuIDI4O2Nhc2VcbjExOnJldHVybiAzMDtjYXNlXG4xMjpyZXR1cm4gMzE7Y2FzZVxuMTM6cmV0dXJuIDMzO2Nhc2VcbjE0OnJldHVybiAzNjtjYXNlXG4xNTpyZXR1cm4gNDg7Y2FzZVxuMTY6cmV0dXJuIDUwO2Nhc2VcbjE3OnJldHVybiA1MTtjYXNlXG4xODpyZXR1cm4gNTM7Y2FzZVxuMTk6cmV0dXJuIDYxO2Nhc2VcbjIwOnJldHVybiA2OTtjYXNlXG4yMTpyZXR1cm4gNzM7Y2FzZVxuMjI6cmV0dXJuIDgyO2Nhc2VcbjIzOnJldHVybiA4OTtjYXNlXG4yNDpyZXR1cm4gZFY7Y2FzZVxuMjU6cmV0dXJuIGxQO2Nhc2VcbjI2OnJldHVybiBraztjYXNlXG4yNzpyZXR1cm4ganM7Y2FzZVxuMjg6cmV0dXJuIEo3O2RlZmF1bHQ6cmV0dXJuIHY4fXZhclxuYj1hO2lmKDU3PD1iKXN3aXRjaChiKXtjYXNlXG41NzpyZXR1cm4gNzk7Y2FzZVxuNTg6cmV0dXJuIDgwO2Nhc2VcbjU5OnJldHVybiA4MTtjYXNlXG42MDpyZXR1cm4gODM7Y2FzZVxuNjE6cmV0dXJuIDg0O2Nhc2VcbjYyOnJldHVybiA4NTtjYXNlXG42MzpyZXR1cm4gODY7Y2FzZVxuNjQ6cmV0dXJuIDg3O2Nhc2VcbjY1OnJldHVybiA4ODtjYXNlXG42NjpyZXR1cm4gOTA7Y2FzZVxuNjc6cmV0dXJuIDkxO2Nhc2VcbjY4OnJldHVybiA5MjtjYXNlXG42OTpyZXR1cm4gOTM7Y2FzZVxuNzA6cmV0dXJuIDk0O2Nhc2VcbjcxOnJldHVybiA5NTtjYXNlXG43MjpyZXR1cm4gOTY7Y2FzZVxuNzM6cmV0dXJuIDk3O2Nhc2Vcbjc0OnJldHVybiA5ODtjYXNlXG43NTpyZXR1cm4gOTk7Y2FzZVxuNzY6cmV0dXJuIGFuO2Nhc2Vcbjc3OnJldHVybiBidDtjYXNlXG43ODpyZXR1cm4gY0E7Y2FzZVxuNzk6cmV0dXJuIGJlO2Nhc2VcbjgwOnJldHVybiBiVDtjYXNlXG44MTpyZXR1cm4gY2g7Y2FzZVxuODI6cmV0dXJuIGNnO2Nhc2VcbjgzOnJldHVybiBhSztjYXNlXG44NDpyZXR1cm4gaFQ7Y2FzZVxuODU6cmV0dXJuIGFaO2Nhc2Vcbjg2OnJldHVybiBicztjYXNlXG44NzpyZXR1cm4gaFk7Y2FzZVxuODg6cmV0dXJuIGJtO2Nhc2Vcbjg5OnJldHVybiBWO2Nhc2VcbjkwOnJldHVybiBqcDtjYXNlXG45MTpyZXR1cm4gaXY7Y2FzZVxuOTI6cmV0dXJuIGxzO2Nhc2VcbjkzOnJldHVybiBlbztjYXNlXG45NDpyZXR1cm4gbHk7Y2FzZVxuOTU6cmV0dXJuIGFpO2Nhc2Vcbjk2OnJldHVybiBjeDtjYXNlXG45NzpyZXR1cm4ga2M7Y2FzZVxuOTg6cmV0dXJuIGlHO2Nhc2Vcbjk5OnJldHVybiBvTztjYXNlXG4xMDA6cmV0dXJuIGFiO2Nhc2VcbjEwMTpyZXR1cm4gYUE7Y2FzZVxuMTAyOnJldHVybiBsSDtjYXNlXG4xMDM6cmV0dXJuIGxyO2Nhc2VcbjEwNDpyZXR1cm4gcHU7Y2FzZVxuMTA1OnJldHVybiBvUDtjYXNlXG4xMDY6cmV0dXJuIEt6O2Nhc2VcbjEwNzpyZXR1cm4gSkE7Y2FzZVxuMTA4OnJldHVybiBLMjtjYXNlXG4xMDk6cmV0dXJuIExLO2Nhc2VcbjExMDpyZXR1cm4gSm07Y2FzZVxuMTExOnJldHVybiBLeTtjYXNlXG4xMTI6cmV0dXJuIEpmO2RlZmF1bHQ6cmV0dXJuIEx2fXN3aXRjaChiKXtjYXNlXG4wOnJldHVybiAwO2Nhc2VcbjE6cmV0dXJuIDE7Y2FzZVxuMjpyZXR1cm4gMjtjYXNlXG4zOnJldHVybiAzO2Nhc2VcbjQ6cmV0dXJuIDQ7Y2FzZVxuNTpyZXR1cm4gNTtjYXNlXG42OnJldHVybiA2O2Nhc2Vcbjc6cmV0dXJuIDc7Y2FzZVxuODpyZXR1cm4gODtjYXNlXG45OnJldHVybiA5O2Nhc2VcbjEwOnJldHVybiAxMDtjYXNlXG4xMTpyZXR1cm4gMTE7Y2FzZVxuMTI6cmV0dXJuIDEyO2Nhc2VcbjEzOnJldHVybiAxMztjYXNlXG4xNDpyZXR1cm4gMTQ7Y2FzZVxuMTU6cmV0dXJuIDE1O2Nhc2VcbjE2OnJldHVybiAxODtjYXNlXG4xNzpyZXR1cm4gMjU7Y2FzZVxuMTg6cmV0dXJuIDI5O2Nhc2VcbjE5OnJldHVybiAzMjtjYXNlXG4yMDpyZXR1cm4gMzQ7Y2FzZVxuMjE6cmV0dXJuIDM1O2Nhc2VcbjIyOnJldHVybiAzNztjYXNlXG4yMzpyZXR1cm4gMzg7Y2FzZVxuMjQ6cmV0dXJuIDM5O2Nhc2VcbjI1OnJldHVybiA0MDtjYXNlXG4yNjpyZXR1cm4gNDE7Y2FzZVxuMjc6cmV0dXJuIDQyO2Nhc2VcbjI4OnJldHVybiA0MztjYXNlXG4yOTpyZXR1cm4gNDQ7Y2FzZVxuMzA6cmV0dXJuIDQ1O2Nhc2VcbjMxOnJldHVybiA0NjtjYXNlXG4zMjpyZXR1cm4gNDc7Y2FzZVxuMzM6cmV0dXJuIDQ5O2Nhc2VcbjM0OnJldHVybiA1MjtjYXNlXG4zNTpyZXR1cm4gNTQ7Y2FzZVxuMzY6cmV0dXJuIDU1O2Nhc2VcbjM3OnJldHVybiA1NjtjYXNlXG4zODpyZXR1cm4gNTc7Y2FzZVxuMzk6cmV0dXJuIDU4O2Nhc2VcbjQwOnJldHVybiA1OTtjYXNlXG40MTpyZXR1cm4gNjA7Y2FzZVxuNDI6cmV0dXJuIDYyO2Nhc2VcbjQzOnJldHVybiA2MztjYXNlXG40NDpyZXR1cm4gNjQ7Y2FzZVxuNDU6cmV0dXJuIDY1O2Nhc2VcbjQ2OnJldHVybiA2NjtjYXNlXG40NzpyZXR1cm4gNjc7Y2FzZVxuNDg6cmV0dXJuIDY4O2Nhc2VcbjQ5OnJldHVybiA3MDtjYXNlXG41MDpyZXR1cm4gNzE7Y2FzZVxuNTE6cmV0dXJuIDcyO2Nhc2VcbjUyOnJldHVybiA3NDtjYXNlXG41MzpyZXR1cm4gNzU7Y2FzZVxuNTQ6cmV0dXJuIDc2O2Nhc2VcbjU1OnJldHVybiA3NztkZWZhdWx0OnJldHVybiA3OH19dmFyXG5HPW0oYik7cmV0dXJuIGJWKG0oYSksRyl9dmFyXG5zWT1HYShbMCxmdW5jdGlvbihhLGIpe3ZhclxuZD1iWzJdLGU9YVsyXSxjPUdnKGFbMV0sYlsxXSk7cmV0dXJuIDA9PT1jP1NXKGUsZCk6Y31dKTtmdW5jdGlvblxubGgoYSxiLGMpe3ZhclxuZD1jWzJdWzFdLGU9Y1sxXTtyZXR1cm4gWChkLEEpP2I6YTdbM10uY2FsbChudWxsLGQsYik/KHUoYSxbMCxlLFswLGRdXSksYik6YTdbNF0uY2FsbChudWxsLGQsYil9ZnVuY3Rpb25cbnNaKGMpe3JldHVybiBmdW5jdGlvbihhKXt2YXJcbmI9YVsyXTtzd2l0Y2goYlswXSl7Y2FzZVxuMDpyZXR1cm4gYVYoZnVuY3Rpb24oYSxiKXt2YXJcbmM9MD09PWJbMF0/YlsxXVsyXVsyXTpiWzFdWzJdWzFdO3JldHVybiBzWihhKShjKX0sYyxiWzFdWzFdKTtjYXNlXG4xOnJldHVybiBhVihmdW5jdGlvbihhLGIpe2lmKDI9PT1iWzBdKXJldHVybiBhO3ZhclxuYz1iWzFdWzJdWzFdO3JldHVybiBzWihhKShjKX0sYyxiWzFdWzFdKTtjYXNlXG4yOnJldHVyblswLGJbMV1bMV0sY107ZGVmYXVsdDpyZXR1cm4gRShha2QpfX19dmFyXG52PUZTKGFrZyxha2ZbMV0pO2Z1bmN0aW9uXG5tMihhLGIsYyl7dmFyXG5uPWE/YVsxXTowLGc9Yj9iWzFdOjAsZD15KGMpLGU9bShjKTtpZih0eXBlb2ZcbmU9PT1cIm51bWJlclwiKXN3aXRjaChlKXtjYXNlXG4xMDQ6dmFyXG5vPXIoYyk7cyhjKTtyZXR1cm5bMCxbMCxkLFswLDAscChbMCxvXSwwLGwpXV1dO2Nhc2VcbjEwNTp2YXJcbnE9cihjKTtzKGMpO3JldHVyblswLFswLGQsWzAsMSxwKFswLHFdLDAsbCldXV07Y2FzZVxuMTI3OmlmKG4pe3ZhclxudD1yKGMpO3MoYyk7cmV0dXJuWzAsWzAsZCxbMCwyLHAoWzAsdF0sMCxsKV1dXX1icmVha31lbHNlIGlmKDQ9PT1lWzBdKXt2YXJcbmg9ZVszXTtpZihrKGgsaUUpKXtpZighayhoLHVYKSYmZyYmbVUoMSxjKSl7dmFyXG51PXIoYyk7cyhjKTtyZXR1cm5bMCxbMCxkLFswLDQscChbMCx1XSwwLGwpXV1dfX1lbHNlIGlmKGcmJm1VKDEsYykpe3Zhclxudj1yKGMpO3MoYyk7dmFyXG5mPW0oYyk7YTp7aWYodHlwZW9mXG5mIT09XCJudW1iZXJcIiYmND09PWZbMF0mJiFrKGZbM10sdVgpKXt2YXJcbnc9eShjKTtzKGMpO3Zhclxuaj0kKGQsdyksaT01O2JyZWFrIGF9dmFyXG5qPWQsaT0zfXJldHVyblswLFswLGosWzAsaSxwKFswLHZdLDAsbCldXV19fXJldHVybiAwfWZ1bmN0aW9uXG5IaihhLGIsYyxkLGUpe2lmKDE9PT1iKWJDKGUsNzcpO3ZhclxuZj1yKGUpO3MoZSk7dmFyXG5nPXQoZSk7aWYoYSl2YXJcbms9cChbMCxJKGFbMV0sZildLFswLGddLGwpLGo9ayxpPUooYWZ5LGQpLGg9LWM7ZWxzZVxudmFyXG5qPXAoWzAsZl0sWzAsZ10sbCksaT1kLGg9YztyZXR1cm5bMzAsWzAsaCxpLGpdXX1mdW5jdGlvblxuSGsoYSxiLGMsZCl7dmFyXG5lPXIoZCk7cyhkKTt2YXJcbmY9dChkKTtpZihhKXZhclxuaj1wKFswLEkoYVsxXSxlKV0sWzAsZl0sbCksaz1KKGFmeixjKSxpPWosaD1rLGc9bDcoRUIsYik7ZWxzZVxudmFyXG5pPXAoWzAsZV0sWzAsZl0sbCksaD1jLGc9YjtyZXR1cm5bMzEsWzAsZyxoLGldXX12YXJcbkhsPVtdLEhtPVtdLEhuPVtdLEhvPVtdLEhwPVtdLEhxPVtdLEhyPVtdLEhzPVtdLEh0PVtdLEh1PVtdLEh2PVtdO2Z1bmN0aW9uXG5hZihhKXt2YXJcbmM9eShhKSxiPXNiKDAsYSk7cmV0dXJuIEh3KGIsYyxzbChiKSl9ZnVuY3Rpb25cbms0KGEpe2lmKDEtYXEoYSkpSyhhLGJlKTtyZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe24oYSw4Nyk7cmV0dXJuIGFmKGEpfSxhKX1mdW5jdGlvblxuSHcoYSxiLGMpe3ZhclxuZD1tKGEpO2lmKHR5cGVvZlxuZD09PVwibnVtYmVyXCImJjQyPT09ZClyZXR1cm4gcShbMCxiXSxmdW5jdGlvbihhKXtuKGEsNDIpO3ZhclxuYj1zbChzYigxLGEpKTttWChhLDg2KTt2YXJcbmQ9YWYoYSk7bVgoYSw4Nyk7dmFyXG5lPWFmKGEpO3JldHVyblsxNyxbMCxjLGIsZCxlLHAoMCxbMCx0KGEpXSxsKV1dfSxhKTtyZXR1cm4gY31mdW5jdGlvblxuc2woYSl7dmFyXG5jPXkoYSk7aWYoOTA9PT1tKGEpKXt2YXJcbmQ9cihhKTtzKGEpO3ZhclxuYj1kfWVsc2VcbnZhclxuYj0wO3JldHVybiBIeChhLFswLGJdLGMsSHkoYSkpfWZ1bmN0aW9uXG5IeChhLGIsYyxkKXt2YXJcbmU9Yj9iWzFdOjA7cmV0dXJuIDkwPT09bShhKT9xKFswLGNdLGooSGxbMV0sZSxbMCxkLDBdKSxhKTpkfWZ1bmN0aW9uXG5IeShhKXt2YXJcbmM9eShhKTtpZig5Mj09PW0oYSkpe3ZhclxuZD1yKGEpO3MoYSk7dmFyXG5iPWR9ZWxzZVxudmFyXG5iPTA7cmV0dXJuIEh6KGEsWzAsYl0sYyxIQShhKSl9ZnVuY3Rpb25cbkh6KGEsYixjLGQpe3ZhclxuZT1iP2JbMV06MDtyZXR1cm4gOTI9PT1tKGEpP3EoWzAsY10saihIbVsxXSxlLFswLGQsMF0pLGEpOmR9ZnVuY3Rpb25cbkhBKGEpe3JldHVybiBIQihhLHNtKGEpKX1mdW5jdGlvblxuSEIoYSxiKXt2YXJcbmQ9bShhKTtpZih0eXBlb2ZcbmQ9PT1cIm51bWJlclwiJiYxMT09PWQmJiFhWzE1XSl7dmFyXG5jPW0zKGEsYik7cmV0dXJuIG01KDEsYSxjWzFdLDAsWzAsY1sxXSxbMCwwLFswLGMsMF0sMCwwXV0pfXJldHVybiBifWZ1bmN0aW9uXG5zbShhKXt2YXJcbmI9bShhKTtpZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY4Nj09PWIpcmV0dXJuIHEoMCxmdW5jdGlvbihhKXt2YXJcbmI9cihhKTtuKGEsODYpO3ZhclxuYz1wKFswLGJdLDAsbCk7cmV0dXJuWzExLFswLHNtKGEpLGNdXX0sYSk7dmFyXG5jPXkoYSk7cmV0dXJuIEhDKDAsYSxjLGFmQShhKSl9ZnVuY3Rpb25cbnM2KGEsYixjLGQsZSl7dmFyXG5mPWI/YlsxXTowO2lmKGE4KGMpKXJldHVybiBlO3ZhclxuZz1tKGMpO2lmKHR5cGVvZlxuZz09PVwibnVtYmVyXCIpe2lmKDY9PT1nKXtzKGMpO3ZhclxuaD0wO3JldHVybiBhPDUwP2oyKGErMXwwLGYsaCxjLGQsZSk6YUgoajIsWzAsZixoLGMsZCxlXSl9aWYoMTA9PT1nKXt2YXJcbmk9TigxLGMpO2lmKHR5cGVvZlxuaT09PVwibnVtYmVyXCImJjY9PT1pKXtLKGMsYWZIKTtuKGMsMTApO24oYyw2KTt2YXJcbmo9MDtyZXR1cm4gYTw1MD9qMihhKzF8MCxmLGosYyxkLGUpOmFIKGoyLFswLGYsaixjLGQsZV0pfUsoYyxhZkkpO3JldHVybiBlfWlmKDg0PT09Zyl7cyhjKTtpZig2IT09bShjKSlLKGMsNDApO24oYyw2KTt2YXJcbms9MSxsPTE7cmV0dXJuIGE8NTA/ajIoYSsxfDAsbCxrLGMsZCxlKTphSChqMixbMCxsLGssYyxkLGVdKX19cmV0dXJuIGV9ZnVuY3Rpb25cbkhDKGEsYixjLGQpe3JldHVybiByZShzNigwLGEsYixjLGQpKX1mdW5jdGlvblxuajIoYSxiLGMsZCxlLGYpe3ZhclxuZz1xKFswLGVdLGZ1bmN0aW9uKGEpe2lmKCFjJiZhZyhhLDcpKXJldHVyblsxNixbMCxmLHAoMCxbMCx0KGEpXSxsKV1dO3ZhclxuZT1hZihhKTtuKGEsNyk7dmFyXG5kPVswLGYsZSxwKDAsWzAsdChhKV0sbCldO3JldHVybiBiP1syMSxbMCxkLGNdXTpbMjAsZF19LGQpLGg9WzAsYl07cmV0dXJuIGE8NTA/czYoYSsxfDAsaCxkLGUsZyk6YUgoczYsWzAsaCxkLGUsZ10pfWZ1bmN0aW9uXG5IRChhKXthRihhLDApO2lmKDQ9PT1tKGEpKXtzKGEpO3ZhclxuZD1IRChhKTtuKGEsNSk7dmFyXG5iPWR9ZWxzZSBpZihjcihhKSl2YXJcbmM9aih2WzEzXSwwLGEpLGI9WzAsaihIblsxXSxhLFswLGNbMV0sWzAsY11dKV07ZWxzZXtLKGEsNDUpO3ZhclxuYj0wfWFJKGEpO3JldHVybiBifWZ1bmN0aW9uXG5hZkEoYSl7dmFyXG5jPXkoYSksYj1tKGEpO2E6e2I6e2lmKHR5cGVvZlxuYj09PVwibnVtYmVyXCIpc3dpdGNoKGIpe2Nhc2VcbjQ6dmFyXG5PPXkoYSksdj1xKDAsYWZELGEpLGc9dlsyXSxQPXZbMV07cmV0dXJuIDA9PT1nWzBdP201KDEsYSxPLDAsWzAsUCxnWzFdXSk6Z1sxXTtjYXNlXG42OnJldHVybiBxKDAsZnVuY3Rpb24oYSl7dmFyXG5jPXIoYSk7bihhLDYpO3ZhclxuZD1pVygwLGEpLGI9aihIb1sxXSxkLDApLGU9YlsyXSxmPWJbMV07bihhLDcpO3JldHVyblsyOCxbMCxmLGUscChbMCxjXSxbMCx0KGEpXSxsKV1dfSxhKTtjYXNlXG40NzpyZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe3ZhclxuYz1yKGEpO24oYSw0Nyk7dmFyXG5iPUhEKGEpO2lmKCFiKXJldHVybiBhZko7dmFyXG5kPWJbMV0sZT1hOChhKT8wOnNxKGEpO3JldHVyblsyNCxbMCxkLGUscChbMCxjXSwwLGwpXV19LGEpO2Nhc2VcbjU0OnJldHVybiBxKDAsZnVuY3Rpb24oYSl7dmFyXG5jPXIoYSk7cyhhKTt2YXJcbmI9SEooYSksZD1iWzJdLGU9YlsxXTtyZXR1cm5bMTUsWzAsZCxlLHAoWzAsY10sMCxsKV1dfSxhKTtjYXNlXG45OTp2YXJcblE9eShhKSxSPWJoKGEsaTIoYSkpO3JldHVybiBtNSgxLGEsUSxSLG00KGEpKTtjYXNlXG4xMDU6cmV0dXJuIHEoMCxhZkIsYSk7Y2FzZVxuMTA3OnZhclxuej1yKGEpO3MoYSk7cmV0dXJuWzAsYyxbMTAscChbMCx6XSxbMCx0KGEpXSxsKV1dO2Nhc2VcbjEyNjpyZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe3ZhclxuYj1yKGEpO3MoYSk7dmFyXG5jPXQoYSksZD1hZihhKTtyZXR1cm5bMjUsWzAsZCxwKFswLGJdLFswLGNdLGwpXV19LGEpO2Nhc2VcbjEyNzpyZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe3ZhclxuYj1yKGEpO3MoYSk7dmFyXG5jPXQoYSksZD1hZihhKTtyZXR1cm5bMjcsWzAsZCxwKFswLGJdLFswLGNdLGwpXV19LGEpO2Nhc2VcbjEyODpyZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe3ZhclxuYj1yKGEpO3MoYSk7dmFyXG5jPXQoYSksZD1xKDAsZnVuY3Rpb24oYSl7dmFyXG5iPWkxKGEpO3JldHVyblswLGIsbVkoYSxbMCx5KGEpXSxmdW5jdGlvbihhKXtpZigxLWFnKGEsNDIpKXRocm93IHgoY1EsMSk7dmFyXG5iPXNsKGEpO2lmKCFhWzE2XSYmODY9PT1tKGEpKXRocm93IHgoY1EsMSk7cmV0dXJuWzEsWzAsYlsxXSxiXV19KSwxLDAsMF19LGEpO3JldHVyblsxOCxbMCxkLHAoWzAsYl0sWzAsY10sbCldXX0sYSk7Y2FzZVxuMDpjYXNlXG4yOnZhclxuaD1zcCgwLDEsMSxhKTtyZXR1cm5bMCxoWzFdLFsxNCxoWzJdXV07Y2FzZVxuMTMyOmNhc2VcbjEzMzpicmVhayBiO2Nhc2VcbjQyOmNhc2VcbjQzOmJyZWFrO2Nhc2VcbjMxOmNhc2VcbjMyOnZhclxudz1yKGEpO3MoYSk7cmV0dXJuWzAsYyxbMzIsWzAsMzI9PT1iPzE6MCxwKFswLHddLFswLHQoYSldLGwpXV1dO2RlZmF1bHQ6YnJlYWsgYX1lbHNlXG5zd2l0Y2goYlswXSl7Y2FzZVxuMjp2YXJcbmQ9YlsxXSxBPWRbM10sQj1kWzJdLEM9ZFsxXTtpZihkWzRdKWJDKGEsNzcpO3ZhclxuRD1yKGEpO3MoYSk7cmV0dXJuWzAsQyxbMjksWzAsQixBLHAoWzAsRF0sWzAsdChhKV0sbCldXV07Y2FzZVxuNDp2YXJcbmU9YlszXTtpZihrKGUsaDApKXtpZihrKGUsaTgpKXtpZighayhlLGttKSlicmVhayBifWVsc2UgaWYoYVsyOF1bMV0pe3ZhclxuZj1OKDEsYSk7YzppZih0eXBlb2ZcbmY9PT1cIm51bWJlclwiKXtpZig0IT09ZiYmOTkhPT1mKWJyZWFrIGM7dmFyXG5TPXkoYSk7cyhhKTt2YXJcblQ9YmgoYSxpMihhKSk7cmV0dXJuIG01KDAsYSxTLFQsbTQoYSkpfXZhclxudT1tNihhKTtyZXR1cm5bMCx1WzFdLFsxOSx1WzJdXV19fWVsc2UgaWYoYVsyOF1bMV0pcmV0dXJuIHEoMCxmdW5jdGlvbihhKXt2YXJcbmU9cihhKTtjUChhLGFmTSk7dmFyXG5mPWJoKGEsaTIoYSkpLGI9SEYoYSk7aWYoc2goYSkpdmFyXG5kPXNqKGEsc3IoYSkpLGM9YjtlbHNlXG52YXJcbmc9c3IoYSksZD1nLGM9aihheChhKVsyXSxiLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooTChhLDQyMDc3Njg3MywxMiksYSxiKX0pO3JldHVyblsxMyxbMCxmLGMsZCxwKFswLGVdLDAsbCldXX0sYSk7YnJlYWs7Y2FzZVxuNzppZihrKGJbMV0sbHcpKWJyZWFrIGE7SyhhLDg1KTtyZXR1cm5bMCxjLGFmTl07Y2FzZVxuMTI6dmFyXG5FPWJbM10sRj1iWzJdLEc9YlsxXSxIPTA7cmV0dXJuIHEoMCxmdW5jdGlvbihhKXtyZXR1cm4gSGooSCxHLEYsRSxhKX0sYSk7Y2FzZVxuMTM6dmFyXG5JPWJbM10sSj1iWzJdLE09MDtyZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe3JldHVybiBIayhNLEosSSxhKX0sYSk7ZGVmYXVsdDpicmVhayBhfXZhclxubz1tNihhKTtyZXR1cm5bMCxvWzFdLFsxOSxvWzJdXV19cmV0dXJuIHEoMCxmdW5jdGlvbihhKXtyZXR1cm5bMjYsSEUoYSldfSxhKX12YXJcbmk9YWZDKGEpO3JldHVybiBpP1swLGMsaVsxXV06KGFrKGFmSyxhKSxbMCxjLGFmTF0pfWZ1bmN0aW9uXG5hZkIoYSl7dmFyXG5jPXIoYSk7cyhhKTt2YXJcbmI9bShhKTtpZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiKXN3aXRjaChiWzBdKXtjYXNlXG4xMjpyZXR1cm4gSGooWzAsY10sYlsxXSxiWzJdLGJbM10sYSk7Y2FzZVxuMTM6cmV0dXJuIEhrKFswLGNdLGJbMl0sYlszXSxhKX1hayhhZk8sYSk7cmV0dXJuIGFmUH1mdW5jdGlvblxuc24oYSxiKXt2YXJcbmM9cihhKSxkPXEoMCxzLGEpWzFdLGU9cChbMCxjXSxbMCx0KGEpXSxsKTtyZXR1cm5bMCxbMTksWzAsWzAsY3AoMCxbMCxkLGJdKV0sMCxlXV1dfWZ1bmN0aW9uXG5hZkMoYSl7dmFyXG5iPXIoYSksYz1tKGEpO2lmKHR5cGVvZlxuYz09PVwibnVtYmVyXCIpc3dpdGNoKGMpe2Nhc2VcbjMwOnMoYSk7cmV0dXJuWzAsWzQscChbMCxiXSxbMCx0KGEpXSxsKV1dO2Nhc2VcbjExNTpzKGEpO3JldHVyblswLFswLHAoWzAsYl0sWzAsdChhKV0sbCldXTtjYXNlXG4xMTY6cyhhKTtyZXR1cm5bMCxbMSxwKFswLGJdLFswLHQoYSldLGwpXV07Y2FzZVxuMTE3OnMoYSk7cmV0dXJuWzAsWzIscChbMCxiXSxbMCx0KGEpXSxsKV1dO2Nhc2VcbjExODpzKGEpO3JldHVyblswLFs1LHAoWzAsYl0sWzAsdChhKV0sbCldXTtjYXNlXG4xMTk6cyhhKTtyZXR1cm5bMCxbNixwKFswLGJdLFswLHQoYSldLGwpXV07Y2FzZVxuMTIwOnMoYSk7cmV0dXJuWzAsWzcscChbMCxiXSxbMCx0KGEpXSxsKV1dO2Nhc2VcbjEyMTpzKGEpO3JldHVyblswLFszLHAoWzAsYl0sWzAsdChhKV0sbCldXTtjYXNlXG4xMjI6cyhhKTtyZXR1cm5bMCxbOSxwKFswLGJdLFswLHQoYSldLGwpXV07Y2FzZVxuMTIzOnMoYSk7cmV0dXJuWzAsWzMzLHAoWzAsYl0sWzAsdChhKV0sbCldXTtjYXNlXG4xMjQ6cyhhKTtyZXR1cm5bMCxbMzQscChbMCxiXSxbMCx0KGEpXSxsKV1dO2Nhc2VcbjEyNTpzKGEpO3JldHVyblswLFszNSxwKFswLGJdLFswLHQoYSldLGwpXV07Y2FzZVxuMTI5OnJldHVybiBzbihhLGFmUSk7Y2FzZVxuMTMwOnJldHVybiBzbihhLGFmUik7Y2FzZVxuMTMxOnJldHVybiBzbihhLGFmUyl9ZWxzZSBpZigxMT09PWNbMF0pe3ZhclxuZD1jWzFdO3MoYSk7dmFyXG5lPXQoYSksZj1kPy04ODM5NDQ4MjQ6NzM3NDU2MjAyO3JldHVyblswLFs4LGYscChbMCxiXSxbMCxlXSxsKV1dfXJldHVybiAwfWZ1bmN0aW9uXG5IRShhKXt2YXJcbmQ9cihhKSxiPW0oYSk7YTp7aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIilzd2l0Y2goYil7Y2FzZVxuMTMyOnZhclxuYz0xO2JyZWFrIGE7Y2FzZVxuMTMzOnZhclxuYz0yO2JyZWFrIGF9ZWxzZSBpZig0PT09YlswXSYmIWsoYlszXSxrbSkpe3ZhclxuYz0wO2JyZWFrIGF9dmFyXG5jPUUoYWZUKX12YXJcbmU9eShhKTtzKGEpO3ZhclxuZj10KGEpLGc9c20oYSk7cmV0dXJuWzAsZSxnLHAoWzAsZF0sWzAsZl0sbCksY119ZnVuY3Rpb25cbm0zKGEsYil7cmV0dXJuWzAsYlsxXSxbMCwwLGIsMF1dfWZ1bmN0aW9uXG5pcihhKXtyZXR1cm4gaihIcFsxXSxhLDApfWZ1bmN0aW9uXG5tNChhKXtyZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe3ZhclxuYz1yKGEpO24oYSw0KTt2YXJcbmI9aShpcihhKSwwKSxkPXIoYSk7bihhLDUpO3ZhclxuZT1hdihbMCxjXSxbMCx0KGEpXSxkLGwpO3JldHVyblswLGJbMV0sYlsyXSxiWzNdLGVdfSxhKX1mdW5jdGlvblxuSEYoYSl7cmV0dXJuIHEoMCxmdW5jdGlvbihhKXt2YXJcbmM9cihhKTtuKGEsNCk7dmFyXG5iPWooSHFbMV0sYSwwKSxkPXIoYSk7bihhLDUpO3ZhclxuZT1hdihbMCxjXSxbMCx0KGEpXSxkLGwpO3JldHVyblswLGJbMV0sYlsyXSxlXX0sYSl9ZnVuY3Rpb25cbmFmRChhKXt2YXJcbnA9cihhKTtuKGEsNCk7dmFyXG5iPWlXKDAsYSksZD1tKGIpO2E6e2I6e2M6e2lmKHR5cGVvZlxuZCE9PVwibnVtYmVyXCIpe2lmKDQhPT1kWzBdKWJyZWFrIGI7dmFyXG5BPWRbM107aWYoayhBLGgwKSl7aWYoayhBLGttKSlicmVhayBjO3ZhclxuQj1OKDEsYik7ZDp7aWYodHlwZW9mXG5CPT09XCJudW1iZXJcIiYmMT49QitoWj4+PjApe3ZhclxuQz1bMCxpKGlyKGIpLDApXTticmVhayBkfXZhclxuQz1bMSxhZihiKV19dmFyXG5EPUN9ZWxzZXtpZighYlsyOF1bMV0pYnJlYWsgYzt2YXJcbm89TigxLGIpO2Q6e2U6aWYodHlwZW9mXG5vPT09XCJudW1iZXJcIil7aWYoNCE9PW8mJjk5IT09bylicmVhayBlO3ZhclxuRT1bMSxhZihiKV07YnJlYWsgZH12YXJcbkU9SEcoYil9dmFyXG5EPUV9dmFyXG5jPUQ7YnJlYWsgYX1zd2l0Y2goZCl7Y2FzZVxuNTp2YXJcbmM9YWZVO2JyZWFrIGE7Y2FzZVxuMTMyOnZhclxueT1OKDEsYik7ZDp7aWYodHlwZW9mXG55PT09XCJudW1iZXJcIiYmODc9PT15KXt2YXJcbno9WzAsaShpcihiKSwwKV07YnJlYWsgZH12YXJcbno9WzEsYWYoYildfXZhclxuYz16O2JyZWFrIGE7Y2FzZVxuNDM6YnJlYWs7Y2FzZVxuMTI6Y2FzZVxuMTE0OnZhclxuYz1bMCxpKGlyKGIpLDApXTticmVhayBhO2RlZmF1bHQ6YnJlYWsgYn19dmFyXG5jPUhHKGIpO2JyZWFrIGF9Yjp7Yzp7aWYodHlwZW9mXG5kPT09XCJudW1iZXJcIilzd2l0Y2goZCl7Y2FzZVxuMzA6Y2FzZVxuMTE1OmNhc2VcbjExNjpjYXNlXG4xMTc6Y2FzZVxuMTE4OmNhc2VcbjExOTpjYXNlXG4xMjA6Y2FzZVxuMTIxOmNhc2VcbjEyMjpjYXNlXG4xMjM6Y2FzZVxuMTI0OmNhc2VcbjEyNTpicmVhaztkZWZhdWx0OmJyZWFrIGN9ZWxzZSBpZigxMSE9PWRbMF0pYnJlYWsgYzt2YXJcbnE9MTticmVhayBifXZhclxucT0wfWlmKHEpe3Zhclxucz1OKDEsYik7Yjp7aWYodHlwZW9mXG5zPT09XCJudW1iZXJcIiYmMT49cytoWj4+PjApe3ZhclxudT1bMCxpKGlyKGIpLDApXTticmVhayBifXZhclxudT1bMSxhZihiKV19dmFyXG5jPXV9ZWxzZVxudmFyXG5jPVsxLGFmKGIpXX1pZigwPT09Y1swXSl2YXJcbmU9YztlbHNle3ZhclxuaD1jWzFdO2lmKGFbMTVdKXZhclxueD1jO2Vsc2V7dmFyXG5qPW0oYSk7YTp7aWYodHlwZW9mXG5qPT09XCJudW1iZXJcIil7aWYoNT09PWope2lmKDExPT09TigxLGEpKXt2YXJcbkg9WzAsbTMoYSxoKSwwXSxmPVswLGkoaXIoYSksSCldO2JyZWFrIGF9dmFyXG5mPVsxLGhdO2JyZWFrIGF9aWYoOT09PWope24oYSw5KTt2YXJcbkk9WzAsbTMoYSxoKSwwXSxmPVswLGkoaXIoYSksSSldO2JyZWFrIGF9fXZhclxuZj1jfXZhclxueD1mfXZhclxuZT14fXZhclxuRj1yKGEpO24oYSw1KTt2YXJcbnY9dChhKTtpZigwPT09ZVswXSl2YXJcbmc9ZVsxXSxHPWF2KFswLHBdLFswLHZdLEYsbCksdz1bMCxbMCxnWzFdLGdbMl0sZ1szXSxHXV07ZWxzZVxudmFyXG53PVsxLGFmRyhlWzFdLHAsdildO3JldHVybiB3fWZ1bmN0aW9uXG5IRyhhKXt2YXJcbmM9TigxLGEpO2lmKHR5cGVvZlxuYz09PVwibnVtYmVyXCImJjE+PWMraFo+Pj4wKXJldHVyblswLGkoaXIoYSksMCldO3ZhclxuYj15KGEpLGQ9SEsoYSxpMShhKSksZT1IeChhLDAsYixIeihhLDAsYixIQihhLEhDKDAsYSxiLFswLGRbMV0sWzE5LGRbMl1dXSkpKSk7cmV0dXJuWzEsSHcoc2IoMCxhKSxiLGUpXX1mdW5jdGlvblxubTUoZixiLGMsZCxlKXtyZXR1cm4gcShbMCxjXSxmdW5jdGlvbihhKXtuKGEsMTEpO3JldHVyblsxMixbMCxkLGUsSEgoYSksMCxmXV19LGIpfWZ1bmN0aW9uXG5ISChhKXtyZXR1cm4gbTEoYSk/WzEsc28oYSldOlswLGFmKGEpXX1mdW5jdGlvblxuc28oYSl7ZnVuY3Rpb25cbmQoYSl7dmFyXG5iPXIoYSk7bihhLGpzKTt2YXJcbmM9SShiLHIoYSkpO3JldHVyblswLFswLGFmKGEpXSxjXX1yZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe3ZhclxuaT1yKGEpLGU9YWcoYSxsSCk/MTphZyhhLGxyKT8yOjA7YUYoYSwwKTt2YXJcbmo9YU4oYSk7YUkoYSk7YTppZigyPT09ZSl2YXJcbmY9ZChhKSxjPWZbMl0sYj1mWzFdO2Vsc2V7dmFyXG5nPW0oYSk7aWYodHlwZW9mXG5nPT09XCJudW1iZXJcIiYmanM9PT1nKXt2YXJcbmg9ZChhKSxjPWhbMl0sYj1oWzFdO2JyZWFrIGF9dmFyXG5jPTAsYj0wfXJldHVyblswLGUsWzAsaixiXSxhdihbMCxpXSwwLGMsbCldfSxhKX1mdW5jdGlvblxuSEkoYSxiKXtyZXR1cm4gcShbMCxiXSxzbyxhKX1mdW5jdGlvblxuc3AoZixiLGMsZCl7dmFyXG5lPWI/Mj09PW0oZCk/MTowOmIsZz1iPzEtZTpiO3JldHVybiBxKDAsZnVuY3Rpb24oYSl7dmFyXG5kPXIoYSksaD1lPzI6MDtuKGEsaCk7dmFyXG5pPWlXKDAsYSksYj1saihIclsxXSxmLGcsYyxlLGksYWZWKSxqPWJbM10saz1iWzJdLG09YlsxXSxvPUkoaixyKGEpKSxwPWU/MzoxO24oYSxwKTtyZXR1cm5bMCxlLGssbSxhdihbMCxkXSxbMCx0KGEpXSxvLGwpXX0sZCl9ZnVuY3Rpb25cbkhKKGEpe3ZhclxuYj1hZyhhLDQyKT9IZShhLGooSHNbMV0sYSwwKSk6MDtyZXR1cm5bMCxiLHNwKDAsMCwwLGEpXX1mdW5jdGlvblxuaTEoYSl7dmFyXG5iPWFOKGEpLGM9YlsyXSxkPWNbMV0sZT1iWzFdLGY9Y1syXTtpZihzZShkKSl1KGEsWzAsZSw5N10pO3JldHVyblswLGUsWzAsZCxmXV19ZnVuY3Rpb25cbmkyKGEpe2lmKDk5IT09bShhKSlyZXR1cm4gMDtpZigxLWFxKGEpKUsoYSxiZSk7dmFyXG5iPXEoMCxmdW5jdGlvbihhKXt2YXJcbmI9cihhKTtuKGEsOTkpO3ZhclxuYz16KEh0WzFdLGEsMCwwKSxkPXIoYSk7bVgoYSxhbik7cmV0dXJuWzAsYyxhdihbMCxiXSxbMCx0KGEpXSxkLGwpXX0sYSksYz1iWzFdO2lmKCFiWzJdWzFdKXUoYSxbMCxjLDUyXSk7cmV0dXJuWzAsYl19ZnVuY3Rpb25cbnNxKGEpe3JldHVybiA5OT09PW0oYSk/WzAscSgwLGZ1bmN0aW9uKGEpe3ZhclxuYz1yKGEpO24oYSw5OSk7dmFyXG5iPWlXKDAsYSksZD1qKEh1WzFdLGIsMCksZT1yKGIpO24oYixhbik7cmV0dXJuWzAsZCxhdihbMCxjXSxbMCx0KGIpXSxlLGwpXX0sYSldOjB9ZnVuY3Rpb25cbm02KGEpe3JldHVybiBISyhhLGkxKGEpKX1mdW5jdGlvblxuSEsoYSxiKXtyZXR1cm4gcShbMCxiWzFdXSxmdW5jdGlvbihhKXt2YXJcbmM9aihIdlsxXSxhLFswLGJbMV0sWzAsYl1dKVsyXSxkPTk5PT09bShhKT9qKGF4KGEpWzJdLGMsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihMKGEsLTg2MDM3Mzk3Niw2NSksYSxiKX0pOmM7cmV0dXJuWzAsZCxzcShhKSwwXX0sYSl9ZnVuY3Rpb25cbnNyKGEpe3ZhclxuYj1tKGEpO2E6e2lmKHR5cGVvZlxuYj09PVwibnVtYmVyXCIpc3dpdGNoKGIpe2Nhc2Vcbjg3OnZhclxuYz15KGEpO2lmKDEtYXEoYSkpSyhhLGJlKTtzKGEpO3ZhclxuZD1xKDAsYWYsYSksZT1kWzJdLGc9ZFsxXSxoPTI2PT09ZVsyXVswXT8xOjA7dShhLFswLGMsWzE2LGhdXSk7cmV0dXJuWzEsZyxbMCxjLGUsMCwwXV07Y2FzZVxuMTMyOmNhc2VcbjEzMzpicmVhaztkZWZhdWx0OmJyZWFrIGF9ZWxzZSBpZig0IT09YlswXXx8ayhiWzNdLGttKSlicmVhayBhO2lmKDEtYXEoYSkpSyhhLGJlKTt2YXJcbmY9cShbMCx5KGEpXSxIRSxhKTtyZXR1cm5bMSxmWzFdLGZbMl1dfXJldHVyblswLGhOKGEpXX1mdW5jdGlvblxuYWZHKGEsYixjKXt2YXJcbmQ9YVsyXTtmdW5jdGlvblxuZihhKXtyZXR1cm4gYTQoYSxwKFswLGJdLFswLGNdLGwpKX12YXJcbkY9YVsxXTtzd2l0Y2goZFswXSl7Y2FzZVxuMDp2YXJcbmU9WzAsZihkWzFdKV07YnJlYWs7Y2FzZVxuMTp2YXJcbmU9WzEsZihkWzFdKV07YnJlYWs7Y2FzZVxuMjp2YXJcbmU9WzIsZihkWzFdKV07YnJlYWs7Y2FzZVxuMzp2YXJcbmU9WzMsZihkWzFdKV07YnJlYWs7Y2FzZVxuNDp2YXJcbmU9WzQsZihkWzFdKV07YnJlYWs7Y2FzZVxuNTp2YXJcbmU9WzUsZihkWzFdKV07YnJlYWs7Y2FzZVxuNjp2YXJcbmU9WzYsZihkWzFdKV07YnJlYWs7Y2FzZVxuNzp2YXJcbmU9WzcsZihkWzFdKV07YnJlYWs7Y2FzZVxuODp2YXJcbkg9ZihkWzJdKSxlPVs4LGRbMV0sSF07YnJlYWs7Y2FzZVxuOTp2YXJcbmU9WzksZihkWzFdKV07YnJlYWs7Y2FzZVxuMTA6dmFyXG5lPVsxMCxmKGRbMV0pXTticmVhaztjYXNlXG4xMTp2YXJcbnc9ZFsxXSxJPWYod1syXSksZT1bMTEsWzAsd1sxXSxJXV07YnJlYWs7Y2FzZVxuMTI6dmFyXG5nPWRbMV0sSj1nWzVdLEs9ZihnWzRdKSxlPVsxMixbMCxnWzFdLGdbMl0sZ1szXSxLLEpdXTticmVhaztjYXNlXG4xMzp2YXJcbmk9ZFsxXSxMPWYoaVs0XSksZT1bMTMsWzAsaVsxXSxpWzJdLGlbM10sTF1dO2JyZWFrO2Nhc2VcbjE0OnZhclxuaj1kWzFdLE09als0XSxHPW1wKE0scChbMCxiXSxbMCxjXSxsKSksZT1bMTQsWzAsalsxXSxqWzJdLGpbM10sR11dO2JyZWFrO2Nhc2VcbjE1OnZhclxubT1kWzFdLE49ZihtWzNdKSxlPVsxNSxbMCxtWzFdLG1bMl0sTl1dO2JyZWFrO2Nhc2VcbjE2OnZhclxueD1kWzFdLE89Zih4WzJdKSxlPVsxNixbMCx4WzFdLE9dXTticmVhaztjYXNlXG4xNzp2YXJcbmg9ZFsxXSxQPWYoaFs1XSksZT1bMTcsWzAsaFsxXSxoWzJdLGhbM10saFs0XSxQXV07YnJlYWs7Y2FzZVxuMTg6dmFyXG55PWRbMV0sUT1mKHlbMl0pLGU9WzE4LFswLHlbMV0sUV1dO2JyZWFrO2Nhc2VcbjE5OnZhclxubj1kWzFdLFI9ZihuWzNdKSxlPVsxOSxbMCxuWzFdLG5bMl0sUl1dO2JyZWFrO2Nhc2VcbjIwOnZhclxubz1kWzFdLFM9ZihvWzNdKSxlPVsyMCxbMCxvWzFdLG9bMl0sU11dO2JyZWFrO2Nhc2VcbjIxOnZhclxuej1kWzFdLHE9elsxXSxUPXpbMl0sVT1mKHFbM10pLGU9WzIxLFswLFswLHFbMV0scVsyXSxVXSxUXV07YnJlYWs7Y2FzZVxuMjI6dmFyXG5BPWRbMV0sVj1mKEFbMl0pLGU9WzIyLFswLEFbMV0sVl1dO2JyZWFrO2Nhc2VcbjIzOnZhclxuQj1kWzFdLFc9ZihCWzJdKSxlPVsyMyxbMCxCWzFdLFddXTticmVhaztjYXNlXG4yNDp2YXJcbnI9ZFsxXSxYPWYoclszXSksZT1bMjQsWzAsclsxXSxyWzJdLFhdXTticmVhaztjYXNlXG4yNTp2YXJcbkM9ZFsxXSxZPWYoQ1syXSksZT1bMjUsWzAsQ1sxXSxZXV07YnJlYWs7Y2FzZVxuMjY6dmFyXG5rPWRbMV0sWj1rWzRdLF89ZihrWzNdKSxlPVsyNixbMCxrWzFdLGtbMl0sXyxaXV07YnJlYWs7Y2FzZVxuMjc6dmFyXG5EPWRbMV0sJD1mKERbMl0pLGU9WzI3LFswLERbMV0sJF1dO2JyZWFrO2Nhc2VcbjI4OnZhclxucz1kWzFdLGFhPWYoc1szXSksZT1bMjgsWzAsc1sxXSxzWzJdLGFhXV07YnJlYWs7Y2FzZVxuMjk6dmFyXG50PWRbMV0sYWI9Zih0WzNdKSxlPVsyOSxbMCx0WzFdLHRbMl0sYWJdXTticmVhaztjYXNlXG4zMDp2YXJcbnU9ZFsxXSxhYz1mKHVbM10pLGU9WzMwLFswLHVbMV0sdVsyXSxhY11dO2JyZWFrO2Nhc2VcbjMxOnZhclxudj1kWzFdLGFkPWYodlszXSksZT1bMzEsWzAsdlsxXSx2WzJdLGFkXV07YnJlYWs7Y2FzZVxuMzI6dmFyXG5FPWRbMV0sYWU9ZihFWzJdKSxlPVszMixbMCxFWzFdLGFlXV07YnJlYWs7Y2FzZVxuMzM6dmFyXG5lPVszMyxmKGRbMV0pXTticmVhaztjYXNlXG4zNDp2YXJcbmU9WzM0LGYoZFsxXSldO2JyZWFrO2RlZmF1bHQ6dmFyXG5lPVszNSxmKGRbMV0pXX1yZXR1cm5bMCxGLGVdfWEoSGwsWzAsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZD1iO2Zvcig7Oyl7aWYoIWFnKGMsOTApKXt2YXJcbmU9QihkKTtpZihlKXt2YXJcbmY9ZVsyXTtpZihmKXt2YXJcbmc9ZlsyXSxoPWZbMV0saT1lWzFdO3JldHVyblsyMixbMCxbMCxpLGgsZ10scChbMCxhXSwwLGwpXV19fXRocm93IHgoWzAsWSxhZlddLDEpfXZhclxuZD1bMCxIeShjKSxkXX19XSk7YShIbSxbMCxmdW5jdGlvbihhLGIsYyl7dmFyXG5kPWI7Zm9yKDs7KXtpZighYWcoYyw5Mikpe3ZhclxuZT1CKGQpO2lmKGUpe3ZhclxuZj1lWzJdO2lmKGYpe3ZhclxuZz1mWzJdLGg9ZlsxXSxpPWVbMV07cmV0dXJuWzIzLFswLFswLGksaCxnXSxwKFswLGFdLDAsbCldXX19dGhyb3cgeChbMCxZLGFmWF0sMSl9dmFyXG5kPVswLEhBKGMpLGRdfX1dKTthKEhuLFswLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWI7Zm9yKDs7KXt2YXJcbmQ9Y1syXSxnPWNbMV07aWYoMTA9PT1tKGEpJiZHNygxLGEpKXtsZXRcbmI9ZDt2YXJcbmU9cShbMCxnXSxmdW5jdGlvbihhKXtuKGEsMTApO3JldHVyblswLGIsYU4oYSldfSxhKSxmPWVbMV0sYz1bMCxmLFsxLFswLGYsZVsyXV1dXTtjb250aW51ZX1yZXR1cm4gZH19XSk7YShIbyxbMCxmdW5jdGlvbihhLGIpe3ZhclxuYz1iO2Zvcig7Oyl7dmFyXG5kPW0oYSk7YTppZih0eXBlb2ZcbmQ9PT1cIm51bWJlclwiKXtpZig3IT09ZCYmViE9PWQpYnJlYWsgYTtyZXR1cm5bMCxCKGMpLDBdfXZhclxuZT1xKDAsZnVuY3Rpb24oYSl7aWYoIWFnKGEsMTIpKXt2YXJcbmM9bShhKTthOntpZih0eXBlb2ZcbmM9PT1cIm51bWJlclwiJiYoYlQ9PT1jfHxjaD09PWMmJmhPKDEsYSkpKXt2YXJcbmQ9bTIoMCwwLGEpO2JyZWFrIGF9dmFyXG5kPTB9dmFyXG5qPWNyKGEpLGc9TigxLGEpO2lmKGomJnR5cGVvZlxuZz09PVwibnVtYmVyXCImJjE+PWcraFo+Pj4wKXt2YXJcbmw9YU4oYSksbz1hZyhhLDg2KTtuKGEsODcpO3JldHVyblswLFsxLFswLGwsYWYoYSksZCxvXV1dfXZhclxuaz1kPzE6MDtpZihrKUsoYSw0NCk7cmV0dXJuWzAsWzAsYWYoYSldXX12YXJcbmI9bShhKTthOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCIpe2lmKDEwPD1iKXtpZihWIT09YilicmVhayBhfWVsc2V7aWYoNz5iKWJyZWFrIGE7c3dpdGNoKGItN3wwKXtjYXNlXG4wOmJyZWFrO2Nhc2VcbjE6YnJlYWsgYTtkZWZhdWx0OmFrKGFmWSxhKTtzKGEpO3JldHVybiAwfX1yZXR1cm4gMH12YXJcbmg9Y3IoYSksZT1OKDEsYSk7YTp7aWYoaCYmdHlwZW9mXG5lPT09XCJudW1iZXJcIiYmMT49ZStoWj4+PjApe3ZhclxuaT1hTihhKTtpZig4Nj09PW0oYSkpe0soYSw0Myk7cyhhKX1uKGEsODcpO3ZhclxuZj1bMCxpXTticmVhayBhfXZhclxuZj0wfXJldHVyblswLFsyLFswLGYsYWYoYSldXV19LGEpLGY9ZVsyXSxnPWVbMV07aWYoIWYpcmV0dXJuWzAsQihjKSwxXTt2YXJcbmg9WzAsWzAsZyxmWzFdXSxjXTtpZig3IT09bShhKSluKGEsOSk7dmFyXG5jPWh9fV0pO2Z1bmN0aW9uXG5ITChhKXt2YXJcbmI9TigxLGEpO2lmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjE+PWIraFo+Pj4wKXJldHVybiBxKDAsZnVuY3Rpb24oYSl7YUYoYSwwKTt2YXJcbmI9aih2WzEzXSwwLGEpO2FJKGEpO2lmKDEtYXEoYSkpSyhhLGJlKTt2YXJcbmM9YWcoYSw4Nik7bihhLDg3KTtyZXR1cm5bMCxbMCxiXSxhZihhKSxjXX0sYSk7cmV0dXJuIG0zKGEsYWYoYSkpfWEoSHAsWzAsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZj1iLGU9Yztmb3IoOzspe3ZhclxuZD1tKGEpO2E6aWYodHlwZW9mXG5kPT09XCJudW1iZXJcIilzd2l0Y2goZCl7Y2FzZVxuNTpjYXNlXG4xMjpjYXNlXG4xMTQ6dmFyXG5oPTEyPT09ZD9bMCxxKDAsZnVuY3Rpb24oYSl7dmFyXG5iPXIoYSk7bihhLDEyKTt2YXJcbmM9cChbMCxiXSwwLGwpO3JldHVyblswLEhMKGEpLGNdfSxhKV06MDtyZXR1cm5bMCxmLEIoZSksaCwwXX1lbHNlIGlmKDQ9PT1kWzBdJiYhayhkWzNdLGk3KSl7aWYoODchPT1OKDEsYSkmJjg2IT09TigxLGEpKWJyZWFrIGE7dmFyXG5pPTAhPT1mPzE6MCxqPWl8fCgwIT09ZT8xOjApO2lmKGopSyhhLDkwKTt2YXJcbm89cSgwLGZ1bmN0aW9uKGEpe3ZhclxuYj1yKGEpO3MoYSk7aWYoODY9PT1tKGEpKUsoYSw4OSk7dmFyXG5jPXAoWzAsYl0sMCxsKTtyZXR1cm5bMCxrNChhKSxjXX0sYSk7aWYoNSE9PW0oYSkpbihhLDkpO3ZhclxuZj1bMCxvXTtjb250aW51ZX12YXJcbmc9WzAsSEwoYSksZV07aWYoNSE9PW0oYSkpbihhLDkpO3ZhclxuZT1nfX1dKTthKEhxLFswLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWI7Zm9yKDs7KXt2YXJcbmQ9bShhKTthOmlmKHR5cGVvZlxuZD09PVwibnVtYmVyXCIpe3ZhclxuZT1kLTV8MDtpZig3PGU+Pj4wKXtpZihkViE9PWUpYnJlYWsgYX1lbHNlIGlmKDU+PWUtMT4+PjApYnJlYWsgYTt2YXJcbmY9MTI9PT1kP1swLHEoMCxmdW5jdGlvbihhKXt2YXJcbmU9cihhKTtuKGEsMTIpO3ZhclxuYj1OKDEsYSk7YTp7aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIil7aWYoODY9PT1iKXthRihhLDApO3ZhclxuZj1qKHZbMTNdLDAsYSk7YUkoYSk7bihhLDg2KTtuKGEsODcpO3ZhclxuZD0xLGM9WzAsZl07YnJlYWsgYX1pZig4Nz09PWIpe2FGKGEsMCk7dmFyXG5oPWoodlsxM10sMCxhKTthSShhKTtuKGEsODcpO3ZhclxuZD0wLGM9WzAsaF07YnJlYWsgYX19dmFyXG5kPTAsYz0wfXZhclxuZz1hZihhKTtpZig5PT09bShhKSlzKGEpO3JldHVyblswLGMsZyxkLHAoWzAsZV0sMCxsKV19LGEpXTowO3JldHVyblswLEIoYyksZiwwXX12YXJcbmc9WzAscSgwLGZ1bmN0aW9uKGEpe3ZhclxuYz1tKGEpO2E6e2lmKHR5cGVvZlxuYyE9PVwibnVtYmVyXCImJjI9PT1jWzBdKXt2YXJcbmI9Y1sxXSxkPWJbNF0sZT1iWzNdLGY9YlsyXSxnPWJbMV07aWYoZCliQyhhLDc3KTtuKGEsWzIsWzAsZyxmLGUsZF1dKTt2YXJcbmg9WzEsWzAsZyxbMCxmLGUscCgwLFswLHQoYSldLGwpXV1dO2JyZWFrIGF9YUYoYSwwKTt2YXJcbmk9aih2WzEzXSwwLGEpO2FJKGEpO3ZhclxuaD1bMCxpXX12YXJcbms9YWcoYSw4Nik7cmV0dXJuWzAsaCxrNChhKSxrXX0sYSksY107aWYoNSE9PW0oYSkpbihhLDkpO3ZhclxuYz1nfX1dKTtmdW5jdGlvblxubTcoYSxiLGMpe3JldHVybiBxKFswLGJdLGZ1bmN0aW9uKGEpe3ZhclxuYj1tNChhKTtuKGEsODcpO3JldHVyblswLGMsYixISChhKSwwLDFdfSxhKX1mdW5jdGlvblxuSE0oYSxiLGMsZCxlKXt2YXJcbmg9Y3QoYSxkKSxmPW03KGEsYixiaChhLGkyKGEpKSksZz1bMCxmWzFdLFsxMixmWzJdXV0saT1bMCxoLFswLGddLDAsMCE9PWM/MTowLDAsMSwwLHAoWzAsZV0sMCxsKV07cmV0dXJuWzAsWzAsZ1sxXSxpXV19ZnVuY3Rpb25cbm04KGEsYixjLGQsZSxmLGcpe3ZhclxuaD1nWzJdLGk9Z1sxXTtpZigxLWFxKGEpKUsoYSxiZSk7cmV0dXJuWzAscShbMCxiXSxmdW5jdGlvbihhKXt2YXJcbmI9YWcoYSw4NiksZz1HXyhhLDg3KT9hZihhKTpbMCxpLGFmWl07cmV0dXJuWzAsaCxbMCxnXSxiLDAhPT1kPzE6MCwwIT09ZT8xOjAsMCxjLHAoWzAsZl0sMCxsKV19LGEpXX1mdW5jdGlvblxuazUoYSxiKXt2YXJcbmM9bShiKTtpZih0eXBlb2ZcbmM9PT1cIm51bWJlclwiJiYxMD5jKXN3aXRjaChjKXtjYXNlXG4xOmlmKCFhKXJldHVybjticmVhaztjYXNlXG4zOmlmKGEpcmV0dXJuO2JyZWFrO2Nhc2Vcbjg6Y2FzZVxuOTpyZXR1cm4gcyhiKX1yZXR1cm4gY3MoYiw5KX1mdW5jdGlvblxuazYoYSxiKXtpZihiKXJldHVybiB1KGEsWzAsYlsxXVsxXSxoVF0pO3JldHVybn1mdW5jdGlvblxuazcoYSxiKXtpZihiKXJldHVybiB1KGEsWzAsYlsxXSw5NV0pO3JldHVybn1mdW5jdGlvblxuYWYwKGEsYixjLGQsZSxmLGcsaCxpKXt2YXJcbkQ9YyxDPWQsbz1lLHo9ZixBPWcsdz1oO2Zvcig7Oyl7dmFyXG5CPW0oYSk7aWYodHlwZW9mXG5CPT09XCJudW1iZXJcIilzd2l0Y2goQil7Y2FzZVxuNjprNyhhLEEpO3ZhclxuJD1OKDEsYSk7aWYodHlwZW9mXG4kPT09XCJudW1iZXJcIiYmNj09PSQpe2s2KGEsbyk7cmV0dXJuWzQscShbMCxpXSxmdW5jdGlvbihhKXt2YXJcbmg9SSh3LHIoYSkpO24oYSw2KTtuKGEsNik7dmFyXG5qPWFOKGEpO24oYSw3KTtuKGEsNyk7dmFyXG5iPW0oYSk7YTp7YjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiKXtpZig0IT09YiYmOTkhPT1iKWJyZWFrIGI7dmFyXG5jPW03KGEsaSxiaChhLGkyKGEpKSksZz0wLGY9WzAsY1sxXSxbMTIsY1syXV1dLGU9MSxkPTA7YnJlYWsgYX12YXJcbms9YWcoYSw4Niksbz10KGEpO24oYSw4Nyk7dmFyXG5nPW8sZj1hZihhKSxlPTAsZD1rfXJldHVyblswLGosZixkLDAhPT16PzE6MCxlLHAoWzAsaF0sWzAsZ10sbCldfSxhKV19dmFyXG5QPUkodyxyKGEpKTtuKGEsNik7dmFyXG5IPU4oMSxhKTtpZih0eXBlb2ZcbkghPT1cIm51bWJlclwiJiY0PT09SFswXSYmIWsoSFszXSxpRSkmJjA9PT16KXJldHVybls1LHEoWzAsaV0sZnVuY3Rpb24oYSl7dmFyXG5jPWkxKGEpLGQ9Y1sxXTtzKGEpO3ZhclxuaT1hZihhKTtuKGEsNyk7dmFyXG5lPW0oYSk7YTp7Yjp7dmFyXG5oPVswLGMsWzAsZF0sMCwwLDBdO2lmKHR5cGVvZlxuZT09PVwibnVtYmVyXCIpe3ZhclxuYj1lK3hafDA7aWYoMTxiPj4+MCl7aWYoLTE4IT09YilicmVhayBiO3MoYSk7dmFyXG5mPTJ9ZWxzZVxudmFyXG5mPWI/KHMoYSksbihhLDg2KSwxKToocyhhKSxuKGEsODYpLDApO3ZhclxuZz1mO2JyZWFrIGF9fXZhclxuZz0zfW4oYSw4Nyk7dmFyXG5qPWFmKGEpO3JldHVyblswLFswLGQsaF0saixpLG8sZyxwKFswLFBdLFswLHQoYSldLGwpXX0sYSldO3JldHVyblsyLHEoWzAsaV0sZnVuY3Rpb24oYSl7aWYoODc9PT1OKDEsYSkpe3ZhclxuYz1hTihhKTtuKGEsODcpO3ZhclxuYj1bMCxjXX1lbHNlXG52YXJcbmI9MDt2YXJcbmQ9YWYoYSk7bihhLDcpO3ZhclxuZT10KGEpO24oYSw4Nyk7dmFyXG5mPWFmKGEpO3JldHVyblswLGIsZCxmLDAhPT16PzE6MCxvLHAoWzAsUF0sWzAsZV0sbCldfSxhKV07Y2FzZVxuNDM6aWYoRCl7aWYoMCE9PW8pdGhyb3cgeChbMCxZLGFmNl0sMSk7dmFyXG5hZD1bMCx5KGEpXSxhZT1JKHcscihhKSk7cyhhKTt2YXJcbkQ9MCxDPTAsej1hZCx3PWFlO2NvbnRpbnVlfWJyZWFrO2Nhc2VcbjEyNzppZigwPT09byl7aWYoIWhPKDEsYSkmJjYhPT1OKDEsYSkpYnJlYWs7dmFyXG5EPTAsQz0wLG89bTIoYWY3LDAsYSk7Y29udGludWV9YnJlYWs7Y2FzZVxuMTA0OmNhc2VcbjEwNTppZigwPT09byl7dmFyXG5EPTAsQz0wLG89bTIoMCwwLGEpO2NvbnRpbnVlfWJyZWFrO2Nhc2VcbjQ6Y2FzZVxuOTk6azcoYSxBKTtrNihhLG8pO3JldHVyblszLHEoWzAsaV0sZnVuY3Rpb24oYSl7dmFyXG5iPXkoYSksYz1tNyhhLGIsYmgoYSxpMihhKSkpO3JldHVyblswLGMsMCE9PXo/MTowLHAoWzAsd10sMCxsKV19LGEpXX1lbHNlIGlmKDQ9PT1CWzBdJiYhayhCWzNdLERJKSYmQyl7aWYoMCE9PW8pdGhyb3cgeChbMCxZLGFmOF0sMSk7dmFyXG5haD1bMCx5KGEpXSxhaT1JKHcscihhKSk7cyhhKTt2YXJcbkQ9MCxDPTAsQT1haCx3PWFpO2NvbnRpbnVlfWlmKHope3ZhclxuUz16WzFdO2lmKEEpcmV0dXJuIEUoYWYzKTtpZih0eXBlb2ZcbkI9PT1cIm51bWJlclwiJiYxPj1CK2haPj4+MClyZXR1cm4gbTgoYSxpLG8sMCxBLDAsWzAsUyxbMyxjcChwKFswLHddLDAsbCksWzAsUyxhZjRdKV1dKX1lbHNlIGlmKEEpe3ZhclxuXz1BWzFdO2lmKHR5cGVvZlxuQj09PVwibnVtYmVyXCImJjE+PUIraFo+Pj4wKXJldHVybiBtOChhLGksbyx6LDAsMCxbMCxfLFszLGNwKHAoWzAsd10sMCxsKSxbMCxfLGFmNV0pXV0pfXZhclxuVD1mdW5jdGlvbihhKXthRihhLDApO3ZhclxuYj1qKHZbMjBdLDAsYSk7YUkoYSk7cmV0dXJuIGJ9LGFiPXIoYSksSz1UKGEpLFU9S1sxXSxGPUtbMl07YTppZigzPT09RlswXSl7dmFyXG5NPUZbMV1bMl1bMV07aWYoayhNLGp0KSYmayhNLGo2KSlicmVhayBhO3ZhclxuVj1tKGEpO2lmKHR5cGVvZlxuVj09PVwibnVtYmVyXCIpe3ZhclxuTz1WLTV8MDtpZig5MzxPPj4+MCl7aWYoOTU+PU8rMT4+PjApe2s3KGEsQSk7azYoYSxvKTtyZXR1cm4gSE0oYSxpLHosRix3KX19ZWxzZSBpZigxPj1PLTgxPj4+MClyZXR1cm4gbTgoYSxpLG8seixBLHcsWzAsVSxGXSl9Y3QoYSxGKTt2YXJcblc9VChhKSxaPVgoTSxqdCksYWM9SSh3LGFiKTtrNyhhLEEpO2s2KGEsbyk7cmV0dXJuWzAscShbMCxpXSxmdW5jdGlvbihhKXt2YXJcbmI9V1sxXSxoPWN0KGEsV1syXSksYz1tNyhhLGksMCksZj1jWzJdWzJdO2E6aWYoWil7dmFyXG5kPWZbMl07Yjp7aWYoIWRbMV0pe2lmKCFkWzJdJiYhZFszXSlicmVhayBiO3UoYSxbMCxiLDIzXSk7YnJlYWsgYX11KGEsWzAsYiwyNF0pfX1lbHNle3ZhclxuZT1mWzJdO2lmKGVbMV0pdShhLFswLGIsNjddKTtlbHNle3ZhclxuZz1lWzJdO2I6e2lmKCFlWzNdKXtpZihnJiYhZ1syXSlicmVhayBiO3UoYSxbMCxiLDY2XSk7YnJlYWsgYX11KGEsWzAsYiw2Nl0pfX19dmFyXG5qPXAoWzAsYWNdLDAsbCksaz0wLG09MCxuPTAsbz0wIT09ej8xOjAscT0wLHI9Wj9bMSxjXTpbMixjXTtyZXR1cm5bMCxoLHIscSxvLG4sbSxrLGpdfSxhKV19dmFyXG5HPUtbMl0sTD1tKGEpO2E6aWYodHlwZW9mXG5MPT09XCJudW1iZXJcIil7aWYoNCE9PUwmJjk5IT09TClicmVhayBhO2s3KGEsQSk7azYoYSxvKTtyZXR1cm4gSE0oYSxpLHosRyx3KX12YXJcblE9MCE9PXo/MTowO2E6aWYoMz09PUdbMF0pe3ZhclxuUj1HWzFdLEo9UlsyXVsxXTtiOnt2YXJcbmFhPVJbMV07aWYoYil7aWYoIVgoaTksSikmJighUXx8IVgoaUYsSikpKWJyZWFrIGI7dShhLFswLGFhLFsxNSxKLFEsMCwwXV0pO2JyZWFrIGF9fX1yZXR1cm4gbTgoYSxpLG8seixBLHcsWzAsVSxHXSl9fWEoSHIsWzAsZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3Zhclxuaz1mO2Zvcig7Oyl7dmFyXG5oPWtbM10saT1rWzJdLGc9a1sxXTtpZihhJiZjKXRocm93IHgoWzAsWSxhZjFdLDEpO2lmKGImJiFjKXRocm93IHgoWzAsWSxhZjJdLDEpO3Zhclxuaj15KGUpLG49bShlKTtpZih0eXBlb2Zcbm49PT1cIm51bWJlclwiKWlmKDEzPD1uKXtpZihWPT09bilyZXR1cm5bMCxCKGcpLGksaF19ZWxzZSBpZihuKXN3aXRjaChuLTF8MCl7Y2FzZVxuMDppZighZClyZXR1cm5bMCxCKGcpLGksaF07YnJlYWs7Y2FzZVxuMjppZihkKXJldHVyblswLEIoZyksaSxoXTticmVhaztjYXNlXG4xMTppZighYyl7cyhlKTt2YXJcbnQ9bShlKTtpZih0eXBlb2ZcbnQ9PT1cIm51bWJlclwiJiYxMD50KXN3aXRjaCh0KXtjYXNlXG4xOmNhc2VcbjM6Y2FzZVxuODpjYXNlXG45OnUoZSxbMCxqLDMyXSk7azUoZCxlKTtjb250aW51ZX12YXJcbkQ9c2YoZSk7c2QoZSkoRCk7dShlLFswLGosOThdKTtzKGUpO2s1KGQsZSk7Y29udGludWV9dmFyXG52PXIoZSk7cyhlKTt2YXJcbm89bShlKTtpZih0eXBlb2Zcbm89PT1cIm51bWJlclwiJiYxMD5vKXN3aXRjaChvKXtjYXNlXG4xOmNhc2VcbjM6Y2FzZVxuODpjYXNlXG45Oms1KGQsZSk7dmFyXG53PW0oZSk7aWYodHlwZW9mXG53PT09XCJudW1iZXJcIil7dmFyXG56PXctMXwwO2lmKDI+PXo+Pj4wKXN3aXRjaCh6KXtjYXNlXG4wOmlmKGIpcmV0dXJuWzAsQihnKSwxLHZdO2JyZWFrO2Nhc2VcbjE6YnJlYWs7ZGVmYXVsdDp1KGUsWzAsaiwzMV0pO3JldHVyblswLEIoZyksaSxoXX19dShlLFswLGosOTNdKTtjb250aW51ZX1sZXRcbmY9djt2YXJcbkE9WzEscShbMCxqXSxmdW5jdGlvbihhKXt2YXJcbmI9cChbMCxmXSwwLGwpO3JldHVyblswLGFmKGEpLGJdfSxlKV07azUoZCxlKTt2YXJcbms9WzAsWzAsQSxnXSxpLGhdO2NvbnRpbnVlfXZhclxuQz1hZjAoZSxhLGEsYSwwLDAsMCwwLGopO2s1KGQsZSk7dmFyXG5rPVswLFswLEMsZ10saSxoXX19XSk7YShIcyxbMCxmdW5jdGlvbihhLGIpe3ZhclxuYz1iO2Zvcig7Oyl7dmFyXG5kPVswLG02KGEpLGNdLGU9bShhKTtpZih0eXBlb2ZcbmU9PT1cIm51bWJlclwiJiY5PT09ZSl7bihhLDkpO3ZhclxuYz1kO2NvbnRpbnVlfXJldHVybiBCKGQpfX1dKTtmdW5jdGlvblxuSE4oYSxiKXt2YXJcbmQ9RzQoYSxiKTtpZihkKXZhclxuZT1kO2Vsc2V7YTp7aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmMT49Yit4Wj4+PjApe3ZhclxuYz0xO2JyZWFrIGF9dmFyXG5jPTB9aWYoIWMpe2E6e2lmKHR5cGVvZlxuYj09PVwibnVtYmVyXCIpc3dpdGNoKGIpe2Nhc2VcbjE1OmNhc2VcbjMwOmNhc2VcbjMxOmNhc2VcbjMyOmNhc2VcbjQyOmNhc2VcbjQzOmNhc2VcbjQ3OmNhc2VcbjU0OmNhc2VcbjExNTpjYXNlXG4xMTY6Y2FzZVxuMTE3OmNhc2VcbjExODpjYXNlXG4xMTk6Y2FzZVxuMTIwOmNhc2VcbjEyMTpjYXNlXG4xMjI6Y2FzZVxuMTIzOmNhc2VcbjEyNDpjYXNlXG4xMjU6Y2FzZVxuMTI2OmNhc2VcbjEyNzpicmVhaztkZWZhdWx0OmJyZWFrIGF9ZWxzZVxuc3dpdGNoKGJbMF0pe2Nhc2VcbjQ6aWYoc2UoYlszXSkpcmV0dXJuIDE7YnJlYWsgYTtjYXNlXG4xMTpicmVhaztkZWZhdWx0OmJyZWFrIGF9cmV0dXJuIDF9cmV0dXJuIDB9dmFyXG5lPWN9cmV0dXJuIGV9YShIdCxbMCxmdW5jdGlvbihhLGIsYyl7dmFyXG5oPWIsZz1jO2Zvcig7Oyl7aWYoSE4oYSxtKGEpKSl7bGV0XG5qPWg7dmFyXG5wPXNrKDAsZnVuY3Rpb24oYSl7dmFyXG5nPW0yKDAsYWY5LGEpLGM9cSgwLGZ1bmN0aW9uKGEpe3ZhclxuZT1pMShhKSxiPW0oYSk7YTp7aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIil7aWYoNDI9PT1iKXt2YXJcbmQ9MSxjPVsxLHEoMCxmdW5jdGlvbihhKXtzKGEpO3JldHVybiBhZihhKX0sYSldO2JyZWFrIGF9aWYoODc9PT1iKXt2YXJcbmQ9MCxjPVsxLGs0KGEpXTticmVhayBhfX12YXJcbmQ9MCxjPVswLGhOKGEpXX1yZXR1cm5bMCxlLGMsZF19LGEpLGI9Y1syXSxoPWJbM10saT1iWzJdLGs9YlsxXSxsPWNbMV0sZD1tKGEpO2E6e2lmKHR5cGVvZlxuZD09PVwibnVtYmVyXCImJjgzPT09ZCl7cyhhKTt2YXJcbmY9MSxlPVswLGFmKGEpXTticmVhayBhfWlmKGopdShhLFswLGwsNTNdKTt2YXJcbmY9aixlPTB9cmV0dXJuWzAsWzAsayxpLGgsZyxlXSxmXX0sYSksaT1wWzJdLGY9WzAscFsxXSxnXX1lbHNlXG52YXJcbmk9aCxmPWc7dmFyXG5kPW0oYSk7aWYodHlwZW9mXG5kPT09XCJudW1iZXJcIil7dmFyXG5sPWQrRFN8MDtpZigxNDxsPj4+MCl7aWYoLTkxPT09bCl7cyhhKTt2YXJcbmg9aSxnPWY7Y29udGludWV9fWVsc2UgaWYoMTI8bC0xPj4+MClyZXR1cm4gQihmKX1hOntiOntjOntpZih0eXBlb2ZcbmQhPT1cIm51bWJlclwiKXtpZig0IT09ZFswXSlicmVhayBiO3ZhclxuZT1kWzNdO2lmKCFtVChlKSl7ZDp7aWYoayhlLGpvKSYmayhlLGJuKSl7dmFyXG5vPTA7YnJlYWsgZH12YXJcbm89MX1pZighbyl7aWYoayhlLGxDKSl7aWYoIWsoZSxqZykpYnJlYWsgYztpZihrKGUsZWcpKWJyZWFrIGI7YnJlYWsgY31pZighYVsyOF1bMl0pYnJlYWsgYjt2YXJcbmo9MTticmVhayBhfX12YXJcbmo9MTticmVhayBhfXN3aXRjaChkKXtjYXNlXG40OmNhc2VcbjgzOmJyZWFrO2RlZmF1bHQ6YnJlYWsgYn19dmFyXG5qPTE7YnJlYWsgYX12YXJcbmo9MH1pZihqKXtjcyhhLGFuKTtyZXR1cm4gQihmKX1pZihITihhLGQpKXtjcyhhLDkpO3ZhclxuaD1pLGc9Zn1lbHNle24oYSw5KTt2YXJcbmg9aSxnPWZ9fX1dKTthKEh1LFswLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWI7Zm9yKDs7KXt2YXJcbmQ9bShhKTthOmlmKHR5cGVvZlxuZD09PVwibnVtYmVyXCIpe2lmKGFuIT09ZCYmViE9PWQpYnJlYWsgYTtyZXR1cm4gQihjKX12YXJcbmU9WzAsYWYoYSksY107aWYoYW4hPT1tKGEpKW4oYSw5KTt2YXJcbmM9ZX19XSk7YShIdixbMCxmdW5jdGlvbihhLGIpe3ZhclxuYz1iO2Zvcig7Oyl7dmFyXG5kPWNbMl0sZT1jWzFdO2lmKDEwPT09bShhKSYmbVUoMSxhKSl7bGV0XG5iPWQ7dmFyXG5mPXEoWzAsZV0sZnVuY3Rpb24oYSl7bihhLDEwKTtyZXR1cm5bMCxiLGkxKGEpXX0sYSksZz1mWzFdLGM9WzAsZyxbMSxbMCxnLGZbMl1dXV07Y29udGludWV9cmV0dXJuWzAsZSxkXX19XSk7ZnVuY3Rpb25cbkhPKGEsYil7aWYoNCE9PW0oYSkpcmV0dXJuWzAsMCxwKFswLGJdLFswLHQoYSldLGwpXTt2YXJcbmM9SShiLHIoYSkpO24oYSw0KTthRihhLDApO3ZhclxuZD1pKHZbOV0sYSk7YUkoYSk7bihhLDUpO3JldHVyblswLFswLGRdLHAoWzAsY10sWzAsdChhKV0sbCldfWZ1bmN0aW9uXG5hZkUoYSl7dmFyXG5jPW0oYSk7aWYodHlwZW9mXG5jPT09XCJudW1iZXJcIiYmODc9PT1jKXtpZigxLWFxKGEpKUsoYSxiZSk7dmFyXG5iPXkoYSk7bihhLDg3KTtyZXR1cm4gbTEoYSk/WzIsSEkoYSxiKV06WzEscShbMCxiXSxhZixhKV19cmV0dXJuWzAsaE4oYSldfWZ1bmN0aW9uXG5hZkYoYSl7dmFyXG5iPW0oYSk7aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmODc9PT1iKXJldHVyblsxLGs0KGEpXTtyZXR1cm5bMCxoTihhKV19ZnVuY3Rpb25cbmFmXyhhKXt2YXJcbmI9cihhKTtuKGEsNjcpO3JldHVybiBITyhhLGIpfXZhclxuYWYkPTA7ZnVuY3Rpb25cbkhQKGEpe3ZhclxuYj1pVygwLGEpLGM9bShiKTtpZih0eXBlb2ZcbmM9PT1cIm51bWJlclwiJiY2Nz09PWMpcmV0dXJuWzAscShhZiQsYWZfLGIpXTtyZXR1cm4gMH1mdW5jdGlvblxuYWdhKGEpe3ZhclxuZT1tKGEpO2lmKHR5cGVvZlxuZT09PVwibnVtYmVyXCImJjg3PT09ZSl7aWYoMS1hcShhKSlLKGEsYmUpO3ZhclxuZj1oTihhKSxiPXkoYSk7bihhLDg3KTt2YXJcbmM9bShhKTtpZih0eXBlb2ZcbmM9PT1cIm51bWJlclwiJiY2Nz09PWMpcmV0dXJuWzAsWzAsZl0sWzAscShbMCxiXSxmdW5jdGlvbihhKXt2YXJcbmI9cihhKTtuKGEsNjcpO3JldHVybiBITyhhLGIpfSxpVygwLGEpKV1dO2lmKG0xKGEpKXJldHVyblswLFsyLEhJKGEsYildLDBdO3ZhclxuZD1bMSxxKFswLGJdLGFmLGEpXSxnPTY3PT09bShhKT9qVihhLGQpOmQ7cmV0dXJuWzAsZyxIUChhKV19cmV0dXJuWzAsWzAsaE4oYSldLDBdfWZ1bmN0aW9uXG5iRChhLGIpe3ZhclxuYz1oTSgxLGIpO2FGKGMsMSk7dmFyXG5kPWEoYyk7YUkoYyk7cmV0dXJuIGR9ZnVuY3Rpb25cbmhQKGEpe3JldHVybiBiRChhZixhKX1mdW5jdGlvblxuY1IoYSl7cmV0dXJuIGJEKGkxLGEpfWZ1bmN0aW9uXG5iSihhKXtyZXR1cm4gYkQoaTIsYSl9ZnVuY3Rpb25cbkhRKGEpe3JldHVybiBiRChzcSxhKX1mdW5jdGlvblxuaTMoYSl7cmV0dXJuIGJEKGs0LGEpfWZ1bmN0aW9uXG5zcyhhKXtyZXR1cm4gYkQoYWZGLGEpfWZ1bmN0aW9uXG5zdChhKXtyZXR1cm4gYkQoYWZFLGEpfWZ1bmN0aW9uXG5zdShhKXtyZXR1cm4gYkQoYWdhLGEpfWZ1bmN0aW9uXG5IUihhKXtyZXR1cm4gYkQobTYsYSl9ZnVuY3Rpb25cbnN2KGEpe3JldHVybiBiRChzcixhKX1mdW5jdGlvblxuaXMoYSxiKXt2YXJcbmM9YlsyXSxqPWJbMV0saz1hWzFdO3N3aXRjaChjWzBdKXtjYXNlXG4wOnJldHVybiBhVihhaFQsYSxjWzFdWzFdKTtjYXNlXG4xOnJldHVybiBhVihhaFUsYSxjWzFdWzFdKTtjYXNlXG4yOnZhclxuZD1jWzFdWzFdLGY9ZFsyXVsxXSxnPWFbMl0sZT1hWzFdLGw9ZFsxXTtpZihhN1szXS5jYWxsKG51bGwsZixnKSl1KGUsWzAsbCw3OF0pO3ZhclxuaD1kWzJdWzFdLGk9ZFsxXTtpZihpWChoKSliMChlLFswLGksNzldKTtpZihqUyhoKSliMChlLFswLGksODFdKTtyZXR1cm5bMCxlLGE3WzRdLmNhbGwobnVsbCxmLGcpXTtkZWZhdWx0OnUoayxbMCxqLDIwXSk7cmV0dXJuIGF9fWZ1bmN0aW9uXG5haFQoYil7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiAwPT09YVswXT9pcyhiLGFbMV1bMl1bMl0pOmlzKGIsYVsxXVsyXVsxXSl9fWZ1bmN0aW9uXG5haFUoYil7cmV0dXJuIGZ1bmN0aW9uKGEpe3N3aXRjaChhWzBdKXtjYXNlXG4wOnJldHVybiBpcyhiLGFbMV1bMl1bMV0pO2Nhc2VcbjE6cmV0dXJuIGlzKGIsYVsxXVsyXVsxXSk7ZGVmYXVsdDpyZXR1cm4gYn19fWZ1bmN0aW9uXG5JZChhLGIpe3ZhclxuYz1iWzJdLGQ9Y1szXSxlPWFWKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGlzKGEsYlsyXVsxXSl9LFswLGEsYTdbMV1dLGNbMl0pO2lmKCFkKXJldHVybjtpcyhlLGRbMV1bMl1bMV0pO3JldHVybn1mdW5jdGlvblxuSWUoYSxiLGMsZCl7dmFyXG5oPWFbNV0sbz0wPT09ZFswXT9pMChkWzFdKTowLGU9aD9oTSgwLGEpOmhNKGIsYSksaT1ifHxofHwxLW87aWYoIWkpcmV0dXJuIGk7aWYoYyl7dmFyXG5qPWNbMV0saz1qWzJdWzFdLGw9alsxXTtpZihpWChrKSliMChlLFswLGwsNzFdKTtpZihqUyhrKSliMChlLFswLGwsODFdKX1pZigwPT09ZFswXSlyZXR1cm4gSWQoZSxkWzFdKTt2YXJcbmY9ZFsxXVsyXSxnPWZbMl0sbT1bMCxqSyxbMCxbMCxjSShmdW5jdGlvbihhKXt2YXJcbmI9YVsyXSxjPWJbMV0sZD1iWzRdLGU9YlszXSxmPWJbMl0sZz0wPT09Y1swXT9bMyxjWzFdXTpbMCxbMCxqSyxjWzFdWzJdXV07cmV0dXJuWzAsWzAsakssWzAsZyxmLGUsZF1dXX0sZlsxXSksWzAsaktdLDBdXV0sbj1pcyhbMCxlLGE3WzFdXSxtKTtpZighZylyZXR1cm47aXMobixnWzFdWzJdWzFdKTtyZXR1cm59ZnVuY3Rpb25cbmpZKGEsYixjLGQpe3JldHVybiBJZShhLGIsYyxbMCxkXSl9ZnVuY3Rpb25cbklmKGEsYil7aWYoMTIhPT1iKXJldHVybiAwO3ZhclxuZD1yKGEpLGM9cSgwLGZ1bmN0aW9uKGEpe24oYSwxMik7cmV0dXJuIGoodlsxOF0sYSw3OSl9LGEpLGU9Y1syXSxmPWNbMV07cmV0dXJuWzAsWzAsZixlLHAoWzAsZF0sMCxsKV1dfWZ1bmN0aW9uXG5haFYoYSl7aWYoMjI9PT1tKGEpKUsoYSw5MCk7dmFyXG5iPWoodlsxOF0sYSw3OSksYz04Mz09PW0oYSk/KG4oYSw4MyksWzAsaSh2WzEwXSxhKV0pOjA7cmV0dXJuWzAsYixjXX12YXJcbmFoVz0wO2Z1bmN0aW9uXG5qWih2LGIpe2Z1bmN0aW9uXG5jKGEpe3ZhclxuYz1HWCgxLHJfKGIsciQodixhKSkpLHc9cihjKTtuKGMsNCk7YTp7aWYoYXEoYykmJjIyPT09bShjKSl7dmFyXG5rPXIoYyksaD1xKDAsZnVuY3Rpb24oYSl7bihhLDIyKTtyZXR1cm4gODc9PT1tKGEpP1swLGkzKGEpXTooSyhhLDg2KSwwKX0sYyksaT1oWzJdLG89aFsxXTtpZighaSl7dmFyXG5nPTA7YnJlYWsgYX12YXJcbnU9aVsxXTtpZig5PT09bShjKSlzKGMpO3ZhclxuZz1bMCxbMCxvLFswLHUscChbMCxrXSwwLGwpXV1dO2JyZWFrIGF9dmFyXG5nPTB9YTpiOnt2YXJcbmQ9MDtmb3IoOzspe3ZhclxuZT1tKGMpO2lmKHR5cGVvZlxuZT09PVwibnVtYmVyXCIpe3ZhclxuZj1lLTV8MDtpZig3PGY+Pj4wKXtpZihkVj09PWYpYnJlYWt9ZWxzZSBpZig1PGYtMT4+PjApYnJlYWsgYn12YXJcbno9cShhaFcsYWhWLGMpO2lmKDUhPT1tKGMpKW4oYyw5KTt2YXJcbmQ9WzAseixkXX1icmVhayBhfXZhclxueT1sNyhmdW5jdGlvbihhKXtyZXR1cm5bMCxhWzFdLFswLGFbMl0sYVszXV1dfSxJZihjLGUpKTtpZig1IT09bShjKSlLKGMsNjIpO3Zhclxuaj1CKGQpLHg9cihjKTtuKGMsNSk7cmV0dXJuWzAsZyxqLHksYXYoWzAsd10sWzAsdChjKV0seCxsKV19dmFyXG5kPTA7cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBxKGQsYyxhKX19ZnVuY3Rpb25cbklnKGEsYixjLGQsZSl7dmFyXG5mPUczKGEsYixjLGUpO3JldHVybiBqKHZbMTZdLGQsZil9ZnVuY3Rpb25cbmxiKGEsYixjLGQsZSl7dmFyXG5mPUlnKGEsYixjLGQsZSk7cmV0dXJuWzAsWzAsZlsxXV0sZlsyXV19ZnVuY3Rpb25cbmk0KGEpe2lmKGFLIT09bShhKSlyZXR1cm4gYWhZO3ZhclxuYj1yKGEpO3MoYSk7cmV0dXJuWzAsMSxiXX1mdW5jdGlvblxubmooYSl7aWYoNjU9PT1tKGEpJiYhaVkoMSxhKSl7dmFyXG5iPXIoYSk7cyhhKTtyZXR1cm5bMCwxLGJdfXJldHVybiBhaFp9ZnVuY3Rpb25cbmFoMChhKXt2YXJcbmU9bmooYSksYz1lWzFdLHg9ZVsyXSxmPXEoMCxmdW5jdGlvbihhKXt2YXJcbno9cihhKSxiPW0oYSk7YTp7aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIil7aWYoMTU9PT1iKXtzKGEpO3Zhclxudz1pNChhKSxmPXdbMl0sZD13WzFdLGU9MTticmVhayBhfX1lbHNlIGlmKDQ9PT1iWzBdJiYhayhiWzNdLGk4KSYmIWMpe3MoYSk7dmFyXG5mPTAsZD0wLGU9MDticmVhayBhfWNzKGEsYik7dmFyXG5uPWk0KGEpLGY9blsyXSxkPW5bMV0sZT0xfXZhclxuQT1rQyhbMCx4LFswLHosWzAsZiwwXV1dKSxCPWFbN10sZz1tKGEpO2E6e2lmKEImJnR5cGVvZlxuZz09PVwibnVtYmVyXCIpe2lmKDQ9PT1nKXt2YXJcbmk9MCxoPTA7YnJlYWsgYX1pZig5OT09PWcpe3ZhclxuRD1iaChhLGJKKGEpKSxFPTQ9PT1tKGEpPzA6WzAsYl8oYSxqKHZbMTNdLGFoMSxhKSldLGk9RSxoPUQ7YnJlYWsgYX19dmFyXG5GPWNyKGEpP2JfKGEsaih2WzEzXSxhaDIsYSkpOihHOShhLGFoMyksWzAseShhKSxhaDRdKSxpPVswLEZdLGg9YmgoYSxiSihhKSl9dmFyXG5vPWpaKGMsZCkoYSksQz04Nz09PW0oYSk/bzprMihhLG8pLHA9c3UoYSksbD1wWzJdLHE9cFsxXTtpZihsKXZhclxudT1IZChhLGwpLHQ9cTtlbHNlXG52YXJcbnU9bCx0PWpWKGEscSk7cmV0dXJuWzAsZCxlLGgsaSxDLHQsdSxBXX0sYSksYj1mWzJdLGQ9Yls1XSxnPWJbNF0saD1iWzFdLG49Yls4XSxvPWJbN10sdD1iWzZdLHU9YlszXSx3PWJbMl0sej1mWzFdLGk9bGIoYSxjLGgsMCxpMChkKSksQT1pWzFdO2pZKGEsaVsyXSxnLGQpO3JldHVyblsyNyxbMCxnLGQsQSxjLGgsdyxvLHQsdSxwKFswLG5dLDAsbCksel1dfXZhclxuYWg1PTA7ZnVuY3Rpb25cbmxjKGEpe3JldHVybiBxKGFoNSxhaDAsYSl9ZnVuY3Rpb25cbnNFKGEsYil7dmFyXG50PXIoYik7bihiLGEpO3ZhclxubD1iWzI4XVsyXTtpZihsKXZhclxubz0yOD09PWE/MTowLHA9bz80OT09PW0oYik/MTowOm87ZWxzZVxudmFyXG5wPWw7aWYocClLKGIsMTkpO3ZhclxuZz0wLGM9MDtmb3IoOzspe3ZhclxuZD1xKDAsZnVuY3Rpb24oYSl7dmFyXG5iPWoodlsxOF0sYSw4Mik7aWYoYWcoYSw4MykpdmFyXG5kPTAsYz1bMCxpKHZbMTBdLGEpXTtlbHNle3ZhclxuZT1iWzFdO2lmKDI9PT1iWzJdWzBdKXZhclxuZD0wLGM9MDtlbHNlXG52YXJcbmQ9WzAsWzAsZSw1OV1dLGM9MH1yZXR1cm5bMCxbMCxiLGNdLGRdfSxiKSxlPWRbMl0sZj1lWzJdLGg9WzAsWzAsZFsxXSxlWzFdXSxnXSxrPWY/WzAsZlsxXSxjXTpjO2lmKCFhZyhiLDkpKXt2YXJcbnM9QihrKTtyZXR1cm5bMCxCKGgpLHQsc119dmFyXG5nPWgsYz1rfX12YXJcbmFoUz1IVSh2KSxhaDY9MjU7ZnVuY3Rpb25cbkloKGEpe3JldHVybiBzRShhaDYsYSl9ZnVuY3Rpb25cbklpKGEpe3ZhclxuYj1zRSgyOCxzYSgxLGEpKSxjPWJbMV0sZD1iWzJdO3JldHVyblswLGMsZCxCKGFWKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGJbMl1bMl0/YTpbMCxbMCxiWzFdLDU4XSxhXX0sYlszXSxjKSldfWZ1bmN0aW9uXG5JaihhKXtyZXR1cm4gc0UoMjksc2EoMSxhKSl9ZnVuY3Rpb25cbklrKGIpe2Z1bmN0aW9uXG5jKGEpe3JldHVyblsyMCxhaFNbMV0uY2FsbChudWxsLGIsYSldfXZhclxuZD0wO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gcShkLGMsYSl9fWZ1bmN0aW9uXG5haDcoYSl7dmFyXG5EPXIoYSksYz1tKGEpLGI9TigxLGEpO2E6e2I6aWYodHlwZW9mXG5jIT09XCJudW1iZXJcIiYmMj09PWNbMF0pe3ZhclxuZz1jWzFdLHc9Z1s0XSx4PWdbM10saD1nWzJdLEE9Z1sxXTtjOntpZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiKXN3aXRjaChiKXtjYXNlXG44NjpjYXNlXG44NzpicmVhaztkZWZhdWx0OmJyZWFrIGN9ZWxzZXtpZig0IT09YlswXSlicmVhayBjO2lmKGsoYlszXSxjYykpYnJlYWsgYn1pZih3KWJDKGEsNzcpO24oYSxbMixbMCxBLGgseCx3XV0pO3ZhclxuQj1bMSxbMCxBLFswLGgseCxwKFswLERdLFswLHQoYSldLGwpXV1dO2lmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjE+PWIraFo+Pj4wKXt2YXJcbm89ODY9PT1iPzE6MDtLKGEsWzE3LG8saF0pO2lmKG8pcyhhKTt2YXJcbkM9eShhKSxmPTAsZT1bMCxDLFsyLFswLFswLEMsYWhfXSxzcyhhKSxvXV1dLGQ9QjticmVhayBhfXMoYSk7dmFyXG5mPTAsZT1qKHZbMThdLGEsNzkpLGQ9QjticmVhayBhfX1pZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiY0PT09YlswXSYmIWsoYlszXSxjYykpe3ZhclxuRz1bMCxhTihhKV07Y1AoYSxhaDkpO3ZhclxuZj0wLGU9aih2WzE4XSxhLDc5KSxkPUc7YnJlYWsgYX1pZih0eXBlb2ZcbmM9PT1cIm51bWJlclwiJiYhYyl7SyhhLDMzKTt2YXJcbkY9WzAsWzAseShhKSxhaDhdXSxmPTAsZT1qKHZbMThdLGEsNzkpLGQ9RjticmVhayBhfXZhclxucT16KHZbMTRdLGEsMCw3OSksdT1xWzJdLGY9MSxlPVswLHFbMV0sWzIsdV1dLGQ9WzAsdVsxXV19dmFyXG5FPTgzPT09bShhKT8obihhLDgzKSxbMCxpKHZbMTBdLGEpXSk6MDtyZXR1cm5bMCxkLGUsRSxmXX12YXJcbmFoJD0wO2Z1bmN0aW9uXG5haWEoYSl7dmFyXG5iPUdYKDEsYSksZz1yKGIpO24oYiw0KTthOmI6e3ZhclxuYz0wO2Zvcig7Oyl7dmFyXG5kPW0oYik7aWYodHlwZW9mXG5kPT09XCJudW1iZXJcIil7dmFyXG5lPWQtNXwwO2lmKDc8ZT4+PjApe2lmKGRWPT09ZSlicmVha31lbHNlIGlmKDU8ZS0xPj4+MClicmVhayBifXZhclxuaj1xKGFoJCxhaDcsYik7aWYoNSE9PW0oYikpbihiLDkpO3ZhclxuYz1bMCxqLGNdfWJyZWFrIGF9dmFyXG5pPWw3KGZ1bmN0aW9uKGEpe3ZhclxuYz1hWzNdLGQ9YVsyXSxlPWFbMV07aWYoOT09PW0oYikpcyhiKTtyZXR1cm5bMCxlLFswLGQsY11dfSxJZihiLGQpKTtpZig1IT09bShiKSlLKGIsNjIpO3ZhclxuZj1CKGMpLGg9cihiKTtuKGIsNSk7cmV0dXJuWzAsZixpLGF2KFswLGddLFswLHQoYildLGgsbCldfXZhclxuYWliPTA7ZnVuY3Rpb25cbmFpYyhhKXt2YXJcbmQ9cSgwLGZ1bmN0aW9uKGEpe3ZhclxuYz1yKGEpO2NQKGEsYWlkKTt2YXJcbmQ9Yl8oYSxqKHZbMTNdLGFpZSxhKSksZT1iaChhLGJKKGEpKSxiPXEoYWliLGFpYSxhKSxmPXNoKGEpP2I6aihheChhKVsyXSxiLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooTChhLDg0MjY4NTg5NiwxMSksYSxiKX0pO3JldHVyblswLGUsZCxmLHNqKGEsc3YoYSkpLGNdfSxhKSxiPWRbMl0sZT1iWzNdLGY9YlsyXSxnPWJbNV0saD1iWzRdLGk9YlsxXSxrPWRbMV0sYz1JZyhhLDAsMCwwLDApLG09Y1sxXTtJZShhLGNbMl0sWzAsZl0sWzEsZV0pO3JldHVyblszLFswLGYsaSxlLGgsbSxwKFswLGddLDAsbCksa11dfXZhclxuYWlmPTA7ZnVuY3Rpb25cbnNGKGEpe3JldHVybiBxKGFpZixhaWMsYSl9ZnVuY3Rpb25cbmFPKGMsYil7aWYoMD09PWJbMF0pcmV0dXJuIGJbMV07dmFyXG5hPWJbMV07YTEoZnVuY3Rpb24oYSl7cmV0dXJuIHUoYyxhKX0sYlsyXVsxXSk7cmV0dXJuIGF9ZnVuY3Rpb25cbnNDKGEsYixjKXt2YXJcbmY9YT9hWzFdOjM2O2lmKDA9PT1jWzBdKXZhclxuZD1jWzFdO2Vsc2V7dmFyXG5oPWNbMV07YTEoZnVuY3Rpb24oYSl7cmV0dXJuIHUoYixhKX0sY1syXVsyXSk7dmFyXG5kPWh9aWYoMS1pKHZbMjNdLGQpKXUoYixbMCxkWzFdLGZdKTt2YXJcbmU9ZFsyXTthOmlmKDEwPT09ZVswXSl7dmFyXG5nPWRbMV07aWYoaVgoZVsxXVsyXVsxXSkpe2IwKGIsWzAsZyw3Ml0pO2JyZWFrIGF9fXJldHVybiBqKHZbMTldLGIsZCl9ZnVuY3Rpb25cbnNEKGEsYil7dmFyXG5jPWpBKGFbMl0sYlsyXSk7cmV0dXJuWzAsakEoYVsxXSxiWzFdKSxjXX1mdW5jdGlvblxuSWMoYSl7dmFyXG5iPUIoYVsyXSk7cmV0dXJuWzAsQihhWzFdKSxiXX1mdW5jdGlvblxubnAoYSl7dmFyXG5kPXkoYSksZT1JUShhKSxmPW0oYSk7YTp7aWYodHlwZW9mXG5mPT09XCJudW1iZXJcIiYmOTA9PT1mKXt2YXJcbmc9cShbMCxkXSxmdW5jdGlvbihhKXt2YXJcbmI9WzAsZSwwXTtmb3IoOzspe3ZhclxuYz1tKGEpO2lmKHR5cGVvZlxuYz09PVwibnVtYmVyXCImJjkwPT09Yyl7cyhhKTt2YXJcbmI9WzAsSVEoYSksYl07Y29udGludWV9dmFyXG5kPUIoYik7cmV0dXJuWzAsZCxwKDAsWzAsdChhKV0sbCldfX0sYSksYj1bMCxnWzFdLFsxMixnWzJdXV07YnJlYWsgYX12YXJcbmI9ZX12YXJcbmM9bShhKTtpZih0eXBlb2ZcbmMhPT1cIm51bWJlclwiJiY0PT09Y1swXSYmIWsoY1szXSxjYykpe3ZhclxuaD1xKFswLGRdLGZ1bmN0aW9uKGEpe3MoYSk7dmFyXG5kPW0oYSk7YTp7YjppZih0eXBlb2ZcbmQ9PT1cIm51bWJlclwiKXt2YXJcbmU9ZCtqOHwwO2lmKDQ+PWU+Pj4wKXtzd2l0Y2goZSl7Y2FzZVxuMDp2YXJcbmc9Y2EoYSwwKSxjPVsxLGdbMV0sZ1syXV07YnJlYWs7Y2FzZVxuMzp2YXJcbmg9Y2EoYSwyKSxjPVsxLGhbMV0saFsyXV07YnJlYWs7Y2FzZVxuNDp2YXJcbmk9Y2EoYSwxKSxjPVsxLGlbMV0saVsyXV07YnJlYWs7ZGVmYXVsdDpicmVhayBifXZhclxuZj1jO2JyZWFrIGF9fXZhclxuZj1bMCxqKHZbMTNdLDAsYSldfXJldHVyblswLGIsZixwKDAsWzAsdChhKV0sbCldfSxhKTtyZXR1cm5bMCxoWzFdLFsxMyxoWzJdXV19cmV0dXJuIGJ9ZnVuY3Rpb25cbklRKGEpe3ZhclxuZD1tKGEpO2lmKHR5cGVvZlxuZD09PVwibnVtYmVyXCIpc3dpdGNoKGQpe2Nhc2VcbjA6dmFyXG5hdD1mdW5jdGlvbihiKXt2YXJcbm89eShiKSxxPXIoYik7ZnVuY3Rpb25cbmQoYSl7dmFyXG5jPWFbMl0sZD1hWzFdLGU9WzIsWzAsZCxjWzJdWzJdXV07cmV0dXJuWzAsbyxbMCxlLFswLGQsWzcsY11dLDEscChbMCxxXSxbMCx0KGIpXSxsKV1dfXZhclxucz1tKGIpO2lmKHR5cGVvZlxucz09PVwibnVtYmVyXCIpe3ZhclxudT1zK2o4fDA7aWYoND49dT4+PjApc3dpdGNoKHUpe2Nhc2VcbjA6cmV0dXJuIGQoY2EoYiwwKSk7Y2FzZVxuMzpyZXR1cm4gZChjYShiLDIpKTtjYXNlXG40OnJldHVybiBkKGNhKGIsMSkpfX12YXJcbmY9cihiKSxhPW0oYik7YTp7aWYodHlwZW9mXG5hIT09XCJudW1iZXJcIilzd2l0Y2goYVswXSl7Y2FzZVxuMDp2YXJcbmc9YVsyXSx3PWFbMV0seD15KGIpLEE9eih2WzI0XSxiLHcsZyksZT1bMSxbMCx4LFswLEEsZyxwKFswLGZdLFswLHQoYildLGwpXV1dO2JyZWFrIGE7Y2FzZVxuMjp2YXJcbmM9YVsxXSxoPWNbNF0saT1jWzNdLGo9Y1syXSxrPWNbMV07aWYoaCliQyhiLDc3KTtuKGIsWzIsWzAsayxqLGksaF1dKTt2YXJcbmU9WzAsWzAsayxbMCxqLGkscChbMCxmXSxbMCx0KGIpXSxsKV1dXTticmVhayBhfXZhclxuZT1bMixhTihiKV19bihiLDg3KTt2YXJcbkI9bnAoYik7cmV0dXJuWzAsbyxbMCxlLEIsMCxwKFswLHFdLFswLHQoYildLGwpXV19O3JldHVybiBxKDAsZnVuY3Rpb24oYSl7dmFyXG5oPXIoYSk7bihhLDApO2E6e3ZhclxuYj0wO2Zvcig7Oyl7dmFyXG5lPW0oYSk7aWYodHlwZW9mXG5lPT09XCJudW1iZXJcIil7dmFyXG5jPWUtMnwwO2lmKGJzPGM+Pj4wKXtpZihibT49YysxPj4+MCl7dmFyXG5kPVswLEIoYiksMF07YnJlYWsgYX19ZWxzZSBpZigxMD09PWMpYnJlYWt9dmFyXG5mPWF0KGEpO2lmKDEtKDE9PT1tKGEpPzE6MCkpbihhLDkpO3ZhclxuYj1bMCxmLGJdfXZhclxuZz1JUyhhKTtpZig5PT09bShhKSl1KGEsWzAseShhKSxhalVdKTt2YXJcbmQ9WzAsQihiKSxbMCxnXV19dmFyXG5pPWRbMl0saj1kWzFdLGs9cihhKTtuKGEsMSk7cmV0dXJuWzEwLFswLGosaSxhdihbMCxoXSxbMCx0KGEpXSxrLGwpXV19LGEpO2Nhc2VcbjQ6dmFyXG5LPXIoYSk7bihhLDQpO3ZhclxuTD1ucChhKTtuKGEsNSk7dmFyXG5NPXQoYSksYj1MWzJdLGU9ZnVuY3Rpb24oYSl7cmV0dXJuIGE0KGEscChbMCxLXSxbMCxNXSxsKSl9LFM9ZnVuY3Rpb24oYSl7cmV0dXJuIG1wKGEscChbMCxLXSxbMCxNXSxsKSl9LGF1PUxbMV07c3dpdGNoKGJbMF0pe2Nhc2VcbjA6dmFyXG5jPVswLGUoYlsxXSldO2JyZWFrO2Nhc2VcbjE6dmFyXG5pPWJbMV0sYXc9ZShpWzNdKSxjPVsxLFswLGlbMV0saVsyXSxhd11dO2JyZWFrO2Nhc2VcbjI6dmFyXG5vPWJbMV0sYXg9ZShvWzNdKSxjPVsyLFswLG9bMV0sb1syXSxheF1dO2JyZWFrO2Nhc2VcbjM6dmFyXG53PWJbMV0sYXk9ZSh3WzNdKSxjPVszLFswLHdbMV0sd1syXSxheV1dO2JyZWFrO2Nhc2VcbjQ6dmFyXG5UPWJbMV0sYXo9ZShUWzJdKSxjPVs0LFswLFRbMV0sYXpdXTticmVhaztjYXNlXG41OnZhclxuYz1bNSxlKGJbMV0pXTticmVhaztjYXNlXG42OnZhclxueD1iWzFdLGFBPWUoeFszXSksYz1bNixbMCx4WzFdLHhbMl0sYUFdXTticmVhaztjYXNlXG43OnZhclxuQT1iWzFdLGFCPWUoQVszXSksYz1bNyxbMCxBWzFdLEFbMl0sYUJdXTticmVhaztjYXNlXG44OnZhclxuVT1iWzFdLFY9VVsyXSxhQz1VWzFdLGFEPWUoVlsyXSksYz1bOCxbMCxhQyxbMCxWWzFdLGFEXV1dO2JyZWFrO2Nhc2Vcbjk6dmFyXG5XPWJbMV0sQz1XWzJdLGFFPVdbMV0sYUY9ZShDWzNdKSxjPVs5LFswLGFFLFswLENbMV0sQ1syXSxhRl1dXTticmVhaztjYXNlXG4xMDp2YXJcbkQ9YlsxXSxhRz1TKERbM10pLGM9WzEwLFswLERbMV0sRFsyXSxhR11dO2JyZWFrO2Nhc2VcbjExOnZhclxuRT1iWzFdLGFIPVMoRVszXSksYz1bMTEsWzAsRVsxXSxFWzJdLGFIXV07YnJlYWs7Y2FzZVxuMTI6dmFyXG5YPWJbMV0sYUk9ZShYWzJdKSxjPVsxMixbMCxYWzFdLGFJXV07YnJlYWs7ZGVmYXVsdDp2YXJcbkY9YlsxXSxhSj1lKEZbM10pLGM9WzEzLFswLEZbMV0sRlsyXSxhSl1dfXJldHVyblswLGF1LGNdO2Nhc2VcbjY6cmV0dXJuIHEoMCxmdW5jdGlvbihhKXt2YXJcbmk9cihhKSxqPXkoYSk7bihhLDYpO2E6e3ZhclxuYj0wO2Zvcig7Oyl7dmFyXG5lPW0oYSk7aWYodHlwZW9mXG5lPT09XCJudW1iZXJcIil7dmFyXG5jPWUtOHwwO2lmKGNoPGM+Pj4wKXtpZihhSz49YysxPj4+MCl7dmFyXG5kPVswLEIoYiksMF07YnJlYWsgYX19ZWxzZSBpZig0PT09YylicmVha312YXJcbmY9bnAoYSksZz0kKGoseShhKSk7aWYoNyE9PW0oYSkpbihhLDkpO3ZhclxuYj1bMCxbMCxnLGZdLGJdfXZhclxuaD1JUyhhKTtpZig5PT09bShhKSl1KGEsWzAseShhKSxhalZdKTt2YXJcbmQ9WzAsQihiKSxbMCxoXV19dmFyXG5rPWRbMl0sbz1kWzFdLHA9cihhKTtuKGEsNyk7cmV0dXJuWzExLFswLG8sayxhdihbMCxpXSxbMCx0KGEpXSxwLGwpXV19LGEpO2Nhc2VcbjI1OnZhclxuTj1jYShhLDApO3JldHVyblswLE5bMV0sWzcsTlsyXV1dO2Nhc2VcbjI4OnZhclxuTz1jYShhLDIpO3JldHVyblswLE9bMV0sWzcsT1syXV1dO2Nhc2VcbjI5OnZhclxuUD1jYShhLDEpO3JldHVyblswLFBbMV0sWzcsUFsyXV1dO2Nhc2VcbjMwOnZhclxuXz1yKGEpLGFhPXkoYSk7cyhhKTtyZXR1cm5bMCxhYSxbNSxwKFswLF9dLFswLHQoYSldLGwpXV07Y2FzZVxuMTA0OnJldHVybiBJUihhLDApO2Nhc2VcbjEwNTpyZXR1cm4gSVIoYSwxKTtjYXNlXG4zMTpjYXNlXG4zMjp2YXJcbmFiPXIoYSksYWM9eShhKTtzKGEpO3JldHVyblswLGFjLFs0LFswLDMyPT09ZD8xOjAscChbMCxhYl0sWzAsdChhKV0sbCldXV19ZWxzZVxuc3dpdGNoKGRbMF0pe2Nhc2VcbjA6dmFyXG5RPWRbMl0sYWQ9ZFsxXSxhZT1yKGEpLGFmPXkoYSksYWc9eih2WzI0XSxhLGFkLFEpO3JldHVyblswLGFmLFsxLFswLGFnLFEscChbMCxhZV0sWzAsdChhKV0sbCldXV07Y2FzZVxuMTp2YXJcblI9ZFsyXSxhaD1kWzFdLGFpPXIoYSksYWo9eShhKSxhbD16KHZbMjZdLGEsYWgsUik7cmV0dXJuWzAsYWosWzIsWzAsYWwsUixwKFswLGFpXSxbMCx0KGEpXSxsKV1dXTtjYXNlXG4yOnZhclxuZz1kWzFdLGFtPWdbNF0sYW49Z1szXSxhbz1nWzJdLGFwPWdbMV0sYXE9cihhKTtpZihhbSliQyhhLDc3KTtzKGEpO3JldHVyblswLGFwLFszLFswLGFvLGFuLHAoWzAsYXFdLFswLHQoYSldLGwpXV1dO2Nhc2VcbjQ6aWYoIWsoZFszXSxqaykpe3ZhclxuYXI9cihhKSxhcz15KGEpO3MoYSk7cmV0dXJuWzAsYXMsWzAscChbMCxhcl0sWzAsdChhKV0sbCldXX1icmVha31pZighY3IoYSkpe3ZhclxuWT1yKGEpLFo9eShhKTthaygwLGEpO2E6aWYodHlwZW9mXG5kIT09XCJudW1iZXJcIiYmNz09PWRbMF0pe3MoYSk7YnJlYWsgYX1yZXR1cm5bMCxaLFswLHAoWzAsWV0sYWpRLGwpXV19dmFyXG5HPXkoYSksZj1bMCxqKHZbMTNdLDAsYSldO2Zvcig7Oyl7dmFyXG5oPW0oYSk7aWYodHlwZW9mXG5oPT09XCJudW1iZXJcIil7aWYoNj09PWgpe2xldFxucz1mO3ZhclxuZj1bMSxxKFswLEddLGZ1bmN0aW9uKGEpe24oYSw2KTt2YXJcbmU9cihhKSxiPW0oYSk7YTp7aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIilzd2l0Y2goYlswXSl7Y2FzZVxuMDp2YXJcbmY9YlsyXSxrPWJbMV0sbz15KGEpLHE9eih2WzI0XSxhLGssZiksZD1bMSxbMCxvLFswLHEsZixwKFswLGVdLFswLHQoYSldLGwpXV1dO2JyZWFrIGE7Y2FzZVxuMjp2YXJcbmM9YlsxXSxnPWNbNF0saD1jWzNdLGk9Y1syXSxqPWNbMV07aWYoZyliQyhhLDc3KTtuKGEsWzIsWzAsaixpLGgsZ11dKTt2YXJcbmQ9WzAsWzAsaixbMCxpLGgscChbMCxlXSxbMCx0KGEpXSxsKV1dXTticmVhayBhfWFrKGFqTyxhKTt2YXJcbmQ9WzAsWzAseShhKSxhalBdXX1uKGEsNyk7cmV0dXJuWzAscyxkLHAoMCxbMCx0KGEpXSxsKV19LGEpXTtjb250aW51ZX1pZigxMD09PWgpe2xldFxuYz1mO3ZhclxuZj1bMSxxKFswLEddLGZ1bmN0aW9uKGEpe3MoYSk7dmFyXG5iPVsyLGFOKGEpXTtyZXR1cm5bMCxjLGIscCgwLFswLHQoYSldLGwpXX0sYSldO2NvbnRpbnVlfX1pZigwPT09ZlswXSl7dmFyXG5IPWZbMV07cmV0dXJuWzAsSFsxXSxbOCxIXV19dmFyXG5JPWZbMV0sSj1JWzFdO3JldHVyblswLEosWzksWzAsSixJWzJdXV1dfX1mdW5jdGlvblxuSVIoYSxiKXtyZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe3ZhclxuZz1yKGEpO3MoYSk7dmFyXG5jPW0oYSk7YTp7aWYodHlwZW9mXG5jIT09XCJudW1iZXJcIilzd2l0Y2goY1swXSl7Y2FzZVxuMDp2YXJcbmU9Y1syXSxpPWNbMV0saj1yKGEpLGs9eShhKSxuPXoodlsyNF0sYSxpLGUpLGQ9WzAsayxbMCxbMCxuLGUscChbMCxqXSxbMCx0KGEpXSxsKV1dXTticmVhayBhO2Nhc2VcbjE6dmFyXG5mPWNbMl0sbz1jWzFdLHE9cihhKSx1PXkoYSksdz16KHZbMjZdLGEsbyxmKSxkPVswLHUsWzEsWzAsdyxmLHAoWzAscV0sWzAsdChhKV0sbCldXV07YnJlYWsgYX12YXJcbmg9eShhKTthayhhalIsYSk7dmFyXG5kPVswLGgsYWpTXX1yZXR1cm5bNixbMCxiLGQscChbMCxnXSxbMCx0KGEpXSxsKV1dfSxhKX1mdW5jdGlvblxuY2EoYSxiKXtyZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe3ZhclxuYz1yKGEpO3MoYSk7dmFyXG5kPWoodlsxM10sYWpULGEpO3JldHVyblswLGIsZCxwKFswLGNdLFswLHQoYSldLGwpXX0sYSl9ZnVuY3Rpb25cbklTKGEpe3JldHVybiBxKDAsZnVuY3Rpb24oYSl7dmFyXG5mPXIoYSk7bihhLDEyKTt2YXJcbmM9bShhKTthOntiOmlmKHR5cGVvZlxuYz09PVwibnVtYmVyXCIpe3ZhclxuZD1jK2o4fDA7aWYoND49ZD4+PjApe3N3aXRjaChkKXtjYXNlXG4wOnZhclxuYj1bMCxjYShhLDApXTticmVhaztjYXNlXG4zOnZhclxuYj1bMCxjYShhLDIpXTticmVhaztjYXNlXG40OnZhclxuYj1bMCxjYShhLDEpXTticmVhaztkZWZhdWx0OmJyZWFrIGJ9dmFyXG5lPWI7YnJlYWsgYX19dmFyXG5lPTB9cmV0dXJuWzAsZSxwKFswLGZdLFswLHQoYSldLGwpXX0sYSl9ZnVuY3Rpb25cbklsKGEsYil7dmFyXG5jPTA9PT1hWzBdP2FbMV06YVsxXS0xfDAsZD0wPT09YlswXT9iWzFdOmJbMV07cmV0dXJuIGQ8PWM/MTowfXZhclxubGQ9W10sbms9W10sSW09W10sSW49W10sSW89W10sbGU9W10sSXA9W10sSXE9W10sc0c9W10sSXI9W107ZnVuY3Rpb25cbmxmKGEpe3ZhclxuZT1jcihhKTtpZihlKXt2YXJcbmM9bShhKTthOntpZih0eXBlb2ZcbmM9PT1cIm51bWJlclwiKWlmKDU5PT09Yyl7aWYoYVsxOF0pe3ZhclxuZD0wO2JyZWFrIGF9fWVsc2UgaWYoNjY9PT1jJiZhWzE5XSl7dmFyXG5kPTA7YnJlYWsgYX12YXJcbmQ9MX12YXJcbmY9ZH1lbHNlXG52YXJcbmY9ZTt2YXJcbmI9bShhKTthOntiOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCIpe2lmKDIzPD1iKXtpZig1OT09PWIpe2lmKGFbMThdKXJldHVyblswLHEoMCxmdW5jdGlvbihhKXtpZihhWzEwXSlLKGEsYm0pO3ZhclxuaD1yKGEpLGk9eShhKTtuKGEsNTkpO3Zhclxuaj15KGEpO2lmKGpVKGEpKXZhclxuZD0wLGM9MDtlbHNle3ZhclxuZT1hZyhhLGFLKSxiPW0oYSk7YTp7YjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiKXtpZig4NyE9PWIpe2lmKDEwPD1iKWJyZWFrIGI7c3dpdGNoKGIpe2Nhc2VcbjA6Y2FzZVxuMjpjYXNlXG4zOmNhc2VcbjQ6Y2FzZVxuNjpicmVhayBifX12YXJcbmY9MDticmVhayBhfXZhclxuZj0xfWE6e2lmKCFlJiYhZil7dmFyXG5nPTA7YnJlYWsgYX12YXJcbmc9WzAsYiQoYSldfXZhclxuZD1lLGM9Z312YXJcbms9Yz8wOnQoYSksbz0kKGksaik7cmV0dXJuWzM4LFswLGMscChbMCxoXSxbMCxrXSxsKSxkLG9dXX0sYSldO2JyZWFrIGJ9aWYoOTkhPT1iKWJyZWFrIGJ9ZWxzZSBpZig0IT09YiYmMjI+YilicmVhayBiO2JyZWFrIGF9aWYoIWYpcmV0dXJuIGkobGRbMV0sYSl9YTp7aWYoNjU9PT1iJiZhcShhKSYmOTk9PT1OKDEsYSkpe3ZhclxuaD1sZFsyXSxnPUlIO2JyZWFrIGF9dmFyXG5oPUlILGc9bGRbMl19dmFyXG5qPXNpKGEsZyk7aWYoailyZXR1cm4galsxXTt2YXJcbms9c2koYSxoKTtyZXR1cm4gaz9rWzFdOmkobGRbMV0sYSl9ZnVuY3Rpb25cbmIkKGEpe3JldHVybiBhTyhhLGxmKGEpKX1mdW5jdGlvblxuSXMoYSl7dmFyXG5jPWFbMl07c3dpdGNoKGNbMF0pe2Nhc2VcbjI0OnZhclxuYj1jWzFdLGQ9YlsxXVsyXVsxXTtpZihrKGQsYmopKXtpZighayhkLGpxKSYmIWsoYlsyXVsyXVsxXSxvaSkpcmV0dXJuIDB9ZWxzZSBpZighayhiWzJdWzJdWzFdLGx0KSlyZXR1cm4gMDticmVhaztjYXNlXG4xMDpjYXNlXG4yMzpicmVhaztkZWZhdWx0OnJldHVybiAwfXJldHVybiAxfWZ1bmN0aW9uXG5JdChhKXt2YXJcbmo9eShhKSxjPXEoMCxubCxhKSxkPWNbMl0sZT1jWzFdLGY9bShhKTthOntpZih0eXBlb2ZcbmY9PT1cIm51bWJlclwiJiY4NT09PWYpe3ZhclxuZz1zOChua1szXSwxLGEsZCxlKTticmVhayBhfXZhclxuaT16KG5rWzFdLGEsZCxlKSxnPXoobmtbMl0sYSxpWzJdLGlbMV0pfXZhclxuaD1nWzJdO2lmKDg2IT09bShhKSlyZXR1cm4gaDtzKGEpO3Zhclxuaz1iJChrWSgwLGEpKTtuKGEsODcpO3ZhclxuYj1xKFswLGpdLGIkLGEpLGw9YlsyXSxvPWJbMV07cmV0dXJuWzAsWzAsbyxbOCxbMCxhTyhhLGgpLGssbCwwXV1dXX1mdW5jdGlvblxubmwoYSl7cmV0dXJuIGooSW1bMV0sYSwwKX1mdW5jdGlvblxuSXUoYSl7dmFyXG5iPW0oYSk7aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIilpZig0OTw9Yil7aWYoYlQ8PWIpe2lmKGhZPmIpc3dpdGNoKGIreFp8MCl7Y2FzZVxuMDpyZXR1cm4gYWl4O2Nhc2VcbjE6cmV0dXJuIGFpeTtjYXNlXG42OnJldHVybiBhaXo7Y2FzZVxuNzpyZXR1cm4gYWlBfX1lbHNlIGlmKDY2PT09YiYmYVsxOV0pe2lmKGFbMTBdKUsoYSw2KTtyZXR1cm4gYWlCfX1lbHNlIGlmKDQ2PD1iKXN3aXRjaChiK2l3fDApe2Nhc2VcbjA6cmV0dXJuIGFpQztjYXNlXG4xOnJldHVybiBhaUQ7ZGVmYXVsdDpyZXR1cm4gYWlFfXJldHVybiAwfWZ1bmN0aW9uXG5JdihhKXt2YXJcbmo9eShhKSxrPXIoYSksbj1JdShhKTtpZihuKXt2YXJcbm89blsxXTtzKGEpO3Zhclxudj1xKFswLGpdLEl3LGEpLHc9dlsyXSxmPXZbMV07YTpiOmlmKDY9PT1vKXt2YXJcbng9d1syXTtzd2l0Y2goeFswXSl7Y2FzZVxuMTA6YjAoYSxbMCxmLDY5XSk7YnJlYWs7Y2FzZVxuMjM6aWYoMT09PXhbMV1bMl1bMF0pdShhLFswLGYsNjNdKTticmVhaztkZWZhdWx0OmJyZWFrIGJ9YnJlYWsgYX1yZXR1cm5bMCxbMCxmLFszNixbMCxvLHcscChbMCxrXSwwLGwpXV1dXX12YXJcbmc9bShhKTthOntpZih0eXBlb2Zcbmc9PT1cIm51bWJlclwiKXtpZihoWT09PWcpe3ZhclxuYz1haUY7YnJlYWsgYX1pZihibT09PWcpe3ZhclxuYz1haUc7YnJlYWsgYX19dmFyXG5jPTB9aWYoYyl7dmFyXG5DPWNbMV07cyhhKTt2YXJcbno9cShbMCxqXSxJdyxhKSxkPXpbMl0sRD16WzFdO2lmKDEtSXMoZCkpdShhLFswLGRbMV0sMzZdKTt2YXJcbkE9ZFsyXTthOmlmKDEwPT09QVswXSYmaVgoQVsxXVsyXVsxXSkpe2JDKGEsNzQpO2JyZWFrIGF9cmV0dXJuWzAsWzAsRCxbMzcsWzAsQyxkLDEscChbMCxrXSwwLGwpXV1dXX12YXJcbmg9SXgoYSk7aWYoYTgoYSkpcmV0dXJuIGg7dmFyXG5pPW0oYSk7YTp7aWYodHlwZW9mXG5pPT09XCJudW1iZXJcIil7aWYoaFk9PT1pKXt2YXJcbmU9YWlIO2JyZWFrIGF9aWYoYm09PT1pKXt2YXJcbmU9YWlJO2JyZWFrIGF9fXZhclxuZT0wfWlmKCFlKXJldHVybiBoO3ZhclxuRT1lWzFdLGI9YU8oYSxoKTtpZigxLUlzKGIpKXUoYSxbMCxiWzFdLDM2XSk7dmFyXG5CPWJbMl07YTppZigxMD09PUJbMF0mJmlYKEJbMV1bMl1bMV0pKXtiQyhhLDczKTticmVhayBhfXZhclxuRj15KGEpO3MoYSk7dmFyXG5HPXQoYSksSD0kKGJbMV0sRik7cmV0dXJuWzAsWzAsSCxbMzcsWzAsRSxiLDAscCgwLFswLEddLGwpXV1dXX1mdW5jdGlvblxuSXcoYSl7cmV0dXJuIGFPKGEsSXYoYSkpfWZ1bmN0aW9uXG5JeChhKXt2YXJcbmc9eShhKSxoPTEtYVsxN10saT0wLGI9MD09PWFbMTddP2E6WzAsYVsxXSxhWzJdLGFbM10sYVs0XSxhWzVdLGFbNl0sYVs3XSxhWzhdLGFbOV0sYVsxMF0sYVsxMV0sYVsxMl0sYVsxM10sYVsxNF0sYVsxNV0sYVsxNl0saSxhWzE4XSxhWzE5XSxhWzIwXSxhWzIxXSxhWzIyXSxhWzIzXSxhWzI0XSxhWzI1XSxhWzI2XSxhWzI3XSxhWzI4XSxhWzI5XSxhWzMwXSxhWzMxXV0sZD1tKGIpO2E6e2I6aWYodHlwZW9mXG5kPT09XCJudW1iZXJcIil7dmFyXG5lPWQrQjd8MDtpZig3Pj1lPj4+MCl7c3dpdGNoKGUpe2Nhc2VcbjA6aWYoIWgpYnJlYWsgYjt2YXJcbmM9WzAsSUEoYildO2JyZWFrO2Nhc2VcbjY6dmFyXG5jPVswLHEoMCxmdW5jdGlvbihhKXt2YXJcbmI9cihhKSxjPXkoYSk7bihhLDUxKTtpZihhZyhhLDEwKSl7dmFyXG5kPWNwKDAsWzAsYyxhaU1dKSxlPXkoYSk7Y1AoYSxhaU4pO3ZhclxuZj1jcCgwLFswLGUsYWlPXSk7cmV0dXJuWzI0LFswLGQsZixwKFswLGJdLFswLHQoYSldLGwpXV19dmFyXG5nPXIoYSk7bihhLDQpO3ZhclxuaD1JRyhbMCxnXSwwLGIkKGtZKDAsYSkpKTtuKGEsNSk7cmV0dXJuWzExLFswLGgscChbMCxiXSxbMCx0KGEpXSxsKV1dfSxiKV07YnJlYWs7Y2FzZVxuNzp2YXJcbmM9WzAsSXkoYildO2JyZWFrO2RlZmF1bHQ6YnJlYWsgYn12YXJcbmY9YzticmVhayBhfX12YXJcbmY9aXAoYik/WzAsSUMoYildOklEKGIpfXJldHVybiBpdCgwLDAsYixnLGYpfWZ1bmN0aW9uXG5zSChhKXtyZXR1cm4gYU8oYSxJeChhKSl9ZnVuY3Rpb25cbkl5KGEpe3N3aXRjaChhWzIyXSl7Y2FzZVxuMDp2YXJcbmQ9MCxjPTA7YnJlYWs7Y2FzZVxuMTp2YXJcbmQ9MCxjPTE7YnJlYWs7ZGVmYXVsdDp2YXJcbmQ9MSxjPTF9dmFyXG5iPXkoYSksZz1yKGEpO24oYSw1Mik7dmFyXG5lPVswLGIsWzMwLFswLHAoWzAsZ10sWzAsdChhKV0sbCldXV0sZj1tKGEpO2lmKHR5cGVvZlxuZj09PVwibnVtYmVyXCImJjExPmYpc3dpdGNoKGYpe2Nhc2VcbjQ6dmFyXG5oPWQ/ZToodShhLFswLGIsYnRdKSxbMCxiLFsxMCxjcCgwLFswLGIsYWlLXSldXSk7cmV0dXJuIEl6KDAsYSxiLGgpO2Nhc2VcbjY6Y2FzZVxuMTA6dmFyXG5pPWM/ZToodShhLFswLGIsYW5dKSxbMCxiLFsxMCxjcCgwLFswLGIsYWlMXSldXSk7cmV0dXJuIEl6KDAsYSxiLGkpfWlmKGMpYWsoYWlKLGEpO2Vsc2VcbnUoYSxbMCxiLGFuXSk7cmV0dXJuIGV9ZnVuY3Rpb25cbml0KGEsYixjLGQsZSl7dmFyXG5rPWE/YVsxXToxLGg9Yj9iWzFdOjAsZj1JQihbMCxrXSxbMCxoXSxjLGQsZSksbD1HMShjKTthOntpZihsKXt2YXJcbm49bFsxXTtpZih0eXBlb2Zcbm49PT1cIm51bWJlclwiJiY4ND09PW4pe3ZhclxuZz0xO2JyZWFrIGF9fXZhclxuZz0wfWZ1bmN0aW9uXG5vKGEpe3ZhclxuYj1heChhKVsyXTtyZXR1cm4gaihiLGFPKGEsZiksZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihMKGEsY2IsOTMpLGEsYil9KX1mdW5jdGlvblxucChhLGIsYyl7dmFyXG5lPW5tKGIpLGY9ZVsxXSxtPWVbMl0saT0kKGQsZiksaj1bMCxjLGEsWzAsZixtXSwwXTthOntpZighZyYmIWgpe3ZhclxubD1bNixqXTticmVhayBhfXZhclxubD1bMjcsWzAsaixpLGddXX12YXJcbm49aHx8ZztyZXR1cm4gaXQoWzAsa10sWzAsbl0sYixkLFswLFswLGksbF1dKX1pZihjWzEzXSlyZXR1cm4gZjt2YXJcbnE9bShjKTtpZih0eXBlb2ZcbnE9PT1cIm51bWJlclwiKXt2YXJcbmk9cS05OXwwO2lmKDI8aT4+PjApe2lmKC05NT09PWkpcmV0dXJuIHAoMCxjLG8oYykpfWVsc2UgaWYoMSE9PWkmJmFxKGMpKXJldHVybiBtWShtUyhmdW5jdGlvbihhLGIpe3Rocm93IHgoY1EsMSl9LGMpLGYsZnVuY3Rpb24oYSl7dmFyXG5iPW8oYSk7cmV0dXJuIHAoc0koYSksYSxiKX0pfXJldHVybiBmfWZ1bmN0aW9uXG5JeihhLGIsYyxkKXt2YXJcbmU9YT9hWzFdOjE7cmV0dXJuIGFPKGIsaXQoWzAsZV0sMCxiLGMsWzAsZF0pKX1mdW5jdGlvblxuSUEoYSl7cmV0dXJuIHEoMCxmdW5jdGlvbihhKXt2YXJcbkE9eShhKSxnPXIoYSk7bihhLDQ1KTtpZihhWzExXSYmMTA9PT1tKGEpKXt2YXJcbkI9dChhKTtzKGEpO3ZhclxuaD1jcChwKFswLGddLFswLEJdLGwpLFswLEEsYWlQXSksYj1tKGEpO2lmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjQ9PT1iWzBdJiYhayhiWzNdLG9pKSlyZXR1cm5bMjQsWzAsaCxqKHZbMTNdLDAsYSksMF1dO2FrKGFpUSxhKTtzKGEpO3JldHVyblsxMCxoXX12YXJcbmk9eShhKSxjPW0oYSk7YTp7aWYodHlwZW9mXG5jPT09XCJudW1iZXJcIil7aWYoNDU9PT1jKXt2YXJcbmQ9SUEoYSk7YnJlYWsgYX1pZig1Mj09PWMpe3ZhclxuZD1JeShzYygxLGEpKTticmVhayBhfX12YXJcbmQ9aXAoYSk/SUMoYSk6YU8oYSxJRChhKSl9dmFyXG56PXNjKDEsYSksdz1hTyh6LElCKFswLGFpUlsxXV0sMCx6LGksWzAsZF0pKSxlPW0oYSk7YTp7aWYodHlwZW9mXG5lIT09XCJudW1iZXJcIiYmMz09PWVbMF0pe3ZhclxuZj1JRihhLGksdyxlWzFdKTticmVhayBhfXZhclxuZj13fWE6e2I6aWYoNCE9PW0oYSkpe2lmKGFxKGEpJiY5OT09PW0oYSkpYnJlYWsgYjt2YXJcbm89ZjticmVhayBhfXZhclxubz1qKGF4KGEpWzJdLGYsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihMKGEsY2IsOTQpLGEsYil9KX12YXJcbkM9YXEoYSk/bVkobVMoZnVuY3Rpb24oYSxiKXt0aHJvdyB4KGNRLDEpfSxhKSwwLHNJKTowLHE9bShhKTthOntpZih0eXBlb2ZcbnE9PT1cIm51bWJlclwiJiY0PT09cSl7dmFyXG51PVswLG5tKGEpXTticmVhayBhfXZhclxudT0wfXJldHVyblsyNSxbMCxvLEMsdSxwKFswLGddLDAsbCldXX0sYSl9ZnVuY3Rpb25cbnNJKGEpe2FGKGEsMSk7dmFyXG5iPTk5PT09bShhKT9bMCxxKDAsSW5bMV0sYSldOjA7YUkoYSk7cmV0dXJuIGJ9ZnVuY3Rpb25cbm5tKGEpe3JldHVybiBxKDAsZnVuY3Rpb24oYSl7dmFyXG5iPXIoYSk7bihhLDQpO3ZhclxuYz1qKElvWzFdLGEsMCksZD1yKGEpO24oYSw1KTtyZXR1cm5bMCxjLGF2KFswLGJdLFswLHQoYSldLGQsbCldfSxhKX1mdW5jdGlvblxuSUIoYSxiLGMsZCxlKXt2YXJcbmY9YT9hWzFdOjEsaD1iP2JbMV06MCxnPW0oYyk7aWYodHlwZW9mXG5nPT09XCJudW1iZXJcIilzd2l0Y2goZyl7Y2FzZVxuNjpzKGMpO3JldHVybiBsaihsZVsxXSxbMCxmXSxbMCxoXSwwLGMsZCxlKTtjYXNlXG4xMDpzKGMpO3JldHVybiBsaihsZVsyXSxbMCxmXSxbMCxoXSwwLGMsZCxlKTtjYXNlXG44NDppZigxLWYpSyhjLDYwKTtuKGMsODQpO3ZhclxuaT1tKGMpO2lmKHR5cGVvZlxuaT09PVwibnVtYmVyXCIpc3dpdGNoKGkpe2Nhc2VcbjQ6cmV0dXJuIGU7Y2FzZVxuNjpzKGMpO3JldHVybiBsaihsZVsxXSxbMCxmXSxhaVYsYWlVLGMsZCxlKTtjYXNlXG45OTppZihhcShjKSlyZXR1cm4gZTticmVha31lbHNlIGlmKDM9PT1pWzBdKXtLKGMsNjEpO3JldHVybiBlfXJldHVybiBsaihsZVsyXSxbMCxmXSxhaVQsYWlTLGMsZCxlKX1lbHNlIGlmKDM9PT1nWzBdKXt2YXJcbmo9Z1sxXTtpZihoKUsoYyw2MSk7cmV0dXJuIGl0KGFpVywwLGMsZCxbMCxJRihjLGQsYU8oYyxlKSxqKV0pfXJldHVybiBlfWZ1bmN0aW9uXG5JQyhhKXtyZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe3ZhclxuZT1uaihhKSxjPWVbMV0sdT1lWzJdLGY9cSgwLGZ1bmN0aW9uKGEpe3Zhclxudz1yKGEpO24oYSwxNSk7dmFyXG5mPWk0KGEpLGQ9ZlsxXSx4PWtDKFswLHUsWzAsdyxbMCxmWzJdLDBdXV0pO2lmKDQ9PT1tKGEpKXZhclxuaD0wLGc9MDtlbHNle3ZhclxucT1tKGEpO2E6e2lmKHR5cGVvZlxucT09PVwibnVtYmVyXCImJjk5PT09cSl7dmFyXG5zPTA7YnJlYWsgYX12YXJcbnQ9cl8oZCxyJChjLGEpKSxzPVswLGJfKHQsaih2WzEzXSxhaVgsdCkpXX12YXJcbmg9YmgoYSxiSihhKSksZz1zfXZhclxuYj1pVigwLGEpLHk9Y3x8YlsxOV0saT1qWih5LGQpKGIpLHo9ODc9PT1tKGIpP2k6azIoYixpKSxrPXN1KGIpLGU9a1syXSxsPWtbMV07aWYoZSl2YXJcbnA9SGQoYixlKSxvPWw7ZWxzZVxudmFyXG5wPWUsbz1qVihiLGwpO3JldHVyblswLGcseixkLHAsbyxoLHhdfSxhKSxiPWZbMl0sZz1iWzNdLGQ9YlsyXSxoPWJbMV0saz1iWzddLG89Yls2XSxzPWJbNV0sdD1iWzRdLHc9ZlsxXSxpPWxiKGEsYyxnLDEsaTAoZCkpLHg9aVsxXTtqWShhLGlbMl0saCxkKTtyZXR1cm5bOSxbMCxoLGQseCxjLGcsMSx0LHMsbyxwKFswLGtdLDAsbCksd11dfSxhKX1mdW5jdGlvblxuc0ooYSxiLGMpe3N3aXRjaChiKXtjYXNlXG4xOmJDKGEsNzcpO3RyeXt2YXJcbmo9cTkoangoSihhaTAsYykpKSxkPWp9Y2F0Y2goZil7dmFyXG5nPWFDKGYpO2lmKGdbMV0hPT1jbSl0aHJvdyB4KGcsMCk7dmFyXG5kPUUoSihhaVosYykpfWJyZWFrO2Nhc2VcbjI6YkMoYSw3Nik7dHJ5e3Zhclxuaz1FdShjKSxkPWt9Y2F0Y2goZil7dmFyXG5oPWFDKGYpO2lmKGhbMV0hPT1jbSl0aHJvdyB4KGgsMCk7dmFyXG5kPUUoSihhaTEsYykpfWJyZWFrO2Nhc2VcbjQ6dHJ5e3ZhclxubD1FdShjKSxkPWx9Y2F0Y2goZil7dmFyXG5pPWFDKGYpO2lmKGlbMV0hPT1jbSl0aHJvdyB4KGksMCk7dmFyXG5kPUUoSihhaTIsYykpfWJyZWFrO2RlZmF1bHQ6dHJ5e3ZhclxuZj1xOShqeChjKSksZD1mfWNhdGNoKGYpe3ZhclxuZT1hQyhmKTtpZihlWzFdIT09Y20pdGhyb3cgeChlLDApO3ZhclxuZD1FKEooYWlZLGMpKX19bihhLFswLGIsY10pO3JldHVybiBkfWZ1bmN0aW9uXG5zSyhhLGIsYyl7dmFyXG5kPUcoYyk7YTp7aWYoMCE9PWQmJmFaPT09YUIoYyxkLTF8MCkpe3ZhclxuZT1hMihjLDAsZC0xfDApO2JyZWFrIGF9dmFyXG5lPWN9dmFyXG5mPUU5KGUpO24oYSxbMSxiLGNdKTtyZXR1cm4gZn1mdW5jdGlvblxuSUQoYSl7dmFyXG5kPXkoYSksYz1yKGEpLGI9bShhKTtpZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiKXN3aXRjaChiKXtjYXNlXG4wOnZhclxubz1pKHZbMTJdLGEpO3JldHVyblsxLFswLG9bMV0sWzI2LG9bMl1dXSxvWzNdXTtjYXNlXG40OnZhclxuYXE9cihhKSxZPXEoMCxmdW5jdGlvbihhKXtuKGEsNCk7dmFyXG5lPXkoYSksYj1iJChhKSxjPW0oYSk7YTp7aWYodHlwZW9mXG5jPT09XCJudW1iZXJcIil7aWYoOT09PWMpe3ZhclxuZD1bMCxzTChhLGUsWzAsYiwwXSldO2JyZWFrIGF9aWYoODc9PT1jKXt2YXJcbmQ9WzEsWzAsYixpMyhhKSwwXV07YnJlYWsgYX19dmFyXG5kPVswLGJdfW4oYSw1KTtyZXR1cm4gZH0sYSksRT1ZWzJdLGFyPVlbMV0sYXM9dChhKSxhdD0wPT09RVswXT9FWzFdOlswLGFyLFszNCxFWzFdXV07cmV0dXJuWzAsSUcoWzAsYXFdLFswLGFzXSxhdCldO2Nhc2VcbjY6dmFyXG5IPXEoMCxhaWcsYSksST1IWzJdO3JldHVyblsxLFswLEhbMV0sWzAsSVsxXV1dLElbMl1dO2Nhc2VcbjIxOmlmKGFbMjhdWzNdJiYhaVkoMSxhKSYmND09PU4oMSxhKSl7dmFyXG5MPXIoYSksdT15KGEpLE09aih2WzEzXSwwLGEpLHc9bm0oYSk7aWYoIWE4KGEpJiYwPT09bShhKSl7dmFyXG5haj1IaShhLHcpLGFwPWZ1bmN0aW9uKGEpe3ZhclxuYz1yKGEpLGQ9aSh2WzI3XSxhKSxlPWFnKGEsMTYpP1swLGkodls3XSxhKV06MDtuKGEsODcpO3ZhclxuZj1iJChhKSxiPW0oYSk7YTp7YjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiKXtpZigxIT09YiYmViE9PWIpYnJlYWsgYjticmVhayBhfW4oYSw5KX1yZXR1cm5bMCxkLGYsZSxwKFswLGNdLFswLHQoYSldLGwpXX07cmV0dXJuWzAscShbMCx1XSxmdW5jdGlvbihhKXtuKGEsMCk7dmFyXG5iPTA7Zm9yKDs7KXt2YXJcbmM9bShhKTthOmlmKHR5cGVvZlxuYz09PVwibnVtYmVyXCIpe2lmKDEhPT1jJiZWIT09YylicmVhayBhO3ZhclxuZD1CKGIpO24oYSwxKTtyZXR1cm5bMjIsWzAsYWosZCxwKFswLExdLFswLHQoYSldLGwpXV19dmFyXG5iPVswLHEoMCxhcCxhKSxiXX19LGEpXX12YXJcbmFoPVswLE1bMV0sWzEwLE1dXSxhaT0kKHUsd1sxXSk7cmV0dXJuIGl0KGFpNSxhaTQsYSx1LFswLFswLGFpLFs2LFswLGFoLDAsdyxwKFswLExdLDAsbCldXV1dKX1icmVhaztjYXNlXG4yMjpzKGEpO3JldHVyblswLFswLGQsWzMzLFswLHAoWzAsY10sWzAsdChhKV0sbCldXV1dO2Nhc2VcbjMwOnMoYSk7cmV0dXJuWzAsWzAsZCxbMTYscChbMCxjXSxbMCx0KGEpXSxsKV1dXTtjYXNlXG40MTpyZXR1cm5bMCxpKHZbMjJdLGEpXTtjYXNlXG45OTp2YXJcbk89aSh2WzE3XSxhKSx4PU9bMl0sYWw9T1sxXSxhbT1jQjw9eFsxXT9bMTMseFsyXV06WzEyLHhbMl1dO3JldHVyblswLFswLGFsLGFtXV07Y2FzZVxuMzE6Y2FzZVxuMzI6cyhhKTtyZXR1cm5bMCxbMCxkLFsxNSxbMCwzMj09PWI/MTowLHAoWzAsY10sWzAsdChhKV0sbCldXV1dO2Nhc2Vcbjc1OmNhc2VcbjEwNjphRihhLDUpO3ZhclxuYXU9eShhKSxhdj1yKGEpLGg9bShhKTthOntpZih0eXBlb2ZcbmghPT1cIm51bWJlclwiJiY1PT09aFswXSl7dmFyXG5hZT1oWzNdLGFmPWhbMl07cyhhKTt2YXJcbmF3PXQoYSksYWE9YXcsZj1hZSxfPWFmLFo9SihhaSQsSihhZixKKGFpXyxhZSkpKTticmVhayBhfWFrKGFpNixhKTt2YXJcbmFhPTAsZj1haTcsXz1haTgsWj1haTl9YUkoYSk7dmFyXG5hYj1hZChHKGYpKTtOJChmdW5jdGlvbihhKXt2YXJcbmI9YStEU3wwO2lmKDIxPj1iPj4+MClzd2l0Y2goYil7Y2FzZVxuMDpjYXNlXG4zOmNhc2VcbjU6Y2FzZVxuOTpjYXNlXG4xNTpjYXNlXG4xNzpjYXNlXG4xODpjYXNlXG4yMTpyZXR1cm4gYlcoYWIsYSl9cmV0dXJufSxmKTt2YXJcbmFjPWFEKGFiKTtpZihrKGFjLGYpKUsoYSxbMTksZl0pO3JldHVyblswLFswLGF1LFsxOSxbMCxfLGFjLFoscChbMCxhdl0sWzAsYWFdLGwpXV1dXX1lbHNlXG5zd2l0Y2goYlswXSl7Y2FzZVxuMDp2YXJcblA9YlsyXSxhbj1zSihhLGJbMV0sUCk7cmV0dXJuWzAsWzAsZCxbMTcsWzAsYW4sUCxwKFswLGNdLFswLHQoYSldLGwpXV1dXTtjYXNlXG4xOnZhclxuUT1iWzJdLGFvPXNLKGEsYlsxXSxRKTtyZXR1cm5bMCxbMCxkLFsxOCxbMCxhbyxRLHAoWzAsY10sWzAsdChhKV0sbCldXV1dO2Nhc2VcbjI6dmFyXG5nPWJbMV0sej1nWzNdLGU9Z1syXSxBPWdbMV07aWYoZ1s0XSliQyhhLDc3KTtzKGEpO3ZhclxuQz1wKFswLGNdLFswLHQoYSldLGwpLFI9YVsyOF0sUz1SWzddLFQ9Uls4XTthOntpZihTKXt2YXJcblU9U1sxXTtpZihFNShVLGUpKXt2YXJcbkQ9WzIwLFswLGUsQSxHKFUpLDAseixDXV07YnJlYWsgYX19aWYoVCl7dmFyXG5XPVRbMV07aWYoRTUoVyxlKSl7dmFyXG5EPVsyMCxbMCxlLEEsRyhXKSwxLHosQ11dO2JyZWFrIGF9fXZhclxuRD1bMTQsWzAsZSx6LENdXX1yZXR1cm5bMCxbMCxBLERdXTtjYXNlXG4zOnZhclxuWD1JRShhLGJbMV0pO3JldHVyblswLFswLFhbMV0sWzMyLFhbMl1dXV07Y2FzZVxuNDppZighayhiWzNdLHlfKSYmNDE9PT1OKDEsYSkpcmV0dXJuWzAsaSh2WzIyXSxhKV07YnJlYWt9aWYoY3IoYSkpe3ZhclxuRj1qKHZbMTNdLDAsYSk7cmV0dXJuWzAsWzAsRlsxXSxbMTAsRl1dXX1haygwLGEpO2E6aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmNz09PWJbMF0pe3MoYSk7YnJlYWsgYX1yZXR1cm5bMCxbMCxkLFsxNixwKFswLGNdLGFpMyxsKV1dXX1mdW5jdGlvblxuSUUoYSxiKXt2YXJcbmU9Yls1XSxjPWJbMV0saj1iWzNdLGs9YlsyXSxtPXIoYSk7bihhLFszLGJdKTt2YXJcbmY9WzAsYyxbMCxbMCxqLGtdLGVdXTtpZihlKXZhclxuaT0wLGg9WzAsZiwwXSxnPWM7ZWxzZVxudmFyXG5kPXooSXBbMV0sYSxbMCxmLDBdLDApLGk9ZFszXSxoPWRbMl0sZz1kWzFdO3Zhclxubz10KGEpLHE9JChjLGcpO3JldHVyblswLHEsWzAsaCxpLHAoWzAsbV0sWzAsb10sbCldXX1mdW5jdGlvblxuSUYoYSxiLGMsZCl7dmFyXG5mPWooYXgoYSlbMl0sYyxmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSxjYiwzKSxhLGIpfSksZT1JRShhLGQpO3JldHVyblswLCQoYixlWzFdKSxbMzEsWzAsZixlLDBdXV19ZnVuY3Rpb25cbklHKGEsYixjKXt2YXJcbk49YT9hWzFdOjAsTz1iP2JbMV06MCxkPWNbMl07ZnVuY3Rpb25cbmYoYSl7cmV0dXJuIGE0KGEscChbMCxOXSxbMCxPXSxsKSl9ZnVuY3Rpb25cblAoYSl7cmV0dXJuIG1wKGEscChbMCxOXSxbMCxPXSxsKSl9dmFyXG5ZPWNbMV07c3dpdGNoKGRbMF0pe2Nhc2VcbjA6dmFyXG5RPWRbMV0sWj1QKFFbMl0pLGU9WzAsWzAsUVsxXSxaXV07YnJlYWs7Y2FzZVxuMTp2YXJcbmc9ZFsxXSxfPWdbMTFdLCQ9ZihnWzEwXSksZT1bMSxbMCxnWzFdLGdbMl0sZ1szXSxnWzRdLGdbNV0sZ1s2XSxnWzddLGdbOF0sZ1s5XSwkLF9dXTticmVhaztjYXNlXG4yOnZhclxuUj1kWzFdLGFhPWYoUlsyXSksZT1bMixbMCxSWzFdLGFhXV07YnJlYWs7Y2FzZVxuMzp2YXJcbnk9ZFsxXSxhYj1mKHlbM10pLGU9WzMsWzAseVsxXSx5WzJdLGFiXV07YnJlYWs7Y2FzZVxuNDp2YXJcbms9ZFsxXSxhYz1mKGtbNF0pLGU9WzQsWzAsa1sxXSxrWzJdLGtbM10sYWNdXTticmVhaztjYXNlXG41OnZhclxubT1kWzFdLGFkPWYobVs0XSksZT1bNSxbMCxtWzFdLG1bMl0sbVszXSxhZF1dO2JyZWFrO2Nhc2VcbjY6dmFyXG5uPWRbMV0sYWU9ZihuWzRdKSxlPVs2LFswLG5bMV0sblsyXSxuWzNdLGFlXV07YnJlYWs7Y2FzZVxuNzp2YXJcbmk9ZFsxXSxhZj1mKGlbN10pLGU9WzcsWzAsaVsxXSxpWzJdLGlbM10saVs0XSxpWzVdLGlbNl0sYWZdXTticmVhaztjYXNlXG44OnZhclxubz1kWzFdLGFnPWYob1s0XSksZT1bOCxbMCxvWzFdLG9bMl0sb1szXSxhZ11dO2JyZWFrO2Nhc2Vcbjk6dmFyXG5oPWRbMV0sYWg9aFsxMV0sYWk9ZihoWzEwXSksZT1bOSxbMCxoWzFdLGhbMl0saFszXSxoWzRdLGhbNV0saFs2XSxoWzddLGhbOF0saFs5XSxhaSxhaF1dO2JyZWFrO2Nhc2VcbjEwOnZhclxuUz1kWzFdLFQ9U1syXSxhaj1TWzFdLGFrPWYoVFsyXSksZT1bMTAsWzAsYWosWzAsVFsxXSxha11dXTticmVhaztjYXNlXG4xMTp2YXJcblU9ZFsxXSxhbD1mKFVbMl0pLGU9WzExLFswLFVbMV0sYWxdXTticmVhaztjYXNlXG4xMjp2YXJcbnE9ZFsxXSxhbT1mKHFbNF0pLGU9WzEyLFswLHFbMV0scVsyXSxxWzNdLGFtXV07YnJlYWs7Y2FzZVxuMTM6dmFyXG5yPWRbMV0sYW49ZihyWzRdKSxlPVsxMyxbMCxyWzFdLHJbMl0sclszXSxhbl1dO2JyZWFrO2Nhc2VcbjE0OnZhclxuej1kWzFdLGFvPWYoelszXSksZT1bMTQsWzAselsxXSx6WzJdLGFvXV07YnJlYWs7Y2FzZVxuMTU6dmFyXG5WPWRbMV0sYXA9ZihWWzJdKSxlPVsxNSxbMCxWWzFdLGFwXV07YnJlYWs7Y2FzZVxuMTY6dmFyXG5lPVsxNixmKGRbMV0pXTticmVhaztjYXNlXG4xNzp2YXJcbkE9ZFsxXSxhcT1mKEFbM10pLGU9WzE3LFswLEFbMV0sQVsyXSxhcV1dO2JyZWFrO2Nhc2VcbjE4OnZhclxuQj1kWzFdLGFyPWYoQlszXSksZT1bMTgsWzAsQlsxXSxCWzJdLGFyXV07YnJlYWs7Y2FzZVxuMTk6dmFyXG5zPWRbMV0sYXM9ZihzWzRdKSxlPVsxOSxbMCxzWzFdLHNbMl0sc1szXSxhc11dO2JyZWFrO2Nhc2VcbjIwOnZhclxuaj1kWzFdLGF0PWYoals2XSksZT1bMjAsWzAsalsxXSxqWzJdLGpbM10sals0XSxqWzVdLGF0XV07YnJlYWs7Y2FzZVxuMjE6dmFyXG50PWRbMV0sYXU9Zih0WzRdKSxlPVsyMSxbMCx0WzFdLHRbMl0sdFszXSxhdV1dO2JyZWFrO2Nhc2VcbjIyOnZhclxuQz1kWzFdLGF2PWYoQ1szXSksZT1bMjIsWzAsQ1sxXSxDWzJdLGF2XV07YnJlYWs7Y2FzZVxuMjM6dmFyXG5EPWRbMV0sYXc9ZihEWzNdKSxlPVsyMyxbMCxEWzFdLERbMl0sYXddXTticmVhaztjYXNlXG4yNDp2YXJcbkU9ZFsxXSxheD1mKEVbM10pLGU9WzI0LFswLEVbMV0sRVsyXSxheF1dO2JyZWFrO2Nhc2VcbjI1OnZhclxudT1kWzFdLGF5PWYodVs0XSksZT1bMjUsWzAsdVsxXSx1WzJdLHVbM10sYXldXTticmVhaztjYXNlXG4yNjp2YXJcblc9ZFsxXSxhej1QKFdbMl0pLGU9WzI2LFswLFdbMV0sYXpdXTticmVhaztjYXNlXG4yNzp2YXJcbkY9ZFsxXSx2PUZbMV0sYUE9RlszXSxhQj1GWzJdLGFDPWYodls0XSksZT1bMjcsWzAsWzAsdlsxXSx2WzJdLHZbM10sYUNdLGFCLGFBXV07YnJlYWs7Y2FzZVxuMjg6dmFyXG5HPWRbMV0sSD1HWzFdLGFEPUdbM10sYUU9R1syXSxhRj1mKEhbM10pLGU9WzI4LFswLFswLEhbMV0sSFsyXSxhRl0sYUUsYURdXTticmVhaztjYXNlXG4yOTp2YXJcblg9ZFsxXSxhRz1mKFhbMl0pLGU9WzI5LFswLFhbMV0sYUddXTticmVhaztjYXNlXG4zMDp2YXJcbmU9WzMwLFswLGYoZFsxXVsxXSldXTticmVhaztjYXNlXG4zMTp2YXJcbkk9ZFsxXSxhSD1mKElbM10pLGU9WzMxLFswLElbMV0sSVsyXSxhSF1dO2JyZWFrO2Nhc2VcbjMyOnZhclxuSj1kWzFdLGFJPWYoSlszXSksZT1bMzIsWzAsSlsxXSxKWzJdLGFJXV07YnJlYWs7Y2FzZVxuMzM6dmFyXG5lPVszMyxbMCxmKGRbMV1bMV0pXV07YnJlYWs7Y2FzZVxuMzQ6dmFyXG5LPWRbMV0sYUo9ZihLWzNdKSxlPVszNCxbMCxLWzFdLEtbMl0sYUpdXTticmVhaztjYXNlXG4zNTp2YXJcbkw9ZFsxXSxhSz1mKExbM10pLGU9WzM1LFswLExbMV0sTFsyXSxhS11dO2JyZWFrO2Nhc2VcbjM2OnZhclxuTT1kWzFdLGFMPWYoTVszXSksZT1bMzYsWzAsTVsxXSxNWzJdLGFMXV07YnJlYWs7Y2FzZVxuMzc6dmFyXG53PWRbMV0sYU09Zih3WzRdKSxlPVszNyxbMCx3WzFdLHdbMl0sd1szXSxhTV1dO2JyZWFrO2RlZmF1bHQ6dmFyXG54PWRbMV0sYU49eFs0XSxhTz14WzNdLGFQPWYoeFsyXSksZT1bMzgsWzAseFsxXSxhUCxhTyxhTl1dfXJldHVyblswLFksZV19ZnVuY3Rpb25cbmFpZyhhKXt2YXJcbmM9cihhKTtuKGEsNik7dmFyXG5iPWooSXFbMV0sYSxbMCwwLGN1XSksZD1iWzJdLGU9YlsxXSxmPXIoYSk7bihhLDcpO3JldHVyblswLFswLGUsYXYoWzAsY10sWzAsdChhKV0sZixsKV0sZF19ZnVuY3Rpb25cbklIKGEpe3ZhclxuYz1tUyhzR1sxXSxhKSxDPXkoYyk7aWYoMTE9PT1OKDEsYykpdmFyXG5vPTAsZD0wO2Vsc2VcbnZhclxuQj1uaihjKSxvPUJbMl0sZD1CWzFdO3Zhclxucj1kfHxjWzE5XSxlPXIkKHIsYyksRD1lWzE4XSxzPXEoMCxmdW5jdGlvbihhKXt2YXJcbmM9YmgoYSxiSihhKSk7aWYoY3IoYSkmJjA9PT1jKXt2YXJcbmQ9aih2WzEzXSxhamEsYSksYj1kWzFdLGc9WzAsYixbMCxbMCxiLFsyLFswLGQsWzAsaE4oYSldLDBdXV0sMF1dO3JldHVyblswLGMsWzAsYixbMCwwLFswLGcsMF0sMCwwXV0sWzAsWzAsYlsxXSxiWzNdLGJbM11dXSwwXX12YXJcbmU9aloocixEKShhKTtJZChhLGUpO3ZhclxuZj1zdShpVygxLGEpKTtyZXR1cm5bMCxjLGUsZlsxXSxmWzJdXX0sZSksZj1zWzJdLGc9ZlsyXSxrPWdbMl07YTp7Yjp7dmFyXG5FPWZbNF0sRj1mWzNdLEc9ZlsxXSxIPXNbMV07aWYoIWtbMV0pe3ZhclxuUT1rWzJdO2lmKCFrWzNdJiZRKWJyZWFrIGI7dmFyXG5iPUcyKGUpO2JyZWFrIGF9fXZhclxuYj1lfXZhclxuaD1nWzJdLHQ9aFsxXTtpZih0KXt2YXJcbkk9Z1sxXTt1KGIsWzAsdFsxXVsxXSw4N10pO3ZhclxuaT1bMCxJLFswLDAsaFsyXSxoWzNdLGhbNF1dXX1lbHNlXG52YXJcbmk9Zzt2YXJcbko9aTAoaSksdz1hOChiKSxMPXc/MTE9PT1tKGIpPzE6MDp3O2lmKEwpSyhiLDU2KTtuKGIsMTEpO3ZhclxueD1HMyhHMihiKSxkLDAsSiksej1xKDAsc0dbMl0seCksQT16WzJdLE09QVsxXSxPPXpbMV07alkoeCxBWzJdLDAsaSk7dmFyXG5QPSQoQyxPKTtyZXR1cm5bMCxbMCxQLFsxLFswLDAsaSxNLGQsMCwxLEUsRixHLHAoWzAsb10sMCxsKSxIXV1dXX1mdW5jdGlvblxuc0woYSxiLGMpe3JldHVybiBxKFswLGJdLGkoSXJbMV0sYyksYSl9ZnVuY3Rpb25cbklJKGEpe3ZhclxuZz15KGEpLGY9SXQoYSksZD1tKGEpO2E6e2lmKHR5cGVvZlxuZD09PVwibnVtYmVyXCIpe3ZhclxuZT1kLTY4fDA7aWYoMTU+PWU+Pj4wKXtzd2l0Y2goZSl7Y2FzZVxuMDp2YXJcbmI9YWloO2JyZWFrO2Nhc2VcbjE6dmFyXG5iPWFpaTticmVhaztjYXNlXG4yOnZhclxuYj1haWo7YnJlYWs7Y2FzZVxuMzp2YXJcbmI9YWlrO2JyZWFrO2Nhc2VcbjQ6dmFyXG5iPWFpbDticmVhaztjYXNlXG41OnZhclxuYj1haW07YnJlYWs7Y2FzZVxuNjp2YXJcbmI9YWluO2JyZWFrO2Nhc2Vcbjc6dmFyXG5iPWFpbzticmVhaztjYXNlXG44OnZhclxuYj1haXA7YnJlYWs7Y2FzZVxuOTp2YXJcbmI9YWlxO2JyZWFrO2Nhc2VcbjEwOnZhclxuYj1haXI7YnJlYWs7Y2FzZVxuMTE6dmFyXG5iPWFpczticmVhaztjYXNlXG4xMjp2YXJcbmI9YWl0O2JyZWFrO2Nhc2VcbjEzOnZhclxuYj1haXU7YnJlYWs7Y2FzZVxuMTQ6dmFyXG5iPWFpdjticmVhaztkZWZhdWx0OnZhclxuYj1haXd9dmFyXG5jPWI7YnJlYWsgYX19dmFyXG5jPTB9aWYoMCE9PWMpcyhhKTtpZighYylyZXR1cm4gZjt2YXJcbmg9Y1sxXTtyZXR1cm5bMCxxKFswLGddLGZ1bmN0aW9uKGEpe3ZhclxuYj1zQygwLGEsZik7cmV0dXJuWzQsWzAsaCxiLGIkKGEpLDBdXX0sYSldfWZ1bmN0aW9uXG5hamIoYSxiKXtpZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiY4MT09PWIpcmV0dXJuIDA7dGhyb3cgeChjUSwxKX1hKGxkLFswLElJLGZ1bmN0aW9uKGEpe3ZhclxuYj1tUyhhamIsYSksYz1JSShiKSxkPW0oYik7aWYodHlwZW9mXG5kPT09XCJudW1iZXJcIil7aWYoMTE9PT1kKXRocm93IHgoY1EsMSk7aWYoODc9PT1kKXt2YXJcbmU9RzEoYik7YTp7aWYoZSl7dmFyXG5mPWVbMV07aWYodHlwZW9mXG5mPT09XCJudW1iZXJcIiYmNT09PWYpe3ZhclxuZz0xO2JyZWFrIGF9fXZhclxuZz0wfWlmKGcpdGhyb3cgeChjUSwxKX19aWYoIWNyKGIpKXJldHVybiBjO2lmKDA9PT1jWzBdKXt2YXJcbmg9Y1sxXVsyXTtpZigxMD09PWhbMF0mJiFrKGhbMV1bMl1bMV0saXgpJiYhYTgoYikpdGhyb3cgeChjUSwxKX1yZXR1cm4gY31dKTtmdW5jdGlvblxuc00oYSxiLGMsZCxlKXt2YXJcbmY9YU8oYSxiKTtyZXR1cm5bMCxbMCxlLFsyMSxbMCxkLGYsYU8oYSxjKSwwXV1dXX1mdW5jdGlvblxuc04oYSxiLGMpe3ZhclxuZT1iLGQ9Yztmb3IoOzspe3ZhclxuZj1tKGEpO2lmKHR5cGVvZlxuZj09PVwibnVtYmVyXCImJjg5PT09Zil7cyhhKTt2YXJcbmc9cSgwLG5sLGEpLGo9Z1syXSxoPSQoZCxnWzFdKSxpPXNPKDAsYSxzTShhLGUsaiwxLGgpLGgpLGU9aVsyXSxkPWlbMV07Y29udGludWV9cmV0dXJuWzAsZCxlXX19ZnVuY3Rpb25cbklKKGEsYixjKXt2YXJcbmU9YixkPWM7Zm9yKDs7KXt2YXJcbmY9bShhKTtpZih0eXBlb2ZcbmY9PT1cIm51bWJlclwiJiY4OD09PWYpe3MoYSk7dmFyXG5nPXEoMCxubCxhKSxoPXNOKGEsZ1syXSxnWzFdKSxrPWhbMl0saT0kKGQsaFsxXSksaj1zTygwLGEsc00oYSxlLGssMCxpKSxpKSxlPWpbMl0sZD1qWzFdO2NvbnRpbnVlfXJldHVyblswLGQsZV19fWZ1bmN0aW9uXG5zTyhhLGIsYyxkKXt2YXJcbmg9YSxmPWMsZT1kO2Zvcig7Oyl7dmFyXG5pPW0oYik7aWYodHlwZW9mXG5pPT09XCJudW1iZXJcIiYmODU9PT1pKXtpZigxLWgpSyhiLGFqYyk7bihiLDg1KTt2YXJcbmo9cSgwLG5sLGIpLGs9alsyXSxsPWpbMV0sZz1tKGIpO2E6e2lmKHR5cGVvZlxuZz09PVwibnVtYmVyXCImJjE+PWcrSzg+Pj4wKXtLKGIsWzIyLHIyKGcpXSk7dmFyXG5zPXNOKGIsayxsKSx0PUlKKGIsc1syXSxzWzFdKSxwPXRbMl0sbz10WzFdO2JyZWFrIGF9dmFyXG5wPWssbz1sfXZhclxucj0kKGUsbyksaD0xLGY9c00oYixmLHAsMixyKSxlPXI7Y29udGludWV9cmV0dXJuWzAsZSxmXX19YShuayxbMCxzTixJSixzT10pO2Z1bmN0aW9uXG5zUChhLGIsYyxkKXtyZXR1cm5bMCxkLFs1LFswLGMsYSxiLDBdXV19YShJbSxbMCxmdW5jdGlvbihjLGIpe3ZhclxuRj1iO2Zvcig7Oyl7dmFyXG5HPXEoMCxmdW5jdGlvbihhKXt2YXJcbmI9MCE9PUl1KGEpPzE6MDtyZXR1cm5bMCxiLEl2KGtZKDAsYSkpXX0sYyksSD1HWzJdLHQ9SFsyXSxJPUhbMV0saD1HWzFdO2E6aWYoOTk9PT1tKGMpJiYwPT09dFswXSYmMTI9PT10WzFdWzJdWzBdKXtLKGMsMik7YnJlYWsgYX1sZXRcblc9aDt2YXJcbko9ZnVuY3Rpb24oYSxiKXt2YXJcbmQ9YSxmPWI7Zm9yKDs7KXt2YXJcbmc9bShjKTthOmlmKHR5cGVvZlxuZyE9PVwibnVtYmVyXCImJjQ9PT1nWzBdKXt2YXJcbmg9Z1szXTtpZihrKGgsY2MpJiZrKGgsS3QpKWJyZWFrIGE7aWYoYXEoYykpe3MoYyk7dmFyXG5uPWFPKGMsZik7Yjp7aWYoZCl7dmFyXG5pPWRbMV0sbz1pWzJdLHY9ZFsyXSx3PWlbM10seD1vWzFdLHo9aVsxXTtpZihJbChvWzJdLGFqeikpe3ZhclxuZT1zUCh6LG4seCwkKHcsVykpLHA9djticmVhayBifX12YXJcbmU9bixwPWR9dmFyXG5qPWVbMV07aWYoWChoLEt0KSl2YXJcbnE9aFAoYykscj1xWzFdLGw9WzAsWzAsJChqLHIpLFszNSxbMCxlLFswLHIscV0sMF1dXV07ZWxzZSBpZigyOD09PW0oYykpe3ZhclxuQT0kKGoseShjKSk7cyhjKTt2YXJcbmw9WzAsWzAsQSxbMixbMCxlLDBdXV1dfWVsc2VcbnZhclxudD1oUChjKSx1PXRbMV0sbD1bMCxbMCwkKGosdSksWzMsWzAsZSxbMCx1LHRdLDBdXV1dO3ZhclxuZD1wLGY9bDtjb250aW51ZX19cmV0dXJuWzAsZCxmXX19KEYsdCksdj1KWzJdLHc9SlsxXSx4PW0oYyk7YTp7YjppZih0eXBlb2Zcbng9PT1cIm51bWJlclwiKXt2YXJcbmY9eC0xN3wwO2lmKDE8Zj4+PjApe2lmKDczPmYpYnJlYWsgYjtzd2l0Y2goZi03M3wwKXtjYXNlXG4wOnZhclxuYT1hamQ7YnJlYWs7Y2FzZVxuMTp2YXJcbmE9YWplO2JyZWFrO2Nhc2VcbjI6dmFyXG5hPWFqZjticmVhaztjYXNlXG4zOnZhclxuYT1hamc7YnJlYWs7Y2FzZVxuNDp2YXJcbmE9YWpoO2JyZWFrO2Nhc2VcbjU6dmFyXG5hPWFqaTticmVhaztjYXNlXG42OnZhclxuYT1hamo7YnJlYWs7Y2FzZVxuNzp2YXJcbmE9YWprO2JyZWFrO2Nhc2Vcbjg6dmFyXG5hPWFqbDticmVhaztjYXNlXG45OnZhclxuYT1ham07YnJlYWs7Y2FzZVxuMTA6dmFyXG5hPWFqbjticmVhaztjYXNlXG4xMTp2YXJcbmE9YWpvO2JyZWFrO2Nhc2VcbjEyOnZhclxuYT1hanA7YnJlYWs7Y2FzZVxuMTM6dmFyXG5hPWFqcTticmVhaztjYXNlXG4xNDp2YXJcbmE9YWpyO2JyZWFrO2Nhc2VcbjE1OnZhclxuYT1hanM7YnJlYWs7Y2FzZVxuMTY6dmFyXG5hPWFqdDticmVhaztjYXNlXG4xNzp2YXJcbmE9YWp1O2JyZWFrO2Nhc2VcbjE4OnZhclxuYT1hanY7YnJlYWs7Y2FzZVxuMTk6dmFyXG5hPWFqdzticmVhaztkZWZhdWx0OmJyZWFrIGJ9dmFyXG56PWF9ZWxzZVxudmFyXG56PWY/YWp4OmNbMTJdPzA6YWp5O3ZhclxuZD16O2JyZWFrIGF9dmFyXG5kPTB9aWYoMCE9PWQpcyhjKTtpZighdyYmIWQpcmV0dXJuIHY7aWYoZCl7dmFyXG5MPWRbMV0sTT1MWzFdLFU9TFsyXSxWPUk/MTQ9PT1NPzE6MDpJO2lmKFYpdShjLFswLGgsMzddKTthOnt2YXJcbmw9YU8oYyx2KSxqPVswLE0sVV0saT1oLGU9dztmb3IoOzspe3Zhclxubj1qWzJdLEE9alsxXTtpZighZSlicmVhayBhO3Zhclxubz1lWzFdLEI9b1syXSxOPWVbMl0sTz1vWzNdLFA9QlsxXSxRPW9bMV07aWYoIUlsKEJbMl0sbikpYnJlYWs7dmFyXG5DPSQoTyxpKSxsPXNQKFEsbCxQLEMpLGo9WzAsQSxuXSxpPUMsZT1OfX12YXJcbkY9WzAsWzAsbCxbMCxBLG5dLGldLGVdfWVsc2V7dmFyXG5wPWFPKGMsdiksRD1oLGc9dztmb3IoOzspe2lmKCFnKXJldHVyblswLHBdO3Zhclxucj1nWzFdLFI9Z1syXSxTPXJbMl1bMV0sVD1yWzFdLEU9JChyWzNdLEQpLHA9c1AoVCxwLFMsRSksRD1FLGc9Un19fX1dKTthKEluLFswLGZ1bmN0aW9uKGEpe3Zhclxuaj1yKGEpO24oYSw5OSk7dmFyXG5iPTA7Zm9yKDs7KXt2YXJcbmM9bShhKTthOmlmKHR5cGVvZlxuYz09PVwibnVtYmVyXCIpe2lmKGFuIT09YyYmViE9PWMpYnJlYWsgYTt2YXJcbmY9QihiKSxvPXIoYSk7bihhLGFuKTt2YXJcbnE9ND09PW0oYSk/YXgoYSlbMV06dChhKTtyZXR1cm5bMCxmLGF2KFswLGpdLFswLHFdLG8sbCldfXZhclxuZD1tKGEpO2E6e2lmKHR5cGVvZlxuZCE9PVwibnVtYmVyXCImJjQ9PT1kWzBdJiYhayhkWzJdLGprKSl7dmFyXG5oPXkoYSksaT1yKGEpO2NQKGEsYWpBKTt2YXJcbmU9WzEsWzAsaCxbMCxwKFswLGldLFswLHQoYSldLGwpXV1dO2JyZWFrIGF9dmFyXG5lPVswLGhQKGEpXX12YXJcbmc9WzAsZSxiXTtpZihhbiE9PW0oYSkpbihhLDkpO3ZhclxuYj1nfX1dKTtmdW5jdGlvblxuYWpCKGEpe3ZhclxuYj1yKGEpO24oYSwxMik7dmFyXG5jPWIkKGEpO3JldHVyblswLGMscChbMCxiXSwwLGwpXX1hKElvLFswLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWI7Zm9yKDs7KXt2YXJcbmQ9bShhKTthOmlmKHR5cGVvZlxuZD09PVwibnVtYmVyXCIpe2lmKDUhPT1kJiZWIT09ZClicmVhayBhO3JldHVybiBCKGMpfXZhclxuZT1tKGEpO2E6e2lmKHR5cGVvZlxuZT09PVwibnVtYmVyXCImJjEyPT09ZSl7dmFyXG5mPVsxLHEoMCxhakIsYSldO2JyZWFrIGF9dmFyXG5mPVswLGIkKGEpXX12YXJcbmc9WzAsZixjXTtpZig1IT09bShhKSluKGEsOSk7dmFyXG5jPWd9fV0pO2EobGUsWzAsZnVuY3Rpb24oYSxiLGMsZCxlLGYpe3Zhclxuaz1hP2FbMV06MSxnPWI/YlsxXTowLG09Yz9jWzFdOjAsdz1zYygwLGQpLG89aSh2WzddLHcpLHE9eShkKTtuKGQsNyk7dmFyXG5yPXQoZCksaD0kKGUscSkscz1wKDAsWzAscl0sbCksaj1bMCxhTyhkLGYpLFsyLG9dLHNdLHU9Zz9bMjgsWzAsaixoLG1dXTpbMjMsal07cmV0dXJuIGl0KFswLGtdLFswLGddLGQsZSxbMCxbMCxoLHVdXSl9LGZ1bmN0aW9uKGEsYixjLGQsZSxmKXt2YXJcbnM9YT9hWzFdOjEsbj1iP2JbMV06MCx0PWM/Y1sxXTowLG89bShkKTthOntpZih0eXBlb2Zcbm89PT1cIm51bWJlclwiJiYxND09PW8pe3ZhclxuaD1IaChkKSxpPWhbMV0sZz1kWzMwXVsxXSx2PWhbMl1bMV07aWYoZyl7dmFyXG5sPWdbMV07ZFszMF1bMV09WzAsWzAsbFsxXSxbMCxbMCx2LGldLGxbMl1dXSxnWzJdXX1lbHNlXG51KGQsWzAsaSw2NF0pO3Zhclxuaj1bMSxoXSxwPWk7YnJlYWsgYX12YXJcbnI9YU4oZCksaj1bMCxyXSxwPXJbMV19dmFyXG5rPSQoZSxwKTthOmlmKDA9PT1mWzBdJiYzMD09PWZbMV1bMl1bMF0mJjE9PT1qWzBdKXt1KGQsWzAsayw4M10pO2JyZWFrIGF9dmFyXG5xPVswLGFPKGQsZiksaiwwXSx3PW4/WzI4LFswLHEsayx0XV06WzIzLHFdO3JldHVybiBpdChbMCxzXSxbMCxuXSxkLGUsWzAsWzAsayx3XV0pfV0pO2EoSXAsWzAsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZT1iLGo9Yztmb3IoOzspe3ZhclxuZj1pKHZbN10sYSksZz1bMCxmLGpdLGs9bShhKTtpZih0eXBlb2Zcbms9PT1cIm51bWJlclwiJiYxPT09ayl7YUYoYSw0KTt2YXJcbmg9bShhKTtpZih0eXBlb2ZcbmghPT1cIm51bWJlclwiJiYzPT09aFswXSl7dmFyXG5kPWhbMV0sbD1kWzVdLG49ZFsxXSxwPWRbM10scT1kWzJdO3MoYSk7YUkoYSk7dmFyXG5vPVswLFswLG4sWzAsWzAscCxxXSxsXV0sZV07aWYobCl7dmFyXG5yPUIoZyk7cmV0dXJuWzAsbixCKG8pLHJdfXZhclxuZT1vLGo9Zztjb250aW51ZX10aHJvdyB4KFswLFksYWpDXSwxKX1hayhhakQsYSk7dmFyXG50PVswLGZbMV0sYWpFXSx1PUIoZyksdz1CKFswLHQsZV0pO3JldHVyblswLGZbMV0sdyx1XX19XSk7YShJcSxbMCxmdW5jdGlvbihhLGIpe3ZhclxuYz1iO2Zvcig7Oyl7dmFyXG5lPWNbMl0sZj1jWzFdLGQ9bShhKTthOmlmKHR5cGVvZlxuZD09PVwibnVtYmVyXCIpe2lmKDEzPD1kKXtpZihWIT09ZClicmVhayBhfWVsc2V7aWYoNz5kKWJyZWFrIGE7c3dpdGNoKGQtN3wwKXtjYXNlXG4wOmJyZWFrO2Nhc2VcbjI6dmFyXG54PXkoYSk7cyhhKTt2YXJcbmM9WzAsWzAsWzIseF0sZl0sZV07Y29udGludWU7Y2FzZVxuNTp2YXJcbno9cihhKSxrPXEoMCxmdW5jdGlvbihhKXtzKGEpO3ZhclxuYj1sZihhKTtyZXR1cm4gMD09PWJbMF0/WzAsYlsxXSxjdV06WzAsYlsxXSxiWzJdXX0sYSksbz1rWzJdLGg9b1syXSx0PWtbMV0sQT1vWzFdLEM9WzEsWzAsdCxbMCxBLHAoWzAsel0sMCxsKV1dXSx1PTc9PT1tKGEpPzE6MDtiOntpZighdSYmNz09PU4oMSxhKSl7dmFyXG52PVswLGhbMV0sWzAsWzAsdCwxNl0saFsyXV1dO2JyZWFrIGJ9dmFyXG52PWh9aWYoMS11KW4oYSw5KTt2YXJcbmM9WzAsWzAsQyxmXSxzRCh2LGUpXTtjb250aW51ZTtkZWZhdWx0OmJyZWFrIGF9fXZhclxudz1JYyhlKTtyZXR1cm5bMCxCKGYpLHddfXZhclxuZz1sZihhKTtpZigwPT09Z1swXSl2YXJcbmo9Y3UsaT1nWzFdO2Vsc2VcbnZhclxuaj1nWzJdLGk9Z1sxXTtpZig3IT09bShhKSluKGEsOSk7dmFyXG5jPVswLFswLFswLGldLGZdLHNEKGosZSldfX1dKTthKHNHLFswLGZ1bmN0aW9uKGEpe3JldHVybiBmdW5jdGlvbihhKXthOmlmKHR5cGVvZlxuYT09PVwibnVtYmVyXCIpe2lmKDYyPD1hKXt2YXJcbmI9YS02M3wwO2lmKDQ5Pj1iPj4+MCl7dmFyXG5jPWItMTV8MDtpZig5PGM+Pj4wKWJyZWFrIGE7c3dpdGNoKGMpe2Nhc2VcbjA6Y2FzZVxuMTpjYXNlXG4zOmNhc2Vcbjk6YnJlYWs7ZGVmYXVsdDpicmVhayBhfX19ZWxzZVxuaWYoNzw9YSl7aWYoNTYhPT1hKWJyZWFrIGF9ZWxzZSBpZig1PmEpYnJlYWsgYTtyZXR1cm4gMH10aHJvdyB4KGNRLDEpfX0sZnVuY3Rpb24oYSl7dmFyXG5iPW0oYSk7aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmIWIpe3ZhclxuYz1qKHZbMTZdLDEsYSk7cmV0dXJuWzAsWzAsY1sxXV0sY1syXV19cmV0dXJuWzAsWzEsaSh2WzEwXSxhKV0sMF19XSk7YShJcixbMCxmdW5jdGlvbihhLGIpe3ZhclxuYz1hO2Zvcig7Oyl7dmFyXG5kPW0oYik7aWYodHlwZW9mXG5kPT09XCJudW1iZXJcIiYmOT09PWQpe3MoYik7dmFyXG5jPVswLGIkKGIpLGNdO2NvbnRpbnVlfXJldHVyblsyOSxbMCxCKGMpLDBdXX19XSk7ZnVuY3Rpb25cbmFqVyhhKXt2YXJcbmQ9cihhKTtzKGEpO3ZhclxuZT1wKFswLGRdLDAsbCksYj1zSChhKSxjPWE4KGEpP2sxKGEpOm1aKGEpO3JldHVyblswLGooY1syXSxiLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooTChhLGNiLDk1KSxhLGIpfSksZV19ZnVuY3Rpb25cbnNSKGEpe2lmKCFhWzI4XVs0XSlyZXR1cm4gMDt2YXJcbmI9MDtmb3IoOzspe3ZhclxuYz1tKGEpO2lmKHR5cGVvZlxuYz09PVwibnVtYmVyXCImJjEzPT09Yyl7dmFyXG5iPVswLHEoMCxhalcsYSksYl07Y29udGludWV9cmV0dXJuIEIoYil9fWZ1bmN0aW9uXG5pdShhLGIpe3ZhclxuTD1hP2FbMV06MCxmPXIoYiksYz1tKGIpO2lmKHR5cGVvZlxuYz09PVwibnVtYmVyXCIpc3dpdGNoKGMpe2Nhc2VcbjY6dmFyXG5vPXEoMCxmdW5jdGlvbihhKXt2YXJcbmI9cihhKTtuKGEsNik7dmFyXG5kPWtZKDAsYSksYz1pKHZbMTBdLGQpO24oYSw3KTtyZXR1cm5bMCxjLHAoWzAsYl0sWzAsdChhKV0sbCldfSxiKSx3PW9bMV07cmV0dXJuWzAsdyxbNSxbMCx3LG9bMl1dXV07Y2FzZVxuMTQ6aWYoIUwpe3ZhclxueD1xKDAsZnVuY3Rpb24oYSl7cyhhKTtyZXR1cm5bMyxhTihhKV19LGIpLHo9eFsxXSxPPXhbMl07dShiLFswLHosNjRdKTtyZXR1cm5bMCx6LE9dfXZhclxuZz1IaChiKSxlPWJbMzBdWzFdLE09Z1syXVsxXSxOPWdbMV07aWYoZSl7dmFyXG5qPWVbMV0sST1lWzJdLEo9alsyXSxLPVswLFswLGE3WzRdLmNhbGwobnVsbCxNLGpbMV0pLEpdLEldO2JbMzBdWzFdPUt9ZWxzZVxuRShhZF8pO3JldHVyblswLE4sWzQsZ11dfWVsc2VcbnN3aXRjaChjWzBdKXtjYXNlXG4wOnZhclxuQT1jWzJdLFA9Y1sxXSxCPXkoYiksUT1zSihiLFAsQSk7cmV0dXJuWzAsQixbMSxbMCxCLFswLFEsQSxwKFswLGZdLFswLHQoYildLGwpXV1dXTtjYXNlXG4xOnZhclxuQz1jWzJdLFI9Y1sxXSxEPXkoYiksUz1zSyhiLFIsQyk7cmV0dXJuWzAsRCxbMixbMCxELFswLFMsQyxwKFswLGZdLFswLHQoYildLGwpXV1dXTtjYXNlXG4yOnZhclxuZD1jWzFdLEY9ZFs0XSxHPWRbM10sSD1kWzJdLGg9ZFsxXTtpZihGKWJDKGIsNzcpO24oYixbMixbMCxoLEgsRyxGXV0pO3JldHVyblswLGgsWzAsWzAsaCxbMCxILEcscChbMCxmXSxbMCx0KGIpXSxsKV1dXV19dmFyXG5rPWFOKGIpO3JldHVyblswLGtbMV0sWzMsa11dfWZ1bmN0aW9uXG5ucShhLGIsYyl7dmFyXG5nPTAsZT1pNChhKSxoPWVbMV0saz1lWzJdLGY9aXUoWzAsYl0sYSksZD1mWzFdLGk9Y3QoYSxmWzJdKTtyZXR1cm5bMCxpLHEoMCxmdW5jdGlvbihhKXt2YXJcbmY9aVYoMSxhKSxpPXEoMCxmdW5jdGlvbihhKXt2YXJcbmc9alooMCwwKShhKSxpPTAsZT04Nz09PW0oYSk/ZzprMihhLGcpO2E6aWYoYyl7dmFyXG5mPWVbMl07Yjp7aWYoIWZbMV0pe2lmKCFmWzJdJiYhZlszXSlicmVhayBiO3UoYSxbMCxkLDIzXSk7YnJlYWsgYX11KGEsWzAsZCwyNF0pfX1lbHNle3ZhclxuYj1lWzJdO2I6aWYoYlsxXSl1KGEsWzAsZCw2N10pO2Vsc2V7dmFyXG5oPWJbMl07aWYoaCYmIWhbMl0mJiFiWzNdKWJyZWFrIGI7aWYoYlszXSl1KGEsWzAsZCw2Nl0pO2Vsc2VcbnUoYSxbMCxkLDY2XSl9fXJldHVyblswLGksZSxqVihhLHN0KGEpKV19LGYpLGI9aVsyXSxlPWJbMl0sbj1iWzNdLG89YlsxXSxyPWlbMV0saj1sYihmLGcsaCwwLGkwKGUpKSxzPWpbMV07alkoZixqWzJdLDAsZSk7cmV0dXJuWzAsMCxlLHMsZyxoLDEsMCxuLG8scChbMCxrXSwwLGwpLHJdfSxhKV19ZnVuY3Rpb25cbklUKGEpe3ZhclxuYj1sZihhKTtyZXR1cm4gMD09PWJbMF0/WzAsYlsxXSxjdV06WzAsYlsxXSxiWzJdXX1mdW5jdGlvblxuSVUoYSxiKXtzd2l0Y2goYlswXSl7Y2FzZVxuMDp2YXJcbmU9YlsxXSxmPWVbMV0sbT1lWzJdO3UoYSxbMCxmLDQ3XSk7cmV0dXJuWzAsZixbMTQsbV1dO2Nhc2VcbjE6dmFyXG5nPWJbMV0saD1nWzFdLG49Z1syXTt1KGEsWzAsaCw0N10pO3JldHVyblswLGgsWzE3LG5dXTtjYXNlXG4yOnZhclxuaT1iWzFdLGo9aVsxXSxvPWlbMl07dShhLFswLGosNDddKTtyZXR1cm5bMCxqLFsxOCxvXV07Y2FzZVxuMzp2YXJcbmM9YlsxXSxrPWNbMl1bMV0sZD1jWzFdO2lmKG1UKGspKXUoYSxbMCxkLDk2XSk7ZWxzZSBpZihqUyhrKSliMChhLFswLGQsODFdKTtyZXR1cm5bMCxkLFsxMCxjXV07Y2FzZVxuNDpyZXR1cm4gRShhalgpO2RlZmF1bHQ6dmFyXG5sPWJbMV1bMl1bMV07dShhLFswLGxbMV0sN10pO3JldHVybiBsfX1mdW5jdGlvblxuSVYoZCxiLGMpe2Z1bmN0aW9uXG5lKGEpe3ZhclxuZz1pVigxLGEpLGg9cSgwLGZ1bmN0aW9uKGEpe3ZhclxuZT1iaChhLGJKKGEpKSxjPWpaKGQsYikoYSksZj04Nz09PW0oYSk/YzprMihhLGMpO3JldHVyblswLGUsZixqVihhLHN0KGEpKV19LGcpLGU9aFsyXSxmPWVbMl0saj1lWzNdLGs9ZVsxXSxuPWhbMV0saT1sYihnLGQsYiwwLGkwKGYpKSxvPWlbMV07alkoZyxpWzJdLDAsZik7cmV0dXJuWzAsMCxmLG8sZCxiLDEsMCxqLGsscChbMCxjXSwwLGwpLG5dfXZhclxuZj0wO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gcShmLGUsYSl9fWZ1bmN0aW9uXG5JVyhhKXtuKGEsODcpO3JldHVybiBJVChhKX1mdW5jdGlvblxuc1MoYSxiLGMsZCxlLGYpe3ZhclxuZz1xKFswLGJdLGZ1bmN0aW9uKGEpe2lmKCFkJiYhZSl7dmFyXG5iPW0oYSk7YTppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiKXtpZig4Nzw9Yil7aWYoOTkhPT1iKXtpZig4ODw9YilicmVhayBhO3Zhclxuaz1JVyhhKTtyZXR1cm5bMCxbMCxjLGtbMV0sMF0sa1syXV19fWVsc2V7aWYoODM9PT1iKXtpZigzPT09Y1swXSl2YXJcbmc9Y1sxXSxvPXkoYSkscz1xKFswLGdbMV1dLGZ1bmN0aW9uKGEpe3ZhclxuYj1yKGEpO24oYSw4Myk7dmFyXG5jPXQoYSksZD1qKHZbMTldLGEsWzAsZ1sxXSxbMTAsZ11dKSxlPWkodlsxMF0sYSk7cmV0dXJuWzQsWzAsMCxkLGUscChbMCxiXSxbMCxjXSxsKV1dfSxhKSxoPVswLHMsWzAsWzAsWzAsbyxbMjYsbXIoYWpZKV1dLDBdLDBdXTtlbHNlXG52YXJcbmg9SVcoYSk7cmV0dXJuWzAsWzAsYyxoWzFdLDFdLGhbMl1dfWlmKDEwPD1iKWJyZWFrIGE7c3dpdGNoKGIpe2Nhc2VcbjQ6YnJlYWs7Y2FzZVxuMTpjYXNlXG45OnJldHVyblswLFswLGMsSVUoYSxjKSwxXSxjdV07ZGVmYXVsdDpicmVhayBhfX12YXJcbnc9Y3QoYSxjKTtyZXR1cm5bMCxbMSx3LElWKGQsZSxmKShhKV0sY3VdfXJldHVyblswLFswLGMsSVUoYSxjKSwxXSxjdV19dmFyXG51PWN0KGEsYyk7cmV0dXJuWzAsWzEsdSxJVihkLGUsZikoYSldLGN1XX0sYSksaD1nWzJdO3JldHVyblswLFswLFswLGdbMV0saFsxXV1dLGhbMl1dfWZ1bmN0aW9uXG5halooYSl7aWYoMTI9PT1tKGEpKXt2YXJcbko9cihhKSxzPXEoMCxmdW5jdGlvbihhKXtuKGEsMTIpO3JldHVybiBJVChhKX0sYSksdD1zWzJdLEs9dFsyXSxMPXRbMV0sTT1zWzFdO3JldHVyblswLFsxLFswLE0sWzAsTCxwKFswLEpdLDAsbCldXV0sS119dmFyXG5lPXkoYSksYj1OKDEsYSk7YTp7YjppZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiKXtpZig4Nzw9Yil7aWYoOTkhPT1iJiY4ODw9YilicmVhayBifWVsc2UgaWYoODMhPT1iKXtpZigxMDw9YilicmVhayBiO3N3aXRjaChiKXtjYXNlXG4xOmNhc2VcbjQ6Y2FzZVxuOTpicmVhaztkZWZhdWx0OmJyZWFrIGJ9fXZhclxudT0wLGY9MDticmVhayBhfXZhclxuQj1uaihhKSx1PUJbMl0sZj1CWzFdfXZhclxudj1pNChhKSx3PXZbMV0sTz1JKHUsdlsyXSksZz1tKGEpO2lmKCFmJiYhdyYmdHlwZW9mXG5nIT09XCJudW1iZXJcIiYmND09PWdbMF0pe3ZhclxueD1nWzNdO2lmKCFrKHgsanQpKXt2YXJcblE9cihhKSxBPWl1KDAsYSlbMl0sZD1tKGEpO2E6aWYodHlwZW9mXG5kPT09XCJudW1iZXJcIil7aWYoODc8PWQpe2lmKDk5IT09ZCYmODg8PWQpYnJlYWsgYX1lbHNlIGlmKDgzIT09ZCl7aWYoMTA8PWQpYnJlYWsgYTtzd2l0Y2goZCl7Y2FzZVxuMTpjYXNlXG40OmNhc2Vcbjk6YnJlYWs7ZGVmYXVsdDpicmVhayBhfX1yZXR1cm4gc1MoYSxlLEEsMCwwLDApfWN0KGEsQSk7dmFyXG5oPXEoWzAsZV0sZnVuY3Rpb24oYSl7cmV0dXJuIG5xKGEsMCwxKX0sYSksaT1oWzJdLEM9aVsyXSxEPWlbMV0sRT1oWzFdO3JldHVyblswLFswLFswLEUsWzIsRCxDLHAoWzAsUV0sMCxsKV1dXSxjdV19aWYoIWsoeCxqNikpe3ZhclxuUD1yKGEpLHo9aXUoMCxhKVsyXSxjPW0oYSk7YTppZih0eXBlb2ZcbmM9PT1cIm51bWJlclwiKXtpZig4Nzw9Yyl7aWYoOTkhPT1jJiY4ODw9YylicmVhayBhfWVsc2UgaWYoODMhPT1jKXtpZigxMDw9YylicmVhayBhO3N3aXRjaChjKXtjYXNlXG4xOmNhc2VcbjQ6Y2FzZVxuOTpicmVhaztkZWZhdWx0OmJyZWFrIGF9fXJldHVybiBzUyhhLGUseiwwLDAsMCl9Y3QoYSx6KTt2YXJcbmo9cShbMCxlXSxmdW5jdGlvbihhKXtyZXR1cm4gbnEoYSwwLDApfSxhKSxvPWpbMl0sRj1vWzJdLEc9b1sxXSxIPWpbMV07cmV0dXJuWzAsWzAsWzAsSCxbMyxHLEYscChbMCxQXSwwLGwpXV1dLGN1XX19cmV0dXJuIHNTKGEsZSxpdSgwLGEpWzJdLGYsdyxPKX1mdW5jdGlvblxubnIoYSxiLGMsZCl7dmFyXG5mPWNbMl1bMV0saj1jWzFdO2lmKFgoZixpOSkpe3UoYSxbMCxqLFsxNSxmLDAsSms9PT1kPzE6MCwxXV0pO3JldHVybiBifWE6e2I6e2M6e3ZhclxuZT1iO2Zvcig7Oyl7aWYodHlwZW9mXG5lPT09XCJudW1iZXJcIilicmVhayBiO2lmKDA9PT1lWzBdKWJyZWFrIGM7dmFyXG5pPUMoZixlWzJdKSxsPWVbNV0sbT1lWzRdLG49ZVszXTtpZigwPT09aSlicmVhazt2YXJcbm89MDw9aT9sOm0sZT1vfXZhclxuZz1bMCxuXTticmVhayBhfXZhclxuaz1lWzJdO2lmKDA9PT1DKGYsZVsxXSkpe3ZhclxuZz1bMCxrXTticmVhayBhfXZhclxuZz0wO2JyZWFrIGF9dmFyXG5nPTB9aWYoIWcpcmV0dXJuIG1tKGYsZCxiKTt2YXJcbmg9Z1sxXTthOntiOmlmKHR5cGVvZlxuZD09PVwibnVtYmVyXCIpe2lmKHk0PT09ZCl7aWYodHlwZW9mXG5oIT09XCJudW1iZXJcInx8dGQhPT1oKWJyZWFrIGJ9ZWxzZSBpZih0ZCE9PWR8fHR5cGVvZlxuaCE9PVwibnVtYmVyXCJ8fHk0IT09aClicmVhayBiO2JyZWFrIGF9dShhLFswLGosWzEsZl1dKX1yZXR1cm4gbW0oZixMQixiKX1mdW5jdGlvblxuSVgoYSxiKXtyZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe3ZhclxuZz1iP3IoYSk6MDtuKGEsNTMpO3ZhclxuYz0wO2Zvcig7Oyl7dmFyXG5kPVswLHEoMCxmdW5jdGlvbihhKXt2YXJcbmI9Y1IoYSksYz05OT09PW0oYSk/aihheChhKVsyXSxiLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooTChhLGtqLDk2KSxhLGIpfSk6YjtyZXR1cm5bMCxjLEhRKGEpXX0sYSksY10sZT1tKGEpO2lmKHR5cGVvZlxuZT09PVwibnVtYmVyXCImJjk9PT1lKXtuKGEsOSk7dmFyXG5jPWQ7Y29udGludWV9dmFyXG5mPUIoZCk7cmV0dXJuWzAsZixwKFswLGddLDAsbCldfX0sYSl9ZnVuY3Rpb25cbnNUKGEpe3N3aXRjaChhWzBdKXtjYXNlXG4wOmNhc2VcbjM6dmFyXG5iPWFbMV07cmV0dXJuWzAsWzAsYlsxXSxiWzJdWzFdXV07ZGVmYXVsdDpyZXR1cm4gMH19ZnVuY3Rpb25cbnNVKGEsYil7aWYoYilyZXR1cm4gdShhLFswLGJbMV1bMV0saFRdKTtyZXR1cm59ZnVuY3Rpb25cbnNWKGEsYil7aWYoYilyZXR1cm4gdShhLFswLGJbMV0sMTJdKTtyZXR1cm59ZnVuY3Rpb25cbklZKGEsYixjLGQsZSxmLGcsaCl7dmFyXG5vPXEoWzAsYl0sZnVuY3Rpb24oYSl7dmFyXG5jPXNzKGEpLGs9bShhKTthOmlmKGYpe2lmKHR5cGVvZlxuaz09PVwibnVtYmVyXCImJjgzPT09ayl7SyhhLDEzKTtzKGEpO3ZhclxuYj0wO2JyZWFrIGF9dmFyXG5iPTB9ZWxzZXtpZih0eXBlb2Zcbms9PT1cIm51bWJlclwiJiY4Mz09PWspe3MoYSk7dmFyXG5CPWlWKDEsYSksYj1bMCxpKHZbN10sQildO2JyZWFrIGF9dmFyXG5iPTF9dmFyXG5uPW0oYSk7YTp7aWYodHlwZW9mXG5uPT09XCJudW1iZXJcIiYmOT5uKXN3aXRjaChuKXtjYXNlXG44OnMoYSk7dmFyXG53PW0oYSk7Yjp7YzppZih0eXBlb2Zcbnc9PT1cIm51bWJlclwiKXtpZigxIT09dyYmViE9PXcpYnJlYWsgYzt2YXJcbng9dChhKTticmVhayBifXZhclxueD1hOChhKT9pcShhKTowfXZhclxuZT1bMCxkLGMsYix4XTticmVhayBhO2Nhc2VcbjQ6Y2FzZVxuNjphaygwLGEpO3ZhclxuZT1bMCxkLGMsYiwwXTticmVhayBhfXZhclxubz1tKGEpO2I6e2M6aWYodHlwZW9mXG5vPT09XCJudW1iZXJcIil7aWYoMSE9PW8mJlYhPT1vKWJyZWFrIGM7dmFyXG5nPVswLCxmdW5jdGlvbihhLGIpe3JldHVybiBhfV07YnJlYWsgYn12YXJcbmc9YTgoYSk/azEoYSk6bVooYSl9aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIilpZigwPT09Y1swXSl2YXJcbnU9YixyPWMscT1qKGdbMl0sZCxmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSxKdCw5OSksYSxiKX0pO2Vsc2VcbnZhclxudT1iLHI9WzEsaihnWzJdLGNbMV0sZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihMKGEseTksYW4pLGEsYil9KV0scT1kO2Vsc2VcbnZhclxudT1bMCxqKGdbMl0sYlsxXSxmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSxjYixidCksYSxiKX0pXSxyPWMscT1kO3ZhclxuZT1bMCxxLHIsdSwwXX12YXJcbnk9ZVszXSx6PWVbMl0sQT1lWzFdO3JldHVyblswLEEseix5LHAoWzAsaF0sWzAsZVs0XV0sbCldfSxhKSxrPW9bMl0scj1rWzRdLHU9a1szXSx3PWtbMl0sbj1rWzFdLHg9b1sxXTtyZXR1cm4gND09PW5bMF0/WzIsWzAseCxbMCxuWzFdLHUsdyxlLGcsYyxyXV1dOlsxLFswLHgsWzAsbix1LHcsZSxnLGMscl1dXX1mdW5jdGlvblxuc1coYSxiLGMsZCxlLGYsZyxoLGksail7Zm9yKDs7KXt2YXJcbnc9bShhKTthOmlmKHR5cGVvZlxudz09PVwibnVtYmVyXCIpe3Zhclxudj13LTF8MDtpZig3PHY+Pj4wKXt2YXJcbng9di04MnwwO2lmKDQ8eD4+PjApYnJlYWsgYTtzd2l0Y2goeCl7Y2FzZVxuMzphaygwLGEpO3MoYSk7Y29udGludWU7Y2FzZVxuMDpjYXNlXG40OmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX19ZWxzZSBpZig1Pj12LTE+Pj4wKWJyZWFrIGE7aWYoIWUmJiFmKXJldHVybiBJWShhLGIsYyxkLGcsaCxpLGopfXZhclxudD1tKGEpO2E6e2lmKHR5cGVvZlxudD09PVwibnVtYmVyXCImJig0PT09dHx8OTk9PT10KSl7dmFyXG55PTA7YnJlYWsgYX12YXJcbnk9alUoYSk/MTowfWlmKHkpcmV0dXJuIElZKGEsYixjLGQsZyxoLGksaik7c1YoYSxoKTtzVShhLGkpO3Zhclxubj1zVChkKTthOntpZihnKXtpZihuKXt2YXJcbno9blsxXSxEPXpbMV07aWYoIWsoelsyXSxpRikpe3UoYSxbMCxELFsxNSxhajIsZywxLDBdXSk7dmFyXG5yPWlWKDEsYSksbz0xO2JyZWFrIGF9fX1lbHNlIGlmKG4pe3ZhclxuQj1uWzFdLEM9QlsxXTtpZighayhCWzJdLGk5KSl7aWYoZSl1KGEsWzAsQyw5XSk7aWYoZil1KGEsWzAsQywxMF0pO3Zhclxucj1pVigyLGEpLG89MDticmVhayBhfX12YXJcbnI9aVYoMSxhKSxvPTF9dmFyXG5FPWN0KHIsZCksQT1xKDAsZnVuY3Rpb24oYSl7dmFyXG5kPXEoMCxmdW5jdGlvbihhKXt2YXJcbmk9YmgoYSxiSihhKSksZD1qWihlLGYpKGEpLGM9ODc9PT1tKGEpP2Q6azIoYSxkKSxiPWNbMl0sZz1iWzFdO2E6e2lmKGcpe3Zhclxuaj1nWzFdWzFdLGs9Y1sxXTtpZigwPT09byl7dShhLFswLGosODhdKTt2YXJcbmg9WzAsayxbMCwwLGJbMl0sYlszXSxiWzRdXV07YnJlYWsgYX19dmFyXG5oPWN9cmV0dXJuWzAsaSxoLGpWKGEsc3QoYSkpXX0sYSksYj1kWzJdLGM9YlsyXSxoPWJbM10saT1iWzFdLGo9ZFsxXSxnPWxiKGEsZSxmLDAsaTAoYykpLGs9Z1sxXTtqWShhLGdbMl0sMCxjKTtyZXR1cm5bMCwwLGMsayxlLGYsMSwwLGgsaSwwLGpdfSxyKSxGPVswLG8sRSxBLGcsYyxwKFswLGpdLDAsbCldO3JldHVyblswLFswLCQoYixBWzFdKSxGXV19fWZ1bmN0aW9uXG5zWChhLGIpe3ZhclxuYz1OKGEsYik7YTppZih0eXBlb2ZcbmM9PT1cIm51bWJlclwiKXtpZig4Nzw9Yyl7aWYoOTkhPT1jJiY4ODw9YylicmVhayBhfWVsc2UgaWYoODMhPT1jKXtpZig5PD1jKWJyZWFrIGE7c3dpdGNoKGMpe2Nhc2VcbjE6Y2FzZVxuNDpjYXNlXG44OmJyZWFrO2RlZmF1bHQ6YnJlYWsgYX19cmV0dXJuIDF9cmV0dXJuIDB9dmFyXG5SQz0wO2Z1bmN0aW9uXG5haFgoYSxiLGMsZCl7dmFyXG5nPXkoYSksZj1tKGEpO2E6e2lmKHR5cGVvZlxuZj09PVwibnVtYmVyXCIpc3dpdGNoKGYpe2Nhc2VcbjEwNDp2YXJcbmk9cihhKTtzKGEpO3ZhclxuZT1bMCxbMCxnLFswLDAscChbMCxpXSwwLGwpXV1dO2JyZWFrIGE7Y2FzZVxuMTA1OnZhclxuaj1yKGEpO3MoYSk7dmFyXG5lPVswLFswLGcsWzAsMSxwKFswLGpdLDAsbCldXV07YnJlYWsgYX1lbHNlIGlmKDQ9PT1mWzBdJiYhayhmWzNdLGpoKSYmYil7dmFyXG5uPXIoYSk7cyhhKTt2YXJcbmU9WzAsWzAsZyxbMCwyLHAoWzAsbl0sMCxsKV1dXTticmVhayBhfXZhclxuZT0wfWE6aWYoZSl7dmFyXG5oPWVbMV1bMV07aWYoIWMmJiFkKWJyZWFrIGE7dShhLFswLGgsaFRdKTtyZXR1cm4gMH1yZXR1cm4gZX12YXJcbmFqMz0wO2Z1bmN0aW9uXG5JWihhKXtyZXR1cm4gc1goYWozLGEpfWZ1bmN0aW9uXG5hajQoYSl7dmFyXG5mPXkoYSksZz1zUihhKSxPPW0oYSk7YTp7aWYodHlwZW9mXG5PPT09XCJudW1iZXJcIiYmNjE9PT1PJiYhc1goMSxhKSl7dmFyXG5hdT1bMCx5KGEpXSxhdj1yKGEpO3MoYSk7dmFyXG5QPWF2LGQ9YXU7YnJlYWsgYX12YXJcblA9MCxkPTB9dmFyXG50PW0oYSk7YTppZih0eXBlb2ZcbnQ9PT1cIm51bWJlclwiJiYyPj10K0xJPj4+MCYmaE8oMSxhKSl7Yjp7aWYodHlwZW9mXG50PT09XCJudW1iZXJcIil7dmFyXG5hYj10K0xJfDA7aWYoMj49YWI+Pj4wKXtzd2l0Y2goYWIpe2Nhc2VcbjA6dmFyXG56PUthO2JyZWFrO2Nhc2VcbjE6dmFyXG56PWxKO2JyZWFrO2RlZmF1bHQ6dmFyXG56PWxHfXZhclxuYWM9ejticmVhayBifX12YXJcbmFjPUUoYWo4KX1LKGEsWzI0LGFjXSk7cyhhKTticmVhayBhfXZhclxuUT00Mz09PW0oYSk/MTowO2lmKFEpe3ZhclxuaD1OKDEsYSk7YTp7YjppZih0eXBlb2Zcbmg9PT1cIm51bWJlclwiKXtpZig4ODw9aCl7aWYoOTkhPT1oJiZWIT09aClicmVhayBifWVsc2V7dmFyXG52PWgtOXwwO2lmKDc3PHY+Pj4wKXtpZig3OD52KXN3aXRjaCh2Kzl8MCl7Y2FzZVxuMTpjYXNlXG40OmNhc2Vcbjg6YnJlYWs7ZGVmYXVsdDpicmVhayBifX1lbHNlIGlmKDc0IT09dilicmVhayBifXZhclxuUj0wO2JyZWFrIGF9dmFyXG5SPTF9dmFyXG5iPVJ9ZWxzZVxudmFyXG5iPVE7aWYoYil7dmFyXG5hbD1yKGEpO3MoYSk7dmFyXG5TPWFsfWVsc2VcbnZhclxuUz0wO3ZhclxuVD02NT09PW0oYSk/MTowO2lmKFQpdmFyXG5VPTEtc1goMSxhKSxjPVU/MS1pWSgxLGEpOlU7ZWxzZVxudmFyXG5jPVQ7aWYoYyl7dmFyXG5hbT1yKGEpO3MoYSk7dmFyXG5XPWFtfWVsc2VcbnZhclxuVz0wO3ZhclxuWD1pNChhKSx3PVhbMV0sYW49WFsyXSxhbz1oTygxLGEpLGFwPWFvfHwoNj09PU4oMSxhKT8xOjApLGU9YWhYKGEsYXAsYyx3KTthOntpZighdyYmZSl7dmFyXG5hYT1pNChhKSxZPWFhWzJdLGk9YWFbMV07YnJlYWsgYX12YXJcblk9YW4saT13fXZhclxuaj1rQyhbMCxQLFswLFMsWzAsVyxbMCxZLDBdXV1dKSx4PW0oYSk7aWYoIWMmJiFpJiZ0eXBlb2ZcbnghPT1cIm51bWJlclwiJiY0PT09eFswXSl7dmFyXG5aPXhbM107aWYoIWsoWixqdCkpe3ZhclxuYXM9cihhKSwkPWl1KGFqNyxhKVsyXTtpZihJWihhKSlyZXR1cm4gc1coYSxmLGcsJCxjLGksYixkLGUsaik7c1YoYSxkKTtzVShhLGUpO2N0KGEsJCk7dmFyXG5hdD1JKGosYXMpLEE9cShbMCxmXSxmdW5jdGlvbihhKXtyZXR1cm4gbnEoYSwxLDEpfSxhKSxCPUFbMl0sQz1CWzFdLGFkPUJbMl0sYWU9QVsxXSxuPXNUKEMpO2E6aWYoYil7aWYobil7dmFyXG5EPW5bMV0sYWY9RFsxXTtpZighayhEWzJdLGlGKSl7dShhLFswLGFmLFsxNSxhajAsYiwwLDBdXSk7YnJlYWsgYX19fWVsc2UgaWYobil7dmFyXG5GPW5bMV0sYWc9RlsxXTtpZighayhGWzJdLGk5KSl7dShhLFswLGFnLDhdKTticmVhayBhfX1yZXR1cm5bMCxbMCxhZSxbMCwyLEMsYWQsYixnLHAoWzAsYXRdLDAsbCldXV19aWYoIWsoWixqNikpe3ZhclxuYXE9cihhKSxfPWl1KGFqNixhKVsyXTtpZihJWihhKSlyZXR1cm4gc1coYSxmLGcsXyxjLGksYixkLGUsaik7c1YoYSxkKTtzVShhLGUpO2N0KGEsXyk7dmFyXG5hcj1JKGosYXEpLEc9cShbMCxmXSxmdW5jdGlvbihhKXtyZXR1cm4gbnEoYSwxLDApfSxhKSxIPUdbMl0sSj1IWzFdLGFoPUhbMl0sYWk9R1sxXSxvPXNUKEopO2E6aWYoYil7aWYobyl7dmFyXG5MPW9bMV0sYWo9TFsxXTtpZighayhMWzJdLGlGKSl7dShhLFswLGFqLFsxNSxhajEsYiwwLDBdXSk7YnJlYWsgYX19fWVsc2UgaWYobyl7dmFyXG5NPW9bMV0sYWs9TVsxXTtpZighayhNWzJdLGk5KSl7dShhLFswLGFrLDhdKTticmVhayBhfX1yZXR1cm5bMCxbMCxhaSxbMCwzLEosYWgsYixnLHAoWzAsYXJdLDAsbCldXV19fXJldHVybiBzVyhhLGYsZyxpdShhajUsYSlbMl0sYyxpLGIsZCxlLGopfWZ1bmN0aW9uXG5JMChhLGIsYyxkKXt2YXJcbko9YT9hWzFdOjAsZT1oTSgxLGIpLE09SShKLHNSKGUpKSxOPXIoZSksZz1tKGUpO2E6aWYodHlwZW9mXG5nIT09XCJudW1iZXJcIiYmND09PWdbMF0mJiFrKGdbM10seV8pKXtLKGUsODQpO3MoZSk7YnJlYWsgYX1uKGUsNDEpO3ZhclxuQz1zYSgxLGUpLGY9bShDKTthOntiOmlmKGMmJnR5cGVvZlxuZj09PVwibnVtYmVyXCIpe2lmKDUzPD1mKXtpZig5OSE9PWYmJjU0PD1mKWJyZWFrIGJ9ZWxzZSBpZig0MiE9PWYmJmYpYnJlYWsgYjt2YXJcbmg9MDticmVhayBhfWlmKGNyKGUpKXZhclxuUD1qKHZbMTNdLDAsQyksaD1bMCxqKGF4KGUpWzJdLFAsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihMKGEsa2osYmUpLGEsYil9KV07ZWxzZXtHOShlLGFqJCk7dmFyXG5oPVswLFswLHkoZSksYWthXV19fXZhclxueD1iSihlKTtpZih4KXZhclxuTz14WzFdLEE9WzAsaihheChlKVsyXSxPLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooTChhLHc1LGNBKSxhLGIpfSldO2Vsc2VcbnZhclxuQT0wO3ZhclxuRj1yKGUpO2lmKGFnKGUsNDIpKXZhclxuRD1xKDAsZnVuY3Rpb24oYSl7dmFyXG5iPXNIKHJfKDAsYSkpLGM9OTk9PT1tKGEpP2ooYXgoYSlbMl0sYixmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSxjYiw5NyksYSxiKX0pOmIsZD1IUShhKTtyZXR1cm5bMCxjLGQscChbMCxGXSwwLGwpXX0sZSksaT1EWzFdLEc9RFsyXSxvPVswLFswLGksaihheChlKVsyXSxHLGZ1bmN0aW9uKGEsYil7cmV0dXJuIHooTChhLC02NjM0NDc3OTAsOTgpLGEsaSxiKX0pXV07ZWxzZVxudmFyXG5vPTA7aWYoNTM9PT1tKGUpKXtpZigxLWFxKGUpKUsoZSxhSyk7dmFyXG53PVswLEhmKGUsSVgoZSwxKSldfWVsc2VcbnZhclxudz0wO3ZhclxuSD1xKDAsZnVuY3Rpb24oYil7dmFyXG5hYT1yKGIpO2lmKCFhZyhiLDApKXtjcyhiLDApO3JldHVybiBhal99YlszMF1bMV09WzAsWzAsYTdbMV0sMF0sYlszMF1bMV1dO3ZhclxuYz0wLGE9UkMsaz0wO2Zvcig7Oyl7dmFyXG5GPW0oYik7aWYodHlwZW9mXG5GPT09XCJudW1iZXJcIil7dmFyXG5vPUYtMnwwO2lmKGJzPG8+Pj4wKXtpZihibT49bysxPj4+MClicmVha31lbHNlIGlmKDY9PT1vKXtuKGIsOCk7Y29udGludWV9fXZhclxuZz1hajQoYik7c3dpdGNoKGdbMF0pe2Nhc2VcbjA6dmFyXG5HPWdbMV0saD1HWzJdLFU9R1sxXTtzd2l0Y2goaFsxXSl7Y2FzZVxuMDppZihoWzRdKXZhclxuZj1hLGU9YztlbHNle2lmKGMpdShiLFswLFUsMTVdKTt2YXJcbmY9YSxlPTF9YnJlYWs7Y2FzZVxuMTp2YXJcbkg9aFsyXSxXPTQ9PT1IWzBdP25yKGIsYSxIWzFdLEprKTphLGY9VyxlPWM7YnJlYWs7Y2FzZVxuMjp2YXJcbko9aFsyXSxZPTQ9PT1KWzBdP25yKGIsYSxKWzFdLHk0KTphLGY9WSxlPWM7YnJlYWs7ZGVmYXVsdDp2YXJcbks9aFsyXSxaPTQ9PT1LWzBdP25yKGIsYSxLWzFdLHRkKTphLGY9WixlPWN9YnJlYWs7Y2FzZVxuMTp2YXJcbkw9Z1sxXVsyXSxNPUxbNF0sTj1MWzFdO3N3aXRjaChOWzBdKXtjYXNlXG40OkUoYWo5KTticmVhaztjYXNlXG4wOmNhc2VcbjM6dmFyXG5PPU5bMV0scT1PWzJdWzFdLEE9WChxLGk5KSxfPU9bMV07aWYoQSl2YXJcbkM9QTtlbHNlXG52YXJcbkQ9WChxLGlGKSxDPUQ/TTpEO2lmKEMpdShiLFswLF8sWzE1LHEsTSwwLDBdXSk7YnJlYWt9dmFyXG5mPWEsZT1jO2JyZWFrO2RlZmF1bHQ6dmFyXG5mPW5yKGIsYSxnWzFdWzJdWzFdLExCKSxlPWN9dmFyXG5jPWUsYT1mLGs9WzAsZyxrXX1mdW5jdGlvblxudyhjLGIpe3JldHVybiBrRChmdW5jdGlvbihhKXtyZXR1cm4gMS1hN1szXS5jYWxsKG51bGwsYVsxXSxjKX0sYil9dmFyXG4kPUIoayksaT1iWzMwXVsxXTtpZihpKXt2YXJcbmo9aVsxXSx4PWpbMV07aWYoaVsyXSl7dmFyXG55PWlbMl0sUD13KHgsalsyXSksej1rQih5KSxRPXpbMl0sUj16WzFdLFM9RVooeSksVD1bMCxbMCxSLEkoUSxQKV0sU107YlszMF1bMV09VH1lbHNle2ExKGZ1bmN0aW9uKGEpe3JldHVybiB1KGIsWzAsYVsyXSxbMjUsYVsxXV1dKX0sdyh4LGpbMl0pKTtiWzMwXVsxXT0wfX1lbHNlXG5FKGFkOSk7bihiLDEpO3Zhclxucz1tKGIpO2E6e2I6aWYoIWQpe2lmKHR5cGVvZlxucz09PVwibnVtYmVyXCImJigxPT09c3x8Vj09PXMpKWJyZWFrIGI7aWYoYTgoYikpe3Zhclxudj1pcShiKTticmVhayBhfXZhclxudj0wO2JyZWFrIGF9dmFyXG52PXQoYil9cmV0dXJuWzAsJCxwKFswLGFhXSxbMCx2XSxsKV19LGUpO3JldHVyblswLGgsSCxBLG8sdyxNLHAoWzAsTl0sMCxsKV19ZnVuY3Rpb25cbm5zKGEsYil7cmV0dXJuIHEoMCxmdW5jdGlvbihhKXtyZXR1cm5bMixJMChbMCxiXSxhLGFbN10sMCldfSxhKX1mdW5jdGlvblxuYWtiKGEpe3JldHVybls3LEkwKDAsYSwxLDEpXX12YXJcbmFrYz0wLEhWPUhVKHYpO2Z1bmN0aW9uXG5IVyhhKXt2YXJcbmI9bGMoYSk7YTppZihhWzVdKWlaKGEsYlsxXSk7ZWxzZXt2YXJcbmM9YlsyXTtiOmlmKDI3PT09Y1swXSl7dmFyXG5kPWNbMV0sZT1iWzFdO2lmKGRbNF0pdShhLFswLGUsNF0pO2Vsc2V7aWYoIWRbNV0pYnJlYWsgYjt1KGEsWzAsZSwyMl0pfWJyZWFrIGF9fXJldHVybiBifWZ1bmN0aW9uXG5tXyhhLGIpe3ZhclxuYz1iWzRdLGQ9YlszXSxlPWJbMl0sZj1iWzFdO2lmKGMpYkMoYSw3Nyk7dmFyXG5nPXIoYSk7bihhLFsyLFswLGYsZSxkLGNdXSk7cmV0dXJuWzAsZixbMCxlLGQscChbMCxnXSxbMCx0KGEpXSxsKV1dfWZ1bmN0aW9uXG5hSihhLGIsYyl7dmFyXG5nPWE/YVsxXTphZ0osaD1iP2JbMV06MSxmPW0oYyk7aWYodHlwZW9mXG5mPT09XCJudW1iZXJcIil7dmFyXG5kPWYtMnwwO2lmKGJzPGQ+Pj4wKXtpZihibT49ZCsxPj4+MClyZXR1cm5bMSxbMCx0KGMpLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGF9XV19ZWxzZSBpZig2PT09ZCl7cyhjKTt2YXJcbmU9bShjKTthOmlmKHR5cGVvZlxuZT09PVwibnVtYmVyXCIpe2lmKDEhPT1lJiZWIT09ZSlicmVhayBhO3JldHVyblswLHQoYyldfXJldHVybiBhOChjKT9bMCxpcShjKV06YWdJfX1pZihhOChjKSlyZXR1cm5bMSxrMShjKV07aWYoaClhayhbMCxnXSxjKTtyZXR1cm4gYWdIfWZ1bmN0aW9uXG5oUShhKXt2YXJcbmI9bShhKTthOmlmKHR5cGVvZlxuYj09PVwibnVtYmVyXCIpe2lmKDEhPT1iJiZWIT09YilicmVhayBhO3JldHVyblswLHQoYSksZnVuY3Rpb24oYSxiKXtyZXR1cm4gYX1dfXJldHVybiBhOChhKT9rMShhKTptWihhKX1mdW5jdGlvblxuc3goZixiLGMpe3ZhclxuYT1hSigwLDAsYik7aWYoMD09PWFbMF0pcmV0dXJuWzAsYVsxXSxjXTt2YXJcbmc9YVsxXVsyXSxkPUIoYyk7aWYoZCl2YXJcbmg9ZFsyXSxlPUIoWzAsaihnLGRbMV0sZnVuY3Rpb24oYSxiKXtyZXR1cm4geihMKGEsNjM0ODcyNDY4LDY2KSxhLGYsYil9KSxoXSk7ZWxzZVxudmFyXG5lPTA7cmV0dXJuWzAsMCxlXX12YXJcbkhYPVtdLEhZPVtdLEhaPVtdO2Z1bmN0aW9uXG5IMChhLGIsYyl7dmFyXG5kPWNbMl1bMV0sZT1jWzFdO2lmKGQmJiFkWzFdWzJdWzJdJiYhZFsyXSlyZXR1cm47cmV0dXJuIHUoYSxbMCxlLGJdKX1mdW5jdGlvblxuc3koYSxiKXtpZighYVs1XSYmazMoYikpcmV0dXJuIGlaKGEsYlsxXSk7cmV0dXJufWZ1bmN0aW9uXG5IMShhKXt2YXJcbmI9aXAoYSk/SFcoYSk6aSh2WzJdLGEpLGM9MS1hWzVdLGQ9Yz9rMyhiKTpjO2lmKGQpaVooYSxiWzFdKTtyZXR1cm4gYn1mdW5jdGlvblxuYWdWKGEpe3ZhclxuYj1yKGEpO24oYSw0NCk7dmFyXG5jPUgxKGEpO3JldHVyblswLGMscChbMCxiXSwwLGwpXX1mdW5jdGlvblxuYWdXKGEpe3ZhclxuYj1yKGEpO24oYSwxNik7dmFyXG5jPUkoYixyKGEpKTtuKGEsNCk7dmFyXG5kPWkodls3XSxhKTtuKGEsNSk7dmFyXG5lPUgxKGEpLGY9NDQ9PT1tKGEpP1swLHEoMCxhZ1YsYSldOjA7cmV0dXJuWzI4LFswLGQsZSxmLHAoWzAsY10sMCxsKV1dfXZhclxuYWdYPTA7ZnVuY3Rpb25cbkgyKGEpe3JldHVybiBxKGFnWCxhZ1csYSl9ZnVuY3Rpb25cbmFoaChhKXt2YXJcbmU9aSh2WzddLGEpLGM9YUooYWhpLDAsYSk7aWYoMD09PWNbMF0pdmFyXG5kPWUsZj1jWzFdO2Vsc2VcbnZhclxuZD1qKGNbMV1bMl0sZSxmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSxjYiw3MiksYSxiKX0pLGY9MDtpZihhWzIwXSl7dmFyXG5nPWRbMl07aWYoMTQ9PT1nWzBdKXt2YXJcbmI9Z1sxXVsyXTthOntpZigxPEcoYikpe3Zhclxubj1hQihiLEcoYiktMXwwKTtpZihhQihiLDApPT09bil7dmFyXG5tPVswLGEyKGIsMSxHKGIpLTJ8MCldO2JyZWFrIGF9fXZhclxubT0wfXZhclxuaD1tfWVsc2VcbnZhclxuaD0wO3Zhclxuaz1ofWVsc2VcbnZhclxuaz0wO3JldHVyblsyMyxbMCxkLGsscCgwLFswLGZdLGwpXV19dmFyXG5haGo9MDtmdW5jdGlvblxuazgoYSl7cmV0dXJuIHEoYWhqLGFoaCxhKX1mdW5jdGlvblxuSDMoYSl7cmV0dXJuWzAsaE4oYSksYWhrXX1mdW5jdGlvblxuSDQoYSl7dmFyXG5iPW0oYSk7aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmND09PWJbMF0mJiFrKGJbM10sbFIpKXtzKGEpO3ZhclxuYz1tKGEpO2lmKHR5cGVvZlxuYyE9PVwibnVtYmVyXCImJjI9PT1jWzBdKXJldHVybiBtXyhhLGNbMV0pO2FrKGFobSxhKTtyZXR1cm4gSDMoYSl9YWsoYWhsLGEpO3JldHVybiBIMyhhKX1mdW5jdGlvblxubSQoZixiLGMpe2Z1bmN0aW9uXG5kKGEpe3JldHVybiBmP2NSKGEpOmoodlsxM10sMCxhKX12YXJcbmE9TigxLGMpO2lmKHR5cGVvZlxuYT09PVwibnVtYmVyXCIpc3dpdGNoKGEpe2Nhc2VcbjE6Y2FzZVxuOTpjYXNlXG4xMTQ6cmV0dXJuWzAsZChjKSwwXX1lbHNlIGlmKDQ9PT1hWzBdJiYhayhhWzNdLGNjKSl7dmFyXG5oPWFOKGMpO3MoYyk7cmV0dXJuWzAsaCxbMCxkKGMpXV19dmFyXG5lPW0oYyk7YTppZihiJiZ0eXBlb2ZcbmU9PT1cIm51bWJlclwiKXt2YXJcbmc9YlsxXTtpZig0NyE9PWUmJjYyIT09ZSlicmVhayBhO0soYyxnKTtzKGMpO3JldHVyblswLGNSKGMpLDBdfXJldHVyblswLGQoYyksMF19ZnVuY3Rpb25cbmFobihhKXt2YXJcbmY9bShhKTthOntpZih0eXBlb2ZcbmY9PT1cIm51bWJlclwiKXtpZig0Nz09PWYpe3ZhclxuYj1haG87YnJlYWsgYX1pZig2Mj09PWYpe3ZhclxuYj1haHA7YnJlYWsgYX19dmFyXG5iPTB9dmFyXG5nPW0oYSk7YTp7YjppZih0eXBlb2Zcbmc9PT1cIm51bWJlclwiKXtpZig0NyE9PWcmJjYyIT09ZylicmVhayBiO3ZhclxuaD0xO2JyZWFrIGF9dmFyXG5oPTB9aWYoIWgpe3ZhclxubD1tJCgwLDAsYSk7cmV0dXJuWzAsMCxsWzJdLGxbMV0sMF19dmFyXG5jPWFOKGEpLGQ9bShhKTtpZih0eXBlb2ZcbmQ9PT1cIm51bWJlclwiKXN3aXRjaChkKXtjYXNlXG4xOmNhc2Vcbjk6Y2FzZVxuMTE0Om0wKDAsYSxjKTtyZXR1cm5bMCwwLDAsYywwXX1lbHNlIGlmKDQ9PT1kWzBdJiYhayhkWzNdLGNjKSl7dmFyXG5lPU4oMSxhKTtpZih0eXBlb2ZcbmU9PT1cIm51bWJlclwiKXN3aXRjaChlKXtjYXNlXG4xOmNhc2Vcbjk6Y2FzZVxuMTE0OnJldHVyblswLGIsMCxjUihhKSwwXX1lbHNlIGlmKDQ9PT1lWzBdJiYhayhlWzNdLGNjKSl7dmFyXG5uPWFOKGEpO3MoYSk7cmV0dXJuWzAsYixbMCxjUihhKV0sbiwwXX1tMCgwLGEsYyk7cyhhKTtyZXR1cm5bMCwwLFswLGoodlsxM10sMCxhKV0sYywwXX12YXJcbmk9bSQoMSwwLGEpO3JldHVyblswLGIsaVsyXSxpWzFdLDBdfWZ1bmN0aW9uXG5INShhLGIpe3Zhclxubz1tKGEpO2lmKHR5cGVvZlxubz09PVwibnVtYmVyXCImJmFLPT09byl7dmFyXG5nPXEoMCxmdW5jdGlvbihhKXtzKGEpO3ZhclxuYz1tKGEpO2lmKHR5cGVvZlxuYyE9PVwibnVtYmVyXCImJjQ9PT1jWzBdJiYhayhjWzNdLGNjKSl7cyhhKTtyZXR1cm4gMjw9Yj9bMCxqKHZbMTNdLDAsYSldOlswLGNSKGEpXX1hayhhaHMsYSk7cmV0dXJuIDB9LGEpLGg9Z1syXSxyPWdbMV0scD1oP1swLFswLHIsaFsxXV1dOjA7cmV0dXJuIHA/WzAsWzEscFsxXV1dOjB9bihhLDApO3ZhclxuZD0wLGM9MDtmb3IoOzspe3ZhclxudD1kP2RbMV06MSxlPW0oYSk7YTppZih0eXBlb2ZcbmU9PT1cIm51bWJlclwiKXtpZigxIT09ZSYmViE9PWUpYnJlYWsgYTt2YXJcbnU9QihjKTtuKGEsMSk7cmV0dXJuWzAsWzAsdV1dfWlmKDEtdClLKGEsMjkpO3N3aXRjaChiKXtjYXNlXG4wOnZhclxuaT1tJCgxLGFocSxhKSxmPVswLDAsaVsyXSxpWzFdLDBdO2JyZWFrO2Nhc2VcbjE6dmFyXG5sPW0kKDEsYWhyLGEpLGY9WzAsMCxsWzJdLGxbMV0sMF07YnJlYWs7ZGVmYXVsdDp2YXJcbmY9YWhuKGEpfXZhclxuZD1bMCxhZyhhLDkpXSxjPVswLGYsY119fWZ1bmN0aW9uXG5zeihhLGIpe3ZhclxuYz1hSigwLDAsYSk7cmV0dXJuIDA9PT1jWzBdP1swLGNbMV0sYl06WzAsMCxqKGNbMV1bMl0sYixmdW5jdGlvbihhLGIpe3ZhclxuYz1iWzFdO3JldHVyblswLGMseihMKGEsQ1osNzMpLGEsYyxiWzJdKV19KV19ZnVuY3Rpb25cbms5KGEsYixjKXt2YXJcbmU9SDUoYixhKSxkPXN6KGIsSDQoYikpLGY9ZFsyXTtyZXR1cm5bMjksWzAsYSxmLDAsZSxwKFswLGNdLFswLGRbMV1dLGwpXV19ZnVuY3Rpb25cbm5hKGEsYixjKXt2YXJcbmc9Mjw9YT9bMCxqKHZbMTNdLDAsYiksMF06WzAsY1IoYiksMF0sZD1tKGIpO2E6e2lmKHR5cGVvZlxuZD09PVwibnVtYmVyXCImJjk9PT1kKXtuKGIsOSk7dmFyXG5lPUg1KGIsYSk7YnJlYWsgYX12YXJcbmU9MH12YXJcbmY9c3ooYixINChiKSksaD1mWzJdO3JldHVyblsyOSxbMCxhLGgsWzAsZ10sZSxwKFswLGNdLFswLGZbMV1dLGwpXV19ZnVuY3Rpb25cbmFodChhKXt2YXJcbmI9aE0oMSxhKSxjPXIoYik7bihiLDUxKTt2YXJcbmQ9bShiKTtpZih0eXBlb2ZcbmQ9PT1cIm51bWJlclwiKXN3aXRjaChkKXtjYXNlXG4wOnJldHVybiBrOSgyLGIsYyk7Y2FzZVxuNDc6aWYoYXEoYikpe24oYiw0Nyk7dmFyXG5mPW0oYik7YTppZih0eXBlb2ZcbmY9PT1cIm51bWJlclwiKXtpZihhSyE9PWYmJmYpYnJlYWsgYTtyZXR1cm4gazkoMSxiLGMpfXJldHVybiBuYSgxLGIsYyl9YnJlYWs7Y2FzZVxuNjI6aWYoYXEoYikpe3ZhclxuZT1OKDEsYik7YTp7aWYodHlwZW9mXG5lPT09XCJudW1iZXJcIilzd2l0Y2goZSl7Y2FzZVxuMDpzKGIpO3JldHVybiBrOSgwLGIsYyk7Y2FzZVxuMTA3OnMoYik7YWsoMCxiKTtyZXR1cm4gazkoMCxiLGMpO2Nhc2Vcbjk6YnJlYWs7ZGVmYXVsdDpicmVhayBhfWVsc2UgaWYoNCE9PWVbMF18fGsoZVszXSxsUikpYnJlYWsgYTtyZXR1cm4gbmEoMixiLGMpfXMoYik7cmV0dXJuIG5hKDAsYixjKX1icmVhaztjYXNlXG4xMDc6cmV0dXJuIGs5KDIsYixjKX1lbHNlIGlmKDI9PT1kWzBdKXt2YXJcbmc9c3ooYixtXyhiLGRbMV0pKSxoPWdbMl07cmV0dXJuWzI5LFswLDIsaCwwLDAscChbMCxjXSxbMCxnWzFdXSxsKV1dfXJldHVybiBuYSgyLGIsYyl9dmFyXG5haHU9MDtmdW5jdGlvblxubmIoYSl7cmV0dXJuIHEoYWh1LGFodCxhKX1mdW5jdGlvblxubmMoYSxiKXtpZigxLWFxKGIpKUsoYixjQSk7dmFyXG5oPUkoYSxyKGIpKTtuKGIsNjIpO2FGKGIsMSk7dmFyXG5kPWNSKGIpLGk9OTk9PT1tKGIpP2JfKGIsZCk6ZCxrPWJKKGIpO24oYiw4Myk7dmFyXG5lPWhQKGIpO2FJKGIpO3ZhclxuYz1hSigwLDAsYik7aWYoMD09PWNbMF0pdmFyXG5nPWUsZj1jWzFdO2Vsc2VcbnZhclxuZz1qKGNbMV1bMl0sZSxmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSxraCw3OCksYSxiKX0pLGY9MDtyZXR1cm5bMCxpLGssZyxwKFswLGhdLFswLGZdLGwpXX1mdW5jdGlvblxubmQoYSxiLGMpe3Zhclxuej1hP2FbMV06MDtpZigxLWFxKGMpKUsoYyw5NCk7dmFyXG5BPUkoYixyKGMpKTtuKGMsNjMpO3ZhclxuQj1yKGMpO24oYyw2Mik7dmFyXG5DPUkoQSxCKTthRihjLDEpO3Zhclxudz1jUihjKSxkPTk5PT09bShjKT9iXyhjLHcpOncsZT1iSihjKSx4PW0oYyk7YTp7aWYodHlwZW9mXG54PT09XCJudW1iZXJcIiYmODc9PT14KXtuKGMsODcpO3ZhclxuZj1bMCxoUChjKV07YnJlYWsgYX12YXJcbmY9MH1pZih6KXt2YXJcbnk9bShjKTthOntpZih0eXBlb2Zcbnk9PT1cIm51bWJlclwiJiY4Mz09PXkpe0soYywxNCk7cyhjKTtpZig4IT09bShjKSYmIWpVKGMpKXt2YXJcbnU9WzAsaFAoYyldO2JyZWFrIGF9dmFyXG51PTA7YnJlYWsgYX12YXJcbnU9MH12YXJcbnE9dX1lbHNle24oYyw4Myk7dmFyXG5xPVswLGhQKGMpXX1hSShjKTt2YXJcbnY9YUooMCwwLGMpO2lmKDA9PT12WzBdKXZhclxubz1xLGs9ZixpPWUsaD1kLGc9dlsxXTtlbHNle3ZhclxudD12WzFdWzJdO2lmKHEpdmFyXG5vPVswLGoodCxxWzFdLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooTChhLGtoLDc5KSxhLGIpfSldLGs9ZixpPWUsaD1kLGc9MDtlbHNlIGlmKGYpdmFyXG5vPTAsaz1bMCxqKHQsZlsxXSxmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSxraCw4MCksYSxiKX0pXSxpPWUsaD1kLGc9MDtlbHNlIGlmKGUpdmFyXG5vPTAsaz0wLGk9WzAsaih0LGVbMV0sZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihMKGEsdzUsODEpLGEsYil9KV0saD1kLGc9MDtlbHNlXG52YXJcbm89MCxrPTAsaT0wLGg9aih0LGQsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihMKGEsa2osODIpLGEsYil9KSxnPTB9cmV0dXJuWzAsaCxpLG8sayxwKFswLENdLFswLGddLGwpXX1mdW5jdGlvblxubmUoYSxiKXtpZigxLWFxKGIpKUsoYixhSyk7dmFyXG5mPUkoYSxyKGIpKTtuKGIsNTQpO3ZhclxuYz1jUihiKSxnPTQyPT09bShiKT9jOmJfKGIsYyksZD1iSihiKSxoPTQyPT09bShiKT9kOmJoKGIsZCksZT1iRChISixiKSxpPWVbMl0saz1lWzFdLG89aihoUShiKVsyXSxpLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWJbMV07cmV0dXJuWzAsYyx6KEwoYSxKbyw4MyksYSxjLGJbMl0pXX0pO3JldHVyblswLGcsaCxrLG8scChbMCxmXSwwLGwpXX1mdW5jdGlvblxuc0EoYSxiKXt2YXJcbmM9aE0oMSxiKSxOPUkoYSxyKGMpKTtuKGMsNDEpO3ZhclxuZj1qKHZbMTNdLDAsYyksZD1tKGMpO2E6e2I6aWYodHlwZW9mXG5kPT09XCJudW1iZXJcIil7aWYoOTkhPT1kJiZkKWJyZWFrIGI7dmFyXG5nPWJfKGMsZik7YnJlYWsgYX12YXJcbmc9Zn12YXJcbmg9YkooYyksbz1tKGMpO2E6e2lmKHR5cGVvZlxubz09PVwibnVtYmVyXCImJiFvKXt2YXJcbnE9YmgoYyxoKTticmVhayBhfXZhclxucT1ofWlmKGFnKGMsNDIpKXt2YXJcbnQ9SFIoYyksdT1tKGMpO2E6e2lmKHR5cGVvZlxudT09PVwibnVtYmVyXCImJiF1KXt2YXJcbnc9WzAsaihheChjKVsyXSx0LGZ1bmN0aW9uKGEsYil7cmV0dXJuIGFFKGkoTChhLEwwLDE1KSxhKSxiKX0pXTticmVhayBhfXZhclxudz1bMCx0XX12YXJcbng9d31lbHNlXG52YXJcbng9MDt2YXJcbmU9bShjKTthOntpZih0eXBlb2ZcbmUhPT1cIm51bWJlclwiJiY0PT09ZVswXSYmIWsoZVszXSxLQikpe3MoYyk7dmFyXG5GPWooSFhbMV0sYywwKSxHPW0oYyk7Yjp7aWYodHlwZW9mXG5HPT09XCJudW1iZXJcIiYmIUcpe3ZhclxuSD1IZShjLEYpO2JyZWFrIGJ9dmFyXG5IPUZ9dmFyXG55PUg7YnJlYWsgYX12YXJcbnk9MH12YXJcbkE9bShjKTthOntpZih0eXBlb2ZcbkE9PT1cIm51bWJlclwiJiY1Mz09PUEpe3ZhclxuQj1JWChjLDApLEM9bShjKTtiOntpZih0eXBlb2ZcbkM9PT1cIm51bWJlclwiJiYhQyl7dmFyXG5EPVswLEhmKGMsQildO2JyZWFrIGJ9dmFyXG5EPVswLEJdfXZhclxuRT1EO2JyZWFrIGF9dmFyXG5FPTB9dmFyXG5KPTAsSz0wLE89MSxNPWJEKGZ1bmN0aW9uKGEpe3JldHVybiBzcChPLEssSixhKX0sYyksUD1qKGhRKGMpWzJdLE0sZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsxXTtyZXR1cm5bMCxjLHooTChhLEpvLDg0KSxhLGMsYlsyXSldfSk7cmV0dXJuWzAsZyxxLFAseCx5LEUscChbMCxOXSwwLGwpXX1mdW5jdGlvblxuc0IoYSxiKXt2YXJcbmc9SShhLHIoYikpO2NQKGIsYWhCKTt2YXJcbmg9Yl8oYixqKHZbMTNdLGFoQyxiKSksaT1iaChiLGJKKGIpKSxrPWJEKEhGLGIpLGQ9c2goYik/c2ooYixzdihiKSk6c3YoYiksYz1hSigwLDAsYik7aWYoMD09PWNbMF0pdmFyXG5mPWQsZT1jWzFdO2Vsc2VcbnZhclxuZj1qKGNbMV1bMl0sZCxmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSxKaSw4NSksYSxiKX0pLGU9MDtyZXR1cm5bMCxoLGksayxmLHAoWzAsZ10sWzAsZV0sbCldfWZ1bmN0aW9uXG5rXyhhLGIsYyl7dmFyXG53PWI/YlsxXTowLHg9SSh3LHIoYykpLGQ9bShjKTthOntpZih0eXBlb2ZcbmQ9PT1cIm51bWJlclwiKXtpZigxNT09PWQpe3MoYyk7dmFyXG5lPTE7YnJlYWsgYX19ZWxzZSBpZig0PT09ZFswXSYmIWsoZFszXSxpOCkmJiFhKXtzKGMpO3ZhclxuZT0wO2JyZWFrIGF9Y3MoYyxkKTt2YXJcbmU9MX12YXJcbnk9Yl8oYyxqKHZbMTNdLDAsYykpLGc9cSgwLGZ1bmN0aW9uKGEpe3ZhclxuZj1iaChhLGJKKGEpKSxnPWJEKG00LGEpO24oYSw4Nyk7YUYoYSwxKTthOntpZihtMShhKSYmMCE9PWUpe3ZhclxuZD1bMSxzbyhhKV07YnJlYWsgYX12YXJcbmI9aFAoYSk7Yjp7aWYoNjc9PT1tKGEpJiYwIT09ZSl7dmFyXG5jPVswLGooYXgoYSlbMl0sYixmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSxraCw2KSxhLGIpfSldO2JyZWFrIGJ9dmFyXG5jPVswLGJdfXZhclxuZD1jfWFJKGEpO3JldHVyblsxMixbMCxmLGcsZCwwLGVdXX0sYyksdD1iRChIUCxjKSxoPWFKKDAsMCxjKTtpZigwPT09aFswXSl2YXJcbm89dCxmPWcsaT1oWzFdO2Vsc2V7dmFyXG51PWhbMV1bMl07aWYodCl2YXJcbm89WzAsaih1LHRbMV0sZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihMKGEsTGwsODYpLGEsYil9KV0sZj1nLGk9MDtlbHNlXG52YXJcbm89MCxmPWoodSxnLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooTChhLGtoLDg3KSxhLGIpfSksaT0wfXZhclxuej1bMCxmWzFdLGZdO3JldHVyblswLHkseixvLHAoWzAseF0sWzAsaV0sbCldfWZ1bmN0aW9uXG5INihhKXtyZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe3ZhclxuZD1yKGEpO24oYSw2MSk7dmFyXG5iPW0oYSk7YTp7aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIiYmNjU9PT1iKXtLKGEsMTEpO24oYSw2NSk7dmFyXG5jPTE7YnJlYWsgYX12YXJcbmM9MH1yZXR1cm5bMTAsa18oYyxbMCxkXSxhKV19LGEpfWZ1bmN0aW9uXG5uZihhLGIsYyl7dmFyXG5oPUkoYyxyKGIpKTtzd2l0Y2goYSl7Y2FzZVxuMDpuKGIsMjUpO2JyZWFrO2Nhc2VcbjE6bihiLDI5KTticmVhaztkZWZhdWx0Om4oYiwyOCl9dmFyXG5pPWoodlsxM10sYWhELGIpLGU9aTMoYiksZD1hSigwLDAsYik7aWYoMD09PWRbMF0pdmFyXG5nPWUsZj1kWzFdO2Vsc2VcbnZhclxuZz1qKGRbMV1bMl0sZSxmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSx5OSw4OCksYSxiKX0pLGY9MDtyZXR1cm5bMCxpLGcsYSxwKFswLGhdLFswLGZdLGwpXX1mdW5jdGlvblxubmcoYyxiKXtyZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe3ZhclxuYj1yKGEpO24oYSw2MSk7cmV0dXJuWzE3LG5mKGMsYSxiKV19LGIpfWZ1bmN0aW9uXG5INyhhKXtyZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe3ZhclxuYz1yKGEpO24oYSwwKTt2YXJcbmI9aih2WzZdLGZ1bmN0aW9uKGEpe2lmKHR5cGVvZlxuYT09PVwibnVtYmVyXCImJjE9PT1hKXJldHVybiAxO3JldHVybiAwfSxhKSxkPTA9PT1iP3IoYSk6MDtuKGEsMSk7cmV0dXJuWzAsYixhdihbMCxjXSxbMCxoUShhKVsxXV0sZCxsKV19LGEpfWZ1bmN0aW9uXG5rJChhKXtjUChhLGFoSCk7dmFyXG5iPW0oYSk7YTp7aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmMj09PWJbMF0pe3ZhclxuYz1tXyhhLGJbMV0pO2JyZWFrIGF9dmFyXG5nPVswLHkoYSksYWhJXTthayhhaEosYSk7dmFyXG5jPWd9dmFyXG5mPWNbMl0sZD1jWzFdLGU9YUooMCwwLGEpO3JldHVybiAwPT09ZVswXT9bMCxbMCxkLGZdLGVbMV1dOlswLFswLGQsaihlWzFdWzJdLGYsZnVuY3Rpb24oYSxiKXtyZXR1cm4geihMKGEsQ1osOTApLGEsZCxiKX0pXSwwXX1mdW5jdGlvblxuSDgoYSxiLGMpe3ZhclxuZT1hLGQ9Yztmb3IoOzspe3ZhclxuZz1lP2VbMV06MSxmPW0oYik7YTppZih0eXBlb2ZcbmY9PT1cIm51bWJlclwiKXtpZigxIT09ZiYmViE9PWYpYnJlYWsgYTtyZXR1cm4gQihkKX1pZigxLWcpSyhiLDIxKTt2YXJcbmg9cSgwLGZ1bmN0aW9uKGEpe3ZhclxuZD1hTihhKSxiPW0oYSk7YTp7aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmND09PWJbMF0mJiFrKGJbM10sY2MpKXtzKGEpO3ZhclxuYz1bMCxhTihhKV07YnJlYWsgYX12YXJcbmM9MH1yZXR1cm5bMCxkLGNdfSxiKSxlPVswLGFnKGIsOSldLGQ9WzAsaCxkXX19ZnVuY3Rpb25cbkg5KGMsYil7cmV0dXJuIGExKGZ1bmN0aW9uKGEpe3JldHVybiBtMChhaEssYyxhWzJdWzFdKX0sYil9ZnVuY3Rpb25cbkhfKGEpe3JldHVybiBxKDAsZnVuY3Rpb24oYSl7aWYoMS1hcShhKSlLKGEsYlQpO3ZhclxuUD1yKGEpO24oYSw2MSk7dmFyXG5iPUdaKDEsaE0oMSxhKSksYz1JKFAscihiKSk7bihiLDUwKTt2YXJcbmg9bShiKTtpZih0eXBlb2Zcbmg9PT1cIm51bWJlclwiKXN3aXRjaChoKXtjYXNlXG4zNzp2YXJcblQ9SShjLHIoYikpLFU9cSgwLGZ1bmN0aW9uKGEpe3JldHVybiBuKGEsMzcpfSxiKVsxXSxkPUcwKDEsYiksbz1tKGQpO2E6e2lmKHR5cGVvZlxubz09PVwibnVtYmVyXCIpc3dpdGNoKG8pe2Nhc2VcbjE1OnZhclxuVj0wLGc9MCxmPVswLFsxLHEoMCxmdW5jdGlvbihhKXtyZXR1cm4ga18oViwwLGEpfSxkKV1dO2JyZWFrIGE7Y2FzZVxuNDE6dmFyXG5XPTAsZz0wLGY9WzAsWzIscSgwLGZ1bmN0aW9uKGEpe3JldHVybiBzQShXLGEpfSxkKV1dO2JyZWFrIGF9ZWxzZSBpZig0PT09b1swXSl7dmFyXG5KPW9bM107aWYoayhKLGgwKSl7aWYoIWsoSixpOCkmJmRbMjhdWzFdKXt2YXJcblg9MCxnPTAsZj1bMCxbMSxxKDAsZnVuY3Rpb24oYSl7cmV0dXJuIGtfKFgsMCxhKX0sZCldXTticmVhayBhfX1lbHNlIGlmKGRbMjhdWzFdKXt2YXJcblo9MCxnPTAsZj1bMCxbMyxxKDAsZnVuY3Rpb24oYSl7cmV0dXJuIHNCKFosYSl9LGQpXV07YnJlYWsgYX19dmFyXG5GPWhQKGQpLHc9YUooMCwwLGQpO2lmKDA9PT13WzBdKXZhclxuSD13WzFdLEc9RjtlbHNlXG52YXJcbkg9MCxHPWood1sxXVsyXSxGLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooTChhLGtoLDkyKSxhLGIpfSk7dmFyXG5nPUgsZj1bMCxbNCxHXV19cmV0dXJuWzksWzAsWzAsVV0sZiwwLDAscChbMCxUXSxbMCxnXSxsKV1dO2Nhc2VcbjQ5OmlmKGJbMjhdWzJdKXt2YXJcbl89SFZbMV0sJD1xKDAsZnVuY3Rpb24oYSl7cmV0dXJuIF8oMCxhKX0sYik7cmV0dXJuWzksWzAsMCxbMCxbOCwkXV0sMCwwLHAoWzAsY10sMCxsKV1dfWJyZWFrO2Nhc2VcbjU0OnZhclxuYWE9MCxhYj1xKDAsZnVuY3Rpb24oYSl7cmV0dXJuIG5lKGFhLGEpfSxiKTtyZXR1cm5bOSxbMCwwLFswLFs3LGFiXV0sMCwwLHAoWzAsY10sMCxsKV1dO2Nhc2VcbjYyOnZhclxuYWM9MCxhZD1xKDAsZnVuY3Rpb24oYSl7cmV0dXJuIG5jKGFjLGEpfSxiKTtyZXR1cm5bOSxbMCwwLFswLFs1LGFkXV0sMCwwLHAoWzAsY10sMCxsKV1dO2Nhc2VcbjYzOnZhclxuYWU9MCxhZj1xKDAsZnVuY3Rpb24oYSl7cmV0dXJuIG5kKGFoTixhZSxhKX0sYik7cmV0dXJuWzksWzAsMCxbMCxbNixhZl1dLDAsMCxwKFswLGNdLDAsbCldXTtjYXNlXG4xMDc6dmFyXG5hZz15KGIpO24oYixhSyk7dmFyXG56PW0oYik7YTp7aWYodHlwZW9mXG56IT09XCJudW1iZXJcIiYmND09PXpbMF0mJiFrKHpbM10sY2MpKXtzKGIpO3ZhclxuTT1bMCxqKHZbMTNdLDAsYildO2JyZWFrIGF9dmFyXG5NPTB9dmFyXG5OPWskKGIpLGFoPU5bMV07cmV0dXJuWzksWzAsMCwwLFswLFsxLFswLGFnLE1dXV0sWzAsYWhdLHAoWzAsY10sWzAsTlsyXV0sbCldXTtjYXNlXG4xNTpjYXNlXG4yNTpjYXNlXG4yODpjYXNlXG4yOTpjYXNlXG40MTp2YXJcbmU9bShiKTthOmlmKHR5cGVvZlxuZT09PVwibnVtYmVyXCIpe2lmKDI1PD1lKXtpZig0Mjw9ZSlicmVhayBhO3N3aXRjaChlK2o4fDApe2Nhc2VcbjA6dmFyXG5pPVswLFswLHEoMCxmdW5jdGlvbihhKXtyZXR1cm4gbmYoMCxhLDApfSxiKV1dO2JyZWFrO2Nhc2VcbjM6dmFyXG5pPVswLFswLHEoMCxmdW5jdGlvbihhKXtyZXR1cm4gbmYoMixhLDApfSxiKV1dO2JyZWFrO2Nhc2VcbjQ6dmFyXG5pPVswLFswLHEoMCxmdW5jdGlvbihhKXtyZXR1cm4gbmYoMSxhLDApfSxiKV1dO2JyZWFrO2Nhc2VcbjE2OnZhclxuUj0wLGk9WzAsWzIscSgwLGZ1bmN0aW9uKGEpe3JldHVybiBzQShSLGEpfSxiKV1dO2JyZWFrO2RlZmF1bHQ6YnJlYWsgYX12YXJcbkU9aX1lbHNle2lmKDE1IT09ZSlicmVhayBhO3ZhclxuUz0wLEU9WzAsWzEscSgwLGZ1bmN0aW9uKGEpe3JldHVybiBrXyhTLDAsYSl9LGIpXV19cmV0dXJuWzksWzAsMCxFLDAsMCxwKFswLGNdLDAsbCldXX10aHJvdyB4KFswLFksYWhNXSwxKX1lbHNlIGlmKDQ9PT1oWzBdKXt2YXJcbk89aFszXTtpZihrKE8saDApKXtpZighayhPLGk4KSYmYlsyOF1bMV0pe3ZhclxuYWk9MCxhaj1bMCxbMSxxKDAsZnVuY3Rpb24oYSl7cmV0dXJuIGtfKGFpLDAsYSl9LGIpXV07cmV0dXJuWzksWzAsMCxhaiwwLDAscChbMCxjXSwwLGwpXV19fWVsc2UgaWYoYlsyOF1bMV0pe3ZhclxuYWs9MCxhbD1bMCxbMyxxKDAsZnVuY3Rpb24oYSl7cmV0dXJuIHNCKGFrLGEpfSxiKV1dO3JldHVybls5LFswLDAsYWwsMCwwLHAoWzAsY10sMCxsKV1dfX1uKGIsMCk7dmFyXG5BPUg4KDAsYiwwKTtuKGIsMSk7dmFyXG50PW0oYik7YTp7aWYodHlwZW9mXG50IT09XCJudW1iZXJcIiYmND09PXRbMF0mJiFrKHRbM10sbFIpKXt2YXJcbkQ9ayQoYiksQz1EWzJdLEI9WzAsRFsxXV07YnJlYWsgYX1IOShiLEEpO3ZhclxudT1hSigwLDAsYiksUT0wPT09dVswXT91WzFdOnVbMV1bMV0sQz1RLEI9MH1yZXR1cm5bOSxbMCwwLDAsWzAsWzAsQV1dLEIscChbMCxjXSxbMCxDXSxsKV1dfSxhKX1hKEhYLFswLGZ1bmN0aW9uKGEsYil7dmFyXG5jPWI7Zm9yKDs7KXt2YXJcbmQ9WzAsSFIoYSksY10sZT1tKGEpO2lmKHR5cGVvZlxuZT09PVwibnVtYmVyXCImJjk9PT1lKXtuKGEsOSk7dmFyXG5jPWQ7Y29udGludWV9cmV0dXJuIEIoZCl9fV0pO2EoSFksWzAsZnVuY3Rpb24oYSxiKXt2YXJcbmM9bShiKTthOntpZih0eXBlb2ZcbmMhPT1cIm51bWJlclwiJiYyPT09Y1swXSl7dmFyXG5mPW1fKGIsY1sxXSksZD1bMSxqKGF4KGIpWzJdLGYsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsxXTtyZXR1cm5bMCxjLHooTChhLENaLDE4KSxhLGMsYlsyXSldfSldO2JyZWFrIGF9dmFyXG5kPVswLGJfKGIsaih2WzEzXSwwLGIpKV19dmFyXG5lPUg3KGIpO3JldHVyblsxMixbMCxkLGUscChbMCxhXSwwLGwpXV19XSk7YShIWixbMCxmdW5jdGlvbihhLGIpe3ZhclxuYz1iXyhiLGoodlsxM10sMCxiKSksZD1INyhiKTtyZXR1cm5bMTQsWzAsYyxkLHAoWzAsYV0sMCxsKV1dfV0pO3ZhclxuSCQ9W10sSWE9W107ZnVuY3Rpb25cbm5oKGEsYil7dmFyXG5jPWJbMl0sZD1iWzFdO3N3aXRjaChjWzBdKXtjYXNlXG4wOnZhclxuaD1jWzFdLG49aFsyXSxvPWhbMV0scD1qVyhhKTtyZXR1cm5bMCxkLFsxLFswLHooSWFbMV0sYSwwLG8pLHAsbl1dXTtjYXNlXG4xMDp2YXJcbmU9Y1sxXSxmPWVbMl1bMV0sZz1lWzFdO2E6e2lmKGFbNV0mJmlYKGYpKXt1KGEsWzAsZyw3Ml0pO2JyZWFrIGF9aWYoMS1hWzVdKXtpZihhWzE4XSYmWChmLGJuKSl7dShhLFswLGcsaFldKTticmVhayBhfXZhclxuaT1hWzE5XSxxPWk/WChmLGpvKTppO2lmKHEpdShhLFswLGcsNV0pfX1yZXR1cm5bMCxkLFsyLFswLGUsalcoYSksMF1dXTtjYXNlXG4yNjp2YXJcbmo9Y1sxXSxrPWpbMl0sbD1qWzFdLG09alcoYSk7cmV0dXJuWzAsZCxbMCxbMCx6KEgkWzFdLGEsMCxsKSxtLGtdXV07ZGVmYXVsdDpyZXR1cm5bMCxkLFszLFswLGQsY11dXX19ZnVuY3Rpb25cbm5pKGMsYil7cmV0dXJuIGZ1bmN0aW9uKGEpe2lmKCFhKXJldHVybiBCKGIpO3ZhclxuZz1hWzFdO2lmKDAhPT1nWzBdKXt2YXJcbm89Z1sxXSxwPW9bMV07aWYoYVsyXSl7dmFyXG52PWFbMl07dShjLFswLHAsNjVdKTtyZXR1cm4gbmkoYyxiKSh2KX12YXJcbnE9b1syXSx3PXFbMl07cmV0dXJuIG5pKGMsWzAsWzEsWzAscCxbMCxuaChjLHFbMV0pLHddXV0sYl0pKDApfXZhclxuaj1nWzFdLGQ9alsyXSxyPWFbMl0scz1qWzFdO3N3aXRjaChkWzBdKXtjYXNlXG4wOnZhclxuaz1kWzJdLGU9ZFsxXSx0PWRbM107c3dpdGNoKGVbMF0pe2Nhc2VcbjA6dmFyXG5mPVswLGVbMV1dO2JyZWFrO2Nhc2VcbjE6dmFyXG5mPVsxLGVbMV1dO2JyZWFrO2Nhc2VcbjI6dmFyXG5mPVsyLGVbMV1dO2JyZWFrO2Nhc2VcbjM6dmFyXG5mPVszLGVbMV1dO2JyZWFrO2Nhc2VcbjQ6dmFyXG5mPUUoYWhPKTticmVhaztkZWZhdWx0OnZhclxuZj1bNCxlWzFdXX12YXJcbmw9a1syXTthOntpZig0PT09bFswXSl7dmFyXG5pPWxbMV07aWYoIWlbMV0pe3Zhclxubj1bMCxpWzNdXSxtPWlbMl07YnJlYWsgYX19dmFyXG5uPTAsbT1uaChjLGspfXZhclxuaD1bMCxbMCxbMCxzLFswLGYsbSxuLHRdXV0sYl07YnJlYWs7Y2FzZVxuMTp1KGMsWzAsZFsyXVsxXSw1MV0pO3ZhclxuaD1iO2JyZWFrO2RlZmF1bHQ6dShjLFswLGRbMl1bMV0sYWhQXSk7dmFyXG5oPWJ9cmV0dXJuIG5pKGMsaCkocil9fWEoSCQsWzAsbmldKTtmdW5jdGlvblxuSWIoYSxiKXt2YXJcbmM9YlsxXTtyZXR1cm4gaSh2WzIzXSxiKT9bMCxuaChhLGIpXToodShhLFswLGMsMzZdKSwwKX1mdW5jdGlvblxualgoYyxiKXtyZXR1cm4gZnVuY3Rpb24oYSl7aWYoIWEpcmV0dXJuIEIoYik7dmFyXG5kPWFbMV07c3dpdGNoKGRbMF0pe2Nhc2VcbjA6dmFyXG5lPWRbMV0sZz1lWzJdO2lmKDQ9PT1nWzBdKXt2YXJcbmY9Z1sxXTtpZighZlsxXSl7dmFyXG5wPWFbMl07cmV0dXJuIGpYKGMsWzAsWzAsWzAsZVsxXSxbMCxmWzJdLFswLGZbM11dXV1dLGJdKShwKX19dmFyXG5vPWFbMl0saD1JYihjLGUpO2lmKGgpdmFyXG5pPWhbMV0saj1bMCxbMCxbMCxpWzFdLFswLGksMF1dXSxiXTtlbHNlXG52YXJcbmo9YjtyZXR1cm4galgoYyxqKShvKTtjYXNlXG4xOnZhclxuaz1kWzFdLGw9a1sxXTtpZihhWzJdKXt2YXJcbnE9YVsyXTt1KGMsWzAsbCwxNl0pO3JldHVybiBqWChjLGIpKHEpfXZhclxubT1rWzJdLHI9bVsyXSxuPUliKGMsbVsxXSkscz1uP1swLFsxLFswLGwsWzAsblsxXSxyXV1dLGJdOmI7cmV0dXJuIGpYKGMscykoMCk7ZGVmYXVsdDp2YXJcbnQ9YVsyXTtyZXR1cm4galgoYyxbMCxbMixkWzFdXSxiXSkodCl9fX1hKElhLFswLGpYXSk7ZnVuY3Rpb25cbmxhKGEsYil7dmFyXG5jPW0oYSk7aWYodHlwZW9mXG5jPT09XCJudW1iZXJcIil7aWYoNj09PWMpcmV0dXJuIHEoMCxmdW5jdGlvbihhKXt2YXJcbkE9cihhKTtuKGEsNik7YTpiOnt2YXJcbmM9MDtjOmZvcig7Oyl7dmFyXG5kPW0oYSk7aWYodHlwZW9mXG5kPT09XCJudW1iZXJcIilpZigxMzw9ZCl7aWYoVj09PWQpYnJlYWsgYn1lbHNlIGlmKDc8PWQpc3dpdGNoKGQtN3wwKXtjYXNlXG4wOmJyZWFrIGM7Y2FzZVxuMjp2YXJcbm89eShhKTtuKGEsOSk7dmFyXG5jPVswLFsyLG9dLGNdO2NvbnRpbnVlO2Nhc2VcbjU6dmFyXG53PXIoYSksZz1xKDAsZnVuY3Rpb24oYSl7bihhLDEyKTtyZXR1cm4gbGEoYSxiKX0sYSksaD1nWzFdLHg9Z1syXSx6PVsxLFswLGgsWzAseCxwKFswLHddLDAsbCldXV07aWYoNyE9PW0oYSkpe3UoYSxbMCxoLDE2XSk7aWYoOT09PW0oYSkpcyhhKX12YXJcbmM9WzAseixjXTtjb250aW51ZX12YXJcbmU9cSgwLGZ1bmN0aW9uKGEpe3ZhclxuZT1sYShhLGIpLGM9bShhKTthOntpZih0eXBlb2ZcbmM9PT1cIm51bWJlclwiJiY4Mz09PWMpe24oYSw4Myk7dmFyXG5kPVswLGkodlsxMF0sYSldO2JyZWFrIGF9dmFyXG5kPTB9cmV0dXJuWzAsZSxkXX0sYSksZj1lWzJdLGs9WzAsWzAsZVsxXSxbMCxmWzFdLGZbMl1dXV07aWYoNyE9PW0oYSkpbihhLDkpO3ZhclxuYz1bMCxrLGNdfWJyZWFrIGF9dmFyXG5qPUIoYyksQz1yKGEpO24oYSw3KTt2YXJcbkQ9ODc9PT1tKGEpP1sxLGkzKGEpXTpqVyhhKTtyZXR1cm5bMSxbMCxqLEQsYXYoWzAsQV0sWzAsdChhKV0sQyxsKV1dfSxhKTtpZighYyl7dmFyXG54PWZ1bmN0aW9uKGEpe3ZhclxuYj1tKGEpO2lmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJjgzPT09Yil7bihhLDgzKTtyZXR1cm5bMCxpKHZbMTBdLGEpXX1yZXR1cm4gMH07cmV0dXJuIHEoMCxmdW5jdGlvbihhKXt2YXJcblg9cihhKTtuKGEsMCk7YTp7dmFyXG5rPTAsZz0wLGk9MDtmb3IoOzspe3Zhclxubz1tKGEpO2lmKHR5cGVvZlxubz09PVwibnVtYmVyXCIpe2lmKDE9PT1vKWJyZWFrIGE7aWYoVj09PW8pYnJlYWt9YjppZigxMj09PW0oYSkpdmFyXG5NPXIoYSksdz1xKDAsZnVuY3Rpb24oYSl7bihhLDEyKTtyZXR1cm4gbGEoYSxiKX0sYSksTj13WzJdLE89d1sxXSxlPVswLFsxLFswLE8sWzAsTixwKFswLE1dLDAsbCldXV1dO2Vsc2V7dmFyXG56PXkoYSksQT1qKHZbMjBdLDAsYSksQz1tKGEpO2lmKHR5cGVvZlxuQz09PVwibnVtYmVyXCImJjg3PT09Qyl7bihhLDg3KTt2YXJcbkQ9cShbMCx6XSxmdW5jdGlvbihhKXt2YXJcbmM9bGEoYSxiKTtyZXR1cm5bMCxjLHgoYSldfSxhKSxGPURbMl0sYz1BWzJdLFA9RlsyXSxRPUZbMV0sUj1EWzFdO3N3aXRjaChjWzBdKXtjYXNlXG4wOnZhclxuZD1bMCxjWzFdXTticmVhaztjYXNlXG4xOnZhclxuZD1bMSxjWzFdXTticmVhaztjYXNlXG4yOnZhclxuZD1bMixjWzFdXTticmVhaztjYXNlXG4zOnZhclxuZD1bMyxjWzFdXTticmVhaztjYXNlXG40OnZhclxuZD1FKGFoUSk7YnJlYWs7ZGVmYXVsdDp2YXJcbmQ9WzQsY1sxXV19dmFyXG5lPVswLFswLFswLFIsWzAsZCxRLFAsMF1dXV07YnJlYWsgYn12YXJcbkc9QVsyXTtpZigzPT09R1swXSl7dmFyXG5mPUdbMV0sSD1mWzJdWzFdLGg9ZlsxXTtpZihtVChIKSl1KGEsWzAsaCw5Nl0pO2Vsc2UgaWYoalMoSCkpYjAoYSxbMCxoLDgxXSk7bGV0XG5jPWYsZD1oO3ZhclxuST1xKFswLHpdLGZ1bmN0aW9uKGEpe3ZhclxuYj1bMCxkLFsyLFswLGMsalcoYSksMF1dXTtyZXR1cm5bMCxiLHgoYSldfSxhKSxKPUlbMl0sZT1bMCxbMCxbMCxJWzFdLFswLFszLGZdLEpbMV0sSlsyXSwxXV1dXX1lbHNle2FrKGFoUixhKTt2YXJcbmU9MH19aWYoZSl7dmFyXG5zPWVbMV0sVD1zWzFdWzFdLFU9az8odShhLFswLFQsNjVdKSwwKTpnO2lmKDA9PT1zWzBdKXZhclxuTD1VLEs9aztlbHNlXG52YXJcblc9OT09PW0oYSk/WzAseShhKV06MCxMPVcsSz0xO2lmKDEhPT1tKGEpKW4oYSw5KTt2YXJcbms9SyxnPUwsaT1bMCxzLGldfX19aWYoZyl1KGEsWzAsZ1sxXSw5MV0pO3ZhclxuUz1CKGkpLFk9cihhKTtuKGEsMSk7dmFyXG5aPXQoYSksXz04Nz09PW0oYSk/WzEsaTMoYSldOmpXKGEpO3JldHVyblswLFswLFMsXyxhdihbMCxYXSxbMCxaXSxZLGwpXV19LGEpfX12YXJcbmQ9eih2WzE0XSxhLDAsYik7cmV0dXJuWzAsZFsxXSxbMixkWzJdXV19ZnVuY3Rpb25cbm5uKGEpe3ZhclxuYz1tKGEpO2E6aWYodHlwZW9mXG5jPT09XCJudW1iZXJcIil7dmFyXG5iPWMrRFN8MDtpZig2PGI+Pj4wKXtpZigxNCE9PWIpYnJlYWsgYX1lbHNlIGlmKDQ+PWItMT4+PjApYnJlYWsgYTtyZXR1cm4gdChhKX1yZXR1cm4gYTgoYSk/aXEoYSk6MH1mdW5jdGlvblxuSUsoYSl7cmV0dXJuIDE9PT1tKGEpPzA6WzAsaSh2WzddLGEpXX1mdW5jdGlvblxuaFIoYSl7dmFyXG5nPXkoYSksYj1tKGEpO2E6e2lmKHR5cGVvZlxuYiE9PVwibnVtYmVyXCImJjg9PT1iWzBdKXt2YXJcbmQ9YlsxXTticmVhayBhfWFrKGFqRixhKTt2YXJcbmQ9YWpHfXZhclxuaD1yKGEpO3MoYSk7dmFyXG5lPW0oYSk7YTp7YjppZih0eXBlb2ZcbmU9PT1cIm51bWJlclwiKXt2YXJcbmM9ZStMeHwwO2lmKDczPGM+Pj4wKXtpZig3NyE9PWMpYnJlYWsgYn1lbHNlIGlmKDcxPj1jLTE+Pj4wKWJyZWFrIGI7dmFyXG5mPXQoYSk7YnJlYWsgYX12YXJcbmY9bm4oYSl9cmV0dXJuWzAsZyxbMCxkLHAoWzAsaF0sWzAsZl0sbCldXX1mdW5jdGlvblxuSUwoYSl7dmFyXG5jPU4oMSxhKTtpZih0eXBlb2ZcbmM9PT1cIm51bWJlclwiKXtpZigxMD09PWMpe3ZhclxuYj1xKDAsZnVuY3Rpb24oYSl7dmFyXG5iPVswLGhSKGEpXTtuKGEsMTApO3JldHVyblswLGIsaFIoYSldfSxhKTtmb3IoOzspe3ZhclxuZD1tKGEpO2lmKHR5cGVvZlxuZD09PVwibnVtYmVyXCImJjEwPT09ZCl7bGV0XG5jPWI7dmFyXG5iPXEoWzAsYlsxXV0sZnVuY3Rpb24oYSl7bihhLDEwKTtyZXR1cm5bMCxbMSxjXSxoUihhKV19LGEpO2NvbnRpbnVlfXJldHVyblsyLGJdfX1pZig4Nz09PWMpcmV0dXJuWzEscSgwLGZ1bmN0aW9uKGEpe3ZhclxuYj1oUihhKTtuKGEsODcpO3JldHVyblswLGIsaFIoYSldfSxhKV19cmV0dXJuWzAsaFIoYSldfWZ1bmN0aW9uXG5sZyhhLGIpe3JldHVybiBYKGFbMl1bMV0sYlsyXVsxXSl9ZnVuY3Rpb25cbklNKGEsYil7dmFyXG5mPWFbMl0sZT1mWzFdLGc9YlsyXSxjPWdbMV0saD1mWzJdLGk9Z1syXTthOntpZigwPT09ZVswXSl7dmFyXG5qPWVbMV07aWYoMD09PWNbMF0pe3ZhclxuZD1sZyhqLGNbMV0pO2JyZWFrIGF9fWVsc2V7dmFyXG5rPWVbMV07aWYoMCE9PWNbMF0pe3ZhclxuZD1JTShrLGNbMV0pO2JyZWFrIGF9fXZhclxuZD0wfXJldHVybiBkP2xnKGgsaSk6ZH1mdW5jdGlvblxubm8oYSxiKXtzd2l0Y2goYVswXSl7Y2FzZVxuMDp2YXJcbmg9YVsxXTtpZigwPT09YlswXSlyZXR1cm4gbGcoaCxiWzFdKTticmVhaztjYXNlXG4xOnZhclxuaT1hWzFdO2lmKDE9PT1iWzBdKXt2YXJcbmM9aVsyXSxkPWJbMV1bMl0sZj1jWzJdLGc9ZFsyXSxlPWxnKGNbMV0sZFsxXSk7cmV0dXJuIGU/bGcoZixnKTplfWJyZWFrO2RlZmF1bHQ6dmFyXG5qPWFbMV07aWYoMj09PWJbMF0pcmV0dXJuIElNKGosYlsxXSl9cmV0dXJuIDB9ZnVuY3Rpb25cbnNRKGEpe3N3aXRjaChhWzBdKXtjYXNlXG4wOnJldHVybiBhWzFdWzFdO2Nhc2VcbjE6cmV0dXJuIGFbMV1bMV07ZGVmYXVsdDpyZXR1cm4gYVsxXVsxXX19dmFyXG5pNT1bXTtmdW5jdGlvblxuSU4oYSxiKXt2YXJcbmo9cihiKSxkPXEoMCxmdW5jdGlvbihhKXtuKGEsOTkpO3ZhclxuZD1tKGEpO2lmKHR5cGVvZlxuZD09PVwibnVtYmVyXCIpe2lmKGFuPT09ZCl7cyhhKTtyZXR1cm4gYWpKfX1lbHNlIGlmKDg9PT1kWzBdKXt2YXJcbnQ9SUwoYSk7YTp7aWYoYXEoYSkmJjk5PT09bShhKSYmY2chPT1OKDEsYSkpe3ZhclxuZj1tWShhLDAsc0kpO2JyZWFrIGF9dmFyXG5mPTB9dmFyXG5iPTA7Zm9yKDs7KXt2YXJcbmM9bShhKTtpZih0eXBlb2ZcbmM9PT1cIm51bWJlclwiKXtpZigwPT09Yyl7dmFyXG5oPXIoYSk7YUYoYSwwKTt2YXJcbmU9cSgwLGZ1bmN0aW9uKGEpe24oYSwwKTtuKGEsMTIpO3ZhclxuYj1pKHZbMTBdLGEpO24oYSwxKTtyZXR1cm4gYn0sYSksaj1lWzJdLGs9ZVsxXTthSShhKTt2YXJcbmI9WzAsWzEsWzAsayxbMCxqLHAoWzAsaF0sWzAsbm4oYSldLGwpXV1dLGJdO2NvbnRpbnVlfX1lbHNlIGlmKDg9PT1jWzBdKXt2YXJcbmI9WzAsWzAscSgwLGZ1bmN0aW9uKGEpe3ZhclxuZz1OKDEsYSk7YTp7aWYodHlwZW9mXG5nPT09XCJudW1iZXJcIiYmODc9PT1nKXt2YXJcbmg9WzEscSgwLGZ1bmN0aW9uKGEpe3ZhclxuYj1oUihhKTtuKGEsODcpO3JldHVyblswLGIsaFIoYSldfSxhKV07YnJlYWsgYX12YXJcbmg9WzAsaFIoYSldfXZhclxuaT1tKGEpO2E6e2lmKHR5cGVvZlxuaT09PVwibnVtYmVyXCImJjgzPT09aSl7bihhLDgzKTt2YXJcbnM9cihhKSxiPW0oYSk7Yjp7aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIil7aWYoMD09PWIpe3Zhclxuaz1yKGEpO2FGKGEsMCk7dmFyXG5kPXEoMCxmdW5jdGlvbihhKXtuKGEsMCk7dmFyXG5iPUlLKGEpO24oYSwxKTtyZXR1cm4gYn0sYSksZT1kWzFdLG89ZFsyXTthSShhKTt2YXJcbmY9WzAsbyxhdihbMCxrXSxbMCxubihhKV0sMCxsKV07aWYoIWZbMV0pdShhLFswLGUsNDZdKTt2YXJcbmM9WzAsWzEsWzAsZSxmXV1dO2JyZWFrIGJ9fWVsc2UgaWYoMTA9PT1iWzBdKXt2YXJcbnQ9YlszXSx2PWJbMl0sdz1iWzFdO24oYSxiKTt2YXJcbmM9WzAsWzAsWzAsdyxbMCx2LHQscChbMCxzXSxbMCxubihhKV0sbCldXV1dO2JyZWFrIGJ9SyhhLDM1KTt2YXJcbmM9WzAsWzAsWzAseShhKSxhakhdXV19dmFyXG5qPWM7YnJlYWsgYX12YXJcbmo9MH1yZXR1cm5bMCxoLGpdfSxhKV0sYl07Y29udGludWV9dmFyXG5vPUIoYiksZz1bMCxpQSxbMCx0LGYsYWcoYSxjZyksb11dO3JldHVybiBhZyhhLGFuKT9bMCxnXTooY3MoYSxhbiksWzEsZ10pfX1jcyhhLGFuKTtyZXR1cm4gYWpJfSxiKTthSShiKTtpZihpKGk1WzNdLGQpKXZhclxuYz16QixnPXEoMCxmdW5jdGlvbihhKXtyZXR1cm4gMH0sYik7ZWxzZXthRihiLDMpO3ZhclxuVz1pKGk1WzRdLGQpLFA9eihpNVsxXSxhLFcsYiksYz1QWzJdLGc9UFsxXX12YXJcbms9dChiKTthOntiOmlmKHR5cGVvZlxuYyE9PVwibnVtYmVyXCIpe3ZhclxuRj1jWzFdO2lmKGlBPT09Ril7dmFyXG5HPWNbMl0sZT1HWzJdWzFdLEg9ZFsyXSxUPUdbMV07aWYoMD09PUhbMF0pe3ZhclxuST1IWzFdO2lmKHR5cGVvZlxuST09PVwibnVtYmVyXCIpdShiLFswLHNRKGUpLGFqS10pO2Vsc2V7dmFyXG5mPUlbMl1bMV07YzppZigxLW5vKGUsZikpe2lmKGEmJm5vKGFbMV0sZSkpe3ZhclxuVT1bMjEsaShpNVsyXSxmKV07dShiLFswLHNRKGYpLFVdKTticmVhayBjfXZhclxuVj1bMTMsaShpNVsyXSxmKV07dShiLFswLHNRKGUpLFZdKX19fXZhclxuSj1UfWVsc2V7aWYoY0IhPT1GKWJyZWFrIGI7dmFyXG5MPWNbMl0sTT1kWzJdO2lmKDA9PT1NWzBdKXt2YXJcbk89TVsxXTtpZih0eXBlb2Zcbk8hPT1cIm51bWJlclwiKXUoYixbMCxMLFsxMyxpKGk1WzJdLE9bMl1bMV0pXV0pfXZhclxuSj1MfXZhclxuaD1KO2JyZWFrIGF9dmFyXG5oPWRbMV19dmFyXG5vPWRbMl1bMV0sdz1kWzFdO2lmKHR5cGVvZlxubz09PVwibnVtYmVyXCIpe2E6e2I6e3ZhclxuUT1wKFswLGpdLFswLGtdLGwpO2lmKHR5cGVvZlxuYyE9PVwibnVtYmVyXCIpe3ZhclxuQz1jWzFdO2lmKGlBPT09Qyl2YXJcbkQ9Y1syXVsxXTtlbHNle2lmKGNCIT09QylicmVhayBiO3ZhclxuRD1jWzJdfXZhclxueD1EO2JyZWFrIGF9fXZhclxueD1ofXZhclxuQT1bMCxjQixbMCx3LHgsZyxRXV19ZWxzZXt2YXJcblI9b1syXTthOnt2YXJcblM9cChbMCxqXSxbMCxrXSxsKTtpZih0eXBlb2ZcbmMhPT1cIm51bWJlclwiJiZpQT09PWNbMV0pe3ZhclxuRT1bMCxjWzJdXTticmVhayBhfXZhclxuRT0wfXZhclxuQT1bMCxpQSxbMCxbMCx3LFJdLEUsZyxTXV19cmV0dXJuWzAsJChkWzFdLGgpLEFdfWZ1bmN0aW9uXG5JTyhhLGIpe2FGKGIsMik7cmV0dXJuIElOKGEsYil9ZnVuY3Rpb25cbmFqTChhLGIsYyxkKXt2YXJcbmU9ZDtmb3IoOzspe3Zhclxuaz1qUihjKTtpZihlJiZiKXt2YXJcbmg9ZVsxXSxGPWhbMl0sYWQ9YlsxXSxhZT1lWzJdO2E6e2lmKDA9PT1GWzBdKXt2YXJcbkc9RlsxXSxIPUdbMl07aWYoSCl7dmFyXG5JPUhbMV1bMl1bMV0sSj0xLW5vKEdbMV1bMl1bMV0sSSk7aWYoSil7dmFyXG5vPW5vKGFkLEkpO2JyZWFrIGF9dmFyXG5vPUo7YnJlYWsgYX19dmFyXG5vPTB9aWYobyl7dmFyXG5NPWhbMl07YTp7aWYoMD09PU1bMF0pe3ZhclxuZz1NWzFdLE89Z1syXTtpZihPKXt2YXJcbmFmPU9bMV0sYWc9JChoWzFdLGdbM11bMV0pLFE9WzAsaUEsYWZdLFA9WzAsYWcsWzAsWzAsZ1sxXSwwLGdbM10sZ1s0XV1dXTticmVhayBhfX12YXJcblE9ekIsUD1ofWFJKGMpO3JldHVyblswLEIoWzAsUCxhZV0pLGssUV19fXZhclxudD1tKGMpO2lmKHR5cGVvZlxudD09PVwibnVtYmVyXCIpe2lmKDk5PT09dCl7YUYoYywyKTt2YXJcblI9bShjKSx1PU4oMSxjKTthOmlmKHR5cGVvZlxuUj09PVwibnVtYmVyXCImJjk5PT09UiYmdHlwZW9mXG51PT09XCJudW1iZXJcIil7aWYoY2chPT11JiZWIT09dSlicmVhayBhO3ZhclxuRD1xKDAsZnVuY3Rpb24oYSl7bihhLDk5KTtuKGEsY2cpO3ZhclxuYj1tKGEpO2lmKHR5cGVvZlxuYj09PVwibnVtYmVyXCIpe2lmKGFuPT09Yil7cyhhKTtyZXR1cm4gY0J9fWVsc2UgaWYoOD09PWJbMF0pe3ZhclxuYz1JTChhKTttWChhLGFuKTtyZXR1cm5bMCxpQSxbMCxjXV19Y3MoYSxhbik7cmV0dXJuIGNCfSxjKSxTPURbMl0sVD1EWzFdLGFoPXR5cGVvZlxuUz09PVwibnVtYmVyXCI/WzAsY0IsVF06WzAsaUEsWzAsVCxTWzJdXV0seT1jWzI0XVsxXTtiOntpZih5KXt2YXJcbno9eVsyXTtpZih6KXt2YXJcbkE9elsyXTticmVhayBifX12YXJcbkE9RShhZWUpfWNbMjRdWzFdPUE7dmFyXG5YPWpRKGMpLFk9a1YoY1syNV1bMV0sWCk7Y1syNl1bMV09WTtyZXR1cm5bMCxCKGUpLGssYWhdfXZhclxuVT1JTihiLGMpLHc9VVsyXSxXPVVbMV0sYWk9Y0I8PXdbMV0/WzAsVyxbMSx3WzJdXV06WzAsVyxbMCx3WzJdXV0sZT1bMCxhaSxlXTtjb250aW51ZX1pZihWPT09dCl7YWsoMCxjKTtyZXR1cm5bMCxCKGUpLGssekJdfX12YXJcbmY9bShjKTthOntpZih0eXBlb2ZcbmY9PT1cIm51bWJlclwiKXtpZigwPT09Zil7YUYoYywwKTt2YXJcbkM9cSgwLGZ1bmN0aW9uKGEpe24oYSwwKTt2YXJcbmI9bShhKTthOntpZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYxMj09PWIpe3ZhclxuZT1yKGEpO24oYSwxMik7dmFyXG5mPWkodlsxMF0sYSksYz1bMyxbMCxmLHAoWzAsZV0sMCxsKV1dO2JyZWFrIGF9dmFyXG5kPUlLKGEpLGc9ZD8wOnIoYSksYz1bMixbMCxkLGF2KDAsMCxnLGwpXV19bihhLDEpO3JldHVybiBjfSxjKSxaPUNbMl0sXz1DWzFdO2FJKGMpO3ZhclxueD1bMCxfLFpdO2JyZWFrIGF9fWVsc2UgaWYoOT09PWZbMF0pe3ZhclxuYWE9ZlszXSxhYj1mWzJdLGFjPWZbMV07bihjLGYpO3ZhclxueD1bMCxhYyxbNCxbMCxhYixhYV1dXTticmVhayBhfXZhclxuSz1JTyhiLGMpLGo9S1syXSxMPUtbMV0seD1jQjw9alsxXT9bMCxMLFsxLGpbMl1dXTpbMCxMLFswLGpbMl1dXX12YXJcbmU9WzAseCxlXX19ZnVuY3Rpb25cbklQKGEpe3N3aXRjaChhWzBdKXtjYXNlXG4wOnJldHVybiBhWzFdWzJdWzFdO2Nhc2VcbjE6dmFyXG5jPWFbMV1bMl0sZT1jWzFdLGY9Sihhak0sY1syXVsyXVsxXSk7cmV0dXJuIEooZVsyXVsxXSxmKTtkZWZhdWx0OnZhclxuZD1hWzFdWzJdLGI9ZFsxXSxnPWRbMl0saD0wPT09YlswXT9iWzFdWzJdWzFdOklQKFsyLGJbMV1dKTtyZXR1cm4gSihoLEooYWpOLGdbMl1bMV0pKX19YShpNSxbMCxmdW5jdGlvbihhLGIsYyl7dmFyXG5lPXkoYyksZD1hakwobCxiLGMsMCksZj1kWzJdLGc9ZFszXSxoPWRbMV0saT1mP2ZbMV06ZTtyZXR1cm5bMCxbMCwkKGUsaSksaF0sZ119LElQLGZ1bmN0aW9uKGEpe3ZhclxuYj1hWzJdO2lmKDAhPT1iWzBdKXJldHVybiAxO3ZhclxuYz1iWzFdO3JldHVybiB0eXBlb2ZcbmM9PT1cIm51bWJlclwiPzA6Y1syXVszXX0sZnVuY3Rpb24oYSl7dmFyXG5iPWFbMl1bMV07cmV0dXJuIHR5cGVvZlxuYj09PVwibnVtYmVyXCI/MDpbMCxiWzJdWzFdXX1dKTtmdW5jdGlvblxuSTEoYSxiKXt2YXJcbmM9YU4oYik7bTAoYSxiLGMpO3JldHVybiBjfXZhclxuczA9W10sSTI9W10sSTM9W10sSTQ9W107ZnVuY3Rpb25cbmFnSyhhKXt2YXJcbmM9cihhKTtuKGEsNjApO3ZhclxuZD04PT09bShhKT90KGEpOjAsYj1hSigwLDAsYSksZT0wPT09YlswXT9iWzFdOmJbMV1bMV07cmV0dXJuWzUsWzAscChbMCxjXSxbMCxJKGQsZSldLGwpXV19dmFyXG5hZ0w9MDtmdW5jdGlvblxuYWdNKGEpe3ZhclxuZT1yKGEpO24oYSwzOCk7dmFyXG5xPWtYKDEsYSksYj1pKHZbMl0scSksZD0xLWFbNV0sZj1kP2szKGIpOmQ7aWYoZilpWihhLGJbMV0pO3ZhclxuZz10KGEpO24oYSwyNik7dmFyXG5oPXQoYSk7bihhLDQpO3Zhclxuaj1pKHZbN10sYSk7bihhLDUpO3Zhclxuaz04PT09bShhKT90KGEpOjAsYz1hSigwLGFnTixhKSxvPTA9PT1jWzBdP0koayxjWzFdKTpjWzFdWzFdO3JldHVyblsxOCxbMCxiLGoscChbMCxlXSxbMCxJKGcsSShoLG8pKV0sbCldXX12YXJcbmFnTz0wO2Z1bmN0aW9uXG5hZ1AoYil7dmFyXG5YPXIoYik7bihiLDQwKTt2YXJcbno9YlsxOV0sZj16P2FnKGIsNjYpOnosWj1JKFgscihiKSk7bihiLDQpO3ZhclxuZz1wKFswLFpdLDAsbCksQT1tKGIpO2E6e2lmKHR5cGVvZlxuQT09PVwibnVtYmVyXCImJjY1PT09QSl7dmFyXG5CPTE7YnJlYWsgYX12YXJcbkI9MH12YXJcbmM9a1koMSxiKSxkPW0oYyk7YTp7aWYodHlwZW9mXG5kPT09XCJudW1iZXJcIilpZigyNTw9ZCl7aWYoMzA+ZClzd2l0Y2goZCtqOHwwKXtjYXNlXG4wOnZhclxuVT1xKDAsSWgsYyksdD1VWzJdLGFkPXRbM10sYWU9dFsxXSxhZj1VWzFdLGU9YWQsYT1bMCxbMSxbMCxhZixbMCxhZSwwLHAoWzAsdFsyXV0sMCxsKV1dXV07YnJlYWsgYTtjYXNlXG4zOnZhclxuVj1xKDAsSWksYyksdz1WWzJdLGFoPXdbM10sYWk9d1sxXSxhaj1WWzFdLGU9YWgsYT1bMCxbMSxbMCxhaixbMCxhaSwyLHAoWzAsd1syXV0sMCxsKV1dXV07YnJlYWsgYTtjYXNlXG40OmlmKDE3IT09TigxLGMpKXt2YXJcblc9cSgwLElqLGMpLHk9V1syXSxhaz15WzNdLGFsPXlbMV0sYW09V1sxXSxlPWFrLGE9WzAsWzEsWzAsYW0sWzAsYWwsMSxwKFswLHlbMl1dLDAsbCldXV1dO2JyZWFrIGF9YnJlYWt9fWVsc2UgaWYoOD09PWQpe3ZhclxuZT0wLGE9MDticmVhayBhfXZhclxuZT0wLGE9WzAsWzAsaSh2WzhdLGMpXV19dmFyXG5oPW0oYik7aWYodHlwZW9mXG5oPT09XCJudW1iZXJcIil7aWYoMTc9PT1oKXtpZighYSl0aHJvdyB4KFswLFksYWdSXSwxKTt2YXJcbmo9YVsxXTtpZigwPT09alswXSl2YXJcbkM9WzEsc0MoYWdRLGIsalsxXSldO2Vsc2V7dmFyXG5FPWpbMV07SDAoYiwzOCxFKTt2YXJcbkM9WzAsRV19aWYoZiluKGIsNjQpO2Vsc2Vcbm4oYiwxNyk7dmFyXG5fPWkodls3XSxiKTtuKGIsNSk7dmFyXG5hbz1rWCgxLGIpLEQ9aSh2WzJdLGFvKTtzeShiLEQpO3JldHVyblsyNSxbMCxDLF8sRCwwLGddXX1pZig2ND09PWgpe2lmKCFhKXRocm93IHgoWzAsWSxhZ1RdLDEpO3Zhclxubz1hWzFdO2lmKDA9PT1vWzBdKXt2YXJcbkY9c0MoYWdTLGIsb1sxXSksRz0xLWYsJD1HP0I6RzthOmlmKCQpe3ZhclxuSD1GWzJdO2lmKDI9PT1IWzBdKXt2YXJcbkw9SFsxXVsxXSxhYj1MWzFdO2lmKCFrKExbMl1bMV0saXgpKXt1KGIsWzAsYWIsMzldKTticmVhayBhfX19dmFyXG5KPVsxLEZdfWVsc2V7dmFyXG5NPW9bMV07SDAoYiwzOSxNKTt2YXJcbko9WzAsTV19bihiLDY0KTt2YXJcbmFhPWkodlsxMF0sYik7bihiLDUpO3ZhclxuYW49a1goMSxiKSxLPWkodlsyXSxhbik7c3koYixLKTtyZXR1cm5bMjYsWzAsSixhYSxLLGYsZ11dfX1hMShmdW5jdGlvbihhKXtyZXR1cm4gdShiLGEpfSxlKTtpZihmKW4oYiw2NCk7ZWxzZVxubihiLDgpO2lmKGEpdmFyXG5zPWFbMV0sYWM9MD09PXNbMF0/WzAsWzEsYU8oYixzWzFdKV1dOlswLFswLHNbMV1dXSxPPWFjO2Vsc2VcbnZhclxuTz0wO3ZhclxuUD1tKGIpO2E6e2lmKHR5cGVvZlxuUD09PVwibnVtYmVyXCImJjg9PT1QKXt2YXJcblE9MDticmVhayBhfXZhclxuUT1bMCxpKHZbN10sYildfW4oYiw4KTt2YXJcblI9bShiKTthOntpZih0eXBlb2ZcblI9PT1cIm51bWJlclwiJiY1PT09Uil7dmFyXG5TPTA7YnJlYWsgYX12YXJcblM9WzAsaSh2WzddLGIpXX1uKGIsNSk7dmFyXG5hcD1rWCgxLGIpLFQ9aSh2WzJdLGFwKTtzeShiLFQpO3JldHVyblsyNCxbMCxPLFEsUyxULGddXX12YXJcbmFnVT0wO2Z1bmN0aW9uXG5hZ1koYSl7aWYoMS1hWzExXSlLKGEsMjcpO3Zhclxuaz1yKGEpLG89eShhKTtuKGEsMTkpO3ZhclxuZD04PT09bShhKT90KGEpOjA7YTp7aWYoOCE9PW0oYSkmJiFqVShhKSl7dmFyXG5iPVswLGkodls3XSxhKV07YnJlYWsgYX12YXJcbmI9MH12YXJcbnE9JChvLHkoYSkpLGM9YUooMCwwLGEpO2E6e2lmKDA9PT1jWzBdKXZhclxuZT1jWzFdO2Vsc2V7dmFyXG5oPWNbMV0scz1oWzFdO2lmKGIpe3ZhclxuZz1bMCxqKGhbMl0sYlsxXSxmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSxjYiw2NyksYSxiKX0pXSxmPWQ7YnJlYWsgYX12YXJcbmU9c312YXJcbmc9YixmPUkoZCxlKX1yZXR1cm5bMzMsWzAsZyxwKFswLGtdLFswLGZdLGwpLHFdXX12YXJcbmFnWj0wO2Z1bmN0aW9uXG5hZzAoYSl7dmFyXG5vPXIoYSk7bihhLDIwKTtuKGEsNCk7dmFyXG5mPWkodls3XSxhKTtuKGEsNSk7bihhLDApO3ZhclxuYj1hZzE7Zm9yKDs7KXt2YXJcbmQ9YlsyXSxoPWJbMV0sYz1tKGEpO2E6aWYodHlwZW9mXG5jPT09XCJudW1iZXJcIil7aWYoMSE9PWMmJlYhPT1jKWJyZWFrIGE7dmFyXG5rPUIoZCk7bihhLDEpO3ZhclxucT1oUShhKVsxXSxzPWZbMV07cmV0dXJuWzM0LFswLGYsayxwKFswLG9dLFswLHFdLGwpLHNdXX1sZXRcbmc9aDt2YXJcbmU9c2soMCxmdW5jdGlvbihhKXt2YXJcbmU9cihhKSxjPW0oYSk7YTp7aWYodHlwZW9mXG5jPT09XCJudW1iZXJcIiYmMzc9PT1jKXtpZihnKUsoYSw1NCk7bihhLDM3KTt2YXJcbmQ9dChhKSxiPTA7YnJlYWsgYX1uKGEsMzQpO3ZhclxuZD0wLGI9WzAsaSh2WzddLGEpXX12YXJcbmY9Z3x8KDA9PT1iPzE6MCk7bihhLDg3KTt2YXJcbmg9SShkLGhRKGEpWzFdKTtmdW5jdGlvblxuayhhKXthOmlmKHR5cGVvZlxuYT09PVwibnVtYmVyXCIpe3ZhclxuYj1hLTF8MDtpZigzMzxiPj4+MCl7aWYoMzYhPT1iKWJyZWFrIGF9ZWxzZSBpZigzMT49Yi0xPj4+MClicmVhayBhO3JldHVybiAxfXJldHVybiAwfXZhclxubz0xLHE9MT09PWFbOV0/YTpbMCxhWzFdLGFbMl0sYVszXSxhWzRdLGFbNV0sYVs2XSxhWzddLGFbOF0sbyxhWzEwXSxhWzExXSxhWzEyXSxhWzEzXSxhWzE0XSxhWzE1XSxhWzE2XSxhWzE3XSxhWzE4XSxhWzE5XSxhWzIwXSxhWzIxXSxhWzIyXSxhWzIzXSxhWzI0XSxhWzI1XSxhWzI2XSxhWzI3XSxhWzI4XSxhWzI5XSxhWzMwXSxhWzMxXV0scz1qKHZbNF0sayxxKTtyZXR1cm5bMCxbMCxiLHMscChbMCxlXSxbMCxoXSxsKV0sZl19LGEpLGI9WzAsZVsyXSxbMCxlWzFdLGRdXX19dmFyXG5hZzI9MDtmdW5jdGlvblxuYWczKGEpe3ZhclxuZj1yKGEpLGc9eShhKTtuKGEsMjMpO2lmKGE4KGEpKXUoYSxbMCxnLDU1XSk7dmFyXG5jPWkodls3XSxhKSxiPWFKKDAsMCxhKTtpZigwPT09YlswXSl2YXJcbmU9YyxkPWJbMV07ZWxzZVxudmFyXG5lPWooYlsxXVsyXSxjLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooTChhLGNiLDY4KSxhLGIpfSksZD0wO3JldHVyblszNSxbMCxlLHAoWzAsZl0sWzAsZF0sbCldXX12YXJcbmFnND0wO2Z1bmN0aW9uXG5hZzUoYSl7dmFyXG5zPXIoYSk7bihhLDI0KTt2YXJcbmQ9aSh2WzE1XSxhKSxlPTM1PT09bShhKT9qKGF4KGEpWzJdLGQsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsxXTtyZXR1cm5bMCxjLHooTChhLG4wLDQpLGEsYyxiWzJdKV19KTpkLGY9bShhKTthOntpZih0eXBlb2ZcbmY9PT1cIm51bWJlclwiJiYzNT09PWYpe3ZhclxuYj1bMCxxKDAsZnVuY3Rpb24oYSl7dmFyXG5kPXIoYSk7bihhLDM1KTt2YXJcbmU9dChhKTtpZig0PT09bShhKSl7bihhLDQpO3ZhclxuZj1bMCxqKHZbMThdLGEsNjgpXTtuKGEsNSk7dmFyXG5iPWZ9ZWxzZVxudmFyXG5iPTA7dmFyXG5jPWkodlsxNV0sYSksZz0zOT09PW0oYSk/YzpqKGhRKGEpWzJdLGMsZnVuY3Rpb24oYSxiKXt2YXJcbmM9YlsxXTtyZXR1cm5bMCxjLHooTChhLG4wLDY5KSxhLGMsYlsyXSldfSk7cmV0dXJuWzAsYixnLHAoWzAsZF0sWzAsZV0sbCldfSxhKV07YnJlYWsgYX12YXJcbmI9MH12YXJcbmc9bShhKTthOntpZih0eXBlb2Zcbmc9PT1cIm51bWJlclwiJiYzOT09PWcpe24oYSwzOSk7dmFyXG5oPWkodlsxNV0sYSksaz1oWzFdLHc9aFsyXSxjPVswLFswLGssaihoUShhKVsyXSx3LGZ1bmN0aW9uKGEsYil7cmV0dXJuIHooTChhLG4wLDcwKSxhLGssYil9KV1dO2JyZWFrIGF9dmFyXG5jPTB9dmFyXG5vPTA9PT1iPzE6MCx4PW8/MD09PWM/MTowOm87aWYoeCl1KGEsWzAsZVsxXSw1N10pO3JldHVyblszNixbMCxlLGIsYyxwKFswLHNdLDAsbCldXX12YXJcbmFnNj0wO2Z1bmN0aW9uXG5hZzcoYil7dmFyXG5jPTAsYT1JaChiKSxlPWFbM10sZj1hWzJdLGQ9c3goYyxiLGFbMV0pLGc9ZFsyXSxoPWRbMV07YTEoZnVuY3Rpb24oYSl7cmV0dXJuIHUoYixhKX0sZSk7cmV0dXJuWzM5LFswLGcsYyxwKFswLGZdLFswLGhdLGwpXV19dmFyXG5hZzg9MDtmdW5jdGlvblxuYWc5KGIpe3ZhclxuYz0yLGE9SWkoYiksZT1hWzNdLGY9YVsyXSxkPXN4KGMsYixhWzFdKSxnPWRbMl0saD1kWzFdO2ExKGZ1bmN0aW9uKGEpe3JldHVybiB1KGIsYSl9LGUpO3JldHVyblszOSxbMCxnLGMscChbMCxmXSxbMCxoXSxsKV1dfXZhclxuYWdfPTA7ZnVuY3Rpb25cbmFnJChiKXt2YXJcbmM9MSxhPUlqKGIpLGU9YVszXSxmPWFbMl0sZD1zeChjLGIsYVsxXSksZz1kWzJdLGg9ZFsxXTthMShmdW5jdGlvbihhKXtyZXR1cm4gdShiLGEpfSxlKTtyZXR1cm5bMzksWzAsZyxjLHAoWzAsZl0sWzAsaF0sbCldXX12YXJcbmFoYT0wO2Z1bmN0aW9uXG5haGIoYSl7dmFyXG5kPXIoYSk7bihhLDI2KTt2YXJcbmU9SShkLHIoYSkpO24oYSw0KTt2YXJcbmY9aSh2WzddLGEpO24oYSw1KTt2YXJcbmg9a1goMSxhKSxiPWkodlsyXSxoKSxjPTEtYVs1XSxnPWM/azMoYik6YztpZihnKWlaKGEsYlsxXSk7cmV0dXJuWzQwLFswLGYsYixwKFswLGVdLDAsbCldXX12YXJcbmFoYz0wO2Z1bmN0aW9uXG5haGQoYSl7dmFyXG5YPXIoYSksYj1pKHZbN10sYSksZj1tKGEpLGc9YlsyXTtpZigxMD09PWdbMF0mJnR5cGVvZlxuZj09PVwibnVtYmVyXCImJjg3PT09Zil7dmFyXG5vPWdbMV0sZT1vWzJdWzFdLFk9YlsxXTtuKGEsODcpO2lmKGE3WzNdLmNhbGwobnVsbCxlLGFbM10pKXUoYSxbMCxZLFsyMyxhaGYsZV1dKTt2YXJcbnE9YVszMV0scz1hWzMwXSx0PWFbMjldLHc9YVsyOF0seD1hWzI3XSx5PWFbMjZdLHo9YVsyNV0sQT1hWzI0XSxCPWFbMjNdLEM9YVsyMl0sRD1hWzIxXSxFPWFbMjBdLEY9YVsxOV0sRz1hWzE4XSxIPWFbMTddLEk9YVsxNl0sSj1hWzE1XSxLPWFbMTRdLE09YVsxM10sTj1hWzEyXSxPPWFbMTFdLFA9YVsxMF0sUT1hWzldLFI9YVs4XSxTPWFbN10sVD1hWzZdLFU9YVs1XSxWPWFbNF0sVz1hN1s0XS5jYWxsKG51bGwsZSxhWzNdKSxjPVswLGFbMV0sYVsyXSxXLFYsVSxULFMsUixRLFAsTyxOLE0sSyxKLEksSCxHLEYsRSxELEMsQixBLHoseSx4LHcsdCxzLHFdLFo9aXAoYyk/SFcoYyk6aSh2WzJdLGMpO3JldHVyblszMSxbMCxvLFoscChbMCxYXSwwLGwpXV19dmFyXG5kPWFKKGFoZSwwLGEpO2lmKDA9PT1kWzBdKXZhclxuaz1iLGg9ZFsxXTtlbHNlXG52YXJcbms9aihkWzFdWzJdLGIsZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihMKGEsY2IsNzEpLGEsYil9KSxoPTA7cmV0dXJuWzIzLFswLGssMCxwKDAsWzAsaF0sbCldXX12YXJcbmFoZz0wO2Z1bmN0aW9uXG5haHYoYSxiKXt2YXJcbmU9YT9hWzFdOjA7aWYoMS1hcShiKSlLKGIsYlQpO3ZhclxuYz1OKDEsYik7aWYodHlwZW9mXG5jPT09XCJudW1iZXJcIilzd2l0Y2goYyl7Y2FzZVxuMjU6cmV0dXJuIG5nKDAsYik7Y2FzZVxuMjg6cmV0dXJuIG5nKDIsYik7Y2FzZVxuMjk6cmV0dXJuIG5nKDEsYik7Y2FzZVxuNDE6cmV0dXJuIHEoMCxmdW5jdGlvbihhKXt2YXJcbmI9cihhKTtuKGEsNjEpO3JldHVybls2LHNBKGIsYSldfSxiKTtjYXNlXG40NzppZig1MT09PW0oYikpcmV0dXJuIG5iKGIpO2JyZWFrO2Nhc2VcbjQ5OmlmKGJbMjhdWzJdKXJldHVybiBxKDAsZnVuY3Rpb24oYSl7dmFyXG5iPXIoYSk7bihhLDYxKTtyZXR1cm5bOCxIVlsxXS5jYWxsKG51bGwsWzAsYl0sYSldfSxiKTticmVhaztjYXNlXG41MDppZihlKXJldHVybiBIXyhiKTticmVhaztjYXNlXG41NDpyZXR1cm4gcSgwLGZ1bmN0aW9uKGEpe3ZhclxuYj1yKGEpO24oYSw2MSk7cmV0dXJuWzExLG5lKGIsYSldfSxiKTtjYXNlXG42Mjp2YXJcbm89bShiKTtpZih0eXBlb2Zcbm89PT1cIm51bWJlclwiJiY1MT09PW8mJmUpcmV0dXJuIG5iKGIpO3JldHVybiBxKDAsZnVuY3Rpb24oYSl7dmFyXG5iPXIoYSk7bihhLDYxKTtyZXR1cm5bMTUsbmMoYixhKV19LGIpO2Nhc2VcbjYzOnJldHVybiBxKDAsZnVuY3Rpb24oYSl7dmFyXG5iPXIoYSk7bihhLDYxKTtyZXR1cm5bMTYsbmQoYWh6LGIsYSldfSxiKTtjYXNlXG4xNTpjYXNlXG42NTpyZXR1cm4gSDYoYil9ZWxzZSBpZig0PT09Y1swXSl7dmFyXG5kPWNbM107aWYoayhkLGgwKSl7aWYoayhkLGk4KSl7aWYoIWsoZCxLQykpe3ZhclxuZj15KGIpLHM9cihiKTtuKGIsNjEpO3ZhclxuZz1JKHMscihiKSk7Y1AoYixhaEUpO3JldHVybiAxMD09PW0oYik/cShbMCxmXSxmdW5jdGlvbihhKXt2YXJcbmY9cihhKTtuKGEsMTApO3ZhclxuaD1yKGEpO2NQKGEsYWhHKTt2YXJcbmk9a0MoWzAsZyxbMCxmLFswLGgsWzAscihhKSwwXV1dXSksYz1pMyhhKSxiPWFKKDAsMCxhKTtpZigwPT09YlswXSl2YXJcbmU9YlsxXSxkPWM7ZWxzZVxudmFyXG5lPTAsZD1qKGJbMV1bMl0sYyxmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSx5OSw4OSksYSxiKX0pO3JldHVyblsxMyxbMCxkLHAoWzAsaV0sWzAsZV0sbCldXX0sYik6cShbMCxmXSxpKEhZWzFdLGcpLGIpfWlmKCFrKGQsek0pKXt2YXJcbnQ9eShiKSx1PXIoYik7bihiLDYxKTt2YXJcbnc9SSh1LHIoYikpO2NQKGIsYWhGKTtyZXR1cm4gcShbMCx0XSxpKEhaWzFdLHcpLGIpfX1lbHNlIGlmKGJbMjhdWzFdKXJldHVybiBINihiKX1lbHNlIGlmKGJbMjhdWzFdKXJldHVybiBxKDAsZnVuY3Rpb24oYSl7dmFyXG5iPXIoYSk7bihhLDYxKTtyZXR1cm5bNyxzQihiLGEpXX0sYil9aWYoIWUpcmV0dXJuIGkodlsyXSxiKTt2YXJcbmg9bShiKTtpZih0eXBlb2Zcbmg9PT1cIm51bWJlclwiJiY1MT09PWgpcmV0dXJuIG5iKGIpO3JldHVybiBuZygwLGIpfXZhclxuYWtoPTA7ZnVuY3Rpb25cbkk1KGEsYixjKXt2YXJcbmY9R1koMSxhKSxkPXM4KHMwWzJdLGYsYixjLGFraSksZz1kWzRdLGg9ZFszXSxqPWRbMl0sZT1HWSgwLGRbMV0pLGs9QihqKTthMShpKHMwWzFdLGUpLGspO3JldHVyblswLGUsaCxnXX1mdW5jdGlvblxuSTYoYSl7dmFyXG5mPXNSKGEpLG89bShhKTtpZih0eXBlb2Zcbm89PT1cIm51bWJlclwiKXt2YXJcbnQ9by01MHwwO2lmKDExPj10Pj4+MClzd2l0Y2godCl7Y2FzZVxuMDp2YXJcbmI9R1ooMSxoTSgxLGEpKSxjPXIoYiksZD15KGIpO24oYiw1MCk7dmFyXG5lPW0oYik7aWYodHlwZW9mXG5lPT09XCJudW1iZXJcIilpZig1NDw9ZSl7aWYoNjQ+ZSlzd2l0Y2goZS01NHwwKXtjYXNlXG4wOnJldHVybiBxKFswLGRdLGZ1bmN0aW9uKGEpe2lmKDEtYXEoYSkpSyhhLGNoKTt2YXJcbmQ9MCxiPXEoMCxmdW5jdGlvbihhKXtyZXR1cm4gbmUoZCxhKX0sYSksZT1bMCxiWzFdLFszMCxiWzJdXV07cmV0dXJuWzIyLFswLFswLGVdLDAsMCwwLHAoWzAsY10sMCxsKV1dfSxiKTtjYXNlXG44OmlmKDAhPT1OKDEsYikpcmV0dXJuIHEoWzAsZF0sZnVuY3Rpb24oYSl7aWYoMS1hcShhKSlLKGEsY2gpO3ZhclxuYj1OKDEsYSk7aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIil7aWYoNDk9PT1iKXtLKGEsMTcpO24oYSw2Mik7cmV0dXJuWzIyLFswLDAsMCwwLDAscChbMCxjXSwwLGwpXV19aWYoYUs9PT1iKXtuKGEsNjIpO3ZhclxuZj15KGEpO24oYSxhSyk7dmFyXG5kPWskKGEpLGc9ZFsxXTtyZXR1cm5bMjIsWzAsMCxbMCxbMSxbMCxmLDBdXV0sWzAsZ10sMCxwKFswLGNdLFswLGRbMl1dLGwpXV19fXZhclxuaD0wLGU9cSgwLGZ1bmN0aW9uKGEpe3JldHVybiBuYyhoLGEpfSxhKSxpPVswLGVbMV0sWzM3LGVbMl1dXTtyZXR1cm5bMjIsWzAsWzAsaV0sMCwwLDAscChbMCxjXSwwLGwpXV19LGIpO2JyZWFrO2Nhc2Vcbjk6cmV0dXJuIHEoWzAsZF0sZnVuY3Rpb24oYSl7dmFyXG5iPXEoMCxmdW5jdGlvbihhKXtyZXR1cm4gbmQoMCwwLGEpfSxhKSxkPVswLGJbMV0sWzM4LGJbMl1dXTtyZXR1cm5bMjIsWzAsWzAsZF0sMCwwLDAscChbMCxjXSwwLGwpXV19LGIpfX1lbHNlIGlmKDM3PT09ZSlyZXR1cm4gcShbMCxkXSxmdW5jdGlvbihhKXt2YXJcbnM9SShjLHIoYSkpLHQ9cSgwLGZ1bmN0aW9uKGEpe3JldHVybiBuKGEsMzcpfSxhKVsxXSxiPUcwKDEsYSk7YTp7aWYoIWlwKGIpJiYhbVYoYikpe2lmKGtaKGIpKXt2YXJcbmU9MCxkPVswLG5zKGIsZildO2JyZWFrIGF9aWYoNDk9PT1tKGIpKXt2YXJcbmU9MCxkPVswLElrKDApKGIpXTticmVhayBhfWlmKHNnKGIpKXt2YXJcbmU9MCxkPVswLHNGKGIpXTticmVhayBhfXZhclxuaD1pKHZbMTBdLGIpLGc9YUooMCwwLGIpO2lmKDA9PT1nWzBdKXZhclxubz1nWzFdLGs9aDtlbHNlXG52YXJcbm89MCxrPWooZ1sxXVsyXSxoLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooTChhLGNiLDkxKSxhLGIpfSk7dmFyXG5lPW8sZD1bMSxrXTticmVhayBhfXZhclxuZT0wLGQ9WzAsbGMoYildfXJldHVyblsyMSxbMCx0LGQscChbMCxzXSxbMCxlXSxsKV1dfSxiKTtpZihrWihiKSlyZXR1cm4gcShbMCxkXSxmdW5jdGlvbihhKXt2YXJcbmI9bnMoYSxmKTtyZXR1cm5bMjIsWzAsWzAsYl0sMCwwLDEscChbMCxjXSwwLGwpXV19LGIpO2lmKCFpcChiKSYmIW1WKGIpKXtpZih0eXBlb2ZcbmU9PT1cIm51bWJlclwiKXt2YXJcbmc9ZStqOHwwO2lmKDQ8Zz4+PjApe2lmKDI0PT09ZyYmYlsyOF1bMl0pcmV0dXJuIHEoWzAsZF0sZnVuY3Rpb24oYSl7dmFyXG5iPWoodlszXSxbMCxmXSxhKTtyZXR1cm5bMjIsWzAsWzAsYl0sMCwwLDEscChbMCxjXSwwLGwpXV19LGIpfWVsc2UgaWYoMTxnLTE+Pj4wKXJldHVybiBxKFswLGRdLGZ1bmN0aW9uKGEpe3ZhclxuYj1qKHZbM10sWzAsZl0sYSk7cmV0dXJuWzIyLFswLFswLGJdLDAsMCwxLHAoWzAsY10sMCxsKV1dfSxiKX1pZihzZyhiKSlyZXR1cm4gcShbMCxkXSxmdW5jdGlvbihhKXt2YXJcbmI9c0YoYSk7cmV0dXJuWzIyLFswLFswLGJdLDAsMCwxLHAoWzAsY10sMCxsKV1dfSxiKTtpZih0eXBlb2ZcbmU9PT1cIm51bWJlclwiJiZhSz09PWUpcmV0dXJuIHEoWzAsZF0sZnVuY3Rpb24oYSl7dmFyXG5mPXkoYSk7bihhLGFLKTt2YXJcbmI9bShhKTthOntpZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiY0PT09YlswXSYmIWsoYlszXSxjYykpe3MoYSk7dmFyXG5kPVswLGFOKGEpXTticmVhayBhfXZhclxuZD0wfXZhclxuZT1rJChhKSxnPWVbMV07cmV0dXJuWzIyLFswLDAsWzAsWzEsWzAsZixkXV1dLFswLGddLDEscChbMCxjXSxbMCxlWzJdXSxsKV1dfSxiKTt2YXJcbnc9YWcoYiw2Mik/MDoxO3JldHVybiBhZyhiLDApP3EoWzAsZF0sZnVuY3Rpb24oYSl7dmFyXG5lPUg4KDAsYSwwKTtuKGEsMSk7dmFyXG5iPW0oYSk7YTp7aWYodHlwZW9mXG5iIT09XCJudW1iZXJcIiYmND09PWJbMF0mJiFrKGJbM10sbFIpKXt2YXJcbmg9ayQoYSksZz1oWzJdLGY9WzAsaFsxXV07YnJlYWsgYX1IOShhLGUpO3ZhclxuZD1hSigwLDAsYSksaT0wPT09ZFswXT9kWzFdOmRbMV1bMV0sZz1pLGY9MH1yZXR1cm5bMjIsWzAsMCxbMCxbMCxlXV0sZix3LHAoWzAsY10sWzAsZ10sbCldXX0sYik6KGFrKGFoTCxiKSxqKHZbM10sWzAsZl0sYikpfXJldHVybiBxKFswLGRdLGZ1bmN0aW9uKGEpe21XKGEpKGYpO3ZhclxuYj1sYyhhKTtyZXR1cm5bMjIsWzAsWzAsYl0sMCwwLDEscChbMCxjXSwwLGwpXV19LGIpO2Nhc2VcbjE6bVcoYSkoZik7dmFyXG5oPU4oMSxhKTthOntiOmlmKHR5cGVvZlxuaD09PVwibnVtYmVyXCIpe2lmKDQhPT1oJiYxMCE9PWgpYnJlYWsgYjt2YXJcbnU9azgoYSk7YnJlYWsgYX12YXJcbnU9bmIoYSl9cmV0dXJuIHU7Y2FzZVxuMTE6aWYoNTA9PT1OKDEsYSkpe21XKGEpKGYpO3JldHVybiBIXyhhKX1icmVha319cmV0dXJuIG50KFswLGZdLGEpfWZ1bmN0aW9uXG5JNyhhLGIpe3JldHVybiB6KEkyWzFdLGIsYSwwKX1mdW5jdGlvblxuSTgoYSxiKXt2YXJcbmM9STUoYixhLGZ1bmN0aW9uKGEpe3JldHVybiBudCgwLGEpfSksZD1jWzNdLGU9Y1syXTtyZXR1cm5bMCxhVihmdW5jdGlvbihhLGIpe3JldHVyblswLGIsYV19LHMxKGEsY1sxXSksZSksZF19ZnVuY3Rpb25cbnMxKGEsYil7cmV0dXJuIHooSTNbMV0sYixhLDApfWZ1bmN0aW9uXG5udChhLGIpe3ZhclxuaD1hP2FbMV06MDtpZigxLWtaKGIpKW1XKGIpKGgpO3ZhclxuYz1tKGIpO2lmKHR5cGVvZlxuYz09PVwibnVtYmVyXCIpe2lmKDI4PT09YylyZXR1cm4gcShhZ18sYWc5LGIpO2lmKDI5PT09YylyZXR1cm4gcShhaGEsYWckLGIpfWlmKCFpcChiKSYmIW1WKGIpKXtpZihrWihiKSlyZXR1cm4gbnMoYixoKTtpZih0eXBlb2ZcbmM9PT1cIm51bWJlclwiKXt2YXJcbmo9Yy00OXwwO2lmKDE0Pj1qPj4+MClzd2l0Y2goail7Y2FzZVxuMDppZihiWzI4XVsyXSlyZXR1cm4gSWsoMCkoYik7YnJlYWs7Y2FzZVxuNTppZighRzcoMSxiKSlyZXR1cm4gazgoYik7dmFyXG5uPTAsZz1xKDAsZnVuY3Rpb24oYSl7cmV0dXJuIG5lKG4sYSl9LGIpO3JldHVyblswLGdbMV0sWzMwLGdbMl1dXTtjYXNlXG4xMjpyZXR1cm4gYWh2KDAsYik7Y2FzZVxuMTM6aWYoaE8oMSxiKSYmIUc2KDEsYikpe3Zhclxuaz0wLGQ9cSgwLGZ1bmN0aW9uKGEpe3JldHVybiBuYyhrLGEpfSxiKTtyZXR1cm5bMCxkWzFdLFszNyxkWzJdXV19cmV0dXJuIGkodlsyXSxiKTtjYXNlXG4xNDp2YXJcbmU9TigxLGIpO2lmKHR5cGVvZlxuZT09PVwibnVtYmVyXCImJjYyPT09ZSl7dmFyXG5sPTAsZj1xKDAsZnVuY3Rpb24oYSl7cmV0dXJuIG5kKGFoQSxsLGEpfSxiKTtyZXR1cm5bMCxmWzFdLFszOCxmWzJdXV19cmV0dXJuIGkodlsyXSxiKX19cmV0dXJuIHNnKGIpP3NGKGIpOkk5KGIpfXJldHVybiBsYyhiKX1mdW5jdGlvblxuSTkoYSl7Zm9yKDs7KXt2YXJcbmI9bShhKTtpZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiZqcD5iKXN3aXRjaChiKXtjYXNlXG4wOnZhclxuSD1pKHZbMTVdLGEpLEo9SFsxXSxhYj1IWzJdO3JldHVyblswLEosWzAsaihoUShhKVsyXSxhYixmdW5jdGlvbihhLGIpe3JldHVybiB6KEwoYSxuMCw3NyksYSxKLGIpfSldXTtjYXNlXG44OnZhclxuTT15KGEpLE89cihhKTtuKGEsOCk7cmV0dXJuWzAsTSxbMTksWzAscChbMCxPXSxbMCxoUShhKVsxXV0sbCldXV07Y2FzZVxuMTY6cmV0dXJuIEgyKGEpO2Nhc2VcbjE5OnJldHVybiBxKGFnWixhZ1ksYSk7Y2FzZVxuMjA6cmV0dXJuIHEoYWcyLGFnMCxhKTtjYXNlXG4yMTppZihhWzI4XVszXSYmIWlZKDEsYSkmJjQ9PT1OKDEsYSkpe3ZhclxuQz1yKGEpLGM9eShhKSxEPWoodlsxM10sMCxhKSxkPW5tKGEpO2lmKCFhOChhKSYmMD09PW0oYSkpe3ZhclxuWj1IaShhLGQpLF89ZnVuY3Rpb24oYSl7dmFyXG5jPXIoYSksZD1pKHZbMjddLGEpLGU9YWcoYSwxNik/WzAsaSh2WzddLGEpXTowO24oYSw4Nyk7dmFyXG5mPWkodlsxNV0sYSksYj1tKGEpO2E6e2I6aWYodHlwZW9mXG5iPT09XCJudW1iZXJcIil7aWYoMSE9PWImJlYhPT1iKWJyZWFrIGI7YnJlYWsgYX1uKGEsOSl9cmV0dXJuWzAsZCxmLGUscChbMCxjXSxbMCx0KGEpXSxsKV19O3JldHVybiBxKFswLGNdLGZ1bmN0aW9uKGEpe24oYSwwKTt2YXJcbmI9MDtmb3IoOzspe3ZhclxuYz1tKGEpO2E6aWYodHlwZW9mXG5jPT09XCJudW1iZXJcIil7aWYoMSE9PWMmJlYhPT1jKWJyZWFrIGE7dmFyXG5kPUIoYik7bihhLDEpO3JldHVyblszMixbMCxaLGQscChbMCxDXSxbMCx0KGEpXSxsKV1dfXZhclxuYj1bMCxxKDAsXyxhKSxiXX19LGEpfXZhclxuWD1bMCxEWzFdLFsxMCxEXV0sWT0kKGMsZFsxXSksRT1hTyhhLGl0KGFoeCxhaHcsYSxjLFswLFswLFksWzYsWzAsWCwwLGQscChbMCxDXSwwLGwpXV1dXSkpO3JldHVybiBxKFswLGNdLGZ1bmN0aW9uKGEpe3ZhclxuYj1hSihhaHksMCxhKTtpZigwPT09YlswXSl2YXJcbmQ9RSxjPWJbMV07ZWxzZVxudmFyXG5kPWooYlsxXVsyXSxFLGZ1bmN0aW9uKGEsYil7cmV0dXJuIGooTChhLGNiLDc2KSxhLGIpfSksYz0wO3JldHVyblsyMyxbMCxkLDAscCgwLFswLGNdLGwpXV19LGEpfWJyZWFrO2Nhc2VcbjIzOnJldHVybiBxKGFnNCxhZzMsYSk7Y2FzZVxuMjQ6cmV0dXJuIHEoYWc2LGFnNSxhKTtjYXNlXG4yNTpyZXR1cm4gcShhZzgsYWc3LGEpO2Nhc2VcbjI2OnJldHVybiBxKGFoYyxhaGIsYSk7Y2FzZVxuMjc6dmFyXG5GPXEoMCxmdW5jdGlvbihhKXt2YXJcbmQ9cihhKTtuKGEsMjcpO3ZhclxuZT1JKGQscihhKSk7bihhLDQpO3ZhclxuZj1pKHZbN10sYSk7bihhLDUpO3ZhclxuYj1pKHZbMl0sYSksYz0xLWFbNV0sZz1jP2szKGIpOmM7aWYoZylpWihhLGJbMV0pO3JldHVybls0MSxbMCxmLGIscChbMCxlXSwwLGwpXV19LGEpLEc9RlsxXSxhYT1GWzJdO2IwKGEsWzAsRyw3NV0pO3JldHVyblswLEcsYWFdO2Nhc2VcbjMzOnZhclxuUD1yKGEpLGU9cSgwLGZ1bmN0aW9uKGEpe24oYSwzMyk7YTp7aWYoOCE9PW0oYSkmJiFqVShhKSl7dmFyXG5kPWoodlsxM10sMCxhKSxpPWRbMl1bMV0sbD1kWzFdO2lmKDEtYTdbM10uY2FsbChudWxsLGksYVszXSkpdShhLFswLGwsWzI5LGldXSk7dmFyXG5iPVswLGRdO2JyZWFrIGF9dmFyXG5iPTB9dmFyXG5jPWFKKDAsMCxhKTthOntpZigwPT09Y1swXSl2YXJcbmU9Y1sxXTtlbHNle3ZhclxuaD1jWzFdLGs9aFsxXTtpZihiKXt2YXJcbmc9WzAsaihoWzJdLGJbMV0sZnVuY3Rpb24oYSxiKXtyZXR1cm4gaihMKGEsa2osNzQpLGEsYil9KV0sZj0wO2JyZWFrIGF9dmFyXG5lPWt9dmFyXG5nPWIsZj1lfXJldHVyblswLGcsZl19LGEpLGY9ZVsyXSxnPWZbMV0saD1lWzFdLGs9MD09PWc/MTowLFE9ZlsyXTtpZihrKXZhclxuUj1hWzhdLFM9Unx8YVs5XSxvPTEtUztlbHNlXG52YXJcbm89aztpZihvKXUoYSxbMCxoLDI1XSk7cmV0dXJuWzAsaCxbMSxbMCxnLHAoWzAsUF0sWzAsUV0sbCldXV07Y2FzZVxuMzY6dmFyXG5UPXIoYSksdz1xKDAsZnVuY3Rpb24oYSl7bihhLDM2KTthOntpZig4IT09bShhKSYmIWpVKGEpKXt2YXJcbmQ9aih2WzEzXSwwLGEpLGk9ZFsyXVsxXSxsPWRbMV07aWYoMS1hN1szXS5jYWxsKG51bGwsaSxhWzNdKSl1KGEsWzAsbCxbMjksaV1dKTt2YXJcbmI9WzAsZF07YnJlYWsgYX12YXJcbmI9MH12YXJcbmM9YUooMCwwLGEpO2E6e2lmKDA9PT1jWzBdKXZhclxuZT1jWzFdO2Vsc2V7dmFyXG5oPWNbMV0saz1oWzFdO2lmKGIpe3ZhclxuZz1bMCxqKGhbMl0sYlsxXSxmdW5jdGlvbihhLGIpe3JldHVybiBqKEwoYSxraiw3NSksYSxiKX0pXSxmPTA7YnJlYWsgYX12YXJcbmU9a312YXJcbmc9YixmPWV9cmV0dXJuWzAsZyxmXX0sYSkseD13WzJdLEE9d1sxXSxVPXhbMl0sVz14WzFdO2lmKDEtYVs4XSl1KGEsWzAsQSwyNl0pO3JldHVyblswLEEsWzQsWzAsVyxwKFswLFRdLFswLFVdLGwpXV1dO2Nhc2VcbjM4OnJldHVybiBxKGFnTyxhZ00sYSk7Y2FzZVxuNDA6cmV0dXJuIHEoYWdVLGFnUCxhKTtjYXNlXG40NDpyZXR1cm4gSDIoYSk7Y2FzZVxuNjA6cmV0dXJuIHEoYWdMLGFnSyxhKTtjYXNlXG4xMTQ6YWsoYWtrLGEpO3JldHVyblswLHkoYSksYWtsXTtjYXNlXG4xOmNhc2VcbjU6Y2FzZVxuNzpjYXNlXG45OmNhc2VcbjEwOmNhc2VcbjExOmNhc2VcbjEyOmNhc2VcbjE3OmNhc2VcbjE4OmNhc2VcbjM0OmNhc2VcbjM1OmNhc2VcbjM3OmNhc2VcbjM5OmNhc2VcbjQyOmNhc2VcbjQzOmNhc2VcbjUwOmNhc2Vcbjg0OmNhc2Vcbjg3OmFrKGFraixhKTtzKGEpO2NvbnRpbnVlfWlmKCFpcChhKSYmIW1WKGEpKXtpZih0eXBlb2ZcbmI9PT1cIm51bWJlclwiJiYyOT09PWImJjY9PT1OKDEsYSkpe3ZhclxuYWM9alQoMSxhKTt1KGEsWzAsJCh5KGEpLGFjKSwzXSk7cmV0dXJuIGs4KGEpfXJldHVybiBjcihhKT9xKGFoZyxhaGQsYSk6a1ooYSk/KGFrKDAsYSkscyhhKSxrOChhKSk6azgoYSl9dmFyXG5LPWxjKGEpO2laKGEsS1sxXSk7cmV0dXJuIEt9fWEoczAsWzAsZnVuY3Rpb24oYSxiKXtpZih0eXBlb2ZcbmIhPT1cIm51bWJlclwiJiYyPT09YlswXSl7dmFyXG5jPWJbMV0sZD1jWzRdLGU9Y1sxXTtyZXR1cm4gZD9iMChhLFswLGUsNzddKTpkfXJldHVybiBFKEooYWtuLEooR28oYiksYWttKSkpfSxmdW5jdGlvbihhLGIsYyxkKXt2YXJcbmU9YSxqPWQ7Zm9yKDs7KXt2YXJcbmc9alszXSxrPWpbMl0saD1qWzFdLGY9bShlKTtpZih0eXBlb2ZcbmY9PT1cIm51bWJlclwiJiZWPT09ZilyZXR1cm5bMCxlLGgsayxnXTtpZihpKGIsZikpcmV0dXJuWzAsZSxoLGssZ107aWYodHlwZW9mXG5mIT09XCJudW1iZXJcIiYmMj09PWZbMF0pe3Zhclxubj1pKGMsZSksbz1bMCxuLGtdLHA9blsyXTtpZigyMz09PXBbMF0pe3ZhclxucT1wWzFdWzJdO2lmKHEpe3ZhclxubD1YKHFbMV0sXCJ1c2Ugc3RyaWN0XCIpLHI9blsxXSxzPWw/MS1lWzIxXTpsO2lmKHMpdShlLFswLHIsODBdKTt2YXJcbnQ9bD9oTSgxLGUpOmUsdj1bMCxmLGhdLHc9Z3x8bCxlPXQsaj1bMCx2LG8sd107Y29udGludWV9fXJldHVyblswLGUsaCxvLGddfXJldHVyblswLGUsaCxrLGddfX1dKTthKEkyLFswLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmQ9Yztmb3IoOzspe3ZhclxuZT1tKGEpO2lmKHR5cGVvZlxuZT09PVwibnVtYmVyXCImJlY9PT1lKXJldHVybiBCKGQpO2lmKGkoYixlKSlyZXR1cm4gQihkKTt2YXJcbmQ9WzAsSTYoYSksZF19fV0pO2EoSTMsWzAsZnVuY3Rpb24oYSxiLGMpe3ZhclxuZD1jO2Zvcig7Oyl7dmFyXG5lPW0oYSk7aWYodHlwZW9mXG5lPT09XCJudW1iZXJcIiYmVj09PWUpcmV0dXJuIEIoZCk7aWYoaShiLGUpKXJldHVybiBCKGQpO3ZhclxuZD1bMCxudCgwLGEpLGRdfX1dKTthKEk0LFswLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmQ9MS1hLGY9STEoWzAsYl0sYyksZT1kPzg2PT09bShjKT8xOjA6ZDtpZihlKXtpZigxLWFxKGMpKUsoYyxiZSk7bihjLDg2KX1yZXR1cm5bMCxmLHNzKGMpLGVdfV0pO0ZUKGFrb1sxXSx2LFswLGZ1bmN0aW9uKGMpe3ZhclxuZT1tKGMpO2E6e2lmKHR5cGVvZlxuZSE9PVwibnVtYmVyXCImJjY9PT1lWzBdKXt2YXJcbkw9ZVsyXSxNPWVbMV07cyhjKTt2YXJcbno9WzAsWzAsTSxMXV07YnJlYWsgYX12YXJcbno9MH12YXJcbmY9cihjKTthOntiOnt2YXJcbmQ9QihmKSxFPTU7Zm9yKDs7KXtpZighZClicmVhazt2YXJcbm89ZFsyXSxxPWRbMV0sdD1xWzJdLHU9cVsxXSxqPXRbMl07Yzp7ZDp7dmFyXG5iPTAsRj1HKGopO2Zvcig7Oyl7aWYoRjwoYis1fDApKWJyZWFrIGQ7dmFyXG5rPVgoYTIoaixiLEUpLFwiQGZsb3dcIik7aWYoaylicmVhazt2YXJcbmI9YisxfDB9dmFyXG52PWs7YnJlYWsgY312YXJcbnY9MH1pZih2KWJyZWFrIGI7dmFyXG5kPW99dmFyXG5nPTA7YnJlYWsgYX1jWzMxXVsxXT11WzNdO3ZhclxuZz1CKFswLFswLHUsdF0sb10pfWE6aWYoMD09PWcpe2lmKGYpe3ZhclxuaD1mWzFdLHc9aFsyXTtpZighd1sxXSl7dmFyXG54PXdbMl0sSD1oWzFdO2lmKDE8PUcoeCkmJjQyPT09YUIoeCwwKSl7Y1szMV1bMV09SFszXTt2YXJcbmk9WzAsaCwwXTticmVhayBhfX19dmFyXG5pPTB9ZWxzZVxudmFyXG5pPWc7ZnVuY3Rpb25cbkEoYSl7cmV0dXJuIDB9dmFyXG5EPUk1KGMsQSxJNiksTj1EWzJdLGE9YVYoZnVuY3Rpb24oYSxiKXtyZXR1cm5bMCxiLGFdfSxJNyhBLERbMV0pLE4pLEk9eShjKTtuKGMsVik7YVYoZnVuY3Rpb24oYSxiKXt2YXJcbmU9YlsyXTtzd2l0Y2goZVswXSl7Y2FzZVxuMjE6cmV0dXJuIGxoKGMsYSxjcCgwLFswLGVbMV1bMV0sYWtlXSkpO2Nhc2VcbjIyOnZhclxuZj1lWzFdLGc9ZlsxXTtpZihnKXtpZighZlsyXSl7dmFyXG5oPWdbMV0sZD1oWzJdLG09aFsxXTthOntzd2l0Y2goZFswXSl7Y2FzZVxuMzk6cmV0dXJuIGFWKGZ1bmN0aW9uKGEsYil7cmV0dXJuIGxoKGMsYSxiKX0sYSxhVihmdW5jdGlvbihhLGIpe3JldHVybiBhVihzWixhLFswLGJbMl1bMV0sMF0pfSwwLGRbMV1bMV0pKTtjYXNlXG4yOmNhc2VcbjI3OnZhclxuaT1kWzFdWzFdO2lmKGkpe3Zhclxuaj1pWzFdO2JyZWFrIGF9YnJlYWs7Y2FzZVxuMzpjYXNlXG4yMDpjYXNlXG4zMDpjYXNlXG4zNzpjYXNlXG4zODp2YXJcbmo9ZFsxXVsxXTticmVhayBhfXJldHVybiBhfXJldHVybiBsaChjLGEsY3AoMCxbMCxtLGpbMl1bMV1dKSl9fWVsc2V7dmFyXG5rPWZbMl07aWYoayl7dmFyXG5sPWtbMV07cmV0dXJuIDA9PT1sWzBdP2FWKGZ1bmN0aW9uKGEsYil7dmFyXG5kPWJbMl0sZT1kWzJdLGY9ZFsxXTtyZXR1cm4gZT9saChjLGEsZVsxXSk6bGgoYyxhLGYpfSxhLGxbMV0pOmF9fXJldHVybiBhO2RlZmF1bHQ6cmV0dXJuIGF9fSxhN1sxXSxhKTtpZihhKXZhclxuSj1rQihCKGEpKVsxXSxDPSQoa0IoYSlbMV0sSik7ZWxzZVxudmFyXG5DPUk7dmFyXG5LPUIoY1syXVsxXSk7cmV0dXJuWzAsQyxbMCxhLHoscChbMCxpXSwwLGwpLEtdXX0sSTksbnQsczEsSTgsSTcsZnVuY3Rpb24oYSl7dmFyXG5kPXkoYSksYj1iJChhKSxjPW0oYSk7aWYodHlwZW9mXG5jPT09XCJudW1iZXJcIiYmOT09PWMpcmV0dXJuIHNMKGEsZCxbMCxiLDBdKTtyZXR1cm4gYn0sZnVuY3Rpb24oYSl7dmFyXG5kPXkoYSksYj1sZihhKSxjPW0oYSk7aWYodHlwZW9mXG5jPT09XCJudW1iZXJcIiYmOT09PWMpcmV0dXJuWzAsc0woYSxkLFswLGFPKGEsYiksMF0pXTtyZXR1cm4gYn0sZnVuY3Rpb24oYSl7cmV0dXJuIGFPKGEsSXQoYSkpfSxiJCxzSCxmdW5jdGlvbihhKXt2YXJcbmI9cSgwLGZ1bmN0aW9uKGEpe3ZhclxuQz1yKGEpO24oYSwwKTthOnt2YXJcbmQ9MCxjPVswLDAsY3VdO2Zvcig7Oyl7dmFyXG5iPWNbMl0saT1jWzFdLGU9bShhKTtpZih0eXBlb2ZcbmU9PT1cIm51bWJlclwiKXtpZigxPT09ZSlicmVhayBhO2lmKFY9PT1lKWJyZWFrfXZhclxuaj1halooYSksaz1qWzFdLEE9alsyXTtiOntpZigxPT09a1swXSYmOT09PW0oYSkpe3Zhclxubz1bMCx5KGEpXTticmVhayBifXZhclxubz0wfXZhclxuZj1zRChBLGIpLHA9bShhKTtiOntjOmlmKHR5cGVvZlxucD09PVwibnVtYmVyXCIpe3ZhclxuZz1wLTJ8MDtpZihiczxnPj4+MCl7aWYoYm08ZysxPj4+MClicmVhayBjfWVsc2V7aWYoNyE9PWcpYnJlYWsgYztzKGEpfXZhclxucT1mO2JyZWFrIGJ9dmFyXG51PXIzKGFlZiw5KSx2PUc4KFswLHVdLG0oYSkpLGg9WzAseShhKSx2XTthZyhhLDgpO3ZhclxucT1bMCxbMCxoLGZbMV1dLFswLGgsZlsyXV1dfXZhclxuZD1vLGM9WzAsWzAsayxpXSxxXX19dmFyXG53PWQ/WzAsYlsxXSxbMCxbMCxkWzFdLDkxXSxiWzJdXV06Yix4PUljKHcpLHo9QihpKSxEPXIoYSk7bihhLDEpO3JldHVyblswLFswLHosYXYoWzAsQ10sWzAsdChhKV0sRCxsKV0seF19LGEpLGM9YlsyXTtyZXR1cm5bMCxiWzFdLGNbMV0sY1syXV19LEkxLGZ1bmN0aW9uKGEsYixjKXt2YXJcbmQ9Yj9iWzFdOjA7cmV0dXJuIHEoMCxqKEk0WzFdLGQsYyksYSl9LGZ1bmN0aW9uKGEpe3ZhclxuYz15KGEpLGQ9cihhKTtuKGEsMCk7dmFyXG5iPXMxKGZ1bmN0aW9uKGEpe3JldHVybiAxPT09YT8xOjB9LGEpLGU9eShhKSxmPTA9PT1iP3IoYSk6MDtuKGEsMSk7dmFyXG5nPVswLGIsYXYoWzAsZF0sWzAsdChhKV0sZixsKV07cmV0dXJuWzAsJChjLGUpLGddfSxmdW5jdGlvbihmKXtmdW5jdGlvblxuYihhKXt2YXJcbmc9cihhKTtuKGEsMCk7dmFyXG5kPUk4KGZ1bmN0aW9uKGEpe3JldHVybiAxPT09YT8xOjB9LGEpLGU9ZFsxXSxoPWRbMl0saT0wPT09ZT9yKGEpOjA7bihhLDEpO3ZhclxuYj1tKGEpO2E6e2I6aWYoIWYpe2lmKHR5cGVvZlxuYj09PVwibnVtYmVyXCImJigxPT09Ynx8Vj09PWIpKWJyZWFrIGI7aWYoYTgoYSkpe3ZhclxuYz1pcShhKTticmVhayBhfXZhclxuYz0wO2JyZWFrIGF9dmFyXG5jPXQoYSl9cmV0dXJuWzAsWzAsZSxhdihbMCxnXSxbMCxjXSxpLGwpXSxoXX12YXJcbmM9MDtyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIHNrKGMsYixhKX19LGZ1bmN0aW9uKGEpe3JldHVybiBJTyhha2gsYSl9LGxhLG5oLGl1LG5zLGZ1bmN0aW9uKGEpe3JldHVybiBxKGFrYyxha2IsYSl9LGZ1bmN0aW9uKGEpe3ZhclxuYz1hWzJdO3N3aXRjaChjWzBdKXtjYXNlXG4yNDp2YXJcbmI9Y1sxXSxkPWJbMV1bMl1bMV07aWYoayhkLGJqKSl7aWYoIWsoZCxqcSkmJiFrKGJbMl1bMl1bMV0sb2kpKXJldHVybiAwfWVsc2UgaWYoIWsoYlsyXVsyXVsxXSxsdCkpcmV0dXJuIDA7YnJlYWs7Y2FzZVxuMDpjYXNlXG4xMDpjYXNlXG4yMzpjYXNlXG4yNjpicmVhaztkZWZhdWx0OnJldHVybiAwfXJldHVybiAxfSxzSixpMyxzSyxucF0pO3ZhclxuczI9W2FoLGF3dCxoRSgwKV0sczM9WzAsczIsWzBdXSxhd3M9bWcoYXdxLGZ1bmN0aW9uKGMpe3ZhclxuYT1yTihjLGF3cClbNDFdLGU9clIoYywwLDAsYXdyLHJYLDEpWzFdO0ZSKGMsYSxmdW5jdGlvbihhLGIpe3JldHVybiAwfSk7cmV0dXJuIGZ1bmN0aW9uKGEsYil7dmFyXG5kPW1oKGIsYyk7aShlLGQpO3JldHVybiByUyhiLGQsYyl9fSksU1k9W2FoLFNYLGhFKDApXTtmdW5jdGlvblxuU1ooYSl7aWYodHlwZW9mXG5hPT09XCJudW1iZXJcIil7dmFyXG5rPWE7aWYoNTc8PWspc3dpdGNoKGspe2Nhc2VcbjU3OnJldHVybiBUVjtjYXNlXG41ODpyZXR1cm4gVFc7Y2FzZVxuNTk6cmV0dXJuIFRYO2Nhc2VcbjYwOnJldHVybiBUWTtjYXNlXG42MTpyZXR1cm4gVFo7Y2FzZVxuNjI6cmV0dXJuIFQwO2Nhc2VcbjYzOnJldHVybiBUMTtjYXNlXG42NDpyZXR1cm4gVDI7Y2FzZVxuNjU6cmV0dXJuIFQzO2Nhc2VcbjY2OnJldHVybiBUNDtjYXNlXG42NzpyZXR1cm4gVDU7Y2FzZVxuNjg6cmV0dXJuIFQ2O2Nhc2VcbjY5OnJldHVybiBUNztjYXNlXG43MDpyZXR1cm4gVDg7Y2FzZVxuNzE6cmV0dXJuIFQ5O2Nhc2VcbjcyOnJldHVybiBUXztjYXNlXG43MzpyZXR1cm4gVCQ7Y2FzZVxuNzQ6cmV0dXJuIFVhO2Nhc2Vcbjc1OnJldHVybiBVYjtjYXNlXG43NjpyZXR1cm4gVWM7Y2FzZVxuNzc6cmV0dXJuIFVkO2Nhc2Vcbjc4OnJldHVybiBVZTtjYXNlXG43OTpyZXR1cm4gVWY7Y2FzZVxuODA6cmV0dXJuIFVnO2Nhc2VcbjgxOnJldHVybiBVaDtjYXNlXG44MjpyZXR1cm4gVWk7Y2FzZVxuODM6cmV0dXJuIFVqO2Nhc2Vcbjg0OnJldHVybiBVaztjYXNlXG44NTpyZXR1cm4gVWw7Y2FzZVxuODY6cmV0dXJuIFVtO2Nhc2Vcbjg3OnJldHVybiBVbjtjYXNlXG44ODpyZXR1cm4gVW87Y2FzZVxuODk6cmV0dXJuIFVwO2Nhc2VcbjkwOnJldHVybiBVcTtjYXNlXG45MTpyZXR1cm4gVXI7Y2FzZVxuOTI6cmV0dXJuIFVzO2Nhc2VcbjkzOnJldHVybiBVdDtjYXNlXG45NDpyZXR1cm4gVXU7Y2FzZVxuOTU6cmV0dXJuIFV2O2Nhc2Vcbjk2OnJldHVybiBVdztjYXNlXG45NzpyZXR1cm4gVXg7Y2FzZVxuOTg6cmV0dXJuIFV5O2Nhc2Vcbjk5OnJldHVybiBVejtjYXNlXG4xMDA6cmV0dXJuIFVBO2Nhc2VcbjEwMTpyZXR1cm4gVUI7Y2FzZVxuMTAyOnJldHVybiBVQztjYXNlXG4xMDM6cmV0dXJuIFVEO2Nhc2VcbjEwNDpyZXR1cm4gVUU7Y2FzZVxuMTA1OnJldHVybiBVRjtjYXNlXG4xMDY6cmV0dXJuIFVHO2Nhc2VcbjEwNzpyZXR1cm4gVUg7Y2FzZVxuMTA4OnJldHVybiBVSTtjYXNlXG4xMDk6cmV0dXJuIFVKO2Nhc2VcbjExMDpyZXR1cm4gVUs7Y2FzZVxuMTExOnJldHVybiBVTDtjYXNlXG4xMTI6cmV0dXJuIFVNO2RlZmF1bHQ6cmV0dXJuIFVOfXN3aXRjaChrKXtjYXNlXG4wOnJldHVybiBTMDtjYXNlXG4xOnJldHVybiBTMTtjYXNlXG4yOnJldHVybiBTMjtjYXNlXG4zOnJldHVybiBTMztjYXNlXG40OnJldHVybiBTNDtjYXNlXG41OnJldHVybiBTNTtjYXNlXG42OnJldHVybiBTNjtjYXNlXG43OnJldHVybiBTNztjYXNlXG44OnJldHVybiBTODtjYXNlXG45OnJldHVybiBTOTtjYXNlXG4xMDpyZXR1cm4gU187Y2FzZVxuMTE6cmV0dXJuIEooVGEsUyQpO2Nhc2VcbjEyOnJldHVybiBUYjtjYXNlXG4xMzpyZXR1cm4gVGM7Y2FzZVxuMTQ6cmV0dXJuIFRkO2Nhc2VcbjE1OnJldHVybiBUZTtjYXNlXG4xNjpyZXR1cm4gVGY7Y2FzZVxuMTc6cmV0dXJuIFRnO2Nhc2VcbjE4OnJldHVybiBUaDtjYXNlXG4xOTpyZXR1cm4gVGk7Y2FzZVxuMjA6cmV0dXJuIFRqO2Nhc2VcbjIxOnJldHVybiBUaztjYXNlXG4yMjpyZXR1cm4gVGw7Y2FzZVxuMjM6cmV0dXJuIFRtO2Nhc2VcbjI0OnJldHVybiBUbjtjYXNlXG4yNTpyZXR1cm4gVG87Y2FzZVxuMjY6cmV0dXJuIFRwO2Nhc2VcbjI3OnJldHVybiBUcTtjYXNlXG4yODpyZXR1cm4gVHI7Y2FzZVxuMjk6cmV0dXJuIFRzO2Nhc2VcbjMwOnJldHVybiBKKFR1LFR0KTtjYXNlXG4zMTpyZXR1cm4gVHY7Y2FzZVxuMzI6cmV0dXJuIFR3O2Nhc2VcbjMzOnJldHVybiBUeDtjYXNlXG4zNDpyZXR1cm4gVHk7Y2FzZVxuMzU6cmV0dXJuIFR6O2Nhc2VcbjM2OnJldHVybiBUQTtjYXNlXG4zNzpyZXR1cm4gVEI7Y2FzZVxuMzg6cmV0dXJuIFRDO2Nhc2VcbjM5OnJldHVybiBURDtjYXNlXG40MDpyZXR1cm4gVEU7Y2FzZVxuNDE6cmV0dXJuIFRGO2Nhc2VcbjQyOnJldHVybiBURztjYXNlXG40MzpyZXR1cm4gVEg7Y2FzZVxuNDQ6cmV0dXJuIFRJO2Nhc2VcbjQ1OnJldHVybiBUSjtjYXNlXG40NjpyZXR1cm4gVEs7Y2FzZVxuNDc6cmV0dXJuIFRMO2Nhc2VcbjQ4OnJldHVybiBUTTtjYXNlXG40OTpyZXR1cm4gVE47Y2FzZVxuNTA6cmV0dXJuIFRPO2Nhc2VcbjUxOnJldHVybiBUUDtjYXNlXG41MjpyZXR1cm4gVFE7Y2FzZVxuNTM6cmV0dXJuIFRSO2Nhc2VcbjU0OnJldHVybiBUUztjYXNlXG41NTpyZXR1cm4gVFQ7ZGVmYXVsdDpyZXR1cm4gVFV9fXN3aXRjaChhWzBdKXtjYXNlXG4wOnZhclxudz1hWzFdO3JldHVybiBpKFIoVU8pLHcpO2Nhc2VcbjE6dmFyXG54PWFbMV07cmV0dXJuIGkoUihVUCkseCk7Y2FzZVxuMjp2YXJcbnk9YVsyXSxBPWFbMV07cmV0dXJuIGooUihVUSkseSxBKTtjYXNlXG4zOnZhclxubT1hWzJdLEI9YVsxXTtyZXR1cm4geihSKFVSKSxtLG0sQik7Y2FzZVxuNDp2YXJcbkM9YVsyXSxEPWFbMV07cmV0dXJuIGooUihVUyksQyxEKTtjYXNlXG41OnZhclxuRT1hWzFdO3JldHVybiBpKFIoVVQpLEUpO2Nhc2VcbjY6cmV0dXJuIGFbMV0/VVU6VVY7Y2FzZVxuNzp2YXJcbm49YVsyXSxGPWFbMV0sbz1pKFIoVVcpLEYpO2lmKCFuKXJldHVybiBpKFIoVVkpLG8pO3ZhclxuRz1uWzFdO3JldHVybiBqKFIoVVgpLEcsbyk7Y2FzZVxuODp2YXJcbnA9YVsxXTtyZXR1cm4gaihSKFVaKSxwLHApO2Nhc2Vcbjk6dmFyXG5kPWFbM10scT1hWzJdLGU9YVsxXTtpZighcSlyZXR1cm4gaihSKFUyKSxkLGUpO3Zhclxucj1xWzFdO2lmKDM9PT1yKXJldHVybiBqKFIoVTApLGQsZSk7c3dpdGNoKHIpe2Nhc2VcbjA6dmFyXG5iPVJEO2JyZWFrO2Nhc2VcbjE6dmFyXG5iPVJFO2JyZWFrO2Nhc2VcbjI6dmFyXG5iPVJGO2JyZWFrO2Nhc2VcbjM6dmFyXG5iPVJHO2JyZWFrO2RlZmF1bHQ6dmFyXG5iPVJIfXJldHVybiBzOChSKFUxKSxlLGIsZCxiKTtjYXNlXG4xMDp2YXJcbnM9YVsyXSxIPWFbMV0sST1FNChzKTtyZXR1cm4geihSKFUzKSxzLEksSCk7Y2FzZVxuMTE6dmFyXG5LPWFbMl0sTD1hWzFdO3JldHVybiBqKFIoVTQpLEssTCk7Y2FzZVxuMTI6dmFyXG5NPWFbMV07cmV0dXJuIGkoUihVNSksTSk7Y2FzZVxuMTM6dmFyXG5OPWFbMV07cmV0dXJuIGkoUihVNiksTik7Y2FzZVxuMTQ6cmV0dXJuIGFbMV0/SihVOCxVNyk6SihVXyxVOSk7Y2FzZVxuMTU6dmFyXG50PWFbMV0sTz1hWzRdLFA9YVszXSxRPWFbMl0/VSQ6VmUsUz1QP1ZhOlZkLFQ9Tz9KKFZiLHQpOnQ7cmV0dXJuIHooUihWYyksUSxTLFQpO2Nhc2VcbjE2OnJldHVybiBWZjtjYXNlXG4xNzp2YXJcbmY9YVsyXSxVPWFbMV0sYz1FNig0NSxmKTtpZihjKXZhclxubD1jWzFdLHU9Y1syXT9FMyhTVixbMCxsLGNJKEU0LGNbMl0pXSk6bDtlbHNlXG52YXJcbnU9Zjt2YXJcblY9VT9WZzpWaTtyZXR1cm4geihSKFZoKSxmLHUsVik7Y2FzZVxuMTg6dmFyXG5XPWFbMV0/Vmo6Vmw7cmV0dXJuIGkoUihWayksVyk7Y2FzZVxuMTk6dmFyXG5YPWFbMV07cmV0dXJuIGkoUihWbSksWCk7Y2FzZVxuMjA6dmFyXG5ZPWxMPD1hWzFdP1ZuOlZwO3JldHVybiBpKFIoVm8pLFkpO2Nhc2VcbjIxOnZhclxuWj1hWzFdO3JldHVybiBpKFIoVnEpLFopO2Nhc2VcbjIyOnZhclxuXz1hWzFdO3JldHVybiBpKFIoVnIpLF8pO2Nhc2VcbjIzOnZhclxuJD1hWzJdLGFhPWFbMV07cmV0dXJuIGooUihWcyksYWEsJCk7Y2FzZVxuMjQ6dmFyXG52PWFbMV07aWYobEc9PT12KXZhclxuaD1WdCxnPVZ1O2Vsc2UgaWYobEo8PXYpdmFyXG5oPVZ3LGc9Vng7ZWxzZVxudmFyXG5oPVZ5LGc9Vno7cmV0dXJuIGooUihWdiksZyxoKTtjYXNlXG4yNTp2YXJcbmFiPWFbMV07cmV0dXJuIGkoUihWQSksYWIpO2Nhc2VcbjI2OnZhclxuYWM9YVsxXTtyZXR1cm4gaShSKFZCKSxhYyk7Y2FzZVxuMjc6dmFyXG5hZD1hWzJdLGFlPWFbMV07cmV0dXJuIGooUihWQyksYWUsYWQpO2Nhc2VcbjI4OnZhclxuYWY9YVsyXSxhZz1hWzFdO3JldHVybiBqKFIoVkQpLGFnLGFmKTtkZWZhdWx0OnZhclxuYWg9YVsxXTtyZXR1cm4gaShSKFZFKSxhaCl9fWZ1bmN0aW9uXG5hZW8oYSxiKXt2YXJcbmM9YVsyXTtmdW5jdGlvblxuZShhKXtyZXR1cm4gYTQoYSxiKX12YXJcblQ9YVsxXTtzd2l0Y2goY1swXSl7Y2FzZVxuMDp2YXJcbk89Y1sxXSxVPW1wKE9bMl0sYiksZD1bMCxbMCxPWzFdLFVdXTticmVhaztjYXNlXG4xOnZhclxuUD1jWzFdLFY9ZShQWzJdKSxkPVsxLFswLFBbMV0sVl1dO2JyZWFrO2Nhc2VcbjI6dmFyXG5nPWNbMV0sVz1lKGdbN10pLGQ9WzIsWzAsZ1sxXSxnWzJdLGdbM10sZ1s0XSxnWzVdLGdbNl0sV11dO2JyZWFrO2Nhc2VcbjM6dmFyXG5oPWNbMV0sWD1oWzddLFk9ZShoWzZdKSxkPVszLFswLGhbMV0saFsyXSxoWzNdLGhbNF0saFs1XSxZLFhdXTticmVhaztjYXNlXG40OnZhclxuUT1jWzFdLFo9ZShRWzJdKSxkPVs0LFswLFFbMV0sWl1dO2JyZWFrO2Nhc2VcbjU6dmFyXG5kPVs1LFswLGUoY1sxXVsxXSldXTticmVhaztjYXNlXG42OnZhclxuaT1jWzFdLF89ZShpWzddKSxkPVs2LFswLGlbMV0saVsyXSxpWzNdLGlbNF0saVs1XSxpWzZdLF9dXTticmVhaztjYXNlXG43OnZhclxuaj1jWzFdLCQ9ZShqWzVdKSxkPVs3LFswLGpbMV0salsyXSxqWzNdLGpbNF0sJF1dO2JyZWFrO2Nhc2Vcbjg6dmFyXG5CPWNbMV0sYWE9ZShCWzNdKSxkPVs4LFswLEJbMV0sQlsyXSxhYV1dO2JyZWFrO2Nhc2Vcbjk6dmFyXG5rPWNbMV0sYWI9ZShrWzVdKSxkPVs5LFswLGtbMV0sa1syXSxrWzNdLGtbNF0sYWJdXTticmVhaztjYXNlXG4xMDp2YXJcbnU9Y1sxXSxhYz1lKHVbNF0pLGQ9WzEwLFswLHVbMV0sdVsyXSx1WzNdLGFjXV07YnJlYWs7Y2FzZVxuMTE6dmFyXG5sPWNbMV0sYWQ9ZShsWzVdKSxkPVsxMSxbMCxsWzFdLGxbMl0sbFszXSxsWzRdLGFkXV07YnJlYWs7Y2FzZVxuMTI6dmFyXG5DPWNbMV0sYWU9ZShDWzNdKSxkPVsxMixbMCxDWzFdLENbMl0sYWVdXTticmVhaztjYXNlXG4xMzp2YXJcblI9Y1sxXSxhZj1lKFJbMl0pLGQ9WzEzLFswLFJbMV0sYWZdXTticmVhaztjYXNlXG4xNDp2YXJcbkQ9Y1sxXSxhZz1lKERbM10pLGQ9WzE0LFswLERbMV0sRFsyXSxhZ11dO2JyZWFrO2Nhc2VcbjE1OnZhclxudj1jWzFdLGFoPWUodls0XSksZD1bMTUsWzAsdlsxXSx2WzJdLHZbM10sYWhdXTticmVhaztjYXNlXG4xNjp2YXJcbm09Y1sxXSxhaT1lKG1bNV0pLGQ9WzE2LFswLG1bMV0sbVsyXSxtWzNdLG1bNF0sYWldXTticmVhaztjYXNlXG4xNzp2YXJcbnc9Y1sxXSxhaj1lKHdbNF0pLGQ9WzE3LFswLHdbMV0sd1syXSx3WzNdLGFqXV07YnJlYWs7Y2FzZVxuMTg6dmFyXG5FPWNbMV0sYWs9ZShFWzNdKSxkPVsxOCxbMCxFWzFdLEVbMl0sYWtdXTticmVhaztjYXNlXG4xOTp2YXJcbmQ9WzE5LFswLGUoY1sxXVsxXSldXTticmVhaztjYXNlXG4yMDp2YXJcbkY9Y1sxXSxhbD1lKEZbM10pLGQ9WzIwLFswLEZbMV0sRlsyXSxhbF1dO2JyZWFrO2Nhc2VcbjIxOnZhclxuRz1jWzFdLGFtPWUoR1szXSksZD1bMjEsWzAsR1sxXSxHWzJdLGFtXV07YnJlYWs7Y2FzZVxuMjI6dmFyXG5uPWNbMV0sYW49ZShuWzVdKSxkPVsyMixbMCxuWzFdLG5bMl0sblszXSxuWzRdLGFuXV07YnJlYWs7Y2FzZVxuMjM6dmFyXG5IPWNbMV0sYW89ZShIWzNdKSxkPVsyMyxbMCxIWzFdLEhbMl0sYW9dXTticmVhaztjYXNlXG4yNDp2YXJcbm89Y1sxXSxhcD1lKG9bNV0pLGQ9WzI0LFswLG9bMV0sb1syXSxvWzNdLG9bNF0sYXBdXTticmVhaztjYXNlXG4yNTp2YXJcbnA9Y1sxXSxhcT1lKHBbNV0pLGQ9WzI1LFswLHBbMV0scFsyXSxwWzNdLHBbNF0sYXFdXTticmVhaztjYXNlXG4yNjp2YXJcbnE9Y1sxXSxhcj1lKHFbNV0pLGQ9WzI2LFswLHFbMV0scVsyXSxxWzNdLHFbNF0sYXJdXTticmVhaztjYXNlXG4yNzp2YXJcbmY9Y1sxXSxhcz1mWzExXSxhdD1lKGZbMTBdKSxkPVsyNyxbMCxmWzFdLGZbMl0sZlszXSxmWzRdLGZbNV0sZls2XSxmWzddLGZbOF0sZls5XSxhdCxhc11dO2JyZWFrO2Nhc2VcbjI4OnZhclxueD1jWzFdLGF1PWUoeFs0XSksZD1bMjgsWzAseFsxXSx4WzJdLHhbM10sYXVdXTticmVhaztjYXNlXG4yOTp2YXJcbnI9Y1sxXSxhdj1lKHJbNV0pLGQ9WzI5LFswLHJbMV0sclsyXSxyWzNdLHJbNF0sYXZdXTticmVhaztjYXNlXG4zMDp2YXJcbnM9Y1sxXSxhdz1lKHNbNV0pLGQ9WzMwLFswLHNbMV0sc1syXSxzWzNdLHNbNF0sYXddXTticmVhaztjYXNlXG4zMTp2YXJcbkk9Y1sxXSxheD1lKElbM10pLGQ9WzMxLFswLElbMV0sSVsyXSxheF1dO2JyZWFrO2Nhc2VcbjMyOnZhclxuSj1jWzFdLGF5PWUoSlszXSksZD1bMzIsWzAsSlsxXSxKWzJdLGF5XV07YnJlYWs7Y2FzZVxuMzM6dmFyXG5LPWNbMV0sYXo9S1szXSxhQT1lKEtbMl0pLGQ9WzMzLFswLEtbMV0sYUEsYXpdXTticmVhaztjYXNlXG4zNDp2YXJcbnk9Y1sxXSxhQj15WzRdLGFDPWUoeVszXSksZD1bMzQsWzAseVsxXSx5WzJdLGFDLGFCXV07YnJlYWs7Y2FzZVxuMzU6dmFyXG5TPWNbMV0sYUQ9ZShTWzJdKSxkPVszNSxbMCxTWzFdLGFEXV07YnJlYWs7Y2FzZVxuMzY6dmFyXG56PWNbMV0sYUU9ZSh6WzRdKSxkPVszNixbMCx6WzFdLHpbMl0selszXSxhRV1dO2JyZWFrO2Nhc2VcbjM3OnZhclxuQT1jWzFdLGFGPWUoQVs0XSksZD1bMzcsWzAsQVsxXSxBWzJdLEFbM10sYUZdXTticmVhaztjYXNlXG4zODp2YXJcbnQ9Y1sxXSxhRz1lKHRbNV0pLGQ9WzM4LFswLHRbMV0sdFsyXSx0WzNdLHRbNF0sYUddXTticmVhaztjYXNlXG4zOTp2YXJcbkw9Y1sxXSxhSD1lKExbM10pLGQ9WzM5LFswLExbMV0sTFsyXSxhSF1dO2JyZWFrO2Nhc2VcbjQwOnZhclxuTT1jWzFdLGFJPWUoTVszXSksZD1bNDAsWzAsTVsxXSxNWzJdLGFJXV07YnJlYWs7ZGVmYXVsdDp2YXJcbk49Y1sxXSxhSj1lKE5bM10pLGQ9WzQxLFswLE5bMV0sTlsyXSxhSl1dfXJldHVyblswLFQsZF19dmFyXG5Saz1qeihzMyk9PT1haD9zMzpzM1sxXTtFTCh0UyxSayk7dmFyXG5oUz1hZSxhOT1udWxsLEphPXVuZGVmaW5lZDtmdW5jdGlvblxubnUoYSl7cmV0dXJuIDEtKGE9PT1KYT8xOjApfWhTLlN0cmluZztoUy5SZWdFeHA7aFMuT2JqZWN0O2hTLkRhdGU7aFMuTWF0aDtmdW5jdGlvblxuYXd1KGEpe3Rocm93IGF9ZnVuY3Rpb25cbkpiKGEpe3JldHVybiBpKGF3dSxhKX1oUy5KU09OO3ZhclxuYXd2PWhTLkFycmF5LGF3dz1oUy5FcnJvcjtyQShmdW5jdGlvbihhKXtyZXR1cm4gYVsxXT09PXMyP1swLGNsKGFbMl0udG9TdHJpbmcoKSldOjB9KTtyQShmdW5jdGlvbihhKXtyZXR1cm4gYVxuaW5zdGFuY2VvZlxuYXd2PzA6WzAsY2woYS50b1N0cmluZygpKV19KTt2YXJcbkpjPVswLDBdO2Z1bmN0aW9uXG5jUyhhKXtyZXR1cm4gYXhsKGtFKGEpKX1mdW5jdGlvblxuYUcoYSl7cmV0dXJuIE56KGtFKGEpKX1mdW5jdGlvblxuVShhLGIpe3JldHVybiBhRyhCKGw4KGEsYikpKX1mdW5jdGlvblxuRChhLGIpe3JldHVybiBiP2koYSxiWzFdKTphOX1mdW5jdGlvblxuajAoYSxiKXtyZXR1cm4gMD09PWJbMF0/YTk6YShiWzFdKX1mdW5jdGlvblxuSV8oYSl7cmV0dXJuIGNTKFswLFswLGFrcSxhWzFdXSxbMCxbMCxha3AsYVsyXV0sMF1dKX1mdW5jdGlvblxuSSQoYSl7dmFyXG5iPWFbMV0sYz1iP00oYlsxXVsxXSk6YTksZD1bMCxbMCxha3IsSV8oYVszXSldLDBdO3JldHVybiBjUyhbMCxbMCxha3QsY10sWzAsWzAsYWtzLElfKGFbMl0pXSxkXV0pfWZ1bmN0aW9uXG5hbyhhKXtpZighYSlyZXR1cm4gMDt2YXJcbmI9YVsxXSxjPWJbMV07cmV0dXJuIHAoWzAsY10sWzAsSShiWzNdLGJbMl0pXSxsKX12YXJcbmF3eD1NO2Z1bmN0aW9uXG5qMShhLGIsYyl7dmFyXG5kPWJbY107cmV0dXJuIG51KGQpP2R8MDphfWZ1bmN0aW9uXG5hd0UoYSxiKXt2YXJcbnM9a3QoYixKYSk/e306YixheT1jbChhKSxjZT1qMShqUFs2XSxzLGF3eSksY2Y9ajEoalBbNV0scyxhd3opLGNnPWoxKGpQWzRdLHMsYXdBKSxjaD1qMShqUFszXSxzLGF3QiksY2o9ajEoalBbMl0scyxhd0MpLGF4PVswLGoxKGpQWzFdLHMsYXdEKSxjaixjaCxjZyxjZixjZSwwLDBdLGJ6PXNbSl9dLGJBPW51KGJ6KSxiQj1iQT9ienwwOmJBLGJDPXNbTmJdLGNrPW51KGJDKT9iQ3wwOjEsYkQ9c1tcImFsbF9jb21tZW50c1wiXSxjbT1udShiRCk/YkR8MDoxLGF6PVswLDBdLGNuPWJCP1swLGZ1bmN0aW9uKGEpe2F6WzFdPVswLGEsYXpbMV1dO3JldHVybiAwfV06MCxhZj0wLGJRPWF3RlsxXTt0cnl7dmFyXG5iSD0wLGJJPUY4KGF5KSxhST1iSCxhSD1iSX1jYXRjaChmKXt2YXJcbmFGPWFDKGYpO2lmKGFGIT09aWQpdGhyb3cgeChhRiwwKTt2YXJcbmJGPVswLFswLFswLGFmLGpLWzJdLGpLWzNdXSw0OF0sMF0sYUk9YkYsYUg9RjgoYWQ2KX12YXJcbmFFPVswLGFmLGFILFZILDAsYXhbNV0sR2ksVkddLGJHPVswLGtWKGFFLDApXSxhSj1bMCxbMCxhSV0sWzAsMF0sYTdbMV0sWzAsMF0sYXhbNl0sMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsWzAsYWQ4XSxbMCxhRV0sYkcsWzAsY25dLGF4LGFmLFswLDBdLFswLGFkN11dLGFMPWkodlsxXSxhSiksYk49QihhSlsxXVsxXSksVj1CKGFWKGZ1bmN0aW9uKGEsYil7dmFyXG5kPWFbMl0sYz1hWzFdO3JldHVybiBzWVszXS5jYWxsKG51bGwsYixjKT9bMCxjLGRdOlswLHNZWzRdLmNhbGwobnVsbCxiLGMpLFswLGIsZF1dfSxbMCxzWVsxXSwwXSxiTilbMl0pO2lmKFYpe3ZhclxuYk89VlsyXSxiUD1WWzFdO2lmKGJRKXRocm93IHgoWzAsU1ksYlAsYk9dLDEpfUpjWzFdPTA7dmFyXG5hRD1HKGF5KS0wfDAsbj1jaShheSk7YTp7Yjp7dmFyXG56PTAsZD0wO2Zvcig7Oyl7aWYoZD09PWFEKWJyZWFrIGI7dmFyXG50PWJ4KG4sZCk7Yzp7aWYoMDw9dCYmYWI+PXQpe3ZhclxudT0xO2JyZWFrIGN9aWYoQkU8PXQmJm5VPj10KXt2YXJcbnU9MjticmVhayBjfWlmKGokPD10JiZBJD49dCl7dmFyXG51PTM7YnJlYWsgY31pZihrZDw9dCYmamQ+PXQpe3ZhclxudT00O2JyZWFrIGN9dmFyXG51PTB9aWYoMD09PXUpdmFyXG56PXN3KHosZCwwKSxkPWQrMXwwO2Vsc2V7aWYoKGFELWR8MCk8dSlicmVhazt2YXJcbmFCPXUtMXwwLGJFPWQrdXwwO2lmKDM8YUI+Pj4wKXRocm93IHgoWzAsWSxSel0sMSk7c3dpdGNoKGFCKXtjYXNlXG4wOnZhclxuUT1ieChuLGQpO2JyZWFrO2Nhc2VcbjE6dmFyXG5RPShieChuLGQpJjMxKTw8NnxieChuLGQrMXwwKSY2MzticmVhaztjYXNlXG4yOnZhclxuUT0oYngobixkKSYxNSk8PDEyfChieChuLGQrMXwwKSY2Myk8PDZ8YngobixkKzJ8MCkmNjM7YnJlYWs7ZGVmYXVsdDp2YXJcblE9KGJ4KG4sZCkmNyk8PDE4fChieChuLGQrMXwwKSY2Myk8PDEyfChieChuLGQrMnwwKSY2Myk8PDZ8YngobixkKzN8MCkmNjN9dmFyXG56PXN3KHosZCxbMCxRXSksZD1iRX19dmFyXG5hSz1zdyh6LGQsMCk7YnJlYWsgYX12YXJcbmFLPXp9dmFyXG5BPWFnYix3PUIoWzAsNixhS10pO2Zvcig7Oyl7dmFyXG5SPUFbM10sYWQ9QVsyXSxDPUFbMV07aWYoIXcpYnJlYWs7dmFyXG5TPXdbMV07aWYoNT09PVMpe3ZhclxuYWU9d1syXTtpZihhZSYmNj09PWFlWzFdKXt2YXJcbmJKPWFlWzJdLEE9WzAsQysyfDAsMCxbMCxrRShCKFswLEMsYWRdKSksUl1dLHc9Yko7Y29udGludWV9fWVsc2UgaWYoNj5TKXt2YXJcbmJNPXdbMl0sQT1bMCxDK0hTKFMpfDAsWzAsQyxhZF0sUl0sdz1iTTtjb250aW51ZX12YXJcbmJLPXdbMl0sYkw9WzAsa0UoQihbMCxDLGFkXSkpLFJdLEE9WzAsQytIUyhTKXwwLDAsYkxdLHc9Ykt9dmFyXG5UPWtFKEIoUikpO2lmKGNrKXZhclxuYWM9YUw7ZWxzZVxudmFyXG5ieT1pKGF3c1sxXSwwKSxhYz1qKEwoYnksLTIwMTc2NjI2OCxiVCksYnksYUwpO2lmKGNtKXZhclxuYUE9YWM7ZWxzZVxudmFyXG5hdz1hY1syXSxhQT1bMCxhY1sxXSxbMCxhd1sxXSxhd1syXSxhd1szXSwwXV07ZnVuY3Rpb25cbmYoYSxiLGMsZCl7dmFyXG5sPVswLG05KFQsYlszXSksMF0sbT1bMCxbMCxha3csYUcoWzAsbTkoVCxiWzJdKSxsXSldLDBdLG49SShtLFswLFswLGFreCxJJChiKV0sMF0pO2lmKGMpe3ZhclxuZT1jWzFdLGY9ZVsxXTtpZihmKXt2YXJcbmc9ZVsyXTtpZihnKXZhclxubz1bMCxbMCxha3ksUChnKV0sMF0saD1bMCxbMCxha3osUChmKV0sb107ZWxzZVxudmFyXG5oPVswLFswLGFrQixQKGYpXSwwXTt2YXJcbmk9aH1lbHNlXG52YXJcbms9ZVsyXSxwPWs/WzAsWzAsYWtDLFAoayldLDBdOjAsaT1wO3Zhclxuaj1pfWVsc2VcbnZhclxuaj0wO3JldHVybiBjUyhqQShJKG4sSShqLFswLFswLGFrQSxNKGEpXSwwXSkpLGQpKX1mdW5jdGlvblxuYU0oYSl7cmV0dXJuIFUoZSxhKX1mdW5jdGlvblxuZShhKXt2YXJcbmQ9YVsyXSxiPWFbMV07c3dpdGNoKGRbMF0pe2Nhc2VcbjA6cmV0dXJuIG8oWzAsYixkWzFdXSk7Y2FzZVxuMTp2YXJcbmFkPWRbMV0sYTE9YWRbMl07cmV0dXJuIGYoYWtLLGIsYTEsWzAsWzAsYWtKLEQoZyxhZFsxXSldLDBdKTtjYXNlXG4yOnJldHVybiBhMChhcEgsWzAsYixkWzFdXSk7Y2FzZVxuMzp2YXJcbnA9ZFsxXSxhTD1wWzNdLGNNPXBbNl0sY049cFs1XSxjTz1wWzRdLGNQPXBbMl0sY1E9cFsxXSxjUj1hNChhbyhhTFsyXVszXSksY00pLGNTPVswLFswLGFxcCxEKG0sY1ApXSwwXSxjVD1bMCxbMCxhcXEsYXMoY08pXSxjU10sYU49YUxbMl0sYU89YU5bMl0sYVA9YU5bMV07aWYoYU8pdmFyXG5hVT1hT1sxXSxhVj1hVVsyXSxjVj1hVlsyXSxjVz1hVVsxXSxjWD1mKGFxdyxjVyxjVixbMCxbMCxhcXYsbChhVlsxXSldLDBdKSxhTT1hRyhCKFswLGNYLGw4KGEzLGFQKV0pKTtlbHNlXG52YXJcbmFNPWFHKGNJKGEzLGFQKSk7dmFyXG5jVT1bMCxbMCxhcXMsZyhjUSldLFswLFswLGFxcixhTV0sY1RdXTtyZXR1cm4gZihhcXUsYixjUixbMCxbMCxhcXQsbyhjTildLGNVXSk7Y2FzZVxuNDp2YXJcbmFlPWRbMV0sYTI9YWVbMl07cmV0dXJuIGYoYWtNLGIsYTIsWzAsWzAsYWtMLEQoZyxhZVsxXSldLDBdKTtjYXNlXG41OnJldHVybiBmKGFrTixiLGRbMV1bMV0sMCk7Y2FzZVxuNjpyZXR1cm4gYVMoWzAsYixkWzFdXSk7Y2FzZVxuNzpyZXR1cm4gYVQoWzAsYixkWzFdXSk7Y2FzZVxuODpyZXR1cm4gYVgoWzAsYixkWzFdXSk7Y2FzZVxuOTp2YXJcbnI9ZFsxXSxhZj1yWzVdLGFnPXJbNF0sQz1yWzNdLGFoPXJbMl0sYTc9clsxXTtpZihDKXt2YXJcbmFpPUNbMV07aWYoMCE9PWFpWzBdJiYhYWlbMV1bMl0pcmV0dXJuIGYoYWtVLGIsYWYsWzAsWzAsYWtULEQoayxhZyldLDBdKX1pZihhaCl7dmFyXG5pPWFoWzFdO3N3aXRjaChpWzBdKXtjYXNlXG4wOnZhclxubj1hUShpWzFdKTticmVhaztjYXNlXG4xOnZhclxubj1hUihpWzFdKTticmVhaztjYXNlXG4yOnZhclxubj1hUyhpWzFdKTticmVhaztjYXNlXG4zOnZhclxubj1hVChpWzFdKTticmVhaztjYXNlXG40OnZhclxubj1oKGlbMV0pO2JyZWFrO2Nhc2VcbjU6dmFyXG5uPWFaKGlbMV0pO2JyZWFrO2Nhc2VcbjY6dmFyXG5uPWFsKDEsaVsxXSk7YnJlYWs7Y2FzZVxuNzp2YXJcbm49YTYoaVsxXSk7YnJlYWs7ZGVmYXVsdDp2YXJcbm49YVgoaVsxXSl9dmFyXG5haj1ufWVsc2VcbnZhclxuYWo9YTk7dmFyXG5hOD1bMCxbMCxha08sRChrLGFnKV0sMF0sYV89WzAsWzAsYWtRLGFqXSxbMCxbMCxha1AsYVkoQyldLGE4XV0sYSQ9YTc/MTowO3JldHVybiBmKGFrUyxiLGFmLFswLFswLGFrUiwhIWEkXSxhX10pO2Nhc2VcbjEwOnJldHVybiBhUihbMCxiLGRbMV1dKTtjYXNlXG4xMTp2YXJcbnM9ZFsxXSxjej1zWzVdLGNBPXNbNF0sY0I9c1syXSxjQz1zWzFdLGNEPVswLFswLGFwayxVKEssc1szXSldLDBdLGNFPVswLFswLGFwbCxOKDAsY0EpXSxjRF0sY0Y9WzAsWzAsYXBtLEQobSxjQildLGNFXTtyZXR1cm4gZihhcG8sYixjeixbMCxbMCxhcG4sZyhjQyldLGNGXSk7Y2FzZVxuMTI6dmFyXG5GPWRbMV0sRz1GWzFdLGJhPUZbM10sYmI9RlsyXSxiYz0wPT09R1swXT9nKEdbMV0pOmsoR1sxXSk7cmV0dXJuIGYoYWtYLGIsYmEsWzAsWzAsYWtXLGJjXSxbMCxbMCxha1YsbyhiYildLDBdXSk7Y2FzZVxuMTM6dmFyXG5hcD1kWzFdLGJkPWFwWzJdO3JldHVybiBmKGFrWixiLGJkLFswLFswLGFrWSxxKGFwWzFdKV0sMF0pO2Nhc2VcbjE0OnZhclxuSD1kWzFdLGJlPUhbM10sYmY9SFsyXSxiZz1nKEhbMV0pO3JldHVybiBmKGFrMixiLGJlLFswLFswLGFrMSxiZ10sWzAsWzAsYWswLG8oYmYpXSwwXV0pO2Nhc2VcbjE1OnZhclxueT1kWzFdLGNHPXlbNF0sY0g9eVsyXSxjSj15WzFdLGNLPVswLFswLGFwdCxoKHlbM10pXSwwXSxjTD1bMCxbMCxhcHUsRChtLGNIKV0sY0tdO3JldHVybiBmKGFwdyxiLGNHLFswLFswLGFwdixnKGNKKV0sY0xdKTtjYXNlXG4xNjpyZXR1cm4gYWwoMSxbMCxiLGRbMV1dKTtjYXNlXG4xNzpyZXR1cm4gYVEoWzAsYixkWzFdXSk7Y2FzZVxuMTg6dmFyXG5KPWRbMV0sYmg9SlszXSxiaT1KWzFdLGJqPVswLFswLGFrMyxjKEpbMl0pXSwwXTtyZXR1cm4gZihhazUsYixiaCxbMCxbMCxhazQsZShiaSldLGJqXSk7Y2FzZVxuMTk6cmV0dXJuIGYoYWs2LGIsZFsxXVsxXSwwKTtjYXNlXG4yMDp2YXJcbkw9ZFsxXSxjWT1MWzNdLGNaPUxbMV0sYzA9WzAsWzAsYXJiLGE1KExbMl0pXSwwXTtyZXR1cm4gZihhcmQsYixjWSxbMCxbMCxhcmMsZyhjWildLGMwXSk7Y2FzZVxuMjE6dmFyXG5hcT1kWzFdLE89YXFbMl0sYms9YXFbM10sYmw9MD09PU9bMF0/ZShPWzFdKTpjKE9bMV0pO3JldHVybiBmKGFrOSxiLGJrLFswLFswLGFrOCxibF0sWzAsWzAsYWs3LE0oYWsoMSkpXSwwXV0pO2Nhc2VcbjIyOnZhclxudD1kWzFdLGFyPXRbNV0sYXQ9dFs0XSxhdT10WzNdLFA9dFsyXSxibT10WzFdO2lmKFApe3ZhclxuYXY9UFsxXTtpZigwIT09YXZbMF0pe3ZhclxuYnE9YXZbMV1bMl0sYnI9WzAsWzAsYWxkLE0oYWsoYXQpKV0sMF0sYnM9WzAsWzAsYWxlLEQoZyxicSldLGJyXTtyZXR1cm4gZihhbGcsYixhcixbMCxbMCxhbGYsRChrLGF1KV0sYnNdKX19dmFyXG5ibj1bMCxbMCxha18sTShhayhhdCkpXSwwXSxibz1bMCxbMCxhayQsRChrLGF1KV0sYm5dLGJwPVswLFswLGFsYSxhWShQKV0sYm9dO3JldHVybiBmKGFsYyxiLGFyLFswLFswLGFsYixEKGUsYm0pXSxicF0pO2Nhc2VcbjIzOnZhclxuUT1kWzFdLGJ0PVFbM10sYnU9UVsxXSxidj1bMCxbMCxhbGgsRChhd3gsUVsyXSldLDBdO3JldHVybiBmKGFsaixiLGJ0LFswLFswLGFsaSxjKGJ1KV0sYnZdKTtjYXNlXG4yNDp2YXJcbnU9ZFsxXSxidz11WzVdLGJ4PXVbM10sYnk9dVsyXSxiej11WzFdLGJBPVswLFswLGFsayxlKHVbNF0pXSwwXSxiQj1bMCxbMCxhbGwsRChjLGJ4KV0sYkFdLGJDPVswLFswLGFsbSxEKGMsYnkpXSxiQl07cmV0dXJuIGYoYWxvLGIsYncsWzAsWzAsYWxuLEQoZnVuY3Rpb24oYSl7cmV0dXJuIDA9PT1hWzBdP1goYVsxXSk6YyhhWzFdKX0sYnopXSxiQ10pO2Nhc2VcbjI1OnZhclxudj1kWzFdLFI9dlsxXSxiRD12WzVdLGJFPXZbNF0sYkY9dlszXSxiRz12WzJdLGJIPTA9PT1SWzBdP1goUlsxXSk6bChSWzFdKSxiST1bMCxbMCxhbHEsZShiRildLFswLFswLGFscCwhIWJFXSwwXV07cmV0dXJuIGYoYWx0LGIsYkQsWzAsWzAsYWxzLGJIXSxbMCxbMCxhbHIsYyhiRyldLGJJXV0pO2Nhc2VcbjI2OnZhclxudz1kWzFdLFM9d1sxXSxiSj13WzVdLGJLPXdbNF0sYkw9d1szXSxiTT13WzJdLGJOPTA9PT1TWzBdP1goU1sxXSk6bChTWzFdKSxiTz1bMCxbMCxhbHYsZShiTCldLFswLFswLGFsdSwhIWJLXSwwXV07cmV0dXJuIGYoYWx5LGIsYkosWzAsWzAsYWx4LGJOXSxbMCxbMCxhbHcsYyhiTSldLGJPXV0pO2Nhc2VcbjI3OnZhclxuaj1kWzFdLGFIPWpbM10sYUk9alsyXSxjaz1qWzEwXSxjbD1qWzldLGNtPWpbOF0sY249als3XSxjbz1qWzZdLGNwPWpbNV0sY3E9als0XSxjcj1hSVsyXVs0XSxjcz1qWzFdLGN0PTA9PT1hSFswXT9hSFsxXTpFKGFvaiksY3U9YTQoYW8oY3IpLGNrKTtpZigwPT09Y28pdmFyXG5hSz0wLGFKPWFuXztlbHNlXG52YXJcbmFLPVswLFswLGFvaCwhIWNxXSxbMCxbMCxhb2csISFjcF0sWzAsWzAsYW9mLEQoXyxjbildLFswLFswLGFvZSwhITBdLDBdXV1dLGFKPWFvaTt2YXJcbmN2PVswLFswLGFuJCxEKG0sY2wpXSwwXSxjdz1bMCxbMCxhb2EsYW4oY20pXSxjdl0sY3g9WzAsWzAsYW9iLG8oY3QpXSxjd10sY3k9WzAsWzAsYW9jLGFtKGFJKV0sY3hdO3JldHVybiBmKGFKLGIsY3UsSShbMCxbMCxhb2QsRChnLGNzKV0sY3ldLGFLKSk7Y2FzZVxuMjg6dmFyXG56PWRbMV0sYXc9elszXSxiUD16WzRdLGJRPXpbMl0sYlI9elsxXTtpZihhdyl2YXJcbmF4PWF3WzFdWzJdLGF5PWUoYWVvKGF4WzFdLGF4WzJdKSk7ZWxzZVxudmFyXG5heT1hOTt2YXJcbmJUPVswLFswLGFsQSxlKGJRKV0sWzAsWzAsYWx6LGF5XSwwXV07cmV0dXJuIGYoYWxDLGIsYlAsWzAsWzAsYWxCLGMoYlIpXSxiVF0pO2Nhc2VcbjI5OnZhclxueD1kWzFdLGF6PXhbNF0sYUE9eFszXSxiVz14WzVdLGJYPXhbMl0sYlk9eFsxXTtpZihheil7dmFyXG5UPWF6WzFdO2lmKDA9PT1UWzBdKXZhclxuYUI9Y0koZnVuY3Rpb24oYSl7dmFyXG5iPWFbM10sYz1hWzJdLGQ9YVsxXSxpPWM/JChiWzFdLGNbMV1bMV0pOmJbMV0saj1jP2NbMV06YjthOntiOnt2YXJcbms9MDtpZihkKXtzd2l0Y2goZFsxXSl7Y2FzZVxuMDp2YXJcbmU9ZWc7YnJlYWs7Y2FzZVxuMTp2YXJcbmU9aDM7YnJlYWs7ZGVmYXVsdDpicmVhayBifXZhclxuaD1lO2JyZWFrIGF9fXZhclxuaD1hOX12YXJcbmw9WzAsWzAsYXdhLGcoaildLFswLFswLGF2JCxoXSxrXV07cmV0dXJuIGYoYXdjLGksMCxbMCxbMCxhd2IsZyhiKV0sbF0pfSxUWzFdKTtlbHNlXG52YXJcbmFEPVRbMV0sYzI9YURbMV0sYUI9WzAsZihhdl8sYzIsMCxbMCxbMCxhdjksZyhhRFsyXSldLDBdKSwwXTt2YXJcblY9YUJ9ZWxzZVxudmFyXG5WPTA7aWYoYUEpdmFyXG5hVz1hQVsxXVsxXSxjMT1bMCxbMCxhdjcsZyhhVyldLDBdLGFDPVswLGYoYXY4LGFXWzFdLDAsYzEpLFZdO2Vsc2VcbnZhclxuYUM9Vjtzd2l0Y2goYlkpe2Nhc2VcbjA6dmFyXG5XPWFsRDticmVhaztjYXNlXG4xOnZhclxuVz1hbEk7YnJlYWs7ZGVmYXVsdDp2YXJcblc9YWxKfXZhclxuYlo9WzAsWzAsYWxGLGsoYlgpXSxbMCxbMCxhbEUsTShXKV0sMF1dO3JldHVybiBmKGFsSCxiLGJXLFswLFswLGFsRyxhRyhhQyldLGJaXSk7Y2FzZVxuMzA6cmV0dXJuIGE2KFswLGIsZFsxXV0pO2Nhc2VcbjMxOnZhclxuWT1kWzFdLGIwPVlbM10sYjE9WVsxXSxiMj1bMCxbMCxhbEssZShZWzJdKV0sMF07cmV0dXJuIGYoYWxNLGIsYjAsWzAsWzAsYWxMLGcoYjEpXSxiMl0pO2Nhc2VcbjMyOnZhclxuWj1kWzFdLGIzPVpbM10sYjQ9WlsxXSxiNT1bMCxbMCxhbE4sVShiUyxaWzJdKV0sMF07cmV0dXJuIGYoYWxQLGIsYjMsWzAsWzAsYWxPLGMoYjQpXSxiNV0pO2Nhc2VcbjMzOnZhclxuYUU9ZFsxXSxiNj1hRVsyXTtyZXR1cm4gZihhbFIsYixiNixbMCxbMCxhbFEsRChjLGFFWzFdKV0sMF0pO2Nhc2VcbjM0OnZhclxuYWE9ZFsxXSxiNz1hYVszXSxiOD1hYVsxXSxiOT1bMCxbMCxhbFMsVShiVSxhYVsyXSldLDBdO3JldHVybiBmKGFsVSxiLGI3LFswLFswLGFsVCxjKGI4KV0sYjldKTtjYXNlXG4zNTp2YXJcbmFGPWRbMV0sYl89YUZbMl07cmV0dXJuIGYoYWxXLGIsYl8sWzAsWzAsYWxWLGMoYUZbMV0pXSwwXSk7Y2FzZVxuMzY6dmFyXG5BPWRbMV0sYiQ9QVs0XSxjYT1BWzJdLGNiPUFbMV0sY2M9WzAsWzAsYWxYLEQobyxBWzNdKV0sMF0sY2Q9WzAsWzAsYWxZLEQoYlYsY2EpXSxjY107cmV0dXJuIGYoYWwwLGIsYiQsWzAsWzAsYWxaLG8oY2IpXSxjZF0pO2Nhc2VcbjM3OnJldHVybiBhWihbMCxiLGRbMV1dKTtjYXNlXG4zODpyZXR1cm4gYWwoMCxbMCxiLGRbMV1dKTtjYXNlXG4zOTpyZXR1cm4gWChbMCxiLGRbMV1dKTtjYXNlXG40MDp2YXJcbmFiPWRbMV0sY2U9YWJbM10sY2Y9YWJbMV0sY2c9WzAsWzAsYWwxLGUoYWJbMl0pXSwwXTtyZXR1cm4gZihhbDMsYixjZSxbMCxbMCxhbDIsYyhjZildLGNnXSk7ZGVmYXVsdDp2YXJcbmFjPWRbMV0sY2g9YWNbM10sY2k9YWNbMV0sY2o9WzAsWzAsYWw0LGUoYWNbMl0pXSwwXTtyZXR1cm4gZihhbDYsYixjaCxbMCxbMCxhbDUsYyhjaSldLGNqXSl9fWZ1bmN0aW9uXG5jKGEpe3ZhclxuYj1hWzJdLGQ9YVsxXTtzd2l0Y2goYlswXSl7Y2FzZVxuMDp2YXJcblI9YlsxXSxhdj1SWzJdLGF3PVswLFswLGFsNyxVKGIxLFJbMV0pXSwwXTtyZXR1cm4gZihhbDgsZCxhbyhhdiksYXcpO2Nhc2VcbjE6dmFyXG5uPWJbMV0sej1uWzNdLFM9blsyXSxheD1uWzEwXSxheT1uWzldLGF6PW5bOF0sYUE9bls3XSxhQj1uWzRdLGFDPVNbMl1bNF07aWYoMD09PXpbMF0pdmFyXG5WPTAsVD1vKHpbMV0pO2Vsc2VcbnZhclxuVj0xLFQ9Yyh6WzFdKTt2YXJcbmFEPWE0KGFvKGFDKSxheCksYUU9WzAsWzAsYWw5LEQobSxheSldLDBdLGFGPVswLFswLGFsJCwhIVZdLFswLFswLGFsXyxhbihheildLGFFXV0sYUg9WzAsWzAsYW1kLFRdLFswLFswLGFtYywhIWFCXSxbMCxbMCxhbWIsISEwXSxbMCxbMCxhbWEsRChfLGFBKV0sYUZdXV1dO3JldHVybiBmKGFtZyxkLGFELFswLFswLGFtZixhOV0sWzAsWzAsYW1lLGFtKFMpXSxhSF1dKTtjYXNlXG4yOnZhclxuVz1iWzFdLGFJPVdbMl07cmV0dXJuIGYoYW1pLGQsYUksWzAsWzAsYW1oLGMoV1sxXSldLDBdKTtjYXNlXG4zOnZhclxuQT1iWzFdLGFKPUFbM10sYUs9QVsxXSxhTD1bMCxbMCxhbWosaChBWzJdWzJdKV0sMF07cmV0dXJuIGYoYW1sLGQsYUosWzAsWzAsYW1rLGMoYUspXSxhTF0pO2Nhc2VcbjQ6dmFyXG5zPWJbMV0sWD1zWzFdLGFNPXNbNF0sYU49c1szXSxhTz1zWzJdO2lmKFgpe3N3aXRjaChYWzFdKXtjYXNlXG4wOnZhclxuaT1SJDticmVhaztjYXNlXG4xOnZhclxuaT1TYTticmVhaztjYXNlXG4yOnZhclxuaT1TYjticmVhaztjYXNlXG4zOnZhclxuaT1TYzticmVhaztjYXNlXG40OnZhclxuaT1TZDticmVhaztjYXNlXG41OnZhclxuaT1TZTticmVhaztjYXNlXG42OnZhclxuaT1TZjticmVhaztjYXNlXG43OnZhclxuaT1TZzticmVhaztjYXNlXG44OnZhclxuaT1TaDticmVhaztjYXNlXG45OnZhclxuaT1TaTticmVhaztjYXNlXG4xMDp2YXJcbmk9U2o7YnJlYWs7Y2FzZVxuMTE6dmFyXG5pPVNrO2JyZWFrO2Nhc2VcbjEyOnZhclxuaT1TbDticmVhaztjYXNlXG4xMzp2YXJcbmk9U207YnJlYWs7ZGVmYXVsdDp2YXJcbmk9U259dmFyXG5ZPWl9ZWxzZVxudmFyXG5ZPWFtcTt2YXJcbmFRPVswLFswLGFtbSxjKGFOKV0sMF07cmV0dXJuIGYoYW1wLGQsYU0sWzAsWzAsYW1vLE0oWSldLFswLFswLGFtbixsKGFPKV0sYVFdXSk7Y2FzZVxuNTp2YXJcbnQ9YlsxXSxhUj10WzRdLGFTPXRbMl0sYVQ9dFsxXSxhVT1bMCxbMCxhbXIsYyh0WzNdKV0sMF0sYVY9WzAsWzAsYW1zLGMoYVMpXSxhVV07c3dpdGNoKGFUKXtjYXNlXG4wOnZhclxuZT1TbzticmVhaztjYXNlXG4xOnZhclxuZT1TcDticmVhaztjYXNlXG4yOnZhclxuZT1TcTticmVhaztjYXNlXG4zOnZhclxuZT1TcjticmVhaztjYXNlXG40OnZhclxuZT1TczticmVhaztjYXNlXG41OnZhclxuZT1TdDticmVhaztjYXNlXG42OnZhclxuZT1TdTticmVhaztjYXNlXG43OnZhclxuZT1TdjticmVhaztjYXNlXG44OnZhclxuZT1TdzticmVhaztjYXNlXG45OnZhclxuZT1TeDticmVhaztjYXNlXG4xMDp2YXJcbmU9U3k7YnJlYWs7Y2FzZVxuMTE6dmFyXG5lPVN6O2JyZWFrO2Nhc2VcbjEyOnZhclxuZT1TQTticmVhaztjYXNlXG4xMzp2YXJcbmU9U0I7YnJlYWs7Y2FzZVxuMTQ6dmFyXG5lPVNDO2JyZWFrO2Nhc2VcbjE1OnZhclxuZT1TRDticmVhaztjYXNlXG4xNjp2YXJcbmU9U0U7YnJlYWs7Y2FzZVxuMTc6dmFyXG5lPVNGO2JyZWFrO2Nhc2VcbjE4OnZhclxuZT1TRzticmVhaztjYXNlXG4xOTp2YXJcbmU9U0g7YnJlYWs7Y2FzZVxuMjA6dmFyXG5lPVNJO2JyZWFrO2RlZmF1bHQ6dmFyXG5lPVNKfXJldHVybiBmKGFtdSxkLGFSLFswLFswLGFtdCxNKGUpXSxhVl0pO2Nhc2VcbjY6dmFyXG5CPWJbMV0sYVc9Qls0XSxhWD1hNChhbyhCWzNdWzJdWzJdKSxhVyk7cmV0dXJuIGYoYW12LGQsYVgsYnIoQikpO2Nhc2Vcbjc6cmV0dXJuIGEwKGFwSSxbMCxkLGJbMV1dKTtjYXNlXG44OnZhclxudT1iWzFdLGFZPXVbNF0sYVo9dVsyXSxhMT11WzFdLGEyPVswLFswLGFtdyxjKHVbM10pXSwwXSxhMz1bMCxbMCxhbXgsYyhhWildLGEyXTtyZXR1cm4gZihhbXosZCxhWSxbMCxbMCxhbXksYyhhMSldLGEzXSk7Y2FzZVxuOTpyZXR1cm4gSihbMCxkLGJbMV1dKTtjYXNlXG4xMDpyZXR1cm4gZyhiWzFdKTtjYXNlXG4xMTp2YXJcblo9YlsxXSxhNT1aWzJdO3JldHVybiBmKGFtQixkLGE1LFswLFswLGFtQSxjKFpbMV0pXSwwXSk7Y2FzZVxuMTI6cmV0dXJuIGJrKFswLGQsYlsxXV0pO2Nhc2VcbjEzOnJldHVybiBibChbMCxkLGJbMV1dKTtjYXNlXG4xNDpyZXR1cm4gayhbMCxkLGJbMV1dKTtjYXNlXG4xNTpyZXR1cm4gYXAoWzAsZCxiWzFdXSk7Y2FzZVxuMTY6cmV0dXJuIGJiKFswLGQsYlsxXV0pO2Nhc2VcbjE3OnJldHVybiBwKFswLGQsYlsxXV0pO2Nhc2VcbjE4OnJldHVybiByKFswLGQsYlsxXV0pO2Nhc2VcbjE5OnZhclxudj1iWzFdLGFyPXZbMl0sYXM9dlsxXSxiSz12WzRdLGJMPXZbM107dHJ5e3ZhclxuYlA9bmV3XG5SZWdFeHAoTShhcyksTShhcikpLGF0PWJQfWNhdGNoKGYpe3ZhclxuYXQ9YTl9cmV0dXJuIGYoYXNvLGQsYkssWzAsWzAsYXNuLGF0XSxbMCxbMCxhc20sTShiTCldLFswLFswLGFzbCxjUyhbMCxbMCxhc2ssTShhcyldLFswLFswLGFzaixNKGFyKV0sMF1dKV0sMF1dXSk7Y2FzZVxuMjA6dmFyXG5DPWJbMV07cmV0dXJuIGsoWzAsZCxbMCxDWzFdLENbNV0sQ1s2XV1dKTtjYXNlXG4yMTp2YXJcbnc9YlsxXSxhNj13WzRdLGE3PXdbM10sYTg9d1syXTtzd2l0Y2god1sxXSl7Y2FzZVxuMDp2YXJcbkY9YW1DO2JyZWFrO2Nhc2VcbjE6dmFyXG5GPWFtSDticmVhaztkZWZhdWx0OnZhclxuRj1hbUl9dmFyXG5hXz1bMCxbMCxhbUQsYyhhNyldLDBdO3JldHVybiBmKGFtRyxkLGE2LFswLFswLGFtRixNKEYpXSxbMCxbMCxhbUUsYyhhOCldLGFfXV0pO2Nhc2VcbjIyOnZhclxuRz1iWzFdLGEkPUdbM10sYmE9R1sxXSxiZD1bMCxbMCxhbUosVShiUixHWzJdKV0sMF07cmV0dXJuIGYoYW1MLGQsYSQsWzAsWzAsYW1LLGMoYmEpXSxiZF0pO2Nhc2VcbjIzOnZhclxuJD1iWzFdLGJlPSRbM107cmV0dXJuIGYoYW1NLGQsYmUsYnMoJCkpO2Nhc2VcbjI0OnZhclxuSD1iWzFdLGJmPUhbM10sYmc9SFsxXSxiaD1bMCxbMCxhbU4sZyhIWzJdKV0sMF07cmV0dXJuIGYoYW1QLGQsYmYsWzAsWzAsYW1PLGcoYmcpXSxiaF0pO2Nhc2VcbjI1OnZhclxueD1iWzFdLGFhPXhbNF0sYWI9eFszXSxiaT14WzJdLGJqPXhbMV07aWYoYWIpdmFyXG5hYz1hYlsxXSxibT1hNChhbyhhY1syXVsyXSksYWEpLGFlPWJtLGFkPWFQKGFjKTtlbHNlXG52YXJcbmFlPWFhLGFkPWFHKDApO3ZhclxuYm49WzAsWzAsYW1SLEQoYXUsYmkpXSxbMCxbMCxhbVEsYWRdLDBdXTtyZXR1cm4gZihhbVQsZCxhZSxbMCxbMCxhbVMsYyhiaildLGJuXSk7Y2FzZVxuMjY6dmFyXG5hZj1iWzFdLGJvPWFmWzJdLGJwPVswLFswLGFtVSxVKGJZLGFmWzFdKV0sMF07cmV0dXJuIGYoYW1WLGQsYW8oYm8pLGJwKTtjYXNlXG4yNzp2YXJcbmFnPWJbMV0sSz1hZ1sxXSxicT1hZ1szXSxidD1LWzRdLGJ1PWE0KGFvKEtbM11bMl1bMl0pLGJ0KTtyZXR1cm4gZihhbVgsZCxidSxJKGJyKEspLFswLFswLGFtVywhIWJxXSwwXSkpO2Nhc2VcbjI4OnZhclxuYWg9YlsxXSxhaT1haFsxXSxidj1haVszXSxidz1bMCxbMCxhbVksISFhaFszXV0sMF07cmV0dXJuIGYoYW1aLGQsYnYsSShicyhhaSksYncpKTtjYXNlXG4yOTp2YXJcbmFqPWJbMV0sYng9YWpbMl07cmV0dXJuIGYoYW0xLGQsYngsWzAsWzAsYW0wLFUoYyxhalsxXSldLDBdKTtjYXNlXG4zMDpyZXR1cm4gZihhbTIsZCxiWzFdWzFdLDApO2Nhc2VcbjMxOnZhclxuTD1iWzFdLGJNPUxbM10sYk49TFsxXSxiTz1bMCxbMCxhc0EsYmMoTFsyXSldLDBdO3JldHVybiBmKGFzQyxkLGJNLFswLFswLGFzQixjKGJOKV0sYk9dKTtjYXNlXG4zMjpyZXR1cm4gYmMoWzAsZCxiWzFdXSk7Y2FzZVxuMzM6cmV0dXJuIGYoYW0zLGQsYlsxXVsxXSwwKTtjYXNlXG4zNDp2YXJcbk49YlsxXSxieT1OWzNdLGJ6PU5bMV0sYkE9WzAsWzAsYW00LHEoTlsyXSldLDBdO3JldHVybiBmKGFtNixkLGJ5LFswLFswLGFtNSxjKGJ6KV0sYkFdKTtjYXNlXG4zNTp2YXJcbk89YlsxXSxiQj1PWzNdLGJDPU9bMV0sYkQ9WzAsWzAsYW03LGgoT1syXVsyXSldLDBdO3JldHVybiBmKGFtOSxkLGJCLFswLFswLGFtOCxjKGJDKV0sYkRdKTtjYXNlXG4zNjp2YXJcblA9YlsxXSxhaz1QWzNdLGFsPVBbMl0sYXE9UFsxXTtpZig3PD1hcSlyZXR1cm4gZihhbSQsZCxhayxbMCxbMCxhbV8sYyhhbCldLDBdKTtzd2l0Y2goYXEpe2Nhc2VcbjA6dmFyXG5qPWFuYTticmVhaztjYXNlXG4xOnZhclxuaj1hbmY7YnJlYWs7Y2FzZVxuMjp2YXJcbmo9YW5nO2JyZWFrO2Nhc2VcbjM6dmFyXG5qPWFuaDticmVhaztjYXNlXG40OnZhclxuaj1hbmk7YnJlYWs7Y2FzZVxuNTp2YXJcbmo9YW5qO2JyZWFrO2Nhc2VcbjY6dmFyXG5qPWFuazticmVhaztkZWZhdWx0OnZhclxuaj1FKGFubCl9cmV0dXJuIGYoYW5lLGQsYWssWzAsWzAsYW5kLE0oaildLFswLFswLGFuYywhITFdLFswLFswLGFuYixjKGFsKV0sMF1dXSk7Y2FzZVxuMzc6dmFyXG55PWJbMV0sYkU9eVs0XSxiRj15WzNdLGJHPXlbMl0sYkg9eVsxXT9hbm06YW5yO3JldHVybiBmKGFucSxkLGJFLFswLFswLGFucCxNKGJIKV0sWzAsWzAsYW5vLGMoYkcpXSxbMCxbMCxhbm4sISFiRl0sMF1dXSk7ZGVmYXVsdDp2YXJcblE9YlsxXSxiST1RWzJdLGJKPVswLFswLGFucywhIVFbM11dLDBdO3JldHVybiBmKGFudSxkLGJJLFswLFswLGFudCxEKGMsUVsxXSldLGJKXSl9fWZ1bmN0aW9uXG5iUihhKXt2YXJcbmI9YVsyXSxkPWJbNF0sZT1iWzJdLGc9YlsxXSxoPWFbMV0saT1bMCxbMCxhbnYsRChjLGJbM10pXSwwXSxqPVswLFswLGFudyxjKGUpXSxpXTtyZXR1cm4gZihhbnksaCxkLFswLFswLGFueCxGKGcpXSxqXSl9ZnVuY3Rpb25cbmJTKGEpe3ZhclxuYj1hWzJdLGQ9Yls0XSxlPWJbMl0sZz1iWzFdLGg9YVsxXSxpPVswLFswLGFueixEKGMsYlszXSldLDBdLGo9WzAsWzAsYW5BLG8oZSldLGldO3JldHVybiBmKGFuQyxoLGQsWzAsWzAsYW5CLEYoZyldLGpdKX1mdW5jdGlvblxuRihhKXt2YXJcbmI9YVsyXSxjPWFbMV07ZnVuY3Rpb25cbmQoYSl7cmV0dXJuIGYoYW5FLGMsMCxbMCxbMCxhbkQsYV0sMF0pfXN3aXRjaChiWzBdKXtjYXNlXG4wOnJldHVybiBmKGFuRixjLGJbMV0sMCk7Y2FzZVxuMTpyZXR1cm4gZChwKFswLGMsYlsxXV0pKTtjYXNlXG4yOnJldHVybiBkKHIoWzAsYyxiWzFdXSkpO2Nhc2VcbjM6cmV0dXJuIGQoayhbMCxjLGJbMV1dKSk7Y2FzZVxuNDpyZXR1cm4gZChhcChbMCxjLGJbMV1dKSk7Y2FzZVxuNTpyZXR1cm4gZChiYihbMCxjLGJbMV1dKSk7Y2FzZVxuNjp2YXJcbmg9YlsxXSxuPWhbMl0sdD1oWzNdLHU9aFsxXT9hbkc6YW5LLGk9blsyXSxvPW5bMV0sdj0wPT09aVswXT9wKFswLG8saVsxXV0pOnIoWzAsbyxpWzFdXSk7cmV0dXJuIGYoYW5KLGMsdCxbMCxbMCxhbkksTSh1KV0sWzAsWzAsYW5ILHZdLDBdXSk7Y2FzZVxuNzpyZXR1cm4gYWcoWzAsYyxiWzFdXSk7Y2FzZVxuODpyZXR1cm4gYU4oYlsxXSk7Y2FzZVxuOTp2YXJcbnE9ZnVuY3Rpb24oYSl7dmFyXG5jPWFbMl0sYj1jWzJdLGQ9Y1sxXSxoPWNbM10saT1hWzFdLGo9MDtzd2l0Y2goYlswXSl7Y2FzZVxuMDp2YXJcbmU9ayhiWzFdKTticmVhaztjYXNlXG4xOnZhclxuZT1wKGJbMV0pO2JyZWFrO2RlZmF1bHQ6dmFyXG5lPWcoYlsxXSl9dmFyXG5sPVswLFswLGFuTCxlXSxqXSxtPTA9PT1kWzBdP2FOKGRbMV0pOnEoZFsxXSk7cmV0dXJuIGYoYW5OLGksaCxbMCxbMCxhbk0sbV0sbF0pfTtyZXR1cm4gcShiWzFdKTtjYXNlXG4xMDp2YXJcbmo9YlsxXSx3PWpbM10seD1qWzFdLHk9WzAsWzAsYW5TLEQoYU8salsyXSldLDBdLHo9WzAsWzAsYW5ULFUoZnVuY3Rpb24oYSl7dmFyXG5iPWFbMl0sYz1iWzFdLGU9Yls0XSxoPWFbMV0saT1bMCxbMCxhbk8sISFiWzNdXSwwXSxqPVswLFswLGFuUCxGKGJbMl0pXSxpXTtzd2l0Y2goY1swXSl7Y2FzZVxuMDp2YXJcbmQ9ayhjWzFdKTticmVhaztjYXNlXG4xOnZhclxuZD1wKGNbMV0pO2JyZWFrO2RlZmF1bHQ6dmFyXG5kPWcoY1sxXSl9cmV0dXJuIGYoYW5SLGgsZSxbMCxbMCxhblEsZF0sal0pfSx4KV0seV07cmV0dXJuIGYoYW5VLGMsYW8odykseik7Y2FzZVxuMTE6dmFyXG5sPWJbMV0sQT1sWzNdLEI9bFsxXSxDPVswLFswLGFuVixEKGFPLGxbMl0pXSwwXSxFPVswLFswLGFuVyxVKGZ1bmN0aW9uKGEpe3JldHVybiBGKGFbMl0pfSxCKV0sQ107cmV0dXJuIGYoYW5YLGMsYW8oQSksRSk7Y2FzZVxuMTI6dmFyXG5zPWJbMV0sRz1zWzJdO3JldHVybiBmKGFuWixjLEcsWzAsWzAsYW5ZLFUoRixzWzFdKV0sMF0pO2RlZmF1bHQ6dmFyXG5tPWJbMV0sZT1tWzJdLEg9bVszXSxJPW1bMV0sSj0wPT09ZVswXT9nKGVbMV0pOmFnKFswLGVbMV0sZVsyXV0pO3JldHVybiBmKGFuMixjLEgsWzAsWzAsYW4xLEYoSSldLFswLFswLGFuMCxKXSwwXV0pfX1mdW5jdGlvblxuYU4oYSl7dmFyXG5iPWFbMV07cmV0dXJuIGYoYW40LGIsMCxbMCxbMCxhbjMsZyhhKV0sMF0pfWZ1bmN0aW9uXG5hZyhhKXt2YXJcbmI9YVsyXSxjPWJbM10sZD1iWzJdLGU9YVsxXSxoPVswLFswLGFuNSxNKGFxKGJbMV0pKV0sMF07cmV0dXJuIGYoYW43LGUsYyxbMCxbMCxhbjYsZyhkKV0saF0pfWZ1bmN0aW9uXG5hTyhhKXt2YXJcbmI9YVsyXSxjPWJbMl0sZD1hWzFdO3JldHVybiBmKGFuOSxkLGMsWzAsWzAsYW44LEQoYWcsYlsxXSldLDBdKX1mdW5jdGlvblxuSihhKXt2YXJcbmI9YVsyXSxjPWJbM10sZD1iWzJdLGU9YlsxMF0saD1iWzldLGk9Yls4XSxqPWJbN10saz1iWzVdLGw9Yls0XSxuPWRbMl1bNF0scD1iWzFdLHE9YVsxXSxyPTA9PT1jWzBdP2NbMV06RShhb3UpLHM9YTQoYW8obiksZSksdD1bMCxbMCxhb2ssRChtLGgpXSwwXSx1PVswLFswLGFvbSwhITBdLFswLFswLGFvbCxhbihpKV0sdF1dLHY9WzAsWzAsYW9wLCEhbF0sWzAsWzAsYW9vLCEha10sWzAsWzAsYW9uLEQoXyxqKV0sdV1dXSx3PVswLFswLGFvcSxvKHIpXSx2XSx4PVswLFswLGFvcixhbShkKV0sd107cmV0dXJuIGYoYW90LHEscyxbMCxbMCxhb3MsRChnLHApXSx4XSl9ZnVuY3Rpb25cbmcoYSl7dmFyXG5iPWFbMl07cmV0dXJuIGYoYW95LGFbMV0sYlsyXSxbMCxbMCxhb3gsTShiWzFdKV0sWzAsWzAsYW93LGE5XSxbMCxbMCxhb3YsISEwXSwwXV1dKX1mdW5jdGlvblxuYWgoYSl7dmFyXG5iPWFbMl07cmV0dXJuIGYoYW9DLGFbMV0sYlsyXSxbMCxbMCxhb0IsTShiWzFdKV0sWzAsWzAsYW9BLGE5XSxbMCxbMCxhb3osISEwXSwwXV1dKX1mdW5jdGlvblxuYWkoYSxiKXt2YXJcbmM9YlsxXVsyXSxkPWNbMl0sZT1jWzFdLGc9WzAsWzAsYW9ELCEhYlszXV0sMF07cmV0dXJuIGYoYW9HLGEsZCxbMCxbMCxhb0YsTShlKV0sWzAsWzAsYW9FLGowKHEsYlsyXSldLGddXSl9ZnVuY3Rpb25cbmFQKGEpe3JldHVybiBVKGIwLGFbMl1bMV0pfWZ1bmN0aW9uXG5iVShhKXt2YXJcbmI9YVsyXSxkPWJbM10sZz1iWzFdLGg9YVsxXSxpPVswLFswLGFvSCxVKGUsYlsyXSldLDBdO3JldHVybiBmKGFvSixoLGQsWzAsWzAsYW9JLEQoYyxnKV0saV0pfWZ1bmN0aW9uXG5iVihhKXt2YXJcbmI9YVsyXSxjPWJbM10sZD1iWzFdLGU9YVsxXSxnPVswLFswLGFvSyxvKGJbMl0pXSwwXTtyZXR1cm4gZihhb00sZSxjLFswLFswLGFvTCxEKGwsZCldLGddKX1mdW5jdGlvblxubyhhKXt2YXJcbmI9YVsyXSxjPWJbMl0sZD1hWzFdLGU9WzAsWzAsYW9OLGFNKGJbMV0pXSwwXTtyZXR1cm4gZihhb08sZCxhbyhjKSxlKX1mdW5jdGlvblxuYVEoYSl7dmFyXG5iPWFbMl0sYz1iWzJdLGQ9YlsxXSxlPWJbNF0sZz1iWzNdLGg9YVsxXSxpPSQoZFsxXSxjWzFdKSxqPVswLFswLGFvUCxNKGFxKGcpKV0sMF07cmV0dXJuIGYoYW9SLGgsZSxbMCxbMCxhb1EsYWkoaSxbMCxkLFsxLGNdLDBdKV0sal0pfWZ1bmN0aW9uXG5hUihhKXt2YXJcbmI9YVsyXSxjPWJbMl0sZD1iWzFdLGo9Yls0XSxrPWJbM10sbD1hWzFdLG09JChkWzFdLGNbMV0pLGU9Y1syXVsyXTthOntpZigxMj09PWVbMF0pe3ZhclxuaT1lWzFdWzVdO2lmKHR5cGVvZlxuaT09PVwibnVtYmVyXCImJiFpKXt2YXJcbmg9MCxnPWFvVjticmVhayBhfX12YXJcbmg9WzAsWzAsYW9TLEQoXyxrKV0sMF0sZz1hb1R9cmV0dXJuIGYoZyxsLGosSShbMCxbMCxhb1UsYWkobSxbMCxkLFsxLGNdLDBdKV0sMF0saCkpfWZ1bmN0aW9uXG5hUyhhKXt2YXJcbmI9YVsyXSxjPWJbNl0sZD1iWzRdLGU9Yls3XSxoPWJbNV0saT1iWzNdLGo9YlsyXSxrPWJbMV0sbD1hWzFdLG49ZD9hRyhbMCxLKGRbMV0pLDBdKTphRygwKSxvPWM/VShhMSxjWzFdWzJdWzFdKTphRygwKSxwPVswLFswLGFvWSxuXSxbMCxbMCxhb1gsb10sWzAsWzAsYW9XLFUoSyxoKV0sMF1dXSxxPVswLFswLGFvWixOKDAsaSldLHBdLHI9WzAsWzAsYW8wLEQobSxqKV0scV07cmV0dXJuIGYoYW8yLGwsZSxbMCxbMCxhbzEsZyhrKV0scl0pfWZ1bmN0aW9uXG5hVChhKXt2YXJcbmI9YVsyXSxjPWJbM10saD1hWzFdLGk9Yls1XSxqPWJbNF0saz1iWzJdLGw9YlsxXSxuPWE0KGFvKGNbMl1bM10pLGkpLGQ9Y1syXSxlPWRbMV0sbz1kWzJdLHA9WzAsWzAsYW8zLEQobSxrKV0sMF0scT1bMCxbMCxhbzQsYXMoaildLHBdLHI9WzAsWzAsYW81LGFqKGUpXSxxXSxzPVswLFswLGFvNixEKGFVLG8pXSxyXSx0PVswLFswLGFvNyxhaihlKV0sc107cmV0dXJuIGYoYW85LGgsbixbMCxbMCxhbzgsZyhsKV0sdF0pfWZ1bmN0aW9uXG5haihhKXtyZXR1cm4gYUcoY0koZnVuY3Rpb24oYSl7dmFyXG5iPWFbMl07cmV0dXJuIGFXKDAsYlszXSxhWzFdLFswLGJbMV1dLGJbMl1bMl0pfSxhKSl9ZnVuY3Rpb25cbmFVKGEpe3ZhclxuYj1hWzJdLGM9Yls0XSxkPWJbM10sZT1iWzJdLGY9YVsxXTtyZXR1cm4gYVcoYyxkLGYsbDcoZnVuY3Rpb24oYSl7cmV0dXJuWzAsYV19LGJbMV0pLGUpfWZ1bmN0aW9uXG5hVyhhLGIsYyxkLGUpe2lmKGQpdmFyXG5pPWRbMV0sbD0wPT09aVswXT9EKGcsWzAsaVsxXV0pOkQoayxbMCxpWzFdXSksaj1sO2Vsc2VcbnZhclxuaj1EKGcsMCk7cmV0dXJuIGYoYXBnLGMsYSxbMCxbMCxhcGYsal0sWzAsWzAsYXBlLGgoZSldLFswLFswLGFwZCwhIWJdLDBdXV0pfWZ1bmN0aW9uXG5hWChhKXt2YXJcbmI9YVsyXSxjPWJbM10sZD1iWzFdLGU9YVsxXSxoPVswLFswLGFwaCxhNShiWzJdKV0sMF07cmV0dXJuIGYoYXBqLGUsYyxbMCxbMCxhcGksZyhkKV0saF0pfWZ1bmN0aW9uXG5hayhhKXtyZXR1cm4gYT9hcHA6YXBxfWZ1bmN0aW9uXG5hWShhKXtpZighYSlyZXR1cm4gYUcoMCk7dmFyXG5iPWFbMV07aWYoMD09PWJbMF0pcmV0dXJuIFUoYl8sYlsxXSk7dmFyXG5jPWJbMV0sZD1jWzJdLGU9Y1sxXTtyZXR1cm4gZD9hRyhbMCxmKGFwcyxlLDAsWzAsWzAsYXByLGcoZFsxXSldLDBdKSwwXSk6YUcoMCl9ZnVuY3Rpb25cbmFaKGEpe3ZhclxuYj1hWzJdLGM9Yls0XSxkPWJbMl0sZT1iWzFdLGk9YVsxXSxqPVswLFswLGFweCxoKGJbM10pXSwwXSxrPVswLFswLGFweSxEKG0sZCldLGpdO3JldHVybiBmKGFwQSxpLGMsWzAsWzAsYXB6LGcoZSldLGtdKX1mdW5jdGlvblxuYWwoYSxiKXt2YXJcbmM9YlsyXSxkPWNbNV0sZT1jWzRdLGk9Y1szXSxqPWNbMl0saz1jWzFdLGw9YlsxXSxuPWE/YXBCOmFwRyxvPVswLFswLGFwQyxEKGgsZSldLDBdLHA9WzAsWzAsYXBELEQoaCxpKV0sb10scT1bMCxbMCxhcEUsRChtLGopXSxwXTtyZXR1cm4gZihuLGwsZCxbMCxbMCxhcEYsZyhrKV0scV0pfWZ1bmN0aW9uXG5hMChhLGIpe3ZhclxuZD1iWzJdLGk9ZFs3XSxqPWRbNV0saz1kWzRdLGw9ZFsyXSx0PWRbNl0sdT1kWzNdLHY9ZFsxXSx3PWJbMV07aWYoayl2YXJcbmU9a1sxXVsyXSx4PWVbMl0seT1lWzFdLGg9YTQoZVszXSxpKSxvPXgsbj1bMCx5XTtlbHNlXG52YXJcbmg9aSxvPTAsbj0wO2lmKGopdmFyXG5wPWpbMV1bMl0sej1wWzFdLEE9YTQocFsyXSxoKSxyPUEscT1VKGExLHopO2Vsc2VcbnZhclxucj1oLHE9YUcoMCk7dmFyXG5CPVswLFswLGFwSyxxXSxbMCxbMCxhcEosVShXLHQpXSwwXV0sQz1bMCxbMCxhcEwsRChPLG8pXSxCXSxFPVswLFswLGFwTSxEKGMsbildLENdLEY9WzAsWzAsYXBOLEQobSx1KV0sRV0scz1sWzJdLEg9c1syXSxJPWxbMV0sRz1bMCxbMCxhcE8sZihhcFcsSSxILFswLFswLGFwVixVKGJXLHNbMV0pXSwwXSldLEZdO3JldHVybiBmKGEsdyxyLFswLFswLGFwUCxEKGcsdildLEddKX1mdW5jdGlvblxuVyhhKXt2YXJcbmI9YVsyXSxkPWJbMl0sZT1hWzFdO3JldHVybiBmKGFwUixlLGQsWzAsWzAsYXBRLGMoYlsxXSldLDBdKX1mdW5jdGlvblxuYTEoYSl7dmFyXG5iPWFbMl0sYz1iWzFdLGQ9YVsxXSxlPVswLFswLGFwUyxEKE8sYlsyXSldLDBdO3JldHVybiBmKGFwVSxkLDAsWzAsWzAsYXBULGcoYyldLGVdKX1mdW5jdGlvblxuYlcoYSl7c3dpdGNoKGFbMF0pe2Nhc2VcbjA6dmFyXG5HPWFbMV0saD1HWzJdLGk9aFs2XSxiPWhbMl0sUT1oWzVdLFI9aFs0XSxTPWhbM10sVD1oWzFdLFY9R1sxXTtzd2l0Y2goYlswXSl7Y2FzZVxuMDp2YXJcbm09aSxsPTAsaj1rKGJbMV0pO2JyZWFrO2Nhc2VcbjE6dmFyXG5tPWksbD0wLGo9cChiWzFdKTticmVhaztjYXNlXG4yOnZhclxubT1pLGw9MCxqPXIoYlsxXSk7YnJlYWs7Y2FzZVxuMzp2YXJcbm09aSxsPTAsaj1nKGJbMV0pO2JyZWFrO2Nhc2VcbjQ6dmFyXG5tPWksbD0wLGo9YWgoYlsxXSk7YnJlYWs7ZGVmYXVsdDp2YXJcbkw9YlsxXVsyXSxZPUxbMV0sWj1hNChMWzJdLGkpLG09WixsPTEsaj1jKFkpfXN3aXRjaChUKXtjYXNlXG4wOnZhclxudj1hcFg7YnJlYWs7Y2FzZVxuMTp2YXJcbnY9YXA1O2JyZWFrO2Nhc2VcbjI6dmFyXG52PWFwNjticmVhaztkZWZhdWx0OnZhclxudj1hcDd9dmFyXG5YPVswLFswLGFwMSxNKHYpXSxbMCxbMCxhcDAsISFSXSxbMCxbMCxhcFosISFsXSxbMCxbMCxhcFksVShXLFEpXSwwXV1dXTtyZXR1cm4gZihhcDQsVixtLFswLFswLGFwMyxqXSxbMCxbMCxhcDIsSihTKV0sWF1dKTtjYXNlXG4xOnZhclxuSD1hWzFdLGU9SFsyXSx1PWVbN10sTz1lWzZdLEI9ZVsyXSxuPWVbMV0sYWw9ZVs1XSxhbT1lWzRdLGFuPWVbM10sYW89SFsxXTtzd2l0Y2goblswXSl7Y2FzZVxuMDp2YXJcbnQ9dSxzPTAsbz1rKG5bMV0pO2JyZWFrO2Nhc2VcbjE6dmFyXG50PXUscz0wLG89cChuWzFdKTticmVhaztjYXNlXG4yOnZhclxudD11LHM9MCxvPXIoblsxXSk7YnJlYWs7Y2FzZVxuMzp2YXJcbnQ9dSxzPTAsbz1nKG5bMV0pO2JyZWFrO2Nhc2VcbjQ6dmFyXG5GPUUoYXFvKSx0PUZbM10scz1GWzJdLG89RlsxXTticmVhaztkZWZhdWx0OnZhclxuUD1uWzFdWzJdLGF1PVBbMV0sYXY9YTQoUFsyXSx1KSx0PWF2LHM9MSxvPWMoYXUpfWlmKHR5cGVvZlxuQj09PVwibnVtYmVyXCIpaWYoQil2YXJcbng9MCxDPTA7ZWxzZVxudmFyXG54PTEsQz0wO2Vsc2VcbnZhclxueD0wLEM9WzAsQlsxXV07dmFyXG5hcD14P1swLFswLGFxZiwhIXhdLDBdOjAsYXE9MD09PU8/MDpbMCxbMCxhcW4sVShXLE8pXSwwXSxhcj1JKGFxLGFwKSxhcz1bMCxbMCxhcWksISFzXSxbMCxbMCxhcWgsISFhbV0sWzAsWzAsYXFnLEQoeSxhbCldLDBdXV0sYXQ9WzAsWzAsYXFqLGowKHEsYW4pXSxhc107cmV0dXJuIGYoYXFtLGFvLHQsSShbMCxbMCxhcWwsb10sWzAsWzAsYXFrLEQoYyxDKV0sYXRdXSxhcikpO2RlZmF1bHQ6dmFyXG5LPWFbMV0sZD1LWzJdLE49ZFs2XSx6PWRbMl0sXz1kWzddLCQ9ZFs1XSxhYT1kWzRdLGFiPWRbM10sYWM9ZFsxXSxhZD1LWzFdO2lmKHR5cGVvZlxuej09PVwibnVtYmVyXCIpaWYoeil2YXJcbnc9MCxBPTA7ZWxzZVxudmFyXG53PTEsQT0wO2Vsc2VcbnZhclxudz0wLEE9WzAselsxXV07dmFyXG5hZT13P1swLFswLGFwOCwhIXddLDBdOjAsYWY9MD09PU4/MDpbMCxbMCxhcWUsVShXLE4pXSwwXSxhZz1JKGFmLGFlKSxhaT1bMCxbMCxhcCQsISEwXSxbMCxbMCxhcF8sISFhYV0sWzAsWzAsYXA5LEQoeSwkKV0sMF1dXSxhaj1bMCxbMCxhcWEsajAocSxhYildLGFpXSxhaz1bMCxbMCxhcWIsRChjLEEpXSxhal07cmV0dXJuIGYoYXFkLGFkLF8sSShbMCxbMCxhcWMsYWgoYWMpXSxha10sYWcpKX19ZnVuY3Rpb25cbmEzKGEpe3ZhclxuYj1hWzJdLGU9YlszXSxoPWJbMl0sZD1iWzFdLGk9YVsxXSxtPWJbNF0sbj0wPT09ZFswXT9nKGRbMV0pOmsoZFsxXSk7aWYoZSl2YXJcbm89WzAsWzAsYXF4LGMoZVsxXSldLDBdLGo9ZihhcXosaSwwLFswLFswLGFxeSxsKGgpXSxvXSk7ZWxzZVxudmFyXG5qPWwoaCk7cmV0dXJuIGYoYXFELGksMCxbMCxbMCxhcUMsbl0sWzAsWzAsYXFCLGpdLFswLFswLGFxQSwhIW1dLDBdXV0pfWZ1bmN0aW9uXG5hNShhKXt2YXJcbmI9YVsyXSxjPWFbMV07c3dpdGNoKGJbMF0pe2Nhc2VcbjA6dmFyXG5kPWJbMV0sbT1kWzRdLG49WzAsWzAsYXFGLCEhZFsyXV0sWzAsWzAsYXFFLCEhZFszXV0sMF1dLG89WzAsWzAsYXFKLFUoZnVuY3Rpb24oYSl7dmFyXG5iPWFbMl0sYz1iWzFdLGQ9YVsxXSxlPVswLFswLGFxRyxhcChiWzJdKV0sMF07cmV0dXJuIGYoYXFJLGQsMCxbMCxbMCxhcUgsZyhjKV0sZV0pfSxkWzFdKV0sbl07cmV0dXJuIGYoYXFLLGMsYW8obSksbyk7Y2FzZVxuMTp2YXJcbmU9YlsxXSxxPWVbNF0scz1bMCxbMCxhcU0sISFlWzJdXSxbMCxbMCxhcUwsISFlWzNdXSwwXV0sdD1bMCxbMCxhcVEsVShmdW5jdGlvbihhKXt2YXJcbmI9YVsyXSxjPWJbMV0sZD1hWzFdLGU9WzAsWzAsYXFOLHAoYlsyXSldLDBdO3JldHVybiBmKGFxUCxkLDAsWzAsWzAsYXFPLGcoYyldLGVdKX0sZVsxXSldLHNdO3JldHVybiBmKGFxUixjLGFvKHEpLHQpO2Nhc2VcbjI6dmFyXG5oPWJbMV0saj1oWzFdLHU9aFs0XSx2PWhbM10sdz1oWzJdLHg9MD09PWpbMF0/Y0koZnVuY3Rpb24oYSl7dmFyXG5iPWFbMV07cmV0dXJuIGYoYXFULGIsMCxbMCxbMCxhcVMsZyhhWzJdWzFdKV0sMF0pfSxqWzFdKTpjSShmdW5jdGlvbihhKXt2YXJcbmI9YVsyXSxjPWJbMV0sZD1hWzFdLGU9WzAsWzAsYXFZLGsoYlsyXSldLDBdO3JldHVybiBmKGFxMCxkLDAsWzAsWzAsYXFaLGcoYyldLGVdKX0salsxXSkseT1bMCxbMCxhcVcsYUcoeCldLFswLFswLGFxViwhIXddLFswLFswLGFxVSwhIXZdLDBdXV07cmV0dXJuIGYoYXFYLGMsYW8odSkseSk7Y2FzZVxuMzp2YXJcbmw9YlsxXSx6PWxbM10sQT1bMCxbMCxhcTEsISFsWzJdXSwwXSxCPVswLFswLGFxNCxVKGZ1bmN0aW9uKGEpe3ZhclxuYj1hWzFdO3JldHVybiBmKGFxMyxiLDAsWzAsWzAsYXEyLGcoYVsyXVsxXSldLDBdKX0sbFsxXSldLEFdO3JldHVybiBmKGFxNSxjLGFvKHopLEIpO2RlZmF1bHQ6dmFyXG5pPWJbMV0sQz1pWzRdLEQ9WzAsWzAsYXE3LCEhaVsyXV0sWzAsWzAsYXE2LCEhaVszXV0sMF1dLEU9WzAsWzAsYXEkLFUoZnVuY3Rpb24oYSl7dmFyXG5iPWFbMl0sYz1iWzFdLGQ9YVsxXSxlPVswLFswLGFxOCxyKGJbMl0pXSwwXTtyZXR1cm4gZihhcV8sZCwwLFswLFswLGFxOSxnKGMpXSxlXSl9LGlbMV0pXSxEXTtyZXR1cm4gZihhcmEsYyxhbyhDKSxFKX19ZnVuY3Rpb25cbmE2KGEpe3ZhclxuYj1hWzJdLGM9Yls1XSxkPWJbNF0sZT1iWzJdLGg9YlsxXSxpPWFbMV0saj1bMCxbMCxhcmUsVShLLGJbM10pXSwwXSxrPVswLFswLGFyZixOKDAsZCldLGpdLGw9WzAsWzAsYXJnLEQobSxlKV0sa107cmV0dXJuIGYoYXJpLGksYyxbMCxbMCxhcmgsZyhoKV0sbF0pfWZ1bmN0aW9uXG5LKGEpe3ZhclxuYj1hWzJdLGM9YlsxXSxkPWJbM10sZT1iWzJdLGg9YVsxXSxpPTA9PT1jWzBdP2coY1sxXSk6YXIoY1sxXSk7cmV0dXJuIGYoYXJsLGgsZCxbMCxbMCxhcmssaV0sWzAsWzAsYXJqLEQoTyxlKV0sMF1dKX1mdW5jdGlvblxubChhKXt2YXJcbmI9YVsyXSxkPWFbMV07c3dpdGNoKGJbMF0pe2Nhc2VcbjA6dmFyXG5lPWJbMV0saD1lWzNdLGk9ZVsxXSxqPVswLFswLGFybSxqMChxLGVbMl0pXSwwXSxrPVswLFswLGFybixVKGJaLGkpXSxqXTtyZXR1cm4gZihhcm8sZCxhbyhoKSxrKTtjYXNlXG4xOnZhclxuZz1iWzFdLGw9Z1szXSxtPWdbMV0sbj1bMCxbMCxhcnAsajAocSxnWzJdKV0sMF0sbz1bMCxbMCxhcnEsVShiWCxtKV0sbl07cmV0dXJuIGYoYXJyLGQsYW8obCksbyk7Y2FzZVxuMjpyZXR1cm4gYWkoZCxiWzFdKTtkZWZhdWx0OnJldHVybiBjKGJbMV0pfX1mdW5jdGlvblxuYTgoYSl7dmFyXG5iPWFbMl0sZD1iWzJdLGU9YlsxXSxnPWFbMV07aWYoIWQpcmV0dXJuIGwoZSk7dmFyXG5oPVswLFswLGFycyxjKGRbMV0pXSwwXTtyZXR1cm4gZihhcnUsZywwLFswLFswLGFydCxsKGUpXSxoXSl9ZnVuY3Rpb25cbmFfKGEpe3ZhclxuYj1hWzJdLGM9YlsyXSxkPWFbMV07cmV0dXJuIGYoYXJ4LGQsYyxbMCxbMCxhcncsaTddLFswLFswLGFydixxKGJbMV0pXSwwXV0pfWZ1bmN0aW9uXG5hbShhKXt2YXJcbmM9YVsyXSxkPWNbM10sZT1jWzJdLGI9Y1sxXTtpZihkKXt2YXJcbmc9ZFsxXSxoPWdbMl0saz1oWzJdLG09Z1sxXSxuPWYoYXJ6LG0sayxbMCxbMCxhcnksbChoWzFdKV0sMF0pLGk9QihbMCxuLGw4KGE4LGUpXSksbz1iP1swLGFfKGJbMV0pLGldOmk7cmV0dXJuIGFHKG8pfXZhclxuaj1jSShhOCxlKSxwPWI/WzAsYV8oYlsxXSksal06ajtyZXR1cm4gYUcocCl9ZnVuY3Rpb25cbmEkKGEsYil7dmFyXG5jPWJbMl07cmV0dXJuIGYoYXJCLGEsYyxbMCxbMCxhckEsbChiWzFdKV0sMF0pfWZ1bmN0aW9uXG5iWChhKXtzd2l0Y2goYVswXSl7Y2FzZVxuMDp2YXJcbmI9YVsxXSxkPWJbMl0sZT1kWzJdLGc9ZFsxXSxpPWJbMV07aWYoIWUpcmV0dXJuIGwoZyk7dmFyXG5qPVswLFswLGFyQyxjKGVbMV0pXSwwXTtyZXR1cm4gZihhckUsaSwwLFswLFswLGFyRCxsKGcpXSxqXSk7Y2FzZVxuMTp2YXJcbmg9YVsxXTtyZXR1cm4gYSQoaFsxXSxoWzJdKTtkZWZhdWx0OnJldHVybiBhOX19ZnVuY3Rpb25cbmFuKGEpe3N3aXRjaChhWzBdKXtjYXNlXG4wOnJldHVybiBhOTtjYXNlXG4xOnJldHVybiBxKGFbMV0pO2RlZmF1bHQ6dmFyXG5iPWFbMV0sYz1iWzJdLGQ9YlsxXTtyZXR1cm4gZihhdmUsZCwwLFswLFswLGF2ZCxiZChbMCxjWzFdLGNbMl1dKV0sMF0pfX1mdW5jdGlvblxuYlkoYSl7aWYoMD09PWFbMF0pe3Zhclxucz1hWzFdLGI9c1syXSx6PXNbMV07c3dpdGNoKGJbMF0pe2Nhc2VcbjA6dmFyXG5BPWJbM10sQj1iWzFdLGU9MCxvPUEsbj0wLG09YXJGLGw9YyhiWzJdKSxkPUI7YnJlYWs7Y2FzZVxuMTp2YXJcbnU9YlsyXSxGPWJbMV0sZT0wLG89MCxuPTEsbT1hck8sbD1KKFswLHVbMV0sdVsyXV0pLGQ9RjticmVhaztjYXNlXG4yOnZhclxudj1iWzJdLEc9YlszXSxIPWJbMV0sZT1HLG89MCxuPTAsbT1hclAsbD1KKFswLHZbMV0sdlsyXV0pLGQ9SDticmVhaztkZWZhdWx0OnZhclxudz1iWzJdLEk9YlszXSxLPWJbMV0sZT1JLG89MCxuPTAsbT1hclEsbD1KKFswLHdbMV0sd1syXV0pLGQ9S31zd2l0Y2goZFswXSl7Y2FzZVxuMDp2YXJcbmo9ZSxpPTAsaD1rKGRbMV0pO2JyZWFrO2Nhc2VcbjE6dmFyXG5qPWUsaT0wLGg9cChkWzFdKTticmVhaztjYXNlXG4yOnZhclxuaj1lLGk9MCxoPXIoZFsxXSk7YnJlYWs7Y2FzZVxuMzp2YXJcbmo9ZSxpPTAsaD1nKGRbMV0pO2JyZWFrO2Nhc2VcbjQ6dmFyXG5xPUUoYXJOKSxqPXFbM10saT1xWzJdLGg9cVsxXTticmVhaztkZWZhdWx0OnZhclxudD1kWzFdWzJdLEM9dFsxXSxEPWE0KHRbMl0sZSksaj1ELGk9MSxoPWMoQyl9cmV0dXJuIGYoYXJNLHosaixbMCxbMCxhckwsaF0sWzAsWzAsYXJLLGxdLFswLFswLGFySixNKG0pXSxbMCxbMCxhckksISFuXSxbMCxbMCxhckgsISFvXSxbMCxbMCxhckcsISFpXSwwXV1dXV1dKX12YXJcbng9YVsxXSx5PXhbMl0sTD15WzJdLE49eFsxXTtyZXR1cm4gZihhclMsTixMLFswLFswLGFyUixjKHlbMV0pXSwwXSl9ZnVuY3Rpb25cbmJaKGEpe2lmKDAhPT1hWzBdKXt2YXJcbnQ9YVsxXTtyZXR1cm4gYSQodFsxXSx0WzJdKX12YXJcbm09YVsxXSxpPW1bMl0sbj1pWzNdLGo9aVsyXSxiPWlbMV0sdT1pWzRdLHY9bVsxXTtzd2l0Y2goYlswXSl7Y2FzZVxuMDp2YXJcbmg9MCxlPTAsZD1rKGJbMV0pO2JyZWFrO2Nhc2VcbjE6dmFyXG5oPTAsZT0wLGQ9cChiWzFdKTticmVhaztjYXNlXG4yOnZhclxuaD0wLGU9MCxkPXIoYlsxXSk7YnJlYWs7Y2FzZVxuMzp2YXJcbmg9MCxlPTAsZD1nKGJbMV0pO2JyZWFrO2RlZmF1bHQ6dmFyXG5zPWJbMV1bMl0seT1zWzJdLGg9eSxlPTEsZD1jKHNbMV0pfWlmKG4pdmFyXG5vPW5bMV0sdz0kKGpbMV0sb1sxXSkseD1bMCxbMCxhclQsYyhvKV0sMF0scT1mKGFyVix3LDAsWzAsWzAsYXJVLGwoaildLHhdKTtlbHNlXG52YXJcbnE9bChqKTtyZXR1cm4gZihhcjIsdixoLFswLFswLGFyMSxkXSxbMCxbMCxhcjAscV0sWzAsWzAsYXJaLGdqXSxbMCxbMCxhclksISEwXSxbMCxbMCxhclgsISF1XSxbMCxbMCxhclcsISFlXSwwXV1dXV1dKX1mdW5jdGlvblxuYmEoYSl7dmFyXG5iPWFbMl0sZD1iWzJdLGU9YVsxXTtyZXR1cm4gZihhcjQsZSxkLFswLFswLGFyMyxjKGJbMV0pXSwwXSl9ZnVuY3Rpb25cbmIwKGEpe3JldHVybiAwPT09YVswXT9jKGFbMV0pOmJhKGFbMV0pfWZ1bmN0aW9uXG5iMShhKXtzd2l0Y2goYVswXSl7Y2FzZVxuMDpyZXR1cm4gYyhhWzFdKTtjYXNlXG4xOnJldHVybiBiYShhWzFdKTtkZWZhdWx0OnJldHVybiBhOX19ZnVuY3Rpb25cbnAoYSl7dmFyXG5iPWFbMl07cmV0dXJuIGYoYXI3LGFbMV0sYlszXSxbMCxbMCxhcjYsYlsxXV0sWzAsWzAsYXI1LE0oYlsyXSldLDBdXSl9ZnVuY3Rpb25cbnIoYSl7dmFyXG5iPWFbMl0sYz1iWzJdLGQ9YlsxXSxlPWJbM10sZz1hWzFdLGg9ZD9OdihqMyxkWzFdKTpFMyhhc2EsRTYoOTUsYTIoYywwLEcoYyktMXwwKSkpO3JldHVybiBmKGFyJCxnLGUsWzAsWzAsYXJfLGE5XSxbMCxbMCxhcjksTShoKV0sWzAsWzAsYXI4LE0oYyldLDBdXV0pfWZ1bmN0aW9uXG5rKGEpe3ZhclxuYj1hWzJdO3JldHVybiBmKGFzZCxhWzFdLGJbM10sWzAsWzAsYXNjLE0oYlsxXSldLFswLFswLGFzYixNKGJbMl0pXSwwXV0pfWZ1bmN0aW9uXG5hcChhKXt2YXJcbmI9YVsyXSxjPWJbMV0sZD1iWzJdLGU9YVsxXSxnPWM/YXNlOmFzaTtyZXR1cm4gZihhc2gsZSxkLFswLFswLGFzZywhIWNdLFswLFswLGFzZixNKGcpXSwwXV0pfWZ1bmN0aW9uXG5iYihhKXtyZXR1cm4gZihhc3IsYVsxXSxhWzJdLFswLFswLGFzcSxhOV0sWzAsWzAsYXNwLGpuXSwwXV0pfWZ1bmN0aW9uXG5iYyhhKXt2YXJcbmI9YVsyXSxkPWJbM10sZT1iWzFdLGc9YVsxXSxoPVswLFswLGFzcyxVKGMsYlsyXSldLDBdO3JldHVybiBmKGFzdSxnLGQsWzAsWzAsYXN0LFUoYjIsZSldLGhdKX1mdW5jdGlvblxuYjIoYSl7dmFyXG5iPWFbMl0sYz1iWzFdLGQ9YlsyXSxlPWFbMV07cmV0dXJuIGYoYXN6LGUsMCxbMCxbMCxhc3ksY1MoWzAsWzAsYXN3LE0oY1sxXSldLFswLFswLGFzdixNKGNbMl0pXSwwXV0pXSxbMCxbMCxhc3gsISFkXSwwXV0pfWZ1bmN0aW9uXG5hcShhKXtzd2l0Y2goYSl7Y2FzZVxuMDpyZXR1cm4gYXNEO2Nhc2VcbjE6cmV0dXJuIGFzRTtkZWZhdWx0OnJldHVybiBhc0Z9fWZ1bmN0aW9uXG5YKGEpe3ZhclxuYj1hWzJdLGM9YlszXSxkPWJbMV0sZT1hWzFdLGc9WzAsWzAsYXNHLE0oYXEoYlsyXSkpXSwwXTtyZXR1cm4gZihhc0ksZSxjLFswLFswLGFzSCxVKGIzLGQpXSxnXSl9ZnVuY3Rpb25cbmIzKGEpe3ZhclxuYj1hWzJdLGQ9YlsxXSxlPWFbMV0sZz1bMCxbMCxhc0osRChjLGJbMl0pXSwwXTtyZXR1cm4gZihhc0wsZSwwLFswLFswLGFzSyxsKGQpXSxnXSl9ZnVuY3Rpb25cbnkoYSl7dmFyXG5jPWFbMl0sZD1jWzJdLGU9YVsxXTtzd2l0Y2goY1sxXSl7Y2FzZVxuMDp2YXJcbmI9YXNNO2JyZWFrO2Nhc2VcbjE6dmFyXG5iPWFzUDticmVhaztjYXNlXG4yOnZhclxuYj1hc1E7YnJlYWs7Y2FzZVxuMzp2YXJcbmI9YXNSO2JyZWFrO2Nhc2VcbjQ6dmFyXG5iPWFzUzticmVhaztkZWZhdWx0OnZhclxuYj1hc1R9cmV0dXJuIGYoYXNPLGUsZCxbMCxbMCxhc04sTShiKV0sMF0pfWZ1bmN0aW9uXG5oKGEpe3ZhclxuYj1hWzJdLGM9YVsxXTtzd2l0Y2goYlswXSl7Y2FzZVxuMDpyZXR1cm4gZihhc1UsYyxiWzFdLDApO2Nhc2VcbjE6cmV0dXJuIGYoYXNWLGMsYlsxXSwwKTtjYXNlXG4yOnJldHVybiBmKGFzVyxjLGJbMV0sMCk7Y2FzZVxuMzpyZXR1cm4gZihhc1gsYyxiWzFdLDApO2Nhc2VcbjQ6cmV0dXJuIGYoYXNZLGMsYlsxXSwwKTtjYXNlXG41OnJldHVybiBmKGFzMCxjLGJbMV0sMCk7Y2FzZVxuNjpyZXR1cm4gZihhczEsYyxiWzFdLDApO2Nhc2Vcbjc6cmV0dXJuIGYoYXMyLGMsYlsxXSwwKTtjYXNlXG44OnJldHVybiBmKGFzMyxjLGJbMl0sMCk7Y2FzZVxuOTpyZXR1cm4gZihhc1osYyxiWzFdLDApO2Nhc2VcbjEwOnJldHVybiBmKGF2YSxjLGJbMV0sMCk7Y2FzZVxuMTE6dmFyXG5zPWJbMV0sWD1zWzJdO3JldHVybiBmKGFzNSxjLFgsWzAsWzAsYXM0LGgoc1sxXSldLDBdKTtjYXNlXG4xMjpyZXR1cm4gWihbMCxjLGJbMV1dKTtjYXNlXG4xMzp2YXJcbmU9YlsxXSxxPWVbMl0sSj1lWzRdLEw9ZVszXSxQPWVbMV0sUT1hNChhbyhxWzJdWzNdKSxKKSxyPXFbMl0sUj1yWzJdLFM9clsxXSxUPVswLFswLGFvXyxEKG0sUCldLDBdLFY9WzAsWzAsYW8kLGFzKEwpXSxUXSxXPVswLFswLGFwYSxEKGFVLFIpXSxWXTtyZXR1cm4gZihhcGMsYyxRLFswLFswLGFwYixhaihTKV0sV10pO2Nhc2VcbjE0OnJldHVybiBOKDEsWzAsYyxiWzFdXSk7Y2FzZVxuMTU6dmFyXG5pPWJbMV0sWT1pWzNdLF89aVsyXSwkPVswLFswLGF0OSxOKDAsaVsxXSldLDBdO3JldHVybiBmKGF0JCxjLFksWzAsWzAsYXRfLFUoSyxfKV0sJF0pO2Nhc2VcbjE2OnZhclxudD1iWzFdLGFhPXRbMl07cmV0dXJuIGYoYXViLGMsYWEsWzAsWzAsYXVhLGgodFsxXSldLDBdKTtjYXNlXG4xNzp2YXJcbmQ9YlsxXSxhYj1kWzVdLGFjPWRbM10sYWQ9ZFsyXSxhZT1kWzFdLGFmPVswLFswLGF1YyxoKGRbNF0pXSwwXSxhZz1bMCxbMCxhdWQsaChhYyldLGFmXSxhaD1bMCxbMCxhdWUsaChhZCldLGFnXTtyZXR1cm4gZihhdWcsYyxhYixbMCxbMCxhdWYsaChhZSldLGFoXSk7Y2FzZVxuMTg6dmFyXG51PWJbMV0sYWk9dVsyXTtyZXR1cm4gZihhdWksYyxhaSxbMCxbMCxhdWgsYXQodVsxXSldLDBdKTtjYXNlXG4xOTpyZXR1cm4gYmYoWzAsYyxiWzFdXSk7Y2FzZVxuMjA6dmFyXG52PWJbMV0sYWs9dlszXTtyZXR1cm4gZihhdXIsYyxhayxiZyh2KSk7Y2FzZVxuMjE6dmFyXG53PWJbMV0sRj13WzFdLGFsPUZbM10sYW09WzAsWzAsYXVzLCEhd1syXV0sMF07cmV0dXJuIGYoYXV0LGMsYWwsSShiZyhGKSxhbSkpO2Nhc2VcbjIyOnZhclxueD1iWzFdLG89eFsxXSxhbj14WzJdO3JldHVybiBmKGF1dixjLGFuLFswLFswLGF1dSxVKGgsWzAsb1sxXSxbMCxvWzJdLG9bM11dXSldLDBdKTtjYXNlXG4yMzp2YXJcbno9YlsxXSxwPXpbMV0sYXA9elsyXTtyZXR1cm4gZihhdXgsYyxhcCxbMCxbMCxhdXcsVShoLFswLHBbMV0sWzAscFsyXSxwWzNdXV0pXSwwXSk7Y2FzZVxuMjQ6dmFyXG5qPWJbMV0sRz1qWzJdLGFxPWpbM10sYXI9alsxXSxhdT1HP1swLFswLGF1eSxPKEdbMV0pXSwwXTowO3JldHVybiBmKGF1QSxjLGFxLFswLFswLGF1eixiaChhcildLGF1XSk7Y2FzZVxuMjU6dmFyXG5BPWJbMV0sYXY9QVsyXTtyZXR1cm4gZihhdUYsYyxhdixbMCxbMCxhdUUsaChBWzFdKV0sMF0pO2Nhc2VcbjI2OnJldHVybiBiaShjLGJbMV0pO2Nhc2VcbjI3OnZhclxuQj1iWzFdO3JldHVybiBiaihjLEJbMl0sYXVNLEJbMV0pO2Nhc2VcbjI4OnZhclxuaz1iWzFdLGF3PWtbM10sYXg9WzAsWzAsYXVOLCEha1syXV0sMF07cmV0dXJuIGYoYXVQLGMsYXcsWzAsWzAsYXVPLFUoZnVuY3Rpb24oYSl7dmFyXG5iPWFbMl0sZD1hWzFdO3N3aXRjaChiWzBdKXtjYXNlXG4wOnJldHVybiBoKGJbMV0pO2Nhc2VcbjE6dmFyXG5jPWJbMV0saT1jWzJdLGo9Y1sxXSxrPVswLFswLGF1USwhIWNbNF1dLDBdLGw9WzAsWzAsYXVSLEQoeSxjWzNdKV0sa10sbT1bMCxbMCxhdVMsaChpKV0sbF07cmV0dXJuIGYoYXVVLGQsMCxbMCxbMCxhdVQsZyhqKV0sbV0pO2RlZmF1bHQ6dmFyXG5lPWJbMV0sbj1lWzFdLG89WzAsWzAsYXVWLGgoZVsyXSldLDBdO3JldHVybiBmKGF1WCxkLDAsWzAsWzAsYXVXLEQoZyxuKV0sb10pfX0sa1sxXSldLGF4XSk7Y2FzZVxuMjk6dmFyXG5sPWJbMV07cmV0dXJuIGYoYXUwLGMsbFszXSxbMCxbMCxhdVosTShsWzFdKV0sWzAsWzAsYXVZLE0obFsyXSldLDBdXSk7Y2FzZVxuMzA6dmFyXG5uPWJbMV07cmV0dXJuIGYoYXUzLGMsblszXSxbMCxbMCxhdTIsblsxXV0sWzAsWzAsYXUxLE0oblsyXSldLDBdXSk7Y2FzZVxuMzE6dmFyXG5DPWJbMV07cmV0dXJuIGYoYXU2LGMsQ1szXSxbMCxbMCxhdTUsYTldLFswLFswLGF1NCxNKENbMl0pXSwwXV0pO2Nhc2VcbjMyOnZhclxuRT1iWzFdLEg9RVsxXSxheT1FWzJdLGF6PTAsYUE9SD9hdTc6YXUkO3JldHVybiBmKGF1XyxjLGF5LFswLFswLGF1OSwhIUhdLFswLFswLGF1OCxNKGFBKV0sYXpdXSk7Y2FzZVxuMzM6cmV0dXJuIGYoYXM2LGMsYlsxXSwwKTtjYXNlXG4zNDpyZXR1cm4gZihhczcsYyxiWzFdLDApO2RlZmF1bHQ6cmV0dXJuIGYoYXM4LGMsYlsxXSwwKX19ZnVuY3Rpb25cbmJkKGEpe3ZhclxuYj1hWzJdLGQ9YlsyXSxlPWJbM10saT1kWzJdLGo9ZFsxXSxrPWFbMV07c3dpdGNoKGJbMV0pe2Nhc2VcbjA6dmFyXG5jPWE5O2JyZWFrO2Nhc2VcbjE6dmFyXG5jPWtsO2JyZWFrO2RlZmF1bHQ6dmFyXG5jPWtmfXZhclxubD1bMCxbMCxhc18sRChoLGkpXSxbMCxbMCxhczksY10sMF1dLG09WzAsWzAsYXMkLGcoaildLGxdO3JldHVybiBmKGF0YSxrLGFvKGUpLG0pfWZ1bmN0aW9uXG5aKGEpe3ZhclxuYj1hWzJdLGU9Yls1XSxkPWJbM10sYz1iWzJdWzJdLGc9Yls0XSxpPWNbM10saj1jWzJdLGs9Y1sxXSxsPWJbMV0sbj1hWzFdLG89YTQoYW8oY1s0XSksZykscD0wPT09ZT9hdGI6YXRoLHE9MD09PWU/MDpbMCxbMCxhdGcsRChiNSxrKV0sMF0scj1bMCxbMCxhdGMsRChtLGwpXSwwXSxzPVswLFswLGF0ZCxEKGI0LGkpXSxyXSx0PTA9PT1kWzBdP2goZFsxXSk6YmQoZFsxXSk7cmV0dXJuIGYocCxuLG8sSShbMCxbMCxhdGYsVShmdW5jdGlvbihhKXtyZXR1cm4gYmUoMCxhKX0saildLFswLFswLGF0ZSx0XSxzXV0scSkpfWZ1bmN0aW9uXG5iZShhLGIpe3ZhclxuYz1iWzJdLGQ9Y1sxXSxlPWJbMV0saT1bMCxbMCxhdGksISFjWzNdXSwwXSxqPVswLFswLGF0aixoKGNbMl0pXSxpXTtyZXR1cm4gZihhdGwsZSxhLFswLFswLGF0ayxEKGcsZCldLGpdKX1mdW5jdGlvblxuYjQoYSl7dmFyXG5iPWFbMl07cmV0dXJuIGJlKGJbMl0sYlsxXSl9ZnVuY3Rpb25cbmI1KGEpe3ZhclxuYj1hWzJdLGM9YlsyXSxkPWFbMV0sZT1bMCxbMCxhdG4saChiWzFdWzJdKV0sWzAsWzAsYXRtLCEhMF0sMF1dO3JldHVybiBmKGF0cCxkLGMsWzAsWzAsYXRvLEQoZywwKV0sZV0pfWZ1bmN0aW9uXG5OKGEsYil7dmFyXG5jPWJbMl0saT1jWzRdLGo9Y1syXSxsPWNbMV0sbT1iWzFdLGQ9YVYoZnVuY3Rpb24oYSxiKXt2YXJcbmQ9YVs0XSxlPWFbM10saT1hWzJdLGo9YVsxXTtzd2l0Y2goYlswXSl7Y2FzZVxuMDp2YXJcbng9YlsxXSxjPXhbMl0scz1jWzJdLHE9Y1sxXSxKPWNbOF0sSz1jWzddLEw9Y1s2XSxOPWNbNV0sTz1jWzRdLFA9Y1szXSxRPXhbMV07c3dpdGNoKHFbMF0pe2Nhc2VcbjA6dmFyXG5sPWsocVsxXSk7YnJlYWs7Y2FzZVxuMTp2YXJcbmw9cChxWzFdKTticmVhaztjYXNlXG4yOnZhclxubD1yKHFbMV0pO2JyZWFrO2Nhc2VcbjM6dmFyXG5sPWcocVsxXSk7YnJlYWs7Y2FzZVxuNDp2YXJcbmw9RShhdEspO2JyZWFrO2RlZmF1bHQ6dmFyXG5sPUUoYXRMKX1zd2l0Y2goc1swXSl7Y2FzZVxuMDp2YXJcbnY9YXR5LHU9aChzWzFdKTticmVhaztjYXNlXG4xOnZhclxuRz1zWzFdLHY9YXRJLHU9WihbMCxHWzFdLEdbMl1dKTticmVhaztkZWZhdWx0OnZhclxuSD1zWzFdLHY9YXRKLHU9WihbMCxIWzFdLEhbMl1dKX1yZXR1cm5bMCxbMCxmKGF0SCxRLEosWzAsWzAsYXRHLGxdLFswLFswLGF0Rix1XSxbMCxbMCxhdEUsISFMXSxbMCxbMCxhdEQsISFQXSxbMCxbMCxhdEMsISFPXSxbMCxbMCxhdEIsISFOXSxbMCxbMCxhdEEsRCh5LEspXSxbMCxbMCxhdHosTSh2KV0sMF1dXV1dXV1dKSxqXSxpLGUsZF07Y2FzZVxuMTp2YXJcbno9YlsxXSxJPXpbMl0sUj1JWzJdLFM9elsxXTtyZXR1cm5bMCxbMCxmKGF0TixTLFIsWzAsWzAsYXRNLGgoSVsxXSldLDBdKSxqXSxpLGUsZF07Y2FzZVxuMjp2YXJcbkE9YlsxXSxtPUFbMl0sVD1tWzZdLFU9bVs0XSxWPW1bM10sVz1tWzJdLFg9bVsxXSxZPUFbMV0sXz1bMCxbMCxhdFAsISFVXSxbMCxbMCxhdE8sRCh5LG1bNV0pXSwwXV0sJD1bMCxbMCxhdFEsaChWKV0sX10sYWE9WzAsWzAsYXRSLGgoVyldLCRdO3JldHVyblswLGosWzAsZihhdFQsWSxULFswLFswLGF0UyxEKGcsWCldLGFhXSksaV0sZSxkXTtjYXNlXG4zOnZhclxuQj1iWzFdLHc9QlsyXSxhYj13WzNdLGFjPUJbMV0sYWQ9WzAsWzAsYXRVLCEhd1syXV0sMF07cmV0dXJuWzAsaixpLFswLGYoYXRXLGFjLGFiLFswLFswLGF0VixaKHdbMV0pXSxhZF0pLGVdLGRdO2Nhc2VcbjQ6dmFyXG5DPWJbMV0sbz1DWzJdLGFvPW9bNl0sYXA9b1s1XSxhcT1vWzRdLGFyPW9bM10sYXM9b1sxXSxhdT1DWzFdLGF2PVswLFswLGF0NiwhIWFyXSxbMCxbMCxhdDUsISFhcV0sWzAsWzAsYXQ0LCEhYXBdLFswLFswLGF0MyxoKG9bMl0pXSwwXV1dXTtyZXR1cm5bMCxqLGksZSxbMCxmKGF0OCxhdSxhbyxbMCxbMCxhdDcsZyhhcyldLGF2XSksZF1dO2RlZmF1bHQ6dmFyXG5GPWJbMV0sbj1GWzJdLGFlPW5bNl0sYWY9bls0XSxhZz1uWzNdLGFoPW5bMl0sYWk9blsxXSxhaj1GWzFdLGFrPTA7c3dpdGNoKG5bNV0pe2Nhc2VcbjA6dmFyXG50PVwiUGx1c09wdGlvbmFsXCI7YnJlYWs7Y2FzZVxuMTp2YXJcbnQ9XCJNaW51c09wdGlvbmFsXCI7YnJlYWs7Y2FzZVxuMjp2YXJcbnQ9XCJPcHRpb25hbFwiO2JyZWFrO2RlZmF1bHQ6dmFyXG50PWE5fXZhclxuYWw9WzAsWzAsYXRZLEQoeSxhZildLFswLFswLGF0WCx0XSxha11dLGFtPVswLFswLGF0WixoKGFnKV0sYWxdLGFuPVswLFswLGF0MCxoKGFoKV0sYW1dO3JldHVyblswLFswLGYoYXQyLGFqLGFlLFswLFswLGF0MSxhdChhaSldLGFuXSksal0saSxlLGRdfX0sYXRxLGNbM10pLG49ZFszXSxvPWRbMl0scT1kWzFdLHM9WzAsWzAsYXRyLGFHKEIoZFs0XSkpXSwwXSx0PVswLFswLGF0cyxhRyhCKG4pKV0sc10sdT1bMCxbMCxhdHQsYUcoQihvKSldLHRdLGU9WzAsWzAsYXR2LCEhbF0sWzAsWzAsYXR1LGFHKEIocSkpXSx1XV0sdj1hP1swLFswLGF0dywhIWpdLGVdOmU7cmV0dXJuIGYoYXR4LG0sYW8oaSksdil9ZnVuY3Rpb25cbmFyKGEpe3ZhclxuYz1hWzJdLGI9Y1sxXSxkPWNbMl0sZT1hWzFdLGg9MD09PWJbMF0/ZyhiWzFdKTphcihiWzFdKTtyZXR1cm4gZihhdWwsZSwwLFswLFswLGF1ayxoXSxbMCxbMCxhdWosZyhkKV0sMF1dKX1mdW5jdGlvblxuYmYoYSl7dmFyXG5iPWFbMl0sYz1iWzFdLGQ9YlszXSxlPWJbMl0saD1hWzFdLGk9MD09PWNbMF0/ZyhjWzFdKTphcihjWzFdKTtyZXR1cm4gZihhdW8saCxkLFswLFswLGF1bixpXSxbMCxbMCxhdW0sRChPLGUpXSwwXV0pfWZ1bmN0aW9uXG5iZyhhKXt2YXJcbmI9YVsxXSxjPVswLFswLGF1cCxoKGFbMl0pXSwwXTtyZXR1cm5bMCxbMCxhdXEsaChiKV0sY119ZnVuY3Rpb25cbmJoKGEpe2lmKDA9PT1hWzBdKXJldHVybiBnKGFbMV0pO3ZhclxuYj1hWzFdLGM9YlsyXSxkPWNbMl0sZT1iWzFdLGg9YmgoY1sxXSk7cmV0dXJuIGYoYXVELGUsMCxbMCxbMCxhdUMsaF0sWzAsWzAsYXVCLGcoZCldLDBdXSl9ZnVuY3Rpb25cbmFzKGEpe3JldHVybiAwPT09YVswXT9hOTpiaShhWzFdLGFbMl0pfWZ1bmN0aW9uXG5iaShhLGIpe3ZhclxuZD1iWzNdLGU9YlsyXTtzd2l0Y2goYls0XSl7Y2FzZVxuMDp2YXJcbmM9YXVHO2JyZWFrO2Nhc2VcbjE6dmFyXG5jPWF1SDticmVhaztkZWZhdWx0OnZhclxuYz1hdUl9cmV0dXJuIGJqKGEsZCxjLGUpfWZ1bmN0aW9uXG5iaihhLGIsYyxkKXtyZXR1cm4gZihhdUwsYSxiLFswLFswLGF1SyxNKGMpXSxbMCxbMCxhdUosaChkKV0sMF1dKX1mdW5jdGlvblxucShhKXt2YXJcbmI9YVsxXTtyZXR1cm4gZihhdmMsYiwwLFswLFswLGF2YixoKGFbMl0pXSwwXSl9ZnVuY3Rpb25cbm0oYSl7dmFyXG5iPWFbMl0sYz1iWzJdLGQ9YVsxXSxlPVswLFswLGF2ZixVKGF0LGJbMV0pXSwwXTtyZXR1cm4gZihhdmcsZCxhbyhjKSxlKX1mdW5jdGlvblxuYXQoYSl7dmFyXG5iPWFbMl0sYz1iWzFdWzJdLGQ9Yls1XSxlPWJbNF0sZz1iWzJdLGk9Y1syXSxqPWNbMV0saz1hWzFdLGw9YlszXT9bMCxbMCxhdmgsISExXSwwXTowLG09WzAsWzAsYXZpLEQoaCxkKV0sMF0sbj1bMCxbMCxhdmosRCh5LGUpXSxtXTtyZXR1cm4gZihhdm0sayxpLEkoWzAsWzAsYXZsLE0oaildLFswLFswLGF2ayxqMChxLGcpXSxuXV0sbCkpfWZ1bmN0aW9uXG5PKGEpe3ZhclxuYj1hWzJdLGM9YlsyXSxkPWFbMV0sZT1bMCxbMCxhdm4sVShoLGJbMV0pXSwwXTtyZXR1cm4gZihhdm8sZCxhbyhjKSxlKX1mdW5jdGlvblxuYXUoYSl7dmFyXG5iPWFbMl0sYz1iWzJdLGQ9YVsxXSxlPVswLFswLGF2cCxVKGI2LGJbMV0pXSwwXTtyZXR1cm4gZihhdnEsZCxhbyhjKSxlKX1mdW5jdGlvblxuYjYoYSl7aWYoMD09PWFbMF0pcmV0dXJuIGgoYVsxXSk7dmFyXG5iPWFbMV0sYz1iWzFdLGQ9YlsyXVsxXTtyZXR1cm4gYmYoWzAsYyxbMCxbMCxjcCgwLFswLGMsYXZyXSldLDAsZF1dKX1mdW5jdGlvblxuYmsoYSl7dmFyXG5iPWFbMl0sZD1iWzFdLGc9Yls0XSxoPWJbMl0saT1hWzFdLGo9WzAsWzAsYXZzLFUoYm0sYlszXVsyXSldLDBdLGs9WzAsWzAsYXZ0LEQoYjgsaCldLGpdLGM9ZFsyXSxlPWNbMl0sbD1jWzRdLG09Y1szXSxuPWNbMV0sbz1kWzFdLHA9ZT9bMCxbMCxhdkEsYXUoZVsxXSldLDBdOjAscT1bMCxbMCxhdkMsVShiNyxsKV0sWzAsWzAsYXZCLCEhbV0sMF1dO3JldHVybiBmKGF2dixpLGcsWzAsWzAsYXZ1LGYoYXZFLG8sMCxJKFswLFswLGF2RCxibihuKV0scV0scCkpXSxrXSl9ZnVuY3Rpb25cbmJsKGEpe3ZhclxuYj1hWzJdLGM9Yls0XSxkPWJbM11bMl0sZT1iWzFdLGc9YVsxXSxoPVswLFswLGF2dyxmKGF2SSxiWzJdLDAsMCldLDBdLGk9WzAsWzAsYXZ4LFUoYm0sZCldLGhdO3JldHVybiBmKGF2eixnLGMsWzAsWzAsYXZ5LGYoYXZGLGUsMCwwKV0saV0pfWZ1bmN0aW9uXG5iNyhhKXtpZigwPT09YVswXSl7dmFyXG5kPWFbMV0sZz1kWzJdLGI9Z1sxXSxpPWdbMl0saj1kWzFdLGs9MD09PWJbMF0/SChiWzFdKTpicShiWzFdKTtyZXR1cm4gZihhdkwsaiwwLFswLFswLGF2SyxrXSxbMCxbMCxhdkosRChiOSxpKV0sMF1dKX12YXJcbmU9YVsxXSxoPWVbMl0sbD1oWzJdLG09ZVsxXTtyZXR1cm4gZihhdk4sbSxsLFswLFswLGF2TSxjKGhbMV0pXSwwXSl9ZnVuY3Rpb25cbmI4KGEpe3ZhclxuYj1hWzFdO3JldHVybiBmKGF2SCxiLDAsWzAsWzAsYXZHLGJuKGFbMl1bMV0pXSwwXSl9ZnVuY3Rpb25cbmJtKGEpe3ZhclxuYj1hWzJdLGQ9YVsxXTtzd2l0Y2goYlswXSl7Y2FzZVxuMDpyZXR1cm4gYmsoWzAsZCxiWzFdXSk7Y2FzZVxuMTpyZXR1cm4gYmwoWzAsZCxiWzFdXSk7Y2FzZVxuMjpyZXR1cm4gYm8oWzAsZCxiWzFdXSk7Y2FzZVxuMzp2YXJcbmU9YlsxXSxoPWVbMl07cmV0dXJuIGYoYXZTLGQsaCxbMCxbMCxhdlIsYyhlWzFdKV0sMF0pO2RlZmF1bHQ6dmFyXG5nPWJbMV07cmV0dXJuIGYoYXZWLGQsMCxbMCxbMCxhdlUsTShnWzFdKV0sWzAsWzAsYXZULE0oZ1syXSldLDBdXSl9fWZ1bmN0aW9uXG5ibihhKXtzd2l0Y2goYVswXSl7Y2FzZVxuMDpyZXR1cm4gSChhWzFdKTtjYXNlXG4xOnJldHVybiBicShhWzFdKTtkZWZhdWx0OnJldHVybiBicChhWzFdKX19ZnVuY3Rpb25cbmI5KGEpe2lmKDA9PT1hWzBdKXt2YXJcbmI9YVsxXTtyZXR1cm4gayhbMCxiWzFdLGJbMl1dKX12YXJcbmM9YVsxXTtyZXR1cm4gYm8oWzAsY1sxXSxjWzJdXSl9ZnVuY3Rpb25cbmJvKGEpe3ZhclxuZD1hWzJdLGU9ZFsxXSxiPWFbMV0sZz1kWzJdLGg9ZT9jKGVbMV0pOmYoYXZRLFswLGJbMV0sWzAsYlsyXVsxXSxiWzJdWzJdKzF8MF0sWzAsYlszXVsxXSxiWzNdWzJdLTF8MF1dLDAsMCk7cmV0dXJuIGYoYXZQLGIsYW8oZyksWzAsWzAsYXZPLGhdLDBdKX1mdW5jdGlvblxuYnAoYSl7dmFyXG5jPWFbMl0sYj1jWzFdLGQ9Y1syXSxlPWFbMV0sZz0wPT09YlswXT9IKGJbMV0pOmJwKGJbMV0pO3JldHVybiBmKGF2WSxlLDAsWzAsWzAsYXZYLGddLFswLFswLGF2VyxIKGQpXSwwXV0pfWZ1bmN0aW9uXG5icShhKXt2YXJcbmI9YVsyXSxjPWJbMV0sZD1hWzFdLGU9WzAsWzAsYXZaLEgoYlsyXSldLDBdO3JldHVybiBmKGF2MSxkLDAsWzAsWzAsYXYwLEgoYyldLGVdKX1mdW5jdGlvblxuSChhKXt2YXJcbmI9YVsyXTtyZXR1cm4gZihhdjMsYVsxXSxiWzJdLFswLFswLGF2MixNKGJbMV0pXSwwXSl9ZnVuY3Rpb25cbmJfKGEpe3ZhclxuYj1hWzJdLGM9YlsyXSxkPWJbMV0sZT1hWzFdLGg9Yz9nKGNbMV0pOmcoZCk7cmV0dXJuIGYoYXY2LGUsMCxbMCxbMCxhdjUsZyhkKV0sWzAsWzAsYXY0LGhdLDBdXSl9ZnVuY3Rpb25cblAoYSl7cmV0dXJuIFUoYiQsYSl9ZnVuY3Rpb25cbmIkKGEpe3ZhclxuYj1hWzJdLGU9YVsxXTtpZihiWzFdKXZhclxuZD1iWzJdLGM9YXdkO2Vsc2VcbnZhclxuZD1iWzJdLGM9YXdmO3JldHVybiBmKGMsZSwwLFswLFswLGF3ZSxNKGQpXSwwXSl9ZnVuY3Rpb25cbl8oYSl7dmFyXG5iPWFbMl0sZD1iWzFdLGg9YlsyXSxpPWFbMV07aWYoZCl2YXJcbmc9WzAsWzAsYXdnLGMoZFsxXSldLDBdLGU9YXdoO2Vsc2VcbnZhclxuZz0wLGU9YXdpO3JldHVybiBmKGUsaSxoLGcpfWZ1bmN0aW9uXG5icihhKXt2YXJcbmI9YVsyXSxkPWFbMV0sZT1bMCxbMCxhd2osYVAoYVszXSldLDBdLGY9WzAsWzAsYXdrLEQoYXUsYildLGVdO3JldHVyblswLFswLGF3bCxjKGQpXSxmXX1mdW5jdGlvblxuYnMoYSl7dmFyXG5iPWFbMl0sZj1hWzFdO3N3aXRjaChiWzBdKXtjYXNlXG4wOnZhclxuZT0wLGQ9ZyhiWzFdKTticmVhaztjYXNlXG4xOnZhclxuZT0wLGQ9YWgoYlsxXSk7YnJlYWs7ZGVmYXVsdDp2YXJcbmU9MSxkPWMoYlsxXSl9cmV0dXJuWzAsWzAsYXdvLGMoZildLFswLFswLGF3bixkXSxbMCxbMCxhd20sISFlXSwwXV1dfXZhclxuYWE9YUFbMl0sYnQ9YWFbMl0sY2E9YWFbNF0sY2I9YWFbM10sY2M9YUFbMV0sY2Q9YU0oYWFbMV0pLGJ1PVswLFswLGFrRSxjZF0sWzAsWzAsYWtELFAoY2EpXSwwXV07aWYoYnQpdmFyXG5idj1idFsxXSxidz1JKGJ1LFswLFswLGFrSCxmKGFrRyxidlsxXSwwLFswLFswLGFrRixNKGJ2WzJdKV0sMF0pXSwwXSk7ZWxzZVxudmFyXG5idz1idTt2YXJcbmF2PWYoYWtJLGNjLGNiLGJ3KTthdltcImVycm9yc1wiXT1VKGZ1bmN0aW9uKGEpe3ZhclxuYj1hWzFdLGM9WzAsWzAsYWt1LE0oU1ooYVsyXSkpXSwwXTtyZXR1cm4gY1MoWzAsWzAsYWt2LEkkKGIpXSxjXSl9LEkoVixKY1sxXSkpO2lmKGJCKWF2W0pfXT1hRyhsOChmdW5jdGlvbihhKXt2YXJcbmQ9YVsyXSxiPWFbMV0sZT1hWzNdLGY9WzAsWzAsYWdoLE0ocjIoZCkpXSwwXSxnPVswLG05KFQsYlszXSksMF0saD1bMCxbMCxhZ2ksYUcoWzAsbTkoVCxiWzJdKSxnXSldLGZdLGk9WzAsWzAsYWdsLGNTKFswLFswLGFnayxiWzNdWzFdXSxbMCxbMCxhZ2osYlszXVsyXV0sMF1dKV0sMF0saj1bMCxbMCxhZ3AsY1MoWzAsWzAsYWdvLGNTKFswLFswLGFnbixiWzJdWzFdXSxbMCxbMCxhZ20sYlsyXVsyXV0sMF1dKV0saV0pXSxoXTtzd2l0Y2goZSl7Y2FzZVxuMDp2YXJcbmM9YWdxO2JyZWFrO2Nhc2VcbjE6dmFyXG5jPWFndDticmVhaztjYXNlXG4yOnZhclxuYz1hZ3U7YnJlYWs7Y2FzZVxuMzp2YXJcbmM9YWd2O2JyZWFrO2Nhc2VcbjQ6dmFyXG5jPWFndzticmVhaztkZWZhdWx0OnZhclxuYz1hZ3h9cmV0dXJuIGNTKFswLFswLGFncyxNKEdvKGQpKV0sWzAsWzAsYWdyLE0oYyldLGpdXSl9LGF6WzFdKSk7cmV0dXJuIGF2fWlmKHR5cGVvZlxuZXhwb3J0cyE9PVwidW5kZWZpbmVkXCIpdmFyXG5KZD1leHBvcnRzO2Vsc2V7dmFyXG5KZT17fTtoU1tcImZsb3dcIl09SmU7dmFyXG5KZD1KZX1KZFtcInBhcnNlXCJdPWF4bShmdW5jdGlvbihhLGIpe3RyeXt2YXJcbmQ9YXdFKGEsYik7cmV0dXJuIGR9Y2F0Y2goZil7dmFyXG5jPWFDKGYpO3JldHVybiBjWzFdPT09czI/SmIoY1syXSk6SmIobmV3XG5hd3coTShKKGF3RyxrSihjKSkpKSl9fSk7cmgobCk7cmV0dXJufShnbG9iYWxUaGlzKSk7XG4iLCAiXG4vKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuY29uc3QgZmxvd1BhcnNlciA9IHJlcXVpcmUoJ2Zsb3ctcGFyc2VyJyk7XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zID0ge1xuICBlbnVtczogdHJ1ZSxcbiAgZXNwcm9wb3NhbF9jbGFzc19pbnN0YW5jZV9maWVsZHM6IHRydWUsXG4gIGVzcHJvcG9zYWxfY2xhc3Nfc3RhdGljX2ZpZWxkczogdHJ1ZSxcbiAgZXNwcm9wb3NhbF9kZWNvcmF0b3JzOiB0cnVlLFxuICBlc3Byb3Bvc2FsX2V4cG9ydF9zdGFyX2FzOiB0cnVlLFxuICBlc3Byb3Bvc2FsX29wdGlvbmFsX2NoYWluaW5nOiB0cnVlLFxuICBlc3Byb3Bvc2FsX251bGxpc2hfY29hbGVzY2luZzogdHJ1ZSxcbiAgdG9rZW5zOiB0cnVlLFxuICB0eXBlczogdHJ1ZSxcbn07XG5cbi8qKlxuICogV3JhcHBlciB0byBzZXQgZGVmYXVsdCBvcHRpb25zXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24ob3B0aW9ucz1kZWZhdWx0T3B0aW9ucykge1xuICByZXR1cm4ge1xuICAgIHBhcnNlKGNvZGUpIHtcbiAgICAgIHJldHVybiBmbG93UGFyc2VyLnBhcnNlKGNvZGUsIG9wdGlvbnMpO1xuICAgIH0sXG4gIH07XG59O1xuIiwgIlxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbi8qKlxuICogT3B0aW9ucyBzaGFyZWQgYnkgdGhlIFR5cGVTY3JpcHQgYW5kIFRTWCBwYXJzZXJzLlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgc291cmNlVHlwZTogJ21vZHVsZScsXG4gIGFsbG93SW1wb3J0RXhwb3J0RXZlcnl3aGVyZTogdHJ1ZSxcbiAgYWxsb3dSZXR1cm5PdXRzaWRlRnVuY3Rpb246IHRydWUsXG4gIHN0YXJ0TGluZTogMSxcbiAgdG9rZW5zOiB0cnVlLFxuICBwbHVnaW5zOiBbXG4gICAgJ2FzeW5jR2VuZXJhdG9ycycsXG4gICAgJ2JpZ0ludCcsXG4gICAgJ2NsYXNzUHJpdmF0ZU1ldGhvZHMnLFxuICAgICdjbGFzc1ByaXZhdGVQcm9wZXJ0aWVzJyxcbiAgICAnY2xhc3NQcm9wZXJ0aWVzJyxcbiAgICAnZGVjb3JhdG9ycy1sZWdhY3knLFxuICAgICdkb0V4cHJlc3Npb25zJyxcbiAgICAnZHluYW1pY0ltcG9ydCcsXG4gICAgJ2V4cG9ydERlZmF1bHRGcm9tJyxcbiAgICAnZXhwb3J0RXh0ZW5zaW9ucycsXG4gICAgJ2V4cG9ydE5hbWVzcGFjZUZyb20nLFxuICAgICdmdW5jdGlvbkJpbmQnLFxuICAgICdmdW5jdGlvblNlbnQnLFxuICAgICdpbXBvcnRNZXRhJyxcbiAgICAnbnVsbGlzaENvYWxlc2NpbmdPcGVyYXRvcicsXG4gICAgJ251bWVyaWNTZXBhcmF0b3InLFxuICAgICdvYmplY3RSZXN0U3ByZWFkJyxcbiAgICAnb3B0aW9uYWxDYXRjaEJpbmRpbmcnLFxuICAgICdvcHRpb25hbENoYWluaW5nJyxcbiAgICBbJ3BpcGVsaW5lT3BlcmF0b3InLCB7IHByb3Bvc2FsOiAnbWluaW1hbCcgfV0sXG4gICAgJ3Rocm93RXhwcmVzc2lvbnMnLFxuICAgICd0eXBlc2NyaXB0J1xuICBdLFxufTtcbiIsICJcbi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBiYWJ5bG9uID0gcmVxdWlyZSgnQGJhYmVsL3BhcnNlcicpO1xuY29uc3Qgb3B0aW9ucyA9IHJlcXVpcmUoJy4vdHNPcHRpb25zJyk7XG5cbi8qKlxuICogRG9lc24ndCBhY2NlcHQgY3VzdG9tIG9wdGlvbnMgYmVjYXVzZSBiYWJ5bG9uIHNob3VsZCBiZSB1c2VkIGRpcmVjdGx5IGluXG4gKiB0aGF0IGNhc2UuXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiB7XG4gICAgcGFyc2UoY29kZSkge1xuICAgICAgcmV0dXJuIGJhYnlsb24ucGFyc2UoY29kZSwgb3B0aW9ucyk7XG4gICAgfSxcbiAgfTtcbn07XG4iLCAiXG4vKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxuY29uc3QgYmFieWxvbiA9IHJlcXVpcmUoJ0BiYWJlbC9wYXJzZXInKTtcbmNvbnN0IGJhc2VPcHRpb25zID0gcmVxdWlyZSgnLi90c09wdGlvbnMnKTtcblxuY29uc3Qgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIGJhc2VPcHRpb25zKTtcbm9wdGlvbnMucGx1Z2lucyA9IFsnanN4J10uY29uY2F0KGJhc2VPcHRpb25zLnBsdWdpbnMpO1xuXG4vKipcbiAqIERvZXNuJ3QgYWNjZXB0IGN1c3RvbSBvcHRpb25zIGJlY2F1c2UgYmFieWxvbiBzaG91bGQgYmUgdXNlZCBkaXJlY3RseSBpblxuICogdGhhdCBjYXNlLlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKCkge1xuICByZXR1cm4ge1xuICAgIHBhcnNlKGNvZGUpIHtcbiAgICAgIHJldHVybiBiYWJ5bG9uLnBhcnNlKGNvZGUsIG9wdGlvbnMpO1xuICAgIH0sXG4gIH07XG59O1xuIiwgIlxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5cbmNvbnN0IGJhYnlsb24gPSByZXF1aXJlKCdAYmFiZWwvcGFyc2VyJyk7XG5cbi8vIFRoZXNlIGFyZSB0aGUgb3B0aW9ucyB0aGF0IHdlcmUgdGhlIGRlZmF1bHQgb2YgdGhlIEJhYmVsNSBwYXJzZSBmdW5jdGlvblxuLy8gc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9iYWJlbC9iYWJlbC9ibG9iLzUueC9wYWNrYWdlcy9iYWJlbC9zcmMvYXBpL25vZGUuanMjTDgxXG5jb25zdCBvcHRpb25zID0ge1xuICBzb3VyY2VUeXBlOiAnbW9kdWxlJyxcbiAgYWxsb3dIYXNoQmFuZzogdHJ1ZSxcbiAgZWNtYVZlcnNpb246IEluZmluaXR5LFxuICBhbGxvd0ltcG9ydEV4cG9ydEV2ZXJ5d2hlcmU6IHRydWUsXG4gIGFsbG93UmV0dXJuT3V0c2lkZUZ1bmN0aW9uOiB0cnVlLFxuICBzdGFydExpbmU6IDEsXG4gIHRva2VuczogdHJ1ZSxcbiAgcGx1Z2luczogW1xuICAgICdlc3RyZWUnLFxuICAgICdqc3gnLFxuICAgICdhc3luY0dlbmVyYXRvcnMnLFxuICAgICdjbGFzc1Byb3BlcnRpZXMnLFxuICAgICdkb0V4cHJlc3Npb25zJyxcbiAgICAnZXhwb3J0RXh0ZW5zaW9ucycsXG4gICAgJ2Z1bmN0aW9uQmluZCcsXG4gICAgJ2Z1bmN0aW9uU2VudCcsXG4gICAgJ29iamVjdFJlc3RTcHJlYWQnLFxuICAgICdkeW5hbWljSW1wb3J0JyxcbiAgICAnbnVsbGlzaENvYWxlc2NpbmdPcGVyYXRvcicsXG4gICAgJ29wdGlvbmFsQ2hhaW5pbmcnLFxuICAgIFsnZGVjb3JhdG9ycycsIHtkZWNvcmF0b3JzQmVmb3JlRXhwb3J0OiBmYWxzZX1dLFxuICBdLFxufTtcblxuLyoqXG4gKiBXcmFwcGVyIHRvIHNldCBkZWZhdWx0IG9wdGlvbnMuIERvZXNuJ3QgYWNjZXB0IGN1c3RvbSBvcHRpb25zIGJlY2F1c2UgaW4gdGhhdFxuICogY2FzZSBiYWJ5bG9uIHNob3VsZCBiZSB1c2VkIGluc3RlYWQuXG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oKSB7XG4gIHJldHVybiB7XG4gICAgcGFyc2UoY29kZSkge1xuICAgICAgcmV0dXJuIGJhYnlsb24ucGFyc2UoY29kZSwgb3B0aW9ucyk7XG4gICAgfSxcbiAgfTtcbn07XG4iLCAiXG4vKipcbiAqIENvcHlyaWdodCAoYykgRmFjZWJvb2ssIEluYy4gYW5kIGl0cyBhZmZpbGlhdGVzLlxuICpcbiAqIFRoaXMgc291cmNlIGNvZGUgaXMgbGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICovXG5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiBnZXRQYXJzZXIocGFyc2VyTmFtZSwgb3B0aW9ucykge1xuICBzd2l0Y2ggKHBhcnNlck5hbWUpIHtcbiAgICBjYXNlICdiYWJ5bG9uJzpcbiAgICAgIHJldHVybiByZXF1aXJlKCcuLi9wYXJzZXIvYmFieWxvbicpKG9wdGlvbnMpO1xuICAgIGNhc2UgJ2Zsb3cnOlxuICAgICAgcmV0dXJuIHJlcXVpcmUoJy4uL3BhcnNlci9mbG93Jykob3B0aW9ucyk7XG4gICAgY2FzZSAndHMnOlxuICAgICAgcmV0dXJuIHJlcXVpcmUoJy4uL3BhcnNlci90cycpKG9wdGlvbnMpO1xuICAgIGNhc2UgJ3RzeCc6XG4gICAgICByZXR1cm4gcmVxdWlyZSgnLi4vcGFyc2VyL3RzeCcpKG9wdGlvbnMpO1xuICAgIGNhc2UgJ2JhYmVsJzpcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIHJlcXVpcmUoJy4uL3BhcnNlci9iYWJlbDVDb21wYXQnKShvcHRpb25zKTtcbiAgfVxufTtcbiIsICJcbi8qKlxuICogQ29weXJpZ2h0IChjKSBGYWNlYm9vaywgSW5jLiBhbmQgaXRzIGFmZmlsaWF0ZXMuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgTUlUIGxpY2Vuc2UgZm91bmQgaW4gdGhlXG4gKiBMSUNFTlNFIGZpbGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoaXMgc291cmNlIHRyZWUuXG4gKi9cblxuJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCByZWNhc3QgPSByZXF1aXJlKCdyZWNhc3QnKTtcblxuY29uc3QgYnVpbGRlcnMgPSByZWNhc3QudHlwZXMuYnVpbGRlcnM7XG5jb25zdCB0eXBlcyA9IHJlY2FzdC50eXBlcy5uYW1lZFR5cGVzO1xuXG5mdW5jdGlvbiBzcGxpY2UoYXJyLCBlbGVtZW50LCByZXBsYWNlbWVudCkge1xuICBhcnIuc3BsaWNlLmFwcGx5KGFyciwgW2Fyci5pbmRleE9mKGVsZW1lbnQpLCAxXS5jb25jYXQocmVwbGFjZW1lbnQpKTtcbn1cblxuZnVuY3Rpb24gY2xlYW5Mb2NhdGlvbihub2RlKSB7XG4gIGRlbGV0ZSBub2RlLnN0YXJ0O1xuICBkZWxldGUgbm9kZS5lbmQ7XG4gIGRlbGV0ZSBub2RlLmxvYztcbiAgcmV0dXJuIG5vZGU7XG59XG5cbmZ1bmN0aW9uIGVuc3VyZVN0YXRlbWVudChub2RlKSB7XG4gIHJldHVybiB0eXBlcy5TdGF0ZW1lbnQuY2hlY2sobm9kZSkgP1xuICAgIC8vIFJlbW92aW5nIHRoZSBsb2NhdGlvbiBpbmZvcm1hdGlvbiBzZWVtcyB0byBlbnN1cmUgdGhhdCB0aGUgbm9kZSBpc1xuICAgIC8vIGNvcnJlY3RseSByZXByaW50ZWQgd2l0aCBhIHRyYWlsaW5nIHNlbWljb2xvblxuICAgIGNsZWFuTG9jYXRpb24obm9kZSkgOlxuICAgIGJ1aWxkZXJzLmV4cHJlc3Npb25TdGF0ZW1lbnQobm9kZSk7XG59XG5cbmZ1bmN0aW9uIGdldFZpc3Rvcih2YXJOYW1lcywgbm9kZXMpIHtcbiAgcmV0dXJuIHtcbiAgICB2aXNpdElkZW50aWZpZXI6IGZ1bmN0aW9uKHBhdGgpIHtcbiAgICAgIHRoaXMudHJhdmVyc2UocGF0aCk7XG4gICAgICBjb25zdCBub2RlID0gcGF0aC5ub2RlO1xuICAgICAgY29uc3QgcGFyZW50ID0gcGF0aC5wYXJlbnQubm9kZTtcblxuICAgICAgLy8gSWYgdGhpcyBpZGVudGlmaWVyIGlzIG5vdCBvbmUgb2Ygb3VyIGdlbmVyYXRlZCBvbmVzLCBkbyBub3RoaW5nXG4gICAgICBjb25zdCB2YXJJbmRleCA9IHZhck5hbWVzLmluZGV4T2Yobm9kZS5uYW1lKTtcbiAgICAgIGlmICh2YXJJbmRleCA9PT0gLTEpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsZXQgcmVwbGFjZW1lbnQgPSBub2Rlc1t2YXJJbmRleF07XG4gICAgICBub2Rlc1t2YXJJbmRleF0gPSBudWxsO1xuXG4gICAgICAvLyBJZiB0aGUgcmVwbGFjZW1lbnQgaXMgYW4gYXJyYXksIHdlIG5lZWQgdG8gZXhwbG9kZSB0aGUgbm9kZXMgaW4gY29udGV4dFxuICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVwbGFjZW1lbnQpKSB7XG5cbiAgICAgICAgaWYgKHR5cGVzLkZ1bmN0aW9uLmNoZWNrKHBhcmVudCkgJiZcbiAgICAgICAgICAgIHBhcmVudC5wYXJhbXMuaW5kZXhPZihub2RlKSA+IC0xKSB7XG4gICAgICAgICAgLy8gRnVuY3Rpb24gcGFyYW1ldGVyczogZnVuY3Rpb24gZm9vKCR7YmFyfSkge31cbiAgICAgICAgICBzcGxpY2UocGFyZW50LnBhcmFtcywgbm9kZSwgcmVwbGFjZW1lbnQpO1xuICAgICAgICB9IGVsc2UgaWYgKHR5cGVzLlZhcmlhYmxlRGVjbGFyYXRvci5jaGVjayhwYXJlbnQpKSB7XG4gICAgICAgICAgLy8gVmFyaWFibGUgZGVjbGFyYXRpb25zOiB2YXIgZm9vID0gJHtiYXJ9LCBiYXogPSA0MjtcbiAgICAgICAgICBzcGxpY2UoXG4gICAgICAgICAgICBwYXRoLnBhcmVudC5wYXJlbnQubm9kZS5kZWNsYXJhdGlvbnMsXG4gICAgICAgICAgICBwYXJlbnQsXG4gICAgICAgICAgICByZXBsYWNlbWVudFxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZXMuQXJyYXlFeHByZXNzaW9uLmNoZWNrKHBhcmVudCkpIHtcbiAgICAgICAgICAvLyBBcnJheXM6IHZhciBmb28gPSBbJHtiYXJ9LCBiYXpdO1xuICAgICAgICAgIHNwbGljZShwYXJlbnQuZWxlbWVudHMsIG5vZGUsIHJlcGxhY2VtZW50KTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlcy5Qcm9wZXJ0eS5jaGVjayhwYXJlbnQpICYmIHBhcmVudC5zaG9ydGhhbmQpIHtcbiAgICAgICAgICAvLyBPYmplY3RzOiB2YXIgZm9vID0geyR7YmFyfSwgYmF6OiA0Mn07XG4gICAgICAgICAgc3BsaWNlKFxuICAgICAgICAgICAgcGF0aC5wYXJlbnQucGFyZW50Lm5vZGUucHJvcGVydGllcyxcbiAgICAgICAgICAgIHBhcmVudCxcbiAgICAgICAgICAgIHJlcGxhY2VtZW50XG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlcy5DYWxsRXhwcmVzc2lvbi5jaGVjayhwYXJlbnQpICYmXG4gICAgICAgICAgICBwYXJlbnQuYXJndW1lbnRzLmluZGV4T2Yobm9kZSkgPiAtMSkge1xuICAgICAgICAgIC8vIEZ1bmN0aW9uIGNhbGwgYXJndW1lbnRzOiBmb28oJHtiYXJ9LCBiYXopXG4gICAgICAgICAgc3BsaWNlKHBhcmVudC5hcmd1bWVudHMsIG5vZGUsIHJlcGxhY2VtZW50KTtcbiAgICAgICAgfSBlbHNlIGlmICh0eXBlcy5FeHByZXNzaW9uU3RhdGVtZW50LmNoZWNrKHBhcmVudCkpIHtcbiAgICAgICAgICAvLyBHZW5lcmljIHNlcXVlbmNlIG9mIHN0YXRlbWVudHM6IHsgJHtmb299OyBiYXI7IH1cbiAgICAgICAgICBwYXRoLnBhcmVudC5yZXBsYWNlLmFwcGx5KFxuICAgICAgICAgICAgcGF0aC5wYXJlbnQsXG4gICAgICAgICAgICByZXBsYWNlbWVudC5tYXAoZW5zdXJlU3RhdGVtZW50KVxuICAgICAgICAgICk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gRXZlcnkgZWxzZSwgbGV0IHJlY2FzdCB0YWtlIGNhcmUgb2YgaXRcbiAgICAgICAgICBwYXRoLnJlcGxhY2UuYXBwbHkocGF0aCwgcmVwbGFjZW1lbnQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHR5cGVzLkV4cHJlc3Npb25TdGF0ZW1lbnQuY2hlY2socGFyZW50KSkge1xuICAgICAgICBwYXRoLnBhcmVudC5yZXBsYWNlKGVuc3VyZVN0YXRlbWVudChyZXBsYWNlbWVudCkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGF0aC5yZXBsYWNlKHJlcGxhY2VtZW50KTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG59XG5cbmZ1bmN0aW9uIHJlcGxhY2VOb2RlcyhzcmMsIHZhck5hbWVzLCBub2RlcywgcGFyc2VyKSB7XG4gIGNvbnN0IGFzdCA9IHJlY2FzdC5wYXJzZShzcmMsIHtwYXJzZXJ9KTtcbiAgcmVjYXN0LnZpc2l0KGFzdCwgZ2V0VmlzdG9yKHZhck5hbWVzLCBub2RlcykpO1xuICByZXR1cm4gYXN0O1xufVxuXG5sZXQgdmFyTmFtZUNvdW50ZXIgPSAwO1xuZnVuY3Rpb24gZ2V0VW5pcXVlVmFyTmFtZSgpIHtcbiAgcmV0dXJuIGAkanNjb2Rlc2hpZnQke3Zhck5hbWVDb3VudGVyKyt9JGA7XG59XG5cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiB3aXRoUGFyc2VyKHBhcnNlcikge1xuICBmdW5jdGlvbiBzdGF0ZW1lbnRzKHRlbXBsYXRlLyosIC4uLm5vZGVzKi8pIHtcbiAgICB0ZW1wbGF0ZSA9IEFycmF5LmZyb20odGVtcGxhdGUpO1xuICAgIGNvbnN0IG5vZGVzID0gQXJyYXkuZnJvbShhcmd1bWVudHMpLnNsaWNlKDEpO1xuICAgIGNvbnN0IHZhck5hbWVzID0gbm9kZXMubWFwKCgpID0+IGdldFVuaXF1ZVZhck5hbWUoKSk7XG4gICAgY29uc3Qgc3JjID0gdGVtcGxhdGUucmVkdWNlKFxuICAgICAgKHJlc3VsdCwgZWxlbSwgaSkgPT4gcmVzdWx0ICsgdmFyTmFtZXNbaSAtIDFdICsgZWxlbVxuICAgICk7XG5cbiAgICByZXR1cm4gcmVwbGFjZU5vZGVzKFxuICAgICAgc3JjLFxuICAgICAgdmFyTmFtZXMsXG4gICAgICBub2RlcyxcbiAgICAgIHBhcnNlclxuICAgICkucHJvZ3JhbS5ib2R5O1xuICB9XG5cbiAgZnVuY3Rpb24gc3RhdGVtZW50KC8qdGVtcGxhdGUsIC4uLm5vZGVzKi8pIHtcbiAgICByZXR1cm4gc3RhdGVtZW50cy5hcHBseShudWxsLCBhcmd1bWVudHMpWzBdO1xuICB9XG5cbiAgZnVuY3Rpb24gZXhwcmVzc2lvbih0ZW1wbGF0ZS8qLCAuLi5ub2RlcyovKSB7XG4gICAgLy8gd3JhcCBjb2RlIGluIGAoLi4uKWAgdG8gZm9yY2UgZXZhbHVhdGlvbiBhcyBleHByZXNzaW9uXG4gICAgdGVtcGxhdGUgPSBBcnJheS5mcm9tKHRlbXBsYXRlKTtcbiAgICBpZiAodGVtcGxhdGUubGVuZ3RoID4gMCkge1xuICAgICAgdGVtcGxhdGVbMF0gPSAnKCcgKyB0ZW1wbGF0ZVswXTtcbiAgICAgIHRlbXBsYXRlW3RlbXBsYXRlLmxlbmd0aCAtIDFdICs9ICcpJztcbiAgICB9XG5cbiAgICBjb25zdCBleHByZXNzaW9uID0gc3RhdGVtZW50LmFwcGx5KFxuICAgICAgbnVsbCxcbiAgICAgIFt0ZW1wbGF0ZV0uY29uY2F0KEFycmF5LmZyb20oYXJndW1lbnRzKS5zbGljZSgxKSlcbiAgICApLmV4cHJlc3Npb247XG5cbiAgICAvLyBSZW1vdmUgYWRkZWQgcGFyZW5zXG4gICAgaWYgKGV4cHJlc3Npb24uZXh0cmEpIHtcbiAgICAgIGV4cHJlc3Npb24uZXh0cmEucGFyZW50aGVzaXplZCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBleHByZXNzaW9uO1xuICB9XG5cbiAgZnVuY3Rpb24gYXN5bmNFeHByZXNzaW9uKHRlbXBsYXRlLyosIC4uLm5vZGVzKi8pIHtcbiAgICB0ZW1wbGF0ZSA9IEFycmF5LmZyb20odGVtcGxhdGUpO1xuICAgIGlmICh0ZW1wbGF0ZS5sZW5ndGggPiAwKSB7XG4gICAgICB0ZW1wbGF0ZVswXSA9ICdhc3luYyAoKSA9PiAoJyArIHRlbXBsYXRlWzBdO1xuICAgICAgdGVtcGxhdGVbdGVtcGxhdGUubGVuZ3RoIC0gMV0gKz0gJyknO1xuICAgIH1cblxuICAgIGNvbnN0IGV4cHJlc3Npb24gPSBzdGF0ZW1lbnQuYXBwbHkoXG4gICAgICBudWxsLFxuICAgICAgW3RlbXBsYXRlXS5jb25jYXQoQXJyYXkuZnJvbShhcmd1bWVudHMpLnNsaWNlKDEpKVxuICAgICkuZXhwcmVzc2lvbi5ib2R5O1xuXG4gICAgLy8gUmVtb3ZlIGFkZGVkIHBhcmVuc1xuICAgIGlmIChleHByZXNzaW9uLmV4dHJhKSB7XG4gICAgICBleHByZXNzaW9uLmV4dHJhLnBhcmVudGhlc2l6ZWQgPSBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gZXhwcmVzc2lvbjtcbiAgfVxuXG4gIHJldHVybiB7c3RhdGVtZW50cywgc3RhdGVtZW50LCBleHByZXNzaW9uLCBhc3luY0V4cHJlc3Npb259O1xufVxuIiwgIlxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG4ndXNlIHN0cmljdCc7XG5jb25zdCBDb2xsZWN0aW9uID0gcmVxdWlyZSgnLi9Db2xsZWN0aW9uJyk7XG5cbmNvbnN0IGNvbGxlY3Rpb25zID0gcmVxdWlyZSgnLi9jb2xsZWN0aW9ucycpO1xuY29uc3QgZ2V0UGFyc2VyID0gcmVxdWlyZSgnLi9nZXRQYXJzZXInKTtcbmNvbnN0IG1hdGNoTm9kZSA9IHJlcXVpcmUoJy4vbWF0Y2hOb2RlJyk7XG5jb25zdCByZWNhc3QgPSByZXF1aXJlKCdyZWNhc3QnKTtcbmNvbnN0IHRlbXBsYXRlID0gcmVxdWlyZSgnLi90ZW1wbGF0ZScpO1xuXG5jb25zdCBOb2RlID0gcmVjYXN0LnR5cGVzLm5hbWVkVHlwZXMuTm9kZTtcbmNvbnN0IE5vZGVQYXRoID0gcmVjYXN0LnR5cGVzLk5vZGVQYXRoO1xuXG4vLyBSZWdpc3RlciBhbGwgYnVpbHQtaW4gY29sbGVjdGlvbnNcbmZvciAodmFyIG5hbWUgaW4gY29sbGVjdGlvbnMpIHtcbiAgY29sbGVjdGlvbnNbbmFtZV0ucmVnaXN0ZXIoKTtcbn1cblxuLyoqXG4gKiBNYWluIGVudHJ5IHBvaW50IHRvIHRoZSB0b29sLiBUaGUgZnVuY3Rpb24gYWNjZXB0cyBtdWx0aXBsZSBkaWZmZXJlbnQga2luZHNcbiAqIG9mIGFyZ3VtZW50cyBhcyBhIGNvbnZlbmllbmNlLiBJbiBwYXJ0aWN1bGFyIHRoZSBmdW5jdGlvbiBhY2NlcHRzIGVpdGhlclxuICpcbiAqIC0gYSBzdHJpbmcgY29udGFpbmluZyBzb3VyY2UgY29kZVxuICogICBUaGUgc3RyaW5nIGlzIHBhcnNlZCB3aXRoIFJlY2FzdFxuICogLSBhIHNpbmdsZSBBU1Qgbm9kZVxuICogLSBhIHNpbmdsZSBub2RlIHBhdGhcbiAqIC0gYW4gYXJyYXkgb2Ygbm9kZXNcbiAqIC0gYW4gYXJyYXkgb2Ygbm9kZSBwYXRoc1xuICpcbiAqIEBleHBvcnRzIGpzY29kZXNoaWZ0XG4gKiBAcGFyYW0ge05vZGV8Tm9kZVBhdGh8QXJyYXl8c3RyaW5nfSBzb3VyY2VcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zIE9wdGlvbnMgdG8gcGFzcyB0byBSZWNhc3Qgd2hlbiBwYXNzaW5nIHNvdXJjZSBjb2RlXG4gKiBAcmV0dXJuIHtDb2xsZWN0aW9ufVxuICovXG5mdW5jdGlvbiBjb3JlKHNvdXJjZSwgb3B0aW9ucykge1xuICByZXR1cm4gdHlwZW9mIHNvdXJjZSA9PT0gJ3N0cmluZycgP1xuICAgIGZyb21Tb3VyY2Uoc291cmNlLCBvcHRpb25zKSA6XG4gICAgZnJvbUFTVChzb3VyY2UpO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBjb2xsZWN0aW9uIGZyb20gYSBub2RlLCBub2RlIHBhdGgsIGFycmF5IG9mIG5vZGVzIG9yIGFycmF5IG9mIG5vZGVcbiAqIHBhdGhzLlxuICpcbiAqIEBpZ25vcmVcbiAqIEBwYXJhbSB7Tm9kZXxOb2RlUGF0aHxBcnJheX0gc291cmNlXG4gKiBAcmV0dXJuIHtDb2xsZWN0aW9ufVxuICovXG5mdW5jdGlvbiBmcm9tQVNUKGFzdCkge1xuICBpZiAoQXJyYXkuaXNBcnJheShhc3QpKSB7XG4gICAgaWYgKGFzdFswXSBpbnN0YW5jZW9mIE5vZGVQYXRoIHx8IGFzdC5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiBDb2xsZWN0aW9uLmZyb21QYXRocyhhc3QpO1xuICAgIH0gZWxzZSBpZiAoTm9kZS5jaGVjayhhc3RbMF0pKSB7XG4gICAgICByZXR1cm4gQ29sbGVjdGlvbi5mcm9tTm9kZXMoYXN0KTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGFzdCBpbnN0YW5jZW9mIE5vZGVQYXRoKSB7XG4gICAgICByZXR1cm4gQ29sbGVjdGlvbi5mcm9tUGF0aHMoW2FzdF0pO1xuICAgIH0gZWxzZSBpZiAoTm9kZS5jaGVjayhhc3QpKSB7XG4gICAgICByZXR1cm4gQ29sbGVjdGlvbi5mcm9tTm9kZXMoW2FzdF0pO1xuICAgIH1cbiAgfVxuICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICdSZWNlaXZlZCBhbiB1bmV4cGVjdGVkIHZhbHVlICcgKyBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYXN0KVxuICApO1xufVxuXG5mdW5jdGlvbiBmcm9tU291cmNlKHNvdXJjZSwgb3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cbiAgaWYgKCFvcHRpb25zLnBhcnNlcikge1xuICAgIG9wdGlvbnMucGFyc2VyID0gZ2V0UGFyc2VyKCk7XG4gIH1cbiAgcmV0dXJuIGZyb21BU1QocmVjYXN0LnBhcnNlKHNvdXJjZSwgb3B0aW9ucykpO1xufVxuXG4vKipcbiAqIFV0aWxpdHkgZnVuY3Rpb24gdG8gbWF0Y2ggYSBub2RlIGFnYWluc3QgYSBwYXR0ZXJuLlxuICogQGF1Z21lbnRzIGNvcmVcbiAqIEBzdGF0aWNcbiAqIEBwYXJhbSB7Tm9kZXxOb2RlUGF0aHxPYmplY3R9IHBhdGhcbiAqIEBwYXJtYSB7T2JqZWN0fSBmaWx0ZXJcbiAqIEByZXR1cm4gYm9vbGVhblxuICovXG5mdW5jdGlvbiBtYXRjaChwYXRoLCBmaWx0ZXIpIHtcbiAgaWYgKCEocGF0aCBpbnN0YW5jZW9mIE5vZGVQYXRoKSkge1xuICAgIGlmICh0eXBlb2YgcGF0aC5nZXQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHBhdGggPSBwYXRoLmdldCgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXRoID0ge3ZhbHVlOiBwYXRofTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1hdGNoTm9kZShwYXRoLnZhbHVlLCBmaWx0ZXIpO1xufVxuXG5jb25zdCBwbHVnaW5zID0gW107XG5cbi8qKlxuICogVXRpbGl0eSBmdW5jdGlvbiBmb3IgcmVnaXN0ZXJpbmcgcGx1Z2lucy5cbiAqXG4gKiBQbHVnaW5zIGFyZSBzaW1wbGUgZnVuY3Rpb25zIHRoYXQgYXJlIHBhc3NlZCB0aGUgY29yZSBqc2NvZGVzaGlmdCBpbnN0YW5jZS5cbiAqIFRoZXkgc2hvdWxkIGV4dGVuZCBqc2NvZGVzaGlmdCBieSBjYWxsaW5nIGByZWdpc3Rlck1ldGhvZHNgLCBldGMuXG4gKiBUaGlzIG1ldGhvZCBndWFyZHMgYWdhaW5zdCByZXBlYXRlZCByZWdpc3RyYXRpb25zICh0aGUgcGx1Z2luIGNhbGxiYWNrIHdpbGwgb25seSBiZSBjYWxsZWQgb25jZSkuXG4gKlxuICogQGF1Z21lbnRzIGNvcmVcbiAqIEBzdGF0aWNcbiAqIEBwYXJhbSB7RnVuY3Rpb259IHBsdWdpblxuICovXG5mdW5jdGlvbiB1c2UocGx1Z2luKSB7XG4gIGlmIChwbHVnaW5zLmluZGV4T2YocGx1Z2luKSA9PT0gLTEpIHtcbiAgICBwbHVnaW5zLnB1c2gocGx1Z2luKTtcbiAgICBwbHVnaW4oY29yZSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIGEgdmVyc2lvbiBvZiB0aGUgY29yZSBqc2NvZGVzaGlmdCBmdW5jdGlvbiBcImJvdW5kXCIgdG8gYSBzcGVjaWZpY1xuICogcGFyc2VyLlxuICpcbiAqIEBhdWdtZW50cyBjb3JlXG4gKiBAc3RhdGljXG4gKi9cbmZ1bmN0aW9uIHdpdGhQYXJzZXIocGFyc2VyKSB7XG4gIGlmICh0eXBlb2YgcGFyc2VyID09PSAnc3RyaW5nJykge1xuICAgIHBhcnNlciA9IGdldFBhcnNlcihwYXJzZXIpO1xuICB9XG5cbiAgY29uc3QgbmV3Q29yZSA9IGZ1bmN0aW9uKHNvdXJjZSwgb3B0aW9ucykge1xuICAgIGlmIChvcHRpb25zICYmICFvcHRpb25zLnBhcnNlcikge1xuICAgICAgb3B0aW9ucy5wYXJzZXIgPSBwYXJzZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9wdGlvbnMgPSB7cGFyc2VyfTtcbiAgICB9XG4gICAgcmV0dXJuIGNvcmUoc291cmNlLCBvcHRpb25zKTtcbiAgfTtcblxuICByZXR1cm4gZW5yaWNoQ29yZShuZXdDb3JlLCBwYXJzZXIpO1xufVxuXG4vKipcbiogVGhlIGFzdC10eXBlcyBsaWJyYXJ5XG4qIEBleHRlcm5hbCBhc3RUeXBlc1xuKiBAc2VlIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vYmVuamFtbi9hc3QtdHlwZXN9XG4qL1xuXG5mdW5jdGlvbiBlbnJpY2hDb3JlKGNvcmUsIHBhcnNlcikge1xuICAvLyBhZGQgYnVpbGRlcnMgYW5kIHR5cGVzIHRvIHRoZSBmdW5jdGlvbiBmb3Igc2ltcGxlIGFjY2Vzc1xuICBPYmplY3QuYXNzaWduKGNvcmUsIHJlY2FzdC50eXBlcy5uYW1lZFR5cGVzKTtcbiAgT2JqZWN0LmFzc2lnbihjb3JlLCByZWNhc3QudHlwZXMuYnVpbGRlcnMpO1xuICBjb3JlLnJlZ2lzdGVyTWV0aG9kcyA9IENvbGxlY3Rpb24ucmVnaXN0ZXJNZXRob2RzO1xuICAvKipcbiAgKiBAYXVnbWVudHMgY29yZVxuICAqIEB0eXBlIGV4dGVybmFsOmFzdFR5cGVzXG4gICovXG4gIGNvcmUudHlwZXMgPSByZWNhc3QudHlwZXM7XG4gIGNvcmUubWF0Y2ggPSBtYXRjaDtcbiAgY29yZS50ZW1wbGF0ZSA9IHRlbXBsYXRlKHBhcnNlcik7XG5cbiAgLy8gYWRkIG1hcHBpbmdzIGFuZCBmaWx0ZXJzIHRvIGZ1bmN0aW9uXG4gIGNvcmUuZmlsdGVycyA9IHt9O1xuICBjb3JlLm1hcHBpbmdzID0ge307XG4gIGZvciAoY29uc3QgbmFtZSBpbiBjb2xsZWN0aW9ucykge1xuICAgIGlmIChjb2xsZWN0aW9uc1tuYW1lXS5maWx0ZXJzKSB7XG4gICAgICBjb3JlLmZpbHRlcnNbbmFtZV0gPSBjb2xsZWN0aW9uc1tuYW1lXS5maWx0ZXJzO1xuICAgIH1cbiAgICBpZiAoY29sbGVjdGlvbnNbbmFtZV0ubWFwcGluZ3MpIHtcbiAgICAgIGNvcmUubWFwcGluZ3NbbmFtZV0gPSBjb2xsZWN0aW9uc1tuYW1lXS5tYXBwaW5ncztcbiAgICB9XG4gIH1cbiAgY29yZS51c2UgPSB1c2U7XG4gIGNvcmUud2l0aFBhcnNlciA9IHdpdGhQYXJzZXI7XG4gIHJldHVybiBjb3JlO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGVucmljaENvcmUoY29yZSwgZ2V0UGFyc2VyKCkpO1xuIiwgIlxuLyoqXG4gKiBDb3B5cmlnaHQgKGMpIEZhY2Vib29rLCBJbmMuIGFuZCBpdHMgYWZmaWxpYXRlcy5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBNSVQgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqL1xuXG5tb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vc3JjL2NvcmUnKTtcbiIsICJleHBvcnQgZnVuY3Rpb24gZ2V0VXNlckFnZW50KCkge1xuICAgIGlmICh0eXBlb2YgbmF2aWdhdG9yID09PSBcIm9iamVjdFwiICYmIFwidXNlckFnZW50XCIgaW4gbmF2aWdhdG9yKSB7XG4gICAgICAgIHJldHVybiBuYXZpZ2F0b3IudXNlckFnZW50O1xuICAgIH1cbiAgICBpZiAodHlwZW9mIHByb2Nlc3MgPT09IFwib2JqZWN0XCIgJiYgcHJvY2Vzcy52ZXJzaW9uICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIGBOb2RlLmpzLyR7cHJvY2Vzcy52ZXJzaW9uLnN1YnN0cigxKX0gKCR7cHJvY2Vzcy5wbGF0Zm9ybX07ICR7cHJvY2Vzcy5hcmNofSlgO1xuICAgIH1cbiAgICByZXR1cm4gXCI8ZW52aXJvbm1lbnQgdW5kZXRlY3RhYmxlPlwiO1xufVxuIiwgIm1vZHVsZS5leHBvcnRzID0gcmVnaXN0ZXI7XG5cbmZ1bmN0aW9uIHJlZ2lzdGVyKHN0YXRlLCBuYW1lLCBtZXRob2QsIG9wdGlvbnMpIHtcbiAgaWYgKHR5cGVvZiBtZXRob2QgIT09IFwiZnVuY3Rpb25cIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIm1ldGhvZCBmb3IgYmVmb3JlIGhvb2sgbXVzdCBiZSBhIGZ1bmN0aW9uXCIpO1xuICB9XG5cbiAgaWYgKCFvcHRpb25zKSB7XG4gICAgb3B0aW9ucyA9IHt9O1xuICB9XG5cbiAgaWYgKEFycmF5LmlzQXJyYXkobmFtZSkpIHtcbiAgICByZXR1cm4gbmFtZS5yZXZlcnNlKCkucmVkdWNlKGZ1bmN0aW9uIChjYWxsYmFjaywgbmFtZSkge1xuICAgICAgcmV0dXJuIHJlZ2lzdGVyLmJpbmQobnVsbCwgc3RhdGUsIG5hbWUsIGNhbGxiYWNrLCBvcHRpb25zKTtcbiAgICB9LCBtZXRob2QpKCk7XG4gIH1cblxuICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCFzdGF0ZS5yZWdpc3RyeVtuYW1lXSkge1xuICAgICAgcmV0dXJuIG1ldGhvZChvcHRpb25zKTtcbiAgICB9XG5cbiAgICByZXR1cm4gc3RhdGUucmVnaXN0cnlbbmFtZV0ucmVkdWNlKGZ1bmN0aW9uIChtZXRob2QsIHJlZ2lzdGVyZWQpIHtcbiAgICAgIHJldHVybiByZWdpc3RlcmVkLmhvb2suYmluZChudWxsLCBtZXRob2QsIG9wdGlvbnMpO1xuICAgIH0sIG1ldGhvZCkoKTtcbiAgfSk7XG59XG4iLCAibW9kdWxlLmV4cG9ydHMgPSBhZGRIb29rO1xuXG5mdW5jdGlvbiBhZGRIb29rKHN0YXRlLCBraW5kLCBuYW1lLCBob29rKSB7XG4gIHZhciBvcmlnID0gaG9vaztcbiAgaWYgKCFzdGF0ZS5yZWdpc3RyeVtuYW1lXSkge1xuICAgIHN0YXRlLnJlZ2lzdHJ5W25hbWVdID0gW107XG4gIH1cblxuICBpZiAoa2luZCA9PT0gXCJiZWZvcmVcIikge1xuICAgIGhvb2sgPSBmdW5jdGlvbiAobWV0aG9kLCBvcHRpb25zKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgLnRoZW4ob3JpZy5iaW5kKG51bGwsIG9wdGlvbnMpKVxuICAgICAgICAudGhlbihtZXRob2QuYmluZChudWxsLCBvcHRpb25zKSk7XG4gICAgfTtcbiAgfVxuXG4gIGlmIChraW5kID09PSBcImFmdGVyXCIpIHtcbiAgICBob29rID0gZnVuY3Rpb24gKG1ldGhvZCwgb3B0aW9ucykge1xuICAgICAgdmFyIHJlc3VsdDtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoKVxuICAgICAgICAudGhlbihtZXRob2QuYmluZChudWxsLCBvcHRpb25zKSlcbiAgICAgICAgLnRoZW4oZnVuY3Rpb24gKHJlc3VsdF8pIHtcbiAgICAgICAgICByZXN1bHQgPSByZXN1bHRfO1xuICAgICAgICAgIHJldHVybiBvcmlnKHJlc3VsdCwgb3B0aW9ucyk7XG4gICAgICAgIH0pXG4gICAgICAgIC50aGVuKGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KTtcbiAgICB9O1xuICB9XG5cbiAgaWYgKGtpbmQgPT09IFwiZXJyb3JcIikge1xuICAgIGhvb2sgPSBmdW5jdGlvbiAobWV0aG9kLCBvcHRpb25zKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgICAgLnRoZW4obWV0aG9kLmJpbmQobnVsbCwgb3B0aW9ucykpXG4gICAgICAgIC5jYXRjaChmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICAgICAgICByZXR1cm4gb3JpZyhlcnJvciwgb3B0aW9ucyk7XG4gICAgICAgIH0pO1xuICAgIH07XG4gIH1cblxuICBzdGF0ZS5yZWdpc3RyeVtuYW1lXS5wdXNoKHtcbiAgICBob29rOiBob29rLFxuICAgIG9yaWc6IG9yaWcsXG4gIH0pO1xufVxuIiwgIm1vZHVsZS5leHBvcnRzID0gcmVtb3ZlSG9vaztcblxuZnVuY3Rpb24gcmVtb3ZlSG9vayhzdGF0ZSwgbmFtZSwgbWV0aG9kKSB7XG4gIGlmICghc3RhdGUucmVnaXN0cnlbbmFtZV0pIHtcbiAgICByZXR1cm47XG4gIH1cblxuICB2YXIgaW5kZXggPSBzdGF0ZS5yZWdpc3RyeVtuYW1lXVxuICAgIC5tYXAoZnVuY3Rpb24gKHJlZ2lzdGVyZWQpIHtcbiAgICAgIHJldHVybiByZWdpc3RlcmVkLm9yaWc7XG4gICAgfSlcbiAgICAuaW5kZXhPZihtZXRob2QpO1xuXG4gIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICByZXR1cm47XG4gIH1cblxuICBzdGF0ZS5yZWdpc3RyeVtuYW1lXS5zcGxpY2UoaW5kZXgsIDEpO1xufVxuIiwgInZhciByZWdpc3RlciA9IHJlcXVpcmUoXCIuL2xpYi9yZWdpc3RlclwiKTtcbnZhciBhZGRIb29rID0gcmVxdWlyZShcIi4vbGliL2FkZFwiKTtcbnZhciByZW1vdmVIb29rID0gcmVxdWlyZShcIi4vbGliL3JlbW92ZVwiKTtcblxuLy8gYmluZCB3aXRoIGFycmF5IG9mIGFyZ3VtZW50czogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzIxNzkyOTEzXG52YXIgYmluZCA9IEZ1bmN0aW9uLmJpbmQ7XG52YXIgYmluZGFibGUgPSBiaW5kLmJpbmQoYmluZCk7XG5cbmZ1bmN0aW9uIGJpbmRBcGkoaG9vaywgc3RhdGUsIG5hbWUpIHtcbiAgdmFyIHJlbW92ZUhvb2tSZWYgPSBiaW5kYWJsZShyZW1vdmVIb29rLCBudWxsKS5hcHBseShcbiAgICBudWxsLFxuICAgIG5hbWUgPyBbc3RhdGUsIG5hbWVdIDogW3N0YXRlXVxuICApO1xuICBob29rLmFwaSA9IHsgcmVtb3ZlOiByZW1vdmVIb29rUmVmIH07XG4gIGhvb2sucmVtb3ZlID0gcmVtb3ZlSG9va1JlZjtcbiAgW1wiYmVmb3JlXCIsIFwiZXJyb3JcIiwgXCJhZnRlclwiLCBcIndyYXBcIl0uZm9yRWFjaChmdW5jdGlvbiAoa2luZCkge1xuICAgIHZhciBhcmdzID0gbmFtZSA/IFtzdGF0ZSwga2luZCwgbmFtZV0gOiBbc3RhdGUsIGtpbmRdO1xuICAgIGhvb2tba2luZF0gPSBob29rLmFwaVtraW5kXSA9IGJpbmRhYmxlKGFkZEhvb2ssIG51bGwpLmFwcGx5KG51bGwsIGFyZ3MpO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gSG9va1Npbmd1bGFyKCkge1xuICB2YXIgc2luZ3VsYXJIb29rTmFtZSA9IFwiaFwiO1xuICB2YXIgc2luZ3VsYXJIb29rU3RhdGUgPSB7XG4gICAgcmVnaXN0cnk6IHt9LFxuICB9O1xuICB2YXIgc2luZ3VsYXJIb29rID0gcmVnaXN0ZXIuYmluZChudWxsLCBzaW5ndWxhckhvb2tTdGF0ZSwgc2luZ3VsYXJIb29rTmFtZSk7XG4gIGJpbmRBcGkoc2luZ3VsYXJIb29rLCBzaW5ndWxhckhvb2tTdGF0ZSwgc2luZ3VsYXJIb29rTmFtZSk7XG4gIHJldHVybiBzaW5ndWxhckhvb2s7XG59XG5cbmZ1bmN0aW9uIEhvb2tDb2xsZWN0aW9uKCkge1xuICB2YXIgc3RhdGUgPSB7XG4gICAgcmVnaXN0cnk6IHt9LFxuICB9O1xuXG4gIHZhciBob29rID0gcmVnaXN0ZXIuYmluZChudWxsLCBzdGF0ZSk7XG4gIGJpbmRBcGkoaG9vaywgc3RhdGUpO1xuXG4gIHJldHVybiBob29rO1xufVxuXG52YXIgY29sbGVjdGlvbkhvb2tEZXByZWNhdGlvbk1lc3NhZ2VEaXNwbGF5ZWQgPSBmYWxzZTtcbmZ1bmN0aW9uIEhvb2soKSB7XG4gIGlmICghY29sbGVjdGlvbkhvb2tEZXByZWNhdGlvbk1lc3NhZ2VEaXNwbGF5ZWQpIHtcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICAnW2JlZm9yZS1hZnRlci1ob29rXTogXCJIb29rKClcIiByZXB1cnBvc2luZyB3YXJuaW5nLCB1c2UgXCJIb29rLkNvbGxlY3Rpb24oKVwiLiBSZWFkIG1vcmU6IGh0dHBzOi8vZ2l0LmlvL3VwZ3JhZGUtYmVmb3JlLWFmdGVyLWhvb2stdG8tMS40J1xuICAgICk7XG4gICAgY29sbGVjdGlvbkhvb2tEZXByZWNhdGlvbk1lc3NhZ2VEaXNwbGF5ZWQgPSB0cnVlO1xuICB9XG4gIHJldHVybiBIb29rQ29sbGVjdGlvbigpO1xufVxuXG5Ib29rLlNpbmd1bGFyID0gSG9va1Npbmd1bGFyLmJpbmQoKTtcbkhvb2suQ29sbGVjdGlvbiA9IEhvb2tDb2xsZWN0aW9uLmJpbmQoKTtcblxubW9kdWxlLmV4cG9ydHMgPSBIb29rO1xuLy8gZXhwb3NlIGNvbnN0cnVjdG9ycyBhcyBhIG5hbWVkIHByb3BlcnR5IGZvciBUeXBlU2NyaXB0XG5tb2R1bGUuZXhwb3J0cy5Ib29rID0gSG9vaztcbm1vZHVsZS5leHBvcnRzLlNpbmd1bGFyID0gSG9vay5TaW5ndWxhcjtcbm1vZHVsZS5leHBvcnRzLkNvbGxlY3Rpb24gPSBIb29rLkNvbGxlY3Rpb247XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG52YXIgX19kZWZQcm9wID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIF9fZ2V0T3duUHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xudmFyIF9fZ2V0T3duUHJvcE5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7XG52YXIgX19oYXNPd25Qcm9wID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbnZhciBfX2V4cG9ydCA9ICh0YXJnZXQsIGFsbCkgPT4ge1xuICBmb3IgKHZhciBuYW1lIGluIGFsbClcbiAgICBfX2RlZlByb3AodGFyZ2V0LCBuYW1lLCB7IGdldDogYWxsW25hbWVdLCBlbnVtZXJhYmxlOiB0cnVlIH0pO1xufTtcbnZhciBfX2NvcHlQcm9wcyA9ICh0bywgZnJvbSwgZXhjZXB0LCBkZXNjKSA9PiB7XG4gIGlmIChmcm9tICYmIHR5cGVvZiBmcm9tID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBmcm9tID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBmb3IgKGxldCBrZXkgb2YgX19nZXRPd25Qcm9wTmFtZXMoZnJvbSkpXG4gICAgICBpZiAoIV9faGFzT3duUHJvcC5jYWxsKHRvLCBrZXkpICYmIGtleSAhPT0gZXhjZXB0KVxuICAgICAgICBfX2RlZlByb3AodG8sIGtleSwgeyBnZXQ6ICgpID0+IGZyb21ba2V5XSwgZW51bWVyYWJsZTogIShkZXNjID0gX19nZXRPd25Qcm9wRGVzYyhmcm9tLCBrZXkpKSB8fCBkZXNjLmVudW1lcmFibGUgfSk7XG4gIH1cbiAgcmV0dXJuIHRvO1xufTtcbnZhciBfX3RvQ29tbW9uSlMgPSAobW9kKSA9PiBfX2NvcHlQcm9wcyhfX2RlZlByb3Aoe30sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pLCBtb2QpO1xuXG4vLyBwa2cvZGlzdC1zcmMvaW5kZXguanNcbnZhciBkaXN0X3NyY19leHBvcnRzID0ge307XG5fX2V4cG9ydChkaXN0X3NyY19leHBvcnRzLCB7XG4gIGVuZHBvaW50OiAoKSA9PiBlbmRwb2ludFxufSk7XG5tb2R1bGUuZXhwb3J0cyA9IF9fdG9Db21tb25KUyhkaXN0X3NyY19leHBvcnRzKTtcblxuLy8gcGtnL2Rpc3Qtc3JjL2RlZmF1bHRzLmpzXG52YXIgaW1wb3J0X3VuaXZlcnNhbF91c2VyX2FnZW50ID0gcmVxdWlyZShcInVuaXZlcnNhbC11c2VyLWFnZW50XCIpO1xuXG4vLyBwa2cvZGlzdC1zcmMvdmVyc2lvbi5qc1xudmFyIFZFUlNJT04gPSBcIjkuMC41XCI7XG5cbi8vIHBrZy9kaXN0LXNyYy9kZWZhdWx0cy5qc1xudmFyIHVzZXJBZ2VudCA9IGBvY3Rva2l0LWVuZHBvaW50LmpzLyR7VkVSU0lPTn0gJHsoMCwgaW1wb3J0X3VuaXZlcnNhbF91c2VyX2FnZW50LmdldFVzZXJBZ2VudCkoKX1gO1xudmFyIERFRkFVTFRTID0ge1xuICBtZXRob2Q6IFwiR0VUXCIsXG4gIGJhc2VVcmw6IFwiaHR0cHM6Ly9hcGkuZ2l0aHViLmNvbVwiLFxuICBoZWFkZXJzOiB7XG4gICAgYWNjZXB0OiBcImFwcGxpY2F0aW9uL3ZuZC5naXRodWIudjMranNvblwiLFxuICAgIFwidXNlci1hZ2VudFwiOiB1c2VyQWdlbnRcbiAgfSxcbiAgbWVkaWFUeXBlOiB7XG4gICAgZm9ybWF0OiBcIlwiXG4gIH1cbn07XG5cbi8vIHBrZy9kaXN0LXNyYy91dGlsL2xvd2VyY2FzZS1rZXlzLmpzXG5mdW5jdGlvbiBsb3dlcmNhc2VLZXlzKG9iamVjdCkge1xuICBpZiAoIW9iamVjdCkge1xuICAgIHJldHVybiB7fTtcbiAgfVxuICByZXR1cm4gT2JqZWN0LmtleXMob2JqZWN0KS5yZWR1Y2UoKG5ld09iaiwga2V5KSA9PiB7XG4gICAgbmV3T2JqW2tleS50b0xvd2VyQ2FzZSgpXSA9IG9iamVjdFtrZXldO1xuICAgIHJldHVybiBuZXdPYmo7XG4gIH0sIHt9KTtcbn1cblxuLy8gcGtnL2Rpc3Qtc3JjL3V0aWwvaXMtcGxhaW4tb2JqZWN0LmpzXG5mdW5jdGlvbiBpc1BsYWluT2JqZWN0KHZhbHVlKSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIgfHwgdmFsdWUgPT09IG51bGwpXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHZhbHVlKSAhPT0gXCJbb2JqZWN0IE9iamVjdF1cIilcbiAgICByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHZhbHVlKTtcbiAgaWYgKHByb3RvID09PSBudWxsKVxuICAgIHJldHVybiB0cnVlO1xuICBjb25zdCBDdG9yID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHByb3RvLCBcImNvbnN0cnVjdG9yXCIpICYmIHByb3RvLmNvbnN0cnVjdG9yO1xuICByZXR1cm4gdHlwZW9mIEN0b3IgPT09IFwiZnVuY3Rpb25cIiAmJiBDdG9yIGluc3RhbmNlb2YgQ3RvciAmJiBGdW5jdGlvbi5wcm90b3R5cGUuY2FsbChDdG9yKSA9PT0gRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwodmFsdWUpO1xufVxuXG4vLyBwa2cvZGlzdC1zcmMvdXRpbC9tZXJnZS1kZWVwLmpzXG5mdW5jdGlvbiBtZXJnZURlZXAoZGVmYXVsdHMsIG9wdGlvbnMpIHtcbiAgY29uc3QgcmVzdWx0ID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdHMpO1xuICBPYmplY3Qua2V5cyhvcHRpb25zKS5mb3JFYWNoKChrZXkpID0+IHtcbiAgICBpZiAoaXNQbGFpbk9iamVjdChvcHRpb25zW2tleV0pKSB7XG4gICAgICBpZiAoIShrZXkgaW4gZGVmYXVsdHMpKVxuICAgICAgICBPYmplY3QuYXNzaWduKHJlc3VsdCwgeyBba2V5XTogb3B0aW9uc1trZXldIH0pO1xuICAgICAgZWxzZVxuICAgICAgICByZXN1bHRba2V5XSA9IG1lcmdlRGVlcChkZWZhdWx0c1trZXldLCBvcHRpb25zW2tleV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBPYmplY3QuYXNzaWduKHJlc3VsdCwgeyBba2V5XTogb3B0aW9uc1trZXldIH0pO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8vIHBrZy9kaXN0LXNyYy91dGlsL3JlbW92ZS11bmRlZmluZWQtcHJvcGVydGllcy5qc1xuZnVuY3Rpb24gcmVtb3ZlVW5kZWZpbmVkUHJvcGVydGllcyhvYmopIHtcbiAgZm9yIChjb25zdCBrZXkgaW4gb2JqKSB7XG4gICAgaWYgKG9ialtrZXldID09PSB2b2lkIDApIHtcbiAgICAgIGRlbGV0ZSBvYmpba2V5XTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG9iajtcbn1cblxuLy8gcGtnL2Rpc3Qtc3JjL21lcmdlLmpzXG5mdW5jdGlvbiBtZXJnZShkZWZhdWx0cywgcm91dGUsIG9wdGlvbnMpIHtcbiAgaWYgKHR5cGVvZiByb3V0ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgIGxldCBbbWV0aG9kLCB1cmxdID0gcm91dGUuc3BsaXQoXCIgXCIpO1xuICAgIG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHVybCA/IHsgbWV0aG9kLCB1cmwgfSA6IHsgdXJsOiBtZXRob2QgfSwgb3B0aW9ucyk7XG4gIH0gZWxzZSB7XG4gICAgb3B0aW9ucyA9IE9iamVjdC5hc3NpZ24oe30sIHJvdXRlKTtcbiAgfVxuICBvcHRpb25zLmhlYWRlcnMgPSBsb3dlcmNhc2VLZXlzKG9wdGlvbnMuaGVhZGVycyk7XG4gIHJlbW92ZVVuZGVmaW5lZFByb3BlcnRpZXMob3B0aW9ucyk7XG4gIHJlbW92ZVVuZGVmaW5lZFByb3BlcnRpZXMob3B0aW9ucy5oZWFkZXJzKTtcbiAgY29uc3QgbWVyZ2VkT3B0aW9ucyA9IG1lcmdlRGVlcChkZWZhdWx0cyB8fCB7fSwgb3B0aW9ucyk7XG4gIGlmIChvcHRpb25zLnVybCA9PT0gXCIvZ3JhcGhxbFwiKSB7XG4gICAgaWYgKGRlZmF1bHRzICYmIGRlZmF1bHRzLm1lZGlhVHlwZS5wcmV2aWV3cz8ubGVuZ3RoKSB7XG4gICAgICBtZXJnZWRPcHRpb25zLm1lZGlhVHlwZS5wcmV2aWV3cyA9IGRlZmF1bHRzLm1lZGlhVHlwZS5wcmV2aWV3cy5maWx0ZXIoXG4gICAgICAgIChwcmV2aWV3KSA9PiAhbWVyZ2VkT3B0aW9ucy5tZWRpYVR5cGUucHJldmlld3MuaW5jbHVkZXMocHJldmlldylcbiAgICAgICkuY29uY2F0KG1lcmdlZE9wdGlvbnMubWVkaWFUeXBlLnByZXZpZXdzKTtcbiAgICB9XG4gICAgbWVyZ2VkT3B0aW9ucy5tZWRpYVR5cGUucHJldmlld3MgPSAobWVyZ2VkT3B0aW9ucy5tZWRpYVR5cGUucHJldmlld3MgfHwgW10pLm1hcCgocHJldmlldykgPT4gcHJldmlldy5yZXBsYWNlKC8tcHJldmlldy8sIFwiXCIpKTtcbiAgfVxuICByZXR1cm4gbWVyZ2VkT3B0aW9ucztcbn1cblxuLy8gcGtnL2Rpc3Qtc3JjL3V0aWwvYWRkLXF1ZXJ5LXBhcmFtZXRlcnMuanNcbmZ1bmN0aW9uIGFkZFF1ZXJ5UGFyYW1ldGVycyh1cmwsIHBhcmFtZXRlcnMpIHtcbiAgY29uc3Qgc2VwYXJhdG9yID0gL1xcPy8udGVzdCh1cmwpID8gXCImXCIgOiBcIj9cIjtcbiAgY29uc3QgbmFtZXMgPSBPYmplY3Qua2V5cyhwYXJhbWV0ZXJzKTtcbiAgaWYgKG5hbWVzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB1cmw7XG4gIH1cbiAgcmV0dXJuIHVybCArIHNlcGFyYXRvciArIG5hbWVzLm1hcCgobmFtZSkgPT4ge1xuICAgIGlmIChuYW1lID09PSBcInFcIikge1xuICAgICAgcmV0dXJuIFwicT1cIiArIHBhcmFtZXRlcnMucS5zcGxpdChcIitcIikubWFwKGVuY29kZVVSSUNvbXBvbmVudCkuam9pbihcIitcIik7XG4gICAgfVxuICAgIHJldHVybiBgJHtuYW1lfT0ke2VuY29kZVVSSUNvbXBvbmVudChwYXJhbWV0ZXJzW25hbWVdKX1gO1xuICB9KS5qb2luKFwiJlwiKTtcbn1cblxuLy8gcGtnL2Rpc3Qtc3JjL3V0aWwvZXh0cmFjdC11cmwtdmFyaWFibGUtbmFtZXMuanNcbnZhciB1cmxWYXJpYWJsZVJlZ2V4ID0gL1xce1tefV0rXFx9L2c7XG5mdW5jdGlvbiByZW1vdmVOb25DaGFycyh2YXJpYWJsZU5hbWUpIHtcbiAgcmV0dXJuIHZhcmlhYmxlTmFtZS5yZXBsYWNlKC9eXFxXK3xcXFcrJC9nLCBcIlwiKS5zcGxpdCgvLC8pO1xufVxuZnVuY3Rpb24gZXh0cmFjdFVybFZhcmlhYmxlTmFtZXModXJsKSB7XG4gIGNvbnN0IG1hdGNoZXMgPSB1cmwubWF0Y2godXJsVmFyaWFibGVSZWdleCk7XG4gIGlmICghbWF0Y2hlcykge1xuICAgIHJldHVybiBbXTtcbiAgfVxuICByZXR1cm4gbWF0Y2hlcy5tYXAocmVtb3ZlTm9uQ2hhcnMpLnJlZHVjZSgoYSwgYikgPT4gYS5jb25jYXQoYiksIFtdKTtcbn1cblxuLy8gcGtnL2Rpc3Qtc3JjL3V0aWwvb21pdC5qc1xuZnVuY3Rpb24gb21pdChvYmplY3QsIGtleXNUb09taXQpIHtcbiAgY29uc3QgcmVzdWx0ID0geyBfX3Byb3RvX186IG51bGwgfTtcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMob2JqZWN0KSkge1xuICAgIGlmIChrZXlzVG9PbWl0LmluZGV4T2Yoa2V5KSA9PT0gLTEpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gb2JqZWN0W2tleV07XG4gICAgfVxuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8vIHBrZy9kaXN0LXNyYy91dGlsL3VybC10ZW1wbGF0ZS5qc1xuZnVuY3Rpb24gZW5jb2RlUmVzZXJ2ZWQoc3RyKSB7XG4gIHJldHVybiBzdHIuc3BsaXQoLyglWzAtOUEtRmEtZl17Mn0pL2cpLm1hcChmdW5jdGlvbihwYXJ0KSB7XG4gICAgaWYgKCEvJVswLTlBLUZhLWZdLy50ZXN0KHBhcnQpKSB7XG4gICAgICBwYXJ0ID0gZW5jb2RlVVJJKHBhcnQpLnJlcGxhY2UoLyU1Qi9nLCBcIltcIikucmVwbGFjZSgvJTVEL2csIFwiXVwiKTtcbiAgICB9XG4gICAgcmV0dXJuIHBhcnQ7XG4gIH0pLmpvaW4oXCJcIik7XG59XG5mdW5jdGlvbiBlbmNvZGVVbnJlc2VydmVkKHN0cikge1xuICByZXR1cm4gZW5jb2RlVVJJQ29tcG9uZW50KHN0cikucmVwbGFjZSgvWyEnKCkqXS9nLCBmdW5jdGlvbihjKSB7XG4gICAgcmV0dXJuIFwiJVwiICsgYy5jaGFyQ29kZUF0KDApLnRvU3RyaW5nKDE2KS50b1VwcGVyQ2FzZSgpO1xuICB9KTtcbn1cbmZ1bmN0aW9uIGVuY29kZVZhbHVlKG9wZXJhdG9yLCB2YWx1ZSwga2V5KSB7XG4gIHZhbHVlID0gb3BlcmF0b3IgPT09IFwiK1wiIHx8IG9wZXJhdG9yID09PSBcIiNcIiA/IGVuY29kZVJlc2VydmVkKHZhbHVlKSA6IGVuY29kZVVucmVzZXJ2ZWQodmFsdWUpO1xuICBpZiAoa2V5KSB7XG4gICAgcmV0dXJuIGVuY29kZVVucmVzZXJ2ZWQoa2V5KSArIFwiPVwiICsgdmFsdWU7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG59XG5mdW5jdGlvbiBpc0RlZmluZWQodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlICE9PSB2b2lkIDAgJiYgdmFsdWUgIT09IG51bGw7XG59XG5mdW5jdGlvbiBpc0tleU9wZXJhdG9yKG9wZXJhdG9yKSB7XG4gIHJldHVybiBvcGVyYXRvciA9PT0gXCI7XCIgfHwgb3BlcmF0b3IgPT09IFwiJlwiIHx8IG9wZXJhdG9yID09PSBcIj9cIjtcbn1cbmZ1bmN0aW9uIGdldFZhbHVlcyhjb250ZXh0LCBvcGVyYXRvciwga2V5LCBtb2RpZmllcikge1xuICB2YXIgdmFsdWUgPSBjb250ZXh0W2tleV0sIHJlc3VsdCA9IFtdO1xuICBpZiAoaXNEZWZpbmVkKHZhbHVlKSAmJiB2YWx1ZSAhPT0gXCJcIikge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgfHwgdHlwZW9mIHZhbHVlID09PSBcIm51bWJlclwiIHx8IHR5cGVvZiB2YWx1ZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIHZhbHVlID0gdmFsdWUudG9TdHJpbmcoKTtcbiAgICAgIGlmIChtb2RpZmllciAmJiBtb2RpZmllciAhPT0gXCIqXCIpIHtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5zdWJzdHJpbmcoMCwgcGFyc2VJbnQobW9kaWZpZXIsIDEwKSk7XG4gICAgICB9XG4gICAgICByZXN1bHQucHVzaChcbiAgICAgICAgZW5jb2RlVmFsdWUob3BlcmF0b3IsIHZhbHVlLCBpc0tleU9wZXJhdG9yKG9wZXJhdG9yKSA/IGtleSA6IFwiXCIpXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobW9kaWZpZXIgPT09IFwiKlwiKSB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHZhbHVlLmZpbHRlcihpc0RlZmluZWQpLmZvckVhY2goZnVuY3Rpb24odmFsdWUyKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaChcbiAgICAgICAgICAgICAgZW5jb2RlVmFsdWUob3BlcmF0b3IsIHZhbHVlMiwgaXNLZXlPcGVyYXRvcihvcGVyYXRvcikgPyBrZXkgOiBcIlwiKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBPYmplY3Qua2V5cyh2YWx1ZSkuZm9yRWFjaChmdW5jdGlvbihrKSB7XG4gICAgICAgICAgICBpZiAoaXNEZWZpbmVkKHZhbHVlW2tdKSkge1xuICAgICAgICAgICAgICByZXN1bHQucHVzaChlbmNvZGVWYWx1ZShvcGVyYXRvciwgdmFsdWVba10sIGspKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgdG1wID0gW107XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICAgIHZhbHVlLmZpbHRlcihpc0RlZmluZWQpLmZvckVhY2goZnVuY3Rpb24odmFsdWUyKSB7XG4gICAgICAgICAgICB0bXAucHVzaChlbmNvZGVWYWx1ZShvcGVyYXRvciwgdmFsdWUyKSk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgT2JqZWN0LmtleXModmFsdWUpLmZvckVhY2goZnVuY3Rpb24oaykge1xuICAgICAgICAgICAgaWYgKGlzRGVmaW5lZCh2YWx1ZVtrXSkpIHtcbiAgICAgICAgICAgICAgdG1wLnB1c2goZW5jb2RlVW5yZXNlcnZlZChrKSk7XG4gICAgICAgICAgICAgIHRtcC5wdXNoKGVuY29kZVZhbHVlKG9wZXJhdG9yLCB2YWx1ZVtrXS50b1N0cmluZygpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzS2V5T3BlcmF0b3Iob3BlcmF0b3IpKSB7XG4gICAgICAgICAgcmVzdWx0LnB1c2goZW5jb2RlVW5yZXNlcnZlZChrZXkpICsgXCI9XCIgKyB0bXAuam9pbihcIixcIikpO1xuICAgICAgICB9IGVsc2UgaWYgKHRtcC5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICByZXN1bHQucHVzaCh0bXAuam9pbihcIixcIikpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGlmIChvcGVyYXRvciA9PT0gXCI7XCIpIHtcbiAgICAgIGlmIChpc0RlZmluZWQodmFsdWUpKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKGVuY29kZVVucmVzZXJ2ZWQoa2V5KSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gXCJcIiAmJiAob3BlcmF0b3IgPT09IFwiJlwiIHx8IG9wZXJhdG9yID09PSBcIj9cIikpIHtcbiAgICAgIHJlc3VsdC5wdXNoKGVuY29kZVVucmVzZXJ2ZWQoa2V5KSArIFwiPVwiKTtcbiAgICB9IGVsc2UgaWYgKHZhbHVlID09PSBcIlwiKSB7XG4gICAgICByZXN1bHQucHVzaChcIlwiKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbmZ1bmN0aW9uIHBhcnNlVXJsKHRlbXBsYXRlKSB7XG4gIHJldHVybiB7XG4gICAgZXhwYW5kOiBleHBhbmQuYmluZChudWxsLCB0ZW1wbGF0ZSlcbiAgfTtcbn1cbmZ1bmN0aW9uIGV4cGFuZCh0ZW1wbGF0ZSwgY29udGV4dCkge1xuICB2YXIgb3BlcmF0b3JzID0gW1wiK1wiLCBcIiNcIiwgXCIuXCIsIFwiL1wiLCBcIjtcIiwgXCI/XCIsIFwiJlwiXTtcbiAgdGVtcGxhdGUgPSB0ZW1wbGF0ZS5yZXBsYWNlKFxuICAgIC9cXHsoW15cXHtcXH1dKylcXH18KFteXFx7XFx9XSspL2csXG4gICAgZnVuY3Rpb24oXywgZXhwcmVzc2lvbiwgbGl0ZXJhbCkge1xuICAgICAgaWYgKGV4cHJlc3Npb24pIHtcbiAgICAgICAgbGV0IG9wZXJhdG9yID0gXCJcIjtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gW107XG4gICAgICAgIGlmIChvcGVyYXRvcnMuaW5kZXhPZihleHByZXNzaW9uLmNoYXJBdCgwKSkgIT09IC0xKSB7XG4gICAgICAgICAgb3BlcmF0b3IgPSBleHByZXNzaW9uLmNoYXJBdCgwKTtcbiAgICAgICAgICBleHByZXNzaW9uID0gZXhwcmVzc2lvbi5zdWJzdHIoMSk7XG4gICAgICAgIH1cbiAgICAgICAgZXhwcmVzc2lvbi5zcGxpdCgvLC9nKS5mb3JFYWNoKGZ1bmN0aW9uKHZhcmlhYmxlKSB7XG4gICAgICAgICAgdmFyIHRtcCA9IC8oW146XFwqXSopKD86OihcXGQrKXwoXFwqKSk/Ly5leGVjKHZhcmlhYmxlKTtcbiAgICAgICAgICB2YWx1ZXMucHVzaChnZXRWYWx1ZXMoY29udGV4dCwgb3BlcmF0b3IsIHRtcFsxXSwgdG1wWzJdIHx8IHRtcFszXSkpO1xuICAgICAgICB9KTtcbiAgICAgICAgaWYgKG9wZXJhdG9yICYmIG9wZXJhdG9yICE9PSBcIitcIikge1xuICAgICAgICAgIHZhciBzZXBhcmF0b3IgPSBcIixcIjtcbiAgICAgICAgICBpZiAob3BlcmF0b3IgPT09IFwiP1wiKSB7XG4gICAgICAgICAgICBzZXBhcmF0b3IgPSBcIiZcIjtcbiAgICAgICAgICB9IGVsc2UgaWYgKG9wZXJhdG9yICE9PSBcIiNcIikge1xuICAgICAgICAgICAgc2VwYXJhdG9yID0gb3BlcmF0b3I7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiAodmFsdWVzLmxlbmd0aCAhPT0gMCA/IG9wZXJhdG9yIDogXCJcIikgKyB2YWx1ZXMuam9pbihzZXBhcmF0b3IpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJldHVybiB2YWx1ZXMuam9pbihcIixcIik7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBlbmNvZGVSZXNlcnZlZChsaXRlcmFsKTtcbiAgICAgIH1cbiAgICB9XG4gICk7XG4gIGlmICh0ZW1wbGF0ZSA9PT0gXCIvXCIpIHtcbiAgICByZXR1cm4gdGVtcGxhdGU7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHRlbXBsYXRlLnJlcGxhY2UoL1xcLyQvLCBcIlwiKTtcbiAgfVxufVxuXG4vLyBwa2cvZGlzdC1zcmMvcGFyc2UuanNcbmZ1bmN0aW9uIHBhcnNlKG9wdGlvbnMpIHtcbiAgbGV0IG1ldGhvZCA9IG9wdGlvbnMubWV0aG9kLnRvVXBwZXJDYXNlKCk7XG4gIGxldCB1cmwgPSAob3B0aW9ucy51cmwgfHwgXCIvXCIpLnJlcGxhY2UoLzooW2Etel1cXHcrKS9nLCBcInskMX1cIik7XG4gIGxldCBoZWFkZXJzID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucy5oZWFkZXJzKTtcbiAgbGV0IGJvZHk7XG4gIGxldCBwYXJhbWV0ZXJzID0gb21pdChvcHRpb25zLCBbXG4gICAgXCJtZXRob2RcIixcbiAgICBcImJhc2VVcmxcIixcbiAgICBcInVybFwiLFxuICAgIFwiaGVhZGVyc1wiLFxuICAgIFwicmVxdWVzdFwiLFxuICAgIFwibWVkaWFUeXBlXCJcbiAgXSk7XG4gIGNvbnN0IHVybFZhcmlhYmxlTmFtZXMgPSBleHRyYWN0VXJsVmFyaWFibGVOYW1lcyh1cmwpO1xuICB1cmwgPSBwYXJzZVVybCh1cmwpLmV4cGFuZChwYXJhbWV0ZXJzKTtcbiAgaWYgKCEvXmh0dHAvLnRlc3QodXJsKSkge1xuICAgIHVybCA9IG9wdGlvbnMuYmFzZVVybCArIHVybDtcbiAgfVxuICBjb25zdCBvbWl0dGVkUGFyYW1ldGVycyA9IE9iamVjdC5rZXlzKG9wdGlvbnMpLmZpbHRlcigob3B0aW9uKSA9PiB1cmxWYXJpYWJsZU5hbWVzLmluY2x1ZGVzKG9wdGlvbikpLmNvbmNhdChcImJhc2VVcmxcIik7XG4gIGNvbnN0IHJlbWFpbmluZ1BhcmFtZXRlcnMgPSBvbWl0KHBhcmFtZXRlcnMsIG9taXR0ZWRQYXJhbWV0ZXJzKTtcbiAgY29uc3QgaXNCaW5hcnlSZXF1ZXN0ID0gL2FwcGxpY2F0aW9uXFwvb2N0ZXQtc3RyZWFtL2kudGVzdChoZWFkZXJzLmFjY2VwdCk7XG4gIGlmICghaXNCaW5hcnlSZXF1ZXN0KSB7XG4gICAgaWYgKG9wdGlvbnMubWVkaWFUeXBlLmZvcm1hdCkge1xuICAgICAgaGVhZGVycy5hY2NlcHQgPSBoZWFkZXJzLmFjY2VwdC5zcGxpdCgvLC8pLm1hcChcbiAgICAgICAgKGZvcm1hdCkgPT4gZm9ybWF0LnJlcGxhY2UoXG4gICAgICAgICAgL2FwcGxpY2F0aW9uXFwvdm5kKFxcLlxcdyspKFxcLnYzKT8oXFwuXFx3Kyk/KFxcK2pzb24pPyQvLFxuICAgICAgICAgIGBhcHBsaWNhdGlvbi92bmQkMSQyLiR7b3B0aW9ucy5tZWRpYVR5cGUuZm9ybWF0fWBcbiAgICAgICAgKVxuICAgICAgKS5qb2luKFwiLFwiKTtcbiAgICB9XG4gICAgaWYgKHVybC5lbmRzV2l0aChcIi9ncmFwaHFsXCIpKSB7XG4gICAgICBpZiAob3B0aW9ucy5tZWRpYVR5cGUucHJldmlld3M/Lmxlbmd0aCkge1xuICAgICAgICBjb25zdCBwcmV2aWV3c0Zyb21BY2NlcHRIZWFkZXIgPSBoZWFkZXJzLmFjY2VwdC5tYXRjaCgvW1xcdy1dKyg/PS1wcmV2aWV3KS9nKSB8fCBbXTtcbiAgICAgICAgaGVhZGVycy5hY2NlcHQgPSBwcmV2aWV3c0Zyb21BY2NlcHRIZWFkZXIuY29uY2F0KG9wdGlvbnMubWVkaWFUeXBlLnByZXZpZXdzKS5tYXAoKHByZXZpZXcpID0+IHtcbiAgICAgICAgICBjb25zdCBmb3JtYXQgPSBvcHRpb25zLm1lZGlhVHlwZS5mb3JtYXQgPyBgLiR7b3B0aW9ucy5tZWRpYVR5cGUuZm9ybWF0fWAgOiBcIitqc29uXCI7XG4gICAgICAgICAgcmV0dXJuIGBhcHBsaWNhdGlvbi92bmQuZ2l0aHViLiR7cHJldmlld30tcHJldmlldyR7Zm9ybWF0fWA7XG4gICAgICAgIH0pLmpvaW4oXCIsXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAoW1wiR0VUXCIsIFwiSEVBRFwiXS5pbmNsdWRlcyhtZXRob2QpKSB7XG4gICAgdXJsID0gYWRkUXVlcnlQYXJhbWV0ZXJzKHVybCwgcmVtYWluaW5nUGFyYW1ldGVycyk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKFwiZGF0YVwiIGluIHJlbWFpbmluZ1BhcmFtZXRlcnMpIHtcbiAgICAgIGJvZHkgPSByZW1haW5pbmdQYXJhbWV0ZXJzLmRhdGE7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmIChPYmplY3Qua2V5cyhyZW1haW5pbmdQYXJhbWV0ZXJzKS5sZW5ndGgpIHtcbiAgICAgICAgYm9keSA9IHJlbWFpbmluZ1BhcmFtZXRlcnM7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmICghaGVhZGVyc1tcImNvbnRlbnQtdHlwZVwiXSAmJiB0eXBlb2YgYm9keSAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgIGhlYWRlcnNbXCJjb250ZW50LXR5cGVcIl0gPSBcImFwcGxpY2F0aW9uL2pzb247IGNoYXJzZXQ9dXRmLThcIjtcbiAgfVxuICBpZiAoW1wiUEFUQ0hcIiwgXCJQVVRcIl0uaW5jbHVkZXMobWV0aG9kKSAmJiB0eXBlb2YgYm9keSA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgIGJvZHkgPSBcIlwiO1xuICB9XG4gIHJldHVybiBPYmplY3QuYXNzaWduKFxuICAgIHsgbWV0aG9kLCB1cmwsIGhlYWRlcnMgfSxcbiAgICB0eXBlb2YgYm9keSAhPT0gXCJ1bmRlZmluZWRcIiA/IHsgYm9keSB9IDogbnVsbCxcbiAgICBvcHRpb25zLnJlcXVlc3QgPyB7IHJlcXVlc3Q6IG9wdGlvbnMucmVxdWVzdCB9IDogbnVsbFxuICApO1xufVxuXG4vLyBwa2cvZGlzdC1zcmMvZW5kcG9pbnQtd2l0aC1kZWZhdWx0cy5qc1xuZnVuY3Rpb24gZW5kcG9pbnRXaXRoRGVmYXVsdHMoZGVmYXVsdHMsIHJvdXRlLCBvcHRpb25zKSB7XG4gIHJldHVybiBwYXJzZShtZXJnZShkZWZhdWx0cywgcm91dGUsIG9wdGlvbnMpKTtcbn1cblxuLy8gcGtnL2Rpc3Qtc3JjL3dpdGgtZGVmYXVsdHMuanNcbmZ1bmN0aW9uIHdpdGhEZWZhdWx0cyhvbGREZWZhdWx0cywgbmV3RGVmYXVsdHMpIHtcbiAgY29uc3QgREVGQVVMVFMyID0gbWVyZ2Uob2xkRGVmYXVsdHMsIG5ld0RlZmF1bHRzKTtcbiAgY29uc3QgZW5kcG9pbnQyID0gZW5kcG9pbnRXaXRoRGVmYXVsdHMuYmluZChudWxsLCBERUZBVUxUUzIpO1xuICByZXR1cm4gT2JqZWN0LmFzc2lnbihlbmRwb2ludDIsIHtcbiAgICBERUZBVUxUUzogREVGQVVMVFMyLFxuICAgIGRlZmF1bHRzOiB3aXRoRGVmYXVsdHMuYmluZChudWxsLCBERUZBVUxUUzIpLFxuICAgIG1lcmdlOiBtZXJnZS5iaW5kKG51bGwsIERFRkFVTFRTMiksXG4gICAgcGFyc2VcbiAgfSk7XG59XG5cbi8vIHBrZy9kaXN0LXNyYy9pbmRleC5qc1xudmFyIGVuZHBvaW50ID0gd2l0aERlZmF1bHRzKG51bGwsIERFRkFVTFRTKTtcbi8vIEFubm90YXRlIHRoZSBDb21tb25KUyBleHBvcnQgbmFtZXMgZm9yIEVTTSBpbXBvcnQgaW4gbm9kZTpcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICBlbmRwb2ludFxufSk7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuXG5jbGFzcyBEZXByZWNhdGlvbiBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IobWVzc2FnZSkge1xuICAgIHN1cGVyKG1lc3NhZ2UpOyAvLyBNYWludGFpbnMgcHJvcGVyIHN0YWNrIHRyYWNlIChvbmx5IGF2YWlsYWJsZSBvbiBWOClcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG5cbiAgICBpZiAoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpIHtcbiAgICAgIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKHRoaXMsIHRoaXMuY29uc3RydWN0b3IpO1xuICAgIH1cblxuICAgIHRoaXMubmFtZSA9ICdEZXByZWNhdGlvbic7XG4gIH1cblxufVxuXG5leHBvcnRzLkRlcHJlY2F0aW9uID0gRGVwcmVjYXRpb247XG4iLCAiLy8gUmV0dXJucyBhIHdyYXBwZXIgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgd3JhcHBlZCBjYWxsYmFja1xuLy8gVGhlIHdyYXBwZXIgZnVuY3Rpb24gc2hvdWxkIGRvIHNvbWUgc3R1ZmYsIGFuZCByZXR1cm4gYVxuLy8gcHJlc3VtYWJseSBkaWZmZXJlbnQgY2FsbGJhY2sgZnVuY3Rpb24uXG4vLyBUaGlzIG1ha2VzIHN1cmUgdGhhdCBvd24gcHJvcGVydGllcyBhcmUgcmV0YWluZWQsIHNvIHRoYXRcbi8vIGRlY29yYXRpb25zIGFuZCBzdWNoIGFyZSBub3QgbG9zdCBhbG9uZyB0aGUgd2F5LlxubW9kdWxlLmV4cG9ydHMgPSB3cmFwcHlcbmZ1bmN0aW9uIHdyYXBweSAoZm4sIGNiKSB7XG4gIGlmIChmbiAmJiBjYikgcmV0dXJuIHdyYXBweShmbikoY2IpXG5cbiAgaWYgKHR5cGVvZiBmbiAhPT0gJ2Z1bmN0aW9uJylcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCduZWVkIHdyYXBwZXIgZnVuY3Rpb24nKVxuXG4gIE9iamVjdC5rZXlzKGZuKS5mb3JFYWNoKGZ1bmN0aW9uIChrKSB7XG4gICAgd3JhcHBlcltrXSA9IGZuW2tdXG4gIH0pXG5cbiAgcmV0dXJuIHdyYXBwZXJcblxuICBmdW5jdGlvbiB3cmFwcGVyKCkge1xuICAgIHZhciBhcmdzID0gbmV3IEFycmF5KGFyZ3VtZW50cy5sZW5ndGgpXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcmdzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBhcmdzW2ldID0gYXJndW1lbnRzW2ldXG4gICAgfVxuICAgIHZhciByZXQgPSBmbi5hcHBseSh0aGlzLCBhcmdzKVxuICAgIHZhciBjYiA9IGFyZ3NbYXJncy5sZW5ndGgtMV1cbiAgICBpZiAodHlwZW9mIHJldCA9PT0gJ2Z1bmN0aW9uJyAmJiByZXQgIT09IGNiKSB7XG4gICAgICBPYmplY3Qua2V5cyhjYikuZm9yRWFjaChmdW5jdGlvbiAoaykge1xuICAgICAgICByZXRba10gPSBjYltrXVxuICAgICAgfSlcbiAgICB9XG4gICAgcmV0dXJuIHJldFxuICB9XG59XG4iLCAidmFyIHdyYXBweSA9IHJlcXVpcmUoJ3dyYXBweScpXG5tb2R1bGUuZXhwb3J0cyA9IHdyYXBweShvbmNlKVxubW9kdWxlLmV4cG9ydHMuc3RyaWN0ID0gd3JhcHB5KG9uY2VTdHJpY3QpXG5cbm9uY2UucHJvdG8gPSBvbmNlKGZ1bmN0aW9uICgpIHtcbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KEZ1bmN0aW9uLnByb3RvdHlwZSwgJ29uY2UnLCB7XG4gICAgdmFsdWU6IGZ1bmN0aW9uICgpIHtcbiAgICAgIHJldHVybiBvbmNlKHRoaXMpXG4gICAgfSxcbiAgICBjb25maWd1cmFibGU6IHRydWVcbiAgfSlcblxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRnVuY3Rpb24ucHJvdG90eXBlLCAnb25jZVN0cmljdCcsIHtcbiAgICB2YWx1ZTogZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIG9uY2VTdHJpY3QodGhpcylcbiAgICB9LFxuICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICB9KVxufSlcblxuZnVuY3Rpb24gb25jZSAoZm4pIHtcbiAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGYuY2FsbGVkKSByZXR1cm4gZi52YWx1ZVxuICAgIGYuY2FsbGVkID0gdHJ1ZVxuICAgIHJldHVybiBmLnZhbHVlID0gZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKVxuICB9XG4gIGYuY2FsbGVkID0gZmFsc2VcbiAgcmV0dXJuIGZcbn1cblxuZnVuY3Rpb24gb25jZVN0cmljdCAoZm4pIHtcbiAgdmFyIGYgPSBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGYuY2FsbGVkKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGYub25jZUVycm9yKVxuICAgIGYuY2FsbGVkID0gdHJ1ZVxuICAgIHJldHVybiBmLnZhbHVlID0gZm4uYXBwbHkodGhpcywgYXJndW1lbnRzKVxuICB9XG4gIHZhciBuYW1lID0gZm4ubmFtZSB8fCAnRnVuY3Rpb24gd3JhcHBlZCB3aXRoIGBvbmNlYCdcbiAgZi5vbmNlRXJyb3IgPSBuYW1lICsgXCIgc2hvdWxkbid0IGJlIGNhbGxlZCBtb3JlIHRoYW4gb25jZVwiXG4gIGYuY2FsbGVkID0gZmFsc2VcbiAgcmV0dXJuIGZcbn1cbiIsICJcInVzZSBzdHJpY3RcIjtcbnZhciBfX2NyZWF0ZSA9IE9iamVjdC5jcmVhdGU7XG52YXIgX19kZWZQcm9wID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIF9fZ2V0T3duUHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xudmFyIF9fZ2V0T3duUHJvcE5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7XG52YXIgX19nZXRQcm90b09mID0gT2JqZWN0LmdldFByb3RvdHlwZU9mO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19leHBvcnQgPSAodGFyZ2V0LCBhbGwpID0+IHtcbiAgZm9yICh2YXIgbmFtZSBpbiBhbGwpXG4gICAgX19kZWZQcm9wKHRhcmdldCwgbmFtZSwgeyBnZXQ6IGFsbFtuYW1lXSwgZW51bWVyYWJsZTogdHJ1ZSB9KTtcbn07XG52YXIgX19jb3B5UHJvcHMgPSAodG8sIGZyb20sIGV4Y2VwdCwgZGVzYykgPT4ge1xuICBpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgZnJvbSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZm9yIChsZXQga2V5IG9mIF9fZ2V0T3duUHJvcE5hbWVzKGZyb20pKVxuICAgICAgaWYgKCFfX2hhc093blByb3AuY2FsbCh0bywga2V5KSAmJiBrZXkgIT09IGV4Y2VwdClcbiAgICAgICAgX19kZWZQcm9wKHRvLCBrZXksIHsgZ2V0OiAoKSA9PiBmcm9tW2tleV0sIGVudW1lcmFibGU6ICEoZGVzYyA9IF9fZ2V0T3duUHJvcERlc2MoZnJvbSwga2V5KSkgfHwgZGVzYy5lbnVtZXJhYmxlIH0pO1xuICB9XG4gIHJldHVybiB0bztcbn07XG52YXIgX190b0VTTSA9IChtb2QsIGlzTm9kZU1vZGUsIHRhcmdldCkgPT4gKHRhcmdldCA9IG1vZCAhPSBudWxsID8gX19jcmVhdGUoX19nZXRQcm90b09mKG1vZCkpIDoge30sIF9fY29weVByb3BzKFxuICAvLyBJZiB0aGUgaW1wb3J0ZXIgaXMgaW4gbm9kZSBjb21wYXRpYmlsaXR5IG1vZGUgb3IgdGhpcyBpcyBub3QgYW4gRVNNXG4gIC8vIGZpbGUgdGhhdCBoYXMgYmVlbiBjb252ZXJ0ZWQgdG8gYSBDb21tb25KUyBmaWxlIHVzaW5nIGEgQmFiZWwtXG4gIC8vIGNvbXBhdGlibGUgdHJhbnNmb3JtIChpLmUuIFwiX19lc01vZHVsZVwiIGhhcyBub3QgYmVlbiBzZXQpLCB0aGVuIHNldFxuICAvLyBcImRlZmF1bHRcIiB0byB0aGUgQ29tbW9uSlMgXCJtb2R1bGUuZXhwb3J0c1wiIGZvciBub2RlIGNvbXBhdGliaWxpdHkuXG4gIGlzTm9kZU1vZGUgfHwgIW1vZCB8fCAhbW9kLl9fZXNNb2R1bGUgPyBfX2RlZlByb3AodGFyZ2V0LCBcImRlZmF1bHRcIiwgeyB2YWx1ZTogbW9kLCBlbnVtZXJhYmxlOiB0cnVlIH0pIDogdGFyZ2V0LFxuICBtb2RcbikpO1xudmFyIF9fdG9Db21tb25KUyA9IChtb2QpID0+IF9fY29weVByb3BzKF9fZGVmUHJvcCh7fSwgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSksIG1vZCk7XG5cbi8vIHBrZy9kaXN0LXNyYy9pbmRleC5qc1xudmFyIGRpc3Rfc3JjX2V4cG9ydHMgPSB7fTtcbl9fZXhwb3J0KGRpc3Rfc3JjX2V4cG9ydHMsIHtcbiAgUmVxdWVzdEVycm9yOiAoKSA9PiBSZXF1ZXN0RXJyb3Jcbn0pO1xubW9kdWxlLmV4cG9ydHMgPSBfX3RvQ29tbW9uSlMoZGlzdF9zcmNfZXhwb3J0cyk7XG52YXIgaW1wb3J0X2RlcHJlY2F0aW9uID0gcmVxdWlyZShcImRlcHJlY2F0aW9uXCIpO1xudmFyIGltcG9ydF9vbmNlID0gX190b0VTTShyZXF1aXJlKFwib25jZVwiKSk7XG52YXIgbG9nT25jZUNvZGUgPSAoMCwgaW1wb3J0X29uY2UuZGVmYXVsdCkoKGRlcHJlY2F0aW9uKSA9PiBjb25zb2xlLndhcm4oZGVwcmVjYXRpb24pKTtcbnZhciBsb2dPbmNlSGVhZGVycyA9ICgwLCBpbXBvcnRfb25jZS5kZWZhdWx0KSgoZGVwcmVjYXRpb24pID0+IGNvbnNvbGUud2FybihkZXByZWNhdGlvbikpO1xudmFyIFJlcXVlc3RFcnJvciA9IGNsYXNzIGV4dGVuZHMgRXJyb3Ige1xuICBjb25zdHJ1Y3RvcihtZXNzYWdlLCBzdGF0dXNDb2RlLCBvcHRpb25zKSB7XG4gICAgc3VwZXIobWVzc2FnZSk7XG4gICAgaWYgKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKSB7XG4gICAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCB0aGlzLmNvbnN0cnVjdG9yKTtcbiAgICB9XG4gICAgdGhpcy5uYW1lID0gXCJIdHRwRXJyb3JcIjtcbiAgICB0aGlzLnN0YXR1cyA9IHN0YXR1c0NvZGU7XG4gICAgbGV0IGhlYWRlcnM7XG4gICAgaWYgKFwiaGVhZGVyc1wiIGluIG9wdGlvbnMgJiYgdHlwZW9mIG9wdGlvbnMuaGVhZGVycyAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgaGVhZGVycyA9IG9wdGlvbnMuaGVhZGVycztcbiAgICB9XG4gICAgaWYgKFwicmVzcG9uc2VcIiBpbiBvcHRpb25zKSB7XG4gICAgICB0aGlzLnJlc3BvbnNlID0gb3B0aW9ucy5yZXNwb25zZTtcbiAgICAgIGhlYWRlcnMgPSBvcHRpb25zLnJlc3BvbnNlLmhlYWRlcnM7XG4gICAgfVxuICAgIGNvbnN0IHJlcXVlc3RDb3B5ID0gT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9ucy5yZXF1ZXN0KTtcbiAgICBpZiAob3B0aW9ucy5yZXF1ZXN0LmhlYWRlcnMuYXV0aG9yaXphdGlvbikge1xuICAgICAgcmVxdWVzdENvcHkuaGVhZGVycyA9IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMucmVxdWVzdC5oZWFkZXJzLCB7XG4gICAgICAgIGF1dGhvcml6YXRpb246IG9wdGlvbnMucmVxdWVzdC5oZWFkZXJzLmF1dGhvcml6YXRpb24ucmVwbGFjZShcbiAgICAgICAgICAvIC4qJC8sXG4gICAgICAgICAgXCIgW1JFREFDVEVEXVwiXG4gICAgICAgIClcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXF1ZXN0Q29weS51cmwgPSByZXF1ZXN0Q29weS51cmwucmVwbGFjZSgvXFxiY2xpZW50X3NlY3JldD1cXHcrL2csIFwiY2xpZW50X3NlY3JldD1bUkVEQUNURURdXCIpLnJlcGxhY2UoL1xcYmFjY2Vzc190b2tlbj1cXHcrL2csIFwiYWNjZXNzX3Rva2VuPVtSRURBQ1RFRF1cIik7XG4gICAgdGhpcy5yZXF1ZXN0ID0gcmVxdWVzdENvcHk7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiY29kZVwiLCB7XG4gICAgICBnZXQoKSB7XG4gICAgICAgIGxvZ09uY2VDb2RlKFxuICAgICAgICAgIG5ldyBpbXBvcnRfZGVwcmVjYXRpb24uRGVwcmVjYXRpb24oXG4gICAgICAgICAgICBcIltAb2N0b2tpdC9yZXF1ZXN0LWVycm9yXSBgZXJyb3IuY29kZWAgaXMgZGVwcmVjYXRlZCwgdXNlIGBlcnJvci5zdGF0dXNgLlwiXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gc3RhdHVzQ29kZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJoZWFkZXJzXCIsIHtcbiAgICAgIGdldCgpIHtcbiAgICAgICAgbG9nT25jZUhlYWRlcnMoXG4gICAgICAgICAgbmV3IGltcG9ydF9kZXByZWNhdGlvbi5EZXByZWNhdGlvbihcbiAgICAgICAgICAgIFwiW0BvY3Rva2l0L3JlcXVlc3QtZXJyb3JdIGBlcnJvci5oZWFkZXJzYCBpcyBkZXByZWNhdGVkLCB1c2UgYGVycm9yLnJlc3BvbnNlLmhlYWRlcnNgLlwiXG4gICAgICAgICAgKVxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gaGVhZGVycyB8fCB7fTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufTtcbi8vIEFubm90YXRlIHRoZSBDb21tb25KUyBleHBvcnQgbmFtZXMgZm9yIEVTTSBpbXBvcnQgaW4gbm9kZTpcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICBSZXF1ZXN0RXJyb3Jcbn0pO1xuIiwgIlwidXNlIHN0cmljdFwiO1xudmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2dldE93blByb3BEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbnZhciBfX2dldE93blByb3BOYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19leHBvcnQgPSAodGFyZ2V0LCBhbGwpID0+IHtcbiAgZm9yICh2YXIgbmFtZSBpbiBhbGwpXG4gICAgX19kZWZQcm9wKHRhcmdldCwgbmFtZSwgeyBnZXQ6IGFsbFtuYW1lXSwgZW51bWVyYWJsZTogdHJ1ZSB9KTtcbn07XG52YXIgX19jb3B5UHJvcHMgPSAodG8sIGZyb20sIGV4Y2VwdCwgZGVzYykgPT4ge1xuICBpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgZnJvbSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZm9yIChsZXQga2V5IG9mIF9fZ2V0T3duUHJvcE5hbWVzKGZyb20pKVxuICAgICAgaWYgKCFfX2hhc093blByb3AuY2FsbCh0bywga2V5KSAmJiBrZXkgIT09IGV4Y2VwdClcbiAgICAgICAgX19kZWZQcm9wKHRvLCBrZXksIHsgZ2V0OiAoKSA9PiBmcm9tW2tleV0sIGVudW1lcmFibGU6ICEoZGVzYyA9IF9fZ2V0T3duUHJvcERlc2MoZnJvbSwga2V5KSkgfHwgZGVzYy5lbnVtZXJhYmxlIH0pO1xuICB9XG4gIHJldHVybiB0bztcbn07XG52YXIgX190b0NvbW1vbkpTID0gKG1vZCkgPT4gX19jb3B5UHJvcHMoX19kZWZQcm9wKHt9LCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KSwgbW9kKTtcblxuLy8gcGtnL2Rpc3Qtc3JjL2luZGV4LmpzXG52YXIgZGlzdF9zcmNfZXhwb3J0cyA9IHt9O1xuX19leHBvcnQoZGlzdF9zcmNfZXhwb3J0cywge1xuICByZXF1ZXN0OiAoKSA9PiByZXF1ZXN0XG59KTtcbm1vZHVsZS5leHBvcnRzID0gX190b0NvbW1vbkpTKGRpc3Rfc3JjX2V4cG9ydHMpO1xudmFyIGltcG9ydF9lbmRwb2ludCA9IHJlcXVpcmUoXCJAb2N0b2tpdC9lbmRwb2ludFwiKTtcbnZhciBpbXBvcnRfdW5pdmVyc2FsX3VzZXJfYWdlbnQgPSByZXF1aXJlKFwidW5pdmVyc2FsLXVzZXItYWdlbnRcIik7XG5cbi8vIHBrZy9kaXN0LXNyYy92ZXJzaW9uLmpzXG52YXIgVkVSU0lPTiA9IFwiOC40LjBcIjtcblxuLy8gcGtnL2Rpc3Qtc3JjL2lzLXBsYWluLW9iamVjdC5qc1xuZnVuY3Rpb24gaXNQbGFpbk9iamVjdCh2YWx1ZSkge1xuICBpZiAodHlwZW9mIHZhbHVlICE9PSBcIm9iamVjdFwiIHx8IHZhbHVlID09PSBudWxsKVxuICAgIHJldHVybiBmYWxzZTtcbiAgaWYgKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh2YWx1ZSkgIT09IFwiW29iamVjdCBPYmplY3RdXCIpXG4gICAgcmV0dXJuIGZhbHNlO1xuICBjb25zdCBwcm90byA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih2YWx1ZSk7XG4gIGlmIChwcm90byA9PT0gbnVsbClcbiAgICByZXR1cm4gdHJ1ZTtcbiAgY29uc3QgQ3RvciA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwcm90bywgXCJjb25zdHJ1Y3RvclwiKSAmJiBwcm90by5jb25zdHJ1Y3RvcjtcbiAgcmV0dXJuIHR5cGVvZiBDdG9yID09PSBcImZ1bmN0aW9uXCIgJiYgQ3RvciBpbnN0YW5jZW9mIEN0b3IgJiYgRnVuY3Rpb24ucHJvdG90eXBlLmNhbGwoQ3RvcikgPT09IEZ1bmN0aW9uLnByb3RvdHlwZS5jYWxsKHZhbHVlKTtcbn1cblxuLy8gcGtnL2Rpc3Qtc3JjL2ZldGNoLXdyYXBwZXIuanNcbnZhciBpbXBvcnRfcmVxdWVzdF9lcnJvciA9IHJlcXVpcmUoXCJAb2N0b2tpdC9yZXF1ZXN0LWVycm9yXCIpO1xuXG4vLyBwa2cvZGlzdC1zcmMvZ2V0LWJ1ZmZlci1yZXNwb25zZS5qc1xuZnVuY3Rpb24gZ2V0QnVmZmVyUmVzcG9uc2UocmVzcG9uc2UpIHtcbiAgcmV0dXJuIHJlc3BvbnNlLmFycmF5QnVmZmVyKCk7XG59XG5cbi8vIHBrZy9kaXN0LXNyYy9mZXRjaC13cmFwcGVyLmpzXG5mdW5jdGlvbiBmZXRjaFdyYXBwZXIocmVxdWVzdE9wdGlvbnMpIHtcbiAgdmFyIF9hLCBfYiwgX2MsIF9kO1xuICBjb25zdCBsb2cgPSByZXF1ZXN0T3B0aW9ucy5yZXF1ZXN0ICYmIHJlcXVlc3RPcHRpb25zLnJlcXVlc3QubG9nID8gcmVxdWVzdE9wdGlvbnMucmVxdWVzdC5sb2cgOiBjb25zb2xlO1xuICBjb25zdCBwYXJzZVN1Y2Nlc3NSZXNwb25zZUJvZHkgPSAoKF9hID0gcmVxdWVzdE9wdGlvbnMucmVxdWVzdCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLnBhcnNlU3VjY2Vzc1Jlc3BvbnNlQm9keSkgIT09IGZhbHNlO1xuICBpZiAoaXNQbGFpbk9iamVjdChyZXF1ZXN0T3B0aW9ucy5ib2R5KSB8fCBBcnJheS5pc0FycmF5KHJlcXVlc3RPcHRpb25zLmJvZHkpKSB7XG4gICAgcmVxdWVzdE9wdGlvbnMuYm9keSA9IEpTT04uc3RyaW5naWZ5KHJlcXVlc3RPcHRpb25zLmJvZHkpO1xuICB9XG4gIGxldCBoZWFkZXJzID0ge307XG4gIGxldCBzdGF0dXM7XG4gIGxldCB1cmw7XG4gIGxldCB7IGZldGNoIH0gPSBnbG9iYWxUaGlzO1xuICBpZiAoKF9iID0gcmVxdWVzdE9wdGlvbnMucmVxdWVzdCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLmZldGNoKSB7XG4gICAgZmV0Y2ggPSByZXF1ZXN0T3B0aW9ucy5yZXF1ZXN0LmZldGNoO1xuICB9XG4gIGlmICghZmV0Y2gpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBcImZldGNoIGlzIG5vdCBzZXQuIFBsZWFzZSBwYXNzIGEgZmV0Y2ggaW1wbGVtZW50YXRpb24gYXMgbmV3IE9jdG9raXQoeyByZXF1ZXN0OiB7IGZldGNoIH19KS4gTGVhcm4gbW9yZSBhdCBodHRwczovL2dpdGh1Yi5jb20vb2N0b2tpdC9vY3Rva2l0LmpzLyNmZXRjaC1taXNzaW5nXCJcbiAgICApO1xuICB9XG4gIHJldHVybiBmZXRjaChyZXF1ZXN0T3B0aW9ucy51cmwsIHtcbiAgICBtZXRob2Q6IHJlcXVlc3RPcHRpb25zLm1ldGhvZCxcbiAgICBib2R5OiByZXF1ZXN0T3B0aW9ucy5ib2R5LFxuICAgIHJlZGlyZWN0OiAoX2MgPSByZXF1ZXN0T3B0aW9ucy5yZXF1ZXN0KSA9PSBudWxsID8gdm9pZCAwIDogX2MucmVkaXJlY3QsXG4gICAgaGVhZGVyczogcmVxdWVzdE9wdGlvbnMuaGVhZGVycyxcbiAgICBzaWduYWw6IChfZCA9IHJlcXVlc3RPcHRpb25zLnJlcXVlc3QpID09IG51bGwgPyB2b2lkIDAgOiBfZC5zaWduYWwsXG4gICAgLy8gZHVwbGV4IG11c3QgYmUgc2V0IGlmIHJlcXVlc3QuYm9keSBpcyBSZWFkYWJsZVN0cmVhbSBvciBBc3luYyBJdGVyYWJsZXMuXG4gICAgLy8gU2VlIGh0dHBzOi8vZmV0Y2guc3BlYy53aGF0d2cub3JnLyNkb20tcmVxdWVzdGluaXQtZHVwbGV4LlxuICAgIC4uLnJlcXVlc3RPcHRpb25zLmJvZHkgJiYgeyBkdXBsZXg6IFwiaGFsZlwiIH1cbiAgfSkudGhlbihhc3luYyAocmVzcG9uc2UpID0+IHtcbiAgICB1cmwgPSByZXNwb25zZS51cmw7XG4gICAgc3RhdHVzID0gcmVzcG9uc2Uuc3RhdHVzO1xuICAgIGZvciAoY29uc3Qga2V5QW5kVmFsdWUgb2YgcmVzcG9uc2UuaGVhZGVycykge1xuICAgICAgaGVhZGVyc1trZXlBbmRWYWx1ZVswXV0gPSBrZXlBbmRWYWx1ZVsxXTtcbiAgICB9XG4gICAgaWYgKFwiZGVwcmVjYXRpb25cIiBpbiBoZWFkZXJzKSB7XG4gICAgICBjb25zdCBtYXRjaGVzID0gaGVhZGVycy5saW5rICYmIGhlYWRlcnMubGluay5tYXRjaCgvPChbXj5dKyk+OyByZWw9XCJkZXByZWNhdGlvblwiLyk7XG4gICAgICBjb25zdCBkZXByZWNhdGlvbkxpbmsgPSBtYXRjaGVzICYmIG1hdGNoZXMucG9wKCk7XG4gICAgICBsb2cud2FybihcbiAgICAgICAgYFtAb2N0b2tpdC9yZXF1ZXN0XSBcIiR7cmVxdWVzdE9wdGlvbnMubWV0aG9kfSAke3JlcXVlc3RPcHRpb25zLnVybH1cIiBpcyBkZXByZWNhdGVkLiBJdCBpcyBzY2hlZHVsZWQgdG8gYmUgcmVtb3ZlZCBvbiAke2hlYWRlcnMuc3Vuc2V0fSR7ZGVwcmVjYXRpb25MaW5rID8gYC4gU2VlICR7ZGVwcmVjYXRpb25MaW5rfWAgOiBcIlwifWBcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChzdGF0dXMgPT09IDIwNCB8fCBzdGF0dXMgPT09IDIwNSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAocmVxdWVzdE9wdGlvbnMubWV0aG9kID09PSBcIkhFQURcIikge1xuICAgICAgaWYgKHN0YXR1cyA8IDQwMCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgaW1wb3J0X3JlcXVlc3RfZXJyb3IuUmVxdWVzdEVycm9yKHJlc3BvbnNlLnN0YXR1c1RleHQsIHN0YXR1cywge1xuICAgICAgICByZXNwb25zZToge1xuICAgICAgICAgIHVybCxcbiAgICAgICAgICBzdGF0dXMsXG4gICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgICBkYXRhOiB2b2lkIDBcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWVzdDogcmVxdWVzdE9wdGlvbnNcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoc3RhdHVzID09PSAzMDQpIHtcbiAgICAgIHRocm93IG5ldyBpbXBvcnRfcmVxdWVzdF9lcnJvci5SZXF1ZXN0RXJyb3IoXCJOb3QgbW9kaWZpZWRcIiwgc3RhdHVzLCB7XG4gICAgICAgIHJlc3BvbnNlOiB7XG4gICAgICAgICAgdXJsLFxuICAgICAgICAgIHN0YXR1cyxcbiAgICAgICAgICBoZWFkZXJzLFxuICAgICAgICAgIGRhdGE6IGF3YWl0IGdldFJlc3BvbnNlRGF0YShyZXNwb25zZSlcbiAgICAgICAgfSxcbiAgICAgICAgcmVxdWVzdDogcmVxdWVzdE9wdGlvbnNcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoc3RhdHVzID49IDQwMCkge1xuICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IGdldFJlc3BvbnNlRGF0YShyZXNwb25zZSk7XG4gICAgICBjb25zdCBlcnJvciA9IG5ldyBpbXBvcnRfcmVxdWVzdF9lcnJvci5SZXF1ZXN0RXJyb3IodG9FcnJvck1lc3NhZ2UoZGF0YSksIHN0YXR1cywge1xuICAgICAgICByZXNwb25zZToge1xuICAgICAgICAgIHVybCxcbiAgICAgICAgICBzdGF0dXMsXG4gICAgICAgICAgaGVhZGVycyxcbiAgICAgICAgICBkYXRhXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVlc3Q6IHJlcXVlc3RPcHRpb25zXG4gICAgICB9KTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgICByZXR1cm4gcGFyc2VTdWNjZXNzUmVzcG9uc2VCb2R5ID8gYXdhaXQgZ2V0UmVzcG9uc2VEYXRhKHJlc3BvbnNlKSA6IHJlc3BvbnNlLmJvZHk7XG4gIH0pLnRoZW4oKGRhdGEpID0+IHtcbiAgICByZXR1cm4ge1xuICAgICAgc3RhdHVzLFxuICAgICAgdXJsLFxuICAgICAgaGVhZGVycyxcbiAgICAgIGRhdGFcbiAgICB9O1xuICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBpbXBvcnRfcmVxdWVzdF9lcnJvci5SZXF1ZXN0RXJyb3IpXG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICBlbHNlIGlmIChlcnJvci5uYW1lID09PSBcIkFib3J0RXJyb3JcIilcbiAgICAgIHRocm93IGVycm9yO1xuICAgIGxldCBtZXNzYWdlID0gZXJyb3IubWVzc2FnZTtcbiAgICBpZiAoZXJyb3IubmFtZSA9PT0gXCJUeXBlRXJyb3JcIiAmJiBcImNhdXNlXCIgaW4gZXJyb3IpIHtcbiAgICAgIGlmIChlcnJvci5jYXVzZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICAgIG1lc3NhZ2UgPSBlcnJvci5jYXVzZS5tZXNzYWdlO1xuICAgICAgfSBlbHNlIGlmICh0eXBlb2YgZXJyb3IuY2F1c2UgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgbWVzc2FnZSA9IGVycm9yLmNhdXNlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgaW1wb3J0X3JlcXVlc3RfZXJyb3IuUmVxdWVzdEVycm9yKG1lc3NhZ2UsIDUwMCwge1xuICAgICAgcmVxdWVzdDogcmVxdWVzdE9wdGlvbnNcbiAgICB9KTtcbiAgfSk7XG59XG5hc3luYyBmdW5jdGlvbiBnZXRSZXNwb25zZURhdGEocmVzcG9uc2UpIHtcbiAgY29uc3QgY29udGVudFR5cGUgPSByZXNwb25zZS5oZWFkZXJzLmdldChcImNvbnRlbnQtdHlwZVwiKTtcbiAgaWYgKC9hcHBsaWNhdGlvblxcL2pzb24vLnRlc3QoY29udGVudFR5cGUpKSB7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmpzb24oKS5jYXRjaCgoKSA9PiByZXNwb25zZS50ZXh0KCkpLmNhdGNoKCgpID0+IFwiXCIpO1xuICB9XG4gIGlmICghY29udGVudFR5cGUgfHwgL150ZXh0XFwvfGNoYXJzZXQ9dXRmLTgkLy50ZXN0KGNvbnRlbnRUeXBlKSkge1xuICAgIHJldHVybiByZXNwb25zZS50ZXh0KCk7XG4gIH1cbiAgcmV0dXJuIGdldEJ1ZmZlclJlc3BvbnNlKHJlc3BvbnNlKTtcbn1cbmZ1bmN0aW9uIHRvRXJyb3JNZXNzYWdlKGRhdGEpIHtcbiAgaWYgKHR5cGVvZiBkYXRhID09PSBcInN0cmluZ1wiKVxuICAgIHJldHVybiBkYXRhO1xuICBsZXQgc3VmZml4O1xuICBpZiAoXCJkb2N1bWVudGF0aW9uX3VybFwiIGluIGRhdGEpIHtcbiAgICBzdWZmaXggPSBgIC0gJHtkYXRhLmRvY3VtZW50YXRpb25fdXJsfWA7XG4gIH0gZWxzZSB7XG4gICAgc3VmZml4ID0gXCJcIjtcbiAgfVxuICBpZiAoXCJtZXNzYWdlXCIgaW4gZGF0YSkge1xuICAgIGlmIChBcnJheS5pc0FycmF5KGRhdGEuZXJyb3JzKSkge1xuICAgICAgcmV0dXJuIGAke2RhdGEubWVzc2FnZX06ICR7ZGF0YS5lcnJvcnMubWFwKEpTT04uc3RyaW5naWZ5KS5qb2luKFwiLCBcIil9JHtzdWZmaXh9YDtcbiAgICB9XG4gICAgcmV0dXJuIGAke2RhdGEubWVzc2FnZX0ke3N1ZmZpeH1gO1xuICB9XG4gIHJldHVybiBgVW5rbm93biBlcnJvcjogJHtKU09OLnN0cmluZ2lmeShkYXRhKX1gO1xufVxuXG4vLyBwa2cvZGlzdC1zcmMvd2l0aC1kZWZhdWx0cy5qc1xuZnVuY3Rpb24gd2l0aERlZmF1bHRzKG9sZEVuZHBvaW50LCBuZXdEZWZhdWx0cykge1xuICBjb25zdCBlbmRwb2ludDIgPSBvbGRFbmRwb2ludC5kZWZhdWx0cyhuZXdEZWZhdWx0cyk7XG4gIGNvbnN0IG5ld0FwaSA9IGZ1bmN0aW9uKHJvdXRlLCBwYXJhbWV0ZXJzKSB7XG4gICAgY29uc3QgZW5kcG9pbnRPcHRpb25zID0gZW5kcG9pbnQyLm1lcmdlKHJvdXRlLCBwYXJhbWV0ZXJzKTtcbiAgICBpZiAoIWVuZHBvaW50T3B0aW9ucy5yZXF1ZXN0IHx8ICFlbmRwb2ludE9wdGlvbnMucmVxdWVzdC5ob29rKSB7XG4gICAgICByZXR1cm4gZmV0Y2hXcmFwcGVyKGVuZHBvaW50Mi5wYXJzZShlbmRwb2ludE9wdGlvbnMpKTtcbiAgICB9XG4gICAgY29uc3QgcmVxdWVzdDIgPSAocm91dGUyLCBwYXJhbWV0ZXJzMikgPT4ge1xuICAgICAgcmV0dXJuIGZldGNoV3JhcHBlcihcbiAgICAgICAgZW5kcG9pbnQyLnBhcnNlKGVuZHBvaW50Mi5tZXJnZShyb3V0ZTIsIHBhcmFtZXRlcnMyKSlcbiAgICAgICk7XG4gICAgfTtcbiAgICBPYmplY3QuYXNzaWduKHJlcXVlc3QyLCB7XG4gICAgICBlbmRwb2ludDogZW5kcG9pbnQyLFxuICAgICAgZGVmYXVsdHM6IHdpdGhEZWZhdWx0cy5iaW5kKG51bGwsIGVuZHBvaW50MilcbiAgICB9KTtcbiAgICByZXR1cm4gZW5kcG9pbnRPcHRpb25zLnJlcXVlc3QuaG9vayhyZXF1ZXN0MiwgZW5kcG9pbnRPcHRpb25zKTtcbiAgfTtcbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24obmV3QXBpLCB7XG4gICAgZW5kcG9pbnQ6IGVuZHBvaW50MixcbiAgICBkZWZhdWx0czogd2l0aERlZmF1bHRzLmJpbmQobnVsbCwgZW5kcG9pbnQyKVxuICB9KTtcbn1cblxuLy8gcGtnL2Rpc3Qtc3JjL2luZGV4LmpzXG52YXIgcmVxdWVzdCA9IHdpdGhEZWZhdWx0cyhpbXBvcnRfZW5kcG9pbnQuZW5kcG9pbnQsIHtcbiAgaGVhZGVyczoge1xuICAgIFwidXNlci1hZ2VudFwiOiBgb2N0b2tpdC1yZXF1ZXN0LmpzLyR7VkVSU0lPTn0gJHsoMCwgaW1wb3J0X3VuaXZlcnNhbF91c2VyX2FnZW50LmdldFVzZXJBZ2VudCkoKX1gXG4gIH1cbn0pO1xuLy8gQW5ub3RhdGUgdGhlIENvbW1vbkpTIGV4cG9ydCBuYW1lcyBmb3IgRVNNIGltcG9ydCBpbiBub2RlOlxuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gIHJlcXVlc3Rcbn0pO1xuIiwgIlwidXNlIHN0cmljdFwiO1xudmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2dldE93blByb3BEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbnZhciBfX2dldE93blByb3BOYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19leHBvcnQgPSAodGFyZ2V0LCBhbGwpID0+IHtcbiAgZm9yICh2YXIgbmFtZSBpbiBhbGwpXG4gICAgX19kZWZQcm9wKHRhcmdldCwgbmFtZSwgeyBnZXQ6IGFsbFtuYW1lXSwgZW51bWVyYWJsZTogdHJ1ZSB9KTtcbn07XG52YXIgX19jb3B5UHJvcHMgPSAodG8sIGZyb20sIGV4Y2VwdCwgZGVzYykgPT4ge1xuICBpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgZnJvbSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZm9yIChsZXQga2V5IG9mIF9fZ2V0T3duUHJvcE5hbWVzKGZyb20pKVxuICAgICAgaWYgKCFfX2hhc093blByb3AuY2FsbCh0bywga2V5KSAmJiBrZXkgIT09IGV4Y2VwdClcbiAgICAgICAgX19kZWZQcm9wKHRvLCBrZXksIHsgZ2V0OiAoKSA9PiBmcm9tW2tleV0sIGVudW1lcmFibGU6ICEoZGVzYyA9IF9fZ2V0T3duUHJvcERlc2MoZnJvbSwga2V5KSkgfHwgZGVzYy5lbnVtZXJhYmxlIH0pO1xuICB9XG4gIHJldHVybiB0bztcbn07XG52YXIgX190b0NvbW1vbkpTID0gKG1vZCkgPT4gX19jb3B5UHJvcHMoX19kZWZQcm9wKHt9LCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KSwgbW9kKTtcblxuLy8gcGtnL2Rpc3Qtc3JjL2luZGV4LmpzXG52YXIgZGlzdF9zcmNfZXhwb3J0cyA9IHt9O1xuX19leHBvcnQoZGlzdF9zcmNfZXhwb3J0cywge1xuICBHcmFwaHFsUmVzcG9uc2VFcnJvcjogKCkgPT4gR3JhcGhxbFJlc3BvbnNlRXJyb3IsXG4gIGdyYXBocWw6ICgpID0+IGdyYXBocWwyLFxuICB3aXRoQ3VzdG9tUmVxdWVzdDogKCkgPT4gd2l0aEN1c3RvbVJlcXVlc3Rcbn0pO1xubW9kdWxlLmV4cG9ydHMgPSBfX3RvQ29tbW9uSlMoZGlzdF9zcmNfZXhwb3J0cyk7XG52YXIgaW1wb3J0X3JlcXVlc3QzID0gcmVxdWlyZShcIkBvY3Rva2l0L3JlcXVlc3RcIik7XG52YXIgaW1wb3J0X3VuaXZlcnNhbF91c2VyX2FnZW50ID0gcmVxdWlyZShcInVuaXZlcnNhbC11c2VyLWFnZW50XCIpO1xuXG4vLyBwa2cvZGlzdC1zcmMvdmVyc2lvbi5qc1xudmFyIFZFUlNJT04gPSBcIjcuMS4wXCI7XG5cbi8vIHBrZy9kaXN0LXNyYy93aXRoLWRlZmF1bHRzLmpzXG52YXIgaW1wb3J0X3JlcXVlc3QyID0gcmVxdWlyZShcIkBvY3Rva2l0L3JlcXVlc3RcIik7XG5cbi8vIHBrZy9kaXN0LXNyYy9ncmFwaHFsLmpzXG52YXIgaW1wb3J0X3JlcXVlc3QgPSByZXF1aXJlKFwiQG9jdG9raXQvcmVxdWVzdFwiKTtcblxuLy8gcGtnL2Rpc3Qtc3JjL2Vycm9yLmpzXG5mdW5jdGlvbiBfYnVpbGRNZXNzYWdlRm9yUmVzcG9uc2VFcnJvcnMoZGF0YSkge1xuICByZXR1cm4gYFJlcXVlc3QgZmFpbGVkIGR1ZSB0byBmb2xsb3dpbmcgcmVzcG9uc2UgZXJyb3JzOlxuYCArIGRhdGEuZXJyb3JzLm1hcCgoZSkgPT4gYCAtICR7ZS5tZXNzYWdlfWApLmpvaW4oXCJcXG5cIik7XG59XG52YXIgR3JhcGhxbFJlc3BvbnNlRXJyb3IgPSBjbGFzcyBleHRlbmRzIEVycm9yIHtcbiAgY29uc3RydWN0b3IocmVxdWVzdDIsIGhlYWRlcnMsIHJlc3BvbnNlKSB7XG4gICAgc3VwZXIoX2J1aWxkTWVzc2FnZUZvclJlc3BvbnNlRXJyb3JzKHJlc3BvbnNlKSk7XG4gICAgdGhpcy5yZXF1ZXN0ID0gcmVxdWVzdDI7XG4gICAgdGhpcy5oZWFkZXJzID0gaGVhZGVycztcbiAgICB0aGlzLnJlc3BvbnNlID0gcmVzcG9uc2U7XG4gICAgdGhpcy5uYW1lID0gXCJHcmFwaHFsUmVzcG9uc2VFcnJvclwiO1xuICAgIHRoaXMuZXJyb3JzID0gcmVzcG9uc2UuZXJyb3JzO1xuICAgIHRoaXMuZGF0YSA9IHJlc3BvbnNlLmRhdGE7XG4gICAgaWYgKEVycm9yLmNhcHR1cmVTdGFja1RyYWNlKSB7XG4gICAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCB0aGlzLmNvbnN0cnVjdG9yKTtcbiAgICB9XG4gIH1cbn07XG5cbi8vIHBrZy9kaXN0LXNyYy9ncmFwaHFsLmpzXG52YXIgTk9OX1ZBUklBQkxFX09QVElPTlMgPSBbXG4gIFwibWV0aG9kXCIsXG4gIFwiYmFzZVVybFwiLFxuICBcInVybFwiLFxuICBcImhlYWRlcnNcIixcbiAgXCJyZXF1ZXN0XCIsXG4gIFwicXVlcnlcIixcbiAgXCJtZWRpYVR5cGVcIlxuXTtcbnZhciBGT1JCSURERU5fVkFSSUFCTEVfT1BUSU9OUyA9IFtcInF1ZXJ5XCIsIFwibWV0aG9kXCIsIFwidXJsXCJdO1xudmFyIEdIRVNfVjNfU1VGRklYX1JFR0VYID0gL1xcL2FwaVxcL3YzXFwvPyQvO1xuZnVuY3Rpb24gZ3JhcGhxbChyZXF1ZXN0MiwgcXVlcnksIG9wdGlvbnMpIHtcbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBpZiAodHlwZW9mIHF1ZXJ5ID09PSBcInN0cmluZ1wiICYmIFwicXVlcnlcIiBpbiBvcHRpb25zKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICAgIG5ldyBFcnJvcihgW0BvY3Rva2l0L2dyYXBocWxdIFwicXVlcnlcIiBjYW5ub3QgYmUgdXNlZCBhcyB2YXJpYWJsZSBuYW1lYClcbiAgICAgICk7XG4gICAgfVxuICAgIGZvciAoY29uc3Qga2V5IGluIG9wdGlvbnMpIHtcbiAgICAgIGlmICghRk9SQklEREVOX1ZBUklBQkxFX09QVElPTlMuaW5jbHVkZXMoa2V5KSlcbiAgICAgICAgY29udGludWU7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoXG4gICAgICAgIG5ldyBFcnJvcihcbiAgICAgICAgICBgW0BvY3Rva2l0L2dyYXBocWxdIFwiJHtrZXl9XCIgY2Fubm90IGJlIHVzZWQgYXMgdmFyaWFibGUgbmFtZWBcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgcGFyc2VkT3B0aW9ucyA9IHR5cGVvZiBxdWVyeSA9PT0gXCJzdHJpbmdcIiA/IE9iamVjdC5hc3NpZ24oeyBxdWVyeSB9LCBvcHRpb25zKSA6IHF1ZXJ5O1xuICBjb25zdCByZXF1ZXN0T3B0aW9ucyA9IE9iamVjdC5rZXlzKFxuICAgIHBhcnNlZE9wdGlvbnNcbiAgKS5yZWR1Y2UoKHJlc3VsdCwga2V5KSA9PiB7XG4gICAgaWYgKE5PTl9WQVJJQUJMRV9PUFRJT05TLmluY2x1ZGVzKGtleSkpIHtcbiAgICAgIHJlc3VsdFtrZXldID0gcGFyc2VkT3B0aW9uc1trZXldO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgaWYgKCFyZXN1bHQudmFyaWFibGVzKSB7XG4gICAgICByZXN1bHQudmFyaWFibGVzID0ge307XG4gICAgfVxuICAgIHJlc3VsdC52YXJpYWJsZXNba2V5XSA9IHBhcnNlZE9wdGlvbnNba2V5XTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9LCB7fSk7XG4gIGNvbnN0IGJhc2VVcmwgPSBwYXJzZWRPcHRpb25zLmJhc2VVcmwgfHwgcmVxdWVzdDIuZW5kcG9pbnQuREVGQVVMVFMuYmFzZVVybDtcbiAgaWYgKEdIRVNfVjNfU1VGRklYX1JFR0VYLnRlc3QoYmFzZVVybCkpIHtcbiAgICByZXF1ZXN0T3B0aW9ucy51cmwgPSBiYXNlVXJsLnJlcGxhY2UoR0hFU19WM19TVUZGSVhfUkVHRVgsIFwiL2FwaS9ncmFwaHFsXCIpO1xuICB9XG4gIHJldHVybiByZXF1ZXN0MihyZXF1ZXN0T3B0aW9ucykudGhlbigocmVzcG9uc2UpID0+IHtcbiAgICBpZiAocmVzcG9uc2UuZGF0YS5lcnJvcnMpIHtcbiAgICAgIGNvbnN0IGhlYWRlcnMgPSB7fTtcbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHJlc3BvbnNlLmhlYWRlcnMpKSB7XG4gICAgICAgIGhlYWRlcnNba2V5XSA9IHJlc3BvbnNlLmhlYWRlcnNba2V5XTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBHcmFwaHFsUmVzcG9uc2VFcnJvcihcbiAgICAgICAgcmVxdWVzdE9wdGlvbnMsXG4gICAgICAgIGhlYWRlcnMsXG4gICAgICAgIHJlc3BvbnNlLmRhdGFcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiByZXNwb25zZS5kYXRhLmRhdGE7XG4gIH0pO1xufVxuXG4vLyBwa2cvZGlzdC1zcmMvd2l0aC1kZWZhdWx0cy5qc1xuZnVuY3Rpb24gd2l0aERlZmF1bHRzKHJlcXVlc3QyLCBuZXdEZWZhdWx0cykge1xuICBjb25zdCBuZXdSZXF1ZXN0ID0gcmVxdWVzdDIuZGVmYXVsdHMobmV3RGVmYXVsdHMpO1xuICBjb25zdCBuZXdBcGkgPSAocXVlcnksIG9wdGlvbnMpID0+IHtcbiAgICByZXR1cm4gZ3JhcGhxbChuZXdSZXF1ZXN0LCBxdWVyeSwgb3B0aW9ucyk7XG4gIH07XG4gIHJldHVybiBPYmplY3QuYXNzaWduKG5ld0FwaSwge1xuICAgIGRlZmF1bHRzOiB3aXRoRGVmYXVsdHMuYmluZChudWxsLCBuZXdSZXF1ZXN0KSxcbiAgICBlbmRwb2ludDogbmV3UmVxdWVzdC5lbmRwb2ludFxuICB9KTtcbn1cblxuLy8gcGtnL2Rpc3Qtc3JjL2luZGV4LmpzXG52YXIgZ3JhcGhxbDIgPSB3aXRoRGVmYXVsdHMoaW1wb3J0X3JlcXVlc3QzLnJlcXVlc3QsIHtcbiAgaGVhZGVyczoge1xuICAgIFwidXNlci1hZ2VudFwiOiBgb2N0b2tpdC1ncmFwaHFsLmpzLyR7VkVSU0lPTn0gJHsoMCwgaW1wb3J0X3VuaXZlcnNhbF91c2VyX2FnZW50LmdldFVzZXJBZ2VudCkoKX1gXG4gIH0sXG4gIG1ldGhvZDogXCJQT1NUXCIsXG4gIHVybDogXCIvZ3JhcGhxbFwiXG59KTtcbmZ1bmN0aW9uIHdpdGhDdXN0b21SZXF1ZXN0KGN1c3RvbVJlcXVlc3QpIHtcbiAgcmV0dXJuIHdpdGhEZWZhdWx0cyhjdXN0b21SZXF1ZXN0LCB7XG4gICAgbWV0aG9kOiBcIlBPU1RcIixcbiAgICB1cmw6IFwiL2dyYXBocWxcIlxuICB9KTtcbn1cbi8vIEFubm90YXRlIHRoZSBDb21tb25KUyBleHBvcnQgbmFtZXMgZm9yIEVTTSBpbXBvcnQgaW4gbm9kZTpcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICBHcmFwaHFsUmVzcG9uc2VFcnJvcixcbiAgZ3JhcGhxbCxcbiAgd2l0aEN1c3RvbVJlcXVlc3Rcbn0pO1xuIiwgIlwidXNlIHN0cmljdFwiO1xudmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2dldE93blByb3BEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbnZhciBfX2dldE93blByb3BOYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19leHBvcnQgPSAodGFyZ2V0LCBhbGwpID0+IHtcbiAgZm9yICh2YXIgbmFtZSBpbiBhbGwpXG4gICAgX19kZWZQcm9wKHRhcmdldCwgbmFtZSwgeyBnZXQ6IGFsbFtuYW1lXSwgZW51bWVyYWJsZTogdHJ1ZSB9KTtcbn07XG52YXIgX19jb3B5UHJvcHMgPSAodG8sIGZyb20sIGV4Y2VwdCwgZGVzYykgPT4ge1xuICBpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgZnJvbSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZm9yIChsZXQga2V5IG9mIF9fZ2V0T3duUHJvcE5hbWVzKGZyb20pKVxuICAgICAgaWYgKCFfX2hhc093blByb3AuY2FsbCh0bywga2V5KSAmJiBrZXkgIT09IGV4Y2VwdClcbiAgICAgICAgX19kZWZQcm9wKHRvLCBrZXksIHsgZ2V0OiAoKSA9PiBmcm9tW2tleV0sIGVudW1lcmFibGU6ICEoZGVzYyA9IF9fZ2V0T3duUHJvcERlc2MoZnJvbSwga2V5KSkgfHwgZGVzYy5lbnVtZXJhYmxlIH0pO1xuICB9XG4gIHJldHVybiB0bztcbn07XG52YXIgX190b0NvbW1vbkpTID0gKG1vZCkgPT4gX19jb3B5UHJvcHMoX19kZWZQcm9wKHt9LCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KSwgbW9kKTtcblxuLy8gcGtnL2Rpc3Qtc3JjL2luZGV4LmpzXG52YXIgZGlzdF9zcmNfZXhwb3J0cyA9IHt9O1xuX19leHBvcnQoZGlzdF9zcmNfZXhwb3J0cywge1xuICBjcmVhdGVUb2tlbkF1dGg6ICgpID0+IGNyZWF0ZVRva2VuQXV0aFxufSk7XG5tb2R1bGUuZXhwb3J0cyA9IF9fdG9Db21tb25KUyhkaXN0X3NyY19leHBvcnRzKTtcblxuLy8gcGtnL2Rpc3Qtc3JjL2F1dGguanNcbnZhciBSRUdFWF9JU19JTlNUQUxMQVRJT05fTEVHQUNZID0gL152MVxcLi87XG52YXIgUkVHRVhfSVNfSU5TVEFMTEFUSU9OID0gL15naHNfLztcbnZhciBSRUdFWF9JU19VU0VSX1RPX1NFUlZFUiA9IC9eZ2h1Xy87XG5hc3luYyBmdW5jdGlvbiBhdXRoKHRva2VuKSB7XG4gIGNvbnN0IGlzQXBwID0gdG9rZW4uc3BsaXQoL1xcLi8pLmxlbmd0aCA9PT0gMztcbiAgY29uc3QgaXNJbnN0YWxsYXRpb24gPSBSRUdFWF9JU19JTlNUQUxMQVRJT05fTEVHQUNZLnRlc3QodG9rZW4pIHx8IFJFR0VYX0lTX0lOU1RBTExBVElPTi50ZXN0KHRva2VuKTtcbiAgY29uc3QgaXNVc2VyVG9TZXJ2ZXIgPSBSRUdFWF9JU19VU0VSX1RPX1NFUlZFUi50ZXN0KHRva2VuKTtcbiAgY29uc3QgdG9rZW5UeXBlID0gaXNBcHAgPyBcImFwcFwiIDogaXNJbnN0YWxsYXRpb24gPyBcImluc3RhbGxhdGlvblwiIDogaXNVc2VyVG9TZXJ2ZXIgPyBcInVzZXItdG8tc2VydmVyXCIgOiBcIm9hdXRoXCI7XG4gIHJldHVybiB7XG4gICAgdHlwZTogXCJ0b2tlblwiLFxuICAgIHRva2VuLFxuICAgIHRva2VuVHlwZVxuICB9O1xufVxuXG4vLyBwa2cvZGlzdC1zcmMvd2l0aC1hdXRob3JpemF0aW9uLXByZWZpeC5qc1xuZnVuY3Rpb24gd2l0aEF1dGhvcml6YXRpb25QcmVmaXgodG9rZW4pIHtcbiAgaWYgKHRva2VuLnNwbGl0KC9cXC4vKS5sZW5ndGggPT09IDMpIHtcbiAgICByZXR1cm4gYGJlYXJlciAke3Rva2VufWA7XG4gIH1cbiAgcmV0dXJuIGB0b2tlbiAke3Rva2VufWA7XG59XG5cbi8vIHBrZy9kaXN0LXNyYy9ob29rLmpzXG5hc3luYyBmdW5jdGlvbiBob29rKHRva2VuLCByZXF1ZXN0LCByb3V0ZSwgcGFyYW1ldGVycykge1xuICBjb25zdCBlbmRwb2ludCA9IHJlcXVlc3QuZW5kcG9pbnQubWVyZ2UoXG4gICAgcm91dGUsXG4gICAgcGFyYW1ldGVyc1xuICApO1xuICBlbmRwb2ludC5oZWFkZXJzLmF1dGhvcml6YXRpb24gPSB3aXRoQXV0aG9yaXphdGlvblByZWZpeCh0b2tlbik7XG4gIHJldHVybiByZXF1ZXN0KGVuZHBvaW50KTtcbn1cblxuLy8gcGtnL2Rpc3Qtc3JjL2luZGV4LmpzXG52YXIgY3JlYXRlVG9rZW5BdXRoID0gZnVuY3Rpb24gY3JlYXRlVG9rZW5BdXRoMih0b2tlbikge1xuICBpZiAoIXRva2VuKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiW0BvY3Rva2l0L2F1dGgtdG9rZW5dIE5vIHRva2VuIHBhc3NlZCB0byBjcmVhdGVUb2tlbkF1dGhcIik7XG4gIH1cbiAgaWYgKHR5cGVvZiB0b2tlbiAhPT0gXCJzdHJpbmdcIikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwiW0BvY3Rva2l0L2F1dGgtdG9rZW5dIFRva2VuIHBhc3NlZCB0byBjcmVhdGVUb2tlbkF1dGggaXMgbm90IGEgc3RyaW5nXCJcbiAgICApO1xuICB9XG4gIHRva2VuID0gdG9rZW4ucmVwbGFjZSgvXih0b2tlbnxiZWFyZXIpICsvaSwgXCJcIik7XG4gIHJldHVybiBPYmplY3QuYXNzaWduKGF1dGguYmluZChudWxsLCB0b2tlbiksIHtcbiAgICBob29rOiBob29rLmJpbmQobnVsbCwgdG9rZW4pXG4gIH0pO1xufTtcbi8vIEFubm90YXRlIHRoZSBDb21tb25KUyBleHBvcnQgbmFtZXMgZm9yIEVTTSBpbXBvcnQgaW4gbm9kZTpcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICBjcmVhdGVUb2tlbkF1dGhcbn0pO1xuIiwgIlwidXNlIHN0cmljdFwiO1xudmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2dldE93blByb3BEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbnZhciBfX2dldE93blByb3BOYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19leHBvcnQgPSAodGFyZ2V0LCBhbGwpID0+IHtcbiAgZm9yICh2YXIgbmFtZSBpbiBhbGwpXG4gICAgX19kZWZQcm9wKHRhcmdldCwgbmFtZSwgeyBnZXQ6IGFsbFtuYW1lXSwgZW51bWVyYWJsZTogdHJ1ZSB9KTtcbn07XG52YXIgX19jb3B5UHJvcHMgPSAodG8sIGZyb20sIGV4Y2VwdCwgZGVzYykgPT4ge1xuICBpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgZnJvbSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZm9yIChsZXQga2V5IG9mIF9fZ2V0T3duUHJvcE5hbWVzKGZyb20pKVxuICAgICAgaWYgKCFfX2hhc093blByb3AuY2FsbCh0bywga2V5KSAmJiBrZXkgIT09IGV4Y2VwdClcbiAgICAgICAgX19kZWZQcm9wKHRvLCBrZXksIHsgZ2V0OiAoKSA9PiBmcm9tW2tleV0sIGVudW1lcmFibGU6ICEoZGVzYyA9IF9fZ2V0T3duUHJvcERlc2MoZnJvbSwga2V5KSkgfHwgZGVzYy5lbnVtZXJhYmxlIH0pO1xuICB9XG4gIHJldHVybiB0bztcbn07XG52YXIgX190b0NvbW1vbkpTID0gKG1vZCkgPT4gX19jb3B5UHJvcHMoX19kZWZQcm9wKHt9LCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KSwgbW9kKTtcblxuLy8gcGtnL2Rpc3Qtc3JjL2luZGV4LmpzXG52YXIgZGlzdF9zcmNfZXhwb3J0cyA9IHt9O1xuX19leHBvcnQoZGlzdF9zcmNfZXhwb3J0cywge1xuICBPY3Rva2l0OiAoKSA9PiBPY3Rva2l0XG59KTtcbm1vZHVsZS5leHBvcnRzID0gX190b0NvbW1vbkpTKGRpc3Rfc3JjX2V4cG9ydHMpO1xudmFyIGltcG9ydF91bml2ZXJzYWxfdXNlcl9hZ2VudCA9IHJlcXVpcmUoXCJ1bml2ZXJzYWwtdXNlci1hZ2VudFwiKTtcbnZhciBpbXBvcnRfYmVmb3JlX2FmdGVyX2hvb2sgPSByZXF1aXJlKFwiYmVmb3JlLWFmdGVyLWhvb2tcIik7XG52YXIgaW1wb3J0X3JlcXVlc3QgPSByZXF1aXJlKFwiQG9jdG9raXQvcmVxdWVzdFwiKTtcbnZhciBpbXBvcnRfZ3JhcGhxbCA9IHJlcXVpcmUoXCJAb2N0b2tpdC9ncmFwaHFsXCIpO1xudmFyIGltcG9ydF9hdXRoX3Rva2VuID0gcmVxdWlyZShcIkBvY3Rva2l0L2F1dGgtdG9rZW5cIik7XG5cbi8vIHBrZy9kaXN0LXNyYy92ZXJzaW9uLmpzXG52YXIgVkVSU0lPTiA9IFwiNS4yLjBcIjtcblxuLy8gcGtnL2Rpc3Qtc3JjL2luZGV4LmpzXG52YXIgbm9vcCA9ICgpID0+IHtcbn07XG52YXIgY29uc29sZVdhcm4gPSBjb25zb2xlLndhcm4uYmluZChjb25zb2xlKTtcbnZhciBjb25zb2xlRXJyb3IgPSBjb25zb2xlLmVycm9yLmJpbmQoY29uc29sZSk7XG52YXIgdXNlckFnZW50VHJhaWwgPSBgb2N0b2tpdC1jb3JlLmpzLyR7VkVSU0lPTn0gJHsoMCwgaW1wb3J0X3VuaXZlcnNhbF91c2VyX2FnZW50LmdldFVzZXJBZ2VudCkoKX1gO1xudmFyIE9jdG9raXQgPSBjbGFzcyB7XG4gIHN0YXRpYyB7XG4gICAgdGhpcy5WRVJTSU9OID0gVkVSU0lPTjtcbiAgfVxuICBzdGF0aWMgZGVmYXVsdHMoZGVmYXVsdHMpIHtcbiAgICBjb25zdCBPY3Rva2l0V2l0aERlZmF1bHRzID0gY2xhc3MgZXh0ZW5kcyB0aGlzIHtcbiAgICAgIGNvbnN0cnVjdG9yKC4uLmFyZ3MpIHtcbiAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGFyZ3NbMF0gfHwge307XG4gICAgICAgIGlmICh0eXBlb2YgZGVmYXVsdHMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgIHN1cGVyKGRlZmF1bHRzKG9wdGlvbnMpKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgc3VwZXIoXG4gICAgICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgIHt9LFxuICAgICAgICAgICAgZGVmYXVsdHMsXG4gICAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgICAgb3B0aW9ucy51c2VyQWdlbnQgJiYgZGVmYXVsdHMudXNlckFnZW50ID8ge1xuICAgICAgICAgICAgICB1c2VyQWdlbnQ6IGAke29wdGlvbnMudXNlckFnZW50fSAke2RlZmF1bHRzLnVzZXJBZ2VudH1gXG4gICAgICAgICAgICB9IDogbnVsbFxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBPY3Rva2l0V2l0aERlZmF1bHRzO1xuICB9XG4gIHN0YXRpYyB7XG4gICAgdGhpcy5wbHVnaW5zID0gW107XG4gIH1cbiAgLyoqXG4gICAqIEF0dGFjaCBhIHBsdWdpbiAob3IgbWFueSkgdG8geW91ciBPY3Rva2l0IGluc3RhbmNlLlxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBjb25zdCBBUEkgPSBPY3Rva2l0LnBsdWdpbihwbHVnaW4xLCBwbHVnaW4yLCBwbHVnaW4zLCAuLi4pXG4gICAqL1xuICBzdGF0aWMgcGx1Z2luKC4uLm5ld1BsdWdpbnMpIHtcbiAgICBjb25zdCBjdXJyZW50UGx1Z2lucyA9IHRoaXMucGx1Z2lucztcbiAgICBjb25zdCBOZXdPY3Rva2l0ID0gY2xhc3MgZXh0ZW5kcyB0aGlzIHtcbiAgICAgIHN0YXRpYyB7XG4gICAgICAgIHRoaXMucGx1Z2lucyA9IGN1cnJlbnRQbHVnaW5zLmNvbmNhdChcbiAgICAgICAgICBuZXdQbHVnaW5zLmZpbHRlcigocGx1Z2luKSA9PiAhY3VycmVudFBsdWdpbnMuaW5jbHVkZXMocGx1Z2luKSlcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBOZXdPY3Rva2l0O1xuICB9XG4gIGNvbnN0cnVjdG9yKG9wdGlvbnMgPSB7fSkge1xuICAgIGNvbnN0IGhvb2sgPSBuZXcgaW1wb3J0X2JlZm9yZV9hZnRlcl9ob29rLkNvbGxlY3Rpb24oKTtcbiAgICBjb25zdCByZXF1ZXN0RGVmYXVsdHMgPSB7XG4gICAgICBiYXNlVXJsOiBpbXBvcnRfcmVxdWVzdC5yZXF1ZXN0LmVuZHBvaW50LkRFRkFVTFRTLmJhc2VVcmwsXG4gICAgICBoZWFkZXJzOiB7fSxcbiAgICAgIHJlcXVlc3Q6IE9iamVjdC5hc3NpZ24oe30sIG9wdGlvbnMucmVxdWVzdCwge1xuICAgICAgICAvLyBAdHMtaWdub3JlIGludGVybmFsIHVzYWdlIG9ubHksIG5vIG5lZWQgdG8gdHlwZVxuICAgICAgICBob29rOiBob29rLmJpbmQobnVsbCwgXCJyZXF1ZXN0XCIpXG4gICAgICB9KSxcbiAgICAgIG1lZGlhVHlwZToge1xuICAgICAgICBwcmV2aWV3czogW10sXG4gICAgICAgIGZvcm1hdDogXCJcIlxuICAgICAgfVxuICAgIH07XG4gICAgcmVxdWVzdERlZmF1bHRzLmhlYWRlcnNbXCJ1c2VyLWFnZW50XCJdID0gb3B0aW9ucy51c2VyQWdlbnQgPyBgJHtvcHRpb25zLnVzZXJBZ2VudH0gJHt1c2VyQWdlbnRUcmFpbH1gIDogdXNlckFnZW50VHJhaWw7XG4gICAgaWYgKG9wdGlvbnMuYmFzZVVybCkge1xuICAgICAgcmVxdWVzdERlZmF1bHRzLmJhc2VVcmwgPSBvcHRpb25zLmJhc2VVcmw7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLnByZXZpZXdzKSB7XG4gICAgICByZXF1ZXN0RGVmYXVsdHMubWVkaWFUeXBlLnByZXZpZXdzID0gb3B0aW9ucy5wcmV2aWV3cztcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMudGltZVpvbmUpIHtcbiAgICAgIHJlcXVlc3REZWZhdWx0cy5oZWFkZXJzW1widGltZS16b25lXCJdID0gb3B0aW9ucy50aW1lWm9uZTtcbiAgICB9XG4gICAgdGhpcy5yZXF1ZXN0ID0gaW1wb3J0X3JlcXVlc3QucmVxdWVzdC5kZWZhdWx0cyhyZXF1ZXN0RGVmYXVsdHMpO1xuICAgIHRoaXMuZ3JhcGhxbCA9ICgwLCBpbXBvcnRfZ3JhcGhxbC53aXRoQ3VzdG9tUmVxdWVzdCkodGhpcy5yZXF1ZXN0KS5kZWZhdWx0cyhyZXF1ZXN0RGVmYXVsdHMpO1xuICAgIHRoaXMubG9nID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHtcbiAgICAgICAgZGVidWc6IG5vb3AsXG4gICAgICAgIGluZm86IG5vb3AsXG4gICAgICAgIHdhcm46IGNvbnNvbGVXYXJuLFxuICAgICAgICBlcnJvcjogY29uc29sZUVycm9yXG4gICAgICB9LFxuICAgICAgb3B0aW9ucy5sb2dcbiAgICApO1xuICAgIHRoaXMuaG9vayA9IGhvb2s7XG4gICAgaWYgKCFvcHRpb25zLmF1dGhTdHJhdGVneSkge1xuICAgICAgaWYgKCFvcHRpb25zLmF1dGgpIHtcbiAgICAgICAgdGhpcy5hdXRoID0gYXN5bmMgKCkgPT4gKHtcbiAgICAgICAgICB0eXBlOiBcInVuYXV0aGVudGljYXRlZFwiXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgYXV0aCA9ICgwLCBpbXBvcnRfYXV0aF90b2tlbi5jcmVhdGVUb2tlbkF1dGgpKG9wdGlvbnMuYXV0aCk7XG4gICAgICAgIGhvb2sud3JhcChcInJlcXVlc3RcIiwgYXV0aC5ob29rKTtcbiAgICAgICAgdGhpcy5hdXRoID0gYXV0aDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgeyBhdXRoU3RyYXRlZ3ksIC4uLm90aGVyT3B0aW9ucyB9ID0gb3B0aW9ucztcbiAgICAgIGNvbnN0IGF1dGggPSBhdXRoU3RyYXRlZ3koXG4gICAgICAgIE9iamVjdC5hc3NpZ24oXG4gICAgICAgICAge1xuICAgICAgICAgICAgcmVxdWVzdDogdGhpcy5yZXF1ZXN0LFxuICAgICAgICAgICAgbG9nOiB0aGlzLmxvZyxcbiAgICAgICAgICAgIC8vIHdlIHBhc3MgdGhlIGN1cnJlbnQgb2N0b2tpdCBpbnN0YW5jZSBhcyB3ZWxsIGFzIGl0cyBjb25zdHJ1Y3RvciBvcHRpb25zXG4gICAgICAgICAgICAvLyB0byBhbGxvdyBmb3IgYXV0aGVudGljYXRpb24gc3RyYXRlZ2llcyB0aGF0IHJldHVybiBhIG5ldyBvY3Rva2l0IGluc3RhbmNlXG4gICAgICAgICAgICAvLyB0aGF0IHNoYXJlcyB0aGUgc2FtZSBpbnRlcm5hbCBzdGF0ZSBhcyB0aGUgY3VycmVudCBvbmUuIFRoZSBvcmlnaW5hbFxuICAgICAgICAgICAgLy8gcmVxdWlyZW1lbnQgZm9yIHRoaXMgd2FzIHRoZSBcImV2ZW50LW9jdG9raXRcIiBhdXRoZW50aWNhdGlvbiBzdHJhdGVneVxuICAgICAgICAgICAgLy8gb2YgaHR0cHM6Ly9naXRodWIuY29tL3Byb2JvdC9vY3Rva2l0LWF1dGgtcHJvYm90LlxuICAgICAgICAgICAgb2N0b2tpdDogdGhpcyxcbiAgICAgICAgICAgIG9jdG9raXRPcHRpb25zOiBvdGhlck9wdGlvbnNcbiAgICAgICAgICB9LFxuICAgICAgICAgIG9wdGlvbnMuYXV0aFxuICAgICAgICApXG4gICAgICApO1xuICAgICAgaG9vay53cmFwKFwicmVxdWVzdFwiLCBhdXRoLmhvb2spO1xuICAgICAgdGhpcy5hdXRoID0gYXV0aDtcbiAgICB9XG4gICAgY29uc3QgY2xhc3NDb25zdHJ1Y3RvciA9IHRoaXMuY29uc3RydWN0b3I7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjbGFzc0NvbnN0cnVjdG9yLnBsdWdpbnMubGVuZ3RoOyArK2kpIHtcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcywgY2xhc3NDb25zdHJ1Y3Rvci5wbHVnaW5zW2ldKHRoaXMsIG9wdGlvbnMpKTtcbiAgICB9XG4gIH1cbn07XG4vLyBBbm5vdGF0ZSB0aGUgQ29tbW9uSlMgZXhwb3J0IG5hbWVzIGZvciBFU00gaW1wb3J0IGluIG5vZGU6XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgT2N0b2tpdFxufSk7XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG52YXIgX19kZWZQcm9wID0gT2JqZWN0LmRlZmluZVByb3BlcnR5O1xudmFyIF9fZ2V0T3duUHJvcERlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO1xudmFyIF9fZ2V0T3duUHJvcE5hbWVzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7XG52YXIgX19oYXNPd25Qcm9wID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbnZhciBfX2V4cG9ydCA9ICh0YXJnZXQsIGFsbCkgPT4ge1xuICBmb3IgKHZhciBuYW1lIGluIGFsbClcbiAgICBfX2RlZlByb3AodGFyZ2V0LCBuYW1lLCB7IGdldDogYWxsW25hbWVdLCBlbnVtZXJhYmxlOiB0cnVlIH0pO1xufTtcbnZhciBfX2NvcHlQcm9wcyA9ICh0bywgZnJvbSwgZXhjZXB0LCBkZXNjKSA9PiB7XG4gIGlmIChmcm9tICYmIHR5cGVvZiBmcm9tID09PSBcIm9iamVjdFwiIHx8IHR5cGVvZiBmcm9tID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBmb3IgKGxldCBrZXkgb2YgX19nZXRPd25Qcm9wTmFtZXMoZnJvbSkpXG4gICAgICBpZiAoIV9faGFzT3duUHJvcC5jYWxsKHRvLCBrZXkpICYmIGtleSAhPT0gZXhjZXB0KVxuICAgICAgICBfX2RlZlByb3AodG8sIGtleSwgeyBnZXQ6ICgpID0+IGZyb21ba2V5XSwgZW51bWVyYWJsZTogIShkZXNjID0gX19nZXRPd25Qcm9wRGVzYyhmcm9tLCBrZXkpKSB8fCBkZXNjLmVudW1lcmFibGUgfSk7XG4gIH1cbiAgcmV0dXJuIHRvO1xufTtcbnZhciBfX3RvQ29tbW9uSlMgPSAobW9kKSA9PiBfX2NvcHlQcm9wcyhfX2RlZlByb3Aoe30sIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pLCBtb2QpO1xuXG4vLyBwa2cvZGlzdC1zcmMvaW5kZXguanNcbnZhciBkaXN0X3NyY19leHBvcnRzID0ge307XG5fX2V4cG9ydChkaXN0X3NyY19leHBvcnRzLCB7XG4gIHJlcXVlc3RMb2c6ICgpID0+IHJlcXVlc3RMb2dcbn0pO1xubW9kdWxlLmV4cG9ydHMgPSBfX3RvQ29tbW9uSlMoZGlzdF9zcmNfZXhwb3J0cyk7XG5cbi8vIHBrZy9kaXN0LXNyYy92ZXJzaW9uLmpzXG52YXIgVkVSU0lPTiA9IFwiNC4wLjFcIjtcblxuLy8gcGtnL2Rpc3Qtc3JjL2luZGV4LmpzXG5mdW5jdGlvbiByZXF1ZXN0TG9nKG9jdG9raXQpIHtcbiAgb2N0b2tpdC5ob29rLndyYXAoXCJyZXF1ZXN0XCIsIChyZXF1ZXN0LCBvcHRpb25zKSA9PiB7XG4gICAgb2N0b2tpdC5sb2cuZGVidWcoXCJyZXF1ZXN0XCIsIG9wdGlvbnMpO1xuICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKTtcbiAgICBjb25zdCByZXF1ZXN0T3B0aW9ucyA9IG9jdG9raXQucmVxdWVzdC5lbmRwb2ludC5wYXJzZShvcHRpb25zKTtcbiAgICBjb25zdCBwYXRoID0gcmVxdWVzdE9wdGlvbnMudXJsLnJlcGxhY2Uob3B0aW9ucy5iYXNlVXJsLCBcIlwiKTtcbiAgICByZXR1cm4gcmVxdWVzdChvcHRpb25zKS50aGVuKChyZXNwb25zZSkgPT4ge1xuICAgICAgb2N0b2tpdC5sb2cuaW5mbyhcbiAgICAgICAgYCR7cmVxdWVzdE9wdGlvbnMubWV0aG9kfSAke3BhdGh9IC0gJHtyZXNwb25zZS5zdGF0dXN9IGluICR7RGF0ZS5ub3coKSAtIHN0YXJ0fW1zYFxuICAgICAgKTtcbiAgICAgIHJldHVybiByZXNwb25zZTtcbiAgICB9KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgIG9jdG9raXQubG9nLmluZm8oXG4gICAgICAgIGAke3JlcXVlc3RPcHRpb25zLm1ldGhvZH0gJHtwYXRofSAtICR7ZXJyb3Iuc3RhdHVzfSBpbiAke0RhdGUubm93KCkgLSBzdGFydH1tc2BcbiAgICAgICk7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9KTtcbiAgfSk7XG59XG5yZXF1ZXN0TG9nLlZFUlNJT04gPSBWRVJTSU9OO1xuLy8gQW5ub3RhdGUgdGhlIENvbW1vbkpTIGV4cG9ydCBuYW1lcyBmb3IgRVNNIGltcG9ydCBpbiBub2RlOlxuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gIHJlcXVlc3RMb2dcbn0pO1xuIiwgIlwidXNlIHN0cmljdFwiO1xudmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2dldE93blByb3BEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbnZhciBfX2dldE93blByb3BOYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19leHBvcnQgPSAodGFyZ2V0LCBhbGwpID0+IHtcbiAgZm9yICh2YXIgbmFtZSBpbiBhbGwpXG4gICAgX19kZWZQcm9wKHRhcmdldCwgbmFtZSwgeyBnZXQ6IGFsbFtuYW1lXSwgZW51bWVyYWJsZTogdHJ1ZSB9KTtcbn07XG52YXIgX19jb3B5UHJvcHMgPSAodG8sIGZyb20sIGV4Y2VwdCwgZGVzYykgPT4ge1xuICBpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgZnJvbSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZm9yIChsZXQga2V5IG9mIF9fZ2V0T3duUHJvcE5hbWVzKGZyb20pKVxuICAgICAgaWYgKCFfX2hhc093blByb3AuY2FsbCh0bywga2V5KSAmJiBrZXkgIT09IGV4Y2VwdClcbiAgICAgICAgX19kZWZQcm9wKHRvLCBrZXksIHsgZ2V0OiAoKSA9PiBmcm9tW2tleV0sIGVudW1lcmFibGU6ICEoZGVzYyA9IF9fZ2V0T3duUHJvcERlc2MoZnJvbSwga2V5KSkgfHwgZGVzYy5lbnVtZXJhYmxlIH0pO1xuICB9XG4gIHJldHVybiB0bztcbn07XG52YXIgX190b0NvbW1vbkpTID0gKG1vZCkgPT4gX19jb3B5UHJvcHMoX19kZWZQcm9wKHt9LCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KSwgbW9kKTtcblxuLy8gcGtnL2Rpc3Qtc3JjL2luZGV4LmpzXG52YXIgZGlzdF9zcmNfZXhwb3J0cyA9IHt9O1xuX19leHBvcnQoZGlzdF9zcmNfZXhwb3J0cywge1xuICBjb21wb3NlUGFnaW5hdGVSZXN0OiAoKSA9PiBjb21wb3NlUGFnaW5hdGVSZXN0LFxuICBpc1BhZ2luYXRpbmdFbmRwb2ludDogKCkgPT4gaXNQYWdpbmF0aW5nRW5kcG9pbnQsXG4gIHBhZ2luYXRlUmVzdDogKCkgPT4gcGFnaW5hdGVSZXN0LFxuICBwYWdpbmF0aW5nRW5kcG9pbnRzOiAoKSA9PiBwYWdpbmF0aW5nRW5kcG9pbnRzXG59KTtcbm1vZHVsZS5leHBvcnRzID0gX190b0NvbW1vbkpTKGRpc3Rfc3JjX2V4cG9ydHMpO1xuXG4vLyBwa2cvZGlzdC1zcmMvdmVyc2lvbi5qc1xudmFyIFZFUlNJT04gPSBcIjExLjMuMVwiO1xuXG4vLyBwa2cvZGlzdC1zcmMvbm9ybWFsaXplLXBhZ2luYXRlZC1saXN0LXJlc3BvbnNlLmpzXG5mdW5jdGlvbiBub3JtYWxpemVQYWdpbmF0ZWRMaXN0UmVzcG9uc2UocmVzcG9uc2UpIHtcbiAgaWYgKCFyZXNwb25zZS5kYXRhKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnJlc3BvbnNlLFxuICAgICAgZGF0YTogW11cbiAgICB9O1xuICB9XG4gIGNvbnN0IHJlc3BvbnNlTmVlZHNOb3JtYWxpemF0aW9uID0gXCJ0b3RhbF9jb3VudFwiIGluIHJlc3BvbnNlLmRhdGEgJiYgIShcInVybFwiIGluIHJlc3BvbnNlLmRhdGEpO1xuICBpZiAoIXJlc3BvbnNlTmVlZHNOb3JtYWxpemF0aW9uKVxuICAgIHJldHVybiByZXNwb25zZTtcbiAgY29uc3QgaW5jb21wbGV0ZVJlc3VsdHMgPSByZXNwb25zZS5kYXRhLmluY29tcGxldGVfcmVzdWx0cztcbiAgY29uc3QgcmVwb3NpdG9yeVNlbGVjdGlvbiA9IHJlc3BvbnNlLmRhdGEucmVwb3NpdG9yeV9zZWxlY3Rpb247XG4gIGNvbnN0IHRvdGFsQ291bnQgPSByZXNwb25zZS5kYXRhLnRvdGFsX2NvdW50O1xuICBkZWxldGUgcmVzcG9uc2UuZGF0YS5pbmNvbXBsZXRlX3Jlc3VsdHM7XG4gIGRlbGV0ZSByZXNwb25zZS5kYXRhLnJlcG9zaXRvcnlfc2VsZWN0aW9uO1xuICBkZWxldGUgcmVzcG9uc2UuZGF0YS50b3RhbF9jb3VudDtcbiAgY29uc3QgbmFtZXNwYWNlS2V5ID0gT2JqZWN0LmtleXMocmVzcG9uc2UuZGF0YSlbMF07XG4gIGNvbnN0IGRhdGEgPSByZXNwb25zZS5kYXRhW25hbWVzcGFjZUtleV07XG4gIHJlc3BvbnNlLmRhdGEgPSBkYXRhO1xuICBpZiAodHlwZW9mIGluY29tcGxldGVSZXN1bHRzICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgcmVzcG9uc2UuZGF0YS5pbmNvbXBsZXRlX3Jlc3VsdHMgPSBpbmNvbXBsZXRlUmVzdWx0cztcbiAgfVxuICBpZiAodHlwZW9mIHJlcG9zaXRvcnlTZWxlY3Rpb24gIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICByZXNwb25zZS5kYXRhLnJlcG9zaXRvcnlfc2VsZWN0aW9uID0gcmVwb3NpdG9yeVNlbGVjdGlvbjtcbiAgfVxuICByZXNwb25zZS5kYXRhLnRvdGFsX2NvdW50ID0gdG90YWxDb3VudDtcbiAgcmV0dXJuIHJlc3BvbnNlO1xufVxuXG4vLyBwa2cvZGlzdC1zcmMvaXRlcmF0b3IuanNcbmZ1bmN0aW9uIGl0ZXJhdG9yKG9jdG9raXQsIHJvdXRlLCBwYXJhbWV0ZXJzKSB7XG4gIGNvbnN0IG9wdGlvbnMgPSB0eXBlb2Ygcm91dGUgPT09IFwiZnVuY3Rpb25cIiA/IHJvdXRlLmVuZHBvaW50KHBhcmFtZXRlcnMpIDogb2N0b2tpdC5yZXF1ZXN0LmVuZHBvaW50KHJvdXRlLCBwYXJhbWV0ZXJzKTtcbiAgY29uc3QgcmVxdWVzdE1ldGhvZCA9IHR5cGVvZiByb3V0ZSA9PT0gXCJmdW5jdGlvblwiID8gcm91dGUgOiBvY3Rva2l0LnJlcXVlc3Q7XG4gIGNvbnN0IG1ldGhvZCA9IG9wdGlvbnMubWV0aG9kO1xuICBjb25zdCBoZWFkZXJzID0gb3B0aW9ucy5oZWFkZXJzO1xuICBsZXQgdXJsID0gb3B0aW9ucy51cmw7XG4gIHJldHVybiB7XG4gICAgW1N5bWJvbC5hc3luY0l0ZXJhdG9yXTogKCkgPT4gKHtcbiAgICAgIGFzeW5jIG5leHQoKSB7XG4gICAgICAgIGlmICghdXJsKVxuICAgICAgICAgIHJldHVybiB7IGRvbmU6IHRydWUgfTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHJlcXVlc3RNZXRob2QoeyBtZXRob2QsIHVybCwgaGVhZGVycyB9KTtcbiAgICAgICAgICBjb25zdCBub3JtYWxpemVkUmVzcG9uc2UgPSBub3JtYWxpemVQYWdpbmF0ZWRMaXN0UmVzcG9uc2UocmVzcG9uc2UpO1xuICAgICAgICAgIHVybCA9ICgobm9ybWFsaXplZFJlc3BvbnNlLmhlYWRlcnMubGluayB8fCBcIlwiKS5tYXRjaChcbiAgICAgICAgICAgIC88KFtePl0rKT47XFxzKnJlbD1cIm5leHRcIi9cbiAgICAgICAgICApIHx8IFtdKVsxXTtcbiAgICAgICAgICByZXR1cm4geyB2YWx1ZTogbm9ybWFsaXplZFJlc3BvbnNlIH07XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgaWYgKGVycm9yLnN0YXR1cyAhPT0gNDA5KVxuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgICAgdXJsID0gXCJcIjtcbiAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgdmFsdWU6IHtcbiAgICAgICAgICAgICAgc3RhdHVzOiAyMDAsXG4gICAgICAgICAgICAgIGhlYWRlcnM6IHt9LFxuICAgICAgICAgICAgICBkYXRhOiBbXVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KVxuICB9O1xufVxuXG4vLyBwa2cvZGlzdC1zcmMvcGFnaW5hdGUuanNcbmZ1bmN0aW9uIHBhZ2luYXRlKG9jdG9raXQsIHJvdXRlLCBwYXJhbWV0ZXJzLCBtYXBGbikge1xuICBpZiAodHlwZW9mIHBhcmFtZXRlcnMgPT09IFwiZnVuY3Rpb25cIikge1xuICAgIG1hcEZuID0gcGFyYW1ldGVycztcbiAgICBwYXJhbWV0ZXJzID0gdm9pZCAwO1xuICB9XG4gIHJldHVybiBnYXRoZXIoXG4gICAgb2N0b2tpdCxcbiAgICBbXSxcbiAgICBpdGVyYXRvcihvY3Rva2l0LCByb3V0ZSwgcGFyYW1ldGVycylbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKCksXG4gICAgbWFwRm5cbiAgKTtcbn1cbmZ1bmN0aW9uIGdhdGhlcihvY3Rva2l0LCByZXN1bHRzLCBpdGVyYXRvcjIsIG1hcEZuKSB7XG4gIHJldHVybiBpdGVyYXRvcjIubmV4dCgpLnRoZW4oKHJlc3VsdCkgPT4ge1xuICAgIGlmIChyZXN1bHQuZG9uZSkge1xuICAgICAgcmV0dXJuIHJlc3VsdHM7XG4gICAgfVxuICAgIGxldCBlYXJseUV4aXQgPSBmYWxzZTtcbiAgICBmdW5jdGlvbiBkb25lKCkge1xuICAgICAgZWFybHlFeGl0ID0gdHJ1ZTtcbiAgICB9XG4gICAgcmVzdWx0cyA9IHJlc3VsdHMuY29uY2F0KFxuICAgICAgbWFwRm4gPyBtYXBGbihyZXN1bHQudmFsdWUsIGRvbmUpIDogcmVzdWx0LnZhbHVlLmRhdGFcbiAgICApO1xuICAgIGlmIChlYXJseUV4aXQpIHtcbiAgICAgIHJldHVybiByZXN1bHRzO1xuICAgIH1cbiAgICByZXR1cm4gZ2F0aGVyKG9jdG9raXQsIHJlc3VsdHMsIGl0ZXJhdG9yMiwgbWFwRm4pO1xuICB9KTtcbn1cblxuLy8gcGtnL2Rpc3Qtc3JjL2NvbXBvc2UtcGFnaW5hdGUuanNcbnZhciBjb21wb3NlUGFnaW5hdGVSZXN0ID0gT2JqZWN0LmFzc2lnbihwYWdpbmF0ZSwge1xuICBpdGVyYXRvclxufSk7XG5cbi8vIHBrZy9kaXN0LXNyYy9nZW5lcmF0ZWQvcGFnaW5hdGluZy1lbmRwb2ludHMuanNcbnZhciBwYWdpbmF0aW5nRW5kcG9pbnRzID0gW1xuICBcIkdFVCAvYWR2aXNvcmllc1wiLFxuICBcIkdFVCAvYXBwL2hvb2svZGVsaXZlcmllc1wiLFxuICBcIkdFVCAvYXBwL2luc3RhbGxhdGlvbi1yZXF1ZXN0c1wiLFxuICBcIkdFVCAvYXBwL2luc3RhbGxhdGlvbnNcIixcbiAgXCJHRVQgL2Fzc2lnbm1lbnRzL3thc3NpZ25tZW50X2lkfS9hY2NlcHRlZF9hc3NpZ25tZW50c1wiLFxuICBcIkdFVCAvY2xhc3Nyb29tc1wiLFxuICBcIkdFVCAvY2xhc3Nyb29tcy97Y2xhc3Nyb29tX2lkfS9hc3NpZ25tZW50c1wiLFxuICBcIkdFVCAvZW50ZXJwcmlzZXMve2VudGVycHJpc2V9L2NvcGlsb3QvdXNhZ2VcIixcbiAgXCJHRVQgL2VudGVycHJpc2VzL3tlbnRlcnByaXNlfS9kZXBlbmRhYm90L2FsZXJ0c1wiLFxuICBcIkdFVCAvZW50ZXJwcmlzZXMve2VudGVycHJpc2V9L3NlY3JldC1zY2FubmluZy9hbGVydHNcIixcbiAgXCJHRVQgL2V2ZW50c1wiLFxuICBcIkdFVCAvZ2lzdHNcIixcbiAgXCJHRVQgL2dpc3RzL3B1YmxpY1wiLFxuICBcIkdFVCAvZ2lzdHMvc3RhcnJlZFwiLFxuICBcIkdFVCAvZ2lzdHMve2dpc3RfaWR9L2NvbW1lbnRzXCIsXG4gIFwiR0VUIC9naXN0cy97Z2lzdF9pZH0vY29tbWl0c1wiLFxuICBcIkdFVCAvZ2lzdHMve2dpc3RfaWR9L2ZvcmtzXCIsXG4gIFwiR0VUIC9pbnN0YWxsYXRpb24vcmVwb3NpdG9yaWVzXCIsXG4gIFwiR0VUIC9pc3N1ZXNcIixcbiAgXCJHRVQgL2xpY2Vuc2VzXCIsXG4gIFwiR0VUIC9tYXJrZXRwbGFjZV9saXN0aW5nL3BsYW5zXCIsXG4gIFwiR0VUIC9tYXJrZXRwbGFjZV9saXN0aW5nL3BsYW5zL3twbGFuX2lkfS9hY2NvdW50c1wiLFxuICBcIkdFVCAvbWFya2V0cGxhY2VfbGlzdGluZy9zdHViYmVkL3BsYW5zXCIsXG4gIFwiR0VUIC9tYXJrZXRwbGFjZV9saXN0aW5nL3N0dWJiZWQvcGxhbnMve3BsYW5faWR9L2FjY291bnRzXCIsXG4gIFwiR0VUIC9uZXR3b3Jrcy97b3duZXJ9L3tyZXBvfS9ldmVudHNcIixcbiAgXCJHRVQgL25vdGlmaWNhdGlvbnNcIixcbiAgXCJHRVQgL29yZ2FuaXphdGlvbnNcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vYWN0aW9ucy9jYWNoZS91c2FnZS1ieS1yZXBvc2l0b3J5XCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L2FjdGlvbnMvcGVybWlzc2lvbnMvcmVwb3NpdG9yaWVzXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L2FjdGlvbnMvcnVubmVyc1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9hY3Rpb25zL3NlY3JldHNcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vYWN0aW9ucy9zZWNyZXRzL3tzZWNyZXRfbmFtZX0vcmVwb3NpdG9yaWVzXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L2FjdGlvbnMvdmFyaWFibGVzXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L2FjdGlvbnMvdmFyaWFibGVzL3tuYW1lfS9yZXBvc2l0b3JpZXNcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vYmxvY2tzXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L2NvZGUtc2Nhbm5pbmcvYWxlcnRzXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L2NvZGVzcGFjZXNcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vY29kZXNwYWNlcy9zZWNyZXRzXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L2NvZGVzcGFjZXMvc2VjcmV0cy97c2VjcmV0X25hbWV9L3JlcG9zaXRvcmllc1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9jb3BpbG90L2JpbGxpbmcvc2VhdHNcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vY29waWxvdC91c2FnZVwiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9kZXBlbmRhYm90L2FsZXJ0c1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9kZXBlbmRhYm90L3NlY3JldHNcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vZGVwZW5kYWJvdC9zZWNyZXRzL3tzZWNyZXRfbmFtZX0vcmVwb3NpdG9yaWVzXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L2V2ZW50c1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9mYWlsZWRfaW52aXRhdGlvbnNcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vaG9va3NcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vaG9va3Mve2hvb2tfaWR9L2RlbGl2ZXJpZXNcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vaW5zdGFsbGF0aW9uc1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9pbnZpdGF0aW9uc1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9pbnZpdGF0aW9ucy97aW52aXRhdGlvbl9pZH0vdGVhbXNcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vaXNzdWVzXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L21lbWJlcnNcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vbWVtYmVycy97dXNlcm5hbWV9L2NvZGVzcGFjZXNcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vbWlncmF0aW9uc1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9taWdyYXRpb25zL3ttaWdyYXRpb25faWR9L3JlcG9zaXRvcmllc1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9vcmdhbml6YXRpb24tcm9sZXMve3JvbGVfaWR9L3RlYW1zXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L29yZ2FuaXphdGlvbi1yb2xlcy97cm9sZV9pZH0vdXNlcnNcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vb3V0c2lkZV9jb2xsYWJvcmF0b3JzXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L3BhY2thZ2VzXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L3BhY2thZ2VzL3twYWNrYWdlX3R5cGV9L3twYWNrYWdlX25hbWV9L3ZlcnNpb25zXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L3BlcnNvbmFsLWFjY2Vzcy10b2tlbi1yZXF1ZXN0c1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9wZXJzb25hbC1hY2Nlc3MtdG9rZW4tcmVxdWVzdHMve3BhdF9yZXF1ZXN0X2lkfS9yZXBvc2l0b3JpZXNcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vcGVyc29uYWwtYWNjZXNzLXRva2Vuc1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9wZXJzb25hbC1hY2Nlc3MtdG9rZW5zL3twYXRfaWR9L3JlcG9zaXRvcmllc1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9wcm9qZWN0c1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9wcm9wZXJ0aWVzL3ZhbHVlc1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9wdWJsaWNfbWVtYmVyc1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9yZXBvc1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9ydWxlc2V0c1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9ydWxlc2V0cy9ydWxlLXN1aXRlc1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS9zZWNyZXQtc2Nhbm5pbmcvYWxlcnRzXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L3NlY3VyaXR5LWFkdmlzb3JpZXNcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vdGVhbS97dGVhbV9zbHVnfS9jb3BpbG90L3VzYWdlXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L3RlYW1zXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L2Rpc2N1c3Npb25zXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L2Rpc2N1c3Npb25zL3tkaXNjdXNzaW9uX251bWJlcn0vY29tbWVudHNcIixcbiAgXCJHRVQgL29yZ3Mve29yZ30vdGVhbXMve3RlYW1fc2x1Z30vZGlzY3Vzc2lvbnMve2Rpc2N1c3Npb25fbnVtYmVyfS9jb21tZW50cy97Y29tbWVudF9udW1iZXJ9L3JlYWN0aW9uc1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS90ZWFtcy97dGVhbV9zbHVnfS9kaXNjdXNzaW9ucy97ZGlzY3Vzc2lvbl9udW1iZXJ9L3JlYWN0aW9uc1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS90ZWFtcy97dGVhbV9zbHVnfS9pbnZpdGF0aW9uc1wiLFxuICBcIkdFVCAvb3Jncy97b3JnfS90ZWFtcy97dGVhbV9zbHVnfS9tZW1iZXJzXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L3Byb2plY3RzXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L3JlcG9zXCIsXG4gIFwiR0VUIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L3RlYW1zXCIsXG4gIFwiR0VUIC9wcm9qZWN0cy9jb2x1bW5zL3tjb2x1bW5faWR9L2NhcmRzXCIsXG4gIFwiR0VUIC9wcm9qZWN0cy97cHJvamVjdF9pZH0vY29sbGFib3JhdG9yc1wiLFxuICBcIkdFVCAvcHJvamVjdHMve3Byb2plY3RfaWR9L2NvbHVtbnNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvYXJ0aWZhY3RzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL2NhY2hlc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9vcmdhbml6YXRpb24tc2VjcmV0c1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9vcmdhbml6YXRpb24tdmFyaWFibGVzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3J1bm5lcnNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvcnVuc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9ydW5zL3tydW5faWR9L2FydGlmYWN0c1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9ydW5zL3tydW5faWR9L2F0dGVtcHRzL3thdHRlbXB0X251bWJlcn0vam9ic1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9ydW5zL3tydW5faWR9L2pvYnNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvc2VjcmV0c1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy92YXJpYWJsZXNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvd29ya2Zsb3dzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3dvcmtmbG93cy97d29ya2Zsb3dfaWR9L3J1bnNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGl2aXR5XCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hc3NpZ25lZXNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2JyYW5jaGVzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jaGVjay1ydW5zL3tjaGVja19ydW5faWR9L2Fubm90YXRpb25zXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jaGVjay1zdWl0ZXMve2NoZWNrX3N1aXRlX2lkfS9jaGVjay1ydW5zXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb2RlLXNjYW5uaW5nL2FsZXJ0c1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29kZS1zY2FubmluZy9hbGVydHMve2FsZXJ0X251bWJlcn0vaW5zdGFuY2VzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb2RlLXNjYW5uaW5nL2FuYWx5c2VzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb2Rlc3BhY2VzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb2Rlc3BhY2VzL2RldmNvbnRhaW5lcnNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvZGVzcGFjZXMvc2VjcmV0c1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29sbGFib3JhdG9yc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29tbWVudHNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvbW1lbnRzL3tjb21tZW50X2lkfS9yZWFjdGlvbnNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvbW1pdHNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvbW1pdHMve2NvbW1pdF9zaGF9L2NvbW1lbnRzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb21taXRzL3tjb21taXRfc2hhfS9wdWxsc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29tbWl0cy97cmVmfS9jaGVjay1ydW5zXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb21taXRzL3tyZWZ9L2NoZWNrLXN1aXRlc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29tbWl0cy97cmVmfS9zdGF0dXNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvbW1pdHMve3JlZn0vc3RhdHVzZXNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvbnRyaWJ1dG9yc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZGVwZW5kYWJvdC9hbGVydHNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2RlcGVuZGFib3Qvc2VjcmV0c1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZGVwbG95bWVudHNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2RlcGxveW1lbnRzL3tkZXBsb3ltZW50X2lkfS9zdGF0dXNlc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZW52aXJvbm1lbnRzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9lbnZpcm9ubWVudHMve2Vudmlyb25tZW50X25hbWV9L2RlcGxveW1lbnQtYnJhbmNoLXBvbGljaWVzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9lbnZpcm9ubWVudHMve2Vudmlyb25tZW50X25hbWV9L2RlcGxveW1lbnRfcHJvdGVjdGlvbl9ydWxlcy9hcHBzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9lbnZpcm9ubWVudHMve2Vudmlyb25tZW50X25hbWV9L3NlY3JldHNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2Vudmlyb25tZW50cy97ZW52aXJvbm1lbnRfbmFtZX0vdmFyaWFibGVzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9ldmVudHNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2ZvcmtzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9ob29rc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vaG9va3Mve2hvb2tfaWR9L2RlbGl2ZXJpZXNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2ludml0YXRpb25zXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9pc3N1ZXNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlcy9jb21tZW50c1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL2NvbW1lbnRzL3tjb21tZW50X2lkfS9yZWFjdGlvbnNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlcy9ldmVudHNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlcy97aXNzdWVfbnVtYmVyfS9jb21tZW50c1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL3tpc3N1ZV9udW1iZXJ9L2V2ZW50c1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL3tpc3N1ZV9udW1iZXJ9L2xhYmVsc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL3tpc3N1ZV9udW1iZXJ9L3JlYWN0aW9uc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL3tpc3N1ZV9udW1iZXJ9L3RpbWVsaW5lXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9rZXlzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9sYWJlbHNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L21pbGVzdG9uZXNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L21pbGVzdG9uZXMve21pbGVzdG9uZV9udW1iZXJ9L2xhYmVsc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vbm90aWZpY2F0aW9uc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcGFnZXMvYnVpbGRzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wcm9qZWN0c1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcHVsbHNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL2NvbW1lbnRzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wdWxscy9jb21tZW50cy97Y29tbWVudF9pZH0vcmVhY3Rpb25zXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wdWxscy97cHVsbF9udW1iZXJ9L2NvbW1lbnRzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wdWxscy97cHVsbF9udW1iZXJ9L2NvbW1pdHNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL3twdWxsX251bWJlcn0vZmlsZXNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL3twdWxsX251bWJlcn0vcmV2aWV3c1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcHVsbHMve3B1bGxfbnVtYmVyfS9yZXZpZXdzL3tyZXZpZXdfaWR9L2NvbW1lbnRzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9yZWxlYXNlc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcmVsZWFzZXMve3JlbGVhc2VfaWR9L2Fzc2V0c1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcmVsZWFzZXMve3JlbGVhc2VfaWR9L3JlYWN0aW9uc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcnVsZXMvYnJhbmNoZXMve2JyYW5jaH1cIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3J1bGVzZXRzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9ydWxlc2V0cy9ydWxlLXN1aXRlc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vc2VjcmV0LXNjYW5uaW5nL2FsZXJ0c1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vc2VjcmV0LXNjYW5uaW5nL2FsZXJ0cy97YWxlcnRfbnVtYmVyfS9sb2NhdGlvbnNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3NlY3VyaXR5LWFkdmlzb3JpZXNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3N0YXJnYXplcnNcIixcbiAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3N1YnNjcmliZXJzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS90YWdzXCIsXG4gIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS90ZWFtc1wiLFxuICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vdG9waWNzXCIsXG4gIFwiR0VUIC9yZXBvc2l0b3JpZXNcIixcbiAgXCJHRVQgL3NlYXJjaC9jb2RlXCIsXG4gIFwiR0VUIC9zZWFyY2gvY29tbWl0c1wiLFxuICBcIkdFVCAvc2VhcmNoL2lzc3Vlc1wiLFxuICBcIkdFVCAvc2VhcmNoL2xhYmVsc1wiLFxuICBcIkdFVCAvc2VhcmNoL3JlcG9zaXRvcmllc1wiLFxuICBcIkdFVCAvc2VhcmNoL3RvcGljc1wiLFxuICBcIkdFVCAvc2VhcmNoL3VzZXJzXCIsXG4gIFwiR0VUIC90ZWFtcy97dGVhbV9pZH0vZGlzY3Vzc2lvbnNcIixcbiAgXCJHRVQgL3RlYW1zL3t0ZWFtX2lkfS9kaXNjdXNzaW9ucy97ZGlzY3Vzc2lvbl9udW1iZXJ9L2NvbW1lbnRzXCIsXG4gIFwiR0VUIC90ZWFtcy97dGVhbV9pZH0vZGlzY3Vzc2lvbnMve2Rpc2N1c3Npb25fbnVtYmVyfS9jb21tZW50cy97Y29tbWVudF9udW1iZXJ9L3JlYWN0aW9uc1wiLFxuICBcIkdFVCAvdGVhbXMve3RlYW1faWR9L2Rpc2N1c3Npb25zL3tkaXNjdXNzaW9uX251bWJlcn0vcmVhY3Rpb25zXCIsXG4gIFwiR0VUIC90ZWFtcy97dGVhbV9pZH0vaW52aXRhdGlvbnNcIixcbiAgXCJHRVQgL3RlYW1zL3t0ZWFtX2lkfS9tZW1iZXJzXCIsXG4gIFwiR0VUIC90ZWFtcy97dGVhbV9pZH0vcHJvamVjdHNcIixcbiAgXCJHRVQgL3RlYW1zL3t0ZWFtX2lkfS9yZXBvc1wiLFxuICBcIkdFVCAvdGVhbXMve3RlYW1faWR9L3RlYW1zXCIsXG4gIFwiR0VUIC91c2VyL2Jsb2Nrc1wiLFxuICBcIkdFVCAvdXNlci9jb2Rlc3BhY2VzXCIsXG4gIFwiR0VUIC91c2VyL2NvZGVzcGFjZXMvc2VjcmV0c1wiLFxuICBcIkdFVCAvdXNlci9lbWFpbHNcIixcbiAgXCJHRVQgL3VzZXIvZm9sbG93ZXJzXCIsXG4gIFwiR0VUIC91c2VyL2ZvbGxvd2luZ1wiLFxuICBcIkdFVCAvdXNlci9ncGdfa2V5c1wiLFxuICBcIkdFVCAvdXNlci9pbnN0YWxsYXRpb25zXCIsXG4gIFwiR0VUIC91c2VyL2luc3RhbGxhdGlvbnMve2luc3RhbGxhdGlvbl9pZH0vcmVwb3NpdG9yaWVzXCIsXG4gIFwiR0VUIC91c2VyL2lzc3Vlc1wiLFxuICBcIkdFVCAvdXNlci9rZXlzXCIsXG4gIFwiR0VUIC91c2VyL21hcmtldHBsYWNlX3B1cmNoYXNlc1wiLFxuICBcIkdFVCAvdXNlci9tYXJrZXRwbGFjZV9wdXJjaGFzZXMvc3R1YmJlZFwiLFxuICBcIkdFVCAvdXNlci9tZW1iZXJzaGlwcy9vcmdzXCIsXG4gIFwiR0VUIC91c2VyL21pZ3JhdGlvbnNcIixcbiAgXCJHRVQgL3VzZXIvbWlncmF0aW9ucy97bWlncmF0aW9uX2lkfS9yZXBvc2l0b3JpZXNcIixcbiAgXCJHRVQgL3VzZXIvb3Jnc1wiLFxuICBcIkdFVCAvdXNlci9wYWNrYWdlc1wiLFxuICBcIkdFVCAvdXNlci9wYWNrYWdlcy97cGFja2FnZV90eXBlfS97cGFja2FnZV9uYW1lfS92ZXJzaW9uc1wiLFxuICBcIkdFVCAvdXNlci9wdWJsaWNfZW1haWxzXCIsXG4gIFwiR0VUIC91c2VyL3JlcG9zXCIsXG4gIFwiR0VUIC91c2VyL3JlcG9zaXRvcnlfaW52aXRhdGlvbnNcIixcbiAgXCJHRVQgL3VzZXIvc29jaWFsX2FjY291bnRzXCIsXG4gIFwiR0VUIC91c2VyL3NzaF9zaWduaW5nX2tleXNcIixcbiAgXCJHRVQgL3VzZXIvc3RhcnJlZFwiLFxuICBcIkdFVCAvdXNlci9zdWJzY3JpcHRpb25zXCIsXG4gIFwiR0VUIC91c2VyL3RlYW1zXCIsXG4gIFwiR0VUIC91c2Vyc1wiLFxuICBcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9ldmVudHNcIixcbiAgXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vZXZlbnRzL29yZ3Mve29yZ31cIixcbiAgXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vZXZlbnRzL3B1YmxpY1wiLFxuICBcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9mb2xsb3dlcnNcIixcbiAgXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vZm9sbG93aW5nXCIsXG4gIFwiR0VUIC91c2Vycy97dXNlcm5hbWV9L2dpc3RzXCIsXG4gIFwiR0VUIC91c2Vycy97dXNlcm5hbWV9L2dwZ19rZXlzXCIsXG4gIFwiR0VUIC91c2Vycy97dXNlcm5hbWV9L2tleXNcIixcbiAgXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vb3Jnc1wiLFxuICBcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9wYWNrYWdlc1wiLFxuICBcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9wcm9qZWN0c1wiLFxuICBcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9yZWNlaXZlZF9ldmVudHNcIixcbiAgXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vcmVjZWl2ZWRfZXZlbnRzL3B1YmxpY1wiLFxuICBcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9yZXBvc1wiLFxuICBcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9zb2NpYWxfYWNjb3VudHNcIixcbiAgXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vc3NoX3NpZ25pbmdfa2V5c1wiLFxuICBcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9zdGFycmVkXCIsXG4gIFwiR0VUIC91c2Vycy97dXNlcm5hbWV9L3N1YnNjcmlwdGlvbnNcIlxuXTtcblxuLy8gcGtnL2Rpc3Qtc3JjL3BhZ2luYXRpbmctZW5kcG9pbnRzLmpzXG5mdW5jdGlvbiBpc1BhZ2luYXRpbmdFbmRwb2ludChhcmcpIHtcbiAgaWYgKHR5cGVvZiBhcmcgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gcGFnaW5hdGluZ0VuZHBvaW50cy5pbmNsdWRlcyhhcmcpO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vLyBwa2cvZGlzdC1zcmMvaW5kZXguanNcbmZ1bmN0aW9uIHBhZ2luYXRlUmVzdChvY3Rva2l0KSB7XG4gIHJldHVybiB7XG4gICAgcGFnaW5hdGU6IE9iamVjdC5hc3NpZ24ocGFnaW5hdGUuYmluZChudWxsLCBvY3Rva2l0KSwge1xuICAgICAgaXRlcmF0b3I6IGl0ZXJhdG9yLmJpbmQobnVsbCwgb2N0b2tpdClcbiAgICB9KVxuICB9O1xufVxucGFnaW5hdGVSZXN0LlZFUlNJT04gPSBWRVJTSU9OO1xuLy8gQW5ub3RhdGUgdGhlIENvbW1vbkpTIGV4cG9ydCBuYW1lcyBmb3IgRVNNIGltcG9ydCBpbiBub2RlOlxuMCAmJiAobW9kdWxlLmV4cG9ydHMgPSB7XG4gIGNvbXBvc2VQYWdpbmF0ZVJlc3QsXG4gIGlzUGFnaW5hdGluZ0VuZHBvaW50LFxuICBwYWdpbmF0ZVJlc3QsXG4gIHBhZ2luYXRpbmdFbmRwb2ludHNcbn0pO1xuIiwgIlwidXNlIHN0cmljdFwiO1xudmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2dldE93blByb3BEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbnZhciBfX2dldE93blByb3BOYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzO1xudmFyIF9faGFzT3duUHJvcCA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG52YXIgX19leHBvcnQgPSAodGFyZ2V0LCBhbGwpID0+IHtcbiAgZm9yICh2YXIgbmFtZSBpbiBhbGwpXG4gICAgX19kZWZQcm9wKHRhcmdldCwgbmFtZSwgeyBnZXQ6IGFsbFtuYW1lXSwgZW51bWVyYWJsZTogdHJ1ZSB9KTtcbn07XG52YXIgX19jb3B5UHJvcHMgPSAodG8sIGZyb20sIGV4Y2VwdCwgZGVzYykgPT4ge1xuICBpZiAoZnJvbSAmJiB0eXBlb2YgZnJvbSA9PT0gXCJvYmplY3RcIiB8fCB0eXBlb2YgZnJvbSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgZm9yIChsZXQga2V5IG9mIF9fZ2V0T3duUHJvcE5hbWVzKGZyb20pKVxuICAgICAgaWYgKCFfX2hhc093blByb3AuY2FsbCh0bywga2V5KSAmJiBrZXkgIT09IGV4Y2VwdClcbiAgICAgICAgX19kZWZQcm9wKHRvLCBrZXksIHsgZ2V0OiAoKSA9PiBmcm9tW2tleV0sIGVudW1lcmFibGU6ICEoZGVzYyA9IF9fZ2V0T3duUHJvcERlc2MoZnJvbSwga2V5KSkgfHwgZGVzYy5lbnVtZXJhYmxlIH0pO1xuICB9XG4gIHJldHVybiB0bztcbn07XG52YXIgX190b0NvbW1vbkpTID0gKG1vZCkgPT4gX19jb3B5UHJvcHMoX19kZWZQcm9wKHt9LCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KSwgbW9kKTtcblxuLy8gcGtnL2Rpc3Qtc3JjL2luZGV4LmpzXG52YXIgZGlzdF9zcmNfZXhwb3J0cyA9IHt9O1xuX19leHBvcnQoZGlzdF9zcmNfZXhwb3J0cywge1xuICBsZWdhY3lSZXN0RW5kcG9pbnRNZXRob2RzOiAoKSA9PiBsZWdhY3lSZXN0RW5kcG9pbnRNZXRob2RzLFxuICByZXN0RW5kcG9pbnRNZXRob2RzOiAoKSA9PiByZXN0RW5kcG9pbnRNZXRob2RzXG59KTtcbm1vZHVsZS5leHBvcnRzID0gX190b0NvbW1vbkpTKGRpc3Rfc3JjX2V4cG9ydHMpO1xuXG4vLyBwa2cvZGlzdC1zcmMvdmVyc2lvbi5qc1xudmFyIFZFUlNJT04gPSBcIjEzLjIuMlwiO1xuXG4vLyBwa2cvZGlzdC1zcmMvZ2VuZXJhdGVkL2VuZHBvaW50cy5qc1xudmFyIEVuZHBvaW50cyA9IHtcbiAgYWN0aW9uczoge1xuICAgIGFkZEN1c3RvbUxhYmVsc1RvU2VsZkhvc3RlZFJ1bm5lckZvck9yZzogW1xuICAgICAgXCJQT1NUIC9vcmdzL3tvcmd9L2FjdGlvbnMvcnVubmVycy97cnVubmVyX2lkfS9sYWJlbHNcIlxuICAgIF0sXG4gICAgYWRkQ3VzdG9tTGFiZWxzVG9TZWxmSG9zdGVkUnVubmVyRm9yUmVwbzogW1xuICAgICAgXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3J1bm5lcnMve3J1bm5lcl9pZH0vbGFiZWxzXCJcbiAgICBdLFxuICAgIGFkZFNlbGVjdGVkUmVwb1RvT3JnU2VjcmV0OiBbXG4gICAgICBcIlBVVCAvb3Jncy97b3JnfS9hY3Rpb25zL3NlY3JldHMve3NlY3JldF9uYW1lfS9yZXBvc2l0b3JpZXMve3JlcG9zaXRvcnlfaWR9XCJcbiAgICBdLFxuICAgIGFkZFNlbGVjdGVkUmVwb1RvT3JnVmFyaWFibGU6IFtcbiAgICAgIFwiUFVUIC9vcmdzL3tvcmd9L2FjdGlvbnMvdmFyaWFibGVzL3tuYW1lfS9yZXBvc2l0b3JpZXMve3JlcG9zaXRvcnlfaWR9XCJcbiAgICBdLFxuICAgIGFwcHJvdmVXb3JrZmxvd1J1bjogW1xuICAgICAgXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3J1bnMve3J1bl9pZH0vYXBwcm92ZVwiXG4gICAgXSxcbiAgICBjYW5jZWxXb3JrZmxvd1J1bjogW1xuICAgICAgXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3J1bnMve3J1bl9pZH0vY2FuY2VsXCJcbiAgICBdLFxuICAgIGNyZWF0ZUVudmlyb25tZW50VmFyaWFibGU6IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vZW52aXJvbm1lbnRzL3tlbnZpcm9ubWVudF9uYW1lfS92YXJpYWJsZXNcIlxuICAgIF0sXG4gICAgY3JlYXRlT3JVcGRhdGVFbnZpcm9ubWVudFNlY3JldDogW1xuICAgICAgXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2Vudmlyb25tZW50cy97ZW52aXJvbm1lbnRfbmFtZX0vc2VjcmV0cy97c2VjcmV0X25hbWV9XCJcbiAgICBdLFxuICAgIGNyZWF0ZU9yVXBkYXRlT3JnU2VjcmV0OiBbXCJQVVQgL29yZ3Mve29yZ30vYWN0aW9ucy9zZWNyZXRzL3tzZWNyZXRfbmFtZX1cIl0sXG4gICAgY3JlYXRlT3JVcGRhdGVSZXBvU2VjcmV0OiBbXG4gICAgICBcIlBVVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9zZWNyZXRzL3tzZWNyZXRfbmFtZX1cIlxuICAgIF0sXG4gICAgY3JlYXRlT3JnVmFyaWFibGU6IFtcIlBPU1QgL29yZ3Mve29yZ30vYWN0aW9ucy92YXJpYWJsZXNcIl0sXG4gICAgY3JlYXRlUmVnaXN0cmF0aW9uVG9rZW5Gb3JPcmc6IFtcbiAgICAgIFwiUE9TVCAvb3Jncy97b3JnfS9hY3Rpb25zL3J1bm5lcnMvcmVnaXN0cmF0aW9uLXRva2VuXCJcbiAgICBdLFxuICAgIGNyZWF0ZVJlZ2lzdHJhdGlvblRva2VuRm9yUmVwbzogW1xuICAgICAgXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3J1bm5lcnMvcmVnaXN0cmF0aW9uLXRva2VuXCJcbiAgICBdLFxuICAgIGNyZWF0ZVJlbW92ZVRva2VuRm9yT3JnOiBbXCJQT1NUIC9vcmdzL3tvcmd9L2FjdGlvbnMvcnVubmVycy9yZW1vdmUtdG9rZW5cIl0sXG4gICAgY3JlYXRlUmVtb3ZlVG9rZW5Gb3JSZXBvOiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvcnVubmVycy9yZW1vdmUtdG9rZW5cIlxuICAgIF0sXG4gICAgY3JlYXRlUmVwb1ZhcmlhYmxlOiBbXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3ZhcmlhYmxlc1wiXSxcbiAgICBjcmVhdGVXb3JrZmxvd0Rpc3BhdGNoOiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvd29ya2Zsb3dzL3t3b3JrZmxvd19pZH0vZGlzcGF0Y2hlc1wiXG4gICAgXSxcbiAgICBkZWxldGVBY3Rpb25zQ2FjaGVCeUlkOiBbXG4gICAgICBcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9jYWNoZXMve2NhY2hlX2lkfVwiXG4gICAgXSxcbiAgICBkZWxldGVBY3Rpb25zQ2FjaGVCeUtleTogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvY2FjaGVzez9rZXkscmVmfVwiXG4gICAgXSxcbiAgICBkZWxldGVBcnRpZmFjdDogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvYXJ0aWZhY3RzL3thcnRpZmFjdF9pZH1cIlxuICAgIF0sXG4gICAgZGVsZXRlRW52aXJvbm1lbnRTZWNyZXQ6IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9lbnZpcm9ubWVudHMve2Vudmlyb25tZW50X25hbWV9L3NlY3JldHMve3NlY3JldF9uYW1lfVwiXG4gICAgXSxcbiAgICBkZWxldGVFbnZpcm9ubWVudFZhcmlhYmxlOiBbXG4gICAgICBcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vZW52aXJvbm1lbnRzL3tlbnZpcm9ubWVudF9uYW1lfS92YXJpYWJsZXMve25hbWV9XCJcbiAgICBdLFxuICAgIGRlbGV0ZU9yZ1NlY3JldDogW1wiREVMRVRFIC9vcmdzL3tvcmd9L2FjdGlvbnMvc2VjcmV0cy97c2VjcmV0X25hbWV9XCJdLFxuICAgIGRlbGV0ZU9yZ1ZhcmlhYmxlOiBbXCJERUxFVEUgL29yZ3Mve29yZ30vYWN0aW9ucy92YXJpYWJsZXMve25hbWV9XCJdLFxuICAgIGRlbGV0ZVJlcG9TZWNyZXQ6IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3NlY3JldHMve3NlY3JldF9uYW1lfVwiXG4gICAgXSxcbiAgICBkZWxldGVSZXBvVmFyaWFibGU6IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3ZhcmlhYmxlcy97bmFtZX1cIlxuICAgIF0sXG4gICAgZGVsZXRlU2VsZkhvc3RlZFJ1bm5lckZyb21Pcmc6IFtcbiAgICAgIFwiREVMRVRFIC9vcmdzL3tvcmd9L2FjdGlvbnMvcnVubmVycy97cnVubmVyX2lkfVwiXG4gICAgXSxcbiAgICBkZWxldGVTZWxmSG9zdGVkUnVubmVyRnJvbVJlcG86IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3J1bm5lcnMve3J1bm5lcl9pZH1cIlxuICAgIF0sXG4gICAgZGVsZXRlV29ya2Zsb3dSdW46IFtcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9ydW5zL3tydW5faWR9XCJdLFxuICAgIGRlbGV0ZVdvcmtmbG93UnVuTG9nczogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvcnVucy97cnVuX2lkfS9sb2dzXCJcbiAgICBdLFxuICAgIGRpc2FibGVTZWxlY3RlZFJlcG9zaXRvcnlHaXRodWJBY3Rpb25zT3JnYW5pemF0aW9uOiBbXG4gICAgICBcIkRFTEVURSAvb3Jncy97b3JnfS9hY3Rpb25zL3Blcm1pc3Npb25zL3JlcG9zaXRvcmllcy97cmVwb3NpdG9yeV9pZH1cIlxuICAgIF0sXG4gICAgZGlzYWJsZVdvcmtmbG93OiBbXG4gICAgICBcIlBVVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy93b3JrZmxvd3Mve3dvcmtmbG93X2lkfS9kaXNhYmxlXCJcbiAgICBdLFxuICAgIGRvd25sb2FkQXJ0aWZhY3Q6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL2FydGlmYWN0cy97YXJ0aWZhY3RfaWR9L3thcmNoaXZlX2Zvcm1hdH1cIlxuICAgIF0sXG4gICAgZG93bmxvYWRKb2JMb2dzRm9yV29ya2Zsb3dSdW46IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL2pvYnMve2pvYl9pZH0vbG9nc1wiXG4gICAgXSxcbiAgICBkb3dubG9hZFdvcmtmbG93UnVuQXR0ZW1wdExvZ3M6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3J1bnMve3J1bl9pZH0vYXR0ZW1wdHMve2F0dGVtcHRfbnVtYmVyfS9sb2dzXCJcbiAgICBdLFxuICAgIGRvd25sb2FkV29ya2Zsb3dSdW5Mb2dzOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9ydW5zL3tydW5faWR9L2xvZ3NcIlxuICAgIF0sXG4gICAgZW5hYmxlU2VsZWN0ZWRSZXBvc2l0b3J5R2l0aHViQWN0aW9uc09yZ2FuaXphdGlvbjogW1xuICAgICAgXCJQVVQgL29yZ3Mve29yZ30vYWN0aW9ucy9wZXJtaXNzaW9ucy9yZXBvc2l0b3JpZXMve3JlcG9zaXRvcnlfaWR9XCJcbiAgICBdLFxuICAgIGVuYWJsZVdvcmtmbG93OiBbXG4gICAgICBcIlBVVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy93b3JrZmxvd3Mve3dvcmtmbG93X2lkfS9lbmFibGVcIlxuICAgIF0sXG4gICAgZm9yY2VDYW5jZWxXb3JrZmxvd1J1bjogW1xuICAgICAgXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3J1bnMve3J1bl9pZH0vZm9yY2UtY2FuY2VsXCJcbiAgICBdLFxuICAgIGdlbmVyYXRlUnVubmVySml0Y29uZmlnRm9yT3JnOiBbXG4gICAgICBcIlBPU1QgL29yZ3Mve29yZ30vYWN0aW9ucy9ydW5uZXJzL2dlbmVyYXRlLWppdGNvbmZpZ1wiXG4gICAgXSxcbiAgICBnZW5lcmF0ZVJ1bm5lckppdGNvbmZpZ0ZvclJlcG86IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9ydW5uZXJzL2dlbmVyYXRlLWppdGNvbmZpZ1wiXG4gICAgXSxcbiAgICBnZXRBY3Rpb25zQ2FjaGVMaXN0OiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvY2FjaGVzXCJdLFxuICAgIGdldEFjdGlvbnNDYWNoZVVzYWdlOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvY2FjaGUvdXNhZ2VcIl0sXG4gICAgZ2V0QWN0aW9uc0NhY2hlVXNhZ2VCeVJlcG9Gb3JPcmc6IFtcbiAgICAgIFwiR0VUIC9vcmdzL3tvcmd9L2FjdGlvbnMvY2FjaGUvdXNhZ2UtYnktcmVwb3NpdG9yeVwiXG4gICAgXSxcbiAgICBnZXRBY3Rpb25zQ2FjaGVVc2FnZUZvck9yZzogW1wiR0VUIC9vcmdzL3tvcmd9L2FjdGlvbnMvY2FjaGUvdXNhZ2VcIl0sXG4gICAgZ2V0QWxsb3dlZEFjdGlvbnNPcmdhbml6YXRpb246IFtcbiAgICAgIFwiR0VUIC9vcmdzL3tvcmd9L2FjdGlvbnMvcGVybWlzc2lvbnMvc2VsZWN0ZWQtYWN0aW9uc1wiXG4gICAgXSxcbiAgICBnZXRBbGxvd2VkQWN0aW9uc1JlcG9zaXRvcnk6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3Blcm1pc3Npb25zL3NlbGVjdGVkLWFjdGlvbnNcIlxuICAgIF0sXG4gICAgZ2V0QXJ0aWZhY3Q6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9hcnRpZmFjdHMve2FydGlmYWN0X2lkfVwiXSxcbiAgICBnZXRDdXN0b21PaWRjU3ViQ2xhaW1Gb3JSZXBvOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9vaWRjL2N1c3RvbWl6YXRpb24vc3ViXCJcbiAgICBdLFxuICAgIGdldEVudmlyb25tZW50UHVibGljS2V5OiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZW52aXJvbm1lbnRzL3tlbnZpcm9ubWVudF9uYW1lfS9zZWNyZXRzL3B1YmxpYy1rZXlcIlxuICAgIF0sXG4gICAgZ2V0RW52aXJvbm1lbnRTZWNyZXQ6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9lbnZpcm9ubWVudHMve2Vudmlyb25tZW50X25hbWV9L3NlY3JldHMve3NlY3JldF9uYW1lfVwiXG4gICAgXSxcbiAgICBnZXRFbnZpcm9ubWVudFZhcmlhYmxlOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZW52aXJvbm1lbnRzL3tlbnZpcm9ubWVudF9uYW1lfS92YXJpYWJsZXMve25hbWV9XCJcbiAgICBdLFxuICAgIGdldEdpdGh1YkFjdGlvbnNEZWZhdWx0V29ya2Zsb3dQZXJtaXNzaW9uc09yZ2FuaXphdGlvbjogW1xuICAgICAgXCJHRVQgL29yZ3Mve29yZ30vYWN0aW9ucy9wZXJtaXNzaW9ucy93b3JrZmxvd1wiXG4gICAgXSxcbiAgICBnZXRHaXRodWJBY3Rpb25zRGVmYXVsdFdvcmtmbG93UGVybWlzc2lvbnNSZXBvc2l0b3J5OiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9wZXJtaXNzaW9ucy93b3JrZmxvd1wiXG4gICAgXSxcbiAgICBnZXRHaXRodWJBY3Rpb25zUGVybWlzc2lvbnNPcmdhbml6YXRpb246IFtcbiAgICAgIFwiR0VUIC9vcmdzL3tvcmd9L2FjdGlvbnMvcGVybWlzc2lvbnNcIlxuICAgIF0sXG4gICAgZ2V0R2l0aHViQWN0aW9uc1Blcm1pc3Npb25zUmVwb3NpdG9yeTogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvcGVybWlzc2lvbnNcIlxuICAgIF0sXG4gICAgZ2V0Sm9iRm9yV29ya2Zsb3dSdW46IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9qb2JzL3tqb2JfaWR9XCJdLFxuICAgIGdldE9yZ1B1YmxpY0tleTogW1wiR0VUIC9vcmdzL3tvcmd9L2FjdGlvbnMvc2VjcmV0cy9wdWJsaWMta2V5XCJdLFxuICAgIGdldE9yZ1NlY3JldDogW1wiR0VUIC9vcmdzL3tvcmd9L2FjdGlvbnMvc2VjcmV0cy97c2VjcmV0X25hbWV9XCJdLFxuICAgIGdldE9yZ1ZhcmlhYmxlOiBbXCJHRVQgL29yZ3Mve29yZ30vYWN0aW9ucy92YXJpYWJsZXMve25hbWV9XCJdLFxuICAgIGdldFBlbmRpbmdEZXBsb3ltZW50c0ZvclJ1bjogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvcnVucy97cnVuX2lkfS9wZW5kaW5nX2RlcGxveW1lbnRzXCJcbiAgICBdLFxuICAgIGdldFJlcG9QZXJtaXNzaW9uczogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvcGVybWlzc2lvbnNcIixcbiAgICAgIHt9LFxuICAgICAgeyByZW5hbWVkOiBbXCJhY3Rpb25zXCIsIFwiZ2V0R2l0aHViQWN0aW9uc1Blcm1pc3Npb25zUmVwb3NpdG9yeVwiXSB9XG4gICAgXSxcbiAgICBnZXRSZXBvUHVibGljS2V5OiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvc2VjcmV0cy9wdWJsaWMta2V5XCJdLFxuICAgIGdldFJlcG9TZWNyZXQ6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9zZWNyZXRzL3tzZWNyZXRfbmFtZX1cIl0sXG4gICAgZ2V0UmVwb1ZhcmlhYmxlOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvdmFyaWFibGVzL3tuYW1lfVwiXSxcbiAgICBnZXRSZXZpZXdzRm9yUnVuOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9ydW5zL3tydW5faWR9L2FwcHJvdmFsc1wiXG4gICAgXSxcbiAgICBnZXRTZWxmSG9zdGVkUnVubmVyRm9yT3JnOiBbXCJHRVQgL29yZ3Mve29yZ30vYWN0aW9ucy9ydW5uZXJzL3tydW5uZXJfaWR9XCJdLFxuICAgIGdldFNlbGZIb3N0ZWRSdW5uZXJGb3JSZXBvOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9ydW5uZXJzL3tydW5uZXJfaWR9XCJcbiAgICBdLFxuICAgIGdldFdvcmtmbG93OiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvd29ya2Zsb3dzL3t3b3JrZmxvd19pZH1cIl0sXG4gICAgZ2V0V29ya2Zsb3dBY2Nlc3NUb1JlcG9zaXRvcnk6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3Blcm1pc3Npb25zL2FjY2Vzc1wiXG4gICAgXSxcbiAgICBnZXRXb3JrZmxvd1J1bjogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3J1bnMve3J1bl9pZH1cIl0sXG4gICAgZ2V0V29ya2Zsb3dSdW5BdHRlbXB0OiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9ydW5zL3tydW5faWR9L2F0dGVtcHRzL3thdHRlbXB0X251bWJlcn1cIlxuICAgIF0sXG4gICAgZ2V0V29ya2Zsb3dSdW5Vc2FnZTogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvcnVucy97cnVuX2lkfS90aW1pbmdcIlxuICAgIF0sXG4gICAgZ2V0V29ya2Zsb3dVc2FnZTogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvd29ya2Zsb3dzL3t3b3JrZmxvd19pZH0vdGltaW5nXCJcbiAgICBdLFxuICAgIGxpc3RBcnRpZmFjdHNGb3JSZXBvOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvYXJ0aWZhY3RzXCJdLFxuICAgIGxpc3RFbnZpcm9ubWVudFNlY3JldHM6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9lbnZpcm9ubWVudHMve2Vudmlyb25tZW50X25hbWV9L3NlY3JldHNcIlxuICAgIF0sXG4gICAgbGlzdEVudmlyb25tZW50VmFyaWFibGVzOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZW52aXJvbm1lbnRzL3tlbnZpcm9ubWVudF9uYW1lfS92YXJpYWJsZXNcIlxuICAgIF0sXG4gICAgbGlzdEpvYnNGb3JXb3JrZmxvd1J1bjogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvcnVucy97cnVuX2lkfS9qb2JzXCJcbiAgICBdLFxuICAgIGxpc3RKb2JzRm9yV29ya2Zsb3dSdW5BdHRlbXB0OiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9ydW5zL3tydW5faWR9L2F0dGVtcHRzL3thdHRlbXB0X251bWJlcn0vam9ic1wiXG4gICAgXSxcbiAgICBsaXN0TGFiZWxzRm9yU2VsZkhvc3RlZFJ1bm5lckZvck9yZzogW1xuICAgICAgXCJHRVQgL29yZ3Mve29yZ30vYWN0aW9ucy9ydW5uZXJzL3tydW5uZXJfaWR9L2xhYmVsc1wiXG4gICAgXSxcbiAgICBsaXN0TGFiZWxzRm9yU2VsZkhvc3RlZFJ1bm5lckZvclJlcG86IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3J1bm5lcnMve3J1bm5lcl9pZH0vbGFiZWxzXCJcbiAgICBdLFxuICAgIGxpc3RPcmdTZWNyZXRzOiBbXCJHRVQgL29yZ3Mve29yZ30vYWN0aW9ucy9zZWNyZXRzXCJdLFxuICAgIGxpc3RPcmdWYXJpYWJsZXM6IFtcIkdFVCAvb3Jncy97b3JnfS9hY3Rpb25zL3ZhcmlhYmxlc1wiXSxcbiAgICBsaXN0UmVwb09yZ2FuaXphdGlvblNlY3JldHM6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL29yZ2FuaXphdGlvbi1zZWNyZXRzXCJcbiAgICBdLFxuICAgIGxpc3RSZXBvT3JnYW5pemF0aW9uVmFyaWFibGVzOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9vcmdhbml6YXRpb24tdmFyaWFibGVzXCJcbiAgICBdLFxuICAgIGxpc3RSZXBvU2VjcmV0czogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3NlY3JldHNcIl0sXG4gICAgbGlzdFJlcG9WYXJpYWJsZXM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy92YXJpYWJsZXNcIl0sXG4gICAgbGlzdFJlcG9Xb3JrZmxvd3M6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy93b3JrZmxvd3NcIl0sXG4gICAgbGlzdFJ1bm5lckFwcGxpY2F0aW9uc0Zvck9yZzogW1wiR0VUIC9vcmdzL3tvcmd9L2FjdGlvbnMvcnVubmVycy9kb3dubG9hZHNcIl0sXG4gICAgbGlzdFJ1bm5lckFwcGxpY2F0aW9uc0ZvclJlcG86IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3J1bm5lcnMvZG93bmxvYWRzXCJcbiAgICBdLFxuICAgIGxpc3RTZWxlY3RlZFJlcG9zRm9yT3JnU2VjcmV0OiBbXG4gICAgICBcIkdFVCAvb3Jncy97b3JnfS9hY3Rpb25zL3NlY3JldHMve3NlY3JldF9uYW1lfS9yZXBvc2l0b3JpZXNcIlxuICAgIF0sXG4gICAgbGlzdFNlbGVjdGVkUmVwb3NGb3JPcmdWYXJpYWJsZTogW1xuICAgICAgXCJHRVQgL29yZ3Mve29yZ30vYWN0aW9ucy92YXJpYWJsZXMve25hbWV9L3JlcG9zaXRvcmllc1wiXG4gICAgXSxcbiAgICBsaXN0U2VsZWN0ZWRSZXBvc2l0b3JpZXNFbmFibGVkR2l0aHViQWN0aW9uc09yZ2FuaXphdGlvbjogW1xuICAgICAgXCJHRVQgL29yZ3Mve29yZ30vYWN0aW9ucy9wZXJtaXNzaW9ucy9yZXBvc2l0b3JpZXNcIlxuICAgIF0sXG4gICAgbGlzdFNlbGZIb3N0ZWRSdW5uZXJzRm9yT3JnOiBbXCJHRVQgL29yZ3Mve29yZ30vYWN0aW9ucy9ydW5uZXJzXCJdLFxuICAgIGxpc3RTZWxmSG9zdGVkUnVubmVyc0ZvclJlcG86IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9ydW5uZXJzXCJdLFxuICAgIGxpc3RXb3JrZmxvd1J1bkFydGlmYWN0czogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvcnVucy97cnVuX2lkfS9hcnRpZmFjdHNcIlxuICAgIF0sXG4gICAgbGlzdFdvcmtmbG93UnVuczogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvd29ya2Zsb3dzL3t3b3JrZmxvd19pZH0vcnVuc1wiXG4gICAgXSxcbiAgICBsaXN0V29ya2Zsb3dSdW5zRm9yUmVwbzogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3J1bnNcIl0sXG4gICAgcmVSdW5Kb2JGb3JXb3JrZmxvd1J1bjogW1xuICAgICAgXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL2pvYnMve2pvYl9pZH0vcmVydW5cIlxuICAgIF0sXG4gICAgcmVSdW5Xb3JrZmxvdzogW1wiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9ydW5zL3tydW5faWR9L3JlcnVuXCJdLFxuICAgIHJlUnVuV29ya2Zsb3dGYWlsZWRKb2JzOiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvcnVucy97cnVuX2lkfS9yZXJ1bi1mYWlsZWQtam9ic1wiXG4gICAgXSxcbiAgICByZW1vdmVBbGxDdXN0b21MYWJlbHNGcm9tU2VsZkhvc3RlZFJ1bm5lckZvck9yZzogW1xuICAgICAgXCJERUxFVEUgL29yZ3Mve29yZ30vYWN0aW9ucy9ydW5uZXJzL3tydW5uZXJfaWR9L2xhYmVsc1wiXG4gICAgXSxcbiAgICByZW1vdmVBbGxDdXN0b21MYWJlbHNGcm9tU2VsZkhvc3RlZFJ1bm5lckZvclJlcG86IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3J1bm5lcnMve3J1bm5lcl9pZH0vbGFiZWxzXCJcbiAgICBdLFxuICAgIHJlbW92ZUN1c3RvbUxhYmVsRnJvbVNlbGZIb3N0ZWRSdW5uZXJGb3JPcmc6IFtcbiAgICAgIFwiREVMRVRFIC9vcmdzL3tvcmd9L2FjdGlvbnMvcnVubmVycy97cnVubmVyX2lkfS9sYWJlbHMve25hbWV9XCJcbiAgICBdLFxuICAgIHJlbW92ZUN1c3RvbUxhYmVsRnJvbVNlbGZIb3N0ZWRSdW5uZXJGb3JSZXBvOiBbXG4gICAgICBcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9ydW5uZXJzL3tydW5uZXJfaWR9L2xhYmVscy97bmFtZX1cIlxuICAgIF0sXG4gICAgcmVtb3ZlU2VsZWN0ZWRSZXBvRnJvbU9yZ1NlY3JldDogW1xuICAgICAgXCJERUxFVEUgL29yZ3Mve29yZ30vYWN0aW9ucy9zZWNyZXRzL3tzZWNyZXRfbmFtZX0vcmVwb3NpdG9yaWVzL3tyZXBvc2l0b3J5X2lkfVwiXG4gICAgXSxcbiAgICByZW1vdmVTZWxlY3RlZFJlcG9Gcm9tT3JnVmFyaWFibGU6IFtcbiAgICAgIFwiREVMRVRFIC9vcmdzL3tvcmd9L2FjdGlvbnMvdmFyaWFibGVzL3tuYW1lfS9yZXBvc2l0b3JpZXMve3JlcG9zaXRvcnlfaWR9XCJcbiAgICBdLFxuICAgIHJldmlld0N1c3RvbUdhdGVzRm9yUnVuOiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvcnVucy97cnVuX2lkfS9kZXBsb3ltZW50X3Byb3RlY3Rpb25fcnVsZVwiXG4gICAgXSxcbiAgICByZXZpZXdQZW5kaW5nRGVwbG95bWVudHNGb3JSdW46IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aW9ucy9ydW5zL3tydW5faWR9L3BlbmRpbmdfZGVwbG95bWVudHNcIlxuICAgIF0sXG4gICAgc2V0QWxsb3dlZEFjdGlvbnNPcmdhbml6YXRpb246IFtcbiAgICAgIFwiUFVUIC9vcmdzL3tvcmd9L2FjdGlvbnMvcGVybWlzc2lvbnMvc2VsZWN0ZWQtYWN0aW9uc1wiXG4gICAgXSxcbiAgICBzZXRBbGxvd2VkQWN0aW9uc1JlcG9zaXRvcnk6IFtcbiAgICAgIFwiUFVUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3Blcm1pc3Npb25zL3NlbGVjdGVkLWFjdGlvbnNcIlxuICAgIF0sXG4gICAgc2V0Q3VzdG9tTGFiZWxzRm9yU2VsZkhvc3RlZFJ1bm5lckZvck9yZzogW1xuICAgICAgXCJQVVQgL29yZ3Mve29yZ30vYWN0aW9ucy9ydW5uZXJzL3tydW5uZXJfaWR9L2xhYmVsc1wiXG4gICAgXSxcbiAgICBzZXRDdXN0b21MYWJlbHNGb3JTZWxmSG9zdGVkUnVubmVyRm9yUmVwbzogW1xuICAgICAgXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvcnVubmVycy97cnVubmVyX2lkfS9sYWJlbHNcIlxuICAgIF0sXG4gICAgc2V0Q3VzdG9tT2lkY1N1YkNsYWltRm9yUmVwbzogW1xuICAgICAgXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvb2lkYy9jdXN0b21pemF0aW9uL3N1YlwiXG4gICAgXSxcbiAgICBzZXRHaXRodWJBY3Rpb25zRGVmYXVsdFdvcmtmbG93UGVybWlzc2lvbnNPcmdhbml6YXRpb246IFtcbiAgICAgIFwiUFVUIC9vcmdzL3tvcmd9L2FjdGlvbnMvcGVybWlzc2lvbnMvd29ya2Zsb3dcIlxuICAgIF0sXG4gICAgc2V0R2l0aHViQWN0aW9uc0RlZmF1bHRXb3JrZmxvd1Blcm1pc3Npb25zUmVwb3NpdG9yeTogW1xuICAgICAgXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvcGVybWlzc2lvbnMvd29ya2Zsb3dcIlxuICAgIF0sXG4gICAgc2V0R2l0aHViQWN0aW9uc1Blcm1pc3Npb25zT3JnYW5pemF0aW9uOiBbXG4gICAgICBcIlBVVCAvb3Jncy97b3JnfS9hY3Rpb25zL3Blcm1pc3Npb25zXCJcbiAgICBdLFxuICAgIHNldEdpdGh1YkFjdGlvbnNQZXJtaXNzaW9uc1JlcG9zaXRvcnk6IFtcbiAgICAgIFwiUFVUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3Blcm1pc3Npb25zXCJcbiAgICBdLFxuICAgIHNldFNlbGVjdGVkUmVwb3NGb3JPcmdTZWNyZXQ6IFtcbiAgICAgIFwiUFVUIC9vcmdzL3tvcmd9L2FjdGlvbnMvc2VjcmV0cy97c2VjcmV0X25hbWV9L3JlcG9zaXRvcmllc1wiXG4gICAgXSxcbiAgICBzZXRTZWxlY3RlZFJlcG9zRm9yT3JnVmFyaWFibGU6IFtcbiAgICAgIFwiUFVUIC9vcmdzL3tvcmd9L2FjdGlvbnMvdmFyaWFibGVzL3tuYW1lfS9yZXBvc2l0b3JpZXNcIlxuICAgIF0sXG4gICAgc2V0U2VsZWN0ZWRSZXBvc2l0b3JpZXNFbmFibGVkR2l0aHViQWN0aW9uc09yZ2FuaXphdGlvbjogW1xuICAgICAgXCJQVVQgL29yZ3Mve29yZ30vYWN0aW9ucy9wZXJtaXNzaW9ucy9yZXBvc2l0b3JpZXNcIlxuICAgIF0sXG4gICAgc2V0V29ya2Zsb3dBY2Nlc3NUb1JlcG9zaXRvcnk6IFtcbiAgICAgIFwiUFVUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hY3Rpb25zL3Blcm1pc3Npb25zL2FjY2Vzc1wiXG4gICAgXSxcbiAgICB1cGRhdGVFbnZpcm9ubWVudFZhcmlhYmxlOiBbXG4gICAgICBcIlBBVENIIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9lbnZpcm9ubWVudHMve2Vudmlyb25tZW50X25hbWV9L3ZhcmlhYmxlcy97bmFtZX1cIlxuICAgIF0sXG4gICAgdXBkYXRlT3JnVmFyaWFibGU6IFtcIlBBVENIIC9vcmdzL3tvcmd9L2FjdGlvbnMvdmFyaWFibGVzL3tuYW1lfVwiXSxcbiAgICB1cGRhdGVSZXBvVmFyaWFibGU6IFtcbiAgICAgIFwiUEFUQ0ggL3JlcG9zL3tvd25lcn0ve3JlcG99L2FjdGlvbnMvdmFyaWFibGVzL3tuYW1lfVwiXG4gICAgXVxuICB9LFxuICBhY3Rpdml0eToge1xuICAgIGNoZWNrUmVwb0lzU3RhcnJlZEJ5QXV0aGVudGljYXRlZFVzZXI6IFtcIkdFVCAvdXNlci9zdGFycmVkL3tvd25lcn0ve3JlcG99XCJdLFxuICAgIGRlbGV0ZVJlcG9TdWJzY3JpcHRpb246IFtcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vc3Vic2NyaXB0aW9uXCJdLFxuICAgIGRlbGV0ZVRocmVhZFN1YnNjcmlwdGlvbjogW1xuICAgICAgXCJERUxFVEUgL25vdGlmaWNhdGlvbnMvdGhyZWFkcy97dGhyZWFkX2lkfS9zdWJzY3JpcHRpb25cIlxuICAgIF0sXG4gICAgZ2V0RmVlZHM6IFtcIkdFVCAvZmVlZHNcIl0sXG4gICAgZ2V0UmVwb1N1YnNjcmlwdGlvbjogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9zdWJzY3JpcHRpb25cIl0sXG4gICAgZ2V0VGhyZWFkOiBbXCJHRVQgL25vdGlmaWNhdGlvbnMvdGhyZWFkcy97dGhyZWFkX2lkfVwiXSxcbiAgICBnZXRUaHJlYWRTdWJzY3JpcHRpb25Gb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJHRVQgL25vdGlmaWNhdGlvbnMvdGhyZWFkcy97dGhyZWFkX2lkfS9zdWJzY3JpcHRpb25cIlxuICAgIF0sXG4gICAgbGlzdEV2ZW50c0ZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vZXZlbnRzXCJdLFxuICAgIGxpc3ROb3RpZmljYXRpb25zRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIkdFVCAvbm90aWZpY2F0aW9uc1wiXSxcbiAgICBsaXN0T3JnRXZlbnRzRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcbiAgICAgIFwiR0VUIC91c2Vycy97dXNlcm5hbWV9L2V2ZW50cy9vcmdzL3tvcmd9XCJcbiAgICBdLFxuICAgIGxpc3RQdWJsaWNFdmVudHM6IFtcIkdFVCAvZXZlbnRzXCJdLFxuICAgIGxpc3RQdWJsaWNFdmVudHNGb3JSZXBvTmV0d29yazogW1wiR0VUIC9uZXR3b3Jrcy97b3duZXJ9L3tyZXBvfS9ldmVudHNcIl0sXG4gICAgbGlzdFB1YmxpY0V2ZW50c0ZvclVzZXI6IFtcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9ldmVudHMvcHVibGljXCJdLFxuICAgIGxpc3RQdWJsaWNPcmdFdmVudHM6IFtcIkdFVCAvb3Jncy97b3JnfS9ldmVudHNcIl0sXG4gICAgbGlzdFJlY2VpdmVkRXZlbnRzRm9yVXNlcjogW1wiR0VUIC91c2Vycy97dXNlcm5hbWV9L3JlY2VpdmVkX2V2ZW50c1wiXSxcbiAgICBsaXN0UmVjZWl2ZWRQdWJsaWNFdmVudHNGb3JVc2VyOiBbXG4gICAgICBcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9yZWNlaXZlZF9ldmVudHMvcHVibGljXCJcbiAgICBdLFxuICAgIGxpc3RSZXBvRXZlbnRzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2V2ZW50c1wiXSxcbiAgICBsaXN0UmVwb05vdGlmaWNhdGlvbnNGb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L25vdGlmaWNhdGlvbnNcIlxuICAgIF0sXG4gICAgbGlzdFJlcG9zU3RhcnJlZEJ5QXV0aGVudGljYXRlZFVzZXI6IFtcIkdFVCAvdXNlci9zdGFycmVkXCJdLFxuICAgIGxpc3RSZXBvc1N0YXJyZWRCeVVzZXI6IFtcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9zdGFycmVkXCJdLFxuICAgIGxpc3RSZXBvc1dhdGNoZWRCeVVzZXI6IFtcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9zdWJzY3JpcHRpb25zXCJdLFxuICAgIGxpc3RTdGFyZ2F6ZXJzRm9yUmVwbzogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9zdGFyZ2F6ZXJzXCJdLFxuICAgIGxpc3RXYXRjaGVkUmVwb3NGb3JBdXRoZW50aWNhdGVkVXNlcjogW1wiR0VUIC91c2VyL3N1YnNjcmlwdGlvbnNcIl0sXG4gICAgbGlzdFdhdGNoZXJzRm9yUmVwbzogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9zdWJzY3JpYmVyc1wiXSxcbiAgICBtYXJrTm90aWZpY2F0aW9uc0FzUmVhZDogW1wiUFVUIC9ub3RpZmljYXRpb25zXCJdLFxuICAgIG1hcmtSZXBvTm90aWZpY2F0aW9uc0FzUmVhZDogW1wiUFVUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9ub3RpZmljYXRpb25zXCJdLFxuICAgIG1hcmtUaHJlYWRBc0RvbmU6IFtcIkRFTEVURSAvbm90aWZpY2F0aW9ucy90aHJlYWRzL3t0aHJlYWRfaWR9XCJdLFxuICAgIG1hcmtUaHJlYWRBc1JlYWQ6IFtcIlBBVENIIC9ub3RpZmljYXRpb25zL3RocmVhZHMve3RocmVhZF9pZH1cIl0sXG4gICAgc2V0UmVwb1N1YnNjcmlwdGlvbjogW1wiUFVUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9zdWJzY3JpcHRpb25cIl0sXG4gICAgc2V0VGhyZWFkU3Vic2NyaXB0aW9uOiBbXG4gICAgICBcIlBVVCAvbm90aWZpY2F0aW9ucy90aHJlYWRzL3t0aHJlYWRfaWR9L3N1YnNjcmlwdGlvblwiXG4gICAgXSxcbiAgICBzdGFyUmVwb0ZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJQVVQgL3VzZXIvc3RhcnJlZC97b3duZXJ9L3tyZXBvfVwiXSxcbiAgICB1bnN0YXJSZXBvRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIkRFTEVURSAvdXNlci9zdGFycmVkL3tvd25lcn0ve3JlcG99XCJdXG4gIH0sXG4gIGFwcHM6IHtcbiAgICBhZGRSZXBvVG9JbnN0YWxsYXRpb246IFtcbiAgICAgIFwiUFVUIC91c2VyL2luc3RhbGxhdGlvbnMve2luc3RhbGxhdGlvbl9pZH0vcmVwb3NpdG9yaWVzL3tyZXBvc2l0b3J5X2lkfVwiLFxuICAgICAge30sXG4gICAgICB7IHJlbmFtZWQ6IFtcImFwcHNcIiwgXCJhZGRSZXBvVG9JbnN0YWxsYXRpb25Gb3JBdXRoZW50aWNhdGVkVXNlclwiXSB9XG4gICAgXSxcbiAgICBhZGRSZXBvVG9JbnN0YWxsYXRpb25Gb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJQVVQgL3VzZXIvaW5zdGFsbGF0aW9ucy97aW5zdGFsbGF0aW9uX2lkfS9yZXBvc2l0b3JpZXMve3JlcG9zaXRvcnlfaWR9XCJcbiAgICBdLFxuICAgIGNoZWNrVG9rZW46IFtcIlBPU1QgL2FwcGxpY2F0aW9ucy97Y2xpZW50X2lkfS90b2tlblwiXSxcbiAgICBjcmVhdGVGcm9tTWFuaWZlc3Q6IFtcIlBPU1QgL2FwcC1tYW5pZmVzdHMve2NvZGV9L2NvbnZlcnNpb25zXCJdLFxuICAgIGNyZWF0ZUluc3RhbGxhdGlvbkFjY2Vzc1Rva2VuOiBbXG4gICAgICBcIlBPU1QgL2FwcC9pbnN0YWxsYXRpb25zL3tpbnN0YWxsYXRpb25faWR9L2FjY2Vzc190b2tlbnNcIlxuICAgIF0sXG4gICAgZGVsZXRlQXV0aG9yaXphdGlvbjogW1wiREVMRVRFIC9hcHBsaWNhdGlvbnMve2NsaWVudF9pZH0vZ3JhbnRcIl0sXG4gICAgZGVsZXRlSW5zdGFsbGF0aW9uOiBbXCJERUxFVEUgL2FwcC9pbnN0YWxsYXRpb25zL3tpbnN0YWxsYXRpb25faWR9XCJdLFxuICAgIGRlbGV0ZVRva2VuOiBbXCJERUxFVEUgL2FwcGxpY2F0aW9ucy97Y2xpZW50X2lkfS90b2tlblwiXSxcbiAgICBnZXRBdXRoZW50aWNhdGVkOiBbXCJHRVQgL2FwcFwiXSxcbiAgICBnZXRCeVNsdWc6IFtcIkdFVCAvYXBwcy97YXBwX3NsdWd9XCJdLFxuICAgIGdldEluc3RhbGxhdGlvbjogW1wiR0VUIC9hcHAvaW5zdGFsbGF0aW9ucy97aW5zdGFsbGF0aW9uX2lkfVwiXSxcbiAgICBnZXRPcmdJbnN0YWxsYXRpb246IFtcIkdFVCAvb3Jncy97b3JnfS9pbnN0YWxsYXRpb25cIl0sXG4gICAgZ2V0UmVwb0luc3RhbGxhdGlvbjogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9pbnN0YWxsYXRpb25cIl0sXG4gICAgZ2V0U3Vic2NyaXB0aW9uUGxhbkZvckFjY291bnQ6IFtcbiAgICAgIFwiR0VUIC9tYXJrZXRwbGFjZV9saXN0aW5nL2FjY291bnRzL3thY2NvdW50X2lkfVwiXG4gICAgXSxcbiAgICBnZXRTdWJzY3JpcHRpb25QbGFuRm9yQWNjb3VudFN0dWJiZWQ6IFtcbiAgICAgIFwiR0VUIC9tYXJrZXRwbGFjZV9saXN0aW5nL3N0dWJiZWQvYWNjb3VudHMve2FjY291bnRfaWR9XCJcbiAgICBdLFxuICAgIGdldFVzZXJJbnN0YWxsYXRpb246IFtcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9pbnN0YWxsYXRpb25cIl0sXG4gICAgZ2V0V2ViaG9va0NvbmZpZ0ZvckFwcDogW1wiR0VUIC9hcHAvaG9vay9jb25maWdcIl0sXG4gICAgZ2V0V2ViaG9va0RlbGl2ZXJ5OiBbXCJHRVQgL2FwcC9ob29rL2RlbGl2ZXJpZXMve2RlbGl2ZXJ5X2lkfVwiXSxcbiAgICBsaXN0QWNjb3VudHNGb3JQbGFuOiBbXCJHRVQgL21hcmtldHBsYWNlX2xpc3RpbmcvcGxhbnMve3BsYW5faWR9L2FjY291bnRzXCJdLFxuICAgIGxpc3RBY2NvdW50c0ZvclBsYW5TdHViYmVkOiBbXG4gICAgICBcIkdFVCAvbWFya2V0cGxhY2VfbGlzdGluZy9zdHViYmVkL3BsYW5zL3twbGFuX2lkfS9hY2NvdW50c1wiXG4gICAgXSxcbiAgICBsaXN0SW5zdGFsbGF0aW9uUmVwb3NGb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJHRVQgL3VzZXIvaW5zdGFsbGF0aW9ucy97aW5zdGFsbGF0aW9uX2lkfS9yZXBvc2l0b3JpZXNcIlxuICAgIF0sXG4gICAgbGlzdEluc3RhbGxhdGlvblJlcXVlc3RzRm9yQXV0aGVudGljYXRlZEFwcDogW1xuICAgICAgXCJHRVQgL2FwcC9pbnN0YWxsYXRpb24tcmVxdWVzdHNcIlxuICAgIF0sXG4gICAgbGlzdEluc3RhbGxhdGlvbnM6IFtcIkdFVCAvYXBwL2luc3RhbGxhdGlvbnNcIl0sXG4gICAgbGlzdEluc3RhbGxhdGlvbnNGb3JBdXRoZW50aWNhdGVkVXNlcjogW1wiR0VUIC91c2VyL2luc3RhbGxhdGlvbnNcIl0sXG4gICAgbGlzdFBsYW5zOiBbXCJHRVQgL21hcmtldHBsYWNlX2xpc3RpbmcvcGxhbnNcIl0sXG4gICAgbGlzdFBsYW5zU3R1YmJlZDogW1wiR0VUIC9tYXJrZXRwbGFjZV9saXN0aW5nL3N0dWJiZWQvcGxhbnNcIl0sXG4gICAgbGlzdFJlcG9zQWNjZXNzaWJsZVRvSW5zdGFsbGF0aW9uOiBbXCJHRVQgL2luc3RhbGxhdGlvbi9yZXBvc2l0b3JpZXNcIl0sXG4gICAgbGlzdFN1YnNjcmlwdGlvbnNGb3JBdXRoZW50aWNhdGVkVXNlcjogW1wiR0VUIC91c2VyL21hcmtldHBsYWNlX3B1cmNoYXNlc1wiXSxcbiAgICBsaXN0U3Vic2NyaXB0aW9uc0ZvckF1dGhlbnRpY2F0ZWRVc2VyU3R1YmJlZDogW1xuICAgICAgXCJHRVQgL3VzZXIvbWFya2V0cGxhY2VfcHVyY2hhc2VzL3N0dWJiZWRcIlxuICAgIF0sXG4gICAgbGlzdFdlYmhvb2tEZWxpdmVyaWVzOiBbXCJHRVQgL2FwcC9ob29rL2RlbGl2ZXJpZXNcIl0sXG4gICAgcmVkZWxpdmVyV2ViaG9va0RlbGl2ZXJ5OiBbXG4gICAgICBcIlBPU1QgL2FwcC9ob29rL2RlbGl2ZXJpZXMve2RlbGl2ZXJ5X2lkfS9hdHRlbXB0c1wiXG4gICAgXSxcbiAgICByZW1vdmVSZXBvRnJvbUluc3RhbGxhdGlvbjogW1xuICAgICAgXCJERUxFVEUgL3VzZXIvaW5zdGFsbGF0aW9ucy97aW5zdGFsbGF0aW9uX2lkfS9yZXBvc2l0b3JpZXMve3JlcG9zaXRvcnlfaWR9XCIsXG4gICAgICB7fSxcbiAgICAgIHsgcmVuYW1lZDogW1wiYXBwc1wiLCBcInJlbW92ZVJlcG9Gcm9tSW5zdGFsbGF0aW9uRm9yQXV0aGVudGljYXRlZFVzZXJcIl0gfVxuICAgIF0sXG4gICAgcmVtb3ZlUmVwb0Zyb21JbnN0YWxsYXRpb25Gb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJERUxFVEUgL3VzZXIvaW5zdGFsbGF0aW9ucy97aW5zdGFsbGF0aW9uX2lkfS9yZXBvc2l0b3JpZXMve3JlcG9zaXRvcnlfaWR9XCJcbiAgICBdLFxuICAgIHJlc2V0VG9rZW46IFtcIlBBVENIIC9hcHBsaWNhdGlvbnMve2NsaWVudF9pZH0vdG9rZW5cIl0sXG4gICAgcmV2b2tlSW5zdGFsbGF0aW9uQWNjZXNzVG9rZW46IFtcIkRFTEVURSAvaW5zdGFsbGF0aW9uL3Rva2VuXCJdLFxuICAgIHNjb3BlVG9rZW46IFtcIlBPU1QgL2FwcGxpY2F0aW9ucy97Y2xpZW50X2lkfS90b2tlbi9zY29wZWRcIl0sXG4gICAgc3VzcGVuZEluc3RhbGxhdGlvbjogW1wiUFVUIC9hcHAvaW5zdGFsbGF0aW9ucy97aW5zdGFsbGF0aW9uX2lkfS9zdXNwZW5kZWRcIl0sXG4gICAgdW5zdXNwZW5kSW5zdGFsbGF0aW9uOiBbXG4gICAgICBcIkRFTEVURSAvYXBwL2luc3RhbGxhdGlvbnMve2luc3RhbGxhdGlvbl9pZH0vc3VzcGVuZGVkXCJcbiAgICBdLFxuICAgIHVwZGF0ZVdlYmhvb2tDb25maWdGb3JBcHA6IFtcIlBBVENIIC9hcHAvaG9vay9jb25maWdcIl1cbiAgfSxcbiAgYmlsbGluZzoge1xuICAgIGdldEdpdGh1YkFjdGlvbnNCaWxsaW5nT3JnOiBbXCJHRVQgL29yZ3Mve29yZ30vc2V0dGluZ3MvYmlsbGluZy9hY3Rpb25zXCJdLFxuICAgIGdldEdpdGh1YkFjdGlvbnNCaWxsaW5nVXNlcjogW1xuICAgICAgXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vc2V0dGluZ3MvYmlsbGluZy9hY3Rpb25zXCJcbiAgICBdLFxuICAgIGdldEdpdGh1YlBhY2thZ2VzQmlsbGluZ09yZzogW1wiR0VUIC9vcmdzL3tvcmd9L3NldHRpbmdzL2JpbGxpbmcvcGFja2FnZXNcIl0sXG4gICAgZ2V0R2l0aHViUGFja2FnZXNCaWxsaW5nVXNlcjogW1xuICAgICAgXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vc2V0dGluZ3MvYmlsbGluZy9wYWNrYWdlc1wiXG4gICAgXSxcbiAgICBnZXRTaGFyZWRTdG9yYWdlQmlsbGluZ09yZzogW1xuICAgICAgXCJHRVQgL29yZ3Mve29yZ30vc2V0dGluZ3MvYmlsbGluZy9zaGFyZWQtc3RvcmFnZVwiXG4gICAgXSxcbiAgICBnZXRTaGFyZWRTdG9yYWdlQmlsbGluZ1VzZXI6IFtcbiAgICAgIFwiR0VUIC91c2Vycy97dXNlcm5hbWV9L3NldHRpbmdzL2JpbGxpbmcvc2hhcmVkLXN0b3JhZ2VcIlxuICAgIF1cbiAgfSxcbiAgY2hlY2tzOiB7XG4gICAgY3JlYXRlOiBbXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jaGVjay1ydW5zXCJdLFxuICAgIGNyZWF0ZVN1aXRlOiBbXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jaGVjay1zdWl0ZXNcIl0sXG4gICAgZ2V0OiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NoZWNrLXJ1bnMve2NoZWNrX3J1bl9pZH1cIl0sXG4gICAgZ2V0U3VpdGU6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY2hlY2stc3VpdGVzL3tjaGVja19zdWl0ZV9pZH1cIl0sXG4gICAgbGlzdEFubm90YXRpb25zOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY2hlY2stcnVucy97Y2hlY2tfcnVuX2lkfS9hbm5vdGF0aW9uc1wiXG4gICAgXSxcbiAgICBsaXN0Rm9yUmVmOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvbW1pdHMve3JlZn0vY2hlY2stcnVuc1wiXSxcbiAgICBsaXN0Rm9yU3VpdGU6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jaGVjay1zdWl0ZXMve2NoZWNrX3N1aXRlX2lkfS9jaGVjay1ydW5zXCJcbiAgICBdLFxuICAgIGxpc3RTdWl0ZXNGb3JSZWY6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29tbWl0cy97cmVmfS9jaGVjay1zdWl0ZXNcIl0sXG4gICAgcmVyZXF1ZXN0UnVuOiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NoZWNrLXJ1bnMve2NoZWNrX3J1bl9pZH0vcmVyZXF1ZXN0XCJcbiAgICBdLFxuICAgIHJlcmVxdWVzdFN1aXRlOiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NoZWNrLXN1aXRlcy97Y2hlY2tfc3VpdGVfaWR9L3JlcmVxdWVzdFwiXG4gICAgXSxcbiAgICBzZXRTdWl0ZXNQcmVmZXJlbmNlczogW1xuICAgICAgXCJQQVRDSCAvcmVwb3Mve293bmVyfS97cmVwb30vY2hlY2stc3VpdGVzL3ByZWZlcmVuY2VzXCJcbiAgICBdLFxuICAgIHVwZGF0ZTogW1wiUEFUQ0ggL3JlcG9zL3tvd25lcn0ve3JlcG99L2NoZWNrLXJ1bnMve2NoZWNrX3J1bl9pZH1cIl1cbiAgfSxcbiAgY29kZVNjYW5uaW5nOiB7XG4gICAgZGVsZXRlQW5hbHlzaXM6IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb2RlLXNjYW5uaW5nL2FuYWx5c2VzL3thbmFseXNpc19pZH17P2NvbmZpcm1fZGVsZXRlfVwiXG4gICAgXSxcbiAgICBnZXRBbGVydDogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvZGUtc2Nhbm5pbmcvYWxlcnRzL3thbGVydF9udW1iZXJ9XCIsXG4gICAgICB7fSxcbiAgICAgIHsgcmVuYW1lZFBhcmFtZXRlcnM6IHsgYWxlcnRfaWQ6IFwiYWxlcnRfbnVtYmVyXCIgfSB9XG4gICAgXSxcbiAgICBnZXRBbmFseXNpczogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvZGUtc2Nhbm5pbmcvYW5hbHlzZXMve2FuYWx5c2lzX2lkfVwiXG4gICAgXSxcbiAgICBnZXRDb2RlcWxEYXRhYmFzZTogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvZGUtc2Nhbm5pbmcvY29kZXFsL2RhdGFiYXNlcy97bGFuZ3VhZ2V9XCJcbiAgICBdLFxuICAgIGdldERlZmF1bHRTZXR1cDogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb2RlLXNjYW5uaW5nL2RlZmF1bHQtc2V0dXBcIl0sXG4gICAgZ2V0U2FyaWY6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29kZS1zY2FubmluZy9zYXJpZnMve3NhcmlmX2lkfVwiXSxcbiAgICBsaXN0QWxlcnRJbnN0YW5jZXM6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb2RlLXNjYW5uaW5nL2FsZXJ0cy97YWxlcnRfbnVtYmVyfS9pbnN0YW5jZXNcIlxuICAgIF0sXG4gICAgbGlzdEFsZXJ0c0Zvck9yZzogW1wiR0VUIC9vcmdzL3tvcmd9L2NvZGUtc2Nhbm5pbmcvYWxlcnRzXCJdLFxuICAgIGxpc3RBbGVydHNGb3JSZXBvOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvZGUtc2Nhbm5pbmcvYWxlcnRzXCJdLFxuICAgIGxpc3RBbGVydHNJbnN0YW5jZXM6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb2RlLXNjYW5uaW5nL2FsZXJ0cy97YWxlcnRfbnVtYmVyfS9pbnN0YW5jZXNcIixcbiAgICAgIHt9LFxuICAgICAgeyByZW5hbWVkOiBbXCJjb2RlU2Nhbm5pbmdcIiwgXCJsaXN0QWxlcnRJbnN0YW5jZXNcIl0gfVxuICAgIF0sXG4gICAgbGlzdENvZGVxbERhdGFiYXNlczogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvZGUtc2Nhbm5pbmcvY29kZXFsL2RhdGFiYXNlc1wiXG4gICAgXSxcbiAgICBsaXN0UmVjZW50QW5hbHlzZXM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29kZS1zY2FubmluZy9hbmFseXNlc1wiXSxcbiAgICB1cGRhdGVBbGVydDogW1xuICAgICAgXCJQQVRDSCAvcmVwb3Mve293bmVyfS97cmVwb30vY29kZS1zY2FubmluZy9hbGVydHMve2FsZXJ0X251bWJlcn1cIlxuICAgIF0sXG4gICAgdXBkYXRlRGVmYXVsdFNldHVwOiBbXG4gICAgICBcIlBBVENIIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb2RlLXNjYW5uaW5nL2RlZmF1bHQtc2V0dXBcIlxuICAgIF0sXG4gICAgdXBsb2FkU2FyaWY6IFtcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvZGUtc2Nhbm5pbmcvc2FyaWZzXCJdXG4gIH0sXG4gIGNvZGVzT2ZDb25kdWN0OiB7XG4gICAgZ2V0QWxsQ29kZXNPZkNvbmR1Y3Q6IFtcIkdFVCAvY29kZXNfb2ZfY29uZHVjdFwiXSxcbiAgICBnZXRDb25kdWN0Q29kZTogW1wiR0VUIC9jb2Rlc19vZl9jb25kdWN0L3trZXl9XCJdXG4gIH0sXG4gIGNvZGVzcGFjZXM6IHtcbiAgICBhZGRSZXBvc2l0b3J5Rm9yU2VjcmV0Rm9yQXV0aGVudGljYXRlZFVzZXI6IFtcbiAgICAgIFwiUFVUIC91c2VyL2NvZGVzcGFjZXMvc2VjcmV0cy97c2VjcmV0X25hbWV9L3JlcG9zaXRvcmllcy97cmVwb3NpdG9yeV9pZH1cIlxuICAgIF0sXG4gICAgYWRkU2VsZWN0ZWRSZXBvVG9PcmdTZWNyZXQ6IFtcbiAgICAgIFwiUFVUIC9vcmdzL3tvcmd9L2NvZGVzcGFjZXMvc2VjcmV0cy97c2VjcmV0X25hbWV9L3JlcG9zaXRvcmllcy97cmVwb3NpdG9yeV9pZH1cIlxuICAgIF0sXG4gICAgY2hlY2tQZXJtaXNzaW9uc0ZvckRldmNvbnRhaW5lcjogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvZGVzcGFjZXMvcGVybWlzc2lvbnNfY2hlY2tcIlxuICAgIF0sXG4gICAgY29kZXNwYWNlTWFjaGluZXNGb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJHRVQgL3VzZXIvY29kZXNwYWNlcy97Y29kZXNwYWNlX25hbWV9L21hY2hpbmVzXCJcbiAgICBdLFxuICAgIGNyZWF0ZUZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJQT1NUIC91c2VyL2NvZGVzcGFjZXNcIl0sXG4gICAgY3JlYXRlT3JVcGRhdGVPcmdTZWNyZXQ6IFtcbiAgICAgIFwiUFVUIC9vcmdzL3tvcmd9L2NvZGVzcGFjZXMvc2VjcmV0cy97c2VjcmV0X25hbWV9XCJcbiAgICBdLFxuICAgIGNyZWF0ZU9yVXBkYXRlUmVwb1NlY3JldDogW1xuICAgICAgXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvZGVzcGFjZXMvc2VjcmV0cy97c2VjcmV0X25hbWV9XCJcbiAgICBdLFxuICAgIGNyZWF0ZU9yVXBkYXRlU2VjcmV0Rm9yQXV0aGVudGljYXRlZFVzZXI6IFtcbiAgICAgIFwiUFVUIC91c2VyL2NvZGVzcGFjZXMvc2VjcmV0cy97c2VjcmV0X25hbWV9XCJcbiAgICBdLFxuICAgIGNyZWF0ZVdpdGhQckZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL3twdWxsX251bWJlcn0vY29kZXNwYWNlc1wiXG4gICAgXSxcbiAgICBjcmVhdGVXaXRoUmVwb0ZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvZGVzcGFjZXNcIlxuICAgIF0sXG4gICAgZGVsZXRlRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIkRFTEVURSAvdXNlci9jb2Rlc3BhY2VzL3tjb2Rlc3BhY2VfbmFtZX1cIl0sXG4gICAgZGVsZXRlRnJvbU9yZ2FuaXphdGlvbjogW1xuICAgICAgXCJERUxFVEUgL29yZ3Mve29yZ30vbWVtYmVycy97dXNlcm5hbWV9L2NvZGVzcGFjZXMve2NvZGVzcGFjZV9uYW1lfVwiXG4gICAgXSxcbiAgICBkZWxldGVPcmdTZWNyZXQ6IFtcIkRFTEVURSAvb3Jncy97b3JnfS9jb2Rlc3BhY2VzL3NlY3JldHMve3NlY3JldF9uYW1lfVwiXSxcbiAgICBkZWxldGVSZXBvU2VjcmV0OiBbXG4gICAgICBcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vY29kZXNwYWNlcy9zZWNyZXRzL3tzZWNyZXRfbmFtZX1cIlxuICAgIF0sXG4gICAgZGVsZXRlU2VjcmV0Rm9yQXV0aGVudGljYXRlZFVzZXI6IFtcbiAgICAgIFwiREVMRVRFIC91c2VyL2NvZGVzcGFjZXMvc2VjcmV0cy97c2VjcmV0X25hbWV9XCJcbiAgICBdLFxuICAgIGV4cG9ydEZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXG4gICAgICBcIlBPU1QgL3VzZXIvY29kZXNwYWNlcy97Y29kZXNwYWNlX25hbWV9L2V4cG9ydHNcIlxuICAgIF0sXG4gICAgZ2V0Q29kZXNwYWNlc0ZvclVzZXJJbk9yZzogW1xuICAgICAgXCJHRVQgL29yZ3Mve29yZ30vbWVtYmVycy97dXNlcm5hbWV9L2NvZGVzcGFjZXNcIlxuICAgIF0sXG4gICAgZ2V0RXhwb3J0RGV0YWlsc0ZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXG4gICAgICBcIkdFVCAvdXNlci9jb2Rlc3BhY2VzL3tjb2Rlc3BhY2VfbmFtZX0vZXhwb3J0cy97ZXhwb3J0X2lkfVwiXG4gICAgXSxcbiAgICBnZXRGb3JBdXRoZW50aWNhdGVkVXNlcjogW1wiR0VUIC91c2VyL2NvZGVzcGFjZXMve2NvZGVzcGFjZV9uYW1lfVwiXSxcbiAgICBnZXRPcmdQdWJsaWNLZXk6IFtcIkdFVCAvb3Jncy97b3JnfS9jb2Rlc3BhY2VzL3NlY3JldHMvcHVibGljLWtleVwiXSxcbiAgICBnZXRPcmdTZWNyZXQ6IFtcIkdFVCAvb3Jncy97b3JnfS9jb2Rlc3BhY2VzL3NlY3JldHMve3NlY3JldF9uYW1lfVwiXSxcbiAgICBnZXRQdWJsaWNLZXlGb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJHRVQgL3VzZXIvY29kZXNwYWNlcy9zZWNyZXRzL3B1YmxpYy1rZXlcIlxuICAgIF0sXG4gICAgZ2V0UmVwb1B1YmxpY0tleTogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvZGVzcGFjZXMvc2VjcmV0cy9wdWJsaWMta2V5XCJcbiAgICBdLFxuICAgIGdldFJlcG9TZWNyZXQ6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb2Rlc3BhY2VzL3NlY3JldHMve3NlY3JldF9uYW1lfVwiXG4gICAgXSxcbiAgICBnZXRTZWNyZXRGb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJHRVQgL3VzZXIvY29kZXNwYWNlcy9zZWNyZXRzL3tzZWNyZXRfbmFtZX1cIlxuICAgIF0sXG4gICAgbGlzdERldmNvbnRhaW5lcnNJblJlcG9zaXRvcnlGb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvZGVzcGFjZXMvZGV2Y29udGFpbmVyc1wiXG4gICAgXSxcbiAgICBsaXN0Rm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIkdFVCAvdXNlci9jb2Rlc3BhY2VzXCJdLFxuICAgIGxpc3RJbk9yZ2FuaXphdGlvbjogW1xuICAgICAgXCJHRVQgL29yZ3Mve29yZ30vY29kZXNwYWNlc1wiLFxuICAgICAge30sXG4gICAgICB7IHJlbmFtZWRQYXJhbWV0ZXJzOiB7IG9yZ19pZDogXCJvcmdcIiB9IH1cbiAgICBdLFxuICAgIGxpc3RJblJlcG9zaXRvcnlGb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvZGVzcGFjZXNcIlxuICAgIF0sXG4gICAgbGlzdE9yZ1NlY3JldHM6IFtcIkdFVCAvb3Jncy97b3JnfS9jb2Rlc3BhY2VzL3NlY3JldHNcIl0sXG4gICAgbGlzdFJlcG9TZWNyZXRzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvZGVzcGFjZXMvc2VjcmV0c1wiXSxcbiAgICBsaXN0UmVwb3NpdG9yaWVzRm9yU2VjcmV0Rm9yQXV0aGVudGljYXRlZFVzZXI6IFtcbiAgICAgIFwiR0VUIC91c2VyL2NvZGVzcGFjZXMvc2VjcmV0cy97c2VjcmV0X25hbWV9L3JlcG9zaXRvcmllc1wiXG4gICAgXSxcbiAgICBsaXN0U2VjcmV0c0ZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJHRVQgL3VzZXIvY29kZXNwYWNlcy9zZWNyZXRzXCJdLFxuICAgIGxpc3RTZWxlY3RlZFJlcG9zRm9yT3JnU2VjcmV0OiBbXG4gICAgICBcIkdFVCAvb3Jncy97b3JnfS9jb2Rlc3BhY2VzL3NlY3JldHMve3NlY3JldF9uYW1lfS9yZXBvc2l0b3JpZXNcIlxuICAgIF0sXG4gICAgcHJlRmxpZ2h0V2l0aFJlcG9Gb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvZGVzcGFjZXMvbmV3XCJcbiAgICBdLFxuICAgIHB1Ymxpc2hGb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJQT1NUIC91c2VyL2NvZGVzcGFjZXMve2NvZGVzcGFjZV9uYW1lfS9wdWJsaXNoXCJcbiAgICBdLFxuICAgIHJlbW92ZVJlcG9zaXRvcnlGb3JTZWNyZXRGb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJERUxFVEUgL3VzZXIvY29kZXNwYWNlcy9zZWNyZXRzL3tzZWNyZXRfbmFtZX0vcmVwb3NpdG9yaWVzL3tyZXBvc2l0b3J5X2lkfVwiXG4gICAgXSxcbiAgICByZW1vdmVTZWxlY3RlZFJlcG9Gcm9tT3JnU2VjcmV0OiBbXG4gICAgICBcIkRFTEVURSAvb3Jncy97b3JnfS9jb2Rlc3BhY2VzL3NlY3JldHMve3NlY3JldF9uYW1lfS9yZXBvc2l0b3JpZXMve3JlcG9zaXRvcnlfaWR9XCJcbiAgICBdLFxuICAgIHJlcG9NYWNoaW5lc0ZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29kZXNwYWNlcy9tYWNoaW5lc1wiXG4gICAgXSxcbiAgICBzZXRSZXBvc2l0b3JpZXNGb3JTZWNyZXRGb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJQVVQgL3VzZXIvY29kZXNwYWNlcy9zZWNyZXRzL3tzZWNyZXRfbmFtZX0vcmVwb3NpdG9yaWVzXCJcbiAgICBdLFxuICAgIHNldFNlbGVjdGVkUmVwb3NGb3JPcmdTZWNyZXQ6IFtcbiAgICAgIFwiUFVUIC9vcmdzL3tvcmd9L2NvZGVzcGFjZXMvc2VjcmV0cy97c2VjcmV0X25hbWV9L3JlcG9zaXRvcmllc1wiXG4gICAgXSxcbiAgICBzdGFydEZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJQT1NUIC91c2VyL2NvZGVzcGFjZXMve2NvZGVzcGFjZV9uYW1lfS9zdGFydFwiXSxcbiAgICBzdG9wRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIlBPU1QgL3VzZXIvY29kZXNwYWNlcy97Y29kZXNwYWNlX25hbWV9L3N0b3BcIl0sXG4gICAgc3RvcEluT3JnYW5pemF0aW9uOiBbXG4gICAgICBcIlBPU1QgL29yZ3Mve29yZ30vbWVtYmVycy97dXNlcm5hbWV9L2NvZGVzcGFjZXMve2NvZGVzcGFjZV9uYW1lfS9zdG9wXCJcbiAgICBdLFxuICAgIHVwZGF0ZUZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJQQVRDSCAvdXNlci9jb2Rlc3BhY2VzL3tjb2Rlc3BhY2VfbmFtZX1cIl1cbiAgfSxcbiAgY29waWxvdDoge1xuICAgIGFkZENvcGlsb3RTZWF0c0ZvclRlYW1zOiBbXG4gICAgICBcIlBPU1QgL29yZ3Mve29yZ30vY29waWxvdC9iaWxsaW5nL3NlbGVjdGVkX3RlYW1zXCJcbiAgICBdLFxuICAgIGFkZENvcGlsb3RTZWF0c0ZvclVzZXJzOiBbXG4gICAgICBcIlBPU1QgL29yZ3Mve29yZ30vY29waWxvdC9iaWxsaW5nL3NlbGVjdGVkX3VzZXJzXCJcbiAgICBdLFxuICAgIGNhbmNlbENvcGlsb3RTZWF0QXNzaWdubWVudEZvclRlYW1zOiBbXG4gICAgICBcIkRFTEVURSAvb3Jncy97b3JnfS9jb3BpbG90L2JpbGxpbmcvc2VsZWN0ZWRfdGVhbXNcIlxuICAgIF0sXG4gICAgY2FuY2VsQ29waWxvdFNlYXRBc3NpZ25tZW50Rm9yVXNlcnM6IFtcbiAgICAgIFwiREVMRVRFIC9vcmdzL3tvcmd9L2NvcGlsb3QvYmlsbGluZy9zZWxlY3RlZF91c2Vyc1wiXG4gICAgXSxcbiAgICBnZXRDb3BpbG90T3JnYW5pemF0aW9uRGV0YWlsczogW1wiR0VUIC9vcmdzL3tvcmd9L2NvcGlsb3QvYmlsbGluZ1wiXSxcbiAgICBnZXRDb3BpbG90U2VhdERldGFpbHNGb3JVc2VyOiBbXG4gICAgICBcIkdFVCAvb3Jncy97b3JnfS9tZW1iZXJzL3t1c2VybmFtZX0vY29waWxvdFwiXG4gICAgXSxcbiAgICBsaXN0Q29waWxvdFNlYXRzOiBbXCJHRVQgL29yZ3Mve29yZ30vY29waWxvdC9iaWxsaW5nL3NlYXRzXCJdLFxuICAgIHVzYWdlTWV0cmljc0ZvckVudGVycHJpc2U6IFtcIkdFVCAvZW50ZXJwcmlzZXMve2VudGVycHJpc2V9L2NvcGlsb3QvdXNhZ2VcIl0sXG4gICAgdXNhZ2VNZXRyaWNzRm9yT3JnOiBbXCJHRVQgL29yZ3Mve29yZ30vY29waWxvdC91c2FnZVwiXSxcbiAgICB1c2FnZU1ldHJpY3NGb3JUZWFtOiBbXCJHRVQgL29yZ3Mve29yZ30vdGVhbS97dGVhbV9zbHVnfS9jb3BpbG90L3VzYWdlXCJdXG4gIH0sXG4gIGRlcGVuZGFib3Q6IHtcbiAgICBhZGRTZWxlY3RlZFJlcG9Ub09yZ1NlY3JldDogW1xuICAgICAgXCJQVVQgL29yZ3Mve29yZ30vZGVwZW5kYWJvdC9zZWNyZXRzL3tzZWNyZXRfbmFtZX0vcmVwb3NpdG9yaWVzL3tyZXBvc2l0b3J5X2lkfVwiXG4gICAgXSxcbiAgICBjcmVhdGVPclVwZGF0ZU9yZ1NlY3JldDogW1xuICAgICAgXCJQVVQgL29yZ3Mve29yZ30vZGVwZW5kYWJvdC9zZWNyZXRzL3tzZWNyZXRfbmFtZX1cIlxuICAgIF0sXG4gICAgY3JlYXRlT3JVcGRhdGVSZXBvU2VjcmV0OiBbXG4gICAgICBcIlBVVCAvcmVwb3Mve293bmVyfS97cmVwb30vZGVwZW5kYWJvdC9zZWNyZXRzL3tzZWNyZXRfbmFtZX1cIlxuICAgIF0sXG4gICAgZGVsZXRlT3JnU2VjcmV0OiBbXCJERUxFVEUgL29yZ3Mve29yZ30vZGVwZW5kYWJvdC9zZWNyZXRzL3tzZWNyZXRfbmFtZX1cIl0sXG4gICAgZGVsZXRlUmVwb1NlY3JldDogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2RlcGVuZGFib3Qvc2VjcmV0cy97c2VjcmV0X25hbWV9XCJcbiAgICBdLFxuICAgIGdldEFsZXJ0OiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2RlcGVuZGFib3QvYWxlcnRzL3thbGVydF9udW1iZXJ9XCJdLFxuICAgIGdldE9yZ1B1YmxpY0tleTogW1wiR0VUIC9vcmdzL3tvcmd9L2RlcGVuZGFib3Qvc2VjcmV0cy9wdWJsaWMta2V5XCJdLFxuICAgIGdldE9yZ1NlY3JldDogW1wiR0VUIC9vcmdzL3tvcmd9L2RlcGVuZGFib3Qvc2VjcmV0cy97c2VjcmV0X25hbWV9XCJdLFxuICAgIGdldFJlcG9QdWJsaWNLZXk6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9kZXBlbmRhYm90L3NlY3JldHMvcHVibGljLWtleVwiXG4gICAgXSxcbiAgICBnZXRSZXBvU2VjcmV0OiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZGVwZW5kYWJvdC9zZWNyZXRzL3tzZWNyZXRfbmFtZX1cIlxuICAgIF0sXG4gICAgbGlzdEFsZXJ0c0ZvckVudGVycHJpc2U6IFtcbiAgICAgIFwiR0VUIC9lbnRlcnByaXNlcy97ZW50ZXJwcmlzZX0vZGVwZW5kYWJvdC9hbGVydHNcIlxuICAgIF0sXG4gICAgbGlzdEFsZXJ0c0Zvck9yZzogW1wiR0VUIC9vcmdzL3tvcmd9L2RlcGVuZGFib3QvYWxlcnRzXCJdLFxuICAgIGxpc3RBbGVydHNGb3JSZXBvOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2RlcGVuZGFib3QvYWxlcnRzXCJdLFxuICAgIGxpc3RPcmdTZWNyZXRzOiBbXCJHRVQgL29yZ3Mve29yZ30vZGVwZW5kYWJvdC9zZWNyZXRzXCJdLFxuICAgIGxpc3RSZXBvU2VjcmV0czogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9kZXBlbmRhYm90L3NlY3JldHNcIl0sXG4gICAgbGlzdFNlbGVjdGVkUmVwb3NGb3JPcmdTZWNyZXQ6IFtcbiAgICAgIFwiR0VUIC9vcmdzL3tvcmd9L2RlcGVuZGFib3Qvc2VjcmV0cy97c2VjcmV0X25hbWV9L3JlcG9zaXRvcmllc1wiXG4gICAgXSxcbiAgICByZW1vdmVTZWxlY3RlZFJlcG9Gcm9tT3JnU2VjcmV0OiBbXG4gICAgICBcIkRFTEVURSAvb3Jncy97b3JnfS9kZXBlbmRhYm90L3NlY3JldHMve3NlY3JldF9uYW1lfS9yZXBvc2l0b3JpZXMve3JlcG9zaXRvcnlfaWR9XCJcbiAgICBdLFxuICAgIHNldFNlbGVjdGVkUmVwb3NGb3JPcmdTZWNyZXQ6IFtcbiAgICAgIFwiUFVUIC9vcmdzL3tvcmd9L2RlcGVuZGFib3Qvc2VjcmV0cy97c2VjcmV0X25hbWV9L3JlcG9zaXRvcmllc1wiXG4gICAgXSxcbiAgICB1cGRhdGVBbGVydDogW1xuICAgICAgXCJQQVRDSCAvcmVwb3Mve293bmVyfS97cmVwb30vZGVwZW5kYWJvdC9hbGVydHMve2FsZXJ0X251bWJlcn1cIlxuICAgIF1cbiAgfSxcbiAgZGVwZW5kZW5jeUdyYXBoOiB7XG4gICAgY3JlYXRlUmVwb3NpdG9yeVNuYXBzaG90OiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2RlcGVuZGVuY3ktZ3JhcGgvc25hcHNob3RzXCJcbiAgICBdLFxuICAgIGRpZmZSYW5nZTogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2RlcGVuZGVuY3ktZ3JhcGgvY29tcGFyZS97YmFzZWhlYWR9XCJcbiAgICBdLFxuICAgIGV4cG9ydFNib206IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZGVwZW5kZW5jeS1ncmFwaC9zYm9tXCJdXG4gIH0sXG4gIGVtb2ppczogeyBnZXQ6IFtcIkdFVCAvZW1vamlzXCJdIH0sXG4gIGdpc3RzOiB7XG4gICAgY2hlY2tJc1N0YXJyZWQ6IFtcIkdFVCAvZ2lzdHMve2dpc3RfaWR9L3N0YXJcIl0sXG4gICAgY3JlYXRlOiBbXCJQT1NUIC9naXN0c1wiXSxcbiAgICBjcmVhdGVDb21tZW50OiBbXCJQT1NUIC9naXN0cy97Z2lzdF9pZH0vY29tbWVudHNcIl0sXG4gICAgZGVsZXRlOiBbXCJERUxFVEUgL2dpc3RzL3tnaXN0X2lkfVwiXSxcbiAgICBkZWxldGVDb21tZW50OiBbXCJERUxFVEUgL2dpc3RzL3tnaXN0X2lkfS9jb21tZW50cy97Y29tbWVudF9pZH1cIl0sXG4gICAgZm9yazogW1wiUE9TVCAvZ2lzdHMve2dpc3RfaWR9L2ZvcmtzXCJdLFxuICAgIGdldDogW1wiR0VUIC9naXN0cy97Z2lzdF9pZH1cIl0sXG4gICAgZ2V0Q29tbWVudDogW1wiR0VUIC9naXN0cy97Z2lzdF9pZH0vY29tbWVudHMve2NvbW1lbnRfaWR9XCJdLFxuICAgIGdldFJldmlzaW9uOiBbXCJHRVQgL2dpc3RzL3tnaXN0X2lkfS97c2hhfVwiXSxcbiAgICBsaXN0OiBbXCJHRVQgL2dpc3RzXCJdLFxuICAgIGxpc3RDb21tZW50czogW1wiR0VUIC9naXN0cy97Z2lzdF9pZH0vY29tbWVudHNcIl0sXG4gICAgbGlzdENvbW1pdHM6IFtcIkdFVCAvZ2lzdHMve2dpc3RfaWR9L2NvbW1pdHNcIl0sXG4gICAgbGlzdEZvclVzZXI6IFtcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9naXN0c1wiXSxcbiAgICBsaXN0Rm9ya3M6IFtcIkdFVCAvZ2lzdHMve2dpc3RfaWR9L2ZvcmtzXCJdLFxuICAgIGxpc3RQdWJsaWM6IFtcIkdFVCAvZ2lzdHMvcHVibGljXCJdLFxuICAgIGxpc3RTdGFycmVkOiBbXCJHRVQgL2dpc3RzL3N0YXJyZWRcIl0sXG4gICAgc3RhcjogW1wiUFVUIC9naXN0cy97Z2lzdF9pZH0vc3RhclwiXSxcbiAgICB1bnN0YXI6IFtcIkRFTEVURSAvZ2lzdHMve2dpc3RfaWR9L3N0YXJcIl0sXG4gICAgdXBkYXRlOiBbXCJQQVRDSCAvZ2lzdHMve2dpc3RfaWR9XCJdLFxuICAgIHVwZGF0ZUNvbW1lbnQ6IFtcIlBBVENIIC9naXN0cy97Z2lzdF9pZH0vY29tbWVudHMve2NvbW1lbnRfaWR9XCJdXG4gIH0sXG4gIGdpdDoge1xuICAgIGNyZWF0ZUJsb2I6IFtcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2dpdC9ibG9ic1wiXSxcbiAgICBjcmVhdGVDb21taXQ6IFtcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2dpdC9jb21taXRzXCJdLFxuICAgIGNyZWF0ZVJlZjogW1wiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vZ2l0L3JlZnNcIl0sXG4gICAgY3JlYXRlVGFnOiBbXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9naXQvdGFnc1wiXSxcbiAgICBjcmVhdGVUcmVlOiBbXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9naXQvdHJlZXNcIl0sXG4gICAgZGVsZXRlUmVmOiBbXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2dpdC9yZWZzL3tyZWZ9XCJdLFxuICAgIGdldEJsb2I6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZ2l0L2Jsb2JzL3tmaWxlX3NoYX1cIl0sXG4gICAgZ2V0Q29tbWl0OiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2dpdC9jb21taXRzL3tjb21taXRfc2hhfVwiXSxcbiAgICBnZXRSZWY6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZ2l0L3JlZi97cmVmfVwiXSxcbiAgICBnZXRUYWc6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZ2l0L3RhZ3Mve3RhZ19zaGF9XCJdLFxuICAgIGdldFRyZWU6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZ2l0L3RyZWVzL3t0cmVlX3NoYX1cIl0sXG4gICAgbGlzdE1hdGNoaW5nUmVmczogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9naXQvbWF0Y2hpbmctcmVmcy97cmVmfVwiXSxcbiAgICB1cGRhdGVSZWY6IFtcIlBBVENIIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9naXQvcmVmcy97cmVmfVwiXVxuICB9LFxuICBnaXRpZ25vcmU6IHtcbiAgICBnZXRBbGxUZW1wbGF0ZXM6IFtcIkdFVCAvZ2l0aWdub3JlL3RlbXBsYXRlc1wiXSxcbiAgICBnZXRUZW1wbGF0ZTogW1wiR0VUIC9naXRpZ25vcmUvdGVtcGxhdGVzL3tuYW1lfVwiXVxuICB9LFxuICBpbnRlcmFjdGlvbnM6IHtcbiAgICBnZXRSZXN0cmljdGlvbnNGb3JBdXRoZW50aWNhdGVkVXNlcjogW1wiR0VUIC91c2VyL2ludGVyYWN0aW9uLWxpbWl0c1wiXSxcbiAgICBnZXRSZXN0cmljdGlvbnNGb3JPcmc6IFtcIkdFVCAvb3Jncy97b3JnfS9pbnRlcmFjdGlvbi1saW1pdHNcIl0sXG4gICAgZ2V0UmVzdHJpY3Rpb25zRm9yUmVwbzogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9pbnRlcmFjdGlvbi1saW1pdHNcIl0sXG4gICAgZ2V0UmVzdHJpY3Rpb25zRm9yWW91clB1YmxpY1JlcG9zOiBbXG4gICAgICBcIkdFVCAvdXNlci9pbnRlcmFjdGlvbi1saW1pdHNcIixcbiAgICAgIHt9LFxuICAgICAgeyByZW5hbWVkOiBbXCJpbnRlcmFjdGlvbnNcIiwgXCJnZXRSZXN0cmljdGlvbnNGb3JBdXRoZW50aWNhdGVkVXNlclwiXSB9XG4gICAgXSxcbiAgICByZW1vdmVSZXN0cmljdGlvbnNGb3JBdXRoZW50aWNhdGVkVXNlcjogW1wiREVMRVRFIC91c2VyL2ludGVyYWN0aW9uLWxpbWl0c1wiXSxcbiAgICByZW1vdmVSZXN0cmljdGlvbnNGb3JPcmc6IFtcIkRFTEVURSAvb3Jncy97b3JnfS9pbnRlcmFjdGlvbi1saW1pdHNcIl0sXG4gICAgcmVtb3ZlUmVzdHJpY3Rpb25zRm9yUmVwbzogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2ludGVyYWN0aW9uLWxpbWl0c1wiXG4gICAgXSxcbiAgICByZW1vdmVSZXN0cmljdGlvbnNGb3JZb3VyUHVibGljUmVwb3M6IFtcbiAgICAgIFwiREVMRVRFIC91c2VyL2ludGVyYWN0aW9uLWxpbWl0c1wiLFxuICAgICAge30sXG4gICAgICB7IHJlbmFtZWQ6IFtcImludGVyYWN0aW9uc1wiLCBcInJlbW92ZVJlc3RyaWN0aW9uc0ZvckF1dGhlbnRpY2F0ZWRVc2VyXCJdIH1cbiAgICBdLFxuICAgIHNldFJlc3RyaWN0aW9uc0ZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJQVVQgL3VzZXIvaW50ZXJhY3Rpb24tbGltaXRzXCJdLFxuICAgIHNldFJlc3RyaWN0aW9uc0Zvck9yZzogW1wiUFVUIC9vcmdzL3tvcmd9L2ludGVyYWN0aW9uLWxpbWl0c1wiXSxcbiAgICBzZXRSZXN0cmljdGlvbnNGb3JSZXBvOiBbXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2ludGVyYWN0aW9uLWxpbWl0c1wiXSxcbiAgICBzZXRSZXN0cmljdGlvbnNGb3JZb3VyUHVibGljUmVwb3M6IFtcbiAgICAgIFwiUFVUIC91c2VyL2ludGVyYWN0aW9uLWxpbWl0c1wiLFxuICAgICAge30sXG4gICAgICB7IHJlbmFtZWQ6IFtcImludGVyYWN0aW9uc1wiLCBcInNldFJlc3RyaWN0aW9uc0ZvckF1dGhlbnRpY2F0ZWRVc2VyXCJdIH1cbiAgICBdXG4gIH0sXG4gIGlzc3Vlczoge1xuICAgIGFkZEFzc2lnbmVlczogW1xuICAgICAgXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9pc3N1ZXMve2lzc3VlX251bWJlcn0vYXNzaWduZWVzXCJcbiAgICBdLFxuICAgIGFkZExhYmVsczogW1wiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL3tpc3N1ZV9udW1iZXJ9L2xhYmVsc1wiXSxcbiAgICBjaGVja1VzZXJDYW5CZUFzc2lnbmVkOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2Fzc2lnbmVlcy97YXNzaWduZWV9XCJdLFxuICAgIGNoZWNrVXNlckNhbkJlQXNzaWduZWRUb0lzc3VlOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL3tpc3N1ZV9udW1iZXJ9L2Fzc2lnbmVlcy97YXNzaWduZWV9XCJcbiAgICBdLFxuICAgIGNyZWF0ZTogW1wiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzXCJdLFxuICAgIGNyZWF0ZUNvbW1lbnQ6IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL3tpc3N1ZV9udW1iZXJ9L2NvbW1lbnRzXCJcbiAgICBdLFxuICAgIGNyZWF0ZUxhYmVsOiBbXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9sYWJlbHNcIl0sXG4gICAgY3JlYXRlTWlsZXN0b25lOiBbXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9taWxlc3RvbmVzXCJdLFxuICAgIGRlbGV0ZUNvbW1lbnQ6IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9pc3N1ZXMvY29tbWVudHMve2NvbW1lbnRfaWR9XCJcbiAgICBdLFxuICAgIGRlbGV0ZUxhYmVsOiBbXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2xhYmVscy97bmFtZX1cIl0sXG4gICAgZGVsZXRlTWlsZXN0b25lOiBbXG4gICAgICBcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vbWlsZXN0b25lcy97bWlsZXN0b25lX251bWJlcn1cIlxuICAgIF0sXG4gICAgZ2V0OiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlcy97aXNzdWVfbnVtYmVyfVwiXSxcbiAgICBnZXRDb21tZW50OiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlcy9jb21tZW50cy97Y29tbWVudF9pZH1cIl0sXG4gICAgZ2V0RXZlbnQ6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL2V2ZW50cy97ZXZlbnRfaWR9XCJdLFxuICAgIGdldExhYmVsOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2xhYmVscy97bmFtZX1cIl0sXG4gICAgZ2V0TWlsZXN0b25lOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L21pbGVzdG9uZXMve21pbGVzdG9uZV9udW1iZXJ9XCJdLFxuICAgIGxpc3Q6IFtcIkdFVCAvaXNzdWVzXCJdLFxuICAgIGxpc3RBc3NpZ25lZXM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYXNzaWduZWVzXCJdLFxuICAgIGxpc3RDb21tZW50czogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9pc3N1ZXMve2lzc3VlX251bWJlcn0vY29tbWVudHNcIl0sXG4gICAgbGlzdENvbW1lbnRzRm9yUmVwbzogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9pc3N1ZXMvY29tbWVudHNcIl0sXG4gICAgbGlzdEV2ZW50czogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9pc3N1ZXMve2lzc3VlX251bWJlcn0vZXZlbnRzXCJdLFxuICAgIGxpc3RFdmVudHNGb3JSZXBvOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlcy9ldmVudHNcIl0sXG4gICAgbGlzdEV2ZW50c0ZvclRpbWVsaW5lOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL3tpc3N1ZV9udW1iZXJ9L3RpbWVsaW5lXCJcbiAgICBdLFxuICAgIGxpc3RGb3JBdXRoZW50aWNhdGVkVXNlcjogW1wiR0VUIC91c2VyL2lzc3Vlc1wiXSxcbiAgICBsaXN0Rm9yT3JnOiBbXCJHRVQgL29yZ3Mve29yZ30vaXNzdWVzXCJdLFxuICAgIGxpc3RGb3JSZXBvOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlc1wiXSxcbiAgICBsaXN0TGFiZWxzRm9yTWlsZXN0b25lOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vbWlsZXN0b25lcy97bWlsZXN0b25lX251bWJlcn0vbGFiZWxzXCJcbiAgICBdLFxuICAgIGxpc3RMYWJlbHNGb3JSZXBvOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2xhYmVsc1wiXSxcbiAgICBsaXN0TGFiZWxzT25Jc3N1ZTogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlcy97aXNzdWVfbnVtYmVyfS9sYWJlbHNcIlxuICAgIF0sXG4gICAgbGlzdE1pbGVzdG9uZXM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vbWlsZXN0b25lc1wiXSxcbiAgICBsb2NrOiBbXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlcy97aXNzdWVfbnVtYmVyfS9sb2NrXCJdLFxuICAgIHJlbW92ZUFsbExhYmVsczogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlcy97aXNzdWVfbnVtYmVyfS9sYWJlbHNcIlxuICAgIF0sXG4gICAgcmVtb3ZlQXNzaWduZWVzOiBbXG4gICAgICBcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL3tpc3N1ZV9udW1iZXJ9L2Fzc2lnbmVlc1wiXG4gICAgXSxcbiAgICByZW1vdmVMYWJlbDogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlcy97aXNzdWVfbnVtYmVyfS9sYWJlbHMve25hbWV9XCJcbiAgICBdLFxuICAgIHNldExhYmVsczogW1wiUFVUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9pc3N1ZXMve2lzc3VlX251bWJlcn0vbGFiZWxzXCJdLFxuICAgIHVubG9jazogW1wiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9pc3N1ZXMve2lzc3VlX251bWJlcn0vbG9ja1wiXSxcbiAgICB1cGRhdGU6IFtcIlBBVENIIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9pc3N1ZXMve2lzc3VlX251bWJlcn1cIl0sXG4gICAgdXBkYXRlQ29tbWVudDogW1wiUEFUQ0ggL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlcy9jb21tZW50cy97Y29tbWVudF9pZH1cIl0sXG4gICAgdXBkYXRlTGFiZWw6IFtcIlBBVENIIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9sYWJlbHMve25hbWV9XCJdLFxuICAgIHVwZGF0ZU1pbGVzdG9uZTogW1xuICAgICAgXCJQQVRDSCAvcmVwb3Mve293bmVyfS97cmVwb30vbWlsZXN0b25lcy97bWlsZXN0b25lX251bWJlcn1cIlxuICAgIF1cbiAgfSxcbiAgbGljZW5zZXM6IHtcbiAgICBnZXQ6IFtcIkdFVCAvbGljZW5zZXMve2xpY2Vuc2V9XCJdLFxuICAgIGdldEFsbENvbW1vbmx5VXNlZDogW1wiR0VUIC9saWNlbnNlc1wiXSxcbiAgICBnZXRGb3JSZXBvOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2xpY2Vuc2VcIl1cbiAgfSxcbiAgbWFya2Rvd246IHtcbiAgICByZW5kZXI6IFtcIlBPU1QgL21hcmtkb3duXCJdLFxuICAgIHJlbmRlclJhdzogW1xuICAgICAgXCJQT1NUIC9tYXJrZG93bi9yYXdcIixcbiAgICAgIHsgaGVhZGVyczogeyBcImNvbnRlbnQtdHlwZVwiOiBcInRleHQvcGxhaW47IGNoYXJzZXQ9dXRmLThcIiB9IH1cbiAgICBdXG4gIH0sXG4gIG1ldGE6IHtcbiAgICBnZXQ6IFtcIkdFVCAvbWV0YVwiXSxcbiAgICBnZXRBbGxWZXJzaW9uczogW1wiR0VUIC92ZXJzaW9uc1wiXSxcbiAgICBnZXRPY3RvY2F0OiBbXCJHRVQgL29jdG9jYXRcIl0sXG4gICAgZ2V0WmVuOiBbXCJHRVQgL3plblwiXSxcbiAgICByb290OiBbXCJHRVQgL1wiXVxuICB9LFxuICBtaWdyYXRpb25zOiB7XG4gICAgZGVsZXRlQXJjaGl2ZUZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXG4gICAgICBcIkRFTEVURSAvdXNlci9taWdyYXRpb25zL3ttaWdyYXRpb25faWR9L2FyY2hpdmVcIlxuICAgIF0sXG4gICAgZGVsZXRlQXJjaGl2ZUZvck9yZzogW1xuICAgICAgXCJERUxFVEUgL29yZ3Mve29yZ30vbWlncmF0aW9ucy97bWlncmF0aW9uX2lkfS9hcmNoaXZlXCJcbiAgICBdLFxuICAgIGRvd25sb2FkQXJjaGl2ZUZvck9yZzogW1xuICAgICAgXCJHRVQgL29yZ3Mve29yZ30vbWlncmF0aW9ucy97bWlncmF0aW9uX2lkfS9hcmNoaXZlXCJcbiAgICBdLFxuICAgIGdldEFyY2hpdmVGb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJHRVQgL3VzZXIvbWlncmF0aW9ucy97bWlncmF0aW9uX2lkfS9hcmNoaXZlXCJcbiAgICBdLFxuICAgIGdldFN0YXR1c0ZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJHRVQgL3VzZXIvbWlncmF0aW9ucy97bWlncmF0aW9uX2lkfVwiXSxcbiAgICBnZXRTdGF0dXNGb3JPcmc6IFtcIkdFVCAvb3Jncy97b3JnfS9taWdyYXRpb25zL3ttaWdyYXRpb25faWR9XCJdLFxuICAgIGxpc3RGb3JBdXRoZW50aWNhdGVkVXNlcjogW1wiR0VUIC91c2VyL21pZ3JhdGlvbnNcIl0sXG4gICAgbGlzdEZvck9yZzogW1wiR0VUIC9vcmdzL3tvcmd9L21pZ3JhdGlvbnNcIl0sXG4gICAgbGlzdFJlcG9zRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcbiAgICAgIFwiR0VUIC91c2VyL21pZ3JhdGlvbnMve21pZ3JhdGlvbl9pZH0vcmVwb3NpdG9yaWVzXCJcbiAgICBdLFxuICAgIGxpc3RSZXBvc0Zvck9yZzogW1wiR0VUIC9vcmdzL3tvcmd9L21pZ3JhdGlvbnMve21pZ3JhdGlvbl9pZH0vcmVwb3NpdG9yaWVzXCJdLFxuICAgIGxpc3RSZXBvc0ZvclVzZXI6IFtcbiAgICAgIFwiR0VUIC91c2VyL21pZ3JhdGlvbnMve21pZ3JhdGlvbl9pZH0vcmVwb3NpdG9yaWVzXCIsXG4gICAgICB7fSxcbiAgICAgIHsgcmVuYW1lZDogW1wibWlncmF0aW9uc1wiLCBcImxpc3RSZXBvc0ZvckF1dGhlbnRpY2F0ZWRVc2VyXCJdIH1cbiAgICBdLFxuICAgIHN0YXJ0Rm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIlBPU1QgL3VzZXIvbWlncmF0aW9uc1wiXSxcbiAgICBzdGFydEZvck9yZzogW1wiUE9TVCAvb3Jncy97b3JnfS9taWdyYXRpb25zXCJdLFxuICAgIHVubG9ja1JlcG9Gb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJERUxFVEUgL3VzZXIvbWlncmF0aW9ucy97bWlncmF0aW9uX2lkfS9yZXBvcy97cmVwb19uYW1lfS9sb2NrXCJcbiAgICBdLFxuICAgIHVubG9ja1JlcG9Gb3JPcmc6IFtcbiAgICAgIFwiREVMRVRFIC9vcmdzL3tvcmd9L21pZ3JhdGlvbnMve21pZ3JhdGlvbl9pZH0vcmVwb3Mve3JlcG9fbmFtZX0vbG9ja1wiXG4gICAgXVxuICB9LFxuICBvaWRjOiB7XG4gICAgZ2V0T2lkY0N1c3RvbVN1YlRlbXBsYXRlRm9yT3JnOiBbXG4gICAgICBcIkdFVCAvb3Jncy97b3JnfS9hY3Rpb25zL29pZGMvY3VzdG9taXphdGlvbi9zdWJcIlxuICAgIF0sXG4gICAgdXBkYXRlT2lkY0N1c3RvbVN1YlRlbXBsYXRlRm9yT3JnOiBbXG4gICAgICBcIlBVVCAvb3Jncy97b3JnfS9hY3Rpb25zL29pZGMvY3VzdG9taXphdGlvbi9zdWJcIlxuICAgIF1cbiAgfSxcbiAgb3Jnczoge1xuICAgIGFkZFNlY3VyaXR5TWFuYWdlclRlYW06IFtcbiAgICAgIFwiUFVUIC9vcmdzL3tvcmd9L3NlY3VyaXR5LW1hbmFnZXJzL3RlYW1zL3t0ZWFtX3NsdWd9XCJcbiAgICBdLFxuICAgIGFzc2lnblRlYW1Ub09yZ1JvbGU6IFtcbiAgICAgIFwiUFVUIC9vcmdzL3tvcmd9L29yZ2FuaXphdGlvbi1yb2xlcy90ZWFtcy97dGVhbV9zbHVnfS97cm9sZV9pZH1cIlxuICAgIF0sXG4gICAgYXNzaWduVXNlclRvT3JnUm9sZTogW1xuICAgICAgXCJQVVQgL29yZ3Mve29yZ30vb3JnYW5pemF0aW9uLXJvbGVzL3VzZXJzL3t1c2VybmFtZX0ve3JvbGVfaWR9XCJcbiAgICBdLFxuICAgIGJsb2NrVXNlcjogW1wiUFVUIC9vcmdzL3tvcmd9L2Jsb2Nrcy97dXNlcm5hbWV9XCJdLFxuICAgIGNhbmNlbEludml0YXRpb246IFtcIkRFTEVURSAvb3Jncy97b3JnfS9pbnZpdGF0aW9ucy97aW52aXRhdGlvbl9pZH1cIl0sXG4gICAgY2hlY2tCbG9ja2VkVXNlcjogW1wiR0VUIC9vcmdzL3tvcmd9L2Jsb2Nrcy97dXNlcm5hbWV9XCJdLFxuICAgIGNoZWNrTWVtYmVyc2hpcEZvclVzZXI6IFtcIkdFVCAvb3Jncy97b3JnfS9tZW1iZXJzL3t1c2VybmFtZX1cIl0sXG4gICAgY2hlY2tQdWJsaWNNZW1iZXJzaGlwRm9yVXNlcjogW1wiR0VUIC9vcmdzL3tvcmd9L3B1YmxpY19tZW1iZXJzL3t1c2VybmFtZX1cIl0sXG4gICAgY29udmVydE1lbWJlclRvT3V0c2lkZUNvbGxhYm9yYXRvcjogW1xuICAgICAgXCJQVVQgL29yZ3Mve29yZ30vb3V0c2lkZV9jb2xsYWJvcmF0b3JzL3t1c2VybmFtZX1cIlxuICAgIF0sXG4gICAgY3JlYXRlQ3VzdG9tT3JnYW5pemF0aW9uUm9sZTogW1wiUE9TVCAvb3Jncy97b3JnfS9vcmdhbml6YXRpb24tcm9sZXNcIl0sXG4gICAgY3JlYXRlSW52aXRhdGlvbjogW1wiUE9TVCAvb3Jncy97b3JnfS9pbnZpdGF0aW9uc1wiXSxcbiAgICBjcmVhdGVPclVwZGF0ZUN1c3RvbVByb3BlcnRpZXM6IFtcIlBBVENIIC9vcmdzL3tvcmd9L3Byb3BlcnRpZXMvc2NoZW1hXCJdLFxuICAgIGNyZWF0ZU9yVXBkYXRlQ3VzdG9tUHJvcGVydGllc1ZhbHVlc0ZvclJlcG9zOiBbXG4gICAgICBcIlBBVENIIC9vcmdzL3tvcmd9L3Byb3BlcnRpZXMvdmFsdWVzXCJcbiAgICBdLFxuICAgIGNyZWF0ZU9yVXBkYXRlQ3VzdG9tUHJvcGVydHk6IFtcbiAgICAgIFwiUFVUIC9vcmdzL3tvcmd9L3Byb3BlcnRpZXMvc2NoZW1hL3tjdXN0b21fcHJvcGVydHlfbmFtZX1cIlxuICAgIF0sXG4gICAgY3JlYXRlV2ViaG9vazogW1wiUE9TVCAvb3Jncy97b3JnfS9ob29rc1wiXSxcbiAgICBkZWxldGU6IFtcIkRFTEVURSAvb3Jncy97b3JnfVwiXSxcbiAgICBkZWxldGVDdXN0b21Pcmdhbml6YXRpb25Sb2xlOiBbXG4gICAgICBcIkRFTEVURSAvb3Jncy97b3JnfS9vcmdhbml6YXRpb24tcm9sZXMve3JvbGVfaWR9XCJcbiAgICBdLFxuICAgIGRlbGV0ZVdlYmhvb2s6IFtcIkRFTEVURSAvb3Jncy97b3JnfS9ob29rcy97aG9va19pZH1cIl0sXG4gICAgZW5hYmxlT3JEaXNhYmxlU2VjdXJpdHlQcm9kdWN0T25BbGxPcmdSZXBvczogW1xuICAgICAgXCJQT1NUIC9vcmdzL3tvcmd9L3tzZWN1cml0eV9wcm9kdWN0fS97ZW5hYmxlbWVudH1cIlxuICAgIF0sXG4gICAgZ2V0OiBbXCJHRVQgL29yZ3Mve29yZ31cIl0sXG4gICAgZ2V0QWxsQ3VzdG9tUHJvcGVydGllczogW1wiR0VUIC9vcmdzL3tvcmd9L3Byb3BlcnRpZXMvc2NoZW1hXCJdLFxuICAgIGdldEN1c3RvbVByb3BlcnR5OiBbXG4gICAgICBcIkdFVCAvb3Jncy97b3JnfS9wcm9wZXJ0aWVzL3NjaGVtYS97Y3VzdG9tX3Byb3BlcnR5X25hbWV9XCJcbiAgICBdLFxuICAgIGdldE1lbWJlcnNoaXBGb3JBdXRoZW50aWNhdGVkVXNlcjogW1wiR0VUIC91c2VyL21lbWJlcnNoaXBzL29yZ3Mve29yZ31cIl0sXG4gICAgZ2V0TWVtYmVyc2hpcEZvclVzZXI6IFtcIkdFVCAvb3Jncy97b3JnfS9tZW1iZXJzaGlwcy97dXNlcm5hbWV9XCJdLFxuICAgIGdldE9yZ1JvbGU6IFtcIkdFVCAvb3Jncy97b3JnfS9vcmdhbml6YXRpb24tcm9sZXMve3JvbGVfaWR9XCJdLFxuICAgIGdldFdlYmhvb2s6IFtcIkdFVCAvb3Jncy97b3JnfS9ob29rcy97aG9va19pZH1cIl0sXG4gICAgZ2V0V2ViaG9va0NvbmZpZ0Zvck9yZzogW1wiR0VUIC9vcmdzL3tvcmd9L2hvb2tzL3tob29rX2lkfS9jb25maWdcIl0sXG4gICAgZ2V0V2ViaG9va0RlbGl2ZXJ5OiBbXG4gICAgICBcIkdFVCAvb3Jncy97b3JnfS9ob29rcy97aG9va19pZH0vZGVsaXZlcmllcy97ZGVsaXZlcnlfaWR9XCJcbiAgICBdLFxuICAgIGxpc3Q6IFtcIkdFVCAvb3JnYW5pemF0aW9uc1wiXSxcbiAgICBsaXN0QXBwSW5zdGFsbGF0aW9uczogW1wiR0VUIC9vcmdzL3tvcmd9L2luc3RhbGxhdGlvbnNcIl0sXG4gICAgbGlzdEJsb2NrZWRVc2VyczogW1wiR0VUIC9vcmdzL3tvcmd9L2Jsb2Nrc1wiXSxcbiAgICBsaXN0Q3VzdG9tUHJvcGVydGllc1ZhbHVlc0ZvclJlcG9zOiBbXCJHRVQgL29yZ3Mve29yZ30vcHJvcGVydGllcy92YWx1ZXNcIl0sXG4gICAgbGlzdEZhaWxlZEludml0YXRpb25zOiBbXCJHRVQgL29yZ3Mve29yZ30vZmFpbGVkX2ludml0YXRpb25zXCJdLFxuICAgIGxpc3RGb3JBdXRoZW50aWNhdGVkVXNlcjogW1wiR0VUIC91c2VyL29yZ3NcIl0sXG4gICAgbGlzdEZvclVzZXI6IFtcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9vcmdzXCJdLFxuICAgIGxpc3RJbnZpdGF0aW9uVGVhbXM6IFtcIkdFVCAvb3Jncy97b3JnfS9pbnZpdGF0aW9ucy97aW52aXRhdGlvbl9pZH0vdGVhbXNcIl0sXG4gICAgbGlzdE1lbWJlcnM6IFtcIkdFVCAvb3Jncy97b3JnfS9tZW1iZXJzXCJdLFxuICAgIGxpc3RNZW1iZXJzaGlwc0ZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJHRVQgL3VzZXIvbWVtYmVyc2hpcHMvb3Jnc1wiXSxcbiAgICBsaXN0T3JnUm9sZVRlYW1zOiBbXCJHRVQgL29yZ3Mve29yZ30vb3JnYW5pemF0aW9uLXJvbGVzL3tyb2xlX2lkfS90ZWFtc1wiXSxcbiAgICBsaXN0T3JnUm9sZVVzZXJzOiBbXCJHRVQgL29yZ3Mve29yZ30vb3JnYW5pemF0aW9uLXJvbGVzL3tyb2xlX2lkfS91c2Vyc1wiXSxcbiAgICBsaXN0T3JnUm9sZXM6IFtcIkdFVCAvb3Jncy97b3JnfS9vcmdhbml6YXRpb24tcm9sZXNcIl0sXG4gICAgbGlzdE9yZ2FuaXphdGlvbkZpbmVHcmFpbmVkUGVybWlzc2lvbnM6IFtcbiAgICAgIFwiR0VUIC9vcmdzL3tvcmd9L29yZ2FuaXphdGlvbi1maW5lLWdyYWluZWQtcGVybWlzc2lvbnNcIlxuICAgIF0sXG4gICAgbGlzdE91dHNpZGVDb2xsYWJvcmF0b3JzOiBbXCJHRVQgL29yZ3Mve29yZ30vb3V0c2lkZV9jb2xsYWJvcmF0b3JzXCJdLFxuICAgIGxpc3RQYXRHcmFudFJlcG9zaXRvcmllczogW1xuICAgICAgXCJHRVQgL29yZ3Mve29yZ30vcGVyc29uYWwtYWNjZXNzLXRva2Vucy97cGF0X2lkfS9yZXBvc2l0b3JpZXNcIlxuICAgIF0sXG4gICAgbGlzdFBhdEdyYW50UmVxdWVzdFJlcG9zaXRvcmllczogW1xuICAgICAgXCJHRVQgL29yZ3Mve29yZ30vcGVyc29uYWwtYWNjZXNzLXRva2VuLXJlcXVlc3RzL3twYXRfcmVxdWVzdF9pZH0vcmVwb3NpdG9yaWVzXCJcbiAgICBdLFxuICAgIGxpc3RQYXRHcmFudFJlcXVlc3RzOiBbXCJHRVQgL29yZ3Mve29yZ30vcGVyc29uYWwtYWNjZXNzLXRva2VuLXJlcXVlc3RzXCJdLFxuICAgIGxpc3RQYXRHcmFudHM6IFtcIkdFVCAvb3Jncy97b3JnfS9wZXJzb25hbC1hY2Nlc3MtdG9rZW5zXCJdLFxuICAgIGxpc3RQZW5kaW5nSW52aXRhdGlvbnM6IFtcIkdFVCAvb3Jncy97b3JnfS9pbnZpdGF0aW9uc1wiXSxcbiAgICBsaXN0UHVibGljTWVtYmVyczogW1wiR0VUIC9vcmdzL3tvcmd9L3B1YmxpY19tZW1iZXJzXCJdLFxuICAgIGxpc3RTZWN1cml0eU1hbmFnZXJUZWFtczogW1wiR0VUIC9vcmdzL3tvcmd9L3NlY3VyaXR5LW1hbmFnZXJzXCJdLFxuICAgIGxpc3RXZWJob29rRGVsaXZlcmllczogW1wiR0VUIC9vcmdzL3tvcmd9L2hvb2tzL3tob29rX2lkfS9kZWxpdmVyaWVzXCJdLFxuICAgIGxpc3RXZWJob29rczogW1wiR0VUIC9vcmdzL3tvcmd9L2hvb2tzXCJdLFxuICAgIHBhdGNoQ3VzdG9tT3JnYW5pemF0aW9uUm9sZTogW1xuICAgICAgXCJQQVRDSCAvb3Jncy97b3JnfS9vcmdhbml6YXRpb24tcm9sZXMve3JvbGVfaWR9XCJcbiAgICBdLFxuICAgIHBpbmdXZWJob29rOiBbXCJQT1NUIC9vcmdzL3tvcmd9L2hvb2tzL3tob29rX2lkfS9waW5nc1wiXSxcbiAgICByZWRlbGl2ZXJXZWJob29rRGVsaXZlcnk6IFtcbiAgICAgIFwiUE9TVCAvb3Jncy97b3JnfS9ob29rcy97aG9va19pZH0vZGVsaXZlcmllcy97ZGVsaXZlcnlfaWR9L2F0dGVtcHRzXCJcbiAgICBdLFxuICAgIHJlbW92ZUN1c3RvbVByb3BlcnR5OiBbXG4gICAgICBcIkRFTEVURSAvb3Jncy97b3JnfS9wcm9wZXJ0aWVzL3NjaGVtYS97Y3VzdG9tX3Byb3BlcnR5X25hbWV9XCJcbiAgICBdLFxuICAgIHJlbW92ZU1lbWJlcjogW1wiREVMRVRFIC9vcmdzL3tvcmd9L21lbWJlcnMve3VzZXJuYW1lfVwiXSxcbiAgICByZW1vdmVNZW1iZXJzaGlwRm9yVXNlcjogW1wiREVMRVRFIC9vcmdzL3tvcmd9L21lbWJlcnNoaXBzL3t1c2VybmFtZX1cIl0sXG4gICAgcmVtb3ZlT3V0c2lkZUNvbGxhYm9yYXRvcjogW1xuICAgICAgXCJERUxFVEUgL29yZ3Mve29yZ30vb3V0c2lkZV9jb2xsYWJvcmF0b3JzL3t1c2VybmFtZX1cIlxuICAgIF0sXG4gICAgcmVtb3ZlUHVibGljTWVtYmVyc2hpcEZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXG4gICAgICBcIkRFTEVURSAvb3Jncy97b3JnfS9wdWJsaWNfbWVtYmVycy97dXNlcm5hbWV9XCJcbiAgICBdLFxuICAgIHJlbW92ZVNlY3VyaXR5TWFuYWdlclRlYW06IFtcbiAgICAgIFwiREVMRVRFIC9vcmdzL3tvcmd9L3NlY3VyaXR5LW1hbmFnZXJzL3RlYW1zL3t0ZWFtX3NsdWd9XCJcbiAgICBdLFxuICAgIHJldmlld1BhdEdyYW50UmVxdWVzdDogW1xuICAgICAgXCJQT1NUIC9vcmdzL3tvcmd9L3BlcnNvbmFsLWFjY2Vzcy10b2tlbi1yZXF1ZXN0cy97cGF0X3JlcXVlc3RfaWR9XCJcbiAgICBdLFxuICAgIHJldmlld1BhdEdyYW50UmVxdWVzdHNJbkJ1bGs6IFtcbiAgICAgIFwiUE9TVCAvb3Jncy97b3JnfS9wZXJzb25hbC1hY2Nlc3MtdG9rZW4tcmVxdWVzdHNcIlxuICAgIF0sXG4gICAgcmV2b2tlQWxsT3JnUm9sZXNUZWFtOiBbXG4gICAgICBcIkRFTEVURSAvb3Jncy97b3JnfS9vcmdhbml6YXRpb24tcm9sZXMvdGVhbXMve3RlYW1fc2x1Z31cIlxuICAgIF0sXG4gICAgcmV2b2tlQWxsT3JnUm9sZXNVc2VyOiBbXG4gICAgICBcIkRFTEVURSAvb3Jncy97b3JnfS9vcmdhbml6YXRpb24tcm9sZXMvdXNlcnMve3VzZXJuYW1lfVwiXG4gICAgXSxcbiAgICByZXZva2VPcmdSb2xlVGVhbTogW1xuICAgICAgXCJERUxFVEUgL29yZ3Mve29yZ30vb3JnYW5pemF0aW9uLXJvbGVzL3RlYW1zL3t0ZWFtX3NsdWd9L3tyb2xlX2lkfVwiXG4gICAgXSxcbiAgICByZXZva2VPcmdSb2xlVXNlcjogW1xuICAgICAgXCJERUxFVEUgL29yZ3Mve29yZ30vb3JnYW5pemF0aW9uLXJvbGVzL3VzZXJzL3t1c2VybmFtZX0ve3JvbGVfaWR9XCJcbiAgICBdLFxuICAgIHNldE1lbWJlcnNoaXBGb3JVc2VyOiBbXCJQVVQgL29yZ3Mve29yZ30vbWVtYmVyc2hpcHMve3VzZXJuYW1lfVwiXSxcbiAgICBzZXRQdWJsaWNNZW1iZXJzaGlwRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcbiAgICAgIFwiUFVUIC9vcmdzL3tvcmd9L3B1YmxpY19tZW1iZXJzL3t1c2VybmFtZX1cIlxuICAgIF0sXG4gICAgdW5ibG9ja1VzZXI6IFtcIkRFTEVURSAvb3Jncy97b3JnfS9ibG9ja3Mve3VzZXJuYW1lfVwiXSxcbiAgICB1cGRhdGU6IFtcIlBBVENIIC9vcmdzL3tvcmd9XCJdLFxuICAgIHVwZGF0ZU1lbWJlcnNoaXBGb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJQQVRDSCAvdXNlci9tZW1iZXJzaGlwcy9vcmdzL3tvcmd9XCJcbiAgICBdLFxuICAgIHVwZGF0ZVBhdEFjY2VzczogW1wiUE9TVCAvb3Jncy97b3JnfS9wZXJzb25hbC1hY2Nlc3MtdG9rZW5zL3twYXRfaWR9XCJdLFxuICAgIHVwZGF0ZVBhdEFjY2Vzc2VzOiBbXCJQT1NUIC9vcmdzL3tvcmd9L3BlcnNvbmFsLWFjY2Vzcy10b2tlbnNcIl0sXG4gICAgdXBkYXRlV2ViaG9vazogW1wiUEFUQ0ggL29yZ3Mve29yZ30vaG9va3Mve2hvb2tfaWR9XCJdLFxuICAgIHVwZGF0ZVdlYmhvb2tDb25maWdGb3JPcmc6IFtcIlBBVENIIC9vcmdzL3tvcmd9L2hvb2tzL3tob29rX2lkfS9jb25maWdcIl1cbiAgfSxcbiAgcGFja2FnZXM6IHtcbiAgICBkZWxldGVQYWNrYWdlRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcbiAgICAgIFwiREVMRVRFIC91c2VyL3BhY2thZ2VzL3twYWNrYWdlX3R5cGV9L3twYWNrYWdlX25hbWV9XCJcbiAgICBdLFxuICAgIGRlbGV0ZVBhY2thZ2VGb3JPcmc6IFtcbiAgICAgIFwiREVMRVRFIC9vcmdzL3tvcmd9L3BhY2thZ2VzL3twYWNrYWdlX3R5cGV9L3twYWNrYWdlX25hbWV9XCJcbiAgICBdLFxuICAgIGRlbGV0ZVBhY2thZ2VGb3JVc2VyOiBbXG4gICAgICBcIkRFTEVURSAvdXNlcnMve3VzZXJuYW1lfS9wYWNrYWdlcy97cGFja2FnZV90eXBlfS97cGFja2FnZV9uYW1lfVwiXG4gICAgXSxcbiAgICBkZWxldGVQYWNrYWdlVmVyc2lvbkZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXG4gICAgICBcIkRFTEVURSAvdXNlci9wYWNrYWdlcy97cGFja2FnZV90eXBlfS97cGFja2FnZV9uYW1lfS92ZXJzaW9ucy97cGFja2FnZV92ZXJzaW9uX2lkfVwiXG4gICAgXSxcbiAgICBkZWxldGVQYWNrYWdlVmVyc2lvbkZvck9yZzogW1xuICAgICAgXCJERUxFVEUgL29yZ3Mve29yZ30vcGFja2FnZXMve3BhY2thZ2VfdHlwZX0ve3BhY2thZ2VfbmFtZX0vdmVyc2lvbnMve3BhY2thZ2VfdmVyc2lvbl9pZH1cIlxuICAgIF0sXG4gICAgZGVsZXRlUGFja2FnZVZlcnNpb25Gb3JVc2VyOiBbXG4gICAgICBcIkRFTEVURSAvdXNlcnMve3VzZXJuYW1lfS9wYWNrYWdlcy97cGFja2FnZV90eXBlfS97cGFja2FnZV9uYW1lfS92ZXJzaW9ucy97cGFja2FnZV92ZXJzaW9uX2lkfVwiXG4gICAgXSxcbiAgICBnZXRBbGxQYWNrYWdlVmVyc2lvbnNGb3JBUGFja2FnZU93bmVkQnlBbk9yZzogW1xuICAgICAgXCJHRVQgL29yZ3Mve29yZ30vcGFja2FnZXMve3BhY2thZ2VfdHlwZX0ve3BhY2thZ2VfbmFtZX0vdmVyc2lvbnNcIixcbiAgICAgIHt9LFxuICAgICAgeyByZW5hbWVkOiBbXCJwYWNrYWdlc1wiLCBcImdldEFsbFBhY2thZ2VWZXJzaW9uc0ZvclBhY2thZ2VPd25lZEJ5T3JnXCJdIH1cbiAgICBdLFxuICAgIGdldEFsbFBhY2thZ2VWZXJzaW9uc0ZvckFQYWNrYWdlT3duZWRCeVRoZUF1dGhlbnRpY2F0ZWRVc2VyOiBbXG4gICAgICBcIkdFVCAvdXNlci9wYWNrYWdlcy97cGFja2FnZV90eXBlfS97cGFja2FnZV9uYW1lfS92ZXJzaW9uc1wiLFxuICAgICAge30sXG4gICAgICB7XG4gICAgICAgIHJlbmFtZWQ6IFtcbiAgICAgICAgICBcInBhY2thZ2VzXCIsXG4gICAgICAgICAgXCJnZXRBbGxQYWNrYWdlVmVyc2lvbnNGb3JQYWNrYWdlT3duZWRCeUF1dGhlbnRpY2F0ZWRVc2VyXCJcbiAgICAgICAgXVxuICAgICAgfVxuICAgIF0sXG4gICAgZ2V0QWxsUGFja2FnZVZlcnNpb25zRm9yUGFja2FnZU93bmVkQnlBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJHRVQgL3VzZXIvcGFja2FnZXMve3BhY2thZ2VfdHlwZX0ve3BhY2thZ2VfbmFtZX0vdmVyc2lvbnNcIlxuICAgIF0sXG4gICAgZ2V0QWxsUGFja2FnZVZlcnNpb25zRm9yUGFja2FnZU93bmVkQnlPcmc6IFtcbiAgICAgIFwiR0VUIC9vcmdzL3tvcmd9L3BhY2thZ2VzL3twYWNrYWdlX3R5cGV9L3twYWNrYWdlX25hbWV9L3ZlcnNpb25zXCJcbiAgICBdLFxuICAgIGdldEFsbFBhY2thZ2VWZXJzaW9uc0ZvclBhY2thZ2VPd25lZEJ5VXNlcjogW1xuICAgICAgXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vcGFja2FnZXMve3BhY2thZ2VfdHlwZX0ve3BhY2thZ2VfbmFtZX0vdmVyc2lvbnNcIlxuICAgIF0sXG4gICAgZ2V0UGFja2FnZUZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXG4gICAgICBcIkdFVCAvdXNlci9wYWNrYWdlcy97cGFja2FnZV90eXBlfS97cGFja2FnZV9uYW1lfVwiXG4gICAgXSxcbiAgICBnZXRQYWNrYWdlRm9yT3JnYW5pemF0aW9uOiBbXG4gICAgICBcIkdFVCAvb3Jncy97b3JnfS9wYWNrYWdlcy97cGFja2FnZV90eXBlfS97cGFja2FnZV9uYW1lfVwiXG4gICAgXSxcbiAgICBnZXRQYWNrYWdlRm9yVXNlcjogW1xuICAgICAgXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vcGFja2FnZXMve3BhY2thZ2VfdHlwZX0ve3BhY2thZ2VfbmFtZX1cIlxuICAgIF0sXG4gICAgZ2V0UGFja2FnZVZlcnNpb25Gb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJHRVQgL3VzZXIvcGFja2FnZXMve3BhY2thZ2VfdHlwZX0ve3BhY2thZ2VfbmFtZX0vdmVyc2lvbnMve3BhY2thZ2VfdmVyc2lvbl9pZH1cIlxuICAgIF0sXG4gICAgZ2V0UGFja2FnZVZlcnNpb25Gb3JPcmdhbml6YXRpb246IFtcbiAgICAgIFwiR0VUIC9vcmdzL3tvcmd9L3BhY2thZ2VzL3twYWNrYWdlX3R5cGV9L3twYWNrYWdlX25hbWV9L3ZlcnNpb25zL3twYWNrYWdlX3ZlcnNpb25faWR9XCJcbiAgICBdLFxuICAgIGdldFBhY2thZ2VWZXJzaW9uRm9yVXNlcjogW1xuICAgICAgXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vcGFja2FnZXMve3BhY2thZ2VfdHlwZX0ve3BhY2thZ2VfbmFtZX0vdmVyc2lvbnMve3BhY2thZ2VfdmVyc2lvbl9pZH1cIlxuICAgIF0sXG4gICAgbGlzdERvY2tlck1pZ3JhdGlvbkNvbmZsaWN0aW5nUGFja2FnZXNGb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJHRVQgL3VzZXIvZG9ja2VyL2NvbmZsaWN0c1wiXG4gICAgXSxcbiAgICBsaXN0RG9ja2VyTWlncmF0aW9uQ29uZmxpY3RpbmdQYWNrYWdlc0Zvck9yZ2FuaXphdGlvbjogW1xuICAgICAgXCJHRVQgL29yZ3Mve29yZ30vZG9ja2VyL2NvbmZsaWN0c1wiXG4gICAgXSxcbiAgICBsaXN0RG9ja2VyTWlncmF0aW9uQ29uZmxpY3RpbmdQYWNrYWdlc0ZvclVzZXI6IFtcbiAgICAgIFwiR0VUIC91c2Vycy97dXNlcm5hbWV9L2RvY2tlci9jb25mbGljdHNcIlxuICAgIF0sXG4gICAgbGlzdFBhY2thZ2VzRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIkdFVCAvdXNlci9wYWNrYWdlc1wiXSxcbiAgICBsaXN0UGFja2FnZXNGb3JPcmdhbml6YXRpb246IFtcIkdFVCAvb3Jncy97b3JnfS9wYWNrYWdlc1wiXSxcbiAgICBsaXN0UGFja2FnZXNGb3JVc2VyOiBbXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vcGFja2FnZXNcIl0sXG4gICAgcmVzdG9yZVBhY2thZ2VGb3JBdXRoZW50aWNhdGVkVXNlcjogW1xuICAgICAgXCJQT1NUIC91c2VyL3BhY2thZ2VzL3twYWNrYWdlX3R5cGV9L3twYWNrYWdlX25hbWV9L3Jlc3RvcmV7P3Rva2VufVwiXG4gICAgXSxcbiAgICByZXN0b3JlUGFja2FnZUZvck9yZzogW1xuICAgICAgXCJQT1NUIC9vcmdzL3tvcmd9L3BhY2thZ2VzL3twYWNrYWdlX3R5cGV9L3twYWNrYWdlX25hbWV9L3Jlc3RvcmV7P3Rva2VufVwiXG4gICAgXSxcbiAgICByZXN0b3JlUGFja2FnZUZvclVzZXI6IFtcbiAgICAgIFwiUE9TVCAvdXNlcnMve3VzZXJuYW1lfS9wYWNrYWdlcy97cGFja2FnZV90eXBlfS97cGFja2FnZV9uYW1lfS9yZXN0b3Jlez90b2tlbn1cIlxuICAgIF0sXG4gICAgcmVzdG9yZVBhY2thZ2VWZXJzaW9uRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcbiAgICAgIFwiUE9TVCAvdXNlci9wYWNrYWdlcy97cGFja2FnZV90eXBlfS97cGFja2FnZV9uYW1lfS92ZXJzaW9ucy97cGFja2FnZV92ZXJzaW9uX2lkfS9yZXN0b3JlXCJcbiAgICBdLFxuICAgIHJlc3RvcmVQYWNrYWdlVmVyc2lvbkZvck9yZzogW1xuICAgICAgXCJQT1NUIC9vcmdzL3tvcmd9L3BhY2thZ2VzL3twYWNrYWdlX3R5cGV9L3twYWNrYWdlX25hbWV9L3ZlcnNpb25zL3twYWNrYWdlX3ZlcnNpb25faWR9L3Jlc3RvcmVcIlxuICAgIF0sXG4gICAgcmVzdG9yZVBhY2thZ2VWZXJzaW9uRm9yVXNlcjogW1xuICAgICAgXCJQT1NUIC91c2Vycy97dXNlcm5hbWV9L3BhY2thZ2VzL3twYWNrYWdlX3R5cGV9L3twYWNrYWdlX25hbWV9L3ZlcnNpb25zL3twYWNrYWdlX3ZlcnNpb25faWR9L3Jlc3RvcmVcIlxuICAgIF1cbiAgfSxcbiAgcHJvamVjdHM6IHtcbiAgICBhZGRDb2xsYWJvcmF0b3I6IFtcIlBVVCAvcHJvamVjdHMve3Byb2plY3RfaWR9L2NvbGxhYm9yYXRvcnMve3VzZXJuYW1lfVwiXSxcbiAgICBjcmVhdGVDYXJkOiBbXCJQT1NUIC9wcm9qZWN0cy9jb2x1bW5zL3tjb2x1bW5faWR9L2NhcmRzXCJdLFxuICAgIGNyZWF0ZUNvbHVtbjogW1wiUE9TVCAvcHJvamVjdHMve3Byb2plY3RfaWR9L2NvbHVtbnNcIl0sXG4gICAgY3JlYXRlRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIlBPU1QgL3VzZXIvcHJvamVjdHNcIl0sXG4gICAgY3JlYXRlRm9yT3JnOiBbXCJQT1NUIC9vcmdzL3tvcmd9L3Byb2plY3RzXCJdLFxuICAgIGNyZWF0ZUZvclJlcG86IFtcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L3Byb2plY3RzXCJdLFxuICAgIGRlbGV0ZTogW1wiREVMRVRFIC9wcm9qZWN0cy97cHJvamVjdF9pZH1cIl0sXG4gICAgZGVsZXRlQ2FyZDogW1wiREVMRVRFIC9wcm9qZWN0cy9jb2x1bW5zL2NhcmRzL3tjYXJkX2lkfVwiXSxcbiAgICBkZWxldGVDb2x1bW46IFtcIkRFTEVURSAvcHJvamVjdHMvY29sdW1ucy97Y29sdW1uX2lkfVwiXSxcbiAgICBnZXQ6IFtcIkdFVCAvcHJvamVjdHMve3Byb2plY3RfaWR9XCJdLFxuICAgIGdldENhcmQ6IFtcIkdFVCAvcHJvamVjdHMvY29sdW1ucy9jYXJkcy97Y2FyZF9pZH1cIl0sXG4gICAgZ2V0Q29sdW1uOiBbXCJHRVQgL3Byb2plY3RzL2NvbHVtbnMve2NvbHVtbl9pZH1cIl0sXG4gICAgZ2V0UGVybWlzc2lvbkZvclVzZXI6IFtcbiAgICAgIFwiR0VUIC9wcm9qZWN0cy97cHJvamVjdF9pZH0vY29sbGFib3JhdG9ycy97dXNlcm5hbWV9L3Blcm1pc3Npb25cIlxuICAgIF0sXG4gICAgbGlzdENhcmRzOiBbXCJHRVQgL3Byb2plY3RzL2NvbHVtbnMve2NvbHVtbl9pZH0vY2FyZHNcIl0sXG4gICAgbGlzdENvbGxhYm9yYXRvcnM6IFtcIkdFVCAvcHJvamVjdHMve3Byb2plY3RfaWR9L2NvbGxhYm9yYXRvcnNcIl0sXG4gICAgbGlzdENvbHVtbnM6IFtcIkdFVCAvcHJvamVjdHMve3Byb2plY3RfaWR9L2NvbHVtbnNcIl0sXG4gICAgbGlzdEZvck9yZzogW1wiR0VUIC9vcmdzL3tvcmd9L3Byb2plY3RzXCJdLFxuICAgIGxpc3RGb3JSZXBvOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3Byb2plY3RzXCJdLFxuICAgIGxpc3RGb3JVc2VyOiBbXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vcHJvamVjdHNcIl0sXG4gICAgbW92ZUNhcmQ6IFtcIlBPU1QgL3Byb2plY3RzL2NvbHVtbnMvY2FyZHMve2NhcmRfaWR9L21vdmVzXCJdLFxuICAgIG1vdmVDb2x1bW46IFtcIlBPU1QgL3Byb2plY3RzL2NvbHVtbnMve2NvbHVtbl9pZH0vbW92ZXNcIl0sXG4gICAgcmVtb3ZlQ29sbGFib3JhdG9yOiBbXG4gICAgICBcIkRFTEVURSAvcHJvamVjdHMve3Byb2plY3RfaWR9L2NvbGxhYm9yYXRvcnMve3VzZXJuYW1lfVwiXG4gICAgXSxcbiAgICB1cGRhdGU6IFtcIlBBVENIIC9wcm9qZWN0cy97cHJvamVjdF9pZH1cIl0sXG4gICAgdXBkYXRlQ2FyZDogW1wiUEFUQ0ggL3Byb2plY3RzL2NvbHVtbnMvY2FyZHMve2NhcmRfaWR9XCJdLFxuICAgIHVwZGF0ZUNvbHVtbjogW1wiUEFUQ0ggL3Byb2plY3RzL2NvbHVtbnMve2NvbHVtbl9pZH1cIl1cbiAgfSxcbiAgcHVsbHM6IHtcbiAgICBjaGVja0lmTWVyZ2VkOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL3twdWxsX251bWJlcn0vbWVyZ2VcIl0sXG4gICAgY3JlYXRlOiBbXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wdWxsc1wiXSxcbiAgICBjcmVhdGVSZXBseUZvclJldmlld0NvbW1lbnQ6IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vcHVsbHMve3B1bGxfbnVtYmVyfS9jb21tZW50cy97Y29tbWVudF9pZH0vcmVwbGllc1wiXG4gICAgXSxcbiAgICBjcmVhdGVSZXZpZXc6IFtcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL3twdWxsX251bWJlcn0vcmV2aWV3c1wiXSxcbiAgICBjcmVhdGVSZXZpZXdDb21tZW50OiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL3twdWxsX251bWJlcn0vY29tbWVudHNcIlxuICAgIF0sXG4gICAgZGVsZXRlUGVuZGluZ1JldmlldzogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL3twdWxsX251bWJlcn0vcmV2aWV3cy97cmV2aWV3X2lkfVwiXG4gICAgXSxcbiAgICBkZWxldGVSZXZpZXdDb21tZW50OiBbXG4gICAgICBcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vcHVsbHMvY29tbWVudHMve2NvbW1lbnRfaWR9XCJcbiAgICBdLFxuICAgIGRpc21pc3NSZXZpZXc6IFtcbiAgICAgIFwiUFVUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wdWxscy97cHVsbF9udW1iZXJ9L3Jldmlld3Mve3Jldmlld19pZH0vZGlzbWlzc2Fsc1wiXG4gICAgXSxcbiAgICBnZXQ6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcHVsbHMve3B1bGxfbnVtYmVyfVwiXSxcbiAgICBnZXRSZXZpZXc6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wdWxscy97cHVsbF9udW1iZXJ9L3Jldmlld3Mve3Jldmlld19pZH1cIlxuICAgIF0sXG4gICAgZ2V0UmV2aWV3Q29tbWVudDogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wdWxscy9jb21tZW50cy97Y29tbWVudF9pZH1cIl0sXG4gICAgbGlzdDogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wdWxsc1wiXSxcbiAgICBsaXN0Q29tbWVudHNGb3JSZXZpZXc6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wdWxscy97cHVsbF9udW1iZXJ9L3Jldmlld3Mve3Jldmlld19pZH0vY29tbWVudHNcIlxuICAgIF0sXG4gICAgbGlzdENvbW1pdHM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcHVsbHMve3B1bGxfbnVtYmVyfS9jb21taXRzXCJdLFxuICAgIGxpc3RGaWxlczogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wdWxscy97cHVsbF9udW1iZXJ9L2ZpbGVzXCJdLFxuICAgIGxpc3RSZXF1ZXN0ZWRSZXZpZXdlcnM6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wdWxscy97cHVsbF9udW1iZXJ9L3JlcXVlc3RlZF9yZXZpZXdlcnNcIlxuICAgIF0sXG4gICAgbGlzdFJldmlld0NvbW1lbnRzOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcHVsbHMve3B1bGxfbnVtYmVyfS9jb21tZW50c1wiXG4gICAgXSxcbiAgICBsaXN0UmV2aWV3Q29tbWVudHNGb3JSZXBvOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL2NvbW1lbnRzXCJdLFxuICAgIGxpc3RSZXZpZXdzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL3twdWxsX251bWJlcn0vcmV2aWV3c1wiXSxcbiAgICBtZXJnZTogW1wiUFVUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wdWxscy97cHVsbF9udW1iZXJ9L21lcmdlXCJdLFxuICAgIHJlbW92ZVJlcXVlc3RlZFJldmlld2VyczogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL3twdWxsX251bWJlcn0vcmVxdWVzdGVkX3Jldmlld2Vyc1wiXG4gICAgXSxcbiAgICByZXF1ZXN0UmV2aWV3ZXJzOiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL3twdWxsX251bWJlcn0vcmVxdWVzdGVkX3Jldmlld2Vyc1wiXG4gICAgXSxcbiAgICBzdWJtaXRSZXZpZXc6IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vcHVsbHMve3B1bGxfbnVtYmVyfS9yZXZpZXdzL3tyZXZpZXdfaWR9L2V2ZW50c1wiXG4gICAgXSxcbiAgICB1cGRhdGU6IFtcIlBBVENIIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wdWxscy97cHVsbF9udW1iZXJ9XCJdLFxuICAgIHVwZGF0ZUJyYW5jaDogW1xuICAgICAgXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL3twdWxsX251bWJlcn0vdXBkYXRlLWJyYW5jaFwiXG4gICAgXSxcbiAgICB1cGRhdGVSZXZpZXc6IFtcbiAgICAgIFwiUFVUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wdWxscy97cHVsbF9udW1iZXJ9L3Jldmlld3Mve3Jldmlld19pZH1cIlxuICAgIF0sXG4gICAgdXBkYXRlUmV2aWV3Q29tbWVudDogW1xuICAgICAgXCJQQVRDSCAvcmVwb3Mve293bmVyfS97cmVwb30vcHVsbHMvY29tbWVudHMve2NvbW1lbnRfaWR9XCJcbiAgICBdXG4gIH0sXG4gIHJhdGVMaW1pdDogeyBnZXQ6IFtcIkdFVCAvcmF0ZV9saW1pdFwiXSB9LFxuICByZWFjdGlvbnM6IHtcbiAgICBjcmVhdGVGb3JDb21taXRDb21tZW50OiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvbW1lbnRzL3tjb21tZW50X2lkfS9yZWFjdGlvbnNcIlxuICAgIF0sXG4gICAgY3JlYXRlRm9ySXNzdWU6IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL3tpc3N1ZV9udW1iZXJ9L3JlYWN0aW9uc1wiXG4gICAgXSxcbiAgICBjcmVhdGVGb3JJc3N1ZUNvbW1lbnQ6IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL2NvbW1lbnRzL3tjb21tZW50X2lkfS9yZWFjdGlvbnNcIlxuICAgIF0sXG4gICAgY3JlYXRlRm9yUHVsbFJlcXVlc3RSZXZpZXdDb21tZW50OiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL2NvbW1lbnRzL3tjb21tZW50X2lkfS9yZWFjdGlvbnNcIlxuICAgIF0sXG4gICAgY3JlYXRlRm9yUmVsZWFzZTogW1xuICAgICAgXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9yZWxlYXNlcy97cmVsZWFzZV9pZH0vcmVhY3Rpb25zXCJcbiAgICBdLFxuICAgIGNyZWF0ZUZvclRlYW1EaXNjdXNzaW9uQ29tbWVudEluT3JnOiBbXG4gICAgICBcIlBPU1QgL29yZ3Mve29yZ30vdGVhbXMve3RlYW1fc2x1Z30vZGlzY3Vzc2lvbnMve2Rpc2N1c3Npb25fbnVtYmVyfS9jb21tZW50cy97Y29tbWVudF9udW1iZXJ9L3JlYWN0aW9uc1wiXG4gICAgXSxcbiAgICBjcmVhdGVGb3JUZWFtRGlzY3Vzc2lvbkluT3JnOiBbXG4gICAgICBcIlBPU1QgL29yZ3Mve29yZ30vdGVhbXMve3RlYW1fc2x1Z30vZGlzY3Vzc2lvbnMve2Rpc2N1c3Npb25fbnVtYmVyfS9yZWFjdGlvbnNcIlxuICAgIF0sXG4gICAgZGVsZXRlRm9yQ29tbWl0Q29tbWVudDogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvbW1lbnRzL3tjb21tZW50X2lkfS9yZWFjdGlvbnMve3JlYWN0aW9uX2lkfVwiXG4gICAgXSxcbiAgICBkZWxldGVGb3JJc3N1ZTogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2lzc3Vlcy97aXNzdWVfbnVtYmVyfS9yZWFjdGlvbnMve3JlYWN0aW9uX2lkfVwiXG4gICAgXSxcbiAgICBkZWxldGVGb3JJc3N1ZUNvbW1lbnQ6IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9pc3N1ZXMvY29tbWVudHMve2NvbW1lbnRfaWR9L3JlYWN0aW9ucy97cmVhY3Rpb25faWR9XCJcbiAgICBdLFxuICAgIGRlbGV0ZUZvclB1bGxSZXF1ZXN0Q29tbWVudDogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL2NvbW1lbnRzL3tjb21tZW50X2lkfS9yZWFjdGlvbnMve3JlYWN0aW9uX2lkfVwiXG4gICAgXSxcbiAgICBkZWxldGVGb3JSZWxlYXNlOiBbXG4gICAgICBcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vcmVsZWFzZXMve3JlbGVhc2VfaWR9L3JlYWN0aW9ucy97cmVhY3Rpb25faWR9XCJcbiAgICBdLFxuICAgIGRlbGV0ZUZvclRlYW1EaXNjdXNzaW9uOiBbXG4gICAgICBcIkRFTEVURSAvb3Jncy97b3JnfS90ZWFtcy97dGVhbV9zbHVnfS9kaXNjdXNzaW9ucy97ZGlzY3Vzc2lvbl9udW1iZXJ9L3JlYWN0aW9ucy97cmVhY3Rpb25faWR9XCJcbiAgICBdLFxuICAgIGRlbGV0ZUZvclRlYW1EaXNjdXNzaW9uQ29tbWVudDogW1xuICAgICAgXCJERUxFVEUgL29yZ3Mve29yZ30vdGVhbXMve3RlYW1fc2x1Z30vZGlzY3Vzc2lvbnMve2Rpc2N1c3Npb25fbnVtYmVyfS9jb21tZW50cy97Y29tbWVudF9udW1iZXJ9L3JlYWN0aW9ucy97cmVhY3Rpb25faWR9XCJcbiAgICBdLFxuICAgIGxpc3RGb3JDb21taXRDb21tZW50OiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29tbWVudHMve2NvbW1lbnRfaWR9L3JlYWN0aW9uc1wiXG4gICAgXSxcbiAgICBsaXN0Rm9ySXNzdWU6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL3tpc3N1ZV9udW1iZXJ9L3JlYWN0aW9uc1wiXSxcbiAgICBsaXN0Rm9ySXNzdWVDb21tZW50OiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vaXNzdWVzL2NvbW1lbnRzL3tjb21tZW50X2lkfS9yZWFjdGlvbnNcIlxuICAgIF0sXG4gICAgbGlzdEZvclB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3B1bGxzL2NvbW1lbnRzL3tjb21tZW50X2lkfS9yZWFjdGlvbnNcIlxuICAgIF0sXG4gICAgbGlzdEZvclJlbGVhc2U6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9yZWxlYXNlcy97cmVsZWFzZV9pZH0vcmVhY3Rpb25zXCJcbiAgICBdLFxuICAgIGxpc3RGb3JUZWFtRGlzY3Vzc2lvbkNvbW1lbnRJbk9yZzogW1xuICAgICAgXCJHRVQgL29yZ3Mve29yZ30vdGVhbXMve3RlYW1fc2x1Z30vZGlzY3Vzc2lvbnMve2Rpc2N1c3Npb25fbnVtYmVyfS9jb21tZW50cy97Y29tbWVudF9udW1iZXJ9L3JlYWN0aW9uc1wiXG4gICAgXSxcbiAgICBsaXN0Rm9yVGVhbURpc2N1c3Npb25Jbk9yZzogW1xuICAgICAgXCJHRVQgL29yZ3Mve29yZ30vdGVhbXMve3RlYW1fc2x1Z30vZGlzY3Vzc2lvbnMve2Rpc2N1c3Npb25fbnVtYmVyfS9yZWFjdGlvbnNcIlxuICAgIF1cbiAgfSxcbiAgcmVwb3M6IHtcbiAgICBhY2NlcHRJbnZpdGF0aW9uOiBbXG4gICAgICBcIlBBVENIIC91c2VyL3JlcG9zaXRvcnlfaW52aXRhdGlvbnMve2ludml0YXRpb25faWR9XCIsXG4gICAgICB7fSxcbiAgICAgIHsgcmVuYW1lZDogW1wicmVwb3NcIiwgXCJhY2NlcHRJbnZpdGF0aW9uRm9yQXV0aGVudGljYXRlZFVzZXJcIl0gfVxuICAgIF0sXG4gICAgYWNjZXB0SW52aXRhdGlvbkZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXG4gICAgICBcIlBBVENIIC91c2VyL3JlcG9zaXRvcnlfaW52aXRhdGlvbnMve2ludml0YXRpb25faWR9XCJcbiAgICBdLFxuICAgIGFkZEFwcEFjY2Vzc1Jlc3RyaWN0aW9uczogW1xuICAgICAgXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9icmFuY2hlcy97YnJhbmNofS9wcm90ZWN0aW9uL3Jlc3RyaWN0aW9ucy9hcHBzXCIsXG4gICAgICB7fSxcbiAgICAgIHsgbWFwVG9EYXRhOiBcImFwcHNcIiB9XG4gICAgXSxcbiAgICBhZGRDb2xsYWJvcmF0b3I6IFtcIlBVVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29sbGFib3JhdG9ycy97dXNlcm5hbWV9XCJdLFxuICAgIGFkZFN0YXR1c0NoZWNrQ29udGV4dHM6IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vYnJhbmNoZXMve2JyYW5jaH0vcHJvdGVjdGlvbi9yZXF1aXJlZF9zdGF0dXNfY2hlY2tzL2NvbnRleHRzXCIsXG4gICAgICB7fSxcbiAgICAgIHsgbWFwVG9EYXRhOiBcImNvbnRleHRzXCIgfVxuICAgIF0sXG4gICAgYWRkVGVhbUFjY2Vzc1Jlc3RyaWN0aW9uczogW1xuICAgICAgXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9icmFuY2hlcy97YnJhbmNofS9wcm90ZWN0aW9uL3Jlc3RyaWN0aW9ucy90ZWFtc1wiLFxuICAgICAge30sXG4gICAgICB7IG1hcFRvRGF0YTogXCJ0ZWFtc1wiIH1cbiAgICBdLFxuICAgIGFkZFVzZXJBY2Nlc3NSZXN0cmljdGlvbnM6IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vYnJhbmNoZXMve2JyYW5jaH0vcHJvdGVjdGlvbi9yZXN0cmljdGlvbnMvdXNlcnNcIixcbiAgICAgIHt9LFxuICAgICAgeyBtYXBUb0RhdGE6IFwidXNlcnNcIiB9XG4gICAgXSxcbiAgICBjYW5jZWxQYWdlc0RlcGxveW1lbnQ6IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vcGFnZXMvZGVwbG95bWVudHMve3BhZ2VzX2RlcGxveW1lbnRfaWR9L2NhbmNlbFwiXG4gICAgXSxcbiAgICBjaGVja0F1dG9tYXRlZFNlY3VyaXR5Rml4ZXM6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hdXRvbWF0ZWQtc2VjdXJpdHktZml4ZXNcIlxuICAgIF0sXG4gICAgY2hlY2tDb2xsYWJvcmF0b3I6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29sbGFib3JhdG9ycy97dXNlcm5hbWV9XCJdLFxuICAgIGNoZWNrUHJpdmF0ZVZ1bG5lcmFiaWxpdHlSZXBvcnRpbmc6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wcml2YXRlLXZ1bG5lcmFiaWxpdHktcmVwb3J0aW5nXCJcbiAgICBdLFxuICAgIGNoZWNrVnVsbmVyYWJpbGl0eUFsZXJ0czogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3Z1bG5lcmFiaWxpdHktYWxlcnRzXCJcbiAgICBdLFxuICAgIGNvZGVvd25lcnNFcnJvcnM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29kZW93bmVycy9lcnJvcnNcIl0sXG4gICAgY29tcGFyZUNvbW1pdHM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29tcGFyZS97YmFzZX0uLi57aGVhZH1cIl0sXG4gICAgY29tcGFyZUNvbW1pdHNXaXRoQmFzZWhlYWQ6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb21wYXJlL3tiYXNlaGVhZH1cIlxuICAgIF0sXG4gICAgY3JlYXRlQXV0b2xpbms6IFtcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2F1dG9saW5rc1wiXSxcbiAgICBjcmVhdGVDb21taXRDb21tZW50OiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvbW1pdHMve2NvbW1pdF9zaGF9L2NvbW1lbnRzXCJcbiAgICBdLFxuICAgIGNyZWF0ZUNvbW1pdFNpZ25hdHVyZVByb3RlY3Rpb246IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vYnJhbmNoZXMve2JyYW5jaH0vcHJvdGVjdGlvbi9yZXF1aXJlZF9zaWduYXR1cmVzXCJcbiAgICBdLFxuICAgIGNyZWF0ZUNvbW1pdFN0YXR1czogW1wiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vc3RhdHVzZXMve3NoYX1cIl0sXG4gICAgY3JlYXRlRGVwbG95S2V5OiBbXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9rZXlzXCJdLFxuICAgIGNyZWF0ZURlcGxveW1lbnQ6IFtcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2RlcGxveW1lbnRzXCJdLFxuICAgIGNyZWF0ZURlcGxveW1lbnRCcmFuY2hQb2xpY3k6IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vZW52aXJvbm1lbnRzL3tlbnZpcm9ubWVudF9uYW1lfS9kZXBsb3ltZW50LWJyYW5jaC1wb2xpY2llc1wiXG4gICAgXSxcbiAgICBjcmVhdGVEZXBsb3ltZW50UHJvdGVjdGlvblJ1bGU6IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vZW52aXJvbm1lbnRzL3tlbnZpcm9ubWVudF9uYW1lfS9kZXBsb3ltZW50X3Byb3RlY3Rpb25fcnVsZXNcIlxuICAgIF0sXG4gICAgY3JlYXRlRGVwbG95bWVudFN0YXR1czogW1xuICAgICAgXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9kZXBsb3ltZW50cy97ZGVwbG95bWVudF9pZH0vc3RhdHVzZXNcIlxuICAgIF0sXG4gICAgY3JlYXRlRGlzcGF0Y2hFdmVudDogW1wiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vZGlzcGF0Y2hlc1wiXSxcbiAgICBjcmVhdGVGb3JBdXRoZW50aWNhdGVkVXNlcjogW1wiUE9TVCAvdXNlci9yZXBvc1wiXSxcbiAgICBjcmVhdGVGb3JrOiBbXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9mb3Jrc1wiXSxcbiAgICBjcmVhdGVJbk9yZzogW1wiUE9TVCAvb3Jncy97b3JnfS9yZXBvc1wiXSxcbiAgICBjcmVhdGVPclVwZGF0ZUN1c3RvbVByb3BlcnRpZXNWYWx1ZXM6IFtcbiAgICAgIFwiUEFUQ0ggL3JlcG9zL3tvd25lcn0ve3JlcG99L3Byb3BlcnRpZXMvdmFsdWVzXCJcbiAgICBdLFxuICAgIGNyZWF0ZU9yVXBkYXRlRW52aXJvbm1lbnQ6IFtcbiAgICAgIFwiUFVUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9lbnZpcm9ubWVudHMve2Vudmlyb25tZW50X25hbWV9XCJcbiAgICBdLFxuICAgIGNyZWF0ZU9yVXBkYXRlRmlsZUNvbnRlbnRzOiBbXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvbnRlbnRzL3twYXRofVwiXSxcbiAgICBjcmVhdGVPcmdSdWxlc2V0OiBbXCJQT1NUIC9vcmdzL3tvcmd9L3J1bGVzZXRzXCJdLFxuICAgIGNyZWF0ZVBhZ2VzRGVwbG95bWVudDogW1wiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vcGFnZXMvZGVwbG95bWVudHNcIl0sXG4gICAgY3JlYXRlUGFnZXNTaXRlOiBbXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wYWdlc1wiXSxcbiAgICBjcmVhdGVSZWxlYXNlOiBbXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9yZWxlYXNlc1wiXSxcbiAgICBjcmVhdGVSZXBvUnVsZXNldDogW1wiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vcnVsZXNldHNcIl0sXG4gICAgY3JlYXRlVGFnUHJvdGVjdGlvbjogW1wiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vdGFncy9wcm90ZWN0aW9uXCJdLFxuICAgIGNyZWF0ZVVzaW5nVGVtcGxhdGU6IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve3RlbXBsYXRlX293bmVyfS97dGVtcGxhdGVfcmVwb30vZ2VuZXJhdGVcIlxuICAgIF0sXG4gICAgY3JlYXRlV2ViaG9vazogW1wiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vaG9va3NcIl0sXG4gICAgZGVjbGluZUludml0YXRpb246IFtcbiAgICAgIFwiREVMRVRFIC91c2VyL3JlcG9zaXRvcnlfaW52aXRhdGlvbnMve2ludml0YXRpb25faWR9XCIsXG4gICAgICB7fSxcbiAgICAgIHsgcmVuYW1lZDogW1wicmVwb3NcIiwgXCJkZWNsaW5lSW52aXRhdGlvbkZvckF1dGhlbnRpY2F0ZWRVc2VyXCJdIH1cbiAgICBdLFxuICAgIGRlY2xpbmVJbnZpdGF0aW9uRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcbiAgICAgIFwiREVMRVRFIC91c2VyL3JlcG9zaXRvcnlfaW52aXRhdGlvbnMve2ludml0YXRpb25faWR9XCJcbiAgICBdLFxuICAgIGRlbGV0ZTogW1wiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfVwiXSxcbiAgICBkZWxldGVBY2Nlc3NSZXN0cmljdGlvbnM6IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9icmFuY2hlcy97YnJhbmNofS9wcm90ZWN0aW9uL3Jlc3RyaWN0aW9uc1wiXG4gICAgXSxcbiAgICBkZWxldGVBZG1pbkJyYW5jaFByb3RlY3Rpb246IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9icmFuY2hlcy97YnJhbmNofS9wcm90ZWN0aW9uL2VuZm9yY2VfYWRtaW5zXCJcbiAgICBdLFxuICAgIGRlbGV0ZUFuRW52aXJvbm1lbnQ6IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9lbnZpcm9ubWVudHMve2Vudmlyb25tZW50X25hbWV9XCJcbiAgICBdLFxuICAgIGRlbGV0ZUF1dG9saW5rOiBbXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2F1dG9saW5rcy97YXV0b2xpbmtfaWR9XCJdLFxuICAgIGRlbGV0ZUJyYW5jaFByb3RlY3Rpb246IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9icmFuY2hlcy97YnJhbmNofS9wcm90ZWN0aW9uXCJcbiAgICBdLFxuICAgIGRlbGV0ZUNvbW1pdENvbW1lbnQ6IFtcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vY29tbWVudHMve2NvbW1lbnRfaWR9XCJdLFxuICAgIGRlbGV0ZUNvbW1pdFNpZ25hdHVyZVByb3RlY3Rpb246IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9icmFuY2hlcy97YnJhbmNofS9wcm90ZWN0aW9uL3JlcXVpcmVkX3NpZ25hdHVyZXNcIlxuICAgIF0sXG4gICAgZGVsZXRlRGVwbG95S2V5OiBbXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2tleXMve2tleV9pZH1cIl0sXG4gICAgZGVsZXRlRGVwbG95bWVudDogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2RlcGxveW1lbnRzL3tkZXBsb3ltZW50X2lkfVwiXG4gICAgXSxcbiAgICBkZWxldGVEZXBsb3ltZW50QnJhbmNoUG9saWN5OiBbXG4gICAgICBcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vZW52aXJvbm1lbnRzL3tlbnZpcm9ubWVudF9uYW1lfS9kZXBsb3ltZW50LWJyYW5jaC1wb2xpY2llcy97YnJhbmNoX3BvbGljeV9pZH1cIlxuICAgIF0sXG4gICAgZGVsZXRlRmlsZTogW1wiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb250ZW50cy97cGF0aH1cIl0sXG4gICAgZGVsZXRlSW52aXRhdGlvbjogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2ludml0YXRpb25zL3tpbnZpdGF0aW9uX2lkfVwiXG4gICAgXSxcbiAgICBkZWxldGVPcmdSdWxlc2V0OiBbXCJERUxFVEUgL29yZ3Mve29yZ30vcnVsZXNldHMve3J1bGVzZXRfaWR9XCJdLFxuICAgIGRlbGV0ZVBhZ2VzU2l0ZTogW1wiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wYWdlc1wiXSxcbiAgICBkZWxldGVQdWxsUmVxdWVzdFJldmlld1Byb3RlY3Rpb246IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9icmFuY2hlcy97YnJhbmNofS9wcm90ZWN0aW9uL3JlcXVpcmVkX3B1bGxfcmVxdWVzdF9yZXZpZXdzXCJcbiAgICBdLFxuICAgIGRlbGV0ZVJlbGVhc2U6IFtcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vcmVsZWFzZXMve3JlbGVhc2VfaWR9XCJdLFxuICAgIGRlbGV0ZVJlbGVhc2VBc3NldDogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L3JlbGVhc2VzL2Fzc2V0cy97YXNzZXRfaWR9XCJcbiAgICBdLFxuICAgIGRlbGV0ZVJlcG9SdWxlc2V0OiBbXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L3J1bGVzZXRzL3tydWxlc2V0X2lkfVwiXSxcbiAgICBkZWxldGVUYWdQcm90ZWN0aW9uOiBbXG4gICAgICBcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vdGFncy9wcm90ZWN0aW9uL3t0YWdfcHJvdGVjdGlvbl9pZH1cIlxuICAgIF0sXG4gICAgZGVsZXRlV2ViaG9vazogW1wiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9ob29rcy97aG9va19pZH1cIl0sXG4gICAgZGlzYWJsZUF1dG9tYXRlZFNlY3VyaXR5Rml4ZXM6IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hdXRvbWF0ZWQtc2VjdXJpdHktZml4ZXNcIlxuICAgIF0sXG4gICAgZGlzYWJsZURlcGxveW1lbnRQcm90ZWN0aW9uUnVsZTogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2Vudmlyb25tZW50cy97ZW52aXJvbm1lbnRfbmFtZX0vZGVwbG95bWVudF9wcm90ZWN0aW9uX3J1bGVzL3twcm90ZWN0aW9uX3J1bGVfaWR9XCJcbiAgICBdLFxuICAgIGRpc2FibGVQcml2YXRlVnVsbmVyYWJpbGl0eVJlcG9ydGluZzogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L3ByaXZhdGUtdnVsbmVyYWJpbGl0eS1yZXBvcnRpbmdcIlxuICAgIF0sXG4gICAgZGlzYWJsZVZ1bG5lcmFiaWxpdHlBbGVydHM6IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS92dWxuZXJhYmlsaXR5LWFsZXJ0c1wiXG4gICAgXSxcbiAgICBkb3dubG9hZEFyY2hpdmU6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS96aXBiYWxsL3tyZWZ9XCIsXG4gICAgICB7fSxcbiAgICAgIHsgcmVuYW1lZDogW1wicmVwb3NcIiwgXCJkb3dubG9hZFppcGJhbGxBcmNoaXZlXCJdIH1cbiAgICBdLFxuICAgIGRvd25sb2FkVGFyYmFsbEFyY2hpdmU6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vdGFyYmFsbC97cmVmfVwiXSxcbiAgICBkb3dubG9hZFppcGJhbGxBcmNoaXZlOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3ppcGJhbGwve3JlZn1cIl0sXG4gICAgZW5hYmxlQXV0b21hdGVkU2VjdXJpdHlGaXhlczogW1xuICAgICAgXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2F1dG9tYXRlZC1zZWN1cml0eS1maXhlc1wiXG4gICAgXSxcbiAgICBlbmFibGVQcml2YXRlVnVsbmVyYWJpbGl0eVJlcG9ydGluZzogW1xuICAgICAgXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3ByaXZhdGUtdnVsbmVyYWJpbGl0eS1yZXBvcnRpbmdcIlxuICAgIF0sXG4gICAgZW5hYmxlVnVsbmVyYWJpbGl0eUFsZXJ0czogW1xuICAgICAgXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3Z1bG5lcmFiaWxpdHktYWxlcnRzXCJcbiAgICBdLFxuICAgIGdlbmVyYXRlUmVsZWFzZU5vdGVzOiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L3JlbGVhc2VzL2dlbmVyYXRlLW5vdGVzXCJcbiAgICBdLFxuICAgIGdldDogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfVwiXSxcbiAgICBnZXRBY2Nlc3NSZXN0cmljdGlvbnM6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9icmFuY2hlcy97YnJhbmNofS9wcm90ZWN0aW9uL3Jlc3RyaWN0aW9uc1wiXG4gICAgXSxcbiAgICBnZXRBZG1pbkJyYW5jaFByb3RlY3Rpb246IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9icmFuY2hlcy97YnJhbmNofS9wcm90ZWN0aW9uL2VuZm9yY2VfYWRtaW5zXCJcbiAgICBdLFxuICAgIGdldEFsbERlcGxveW1lbnRQcm90ZWN0aW9uUnVsZXM6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9lbnZpcm9ubWVudHMve2Vudmlyb25tZW50X25hbWV9L2RlcGxveW1lbnRfcHJvdGVjdGlvbl9ydWxlc1wiXG4gICAgXSxcbiAgICBnZXRBbGxFbnZpcm9ubWVudHM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZW52aXJvbm1lbnRzXCJdLFxuICAgIGdldEFsbFN0YXR1c0NoZWNrQ29udGV4dHM6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9icmFuY2hlcy97YnJhbmNofS9wcm90ZWN0aW9uL3JlcXVpcmVkX3N0YXR1c19jaGVja3MvY29udGV4dHNcIlxuICAgIF0sXG4gICAgZ2V0QWxsVG9waWNzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3RvcGljc1wiXSxcbiAgICBnZXRBcHBzV2l0aEFjY2Vzc1RvUHJvdGVjdGVkQnJhbmNoOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYnJhbmNoZXMve2JyYW5jaH0vcHJvdGVjdGlvbi9yZXN0cmljdGlvbnMvYXBwc1wiXG4gICAgXSxcbiAgICBnZXRBdXRvbGluazogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hdXRvbGlua3Mve2F1dG9saW5rX2lkfVwiXSxcbiAgICBnZXRCcmFuY2g6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYnJhbmNoZXMve2JyYW5jaH1cIl0sXG4gICAgZ2V0QnJhbmNoUHJvdGVjdGlvbjogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2JyYW5jaGVzL3ticmFuY2h9L3Byb3RlY3Rpb25cIlxuICAgIF0sXG4gICAgZ2V0QnJhbmNoUnVsZXM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcnVsZXMvYnJhbmNoZXMve2JyYW5jaH1cIl0sXG4gICAgZ2V0Q2xvbmVzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3RyYWZmaWMvY2xvbmVzXCJdLFxuICAgIGdldENvZGVGcmVxdWVuY3lTdGF0czogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9zdGF0cy9jb2RlX2ZyZXF1ZW5jeVwiXSxcbiAgICBnZXRDb2xsYWJvcmF0b3JQZXJtaXNzaW9uTGV2ZWw6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb2xsYWJvcmF0b3JzL3t1c2VybmFtZX0vcGVybWlzc2lvblwiXG4gICAgXSxcbiAgICBnZXRDb21iaW5lZFN0YXR1c0ZvclJlZjogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb21taXRzL3tyZWZ9L3N0YXR1c1wiXSxcbiAgICBnZXRDb21taXQ6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29tbWl0cy97cmVmfVwiXSxcbiAgICBnZXRDb21taXRBY3Rpdml0eVN0YXRzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3N0YXRzL2NvbW1pdF9hY3Rpdml0eVwiXSxcbiAgICBnZXRDb21taXRDb21tZW50OiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvbW1lbnRzL3tjb21tZW50X2lkfVwiXSxcbiAgICBnZXRDb21taXRTaWduYXR1cmVQcm90ZWN0aW9uOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYnJhbmNoZXMve2JyYW5jaH0vcHJvdGVjdGlvbi9yZXF1aXJlZF9zaWduYXR1cmVzXCJcbiAgICBdLFxuICAgIGdldENvbW11bml0eVByb2ZpbGVNZXRyaWNzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvbW11bml0eS9wcm9maWxlXCJdLFxuICAgIGdldENvbnRlbnQ6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29udGVudHMve3BhdGh9XCJdLFxuICAgIGdldENvbnRyaWJ1dG9yc1N0YXRzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3N0YXRzL2NvbnRyaWJ1dG9yc1wiXSxcbiAgICBnZXRDdXN0b21EZXBsb3ltZW50UHJvdGVjdGlvblJ1bGU6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9lbnZpcm9ubWVudHMve2Vudmlyb25tZW50X25hbWV9L2RlcGxveW1lbnRfcHJvdGVjdGlvbl9ydWxlcy97cHJvdGVjdGlvbl9ydWxlX2lkfVwiXG4gICAgXSxcbiAgICBnZXRDdXN0b21Qcm9wZXJ0aWVzVmFsdWVzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3Byb3BlcnRpZXMvdmFsdWVzXCJdLFxuICAgIGdldERlcGxveUtleTogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9rZXlzL3trZXlfaWR9XCJdLFxuICAgIGdldERlcGxveW1lbnQ6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZGVwbG95bWVudHMve2RlcGxveW1lbnRfaWR9XCJdLFxuICAgIGdldERlcGxveW1lbnRCcmFuY2hQb2xpY3k6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9lbnZpcm9ubWVudHMve2Vudmlyb25tZW50X25hbWV9L2RlcGxveW1lbnQtYnJhbmNoLXBvbGljaWVzL3ticmFuY2hfcG9saWN5X2lkfVwiXG4gICAgXSxcbiAgICBnZXREZXBsb3ltZW50U3RhdHVzOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZGVwbG95bWVudHMve2RlcGxveW1lbnRfaWR9L3N0YXR1c2VzL3tzdGF0dXNfaWR9XCJcbiAgICBdLFxuICAgIGdldEVudmlyb25tZW50OiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZW52aXJvbm1lbnRzL3tlbnZpcm9ubWVudF9uYW1lfVwiXG4gICAgXSxcbiAgICBnZXRMYXRlc3RQYWdlc0J1aWxkOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3BhZ2VzL2J1aWxkcy9sYXRlc3RcIl0sXG4gICAgZ2V0TGF0ZXN0UmVsZWFzZTogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9yZWxlYXNlcy9sYXRlc3RcIl0sXG4gICAgZ2V0T3JnUnVsZVN1aXRlOiBbXCJHRVQgL29yZ3Mve29yZ30vcnVsZXNldHMvcnVsZS1zdWl0ZXMve3J1bGVfc3VpdGVfaWR9XCJdLFxuICAgIGdldE9yZ1J1bGVTdWl0ZXM6IFtcIkdFVCAvb3Jncy97b3JnfS9ydWxlc2V0cy9ydWxlLXN1aXRlc1wiXSxcbiAgICBnZXRPcmdSdWxlc2V0OiBbXCJHRVQgL29yZ3Mve29yZ30vcnVsZXNldHMve3J1bGVzZXRfaWR9XCJdLFxuICAgIGdldE9yZ1J1bGVzZXRzOiBbXCJHRVQgL29yZ3Mve29yZ30vcnVsZXNldHNcIl0sXG4gICAgZ2V0UGFnZXM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcGFnZXNcIl0sXG4gICAgZ2V0UGFnZXNCdWlsZDogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wYWdlcy9idWlsZHMve2J1aWxkX2lkfVwiXSxcbiAgICBnZXRQYWdlc0RlcGxveW1lbnQ6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wYWdlcy9kZXBsb3ltZW50cy97cGFnZXNfZGVwbG95bWVudF9pZH1cIlxuICAgIF0sXG4gICAgZ2V0UGFnZXNIZWFsdGhDaGVjazogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wYWdlcy9oZWFsdGhcIl0sXG4gICAgZ2V0UGFydGljaXBhdGlvblN0YXRzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3N0YXRzL3BhcnRpY2lwYXRpb25cIl0sXG4gICAgZ2V0UHVsbFJlcXVlc3RSZXZpZXdQcm90ZWN0aW9uOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYnJhbmNoZXMve2JyYW5jaH0vcHJvdGVjdGlvbi9yZXF1aXJlZF9wdWxsX3JlcXVlc3RfcmV2aWV3c1wiXG4gICAgXSxcbiAgICBnZXRQdW5jaENhcmRTdGF0czogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9zdGF0cy9wdW5jaF9jYXJkXCJdLFxuICAgIGdldFJlYWRtZTogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9yZWFkbWVcIl0sXG4gICAgZ2V0UmVhZG1lSW5EaXJlY3Rvcnk6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcmVhZG1lL3tkaXJ9XCJdLFxuICAgIGdldFJlbGVhc2U6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcmVsZWFzZXMve3JlbGVhc2VfaWR9XCJdLFxuICAgIGdldFJlbGVhc2VBc3NldDogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9yZWxlYXNlcy9hc3NldHMve2Fzc2V0X2lkfVwiXSxcbiAgICBnZXRSZWxlYXNlQnlUYWc6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcmVsZWFzZXMvdGFncy97dGFnfVwiXSxcbiAgICBnZXRSZXBvUnVsZVN1aXRlOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcnVsZXNldHMvcnVsZS1zdWl0ZXMve3J1bGVfc3VpdGVfaWR9XCJcbiAgICBdLFxuICAgIGdldFJlcG9SdWxlU3VpdGVzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3J1bGVzZXRzL3J1bGUtc3VpdGVzXCJdLFxuICAgIGdldFJlcG9SdWxlc2V0OiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3J1bGVzZXRzL3tydWxlc2V0X2lkfVwiXSxcbiAgICBnZXRSZXBvUnVsZXNldHM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vcnVsZXNldHNcIl0sXG4gICAgZ2V0U3RhdHVzQ2hlY2tzUHJvdGVjdGlvbjogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2JyYW5jaGVzL3ticmFuY2h9L3Byb3RlY3Rpb24vcmVxdWlyZWRfc3RhdHVzX2NoZWNrc1wiXG4gICAgXSxcbiAgICBnZXRUZWFtc1dpdGhBY2Nlc3NUb1Byb3RlY3RlZEJyYW5jaDogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2JyYW5jaGVzL3ticmFuY2h9L3Byb3RlY3Rpb24vcmVzdHJpY3Rpb25zL3RlYW1zXCJcbiAgICBdLFxuICAgIGdldFRvcFBhdGhzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3RyYWZmaWMvcG9wdWxhci9wYXRoc1wiXSxcbiAgICBnZXRUb3BSZWZlcnJlcnM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vdHJhZmZpYy9wb3B1bGFyL3JlZmVycmVyc1wiXSxcbiAgICBnZXRVc2Vyc1dpdGhBY2Nlc3NUb1Byb3RlY3RlZEJyYW5jaDogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2JyYW5jaGVzL3ticmFuY2h9L3Byb3RlY3Rpb24vcmVzdHJpY3Rpb25zL3VzZXJzXCJcbiAgICBdLFxuICAgIGdldFZpZXdzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3RyYWZmaWMvdmlld3NcIl0sXG4gICAgZ2V0V2ViaG9vazogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9ob29rcy97aG9va19pZH1cIl0sXG4gICAgZ2V0V2ViaG9va0NvbmZpZ0ZvclJlcG86IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9ob29rcy97aG9va19pZH0vY29uZmlnXCJcbiAgICBdLFxuICAgIGdldFdlYmhvb2tEZWxpdmVyeTogW1xuICAgICAgXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2hvb2tzL3tob29rX2lkfS9kZWxpdmVyaWVzL3tkZWxpdmVyeV9pZH1cIlxuICAgIF0sXG4gICAgbGlzdEFjdGl2aXRpZXM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vYWN0aXZpdHlcIl0sXG4gICAgbGlzdEF1dG9saW5rczogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9hdXRvbGlua3NcIl0sXG4gICAgbGlzdEJyYW5jaGVzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2JyYW5jaGVzXCJdLFxuICAgIGxpc3RCcmFuY2hlc0ZvckhlYWRDb21taXQ6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb21taXRzL3tjb21taXRfc2hhfS9icmFuY2hlcy13aGVyZS1oZWFkXCJcbiAgICBdLFxuICAgIGxpc3RDb2xsYWJvcmF0b3JzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvbGxhYm9yYXRvcnNcIl0sXG4gICAgbGlzdENvbW1lbnRzRm9yQ29tbWl0OiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29tbWl0cy97Y29tbWl0X3NoYX0vY29tbWVudHNcIlxuICAgIF0sXG4gICAgbGlzdENvbW1pdENvbW1lbnRzRm9yUmVwbzogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb21tZW50c1wiXSxcbiAgICBsaXN0Q29tbWl0U3RhdHVzZXNGb3JSZWY6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb21taXRzL3tyZWZ9L3N0YXR1c2VzXCJcbiAgICBdLFxuICAgIGxpc3RDb21taXRzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvbW1pdHNcIl0sXG4gICAgbGlzdENvbnRyaWJ1dG9yczogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb250cmlidXRvcnNcIl0sXG4gICAgbGlzdEN1c3RvbURlcGxveW1lbnRSdWxlSW50ZWdyYXRpb25zOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vZW52aXJvbm1lbnRzL3tlbnZpcm9ubWVudF9uYW1lfS9kZXBsb3ltZW50X3Byb3RlY3Rpb25fcnVsZXMvYXBwc1wiXG4gICAgXSxcbiAgICBsaXN0RGVwbG95S2V5czogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9rZXlzXCJdLFxuICAgIGxpc3REZXBsb3ltZW50QnJhbmNoUG9saWNpZXM6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9lbnZpcm9ubWVudHMve2Vudmlyb25tZW50X25hbWV9L2RlcGxveW1lbnQtYnJhbmNoLXBvbGljaWVzXCJcbiAgICBdLFxuICAgIGxpc3REZXBsb3ltZW50U3RhdHVzZXM6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9kZXBsb3ltZW50cy97ZGVwbG95bWVudF9pZH0vc3RhdHVzZXNcIlxuICAgIF0sXG4gICAgbGlzdERlcGxveW1lbnRzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2RlcGxveW1lbnRzXCJdLFxuICAgIGxpc3RGb3JBdXRoZW50aWNhdGVkVXNlcjogW1wiR0VUIC91c2VyL3JlcG9zXCJdLFxuICAgIGxpc3RGb3JPcmc6IFtcIkdFVCAvb3Jncy97b3JnfS9yZXBvc1wiXSxcbiAgICBsaXN0Rm9yVXNlcjogW1wiR0VUIC91c2Vycy97dXNlcm5hbWV9L3JlcG9zXCJdLFxuICAgIGxpc3RGb3JrczogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9mb3Jrc1wiXSxcbiAgICBsaXN0SW52aXRhdGlvbnM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vaW52aXRhdGlvbnNcIl0sXG4gICAgbGlzdEludml0YXRpb25zRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIkdFVCAvdXNlci9yZXBvc2l0b3J5X2ludml0YXRpb25zXCJdLFxuICAgIGxpc3RMYW5ndWFnZXM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vbGFuZ3VhZ2VzXCJdLFxuICAgIGxpc3RQYWdlc0J1aWxkczogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wYWdlcy9idWlsZHNcIl0sXG4gICAgbGlzdFB1YmxpYzogW1wiR0VUIC9yZXBvc2l0b3JpZXNcIl0sXG4gICAgbGlzdFB1bGxSZXF1ZXN0c0Fzc29jaWF0ZWRXaXRoQ29tbWl0OiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vY29tbWl0cy97Y29tbWl0X3NoYX0vcHVsbHNcIlxuICAgIF0sXG4gICAgbGlzdFJlbGVhc2VBc3NldHM6IFtcbiAgICAgIFwiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9yZWxlYXNlcy97cmVsZWFzZV9pZH0vYXNzZXRzXCJcbiAgICBdLFxuICAgIGxpc3RSZWxlYXNlczogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9yZWxlYXNlc1wiXSxcbiAgICBsaXN0VGFnUHJvdGVjdGlvbjogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS90YWdzL3Byb3RlY3Rpb25cIl0sXG4gICAgbGlzdFRhZ3M6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vdGFnc1wiXSxcbiAgICBsaXN0VGVhbXM6IFtcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vdGVhbXNcIl0sXG4gICAgbGlzdFdlYmhvb2tEZWxpdmVyaWVzOiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vaG9va3Mve2hvb2tfaWR9L2RlbGl2ZXJpZXNcIlxuICAgIF0sXG4gICAgbGlzdFdlYmhvb2tzOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2hvb2tzXCJdLFxuICAgIG1lcmdlOiBbXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9tZXJnZXNcIl0sXG4gICAgbWVyZ2VVcHN0cmVhbTogW1wiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vbWVyZ2UtdXBzdHJlYW1cIl0sXG4gICAgcGluZ1dlYmhvb2s6IFtcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2hvb2tzL3tob29rX2lkfS9waW5nc1wiXSxcbiAgICByZWRlbGl2ZXJXZWJob29rRGVsaXZlcnk6IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vaG9va3Mve2hvb2tfaWR9L2RlbGl2ZXJpZXMve2RlbGl2ZXJ5X2lkfS9hdHRlbXB0c1wiXG4gICAgXSxcbiAgICByZW1vdmVBcHBBY2Nlc3NSZXN0cmljdGlvbnM6IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9icmFuY2hlcy97YnJhbmNofS9wcm90ZWN0aW9uL3Jlc3RyaWN0aW9ucy9hcHBzXCIsXG4gICAgICB7fSxcbiAgICAgIHsgbWFwVG9EYXRhOiBcImFwcHNcIiB9XG4gICAgXSxcbiAgICByZW1vdmVDb2xsYWJvcmF0b3I6IFtcbiAgICAgIFwiREVMRVRFIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9jb2xsYWJvcmF0b3JzL3t1c2VybmFtZX1cIlxuICAgIF0sXG4gICAgcmVtb3ZlU3RhdHVzQ2hlY2tDb250ZXh0czogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2JyYW5jaGVzL3ticmFuY2h9L3Byb3RlY3Rpb24vcmVxdWlyZWRfc3RhdHVzX2NoZWNrcy9jb250ZXh0c1wiLFxuICAgICAge30sXG4gICAgICB7IG1hcFRvRGF0YTogXCJjb250ZXh0c1wiIH1cbiAgICBdLFxuICAgIHJlbW92ZVN0YXR1c0NoZWNrUHJvdGVjdGlvbjogW1xuICAgICAgXCJERUxFVEUgL3JlcG9zL3tvd25lcn0ve3JlcG99L2JyYW5jaGVzL3ticmFuY2h9L3Byb3RlY3Rpb24vcmVxdWlyZWRfc3RhdHVzX2NoZWNrc1wiXG4gICAgXSxcbiAgICByZW1vdmVUZWFtQWNjZXNzUmVzdHJpY3Rpb25zOiBbXG4gICAgICBcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vYnJhbmNoZXMve2JyYW5jaH0vcHJvdGVjdGlvbi9yZXN0cmljdGlvbnMvdGVhbXNcIixcbiAgICAgIHt9LFxuICAgICAgeyBtYXBUb0RhdGE6IFwidGVhbXNcIiB9XG4gICAgXSxcbiAgICByZW1vdmVVc2VyQWNjZXNzUmVzdHJpY3Rpb25zOiBbXG4gICAgICBcIkRFTEVURSAvcmVwb3Mve293bmVyfS97cmVwb30vYnJhbmNoZXMve2JyYW5jaH0vcHJvdGVjdGlvbi9yZXN0cmljdGlvbnMvdXNlcnNcIixcbiAgICAgIHt9LFxuICAgICAgeyBtYXBUb0RhdGE6IFwidXNlcnNcIiB9XG4gICAgXSxcbiAgICByZW5hbWVCcmFuY2g6IFtcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2JyYW5jaGVzL3ticmFuY2h9L3JlbmFtZVwiXSxcbiAgICByZXBsYWNlQWxsVG9waWNzOiBbXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3RvcGljc1wiXSxcbiAgICByZXF1ZXN0UGFnZXNCdWlsZDogW1wiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vcGFnZXMvYnVpbGRzXCJdLFxuICAgIHNldEFkbWluQnJhbmNoUHJvdGVjdGlvbjogW1xuICAgICAgXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9icmFuY2hlcy97YnJhbmNofS9wcm90ZWN0aW9uL2VuZm9yY2VfYWRtaW5zXCJcbiAgICBdLFxuICAgIHNldEFwcEFjY2Vzc1Jlc3RyaWN0aW9uczogW1xuICAgICAgXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2JyYW5jaGVzL3ticmFuY2h9L3Byb3RlY3Rpb24vcmVzdHJpY3Rpb25zL2FwcHNcIixcbiAgICAgIHt9LFxuICAgICAgeyBtYXBUb0RhdGE6IFwiYXBwc1wiIH1cbiAgICBdLFxuICAgIHNldFN0YXR1c0NoZWNrQ29udGV4dHM6IFtcbiAgICAgIFwiUFVUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9icmFuY2hlcy97YnJhbmNofS9wcm90ZWN0aW9uL3JlcXVpcmVkX3N0YXR1c19jaGVja3MvY29udGV4dHNcIixcbiAgICAgIHt9LFxuICAgICAgeyBtYXBUb0RhdGE6IFwiY29udGV4dHNcIiB9XG4gICAgXSxcbiAgICBzZXRUZWFtQWNjZXNzUmVzdHJpY3Rpb25zOiBbXG4gICAgICBcIlBVVCAvcmVwb3Mve293bmVyfS97cmVwb30vYnJhbmNoZXMve2JyYW5jaH0vcHJvdGVjdGlvbi9yZXN0cmljdGlvbnMvdGVhbXNcIixcbiAgICAgIHt9LFxuICAgICAgeyBtYXBUb0RhdGE6IFwidGVhbXNcIiB9XG4gICAgXSxcbiAgICBzZXRVc2VyQWNjZXNzUmVzdHJpY3Rpb25zOiBbXG4gICAgICBcIlBVVCAvcmVwb3Mve293bmVyfS97cmVwb30vYnJhbmNoZXMve2JyYW5jaH0vcHJvdGVjdGlvbi9yZXN0cmljdGlvbnMvdXNlcnNcIixcbiAgICAgIHt9LFxuICAgICAgeyBtYXBUb0RhdGE6IFwidXNlcnNcIiB9XG4gICAgXSxcbiAgICB0ZXN0UHVzaFdlYmhvb2s6IFtcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L2hvb2tzL3tob29rX2lkfS90ZXN0c1wiXSxcbiAgICB0cmFuc2ZlcjogW1wiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vdHJhbnNmZXJcIl0sXG4gICAgdXBkYXRlOiBbXCJQQVRDSCAvcmVwb3Mve293bmVyfS97cmVwb31cIl0sXG4gICAgdXBkYXRlQnJhbmNoUHJvdGVjdGlvbjogW1xuICAgICAgXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L2JyYW5jaGVzL3ticmFuY2h9L3Byb3RlY3Rpb25cIlxuICAgIF0sXG4gICAgdXBkYXRlQ29tbWl0Q29tbWVudDogW1wiUEFUQ0ggL3JlcG9zL3tvd25lcn0ve3JlcG99L2NvbW1lbnRzL3tjb21tZW50X2lkfVwiXSxcbiAgICB1cGRhdGVEZXBsb3ltZW50QnJhbmNoUG9saWN5OiBbXG4gICAgICBcIlBVVCAvcmVwb3Mve293bmVyfS97cmVwb30vZW52aXJvbm1lbnRzL3tlbnZpcm9ubWVudF9uYW1lfS9kZXBsb3ltZW50LWJyYW5jaC1wb2xpY2llcy97YnJhbmNoX3BvbGljeV9pZH1cIlxuICAgIF0sXG4gICAgdXBkYXRlSW5mb3JtYXRpb25BYm91dFBhZ2VzU2l0ZTogW1wiUFVUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9wYWdlc1wiXSxcbiAgICB1cGRhdGVJbnZpdGF0aW9uOiBbXG4gICAgICBcIlBBVENIIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9pbnZpdGF0aW9ucy97aW52aXRhdGlvbl9pZH1cIlxuICAgIF0sXG4gICAgdXBkYXRlT3JnUnVsZXNldDogW1wiUFVUIC9vcmdzL3tvcmd9L3J1bGVzZXRzL3tydWxlc2V0X2lkfVwiXSxcbiAgICB1cGRhdGVQdWxsUmVxdWVzdFJldmlld1Byb3RlY3Rpb246IFtcbiAgICAgIFwiUEFUQ0ggL3JlcG9zL3tvd25lcn0ve3JlcG99L2JyYW5jaGVzL3ticmFuY2h9L3Byb3RlY3Rpb24vcmVxdWlyZWRfcHVsbF9yZXF1ZXN0X3Jldmlld3NcIlxuICAgIF0sXG4gICAgdXBkYXRlUmVsZWFzZTogW1wiUEFUQ0ggL3JlcG9zL3tvd25lcn0ve3JlcG99L3JlbGVhc2VzL3tyZWxlYXNlX2lkfVwiXSxcbiAgICB1cGRhdGVSZWxlYXNlQXNzZXQ6IFtcbiAgICAgIFwiUEFUQ0ggL3JlcG9zL3tvd25lcn0ve3JlcG99L3JlbGVhc2VzL2Fzc2V0cy97YXNzZXRfaWR9XCJcbiAgICBdLFxuICAgIHVwZGF0ZVJlcG9SdWxlc2V0OiBbXCJQVVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3J1bGVzZXRzL3tydWxlc2V0X2lkfVwiXSxcbiAgICB1cGRhdGVTdGF0dXNDaGVja1BvdGVjdGlvbjogW1xuICAgICAgXCJQQVRDSCAvcmVwb3Mve293bmVyfS97cmVwb30vYnJhbmNoZXMve2JyYW5jaH0vcHJvdGVjdGlvbi9yZXF1aXJlZF9zdGF0dXNfY2hlY2tzXCIsXG4gICAgICB7fSxcbiAgICAgIHsgcmVuYW1lZDogW1wicmVwb3NcIiwgXCJ1cGRhdGVTdGF0dXNDaGVja1Byb3RlY3Rpb25cIl0gfVxuICAgIF0sXG4gICAgdXBkYXRlU3RhdHVzQ2hlY2tQcm90ZWN0aW9uOiBbXG4gICAgICBcIlBBVENIIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9icmFuY2hlcy97YnJhbmNofS9wcm90ZWN0aW9uL3JlcXVpcmVkX3N0YXR1c19jaGVja3NcIlxuICAgIF0sXG4gICAgdXBkYXRlV2ViaG9vazogW1wiUEFUQ0ggL3JlcG9zL3tvd25lcn0ve3JlcG99L2hvb2tzL3tob29rX2lkfVwiXSxcbiAgICB1cGRhdGVXZWJob29rQ29uZmlnRm9yUmVwbzogW1xuICAgICAgXCJQQVRDSCAvcmVwb3Mve293bmVyfS97cmVwb30vaG9va3Mve2hvb2tfaWR9L2NvbmZpZ1wiXG4gICAgXSxcbiAgICB1cGxvYWRSZWxlYXNlQXNzZXQ6IFtcbiAgICAgIFwiUE9TVCAvcmVwb3Mve293bmVyfS97cmVwb30vcmVsZWFzZXMve3JlbGVhc2VfaWR9L2Fzc2V0c3s/bmFtZSxsYWJlbH1cIixcbiAgICAgIHsgYmFzZVVybDogXCJodHRwczovL3VwbG9hZHMuZ2l0aHViLmNvbVwiIH1cbiAgICBdXG4gIH0sXG4gIHNlYXJjaDoge1xuICAgIGNvZGU6IFtcIkdFVCAvc2VhcmNoL2NvZGVcIl0sXG4gICAgY29tbWl0czogW1wiR0VUIC9zZWFyY2gvY29tbWl0c1wiXSxcbiAgICBpc3N1ZXNBbmRQdWxsUmVxdWVzdHM6IFtcIkdFVCAvc2VhcmNoL2lzc3Vlc1wiXSxcbiAgICBsYWJlbHM6IFtcIkdFVCAvc2VhcmNoL2xhYmVsc1wiXSxcbiAgICByZXBvczogW1wiR0VUIC9zZWFyY2gvcmVwb3NpdG9yaWVzXCJdLFxuICAgIHRvcGljczogW1wiR0VUIC9zZWFyY2gvdG9waWNzXCJdLFxuICAgIHVzZXJzOiBbXCJHRVQgL3NlYXJjaC91c2Vyc1wiXVxuICB9LFxuICBzZWNyZXRTY2FubmluZzoge1xuICAgIGdldEFsZXJ0OiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vc2VjcmV0LXNjYW5uaW5nL2FsZXJ0cy97YWxlcnRfbnVtYmVyfVwiXG4gICAgXSxcbiAgICBsaXN0QWxlcnRzRm9yRW50ZXJwcmlzZTogW1xuICAgICAgXCJHRVQgL2VudGVycHJpc2VzL3tlbnRlcnByaXNlfS9zZWNyZXQtc2Nhbm5pbmcvYWxlcnRzXCJcbiAgICBdLFxuICAgIGxpc3RBbGVydHNGb3JPcmc6IFtcIkdFVCAvb3Jncy97b3JnfS9zZWNyZXQtc2Nhbm5pbmcvYWxlcnRzXCJdLFxuICAgIGxpc3RBbGVydHNGb3JSZXBvOiBbXCJHRVQgL3JlcG9zL3tvd25lcn0ve3JlcG99L3NlY3JldC1zY2FubmluZy9hbGVydHNcIl0sXG4gICAgbGlzdExvY2F0aW9uc0ZvckFsZXJ0OiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vc2VjcmV0LXNjYW5uaW5nL2FsZXJ0cy97YWxlcnRfbnVtYmVyfS9sb2NhdGlvbnNcIlxuICAgIF0sXG4gICAgdXBkYXRlQWxlcnQ6IFtcbiAgICAgIFwiUEFUQ0ggL3JlcG9zL3tvd25lcn0ve3JlcG99L3NlY3JldC1zY2FubmluZy9hbGVydHMve2FsZXJ0X251bWJlcn1cIlxuICAgIF1cbiAgfSxcbiAgc2VjdXJpdHlBZHZpc29yaWVzOiB7XG4gICAgY3JlYXRlRm9yazogW1xuICAgICAgXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9zZWN1cml0eS1hZHZpc29yaWVzL3tnaHNhX2lkfS9mb3Jrc1wiXG4gICAgXSxcbiAgICBjcmVhdGVQcml2YXRlVnVsbmVyYWJpbGl0eVJlcG9ydDogW1xuICAgICAgXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9zZWN1cml0eS1hZHZpc29yaWVzL3JlcG9ydHNcIlxuICAgIF0sXG4gICAgY3JlYXRlUmVwb3NpdG9yeUFkdmlzb3J5OiBbXG4gICAgICBcIlBPU1QgL3JlcG9zL3tvd25lcn0ve3JlcG99L3NlY3VyaXR5LWFkdmlzb3JpZXNcIlxuICAgIF0sXG4gICAgY3JlYXRlUmVwb3NpdG9yeUFkdmlzb3J5Q3ZlUmVxdWVzdDogW1xuICAgICAgXCJQT1NUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9zZWN1cml0eS1hZHZpc29yaWVzL3tnaHNhX2lkfS9jdmVcIlxuICAgIF0sXG4gICAgZ2V0R2xvYmFsQWR2aXNvcnk6IFtcIkdFVCAvYWR2aXNvcmllcy97Z2hzYV9pZH1cIl0sXG4gICAgZ2V0UmVwb3NpdG9yeUFkdmlzb3J5OiBbXG4gICAgICBcIkdFVCAvcmVwb3Mve293bmVyfS97cmVwb30vc2VjdXJpdHktYWR2aXNvcmllcy97Z2hzYV9pZH1cIlxuICAgIF0sXG4gICAgbGlzdEdsb2JhbEFkdmlzb3JpZXM6IFtcIkdFVCAvYWR2aXNvcmllc1wiXSxcbiAgICBsaXN0T3JnUmVwb3NpdG9yeUFkdmlzb3JpZXM6IFtcIkdFVCAvb3Jncy97b3JnfS9zZWN1cml0eS1hZHZpc29yaWVzXCJdLFxuICAgIGxpc3RSZXBvc2l0b3J5QWR2aXNvcmllczogW1wiR0VUIC9yZXBvcy97b3duZXJ9L3tyZXBvfS9zZWN1cml0eS1hZHZpc29yaWVzXCJdLFxuICAgIHVwZGF0ZVJlcG9zaXRvcnlBZHZpc29yeTogW1xuICAgICAgXCJQQVRDSCAvcmVwb3Mve293bmVyfS97cmVwb30vc2VjdXJpdHktYWR2aXNvcmllcy97Z2hzYV9pZH1cIlxuICAgIF1cbiAgfSxcbiAgdGVhbXM6IHtcbiAgICBhZGRPclVwZGF0ZU1lbWJlcnNoaXBGb3JVc2VySW5Pcmc6IFtcbiAgICAgIFwiUFVUIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L21lbWJlcnNoaXBzL3t1c2VybmFtZX1cIlxuICAgIF0sXG4gICAgYWRkT3JVcGRhdGVQcm9qZWN0UGVybWlzc2lvbnNJbk9yZzogW1xuICAgICAgXCJQVVQgL29yZ3Mve29yZ30vdGVhbXMve3RlYW1fc2x1Z30vcHJvamVjdHMve3Byb2plY3RfaWR9XCJcbiAgICBdLFxuICAgIGFkZE9yVXBkYXRlUmVwb1Blcm1pc3Npb25zSW5Pcmc6IFtcbiAgICAgIFwiUFVUIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L3JlcG9zL3tvd25lcn0ve3JlcG99XCJcbiAgICBdLFxuICAgIGNoZWNrUGVybWlzc2lvbnNGb3JQcm9qZWN0SW5Pcmc6IFtcbiAgICAgIFwiR0VUIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L3Byb2plY3RzL3twcm9qZWN0X2lkfVwiXG4gICAgXSxcbiAgICBjaGVja1Blcm1pc3Npb25zRm9yUmVwb0luT3JnOiBbXG4gICAgICBcIkdFVCAvb3Jncy97b3JnfS90ZWFtcy97dGVhbV9zbHVnfS9yZXBvcy97b3duZXJ9L3tyZXBvfVwiXG4gICAgXSxcbiAgICBjcmVhdGU6IFtcIlBPU1QgL29yZ3Mve29yZ30vdGVhbXNcIl0sXG4gICAgY3JlYXRlRGlzY3Vzc2lvbkNvbW1lbnRJbk9yZzogW1xuICAgICAgXCJQT1NUIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L2Rpc2N1c3Npb25zL3tkaXNjdXNzaW9uX251bWJlcn0vY29tbWVudHNcIlxuICAgIF0sXG4gICAgY3JlYXRlRGlzY3Vzc2lvbkluT3JnOiBbXCJQT1NUIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L2Rpc2N1c3Npb25zXCJdLFxuICAgIGRlbGV0ZURpc2N1c3Npb25Db21tZW50SW5Pcmc6IFtcbiAgICAgIFwiREVMRVRFIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L2Rpc2N1c3Npb25zL3tkaXNjdXNzaW9uX251bWJlcn0vY29tbWVudHMve2NvbW1lbnRfbnVtYmVyfVwiXG4gICAgXSxcbiAgICBkZWxldGVEaXNjdXNzaW9uSW5Pcmc6IFtcbiAgICAgIFwiREVMRVRFIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L2Rpc2N1c3Npb25zL3tkaXNjdXNzaW9uX251bWJlcn1cIlxuICAgIF0sXG4gICAgZGVsZXRlSW5Pcmc6IFtcIkRFTEVURSAvb3Jncy97b3JnfS90ZWFtcy97dGVhbV9zbHVnfVwiXSxcbiAgICBnZXRCeU5hbWU6IFtcIkdFVCAvb3Jncy97b3JnfS90ZWFtcy97dGVhbV9zbHVnfVwiXSxcbiAgICBnZXREaXNjdXNzaW9uQ29tbWVudEluT3JnOiBbXG4gICAgICBcIkdFVCAvb3Jncy97b3JnfS90ZWFtcy97dGVhbV9zbHVnfS9kaXNjdXNzaW9ucy97ZGlzY3Vzc2lvbl9udW1iZXJ9L2NvbW1lbnRzL3tjb21tZW50X251bWJlcn1cIlxuICAgIF0sXG4gICAgZ2V0RGlzY3Vzc2lvbkluT3JnOiBbXG4gICAgICBcIkdFVCAvb3Jncy97b3JnfS90ZWFtcy97dGVhbV9zbHVnfS9kaXNjdXNzaW9ucy97ZGlzY3Vzc2lvbl9udW1iZXJ9XCJcbiAgICBdLFxuICAgIGdldE1lbWJlcnNoaXBGb3JVc2VySW5Pcmc6IFtcbiAgICAgIFwiR0VUIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L21lbWJlcnNoaXBzL3t1c2VybmFtZX1cIlxuICAgIF0sXG4gICAgbGlzdDogW1wiR0VUIC9vcmdzL3tvcmd9L3RlYW1zXCJdLFxuICAgIGxpc3RDaGlsZEluT3JnOiBbXCJHRVQgL29yZ3Mve29yZ30vdGVhbXMve3RlYW1fc2x1Z30vdGVhbXNcIl0sXG4gICAgbGlzdERpc2N1c3Npb25Db21tZW50c0luT3JnOiBbXG4gICAgICBcIkdFVCAvb3Jncy97b3JnfS90ZWFtcy97dGVhbV9zbHVnfS9kaXNjdXNzaW9ucy97ZGlzY3Vzc2lvbl9udW1iZXJ9L2NvbW1lbnRzXCJcbiAgICBdLFxuICAgIGxpc3REaXNjdXNzaW9uc0luT3JnOiBbXCJHRVQgL29yZ3Mve29yZ30vdGVhbXMve3RlYW1fc2x1Z30vZGlzY3Vzc2lvbnNcIl0sXG4gICAgbGlzdEZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJHRVQgL3VzZXIvdGVhbXNcIl0sXG4gICAgbGlzdE1lbWJlcnNJbk9yZzogW1wiR0VUIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L21lbWJlcnNcIl0sXG4gICAgbGlzdFBlbmRpbmdJbnZpdGF0aW9uc0luT3JnOiBbXG4gICAgICBcIkdFVCAvb3Jncy97b3JnfS90ZWFtcy97dGVhbV9zbHVnfS9pbnZpdGF0aW9uc1wiXG4gICAgXSxcbiAgICBsaXN0UHJvamVjdHNJbk9yZzogW1wiR0VUIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L3Byb2plY3RzXCJdLFxuICAgIGxpc3RSZXBvc0luT3JnOiBbXCJHRVQgL29yZ3Mve29yZ30vdGVhbXMve3RlYW1fc2x1Z30vcmVwb3NcIl0sXG4gICAgcmVtb3ZlTWVtYmVyc2hpcEZvclVzZXJJbk9yZzogW1xuICAgICAgXCJERUxFVEUgL29yZ3Mve29yZ30vdGVhbXMve3RlYW1fc2x1Z30vbWVtYmVyc2hpcHMve3VzZXJuYW1lfVwiXG4gICAgXSxcbiAgICByZW1vdmVQcm9qZWN0SW5Pcmc6IFtcbiAgICAgIFwiREVMRVRFIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L3Byb2plY3RzL3twcm9qZWN0X2lkfVwiXG4gICAgXSxcbiAgICByZW1vdmVSZXBvSW5Pcmc6IFtcbiAgICAgIFwiREVMRVRFIC9vcmdzL3tvcmd9L3RlYW1zL3t0ZWFtX3NsdWd9L3JlcG9zL3tvd25lcn0ve3JlcG99XCJcbiAgICBdLFxuICAgIHVwZGF0ZURpc2N1c3Npb25Db21tZW50SW5Pcmc6IFtcbiAgICAgIFwiUEFUQ0ggL29yZ3Mve29yZ30vdGVhbXMve3RlYW1fc2x1Z30vZGlzY3Vzc2lvbnMve2Rpc2N1c3Npb25fbnVtYmVyfS9jb21tZW50cy97Y29tbWVudF9udW1iZXJ9XCJcbiAgICBdLFxuICAgIHVwZGF0ZURpc2N1c3Npb25Jbk9yZzogW1xuICAgICAgXCJQQVRDSCAvb3Jncy97b3JnfS90ZWFtcy97dGVhbV9zbHVnfS9kaXNjdXNzaW9ucy97ZGlzY3Vzc2lvbl9udW1iZXJ9XCJcbiAgICBdLFxuICAgIHVwZGF0ZUluT3JnOiBbXCJQQVRDSCAvb3Jncy97b3JnfS90ZWFtcy97dGVhbV9zbHVnfVwiXVxuICB9LFxuICB1c2Vyczoge1xuICAgIGFkZEVtYWlsRm9yQXV0aGVudGljYXRlZDogW1xuICAgICAgXCJQT1NUIC91c2VyL2VtYWlsc1wiLFxuICAgICAge30sXG4gICAgICB7IHJlbmFtZWQ6IFtcInVzZXJzXCIsIFwiYWRkRW1haWxGb3JBdXRoZW50aWNhdGVkVXNlclwiXSB9XG4gICAgXSxcbiAgICBhZGRFbWFpbEZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJQT1NUIC91c2VyL2VtYWlsc1wiXSxcbiAgICBhZGRTb2NpYWxBY2NvdW50Rm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIlBPU1QgL3VzZXIvc29jaWFsX2FjY291bnRzXCJdLFxuICAgIGJsb2NrOiBbXCJQVVQgL3VzZXIvYmxvY2tzL3t1c2VybmFtZX1cIl0sXG4gICAgY2hlY2tCbG9ja2VkOiBbXCJHRVQgL3VzZXIvYmxvY2tzL3t1c2VybmFtZX1cIl0sXG4gICAgY2hlY2tGb2xsb3dpbmdGb3JVc2VyOiBbXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vZm9sbG93aW5nL3t0YXJnZXRfdXNlcn1cIl0sXG4gICAgY2hlY2tQZXJzb25Jc0ZvbGxvd2VkQnlBdXRoZW50aWNhdGVkOiBbXCJHRVQgL3VzZXIvZm9sbG93aW5nL3t1c2VybmFtZX1cIl0sXG4gICAgY3JlYXRlR3BnS2V5Rm9yQXV0aGVudGljYXRlZDogW1xuICAgICAgXCJQT1NUIC91c2VyL2dwZ19rZXlzXCIsXG4gICAgICB7fSxcbiAgICAgIHsgcmVuYW1lZDogW1widXNlcnNcIiwgXCJjcmVhdGVHcGdLZXlGb3JBdXRoZW50aWNhdGVkVXNlclwiXSB9XG4gICAgXSxcbiAgICBjcmVhdGVHcGdLZXlGb3JBdXRoZW50aWNhdGVkVXNlcjogW1wiUE9TVCAvdXNlci9ncGdfa2V5c1wiXSxcbiAgICBjcmVhdGVQdWJsaWNTc2hLZXlGb3JBdXRoZW50aWNhdGVkOiBbXG4gICAgICBcIlBPU1QgL3VzZXIva2V5c1wiLFxuICAgICAge30sXG4gICAgICB7IHJlbmFtZWQ6IFtcInVzZXJzXCIsIFwiY3JlYXRlUHVibGljU3NoS2V5Rm9yQXV0aGVudGljYXRlZFVzZXJcIl0gfVxuICAgIF0sXG4gICAgY3JlYXRlUHVibGljU3NoS2V5Rm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIlBPU1QgL3VzZXIva2V5c1wiXSxcbiAgICBjcmVhdGVTc2hTaWduaW5nS2V5Rm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIlBPU1QgL3VzZXIvc3NoX3NpZ25pbmdfa2V5c1wiXSxcbiAgICBkZWxldGVFbWFpbEZvckF1dGhlbnRpY2F0ZWQ6IFtcbiAgICAgIFwiREVMRVRFIC91c2VyL2VtYWlsc1wiLFxuICAgICAge30sXG4gICAgICB7IHJlbmFtZWQ6IFtcInVzZXJzXCIsIFwiZGVsZXRlRW1haWxGb3JBdXRoZW50aWNhdGVkVXNlclwiXSB9XG4gICAgXSxcbiAgICBkZWxldGVFbWFpbEZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJERUxFVEUgL3VzZXIvZW1haWxzXCJdLFxuICAgIGRlbGV0ZUdwZ0tleUZvckF1dGhlbnRpY2F0ZWQ6IFtcbiAgICAgIFwiREVMRVRFIC91c2VyL2dwZ19rZXlzL3tncGdfa2V5X2lkfVwiLFxuICAgICAge30sXG4gICAgICB7IHJlbmFtZWQ6IFtcInVzZXJzXCIsIFwiZGVsZXRlR3BnS2V5Rm9yQXV0aGVudGljYXRlZFVzZXJcIl0gfVxuICAgIF0sXG4gICAgZGVsZXRlR3BnS2V5Rm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIkRFTEVURSAvdXNlci9ncGdfa2V5cy97Z3BnX2tleV9pZH1cIl0sXG4gICAgZGVsZXRlUHVibGljU3NoS2V5Rm9yQXV0aGVudGljYXRlZDogW1xuICAgICAgXCJERUxFVEUgL3VzZXIva2V5cy97a2V5X2lkfVwiLFxuICAgICAge30sXG4gICAgICB7IHJlbmFtZWQ6IFtcInVzZXJzXCIsIFwiZGVsZXRlUHVibGljU3NoS2V5Rm9yQXV0aGVudGljYXRlZFVzZXJcIl0gfVxuICAgIF0sXG4gICAgZGVsZXRlUHVibGljU3NoS2V5Rm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIkRFTEVURSAvdXNlci9rZXlzL3trZXlfaWR9XCJdLFxuICAgIGRlbGV0ZVNvY2lhbEFjY291bnRGb3JBdXRoZW50aWNhdGVkVXNlcjogW1wiREVMRVRFIC91c2VyL3NvY2lhbF9hY2NvdW50c1wiXSxcbiAgICBkZWxldGVTc2hTaWduaW5nS2V5Rm9yQXV0aGVudGljYXRlZFVzZXI6IFtcbiAgICAgIFwiREVMRVRFIC91c2VyL3NzaF9zaWduaW5nX2tleXMve3NzaF9zaWduaW5nX2tleV9pZH1cIlxuICAgIF0sXG4gICAgZm9sbG93OiBbXCJQVVQgL3VzZXIvZm9sbG93aW5nL3t1c2VybmFtZX1cIl0sXG4gICAgZ2V0QXV0aGVudGljYXRlZDogW1wiR0VUIC91c2VyXCJdLFxuICAgIGdldEJ5VXNlcm5hbWU6IFtcIkdFVCAvdXNlcnMve3VzZXJuYW1lfVwiXSxcbiAgICBnZXRDb250ZXh0Rm9yVXNlcjogW1wiR0VUIC91c2Vycy97dXNlcm5hbWV9L2hvdmVyY2FyZFwiXSxcbiAgICBnZXRHcGdLZXlGb3JBdXRoZW50aWNhdGVkOiBbXG4gICAgICBcIkdFVCAvdXNlci9ncGdfa2V5cy97Z3BnX2tleV9pZH1cIixcbiAgICAgIHt9LFxuICAgICAgeyByZW5hbWVkOiBbXCJ1c2Vyc1wiLCBcImdldEdwZ0tleUZvckF1dGhlbnRpY2F0ZWRVc2VyXCJdIH1cbiAgICBdLFxuICAgIGdldEdwZ0tleUZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJHRVQgL3VzZXIvZ3BnX2tleXMve2dwZ19rZXlfaWR9XCJdLFxuICAgIGdldFB1YmxpY1NzaEtleUZvckF1dGhlbnRpY2F0ZWQ6IFtcbiAgICAgIFwiR0VUIC91c2VyL2tleXMve2tleV9pZH1cIixcbiAgICAgIHt9LFxuICAgICAgeyByZW5hbWVkOiBbXCJ1c2Vyc1wiLCBcImdldFB1YmxpY1NzaEtleUZvckF1dGhlbnRpY2F0ZWRVc2VyXCJdIH1cbiAgICBdLFxuICAgIGdldFB1YmxpY1NzaEtleUZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJHRVQgL3VzZXIva2V5cy97a2V5X2lkfVwiXSxcbiAgICBnZXRTc2hTaWduaW5nS2V5Rm9yQXV0aGVudGljYXRlZFVzZXI6IFtcbiAgICAgIFwiR0VUIC91c2VyL3NzaF9zaWduaW5nX2tleXMve3NzaF9zaWduaW5nX2tleV9pZH1cIlxuICAgIF0sXG4gICAgbGlzdDogW1wiR0VUIC91c2Vyc1wiXSxcbiAgICBsaXN0QmxvY2tlZEJ5QXV0aGVudGljYXRlZDogW1xuICAgICAgXCJHRVQgL3VzZXIvYmxvY2tzXCIsXG4gICAgICB7fSxcbiAgICAgIHsgcmVuYW1lZDogW1widXNlcnNcIiwgXCJsaXN0QmxvY2tlZEJ5QXV0aGVudGljYXRlZFVzZXJcIl0gfVxuICAgIF0sXG4gICAgbGlzdEJsb2NrZWRCeUF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJHRVQgL3VzZXIvYmxvY2tzXCJdLFxuICAgIGxpc3RFbWFpbHNGb3JBdXRoZW50aWNhdGVkOiBbXG4gICAgICBcIkdFVCAvdXNlci9lbWFpbHNcIixcbiAgICAgIHt9LFxuICAgICAgeyByZW5hbWVkOiBbXCJ1c2Vyc1wiLCBcImxpc3RFbWFpbHNGb3JBdXRoZW50aWNhdGVkVXNlclwiXSB9XG4gICAgXSxcbiAgICBsaXN0RW1haWxzRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIkdFVCAvdXNlci9lbWFpbHNcIl0sXG4gICAgbGlzdEZvbGxvd2VkQnlBdXRoZW50aWNhdGVkOiBbXG4gICAgICBcIkdFVCAvdXNlci9mb2xsb3dpbmdcIixcbiAgICAgIHt9LFxuICAgICAgeyByZW5hbWVkOiBbXCJ1c2Vyc1wiLCBcImxpc3RGb2xsb3dlZEJ5QXV0aGVudGljYXRlZFVzZXJcIl0gfVxuICAgIF0sXG4gICAgbGlzdEZvbGxvd2VkQnlBdXRoZW50aWNhdGVkVXNlcjogW1wiR0VUIC91c2VyL2ZvbGxvd2luZ1wiXSxcbiAgICBsaXN0Rm9sbG93ZXJzRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIkdFVCAvdXNlci9mb2xsb3dlcnNcIl0sXG4gICAgbGlzdEZvbGxvd2Vyc0ZvclVzZXI6IFtcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9mb2xsb3dlcnNcIl0sXG4gICAgbGlzdEZvbGxvd2luZ0ZvclVzZXI6IFtcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9mb2xsb3dpbmdcIl0sXG4gICAgbGlzdEdwZ0tleXNGb3JBdXRoZW50aWNhdGVkOiBbXG4gICAgICBcIkdFVCAvdXNlci9ncGdfa2V5c1wiLFxuICAgICAge30sXG4gICAgICB7IHJlbmFtZWQ6IFtcInVzZXJzXCIsIFwibGlzdEdwZ0tleXNGb3JBdXRoZW50aWNhdGVkVXNlclwiXSB9XG4gICAgXSxcbiAgICBsaXN0R3BnS2V5c0ZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJHRVQgL3VzZXIvZ3BnX2tleXNcIl0sXG4gICAgbGlzdEdwZ0tleXNGb3JVc2VyOiBbXCJHRVQgL3VzZXJzL3t1c2VybmFtZX0vZ3BnX2tleXNcIl0sXG4gICAgbGlzdFB1YmxpY0VtYWlsc0ZvckF1dGhlbnRpY2F0ZWQ6IFtcbiAgICAgIFwiR0VUIC91c2VyL3B1YmxpY19lbWFpbHNcIixcbiAgICAgIHt9LFxuICAgICAgeyByZW5hbWVkOiBbXCJ1c2Vyc1wiLCBcImxpc3RQdWJsaWNFbWFpbHNGb3JBdXRoZW50aWNhdGVkVXNlclwiXSB9XG4gICAgXSxcbiAgICBsaXN0UHVibGljRW1haWxzRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIkdFVCAvdXNlci9wdWJsaWNfZW1haWxzXCJdLFxuICAgIGxpc3RQdWJsaWNLZXlzRm9yVXNlcjogW1wiR0VUIC91c2Vycy97dXNlcm5hbWV9L2tleXNcIl0sXG4gICAgbGlzdFB1YmxpY1NzaEtleXNGb3JBdXRoZW50aWNhdGVkOiBbXG4gICAgICBcIkdFVCAvdXNlci9rZXlzXCIsXG4gICAgICB7fSxcbiAgICAgIHsgcmVuYW1lZDogW1widXNlcnNcIiwgXCJsaXN0UHVibGljU3NoS2V5c0ZvckF1dGhlbnRpY2F0ZWRVc2VyXCJdIH1cbiAgICBdLFxuICAgIGxpc3RQdWJsaWNTc2hLZXlzRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIkdFVCAvdXNlci9rZXlzXCJdLFxuICAgIGxpc3RTb2NpYWxBY2NvdW50c0ZvckF1dGhlbnRpY2F0ZWRVc2VyOiBbXCJHRVQgL3VzZXIvc29jaWFsX2FjY291bnRzXCJdLFxuICAgIGxpc3RTb2NpYWxBY2NvdW50c0ZvclVzZXI6IFtcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9zb2NpYWxfYWNjb3VudHNcIl0sXG4gICAgbGlzdFNzaFNpZ25pbmdLZXlzRm9yQXV0aGVudGljYXRlZFVzZXI6IFtcIkdFVCAvdXNlci9zc2hfc2lnbmluZ19rZXlzXCJdLFxuICAgIGxpc3RTc2hTaWduaW5nS2V5c0ZvclVzZXI6IFtcIkdFVCAvdXNlcnMve3VzZXJuYW1lfS9zc2hfc2lnbmluZ19rZXlzXCJdLFxuICAgIHNldFByaW1hcnlFbWFpbFZpc2liaWxpdHlGb3JBdXRoZW50aWNhdGVkOiBbXG4gICAgICBcIlBBVENIIC91c2VyL2VtYWlsL3Zpc2liaWxpdHlcIixcbiAgICAgIHt9LFxuICAgICAgeyByZW5hbWVkOiBbXCJ1c2Vyc1wiLCBcInNldFByaW1hcnlFbWFpbFZpc2liaWxpdHlGb3JBdXRoZW50aWNhdGVkVXNlclwiXSB9XG4gICAgXSxcbiAgICBzZXRQcmltYXJ5RW1haWxWaXNpYmlsaXR5Rm9yQXV0aGVudGljYXRlZFVzZXI6IFtcbiAgICAgIFwiUEFUQ0ggL3VzZXIvZW1haWwvdmlzaWJpbGl0eVwiXG4gICAgXSxcbiAgICB1bmJsb2NrOiBbXCJERUxFVEUgL3VzZXIvYmxvY2tzL3t1c2VybmFtZX1cIl0sXG4gICAgdW5mb2xsb3c6IFtcIkRFTEVURSAvdXNlci9mb2xsb3dpbmcve3VzZXJuYW1lfVwiXSxcbiAgICB1cGRhdGVBdXRoZW50aWNhdGVkOiBbXCJQQVRDSCAvdXNlclwiXVxuICB9XG59O1xudmFyIGVuZHBvaW50c19kZWZhdWx0ID0gRW5kcG9pbnRzO1xuXG4vLyBwa2cvZGlzdC1zcmMvZW5kcG9pbnRzLXRvLW1ldGhvZHMuanNcbnZhciBlbmRwb2ludE1ldGhvZHNNYXAgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuZm9yIChjb25zdCBbc2NvcGUsIGVuZHBvaW50c10gb2YgT2JqZWN0LmVudHJpZXMoZW5kcG9pbnRzX2RlZmF1bHQpKSB7XG4gIGZvciAoY29uc3QgW21ldGhvZE5hbWUsIGVuZHBvaW50XSBvZiBPYmplY3QuZW50cmllcyhlbmRwb2ludHMpKSB7XG4gICAgY29uc3QgW3JvdXRlLCBkZWZhdWx0cywgZGVjb3JhdGlvbnNdID0gZW5kcG9pbnQ7XG4gICAgY29uc3QgW21ldGhvZCwgdXJsXSA9IHJvdXRlLnNwbGl0KC8gLyk7XG4gICAgY29uc3QgZW5kcG9pbnREZWZhdWx0cyA9IE9iamVjdC5hc3NpZ24oXG4gICAgICB7XG4gICAgICAgIG1ldGhvZCxcbiAgICAgICAgdXJsXG4gICAgICB9LFxuICAgICAgZGVmYXVsdHNcbiAgICApO1xuICAgIGlmICghZW5kcG9pbnRNZXRob2RzTWFwLmhhcyhzY29wZSkpIHtcbiAgICAgIGVuZHBvaW50TWV0aG9kc01hcC5zZXQoc2NvcGUsIC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCkpO1xuICAgIH1cbiAgICBlbmRwb2ludE1ldGhvZHNNYXAuZ2V0KHNjb3BlKS5zZXQobWV0aG9kTmFtZSwge1xuICAgICAgc2NvcGUsXG4gICAgICBtZXRob2ROYW1lLFxuICAgICAgZW5kcG9pbnREZWZhdWx0cyxcbiAgICAgIGRlY29yYXRpb25zXG4gICAgfSk7XG4gIH1cbn1cbnZhciBoYW5kbGVyID0ge1xuICBoYXMoeyBzY29wZSB9LCBtZXRob2ROYW1lKSB7XG4gICAgcmV0dXJuIGVuZHBvaW50TWV0aG9kc01hcC5nZXQoc2NvcGUpLmhhcyhtZXRob2ROYW1lKTtcbiAgfSxcbiAgZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHRhcmdldCwgbWV0aG9kTmFtZSkge1xuICAgIHJldHVybiB7XG4gICAgICB2YWx1ZTogdGhpcy5nZXQodGFyZ2V0LCBtZXRob2ROYW1lKSxcbiAgICAgIC8vIGVuc3VyZXMgbWV0aG9kIGlzIGluIHRoZSBjYWNoZVxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlXG4gICAgfTtcbiAgfSxcbiAgZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBtZXRob2ROYW1lLCBkZXNjcmlwdG9yKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldC5jYWNoZSwgbWV0aG9kTmFtZSwgZGVzY3JpcHRvcik7XG4gICAgcmV0dXJuIHRydWU7XG4gIH0sXG4gIGRlbGV0ZVByb3BlcnR5KHRhcmdldCwgbWV0aG9kTmFtZSkge1xuICAgIGRlbGV0ZSB0YXJnZXQuY2FjaGVbbWV0aG9kTmFtZV07XG4gICAgcmV0dXJuIHRydWU7XG4gIH0sXG4gIG93bktleXMoeyBzY29wZSB9KSB7XG4gICAgcmV0dXJuIFsuLi5lbmRwb2ludE1ldGhvZHNNYXAuZ2V0KHNjb3BlKS5rZXlzKCldO1xuICB9LFxuICBzZXQodGFyZ2V0LCBtZXRob2ROYW1lLCB2YWx1ZSkge1xuICAgIHJldHVybiB0YXJnZXQuY2FjaGVbbWV0aG9kTmFtZV0gPSB2YWx1ZTtcbiAgfSxcbiAgZ2V0KHsgb2N0b2tpdCwgc2NvcGUsIGNhY2hlIH0sIG1ldGhvZE5hbWUpIHtcbiAgICBpZiAoY2FjaGVbbWV0aG9kTmFtZV0pIHtcbiAgICAgIHJldHVybiBjYWNoZVttZXRob2ROYW1lXTtcbiAgICB9XG4gICAgY29uc3QgbWV0aG9kID0gZW5kcG9pbnRNZXRob2RzTWFwLmdldChzY29wZSkuZ2V0KG1ldGhvZE5hbWUpO1xuICAgIGlmICghbWV0aG9kKSB7XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cbiAgICBjb25zdCB7IGVuZHBvaW50RGVmYXVsdHMsIGRlY29yYXRpb25zIH0gPSBtZXRob2Q7XG4gICAgaWYgKGRlY29yYXRpb25zKSB7XG4gICAgICBjYWNoZVttZXRob2ROYW1lXSA9IGRlY29yYXRlKFxuICAgICAgICBvY3Rva2l0LFxuICAgICAgICBzY29wZSxcbiAgICAgICAgbWV0aG9kTmFtZSxcbiAgICAgICAgZW5kcG9pbnREZWZhdWx0cyxcbiAgICAgICAgZGVjb3JhdGlvbnNcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNhY2hlW21ldGhvZE5hbWVdID0gb2N0b2tpdC5yZXF1ZXN0LmRlZmF1bHRzKGVuZHBvaW50RGVmYXVsdHMpO1xuICAgIH1cbiAgICByZXR1cm4gY2FjaGVbbWV0aG9kTmFtZV07XG4gIH1cbn07XG5mdW5jdGlvbiBlbmRwb2ludHNUb01ldGhvZHMob2N0b2tpdCkge1xuICBjb25zdCBuZXdNZXRob2RzID0ge307XG4gIGZvciAoY29uc3Qgc2NvcGUgb2YgZW5kcG9pbnRNZXRob2RzTWFwLmtleXMoKSkge1xuICAgIG5ld01ldGhvZHNbc2NvcGVdID0gbmV3IFByb3h5KHsgb2N0b2tpdCwgc2NvcGUsIGNhY2hlOiB7fSB9LCBoYW5kbGVyKTtcbiAgfVxuICByZXR1cm4gbmV3TWV0aG9kcztcbn1cbmZ1bmN0aW9uIGRlY29yYXRlKG9jdG9raXQsIHNjb3BlLCBtZXRob2ROYW1lLCBkZWZhdWx0cywgZGVjb3JhdGlvbnMpIHtcbiAgY29uc3QgcmVxdWVzdFdpdGhEZWZhdWx0cyA9IG9jdG9raXQucmVxdWVzdC5kZWZhdWx0cyhkZWZhdWx0cyk7XG4gIGZ1bmN0aW9uIHdpdGhEZWNvcmF0aW9ucyguLi5hcmdzKSB7XG4gICAgbGV0IG9wdGlvbnMgPSByZXF1ZXN0V2l0aERlZmF1bHRzLmVuZHBvaW50Lm1lcmdlKC4uLmFyZ3MpO1xuICAgIGlmIChkZWNvcmF0aW9ucy5tYXBUb0RhdGEpIHtcbiAgICAgIG9wdGlvbnMgPSBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zLCB7XG4gICAgICAgIGRhdGE6IG9wdGlvbnNbZGVjb3JhdGlvbnMubWFwVG9EYXRhXSxcbiAgICAgICAgW2RlY29yYXRpb25zLm1hcFRvRGF0YV06IHZvaWQgMFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVxdWVzdFdpdGhEZWZhdWx0cyhvcHRpb25zKTtcbiAgICB9XG4gICAgaWYgKGRlY29yYXRpb25zLnJlbmFtZWQpIHtcbiAgICAgIGNvbnN0IFtuZXdTY29wZSwgbmV3TWV0aG9kTmFtZV0gPSBkZWNvcmF0aW9ucy5yZW5hbWVkO1xuICAgICAgb2N0b2tpdC5sb2cud2FybihcbiAgICAgICAgYG9jdG9raXQuJHtzY29wZX0uJHttZXRob2ROYW1lfSgpIGhhcyBiZWVuIHJlbmFtZWQgdG8gb2N0b2tpdC4ke25ld1Njb3BlfS4ke25ld01ldGhvZE5hbWV9KClgXG4gICAgICApO1xuICAgIH1cbiAgICBpZiAoZGVjb3JhdGlvbnMuZGVwcmVjYXRlZCkge1xuICAgICAgb2N0b2tpdC5sb2cud2FybihkZWNvcmF0aW9ucy5kZXByZWNhdGVkKTtcbiAgICB9XG4gICAgaWYgKGRlY29yYXRpb25zLnJlbmFtZWRQYXJhbWV0ZXJzKSB7XG4gICAgICBjb25zdCBvcHRpb25zMiA9IHJlcXVlc3RXaXRoRGVmYXVsdHMuZW5kcG9pbnQubWVyZ2UoLi4uYXJncyk7XG4gICAgICBmb3IgKGNvbnN0IFtuYW1lLCBhbGlhc10gb2YgT2JqZWN0LmVudHJpZXMoXG4gICAgICAgIGRlY29yYXRpb25zLnJlbmFtZWRQYXJhbWV0ZXJzXG4gICAgICApKSB7XG4gICAgICAgIGlmIChuYW1lIGluIG9wdGlvbnMyKSB7XG4gICAgICAgICAgb2N0b2tpdC5sb2cud2FybihcbiAgICAgICAgICAgIGBcIiR7bmFtZX1cIiBwYXJhbWV0ZXIgaXMgZGVwcmVjYXRlZCBmb3IgXCJvY3Rva2l0LiR7c2NvcGV9LiR7bWV0aG9kTmFtZX0oKVwiLiBVc2UgXCIke2FsaWFzfVwiIGluc3RlYWRgXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAoIShhbGlhcyBpbiBvcHRpb25zMikpIHtcbiAgICAgICAgICAgIG9wdGlvbnMyW2FsaWFzXSA9IG9wdGlvbnMyW25hbWVdO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkZWxldGUgb3B0aW9uczJbbmFtZV07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXF1ZXN0V2l0aERlZmF1bHRzKG9wdGlvbnMyKTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcXVlc3RXaXRoRGVmYXVsdHMoLi4uYXJncyk7XG4gIH1cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24od2l0aERlY29yYXRpb25zLCByZXF1ZXN0V2l0aERlZmF1bHRzKTtcbn1cblxuLy8gcGtnL2Rpc3Qtc3JjL2luZGV4LmpzXG5mdW5jdGlvbiByZXN0RW5kcG9pbnRNZXRob2RzKG9jdG9raXQpIHtcbiAgY29uc3QgYXBpID0gZW5kcG9pbnRzVG9NZXRob2RzKG9jdG9raXQpO1xuICByZXR1cm4ge1xuICAgIHJlc3Q6IGFwaVxuICB9O1xufVxucmVzdEVuZHBvaW50TWV0aG9kcy5WRVJTSU9OID0gVkVSU0lPTjtcbmZ1bmN0aW9uIGxlZ2FjeVJlc3RFbmRwb2ludE1ldGhvZHMob2N0b2tpdCkge1xuICBjb25zdCBhcGkgPSBlbmRwb2ludHNUb01ldGhvZHMob2N0b2tpdCk7XG4gIHJldHVybiB7XG4gICAgLi4uYXBpLFxuICAgIHJlc3Q6IGFwaVxuICB9O1xufVxubGVnYWN5UmVzdEVuZHBvaW50TWV0aG9kcy5WRVJTSU9OID0gVkVSU0lPTjtcbi8vIEFubm90YXRlIHRoZSBDb21tb25KUyBleHBvcnQgbmFtZXMgZm9yIEVTTSBpbXBvcnQgaW4gbm9kZTpcbjAgJiYgKG1vZHVsZS5leHBvcnRzID0ge1xuICBsZWdhY3lSZXN0RW5kcG9pbnRNZXRob2RzLFxuICByZXN0RW5kcG9pbnRNZXRob2RzXG59KTtcbiIsICJcInVzZSBzdHJpY3RcIjtcbnZhciBfX2RlZlByb3AgPSBPYmplY3QuZGVmaW5lUHJvcGVydHk7XG52YXIgX19nZXRPd25Qcm9wRGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7XG52YXIgX19nZXRPd25Qcm9wTmFtZXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcztcbnZhciBfX2hhc093blByb3AgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIF9fZXhwb3J0ID0gKHRhcmdldCwgYWxsKSA9PiB7XG4gIGZvciAodmFyIG5hbWUgaW4gYWxsKVxuICAgIF9fZGVmUHJvcCh0YXJnZXQsIG5hbWUsIHsgZ2V0OiBhbGxbbmFtZV0sIGVudW1lcmFibGU6IHRydWUgfSk7XG59O1xudmFyIF9fY29weVByb3BzID0gKHRvLCBmcm9tLCBleGNlcHQsIGRlc2MpID0+IHtcbiAgaWYgKGZyb20gJiYgdHlwZW9mIGZyb20gPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGZyb20gPT09IFwiZnVuY3Rpb25cIikge1xuICAgIGZvciAobGV0IGtleSBvZiBfX2dldE93blByb3BOYW1lcyhmcm9tKSlcbiAgICAgIGlmICghX19oYXNPd25Qcm9wLmNhbGwodG8sIGtleSkgJiYga2V5ICE9PSBleGNlcHQpXG4gICAgICAgIF9fZGVmUHJvcCh0bywga2V5LCB7IGdldDogKCkgPT4gZnJvbVtrZXldLCBlbnVtZXJhYmxlOiAhKGRlc2MgPSBfX2dldE93blByb3BEZXNjKGZyb20sIGtleSkpIHx8IGRlc2MuZW51bWVyYWJsZSB9KTtcbiAgfVxuICByZXR1cm4gdG87XG59O1xudmFyIF9fdG9Db21tb25KUyA9IChtb2QpID0+IF9fY29weVByb3BzKF9fZGVmUHJvcCh7fSwgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSksIG1vZCk7XG5cbi8vIHBrZy9kaXN0LXNyYy9pbmRleC5qc1xudmFyIGRpc3Rfc3JjX2V4cG9ydHMgPSB7fTtcbl9fZXhwb3J0KGRpc3Rfc3JjX2V4cG9ydHMsIHtcbiAgT2N0b2tpdDogKCkgPT4gT2N0b2tpdFxufSk7XG5tb2R1bGUuZXhwb3J0cyA9IF9fdG9Db21tb25KUyhkaXN0X3NyY19leHBvcnRzKTtcbnZhciBpbXBvcnRfY29yZSA9IHJlcXVpcmUoXCJAb2N0b2tpdC9jb3JlXCIpO1xudmFyIGltcG9ydF9wbHVnaW5fcmVxdWVzdF9sb2cgPSByZXF1aXJlKFwiQG9jdG9raXQvcGx1Z2luLXJlcXVlc3QtbG9nXCIpO1xudmFyIGltcG9ydF9wbHVnaW5fcGFnaW5hdGVfcmVzdCA9IHJlcXVpcmUoXCJAb2N0b2tpdC9wbHVnaW4tcGFnaW5hdGUtcmVzdFwiKTtcbnZhciBpbXBvcnRfcGx1Z2luX3Jlc3RfZW5kcG9pbnRfbWV0aG9kcyA9IHJlcXVpcmUoXCJAb2N0b2tpdC9wbHVnaW4tcmVzdC1lbmRwb2ludC1tZXRob2RzXCIpO1xuXG4vLyBwa2cvZGlzdC1zcmMvdmVyc2lvbi5qc1xudmFyIFZFUlNJT04gPSBcIjIwLjEuMVwiO1xuXG4vLyBwa2cvZGlzdC1zcmMvaW5kZXguanNcbnZhciBPY3Rva2l0ID0gaW1wb3J0X2NvcmUuT2N0b2tpdC5wbHVnaW4oXG4gIGltcG9ydF9wbHVnaW5fcmVxdWVzdF9sb2cucmVxdWVzdExvZyxcbiAgaW1wb3J0X3BsdWdpbl9yZXN0X2VuZHBvaW50X21ldGhvZHMubGVnYWN5UmVzdEVuZHBvaW50TWV0aG9kcyxcbiAgaW1wb3J0X3BsdWdpbl9wYWdpbmF0ZV9yZXN0LnBhZ2luYXRlUmVzdFxuKS5kZWZhdWx0cyh7XG4gIHVzZXJBZ2VudDogYG9jdG9raXQtcmVzdC5qcy8ke1ZFUlNJT059YFxufSk7XG4vLyBBbm5vdGF0ZSB0aGUgQ29tbW9uSlMgZXhwb3J0IG5hbWVzIGZvciBFU00gaW1wb3J0IGluIG5vZGU6XG4wICYmIChtb2R1bGUuZXhwb3J0cyA9IHtcbiAgT2N0b2tpdFxufSk7XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8qKlxuICogcHJvdG9jb2xzXG4gKiBSZXR1cm5zIHRoZSBwcm90b2NvbHMgb2YgYW4gaW5wdXQgdXJsLlxuICpcbiAqIEBuYW1lIHByb3RvY29sc1xuICogQGZ1bmN0aW9uXG4gKiBAcGFyYW0ge1N0cmluZ3xVUkx9IGlucHV0IFRoZSBpbnB1dCB1cmwgKHN0cmluZyBvciBgVVJMYCBpbnN0YW5jZSlcbiAqIEBwYXJhbSB7Qm9vbGVhbnxOdW1iZXJ9IGZpcnN0IElmIGB0cnVlYCwgdGhlIGZpcnN0IHByb3RvY29sIHdpbGwgYmUgcmV0dXJuZWQuIElmIG51bWJlciwgaXQgd2lsbCByZXByZXNlbnQgdGhlIHplcm8tYmFzZWQgaW5kZXggb2YgdGhlIHByb3RvY29scyBhcnJheS5cbiAqIEByZXR1cm4ge0FycmF5fFN0cmluZ30gVGhlIGFycmF5IG9mIHByb3RvY29scyBvciB0aGUgc3BlY2lmaWVkIHByb3RvY29sLlxuICovXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIHByb3RvY29scyhpbnB1dCwgZmlyc3QpIHtcblxuICAgIGlmIChmaXJzdCA9PT0gdHJ1ZSkge1xuICAgICAgICBmaXJzdCA9IDA7XG4gICAgfVxuXG4gICAgdmFyIHByb3RzID0gXCJcIjtcbiAgICBpZiAodHlwZW9mIGlucHV0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBwcm90cyA9IG5ldyBVUkwoaW5wdXQpLnByb3RvY29sO1xuICAgICAgICB9IGNhdGNoIChlKSB7fVxuICAgIH0gZWxzZSBpZiAoaW5wdXQgJiYgaW5wdXQuY29uc3RydWN0b3IgPT09IFVSTCkge1xuICAgICAgICBwcm90cyA9IGlucHV0LnByb3RvY29sO1xuICAgIH1cblxuICAgIHZhciBzcGxpdHMgPSBwcm90cy5zcGxpdCgvXFw6fFxcKy8pLmZpbHRlcihCb29sZWFuKTtcblxuICAgIGlmICh0eXBlb2YgZmlyc3QgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgcmV0dXJuIHNwbGl0c1tmaXJzdF07XG4gICAgfVxuXG4gICAgcmV0dXJuIHNwbGl0cztcbn07IiwgIlwidXNlIHN0cmljdFwiO1xuXG52YXIgcHJvdG9jb2xzID0gcmVxdWlyZShcInByb3RvY29sc1wiKTtcblxuLyoqXG4gKiBwYXJzZVBhdGhcbiAqIFBhcnNlcyB0aGUgaW5wdXQgdXJsLlxuICpcbiAqIEBuYW1lIHBhcnNlUGF0aFxuICogQGZ1bmN0aW9uXG4gKiBAcGFyYW0ge1N0cmluZ30gdXJsIFRoZSBpbnB1dCB1cmwuXG4gKiBAcmV0dXJuIHtPYmplY3R9IEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBmb2xsb3dpbmcgZmllbGRzOlxuICpcbiAqICAgIC0gYHByb3RvY29sc2AgKEFycmF5KTogQW4gYXJyYXkgd2l0aCB0aGUgdXJsIHByb3RvY29scyAodXN1YWxseSBpdCBoYXMgb25lIGVsZW1lbnQpLlxuICogICAgLSBgcHJvdG9jb2xgIChTdHJpbmcpOiBUaGUgZmlyc3QgcHJvdG9jb2wgb3IgYFwiZmlsZVwiYC5cbiAqICAgIC0gYHBvcnRgIChTdHJpbmcpOiBUaGUgZG9tYWluIHBvcnQgKGRlZmF1bHQ6IGBcIlwiYCkuXG4gKiAgICAtIGByZXNvdXJjZWAgKFN0cmluZyk6IFRoZSB1cmwgZG9tYWluL2hvc3RuYW1lLlxuICogICAgLSBgaG9zdGAgKFN0cmluZyk6IFRoZSB1cmwgZG9tYWluIChpbmNsdWRpbmcgc3ViZG9tYWluIGFuZCBwb3J0KS5cbiAqICAgIC0gYHVzZXJgIChTdHJpbmcpOiBUaGUgYXV0aGVudGljYXRpb24gdXNlciAoZGVmYXVsdDogYFwiXCJgKS5cbiAqICAgIC0gYHBhc3N3b3JkYCAoU3RyaW5nKTogVGhlIGF1dGhlbnRpY2F0aW9uIHBhc3N3b3JkIChkZWZhdWx0OiBgXCJcImApLlxuICogICAgLSBgcGF0aG5hbWVgIChTdHJpbmcpOiBUaGUgdXJsIHBhdGhuYW1lLlxuICogICAgLSBgaGFzaGAgKFN0cmluZyk6IFRoZSB1cmwgaGFzaC5cbiAqICAgIC0gYHNlYXJjaGAgKFN0cmluZyk6IFRoZSB1cmwgcXVlcnlzdHJpbmcgdmFsdWUgKGV4Y2x1ZGluZyBgP2ApLlxuICogICAgLSBgaHJlZmAgKFN0cmluZyk6IFRoZSBub3JtYWxpemVkIGlucHV0IHVybC5cbiAqICAgIC0gYHF1ZXJ5YCAoT2JqZWN0KTogVGhlIHVybCBxdWVyeXN0cmluZywgcGFyc2VkIGFzIG9iamVjdC5cbiAqICAgIC0gYHBhcnNlX2ZhaWxlZGAgKEJvb2xlYW4pOiBXaGV0aGVyIHRoZSBwYXJzaW5nIGZhaWxlZCBvciBub3QuXG4gKi9cbmZ1bmN0aW9uIHBhcnNlUGF0aCh1cmwpIHtcblxuICAgIHZhciBvdXRwdXQgPSB7XG4gICAgICAgIHByb3RvY29sczogW10sXG4gICAgICAgIHByb3RvY29sOiBudWxsLFxuICAgICAgICBwb3J0OiBudWxsLFxuICAgICAgICByZXNvdXJjZTogXCJcIixcbiAgICAgICAgaG9zdDogXCJcIixcbiAgICAgICAgdXNlcjogXCJcIixcbiAgICAgICAgcGFzc3dvcmQ6IFwiXCIsXG4gICAgICAgIHBhdGhuYW1lOiBcIlwiLFxuICAgICAgICBoYXNoOiBcIlwiLFxuICAgICAgICBzZWFyY2g6IFwiXCIsXG4gICAgICAgIGhyZWY6IHVybCxcbiAgICAgICAgcXVlcnk6IHt9LFxuICAgICAgICBwYXJzZV9mYWlsZWQ6IGZhbHNlXG4gICAgfTtcblxuICAgIHRyeSB7XG4gICAgICAgIHZhciBwYXJzZWQgPSBuZXcgVVJMKHVybCk7XG4gICAgICAgIG91dHB1dC5wcm90b2NvbHMgPSBwcm90b2NvbHMocGFyc2VkKTtcbiAgICAgICAgb3V0cHV0LnByb3RvY29sID0gb3V0cHV0LnByb3RvY29sc1swXTtcbiAgICAgICAgb3V0cHV0LnBvcnQgPSBwYXJzZWQucG9ydDtcbiAgICAgICAgb3V0cHV0LnJlc291cmNlID0gcGFyc2VkLmhvc3RuYW1lO1xuICAgICAgICBvdXRwdXQuaG9zdCA9IHBhcnNlZC5ob3N0O1xuICAgICAgICBvdXRwdXQudXNlciA9IHBhcnNlZC51c2VybmFtZSB8fCBcIlwiO1xuICAgICAgICBvdXRwdXQucGFzc3dvcmQgPSBwYXJzZWQucGFzc3dvcmQgfHwgXCJcIjtcbiAgICAgICAgb3V0cHV0LnBhdGhuYW1lID0gcGFyc2VkLnBhdGhuYW1lO1xuICAgICAgICBvdXRwdXQuaGFzaCA9IHBhcnNlZC5oYXNoLnNsaWNlKDEpO1xuICAgICAgICBvdXRwdXQuc2VhcmNoID0gcGFyc2VkLnNlYXJjaC5zbGljZSgxKTtcbiAgICAgICAgb3V0cHV0LmhyZWYgPSBwYXJzZWQuaHJlZjtcbiAgICAgICAgb3V0cHV0LnF1ZXJ5ID0gT2JqZWN0LmZyb21FbnRyaWVzKHBhcnNlZC5zZWFyY2hQYXJhbXMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgLy8gVE9ETyBNYXliZSBjaGVjayBpZiBpdCBpcyBhIHZhbGlkIGxvY2FsIGZpbGUgcGF0aFxuICAgICAgICAvLyAgICAgIEluIGFueSBjYXNlLCB0aGVzZSB3aWxsIGJlIHBhcnNlZCBieSBoaWdoZXJcbiAgICAgICAgLy8gICAgICBsZXZlbCBwYXJzZXJzIHN1Y2ggYXMgcGFyc2UtdXJsLCBnaXQtdXJsLXBhcnNlLCBnaXQtdXBcbiAgICAgICAgb3V0cHV0LnByb3RvY29scyA9IFtcImZpbGVcIl07XG4gICAgICAgIG91dHB1dC5wcm90b2NvbCA9IG91dHB1dC5wcm90b2NvbHNbMF07XG4gICAgICAgIG91dHB1dC5wb3J0ID0gXCJcIjtcbiAgICAgICAgb3V0cHV0LnJlc291cmNlID0gXCJcIjtcbiAgICAgICAgb3V0cHV0LnVzZXIgPSBcIlwiO1xuICAgICAgICBvdXRwdXQucGF0aG5hbWUgPSBcIlwiO1xuICAgICAgICBvdXRwdXQuaGFzaCA9IFwiXCI7XG4gICAgICAgIG91dHB1dC5zZWFyY2ggPSBcIlwiO1xuICAgICAgICBvdXRwdXQuaHJlZiA9IHVybDtcbiAgICAgICAgb3V0cHV0LnF1ZXJ5ID0ge307XG4gICAgICAgIG91dHB1dC5wYXJzZV9mYWlsZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIHJldHVybiBvdXRwdXQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gcGFyc2VQYXRoOyIsICIndXNlIHN0cmljdCc7XG5cbnZhciBwYXJzZVBhdGggPSByZXF1aXJlKCdwYXJzZS1wYXRoJyk7XG5cbmZ1bmN0aW9uIF9pbnRlcm9wRGVmYXVsdExlZ2FjeSAoZSkgeyByZXR1cm4gZSAmJiB0eXBlb2YgZSA9PT0gJ29iamVjdCcgJiYgJ2RlZmF1bHQnIGluIGUgPyBlIDogeyAnZGVmYXVsdCc6IGUgfTsgfVxuXG52YXIgcGFyc2VQYXRoX19kZWZhdWx0ID0gLyojX19QVVJFX18qL19pbnRlcm9wRGVmYXVsdExlZ2FjeShwYXJzZVBhdGgpO1xuXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9IVFRQL0Jhc2ljc19vZl9IVFRQL0RhdGFfVVJJc1xuY29uc3QgREFUQV9VUkxfREVGQVVMVF9NSU1FX1RZUEUgPSAndGV4dC9wbGFpbic7XG5jb25zdCBEQVRBX1VSTF9ERUZBVUxUX0NIQVJTRVQgPSAndXMtYXNjaWknO1xuXG5jb25zdCB0ZXN0UGFyYW1ldGVyID0gKG5hbWUsIGZpbHRlcnMpID0+IGZpbHRlcnMuc29tZShmaWx0ZXIgPT4gZmlsdGVyIGluc3RhbmNlb2YgUmVnRXhwID8gZmlsdGVyLnRlc3QobmFtZSkgOiBmaWx0ZXIgPT09IG5hbWUpO1xuXG5jb25zdCBub3JtYWxpemVEYXRhVVJMID0gKHVybFN0cmluZywge3N0cmlwSGFzaH0pID0+IHtcblx0Y29uc3QgbWF0Y2ggPSAvXmRhdGE6KD88dHlwZT5bXixdKj8pLCg/PGRhdGE+W14jXSo/KSg/OiMoPzxoYXNoPi4qKSk/JC8uZXhlYyh1cmxTdHJpbmcpO1xuXG5cdGlmICghbWF0Y2gpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgVVJMOiAke3VybFN0cmluZ31gKTtcblx0fVxuXG5cdGxldCB7dHlwZSwgZGF0YSwgaGFzaH0gPSBtYXRjaC5ncm91cHM7XG5cdGNvbnN0IG1lZGlhVHlwZSA9IHR5cGUuc3BsaXQoJzsnKTtcblx0aGFzaCA9IHN0cmlwSGFzaCA/ICcnIDogaGFzaDtcblxuXHRsZXQgaXNCYXNlNjQgPSBmYWxzZTtcblx0aWYgKG1lZGlhVHlwZVttZWRpYVR5cGUubGVuZ3RoIC0gMV0gPT09ICdiYXNlNjQnKSB7XG5cdFx0bWVkaWFUeXBlLnBvcCgpO1xuXHRcdGlzQmFzZTY0ID0gdHJ1ZTtcblx0fVxuXG5cdC8vIExvd2VyY2FzZSBNSU1FIHR5cGVcblx0Y29uc3QgbWltZVR5cGUgPSAobWVkaWFUeXBlLnNoaWZ0KCkgfHwgJycpLnRvTG93ZXJDYXNlKCk7XG5cdGNvbnN0IGF0dHJpYnV0ZXMgPSBtZWRpYVR5cGVcblx0XHQubWFwKGF0dHJpYnV0ZSA9PiB7XG5cdFx0XHRsZXQgW2tleSwgdmFsdWUgPSAnJ10gPSBhdHRyaWJ1dGUuc3BsaXQoJz0nKS5tYXAoc3RyaW5nID0+IHN0cmluZy50cmltKCkpO1xuXG5cdFx0XHQvLyBMb3dlcmNhc2UgYGNoYXJzZXRgXG5cdFx0XHRpZiAoa2V5ID09PSAnY2hhcnNldCcpIHtcblx0XHRcdFx0dmFsdWUgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xuXG5cdFx0XHRcdGlmICh2YWx1ZSA9PT0gREFUQV9VUkxfREVGQVVMVF9DSEFSU0VUKSB7XG5cdFx0XHRcdFx0cmV0dXJuICcnO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiBgJHtrZXl9JHt2YWx1ZSA/IGA9JHt2YWx1ZX1gIDogJyd9YDtcblx0XHR9KVxuXHRcdC5maWx0ZXIoQm9vbGVhbik7XG5cblx0Y29uc3Qgbm9ybWFsaXplZE1lZGlhVHlwZSA9IFtcblx0XHQuLi5hdHRyaWJ1dGVzLFxuXHRdO1xuXG5cdGlmIChpc0Jhc2U2NCkge1xuXHRcdG5vcm1hbGl6ZWRNZWRpYVR5cGUucHVzaCgnYmFzZTY0Jyk7XG5cdH1cblxuXHRpZiAobm9ybWFsaXplZE1lZGlhVHlwZS5sZW5ndGggPiAwIHx8IChtaW1lVHlwZSAmJiBtaW1lVHlwZSAhPT0gREFUQV9VUkxfREVGQVVMVF9NSU1FX1RZUEUpKSB7XG5cdFx0bm9ybWFsaXplZE1lZGlhVHlwZS51bnNoaWZ0KG1pbWVUeXBlKTtcblx0fVxuXG5cdHJldHVybiBgZGF0YToke25vcm1hbGl6ZWRNZWRpYVR5cGUuam9pbignOycpfSwke2lzQmFzZTY0ID8gZGF0YS50cmltKCkgOiBkYXRhfSR7aGFzaCA/IGAjJHtoYXNofWAgOiAnJ31gO1xufTtcblxuZnVuY3Rpb24gbm9ybWFsaXplVXJsKHVybFN0cmluZywgb3B0aW9ucykge1xuXHRvcHRpb25zID0ge1xuXHRcdGRlZmF1bHRQcm90b2NvbDogJ2h0dHA6Jyxcblx0XHRub3JtYWxpemVQcm90b2NvbDogdHJ1ZSxcblx0XHRmb3JjZUh0dHA6IGZhbHNlLFxuXHRcdGZvcmNlSHR0cHM6IGZhbHNlLFxuXHRcdHN0cmlwQXV0aGVudGljYXRpb246IHRydWUsXG5cdFx0c3RyaXBIYXNoOiBmYWxzZSxcblx0XHRzdHJpcFRleHRGcmFnbWVudDogdHJ1ZSxcblx0XHRzdHJpcFdXVzogdHJ1ZSxcblx0XHRyZW1vdmVRdWVyeVBhcmFtZXRlcnM6IFsvXnV0bV9cXHcrL2ldLFxuXHRcdHJlbW92ZVRyYWlsaW5nU2xhc2g6IHRydWUsXG5cdFx0cmVtb3ZlU2luZ2xlU2xhc2g6IHRydWUsXG5cdFx0cmVtb3ZlRGlyZWN0b3J5SW5kZXg6IGZhbHNlLFxuXHRcdHNvcnRRdWVyeVBhcmFtZXRlcnM6IHRydWUsXG5cdFx0Li4ub3B0aW9ucyxcblx0fTtcblxuXHR1cmxTdHJpbmcgPSB1cmxTdHJpbmcudHJpbSgpO1xuXG5cdC8vIERhdGEgVVJMXG5cdGlmICgvXmRhdGE6L2kudGVzdCh1cmxTdHJpbmcpKSB7XG5cdFx0cmV0dXJuIG5vcm1hbGl6ZURhdGFVUkwodXJsU3RyaW5nLCBvcHRpb25zKTtcblx0fVxuXG5cdGlmICgvXnZpZXctc291cmNlOi9pLnRlc3QodXJsU3RyaW5nKSkge1xuXHRcdHRocm93IG5ldyBFcnJvcignYHZpZXctc291cmNlOmAgaXMgbm90IHN1cHBvcnRlZCBhcyBpdCBpcyBhIG5vbi1zdGFuZGFyZCBwcm90b2NvbCcpO1xuXHR9XG5cblx0Y29uc3QgaGFzUmVsYXRpdmVQcm90b2NvbCA9IHVybFN0cmluZy5zdGFydHNXaXRoKCcvLycpO1xuXHRjb25zdCBpc1JlbGF0aXZlVXJsID0gIWhhc1JlbGF0aXZlUHJvdG9jb2wgJiYgL15cXC4qXFwvLy50ZXN0KHVybFN0cmluZyk7XG5cblx0Ly8gUHJlcGVuZCBwcm90b2NvbFxuXHRpZiAoIWlzUmVsYXRpdmVVcmwpIHtcblx0XHR1cmxTdHJpbmcgPSB1cmxTdHJpbmcucmVwbGFjZSgvXig/ISg/Olxcdys6KT9cXC9cXC8pfF5cXC9cXC8vLCBvcHRpb25zLmRlZmF1bHRQcm90b2NvbCk7XG5cdH1cblxuXHRjb25zdCB1cmxPYmplY3QgPSBuZXcgVVJMKHVybFN0cmluZyk7XG5cblx0aWYgKG9wdGlvbnMuZm9yY2VIdHRwICYmIG9wdGlvbnMuZm9yY2VIdHRwcykge1xuXHRcdHRocm93IG5ldyBFcnJvcignVGhlIGBmb3JjZUh0dHBgIGFuZCBgZm9yY2VIdHRwc2Agb3B0aW9ucyBjYW5ub3QgYmUgdXNlZCB0b2dldGhlcicpO1xuXHR9XG5cblx0aWYgKG9wdGlvbnMuZm9yY2VIdHRwICYmIHVybE9iamVjdC5wcm90b2NvbCA9PT0gJ2h0dHBzOicpIHtcblx0XHR1cmxPYmplY3QucHJvdG9jb2wgPSAnaHR0cDonO1xuXHR9XG5cblx0aWYgKG9wdGlvbnMuZm9yY2VIdHRwcyAmJiB1cmxPYmplY3QucHJvdG9jb2wgPT09ICdodHRwOicpIHtcblx0XHR1cmxPYmplY3QucHJvdG9jb2wgPSAnaHR0cHM6Jztcblx0fVxuXG5cdC8vIFJlbW92ZSBhdXRoXG5cdGlmIChvcHRpb25zLnN0cmlwQXV0aGVudGljYXRpb24pIHtcblx0XHR1cmxPYmplY3QudXNlcm5hbWUgPSAnJztcblx0XHR1cmxPYmplY3QucGFzc3dvcmQgPSAnJztcblx0fVxuXG5cdC8vIFJlbW92ZSBoYXNoXG5cdGlmIChvcHRpb25zLnN0cmlwSGFzaCkge1xuXHRcdHVybE9iamVjdC5oYXNoID0gJyc7XG5cdH0gZWxzZSBpZiAob3B0aW9ucy5zdHJpcFRleHRGcmFnbWVudCkge1xuXHRcdHVybE9iamVjdC5oYXNoID0gdXJsT2JqZWN0Lmhhc2gucmVwbGFjZSgvIz86fjp0ZXh0Lio/JC9pLCAnJyk7XG5cdH1cblxuXHQvLyBSZW1vdmUgZHVwbGljYXRlIHNsYXNoZXMgaWYgbm90IHByZWNlZGVkIGJ5IGEgcHJvdG9jb2xcblx0Ly8gTk9URTogVGhpcyBjb3VsZCBiZSBpbXBsZW1lbnRlZCB1c2luZyBhIHNpbmdsZSBuZWdhdGl2ZSBsb29rYmVoaW5kXG5cdC8vIHJlZ2V4LCBidXQgd2UgYXZvaWQgdGhhdCB0byBtYWludGFpbiBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIganMgZW5naW5lc1xuXHQvLyB3aGljaCBkbyBub3QgaGF2ZSBzdXBwb3J0IGZvciB0aGF0IGZlYXR1cmUuXG5cdGlmICh1cmxPYmplY3QucGF0aG5hbWUpIHtcblx0XHQvLyBUT0RPOiBSZXBsYWNlIGV2ZXJ5dGhpbmcgYmVsb3cgd2l0aCBgdXJsT2JqZWN0LnBhdGhuYW1lID0gdXJsT2JqZWN0LnBhdGhuYW1lLnJlcGxhY2UoLyg/PCFcXGJbYS16XVthLXpcXGQrXFwtLl17MSw1MH06KVxcL3syLH0vZywgJy8nKTtgIHdoZW4gU2FmYXJpIHN1cHBvcnRzIG5lZ2F0aXZlIGxvb2tiZWhpbmQuXG5cblx0XHQvLyBTcGxpdCB0aGUgc3RyaW5nIGJ5IG9jY3VycmVuY2VzIG9mIHRoaXMgcHJvdG9jb2wgcmVnZXgsIGFuZCBwZXJmb3JtXG5cdFx0Ly8gZHVwbGljYXRlLXNsYXNoIHJlcGxhY2VtZW50IG9uIHRoZSBzdHJpbmdzIGJldHdlZW4gdGhvc2Ugb2NjdXJyZW5jZXNcblx0XHQvLyAoaWYgYW55KS5cblx0XHRjb25zdCBwcm90b2NvbFJlZ2V4ID0gL1xcYlthLXpdW2EtelxcZCtcXC0uXXsxLDUwfTpcXC9cXC8vZztcblxuXHRcdGxldCBsYXN0SW5kZXggPSAwO1xuXHRcdGxldCByZXN1bHQgPSAnJztcblx0XHRmb3IgKDs7KSB7XG5cdFx0XHRjb25zdCBtYXRjaCA9IHByb3RvY29sUmVnZXguZXhlYyh1cmxPYmplY3QucGF0aG5hbWUpO1xuXHRcdFx0aWYgKCFtYXRjaCkge1xuXHRcdFx0XHRicmVhaztcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgcHJvdG9jb2wgPSBtYXRjaFswXTtcblx0XHRcdGNvbnN0IHByb3RvY29sQXRJbmRleCA9IG1hdGNoLmluZGV4O1xuXHRcdFx0Y29uc3QgaW50ZXJtZWRpYXRlID0gdXJsT2JqZWN0LnBhdGhuYW1lLnNsaWNlKGxhc3RJbmRleCwgcHJvdG9jb2xBdEluZGV4KTtcblxuXHRcdFx0cmVzdWx0ICs9IGludGVybWVkaWF0ZS5yZXBsYWNlKC9cXC97Mix9L2csICcvJyk7XG5cdFx0XHRyZXN1bHQgKz0gcHJvdG9jb2w7XG5cdFx0XHRsYXN0SW5kZXggPSBwcm90b2NvbEF0SW5kZXggKyBwcm90b2NvbC5sZW5ndGg7XG5cdFx0fVxuXG5cdFx0Y29uc3QgcmVtbmFudCA9IHVybE9iamVjdC5wYXRobmFtZS5zbGljZShsYXN0SW5kZXgsIHVybE9iamVjdC5wYXRobmFtZS5sZW5ndGgpO1xuXHRcdHJlc3VsdCArPSByZW1uYW50LnJlcGxhY2UoL1xcL3syLH0vZywgJy8nKTtcblxuXHRcdHVybE9iamVjdC5wYXRobmFtZSA9IHJlc3VsdDtcblx0fVxuXG5cdC8vIERlY29kZSBVUkkgb2N0ZXRzXG5cdGlmICh1cmxPYmplY3QucGF0aG5hbWUpIHtcblx0XHR0cnkge1xuXHRcdFx0dXJsT2JqZWN0LnBhdGhuYW1lID0gZGVjb2RlVVJJKHVybE9iamVjdC5wYXRobmFtZSk7XG5cdFx0fSBjYXRjaCB7fVxuXHR9XG5cblx0Ly8gUmVtb3ZlIGRpcmVjdG9yeSBpbmRleFxuXHRpZiAob3B0aW9ucy5yZW1vdmVEaXJlY3RvcnlJbmRleCA9PT0gdHJ1ZSkge1xuXHRcdG9wdGlvbnMucmVtb3ZlRGlyZWN0b3J5SW5kZXggPSBbL15pbmRleFxcLlthLXpdKyQvXTtcblx0fVxuXG5cdGlmIChBcnJheS5pc0FycmF5KG9wdGlvbnMucmVtb3ZlRGlyZWN0b3J5SW5kZXgpICYmIG9wdGlvbnMucmVtb3ZlRGlyZWN0b3J5SW5kZXgubGVuZ3RoID4gMCkge1xuXHRcdGxldCBwYXRoQ29tcG9uZW50cyA9IHVybE9iamVjdC5wYXRobmFtZS5zcGxpdCgnLycpO1xuXHRcdGNvbnN0IGxhc3RDb21wb25lbnQgPSBwYXRoQ29tcG9uZW50c1twYXRoQ29tcG9uZW50cy5sZW5ndGggLSAxXTtcblxuXHRcdGlmICh0ZXN0UGFyYW1ldGVyKGxhc3RDb21wb25lbnQsIG9wdGlvbnMucmVtb3ZlRGlyZWN0b3J5SW5kZXgpKSB7XG5cdFx0XHRwYXRoQ29tcG9uZW50cyA9IHBhdGhDb21wb25lbnRzLnNsaWNlKDAsIC0xKTtcblx0XHRcdHVybE9iamVjdC5wYXRobmFtZSA9IHBhdGhDb21wb25lbnRzLnNsaWNlKDEpLmpvaW4oJy8nKSArICcvJztcblx0XHR9XG5cdH1cblxuXHRpZiAodXJsT2JqZWN0Lmhvc3RuYW1lKSB7XG5cdFx0Ly8gUmVtb3ZlIHRyYWlsaW5nIGRvdFxuXHRcdHVybE9iamVjdC5ob3N0bmFtZSA9IHVybE9iamVjdC5ob3N0bmFtZS5yZXBsYWNlKC9cXC4kLywgJycpO1xuXG5cdFx0Ly8gUmVtb3ZlIGB3d3cuYFxuXHRcdGlmIChvcHRpb25zLnN0cmlwV1dXICYmIC9ed3d3XFwuKD8hd3d3XFwuKVthLXpcXC1cXGRdezEsNjN9XFwuW2Etei5cXC1cXGRdezIsNjN9JC8udGVzdCh1cmxPYmplY3QuaG9zdG5hbWUpKSB7XG5cdFx0XHQvLyBFYWNoIGxhYmVsIHNob3VsZCBiZSBtYXggNjMgYXQgbGVuZ3RoIChtaW46IDEpLlxuXHRcdFx0Ly8gU291cmNlOiBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Ib3N0bmFtZSNSZXN0cmljdGlvbnNfb25fdmFsaWRfaG9zdF9uYW1lc1xuXHRcdFx0Ly8gRWFjaCBUTEQgc2hvdWxkIGJlIHVwIHRvIDYzIGNoYXJhY3RlcnMgbG9uZyAobWluOiAyKS5cblx0XHRcdC8vIEl0IGlzIHRlY2huaWNhbGx5IHBvc3NpYmxlIHRvIGhhdmUgYSBzaW5nbGUgY2hhcmFjdGVyIFRMRCwgYnV0IG5vbmUgY3VycmVudGx5IGV4aXN0LlxuXHRcdFx0dXJsT2JqZWN0Lmhvc3RuYW1lID0gdXJsT2JqZWN0Lmhvc3RuYW1lLnJlcGxhY2UoL153d3dcXC4vLCAnJyk7XG5cdFx0fVxuXHR9XG5cblx0Ly8gUmVtb3ZlIHF1ZXJ5IHVud2FudGVkIHBhcmFtZXRlcnNcblx0aWYgKEFycmF5LmlzQXJyYXkob3B0aW9ucy5yZW1vdmVRdWVyeVBhcmFtZXRlcnMpKSB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbm8tdXNlbGVzcy1zcHJlYWQgLS0gV2UgYXJlIGludGVudGlvbmFsbHkgc3ByZWFkaW5nIHRvIGdldCBhIGNvcHkuXG5cdFx0Zm9yIChjb25zdCBrZXkgb2YgWy4uLnVybE9iamVjdC5zZWFyY2hQYXJhbXMua2V5cygpXSkge1xuXHRcdFx0aWYgKHRlc3RQYXJhbWV0ZXIoa2V5LCBvcHRpb25zLnJlbW92ZVF1ZXJ5UGFyYW1ldGVycykpIHtcblx0XHRcdFx0dXJsT2JqZWN0LnNlYXJjaFBhcmFtcy5kZWxldGUoa2V5KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRpZiAob3B0aW9ucy5yZW1vdmVRdWVyeVBhcmFtZXRlcnMgPT09IHRydWUpIHtcblx0XHR1cmxPYmplY3Quc2VhcmNoID0gJyc7XG5cdH1cblxuXHQvLyBTb3J0IHF1ZXJ5IHBhcmFtZXRlcnNcblx0aWYgKG9wdGlvbnMuc29ydFF1ZXJ5UGFyYW1ldGVycykge1xuXHRcdHVybE9iamVjdC5zZWFyY2hQYXJhbXMuc29ydCgpO1xuXG5cdFx0Ly8gQ2FsbGluZyBgLnNvcnQoKWAgZW5jb2RlcyB0aGUgc2VhcmNoIHBhcmFtZXRlcnMsIHNvIHdlIG5lZWQgdG8gZGVjb2RlIHRoZW0gYWdhaW4uXG5cdFx0dHJ5IHtcblx0XHRcdHVybE9iamVjdC5zZWFyY2ggPSBkZWNvZGVVUklDb21wb25lbnQodXJsT2JqZWN0LnNlYXJjaCk7XG5cdFx0fSBjYXRjaCB7fVxuXHR9XG5cblx0aWYgKG9wdGlvbnMucmVtb3ZlVHJhaWxpbmdTbGFzaCkge1xuXHRcdHVybE9iamVjdC5wYXRobmFtZSA9IHVybE9iamVjdC5wYXRobmFtZS5yZXBsYWNlKC9cXC8kLywgJycpO1xuXHR9XG5cblx0Y29uc3Qgb2xkVXJsU3RyaW5nID0gdXJsU3RyaW5nO1xuXG5cdC8vIFRha2UgYWR2YW50YWdlIG9mIG1hbnkgb2YgdGhlIE5vZGUgYHVybGAgbm9ybWFsaXphdGlvbnNcblx0dXJsU3RyaW5nID0gdXJsT2JqZWN0LnRvU3RyaW5nKCk7XG5cblx0aWYgKCFvcHRpb25zLnJlbW92ZVNpbmdsZVNsYXNoICYmIHVybE9iamVjdC5wYXRobmFtZSA9PT0gJy8nICYmICFvbGRVcmxTdHJpbmcuZW5kc1dpdGgoJy8nKSAmJiB1cmxPYmplY3QuaGFzaCA9PT0gJycpIHtcblx0XHR1cmxTdHJpbmcgPSB1cmxTdHJpbmcucmVwbGFjZSgvXFwvJC8sICcnKTtcblx0fVxuXG5cdC8vIFJlbW92ZSBlbmRpbmcgYC9gIHVubGVzcyByZW1vdmVTaW5nbGVTbGFzaCBpcyBmYWxzZVxuXHRpZiAoKG9wdGlvbnMucmVtb3ZlVHJhaWxpbmdTbGFzaCB8fCB1cmxPYmplY3QucGF0aG5hbWUgPT09ICcvJykgJiYgdXJsT2JqZWN0Lmhhc2ggPT09ICcnICYmIG9wdGlvbnMucmVtb3ZlU2luZ2xlU2xhc2gpIHtcblx0XHR1cmxTdHJpbmcgPSB1cmxTdHJpbmcucmVwbGFjZSgvXFwvJC8sICcnKTtcblx0fVxuXG5cdC8vIFJlc3RvcmUgcmVsYXRpdmUgcHJvdG9jb2wsIGlmIGFwcGxpY2FibGVcblx0aWYgKGhhc1JlbGF0aXZlUHJvdG9jb2wgJiYgIW9wdGlvbnMubm9ybWFsaXplUHJvdG9jb2wpIHtcblx0XHR1cmxTdHJpbmcgPSB1cmxTdHJpbmcucmVwbGFjZSgvXmh0dHA6XFwvXFwvLywgJy8vJyk7XG5cdH1cblxuXHQvLyBSZW1vdmUgaHR0cC9odHRwc1xuXHRpZiAob3B0aW9ucy5zdHJpcFByb3RvY29sKSB7XG5cdFx0dXJsU3RyaW5nID0gdXJsU3RyaW5nLnJlcGxhY2UoL14oPzpodHRwcz86KT9cXC9cXC8vLCAnJyk7XG5cdH1cblxuXHRyZXR1cm4gdXJsU3RyaW5nO1xufVxuXG4vLyBEZXBlbmRlbmNpZXNcblxuLyoqXG4gKiBwYXJzZVVybFxuICogUGFyc2VzIHRoZSBpbnB1dCB1cmwuXG4gKlxuICogKipOb3RlKio6IFRoaXMgKnRocm93cyogaWYgaW52YWxpZCB1cmxzIGFyZSBwcm92aWRlZC5cbiAqXG4gKiBAbmFtZSBwYXJzZVVybFxuICogQGZ1bmN0aW9uXG4gKiBAcGFyYW0ge1N0cmluZ30gdXJsIFRoZSBpbnB1dCB1cmwuXG4gKiBAcGFyYW0ge0Jvb2xlYW58T2JqZWN0fSBub3JtYWxpemUgV2hldGhlciB0byBub3JtYWxpemUgdGhlIHVybCBvciBub3QuXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICBEZWZhdWx0IGlzIGBmYWxzZWAuIElmIGB0cnVlYCwgdGhlIHVybCB3aWxsXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICBiZSBub3JtYWxpemVkLiBJZiBhbiBvYmplY3QsIGl0IHdpbGwgYmUgdGhlXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICBvcHRpb25zIG9iamVjdCBzZW50IHRvIFtgbm9ybWFsaXplLXVybGBdKGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvbm9ybWFsaXplLXVybCkuXG4gKlxuICogICAgICAgICAgICAgICAgICAgICAgICAgRm9yIFNTSCB1cmxzLCBub3JtYWxpemUgd29uJ3Qgd29yay5cbiAqXG4gKiBAcmV0dXJuIHtPYmplY3R9IEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBmb2xsb3dpbmcgZmllbGRzOlxuICpcbiAqICAgIC0gYHByb3RvY29sc2AgKEFycmF5KTogQW4gYXJyYXkgd2l0aCB0aGUgdXJsIHByb3RvY29scyAodXN1YWxseSBpdCBoYXMgb25lIGVsZW1lbnQpLlxuICogICAgLSBgcHJvdG9jb2xgIChTdHJpbmcpOiBUaGUgZmlyc3QgcHJvdG9jb2wsIGBcInNzaFwiYCAoaWYgdGhlIHVybCBpcyBhIHNzaCB1cmwpIG9yIGBcImZpbGVcImAuXG4gKiAgICAtIGBwb3J0YCAobnVsbHxOdW1iZXIpOiBUaGUgZG9tYWluIHBvcnQuXG4gKiAgICAtIGByZXNvdXJjZWAgKFN0cmluZyk6IFRoZSB1cmwgZG9tYWluIChpbmNsdWRpbmcgc3ViZG9tYWlucykuXG4gKiAgICAtIGB1c2VyYCAoU3RyaW5nKTogVGhlIGF1dGhlbnRpY2F0aW9uIHVzZXIgKHVzdWFsbHkgZm9yIHNzaCB1cmxzKS5cbiAqICAgIC0gYHBhdGhuYW1lYCAoU3RyaW5nKTogVGhlIHVybCBwYXRobmFtZS5cbiAqICAgIC0gYGhhc2hgIChTdHJpbmcpOiBUaGUgdXJsIGhhc2guXG4gKiAgICAtIGBzZWFyY2hgIChTdHJpbmcpOiBUaGUgdXJsIHF1ZXJ5c3RyaW5nIHZhbHVlLlxuICogICAgLSBgaHJlZmAgKFN0cmluZyk6IFRoZSBpbnB1dCB1cmwuXG4gKiAgICAtIGBxdWVyeWAgKE9iamVjdCk6IFRoZSB1cmwgcXVlcnlzdHJpbmcsIHBhcnNlZCBhcyBvYmplY3QuXG4gKiAgICAtIGBwYXJzZV9mYWlsZWRgIChCb29sZWFuKTogV2hldGhlciB0aGUgcGFyc2luZyBmYWlsZWQgb3Igbm90LlxuICovXG5jb25zdCBwYXJzZVVybCA9ICh1cmwsIG5vcm1hbGl6ZSA9IGZhbHNlKSA9PiB7XG5cbiAgICAvLyBDb25zdGFudHNcbiAgICBjb25zdCBHSVRfUkUgPSAvXig/OihbYS16X11bYS16MC05Xy1dezAsMzF9KUB8aHR0cHM/OlxcL1xcLykoW1xcd1xcLlxcLUBdKylbXFwvOl0oW1xcfixcXC5cXHcsXFwtLFxcXyxcXC9dKz8oPzpcXC5naXR8XFwvKT8pJC87XG5cbiAgICBjb25zdCB0aHJvd0VyciA9IG1zZyA9PiB7XG4gICAgICAgIGNvbnN0IGVyciA9IG5ldyBFcnJvcihtc2cpO1xuICAgICAgICBlcnIuc3ViamVjdF91cmwgPSB1cmw7XG4gICAgICAgIHRocm93IGVyclxuICAgIH07XG5cbiAgICBpZiAodHlwZW9mIHVybCAhPT0gXCJzdHJpbmdcIiB8fCAhdXJsLnRyaW0oKSkge1xuICAgICAgICB0aHJvd0VycihcIkludmFsaWQgdXJsLlwiKTtcbiAgICB9XG5cbiAgICBpZiAodXJsLmxlbmd0aCA+IHBhcnNlVXJsLk1BWF9JTlBVVF9MRU5HVEgpIHtcbiAgICAgICAgdGhyb3dFcnIoXCJJbnB1dCBleGNlZWRzIG1heGltdW0gbGVuZ3RoLiBJZiBuZWVkZWQsIGNoYW5nZSB0aGUgdmFsdWUgb2YgcGFyc2VVcmwuTUFYX0lOUFVUX0xFTkdUSC5cIik7XG4gICAgfVxuXG4gICAgaWYgKG5vcm1hbGl6ZSkge1xuICAgICAgICBpZiAodHlwZW9mIG5vcm1hbGl6ZSAhPT0gXCJvYmplY3RcIikge1xuICAgICAgICAgICAgbm9ybWFsaXplID0ge1xuICAgICAgICAgICAgICAgIHN0cmlwSGFzaDogZmFsc2VcbiAgICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgICAgdXJsID0gbm9ybWFsaXplVXJsKHVybCwgbm9ybWFsaXplKTtcbiAgICB9XG5cbiAgICBjb25zdCBwYXJzZWQgPSBwYXJzZVBhdGhfX2RlZmF1bHRbXCJkZWZhdWx0XCJdKHVybCk7XG5cbiAgICAvLyBQb3RlbnRpYWwgZ2l0LXNzaCB1cmxzXG4gICAgaWYgKHBhcnNlZC5wYXJzZV9mYWlsZWQpIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlZCA9IHBhcnNlZC5ocmVmLm1hdGNoKEdJVF9SRSk7XG5cbiAgICAgICAgaWYgKG1hdGNoZWQpIHtcbiAgICAgICAgICAgIHBhcnNlZC5wcm90b2NvbHMgPSBbXCJzc2hcIl07XG4gICAgICAgICAgICBwYXJzZWQucHJvdG9jb2wgPSBcInNzaFwiO1xuICAgICAgICAgICAgcGFyc2VkLnJlc291cmNlID0gbWF0Y2hlZFsyXTtcbiAgICAgICAgICAgIHBhcnNlZC5ob3N0ID0gbWF0Y2hlZFsyXTtcbiAgICAgICAgICAgIHBhcnNlZC51c2VyID0gbWF0Y2hlZFsxXTtcbiAgICAgICAgICAgIHBhcnNlZC5wYXRobmFtZSA9IGAvJHttYXRjaGVkWzNdfWA7XG4gICAgICAgICAgICBwYXJzZWQucGFyc2VfZmFpbGVkID0gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvd0VycihcIlVSTCBwYXJzaW5nIGZhaWxlZC5cIik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gcGFyc2VkO1xufTtcblxucGFyc2VVcmwuTUFYX0lOUFVUX0xFTkdUSCA9IDIwNDg7XG5cbm1vZHVsZS5leHBvcnRzID0gcGFyc2VVcmw7XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8vIERlcGVuZGVuY2llc1xudmFyIHByb3RvY29scyA9IHJlcXVpcmUoXCJwcm90b2NvbHNcIik7XG5cbi8qKlxuICogaXNTc2hcbiAqIENoZWNrcyBpZiBhbiBpbnB1dCB2YWx1ZSBpcyBhIHNzaCB1cmwgb3Igbm90LlxuICpcbiAqIEBuYW1lIGlzU3NoXG4gKiBAZnVuY3Rpb25cbiAqIEBwYXJhbSB7U3RyaW5nfEFycmF5fSBpbnB1dCBUaGUgaW5wdXQgdXJsIG9yIGFuIGFycmF5IG9mIHByb3RvY29scy5cbiAqIEByZXR1cm4ge0Jvb2xlYW59IGB0cnVlYCBpZiB0aGUgaW5wdXQgaXMgYSBzc2ggdXJsLCBgZmFsc2VgIG90aGVyd2lzZS5cbiAqL1xuZnVuY3Rpb24gaXNTc2goaW5wdXQpIHtcblxuICAgIGlmIChBcnJheS5pc0FycmF5KGlucHV0KSkge1xuICAgICAgICByZXR1cm4gaW5wdXQuaW5kZXhPZihcInNzaFwiKSAhPT0gLTEgfHwgaW5wdXQuaW5kZXhPZihcInJzeW5jXCIpICE9PSAtMTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGlucHV0ICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB2YXIgcHJvdHMgPSBwcm90b2NvbHMoaW5wdXQpO1xuICAgIGlucHV0ID0gaW5wdXQuc3Vic3RyaW5nKGlucHV0LmluZGV4T2YoXCI6Ly9cIikgKyAzKTtcbiAgICBpZiAoaXNTc2gocHJvdHMpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIFRPRE8gVGhpcyBwcm9iYWJseSBjb3VsZCBiZSBpbXByb3ZlZCA6KVxuICAgIHZhciB1cmxQb3J0UGF0dGVybiA9IG5ldyBSZWdFeHAoJ1xcLihbYS16QS1aXFxcXGRdKyk6KFxcXFxkKylcXC8nKTtcbiAgICByZXR1cm4gIWlucHV0Lm1hdGNoKHVybFBvcnRQYXR0ZXJuKSAmJiBpbnB1dC5pbmRleE9mKFwiQFwiKSA8IGlucHV0LmluZGV4T2YoXCI6XCIpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IGlzU3NoOyIsICJcInVzZSBzdHJpY3RcIjtcblxuLy8gRGVwZW5kZW5jaWVzXG5cbnZhciBwYXJzZVVybCA9IHJlcXVpcmUoXCJwYXJzZS11cmxcIiksXG4gICAgaXNTc2ggPSByZXF1aXJlKFwiaXMtc3NoXCIpO1xuXG4vKipcbiAqIGdpdFVwXG4gKiBQYXJzZXMgdGhlIGlucHV0IHVybC5cbiAqXG4gKiBAbmFtZSBnaXRVcFxuICogQGZ1bmN0aW9uXG4gKiBAcGFyYW0ge1N0cmluZ30gaW5wdXQgVGhlIGlucHV0IHVybC5cbiAqIEByZXR1cm4ge09iamVjdH0gQW4gb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGZvbGxvd2luZyBmaWVsZHM6XG4gKlxuICogIC0gYHByb3RvY29sc2AgKEFycmF5KTogQW4gYXJyYXkgd2l0aCB0aGUgdXJsIHByb3RvY29scyAodXN1YWxseSBpdCBoYXMgb25lIGVsZW1lbnQpLlxuICogIC0gYHBvcnRgIChudWxsfE51bWJlcik6IFRoZSBkb21haW4gcG9ydC5cbiAqICAtIGByZXNvdXJjZWAgKFN0cmluZyk6IFRoZSB1cmwgZG9tYWluIChpbmNsdWRpbmcgc3ViZG9tYWlucykuXG4gKiAgLSBgdXNlcmAgKFN0cmluZyk6IFRoZSBhdXRoZW50aWNhdGlvbiB1c2VyICh1c3VhbGx5IGZvciBzc2ggdXJscykuXG4gKiAgLSBgcGF0aG5hbWVgIChTdHJpbmcpOiBUaGUgdXJsIHBhdGhuYW1lLlxuICogIC0gYGhhc2hgIChTdHJpbmcpOiBUaGUgdXJsIGhhc2guXG4gKiAgLSBgc2VhcmNoYCAoU3RyaW5nKTogVGhlIHVybCBxdWVyeXN0cmluZyB2YWx1ZS5cbiAqICAtIGBocmVmYCAoU3RyaW5nKTogVGhlIGlucHV0IHVybC5cbiAqICAtIGBwcm90b2NvbGAgKFN0cmluZyk6IFRoZSBnaXQgdXJsIHByb3RvY29sLlxuICogIC0gYHRva2VuYCAoU3RyaW5nKTogVGhlIG9hdXRoIHRva2VuIChjb3VsZCBhcHBlYXIgaW4gdGhlIGh0dHBzIHVybHMpLlxuICovXG5mdW5jdGlvbiBnaXRVcChpbnB1dCkge1xuICAgIHZhciBvdXRwdXQgPSBwYXJzZVVybChpbnB1dCk7XG4gICAgb3V0cHV0LnRva2VuID0gXCJcIjtcblxuICAgIGlmIChvdXRwdXQucGFzc3dvcmQgPT09IFwieC1vYXV0aC1iYXNpY1wiKSB7XG4gICAgICAgIG91dHB1dC50b2tlbiA9IG91dHB1dC51c2VyO1xuICAgIH0gZWxzZSBpZiAob3V0cHV0LnVzZXIgPT09IFwieC10b2tlbi1hdXRoXCIpIHtcbiAgICAgICAgb3V0cHV0LnRva2VuID0gb3V0cHV0LnBhc3N3b3JkO1xuICAgIH1cblxuICAgIGlmIChpc1NzaChvdXRwdXQucHJvdG9jb2xzKSB8fCBvdXRwdXQucHJvdG9jb2xzLmxlbmd0aCA9PT0gMCAmJiBpc1NzaChpbnB1dCkpIHtcbiAgICAgICAgb3V0cHV0LnByb3RvY29sID0gXCJzc2hcIjtcbiAgICB9IGVsc2UgaWYgKG91dHB1dC5wcm90b2NvbHMubGVuZ3RoKSB7XG4gICAgICAgIG91dHB1dC5wcm90b2NvbCA9IG91dHB1dC5wcm90b2NvbHNbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgICAgb3V0cHV0LnByb3RvY29sID0gXCJmaWxlXCI7XG4gICAgICAgIG91dHB1dC5wcm90b2NvbHMgPSBbXCJmaWxlXCJdO1xuICAgIH1cblxuICAgIG91dHB1dC5ocmVmID0gb3V0cHV0LmhyZWYucmVwbGFjZSgvXFwvJC8sIFwiXCIpO1xuICAgIHJldHVybiBvdXRwdXQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2l0VXA7IiwgIlwidXNlIHN0cmljdFwiO1xuXG52YXIgZ2l0VXAgPSByZXF1aXJlKFwiZ2l0LXVwXCIpO1xuXG4vKipcbiAqIGdpdFVybFBhcnNlXG4gKiBQYXJzZXMgYSBHaXQgdXJsLlxuICpcbiAqIEBuYW1lIGdpdFVybFBhcnNlXG4gKiBAZnVuY3Rpb25cbiAqIEBwYXJhbSB7U3RyaW5nfSB1cmwgVGhlIEdpdCB1cmwgdG8gcGFyc2UuXG4gKiBAcmV0dXJuIHtHaXRVcmx9IFRoZSBgR2l0VXJsYCBvYmplY3QgY29udGFpbmluZzpcbiAqXG4gKiAgLSBgcHJvdG9jb2xzYCAoQXJyYXkpOiBBbiBhcnJheSB3aXRoIHRoZSB1cmwgcHJvdG9jb2xzICh1c3VhbGx5IGl0IGhhcyBvbmUgZWxlbWVudCkuXG4gKiAgLSBgcG9ydGAgKG51bGx8TnVtYmVyKTogVGhlIGRvbWFpbiBwb3J0LlxuICogIC0gYHJlc291cmNlYCAoU3RyaW5nKTogVGhlIHVybCBkb21haW4gKGluY2x1ZGluZyBzdWJkb21haW5zKS5cbiAqICAtIGB1c2VyYCAoU3RyaW5nKTogVGhlIGF1dGhlbnRpY2F0aW9uIHVzZXIgKHVzdWFsbHkgZm9yIHNzaCB1cmxzKS5cbiAqICAtIGBwYXRobmFtZWAgKFN0cmluZyk6IFRoZSB1cmwgcGF0aG5hbWUuXG4gKiAgLSBgaGFzaGAgKFN0cmluZyk6IFRoZSB1cmwgaGFzaC5cbiAqICAtIGBzZWFyY2hgIChTdHJpbmcpOiBUaGUgdXJsIHF1ZXJ5c3RyaW5nIHZhbHVlLlxuICogIC0gYGhyZWZgIChTdHJpbmcpOiBUaGUgaW5wdXQgdXJsLlxuICogIC0gYHByb3RvY29sYCAoU3RyaW5nKTogVGhlIGdpdCB1cmwgcHJvdG9jb2wuXG4gKiAgLSBgdG9rZW5gIChTdHJpbmcpOiBUaGUgb2F1dGggdG9rZW4gKGNvdWxkIGFwcGVhciBpbiB0aGUgaHR0cHMgdXJscykuXG4gKiAgLSBgc291cmNlYCAoU3RyaW5nKTogVGhlIEdpdCBwcm92aWRlciAoZS5nLiBgXCJnaXRodWIuY29tXCJgKS5cbiAqICAtIGBvd25lcmAgKFN0cmluZyk6IFRoZSByZXBvc2l0b3J5IG93bmVyLlxuICogIC0gYG5hbWVgIChTdHJpbmcpOiBUaGUgcmVwb3NpdG9yeSBuYW1lLlxuICogIC0gYHJlZmAgKFN0cmluZyk6IFRoZSByZXBvc2l0b3J5IHJlZiAoZS5nLiwgXCJtYXN0ZXJcIiBvciBcImRldlwiKS5cbiAqICAtIGBmaWxlcGF0aGAgKFN0cmluZyk6IEEgZmlsZXBhdGggcmVsYXRpdmUgdG8gdGhlIHJlcG9zaXRvcnkgcm9vdC5cbiAqICAtIGBmaWxlcGF0aHR5cGVgIChTdHJpbmcpOiBUaGUgdHlwZSBvZiBmaWxlcGF0aCBpbiB0aGUgdXJsIChcImJsb2JcIiBvciBcInRyZWVcIikuXG4gKiAgLSBgZnVsbF9uYW1lYCAoU3RyaW5nKTogVGhlIG93bmVyIGFuZCBuYW1lIHZhbHVlcyBpbiB0aGUgYG93bmVyL25hbWVgIGZvcm1hdC5cbiAqICAtIGB0b1N0cmluZ2AgKEZ1bmN0aW9uKTogQSBmdW5jdGlvbiB0byBzdHJpbmdpZnkgdGhlIHBhcnNlZCB1cmwgaW50byBhbm90aGVyIHVybCB0eXBlLlxuICogIC0gYG9yZ2FuaXphdGlvbmAgKFN0cmluZyk6IFRoZSBvcmdhbml6YXRpb24gdGhlIG93bmVyIGJlbG9uZ3MgdG8uIFRoaXMgaXMgQ2xvdWRGb3JnZSBzcGVjaWZpYy5cbiAqICAtIGBnaXRfc3VmZml4YCAoQm9vbGVhbik6IFdoZXRoZXIgdG8gYWRkIHRoZSBgLmdpdGAgc3VmZml4IG9yIG5vdC5cbiAqXG4gKi9cbmZ1bmN0aW9uIGdpdFVybFBhcnNlKHVybCkge1xuXG4gICAgaWYgKHR5cGVvZiB1cmwgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhlIHVybCBtdXN0IGJlIGEgc3RyaW5nLlwiKTtcbiAgICB9XG5cbiAgICB2YXIgc2hvcnRoYW5kUmUgPSAvXihbYS16XFxkLV17MSwzOX0pXFwvKFstXFwuXFx3XXsxLDEwMH0pJC9pO1xuXG4gICAgaWYgKHNob3J0aGFuZFJlLnRlc3QodXJsKSkge1xuICAgICAgICB1cmwgPSBcImh0dHBzOi8vZ2l0aHViLmNvbS9cIiArIHVybDtcbiAgICB9XG5cbiAgICB2YXIgdXJsSW5mbyA9IGdpdFVwKHVybCksXG4gICAgICAgIHNvdXJjZVBhcnRzID0gdXJsSW5mby5yZXNvdXJjZS5zcGxpdChcIi5cIiksXG4gICAgICAgIHNwbGl0cyA9IG51bGw7XG5cbiAgICB1cmxJbmZvLnRvU3RyaW5nID0gZnVuY3Rpb24gKHR5cGUpIHtcbiAgICAgICAgcmV0dXJuIGdpdFVybFBhcnNlLnN0cmluZ2lmeSh0aGlzLCB0eXBlKTtcbiAgICB9O1xuXG4gICAgdXJsSW5mby5zb3VyY2UgPSBzb3VyY2VQYXJ0cy5sZW5ndGggPiAyID8gc291cmNlUGFydHMuc2xpY2UoMSAtIHNvdXJjZVBhcnRzLmxlbmd0aCkuam9pbihcIi5cIikgOiB1cmxJbmZvLnNvdXJjZSA9IHVybEluZm8ucmVzb3VyY2U7XG5cbiAgICAvLyBOb3RlOiBTb21lIGhvc3Rpbmcgc2VydmljZXMgKGUuZy4gVmlzdWFsIFN0dWRpbyBUZWFtIFNlcnZpY2VzKSBhbGxvdyB3aGl0ZXNwYWNlIGNoYXJhY3RlcnNcbiAgICAvLyBpbiB0aGUgcmVwb3NpdG9yeSBhbmQgb3duZXIgbmFtZXMgc28gd2UgZGVjb2RlIHRoZSBVUkwgcGllY2VzIHRvIGdldCB0aGUgY29ycmVjdCByZXN1bHRcbiAgICB1cmxJbmZvLmdpdF9zdWZmaXggPSAvXFwuZ2l0JC8udGVzdCh1cmxJbmZvLnBhdGhuYW1lKTtcbiAgICB1cmxJbmZvLm5hbWUgPSBkZWNvZGVVUklDb21wb25lbnQoKHVybEluZm8ucGF0aG5hbWUgfHwgdXJsSW5mby5ocmVmKS5yZXBsYWNlKC8oXlxcLyl8KFxcLyQpL2csICcnKS5yZXBsYWNlKC9cXC5naXQkLywgXCJcIikpO1xuICAgIHVybEluZm8ub3duZXIgPSBkZWNvZGVVUklDb21wb25lbnQodXJsSW5mby51c2VyKTtcblxuICAgIHN3aXRjaCAodXJsSW5mby5zb3VyY2UpIHtcbiAgICAgICAgY2FzZSBcImdpdC5jbG91ZGZvcmdlLmNvbVwiOlxuICAgICAgICAgICAgdXJsSW5mby5vd25lciA9IHVybEluZm8udXNlcjtcbiAgICAgICAgICAgIHVybEluZm8ub3JnYW5pemF0aW9uID0gc291cmNlUGFydHNbMF07XG4gICAgICAgICAgICB1cmxJbmZvLnNvdXJjZSA9IFwiY2xvdWRmb3JnZS5jb21cIjtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFwidmlzdWFsc3R1ZGlvLmNvbVwiOlxuICAgICAgICAgICAgLy8gSGFuZGxlIFZTVFMgU1NIIFVSTHNcbiAgICAgICAgICAgIGlmICh1cmxJbmZvLnJlc291cmNlID09PSAndnMtc3NoLnZpc3VhbHN0dWRpby5jb20nKSB7XG4gICAgICAgICAgICAgICAgc3BsaXRzID0gdXJsSW5mby5uYW1lLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgICAgICAgICBpZiAoc3BsaXRzLmxlbmd0aCA9PT0gNCkge1xuICAgICAgICAgICAgICAgICAgICB1cmxJbmZvLm9yZ2FuaXphdGlvbiA9IHNwbGl0c1sxXTtcbiAgICAgICAgICAgICAgICAgICAgdXJsSW5mby5vd25lciA9IHNwbGl0c1syXTtcbiAgICAgICAgICAgICAgICAgICAgdXJsSW5mby5uYW1lID0gc3BsaXRzWzNdO1xuICAgICAgICAgICAgICAgICAgICB1cmxJbmZvLmZ1bGxfbmFtZSA9IHNwbGl0c1syXSArICcvJyArIHNwbGl0c1szXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNwbGl0cyA9IHVybEluZm8ubmFtZS5zcGxpdChcIi9cIik7XG4gICAgICAgICAgICAgICAgaWYgKHNwbGl0cy5sZW5ndGggPT09IDIpIHtcbiAgICAgICAgICAgICAgICAgICAgdXJsSW5mby5vd25lciA9IHNwbGl0c1sxXTtcbiAgICAgICAgICAgICAgICAgICAgdXJsSW5mby5uYW1lID0gc3BsaXRzWzFdO1xuICAgICAgICAgICAgICAgICAgICB1cmxJbmZvLmZ1bGxfbmFtZSA9ICdfZ2l0LycgKyB1cmxJbmZvLm5hbWU7XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzcGxpdHMubGVuZ3RoID09PSAzKSB7XG4gICAgICAgICAgICAgICAgICAgIHVybEluZm8ubmFtZSA9IHNwbGl0c1syXTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKHNwbGl0c1swXSA9PT0gJ0RlZmF1bHRDb2xsZWN0aW9uJykge1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsSW5mby5vd25lciA9IHNwbGl0c1syXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybEluZm8ub3JnYW5pemF0aW9uID0gc3BsaXRzWzBdO1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsSW5mby5mdWxsX25hbWUgPSB1cmxJbmZvLm9yZ2FuaXphdGlvbiArICcvX2dpdC8nICsgdXJsSW5mby5uYW1lO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgdXJsSW5mby5vd25lciA9IHNwbGl0c1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybEluZm8uZnVsbF9uYW1lID0gdXJsSW5mby5vd25lciArICcvX2dpdC8nICsgdXJsSW5mby5uYW1lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmIChzcGxpdHMubGVuZ3RoID09PSA0KSB7XG4gICAgICAgICAgICAgICAgICAgIHVybEluZm8ub3JnYW5pemF0aW9uID0gc3BsaXRzWzBdO1xuICAgICAgICAgICAgICAgICAgICB1cmxJbmZvLm93bmVyID0gc3BsaXRzWzFdO1xuICAgICAgICAgICAgICAgICAgICB1cmxJbmZvLm5hbWUgPSBzcGxpdHNbM107XG4gICAgICAgICAgICAgICAgICAgIHVybEluZm8uZnVsbF9uYW1lID0gdXJsSW5mby5vcmdhbml6YXRpb24gKyAnLycgKyB1cmxJbmZvLm93bmVyICsgJy9fZ2l0LycgKyB1cmxJbmZvLm5hbWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIC8vIEF6dXJlIERldk9wcyAoZm9ybWVybHkgVmlzdWFsIFN0dWRpbyBUZWFtIFNlcnZpY2VzKVxuICAgICAgICBjYXNlIFwiZGV2LmF6dXJlLmNvbVwiOlxuICAgICAgICBjYXNlIFwiYXp1cmUuY29tXCI6XG4gICAgICAgICAgICBpZiAodXJsSW5mby5yZXNvdXJjZSA9PT0gJ3NzaC5kZXYuYXp1cmUuY29tJykge1xuICAgICAgICAgICAgICAgIHNwbGl0cyA9IHVybEluZm8ubmFtZS5zcGxpdChcIi9cIik7XG4gICAgICAgICAgICAgICAgaWYgKHNwbGl0cy5sZW5ndGggPT09IDQpIHtcbiAgICAgICAgICAgICAgICAgICAgdXJsSW5mby5vcmdhbml6YXRpb24gPSBzcGxpdHNbMV07XG4gICAgICAgICAgICAgICAgICAgIHVybEluZm8ub3duZXIgPSBzcGxpdHNbMl07XG4gICAgICAgICAgICAgICAgICAgIHVybEluZm8ubmFtZSA9IHNwbGl0c1szXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHNwbGl0cyA9IHVybEluZm8ubmFtZS5zcGxpdChcIi9cIik7XG4gICAgICAgICAgICAgICAgaWYgKHNwbGl0cy5sZW5ndGggPT09IDUpIHtcbiAgICAgICAgICAgICAgICAgICAgdXJsSW5mby5vcmdhbml6YXRpb24gPSBzcGxpdHNbMF07XG4gICAgICAgICAgICAgICAgICAgIHVybEluZm8ub3duZXIgPSBzcGxpdHNbMV07XG4gICAgICAgICAgICAgICAgICAgIHVybEluZm8ubmFtZSA9IHNwbGl0c1s0XTtcbiAgICAgICAgICAgICAgICAgICAgdXJsSW5mby5mdWxsX25hbWUgPSAnX2dpdC8nICsgdXJsSW5mby5uYW1lO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3BsaXRzLmxlbmd0aCA9PT0gMykge1xuICAgICAgICAgICAgICAgICAgICB1cmxJbmZvLm5hbWUgPSBzcGxpdHNbMl07XG4gICAgICAgICAgICAgICAgICAgIGlmIChzcGxpdHNbMF0gPT09ICdEZWZhdWx0Q29sbGVjdGlvbicpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybEluZm8ub3duZXIgPSBzcGxpdHNbMl07XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmxJbmZvLm9yZ2FuaXphdGlvbiA9IHNwbGl0c1swXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybEluZm8uZnVsbF9uYW1lID0gdXJsSW5mby5vcmdhbml6YXRpb24gKyAnL19naXQvJyArIHVybEluZm8ubmFtZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHVybEluZm8ub3duZXIgPSBzcGxpdHNbMF07XG4gICAgICAgICAgICAgICAgICAgICAgICB1cmxJbmZvLmZ1bGxfbmFtZSA9IHVybEluZm8ub3duZXIgKyAnL19naXQvJyArIHVybEluZm8ubmFtZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3BsaXRzLmxlbmd0aCA9PT0gNCkge1xuICAgICAgICAgICAgICAgICAgICB1cmxJbmZvLm9yZ2FuaXphdGlvbiA9IHNwbGl0c1swXTtcbiAgICAgICAgICAgICAgICAgICAgdXJsSW5mby5vd25lciA9IHNwbGl0c1sxXTtcbiAgICAgICAgICAgICAgICAgICAgdXJsSW5mby5uYW1lID0gc3BsaXRzWzNdO1xuICAgICAgICAgICAgICAgICAgICB1cmxJbmZvLmZ1bGxfbmFtZSA9IHVybEluZm8ub3JnYW5pemF0aW9uICsgJy8nICsgdXJsSW5mby5vd25lciArICcvX2dpdC8nICsgdXJsSW5mby5uYW1lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAodXJsSW5mby5xdWVyeSAmJiB1cmxJbmZvLnF1ZXJ5WydwYXRoJ10pIHtcbiAgICAgICAgICAgICAgICAgICAgdXJsSW5mby5maWxlcGF0aCA9IHVybEluZm8ucXVlcnlbJ3BhdGgnXS5yZXBsYWNlKC9eXFwvKy9nLCAnJyk7IC8vIFN0cmlwIGxlYWRpbmcgc2xhc2ggKC8pXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmICh1cmxJbmZvLnF1ZXJ5ICYmIHVybEluZm8ucXVlcnlbJ3ZlcnNpb24nXSkge1xuICAgICAgICAgICAgICAgICAgICAvLyB2ZXJzaW9uPUdCPGJyYW5jaD5cbiAgICAgICAgICAgICAgICAgICAgdXJsSW5mby5yZWYgPSB1cmxJbmZvLnF1ZXJ5Wyd2ZXJzaW9uJ10ucmVwbGFjZSgvXkdCLywgJycpOyAvLyByZW1vdmUgR0JcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBzcGxpdHMgPSB1cmxJbmZvLm5hbWUuc3BsaXQoXCIvXCIpO1xuICAgICAgICAgICAgdmFyIG5hbWVJbmRleCA9IHNwbGl0cy5sZW5ndGggLSAxO1xuICAgICAgICAgICAgaWYgKHNwbGl0cy5sZW5ndGggPj0gMikge1xuICAgICAgICAgICAgICAgIHZhciBkYXNoSW5kZXggPSBzcGxpdHMuaW5kZXhPZihcIi1cIiwgMik7XG4gICAgICAgICAgICAgICAgdmFyIGJsb2JJbmRleCA9IHNwbGl0cy5pbmRleE9mKFwiYmxvYlwiLCAyKTtcbiAgICAgICAgICAgICAgICB2YXIgdHJlZUluZGV4ID0gc3BsaXRzLmluZGV4T2YoXCJ0cmVlXCIsIDIpO1xuICAgICAgICAgICAgICAgIHZhciBjb21taXRJbmRleCA9IHNwbGl0cy5pbmRleE9mKFwiY29tbWl0XCIsIDIpO1xuICAgICAgICAgICAgICAgIHZhciBpc3N1ZXNJbmRleCA9IHNwbGl0cy5pbmRleE9mKFwiaXNzdWVzXCIsIDIpO1xuICAgICAgICAgICAgICAgIHZhciBzcmNJbmRleCA9IHNwbGl0cy5pbmRleE9mKFwic3JjXCIsIDIpO1xuICAgICAgICAgICAgICAgIHZhciByYXdJbmRleCA9IHNwbGl0cy5pbmRleE9mKFwicmF3XCIsIDIpO1xuICAgICAgICAgICAgICAgIHZhciBlZGl0SW5kZXggPSBzcGxpdHMuaW5kZXhPZihcImVkaXRcIiwgMik7XG4gICAgICAgICAgICAgICAgbmFtZUluZGV4ID0gZGFzaEluZGV4ID4gMCA/IGRhc2hJbmRleCAtIDEgOiBibG9iSW5kZXggPiAwICYmIHRyZWVJbmRleCA+IDAgPyBNYXRoLm1pbihibG9iSW5kZXggLSAxLCB0cmVlSW5kZXggLSAxKSA6IGJsb2JJbmRleCA+IDAgPyBibG9iSW5kZXggLSAxIDogaXNzdWVzSW5kZXggPiAwID8gaXNzdWVzSW5kZXggLSAxIDogdHJlZUluZGV4ID4gMCA/IHRyZWVJbmRleCAtIDEgOiBjb21taXRJbmRleCA+IDAgPyBjb21taXRJbmRleCAtIDEgOiBzcmNJbmRleCA+IDAgPyBzcmNJbmRleCAtIDEgOiByYXdJbmRleCA+IDAgPyByYXdJbmRleCAtIDEgOiBlZGl0SW5kZXggPiAwID8gZWRpdEluZGV4IC0gMSA6IG5hbWVJbmRleDtcblxuICAgICAgICAgICAgICAgIHVybEluZm8ub3duZXIgPSBzcGxpdHMuc2xpY2UoMCwgbmFtZUluZGV4KS5qb2luKCcvJyk7XG4gICAgICAgICAgICAgICAgdXJsSW5mby5uYW1lID0gc3BsaXRzW25hbWVJbmRleF07XG4gICAgICAgICAgICAgICAgaWYgKGNvbW1pdEluZGV4ICYmIGlzc3Vlc0luZGV4IDwgMCkge1xuICAgICAgICAgICAgICAgICAgICB1cmxJbmZvLmNvbW1pdCA9IHNwbGl0c1tuYW1lSW5kZXggKyAyXTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVybEluZm8ucmVmID0gXCJcIjtcbiAgICAgICAgICAgIHVybEluZm8uZmlsZXBhdGh0eXBlID0gXCJcIjtcbiAgICAgICAgICAgIHVybEluZm8uZmlsZXBhdGggPSBcIlwiO1xuICAgICAgICAgICAgdmFyIG9mZnNldE5hbWVJbmRleCA9IHNwbGl0cy5sZW5ndGggPiBuYW1lSW5kZXggJiYgc3BsaXRzW25hbWVJbmRleCArIDFdID09PSBcIi1cIiA/IG5hbWVJbmRleCArIDEgOiBuYW1lSW5kZXg7XG5cbiAgICAgICAgICAgIGlmIChzcGxpdHMubGVuZ3RoID4gb2Zmc2V0TmFtZUluZGV4ICsgMiAmJiBbXCJyYXdcIiwgXCJzcmNcIiwgXCJibG9iXCIsIFwidHJlZVwiLCBcImVkaXRcIl0uaW5kZXhPZihzcGxpdHNbb2Zmc2V0TmFtZUluZGV4ICsgMV0pID49IDApIHtcbiAgICAgICAgICAgICAgICB1cmxJbmZvLmZpbGVwYXRodHlwZSA9IHNwbGl0c1tvZmZzZXROYW1lSW5kZXggKyAxXTtcbiAgICAgICAgICAgICAgICB1cmxJbmZvLnJlZiA9IHNwbGl0c1tvZmZzZXROYW1lSW5kZXggKyAyXTtcbiAgICAgICAgICAgICAgICBpZiAoc3BsaXRzLmxlbmd0aCA+IG9mZnNldE5hbWVJbmRleCArIDMpIHtcbiAgICAgICAgICAgICAgICAgICAgdXJsSW5mby5maWxlcGF0aCA9IHNwbGl0cy5zbGljZShvZmZzZXROYW1lSW5kZXggKyAzKS5qb2luKCcvJyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdXJsSW5mby5vcmdhbml6YXRpb24gPSB1cmxJbmZvLm93bmVyO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuXG4gICAgaWYgKCF1cmxJbmZvLmZ1bGxfbmFtZSkge1xuICAgICAgICB1cmxJbmZvLmZ1bGxfbmFtZSA9IHVybEluZm8ub3duZXI7XG4gICAgICAgIGlmICh1cmxJbmZvLm5hbWUpIHtcbiAgICAgICAgICAgIHVybEluZm8uZnVsbF9uYW1lICYmICh1cmxJbmZvLmZ1bGxfbmFtZSArPSBcIi9cIik7XG4gICAgICAgICAgICB1cmxJbmZvLmZ1bGxfbmFtZSArPSB1cmxJbmZvLm5hbWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLy8gQml0YnVja2V0IFNlcnZlclxuICAgIGlmICh1cmxJbmZvLm93bmVyLnN0YXJ0c1dpdGgoXCJzY20vXCIpKSB7XG4gICAgICAgIHVybEluZm8uc291cmNlID0gXCJiaXRidWNrZXQtc2VydmVyXCI7XG4gICAgICAgIHVybEluZm8ub3duZXIgPSB1cmxJbmZvLm93bmVyLnJlcGxhY2UoXCJzY20vXCIsIFwiXCIpO1xuICAgICAgICB1cmxJbmZvLm9yZ2FuaXphdGlvbiA9IHVybEluZm8ub3duZXI7XG4gICAgICAgIHVybEluZm8uZnVsbF9uYW1lID0gdXJsSW5mby5vd25lciArIFwiL1wiICsgdXJsSW5mby5uYW1lO1xuICAgIH1cblxuICAgIHZhciBiaXRidWNrZXQgPSAvKHByb2plY3RzfHVzZXJzKVxcLyguKj8pXFwvcmVwb3NcXC8oLio/KSgoXFwvLiokKXwkKS87XG4gICAgdmFyIG1hdGNoZXMgPSBiaXRidWNrZXQuZXhlYyh1cmxJbmZvLnBhdGhuYW1lKTtcbiAgICBpZiAobWF0Y2hlcyAhPSBudWxsKSB7XG4gICAgICAgIHVybEluZm8uc291cmNlID0gXCJiaXRidWNrZXQtc2VydmVyXCI7XG4gICAgICAgIGlmIChtYXRjaGVzWzFdID09PSBcInVzZXJzXCIpIHtcbiAgICAgICAgICAgIHVybEluZm8ub3duZXIgPSBcIn5cIiArIG1hdGNoZXNbMl07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB1cmxJbmZvLm93bmVyID0gbWF0Y2hlc1syXTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVybEluZm8ub3JnYW5pemF0aW9uID0gdXJsSW5mby5vd25lcjtcbiAgICAgICAgdXJsSW5mby5uYW1lID0gbWF0Y2hlc1szXTtcblxuICAgICAgICBzcGxpdHMgPSBtYXRjaGVzWzRdLnNwbGl0KFwiL1wiKTtcbiAgICAgICAgaWYgKHNwbGl0cy5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICBpZiAoW1wicmF3XCIsIFwiYnJvd3NlXCJdLmluZGV4T2Yoc3BsaXRzWzFdKSA+PSAwKSB7XG4gICAgICAgICAgICAgICAgdXJsSW5mby5maWxlcGF0aHR5cGUgPSBzcGxpdHNbMV07XG4gICAgICAgICAgICAgICAgaWYgKHNwbGl0cy5sZW5ndGggPiAyKSB7XG4gICAgICAgICAgICAgICAgICAgIHVybEluZm8uZmlsZXBhdGggPSBzcGxpdHMuc2xpY2UoMikuam9pbignLycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSBpZiAoc3BsaXRzWzFdID09PSBcImNvbW1pdHNcIiAmJiBzcGxpdHMubGVuZ3RoID4gMikge1xuICAgICAgICAgICAgICAgIHVybEluZm8uY29tbWl0ID0gc3BsaXRzWzJdO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHVybEluZm8uZnVsbF9uYW1lID0gdXJsSW5mby5vd25lciArIFwiL1wiICsgdXJsSW5mby5uYW1lO1xuXG4gICAgICAgIGlmICh1cmxJbmZvLnF1ZXJ5LmF0KSB7XG4gICAgICAgICAgICB1cmxJbmZvLnJlZiA9IHVybEluZm8ucXVlcnkuYXQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB1cmxJbmZvLnJlZiA9IFwiXCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHVybEluZm87XG59XG5cbi8qKlxuICogc3RyaW5naWZ5XG4gKiBTdHJpbmdpZmllcyBhIGBHaXRVcmxgIG9iamVjdC5cbiAqXG4gKiBAbmFtZSBzdHJpbmdpZnlcbiAqIEBmdW5jdGlvblxuICogQHBhcmFtIHtHaXRVcmx9IG9iaiBUaGUgcGFyc2VkIEdpdCB1cmwgb2JqZWN0LlxuICogQHBhcmFtIHtTdHJpbmd9IHR5cGUgVGhlIHR5cGUgb2YgdGhlIHN0cmluZ2lmaWVkIHVybCAoZGVmYXVsdCBgb2JqLnByb3RvY29sYCkuXG4gKiBAcmV0dXJuIHtTdHJpbmd9IFRoZSBzdHJpbmdpZmllZCB1cmwuXG4gKi9cbmdpdFVybFBhcnNlLnN0cmluZ2lmeSA9IGZ1bmN0aW9uIChvYmosIHR5cGUpIHtcbiAgICB0eXBlID0gdHlwZSB8fCAob2JqLnByb3RvY29scyAmJiBvYmoucHJvdG9jb2xzLmxlbmd0aCA/IG9iai5wcm90b2NvbHMuam9pbignKycpIDogb2JqLnByb3RvY29sKTtcbiAgICB2YXIgcG9ydCA9IG9iai5wb3J0ID8gXCI6XCIgKyBvYmoucG9ydCA6ICcnO1xuICAgIHZhciB1c2VyID0gb2JqLnVzZXIgfHwgJ2dpdCc7XG4gICAgdmFyIG1heWJlR2l0U3VmZml4ID0gb2JqLmdpdF9zdWZmaXggPyBcIi5naXRcIiA6IFwiXCI7XG4gICAgc3dpdGNoICh0eXBlKSB7XG4gICAgICAgIGNhc2UgXCJzc2hcIjpcbiAgICAgICAgICAgIGlmIChwb3J0KSByZXR1cm4gXCJzc2g6Ly9cIiArIHVzZXIgKyBcIkBcIiArIG9iai5yZXNvdXJjZSArIHBvcnQgKyBcIi9cIiArIG9iai5mdWxsX25hbWUgKyBtYXliZUdpdFN1ZmZpeDtlbHNlIHJldHVybiB1c2VyICsgXCJAXCIgKyBvYmoucmVzb3VyY2UgKyBcIjpcIiArIG9iai5mdWxsX25hbWUgKyBtYXliZUdpdFN1ZmZpeDtcbiAgICAgICAgY2FzZSBcImdpdCtzc2hcIjpcbiAgICAgICAgY2FzZSBcInNzaCtnaXRcIjpcbiAgICAgICAgY2FzZSBcImZ0cFwiOlxuICAgICAgICBjYXNlIFwiZnRwc1wiOlxuICAgICAgICAgICAgcmV0dXJuIHR5cGUgKyBcIjovL1wiICsgdXNlciArIFwiQFwiICsgb2JqLnJlc291cmNlICsgcG9ydCArIFwiL1wiICsgb2JqLmZ1bGxfbmFtZSArIG1heWJlR2l0U3VmZml4O1xuICAgICAgICBjYXNlIFwiaHR0cFwiOlxuICAgICAgICBjYXNlIFwiaHR0cHNcIjpcbiAgICAgICAgICAgIHZhciBhdXRoID0gb2JqLnRva2VuID8gYnVpbGRUb2tlbihvYmopIDogb2JqLnVzZXIgJiYgKG9iai5wcm90b2NvbHMuaW5jbHVkZXMoJ2h0dHAnKSB8fCBvYmoucHJvdG9jb2xzLmluY2x1ZGVzKCdodHRwcycpKSA/IG9iai51c2VyICsgXCJAXCIgOiBcIlwiO1xuICAgICAgICAgICAgcmV0dXJuIHR5cGUgKyBcIjovL1wiICsgYXV0aCArIG9iai5yZXNvdXJjZSArIHBvcnQgKyBcIi9cIiArIGJ1aWxkUGF0aChvYmopICsgbWF5YmVHaXRTdWZmaXg7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gb2JqLmhyZWY7XG4gICAgfVxufTtcblxuLyohXG4gKiBidWlsZFRva2VuXG4gKiBCdWlsZHMgT0F1dGggdG9rZW4gcHJlZml4IChoZWxwZXIgZnVuY3Rpb24pXG4gKlxuICogQG5hbWUgYnVpbGRUb2tlblxuICogQGZ1bmN0aW9uXG4gKiBAcGFyYW0ge0dpdFVybH0gb2JqIFRoZSBwYXJzZWQgR2l0IHVybCBvYmplY3QuXG4gKiBAcmV0dXJuIHtTdHJpbmd9IHRva2VuIHByZWZpeFxuICovXG5mdW5jdGlvbiBidWlsZFRva2VuKG9iaikge1xuICAgIHN3aXRjaCAob2JqLnNvdXJjZSkge1xuICAgICAgICBjYXNlIFwiYml0YnVja2V0Lm9yZ1wiOlxuICAgICAgICAgICAgcmV0dXJuIFwieC10b2tlbi1hdXRoOlwiICsgb2JqLnRva2VuICsgXCJAXCI7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICByZXR1cm4gb2JqLnRva2VuICsgXCJAXCI7XG4gICAgfVxufVxuXG5mdW5jdGlvbiBidWlsZFBhdGgob2JqKSB7XG4gICAgc3dpdGNoIChvYmouc291cmNlKSB7XG4gICAgICAgIGNhc2UgXCJiaXRidWNrZXQtc2VydmVyXCI6XG4gICAgICAgICAgICByZXR1cm4gXCJzY20vXCIgKyBvYmouZnVsbF9uYW1lO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgLy8gTm90ZTogUmUtZW5jb2RlIHRoZSByZXBvc2l0b3J5IGFuZCBvd25lciBuYW1lcyBmb3IgaG9zdGluZyBzZXJ2aWNlcyB0aGF0IGFsbG93IHdoaXRlc3BhY2UgY2hhcmFjdGVyc1xuICAgICAgICAgICAgdmFyIGVuY29kZWRfZnVsbF9uYW1lID0gb2JqLmZ1bGxfbmFtZS5zcGxpdCgnLycpLm1hcChmdW5jdGlvbiAoeCkge1xuICAgICAgICAgICAgICAgIHJldHVybiBlbmNvZGVVUklDb21wb25lbnQoeCk7XG4gICAgICAgICAgICB9KS5qb2luKCcvJyk7XG5cbiAgICAgICAgICAgIHJldHVybiBlbmNvZGVkX2Z1bGxfbmFtZTtcbiAgICB9XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2l0VXJsUGFyc2U7IiwgIid1c2Ugc3RyaWN0JztcbmNvbnN0IGFuc2lFc2NhcGVzID0gbW9kdWxlLmV4cG9ydHM7XG4vLyBUT0RPOiByZW1vdmUgdGhpcyBpbiB0aGUgbmV4dCBtYWpvciB2ZXJzaW9uXG5tb2R1bGUuZXhwb3J0cy5kZWZhdWx0ID0gYW5zaUVzY2FwZXM7XG5cbmNvbnN0IEVTQyA9ICdcXHUwMDFCWyc7XG5jb25zdCBPU0MgPSAnXFx1MDAxQl0nO1xuY29uc3QgQkVMID0gJ1xcdTAwMDcnO1xuY29uc3QgU0VQID0gJzsnO1xuY29uc3QgaXNUZXJtaW5hbEFwcCA9IHByb2Nlc3MuZW52LlRFUk1fUFJPR1JBTSA9PT0gJ0FwcGxlX1Rlcm1pbmFsJztcblxuYW5zaUVzY2FwZXMuY3Vyc29yVG8gPSAoeCwgeSkgPT4ge1xuXHRpZiAodHlwZW9mIHggIT09ICdudW1iZXInKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIGB4YCBhcmd1bWVudCBpcyByZXF1aXJlZCcpO1xuXHR9XG5cblx0aWYgKHR5cGVvZiB5ICE9PSAnbnVtYmVyJykge1xuXHRcdHJldHVybiBFU0MgKyAoeCArIDEpICsgJ0cnO1xuXHR9XG5cblx0cmV0dXJuIEVTQyArICh5ICsgMSkgKyAnOycgKyAoeCArIDEpICsgJ0gnO1xufTtcblxuYW5zaUVzY2FwZXMuY3Vyc29yTW92ZSA9ICh4LCB5KSA9PiB7XG5cdGlmICh0eXBlb2YgeCAhPT0gJ251bWJlcicpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgYHhgIGFyZ3VtZW50IGlzIHJlcXVpcmVkJyk7XG5cdH1cblxuXHRsZXQgcmV0ID0gJyc7XG5cblx0aWYgKHggPCAwKSB7XG5cdFx0cmV0ICs9IEVTQyArICgteCkgKyAnRCc7XG5cdH0gZWxzZSBpZiAoeCA+IDApIHtcblx0XHRyZXQgKz0gRVNDICsgeCArICdDJztcblx0fVxuXG5cdGlmICh5IDwgMCkge1xuXHRcdHJldCArPSBFU0MgKyAoLXkpICsgJ0EnO1xuXHR9IGVsc2UgaWYgKHkgPiAwKSB7XG5cdFx0cmV0ICs9IEVTQyArIHkgKyAnQic7XG5cdH1cblxuXHRyZXR1cm4gcmV0O1xufTtcblxuYW5zaUVzY2FwZXMuY3Vyc29yVXAgPSAoY291bnQgPSAxKSA9PiBFU0MgKyBjb3VudCArICdBJztcbmFuc2lFc2NhcGVzLmN1cnNvckRvd24gPSAoY291bnQgPSAxKSA9PiBFU0MgKyBjb3VudCArICdCJztcbmFuc2lFc2NhcGVzLmN1cnNvckZvcndhcmQgPSAoY291bnQgPSAxKSA9PiBFU0MgKyBjb3VudCArICdDJztcbmFuc2lFc2NhcGVzLmN1cnNvckJhY2t3YXJkID0gKGNvdW50ID0gMSkgPT4gRVNDICsgY291bnQgKyAnRCc7XG5cbmFuc2lFc2NhcGVzLmN1cnNvckxlZnQgPSBFU0MgKyAnRyc7XG5hbnNpRXNjYXBlcy5jdXJzb3JTYXZlUG9zaXRpb24gPSBpc1Rlcm1pbmFsQXBwID8gJ1xcdTAwMUI3JyA6IEVTQyArICdzJztcbmFuc2lFc2NhcGVzLmN1cnNvclJlc3RvcmVQb3NpdGlvbiA9IGlzVGVybWluYWxBcHAgPyAnXFx1MDAxQjgnIDogRVNDICsgJ3UnO1xuYW5zaUVzY2FwZXMuY3Vyc29yR2V0UG9zaXRpb24gPSBFU0MgKyAnNm4nO1xuYW5zaUVzY2FwZXMuY3Vyc29yTmV4dExpbmUgPSBFU0MgKyAnRSc7XG5hbnNpRXNjYXBlcy5jdXJzb3JQcmV2TGluZSA9IEVTQyArICdGJztcbmFuc2lFc2NhcGVzLmN1cnNvckhpZGUgPSBFU0MgKyAnPzI1bCc7XG5hbnNpRXNjYXBlcy5jdXJzb3JTaG93ID0gRVNDICsgJz8yNWgnO1xuXG5hbnNpRXNjYXBlcy5lcmFzZUxpbmVzID0gY291bnQgPT4ge1xuXHRsZXQgY2xlYXIgPSAnJztcblxuXHRmb3IgKGxldCBpID0gMDsgaSA8IGNvdW50OyBpKyspIHtcblx0XHRjbGVhciArPSBhbnNpRXNjYXBlcy5lcmFzZUxpbmUgKyAoaSA8IGNvdW50IC0gMSA/IGFuc2lFc2NhcGVzLmN1cnNvclVwKCkgOiAnJyk7XG5cdH1cblxuXHRpZiAoY291bnQpIHtcblx0XHRjbGVhciArPSBhbnNpRXNjYXBlcy5jdXJzb3JMZWZ0O1xuXHR9XG5cblx0cmV0dXJuIGNsZWFyO1xufTtcblxuYW5zaUVzY2FwZXMuZXJhc2VFbmRMaW5lID0gRVNDICsgJ0snO1xuYW5zaUVzY2FwZXMuZXJhc2VTdGFydExpbmUgPSBFU0MgKyAnMUsnO1xuYW5zaUVzY2FwZXMuZXJhc2VMaW5lID0gRVNDICsgJzJLJztcbmFuc2lFc2NhcGVzLmVyYXNlRG93biA9IEVTQyArICdKJztcbmFuc2lFc2NhcGVzLmVyYXNlVXAgPSBFU0MgKyAnMUonO1xuYW5zaUVzY2FwZXMuZXJhc2VTY3JlZW4gPSBFU0MgKyAnMkonO1xuYW5zaUVzY2FwZXMuc2Nyb2xsVXAgPSBFU0MgKyAnUyc7XG5hbnNpRXNjYXBlcy5zY3JvbGxEb3duID0gRVNDICsgJ1QnO1xuXG5hbnNpRXNjYXBlcy5jbGVhclNjcmVlbiA9ICdcXHUwMDFCYyc7XG5cbmFuc2lFc2NhcGVzLmNsZWFyVGVybWluYWwgPSBwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInID9cblx0YCR7YW5zaUVzY2FwZXMuZXJhc2VTY3JlZW59JHtFU0N9MGZgIDpcblx0Ly8gMS4gRXJhc2VzIHRoZSBzY3JlZW4gKE9ubHkgZG9uZSBpbiBjYXNlIGAyYCBpcyBub3Qgc3VwcG9ydGVkKVxuXHQvLyAyLiBFcmFzZXMgdGhlIHdob2xlIHNjcmVlbiBpbmNsdWRpbmcgc2Nyb2xsYmFjayBidWZmZXJcblx0Ly8gMy4gTW92ZXMgY3Vyc29yIHRvIHRoZSB0b3AtbGVmdCBwb3NpdGlvblxuXHQvLyBNb3JlIGluZm86IGh0dHBzOi8vd3d3LnJlYWwtd29ybGQtc3lzdGVtcy5jb20vZG9jcy9BTlNJY29kZS5odG1sXG5cdGAke2Fuc2lFc2NhcGVzLmVyYXNlU2NyZWVufSR7RVNDfTNKJHtFU0N9SGA7XG5cbmFuc2lFc2NhcGVzLmJlZXAgPSBCRUw7XG5cbmFuc2lFc2NhcGVzLmxpbmsgPSAodGV4dCwgdXJsKSA9PiB7XG5cdHJldHVybiBbXG5cdFx0T1NDLFxuXHRcdCc4Jyxcblx0XHRTRVAsXG5cdFx0U0VQLFxuXHRcdHVybCxcblx0XHRCRUwsXG5cdFx0dGV4dCxcblx0XHRPU0MsXG5cdFx0JzgnLFxuXHRcdFNFUCxcblx0XHRTRVAsXG5cdFx0QkVMXG5cdF0uam9pbignJyk7XG59O1xuXG5hbnNpRXNjYXBlcy5pbWFnZSA9IChidWZmZXIsIG9wdGlvbnMgPSB7fSkgPT4ge1xuXHRsZXQgcmV0ID0gYCR7T1NDfTEzMzc7RmlsZT1pbmxpbmU9MWA7XG5cblx0aWYgKG9wdGlvbnMud2lkdGgpIHtcblx0XHRyZXQgKz0gYDt3aWR0aD0ke29wdGlvbnMud2lkdGh9YDtcblx0fVxuXG5cdGlmIChvcHRpb25zLmhlaWdodCkge1xuXHRcdHJldCArPSBgO2hlaWdodD0ke29wdGlvbnMuaGVpZ2h0fWA7XG5cdH1cblxuXHRpZiAob3B0aW9ucy5wcmVzZXJ2ZUFzcGVjdFJhdGlvID09PSBmYWxzZSkge1xuXHRcdHJldCArPSAnO3ByZXNlcnZlQXNwZWN0UmF0aW89MCc7XG5cdH1cblxuXHRyZXR1cm4gcmV0ICsgJzonICsgYnVmZmVyLnRvU3RyaW5nKCdiYXNlNjQnKSArIEJFTDtcbn07XG5cbmFuc2lFc2NhcGVzLmlUZXJtID0ge1xuXHRzZXRDd2Q6IChjd2QgPSBwcm9jZXNzLmN3ZCgpKSA9PiBgJHtPU0N9NTA7Q3VycmVudERpcj0ke2N3ZH0ke0JFTH1gLFxuXG5cdGFubm90YXRpb246IChtZXNzYWdlLCBvcHRpb25zID0ge30pID0+IHtcblx0XHRsZXQgcmV0ID0gYCR7T1NDfTEzMzc7YDtcblxuXHRcdGNvbnN0IGhhc1ggPSB0eXBlb2Ygb3B0aW9ucy54ICE9PSAndW5kZWZpbmVkJztcblx0XHRjb25zdCBoYXNZID0gdHlwZW9mIG9wdGlvbnMueSAhPT0gJ3VuZGVmaW5lZCc7XG5cdFx0aWYgKChoYXNYIHx8IGhhc1kpICYmICEoaGFzWCAmJiBoYXNZICYmIHR5cGVvZiBvcHRpb25zLmxlbmd0aCAhPT0gJ3VuZGVmaW5lZCcpKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ2B4YCwgYHlgIGFuZCBgbGVuZ3RoYCBtdXN0IGJlIGRlZmluZWQgd2hlbiBgeGAgb3IgYHlgIGlzIGRlZmluZWQnKTtcblx0XHR9XG5cblx0XHRtZXNzYWdlID0gbWVzc2FnZS5yZXBsYWNlKC9cXHwvZywgJycpO1xuXG5cdFx0cmV0ICs9IG9wdGlvbnMuaXNIaWRkZW4gPyAnQWRkSGlkZGVuQW5ub3RhdGlvbj0nIDogJ0FkZEFubm90YXRpb249JztcblxuXHRcdGlmIChvcHRpb25zLmxlbmd0aCA+IDApIHtcblx0XHRcdHJldCArPVxuXHRcdFx0XHRcdChoYXNYID9cblx0XHRcdFx0XHRcdFttZXNzYWdlLCBvcHRpb25zLmxlbmd0aCwgb3B0aW9ucy54LCBvcHRpb25zLnldIDpcblx0XHRcdFx0XHRcdFtvcHRpb25zLmxlbmd0aCwgbWVzc2FnZV0pLmpvaW4oJ3wnKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0ICs9IG1lc3NhZ2U7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHJldCArIEJFTDtcblx0fVxufTtcbiIsICJjb25zdCB0dHkgPSByZXF1aXJlKCdub2RlOnR0eScpO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8td2FybmluZy1jb21tZW50c1xuLy8gVE9ETzogVXNlIGEgYmV0dGVyIG1ldGhvZCB3aGVuIGl0J3MgYWRkZWQgdG8gTm9kZS5qcyAoaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy9ub2RlL3B1bGwvNDAyNDApXG4vLyBMb3RzIG9mIG9wdGlvbmFscyBoZXJlIHRvIHN1cHBvcnQgRGVuby5cbmNvbnN0IGhhc0NvbG9ycyA9IHR0eT8uV3JpdGVTdHJlYW0/LnByb3RvdHlwZT8uaGFzQ29sb3JzPy4oKSA/PyBmYWxzZTtcblxuY29uc3QgZm9ybWF0ID0gKG9wZW4sIGNsb3NlKSA9PiB7XG5cdGlmICghaGFzQ29sb3JzKSB7XG5cdFx0cmV0dXJuIGlucHV0ID0+IGlucHV0O1xuXHR9XG5cblx0Y29uc3Qgb3BlbkNvZGUgPSBgXFx1MDAxQlske29wZW59bWA7XG5cdGNvbnN0IGNsb3NlQ29kZSA9IGBcXHUwMDFCWyR7Y2xvc2V9bWA7XG5cblx0cmV0dXJuIGlucHV0ID0+IHtcblx0XHRjb25zdCBzdHJpbmcgPSBpbnB1dCArICcnOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWltcGxpY2l0LWNvZXJjaW9uIC0tIFRoaXMgaXMgZmFzdGVyLlxuXHRcdGxldCBpbmRleCA9IHN0cmluZy5pbmRleE9mKGNsb3NlQ29kZSk7XG5cblx0XHRpZiAoaW5kZXggPT09IC0xKSB7XG5cdFx0XHQvLyBOb3RlOiBJbnRlbnRpb25hbGx5IG5vdCB1c2luZyBzdHJpbmcgaW50ZXJwb2xhdGlvbiBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy5cblx0XHRcdHJldHVybiBvcGVuQ29kZSArIHN0cmluZyArIGNsb3NlQ29kZTtcblx0XHR9XG5cblx0XHQvLyBIYW5kbGUgbmVzdGVkIGNvbG9ycy5cblxuXHRcdC8vIFdlIGNvdWxkIGhhdmUgZG9uZSB0aGlzLCBidXQgaXQncyB0b28gc2xvdyAoYXMgb2YgTm9kZS5qcyAyMikuXG5cdFx0Ly8gcmV0dXJuIG9wZW5Db2RlICsgc3RyaW5nLnJlcGxhY2VBbGwoY2xvc2VDb2RlLCBvcGVuQ29kZSkgKyBjbG9zZUNvZGU7XG5cblx0XHRsZXQgcmVzdWx0ID0gb3BlbkNvZGU7XG5cdFx0bGV0IGxhc3RJbmRleCA9IDA7XG5cblx0XHR3aGlsZSAoaW5kZXggIT09IC0xKSB7XG5cdFx0XHRyZXN1bHQgKz0gc3RyaW5nLnNsaWNlKGxhc3RJbmRleCwgaW5kZXgpICsgb3BlbkNvZGU7XG5cdFx0XHRsYXN0SW5kZXggPSBpbmRleCArIGNsb3NlQ29kZS5sZW5ndGg7XG5cdFx0XHRpbmRleCA9IHN0cmluZy5pbmRleE9mKGNsb3NlQ29kZSwgbGFzdEluZGV4KTtcblx0XHR9XG5cblx0XHRyZXN1bHQgKz0gc3RyaW5nLnNsaWNlKGxhc3RJbmRleCkgKyBjbG9zZUNvZGU7XG5cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9O1xufTtcblxuY29uc3QgY29sb3JzID0ge307XG5cbmNvbG9ycy5yZXNldCA9IGZvcm1hdCgwLCAwKTtcbmNvbG9ycy5ib2xkID0gZm9ybWF0KDEsIDIyKTtcbmNvbG9ycy5kaW0gPSBmb3JtYXQoMiwgMjIpO1xuY29sb3JzLml0YWxpYyA9IGZvcm1hdCgzLCAyMyk7XG5jb2xvcnMudW5kZXJsaW5lID0gZm9ybWF0KDQsIDI0KTtcbmNvbG9ycy5vdmVybGluZSA9IGZvcm1hdCg1MywgNTUpO1xuY29sb3JzLmludmVyc2UgPSBmb3JtYXQoNywgMjcpO1xuY29sb3JzLmhpZGRlbiA9IGZvcm1hdCg4LCAyOCk7XG5jb2xvcnMuc3RyaWtldGhyb3VnaCA9IGZvcm1hdCg5LCAyOSk7XG5cbmNvbG9ycy5ibGFjayA9IGZvcm1hdCgzMCwgMzkpO1xuY29sb3JzLnJlZCA9IGZvcm1hdCgzMSwgMzkpO1xuY29sb3JzLmdyZWVuID0gZm9ybWF0KDMyLCAzOSk7XG5jb2xvcnMueWVsbG93ID0gZm9ybWF0KDMzLCAzOSk7XG5jb2xvcnMuYmx1ZSA9IGZvcm1hdCgzNCwgMzkpO1xuY29sb3JzLm1hZ2VudGEgPSBmb3JtYXQoMzUsIDM5KTtcbmNvbG9ycy5jeWFuID0gZm9ybWF0KDM2LCAzOSk7XG5jb2xvcnMud2hpdGUgPSBmb3JtYXQoMzcsIDM5KTtcbmNvbG9ycy5ncmF5ID0gZm9ybWF0KDkwLCAzOSk7XG5cbmNvbG9ycy5iZ0JsYWNrID0gZm9ybWF0KDQwLCA0OSk7XG5jb2xvcnMuYmdSZWQgPSBmb3JtYXQoNDEsIDQ5KTtcbmNvbG9ycy5iZ0dyZWVuID0gZm9ybWF0KDQyLCA0OSk7XG5jb2xvcnMuYmdZZWxsb3cgPSBmb3JtYXQoNDMsIDQ5KTtcbmNvbG9ycy5iZ0JsdWUgPSBmb3JtYXQoNDQsIDQ5KTtcbmNvbG9ycy5iZ01hZ2VudGEgPSBmb3JtYXQoNDUsIDQ5KTtcbmNvbG9ycy5iZ0N5YW4gPSBmb3JtYXQoNDYsIDQ5KTtcbmNvbG9ycy5iZ1doaXRlID0gZm9ybWF0KDQ3LCA0OSk7XG5jb2xvcnMuYmdHcmF5ID0gZm9ybWF0KDEwMCwgNDkpO1xuXG5jb2xvcnMucmVkQnJpZ2h0ID0gZm9ybWF0KDkxLCAzOSk7XG5jb2xvcnMuZ3JlZW5CcmlnaHQgPSBmb3JtYXQoOTIsIDM5KTtcbmNvbG9ycy55ZWxsb3dCcmlnaHQgPSBmb3JtYXQoOTMsIDM5KTtcbmNvbG9ycy5ibHVlQnJpZ2h0ID0gZm9ybWF0KDk0LCAzOSk7XG5jb2xvcnMubWFnZW50YUJyaWdodCA9IGZvcm1hdCg5NSwgMzkpO1xuY29sb3JzLmN5YW5CcmlnaHQgPSBmb3JtYXQoOTYsIDM5KTtcbmNvbG9ycy53aGl0ZUJyaWdodCA9IGZvcm1hdCg5NywgMzkpO1xuXG5jb2xvcnMuYmdSZWRCcmlnaHQgPSBmb3JtYXQoMTAxLCA0OSk7XG5jb2xvcnMuYmdHcmVlbkJyaWdodCA9IGZvcm1hdCgxMDIsIDQ5KTtcbmNvbG9ycy5iZ1llbGxvd0JyaWdodCA9IGZvcm1hdCgxMDMsIDQ5KTtcbmNvbG9ycy5iZ0JsdWVCcmlnaHQgPSBmb3JtYXQoMTA0LCA0OSk7XG5jb2xvcnMuYmdNYWdlbnRhQnJpZ2h0ID0gZm9ybWF0KDEwNSwgNDkpO1xuY29sb3JzLmJnQ3lhbkJyaWdodCA9IGZvcm1hdCgxMDYsIDQ5KTtcbmNvbG9ycy5iZ1doaXRlQnJpZ2h0ID0gZm9ybWF0KDEwNywgNDkpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGNvbG9ycztcbiIsICIndXNlIHN0cmljdCc7XG5cbmZ1bmN0aW9uIGlzUHJvbWlzZShvYmopIHtcbiAgcmV0dXJuICEhb2JqICYmICh0eXBlb2Ygb2JqID09PSAnb2JqZWN0JyB8fCB0eXBlb2Ygb2JqID09PSAnZnVuY3Rpb24nKSAmJiB0eXBlb2Ygb2JqLnRoZW4gPT09ICdmdW5jdGlvbic7XG59XG5cbi8qKlxuICogUmV0dXJuIGEgZnVuY3Rpb24gdGhhdCB3aWxsIHJ1biBhIGZ1bmN0aW9uIGFzeW5jaHJvbm91c2x5IG9yIHN5bmNocm9ub3VzbHlcbiAqXG4gKiBleGFtcGxlOlxuICogcnVuQXN5bmMod3JhcHBlZEZ1bmN0aW9uLCBjYWxsYmFjaykoLi4uYXJncyk7XG4gKlxuICogQHBhcmFtICAge0Z1bmN0aW9ufSBmdW5jICBGdW5jdGlvbiB0byBydW5cbiAqIEBwYXJhbSAgIHtGdW5jdGlvbn0gW2NiXSAgICBDYWxsYmFjayBmdW5jdGlvbiBwYXNzZWQgdGhlIGBmdW5jYCByZXR1cm5lZCB2YWx1ZVxuICogQHBhcmFtICAge3N0cmluZ30gW3Byb3h5UHJvcGVydHldIGB0aGlzYCBwcm9wZXJ0eSB0byBiZSB1c2VkIGZvciB0aGUgY2FsbGJhY2sgZmFjdG9yeVxuICogQHJldHVybiAge0Z1bmN0aW9uKGFyZ3VtZW50cyl9IEFyZ3VtZW50cyB0byBwYXNzIHRvIGBmdW5jYC4gVGhpcyBmdW5jdGlvbiB3aWxsIGluIHR1cm5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gYSBQcm9taXNlIChOb2RlID49IDAuMTIpIG9yIGNhbGwgdGhlIGNhbGxiYWNrcy5cbiAqL1xuXG52YXIgcnVuQXN5bmMgPSBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIChmdW5jLCBjYiwgcHJveHlQcm9wZXJ0eSA9ICdhc3luYycpIHtcbiAgaWYgKHR5cGVvZiBjYiA9PT0gJ3N0cmluZycpIHtcbiAgICBwcm94eVByb3BlcnR5ID0gY2I7XG4gICAgY2IgPSB1bmRlZmluZWQ7XG4gIH1cbiAgY2IgPSBjYiB8fCBmdW5jdGlvbiAoKSB7fTtcblxuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuXG4gICAgdmFyIGFyZ3MgPSBhcmd1bWVudHM7XG4gICAgdmFyIG9yaWdpbmFsVGhpcyA9IHRoaXM7XG5cbiAgICB2YXIgcHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgIHZhciByZXNvbHZlZCA9IGZhbHNlO1xuICAgICAgY29uc3Qgd3JhcHBlZFJlc29sdmUgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgICAgICAgaWYgKHJlc29sdmVkKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdSdW4tYXN5bmMgcHJvbWlzZSBhbHJlYWR5IHJlc29sdmVkLicpXG4gICAgICAgIH1cbiAgICAgICAgcmVzb2x2ZWQgPSB0cnVlO1xuICAgICAgICByZXNvbHZlKHZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgdmFyIHJlamVjdGVkID0gZmFsc2U7XG4gICAgICBjb25zdCB3cmFwcGVkUmVqZWN0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gICAgICAgIGlmIChyZWplY3RlZCkge1xuICAgICAgICAgIGNvbnNvbGUud2FybignUnVuLWFzeW5jIHByb21pc2UgYWxyZWFkeSByZWplY3RlZC4nKVxuICAgICAgICB9XG4gICAgICAgIHJlamVjdGVkID0gdHJ1ZTtcbiAgICAgICAgcmVqZWN0KHZhbHVlKTtcbiAgICAgIH1cblxuICAgICAgdmFyIHVzaW5nQ2FsbGJhY2sgPSBmYWxzZTtcbiAgICAgIHZhciBjYWxsYmFja0NvbmZsaWN0ID0gZmFsc2U7XG4gICAgICB2YXIgY29udGV4dEVuZGVkID0gZmFsc2U7XG5cbiAgICAgIHZhciBkb25lRmFjdG9yeSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKGNvbnRleHRFbmRlZCkge1xuICAgICAgICAgIGNvbnNvbGUud2FybignUnVuLWFzeW5jIGFzeW5jKCkgY2FsbGVkIG91dHNpZGUgYSB2YWxpZCBydW4tYXN5bmMgY29udGV4dCwgY2FsbGJhY2sgd2lsbCBiZSBpZ25vcmVkLicpO1xuICAgICAgICAgIHJldHVybiBmdW5jdGlvbigpIHt9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChjYWxsYmFja0NvbmZsaWN0KSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdSdW4tYXN5bmMgd3JhcHBlZCBmdW5jdGlvbiAoYXN5bmMpIHJldHVybmVkIGEgcHJvbWlzZS5cXG5DYWxscyB0byBhc3luYygpIGNhbGxiYWNrIGNhbiBoYXZlIHVuZXhwZWN0ZWQgcmVzdWx0cy4nKTtcbiAgICAgICAgfVxuICAgICAgICB1c2luZ0NhbGxiYWNrID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIGZ1bmN0aW9uIChlcnIsIHZhbHVlKSB7XG4gICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgd3JhcHBlZFJlamVjdChlcnIpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB3cmFwcGVkUmVzb2x2ZSh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfTtcblxuICAgICAgdmFyIF90aGlzO1xuICAgICAgaWYgKG9yaWdpbmFsVGhpcyAmJiBwcm94eVByb3BlcnR5ICYmIFByb3h5KSB7XG4gICAgICAgIF90aGlzID0gbmV3IFByb3h5KG9yaWdpbmFsVGhpcywge1xuICAgICAgICAgIGdldChfdGFyZ2V0LCBwcm9wKSB7XG4gICAgICAgICAgICBpZiAocHJvcCA9PT0gcHJveHlQcm9wZXJ0eSkge1xuICAgICAgICAgICAgICBpZiAocHJvcCBpbiBfdGFyZ2V0KSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS53YXJuKGAke3Byb3h5UHJvcGVydHl9IHByb3BlcnR5IGlzIGJlZW4gc2hhZG93ZWQgYnkgcnVuLXN5bmNgKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXR1cm4gZG9uZUZhY3Rvcnk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBSZWZsZWN0LmdldCguLi5hcmd1bWVudHMpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgX3RoaXMgPSB7IFtwcm94eVByb3BlcnR5XTogZG9uZUZhY3RvcnkgfTtcbiAgICAgIH1cblxuICAgICAgdmFyIGFuc3dlciA9IGZ1bmMuYXBwbHkoX3RoaXMsIEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3MpKTtcblxuICAgICAgaWYgKHVzaW5nQ2FsbGJhY2spIHtcbiAgICAgICAgaWYgKGlzUHJvbWlzZShhbnN3ZXIpKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKCdSdW4tYXN5bmMgd3JhcHBlZCBmdW5jdGlvbiAoc3luYykgcmV0dXJuZWQgYSBwcm9taXNlIGJ1dCBhc3luYygpIGNhbGxiYWNrIG11c3QgYmUgZXhlY3V0ZWQgdG8gcmVzb2x2ZS4nKTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGlzUHJvbWlzZShhbnN3ZXIpKSB7XG4gICAgICAgICAgY2FsbGJhY2tDb25mbGljdCA9IHRydWU7XG4gICAgICAgICAgYW5zd2VyLnRoZW4od3JhcHBlZFJlc29sdmUsIHdyYXBwZWRSZWplY3QpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHdyYXBwZWRSZXNvbHZlKGFuc3dlcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbnRleHRFbmRlZCA9IHRydWU7XG4gICAgfSk7XG5cbiAgICBwcm9taXNlLnRoZW4oY2IuYmluZChudWxsLCBudWxsKSwgY2IpO1xuXG4gICAgcmV0dXJuIHByb21pc2U7XG4gIH1cbn07XG5cbnJ1bkFzeW5jLmNiID0gZnVuY3Rpb24gKGZ1bmMsIGNiKSB7XG4gIHJldHVybiBydW5Bc3luYyhmdW5jdGlvbiAoKSB7XG4gICAgdmFyIGFyZ3MgPSBBcnJheS5wcm90b3R5cGUuc2xpY2UuY2FsbChhcmd1bWVudHMpO1xuICAgIGlmIChhcmdzLmxlbmd0aCA9PT0gZnVuYy5sZW5ndGggLSAxKSB7XG4gICAgICBhcmdzLnB1c2godGhpcy5hc3luYygpKTtcbiAgICB9XG4gICAgcmV0dXJuIGZ1bmMuYXBwbHkodGhpcywgYXJncyk7XG4gIH0sIGNiKTtcbn07XG4iLCAiLyoqXG4gKiBSZXR1cm5zIHRydWUgaWYgdGhlIG9iamVjdCBpcyBhIGZ1bmN0aW9uLlxuICogQHBhcmFtIHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVja1xuICovXG5leHBvcnQgZnVuY3Rpb24gaXNGdW5jdGlvbih2YWx1ZTogYW55KTogdmFsdWUgaXMgKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nO1xufVxuIiwgIi8qKlxuICogVXNlZCB0byBjcmVhdGUgRXJyb3Igc3ViY2xhc3NlcyB1bnRpbCB0aGUgY29tbXVuaXR5IG1vdmVzIGF3YXkgZnJvbSBFUzUuXG4gKlxuICogVGhpcyBpcyBiZWNhdXNlIGNvbXBpbGluZyBmcm9tIFR5cGVTY3JpcHQgZG93biB0byBFUzUgaGFzIGlzc3VlcyB3aXRoIHN1YmNsYXNzaW5nIEVycm9yc1xuICogYXMgd2VsbCBhcyBvdGhlciBidWlsdC1pbiB0eXBlczogaHR0cHM6Ly9naXRodWIuY29tL01pY3Jvc29mdC9UeXBlU2NyaXB0L2lzc3Vlcy8xMjEyM1xuICpcbiAqIEBwYXJhbSBjcmVhdGVJbXBsIEEgZmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgdGhlIGFjdHVhbCBjb25zdHJ1Y3RvciBpbXBsZW1lbnRhdGlvbi4gVGhlIHJldHVybmVkXG4gKiBmdW5jdGlvbiBzaG91bGQgYmUgYSBuYW1lZCBmdW5jdGlvbiB0aGF0IGNhbGxzIGBfc3VwZXJgIGludGVybmFsbHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFcnJvckNsYXNzPFQ+KGNyZWF0ZUltcGw6IChfc3VwZXI6IGFueSkgPT4gYW55KTogVCB7XG4gIGNvbnN0IF9zdXBlciA9IChpbnN0YW5jZTogYW55KSA9PiB7XG4gICAgRXJyb3IuY2FsbChpbnN0YW5jZSk7XG4gICAgaW5zdGFuY2Uuc3RhY2sgPSBuZXcgRXJyb3IoKS5zdGFjaztcbiAgfTtcblxuICBjb25zdCBjdG9yRnVuYyA9IGNyZWF0ZUltcGwoX3N1cGVyKTtcbiAgY3RvckZ1bmMucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShFcnJvci5wcm90b3R5cGUpO1xuICBjdG9yRnVuYy5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBjdG9yRnVuYztcbiAgcmV0dXJuIGN0b3JGdW5jO1xufVxuIiwgImltcG9ydCB7IGNyZWF0ZUVycm9yQ2xhc3MgfSBmcm9tICcuL2NyZWF0ZUVycm9yQ2xhc3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFVuc3Vic2NyaXB0aW9uRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIHJlYWRvbmx5IGVycm9yczogYW55W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVW5zdWJzY3JpcHRpb25FcnJvckN0b3Ige1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgSW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZGV0YWlsLiBEbyBub3QgY29uc3RydWN0IGVycm9yIGluc3RhbmNlcy5cbiAgICogQ2Fubm90IGJlIHRhZ2dlZCBhcyBpbnRlcm5hbDogaHR0cHM6Ly9naXRodWIuY29tL1JlYWN0aXZlWC9yeGpzL2lzc3Vlcy82MjY5XG4gICAqL1xuICBuZXcgKGVycm9yczogYW55W10pOiBVbnN1YnNjcmlwdGlvbkVycm9yO1xufVxuXG4vKipcbiAqIEFuIGVycm9yIHRocm93biB3aGVuIG9uZSBvciBtb3JlIGVycm9ycyBoYXZlIG9jY3VycmVkIGR1cmluZyB0aGVcbiAqIGB1bnN1YnNjcmliZWAgb2YgYSB7QGxpbmsgU3Vic2NyaXB0aW9ufS5cbiAqL1xuZXhwb3J0IGNvbnN0IFVuc3Vic2NyaXB0aW9uRXJyb3I6IFVuc3Vic2NyaXB0aW9uRXJyb3JDdG9yID0gY3JlYXRlRXJyb3JDbGFzcyhcbiAgKF9zdXBlcikgPT5cbiAgICBmdW5jdGlvbiBVbnN1YnNjcmlwdGlvbkVycm9ySW1wbCh0aGlzOiBhbnksIGVycm9yczogKEVycm9yIHwgc3RyaW5nKVtdKSB7XG4gICAgICBfc3VwZXIodGhpcyk7XG4gICAgICB0aGlzLm1lc3NhZ2UgPSBlcnJvcnNcbiAgICAgICAgPyBgJHtlcnJvcnMubGVuZ3RofSBlcnJvcnMgb2NjdXJyZWQgZHVyaW5nIHVuc3Vic2NyaXB0aW9uOlxuJHtlcnJvcnMubWFwKChlcnIsIGkpID0+IGAke2kgKyAxfSkgJHtlcnIudG9TdHJpbmcoKX1gKS5qb2luKCdcXG4gICcpfWBcbiAgICAgICAgOiAnJztcbiAgICAgIHRoaXMubmFtZSA9ICdVbnN1YnNjcmlwdGlvbkVycm9yJztcbiAgICAgIHRoaXMuZXJyb3JzID0gZXJyb3JzO1xuICAgIH1cbik7XG4iLCAiLyoqXG4gKiBSZW1vdmVzIGFuIGl0ZW0gZnJvbSBhbiBhcnJheSwgbXV0YXRpbmcgaXQuXG4gKiBAcGFyYW0gYXJyIFRoZSBhcnJheSB0byByZW1vdmUgdGhlIGl0ZW0gZnJvbVxuICogQHBhcmFtIGl0ZW0gVGhlIGl0ZW0gdG8gcmVtb3ZlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcnJSZW1vdmU8VD4oYXJyOiBUW10gfCB1bmRlZmluZWQgfCBudWxsLCBpdGVtOiBUKSB7XG4gIGlmIChhcnIpIHtcbiAgICBjb25zdCBpbmRleCA9IGFyci5pbmRleE9mKGl0ZW0pO1xuICAgIDAgPD0gaW5kZXggJiYgYXJyLnNwbGljZShpbmRleCwgMSk7XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi91dGlsL2lzRnVuY3Rpb24nO1xuaW1wb3J0IHsgVW5zdWJzY3JpcHRpb25FcnJvciB9IGZyb20gJy4vdXRpbC9VbnN1YnNjcmlwdGlvbkVycm9yJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbkxpa2UsIFRlYXJkb3duTG9naWMsIFVuc3Vic2NyaWJhYmxlIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBhcnJSZW1vdmUgfSBmcm9tICcuL3V0aWwvYXJyUmVtb3ZlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgZGlzcG9zYWJsZSByZXNvdXJjZSwgc3VjaCBhcyB0aGUgZXhlY3V0aW9uIG9mIGFuIE9ic2VydmFibGUuIEFcbiAqIFN1YnNjcmlwdGlvbiBoYXMgb25lIGltcG9ydGFudCBtZXRob2QsIGB1bnN1YnNjcmliZWAsIHRoYXQgdGFrZXMgbm8gYXJndW1lbnRcbiAqIGFuZCBqdXN0IGRpc3Bvc2VzIHRoZSByZXNvdXJjZSBoZWxkIGJ5IHRoZSBzdWJzY3JpcHRpb24uXG4gKlxuICogQWRkaXRpb25hbGx5LCBzdWJzY3JpcHRpb25zIG1heSBiZSBncm91cGVkIHRvZ2V0aGVyIHRocm91Z2ggdGhlIGBhZGQoKWBcbiAqIG1ldGhvZCwgd2hpY2ggd2lsbCBhdHRhY2ggYSBjaGlsZCBTdWJzY3JpcHRpb24gdG8gdGhlIGN1cnJlbnQgU3Vic2NyaXB0aW9uLlxuICogV2hlbiBhIFN1YnNjcmlwdGlvbiBpcyB1bnN1YnNjcmliZWQsIGFsbCBpdHMgY2hpbGRyZW4gKGFuZCBpdHMgZ3JhbmRjaGlsZHJlbilcbiAqIHdpbGwgYmUgdW5zdWJzY3JpYmVkIGFzIHdlbGwuXG4gKlxuICogQGNsYXNzIFN1YnNjcmlwdGlvblxuICovXG5leHBvcnQgY2xhc3MgU3Vic2NyaXB0aW9uIGltcGxlbWVudHMgU3Vic2NyaXB0aW9uTGlrZSB7XG4gIC8qKiBAbm9jb2xsYXBzZSAqL1xuICBwdWJsaWMgc3RhdGljIEVNUFRZID0gKCgpID0+IHtcbiAgICBjb25zdCBlbXB0eSA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICBlbXB0eS5jbG9zZWQgPSB0cnVlO1xuICAgIHJldHVybiBlbXB0eTtcbiAgfSkoKTtcblxuICAvKipcbiAgICogQSBmbGFnIHRvIGluZGljYXRlIHdoZXRoZXIgdGhpcyBTdWJzY3JpcHRpb24gaGFzIGFscmVhZHkgYmVlbiB1bnN1YnNjcmliZWQuXG4gICAqL1xuICBwdWJsaWMgY2xvc2VkID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBfcGFyZW50YWdlOiBTdWJzY3JpcHRpb25bXSB8IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiByZWdpc3RlcmVkIGZpbmFsaXplcnMgdG8gZXhlY3V0ZSB1cG9uIHVuc3Vic2NyaXB0aW9uLiBBZGRpbmcgYW5kIHJlbW92aW5nIGZyb20gdGhpc1xuICAgKiBsaXN0IG9jY3VycyBpbiB0aGUge0BsaW5rICNhZGR9IGFuZCB7QGxpbmsgI3JlbW92ZX0gbWV0aG9kcy5cbiAgICovXG4gIHByaXZhdGUgX2ZpbmFsaXplcnM6IEV4Y2x1ZGU8VGVhcmRvd25Mb2dpYywgdm9pZD5bXSB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBAcGFyYW0gaW5pdGlhbFRlYXJkb3duIEEgZnVuY3Rpb24gZXhlY3V0ZWQgZmlyc3QgYXMgcGFydCBvZiB0aGUgZmluYWxpemF0aW9uXG4gICAqIHByb2Nlc3MgdGhhdCBpcyBraWNrZWQgb2ZmIHdoZW4ge0BsaW5rICN1bnN1YnNjcmliZX0gaXMgY2FsbGVkLlxuICAgKi9cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBpbml0aWFsVGVhcmRvd24/OiAoKSA9PiB2b2lkKSB7fVxuXG4gIC8qKlxuICAgKiBEaXNwb3NlcyB0aGUgcmVzb3VyY2VzIGhlbGQgYnkgdGhlIHN1YnNjcmlwdGlvbi4gTWF5LCBmb3IgaW5zdGFuY2UsIGNhbmNlbFxuICAgKiBhbiBvbmdvaW5nIE9ic2VydmFibGUgZXhlY3V0aW9uIG9yIGNhbmNlbCBhbnkgb3RoZXIgdHlwZSBvZiB3b3JrIHRoYXRcbiAgICogc3RhcnRlZCB3aGVuIHRoZSBTdWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQuXG4gICAqIEByZXR1cm4ge3ZvaWR9XG4gICAqL1xuICB1bnN1YnNjcmliZSgpOiB2b2lkIHtcbiAgICBsZXQgZXJyb3JzOiBhbnlbXSB8IHVuZGVmaW5lZDtcblxuICAgIGlmICghdGhpcy5jbG9zZWQpIHtcbiAgICAgIHRoaXMuY2xvc2VkID0gdHJ1ZTtcblxuICAgICAgLy8gUmVtb3ZlIHRoaXMgZnJvbSBpdCdzIHBhcmVudHMuXG4gICAgICBjb25zdCB7IF9wYXJlbnRhZ2UgfSA9IHRoaXM7XG4gICAgICBpZiAoX3BhcmVudGFnZSkge1xuICAgICAgICB0aGlzLl9wYXJlbnRhZ2UgPSBudWxsO1xuICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShfcGFyZW50YWdlKSkge1xuICAgICAgICAgIGZvciAoY29uc3QgcGFyZW50IG9mIF9wYXJlbnRhZ2UpIHtcbiAgICAgICAgICAgIHBhcmVudC5yZW1vdmUodGhpcyk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIF9wYXJlbnRhZ2UucmVtb3ZlKHRoaXMpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgaW5pdGlhbFRlYXJkb3duOiBpbml0aWFsRmluYWxpemVyIH0gPSB0aGlzO1xuICAgICAgaWYgKGlzRnVuY3Rpb24oaW5pdGlhbEZpbmFsaXplcikpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBpbml0aWFsRmluYWxpemVyKCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBlcnJvcnMgPSBlIGluc3RhbmNlb2YgVW5zdWJzY3JpcHRpb25FcnJvciA/IGUuZXJyb3JzIDogW2VdO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgX2ZpbmFsaXplcnMgfSA9IHRoaXM7XG4gICAgICBpZiAoX2ZpbmFsaXplcnMpIHtcbiAgICAgICAgdGhpcy5fZmluYWxpemVycyA9IG51bGw7XG4gICAgICAgIGZvciAoY29uc3QgZmluYWxpemVyIG9mIF9maW5hbGl6ZXJzKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGV4ZWNGaW5hbGl6ZXIoZmluYWxpemVyKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIGVycm9ycyA9IGVycm9ycyA/PyBbXTtcbiAgICAgICAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBVbnN1YnNjcmlwdGlvbkVycm9yKSB7XG4gICAgICAgICAgICAgIGVycm9ycyA9IFsuLi5lcnJvcnMsIC4uLmVyci5lcnJvcnNdO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZXJyb3JzLnB1c2goZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGVycm9ycykge1xuICAgICAgICB0aHJvdyBuZXcgVW5zdWJzY3JpcHRpb25FcnJvcihlcnJvcnMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgZmluYWxpemVyIHRvIHRoaXMgc3Vic2NyaXB0aW9uLCBzbyB0aGF0IGZpbmFsaXphdGlvbiB3aWxsIGJlIHVuc3Vic2NyaWJlZC9jYWxsZWRcbiAgICogd2hlbiB0aGlzIHN1YnNjcmlwdGlvbiBpcyB1bnN1YnNjcmliZWQuIElmIHRoaXMgc3Vic2NyaXB0aW9uIGlzIGFscmVhZHkge0BsaW5rICNjbG9zZWR9LFxuICAgKiBiZWNhdXNlIGl0IGhhcyBhbHJlYWR5IGJlZW4gdW5zdWJzY3JpYmVkLCB0aGVuIHdoYXRldmVyIGZpbmFsaXplciBpcyBwYXNzZWQgdG8gaXRcbiAgICogd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGV4ZWN1dGVkICh1bmxlc3MgdGhlIGZpbmFsaXplciBpdHNlbGYgaXMgYWxzbyBhIGNsb3NlZCBzdWJzY3JpcHRpb24pLlxuICAgKlxuICAgKiBDbG9zZWQgU3Vic2NyaXB0aW9ucyBjYW5ub3QgYmUgYWRkZWQgYXMgZmluYWxpemVycyB0byBhbnkgc3Vic2NyaXB0aW9uLiBBZGRpbmcgYSBjbG9zZWRcbiAgICogc3Vic2NyaXB0aW9uIHRvIGEgYW55IHN1YnNjcmlwdGlvbiB3aWxsIHJlc3VsdCBpbiBubyBvcGVyYXRpb24uIChBIG5vb3ApLlxuICAgKlxuICAgKiBBZGRpbmcgYSBzdWJzY3JpcHRpb24gdG8gaXRzZWxmLCBvciBhZGRpbmcgYG51bGxgIG9yIGB1bmRlZmluZWRgIHdpbGwgbm90IHBlcmZvcm0gYW55XG4gICAqIG9wZXJhdGlvbiBhdCBhbGwuIChBIG5vb3ApLlxuICAgKlxuICAgKiBgU3Vic2NyaXB0aW9uYCBpbnN0YW5jZXMgdGhhdCBhcmUgYWRkZWQgdG8gdGhpcyBpbnN0YW5jZSB3aWxsIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIHRoZW1zZWx2ZXNcbiAgICogaWYgdGhleSBhcmUgdW5zdWJzY3JpYmVkLiBGdW5jdGlvbnMgYW5kIHtAbGluayBVbnN1YnNjcmliYWJsZX0gb2JqZWN0cyB0aGF0IHlvdSB3aXNoIHRvIHJlbW92ZVxuICAgKiB3aWxsIG5lZWQgdG8gYmUgcmVtb3ZlZCBtYW51YWxseSB3aXRoIHtAbGluayAjcmVtb3ZlfVxuICAgKlxuICAgKiBAcGFyYW0gdGVhcmRvd24gVGhlIGZpbmFsaXphdGlvbiBsb2dpYyB0byBhZGQgdG8gdGhpcyBzdWJzY3JpcHRpb24uXG4gICAqL1xuICBhZGQodGVhcmRvd246IFRlYXJkb3duTG9naWMpOiB2b2lkIHtcbiAgICAvLyBPbmx5IGFkZCB0aGUgZmluYWxpemVyIGlmIGl0J3Mgbm90IHVuZGVmaW5lZFxuICAgIC8vIGFuZCBkb24ndCBhZGQgYSBzdWJzY3JpcHRpb24gdG8gaXRzZWxmLlxuICAgIGlmICh0ZWFyZG93biAmJiB0ZWFyZG93biAhPT0gdGhpcykge1xuICAgICAgaWYgKHRoaXMuY2xvc2VkKSB7XG4gICAgICAgIC8vIElmIHRoaXMgc3Vic2NyaXB0aW9uIGlzIGFscmVhZHkgY2xvc2VkLFxuICAgICAgICAvLyBleGVjdXRlIHdoYXRldmVyIGZpbmFsaXplciBpcyBoYW5kZWQgdG8gaXQgYXV0b21hdGljYWxseS5cbiAgICAgICAgZXhlY0ZpbmFsaXplcih0ZWFyZG93bik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGVhcmRvd24gaW5zdGFuY2VvZiBTdWJzY3JpcHRpb24pIHtcbiAgICAgICAgICAvLyBXZSBkb24ndCBhZGQgY2xvc2VkIHN1YnNjcmlwdGlvbnMsIGFuZCB3ZSBkb24ndCBhZGQgdGhlIHNhbWUgc3Vic2NyaXB0aW9uXG4gICAgICAgICAgLy8gdHdpY2UuIFN1YnNjcmlwdGlvbiB1bnN1YnNjcmliZSBpcyBpZGVtcG90ZW50LlxuICAgICAgICAgIGlmICh0ZWFyZG93bi5jbG9zZWQgfHwgdGVhcmRvd24uX2hhc1BhcmVudCh0aGlzKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0ZWFyZG93bi5fYWRkUGFyZW50KHRoaXMpO1xuICAgICAgICB9XG4gICAgICAgICh0aGlzLl9maW5hbGl6ZXJzID0gdGhpcy5fZmluYWxpemVycyA/PyBbXSkucHVzaCh0ZWFyZG93bik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB0byBzZWUgaWYgYSB0aGlzIHN1YnNjcmlwdGlvbiBhbHJlYWR5IGhhcyBhIHBhcnRpY3VsYXIgcGFyZW50LlxuICAgKiBUaGlzIHdpbGwgc2lnbmFsIHRoYXQgdGhpcyBzdWJzY3JpcHRpb24gaGFzIGFscmVhZHkgYmVlbiBhZGRlZCB0byB0aGUgcGFyZW50IGluIHF1ZXN0aW9uLlxuICAgKiBAcGFyYW0gcGFyZW50IHRoZSBwYXJlbnQgdG8gY2hlY2sgZm9yXG4gICAqL1xuICBwcml2YXRlIF9oYXNQYXJlbnQocGFyZW50OiBTdWJzY3JpcHRpb24pIHtcbiAgICBjb25zdCB7IF9wYXJlbnRhZ2UgfSA9IHRoaXM7XG4gICAgcmV0dXJuIF9wYXJlbnRhZ2UgPT09IHBhcmVudCB8fCAoQXJyYXkuaXNBcnJheShfcGFyZW50YWdlKSAmJiBfcGFyZW50YWdlLmluY2x1ZGVzKHBhcmVudCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBwYXJlbnQgdG8gdGhpcyBzdWJzY3JpcHRpb24gc28gaXQgY2FuIGJlIHJlbW92ZWQgZnJvbSB0aGUgcGFyZW50IGlmIGl0XG4gICAqIHVuc3Vic2NyaWJlcyBvbiBpdCdzIG93bi5cbiAgICpcbiAgICogTk9URTogVEhJUyBBU1NVTUVTIFRIQVQge0BsaW5rIF9oYXNQYXJlbnR9IEhBUyBBTFJFQURZIEJFRU4gQ0hFQ0tFRC5cbiAgICogQHBhcmFtIHBhcmVudCBUaGUgcGFyZW50IHN1YnNjcmlwdGlvbiB0byBhZGRcbiAgICovXG4gIHByaXZhdGUgX2FkZFBhcmVudChwYXJlbnQ6IFN1YnNjcmlwdGlvbikge1xuICAgIGNvbnN0IHsgX3BhcmVudGFnZSB9ID0gdGhpcztcbiAgICB0aGlzLl9wYXJlbnRhZ2UgPSBBcnJheS5pc0FycmF5KF9wYXJlbnRhZ2UpID8gKF9wYXJlbnRhZ2UucHVzaChwYXJlbnQpLCBfcGFyZW50YWdlKSA6IF9wYXJlbnRhZ2UgPyBbX3BhcmVudGFnZSwgcGFyZW50XSA6IHBhcmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgb24gYSBjaGlsZCB3aGVuIGl0IGlzIHJlbW92ZWQgdmlhIHtAbGluayAjcmVtb3ZlfS5cbiAgICogQHBhcmFtIHBhcmVudCBUaGUgcGFyZW50IHRvIHJlbW92ZVxuICAgKi9cbiAgcHJpdmF0ZSBfcmVtb3ZlUGFyZW50KHBhcmVudDogU3Vic2NyaXB0aW9uKSB7XG4gICAgY29uc3QgeyBfcGFyZW50YWdlIH0gPSB0aGlzO1xuICAgIGlmIChfcGFyZW50YWdlID09PSBwYXJlbnQpIHtcbiAgICAgIHRoaXMuX3BhcmVudGFnZSA9IG51bGw7XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KF9wYXJlbnRhZ2UpKSB7XG4gICAgICBhcnJSZW1vdmUoX3BhcmVudGFnZSwgcGFyZW50KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGZpbmFsaXplciBmcm9tIHRoaXMgc3Vic2NyaXB0aW9uIHRoYXQgd2FzIHByZXZpb3VzbHkgYWRkZWQgd2l0aCB0aGUge0BsaW5rICNhZGR9IG1ldGhvZC5cbiAgICpcbiAgICogTm90ZSB0aGF0IGBTdWJzY3JpcHRpb25gIGluc3RhbmNlcywgd2hlbiB1bnN1YnNjcmliZWQsIHdpbGwgYXV0b21hdGljYWxseSByZW1vdmUgdGhlbXNlbHZlc1xuICAgKiBmcm9tIGV2ZXJ5IG90aGVyIGBTdWJzY3JpcHRpb25gIHRoZXkgaGF2ZSBiZWVuIGFkZGVkIHRvLiBUaGlzIG1lYW5zIHRoYXQgdXNpbmcgdGhlIGByZW1vdmVgIG1ldGhvZFxuICAgKiBpcyBub3QgYSBjb21tb24gdGhpbmcgYW5kIHNob3VsZCBiZSB1c2VkIHRob3VnaHRmdWxseS5cbiAgICpcbiAgICogSWYgeW91IGFkZCB0aGUgc2FtZSBmaW5hbGl6ZXIgaW5zdGFuY2Ugb2YgYSBmdW5jdGlvbiBvciBhbiB1bnN1YnNjcmliYWJsZSBvYmplY3QgdG8gYSBgU3Vic2NyaXB0aW9uYCBpbnN0YW5jZVxuICAgKiBtb3JlIHRoYW4gb25jZSwgeW91IHdpbGwgbmVlZCB0byBjYWxsIGByZW1vdmVgIHRoZSBzYW1lIG51bWJlciBvZiB0aW1lcyB0byByZW1vdmUgYWxsIGluc3RhbmNlcy5cbiAgICpcbiAgICogQWxsIGZpbmFsaXplciBpbnN0YW5jZXMgYXJlIHJlbW92ZWQgdG8gZnJlZSB1cCBtZW1vcnkgdXBvbiB1bnN1YnNjcmlwdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHRlYXJkb3duIFRoZSBmaW5hbGl6ZXIgdG8gcmVtb3ZlIGZyb20gdGhpcyBzdWJzY3JpcHRpb25cbiAgICovXG4gIHJlbW92ZSh0ZWFyZG93bjogRXhjbHVkZTxUZWFyZG93bkxvZ2ljLCB2b2lkPik6IHZvaWQge1xuICAgIGNvbnN0IHsgX2ZpbmFsaXplcnMgfSA9IHRoaXM7XG4gICAgX2ZpbmFsaXplcnMgJiYgYXJyUmVtb3ZlKF9maW5hbGl6ZXJzLCB0ZWFyZG93bik7XG5cbiAgICBpZiAodGVhcmRvd24gaW5zdGFuY2VvZiBTdWJzY3JpcHRpb24pIHtcbiAgICAgIHRlYXJkb3duLl9yZW1vdmVQYXJlbnQodGhpcyk7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBFTVBUWV9TVUJTQ1JJUFRJT04gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1N1YnNjcmlwdGlvbih2YWx1ZTogYW55KTogdmFsdWUgaXMgU3Vic2NyaXB0aW9uIHtcbiAgcmV0dXJuIChcbiAgICB2YWx1ZSBpbnN0YW5jZW9mIFN1YnNjcmlwdGlvbiB8fFxuICAgICh2YWx1ZSAmJiAnY2xvc2VkJyBpbiB2YWx1ZSAmJiBpc0Z1bmN0aW9uKHZhbHVlLnJlbW92ZSkgJiYgaXNGdW5jdGlvbih2YWx1ZS5hZGQpICYmIGlzRnVuY3Rpb24odmFsdWUudW5zdWJzY3JpYmUpKVxuICApO1xufVxuXG5mdW5jdGlvbiBleGVjRmluYWxpemVyKGZpbmFsaXplcjogVW5zdWJzY3JpYmFibGUgfCAoKCkgPT4gdm9pZCkpIHtcbiAgaWYgKGlzRnVuY3Rpb24oZmluYWxpemVyKSkge1xuICAgIGZpbmFsaXplcigpO1xuICB9IGVsc2Uge1xuICAgIGZpbmFsaXplci51bnN1YnNjcmliZSgpO1xuICB9XG59XG4iLCAiaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlTm90aWZpY2F0aW9uIH0gZnJvbSAnLi90eXBlcyc7XG5cbi8qKlxuICogVGhlIHtAbGluayBHbG9iYWxDb25maWd9IG9iamVjdCBmb3IgUnhKUy4gSXQgaXMgdXNlZCB0byBjb25maWd1cmUgdGhpbmdzXG4gKiBsaWtlIGhvdyB0byByZWFjdCBvbiB1bmhhbmRsZWQgZXJyb3JzLlxuICovXG5leHBvcnQgY29uc3QgY29uZmlnOiBHbG9iYWxDb25maWcgPSB7XG4gIG9uVW5oYW5kbGVkRXJyb3I6IG51bGwsXG4gIG9uU3RvcHBlZE5vdGlmaWNhdGlvbjogbnVsbCxcbiAgUHJvbWlzZTogdW5kZWZpbmVkLFxuICB1c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nOiBmYWxzZSxcbiAgdXNlRGVwcmVjYXRlZE5leHRDb250ZXh0OiBmYWxzZSxcbn07XG5cbi8qKlxuICogVGhlIGdsb2JhbCBjb25maWd1cmF0aW9uIG9iamVjdCBmb3IgUnhKUywgdXNlZCB0byBjb25maWd1cmUgdGhpbmdzXG4gKiBsaWtlIGhvdyB0byByZWFjdCBvbiB1bmhhbmRsZWQgZXJyb3JzLiBBY2Nlc3NpYmxlIHZpYSB7QGxpbmsgY29uZmlnfVxuICogb2JqZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdsb2JhbENvbmZpZyB7XG4gIC8qKlxuICAgKiBBIHJlZ2lzdHJhdGlvbiBwb2ludCBmb3IgdW5oYW5kbGVkIGVycm9ycyBmcm9tIFJ4SlMuIFRoZXNlIGFyZSBlcnJvcnMgdGhhdFxuICAgKiBjYW5ub3Qgd2VyZSBub3QgaGFuZGxlZCBieSBjb25zdW1pbmcgY29kZSBpbiB0aGUgdXN1YWwgc3Vic2NyaXB0aW9uIHBhdGguIEZvclxuICAgKiBleGFtcGxlLCBpZiB5b3UgaGF2ZSB0aGlzIGNvbmZpZ3VyZWQsIGFuZCB5b3Ugc3Vic2NyaWJlIHRvIGFuIG9ic2VydmFibGUgd2l0aG91dFxuICAgKiBwcm92aWRpbmcgYW4gZXJyb3IgaGFuZGxlciwgZXJyb3JzIGZyb20gdGhhdCBzdWJzY3JpcHRpb24gd2lsbCBlbmQgdXAgaGVyZS4gVGhpc1xuICAgKiB3aWxsIF9hbHdheXNfIGJlIGNhbGxlZCBhc3luY2hyb25vdXNseSBvbiBhbm90aGVyIGpvYiBpbiB0aGUgcnVudGltZS4gVGhpcyBpcyBiZWNhdXNlXG4gICAqIHdlIGRvIG5vdCB3YW50IGVycm9ycyB0aHJvd24gaW4gdGhpcyB1c2VyLWNvbmZpZ3VyZWQgaGFuZGxlciB0byBpbnRlcmZlcmUgd2l0aCB0aGVcbiAgICogYmVoYXZpb3Igb2YgdGhlIGxpYnJhcnkuXG4gICAqL1xuICBvblVuaGFuZGxlZEVycm9yOiAoKGVycjogYW55KSA9PiB2b2lkKSB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEEgcmVnaXN0cmF0aW9uIHBvaW50IGZvciBub3RpZmljYXRpb25zIHRoYXQgY2Fubm90IGJlIHNlbnQgdG8gc3Vic2NyaWJlcnMgYmVjYXVzZSB0aGV5XG4gICAqIGhhdmUgY29tcGxldGVkLCBlcnJvcmVkIG9yIGhhdmUgYmVlbiBleHBsaWNpdGx5IHVuc3Vic2NyaWJlZC4gQnkgZGVmYXVsdCwgbmV4dCwgY29tcGxldGVcbiAgICogYW5kIGVycm9yIG5vdGlmaWNhdGlvbnMgc2VudCB0byBzdG9wcGVkIHN1YnNjcmliZXJzIGFyZSBub29wcy4gSG93ZXZlciwgc29tZXRpbWVzIGNhbGxlcnNcbiAgICogbWlnaHQgd2FudCBhIGRpZmZlcmVudCBiZWhhdmlvci4gRm9yIGV4YW1wbGUsIHdpdGggc291cmNlcyB0aGF0IGF0dGVtcHQgdG8gcmVwb3J0IGVycm9yc1xuICAgKiB0byBzdG9wcGVkIHN1YnNjcmliZXJzLCBhIGNhbGxlciBjYW4gY29uZmlndXJlIFJ4SlMgdG8gdGhyb3cgYW4gdW5oYW5kbGVkIGVycm9yIGluc3RlYWQuXG4gICAqIFRoaXMgd2lsbCBfYWx3YXlzXyBiZSBjYWxsZWQgYXN5bmNocm9ub3VzbHkgb24gYW5vdGhlciBqb2IgaW4gdGhlIHJ1bnRpbWUuIFRoaXMgaXMgYmVjYXVzZVxuICAgKiB3ZSBkbyBub3Qgd2FudCBlcnJvcnMgdGhyb3duIGluIHRoaXMgdXNlci1jb25maWd1cmVkIGhhbmRsZXIgdG8gaW50ZXJmZXJlIHdpdGggdGhlXG4gICAqIGJlaGF2aW9yIG9mIHRoZSBsaWJyYXJ5LlxuICAgKi9cbiAgb25TdG9wcGVkTm90aWZpY2F0aW9uOiAoKG5vdGlmaWNhdGlvbjogT2JzZXJ2YWJsZU5vdGlmaWNhdGlvbjxhbnk+LCBzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPGFueT4pID0+IHZvaWQpIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIHByb21pc2UgY29uc3RydWN0b3IgdXNlZCBieSBkZWZhdWx0IGZvciB7QGxpbmsgT2JzZXJ2YWJsZSN0b1Byb21pc2UgdG9Qcm9taXNlfSBhbmQge0BsaW5rIE9ic2VydmFibGUjZm9yRWFjaCBmb3JFYWNofVxuICAgKiBtZXRob2RzLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBBcyBvZiB2ZXJzaW9uIDgsIFJ4SlMgd2lsbCBubyBsb25nZXIgc3VwcG9ydCB0aGlzIHNvcnQgb2YgaW5qZWN0aW9uIG9mIGFcbiAgICogUHJvbWlzZSBjb25zdHJ1Y3Rvci4gSWYgeW91IG5lZWQgYSBQcm9taXNlIGltcGxlbWVudGF0aW9uIG90aGVyIHRoYW4gbmF0aXZlIHByb21pc2VzLFxuICAgKiBwbGVhc2UgcG9seWZpbGwvcGF0Y2ggUHJvbWlzZSBhcyB5b3Ugc2VlIGFwcHJvcHJpYXRlLiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguXG4gICAqL1xuICBQcm9taXNlPzogUHJvbWlzZUNvbnN0cnVjdG9yTGlrZTtcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgdHVybnMgb24gc3luY2hyb25vdXMgZXJyb3IgcmV0aHJvd2luZywgd2hpY2ggaXMgYSBkZXByZWNhdGVkIGJlaGF2aW9yXG4gICAqIGluIHY2IGFuZCBoaWdoZXIuIFRoaXMgYmVoYXZpb3IgZW5hYmxlcyBiYWQgcGF0dGVybnMgbGlrZSB3cmFwcGluZyBhIHN1YnNjcmliZVxuICAgKiBjYWxsIGluIGEgdHJ5L2NhdGNoIGJsb2NrLiBJdCBhbHNvIGVuYWJsZXMgcHJvZHVjZXIgaW50ZXJmZXJlbmNlLCBhIG5hc3R5IGJ1Z1xuICAgKiB3aGVyZSBhIG11bHRpY2FzdCBjYW4gYmUgYnJva2VuIGZvciBhbGwgb2JzZXJ2ZXJzIGJ5IGEgZG93bnN0cmVhbSBjb25zdW1lciB3aXRoXG4gICAqIGFuIHVuaGFuZGxlZCBlcnJvci4gRE8gTk9UIFVTRSBUSElTIEZMQUcgVU5MRVNTIElUJ1MgTkVFREVEIFRPIEJVWSBUSU1FXG4gICAqIEZPUiBNSUdSQVRJT04gUkVBU09OUy5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgQXMgb2YgdmVyc2lvbiA4LCBSeEpTIHdpbGwgbm8gbG9uZ2VyIHN1cHBvcnQgc3luY2hyb25vdXMgdGhyb3dpbmdcbiAgICogb2YgdW5oYW5kbGVkIGVycm9ycy4gQWxsIGVycm9ycyB3aWxsIGJlIHRocm93biBvbiBhIHNlcGFyYXRlIGNhbGwgc3RhY2sgdG8gcHJldmVudCBiYWRcbiAgICogYmVoYXZpb3JzIGRlc2NyaWJlZCBhYm92ZS4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICAgKi9cbiAgdXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZzogYm9vbGVhbjtcblxuICAvKipcbiAgICogSWYgdHJ1ZSwgZW5hYmxlcyBhbiBhcy1vZi15ZXQgdW5kb2N1bWVudGVkIGZlYXR1cmUgZnJvbSB2NTogVGhlIGFiaWxpdHkgdG8gYWNjZXNzXG4gICAqIGB1bnN1YnNjcmliZSgpYCB2aWEgYHRoaXNgIGNvbnRleHQgaW4gYG5leHRgIGZ1bmN0aW9ucyBjcmVhdGVkIGluIG9ic2VydmVycyBwYXNzZWRcbiAgICogdG8gYHN1YnNjcmliZWAuXG4gICAqXG4gICAqIFRoaXMgaXMgYmVpbmcgcmVtb3ZlZCBiZWNhdXNlIHRoZSBwZXJmb3JtYW5jZSB3YXMgc2V2ZXJlbHkgcHJvYmxlbWF0aWMsIGFuZCBpdCBjb3VsZCBhbHNvIGNhdXNlXG4gICAqIGlzc3VlcyB3aGVuIHR5cGVzIG90aGVyIHRoYW4gUE9KT3MgYXJlIHBhc3NlZCB0byBzdWJzY3JpYmUgYXMgc3Vic2NyaWJlcnMsIGFzIHRoZXkgd2lsbCBsaWtlbHkgaGF2ZVxuICAgKiB0aGVpciBgdGhpc2AgY29udGV4dCBvdmVyd3JpdHRlbi5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgQXMgb2YgdmVyc2lvbiA4LCBSeEpTIHdpbGwgbm8gbG9uZ2VyIHN1cHBvcnQgYWx0ZXJpbmcgdGhlXG4gICAqIGNvbnRleHQgb2YgbmV4dCBmdW5jdGlvbnMgcHJvdmlkZWQgYXMgcGFydCBvZiBhbiBvYnNlcnZlciB0byBTdWJzY3JpYmUuIEluc3RlYWQsXG4gICAqIHlvdSB3aWxsIGhhdmUgYWNjZXNzIHRvIGEgc3Vic2NyaXB0aW9uIG9yIGEgc2lnbmFsIG9yIHRva2VuIHRoYXQgd2lsbCBhbGxvdyB5b3UgdG8gZG8gdGhpbmdzIGxpa2VcbiAgICogdW5zdWJzY3JpYmUgYW5kIHRlc3QgY2xvc2VkIHN0YXR1cy4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICAgKi9cbiAgdXNlRGVwcmVjYXRlZE5leHRDb250ZXh0OiBib29sZWFuO1xufVxuIiwgImltcG9ydCB0eXBlIHsgVGltZXJIYW5kbGUgfSBmcm9tICcuL3RpbWVySGFuZGxlJztcbnR5cGUgU2V0VGltZW91dEZ1bmN0aW9uID0gKGhhbmRsZXI6ICgpID0+IHZvaWQsIHRpbWVvdXQ/OiBudW1iZXIsIC4uLmFyZ3M6IGFueVtdKSA9PiBUaW1lckhhbmRsZTtcbnR5cGUgQ2xlYXJUaW1lb3V0RnVuY3Rpb24gPSAoaGFuZGxlOiBUaW1lckhhbmRsZSkgPT4gdm9pZDtcblxuaW50ZXJmYWNlIFRpbWVvdXRQcm92aWRlciB7XG4gIHNldFRpbWVvdXQ6IFNldFRpbWVvdXRGdW5jdGlvbjtcbiAgY2xlYXJUaW1lb3V0OiBDbGVhclRpbWVvdXRGdW5jdGlvbjtcbiAgZGVsZWdhdGU6XG4gICAgfCB7XG4gICAgICAgIHNldFRpbWVvdXQ6IFNldFRpbWVvdXRGdW5jdGlvbjtcbiAgICAgICAgY2xlYXJUaW1lb3V0OiBDbGVhclRpbWVvdXRGdW5jdGlvbjtcbiAgICAgIH1cbiAgICB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGNvbnN0IHRpbWVvdXRQcm92aWRlcjogVGltZW91dFByb3ZpZGVyID0ge1xuICAvLyBXaGVuIGFjY2Vzc2luZyB0aGUgZGVsZWdhdGUsIHVzZSB0aGUgdmFyaWFibGUgcmF0aGVyIHRoYW4gYHRoaXNgIHNvIHRoYXRcbiAgLy8gdGhlIGZ1bmN0aW9ucyBjYW4gYmUgY2FsbGVkIHdpdGhvdXQgYmVpbmcgYm91bmQgdG8gdGhlIHByb3ZpZGVyLlxuICBzZXRUaW1lb3V0KGhhbmRsZXI6ICgpID0+IHZvaWQsIHRpbWVvdXQ/OiBudW1iZXIsIC4uLmFyZ3MpIHtcbiAgICBjb25zdCB7IGRlbGVnYXRlIH0gPSB0aW1lb3V0UHJvdmlkZXI7XG4gICAgaWYgKGRlbGVnYXRlPy5zZXRUaW1lb3V0KSB7XG4gICAgICByZXR1cm4gZGVsZWdhdGUuc2V0VGltZW91dChoYW5kbGVyLCB0aW1lb3V0LCAuLi5hcmdzKTtcbiAgICB9XG4gICAgcmV0dXJuIHNldFRpbWVvdXQoaGFuZGxlciwgdGltZW91dCwgLi4uYXJncyk7XG4gIH0sXG4gIGNsZWFyVGltZW91dChoYW5kbGUpIHtcbiAgICBjb25zdCB7IGRlbGVnYXRlIH0gPSB0aW1lb3V0UHJvdmlkZXI7XG4gICAgcmV0dXJuIChkZWxlZ2F0ZT8uY2xlYXJUaW1lb3V0IHx8IGNsZWFyVGltZW91dCkoaGFuZGxlIGFzIGFueSk7XG4gIH0sXG4gIGRlbGVnYXRlOiB1bmRlZmluZWQsXG59O1xuIiwgImltcG9ydCB7IGNvbmZpZyB9IGZyb20gJy4uL2NvbmZpZyc7XG5pbXBvcnQgeyB0aW1lb3V0UHJvdmlkZXIgfSBmcm9tICcuLi9zY2hlZHVsZXIvdGltZW91dFByb3ZpZGVyJztcblxuLyoqXG4gKiBIYW5kbGVzIGFuIGVycm9yIG9uIGFub3RoZXIgam9iIGVpdGhlciB3aXRoIHRoZSB1c2VyLWNvbmZpZ3VyZWQge0BsaW5rIG9uVW5oYW5kbGVkRXJyb3J9LFxuICogb3IgYnkgdGhyb3dpbmcgaXQgb24gdGhhdCBuZXcgam9iIHNvIGl0IGNhbiBiZSBwaWNrZWQgdXAgYnkgYHdpbmRvdy5vbmVycm9yYCwgYHByb2Nlc3Mub24oJ2Vycm9yJylgLCBldGMuXG4gKlxuICogVGhpcyBzaG91bGQgYmUgY2FsbGVkIHdoZW5ldmVyIHRoZXJlIGlzIGFuIGVycm9yIHRoYXQgaXMgb3V0LW9mLWJhbmQgd2l0aCB0aGUgc3Vic2NyaXB0aW9uXG4gKiBvciB3aGVuIGFuIGVycm9yIGhpdHMgYSB0ZXJtaW5hbCBib3VuZGFyeSBvZiB0aGUgc3Vic2NyaXB0aW9uIGFuZCBubyBlcnJvciBoYW5kbGVyIHdhcyBwcm92aWRlZC5cbiAqXG4gKiBAcGFyYW0gZXJyIHRoZSBlcnJvciB0byByZXBvcnRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcG9ydFVuaGFuZGxlZEVycm9yKGVycjogYW55KSB7XG4gIHRpbWVvdXRQcm92aWRlci5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICBjb25zdCB7IG9uVW5oYW5kbGVkRXJyb3IgfSA9IGNvbmZpZztcbiAgICBpZiAob25VbmhhbmRsZWRFcnJvcikge1xuICAgICAgLy8gRXhlY3V0ZSB0aGUgdXNlci1jb25maWd1cmVkIGVycm9yIGhhbmRsZXIuXG4gICAgICBvblVuaGFuZGxlZEVycm9yKGVycik7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRocm93IHNvIGl0IGlzIHBpY2tlZCB1cCBieSB0aGUgcnVudGltZSdzIHVuY2F1Z2h0IGVycm9yIG1lY2hhbmlzbS5cbiAgICAgIHRocm93IGVycjtcbiAgICB9XG4gIH0pO1xufVxuIiwgIi8qIHRzbGludDpkaXNhYmxlOm5vLWVtcHR5ICovXG5leHBvcnQgZnVuY3Rpb24gbm9vcCgpIHsgfVxuIiwgImltcG9ydCB7IENvbXBsZXRlTm90aWZpY2F0aW9uLCBOZXh0Tm90aWZpY2F0aW9uLCBFcnJvck5vdGlmaWNhdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIEEgY29tcGxldGlvbiBvYmplY3Qgb3B0aW1pemVkIGZvciBtZW1vcnkgdXNlIGFuZCBjcmVhdGVkIHRvIGJlIHRoZVxuICogc2FtZSBcInNoYXBlXCIgYXMgb3RoZXIgbm90aWZpY2F0aW9ucyBpbiB2OC5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgQ09NUExFVEVfTk9USUZJQ0FUSU9OID0gKCgpID0+IGNyZWF0ZU5vdGlmaWNhdGlvbignQycsIHVuZGVmaW5lZCwgdW5kZWZpbmVkKSBhcyBDb21wbGV0ZU5vdGlmaWNhdGlvbikoKTtcblxuLyoqXG4gKiBJbnRlcm5hbCB1c2Ugb25seS4gQ3JlYXRlcyBhbiBvcHRpbWl6ZWQgZXJyb3Igbm90aWZpY2F0aW9uIHRoYXQgaXMgdGhlIHNhbWUgXCJzaGFwZVwiXG4gKiBhcyBvdGhlciBub3RpZmljYXRpb25zLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlcnJvck5vdGlmaWNhdGlvbihlcnJvcjogYW55KTogRXJyb3JOb3RpZmljYXRpb24ge1xuICByZXR1cm4gY3JlYXRlTm90aWZpY2F0aW9uKCdFJywgdW5kZWZpbmVkLCBlcnJvcikgYXMgYW55O1xufVxuXG4vKipcbiAqIEludGVybmFsIHVzZSBvbmx5LiBDcmVhdGVzIGFuIG9wdGltaXplZCBuZXh0IG5vdGlmaWNhdGlvbiB0aGF0IGlzIHRoZSBzYW1lIFwic2hhcGVcIlxuICogYXMgb3RoZXIgbm90aWZpY2F0aW9ucy5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gbmV4dE5vdGlmaWNhdGlvbjxUPih2YWx1ZTogVCkge1xuICByZXR1cm4gY3JlYXRlTm90aWZpY2F0aW9uKCdOJywgdmFsdWUsIHVuZGVmaW5lZCkgYXMgTmV4dE5vdGlmaWNhdGlvbjxUPjtcbn1cblxuLyoqXG4gKiBFbnN1cmVzIHRoYXQgYWxsIG5vdGlmaWNhdGlvbnMgY3JlYXRlZCBpbnRlcm5hbGx5IGhhdmUgdGhlIHNhbWUgXCJzaGFwZVwiIGluIHY4LlxuICpcbiAqIFRPRE86IFRoaXMgaXMgb25seSBleHBvcnRlZCB0byBzdXBwb3J0IGEgY3JhenkgbGVnYWN5IHRlc3QgaW4gYGdyb3VwQnlgLlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVOb3RpZmljYXRpb24oa2luZDogJ04nIHwgJ0UnIHwgJ0MnLCB2YWx1ZTogYW55LCBlcnJvcjogYW55KSB7XG4gIHJldHVybiB7XG4gICAga2luZCxcbiAgICB2YWx1ZSxcbiAgICBlcnJvcixcbiAgfTtcbn1cbiIsICJpbXBvcnQgeyBjb25maWcgfSBmcm9tICcuLi9jb25maWcnO1xuXG5sZXQgY29udGV4dDogeyBlcnJvclRocm93bjogYm9vbGVhbjsgZXJyb3I6IGFueSB9IHwgbnVsbCA9IG51bGw7XG5cbi8qKlxuICogSGFuZGxlcyBkZWFsaW5nIHdpdGggZXJyb3JzIGZvciBzdXBlci1ncm9zcyBtb2RlLiBDcmVhdGVzIGEgY29udGV4dCwgaW4gd2hpY2hcbiAqIGFueSBzeW5jaHJvbm91c2x5IHRocm93biBlcnJvcnMgd2lsbCBiZSBwYXNzZWQgdG8ge0BsaW5rIGNhcHR1cmVFcnJvcn0uIFdoaWNoXG4gKiB3aWxsIHJlY29yZCB0aGUgZXJyb3Igc3VjaCB0aGF0IGl0IHdpbGwgYmUgcmV0aHJvd24gYWZ0ZXIgdGhlIGNhbGwgYmFjayBpcyBjb21wbGV0ZS5cbiAqIFRPRE86IFJlbW92ZSBpbiB2OFxuICogQHBhcmFtIGNiIEFuIGltbWVkaWF0ZWx5IGV4ZWN1dGVkIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXJyb3JDb250ZXh0KGNiOiAoKSA9PiB2b2lkKSB7XG4gIGlmIChjb25maWcudXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZykge1xuICAgIGNvbnN0IGlzUm9vdCA9ICFjb250ZXh0O1xuICAgIGlmIChpc1Jvb3QpIHtcbiAgICAgIGNvbnRleHQgPSB7IGVycm9yVGhyb3duOiBmYWxzZSwgZXJyb3I6IG51bGwgfTtcbiAgICB9XG4gICAgY2IoKTtcbiAgICBpZiAoaXNSb290KSB7XG4gICAgICBjb25zdCB7IGVycm9yVGhyb3duLCBlcnJvciB9ID0gY29udGV4dCE7XG4gICAgICBjb250ZXh0ID0gbnVsbDtcbiAgICAgIGlmIChlcnJvclRocm93bikge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgLy8gVGhpcyBpcyB0aGUgZ2VuZXJhbCBub24tZGVwcmVjYXRlZCBwYXRoIGZvciBldmVyeW9uZSB0aGF0XG4gICAgLy8gaXNuJ3QgY3JhenkgZW5vdWdoIHRvIHVzZSBzdXBlci1ncm9zcyBtb2RlICh1c2VEZXByZWNhdGVkU3luY2hyb25vdXNFcnJvckhhbmRsaW5nKVxuICAgIGNiKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBDYXB0dXJlcyBlcnJvcnMgb25seSBpbiBzdXBlci1ncm9zcyBtb2RlLlxuICogQHBhcmFtIGVyciB0aGUgZXJyb3IgdG8gY2FwdHVyZVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FwdHVyZUVycm9yKGVycjogYW55KSB7XG4gIGlmIChjb25maWcudXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZyAmJiBjb250ZXh0KSB7XG4gICAgY29udGV4dC5lcnJvclRocm93biA9IHRydWU7XG4gICAgY29udGV4dC5lcnJvciA9IGVycjtcbiAgfVxufVxuIiwgImltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuL3V0aWwvaXNGdW5jdGlvbic7XG5pbXBvcnQgeyBPYnNlcnZlciwgT2JzZXJ2YWJsZU5vdGlmaWNhdGlvbiB9IGZyb20gJy4vdHlwZXMnO1xuaW1wb3J0IHsgaXNTdWJzY3JpcHRpb24sIFN1YnNjcmlwdGlvbiB9IGZyb20gJy4vU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcbmltcG9ydCB7IHJlcG9ydFVuaGFuZGxlZEVycm9yIH0gZnJvbSAnLi91dGlsL3JlcG9ydFVuaGFuZGxlZEVycm9yJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuL3V0aWwvbm9vcCc7XG5pbXBvcnQgeyBuZXh0Tm90aWZpY2F0aW9uLCBlcnJvck5vdGlmaWNhdGlvbiwgQ09NUExFVEVfTk9USUZJQ0FUSU9OIH0gZnJvbSAnLi9Ob3RpZmljYXRpb25GYWN0b3JpZXMnO1xuaW1wb3J0IHsgdGltZW91dFByb3ZpZGVyIH0gZnJvbSAnLi9zY2hlZHVsZXIvdGltZW91dFByb3ZpZGVyJztcbmltcG9ydCB7IGNhcHR1cmVFcnJvciB9IGZyb20gJy4vdXRpbC9lcnJvckNvbnRleHQnO1xuXG4vKipcbiAqIEltcGxlbWVudHMgdGhlIHtAbGluayBPYnNlcnZlcn0gaW50ZXJmYWNlIGFuZCBleHRlbmRzIHRoZVxuICoge0BsaW5rIFN1YnNjcmlwdGlvbn0gY2xhc3MuIFdoaWxlIHRoZSB7QGxpbmsgT2JzZXJ2ZXJ9IGlzIHRoZSBwdWJsaWMgQVBJIGZvclxuICogY29uc3VtaW5nIHRoZSB2YWx1ZXMgb2YgYW4ge0BsaW5rIE9ic2VydmFibGV9LCBhbGwgT2JzZXJ2ZXJzIGdldCBjb252ZXJ0ZWQgdG9cbiAqIGEgU3Vic2NyaWJlciwgaW4gb3JkZXIgdG8gcHJvdmlkZSBTdWJzY3JpcHRpb24tbGlrZSBjYXBhYmlsaXRpZXMgc3VjaCBhc1xuICogYHVuc3Vic2NyaWJlYC4gU3Vic2NyaWJlciBpcyBhIGNvbW1vbiB0eXBlIGluIFJ4SlMsIGFuZCBjcnVjaWFsIGZvclxuICogaW1wbGVtZW50aW5nIG9wZXJhdG9ycywgYnV0IGl0IGlzIHJhcmVseSB1c2VkIGFzIGEgcHVibGljIEFQSS5cbiAqXG4gKiBAY2xhc3MgU3Vic2NyaWJlcjxUPlxuICovXG5leHBvcnQgY2xhc3MgU3Vic2NyaWJlcjxUPiBleHRlbmRzIFN1YnNjcmlwdGlvbiBpbXBsZW1lbnRzIE9ic2VydmVyPFQ+IHtcbiAgLyoqXG4gICAqIEEgc3RhdGljIGZhY3RvcnkgZm9yIGEgU3Vic2NyaWJlciwgZ2l2ZW4gYSAocG90ZW50aWFsbHkgcGFydGlhbCkgZGVmaW5pdGlvblxuICAgKiBvZiBhbiBPYnNlcnZlci5cbiAgICogQHBhcmFtIG5leHQgVGhlIGBuZXh0YCBjYWxsYmFjayBvZiBhbiBPYnNlcnZlci5cbiAgICogQHBhcmFtIGVycm9yIFRoZSBgZXJyb3JgIGNhbGxiYWNrIG9mIGFuXG4gICAqIE9ic2VydmVyLlxuICAgKiBAcGFyYW0gY29tcGxldGUgVGhlIGBjb21wbGV0ZWAgY2FsbGJhY2sgb2YgYW5cbiAgICogT2JzZXJ2ZXIuXG4gICAqIEByZXR1cm4gQSBTdWJzY3JpYmVyIHdyYXBwaW5nIHRoZSAocGFydGlhbGx5IGRlZmluZWQpXG4gICAqIE9ic2VydmVyIHJlcHJlc2VudGVkIGJ5IHRoZSBnaXZlbiBhcmd1bWVudHMuXG4gICAqIEBub2NvbGxhcHNlXG4gICAqIEBkZXByZWNhdGVkIERvIG5vdCB1c2UuIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gVGhlcmUgaXMgbm8gcmVwbGFjZW1lbnQgZm9yIHRoaXNcbiAgICogbWV0aG9kLCBhbmQgdGhlcmUgaXMgbm8gcmVhc29uIHRvIGJlIGNyZWF0aW5nIGluc3RhbmNlcyBvZiBgU3Vic2NyaWJlcmAgZGlyZWN0bHkuXG4gICAqIElmIHlvdSBoYXZlIGEgc3BlY2lmaWMgdXNlIGNhc2UsIHBsZWFzZSBmaWxlIGFuIGlzc3VlLlxuICAgKi9cbiAgc3RhdGljIGNyZWF0ZTxUPihuZXh0PzogKHg/OiBUKSA9PiB2b2lkLCBlcnJvcj86IChlPzogYW55KSA9PiB2b2lkLCBjb21wbGV0ZT86ICgpID0+IHZvaWQpOiBTdWJzY3JpYmVyPFQ+IHtcbiAgICByZXR1cm4gbmV3IFNhZmVTdWJzY3JpYmVyKG5leHQsIGVycm9yLCBjb21wbGV0ZSk7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgSW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZGV0YWlsLCBkbyBub3QgdXNlIGRpcmVjdGx5LiBXaWxsIGJlIG1hZGUgaW50ZXJuYWwgaW4gdjguICovXG4gIHByb3RlY3RlZCBpc1N0b3BwZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgLyoqIEBkZXByZWNhdGVkIEludGVybmFsIGltcGxlbWVudGF0aW9uIGRldGFpbCwgZG8gbm90IHVzZSBkaXJlY3RseS4gV2lsbCBiZSBtYWRlIGludGVybmFsIGluIHY4LiAqL1xuICBwcm90ZWN0ZWQgZGVzdGluYXRpb246IFN1YnNjcmliZXI8YW55PiB8IE9ic2VydmVyPGFueT47IC8vIHRoaXMgYGFueWAgaXMgdGhlIGVzY2FwZSBoYXRjaCB0byBlcmFzZSBleHRyYSB0eXBlIHBhcmFtIChlLmcuIFIpXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIEludGVybmFsIGltcGxlbWVudGF0aW9uIGRldGFpbCwgZG8gbm90IHVzZSBkaXJlY3RseS4gV2lsbCBiZSBtYWRlIGludGVybmFsIGluIHY4LlxuICAgKiBUaGVyZSBpcyBubyByZWFzb24gdG8gZGlyZWN0bHkgY3JlYXRlIGFuIGluc3RhbmNlIG9mIFN1YnNjcmliZXIuIFRoaXMgdHlwZSBpcyBleHBvcnRlZCBmb3IgdHlwaW5ncyByZWFzb25zLlxuICAgKi9cbiAgY29uc3RydWN0b3IoZGVzdGluYXRpb24/OiBTdWJzY3JpYmVyPGFueT4gfCBPYnNlcnZlcjxhbnk+KSB7XG4gICAgc3VwZXIoKTtcbiAgICBpZiAoZGVzdGluYXRpb24pIHtcbiAgICAgIHRoaXMuZGVzdGluYXRpb24gPSBkZXN0aW5hdGlvbjtcbiAgICAgIC8vIEF1dG9tYXRpY2FsbHkgY2hhaW4gc3Vic2NyaXB0aW9ucyB0b2dldGhlciBoZXJlLlxuICAgICAgLy8gaWYgZGVzdGluYXRpb24gaXMgYSBTdWJzY3JpcHRpb24sIHRoZW4gaXQgaXMgYSBTdWJzY3JpYmVyLlxuICAgICAgaWYgKGlzU3Vic2NyaXB0aW9uKGRlc3RpbmF0aW9uKSkge1xuICAgICAgICBkZXN0aW5hdGlvbi5hZGQodGhpcyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGVzdGluYXRpb24gPSBFTVBUWV9PQlNFUlZFUjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIHtAbGluayBPYnNlcnZlcn0gY2FsbGJhY2sgdG8gcmVjZWl2ZSBub3RpZmljYXRpb25zIG9mIHR5cGUgYG5leHRgIGZyb21cbiAgICogdGhlIE9ic2VydmFibGUsIHdpdGggYSB2YWx1ZS4gVGhlIE9ic2VydmFibGUgbWF5IGNhbGwgdGhpcyBtZXRob2QgMCBvciBtb3JlXG4gICAqIHRpbWVzLlxuICAgKiBAcGFyYW0ge1R9IFt2YWx1ZV0gVGhlIGBuZXh0YCB2YWx1ZS5cbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIG5leHQodmFsdWU/OiBUKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNTdG9wcGVkKSB7XG4gICAgICBoYW5kbGVTdG9wcGVkTm90aWZpY2F0aW9uKG5leHROb3RpZmljYXRpb24odmFsdWUpLCB0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fbmV4dCh2YWx1ZSEpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUge0BsaW5rIE9ic2VydmVyfSBjYWxsYmFjayB0byByZWNlaXZlIG5vdGlmaWNhdGlvbnMgb2YgdHlwZSBgZXJyb3JgIGZyb21cbiAgICogdGhlIE9ic2VydmFibGUsIHdpdGggYW4gYXR0YWNoZWQgYEVycm9yYC4gTm90aWZpZXMgdGhlIE9ic2VydmVyIHRoYXRcbiAgICogdGhlIE9ic2VydmFibGUgaGFzIGV4cGVyaWVuY2VkIGFuIGVycm9yIGNvbmRpdGlvbi5cbiAgICogQHBhcmFtIHthbnl9IFtlcnJdIFRoZSBgZXJyb3JgIGV4Y2VwdGlvbi5cbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIGVycm9yKGVycj86IGFueSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzU3RvcHBlZCkge1xuICAgICAgaGFuZGxlU3RvcHBlZE5vdGlmaWNhdGlvbihlcnJvck5vdGlmaWNhdGlvbihlcnIpLCB0aGlzKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc1N0b3BwZWQgPSB0cnVlO1xuICAgICAgdGhpcy5fZXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIHtAbGluayBPYnNlcnZlcn0gY2FsbGJhY2sgdG8gcmVjZWl2ZSBhIHZhbHVlbGVzcyBub3RpZmljYXRpb24gb2YgdHlwZVxuICAgKiBgY29tcGxldGVgIGZyb20gdGhlIE9ic2VydmFibGUuIE5vdGlmaWVzIHRoZSBPYnNlcnZlciB0aGF0IHRoZSBPYnNlcnZhYmxlXG4gICAqIGhhcyBmaW5pc2hlZCBzZW5kaW5nIHB1c2gtYmFzZWQgbm90aWZpY2F0aW9ucy5cbiAgICogQHJldHVybiB7dm9pZH1cbiAgICovXG4gIGNvbXBsZXRlKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmlzU3RvcHBlZCkge1xuICAgICAgaGFuZGxlU3RvcHBlZE5vdGlmaWNhdGlvbihDT01QTEVURV9OT1RJRklDQVRJT04sIHRoaXMpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzU3RvcHBlZCA9IHRydWU7XG4gICAgICB0aGlzLl9jb21wbGV0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHVuc3Vic2NyaWJlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jbG9zZWQpIHtcbiAgICAgIHRoaXMuaXNTdG9wcGVkID0gdHJ1ZTtcbiAgICAgIHN1cGVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICB0aGlzLmRlc3RpbmF0aW9uID0gbnVsbCE7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9uZXh0KHZhbHVlOiBUKTogdm9pZCB7XG4gICAgdGhpcy5kZXN0aW5hdGlvbi5uZXh0KHZhbHVlKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBfZXJyb3IoZXJyOiBhbnkpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5kZXN0aW5hdGlvbi5lcnJvcihlcnIpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIF9jb21wbGV0ZSgpOiB2b2lkIHtcbiAgICB0cnkge1xuICAgICAgdGhpcy5kZXN0aW5hdGlvbi5jb21wbGV0ZSgpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVGhpcyBiaW5kIGlzIGNhcHR1cmVkIGhlcmUgYmVjYXVzZSB3ZSB3YW50IHRvIGJlIGFibGUgdG8gaGF2ZVxuICogY29tcGF0aWJpbGl0eSB3aXRoIG1vbm9pZCBsaWJyYXJpZXMgdGhhdCB0ZW5kIHRvIHVzZSBhIG1ldGhvZCBuYW1lZFxuICogYGJpbmRgLiBJbiBwYXJ0aWN1bGFyLCBhIGxpYnJhcnkgY2FsbGVkIE1vbmlvIHJlcXVpcmVzIHRoaXMuXG4gKi9cbmNvbnN0IF9iaW5kID0gRnVuY3Rpb24ucHJvdG90eXBlLmJpbmQ7XG5cbmZ1bmN0aW9uIGJpbmQ8Rm4gZXh0ZW5kcyAoLi4uYXJnczogYW55W10pID0+IGFueT4oZm46IEZuLCB0aGlzQXJnOiBhbnkpOiBGbiB7XG4gIHJldHVybiBfYmluZC5jYWxsKGZuLCB0aGlzQXJnKTtcbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBvcHRpbWl6YXRpb24gb25seSwgRE8gTk9UIEVYUE9TRS5cbiAqIEBpbnRlcm5hbFxuICovXG5jbGFzcyBDb25zdW1lck9ic2VydmVyPFQ+IGltcGxlbWVudHMgT2JzZXJ2ZXI8VD4ge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHBhcnRpYWxPYnNlcnZlcjogUGFydGlhbDxPYnNlcnZlcjxUPj4pIHt9XG5cbiAgbmV4dCh2YWx1ZTogVCk6IHZvaWQge1xuICAgIGNvbnN0IHsgcGFydGlhbE9ic2VydmVyIH0gPSB0aGlzO1xuICAgIGlmIChwYXJ0aWFsT2JzZXJ2ZXIubmV4dCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcGFydGlhbE9ic2VydmVyLm5leHQodmFsdWUpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaGFuZGxlVW5oYW5kbGVkRXJyb3IoZXJyb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGVycm9yKGVycjogYW55KTogdm9pZCB7XG4gICAgY29uc3QgeyBwYXJ0aWFsT2JzZXJ2ZXIgfSA9IHRoaXM7XG4gICAgaWYgKHBhcnRpYWxPYnNlcnZlci5lcnJvcikge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcGFydGlhbE9ic2VydmVyLmVycm9yKGVycik7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBoYW5kbGVVbmhhbmRsZWRFcnJvcihlcnJvcik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGhhbmRsZVVuaGFuZGxlZEVycm9yKGVycik7XG4gICAgfVxuICB9XG5cbiAgY29tcGxldGUoKTogdm9pZCB7XG4gICAgY29uc3QgeyBwYXJ0aWFsT2JzZXJ2ZXIgfSA9IHRoaXM7XG4gICAgaWYgKHBhcnRpYWxPYnNlcnZlci5jb21wbGV0ZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcGFydGlhbE9ic2VydmVyLmNvbXBsZXRlKCk7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBoYW5kbGVVbmhhbmRsZWRFcnJvcihlcnJvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTYWZlU3Vic2NyaWJlcjxUPiBleHRlbmRzIFN1YnNjcmliZXI8VD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBvYnNlcnZlck9yTmV4dD86IFBhcnRpYWw8T2JzZXJ2ZXI8VD4+IHwgKCh2YWx1ZTogVCkgPT4gdm9pZCkgfCBudWxsLFxuICAgIGVycm9yPzogKChlPzogYW55KSA9PiB2b2lkKSB8IG51bGwsXG4gICAgY29tcGxldGU/OiAoKCkgPT4gdm9pZCkgfCBudWxsXG4gICkge1xuICAgIHN1cGVyKCk7XG5cbiAgICBsZXQgcGFydGlhbE9ic2VydmVyOiBQYXJ0aWFsPE9ic2VydmVyPFQ+PjtcbiAgICBpZiAoaXNGdW5jdGlvbihvYnNlcnZlck9yTmV4dCkgfHwgIW9ic2VydmVyT3JOZXh0KSB7XG4gICAgICAvLyBUaGUgZmlyc3QgYXJndW1lbnQgaXMgYSBmdW5jdGlvbiwgbm90IGFuIG9ic2VydmVyLiBUaGUgbmV4dFxuICAgICAgLy8gdHdvIGFyZ3VtZW50cyAqY291bGQqIGJlIG9ic2VydmVycywgb3IgdGhleSBjb3VsZCBiZSBlbXB0eS5cbiAgICAgIHBhcnRpYWxPYnNlcnZlciA9IHtcbiAgICAgICAgbmV4dDogKG9ic2VydmVyT3JOZXh0ID8/IHVuZGVmaW5lZCkgYXMgKCgodmFsdWU6IFQpID0+IHZvaWQpIHwgdW5kZWZpbmVkKSxcbiAgICAgICAgZXJyb3I6IGVycm9yID8/IHVuZGVmaW5lZCxcbiAgICAgICAgY29tcGxldGU6IGNvbXBsZXRlID8/IHVuZGVmaW5lZCxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIFRoZSBmaXJzdCBhcmd1bWVudCBpcyBhIHBhcnRpYWwgb2JzZXJ2ZXIuXG4gICAgICBsZXQgY29udGV4dDogYW55O1xuICAgICAgaWYgKHRoaXMgJiYgY29uZmlnLnVzZURlcHJlY2F0ZWROZXh0Q29udGV4dCkge1xuICAgICAgICAvLyBUaGlzIGlzIGEgZGVwcmVjYXRlZCBwYXRoIHRoYXQgbWFkZSBgdGhpcy51bnN1YnNjcmliZSgpYCBhdmFpbGFibGUgaW5cbiAgICAgICAgLy8gbmV4dCBoYW5kbGVyIGZ1bmN0aW9ucyBwYXNzZWQgdG8gc3Vic2NyaWJlLiBUaGlzIG9ubHkgZXhpc3RzIGJlaGluZCBhIGZsYWdcbiAgICAgICAgLy8gbm93LCBhcyBpdCBpcyAqdmVyeSogc2xvdy5cbiAgICAgICAgY29udGV4dCA9IE9iamVjdC5jcmVhdGUob2JzZXJ2ZXJPck5leHQpO1xuICAgICAgICBjb250ZXh0LnVuc3Vic2NyaWJlID0gKCkgPT4gdGhpcy51bnN1YnNjcmliZSgpO1xuICAgICAgICBwYXJ0aWFsT2JzZXJ2ZXIgPSB7XG4gICAgICAgICAgbmV4dDogb2JzZXJ2ZXJPck5leHQubmV4dCAmJiBiaW5kKG9ic2VydmVyT3JOZXh0Lm5leHQsIGNvbnRleHQpLFxuICAgICAgICAgIGVycm9yOiBvYnNlcnZlck9yTmV4dC5lcnJvciAmJiBiaW5kKG9ic2VydmVyT3JOZXh0LmVycm9yLCBjb250ZXh0KSxcbiAgICAgICAgICBjb21wbGV0ZTogb2JzZXJ2ZXJPck5leHQuY29tcGxldGUgJiYgYmluZChvYnNlcnZlck9yTmV4dC5jb21wbGV0ZSwgY29udGV4dCksXG4gICAgICAgIH07XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBUaGUgXCJub3JtYWxcIiBwYXRoLiBKdXN0IHVzZSB0aGUgcGFydGlhbCBvYnNlcnZlciBkaXJlY3RseS5cbiAgICAgICAgcGFydGlhbE9ic2VydmVyID0gb2JzZXJ2ZXJPck5leHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV3JhcCB0aGUgcGFydGlhbCBvYnNlcnZlciB0byBlbnN1cmUgaXQncyBhIGZ1bGwgb2JzZXJ2ZXIsIGFuZFxuICAgIC8vIG1ha2Ugc3VyZSBwcm9wZXIgZXJyb3IgaGFuZGxpbmcgaXMgYWNjb3VudGVkIGZvci5cbiAgICB0aGlzLmRlc3RpbmF0aW9uID0gbmV3IENvbnN1bWVyT2JzZXJ2ZXIocGFydGlhbE9ic2VydmVyKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBoYW5kbGVVbmhhbmRsZWRFcnJvcihlcnJvcjogYW55KSB7XG4gIGlmIChjb25maWcudXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZykge1xuICAgIGNhcHR1cmVFcnJvcihlcnJvcik7XG4gIH0gZWxzZSB7XG4gICAgLy8gSWRlYWwgcGF0aCwgd2UgcmVwb3J0IHRoaXMgYXMgYW4gdW5oYW5kbGVkIGVycm9yLFxuICAgIC8vIHdoaWNoIGlzIHRocm93biBvbiBhIG5ldyBjYWxsIHN0YWNrLlxuICAgIHJlcG9ydFVuaGFuZGxlZEVycm9yKGVycm9yKTtcbiAgfVxufVxuXG4vKipcbiAqIEFuIGVycm9yIGhhbmRsZXIgdXNlZCB3aGVuIG5vIGVycm9yIGhhbmRsZXIgd2FzIHN1cHBsaWVkXG4gKiB0byB0aGUgU2FmZVN1YnNjcmliZXIgLS0gbWVhbmluZyBubyBlcnJvciBoYW5kbGVyIHdhcyBzdXBwbGllZFxuICogZG8gdGhlIGBzdWJzY3JpYmVgIGNhbGwgb24gb3VyIG9ic2VydmFibGUuXG4gKiBAcGFyYW0gZXJyIFRoZSBlcnJvciB0byBoYW5kbGVcbiAqL1xuZnVuY3Rpb24gZGVmYXVsdEVycm9ySGFuZGxlcihlcnI6IGFueSkge1xuICB0aHJvdyBlcnI7XG59XG5cbi8qKlxuICogQSBoYW5kbGVyIGZvciBub3RpZmljYXRpb25zIHRoYXQgY2Fubm90IGJlIHNlbnQgdG8gYSBzdG9wcGVkIHN1YnNjcmliZXIuXG4gKiBAcGFyYW0gbm90aWZpY2F0aW9uIFRoZSBub3RpZmljYXRpb24gYmVpbmcgc2VudFxuICogQHBhcmFtIHN1YnNjcmliZXIgVGhlIHN0b3BwZWQgc3Vic2NyaWJlclxuICovXG5mdW5jdGlvbiBoYW5kbGVTdG9wcGVkTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbjogT2JzZXJ2YWJsZU5vdGlmaWNhdGlvbjxhbnk+LCBzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPGFueT4pIHtcbiAgY29uc3QgeyBvblN0b3BwZWROb3RpZmljYXRpb24gfSA9IGNvbmZpZztcbiAgb25TdG9wcGVkTm90aWZpY2F0aW9uICYmIHRpbWVvdXRQcm92aWRlci5zZXRUaW1lb3V0KCgpID0+IG9uU3RvcHBlZE5vdGlmaWNhdGlvbihub3RpZmljYXRpb24sIHN1YnNjcmliZXIpKTtcbn1cblxuLyoqXG4gKiBUaGUgb2JzZXJ2ZXIgdXNlZCBhcyBhIHN0dWIgZm9yIHN1YnNjcmlwdGlvbnMgd2hlcmUgdGhlIHVzZXIgZGlkIG5vdFxuICogcGFzcyBhbnkgYXJndW1lbnRzIHRvIGBzdWJzY3JpYmVgLiBDb21lcyB3aXRoIHRoZSBkZWZhdWx0IGVycm9yIGhhbmRsaW5nXG4gKiBiZWhhdmlvci5cbiAqL1xuZXhwb3J0IGNvbnN0IEVNUFRZX09CU0VSVkVSOiBSZWFkb25seTxPYnNlcnZlcjxhbnk+PiAmIHsgY2xvc2VkOiB0cnVlIH0gPSB7XG4gIGNsb3NlZDogdHJ1ZSxcbiAgbmV4dDogbm9vcCxcbiAgZXJyb3I6IGRlZmF1bHRFcnJvckhhbmRsZXIsXG4gIGNvbXBsZXRlOiBub29wLFxufTtcbiIsICIvKipcbiAqIFN5bWJvbC5vYnNlcnZhYmxlIG9yIGEgc3RyaW5nIFwiQEBvYnNlcnZhYmxlXCIuIFVzZWQgZm9yIGludGVyb3BcbiAqXG4gKiBAZGVwcmVjYXRlZCBXZSB3aWxsIG5vIGxvbmdlciBiZSBleHBvcnRpbmcgdGhpcyBzeW1ib2wgaW4gdXBjb21pbmcgdmVyc2lvbnMgb2YgUnhKUy5cbiAqIEluc3RlYWQgcG9seWZpbGwgYW5kIHVzZSBTeW1ib2wub2JzZXJ2YWJsZSBkaXJlY3RseSAqb3IqIHVzZSBodHRwczovL3d3dy5ucG1qcy5jb20vcGFja2FnZS9zeW1ib2wtb2JzZXJ2YWJsZVxuICovXG5leHBvcnQgY29uc3Qgb2JzZXJ2YWJsZTogc3RyaW5nIHwgc3ltYm9sID0gKCgpID0+ICh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIFN5bWJvbC5vYnNlcnZhYmxlKSB8fCAnQEBvYnNlcnZhYmxlJykoKTtcbiIsICIvKipcbiAqIFRoaXMgZnVuY3Rpb24gdGFrZXMgb25lIHBhcmFtZXRlciBhbmQganVzdCByZXR1cm5zIGl0LiBTaW1wbHkgcHV0LFxuICogdGhpcyBpcyBsaWtlIGA8VD4oeDogVCk6IFQgPT4geGAuXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBUaGlzIGlzIHVzZWZ1bCBpbiBzb21lIGNhc2VzIHdoZW4gdXNpbmcgdGhpbmdzIGxpa2UgYG1lcmdlTWFwYFxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBpbnRlcnZhbCwgdGFrZSwgbWFwLCByYW5nZSwgbWVyZ2VNYXAsIGlkZW50aXR5IH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3Qgc291cmNlJCA9IGludGVydmFsKDEwMDApLnBpcGUodGFrZSg1KSk7XG4gKlxuICogY29uc3QgcmVzdWx0JCA9IHNvdXJjZSQucGlwZShcbiAqICAgbWFwKGkgPT4gcmFuZ2UoaSkpLFxuICogICBtZXJnZU1hcChpZGVudGl0eSkgLy8gc2FtZSBhcyBtZXJnZU1hcCh4ID0+IHgpXG4gKiApO1xuICpcbiAqIHJlc3VsdCQuc3Vic2NyaWJlKHtcbiAqICAgbmV4dDogY29uc29sZS5sb2dcbiAqIH0pO1xuICogYGBgXG4gKlxuICogT3Igd2hlbiB5b3Ugd2FudCB0byBzZWxlY3RpdmVseSBhcHBseSBhbiBvcGVyYXRvclxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBpbnRlcnZhbCwgdGFrZSwgaWRlbnRpdHkgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBzaG91bGRMaW1pdCA9ICgpID0+IE1hdGgucmFuZG9tKCkgPCAwLjU7XG4gKlxuICogY29uc3Qgc291cmNlJCA9IGludGVydmFsKDEwMDApO1xuICpcbiAqIGNvbnN0IHJlc3VsdCQgPSBzb3VyY2UkLnBpcGUoc2hvdWxkTGltaXQoKSA/IHRha2UoNSkgOiBpZGVudGl0eSk7XG4gKlxuICogcmVzdWx0JC5zdWJzY3JpYmUoe1xuICogICBuZXh0OiBjb25zb2xlLmxvZ1xuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0geCBBbnkgdmFsdWUgdGhhdCBpcyByZXR1cm5lZCBieSB0aGlzIGZ1bmN0aW9uXG4gKiBAcmV0dXJucyBUaGUgdmFsdWUgcGFzc2VkIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXIgdG8gdGhpcyBmdW5jdGlvblxuICovXG5leHBvcnQgZnVuY3Rpb24gaWRlbnRpdHk8VD4oeDogVCk6IFQge1xuICByZXR1cm4geDtcbn1cbiIsICJpbXBvcnQgeyBpZGVudGl0eSB9IGZyb20gJy4vaWRlbnRpdHknO1xuaW1wb3J0IHsgVW5hcnlGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHBpcGUoKTogdHlwZW9mIGlkZW50aXR5O1xuZXhwb3J0IGZ1bmN0aW9uIHBpcGU8VCwgQT4oZm4xOiBVbmFyeUZ1bmN0aW9uPFQsIEE+KTogVW5hcnlGdW5jdGlvbjxULCBBPjtcbmV4cG9ydCBmdW5jdGlvbiBwaXBlPFQsIEEsIEI+KGZuMTogVW5hcnlGdW5jdGlvbjxULCBBPiwgZm4yOiBVbmFyeUZ1bmN0aW9uPEEsIEI+KTogVW5hcnlGdW5jdGlvbjxULCBCPjtcbmV4cG9ydCBmdW5jdGlvbiBwaXBlPFQsIEEsIEIsIEM+KGZuMTogVW5hcnlGdW5jdGlvbjxULCBBPiwgZm4yOiBVbmFyeUZ1bmN0aW9uPEEsIEI+LCBmbjM6IFVuYXJ5RnVuY3Rpb248QiwgQz4pOiBVbmFyeUZ1bmN0aW9uPFQsIEM+O1xuZXhwb3J0IGZ1bmN0aW9uIHBpcGU8VCwgQSwgQiwgQywgRD4oXG4gIGZuMTogVW5hcnlGdW5jdGlvbjxULCBBPixcbiAgZm4yOiBVbmFyeUZ1bmN0aW9uPEEsIEI+LFxuICBmbjM6IFVuYXJ5RnVuY3Rpb248QiwgQz4sXG4gIGZuNDogVW5hcnlGdW5jdGlvbjxDLCBEPlxuKTogVW5hcnlGdW5jdGlvbjxULCBEPjtcbmV4cG9ydCBmdW5jdGlvbiBwaXBlPFQsIEEsIEIsIEMsIEQsIEU+KFxuICBmbjE6IFVuYXJ5RnVuY3Rpb248VCwgQT4sXG4gIGZuMjogVW5hcnlGdW5jdGlvbjxBLCBCPixcbiAgZm4zOiBVbmFyeUZ1bmN0aW9uPEIsIEM+LFxuICBmbjQ6IFVuYXJ5RnVuY3Rpb248QywgRD4sXG4gIGZuNTogVW5hcnlGdW5jdGlvbjxELCBFPlxuKTogVW5hcnlGdW5jdGlvbjxULCBFPjtcbmV4cG9ydCBmdW5jdGlvbiBwaXBlPFQsIEEsIEIsIEMsIEQsIEUsIEY+KFxuICBmbjE6IFVuYXJ5RnVuY3Rpb248VCwgQT4sXG4gIGZuMjogVW5hcnlGdW5jdGlvbjxBLCBCPixcbiAgZm4zOiBVbmFyeUZ1bmN0aW9uPEIsIEM+LFxuICBmbjQ6IFVuYXJ5RnVuY3Rpb248QywgRD4sXG4gIGZuNTogVW5hcnlGdW5jdGlvbjxELCBFPixcbiAgZm42OiBVbmFyeUZ1bmN0aW9uPEUsIEY+XG4pOiBVbmFyeUZ1bmN0aW9uPFQsIEY+O1xuZXhwb3J0IGZ1bmN0aW9uIHBpcGU8VCwgQSwgQiwgQywgRCwgRSwgRiwgRz4oXG4gIGZuMTogVW5hcnlGdW5jdGlvbjxULCBBPixcbiAgZm4yOiBVbmFyeUZ1bmN0aW9uPEEsIEI+LFxuICBmbjM6IFVuYXJ5RnVuY3Rpb248QiwgQz4sXG4gIGZuNDogVW5hcnlGdW5jdGlvbjxDLCBEPixcbiAgZm41OiBVbmFyeUZ1bmN0aW9uPEQsIEU+LFxuICBmbjY6IFVuYXJ5RnVuY3Rpb248RSwgRj4sXG4gIGZuNzogVW5hcnlGdW5jdGlvbjxGLCBHPlxuKTogVW5hcnlGdW5jdGlvbjxULCBHPjtcbmV4cG9ydCBmdW5jdGlvbiBwaXBlPFQsIEEsIEIsIEMsIEQsIEUsIEYsIEcsIEg+KFxuICBmbjE6IFVuYXJ5RnVuY3Rpb248VCwgQT4sXG4gIGZuMjogVW5hcnlGdW5jdGlvbjxBLCBCPixcbiAgZm4zOiBVbmFyeUZ1bmN0aW9uPEIsIEM+LFxuICBmbjQ6IFVuYXJ5RnVuY3Rpb248QywgRD4sXG4gIGZuNTogVW5hcnlGdW5jdGlvbjxELCBFPixcbiAgZm42OiBVbmFyeUZ1bmN0aW9uPEUsIEY+LFxuICBmbjc6IFVuYXJ5RnVuY3Rpb248RiwgRz4sXG4gIGZuODogVW5hcnlGdW5jdGlvbjxHLCBIPlxuKTogVW5hcnlGdW5jdGlvbjxULCBIPjtcbmV4cG9ydCBmdW5jdGlvbiBwaXBlPFQsIEEsIEIsIEMsIEQsIEUsIEYsIEcsIEgsIEk+KFxuICBmbjE6IFVuYXJ5RnVuY3Rpb248VCwgQT4sXG4gIGZuMjogVW5hcnlGdW5jdGlvbjxBLCBCPixcbiAgZm4zOiBVbmFyeUZ1bmN0aW9uPEIsIEM+LFxuICBmbjQ6IFVuYXJ5RnVuY3Rpb248QywgRD4sXG4gIGZuNTogVW5hcnlGdW5jdGlvbjxELCBFPixcbiAgZm42OiBVbmFyeUZ1bmN0aW9uPEUsIEY+LFxuICBmbjc6IFVuYXJ5RnVuY3Rpb248RiwgRz4sXG4gIGZuODogVW5hcnlGdW5jdGlvbjxHLCBIPixcbiAgZm45OiBVbmFyeUZ1bmN0aW9uPEgsIEk+XG4pOiBVbmFyeUZ1bmN0aW9uPFQsIEk+O1xuZXhwb3J0IGZ1bmN0aW9uIHBpcGU8VCwgQSwgQiwgQywgRCwgRSwgRiwgRywgSCwgST4oXG4gIGZuMTogVW5hcnlGdW5jdGlvbjxULCBBPixcbiAgZm4yOiBVbmFyeUZ1bmN0aW9uPEEsIEI+LFxuICBmbjM6IFVuYXJ5RnVuY3Rpb248QiwgQz4sXG4gIGZuNDogVW5hcnlGdW5jdGlvbjxDLCBEPixcbiAgZm41OiBVbmFyeUZ1bmN0aW9uPEQsIEU+LFxuICBmbjY6IFVuYXJ5RnVuY3Rpb248RSwgRj4sXG4gIGZuNzogVW5hcnlGdW5jdGlvbjxGLCBHPixcbiAgZm44OiBVbmFyeUZ1bmN0aW9uPEcsIEg+LFxuICBmbjk6IFVuYXJ5RnVuY3Rpb248SCwgST4sXG4gIC4uLmZuczogVW5hcnlGdW5jdGlvbjxhbnksIGFueT5bXVxuKTogVW5hcnlGdW5jdGlvbjxULCB1bmtub3duPjtcblxuLyoqXG4gKiBwaXBlKCkgY2FuIGJlIGNhbGxlZCBvbiBvbmUgb3IgbW9yZSBmdW5jdGlvbnMsIGVhY2ggb2Ygd2hpY2ggY2FuIHRha2Ugb25lIGFyZ3VtZW50IChcIlVuYXJ5RnVuY3Rpb25cIilcbiAqIGFuZCB1c2VzIGl0IHRvIHJldHVybiBhIHZhbHVlLlxuICogSXQgcmV0dXJucyBhIGZ1bmN0aW9uIHRoYXQgdGFrZXMgb25lIGFyZ3VtZW50LCBwYXNzZXMgaXQgdG8gdGhlIGZpcnN0IFVuYXJ5RnVuY3Rpb24sIGFuZCB0aGVuXG4gKiBwYXNzZXMgdGhlIHJlc3VsdCB0byB0aGUgbmV4dCBvbmUsIHBhc3NlcyB0aGF0IHJlc3VsdCB0byB0aGUgbmV4dCBvbmUsIGFuZCBzbyBvbi4gIFxuICovXG5leHBvcnQgZnVuY3Rpb24gcGlwZSguLi5mbnM6IEFycmF5PFVuYXJ5RnVuY3Rpb248YW55LCBhbnk+Pik6IFVuYXJ5RnVuY3Rpb248YW55LCBhbnk+IHtcbiAgcmV0dXJuIHBpcGVGcm9tQXJyYXkoZm5zKTtcbn1cblxuLyoqIEBpbnRlcm5hbCAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBpcGVGcm9tQXJyYXk8VCwgUj4oZm5zOiBBcnJheTxVbmFyeUZ1bmN0aW9uPFQsIFI+Pik6IFVuYXJ5RnVuY3Rpb248VCwgUj4ge1xuICBpZiAoZm5zLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBpZGVudGl0eSBhcyBVbmFyeUZ1bmN0aW9uPGFueSwgYW55PjtcbiAgfVxuXG4gIGlmIChmbnMubGVuZ3RoID09PSAxKSB7XG4gICAgcmV0dXJuIGZuc1swXTtcbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiBwaXBlZChpbnB1dDogVCk6IFIge1xuICAgIHJldHVybiBmbnMucmVkdWNlKChwcmV2OiBhbnksIGZuOiBVbmFyeUZ1bmN0aW9uPFQsIFI+KSA9PiBmbihwcmV2KSwgaW5wdXQgYXMgYW55KTtcbiAgfTtcbn1cbiIsICJpbXBvcnQgeyBPcGVyYXRvciB9IGZyb20gJy4vT3BlcmF0b3InO1xuaW1wb3J0IHsgU2FmZVN1YnNjcmliZXIsIFN1YnNjcmliZXIgfSBmcm9tICcuL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgaXNTdWJzY3JpcHRpb24sIFN1YnNjcmlwdGlvbiB9IGZyb20gJy4vU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IFRlYXJkb3duTG9naWMsIE9wZXJhdG9yRnVuY3Rpb24sIFN1YnNjcmliYWJsZSwgT2JzZXJ2ZXIgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IG9ic2VydmFibGUgYXMgU3ltYm9sX29ic2VydmFibGUgfSBmcm9tICcuL3N5bWJvbC9vYnNlcnZhYmxlJztcbmltcG9ydCB7IHBpcGVGcm9tQXJyYXkgfSBmcm9tICcuL3V0aWwvcGlwZSc7XG5pbXBvcnQgeyBjb25maWcgfSBmcm9tICcuL2NvbmZpZyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi91dGlsL2lzRnVuY3Rpb24nO1xuaW1wb3J0IHsgZXJyb3JDb250ZXh0IH0gZnJvbSAnLi91dGlsL2Vycm9yQ29udGV4dCc7XG5cbi8qKlxuICogQSByZXByZXNlbnRhdGlvbiBvZiBhbnkgc2V0IG9mIHZhbHVlcyBvdmVyIGFueSBhbW91bnQgb2YgdGltZS4gVGhpcyBpcyB0aGUgbW9zdCBiYXNpYyBidWlsZGluZyBibG9ja1xuICogb2YgUnhKUy5cbiAqXG4gKiBAY2xhc3MgT2JzZXJ2YWJsZTxUPlxuICovXG5leHBvcnQgY2xhc3MgT2JzZXJ2YWJsZTxUPiBpbXBsZW1lbnRzIFN1YnNjcmliYWJsZTxUPiB7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBJbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBkZXRhaWwsIGRvIG5vdCB1c2UgZGlyZWN0bHkuIFdpbGwgYmUgbWFkZSBpbnRlcm5hbCBpbiB2OC5cbiAgICovXG4gIHNvdXJjZTogT2JzZXJ2YWJsZTxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBJbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBkZXRhaWwsIGRvIG5vdCB1c2UgZGlyZWN0bHkuIFdpbGwgYmUgbWFkZSBpbnRlcm5hbCBpbiB2OC5cbiAgICovXG4gIG9wZXJhdG9yOiBPcGVyYXRvcjxhbnksIFQ+IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBAY29uc3RydWN0b3JcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gc3Vic2NyaWJlIHRoZSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSBPYnNlcnZhYmxlIGlzXG4gICAqIGluaXRpYWxseSBzdWJzY3JpYmVkIHRvLiBUaGlzIGZ1bmN0aW9uIGlzIGdpdmVuIGEgU3Vic2NyaWJlciwgdG8gd2hpY2ggbmV3IHZhbHVlc1xuICAgKiBjYW4gYmUgYG5leHRgZWQsIG9yIGFuIGBlcnJvcmAgbWV0aG9kIGNhbiBiZSBjYWxsZWQgdG8gcmFpc2UgYW4gZXJyb3IsIG9yXG4gICAqIGBjb21wbGV0ZWAgY2FuIGJlIGNhbGxlZCB0byBub3RpZnkgb2YgYSBzdWNjZXNzZnVsIGNvbXBsZXRpb24uXG4gICAqL1xuICBjb25zdHJ1Y3RvcihzdWJzY3JpYmU/OiAodGhpczogT2JzZXJ2YWJsZTxUPiwgc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxUPikgPT4gVGVhcmRvd25Mb2dpYykge1xuICAgIGlmIChzdWJzY3JpYmUpIHtcbiAgICAgIHRoaXMuX3N1YnNjcmliZSA9IHN1YnNjcmliZTtcbiAgICB9XG4gIH1cblxuICAvLyBIQUNLOiBTaW5jZSBUeXBlU2NyaXB0IGluaGVyaXRzIHN0YXRpYyBwcm9wZXJ0aWVzIHRvbywgd2UgaGF2ZSB0b1xuICAvLyBmaWdodCBhZ2FpbnN0IFR5cGVTY3JpcHQgaGVyZSBzbyBTdWJqZWN0IGNhbiBoYXZlIGEgZGlmZmVyZW50IHN0YXRpYyBjcmVhdGUgc2lnbmF0dXJlXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IE9ic2VydmFibGUgYnkgY2FsbGluZyB0aGUgT2JzZXJ2YWJsZSBjb25zdHJ1Y3RvclxuICAgKiBAb3duZXIgT2JzZXJ2YWJsZVxuICAgKiBAbWV0aG9kIGNyZWF0ZVxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBzdWJzY3JpYmU/IHRoZSBzdWJzY3JpYmVyIGZ1bmN0aW9uIHRvIGJlIHBhc3NlZCB0byB0aGUgT2JzZXJ2YWJsZSBjb25zdHJ1Y3RvclxuICAgKiBAcmV0dXJuIHtPYnNlcnZhYmxlfSBhIG5ldyBvYnNlcnZhYmxlXG4gICAqIEBub2NvbGxhcHNlXG4gICAqIEBkZXByZWNhdGVkIFVzZSBgbmV3IE9ic2VydmFibGUoKWAgaW5zdGVhZC4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICAgKi9cbiAgc3RhdGljIGNyZWF0ZTogKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkgPSA8VD4oc3Vic2NyaWJlPzogKHN1YnNjcmliZXI6IFN1YnNjcmliZXI8VD4pID0+IFRlYXJkb3duTG9naWMpID0+IHtcbiAgICByZXR1cm4gbmV3IE9ic2VydmFibGU8VD4oc3Vic2NyaWJlKTtcbiAgfTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBPYnNlcnZhYmxlLCB3aXRoIHRoaXMgT2JzZXJ2YWJsZSBpbnN0YW5jZSBhcyB0aGUgc291cmNlLCBhbmQgdGhlIHBhc3NlZFxuICAgKiBvcGVyYXRvciBkZWZpbmVkIGFzIHRoZSBuZXcgb2JzZXJ2YWJsZSdzIG9wZXJhdG9yLlxuICAgKiBAbWV0aG9kIGxpZnRcbiAgICogQHBhcmFtIG9wZXJhdG9yIHRoZSBvcGVyYXRvciBkZWZpbmluZyB0aGUgb3BlcmF0aW9uIHRvIHRha2Ugb24gdGhlIG9ic2VydmFibGVcbiAgICogQHJldHVybiBhIG5ldyBvYnNlcnZhYmxlIHdpdGggdGhlIE9wZXJhdG9yIGFwcGxpZWRcbiAgICogQGRlcHJlY2F0ZWQgSW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZGV0YWlsLCBkbyBub3QgdXNlIGRpcmVjdGx5LiBXaWxsIGJlIG1hZGUgaW50ZXJuYWwgaW4gdjguXG4gICAqIElmIHlvdSBoYXZlIGltcGxlbWVudGVkIGFuIG9wZXJhdG9yIHVzaW5nIGBsaWZ0YCwgaXQgaXMgcmVjb21tZW5kZWQgdGhhdCB5b3UgY3JlYXRlIGFuXG4gICAqIG9wZXJhdG9yIGJ5IHNpbXBseSByZXR1cm5pbmcgYG5ldyBPYnNlcnZhYmxlKClgIGRpcmVjdGx5LiBTZWUgXCJDcmVhdGluZyBuZXcgb3BlcmF0b3JzIGZyb21cbiAgICogc2NyYXRjaFwiIHNlY3Rpb24gaGVyZTogaHR0cHM6Ly9yeGpzLmRldi9ndWlkZS9vcGVyYXRvcnNcbiAgICovXG4gIGxpZnQ8Uj4ob3BlcmF0b3I/OiBPcGVyYXRvcjxULCBSPik6IE9ic2VydmFibGU8Uj4ge1xuICAgIGNvbnN0IG9ic2VydmFibGUgPSBuZXcgT2JzZXJ2YWJsZTxSPigpO1xuICAgIG9ic2VydmFibGUuc291cmNlID0gdGhpcztcbiAgICBvYnNlcnZhYmxlLm9wZXJhdG9yID0gb3BlcmF0b3I7XG4gICAgcmV0dXJuIG9ic2VydmFibGU7XG4gIH1cblxuICBzdWJzY3JpYmUob2JzZXJ2ZXJPck5leHQ/OiBQYXJ0aWFsPE9ic2VydmVyPFQ+PiB8ICgodmFsdWU6IFQpID0+IHZvaWQpKTogU3Vic2NyaXB0aW9uO1xuICAvKiogQGRlcHJlY2F0ZWQgSW5zdGVhZCBvZiBwYXNzaW5nIHNlcGFyYXRlIGNhbGxiYWNrIGFyZ3VtZW50cywgdXNlIGFuIG9ic2VydmVyIGFyZ3VtZW50LiBTaWduYXR1cmVzIHRha2luZyBzZXBhcmF0ZSBjYWxsYmFjayBhcmd1bWVudHMgd2lsbCBiZSByZW1vdmVkIGluIHY4LiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9zdWJzY3JpYmUtYXJndW1lbnRzICovXG4gIHN1YnNjcmliZShuZXh0PzogKCh2YWx1ZTogVCkgPT4gdm9pZCkgfCBudWxsLCBlcnJvcj86ICgoZXJyb3I6IGFueSkgPT4gdm9pZCkgfCBudWxsLCBjb21wbGV0ZT86ICgoKSA9PiB2b2lkKSB8IG51bGwpOiBTdWJzY3JpcHRpb247XG4gIC8qKlxuICAgKiBJbnZva2VzIGFuIGV4ZWN1dGlvbiBvZiBhbiBPYnNlcnZhYmxlIGFuZCByZWdpc3RlcnMgT2JzZXJ2ZXIgaGFuZGxlcnMgZm9yIG5vdGlmaWNhdGlvbnMgaXQgd2lsbCBlbWl0LlxuICAgKlxuICAgKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+VXNlIGl0IHdoZW4geW91IGhhdmUgYWxsIHRoZXNlIE9ic2VydmFibGVzLCBidXQgc3RpbGwgbm90aGluZyBpcyBoYXBwZW5pbmcuPC9zcGFuPlxuICAgKlxuICAgKiBgc3Vic2NyaWJlYCBpcyBub3QgYSByZWd1bGFyIG9wZXJhdG9yLCBidXQgYSBtZXRob2QgdGhhdCBjYWxscyBPYnNlcnZhYmxlJ3MgaW50ZXJuYWwgYHN1YnNjcmliZWAgZnVuY3Rpb24uIEl0XG4gICAqIG1pZ2h0IGJlIGZvciBleGFtcGxlIGEgZnVuY3Rpb24gdGhhdCB5b3UgcGFzc2VkIHRvIE9ic2VydmFibGUncyBjb25zdHJ1Y3RvciwgYnV0IG1vc3Qgb2YgdGhlIHRpbWUgaXQgaXNcbiAgICogYSBsaWJyYXJ5IGltcGxlbWVudGF0aW9uLCB3aGljaCBkZWZpbmVzIHdoYXQgd2lsbCBiZSBlbWl0dGVkIGJ5IGFuIE9ic2VydmFibGUsIGFuZCB3aGVuIGl0IGJlIHdpbGwgZW1pdHRlZC4gVGhpcyBtZWFuc1xuICAgKiB0aGF0IGNhbGxpbmcgYHN1YnNjcmliZWAgaXMgYWN0dWFsbHkgdGhlIG1vbWVudCB3aGVuIE9ic2VydmFibGUgc3RhcnRzIGl0cyB3b3JrLCBub3Qgd2hlbiBpdCBpcyBjcmVhdGVkLCBhcyBpdCBpcyBvZnRlblxuICAgKiB0aGUgdGhvdWdodC5cbiAgICpcbiAgICogQXBhcnQgZnJvbSBzdGFydGluZyB0aGUgZXhlY3V0aW9uIG9mIGFuIE9ic2VydmFibGUsIHRoaXMgbWV0aG9kIGFsbG93cyB5b3UgdG8gbGlzdGVuIGZvciB2YWx1ZXNcbiAgICogdGhhdCBhbiBPYnNlcnZhYmxlIGVtaXRzLCBhcyB3ZWxsIGFzIGZvciB3aGVuIGl0IGNvbXBsZXRlcyBvciBlcnJvcnMuIFlvdSBjYW4gYWNoaWV2ZSB0aGlzIGluIHR3b1xuICAgKiBvZiB0aGUgZm9sbG93aW5nIHdheXMuXG4gICAqXG4gICAqIFRoZSBmaXJzdCB3YXkgaXMgY3JlYXRpbmcgYW4gb2JqZWN0IHRoYXQgaW1wbGVtZW50cyB7QGxpbmsgT2JzZXJ2ZXJ9IGludGVyZmFjZS4gSXQgc2hvdWxkIGhhdmUgbWV0aG9kc1xuICAgKiBkZWZpbmVkIGJ5IHRoYXQgaW50ZXJmYWNlLCBidXQgbm90ZSB0aGF0IGl0IHNob3VsZCBiZSBqdXN0IGEgcmVndWxhciBKYXZhU2NyaXB0IG9iamVjdCwgd2hpY2ggeW91IGNhbiBjcmVhdGVcbiAgICogeW91cnNlbGYgaW4gYW55IHdheSB5b3Ugd2FudCAoRVM2IGNsYXNzLCBjbGFzc2ljIGZ1bmN0aW9uIGNvbnN0cnVjdG9yLCBvYmplY3QgbGl0ZXJhbCBldGMuKS4gSW4gcGFydGljdWxhciwgZG9cbiAgICogbm90IGF0dGVtcHQgdG8gdXNlIGFueSBSeEpTIGltcGxlbWVudGF0aW9uIGRldGFpbHMgdG8gY3JlYXRlIE9ic2VydmVycyAtIHlvdSBkb24ndCBuZWVkIHRoZW0uIFJlbWVtYmVyIGFsc29cbiAgICogdGhhdCB5b3VyIG9iamVjdCBkb2VzIG5vdCBoYXZlIHRvIGltcGxlbWVudCBhbGwgbWV0aG9kcy4gSWYgeW91IGZpbmQgeW91cnNlbGYgY3JlYXRpbmcgYSBtZXRob2QgdGhhdCBkb2Vzbid0XG4gICAqIGRvIGFueXRoaW5nLCB5b3UgY2FuIHNpbXBseSBvbWl0IGl0LiBOb3RlIGhvd2V2ZXIsIGlmIHRoZSBgZXJyb3JgIG1ldGhvZCBpcyBub3QgcHJvdmlkZWQgYW5kIGFuIGVycm9yIGhhcHBlbnMsXG4gICAqIGl0IHdpbGwgYmUgdGhyb3duIGFzeW5jaHJvbm91c2x5LiBFcnJvcnMgdGhyb3duIGFzeW5jaHJvbm91c2x5IGNhbm5vdCBiZSBjYXVnaHQgdXNpbmcgYHRyeWAvYGNhdGNoYC4gSW5zdGVhZCxcbiAgICogdXNlIHRoZSB7QGxpbmsgb25VbmhhbmRsZWRFcnJvcn0gY29uZmlndXJhdGlvbiBvcHRpb24gb3IgdXNlIGEgcnVudGltZSBoYW5kbGVyIChsaWtlIGB3aW5kb3cub25lcnJvcmAgb3JcbiAgICogYHByb2Nlc3Mub24oJ2Vycm9yKWApIHRvIGJlIG5vdGlmaWVkIG9mIHVuaGFuZGxlZCBlcnJvcnMuIEJlY2F1c2Ugb2YgdGhpcywgaXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBwcm92aWRlXG4gICAqIGFuIGBlcnJvcmAgbWV0aG9kIHRvIGF2b2lkIG1pc3NpbmcgdGhyb3duIGVycm9ycy5cbiAgICpcbiAgICogVGhlIHNlY29uZCB3YXkgaXMgdG8gZ2l2ZSB1cCBvbiBPYnNlcnZlciBvYmplY3QgYWx0b2dldGhlciBhbmQgc2ltcGx5IHByb3ZpZGUgY2FsbGJhY2sgZnVuY3Rpb25zIGluIHBsYWNlIG9mIGl0cyBtZXRob2RzLlxuICAgKiBUaGlzIG1lYW5zIHlvdSBjYW4gcHJvdmlkZSB0aHJlZSBmdW5jdGlvbnMgYXMgYXJndW1lbnRzIHRvIGBzdWJzY3JpYmVgLCB3aGVyZSB0aGUgZmlyc3QgZnVuY3Rpb24gaXMgZXF1aXZhbGVudFxuICAgKiBvZiBhIGBuZXh0YCBtZXRob2QsIHRoZSBzZWNvbmQgb2YgYW4gYGVycm9yYCBtZXRob2QgYW5kIHRoZSB0aGlyZCBvZiBhIGBjb21wbGV0ZWAgbWV0aG9kLiBKdXN0IGFzIGluIGNhc2Ugb2YgYW4gT2JzZXJ2ZXIsXG4gICAqIGlmIHlvdSBkbyBub3QgbmVlZCB0byBsaXN0ZW4gZm9yIHNvbWV0aGluZywgeW91IGNhbiBvbWl0IGEgZnVuY3Rpb24gYnkgcGFzc2luZyBgdW5kZWZpbmVkYCBvciBgbnVsbGAsXG4gICAqIHNpbmNlIGBzdWJzY3JpYmVgIHJlY29nbml6ZXMgdGhlc2UgZnVuY3Rpb25zIGJ5IHdoZXJlIHRoZXkgd2VyZSBwbGFjZWQgaW4gZnVuY3Rpb24gY2FsbC4gV2hlbiBpdCBjb21lc1xuICAgKiB0byB0aGUgYGVycm9yYCBmdW5jdGlvbiwgYXMgd2l0aCBhbiBPYnNlcnZlciwgaWYgbm90IHByb3ZpZGVkLCBlcnJvcnMgZW1pdHRlZCBieSBhbiBPYnNlcnZhYmxlIHdpbGwgYmUgdGhyb3duIGFzeW5jaHJvbm91c2x5LlxuICAgKlxuICAgKiBZb3UgY2FuLCBob3dldmVyLCBzdWJzY3JpYmUgd2l0aCBubyBwYXJhbWV0ZXJzIGF0IGFsbC4gVGhpcyBtYXkgYmUgdGhlIGNhc2Ugd2hlcmUgeW91J3JlIG5vdCBpbnRlcmVzdGVkIGluIHRlcm1pbmFsIGV2ZW50c1xuICAgKiBhbmQgeW91IGFsc28gaGFuZGxlZCBlbWlzc2lvbnMgaW50ZXJuYWxseSBieSB1c2luZyBvcGVyYXRvcnMgKGUuZy4gdXNpbmcgYHRhcGApLlxuICAgKlxuICAgKiBXaGljaGV2ZXIgc3R5bGUgb2YgY2FsbGluZyBgc3Vic2NyaWJlYCB5b3UgdXNlLCBpbiBib3RoIGNhc2VzIGl0IHJldHVybnMgYSBTdWJzY3JpcHRpb24gb2JqZWN0LlxuICAgKiBUaGlzIG9iamVjdCBhbGxvd3MgeW91IHRvIGNhbGwgYHVuc3Vic2NyaWJlYCBvbiBpdCwgd2hpY2ggaW4gdHVybiB3aWxsIHN0b3AgdGhlIHdvcmsgdGhhdCBhbiBPYnNlcnZhYmxlIGRvZXMgYW5kIHdpbGwgY2xlYW5cbiAgICogdXAgYWxsIHJlc291cmNlcyB0aGF0IGFuIE9ic2VydmFibGUgdXNlZC4gTm90ZSB0aGF0IGNhbmNlbGxpbmcgYSBzdWJzY3JpcHRpb24gd2lsbCBub3QgY2FsbCBgY29tcGxldGVgIGNhbGxiYWNrXG4gICAqIHByb3ZpZGVkIHRvIGBzdWJzY3JpYmVgIGZ1bmN0aW9uLCB3aGljaCBpcyByZXNlcnZlZCBmb3IgYSByZWd1bGFyIGNvbXBsZXRpb24gc2lnbmFsIHRoYXQgY29tZXMgZnJvbSBhbiBPYnNlcnZhYmxlLlxuICAgKlxuICAgKiBSZW1lbWJlciB0aGF0IGNhbGxiYWNrcyBwcm92aWRlZCB0byBgc3Vic2NyaWJlYCBhcmUgbm90IGd1YXJhbnRlZWQgdG8gYmUgY2FsbGVkIGFzeW5jaHJvbm91c2x5LlxuICAgKiBJdCBpcyBhbiBPYnNlcnZhYmxlIGl0c2VsZiB0aGF0IGRlY2lkZXMgd2hlbiB0aGVzZSBmdW5jdGlvbnMgd2lsbCBiZSBjYWxsZWQuIEZvciBleGFtcGxlIHtAbGluayBvZn1cbiAgICogYnkgZGVmYXVsdCBlbWl0cyBhbGwgaXRzIHZhbHVlcyBzeW5jaHJvbm91c2x5LiBBbHdheXMgY2hlY2sgZG9jdW1lbnRhdGlvbiBmb3IgaG93IGdpdmVuIE9ic2VydmFibGVcbiAgICogd2lsbCBiZWhhdmUgd2hlbiBzdWJzY3JpYmVkIGFuZCBpZiBpdHMgZGVmYXVsdCBiZWhhdmlvciBjYW4gYmUgbW9kaWZpZWQgd2l0aCBhIGBzY2hlZHVsZXJgLlxuICAgKlxuICAgKiAjIyMjIEV4YW1wbGVzXG4gICAqXG4gICAqIFN1YnNjcmliZSB3aXRoIGFuIHtAbGluayBndWlkZS9vYnNlcnZlciBPYnNlcnZlcn1cbiAgICpcbiAgICogYGBgdHNcbiAgICogaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJztcbiAgICpcbiAgICogY29uc3Qgc3VtT2JzZXJ2ZXIgPSB7XG4gICAqICAgc3VtOiAwLFxuICAgKiAgIG5leHQodmFsdWUpIHtcbiAgICogICAgIGNvbnNvbGUubG9nKCdBZGRpbmc6ICcgKyB2YWx1ZSk7XG4gICAqICAgICB0aGlzLnN1bSA9IHRoaXMuc3VtICsgdmFsdWU7XG4gICAqICAgfSxcbiAgICogICBlcnJvcigpIHtcbiAgICogICAgIC8vIFdlIGFjdHVhbGx5IGNvdWxkIGp1c3QgcmVtb3ZlIHRoaXMgbWV0aG9kLFxuICAgKiAgICAgLy8gc2luY2Ugd2UgZG8gbm90IHJlYWxseSBjYXJlIGFib3V0IGVycm9ycyByaWdodCBub3cuXG4gICAqICAgfSxcbiAgICogICBjb21wbGV0ZSgpIHtcbiAgICogICAgIGNvbnNvbGUubG9nKCdTdW0gZXF1YWxzOiAnICsgdGhpcy5zdW0pO1xuICAgKiAgIH1cbiAgICogfTtcbiAgICpcbiAgICogb2YoMSwgMiwgMykgLy8gU3luY2hyb25vdXNseSBlbWl0cyAxLCAyLCAzIGFuZCB0aGVuIGNvbXBsZXRlcy5cbiAgICogICAuc3Vic2NyaWJlKHN1bU9ic2VydmVyKTtcbiAgICpcbiAgICogLy8gTG9nczpcbiAgICogLy8gJ0FkZGluZzogMSdcbiAgICogLy8gJ0FkZGluZzogMidcbiAgICogLy8gJ0FkZGluZzogMydcbiAgICogLy8gJ1N1bSBlcXVhbHM6IDYnXG4gICAqIGBgYFxuICAgKlxuICAgKiBTdWJzY3JpYmUgd2l0aCBmdW5jdGlvbnMgKHtAbGluayBkZXByZWNhdGlvbnMvc3Vic2NyaWJlLWFyZ3VtZW50cyBkZXByZWNhdGVkfSlcbiAgICpcbiAgICogYGBgdHNcbiAgICogaW1wb3J0IHsgb2YgfSBmcm9tICdyeGpzJ1xuICAgKlxuICAgKiBsZXQgc3VtID0gMDtcbiAgICpcbiAgICogb2YoMSwgMiwgMykuc3Vic2NyaWJlKFxuICAgKiAgIHZhbHVlID0+IHtcbiAgICogICAgIGNvbnNvbGUubG9nKCdBZGRpbmc6ICcgKyB2YWx1ZSk7XG4gICAqICAgICBzdW0gPSBzdW0gKyB2YWx1ZTtcbiAgICogICB9LFxuICAgKiAgIHVuZGVmaW5lZCxcbiAgICogICAoKSA9PiBjb25zb2xlLmxvZygnU3VtIGVxdWFsczogJyArIHN1bSlcbiAgICogKTtcbiAgICpcbiAgICogLy8gTG9nczpcbiAgICogLy8gJ0FkZGluZzogMSdcbiAgICogLy8gJ0FkZGluZzogMidcbiAgICogLy8gJ0FkZGluZzogMydcbiAgICogLy8gJ1N1bSBlcXVhbHM6IDYnXG4gICAqIGBgYFxuICAgKlxuICAgKiBDYW5jZWwgYSBzdWJzY3JpcHRpb25cbiAgICpcbiAgICogYGBgdHNcbiAgICogaW1wb3J0IHsgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcbiAgICpcbiAgICogY29uc3Qgc3Vic2NyaXB0aW9uID0gaW50ZXJ2YWwoMTAwMCkuc3Vic2NyaWJlKHtcbiAgICogICBuZXh0KG51bSkge1xuICAgKiAgICAgY29uc29sZS5sb2cobnVtKVxuICAgKiAgIH0sXG4gICAqICAgY29tcGxldGUoKSB7XG4gICAqICAgICAvLyBXaWxsIG5vdCBiZSBjYWxsZWQsIGV2ZW4gd2hlbiBjYW5jZWxsaW5nIHN1YnNjcmlwdGlvbi5cbiAgICogICAgIGNvbnNvbGUubG9nKCdjb21wbGV0ZWQhJyk7XG4gICAqICAgfVxuICAgKiB9KTtcbiAgICpcbiAgICogc2V0VGltZW91dCgoKSA9PiB7XG4gICAqICAgc3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAqICAgY29uc29sZS5sb2coJ3Vuc3Vic2NyaWJlZCEnKTtcbiAgICogfSwgMjUwMCk7XG4gICAqXG4gICAqIC8vIExvZ3M6XG4gICAqIC8vIDAgYWZ0ZXIgMXNcbiAgICogLy8gMSBhZnRlciAyc1xuICAgKiAvLyAndW5zdWJzY3JpYmVkIScgYWZ0ZXIgMi41c1xuICAgKiBgYGBcbiAgICpcbiAgICogQHBhcmFtIHtPYnNlcnZlcnxGdW5jdGlvbn0gb2JzZXJ2ZXJPck5leHQgKG9wdGlvbmFsKSBFaXRoZXIgYW4gb2JzZXJ2ZXIgd2l0aCBtZXRob2RzIHRvIGJlIGNhbGxlZCxcbiAgICogb3IgdGhlIGZpcnN0IG9mIHRocmVlIHBvc3NpYmxlIGhhbmRsZXJzLCB3aGljaCBpcyB0aGUgaGFuZGxlciBmb3IgZWFjaCB2YWx1ZSBlbWl0dGVkIGZyb20gdGhlIHN1YnNjcmliZWRcbiAgICogT2JzZXJ2YWJsZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gZXJyb3IgKG9wdGlvbmFsKSBBIGhhbmRsZXIgZm9yIGEgdGVybWluYWwgZXZlbnQgcmVzdWx0aW5nIGZyb20gYW4gZXJyb3IuIElmIG5vIGVycm9yIGhhbmRsZXIgaXMgcHJvdmlkZWQsXG4gICAqIHRoZSBlcnJvciB3aWxsIGJlIHRocm93biBhc3luY2hyb25vdXNseSBhcyB1bmhhbmRsZWQuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IGNvbXBsZXRlIChvcHRpb25hbCkgQSBoYW5kbGVyIGZvciBhIHRlcm1pbmFsIGV2ZW50IHJlc3VsdGluZyBmcm9tIHN1Y2Nlc3NmdWwgY29tcGxldGlvbi5cbiAgICogQHJldHVybiB7U3Vic2NyaXB0aW9ufSBhIHN1YnNjcmlwdGlvbiByZWZlcmVuY2UgdG8gdGhlIHJlZ2lzdGVyZWQgaGFuZGxlcnNcbiAgICogQG1ldGhvZCBzdWJzY3JpYmVcbiAgICovXG4gIHN1YnNjcmliZShcbiAgICBvYnNlcnZlck9yTmV4dD86IFBhcnRpYWw8T2JzZXJ2ZXI8VD4+IHwgKCh2YWx1ZTogVCkgPT4gdm9pZCkgfCBudWxsLFxuICAgIGVycm9yPzogKChlcnJvcjogYW55KSA9PiB2b2lkKSB8IG51bGwsXG4gICAgY29tcGxldGU/OiAoKCkgPT4gdm9pZCkgfCBudWxsXG4gICk6IFN1YnNjcmlwdGlvbiB7XG4gICAgY29uc3Qgc3Vic2NyaWJlciA9IGlzU3Vic2NyaWJlcihvYnNlcnZlck9yTmV4dCkgPyBvYnNlcnZlck9yTmV4dCA6IG5ldyBTYWZlU3Vic2NyaWJlcihvYnNlcnZlck9yTmV4dCwgZXJyb3IsIGNvbXBsZXRlKTtcblxuICAgIGVycm9yQ29udGV4dCgoKSA9PiB7XG4gICAgICBjb25zdCB7IG9wZXJhdG9yLCBzb3VyY2UgfSA9IHRoaXM7XG4gICAgICBzdWJzY3JpYmVyLmFkZChcbiAgICAgICAgb3BlcmF0b3JcbiAgICAgICAgICA/IC8vIFdlJ3JlIGRlYWxpbmcgd2l0aCBhIHN1YnNjcmlwdGlvbiBpbiB0aGVcbiAgICAgICAgICAgIC8vIG9wZXJhdG9yIGNoYWluIHRvIG9uZSBvZiBvdXIgbGlmdGVkIG9wZXJhdG9ycy5cbiAgICAgICAgICAgIG9wZXJhdG9yLmNhbGwoc3Vic2NyaWJlciwgc291cmNlKVxuICAgICAgICAgIDogc291cmNlXG4gICAgICAgICAgPyAvLyBJZiBgc291cmNlYCBoYXMgYSB2YWx1ZSwgYnV0IGBvcGVyYXRvcmAgZG9lcyBub3QsIHNvbWV0aGluZyB0aGF0XG4gICAgICAgICAgICAvLyBoYWQgaW50aW1hdGUga25vd2xlZGdlIG9mIG91ciBBUEksIGxpa2Ugb3VyIGBTdWJqZWN0YCwgbXVzdCBoYXZlXG4gICAgICAgICAgICAvLyBzZXQgaXQuIFdlJ3JlIGdvaW5nIHRvIGp1c3QgY2FsbCBgX3N1YnNjcmliZWAgZGlyZWN0bHkuXG4gICAgICAgICAgICB0aGlzLl9zdWJzY3JpYmUoc3Vic2NyaWJlcilcbiAgICAgICAgICA6IC8vIEluIGFsbCBvdGhlciBjYXNlcywgd2UncmUgbGlrZWx5IHdyYXBwaW5nIGEgdXNlci1wcm92aWRlZCBpbml0aWFsaXplclxuICAgICAgICAgICAgLy8gZnVuY3Rpb24sIHNvIHdlIG5lZWQgdG8gY2F0Y2ggZXJyb3JzIGFuZCBoYW5kbGUgdGhlbSBhcHByb3ByaWF0ZWx5LlxuICAgICAgICAgICAgdGhpcy5fdHJ5U3Vic2NyaWJlKHN1YnNjcmliZXIpXG4gICAgICApO1xuICAgIH0pO1xuXG4gICAgcmV0dXJuIHN1YnNjcmliZXI7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBfdHJ5U3Vic2NyaWJlKHNpbms6IFN1YnNjcmliZXI8VD4pOiBUZWFyZG93bkxvZ2ljIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHRoaXMuX3N1YnNjcmliZShzaW5rKTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIC8vIFdlIGRvbid0IG5lZWQgdG8gcmV0dXJuIGFueXRoaW5nIGluIHRoaXMgY2FzZSxcbiAgICAgIC8vIGJlY2F1c2UgaXQncyBqdXN0IGdvaW5nIHRvIHRyeSB0byBgYWRkKClgIHRvIGEgc3Vic2NyaXB0aW9uXG4gICAgICAvLyBhYm92ZS5cbiAgICAgIHNpbmsuZXJyb3IoZXJyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXNlZCBhcyBhIE5PTi1DQU5DRUxMQUJMRSBtZWFucyBvZiBzdWJzY3JpYmluZyB0byBhbiBvYnNlcnZhYmxlLCBmb3IgdXNlIHdpdGhcbiAgICogQVBJcyB0aGF0IGV4cGVjdCBwcm9taXNlcywgbGlrZSBgYXN5bmMvYXdhaXRgLiBZb3UgY2Fubm90IHVuc3Vic2NyaWJlIGZyb20gdGhpcy5cbiAgICpcbiAgICogKipXQVJOSU5HKio6IE9ubHkgdXNlIHRoaXMgd2l0aCBvYnNlcnZhYmxlcyB5b3UgKmtub3cqIHdpbGwgY29tcGxldGUuIElmIHRoZSBzb3VyY2VcbiAgICogb2JzZXJ2YWJsZSBkb2VzIG5vdCBjb21wbGV0ZSwgeW91IHdpbGwgZW5kIHVwIHdpdGggYSBwcm9taXNlIHRoYXQgaXMgaHVuZyB1cCwgYW5kXG4gICAqIHBvdGVudGlhbGx5IGFsbCBvZiB0aGUgc3RhdGUgb2YgYW4gYXN5bmMgZnVuY3Rpb24gaGFuZ2luZyBvdXQgaW4gbWVtb3J5LiBUbyBhdm9pZFxuICAgKiB0aGlzIHNpdHVhdGlvbiwgbG9vayBpbnRvIGFkZGluZyBzb21ldGhpbmcgbGlrZSB7QGxpbmsgdGltZW91dH0sIHtAbGluayB0YWtlfSxcbiAgICoge0BsaW5rIHRha2VXaGlsZX0sIG9yIHtAbGluayB0YWtlVW50aWx9IGFtb25nc3Qgb3RoZXJzLlxuICAgKlxuICAgKiAjIyMjIEV4YW1wbGVcbiAgICpcbiAgICogYGBgdHNcbiAgICogaW1wb3J0IHsgaW50ZXJ2YWwsIHRha2UgfSBmcm9tICdyeGpzJztcbiAgICpcbiAgICogY29uc3Qgc291cmNlJCA9IGludGVydmFsKDEwMDApLnBpcGUodGFrZSg0KSk7XG4gICAqXG4gICAqIGFzeW5jIGZ1bmN0aW9uIGdldFRvdGFsKCkge1xuICAgKiAgIGxldCB0b3RhbCA9IDA7XG4gICAqXG4gICAqICAgYXdhaXQgc291cmNlJC5mb3JFYWNoKHZhbHVlID0+IHtcbiAgICogICAgIHRvdGFsICs9IHZhbHVlO1xuICAgKiAgICAgY29uc29sZS5sb2coJ29ic2VydmFibGUgLT4gJyArIHZhbHVlKTtcbiAgICogICB9KTtcbiAgICpcbiAgICogICByZXR1cm4gdG90YWw7XG4gICAqIH1cbiAgICpcbiAgICogZ2V0VG90YWwoKS50aGVuKFxuICAgKiAgIHRvdGFsID0+IGNvbnNvbGUubG9nKCdUb3RhbDogJyArIHRvdGFsKVxuICAgKiApO1xuICAgKlxuICAgKiAvLyBFeHBlY3RlZDpcbiAgICogLy8gJ29ic2VydmFibGUgLT4gMCdcbiAgICogLy8gJ29ic2VydmFibGUgLT4gMSdcbiAgICogLy8gJ29ic2VydmFibGUgLT4gMidcbiAgICogLy8gJ29ic2VydmFibGUgLT4gMydcbiAgICogLy8gJ1RvdGFsOiA2J1xuICAgKiBgYGBcbiAgICpcbiAgICogQHBhcmFtIG5leHQgYSBoYW5kbGVyIGZvciBlYWNoIHZhbHVlIGVtaXR0ZWQgYnkgdGhlIG9ic2VydmFibGVcbiAgICogQHJldHVybiBhIHByb21pc2UgdGhhdCBlaXRoZXIgcmVzb2x2ZXMgb24gb2JzZXJ2YWJsZSBjb21wbGV0aW9uIG9yXG4gICAqICByZWplY3RzIHdpdGggdGhlIGhhbmRsZWQgZXJyb3JcbiAgICovXG4gIGZvckVhY2gobmV4dDogKHZhbHVlOiBUKSA9PiB2b2lkKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogQHBhcmFtIG5leHQgYSBoYW5kbGVyIGZvciBlYWNoIHZhbHVlIGVtaXR0ZWQgYnkgdGhlIG9ic2VydmFibGVcbiAgICogQHBhcmFtIHByb21pc2VDdG9yIGEgY29uc3RydWN0b3IgZnVuY3Rpb24gdXNlZCB0byBpbnN0YW50aWF0ZSB0aGUgUHJvbWlzZVxuICAgKiBAcmV0dXJuIGEgcHJvbWlzZSB0aGF0IGVpdGhlciByZXNvbHZlcyBvbiBvYnNlcnZhYmxlIGNvbXBsZXRpb24gb3JcbiAgICogIHJlamVjdHMgd2l0aCB0aGUgaGFuZGxlZCBlcnJvclxuICAgKiBAZGVwcmVjYXRlZCBQYXNzaW5nIGEgUHJvbWlzZSBjb25zdHJ1Y3RvciB3aWxsIG5vIGxvbmdlciBiZSBhdmFpbGFibGVcbiAgICogaW4gdXBjb21pbmcgdmVyc2lvbnMgb2YgUnhKUy4gVGhpcyBpcyBiZWNhdXNlIGl0IGFkZHMgd2VpZ2h0IHRvIHRoZSBsaWJyYXJ5LCBmb3IgdmVyeVxuICAgKiBsaXR0bGUgYmVuZWZpdC4gSWYgeW91IG5lZWQgdGhpcyBmdW5jdGlvbmFsaXR5LCBpdCBpcyByZWNvbW1lbmRlZCB0aGF0IHlvdSBlaXRoZXJcbiAgICogcG9seWZpbGwgUHJvbWlzZSwgb3IgeW91IGNyZWF0ZSBhbiBhZGFwdGVyIHRvIGNvbnZlcnQgdGhlIHJldHVybmVkIG5hdGl2ZSBwcm9taXNlXG4gICAqIHRvIHdoYXRldmVyIHByb21pc2UgaW1wbGVtZW50YXRpb24geW91IHdhbnRlZC4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICAgKi9cbiAgZm9yRWFjaChuZXh0OiAodmFsdWU6IFQpID0+IHZvaWQsIHByb21pc2VDdG9yOiBQcm9taXNlQ29uc3RydWN0b3JMaWtlKTogUHJvbWlzZTx2b2lkPjtcblxuICBmb3JFYWNoKG5leHQ6ICh2YWx1ZTogVCkgPT4gdm9pZCwgcHJvbWlzZUN0b3I/OiBQcm9taXNlQ29uc3RydWN0b3JMaWtlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcHJvbWlzZUN0b3IgPSBnZXRQcm9taXNlQ3Rvcihwcm9taXNlQ3Rvcik7XG5cbiAgICByZXR1cm4gbmV3IHByb21pc2VDdG9yPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHN1YnNjcmliZXIgPSBuZXcgU2FmZVN1YnNjcmliZXI8VD4oe1xuICAgICAgICBuZXh0OiAodmFsdWUpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgbmV4dCh2YWx1ZSk7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yOiByZWplY3QsXG4gICAgICAgIGNvbXBsZXRlOiByZXNvbHZlLFxuICAgICAgfSk7XG4gICAgICB0aGlzLnN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgICB9KSBhcyBQcm9taXNlPHZvaWQ+O1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgX3N1YnNjcmliZShzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPGFueT4pOiBUZWFyZG93bkxvZ2ljIHtcbiAgICByZXR1cm4gdGhpcy5zb3VyY2U/LnN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBbiBpbnRlcm9wIHBvaW50IGRlZmluZWQgYnkgdGhlIGVzNy1vYnNlcnZhYmxlIHNwZWMgaHR0cHM6Ly9naXRodWIuY29tL3plbnBhcnNpbmcvZXMtb2JzZXJ2YWJsZVxuICAgKiBAbWV0aG9kIFN5bWJvbC5vYnNlcnZhYmxlXG4gICAqIEByZXR1cm4ge09ic2VydmFibGV9IHRoaXMgaW5zdGFuY2Ugb2YgdGhlIG9ic2VydmFibGVcbiAgICovXG4gIFtTeW1ib2xfb2JzZXJ2YWJsZV0oKSB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKiB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGggKi9cbiAgcGlwZSgpOiBPYnNlcnZhYmxlPFQ+O1xuICBwaXBlPEE+KG9wMTogT3BlcmF0b3JGdW5jdGlvbjxULCBBPik6IE9ic2VydmFibGU8QT47XG4gIHBpcGU8QSwgQj4ob3AxOiBPcGVyYXRvckZ1bmN0aW9uPFQsIEE+LCBvcDI6IE9wZXJhdG9yRnVuY3Rpb248QSwgQj4pOiBPYnNlcnZhYmxlPEI+O1xuICBwaXBlPEEsIEIsIEM+KG9wMTogT3BlcmF0b3JGdW5jdGlvbjxULCBBPiwgb3AyOiBPcGVyYXRvckZ1bmN0aW9uPEEsIEI+LCBvcDM6IE9wZXJhdG9yRnVuY3Rpb248QiwgQz4pOiBPYnNlcnZhYmxlPEM+O1xuICBwaXBlPEEsIEIsIEMsIEQ+KFxuICAgIG9wMTogT3BlcmF0b3JGdW5jdGlvbjxULCBBPixcbiAgICBvcDI6IE9wZXJhdG9yRnVuY3Rpb248QSwgQj4sXG4gICAgb3AzOiBPcGVyYXRvckZ1bmN0aW9uPEIsIEM+LFxuICAgIG9wNDogT3BlcmF0b3JGdW5jdGlvbjxDLCBEPlxuICApOiBPYnNlcnZhYmxlPEQ+O1xuICBwaXBlPEEsIEIsIEMsIEQsIEU+KFxuICAgIG9wMTogT3BlcmF0b3JGdW5jdGlvbjxULCBBPixcbiAgICBvcDI6IE9wZXJhdG9yRnVuY3Rpb248QSwgQj4sXG4gICAgb3AzOiBPcGVyYXRvckZ1bmN0aW9uPEIsIEM+LFxuICAgIG9wNDogT3BlcmF0b3JGdW5jdGlvbjxDLCBEPixcbiAgICBvcDU6IE9wZXJhdG9yRnVuY3Rpb248RCwgRT5cbiAgKTogT2JzZXJ2YWJsZTxFPjtcbiAgcGlwZTxBLCBCLCBDLCBELCBFLCBGPihcbiAgICBvcDE6IE9wZXJhdG9yRnVuY3Rpb248VCwgQT4sXG4gICAgb3AyOiBPcGVyYXRvckZ1bmN0aW9uPEEsIEI+LFxuICAgIG9wMzogT3BlcmF0b3JGdW5jdGlvbjxCLCBDPixcbiAgICBvcDQ6IE9wZXJhdG9yRnVuY3Rpb248QywgRD4sXG4gICAgb3A1OiBPcGVyYXRvckZ1bmN0aW9uPEQsIEU+LFxuICAgIG9wNjogT3BlcmF0b3JGdW5jdGlvbjxFLCBGPlxuICApOiBPYnNlcnZhYmxlPEY+O1xuICBwaXBlPEEsIEIsIEMsIEQsIEUsIEYsIEc+KFxuICAgIG9wMTogT3BlcmF0b3JGdW5jdGlvbjxULCBBPixcbiAgICBvcDI6IE9wZXJhdG9yRnVuY3Rpb248QSwgQj4sXG4gICAgb3AzOiBPcGVyYXRvckZ1bmN0aW9uPEIsIEM+LFxuICAgIG9wNDogT3BlcmF0b3JGdW5jdGlvbjxDLCBEPixcbiAgICBvcDU6IE9wZXJhdG9yRnVuY3Rpb248RCwgRT4sXG4gICAgb3A2OiBPcGVyYXRvckZ1bmN0aW9uPEUsIEY+LFxuICAgIG9wNzogT3BlcmF0b3JGdW5jdGlvbjxGLCBHPlxuICApOiBPYnNlcnZhYmxlPEc+O1xuICBwaXBlPEEsIEIsIEMsIEQsIEUsIEYsIEcsIEg+KFxuICAgIG9wMTogT3BlcmF0b3JGdW5jdGlvbjxULCBBPixcbiAgICBvcDI6IE9wZXJhdG9yRnVuY3Rpb248QSwgQj4sXG4gICAgb3AzOiBPcGVyYXRvckZ1bmN0aW9uPEIsIEM+LFxuICAgIG9wNDogT3BlcmF0b3JGdW5jdGlvbjxDLCBEPixcbiAgICBvcDU6IE9wZXJhdG9yRnVuY3Rpb248RCwgRT4sXG4gICAgb3A2OiBPcGVyYXRvckZ1bmN0aW9uPEUsIEY+LFxuICAgIG9wNzogT3BlcmF0b3JGdW5jdGlvbjxGLCBHPixcbiAgICBvcDg6IE9wZXJhdG9yRnVuY3Rpb248RywgSD5cbiAgKTogT2JzZXJ2YWJsZTxIPjtcbiAgcGlwZTxBLCBCLCBDLCBELCBFLCBGLCBHLCBILCBJPihcbiAgICBvcDE6IE9wZXJhdG9yRnVuY3Rpb248VCwgQT4sXG4gICAgb3AyOiBPcGVyYXRvckZ1bmN0aW9uPEEsIEI+LFxuICAgIG9wMzogT3BlcmF0b3JGdW5jdGlvbjxCLCBDPixcbiAgICBvcDQ6IE9wZXJhdG9yRnVuY3Rpb248QywgRD4sXG4gICAgb3A1OiBPcGVyYXRvckZ1bmN0aW9uPEQsIEU+LFxuICAgIG9wNjogT3BlcmF0b3JGdW5jdGlvbjxFLCBGPixcbiAgICBvcDc6IE9wZXJhdG9yRnVuY3Rpb248RiwgRz4sXG4gICAgb3A4OiBPcGVyYXRvckZ1bmN0aW9uPEcsIEg+LFxuICAgIG9wOTogT3BlcmF0b3JGdW5jdGlvbjxILCBJPlxuICApOiBPYnNlcnZhYmxlPEk+O1xuICBwaXBlPEEsIEIsIEMsIEQsIEUsIEYsIEcsIEgsIEk+KFxuICAgIG9wMTogT3BlcmF0b3JGdW5jdGlvbjxULCBBPixcbiAgICBvcDI6IE9wZXJhdG9yRnVuY3Rpb248QSwgQj4sXG4gICAgb3AzOiBPcGVyYXRvckZ1bmN0aW9uPEIsIEM+LFxuICAgIG9wNDogT3BlcmF0b3JGdW5jdGlvbjxDLCBEPixcbiAgICBvcDU6IE9wZXJhdG9yRnVuY3Rpb248RCwgRT4sXG4gICAgb3A2OiBPcGVyYXRvckZ1bmN0aW9uPEUsIEY+LFxuICAgIG9wNzogT3BlcmF0b3JGdW5jdGlvbjxGLCBHPixcbiAgICBvcDg6IE9wZXJhdG9yRnVuY3Rpb248RywgSD4sXG4gICAgb3A5OiBPcGVyYXRvckZ1bmN0aW9uPEgsIEk+LFxuICAgIC4uLm9wZXJhdGlvbnM6IE9wZXJhdG9yRnVuY3Rpb248YW55LCBhbnk+W11cbiAgKTogT2JzZXJ2YWJsZTx1bmtub3duPjtcbiAgLyogdHNsaW50OmVuYWJsZTptYXgtbGluZS1sZW5ndGggKi9cblxuICAvKipcbiAgICogVXNlZCB0byBzdGl0Y2ggdG9nZXRoZXIgZnVuY3Rpb25hbCBvcGVyYXRvcnMgaW50byBhIGNoYWluLlxuICAgKiBAbWV0aG9kIHBpcGVcbiAgICogQHJldHVybiB7T2JzZXJ2YWJsZX0gdGhlIE9ic2VydmFibGUgcmVzdWx0IG9mIGFsbCBvZiB0aGUgb3BlcmF0b3JzIGhhdmluZ1xuICAgKiBiZWVuIGNhbGxlZCBpbiB0aGUgb3JkZXIgdGhleSB3ZXJlIHBhc3NlZCBpbi5cbiAgICpcbiAgICogIyMgRXhhbXBsZVxuICAgKlxuICAgKiBgYGB0c1xuICAgKiBpbXBvcnQgeyBpbnRlcnZhbCwgZmlsdGVyLCBtYXAsIHNjYW4gfSBmcm9tICdyeGpzJztcbiAgICpcbiAgICogaW50ZXJ2YWwoMTAwMClcbiAgICogICAucGlwZShcbiAgICogICAgIGZpbHRlcih4ID0+IHggJSAyID09PSAwKSxcbiAgICogICAgIG1hcCh4ID0+IHggKyB4KSxcbiAgICogICAgIHNjYW4oKGFjYywgeCkgPT4gYWNjICsgeClcbiAgICogICApXG4gICAqICAgLnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAgICogYGBgXG4gICAqL1xuICBwaXBlKC4uLm9wZXJhdGlvbnM6IE9wZXJhdG9yRnVuY3Rpb248YW55LCBhbnk+W10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybiBwaXBlRnJvbUFycmF5KG9wZXJhdGlvbnMpKHRoaXMpO1xuICB9XG5cbiAgLyogdHNsaW50OmRpc2FibGU6bWF4LWxpbmUtbGVuZ3RoICovXG4gIC8qKiBAZGVwcmVjYXRlZCBSZXBsYWNlZCB3aXRoIHtAbGluayBmaXJzdFZhbHVlRnJvbX0gYW5kIHtAbGluayBsYXN0VmFsdWVGcm9tfS4gV2lsbCBiZSByZW1vdmVkIGluIHY4LiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy90by1wcm9taXNlICovXG4gIHRvUHJvbWlzZSgpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+O1xuICAvKiogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCB7QGxpbmsgZmlyc3RWYWx1ZUZyb219IGFuZCB7QGxpbmsgbGFzdFZhbHVlRnJvbX0uIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvdG8tcHJvbWlzZSAqL1xuICB0b1Byb21pc2UoUHJvbWlzZUN0b3I6IHR5cGVvZiBQcm9taXNlKTogUHJvbWlzZTxUIHwgdW5kZWZpbmVkPjtcbiAgLyoqIEBkZXByZWNhdGVkIFJlcGxhY2VkIHdpdGgge0BsaW5rIGZpcnN0VmFsdWVGcm9tfSBhbmQge0BsaW5rIGxhc3RWYWx1ZUZyb219LiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguIERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL3RvLXByb21pc2UgKi9cbiAgdG9Qcm9taXNlKFByb21pc2VDdG9yOiBQcm9taXNlQ29uc3RydWN0b3JMaWtlKTogUHJvbWlzZTxUIHwgdW5kZWZpbmVkPjtcbiAgLyogdHNsaW50OmVuYWJsZTptYXgtbGluZS1sZW5ndGggKi9cblxuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIHRoaXMgT2JzZXJ2YWJsZSBhbmQgZ2V0IGEgUHJvbWlzZSByZXNvbHZpbmcgb25cbiAgICogYGNvbXBsZXRlYCB3aXRoIHRoZSBsYXN0IGVtaXNzaW9uIChpZiBhbnkpLlxuICAgKlxuICAgKiAqKldBUk5JTkcqKjogT25seSB1c2UgdGhpcyB3aXRoIG9ic2VydmFibGVzIHlvdSAqa25vdyogd2lsbCBjb21wbGV0ZS4gSWYgdGhlIHNvdXJjZVxuICAgKiBvYnNlcnZhYmxlIGRvZXMgbm90IGNvbXBsZXRlLCB5b3Ugd2lsbCBlbmQgdXAgd2l0aCBhIHByb21pc2UgdGhhdCBpcyBodW5nIHVwLCBhbmRcbiAgICogcG90ZW50aWFsbHkgYWxsIG9mIHRoZSBzdGF0ZSBvZiBhbiBhc3luYyBmdW5jdGlvbiBoYW5naW5nIG91dCBpbiBtZW1vcnkuIFRvIGF2b2lkXG4gICAqIHRoaXMgc2l0dWF0aW9uLCBsb29rIGludG8gYWRkaW5nIHNvbWV0aGluZyBsaWtlIHtAbGluayB0aW1lb3V0fSwge0BsaW5rIHRha2V9LFxuICAgKiB7QGxpbmsgdGFrZVdoaWxlfSwgb3Ige0BsaW5rIHRha2VVbnRpbH0gYW1vbmdzdCBvdGhlcnMuXG4gICAqXG4gICAqIEBtZXRob2QgdG9Qcm9taXNlXG4gICAqIEBwYXJhbSBbcHJvbWlzZUN0b3JdIGEgY29uc3RydWN0b3IgZnVuY3Rpb24gdXNlZCB0byBpbnN0YW50aWF0ZVxuICAgKiB0aGUgUHJvbWlzZVxuICAgKiBAcmV0dXJuIEEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGxhc3QgdmFsdWUgZW1pdCwgb3JcbiAgICogcmVqZWN0cyBvbiBhbiBlcnJvci4gSWYgdGhlcmUgd2VyZSBubyBlbWlzc2lvbnMsIFByb21pc2VcbiAgICogcmVzb2x2ZXMgd2l0aCB1bmRlZmluZWQuXG4gICAqIEBkZXByZWNhdGVkIFJlcGxhY2VkIHdpdGgge0BsaW5rIGZpcnN0VmFsdWVGcm9tfSBhbmQge0BsaW5rIGxhc3RWYWx1ZUZyb219LiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguIERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL3RvLXByb21pc2VcbiAgICovXG4gIHRvUHJvbWlzZShwcm9taXNlQ3Rvcj86IFByb21pc2VDb25zdHJ1Y3Rvckxpa2UpOiBQcm9taXNlPFQgfCB1bmRlZmluZWQ+IHtcbiAgICBwcm9taXNlQ3RvciA9IGdldFByb21pc2VDdG9yKHByb21pc2VDdG9yKTtcblxuICAgIHJldHVybiBuZXcgcHJvbWlzZUN0b3IoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbGV0IHZhbHVlOiBUIHwgdW5kZWZpbmVkO1xuICAgICAgdGhpcy5zdWJzY3JpYmUoXG4gICAgICAgICh4OiBUKSA9PiAodmFsdWUgPSB4KSxcbiAgICAgICAgKGVycjogYW55KSA9PiByZWplY3QoZXJyKSxcbiAgICAgICAgKCkgPT4gcmVzb2x2ZSh2YWx1ZSlcbiAgICAgICk7XG4gICAgfSkgYXMgUHJvbWlzZTxUIHwgdW5kZWZpbmVkPjtcbiAgfVxufVxuXG4vKipcbiAqIERlY2lkZXMgYmV0d2VlbiBhIHBhc3NlZCBwcm9taXNlIGNvbnN0cnVjdG9yIGZyb20gY29uc3VtaW5nIGNvZGUsXG4gKiBBIGRlZmF1bHQgY29uZmlndXJlZCBwcm9taXNlIGNvbnN0cnVjdG9yLCBhbmQgdGhlIG5hdGl2ZSBwcm9taXNlXG4gKiBjb25zdHJ1Y3RvciBhbmQgcmV0dXJucyBpdC4gSWYgbm90aGluZyBjYW4gYmUgZm91bmQsIGl0IHdpbGwgdGhyb3dcbiAqIGFuIGVycm9yLlxuICogQHBhcmFtIHByb21pc2VDdG9yIFRoZSBvcHRpb25hbCBwcm9taXNlIGNvbnN0cnVjdG9yIHRvIHBhc3NlZCBieSBjb25zdW1pbmcgY29kZVxuICovXG5mdW5jdGlvbiBnZXRQcm9taXNlQ3Rvcihwcm9taXNlQ3RvcjogUHJvbWlzZUNvbnN0cnVjdG9yTGlrZSB8IHVuZGVmaW5lZCkge1xuICByZXR1cm4gcHJvbWlzZUN0b3IgPz8gY29uZmlnLlByb21pc2UgPz8gUHJvbWlzZTtcbn1cblxuZnVuY3Rpb24gaXNPYnNlcnZlcjxUPih2YWx1ZTogYW55KTogdmFsdWUgaXMgT2JzZXJ2ZXI8VD4ge1xuICByZXR1cm4gdmFsdWUgJiYgaXNGdW5jdGlvbih2YWx1ZS5uZXh0KSAmJiBpc0Z1bmN0aW9uKHZhbHVlLmVycm9yKSAmJiBpc0Z1bmN0aW9uKHZhbHVlLmNvbXBsZXRlKTtcbn1cblxuZnVuY3Rpb24gaXNTdWJzY3JpYmVyPFQ+KHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBTdWJzY3JpYmVyPFQ+IHtcbiAgcmV0dXJuICh2YWx1ZSAmJiB2YWx1ZSBpbnN0YW5jZW9mIFN1YnNjcmliZXIpIHx8IChpc09ic2VydmVyKHZhbHVlKSAmJiBpc1N1YnNjcmlwdGlvbih2YWx1ZSkpO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuLi9TdWJzY3JpYmVyJztcbmltcG9ydCB7IE9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi9pc0Z1bmN0aW9uJztcblxuLyoqXG4gKiBVc2VkIHRvIGRldGVybWluZSBpZiBhbiBvYmplY3QgaXMgYW4gT2JzZXJ2YWJsZSB3aXRoIGEgbGlmdCBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc0xpZnQoc291cmNlOiBhbnkpOiBzb3VyY2UgaXMgeyBsaWZ0OiBJbnN0YW5jZVR5cGU8dHlwZW9mIE9ic2VydmFibGU+WydsaWZ0J10gfSB7XG4gIHJldHVybiBpc0Z1bmN0aW9uKHNvdXJjZT8ubGlmdCk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBgT3BlcmF0b3JGdW5jdGlvbmAuIFVzZWQgdG8gZGVmaW5lIG9wZXJhdG9ycyB0aHJvdWdob3V0IHRoZSBsaWJyYXJ5IGluIGEgY29uY2lzZSB3YXkuXG4gKiBAcGFyYW0gaW5pdCBUaGUgbG9naWMgdG8gY29ubmVjdCB0aGUgbGlmdGVkU291cmNlIHRvIHRoZSBzdWJzY3JpYmVyIGF0IHRoZSBtb21lbnQgb2Ygc3Vic2NyaXB0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb3BlcmF0ZTxULCBSPihcbiAgaW5pdDogKGxpZnRlZFNvdXJjZTogT2JzZXJ2YWJsZTxUPiwgc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxSPikgPT4gKCgpID0+IHZvaWQpIHwgdm9pZFxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBSPiB7XG4gIHJldHVybiAoc291cmNlOiBPYnNlcnZhYmxlPFQ+KSA9PiB7XG4gICAgaWYgKGhhc0xpZnQoc291cmNlKSkge1xuICAgICAgcmV0dXJuIHNvdXJjZS5saWZ0KGZ1bmN0aW9uICh0aGlzOiBTdWJzY3JpYmVyPFI+LCBsaWZ0ZWRTb3VyY2U6IE9ic2VydmFibGU8VD4pIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICByZXR1cm4gaW5pdChsaWZ0ZWRTb3VyY2UsIHRoaXMpO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICB0aGlzLmVycm9yKGVycik7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdVbmFibGUgdG8gbGlmdCB1bmtub3duIE9ic2VydmFibGUgdHlwZScpO1xuICB9O1xufVxuIiwgImltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuLi9TdWJzY3JpYmVyJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGluc3RhbmNlIG9mIGFuIGBPcGVyYXRvclN1YnNjcmliZXJgLlxuICogQHBhcmFtIGRlc3RpbmF0aW9uIFRoZSBkb3duc3RyZWFtIHN1YnNjcmliZXIuXG4gKiBAcGFyYW0gb25OZXh0IEhhbmRsZXMgbmV4dCB2YWx1ZXMsIG9ubHkgY2FsbGVkIGlmIHRoaXMgc3Vic2NyaWJlciBpcyBub3Qgc3RvcHBlZCBvciBjbG9zZWQuIEFueVxuICogZXJyb3IgdGhhdCBvY2N1cnMgaW4gdGhpcyBmdW5jdGlvbiBpcyBjYXVnaHQgYW5kIHNlbnQgdG8gdGhlIGBlcnJvcmAgbWV0aG9kIG9mIHRoaXMgc3Vic2NyaWJlci5cbiAqIEBwYXJhbSBvbkVycm9yIEhhbmRsZXMgZXJyb3JzIGZyb20gdGhlIHN1YnNjcmlwdGlvbiwgYW55IGVycm9ycyB0aGF0IG9jY3VyIGluIHRoaXMgaGFuZGxlciBhcmUgY2F1Z2h0XG4gKiBhbmQgc2VuZCB0byB0aGUgYGRlc3RpbmF0aW9uYCBlcnJvciBoYW5kbGVyLlxuICogQHBhcmFtIG9uQ29tcGxldGUgSGFuZGxlcyBjb21wbGV0aW9uIG5vdGlmaWNhdGlvbiBmcm9tIHRoZSBzdWJzY3JpcHRpb24uIEFueSBlcnJvcnMgdGhhdCBvY2N1ciBpblxuICogdGhpcyBoYW5kbGVyIGFyZSBzZW50IHRvIHRoZSBgZGVzdGluYXRpb25gIGVycm9yIGhhbmRsZXIuXG4gKiBAcGFyYW0gb25GaW5hbGl6ZSBBZGRpdGlvbmFsIHRlYXJkb3duIGxvZ2ljIGhlcmUuIFRoaXMgd2lsbCBvbmx5IGJlIGNhbGxlZCBvbiB0ZWFyZG93biBpZiB0aGVcbiAqIHN1YnNjcmliZXIgaXRzZWxmIGlzIG5vdCBhbHJlYWR5IGNsb3NlZC4gVGhpcyBpcyBjYWxsZWQgYWZ0ZXIgYWxsIG90aGVyIHRlYXJkb3duIGxvZ2ljIGlzIGV4ZWN1dGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyPFQ+KFxuICBkZXN0aW5hdGlvbjogU3Vic2NyaWJlcjxhbnk+LFxuICBvbk5leHQ/OiAodmFsdWU6IFQpID0+IHZvaWQsXG4gIG9uQ29tcGxldGU/OiAoKSA9PiB2b2lkLFxuICBvbkVycm9yPzogKGVycjogYW55KSA9PiB2b2lkLFxuICBvbkZpbmFsaXplPzogKCkgPT4gdm9pZFxuKTogU3Vic2NyaWJlcjxUPiB7XG4gIHJldHVybiBuZXcgT3BlcmF0b3JTdWJzY3JpYmVyKGRlc3RpbmF0aW9uLCBvbk5leHQsIG9uQ29tcGxldGUsIG9uRXJyb3IsIG9uRmluYWxpemUpO1xufVxuXG4vKipcbiAqIEEgZ2VuZXJpYyBoZWxwZXIgZm9yIGFsbG93aW5nIG9wZXJhdG9ycyB0byBiZSBjcmVhdGVkIHdpdGggYSBTdWJzY3JpYmVyIGFuZFxuICogdXNlIGNsb3N1cmVzIHRvIGNhcHR1cmUgbmVjZXNzYXJ5IHN0YXRlIGZyb20gdGhlIG9wZXJhdG9yIGZ1bmN0aW9uIGl0c2VsZi5cbiAqL1xuZXhwb3J0IGNsYXNzIE9wZXJhdG9yU3Vic2NyaWJlcjxUPiBleHRlbmRzIFN1YnNjcmliZXI8VD4ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhbiBpbnN0YW5jZSBvZiBhbiBgT3BlcmF0b3JTdWJzY3JpYmVyYC5cbiAgICogQHBhcmFtIGRlc3RpbmF0aW9uIFRoZSBkb3duc3RyZWFtIHN1YnNjcmliZXIuXG4gICAqIEBwYXJhbSBvbk5leHQgSGFuZGxlcyBuZXh0IHZhbHVlcywgb25seSBjYWxsZWQgaWYgdGhpcyBzdWJzY3JpYmVyIGlzIG5vdCBzdG9wcGVkIG9yIGNsb3NlZC4gQW55XG4gICAqIGVycm9yIHRoYXQgb2NjdXJzIGluIHRoaXMgZnVuY3Rpb24gaXMgY2F1Z2h0IGFuZCBzZW50IHRvIHRoZSBgZXJyb3JgIG1ldGhvZCBvZiB0aGlzIHN1YnNjcmliZXIuXG4gICAqIEBwYXJhbSBvbkVycm9yIEhhbmRsZXMgZXJyb3JzIGZyb20gdGhlIHN1YnNjcmlwdGlvbiwgYW55IGVycm9ycyB0aGF0IG9jY3VyIGluIHRoaXMgaGFuZGxlciBhcmUgY2F1Z2h0XG4gICAqIGFuZCBzZW5kIHRvIHRoZSBgZGVzdGluYXRpb25gIGVycm9yIGhhbmRsZXIuXG4gICAqIEBwYXJhbSBvbkNvbXBsZXRlIEhhbmRsZXMgY29tcGxldGlvbiBub3RpZmljYXRpb24gZnJvbSB0aGUgc3Vic2NyaXB0aW9uLiBBbnkgZXJyb3JzIHRoYXQgb2NjdXIgaW5cbiAgICogdGhpcyBoYW5kbGVyIGFyZSBzZW50IHRvIHRoZSBgZGVzdGluYXRpb25gIGVycm9yIGhhbmRsZXIuXG4gICAqIEBwYXJhbSBvbkZpbmFsaXplIEFkZGl0aW9uYWwgZmluYWxpemF0aW9uIGxvZ2ljIGhlcmUuIFRoaXMgd2lsbCBvbmx5IGJlIGNhbGxlZCBvbiBmaW5hbGl6YXRpb24gaWYgdGhlXG4gICAqIHN1YnNjcmliZXIgaXRzZWxmIGlzIG5vdCBhbHJlYWR5IGNsb3NlZC4gVGhpcyBpcyBjYWxsZWQgYWZ0ZXIgYWxsIG90aGVyIGZpbmFsaXphdGlvbiBsb2dpYyBpcyBleGVjdXRlZC5cbiAgICogQHBhcmFtIHNob3VsZFVuc3Vic2NyaWJlIEFuIG9wdGlvbmFsIGNoZWNrIHRvIHNlZSBpZiBhbiB1bnN1YnNjcmliZSBjYWxsIHNob3VsZCB0cnVseSB1bnN1YnNjcmliZS5cbiAgICogTk9URTogVGhpcyBjdXJyZW50bHkgKipPTkxZKiogZXhpc3RzIHRvIHN1cHBvcnQgdGhlIHN0cmFuZ2UgYmVoYXZpb3Igb2Yge0BsaW5rIGdyb3VwQnl9LCB3aGVyZSB1bnN1YnNjcmlwdGlvblxuICAgKiB0byB0aGUgcmVzdWx0aW5nIG9ic2VydmFibGUgZG9lcyBub3QgYWN0dWFsbHkgZGlzY29ubmVjdCBmcm9tIHRoZSBzb3VyY2UgaWYgdGhlcmUgYXJlIGFjdGl2ZSBzdWJzY3JpcHRpb25zXG4gICAqIHRvIGFueSBncm91cGVkIG9ic2VydmFibGUuIChETyBOT1QgRVhQT1NFIE9SIFVTRSBFWFRFUk5BTExZISEhKVxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgZGVzdGluYXRpb246IFN1YnNjcmliZXI8YW55PixcbiAgICBvbk5leHQ/OiAodmFsdWU6IFQpID0+IHZvaWQsXG4gICAgb25Db21wbGV0ZT86ICgpID0+IHZvaWQsXG4gICAgb25FcnJvcj86IChlcnI6IGFueSkgPT4gdm9pZCxcbiAgICBwcml2YXRlIG9uRmluYWxpemU/OiAoKSA9PiB2b2lkLFxuICAgIHByaXZhdGUgc2hvdWxkVW5zdWJzY3JpYmU/OiAoKSA9PiBib29sZWFuXG4gICkge1xuICAgIC8vIEl0J3MgaW1wb3J0YW50IC0gZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMgLSB0aGF0IGFsbCBvZiB0aGlzIGNsYXNzJ3NcbiAgICAvLyBtZW1iZXJzIGFyZSBpbml0aWFsaXplZCBhbmQgdGhhdCB0aGV5IGFyZSBhbHdheXMgaW5pdGlhbGl6ZWQgaW4gdGhlIHNhbWVcbiAgICAvLyBvcmRlci4gVGhpcyB3aWxsIGVuc3VyZSB0aGF0IGFsbCBPcGVyYXRvclN1YnNjcmliZXIgaW5zdGFuY2VzIGhhdmUgdGhlXG4gICAgLy8gc2FtZSBoaWRkZW4gY2xhc3MgaW4gVjguIFRoaXMsIGluIHR1cm4sIHdpbGwgaGVscCBrZWVwIHRoZSBudW1iZXIgb2ZcbiAgICAvLyBoaWRkZW4gY2xhc3NlcyBpbnZvbHZlZCBpbiBwcm9wZXJ0eSBhY2Nlc3NlcyB3aXRoaW4gdGhlIGJhc2UgY2xhc3MgYXNcbiAgICAvLyBsb3cgYXMgcG9zc2libGUuIElmIHRoZSBudW1iZXIgb2YgaGlkZGVuIGNsYXNzZXMgaW52b2x2ZWQgZXhjZWVkcyBmb3VyLFxuICAgIC8vIHRoZSBwcm9wZXJ0eSBhY2Nlc3NlcyB3aWxsIGJlY29tZSBtZWdhbW9ycGhpYyBhbmQgcGVyZm9ybWFuY2UgcGVuYWx0aWVzXG4gICAgLy8gd2lsbCBiZSBpbmN1cnJlZCAtIGkuZS4gaW5saW5lIGNhY2hlcyB3b24ndCBiZSB1c2VkLlxuICAgIC8vXG4gICAgLy8gVGhlIHJlYXNvbnMgZm9yIGVuc3VyaW5nIGFsbCBpbnN0YW5jZXMgaGF2ZSB0aGUgc2FtZSBoaWRkZW4gY2xhc3MgYXJlXG4gICAgLy8gZnVydGhlciBkaXNjdXNzZWQgaW4gdGhpcyBibG9nIHBvc3QgZnJvbSBCZW5lZGlrdCBNZXVyZXI6XG4gICAgLy8gaHR0cHM6Ly9iZW5lZGlrdG1ldXJlci5kZS8yMDE4LzAzLzIzL2ltcGFjdC1vZi1wb2x5bW9ycGhpc20tb24tY29tcG9uZW50LWJhc2VkLWZyYW1ld29ya3MtbGlrZS1yZWFjdC9cbiAgICBzdXBlcihkZXN0aW5hdGlvbik7XG4gICAgdGhpcy5fbmV4dCA9IG9uTmV4dFxuICAgICAgPyBmdW5jdGlvbiAodGhpczogT3BlcmF0b3JTdWJzY3JpYmVyPFQ+LCB2YWx1ZTogVCkge1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBvbk5leHQodmFsdWUpO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIDogc3VwZXIuX25leHQ7XG4gICAgdGhpcy5fZXJyb3IgPSBvbkVycm9yXG4gICAgICA/IGZ1bmN0aW9uICh0aGlzOiBPcGVyYXRvclN1YnNjcmliZXI8VD4sIGVycjogYW55KSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIG9uRXJyb3IoZXJyKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIC8vIFNlbmQgYW55IGVycm9ycyB0aGF0IG9jY3VyIGRvd24gc3RyZWFtLlxuICAgICAgICAgICAgZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgLy8gRW5zdXJlIGZpbmFsaXphdGlvbi5cbiAgICAgICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIDogc3VwZXIuX2Vycm9yO1xuICAgIHRoaXMuX2NvbXBsZXRlID0gb25Db21wbGV0ZVxuICAgICAgPyBmdW5jdGlvbiAodGhpczogT3BlcmF0b3JTdWJzY3JpYmVyPFQ+KSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIG9uQ29tcGxldGUoKTtcbiAgICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICAgIC8vIFNlbmQgYW55IGVycm9ycyB0aGF0IG9jY3VyIGRvd24gc3RyZWFtLlxuICAgICAgICAgICAgZGVzdGluYXRpb24uZXJyb3IoZXJyKTtcbiAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgLy8gRW5zdXJlIGZpbmFsaXphdGlvbi5cbiAgICAgICAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIDogc3VwZXIuX2NvbXBsZXRlO1xuICB9XG5cbiAgdW5zdWJzY3JpYmUoKSB7XG4gICAgaWYgKCF0aGlzLnNob3VsZFVuc3Vic2NyaWJlIHx8IHRoaXMuc2hvdWxkVW5zdWJzY3JpYmUoKSkge1xuICAgICAgY29uc3QgeyBjbG9zZWQgfSA9IHRoaXM7XG4gICAgICBzdXBlci51bnN1YnNjcmliZSgpO1xuICAgICAgLy8gRXhlY3V0ZSBhZGRpdGlvbmFsIHRlYXJkb3duIGlmIHdlIGhhdmUgYW55IGFuZCB3ZSBkaWRuJ3QgYWxyZWFkeSBkbyBzby5cbiAgICAgICFjbG9zZWQgJiYgdGhpcy5vbkZpbmFsaXplPy4oKTtcbiAgICB9XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBDb25uZWN0YWJsZU9ic2VydmFibGUgfSBmcm9tICcuLi9vYnNlcnZhYmxlL0Nvbm5lY3RhYmxlT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIgfSBmcm9tICcuL09wZXJhdG9yU3Vic2NyaWJlcic7XG5cbi8qKlxuICogTWFrZSBhIHtAbGluayBDb25uZWN0YWJsZU9ic2VydmFibGV9IGJlaGF2ZSBsaWtlIGEgb3JkaW5hcnkgb2JzZXJ2YWJsZSBhbmQgYXV0b21hdGVzIHRoZSB3YXlcbiAqIHlvdSBjYW4gY29ubmVjdCB0byBpdC5cbiAqXG4gKiBJbnRlcm5hbGx5IGl0IGNvdW50cyB0aGUgc3Vic2NyaXB0aW9ucyB0byB0aGUgb2JzZXJ2YWJsZSBhbmQgc3Vic2NyaWJlcyAob25seSBvbmNlKSB0byB0aGUgc291cmNlIGlmXG4gKiB0aGUgbnVtYmVyIG9mIHN1YnNjcmlwdGlvbnMgaXMgbGFyZ2VyIHRoYW4gMC4gSWYgdGhlIG51bWJlciBvZiBzdWJzY3JpcHRpb25zIGlzIHNtYWxsZXIgdGhhbiAxLCBpdFxuICogdW5zdWJzY3JpYmVzIGZyb20gdGhlIHNvdXJjZS4gVGhpcyB3YXkgeW91IGNhbiBtYWtlIHN1cmUgdGhhdCBldmVyeXRoaW5nIGJlZm9yZSB0aGUgKnB1Ymxpc2hlZCpcbiAqIHJlZkNvdW50IGhhcyBvbmx5IGEgc2luZ2xlIHN1YnNjcmlwdGlvbiBpbmRlcGVuZGVudGx5IG9mIHRoZSBudW1iZXIgb2Ygc3Vic2NyaWJlcnMgdG8gdGhlIHRhcmdldFxuICogb2JzZXJ2YWJsZS5cbiAqXG4gKiBOb3RlIHRoYXQgdXNpbmcgdGhlIHtAbGluayBzaGFyZX0gb3BlcmF0b3IgaXMgZXhhY3RseSB0aGUgc2FtZSBhcyB1c2luZyB0aGUgYG11bHRpY2FzdCgoKSA9PiBuZXcgU3ViamVjdCgpKWAgb3BlcmF0b3JcbiAqIChtYWtpbmcgdGhlIG9ic2VydmFibGUgaG90KSBhbmQgdGhlICpyZWZDb3VudCogb3BlcmF0b3IgaW4gYSBzZXF1ZW5jZS5cbiAqXG4gKiAhW10ocmVmQ291bnQucG5nKVxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBJbiB0aGUgZm9sbG93aW5nIGV4YW1wbGUgdGhlcmUgYXJlIHR3byBpbnRlcnZhbHMgdHVybmVkIGludG8gY29ubmVjdGFibGUgb2JzZXJ2YWJsZXNcbiAqIGJ5IHVzaW5nIHRoZSAqcHVibGlzaCogb3BlcmF0b3IuIFRoZSBmaXJzdCBvbmUgdXNlcyB0aGUgKnJlZkNvdW50KiBvcGVyYXRvciwgdGhlXG4gKiBzZWNvbmQgb25lIGRvZXMgbm90IHVzZSBpdC4gWW91IHdpbGwgbm90aWNlIHRoYXQgYSBjb25uZWN0YWJsZSBvYnNlcnZhYmxlIGRvZXMgbm90aGluZ1xuICogdW50aWwgeW91IGNhbGwgaXRzIGNvbm5lY3QgZnVuY3Rpb24uXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGludGVydmFsLCB0YXAsIHB1Ymxpc2gsIHJlZkNvdW50IH0gZnJvbSAncnhqcyc7XG4gKlxuICogLy8gVHVybiB0aGUgaW50ZXJ2YWwgb2JzZXJ2YWJsZSBpbnRvIGEgQ29ubmVjdGFibGVPYnNlcnZhYmxlIChob3QpXG4gKiBjb25zdCByZWZDb3VudEludGVydmFsID0gaW50ZXJ2YWwoNDAwKS5waXBlKFxuICogICB0YXAobnVtID0+IGNvbnNvbGUubG9nKGByZWZDb3VudCAkeyBudW0gfWApKSxcbiAqICAgcHVibGlzaCgpLFxuICogICByZWZDb3VudCgpXG4gKiApO1xuICpcbiAqIGNvbnN0IHB1Ymxpc2hlZEludGVydmFsID0gaW50ZXJ2YWwoNDAwKS5waXBlKFxuICogICB0YXAobnVtID0+IGNvbnNvbGUubG9nKGBwdWJsaXNoICR7IG51bSB9YCkpLFxuICogICBwdWJsaXNoKClcbiAqICk7XG4gKlxuICogcmVmQ291bnRJbnRlcnZhbC5zdWJzY3JpYmUoKTtcbiAqIHJlZkNvdW50SW50ZXJ2YWwuc3Vic2NyaWJlKCk7XG4gKiAvLyAncmVmQ291bnQgMCcgLS0tLS0+ICdyZWZDb3VudCAxJyAtLS0tLT4gZXRjXG4gKiAvLyBBbGwgc3Vic2NyaXB0aW9ucyB3aWxsIHJlY2VpdmUgdGhlIHNhbWUgdmFsdWUgYW5kIHRoZSB0YXAgKGFuZFxuICogLy8gZXZlcnkgb3RoZXIgb3BlcmF0b3IpIGJlZm9yZSB0aGUgYHB1Ymxpc2hgIG9wZXJhdG9yIHdpbGwgYmUgZXhlY3V0ZWRcbiAqIC8vIG9ubHkgb25jZSBwZXIgZXZlbnQgaW5kZXBlbmRlbnRseSBvZiB0aGUgbnVtYmVyIG9mIHN1YnNjcmlwdGlvbnMuXG4gKlxuICogcHVibGlzaGVkSW50ZXJ2YWwuc3Vic2NyaWJlKCk7XG4gKiAvLyBOb3RoaW5nIGhhcHBlbnMgdW50aWwgeW91IGNhbGwgLmNvbm5lY3QoKSBvbiB0aGUgb2JzZXJ2YWJsZS5cbiAqIGBgYFxuICpcbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGF1dG9tYXRlcyB0aGUgY29ubmVjdGlvblxuICogdG8gQ29ubmVjdGFibGVPYnNlcnZhYmxlLlxuICogQHNlZSB7QGxpbmsgQ29ubmVjdGFibGVPYnNlcnZhYmxlfVxuICogQHNlZSB7QGxpbmsgc2hhcmV9XG4gKiBAc2VlIHtAbGluayBwdWJsaXNofVxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCB0aGUge0BsaW5rIHNoYXJlfSBvcGVyYXRvci4gSG93IGBzaGFyZWAgaXMgdXNlZFxuICogd2lsbCBkZXBlbmQgb24gdGhlIGNvbm5lY3RhYmxlIG9ic2VydmFibGUgeW91IGNyZWF0ZWQganVzdCBwcmlvciB0byB0aGVcbiAqIGByZWZDb3VudGAgb3BlcmF0b3IuXG4gKiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9tdWx0aWNhc3RpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZkNvdW50PFQ+KCk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIHJldHVybiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICBsZXQgY29ubmVjdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgICAoc291cmNlIGFzIGFueSkuX3JlZkNvdW50Kys7XG5cbiAgICBjb25zdCByZWZDb3VudGVyID0gY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHVuZGVmaW5lZCwgdW5kZWZpbmVkLCB1bmRlZmluZWQsICgpID0+IHtcbiAgICAgIGlmICghc291cmNlIHx8IChzb3VyY2UgYXMgYW55KS5fcmVmQ291bnQgPD0gMCB8fCAwIDwgLS0oc291cmNlIGFzIGFueSkuX3JlZkNvdW50KSB7XG4gICAgICAgIGNvbm5lY3Rpb24gPSBudWxsO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIC8vL1xuICAgICAgLy8gQ29tcGFyZSB0aGUgbG9jYWwgUmVmQ291bnRTdWJzY3JpYmVyJ3MgY29ubmVjdGlvbiBTdWJzY3JpcHRpb24gdG8gdGhlXG4gICAgICAvLyBjb25uZWN0aW9uIFN1YnNjcmlwdGlvbiBvbiB0aGUgc2hhcmVkIENvbm5lY3RhYmxlT2JzZXJ2YWJsZS4gSW4gY2FzZXNcbiAgICAgIC8vIHdoZXJlIHRoZSBDb25uZWN0YWJsZU9ic2VydmFibGUgc291cmNlIHN5bmNocm9ub3VzbHkgZW1pdHMgdmFsdWVzLCBhbmRcbiAgICAgIC8vIHRoZSBSZWZDb3VudFN1YnNjcmliZXIncyBkb3duc3RyZWFtIE9ic2VydmVycyBzeW5jaHJvbm91c2x5IHVuc3Vic2NyaWJlLFxuICAgICAgLy8gZXhlY3V0aW9uIGNvbnRpbnVlcyB0byBoZXJlIGJlZm9yZSB0aGUgUmVmQ291bnRPcGVyYXRvciBoYXMgYSBjaGFuY2UgdG9cbiAgICAgIC8vIHN1cHBseSB0aGUgUmVmQ291bnRTdWJzY3JpYmVyIHdpdGggdGhlIHNoYXJlZCBjb25uZWN0aW9uIFN1YnNjcmlwdGlvbi5cbiAgICAgIC8vIEZvciBleGFtcGxlOlxuICAgICAgLy8gYGBgXG4gICAgICAvLyByYW5nZSgwLCAxMCkucGlwZShcbiAgICAgIC8vICAgcHVibGlzaCgpLFxuICAgICAgLy8gICByZWZDb3VudCgpLFxuICAgICAgLy8gICB0YWtlKDUpLFxuICAgICAgLy8gKVxuICAgICAgLy8gLnN1YnNjcmliZSgpO1xuICAgICAgLy8gYGBgXG4gICAgICAvLyBJbiBvcmRlciB0byBhY2NvdW50IGZvciB0aGlzIGNhc2UsIFJlZkNvdW50U3Vic2NyaWJlciBzaG91bGQgb25seSBkaXNwb3NlXG4gICAgICAvLyB0aGUgQ29ubmVjdGFibGVPYnNlcnZhYmxlJ3Mgc2hhcmVkIGNvbm5lY3Rpb24gU3Vic2NyaXB0aW9uIGlmIHRoZVxuICAgICAgLy8gY29ubmVjdGlvbiBTdWJzY3JpcHRpb24gZXhpc3RzLCAqYW5kKiBlaXRoZXI6XG4gICAgICAvLyAgIGEuIFJlZkNvdW50U3Vic2NyaWJlciBkb2Vzbid0IGhhdmUgYSByZWZlcmVuY2UgdG8gdGhlIHNoYXJlZCBjb25uZWN0aW9uXG4gICAgICAvLyAgICAgIFN1YnNjcmlwdGlvbiB5ZXQsIG9yLFxuICAgICAgLy8gICBiLiBSZWZDb3VudFN1YnNjcmliZXIncyBjb25uZWN0aW9uIFN1YnNjcmlwdGlvbiByZWZlcmVuY2UgaXMgaWRlbnRpY2FsXG4gICAgICAvLyAgICAgIHRvIHRoZSBzaGFyZWQgY29ubmVjdGlvbiBTdWJzY3JpcHRpb25cbiAgICAgIC8vL1xuXG4gICAgICBjb25zdCBzaGFyZWRDb25uZWN0aW9uID0gKHNvdXJjZSBhcyBhbnkpLl9jb25uZWN0aW9uO1xuICAgICAgY29uc3QgY29ubiA9IGNvbm5lY3Rpb247XG4gICAgICBjb25uZWN0aW9uID0gbnVsbDtcblxuICAgICAgaWYgKHNoYXJlZENvbm5lY3Rpb24gJiYgKCFjb25uIHx8IHNoYXJlZENvbm5lY3Rpb24gPT09IGNvbm4pKSB7XG4gICAgICAgIHNoYXJlZENvbm5lY3Rpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIH1cblxuICAgICAgc3Vic2NyaWJlci51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuXG4gICAgc291cmNlLnN1YnNjcmliZShyZWZDb3VudGVyKTtcblxuICAgIGlmICghcmVmQ291bnRlci5jbG9zZWQpIHtcbiAgICAgIGNvbm5lY3Rpb24gPSAoc291cmNlIGFzIENvbm5lY3RhYmxlT2JzZXJ2YWJsZTxUPikuY29ubmVjdCgpO1xuICAgIH1cbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJy4uL1N1YmplY3QnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IHJlZkNvdW50IGFzIGhpZ2hlck9yZGVyUmVmQ291bnQgfSBmcm9tICcuLi9vcGVyYXRvcnMvcmVmQ291bnQnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi4vb3BlcmF0b3JzL09wZXJhdG9yU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBoYXNMaWZ0IH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcblxuLyoqXG4gKiBAY2xhc3MgQ29ubmVjdGFibGVPYnNlcnZhYmxlPFQ+XG4gKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSB7QGxpbmsgY29ubmVjdGFibGV9IHRvIGNyZWF0ZSBhIGNvbm5lY3RhYmxlIG9ic2VydmFibGUuXG4gKiBJZiB5b3UgYXJlIHVzaW5nIHRoZSBgcmVmQ291bnRgIG1ldGhvZCBvZiBgQ29ubmVjdGFibGVPYnNlcnZhYmxlYCwgdXNlIHRoZSB7QGxpbmsgc2hhcmV9IG9wZXJhdG9yXG4gKiBpbnN0ZWFkLlxuICogRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvbXVsdGljYXN0aW5nXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25uZWN0YWJsZU9ic2VydmFibGU8VD4gZXh0ZW5kcyBPYnNlcnZhYmxlPFQ+IHtcbiAgcHJvdGVjdGVkIF9zdWJqZWN0OiBTdWJqZWN0PFQ+IHwgbnVsbCA9IG51bGw7XG4gIHByb3RlY3RlZCBfcmVmQ291bnQ6IG51bWJlciA9IDA7XG4gIHByb3RlY3RlZCBfY29ubmVjdGlvbjogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEBwYXJhbSBzb3VyY2UgVGhlIHNvdXJjZSBvYnNlcnZhYmxlXG4gICAqIEBwYXJhbSBzdWJqZWN0RmFjdG9yeSBUaGUgZmFjdG9yeSB0aGF0IGNyZWF0ZXMgdGhlIHN1YmplY3QgdXNlZCBpbnRlcm5hbGx5LlxuICAgKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSB7QGxpbmsgY29ubmVjdGFibGV9IHRvIGNyZWF0ZSBhIGNvbm5lY3RhYmxlIG9ic2VydmFibGUuXG4gICAqIGBuZXcgQ29ubmVjdGFibGVPYnNlcnZhYmxlKHNvdXJjZSwgZmFjdG9yeSlgIGlzIGVxdWl2YWxlbnQgdG9cbiAgICogYGNvbm5lY3RhYmxlKHNvdXJjZSwgeyBjb25uZWN0b3I6IGZhY3RvcnkgfSlgLlxuICAgKiBXaGVuIHRoZSBgcmVmQ291bnQoKWAgbWV0aG9kIGlzIG5lZWRlZCwgdGhlIHtAbGluayBzaGFyZX0gb3BlcmF0b3Igc2hvdWxkIGJlIHVzZWQgaW5zdGVhZDpcbiAgICogYG5ldyBDb25uZWN0YWJsZU9ic2VydmFibGUoc291cmNlLCBmYWN0b3J5KS5yZWZDb3VudCgpYCBpcyBlcXVpdmFsZW50IHRvXG4gICAqIGBzb3VyY2UucGlwZShzaGFyZSh7IGNvbm5lY3RvcjogZmFjdG9yeSB9KSlgLlxuICAgKiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9tdWx0aWNhc3RpbmdcbiAgICovXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBzb3VyY2U6IE9ic2VydmFibGU8VD4sIHByb3RlY3RlZCBzdWJqZWN0RmFjdG9yeTogKCkgPT4gU3ViamVjdDxUPikge1xuICAgIHN1cGVyKCk7XG4gICAgLy8gSWYgd2UgaGF2ZSBsaWZ0LCBtb25rZXkgcGF0Y2ggdGhhdCBoZXJlLiBUaGlzIGlzIGRvbmUgc28gY3VzdG9tIG9ic2VydmFibGVcbiAgICAvLyB0eXBlcyB3aWxsIGNvbXBvc2UgdGhyb3VnaCBtdWx0aWNhc3QuIE90aGVyd2lzZSB0aGUgcmVzdWx0aW5nIG9ic2VydmFibGUgd291bGRcbiAgICAvLyBzaW1wbHkgYmUgYW4gaW5zdGFuY2Ugb2YgYENvbm5lY3RhYmxlT2JzZXJ2YWJsZWAuXG4gICAgaWYgKGhhc0xpZnQoc291cmNlKSkge1xuICAgICAgdGhpcy5saWZ0ID0gc291cmNlLmxpZnQ7XG4gICAgfVxuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgX3N1YnNjcmliZShzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPFQ+KSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0U3ViamVjdCgpLnN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRTdWJqZWN0KCk6IFN1YmplY3Q8VD4ge1xuICAgIGNvbnN0IHN1YmplY3QgPSB0aGlzLl9zdWJqZWN0O1xuICAgIGlmICghc3ViamVjdCB8fCBzdWJqZWN0LmlzU3RvcHBlZCkge1xuICAgICAgdGhpcy5fc3ViamVjdCA9IHRoaXMuc3ViamVjdEZhY3RvcnkoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3N1YmplY3QhO1xuICB9XG5cbiAgcHJvdGVjdGVkIF90ZWFyZG93bigpIHtcbiAgICB0aGlzLl9yZWZDb3VudCA9IDA7XG4gICAgY29uc3QgeyBfY29ubmVjdGlvbiB9ID0gdGhpcztcbiAgICB0aGlzLl9zdWJqZWN0ID0gdGhpcy5fY29ubmVjdGlvbiA9IG51bGw7XG4gICAgX2Nvbm5lY3Rpb24/LnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQge0BsaW5rIENvbm5lY3RhYmxlT2JzZXJ2YWJsZX0gd2lsbCBiZSByZW1vdmVkIGluIHY4LiBVc2Uge0BsaW5rIGNvbm5lY3RhYmxlfSBpbnN0ZWFkLlxuICAgKiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9tdWx0aWNhc3RpbmdcbiAgICovXG4gIGNvbm5lY3QoKTogU3Vic2NyaXB0aW9uIHtcbiAgICBsZXQgY29ubmVjdGlvbiA9IHRoaXMuX2Nvbm5lY3Rpb247XG4gICAgaWYgKCFjb25uZWN0aW9uKSB7XG4gICAgICBjb25uZWN0aW9uID0gdGhpcy5fY29ubmVjdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICAgIGNvbnN0IHN1YmplY3QgPSB0aGlzLmdldFN1YmplY3QoKTtcbiAgICAgIGNvbm5lY3Rpb24uYWRkKFxuICAgICAgICB0aGlzLnNvdXJjZS5zdWJzY3JpYmUoXG4gICAgICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgICAgICAgc3ViamVjdCBhcyBhbnksXG4gICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuX3RlYXJkb3duKCk7XG4gICAgICAgICAgICAgIHN1YmplY3QuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgIHRoaXMuX3RlYXJkb3duKCk7XG4gICAgICAgICAgICAgIHN1YmplY3QuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB0aGlzLl90ZWFyZG93bigpXG4gICAgICAgICAgKVxuICAgICAgICApXG4gICAgICApO1xuXG4gICAgICBpZiAoY29ubmVjdGlvbi5jbG9zZWQpIHtcbiAgICAgICAgdGhpcy5fY29ubmVjdGlvbiA9IG51bGw7XG4gICAgICAgIGNvbm5lY3Rpb24gPSBTdWJzY3JpcHRpb24uRU1QVFk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBjb25uZWN0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIHtAbGluayBDb25uZWN0YWJsZU9ic2VydmFibGV9IHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gVXNlIHRoZSB7QGxpbmsgc2hhcmV9IG9wZXJhdG9yIGluc3RlYWQuXG4gICAqIERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL211bHRpY2FzdGluZ1xuICAgKi9cbiAgcmVmQ291bnQoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIGhpZ2hlck9yZGVyUmVmQ291bnQoKSh0aGlzKSBhcyBPYnNlcnZhYmxlPFQ+O1xuICB9XG59XG4iLCAiaW1wb3J0IHsgVGltZXN0YW1wUHJvdmlkZXIgfSBmcm9tICcuLi90eXBlcyc7XG5cbmludGVyZmFjZSBQZXJmb3JtYW5jZVRpbWVzdGFtcFByb3ZpZGVyIGV4dGVuZHMgVGltZXN0YW1wUHJvdmlkZXIge1xuICBkZWxlZ2F0ZTogVGltZXN0YW1wUHJvdmlkZXIgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBjb25zdCBwZXJmb3JtYW5jZVRpbWVzdGFtcFByb3ZpZGVyOiBQZXJmb3JtYW5jZVRpbWVzdGFtcFByb3ZpZGVyID0ge1xuICBub3coKSB7XG4gICAgLy8gVXNlIHRoZSB2YXJpYWJsZSByYXRoZXIgdGhhbiBgdGhpc2Agc28gdGhhdCB0aGUgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZFxuICAgIC8vIHdpdGhvdXQgYmVpbmcgYm91bmQgdG8gdGhlIHByb3ZpZGVyLlxuICAgIHJldHVybiAocGVyZm9ybWFuY2VUaW1lc3RhbXBQcm92aWRlci5kZWxlZ2F0ZSB8fCBwZXJmb3JtYW5jZSkubm93KCk7XG4gIH0sXG4gIGRlbGVnYXRlOiB1bmRlZmluZWQsXG59O1xuIiwgImltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL1N1YnNjcmlwdGlvbic7XG5cbmludGVyZmFjZSBBbmltYXRpb25GcmFtZVByb3ZpZGVyIHtcbiAgc2NoZWR1bGUoY2FsbGJhY2s6IEZyYW1lUmVxdWVzdENhbGxiYWNrKTogU3Vic2NyaXB0aW9uO1xuICByZXF1ZXN0QW5pbWF0aW9uRnJhbWU6IHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU7XG4gIGNhbmNlbEFuaW1hdGlvbkZyYW1lOiB0eXBlb2YgY2FuY2VsQW5pbWF0aW9uRnJhbWU7XG4gIGRlbGVnYXRlOlxuICAgIHwge1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWU6IHR5cGVvZiByZXF1ZXN0QW5pbWF0aW9uRnJhbWU7XG4gICAgICAgIGNhbmNlbEFuaW1hdGlvbkZyYW1lOiB0eXBlb2YgY2FuY2VsQW5pbWF0aW9uRnJhbWU7XG4gICAgICB9XG4gICAgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBjb25zdCBhbmltYXRpb25GcmFtZVByb3ZpZGVyOiBBbmltYXRpb25GcmFtZVByb3ZpZGVyID0ge1xuICAvLyBXaGVuIGFjY2Vzc2luZyB0aGUgZGVsZWdhdGUsIHVzZSB0aGUgdmFyaWFibGUgcmF0aGVyIHRoYW4gYHRoaXNgIHNvIHRoYXRcbiAgLy8gdGhlIGZ1bmN0aW9ucyBjYW4gYmUgY2FsbGVkIHdpdGhvdXQgYmVpbmcgYm91bmQgdG8gdGhlIHByb3ZpZGVyLlxuICBzY2hlZHVsZShjYWxsYmFjaykge1xuICAgIGxldCByZXF1ZXN0ID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lO1xuICAgIGxldCBjYW5jZWw6IHR5cGVvZiBjYW5jZWxBbmltYXRpb25GcmFtZSB8IHVuZGVmaW5lZCA9IGNhbmNlbEFuaW1hdGlvbkZyYW1lO1xuICAgIGNvbnN0IHsgZGVsZWdhdGUgfSA9IGFuaW1hdGlvbkZyYW1lUHJvdmlkZXI7XG4gICAgaWYgKGRlbGVnYXRlKSB7XG4gICAgICByZXF1ZXN0ID0gZGVsZWdhdGUucmVxdWVzdEFuaW1hdGlvbkZyYW1lO1xuICAgICAgY2FuY2VsID0gZGVsZWdhdGUuY2FuY2VsQW5pbWF0aW9uRnJhbWU7XG4gICAgfVxuICAgIGNvbnN0IGhhbmRsZSA9IHJlcXVlc3QoKHRpbWVzdGFtcCkgPT4ge1xuICAgICAgLy8gQ2xlYXIgdGhlIGNhbmNlbCBmdW5jdGlvbi4gVGhlIHJlcXVlc3QgaGFzIGJlZW4gZnVsZmlsbGVkLCBzb1xuICAgICAgLy8gYXR0ZW1wdGluZyB0byBjYW5jZWwgdGhlIHJlcXVlc3QgdXBvbiB1bnN1YnNjcmlwdGlvbiB3b3VsZCBiZVxuICAgICAgLy8gcG9pbnRsZXNzLlxuICAgICAgY2FuY2VsID0gdW5kZWZpbmVkO1xuICAgICAgY2FsbGJhY2sodGltZXN0YW1wKTtcbiAgICB9KTtcbiAgICByZXR1cm4gbmV3IFN1YnNjcmlwdGlvbigoKSA9PiBjYW5jZWw/LihoYW5kbGUpKTtcbiAgfSxcbiAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKC4uLmFyZ3MpIHtcbiAgICBjb25zdCB7IGRlbGVnYXRlIH0gPSBhbmltYXRpb25GcmFtZVByb3ZpZGVyO1xuICAgIHJldHVybiAoZGVsZWdhdGU/LnJlcXVlc3RBbmltYXRpb25GcmFtZSB8fCByZXF1ZXN0QW5pbWF0aW9uRnJhbWUpKC4uLmFyZ3MpO1xuICB9LFxuICBjYW5jZWxBbmltYXRpb25GcmFtZSguLi5hcmdzKSB7XG4gICAgY29uc3QgeyBkZWxlZ2F0ZSB9ID0gYW5pbWF0aW9uRnJhbWVQcm92aWRlcjtcbiAgICByZXR1cm4gKGRlbGVnYXRlPy5jYW5jZWxBbmltYXRpb25GcmFtZSB8fCBjYW5jZWxBbmltYXRpb25GcmFtZSkoLi4uYXJncyk7XG4gIH0sXG4gIGRlbGVnYXRlOiB1bmRlZmluZWQsXG59O1xuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi8uLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IFRpbWVzdGFtcFByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vdHlwZXMnO1xuaW1wb3J0IHsgcGVyZm9ybWFuY2VUaW1lc3RhbXBQcm92aWRlciB9IGZyb20gJy4uLy4uL3NjaGVkdWxlci9wZXJmb3JtYW5jZVRpbWVzdGFtcFByb3ZpZGVyJztcbmltcG9ydCB7IGFuaW1hdGlvbkZyYW1lUHJvdmlkZXIgfSBmcm9tICcuLi8uLi9zY2hlZHVsZXIvYW5pbWF0aW9uRnJhbWVQcm92aWRlcic7XG5cbi8qKlxuICogQW4gb2JzZXJ2YWJsZSBvZiBhbmltYXRpb24gZnJhbWVzXG4gKlxuICogRW1pdHMgdGhlIGFtb3VudCBvZiB0aW1lIGVsYXBzZWQgc2luY2Ugc3Vic2NyaXB0aW9uIGFuZCB0aGUgdGltZXN0YW1wIG9uIGVhY2ggYW5pbWF0aW9uIGZyYW1lLlxuICogRGVmYXVsdHMgdG8gbWlsbGlzZWNvbmRzIHByb3ZpZGVkIHRvIHRoZSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUncyBjYWxsYmFjay4gRG9lcyBub3QgZW5kIG9uIGl0cyBvd24uXG4gKlxuICogRXZlcnkgc3Vic2NyaXB0aW9uIHdpbGwgc3RhcnQgYSBzZXBhcmF0ZSBhbmltYXRpb24gbG9vcC4gU2luY2UgYW5pbWF0aW9uIGZyYW1lcyBhcmUgYWx3YXlzIHNjaGVkdWxlZFxuICogYnkgdGhlIGJyb3dzZXIgdG8gb2NjdXIgZGlyZWN0bHkgYmVmb3JlIGEgcmVwYWludCwgc2NoZWR1bGluZyBtb3JlIHRoYW4gb25lIGFuaW1hdGlvbiBmcmFtZSBzeW5jaHJvbm91c2x5XG4gKiBzaG91bGQgbm90IGJlIG11Y2ggZGlmZmVyZW50IG9yIGhhdmUgbW9yZSBvdmVyaGVhZCB0aGFuIGxvb3Bpbmcgb3ZlciBhbiBhcnJheSBvZiBldmVudHMgZHVyaW5nXG4gKiBhIHNpbmdsZSBhbmltYXRpb24gZnJhbWUuIEhvd2V2ZXIsIGlmIGZvciBzb21lIHJlYXNvbiB0aGUgZGV2ZWxvcGVyIHdvdWxkIGxpa2UgdG8gZW5zdXJlIHRoZVxuICogZXhlY3V0aW9uIG9mIGFuaW1hdGlvbi1yZWxhdGVkIGhhbmRsZXJzIGFyZSBhbGwgZXhlY3V0ZWQgZHVyaW5nIHRoZSBzYW1lIHRhc2sgYnkgdGhlIGVuZ2luZSxcbiAqIHRoZSBgc2hhcmVgIG9wZXJhdG9yIGNhbiBiZSB1c2VkLlxuICpcbiAqIFRoaXMgaXMgdXNlZnVsIGZvciBzZXR0aW5nIHVwIGFuaW1hdGlvbnMgd2l0aCBSeEpTLlxuICpcbiAqICMjIEV4YW1wbGVzXG4gKlxuICogVHdlZW5pbmcgYSBkaXYgdG8gbW92ZSBpdCBvbiB0aGUgc2NyZWVuXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGFuaW1hdGlvbkZyYW1lcywgbWFwLCB0YWtlV2hpbGUsIGVuZFdpdGggfSBmcm9tICdyeGpzJztcbiAqXG4gKiBmdW5jdGlvbiB0d2VlbihzdGFydDogbnVtYmVyLCBlbmQ6IG51bWJlciwgZHVyYXRpb246IG51bWJlcikge1xuICogICBjb25zdCBkaWZmID0gZW5kIC0gc3RhcnQ7XG4gKiAgIHJldHVybiBhbmltYXRpb25GcmFtZXMoKS5waXBlKFxuICogICAgIC8vIEZpZ3VyZSBvdXQgd2hhdCBwZXJjZW50YWdlIG9mIHRpbWUgaGFzIHBhc3NlZFxuICogICAgIG1hcCgoeyBlbGFwc2VkIH0pID0+IGVsYXBzZWQgLyBkdXJhdGlvbiksXG4gKiAgICAgLy8gVGFrZSB0aGUgdmVjdG9yIHdoaWxlIGxlc3MgdGhhbiAxMDAlXG4gKiAgICAgdGFrZVdoaWxlKHYgPT4gdiA8IDEpLFxuICogICAgIC8vIEZpbmlzaCB3aXRoIDEwMCVcbiAqICAgICBlbmRXaXRoKDEpLFxuICogICAgIC8vIENhbGN1bGF0ZSB0aGUgZGlzdGFuY2UgdHJhdmVsZWQgYmV0d2VlbiBzdGFydCBhbmQgZW5kXG4gKiAgICAgbWFwKHYgPT4gdiAqIGRpZmYgKyBzdGFydClcbiAqICAgKTtcbiAqIH1cbiAqXG4gKiAvLyBTZXR1cCBhIGRpdiBmb3IgdXMgdG8gbW92ZSBhcm91bmRcbiAqIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICogZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpO1xuICogZGl2LnN0eWxlLnBvc2l0aW9uID0gJ2Fic29sdXRlJztcbiAqIGRpdi5zdHlsZS53aWR0aCA9ICc0MHB4JztcbiAqIGRpdi5zdHlsZS5oZWlnaHQgPSAnNDBweCc7XG4gKiBkaXYuc3R5bGUuYmFja2dyb3VuZENvbG9yID0gJ2xpbWUnO1xuICogZGl2LnN0eWxlLnRyYW5zZm9ybSA9ICd0cmFuc2xhdGUzZCgxMHB4LCAwLCAwKSc7XG4gKlxuICogdHdlZW4oMTAsIDIwMCwgNDAwMCkuc3Vic2NyaWJlKHggPT4ge1xuICogICBkaXYuc3R5bGUudHJhbnNmb3JtID0gYHRyYW5zbGF0ZTNkKCR7IHggfXB4LCAwLCAwKWA7XG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIFByb3ZpZGluZyBhIGN1c3RvbSB0aW1lc3RhbXAgcHJvdmlkZXJcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgYW5pbWF0aW9uRnJhbWVzLCBUaW1lc3RhbXBQcm92aWRlciB9IGZyb20gJ3J4anMnO1xuICpcbiAqIC8vIEEgY3VzdG9tIHRpbWVzdGFtcCBwcm92aWRlclxuICogbGV0IG5vdyA9IDA7XG4gKiBjb25zdCBjdXN0b21UU1Byb3ZpZGVyOiBUaW1lc3RhbXBQcm92aWRlciA9IHtcbiAqICAgbm93KCkgeyByZXR1cm4gbm93Kys7IH1cbiAqIH07XG4gKlxuICogY29uc3Qgc291cmNlJCA9IGFuaW1hdGlvbkZyYW1lcyhjdXN0b21UU1Byb3ZpZGVyKTtcbiAqXG4gKiAvLyBMb2cgaW5jcmVhc2luZyBudW1iZXJzIDAuLi4xLi4uMi4uLiBvbiBldmVyeSBhbmltYXRpb24gZnJhbWUuXG4gKiBzb3VyY2UkLnN1YnNjcmliZSgoeyBlbGFwc2VkIH0pID0+IGNvbnNvbGUubG9nKGVsYXBzZWQpKTtcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSB0aW1lc3RhbXBQcm92aWRlciBBbiBvYmplY3Qgd2l0aCBhIGBub3dgIG1ldGhvZCB0aGF0IHByb3ZpZGVzIGEgbnVtZXJpYyB0aW1lc3RhbXBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFuaW1hdGlvbkZyYW1lcyh0aW1lc3RhbXBQcm92aWRlcj86IFRpbWVzdGFtcFByb3ZpZGVyKSB7XG4gIHJldHVybiB0aW1lc3RhbXBQcm92aWRlciA/IGFuaW1hdGlvbkZyYW1lc0ZhY3RvcnkodGltZXN0YW1wUHJvdmlkZXIpIDogREVGQVVMVF9BTklNQVRJT05fRlJBTUVTO1xufVxuXG4vKipcbiAqIERvZXMgdGhlIHdvcmsgb2YgY3JlYXRpbmcgdGhlIG9ic2VydmFibGUgZm9yIGBhbmltYXRpb25GcmFtZXNgLlxuICogQHBhcmFtIHRpbWVzdGFtcFByb3ZpZGVyIFRoZSB0aW1lc3RhbXAgcHJvdmlkZXIgdG8gdXNlIHRvIGNyZWF0ZSB0aGUgb2JzZXJ2YWJsZVxuICovXG5mdW5jdGlvbiBhbmltYXRpb25GcmFtZXNGYWN0b3J5KHRpbWVzdGFtcFByb3ZpZGVyPzogVGltZXN0YW1wUHJvdmlkZXIpIHtcbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHsgdGltZXN0YW1wOiBudW1iZXI7IGVsYXBzZWQ6IG51bWJlciB9Pigoc3Vic2NyaWJlcikgPT4ge1xuICAgIC8vIElmIG5vIHRpbWVzdGFtcCBwcm92aWRlciBpcyBzcGVjaWZpZWQsIHVzZSBwZXJmb3JtYW5jZS5ub3coKSAtIGFzIGl0XG4gICAgLy8gd2lsbCByZXR1cm4gdGltZXN0YW1wcyAnY29tcGF0aWJsZScgd2l0aCB0aG9zZSBwYXNzZWQgdG8gdGhlIHJ1blxuICAgIC8vIGNhbGxiYWNrIGFuZCB3b24ndCBiZSBhZmZlY3RlZCBieSBOVFAgYWRqdXN0bWVudHMsIGV0Yy5cbiAgICBjb25zdCBwcm92aWRlciA9IHRpbWVzdGFtcFByb3ZpZGVyIHx8IHBlcmZvcm1hbmNlVGltZXN0YW1wUHJvdmlkZXI7XG5cbiAgICAvLyBDYXB0dXJlIHRoZSBzdGFydCB0aW1lIHVwb24gc3Vic2NyaXB0aW9uLCBhcyB0aGUgcnVuIGNhbGxiYWNrIGNhbiByZW1haW5cbiAgICAvLyBxdWV1ZWQgZm9yIGEgY29uc2lkZXJhYmxlIHBlcmlvZCBvZiB0aW1lIGFuZCB0aGUgZWxhcHNlZCB0aW1lIHNob3VsZFxuICAgIC8vIHJlcHJlc2VudCB0aGUgdGltZSBlbGFwc2VkIHNpbmNlIHN1YnNjcmlwdGlvbiAtIG5vdCB0aGUgdGltZSBzaW5jZSB0aGVcbiAgICAvLyBmaXJzdCByZW5kZXJlZCBhbmltYXRpb24gZnJhbWUuXG4gICAgY29uc3Qgc3RhcnQgPSBwcm92aWRlci5ub3coKTtcblxuICAgIGxldCBpZCA9IDA7XG4gICAgY29uc3QgcnVuID0gKCkgPT4ge1xuICAgICAgaWYgKCFzdWJzY3JpYmVyLmNsb3NlZCkge1xuICAgICAgICBpZCA9IGFuaW1hdGlvbkZyYW1lUHJvdmlkZXIucmVxdWVzdEFuaW1hdGlvbkZyYW1lKCh0aW1lc3RhbXA6IERPTUhpZ2hSZXNUaW1lU3RhbXAgfCBudW1iZXIpID0+IHtcbiAgICAgICAgICBpZCA9IDA7XG4gICAgICAgICAgLy8gVXNlIHRoZSBwcm92aWRlcidzIHRpbWVzdGFtcCB0byBjYWxjdWxhdGUgdGhlIGVsYXBzZWQgdGltZS4gTm90ZSB0aGF0XG4gICAgICAgICAgLy8gdGhpcyBtZWFucyAtIGlmIHRoZSBjYWxsZXIgaGFzbid0IHBhc3NlZCBhIHByb3ZpZGVyIC0gdGhhdFxuICAgICAgICAgIC8vIHBlcmZvcm1hbmNlLm5vdygpIHdpbGwgYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSB0aW1lc3RhbXAgdGhhdCB3YXNcbiAgICAgICAgICAvLyBwYXNzZWQgdG8gdGhlIHJ1biBjYWxsYmFjay4gVGhlIHJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0IHRoZSB0aW1lc3RhbXBcbiAgICAgICAgICAvLyBwYXNzZWQgdG8gdGhlIGNhbGxiYWNrIGNhbiBiZSBlYXJsaWVyIHRoYW4gdGhlIHN0YXJ0IHRpbWUsIGFzIGl0XG4gICAgICAgICAgLy8gcmVwcmVzZW50cyB0aGUgdGltZSBhdCB3aGljaCB0aGUgYnJvd3NlciBkZWNpZGVkIGl0IHdvdWxkIHJlbmRlciBhbnlcbiAgICAgICAgICAvLyBxdWV1ZWQgZnJhbWVzIC0gYW5kIHRoYXQgdGltZSBjYW4gYmUgZWFybGllciB0aGUgY2FwdHVyZWQgc3RhcnQgdGltZS5cbiAgICAgICAgICBjb25zdCBub3cgPSBwcm92aWRlci5ub3coKTtcbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoe1xuICAgICAgICAgICAgdGltZXN0YW1wOiB0aW1lc3RhbXBQcm92aWRlciA/IG5vdyA6IHRpbWVzdGFtcCxcbiAgICAgICAgICAgIGVsYXBzZWQ6IG5vdyAtIHN0YXJ0LFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIHJ1bigpO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgcnVuKCk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKGlkKSB7XG4gICAgICAgIGFuaW1hdGlvbkZyYW1lUHJvdmlkZXIuY2FuY2VsQW5pbWF0aW9uRnJhbWUoaWQpO1xuICAgICAgfVxuICAgIH07XG4gIH0pO1xufVxuXG4vKipcbiAqIEluIHRoZSBjb21tb24gY2FzZSwgd2hlcmUgdGhlIHRpbWVzdGFtcCBwcm92aWRlZCBieSB0aGUgckFGIEFQSSBpcyB1c2VkLFxuICogd2UgdXNlIHRoaXMgc2hhcmVkIG9ic2VydmFibGUgdG8gcmVkdWNlIG92ZXJoZWFkLlxuICovXG5jb25zdCBERUZBVUxUX0FOSU1BVElPTl9GUkFNRVMgPSBhbmltYXRpb25GcmFtZXNGYWN0b3J5KCk7XG4iLCAiaW1wb3J0IHsgY3JlYXRlRXJyb3JDbGFzcyB9IGZyb20gJy4vY3JlYXRlRXJyb3JDbGFzcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIE9iamVjdFVuc3Vic2NyaWJlZEVycm9yQ3RvciB7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBJbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuIERvIG5vdCBjb25zdHJ1Y3QgZXJyb3IgaW5zdGFuY2VzLlxuICAgKiBDYW5ub3QgYmUgdGFnZ2VkIGFzIGludGVybmFsOiBodHRwczovL2dpdGh1Yi5jb20vUmVhY3RpdmVYL3J4anMvaXNzdWVzLzYyNjlcbiAgICovXG4gIG5ldyAoKTogT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3I7XG59XG5cbi8qKlxuICogQW4gZXJyb3IgdGhyb3duIHdoZW4gYW4gYWN0aW9uIGlzIGludmFsaWQgYmVjYXVzZSB0aGUgb2JqZWN0IGhhcyBiZWVuXG4gKiB1bnN1YnNjcmliZWQuXG4gKlxuICogQHNlZSB7QGxpbmsgU3ViamVjdH1cbiAqIEBzZWUge0BsaW5rIEJlaGF2aW9yU3ViamVjdH1cbiAqXG4gKiBAY2xhc3MgT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3JcbiAqL1xuZXhwb3J0IGNvbnN0IE9iamVjdFVuc3Vic2NyaWJlZEVycm9yOiBPYmplY3RVbnN1YnNjcmliZWRFcnJvckN0b3IgPSBjcmVhdGVFcnJvckNsYXNzKFxuICAoX3N1cGVyKSA9PlxuICAgIGZ1bmN0aW9uIE9iamVjdFVuc3Vic2NyaWJlZEVycm9ySW1wbCh0aGlzOiBhbnkpIHtcbiAgICAgIF9zdXBlcih0aGlzKTtcbiAgICAgIHRoaXMubmFtZSA9ICdPYmplY3RVbnN1YnNjcmliZWRFcnJvcic7XG4gICAgICB0aGlzLm1lc3NhZ2UgPSAnb2JqZWN0IHVuc3Vic2NyaWJlZCc7XG4gICAgfVxuKTtcbiIsICJpbXBvcnQgeyBPcGVyYXRvciB9IGZyb20gJy4vT3BlcmF0b3InO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi9TdWJzY3JpYmVyJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiwgRU1QVFlfU1VCU0NSSVBUSU9OIH0gZnJvbSAnLi9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgT2JzZXJ2ZXIsIFN1YnNjcmlwdGlvbkxpa2UsIFRlYXJkb3duTG9naWMgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IE9iamVjdFVuc3Vic2NyaWJlZEVycm9yIH0gZnJvbSAnLi91dGlsL09iamVjdFVuc3Vic2NyaWJlZEVycm9yJztcbmltcG9ydCB7IGFyclJlbW92ZSB9IGZyb20gJy4vdXRpbC9hcnJSZW1vdmUnO1xuaW1wb3J0IHsgZXJyb3JDb250ZXh0IH0gZnJvbSAnLi91dGlsL2Vycm9yQ29udGV4dCc7XG5cbi8qKlxuICogQSBTdWJqZWN0IGlzIGEgc3BlY2lhbCB0eXBlIG9mIE9ic2VydmFibGUgdGhhdCBhbGxvd3MgdmFsdWVzIHRvIGJlXG4gKiBtdWx0aWNhc3RlZCB0byBtYW55IE9ic2VydmVycy4gU3ViamVjdHMgYXJlIGxpa2UgRXZlbnRFbWl0dGVycy5cbiAqXG4gKiBFdmVyeSBTdWJqZWN0IGlzIGFuIE9ic2VydmFibGUgYW5kIGFuIE9ic2VydmVyLiBZb3UgY2FuIHN1YnNjcmliZSB0byBhXG4gKiBTdWJqZWN0LCBhbmQgeW91IGNhbiBjYWxsIG5leHQgdG8gZmVlZCB2YWx1ZXMgYXMgd2VsbCBhcyBlcnJvciBhbmQgY29tcGxldGUuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdWJqZWN0PFQ+IGV4dGVuZHMgT2JzZXJ2YWJsZTxUPiBpbXBsZW1lbnRzIFN1YnNjcmlwdGlvbkxpa2Uge1xuICBjbG9zZWQgPSBmYWxzZTtcblxuICBwcml2YXRlIGN1cnJlbnRPYnNlcnZlcnM6IE9ic2VydmVyPFQ+W10gfCBudWxsID0gbnVsbDtcblxuICAvKiogQGRlcHJlY2F0ZWQgSW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZGV0YWlsLCBkbyBub3QgdXNlIGRpcmVjdGx5LiBXaWxsIGJlIG1hZGUgaW50ZXJuYWwgaW4gdjguICovXG4gIG9ic2VydmVyczogT2JzZXJ2ZXI8VD5bXSA9IFtdO1xuICAvKiogQGRlcHJlY2F0ZWQgSW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZGV0YWlsLCBkbyBub3QgdXNlIGRpcmVjdGx5LiBXaWxsIGJlIG1hZGUgaW50ZXJuYWwgaW4gdjguICovXG4gIGlzU3RvcHBlZCA9IGZhbHNlO1xuICAvKiogQGRlcHJlY2F0ZWQgSW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZGV0YWlsLCBkbyBub3QgdXNlIGRpcmVjdGx5LiBXaWxsIGJlIG1hZGUgaW50ZXJuYWwgaW4gdjguICovXG4gIGhhc0Vycm9yID0gZmFsc2U7XG4gIC8qKiBAZGVwcmVjYXRlZCBJbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBkZXRhaWwsIGRvIG5vdCB1c2UgZGlyZWN0bHkuIFdpbGwgYmUgbWFkZSBpbnRlcm5hbCBpbiB2OC4gKi9cbiAgdGhyb3duRXJyb3I6IGFueSA9IG51bGw7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBcInN1YmplY3RcIiBieSBiYXNpY2FsbHkgZ2x1aW5nIGFuIG9ic2VydmVyIHRvIGFuIG9ic2VydmFibGUuXG4gICAqXG4gICAqIEBub2NvbGxhcHNlXG4gICAqIEBkZXByZWNhdGVkIFJlY29tbWVuZGVkIHlvdSBkbyBub3QgdXNlLiBXaWxsIGJlIHJlbW92ZWQgYXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLiBQbGFucyBmb3IgcmVwbGFjZW1lbnQgc3RpbGwgdW5kZXIgZGlzY3Vzc2lvbi5cbiAgICovXG4gIHN0YXRpYyBjcmVhdGU6ICguLi5hcmdzOiBhbnlbXSkgPT4gYW55ID0gPFQ+KGRlc3RpbmF0aW9uOiBPYnNlcnZlcjxUPiwgc291cmNlOiBPYnNlcnZhYmxlPFQ+KTogQW5vbnltb3VzU3ViamVjdDxUPiA9PiB7XG4gICAgcmV0dXJuIG5ldyBBbm9ueW1vdXNTdWJqZWN0PFQ+KGRlc3RpbmF0aW9uLCBzb3VyY2UpO1xuICB9O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIC8vIE5PVEU6IFRoaXMgbXVzdCBiZSBoZXJlIHRvIG9ic2N1cmUgT2JzZXJ2YWJsZSdzIGNvbnN0cnVjdG9yLlxuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKiogQGRlcHJlY2F0ZWQgSW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZGV0YWlsLCBkbyBub3QgdXNlIGRpcmVjdGx5LiBXaWxsIGJlIG1hZGUgaW50ZXJuYWwgaW4gdjguICovXG4gIGxpZnQ8Uj4ob3BlcmF0b3I6IE9wZXJhdG9yPFQsIFI+KTogT2JzZXJ2YWJsZTxSPiB7XG4gICAgY29uc3Qgc3ViamVjdCA9IG5ldyBBbm9ueW1vdXNTdWJqZWN0KHRoaXMsIHRoaXMpO1xuICAgIHN1YmplY3Qub3BlcmF0b3IgPSBvcGVyYXRvciBhcyBhbnk7XG4gICAgcmV0dXJuIHN1YmplY3QgYXMgYW55O1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgX3Rocm93SWZDbG9zZWQoKSB7XG4gICAgaWYgKHRoaXMuY2xvc2VkKSB7XG4gICAgICB0aHJvdyBuZXcgT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3IoKTtcbiAgICB9XG4gIH1cblxuICBuZXh0KHZhbHVlOiBUKSB7XG4gICAgZXJyb3JDb250ZXh0KCgpID0+IHtcbiAgICAgIHRoaXMuX3Rocm93SWZDbG9zZWQoKTtcbiAgICAgIGlmICghdGhpcy5pc1N0b3BwZWQpIHtcbiAgICAgICAgaWYgKCF0aGlzLmN1cnJlbnRPYnNlcnZlcnMpIHtcbiAgICAgICAgICB0aGlzLmN1cnJlbnRPYnNlcnZlcnMgPSBBcnJheS5mcm9tKHRoaXMub2JzZXJ2ZXJzKTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGNvbnN0IG9ic2VydmVyIG9mIHRoaXMuY3VycmVudE9ic2VydmVycykge1xuICAgICAgICAgIG9ic2VydmVyLm5leHQodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBlcnJvcihlcnI6IGFueSkge1xuICAgIGVycm9yQ29udGV4dCgoKSA9PiB7XG4gICAgICB0aGlzLl90aHJvd0lmQ2xvc2VkKCk7XG4gICAgICBpZiAoIXRoaXMuaXNTdG9wcGVkKSB7XG4gICAgICAgIHRoaXMuaGFzRXJyb3IgPSB0aGlzLmlzU3RvcHBlZCA9IHRydWU7XG4gICAgICAgIHRoaXMudGhyb3duRXJyb3IgPSBlcnI7XG4gICAgICAgIGNvbnN0IHsgb2JzZXJ2ZXJzIH0gPSB0aGlzO1xuICAgICAgICB3aGlsZSAob2JzZXJ2ZXJzLmxlbmd0aCkge1xuICAgICAgICAgIG9ic2VydmVycy5zaGlmdCgpIS5lcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBjb21wbGV0ZSgpIHtcbiAgICBlcnJvckNvbnRleHQoKCkgPT4ge1xuICAgICAgdGhpcy5fdGhyb3dJZkNsb3NlZCgpO1xuICAgICAgaWYgKCF0aGlzLmlzU3RvcHBlZCkge1xuICAgICAgICB0aGlzLmlzU3RvcHBlZCA9IHRydWU7XG4gICAgICAgIGNvbnN0IHsgb2JzZXJ2ZXJzIH0gPSB0aGlzO1xuICAgICAgICB3aGlsZSAob2JzZXJ2ZXJzLmxlbmd0aCkge1xuICAgICAgICAgIG9ic2VydmVycy5zaGlmdCgpIS5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICB1bnN1YnNjcmliZSgpIHtcbiAgICB0aGlzLmlzU3RvcHBlZCA9IHRoaXMuY2xvc2VkID0gdHJ1ZTtcbiAgICB0aGlzLm9ic2VydmVycyA9IHRoaXMuY3VycmVudE9ic2VydmVycyA9IG51bGwhO1xuICB9XG5cbiAgZ2V0IG9ic2VydmVkKCkge1xuICAgIHJldHVybiB0aGlzLm9ic2VydmVycz8ubGVuZ3RoID4gMDtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIF90cnlTdWJzY3JpYmUoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxUPik6IFRlYXJkb3duTG9naWMge1xuICAgIHRoaXMuX3Rocm93SWZDbG9zZWQoKTtcbiAgICByZXR1cm4gc3VwZXIuX3RyeVN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgfVxuXG4gIC8qKiBAaW50ZXJuYWwgKi9cbiAgcHJvdGVjdGVkIF9zdWJzY3JpYmUoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxUPik6IFN1YnNjcmlwdGlvbiB7XG4gICAgdGhpcy5fdGhyb3dJZkNsb3NlZCgpO1xuICAgIHRoaXMuX2NoZWNrRmluYWxpemVkU3RhdHVzZXMoc3Vic2NyaWJlcik7XG4gICAgcmV0dXJuIHRoaXMuX2lubmVyU3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgX2lubmVyU3Vic2NyaWJlKHN1YnNjcmliZXI6IFN1YnNjcmliZXI8YW55Pikge1xuICAgIGNvbnN0IHsgaGFzRXJyb3IsIGlzU3RvcHBlZCwgb2JzZXJ2ZXJzIH0gPSB0aGlzO1xuICAgIGlmIChoYXNFcnJvciB8fCBpc1N0b3BwZWQpIHtcbiAgICAgIHJldHVybiBFTVBUWV9TVUJTQ1JJUFRJT047XG4gICAgfVxuICAgIHRoaXMuY3VycmVudE9ic2VydmVycyA9IG51bGw7XG4gICAgb2JzZXJ2ZXJzLnB1c2goc3Vic2NyaWJlcik7XG4gICAgcmV0dXJuIG5ldyBTdWJzY3JpcHRpb24oKCkgPT4ge1xuICAgICAgdGhpcy5jdXJyZW50T2JzZXJ2ZXJzID0gbnVsbDtcbiAgICAgIGFyclJlbW92ZShvYnNlcnZlcnMsIHN1YnNjcmliZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgX2NoZWNrRmluYWxpemVkU3RhdHVzZXMoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxhbnk+KSB7XG4gICAgY29uc3QgeyBoYXNFcnJvciwgdGhyb3duRXJyb3IsIGlzU3RvcHBlZCB9ID0gdGhpcztcbiAgICBpZiAoaGFzRXJyb3IpIHtcbiAgICAgIHN1YnNjcmliZXIuZXJyb3IodGhyb3duRXJyb3IpO1xuICAgIH0gZWxzZSBpZiAoaXNTdG9wcGVkKSB7XG4gICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgT2JzZXJ2YWJsZSB3aXRoIHRoaXMgU3ViamVjdCBhcyB0aGUgc291cmNlLiBZb3UgY2FuIGRvIHRoaXNcbiAgICogdG8gY3JlYXRlIGN1c3RvbSBPYnNlcnZlci1zaWRlIGxvZ2ljIG9mIHRoZSBTdWJqZWN0IGFuZCBjb25jZWFsIGl0IGZyb21cbiAgICogY29kZSB0aGF0IHVzZXMgdGhlIE9ic2VydmFibGUuXG4gICAqIEByZXR1cm4ge09ic2VydmFibGV9IE9ic2VydmFibGUgdGhhdCB0aGUgU3ViamVjdCBjYXN0cyB0b1xuICAgKi9cbiAgYXNPYnNlcnZhYmxlKCk6IE9ic2VydmFibGU8VD4ge1xuICAgIGNvbnN0IG9ic2VydmFibGU6IGFueSA9IG5ldyBPYnNlcnZhYmxlPFQ+KCk7XG4gICAgb2JzZXJ2YWJsZS5zb3VyY2UgPSB0aGlzO1xuICAgIHJldHVybiBvYnNlcnZhYmxlO1xuICB9XG59XG5cbi8qKlxuICogQGNsYXNzIEFub255bW91c1N1YmplY3Q8VD5cbiAqL1xuZXhwb3J0IGNsYXNzIEFub255bW91c1N1YmplY3Q8VD4gZXh0ZW5kcyBTdWJqZWN0PFQ+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgLyoqIEBkZXByZWNhdGVkIEludGVybmFsIGltcGxlbWVudGF0aW9uIGRldGFpbCwgZG8gbm90IHVzZSBkaXJlY3RseS4gV2lsbCBiZSBtYWRlIGludGVybmFsIGluIHY4LiAqL1xuICAgIHB1YmxpYyBkZXN0aW5hdGlvbj86IE9ic2VydmVyPFQ+LFxuICAgIHNvdXJjZT86IE9ic2VydmFibGU8VD5cbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLnNvdXJjZSA9IHNvdXJjZTtcbiAgfVxuXG4gIG5leHQodmFsdWU6IFQpIHtcbiAgICB0aGlzLmRlc3RpbmF0aW9uPy5uZXh0Py4odmFsdWUpO1xuICB9XG5cbiAgZXJyb3IoZXJyOiBhbnkpIHtcbiAgICB0aGlzLmRlc3RpbmF0aW9uPy5lcnJvcj8uKGVycik7XG4gIH1cblxuICBjb21wbGV0ZSgpIHtcbiAgICB0aGlzLmRlc3RpbmF0aW9uPy5jb21wbGV0ZT8uKCk7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBfc3Vic2NyaWJlKHN1YnNjcmliZXI6IFN1YnNjcmliZXI8VD4pOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzLnNvdXJjZT8uc3Vic2NyaWJlKHN1YnNjcmliZXIpID8/IEVNUFRZX1NVQlNDUklQVElPTjtcbiAgfVxufVxuIiwgImltcG9ydCB7IFN1YmplY3QgfSBmcm9tICcuL1N1YmplY3QnO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICcuL1N1YnNjcmlwdGlvbic7XG5cbi8qKlxuICogQSB2YXJpYW50IG9mIFN1YmplY3QgdGhhdCByZXF1aXJlcyBhbiBpbml0aWFsIHZhbHVlIGFuZCBlbWl0cyBpdHMgY3VycmVudFxuICogdmFsdWUgd2hlbmV2ZXIgaXQgaXMgc3Vic2NyaWJlZCB0by5cbiAqXG4gKiBAY2xhc3MgQmVoYXZpb3JTdWJqZWN0PFQ+XG4gKi9cbmV4cG9ydCBjbGFzcyBCZWhhdmlvclN1YmplY3Q8VD4gZXh0ZW5kcyBTdWJqZWN0PFQ+IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfdmFsdWU6IFQpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgZ2V0IHZhbHVlKCk6IFQge1xuICAgIHJldHVybiB0aGlzLmdldFZhbHVlKCk7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBfc3Vic2NyaWJlKHN1YnNjcmliZXI6IFN1YnNjcmliZXI8VD4pOiBTdWJzY3JpcHRpb24ge1xuICAgIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHN1cGVyLl9zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gICAgIXN1YnNjcmlwdGlvbi5jbG9zZWQgJiYgc3Vic2NyaWJlci5uZXh0KHRoaXMuX3ZhbHVlKTtcbiAgICByZXR1cm4gc3Vic2NyaXB0aW9uO1xuICB9XG5cbiAgZ2V0VmFsdWUoKTogVCB7XG4gICAgY29uc3QgeyBoYXNFcnJvciwgdGhyb3duRXJyb3IsIF92YWx1ZSB9ID0gdGhpcztcbiAgICBpZiAoaGFzRXJyb3IpIHtcbiAgICAgIHRocm93IHRocm93bkVycm9yO1xuICAgIH1cbiAgICB0aGlzLl90aHJvd0lmQ2xvc2VkKCk7XG4gICAgcmV0dXJuIF92YWx1ZTtcbiAgfVxuXG4gIG5leHQodmFsdWU6IFQpOiB2b2lkIHtcbiAgICBzdXBlci5uZXh0KCh0aGlzLl92YWx1ZSA9IHZhbHVlKSk7XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBUaW1lc3RhbXBQcm92aWRlciB9IGZyb20gJy4uL3R5cGVzJztcblxuaW50ZXJmYWNlIERhdGVUaW1lc3RhbXBQcm92aWRlciBleHRlbmRzIFRpbWVzdGFtcFByb3ZpZGVyIHtcbiAgZGVsZWdhdGU6IFRpbWVzdGFtcFByb3ZpZGVyIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgY29uc3QgZGF0ZVRpbWVzdGFtcFByb3ZpZGVyOiBEYXRlVGltZXN0YW1wUHJvdmlkZXIgPSB7XG4gIG5vdygpIHtcbiAgICAvLyBVc2UgdGhlIHZhcmlhYmxlIHJhdGhlciB0aGFuIGB0aGlzYCBzbyB0aGF0IHRoZSBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkXG4gICAgLy8gd2l0aG91dCBiZWluZyBib3VuZCB0byB0aGUgcHJvdmlkZXIuXG4gICAgcmV0dXJuIChkYXRlVGltZXN0YW1wUHJvdmlkZXIuZGVsZWdhdGUgfHwgRGF0ZSkubm93KCk7XG4gIH0sXG4gIGRlbGVnYXRlOiB1bmRlZmluZWQsXG59O1xuIiwgImltcG9ydCB7IFN1YmplY3QgfSBmcm9tICcuL1N1YmplY3QnO1xuaW1wb3J0IHsgVGltZXN0YW1wUHJvdmlkZXIgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgZGF0ZVRpbWVzdGFtcFByb3ZpZGVyIH0gZnJvbSAnLi9zY2hlZHVsZXIvZGF0ZVRpbWVzdGFtcFByb3ZpZGVyJztcblxuLyoqXG4gKiBBIHZhcmlhbnQgb2Yge0BsaW5rIFN1YmplY3R9IHRoYXQgXCJyZXBsYXlzXCIgb2xkIHZhbHVlcyB0byBuZXcgc3Vic2NyaWJlcnMgYnkgZW1pdHRpbmcgdGhlbSB3aGVuIHRoZXkgZmlyc3Qgc3Vic2NyaWJlLlxuICpcbiAqIGBSZXBsYXlTdWJqZWN0YCBoYXMgYW4gaW50ZXJuYWwgYnVmZmVyIHRoYXQgd2lsbCBzdG9yZSBhIHNwZWNpZmllZCBudW1iZXIgb2YgdmFsdWVzIHRoYXQgaXQgaGFzIG9ic2VydmVkLiBMaWtlIGBTdWJqZWN0YCxcbiAqIGBSZXBsYXlTdWJqZWN0YCBcIm9ic2VydmVzXCIgdmFsdWVzIGJ5IGhhdmluZyB0aGVtIHBhc3NlZCB0byBpdHMgYG5leHRgIG1ldGhvZC4gV2hlbiBpdCBvYnNlcnZlcyBhIHZhbHVlLCBpdCB3aWxsIHN0b3JlIHRoYXRcbiAqIHZhbHVlIGZvciBhIHRpbWUgZGV0ZXJtaW5lZCBieSB0aGUgY29uZmlndXJhdGlvbiBvZiB0aGUgYFJlcGxheVN1YmplY3RgLCBhcyBwYXNzZWQgdG8gaXRzIGNvbnN0cnVjdG9yLlxuICpcbiAqIFdoZW4gYSBuZXcgc3Vic2NyaWJlciBzdWJzY3JpYmVzIHRvIHRoZSBgUmVwbGF5U3ViamVjdGAgaW5zdGFuY2UsIGl0IHdpbGwgc3luY2hyb25vdXNseSBlbWl0IGFsbCB2YWx1ZXMgaW4gaXRzIGJ1ZmZlciBpblxuICogYSBGaXJzdC1Jbi1GaXJzdC1PdXQgKEZJRk8pIG1hbm5lci4gVGhlIGBSZXBsYXlTdWJqZWN0YCB3aWxsIGFsc28gY29tcGxldGUsIGlmIGl0IGhhcyBvYnNlcnZlZCBjb21wbGV0aW9uOyBhbmQgaXQgd2lsbFxuICogZXJyb3IgaWYgaXQgaGFzIG9ic2VydmVkIGFuIGVycm9yLlxuICpcbiAqIFRoZXJlIGFyZSB0d28gbWFpbiBjb25maWd1cmF0aW9uIGl0ZW1zIHRvIGJlIGNvbmNlcm5lZCB3aXRoOlxuICpcbiAqIDEuIGBidWZmZXJTaXplYCAtIFRoaXMgd2lsbCBkZXRlcm1pbmUgaG93IG1hbnkgaXRlbXMgYXJlIHN0b3JlZCBpbiB0aGUgYnVmZmVyLCBkZWZhdWx0cyB0byBpbmZpbml0ZS5cbiAqIDIuIGB3aW5kb3dUaW1lYCAtIFRoZSBhbW91bnQgb2YgdGltZSB0byBob2xkIGEgdmFsdWUgaW4gdGhlIGJ1ZmZlciBiZWZvcmUgcmVtb3ZpbmcgaXQgZnJvbSB0aGUgYnVmZmVyLlxuICpcbiAqIEJvdGggY29uZmlndXJhdGlvbnMgbWF5IGV4aXN0IHNpbXVsdGFuZW91c2x5LiBTbyBpZiB5b3Ugd291bGQgbGlrZSB0byBidWZmZXIgYSBtYXhpbXVtIG9mIDMgdmFsdWVzLCBhcyBsb25nIGFzIHRoZSB2YWx1ZXNcbiAqIGFyZSBsZXNzIHRoYW4gMiBzZWNvbmRzIG9sZCwgeW91IGNvdWxkIGRvIHNvIHdpdGggYSBgbmV3IFJlcGxheVN1YmplY3QoMywgMjAwMClgLlxuICpcbiAqICMjIyBEaWZmZXJlbmNlcyB3aXRoIEJlaGF2aW9yU3ViamVjdFxuICpcbiAqIGBCZWhhdmlvclN1YmplY3RgIGlzIHNpbWlsYXIgdG8gYG5ldyBSZXBsYXlTdWJqZWN0KDEpYCwgd2l0aCBhIGNvdXBsZSBvZiBleGNlcHRpb25zOlxuICpcbiAqIDEuIGBCZWhhdmlvclN1YmplY3RgIGNvbWVzIFwicHJpbWVkXCIgd2l0aCBhIHNpbmdsZSB2YWx1ZSB1cG9uIGNvbnN0cnVjdGlvbi5cbiAqIDIuIGBSZXBsYXlTdWJqZWN0YCB3aWxsIHJlcGxheSB2YWx1ZXMsIGV2ZW4gYWZ0ZXIgb2JzZXJ2aW5nIGFuIGVycm9yLCB3aGVyZSBgQmVoYXZpb3JTdWJqZWN0YCB3aWxsIG5vdC5cbiAqXG4gKiBAc2VlIHtAbGluayBTdWJqZWN0fVxuICogQHNlZSB7QGxpbmsgQmVoYXZpb3JTdWJqZWN0fVxuICogQHNlZSB7QGxpbmsgc2hhcmVSZXBsYXl9XG4gKi9cbmV4cG9ydCBjbGFzcyBSZXBsYXlTdWJqZWN0PFQ+IGV4dGVuZHMgU3ViamVjdDxUPiB7XG4gIHByaXZhdGUgX2J1ZmZlcjogKFQgfCBudW1iZXIpW10gPSBbXTtcbiAgcHJpdmF0ZSBfaW5maW5pdGVUaW1lV2luZG93ID0gdHJ1ZTtcblxuICAvKipcbiAgICogQHBhcmFtIGJ1ZmZlclNpemUgVGhlIHNpemUgb2YgdGhlIGJ1ZmZlciB0byByZXBsYXkgb24gc3Vic2NyaXB0aW9uXG4gICAqIEBwYXJhbSB3aW5kb3dUaW1lIFRoZSBhbW91bnQgb2YgdGltZSB0aGUgYnVmZmVyZWQgaXRlbXMgd2lsbCBzdGF5IGJ1ZmZlcmVkXG4gICAqIEBwYXJhbSB0aW1lc3RhbXBQcm92aWRlciBBbiBvYmplY3Qgd2l0aCBhIGBub3coKWAgbWV0aG9kIHRoYXQgcHJvdmlkZXMgdGhlIGN1cnJlbnQgdGltZXN0YW1wLiBUaGlzIGlzIHVzZWQgdG9cbiAgICogY2FsY3VsYXRlIHRoZSBhbW91bnQgb2YgdGltZSBzb21ldGhpbmcgaGFzIGJlZW4gYnVmZmVyZWQuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9idWZmZXJTaXplID0gSW5maW5pdHksXG4gICAgcHJpdmF0ZSBfd2luZG93VGltZSA9IEluZmluaXR5LFxuICAgIHByaXZhdGUgX3RpbWVzdGFtcFByb3ZpZGVyOiBUaW1lc3RhbXBQcm92aWRlciA9IGRhdGVUaW1lc3RhbXBQcm92aWRlclxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuX2luZmluaXRlVGltZVdpbmRvdyA9IF93aW5kb3dUaW1lID09PSBJbmZpbml0eTtcbiAgICB0aGlzLl9idWZmZXJTaXplID0gTWF0aC5tYXgoMSwgX2J1ZmZlclNpemUpO1xuICAgIHRoaXMuX3dpbmRvd1RpbWUgPSBNYXRoLm1heCgxLCBfd2luZG93VGltZSk7XG4gIH1cblxuICBuZXh0KHZhbHVlOiBUKTogdm9pZCB7XG4gICAgY29uc3QgeyBpc1N0b3BwZWQsIF9idWZmZXIsIF9pbmZpbml0ZVRpbWVXaW5kb3csIF90aW1lc3RhbXBQcm92aWRlciwgX3dpbmRvd1RpbWUgfSA9IHRoaXM7XG4gICAgaWYgKCFpc1N0b3BwZWQpIHtcbiAgICAgIF9idWZmZXIucHVzaCh2YWx1ZSk7XG4gICAgICAhX2luZmluaXRlVGltZVdpbmRvdyAmJiBfYnVmZmVyLnB1c2goX3RpbWVzdGFtcFByb3ZpZGVyLm5vdygpICsgX3dpbmRvd1RpbWUpO1xuICAgIH1cbiAgICB0aGlzLl90cmltQnVmZmVyKCk7XG4gICAgc3VwZXIubmV4dCh2YWx1ZSk7XG4gIH1cblxuICAvKiogQGludGVybmFsICovXG4gIHByb3RlY3RlZCBfc3Vic2NyaWJlKHN1YnNjcmliZXI6IFN1YnNjcmliZXI8VD4pOiBTdWJzY3JpcHRpb24ge1xuICAgIHRoaXMuX3Rocm93SWZDbG9zZWQoKTtcbiAgICB0aGlzLl90cmltQnVmZmVyKCk7XG5cbiAgICBjb25zdCBzdWJzY3JpcHRpb24gPSB0aGlzLl9pbm5lclN1YnNjcmliZShzdWJzY3JpYmVyKTtcblxuICAgIGNvbnN0IHsgX2luZmluaXRlVGltZVdpbmRvdywgX2J1ZmZlciB9ID0gdGhpcztcbiAgICAvLyBXZSB1c2UgYSBjb3B5IGhlcmUsIHNvIHJlZW50cmFudCBjb2RlIGRvZXMgbm90IG11dGF0ZSBvdXIgYXJyYXkgd2hpbGUgd2UncmVcbiAgICAvLyBlbWl0dGluZyBpdCB0byBhIG5ldyBzdWJzY3JpYmVyLlxuICAgIGNvbnN0IGNvcHkgPSBfYnVmZmVyLnNsaWNlKCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb3B5Lmxlbmd0aCAmJiAhc3Vic2NyaWJlci5jbG9zZWQ7IGkgKz0gX2luZmluaXRlVGltZVdpbmRvdyA/IDEgOiAyKSB7XG4gICAgICBzdWJzY3JpYmVyLm5leHQoY29weVtpXSBhcyBUKTtcbiAgICB9XG5cbiAgICB0aGlzLl9jaGVja0ZpbmFsaXplZFN0YXR1c2VzKHN1YnNjcmliZXIpO1xuXG4gICAgcmV0dXJuIHN1YnNjcmlwdGlvbjtcbiAgfVxuXG4gIHByaXZhdGUgX3RyaW1CdWZmZXIoKSB7XG4gICAgY29uc3QgeyBfYnVmZmVyU2l6ZSwgX3RpbWVzdGFtcFByb3ZpZGVyLCBfYnVmZmVyLCBfaW5maW5pdGVUaW1lV2luZG93IH0gPSB0aGlzO1xuICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYW4gaW5maW5pdGUgYnVmZmVyIHNpemUsIGFuZCB3ZSdyZSBvdmVyIHRoZSBsZW5ndGgsXG4gICAgLy8gdXNlIHNwbGljZSB0byB0cnVuY2F0ZSB0aGUgb2xkIGJ1ZmZlciB2YWx1ZXMgb2ZmLiBOb3RlIHRoYXQgd2UgaGF2ZSB0b1xuICAgIC8vIGRvdWJsZSB0aGUgc2l6ZSBmb3IgaW5zdGFuY2VzIHdoZXJlIHdlJ3JlIG5vdCB1c2luZyBhbiBpbmZpbml0ZSB0aW1lIHdpbmRvd1xuICAgIC8vIGJlY2F1c2Ugd2UncmUgc3RvcmluZyB0aGUgdmFsdWVzIGFuZCB0aGUgdGltZXN0YW1wcyBpbiB0aGUgc2FtZSBhcnJheS5cbiAgICBjb25zdCBhZGp1c3RlZEJ1ZmZlclNpemUgPSAoX2luZmluaXRlVGltZVdpbmRvdyA/IDEgOiAyKSAqIF9idWZmZXJTaXplO1xuICAgIF9idWZmZXJTaXplIDwgSW5maW5pdHkgJiYgYWRqdXN0ZWRCdWZmZXJTaXplIDwgX2J1ZmZlci5sZW5ndGggJiYgX2J1ZmZlci5zcGxpY2UoMCwgX2J1ZmZlci5sZW5ndGggLSBhZGp1c3RlZEJ1ZmZlclNpemUpO1xuXG4gICAgLy8gTm93LCBpZiB3ZSdyZSBub3QgaW4gYW4gaW5maW5pdGUgdGltZSB3aW5kb3csIHJlbW92ZSBhbGwgdmFsdWVzIHdoZXJlIHRoZSB0aW1lIGlzXG4gICAgLy8gb2xkZXIgdGhhbiB3aGF0IGlzIGFsbG93ZWQuXG4gICAgaWYgKCFfaW5maW5pdGVUaW1lV2luZG93KSB7XG4gICAgICBjb25zdCBub3cgPSBfdGltZXN0YW1wUHJvdmlkZXIubm93KCk7XG4gICAgICBsZXQgbGFzdCA9IDA7XG4gICAgICAvLyBTZWFyY2ggdGhlIGFycmF5IGZvciB0aGUgZmlyc3QgdGltZXN0YW1wIHRoYXQgaXNuJ3QgZXhwaXJlZCBhbmRcbiAgICAgIC8vIHRydW5jYXRlIHRoZSBidWZmZXIgdXAgdG8gdGhhdCBwb2ludC5cbiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgX2J1ZmZlci5sZW5ndGggJiYgKF9idWZmZXJbaV0gYXMgbnVtYmVyKSA8PSBub3c7IGkgKz0gMikge1xuICAgICAgICBsYXN0ID0gaTtcbiAgICAgIH1cbiAgICAgIGxhc3QgJiYgX2J1ZmZlci5zcGxpY2UoMCwgbGFzdCArIDEpO1xuICAgIH1cbiAgfVxufVxuIiwgImltcG9ydCB7IFN1YmplY3QgfSBmcm9tICcuL1N1YmplY3QnO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4vU3Vic2NyaWJlcic7XG5cbi8qKlxuICogQSB2YXJpYW50IG9mIFN1YmplY3QgdGhhdCBvbmx5IGVtaXRzIGEgdmFsdWUgd2hlbiBpdCBjb21wbGV0ZXMuIEl0IHdpbGwgZW1pdFxuICogaXRzIGxhdGVzdCB2YWx1ZSB0byBhbGwgaXRzIG9ic2VydmVycyBvbiBjb21wbGV0aW9uLlxuICpcbiAqIEBjbGFzcyBBc3luY1N1YmplY3Q8VD5cbiAqL1xuZXhwb3J0IGNsYXNzIEFzeW5jU3ViamVjdDxUPiBleHRlbmRzIFN1YmplY3Q8VD4ge1xuICBwcml2YXRlIF92YWx1ZTogVCB8IG51bGwgPSBudWxsO1xuICBwcml2YXRlIF9oYXNWYWx1ZSA9IGZhbHNlO1xuICBwcml2YXRlIF9pc0NvbXBsZXRlID0gZmFsc2U7XG5cbiAgLyoqIEBpbnRlcm5hbCAqL1xuICBwcm90ZWN0ZWQgX2NoZWNrRmluYWxpemVkU3RhdHVzZXMoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxUPikge1xuICAgIGNvbnN0IHsgaGFzRXJyb3IsIF9oYXNWYWx1ZSwgX3ZhbHVlLCB0aHJvd25FcnJvciwgaXNTdG9wcGVkLCBfaXNDb21wbGV0ZSB9ID0gdGhpcztcbiAgICBpZiAoaGFzRXJyb3IpIHtcbiAgICAgIHN1YnNjcmliZXIuZXJyb3IodGhyb3duRXJyb3IpO1xuICAgIH0gZWxzZSBpZiAoaXNTdG9wcGVkIHx8IF9pc0NvbXBsZXRlKSB7XG4gICAgICBfaGFzVmFsdWUgJiYgc3Vic2NyaWJlci5uZXh0KF92YWx1ZSEpO1xuICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIG5leHQodmFsdWU6IFQpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNTdG9wcGVkKSB7XG4gICAgICB0aGlzLl92YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5faGFzVmFsdWUgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBsZXRlKCk6IHZvaWQge1xuICAgIGNvbnN0IHsgX2hhc1ZhbHVlLCBfdmFsdWUsIF9pc0NvbXBsZXRlIH0gPSB0aGlzO1xuICAgIGlmICghX2lzQ29tcGxldGUpIHtcbiAgICAgIHRoaXMuX2lzQ29tcGxldGUgPSB0cnVlO1xuICAgICAgX2hhc1ZhbHVlICYmIHN1cGVyLm5leHQoX3ZhbHVlISk7XG4gICAgICBzdXBlci5jb21wbGV0ZSgpO1xuICAgIH1cbiAgfVxufVxuIiwgImltcG9ydCB7IFNjaGVkdWxlciB9IGZyb20gJy4uL1NjaGVkdWxlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgU2NoZWR1bGVyQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKipcbiAqIEEgdW5pdCBvZiB3b3JrIHRvIGJlIGV4ZWN1dGVkIGluIGEgYHNjaGVkdWxlcmAuIEFuIGFjdGlvbiBpcyB0eXBpY2FsbHlcbiAqIGNyZWF0ZWQgZnJvbSB3aXRoaW4gYSB7QGxpbmsgU2NoZWR1bGVyTGlrZX0gYW5kIGFuIFJ4SlMgdXNlciBkb2VzIG5vdCBuZWVkIHRvIGNvbmNlcm5cbiAqIHRoZW1zZWx2ZXMgYWJvdXQgY3JlYXRpbmcgYW5kIG1hbmlwdWxhdGluZyBhbiBBY3Rpb24uXG4gKlxuICogYGBgdHNcbiAqIGNsYXNzIEFjdGlvbjxUPiBleHRlbmRzIFN1YnNjcmlwdGlvbiB7XG4gKiAgIG5ldyAoc2NoZWR1bGVyOiBTY2hlZHVsZXIsIHdvcms6IChzdGF0ZT86IFQpID0+IHZvaWQpO1xuICogICBzY2hlZHVsZShzdGF0ZT86IFQsIGRlbGF5OiBudW1iZXIgPSAwKTogU3Vic2NyaXB0aW9uO1xuICogfVxuICogYGBgXG4gKlxuICogQGNsYXNzIEFjdGlvbjxUPlxuICovXG5leHBvcnQgY2xhc3MgQWN0aW9uPFQ+IGV4dGVuZHMgU3Vic2NyaXB0aW9uIHtcbiAgY29uc3RydWN0b3Ioc2NoZWR1bGVyOiBTY2hlZHVsZXIsIHdvcms6ICh0aGlzOiBTY2hlZHVsZXJBY3Rpb248VD4sIHN0YXRlPzogVCkgPT4gdm9pZCkge1xuICAgIHN1cGVyKCk7XG4gIH1cbiAgLyoqXG4gICAqIFNjaGVkdWxlcyB0aGlzIGFjdGlvbiBvbiBpdHMgcGFyZW50IHtAbGluayBTY2hlZHVsZXJMaWtlfSBmb3IgZXhlY3V0aW9uLiBNYXkgYmUgcGFzc2VkXG4gICAqIHNvbWUgY29udGV4dCBvYmplY3QsIGBzdGF0ZWAuIE1heSBoYXBwZW4gYXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLFxuICAgKiBhY2NvcmRpbmcgdG8gdGhlIGBkZWxheWAgcGFyYW1ldGVyLCBpZiBzcGVjaWZpZWQuXG4gICAqIEBwYXJhbSB7VH0gW3N0YXRlXSBTb21lIGNvbnRleHR1YWwgZGF0YSB0aGF0IHRoZSBgd29ya2AgZnVuY3Rpb24gdXNlcyB3aGVuXG4gICAqIGNhbGxlZCBieSB0aGUgU2NoZWR1bGVyLlxuICAgKiBAcGFyYW0ge251bWJlcn0gW2RlbGF5XSBUaW1lIHRvIHdhaXQgYmVmb3JlIGV4ZWN1dGluZyB0aGUgd29yaywgd2hlcmUgdGhlXG4gICAqIHRpbWUgdW5pdCBpcyBpbXBsaWNpdCBhbmQgZGVmaW5lZCBieSB0aGUgU2NoZWR1bGVyLlxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgcHVibGljIHNjaGVkdWxlKHN0YXRlPzogVCwgZGVsYXk6IG51bWJlciA9IDApOiBTdWJzY3JpcHRpb24ge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBUaW1lckhhbmRsZSB9IGZyb20gJy4vdGltZXJIYW5kbGUnO1xudHlwZSBTZXRJbnRlcnZhbEZ1bmN0aW9uID0gKGhhbmRsZXI6ICgpID0+IHZvaWQsIHRpbWVvdXQ/OiBudW1iZXIsIC4uLmFyZ3M6IGFueVtdKSA9PiBUaW1lckhhbmRsZTtcbnR5cGUgQ2xlYXJJbnRlcnZhbEZ1bmN0aW9uID0gKGhhbmRsZTogVGltZXJIYW5kbGUpID0+IHZvaWQ7XG5cbmludGVyZmFjZSBJbnRlcnZhbFByb3ZpZGVyIHtcbiAgc2V0SW50ZXJ2YWw6IFNldEludGVydmFsRnVuY3Rpb247XG4gIGNsZWFySW50ZXJ2YWw6IENsZWFySW50ZXJ2YWxGdW5jdGlvbjtcbiAgZGVsZWdhdGU6XG4gICAgfCB7XG4gICAgICAgIHNldEludGVydmFsOiBTZXRJbnRlcnZhbEZ1bmN0aW9uO1xuICAgICAgICBjbGVhckludGVydmFsOiBDbGVhckludGVydmFsRnVuY3Rpb247XG4gICAgICB9XG4gICAgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBjb25zdCBpbnRlcnZhbFByb3ZpZGVyOiBJbnRlcnZhbFByb3ZpZGVyID0ge1xuICAvLyBXaGVuIGFjY2Vzc2luZyB0aGUgZGVsZWdhdGUsIHVzZSB0aGUgdmFyaWFibGUgcmF0aGVyIHRoYW4gYHRoaXNgIHNvIHRoYXRcbiAgLy8gdGhlIGZ1bmN0aW9ucyBjYW4gYmUgY2FsbGVkIHdpdGhvdXQgYmVpbmcgYm91bmQgdG8gdGhlIHByb3ZpZGVyLlxuICBzZXRJbnRlcnZhbChoYW5kbGVyOiAoKSA9PiB2b2lkLCB0aW1lb3V0PzogbnVtYmVyLCAuLi5hcmdzKSB7XG4gICAgY29uc3QgeyBkZWxlZ2F0ZSB9ID0gaW50ZXJ2YWxQcm92aWRlcjtcbiAgICBpZiAoZGVsZWdhdGU/LnNldEludGVydmFsKSB7XG4gICAgICByZXR1cm4gZGVsZWdhdGUuc2V0SW50ZXJ2YWwoaGFuZGxlciwgdGltZW91dCwgLi4uYXJncyk7XG4gICAgfVxuICAgIHJldHVybiBzZXRJbnRlcnZhbChoYW5kbGVyLCB0aW1lb3V0LCAuLi5hcmdzKTtcbiAgfSxcbiAgY2xlYXJJbnRlcnZhbChoYW5kbGUpIHtcbiAgICBjb25zdCB7IGRlbGVnYXRlIH0gPSBpbnRlcnZhbFByb3ZpZGVyO1xuICAgIHJldHVybiAoZGVsZWdhdGU/LmNsZWFySW50ZXJ2YWwgfHwgY2xlYXJJbnRlcnZhbCkoaGFuZGxlIGFzIGFueSk7XG4gIH0sXG4gIGRlbGVnYXRlOiB1bmRlZmluZWQsXG59O1xuIiwgImltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4vQWN0aW9uJztcbmltcG9ydCB7IFNjaGVkdWxlckFjdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBBc3luY1NjaGVkdWxlciB9IGZyb20gJy4vQXN5bmNTY2hlZHVsZXInO1xuaW1wb3J0IHsgaW50ZXJ2YWxQcm92aWRlciB9IGZyb20gJy4vaW50ZXJ2YWxQcm92aWRlcic7XG5pbXBvcnQgeyBhcnJSZW1vdmUgfSBmcm9tICcuLi91dGlsL2FyclJlbW92ZSc7XG5pbXBvcnQgeyBUaW1lckhhbmRsZSB9IGZyb20gJy4vdGltZXJIYW5kbGUnO1xuXG5leHBvcnQgY2xhc3MgQXN5bmNBY3Rpb248VD4gZXh0ZW5kcyBBY3Rpb248VD4ge1xuICBwdWJsaWMgaWQ6IFRpbWVySGFuZGxlIHwgdW5kZWZpbmVkO1xuICBwdWJsaWMgc3RhdGU/OiBUO1xuICAvLyBAdHMtaWdub3JlOiBQcm9wZXJ0eSBoYXMgbm8gaW5pdGlhbGl6ZXIgYW5kIGlzIG5vdCBkZWZpbml0ZWx5IGFzc2lnbmVkXG4gIHB1YmxpYyBkZWxheTogbnVtYmVyO1xuICBwcm90ZWN0ZWQgcGVuZGluZzogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzY2hlZHVsZXI6IEFzeW5jU2NoZWR1bGVyLCBwcm90ZWN0ZWQgd29yazogKHRoaXM6IFNjaGVkdWxlckFjdGlvbjxUPiwgc3RhdGU/OiBUKSA9PiB2b2lkKSB7XG4gICAgc3VwZXIoc2NoZWR1bGVyLCB3b3JrKTtcbiAgfVxuXG4gIHB1YmxpYyBzY2hlZHVsZShzdGF0ZT86IFQsIGRlbGF5OiBudW1iZXIgPSAwKTogU3Vic2NyaXB0aW9uIHtcbiAgICBpZiAodGhpcy5jbG9zZWQpIHtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH1cblxuICAgIC8vIEFsd2F5cyByZXBsYWNlIHRoZSBjdXJyZW50IHN0YXRlIHdpdGggdGhlIG5ldyBzdGF0ZS5cbiAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG5cbiAgICBjb25zdCBpZCA9IHRoaXMuaWQ7XG4gICAgY29uc3Qgc2NoZWR1bGVyID0gdGhpcy5zY2hlZHVsZXI7XG5cbiAgICAvL1xuICAgIC8vIEltcG9ydGFudCBpbXBsZW1lbnRhdGlvbiBub3RlOlxuICAgIC8vXG4gICAgLy8gQWN0aW9ucyBvbmx5IGV4ZWN1dGUgb25jZSBieSBkZWZhdWx0LCB1bmxlc3MgcmVzY2hlZHVsZWQgZnJvbSB3aXRoaW4gdGhlXG4gICAgLy8gc2NoZWR1bGVkIGNhbGxiYWNrLiBUaGlzIGFsbG93cyB1cyB0byBpbXBsZW1lbnQgc2luZ2xlIGFuZCByZXBlYXRcbiAgICAvLyBhY3Rpb25zIHZpYSB0aGUgc2FtZSBjb2RlIHBhdGgsIHdpdGhvdXQgYWRkaW5nIEFQSSBzdXJmYWNlIGFyZWEsIGFzIHdlbGxcbiAgICAvLyBhcyBtaW1pYyB0cmFkaXRpb25hbCByZWN1cnNpb24gYnV0IGFjcm9zcyBhc3luY2hyb25vdXMgYm91bmRhcmllcy5cbiAgICAvL1xuICAgIC8vIEhvd2V2ZXIsIEpTIHJ1bnRpbWVzIGFuZCB0aW1lcnMgZGlzdGluZ3Vpc2ggYmV0d2VlbiBpbnRlcnZhbHMgYWNoaWV2ZWQgYnlcbiAgICAvLyBzZXJpYWwgYHNldFRpbWVvdXRgIGNhbGxzIHZzLiBhIHNpbmdsZSBgc2V0SW50ZXJ2YWxgIGNhbGwuIEFuIGludGVydmFsIG9mXG4gICAgLy8gc2VyaWFsIGBzZXRUaW1lb3V0YCBjYWxscyBjYW4gYmUgaW5kaXZpZHVhbGx5IGRlbGF5ZWQsIHdoaWNoIGRlbGF5c1xuICAgIC8vIHNjaGVkdWxpbmcgdGhlIG5leHQgYHNldFRpbWVvdXRgLCBhbmQgc28gb24uIGBzZXRJbnRlcnZhbGAgYXR0ZW1wdHMgdG9cbiAgICAvLyBndWFyYW50ZWUgdGhlIGludGVydmFsIGNhbGxiYWNrIHdpbGwgYmUgaW52b2tlZCBtb3JlIHByZWNpc2VseSB0byB0aGVcbiAgICAvLyBpbnRlcnZhbCBwZXJpb2QsIHJlZ2FyZGxlc3Mgb2YgbG9hZC5cbiAgICAvL1xuICAgIC8vIFRoZXJlZm9yZSwgd2UgdXNlIGBzZXRJbnRlcnZhbGAgdG8gc2NoZWR1bGUgc2luZ2xlIGFuZCByZXBlYXQgYWN0aW9ucy5cbiAgICAvLyBJZiB0aGUgYWN0aW9uIHJlc2NoZWR1bGVzIGl0c2VsZiB3aXRoIHRoZSBzYW1lIGRlbGF5LCB0aGUgaW50ZXJ2YWwgaXMgbm90XG4gICAgLy8gY2FuY2VsZWQuIElmIHRoZSBhY3Rpb24gZG9lc24ndCByZXNjaGVkdWxlLCBvciByZXNjaGVkdWxlcyB3aXRoIGFcbiAgICAvLyBkaWZmZXJlbnQgZGVsYXksIHRoZSBpbnRlcnZhbCB3aWxsIGJlIGNhbmNlbGVkIGFmdGVyIHNjaGVkdWxlZCBjYWxsYmFja1xuICAgIC8vIGV4ZWN1dGlvbi5cbiAgICAvL1xuICAgIGlmIChpZCAhPSBudWxsKSB7XG4gICAgICB0aGlzLmlkID0gdGhpcy5yZWN5Y2xlQXN5bmNJZChzY2hlZHVsZXIsIGlkLCBkZWxheSk7XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBwZW5kaW5nIGZsYWcgaW5kaWNhdGluZyB0aGF0IHRoaXMgYWN0aW9uIGhhcyBiZWVuIHNjaGVkdWxlZCwgb3JcbiAgICAvLyBoYXMgcmVjdXJzaXZlbHkgcmVzY2hlZHVsZWQgaXRzZWxmLlxuICAgIHRoaXMucGVuZGluZyA9IHRydWU7XG5cbiAgICB0aGlzLmRlbGF5ID0gZGVsYXk7XG4gICAgLy8gSWYgdGhpcyBhY3Rpb24gaGFzIGFscmVhZHkgYW4gYXN5bmMgSWQsIGRvbid0IHJlcXVlc3QgYSBuZXcgb25lLlxuICAgIHRoaXMuaWQgPSB0aGlzLmlkID8/IHRoaXMucmVxdWVzdEFzeW5jSWQoc2NoZWR1bGVyLCB0aGlzLmlkLCBkZWxheSk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIHByb3RlY3RlZCByZXF1ZXN0QXN5bmNJZChzY2hlZHVsZXI6IEFzeW5jU2NoZWR1bGVyLCBfaWQ/OiBUaW1lckhhbmRsZSwgZGVsYXk6IG51bWJlciA9IDApOiBUaW1lckhhbmRsZSB7XG4gICAgcmV0dXJuIGludGVydmFsUHJvdmlkZXIuc2V0SW50ZXJ2YWwoc2NoZWR1bGVyLmZsdXNoLmJpbmQoc2NoZWR1bGVyLCB0aGlzKSwgZGVsYXkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlY3ljbGVBc3luY0lkKF9zY2hlZHVsZXI6IEFzeW5jU2NoZWR1bGVyLCBpZD86IFRpbWVySGFuZGxlLCBkZWxheTogbnVtYmVyIHwgbnVsbCA9IDApOiBUaW1lckhhbmRsZSB8IHVuZGVmaW5lZCB7XG4gICAgLy8gSWYgdGhpcyBhY3Rpb24gaXMgcmVzY2hlZHVsZWQgd2l0aCB0aGUgc2FtZSBkZWxheSB0aW1lLCBkb24ndCBjbGVhciB0aGUgaW50ZXJ2YWwgaWQuXG4gICAgaWYgKGRlbGF5ICE9IG51bGwgJiYgdGhpcy5kZWxheSA9PT0gZGVsYXkgJiYgdGhpcy5wZW5kaW5nID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIGlkO1xuICAgIH1cbiAgICAvLyBPdGhlcndpc2UsIGlmIHRoZSBhY3Rpb24ncyBkZWxheSB0aW1lIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBjdXJyZW50IGRlbGF5LFxuICAgIC8vIG9yIHRoZSBhY3Rpb24gaGFzIGJlZW4gcmVzY2hlZHVsZWQgYmVmb3JlIGl0J3MgZXhlY3V0ZWQsIGNsZWFyIHRoZSBpbnRlcnZhbCBpZFxuICAgIGlmIChpZCAhPSBudWxsKSB7XG4gICAgICBpbnRlcnZhbFByb3ZpZGVyLmNsZWFySW50ZXJ2YWwoaWQpO1xuICAgIH1cblxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICAvKipcbiAgICogSW1tZWRpYXRlbHkgZXhlY3V0ZXMgdGhpcyBhY3Rpb24gYW5kIHRoZSBgd29ya2AgaXQgY29udGFpbnMuXG4gICAqIEByZXR1cm4ge2FueX1cbiAgICovXG4gIHB1YmxpYyBleGVjdXRlKHN0YXRlOiBULCBkZWxheTogbnVtYmVyKTogYW55IHtcbiAgICBpZiAodGhpcy5jbG9zZWQpIHtcbiAgICAgIHJldHVybiBuZXcgRXJyb3IoJ2V4ZWN1dGluZyBhIGNhbmNlbGxlZCBhY3Rpb24nKTtcbiAgICB9XG5cbiAgICB0aGlzLnBlbmRpbmcgPSBmYWxzZTtcbiAgICBjb25zdCBlcnJvciA9IHRoaXMuX2V4ZWN1dGUoc3RhdGUsIGRlbGF5KTtcbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHJldHVybiBlcnJvcjtcbiAgICB9IGVsc2UgaWYgKHRoaXMucGVuZGluZyA9PT0gZmFsc2UgJiYgdGhpcy5pZCAhPSBudWxsKSB7XG4gICAgICAvLyBEZXF1ZXVlIGlmIHRoZSBhY3Rpb24gZGlkbid0IHJlc2NoZWR1bGUgaXRzZWxmLiBEb24ndCBjYWxsXG4gICAgICAvLyB1bnN1YnNjcmliZSgpLCBiZWNhdXNlIHRoZSBhY3Rpb24gY291bGQgcmVzY2hlZHVsZSBsYXRlci5cbiAgICAgIC8vIEZvciBleGFtcGxlOlxuICAgICAgLy8gYGBgXG4gICAgICAvLyBzY2hlZHVsZXIuc2NoZWR1bGUoZnVuY3Rpb24gZG9Xb3JrKGNvdW50ZXIpIHtcbiAgICAgIC8vICAgLyogLi4uIEknbSBhIGJ1c3kgd29ya2VyIGJlZSAuLi4gKi9cbiAgICAgIC8vICAgdmFyIG9yaWdpbmFsQWN0aW9uID0gdGhpcztcbiAgICAgIC8vICAgLyogd2FpdCAxMDBtcyBiZWZvcmUgcmVzY2hlZHVsaW5nIHRoZSBhY3Rpb24gKi9cbiAgICAgIC8vICAgc2V0VGltZW91dChmdW5jdGlvbiAoKSB7XG4gICAgICAvLyAgICAgb3JpZ2luYWxBY3Rpb24uc2NoZWR1bGUoY291bnRlciArIDEpO1xuICAgICAgLy8gICB9LCAxMDApO1xuICAgICAgLy8gfSwgMTAwMCk7XG4gICAgICAvLyBgYGBcbiAgICAgIHRoaXMuaWQgPSB0aGlzLnJlY3ljbGVBc3luY0lkKHRoaXMuc2NoZWR1bGVyLCB0aGlzLmlkLCBudWxsKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX2V4ZWN1dGUoc3RhdGU6IFQsIF9kZWxheTogbnVtYmVyKTogYW55IHtcbiAgICBsZXQgZXJyb3JlZDogYm9vbGVhbiA9IGZhbHNlO1xuICAgIGxldCBlcnJvclZhbHVlOiBhbnk7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMud29yayhzdGF0ZSk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgZXJyb3JlZCA9IHRydWU7XG4gICAgICAvLyBIQUNLOiBTaW5jZSBjb2RlIGVsc2V3aGVyZSBpcyByZWx5aW5nIG9uIHRoZSBcInRydXRoaW5lc3NcIiBvZiB0aGVcbiAgICAgIC8vIHJldHVybiBoZXJlLCB3ZSBjYW4ndCBoYXZlIGl0IHJldHVybiBcIlwiIG9yIDAgb3IgZmFsc2UuXG4gICAgICAvLyBUT0RPOiBDbGVhbiB0aGlzIHVwIHdoZW4gd2UgcmVmYWN0b3Igc2NoZWR1bGVycyBtaWQtdmVyc2lvbi04IG9yIHNvLlxuICAgICAgZXJyb3JWYWx1ZSA9IGUgPyBlIDogbmV3IEVycm9yKCdTY2hlZHVsZWQgYWN0aW9uIHRocmV3IGZhbHN5IGVycm9yJyk7XG4gICAgfVxuICAgIGlmIChlcnJvcmVkKSB7XG4gICAgICB0aGlzLnVuc3Vic2NyaWJlKCk7XG4gICAgICByZXR1cm4gZXJyb3JWYWx1ZTtcbiAgICB9XG4gIH1cblxuICB1bnN1YnNjcmliZSgpIHtcbiAgICBpZiAoIXRoaXMuY2xvc2VkKSB7XG4gICAgICBjb25zdCB7IGlkLCBzY2hlZHVsZXIgfSA9IHRoaXM7XG4gICAgICBjb25zdCB7IGFjdGlvbnMgfSA9IHNjaGVkdWxlcjtcblxuICAgICAgdGhpcy53b3JrID0gdGhpcy5zdGF0ZSA9IHRoaXMuc2NoZWR1bGVyID0gbnVsbCE7XG4gICAgICB0aGlzLnBlbmRpbmcgPSBmYWxzZTtcblxuICAgICAgYXJyUmVtb3ZlKGFjdGlvbnMsIHRoaXMpO1xuICAgICAgaWYgKGlkICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5pZCA9IHRoaXMucmVjeWNsZUFzeW5jSWQoc2NoZWR1bGVyLCBpZCwgbnVsbCk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuZGVsYXkgPSBudWxsITtcbiAgICAgIHN1cGVyLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG59XG4iLCAibGV0IG5leHRIYW5kbGUgPSAxO1xuLy8gVGhlIHByb21pc2UgbmVlZHMgdG8gYmUgY3JlYXRlZCBsYXppbHkgb3RoZXJ3aXNlIGl0IHdvbid0IGJlIHBhdGNoZWQgYnkgWm9uZXNcbmxldCByZXNvbHZlZDogUHJvbWlzZTxhbnk+O1xuY29uc3QgYWN0aXZlSGFuZGxlczogeyBba2V5OiBudW1iZXJdOiBhbnkgfSA9IHt9O1xuXG4vKipcbiAqIEZpbmRzIHRoZSBoYW5kbGUgaW4gdGhlIGxpc3Qgb2YgYWN0aXZlIGhhbmRsZXMsIGFuZCByZW1vdmVzIGl0LlxuICogUmV0dXJucyBgdHJ1ZWAgaWYgZm91bmQsIGBmYWxzZWAgb3RoZXJ3aXNlLiBVc2VkIGJvdGggdG8gY2xlYXJcbiAqIEltbWVkaWF0ZSBzY2hlZHVsZWQgdGFza3MsIGFuZCB0byBpZGVudGlmeSBpZiBhIHRhc2sgc2hvdWxkIGJlIHNjaGVkdWxlZC5cbiAqL1xuZnVuY3Rpb24gZmluZEFuZENsZWFySGFuZGxlKGhhbmRsZTogbnVtYmVyKTogYm9vbGVhbiB7XG4gIGlmIChoYW5kbGUgaW4gYWN0aXZlSGFuZGxlcykge1xuICAgIGRlbGV0ZSBhY3RpdmVIYW5kbGVzW2hhbmRsZV07XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIEhlbHBlciBmdW5jdGlvbnMgdG8gc2NoZWR1bGUgYW5kIHVuc2NoZWR1bGUgbWljcm90YXNrcy5cbiAqL1xuZXhwb3J0IGNvbnN0IEltbWVkaWF0ZSA9IHtcbiAgc2V0SW1tZWRpYXRlKGNiOiAoKSA9PiB2b2lkKTogbnVtYmVyIHtcbiAgICBjb25zdCBoYW5kbGUgPSBuZXh0SGFuZGxlKys7XG4gICAgYWN0aXZlSGFuZGxlc1toYW5kbGVdID0gdHJ1ZTtcbiAgICBpZiAoIXJlc29sdmVkKSB7XG4gICAgICByZXNvbHZlZCA9IFByb21pc2UucmVzb2x2ZSgpO1xuICAgIH1cbiAgICByZXNvbHZlZC50aGVuKCgpID0+IGZpbmRBbmRDbGVhckhhbmRsZShoYW5kbGUpICYmIGNiKCkpO1xuICAgIHJldHVybiBoYW5kbGU7XG4gIH0sXG5cbiAgY2xlYXJJbW1lZGlhdGUoaGFuZGxlOiBudW1iZXIpOiB2b2lkIHtcbiAgICBmaW5kQW5kQ2xlYXJIYW5kbGUoaGFuZGxlKTtcbiAgfSxcbn07XG5cbi8qKlxuICogVXNlZCBmb3IgaW50ZXJuYWwgdGVzdGluZyBwdXJwb3NlcyBvbmx5LiBEbyBub3QgZXhwb3J0IGZyb20gbGlicmFyeS5cbiAqL1xuZXhwb3J0IGNvbnN0IFRlc3RUb29scyA9IHtcbiAgcGVuZGluZygpIHtcbiAgICByZXR1cm4gT2JqZWN0LmtleXMoYWN0aXZlSGFuZGxlcykubGVuZ3RoO1xuICB9XG59O1xuIiwgImltcG9ydCB7IEltbWVkaWF0ZSB9IGZyb20gJy4uL3V0aWwvSW1tZWRpYXRlJztcbmltcG9ydCB0eXBlIHsgVGltZXJIYW5kbGUgfSBmcm9tICcuL3RpbWVySGFuZGxlJztcbmNvbnN0IHsgc2V0SW1tZWRpYXRlLCBjbGVhckltbWVkaWF0ZSB9ID0gSW1tZWRpYXRlO1xuXG50eXBlIFNldEltbWVkaWF0ZUZ1bmN0aW9uID0gKGhhbmRsZXI6ICgpID0+IHZvaWQsIC4uLmFyZ3M6IGFueVtdKSA9PiBUaW1lckhhbmRsZTtcbnR5cGUgQ2xlYXJJbW1lZGlhdGVGdW5jdGlvbiA9IChoYW5kbGU6IFRpbWVySGFuZGxlKSA9PiB2b2lkO1xuXG5pbnRlcmZhY2UgSW1tZWRpYXRlUHJvdmlkZXIge1xuICBzZXRJbW1lZGlhdGU6IFNldEltbWVkaWF0ZUZ1bmN0aW9uO1xuICBjbGVhckltbWVkaWF0ZTogQ2xlYXJJbW1lZGlhdGVGdW5jdGlvbjtcbiAgZGVsZWdhdGU6XG4gICAgfCB7XG4gICAgICAgIHNldEltbWVkaWF0ZTogU2V0SW1tZWRpYXRlRnVuY3Rpb247XG4gICAgICAgIGNsZWFySW1tZWRpYXRlOiBDbGVhckltbWVkaWF0ZUZ1bmN0aW9uO1xuICAgICAgfVxuICAgIHwgdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgY29uc3QgaW1tZWRpYXRlUHJvdmlkZXI6IEltbWVkaWF0ZVByb3ZpZGVyID0ge1xuICAvLyBXaGVuIGFjY2Vzc2luZyB0aGUgZGVsZWdhdGUsIHVzZSB0aGUgdmFyaWFibGUgcmF0aGVyIHRoYW4gYHRoaXNgIHNvIHRoYXRcbiAgLy8gdGhlIGZ1bmN0aW9ucyBjYW4gYmUgY2FsbGVkIHdpdGhvdXQgYmVpbmcgYm91bmQgdG8gdGhlIHByb3ZpZGVyLlxuICBzZXRJbW1lZGlhdGUoLi4uYXJncykge1xuICAgIGNvbnN0IHsgZGVsZWdhdGUgfSA9IGltbWVkaWF0ZVByb3ZpZGVyO1xuICAgIHJldHVybiAoZGVsZWdhdGU/LnNldEltbWVkaWF0ZSB8fCBzZXRJbW1lZGlhdGUpKC4uLmFyZ3MpO1xuICB9LFxuICBjbGVhckltbWVkaWF0ZShoYW5kbGUpIHtcbiAgICBjb25zdCB7IGRlbGVnYXRlIH0gPSBpbW1lZGlhdGVQcm92aWRlcjtcbiAgICByZXR1cm4gKGRlbGVnYXRlPy5jbGVhckltbWVkaWF0ZSB8fCBjbGVhckltbWVkaWF0ZSkoaGFuZGxlIGFzIGFueSk7XG4gIH0sXG4gIGRlbGVnYXRlOiB1bmRlZmluZWQsXG59O1xuIiwgImltcG9ydCB7IEFzeW5jQWN0aW9uIH0gZnJvbSAnLi9Bc3luY0FjdGlvbic7XG5pbXBvcnQgeyBBc2FwU2NoZWR1bGVyIH0gZnJvbSAnLi9Bc2FwU2NoZWR1bGVyJztcbmltcG9ydCB7IFNjaGVkdWxlckFjdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGltbWVkaWF0ZVByb3ZpZGVyIH0gZnJvbSAnLi9pbW1lZGlhdGVQcm92aWRlcic7XG5pbXBvcnQgeyBUaW1lckhhbmRsZSB9IGZyb20gJy4vdGltZXJIYW5kbGUnO1xuXG5leHBvcnQgY2xhc3MgQXNhcEFjdGlvbjxUPiBleHRlbmRzIEFzeW5jQWN0aW9uPFQ+IHtcbiAgY29uc3RydWN0b3IocHJvdGVjdGVkIHNjaGVkdWxlcjogQXNhcFNjaGVkdWxlciwgcHJvdGVjdGVkIHdvcms6ICh0aGlzOiBTY2hlZHVsZXJBY3Rpb248VD4sIHN0YXRlPzogVCkgPT4gdm9pZCkge1xuICAgIHN1cGVyKHNjaGVkdWxlciwgd29yayk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVxdWVzdEFzeW5jSWQoc2NoZWR1bGVyOiBBc2FwU2NoZWR1bGVyLCBpZD86IFRpbWVySGFuZGxlLCBkZWxheTogbnVtYmVyID0gMCk6IFRpbWVySGFuZGxlIHtcbiAgICAvLyBJZiBkZWxheSBpcyBncmVhdGVyIHRoYW4gMCwgcmVxdWVzdCBhcyBhbiBhc3luYyBhY3Rpb24uXG4gICAgaWYgKGRlbGF5ICE9PSBudWxsICYmIGRlbGF5ID4gMCkge1xuICAgICAgcmV0dXJuIHN1cGVyLnJlcXVlc3RBc3luY0lkKHNjaGVkdWxlciwgaWQsIGRlbGF5KTtcbiAgICB9XG4gICAgLy8gUHVzaCB0aGUgYWN0aW9uIHRvIHRoZSBlbmQgb2YgdGhlIHNjaGVkdWxlciBxdWV1ZS5cbiAgICBzY2hlZHVsZXIuYWN0aW9ucy5wdXNoKHRoaXMpO1xuICAgIC8vIElmIGEgbWljcm90YXNrIGhhcyBhbHJlYWR5IGJlZW4gc2NoZWR1bGVkLCBkb24ndCBzY2hlZHVsZSBhbm90aGVyXG4gICAgLy8gb25lLiBJZiBhIG1pY3JvdGFzayBoYXNuJ3QgYmVlbiBzY2hlZHVsZWQgeWV0LCBzY2hlZHVsZSBvbmUgbm93LiBSZXR1cm5cbiAgICAvLyB0aGUgY3VycmVudCBzY2hlZHVsZWQgbWljcm90YXNrIGlkLlxuICAgIHJldHVybiBzY2hlZHVsZXIuX3NjaGVkdWxlZCB8fCAoc2NoZWR1bGVyLl9zY2hlZHVsZWQgPSBpbW1lZGlhdGVQcm92aWRlci5zZXRJbW1lZGlhdGUoc2NoZWR1bGVyLmZsdXNoLmJpbmQoc2NoZWR1bGVyLCB1bmRlZmluZWQpKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVjeWNsZUFzeW5jSWQoc2NoZWR1bGVyOiBBc2FwU2NoZWR1bGVyLCBpZD86IFRpbWVySGFuZGxlLCBkZWxheTogbnVtYmVyID0gMCk6IFRpbWVySGFuZGxlIHwgdW5kZWZpbmVkIHtcbiAgICAvLyBJZiBkZWxheSBleGlzdHMgYW5kIGlzIGdyZWF0ZXIgdGhhbiAwLCBvciBpZiB0aGUgZGVsYXkgaXMgbnVsbCAodGhlXG4gICAgLy8gYWN0aW9uIHdhc24ndCByZXNjaGVkdWxlZCkgYnV0IHdhcyBvcmlnaW5hbGx5IHNjaGVkdWxlZCBhcyBhbiBhc3luY1xuICAgIC8vIGFjdGlvbiwgdGhlbiByZWN5Y2xlIGFzIGFuIGFzeW5jIGFjdGlvbi5cbiAgICBpZiAoZGVsYXkgIT0gbnVsbCA/IGRlbGF5ID4gMCA6IHRoaXMuZGVsYXkgPiAwKSB7XG4gICAgICByZXR1cm4gc3VwZXIucmVjeWNsZUFzeW5jSWQoc2NoZWR1bGVyLCBpZCwgZGVsYXkpO1xuICAgIH1cbiAgICAvLyBJZiB0aGUgc2NoZWR1bGVyIHF1ZXVlIGhhcyBubyByZW1haW5pbmcgYWN0aW9ucyB3aXRoIHRoZSBzYW1lIGFzeW5jIGlkLFxuICAgIC8vIGNhbmNlbCB0aGUgcmVxdWVzdGVkIG1pY3JvdGFzayBhbmQgc2V0IHRoZSBzY2hlZHVsZWQgZmxhZyB0byB1bmRlZmluZWRcbiAgICAvLyBzbyB0aGUgbmV4dCBBc2FwQWN0aW9uIHdpbGwgcmVxdWVzdCBpdHMgb3duLlxuICAgIGNvbnN0IHsgYWN0aW9ucyB9ID0gc2NoZWR1bGVyO1xuICAgIGlmIChpZCAhPSBudWxsICYmIGFjdGlvbnNbYWN0aW9ucy5sZW5ndGggLSAxXT8uaWQgIT09IGlkKSB7XG4gICAgICBpbW1lZGlhdGVQcm92aWRlci5jbGVhckltbWVkaWF0ZShpZCk7XG4gICAgICBpZiAoc2NoZWR1bGVyLl9zY2hlZHVsZWQgPT09IGlkKSB7XG4gICAgICAgIHNjaGVkdWxlci5fc2NoZWR1bGVkID0gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgICAvLyBSZXR1cm4gdW5kZWZpbmVkIHNvIHRoZSBhY3Rpb24ga25vd3MgdG8gcmVxdWVzdCBhIG5ldyBhc3luYyBpZCBpZiBpdCdzIHJlc2NoZWR1bGVkLlxuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBBY3Rpb24gfSBmcm9tICcuL3NjaGVkdWxlci9BY3Rpb24nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgU2NoZWR1bGVyTGlrZSwgU2NoZWR1bGVyQWN0aW9uIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBkYXRlVGltZXN0YW1wUHJvdmlkZXIgfSBmcm9tICcuL3NjaGVkdWxlci9kYXRlVGltZXN0YW1wUHJvdmlkZXInO1xuXG4vKipcbiAqIEFuIGV4ZWN1dGlvbiBjb250ZXh0IGFuZCBhIGRhdGEgc3RydWN0dXJlIHRvIG9yZGVyIHRhc2tzIGFuZCBzY2hlZHVsZSB0aGVpclxuICogZXhlY3V0aW9uLiBQcm92aWRlcyBhIG5vdGlvbiBvZiAocG90ZW50aWFsbHkgdmlydHVhbCkgdGltZSwgdGhyb3VnaCB0aGVcbiAqIGBub3coKWAgZ2V0dGVyIG1ldGhvZC5cbiAqXG4gKiBFYWNoIHVuaXQgb2Ygd29yayBpbiBhIFNjaGVkdWxlciBpcyBjYWxsZWQgYW4gYEFjdGlvbmAuXG4gKlxuICogYGBgdHNcbiAqIGNsYXNzIFNjaGVkdWxlciB7XG4gKiAgIG5vdygpOiBudW1iZXI7XG4gKiAgIHNjaGVkdWxlKHdvcmssIGRlbGF5Pywgc3RhdGU/KTogU3Vic2NyaXB0aW9uO1xuICogfVxuICogYGBgXG4gKlxuICogQGNsYXNzIFNjaGVkdWxlclxuICogQGRlcHJlY2F0ZWQgU2NoZWR1bGVyIGlzIGFuIGludGVybmFsIGltcGxlbWVudGF0aW9uIGRldGFpbCBvZiBSeEpTLCBhbmRcbiAqIHNob3VsZCBub3QgYmUgdXNlZCBkaXJlY3RseS4gUmF0aGVyLCBjcmVhdGUgeW91ciBvd24gY2xhc3MgYW5kIGltcGxlbWVudFxuICoge0BsaW5rIFNjaGVkdWxlckxpa2V9LiBXaWxsIGJlIG1hZGUgaW50ZXJuYWwgaW4gdjguXG4gKi9cbmV4cG9ydCBjbGFzcyBTY2hlZHVsZXIgaW1wbGVtZW50cyBTY2hlZHVsZXJMaWtlIHtcbiAgcHVibGljIHN0YXRpYyBub3c6ICgpID0+IG51bWJlciA9IGRhdGVUaW1lc3RhbXBQcm92aWRlci5ub3c7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzY2hlZHVsZXJBY3Rpb25DdG9yOiB0eXBlb2YgQWN0aW9uLCBub3c6ICgpID0+IG51bWJlciA9IFNjaGVkdWxlci5ub3cpIHtcbiAgICB0aGlzLm5vdyA9IG5vdztcbiAgfVxuXG4gIC8qKlxuICAgKiBBIGdldHRlciBtZXRob2QgdGhhdCByZXR1cm5zIGEgbnVtYmVyIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB0aW1lXG4gICAqIChhdCB0aGUgdGltZSB0aGlzIGZ1bmN0aW9uIHdhcyBjYWxsZWQpIGFjY29yZGluZyB0byB0aGUgc2NoZWR1bGVyJ3Mgb3duXG4gICAqIGludGVybmFsIGNsb2NrLlxuICAgKiBAcmV0dXJuIHtudW1iZXJ9IEEgbnVtYmVyIHRoYXQgcmVwcmVzZW50cyB0aGUgY3VycmVudCB0aW1lLiBNYXkgb3IgbWF5IG5vdFxuICAgKiBoYXZlIGEgcmVsYXRpb24gdG8gd2FsbC1jbG9jayB0aW1lLiBNYXkgb3IgbWF5IG5vdCByZWZlciB0byBhIHRpbWUgdW5pdFxuICAgKiAoZS5nLiBtaWxsaXNlY29uZHMpLlxuICAgKi9cbiAgcHVibGljIG5vdzogKCkgPT4gbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTY2hlZHVsZXMgYSBmdW5jdGlvbiwgYHdvcmtgLCBmb3IgZXhlY3V0aW9uLiBNYXkgaGFwcGVuIGF0IHNvbWUgcG9pbnQgaW5cbiAgICogdGhlIGZ1dHVyZSwgYWNjb3JkaW5nIHRvIHRoZSBgZGVsYXlgIHBhcmFtZXRlciwgaWYgc3BlY2lmaWVkLiBNYXkgYmUgcGFzc2VkXG4gICAqIHNvbWUgY29udGV4dCBvYmplY3QsIGBzdGF0ZWAsIHdoaWNoIHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBgd29ya2AgZnVuY3Rpb24uXG4gICAqXG4gICAqIFRoZSBnaXZlbiBhcmd1bWVudHMgd2lsbCBiZSBwcm9jZXNzZWQgYW4gc3RvcmVkIGFzIGFuIEFjdGlvbiBvYmplY3QgaW4gYVxuICAgKiBxdWV1ZSBvZiBhY3Rpb25zLlxuICAgKlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKHN0YXRlOiA/VCk6ID9TdWJzY3JpcHRpb259IHdvcmsgQSBmdW5jdGlvbiByZXByZXNlbnRpbmcgYVxuICAgKiB0YXNrLCBvciBzb21lIHVuaXQgb2Ygd29yayB0byBiZSBleGVjdXRlZCBieSB0aGUgU2NoZWR1bGVyLlxuICAgKiBAcGFyYW0ge251bWJlcn0gW2RlbGF5XSBUaW1lIHRvIHdhaXQgYmVmb3JlIGV4ZWN1dGluZyB0aGUgd29yaywgd2hlcmUgdGhlXG4gICAqIHRpbWUgdW5pdCBpcyBpbXBsaWNpdCBhbmQgZGVmaW5lZCBieSB0aGUgU2NoZWR1bGVyIGl0c2VsZi5cbiAgICogQHBhcmFtIHtUfSBbc3RhdGVdIFNvbWUgY29udGV4dHVhbCBkYXRhIHRoYXQgdGhlIGB3b3JrYCBmdW5jdGlvbiB1c2VzIHdoZW5cbiAgICogY2FsbGVkIGJ5IHRoZSBTY2hlZHVsZXIuXG4gICAqIEByZXR1cm4ge1N1YnNjcmlwdGlvbn0gQSBzdWJzY3JpcHRpb24gaW4gb3JkZXIgdG8gYmUgYWJsZSB0byB1bnN1YnNjcmliZVxuICAgKiB0aGUgc2NoZWR1bGVkIHdvcmsuXG4gICAqL1xuICBwdWJsaWMgc2NoZWR1bGU8VD4od29yazogKHRoaXM6IFNjaGVkdWxlckFjdGlvbjxUPiwgc3RhdGU/OiBUKSA9PiB2b2lkLCBkZWxheTogbnVtYmVyID0gMCwgc3RhdGU/OiBUKTogU3Vic2NyaXB0aW9uIHtcbiAgICByZXR1cm4gbmV3IHRoaXMuc2NoZWR1bGVyQWN0aW9uQ3RvcjxUPih0aGlzLCB3b3JrKS5zY2hlZHVsZShzdGF0ZSwgZGVsYXkpO1xuICB9XG59XG4iLCAiaW1wb3J0IHsgU2NoZWR1bGVyIH0gZnJvbSAnLi4vU2NoZWR1bGVyJztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJy4vQWN0aW9uJztcbmltcG9ydCB7IEFzeW5jQWN0aW9uIH0gZnJvbSAnLi9Bc3luY0FjdGlvbic7XG5pbXBvcnQgeyBUaW1lckhhbmRsZSB9IGZyb20gJy4vdGltZXJIYW5kbGUnO1xuXG5leHBvcnQgY2xhc3MgQXN5bmNTY2hlZHVsZXIgZXh0ZW5kcyBTY2hlZHVsZXIge1xuICBwdWJsaWMgYWN0aW9uczogQXJyYXk8QXN5bmNBY3Rpb248YW55Pj4gPSBbXTtcbiAgLyoqXG4gICAqIEEgZmxhZyB0byBpbmRpY2F0ZSB3aGV0aGVyIHRoZSBTY2hlZHVsZXIgaXMgY3VycmVudGx5IGV4ZWN1dGluZyBhIGJhdGNoIG9mXG4gICAqIHF1ZXVlZCBhY3Rpb25zLlxuICAgKiBAdHlwZSB7Ym9vbGVhbn1cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX2FjdGl2ZTogYm9vbGVhbiA9IGZhbHNlO1xuICAvKipcbiAgICogQW4gaW50ZXJuYWwgSUQgdXNlZCB0byB0cmFjayB0aGUgbGF0ZXN0IGFzeW5jaHJvbm91cyB0YXNrIHN1Y2ggYXMgdGhvc2VcbiAgICogY29taW5nIGZyb20gYHNldFRpbWVvdXRgLCBgc2V0SW50ZXJ2YWxgLCBgcmVxdWVzdEFuaW1hdGlvbkZyYW1lYCwgYW5kXG4gICAqIG90aGVycy5cbiAgICogQHR5cGUge2FueX1cbiAgICogQGludGVybmFsXG4gICAqL1xuICBwdWJsaWMgX3NjaGVkdWxlZDogVGltZXJIYW5kbGUgfCB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoU2NoZWR1bGVyQWN0aW9uOiB0eXBlb2YgQWN0aW9uLCBub3c6ICgpID0+IG51bWJlciA9IFNjaGVkdWxlci5ub3cpIHtcbiAgICBzdXBlcihTY2hlZHVsZXJBY3Rpb24sIG5vdyk7XG4gIH1cblxuICBwdWJsaWMgZmx1c2goYWN0aW9uOiBBc3luY0FjdGlvbjxhbnk+KTogdm9pZCB7XG4gICAgY29uc3QgeyBhY3Rpb25zIH0gPSB0aGlzO1xuXG4gICAgaWYgKHRoaXMuX2FjdGl2ZSkge1xuICAgICAgYWN0aW9ucy5wdXNoKGFjdGlvbik7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGVycm9yOiBhbnk7XG4gICAgdGhpcy5fYWN0aXZlID0gdHJ1ZTtcblxuICAgIGRvIHtcbiAgICAgIGlmICgoZXJyb3IgPSBhY3Rpb24uZXhlY3V0ZShhY3Rpb24uc3RhdGUsIGFjdGlvbi5kZWxheSkpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gd2hpbGUgKChhY3Rpb24gPSBhY3Rpb25zLnNoaWZ0KCkhKSk7IC8vIGV4aGF1c3QgdGhlIHNjaGVkdWxlciBxdWV1ZVxuXG4gICAgdGhpcy5fYWN0aXZlID0gZmFsc2U7XG5cbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHdoaWxlICgoYWN0aW9uID0gYWN0aW9ucy5zaGlmdCgpISkpIHtcbiAgICAgICAgYWN0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbn1cbiIsICJpbXBvcnQgeyBBc3luY0FjdGlvbiB9IGZyb20gJy4vQXN5bmNBY3Rpb24nO1xuaW1wb3J0IHsgQXN5bmNTY2hlZHVsZXIgfSBmcm9tICcuL0FzeW5jU2NoZWR1bGVyJztcblxuZXhwb3J0IGNsYXNzIEFzYXBTY2hlZHVsZXIgZXh0ZW5kcyBBc3luY1NjaGVkdWxlciB7XG4gIHB1YmxpYyBmbHVzaChhY3Rpb24/OiBBc3luY0FjdGlvbjxhbnk+KTogdm9pZCB7XG4gICAgdGhpcy5fYWN0aXZlID0gdHJ1ZTtcbiAgICAvLyBUaGUgYXN5bmMgaWQgdGhhdCBlZmZlY3RzIGEgY2FsbCB0byBmbHVzaCBpcyBzdG9yZWQgaW4gX3NjaGVkdWxlZC5cbiAgICAvLyBCZWZvcmUgZXhlY3V0aW5nIGFuIGFjdGlvbiwgaXQncyBuZWNlc3NhcnkgdG8gY2hlY2sgdGhlIGFjdGlvbidzIGFzeW5jXG4gICAgLy8gaWQgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgaXQncyBzdXBwb3NlZCB0byBiZSBleGVjdXRlZCBpbiB0aGUgY3VycmVudFxuICAgIC8vIGZsdXNoLlxuICAgIC8vIFByZXZpb3VzIGltcGxlbWVudGF0aW9ucyBvZiB0aGlzIG1ldGhvZCB1c2VkIGEgY291bnQgdG8gZGV0ZXJtaW5lIHRoaXMsXG4gICAgLy8gYnV0IHRoYXQgd2FzIHVuc291bmQsIGFzIGFjdGlvbnMgdGhhdCBhcmUgdW5zdWJzY3JpYmVkIC0gaS5lLiBjYW5jZWxsZWQgLVxuICAgIC8vIGFyZSByZW1vdmVkIGZyb20gdGhlIGFjdGlvbnMgYXJyYXkgYW5kIHRoYXQgY2FuIHNoaWZ0IGFjdGlvbnMgdGhhdCBhcmVcbiAgICAvLyBzY2hlZHVsZWQgdG8gYmUgZXhlY3V0ZWQgaW4gYSBzdWJzZXF1ZW50IGZsdXNoIGludG8gcG9zaXRpb25zIGF0IHdoaWNoXG4gICAgLy8gdGhleSBhcmUgZXhlY3V0ZWQgd2l0aGluIHRoZSBjdXJyZW50IGZsdXNoLlxuICAgIGNvbnN0IGZsdXNoSWQgPSB0aGlzLl9zY2hlZHVsZWQ7XG4gICAgdGhpcy5fc2NoZWR1bGVkID0gdW5kZWZpbmVkO1xuXG4gICAgY29uc3QgeyBhY3Rpb25zIH0gPSB0aGlzO1xuICAgIGxldCBlcnJvcjogYW55O1xuICAgIGFjdGlvbiA9IGFjdGlvbiB8fCBhY3Rpb25zLnNoaWZ0KCkhO1xuXG4gICAgZG8ge1xuICAgICAgaWYgKChlcnJvciA9IGFjdGlvbi5leGVjdXRlKGFjdGlvbi5zdGF0ZSwgYWN0aW9uLmRlbGF5KSkpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfSB3aGlsZSAoKGFjdGlvbiA9IGFjdGlvbnNbMF0pICYmIGFjdGlvbi5pZCA9PT0gZmx1c2hJZCAmJiBhY3Rpb25zLnNoaWZ0KCkpO1xuXG4gICAgdGhpcy5fYWN0aXZlID0gZmFsc2U7XG5cbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIHdoaWxlICgoYWN0aW9uID0gYWN0aW9uc1swXSkgJiYgYWN0aW9uLmlkID09PSBmbHVzaElkICYmIGFjdGlvbnMuc2hpZnQoKSkge1xuICAgICAgICBhY3Rpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgIH1cbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfVxufVxuIiwgImltcG9ydCB7IEFzYXBBY3Rpb24gfSBmcm9tICcuL0FzYXBBY3Rpb24nO1xuaW1wb3J0IHsgQXNhcFNjaGVkdWxlciB9IGZyb20gJy4vQXNhcFNjaGVkdWxlcic7XG5cbi8qKlxuICpcbiAqIEFzYXAgU2NoZWR1bGVyXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPlBlcmZvcm0gdGFzayBhcyBmYXN0IGFzIGl0IGNhbiBiZSBwZXJmb3JtZWQgYXN5bmNocm9ub3VzbHk8L3NwYW4+XG4gKlxuICogYGFzYXBgIHNjaGVkdWxlciBiZWhhdmVzIHRoZSBzYW1lIGFzIHtAbGluayBhc3luY1NjaGVkdWxlcn0gc2NoZWR1bGVyIHdoZW4geW91IHVzZSBpdCB0byBkZWxheSB0YXNrXG4gKiBpbiB0aW1lLiBJZiBob3dldmVyIHlvdSBzZXQgZGVsYXkgdG8gYDBgLCBgYXNhcGAgd2lsbCB3YWl0IGZvciBjdXJyZW50IHN5bmNocm9ub3VzbHkgZXhlY3V0aW5nXG4gKiBjb2RlIHRvIGVuZCBhbmQgdGhlbiBpdCB3aWxsIHRyeSB0byBleGVjdXRlIGdpdmVuIHRhc2sgYXMgZmFzdCBhcyBwb3NzaWJsZS5cbiAqXG4gKiBgYXNhcGAgc2NoZWR1bGVyIHdpbGwgZG8gaXRzIGJlc3QgdG8gbWluaW1pemUgdGltZSBiZXR3ZWVuIGVuZCBvZiBjdXJyZW50bHkgZXhlY3V0aW5nIGNvZGVcbiAqIGFuZCBzdGFydCBvZiBzY2hlZHVsZWQgdGFzay4gVGhpcyBtYWtlcyBpdCBiZXN0IGNhbmRpZGF0ZSBmb3IgcGVyZm9ybWluZyBzbyBjYWxsZWQgXCJkZWZlcnJpbmdcIi5cbiAqIFRyYWRpdGlvbmFsbHkgdGhpcyB3YXMgYWNoaWV2ZWQgYnkgY2FsbGluZyBgc2V0VGltZW91dChkZWZlcnJlZFRhc2ssIDApYCwgYnV0IHRoYXQgdGVjaG5pcXVlIGludm9sdmVzXG4gKiBzb21lIChhbHRob3VnaCBtaW5pbWFsKSB1bndhbnRlZCBkZWxheS5cbiAqXG4gKiBOb3RlIHRoYXQgdXNpbmcgYGFzYXBgIHNjaGVkdWxlciBkb2VzIG5vdCBuZWNlc3NhcmlseSBtZWFuIHRoYXQgeW91ciB0YXNrIHdpbGwgYmUgZmlyc3QgdG8gcHJvY2Vzc1xuICogYWZ0ZXIgY3VycmVudGx5IGV4ZWN1dGluZyBjb2RlLiBJbiBwYXJ0aWN1bGFyLCBpZiBzb21lIHRhc2sgd2FzIGFsc28gc2NoZWR1bGVkIHdpdGggYGFzYXBgIGJlZm9yZSxcbiAqIHRoYXQgdGFzayB3aWxsIGV4ZWN1dGUgZmlyc3QuIFRoYXQgYmVpbmcgc2FpZCwgaWYgeW91IG5lZWQgdG8gc2NoZWR1bGUgdGFzayBhc3luY2hyb25vdXNseSwgYnV0XG4gKiBhcyBzb29uIGFzIHBvc3NpYmxlLCBgYXNhcGAgc2NoZWR1bGVyIGlzIHlvdXIgYmVzdCBiZXQuXG4gKlxuICogIyMgRXhhbXBsZVxuICogQ29tcGFyZSBhc3luYyBhbmQgYXNhcCBzY2hlZHVsZXI8XG4gKiBgYGB0c1xuICogaW1wb3J0IHsgYXNhcFNjaGVkdWxlciwgYXN5bmNTY2hlZHVsZXIgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBhc3luY1NjaGVkdWxlci5zY2hlZHVsZSgoKSA9PiBjb25zb2xlLmxvZygnYXN5bmMnKSk7IC8vIHNjaGVkdWxpbmcgJ2FzeW5jJyBmaXJzdC4uLlxuICogYXNhcFNjaGVkdWxlci5zY2hlZHVsZSgoKSA9PiBjb25zb2xlLmxvZygnYXNhcCcpKTtcbiAqXG4gKiAvLyBMb2dzOlxuICogLy8gXCJhc2FwXCJcbiAqIC8vIFwiYXN5bmNcIlxuICogLy8gLi4uIGJ1dCAnYXNhcCcgZ29lcyBmaXJzdCFcbiAqIGBgYFxuICovXG5cbmV4cG9ydCBjb25zdCBhc2FwU2NoZWR1bGVyID0gbmV3IEFzYXBTY2hlZHVsZXIoQXNhcEFjdGlvbik7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgUmVuYW1lZCB0byB7QGxpbmsgYXNhcFNjaGVkdWxlcn0uIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC5cbiAqL1xuZXhwb3J0IGNvbnN0IGFzYXAgPSBhc2FwU2NoZWR1bGVyO1xuIiwgImltcG9ydCB7IEFzeW5jQWN0aW9uIH0gZnJvbSAnLi9Bc3luY0FjdGlvbic7XG5pbXBvcnQgeyBBc3luY1NjaGVkdWxlciB9IGZyb20gJy4vQXN5bmNTY2hlZHVsZXInO1xuXG4vKipcbiAqXG4gKiBBc3luYyBTY2hlZHVsZXJcbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+U2NoZWR1bGUgdGFzayBhcyBpZiB5b3UgdXNlZCBzZXRUaW1lb3V0KHRhc2ssIGR1cmF0aW9uKTwvc3Bhbj5cbiAqXG4gKiBgYXN5bmNgIHNjaGVkdWxlciBzY2hlZHVsZXMgdGFza3MgYXN5bmNocm9ub3VzbHksIGJ5IHB1dHRpbmcgdGhlbSBvbiB0aGUgSmF2YVNjcmlwdFxuICogZXZlbnQgbG9vcCBxdWV1ZS4gSXQgaXMgYmVzdCB1c2VkIHRvIGRlbGF5IHRhc2tzIGluIHRpbWUgb3IgdG8gc2NoZWR1bGUgdGFza3MgcmVwZWF0aW5nXG4gKiBpbiBpbnRlcnZhbHMuXG4gKlxuICogSWYgeW91IGp1c3Qgd2FudCB0byBcImRlZmVyXCIgdGFzaywgdGhhdCBpcyB0byBwZXJmb3JtIGl0IHJpZ2h0IGFmdGVyIGN1cnJlbnRseVxuICogZXhlY3V0aW5nIHN5bmNocm9ub3VzIGNvZGUgZW5kcyAoY29tbW9ubHkgYWNoaWV2ZWQgYnkgYHNldFRpbWVvdXQoZGVmZXJyZWRUYXNrLCAwKWApLFxuICogYmV0dGVyIGNob2ljZSB3aWxsIGJlIHRoZSB7QGxpbmsgYXNhcFNjaGVkdWxlcn0gc2NoZWR1bGVyLlxuICpcbiAqICMjIEV4YW1wbGVzXG4gKiBVc2UgYXN5bmMgc2NoZWR1bGVyIHRvIGRlbGF5IHRhc2tcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBhc3luY1NjaGVkdWxlciB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHRhc2sgPSAoKSA9PiBjb25zb2xlLmxvZygnaXQgd29ya3MhJyk7XG4gKlxuICogYXN5bmNTY2hlZHVsZXIuc2NoZWR1bGUodGFzaywgMjAwMCk7XG4gKlxuICogLy8gQWZ0ZXIgMiBzZWNvbmRzIGxvZ3M6XG4gKiAvLyBcIml0IHdvcmtzIVwiXG4gKiBgYGBcbiAqXG4gKiBVc2UgYXN5bmMgc2NoZWR1bGVyIHRvIHJlcGVhdCB0YXNrIGluIGludGVydmFsc1xuICogYGBgdHNcbiAqIGltcG9ydCB7IGFzeW5jU2NoZWR1bGVyIH0gZnJvbSAncnhqcyc7XG4gKlxuICogZnVuY3Rpb24gdGFzayhzdGF0ZSkge1xuICogICBjb25zb2xlLmxvZyhzdGF0ZSk7XG4gKiAgIHRoaXMuc2NoZWR1bGUoc3RhdGUgKyAxLCAxMDAwKTsgLy8gYHRoaXNgIHJlZmVyZW5jZXMgY3VycmVudGx5IGV4ZWN1dGluZyBBY3Rpb24sXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gd2hpY2ggd2UgcmVzY2hlZHVsZSB3aXRoIG5ldyBzdGF0ZSBhbmQgZGVsYXlcbiAqIH1cbiAqXG4gKiBhc3luY1NjaGVkdWxlci5zY2hlZHVsZSh0YXNrLCAzMDAwLCAwKTtcbiAqXG4gKiAvLyBMb2dzOlxuICogLy8gMCBhZnRlciAzc1xuICogLy8gMSBhZnRlciA0c1xuICogLy8gMiBhZnRlciA1c1xuICogLy8gMyBhZnRlciA2c1xuICogYGBgXG4gKi9cblxuZXhwb3J0IGNvbnN0IGFzeW5jU2NoZWR1bGVyID0gbmV3IEFzeW5jU2NoZWR1bGVyKEFzeW5jQWN0aW9uKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBSZW5hbWVkIHRvIHtAbGluayBhc3luY1NjaGVkdWxlcn0uIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC5cbiAqL1xuZXhwb3J0IGNvbnN0IGFzeW5jID0gYXN5bmNTY2hlZHVsZXI7XG4iLCAiaW1wb3J0IHsgQXN5bmNBY3Rpb24gfSBmcm9tICcuL0FzeW5jQWN0aW9uJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBRdWV1ZVNjaGVkdWxlciB9IGZyb20gJy4vUXVldWVTY2hlZHVsZXInO1xuaW1wb3J0IHsgU2NoZWR1bGVyQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgVGltZXJIYW5kbGUgfSBmcm9tICcuL3RpbWVySGFuZGxlJztcblxuZXhwb3J0IGNsYXNzIFF1ZXVlQWN0aW9uPFQ+IGV4dGVuZHMgQXN5bmNBY3Rpb248VD4ge1xuICBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgc2NoZWR1bGVyOiBRdWV1ZVNjaGVkdWxlciwgcHJvdGVjdGVkIHdvcms6ICh0aGlzOiBTY2hlZHVsZXJBY3Rpb248VD4sIHN0YXRlPzogVCkgPT4gdm9pZCkge1xuICAgIHN1cGVyKHNjaGVkdWxlciwgd29yayk7XG4gIH1cblxuICBwdWJsaWMgc2NoZWR1bGUoc3RhdGU/OiBULCBkZWxheTogbnVtYmVyID0gMCk6IFN1YnNjcmlwdGlvbiB7XG4gICAgaWYgKGRlbGF5ID4gMCkge1xuICAgICAgcmV0dXJuIHN1cGVyLnNjaGVkdWxlKHN0YXRlLCBkZWxheSk7XG4gICAgfVxuICAgIHRoaXMuZGVsYXkgPSBkZWxheTtcbiAgICB0aGlzLnN0YXRlID0gc3RhdGU7XG4gICAgdGhpcy5zY2hlZHVsZXIuZmx1c2godGhpcyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBwdWJsaWMgZXhlY3V0ZShzdGF0ZTogVCwgZGVsYXk6IG51bWJlcik6IGFueSB7XG4gICAgcmV0dXJuIGRlbGF5ID4gMCB8fCB0aGlzLmNsb3NlZCA/IHN1cGVyLmV4ZWN1dGUoc3RhdGUsIGRlbGF5KSA6IHRoaXMuX2V4ZWN1dGUoc3RhdGUsIGRlbGF5KTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXF1ZXN0QXN5bmNJZChzY2hlZHVsZXI6IFF1ZXVlU2NoZWR1bGVyLCBpZD86IFRpbWVySGFuZGxlLCBkZWxheTogbnVtYmVyID0gMCk6IFRpbWVySGFuZGxlIHtcbiAgICAvLyBJZiBkZWxheSBleGlzdHMgYW5kIGlzIGdyZWF0ZXIgdGhhbiAwLCBvciBpZiB0aGUgZGVsYXkgaXMgbnVsbCAodGhlXG4gICAgLy8gYWN0aW9uIHdhc24ndCByZXNjaGVkdWxlZCkgYnV0IHdhcyBvcmlnaW5hbGx5IHNjaGVkdWxlZCBhcyBhbiBhc3luY1xuICAgIC8vIGFjdGlvbiwgdGhlbiByZWN5Y2xlIGFzIGFuIGFzeW5jIGFjdGlvbi5cblxuICAgIGlmICgoZGVsYXkgIT0gbnVsbCAmJiBkZWxheSA+IDApIHx8IChkZWxheSA9PSBudWxsICYmIHRoaXMuZGVsYXkgPiAwKSkge1xuICAgICAgcmV0dXJuIHN1cGVyLnJlcXVlc3RBc3luY0lkKHNjaGVkdWxlciwgaWQsIGRlbGF5KTtcbiAgICB9XG5cbiAgICAvLyBPdGhlcndpc2UgZmx1c2ggdGhlIHNjaGVkdWxlciBzdGFydGluZyB3aXRoIHRoaXMgYWN0aW9uLlxuICAgIHNjaGVkdWxlci5mbHVzaCh0aGlzKTtcblxuICAgIC8vIEhBQ0s6IEluIHRoZSBwYXN0LCB0aGlzIHdhcyByZXR1cm5pbmcgYHZvaWRgLiBIb3dldmVyLCBgdm9pZGAgaXNuJ3QgYSB2YWxpZFxuICAgIC8vIGBUaW1lckhhbmRsZWAsIGFuZCBnZW5lcmFsbHkgdGhlIHJldHVybiB2YWx1ZSBoZXJlIGlzbid0IHJlYWxseSB1c2VkLiBTbyB0aGVcbiAgICAvLyBjb21wcm9taXNlIGlzIHRvIHJldHVybiBgMGAgd2hpY2ggaXMgYm90aCBcImZhbHN5XCIgYW5kIGEgdmFsaWQgYFRpbWVySGFuZGxlYCxcbiAgICAvLyBhcyBvcHBvc2VkIHRvIHJlZmFjdG9yaW5nIGV2ZXJ5IG90aGVyIGluc3RhbmNlbyBvZiBgcmVxdWVzdEFzeW5jSWRgLlxuICAgIHJldHVybiAwO1xuICB9XG59XG4iLCAiaW1wb3J0IHsgQXN5bmNTY2hlZHVsZXIgfSBmcm9tICcuL0FzeW5jU2NoZWR1bGVyJztcblxuZXhwb3J0IGNsYXNzIFF1ZXVlU2NoZWR1bGVyIGV4dGVuZHMgQXN5bmNTY2hlZHVsZXIge1xufVxuIiwgImltcG9ydCB7IFF1ZXVlQWN0aW9uIH0gZnJvbSAnLi9RdWV1ZUFjdGlvbic7XG5pbXBvcnQgeyBRdWV1ZVNjaGVkdWxlciB9IGZyb20gJy4vUXVldWVTY2hlZHVsZXInO1xuXG4vKipcbiAqXG4gKiBRdWV1ZSBTY2hlZHVsZXJcbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+UHV0IGV2ZXJ5IG5leHQgdGFzayBvbiBhIHF1ZXVlLCBpbnN0ZWFkIG9mIGV4ZWN1dGluZyBpdCBpbW1lZGlhdGVseTwvc3Bhbj5cbiAqXG4gKiBgcXVldWVgIHNjaGVkdWxlciwgd2hlbiB1c2VkIHdpdGggZGVsYXksIGJlaGF2ZXMgdGhlIHNhbWUgYXMge0BsaW5rIGFzeW5jU2NoZWR1bGVyfSBzY2hlZHVsZXIuXG4gKlxuICogV2hlbiB1c2VkIHdpdGhvdXQgZGVsYXksIGl0IHNjaGVkdWxlcyBnaXZlbiB0YXNrIHN5bmNocm9ub3VzbHkgLSBleGVjdXRlcyBpdCByaWdodCB3aGVuXG4gKiBpdCBpcyBzY2hlZHVsZWQuIEhvd2V2ZXIgd2hlbiBjYWxsZWQgcmVjdXJzaXZlbHksIHRoYXQgaXMgd2hlbiBpbnNpZGUgdGhlIHNjaGVkdWxlZCB0YXNrLFxuICogYW5vdGhlciB0YXNrIGlzIHNjaGVkdWxlZCB3aXRoIHF1ZXVlIHNjaGVkdWxlciwgaW5zdGVhZCBvZiBleGVjdXRpbmcgaW1tZWRpYXRlbHkgYXMgd2VsbCxcbiAqIHRoYXQgdGFzayB3aWxsIGJlIHB1dCBvbiBhIHF1ZXVlIGFuZCB3YWl0IGZvciBjdXJyZW50IG9uZSB0byBmaW5pc2guXG4gKlxuICogVGhpcyBtZWFucyB0aGF0IHdoZW4geW91IGV4ZWN1dGUgdGFzayB3aXRoIGBxdWV1ZWAgc2NoZWR1bGVyLCB5b3UgYXJlIHN1cmUgaXQgd2lsbCBlbmRcbiAqIGJlZm9yZSBhbnkgb3RoZXIgdGFzayBzY2hlZHVsZWQgd2l0aCB0aGF0IHNjaGVkdWxlciB3aWxsIHN0YXJ0LlxuICpcbiAqICMjIEV4YW1wbGVzXG4gKiBTY2hlZHVsZSByZWN1cnNpdmVseSBmaXJzdCwgdGhlbiBkbyBzb21ldGhpbmdcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBxdWV1ZVNjaGVkdWxlciB9IGZyb20gJ3J4anMnO1xuICpcbiAqIHF1ZXVlU2NoZWR1bGVyLnNjaGVkdWxlKCgpID0+IHtcbiAqICAgcXVldWVTY2hlZHVsZXIuc2NoZWR1bGUoKCkgPT4gY29uc29sZS5sb2coJ3NlY29uZCcpKTsgLy8gd2lsbCBub3QgaGFwcGVuIG5vdywgYnV0IHdpbGwgYmUgcHV0IG9uIGEgcXVldWVcbiAqXG4gKiAgIGNvbnNvbGUubG9nKCdmaXJzdCcpO1xuICogfSk7XG4gKlxuICogLy8gTG9nczpcbiAqIC8vIFwiZmlyc3RcIlxuICogLy8gXCJzZWNvbmRcIlxuICogYGBgXG4gKlxuICogUmVzY2hlZHVsZSBpdHNlbGYgcmVjdXJzaXZlbHlcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBxdWV1ZVNjaGVkdWxlciB9IGZyb20gJ3J4anMnO1xuICpcbiAqIHF1ZXVlU2NoZWR1bGVyLnNjaGVkdWxlKGZ1bmN0aW9uKHN0YXRlKSB7XG4gKiAgIGlmIChzdGF0ZSAhPT0gMCkge1xuICogICAgIGNvbnNvbGUubG9nKCdiZWZvcmUnLCBzdGF0ZSk7XG4gKiAgICAgdGhpcy5zY2hlZHVsZShzdGF0ZSAtIDEpOyAvLyBgdGhpc2AgcmVmZXJlbmNlcyBjdXJyZW50bHkgZXhlY3V0aW5nIEFjdGlvbixcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdoaWNoIHdlIHJlc2NoZWR1bGUgd2l0aCBuZXcgc3RhdGVcbiAqICAgICBjb25zb2xlLmxvZygnYWZ0ZXInLCBzdGF0ZSk7XG4gKiAgIH1cbiAqIH0sIDAsIDMpO1xuICpcbiAqIC8vIEluIHNjaGVkdWxlciB0aGF0IHJ1bnMgcmVjdXJzaXZlbHksIHlvdSB3b3VsZCBleHBlY3Q6XG4gKiAvLyBcImJlZm9yZVwiLCAzXG4gKiAvLyBcImJlZm9yZVwiLCAyXG4gKiAvLyBcImJlZm9yZVwiLCAxXG4gKiAvLyBcImFmdGVyXCIsIDFcbiAqIC8vIFwiYWZ0ZXJcIiwgMlxuICogLy8gXCJhZnRlclwiLCAzXG4gKlxuICogLy8gQnV0IHdpdGggcXVldWUgaXQgbG9nczpcbiAqIC8vIFwiYmVmb3JlXCIsIDNcbiAqIC8vIFwiYWZ0ZXJcIiwgM1xuICogLy8gXCJiZWZvcmVcIiwgMlxuICogLy8gXCJhZnRlclwiLCAyXG4gKiAvLyBcImJlZm9yZVwiLCAxXG4gKiAvLyBcImFmdGVyXCIsIDFcbiAqIGBgYFxuICovXG5cbmV4cG9ydCBjb25zdCBxdWV1ZVNjaGVkdWxlciA9IG5ldyBRdWV1ZVNjaGVkdWxlcihRdWV1ZUFjdGlvbik7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgUmVuYW1lZCB0byB7QGxpbmsgcXVldWVTY2hlZHVsZXJ9LiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguXG4gKi9cbmV4cG9ydCBjb25zdCBxdWV1ZSA9IHF1ZXVlU2NoZWR1bGVyO1xuIiwgImltcG9ydCB7IEFzeW5jQWN0aW9uIH0gZnJvbSAnLi9Bc3luY0FjdGlvbic7XG5pbXBvcnQgeyBBbmltYXRpb25GcmFtZVNjaGVkdWxlciB9IGZyb20gJy4vQW5pbWF0aW9uRnJhbWVTY2hlZHVsZXInO1xuaW1wb3J0IHsgU2NoZWR1bGVyQWN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYW5pbWF0aW9uRnJhbWVQcm92aWRlciB9IGZyb20gJy4vYW5pbWF0aW9uRnJhbWVQcm92aWRlcic7XG5pbXBvcnQgeyBUaW1lckhhbmRsZSB9IGZyb20gJy4vdGltZXJIYW5kbGUnO1xuXG5leHBvcnQgY2xhc3MgQW5pbWF0aW9uRnJhbWVBY3Rpb248VD4gZXh0ZW5kcyBBc3luY0FjdGlvbjxUPiB7XG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBzY2hlZHVsZXI6IEFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyLCBwcm90ZWN0ZWQgd29yazogKHRoaXM6IFNjaGVkdWxlckFjdGlvbjxUPiwgc3RhdGU/OiBUKSA9PiB2b2lkKSB7XG4gICAgc3VwZXIoc2NoZWR1bGVyLCB3b3JrKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZXF1ZXN0QXN5bmNJZChzY2hlZHVsZXI6IEFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyLCBpZD86IFRpbWVySGFuZGxlLCBkZWxheTogbnVtYmVyID0gMCk6IFRpbWVySGFuZGxlIHtcbiAgICAvLyBJZiBkZWxheSBpcyBncmVhdGVyIHRoYW4gMCwgcmVxdWVzdCBhcyBhbiBhc3luYyBhY3Rpb24uXG4gICAgaWYgKGRlbGF5ICE9PSBudWxsICYmIGRlbGF5ID4gMCkge1xuICAgICAgcmV0dXJuIHN1cGVyLnJlcXVlc3RBc3luY0lkKHNjaGVkdWxlciwgaWQsIGRlbGF5KTtcbiAgICB9XG4gICAgLy8gUHVzaCB0aGUgYWN0aW9uIHRvIHRoZSBlbmQgb2YgdGhlIHNjaGVkdWxlciBxdWV1ZS5cbiAgICBzY2hlZHVsZXIuYWN0aW9ucy5wdXNoKHRoaXMpO1xuICAgIC8vIElmIGFuIGFuaW1hdGlvbiBmcmFtZSBoYXMgYWxyZWFkeSBiZWVuIHJlcXVlc3RlZCwgZG9uJ3QgcmVxdWVzdCBhbm90aGVyXG4gICAgLy8gb25lLiBJZiBhbiBhbmltYXRpb24gZnJhbWUgaGFzbid0IGJlZW4gcmVxdWVzdGVkIHlldCwgcmVxdWVzdCBvbmUuIFJldHVyblxuICAgIC8vIHRoZSBjdXJyZW50IGFuaW1hdGlvbiBmcmFtZSByZXF1ZXN0IGlkLlxuICAgIHJldHVybiBzY2hlZHVsZXIuX3NjaGVkdWxlZCB8fCAoc2NoZWR1bGVyLl9zY2hlZHVsZWQgPSBhbmltYXRpb25GcmFtZVByb3ZpZGVyLnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiBzY2hlZHVsZXIuZmx1c2godW5kZWZpbmVkKSkpO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlY3ljbGVBc3luY0lkKHNjaGVkdWxlcjogQW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIsIGlkPzogVGltZXJIYW5kbGUsIGRlbGF5OiBudW1iZXIgPSAwKTogVGltZXJIYW5kbGUgfCB1bmRlZmluZWQge1xuICAgIC8vIElmIGRlbGF5IGV4aXN0cyBhbmQgaXMgZ3JlYXRlciB0aGFuIDAsIG9yIGlmIHRoZSBkZWxheSBpcyBudWxsICh0aGVcbiAgICAvLyBhY3Rpb24gd2Fzbid0IHJlc2NoZWR1bGVkKSBidXQgd2FzIG9yaWdpbmFsbHkgc2NoZWR1bGVkIGFzIGFuIGFzeW5jXG4gICAgLy8gYWN0aW9uLCB0aGVuIHJlY3ljbGUgYXMgYW4gYXN5bmMgYWN0aW9uLlxuICAgIGlmIChkZWxheSAhPSBudWxsID8gZGVsYXkgPiAwIDogdGhpcy5kZWxheSA+IDApIHtcbiAgICAgIHJldHVybiBzdXBlci5yZWN5Y2xlQXN5bmNJZChzY2hlZHVsZXIsIGlkLCBkZWxheSk7XG4gICAgfVxuICAgIC8vIElmIHRoZSBzY2hlZHVsZXIgcXVldWUgaGFzIG5vIHJlbWFpbmluZyBhY3Rpb25zIHdpdGggdGhlIHNhbWUgYXN5bmMgaWQsXG4gICAgLy8gY2FuY2VsIHRoZSByZXF1ZXN0ZWQgYW5pbWF0aW9uIGZyYW1lIGFuZCBzZXQgdGhlIHNjaGVkdWxlZCBmbGFnIHRvXG4gICAgLy8gdW5kZWZpbmVkIHNvIHRoZSBuZXh0IEFuaW1hdGlvbkZyYW1lQWN0aW9uIHdpbGwgcmVxdWVzdCBpdHMgb3duLlxuICAgIGNvbnN0IHsgYWN0aW9ucyB9ID0gc2NoZWR1bGVyO1xuICAgIGlmIChpZCAhPSBudWxsICYmIGFjdGlvbnNbYWN0aW9ucy5sZW5ndGggLSAxXT8uaWQgIT09IGlkKSB7XG4gICAgICBhbmltYXRpb25GcmFtZVByb3ZpZGVyLmNhbmNlbEFuaW1hdGlvbkZyYW1lKGlkIGFzIG51bWJlcik7XG4gICAgICBzY2hlZHVsZXIuX3NjaGVkdWxlZCA9IHVuZGVmaW5lZDtcbiAgICB9XG4gICAgLy8gUmV0dXJuIHVuZGVmaW5lZCBzbyB0aGUgYWN0aW9uIGtub3dzIHRvIHJlcXVlc3QgYSBuZXcgYXN5bmMgaWQgaWYgaXQncyByZXNjaGVkdWxlZC5cbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG4iLCAiaW1wb3J0IHsgQXN5bmNBY3Rpb24gfSBmcm9tICcuL0FzeW5jQWN0aW9uJztcbmltcG9ydCB7IEFzeW5jU2NoZWR1bGVyIH0gZnJvbSAnLi9Bc3luY1NjaGVkdWxlcic7XG5cbmV4cG9ydCBjbGFzcyBBbmltYXRpb25GcmFtZVNjaGVkdWxlciBleHRlbmRzIEFzeW5jU2NoZWR1bGVyIHtcbiAgcHVibGljIGZsdXNoKGFjdGlvbj86IEFzeW5jQWN0aW9uPGFueT4pOiB2b2lkIHtcbiAgICB0aGlzLl9hY3RpdmUgPSB0cnVlO1xuICAgIC8vIFRoZSBhc3luYyBpZCB0aGF0IGVmZmVjdHMgYSBjYWxsIHRvIGZsdXNoIGlzIHN0b3JlZCBpbiBfc2NoZWR1bGVkLlxuICAgIC8vIEJlZm9yZSBleGVjdXRpbmcgYW4gYWN0aW9uLCBpdCdzIG5lY2Vzc2FyeSB0byBjaGVjayB0aGUgYWN0aW9uJ3MgYXN5bmNcbiAgICAvLyBpZCB0byBkZXRlcm1pbmUgd2hldGhlciBpdCdzIHN1cHBvc2VkIHRvIGJlIGV4ZWN1dGVkIGluIHRoZSBjdXJyZW50XG4gICAgLy8gZmx1c2guXG4gICAgLy8gUHJldmlvdXMgaW1wbGVtZW50YXRpb25zIG9mIHRoaXMgbWV0aG9kIHVzZWQgYSBjb3VudCB0byBkZXRlcm1pbmUgdGhpcyxcbiAgICAvLyBidXQgdGhhdCB3YXMgdW5zb3VuZCwgYXMgYWN0aW9ucyB0aGF0IGFyZSB1bnN1YnNjcmliZWQgLSBpLmUuIGNhbmNlbGxlZCAtXG4gICAgLy8gYXJlIHJlbW92ZWQgZnJvbSB0aGUgYWN0aW9ucyBhcnJheSBhbmQgdGhhdCBjYW4gc2hpZnQgYWN0aW9ucyB0aGF0IGFyZVxuICAgIC8vIHNjaGVkdWxlZCB0byBiZSBleGVjdXRlZCBpbiBhIHN1YnNlcXVlbnQgZmx1c2ggaW50byBwb3NpdGlvbnMgYXQgd2hpY2hcbiAgICAvLyB0aGV5IGFyZSBleGVjdXRlZCB3aXRoaW4gdGhlIGN1cnJlbnQgZmx1c2guXG4gICAgY29uc3QgZmx1c2hJZCA9IHRoaXMuX3NjaGVkdWxlZDtcbiAgICB0aGlzLl9zY2hlZHVsZWQgPSB1bmRlZmluZWQ7XG5cbiAgICBjb25zdCB7IGFjdGlvbnMgfSA9IHRoaXM7XG4gICAgbGV0IGVycm9yOiBhbnk7XG4gICAgYWN0aW9uID0gYWN0aW9uIHx8IGFjdGlvbnMuc2hpZnQoKSE7XG5cbiAgICBkbyB7XG4gICAgICBpZiAoKGVycm9yID0gYWN0aW9uLmV4ZWN1dGUoYWN0aW9uLnN0YXRlLCBhY3Rpb24uZGVsYXkpKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IHdoaWxlICgoYWN0aW9uID0gYWN0aW9uc1swXSkgJiYgYWN0aW9uLmlkID09PSBmbHVzaElkICYmIGFjdGlvbnMuc2hpZnQoKSk7XG5cbiAgICB0aGlzLl9hY3RpdmUgPSBmYWxzZTtcblxuICAgIGlmIChlcnJvcikge1xuICAgICAgd2hpbGUgKChhY3Rpb24gPSBhY3Rpb25zWzBdKSAmJiBhY3Rpb24uaWQgPT09IGZsdXNoSWQgJiYgYWN0aW9ucy5zaGlmdCgpKSB7XG4gICAgICAgIGFjdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG59XG4iLCAiaW1wb3J0IHsgQW5pbWF0aW9uRnJhbWVBY3Rpb24gfSBmcm9tICcuL0FuaW1hdGlvbkZyYW1lQWN0aW9uJztcbmltcG9ydCB7IEFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyIH0gZnJvbSAnLi9BbmltYXRpb25GcmFtZVNjaGVkdWxlcic7XG5cbi8qKlxuICpcbiAqIEFuaW1hdGlvbiBGcmFtZSBTY2hlZHVsZXJcbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+UGVyZm9ybSB0YXNrIHdoZW4gYHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWVgIHdvdWxkIGZpcmU8L3NwYW4+XG4gKlxuICogV2hlbiBgYW5pbWF0aW9uRnJhbWVgIHNjaGVkdWxlciBpcyB1c2VkIHdpdGggZGVsYXksIGl0IHdpbGwgZmFsbCBiYWNrIHRvIHtAbGluayBhc3luY1NjaGVkdWxlcn0gc2NoZWR1bGVyXG4gKiBiZWhhdmlvdXIuXG4gKlxuICogV2l0aG91dCBkZWxheSwgYGFuaW1hdGlvbkZyYW1lYCBzY2hlZHVsZXIgY2FuIGJlIHVzZWQgdG8gY3JlYXRlIHNtb290aCBicm93c2VyIGFuaW1hdGlvbnMuXG4gKiBJdCBtYWtlcyBzdXJlIHNjaGVkdWxlZCB0YXNrIHdpbGwgaGFwcGVuIGp1c3QgYmVmb3JlIG5leHQgYnJvd3NlciBjb250ZW50IHJlcGFpbnQsXG4gKiB0aHVzIHBlcmZvcm1pbmcgYW5pbWF0aW9ucyBhcyBlZmZpY2llbnRseSBhcyBwb3NzaWJsZS5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKiBTY2hlZHVsZSBkaXYgaGVpZ2h0IGFuaW1hdGlvblxuICogYGBgdHNcbiAqIC8vIGh0bWw6IDxkaXYgc3R5bGU9XCJiYWNrZ3JvdW5kOiAjMGZmO1wiPjwvZGl2PlxuICogaW1wb3J0IHsgYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBkaXYgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdkaXYnKTtcbiAqXG4gKiBhbmltYXRpb25GcmFtZVNjaGVkdWxlci5zY2hlZHVsZShmdW5jdGlvbihoZWlnaHQpIHtcbiAqICAgZGl2LnN0eWxlLmhlaWdodCA9IGhlaWdodCArIFwicHhcIjtcbiAqXG4gKiAgIHRoaXMuc2NoZWR1bGUoaGVpZ2h0ICsgMSk7ICAvLyBgdGhpc2AgcmVmZXJlbmNlcyBjdXJyZW50bHkgZXhlY3V0aW5nIEFjdGlvbixcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdoaWNoIHdlIHJlc2NoZWR1bGUgd2l0aCBuZXcgc3RhdGVcbiAqIH0sIDAsIDApO1xuICpcbiAqIC8vIFlvdSB3aWxsIHNlZSBhIGRpdiBlbGVtZW50IGdyb3dpbmcgaW4gaGVpZ2h0XG4gKiBgYGBcbiAqL1xuXG5leHBvcnQgY29uc3QgYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIgPSBuZXcgQW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIoQW5pbWF0aW9uRnJhbWVBY3Rpb24pO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkIFJlbmFtZWQgdG8ge0BsaW5rIGFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyfS4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICovXG5leHBvcnQgY29uc3QgYW5pbWF0aW9uRnJhbWUgPSBhbmltYXRpb25GcmFtZVNjaGVkdWxlcjtcbiIsICJpbXBvcnQgeyBBc3luY0FjdGlvbiB9IGZyb20gJy4vQXN5bmNBY3Rpb24nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IEFzeW5jU2NoZWR1bGVyIH0gZnJvbSAnLi9Bc3luY1NjaGVkdWxlcic7XG5pbXBvcnQgeyBTY2hlZHVsZXJBY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBUaW1lckhhbmRsZSB9IGZyb20gJy4vdGltZXJIYW5kbGUnO1xuXG5leHBvcnQgY2xhc3MgVmlydHVhbFRpbWVTY2hlZHVsZXIgZXh0ZW5kcyBBc3luY1NjaGVkdWxlciB7XG4gIC8qKiBAZGVwcmVjYXRlZCBOb3QgdXNlZCBpbiBWaXJ0dWFsVGltZVNjaGVkdWxlciBkaXJlY3RseS4gV2lsbCBiZSByZW1vdmVkIGluIHY4LiAqL1xuICBzdGF0aWMgZnJhbWVUaW1lRmFjdG9yID0gMTA7XG5cbiAgLyoqXG4gICAqIFRoZSBjdXJyZW50IGZyYW1lIGZvciB0aGUgc3RhdGUgb2YgdGhlIHZpcnR1YWwgc2NoZWR1bGVyIGluc3RhbmNlLiBUaGUgZGlmZmVyZW5jZVxuICAgKiBiZXR3ZWVuIHR3byBcImZyYW1lc1wiIGlzIHN5bm9ueW1vdXMgd2l0aCB0aGUgcGFzc2FnZSBvZiBcInZpcnR1YWwgdGltZSB1bml0c1wiLiBTbyBpZlxuICAgKiB5b3UgcmVjb3JkIGBzY2hlZHVsZXIuZnJhbWVgIHRvIGJlIGAxYCwgdGhlbiBsYXRlciwgb2JzZXJ2ZSBgc2NoZWR1bGVyLmZyYW1lYCB0byBiZSBhdCBgMTFgLFxuICAgKiB0aGF0IG1lYW5zIGAxMGAgdmlydHVhbCB0aW1lIHVuaXRzIGhhdmUgcGFzc2VkLlxuICAgKi9cbiAgcHVibGljIGZyYW1lOiBudW1iZXIgPSAwO1xuXG4gIC8qKlxuICAgKiBVc2VkIGludGVybmFsbHkgdG8gZXhhbWluZSB0aGUgY3VycmVudCB2aXJ0dWFsIGFjdGlvbiBpbmRleCBiZWluZyBwcm9jZXNzZWQuXG4gICAqIEBkZXByZWNhdGVkIEludGVybmFsIGltcGxlbWVudGF0aW9uIGRldGFpbCwgZG8gbm90IHVzZSBkaXJlY3RseS4gV2lsbCBiZSBtYWRlIGludGVybmFsIGluIHY4LlxuICAgKi9cbiAgcHVibGljIGluZGV4OiBudW1iZXIgPSAtMTtcblxuICAvKipcbiAgICogVGhpcyBjcmVhdGVzIGFuIGluc3RhbmNlIG9mIGEgYFZpcnR1YWxUaW1lU2NoZWR1bGVyYC4gRXhwZXJ0cyBvbmx5LiBUaGUgc2lnbmF0dXJlIG9mXG4gICAqIHRoaXMgY29uc3RydWN0b3IgaXMgbGlrZWx5IHRvIGNoYW5nZSBpbiB0aGUgbG9uZyBydW4uXG4gICAqXG4gICAqIEBwYXJhbSBzY2hlZHVsZXJBY3Rpb25DdG9yIFRoZSB0eXBlIG9mIEFjdGlvbiB0byBpbml0aWFsaXplIHdoZW4gaW5pdGlhbGl6aW5nIGFjdGlvbnMgZHVyaW5nIHNjaGVkdWxpbmcuXG4gICAqIEBwYXJhbSBtYXhGcmFtZXMgVGhlIG1heGltdW0gbnVtYmVyIG9mIGZyYW1lcyB0byBwcm9jZXNzIGJlZm9yZSBzdG9wcGluZy4gVXNlZCB0byBwcmV2ZW50IGVuZGxlc3MgZmx1c2ggY3ljbGVzLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NoZWR1bGVyQWN0aW9uQ3RvcjogdHlwZW9mIEFzeW5jQWN0aW9uID0gVmlydHVhbEFjdGlvbiBhcyBhbnksIHB1YmxpYyBtYXhGcmFtZXM6IG51bWJlciA9IEluZmluaXR5KSB7XG4gICAgc3VwZXIoc2NoZWR1bGVyQWN0aW9uQ3RvciwgKCkgPT4gdGhpcy5mcmFtZSk7XG4gIH1cblxuICAvKipcbiAgICogUHJvbXB0IHRoZSBTY2hlZHVsZXIgdG8gZXhlY3V0ZSBhbGwgb2YgaXRzIHF1ZXVlZCBhY3Rpb25zLCB0aGVyZWZvcmVcbiAgICogY2xlYXJpbmcgaXRzIHF1ZXVlLlxuICAgKiBAcmV0dXJuIHt2b2lkfVxuICAgKi9cbiAgcHVibGljIGZsdXNoKCk6IHZvaWQge1xuICAgIGNvbnN0IHsgYWN0aW9ucywgbWF4RnJhbWVzIH0gPSB0aGlzO1xuICAgIGxldCBlcnJvcjogYW55O1xuICAgIGxldCBhY3Rpb246IEFzeW5jQWN0aW9uPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICB3aGlsZSAoKGFjdGlvbiA9IGFjdGlvbnNbMF0pICYmIGFjdGlvbi5kZWxheSA8PSBtYXhGcmFtZXMpIHtcbiAgICAgIGFjdGlvbnMuc2hpZnQoKTtcbiAgICAgIHRoaXMuZnJhbWUgPSBhY3Rpb24uZGVsYXk7XG5cbiAgICAgIGlmICgoZXJyb3IgPSBhY3Rpb24uZXhlY3V0ZShhY3Rpb24uc3RhdGUsIGFjdGlvbi5kZWxheSkpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChlcnJvcikge1xuICAgICAgd2hpbGUgKChhY3Rpb24gPSBhY3Rpb25zLnNoaWZ0KCkpKSB7XG4gICAgICAgIGFjdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBWaXJ0dWFsQWN0aW9uPFQ+IGV4dGVuZHMgQXN5bmNBY3Rpb248VD4ge1xuICBwcm90ZWN0ZWQgYWN0aXZlOiBib29sZWFuID0gdHJ1ZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm90ZWN0ZWQgc2NoZWR1bGVyOiBWaXJ0dWFsVGltZVNjaGVkdWxlcixcbiAgICBwcm90ZWN0ZWQgd29yazogKHRoaXM6IFNjaGVkdWxlckFjdGlvbjxUPiwgc3RhdGU/OiBUKSA9PiB2b2lkLFxuICAgIHByb3RlY3RlZCBpbmRleDogbnVtYmVyID0gKHNjaGVkdWxlci5pbmRleCArPSAxKVxuICApIHtcbiAgICBzdXBlcihzY2hlZHVsZXIsIHdvcmspO1xuICAgIHRoaXMuaW5kZXggPSBzY2hlZHVsZXIuaW5kZXggPSBpbmRleDtcbiAgfVxuXG4gIHB1YmxpYyBzY2hlZHVsZShzdGF0ZT86IFQsIGRlbGF5OiBudW1iZXIgPSAwKTogU3Vic2NyaXB0aW9uIHtcbiAgICBpZiAoTnVtYmVyLmlzRmluaXRlKGRlbGF5KSkge1xuICAgICAgaWYgKCF0aGlzLmlkKSB7XG4gICAgICAgIHJldHVybiBzdXBlci5zY2hlZHVsZShzdGF0ZSwgZGVsYXkpO1xuICAgICAgfVxuICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcbiAgICAgIC8vIElmIGFuIGFjdGlvbiBpcyByZXNjaGVkdWxlZCwgd2Ugc2F2ZSBhbGxvY2F0aW9ucyBieSBtdXRhdGluZyBpdHMgc3RhdGUsXG4gICAgICAvLyBwdXNoaW5nIGl0IHRvIHRoZSBlbmQgb2YgdGhlIHNjaGVkdWxlciBxdWV1ZSwgYW5kIHJlY3ljbGluZyB0aGUgYWN0aW9uLlxuICAgICAgLy8gQnV0IHNpbmNlIHRoZSBWaXJ0dWFsVGltZVNjaGVkdWxlciBpcyB1c2VkIGZvciB0ZXN0aW5nLCBWaXJ0dWFsQWN0aW9uc1xuICAgICAgLy8gbXVzdCBiZSBpbW11dGFibGUgc28gdGhleSBjYW4gYmUgaW5zcGVjdGVkIGxhdGVyLlxuICAgICAgY29uc3QgYWN0aW9uID0gbmV3IFZpcnR1YWxBY3Rpb24odGhpcy5zY2hlZHVsZXIsIHRoaXMud29yayk7XG4gICAgICB0aGlzLmFkZChhY3Rpb24pO1xuICAgICAgcmV0dXJuIGFjdGlvbi5zY2hlZHVsZShzdGF0ZSwgZGVsYXkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZiBzb21lb25lIHNjaGVkdWxlcyBzb21ldGhpbmcgd2l0aCBJbmZpbml0eSwgaXQnbGwgbmV2ZXIgaGFwcGVuLiBTbyB3ZVxuICAgICAgLy8gZG9uJ3QgZXZlbiBzY2hlZHVsZSBpdC5cbiAgICAgIHJldHVybiBTdWJzY3JpcHRpb24uRU1QVFk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIHJlcXVlc3RBc3luY0lkKHNjaGVkdWxlcjogVmlydHVhbFRpbWVTY2hlZHVsZXIsIGlkPzogYW55LCBkZWxheTogbnVtYmVyID0gMCk6IFRpbWVySGFuZGxlIHtcbiAgICB0aGlzLmRlbGF5ID0gc2NoZWR1bGVyLmZyYW1lICsgZGVsYXk7XG4gICAgY29uc3QgeyBhY3Rpb25zIH0gPSBzY2hlZHVsZXI7XG4gICAgYWN0aW9ucy5wdXNoKHRoaXMpO1xuICAgIChhY3Rpb25zIGFzIEFycmF5PFZpcnR1YWxBY3Rpb248VD4+KS5zb3J0KFZpcnR1YWxBY3Rpb24uc29ydEFjdGlvbnMpO1xuICAgIHJldHVybiAxO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlY3ljbGVBc3luY0lkKHNjaGVkdWxlcjogVmlydHVhbFRpbWVTY2hlZHVsZXIsIGlkPzogYW55LCBkZWxheTogbnVtYmVyID0gMCk6IFRpbWVySGFuZGxlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9leGVjdXRlKHN0YXRlOiBULCBkZWxheTogbnVtYmVyKTogYW55IHtcbiAgICBpZiAodGhpcy5hY3RpdmUgPT09IHRydWUpIHtcbiAgICAgIHJldHVybiBzdXBlci5fZXhlY3V0ZShzdGF0ZSwgZGVsYXkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIHNvcnRBY3Rpb25zPFQ+KGE6IFZpcnR1YWxBY3Rpb248VD4sIGI6IFZpcnR1YWxBY3Rpb248VD4pIHtcbiAgICBpZiAoYS5kZWxheSA9PT0gYi5kZWxheSkge1xuICAgICAgaWYgKGEuaW5kZXggPT09IGIuaW5kZXgpIHtcbiAgICAgICAgcmV0dXJuIDA7XG4gICAgICB9IGVsc2UgaWYgKGEuaW5kZXggPiBiLmluZGV4KSB7XG4gICAgICAgIHJldHVybiAxO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYS5kZWxheSA+IGIuZGVsYXkpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gLTE7XG4gICAgfVxuICB9XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgU2NoZWR1bGVyTGlrZSB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiBBIHNpbXBsZSBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgbm8gaXRlbXMgdG8gdGhlIE9ic2VydmVyIGFuZCBpbW1lZGlhdGVseVxuICogZW1pdHMgYSBjb21wbGV0ZSBub3RpZmljYXRpb24uXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkp1c3QgZW1pdHMgJ2NvbXBsZXRlJywgYW5kIG5vdGhpbmcgZWxzZS48L3NwYW4+XG4gKlxuICogIVtdKGVtcHR5LnBuZylcbiAqXG4gKiBBIHNpbXBsZSBPYnNlcnZhYmxlIHRoYXQgb25seSBlbWl0cyB0aGUgY29tcGxldGUgbm90aWZpY2F0aW9uLiBJdCBjYW4gYmUgdXNlZFxuICogZm9yIGNvbXBvc2luZyB3aXRoIG90aGVyIE9ic2VydmFibGVzLCBzdWNoIGFzIGluIGEge0BsaW5rIG1lcmdlTWFwfS5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIExvZyBjb21wbGV0ZSBub3RpZmljYXRpb25cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgRU1QVFkgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBFTVBUWS5zdWJzY3JpYmUoe1xuICogICBuZXh0OiAoKSA9PiBjb25zb2xlLmxvZygnTmV4dCcpLFxuICogICBjb21wbGV0ZTogKCkgPT4gY29uc29sZS5sb2coJ0NvbXBsZXRlIScpXG4gKiB9KTtcbiAqXG4gKiAvLyBPdXRwdXRzXG4gKiAvLyBDb21wbGV0ZSFcbiAqIGBgYFxuICpcbiAqIEVtaXQgdGhlIG51bWJlciA3LCB0aGVuIGNvbXBsZXRlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IEVNUFRZLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCByZXN1bHQgPSBFTVBUWS5waXBlKHN0YXJ0V2l0aCg3KSk7XG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIE91dHB1dHNcbiAqIC8vIDdcbiAqIGBgYFxuICpcbiAqIE1hcCBhbmQgZmxhdHRlbiBvbmx5IG9kZCBudW1iZXJzIHRvIHRoZSBzZXF1ZW5jZSBgJ2EnYCwgYCdiJ2AsIGAnYydgXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGludGVydmFsLCBtZXJnZU1hcCwgb2YsIEVNUFRZIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgaW50ZXJ2YWwkID0gaW50ZXJ2YWwoMTAwMCk7XG4gKiBjb25zdCByZXN1bHQgPSBpbnRlcnZhbCQucGlwZShcbiAqICAgbWVyZ2VNYXAoeCA9PiB4ICUgMiA9PT0gMSA/IG9mKCdhJywgJ2InLCAnYycpIDogRU1QVFkpLFxuICogKTtcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKlxuICogLy8gUmVzdWx0cyBpbiB0aGUgZm9sbG93aW5nIHRvIHRoZSBjb25zb2xlOlxuICogLy8geCBpcyBlcXVhbCB0byB0aGUgY291bnQgb24gdGhlIGludGVydmFsLCBlLmcuICgwLCAxLCAyLCAzLCAuLi4pXG4gKiAvLyB4IHdpbGwgb2NjdXIgZXZlcnkgMTAwMG1zXG4gKiAvLyBpZiB4ICUgMiBpcyBlcXVhbCB0byAxLCBwcmludCBhLCBiLCBjIChlYWNoIG9uIGl0cyBvd24pXG4gKiAvLyBpZiB4ICUgMiBpcyBub3QgZXF1YWwgdG8gMSwgbm90aGluZyB3aWxsIGJlIG91dHB1dFxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgT2JzZXJ2YWJsZX1cbiAqIEBzZWUge0BsaW5rIE5FVkVSfVxuICogQHNlZSB7QGxpbmsgb2Z9XG4gKiBAc2VlIHtAbGluayB0aHJvd0Vycm9yfVxuICovXG5leHBvcnQgY29uc3QgRU1QVFkgPSBuZXcgT2JzZXJ2YWJsZTxuZXZlcj4oKHN1YnNjcmliZXIpID0+IHN1YnNjcmliZXIuY29tcGxldGUoKSk7XG5cbi8qKlxuICogQHBhcmFtIHNjaGVkdWxlciBBIHtAbGluayBTY2hlZHVsZXJMaWtlfSB0byB1c2UgZm9yIHNjaGVkdWxpbmdcbiAqIHRoZSBlbWlzc2lvbiBvZiB0aGUgY29tcGxldGUgbm90aWZpY2F0aW9uLlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCB0aGUge0BsaW5rIEVNUFRZfSBjb25zdGFudCBvciB7QGxpbmsgc2NoZWR1bGVkfSAoZS5nLiBgc2NoZWR1bGVkKFtdLCBzY2hlZHVsZXIpYCkuIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVtcHR5KHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UpIHtcbiAgcmV0dXJuIHNjaGVkdWxlciA/IGVtcHR5U2NoZWR1bGVkKHNjaGVkdWxlcikgOiBFTVBUWTtcbn1cblxuZnVuY3Rpb24gZW1wdHlTY2hlZHVsZWQoc2NoZWR1bGVyOiBTY2hlZHVsZXJMaWtlKSB7XG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxuZXZlcj4oKHN1YnNjcmliZXIpID0+IHNjaGVkdWxlci5zY2hlZHVsZSgoKSA9PiBzdWJzY3JpYmVyLmNvbXBsZXRlKCkpKTtcbn1cbiIsICJpbXBvcnQgeyBTY2hlZHVsZXJMaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4vaXNGdW5jdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NjaGVkdWxlcih2YWx1ZTogYW55KTogdmFsdWUgaXMgU2NoZWR1bGVyTGlrZSB7XG4gIHJldHVybiB2YWx1ZSAmJiBpc0Z1bmN0aW9uKHZhbHVlLnNjaGVkdWxlKTtcbn1cbiIsICJpbXBvcnQgeyBTY2hlZHVsZXJMaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4vaXNGdW5jdGlvbic7XG5pbXBvcnQgeyBpc1NjaGVkdWxlciB9IGZyb20gJy4vaXNTY2hlZHVsZXInO1xuXG5mdW5jdGlvbiBsYXN0PFQ+KGFycjogVFtdKTogVCB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBhcnJbYXJyLmxlbmd0aCAtIDFdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcG9wUmVzdWx0U2VsZWN0b3IoYXJnczogYW55W10pOiAoKC4uLmFyZ3M6IHVua25vd25bXSkgPT4gdW5rbm93bikgfCB1bmRlZmluZWQge1xuICByZXR1cm4gaXNGdW5jdGlvbihsYXN0KGFyZ3MpKSA/IGFyZ3MucG9wKCkgOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwb3BTY2hlZHVsZXIoYXJnczogYW55W10pOiBTY2hlZHVsZXJMaWtlIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGlzU2NoZWR1bGVyKGxhc3QoYXJncykpID8gYXJncy5wb3AoKSA6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBvcE51bWJlcihhcmdzOiBhbnlbXSwgZGVmYXVsdFZhbHVlOiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gdHlwZW9mIGxhc3QoYXJncykgPT09ICdudW1iZXInID8gYXJncy5wb3AoKSEgOiBkZWZhdWx0VmFsdWU7XG59XG4iLCAiZXhwb3J0IGNvbnN0IGlzQXJyYXlMaWtlID0gKDxUPih4OiBhbnkpOiB4IGlzIEFycmF5TGlrZTxUPiA9PiB4ICYmIHR5cGVvZiB4Lmxlbmd0aCA9PT0gJ251bWJlcicgJiYgdHlwZW9mIHggIT09ICdmdW5jdGlvbicpOyIsICJpbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSBcIi4vaXNGdW5jdGlvblwiO1xuXG4vKipcbiAqIFRlc3RzIHRvIHNlZSBpZiB0aGUgb2JqZWN0IGlzIFwidGhlbm5hYmxlXCIuXG4gKiBAcGFyYW0gdmFsdWUgdGhlIG9iamVjdCB0byB0ZXN0XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1Byb21pc2UodmFsdWU6IGFueSk6IHZhbHVlIGlzIFByb21pc2VMaWtlPGFueT4ge1xuICByZXR1cm4gaXNGdW5jdGlvbih2YWx1ZT8udGhlbik7XG59XG4iLCAiaW1wb3J0IHsgSW50ZXJvcE9ic2VydmFibGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvYnNlcnZhYmxlIGFzIFN5bWJvbF9vYnNlcnZhYmxlIH0gZnJvbSAnLi4vc3ltYm9sL29ic2VydmFibGUnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4vaXNGdW5jdGlvbic7XG5cbi8qKiBJZGVudGlmaWVzIGFuIGlucHV0IGFzIGJlaW5nIE9ic2VydmFibGUgKGJ1dCBub3QgbmVjZXNzYXJ5IGFuIFJ4IE9ic2VydmFibGUpICovXG5leHBvcnQgZnVuY3Rpb24gaXNJbnRlcm9wT2JzZXJ2YWJsZShpbnB1dDogYW55KTogaW5wdXQgaXMgSW50ZXJvcE9ic2VydmFibGU8YW55PiB7XG4gIHJldHVybiBpc0Z1bmN0aW9uKGlucHV0W1N5bWJvbF9vYnNlcnZhYmxlXSk7XG59XG4iLCAiaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4vaXNGdW5jdGlvbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0FzeW5jSXRlcmFibGU8VD4ob2JqOiBhbnkpOiBvYmogaXMgQXN5bmNJdGVyYWJsZTxUPiB7XG4gIHJldHVybiBTeW1ib2wuYXN5bmNJdGVyYXRvciAmJiBpc0Z1bmN0aW9uKG9iaj8uW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSk7XG59XG4iLCAiLyoqXG4gKiBDcmVhdGVzIHRoZSBUeXBlRXJyb3IgdG8gdGhyb3cgaWYgYW4gaW52YWxpZCBvYmplY3QgaXMgcGFzc2VkIHRvIGBmcm9tYCBvciBgc2NoZWR1bGVkYC5cbiAqIEBwYXJhbSBpbnB1dCBUaGUgb2JqZWN0IHRoYXQgd2FzIHBhc3NlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUludmFsaWRPYnNlcnZhYmxlVHlwZUVycm9yKGlucHV0OiBhbnkpIHtcbiAgLy8gVE9ETzogV2Ugc2hvdWxkIGNyZWF0ZSBlcnJvciBjb2RlcyB0aGF0IGNhbiBiZSBsb29rZWQgdXAsIHNvIHRoaXMgY2FuIGJlIGxlc3MgdmVyYm9zZS5cbiAgcmV0dXJuIG5ldyBUeXBlRXJyb3IoXG4gICAgYFlvdSBwcm92aWRlZCAke1xuICAgICAgaW5wdXQgIT09IG51bGwgJiYgdHlwZW9mIGlucHV0ID09PSAnb2JqZWN0JyA/ICdhbiBpbnZhbGlkIG9iamVjdCcgOiBgJyR7aW5wdXR9J2BcbiAgICB9IHdoZXJlIGEgc3RyZWFtIHdhcyBleHBlY3RlZC4gWW91IGNhbiBwcm92aWRlIGFuIE9ic2VydmFibGUsIFByb21pc2UsIFJlYWRhYmxlU3RyZWFtLCBBcnJheSwgQXN5bmNJdGVyYWJsZSwgb3IgSXRlcmFibGUuYFxuICApO1xufVxuIiwgImV4cG9ydCBmdW5jdGlvbiBnZXRTeW1ib2xJdGVyYXRvcigpOiBzeW1ib2wge1xuICBpZiAodHlwZW9mIFN5bWJvbCAhPT0gJ2Z1bmN0aW9uJyB8fCAhU3ltYm9sLml0ZXJhdG9yKSB7XG4gICAgcmV0dXJuICdAQGl0ZXJhdG9yJyBhcyBhbnk7XG4gIH1cblxuICByZXR1cm4gU3ltYm9sLml0ZXJhdG9yO1xufVxuXG5leHBvcnQgY29uc3QgaXRlcmF0b3IgPSBnZXRTeW1ib2xJdGVyYXRvcigpO1xuIiwgImltcG9ydCB7IGl0ZXJhdG9yIGFzIFN5bWJvbF9pdGVyYXRvciB9IGZyb20gJy4uL3N5bWJvbC9pdGVyYXRvcic7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi9pc0Z1bmN0aW9uJztcblxuLyoqIElkZW50aWZpZXMgYW4gaW5wdXQgYXMgYmVpbmcgYW4gSXRlcmFibGUgKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0l0ZXJhYmxlKGlucHV0OiBhbnkpOiBpbnB1dCBpcyBJdGVyYWJsZTxhbnk+IHtcbiAgcmV0dXJuIGlzRnVuY3Rpb24oaW5wdXQ/LltTeW1ib2xfaXRlcmF0b3JdKTtcbn1cbiIsICJpbXBvcnQgeyBSZWFkYWJsZVN0cmVhbUxpa2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi9pc0Z1bmN0aW9uJztcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uKiByZWFkYWJsZVN0cmVhbUxpa2VUb0FzeW5jR2VuZXJhdG9yPFQ+KHJlYWRhYmxlU3RyZWFtOiBSZWFkYWJsZVN0cmVhbUxpa2U8VD4pOiBBc3luY0dlbmVyYXRvcjxUPiB7XG4gIGNvbnN0IHJlYWRlciA9IHJlYWRhYmxlU3RyZWFtLmdldFJlYWRlcigpO1xuICB0cnkge1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICBjb25zdCB7IHZhbHVlLCBkb25lIH0gPSBhd2FpdCByZWFkZXIucmVhZCgpO1xuICAgICAgaWYgKGRvbmUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgeWllbGQgdmFsdWUhO1xuICAgIH1cbiAgfSBmaW5hbGx5IHtcbiAgICByZWFkZXIucmVsZWFzZUxvY2soKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNSZWFkYWJsZVN0cmVhbUxpa2U8VD4ob2JqOiBhbnkpOiBvYmogaXMgUmVhZGFibGVTdHJlYW1MaWtlPFQ+IHtcbiAgLy8gV2UgZG9uJ3Qgd2FudCB0byB1c2UgaW5zdGFuY2VvZiBjaGVja3MgYmVjYXVzZSB0aGV5IHdvdWxkIHJldHVyblxuICAvLyBmYWxzZSBmb3IgaW5zdGFuY2VzIGZyb20gYW5vdGhlciBSZWFsbSwgbGlrZSBhbiA8aWZyYW1lPi5cbiAgcmV0dXJuIGlzRnVuY3Rpb24ob2JqPy5nZXRSZWFkZXIpO1xufVxuIiwgImltcG9ydCB7IGlzQXJyYXlMaWtlIH0gZnJvbSAnLi4vdXRpbC9pc0FycmF5TGlrZSc7XG5pbXBvcnQgeyBpc1Byb21pc2UgfSBmcm9tICcuLi91dGlsL2lzUHJvbWlzZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQsIE9ic2VydmVkVmFsdWVPZiwgUmVhZGFibGVTdHJlYW1MaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXNJbnRlcm9wT2JzZXJ2YWJsZSB9IGZyb20gJy4uL3V0aWwvaXNJbnRlcm9wT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBpc0FzeW5jSXRlcmFibGUgfSBmcm9tICcuLi91dGlsL2lzQXN5bmNJdGVyYWJsZSc7XG5pbXBvcnQgeyBjcmVhdGVJbnZhbGlkT2JzZXJ2YWJsZVR5cGVFcnJvciB9IGZyb20gJy4uL3V0aWwvdGhyb3dVbm9ic2VydmFibGVFcnJvcic7XG5pbXBvcnQgeyBpc0l0ZXJhYmxlIH0gZnJvbSAnLi4vdXRpbC9pc0l0ZXJhYmxlJztcbmltcG9ydCB7IGlzUmVhZGFibGVTdHJlYW1MaWtlLCByZWFkYWJsZVN0cmVhbUxpa2VUb0FzeW5jR2VuZXJhdG9yIH0gZnJvbSAnLi4vdXRpbC9pc1JlYWRhYmxlU3RyZWFtTGlrZSc7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi4vdXRpbC9pc0Z1bmN0aW9uJztcbmltcG9ydCB7IHJlcG9ydFVuaGFuZGxlZEVycm9yIH0gZnJvbSAnLi4vdXRpbC9yZXBvcnRVbmhhbmRsZWRFcnJvcic7XG5pbXBvcnQgeyBvYnNlcnZhYmxlIGFzIFN5bWJvbF9vYnNlcnZhYmxlIH0gZnJvbSAnLi4vc3ltYm9sL29ic2VydmFibGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5uZXJGcm9tPE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8YW55Pj4oaW5wdXQ6IE8pOiBPYnNlcnZhYmxlPE9ic2VydmVkVmFsdWVPZjxPPj47XG5leHBvcnQgZnVuY3Rpb24gaW5uZXJGcm9tPFQ+KGlucHV0OiBPYnNlcnZhYmxlSW5wdXQ8VD4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgaWYgKGlucHV0IGluc3RhbmNlb2YgT2JzZXJ2YWJsZSkge1xuICAgIHJldHVybiBpbnB1dDtcbiAgfVxuICBpZiAoaW5wdXQgIT0gbnVsbCkge1xuICAgIGlmIChpc0ludGVyb3BPYnNlcnZhYmxlKGlucHV0KSkge1xuICAgICAgcmV0dXJuIGZyb21JbnRlcm9wT2JzZXJ2YWJsZShpbnB1dCk7XG4gICAgfVxuICAgIGlmIChpc0FycmF5TGlrZShpbnB1dCkpIHtcbiAgICAgIHJldHVybiBmcm9tQXJyYXlMaWtlKGlucHV0KTtcbiAgICB9XG4gICAgaWYgKGlzUHJvbWlzZShpbnB1dCkpIHtcbiAgICAgIHJldHVybiBmcm9tUHJvbWlzZShpbnB1dCk7XG4gICAgfVxuICAgIGlmIChpc0FzeW5jSXRlcmFibGUoaW5wdXQpKSB7XG4gICAgICByZXR1cm4gZnJvbUFzeW5jSXRlcmFibGUoaW5wdXQpO1xuICAgIH1cbiAgICBpZiAoaXNJdGVyYWJsZShpbnB1dCkpIHtcbiAgICAgIHJldHVybiBmcm9tSXRlcmFibGUoaW5wdXQpO1xuICAgIH1cbiAgICBpZiAoaXNSZWFkYWJsZVN0cmVhbUxpa2UoaW5wdXQpKSB7XG4gICAgICByZXR1cm4gZnJvbVJlYWRhYmxlU3RyZWFtTGlrZShpbnB1dCk7XG4gICAgfVxuICB9XG5cbiAgdGhyb3cgY3JlYXRlSW52YWxpZE9ic2VydmFibGVUeXBlRXJyb3IoaW5wdXQpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4gUnhKUyBPYnNlcnZhYmxlIGZyb20gYW4gb2JqZWN0IHRoYXQgaW1wbGVtZW50cyBgU3ltYm9sLm9ic2VydmFibGVgLlxuICogQHBhcmFtIG9iaiBBbiBvYmplY3QgdGhhdCBwcm9wZXJseSBpbXBsZW1lbnRzIGBTeW1ib2wub2JzZXJ2YWJsZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tSW50ZXJvcE9ic2VydmFibGU8VD4ob2JqOiBhbnkpIHtcbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPFQ+KSA9PiB7XG4gICAgY29uc3Qgb2JzID0gb2JqW1N5bWJvbF9vYnNlcnZhYmxlXSgpO1xuICAgIGlmIChpc0Z1bmN0aW9uKG9icy5zdWJzY3JpYmUpKSB7XG4gICAgICByZXR1cm4gb2JzLnN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgICB9XG4gICAgLy8gU2hvdWxkIGJlIGNhdWdodCBieSBvYnNlcnZhYmxlIHN1YnNjcmliZSBmdW5jdGlvbiBlcnJvciBoYW5kbGluZy5cbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdQcm92aWRlZCBvYmplY3QgZG9lcyBub3QgY29ycmVjdGx5IGltcGxlbWVudCBTeW1ib2wub2JzZXJ2YWJsZScpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBTeW5jaHJvbm91c2x5IGVtaXRzIHRoZSB2YWx1ZXMgb2YgYW4gYXJyYXkgbGlrZSBhbmQgY29tcGxldGVzLlxuICogVGhpcyBpcyBleHBvcnRlZCBiZWNhdXNlIHRoZXJlIGFyZSBjcmVhdGlvbiBmdW5jdGlvbnMgYW5kIG9wZXJhdG9ycyB0aGF0IG5lZWQgdG9cbiAqIG1ha2UgZGlyZWN0IHVzZSBvZiB0aGUgc2FtZSBsb2dpYywgYW5kIHRoZXJlJ3Mgbm8gcmVhc29uIHRvIG1ha2UgdGhlbSBydW4gdGhyb3VnaFxuICogYGZyb21gIGNvbmRpdGlvbmFscyBiZWNhdXNlIHdlICprbm93KiB0aGV5J3JlIGRlYWxpbmcgd2l0aCBhbiBhcnJheS5cbiAqIEBwYXJhbSBhcnJheSBUaGUgYXJyYXkgdG8gZW1pdCB2YWx1ZXMgZnJvbVxuICovXG5leHBvcnQgZnVuY3Rpb24gZnJvbUFycmF5TGlrZTxUPihhcnJheTogQXJyYXlMaWtlPFQ+KSB7XG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxUPikgPT4ge1xuICAgIC8vIExvb3Agb3ZlciB0aGUgYXJyYXkgYW5kIGVtaXQgZWFjaCB2YWx1ZS4gTm90ZSB0d28gdGhpbmdzIGhlcmU6XG4gICAgLy8gMS4gV2UncmUgbWFraW5nIHN1cmUgdGhhdCB0aGUgc3Vic2NyaWJlciBpcyBub3QgY2xvc2VkIG9uIGVhY2ggbG9vcC5cbiAgICAvLyAgICBUaGlzIGlzIHNvIHdlIGRvbid0IGNvbnRpbnVlIGxvb3Bpbmcgb3ZlciBhIHZlcnkgbGFyZ2UgYXJyYXkgYWZ0ZXJcbiAgICAvLyAgICBzb21ldGhpbmcgbGlrZSBhIGB0YWtlYCwgYHRha2VXaGlsZWAsIG9yIG90aGVyIHN5bmNocm9ub3VzIHVuc3Vic2NyaXB0aW9uXG4gICAgLy8gICAgaGFzIGFscmVhZHkgdW5zdWJzY3JpYmVkLlxuICAgIC8vIDIuIEluIHRoaXMgZm9ybSwgcmVlbnRyYW50IGNvZGUgY2FuIGFsdGVyIHRoYXQgYXJyYXkgd2UncmUgbG9vcGluZyBvdmVyLlxuICAgIC8vICAgIFRoaXMgaXMgYSBrbm93biBpc3N1ZSwgYnV0IGNvbnNpZGVyZWQgYW4gZWRnZSBjYXNlLiBUaGUgYWx0ZXJuYXRpdmUgd291bGRcbiAgICAvLyAgICBiZSB0byBjb3B5IHRoZSBhcnJheSBiZWZvcmUgZXhlY3V0aW5nIHRoZSBsb29wLCBidXQgdGhpcyBoYXNcbiAgICAvLyAgICBwZXJmb3JtYW5jZSBpbXBsaWNhdGlvbnMuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBhcnJheS5sZW5ndGggJiYgIXN1YnNjcmliZXIuY2xvc2VkOyBpKyspIHtcbiAgICAgIHN1YnNjcmliZXIubmV4dChhcnJheVtpXSk7XG4gICAgfVxuICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgfSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmcm9tUHJvbWlzZTxUPihwcm9taXNlOiBQcm9taXNlTGlrZTxUPikge1xuICByZXR1cm4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXI6IFN1YnNjcmliZXI8VD4pID0+IHtcbiAgICBwcm9taXNlXG4gICAgICAudGhlbihcbiAgICAgICAgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgaWYgKCFzdWJzY3JpYmVyLmNsb3NlZCkge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHZhbHVlKTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIChlcnI6IGFueSkgPT4gc3Vic2NyaWJlci5lcnJvcihlcnIpXG4gICAgICApXG4gICAgICAudGhlbihudWxsLCByZXBvcnRVbmhhbmRsZWRFcnJvcik7XG4gIH0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZnJvbUl0ZXJhYmxlPFQ+KGl0ZXJhYmxlOiBJdGVyYWJsZTxUPikge1xuICByZXR1cm4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXI6IFN1YnNjcmliZXI8VD4pID0+IHtcbiAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIGl0ZXJhYmxlKSB7XG4gICAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUpO1xuICAgICAgaWYgKHN1YnNjcmliZXIuY2xvc2VkKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG4gICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21Bc3luY0l0ZXJhYmxlPFQ+KGFzeW5jSXRlcmFibGU6IEFzeW5jSXRlcmFibGU8VD4pIHtcbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPFQ+KSA9PiB7XG4gICAgcHJvY2Vzcyhhc3luY0l0ZXJhYmxlLCBzdWJzY3JpYmVyKS5jYXRjaCgoZXJyKSA9PiBzdWJzY3JpYmVyLmVycm9yKGVycikpO1xuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21SZWFkYWJsZVN0cmVhbUxpa2U8VD4ocmVhZGFibGVTdHJlYW06IFJlYWRhYmxlU3RyZWFtTGlrZTxUPikge1xuICByZXR1cm4gZnJvbUFzeW5jSXRlcmFibGUocmVhZGFibGVTdHJlYW1MaWtlVG9Bc3luY0dlbmVyYXRvcihyZWFkYWJsZVN0cmVhbSkpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBwcm9jZXNzPFQ+KGFzeW5jSXRlcmFibGU6IEFzeW5jSXRlcmFibGU8VD4sIHN1YnNjcmliZXI6IFN1YnNjcmliZXI8VD4pIHtcbiAgZm9yIGF3YWl0IChjb25zdCB2YWx1ZSBvZiBhc3luY0l0ZXJhYmxlKSB7XG4gICAgc3Vic2NyaWJlci5uZXh0KHZhbHVlKTtcbiAgICAvLyBBIHNpZGUtZWZmZWN0IG1heSBoYXZlIGNsb3NlZCBvdXIgc3Vic2NyaWJlcixcbiAgICAvLyBjaGVjayBiZWZvcmUgdGhlIG5leHQgaXRlcmF0aW9uLlxuICAgIGlmIChzdWJzY3JpYmVyLmNsb3NlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG59XG4iLCAiaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IFNjaGVkdWxlckFjdGlvbiwgU2NoZWR1bGVyTGlrZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGV4ZWN1dGVTY2hlZHVsZShcbiAgcGFyZW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24sXG4gIHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSxcbiAgd29yazogKCkgPT4gdm9pZCxcbiAgZGVsYXk6IG51bWJlcixcbiAgcmVwZWF0OiB0cnVlXG4pOiB2b2lkO1xuZXhwb3J0IGZ1bmN0aW9uIGV4ZWN1dGVTY2hlZHVsZShcbiAgcGFyZW50U3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24sXG4gIHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSxcbiAgd29yazogKCkgPT4gdm9pZCxcbiAgZGVsYXk/OiBudW1iZXIsXG4gIHJlcGVhdD86IGZhbHNlXG4pOiBTdWJzY3JpcHRpb247XG5cbmV4cG9ydCBmdW5jdGlvbiBleGVjdXRlU2NoZWR1bGUoXG4gIHBhcmVudFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uLFxuICBzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UsXG4gIHdvcms6ICgpID0+IHZvaWQsXG4gIGRlbGF5ID0gMCxcbiAgcmVwZWF0ID0gZmFsc2Vcbik6IFN1YnNjcmlwdGlvbiB8IHZvaWQge1xuICBjb25zdCBzY2hlZHVsZVN1YnNjcmlwdGlvbiA9IHNjaGVkdWxlci5zY2hlZHVsZShmdW5jdGlvbiAodGhpczogU2NoZWR1bGVyQWN0aW9uPGFueT4pIHtcbiAgICB3b3JrKCk7XG4gICAgaWYgKHJlcGVhdCkge1xuICAgICAgcGFyZW50U3Vic2NyaXB0aW9uLmFkZCh0aGlzLnNjaGVkdWxlKG51bGwsIGRlbGF5KSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH0sIGRlbGF5KTtcblxuICBwYXJlbnRTdWJzY3JpcHRpb24uYWRkKHNjaGVkdWxlU3Vic2NyaXB0aW9uKTtcblxuICBpZiAoIXJlcGVhdCkge1xuICAgIC8vIEJlY2F1c2UgdXNlci1sYW5kIHNjaGVkdWxlciBpbXBsZW1lbnRhdGlvbnMgYXJlIHVubGlrZWx5IHRvIHByb3Blcmx5IHJldXNlXG4gICAgLy8gQWN0aW9ucyBmb3IgcmVwZWF0IHNjaGVkdWxpbmcsIHdlIGNhbid0IHRydXN0IHRoYXQgdGhlIHJldHVybmVkIHN1YnNjcmlwdGlvblxuICAgIC8vIHdpbGwgY29udHJvbCByZXBlYXQgc3Vic2NyaXB0aW9uIHNjZW5hcmlvcy4gU28gd2UncmUgdHJ5aW5nIHRvIGF2b2lkIHVzaW5nIHRoZW1cbiAgICAvLyBpbmNvcnJlY3RseSB3aXRoaW4gdGhpcyBsaWJyYXJ5LlxuICAgIHJldHVybiBzY2hlZHVsZVN1YnNjcmlwdGlvbjtcbiAgfVxufVxuIiwgIi8qKiBAcHJldHRpZXIgKi9cbmltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgU2NoZWR1bGVyTGlrZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGV4ZWN1dGVTY2hlZHVsZSB9IGZyb20gJy4uL3V0aWwvZXhlY3V0ZVNjaGVkdWxlJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi9PcGVyYXRvclN1YnNjcmliZXInO1xuXG4vKipcbiAqIFJlLWVtaXRzIGFsbCBub3RpZmljYXRpb25zIGZyb20gc291cmNlIE9ic2VydmFibGUgd2l0aCBzcGVjaWZpZWQgc2NoZWR1bGVyLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5FbnN1cmUgYSBzcGVjaWZpYyBzY2hlZHVsZXIgaXMgdXNlZCwgZnJvbSBvdXRzaWRlIG9mIGFuIE9ic2VydmFibGUuPC9zcGFuPlxuICpcbiAqIGBvYnNlcnZlT25gIGlzIGFuIG9wZXJhdG9yIHRoYXQgYWNjZXB0cyBhIHNjaGVkdWxlciBhcyBhIGZpcnN0IHBhcmFtZXRlciwgd2hpY2ggd2lsbCBiZSB1c2VkIHRvIHJlc2NoZWR1bGVcbiAqIG5vdGlmaWNhdGlvbnMgZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUuIEl0IG1pZ2h0IGJlIHVzZWZ1bCwgaWYgeW91IGRvIG5vdCBoYXZlIGNvbnRyb2wgb3ZlclxuICogaW50ZXJuYWwgc2NoZWR1bGVyIG9mIGEgZ2l2ZW4gT2JzZXJ2YWJsZSwgYnV0IHdhbnQgdG8gY29udHJvbCB3aGVuIGl0cyB2YWx1ZXMgYXJlIGVtaXR0ZWQgbmV2ZXJ0aGVsZXNzLlxuICpcbiAqIFJldHVybmVkIE9ic2VydmFibGUgZW1pdHMgdGhlIHNhbWUgbm90aWZpY2F0aW9ucyAobmV4dGVkIHZhbHVlcywgY29tcGxldGUgYW5kIGVycm9yIGV2ZW50cykgYXMgdGhlIHNvdXJjZSBPYnNlcnZhYmxlLFxuICogYnV0IHJlc2NoZWR1bGVkIHdpdGggcHJvdmlkZWQgc2NoZWR1bGVyLiBOb3RlIHRoYXQgdGhpcyBkb2Vzbid0IG1lYW4gdGhhdCBzb3VyY2UgT2JzZXJ2YWJsZXMgaW50ZXJuYWxcbiAqIHNjaGVkdWxlciB3aWxsIGJlIHJlcGxhY2VkIGluIGFueSB3YXkuIE9yaWdpbmFsIHNjaGVkdWxlciBzdGlsbCB3aWxsIGJlIHVzZWQsIGJ1dCB3aGVuIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBlbWl0c1xuICogbm90aWZpY2F0aW9uLCBpdCB3aWxsIGJlIGltbWVkaWF0ZWx5IHNjaGVkdWxlZCBhZ2FpbiAtIHRoaXMgdGltZSB3aXRoIHNjaGVkdWxlciBwYXNzZWQgdG8gYG9ic2VydmVPbmAuXG4gKiBBbiBhbnRpLXBhdHRlcm4gd291bGQgYmUgY2FsbGluZyBgb2JzZXJ2ZU9uYCBvbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgbG90cyBvZiB2YWx1ZXMgc3luY2hyb25vdXNseSwgdG8gc3BsaXRcbiAqIHRoYXQgZW1pc3Npb25zIGludG8gYXN5bmNocm9ub3VzIGNodW5rcy4gRm9yIHRoaXMgdG8gaGFwcGVuLCBzY2hlZHVsZXIgd291bGQgaGF2ZSB0byBiZSBwYXNzZWQgaW50byB0aGUgc291cmNlXG4gKiBPYnNlcnZhYmxlIGRpcmVjdGx5ICh1c3VhbGx5IGludG8gdGhlIG9wZXJhdG9yIHRoYXQgY3JlYXRlcyBpdCkuIGBvYnNlcnZlT25gIHNpbXBseSBkZWxheXMgbm90aWZpY2F0aW9ucyBhXG4gKiBsaXR0bGUgYml0IG1vcmUsIHRvIGVuc3VyZSB0aGF0IHRoZXkgYXJlIGVtaXR0ZWQgYXQgZXhwZWN0ZWQgbW9tZW50cy5cbiAqXG4gKiBBcyBhIG1hdHRlciBvZiBmYWN0LCBgb2JzZXJ2ZU9uYCBhY2NlcHRzIHNlY29uZCBwYXJhbWV0ZXIsIHdoaWNoIHNwZWNpZmllcyBpbiBtaWxsaXNlY29uZHMgd2l0aCB3aGF0IGRlbGF5IG5vdGlmaWNhdGlvbnNcbiAqIHdpbGwgYmUgZW1pdHRlZC4gVGhlIG1haW4gZGlmZmVyZW5jZSBiZXR3ZWVuIHtAbGluayBkZWxheX0gb3BlcmF0b3IgYW5kIGBvYnNlcnZlT25gIGlzIHRoYXQgYG9ic2VydmVPbmBcbiAqIHdpbGwgZGVsYXkgYWxsIG5vdGlmaWNhdGlvbnMgLSBpbmNsdWRpbmcgZXJyb3Igbm90aWZpY2F0aW9ucyAtIHdoaWxlIGBkZWxheWAgd2lsbCBwYXNzIHRocm91Z2ggZXJyb3JcbiAqIGZyb20gc291cmNlIE9ic2VydmFibGUgaW1tZWRpYXRlbHkgd2hlbiBpdCBpcyBlbWl0dGVkLiBJbiBnZW5lcmFsIGl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0byB1c2UgYGRlbGF5YCBvcGVyYXRvclxuICogZm9yIGFueSBraW5kIG9mIGRlbGF5aW5nIG9mIHZhbHVlcyBpbiB0aGUgc3RyZWFtLCB3aGlsZSB1c2luZyBgb2JzZXJ2ZU9uYCB0byBzcGVjaWZ5IHdoaWNoIHNjaGVkdWxlciBzaG91bGQgYmUgdXNlZFxuICogZm9yIG5vdGlmaWNhdGlvbiBlbWlzc2lvbnMgaW4gZ2VuZXJhbC5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogRW5zdXJlIHZhbHVlcyBpbiBzdWJzY3JpYmUgYXJlIGNhbGxlZCBqdXN0IGJlZm9yZSBicm93c2VyIHJlcGFpbnRcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaW50ZXJ2YWwsIG9ic2VydmVPbiwgYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBzb21lRGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gKiBzb21lRGl2LnN0eWxlLmNzc1RleHQgPSAnd2lkdGg6IDIwMHB4O2JhY2tncm91bmQ6ICMwOWMnO1xuICogZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzb21lRGl2KTtcbiAqIGNvbnN0IGludGVydmFscyA9IGludGVydmFsKDEwKTsgICAgICAvLyBJbnRlcnZhbHMgYXJlIHNjaGVkdWxlZFxuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdpdGggYXN5bmMgc2NoZWR1bGVyIGJ5IGRlZmF1bHQuLi5cbiAqIGludGVydmFscy5waXBlKFxuICogICBvYnNlcnZlT24oYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIpIC8vIC4uLmJ1dCB3ZSB3aWxsIG9ic2VydmUgb24gYW5pbWF0aW9uRnJhbWVcbiAqICkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBzY2hlZHVsZXIgdG8gZW5zdXJlIHNtb290aCBhbmltYXRpb24uXG4gKiAuc3Vic2NyaWJlKHZhbCA9PiB7XG4gKiAgIHNvbWVEaXYuc3R5bGUuaGVpZ2h0ID0gdmFsICsgJ3B4JztcbiAqIH0pO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgZGVsYXl9XG4gKlxuICogQHBhcmFtIHNjaGVkdWxlciBTY2hlZHVsZXIgdGhhdCB3aWxsIGJlIHVzZWQgdG8gcmVzY2hlZHVsZSBub3RpZmljYXRpb25zIGZyb20gc291cmNlIE9ic2VydmFibGUuXG4gKiBAcGFyYW0gZGVsYXkgTnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0aGF0IHN0YXRlcyB3aXRoIHdoYXQgZGVsYXkgZXZlcnkgbm90aWZpY2F0aW9uIHNob3VsZCBiZSByZXNjaGVkdWxlZC5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBzYW1lXG4gKiBub3RpZmljYXRpb25zIGFzIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSwgYnV0IHdpdGggcHJvdmlkZWQgc2NoZWR1bGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb2JzZXJ2ZU9uPFQ+KHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSwgZGVsYXkgPSAwKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIHNvdXJjZS5zdWJzY3JpYmUoXG4gICAgICBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoXG4gICAgICAgIHN1YnNjcmliZXIsXG4gICAgICAgICh2YWx1ZSkgPT4gZXhlY3V0ZVNjaGVkdWxlKHN1YnNjcmliZXIsIHNjaGVkdWxlciwgKCkgPT4gc3Vic2NyaWJlci5uZXh0KHZhbHVlKSwgZGVsYXkpLFxuICAgICAgICAoKSA9PiBleGVjdXRlU2NoZWR1bGUoc3Vic2NyaWJlciwgc2NoZWR1bGVyLCAoKSA9PiBzdWJzY3JpYmVyLmNvbXBsZXRlKCksIGRlbGF5KSxcbiAgICAgICAgKGVycikgPT4gZXhlY3V0ZVNjaGVkdWxlKHN1YnNjcmliZXIsIHNjaGVkdWxlciwgKCkgPT4gc3Vic2NyaWJlci5lcnJvcihlcnIpLCBkZWxheSlcbiAgICAgIClcbiAgICApO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIFNjaGVkdWxlckxpa2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcblxuLyoqXG4gKiBBc3luY2hyb25vdXNseSBzdWJzY3JpYmVzIE9ic2VydmVycyB0byB0aGlzIE9ic2VydmFibGUgb24gdGhlIHNwZWNpZmllZCB7QGxpbmsgU2NoZWR1bGVyTGlrZX0uXG4gKlxuICogV2l0aCBgc3Vic2NyaWJlT25gIHlvdSBjYW4gZGVjaWRlIHdoYXQgdHlwZSBvZiBzY2hlZHVsZXIgYSBzcGVjaWZpYyBPYnNlcnZhYmxlIHdpbGwgYmUgdXNpbmcgd2hlbiBpdCBpcyBzdWJzY3JpYmVkIHRvLlxuICpcbiAqIFNjaGVkdWxlcnMgY29udHJvbCB0aGUgc3BlZWQgYW5kIG9yZGVyIG9mIGVtaXNzaW9ucyB0byBvYnNlcnZlcnMgZnJvbSBhbiBPYnNlcnZhYmxlIHN0cmVhbS5cbiAqXG4gKiAhW10oc3Vic2NyaWJlT24ucG5nKVxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBHaXZlbiB0aGUgZm9sbG93aW5nIGNvZGU6XG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mLCBtZXJnZSB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGEgPSBvZigxLCAyLCAzKTtcbiAqIGNvbnN0IGIgPSBvZig0LCA1LCA2KTtcbiAqXG4gKiBtZXJnZShhLCBiKS5zdWJzY3JpYmUoY29uc29sZS5sb2cpO1xuICpcbiAqIC8vIE91dHB1dHNcbiAqIC8vIDFcbiAqIC8vIDJcbiAqIC8vIDNcbiAqIC8vIDRcbiAqIC8vIDVcbiAqIC8vIDZcbiAqIGBgYFxuICpcbiAqIEJvdGggT2JzZXJ2YWJsZSBgYWAgYW5kIGBiYCB3aWxsIGVtaXQgdGhlaXIgdmFsdWVzIGRpcmVjdGx5IGFuZCBzeW5jaHJvbm91c2x5IG9uY2UgdGhleSBhcmUgc3Vic2NyaWJlZCB0by5cbiAqXG4gKiBJZiB3ZSBpbnN0ZWFkIHVzZSB0aGUgYHN1YnNjcmliZU9uYCBvcGVyYXRvciBkZWNsYXJpbmcgdGhhdCB3ZSB3YW50IHRvIHVzZSB0aGUge0BsaW5rIGFzeW5jU2NoZWR1bGVyfSBmb3IgdmFsdWVzIGVtaXR0ZWQgYnkgT2JzZXJ2YWJsZSBgYWA6XG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mLCBzdWJzY3JpYmVPbiwgYXN5bmNTY2hlZHVsZXIsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgYSA9IG9mKDEsIDIsIDMpLnBpcGUoc3Vic2NyaWJlT24oYXN5bmNTY2hlZHVsZXIpKTtcbiAqIGNvbnN0IGIgPSBvZig0LCA1LCA2KTtcbiAqXG4gKiBtZXJnZShhLCBiKS5zdWJzY3JpYmUoY29uc29sZS5sb2cpO1xuICpcbiAqIC8vIE91dHB1dHNcbiAqIC8vIDRcbiAqIC8vIDVcbiAqIC8vIDZcbiAqIC8vIDFcbiAqIC8vIDJcbiAqIC8vIDNcbiAqIGBgYFxuICpcbiAqIFRoZSByZWFzb24gZm9yIHRoaXMgaXMgdGhhdCBPYnNlcnZhYmxlIGBiYCBlbWl0cyBpdHMgdmFsdWVzIGRpcmVjdGx5IGFuZCBzeW5jaHJvbm91c2x5IGxpa2UgYmVmb3JlXG4gKiBidXQgdGhlIGVtaXNzaW9ucyBmcm9tIGBhYCBhcmUgc2NoZWR1bGVkIG9uIHRoZSBldmVudCBsb29wIGJlY2F1c2Ugd2UgYXJlIG5vdyB1c2luZyB0aGUge0BsaW5rIGFzeW5jU2NoZWR1bGVyfSBmb3IgdGhhdCBzcGVjaWZpYyBPYnNlcnZhYmxlLlxuICpcbiAqIEBwYXJhbSBzY2hlZHVsZXIgVGhlIHtAbGluayBTY2hlZHVsZXJMaWtlfSB0byBwZXJmb3JtIHN1YnNjcmlwdGlvbiBhY3Rpb25zIG9uLlxuICogQHBhcmFtIGRlbGF5IEEgZGVsYXkgdG8gcGFzcyB0byB0aGUgc2NoZWR1bGVyIHRvIGRlbGF5IHN1YnNjcmlwdGlvbnNcbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSBtb2RpZmllZCBzbyB0aGF0IGl0c1xuICogc3Vic2NyaXB0aW9ucyBoYXBwZW4gb24gdGhlIHNwZWNpZmllZCB7QGxpbmsgU2NoZWR1bGVyTGlrZX0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdWJzY3JpYmVPbjxUPihzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UsIGRlbGF5OiBudW1iZXIgPSAwKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIHN1YnNjcmliZXIuYWRkKHNjaGVkdWxlci5zY2hlZHVsZSgoKSA9PiBzb3VyY2Uuc3Vic2NyaWJlKHN1YnNjcmliZXIpLCBkZWxheSkpO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBpbm5lckZyb20gfSBmcm9tICcuLi9vYnNlcnZhYmxlL2lubmVyRnJvbSc7XG5pbXBvcnQgeyBvYnNlcnZlT24gfSBmcm9tICcuLi9vcGVyYXRvcnMvb2JzZXJ2ZU9uJztcbmltcG9ydCB7IHN1YnNjcmliZU9uIH0gZnJvbSAnLi4vb3BlcmF0b3JzL3N1YnNjcmliZU9uJztcbmltcG9ydCB7IEludGVyb3BPYnNlcnZhYmxlLCBTY2hlZHVsZXJMaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2NoZWR1bGVPYnNlcnZhYmxlPFQ+KGlucHV0OiBJbnRlcm9wT2JzZXJ2YWJsZTxUPiwgc2NoZWR1bGVyOiBTY2hlZHVsZXJMaWtlKSB7XG4gIHJldHVybiBpbm5lckZyb20oaW5wdXQpLnBpcGUoc3Vic2NyaWJlT24oc2NoZWR1bGVyKSwgb2JzZXJ2ZU9uKHNjaGVkdWxlcikpO1xufVxuIiwgImltcG9ydCB7IGlubmVyRnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvaW5uZXJGcm9tJztcbmltcG9ydCB7IG9ic2VydmVPbiB9IGZyb20gJy4uL29wZXJhdG9ycy9vYnNlcnZlT24nO1xuaW1wb3J0IHsgc3Vic2NyaWJlT24gfSBmcm9tICcuLi9vcGVyYXRvcnMvc3Vic2NyaWJlT24nO1xuaW1wb3J0IHsgU2NoZWR1bGVyTGlrZSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNjaGVkdWxlUHJvbWlzZTxUPihpbnB1dDogUHJvbWlzZUxpa2U8VD4sIHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSkge1xuICByZXR1cm4gaW5uZXJGcm9tKGlucHV0KS5waXBlKHN1YnNjcmliZU9uKHNjaGVkdWxlciksIG9ic2VydmVPbihzY2hlZHVsZXIpKTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTY2hlZHVsZXJMaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gc2NoZWR1bGVBcnJheTxUPihpbnB1dDogQXJyYXlMaWtlPFQ+LCBzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UpIHtcbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPFQ+KChzdWJzY3JpYmVyKSA9PiB7XG4gICAgLy8gVGhlIGN1cnJlbnQgYXJyYXkgaW5kZXguXG4gICAgbGV0IGkgPSAwO1xuICAgIC8vIFN0YXJ0IGl0ZXJhdGluZyBvdmVyIHRoZSBhcnJheSBsaWtlIG9uIGEgc2NoZWR1bGUuXG4gICAgcmV0dXJuIHNjaGVkdWxlci5zY2hlZHVsZShmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoaSA9PT0gaW5wdXQubGVuZ3RoKSB7XG4gICAgICAgIC8vIElmIHdlIGhhdmUgaGl0IHRoZSBlbmQgb2YgdGhlIGFycmF5IGxpa2UgaW4gdGhlXG4gICAgICAgIC8vIHByZXZpb3VzIGpvYiwgd2UgY2FuIGNvbXBsZXRlLlxuICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UgbGV0J3MgbmV4dCB0aGUgdmFsdWUgYXQgdGhlIGN1cnJlbnQgaW5kZXgsXG4gICAgICAgIC8vIHRoZW4gaW5jcmVtZW50IG91ciBpbmRleC5cbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KGlucHV0W2krK10pO1xuICAgICAgICAvLyBJZiB0aGUgbGFzdCBlbWlzc2lvbiBkaWRuJ3QgY2F1c2UgdXMgdG8gY2xvc2UgdGhlIHN1YnNjcmliZXJcbiAgICAgICAgLy8gKHZpYSB0YWtlIG9yIHNvbWUgc2lkZSBlZmZlY3QpLCByZXNjaGVkdWxlIHRoZSBqb2IgYW5kIHdlJ2xsXG4gICAgICAgIC8vIG1ha2UgYW5vdGhlciBwYXNzLlxuICAgICAgICBpZiAoIXN1YnNjcmliZXIuY2xvc2VkKSB7XG4gICAgICAgICAgdGhpcy5zY2hlZHVsZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IFNjaGVkdWxlckxpa2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpdGVyYXRvciBhcyBTeW1ib2xfaXRlcmF0b3IgfSBmcm9tICcuLi9zeW1ib2wvaXRlcmF0b3InO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWwvaXNGdW5jdGlvbic7XG5pbXBvcnQgeyBleGVjdXRlU2NoZWR1bGUgfSBmcm9tICcuLi91dGlsL2V4ZWN1dGVTY2hlZHVsZSc7XG5cbi8qKlxuICogVXNlZCBpbiB7QGxpbmsgc2NoZWR1bGVkfSB0byBjcmVhdGUgYW4gb2JzZXJ2YWJsZSBmcm9tIGFuIEl0ZXJhYmxlLlxuICogQHBhcmFtIGlucHV0IFRoZSBpdGVyYWJsZSB0byBjcmVhdGUgYW4gb2JzZXJ2YWJsZSBmcm9tXG4gKiBAcGFyYW0gc2NoZWR1bGVyIFRoZSBzY2hlZHVsZXIgdG8gdXNlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzY2hlZHVsZUl0ZXJhYmxlPFQ+KGlucHV0OiBJdGVyYWJsZTxUPiwgc2NoZWR1bGVyOiBTY2hlZHVsZXJMaWtlKSB7XG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxUPigoc3Vic2NyaWJlcikgPT4ge1xuICAgIGxldCBpdGVyYXRvcjogSXRlcmF0b3I8VCwgVD47XG5cbiAgICAvLyBTY2hlZHVsZSB0aGUgaW5pdGlhbCBjcmVhdGlvbiBvZiB0aGUgaXRlcmF0b3IgZnJvbVxuICAgIC8vIHRoZSBpdGVyYWJsZS4gVGhpcyBpcyBzbyB0aGUgY29kZSBpbiB0aGUgaXRlcmFibGUgaXNcbiAgICAvLyBub3QgY2FsbGVkIHVudGlsIHRoZSBzY2hlZHVsZWQgam9iIGZpcmVzLlxuICAgIGV4ZWN1dGVTY2hlZHVsZShzdWJzY3JpYmVyLCBzY2hlZHVsZXIsICgpID0+IHtcbiAgICAgIC8vIENyZWF0ZSB0aGUgaXRlcmF0b3IuXG4gICAgICBpdGVyYXRvciA9IChpbnB1dCBhcyBhbnkpW1N5bWJvbF9pdGVyYXRvcl0oKTtcblxuICAgICAgZXhlY3V0ZVNjaGVkdWxlKFxuICAgICAgICBzdWJzY3JpYmVyLFxuICAgICAgICBzY2hlZHVsZXIsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBsZXQgdmFsdWU6IFQ7XG4gICAgICAgICAgbGV0IGRvbmU6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIC8vIFB1bGwgdGhlIHZhbHVlIG91dCBvZiB0aGUgaXRlcmF0b3JcbiAgICAgICAgICAgICh7IHZhbHVlLCBkb25lIH0gPSBpdGVyYXRvci5uZXh0KCkpO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgLy8gV2UgZ290IGFuIGVycm9yIHdoaWxlIHB1bGxpbmcgZnJvbSB0aGUgaXRlcmF0b3JcbiAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoZG9uZSkge1xuICAgICAgICAgICAgLy8gSWYgaXQgaXMgXCJkb25lXCIgd2UganVzdCBjb21wbGV0ZS4gVGhpcyBtaW1pY3MgdGhlXG4gICAgICAgICAgICAvLyBiZWhhdmlvciBvZiBKYXZhU2NyaXB0J3MgYGZvci4ub2ZgIGNvbnN1bXB0aW9uIG9mXG4gICAgICAgICAgICAvLyBpdGVyYWJsZXMsIHdoaWNoIHdpbGwgbm90IGVtaXQgdGhlIHZhbHVlIGZyb20gYW4gaXRlcmF0b3JcbiAgICAgICAgICAgIC8vIHJlc3VsdCBvZiBgeyBkb25lOiB0cnVlOiB2YWx1ZTogJ2hlcmUnIH1gLlxuICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBUaGUgaXRlcmFibGUgaXMgbm90IGRvbmUsIGVtaXQgdGhlIHZhbHVlLlxuICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIDAsXG4gICAgICAgIHRydWVcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICAvLyBEdXJpbmcgZmluYWxpemF0aW9uLCBpZiB3ZSBzZWUgdGhpcyBpdGVyYXRvciBoYXMgYSBgcmV0dXJuYCBtZXRob2QsXG4gICAgLy8gdGhlbiB3ZSBrbm93IGl0IGlzIGEgR2VuZXJhdG9yLCBhbmQgbm90IGp1c3QgYW4gSXRlcmF0b3IuIFNvIHdlIGNhbGxcbiAgICAvLyB0aGUgYHJldHVybigpYCBmdW5jdGlvbi4gVGhpcyB3aWxsIGVuc3VyZSB0aGF0IGFueSBgZmluYWxseSB7IH1gIGJsb2Nrc1xuICAgIC8vIGluc2lkZSBvZiB0aGUgZ2VuZXJhdG9yIHdlIGNhbiBoaXQgd2lsbCBiZSBoaXQgcHJvcGVybHkuXG4gICAgcmV0dXJuICgpID0+IGlzRnVuY3Rpb24oaXRlcmF0b3I/LnJldHVybikgJiYgaXRlcmF0b3IucmV0dXJuKCk7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IFNjaGVkdWxlckxpa2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBleGVjdXRlU2NoZWR1bGUgfSBmcm9tICcuLi91dGlsL2V4ZWN1dGVTY2hlZHVsZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzY2hlZHVsZUFzeW5jSXRlcmFibGU8VD4oaW5wdXQ6IEFzeW5jSXRlcmFibGU8VD4sIHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSkge1xuICBpZiAoIWlucHV0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJdGVyYWJsZSBjYW5ub3QgYmUgbnVsbCcpO1xuICB9XG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxUPigoc3Vic2NyaWJlcikgPT4ge1xuICAgIGV4ZWN1dGVTY2hlZHVsZShzdWJzY3JpYmVyLCBzY2hlZHVsZXIsICgpID0+IHtcbiAgICAgIGNvbnN0IGl0ZXJhdG9yID0gaW5wdXRbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKCk7XG4gICAgICBleGVjdXRlU2NoZWR1bGUoXG4gICAgICAgIHN1YnNjcmliZXIsXG4gICAgICAgIHNjaGVkdWxlcixcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGl0ZXJhdG9yLm5leHQoKS50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgIGlmIChyZXN1bHQuZG9uZSkge1xuICAgICAgICAgICAgICAvLyBUaGlzIHdpbGwgcmVtb3ZlIHRoZSBzdWJzY3JpcHRpb25zIGZyb21cbiAgICAgICAgICAgICAgLy8gdGhlIHBhcmVudCBzdWJzY3JpcHRpb24uXG4gICAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChyZXN1bHQudmFsdWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9LFxuICAgICAgICAwLFxuICAgICAgICB0cnVlXG4gICAgICApO1xuICAgIH0pO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBTY2hlZHVsZXJMaWtlLCBSZWFkYWJsZVN0cmVhbUxpa2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBzY2hlZHVsZUFzeW5jSXRlcmFibGUgfSBmcm9tICcuL3NjaGVkdWxlQXN5bmNJdGVyYWJsZSc7XG5pbXBvcnQgeyByZWFkYWJsZVN0cmVhbUxpa2VUb0FzeW5jR2VuZXJhdG9yIH0gZnJvbSAnLi4vdXRpbC9pc1JlYWRhYmxlU3RyZWFtTGlrZSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzY2hlZHVsZVJlYWRhYmxlU3RyZWFtTGlrZTxUPihpbnB1dDogUmVhZGFibGVTdHJlYW1MaWtlPFQ+LCBzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgcmV0dXJuIHNjaGVkdWxlQXN5bmNJdGVyYWJsZShyZWFkYWJsZVN0cmVhbUxpa2VUb0FzeW5jR2VuZXJhdG9yKGlucHV0KSwgc2NoZWR1bGVyKTtcbn1cbiIsICJpbXBvcnQgeyBzY2hlZHVsZU9ic2VydmFibGUgfSBmcm9tICcuL3NjaGVkdWxlT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBzY2hlZHVsZVByb21pc2UgfSBmcm9tICcuL3NjaGVkdWxlUHJvbWlzZSc7XG5pbXBvcnQgeyBzY2hlZHVsZUFycmF5IH0gZnJvbSAnLi9zY2hlZHVsZUFycmF5JztcbmltcG9ydCB7IHNjaGVkdWxlSXRlcmFibGUgfSBmcm9tICcuL3NjaGVkdWxlSXRlcmFibGUnO1xuaW1wb3J0IHsgc2NoZWR1bGVBc3luY0l0ZXJhYmxlIH0gZnJvbSAnLi9zY2hlZHVsZUFzeW5jSXRlcmFibGUnO1xuaW1wb3J0IHsgaXNJbnRlcm9wT2JzZXJ2YWJsZSB9IGZyb20gJy4uL3V0aWwvaXNJbnRlcm9wT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBpc1Byb21pc2UgfSBmcm9tICcuLi91dGlsL2lzUHJvbWlzZSc7XG5pbXBvcnQgeyBpc0FycmF5TGlrZSB9IGZyb20gJy4uL3V0aWwvaXNBcnJheUxpa2UnO1xuaW1wb3J0IHsgaXNJdGVyYWJsZSB9IGZyb20gJy4uL3V0aWwvaXNJdGVyYWJsZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQsIFNjaGVkdWxlckxpa2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBpc0FzeW5jSXRlcmFibGUgfSBmcm9tICcuLi91dGlsL2lzQXN5bmNJdGVyYWJsZSc7XG5pbXBvcnQgeyBjcmVhdGVJbnZhbGlkT2JzZXJ2YWJsZVR5cGVFcnJvciB9IGZyb20gJy4uL3V0aWwvdGhyb3dVbm9ic2VydmFibGVFcnJvcic7XG5pbXBvcnQgeyBpc1JlYWRhYmxlU3RyZWFtTGlrZSB9IGZyb20gJy4uL3V0aWwvaXNSZWFkYWJsZVN0cmVhbUxpa2UnO1xuaW1wb3J0IHsgc2NoZWR1bGVSZWFkYWJsZVN0cmVhbUxpa2UgfSBmcm9tICcuL3NjaGVkdWxlUmVhZGFibGVTdHJlYW1MaWtlJztcblxuLyoqXG4gKiBDb252ZXJ0cyBmcm9tIGEgY29tbW9uIHtAbGluayBPYnNlcnZhYmxlSW5wdXR9IHR5cGUgdG8gYW4gb2JzZXJ2YWJsZSB3aGVyZSBzdWJzY3JpcHRpb24gYW5kIGVtaXNzaW9uc1xuICogYXJlIHNjaGVkdWxlZCBvbiB0aGUgcHJvdmlkZWQgc2NoZWR1bGVyLlxuICpcbiAqIEBzZWUge0BsaW5rIGZyb219XG4gKiBAc2VlIHtAbGluayBvZn1cbiAqXG4gKiBAcGFyYW0gaW5wdXQgVGhlIG9ic2VydmFibGUsIGFycmF5LCBwcm9taXNlLCBpdGVyYWJsZSwgZXRjIHlvdSB3b3VsZCBsaWtlIHRvIHNjaGVkdWxlXG4gKiBAcGFyYW0gc2NoZWR1bGVyIFRoZSBzY2hlZHVsZXIgdG8gdXNlIHRvIHNjaGVkdWxlIHRoZSBzdWJzY3JpcHRpb24gYW5kIGVtaXNzaW9ucyBmcm9tXG4gKiB0aGUgcmV0dXJuZWQgb2JzZXJ2YWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNjaGVkdWxlZDxUPihpbnB1dDogT2JzZXJ2YWJsZUlucHV0PFQ+LCBzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UpOiBPYnNlcnZhYmxlPFQ+IHtcbiAgaWYgKGlucHV0ICE9IG51bGwpIHtcbiAgICBpZiAoaXNJbnRlcm9wT2JzZXJ2YWJsZShpbnB1dCkpIHtcbiAgICAgIHJldHVybiBzY2hlZHVsZU9ic2VydmFibGUoaW5wdXQsIHNjaGVkdWxlcik7XG4gICAgfVxuICAgIGlmIChpc0FycmF5TGlrZShpbnB1dCkpIHtcbiAgICAgIHJldHVybiBzY2hlZHVsZUFycmF5KGlucHV0LCBzY2hlZHVsZXIpO1xuICAgIH1cbiAgICBpZiAoaXNQcm9taXNlKGlucHV0KSkge1xuICAgICAgcmV0dXJuIHNjaGVkdWxlUHJvbWlzZShpbnB1dCwgc2NoZWR1bGVyKTtcbiAgICB9XG4gICAgaWYgKGlzQXN5bmNJdGVyYWJsZShpbnB1dCkpIHtcbiAgICAgIHJldHVybiBzY2hlZHVsZUFzeW5jSXRlcmFibGUoaW5wdXQsIHNjaGVkdWxlcik7XG4gICAgfVxuICAgIGlmIChpc0l0ZXJhYmxlKGlucHV0KSkge1xuICAgICAgcmV0dXJuIHNjaGVkdWxlSXRlcmFibGUoaW5wdXQsIHNjaGVkdWxlcik7XG4gICAgfVxuICAgIGlmIChpc1JlYWRhYmxlU3RyZWFtTGlrZShpbnB1dCkpIHtcbiAgICAgIHJldHVybiBzY2hlZHVsZVJlYWRhYmxlU3RyZWFtTGlrZShpbnB1dCwgc2NoZWR1bGVyKTtcbiAgICB9XG4gIH1cbiAgdGhyb3cgY3JlYXRlSW52YWxpZE9ic2VydmFibGVUeXBlRXJyb3IoaW5wdXQpO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCwgU2NoZWR1bGVyTGlrZSwgT2JzZXJ2ZWRWYWx1ZU9mIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgc2NoZWR1bGVkIH0gZnJvbSAnLi4vc2NoZWR1bGVkL3NjaGVkdWxlZCc7XG5pbXBvcnQgeyBpbm5lckZyb20gfSBmcm9tICcuL2lubmVyRnJvbSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmcm9tPE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8YW55Pj4oaW5wdXQ6IE8pOiBPYnNlcnZhYmxlPE9ic2VydmVkVmFsdWVPZjxPPj47XG4vKiogQGRlcHJlY2F0ZWQgVGhlIGBzY2hlZHVsZXJgIHBhcmFtZXRlciB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSBgc2NoZWR1bGVkYC4gRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvc2NoZWR1bGVyLWFyZ3VtZW50ICovXG5leHBvcnQgZnVuY3Rpb24gZnJvbTxPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PGFueT4+KGlucHV0OiBPLCBzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UgfCB1bmRlZmluZWQpOiBPYnNlcnZhYmxlPE9ic2VydmVkVmFsdWVPZjxPPj47XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBPYnNlcnZhYmxlIGZyb20gYW4gQXJyYXksIGFuIGFycmF5LWxpa2Ugb2JqZWN0LCBhIFByb21pc2UsIGFuIGl0ZXJhYmxlIG9iamVjdCwgb3IgYW4gT2JzZXJ2YWJsZS1saWtlIG9iamVjdC5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+Q29udmVydHMgYWxtb3N0IGFueXRoaW5nIHRvIGFuIE9ic2VydmFibGUuPC9zcGFuPlxuICpcbiAqICFbXShmcm9tLnBuZylcbiAqXG4gKiBgZnJvbWAgY29udmVydHMgdmFyaW91cyBvdGhlciBvYmplY3RzIGFuZCBkYXRhIHR5cGVzIGludG8gT2JzZXJ2YWJsZXMuIEl0IGFsc28gY29udmVydHMgYSBQcm9taXNlLCBhbiBhcnJheS1saWtlLCBvciBhblxuICogPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0l0ZXJhdGlvbl9wcm90b2NvbHMjaXRlcmFibGVcIiB0YXJnZXQ9XCJfYmxhbmtcIj5pdGVyYWJsZTwvYT5cbiAqIG9iamVjdCBpbnRvIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgaXRlbXMgaW4gdGhhdCBwcm9taXNlLCBhcnJheSwgb3IgaXRlcmFibGUuIEEgU3RyaW5nLCBpbiB0aGlzIGNvbnRleHQsIGlzIHRyZWF0ZWRcbiAqIGFzIGFuIGFycmF5IG9mIGNoYXJhY3RlcnMuIE9ic2VydmFibGUtbGlrZSBvYmplY3RzIChjb250YWlucyBhIGZ1bmN0aW9uIG5hbWVkIHdpdGggdGhlIEVTMjAxNSBTeW1ib2wgZm9yIE9ic2VydmFibGUpIGNhbiBhbHNvIGJlXG4gKiBjb252ZXJ0ZWQgdGhyb3VnaCB0aGlzIG9wZXJhdG9yLlxuICpcbiAqICMjIEV4YW1wbGVzXG4gKlxuICogQ29udmVydHMgYW4gYXJyYXkgdG8gYW4gT2JzZXJ2YWJsZVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgYXJyYXkgPSBbMTAsIDIwLCAzMF07XG4gKiBjb25zdCByZXN1bHQgPSBmcm9tKGFycmF5KTtcbiAqXG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIExvZ3M6XG4gKiAvLyAxMFxuICogLy8gMjBcbiAqIC8vIDMwXG4gKiBgYGBcbiAqXG4gKiBDb252ZXJ0IGFuIGluZmluaXRlIGl0ZXJhYmxlIChmcm9tIGEgZ2VuZXJhdG9yKSB0byBhbiBPYnNlcnZhYmxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb20sIHRha2UgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBmdW5jdGlvbiogZ2VuZXJhdGVEb3VibGVzKHNlZWQpIHtcbiAqICAgIGxldCBpID0gc2VlZDtcbiAqICAgIHdoaWxlICh0cnVlKSB7XG4gKiAgICAgIHlpZWxkIGk7XG4gKiAgICAgIGkgPSAyICogaTsgLy8gZG91YmxlIGl0XG4gKiAgICB9XG4gKiB9XG4gKlxuICogY29uc3QgaXRlcmF0b3IgPSBnZW5lcmF0ZURvdWJsZXMoMyk7XG4gKiBjb25zdCByZXN1bHQgPSBmcm9tKGl0ZXJhdG9yKS5waXBlKHRha2UoMTApKTtcbiAqXG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIExvZ3M6XG4gKiAvLyAzXG4gKiAvLyA2XG4gKiAvLyAxMlxuICogLy8gMjRcbiAqIC8vIDQ4XG4gKiAvLyA5NlxuICogLy8gMTkyXG4gKiAvLyAzODRcbiAqIC8vIDc2OFxuICogLy8gMTUzNlxuICogYGBgXG4gKlxuICogV2l0aCBgYXN5bmNTY2hlZHVsZXJgXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb20sIGFzeW5jU2NoZWR1bGVyIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc29sZS5sb2coJ3N0YXJ0Jyk7XG4gKlxuICogY29uc3QgYXJyYXkgPSBbMTAsIDIwLCAzMF07XG4gKiBjb25zdCByZXN1bHQgPSBmcm9tKGFycmF5LCBhc3luY1NjaGVkdWxlcik7XG4gKlxuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqXG4gKiBjb25zb2xlLmxvZygnZW5kJyk7XG4gKlxuICogLy8gTG9nczpcbiAqIC8vICdzdGFydCdcbiAqIC8vICdlbmQnXG4gKiAvLyAxMFxuICogLy8gMjBcbiAqIC8vIDMwXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBmcm9tRXZlbnR9XG4gKiBAc2VlIHtAbGluayBmcm9tRXZlbnRQYXR0ZXJufVxuICpcbiAqIEBwYXJhbSB7T2JzZXJ2YWJsZUlucHV0PFQ+fSBBIHN1YnNjcmlwdGlvbiBvYmplY3QsIGEgUHJvbWlzZSwgYW4gT2JzZXJ2YWJsZS1saWtlLFxuICogYW4gQXJyYXksIGFuIGl0ZXJhYmxlLCBvciBhbiBhcnJheS1saWtlIG9iamVjdCB0byBiZSBjb252ZXJ0ZWQuXG4gKiBAcGFyYW0ge1NjaGVkdWxlckxpa2V9IEFuIG9wdGlvbmFsIHtAbGluayBTY2hlZHVsZXJMaWtlfSBvbiB3aGljaCB0byBzY2hlZHVsZSB0aGUgZW1pc3Npb24gb2YgdmFsdWVzLlxuICogQHJldHVybiB7T2JzZXJ2YWJsZTxUPn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb208VD4oaW5wdXQ6IE9ic2VydmFibGVJbnB1dDxUPiwgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZSk6IE9ic2VydmFibGU8VD4ge1xuICByZXR1cm4gc2NoZWR1bGVyID8gc2NoZWR1bGVkKGlucHV0LCBzY2hlZHVsZXIpIDogaW5uZXJGcm9tKGlucHV0KTtcbn1cbiIsICJpbXBvcnQgeyBTY2hlZHVsZXJMaWtlLCBWYWx1ZUZyb21BcnJheSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IHBvcFNjaGVkdWxlciB9IGZyb20gJy4uL3V0aWwvYXJncyc7XG5pbXBvcnQgeyBmcm9tIH0gZnJvbSAnLi9mcm9tJztcblxuLy8gRGV2cyBhcmUgbW9yZSBsaWtlbHkgdG8gcGFzcyBudWxsIG9yIHVuZGVmaW5lZCB0aGFuIHRoZXkgYXJlIGEgc2NoZWR1bGVyXG4vLyB3aXRob3V0IGFjY29tcGFueWluZyB2YWx1ZXMuIFRvIG1ha2UgdGhpbmdzIGVhc2llciBmb3IgKG5hdWdodHkpIGRldnMgd2hvXG4vLyB1c2UgdGhlIGBzdHJpY3ROdWxsQ2hlY2tzOiBmYWxzZWAgVHlwZVNjcmlwdCBjb21waWxlciBvcHRpb24sIHRoZXNlXG4vLyBvdmVybG9hZHMgd2l0aCBleHBsaWNpdCBudWxsIGFuZCB1bmRlZmluZWQgdmFsdWVzIGFyZSBpbmNsdWRlZC5cblxuZXhwb3J0IGZ1bmN0aW9uIG9mKHZhbHVlOiBudWxsKTogT2JzZXJ2YWJsZTxudWxsPjtcbmV4cG9ydCBmdW5jdGlvbiBvZih2YWx1ZTogdW5kZWZpbmVkKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+O1xuXG4vKiogQGRlcHJlY2F0ZWQgVGhlIGBzY2hlZHVsZXJgIHBhcmFtZXRlciB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSBgc2NoZWR1bGVkYC4gRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvc2NoZWR1bGVyLWFyZ3VtZW50ICovXG5leHBvcnQgZnVuY3Rpb24gb2Yoc2NoZWR1bGVyOiBTY2hlZHVsZXJMaWtlKTogT2JzZXJ2YWJsZTxuZXZlcj47XG4vKiogQGRlcHJlY2F0ZWQgVGhlIGBzY2hlZHVsZXJgIHBhcmFtZXRlciB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSBgc2NoZWR1bGVkYC4gRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvc2NoZWR1bGVyLWFyZ3VtZW50ICovXG5leHBvcnQgZnVuY3Rpb24gb2Y8QSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oLi4udmFsdWVzQW5kU2NoZWR1bGVyOiBbLi4uQSwgU2NoZWR1bGVyTGlrZV0pOiBPYnNlcnZhYmxlPFZhbHVlRnJvbUFycmF5PEE+PjtcblxuZXhwb3J0IGZ1bmN0aW9uIG9mKCk6IE9ic2VydmFibGU8bmV2ZXI+O1xuLyoqIEBkZXByZWNhdGVkIERvIG5vdCBzcGVjaWZ5IGV4cGxpY2l0IHR5cGUgcGFyYW1ldGVycy4gU2lnbmF0dXJlcyB3aXRoIHR5cGUgcGFyYW1ldGVycyB0aGF0IGNhbm5vdCBiZSBpbmZlcnJlZCB3aWxsIGJlIHJlbW92ZWQgaW4gdjguICovXG5leHBvcnQgZnVuY3Rpb24gb2Y8VD4oKTogT2JzZXJ2YWJsZTxUPjtcbmV4cG9ydCBmdW5jdGlvbiBvZjxUPih2YWx1ZTogVCk6IE9ic2VydmFibGU8VD47XG5leHBvcnQgZnVuY3Rpb24gb2Y8QSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oLi4udmFsdWVzOiBBKTogT2JzZXJ2YWJsZTxWYWx1ZUZyb21BcnJheTxBPj47XG5cbi8qKlxuICogQ29udmVydHMgdGhlIGFyZ3VtZW50cyB0byBhbiBvYnNlcnZhYmxlIHNlcXVlbmNlLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5FYWNoIGFyZ3VtZW50IGJlY29tZXMgYSBgbmV4dGAgbm90aWZpY2F0aW9uLjwvc3Bhbj5cbiAqXG4gKiAhW10ob2YucG5nKVxuICpcbiAqIFVubGlrZSB7QGxpbmsgZnJvbX0sIGl0IGRvZXMgbm90IGRvIGFueSBmbGF0dGVuaW5nIGFuZCBlbWl0cyBlYWNoIGFyZ3VtZW50IGluIHdob2xlXG4gKiBhcyBhIHNlcGFyYXRlIGBuZXh0YCBub3RpZmljYXRpb24uXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBFbWl0IHRoZSB2YWx1ZXMgYDEwLCAyMCwgMzBgXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG4gKlxuICogb2YoMTAsIDIwLCAzMClcbiAqICAgLnN1YnNjcmliZSh7XG4gKiAgICAgbmV4dDogdmFsdWUgPT4gY29uc29sZS5sb2coJ25leHQ6JywgdmFsdWUpLFxuICogICAgIGVycm9yOiBlcnIgPT4gY29uc29sZS5sb2coJ2Vycm9yOicsIGVyciksXG4gKiAgICAgY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKCd0aGUgZW5kJyksXG4gKiAgIH0pO1xuICpcbiAqIC8vIE91dHB1dHNcbiAqIC8vIG5leHQ6IDEwXG4gKiAvLyBuZXh0OiAyMFxuICogLy8gbmV4dDogMzBcbiAqIC8vIHRoZSBlbmRcbiAqIGBgYFxuICpcbiAqIEVtaXQgdGhlIGFycmF5IGBbMSwgMiwgM11gXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mIH0gZnJvbSAncnhqcyc7XG4gKlxuICogb2YoWzEsIDIsIDNdKVxuICogICAuc3Vic2NyaWJlKHtcbiAqICAgICBuZXh0OiB2YWx1ZSA9PiBjb25zb2xlLmxvZygnbmV4dDonLCB2YWx1ZSksXG4gKiAgICAgZXJyb3I6IGVyciA9PiBjb25zb2xlLmxvZygnZXJyb3I6JywgZXJyKSxcbiAqICAgICBjb21wbGV0ZTogKCkgPT4gY29uc29sZS5sb2coJ3RoZSBlbmQnKSxcbiAqICAgfSk7XG4gKlxuICogLy8gT3V0cHV0c1xuICogLy8gbmV4dDogWzEsIDIsIDNdXG4gKiAvLyB0aGUgZW5kXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBmcm9tfVxuICogQHNlZSB7QGxpbmsgcmFuZ2V9XG4gKlxuICogQHBhcmFtIHsuLi5UfSB2YWx1ZXMgQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBhcmd1bWVudHMgeW91IHdhbnQgdG8gYmUgZW1pdHRlZFxuICogQHJldHVybiB7T2JzZXJ2YWJsZX0gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBhcmd1bWVudHNcbiAqIGRlc2NyaWJlZCBhYm92ZSBhbmQgdGhlbiBjb21wbGV0ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvZjxUPiguLi5hcmdzOiBBcnJheTxUIHwgU2NoZWR1bGVyTGlrZT4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgY29uc3Qgc2NoZWR1bGVyID0gcG9wU2NoZWR1bGVyKGFyZ3MpO1xuICByZXR1cm4gZnJvbShhcmdzIGFzIFRbXSwgc2NoZWR1bGVyKTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBTY2hlZHVsZXJMaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWwvaXNGdW5jdGlvbic7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBvYnNlcnZhYmxlIHRoYXQgd2lsbCBjcmVhdGUgYW4gZXJyb3IgaW5zdGFuY2UgYW5kIHB1c2ggaXQgdG8gdGhlIGNvbnN1bWVyIGFzIGFuIGVycm9yXG4gKiBpbW1lZGlhdGVseSB1cG9uIHN1YnNjcmlwdGlvbi5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+SnVzdCBlcnJvcnMgYW5kIGRvZXMgbm90aGluZyBlbHNlPC9zcGFuPlxuICpcbiAqICFbXSh0aHJvdy5wbmcpXG4gKlxuICogVGhpcyBjcmVhdGlvbiBmdW5jdGlvbiBpcyB1c2VmdWwgZm9yIGNyZWF0aW5nIGFuIG9ic2VydmFibGUgdGhhdCB3aWxsIGNyZWF0ZSBhbiBlcnJvciBhbmQgZXJyb3IgZXZlcnlcbiAqIHRpbWUgaXQgaXMgc3Vic2NyaWJlZCB0by4gR2VuZXJhbGx5LCBpbnNpZGUgb2YgbW9zdCBvcGVyYXRvcnMgd2hlbiB5b3UgbWlnaHQgd2FudCB0byByZXR1cm4gYW4gZXJyb3JlZFxuICogb2JzZXJ2YWJsZSwgdGhpcyBpcyB1bm5lY2Vzc2FyeS4gSW4gbW9zdCBjYXNlcywgc3VjaCBhcyBpbiB0aGUgaW5uZXIgcmV0dXJuIG9mIHtAbGluayBjb25jYXRNYXB9LFxuICoge0BsaW5rIG1lcmdlTWFwfSwge0BsaW5rIGRlZmVyfSwgYW5kIG1hbnkgb3RoZXJzLCB5b3UgY2FuIHNpbXBseSB0aHJvdyB0aGUgZXJyb3IsIGFuZCBSeEpTIHdpbGwgcGlja1xuICogdGhhdCB1cCBhbmQgbm90aWZ5IHRoZSBjb25zdW1lciBvZiB0aGUgZXJyb3IuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIENyZWF0ZSBhIHNpbXBsZSBvYnNlcnZhYmxlIHRoYXQgd2lsbCBjcmVhdGUgYSBuZXcgZXJyb3Igd2l0aCBhIHRpbWVzdGFtcCBhbmQgbG9nIGl0XG4gKiBhbmQgdGhlIG1lc3NhZ2UgZXZlcnkgdGltZSB5b3Ugc3Vic2NyaWJlIHRvIGl0XG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBsZXQgZXJyb3JDb3VudCA9IDA7XG4gKlxuICogY29uc3QgZXJyb3JXaXRoVGltZXN0YW1wJCA9IHRocm93RXJyb3IoKCkgPT4ge1xuICogICBjb25zdCBlcnJvcjogYW55ID0gbmV3IEVycm9yKGBUaGlzIGlzIGVycm9yIG51bWJlciAkeyArK2Vycm9yQ291bnQgfWApO1xuICogICBlcnJvci50aW1lc3RhbXAgPSBEYXRlLm5vdygpO1xuICogICByZXR1cm4gZXJyb3I7XG4gKiB9KTtcbiAqXG4gKiBlcnJvcldpdGhUaW1lc3RhbXAkLnN1YnNjcmliZSh7XG4gKiAgIGVycm9yOiBlcnIgPT4gY29uc29sZS5sb2coZXJyLnRpbWVzdGFtcCwgZXJyLm1lc3NhZ2UpXG4gKiB9KTtcbiAqXG4gKiBlcnJvcldpdGhUaW1lc3RhbXAkLnN1YnNjcmliZSh7XG4gKiAgIGVycm9yOiBlcnIgPT4gY29uc29sZS5sb2coZXJyLnRpbWVzdGFtcCwgZXJyLm1lc3NhZ2UpXG4gKiB9KTtcbiAqXG4gKiAvLyBMb2dzIHRoZSB0aW1lc3RhbXAgYW5kIGEgbmV3IGVycm9yIG1lc3NhZ2UgZm9yIGVhY2ggc3Vic2NyaXB0aW9uXG4gKiBgYGBcbiAqXG4gKiAjIyMgVW5uZWNlc3NhcnkgdXNhZ2VcbiAqXG4gKiBVc2luZyBgdGhyb3dFcnJvcmAgaW5zaWRlIG9mIGFuIG9wZXJhdG9yIG9yIGNyZWF0aW9uIGZ1bmN0aW9uXG4gKiB3aXRoIGEgY2FsbGJhY2ssIGlzIHVzdWFsbHkgbm90IG5lY2Vzc2FyeVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBvZiwgY29uY2F0TWFwLCB0aW1lciwgdGhyb3dFcnJvciB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGRlbGF5cyQgPSBvZigxMDAwLCAyMDAwLCBJbmZpbml0eSwgMzAwMCk7XG4gKlxuICogZGVsYXlzJC5waXBlKFxuICogICBjb25jYXRNYXAobXMgPT4ge1xuICogICAgIGlmIChtcyA8IDEwMDAwKSB7XG4gKiAgICAgICByZXR1cm4gdGltZXIobXMpO1xuICogICAgIH0gZWxzZSB7XG4gKiAgICAgICAvLyBUaGlzIGlzIHByb2JhYmx5IG92ZXJraWxsLlxuICogICAgICAgcmV0dXJuIHRocm93RXJyb3IoKCkgPT4gbmV3IEVycm9yKGBJbnZhbGlkIHRpbWUgJHsgbXMgfWApKTtcbiAqICAgICB9XG4gKiAgIH0pXG4gKiApXG4gKiAuc3Vic2NyaWJlKHtcbiAqICAgbmV4dDogY29uc29sZS5sb2csXG4gKiAgIGVycm9yOiBjb25zb2xlLmVycm9yXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIFlvdSBjYW4ganVzdCB0aHJvdyB0aGUgZXJyb3IgaW5zdGVhZFxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBvZiwgY29uY2F0TWFwLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGRlbGF5cyQgPSBvZigxMDAwLCAyMDAwLCBJbmZpbml0eSwgMzAwMCk7XG4gKlxuICogZGVsYXlzJC5waXBlKFxuICogICBjb25jYXRNYXAobXMgPT4ge1xuICogICAgIGlmIChtcyA8IDEwMDAwKSB7XG4gKiAgICAgICByZXR1cm4gdGltZXIobXMpO1xuICogICAgIH0gZWxzZSB7XG4gKiAgICAgICAvLyBDbGVhbmVyIGFuZCBlYXNpZXIgdG8gcmVhZCBmb3IgbW9zdCBmb2xrcy5cbiAqICAgICAgIHRocm93IG5ldyBFcnJvcihgSW52YWxpZCB0aW1lICR7IG1zIH1gKTtcbiAqICAgICB9XG4gKiAgIH0pXG4gKiApXG4gKiAuc3Vic2NyaWJlKHtcbiAqICAgbmV4dDogY29uc29sZS5sb2csXG4gKiAgIGVycm9yOiBjb25zb2xlLmVycm9yXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBlcnJvckZhY3RvcnkgQSBmYWN0b3J5IGZ1bmN0aW9uIHRoYXQgd2lsbCBjcmVhdGUgdGhlIGVycm9yIGluc3RhbmNlIHRoYXQgaXMgcHVzaGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dFcnJvcihlcnJvckZhY3Rvcnk6ICgpID0+IGFueSk6IE9ic2VydmFibGU8bmV2ZXI+O1xuXG4vKipcbiAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSB0aGF0IHdpbGwgZXJyb3Igd2l0aCB0aGUgc3BlY2lmaWVkIGVycm9yIGltbWVkaWF0ZWx5IHVwb24gc3Vic2NyaXB0aW9uLlxuICpcbiAqIEBwYXJhbSBlcnJvciBUaGUgZXJyb3IgaW5zdGFuY2UgdG8gZW1pdFxuICogQGRlcHJlY2F0ZWQgU3VwcG9ydCBmb3IgcGFzc2luZyBhbiBlcnJvciB2YWx1ZSB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIEluc3RlYWQsIHBhc3MgYSBmYWN0b3J5IGZ1bmN0aW9uIHRvIGB0aHJvd0Vycm9yKCgpID0+IG5ldyBFcnJvcigndGVzdCcpKWAuIFRoaXMgaXNcbiAqIGJlY2F1c2UgaXQgd2lsbCBjcmVhdGUgdGhlIGVycm9yIGF0IHRoZSBtb21lbnQgaXQgc2hvdWxkIGJlIGNyZWF0ZWQgYW5kIGNhcHR1cmUgYSBtb3JlIGFwcHJvcHJpYXRlIHN0YWNrIHRyYWNlLiBJZlxuICogZm9yIHNvbWUgcmVhc29uIHlvdSBuZWVkIHRvIGNyZWF0ZSB0aGUgZXJyb3IgYWhlYWQgb2YgdGltZSwgeW91IGNhbiBzdGlsbCBkbyB0aGF0OiBgY29uc3QgZXJyID0gbmV3IEVycm9yKCd0ZXN0Jyk7IHRocm93RXJyb3IoKCkgPT4gZXJyKTtgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dFcnJvcihlcnJvcjogYW55KTogT2JzZXJ2YWJsZTxuZXZlcj47XG5cbi8qKlxuICogTm90aWZpZXMgdGhlIGNvbnN1bWVyIG9mIGFuIGVycm9yIHVzaW5nIGEgZ2l2ZW4gc2NoZWR1bGVyIGJ5IHNjaGVkdWxpbmcgaXQgYXQgZGVsYXkgYDBgIHVwb24gc3Vic2NyaXB0aW9uLlxuICpcbiAqIEBwYXJhbSBlcnJvck9yRXJyb3JGYWN0b3J5IEFuIGVycm9yIGluc3RhbmNlIG9yIGVycm9yIGZhY3RvcnlcbiAqIEBwYXJhbSBzY2hlZHVsZXIgQSBzY2hlZHVsZXIgdG8gdXNlIHRvIHNjaGVkdWxlIHRoZSBlcnJvciBub3RpZmljYXRpb25cbiAqIEBkZXByZWNhdGVkIFRoZSBgc2NoZWR1bGVyYCBwYXJhbWV0ZXIgd2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICogVXNlIGB0aHJvd0Vycm9yYCBpbiBjb21iaW5hdGlvbiB3aXRoIHtAbGluayBvYnNlcnZlT259OiBgdGhyb3dFcnJvcigoKSA9PiBuZXcgRXJyb3IoJ3Rlc3QnKSkucGlwZShvYnNlcnZlT24oc2NoZWR1bGVyKSk7YC5cbiAqIERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL3NjaGVkdWxlci1hcmd1bWVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dFcnJvcihlcnJvck9yRXJyb3JGYWN0b3J5OiBhbnksIHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSk6IE9ic2VydmFibGU8bmV2ZXI+O1xuXG5leHBvcnQgZnVuY3Rpb24gdGhyb3dFcnJvcihlcnJvck9yRXJyb3JGYWN0b3J5OiBhbnksIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UpOiBPYnNlcnZhYmxlPG5ldmVyPiB7XG4gIGNvbnN0IGVycm9yRmFjdG9yeSA9IGlzRnVuY3Rpb24oZXJyb3JPckVycm9yRmFjdG9yeSkgPyBlcnJvck9yRXJyb3JGYWN0b3J5IDogKCkgPT4gZXJyb3JPckVycm9yRmFjdG9yeTtcbiAgY29uc3QgaW5pdCA9IChzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPG5ldmVyPikgPT4gc3Vic2NyaWJlci5lcnJvcihlcnJvckZhY3RvcnkoKSk7XG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZShzY2hlZHVsZXIgPyAoc3Vic2NyaWJlcikgPT4gc2NoZWR1bGVyLnNjaGVkdWxlKGluaXQgYXMgYW55LCAwLCBzdWJzY3JpYmVyKSA6IGluaXQpO1xufVxuIiwgImltcG9ydCB7IFBhcnRpYWxPYnNlcnZlciwgT2JzZXJ2YWJsZU5vdGlmaWNhdGlvbiwgQ29tcGxldGVOb3RpZmljYXRpb24sIE5leHROb3RpZmljYXRpb24sIEVycm9yTm90aWZpY2F0aW9uIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IEVNUFRZIH0gZnJvbSAnLi9vYnNlcnZhYmxlL2VtcHR5JztcbmltcG9ydCB7IG9mIH0gZnJvbSAnLi9vYnNlcnZhYmxlL29mJztcbmltcG9ydCB7IHRocm93RXJyb3IgfSBmcm9tICcuL29ic2VydmFibGUvdGhyb3dFcnJvcic7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi91dGlsL2lzRnVuY3Rpb24nO1xuXG4vLyBUT0RPOiBXaGVuIHRoaXMgZW51bSBpcyByZW1vdmVkLCByZXBsYWNlIGl0IHdpdGggYSB0eXBlIGFsaWFzLiBTZWUgIzQ1NTYuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBhIHN0cmluZyBsaXRlcmFsIGluc3RlYWQuIGBOb3RpZmljYXRpb25LaW5kYCB3aWxsIGJlIHJlcGxhY2VkIHdpdGggYSB0eXBlIGFsaWFzIGluIHY4LlxuICogSXQgd2lsbCBub3QgYmUgcmVwbGFjZWQgd2l0aCBhIGNvbnN0IGVudW0gYXMgdGhvc2UgYXJlIG5vdCBjb21wYXRpYmxlIHdpdGggaXNvbGF0ZWQgbW9kdWxlcy5cbiAqL1xuZXhwb3J0IGVudW0gTm90aWZpY2F0aW9uS2luZCB7XG4gIE5FWFQgPSAnTicsXG4gIEVSUk9SID0gJ0UnLFxuICBDT01QTEVURSA9ICdDJyxcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgcHVzaC1iYXNlZCBldmVudCBvciB2YWx1ZSB0aGF0IGFuIHtAbGluayBPYnNlcnZhYmxlfSBjYW4gZW1pdC5cbiAqIFRoaXMgY2xhc3MgaXMgcGFydGljdWxhcmx5IHVzZWZ1bCBmb3Igb3BlcmF0b3JzIHRoYXQgbWFuYWdlIG5vdGlmaWNhdGlvbnMsXG4gKiBsaWtlIHtAbGluayBtYXRlcmlhbGl6ZX0sIHtAbGluayBkZW1hdGVyaWFsaXplfSwge0BsaW5rIG9ic2VydmVPbn0sIGFuZFxuICogb3RoZXJzLiBCZXNpZGVzIHdyYXBwaW5nIHRoZSBhY3R1YWwgZGVsaXZlcmVkIHZhbHVlLCBpdCBhbHNvIGFubm90YXRlcyBpdFxuICogd2l0aCBtZXRhZGF0YSBvZiwgZm9yIGluc3RhbmNlLCB3aGF0IHR5cGUgb2YgcHVzaCBtZXNzYWdlIGl0IGlzIChgbmV4dGAsXG4gKiBgZXJyb3JgLCBvciBgY29tcGxldGVgKS5cbiAqXG4gKiBAc2VlIHtAbGluayBtYXRlcmlhbGl6ZX1cbiAqIEBzZWUge0BsaW5rIGRlbWF0ZXJpYWxpemV9XG4gKiBAc2VlIHtAbGluayBvYnNlcnZlT259XG4gKiBAZGVwcmVjYXRlZCBJdCBpcyBOT1QgcmVjb21tZW5kZWQgdG8gY3JlYXRlIGluc3RhbmNlcyBvZiBgTm90aWZpY2F0aW9uYCBkaXJlY3RseS5cbiAqIFJhdGhlciwgdHJ5IHRvIGNyZWF0ZSBQT0pPcyBtYXRjaGluZyB0aGUgc2lnbmF0dXJlIG91dGxpbmVkIGluIHtAbGluayBPYnNlcnZhYmxlTm90aWZpY2F0aW9ufS5cbiAqIEZvciBleGFtcGxlOiBgeyBraW5kOiAnTicsIHZhbHVlOiAxIH1gLCBgeyBraW5kOiAnRScsIGVycm9yOiBuZXcgRXJyb3IoJ2JhZCcpIH1gLCBvciBgeyBraW5kOiAnQycgfWAuXG4gKiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguXG4gKi9cbmV4cG9ydCBjbGFzcyBOb3RpZmljYXRpb248VD4ge1xuICAvKipcbiAgICogQSB2YWx1ZSBzaWduaWZ5aW5nIHRoYXQgdGhlIG5vdGlmaWNhdGlvbiB3aWxsIFwibmV4dFwiIGlmIG9ic2VydmVkLiBJbiB0cnV0aCxcbiAgICogVGhpcyBpcyByZWFsbHkgc3lub255bW91cyB3aXRoIGp1c3QgY2hlY2tpbmcgYGtpbmQgPT09IFwiTlwiYC5cbiAgICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIHY4LiBJbnN0ZWFkLCBqdXN0IGNoZWNrIHRvIHNlZSBpZiB0aGUgdmFsdWUgb2YgYGtpbmRgIGlzIGBcIk5cImAuXG4gICAqL1xuICByZWFkb25seSBoYXNWYWx1ZTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIFwiTmV4dFwiIG5vdGlmaWNhdGlvbiBvYmplY3QuXG4gICAqIEBwYXJhbSBraW5kIEFsd2F5cyBgJ04nYFxuICAgKiBAcGFyYW0gdmFsdWUgVGhlIHZhbHVlIHRvIG5vdGlmeSB3aXRoIGlmIG9ic2VydmVkLlxuICAgKiBAZGVwcmVjYXRlZCBJbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuIFVzZSB7QGxpbmsgTm90aWZpY2F0aW9uI2NyZWF0ZU5leHQgY3JlYXRlTmV4dH0gaW5zdGVhZC5cbiAgICovXG4gIGNvbnN0cnVjdG9yKGtpbmQ6ICdOJywgdmFsdWU/OiBUKTtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gXCJFcnJvclwiIG5vdGlmaWNhdGlvbiBvYmplY3QuXG4gICAqIEBwYXJhbSBraW5kIEFsd2F5cyBgJ0UnYFxuICAgKiBAcGFyYW0gdmFsdWUgQWx3YXlzIGB1bmRlZmluZWRgXG4gICAqIEBwYXJhbSBlcnJvciBUaGUgZXJyb3IgdG8gbm90aWZ5IHdpdGggaWYgb2JzZXJ2ZWQuXG4gICAqIEBkZXByZWNhdGVkIEludGVybmFsIGltcGxlbWVudGF0aW9uIGRldGFpbC4gVXNlIHtAbGluayBOb3RpZmljYXRpb24jY3JlYXRlRXJyb3IgY3JlYXRlRXJyb3J9IGluc3RlYWQuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihraW5kOiAnRScsIHZhbHVlOiB1bmRlZmluZWQsIGVycm9yOiBhbnkpO1xuICAvKipcbiAgICogQ3JlYXRlcyBhIFwiY29tcGxldGlvblwiIG5vdGlmaWNhdGlvbiBvYmplY3QuXG4gICAqIEBwYXJhbSBraW5kIEFsd2F5cyBgJ0MnYFxuICAgKiBAZGVwcmVjYXRlZCBJbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuIFVzZSB7QGxpbmsgTm90aWZpY2F0aW9uI2NyZWF0ZUNvbXBsZXRlIGNyZWF0ZUNvbXBsZXRlfSBpbnN0ZWFkLlxuICAgKi9cbiAgY29uc3RydWN0b3Ioa2luZDogJ0MnKTtcbiAgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IGtpbmQ6ICdOJyB8ICdFJyB8ICdDJywgcHVibGljIHJlYWRvbmx5IHZhbHVlPzogVCwgcHVibGljIHJlYWRvbmx5IGVycm9yPzogYW55KSB7XG4gICAgdGhpcy5oYXNWYWx1ZSA9IGtpbmQgPT09ICdOJztcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgYXBwcm9wcmlhdGUgaGFuZGxlciBvbiBhIHBhc3NlZCBgb2JzZXJ2ZXJgIGdpdmVuIHRoZSBga2luZGAgb2Ygbm90aWZpY2F0aW9uLlxuICAgKiBJZiB0aGUgaGFuZGxlciBpcyBtaXNzaW5nIGl0IHdpbGwgZG8gbm90aGluZy4gRXZlbiBpZiB0aGUgbm90aWZpY2F0aW9uIGlzIGFuIGVycm9yLCBpZlxuICAgKiB0aGVyZSBpcyBubyBlcnJvciBoYW5kbGVyIG9uIHRoZSBvYnNlcnZlciwgYW4gZXJyb3Igd2lsbCBub3QgYmUgdGhyb3duLCBpdCB3aWxsIG5vb3AuXG4gICAqIEBwYXJhbSBvYnNlcnZlciBUaGUgb2JzZXJ2ZXIgdG8gbm90aWZ5LlxuICAgKi9cbiAgb2JzZXJ2ZShvYnNlcnZlcjogUGFydGlhbE9ic2VydmVyPFQ+KTogdm9pZCB7XG4gICAgcmV0dXJuIG9ic2VydmVOb3RpZmljYXRpb24odGhpcyBhcyBPYnNlcnZhYmxlTm90aWZpY2F0aW9uPFQ+LCBvYnNlcnZlcik7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgYSBub3RpZmljYXRpb24gb24gdGhlIGFwcHJvcHJpYXRlIGhhbmRsZXIgZnJvbSBhIGxpc3QgcHJvdmlkZWQuXG4gICAqIElmIGEgaGFuZGxlciBpcyBtaXNzaW5nIGZvciB0aGUga2luZCBvZiBub3RpZmljYXRpb24sIG5vdGhpbmcgaXMgY2FsbGVkXG4gICAqIGFuZCBubyBlcnJvciBpcyB0aHJvd24sIGl0IHdpbGwgYmUgYSBub29wLlxuICAgKiBAcGFyYW0gbmV4dCBBIG5leHQgaGFuZGxlclxuICAgKiBAcGFyYW0gZXJyb3IgQW4gZXJyb3IgaGFuZGxlclxuICAgKiBAcGFyYW0gY29tcGxldGUgQSBjb21wbGV0ZSBoYW5kbGVyXG4gICAqIEBkZXByZWNhdGVkIFJlcGxhY2VkIHdpdGgge0BsaW5rIE5vdGlmaWNhdGlvbiNvYnNlcnZlIG9ic2VydmV9LiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguXG4gICAqL1xuICBkbyhuZXh0OiAodmFsdWU6IFQpID0+IHZvaWQsIGVycm9yOiAoZXJyOiBhbnkpID0+IHZvaWQsIGNvbXBsZXRlOiAoKSA9PiB2b2lkKTogdm9pZDtcbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGEgbm90aWZpY2F0aW9uIG9uIHRoZSBhcHByb3ByaWF0ZSBoYW5kbGVyIGZyb20gYSBsaXN0IHByb3ZpZGVkLlxuICAgKiBJZiBhIGhhbmRsZXIgaXMgbWlzc2luZyBmb3IgdGhlIGtpbmQgb2Ygbm90aWZpY2F0aW9uLCBub3RoaW5nIGlzIGNhbGxlZFxuICAgKiBhbmQgbm8gZXJyb3IgaXMgdGhyb3duLCBpdCB3aWxsIGJlIGEgbm9vcC5cbiAgICogQHBhcmFtIG5leHQgQSBuZXh0IGhhbmRsZXJcbiAgICogQHBhcmFtIGVycm9yIEFuIGVycm9yIGhhbmRsZXJcbiAgICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCB7QGxpbmsgTm90aWZpY2F0aW9uI29ic2VydmUgb2JzZXJ2ZX0uIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC5cbiAgICovXG4gIGRvKG5leHQ6ICh2YWx1ZTogVCkgPT4gdm9pZCwgZXJyb3I6IChlcnI6IGFueSkgPT4gdm9pZCk6IHZvaWQ7XG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgbmV4dCBoYW5kbGVyIGlmIHRoZSBOb3RpZmljYXRpb24gaXMgb2YgYGtpbmRgIGBcIk5cImAuIE90aGVyd2lzZVxuICAgKiB0aGlzIHdpbGwgbm90IGVycm9yLCBhbmQgaXQgd2lsbCBiZSBhIG5vb3AuXG4gICAqIEBwYXJhbSBuZXh0IFRoZSBuZXh0IGhhbmRsZXJcbiAgICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCB7QGxpbmsgTm90aWZpY2F0aW9uI29ic2VydmUgb2JzZXJ2ZX0uIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC5cbiAgICovXG4gIGRvKG5leHQ6ICh2YWx1ZTogVCkgPT4gdm9pZCk6IHZvaWQ7XG4gIGRvKG5leHRIYW5kbGVyOiAodmFsdWU6IFQpID0+IHZvaWQsIGVycm9ySGFuZGxlcj86IChlcnI6IGFueSkgPT4gdm9pZCwgY29tcGxldGVIYW5kbGVyPzogKCkgPT4gdm9pZCk6IHZvaWQge1xuICAgIGNvbnN0IHsga2luZCwgdmFsdWUsIGVycm9yIH0gPSB0aGlzO1xuICAgIHJldHVybiBraW5kID09PSAnTicgPyBuZXh0SGFuZGxlcj8uKHZhbHVlISkgOiBraW5kID09PSAnRScgPyBlcnJvckhhbmRsZXI/LihlcnJvcikgOiBjb21wbGV0ZUhhbmRsZXI/LigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIGEgbm90aWZpY2F0aW9uIG9uIHRoZSBhcHByb3ByaWF0ZSBoYW5kbGVyIGZyb20gYSBsaXN0IHByb3ZpZGVkLlxuICAgKiBJZiBhIGhhbmRsZXIgaXMgbWlzc2luZyBmb3IgdGhlIGtpbmQgb2Ygbm90aWZpY2F0aW9uLCBub3RoaW5nIGlzIGNhbGxlZFxuICAgKiBhbmQgbm8gZXJyb3IgaXMgdGhyb3duLCBpdCB3aWxsIGJlIGEgbm9vcC5cbiAgICogQHBhcmFtIG5leHQgQSBuZXh0IGhhbmRsZXJcbiAgICogQHBhcmFtIGVycm9yIEFuIGVycm9yIGhhbmRsZXJcbiAgICogQHBhcmFtIGNvbXBsZXRlIEEgY29tcGxldGUgaGFuZGxlclxuICAgKiBAZGVwcmVjYXRlZCBSZXBsYWNlZCB3aXRoIHtAbGluayBOb3RpZmljYXRpb24jb2JzZXJ2ZSBvYnNlcnZlfS4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICAgKi9cbiAgYWNjZXB0KG5leHQ6ICh2YWx1ZTogVCkgPT4gdm9pZCwgZXJyb3I6IChlcnI6IGFueSkgPT4gdm9pZCwgY29tcGxldGU6ICgpID0+IHZvaWQpOiB2b2lkO1xuICAvKipcbiAgICogRXhlY3V0ZXMgYSBub3RpZmljYXRpb24gb24gdGhlIGFwcHJvcHJpYXRlIGhhbmRsZXIgZnJvbSBhIGxpc3QgcHJvdmlkZWQuXG4gICAqIElmIGEgaGFuZGxlciBpcyBtaXNzaW5nIGZvciB0aGUga2luZCBvZiBub3RpZmljYXRpb24sIG5vdGhpbmcgaXMgY2FsbGVkXG4gICAqIGFuZCBubyBlcnJvciBpcyB0aHJvd24sIGl0IHdpbGwgYmUgYSBub29wLlxuICAgKiBAcGFyYW0gbmV4dCBBIG5leHQgaGFuZGxlclxuICAgKiBAcGFyYW0gZXJyb3IgQW4gZXJyb3IgaGFuZGxlclxuICAgKiBAZGVwcmVjYXRlZCBSZXBsYWNlZCB3aXRoIHtAbGluayBOb3RpZmljYXRpb24jb2JzZXJ2ZSBvYnNlcnZlfS4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICAgKi9cbiAgYWNjZXB0KG5leHQ6ICh2YWx1ZTogVCkgPT4gdm9pZCwgZXJyb3I6IChlcnI6IGFueSkgPT4gdm9pZCk6IHZvaWQ7XG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgbmV4dCBoYW5kbGVyIGlmIHRoZSBOb3RpZmljYXRpb24gaXMgb2YgYGtpbmRgIGBcIk5cImAuIE90aGVyd2lzZVxuICAgKiB0aGlzIHdpbGwgbm90IGVycm9yLCBhbmQgaXQgd2lsbCBiZSBhIG5vb3AuXG4gICAqIEBwYXJhbSBuZXh0IFRoZSBuZXh0IGhhbmRsZXJcbiAgICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCB7QGxpbmsgTm90aWZpY2F0aW9uI29ic2VydmUgb2JzZXJ2ZX0uIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC5cbiAgICovXG4gIGFjY2VwdChuZXh0OiAodmFsdWU6IFQpID0+IHZvaWQpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgYXBwcm9wcmlhdGUgaGFuZGxlciBvbiBhIHBhc3NlZCBgb2JzZXJ2ZXJgIGdpdmVuIHRoZSBga2luZGAgb2Ygbm90aWZpY2F0aW9uLlxuICAgKiBJZiB0aGUgaGFuZGxlciBpcyBtaXNzaW5nIGl0IHdpbGwgZG8gbm90aGluZy4gRXZlbiBpZiB0aGUgbm90aWZpY2F0aW9uIGlzIGFuIGVycm9yLCBpZlxuICAgKiB0aGVyZSBpcyBubyBlcnJvciBoYW5kbGVyIG9uIHRoZSBvYnNlcnZlciwgYW4gZXJyb3Igd2lsbCBub3QgYmUgdGhyb3duLCBpdCB3aWxsIG5vb3AuXG4gICAqIEBwYXJhbSBvYnNlcnZlciBUaGUgb2JzZXJ2ZXIgdG8gbm90aWZ5LlxuICAgKiBAZGVwcmVjYXRlZCBSZXBsYWNlZCB3aXRoIHtAbGluayBOb3RpZmljYXRpb24jb2JzZXJ2ZSBvYnNlcnZlfS4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICAgKi9cbiAgYWNjZXB0KG9ic2VydmVyOiBQYXJ0aWFsT2JzZXJ2ZXI8VD4pOiB2b2lkO1xuICBhY2NlcHQobmV4dE9yT2JzZXJ2ZXI6IFBhcnRpYWxPYnNlcnZlcjxUPiB8ICgodmFsdWU6IFQpID0+IHZvaWQpLCBlcnJvcj86IChlcnI6IGFueSkgPT4gdm9pZCwgY29tcGxldGU/OiAoKSA9PiB2b2lkKSB7XG4gICAgcmV0dXJuIGlzRnVuY3Rpb24oKG5leHRPck9ic2VydmVyIGFzIGFueSk/Lm5leHQpXG4gICAgICA/IHRoaXMub2JzZXJ2ZShuZXh0T3JPYnNlcnZlciBhcyBQYXJ0aWFsT2JzZXJ2ZXI8VD4pXG4gICAgICA6IHRoaXMuZG8obmV4dE9yT2JzZXJ2ZXIgYXMgKHZhbHVlOiBUKSA9PiB2b2lkLCBlcnJvciBhcyBhbnksIGNvbXBsZXRlIGFzIGFueSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIHNpbXBsZSBPYnNlcnZhYmxlIHRoYXQganVzdCBkZWxpdmVycyB0aGUgbm90aWZpY2F0aW9uIHJlcHJlc2VudGVkXG4gICAqIGJ5IHRoaXMgTm90aWZpY2F0aW9uIGluc3RhbmNlLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjguIFRvIGNvbnZlcnQgYSBgTm90aWZpY2F0aW9uYCB0byBhbiB7QGxpbmsgT2JzZXJ2YWJsZX0sXG4gICAqIHVzZSB7QGxpbmsgb2Z9IGFuZCB7QGxpbmsgZGVtYXRlcmlhbGl6ZX06IGBvZihub3RpZmljYXRpb24pLnBpcGUoZGVtYXRlcmlhbGl6ZSgpKWAuXG4gICAqL1xuICB0b09ic2VydmFibGUoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3QgeyBraW5kLCB2YWx1ZSwgZXJyb3IgfSA9IHRoaXM7XG4gICAgLy8gU2VsZWN0IHRoZSBvYnNlcnZhYmxlIHRvIHJldHVybiBieSBga2luZGBcbiAgICBjb25zdCByZXN1bHQgPVxuICAgICAga2luZCA9PT0gJ04nXG4gICAgICAgID8gLy8gTmV4dCBraW5kLiBSZXR1cm4gYW4gb2JzZXJ2YWJsZSBvZiB0aGF0IHZhbHVlLlxuICAgICAgICAgIG9mKHZhbHVlISlcbiAgICAgICAgOiAvL1xuICAgICAgICBraW5kID09PSAnRSdcbiAgICAgICAgPyAvLyBFcnJvciBraW5kLiBSZXR1cm4gYW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBlcnJvci5cbiAgICAgICAgICB0aHJvd0Vycm9yKCgpID0+IGVycm9yKVxuICAgICAgICA6IC8vXG4gICAgICAgIGtpbmQgPT09ICdDJ1xuICAgICAgICA/IC8vIENvbXBsZXRpb24ga2luZC4gS2luZCBpcyBcIkNcIiwgcmV0dXJuIGFuIG9ic2VydmFibGUgdGhhdCBqdXN0IGNvbXBsZXRlcy5cbiAgICAgICAgICBFTVBUWVxuICAgICAgICA6IC8vIFVua25vd24ga2luZCwgcmV0dXJuIGZhbHN5LCBzbyB3ZSBlcnJvciBiZWxvdy5cbiAgICAgICAgICAwO1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICAvLyBUT0RPOiBjb25zaWRlciByZW1vdmluZyB0aGlzIGNoZWNrLiBUaGUgb25seSB3YXkgdG8gY2F1c2UgdGhpcyB3b3VsZCBiZSB0b1xuICAgICAgLy8gdXNlIHRoZSBOb3RpZmljYXRpb24gY29uc3RydWN0b3IgZGlyZWN0bHkgaW4gYSB3YXkgdGhhdCBpcyBub3QgdHlwZS1zYWZlLlxuICAgICAgLy8gYW5kIGRpcmVjdCB1c2Ugb2YgdGhlIE5vdGlmaWNhdGlvbiBjb25zdHJ1Y3RvciBpcyBkZXByZWNhdGVkLlxuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgVW5leHBlY3RlZCBub3RpZmljYXRpb24ga2luZCAke2tpbmR9YCk7XG4gICAgfVxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjb21wbGV0ZU5vdGlmaWNhdGlvbiA9IG5ldyBOb3RpZmljYXRpb24oJ0MnKSBhcyBOb3RpZmljYXRpb248bmV2ZXI+ICYgQ29tcGxldGVOb3RpZmljYXRpb247XG4gIC8qKlxuICAgKiBBIHNob3J0Y3V0IHRvIGNyZWF0ZSBhIE5vdGlmaWNhdGlvbiBpbnN0YW5jZSBvZiB0aGUgdHlwZSBgbmV4dGAgZnJvbSBhXG4gICAqIGdpdmVuIHZhbHVlLlxuICAgKiBAcGFyYW0ge1R9IHZhbHVlIFRoZSBgbmV4dGAgdmFsdWUuXG4gICAqIEByZXR1cm4ge05vdGlmaWNhdGlvbjxUPn0gVGhlIFwibmV4dFwiIE5vdGlmaWNhdGlvbiByZXByZXNlbnRpbmcgdGhlXG4gICAqIGFyZ3VtZW50LlxuICAgKiBAbm9jb2xsYXBzZVxuICAgKiBAZGVwcmVjYXRlZCBJdCBpcyBOT1QgcmVjb21tZW5kZWQgdG8gY3JlYXRlIGluc3RhbmNlcyBvZiBgTm90aWZpY2F0aW9uYCBkaXJlY3RseS5cbiAgICogUmF0aGVyLCB0cnkgdG8gY3JlYXRlIFBPSk9zIG1hdGNoaW5nIHRoZSBzaWduYXR1cmUgb3V0bGluZWQgaW4ge0BsaW5rIE9ic2VydmFibGVOb3RpZmljYXRpb259LlxuICAgKiBGb3IgZXhhbXBsZTogYHsga2luZDogJ04nLCB2YWx1ZTogMSB9YCwgYHsga2luZDogJ0UnLCBlcnJvcjogbmV3IEVycm9yKCdiYWQnKSB9YCwgb3IgYHsga2luZDogJ0MnIH1gLlxuICAgKiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguXG4gICAqL1xuICBzdGF0aWMgY3JlYXRlTmV4dDxUPih2YWx1ZTogVCkge1xuICAgIHJldHVybiBuZXcgTm90aWZpY2F0aW9uKCdOJywgdmFsdWUpIGFzIE5vdGlmaWNhdGlvbjxUPiAmIE5leHROb3RpZmljYXRpb248VD47XG4gIH1cblxuICAvKipcbiAgICogQSBzaG9ydGN1dCB0byBjcmVhdGUgYSBOb3RpZmljYXRpb24gaW5zdGFuY2Ugb2YgdGhlIHR5cGUgYGVycm9yYCBmcm9tIGFcbiAgICogZ2l2ZW4gZXJyb3IuXG4gICAqIEBwYXJhbSB7YW55fSBbZXJyXSBUaGUgYGVycm9yYCBlcnJvci5cbiAgICogQHJldHVybiB7Tm90aWZpY2F0aW9uPFQ+fSBUaGUgXCJlcnJvclwiIE5vdGlmaWNhdGlvbiByZXByZXNlbnRpbmcgdGhlXG4gICAqIGFyZ3VtZW50LlxuICAgKiBAbm9jb2xsYXBzZVxuICAgKiBAZGVwcmVjYXRlZCBJdCBpcyBOT1QgcmVjb21tZW5kZWQgdG8gY3JlYXRlIGluc3RhbmNlcyBvZiBgTm90aWZpY2F0aW9uYCBkaXJlY3RseS5cbiAgICogUmF0aGVyLCB0cnkgdG8gY3JlYXRlIFBPSk9zIG1hdGNoaW5nIHRoZSBzaWduYXR1cmUgb3V0bGluZWQgaW4ge0BsaW5rIE9ic2VydmFibGVOb3RpZmljYXRpb259LlxuICAgKiBGb3IgZXhhbXBsZTogYHsga2luZDogJ04nLCB2YWx1ZTogMSB9YCwgYHsga2luZDogJ0UnLCBlcnJvcjogbmV3IEVycm9yKCdiYWQnKSB9YCwgb3IgYHsga2luZDogJ0MnIH1gLlxuICAgKiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguXG4gICAqL1xuICBzdGF0aWMgY3JlYXRlRXJyb3IoZXJyPzogYW55KSB7XG4gICAgcmV0dXJuIG5ldyBOb3RpZmljYXRpb24oJ0UnLCB1bmRlZmluZWQsIGVycikgYXMgTm90aWZpY2F0aW9uPG5ldmVyPiAmIEVycm9yTm90aWZpY2F0aW9uO1xuICB9XG5cbiAgLyoqXG4gICAqIEEgc2hvcnRjdXQgdG8gY3JlYXRlIGEgTm90aWZpY2F0aW9uIGluc3RhbmNlIG9mIHRoZSB0eXBlIGBjb21wbGV0ZWAuXG4gICAqIEByZXR1cm4ge05vdGlmaWNhdGlvbjxhbnk+fSBUaGUgdmFsdWVsZXNzIFwiY29tcGxldGVcIiBOb3RpZmljYXRpb24uXG4gICAqIEBub2NvbGxhcHNlXG4gICAqIEBkZXByZWNhdGVkIEl0IGlzIE5PVCByZWNvbW1lbmRlZCB0byBjcmVhdGUgaW5zdGFuY2VzIG9mIGBOb3RpZmljYXRpb25gIGRpcmVjdGx5LlxuICAgKiBSYXRoZXIsIHRyeSB0byBjcmVhdGUgUE9KT3MgbWF0Y2hpbmcgdGhlIHNpZ25hdHVyZSBvdXRsaW5lZCBpbiB7QGxpbmsgT2JzZXJ2YWJsZU5vdGlmaWNhdGlvbn0uXG4gICAqIEZvciBleGFtcGxlOiBgeyBraW5kOiAnTicsIHZhbHVlOiAxIH1gLCBgeyBraW5kOiAnRScsIGVycm9yOiBuZXcgRXJyb3IoJ2JhZCcpIH1gLCBvciBgeyBraW5kOiAnQycgfWAuXG4gICAqIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC5cbiAgICovXG4gIHN0YXRpYyBjcmVhdGVDb21wbGV0ZSgpOiBOb3RpZmljYXRpb248bmV2ZXI+ICYgQ29tcGxldGVOb3RpZmljYXRpb24ge1xuICAgIHJldHVybiBOb3RpZmljYXRpb24uY29tcGxldGVOb3RpZmljYXRpb247XG4gIH1cbn1cblxuLyoqXG4gKiBFeGVjdXRlcyB0aGUgYXBwcm9wcmlhdGUgaGFuZGxlciBvbiBhIHBhc3NlZCBgb2JzZXJ2ZXJgIGdpdmVuIHRoZSBga2luZGAgb2Ygbm90aWZpY2F0aW9uLlxuICogSWYgdGhlIGhhbmRsZXIgaXMgbWlzc2luZyBpdCB3aWxsIGRvIG5vdGhpbmcuIEV2ZW4gaWYgdGhlIG5vdGlmaWNhdGlvbiBpcyBhbiBlcnJvciwgaWZcbiAqIHRoZXJlIGlzIG5vIGVycm9yIGhhbmRsZXIgb24gdGhlIG9ic2VydmVyLCBhbiBlcnJvciB3aWxsIG5vdCBiZSB0aHJvd24sIGl0IHdpbGwgbm9vcC5cbiAqIEBwYXJhbSBub3RpZmljYXRpb24gVGhlIG5vdGlmaWNhdGlvbiBvYmplY3QgdG8gb2JzZXJ2ZS5cbiAqIEBwYXJhbSBvYnNlcnZlciBUaGUgb2JzZXJ2ZXIgdG8gbm90aWZ5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gb2JzZXJ2ZU5vdGlmaWNhdGlvbjxUPihub3RpZmljYXRpb246IE9ic2VydmFibGVOb3RpZmljYXRpb248VD4sIG9ic2VydmVyOiBQYXJ0aWFsT2JzZXJ2ZXI8VD4pIHtcbiAgY29uc3QgeyBraW5kLCB2YWx1ZSwgZXJyb3IgfSA9IG5vdGlmaWNhdGlvbiBhcyBhbnk7XG4gIGlmICh0eXBlb2Yga2luZCAhPT0gJ3N0cmluZycpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdJbnZhbGlkIG5vdGlmaWNhdGlvbiwgbWlzc2luZyBcImtpbmRcIicpO1xuICB9XG4gIGtpbmQgPT09ICdOJyA/IG9ic2VydmVyLm5leHQ/Lih2YWx1ZSEpIDoga2luZCA9PT0gJ0UnID8gb2JzZXJ2ZXIuZXJyb3I/LihlcnJvcikgOiBvYnNlcnZlci5jb21wbGV0ZT8uKCk7XG59XG4iLCAiLyoqIHByZXR0aWVyICovXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi9pc0Z1bmN0aW9uJztcblxuLyoqXG4gKiBUZXN0cyB0byBzZWUgaWYgdGhlIG9iamVjdCBpcyBhbiBSeEpTIHtAbGluayBPYnNlcnZhYmxlfVxuICogQHBhcmFtIG9iaiB0aGUgb2JqZWN0IHRvIHRlc3RcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzT2JzZXJ2YWJsZShvYmo6IGFueSk6IG9iaiBpcyBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgLy8gVGhlICEhIGlzIHRvIGVuc3VyZSB0aGF0IHRoaXMgcHVibGljbHkgZXhwb3NlZCBmdW5jdGlvbiByZXR1cm5zXG4gIC8vIGBmYWxzZWAgaWYgc29tZXRoaW5nIGxpa2UgYG51bGxgIG9yIGAwYCBpcyBwYXNzZWQuXG4gIHJldHVybiAhIW9iaiAmJiAob2JqIGluc3RhbmNlb2YgT2JzZXJ2YWJsZSB8fCAoaXNGdW5jdGlvbihvYmoubGlmdCkgJiYgaXNGdW5jdGlvbihvYmouc3Vic2NyaWJlKSkpO1xufVxuIiwgImltcG9ydCB7IGNyZWF0ZUVycm9yQ2xhc3MgfSBmcm9tICcuL2NyZWF0ZUVycm9yQ2xhc3MnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVtcHR5RXJyb3IgZXh0ZW5kcyBFcnJvciB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIEVtcHR5RXJyb3JDdG9yIHtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIEludGVybmFsIGltcGxlbWVudGF0aW9uIGRldGFpbC4gRG8gbm90IGNvbnN0cnVjdCBlcnJvciBpbnN0YW5jZXMuXG4gICAqIENhbm5vdCBiZSB0YWdnZWQgYXMgaW50ZXJuYWw6IGh0dHBzOi8vZ2l0aHViLmNvbS9SZWFjdGl2ZVgvcnhqcy9pc3N1ZXMvNjI2OVxuICAgKi9cbiAgbmV3ICgpOiBFbXB0eUVycm9yO1xufVxuXG4vKipcbiAqIEFuIGVycm9yIHRocm93biB3aGVuIGFuIE9ic2VydmFibGUgb3IgYSBzZXF1ZW5jZSB3YXMgcXVlcmllZCBidXQgaGFzIG5vXG4gKiBlbGVtZW50cy5cbiAqXG4gKiBAc2VlIHtAbGluayBmaXJzdH1cbiAqIEBzZWUge0BsaW5rIGxhc3R9XG4gKiBAc2VlIHtAbGluayBzaW5nbGV9XG4gKiBAc2VlIHtAbGluayBmaXJzdFZhbHVlRnJvbX1cbiAqIEBzZWUge0BsaW5rIGxhc3RWYWx1ZUZyb219XG4gKlxuICogQGNsYXNzIEVtcHR5RXJyb3JcbiAqL1xuZXhwb3J0IGNvbnN0IEVtcHR5RXJyb3I6IEVtcHR5RXJyb3JDdG9yID0gY3JlYXRlRXJyb3JDbGFzcygoX3N1cGVyKSA9PiBmdW5jdGlvbiBFbXB0eUVycm9ySW1wbCh0aGlzOiBhbnkpIHtcbiAgX3N1cGVyKHRoaXMpO1xuICB0aGlzLm5hbWUgPSAnRW1wdHlFcnJvcic7XG4gIHRoaXMubWVzc2FnZSA9ICdubyBlbGVtZW50cyBpbiBzZXF1ZW5jZSc7XG59KTtcbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IEVtcHR5RXJyb3IgfSBmcm9tICcuL3V0aWwvRW1wdHlFcnJvcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGFzdFZhbHVlRnJvbUNvbmZpZzxUPiB7XG4gIGRlZmF1bHRWYWx1ZTogVDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxhc3RWYWx1ZUZyb208VCwgRD4oc291cmNlOiBPYnNlcnZhYmxlPFQ+LCBjb25maWc6IExhc3RWYWx1ZUZyb21Db25maWc8RD4pOiBQcm9taXNlPFQgfCBEPjtcbmV4cG9ydCBmdW5jdGlvbiBsYXN0VmFsdWVGcm9tPFQ+KHNvdXJjZTogT2JzZXJ2YWJsZTxUPik6IFByb21pc2U8VD47XG5cbi8qKlxuICogQ29udmVydHMgYW4gb2JzZXJ2YWJsZSB0byBhIHByb21pc2UgYnkgc3Vic2NyaWJpbmcgdG8gdGhlIG9ic2VydmFibGUsXG4gKiB3YWl0aW5nIGZvciBpdCB0byBjb21wbGV0ZSwgYW5kIHJlc29sdmluZyB0aGUgcmV0dXJuZWQgcHJvbWlzZSB3aXRoIHRoZVxuICogbGFzdCB2YWx1ZSBmcm9tIHRoZSBvYnNlcnZlZCBzdHJlYW0uXG4gKlxuICogSWYgdGhlIG9ic2VydmFibGUgc3RyZWFtIGNvbXBsZXRlcyBiZWZvcmUgYW55IHZhbHVlcyB3ZXJlIGVtaXR0ZWQsIHRoZVxuICogcmV0dXJuZWQgcHJvbWlzZSB3aWxsIHJlamVjdCB3aXRoIHtAbGluayBFbXB0eUVycm9yfSBvciB3aWxsIHJlc29sdmVcbiAqIHdpdGggdGhlIGRlZmF1bHQgdmFsdWUgaWYgYSBkZWZhdWx0IHdhcyBzcGVjaWZpZWQuXG4gKlxuICogSWYgdGhlIG9ic2VydmFibGUgc3RyZWFtIGVtaXRzIGFuIGVycm9yLCB0aGUgcmV0dXJuZWQgcHJvbWlzZSB3aWxsIHJlamVjdFxuICogd2l0aCB0aGF0IGVycm9yLlxuICpcbiAqICoqV0FSTklORyoqOiBPbmx5IHVzZSB0aGlzIHdpdGggb2JzZXJ2YWJsZXMgeW91ICprbm93KiB3aWxsIGNvbXBsZXRlLiBJZiB0aGUgc291cmNlXG4gKiBvYnNlcnZhYmxlIGRvZXMgbm90IGNvbXBsZXRlLCB5b3Ugd2lsbCBlbmQgdXAgd2l0aCBhIHByb21pc2UgdGhhdCBpcyBodW5nIHVwLCBhbmRcbiAqIHBvdGVudGlhbGx5IGFsbCBvZiB0aGUgc3RhdGUgb2YgYW4gYXN5bmMgZnVuY3Rpb24gaGFuZ2luZyBvdXQgaW4gbWVtb3J5LiBUbyBhdm9pZFxuICogdGhpcyBzaXR1YXRpb24sIGxvb2sgaW50byBhZGRpbmcgc29tZXRoaW5nIGxpa2Uge0BsaW5rIHRpbWVvdXR9LCB7QGxpbmsgdGFrZX0sXG4gKiB7QGxpbmsgdGFrZVdoaWxlfSwgb3Ige0BsaW5rIHRha2VVbnRpbH0gYW1vbmdzdCBvdGhlcnMuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIFdhaXQgZm9yIHRoZSBsYXN0IHZhbHVlIGZyb20gYSBzdHJlYW0gYW5kIGVtaXQgaXQgZnJvbSBhIHByb21pc2UgaW5cbiAqIGFuIGFzeW5jIGZ1bmN0aW9uXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGludGVydmFsLCB0YWtlLCBsYXN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XG4gKlxuICogYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZSgpIHtcbiAqICAgY29uc3Qgc291cmNlJCA9IGludGVydmFsKDIwMDApLnBpcGUodGFrZSgxMCkpO1xuICogICBjb25zdCBmaW5hbE51bWJlciA9IGF3YWl0IGxhc3RWYWx1ZUZyb20oc291cmNlJCk7XG4gKiAgIGNvbnNvbGUubG9nKGBUaGUgZmluYWwgbnVtYmVyIGlzICR7IGZpbmFsTnVtYmVyIH1gKTtcbiAqIH1cbiAqXG4gKiBleGVjdXRlKCk7XG4gKlxuICogLy8gRXhwZWN0ZWQgb3V0cHV0OlxuICogLy8gJ1RoZSBmaW5hbCBudW1iZXIgaXMgOSdcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGZpcnN0VmFsdWVGcm9tfVxuICpcbiAqIEBwYXJhbSBzb3VyY2UgdGhlIG9ic2VydmFibGUgdG8gY29udmVydCB0byBhIHByb21pc2VcbiAqIEBwYXJhbSBjb25maWcgYSBjb25maWd1cmF0aW9uIG9iamVjdCB0byBkZWZpbmUgdGhlIGBkZWZhdWx0VmFsdWVgIHRvIHVzZSBpZiB0aGUgc291cmNlIGNvbXBsZXRlcyB3aXRob3V0IGVtaXR0aW5nIGEgdmFsdWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxhc3RWYWx1ZUZyb208VCwgRD4oc291cmNlOiBPYnNlcnZhYmxlPFQ+LCBjb25maWc/OiBMYXN0VmFsdWVGcm9tQ29uZmlnPEQ+KTogUHJvbWlzZTxUIHwgRD4ge1xuICBjb25zdCBoYXNDb25maWcgPSB0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JztcbiAgcmV0dXJuIG5ldyBQcm9taXNlPFQgfCBEPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgbGV0IF9oYXNWYWx1ZSA9IGZhbHNlO1xuICAgIGxldCBfdmFsdWU6IFQ7XG4gICAgc291cmNlLnN1YnNjcmliZSh7XG4gICAgICBuZXh0OiAodmFsdWUpID0+IHtcbiAgICAgICAgX3ZhbHVlID0gdmFsdWU7XG4gICAgICAgIF9oYXNWYWx1ZSA9IHRydWU7XG4gICAgICB9LFxuICAgICAgZXJyb3I6IHJlamVjdCxcbiAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgIGlmIChfaGFzVmFsdWUpIHtcbiAgICAgICAgICByZXNvbHZlKF92YWx1ZSk7XG4gICAgICAgIH0gZWxzZSBpZiAoaGFzQ29uZmlnKSB7XG4gICAgICAgICAgcmVzb2x2ZShjb25maWchLmRlZmF1bHRWYWx1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVqZWN0KG5ldyBFbXB0eUVycm9yKCkpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgIH0pO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IEVtcHR5RXJyb3IgfSBmcm9tICcuL3V0aWwvRW1wdHlFcnJvcic7XG5pbXBvcnQgeyBTYWZlU3Vic2NyaWJlciB9IGZyb20gJy4vU3Vic2NyaWJlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlyc3RWYWx1ZUZyb21Db25maWc8VD4ge1xuICBkZWZhdWx0VmFsdWU6IFQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdFZhbHVlRnJvbTxULCBEPihzb3VyY2U6IE9ic2VydmFibGU8VD4sIGNvbmZpZzogRmlyc3RWYWx1ZUZyb21Db25maWc8RD4pOiBQcm9taXNlPFQgfCBEPjtcbmV4cG9ydCBmdW5jdGlvbiBmaXJzdFZhbHVlRnJvbTxUPihzb3VyY2U6IE9ic2VydmFibGU8VD4pOiBQcm9taXNlPFQ+O1xuXG4vKipcbiAqIENvbnZlcnRzIGFuIG9ic2VydmFibGUgdG8gYSBwcm9taXNlIGJ5IHN1YnNjcmliaW5nIHRvIHRoZSBvYnNlcnZhYmxlLFxuICogYW5kIHJldHVybmluZyBhIHByb21pc2UgdGhhdCB3aWxsIHJlc29sdmUgYXMgc29vbiBhcyB0aGUgZmlyc3QgdmFsdWVcbiAqIGFycml2ZXMgZnJvbSB0aGUgb2JzZXJ2YWJsZS4gVGhlIHN1YnNjcmlwdGlvbiB3aWxsIHRoZW4gYmUgY2xvc2VkLlxuICpcbiAqIElmIHRoZSBvYnNlcnZhYmxlIHN0cmVhbSBjb21wbGV0ZXMgYmVmb3JlIGFueSB2YWx1ZXMgd2VyZSBlbWl0dGVkLCB0aGVcbiAqIHJldHVybmVkIHByb21pc2Ugd2lsbCByZWplY3Qgd2l0aCB7QGxpbmsgRW1wdHlFcnJvcn0gb3Igd2lsbCByZXNvbHZlXG4gKiB3aXRoIHRoZSBkZWZhdWx0IHZhbHVlIGlmIGEgZGVmYXVsdCB3YXMgc3BlY2lmaWVkLlxuICpcbiAqIElmIHRoZSBvYnNlcnZhYmxlIHN0cmVhbSBlbWl0cyBhbiBlcnJvciwgdGhlIHJldHVybmVkIHByb21pc2Ugd2lsbCByZWplY3RcbiAqIHdpdGggdGhhdCBlcnJvci5cbiAqXG4gKiAqKldBUk5JTkcqKjogT25seSB1c2UgdGhpcyB3aXRoIG9ic2VydmFibGVzIHlvdSAqa25vdyogd2lsbCBlbWl0IGF0IGxlYXN0IG9uZSB2YWx1ZSxcbiAqICpPUiogY29tcGxldGUuIElmIHRoZSBzb3VyY2Ugb2JzZXJ2YWJsZSBkb2VzIG5vdCBlbWl0IG9uZSB2YWx1ZSBvciBjb21wbGV0ZSwgeW91IHdpbGxcbiAqIGVuZCB1cCB3aXRoIGEgcHJvbWlzZSB0aGF0IGlzIGh1bmcgdXAsIGFuZCBwb3RlbnRpYWxseSBhbGwgb2YgdGhlIHN0YXRlIG9mIGFuXG4gKiBhc3luYyBmdW5jdGlvbiBoYW5naW5nIG91dCBpbiBtZW1vcnkuIFRvIGF2b2lkIHRoaXMgc2l0dWF0aW9uLCBsb29rIGludG8gYWRkaW5nXG4gKiBzb21ldGhpbmcgbGlrZSB7QGxpbmsgdGltZW91dH0sIHtAbGluayB0YWtlfSwge0BsaW5rIHRha2VXaGlsZX0sIG9yIHtAbGluayB0YWtlVW50aWx9XG4gKiBhbW9uZ3N0IG90aGVycy5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogV2FpdCBmb3IgdGhlIGZpcnN0IHZhbHVlIGZyb20gYSBzdHJlYW0gYW5kIGVtaXQgaXQgZnJvbSBhIHByb21pc2UgaW5cbiAqIGFuIGFzeW5jIGZ1bmN0aW9uXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGludGVydmFsLCBmaXJzdFZhbHVlRnJvbSB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGFzeW5jIGZ1bmN0aW9uIGV4ZWN1dGUoKSB7XG4gKiAgIGNvbnN0IHNvdXJjZSQgPSBpbnRlcnZhbCgyMDAwKTtcbiAqICAgY29uc3QgZmlyc3ROdW1iZXIgPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShzb3VyY2UkKTtcbiAqICAgY29uc29sZS5sb2coYFRoZSBmaXJzdCBudW1iZXIgaXMgJHsgZmlyc3ROdW1iZXIgfWApO1xuICogfVxuICpcbiAqIGV4ZWN1dGUoKTtcbiAqXG4gKiAvLyBFeHBlY3RlZCBvdXRwdXQ6XG4gKiAvLyAnVGhlIGZpcnN0IG51bWJlciBpcyAwJ1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgbGFzdFZhbHVlRnJvbX1cbiAqXG4gKiBAcGFyYW0gc291cmNlIHRoZSBvYnNlcnZhYmxlIHRvIGNvbnZlcnQgdG8gYSBwcm9taXNlXG4gKiBAcGFyYW0gY29uZmlnIGEgY29uZmlndXJhdGlvbiBvYmplY3QgdG8gZGVmaW5lIHRoZSBgZGVmYXVsdFZhbHVlYCB0byB1c2UgaWYgdGhlIHNvdXJjZSBjb21wbGV0ZXMgd2l0aG91dCBlbWl0dGluZyBhIHZhbHVlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdFZhbHVlRnJvbTxULCBEPihzb3VyY2U6IE9ic2VydmFibGU8VD4sIGNvbmZpZz86IEZpcnN0VmFsdWVGcm9tQ29uZmlnPEQ+KTogUHJvbWlzZTxUIHwgRD4ge1xuICBjb25zdCBoYXNDb25maWcgPSB0eXBlb2YgY29uZmlnID09PSAnb2JqZWN0JztcbiAgcmV0dXJuIG5ldyBQcm9taXNlPFQgfCBEPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3Qgc3Vic2NyaWJlciA9IG5ldyBTYWZlU3Vic2NyaWJlcjxUPih7XG4gICAgICBuZXh0OiAodmFsdWUpID0+IHtcbiAgICAgICAgcmVzb2x2ZSh2YWx1ZSk7XG4gICAgICAgIHN1YnNjcmliZXIudW5zdWJzY3JpYmUoKTtcbiAgICAgIH0sXG4gICAgICBlcnJvcjogcmVqZWN0LFxuICAgICAgY29tcGxldGU6ICgpID0+IHtcbiAgICAgICAgaWYgKGhhc0NvbmZpZykge1xuICAgICAgICAgIHJlc29sdmUoY29uZmlnIS5kZWZhdWx0VmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlamVjdChuZXcgRW1wdHlFcnJvcigpKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICB9KTtcbiAgICBzb3VyY2Uuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBjcmVhdGVFcnJvckNsYXNzIH0gZnJvbSAnLi9jcmVhdGVFcnJvckNsYXNzJztcblxuZXhwb3J0IGludGVyZmFjZSBBcmd1bWVudE91dE9mUmFuZ2VFcnJvciBleHRlbmRzIEVycm9yIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJndW1lbnRPdXRPZlJhbmdlRXJyb3JDdG9yIHtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIEludGVybmFsIGltcGxlbWVudGF0aW9uIGRldGFpbC4gRG8gbm90IGNvbnN0cnVjdCBlcnJvciBpbnN0YW5jZXMuXG4gICAqIENhbm5vdCBiZSB0YWdnZWQgYXMgaW50ZXJuYWw6IGh0dHBzOi8vZ2l0aHViLmNvbS9SZWFjdGl2ZVgvcnhqcy9pc3N1ZXMvNjI2OVxuICAgKi9cbiAgbmV3ICgpOiBBcmd1bWVudE91dE9mUmFuZ2VFcnJvcjtcbn1cblxuLyoqXG4gKiBBbiBlcnJvciB0aHJvd24gd2hlbiBhbiBlbGVtZW50IHdhcyBxdWVyaWVkIGF0IGEgY2VydGFpbiBpbmRleCBvZiBhblxuICogT2JzZXJ2YWJsZSwgYnV0IG5vIHN1Y2ggaW5kZXggb3IgcG9zaXRpb24gZXhpc3RzIGluIHRoYXQgc2VxdWVuY2UuXG4gKlxuICogQHNlZSB7QGxpbmsgZWxlbWVudEF0fVxuICogQHNlZSB7QGxpbmsgdGFrZX1cbiAqIEBzZWUge0BsaW5rIHRha2VMYXN0fVxuICpcbiAqIEBjbGFzcyBBcmd1bWVudE91dE9mUmFuZ2VFcnJvclxuICovXG5leHBvcnQgY29uc3QgQXJndW1lbnRPdXRPZlJhbmdlRXJyb3I6IEFyZ3VtZW50T3V0T2ZSYW5nZUVycm9yQ3RvciA9IGNyZWF0ZUVycm9yQ2xhc3MoXG4gIChfc3VwZXIpID0+XG4gICAgZnVuY3Rpb24gQXJndW1lbnRPdXRPZlJhbmdlRXJyb3JJbXBsKHRoaXM6IGFueSkge1xuICAgICAgX3N1cGVyKHRoaXMpO1xuICAgICAgdGhpcy5uYW1lID0gJ0FyZ3VtZW50T3V0T2ZSYW5nZUVycm9yJztcbiAgICAgIHRoaXMubWVzc2FnZSA9ICdhcmd1bWVudCBvdXQgb2YgcmFuZ2UnO1xuICAgIH1cbik7XG4iLCAiaW1wb3J0IHsgY3JlYXRlRXJyb3JDbGFzcyB9IGZyb20gJy4vY3JlYXRlRXJyb3JDbGFzcyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90Rm91bmRFcnJvciBleHRlbmRzIEVycm9yIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm90Rm91bmRFcnJvckN0b3Ige1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgSW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZGV0YWlsLiBEbyBub3QgY29uc3RydWN0IGVycm9yIGluc3RhbmNlcy5cbiAgICogQ2Fubm90IGJlIHRhZ2dlZCBhcyBpbnRlcm5hbDogaHR0cHM6Ly9naXRodWIuY29tL1JlYWN0aXZlWC9yeGpzL2lzc3Vlcy82MjY5XG4gICAqL1xuICBuZXcgKG1lc3NhZ2U6IHN0cmluZyk6IE5vdEZvdW5kRXJyb3I7XG59XG5cbi8qKlxuICogQW4gZXJyb3IgdGhyb3duIHdoZW4gYSB2YWx1ZSBvciB2YWx1ZXMgYXJlIG1pc3NpbmcgZnJvbSBhblxuICogb2JzZXJ2YWJsZSBzZXF1ZW5jZS5cbiAqXG4gKiBAc2VlIHtAbGluayBvcGVyYXRvcnMvc2luZ2xlfVxuICpcbiAqIEBjbGFzcyBOb3RGb3VuZEVycm9yXG4gKi9cbmV4cG9ydCBjb25zdCBOb3RGb3VuZEVycm9yOiBOb3RGb3VuZEVycm9yQ3RvciA9IGNyZWF0ZUVycm9yQ2xhc3MoXG4gIChfc3VwZXIpID0+XG4gICAgZnVuY3Rpb24gTm90Rm91bmRFcnJvckltcGwodGhpczogYW55LCBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgIF9zdXBlcih0aGlzKTtcbiAgICAgIHRoaXMubmFtZSA9ICdOb3RGb3VuZEVycm9yJztcbiAgICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgfVxuKTtcbiIsICJpbXBvcnQgeyBjcmVhdGVFcnJvckNsYXNzIH0gZnJvbSAnLi9jcmVhdGVFcnJvckNsYXNzJztcblxuZXhwb3J0IGludGVyZmFjZSBTZXF1ZW5jZUVycm9yIGV4dGVuZHMgRXJyb3Ige31cblxuZXhwb3J0IGludGVyZmFjZSBTZXF1ZW5jZUVycm9yQ3RvciB7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBJbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuIERvIG5vdCBjb25zdHJ1Y3QgZXJyb3IgaW5zdGFuY2VzLlxuICAgKiBDYW5ub3QgYmUgdGFnZ2VkIGFzIGludGVybmFsOiBodHRwczovL2dpdGh1Yi5jb20vUmVhY3RpdmVYL3J4anMvaXNzdWVzLzYyNjlcbiAgICovXG4gIG5ldyAobWVzc2FnZTogc3RyaW5nKTogU2VxdWVuY2VFcnJvcjtcbn1cblxuLyoqXG4gKiBBbiBlcnJvciB0aHJvd24gd2hlbiBzb21ldGhpbmcgaXMgd3Jvbmcgd2l0aCB0aGUgc2VxdWVuY2Ugb2ZcbiAqIHZhbHVlcyBhcnJpdmluZyBvbiB0aGUgb2JzZXJ2YWJsZS5cbiAqXG4gKiBAc2VlIHtAbGluayBvcGVyYXRvcnMvc2luZ2xlfVxuICpcbiAqIEBjbGFzcyBTZXF1ZW5jZUVycm9yXG4gKi9cbmV4cG9ydCBjb25zdCBTZXF1ZW5jZUVycm9yOiBTZXF1ZW5jZUVycm9yQ3RvciA9IGNyZWF0ZUVycm9yQ2xhc3MoXG4gIChfc3VwZXIpID0+XG4gICAgZnVuY3Rpb24gU2VxdWVuY2VFcnJvckltcGwodGhpczogYW55LCBtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgIF9zdXBlcih0aGlzKTtcbiAgICAgIHRoaXMubmFtZSA9ICdTZXF1ZW5jZUVycm9yJztcbiAgICAgIHRoaXMubWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgfVxuKTtcbiIsICIvKipcbiAqIENoZWNrcyB0byBzZWUgaWYgYSB2YWx1ZSBpcyBub3Qgb25seSBhIGBEYXRlYCBvYmplY3QsXG4gKiBidXQgYSAqdmFsaWQqIGBEYXRlYCBvYmplY3QgdGhhdCBjYW4gYmUgY29udmVydGVkIHRvIGFcbiAqIG51bWJlci4gRm9yIGV4YW1wbGUsIGBuZXcgRGF0ZSgnYmxhaCcpYCBpcyBpbmRlZWQgYW5cbiAqIGBpbnN0YW5jZW9mIERhdGVgLCBob3dldmVyIGl0IGNhbm5vdCBiZSBjb252ZXJ0ZWQgdG8gYVxuICogbnVtYmVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZERhdGUodmFsdWU6IGFueSk6IHZhbHVlIGlzIERhdGUge1xuICByZXR1cm4gdmFsdWUgaW5zdGFuY2VvZiBEYXRlICYmICFpc05hTih2YWx1ZSBhcyBhbnkpO1xufVxuIiwgImltcG9ydCB7IGFzeW5jU2NoZWR1bGVyIH0gZnJvbSAnLi4vc2NoZWR1bGVyL2FzeW5jJztcbmltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgU2NoZWR1bGVyTGlrZSwgT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZUlucHV0LCBPYnNlcnZlZFZhbHVlT2YgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpc1ZhbGlkRGF0ZSB9IGZyb20gJy4uL3V0aWwvaXNEYXRlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IGlubmVyRnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvaW5uZXJGcm9tJztcbmltcG9ydCB7IGNyZWF0ZUVycm9yQ2xhc3MgfSBmcm9tICcuLi91dGlsL2NyZWF0ZUVycm9yQ2xhc3MnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi9PcGVyYXRvclN1YnNjcmliZXInO1xuaW1wb3J0IHsgZXhlY3V0ZVNjaGVkdWxlIH0gZnJvbSAnLi4vdXRpbC9leGVjdXRlU2NoZWR1bGUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVvdXRDb25maWc8VCwgTyBleHRlbmRzIE9ic2VydmFibGVJbnB1dDx1bmtub3duPiA9IE9ic2VydmFibGVJbnB1dDxUPiwgTSA9IHVua25vd24+IHtcbiAgLyoqXG4gICAqIFRoZSB0aW1lIGFsbG93ZWQgYmV0d2VlbiB2YWx1ZXMgZnJvbSB0aGUgc291cmNlIGJlZm9yZSB0aW1lb3V0IGlzIHRyaWdnZXJlZC5cbiAgICovXG4gIGVhY2g/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSByZWxhdGl2ZSB0aW1lIGFzIGEgYG51bWJlcmAgaW4gbWlsbGlzZWNvbmRzLCBvciBhIHNwZWNpZmljIHRpbWUgYXMgYSBgRGF0ZWAgb2JqZWN0LFxuICAgKiBieSB3aGljaCB0aGUgZmlyc3QgdmFsdWUgbXVzdCBhcnJpdmUgZnJvbSB0aGUgc291cmNlIGJlZm9yZSB0aW1lb3V0IGlzIHRyaWdnZXJlZC5cbiAgICovXG4gIGZpcnN0PzogbnVtYmVyIHwgRGF0ZTtcblxuICAvKipcbiAgICogVGhlIHNjaGVkdWxlciB0byB1c2Ugd2l0aCB0aW1lLXJlbGF0ZWQgb3BlcmF0aW9ucyB3aXRoaW4gdGhpcyBvcGVyYXRvci4gRGVmYXVsdHMgdG8ge0BsaW5rIGFzeW5jU2NoZWR1bGVyfVxuICAgKi9cbiAgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZTtcblxuICAvKipcbiAgICogQSBmYWN0b3J5IHVzZWQgdG8gY3JlYXRlIG9ic2VydmFibGUgdG8gc3dpdGNoIHRvIHdoZW4gdGltZW91dCBvY2N1cnMuIFByb3ZpZGVzXG4gICAqIGEge0BsaW5rIFRpbWVvdXRJbmZvfSBhYm91dCB0aGUgc291cmNlIG9ic2VydmFibGUncyBlbWlzc2lvbnMgYW5kIHdoYXQgZGVsYXkgb3JcbiAgICogZXhhY3QgdGltZSB0cmlnZ2VyZWQgdGhlIHRpbWVvdXQuXG4gICAqL1xuICB3aXRoPzogKGluZm86IFRpbWVvdXRJbmZvPFQsIE0+KSA9PiBPO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBhZGRpdGlvbmFsIG1ldGFkYXRhIHlvdSBjYW4gcHJvdmlkZSB0byBjb2RlIHRoYXQgaGFuZGxlc1xuICAgKiB0aGUgdGltZW91dCwgd2lsbCBiZSBwcm92aWRlZCB0aHJvdWdoIHRoZSB7QGxpbmsgVGltZW91dEVycm9yfS5cbiAgICogVGhpcyBjYW4gYmUgdXNlZCB0byBoZWxwIGlkZW50aWZ5IHRoZSBzb3VyY2Ugb2YgYSB0aW1lb3V0IG9yIHBhc3MgYWxvbmdcbiAgICogb3RoZXIgaW5mb3JtYXRpb24gcmVsYXRlZCB0byB0aGUgdGltZW91dC5cbiAgICovXG4gIG1ldGE/OiBNO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVvdXRJbmZvPFQsIE0gPSB1bmtub3duPiB7XG4gIC8qKiBPcHRpb25hbCBtZXRhZGF0YSB0aGF0IHdhcyBwcm92aWRlZCB0byB0aGUgdGltZW91dCBjb25maWd1cmF0aW9uLiAqL1xuICByZWFkb25seSBtZXRhOiBNO1xuICAvKiogVGhlIG51bWJlciBvZiBtZXNzYWdlcyBzZWVuIGJlZm9yZSB0aGUgdGltZW91dCAqL1xuICByZWFkb25seSBzZWVuOiBudW1iZXI7XG4gIC8qKiBUaGUgbGFzdCBtZXNzYWdlIHNlZW4gKi9cbiAgcmVhZG9ubHkgbGFzdFZhbHVlOiBUIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBBbiBlcnJvciBlbWl0dGVkIHdoZW4gYSB0aW1lb3V0IG9jY3Vycy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUaW1lb3V0RXJyb3I8VCA9IHVua25vd24sIE0gPSB1bmtub3duPiBleHRlbmRzIEVycm9yIHtcbiAgLyoqXG4gICAqIFRoZSBpbmZvcm1hdGlvbiBwcm92aWRlZCB0byB0aGUgZXJyb3IgYnkgdGhlIHRpbWVvdXRcbiAgICogb3BlcmF0aW9uIHRoYXQgY3JlYXRlZCB0aGUgZXJyb3IuIFdpbGwgYmUgYG51bGxgIGlmXG4gICAqIHVzZWQgZGlyZWN0bHkgaW4gbm9uLVJ4SlMgY29kZSB3aXRoIGFuIGVtcHR5IGNvbnN0cnVjdG9yLlxuICAgKiAoTm90ZSB0aGF0IHVzaW5nIHRoaXMgY29uc3RydWN0b3IgZGlyZWN0bHkgaXMgbm90IHJlY29tbWVuZGVkLFxuICAgKiB5b3Ugc2hvdWxkIGNyZWF0ZSB5b3VyIG93biBlcnJvcnMpXG4gICAqL1xuICBpbmZvOiBUaW1lb3V0SW5mbzxULCBNPiB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGltZW91dEVycm9yQ3RvciB7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBJbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBkZXRhaWwuIERvIG5vdCBjb25zdHJ1Y3QgZXJyb3IgaW5zdGFuY2VzLlxuICAgKiBDYW5ub3QgYmUgdGFnZ2VkIGFzIGludGVybmFsOiBodHRwczovL2dpdGh1Yi5jb20vUmVhY3RpdmVYL3J4anMvaXNzdWVzLzYyNjlcbiAgICovXG4gIG5ldyA8VCA9IHVua25vd24sIE0gPSB1bmtub3duPihpbmZvPzogVGltZW91dEluZm88VCwgTT4pOiBUaW1lb3V0RXJyb3I8VCwgTT47XG59XG5cbi8qKlxuICogQW4gZXJyb3IgdGhyb3duIGJ5IHRoZSB7QGxpbmsgdGltZW91dH0gb3BlcmF0b3IuXG4gKlxuICogUHJvdmlkZWQgc28gdXNlcnMgY2FuIHVzZSBhcyBhIHR5cGUgYW5kIGRvIHF1YWxpdHkgY29tcGFyaXNvbnMuXG4gKiBXZSByZWNvbW1lbmQgeW91IGRvIG5vdCBzdWJjbGFzcyB0aGlzIG9yIGNyZWF0ZSBpbnN0YW5jZXMgb2YgdGhpcyBjbGFzcyBkaXJlY3RseS5cbiAqIElmIHlvdSBoYXZlIG5lZWQgb2YgYSBlcnJvciByZXByZXNlbnRpbmcgYSB0aW1lb3V0LCB5b3Ugc2hvdWxkXG4gKiBjcmVhdGUgeW91ciBvd24gZXJyb3IgY2xhc3MgYW5kIHVzZSB0aGF0LlxuICpcbiAqIEBzZWUge0BsaW5rIHRpbWVvdXR9XG4gKlxuICogQGNsYXNzIFRpbWVvdXRFcnJvclxuICovXG5leHBvcnQgY29uc3QgVGltZW91dEVycm9yOiBUaW1lb3V0RXJyb3JDdG9yID0gY3JlYXRlRXJyb3JDbGFzcyhcbiAgKF9zdXBlcikgPT5cbiAgICBmdW5jdGlvbiBUaW1lb3V0RXJyb3JJbXBsKHRoaXM6IGFueSwgaW5mbzogVGltZW91dEluZm88YW55PiB8IG51bGwgPSBudWxsKSB7XG4gICAgICBfc3VwZXIodGhpcyk7XG4gICAgICB0aGlzLm1lc3NhZ2UgPSAnVGltZW91dCBoYXMgb2NjdXJyZWQnO1xuICAgICAgdGhpcy5uYW1lID0gJ1RpbWVvdXRFcnJvcic7XG4gICAgICB0aGlzLmluZm8gPSBpbmZvO1xuICAgIH1cbik7XG5cbi8qKlxuICogSWYgYHdpdGhgIGlzIHByb3ZpZGVkLCB0aGlzIHdpbGwgcmV0dXJuIGFuIG9ic2VydmFibGUgdGhhdCB3aWxsIHN3aXRjaCB0byBhIGRpZmZlcmVudCBvYnNlcnZhYmxlIGlmIHRoZSBzb3VyY2VcbiAqIGRvZXMgbm90IHB1c2ggdmFsdWVzIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHRpbWUgcGFyYW1ldGVycy5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+VGhlIG1vc3QgZmxleGlibGUgb3B0aW9uIGZvciBjcmVhdGluZyBhIHRpbWVvdXQgYmVoYXZpb3IuPC9zcGFuPlxuICpcbiAqIFRoZSBmaXJzdCB0aGluZyB0byBrbm93IGFib3V0IHRoZSBjb25maWd1cmF0aW9uIGlzIGlmIHlvdSBkbyBub3QgcHJvdmlkZSBhIGB3aXRoYCBwcm9wZXJ0eSB0byB0aGUgY29uZmlndXJhdGlvbixcbiAqIHdoZW4gdGltZW91dCBjb25kaXRpb25zIGFyZSBtZXQsIHRoaXMgb3BlcmF0b3Igd2lsbCBlbWl0IGEge0BsaW5rIFRpbWVvdXRFcnJvcn0uIE90aGVyd2lzZSwgaXQgd2lsbCB1c2UgdGhlIGZhY3RvcnlcbiAqIGZ1bmN0aW9uIHByb3ZpZGVkIGJ5IGB3aXRoYCwgYW5kIHN3aXRjaCB5b3VyIHN1YnNjcmlwdGlvbiB0byB0aGUgcmVzdWx0IG9mIHRoYXQuIFRpbWVvdXQgY29uZGl0aW9ucyBhcmUgcHJvdmlkZWQgYnlcbiAqIHRoZSBzZXR0aW5ncyBpbiBgZmlyc3RgIGFuZCBgZWFjaGAuXG4gKlxuICogVGhlIGBmaXJzdGAgcHJvcGVydHkgY2FuIGJlIGVpdGhlciBhIGBEYXRlYCBmb3IgYSBzcGVjaWZpYyB0aW1lLCBhIGBudW1iZXJgIGZvciBhIHRpbWUgcGVyaW9kIHJlbGF0aXZlIHRvIHRoZVxuICogcG9pbnQgb2Ygc3Vic2NyaXB0aW9uLCBvciBpdCBjYW4gYmUgc2tpcHBlZC4gVGhpcyBwcm9wZXJ0eSBpcyB0byBjaGVjayB0aW1lb3V0IGNvbmRpdGlvbnMgZm9yIHRoZSBhcnJpdmFsIG9mXG4gKiB0aGUgZmlyc3QgdmFsdWUgZnJvbSB0aGUgc291cmNlIF9vbmx5Xy4gVGhlIHRpbWluZ3Mgb2YgYWxsIHN1YnNlcXVlbnQgdmFsdWVzICBmcm9tIHRoZSBzb3VyY2Ugd2lsbCBiZSBjaGVja2VkXG4gKiBhZ2FpbnN0IHRoZSB0aW1lIHBlcmlvZCBwcm92aWRlZCBieSBgZWFjaGAsIGlmIGl0IHdhcyBwcm92aWRlZC5cbiAqXG4gKiBUaGUgYGVhY2hgIHByb3BlcnR5IGNhbiBiZSBlaXRoZXIgYSBgbnVtYmVyYCBvciBza2lwcGVkLiBJZiBhIHZhbHVlIGZvciBgZWFjaGAgaXMgcHJvdmlkZWQsIGl0IHJlcHJlc2VudHMgdGhlIGFtb3VudCBvZlxuICogdGltZSB0aGUgcmVzdWx0aW5nIG9ic2VydmFibGUgd2lsbCB3YWl0IGJldHdlZW4gdGhlIGFycml2YWwgb2YgdmFsdWVzIGZyb20gdGhlIHNvdXJjZSBiZWZvcmUgdGltaW5nIG91dC4gTm90ZSB0aGF0IGlmXG4gKiBgZmlyc3RgIGlzIF9ub3RfIHByb3ZpZGVkLCB0aGUgdmFsdWUgZnJvbSBgZWFjaGAgd2lsbCBiZSB1c2VkIHRvIGNoZWNrIHRpbWVvdXQgY29uZGl0aW9ucyBmb3IgdGhlIGFycml2YWwgb2YgdGhlIGZpcnN0XG4gKiB2YWx1ZSBhbmQgYWxsIHN1YnNlcXVlbnQgdmFsdWVzLiBJZiBgZmlyc3RgIF9pc18gcHJvdmlkZWQsIGBlYWNoYCB3aWxsIG9ubHkgYmUgdXNlIHRvIGNoZWNrIGFsbCB2YWx1ZXMgYWZ0ZXIgdGhlIGZpcnN0LlxuICpcbiAqICMjIEV4YW1wbGVzXG4gKlxuICogRW1pdCBhIGN1c3RvbSBlcnJvciBpZiB0aGVyZSBpcyB0b28gbXVjaCB0aW1lIGJldHdlZW4gdmFsdWVzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGludGVydmFsLCB0aW1lb3V0LCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY2xhc3MgQ3VzdG9tVGltZW91dEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICogICBjb25zdHJ1Y3RvcigpIHtcbiAqICAgICBzdXBlcignSXQgd2FzIHRvbyBzbG93Jyk7XG4gKiAgICAgdGhpcy5uYW1lID0gJ0N1c3RvbVRpbWVvdXRFcnJvcic7XG4gKiAgIH1cbiAqIH1cbiAqXG4gKiBjb25zdCBzbG93JCA9IGludGVydmFsKDkwMCk7XG4gKlxuICogc2xvdyQucGlwZShcbiAqICAgdGltZW91dCh7XG4gKiAgICAgZWFjaDogMTAwMCxcbiAqICAgICB3aXRoOiAoKSA9PiB0aHJvd0Vycm9yKCgpID0+IG5ldyBDdXN0b21UaW1lb3V0RXJyb3IoKSlcbiAqICAgfSlcbiAqIClcbiAqIC5zdWJzY3JpYmUoe1xuICogICBlcnJvcjogY29uc29sZS5lcnJvclxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBTd2l0Y2ggdG8gYSBmYXN0ZXIgb2JzZXJ2YWJsZSBpZiB5b3VyIHNvdXJjZSBpcyBzbG93LlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBpbnRlcnZhbCwgdGltZW91dCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHNsb3ckID0gaW50ZXJ2YWwoOTAwKTtcbiAqIGNvbnN0IGZhc3QkID0gaW50ZXJ2YWwoNTAwKTtcbiAqXG4gKiBzbG93JC5waXBlKFxuICogICB0aW1lb3V0KHtcbiAqICAgICBlYWNoOiAxMDAwLFxuICogICAgIHdpdGg6ICgpID0+IGZhc3QkLFxuICogICB9KVxuICogKVxuICogLnN1YnNjcmliZShjb25zb2xlLmxvZyk7XG4gKiBgYGBcbiAqIEBwYXJhbSBjb25maWcgVGhlIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSB0aW1lb3V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGltZW91dDxULCBPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PHVua25vd24+LCBNID0gdW5rbm93bj4oXG4gIGNvbmZpZzogVGltZW91dENvbmZpZzxULCBPLCBNPiAmIHsgd2l0aDogKGluZm86IFRpbWVvdXRJbmZvPFQsIE0+KSA9PiBPIH1cbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVCB8IE9ic2VydmVkVmFsdWVPZjxPPj47XG5cbi8qKlxuICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgd2lsbCBlcnJvciBvciBzd2l0Y2ggdG8gYSBkaWZmZXJlbnQgb2JzZXJ2YWJsZSBpZiB0aGUgc291cmNlIGRvZXMgbm90IHB1c2ggdmFsdWVzXG4gKiB3aXRoaW4gdGhlIHNwZWNpZmllZCB0aW1lIHBhcmFtZXRlcnMuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPlRoZSBtb3N0IGZsZXhpYmxlIG9wdGlvbiBmb3IgY3JlYXRpbmcgYSB0aW1lb3V0IGJlaGF2aW9yLjwvc3Bhbj5cbiAqXG4gKiBUaGUgZmlyc3QgdGhpbmcgdG8ga25vdyBhYm91dCB0aGUgY29uZmlndXJhdGlvbiBpcyBpZiB5b3UgZG8gbm90IHByb3ZpZGUgYSBgd2l0aGAgcHJvcGVydHkgdG8gdGhlIGNvbmZpZ3VyYXRpb24sXG4gKiB3aGVuIHRpbWVvdXQgY29uZGl0aW9ucyBhcmUgbWV0LCB0aGlzIG9wZXJhdG9yIHdpbGwgZW1pdCBhIHtAbGluayBUaW1lb3V0RXJyb3J9LiBPdGhlcndpc2UsIGl0IHdpbGwgdXNlIHRoZSBmYWN0b3J5XG4gKiBmdW5jdGlvbiBwcm92aWRlZCBieSBgd2l0aGAsIGFuZCBzd2l0Y2ggeW91ciBzdWJzY3JpcHRpb24gdG8gdGhlIHJlc3VsdCBvZiB0aGF0LiBUaW1lb3V0IGNvbmRpdGlvbnMgYXJlIHByb3ZpZGVkIGJ5XG4gKiB0aGUgc2V0dGluZ3MgaW4gYGZpcnN0YCBhbmQgYGVhY2hgLlxuICpcbiAqIFRoZSBgZmlyc3RgIHByb3BlcnR5IGNhbiBiZSBlaXRoZXIgYSBgRGF0ZWAgZm9yIGEgc3BlY2lmaWMgdGltZSwgYSBgbnVtYmVyYCBmb3IgYSB0aW1lIHBlcmlvZCByZWxhdGl2ZSB0byB0aGVcbiAqIHBvaW50IG9mIHN1YnNjcmlwdGlvbiwgb3IgaXQgY2FuIGJlIHNraXBwZWQuIFRoaXMgcHJvcGVydHkgaXMgdG8gY2hlY2sgdGltZW91dCBjb25kaXRpb25zIGZvciB0aGUgYXJyaXZhbCBvZlxuICogdGhlIGZpcnN0IHZhbHVlIGZyb20gdGhlIHNvdXJjZSBfb25seV8uIFRoZSB0aW1pbmdzIG9mIGFsbCBzdWJzZXF1ZW50IHZhbHVlcyAgZnJvbSB0aGUgc291cmNlIHdpbGwgYmUgY2hlY2tlZFxuICogYWdhaW5zdCB0aGUgdGltZSBwZXJpb2QgcHJvdmlkZWQgYnkgYGVhY2hgLCBpZiBpdCB3YXMgcHJvdmlkZWQuXG4gKlxuICogVGhlIGBlYWNoYCBwcm9wZXJ0eSBjYW4gYmUgZWl0aGVyIGEgYG51bWJlcmAgb3Igc2tpcHBlZC4gSWYgYSB2YWx1ZSBmb3IgYGVhY2hgIGlzIHByb3ZpZGVkLCBpdCByZXByZXNlbnRzIHRoZSBhbW91bnQgb2ZcbiAqIHRpbWUgdGhlIHJlc3VsdGluZyBvYnNlcnZhYmxlIHdpbGwgd2FpdCBiZXR3ZWVuIHRoZSBhcnJpdmFsIG9mIHZhbHVlcyBmcm9tIHRoZSBzb3VyY2UgYmVmb3JlIHRpbWluZyBvdXQuIE5vdGUgdGhhdCBpZlxuICogYGZpcnN0YCBpcyBfbm90XyBwcm92aWRlZCwgdGhlIHZhbHVlIGZyb20gYGVhY2hgIHdpbGwgYmUgdXNlZCB0byBjaGVjayB0aW1lb3V0IGNvbmRpdGlvbnMgZm9yIHRoZSBhcnJpdmFsIG9mIHRoZSBmaXJzdFxuICogdmFsdWUgYW5kIGFsbCBzdWJzZXF1ZW50IHZhbHVlcy4gSWYgYGZpcnN0YCBfaXNfIHByb3ZpZGVkLCBgZWFjaGAgd2lsbCBvbmx5IGJlIHVzZSB0byBjaGVjayBhbGwgdmFsdWVzIGFmdGVyIHRoZSBmaXJzdC5cbiAqXG4gKiAjIyMgSGFuZGxpbmcgVGltZW91dEVycm9yc1xuICpcbiAqIElmIG5vIGB3aXRoYCBwcm9wZXJ0eSB3YXMgcHJvdmlkZWQsIHN1YnNjcmlwdGlvbnMgdG8gdGhlIHJlc3VsdGluZyBvYnNlcnZhYmxlIG1heSBlbWl0IGFuIGVycm9yIG9mIHtAbGluayBUaW1lb3V0RXJyb3J9LlxuICogVGhlIHRpbWVvdXQgZXJyb3IgcHJvdmlkZXMgdXNlZnVsIGluZm9ybWF0aW9uIHlvdSBjYW4gZXhhbWluZSB3aGVuIHlvdSdyZSBoYW5kbGluZyB0aGUgZXJyb3IuIFRoZSBtb3N0IGNvbW1vbiB3YXkgdG8gaGFuZGxlXG4gKiB0aGUgZXJyb3Igd291bGQgYmUgd2l0aCB7QGxpbmsgY2F0Y2hFcnJvcn0sIGFsdGhvdWdoIHlvdSBjb3VsZCB1c2Uge0BsaW5rIHRhcH0gb3IganVzdCB0aGUgZXJyb3IgaGFuZGxlciBpbiB5b3VyIGBzdWJzY3JpYmVgIGNhbGxcbiAqIGRpcmVjdGx5LCBpZiB5b3VyIGVycm9yIGhhbmRsaW5nIGlzIG9ubHkgYSBzaWRlIGVmZmVjdCAoc3VjaCBhcyBub3RpZnlpbmcgdGhlIHVzZXIsIG9yIGxvZ2dpbmcpLlxuICpcbiAqIEluIHRoaXMgY2FzZSwgeW91IHdvdWxkIGNoZWNrIHRoZSBlcnJvciBmb3IgYGluc3RhbmNlb2YgVGltZW91dEVycm9yYCB0byB2YWxpZGF0ZSB0aGF0IHRoZSBlcnJvciB3YXMgaW5kZWVkIGZyb20gYHRpbWVvdXRgLCBhbmRcbiAqIG5vdCBmcm9tIHNvbWUgb3RoZXIgc291cmNlLiBJZiBpdCdzIG5vdCBmcm9tIGB0aW1lb3V0YCwgeW91IHNob3VsZCBwcm9iYWJseSByZXRocm93IGl0IGlmIHlvdSdyZSBpbiBhIGBjYXRjaEVycm9yYC5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIEVtaXQgYSB7QGxpbmsgVGltZW91dEVycm9yfSBpZiB0aGUgZmlyc3QgdmFsdWUsIGFuZCBfb25seV8gdGhlIGZpcnN0IHZhbHVlLCBkb2VzIG5vdCBhcnJpdmUgd2l0aGluIDUgc2Vjb25kc1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBpbnRlcnZhbCwgdGltZW91dCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIC8vIEEgcmFuZG9tIGludGVydmFsIHRoYXQgbGFzdHMgYmV0d2VlbiAwIGFuZCAxMCBzZWNvbmRzIHBlciB0aWNrXG4gKiBjb25zdCBzb3VyY2UkID0gaW50ZXJ2YWwoTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogMTBfMDAwKSk7XG4gKlxuICogc291cmNlJC5waXBlKFxuICogICB0aW1lb3V0KHsgZmlyc3Q6IDVfMDAwIH0pXG4gKiApXG4gKiAuc3Vic2NyaWJlKHtcbiAqICAgbmV4dDogY29uc29sZS5sb2csXG4gKiAgIGVycm9yOiBjb25zb2xlLmVycm9yXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEVtaXQgYSB7QGxpbmsgVGltZW91dEVycm9yfSBpZiB0aGUgc291cmNlIHdhaXRzIGxvbmdlciB0aGFuIDUgc2Vjb25kcyBiZXR3ZWVuIGFueSB0d28gdmFsdWVzIG9yIHRoZSBmaXJzdCB2YWx1ZVxuICogYW5kIHN1YnNjcmlwdGlvbi5cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgdGltZXIsIHRpbWVvdXQsIGV4cGFuZCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGdldFJhbmRvbVRpbWUgPSAoKSA9PiBNYXRoLnJvdW5kKE1hdGgucmFuZG9tKCkgKiAxMF8wMDApO1xuICpcbiAqIC8vIEFuIG9ic2VydmFibGUgdGhhdCB3YWl0cyBhIHJhbmRvbSBhbW91bnQgb2YgdGltZSBiZXR3ZWVuIGVhY2ggZGVsaXZlcmVkIHZhbHVlXG4gKiBjb25zdCBzb3VyY2UkID0gdGltZXIoZ2V0UmFuZG9tVGltZSgpKVxuICogICAucGlwZShleHBhbmQoKCkgPT4gdGltZXIoZ2V0UmFuZG9tVGltZSgpKSkpO1xuICpcbiAqIHNvdXJjZSRcbiAqICAgLnBpcGUodGltZW91dCh7IGVhY2g6IDVfMDAwIH0pKVxuICogICAuc3Vic2NyaWJlKHtcbiAqICAgICBuZXh0OiBjb25zb2xlLmxvZyxcbiAqICAgICBlcnJvcjogY29uc29sZS5lcnJvclxuICogICB9KTtcbiAqIGBgYFxuICpcbiAqIEVtaXQgYSB7QGxpbmsgVGltZW91dEVycm9yfSBpZiB0aGUgc291cmNlIGRvZXMgbm90IGVtaXQgYmVmb3JlIDcgc2Vjb25kcywgX29yXyBpZiB0aGUgc291cmNlIHdhaXRzIGxvbmdlciB0aGFuXG4gKiA1IHNlY29uZHMgYmV0d2VlbiBhbnkgdHdvIHZhbHVlcyBhZnRlciB0aGUgZmlyc3QuXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IHRpbWVyLCB0aW1lb3V0LCBleHBhbmQgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBnZXRSYW5kb21UaW1lID0gKCkgPT4gTWF0aC5yb3VuZChNYXRoLnJhbmRvbSgpICogMTBfMDAwKTtcbiAqXG4gKiAvLyBBbiBvYnNlcnZhYmxlIHRoYXQgd2FpdHMgYSByYW5kb20gYW1vdW50IG9mIHRpbWUgYmV0d2VlbiBlYWNoIGRlbGl2ZXJlZCB2YWx1ZVxuICogY29uc3Qgc291cmNlJCA9IHRpbWVyKGdldFJhbmRvbVRpbWUoKSlcbiAqICAgLnBpcGUoZXhwYW5kKCgpID0+IHRpbWVyKGdldFJhbmRvbVRpbWUoKSkpKTtcbiAqXG4gKiBzb3VyY2UkXG4gKiAgIC5waXBlKHRpbWVvdXQoeyBmaXJzdDogN18wMDAsIGVhY2g6IDVfMDAwIH0pKVxuICogICAuc3Vic2NyaWJlKHtcbiAqICAgICBuZXh0OiBjb25zb2xlLmxvZyxcbiAqICAgICBlcnJvcjogY29uc29sZS5lcnJvclxuICogICB9KTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gdGltZW91dDxULCBNID0gdW5rbm93bj4oY29uZmlnOiBPbWl0PFRpbWVvdXRDb25maWc8VCwgYW55LCBNPiwgJ3dpdGgnPik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVD47XG5cbi8qKlxuICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgd2lsbCBlcnJvciBpZiB0aGUgc291cmNlIGRvZXMgbm90IHB1c2ggaXRzIGZpcnN0IHZhbHVlIGJlZm9yZSB0aGUgc3BlY2lmaWVkIHRpbWUgcGFzc2VkIGFzIGEgYERhdGVgLlxuICogVGhpcyBpcyBmdW5jdGlvbmFsbHkgdGhlIHNhbWUgYXMgYHRpbWVvdXQoeyBmaXJzdDogc29tZURhdGUgfSlgLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5FcnJvcnMgaWYgdGhlIGZpcnN0IHZhbHVlIGRvZXNuJ3Qgc2hvdyB1cCBiZWZvcmUgdGhlIGdpdmVuIGRhdGUgYW5kIHRpbWU8L3NwYW4+XG4gKlxuICogIVtdKHRpbWVvdXQucG5nKVxuICpcbiAqIEBwYXJhbSBmaXJzdCBUaGUgZGF0ZSB0byBhdCB3aGljaCB0aGUgcmVzdWx0aW5nIG9ic2VydmFibGUgd2lsbCB0aW1lb3V0IGlmIHRoZSBzb3VyY2Ugb2JzZXJ2YWJsZVxuICogZG9lcyBub3QgZW1pdCBhdCBsZWFzdCBvbmUgdmFsdWUuXG4gKiBAcGFyYW0gc2NoZWR1bGVyIFRoZSBzY2hlZHVsZXIgdG8gdXNlLiBEZWZhdWx0cyB0byB7QGxpbmsgYXN5bmNTY2hlZHVsZXJ9LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGltZW91dDxUPihmaXJzdDogRGF0ZSwgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZSk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPjtcblxuLyoqXG4gKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgdGhhdCB3aWxsIGVycm9yIGlmIHRoZSBzb3VyY2UgZG9lcyBub3QgcHVzaCBhIHZhbHVlIHdpdGhpbiB0aGUgc3BlY2lmaWVkIHRpbWUgaW4gbWlsbGlzZWNvbmRzLlxuICogVGhpcyBpcyBmdW5jdGlvbmFsbHkgdGhlIHNhbWUgYXMgYHRpbWVvdXQoeyBlYWNoOiBtaWxsaXNlY29uZHMgfSlgLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5FcnJvcnMgaWYgaXQgd2FpdHMgdG9vIGxvbmcgYmV0d2VlbiBhbnkgdmFsdWU8L3NwYW4+XG4gKlxuICogIVtdKHRpbWVvdXQucG5nKVxuICpcbiAqIEBwYXJhbSBlYWNoIFRoZSB0aW1lIGFsbG93ZWQgYmV0d2VlbiBlYWNoIHB1c2hlZCB2YWx1ZSBmcm9tIHRoZSBzb3VyY2UgYmVmb3JlIHRoZSByZXN1bHRpbmcgb2JzZXJ2YWJsZVxuICogd2lsbCB0aW1lb3V0LlxuICogQHBhcmFtIHNjaGVkdWxlciBUaGUgc2NoZWR1bGVyIHRvIHVzZS4gRGVmYXVsdHMgdG8ge0BsaW5rIGFzeW5jU2NoZWR1bGVyfS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRpbWVvdXQ8VD4oZWFjaDogbnVtYmVyLCBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+O1xuXG4vKipcbiAqXG4gKiBFcnJvcnMgaWYgT2JzZXJ2YWJsZSBkb2VzIG5vdCBlbWl0IGEgdmFsdWUgaW4gZ2l2ZW4gdGltZSBzcGFuLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5UaW1lb3V0cyBvbiBPYnNlcnZhYmxlIHRoYXQgZG9lc24ndCBlbWl0IHZhbHVlcyBmYXN0IGVub3VnaC48L3NwYW4+XG4gKlxuICogIVtdKHRpbWVvdXQucG5nKVxuICpcbiAqIEBzZWUge0BsaW5rIHRpbWVvdXRXaXRofVxuICpcbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IG1pcnJvcnMgYmVoYXZpb3VyIG9mIHRoZVxuICogc291cmNlIE9ic2VydmFibGUsIHVubGVzcyB0aW1lb3V0IGhhcHBlbnMgd2hlbiBpdCB0aHJvd3MgYW4gZXJyb3IuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0aW1lb3V0PFQsIE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8YW55PiwgTT4oXG4gIGNvbmZpZzogbnVtYmVyIHwgRGF0ZSB8IFRpbWVvdXRDb25maWc8VCwgTywgTT4sXG4gIHNjaGVkdWxlckFyZz86IFNjaGVkdWxlckxpa2Vcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVCB8IE9ic2VydmVkVmFsdWVPZjxPPj4ge1xuICAvLyBJbnRlbnRpb25hbGx5IHRlcnNlIGNvZGUuXG4gIC8vIElmIHRoZSBmaXJzdCBhcmd1bWVudCBpcyBhIHZhbGlkIGBEYXRlYCwgdGhlbiB3ZSB1c2UgaXQgYXMgdGhlIGBmaXJzdGAgY29uZmlnLlxuICAvLyBPdGhlcndpc2UsIGlmIHRoZSBmaXJzdCBhcmd1bWVudCBpcyBhIGBudW1iZXJgLCB0aGVuIHdlIHVzZSBpdCBhcyB0aGUgYGVhY2hgIGNvbmZpZy5cbiAgLy8gT3RoZXJ3aXNlLCBpdCBjYW4gYmUgYXNzdW1lZCB0aGUgZmlyc3QgYXJndW1lbnQgaXMgdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGl0c2VsZiwgYW5kXG4gIC8vIHdlIGRlc3RydWN0dXJlIHRoYXQgaW50byB3aGF0IHdlJ3JlIGdvaW5nIHRvIHVzZSwgc2V0dGluZyBpbXBvcnRhbnQgZGVmYXVsdHMgYXMgd2UgZG8uXG4gIC8vIE5PVEU6IFRoZSBkZWZhdWx0IGZvciBgc2NoZWR1bGVyYCB3aWxsIGJlIHRoZSBgc2NoZWR1bGVyYCBhcmd1bWVudCBpZiBpdCBleGlzdHMsIG9yXG4gIC8vIGl0IHdpbGwgZGVmYXVsdCB0byB0aGUgYGFzeW5jU2NoZWR1bGVyYC5cbiAgY29uc3Qge1xuICAgIGZpcnN0LFxuICAgIGVhY2gsXG4gICAgd2l0aDogX3dpdGggPSB0aW1lb3V0RXJyb3JGYWN0b3J5LFxuICAgIHNjaGVkdWxlciA9IHNjaGVkdWxlckFyZyA/PyBhc3luY1NjaGVkdWxlcixcbiAgICBtZXRhID0gbnVsbCEsXG4gIH0gPSAoaXNWYWxpZERhdGUoY29uZmlnKSA/IHsgZmlyc3Q6IGNvbmZpZyB9IDogdHlwZW9mIGNvbmZpZyA9PT0gJ251bWJlcicgPyB7IGVhY2g6IGNvbmZpZyB9IDogY29uZmlnKSBhcyBUaW1lb3V0Q29uZmlnPFQsIE8sIE0+O1xuXG4gIGlmIChmaXJzdCA9PSBudWxsICYmIGVhY2ggPT0gbnVsbCkge1xuICAgIC8vIEVuc3VyZSB0aW1lb3V0IHdhcyBwcm92aWRlZCBhdCBydW50aW1lLlxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ05vIHRpbWVvdXQgcHJvdmlkZWQuJyk7XG4gIH1cblxuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgLy8gVGhpcyBzdWJzY3JpcHRpb24gZW5jYXBzdWxhdGVzIG91ciBzdWJzY3JpcHRpb24gdG8gdGhlXG4gICAgLy8gc291cmNlIGZvciB0aGlzIG9wZXJhdG9yLiBXZSdyZSBjYXB0dXJpbmcgaXQgc2VwYXJhdGVseSxcbiAgICAvLyBiZWNhdXNlIGlmIHRoZXJlIGlzIGEgYHdpdGhgIG9ic2VydmFibGUgdG8gZmFpbCBvdmVyIHRvLFxuICAgIC8vIHdlIHdhbnQgdG8gdW5zdWJzY3JpYmUgZnJvbSBvdXIgb3JpZ2luYWwgc3Vic2NyaXB0aW9uLCBhbmRcbiAgICAvLyBoYW5kIG9mIHRoZSBzdWJzY3JpcHRpb24gdG8gdGhhdCBvbmUuXG4gICAgbGV0IG9yaWdpbmFsU291cmNlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG4gICAgLy8gVGhlIHN1YnNjcmlwdGlvbiBmb3Igb3VyIHRpbWVvdXQgdGltZXIuIFRoaXMgY2hhbmdlc1xuICAgIC8vIGV2ZXJ5IHRpbWUgd2UgZ2V0IGEgbmV3IHZhbHVlLlxuICAgIGxldCB0aW1lclN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uO1xuICAgIC8vIEEgYml0IG9mIHN0YXRlIHdlIHBhc3MgdG8gb3VyIHdpdGggYW5kIGVycm9yIGZhY3RvcmllcyB0b1xuICAgIC8vIHRlbGwgd2hhdCB0aGUgbGFzdCB2YWx1ZSB3ZSBzYXcgd2FzLlxuICAgIGxldCBsYXN0VmFsdWU6IFQgfCBudWxsID0gbnVsbDtcbiAgICAvLyBBIGJpdCBvZiBzdGF0ZSB3ZSBwYXNzIHRvIHRoZSB3aXRoIGFuZCBlcnJvciBmYWN0b3JpZXMgdG9cbiAgICAvLyB0ZWxsIGhvdyBtYW55IHZhbHVlcyB3ZSBoYXZlIHNlZW4gc28gZmFyLlxuICAgIGxldCBzZWVuID0gMDtcbiAgICBjb25zdCBzdGFydFRpbWVyID0gKGRlbGF5OiBudW1iZXIpID0+IHtcbiAgICAgIHRpbWVyU3Vic2NyaXB0aW9uID0gZXhlY3V0ZVNjaGVkdWxlKFxuICAgICAgICBzdWJzY3JpYmVyLFxuICAgICAgICBzY2hlZHVsZXIsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgb3JpZ2luYWxTb3VyY2VTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgIGlubmVyRnJvbShcbiAgICAgICAgICAgICAgX3dpdGghKHtcbiAgICAgICAgICAgICAgICBtZXRhLFxuICAgICAgICAgICAgICAgIGxhc3RWYWx1ZSxcbiAgICAgICAgICAgICAgICBzZWVuLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKS5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKGVycik7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBkZWxheVxuICAgICAgKTtcbiAgICB9O1xuXG4gICAgb3JpZ2luYWxTb3VyY2VTdWJzY3JpcHRpb24gPSBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgICBzdWJzY3JpYmVyLFxuICAgICAgICAodmFsdWU6IFQpID0+IHtcbiAgICAgICAgICAvLyBjbGVhciB0aGUgdGltZXIgc28gd2UgY2FuIGVtaXQgYW5kIHN0YXJ0IGFub3RoZXIgb25lLlxuICAgICAgICAgIHRpbWVyU3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIHNlZW4rKztcbiAgICAgICAgICAvLyBFbWl0XG4gICAgICAgICAgc3Vic2NyaWJlci5uZXh0KChsYXN0VmFsdWUgPSB2YWx1ZSkpO1xuICAgICAgICAgIC8vIG51bGwgfCB1bmRlZmluZWQgYXJlIGJvdGggPCAwLiBUaGFua3MsIEphdmFTY3JpcHQuXG4gICAgICAgICAgZWFjaCEgPiAwICYmIHN0YXJ0VGltZXIoZWFjaCEpO1xuICAgICAgICB9LFxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGlmICghdGltZXJTdWJzY3JpcHRpb24/LmNsb3NlZCkge1xuICAgICAgICAgICAgdGltZXJTdWJzY3JpcHRpb24/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEJlIHN1cmUgbm90IHRvIGhvbGQgdGhlIGxhc3QgdmFsdWUgaW4gbWVtb3J5IGFmdGVyIHVuc3Vic2NyaXB0aW9uXG4gICAgICAgICAgLy8gaXQgY291bGQgYmUgcXVpdGUgbGFyZ2UuXG4gICAgICAgICAgbGFzdFZhbHVlID0gbnVsbDtcbiAgICAgICAgfVxuICAgICAgKVxuICAgICk7XG5cbiAgICAvLyBJbnRlbnRpb25hbGx5IHRlcnNlIGNvZGUuXG4gICAgLy8gSWYgd2UndmUgYHNlZW5gIGEgdmFsdWUsIHRoYXQgbWVhbnMgdGhlIFwiZmlyc3RcIiBjbGF1c2Ugd2FzIG1ldCBhbHJlYWR5LCBpZiBpdCBleGlzdGVkLlxuICAgIC8vICAgaXQgYWxzbyBtZWFucyB0aGF0IGEgdGltZXIgd2FzIGFscmVhZHkgc3RhcnRlZCBmb3IgXCJlYWNoXCIgKGluIHRoZSBuZXh0IGhhbmRsZXIgYWJvdmUpLlxuICAgIC8vIElmIGBmaXJzdGAgd2FzIHByb3ZpZGVkLCBhbmQgaXQncyBhIG51bWJlciwgdGhlbiB1c2UgaXQuXG4gICAgLy8gSWYgYGZpcnN0YCB3YXMgcHJvdmlkZWQgYW5kIGl0J3Mgbm90IGEgbnVtYmVyLCBpdCdzIGEgRGF0ZSwgYW5kIHdlIGdldCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGl0IGFuZCBcIm5vd1wiLlxuICAgIC8vIElmIGBmaXJzdGAgd2FzIG5vdCBwcm92aWRlZCBhdCBhbGwsIHRoZW4gb3VyIGZpcnN0IHRpbWVyIHdpbGwgYmUgdGhlIHZhbHVlIGZyb20gYGVhY2hgLlxuICAgICFzZWVuICYmIHN0YXJ0VGltZXIoZmlyc3QgIT0gbnVsbCA/ICh0eXBlb2YgZmlyc3QgPT09ICdudW1iZXInID8gZmlyc3QgOiArZmlyc3QgLSBzY2hlZHVsZXIhLm5vdygpKSA6IGVhY2ghKTtcbiAgfSk7XG59XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgZnVuY3Rpb24gdG8gdXNlIHRvIGVtaXQgYW4gZXJyb3Igd2hlbiB0aW1lb3V0IG9jY3VycyBhbmQgYSBgd2l0aGAgZnVuY3Rpb25cbiAqIGlzIG5vdCBzcGVjaWZpZWQuXG4gKiBAcGFyYW0gaW5mbyBUaGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHRpbWVvdXQgdG8gcGFzcyBhbG9uZyB0byB0aGUgZXJyb3JcbiAqL1xuZnVuY3Rpb24gdGltZW91dEVycm9yRmFjdG9yeShpbmZvOiBUaW1lb3V0SW5mbzxhbnk+KTogT2JzZXJ2YWJsZTxuZXZlcj4ge1xuICB0aHJvdyBuZXcgVGltZW91dEVycm9yKGluZm8pO1xufVxuIiwgImltcG9ydCB7IE9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1hcDxULCBSPihwcm9qZWN0OiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IFIpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFI+O1xuLyoqIEBkZXByZWNhdGVkIFVzZSBhIGNsb3N1cmUgaW5zdGVhZCBvZiBhIGB0aGlzQXJnYC4gU2lnbmF0dXJlcyBhY2NlcHRpbmcgYSBgdGhpc0FyZ2Agd2lsbCBiZSByZW1vdmVkIGluIHY4LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcDxULCBSLCBBPihwcm9qZWN0OiAodGhpczogQSwgdmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IFIsIHRoaXNBcmc6IEEpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFI+O1xuXG4vKipcbiAqIEFwcGxpZXMgYSBnaXZlbiBgcHJvamVjdGAgZnVuY3Rpb24gdG8gZWFjaCB2YWx1ZSBlbWl0dGVkIGJ5IHRoZSBzb3VyY2VcbiAqIE9ic2VydmFibGUsIGFuZCBlbWl0cyB0aGUgcmVzdWx0aW5nIHZhbHVlcyBhcyBhbiBPYnNlcnZhYmxlLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5MaWtlIFtBcnJheS5wcm90b3R5cGUubWFwKCldKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL0FycmF5L21hcCksXG4gKiBpdCBwYXNzZXMgZWFjaCBzb3VyY2UgdmFsdWUgdGhyb3VnaCBhIHRyYW5zZm9ybWF0aW9uIGZ1bmN0aW9uIHRvIGdldFxuICogY29ycmVzcG9uZGluZyBvdXRwdXQgdmFsdWVzLjwvc3Bhbj5cbiAqXG4gKiAhW10obWFwLnBuZylcbiAqXG4gKiBTaW1pbGFyIHRvIHRoZSB3ZWxsIGtub3duIGBBcnJheS5wcm90b3R5cGUubWFwYCBmdW5jdGlvbiwgdGhpcyBvcGVyYXRvclxuICogYXBwbGllcyBhIHByb2plY3Rpb24gdG8gZWFjaCB2YWx1ZSBhbmQgZW1pdHMgdGhhdCBwcm9qZWN0aW9uIGluIHRoZSBvdXRwdXRcbiAqIE9ic2VydmFibGUuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIE1hcCBldmVyeSBjbGljayB0byB0aGUgYGNsaWVudFhgIHBvc2l0aW9uIG9mIHRoYXQgY2xpY2tcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCBtYXAgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQ8UG9pbnRlckV2ZW50Pihkb2N1bWVudCwgJ2NsaWNrJyk7XG4gKiBjb25zdCBwb3NpdGlvbnMgPSBjbGlja3MucGlwZShtYXAoZXYgPT4gZXYuY2xpZW50WCkpO1xuICpcbiAqIHBvc2l0aW9ucy5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBtYXBUb31cbiAqIEBzZWUge0BsaW5rIHBsdWNrfVxuICpcbiAqIEBwYXJhbSB7ZnVuY3Rpb24odmFsdWU6IFQsIGluZGV4OiBudW1iZXIpOiBSfSBwcm9qZWN0IFRoZSBmdW5jdGlvbiB0byBhcHBseVxuICogdG8gZWFjaCBgdmFsdWVgIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlLiBUaGUgYGluZGV4YCBwYXJhbWV0ZXIgaXNcbiAqIHRoZSBudW1iZXIgYGlgIGZvciB0aGUgaS10aCBlbWlzc2lvbiB0aGF0IGhhcyBoYXBwZW5lZCBzaW5jZSB0aGVcbiAqIHN1YnNjcmlwdGlvbiwgc3RhcnRpbmcgZnJvbSB0aGUgbnVtYmVyIGAwYC5cbiAqIEBwYXJhbSB7YW55fSBbdGhpc0FyZ10gQW4gb3B0aW9uYWwgYXJndW1lbnQgdG8gZGVmaW5lIHdoYXQgYHRoaXNgIGlzIGluIHRoZVxuICogYHByb2plY3RgIGZ1bmN0aW9uLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHZhbHVlcyBmcm9tIHRoZVxuICogc291cmNlIE9ic2VydmFibGUgdHJhbnNmb3JtZWQgYnkgdGhlIGdpdmVuIGBwcm9qZWN0YCBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcDxULCBSPihwcm9qZWN0OiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IFIsIHRoaXNBcmc/OiBhbnkpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFI+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIC8vIFRoZSBpbmRleCBvZiB0aGUgdmFsdWUgZnJvbSB0aGUgc291cmNlLiBVc2VkIHdpdGggcHJvamVjdGlvbi5cbiAgICBsZXQgaW5kZXggPSAwO1xuICAgIC8vIFN1YnNjcmliZSB0byB0aGUgc291cmNlLCBhbGwgZXJyb3JzIGFuZCBjb21wbGV0aW9ucyBhcmUgc2VudCBhbG9uZ1xuICAgIC8vIHRvIHRoZSBjb25zdW1lci5cbiAgICBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKHN1YnNjcmliZXIsICh2YWx1ZTogVCkgPT4ge1xuICAgICAgICAvLyBDYWxsIHRoZSBwcm9qZWN0aW9uIGZ1bmN0aW9uIHdpdGggdGhlIGFwcHJvcHJpYXRlIHRoaXMgY29udGV4dCxcbiAgICAgICAgLy8gYW5kIHNlbmQgdGhlIHJlc3VsdGluZyB2YWx1ZSB0byB0aGUgY29uc3VtZXIuXG4gICAgICAgIHN1YnNjcmliZXIubmV4dChwcm9qZWN0LmNhbGwodGhpc0FyZywgdmFsdWUsIGluZGV4KyspKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gXCIuLi90eXBlc1wiO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSBcIi4uL29wZXJhdG9ycy9tYXBcIjtcblxuY29uc3QgeyBpc0FycmF5IH0gPSBBcnJheTtcblxuZnVuY3Rpb24gY2FsbE9yQXBwbHk8VCwgUj4oZm46ICgoLi4udmFsdWVzOiBUW10pID0+IFIpLCBhcmdzOiBUfFRbXSk6IFIge1xuICAgIHJldHVybiBpc0FycmF5KGFyZ3MpID8gZm4oLi4uYXJncykgOiBmbihhcmdzKTtcbn1cblxuLyoqXG4gKiBVc2VkIGluIHNldmVyYWwgLS0gbW9zdGx5IGRlcHJlY2F0ZWQgLS0gc2l0dWF0aW9ucyB3aGVyZSB3ZSBuZWVkIHRvIFxuICogYXBwbHkgYSBsaXN0IG9mIGFyZ3VtZW50cyBvciBhIHNpbmdsZSBhcmd1bWVudCB0byBhIHJlc3VsdCBzZWxlY3Rvci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcE9uZU9yTWFueUFyZ3M8VCwgUj4oZm46ICgoLi4udmFsdWVzOiBUW10pID0+IFIpKTogT3BlcmF0b3JGdW5jdGlvbjxUfFRbXSwgUj4ge1xuICAgIHJldHVybiBtYXAoYXJncyA9PiBjYWxsT3JBcHBseShmbiwgYXJncykpXG59IiwgImltcG9ydCB7IFNjaGVkdWxlckxpa2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpc1NjaGVkdWxlciB9IGZyb20gJy4uL3V0aWwvaXNTY2hlZHVsZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgc3Vic2NyaWJlT24gfSBmcm9tICcuLi9vcGVyYXRvcnMvc3Vic2NyaWJlT24nO1xuaW1wb3J0IHsgbWFwT25lT3JNYW55QXJncyB9IGZyb20gJy4uL3V0aWwvbWFwT25lT3JNYW55QXJncyc7XG5pbXBvcnQgeyBvYnNlcnZlT24gfSBmcm9tICcuLi9vcGVyYXRvcnMvb2JzZXJ2ZU9uJztcbmltcG9ydCB7IEFzeW5jU3ViamVjdCB9IGZyb20gJy4uL0FzeW5jU3ViamVjdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBiaW5kQ2FsbGJhY2tJbnRlcm5hbHMoXG4gIGlzTm9kZVN0eWxlOiBib29sZWFuLFxuICBjYWxsYmFja0Z1bmM6IGFueSxcbiAgcmVzdWx0U2VsZWN0b3I/OiBhbnksXG4gIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2Vcbik6ICguLi5hcmdzOiBhbnlbXSkgPT4gT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gIGlmIChyZXN1bHRTZWxlY3Rvcikge1xuICAgIGlmIChpc1NjaGVkdWxlcihyZXN1bHRTZWxlY3RvcikpIHtcbiAgICAgIHNjaGVkdWxlciA9IHJlc3VsdFNlbGVjdG9yO1xuICAgIH0gZWxzZSB7XG4gICAgICAvLyBUaGUgdXNlciBwcm92aWRlZCBhIHJlc3VsdCBzZWxlY3Rvci5cbiAgICAgIHJldHVybiBmdW5jdGlvbiAodGhpczogYW55LCAuLi5hcmdzOiBhbnlbXSkge1xuICAgICAgICByZXR1cm4gKGJpbmRDYWxsYmFja0ludGVybmFscyhpc05vZGVTdHlsZSwgY2FsbGJhY2tGdW5jLCBzY2hlZHVsZXIpIGFzIGFueSlcbiAgICAgICAgICAuYXBwbHkodGhpcywgYXJncylcbiAgICAgICAgICAucGlwZShtYXBPbmVPck1hbnlBcmdzKHJlc3VsdFNlbGVjdG9yIGFzIGFueSkpO1xuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiBhIHNjaGVkdWxlciB3YXMgcGFzc2VkLCB1c2Ugb3VyIGBzdWJzY3JpYmVPbmAgYW5kIGBvYnNlcnZlT25gIG9wZXJhdG9yc1xuICAvLyB0byBjb21wb3NlIHRoYXQgYmVoYXZpb3IgZm9yIHRoZSB1c2VyLlxuICBpZiAoc2NoZWR1bGVyKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICh0aGlzOiBhbnksIC4uLmFyZ3M6IGFueVtdKSB7XG4gICAgICByZXR1cm4gKGJpbmRDYWxsYmFja0ludGVybmFscyhpc05vZGVTdHlsZSwgY2FsbGJhY2tGdW5jKSBhcyBhbnkpXG4gICAgICAgIC5hcHBseSh0aGlzLCBhcmdzKVxuICAgICAgICAucGlwZShzdWJzY3JpYmVPbihzY2hlZHVsZXIhKSwgb2JzZXJ2ZU9uKHNjaGVkdWxlciEpKTtcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uICh0aGlzOiBhbnksIC4uLmFyZ3M6IGFueVtdKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICAvLyBXZSdyZSB1c2luZyBBc3luY1N1YmplY3QsIGJlY2F1c2UgaXQgZW1pdHMgd2hlbiBpdCBjb21wbGV0ZXMsXG4gICAgLy8gYW5kIGl0IHdpbGwgcGxheSB0aGUgdmFsdWUgdG8gYWxsIGxhdGUtYXJyaXZpbmcgc3Vic2NyaWJlcnMuXG4gICAgY29uc3Qgc3ViamVjdCA9IG5ldyBBc3luY1N1YmplY3Q8YW55PigpO1xuXG4gICAgLy8gSWYgdGhpcyBpcyB0cnVlLCB0aGVuIHdlIGhhdmVuJ3QgY2FsbGVkIG91ciBmdW5jdGlvbiB5ZXQuXG4gICAgbGV0IHVuaW5pdGlhbGl6ZWQgPSB0cnVlO1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgLy8gQWRkIG91ciBzdWJzY3JpYmVyIHRvIHRoZSBzdWJqZWN0LlxuICAgICAgY29uc3Qgc3VicyA9IHN1YmplY3Quc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuXG4gICAgICBpZiAodW5pbml0aWFsaXplZCkge1xuICAgICAgICB1bmluaXRpYWxpemVkID0gZmFsc2U7XG4gICAgICAgIC8vIFdlJ3JlIGdvaW5nIHRvIGV4ZWN1dGUgdGhlIGJvdW5kIGZ1bmN0aW9uXG4gICAgICAgIC8vIFRoaXMgYml0IGlzIHRvIHNpZ25hbCB0aGF0IHdlIGFyZSBoaXR0aW5nIHRoZSBjYWxsYmFjayBhc3luY2hyb25vdXNseS5cbiAgICAgICAgLy8gQmVjYXVzZSB3ZSBkb24ndCBoYXZlIGFueSBhbnRpLVwiWmFsZ29cIiBndWFyYW50ZWVzIHdpdGggd2hhdGV2ZXJcbiAgICAgICAgLy8gZnVuY3Rpb24gd2UgYXJlIGhhbmRlZCwgd2UgdXNlIHRoaXMgYml0IHRvIGZpZ3VyZSBvdXQgd2hldGhlciBvciBub3RcbiAgICAgICAgLy8gd2UgYXJlIGdldHRpbmcgaGl0IGluIGEgY2FsbGJhY2sgc3luY2hyb25vdXNseSBkdXJpbmcgb3VyIGNhbGwuXG4gICAgICAgIGxldCBpc0FzeW5jID0gZmFsc2U7XG5cbiAgICAgICAgLy8gVGhpcyBpcyB1c2VkIHRvIHNpZ25hbCB0aGF0IHRoZSBjYWxsYmFjayBjb21wbGV0ZWQgc3luY2hyb25vdXNseS5cbiAgICAgICAgbGV0IGlzQ29tcGxldGUgPSBmYWxzZTtcblxuICAgICAgICAvLyBDYWxsIG91ciBmdW5jdGlvbiB0aGF0IGhhcyBhIGNhbGxiYWNrLiBJZiBhdCBhbnkgdGltZSBkdXJpbmcgdGhpc1xuICAgICAgICAvLyBjYWxsLCBhbiBlcnJvciBpcyB0aHJvd24sIGl0IHdpbGwgYmUgY2F1Z2h0IGJ5IHRoZSBPYnNlcnZhYmxlXG4gICAgICAgIC8vIHN1YnNjcmlwdGlvbiBwcm9jZXNzIGFuZCBzZW50IHRvIHRoZSBjb25zdW1lci5cbiAgICAgICAgY2FsbGJhY2tGdW5jLmFwcGx5KFxuICAgICAgICAgIC8vIFBhc3MgdGhlIGFwcHJvcHJpYXRlIGB0aGlzYCBjb250ZXh0LlxuICAgICAgICAgIHRoaXMsXG4gICAgICAgICAgW1xuICAgICAgICAgICAgLy8gUGFzcyB0aGUgYXJndW1lbnRzLlxuICAgICAgICAgICAgLi4uYXJncyxcbiAgICAgICAgICAgIC8vIEFuZCBvdXIgY2FsbGJhY2sgaGFuZGxlci5cbiAgICAgICAgICAgICguLi5yZXN1bHRzOiBhbnlbXSkgPT4ge1xuICAgICAgICAgICAgICBpZiAoaXNOb2RlU3R5bGUpIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB0aGlzIGlzIGEgbm9kZSBjYWxsYmFjaywgc2hpZnQgdGhlIGZpcnN0IHZhbHVlIG9mZiBvZiB0aGVcbiAgICAgICAgICAgICAgICAvLyByZXN1bHRzIGFuZCBjaGVjayBpdCwgYXMgaXQgaXMgdGhlIGVycm9yIGFyZ3VtZW50LiBCeSBzaGlmdGluZyxcbiAgICAgICAgICAgICAgICAvLyB3ZSBsZWF2ZSBvbmx5IHRoZSBhcmd1bWVudChzKSB3ZSB3YW50IHRvIHBhc3MgdG8gdGhlIGNvbnN1bWVyLlxuICAgICAgICAgICAgICAgIGNvbnN0IGVyciA9IHJlc3VsdHMuc2hpZnQoKTtcbiAgICAgICAgICAgICAgICBpZiAoZXJyICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgIHN1YmplY3QuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICAgIC8vIElmIHdlJ3ZlIGVycm9yZWQsIHdlIGNhbiBzdG9wIHByb2Nlc3NpbmcgdGhpcyBmdW5jdGlvblxuICAgICAgICAgICAgICAgICAgLy8gYXMgdGhlcmUncyBub3RoaW5nIGVsc2UgdG8gZG8uIEp1c3QgcmV0dXJuIHRvIGVzY2FwZS5cbiAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgLy8gSWYgd2UgaGF2ZSBvbmUgYXJndW1lbnQsIG5vdGlmeSB0aGUgY29uc3VtZXJcbiAgICAgICAgICAgICAgLy8gb2YgaXQgYXMgYSBzaW5nbGUgdmFsdWUsIG90aGVyd2lzZSwgaWYgdGhlcmUncyBtb3JlIHRoYW4gb25lLCBwYXNzXG4gICAgICAgICAgICAgIC8vIHRoZW0gYXMgYW4gYXJyYXkuIE5vdGUgdGhhdCBpZiB0aGVyZSBhcmUgbm8gYXJndW1lbnRzLCBgdW5kZWZpbmVkYFxuICAgICAgICAgICAgICAvLyB3aWxsIGJlIGVtaXR0ZWQuXG4gICAgICAgICAgICAgIHN1YmplY3QubmV4dCgxIDwgcmVzdWx0cy5sZW5ndGggPyByZXN1bHRzIDogcmVzdWx0c1swXSk7XG4gICAgICAgICAgICAgIC8vIEZsaXAgdGhpcyBmbGFnLCBzbyB3ZSBrbm93IHdlIGNhbiBjb21wbGV0ZSBpdCBpbiB0aGUgc3luY2hyb25vdXNcbiAgICAgICAgICAgICAgLy8gY2FzZSBiZWxvdy5cbiAgICAgICAgICAgICAgaXNDb21wbGV0ZSA9IHRydWU7XG4gICAgICAgICAgICAgIC8vIElmIHdlJ3JlIG5vdCBhc3luY2hyb25vdXMsIHdlIG5lZWQgdG8gZGVmZXIgdGhlIGBjb21wbGV0ZWAgY2FsbFxuICAgICAgICAgICAgICAvLyB1bnRpbCBhZnRlciB0aGUgY2FsbCB0byB0aGUgZnVuY3Rpb24gaXMgb3Zlci4gVGhpcyBpcyBiZWNhdXNlIGFuXG4gICAgICAgICAgICAgIC8vIGVycm9yIGNvdWxkIGJlIHRocm93biBpbiB0aGUgZnVuY3Rpb24gYWZ0ZXIgaXQgY2FsbHMgb3VyIGNhbGxiYWNrLFxuICAgICAgICAgICAgICAvLyBhbmQgaWYgdGhhdCBpcyB0aGUgY2FzZSwgaWYgd2UgY29tcGxldGUgaGVyZSwgd2UgYXJlIHVuYWJsZSB0byBub3RpZnlcbiAgICAgICAgICAgICAgLy8gdGhlIGNvbnN1bWVyIHRoYW4gYW4gZXJyb3Igb2NjdXJyZWQuXG4gICAgICAgICAgICAgIGlmIChpc0FzeW5jKSB7XG4gICAgICAgICAgICAgICAgc3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF1cbiAgICAgICAgKTtcbiAgICAgICAgLy8gSWYgd2UgZmxpcHBlZCBgaXNDb21wbGV0ZWAgZHVyaW5nIHRoZSBjYWxsLCB3ZSByZXNvbHZlZCBzeW5jaHJvbm91c2x5LFxuICAgICAgICAvLyBub3RpZnkgY29tcGxldGUsIGJlY2F1c2Ugd2Ugc2tpcHBlZCBpdCBpbiB0aGUgY2FsbGJhY2sgdG8gd2FpdFxuICAgICAgICAvLyB0byBtYWtlIHN1cmUgdGhlcmUgd2VyZSBubyBlcnJvcnMgZHVyaW5nIHRoZSBjYWxsLlxuICAgICAgICBpZiAoaXNDb21wbGV0ZSkge1xuICAgICAgICAgIHN1YmplY3QuY29tcGxldGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdlJ3JlIG5vIGxvbmdlciBzeW5jaHJvbm91cy4gSWYgdGhlIGNhbGxiYWNrIGlzIGNhbGxlZCBhdCB0aGlzIHBvaW50XG4gICAgICAgIC8vIHdlIGNhbiBub3RpZnkgY29tcGxldGUgb24gdGhlIHNwb3QuXG4gICAgICAgIGlzQXN5bmMgPSB0cnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBSZXR1cm4gdGhlIHN1YnNjcmlwdGlvbiBmcm9tIGFkZGluZyBvdXIgc3Vic2NyaWJlciB0byB0aGUgc3ViamVjdC5cbiAgICAgIHJldHVybiBzdWJzO1xuICAgIH0pO1xuICB9O1xufVxuIiwgIi8qIEBwcmV0dGllciAqL1xuaW1wb3J0IHsgU2NoZWR1bGVyTGlrZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IGJpbmRDYWxsYmFja0ludGVybmFscyB9IGZyb20gJy4vYmluZENhbGxiYWNrSW50ZXJuYWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGJpbmRDYWxsYmFjayhcbiAgY2FsbGJhY2tGdW5jOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQsXG4gIHJlc3VsdFNlbGVjdG9yOiAoLi4uYXJnczogYW55W10pID0+IGFueSxcbiAgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZVxuKTogKC4uLmFyZ3M6IGFueVtdKSA9PiBPYnNlcnZhYmxlPGFueT47XG5cbi8vIGFyZ3MgaXMgdGhlIGFyZ3VtZW50cyBhcnJheSBhbmQgd2UgcHVzaCB0aGUgY2FsbGJhY2sgb24gdGhlIHJlc3QgdHVwbGUgc2luY2UgdGhlIHJlc3QgcGFyYW1ldGVyIG11c3QgYmUgbGFzdCAob25seSBpdGVtKSBpbiBhIHBhcmFtZXRlciBsaXN0XG5leHBvcnQgZnVuY3Rpb24gYmluZENhbGxiYWNrPEEgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10sIFIgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+KFxuICBjYWxsYmFja0Z1bmM6ICguLi5hcmdzOiBbLi4uQSwgKC4uLnJlczogUikgPT4gdm9pZF0pID0+IHZvaWQsXG4gIHNjaGVkdWxlckxpa2U/OiBTY2hlZHVsZXJMaWtlXG4pOiAoLi4uYXJnOiBBKSA9PiBPYnNlcnZhYmxlPFIgZXh0ZW5kcyBbXSA/IHZvaWQgOiBSIGV4dGVuZHMgW2FueV0gPyBSWzBdIDogUj47XG5cbi8qKlxuICogQ29udmVydHMgYSBjYWxsYmFjayBBUEkgdG8gYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZS5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+R2l2ZSBpdCBhIGZ1bmN0aW9uIGBmYCBvZiB0eXBlIGBmKHgsIGNhbGxiYWNrKWAgYW5kXG4gKiBpdCB3aWxsIHJldHVybiBhIGZ1bmN0aW9uIGBnYCB0aGF0IHdoZW4gY2FsbGVkIGFzIGBnKHgpYCB3aWxsIG91dHB1dCBhblxuICogT2JzZXJ2YWJsZS48L3NwYW4+XG4gKlxuICogYGJpbmRDYWxsYmFja2AgaXMgbm90IGFuIG9wZXJhdG9yIGJlY2F1c2UgaXRzIGlucHV0IGFuZCBvdXRwdXQgYXJlIG5vdFxuICogT2JzZXJ2YWJsZXMuIFRoZSBpbnB1dCBpcyBhIGZ1bmN0aW9uIGBmdW5jYCB3aXRoIHNvbWUgcGFyYW1ldGVycy4gVGhlXG4gKiBsYXN0IHBhcmFtZXRlciBtdXN0IGJlIGEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBgZnVuY2AgY2FsbHMgd2hlbiBpdCBpc1xuICogZG9uZS5cbiAqXG4gKiBUaGUgb3V0cHV0IG9mIGBiaW5kQ2FsbGJhY2tgIGlzIGEgZnVuY3Rpb24gdGhhdCB0YWtlcyB0aGUgc2FtZSBwYXJhbWV0ZXJzXG4gKiBhcyBgZnVuY2AsIGV4Y2VwdCB0aGUgbGFzdCBvbmUgKHRoZSBjYWxsYmFjaykuIFdoZW4gdGhlIG91dHB1dCBmdW5jdGlvblxuICogaXMgY2FsbGVkIHdpdGggYXJndW1lbnRzIGl0IHdpbGwgcmV0dXJuIGFuIE9ic2VydmFibGUuIElmIGZ1bmN0aW9uIGBmdW5jYFxuICogY2FsbHMgaXRzIGNhbGxiYWNrIHdpdGggb25lIGFyZ3VtZW50LCB0aGUgT2JzZXJ2YWJsZSB3aWxsIGVtaXQgdGhhdCB2YWx1ZS5cbiAqIElmIG9uIHRoZSBvdGhlciBoYW5kIHRoZSBjYWxsYmFjayBpcyBjYWxsZWQgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgdGhlIHJlc3VsdGluZ1xuICogT2JzZXJ2YWJsZSB3aWxsIGVtaXQgYW4gYXJyYXkgd2l0aCBzYWlkIHZhbHVlcyBhcyBhcmd1bWVudHMuXG4gKlxuICogSXQgaXMgKip2ZXJ5IGltcG9ydGFudCoqIHRvIHJlbWVtYmVyIHRoYXQgaW5wdXQgZnVuY3Rpb24gYGZ1bmNgIGlzIG5vdCBjYWxsZWRcbiAqIHdoZW4gdGhlIG91dHB1dCBmdW5jdGlvbiBpcywgYnV0IHJhdGhlciB3aGVuIHRoZSBPYnNlcnZhYmxlIHJldHVybmVkIGJ5IHRoZSBvdXRwdXRcbiAqIGZ1bmN0aW9uIGlzIHN1YnNjcmliZWQuIFRoaXMgbWVhbnMgaWYgYGZ1bmNgIG1ha2VzIGFuIEFKQVggcmVxdWVzdCwgdGhhdCByZXF1ZXN0XG4gKiB3aWxsIGJlIG1hZGUgZXZlcnkgdGltZSBzb21lb25lIHN1YnNjcmliZXMgdG8gdGhlIHJlc3VsdGluZyBPYnNlcnZhYmxlLCBidXQgbm90IGJlZm9yZS5cbiAqXG4gKiBUaGUgbGFzdCBvcHRpb25hbCBwYXJhbWV0ZXIgLSBgc2NoZWR1bGVyYCAtIGNhbiBiZSB1c2VkIHRvIGNvbnRyb2wgd2hlbiB0aGUgY2FsbFxuICogdG8gYGZ1bmNgIGhhcHBlbnMgYWZ0ZXIgc29tZW9uZSBzdWJzY3JpYmVzIHRvIE9ic2VydmFibGUsIGFzIHdlbGwgYXMgd2hlbiByZXN1bHRzXG4gKiBwYXNzZWQgdG8gY2FsbGJhY2sgd2lsbCBiZSBlbWl0dGVkLiBCeSBkZWZhdWx0LCB0aGUgc3Vic2NyaXB0aW9uIHRvIGFuIE9ic2VydmFibGUgY2FsbHMgYGZ1bmNgXG4gKiBzeW5jaHJvbm91c2x5LCBidXQgdXNpbmcge0BsaW5rIGFzeW5jU2NoZWR1bGVyfSBhcyB0aGUgbGFzdCBwYXJhbWV0ZXIgd2lsbCBkZWZlciB0aGUgY2FsbCB0byBgZnVuY2AsXG4gKiBqdXN0IGxpa2Ugd3JhcHBpbmcgdGhlIGNhbGwgaW4gYHNldFRpbWVvdXRgIHdpdGggYSB0aW1lb3V0IG9mIGAwYCB3b3VsZC4gSWYgeW91IHdlcmUgdG8gdXNlIHRoZSBhc3luYyBTY2hlZHVsZXJcbiAqIGFuZCBjYWxsIGBzdWJzY3JpYmVgIG9uIHRoZSBvdXRwdXQgT2JzZXJ2YWJsZSwgYWxsIGZ1bmN0aW9uIGNhbGxzIHRoYXQgYXJlIGN1cnJlbnRseSBleGVjdXRpbmdcbiAqIHdpbGwgZW5kIGJlZm9yZSBgZnVuY2AgaXMgaW52b2tlZC5cbiAqXG4gKiBCeSBkZWZhdWx0LCByZXN1bHRzIHBhc3NlZCB0byB0aGUgY2FsbGJhY2sgYXJlIGVtaXR0ZWQgaW1tZWRpYXRlbHkgYWZ0ZXIgYGZ1bmNgIGludm9rZXMgdGhlIGNhbGxiYWNrLlxuICogSW4gcGFydGljdWxhciwgaWYgdGhlIGNhbGxiYWNrIGlzIGNhbGxlZCBzeW5jaHJvbm91c2x5LCB0aGVuIHRoZSBzdWJzY3JpcHRpb24gb2YgdGhlIHJlc3VsdGluZyBPYnNlcnZhYmxlXG4gKiB3aWxsIGNhbGwgdGhlIGBuZXh0YCBmdW5jdGlvbiBzeW5jaHJvbm91c2x5IGFzIHdlbGwuICBJZiB5b3Ugd2FudCB0byBkZWZlciB0aGF0IGNhbGwsXG4gKiB5b3UgbWF5IHVzZSB7QGxpbmsgYXN5bmNTY2hlZHVsZXJ9IGp1c3QgYXMgYmVmb3JlLiAgVGhpcyBtZWFucyB0aGF0IGJ5IHVzaW5nIGBTY2hlZHVsZXIuYXN5bmNgIHlvdSBjYW5cbiAqIGVuc3VyZSB0aGF0IGBmdW5jYCBhbHdheXMgY2FsbHMgaXRzIGNhbGxiYWNrIGFzeW5jaHJvbm91c2x5LCB0aHVzIGF2b2lkaW5nIHRlcnJpZnlpbmcgWmFsZ28uXG4gKlxuICogTm90ZSB0aGF0IHRoZSBPYnNlcnZhYmxlIGNyZWF0ZWQgYnkgdGhlIG91dHB1dCBmdW5jdGlvbiB3aWxsIGFsd2F5cyBlbWl0IGEgc2luZ2xlIHZhbHVlXG4gKiBhbmQgdGhlbiBjb21wbGV0ZSBpbW1lZGlhdGVseS4gSWYgYGZ1bmNgIGNhbGxzIHRoZSBjYWxsYmFjayBtdWx0aXBsZSB0aW1lcywgdmFsdWVzIGZyb20gc3Vic2VxdWVudFxuICogY2FsbHMgd2lsbCBub3QgYXBwZWFyIGluIHRoZSBzdHJlYW0uIElmIHlvdSBuZWVkIHRvIGxpc3RlbiBmb3IgbXVsdGlwbGUgY2FsbHMsXG4gKiAgeW91IHByb2JhYmx5IHdhbnQgdG8gdXNlIHtAbGluayBmcm9tRXZlbnR9IG9yIHtAbGluayBmcm9tRXZlbnRQYXR0ZXJufSBpbnN0ZWFkLlxuICpcbiAqIElmIGBmdW5jYCBkZXBlbmRzIG9uIHNvbWUgY29udGV4dCAoYHRoaXNgIHByb3BlcnR5KSBhbmQgaXMgbm90IGFscmVhZHkgYm91bmQsIHRoZSBjb250ZXh0IG9mIGBmdW5jYFxuICogd2lsbCBiZSB0aGUgY29udGV4dCB0aGF0IHRoZSBvdXRwdXQgZnVuY3Rpb24gaGFzIGF0IGNhbGwgdGltZS4gSW4gcGFydGljdWxhciwgaWYgYGZ1bmNgXG4gKiBpcyBjYWxsZWQgYXMgYSBtZXRob2Qgb2Ygc29tZSBvYmplY3QgYW5kIGlmIGBmdW5jYCBpcyBub3QgYWxyZWFkeSBib3VuZCwgaW4gb3JkZXIgdG8gcHJlc2VydmUgdGhlIGNvbnRleHRcbiAqIGl0IGlzIHJlY29tbWVuZGVkIHRoYXQgdGhlIGNvbnRleHQgb2YgdGhlIG91dHB1dCBmdW5jdGlvbiBpcyBzZXQgdG8gdGhhdCBvYmplY3QgYXMgd2VsbC5cbiAqXG4gKiBJZiB0aGUgaW5wdXQgZnVuY3Rpb24gY2FsbHMgaXRzIGNhbGxiYWNrIGluIHRoZSBcIm5vZGUgc3R5bGVcIiAoaS5lLiBmaXJzdCBhcmd1bWVudCB0byBjYWxsYmFjayBpc1xuICogb3B0aW9uYWwgZXJyb3IgcGFyYW1ldGVyIHNpZ25hbGluZyB3aGV0aGVyIHRoZSBjYWxsIGZhaWxlZCBvciBub3QpLCB7QGxpbmsgYmluZE5vZGVDYWxsYmFja31cbiAqIHByb3ZpZGVzIGNvbnZlbmllbnQgZXJyb3IgaGFuZGxpbmcgYW5kIHByb2JhYmx5IGlzIGEgYmV0dGVyIGNob2ljZS5cbiAqIGBiaW5kQ2FsbGJhY2tgIHdpbGwgdHJlYXQgc3VjaCBmdW5jdGlvbnMgdGhlIHNhbWUgYXMgYW55IG90aGVyIGFuZCBlcnJvciBwYXJhbWV0ZXJzXG4gKiAod2hldGhlciBwYXNzZWQgb3Igbm90KSB3aWxsIGFsd2F5cyBiZSBpbnRlcnByZXRlZCBhcyByZWd1bGFyIGNhbGxiYWNrIGFyZ3VtZW50LlxuICpcbiAqICMjIEV4YW1wbGVzXG4gKlxuICogIyMjIENvbnZlcnQgalF1ZXJ5J3MgZ2V0SlNPTiB0byBhbiBPYnNlcnZhYmxlIEFQSVxuICogYGBgdHNcbiAqIGltcG9ydCB7IGJpbmRDYWxsYmFjayB9IGZyb20gJ3J4anMnO1xuICogaW1wb3J0ICogYXMgalF1ZXJ5IGZyb20gJ2pxdWVyeSc7XG4gKlxuICogLy8gU3VwcG9zZSB3ZSBoYXZlIGpRdWVyeS5nZXRKU09OKCcvbXkvdXJsJywgY2FsbGJhY2spXG4gKiBjb25zdCBnZXRKU09OQXNPYnNlcnZhYmxlID0gYmluZENhbGxiYWNrKGpRdWVyeS5nZXRKU09OKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGdldEpTT05Bc09ic2VydmFibGUoJy9teS91cmwnKTtcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSwgZSA9PiBjb25zb2xlLmVycm9yKGUpKTtcbiAqIGBgYFxuICpcbiAqICMjIyBSZWNlaXZlIGFuIGFycmF5IG9mIGFyZ3VtZW50cyBwYXNzZWQgdG8gYSBjYWxsYmFja1xuICogYGBgdHNcbiAqIGltcG9ydCB7IGJpbmRDYWxsYmFjayB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHNvbWVGdW5jdGlvbiA9IChuLCBzLCBjYikgPT4ge1xuICogICBjYihuLCBzLCB7IHNvbWVQcm9wZXJ0eTogJ3NvbWVWYWx1ZScgfSk7XG4gKiB9O1xuICpcbiAqIGNvbnN0IGJvdW5kU29tZUZ1bmN0aW9uID0gYmluZENhbGxiYWNrKHNvbWVGdW5jdGlvbik7XG4gKiBib3VuZFNvbWVGdW5jdGlvbig1LCAnc29tZSBzdHJpbmcnKS5zdWJzY3JpYmUoKHZhbHVlcykgPT4ge1xuICogICBjb25zb2xlLmxvZyh2YWx1ZXMpOyAvLyBbNSwgJ3NvbWUgc3RyaW5nJywge3NvbWVQcm9wZXJ0eTogJ3NvbWVWYWx1ZSd9XVxuICogfSk7XG4gKiBgYGBcbiAqXG4gKiAjIyMgQ29tcGFyZSBiZWhhdmlvdXIgd2l0aCBhbmQgd2l0aG91dCBhc3luYyBTY2hlZHVsZXJcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBiaW5kQ2FsbGJhY2ssIGFzeW5jU2NoZWR1bGVyIH0gZnJvbSAncnhqcyc7XG4gKlxuICogZnVuY3Rpb24gaUNhbGxNeUNhbGxiYWNrU3luY2hyb25vdXNseShjYikge1xuICogICBjYigpO1xuICogfVxuICpcbiAqIGNvbnN0IGJvdW5kU3luY0ZuID0gYmluZENhbGxiYWNrKGlDYWxsTXlDYWxsYmFja1N5bmNocm9ub3VzbHkpO1xuICogY29uc3QgYm91bmRBc3luY0ZuID0gYmluZENhbGxiYWNrKGlDYWxsTXlDYWxsYmFja1N5bmNocm9ub3VzbHksIG51bGwsIGFzeW5jU2NoZWR1bGVyKTtcbiAqXG4gKiBib3VuZFN5bmNGbigpLnN1YnNjcmliZSgoKSA9PiBjb25zb2xlLmxvZygnSSB3YXMgc3luYyEnKSk7XG4gKiBib3VuZEFzeW5jRm4oKS5zdWJzY3JpYmUoKCkgPT4gY29uc29sZS5sb2coJ0kgd2FzIGFzeW5jIScpKTtcbiAqIGNvbnNvbGUubG9nKCdUaGlzIGhhcHBlbmVkLi4uJyk7XG4gKlxuICogLy8gTG9nczpcbiAqIC8vIEkgd2FzIHN5bmMhXG4gKiAvLyBUaGlzIGhhcHBlbmVkLi4uXG4gKiAvLyBJIHdhcyBhc3luYyFcbiAqIGBgYFxuICpcbiAqICMjIyBVc2UgYmluZENhbGxiYWNrIG9uIGFuIG9iamVjdCBtZXRob2RcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBiaW5kQ2FsbGJhY2sgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBib3VuZE1ldGhvZCA9IGJpbmRDYWxsYmFjayhzb21lT2JqZWN0Lm1ldGhvZFdpdGhDYWxsYmFjayk7XG4gKiBib3VuZE1ldGhvZFxuICogICAuY2FsbChzb21lT2JqZWN0KSAvLyBtYWtlIHN1cmUgbWV0aG9kV2l0aENhbGxiYWNrIGhhcyBhY2Nlc3MgdG8gc29tZU9iamVjdFxuICogICAuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgYmluZE5vZGVDYWxsYmFja31cbiAqIEBzZWUge0BsaW5rIGZyb219XG4gKlxuICogQHBhcmFtIHtmdW5jdGlvbn0gZnVuYyBBIGZ1bmN0aW9uIHdpdGggYSBjYWxsYmFjayBhcyB0aGUgbGFzdCBwYXJhbWV0ZXIuXG4gKiBAcGFyYW0ge1NjaGVkdWxlckxpa2V9IFtzY2hlZHVsZXJdIFRoZSBzY2hlZHVsZXIgb24gd2hpY2ggdG8gc2NoZWR1bGUgdGhlXG4gKiBjYWxsYmFja3MuXG4gKiBAcmV0dXJuIHtmdW5jdGlvbiguLi5wYXJhbXM6ICopOiBPYnNlcnZhYmxlfSBBIGZ1bmN0aW9uIHdoaWNoIHJldHVybnMgdGhlXG4gKiBPYnNlcnZhYmxlIHRoYXQgZGVsaXZlcnMgdGhlIHNhbWUgdmFsdWVzIHRoZSBjYWxsYmFjayB3b3VsZCBkZWxpdmVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYmluZENhbGxiYWNrKFxuICBjYWxsYmFja0Z1bmM6ICguLi5hcmdzOiBbLi4uYW55W10sICguLi5yZXM6IGFueSkgPT4gdm9pZF0pID0+IHZvaWQsXG4gIHJlc3VsdFNlbGVjdG9yPzogKCguLi5hcmdzOiBhbnlbXSkgPT4gYW55KSB8IFNjaGVkdWxlckxpa2UsXG4gIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2Vcbik6ICguLi5hcmdzOiBhbnlbXSkgPT4gT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gIHJldHVybiBiaW5kQ2FsbGJhY2tJbnRlcm5hbHMoZmFsc2UsIGNhbGxiYWNrRnVuYywgcmVzdWx0U2VsZWN0b3IsIHNjaGVkdWxlcik7XG59XG4iLCAiLyogQHByZXR0aWVyICovXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTY2hlZHVsZXJMaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYmluZENhbGxiYWNrSW50ZXJuYWxzIH0gZnJvbSAnLi9iaW5kQ2FsbGJhY2tJbnRlcm5hbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gYmluZE5vZGVDYWxsYmFjayhcbiAgY2FsbGJhY2tGdW5jOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQsXG4gIHJlc3VsdFNlbGVjdG9yOiAoLi4uYXJnczogYW55W10pID0+IGFueSxcbiAgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZVxuKTogKC4uLmFyZ3M6IGFueVtdKSA9PiBPYnNlcnZhYmxlPGFueT47XG5cbi8vIGFyZ3MgaXMgdGhlIGFyZ3VtZW50cyBhcnJheSBhbmQgd2UgcHVzaCB0aGUgY2FsbGJhY2sgb24gdGhlIHJlc3QgdHVwbGUgc2luY2UgdGhlIHJlc3QgcGFyYW1ldGVyIG11c3QgYmUgbGFzdCAob25seSBpdGVtKSBpbiBhIHBhcmFtZXRlciBsaXN0XG5leHBvcnQgZnVuY3Rpb24gYmluZE5vZGVDYWxsYmFjazxBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLCBSIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdPihcbiAgY2FsbGJhY2tGdW5jOiAoLi4uYXJnczogWy4uLkEsIChlcnI6IGFueSwgLi4ucmVzOiBSKSA9PiB2b2lkXSkgPT4gdm9pZCxcbiAgc2NoZWR1bGVyTGlrZT86IFNjaGVkdWxlckxpa2Vcbik6ICguLi5hcmc6IEEpID0+IE9ic2VydmFibGU8UiBleHRlbmRzIFtdID8gdm9pZCA6IFIgZXh0ZW5kcyBbYW55XSA/IFJbMF0gOiBSPjtcblxuLyoqXG4gKiBDb252ZXJ0cyBhIE5vZGUuanMtc3R5bGUgY2FsbGJhY2sgQVBJIHRvIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuXG4gKiBPYnNlcnZhYmxlLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5JdCdzIGp1c3QgbGlrZSB7QGxpbmsgYmluZENhbGxiYWNrfSwgYnV0IHRoZVxuICogY2FsbGJhY2sgaXMgZXhwZWN0ZWQgdG8gYmUgb2YgdHlwZSBgY2FsbGJhY2soZXJyb3IsIHJlc3VsdClgLjwvc3Bhbj5cbiAqXG4gKiBgYmluZE5vZGVDYWxsYmFja2AgaXMgbm90IGFuIG9wZXJhdG9yIGJlY2F1c2UgaXRzIGlucHV0IGFuZCBvdXRwdXQgYXJlIG5vdFxuICogT2JzZXJ2YWJsZXMuIFRoZSBpbnB1dCBpcyBhIGZ1bmN0aW9uIGBmdW5jYCB3aXRoIHNvbWUgcGFyYW1ldGVycywgYnV0IHRoZVxuICogbGFzdCBwYXJhbWV0ZXIgbXVzdCBiZSBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgYGZ1bmNgIGNhbGxzIHdoZW4gaXQgaXNcbiAqIGRvbmUuIFRoZSBjYWxsYmFjayBmdW5jdGlvbiBpcyBleHBlY3RlZCB0byBmb2xsb3cgTm9kZS5qcyBjb252ZW50aW9ucyxcbiAqIHdoZXJlIHRoZSBmaXJzdCBhcmd1bWVudCB0byB0aGUgY2FsbGJhY2sgaXMgYW4gZXJyb3Igb2JqZWN0LCBzaWduYWxpbmdcbiAqIHdoZXRoZXIgY2FsbCB3YXMgc3VjY2Vzc2Z1bC4gSWYgdGhhdCBvYmplY3QgaXMgcGFzc2VkIHRvIGNhbGxiYWNrLCBpdCBtZWFuc1xuICogc29tZXRoaW5nIHdlbnQgd3JvbmcuXG4gKlxuICogVGhlIG91dHB1dCBvZiBgYmluZE5vZGVDYWxsYmFja2AgaXMgYSBmdW5jdGlvbiB0aGF0IHRha2VzIHRoZSBzYW1lXG4gKiBwYXJhbWV0ZXJzIGFzIGBmdW5jYCwgZXhjZXB0IHRoZSBsYXN0IG9uZSAodGhlIGNhbGxiYWNrKS4gV2hlbiB0aGUgb3V0cHV0XG4gKiBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCBhcmd1bWVudHMsIGl0IHdpbGwgcmV0dXJuIGFuIE9ic2VydmFibGUuXG4gKiBJZiBgZnVuY2AgY2FsbHMgaXRzIGNhbGxiYWNrIHdpdGggZXJyb3IgcGFyYW1ldGVyIHByZXNlbnQsIE9ic2VydmFibGUgd2lsbFxuICogZXJyb3Igd2l0aCB0aGF0IHZhbHVlIGFzIHdlbGwuIElmIGVycm9yIHBhcmFtZXRlciBpcyBub3QgcGFzc2VkLCBPYnNlcnZhYmxlIHdpbGwgZW1pdFxuICogc2Vjb25kIHBhcmFtZXRlci4gSWYgdGhlcmUgYXJlIG1vcmUgcGFyYW1ldGVycyAodGhpcmQgYW5kIHNvIG9uKSxcbiAqIE9ic2VydmFibGUgd2lsbCBlbWl0IGFuIGFycmF5IHdpdGggYWxsIGFyZ3VtZW50cywgZXhjZXB0IGZpcnN0IGVycm9yIGFyZ3VtZW50LlxuICpcbiAqIE5vdGUgdGhhdCBgZnVuY2Agd2lsbCBub3QgYmUgY2FsbGVkIGF0IHRoZSBzYW1lIHRpbWUgb3V0cHV0IGZ1bmN0aW9uIGlzLFxuICogYnV0IHJhdGhlciB3aGVuZXZlciByZXN1bHRpbmcgT2JzZXJ2YWJsZSBpcyBzdWJzY3JpYmVkLiBCeSBkZWZhdWx0IGNhbGwgdG9cbiAqIGBmdW5jYCB3aWxsIGhhcHBlbiBzeW5jaHJvbm91c2x5IGFmdGVyIHN1YnNjcmlwdGlvbiwgYnV0IHRoYXQgY2FuIGJlIGNoYW5nZWRcbiAqIHdpdGggcHJvcGVyIGBzY2hlZHVsZXJgIHByb3ZpZGVkIGFzIG9wdGlvbmFsIHRoaXJkIHBhcmFtZXRlci4ge0BsaW5rIFNjaGVkdWxlckxpa2V9XG4gKiBjYW4gYWxzbyBjb250cm9sIHdoZW4gdmFsdWVzIGZyb20gY2FsbGJhY2sgd2lsbCBiZSBlbWl0dGVkIGJ5IE9ic2VydmFibGUuXG4gKiBUbyBmaW5kIG91dCBtb3JlLCBjaGVjayBvdXQgZG9jdW1lbnRhdGlvbiBmb3Ige0BsaW5rIGJpbmRDYWxsYmFja30sIHdoZXJlXG4gKiB7QGxpbmsgU2NoZWR1bGVyTGlrZX0gd29ya3MgZXhhY3RseSB0aGUgc2FtZS5cbiAqXG4gKiBBcyBpbiB7QGxpbmsgYmluZENhbGxiYWNrfSwgY29udGV4dCAoYHRoaXNgIHByb3BlcnR5KSBvZiBpbnB1dCBmdW5jdGlvbiB3aWxsIGJlIHNldCB0byBjb250ZXh0XG4gKiBvZiByZXR1cm5lZCBmdW5jdGlvbiwgd2hlbiBpdCBpcyBjYWxsZWQuXG4gKlxuICogQWZ0ZXIgT2JzZXJ2YWJsZSBlbWl0cyB2YWx1ZSwgaXQgd2lsbCBjb21wbGV0ZSBpbW1lZGlhdGVseS4gVGhpcyBtZWFuc1xuICogZXZlbiBpZiBgZnVuY2AgY2FsbHMgY2FsbGJhY2sgYWdhaW4sIHZhbHVlcyBmcm9tIHNlY29uZCBhbmQgY29uc2VjdXRpdmVcbiAqIGNhbGxzIHdpbGwgbmV2ZXIgYXBwZWFyIG9uIHRoZSBzdHJlYW0uIElmIHlvdSBuZWVkIHRvIGhhbmRsZSBmdW5jdGlvbnNcbiAqIHRoYXQgY2FsbCBjYWxsYmFja3MgbXVsdGlwbGUgdGltZXMsIGNoZWNrIG91dCB7QGxpbmsgZnJvbUV2ZW50fSBvclxuICoge0BsaW5rIGZyb21FdmVudFBhdHRlcm59IGluc3RlYWQuXG4gKlxuICogTm90ZSB0aGF0IGBiaW5kTm9kZUNhbGxiYWNrYCBjYW4gYmUgdXNlZCBpbiBub24tTm9kZS5qcyBlbnZpcm9ubWVudHMgYXMgd2VsbC5cbiAqIFwiTm9kZS5qcy1zdHlsZVwiIGNhbGxiYWNrcyBhcmUganVzdCBhIGNvbnZlbnRpb24sIHNvIGlmIHlvdSB3cml0ZSBmb3JcbiAqIGJyb3dzZXJzIG9yIGFueSBvdGhlciBlbnZpcm9ubWVudCBhbmQgQVBJIHlvdSB1c2UgaW1wbGVtZW50cyB0aGF0IGNhbGxiYWNrIHN0eWxlLFxuICogYGJpbmROb2RlQ2FsbGJhY2tgIGNhbiBiZSBzYWZlbHkgdXNlZCBvbiB0aGF0IEFQSSBmdW5jdGlvbnMgYXMgd2VsbC5cbiAqXG4gKiBSZW1lbWJlciB0aGF0IEVycm9yIG9iamVjdCBwYXNzZWQgdG8gY2FsbGJhY2sgZG9lcyBub3QgaGF2ZSB0byBiZSBhbiBpbnN0YW5jZVxuICogb2YgSmF2YVNjcmlwdCBidWlsdC1pbiBgRXJyb3JgIG9iamVjdC4gSW4gZmFjdCwgaXQgZG9lcyBub3QgZXZlbiBoYXZlIHRvIGFuIG9iamVjdC5cbiAqIEVycm9yIHBhcmFtZXRlciBvZiBjYWxsYmFjayBmdW5jdGlvbiBpcyBpbnRlcnByZXRlZCBhcyBcInByZXNlbnRcIiwgd2hlbiB2YWx1ZVxuICogb2YgdGhhdCBwYXJhbWV0ZXIgaXMgdHJ1dGh5LiBJdCBjb3VsZCBiZSwgZm9yIGV4YW1wbGUsIG5vbi16ZXJvIG51bWJlciwgbm9uLWVtcHR5XG4gKiBzdHJpbmcgb3IgYm9vbGVhbiBgdHJ1ZWAuIEluIGFsbCBvZiB0aGVzZSBjYXNlcyByZXN1bHRpbmcgT2JzZXJ2YWJsZSB3b3VsZCBlcnJvclxuICogd2l0aCB0aGF0IHZhbHVlLiBUaGlzIG1lYW5zIHVzdWFsbHkgcmVndWxhciBzdHlsZSBjYWxsYmFja3Mgd2lsbCBmYWlsIHZlcnkgb2Z0ZW4gd2hlblxuICogYGJpbmROb2RlQ2FsbGJhY2tgIGlzIHVzZWQuIElmIHlvdXIgT2JzZXJ2YWJsZSBlcnJvcnMgbXVjaCBtb3JlIG9mdGVuIHRoZW4geW91XG4gKiB3b3VsZCBleHBlY3QsIGNoZWNrIGlmIGNhbGxiYWNrIHJlYWxseSBpcyBjYWxsZWQgaW4gTm9kZS5qcy1zdHlsZSBhbmQsIGlmIG5vdCxcbiAqIHN3aXRjaCB0byB7QGxpbmsgYmluZENhbGxiYWNrfSBpbnN0ZWFkLlxuICpcbiAqIE5vdGUgdGhhdCBldmVuIGlmIGVycm9yIHBhcmFtZXRlciBpcyB0ZWNobmljYWxseSBwcmVzZW50IGluIGNhbGxiYWNrLCBidXQgaXRzIHZhbHVlXG4gKiBpcyBmYWxzeSwgaXQgc3RpbGwgd29uJ3QgYXBwZWFyIGluIGFycmF5IGVtaXR0ZWQgYnkgT2JzZXJ2YWJsZS5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICogIyMjICBSZWFkIGEgZmlsZSBmcm9tIHRoZSBmaWxlc3lzdGVtIGFuZCBnZXQgdGhlIGRhdGEgYXMgYW4gT2JzZXJ2YWJsZVxuICogYGBgdHNcbiAqIGltcG9ydCAqIGFzIGZzIGZyb20gJ2ZzJztcbiAqIGNvbnN0IHJlYWRGaWxlQXNPYnNlcnZhYmxlID0gYmluZE5vZGVDYWxsYmFjayhmcy5yZWFkRmlsZSk7XG4gKiBjb25zdCByZXN1bHQgPSByZWFkRmlsZUFzT2JzZXJ2YWJsZSgnLi9yb2FkTmFtZXMudHh0JywgJ3V0ZjgnKTtcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSwgZSA9PiBjb25zb2xlLmVycm9yKGUpKTtcbiAqIGBgYFxuICpcbiAqICMjIyBVc2Ugb24gZnVuY3Rpb24gY2FsbGluZyBjYWxsYmFjayB3aXRoIG11bHRpcGxlIGFyZ3VtZW50c1xuICogYGBgdHNcbiAqIHNvbWVGdW5jdGlvbigoZXJyLCBhLCBiKSA9PiB7XG4gKiAgIGNvbnNvbGUubG9nKGVycik7IC8vIG51bGxcbiAqICAgY29uc29sZS5sb2coYSk7IC8vIDVcbiAqICAgY29uc29sZS5sb2coYik7IC8vIFwic29tZSBzdHJpbmdcIlxuICogfSk7XG4gKiBjb25zdCBib3VuZFNvbWVGdW5jdGlvbiA9IGJpbmROb2RlQ2FsbGJhY2soc29tZUZ1bmN0aW9uKTtcbiAqIGJvdW5kU29tZUZ1bmN0aW9uKClcbiAqIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICogICBjb25zb2xlLmxvZyh2YWx1ZSk7IC8vIFs1LCBcInNvbWUgc3RyaW5nXCJdXG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqICMjIyBVc2Ugb24gZnVuY3Rpb24gY2FsbGluZyBjYWxsYmFjayBpbiByZWd1bGFyIHN0eWxlXG4gKiBgYGB0c1xuICogc29tZUZ1bmN0aW9uKGEgPT4ge1xuICogICBjb25zb2xlLmxvZyhhKTsgLy8gNVxuICogfSk7XG4gKiBjb25zdCBib3VuZFNvbWVGdW5jdGlvbiA9IGJpbmROb2RlQ2FsbGJhY2soc29tZUZ1bmN0aW9uKTtcbiAqIGJvdW5kU29tZUZ1bmN0aW9uKClcbiAqIC5zdWJzY3JpYmUoXG4gKiAgIHZhbHVlID0+IHt9ICAgICAgICAgICAgIC8vIG5ldmVyIGdldHMgY2FsbGVkXG4gKiAgIGVyciA9PiBjb25zb2xlLmxvZyhlcnIpIC8vIDVcbiAqICk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBiaW5kQ2FsbGJhY2t9XG4gKiBAc2VlIHtAbGluayBmcm9tfVxuICpcbiAqIEBwYXJhbSB7ZnVuY3Rpb259IGZ1bmMgRnVuY3Rpb24gd2l0aCBhIE5vZGUuanMtc3R5bGUgY2FsbGJhY2sgYXMgdGhlIGxhc3QgcGFyYW1ldGVyLlxuICogQHBhcmFtIHtTY2hlZHVsZXJMaWtlfSBbc2NoZWR1bGVyXSBUaGUgc2NoZWR1bGVyIG9uIHdoaWNoIHRvIHNjaGVkdWxlIHRoZVxuICogY2FsbGJhY2tzLlxuICogQHJldHVybiB7ZnVuY3Rpb24oLi4ucGFyYW1zOiAqKTogT2JzZXJ2YWJsZX0gQSBmdW5jdGlvbiB3aGljaCByZXR1cm5zIHRoZVxuICogT2JzZXJ2YWJsZSB0aGF0IGRlbGl2ZXJzIHRoZSBzYW1lIHZhbHVlcyB0aGUgTm9kZS5qcyBjYWxsYmFjayB3b3VsZFxuICogZGVsaXZlci5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJpbmROb2RlQ2FsbGJhY2soXG4gIGNhbGxiYWNrRnVuYzogKC4uLmFyZ3M6IFsuLi5hbnlbXSwgKGVycjogYW55LCAuLi5yZXM6IGFueSkgPT4gdm9pZF0pID0+IHZvaWQsXG4gIHJlc3VsdFNlbGVjdG9yPzogKCguLi5hcmdzOiBhbnlbXSkgPT4gYW55KSB8IFNjaGVkdWxlckxpa2UsXG4gIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2Vcbik6ICguLi5hcmdzOiBhbnlbXSkgPT4gT2JzZXJ2YWJsZTxhbnk+IHtcbiAgcmV0dXJuIGJpbmRDYWxsYmFja0ludGVybmFscyh0cnVlLCBjYWxsYmFja0Z1bmMsIHJlc3VsdFNlbGVjdG9yLCBzY2hlZHVsZXIpO1xufVxuIiwgImNvbnN0IHsgaXNBcnJheSB9ID0gQXJyYXk7XG5jb25zdCB7IGdldFByb3RvdHlwZU9mLCBwcm90b3R5cGU6IG9iamVjdFByb3RvLCBrZXlzOiBnZXRLZXlzIH0gPSBPYmplY3Q7XG5cbi8qKlxuICogVXNlZCBpbiBmdW5jdGlvbnMgd2hlcmUgZWl0aGVyIGEgbGlzdCBvZiBhcmd1bWVudHMsIGEgc2luZ2xlIGFycmF5IG9mIGFyZ3VtZW50cywgb3IgYVxuICogZGljdGlvbmFyeSBvZiBhcmd1bWVudHMgY2FuIGJlIHJldHVybmVkLiBSZXR1cm5zIGFuIG9iamVjdCB3aXRoIGFuIGBhcmdzYCBwcm9wZXJ0eSB3aXRoXG4gKiB0aGUgYXJndW1lbnRzIGluIGFuIGFycmF5LCBpZiBpdCBpcyBhIGRpY3Rpb25hcnksIGl0IHdpbGwgYWxzbyByZXR1cm4gdGhlIGBrZXlzYCBpbiBhbm90aGVyXG4gKiBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFyZ3NBcmdBcnJheU9yT2JqZWN0PFQsIE8gZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBUPj4oYXJnczogVFtdIHwgW09dIHwgW1RbXV0pOiB7IGFyZ3M6IFRbXTsga2V5czogc3RyaW5nW10gfCBudWxsIH0ge1xuICBpZiAoYXJncy5sZW5ndGggPT09IDEpIHtcbiAgICBjb25zdCBmaXJzdCA9IGFyZ3NbMF07XG4gICAgaWYgKGlzQXJyYXkoZmlyc3QpKSB7XG4gICAgICByZXR1cm4geyBhcmdzOiBmaXJzdCwga2V5czogbnVsbCB9O1xuICAgIH1cbiAgICBpZiAoaXNQT0pPKGZpcnN0KSkge1xuICAgICAgY29uc3Qga2V5cyA9IGdldEtleXMoZmlyc3QpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXJnczoga2V5cy5tYXAoKGtleSkgPT4gZmlyc3Rba2V5XSksXG4gICAgICAgIGtleXMsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7IGFyZ3M6IGFyZ3MgYXMgVFtdLCBrZXlzOiBudWxsIH07XG59XG5cbmZ1bmN0aW9uIGlzUE9KTyhvYmo6IGFueSk6IG9iaiBpcyBvYmplY3Qge1xuICByZXR1cm4gb2JqICYmIHR5cGVvZiBvYmogPT09ICdvYmplY3QnICYmIGdldFByb3RvdHlwZU9mKG9iaikgPT09IG9iamVjdFByb3RvO1xufVxuIiwgImV4cG9ydCBmdW5jdGlvbiBjcmVhdGVPYmplY3Qoa2V5czogc3RyaW5nW10sIHZhbHVlczogYW55W10pIHtcbiAgcmV0dXJuIGtleXMucmVkdWNlKChyZXN1bHQsIGtleSwgaSkgPT4gKChyZXN1bHRba2V5XSA9IHZhbHVlc1tpXSksIHJlc3VsdCksIHt9IGFzIGFueSk7XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0LCBTY2hlZHVsZXJMaWtlLCBPYnNlcnZlZFZhbHVlT2YsIE9ic2VydmFibGVJbnB1dFR1cGxlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYXJnc0FyZ0FycmF5T3JPYmplY3QgfSBmcm9tICcuLi91dGlsL2FyZ3NBcmdBcnJheU9yT2JqZWN0JztcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuLi9TdWJzY3JpYmVyJztcbmltcG9ydCB7IGZyb20gfSBmcm9tICcuL2Zyb20nO1xuaW1wb3J0IHsgaWRlbnRpdHkgfSBmcm9tICcuLi91dGlsL2lkZW50aXR5JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBtYXBPbmVPck1hbnlBcmdzIH0gZnJvbSAnLi4vdXRpbC9tYXBPbmVPck1hbnlBcmdzJztcbmltcG9ydCB7IHBvcFJlc3VsdFNlbGVjdG9yLCBwb3BTY2hlZHVsZXIgfSBmcm9tICcuLi91dGlsL2FyZ3MnO1xuaW1wb3J0IHsgY3JlYXRlT2JqZWN0IH0gZnJvbSAnLi4vdXRpbC9jcmVhdGVPYmplY3QnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi4vb3BlcmF0b3JzL09wZXJhdG9yU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBBbnlDYXRjaGVyIH0gZnJvbSAnLi4vQW55Q2F0Y2hlcic7XG5pbXBvcnQgeyBleGVjdXRlU2NoZWR1bGUgfSBmcm9tICcuLi91dGlsL2V4ZWN1dGVTY2hlZHVsZSc7XG5cbi8vIGNvbWJpbmVMYXRlc3QoYW55KVxuLy8gV2UgcHV0IHRoaXMgZmlyc3QgYmVjYXVzZSB3ZSBuZWVkIHRvIGNhdGNoIGNhc2VzIHdoZXJlIHRoZSB1c2VyIGhhcyBzdXBwbGllZFxuLy8gX2V4YWN0bHkgYGFueWBfIGFzIHRoZSBhcmd1bWVudC4gU2luY2UgYGFueWAgbGl0ZXJhbGx5IG1hdGNoZXMgX2FueXRoaW5nXyxcbi8vIHdlIGRvbid0IHdhbnQgaXQgdG8gcmFuZG9tbHkgaGl0IG9uZSBvZiB0aGUgb3RoZXIgdHlwZSBzaWduYXR1cmVzIGJlbG93LFxuLy8gYXMgd2UgaGF2ZSBubyBpZGVhIGF0IGJ1aWxkLXRpbWUgd2hhdCB0eXBlIHdlIHNob3VsZCBiZSByZXR1cm5pbmcgd2hlbiBnaXZlbiBhbiBhbnkuXG5cbi8qKlxuICogWW91IGhhdmUgcGFzc2VkIGBhbnlgIGhlcmUsIHdlIGNhbid0IGZpZ3VyZSBvdXQgaWYgaXQgaXNcbiAqIGFuIGFycmF5IG9yIGFuIG9iamVjdCwgc28geW91J3JlIGdldHRpbmcgYHVua25vd25gLiBVc2UgYmV0dGVyIHR5cGVzLlxuICogQHBhcmFtIGFyZyBTb21ldGhpbmcgdHlwZWQgYXMgYGFueWBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVMYXRlc3Q8VCBleHRlbmRzIEFueUNhdGNoZXI+KGFyZzogVCk6IE9ic2VydmFibGU8dW5rbm93bj47XG5cbi8vIGNvbWJpbmVMYXRlc3QoW2EsIGIsIGNdKVxuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVMYXRlc3Qoc291cmNlczogW10pOiBPYnNlcnZhYmxlPG5ldmVyPjtcbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lTGF0ZXN0PEEgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+KHNvdXJjZXM6IHJlYWRvbmx5IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPl0pOiBPYnNlcnZhYmxlPEE+O1xuLyoqIEBkZXByZWNhdGVkIFRoZSBgc2NoZWR1bGVyYCBwYXJhbWV0ZXIgd2lsbCBiZSByZW1vdmVkIGluIHY4LiBVc2UgYHNjaGVkdWxlZGAgYW5kIGBjb21iaW5lTGF0ZXN0QWxsYC4gRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvc2NoZWR1bGVyLWFyZ3VtZW50ICovXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUxhdGVzdDxBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLCBSPihcbiAgc291cmNlczogcmVhZG9ubHkgWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+XSxcbiAgcmVzdWx0U2VsZWN0b3I6ICguLi52YWx1ZXM6IEEpID0+IFIsXG4gIHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZVxuKTogT2JzZXJ2YWJsZTxSPjtcbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lTGF0ZXN0PEEgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10sIFI+KFxuICBzb3VyY2VzOiByZWFkb25seSBbLi4uT2JzZXJ2YWJsZUlucHV0VHVwbGU8QT5dLFxuICByZXN1bHRTZWxlY3RvcjogKC4uLnZhbHVlczogQSkgPT4gUlxuKTogT2JzZXJ2YWJsZTxSPjtcbi8qKiBAZGVwcmVjYXRlZCBUaGUgYHNjaGVkdWxlcmAgcGFyYW1ldGVyIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gVXNlIGBzY2hlZHVsZWRgIGFuZCBgY29tYmluZUxhdGVzdEFsbGAuIERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL3NjaGVkdWxlci1hcmd1bWVudCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVMYXRlc3Q8QSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oXG4gIHNvdXJjZXM6IHJlYWRvbmx5IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPl0sXG4gIHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZVxuKTogT2JzZXJ2YWJsZTxBPjtcblxuLy8gY29tYmluZUxhdGVzdChhLCBiLCBjKVxuLyoqIEBkZXByZWNhdGVkIFBhc3MgYW4gYXJyYXkgb2Ygc291cmNlcyBpbnN0ZWFkLiBUaGUgcmVzdC1wYXJhbWV0ZXJzIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL2FycmF5LWFyZ3VtZW50ICovXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUxhdGVzdDxBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdPiguLi5zb3VyY2VzOiBbLi4uT2JzZXJ2YWJsZUlucHV0VHVwbGU8QT5dKTogT2JzZXJ2YWJsZTxBPjtcbi8qKiBAZGVwcmVjYXRlZCBUaGUgYHNjaGVkdWxlcmAgcGFyYW1ldGVyIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gVXNlIGBzY2hlZHVsZWRgIGFuZCBgY29tYmluZUxhdGVzdEFsbGAuIERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL3NjaGVkdWxlci1hcmd1bWVudCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVMYXRlc3Q8QSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgUj4oXG4gIC4uLnNvdXJjZXNBbmRSZXN1bHRTZWxlY3RvckFuZFNjaGVkdWxlcjogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+LCAoLi4udmFsdWVzOiBBKSA9PiBSLCBTY2hlZHVsZXJMaWtlXVxuKTogT2JzZXJ2YWJsZTxSPjtcbi8qKiBAZGVwcmVjYXRlZCBQYXNzIGFuIGFycmF5IG9mIHNvdXJjZXMgaW5zdGVhZC4gVGhlIHJlc3QtcGFyYW1ldGVycyBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGluIHY4LiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9hcnJheS1hcmd1bWVudCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVMYXRlc3Q8QSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgUj4oXG4gIC4uLnNvdXJjZXNBbmRSZXN1bHRTZWxlY3RvcjogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+LCAoLi4udmFsdWVzOiBBKSA9PiBSXVxuKTogT2JzZXJ2YWJsZTxSPjtcbi8qKiBAZGVwcmVjYXRlZCBUaGUgYHNjaGVkdWxlcmAgcGFyYW1ldGVyIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gVXNlIGBzY2hlZHVsZWRgIGFuZCBgY29tYmluZUxhdGVzdEFsbGAuIERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL3NjaGVkdWxlci1hcmd1bWVudCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVMYXRlc3Q8QSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oXG4gIC4uLnNvdXJjZXNBbmRTY2hlZHVsZXI6IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPiwgU2NoZWR1bGVyTGlrZV1cbik6IE9ic2VydmFibGU8QT47XG5cbi8vIGNvbWJpbmVMYXRlc3Qoe2EsIGIsIGN9KVxuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVMYXRlc3Qoc291cmNlc09iamVjdDogeyBbSyBpbiBhbnldOiBuZXZlciB9KTogT2JzZXJ2YWJsZTxuZXZlcj47XG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUxhdGVzdDxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgT2JzZXJ2YWJsZUlucHV0PGFueT4+PihcbiAgc291cmNlc09iamVjdDogVFxuKTogT2JzZXJ2YWJsZTx7IFtLIGluIGtleW9mIFRdOiBPYnNlcnZlZFZhbHVlT2Y8VFtLXT4gfT47XG5cbi8qKlxuICogQ29tYmluZXMgbXVsdGlwbGUgT2JzZXJ2YWJsZXMgdG8gY3JlYXRlIGFuIE9ic2VydmFibGUgd2hvc2UgdmFsdWVzIGFyZVxuICogY2FsY3VsYXRlZCBmcm9tIHRoZSBsYXRlc3QgdmFsdWVzIG9mIGVhY2ggb2YgaXRzIGlucHV0IE9ic2VydmFibGVzLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5XaGVuZXZlciBhbnkgaW5wdXQgT2JzZXJ2YWJsZSBlbWl0cyBhIHZhbHVlLCBpdFxuICogY29tcHV0ZXMgYSBmb3JtdWxhIHVzaW5nIHRoZSBsYXRlc3QgdmFsdWVzIGZyb20gYWxsIHRoZSBpbnB1dHMsIHRoZW4gZW1pdHNcbiAqIHRoZSBvdXRwdXQgb2YgdGhhdCBmb3JtdWxhLjwvc3Bhbj5cbiAqXG4gKiAhW10oY29tYmluZUxhdGVzdC5wbmcpXG4gKlxuICogYGNvbWJpbmVMYXRlc3RgIGNvbWJpbmVzIHRoZSB2YWx1ZXMgZnJvbSBhbGwgdGhlIE9ic2VydmFibGVzIHBhc3NlZCBpbiB0aGVcbiAqIG9ic2VydmFibGVzIGFycmF5LiBUaGlzIGlzIGRvbmUgYnkgc3Vic2NyaWJpbmcgdG8gZWFjaCBPYnNlcnZhYmxlIGluIG9yZGVyIGFuZCxcbiAqIHdoZW5ldmVyIGFueSBPYnNlcnZhYmxlIGVtaXRzLCBjb2xsZWN0aW5nIGFuIGFycmF5IG9mIHRoZSBtb3N0IHJlY2VudFxuICogdmFsdWVzIGZyb20gZWFjaCBPYnNlcnZhYmxlLiBTbyBpZiB5b3UgcGFzcyBgbmAgT2JzZXJ2YWJsZXMgdG8gdGhpcyBvcGVyYXRvcixcbiAqIHRoZSByZXR1cm5lZCBPYnNlcnZhYmxlIHdpbGwgYWx3YXlzIGVtaXQgYW4gYXJyYXkgb2YgYG5gIHZhbHVlcywgaW4gYW4gb3JkZXJcbiAqIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG9yZGVyIG9mIHRoZSBwYXNzZWQgT2JzZXJ2YWJsZXMgKHRoZSB2YWx1ZSBmcm9tIHRoZSBmaXJzdCBPYnNlcnZhYmxlXG4gKiB3aWxsIGJlIGF0IGluZGV4IDAgb2YgdGhlIGFycmF5IGFuZCBzbyBvbikuXG4gKlxuICogU3RhdGljIHZlcnNpb24gb2YgYGNvbWJpbmVMYXRlc3RgIGFjY2VwdHMgYW4gYXJyYXkgb2YgT2JzZXJ2YWJsZXMuIE5vdGUgdGhhdCBhbiBhcnJheSBvZlxuICogT2JzZXJ2YWJsZXMgaXMgYSBnb29kIGNob2ljZSwgaWYgeW91IGRvbid0IGtub3cgYmVmb3JlaGFuZCBob3cgbWFueSBPYnNlcnZhYmxlc1xuICogeW91IHdpbGwgY29tYmluZS4gUGFzc2luZyBhbiBlbXB0eSBhcnJheSB3aWxsIHJlc3VsdCBpbiBhbiBPYnNlcnZhYmxlIHRoYXRcbiAqIGNvbXBsZXRlcyBpbW1lZGlhdGVseS5cbiAqXG4gKiBUbyBlbnN1cmUgdGhlIG91dHB1dCBhcnJheSBhbHdheXMgaGFzIHRoZSBzYW1lIGxlbmd0aCwgYGNvbWJpbmVMYXRlc3RgIHdpbGxcbiAqIGFjdHVhbGx5IHdhaXQgZm9yIGFsbCBpbnB1dCBPYnNlcnZhYmxlcyB0byBlbWl0IGF0IGxlYXN0IG9uY2UsXG4gKiBiZWZvcmUgaXQgc3RhcnRzIGVtaXR0aW5nIHJlc3VsdHMuIFRoaXMgbWVhbnMgaWYgc29tZSBPYnNlcnZhYmxlIGVtaXRzXG4gKiB2YWx1ZXMgYmVmb3JlIG90aGVyIE9ic2VydmFibGVzIHN0YXJ0ZWQgZW1pdHRpbmcsIGFsbCB0aGVzZSB2YWx1ZXMgYnV0IHRoZSBsYXN0XG4gKiB3aWxsIGJlIGxvc3QuIE9uIHRoZSBvdGhlciBoYW5kLCBpZiBzb21lIE9ic2VydmFibGUgZG9lcyBub3QgZW1pdCBhIHZhbHVlIGJ1dFxuICogY29tcGxldGVzLCByZXN1bHRpbmcgT2JzZXJ2YWJsZSB3aWxsIGNvbXBsZXRlIGF0IHRoZSBzYW1lIG1vbWVudCB3aXRob3V0XG4gKiBlbWl0dGluZyBhbnl0aGluZywgc2luY2UgaXQgd2lsbCBub3cgYmUgaW1wb3NzaWJsZSB0byBpbmNsdWRlIGEgdmFsdWUgZnJvbSB0aGVcbiAqIGNvbXBsZXRlZCBPYnNlcnZhYmxlIGluIHRoZSByZXN1bHRpbmcgYXJyYXkuIEFsc28sIGlmIHNvbWUgaW5wdXQgT2JzZXJ2YWJsZSBkb2VzXG4gKiBub3QgZW1pdCBhbnkgdmFsdWUgYW5kIG5ldmVyIGNvbXBsZXRlcywgYGNvbWJpbmVMYXRlc3RgIHdpbGwgYWxzbyBuZXZlciBlbWl0XG4gKiBhbmQgbmV2ZXIgY29tcGxldGUsIHNpbmNlLCBhZ2FpbiwgaXQgd2lsbCB3YWl0IGZvciBhbGwgc3RyZWFtcyB0byBlbWl0IHNvbWVcbiAqIHZhbHVlLlxuICpcbiAqIElmIGF0IGxlYXN0IG9uZSBPYnNlcnZhYmxlIHdhcyBwYXNzZWQgdG8gYGNvbWJpbmVMYXRlc3RgIGFuZCBhbGwgcGFzc2VkIE9ic2VydmFibGVzXG4gKiBlbWl0dGVkIHNvbWV0aGluZywgdGhlIHJlc3VsdGluZyBPYnNlcnZhYmxlIHdpbGwgY29tcGxldGUgd2hlbiBhbGwgY29tYmluZWRcbiAqIHN0cmVhbXMgY29tcGxldGUuIFNvIGV2ZW4gaWYgc29tZSBPYnNlcnZhYmxlIGNvbXBsZXRlcywgdGhlIHJlc3VsdCBvZlxuICogYGNvbWJpbmVMYXRlc3RgIHdpbGwgc3RpbGwgZW1pdCB2YWx1ZXMgd2hlbiBvdGhlciBPYnNlcnZhYmxlcyBkby4gSW4gY2FzZVxuICogb2YgYSBjb21wbGV0ZWQgT2JzZXJ2YWJsZSwgaXRzIHZhbHVlIGZyb20gbm93IG9uIHdpbGwgYWx3YXlzIGJlIHRoZSBsYXN0XG4gKiBlbWl0dGVkIHZhbHVlLiBPbiB0aGUgb3RoZXIgaGFuZCwgaWYgYW55IE9ic2VydmFibGUgZXJyb3JzLCBgY29tYmluZUxhdGVzdGBcbiAqIHdpbGwgZXJyb3IgaW1tZWRpYXRlbHkgYXMgd2VsbCwgYW5kIGFsbCBvdGhlciBPYnNlcnZhYmxlcyB3aWxsIGJlIHVuc3Vic2NyaWJlZC5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIENvbWJpbmUgdHdvIHRpbWVyIE9ic2VydmFibGVzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IHRpbWVyLCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgZmlyc3RUaW1lciA9IHRpbWVyKDAsIDEwMDApOyAvLyBlbWl0IDAsIDEsIDIuLi4gYWZ0ZXIgZXZlcnkgc2Vjb25kLCBzdGFydGluZyBmcm9tIG5vd1xuICogY29uc3Qgc2Vjb25kVGltZXIgPSB0aW1lcig1MDAsIDEwMDApOyAvLyBlbWl0IDAsIDEsIDIuLi4gYWZ0ZXIgZXZlcnkgc2Vjb25kLCBzdGFydGluZyAwLDVzIGZyb20gbm93XG4gKiBjb25zdCBjb21iaW5lZFRpbWVycyA9IGNvbWJpbmVMYXRlc3QoW2ZpcnN0VGltZXIsIHNlY29uZFRpbWVyXSk7XG4gKiBjb21iaW5lZFRpbWVycy5zdWJzY3JpYmUodmFsdWUgPT4gY29uc29sZS5sb2codmFsdWUpKTtcbiAqIC8vIExvZ3NcbiAqIC8vIFswLCAwXSBhZnRlciAwLjVzXG4gKiAvLyBbMSwgMF0gYWZ0ZXIgMXNcbiAqIC8vIFsxLCAxXSBhZnRlciAxLjVzXG4gKiAvLyBbMiwgMV0gYWZ0ZXIgMnNcbiAqIGBgYFxuICpcbiAqIENvbWJpbmUgYSBkaWN0aW9uYXJ5IG9mIE9ic2VydmFibGVzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mLCBkZWxheSwgc3RhcnRXaXRoLCBjb21iaW5lTGF0ZXN0IH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3Qgb2JzZXJ2YWJsZXMgPSB7XG4gKiAgIGE6IG9mKDEpLnBpcGUoZGVsYXkoMTAwMCksIHN0YXJ0V2l0aCgwKSksXG4gKiAgIGI6IG9mKDUpLnBpcGUoZGVsYXkoNTAwMCksIHN0YXJ0V2l0aCgwKSksXG4gKiAgIGM6IG9mKDEwKS5waXBlKGRlbGF5KDEwMDAwKSwgc3RhcnRXaXRoKDApKVxuICogfTtcbiAqIGNvbnN0IGNvbWJpbmVkID0gY29tYmluZUxhdGVzdChvYnNlcnZhYmxlcyk7XG4gKiBjb21iaW5lZC5zdWJzY3JpYmUodmFsdWUgPT4gY29uc29sZS5sb2codmFsdWUpKTtcbiAqIC8vIExvZ3NcbiAqIC8vIHsgYTogMCwgYjogMCwgYzogMCB9IGltbWVkaWF0ZWx5XG4gKiAvLyB7IGE6IDEsIGI6IDAsIGM6IDAgfSBhZnRlciAxc1xuICogLy8geyBhOiAxLCBiOiA1LCBjOiAwIH0gYWZ0ZXIgNXNcbiAqIC8vIHsgYTogMSwgYjogNSwgYzogMTAgfSBhZnRlciAxMHNcbiAqIGBgYFxuICpcbiAqIENvbWJpbmUgYW4gYXJyYXkgb2YgT2JzZXJ2YWJsZXNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgb2YsIGRlbGF5LCBzdGFydFdpdGgsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBvYnNlcnZhYmxlcyA9IFsxLCA1LCAxMF0ubWFwKFxuICogICBuID0+IG9mKG4pLnBpcGUoXG4gKiAgICAgZGVsYXkobiAqIDEwMDApLCAvLyBlbWl0IDAgYW5kIHRoZW4gZW1pdCBuIGFmdGVyIG4gc2Vjb25kc1xuICogICAgIHN0YXJ0V2l0aCgwKVxuICogICApXG4gKiApO1xuICogY29uc3QgY29tYmluZWQgPSBjb21iaW5lTGF0ZXN0KG9ic2VydmFibGVzKTtcbiAqIGNvbWJpbmVkLnN1YnNjcmliZSh2YWx1ZSA9PiBjb25zb2xlLmxvZyh2YWx1ZSkpO1xuICogLy8gTG9nc1xuICogLy8gWzAsIDAsIDBdIGltbWVkaWF0ZWx5XG4gKiAvLyBbMSwgMCwgMF0gYWZ0ZXIgMXNcbiAqIC8vIFsxLCA1LCAwXSBhZnRlciA1c1xuICogLy8gWzEsIDUsIDEwXSBhZnRlciAxMHNcbiAqIGBgYFxuICpcbiAqIFVzZSBtYXAgb3BlcmF0b3IgdG8gZHluYW1pY2FsbHkgY2FsY3VsYXRlIHRoZSBCb2R5LU1hc3MgSW5kZXhcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgb2YsIGNvbWJpbmVMYXRlc3QsIG1hcCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHdlaWdodCA9IG9mKDcwLCA3MiwgNzYsIDc5LCA3NSk7XG4gKiBjb25zdCBoZWlnaHQgPSBvZigxLjc2LCAxLjc3LCAxLjc4KTtcbiAqIGNvbnN0IGJtaSA9IGNvbWJpbmVMYXRlc3QoW3dlaWdodCwgaGVpZ2h0XSkucGlwZShcbiAqICAgbWFwKChbdywgaF0pID0+IHcgLyAoaCAqIGgpKSxcbiAqICk7XG4gKiBibWkuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coJ0JNSSBpcyAnICsgeCkpO1xuICpcbiAqIC8vIFdpdGggb3V0cHV0IHRvIGNvbnNvbGU6XG4gKiAvLyBCTUkgaXMgMjQuMjEyMjkzMzg4NDI5NzUzXG4gKiAvLyBCTUkgaXMgMjMuOTM5NDgwOTkyMDUyMDlcbiAqIC8vIEJNSSBpcyAyMy42NzEyNTM2Mjk1OTIyMjJcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGNvbWJpbmVMYXRlc3RBbGx9XG4gKiBAc2VlIHtAbGluayBtZXJnZX1cbiAqIEBzZWUge0BsaW5rIHdpdGhMYXRlc3RGcm9tfVxuICpcbiAqIEBwYXJhbSB7T2JzZXJ2YWJsZUlucHV0fSBbb2JzZXJ2YWJsZXNdIEFuIGFycmF5IG9mIGlucHV0IE9ic2VydmFibGVzIHRvIGNvbWJpbmUgd2l0aCBlYWNoIG90aGVyLlxuICogQW4gYXJyYXkgb2YgT2JzZXJ2YWJsZXMgbXVzdCBiZSBnaXZlbiBhcyB0aGUgZmlyc3QgYXJndW1lbnQuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBbcHJvamVjdF0gQW4gb3B0aW9uYWwgZnVuY3Rpb24gdG8gcHJvamVjdCB0aGUgdmFsdWVzIGZyb21cbiAqIHRoZSBjb21iaW5lZCBsYXRlc3QgdmFsdWVzIGludG8gYSBuZXcgdmFsdWUgb24gdGhlIG91dHB1dCBPYnNlcnZhYmxlLlxuICogQHBhcmFtIHtTY2hlZHVsZXJMaWtlfSBbc2NoZWR1bGVyPW51bGxdIFRoZSB7QGxpbmsgU2NoZWR1bGVyTGlrZX0gdG8gdXNlIGZvciBzdWJzY3JpYmluZyB0b1xuICogZWFjaCBpbnB1dCBPYnNlcnZhYmxlLlxuICogQHJldHVybiB7T2JzZXJ2YWJsZX0gQW4gT2JzZXJ2YWJsZSBvZiBwcm9qZWN0ZWQgdmFsdWVzIGZyb20gdGhlIG1vc3QgcmVjZW50XG4gKiB2YWx1ZXMgZnJvbSBlYWNoIGlucHV0IE9ic2VydmFibGUsIG9yIGFuIGFycmF5IG9mIHRoZSBtb3N0IHJlY2VudCB2YWx1ZXMgZnJvbVxuICogZWFjaCBpbnB1dCBPYnNlcnZhYmxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUxhdGVzdDxPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PGFueT4sIFI+KC4uLmFyZ3M6IGFueVtdKTogT2JzZXJ2YWJsZTxSPiB8IE9ic2VydmFibGU8T2JzZXJ2ZWRWYWx1ZU9mPE8+W10+IHtcbiAgY29uc3Qgc2NoZWR1bGVyID0gcG9wU2NoZWR1bGVyKGFyZ3MpO1xuICBjb25zdCByZXN1bHRTZWxlY3RvciA9IHBvcFJlc3VsdFNlbGVjdG9yKGFyZ3MpO1xuXG4gIGNvbnN0IHsgYXJnczogb2JzZXJ2YWJsZXMsIGtleXMgfSA9IGFyZ3NBcmdBcnJheU9yT2JqZWN0KGFyZ3MpO1xuXG4gIGlmIChvYnNlcnZhYmxlcy5sZW5ndGggPT09IDApIHtcbiAgICAvLyBJZiBubyBvYnNlcnZhYmxlcyBhcmUgcGFzc2VkLCBvciBzb21lb25lIGhhcyBwYXNzZWQgYW4gZW1wdHkgYXJyYXlcbiAgICAvLyBvZiBvYnNlcnZhYmxlcywgb3IgZXZlbiBhbiBlbXB0eSBvYmplY3QgUE9KTywgd2UgbmVlZCB0byBqdXN0XG4gICAgLy8gY29tcGxldGUgKEVNUFRZKSwgYnV0IHdlIGhhdmUgdG8gaG9ub3IgdGhlIHNjaGVkdWxlciBwcm92aWRlZCBpZiBhbnkuXG4gICAgcmV0dXJuIGZyb20oW10sIHNjaGVkdWxlciBhcyBhbnkpO1xuICB9XG5cbiAgY29uc3QgcmVzdWx0ID0gbmV3IE9ic2VydmFibGU8T2JzZXJ2ZWRWYWx1ZU9mPE8+W10+KFxuICAgIGNvbWJpbmVMYXRlc3RJbml0KFxuICAgICAgb2JzZXJ2YWJsZXMgYXMgT2JzZXJ2YWJsZUlucHV0PE9ic2VydmVkVmFsdWVPZjxPPj5bXSxcbiAgICAgIHNjaGVkdWxlcixcbiAgICAgIGtleXNcbiAgICAgICAgPyAvLyBBIGhhbmRsZXIgZm9yIHNjcnViYmluZyB0aGUgYXJyYXkgb2YgYXJncyBpbnRvIGEgZGljdGlvbmFyeS5cbiAgICAgICAgICAodmFsdWVzKSA9PiBjcmVhdGVPYmplY3Qoa2V5cywgdmFsdWVzKVxuICAgICAgICA6IC8vIEEgcGFzc3Rocm91Z2ggdG8ganVzdCByZXR1cm4gdGhlIGFycmF5XG4gICAgICAgICAgaWRlbnRpdHlcbiAgICApXG4gICk7XG5cbiAgcmV0dXJuIHJlc3VsdFNlbGVjdG9yID8gKHJlc3VsdC5waXBlKG1hcE9uZU9yTWFueUFyZ3MocmVzdWx0U2VsZWN0b3IpKSBhcyBPYnNlcnZhYmxlPFI+KSA6IHJlc3VsdDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVMYXRlc3RJbml0KFxuICBvYnNlcnZhYmxlczogT2JzZXJ2YWJsZUlucHV0PGFueT5bXSxcbiAgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZSxcbiAgdmFsdWVUcmFuc2Zvcm06ICh2YWx1ZXM6IGFueVtdKSA9PiBhbnkgPSBpZGVudGl0eVxuKSB7XG4gIHJldHVybiAoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxhbnk+KSA9PiB7XG4gICAgLy8gVGhlIG91dGVyIHN1YnNjcmlwdGlvbi4gV2UncmUgY2FwdHVyaW5nIHRoaXMgaW4gYSBmdW5jdGlvblxuICAgIC8vIGJlY2F1c2Ugd2UgbWF5IGhhdmUgdG8gc2NoZWR1bGUgaXQuXG4gICAgbWF5YmVTY2hlZHVsZShcbiAgICAgIHNjaGVkdWxlcixcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgeyBsZW5ndGggfSA9IG9ic2VydmFibGVzO1xuICAgICAgICAvLyBBIHN0b3JlIGZvciB0aGUgdmFsdWVzIGVhY2ggb2JzZXJ2YWJsZSBoYXMgZW1pdHRlZCBzbyBmYXIuIFdlIG1hdGNoIG9ic2VydmFibGUgdG8gdmFsdWUgb24gaW5kZXguXG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IG5ldyBBcnJheShsZW5ndGgpO1xuICAgICAgICAvLyBUaGUgbnVtYmVyIG9mIGN1cnJlbnRseSBhY3RpdmUgc3Vic2NyaXB0aW9ucywgYXMgdGhleSBjb21wbGV0ZSwgd2UgZGVjcmVtZW50IHRoaXMgbnVtYmVyIHRvIHNlZSBpZlxuICAgICAgICAvLyB3ZSBhcmUgYWxsIGRvbmUgY29tYmluaW5nIHZhbHVlcywgc28gd2UgY2FuIGNvbXBsZXRlIHRoZSByZXN1bHQuXG4gICAgICAgIGxldCBhY3RpdmUgPSBsZW5ndGg7XG4gICAgICAgIC8vIFRoZSBudW1iZXIgb2YgaW5uZXIgc291cmNlcyB0aGF0IHN0aWxsIGhhdmVuJ3QgZW1pdHRlZCB0aGUgZmlyc3QgdmFsdWVcbiAgICAgICAgLy8gV2UgbmVlZCB0byB0cmFjayB0aGlzIGJlY2F1c2UgYWxsIHNvdXJjZXMgbmVlZCB0byBlbWl0IG9uZSB2YWx1ZSBpbiBvcmRlclxuICAgICAgICAvLyB0byBzdGFydCBlbWl0dGluZyB2YWx1ZXMuXG4gICAgICAgIGxldCByZW1haW5pbmdGaXJzdFZhbHVlcyA9IGxlbmd0aDtcbiAgICAgICAgLy8gVGhlIGxvb3AgdG8ga2ljayBvZmYgc3Vic2NyaXB0aW9uLiBXZSdyZSBrZXlpbmcgZXZlcnl0aGluZyBvbiBpbmRleCBgaWAgdG8gcmVsYXRlIHRoZSBvYnNlcnZhYmxlcyBwYXNzZWRcbiAgICAgICAgLy8gaW4gdG8gdGhlIHNsb3QgaW4gdGhlIG91dHB1dCBhcnJheSBvciB0aGUga2V5IGluIHRoZSBhcnJheSBvZiBrZXlzIGluIHRoZSBvdXRwdXQgZGljdGlvbmFyeS5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsZW5ndGg7IGkrKykge1xuICAgICAgICAgIG1heWJlU2NoZWR1bGUoXG4gICAgICAgICAgICBzY2hlZHVsZXIsXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IHNvdXJjZSA9IGZyb20ob2JzZXJ2YWJsZXNbaV0sIHNjaGVkdWxlciBhcyBhbnkpO1xuICAgICAgICAgICAgICBsZXQgaGFzRmlyc3RWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgICAgICAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIsXG4gICAgICAgICAgICAgICAgICAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgLy8gV2hlbiB3ZSBnZXQgYSB2YWx1ZSwgcmVjb3JkIGl0IGluIG91ciBzZXQgb2YgdmFsdWVzLlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZXNbaV0gPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCFoYXNGaXJzdFZhbHVlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgLy8gSWYgdGhpcyBpcyBvdXIgZmlyc3QgdmFsdWUsIHJlY29yZCB0aGF0LlxuICAgICAgICAgICAgICAgICAgICAgIGhhc0ZpcnN0VmFsdWUgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgICAgIHJlbWFpbmluZ0ZpcnN0VmFsdWVzLS07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgaWYgKCFyZW1haW5pbmdGaXJzdFZhbHVlcykge1xuICAgICAgICAgICAgICAgICAgICAgIC8vIFdlJ3JlIG5vdCB3YWl0aW5nIGZvciBhbnkgbW9yZVxuICAgICAgICAgICAgICAgICAgICAgIC8vIGZpcnN0IHZhbHVlcywgc28gd2UgY2FuIGVtaXQhXG4gICAgICAgICAgICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHZhbHVlVHJhbnNmb3JtKHZhbHVlcy5zbGljZSgpKSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmICghLS1hY3RpdmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAvLyBXZSBvbmx5IGNvbXBsZXRlIHRoZSByZXN1bHQgaWYgd2UgaGF2ZSBubyBtb3JlIGFjdGl2ZVxuICAgICAgICAgICAgICAgICAgICAgIC8vIGlubmVyIG9ic2VydmFibGVzLlxuICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBzdWJzY3JpYmVyXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHN1YnNjcmliZXJcbiAgICApO1xuICB9O1xufVxuXG4vKipcbiAqIEEgc21hbGwgdXRpbGl0eSB0byBoYW5kbGUgdGhlIGNvdXBsZSBvZiBsb2NhdGlvbnMgd2hlcmUgd2Ugd2FudCB0byBzY2hlZHVsZSBpZiBhIHNjaGVkdWxlciB3YXMgcHJvdmlkZWQsXG4gKiBidXQgd2UgZG9uJ3QgaWYgdGhlcmUgd2FzIG5vIHNjaGVkdWxlci5cbiAqL1xuZnVuY3Rpb24gbWF5YmVTY2hlZHVsZShzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UgfCB1bmRlZmluZWQsIGV4ZWN1dGU6ICgpID0+IHZvaWQsIHN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uKSB7XG4gIGlmIChzY2hlZHVsZXIpIHtcbiAgICBleGVjdXRlU2NoZWR1bGUoc3Vic2NyaXB0aW9uLCBzY2hlZHVsZXIsIGV4ZWN1dGUpO1xuICB9IGVsc2Uge1xuICAgIGV4ZWN1dGUoKTtcbiAgfVxufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IGlubmVyRnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvaW5uZXJGcm9tJztcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuLi9TdWJzY3JpYmVyJztcbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCwgU2NoZWR1bGVyTGlrZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGV4ZWN1dGVTY2hlZHVsZSB9IGZyb20gJy4uL3V0aWwvZXhlY3V0ZVNjaGVkdWxlJztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuLyoqXG4gKiBBIHByb2Nlc3MgZW1ib2R5aW5nIHRoZSBnZW5lcmFsIFwibWVyZ2VcIiBzdHJhdGVneS4gVGhpcyBpcyB1c2VkIGluXG4gKiBgbWVyZ2VNYXBgIGFuZCBgbWVyZ2VTY2FuYCBiZWNhdXNlIHRoZSBsb2dpYyBpcyBvdGhlcndpc2UgbmVhcmx5IGlkZW50aWNhbC5cbiAqIEBwYXJhbSBzb3VyY2UgVGhlIG9yaWdpbmFsIHNvdXJjZSBvYnNlcnZhYmxlXG4gKiBAcGFyYW0gc3Vic2NyaWJlciBUaGUgY29uc3VtZXIgc3Vic2NyaWJlclxuICogQHBhcmFtIHByb2plY3QgVGhlIHByb2plY3Rpb24gZnVuY3Rpb24gdG8gZ2V0IG91ciBpbm5lciBzb3VyY2VzXG4gKiBAcGFyYW0gY29uY3VycmVudCBUaGUgbnVtYmVyIG9mIGNvbmN1cnJlbnQgaW5uZXIgc3Vic2NyaXB0aW9uc1xuICogQHBhcmFtIG9uQmVmb3JlTmV4dCBBZGRpdGlvbmFsIGxvZ2ljIHRvIGFwcGx5IGJlZm9yZSBuZXh0aW5nIHRvIG91ciBjb25zdW1lclxuICogQHBhcmFtIGV4cGFuZCBJZiBgdHJ1ZWAgdGhpcyB3aWxsIHBlcmZvcm0gYW4gXCJleHBhbmRcIiBzdHJhdGVneSwgd2hpY2ggZGlmZmVycyBvbmx5XG4gKiBpbiB0aGF0IGl0IHJlY3Vyc2VzLCBhbmQgdGhlIGlubmVyIHN1YnNjcmlwdGlvbiBtdXN0IGJlIHNjaGVkdWxlLWFibGUuXG4gKiBAcGFyYW0gaW5uZXJTdWJTY2hlZHVsZXIgQSBzY2hlZHVsZXIgdG8gdXNlIHRvIHNjaGVkdWxlIGlubmVyIHN1YnNjcmlwdGlvbnMsXG4gKiB0aGlzIGlzIHRvIHN1cHBvcnQgdGhlIGV4cGFuZCBzdHJhdGVneSwgbW9zdGx5LCBhbmQgc2hvdWxkIGJlIGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlSW50ZXJuYWxzPFQsIFI+KFxuICBzb3VyY2U6IE9ic2VydmFibGU8VD4sXG4gIHN1YnNjcmliZXI6IFN1YnNjcmliZXI8Uj4sXG4gIHByb2plY3Q6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gT2JzZXJ2YWJsZUlucHV0PFI+LFxuICBjb25jdXJyZW50OiBudW1iZXIsXG4gIG9uQmVmb3JlTmV4dD86IChpbm5lclZhbHVlOiBSKSA9PiB2b2lkLFxuICBleHBhbmQ/OiBib29sZWFuLFxuICBpbm5lclN1YlNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UsXG4gIGFkZGl0aW9uYWxGaW5hbGl6ZXI/OiAoKSA9PiB2b2lkXG4pIHtcbiAgLy8gQnVmZmVyZWQgdmFsdWVzLCBpbiB0aGUgZXZlbnQgb2YgZ29pbmcgb3ZlciBvdXIgY29uY3VycmVuY3kgbGltaXRcbiAgY29uc3QgYnVmZmVyOiBUW10gPSBbXTtcbiAgLy8gVGhlIG51bWJlciBvZiBhY3RpdmUgaW5uZXIgc3Vic2NyaXB0aW9ucy5cbiAgbGV0IGFjdGl2ZSA9IDA7XG4gIC8vIEFuIGluZGV4IHRvIHBhc3MgdG8gb3VyIGFjY3VtdWxhdG9yIGZ1bmN0aW9uXG4gIGxldCBpbmRleCA9IDA7XG4gIC8vIFdoZXRoZXIgb3Igbm90IHRoZSBvdXRlciBzb3VyY2UgaGFzIGNvbXBsZXRlZC5cbiAgbGV0IGlzQ29tcGxldGUgPSBmYWxzZTtcblxuICAvKipcbiAgICogQ2hlY2tzIHRvIHNlZSBpZiB3ZSBjYW4gY29tcGxldGUgb3VyIHJlc3VsdCBvciBub3QuXG4gICAqL1xuICBjb25zdCBjaGVja0NvbXBsZXRlID0gKCkgPT4ge1xuICAgIC8vIElmIHRoZSBvdXRlciBoYXMgY29tcGxldGVkLCBhbmQgbm90aGluZyBpcyBsZWZ0IGluIHRoZSBidWZmZXIsXG4gICAgLy8gYW5kIHdlIGRvbid0IGhhdmUgYW55IGFjdGl2ZSBpbm5lciBzdWJzY3JpcHRpb25zLCB0aGVuIHdlIGNhblxuICAgIC8vIEVtaXQgdGhlIHN0YXRlIGFuZCBjb21wbGV0ZS5cbiAgICBpZiAoaXNDb21wbGV0ZSAmJiAhYnVmZmVyLmxlbmd0aCAmJiAhYWN0aXZlKSB7XG4gICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgfVxuICB9O1xuXG4gIC8vIElmIHdlJ3JlIHVuZGVyIG91ciBjb25jdXJyZW5jeSBsaW1pdCwganVzdCBzdGFydCB0aGUgaW5uZXIgc3Vic2NyaXB0aW9uLCBvdGhlcndpc2UgYnVmZmVyIGFuZCB3YWl0LlxuICBjb25zdCBvdXRlck5leHQgPSAodmFsdWU6IFQpID0+IChhY3RpdmUgPCBjb25jdXJyZW50ID8gZG9Jbm5lclN1Yih2YWx1ZSkgOiBidWZmZXIucHVzaCh2YWx1ZSkpO1xuXG4gIGNvbnN0IGRvSW5uZXJTdWIgPSAodmFsdWU6IFQpID0+IHtcbiAgICAvLyBJZiB3ZSdyZSBleHBhbmRpbmcsIHdlIG5lZWQgdG8gZW1pdCB0aGUgb3V0ZXIgdmFsdWVzIGFuZCB0aGUgaW5uZXIgdmFsdWVzXG4gICAgLy8gYXMgdGhlIGlubmVycyB3aWxsIFwiYmVjb21lIG91dGVyc1wiIGluIGEgd2F5IGFzIHRoZXkgYXJlIHJlY3Vyc2l2ZWx5IGZlZFxuICAgIC8vIGJhY2sgdG8gdGhlIHByb2plY3Rpb24gbWVjaGFuaXNtLlxuICAgIGV4cGFuZCAmJiBzdWJzY3JpYmVyLm5leHQodmFsdWUgYXMgYW55KTtcblxuICAgIC8vIEluY3JlbWVudCB0aGUgbnVtYmVyIG9mIGFjdGl2ZSBzdWJzY3JpcHRpb25zIHNvIHdlIGNhbiB0cmFjayBpdFxuICAgIC8vIGFnYWluc3Qgb3VyIGNvbmN1cnJlbmN5IGxpbWl0IGxhdGVyLlxuICAgIGFjdGl2ZSsrO1xuXG4gICAgLy8gQSBmbGFnIHVzZWQgdG8gc2hvdyB0aGF0IHRoZSBpbm5lciBvYnNlcnZhYmxlIGNvbXBsZXRlZC5cbiAgICAvLyBUaGlzIGlzIGNoZWNrZWQgZHVyaW5nIGZpbmFsaXphdGlvbiB0byBzZWUgaWYgd2Ugc2hvdWxkXG4gICAgLy8gbW92ZSB0byB0aGUgbmV4dCBpdGVtIGluIHRoZSBidWZmZXIsIGlmIHRoZXJlIGlzIG9uLlxuICAgIGxldCBpbm5lckNvbXBsZXRlID0gZmFsc2U7XG5cbiAgICAvLyBTdGFydCBvdXIgaW5uZXIgc3Vic2NyaXB0aW9uLlxuICAgIGlubmVyRnJvbShwcm9qZWN0KHZhbHVlLCBpbmRleCsrKSkuc3Vic2NyaWJlKFxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgICBzdWJzY3JpYmVyLFxuICAgICAgICAoaW5uZXJWYWx1ZSkgPT4ge1xuICAgICAgICAgIC8vIGBtZXJnZVNjYW5gIGhhcyBhZGRpdGlvbmFsIGhhbmRsaW5nIGhlcmUuIEZvciBleGFtcGxlXG4gICAgICAgICAgLy8gdGFraW5nIHRoZSBpbm5lciB2YWx1ZSBhbmQgdXBkYXRpbmcgc3RhdGUuXG4gICAgICAgICAgb25CZWZvcmVOZXh0Py4oaW5uZXJWYWx1ZSk7XG5cbiAgICAgICAgICBpZiAoZXhwYW5kKSB7XG4gICAgICAgICAgICAvLyBJZiB3ZSdyZSBleHBhbmRpbmcsIHRoZW4ganVzdCByZWN1cnNlIGJhY2sgdG8gb3VyIG91dGVyXG4gICAgICAgICAgICAvLyBoYW5kbGVyLiBJdCB3aWxsIGVtaXQgdGhlIHZhbHVlIGZpcnN0IHRoaW5nLlxuICAgICAgICAgICAgb3V0ZXJOZXh0KGlubmVyVmFsdWUgYXMgYW55KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCBlbWl0IHRoZSBpbm5lciB2YWx1ZS5cbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChpbm5lclZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICAvLyBGbGFnIHRoYXQgd2UgaGF2ZSBjb21wbGV0ZWQsIHNvIHdlIGtub3cgdG8gY2hlY2sgdGhlIGJ1ZmZlclxuICAgICAgICAgIC8vIGR1cmluZyBmaW5hbGl6YXRpb24uXG4gICAgICAgICAgaW5uZXJDb21wbGV0ZSA9IHRydWU7XG4gICAgICAgIH0sXG4gICAgICAgIC8vIEVycm9ycyBhcmUgcGFzc2VkIHRvIHRoZSBkZXN0aW5hdGlvbi5cbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgLy8gRHVyaW5nIGZpbmFsaXphdGlvbiwgaWYgdGhlIGlubmVyIGNvbXBsZXRlZCAoaXQgd2Fzbid0IGVycm9yZWQgb3JcbiAgICAgICAgICAvLyBjYW5jZWxsZWQpLCB0aGVuIHdlIHdhbnQgdG8gdHJ5IHRoZSBuZXh0IGl0ZW0gaW4gdGhlIGJ1ZmZlciBpZlxuICAgICAgICAgIC8vIHRoZXJlIGlzIG9uZS5cbiAgICAgICAgICBpZiAoaW5uZXJDb21wbGV0ZSkge1xuICAgICAgICAgICAgLy8gV2UgaGF2ZSB0byB3cmFwIHRoaXMgaW4gYSB0cnkvY2F0Y2ggYmVjYXVzZSBpdCBoYXBwZW5zIGR1cmluZ1xuICAgICAgICAgICAgLy8gZmluYWxpemF0aW9uLCBwb3NzaWJseSBhc3luY2hyb25vdXNseSwgYW5kIHdlIHdhbnQgdG8gcGFzc1xuICAgICAgICAgICAgLy8gYW55IGVycm9ycyB0aGF0IGhhcHBlbiAobGlrZSBpbiBhIHByb2plY3Rpb24gZnVuY3Rpb24pIHRvXG4gICAgICAgICAgICAvLyB0aGUgb3V0ZXIgU3Vic2NyaWJlci5cbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIC8vIElOTkVSIFNPVVJDRSBDT01QTEVURVxuICAgICAgICAgICAgICAvLyBEZWNyZW1lbnQgdGhlIGFjdGl2ZSBjb3VudCB0byBlbnN1cmUgdGhhdCB0aGUgbmV4dCB0aW1lXG4gICAgICAgICAgICAgIC8vIHdlIHRyeSB0byBjYWxsIGBkb0lubmVyU3ViYCwgdGhlIG51bWJlciBpcyBhY2N1cmF0ZS5cbiAgICAgICAgICAgICAgYWN0aXZlLS07XG4gICAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgbW9yZSB2YWx1ZXMgaW4gdGhlIGJ1ZmZlciwgdHJ5IHRvIHByb2Nlc3MgdGhvc2VcbiAgICAgICAgICAgICAgLy8gTm90ZSB0aGF0IHRoaXMgY2FsbCB3aWxsIGluY3JlbWVudCBgYWN0aXZlYCBhaGVhZCBvZiB0aGVcbiAgICAgICAgICAgICAgLy8gbmV4dCBjb25kaXRpb25hbCwgaWYgdGhlcmUgd2VyZSBhbnkgbW9yZSBpbm5lciBzdWJzY3JpcHRpb25zXG4gICAgICAgICAgICAgIC8vIHRvIHN0YXJ0LlxuICAgICAgICAgICAgICB3aGlsZSAoYnVmZmVyLmxlbmd0aCAmJiBhY3RpdmUgPCBjb25jdXJyZW50KSB7XG4gICAgICAgICAgICAgICAgY29uc3QgYnVmZmVyZWRWYWx1ZSA9IGJ1ZmZlci5zaGlmdCgpITtcbiAgICAgICAgICAgICAgICAvLyBQYXJ0aWN1bGFybHkgZm9yIGBleHBhbmRgLCB3ZSBuZWVkIHRvIGNoZWNrIHRvIHNlZSBpZiBhIHNjaGVkdWxlciB3YXMgcHJvdmlkZWRcbiAgICAgICAgICAgICAgICAvLyBmb3Igd2hlbiB3ZSB3YW50IHRvIHN0YXJ0IG91ciBpbm5lciBzdWJzY3JpcHRpb24uIE90aGVyd2lzZSwgd2UganVzdCBzdGFydFxuICAgICAgICAgICAgICAgIC8vIGFyZSBuZXh0IGlubmVyIHN1YnNjcmlwdGlvbi5cbiAgICAgICAgICAgICAgICBpZiAoaW5uZXJTdWJTY2hlZHVsZXIpIHtcbiAgICAgICAgICAgICAgICAgIGV4ZWN1dGVTY2hlZHVsZShzdWJzY3JpYmVyLCBpbm5lclN1YlNjaGVkdWxlciwgKCkgPT4gZG9Jbm5lclN1YihidWZmZXJlZFZhbHVlKSk7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGRvSW5uZXJTdWIoYnVmZmVyZWRWYWx1ZSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB3ZSBjYW4gY29tcGxldGUsIGFuZCBjb21wbGV0ZSBpZiBzby5cbiAgICAgICAgICAgICAgY2hlY2tDb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9O1xuXG4gIC8vIFN1YnNjcmliZSB0byBvdXIgc291cmNlIG9ic2VydmFibGUuXG4gIHNvdXJjZS5zdWJzY3JpYmUoXG4gICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKHN1YnNjcmliZXIsIG91dGVyTmV4dCwgKCkgPT4ge1xuICAgICAgLy8gT3V0ZXIgY29tcGxldGVkLCBtYWtlIGEgbm90ZSBvZiBpdCwgYW5kIGNoZWNrIHRvIHNlZSBpZiB3ZSBjYW4gY29tcGxldGUgZXZlcnl0aGluZy5cbiAgICAgIGlzQ29tcGxldGUgPSB0cnVlO1xuICAgICAgY2hlY2tDb21wbGV0ZSgpO1xuICAgIH0pXG4gICk7XG5cbiAgLy8gQWRkaXRpb25hbCBmaW5hbGl6YXRpb24gKGZvciB3aGVuIHRoZSBkZXN0aW5hdGlvbiBpcyB0b3JuIGRvd24pLlxuICAvLyBPdGhlciBmaW5hbGl6YXRpb24gaXMgYWRkZWQgaW1wbGljaXRseSB2aWEgc3Vic2NyaXB0aW9uIGFib3ZlLlxuICByZXR1cm4gKCkgPT4ge1xuICAgIGFkZGl0aW9uYWxGaW5hbGl6ZXI/LigpO1xuICB9O1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGVJbnB1dCwgT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2ZWRWYWx1ZU9mIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAnLi9tYXAnO1xuaW1wb3J0IHsgaW5uZXJGcm9tIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9pbm5lckZyb20nO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBtZXJnZUludGVybmFscyB9IGZyb20gJy4vbWVyZ2VJbnRlcm5hbHMnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWwvaXNGdW5jdGlvbic7XG5cbi8qIHRzbGludDpkaXNhYmxlOm1heC1saW5lLWxlbmd0aCAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlTWFwPFQsIE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8YW55Pj4oXG4gIHByb2plY3Q6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gTyxcbiAgY29uY3VycmVudD86IG51bWJlclxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBPYnNlcnZlZFZhbHVlT2Y8Tz4+O1xuLyoqIEBkZXByZWNhdGVkIFRoZSBgcmVzdWx0U2VsZWN0b3JgIHBhcmFtZXRlciB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSBhbiBpbm5lciBgbWFwYCBpbnN0ZWFkLiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9yZXN1bHRTZWxlY3RvciAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlTWFwPFQsIE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8YW55Pj4oXG4gIHByb2plY3Q6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gTyxcbiAgcmVzdWx0U2VsZWN0b3I6IHVuZGVmaW5lZCxcbiAgY29uY3VycmVudD86IG51bWJlclxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBPYnNlcnZlZFZhbHVlT2Y8Tz4+O1xuLyoqIEBkZXByZWNhdGVkIFRoZSBgcmVzdWx0U2VsZWN0b3JgIHBhcmFtZXRlciB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSBhbiBpbm5lciBgbWFwYCBpbnN0ZWFkLiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9yZXN1bHRTZWxlY3RvciAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlTWFwPFQsIFIsIE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8YW55Pj4oXG4gIHByb2plY3Q6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gTyxcbiAgcmVzdWx0U2VsZWN0b3I6IChvdXRlclZhbHVlOiBULCBpbm5lclZhbHVlOiBPYnNlcnZlZFZhbHVlT2Y8Tz4sIG91dGVySW5kZXg6IG51bWJlciwgaW5uZXJJbmRleDogbnVtYmVyKSA9PiBSLFxuICBjb25jdXJyZW50PzogbnVtYmVyXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFI+O1xuLyogdHNsaW50OmVuYWJsZTptYXgtbGluZS1sZW5ndGggKi9cblxuLyoqXG4gKiBQcm9qZWN0cyBlYWNoIHNvdXJjZSB2YWx1ZSB0byBhbiBPYnNlcnZhYmxlIHdoaWNoIGlzIG1lcmdlZCBpbiB0aGUgb3V0cHV0XG4gKiBPYnNlcnZhYmxlLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5NYXBzIGVhY2ggdmFsdWUgdG8gYW4gT2JzZXJ2YWJsZSwgdGhlbiBmbGF0dGVucyBhbGwgb2ZcbiAqIHRoZXNlIGlubmVyIE9ic2VydmFibGVzIHVzaW5nIHtAbGluayBtZXJnZUFsbH0uPC9zcGFuPlxuICpcbiAqICFbXShtZXJnZU1hcC5wbmcpXG4gKlxuICogUmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgaXRlbXMgYmFzZWQgb24gYXBwbHlpbmcgYSBmdW5jdGlvbiB0aGF0IHlvdVxuICogc3VwcGx5IHRvIGVhY2ggaXRlbSBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSwgd2hlcmUgdGhhdCBmdW5jdGlvblxuICogcmV0dXJucyBhbiBPYnNlcnZhYmxlLCBhbmQgdGhlbiBtZXJnaW5nIHRob3NlIHJlc3VsdGluZyBPYnNlcnZhYmxlcyBhbmRcbiAqIGVtaXR0aW5nIHRoZSByZXN1bHRzIG9mIHRoaXMgbWVyZ2VyLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBNYXAgYW5kIGZsYXR0ZW4gZWFjaCBsZXR0ZXIgdG8gYW4gT2JzZXJ2YWJsZSB0aWNraW5nIGV2ZXJ5IDEgc2Vjb25kXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mLCBtZXJnZU1hcCwgaW50ZXJ2YWwsIG1hcCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGxldHRlcnMgPSBvZignYScsICdiJywgJ2MnKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGxldHRlcnMucGlwZShcbiAqICAgbWVyZ2VNYXAoeCA9PiBpbnRlcnZhbCgxMDAwKS5waXBlKG1hcChpID0+IHggKyBpKSkpXG4gKiApO1xuICpcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKlxuICogLy8gUmVzdWx0cyBpbiB0aGUgZm9sbG93aW5nOlxuICogLy8gYTBcbiAqIC8vIGIwXG4gKiAvLyBjMFxuICogLy8gYTFcbiAqIC8vIGIxXG4gKiAvLyBjMVxuICogLy8gY29udGludWVzIHRvIGxpc3QgYSwgYiwgYyBldmVyeSBzZWNvbmQgd2l0aCByZXNwZWN0aXZlIGFzY2VuZGluZyBpbnRlZ2Vyc1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgY29uY2F0TWFwfVxuICogQHNlZSB7QGxpbmsgZXhoYXVzdE1hcH1cbiAqIEBzZWUge0BsaW5rIG1lcmdlfVxuICogQHNlZSB7QGxpbmsgbWVyZ2VBbGx9XG4gKiBAc2VlIHtAbGluayBtZXJnZU1hcFRvfVxuICogQHNlZSB7QGxpbmsgbWVyZ2VTY2FufVxuICogQHNlZSB7QGxpbmsgc3dpdGNoTWFwfVxuICpcbiAqIEBwYXJhbSB7ZnVuY3Rpb24odmFsdWU6IFQsID9pbmRleDogbnVtYmVyKTogT2JzZXJ2YWJsZUlucHV0fSBwcm9qZWN0IEEgZnVuY3Rpb25cbiAqIHRoYXQsIHdoZW4gYXBwbGllZCB0byBhbiBpdGVtIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlLCByZXR1cm5zIGFuXG4gKiBPYnNlcnZhYmxlLlxuICogQHBhcmFtIHtudW1iZXJ9IFtjb25jdXJyZW50PUluZmluaXR5XSBNYXhpbXVtIG51bWJlciBvZiBpbnB1dFxuICogT2JzZXJ2YWJsZXMgYmVpbmcgc3Vic2NyaWJlZCB0byBjb25jdXJyZW50bHkuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzdWx0IG9mXG4gKiBhcHBseWluZyB0aGUgcHJvamVjdGlvbiBmdW5jdGlvbiAoYW5kIHRoZSBvcHRpb25hbCBkZXByZWNhdGVkXG4gKiBgcmVzdWx0U2VsZWN0b3JgKSB0byBlYWNoIGl0ZW0gZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUgYW5kIG1lcmdpbmdcbiAqIHRoZSByZXN1bHRzIG9mIHRoZSBPYnNlcnZhYmxlcyBvYnRhaW5lZCBmcm9tIHRoaXMgdHJhbnNmb3JtYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZU1hcDxULCBSLCBPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PGFueT4+KFxuICBwcm9qZWN0OiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IE8sXG4gIHJlc3VsdFNlbGVjdG9yPzogKChvdXRlclZhbHVlOiBULCBpbm5lclZhbHVlOiBPYnNlcnZlZFZhbHVlT2Y8Tz4sIG91dGVySW5kZXg6IG51bWJlciwgaW5uZXJJbmRleDogbnVtYmVyKSA9PiBSKSB8IG51bWJlcixcbiAgY29uY3VycmVudDogbnVtYmVyID0gSW5maW5pdHlcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgT2JzZXJ2ZWRWYWx1ZU9mPE8+IHwgUj4ge1xuICBpZiAoaXNGdW5jdGlvbihyZXN1bHRTZWxlY3RvcikpIHtcbiAgICAvLyBERVBSRUNBVEVEIFBBVEhcbiAgICByZXR1cm4gbWVyZ2VNYXAoKGEsIGkpID0+IG1hcCgoYjogYW55LCBpaTogbnVtYmVyKSA9PiByZXN1bHRTZWxlY3RvcihhLCBiLCBpLCBpaSkpKGlubmVyRnJvbShwcm9qZWN0KGEsIGkpKSksIGNvbmN1cnJlbnQpO1xuICB9IGVsc2UgaWYgKHR5cGVvZiByZXN1bHRTZWxlY3RvciA9PT0gJ251bWJlcicpIHtcbiAgICBjb25jdXJyZW50ID0gcmVzdWx0U2VsZWN0b3I7XG4gIH1cblxuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiBtZXJnZUludGVybmFscyhzb3VyY2UsIHN1YnNjcmliZXIsIHByb2plY3QsIGNvbmN1cnJlbnQpKTtcbn1cbiIsICJpbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJy4vbWVyZ2VNYXAnO1xuaW1wb3J0IHsgaWRlbnRpdHkgfSBmcm9tICcuLi91dGlsL2lkZW50aXR5JztcbmltcG9ydCB7IE9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGVJbnB1dCwgT2JzZXJ2ZWRWYWx1ZU9mIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKipcbiAqIENvbnZlcnRzIGEgaGlnaGVyLW9yZGVyIE9ic2VydmFibGUgaW50byBhIGZpcnN0LW9yZGVyIE9ic2VydmFibGUgd2hpY2hcbiAqIGNvbmN1cnJlbnRseSBkZWxpdmVycyBhbGwgdmFsdWVzIHRoYXQgYXJlIGVtaXR0ZWQgb24gdGhlIGlubmVyIE9ic2VydmFibGVzLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5GbGF0dGVucyBhbiBPYnNlcnZhYmxlLW9mLU9ic2VydmFibGVzLjwvc3Bhbj5cbiAqXG4gKiAhW10obWVyZ2VBbGwucG5nKVxuICpcbiAqIGBtZXJnZUFsbGAgc3Vic2NyaWJlcyB0byBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgT2JzZXJ2YWJsZXMsIGFsc28ga25vd24gYXNcbiAqIGEgaGlnaGVyLW9yZGVyIE9ic2VydmFibGUuIEVhY2ggdGltZSBpdCBvYnNlcnZlcyBvbmUgb2YgdGhlc2UgZW1pdHRlZCBpbm5lclxuICogT2JzZXJ2YWJsZXMsIGl0IHN1YnNjcmliZXMgdG8gdGhhdCBhbmQgZGVsaXZlcnMgYWxsIHRoZSB2YWx1ZXMgZnJvbSB0aGVcbiAqIGlubmVyIE9ic2VydmFibGUgb24gdGhlIG91dHB1dCBPYnNlcnZhYmxlLiBUaGUgb3V0cHV0IE9ic2VydmFibGUgb25seVxuICogY29tcGxldGVzIG9uY2UgYWxsIGlubmVyIE9ic2VydmFibGVzIGhhdmUgY29tcGxldGVkLiBBbnkgZXJyb3IgZGVsaXZlcmVkIGJ5XG4gKiBhIGlubmVyIE9ic2VydmFibGUgd2lsbCBiZSBpbW1lZGlhdGVseSBlbWl0dGVkIG9uIHRoZSBvdXRwdXQgT2JzZXJ2YWJsZS5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIFNwYXduIGEgbmV3IGludGVydmFsIE9ic2VydmFibGUgZm9yIGVhY2ggY2xpY2sgZXZlbnQsIGFuZCBibGVuZCB0aGVpciBvdXRwdXRzIGFzIG9uZSBPYnNlcnZhYmxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgbWFwLCBpbnRlcnZhbCwgbWVyZ2VBbGwgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgaGlnaGVyT3JkZXIgPSBjbGlja3MucGlwZShtYXAoKCkgPT4gaW50ZXJ2YWwoMTAwMCkpKTtcbiAqIGNvbnN0IGZpcnN0T3JkZXIgPSBoaWdoZXJPcmRlci5waXBlKG1lcmdlQWxsKCkpO1xuICpcbiAqIGZpcnN0T3JkZXIuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogQ291bnQgZnJvbSAwIHRvIDkgZXZlcnkgc2Vjb25kIGZvciBlYWNoIGNsaWNrLCBidXQgb25seSBhbGxvdyAyIGNvbmN1cnJlbnQgdGltZXJzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgbWFwLCBpbnRlcnZhbCwgdGFrZSwgbWVyZ2VBbGwgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgaGlnaGVyT3JkZXIgPSBjbGlja3MucGlwZShcbiAqICAgbWFwKCgpID0+IGludGVydmFsKDEwMDApLnBpcGUodGFrZSgxMCkpKVxuICogKTtcbiAqIGNvbnN0IGZpcnN0T3JkZXIgPSBoaWdoZXJPcmRlci5waXBlKG1lcmdlQWxsKDIpKTtcbiAqXG4gKiBmaXJzdE9yZGVyLnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGNvbWJpbmVMYXRlc3RBbGx9XG4gKiBAc2VlIHtAbGluayBjb25jYXRBbGx9XG4gKiBAc2VlIHtAbGluayBleGhhdXN0QWxsfVxuICogQHNlZSB7QGxpbmsgbWVyZ2V9XG4gKiBAc2VlIHtAbGluayBtZXJnZU1hcH1cbiAqIEBzZWUge0BsaW5rIG1lcmdlTWFwVG99XG4gKiBAc2VlIHtAbGluayBtZXJnZVNjYW59XG4gKiBAc2VlIHtAbGluayBzd2l0Y2hBbGx9XG4gKiBAc2VlIHtAbGluayBzd2l0Y2hNYXB9XG4gKiBAc2VlIHtAbGluayB6aXBBbGx9XG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IFtjb25jdXJyZW50PUluZmluaXR5XSBNYXhpbXVtIG51bWJlciBvZiBpbm5lclxuICogT2JzZXJ2YWJsZXMgYmVpbmcgc3Vic2NyaWJlZCB0byBjb25jdXJyZW50bHkuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB2YWx1ZXMgY29taW5nIGZyb21cbiAqIGFsbCB0aGUgaW5uZXIgT2JzZXJ2YWJsZXMgZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUFsbDxPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PGFueT4+KGNvbmN1cnJlbnQ6IG51bWJlciA9IEluZmluaXR5KTogT3BlcmF0b3JGdW5jdGlvbjxPLCBPYnNlcnZlZFZhbHVlT2Y8Tz4+IHtcbiAgcmV0dXJuIG1lcmdlTWFwKGlkZW50aXR5LCBjb25jdXJyZW50KTtcbn1cbiIsICJpbXBvcnQgeyBtZXJnZUFsbCB9IGZyb20gJy4vbWVyZ2VBbGwnO1xuaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZUlucHV0LCBPYnNlcnZlZFZhbHVlT2YgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogQ29udmVydHMgYSBoaWdoZXItb3JkZXIgT2JzZXJ2YWJsZSBpbnRvIGEgZmlyc3Qtb3JkZXIgT2JzZXJ2YWJsZSBieVxuICogY29uY2F0ZW5hdGluZyB0aGUgaW5uZXIgT2JzZXJ2YWJsZXMgaW4gb3JkZXIuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkZsYXR0ZW5zIGFuIE9ic2VydmFibGUtb2YtT2JzZXJ2YWJsZXMgYnkgcHV0dGluZyBvbmVcbiAqIGlubmVyIE9ic2VydmFibGUgYWZ0ZXIgdGhlIG90aGVyLjwvc3Bhbj5cbiAqXG4gKiAhW10oY29uY2F0QWxsLnN2ZylcbiAqXG4gKiBKb2lucyBldmVyeSBPYnNlcnZhYmxlIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSAoYSBoaWdoZXItb3JkZXIgT2JzZXJ2YWJsZSksIGluXG4gKiBhIHNlcmlhbCBmYXNoaW9uLiBJdCBzdWJzY3JpYmVzIHRvIGVhY2ggaW5uZXIgT2JzZXJ2YWJsZSBvbmx5IGFmdGVyIHRoZVxuICogcHJldmlvdXMgaW5uZXIgT2JzZXJ2YWJsZSBoYXMgY29tcGxldGVkLCBhbmQgbWVyZ2VzIGFsbCBvZiB0aGVpciB2YWx1ZXMgaW50b1xuICogdGhlIHJldHVybmVkIG9ic2VydmFibGUuXG4gKlxuICogX19XYXJuaW5nOl9fIElmIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBlbWl0cyBPYnNlcnZhYmxlcyBxdWlja2x5IGFuZFxuICogZW5kbGVzc2x5LCBhbmQgdGhlIGlubmVyIE9ic2VydmFibGVzIGl0IGVtaXRzIGdlbmVyYWxseSBjb21wbGV0ZSBzbG93ZXIgdGhhblxuICogdGhlIHNvdXJjZSBlbWl0cywgeW91IGNhbiBydW4gaW50byBtZW1vcnkgaXNzdWVzIGFzIHRoZSBpbmNvbWluZyBPYnNlcnZhYmxlc1xuICogY29sbGVjdCBpbiBhbiB1bmJvdW5kZWQgYnVmZmVyLlxuICpcbiAqIE5vdGU6IGBjb25jYXRBbGxgIGlzIGVxdWl2YWxlbnQgdG8gYG1lcmdlQWxsYCB3aXRoIGNvbmN1cnJlbmN5IHBhcmFtZXRlciBzZXRcbiAqIHRvIGAxYC5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogRm9yIGVhY2ggY2xpY2sgZXZlbnQsIHRpY2sgZXZlcnkgc2Vjb25kIGZyb20gMCB0byAzLCB3aXRoIG5vIGNvbmN1cnJlbmN5XG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgbWFwLCBpbnRlcnZhbCwgdGFrZSwgY29uY2F0QWxsIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IGhpZ2hlck9yZGVyID0gY2xpY2tzLnBpcGUoXG4gKiAgIG1hcCgoKSA9PiBpbnRlcnZhbCgxMDAwKS5waXBlKHRha2UoNCkpKVxuICogKTtcbiAqIGNvbnN0IGZpcnN0T3JkZXIgPSBoaWdoZXJPcmRlci5waXBlKGNvbmNhdEFsbCgpKTtcbiAqIGZpcnN0T3JkZXIuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIFJlc3VsdHMgaW4gdGhlIGZvbGxvd2luZzpcbiAqIC8vIChyZXN1bHRzIGFyZSBub3QgY29uY3VycmVudClcbiAqIC8vIEZvciBldmVyeSBjbGljayBvbiB0aGUgXCJkb2N1bWVudFwiIGl0IHdpbGwgZW1pdCB2YWx1ZXMgMCB0byAzIHNwYWNlZFxuICogLy8gb24gYSAxMDAwbXMgaW50ZXJ2YWxcbiAqIC8vIG9uZSBjbGljayA9IDEwMDBtcy0+IDAgLTEwMDBtcy0+IDEgLTEwMDBtcy0+IDIgLTEwMDBtcy0+IDNcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGNvbWJpbmVMYXRlc3RBbGx9XG4gKiBAc2VlIHtAbGluayBjb25jYXR9XG4gKiBAc2VlIHtAbGluayBjb25jYXRNYXB9XG4gKiBAc2VlIHtAbGluayBjb25jYXRNYXBUb31cbiAqIEBzZWUge0BsaW5rIGV4aGF1c3RBbGx9XG4gKiBAc2VlIHtAbGluayBtZXJnZUFsbH1cbiAqIEBzZWUge0BsaW5rIHN3aXRjaEFsbH1cbiAqIEBzZWUge0BsaW5rIHN3aXRjaE1hcH1cbiAqIEBzZWUge0BsaW5rIHppcEFsbH1cbiAqXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgZW1pdHRpbmcgdmFsdWVzIGZyb20gYWxsIHRoZVxuICogaW5uZXIgT2JzZXJ2YWJsZXMgY29uY2F0ZW5hdGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uY2F0QWxsPE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8YW55Pj4oKTogT3BlcmF0b3JGdW5jdGlvbjxPLCBPYnNlcnZlZFZhbHVlT2Y8Tz4+IHtcbiAgcmV0dXJuIG1lcmdlQWxsKDEpO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dFR1cGxlLCBTY2hlZHVsZXJMaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgY29uY2F0QWxsIH0gZnJvbSAnLi4vb3BlcmF0b3JzL2NvbmNhdEFsbCc7XG5pbXBvcnQgeyBwb3BTY2hlZHVsZXIgfSBmcm9tICcuLi91dGlsL2FyZ3MnO1xuaW1wb3J0IHsgZnJvbSB9IGZyb20gJy4vZnJvbSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXQ8VCBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oLi4uaW5wdXRzOiBbLi4uT2JzZXJ2YWJsZUlucHV0VHVwbGU8VD5dKTogT2JzZXJ2YWJsZTxUW251bWJlcl0+O1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmNhdDxUIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdPihcbiAgLi4uaW5wdXRzQW5kU2NoZWR1bGVyOiBbLi4uT2JzZXJ2YWJsZUlucHV0VHVwbGU8VD4sIFNjaGVkdWxlckxpa2VdXG4pOiBPYnNlcnZhYmxlPFRbbnVtYmVyXT47XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBvdXRwdXQgT2JzZXJ2YWJsZSB3aGljaCBzZXF1ZW50aWFsbHkgZW1pdHMgYWxsIHZhbHVlcyBmcm9tIHRoZSBmaXJzdCBnaXZlblxuICogT2JzZXJ2YWJsZSBhbmQgdGhlbiBtb3ZlcyBvbiB0byB0aGUgbmV4dC5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+Q29uY2F0ZW5hdGVzIG11bHRpcGxlIE9ic2VydmFibGVzIHRvZ2V0aGVyIGJ5XG4gKiBzZXF1ZW50aWFsbHkgZW1pdHRpbmcgdGhlaXIgdmFsdWVzLCBvbmUgT2JzZXJ2YWJsZSBhZnRlciB0aGUgb3RoZXIuPC9zcGFuPlxuICpcbiAqICFbXShjb25jYXQucG5nKVxuICpcbiAqIGBjb25jYXRgIGpvaW5zIG11bHRpcGxlIE9ic2VydmFibGVzIHRvZ2V0aGVyLCBieSBzdWJzY3JpYmluZyB0byB0aGVtIG9uZSBhdCBhIHRpbWUgYW5kXG4gKiBtZXJnaW5nIHRoZWlyIHJlc3VsdHMgaW50byB0aGUgb3V0cHV0IE9ic2VydmFibGUuIFlvdSBjYW4gcGFzcyBlaXRoZXIgYW4gYXJyYXkgb2ZcbiAqIE9ic2VydmFibGVzLCBvciBwdXQgdGhlbSBkaXJlY3RseSBhcyBhcmd1bWVudHMuIFBhc3NpbmcgYW4gZW1wdHkgYXJyYXkgd2lsbCByZXN1bHRcbiAqIGluIE9ic2VydmFibGUgdGhhdCBjb21wbGV0ZXMgaW1tZWRpYXRlbHkuXG4gKlxuICogYGNvbmNhdGAgd2lsbCBzdWJzY3JpYmUgdG8gZmlyc3QgaW5wdXQgT2JzZXJ2YWJsZSBhbmQgZW1pdCBhbGwgaXRzIHZhbHVlcywgd2l0aG91dFxuICogY2hhbmdpbmcgb3IgYWZmZWN0aW5nIHRoZW0gaW4gYW55IHdheS4gV2hlbiB0aGF0IE9ic2VydmFibGUgY29tcGxldGVzLCBpdCB3aWxsXG4gKiBzdWJzY3JpYmUgdG8gdGhlbiBuZXh0IE9ic2VydmFibGUgcGFzc2VkIGFuZCwgYWdhaW4sIGVtaXQgaXRzIHZhbHVlcy4gVGhpcyB3aWxsIGJlXG4gKiByZXBlYXRlZCwgdW50aWwgdGhlIG9wZXJhdG9yIHJ1bnMgb3V0IG9mIE9ic2VydmFibGVzLiBXaGVuIGxhc3QgaW5wdXQgT2JzZXJ2YWJsZSBjb21wbGV0ZXMsXG4gKiBgY29uY2F0YCB3aWxsIGNvbXBsZXRlIGFzIHdlbGwuIEF0IGFueSBnaXZlbiBtb21lbnQgb25seSBvbmUgT2JzZXJ2YWJsZSBwYXNzZWQgdG8gb3BlcmF0b3JcbiAqIGVtaXRzIHZhbHVlcy4gSWYgeW91IHdvdWxkIGxpa2UgdG8gZW1pdCB2YWx1ZXMgZnJvbSBwYXNzZWQgT2JzZXJ2YWJsZXMgY29uY3VycmVudGx5LCBjaGVjayBvdXRcbiAqIHtAbGluayBtZXJnZX0gaW5zdGVhZCwgZXNwZWNpYWxseSB3aXRoIG9wdGlvbmFsIGBjb25jdXJyZW50YCBwYXJhbWV0ZXIuIEFzIGEgbWF0dGVyIG9mIGZhY3QsXG4gKiBgY29uY2F0YCBpcyBhbiBlcXVpdmFsZW50IG9mIGBtZXJnZWAgb3BlcmF0b3Igd2l0aCBgY29uY3VycmVudGAgcGFyYW1ldGVyIHNldCB0byBgMWAuXG4gKlxuICogTm90ZSB0aGF0IGlmIHNvbWUgaW5wdXQgT2JzZXJ2YWJsZSBuZXZlciBjb21wbGV0ZXMsIGBjb25jYXRgIHdpbGwgYWxzbyBuZXZlciBjb21wbGV0ZVxuICogYW5kIE9ic2VydmFibGVzIGZvbGxvd2luZyB0aGUgb25lIHRoYXQgZGlkIG5vdCBjb21wbGV0ZSB3aWxsIG5ldmVyIGJlIHN1YnNjcmliZWQuIE9uIHRoZSBvdGhlclxuICogaGFuZCwgaWYgc29tZSBPYnNlcnZhYmxlIHNpbXBseSBjb21wbGV0ZXMgaW1tZWRpYXRlbHkgYWZ0ZXIgaXQgaXMgc3Vic2NyaWJlZCwgaXQgd2lsbCBiZVxuICogaW52aXNpYmxlIGZvciBgY29uY2F0YCwgd2hpY2ggd2lsbCBqdXN0IG1vdmUgb24gdG8gdGhlIG5leHQgT2JzZXJ2YWJsZS5cbiAqXG4gKiBJZiBhbnkgT2JzZXJ2YWJsZSBpbiBjaGFpbiBlcnJvcnMsIGluc3RlYWQgb2YgcGFzc2luZyBjb250cm9sIHRvIHRoZSBuZXh0IE9ic2VydmFibGUsXG4gKiBgY29uY2F0YCB3aWxsIGVycm9yIGltbWVkaWF0ZWx5IGFzIHdlbGwuIE9ic2VydmFibGVzIHRoYXQgd291bGQgYmUgc3Vic2NyaWJlZCBhZnRlclxuICogdGhlIG9uZSB0aGF0IGVtaXR0ZWQgZXJyb3IsIG5ldmVyIHdpbGwuXG4gKlxuICogSWYgeW91IHBhc3MgdG8gYGNvbmNhdGAgdGhlIHNhbWUgT2JzZXJ2YWJsZSBtYW55IHRpbWVzLCBpdHMgc3RyZWFtIG9mIHZhbHVlc1xuICogd2lsbCBiZSBcInJlcGxheWVkXCIgb24gZXZlcnkgc3Vic2NyaXB0aW9uLCB3aGljaCBtZWFucyB5b3UgY2FuIHJlcGVhdCBnaXZlbiBPYnNlcnZhYmxlXG4gKiBhcyBtYW55IHRpbWVzIGFzIHlvdSBsaWtlLiBJZiBwYXNzaW5nIHRoZSBzYW1lIE9ic2VydmFibGUgdG8gYGNvbmNhdGAgMTAwMCB0aW1lcyBiZWNvbWVzIHRlZGlvdXMsXG4gKiB5b3UgY2FuIGFsd2F5cyB1c2Uge0BsaW5rIHJlcGVhdH0uXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBDb25jYXRlbmF0ZSBhIHRpbWVyIGNvdW50aW5nIGZyb20gMCB0byAzIHdpdGggYSBzeW5jaHJvbm91cyBzZXF1ZW5jZSBmcm9tIDEgdG8gMTBcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaW50ZXJ2YWwsIHRha2UsIHJhbmdlLCBjb25jYXQgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCB0aW1lciA9IGludGVydmFsKDEwMDApLnBpcGUodGFrZSg0KSk7XG4gKiBjb25zdCBzZXF1ZW5jZSA9IHJhbmdlKDEsIDEwKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGNvbmNhdCh0aW1lciwgc2VxdWVuY2UpO1xuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqXG4gKiAvLyByZXN1bHRzIGluOlxuICogLy8gMCAtMTAwMG1zLT4gMSAtMTAwMG1zLT4gMiAtMTAwMG1zLT4gMyAtaW1tZWRpYXRlLT4gMSAuLi4gMTBcbiAqIGBgYFxuICpcbiAqIENvbmNhdGVuYXRlIDMgT2JzZXJ2YWJsZXNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaW50ZXJ2YWwsIHRha2UsIGNvbmNhdCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHRpbWVyMSA9IGludGVydmFsKDEwMDApLnBpcGUodGFrZSgxMCkpO1xuICogY29uc3QgdGltZXIyID0gaW50ZXJ2YWwoMjAwMCkucGlwZSh0YWtlKDYpKTtcbiAqIGNvbnN0IHRpbWVyMyA9IGludGVydmFsKDUwMCkucGlwZSh0YWtlKDEwKSk7XG4gKlxuICogY29uc3QgcmVzdWx0ID0gY29uY2F0KHRpbWVyMSwgdGltZXIyLCB0aW1lcjMpO1xuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqXG4gKiAvLyByZXN1bHRzIGluIHRoZSBmb2xsb3dpbmc6XG4gKiAvLyAoUHJpbnRzIHRvIGNvbnNvbGUgc2VxdWVudGlhbGx5KVxuICogLy8gLTEwMDBtcy0+IDAgLTEwMDBtcy0+IDEgLTEwMDBtcy0+IC4uLiA5XG4gKiAvLyAtMjAwMG1zLT4gMCAtMjAwMG1zLT4gMSAtMjAwMG1zLT4gLi4uIDVcbiAqIC8vIC01MDBtcy0+IDAgLTUwMG1zLT4gMSAtNTAwbXMtPiAuLi4gOVxuICogYGBgXG4gKlxuICogQ29uY2F0ZW5hdGUgdGhlIHNhbWUgT2JzZXJ2YWJsZSB0byByZXBlYXQgaXRcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaW50ZXJ2YWwsIHRha2UsIGNvbmNhdCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHRpbWVyID0gaW50ZXJ2YWwoMTAwMCkucGlwZSh0YWtlKDIpKTtcbiAqXG4gKiBjb25jYXQodGltZXIsIHRpbWVyKSAvLyBjb25jYXRlbmF0aW5nIHRoZSBzYW1lIE9ic2VydmFibGUhXG4gKiAgIC5zdWJzY3JpYmUoe1xuICogICAgIG5leHQ6IHZhbHVlID0+IGNvbnNvbGUubG9nKHZhbHVlKSxcbiAqICAgICBjb21wbGV0ZTogKCkgPT4gY29uc29sZS5sb2coJy4uLmFuZCBpdCBpcyBkb25lIScpXG4gKiAgIH0pO1xuICpcbiAqIC8vIExvZ3M6XG4gKiAvLyAwIGFmdGVyIDFzXG4gKiAvLyAxIGFmdGVyIDJzXG4gKiAvLyAwIGFmdGVyIDNzXG4gKiAvLyAxIGFmdGVyIDRzXG4gKiAvLyAnLi4uYW5kIGl0IGlzIGRvbmUhJyBhbHNvIGFmdGVyIDRzXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBjb25jYXRBbGx9XG4gKiBAc2VlIHtAbGluayBjb25jYXRNYXB9XG4gKiBAc2VlIHtAbGluayBjb25jYXRNYXBUb31cbiAqIEBzZWUge0BsaW5rIHN0YXJ0V2l0aH1cbiAqIEBzZWUge0BsaW5rIGVuZFdpdGh9XG4gKlxuICogQHBhcmFtIGFyZ3MgSW5wdXQgT2JzZXJ2YWJsZXMgdG8gY29uY2F0ZW5hdGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXQoLi4uYXJnczogYW55W10pOiBPYnNlcnZhYmxlPHVua25vd24+IHtcbiAgcmV0dXJuIGNvbmNhdEFsbCgpKGZyb20oYXJncywgcG9wU2NoZWR1bGVyKGFyZ3MpKSk7XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgT2JzZXJ2ZWRWYWx1ZU9mLCBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpbm5lckZyb20gfSBmcm9tICcuL2lubmVyRnJvbSc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBPYnNlcnZhYmxlIHRoYXQsIG9uIHN1YnNjcmliZSwgY2FsbHMgYW4gT2JzZXJ2YWJsZSBmYWN0b3J5IHRvXG4gKiBtYWtlIGFuIE9ic2VydmFibGUgZm9yIGVhY2ggbmV3IE9ic2VydmVyLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5DcmVhdGVzIHRoZSBPYnNlcnZhYmxlIGxhemlseSwgdGhhdCBpcywgb25seSB3aGVuIGl0XG4gKiBpcyBzdWJzY3JpYmVkLlxuICogPC9zcGFuPlxuICpcbiAqICFbXShkZWZlci5wbmcpXG4gKlxuICogYGRlZmVyYCBhbGxvd3MgeW91IHRvIGNyZWF0ZSBhbiBPYnNlcnZhYmxlIG9ubHkgd2hlbiB0aGUgT2JzZXJ2ZXJcbiAqIHN1YnNjcmliZXMuIEl0IHdhaXRzIHVudGlsIGFuIE9ic2VydmVyIHN1YnNjcmliZXMgdG8gaXQsIGNhbGxzIHRoZSBnaXZlblxuICogZmFjdG9yeSBmdW5jdGlvbiB0byBnZXQgYW4gT2JzZXJ2YWJsZSAtLSB3aGVyZSBhIGZhY3RvcnkgZnVuY3Rpb24gdHlwaWNhbGx5XG4gKiBnZW5lcmF0ZXMgYSBuZXcgT2JzZXJ2YWJsZSAtLSBhbmQgc3Vic2NyaWJlcyB0aGUgT2JzZXJ2ZXIgdG8gdGhpcyBPYnNlcnZhYmxlLlxuICogSW4gY2FzZSB0aGUgZmFjdG9yeSBmdW5jdGlvbiByZXR1cm5zIGEgZmFsc3kgdmFsdWUsIHRoZW4gRU1QVFkgaXMgdXNlZCBhc1xuICogT2JzZXJ2YWJsZSBpbnN0ZWFkLiBMYXN0IGJ1dCBub3QgbGVhc3QsIGFuIGV4Y2VwdGlvbiBkdXJpbmcgdGhlIGZhY3RvcnlcbiAqIGZ1bmN0aW9uIGNhbGwgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIE9ic2VydmVyIGJ5IGNhbGxpbmcgYGVycm9yYC5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogU3Vic2NyaWJlIHRvIGVpdGhlciBhbiBPYnNlcnZhYmxlIG9mIGNsaWNrcyBvciBhbiBPYnNlcnZhYmxlIG9mIGludGVydmFsLCBhdCByYW5kb21cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZGVmZXIsIGZyb21FdmVudCwgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3NPckludGVydmFsID0gZGVmZXIoKCkgPT4ge1xuICogICByZXR1cm4gTWF0aC5yYW5kb20oKSA+IDAuNVxuICogICAgID8gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKVxuICogICAgIDogaW50ZXJ2YWwoMTAwMCk7XG4gKiB9KTtcbiAqIGNsaWNrc09ySW50ZXJ2YWwuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIFJlc3VsdHMgaW4gdGhlIGZvbGxvd2luZyBiZWhhdmlvcjpcbiAqIC8vIElmIHRoZSByZXN1bHQgb2YgTWF0aC5yYW5kb20oKSBpcyBncmVhdGVyIHRoYW4gMC41IGl0IHdpbGwgbGlzdGVuXG4gKiAvLyBmb3IgY2xpY2tzIGFueXdoZXJlIG9uIHRoZSBcImRvY3VtZW50XCI7IHdoZW4gZG9jdW1lbnQgaXMgY2xpY2tlZCBpdFxuICogLy8gd2lsbCBsb2cgYSBNb3VzZUV2ZW50IG9iamVjdCB0byB0aGUgY29uc29sZS4gSWYgdGhlIHJlc3VsdCBpcyBsZXNzXG4gKiAvLyB0aGFuIDAuNSBpdCB3aWxsIGVtaXQgYXNjZW5kaW5nIG51bWJlcnMsIG9uZSBldmVyeSBzZWNvbmQoMTAwMG1zKS5cbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIE9ic2VydmFibGV9XG4gKlxuICogQHBhcmFtIHtmdW5jdGlvbigpOiBPYnNlcnZhYmxlSW5wdXR9IG9ic2VydmFibGVGYWN0b3J5IFRoZSBPYnNlcnZhYmxlXG4gKiBmYWN0b3J5IGZ1bmN0aW9uIHRvIGludm9rZSBmb3IgZWFjaCBPYnNlcnZlciB0aGF0IHN1YnNjcmliZXMgdG8gdGhlIG91dHB1dFxuICogT2JzZXJ2YWJsZS4gTWF5IGFsc28gcmV0dXJuIGEgUHJvbWlzZSwgd2hpY2ggd2lsbCBiZSBjb252ZXJ0ZWQgb24gdGhlIGZseVxuICogdG8gYW4gT2JzZXJ2YWJsZS5cbiAqIEByZXR1cm4ge09ic2VydmFibGV9IEFuIE9ic2VydmFibGUgd2hvc2UgT2JzZXJ2ZXJzJyBzdWJzY3JpcHRpb25zIHRyaWdnZXJcbiAqIGFuIGludm9jYXRpb24gb2YgdGhlIGdpdmVuIE9ic2VydmFibGUgZmFjdG9yeSBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmVyPFIgZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8YW55Pj4ob2JzZXJ2YWJsZUZhY3Rvcnk6ICgpID0+IFIpOiBPYnNlcnZhYmxlPE9ic2VydmVkVmFsdWVPZjxSPj4ge1xuICByZXR1cm4gbmV3IE9ic2VydmFibGU8T2JzZXJ2ZWRWYWx1ZU9mPFI+Pigoc3Vic2NyaWJlcikgPT4ge1xuICAgIGlubmVyRnJvbShvYnNlcnZhYmxlRmFjdG9yeSgpKS5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IENvbm5lY3RhYmxlLCBPYnNlcnZhYmxlSW5wdXQsIFN1YmplY3RMaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJy4uL1N1YmplY3QnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IGRlZmVyIH0gZnJvbSAnLi9kZWZlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29ubmVjdGFibGVDb25maWc8VD4ge1xuICAvKipcbiAgICogQSBmYWN0b3J5IGZ1bmN0aW9uIHVzZWQgdG8gY3JlYXRlIHRoZSBTdWJqZWN0IHRocm91Z2ggd2hpY2ggdGhlIHNvdXJjZVxuICAgKiBpcyBtdWx0aWNhc3QuIEJ5IGRlZmF1bHQgdGhpcyBjcmVhdGVzIGEge0BsaW5rIFN1YmplY3R9LlxuICAgKi9cbiAgY29ubmVjdG9yOiAoKSA9PiBTdWJqZWN0TGlrZTxUPjtcbiAgLyoqXG4gICAqIElmIHRydWUsIHRoZSByZXN1bHRpbmcgb2JzZXJ2YWJsZSB3aWxsIHJlc2V0IGludGVybmFsIHN0YXRlIHVwb24gZGlzY29ubmVjdGlvblxuICAgKiBhbmQgcmV0dXJuIHRvIGEgXCJjb2xkXCIgc3RhdGUuIFRoaXMgYWxsb3dzIHRoZSByZXN1bHRpbmcgb2JzZXJ2YWJsZSB0byBiZVxuICAgKiByZWNvbm5lY3RlZC5cbiAgICogSWYgZmFsc2UsIHVwb24gZGlzY29ubmVjdGlvbiwgdGhlIGNvbm5lY3Rpbmcgc3ViamVjdCB3aWxsIHJlbWFpbiB0aGVcbiAgICogY29ubmVjdGluZyBzdWJqZWN0LCBtZWFuaW5nIHRoZSByZXN1bHRpbmcgb2JzZXJ2YWJsZSB3aWxsIG5vdCBnbyBcImNvbGRcIiBhZ2FpbixcbiAgICogYW5kIHN1YnNlcXVlbnQgcmVwZWF0cyBvciByZXN1YnNjcmlwdGlvbnMgd2lsbCByZXN1YnNjcmliZSB0byB0aGF0IHNhbWUgc3ViamVjdC5cbiAgICovXG4gIHJlc2V0T25EaXNjb25uZWN0PzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGUgZGVmYXVsdCBjb25maWd1cmF0aW9uIGZvciBgY29ubmVjdGFibGVgLlxuICovXG5jb25zdCBERUZBVUxUX0NPTkZJRzogQ29ubmVjdGFibGVDb25maWc8dW5rbm93bj4gPSB7XG4gIGNvbm5lY3RvcjogKCkgPT4gbmV3IFN1YmplY3Q8dW5rbm93bj4oKSxcbiAgcmVzZXRPbkRpc2Nvbm5lY3Q6IHRydWUsXG59O1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gb2JzZXJ2YWJsZSB0aGF0IG11bHRpY2FzdHMgb25jZSBgY29ubmVjdCgpYCBpcyBjYWxsZWQgb24gaXQuXG4gKlxuICogQHBhcmFtIHNvdXJjZSBUaGUgb2JzZXJ2YWJsZSBzb3VyY2UgdG8gbWFrZSBjb25uZWN0YWJsZS5cbiAqIEBwYXJhbSBjb25maWcgVGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGZvciBgY29ubmVjdGFibGVgLlxuICogQHJldHVybnMgQSBcImNvbm5lY3RhYmxlXCIgb2JzZXJ2YWJsZSwgdGhhdCBoYXMgYSBgY29ubmVjdCgpYCBtZXRob2QsIHRoYXQgeW91IG11c3QgY2FsbCB0b1xuICogY29ubmVjdCB0aGUgc291cmNlIHRvIGFsbCBjb25zdW1lcnMgdGhyb3VnaCB0aGUgc3ViamVjdCBwcm92aWRlZCBhcyB0aGUgY29ubmVjdG9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29ubmVjdGFibGU8VD4oc291cmNlOiBPYnNlcnZhYmxlSW5wdXQ8VD4sIGNvbmZpZzogQ29ubmVjdGFibGVDb25maWc8VD4gPSBERUZBVUxUX0NPTkZJRyk6IENvbm5lY3RhYmxlPFQ+IHtcbiAgLy8gVGhlIHN1YnNjcmlwdGlvbiByZXByZXNlbnRpbmcgdGhlIGNvbm5lY3Rpb24uXG4gIGxldCBjb25uZWN0aW9uOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgY29uc3QgeyBjb25uZWN0b3IsIHJlc2V0T25EaXNjb25uZWN0ID0gdHJ1ZSB9ID0gY29uZmlnO1xuICBsZXQgc3ViamVjdCA9IGNvbm5lY3RvcigpO1xuXG4gIGNvbnN0IHJlc3VsdDogYW55ID0gbmV3IE9ic2VydmFibGU8VD4oKHN1YnNjcmliZXIpID0+IHtcbiAgICByZXR1cm4gc3ViamVjdC5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gIH0pO1xuXG4gIC8vIERlZmluZSB0aGUgYGNvbm5lY3RgIGZ1bmN0aW9uLiBUaGlzIGlzIHdoYXQgdXNlcnMgbXVzdCBjYWxsXG4gIC8vIGluIG9yZGVyIHRvIFwiY29ubmVjdFwiIHRoZSBzb3VyY2UgdG8gdGhlIHN1YmplY3QgdGhhdCBpc1xuICAvLyBtdWx0aWNhc3RpbmcgaXQuXG4gIHJlc3VsdC5jb25uZWN0ID0gKCkgPT4ge1xuICAgIGlmICghY29ubmVjdGlvbiB8fCBjb25uZWN0aW9uLmNsb3NlZCkge1xuICAgICAgY29ubmVjdGlvbiA9IGRlZmVyKCgpID0+IHNvdXJjZSkuc3Vic2NyaWJlKHN1YmplY3QpO1xuICAgICAgaWYgKHJlc2V0T25EaXNjb25uZWN0KSB7XG4gICAgICAgIGNvbm5lY3Rpb24uYWRkKCgpID0+IChzdWJqZWN0ID0gY29ubmVjdG9yKCkpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGNvbm5lY3Rpb247XG4gIH07XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBPYnNlcnZlZFZhbHVlT2YsIE9ic2VydmFibGVJbnB1dFR1cGxlLCBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBhcmdzQXJnQXJyYXlPck9iamVjdCB9IGZyb20gJy4uL3V0aWwvYXJnc0FyZ0FycmF5T3JPYmplY3QnO1xuaW1wb3J0IHsgaW5uZXJGcm9tIH0gZnJvbSAnLi9pbm5lckZyb20nO1xuaW1wb3J0IHsgcG9wUmVzdWx0U2VsZWN0b3IgfSBmcm9tICcuLi91dGlsL2FyZ3MnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi4vb3BlcmF0b3JzL09wZXJhdG9yU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBtYXBPbmVPck1hbnlBcmdzIH0gZnJvbSAnLi4vdXRpbC9tYXBPbmVPck1hbnlBcmdzJztcbmltcG9ydCB7IGNyZWF0ZU9iamVjdCB9IGZyb20gJy4uL3V0aWwvY3JlYXRlT2JqZWN0JztcbmltcG9ydCB7IEFueUNhdGNoZXIgfSBmcm9tICcuLi9BbnlDYXRjaGVyJztcblxuLy8gZm9ya0pvaW4oYW55KVxuLy8gV2UgcHV0IHRoaXMgZmlyc3QgYmVjYXVzZSB3ZSBuZWVkIHRvIGNhdGNoIGNhc2VzIHdoZXJlIHRoZSB1c2VyIGhhcyBzdXBwbGllZFxuLy8gX2V4YWN0bHkgYGFueWBfIGFzIHRoZSBhcmd1bWVudC4gU2luY2UgYGFueWAgbGl0ZXJhbGx5IG1hdGNoZXMgX2FueXRoaW5nXyxcbi8vIHdlIGRvbid0IHdhbnQgaXQgdG8gcmFuZG9tbHkgaGl0IG9uZSBvZiB0aGUgb3RoZXIgdHlwZSBzaWduYXR1cmVzIGJlbG93LFxuLy8gYXMgd2UgaGF2ZSBubyBpZGVhIGF0IGJ1aWxkLXRpbWUgd2hhdCB0eXBlIHdlIHNob3VsZCBiZSByZXR1cm5pbmcgd2hlbiBnaXZlbiBhbiBhbnkuXG5cbi8qKlxuICogWW91IGhhdmUgcGFzc2VkIGBhbnlgIGhlcmUsIHdlIGNhbid0IGZpZ3VyZSBvdXQgaWYgaXQgaXNcbiAqIGFuIGFycmF5IG9yIGFuIG9iamVjdCwgc28geW91J3JlIGdldHRpbmcgYHVua25vd25gLiBVc2UgYmV0dGVyIHR5cGVzLlxuICogQHBhcmFtIGFyZyBTb21ldGhpbmcgdHlwZWQgYXMgYGFueWBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcmtKb2luPFQgZXh0ZW5kcyBBbnlDYXRjaGVyPihhcmc6IFQpOiBPYnNlcnZhYmxlPHVua25vd24+O1xuXG4vLyBmb3JrSm9pbihudWxsIHwgdW5kZWZpbmVkKVxuZXhwb3J0IGZ1bmN0aW9uIGZvcmtKb2luKHNjaGVkdWxlcjogbnVsbCB8IHVuZGVmaW5lZCk6IE9ic2VydmFibGU8bmV2ZXI+O1xuXG4vLyBmb3JrSm9pbihbYSwgYiwgY10pXG5leHBvcnQgZnVuY3Rpb24gZm9ya0pvaW4oc291cmNlczogcmVhZG9ubHkgW10pOiBPYnNlcnZhYmxlPG5ldmVyPjtcbmV4cG9ydCBmdW5jdGlvbiBmb3JrSm9pbjxBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdPihzb3VyY2VzOiByZWFkb25seSBbLi4uT2JzZXJ2YWJsZUlucHV0VHVwbGU8QT5dKTogT2JzZXJ2YWJsZTxBPjtcbmV4cG9ydCBmdW5jdGlvbiBmb3JrSm9pbjxBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLCBSPihcbiAgc291cmNlczogcmVhZG9ubHkgWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+XSxcbiAgcmVzdWx0U2VsZWN0b3I6ICguLi52YWx1ZXM6IEEpID0+IFJcbik6IE9ic2VydmFibGU8Uj47XG5cbi8vIGZvcmtKb2luKGEsIGIsIGMpXG4vKiogQGRlcHJlY2F0ZWQgUGFzcyBhbiBhcnJheSBvZiBzb3VyY2VzIGluc3RlYWQuIFRoZSByZXN0LXBhcmFtZXRlcnMgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvYXJyYXktYXJndW1lbnQgKi9cbmV4cG9ydCBmdW5jdGlvbiBmb3JrSm9pbjxBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdPiguLi5zb3VyY2VzOiBbLi4uT2JzZXJ2YWJsZUlucHV0VHVwbGU8QT5dKTogT2JzZXJ2YWJsZTxBPjtcbi8qKiBAZGVwcmVjYXRlZCBQYXNzIGFuIGFycmF5IG9mIHNvdXJjZXMgaW5zdGVhZC4gVGhlIHJlc3QtcGFyYW1ldGVycyBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGluIHY4LiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9hcnJheS1hcmd1bWVudCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZvcmtKb2luPEEgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10sIFI+KFxuICAuLi5zb3VyY2VzQW5kUmVzdWx0U2VsZWN0b3I6IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPiwgKC4uLnZhbHVlczogQSkgPT4gUl1cbik6IE9ic2VydmFibGU8Uj47XG5cbi8vIGZvcmtKb2luKHthLCBiLCBjfSlcbmV4cG9ydCBmdW5jdGlvbiBmb3JrSm9pbihzb3VyY2VzT2JqZWN0OiB7IFtLIGluIGFueV06IG5ldmVyIH0pOiBPYnNlcnZhYmxlPG5ldmVyPjtcbmV4cG9ydCBmdW5jdGlvbiBmb3JrSm9pbjxUIGV4dGVuZHMgUmVjb3JkPHN0cmluZywgT2JzZXJ2YWJsZUlucHV0PGFueT4+PihcbiAgc291cmNlc09iamVjdDogVFxuKTogT2JzZXJ2YWJsZTx7IFtLIGluIGtleW9mIFRdOiBPYnNlcnZlZFZhbHVlT2Y8VFtLXT4gfT47XG5cbi8qKlxuICogQWNjZXB0cyBhbiBgQXJyYXlgIG9mIHtAbGluayBPYnNlcnZhYmxlSW5wdXR9IG9yIGEgZGljdGlvbmFyeSBgT2JqZWN0YCBvZiB7QGxpbmsgT2JzZXJ2YWJsZUlucHV0fSBhbmQgcmV0dXJuc1xuICogYW4ge0BsaW5rIE9ic2VydmFibGV9IHRoYXQgZW1pdHMgZWl0aGVyIGFuIGFycmF5IG9mIHZhbHVlcyBpbiB0aGUgZXhhY3Qgc2FtZSBvcmRlciBhcyB0aGUgcGFzc2VkIGFycmF5LFxuICogb3IgYSBkaWN0aW9uYXJ5IG9mIHZhbHVlcyBpbiB0aGUgc2FtZSBzaGFwZSBhcyB0aGUgcGFzc2VkIGRpY3Rpb25hcnkuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPldhaXQgZm9yIE9ic2VydmFibGVzIHRvIGNvbXBsZXRlIGFuZCB0aGVuIGNvbWJpbmUgbGFzdCB2YWx1ZXMgdGhleSBlbWl0dGVkO1xuICogY29tcGxldGUgaW1tZWRpYXRlbHkgaWYgYW4gZW1wdHkgYXJyYXkgaXMgcGFzc2VkLjwvc3Bhbj5cbiAqXG4gKiAhW10oZm9ya0pvaW4ucG5nKVxuICpcbiAqIGBmb3JrSm9pbmAgaXMgYW4gb3BlcmF0b3IgdGhhdCB0YWtlcyBhbnkgbnVtYmVyIG9mIGlucHV0IG9ic2VydmFibGVzIHdoaWNoIGNhbiBiZSBwYXNzZWQgZWl0aGVyIGFzIGFuIGFycmF5XG4gKiBvciBhIGRpY3Rpb25hcnkgb2YgaW5wdXQgb2JzZXJ2YWJsZXMuIElmIG5vIGlucHV0IG9ic2VydmFibGVzIGFyZSBwcm92aWRlZCAoZS5nLiBhbiBlbXB0eSBhcnJheSBpcyBwYXNzZWQpLFxuICogdGhlbiB0aGUgcmVzdWx0aW5nIHN0cmVhbSB3aWxsIGNvbXBsZXRlIGltbWVkaWF0ZWx5LlxuICpcbiAqIGBmb3JrSm9pbmAgd2lsbCB3YWl0IGZvciBhbGwgcGFzc2VkIG9ic2VydmFibGVzIHRvIGVtaXQgYW5kIGNvbXBsZXRlIGFuZCB0aGVuIGl0IHdpbGwgZW1pdCBhbiBhcnJheSBvciBhbiBvYmplY3Qgd2l0aCBsYXN0XG4gKiB2YWx1ZXMgZnJvbSBjb3JyZXNwb25kaW5nIG9ic2VydmFibGVzLlxuICpcbiAqIElmIHlvdSBwYXNzIGFuIGFycmF5IG9mIGBuYCBvYnNlcnZhYmxlcyB0byB0aGUgb3BlcmF0b3IsIHRoZW4gdGhlIHJlc3VsdGluZ1xuICogYXJyYXkgd2lsbCBoYXZlIGBuYCB2YWx1ZXMsIHdoZXJlIHRoZSBmaXJzdCB2YWx1ZSBpcyB0aGUgbGFzdCBvbmUgZW1pdHRlZCBieSB0aGUgZmlyc3Qgb2JzZXJ2YWJsZSxcbiAqIHNlY29uZCB2YWx1ZSBpcyB0aGUgbGFzdCBvbmUgZW1pdHRlZCBieSB0aGUgc2Vjb25kIG9ic2VydmFibGUgYW5kIHNvIG9uLlxuICpcbiAqIElmIHlvdSBwYXNzIGEgZGljdGlvbmFyeSBvZiBvYnNlcnZhYmxlcyB0byB0aGUgb3BlcmF0b3IsIHRoZW4gdGhlIHJlc3VsdGluZ1xuICogb2JqZWN0cyB3aWxsIGhhdmUgdGhlIHNhbWUga2V5cyBhcyB0aGUgZGljdGlvbmFyeSBwYXNzZWQsIHdpdGggdGhlaXIgbGFzdCB2YWx1ZXMgdGhleSBoYXZlIGVtaXR0ZWRcbiAqIGxvY2F0ZWQgYXQgdGhlIGNvcnJlc3BvbmRpbmcga2V5LlxuICpcbiAqIFRoYXQgbWVhbnMgYGZvcmtKb2luYCB3aWxsIG5vdCBlbWl0IG1vcmUgdGhhbiBvbmNlIGFuZCBpdCB3aWxsIGNvbXBsZXRlIGFmdGVyIHRoYXQuIElmIHlvdSBuZWVkIHRvIGVtaXQgY29tYmluZWRcbiAqIHZhbHVlcyBub3Qgb25seSBhdCB0aGUgZW5kIG9mIHRoZSBsaWZlY3ljbGUgb2YgcGFzc2VkIG9ic2VydmFibGVzLCBidXQgYWxzbyB0aHJvdWdob3V0IGl0LCB0cnkgb3V0IHtAbGluayBjb21iaW5lTGF0ZXN0fVxuICogb3Ige0BsaW5rIHppcH0gaW5zdGVhZC5cbiAqXG4gKiBJbiBvcmRlciBmb3IgdGhlIHJlc3VsdGluZyBhcnJheSB0byBoYXZlIHRoZSBzYW1lIGxlbmd0aCBhcyB0aGUgbnVtYmVyIG9mIGlucHV0IG9ic2VydmFibGVzLCB3aGVuZXZlciBhbnkgb2ZcbiAqIHRoZSBnaXZlbiBvYnNlcnZhYmxlcyBjb21wbGV0ZXMgd2l0aG91dCBlbWl0dGluZyBhbnkgdmFsdWUsIGBmb3JrSm9pbmAgd2lsbCBjb21wbGV0ZSBhdCB0aGF0IG1vbWVudCBhcyB3ZWxsXG4gKiBhbmQgaXQgd2lsbCBub3QgZW1pdCBhbnl0aGluZyBlaXRoZXIsIGV2ZW4gaWYgaXQgYWxyZWFkeSBoYXMgc29tZSBsYXN0IHZhbHVlcyBmcm9tIG90aGVyIG9ic2VydmFibGVzLlxuICogQ29udmVyc2VseSwgaWYgdGhlcmUgaXMgYW4gb2JzZXJ2YWJsZSB0aGF0IG5ldmVyIGNvbXBsZXRlcywgYGZvcmtKb2luYCB3aWxsIG5ldmVyIGNvbXBsZXRlIGVpdGhlcixcbiAqIHVubGVzcyBhdCBhbnkgcG9pbnQgc29tZSBvdGhlciBvYnNlcnZhYmxlIGNvbXBsZXRlcyB3aXRob3V0IGVtaXR0aW5nIGEgdmFsdWUsIHdoaWNoIGJyaW5ncyB1cyBiYWNrIHRvXG4gKiB0aGUgcHJldmlvdXMgY2FzZS4gT3ZlcmFsbCwgaW4gb3JkZXIgZm9yIGBmb3JrSm9pbmAgdG8gZW1pdCBhIHZhbHVlLCBhbGwgZ2l2ZW4gb2JzZXJ2YWJsZXNcbiAqIGhhdmUgdG8gZW1pdCBzb21ldGhpbmcgYXQgbGVhc3Qgb25jZSBhbmQgY29tcGxldGUuXG4gKlxuICogSWYgYW55IGdpdmVuIG9ic2VydmFibGUgZXJyb3JzIGF0IHNvbWUgcG9pbnQsIGBmb3JrSm9pbmAgd2lsbCBlcnJvciBhcyB3ZWxsIGFuZCBpbW1lZGlhdGVseSB1bnN1YnNjcmliZVxuICogZnJvbSB0aGUgb3RoZXIgb2JzZXJ2YWJsZXMuXG4gKlxuICogT3B0aW9uYWxseSBgZm9ya0pvaW5gIGFjY2VwdHMgYSBgcmVzdWx0U2VsZWN0b3JgIGZ1bmN0aW9uLCB0aGF0IHdpbGwgYmUgY2FsbGVkIHdpdGggdmFsdWVzIHdoaWNoIG5vcm1hbGx5XG4gKiB3b3VsZCBsYW5kIGluIHRoZSBlbWl0dGVkIGFycmF5LiBXaGF0ZXZlciBpcyByZXR1cm5lZCBieSB0aGUgYHJlc3VsdFNlbGVjdG9yYCwgd2lsbCBhcHBlYXIgaW4gdGhlIG91dHB1dFxuICogb2JzZXJ2YWJsZSBpbnN0ZWFkLiBUaGlzIG1lYW5zIHRoYXQgdGhlIGRlZmF1bHQgYHJlc3VsdFNlbGVjdG9yYCBjYW4gYmUgdGhvdWdodCBvZiBhcyBhIGZ1bmN0aW9uIHRoYXQgdGFrZXNcbiAqIGFsbCBpdHMgYXJndW1lbnRzIGFuZCBwdXRzIHRoZW0gaW50byBhbiBhcnJheS4gTm90ZSB0aGF0IHRoZSBgcmVzdWx0U2VsZWN0b3JgIHdpbGwgYmUgY2FsbGVkIG9ubHlcbiAqIHdoZW4gYGZvcmtKb2luYCBpcyBzdXBwb3NlZCB0byBlbWl0IGEgcmVzdWx0LlxuICpcbiAqICMjIEV4YW1wbGVzXG4gKlxuICogVXNlIGBmb3JrSm9pbmAgd2l0aCBhIGRpY3Rpb25hcnkgb2Ygb2JzZXJ2YWJsZSBpbnB1dHNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZm9ya0pvaW4sIG9mLCB0aW1lciB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IG9ic2VydmFibGUgPSBmb3JrSm9pbih7XG4gKiAgIGZvbzogb2YoMSwgMiwgMywgNCksXG4gKiAgIGJhcjogUHJvbWlzZS5yZXNvbHZlKDgpLFxuICogICBiYXo6IHRpbWVyKDQwMDApXG4gKiB9KTtcbiAqIG9ic2VydmFibGUuc3Vic2NyaWJlKHtcbiAqICBuZXh0OiB2YWx1ZSA9PiBjb25zb2xlLmxvZyh2YWx1ZSksXG4gKiAgY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKCdUaGlzIGlzIGhvdyBpdCBlbmRzIScpLFxuICogfSk7XG4gKlxuICogLy8gTG9nczpcbiAqIC8vIHsgZm9vOiA0LCBiYXI6IDgsIGJhejogMCB9IGFmdGVyIDQgc2Vjb25kc1xuICogLy8gJ1RoaXMgaXMgaG93IGl0IGVuZHMhJyBpbW1lZGlhdGVseSBhZnRlclxuICogYGBgXG4gKlxuICogVXNlIGBmb3JrSm9pbmAgd2l0aCBhbiBhcnJheSBvZiBvYnNlcnZhYmxlIGlucHV0c1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmb3JrSm9pbiwgb2YsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3Qgb2JzZXJ2YWJsZSA9IGZvcmtKb2luKFtcbiAqICAgb2YoMSwgMiwgMywgNCksXG4gKiAgIFByb21pc2UucmVzb2x2ZSg4KSxcbiAqICAgdGltZXIoNDAwMClcbiAqIF0pO1xuICogb2JzZXJ2YWJsZS5zdWJzY3JpYmUoe1xuICogIG5leHQ6IHZhbHVlID0+IGNvbnNvbGUubG9nKHZhbHVlKSxcbiAqICBjb21wbGV0ZTogKCkgPT4gY29uc29sZS5sb2coJ1RoaXMgaXMgaG93IGl0IGVuZHMhJyksXG4gKiB9KTtcbiAqXG4gKiAvLyBMb2dzOlxuICogLy8gWzQsIDgsIDBdIGFmdGVyIDQgc2Vjb25kc1xuICogLy8gJ1RoaXMgaXMgaG93IGl0IGVuZHMhJyBpbW1lZGlhdGVseSBhZnRlclxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgY29tYmluZUxhdGVzdH1cbiAqIEBzZWUge0BsaW5rIHppcH1cbiAqXG4gKiBAcGFyYW0gey4uLk9ic2VydmFibGVJbnB1dH0gYXJncyBBbnkgbnVtYmVyIG9mIE9ic2VydmFibGVzIHByb3ZpZGVkIGVpdGhlciBhcyBhbiBhcnJheSBvciBhcyBhbiBhcmd1bWVudHNcbiAqIHBhc3NlZCBkaXJlY3RseSB0byB0aGUgb3BlcmF0b3IuXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBbcHJvamVjdF0gRnVuY3Rpb24gdGhhdCB0YWtlcyB2YWx1ZXMgZW1pdHRlZCBieSBpbnB1dCBPYnNlcnZhYmxlcyBhbmQgcmV0dXJucyB2YWx1ZVxuICogdGhhdCB3aWxsIGFwcGVhciBpbiByZXN1bHRpbmcgT2JzZXJ2YWJsZSBpbnN0ZWFkIG9mIGRlZmF1bHQgYXJyYXkuXG4gKiBAcmV0dXJuIHtPYnNlcnZhYmxlfSBPYnNlcnZhYmxlIGVtaXR0aW5nIGVpdGhlciBhbiBhcnJheSBvZiBsYXN0IHZhbHVlcyBlbWl0dGVkIGJ5IHBhc3NlZCBPYnNlcnZhYmxlc1xuICogb3IgdmFsdWUgZnJvbSBwcm9qZWN0IGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZm9ya0pvaW4oLi4uYXJnczogYW55W10pOiBPYnNlcnZhYmxlPGFueT4ge1xuICBjb25zdCByZXN1bHRTZWxlY3RvciA9IHBvcFJlc3VsdFNlbGVjdG9yKGFyZ3MpO1xuICBjb25zdCB7IGFyZ3M6IHNvdXJjZXMsIGtleXMgfSA9IGFyZ3NBcmdBcnJheU9yT2JqZWN0KGFyZ3MpO1xuICBjb25zdCByZXN1bHQgPSBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgIGNvbnN0IHsgbGVuZ3RoIH0gPSBzb3VyY2VzO1xuICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHZhbHVlcyA9IG5ldyBBcnJheShsZW5ndGgpO1xuICAgIGxldCByZW1haW5pbmdDb21wbGV0aW9ucyA9IGxlbmd0aDtcbiAgICBsZXQgcmVtYWluaW5nRW1pc3Npb25zID0gbGVuZ3RoO1xuICAgIGZvciAobGV0IHNvdXJjZUluZGV4ID0gMDsgc291cmNlSW5kZXggPCBsZW5ndGg7IHNvdXJjZUluZGV4KyspIHtcbiAgICAgIGxldCBoYXNWYWx1ZSA9IGZhbHNlO1xuICAgICAgaW5uZXJGcm9tKHNvdXJjZXNbc291cmNlSW5kZXhdKS5zdWJzY3JpYmUoXG4gICAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgICBzdWJzY3JpYmVyLFxuICAgICAgICAgICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFoYXNWYWx1ZSkge1xuICAgICAgICAgICAgICBoYXNWYWx1ZSA9IHRydWU7XG4gICAgICAgICAgICAgIHJlbWFpbmluZ0VtaXNzaW9ucy0tO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFsdWVzW3NvdXJjZUluZGV4XSA9IHZhbHVlO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgKCkgPT4gcmVtYWluaW5nQ29tcGxldGlvbnMtLSxcbiAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCFyZW1haW5pbmdDb21wbGV0aW9ucyB8fCAhaGFzVmFsdWUpIHtcbiAgICAgICAgICAgICAgaWYgKCFyZW1haW5pbmdFbWlzc2lvbnMpIHtcbiAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoa2V5cyA/IGNyZWF0ZU9iamVjdChrZXlzLCB2YWx1ZXMpIDogdmFsdWVzKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICApO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiByZXN1bHRTZWxlY3RvciA/IHJlc3VsdC5waXBlKG1hcE9uZU9yTWFueUFyZ3MocmVzdWx0U2VsZWN0b3IpKSA6IHJlc3VsdDtcbn1cbiIsICJpbXBvcnQgeyBpbm5lckZyb20gfSBmcm9tICcuLi9vYnNlcnZhYmxlL2lubmVyRnJvbSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJy4uL29wZXJhdG9ycy9tZXJnZU1hcCc7XG5pbXBvcnQgeyBpc0FycmF5TGlrZSB9IGZyb20gJy4uL3V0aWwvaXNBcnJheUxpa2UnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWwvaXNGdW5jdGlvbic7XG5pbXBvcnQgeyBtYXBPbmVPck1hbnlBcmdzIH0gZnJvbSAnLi4vdXRpbC9tYXBPbmVPck1hbnlBcmdzJztcblxuLy8gVGhlc2UgY29uc3RhbnRzIGFyZSB1c2VkIHRvIGNyZWF0ZSBoYW5kbGVyIHJlZ2lzdHJ5IGZ1bmN0aW9ucyB1c2luZyBhcnJheSBtYXBwaW5nIGJlbG93LlxuY29uc3Qgbm9kZUV2ZW50RW1pdHRlck1ldGhvZHMgPSBbJ2FkZExpc3RlbmVyJywgJ3JlbW92ZUxpc3RlbmVyJ10gYXMgY29uc3Q7XG5jb25zdCBldmVudFRhcmdldE1ldGhvZHMgPSBbJ2FkZEV2ZW50TGlzdGVuZXInLCAncmVtb3ZlRXZlbnRMaXN0ZW5lciddIGFzIGNvbnN0O1xuY29uc3QganF1ZXJ5TWV0aG9kcyA9IFsnb24nLCAnb2ZmJ10gYXMgY29uc3Q7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTm9kZVN0eWxlRXZlbnRFbWl0dGVyIHtcbiAgYWRkTGlzdGVuZXIoZXZlbnROYW1lOiBzdHJpbmcgfCBzeW1ib2wsIGhhbmRsZXI6IE5vZGVFdmVudEhhbmRsZXIpOiB0aGlzO1xuICByZW1vdmVMaXN0ZW5lcihldmVudE5hbWU6IHN0cmluZyB8IHN5bWJvbCwgaGFuZGxlcjogTm9kZUV2ZW50SGFuZGxlcik6IHRoaXM7XG59XG5cbmV4cG9ydCB0eXBlIE5vZGVFdmVudEhhbmRsZXIgPSAoLi4uYXJnczogYW55W10pID0+IHZvaWQ7XG5cbi8vIEZvciBBUElzIHRoYXQgaW1wbGVtZW50IGBhZGRMaXN0ZW5lcmAgYW5kIGByZW1vdmVMaXN0ZW5lcmAgbWV0aG9kcyB0aGF0IG1heVxuLy8gbm90IHVzZSB0aGUgc2FtZSBhcmd1bWVudHMgb3IgcmV0dXJuIEV2ZW50RW1pdHRlciB2YWx1ZXNcbi8vIHN1Y2ggYXMgUmVhY3QgTmF0aXZlXG5leHBvcnQgaW50ZXJmYWNlIE5vZGVDb21wYXRpYmxlRXZlbnRFbWl0dGVyIHtcbiAgYWRkTGlzdGVuZXIoZXZlbnROYW1lOiBzdHJpbmcsIGhhbmRsZXI6IE5vZGVFdmVudEhhbmRsZXIpOiB2b2lkIHwge307XG4gIHJlbW92ZUxpc3RlbmVyKGV2ZW50TmFtZTogc3RyaW5nLCBoYW5kbGVyOiBOb2RlRXZlbnRIYW5kbGVyKTogdm9pZCB8IHt9O1xufVxuXG4vLyBVc2UgaGFuZGxlciB0eXBlcyBsaWtlIHRob3NlIGluIEB0eXBlcy9qcXVlcnkuIFNlZTpcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9EZWZpbml0ZWx5VHlwZWQvRGVmaW5pdGVseVR5cGVkL2Jsb2IvODQ3NzMxYmExZDdmYTZkYjZiOTExYzBlNDNhYTBhZmU1OTZlNzcyMy90eXBlcy9qcXVlcnkvbWlzYy5kLnRzI0w2Mzk1XG5leHBvcnQgaW50ZXJmYWNlIEpRdWVyeVN0eWxlRXZlbnRFbWl0dGVyPFRDb250ZXh0LCBUPiB7XG4gIG9uKGV2ZW50TmFtZTogc3RyaW5nLCBoYW5kbGVyOiAodGhpczogVENvbnRleHQsIHQ6IFQsIC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkpOiB2b2lkO1xuICBvZmYoZXZlbnROYW1lOiBzdHJpbmcsIGhhbmRsZXI6ICh0aGlzOiBUQ29udGV4dCwgdDogVCwgLi4uYXJnczogYW55W10pID0+IGFueSk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRXZlbnRMaXN0ZW5lck9iamVjdDxFPiB7XG4gIGhhbmRsZUV2ZW50KGV2dDogRSk6IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSGFzRXZlbnRUYXJnZXRBZGRSZW1vdmU8RT4ge1xuICBhZGRFdmVudExpc3RlbmVyKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBsaXN0ZW5lcjogKChldnQ6IEUpID0+IHZvaWQpIHwgRXZlbnRMaXN0ZW5lck9iamVjdDxFPiB8IG51bGwsXG4gICAgb3B0aW9ucz86IGJvb2xlYW4gfCBBZGRFdmVudExpc3RlbmVyT3B0aW9uc1xuICApOiB2b2lkO1xuICByZW1vdmVFdmVudExpc3RlbmVyKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBsaXN0ZW5lcjogKChldnQ6IEUpID0+IHZvaWQpIHwgRXZlbnRMaXN0ZW5lck9iamVjdDxFPiB8IG51bGwsXG4gICAgb3B0aW9ucz86IEV2ZW50TGlzdGVuZXJPcHRpb25zIHwgYm9vbGVhblxuICApOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50TGlzdGVuZXJPcHRpb25zIHtcbiAgY2FwdHVyZT86IGJvb2xlYW47XG4gIHBhc3NpdmU/OiBib29sZWFuO1xuICBvbmNlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyBleHRlbmRzIEV2ZW50TGlzdGVuZXJPcHRpb25zIHtcbiAgb25jZT86IGJvb2xlYW47XG4gIHBhc3NpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZnJvbUV2ZW50PFQ+KHRhcmdldDogSGFzRXZlbnRUYXJnZXRBZGRSZW1vdmU8VD4gfCBBcnJheUxpa2U8SGFzRXZlbnRUYXJnZXRBZGRSZW1vdmU8VD4+LCBldmVudE5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8VD47XG5leHBvcnQgZnVuY3Rpb24gZnJvbUV2ZW50PFQsIFI+KFxuICB0YXJnZXQ6IEhhc0V2ZW50VGFyZ2V0QWRkUmVtb3ZlPFQ+IHwgQXJyYXlMaWtlPEhhc0V2ZW50VGFyZ2V0QWRkUmVtb3ZlPFQ+PixcbiAgZXZlbnROYW1lOiBzdHJpbmcsXG4gIHJlc3VsdFNlbGVjdG9yOiAoZXZlbnQ6IFQpID0+IFJcbik6IE9ic2VydmFibGU8Uj47XG5leHBvcnQgZnVuY3Rpb24gZnJvbUV2ZW50PFQ+KFxuICB0YXJnZXQ6IEhhc0V2ZW50VGFyZ2V0QWRkUmVtb3ZlPFQ+IHwgQXJyYXlMaWtlPEhhc0V2ZW50VGFyZ2V0QWRkUmVtb3ZlPFQ+PixcbiAgZXZlbnROYW1lOiBzdHJpbmcsXG4gIG9wdGlvbnM6IEV2ZW50TGlzdGVuZXJPcHRpb25zXG4pOiBPYnNlcnZhYmxlPFQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21FdmVudDxULCBSPihcbiAgdGFyZ2V0OiBIYXNFdmVudFRhcmdldEFkZFJlbW92ZTxUPiB8IEFycmF5TGlrZTxIYXNFdmVudFRhcmdldEFkZFJlbW92ZTxUPj4sXG4gIGV2ZW50TmFtZTogc3RyaW5nLFxuICBvcHRpb25zOiBFdmVudExpc3RlbmVyT3B0aW9ucyxcbiAgcmVzdWx0U2VsZWN0b3I6IChldmVudDogVCkgPT4gUlxuKTogT2JzZXJ2YWJsZTxSPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21FdmVudCh0YXJnZXQ6IE5vZGVTdHlsZUV2ZW50RW1pdHRlciB8IEFycmF5TGlrZTxOb2RlU3R5bGVFdmVudEVtaXR0ZXI+LCBldmVudE5hbWU6IHN0cmluZyk6IE9ic2VydmFibGU8dW5rbm93bj47XG4vKiogQGRlcHJlY2F0ZWQgRG8gbm90IHNwZWNpZnkgZXhwbGljaXQgdHlwZSBwYXJhbWV0ZXJzLiBTaWduYXR1cmVzIHdpdGggdHlwZSBwYXJhbWV0ZXJzIHRoYXQgY2Fubm90IGJlIGluZmVycmVkIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tRXZlbnQ8VD4odGFyZ2V0OiBOb2RlU3R5bGVFdmVudEVtaXR0ZXIgfCBBcnJheUxpa2U8Tm9kZVN0eWxlRXZlbnRFbWl0dGVyPiwgZXZlbnROYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21FdmVudDxSPihcbiAgdGFyZ2V0OiBOb2RlU3R5bGVFdmVudEVtaXR0ZXIgfCBBcnJheUxpa2U8Tm9kZVN0eWxlRXZlbnRFbWl0dGVyPixcbiAgZXZlbnROYW1lOiBzdHJpbmcsXG4gIHJlc3VsdFNlbGVjdG9yOiAoLi4uYXJnczogYW55W10pID0+IFJcbik6IE9ic2VydmFibGU8Uj47XG5cbmV4cG9ydCBmdW5jdGlvbiBmcm9tRXZlbnQoXG4gIHRhcmdldDogTm9kZUNvbXBhdGlibGVFdmVudEVtaXR0ZXIgfCBBcnJheUxpa2U8Tm9kZUNvbXBhdGlibGVFdmVudEVtaXR0ZXI+LFxuICBldmVudE5hbWU6IHN0cmluZ1xuKTogT2JzZXJ2YWJsZTx1bmtub3duPjtcbi8qKiBAZGVwcmVjYXRlZCBEbyBub3Qgc3BlY2lmeSBleHBsaWNpdCB0eXBlIHBhcmFtZXRlcnMuIFNpZ25hdHVyZXMgd2l0aCB0eXBlIHBhcmFtZXRlcnMgdGhhdCBjYW5ub3QgYmUgaW5mZXJyZWQgd2lsbCBiZSByZW1vdmVkIGluIHY4LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21FdmVudDxUPih0YXJnZXQ6IE5vZGVDb21wYXRpYmxlRXZlbnRFbWl0dGVyIHwgQXJyYXlMaWtlPE5vZGVDb21wYXRpYmxlRXZlbnRFbWl0dGVyPiwgZXZlbnROYW1lOiBzdHJpbmcpOiBPYnNlcnZhYmxlPFQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21FdmVudDxSPihcbiAgdGFyZ2V0OiBOb2RlQ29tcGF0aWJsZUV2ZW50RW1pdHRlciB8IEFycmF5TGlrZTxOb2RlQ29tcGF0aWJsZUV2ZW50RW1pdHRlcj4sXG4gIGV2ZW50TmFtZTogc3RyaW5nLFxuICByZXN1bHRTZWxlY3RvcjogKC4uLmFyZ3M6IGFueVtdKSA9PiBSXG4pOiBPYnNlcnZhYmxlPFI+O1xuXG5leHBvcnQgZnVuY3Rpb24gZnJvbUV2ZW50PFQ+KFxuICB0YXJnZXQ6IEpRdWVyeVN0eWxlRXZlbnRFbWl0dGVyPGFueSwgVD4gfCBBcnJheUxpa2U8SlF1ZXJ5U3R5bGVFdmVudEVtaXR0ZXI8YW55LCBUPj4sXG4gIGV2ZW50TmFtZTogc3RyaW5nXG4pOiBPYnNlcnZhYmxlPFQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21FdmVudDxULCBSPihcbiAgdGFyZ2V0OiBKUXVlcnlTdHlsZUV2ZW50RW1pdHRlcjxhbnksIFQ+IHwgQXJyYXlMaWtlPEpRdWVyeVN0eWxlRXZlbnRFbWl0dGVyPGFueSwgVD4+LFxuICBldmVudE5hbWU6IHN0cmluZyxcbiAgcmVzdWx0U2VsZWN0b3I6ICh2YWx1ZTogVCwgLi4uYXJnczogYW55W10pID0+IFJcbik6IE9ic2VydmFibGU8Uj47XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgZXZlbnRzIG9mIGEgc3BlY2lmaWMgdHlwZSBjb21pbmcgZnJvbSB0aGVcbiAqIGdpdmVuIGV2ZW50IHRhcmdldC5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+Q3JlYXRlcyBhbiBPYnNlcnZhYmxlIGZyb20gRE9NIGV2ZW50cywgb3IgTm9kZS5qc1xuICogRXZlbnRFbWl0dGVyIGV2ZW50cyBvciBvdGhlcnMuPC9zcGFuPlxuICpcbiAqICFbXShmcm9tRXZlbnQucG5nKVxuICpcbiAqIGBmcm9tRXZlbnRgIGFjY2VwdHMgYXMgYSBmaXJzdCBhcmd1bWVudCBldmVudCB0YXJnZXQsIHdoaWNoIGlzIGFuIG9iamVjdCB3aXRoIG1ldGhvZHNcbiAqIGZvciByZWdpc3RlcmluZyBldmVudCBoYW5kbGVyIGZ1bmN0aW9ucy4gQXMgYSBzZWNvbmQgYXJndW1lbnQgaXQgdGFrZXMgc3RyaW5nIHRoYXQgaW5kaWNhdGVzXG4gKiB0eXBlIG9mIGV2ZW50IHdlIHdhbnQgdG8gbGlzdGVuIGZvci4gYGZyb21FdmVudGAgc3VwcG9ydHMgc2VsZWN0ZWQgdHlwZXMgb2YgZXZlbnQgdGFyZ2V0cyxcbiAqIHdoaWNoIGFyZSBkZXNjcmliZWQgaW4gZGV0YWlsIGJlbG93LiBJZiB5b3VyIGV2ZW50IHRhcmdldCBkb2VzIG5vdCBtYXRjaCBhbnkgb2YgdGhlIG9uZXMgbGlzdGVkLFxuICogeW91IHNob3VsZCB1c2Uge0BsaW5rIGZyb21FdmVudFBhdHRlcm59LCB3aGljaCBjYW4gYmUgdXNlZCBvbiBhcmJpdHJhcnkgQVBJcy5cbiAqIFdoZW4gaXQgY29tZXMgdG8gQVBJcyBzdXBwb3J0ZWQgYnkgYGZyb21FdmVudGAsIHRoZWlyIG1ldGhvZHMgZm9yIGFkZGluZyBhbmQgcmVtb3ZpbmcgZXZlbnRcbiAqIGhhbmRsZXIgZnVuY3Rpb25zIGhhdmUgZGlmZmVyZW50IG5hbWVzLCBidXQgdGhleSBhbGwgYWNjZXB0IGEgc3RyaW5nIGRlc2NyaWJpbmcgZXZlbnQgdHlwZVxuICogYW5kIGZ1bmN0aW9uIGl0c2VsZiwgd2hpY2ggd2lsbCBiZSBjYWxsZWQgd2hlbmV2ZXIgc2FpZCBldmVudCBoYXBwZW5zLlxuICpcbiAqIEV2ZXJ5IHRpbWUgcmVzdWx0aW5nIE9ic2VydmFibGUgaXMgc3Vic2NyaWJlZCwgZXZlbnQgaGFuZGxlciBmdW5jdGlvbiB3aWxsIGJlIHJlZ2lzdGVyZWRcbiAqIHRvIGV2ZW50IHRhcmdldCBvbiBnaXZlbiBldmVudCB0eXBlLiBXaGVuIHRoYXQgZXZlbnQgZmlyZXMsIHZhbHVlXG4gKiBwYXNzZWQgYXMgYSBmaXJzdCBhcmd1bWVudCB0byByZWdpc3RlcmVkIGZ1bmN0aW9uIHdpbGwgYmUgZW1pdHRlZCBieSBvdXRwdXQgT2JzZXJ2YWJsZS5cbiAqIFdoZW4gT2JzZXJ2YWJsZSBpcyB1bnN1YnNjcmliZWQsIGZ1bmN0aW9uIHdpbGwgYmUgdW5yZWdpc3RlcmVkIGZyb20gZXZlbnQgdGFyZ2V0LlxuICpcbiAqIE5vdGUgdGhhdCBpZiBldmVudCB0YXJnZXQgY2FsbHMgcmVnaXN0ZXJlZCBmdW5jdGlvbiB3aXRoIG1vcmUgdGhhbiBvbmUgYXJndW1lbnQsIHNlY29uZFxuICogYW5kIGZvbGxvd2luZyBhcmd1bWVudHMgd2lsbCBub3QgYXBwZWFyIGluIHJlc3VsdGluZyBzdHJlYW0uIEluIG9yZGVyIHRvIGdldCBhY2Nlc3MgdG8gdGhlbSxcbiAqIHlvdSBjYW4gcGFzcyB0byBgZnJvbUV2ZW50YCBvcHRpb25hbCBwcm9qZWN0IGZ1bmN0aW9uLCB3aGljaCB3aWxsIGJlIGNhbGxlZCB3aXRoIGFsbCBhcmd1bWVudHNcbiAqIHBhc3NlZCB0byBldmVudCBoYW5kbGVyLiBPdXRwdXQgT2JzZXJ2YWJsZSB3aWxsIHRoZW4gZW1pdCB2YWx1ZSByZXR1cm5lZCBieSBwcm9qZWN0IGZ1bmN0aW9uLFxuICogaW5zdGVhZCBvZiB0aGUgdXN1YWwgdmFsdWUuXG4gKlxuICogUmVtZW1iZXIgdGhhdCBldmVudCB0YXJnZXRzIGxpc3RlZCBiZWxvdyBhcmUgY2hlY2tlZCB2aWEgZHVjayB0eXBpbmcuIEl0IG1lYW5zIHRoYXRcbiAqIG5vIG1hdHRlciB3aGF0IGtpbmQgb2Ygb2JqZWN0IHlvdSBoYXZlIGFuZCBubyBtYXR0ZXIgd2hhdCBlbnZpcm9ubWVudCB5b3Ugd29yayBpbixcbiAqIHlvdSBjYW4gc2FmZWx5IHVzZSBgZnJvbUV2ZW50YCBvbiB0aGF0IG9iamVjdCBpZiBpdCBleHBvc2VzIGRlc2NyaWJlZCBtZXRob2RzIChwcm92aWRlZFxuICogb2YgY291cnNlIHRoZXkgYmVoYXZlIGFzIHdhcyBkZXNjcmliZWQgYWJvdmUpLiBTbyBmb3IgZXhhbXBsZSBpZiBOb2RlLmpzIGxpYnJhcnkgZXhwb3Nlc1xuICogZXZlbnQgdGFyZ2V0IHdoaWNoIGhhcyB0aGUgc2FtZSBtZXRob2QgbmFtZXMgYXMgRE9NIEV2ZW50VGFyZ2V0LCBgZnJvbUV2ZW50YCBpcyBzdGlsbFxuICogYSBnb29kIGNob2ljZS5cbiAqXG4gKiBJZiB0aGUgQVBJIHlvdSB1c2UgaXMgbW9yZSBjYWxsYmFjayB0aGVuIGV2ZW50IGhhbmRsZXIgb3JpZW50ZWQgKHN1YnNjcmliZWRcbiAqIGNhbGxiYWNrIGZ1bmN0aW9uIGZpcmVzIG9ubHkgb25jZSBhbmQgdGh1cyB0aGVyZSBpcyBubyBuZWVkIHRvIG1hbnVhbGx5XG4gKiB1bnJlZ2lzdGVyIGl0KSwgeW91IHNob3VsZCB1c2Uge0BsaW5rIGJpbmRDYWxsYmFja30gb3Ige0BsaW5rIGJpbmROb2RlQ2FsbGJhY2t9XG4gKiBpbnN0ZWFkLlxuICpcbiAqIGBmcm9tRXZlbnRgIHN1cHBvcnRzIGZvbGxvd2luZyB0eXBlcyBvZiBldmVudCB0YXJnZXRzOlxuICpcbiAqICoqRE9NIEV2ZW50VGFyZ2V0KipcbiAqXG4gKiBUaGlzIGlzIGFuIG9iamVjdCB3aXRoIGBhZGRFdmVudExpc3RlbmVyYCBhbmQgYHJlbW92ZUV2ZW50TGlzdGVuZXJgIG1ldGhvZHMuXG4gKlxuICogSW4gdGhlIGJyb3dzZXIsIGBhZGRFdmVudExpc3RlbmVyYCBhY2NlcHRzIC0gYXBhcnQgZnJvbSBldmVudCB0eXBlIHN0cmluZyBhbmQgZXZlbnRcbiAqIGhhbmRsZXIgZnVuY3Rpb24gYXJndW1lbnRzIC0gb3B0aW9uYWwgdGhpcmQgcGFyYW1ldGVyLCB3aGljaCBpcyBlaXRoZXIgYW4gb2JqZWN0IG9yIGJvb2xlYW4sXG4gKiBib3RoIHVzZWQgZm9yIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbiBob3cgYW5kIHdoZW4gcGFzc2VkIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkLiBXaGVuXG4gKiBgZnJvbUV2ZW50YCBpcyB1c2VkIHdpdGggZXZlbnQgdGFyZ2V0IG9mIHRoYXQgdHlwZSwgeW91IGNhbiBwcm92aWRlIHRoaXMgdmFsdWVzXG4gKiBhcyB0aGlyZCBwYXJhbWV0ZXIgYXMgd2VsbC5cbiAqXG4gKiAqKk5vZGUuanMgRXZlbnRFbWl0dGVyKipcbiAqXG4gKiBBbiBvYmplY3Qgd2l0aCBgYWRkTGlzdGVuZXJgIGFuZCBgcmVtb3ZlTGlzdGVuZXJgIG1ldGhvZHMuXG4gKlxuICogKipKUXVlcnktc3R5bGUgZXZlbnQgdGFyZ2V0KipcbiAqXG4gKiBBbiBvYmplY3Qgd2l0aCBgb25gIGFuZCBgb2ZmYCBtZXRob2RzXG4gKlxuICogKipET00gTm9kZUxpc3QqKlxuICpcbiAqIExpc3Qgb2YgRE9NIE5vZGVzLCByZXR1cm5lZCBmb3IgZXhhbXBsZSBieSBgZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbGAgb3IgYE5vZGUuY2hpbGROb2Rlc2AuXG4gKlxuICogQWx0aG91Z2ggdGhpcyBjb2xsZWN0aW9uIGlzIG5vdCBldmVudCB0YXJnZXQgaW4gaXRzZWxmLCBgZnJvbUV2ZW50YCB3aWxsIGl0ZXJhdGUgb3ZlciBhbGwgTm9kZXNcbiAqIGl0IGNvbnRhaW5zIGFuZCBpbnN0YWxsIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb24gaW4gZXZlcnkgb2YgdGhlbS4gV2hlbiByZXR1cm5lZCBPYnNlcnZhYmxlXG4gKiBpcyB1bnN1YnNjcmliZWQsIGZ1bmN0aW9uIHdpbGwgYmUgcmVtb3ZlZCBmcm9tIGFsbCBOb2Rlcy5cbiAqXG4gKiAqKkRPTSBIdG1sQ29sbGVjdGlvbioqXG4gKlxuICogSnVzdCBhcyBpbiBjYXNlIG9mIE5vZGVMaXN0IGl0IGlzIGEgY29sbGVjdGlvbiBvZiBET00gbm9kZXMuIEhlcmUgYXMgd2VsbCBldmVudCBoYW5kbGVyIGZ1bmN0aW9uIGlzXG4gKiBpbnN0YWxsZWQgYW5kIHJlbW92ZWQgaW4gZWFjaCBvZiBlbGVtZW50cy5cbiAqXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBFbWl0IGNsaWNrcyBoYXBwZW5pbmcgb24gdGhlIERPTSBkb2N1bWVudFxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY2xpY2tzLnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqXG4gKiAvLyBSZXN1bHRzIGluOlxuICogLy8gTW91c2VFdmVudCBvYmplY3QgbG9nZ2VkIHRvIGNvbnNvbGUgZXZlcnkgdGltZSBhIGNsaWNrXG4gKiAvLyBvY2N1cnMgb24gdGhlIGRvY3VtZW50LlxuICogYGBgXG4gKlxuICogVXNlIGBhZGRFdmVudExpc3RlbmVyYCB3aXRoIGNhcHR1cmUgb3B0aW9uXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICogZGl2LnN0eWxlLmNzc1RleHQgPSAnd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyBiYWNrZ3JvdW5kOiAjMDljOyc7XG4gKiBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7XG4gKlxuICogLy8gbm90ZSBvcHRpb25hbCBjb25maWd1cmF0aW9uIHBhcmFtZXRlciB3aGljaCB3aWxsIGJlIHBhc3NlZCB0byBhZGRFdmVudExpc3RlbmVyXG4gKiBjb25zdCBjbGlja3NJbkRvY3VtZW50ID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snLCB7IGNhcHR1cmU6IHRydWUgfSk7XG4gKiBjb25zdCBjbGlja3NJbkRpdiA9IGZyb21FdmVudChkaXYsICdjbGljaycpO1xuICpcbiAqIGNsaWNrc0luRG9jdW1lbnQuc3Vic2NyaWJlKCgpID0+IGNvbnNvbGUubG9nKCdkb2N1bWVudCcpKTtcbiAqIGNsaWNrc0luRGl2LnN1YnNjcmliZSgoKSA9PiBjb25zb2xlLmxvZygnZGl2JykpO1xuICpcbiAqIC8vIEJ5IGRlZmF1bHQgZXZlbnRzIGJ1YmJsZSBVUCBpbiBET00gdHJlZSwgc28gbm9ybWFsbHlcbiAqIC8vIHdoZW4gd2Ugd291bGQgY2xpY2sgb24gZGl2IGluIGRvY3VtZW50XG4gKiAvLyBcImRpdlwiIHdvdWxkIGJlIGxvZ2dlZCBmaXJzdCBhbmQgdGhlbiBcImRvY3VtZW50XCIuXG4gKiAvLyBTaW5jZSB3ZSBzcGVjaWZpZWQgb3B0aW9uYWwgYGNhcHR1cmVgIG9wdGlvbiwgZG9jdW1lbnRcbiAqIC8vIHdpbGwgY2F0Y2ggZXZlbnQgd2hlbiBpdCBnb2VzIERPV04gRE9NIHRyZWUsIHNvIGNvbnNvbGVcbiAqIC8vIHdpbGwgbG9nIFwiZG9jdW1lbnRcIiBhbmQgdGhlbiBcImRpdlwiLlxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgYmluZENhbGxiYWNrfVxuICogQHNlZSB7QGxpbmsgYmluZE5vZGVDYWxsYmFja31cbiAqIEBzZWUge0BsaW5rIGZyb21FdmVudFBhdHRlcm59XG4gKlxuICogQHBhcmFtIHtGcm9tRXZlbnRUYXJnZXQ8VD59IHRhcmdldCBUaGUgRE9NIEV2ZW50VGFyZ2V0LCBOb2RlLmpzXG4gKiBFdmVudEVtaXR0ZXIsIEpRdWVyeS1saWtlIGV2ZW50IHRhcmdldCwgTm9kZUxpc3Qgb3IgSFRNTENvbGxlY3Rpb24gdG8gYXR0YWNoIHRoZSBldmVudCBoYW5kbGVyIHRvLlxuICogQHBhcmFtIHtzdHJpbmd9IGV2ZW50TmFtZSBUaGUgZXZlbnQgbmFtZSBvZiBpbnRlcmVzdCwgYmVpbmcgZW1pdHRlZCBieSB0aGVcbiAqIGB0YXJnZXRgLlxuICogQHBhcmFtIHtFdmVudExpc3RlbmVyT3B0aW9uc30gW29wdGlvbnNdIE9wdGlvbnMgdG8gcGFzcyB0aHJvdWdoIHRvIGFkZEV2ZW50TGlzdGVuZXJcbiAqIEByZXR1cm4ge09ic2VydmFibGU8VD59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tRXZlbnQ8VD4oXG4gIHRhcmdldDogYW55LFxuICBldmVudE5hbWU6IHN0cmluZyxcbiAgb3B0aW9ucz86IEV2ZW50TGlzdGVuZXJPcHRpb25zIHwgKCguLi5hcmdzOiBhbnlbXSkgPT4gVCksXG4gIHJlc3VsdFNlbGVjdG9yPzogKC4uLmFyZ3M6IGFueVtdKSA9PiBUXG4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgaWYgKGlzRnVuY3Rpb24ob3B0aW9ucykpIHtcbiAgICByZXN1bHRTZWxlY3RvciA9IG9wdGlvbnM7XG4gICAgb3B0aW9ucyA9IHVuZGVmaW5lZDtcbiAgfVxuICBpZiAocmVzdWx0U2VsZWN0b3IpIHtcbiAgICByZXR1cm4gZnJvbUV2ZW50PFQ+KHRhcmdldCwgZXZlbnROYW1lLCBvcHRpb25zIGFzIEV2ZW50TGlzdGVuZXJPcHRpb25zKS5waXBlKG1hcE9uZU9yTWFueUFyZ3MocmVzdWx0U2VsZWN0b3IpKTtcbiAgfVxuXG4gIC8vIEZpZ3VyZSBvdXQgb3VyIGFkZCBhbmQgcmVtb3ZlIG1ldGhvZHMuIEluIG9yZGVyIHRvIGRvIHRoaXMsXG4gIC8vIHdlIGFyZSBnb2luZyB0byBhbmFseXplIHRoZSB0YXJnZXQgaW4gYSBwcmVmZXJyZWQgb3JkZXIsIGlmXG4gIC8vIHRoZSB0YXJnZXQgbWF0Y2hlcyBhIGdpdmVuIHNpZ25hdHVyZSwgd2UgdGFrZSB0aGUgdHdvIFwiYWRkXCIgYW5kIFwicmVtb3ZlXCJcbiAgLy8gbWV0aG9kIG5hbWVzIGFuZCBhcHBseSB0aGVtIHRvIGEgbWFwIHRvIGNyZWF0ZSBvcHBvc2l0ZSB2ZXJzaW9ucyBvZiB0aGVcbiAgLy8gc2FtZSBmdW5jdGlvbi4gVGhpcyBpcyBiZWNhdXNlIHRoZXkgYWxsIG9wZXJhdGUgaW4gZHVwbGljYXRlIHBhaXJzLFxuICAvLyBgYWRkTGlzdGVuZXIobmFtZSwgaGFuZGxlcilgLCBgcmVtb3ZlTGlzdGVuZXIobmFtZSwgaGFuZGxlcilgLCBmb3IgZXhhbXBsZS5cbiAgLy8gVGhlIGNhbGwgb25seSBkaWZmZXJzIGJ5IG1ldGhvZCBuYW1lLCBhcyB0byB3aGV0aGVyIG9yIG5vdCB5b3UncmUgYWRkaW5nIG9yIHJlbW92aW5nLlxuICBjb25zdCBbYWRkLCByZW1vdmVdID1cbiAgICAvLyBJZiBpdCBpcyBhbiBFdmVudFRhcmdldCwgd2UgbmVlZCB0byB1c2UgYSBzbGlnaHRseSBkaWZmZXJlbnQgbWV0aG9kIHRoYW4gdGhlIG90aGVyIHR3byBwYXR0ZXJucy5cbiAgICBpc0V2ZW50VGFyZ2V0KHRhcmdldClcbiAgICAgID8gZXZlbnRUYXJnZXRNZXRob2RzLm1hcCgobWV0aG9kTmFtZSkgPT4gKGhhbmRsZXI6IGFueSkgPT4gdGFyZ2V0W21ldGhvZE5hbWVdKGV2ZW50TmFtZSwgaGFuZGxlciwgb3B0aW9ucyBhcyBFdmVudExpc3RlbmVyT3B0aW9ucykpXG4gICAgICA6IC8vIEluIGFsbCBvdGhlciBjYXNlcywgdGhlIGNhbGwgcGF0dGVybiBpcyBpZGVudGljYWwgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIHRoZSBtZXRob2QgbmFtZXMuXG4gICAgICBpc05vZGVTdHlsZUV2ZW50RW1pdHRlcih0YXJnZXQpXG4gICAgICA/IG5vZGVFdmVudEVtaXR0ZXJNZXRob2RzLm1hcCh0b0NvbW1vbkhhbmRsZXJSZWdpc3RyeSh0YXJnZXQsIGV2ZW50TmFtZSkpXG4gICAgICA6IGlzSlF1ZXJ5U3R5bGVFdmVudEVtaXR0ZXIodGFyZ2V0KVxuICAgICAgPyBqcXVlcnlNZXRob2RzLm1hcCh0b0NvbW1vbkhhbmRsZXJSZWdpc3RyeSh0YXJnZXQsIGV2ZW50TmFtZSkpXG4gICAgICA6IFtdO1xuXG4gIC8vIElmIGFkZCBpcyBmYWxzeSwgaXQncyBiZWNhdXNlIHdlIGRpZG4ndCBtYXRjaCBhIHBhdHRlcm4gYWJvdmUuXG4gIC8vIENoZWNrIHRvIHNlZSBpZiBpdCBpcyBhbiBBcnJheUxpa2UsIGJlY2F1c2UgaWYgaXQgaXMsIHdlIHdhbnQgdG9cbiAgLy8gdHJ5IHRvIGFwcGx5IGZyb21FdmVudCB0byBhbGwgb2YgaXQncyBpdGVtcy4gV2UgZG8gdGhpcyBjaGVjayBsYXN0LFxuICAvLyBiZWNhdXNlIHRoZXJlIGFyZSBtYXkgYmUgc29tZSB0eXBlcyB0aGF0IGFyZSBib3RoIEFycmF5TGlrZSAqYW5kKiBpbXBsZW1lbnRcbiAgLy8gZXZlbnQgcmVnaXN0cnkgcG9pbnRzLCBhbmQgd2UnZCByYXRoZXIgZGVsZWdhdGUgdG8gdGhhdCB3aGVuIHBvc3NpYmxlLlxuICBpZiAoIWFkZCkge1xuICAgIGlmIChpc0FycmF5TGlrZSh0YXJnZXQpKSB7XG4gICAgICByZXR1cm4gbWVyZ2VNYXAoKHN1YlRhcmdldDogYW55KSA9PiBmcm9tRXZlbnQoc3ViVGFyZ2V0LCBldmVudE5hbWUsIG9wdGlvbnMgYXMgRXZlbnRMaXN0ZW5lck9wdGlvbnMpKShcbiAgICAgICAgaW5uZXJGcm9tKHRhcmdldClcbiAgICAgICkgYXMgT2JzZXJ2YWJsZTxUPjtcbiAgICB9XG4gIH1cblxuICAvLyBJZiBhZGQgaXMgZmFsc3kgYW5kIHdlIG1hZGUgaXQgaGVyZSwgaXQncyBiZWNhdXNlIHdlIGRpZG4ndFxuICAvLyBtYXRjaCBhbnkgdmFsaWQgdGFyZ2V0IG9iamVjdHMgYWJvdmUuXG4gIGlmICghYWRkKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignSW52YWxpZCBldmVudCB0YXJnZXQnKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZTxUPigoc3Vic2NyaWJlcikgPT4ge1xuICAgIC8vIFRoZSBoYW5kbGVyIHdlIGFyZSBnb2luZyB0byByZWdpc3Rlci4gRm9yd2FyZHMgdGhlIGV2ZW50IG9iamVjdCwgYnkgaXRzZWxmLCBvclxuICAgIC8vIGFuIGFycmF5IG9mIGFyZ3VtZW50cyB0byB0aGUgZXZlbnQgaGFuZGxlciwgaWYgdGhlcmUgaXMgbW9yZSB0aGFuIG9uZSBhcmd1bWVudCxcbiAgICAvLyB0byB0aGUgY29uc3VtZXIuXG4gICAgY29uc3QgaGFuZGxlciA9ICguLi5hcmdzOiBhbnlbXSkgPT4gc3Vic2NyaWJlci5uZXh0KDEgPCBhcmdzLmxlbmd0aCA/IGFyZ3MgOiBhcmdzWzBdKTtcbiAgICAvLyBEbyB0aGUgd29yayBvZiBhZGRpbmcgdGhlIGhhbmRsZXIgdG8gdGhlIHRhcmdldC5cbiAgICBhZGQoaGFuZGxlcik7XG4gICAgLy8gV2hlbiB3ZSBmaW5hbGl6ZSwgd2Ugd2FudCB0byByZW1vdmUgdGhlIGhhbmRsZXIgYW5kIGZyZWUgdXAgbWVtb3J5LlxuICAgIHJldHVybiAoKSA9PiByZW1vdmUhKGhhbmRsZXIpO1xuICB9KTtcbn1cblxuLyoqXG4gKiBVc2VkIHRvIGNyZWF0ZSBgYWRkYCBhbmQgYHJlbW92ZWAgZnVuY3Rpb25zIHRvIHJlZ2lzdGVyIGFuZCB1bnJlZ2lzdGVyIGV2ZW50IGhhbmRsZXJzXG4gKiBmcm9tIGEgdGFyZ2V0IGluIHRoZSBtb3N0IGNvbW1vbiBoYW5kbGVyIHBhdHRlcm4sIHdoZXJlIHRoZXJlIGFyZSBvbmx5IHR3byBhcmd1bWVudHMuXG4gKiAoZS5nLiAgYG9uKG5hbWUsIGZuKWAsIGBvZmYobmFtZSwgZm4pYCwgYGFkZExpc3RlbmVyKG5hbWUsIGZuKWAsIG9yIGByZW1vdmVMaXN0ZW5lcihuYW1lLCBmbilgKVxuICogQHBhcmFtIHRhcmdldCBUaGUgdGFyZ2V0IHdlJ3JlIGNhbGxpbmcgbWV0aG9kcyBvblxuICogQHBhcmFtIGV2ZW50TmFtZSBUaGUgZXZlbnQgbmFtZSBmb3IgdGhlIGV2ZW50IHdlJ3JlIGNyZWF0aW5nIHJlZ2lzdGVyIG9yIHVucmVnaXN0ZXIgZnVuY3Rpb25zIGZvclxuICovXG5mdW5jdGlvbiB0b0NvbW1vbkhhbmRsZXJSZWdpc3RyeSh0YXJnZXQ6IGFueSwgZXZlbnROYW1lOiBzdHJpbmcpIHtcbiAgcmV0dXJuIChtZXRob2ROYW1lOiBzdHJpbmcpID0+IChoYW5kbGVyOiBhbnkpID0+IHRhcmdldFttZXRob2ROYW1lXShldmVudE5hbWUsIGhhbmRsZXIpO1xufVxuXG4vKipcbiAqIENoZWNrcyB0byBzZWUgaWYgdGhlIHRhcmdldCBpbXBsZW1lbnRzIHRoZSByZXF1aXJlZCBub2RlLXN0eWxlIEV2ZW50RW1pdHRlciBtZXRob2RzXG4gKiBmb3IgYWRkaW5nIGFuZCByZW1vdmluZyBldmVudCBoYW5kbGVycy5cbiAqIEBwYXJhbSB0YXJnZXQgdGhlIG9iamVjdCB0byBjaGVja1xuICovXG5mdW5jdGlvbiBpc05vZGVTdHlsZUV2ZW50RW1pdHRlcih0YXJnZXQ6IGFueSk6IHRhcmdldCBpcyBOb2RlU3R5bGVFdmVudEVtaXR0ZXIge1xuICByZXR1cm4gaXNGdW5jdGlvbih0YXJnZXQuYWRkTGlzdGVuZXIpICYmIGlzRnVuY3Rpb24odGFyZ2V0LnJlbW92ZUxpc3RlbmVyKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgdG8gc2VlIGlmIHRoZSB0YXJnZXQgaW1wbGVtZW50cyB0aGUgcmVxdWlyZWQgalF1ZXJ5LXN0eWxlIEV2ZW50RW1pdHRlciBtZXRob2RzXG4gKiBmb3IgYWRkaW5nIGFuZCByZW1vdmluZyBldmVudCBoYW5kbGVycy5cbiAqIEBwYXJhbSB0YXJnZXQgdGhlIG9iamVjdCB0byBjaGVja1xuICovXG5mdW5jdGlvbiBpc0pRdWVyeVN0eWxlRXZlbnRFbWl0dGVyKHRhcmdldDogYW55KTogdGFyZ2V0IGlzIEpRdWVyeVN0eWxlRXZlbnRFbWl0dGVyPGFueSwgYW55PiB7XG4gIHJldHVybiBpc0Z1bmN0aW9uKHRhcmdldC5vbikgJiYgaXNGdW5jdGlvbih0YXJnZXQub2ZmKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgdG8gc2VlIGlmIHRoZSB0YXJnZXQgaW1wbGVtZW50cyB0aGUgcmVxdWlyZWQgRXZlbnRUYXJnZXQgbWV0aG9kc1xuICogZm9yIGFkZGluZyBhbmQgcmVtb3ZpbmcgZXZlbnQgaGFuZGxlcnMuXG4gKiBAcGFyYW0gdGFyZ2V0IHRoZSBvYmplY3QgdG8gY2hlY2tcbiAqL1xuZnVuY3Rpb24gaXNFdmVudFRhcmdldCh0YXJnZXQ6IGFueSk6IHRhcmdldCBpcyBIYXNFdmVudFRhcmdldEFkZFJlbW92ZTxhbnk+IHtcbiAgcmV0dXJuIGlzRnVuY3Rpb24odGFyZ2V0LmFkZEV2ZW50TGlzdGVuZXIpICYmIGlzRnVuY3Rpb24odGFyZ2V0LnJlbW92ZUV2ZW50TGlzdGVuZXIpO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuLi91dGlsL2lzRnVuY3Rpb24nO1xuaW1wb3J0IHsgTm9kZUV2ZW50SGFuZGxlciB9IGZyb20gJy4vZnJvbUV2ZW50JztcbmltcG9ydCB7IG1hcE9uZU9yTWFueUFyZ3MgfSBmcm9tICcuLi91dGlsL21hcE9uZU9yTWFueUFyZ3MnO1xuXG4vKiB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGggKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tRXZlbnRQYXR0ZXJuPFQ+KFxuICBhZGRIYW5kbGVyOiAoaGFuZGxlcjogTm9kZUV2ZW50SGFuZGxlcikgPT4gYW55LFxuICByZW1vdmVIYW5kbGVyPzogKGhhbmRsZXI6IE5vZGVFdmVudEhhbmRsZXIsIHNpZ25hbD86IGFueSkgPT4gdm9pZFxuKTogT2JzZXJ2YWJsZTxUPjtcbmV4cG9ydCBmdW5jdGlvbiBmcm9tRXZlbnRQYXR0ZXJuPFQ+KFxuICBhZGRIYW5kbGVyOiAoaGFuZGxlcjogTm9kZUV2ZW50SGFuZGxlcikgPT4gYW55LFxuICByZW1vdmVIYW5kbGVyPzogKGhhbmRsZXI6IE5vZGVFdmVudEhhbmRsZXIsIHNpZ25hbD86IGFueSkgPT4gdm9pZCxcbiAgcmVzdWx0U2VsZWN0b3I/OiAoLi4uYXJnczogYW55W10pID0+IFRcbik6IE9ic2VydmFibGU8VD47XG4vKiB0c2xpbnQ6ZW5hYmxlOm1heC1saW5lLWxlbmd0aCAqL1xuXG4vKipcbiAqIENyZWF0ZXMgYW4gT2JzZXJ2YWJsZSBmcm9tIGFuIGFyYml0cmFyeSBBUEkgZm9yIHJlZ2lzdGVyaW5nIGV2ZW50IGhhbmRsZXJzLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5XaGVuIHRoYXQgbWV0aG9kIGZvciBhZGRpbmcgZXZlbnQgaGFuZGxlciB3YXMgc29tZXRoaW5nIHtAbGluayBmcm9tRXZlbnR9XG4gKiB3YXMgbm90IHByZXBhcmVkIGZvci48L3NwYW4+XG4gKlxuICogIVtdKGZyb21FdmVudFBhdHRlcm4ucG5nKVxuICpcbiAqIGBmcm9tRXZlbnRQYXR0ZXJuYCBhbGxvd3MgeW91IHRvIGNvbnZlcnQgaW50byBhbiBPYnNlcnZhYmxlIGFueSBBUEkgdGhhdCBzdXBwb3J0cyByZWdpc3RlcmluZyBoYW5kbGVyIGZ1bmN0aW9uc1xuICogZm9yIGV2ZW50cy4gSXQgaXMgc2ltaWxhciB0byB7QGxpbmsgZnJvbUV2ZW50fSwgYnV0IGZhclxuICogbW9yZSBmbGV4aWJsZS4gSW4gZmFjdCwgYWxsIHVzZSBjYXNlcyBvZiB7QGxpbmsgZnJvbUV2ZW50fSBjb3VsZCBiZSBlYXNpbHkgaGFuZGxlZCBieVxuICogYGZyb21FdmVudFBhdHRlcm5gIChhbHRob3VnaCBpbiBzbGlnaHRseSBtb3JlIHZlcmJvc2Ugd2F5KS5cbiAqXG4gKiBUaGlzIG9wZXJhdG9yIGFjY2VwdHMgYXMgYSBmaXJzdCBhcmd1bWVudCBhbiBgYWRkSGFuZGxlcmAgZnVuY3Rpb24sIHdoaWNoIHdpbGwgYmUgaW5qZWN0ZWQgd2l0aFxuICogaGFuZGxlciBwYXJhbWV0ZXIuIFRoYXQgaGFuZGxlciBpcyBhY3R1YWxseSBhbiBldmVudCBoYW5kbGVyIGZ1bmN0aW9uIHRoYXQgeW91IG5vdyBjYW4gcGFzc1xuICogdG8gQVBJIGV4cGVjdGluZyBpdC4gYGFkZEhhbmRsZXJgIHdpbGwgYmUgY2FsbGVkIHdoZW5ldmVyIE9ic2VydmFibGVcbiAqIHJldHVybmVkIGJ5IHRoZSBvcGVyYXRvciBpcyBzdWJzY3JpYmVkLCBzbyByZWdpc3RlcmluZyBoYW5kbGVyIGluIEFQSSB3aWxsIG5vdFxuICogbmVjZXNzYXJpbHkgaGFwcGVuIHdoZW4gYGZyb21FdmVudFBhdHRlcm5gIGlzIGNhbGxlZC5cbiAqXG4gKiBBZnRlciByZWdpc3RyYXRpb24sIGV2ZXJ5IHRpbWUgYW4gZXZlbnQgdGhhdCB3ZSBsaXN0ZW4gdG8gaGFwcGVucyxcbiAqIE9ic2VydmFibGUgcmV0dXJuZWQgYnkgYGZyb21FdmVudFBhdHRlcm5gIHdpbGwgZW1pdCB2YWx1ZSB0aGF0IGV2ZW50IGhhbmRsZXJcbiAqIGZ1bmN0aW9uIHdhcyBjYWxsZWQgd2l0aC4gTm90ZSB0aGF0IGlmIGV2ZW50IGhhbmRsZXIgd2FzIGNhbGxlZCB3aXRoIG1vcmVcbiAqIHRoYW4gb25lIGFyZ3VtZW50LCBzZWNvbmQgYW5kIGZvbGxvd2luZyBhcmd1bWVudHMgd2lsbCBub3QgYXBwZWFyIGluIHRoZSBPYnNlcnZhYmxlLlxuICpcbiAqIElmIEFQSSB5b3UgYXJlIHVzaW5nIGFsbG93cyB0byB1bnJlZ2lzdGVyIGV2ZW50IGhhbmRsZXJzIGFzIHdlbGwsIHlvdSBjYW4gcGFzcyB0byBgZnJvbUV2ZW50UGF0dGVybmBcbiAqIGFub3RoZXIgZnVuY3Rpb24gLSBgcmVtb3ZlSGFuZGxlcmAgLSBhcyBhIHNlY29uZCBwYXJhbWV0ZXIuIEl0IHdpbGwgYmUgaW5qZWN0ZWRcbiAqIHdpdGggdGhlIHNhbWUgaGFuZGxlciBmdW5jdGlvbiBhcyBiZWZvcmUsIHdoaWNoIG5vdyB5b3UgY2FuIHVzZSB0byB1bnJlZ2lzdGVyXG4gKiBpdCBmcm9tIHRoZSBBUEkuIGByZW1vdmVIYW5kbGVyYCB3aWxsIGJlIGNhbGxlZCB3aGVuIGNvbnN1bWVyIG9mIHJlc3VsdGluZyBPYnNlcnZhYmxlXG4gKiB1bnN1YnNjcmliZXMgZnJvbSBpdC5cbiAqXG4gKiBJbiBzb21lIEFQSXMgdW5yZWdpc3RlcmluZyBpcyBhY3R1YWxseSBoYW5kbGVkIGRpZmZlcmVudGx5LiBNZXRob2QgcmVnaXN0ZXJpbmcgYW4gZXZlbnQgaGFuZGxlclxuICogcmV0dXJucyBzb21lIGtpbmQgb2YgdG9rZW4sIHdoaWNoIGlzIGxhdGVyIHVzZWQgdG8gaWRlbnRpZnkgd2hpY2ggZnVuY3Rpb24gc2hvdWxkXG4gKiBiZSB1bnJlZ2lzdGVyZWQgb3IgaXQgaXRzZWxmIGhhcyBtZXRob2QgdGhhdCB1bnJlZ2lzdGVycyBldmVudCBoYW5kbGVyLlxuICogSWYgdGhhdCBpcyB0aGUgY2FzZSB3aXRoIHlvdXIgQVBJLCBtYWtlIHN1cmUgdG9rZW4gcmV0dXJuZWRcbiAqIGJ5IHJlZ2lzdGVyaW5nIG1ldGhvZCBpcyByZXR1cm5lZCBieSBgYWRkSGFuZGxlcmAuIFRoZW4gaXQgd2lsbCBiZSBwYXNzZWRcbiAqIGFzIGEgc2Vjb25kIGFyZ3VtZW50IHRvIGByZW1vdmVIYW5kbGVyYCwgd2hlcmUgeW91IHdpbGwgYmUgYWJsZSB0byB1c2UgaXQuXG4gKlxuICogSWYgeW91IG5lZWQgYWNjZXNzIHRvIGFsbCBldmVudCBoYW5kbGVyIHBhcmFtZXRlcnMgKG5vdCBvbmx5IHRoZSBmaXJzdCBvbmUpLFxuICogb3IgeW91IG5lZWQgdG8gdHJhbnNmb3JtIHRoZW0gaW4gYW55IHdheSwgeW91IGNhbiBjYWxsIGBmcm9tRXZlbnRQYXR0ZXJuYCB3aXRoIG9wdGlvbmFsXG4gKiB0aGlyZCBwYXJhbWV0ZXIgLSBwcm9qZWN0IGZ1bmN0aW9uIHdoaWNoIHdpbGwgYWNjZXB0IGFsbCBhcmd1bWVudHMgcGFzc2VkIHRvXG4gKiBldmVudCBoYW5kbGVyIHdoZW4gaXQgaXMgY2FsbGVkLiBXaGF0ZXZlciBpcyByZXR1cm5lZCBmcm9tIHByb2plY3QgZnVuY3Rpb24gd2lsbCBhcHBlYXIgb25cbiAqIHJlc3VsdGluZyBzdHJlYW0gaW5zdGVhZCBvZiB1c3VhbCBldmVudCBoYW5kbGVycyBmaXJzdCBhcmd1bWVudC4gVGhpcyBtZWFuc1xuICogdGhhdCBkZWZhdWx0IHByb2plY3QgY2FuIGJlIHRob3VnaHQgb2YgYXMgZnVuY3Rpb24gdGhhdCB0YWtlcyBpdHMgZmlyc3QgcGFyYW1ldGVyXG4gKiBhbmQgaWdub3JlcyB0aGUgcmVzdC5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIEVtaXRzIGNsaWNrcyBoYXBwZW5pbmcgb24gdGhlIERPTSBkb2N1bWVudFxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnRQYXR0ZXJuIH0gZnJvbSAncnhqcyc7XG4gKlxuICogZnVuY3Rpb24gYWRkQ2xpY2tIYW5kbGVyKGhhbmRsZXIpIHtcbiAqICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBoYW5kbGVyKTtcbiAqIH1cbiAqXG4gKiBmdW5jdGlvbiByZW1vdmVDbGlja0hhbmRsZXIoaGFuZGxlcikge1xuICogICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjbGljaycsIGhhbmRsZXIpO1xuICogfVxuICpcbiAqIGNvbnN0IGNsaWNrcyA9IGZyb21FdmVudFBhdHRlcm4oXG4gKiAgIGFkZENsaWNrSGFuZGxlcixcbiAqICAgcmVtb3ZlQ2xpY2tIYW5kbGVyXG4gKiApO1xuICogY2xpY2tzLnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqXG4gKiAvLyBXaGVuZXZlciB5b3UgY2xpY2sgYW55d2hlcmUgaW4gdGhlIGJyb3dzZXIsIERPTSBNb3VzZUV2ZW50XG4gKiAvLyBvYmplY3Qgd2lsbCBiZSBsb2dnZWQuXG4gKiBgYGBcbiAqXG4gKiBVc2Ugd2l0aCBBUEkgdGhhdCByZXR1cm5zIGNhbmNlbGxhdGlvbiB0b2tlblxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnRQYXR0ZXJuIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgdG9rZW4gPSBzb21lQVBJLnJlZ2lzdGVyRXZlbnRIYW5kbGVyKGZ1bmN0aW9uKCkge30pO1xuICogc29tZUFQSS51bnJlZ2lzdGVyRXZlbnRIYW5kbGVyKHRva2VuKTsgLy8gdGhpcyBBUElzIGNhbmNlbGxhdGlvbiBtZXRob2QgYWNjZXB0c1xuICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gbm90IGhhbmRsZXIgaXRzZWxmLCBidXQgc3BlY2lhbCB0b2tlbi5cbiAqXG4gKiBjb25zdCBzb21lQVBJT2JzZXJ2YWJsZSA9IGZyb21FdmVudFBhdHRlcm4oXG4gKiAgIGZ1bmN0aW9uKGhhbmRsZXIpIHsgcmV0dXJuIHNvbWVBUEkucmVnaXN0ZXJFdmVudEhhbmRsZXIoaGFuZGxlcik7IH0sIC8vIE5vdGUgdGhhdCB3ZSByZXR1cm4gdGhlIHRva2VuIGhlcmUuLi5cbiAqICAgZnVuY3Rpb24oaGFuZGxlciwgdG9rZW4pIHsgc29tZUFQSS51bnJlZ2lzdGVyRXZlbnRIYW5kbGVyKHRva2VuKTsgfSAgLy8gLi4udG8gdGhlbiB1c2UgaXQgaGVyZS5cbiAqICk7XG4gKiBgYGBcbiAqXG4gKiBVc2Ugd2l0aCBwcm9qZWN0IGZ1bmN0aW9uXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudFBhdHRlcm4gfSBmcm9tICdyeGpzJztcbiAqXG4gKiBzb21lQVBJLnJlZ2lzdGVyRXZlbnRIYW5kbGVyKChldmVudFR5cGUsIGV2ZW50TWVzc2FnZSkgPT4ge1xuICogICBjb25zb2xlLmxvZyhldmVudFR5cGUsIGV2ZW50TWVzc2FnZSk7IC8vIExvZ3MgJ0VWRU5UX1RZUEUnICdFVkVOVF9NRVNTQUdFJyB0byBjb25zb2xlLlxuICogfSk7XG4gKlxuICogY29uc3Qgc29tZUFQSU9ic2VydmFibGUgPSBmcm9tRXZlbnRQYXR0ZXJuKFxuICogICBoYW5kbGVyID0+IHNvbWVBUEkucmVnaXN0ZXJFdmVudEhhbmRsZXIoaGFuZGxlciksXG4gKiAgIGhhbmRsZXIgPT4gc29tZUFQSS51bnJlZ2lzdGVyRXZlbnRIYW5kbGVyKGhhbmRsZXIpXG4gKiAgIChldmVudFR5cGUsIGV2ZW50TWVzc2FnZSkgPT4gZXZlbnRUeXBlICsgJyAtLS0gJyArIGV2ZW50TWVzc2FnZSAvLyB3aXRob3V0IHRoYXQgZnVuY3Rpb24gb25seSAnRVZFTlRfVFlQRSdcbiAqICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHdvdWxkIGJlIGVtaXR0ZWQgYnkgdGhlIE9ic2VydmFibGVcbiAqXG4gKiBzb21lQVBJT2JzZXJ2YWJsZS5zdWJzY3JpYmUodmFsdWUgPT4gY29uc29sZS5sb2codmFsdWUpKTtcbiAqXG4gKiAvLyBMb2dzOlxuICogLy8gJ0VWRU5UX1RZUEUgLS0tIEVWRU5UX01FU1NBR0UnXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBmcm9tRXZlbnR9XG4gKiBAc2VlIHtAbGluayBiaW5kQ2FsbGJhY2t9XG4gKiBAc2VlIHtAbGluayBiaW5kTm9kZUNhbGxiYWNrfVxuICpcbiAqIEBwYXJhbSB7ZnVuY3Rpb24oaGFuZGxlcjogRnVuY3Rpb24pOiBhbnl9IGFkZEhhbmRsZXIgQSBmdW5jdGlvbiB0aGF0IHRha2VzXG4gKiBhIGBoYW5kbGVyYCBmdW5jdGlvbiBhcyBhcmd1bWVudCBhbmQgYXR0YWNoZXMgaXQgc29tZWhvdyB0byB0aGUgYWN0dWFsXG4gKiBzb3VyY2Ugb2YgZXZlbnRzLlxuICogQHBhcmFtIHtmdW5jdGlvbihoYW5kbGVyOiBGdW5jdGlvbiwgdG9rZW4/OiBhbnkpOiB2b2lkfSBbcmVtb3ZlSGFuZGxlcl0gQSBmdW5jdGlvbiB0aGF0XG4gKiB0YWtlcyBhIGBoYW5kbGVyYCBmdW5jdGlvbiBhcyBhbiBhcmd1bWVudCBhbmQgcmVtb3ZlcyBpdCBmcm9tIHRoZSBldmVudCBzb3VyY2UuIElmIGBhZGRIYW5kbGVyYFxuICogcmV0dXJucyBzb21lIGtpbmQgb2YgdG9rZW4sIGByZW1vdmVIYW5kbGVyYCBmdW5jdGlvbiB3aWxsIGhhdmUgaXQgYXMgYSBzZWNvbmQgcGFyYW1ldGVyLlxuICogQHBhcmFtIHtmdW5jdGlvbiguLi5hcmdzOiBhbnkpOiBUfSBbcHJvamVjdF0gQSBmdW5jdGlvbiB0b1xuICogdHJhbnNmb3JtIHJlc3VsdHMuIEl0IHRha2VzIHRoZSBhcmd1bWVudHMgZnJvbSB0aGUgZXZlbnQgaGFuZGxlciBhbmRcbiAqIHNob3VsZCByZXR1cm4gYSBzaW5nbGUgdmFsdWUuXG4gKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFQ+fSBPYnNlcnZhYmxlIHdoaWNoLCB3aGVuIGFuIGV2ZW50IGhhcHBlbnMsIGVtaXRzIGZpcnN0IHBhcmFtZXRlclxuICogcGFzc2VkIHRvIHJlZ2lzdGVyZWQgZXZlbnQgaGFuZGxlci4gQWx0ZXJuYXRpdmVseSBpdCBlbWl0cyB3aGF0ZXZlciBwcm9qZWN0IGZ1bmN0aW9uIHJldHVybnNcbiAqIGF0IHRoYXQgbW9tZW50LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZnJvbUV2ZW50UGF0dGVybjxUPihcbiAgYWRkSGFuZGxlcjogKGhhbmRsZXI6IE5vZGVFdmVudEhhbmRsZXIpID0+IGFueSxcbiAgcmVtb3ZlSGFuZGxlcj86IChoYW5kbGVyOiBOb2RlRXZlbnRIYW5kbGVyLCBzaWduYWw/OiBhbnkpID0+IHZvaWQsXG4gIHJlc3VsdFNlbGVjdG9yPzogKC4uLmFyZ3M6IGFueVtdKSA9PiBUXG4pOiBPYnNlcnZhYmxlPFQgfCBUW10+IHtcbiAgaWYgKHJlc3VsdFNlbGVjdG9yKSB7XG4gICAgcmV0dXJuIGZyb21FdmVudFBhdHRlcm48VD4oYWRkSGFuZGxlciwgcmVtb3ZlSGFuZGxlcikucGlwZShtYXBPbmVPck1hbnlBcmdzKHJlc3VsdFNlbGVjdG9yKSk7XG4gIH1cblxuICByZXR1cm4gbmV3IE9ic2VydmFibGU8VCB8IFRbXT4oKHN1YnNjcmliZXIpID0+IHtcbiAgICBjb25zdCBoYW5kbGVyID0gKC4uLmU6IFRbXSkgPT4gc3Vic2NyaWJlci5uZXh0KGUubGVuZ3RoID09PSAxID8gZVswXSA6IGUpO1xuICAgIGNvbnN0IHJldFZhbHVlID0gYWRkSGFuZGxlcihoYW5kbGVyKTtcbiAgICByZXR1cm4gaXNGdW5jdGlvbihyZW1vdmVIYW5kbGVyKSA/ICgpID0+IHJlbW92ZUhhbmRsZXIoaGFuZGxlciwgcmV0VmFsdWUpIDogdW5kZWZpbmVkO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBpZGVudGl0eSB9IGZyb20gJy4uL3V0aWwvaWRlbnRpdHknO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0LCBTY2hlZHVsZXJMaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXNTY2hlZHVsZXIgfSBmcm9tICcuLi91dGlsL2lzU2NoZWR1bGVyJztcbmltcG9ydCB7IGRlZmVyIH0gZnJvbSAnLi9kZWZlcic7XG5pbXBvcnQgeyBzY2hlZHVsZUl0ZXJhYmxlIH0gZnJvbSAnLi4vc2NoZWR1bGVkL3NjaGVkdWxlSXRlcmFibGUnO1xuXG50eXBlIENvbmRpdGlvbkZ1bmM8Uz4gPSAoc3RhdGU6IFMpID0+IGJvb2xlYW47XG50eXBlIEl0ZXJhdGVGdW5jPFM+ID0gKHN0YXRlOiBTKSA9PiBTO1xudHlwZSBSZXN1bHRGdW5jPFMsIFQ+ID0gKHN0YXRlOiBTKSA9PiBUO1xuXG5leHBvcnQgaW50ZXJmYWNlIEdlbmVyYXRlQmFzZU9wdGlvbnM8Uz4ge1xuICAvKipcbiAgICogSW5pdGlhbCBzdGF0ZS5cbiAgICovXG4gIGluaXRpYWxTdGF0ZTogUztcbiAgLyoqXG4gICAqIENvbmRpdGlvbiBmdW5jdGlvbiB0aGF0IGFjY2VwdHMgc3RhdGUgYW5kIHJldHVybnMgYm9vbGVhbi5cbiAgICogV2hlbiBpdCByZXR1cm5zIGZhbHNlLCB0aGUgZ2VuZXJhdG9yIHN0b3BzLlxuICAgKiBJZiBub3Qgc3BlY2lmaWVkLCBhIGdlbmVyYXRvciBuZXZlciBzdG9wcy5cbiAgICovXG4gIGNvbmRpdGlvbj86IENvbmRpdGlvbkZ1bmM8Uz47XG4gIC8qKlxuICAgKiBJdGVyYXRlIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyBzdGF0ZSBhbmQgcmV0dXJucyBuZXcgc3RhdGUuXG4gICAqL1xuICBpdGVyYXRlOiBJdGVyYXRlRnVuYzxTPjtcbiAgLyoqXG4gICAqIFNjaGVkdWxlckxpa2UgdG8gdXNlIGZvciBnZW5lcmF0aW9uIHByb2Nlc3MuXG4gICAqIEJ5IGRlZmF1bHQsIGEgZ2VuZXJhdG9yIHN0YXJ0cyBpbW1lZGlhdGVseS5cbiAgICovXG4gIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2VuZXJhdGVPcHRpb25zPFQsIFM+IGV4dGVuZHMgR2VuZXJhdGVCYXNlT3B0aW9uczxTPiB7XG4gIC8qKlxuICAgKiBSZXN1bHQgc2VsZWN0aW9uIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyBzdGF0ZSBhbmQgcmV0dXJucyBhIHZhbHVlIHRvIGVtaXQuXG4gICAqL1xuICByZXN1bHRTZWxlY3RvcjogUmVzdWx0RnVuYzxTLCBUPjtcbn1cblxuLyoqXG4gKiBHZW5lcmF0ZXMgYW4gb2JzZXJ2YWJsZSBzZXF1ZW5jZSBieSBydW5uaW5nIGEgc3RhdGUtZHJpdmVuIGxvb3BcbiAqIHByb2R1Y2luZyB0aGUgc2VxdWVuY2UncyBlbGVtZW50cywgdXNpbmcgdGhlIHNwZWNpZmllZCBzY2hlZHVsZXJcbiAqIHRvIHNlbmQgb3V0IG9ic2VydmVyIG1lc3NhZ2VzLlxuICpcbiAqICFbXShnZW5lcmF0ZS5wbmcpXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBQcm9kdWNlcyBzZXF1ZW5jZSBvZiBudW1iZXJzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGdlbmVyYXRlIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgcmVzdWx0ID0gZ2VuZXJhdGUoMCwgeCA9PiB4IDwgMywgeCA9PiB4ICsgMSwgeCA9PiB4KTtcbiAqXG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIExvZ3M6XG4gKiAvLyAwXG4gKiAvLyAxXG4gKiAvLyAyXG4gKiBgYGBcbiAqXG4gKiBVc2UgYGFzYXBTY2hlZHVsZXJgXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGdlbmVyYXRlLCBhc2FwU2NoZWR1bGVyIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgcmVzdWx0ID0gZ2VuZXJhdGUoMSwgeCA9PiB4IDwgNSwgeCA9PiB4ICogMiwgeCA9PiB4ICsgMSwgYXNhcFNjaGVkdWxlcik7XG4gKlxuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqXG4gKiAvLyBMb2dzOlxuICogLy8gMlxuICogLy8gM1xuICogLy8gNVxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgZnJvbX1cbiAqIEBzZWUge0BsaW5rIE9ic2VydmFibGV9XG4gKlxuICogQHBhcmFtIHtTfSBpbml0aWFsU3RhdGUgSW5pdGlhbCBzdGF0ZS5cbiAqIEBwYXJhbSB7ZnVuY3Rpb24gKHN0YXRlOiBTKTogYm9vbGVhbn0gY29uZGl0aW9uIENvbmRpdGlvbiB0byB0ZXJtaW5hdGUgZ2VuZXJhdGlvbiAodXBvbiByZXR1cm5pbmcgZmFsc2UpLlxuICogQHBhcmFtIHtmdW5jdGlvbiAoc3RhdGU6IFMpOiBTfSBpdGVyYXRlIEl0ZXJhdGlvbiBzdGVwIGZ1bmN0aW9uLlxuICogQHBhcmFtIHtmdW5jdGlvbiAoc3RhdGU6IFMpOiBUfSByZXN1bHRTZWxlY3RvciBTZWxlY3RvciBmdW5jdGlvbiBmb3IgcmVzdWx0cyBwcm9kdWNlZCBpbiB0aGUgc2VxdWVuY2UuIChkZXByZWNhdGVkKVxuICogQHBhcmFtIHtTY2hlZHVsZXJMaWtlfSBbc2NoZWR1bGVyXSBBIHtAbGluayBTY2hlZHVsZXJMaWtlfSBvbiB3aGljaCB0byBydW4gdGhlIGdlbmVyYXRvciBsb29wLiBJZiBub3QgcHJvdmlkZWQsIGRlZmF1bHRzIHRvIGVtaXQgaW1tZWRpYXRlbHkuXG4gKiBAcmV0dXJucyB7T2JzZXJ2YWJsZTxUPn0gVGhlIGdlbmVyYXRlZCBzZXF1ZW5jZS5cbiAqIEBkZXByZWNhdGVkIEluc3RlYWQgb2YgcGFzc2luZyBzZXBhcmF0ZSBhcmd1bWVudHMsIHVzZSB0aGUgb3B0aW9ucyBhcmd1bWVudC4gU2lnbmF0dXJlcyB0YWtpbmcgc2VwYXJhdGUgYXJndW1lbnRzIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlPFQsIFM+KFxuICBpbml0aWFsU3RhdGU6IFMsXG4gIGNvbmRpdGlvbjogQ29uZGl0aW9uRnVuYzxTPixcbiAgaXRlcmF0ZTogSXRlcmF0ZUZ1bmM8Uz4sXG4gIHJlc3VsdFNlbGVjdG9yOiBSZXN1bHRGdW5jPFMsIFQ+LFxuICBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlXG4pOiBPYnNlcnZhYmxlPFQ+O1xuXG4vKipcbiAqIEdlbmVyYXRlcyBhbiBPYnNlcnZhYmxlIGJ5IHJ1bm5pbmcgYSBzdGF0ZS1kcml2ZW4gbG9vcFxuICogdGhhdCBlbWl0cyBhbiBlbGVtZW50IG9uIGVhY2ggaXRlcmF0aW9uLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5Vc2UgaXQgaW5zdGVhZCBvZiBuZXh0aW5nIHZhbHVlcyBpbiBhIGZvciBsb29wLjwvc3Bhbj5cbiAqXG4gKiAhW10oZ2VuZXJhdGUucG5nKVxuICpcbiAqIGBnZW5lcmF0ZWAgYWxsb3dzIHlvdSB0byBjcmVhdGUgYSBzdHJlYW0gb2YgdmFsdWVzIGdlbmVyYXRlZCB3aXRoIGEgbG9vcCB2ZXJ5IHNpbWlsYXIgdG9cbiAqIGEgdHJhZGl0aW9uYWwgZm9yIGxvb3AuIFRoZSBmaXJzdCBhcmd1bWVudCBvZiBgZ2VuZXJhdGVgIGlzIGEgYmVnaW5uaW5nIHZhbHVlLiBUaGUgc2Vjb25kIGFyZ3VtZW50XG4gKiBpcyBhIGZ1bmN0aW9uIHRoYXQgYWNjZXB0cyB0aGlzIHZhbHVlIGFuZCB0ZXN0cyBpZiBzb21lIGNvbmRpdGlvbiBzdGlsbCBob2xkcy4gSWYgaXQgZG9lcyxcbiAqIHRoZW4gdGhlIGxvb3AgY29udGludWVzLCBpZiBub3QsIGl0IHN0b3BzLiBUaGUgdGhpcmQgdmFsdWUgaXMgYSBmdW5jdGlvbiB3aGljaCB0YWtlcyB0aGVcbiAqIHByZXZpb3VzbHkgZGVmaW5lZCB2YWx1ZSBhbmQgbW9kaWZpZXMgaXQgaW4gc29tZSB3YXkgb24gZWFjaCBpdGVyYXRpb24uIE5vdGUgaG93IHRoZXNlIHRocmVlIHBhcmFtZXRlcnNcbiAqIGFyZSBkaXJlY3QgZXF1aXZhbGVudHMgb2YgdGhyZWUgZXhwcmVzc2lvbnMgaW4gYSB0cmFkaXRpb25hbCBmb3IgbG9vcDogdGhlIGZpcnN0IGV4cHJlc3Npb25cbiAqIGluaXRpYWxpemVzIHNvbWUgc3RhdGUgKGZvciBleGFtcGxlLCBhIG51bWVyaWMgaW5kZXgpLCB0aGUgc2Vjb25kIHRlc3RzIGlmIHRoZSBsb29wIGNhbiBwZXJmb3JtIHRoZSBuZXh0XG4gKiBpdGVyYXRpb24gKGZvciBleGFtcGxlLCBpZiB0aGUgaW5kZXggaXMgbG93ZXIgdGhhbiAxMCkgYW5kIHRoZSB0aGlyZCBzdGF0ZXMgaG93IHRoZSBkZWZpbmVkIHZhbHVlXG4gKiB3aWxsIGJlIG1vZGlmaWVkIG9uIGV2ZXJ5IHN0ZXAgKGZvciBleGFtcGxlLCB0aGUgaW5kZXggd2lsbCBiZSBpbmNyZW1lbnRlZCBieSBvbmUpLlxuICpcbiAqIFJldHVybiB2YWx1ZSBvZiBhIGBnZW5lcmF0ZWAgb3BlcmF0b3IgaXMgYW4gT2JzZXJ2YWJsZSB0aGF0IG9uIGVhY2ggbG9vcCBpdGVyYXRpb25cbiAqIGVtaXRzIGEgdmFsdWUuIEZpcnN0IG9mIGFsbCwgdGhlIGNvbmRpdGlvbiBmdW5jdGlvbiBpcyByYW4uIElmIGl0IHJldHVybnMgdHJ1ZSwgdGhlbiB0aGUgT2JzZXJ2YWJsZVxuICogZW1pdHMgdGhlIGN1cnJlbnRseSBzdG9yZWQgdmFsdWUgKGluaXRpYWwgdmFsdWUgYXQgdGhlIGZpcnN0IGl0ZXJhdGlvbikgYW5kIGZpbmFsbHkgdXBkYXRlc1xuICogdGhhdCB2YWx1ZSB3aXRoIGl0ZXJhdGUgZnVuY3Rpb24uIElmIGF0IHNvbWUgcG9pbnQgdGhlIGNvbmRpdGlvbiByZXR1cm5zIGZhbHNlLCB0aGVuIHRoZSBPYnNlcnZhYmxlXG4gKiBjb21wbGV0ZXMgYXQgdGhhdCBtb21lbnQuXG4gKlxuICogT3B0aW9uYWxseSB5b3UgY2FuIHBhc3MgYSBmb3VydGggcGFyYW1ldGVyIHRvIGBnZW5lcmF0ZWAgLSBhIHJlc3VsdCBzZWxlY3RvciBmdW5jdGlvbiB3aGljaCBhbGxvd3MgeW91XG4gKiB0byBpbW1lZGlhdGVseSBtYXAgdGhlIHZhbHVlIHRoYXQgd291bGQgbm9ybWFsbHkgYmUgZW1pdHRlZCBieSBhbiBPYnNlcnZhYmxlLlxuICpcbiAqIElmIHlvdSBmaW5kIHRocmVlIGFub255bW91cyBmdW5jdGlvbnMgaW4gYGdlbmVyYXRlYCBjYWxsIGhhcmQgdG8gcmVhZCwgeW91IGNhbiBwcm92aWRlXG4gKiBhIHNpbmdsZSBvYmplY3QgdG8gdGhlIG9wZXJhdG9yIGluc3RlYWQgd2hlcmUgdGhlIG9iamVjdCBoYXMgdGhlIHByb3BlcnRpZXM6IGBpbml0aWFsU3RhdGVgLFxuICogYGNvbmRpdGlvbmAsIGBpdGVyYXRlYCBhbmQgYHJlc3VsdFNlbGVjdG9yYCwgd2hpY2ggc2hvdWxkIGhhdmUgcmVzcGVjdGl2ZSB2YWx1ZXMgdGhhdCB5b3VcbiAqIHdvdWxkIG5vcm1hbGx5IHBhc3MgdG8gYGdlbmVyYXRlYC4gYHJlc3VsdFNlbGVjdG9yYCBpcyBzdGlsbCBvcHRpb25hbCwgYnV0IHRoYXQgZm9ybVxuICogb2YgY2FsbGluZyBgZ2VuZXJhdGVgIGFsbG93cyB5b3UgdG8gb21pdCBgY29uZGl0aW9uYCBhcyB3ZWxsLiBJZiB5b3Ugb21pdCBpdCwgdGhhdCBtZWFuc1xuICogY29uZGl0aW9uIGFsd2F5cyBob2xkcywgb3IgaW4gb3RoZXIgd29yZHMgdGhlIHJlc3VsdGluZyBPYnNlcnZhYmxlIHdpbGwgbmV2ZXIgY29tcGxldGUuXG4gKlxuICogQm90aCBmb3JtcyBvZiBgZ2VuZXJhdGVgIGNhbiBvcHRpb25hbGx5IGFjY2VwdCBhIHNjaGVkdWxlci4gSW4gY2FzZSBvZiBhIG11bHRpLXBhcmFtZXRlciBjYWxsLFxuICogc2NoZWR1bGVyIHNpbXBseSBjb21lcyBhcyBhIGxhc3QgYXJndW1lbnQgKG5vIG1hdHRlciBpZiB0aGVyZSBpcyBhIGByZXN1bHRTZWxlY3RvcmBcbiAqIGZ1bmN0aW9uIG9yIG5vdCkuIEluIGNhc2Ugb2YgYSBzaW5nbGUtcGFyYW1ldGVyIGNhbGwsIHlvdSBjYW4gcHJvdmlkZSBpdCBhcyBhXG4gKiBgc2NoZWR1bGVyYCBwcm9wZXJ0eSBvbiB0aGUgb2JqZWN0IHBhc3NlZCB0byB0aGUgb3BlcmF0b3IuIEluIGJvdGggY2FzZXMsIGEgc2NoZWR1bGVyIGRlY2lkZXMgd2hlblxuICogdGhlIG5leHQgaXRlcmF0aW9uIG9mIHRoZSBsb29wIHdpbGwgaGFwcGVuIGFuZCB0aGVyZWZvcmUgd2hlbiB0aGUgbmV4dCB2YWx1ZSB3aWxsIGJlIGVtaXR0ZWRcbiAqIGJ5IHRoZSBPYnNlcnZhYmxlLiBGb3IgZXhhbXBsZSwgdG8gZW5zdXJlIHRoYXQgZWFjaCB2YWx1ZSBpcyBwdXNoZWQgdG8gdGhlIE9ic2VydmVyXG4gKiBvbiBhIHNlcGFyYXRlIHRhc2sgaW4gdGhlIGV2ZW50IGxvb3AsIHlvdSBjb3VsZCB1c2UgdGhlIGBhc3luY2Agc2NoZWR1bGVyLiBOb3RlIHRoYXRcbiAqIGJ5IGRlZmF1bHQgKHdoZW4gbm8gc2NoZWR1bGVyIGlzIHBhc3NlZCkgdmFsdWVzIGFyZSBzaW1wbHkgZW1pdHRlZCBzeW5jaHJvbm91c2x5LlxuICpcbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIFVzZSB3aXRoIGNvbmRpdGlvbiBhbmQgaXRlcmF0ZSBmdW5jdGlvbnNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCByZXN1bHQgPSBnZW5lcmF0ZSgwLCB4ID0+IHggPCAzLCB4ID0+IHggKyAxKTtcbiAqXG4gKiByZXN1bHQuc3Vic2NyaWJlKHtcbiAqICAgbmV4dDogdmFsdWUgPT4gY29uc29sZS5sb2codmFsdWUpLFxuICogICBjb21wbGV0ZTogKCkgPT4gY29uc29sZS5sb2coJ0NvbXBsZXRlIScpXG4gKiB9KTtcbiAqXG4gKiAvLyBMb2dzOlxuICogLy8gMFxuICogLy8gMVxuICogLy8gMlxuICogLy8gJ0NvbXBsZXRlISdcbiAqIGBgYFxuICpcbiAqIFVzZSB3aXRoIGNvbmRpdGlvbiwgaXRlcmF0ZSBhbmQgcmVzdWx0U2VsZWN0b3IgZnVuY3Rpb25zXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGdlbmVyYXRlIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgcmVzdWx0ID0gZ2VuZXJhdGUoMCwgeCA9PiB4IDwgMywgeCA9PiB4ICsgMSwgeCA9PiB4ICogMTAwMCk7XG4gKlxuICogcmVzdWx0LnN1YnNjcmliZSh7XG4gKiAgIG5leHQ6IHZhbHVlID0+IGNvbnNvbGUubG9nKHZhbHVlKSxcbiAqICAgY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKCdDb21wbGV0ZSEnKVxuICogfSk7XG4gKlxuICogLy8gTG9nczpcbiAqIC8vIDBcbiAqIC8vIDEwMDBcbiAqIC8vIDIwMDBcbiAqIC8vICdDb21wbGV0ZSEnXG4gKiBgYGBcbiAqXG4gKiBVc2Ugd2l0aCBvcHRpb25zIG9iamVjdFxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBnZW5lcmF0ZSB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHJlc3VsdCA9IGdlbmVyYXRlKHtcbiAqICAgaW5pdGlhbFN0YXRlOiAwLFxuICogICBjb25kaXRpb24odmFsdWUpIHsgcmV0dXJuIHZhbHVlIDwgMzsgfSxcbiAqICAgaXRlcmF0ZSh2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKyAxOyB9LFxuICogICByZXN1bHRTZWxlY3Rvcih2YWx1ZSkgeyByZXR1cm4gdmFsdWUgKiAxMDAwOyB9XG4gKiB9KTtcbiAqXG4gKiByZXN1bHQuc3Vic2NyaWJlKHtcbiAqICAgbmV4dDogdmFsdWUgPT4gY29uc29sZS5sb2codmFsdWUpLFxuICogICBjb21wbGV0ZTogKCkgPT4gY29uc29sZS5sb2coJ0NvbXBsZXRlIScpXG4gKiB9KTtcbiAqXG4gKiAvLyBMb2dzOlxuICogLy8gMFxuICogLy8gMTAwMFxuICogLy8gMjAwMFxuICogLy8gJ0NvbXBsZXRlISdcbiAqIGBgYFxuICpcbiAqIFVzZSBvcHRpb25zIG9iamVjdCB3aXRob3V0IGNvbmRpdGlvbiBmdW5jdGlvblxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBnZW5lcmF0ZSB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHJlc3VsdCA9IGdlbmVyYXRlKHtcbiAqICAgaW5pdGlhbFN0YXRlOiAwLFxuICogICBpdGVyYXRlKHZhbHVlKSB7IHJldHVybiB2YWx1ZSArIDE7IH0sXG4gKiAgIHJlc3VsdFNlbGVjdG9yKHZhbHVlKSB7IHJldHVybiB2YWx1ZSAqIDEwMDA7IH1cbiAqIH0pO1xuICpcbiAqIHJlc3VsdC5zdWJzY3JpYmUoe1xuICogICBuZXh0OiB2YWx1ZSA9PiBjb25zb2xlLmxvZyh2YWx1ZSksXG4gKiAgIGNvbXBsZXRlOiAoKSA9PiBjb25zb2xlLmxvZygnQ29tcGxldGUhJykgLy8gVGhpcyB3aWxsIG5ldmVyIHJ1blxuICogfSk7XG4gKlxuICogLy8gTG9nczpcbiAqIC8vIDBcbiAqIC8vIDEwMDBcbiAqIC8vIDIwMDBcbiAqIC8vIDMwMDBcbiAqIC8vIC4uLmFuZCBuZXZlciBzdG9wcy5cbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGZyb219XG4gKlxuICogQHBhcmFtIHtTfSBpbml0aWFsU3RhdGUgSW5pdGlhbCBzdGF0ZS5cbiAqIEBwYXJhbSB7ZnVuY3Rpb24gKHN0YXRlOiBTKTogYm9vbGVhbn0gY29uZGl0aW9uIENvbmRpdGlvbiB0byB0ZXJtaW5hdGUgZ2VuZXJhdGlvbiAodXBvbiByZXR1cm5pbmcgZmFsc2UpLlxuICogQHBhcmFtIHtmdW5jdGlvbiAoc3RhdGU6IFMpOiBTfSBpdGVyYXRlIEl0ZXJhdGlvbiBzdGVwIGZ1bmN0aW9uLlxuICogQHBhcmFtIHtmdW5jdGlvbiAoc3RhdGU6IFMpOiBUfSBbcmVzdWx0U2VsZWN0b3JdIFNlbGVjdG9yIGZ1bmN0aW9uIGZvciByZXN1bHRzIHByb2R1Y2VkIGluIHRoZSBzZXF1ZW5jZS5cbiAqIEBwYXJhbSB7U2NoZWR1bGVyfSBbc2NoZWR1bGVyXSBBIHtAbGluayBTY2hlZHVsZXJ9IG9uIHdoaWNoIHRvIHJ1biB0aGUgZ2VuZXJhdG9yIGxvb3AuIElmIG5vdCBwcm92aWRlZCwgZGVmYXVsdHMgdG8gZW1pdHRpbmcgaW1tZWRpYXRlbHkuXG4gKiBAcmV0dXJuIHtPYnNlcnZhYmxlPFQ+fSBUaGUgZ2VuZXJhdGVkIHNlcXVlbmNlLlxuICogQGRlcHJlY2F0ZWQgSW5zdGVhZCBvZiBwYXNzaW5nIHNlcGFyYXRlIGFyZ3VtZW50cywgdXNlIHRoZSBvcHRpb25zIGFyZ3VtZW50LiBTaWduYXR1cmVzIHRha2luZyBzZXBhcmF0ZSBhcmd1bWVudHMgd2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGU8Uz4oXG4gIGluaXRpYWxTdGF0ZTogUyxcbiAgY29uZGl0aW9uOiBDb25kaXRpb25GdW5jPFM+LFxuICBpdGVyYXRlOiBJdGVyYXRlRnVuYzxTPixcbiAgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZVxuKTogT2JzZXJ2YWJsZTxTPjtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgYW4gb2JzZXJ2YWJsZSBzZXF1ZW5jZSBieSBydW5uaW5nIGEgc3RhdGUtZHJpdmVuIGxvb3BcbiAqIHByb2R1Y2luZyB0aGUgc2VxdWVuY2UncyBlbGVtZW50cywgdXNpbmcgdGhlIHNwZWNpZmllZCBzY2hlZHVsZXJcbiAqIHRvIHNlbmQgb3V0IG9ic2VydmVyIG1lc3NhZ2VzLlxuICogVGhlIG92ZXJsb2FkIGFjY2VwdHMgb3B0aW9ucyBvYmplY3QgdGhhdCBtaWdodCBjb250YWluIGluaXRpYWwgc3RhdGUsIGl0ZXJhdGUsXG4gKiBjb25kaXRpb24gYW5kIHNjaGVkdWxlci5cbiAqXG4gKiAhW10oZ2VuZXJhdGUucG5nKVxuICpcbiAqICMjIEV4YW1wbGVzXG4gKlxuICogVXNlIG9wdGlvbnMgb2JqZWN0IHdpdGggY29uZGl0aW9uIGZ1bmN0aW9uXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGdlbmVyYXRlIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgcmVzdWx0ID0gZ2VuZXJhdGUoe1xuICogICBpbml0aWFsU3RhdGU6IDAsXG4gKiAgIGNvbmRpdGlvbjogeCA9PiB4IDwgMyxcbiAqICAgaXRlcmF0ZTogeCA9PiB4ICsgMVxuICogfSk7XG4gKlxuICogcmVzdWx0LnN1YnNjcmliZSh7XG4gKiAgIG5leHQ6IHZhbHVlID0+IGNvbnNvbGUubG9nKHZhbHVlKSxcbiAqICAgY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKCdDb21wbGV0ZSEnKVxuICogfSk7XG4gKlxuICogLy8gTG9nczpcbiAqIC8vIDBcbiAqIC8vIDFcbiAqIC8vIDJcbiAqIC8vICdDb21wbGV0ZSEnXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBmcm9tfVxuICogQHNlZSB7QGxpbmsgT2JzZXJ2YWJsZX1cbiAqXG4gKiBAcGFyYW0ge0dlbmVyYXRlQmFzZU9wdGlvbnM8Uz59IG9wdGlvbnMgT2JqZWN0IHRoYXQgbXVzdCBjb250YWluIGluaXRpYWxTdGF0ZSwgaXRlcmF0ZSBhbmQgbWlnaHQgY29udGFpbiBjb25kaXRpb24gYW5kIHNjaGVkdWxlci5cbiAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPFM+fSBUaGUgZ2VuZXJhdGVkIHNlcXVlbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGU8Uz4ob3B0aW9uczogR2VuZXJhdGVCYXNlT3B0aW9uczxTPik6IE9ic2VydmFibGU8Uz47XG5cbi8qKlxuICogR2VuZXJhdGVzIGFuIG9ic2VydmFibGUgc2VxdWVuY2UgYnkgcnVubmluZyBhIHN0YXRlLWRyaXZlbiBsb29wXG4gKiBwcm9kdWNpbmcgdGhlIHNlcXVlbmNlJ3MgZWxlbWVudHMsIHVzaW5nIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGVyXG4gKiB0byBzZW5kIG91dCBvYnNlcnZlciBtZXNzYWdlcy5cbiAqIFRoZSBvdmVybG9hZCBhY2NlcHRzIG9wdGlvbnMgb2JqZWN0IHRoYXQgbWlnaHQgY29udGFpbiBpbml0aWFsIHN0YXRlLCBpdGVyYXRlLFxuICogY29uZGl0aW9uLCByZXN1bHQgc2VsZWN0b3IgYW5kIHNjaGVkdWxlci5cbiAqXG4gKiAhW10oZ2VuZXJhdGUucG5nKVxuICpcbiAqICMjIEV4YW1wbGVzXG4gKlxuICogVXNlIG9wdGlvbnMgb2JqZWN0IHdpdGggY29uZGl0aW9uIGFuZCBpdGVyYXRlIGZ1bmN0aW9uXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGdlbmVyYXRlIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgcmVzdWx0ID0gZ2VuZXJhdGUoe1xuICogICBpbml0aWFsU3RhdGU6IDAsXG4gKiAgIGNvbmRpdGlvbjogeCA9PiB4IDwgMyxcbiAqICAgaXRlcmF0ZTogeCA9PiB4ICsgMSxcbiAqICAgcmVzdWx0U2VsZWN0b3I6IHggPT4geFxuICogfSk7XG4gKlxuICogcmVzdWx0LnN1YnNjcmliZSh7XG4gKiAgIG5leHQ6IHZhbHVlID0+IGNvbnNvbGUubG9nKHZhbHVlKSxcbiAqICAgY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKCdDb21wbGV0ZSEnKVxuICogfSk7XG4gKlxuICogLy8gTG9nczpcbiAqIC8vIDBcbiAqIC8vIDFcbiAqIC8vIDJcbiAqIC8vICdDb21wbGV0ZSEnXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBmcm9tfVxuICogQHNlZSB7QGxpbmsgT2JzZXJ2YWJsZX1cbiAqXG4gKiBAcGFyYW0ge0dlbmVyYXRlT3B0aW9uczxULCBTPn0gb3B0aW9ucyBPYmplY3QgdGhhdCBtdXN0IGNvbnRhaW4gaW5pdGlhbFN0YXRlLCBpdGVyYXRlLCByZXN1bHRTZWxlY3RvciBhbmQgbWlnaHQgY29udGFpbiBjb25kaXRpb24gYW5kIHNjaGVkdWxlci5cbiAqIEByZXR1cm5zIHtPYnNlcnZhYmxlPFQ+fSBUaGUgZ2VuZXJhdGVkIHNlcXVlbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2VuZXJhdGU8VCwgUz4ob3B0aW9uczogR2VuZXJhdGVPcHRpb25zPFQsIFM+KTogT2JzZXJ2YWJsZTxUPjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlPFQsIFM+KFxuICBpbml0aWFsU3RhdGVPck9wdGlvbnM6IFMgfCBHZW5lcmF0ZU9wdGlvbnM8VCwgUz4sXG4gIGNvbmRpdGlvbj86IENvbmRpdGlvbkZ1bmM8Uz4sXG4gIGl0ZXJhdGU/OiBJdGVyYXRlRnVuYzxTPixcbiAgcmVzdWx0U2VsZWN0b3JPclNjaGVkdWxlcj86IFJlc3VsdEZ1bmM8UywgVD4gfCBTY2hlZHVsZXJMaWtlLFxuICBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlXG4pOiBPYnNlcnZhYmxlPFQ+IHtcbiAgbGV0IHJlc3VsdFNlbGVjdG9yOiBSZXN1bHRGdW5jPFMsIFQ+O1xuICBsZXQgaW5pdGlhbFN0YXRlOiBTO1xuXG4gIC8vIFRPRE86IFJlbW92ZSB0aGlzIGFzIHdlIG1vdmUgYXdheSBmcm9tIGRlcHJlY2F0ZWQgc2lnbmF0dXJlc1xuICAvLyBhbmQgbW92ZSB0b3dhcmRzIGEgY29uZmlndXJhdGlvbiBvYmplY3QgYXJndW1lbnQuXG4gIGlmIChhcmd1bWVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgLy8gSWYgd2Ugb25seSBoYXZlIG9uZSBhcmd1bWVudCwgd2UgY2FuIGFzc3VtZSBpdCBpcyBhIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxuICAgIC8vIE5vdGUgdGhhdCBmb2xrcyBub3QgdXNpbmcgVHlwZVNjcmlwdCBtYXkgdHJpcCBvdmVyIHRoaXMuXG4gICAgKHtcbiAgICAgIGluaXRpYWxTdGF0ZSxcbiAgICAgIGNvbmRpdGlvbixcbiAgICAgIGl0ZXJhdGUsXG4gICAgICByZXN1bHRTZWxlY3RvciA9IGlkZW50aXR5IGFzIFJlc3VsdEZ1bmM8UywgVD4sXG4gICAgICBzY2hlZHVsZXIsXG4gICAgfSA9IGluaXRpYWxTdGF0ZU9yT3B0aW9ucyBhcyBHZW5lcmF0ZU9wdGlvbnM8VCwgUz4pO1xuICB9IGVsc2Uge1xuICAgIC8vIERlcHJlY2F0ZWQgYXJndW1lbnRzIHBhdGguIEZpZ3VyZSBvdXQgd2hhdCB0aGUgdXNlclxuICAgIC8vIHBhc3NlZCBhbmQgc2V0IGl0IGhlcmUuXG4gICAgaW5pdGlhbFN0YXRlID0gaW5pdGlhbFN0YXRlT3JPcHRpb25zIGFzIFM7XG4gICAgaWYgKCFyZXN1bHRTZWxlY3Rvck9yU2NoZWR1bGVyIHx8IGlzU2NoZWR1bGVyKHJlc3VsdFNlbGVjdG9yT3JTY2hlZHVsZXIpKSB7XG4gICAgICByZXN1bHRTZWxlY3RvciA9IGlkZW50aXR5IGFzIFJlc3VsdEZ1bmM8UywgVD47XG4gICAgICBzY2hlZHVsZXIgPSByZXN1bHRTZWxlY3Rvck9yU2NoZWR1bGVyIGFzIFNjaGVkdWxlckxpa2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdFNlbGVjdG9yID0gcmVzdWx0U2VsZWN0b3JPclNjaGVkdWxlciBhcyBSZXN1bHRGdW5jPFMsIFQ+O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRoZSBhY3R1YWwgZ2VuZXJhdG9yIHVzZWQgdG8gXCJnZW5lcmF0ZVwiIHZhbHVlcy5cbiAgZnVuY3Rpb24qIGdlbigpIHtcbiAgICBmb3IgKGxldCBzdGF0ZSA9IGluaXRpYWxTdGF0ZTsgIWNvbmRpdGlvbiB8fCBjb25kaXRpb24oc3RhdGUpOyBzdGF0ZSA9IGl0ZXJhdGUhKHN0YXRlKSkge1xuICAgICAgeWllbGQgcmVzdWx0U2VsZWN0b3Ioc3RhdGUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIHVzZSBgZGVmZXJgIGJlY2F1c2Ugd2Ugd2FudCB0byBkZWZlciB0aGUgY3JlYXRpb24gb2YgdGhlIGl0ZXJhdG9yIGZyb20gdGhlIGl0ZXJhYmxlLlxuICByZXR1cm4gZGVmZXIoXG4gICAgKHNjaGVkdWxlclxuICAgICAgPyAvLyBJZiBhIHNjaGVkdWxlciB3YXMgcHJvdmlkZWQsIHVzZSBgc2NoZWR1bGVJdGVyYWJsZWAgdG8gZW5zdXJlIHRoYXQgaXRlcmF0aW9uL2dlbmVyYXRpb25cbiAgICAgICAgLy8gaGFwcGVucyBvbiB0aGUgc2NoZWR1bGVyLlxuICAgICAgICAoKSA9PiBzY2hlZHVsZUl0ZXJhYmxlKGdlbigpLCBzY2hlZHVsZXIhKVxuICAgICAgOiAvLyBPdGhlcndpc2UsIGlmIHRoZXJlJ3Mgbm8gc2NoZWR1bGVyLCB3ZSBjYW4ganVzdCB1c2UgdGhlIGdlbmVyYXRvciBmdW5jdGlvbiBkaXJlY3RseSBpblxuICAgICAgICAvLyBgZGVmZXJgIGFuZCBleGVjdXRpbmcgaXQgd2lsbCByZXR1cm4gdGhlIGdlbmVyYXRvciAod2hpY2ggaXMgaXRlcmFibGUpLlxuICAgICAgICBnZW4pIGFzICgpID0+IE9ic2VydmFibGVJbnB1dDxUPlxuICApO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IGRlZmVyIH0gZnJvbSAnLi9kZWZlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogQ2hlY2tzIGEgYm9vbGVhbiBhdCBzdWJzY3JpcHRpb24gdGltZSwgYW5kIGNob29zZXMgYmV0d2VlbiBvbmUgb2YgdHdvIG9ic2VydmFibGUgc291cmNlc1xuICpcbiAqIGBpaWZgIGV4cGVjdHMgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSBib29sZWFuICh0aGUgYGNvbmRpdGlvbmAgZnVuY3Rpb24pLCBhbmQgdHdvIHNvdXJjZXMsXG4gKiB0aGUgYHRydWVSZXN1bHRgIGFuZCB0aGUgYGZhbHNlUmVzdWx0YCwgYW5kIHJldHVybnMgYW4gT2JzZXJ2YWJsZS5cbiAqXG4gKiBBdCB0aGUgbW9tZW50IG9mIHN1YnNjcmlwdGlvbiwgdGhlIGBjb25kaXRpb25gIGZ1bmN0aW9uIGlzIGNhbGxlZC4gSWYgdGhlIHJlc3VsdCBpcyBgdHJ1ZWAsIHRoZVxuICogc3Vic2NyaXB0aW9uIHdpbGwgYmUgdG8gdGhlIHNvdXJjZSBwYXNzZWQgYXMgdGhlIGB0cnVlUmVzdWx0YCwgb3RoZXJ3aXNlLCB0aGUgc3Vic2NyaXB0aW9uIHdpbGwgYmVcbiAqIHRvIHRoZSBzb3VyY2UgcGFzc2VkIGFzIHRoZSBgZmFsc2VSZXN1bHRgLlxuICpcbiAqIElmIHlvdSBuZWVkIHRvIGNoZWNrIG1vcmUgdGhhbiB0d28gb3B0aW9ucyB0byBjaG9vc2UgYmV0d2VlbiBtb3JlIHRoYW4gb25lIG9ic2VydmFibGUsIGhhdmUgYSBsb29rIGF0IHRoZSB7QGxpbmsgZGVmZXJ9IGNyZWF0aW9uIG1ldGhvZC5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIENoYW5nZSBhdCBydW50aW1lIHdoaWNoIE9ic2VydmFibGUgd2lsbCBiZSBzdWJzY3JpYmVkXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGlpZiwgb2YgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBsZXQgc3Vic2NyaWJlVG9GaXJzdDtcbiAqIGNvbnN0IGZpcnN0T3JTZWNvbmQgPSBpaWYoXG4gKiAgICgpID0+IHN1YnNjcmliZVRvRmlyc3QsXG4gKiAgIG9mKCdmaXJzdCcpLFxuICogICBvZignc2Vjb25kJylcbiAqICk7XG4gKlxuICogc3Vic2NyaWJlVG9GaXJzdCA9IHRydWU7XG4gKiBmaXJzdE9yU2Vjb25kLnN1YnNjcmliZSh2YWx1ZSA9PiBjb25zb2xlLmxvZyh2YWx1ZSkpO1xuICpcbiAqIC8vIExvZ3M6XG4gKiAvLyAnZmlyc3QnXG4gKlxuICogc3Vic2NyaWJlVG9GaXJzdCA9IGZhbHNlO1xuICogZmlyc3RPclNlY29uZC5zdWJzY3JpYmUodmFsdWUgPT4gY29uc29sZS5sb2codmFsdWUpKTtcbiAqXG4gKiAvLyBMb2dzOlxuICogLy8gJ3NlY29uZCdcbiAqIGBgYFxuICpcbiAqIENvbnRyb2wgYWNjZXNzIHRvIGFuIE9ic2VydmFibGVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaWlmLCBvZiwgRU1QVFkgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBsZXQgYWNjZXNzR3JhbnRlZDtcbiAqIGNvbnN0IG9ic2VydmFibGVJZllvdUhhdmVBY2Nlc3MgPSBpaWYoXG4gKiAgICgpID0+IGFjY2Vzc0dyYW50ZWQsXG4gKiAgIG9mKCdJdCBzZWVtcyB5b3UgaGF2ZSBhbiBhY2Nlc3MuLi4nKSxcbiAqICAgRU1QVFlcbiAqICk7XG4gKlxuICogYWNjZXNzR3JhbnRlZCA9IHRydWU7XG4gKiBvYnNlcnZhYmxlSWZZb3VIYXZlQWNjZXNzLnN1YnNjcmliZSh7XG4gKiAgIG5leHQ6IHZhbHVlID0+IGNvbnNvbGUubG9nKHZhbHVlKSxcbiAqICAgY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKCdUaGUgZW5kJylcbiAqIH0pO1xuICpcbiAqIC8vIExvZ3M6XG4gKiAvLyAnSXQgc2VlbXMgeW91IGhhdmUgYW4gYWNjZXNzLi4uJ1xuICogLy8gJ1RoZSBlbmQnXG4gKlxuICogYWNjZXNzR3JhbnRlZCA9IGZhbHNlO1xuICogb2JzZXJ2YWJsZUlmWW91SGF2ZUFjY2Vzcy5zdWJzY3JpYmUoe1xuICogICBuZXh0OiB2YWx1ZSA9PiBjb25zb2xlLmxvZyh2YWx1ZSksXG4gKiAgIGNvbXBsZXRlOiAoKSA9PiBjb25zb2xlLmxvZygnVGhlIGVuZCcpXG4gKiB9KTtcbiAqXG4gKiAvLyBMb2dzOlxuICogLy8gJ1RoZSBlbmQnXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBkZWZlcn1cbiAqXG4gKiBAcGFyYW0gY29uZGl0aW9uIENvbmRpdGlvbiB3aGljaCBPYnNlcnZhYmxlIHNob3VsZCBiZSBjaG9zZW4uXG4gKiBAcGFyYW0gdHJ1ZVJlc3VsdCBBbiBPYnNlcnZhYmxlIHRoYXQgd2lsbCBiZSBzdWJzY3JpYmVkIGlmIGNvbmRpdGlvbiBpcyB0cnVlLlxuICogQHBhcmFtIGZhbHNlUmVzdWx0IEFuIE9ic2VydmFibGUgdGhhdCB3aWxsIGJlIHN1YnNjcmliZWQgaWYgY29uZGl0aW9uIGlzIGZhbHNlLlxuICogQHJldHVybiBBbiBvYnNlcnZhYmxlIHRoYXQgcHJveGllcyB0byBgdHJ1ZVJlc3VsdGAgb3IgYGZhbHNlUmVzdWx0YCwgZGVwZW5kaW5nIG9uIHRoZSByZXN1bHQgb2YgdGhlIGBjb25kaXRpb25gIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaWlmPFQsIEY+KGNvbmRpdGlvbjogKCkgPT4gYm9vbGVhbiwgdHJ1ZVJlc3VsdDogT2JzZXJ2YWJsZUlucHV0PFQ+LCBmYWxzZVJlc3VsdDogT2JzZXJ2YWJsZUlucHV0PEY+KTogT2JzZXJ2YWJsZTxUIHwgRj4ge1xuICByZXR1cm4gZGVmZXIoKCkgPT4gKGNvbmRpdGlvbigpID8gdHJ1ZVJlc3VsdCA6IGZhbHNlUmVzdWx0KSk7XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgU2NoZWR1bGVyTGlrZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGFzeW5jIGFzIGFzeW5jU2NoZWR1bGVyIH0gZnJvbSAnLi4vc2NoZWR1bGVyL2FzeW5jJztcbmltcG9ydCB7IGlzU2NoZWR1bGVyIH0gZnJvbSAnLi4vdXRpbC9pc1NjaGVkdWxlcic7XG5pbXBvcnQgeyBpc1ZhbGlkRGF0ZSB9IGZyb20gJy4uL3V0aWwvaXNEYXRlJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuIG9ic2VydmFibGUgdGhhdCB3aWxsIHdhaXQgZm9yIGEgc3BlY2lmaWVkIHRpbWUgcGVyaW9kLCBvciBleGFjdCBkYXRlLCBiZWZvcmVcbiAqIGVtaXR0aW5nIHRoZSBudW1iZXIgMC5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+VXNlZCB0byBlbWl0IGEgbm90aWZpY2F0aW9uIGFmdGVyIGEgZGVsYXkuPC9zcGFuPlxuICpcbiAqIFRoaXMgb2JzZXJ2YWJsZSBpcyB1c2VmdWwgZm9yIGNyZWF0aW5nIGRlbGF5cyBpbiBjb2RlLCBvciByYWNpbmcgYWdhaW5zdCBvdGhlciB2YWx1ZXNcbiAqIGZvciBhZC1ob2MgdGltZW91dHMuXG4gKlxuICogVGhlIGBkZWxheWAgaXMgc3BlY2lmaWVkIGJ5IGRlZmF1bHQgaW4gbWlsbGlzZWNvbmRzLCBob3dldmVyIHByb3ZpZGluZyBhIGN1c3RvbSBzY2hlZHVsZXIgY291bGRcbiAqIGNyZWF0ZSBhIGRpZmZlcmVudCBiZWhhdmlvci5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIFdhaXQgMyBzZWNvbmRzIGFuZCBzdGFydCBhbm90aGVyIG9ic2VydmFibGVcbiAqXG4gKiBZb3UgbWlnaHQgd2FudCB0byB1c2UgYHRpbWVyYCB0byBkZWxheSBzdWJzY3JpcHRpb24gdG8gYW5cbiAqIG9ic2VydmFibGUgYnkgYSBzZXQgYW1vdW50IG9mIHRpbWUuIEhlcmUgd2UgdXNlIGEgdGltZXIgd2l0aFxuICoge0BsaW5rIGNvbmNhdE1hcFRvfSBvciB7QGxpbmsgY29uY2F0TWFwfSBpbiBvcmRlciB0byB3YWl0XG4gKiBhIGZldyBzZWNvbmRzIGFuZCBzdGFydCBhIHN1YnNjcmlwdGlvbiB0byBhIHNvdXJjZS5cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgb2YsIHRpbWVyLCBjb25jYXRNYXAgfSBmcm9tICdyeGpzJztcbiAqXG4gKiAvLyBUaGlzIGNvdWxkIGJlIGFueSBvYnNlcnZhYmxlXG4gKiBjb25zdCBzb3VyY2UgPSBvZigxLCAyLCAzKTtcbiAqXG4gKiB0aW1lcigzMDAwKVxuICogICAucGlwZShjb25jYXRNYXAoKCkgPT4gc291cmNlKSlcbiAqICAgLnN1YnNjcmliZShjb25zb2xlLmxvZyk7XG4gKiBgYGBcbiAqXG4gKiBUYWtlIGFsbCB2YWx1ZXMgdW50aWwgdGhlIHN0YXJ0IG9mIHRoZSBuZXh0IG1pbnV0ZVxuICpcbiAqIFVzaW5nIGEgYERhdGVgIGFzIHRoZSB0cmlnZ2VyIGZvciB0aGUgZmlyc3QgZW1pc3Npb24sIHlvdSBjYW5cbiAqIGRvIHRoaW5ncyBsaWtlIHdhaXQgdW50aWwgbWlkbmlnaHQgdG8gZmlyZSBhbiBldmVudCwgb3IgaW4gdGhpcyBjYXNlLFxuICogd2FpdCB1bnRpbCBhIG5ldyBtaW51dGUgc3RhcnRzIChjaG9zZW4gc28gdGhlIGV4YW1wbGUgd291bGRuJ3QgdGFrZVxuICogdG9vIGxvbmcgdG8gcnVuKSBpbiBvcmRlciB0byBzdG9wIHdhdGNoaW5nIGEgc3RyZWFtLiBMZXZlcmFnaW5nXG4gKiB7QGxpbmsgdGFrZVVudGlsfS5cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaW50ZXJ2YWwsIHRha2VVbnRpbCwgdGltZXIgfSBmcm9tICdyeGpzJztcbiAqXG4gKiAvLyBCdWlsZCBhIERhdGUgb2JqZWN0IHRoYXQgbWFya3MgdGhlXG4gKiAvLyBuZXh0IG1pbnV0ZS5cbiAqIGNvbnN0IGN1cnJlbnREYXRlID0gbmV3IERhdGUoKTtcbiAqIGNvbnN0IHN0YXJ0T2ZOZXh0TWludXRlID0gbmV3IERhdGUoXG4gKiAgIGN1cnJlbnREYXRlLmdldEZ1bGxZZWFyKCksXG4gKiAgIGN1cnJlbnREYXRlLmdldE1vbnRoKCksXG4gKiAgIGN1cnJlbnREYXRlLmdldERhdGUoKSxcbiAqICAgY3VycmVudERhdGUuZ2V0SG91cnMoKSxcbiAqICAgY3VycmVudERhdGUuZ2V0TWludXRlcygpICsgMVxuICogKTtcbiAqXG4gKiAvLyBUaGlzIGNvdWxkIGJlIGFueSBvYnNlcnZhYmxlIHN0cmVhbVxuICogY29uc3Qgc291cmNlID0gaW50ZXJ2YWwoMTAwMCk7XG4gKlxuICogY29uc3QgcmVzdWx0ID0gc291cmNlLnBpcGUoXG4gKiAgIHRha2VVbnRpbCh0aW1lcihzdGFydE9mTmV4dE1pbnV0ZSkpXG4gKiApO1xuICpcbiAqIHJlc3VsdC5zdWJzY3JpYmUoY29uc29sZS5sb2cpO1xuICogYGBgXG4gKlxuICogIyMjIEtub3duIExpbWl0YXRpb25zXG4gKlxuICogLSBUaGUge0BsaW5rIGFzeW5jU2NoZWR1bGVyfSB1c2VzIGBzZXRUaW1lb3V0YCB3aGljaCBoYXMgbGltaXRhdGlvbnMgZm9yIGhvdyBmYXIgaW4gdGhlIGZ1dHVyZSBpdCBjYW4gYmUgc2NoZWR1bGVkLlxuICpcbiAqIC0gSWYgYSBgc2NoZWR1bGVyYCBpcyBwcm92aWRlZCB0aGF0IHJldHVybnMgYSB0aW1lc3RhbXAgb3RoZXIgdGhhbiBhbiBlcG9jaCBmcm9tIGBub3coKWAsIGFuZFxuICogYSBgRGF0ZWAgb2JqZWN0IGlzIHBhc3NlZCB0byB0aGUgYGR1ZVRpbWVgIGFyZ3VtZW50LCB0aGUgY2FsY3VsYXRpb24gZm9yIHdoZW4gdGhlIGZpcnN0IGVtaXNzaW9uXG4gKiBzaG91bGQgb2NjdXIgd2lsbCBiZSBpbmNvcnJlY3QuIEluIHRoaXMgY2FzZSwgaXQgd291bGQgYmUgYmVzdCB0byBkbyB5b3VyIG93biBjYWxjdWxhdGlvbnNcbiAqIGFoZWFkIG9mIHRpbWUsIGFuZCBwYXNzIGEgYG51bWJlcmAgaW4gYXMgdGhlIGBkdWVUaW1lYC5cbiAqXG4gKiBAcGFyYW0gZHVlIElmIGEgYG51bWJlcmAsIHRoZSBhbW91bnQgb2YgdGltZSBpbiBtaWxsaXNlY29uZHMgdG8gd2FpdCBiZWZvcmUgZW1pdHRpbmcuXG4gKiBJZiBhIGBEYXRlYCwgdGhlIGV4YWN0IHRpbWUgYXQgd2hpY2ggdG8gZW1pdC5cbiAqIEBwYXJhbSBzY2hlZHVsZXIgVGhlIHNjaGVkdWxlciB0byB1c2UgdG8gc2NoZWR1bGUgdGhlIGRlbGF5LiBEZWZhdWx0cyB0byB7QGxpbmsgYXN5bmNTY2hlZHVsZXJ9LlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGltZXIoZHVlOiBudW1iZXIgfCBEYXRlLCBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlKTogT2JzZXJ2YWJsZTwwPjtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIG9ic2VydmFibGUgdGhhdCBzdGFydHMgYW4gaW50ZXJ2YWwgYWZ0ZXIgYSBzcGVjaWZpZWQgZGVsYXksIGVtaXR0aW5nIGluY3JlbWVudGluZyBudW1iZXJzIC0tIHN0YXJ0aW5nIGF0IGAwYCAtLVxuICogb24gZWFjaCBpbnRlcnZhbCBhZnRlciB3b3Jkcy5cbiAqXG4gKiBUaGUgYGRlbGF5YCBhbmQgYGludGVydmFsRHVyYXRpb25gIGFyZSBzcGVjaWZpZWQgYnkgZGVmYXVsdCBpbiBtaWxsaXNlY29uZHMsIGhvd2V2ZXIgcHJvdmlkaW5nIGEgY3VzdG9tIHNjaGVkdWxlciBjb3VsZFxuICogY3JlYXRlIGEgZGlmZmVyZW50IGJlaGF2aW9yLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiAjIyMgU3RhcnQgYW4gaW50ZXJ2YWwgdGhhdCBzdGFydHMgcmlnaHQgYXdheVxuICpcbiAqIFNpbmNlIHtAbGluayBpbnRlcnZhbH0gd2FpdHMgZm9yIHRoZSBwYXNzZWQgZGVsYXkgYmVmb3JlIHN0YXJ0aW5nLFxuICogc29tZXRpbWVzIHRoYXQncyBub3QgaWRlYWwuIFlvdSBtYXkgd2FudCB0byBzdGFydCBhbiBpbnRlcnZhbCBpbW1lZGlhdGVseS5cbiAqIGB0aW1lcmAgd29ya3Mgd2VsbCBmb3IgdGhpcy4gSGVyZSB3ZSBoYXZlIGJvdGggc2lkZS1ieS1zaWRlIHNvIHlvdSBjYW5cbiAqIHNlZSB0aGVtIGluIGNvbXBhcmlzb24uXG4gKlxuICogTm90ZSB0aGF0IHRoaXMgb2JzZXJ2YWJsZSB3aWxsIG5ldmVyIGNvbXBsZXRlLlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyB0aW1lciwgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcbiAqXG4gKiB0aW1lcigwLCAxMDAwKS5zdWJzY3JpYmUobiA9PiBjb25zb2xlLmxvZygndGltZXInLCBuKSk7XG4gKiBpbnRlcnZhbCgxMDAwKS5zdWJzY3JpYmUobiA9PiBjb25zb2xlLmxvZygnaW50ZXJ2YWwnLCBuKSk7XG4gKiBgYGBcbiAqXG4gKiAjIyMgS25vd24gTGltaXRhdGlvbnNcbiAqXG4gKiAtIFRoZSB7QGxpbmsgYXN5bmNTY2hlZHVsZXJ9IHVzZXMgYHNldFRpbWVvdXRgIHdoaWNoIGhhcyBsaW1pdGF0aW9ucyBmb3IgaG93IGZhciBpbiB0aGUgZnV0dXJlIGl0IGNhbiBiZSBzY2hlZHVsZWQuXG4gKlxuICogLSBJZiBhIGBzY2hlZHVsZXJgIGlzIHByb3ZpZGVkIHRoYXQgcmV0dXJucyBhIHRpbWVzdGFtcCBvdGhlciB0aGFuIGFuIGVwb2NoIGZyb20gYG5vdygpYCwgYW5kXG4gKiBhIGBEYXRlYCBvYmplY3QgaXMgcGFzc2VkIHRvIHRoZSBgZHVlVGltZWAgYXJndW1lbnQsIHRoZSBjYWxjdWxhdGlvbiBmb3Igd2hlbiB0aGUgZmlyc3QgZW1pc3Npb25cbiAqIHNob3VsZCBvY2N1ciB3aWxsIGJlIGluY29ycmVjdC4gSW4gdGhpcyBjYXNlLCBpdCB3b3VsZCBiZSBiZXN0IHRvIGRvIHlvdXIgb3duIGNhbGN1bGF0aW9uc1xuICogYWhlYWQgb2YgdGltZSwgYW5kIHBhc3MgYSBgbnVtYmVyYCBpbiBhcyB0aGUgYHN0YXJ0RHVlYC5cbiAqIEBwYXJhbSBzdGFydER1ZSBJZiBhIGBudW1iZXJgLCBpcyB0aGUgdGltZSB0byB3YWl0IGJlZm9yZSBzdGFydGluZyB0aGUgaW50ZXJ2YWwuXG4gKiBJZiBhIGBEYXRlYCwgaXMgdGhlIGV4YWN0IHRpbWUgYXQgd2hpY2ggdG8gc3RhcnQgdGhlIGludGVydmFsLlxuICogQHBhcmFtIGludGVydmFsRHVyYXRpb24gVGhlIGRlbGF5IGJldHdlZW4gZWFjaCB2YWx1ZSBlbWl0dGVkIGluIHRoZSBpbnRlcnZhbC4gUGFzc2luZyBhXG4gKiBuZWdhdGl2ZSBudW1iZXIgaGVyZSB3aWxsIHJlc3VsdCBpbiBpbW1lZGlhdGUgY29tcGxldGlvbiBhZnRlciB0aGUgZmlyc3QgdmFsdWUgaXMgZW1pdHRlZCwgYXMgdGhvdWdoXG4gKiBubyBgaW50ZXJ2YWxEdXJhdGlvbmAgd2FzIHBhc3NlZCBhdCBhbGwuXG4gKiBAcGFyYW0gc2NoZWR1bGVyIFRoZSBzY2hlZHVsZXIgdG8gdXNlIHRvIHNjaGVkdWxlIHRoZSBkZWxheS4gRGVmYXVsdHMgdG8ge0BsaW5rIGFzeW5jU2NoZWR1bGVyfS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRpbWVyKHN0YXJ0RHVlOiBudW1iZXIgfCBEYXRlLCBpbnRlcnZhbER1cmF0aW9uOiBudW1iZXIsIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UpOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVGhlIHNpZ25hdHVyZSBhbGxvd2luZyBgdW5kZWZpbmVkYCB0byBiZSBwYXNzZWQgZm9yIGBpbnRlcnZhbER1cmF0aW9uYCB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSB0aGUgYHRpbWVyKGR1ZVRpbWUsIHNjaGVkdWxlcj8pYCBzaWduYXR1cmUgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRpbWVyKGR1ZVRpbWU6IG51bWJlciB8IERhdGUsIHVudXNlZDogdW5kZWZpbmVkLCBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlKTogT2JzZXJ2YWJsZTwwPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHRpbWVyKFxuICBkdWVUaW1lOiBudW1iZXIgfCBEYXRlID0gMCxcbiAgaW50ZXJ2YWxPclNjaGVkdWxlcj86IG51bWJlciB8IFNjaGVkdWxlckxpa2UsXG4gIHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSA9IGFzeW5jU2NoZWR1bGVyXG4pOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAvLyBTaW5jZSBuZWdhdGl2ZSBpbnRlcnZhbER1cmF0aW9uIGlzIHRyZWF0ZWQgYXMgdGhvdWdoIG5vXG4gIC8vIGludGVydmFsIHdhcyBzcGVjaWZpZWQgYXQgYWxsLCB3ZSBzdGFydCB3aXRoIGEgbmVnYXRpdmUgbnVtYmVyLlxuICBsZXQgaW50ZXJ2YWxEdXJhdGlvbiA9IC0xO1xuXG4gIGlmIChpbnRlcnZhbE9yU2NoZWR1bGVyICE9IG51bGwpIHtcbiAgICAvLyBJZiB3ZSBoYXZlIGEgc2Vjb25kIGFyZ3VtZW50LCBhbmQgaXQncyBhIHNjaGVkdWxlcixcbiAgICAvLyBvdmVycmlkZSB0aGUgc2NoZWR1bGVyIHdlIGhhZCBkZWZhdWx0ZWQuIE90aGVyd2lzZSxcbiAgICAvLyBpdCBtdXN0IGJlIGFuIGludGVydmFsLlxuICAgIGlmIChpc1NjaGVkdWxlcihpbnRlcnZhbE9yU2NoZWR1bGVyKSkge1xuICAgICAgc2NoZWR1bGVyID0gaW50ZXJ2YWxPclNjaGVkdWxlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gTm90ZSB0aGF0IHRoaXMgKmNvdWxkKiBiZSBuZWdhdGl2ZSwgaW4gd2hpY2ggY2FzZVxuICAgICAgLy8gaXQncyBsaWtlIG5vdCBwYXNzaW5nIGFuIGludGVydmFsRHVyYXRpb24gYXQgYWxsLlxuICAgICAgaW50ZXJ2YWxEdXJhdGlvbiA9IGludGVydmFsT3JTY2hlZHVsZXI7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKChzdWJzY3JpYmVyKSA9PiB7XG4gICAgLy8gSWYgYSB2YWxpZCBkYXRlIGlzIHBhc3NlZCwgY2FsY3VsYXRlIGhvdyBsb25nIHRvIHdhaXQgYmVmb3JlXG4gICAgLy8gZXhlY3V0aW5nIHRoZSBmaXJzdCB2YWx1ZS4uLiBvdGhlcndpc2UsIGlmIGl0J3MgYSBudW1iZXIganVzdCBzY2hlZHVsZVxuICAgIC8vIHRoYXQgbWFueSBtaWxsaXNlY29uZHMgKG9yIHNjaGVkdWxlci1zcGVjaWZpZWQgdW5pdCBzaXplKSBpbiB0aGUgZnV0dXJlLlxuICAgIGxldCBkdWUgPSBpc1ZhbGlkRGF0ZShkdWVUaW1lKSA/ICtkdWVUaW1lIC0gc2NoZWR1bGVyIS5ub3coKSA6IGR1ZVRpbWU7XG5cbiAgICBpZiAoZHVlIDwgMCkge1xuICAgICAgLy8gRW5zdXJlIHdlIGRvbid0IHNjaGVkdWxlIGluIHRoZSBmdXR1cmUuXG4gICAgICBkdWUgPSAwO1xuICAgIH1cblxuICAgIC8vIFRoZSBpbmNyZW1lbnRpbmcgdmFsdWUgd2UgZW1pdC5cbiAgICBsZXQgbiA9IDA7XG5cbiAgICAvLyBTdGFydCB0aGUgdGltZXIuXG4gICAgcmV0dXJuIHNjaGVkdWxlci5zY2hlZHVsZShmdW5jdGlvbiAoKSB7XG4gICAgICBpZiAoIXN1YnNjcmliZXIuY2xvc2VkKSB7XG4gICAgICAgIC8vIEVtaXQgdGhlIG5leHQgdmFsdWUgYW5kIGluY3JlbWVudC5cbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KG4rKyk7XG5cbiAgICAgICAgaWYgKDAgPD0gaW50ZXJ2YWxEdXJhdGlvbikge1xuICAgICAgICAgIC8vIElmIHdlIGhhdmUgYSBpbnRlcnZhbCBhZnRlciB0aGUgaW5pdGlhbCB0aW1lcixcbiAgICAgICAgICAvLyByZXNjaGVkdWxlIHdpdGggdGhlIHBlcmlvZC5cbiAgICAgICAgICB0aGlzLnNjaGVkdWxlKHVuZGVmaW5lZCwgaW50ZXJ2YWxEdXJhdGlvbik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgLy8gV2UgZGlkbid0IGhhdmUgYW4gaW50ZXJ2YWwuIFNvIGp1c3QgY29tcGxldGUuXG4gICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSwgZHVlKTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIgfSBmcm9tICcuLi9zY2hlZHVsZXIvYXN5bmMnO1xuaW1wb3J0IHsgU2NoZWR1bGVyTGlrZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IHRpbWVyIH0gZnJvbSAnLi90aW1lcic7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgc2VxdWVudGlhbCBudW1iZXJzIGV2ZXJ5IHNwZWNpZmllZFxuICogaW50ZXJ2YWwgb2YgdGltZSwgb24gYSBzcGVjaWZpZWQge0BsaW5rIFNjaGVkdWxlckxpa2V9LlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5FbWl0cyBpbmNyZW1lbnRhbCBudW1iZXJzIHBlcmlvZGljYWxseSBpbiB0aW1lLjwvc3Bhbj5cbiAqXG4gKiAhW10oaW50ZXJ2YWwucG5nKVxuICpcbiAqIGBpbnRlcnZhbGAgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gaW5maW5pdGUgc2VxdWVuY2Ugb2ZcbiAqIGFzY2VuZGluZyBpbnRlZ2Vycywgd2l0aCBhIGNvbnN0YW50IGludGVydmFsIG9mIHRpbWUgb2YgeW91ciBjaG9vc2luZ1xuICogYmV0d2VlbiB0aG9zZSBlbWlzc2lvbnMuIFRoZSBmaXJzdCBlbWlzc2lvbiBpcyBub3Qgc2VudCBpbW1lZGlhdGVseSwgYnV0XG4gKiBvbmx5IGFmdGVyIHRoZSBmaXJzdCBwZXJpb2QgaGFzIHBhc3NlZC4gQnkgZGVmYXVsdCwgdGhpcyBvcGVyYXRvciB1c2VzIHRoZVxuICogYGFzeW5jYCB7QGxpbmsgU2NoZWR1bGVyTGlrZX0gdG8gcHJvdmlkZSBhIG5vdGlvbiBvZiB0aW1lLCBidXQgeW91IG1heSBwYXNzIGFueVxuICoge0BsaW5rIFNjaGVkdWxlckxpa2V9IHRvIGl0LlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBFbWl0cyBhc2NlbmRpbmcgbnVtYmVycywgb25lIGV2ZXJ5IHNlY29uZCAoMTAwMG1zKSB1cCB0byB0aGUgbnVtYmVyIDNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaW50ZXJ2YWwsIHRha2UgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBudW1iZXJzID0gaW50ZXJ2YWwoMTAwMCk7XG4gKlxuICogY29uc3QgdGFrZUZvdXJOdW1iZXJzID0gbnVtYmVycy5waXBlKHRha2UoNCkpO1xuICpcbiAqIHRha2VGb3VyTnVtYmVycy5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZygnTmV4dDogJywgeCkpO1xuICpcbiAqIC8vIExvZ3M6XG4gKiAvLyBOZXh0OiAwXG4gKiAvLyBOZXh0OiAxXG4gKiAvLyBOZXh0OiAyXG4gKiAvLyBOZXh0OiAzXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayB0aW1lcn1cbiAqIEBzZWUge0BsaW5rIGRlbGF5fVxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfSBbcGVyaW9kPTBdIFRoZSBpbnRlcnZhbCBzaXplIGluIG1pbGxpc2Vjb25kcyAoYnkgZGVmYXVsdClcbiAqIG9yIHRoZSB0aW1lIHVuaXQgZGV0ZXJtaW5lZCBieSB0aGUgc2NoZWR1bGVyJ3MgY2xvY2suXG4gKiBAcGFyYW0ge1NjaGVkdWxlckxpa2V9IFtzY2hlZHVsZXI9YXN5bmNdIFRoZSB7QGxpbmsgU2NoZWR1bGVyTGlrZX0gdG8gdXNlIGZvciBzY2hlZHVsaW5nXG4gKiB0aGUgZW1pc3Npb24gb2YgdmFsdWVzLCBhbmQgcHJvdmlkaW5nIGEgbm90aW9uIG9mIFwidGltZVwiLlxuICogQHJldHVybiB7T2JzZXJ2YWJsZX0gQW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGEgc2VxdWVudGlhbCBudW1iZXIgZWFjaCB0aW1lXG4gKiBpbnRlcnZhbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludGVydmFsKHBlcmlvZCA9IDAsIHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSA9IGFzeW5jU2NoZWR1bGVyKTogT2JzZXJ2YWJsZTxudW1iZXI+IHtcbiAgaWYgKHBlcmlvZCA8IDApIHtcbiAgICAvLyBXZSBjYW5ub3Qgc2NoZWR1bGUgYW4gaW50ZXJ2YWwgaW4gdGhlIHBhc3QuXG4gICAgcGVyaW9kID0gMDtcbiAgfVxuXG4gIHJldHVybiB0aW1lcihwZXJpb2QsIHBlcmlvZCwgc2NoZWR1bGVyKTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQsIE9ic2VydmFibGVJbnB1dFR1cGxlLCBTY2hlZHVsZXJMaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgbWVyZ2VBbGwgfSBmcm9tICcuLi9vcGVyYXRvcnMvbWVyZ2VBbGwnO1xuaW1wb3J0IHsgaW5uZXJGcm9tIH0gZnJvbSAnLi9pbm5lckZyb20nO1xuaW1wb3J0IHsgRU1QVFkgfSBmcm9tICcuL2VtcHR5JztcbmltcG9ydCB7IHBvcE51bWJlciwgcG9wU2NoZWR1bGVyIH0gZnJvbSAnLi4vdXRpbC9hcmdzJztcbmltcG9ydCB7IGZyb20gfSBmcm9tICcuL2Zyb20nO1xuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2U8QSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oLi4uc291cmNlczogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+XSk6IE9ic2VydmFibGU8QVtudW1iZXJdPjtcbmV4cG9ydCBmdW5jdGlvbiBtZXJnZTxBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdPiguLi5zb3VyY2VzQW5kQ29uY3VycmVuY3k6IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPiwgbnVtYmVyP10pOiBPYnNlcnZhYmxlPEFbbnVtYmVyXT47XG4vKiogQGRlcHJlY2F0ZWQgVGhlIGBzY2hlZHVsZXJgIHBhcmFtZXRlciB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSBgc2NoZWR1bGVkYCBhbmQgYG1lcmdlQWxsYC4gRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvc2NoZWR1bGVyLWFyZ3VtZW50ICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2U8QSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oXG4gIC4uLnNvdXJjZXNBbmRTY2hlZHVsZXI6IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPiwgU2NoZWR1bGVyTGlrZT9dXG4pOiBPYnNlcnZhYmxlPEFbbnVtYmVyXT47XG4vKiogQGRlcHJlY2F0ZWQgVGhlIGBzY2hlZHVsZXJgIHBhcmFtZXRlciB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSBgc2NoZWR1bGVkYCBhbmQgYG1lcmdlQWxsYC4gRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvc2NoZWR1bGVyLWFyZ3VtZW50ICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2U8QSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oXG4gIC4uLnNvdXJjZXNBbmRDb25jdXJyZW5jeUFuZFNjaGVkdWxlcjogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+LCBudW1iZXI/LCBTY2hlZHVsZXJMaWtlP11cbik6IE9ic2VydmFibGU8QVtudW1iZXJdPjtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIG91dHB1dCBPYnNlcnZhYmxlIHdoaWNoIGNvbmN1cnJlbnRseSBlbWl0cyBhbGwgdmFsdWVzIGZyb20gZXZlcnlcbiAqIGdpdmVuIGlucHV0IE9ic2VydmFibGUuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkZsYXR0ZW5zIG11bHRpcGxlIE9ic2VydmFibGVzIHRvZ2V0aGVyIGJ5IGJsZW5kaW5nXG4gKiB0aGVpciB2YWx1ZXMgaW50byBvbmUgT2JzZXJ2YWJsZS48L3NwYW4+XG4gKlxuICogIVtdKG1lcmdlLnBuZylcbiAqXG4gKiBgbWVyZ2VgIHN1YnNjcmliZXMgdG8gZWFjaCBnaXZlbiBpbnB1dCBPYnNlcnZhYmxlIChhcyBhcmd1bWVudHMpLCBhbmQgc2ltcGx5XG4gKiBmb3J3YXJkcyAod2l0aG91dCBkb2luZyBhbnkgdHJhbnNmb3JtYXRpb24pIGFsbCB0aGUgdmFsdWVzIGZyb20gYWxsIHRoZSBpbnB1dFxuICogT2JzZXJ2YWJsZXMgdG8gdGhlIG91dHB1dCBPYnNlcnZhYmxlLiBUaGUgb3V0cHV0IE9ic2VydmFibGUgb25seSBjb21wbGV0ZXNcbiAqIG9uY2UgYWxsIGlucHV0IE9ic2VydmFibGVzIGhhdmUgY29tcGxldGVkLiBBbnkgZXJyb3IgZGVsaXZlcmVkIGJ5IGFuIGlucHV0XG4gKiBPYnNlcnZhYmxlIHdpbGwgYmUgaW1tZWRpYXRlbHkgZW1pdHRlZCBvbiB0aGUgb3V0cHV0IE9ic2VydmFibGUuXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBNZXJnZSB0b2dldGhlciB0d28gT2JzZXJ2YWJsZXM6IDFzIGludGVydmFsIGFuZCBjbGlja3NcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgbWVyZ2UsIGZyb21FdmVudCwgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgdGltZXIgPSBpbnRlcnZhbCgxMDAwKTtcbiAqIGNvbnN0IGNsaWNrc09yVGltZXIgPSBtZXJnZShjbGlja3MsIHRpbWVyKTtcbiAqIGNsaWNrc09yVGltZXIuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIFJlc3VsdHMgaW4gdGhlIGZvbGxvd2luZzpcbiAqIC8vIHRpbWVyIHdpbGwgZW1pdCBhc2NlbmRpbmcgdmFsdWVzLCBvbmUgZXZlcnkgc2Vjb25kKDEwMDBtcykgdG8gY29uc29sZVxuICogLy8gY2xpY2tzIGxvZ3MgTW91c2VFdmVudHMgdG8gY29uc29sZSBldmVyeSB0aW1lIHRoZSBcImRvY3VtZW50XCIgaXMgY2xpY2tlZFxuICogLy8gU2luY2UgdGhlIHR3byBzdHJlYW1zIGFyZSBtZXJnZWQgeW91IHNlZSB0aGVzZSBoYXBwZW5pbmdcbiAqIC8vIGFzIHRoZXkgb2NjdXIuXG4gKiBgYGBcbiAqXG4gKiBNZXJnZSB0b2dldGhlciAzIE9ic2VydmFibGVzLCBidXQgcnVuIG9ubHkgMiBjb25jdXJyZW50bHlcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaW50ZXJ2YWwsIHRha2UsIG1lcmdlIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgdGltZXIxID0gaW50ZXJ2YWwoMTAwMCkucGlwZSh0YWtlKDEwKSk7XG4gKiBjb25zdCB0aW1lcjIgPSBpbnRlcnZhbCgyMDAwKS5waXBlKHRha2UoNikpO1xuICogY29uc3QgdGltZXIzID0gaW50ZXJ2YWwoNTAwKS5waXBlKHRha2UoMTApKTtcbiAqXG4gKiBjb25zdCBjb25jdXJyZW50ID0gMjsgLy8gdGhlIGFyZ3VtZW50XG4gKiBjb25zdCBtZXJnZWQgPSBtZXJnZSh0aW1lcjEsIHRpbWVyMiwgdGltZXIzLCBjb25jdXJyZW50KTtcbiAqIG1lcmdlZC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKlxuICogLy8gUmVzdWx0cyBpbiB0aGUgZm9sbG93aW5nOlxuICogLy8gLSBGaXJzdCB0aW1lcjEgYW5kIHRpbWVyMiB3aWxsIHJ1biBjb25jdXJyZW50bHlcbiAqIC8vIC0gdGltZXIxIHdpbGwgZW1pdCBhIHZhbHVlIGV2ZXJ5IDEwMDBtcyBmb3IgMTAgaXRlcmF0aW9uc1xuICogLy8gLSB0aW1lcjIgd2lsbCBlbWl0IGEgdmFsdWUgZXZlcnkgMjAwMG1zIGZvciA2IGl0ZXJhdGlvbnNcbiAqIC8vIC0gYWZ0ZXIgdGltZXIxIGhpdHMgaXRzIG1heCBpdGVyYXRpb24sIHRpbWVyMiB3aWxsXG4gKiAvLyAgIGNvbnRpbnVlLCBhbmQgdGltZXIzIHdpbGwgc3RhcnQgdG8gcnVuIGNvbmN1cnJlbnRseSB3aXRoIHRpbWVyMlxuICogLy8gLSB3aGVuIHRpbWVyMiBoaXRzIGl0cyBtYXggaXRlcmF0aW9uIGl0IHRlcm1pbmF0ZXMsIGFuZFxuICogLy8gICB0aW1lcjMgd2lsbCBjb250aW51ZSB0byBlbWl0IGEgdmFsdWUgZXZlcnkgNTAwbXMgdW50aWwgaXQgaXMgY29tcGxldGVcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIG1lcmdlQWxsfVxuICogQHNlZSB7QGxpbmsgbWVyZ2VNYXB9XG4gKiBAc2VlIHtAbGluayBtZXJnZU1hcFRvfVxuICogQHNlZSB7QGxpbmsgbWVyZ2VTY2FufVxuICpcbiAqIEBwYXJhbSB7Li4uT2JzZXJ2YWJsZUlucHV0fSBvYnNlcnZhYmxlcyBJbnB1dCBPYnNlcnZhYmxlcyB0byBtZXJnZSB0b2dldGhlci5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbY29uY3VycmVudD1JbmZpbml0eV0gTWF4aW11bSBudW1iZXIgb2YgaW5wdXRcbiAqIE9ic2VydmFibGVzIGJlaW5nIHN1YnNjcmliZWQgdG8gY29uY3VycmVudGx5LlxuICogQHBhcmFtIHtTY2hlZHVsZXJMaWtlfSBbc2NoZWR1bGVyPW51bGxdIFRoZSB7QGxpbmsgU2NoZWR1bGVyTGlrZX0gdG8gdXNlIGZvciBtYW5hZ2luZ1xuICogY29uY3VycmVuY3kgb2YgaW5wdXQgT2JzZXJ2YWJsZXMuXG4gKiBAcmV0dXJuIHtPYnNlcnZhYmxlfSBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgaXRlbXMgdGhhdCBhcmUgdGhlIHJlc3VsdCBvZlxuICogZXZlcnkgaW5wdXQgT2JzZXJ2YWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlKC4uLmFyZ3M6IChPYnNlcnZhYmxlSW5wdXQ8dW5rbm93bj4gfCBudW1iZXIgfCBTY2hlZHVsZXJMaWtlKVtdKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gIGNvbnN0IHNjaGVkdWxlciA9IHBvcFNjaGVkdWxlcihhcmdzKTtcbiAgY29uc3QgY29uY3VycmVudCA9IHBvcE51bWJlcihhcmdzLCBJbmZpbml0eSk7XG4gIGNvbnN0IHNvdXJjZXMgPSBhcmdzIGFzIE9ic2VydmFibGVJbnB1dDx1bmtub3duPltdO1xuICByZXR1cm4gIXNvdXJjZXMubGVuZ3RoXG4gICAgPyAvLyBObyBzb3VyY2UgcHJvdmlkZWRcbiAgICAgIEVNUFRZXG4gICAgOiBzb3VyY2VzLmxlbmd0aCA9PT0gMVxuICAgID8gLy8gT25lIHNvdXJjZT8gSnVzdCByZXR1cm4gaXQuXG4gICAgICBpbm5lckZyb20oc291cmNlc1swXSlcbiAgICA6IC8vIE1lcmdlIGFsbCBzb3VyY2VzXG4gICAgICBtZXJnZUFsbChjb25jdXJyZW50KShmcm9tKHNvdXJjZXMsIHNjaGVkdWxlcikpO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi91dGlsL25vb3AnO1xuXG4vKipcbiAqIEFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBubyBpdGVtcyB0byB0aGUgT2JzZXJ2ZXIgYW5kIG5ldmVyIGNvbXBsZXRlcy5cbiAqXG4gKiAhW10obmV2ZXIucG5nKVxuICpcbiAqIEEgc2ltcGxlIE9ic2VydmFibGUgdGhhdCBlbWl0cyBuZWl0aGVyIHZhbHVlcyBub3IgZXJyb3JzIG5vciB0aGUgY29tcGxldGlvblxuICogbm90aWZpY2F0aW9uLiBJdCBjYW4gYmUgdXNlZCBmb3IgdGVzdGluZyBwdXJwb3NlcyBvciBmb3IgY29tcG9zaW5nIHdpdGggb3RoZXJcbiAqIE9ic2VydmFibGVzLiBQbGVhc2Ugbm90ZSB0aGF0IGJ5IG5ldmVyIGVtaXR0aW5nIGEgY29tcGxldGUgbm90aWZpY2F0aW9uLCB0aGlzXG4gKiBPYnNlcnZhYmxlIGtlZXBzIHRoZSBzdWJzY3JpcHRpb24gZnJvbSBiZWluZyBkaXNwb3NlZCBhdXRvbWF0aWNhbGx5LlxuICogU3Vic2NyaXB0aW9ucyBuZWVkIHRvIGJlIG1hbnVhbGx5IGRpc3Bvc2VkLlxuICpcbiAqICMjICBFeGFtcGxlXG4gKlxuICogRW1pdCB0aGUgbnVtYmVyIDcsIHRoZW4gbmV2ZXIgZW1pdCBhbnl0aGluZyBlbHNlIChub3QgZXZlbiBjb21wbGV0ZSlcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgTkVWRVIsIHN0YXJ0V2l0aCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGluZm8gPSAoKSA9PiBjb25zb2xlLmxvZygnV2lsbCBub3QgYmUgY2FsbGVkJyk7XG4gKlxuICogY29uc3QgcmVzdWx0ID0gTkVWRVIucGlwZShzdGFydFdpdGgoNykpO1xuICogcmVzdWx0LnN1YnNjcmliZSh7XG4gKiAgIG5leHQ6IHggPT4gY29uc29sZS5sb2coeCksXG4gKiAgIGVycm9yOiBpbmZvLFxuICogICBjb21wbGV0ZTogaW5mb1xuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBPYnNlcnZhYmxlfVxuICogQHNlZSB7QGxpbmsgRU1QVFl9XG4gKiBAc2VlIHtAbGluayBvZn1cbiAqIEBzZWUge0BsaW5rIHRocm93RXJyb3J9XG4gKi9cbmV4cG9ydCBjb25zdCBORVZFUiA9IG5ldyBPYnNlcnZhYmxlPG5ldmVyPihub29wKTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBSZXBsYWNlZCB3aXRoIHRoZSB7QGxpbmsgTkVWRVJ9IGNvbnN0YW50LiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBuZXZlcigpIHtcbiAgcmV0dXJuIE5FVkVSO1xufVxuIiwgImNvbnN0IHsgaXNBcnJheSB9ID0gQXJyYXk7XG5cbi8qKlxuICogVXNlZCBpbiBvcGVyYXRvcnMgYW5kIGZ1bmN0aW9ucyB0aGF0IGFjY2VwdCBlaXRoZXIgYSBsaXN0IG9mIGFyZ3VtZW50cywgb3IgYW4gYXJyYXkgb2YgYXJndW1lbnRzXG4gKiBhcyBhIHNpbmdsZSBhcmd1bWVudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFyZ3NPckFyZ0FycmF5PFQ+KGFyZ3M6IChUIHwgVFtdKVtdKTogVFtdIHtcbiAgcmV0dXJuIGFyZ3MubGVuZ3RoID09PSAxICYmIGlzQXJyYXkoYXJnc1swXSkgPyBhcmdzWzBdIDogKGFyZ3MgYXMgVFtdKTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXRUdXBsZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGFyZ3NPckFyZ0FycmF5IH0gZnJvbSAnLi4vdXRpbC9hcmdzT3JBcmdBcnJheSc7XG5pbXBvcnQgeyBPcGVyYXRvclN1YnNjcmliZXIgfSBmcm9tICcuLi9vcGVyYXRvcnMvT3BlcmF0b3JTdWJzY3JpYmVyJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi91dGlsL25vb3AnO1xuaW1wb3J0IHsgaW5uZXJGcm9tIH0gZnJvbSAnLi9pbm5lckZyb20nO1xuXG4vKiB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGggKi9cbmV4cG9ydCBmdW5jdGlvbiBvbkVycm9yUmVzdW1lTmV4dDxBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdPihzb3VyY2VzOiBbLi4uT2JzZXJ2YWJsZUlucHV0VHVwbGU8QT5dKTogT2JzZXJ2YWJsZTxBW251bWJlcl0+O1xuZXhwb3J0IGZ1bmN0aW9uIG9uRXJyb3JSZXN1bWVOZXh0PEEgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+KC4uLnNvdXJjZXM6IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPl0pOiBPYnNlcnZhYmxlPEFbbnVtYmVyXT47XG5cbi8qIHRzbGludDplbmFibGU6bWF4LWxpbmUtbGVuZ3RoICovXG5cbi8qKlxuICogV2hlbiBhbnkgb2YgdGhlIHByb3ZpZGVkIE9ic2VydmFibGUgZW1pdHMgYSBjb21wbGV0ZSBvciBhbiBlcnJvciBub3RpZmljYXRpb24sIGl0IGltbWVkaWF0ZWx5IHN1YnNjcmliZXMgdG8gdGhlIG5leHQgb25lXG4gKiB0aGF0IHdhcyBwYXNzZWQuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkV4ZWN1dGUgc2VyaWVzIG9mIE9ic2VydmFibGVzIG5vIG1hdHRlciB3aGF0LCBldmVuIGlmIGl0IG1lYW5zIHN3YWxsb3dpbmcgZXJyb3JzLjwvc3Bhbj5cbiAqXG4gKiAhW10ob25FcnJvclJlc3VtZU5leHQucG5nKVxuICpcbiAqIGBvbkVycm9yUmVzdW1lTmV4dGAgd2lsbCBzdWJzY3JpYmUgdG8gZWFjaCBvYnNlcnZhYmxlIHNvdXJjZSBpdCBpcyBwcm92aWRlZCwgaW4gb3JkZXIuXG4gKiBJZiB0aGUgc291cmNlIGl0J3Mgc3Vic2NyaWJlZCB0byBlbWl0cyBhbiBlcnJvciBvciBjb21wbGV0ZXMsIGl0IHdpbGwgbW92ZSB0byB0aGUgbmV4dCBzb3VyY2VcbiAqIHdpdGhvdXQgZXJyb3IuXG4gKlxuICogSWYgYG9uRXJyb3JSZXN1bWVOZXh0YCBpcyBwcm92aWRlZCBubyBhcmd1bWVudHMsIG9yIGEgc2luZ2xlLCBlbXB0eSBhcnJheSwgaXQgd2lsbCByZXR1cm4ge0BsaW5rIEVNUFRZfS5cbiAqXG4gKiBgb25FcnJvclJlc3VtZU5leHRgIGlzIGJhc2ljYWxseSB7QGxpbmsgY29uY2F0fSwgb25seSBpdCB3aWxsIGNvbnRpbnVlLCBldmVuIGlmIG9uZSBvZiBpdHNcbiAqIHNvdXJjZXMgZW1pdHMgYW4gZXJyb3IuXG4gKlxuICogTm90ZSB0aGF0IHRoZXJlIGlzIG5vIHdheSB0byBoYW5kbGUgYW55IGVycm9ycyB0aHJvd24gYnkgc291cmNlcyB2aWEgdGhlIHJlc3VsdCBvZlxuICogYG9uRXJyb3JSZXN1bWVOZXh0YC4gSWYgeW91IHdhbnQgdG8gaGFuZGxlIGVycm9ycyB0aHJvd24gaW4gYW55IGdpdmVuIHNvdXJjZSwgeW91IGNhblxuICogYWx3YXlzIHVzZSB0aGUge0BsaW5rIGNhdGNoRXJyb3J9IG9wZXJhdG9yIG9uIHRoZW0gYmVmb3JlIHBhc3NpbmcgdGhlbSBpbnRvIGBvbkVycm9yUmVzdW1lTmV4dGAuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIFN1YnNjcmliZSB0byB0aGUgbmV4dCBPYnNlcnZhYmxlIGFmdGVyIG1hcCBmYWlsc1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBvbkVycm9yUmVzdW1lTmV4dCwgb2YsIG1hcCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIG9uRXJyb3JSZXN1bWVOZXh0KFxuICogICBvZigxLCAyLCAzLCAwKS5waXBlKFxuICogICAgIG1hcCh4ID0+IHtcbiAqICAgICAgIGlmICh4ID09PSAwKSB7XG4gKiAgICAgICAgIHRocm93IEVycm9yKCk7XG4gKiAgICAgICB9XG4gKiAgICAgICByZXR1cm4gMTAgLyB4O1xuICogICAgIH0pXG4gKiAgICksXG4gKiAgIG9mKDEsIDIsIDMpXG4gKiApXG4gKiAuc3Vic2NyaWJlKHtcbiAqICAgbmV4dDogdmFsdWUgPT4gY29uc29sZS5sb2codmFsdWUpLFxuICogICBlcnJvcjogZXJyID0+IGNvbnNvbGUubG9nKGVyciksICAgICAvLyBXaWxsIG5ldmVyIGJlIGNhbGxlZC5cbiAqICAgY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKCdkb25lJylcbiAqIH0pO1xuICpcbiAqIC8vIExvZ3M6XG4gKiAvLyAxMFxuICogLy8gNVxuICogLy8gMy4zMzMzMzMzMzMzMzMzMzM1XG4gKiAvLyAxXG4gKiAvLyAyXG4gKiAvLyAzXG4gKiAvLyAnZG9uZSdcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGNvbmNhdH1cbiAqIEBzZWUge0BsaW5rIGNhdGNoRXJyb3J9XG4gKlxuICogQHBhcmFtIHsuLi5PYnNlcnZhYmxlSW5wdXR9IHNvdXJjZXMgT2JzZXJ2YWJsZXMgKG9yIGFueXRoaW5nIHRoYXQgKmlzKiBvYnNlcnZhYmxlKSBwYXNzZWQgZWl0aGVyIGRpcmVjdGx5IG9yIGFzIGFuIGFycmF5LlxuICogQHJldHVybiB7T2JzZXJ2YWJsZX0gQW4gT2JzZXJ2YWJsZSB0aGF0IGNvbmNhdGVuYXRlcyBhbGwgc291cmNlcywgb25lIGFmdGVyIHRoZSBvdGhlcixcbiAqIGlnbm9yaW5nIGFsbCBlcnJvcnMsIHN1Y2ggdGhhdCBhbnkgZXJyb3IgY2F1c2VzIGl0IHRvIG1vdmUgb24gdG8gdGhlIG5leHQgc291cmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb25FcnJvclJlc3VtZU5leHQ8QSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oXG4gIC4uLnNvdXJjZXM6IFtbLi4uT2JzZXJ2YWJsZUlucHV0VHVwbGU8QT5dXSB8IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPl1cbik6IE9ic2VydmFibGU8QVtudW1iZXJdPiB7XG4gIGNvbnN0IG5leHRTb3VyY2VzOiBPYnNlcnZhYmxlSW5wdXRUdXBsZTxBPiA9IGFyZ3NPckFyZ0FycmF5KHNvdXJjZXMpIGFzIGFueTtcblxuICByZXR1cm4gbmV3IE9ic2VydmFibGUoKHN1YnNjcmliZXIpID0+IHtcbiAgICBsZXQgc291cmNlSW5kZXggPSAwO1xuICAgIGNvbnN0IHN1YnNjcmliZU5leHQgPSAoKSA9PiB7XG4gICAgICBpZiAoc291cmNlSW5kZXggPCBuZXh0U291cmNlcy5sZW5ndGgpIHtcbiAgICAgICAgbGV0IG5leHRTb3VyY2U6IE9ic2VydmFibGU8QVtudW1iZXJdPjtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBuZXh0U291cmNlID0gaW5uZXJGcm9tKG5leHRTb3VyY2VzW3NvdXJjZUluZGV4KytdKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgICAgc3Vic2NyaWJlTmV4dCgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBpbm5lclN1YnNjcmliZXIgPSBuZXcgT3BlcmF0b3JTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHVuZGVmaW5lZCwgbm9vcCwgbm9vcCk7XG4gICAgICAgIG5leHRTb3VyY2Uuc3Vic2NyaWJlKGlubmVyU3Vic2NyaWJlcik7XG4gICAgICAgIGlubmVyU3Vic2NyaWJlci5hZGQoc3Vic2NyaWJlTmV4dCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBzdWJzY3JpYmVOZXh0KCk7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IFNjaGVkdWxlckxpa2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBmcm9tIH0gZnJvbSAnLi9mcm9tJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBVc2UgYGZyb20oT2JqZWN0LmVudHJpZXMob2JqKSlgIGluc3RlYWQuIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhaXJzPFQ+KGFycjogcmVhZG9ubHkgVFtdLCBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlKTogT2JzZXJ2YWJsZTxbc3RyaW5nLCBUXT47XG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBgZnJvbShPYmplY3QuZW50cmllcyhvYmopKWAgaW5zdGVhZC4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFpcnM8TyBleHRlbmRzIFJlY29yZDxzdHJpbmcsIHVua25vd24+PihvYmo6IE8sIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UpOiBPYnNlcnZhYmxlPFtrZXlvZiBPLCBPW2tleW9mIE9dXT47XG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBgZnJvbShPYmplY3QuZW50cmllcyhvYmopKWAgaW5zdGVhZC4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFpcnM8VD4oaXRlcmFibGU6IEl0ZXJhYmxlPFQ+LCBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlKTogT2JzZXJ2YWJsZTxbc3RyaW5nLCBUXT47XG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBgZnJvbShPYmplY3QuZW50cmllcyhvYmopKWAgaW5zdGVhZC4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFpcnMoXG4gIG46IG51bWJlciB8IGJpZ2ludCB8IGJvb2xlYW4gfCAoKC4uLmFyZ3M6IGFueVtdKSA9PiBhbnkpIHwgc3ltYm9sLFxuICBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlXG4pOiBPYnNlcnZhYmxlPFtuZXZlciwgbmV2ZXJdPjtcblxuLyoqXG4gKiBDb252ZXJ0IGFuIG9iamVjdCBpbnRvIGFuIE9ic2VydmFibGUgb2YgYFtrZXksIHZhbHVlXWAgcGFpcnMuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPlR1cm4gZW50cmllcyBvZiBhbiBvYmplY3QgaW50byBhIHN0cmVhbS48L3NwYW4+XG4gKlxuICogIVtdKHBhaXJzLnBuZylcbiAqXG4gKiBgcGFpcnNgIHRha2VzIGFuIGFyYml0cmFyeSBvYmplY3QgYW5kIHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFycmF5cy4gRWFjaFxuICogZW1pdHRlZCBhcnJheSBoYXMgZXhhY3RseSB0d28gZWxlbWVudHMgLSB0aGUgZmlyc3QgaXMgYSBrZXkgZnJvbSB0aGUgb2JqZWN0XG4gKiBhbmQgdGhlIHNlY29uZCBpcyBhIHZhbHVlIGNvcnJlc3BvbmRpbmcgdG8gdGhhdCBrZXkuIEtleXMgYXJlIGV4dHJhY3RlZCBmcm9tXG4gKiBhbiBvYmplY3QgdmlhIGBPYmplY3Qua2V5c2AgZnVuY3Rpb24sIHdoaWNoIG1lYW5zIHRoYXQgdGhleSB3aWxsIGJlIG9ubHlcbiAqIGVudW1lcmFibGUga2V5cyB0aGF0IGFyZSBwcmVzZW50IG9uIGFuIG9iamVjdCBkaXJlY3RseSAtIG5vdCBvbmVzIGluaGVyaXRlZFxuICogdmlhIHByb3RvdHlwZSBjaGFpbi5cbiAqXG4gKiBCeSBkZWZhdWx0LCB0aGVzZSBhcnJheXMgYXJlIGVtaXR0ZWQgc3luY2hyb25vdXNseS4gVG8gY2hhbmdlIHRoYXQgeW91IGNhblxuICogcGFzcyBhIHtAbGluayBTY2hlZHVsZXJMaWtlfSBhcyBhIHNlY29uZCBhcmd1bWVudCB0byBgcGFpcnNgLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBDb252ZXJ0cyBhbiBvYmplY3QgdG8gYW4gT2JzZXJ2YWJsZVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBwYWlycyB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IG9iaiA9IHtcbiAqICAgZm9vOiA0MixcbiAqICAgYmFyOiA1NixcbiAqICAgYmF6OiA3OFxuICogfTtcbiAqXG4gKiBwYWlycyhvYmopLnN1YnNjcmliZSh7XG4gKiAgIG5leHQ6IHZhbHVlID0+IGNvbnNvbGUubG9nKHZhbHVlKSxcbiAqICAgY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKCdDb21wbGV0ZSEnKVxuICogfSk7XG4gKlxuICogLy8gTG9nczpcbiAqIC8vIFsnZm9vJywgNDJdXG4gKiAvLyBbJ2JhcicsIDU2XVxuICogLy8gWydiYXonLCA3OF1cbiAqIC8vICdDb21wbGV0ZSEnXG4gKiBgYGBcbiAqXG4gKiAjIyMgT2JqZWN0LmVudHJpZXMgcmVxdWlyZWRcbiAqXG4gKiBJbiBJRSwgeW91IHdpbGwgbmVlZCB0byBwb2x5ZmlsbCBgT2JqZWN0LmVudHJpZXNgIGluIG9yZGVyIHRvIHVzZSB0aGlzLlxuICogW01ETiBoYXMgYSBwb2x5ZmlsbCBoZXJlXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9PYmplY3QvZW50cmllcylcbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqIFRoZSBvYmplY3QgdG8gaW5zcGVjdCBhbmQgdHVybiBpbnRvIGFuXG4gKiBPYnNlcnZhYmxlIHNlcXVlbmNlLlxuICogQHBhcmFtIHtTY2hlZHVsZXJ9IFtzY2hlZHVsZXJdIEFuIG9wdGlvbmFsIElTY2hlZHVsZXIgdG8gc2NoZWR1bGVcbiAqIHdoZW4gcmVzdWx0aW5nIE9ic2VydmFibGUgd2lsbCBlbWl0IHZhbHVlcy5cbiAqIEByZXR1cm5zIHsoT2JzZXJ2YWJsZTxBcnJheTxzdHJpbmd8VD4+KX0gQW4gb2JzZXJ2YWJsZSBzZXF1ZW5jZSBvZlxuICogW2tleSwgdmFsdWVdIHBhaXJzIGZyb20gdGhlIG9iamVjdC5cbiAqIEBkZXByZWNhdGVkIFVzZSBgZnJvbShPYmplY3QuZW50cmllcyhvYmopKWAgaW5zdGVhZC4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFpcnMob2JqOiBhbnksIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UpIHtcbiAgcmV0dXJuIGZyb20oT2JqZWN0LmVudHJpZXMob2JqKSwgc2NoZWR1bGVyIGFzIGFueSk7XG59XG4iLCAiZXhwb3J0IGZ1bmN0aW9uIG5vdDxUPihwcmVkOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IGJvb2xlYW4sIHRoaXNBcmc6IGFueSk6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbiB7XG4gIHJldHVybiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+ICFwcmVkLmNhbGwodGhpc0FyZywgdmFsdWUsIGluZGV4KTsgXG59IiwgImltcG9ydCB7IE9wZXJhdG9yRnVuY3Rpb24sIE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgVHJ1dGh5VHlwZXNPZiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi9PcGVyYXRvclN1YnNjcmliZXInO1xuXG4vKiogQGRlcHJlY2F0ZWQgVXNlIGEgY2xvc3VyZSBpbnN0ZWFkIG9mIGEgYHRoaXNBcmdgLiBTaWduYXR1cmVzIGFjY2VwdGluZyBhIGB0aGlzQXJnYCB3aWxsIGJlIHJlbW92ZWQgaW4gdjguICovXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyPFQsIFMgZXh0ZW5kcyBULCBBPihwcmVkaWNhdGU6ICh0aGlzOiBBLCB2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gdmFsdWUgaXMgUywgdGhpc0FyZzogQSk6IE9wZXJhdG9yRnVuY3Rpb248VCwgUz47XG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyPFQsIFMgZXh0ZW5kcyBUPihwcmVkaWNhdGU6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gdmFsdWUgaXMgUyk6IE9wZXJhdG9yRnVuY3Rpb248VCwgUz47XG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyPFQ+KHByZWRpY2F0ZTogQm9vbGVhbkNvbnN0cnVjdG9yKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUcnV0aHlUeXBlc09mPFQ+Pjtcbi8qKiBAZGVwcmVjYXRlZCBVc2UgYSBjbG9zdXJlIGluc3RlYWQgb2YgYSBgdGhpc0FyZ2AuIFNpZ25hdHVyZXMgYWNjZXB0aW5nIGEgYHRoaXNBcmdgIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXI8VCwgQT4ocHJlZGljYXRlOiAodGhpczogQSwgdmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IGJvb2xlYW4sIHRoaXNBcmc6IEEpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD47XG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyPFQ+KHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBib29sZWFuKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+O1xuXG4vKipcbiAqIEZpbHRlciBpdGVtcyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBieSBvbmx5IGVtaXR0aW5nIHRob3NlIHRoYXRcbiAqIHNhdGlzZnkgYSBzcGVjaWZpZWQgcHJlZGljYXRlLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5MaWtlXG4gKiBbQXJyYXkucHJvdG90eXBlLmZpbHRlcigpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9BcnJheS9maWx0ZXIpLFxuICogaXQgb25seSBlbWl0cyBhIHZhbHVlIGZyb20gdGhlIHNvdXJjZSBpZiBpdCBwYXNzZXMgYSBjcml0ZXJpb24gZnVuY3Rpb24uPC9zcGFuPlxuICpcbiAqICFbXShmaWx0ZXIucG5nKVxuICpcbiAqIFNpbWlsYXIgdG8gdGhlIHdlbGwta25vd24gYEFycmF5LnByb3RvdHlwZS5maWx0ZXJgIG1ldGhvZCwgdGhpcyBvcGVyYXRvclxuICogdGFrZXMgdmFsdWVzIGZyb20gdGhlIHNvdXJjZSBPYnNlcnZhYmxlLCBwYXNzZXMgdGhlbSB0aHJvdWdoIGEgYHByZWRpY2F0ZWBcbiAqIGZ1bmN0aW9uIGFuZCBvbmx5IGVtaXRzIHRob3NlIHZhbHVlcyB0aGF0IHlpZWxkZWQgYHRydWVgLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBFbWl0IG9ubHkgY2xpY2sgZXZlbnRzIHdob3NlIHRhcmdldCB3YXMgYSBESVYgZWxlbWVudFxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIGZpbHRlciB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICogZGl2LnN0eWxlLmNzc1RleHQgPSAnd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyBiYWNrZ3JvdW5kOiAjMDljOyc7XG4gKiBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IGNsaWNrc09uRGl2cyA9IGNsaWNrcy5waXBlKGZpbHRlcihldiA9PiAoPEhUTUxFbGVtZW50PmV2LnRhcmdldCkudGFnTmFtZSA9PT0gJ0RJVicpKTtcbiAqIGNsaWNrc09uRGl2cy5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBkaXN0aW5jdH1cbiAqIEBzZWUge0BsaW5rIGRpc3RpbmN0VW50aWxDaGFuZ2VkfVxuICogQHNlZSB7QGxpbmsgZGlzdGluY3RVbnRpbEtleUNoYW5nZWR9XG4gKiBAc2VlIHtAbGluayBpZ25vcmVFbGVtZW50c31cbiAqIEBzZWUge0BsaW5rIHBhcnRpdGlvbn1cbiAqIEBzZWUge0BsaW5rIHNraXB9XG4gKlxuICogQHBhcmFtIHByZWRpY2F0ZSBBIGZ1bmN0aW9uIHRoYXRcbiAqIGV2YWx1YXRlcyBlYWNoIHZhbHVlIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlLiBJZiBpdCByZXR1cm5zIGB0cnVlYCxcbiAqIHRoZSB2YWx1ZSBpcyBlbWl0dGVkLCBpZiBgZmFsc2VgIHRoZSB2YWx1ZSBpcyBub3QgcGFzc2VkIHRvIHRoZSBvdXRwdXRcbiAqIE9ic2VydmFibGUuIFRoZSBgaW5kZXhgIHBhcmFtZXRlciBpcyB0aGUgbnVtYmVyIGBpYCBmb3IgdGhlIGktdGggc291cmNlXG4gKiBlbWlzc2lvbiB0aGF0IGhhcyBoYXBwZW5lZCBzaW5jZSB0aGUgc3Vic2NyaXB0aW9uLCBzdGFydGluZyBmcm9tIHRoZSBudW1iZXJcbiAqIGAwYC5cbiAqIEBwYXJhbSB0aGlzQXJnIEFuIG9wdGlvbmFsIGFyZ3VtZW50IHRvIGRldGVybWluZSB0aGUgdmFsdWUgb2YgYHRoaXNgXG4gKiBpbiB0aGUgYHByZWRpY2F0ZWAgZnVuY3Rpb24uXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBpdGVtcyBmcm9tIHRoZVxuICogc291cmNlIE9ic2VydmFibGUgdGhhdCBzYXRpc2Z5IHRoZSBzcGVjaWZpZWQgYHByZWRpY2F0ZWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXI8VD4ocHJlZGljYXRlOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IGJvb2xlYW4sIHRoaXNBcmc/OiBhbnkpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgLy8gQW4gaW5kZXggcGFzc2VkIHRvIG91ciBwcmVkaWNhdGUgZnVuY3Rpb24gb24gZWFjaCBjYWxsLlxuICAgIGxldCBpbmRleCA9IDA7XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gdGhlIHNvdXJjZSwgYWxsIGVycm9ycyBhbmQgY29tcGxldGlvbnMgYXJlXG4gICAgLy8gZm9yd2FyZGVkIHRvIHRoZSBjb25zdW1lci5cbiAgICBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgLy8gQ2FsbCB0aGUgcHJlZGljYXRlIHdpdGggdGhlIGFwcHJvcHJpYXRlIGB0aGlzYCBjb250ZXh0LFxuICAgICAgLy8gaWYgdGhlIHByZWRpY2F0ZSByZXR1cm5zIGB0cnVlYCwgdGhlbiBzZW5kIHRoZSB2YWx1ZVxuICAgICAgLy8gdG8gdGhlIGNvbnN1bWVyLlxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKHN1YnNjcmliZXIsICh2YWx1ZSkgPT4gcHJlZGljYXRlLmNhbGwodGhpc0FyZywgdmFsdWUsIGluZGV4KyspICYmIHN1YnNjcmliZXIubmV4dCh2YWx1ZSkpXG4gICAgKTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgbm90IH0gZnJvbSAnLi4vdXRpbC9ub3QnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAnLi4vb3BlcmF0b3JzL2ZpbHRlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBpbm5lckZyb20gfSBmcm9tICcuL2lubmVyRnJvbSc7XG5cbi8qKiBAZGVwcmVjYXRlZCBVc2UgYSBjbG9zdXJlIGluc3RlYWQgb2YgYSBgdGhpc0FyZ2AuIFNpZ25hdHVyZXMgYWNjZXB0aW5nIGEgYHRoaXNBcmdgIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYXJ0aXRpb248VCwgVSBleHRlbmRzIFQsIEE+KFxuICBzb3VyY2U6IE9ic2VydmFibGVJbnB1dDxUPixcbiAgcHJlZGljYXRlOiAodGhpczogQSwgdmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IHZhbHVlIGlzIFUsXG4gIHRoaXNBcmc6IEFcbik6IFtPYnNlcnZhYmxlPFU+LCBPYnNlcnZhYmxlPEV4Y2x1ZGU8VCwgVT4+XTtcbmV4cG9ydCBmdW5jdGlvbiBwYXJ0aXRpb248VCwgVSBleHRlbmRzIFQ+KFxuICBzb3VyY2U6IE9ic2VydmFibGVJbnB1dDxUPixcbiAgcHJlZGljYXRlOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IHZhbHVlIGlzIFVcbik6IFtPYnNlcnZhYmxlPFU+LCBPYnNlcnZhYmxlPEV4Y2x1ZGU8VCwgVT4+XTtcblxuLyoqIEBkZXByZWNhdGVkIFVzZSBhIGNsb3N1cmUgaW5zdGVhZCBvZiBhIGB0aGlzQXJnYC4gU2lnbmF0dXJlcyBhY2NlcHRpbmcgYSBgdGhpc0FyZ2Agd2lsbCBiZSByZW1vdmVkIGluIHY4LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBhcnRpdGlvbjxULCBBPihcbiAgc291cmNlOiBPYnNlcnZhYmxlSW5wdXQ8VD4sXG4gIHByZWRpY2F0ZTogKHRoaXM6IEEsIHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBib29sZWFuLFxuICB0aGlzQXJnOiBBXG4pOiBbT2JzZXJ2YWJsZTxUPiwgT2JzZXJ2YWJsZTxUPl07XG5leHBvcnQgZnVuY3Rpb24gcGFydGl0aW9uPFQ+KHNvdXJjZTogT2JzZXJ2YWJsZUlucHV0PFQ+LCBwcmVkaWNhdGU6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbik6IFtPYnNlcnZhYmxlPFQ+LCBPYnNlcnZhYmxlPFQ+XTtcblxuLyoqXG4gKiBTcGxpdHMgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGludG8gdHdvLCBvbmUgd2l0aCB2YWx1ZXMgdGhhdCBzYXRpc2Z5IGFcbiAqIHByZWRpY2F0ZSwgYW5kIGFub3RoZXIgd2l0aCB2YWx1ZXMgdGhhdCBkb24ndCBzYXRpc2Z5IHRoZSBwcmVkaWNhdGUuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkl0J3MgbGlrZSB7QGxpbmsgZmlsdGVyfSwgYnV0IHJldHVybnMgdHdvIE9ic2VydmFibGVzOlxuICogb25lIGxpa2UgdGhlIG91dHB1dCBvZiB7QGxpbmsgZmlsdGVyfSwgYW5kIHRoZSBvdGhlciB3aXRoIHZhbHVlcyB0aGF0IGRpZCBub3RcbiAqIHBhc3MgdGhlIGNvbmRpdGlvbi48L3NwYW4+XG4gKlxuICogIVtdKHBhcnRpdGlvbi5wbmcpXG4gKlxuICogYHBhcnRpdGlvbmAgb3V0cHV0cyBhbiBhcnJheSB3aXRoIHR3byBPYnNlcnZhYmxlcyB0aGF0IHBhcnRpdGlvbiB0aGUgdmFsdWVzXG4gKiBmcm9tIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB0aHJvdWdoIHRoZSBnaXZlbiBgcHJlZGljYXRlYCBmdW5jdGlvbi4gVGhlIGZpcnN0XG4gKiBPYnNlcnZhYmxlIGluIHRoYXQgYXJyYXkgZW1pdHMgc291cmNlIHZhbHVlcyBmb3Igd2hpY2ggdGhlIHByZWRpY2F0ZSBhcmd1bWVudFxuICogcmV0dXJucyB0cnVlLiBUaGUgc2Vjb25kIE9ic2VydmFibGUgZW1pdHMgc291cmNlIHZhbHVlcyBmb3Igd2hpY2ggdGhlXG4gKiBwcmVkaWNhdGUgcmV0dXJucyBmYWxzZS4gVGhlIGZpcnN0IGJlaGF2ZXMgbGlrZSB7QGxpbmsgZmlsdGVyfSBhbmQgdGhlIHNlY29uZFxuICogYmVoYXZlcyBsaWtlIHtAbGluayBmaWx0ZXJ9IHdpdGggdGhlIHByZWRpY2F0ZSBuZWdhdGVkLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBQYXJ0aXRpb24gYSBzZXQgb2YgbnVtYmVycyBpbnRvIG9kZHMgYW5kIGV2ZW5zIG9ic2VydmFibGVzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mLCBwYXJ0aXRpb24gfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBvYnNlcnZhYmxlVmFsdWVzID0gb2YoMSwgMiwgMywgNCwgNSwgNik7XG4gKiBjb25zdCBbZXZlbnMkLCBvZGRzJF0gPSBwYXJ0aXRpb24ob2JzZXJ2YWJsZVZhbHVlcywgdmFsdWUgPT4gdmFsdWUgJSAyID09PSAwKTtcbiAqXG4gKiBvZGRzJC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZygnb2RkcycsIHgpKTtcbiAqIGV2ZW5zJC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZygnZXZlbnMnLCB4KSk7XG4gKlxuICogLy8gTG9nczpcbiAqIC8vIG9kZHMgMVxuICogLy8gb2RkcyAzXG4gKiAvLyBvZGRzIDVcbiAqIC8vIGV2ZW5zIDJcbiAqIC8vIGV2ZW5zIDRcbiAqIC8vIGV2ZW5zIDZcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGZpbHRlcn1cbiAqXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKTogYm9vbGVhbn0gcHJlZGljYXRlIEEgZnVuY3Rpb24gdGhhdFxuICogZXZhbHVhdGVzIGVhY2ggdmFsdWUgZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUuIElmIGl0IHJldHVybnMgYHRydWVgLFxuICogdGhlIHZhbHVlIGlzIGVtaXR0ZWQgb24gdGhlIGZpcnN0IE9ic2VydmFibGUgaW4gdGhlIHJldHVybmVkIGFycmF5LCBpZlxuICogYGZhbHNlYCB0aGUgdmFsdWUgaXMgZW1pdHRlZCBvbiB0aGUgc2Vjb25kIE9ic2VydmFibGUgaW4gdGhlIGFycmF5LiBUaGVcbiAqIGBpbmRleGAgcGFyYW1ldGVyIGlzIHRoZSBudW1iZXIgYGlgIGZvciB0aGUgaS10aCBzb3VyY2UgZW1pc3Npb24gdGhhdCBoYXNcbiAqIGhhcHBlbmVkIHNpbmNlIHRoZSBzdWJzY3JpcHRpb24sIHN0YXJ0aW5nIGZyb20gdGhlIG51bWJlciBgMGAuXG4gKiBAcGFyYW0ge2FueX0gW3RoaXNBcmddIEFuIG9wdGlvbmFsIGFyZ3VtZW50IHRvIGRldGVybWluZSB0aGUgdmFsdWUgb2YgYHRoaXNgXG4gKiBpbiB0aGUgYHByZWRpY2F0ZWAgZnVuY3Rpb24uXG4gKiBAcmV0dXJuIHtbT2JzZXJ2YWJsZTxUPiwgT2JzZXJ2YWJsZTxUPl19IEFuIGFycmF5IHdpdGggdHdvIE9ic2VydmFibGVzOiBvbmVcbiAqIHdpdGggdmFsdWVzIHRoYXQgcGFzc2VkIHRoZSBwcmVkaWNhdGUsIGFuZCBhbm90aGVyIHdpdGggdmFsdWVzIHRoYXQgZGlkIG5vdFxuICogcGFzcyB0aGUgcHJlZGljYXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGFydGl0aW9uPFQ+KFxuICBzb3VyY2U6IE9ic2VydmFibGVJbnB1dDxUPixcbiAgcHJlZGljYXRlOiAodGhpczogYW55LCB2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gYm9vbGVhbixcbiAgdGhpc0FyZz86IGFueVxuKTogW09ic2VydmFibGU8VD4sIE9ic2VydmFibGU8VD5dIHtcbiAgcmV0dXJuIFtmaWx0ZXIocHJlZGljYXRlLCB0aGlzQXJnKShpbm5lckZyb20oc291cmNlKSksIGZpbHRlcihub3QocHJlZGljYXRlLCB0aGlzQXJnKSkoaW5uZXJGcm9tKHNvdXJjZSkpXSBhcyBbXG4gICAgT2JzZXJ2YWJsZTxUPixcbiAgICBPYnNlcnZhYmxlPFQ+XG4gIF07XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgaW5uZXJGcm9tIH0gZnJvbSAnLi9pbm5lckZyb20nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCwgT2JzZXJ2YWJsZUlucHV0VHVwbGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBhcmdzT3JBcmdBcnJheSB9IGZyb20gJy4uL3V0aWwvYXJnc09yQXJnQXJyYXknO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi4vb3BlcmF0b3JzL09wZXJhdG9yU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5cbmV4cG9ydCBmdW5jdGlvbiByYWNlPFQgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+KGlucHV0czogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPFQ+XSk6IE9ic2VydmFibGU8VFtudW1iZXJdPjtcbmV4cG9ydCBmdW5jdGlvbiByYWNlPFQgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+KC4uLmlucHV0czogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPFQ+XSk6IE9ic2VydmFibGU8VFtudW1iZXJdPjtcblxuLyoqXG4gKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgdGhhdCBtaXJyb3JzIHRoZSBmaXJzdCBzb3VyY2Ugb2JzZXJ2YWJsZSB0byBlbWl0IGFuIGl0ZW0uXG4gKlxuICogIVtdKHJhY2UucG5nKVxuICpcbiAqIGByYWNlYCByZXR1cm5zIGFuIG9ic2VydmFibGUsIHRoYXQgd2hlbiBzdWJzY3JpYmVkIHRvLCBzdWJzY3JpYmVzIHRvIGFsbCBzb3VyY2Ugb2JzZXJ2YWJsZXMgaW1tZWRpYXRlbHkuXG4gKiBBcyBzb29uIGFzIG9uZSBvZiB0aGUgc291cmNlIG9ic2VydmFibGVzIGVtaXRzIGEgdmFsdWUsIHRoZSByZXN1bHQgdW5zdWJzY3JpYmVzIGZyb20gdGhlIG90aGVyIHNvdXJjZXMuXG4gKiBUaGUgcmVzdWx0aW5nIG9ic2VydmFibGUgd2lsbCBmb3J3YXJkIGFsbCBub3RpZmljYXRpb25zLCBpbmNsdWRpbmcgZXJyb3IgYW5kIGNvbXBsZXRpb24sIGZyb20gdGhlIFwid2lubmluZ1wiXG4gKiBzb3VyY2Ugb2JzZXJ2YWJsZS5cbiAqXG4gKiBJZiBvbmUgb2YgdGhlIHVzZWQgc291cmNlIG9ic2VydmFibGUgdGhyb3dzIGFuIGVycm9ycyBiZWZvcmUgYSBmaXJzdCBub3RpZmljYXRpb25cbiAqIHRoZSByYWNlIG9wZXJhdG9yIHdpbGwgYWxzbyB0aHJvdyBhbiBlcnJvciwgbm8gbWF0dGVyIGlmIGFub3RoZXIgc291cmNlIG9ic2VydmFibGVcbiAqIGNvdWxkIHBvdGVudGlhbGx5IHdpbiB0aGUgcmFjZS5cbiAqXG4gKiBgcmFjZWAgY2FuIGJlIHVzZWZ1bCBmb3Igc2VsZWN0aW5nIHRoZSByZXNwb25zZSBmcm9tIHRoZSBmYXN0ZXN0IG5ldHdvcmsgY29ubmVjdGlvbiBmb3JcbiAqIEhUVFAgb3IgV2ViU29ja2V0cy4gYHJhY2VgIGNhbiBhbHNvIGJlIHVzZWZ1bCBmb3Igc3dpdGNoaW5nIG9ic2VydmFibGUgY29udGV4dCBiYXNlZCBvbiB1c2VyXG4gKiBpbnB1dC5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogU3Vic2NyaWJlcyB0byB0aGUgb2JzZXJ2YWJsZSB0aGF0IHdhcyB0aGUgZmlyc3QgdG8gc3RhcnQgZW1pdHRpbmcuXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGludGVydmFsLCBtYXAsIHJhY2UgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBvYnMxID0gaW50ZXJ2YWwoNzAwMCkucGlwZShtYXAoKCkgPT4gJ3Nsb3cgb25lJykpO1xuICogY29uc3Qgb2JzMiA9IGludGVydmFsKDMwMDApLnBpcGUobWFwKCgpID0+ICdmYXN0IG9uZScpKTtcbiAqIGNvbnN0IG9iczMgPSBpbnRlcnZhbCg1MDAwKS5waXBlKG1hcCgoKSA9PiAnbWVkaXVtIG9uZScpKTtcbiAqXG4gKiByYWNlKG9iczEsIG9iczIsIG9iczMpXG4gKiAgIC5zdWJzY3JpYmUod2lubmVyID0+IGNvbnNvbGUubG9nKHdpbm5lcikpO1xuICpcbiAqIC8vIE91dHB1dHNcbiAqIC8vIGEgc2VyaWVzIG9mICdmYXN0IG9uZSdcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSB7Li4uT2JzZXJ2YWJsZXN9IC4uLm9ic2VydmFibGVzIHNvdXJjZXMgdXNlZCB0byByYWNlIGZvciB3aGljaCBPYnNlcnZhYmxlIGVtaXRzIGZpcnN0LlxuICogQHJldHVybiB7T2JzZXJ2YWJsZX0gYW4gT2JzZXJ2YWJsZSB0aGF0IG1pcnJvcnMgdGhlIG91dHB1dCBvZiB0aGUgZmlyc3QgT2JzZXJ2YWJsZSB0byBlbWl0IGFuIGl0ZW0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByYWNlPFQ+KC4uLnNvdXJjZXM6IChPYnNlcnZhYmxlSW5wdXQ8VD4gfCBPYnNlcnZhYmxlSW5wdXQ8VD5bXSlbXSk6IE9ic2VydmFibGU8YW55PiB7XG4gIHNvdXJjZXMgPSBhcmdzT3JBcmdBcnJheShzb3VyY2VzKTtcbiAgLy8gSWYgb25seSBvbmUgc291cmNlIHdhcyBwYXNzZWQsIGp1c3QgcmV0dXJuIGl0LiBPdGhlcndpc2UgcmV0dXJuIHRoZSByYWNlLlxuICByZXR1cm4gc291cmNlcy5sZW5ndGggPT09IDEgPyBpbm5lckZyb20oc291cmNlc1swXSBhcyBPYnNlcnZhYmxlSW5wdXQ8VD4pIDogbmV3IE9ic2VydmFibGU8VD4ocmFjZUluaXQoc291cmNlcyBhcyBPYnNlcnZhYmxlSW5wdXQ8VD5bXSkpO1xufVxuXG4vKipcbiAqIEFuIG9ic2VydmFibGUgaW5pdGlhbGl6ZXIgZnVuY3Rpb24gZm9yIGJvdGggdGhlIHN0YXRpYyB2ZXJzaW9uIGFuZCB0aGVcbiAqIG9wZXJhdG9yIHZlcnNpb24gb2YgcmFjZS5cbiAqIEBwYXJhbSBzb3VyY2VzIFRoZSBzb3VyY2VzIHRvIHJhY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJhY2VJbml0PFQ+KHNvdXJjZXM6IE9ic2VydmFibGVJbnB1dDxUPltdKSB7XG4gIHJldHVybiAoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxUPikgPT4ge1xuICAgIGxldCBzdWJzY3JpcHRpb25zOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIGFsbCBvZiB0aGUgc291cmNlcy4gTm90ZSB0aGF0IHdlIGFyZSBjaGVja2luZyBgc3Vic2NyaXB0aW9uc2AgaGVyZVxuICAgIC8vIElzIGlzIGFuIGFycmF5IG9mIGFsbCBhY3RpdmVseSBcInJhY2luZ1wiIHN1YnNjcmlwdGlvbnMsIGFuZCBpdCBpcyBgbnVsbGAgYWZ0ZXIgdGhlXG4gICAgLy8gcmFjZSBoYXMgYmVlbiB3b24uIFNvLCBpZiB3ZSBoYXZlIHJhY2VyIHRoYXQgc3luY2hyb25vdXNseSBcIndpbnNcIiwgdGhpcyBsb29wIHdpbGxcbiAgICAvLyBzdG9wIGJlZm9yZSBpdCBzdWJzY3JpYmVzIHRvIGFueSBtb3JlLlxuICAgIGZvciAobGV0IGkgPSAwOyBzdWJzY3JpcHRpb25zICYmICFzdWJzY3JpYmVyLmNsb3NlZCAmJiBpIDwgc291cmNlcy5sZW5ndGg7IGkrKykge1xuICAgICAgc3Vic2NyaXB0aW9ucy5wdXNoKFxuICAgICAgICBpbm5lckZyb20oc291cmNlc1tpXSBhcyBPYnNlcnZhYmxlSW5wdXQ8VD4pLnN1YnNjcmliZShcbiAgICAgICAgICBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoc3Vic2NyaWJlciwgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAoc3Vic2NyaXB0aW9ucykge1xuICAgICAgICAgICAgICAvLyBXZSdyZSBzdGlsbCByYWNpbmcsIGJ1dCB3ZSB3b24hIFNvIHVuc3Vic2NyaWJlXG4gICAgICAgICAgICAgIC8vIGFsbCBvdGhlciBzdWJzY3JpcHRpb25zIHRoYXQgd2UgaGF2ZSwgZXhjZXB0IHRoaXMgb25lLlxuICAgICAgICAgICAgICBmb3IgKGxldCBzID0gMDsgcyA8IHN1YnNjcmlwdGlvbnMubGVuZ3RoOyBzKyspIHtcbiAgICAgICAgICAgICAgICBzICE9PSBpICYmIHN1YnNjcmlwdGlvbnNbc10udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBzdWJzY3JpcHRpb25zID0gbnVsbCE7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUpO1xuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfVxuICB9O1xufVxuIiwgImltcG9ydCB7IFNjaGVkdWxlckxpa2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBFTVBUWSB9IGZyb20gJy4vZW1wdHknO1xuXG5leHBvcnQgZnVuY3Rpb24gcmFuZ2Uoc3RhcnQ6IG51bWJlciwgY291bnQ/OiBudW1iZXIpOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVGhlIGBzY2hlZHVsZXJgIHBhcmFtZXRlciB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSBgcmFuZ2Uoc3RhcnQsIGNvdW50KS5waXBlKG9ic2VydmVPbihzY2hlZHVsZXIpKWAgaW5zdGVhZC4gRGV0YWlsczogRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvc2NoZWR1bGVyLWFyZ3VtZW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByYW5nZShzdGFydDogbnVtYmVyLCBjb3VudDogbnVtYmVyIHwgdW5kZWZpbmVkLCBzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UpOiBPYnNlcnZhYmxlPG51bWJlcj47XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYSBzZXF1ZW5jZSBvZiBudW1iZXJzIHdpdGhpbiBhIHNwZWNpZmllZFxuICogcmFuZ2UuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkVtaXRzIGEgc2VxdWVuY2Ugb2YgbnVtYmVycyBpbiBhIHJhbmdlLjwvc3Bhbj5cbiAqXG4gKiAhW10ocmFuZ2UucG5nKVxuICpcbiAqIGByYW5nZWAgb3BlcmF0b3IgZW1pdHMgYSByYW5nZSBvZiBzZXF1ZW50aWFsIGludGVnZXJzLCBpbiBvcmRlciwgd2hlcmUgeW91XG4gKiBzZWxlY3QgdGhlIGBzdGFydGAgb2YgdGhlIHJhbmdlIGFuZCBpdHMgYGxlbmd0aGAuIEJ5IGRlZmF1bHQsIHVzZXMgbm9cbiAqIHtAbGluayBTY2hlZHVsZXJMaWtlfSBhbmQganVzdCBkZWxpdmVycyB0aGUgbm90aWZpY2F0aW9ucyBzeW5jaHJvbm91c2x5LCBidXQgbWF5IHVzZVxuICogYW4gb3B0aW9uYWwge0BsaW5rIFNjaGVkdWxlckxpa2V9IHRvIHJlZ3VsYXRlIHRob3NlIGRlbGl2ZXJpZXMuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIFByb2R1Y2UgYSByYW5nZSBvZiBudW1iZXJzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IHJhbmdlIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgbnVtYmVycyA9IHJhbmdlKDEsIDMpO1xuICpcbiAqIG51bWJlcnMuc3Vic2NyaWJlKHtcbiAqICAgbmV4dDogdmFsdWUgPT4gY29uc29sZS5sb2codmFsdWUpLFxuICogICBjb21wbGV0ZTogKCkgPT4gY29uc29sZS5sb2coJ0NvbXBsZXRlIScpXG4gKiB9KTtcbiAqXG4gKiAvLyBMb2dzOlxuICogLy8gMVxuICogLy8gMlxuICogLy8gM1xuICogLy8gJ0NvbXBsZXRlISdcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIHRpbWVyfVxuICogQHNlZSB7QGxpbmsgaW50ZXJ2YWx9XG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IFtzdGFydD0wXSBUaGUgdmFsdWUgb2YgdGhlIGZpcnN0IGludGVnZXIgaW4gdGhlIHNlcXVlbmNlLlxuICogQHBhcmFtIHtudW1iZXJ9IGNvdW50IFRoZSBudW1iZXIgb2Ygc2VxdWVudGlhbCBpbnRlZ2VycyB0byBnZW5lcmF0ZS5cbiAqIEBwYXJhbSB7U2NoZWR1bGVyTGlrZX0gW3NjaGVkdWxlcl0gQSB7QGxpbmsgU2NoZWR1bGVyTGlrZX0gdG8gdXNlIGZvciBzY2hlZHVsaW5nXG4gKiB0aGUgZW1pc3Npb25zIG9mIHRoZSBub3RpZmljYXRpb25zLlxuICogQHJldHVybiB7T2JzZXJ2YWJsZX0gQW4gT2JzZXJ2YWJsZSBvZiBudW1iZXJzIHRoYXQgZW1pdHMgYSBmaW5pdGUgcmFuZ2Ugb2ZcbiAqIHNlcXVlbnRpYWwgaW50ZWdlcnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByYW5nZShzdGFydDogbnVtYmVyLCBjb3VudD86IG51bWJlciwgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZSk6IE9ic2VydmFibGU8bnVtYmVyPiB7XG4gIGlmIChjb3VudCA9PSBudWxsKSB7XG4gICAgLy8gSWYgb25lIGFyZ3VtZW50IHdhcyBwYXNzZWQsIGl0J3MgdGhlIGNvdW50LCBub3QgdGhlIHN0YXJ0LlxuICAgIGNvdW50ID0gc3RhcnQ7XG4gICAgc3RhcnQgPSAwO1xuICB9XG5cbiAgaWYgKGNvdW50IDw9IDApIHtcbiAgICAvLyBObyBjb3VudD8gV2UncmUgZ29pbmcgbm93aGVyZS4gUmV0dXJuIEVNUFRZLlxuICAgIHJldHVybiBFTVBUWTtcbiAgfVxuXG4gIC8vIFdoZXJlIHRoZSByYW5nZSBzaG91bGQgc3RvcC5cbiAgY29uc3QgZW5kID0gY291bnQgKyBzdGFydDtcblxuICByZXR1cm4gbmV3IE9ic2VydmFibGUoXG4gICAgc2NoZWR1bGVyXG4gICAgICA/IC8vIFRoZSBkZXByZWNhdGVkIHNjaGVkdWxlZCBwYXRoLlxuICAgICAgICAoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgIGxldCBuID0gc3RhcnQ7XG4gICAgICAgICAgcmV0dXJuIHNjaGVkdWxlci5zY2hlZHVsZShmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBpZiAobiA8IGVuZCkge1xuICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQobisrKTtcbiAgICAgICAgICAgICAgdGhpcy5zY2hlZHVsZSgpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICA6IC8vIFN0YW5kYXJkIHN5bmNocm9ub3VzIHJhbmdlLlxuICAgICAgICAoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgIGxldCBuID0gc3RhcnQ7XG4gICAgICAgICAgd2hpbGUgKG4gPCBlbmQgJiYgIXN1YnNjcmliZXIuY2xvc2VkKSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQobisrKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICk7XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgVW5zdWJzY3JpYmFibGUsIE9ic2VydmFibGVJbnB1dCwgT2JzZXJ2ZWRWYWx1ZU9mIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgaW5uZXJGcm9tIH0gZnJvbSAnLi9pbm5lckZyb20nO1xuaW1wb3J0IHsgRU1QVFkgfSBmcm9tICcuL2VtcHR5JztcblxuLyoqXG4gKiBDcmVhdGVzIGFuIE9ic2VydmFibGUgdGhhdCB1c2VzIGEgcmVzb3VyY2Ugd2hpY2ggd2lsbCBiZSBkaXNwb3NlZCBhdCB0aGUgc2FtZSB0aW1lIGFzIHRoZSBPYnNlcnZhYmxlLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5Vc2UgaXQgd2hlbiB5b3UgY2F0Y2ggeW91cnNlbGYgY2xlYW5pbmcgdXAgYWZ0ZXIgYW4gT2JzZXJ2YWJsZS48L3NwYW4+XG4gKlxuICogYHVzaW5nYCBpcyBhIGZhY3Rvcnkgb3BlcmF0b3IsIHdoaWNoIGFjY2VwdHMgdHdvIGZ1bmN0aW9ucy4gRmlyc3QgZnVuY3Rpb24gcmV0dXJucyBhIGRpc3Bvc2FibGUgcmVzb3VyY2UuXG4gKiBJdCBjYW4gYmUgYW4gYXJiaXRyYXJ5IG9iamVjdCB0aGF0IGltcGxlbWVudHMgYHVuc3Vic2NyaWJlYCBtZXRob2QuIFNlY29uZCBmdW5jdGlvbiB3aWxsIGJlIGluamVjdGVkIHdpdGhcbiAqIHRoYXQgb2JqZWN0IGFuZCBzaG91bGQgcmV0dXJuIGFuIE9ic2VydmFibGUuIFRoYXQgT2JzZXJ2YWJsZSBjYW4gdXNlIHJlc291cmNlIG9iamVjdCBkdXJpbmcgaXRzIGV4ZWN1dGlvbi5cbiAqIEJvdGggZnVuY3Rpb25zIHBhc3NlZCB0byBgdXNpbmdgIHdpbGwgYmUgY2FsbGVkIGV2ZXJ5IHRpbWUgc29tZW9uZSBzdWJzY3JpYmVzIC0gbmVpdGhlciBhbiBPYnNlcnZhYmxlIG5vclxuICogcmVzb3VyY2Ugb2JqZWN0IHdpbGwgYmUgc2hhcmVkIGluIGFueSB3YXkgYmV0d2VlbiBzdWJzY3JpcHRpb25zLlxuICpcbiAqIFdoZW4gT2JzZXJ2YWJsZSByZXR1cm5lZCBieSBgdXNpbmdgIGlzIHN1YnNjcmliZWQsIE9ic2VydmFibGUgcmV0dXJuZWQgZnJvbSB0aGUgc2Vjb25kIGZ1bmN0aW9uIHdpbGwgYmUgc3Vic2NyaWJlZFxuICogYXMgd2VsbC4gQWxsIGl0cyBub3RpZmljYXRpb25zIChuZXh0ZWQgdmFsdWVzLCBjb21wbGV0aW9uIGFuZCBlcnJvciBldmVudHMpIHdpbGwgYmUgZW1pdHRlZCB1bmNoYW5nZWQgYnkgdGhlIG91dHB1dFxuICogT2JzZXJ2YWJsZS4gSWYgaG93ZXZlciBzb21lb25lIHVuc3Vic2NyaWJlcyBmcm9tIHRoZSBPYnNlcnZhYmxlIG9yIHNvdXJjZSBPYnNlcnZhYmxlIGNvbXBsZXRlcyBvciBlcnJvcnMgYnkgaXRzZWxmLFxuICogdGhlIGB1bnN1YnNjcmliZWAgbWV0aG9kIG9uIHJlc291cmNlIG9iamVjdCB3aWxsIGJlIGNhbGxlZC4gVGhpcyBjYW4gYmUgdXNlZCB0byBkbyBhbnkgbmVjZXNzYXJ5IGNsZWFuIHVwLCB3aGljaFxuICogb3RoZXJ3aXNlIHdvdWxkIGhhdmUgdG8gYmUgaGFuZGxlZCBieSBoYW5kLiBOb3RlIHRoYXQgY29tcGxldGUgb3IgZXJyb3Igbm90aWZpY2F0aW9ucyBhcmUgbm90IGVtaXR0ZWQgd2hlbiBzb21lb25lXG4gKiBjYW5jZWxzIHN1YnNjcmlwdGlvbiB0byBhbiBPYnNlcnZhYmxlIHZpYSBgdW5zdWJzY3JpYmVgLCBzbyBgdXNpbmdgIGNhbiBiZSB1c2VkIGFzIGEgaG9vaywgYWxsb3dpbmcgeW91IHRvIG1ha2VcbiAqIHN1cmUgdGhhdCBhbGwgcmVzb3VyY2VzIHdoaWNoIG5lZWQgdG8gZXhpc3QgZHVyaW5nIGFuIE9ic2VydmFibGUgZXhlY3V0aW9uIHdpbGwgYmUgZGlzcG9zZWQgYXQgYXBwcm9wcmlhdGUgdGltZS5cbiAqXG4gKiBAc2VlIHtAbGluayBkZWZlcn1cbiAqXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCk6IElTdWJzY3JpcHRpb259IHJlc291cmNlRmFjdG9yeSBBIGZ1bmN0aW9uIHdoaWNoIGNyZWF0ZXMgYW55IHJlc291cmNlIG9iamVjdFxuICogdGhhdCBpbXBsZW1lbnRzIGB1bnN1YnNjcmliZWAgbWV0aG9kLlxuICogQHBhcmFtIHtmdW5jdGlvbihyZXNvdXJjZTogSVN1YnNjcmlwdGlvbik6IE9ic2VydmFibGU8VD59IG9ic2VydmFibGVGYWN0b3J5IEEgZnVuY3Rpb24gd2hpY2hcbiAqIGNyZWF0ZXMgYW4gT2JzZXJ2YWJsZSwgdGhhdCBjYW4gdXNlIGluamVjdGVkIHJlc291cmNlIG9iamVjdC5cbiAqIEByZXR1cm4ge09ic2VydmFibGU8VD59IEFuIE9ic2VydmFibGUgdGhhdCBiZWhhdmVzIHRoZSBzYW1lIGFzIE9ic2VydmFibGUgcmV0dXJuZWQgYnkgYG9ic2VydmFibGVGYWN0b3J5YCwgYnV0XG4gKiB3aGljaCAtIHdoZW4gY29tcGxldGVkLCBlcnJvcmVkIG9yIHVuc3Vic2NyaWJlZCAtIHdpbGwgYWxzbyBjYWxsIGB1bnN1YnNjcmliZWAgb24gY3JlYXRlZCByZXNvdXJjZSBvYmplY3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB1c2luZzxUIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PGFueT4+KFxuICByZXNvdXJjZUZhY3Rvcnk6ICgpID0+IFVuc3Vic2NyaWJhYmxlIHwgdm9pZCxcbiAgb2JzZXJ2YWJsZUZhY3Rvcnk6IChyZXNvdXJjZTogVW5zdWJzY3JpYmFibGUgfCB2b2lkKSA9PiBUIHwgdm9pZFxuKTogT2JzZXJ2YWJsZTxPYnNlcnZlZFZhbHVlT2Y8VD4+IHtcbiAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPE9ic2VydmVkVmFsdWVPZjxUPj4oKHN1YnNjcmliZXIpID0+IHtcbiAgICBjb25zdCByZXNvdXJjZSA9IHJlc291cmNlRmFjdG9yeSgpO1xuICAgIGNvbnN0IHJlc3VsdCA9IG9ic2VydmFibGVGYWN0b3J5KHJlc291cmNlKTtcbiAgICBjb25zdCBzb3VyY2UgPSByZXN1bHQgPyBpbm5lckZyb20ocmVzdWx0KSA6IEVNUFRZO1xuICAgIHNvdXJjZS5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIC8vIE5PVEU6IE9wdGlvbmFsIGNoYWluaW5nIGRpZCBub3Qgd29yayBoZXJlLlxuICAgICAgLy8gUmVsYXRlZCBUUyBJc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC9UeXBlU2NyaXB0L2lzc3Vlcy80MDgxOFxuICAgICAgaWYgKHJlc291cmNlKSB7XG4gICAgICAgIHJlc291cmNlLnVuc3Vic2NyaWJlKCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0VHVwbGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpbm5lckZyb20gfSBmcm9tICcuL2lubmVyRnJvbSc7XG5pbXBvcnQgeyBhcmdzT3JBcmdBcnJheSB9IGZyb20gJy4uL3V0aWwvYXJnc09yQXJnQXJyYXknO1xuaW1wb3J0IHsgRU1QVFkgfSBmcm9tICcuL2VtcHR5JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4uL29wZXJhdG9ycy9PcGVyYXRvclN1YnNjcmliZXInO1xuaW1wb3J0IHsgcG9wUmVzdWx0U2VsZWN0b3IgfSBmcm9tICcuLi91dGlsL2FyZ3MnO1xuXG5leHBvcnQgZnVuY3Rpb24gemlwPEEgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+KHNvdXJjZXM6IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPl0pOiBPYnNlcnZhYmxlPEE+O1xuZXhwb3J0IGZ1bmN0aW9uIHppcDxBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLCBSPihcbiAgc291cmNlczogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+XSxcbiAgcmVzdWx0U2VsZWN0b3I6ICguLi52YWx1ZXM6IEEpID0+IFJcbik6IE9ic2VydmFibGU8Uj47XG5leHBvcnQgZnVuY3Rpb24gemlwPEEgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+KC4uLnNvdXJjZXM6IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPl0pOiBPYnNlcnZhYmxlPEE+O1xuZXhwb3J0IGZ1bmN0aW9uIHppcDxBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLCBSPihcbiAgLi4uc291cmNlc0FuZFJlc3VsdFNlbGVjdG9yOiBbLi4uT2JzZXJ2YWJsZUlucHV0VHVwbGU8QT4sICguLi52YWx1ZXM6IEEpID0+IFJdXG4pOiBPYnNlcnZhYmxlPFI+O1xuXG4vKipcbiAqIENvbWJpbmVzIG11bHRpcGxlIE9ic2VydmFibGVzIHRvIGNyZWF0ZSBhbiBPYnNlcnZhYmxlIHdob3NlIHZhbHVlcyBhcmUgY2FsY3VsYXRlZCBmcm9tIHRoZSB2YWx1ZXMsIGluIG9yZGVyLCBvZiBlYWNoXG4gKiBvZiBpdHMgaW5wdXQgT2JzZXJ2YWJsZXMuXG4gKlxuICogSWYgdGhlIGxhc3QgcGFyYW1ldGVyIGlzIGEgZnVuY3Rpb24sIHRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBjb21wdXRlIHRoZSBjcmVhdGVkIHZhbHVlIGZyb20gdGhlIGlucHV0IHZhbHVlcy5cbiAqIE90aGVyd2lzZSwgYW4gYXJyYXkgb2YgdGhlIGlucHV0IHZhbHVlcyBpcyByZXR1cm5lZC5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogQ29tYmluZSBhZ2UgYW5kIG5hbWUgZnJvbSBkaWZmZXJlbnQgc291cmNlc1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBvZiwgemlwLCBtYXAgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBhZ2UkID0gb2YoMjcsIDI1LCAyOSk7XG4gKiBjb25zdCBuYW1lJCA9IG9mKCdGb28nLCAnQmFyJywgJ0JlZXInKTtcbiAqIGNvbnN0IGlzRGV2JCA9IG9mKHRydWUsIHRydWUsIGZhbHNlKTtcbiAqXG4gKiB6aXAoYWdlJCwgbmFtZSQsIGlzRGV2JCkucGlwZShcbiAqICAgbWFwKChbYWdlLCBuYW1lLCBpc0Rldl0pID0+ICh7IGFnZSwgbmFtZSwgaXNEZXYgfSkpXG4gKiApXG4gKiAuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIE91dHB1dHNcbiAqIC8vIHsgYWdlOiAyNywgbmFtZTogJ0ZvbycsIGlzRGV2OiB0cnVlIH1cbiAqIC8vIHsgYWdlOiAyNSwgbmFtZTogJ0JhcicsIGlzRGV2OiB0cnVlIH1cbiAqIC8vIHsgYWdlOiAyOSwgbmFtZTogJ0JlZXInLCBpc0RldjogZmFsc2UgfVxuICogYGBgXG4gKlxuICogQHBhcmFtIHNvdXJjZXNcbiAqIEByZXR1cm4ge09ic2VydmFibGU8Uj59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB6aXAoLi4uYXJnczogdW5rbm93bltdKTogT2JzZXJ2YWJsZTx1bmtub3duPiB7XG4gIGNvbnN0IHJlc3VsdFNlbGVjdG9yID0gcG9wUmVzdWx0U2VsZWN0b3IoYXJncyk7XG5cbiAgY29uc3Qgc291cmNlcyA9IGFyZ3NPckFyZ0FycmF5KGFyZ3MpIGFzIE9ic2VydmFibGU8dW5rbm93bj5bXTtcblxuICByZXR1cm4gc291cmNlcy5sZW5ndGhcbiAgICA/IG5ldyBPYnNlcnZhYmxlPHVua25vd25bXT4oKHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgLy8gQSBjb2xsZWN0aW9uIG9mIGJ1ZmZlcnMgb2YgdmFsdWVzIGZyb20gZWFjaCBzb3VyY2UuXG4gICAgICAgIC8vIEtleWVkIGJ5IHRoZSBzYW1lIGluZGV4IHdpdGggd2hpY2ggdGhlIHNvdXJjZXMgd2VyZSBwYXNzZWQgaW4uXG4gICAgICAgIGxldCBidWZmZXJzOiB1bmtub3duW11bXSA9IHNvdXJjZXMubWFwKCgpID0+IFtdKTtcblxuICAgICAgICAvLyBBbiBhcnJheSBvZiBmbGFncyBvZiB3aGV0aGVyIG9yIG5vdCB0aGUgc291cmNlcyBoYXZlIGNvbXBsZXRlZC5cbiAgICAgICAgLy8gVGhpcyBpcyB1c2VkIHRvIGNoZWNrIHRvIHNlZSBpZiB3ZSBzaG91bGQgY29tcGxldGUgdGhlIHJlc3VsdC5cbiAgICAgICAgLy8gS2V5ZWQgYnkgdGhlIHNhbWUgaW5kZXggd2l0aCB3aGljaCB0aGUgc291cmNlcyB3ZXJlIHBhc3NlZCBpbi5cbiAgICAgICAgbGV0IGNvbXBsZXRlZCA9IHNvdXJjZXMubWFwKCgpID0+IGZhbHNlKTtcblxuICAgICAgICAvLyBXaGVuIGV2ZXJ5dGhpbmcgaXMgZG9uZSwgcmVsZWFzZSB0aGUgYXJyYXlzIGFib3ZlLlxuICAgICAgICBzdWJzY3JpYmVyLmFkZCgoKSA9PiB7XG4gICAgICAgICAgYnVmZmVycyA9IGNvbXBsZXRlZCA9IG51bGwhO1xuICAgICAgICB9KTtcblxuICAgICAgICAvLyBMb29wIG92ZXIgb3VyIHNvdXJjZXMgYW5kIHN1YnNjcmliZSB0byBlYWNoIG9uZS4gVGhlIGluZGV4IGBpYCBpc1xuICAgICAgICAvLyBlc3BlY2lhbGx5IGltcG9ydGFudCBoZXJlLCBiZWNhdXNlIHdlIHVzZSBpdCBpbiBjbG9zdXJlcyBiZWxvdyB0b1xuICAgICAgICAvLyBhY2Nlc3MgdGhlIHJlbGF0ZWQgYnVmZmVycyBhbmQgY29tcGxldGlvbiBwcm9wZXJ0aWVzXG4gICAgICAgIGZvciAobGV0IHNvdXJjZUluZGV4ID0gMDsgIXN1YnNjcmliZXIuY2xvc2VkICYmIHNvdXJjZUluZGV4IDwgc291cmNlcy5sZW5ndGg7IHNvdXJjZUluZGV4KyspIHtcbiAgICAgICAgICBpbm5lckZyb20oc291cmNlc1tzb3VyY2VJbmRleF0pLnN1YnNjcmliZShcbiAgICAgICAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgICAgICAgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgYnVmZmVyc1tzb3VyY2VJbmRleF0ucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICAgICAgLy8gaWYgZXZlcnkgYnVmZmVyIGhhcyBhdCBsZWFzdCBvbmUgdmFsdWUgaW4gaXQsIHRoZW4gd2VcbiAgICAgICAgICAgICAgICAvLyBjYW4gc2hpZnQgb3V0IHRoZSBvbGRlc3QgdmFsdWUgZnJvbSBlYWNoIGJ1ZmZlciBhbmQgZW1pdFxuICAgICAgICAgICAgICAgIC8vIHRoZW0gYXMgYW4gYXJyYXkuXG4gICAgICAgICAgICAgICAgaWYgKGJ1ZmZlcnMuZXZlcnkoKGJ1ZmZlcikgPT4gYnVmZmVyLmxlbmd0aCkpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IHJlc3VsdDogYW55ID0gYnVmZmVycy5tYXAoKGJ1ZmZlcikgPT4gYnVmZmVyLnNoaWZ0KCkhKTtcbiAgICAgICAgICAgICAgICAgIC8vIEVtaXQgdGhlIGFycmF5LiBJZiB0aGVyZXMnIGEgcmVzdWx0IHNlbGVjdG9yLCB1c2UgdGhhdC5cbiAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChyZXN1bHRTZWxlY3RvciA/IHJlc3VsdFNlbGVjdG9yKC4uLnJlc3VsdCkgOiByZXN1bHQpO1xuICAgICAgICAgICAgICAgICAgLy8gSWYgYW55IG9uZSBvZiB0aGUgc291cmNlcyBpcyBib3RoIGNvbXBsZXRlIGFuZCBoYXMgYW4gZW1wdHkgYnVmZmVyXG4gICAgICAgICAgICAgICAgICAvLyB0aGVuIHdlIGNvbXBsZXRlIHRoZSByZXN1bHQuIFRoaXMgaXMgYmVjYXVzZSB3ZSBjYW5ub3QgcG9zc2libHkgaGF2ZVxuICAgICAgICAgICAgICAgICAgLy8gYW55IG1vcmUgdmFsdWVzIHRvIHppcCB0b2dldGhlci5cbiAgICAgICAgICAgICAgICAgIGlmIChidWZmZXJzLnNvbWUoKGJ1ZmZlciwgaSkgPT4gIWJ1ZmZlci5sZW5ndGggJiYgY29tcGxldGVkW2ldKSkge1xuICAgICAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgICAgLy8gVGhpcyBzb3VyY2UgY29tcGxldGVkLiBNYXJrIGl0IGFzIGNvbXBsZXRlIHNvIHdlIGNhbiBjaGVjayBpdCBsYXRlclxuICAgICAgICAgICAgICAgIC8vIGlmIHdlIGhhdmUgdG8uXG4gICAgICAgICAgICAgICAgY29tcGxldGVkW3NvdXJjZUluZGV4XSA9IHRydWU7XG4gICAgICAgICAgICAgICAgLy8gQnV0LCBpZiB0aGlzIGNvbXBsZXRlIHNvdXJjZSBoYXMgbm90aGluZyBpbiBpdHMgYnVmZmVyLCB0aGVuIHdlXG4gICAgICAgICAgICAgICAgLy8gY2FuIGNvbXBsZXRlIHRoZSByZXN1bHQsIGJlY2F1c2Ugd2UgY2FuJ3QgcG9zc2libHkgaGF2ZSBhbnkgbW9yZVxuICAgICAgICAgICAgICAgIC8vIHZhbHVlcyBmcm9tIHRoaXMgdG8gemlwIHRvZ2V0aGVyIHdpdGggdGhlIG90aGVyIHZhbHVlcy5cbiAgICAgICAgICAgICAgICAhYnVmZmVyc1tzb3VyY2VJbmRleF0ubGVuZ3RoICYmIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKVxuICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBXaGVuIGV2ZXJ5dGhpbmcgaXMgZG9uZSwgcmVsZWFzZSB0aGUgYXJyYXlzIGFib3ZlLlxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIGJ1ZmZlcnMgPSBjb21wbGV0ZWQgPSBudWxsITtcbiAgICAgICAgfTtcbiAgICAgIH0pXG4gICAgOiBFTVBUWTtcbn1cbiIsICJcInVzZSBzdHJpY3RcIjtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbi8vIyBzb3VyY2VNYXBwaW5nVVJMPXR5cGVzLmpzLm1hcCIsICJpbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uL3R5cGVzJztcblxuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBpbm5lckZyb20gfSBmcm9tICcuLi9vYnNlcnZhYmxlL2lubmVyRnJvbSc7XG5pbXBvcnQgeyBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIgfSBmcm9tICcuL09wZXJhdG9yU3Vic2NyaWJlcic7XG5cbi8qKlxuICogSWdub3JlcyBzb3VyY2UgdmFsdWVzIGZvciBhIGR1cmF0aW9uIGRldGVybWluZWQgYnkgYW5vdGhlciBPYnNlcnZhYmxlLCB0aGVuXG4gKiBlbWl0cyB0aGUgbW9zdCByZWNlbnQgdmFsdWUgZnJvbSB0aGUgc291cmNlIE9ic2VydmFibGUsIHRoZW4gcmVwZWF0cyB0aGlzXG4gKiBwcm9jZXNzLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5JdCdzIGxpa2Uge0BsaW5rIGF1ZGl0VGltZX0sIGJ1dCB0aGUgc2lsZW5jaW5nXG4gKiBkdXJhdGlvbiBpcyBkZXRlcm1pbmVkIGJ5IGEgc2Vjb25kIE9ic2VydmFibGUuPC9zcGFuPlxuICpcbiAqICFbXShhdWRpdC5zdmcpXG4gKlxuICogYGF1ZGl0YCBpcyBzaW1pbGFyIHRvIGB0aHJvdHRsZWAsIGJ1dCBlbWl0cyB0aGUgbGFzdCB2YWx1ZSBmcm9tIHRoZSBzaWxlbmNlZFxuICogdGltZSB3aW5kb3csIGluc3RlYWQgb2YgdGhlIGZpcnN0IHZhbHVlLiBgYXVkaXRgIGVtaXRzIHRoZSBtb3N0IHJlY2VudCB2YWx1ZVxuICogZnJvbSB0aGUgc291cmNlIE9ic2VydmFibGUgb24gdGhlIG91dHB1dCBPYnNlcnZhYmxlIGFzIHNvb24gYXMgaXRzIGludGVybmFsXG4gKiB0aW1lciBiZWNvbWVzIGRpc2FibGVkLCBhbmQgaWdub3JlcyBzb3VyY2UgdmFsdWVzIHdoaWxlIHRoZSB0aW1lciBpcyBlbmFibGVkLlxuICogSW5pdGlhbGx5LCB0aGUgdGltZXIgaXMgZGlzYWJsZWQuIEFzIHNvb24gYXMgdGhlIGZpcnN0IHNvdXJjZSB2YWx1ZSBhcnJpdmVzLFxuICogdGhlIHRpbWVyIGlzIGVuYWJsZWQgYnkgY2FsbGluZyB0aGUgYGR1cmF0aW9uU2VsZWN0b3JgIGZ1bmN0aW9uIHdpdGggdGhlXG4gKiBzb3VyY2UgdmFsdWUsIHdoaWNoIHJldHVybnMgdGhlIFwiZHVyYXRpb25cIiBPYnNlcnZhYmxlLiBXaGVuIHRoZSBkdXJhdGlvblxuICogT2JzZXJ2YWJsZSBlbWl0cyBhIHZhbHVlLCB0aGUgdGltZXIgaXMgZGlzYWJsZWQsIHRoZW4gdGhlIG1vc3RcbiAqIHJlY2VudCBzb3VyY2UgdmFsdWUgaXMgZW1pdHRlZCBvbiB0aGUgb3V0cHV0IE9ic2VydmFibGUsIGFuZCB0aGlzIHByb2Nlc3NcbiAqIHJlcGVhdHMgZm9yIHRoZSBuZXh0IHNvdXJjZSB2YWx1ZS5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogRW1pdCBjbGlja3MgYXQgYSByYXRlIG9mIGF0IG1vc3Qgb25lIGNsaWNrIHBlciBzZWNvbmRcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCBhdWRpdCwgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgcmVzdWx0ID0gY2xpY2tzLnBpcGUoYXVkaXQoZXYgPT4gaW50ZXJ2YWwoMTAwMCkpKTtcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBhdWRpdFRpbWV9XG4gKiBAc2VlIHtAbGluayBkZWJvdW5jZX1cbiAqIEBzZWUge0BsaW5rIGRlbGF5V2hlbn1cbiAqIEBzZWUge0BsaW5rIHNhbXBsZX1cbiAqIEBzZWUge0BsaW5rIHRocm90dGxlfVxuICpcbiAqIEBwYXJhbSBkdXJhdGlvblNlbGVjdG9yIEEgZnVuY3Rpb25cbiAqIHRoYXQgcmVjZWl2ZXMgYSB2YWx1ZSBmcm9tIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSwgZm9yIGNvbXB1dGluZyB0aGUgc2lsZW5jaW5nXG4gKiBkdXJhdGlvbiwgcmV0dXJuZWQgYXMgYW4gT2JzZXJ2YWJsZSBvciBhIFByb21pc2UuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBwZXJmb3JtcyByYXRlLWxpbWl0aW5nIG9mXG4gKiBlbWlzc2lvbnMgZnJvbSB0aGUgc291cmNlIE9ic2VydmFibGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhdWRpdDxUPihkdXJhdGlvblNlbGVjdG9yOiAodmFsdWU6IFQpID0+IE9ic2VydmFibGVJbnB1dDxhbnk+KTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIGxldCBoYXNWYWx1ZSA9IGZhbHNlO1xuICAgIGxldCBsYXN0VmFsdWU6IFQgfCBudWxsID0gbnVsbDtcbiAgICBsZXQgZHVyYXRpb25TdWJzY3JpYmVyOiBTdWJzY3JpYmVyPGFueT4gfCBudWxsID0gbnVsbDtcbiAgICBsZXQgaXNDb21wbGV0ZSA9IGZhbHNlO1xuXG4gICAgY29uc3QgZW5kRHVyYXRpb24gPSAoKSA9PiB7XG4gICAgICBkdXJhdGlvblN1YnNjcmliZXI/LnVuc3Vic2NyaWJlKCk7XG4gICAgICBkdXJhdGlvblN1YnNjcmliZXIgPSBudWxsO1xuICAgICAgaWYgKGhhc1ZhbHVlKSB7XG4gICAgICAgIGhhc1ZhbHVlID0gZmFsc2U7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gbGFzdFZhbHVlITtcbiAgICAgICAgbGFzdFZhbHVlID0gbnVsbDtcbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KHZhbHVlKTtcbiAgICAgIH1cbiAgICAgIGlzQ29tcGxldGUgJiYgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgIH07XG5cbiAgICBjb25zdCBjbGVhbnVwRHVyYXRpb24gPSAoKSA9PiB7XG4gICAgICBkdXJhdGlvblN1YnNjcmliZXIgPSBudWxsO1xuICAgICAgaXNDb21wbGV0ZSAmJiBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgfTtcblxuICAgIHNvdXJjZS5zdWJzY3JpYmUoXG4gICAgICBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoXG4gICAgICAgIHN1YnNjcmliZXIsXG4gICAgICAgICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGhhc1ZhbHVlID0gdHJ1ZTtcbiAgICAgICAgICBsYXN0VmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICBpZiAoIWR1cmF0aW9uU3Vic2NyaWJlcikge1xuICAgICAgICAgICAgaW5uZXJGcm9tKGR1cmF0aW9uU2VsZWN0b3IodmFsdWUpKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIChkdXJhdGlvblN1YnNjcmliZXIgPSBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoc3Vic2NyaWJlciwgZW5kRHVyYXRpb24sIGNsZWFudXBEdXJhdGlvbikpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGlzQ29tcGxldGUgPSB0cnVlO1xuICAgICAgICAgICghaGFzVmFsdWUgfHwgIWR1cmF0aW9uU3Vic2NyaWJlciB8fCBkdXJhdGlvblN1YnNjcmliZXIuY2xvc2VkKSAmJiBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBhc3luY1NjaGVkdWxlciB9IGZyb20gJy4uL3NjaGVkdWxlci9hc3luYyc7XG5pbXBvcnQgeyBhdWRpdCB9IGZyb20gJy4vYXVkaXQnO1xuaW1wb3J0IHsgdGltZXIgfSBmcm9tICcuLi9vYnNlcnZhYmxlL3RpbWVyJztcbmltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgU2NoZWR1bGVyTGlrZSB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiBJZ25vcmVzIHNvdXJjZSB2YWx1ZXMgZm9yIGBkdXJhdGlvbmAgbWlsbGlzZWNvbmRzLCB0aGVuIGVtaXRzIHRoZSBtb3N0IHJlY2VudFxuICogdmFsdWUgZnJvbSB0aGUgc291cmNlIE9ic2VydmFibGUsIHRoZW4gcmVwZWF0cyB0aGlzIHByb2Nlc3MuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPldoZW4gaXQgc2VlcyBhIHNvdXJjZSB2YWx1ZSwgaXQgaWdub3JlcyB0aGF0IHBsdXNcbiAqIHRoZSBuZXh0IG9uZXMgZm9yIGBkdXJhdGlvbmAgbWlsbGlzZWNvbmRzLCBhbmQgdGhlbiBpdCBlbWl0cyB0aGUgbW9zdCByZWNlbnRcbiAqIHZhbHVlIGZyb20gdGhlIHNvdXJjZS48L3NwYW4+XG4gKlxuICogIVtdKGF1ZGl0VGltZS5wbmcpXG4gKlxuICogYGF1ZGl0VGltZWAgaXMgc2ltaWxhciB0byBgdGhyb3R0bGVUaW1lYCwgYnV0IGVtaXRzIHRoZSBsYXN0IHZhbHVlIGZyb20gdGhlXG4gKiBzaWxlbmNlZCB0aW1lIHdpbmRvdywgaW5zdGVhZCBvZiB0aGUgZmlyc3QgdmFsdWUuIGBhdWRpdFRpbWVgIGVtaXRzIHRoZSBtb3N0XG4gKiByZWNlbnQgdmFsdWUgZnJvbSB0aGUgc291cmNlIE9ic2VydmFibGUgb24gdGhlIG91dHB1dCBPYnNlcnZhYmxlIGFzIHNvb24gYXNcbiAqIGl0cyBpbnRlcm5hbCB0aW1lciBiZWNvbWVzIGRpc2FibGVkLCBhbmQgaWdub3JlcyBzb3VyY2UgdmFsdWVzIHdoaWxlIHRoZVxuICogdGltZXIgaXMgZW5hYmxlZC4gSW5pdGlhbGx5LCB0aGUgdGltZXIgaXMgZGlzYWJsZWQuIEFzIHNvb24gYXMgdGhlIGZpcnN0XG4gKiBzb3VyY2UgdmFsdWUgYXJyaXZlcywgdGhlIHRpbWVyIGlzIGVuYWJsZWQuIEFmdGVyIGBkdXJhdGlvbmAgbWlsbGlzZWNvbmRzIChvclxuICogdGhlIHRpbWUgdW5pdCBkZXRlcm1pbmVkIGludGVybmFsbHkgYnkgdGhlIG9wdGlvbmFsIGBzY2hlZHVsZXJgKSBoYXMgcGFzc2VkLFxuICogdGhlIHRpbWVyIGlzIGRpc2FibGVkLCB0aGVuIHRoZSBtb3N0IHJlY2VudCBzb3VyY2UgdmFsdWUgaXMgZW1pdHRlZCBvbiB0aGVcbiAqIG91dHB1dCBPYnNlcnZhYmxlLCBhbmQgdGhpcyBwcm9jZXNzIHJlcGVhdHMgZm9yIHRoZSBuZXh0IHNvdXJjZSB2YWx1ZS5cbiAqIE9wdGlvbmFsbHkgdGFrZXMgYSB7QGxpbmsgU2NoZWR1bGVyTGlrZX0gZm9yIG1hbmFnaW5nIHRpbWVycy5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogRW1pdCBjbGlja3MgYXQgYSByYXRlIG9mIGF0IG1vc3Qgb25lIGNsaWNrIHBlciBzZWNvbmRcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCBhdWRpdFRpbWUgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgcmVzdWx0ID0gY2xpY2tzLnBpcGUoYXVkaXRUaW1lKDEwMDApKTtcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBhdWRpdH1cbiAqIEBzZWUge0BsaW5rIGRlYm91bmNlVGltZX1cbiAqIEBzZWUge0BsaW5rIGRlbGF5fVxuICogQHNlZSB7QGxpbmsgc2FtcGxlVGltZX1cbiAqIEBzZWUge0BsaW5rIHRocm90dGxlVGltZX1cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gZHVyYXRpb24gVGltZSB0byB3YWl0IGJlZm9yZSBlbWl0dGluZyB0aGUgbW9zdCByZWNlbnQgc291cmNlXG4gKiB2YWx1ZSwgbWVhc3VyZWQgaW4gbWlsbGlzZWNvbmRzIG9yIHRoZSB0aW1lIHVuaXQgZGV0ZXJtaW5lZCBpbnRlcm5hbGx5XG4gKiBieSB0aGUgb3B0aW9uYWwgYHNjaGVkdWxlcmAuXG4gKiBAcGFyYW0ge1NjaGVkdWxlckxpa2V9IFtzY2hlZHVsZXI9YXN5bmNdIFRoZSB7QGxpbmsgU2NoZWR1bGVyTGlrZX0gdG8gdXNlIGZvclxuICogbWFuYWdpbmcgdGhlIHRpbWVycyB0aGF0IGhhbmRsZSB0aGUgcmF0ZS1saW1pdGluZyBiZWhhdmlvci5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IHBlcmZvcm1zIHJhdGUtbGltaXRpbmcgb2ZcbiAqIGVtaXNzaW9ucyBmcm9tIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF1ZGl0VGltZTxUPihkdXJhdGlvbjogbnVtYmVyLCBzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UgPSBhc3luY1NjaGVkdWxlcik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIHJldHVybiBhdWRpdCgoKSA9PiB0aW1lcihkdXJhdGlvbiwgc2NoZWR1bGVyKSk7XG59XG4iLCAiaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vdXRpbC9ub29wJztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcbmltcG9ydCB7IGlubmVyRnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvaW5uZXJGcm9tJztcblxuLyoqXG4gKiBCdWZmZXJzIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB2YWx1ZXMgdW50aWwgYGNsb3NpbmdOb3RpZmllcmAgZW1pdHMuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkNvbGxlY3RzIHZhbHVlcyBmcm9tIHRoZSBwYXN0IGFzIGFuIGFycmF5LCBhbmQgZW1pdHNcbiAqIHRoYXQgYXJyYXkgb25seSB3aGVuIGFub3RoZXIgT2JzZXJ2YWJsZSBlbWl0cy48L3NwYW4+XG4gKlxuICogIVtdKGJ1ZmZlci5wbmcpXG4gKlxuICogQnVmZmVycyB0aGUgaW5jb21pbmcgT2JzZXJ2YWJsZSB2YWx1ZXMgdW50aWwgdGhlIGdpdmVuIGBjbG9zaW5nTm90aWZpZXJgXG4gKiBgT2JzZXJ2YWJsZUlucHV0YCAodGhhdCBpbnRlcm5hbGx5IGdldHMgY29udmVydGVkIHRvIGFuIE9ic2VydmFibGUpXG4gKiBlbWl0cyBhIHZhbHVlLCBhdCB3aGljaCBwb2ludCBpdCBlbWl0cyB0aGUgYnVmZmVyIG9uIHRoZSBvdXRwdXRcbiAqIE9ic2VydmFibGUgYW5kIHN0YXJ0cyBhIG5ldyBidWZmZXIgaW50ZXJuYWxseSwgYXdhaXRpbmcgdGhlIG5leHQgdGltZVxuICogYGNsb3NpbmdOb3RpZmllcmAgZW1pdHMuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIE9uIGV2ZXJ5IGNsaWNrLCBlbWl0IGFycmF5IG9mIG1vc3QgcmVjZW50IGludGVydmFsIGV2ZW50c1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIGludGVydmFsLCBidWZmZXIgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgaW50ZXJ2YWxFdmVudHMgPSBpbnRlcnZhbCgxMDAwKTtcbiAqIGNvbnN0IGJ1ZmZlcmVkID0gaW50ZXJ2YWxFdmVudHMucGlwZShidWZmZXIoY2xpY2tzKSk7XG4gKiBidWZmZXJlZC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBidWZmZXJDb3VudH1cbiAqIEBzZWUge0BsaW5rIGJ1ZmZlclRpbWV9XG4gKiBAc2VlIHtAbGluayBidWZmZXJUb2dnbGV9XG4gKiBAc2VlIHtAbGluayBidWZmZXJXaGVufVxuICogQHNlZSB7QGxpbmsgd2luZG93fVxuICpcbiAqIEBwYXJhbSBjbG9zaW5nTm90aWZpZXIgQW4gYE9ic2VydmFibGVJbnB1dGAgdGhhdCBzaWduYWxzIHRoZVxuICogYnVmZmVyIHRvIGJlIGVtaXR0ZWQgb24gdGhlIG91dHB1dCBPYnNlcnZhYmxlLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIG9mIGJ1ZmZlcnMsIHdoaWNoIGFyZSBhcnJheXNcbiAqIG9mIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1ZmZlcjxUPihjbG9zaW5nTm90aWZpZXI6IE9ic2VydmFibGVJbnB1dDxhbnk+KTogT3BlcmF0b3JGdW5jdGlvbjxULCBUW10+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIC8vIFRoZSBjdXJyZW50IGJ1ZmZlcmVkIHZhbHVlcy5cbiAgICBsZXQgY3VycmVudEJ1ZmZlcjogVFtdID0gW107XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gb3VyIHNvdXJjZS5cbiAgICBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgICBzdWJzY3JpYmVyLFxuICAgICAgICAodmFsdWUpID0+IGN1cnJlbnRCdWZmZXIucHVzaCh2YWx1ZSksXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoY3VycmVudEJ1ZmZlcik7XG4gICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICApXG4gICAgKTtcblxuICAgIC8vIFN1YnNjcmliZSB0byB0aGUgY2xvc2luZyBub3RpZmllci5cbiAgICBpbm5lckZyb20oY2xvc2luZ05vdGlmaWVyKS5zdWJzY3JpYmUoXG4gICAgICBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoXG4gICAgICAgIHN1YnNjcmliZXIsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICAvLyBTdGFydCBhIG5ldyBidWZmZXIgYW5kIGVtaXQgdGhlIHByZXZpb3VzIG9uZS5cbiAgICAgICAgICBjb25zdCBiID0gY3VycmVudEJ1ZmZlcjtcbiAgICAgICAgICBjdXJyZW50QnVmZmVyID0gW107XG4gICAgICAgICAgc3Vic2NyaWJlci5uZXh0KGIpO1xuICAgICAgICB9LFxuICAgICAgICBub29wXG4gICAgICApXG4gICAgKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAvLyBFbnN1cmUgYnVmZmVyZWQgdmFsdWVzIGFyZSByZWxlYXNlZCBvbiBmaW5hbGl6YXRpb24uXG4gICAgICBjdXJyZW50QnVmZmVyID0gbnVsbCE7XG4gICAgfTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi9PcGVyYXRvclN1YnNjcmliZXInO1xuaW1wb3J0IHsgYXJyUmVtb3ZlIH0gZnJvbSAnLi4vdXRpbC9hcnJSZW1vdmUnO1xuXG4vKipcbiAqIEJ1ZmZlcnMgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHZhbHVlcyB1bnRpbCB0aGUgc2l6ZSBoaXRzIHRoZSBtYXhpbXVtXG4gKiBgYnVmZmVyU2l6ZWAgZ2l2ZW4uXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkNvbGxlY3RzIHZhbHVlcyBmcm9tIHRoZSBwYXN0IGFzIGFuIGFycmF5LCBhbmQgZW1pdHNcbiAqIHRoYXQgYXJyYXkgb25seSB3aGVuIGl0cyBzaXplIHJlYWNoZXMgYGJ1ZmZlclNpemVgLjwvc3Bhbj5cbiAqXG4gKiAhW10oYnVmZmVyQ291bnQucG5nKVxuICpcbiAqIEJ1ZmZlcnMgYSBudW1iZXIgb2YgdmFsdWVzIGZyb20gdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGJ5IGBidWZmZXJTaXplYCB0aGVuXG4gKiBlbWl0cyB0aGUgYnVmZmVyIGFuZCBjbGVhcnMgaXQsIGFuZCBzdGFydHMgYSBuZXcgYnVmZmVyIGVhY2hcbiAqIGBzdGFydEJ1ZmZlckV2ZXJ5YCB2YWx1ZXMuIElmIGBzdGFydEJ1ZmZlckV2ZXJ5YCBpcyBub3QgcHJvdmlkZWQgb3IgaXNcbiAqIGBudWxsYCwgdGhlbiBuZXcgYnVmZmVycyBhcmUgc3RhcnRlZCBpbW1lZGlhdGVseSBhdCB0aGUgc3RhcnQgb2YgdGhlIHNvdXJjZVxuICogYW5kIHdoZW4gZWFjaCBidWZmZXIgY2xvc2VzIGFuZCBpcyBlbWl0dGVkLlxuICpcbiAqICMjIEV4YW1wbGVzXG4gKlxuICogRW1pdCB0aGUgbGFzdCB0d28gY2xpY2sgZXZlbnRzIGFzIGFuIGFycmF5XG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgYnVmZmVyQ291bnQgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgYnVmZmVyZWQgPSBjbGlja3MucGlwZShidWZmZXJDb3VudCgyKSk7XG4gKiBidWZmZXJlZC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBPbiBldmVyeSBjbGljaywgZW1pdCB0aGUgbGFzdCB0d28gY2xpY2sgZXZlbnRzIGFzIGFuIGFycmF5XG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgYnVmZmVyQ291bnQgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgYnVmZmVyZWQgPSBjbGlja3MucGlwZShidWZmZXJDb3VudCgyLCAxKSk7XG4gKiBidWZmZXJlZC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBidWZmZXJ9XG4gKiBAc2VlIHtAbGluayBidWZmZXJUaW1lfVxuICogQHNlZSB7QGxpbmsgYnVmZmVyVG9nZ2xlfVxuICogQHNlZSB7QGxpbmsgYnVmZmVyV2hlbn1cbiAqIEBzZWUge0BsaW5rIHBhaXJ3aXNlfVxuICogQHNlZSB7QGxpbmsgd2luZG93Q291bnR9XG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IGJ1ZmZlclNpemUgVGhlIG1heGltdW0gc2l6ZSBvZiB0aGUgYnVmZmVyIGVtaXR0ZWQuXG4gKiBAcGFyYW0ge251bWJlcn0gW3N0YXJ0QnVmZmVyRXZlcnldIEludGVydmFsIGF0IHdoaWNoIHRvIHN0YXJ0IGEgbmV3IGJ1ZmZlci5cbiAqIEZvciBleGFtcGxlIGlmIGBzdGFydEJ1ZmZlckV2ZXJ5YCBpcyBgMmAsIHRoZW4gYSBuZXcgYnVmZmVyIHdpbGwgYmUgc3RhcnRlZFxuICogb24gZXZlcnkgb3RoZXIgdmFsdWUgZnJvbSB0aGUgc291cmNlLiBBIG5ldyBidWZmZXIgaXMgc3RhcnRlZCBhdCB0aGVcbiAqIGJlZ2lubmluZyBvZiB0aGUgc291cmNlIGJ5IGRlZmF1bHQuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgb2YgYXJyYXlzIG9mIGJ1ZmZlcmVkIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1ZmZlckNvdW50PFQ+KGJ1ZmZlclNpemU6IG51bWJlciwgc3RhcnRCdWZmZXJFdmVyeTogbnVtYmVyIHwgbnVsbCA9IG51bGwpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFRbXT4ge1xuICAvLyBJZiBubyBgc3RhcnRCdWZmZXJFdmVyeWAgdmFsdWUgd2FzIHN1cHBsaWVkLCB0aGVuIHdlJ3JlXG4gIC8vIG9wZW5pbmcgYW5kIGNsb3Npbmcgb24gdGhlIGJ1ZmZlclNpemUgaXRzZWxmLlxuICBzdGFydEJ1ZmZlckV2ZXJ5ID0gc3RhcnRCdWZmZXJFdmVyeSA/PyBidWZmZXJTaXplO1xuXG4gIHJldHVybiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICBsZXQgYnVmZmVyczogVFtdW10gPSBbXTtcbiAgICBsZXQgY291bnQgPSAwO1xuXG4gICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgbGV0IHRvRW1pdDogVFtdW10gfCBudWxsID0gbnVsbDtcblxuICAgICAgICAgIC8vIENoZWNrIHRvIHNlZSBpZiB3ZSBuZWVkIHRvIHN0YXJ0IGEgYnVmZmVyLlxuICAgICAgICAgIC8vIFRoaXMgd2lsbCBzdGFydCBvbmUgYXQgdGhlIGZpcnN0IHZhbHVlLCBhbmQgdGhlblxuICAgICAgICAgIC8vIGEgbmV3IG9uZSBldmVyeSBOIGFmdGVyIHRoYXQuXG4gICAgICAgICAgaWYgKGNvdW50KysgJSBzdGFydEJ1ZmZlckV2ZXJ5ISA9PT0gMCkge1xuICAgICAgICAgICAgYnVmZmVycy5wdXNoKFtdKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBQdXNoIG91ciB2YWx1ZSBpbnRvIG91ciBhY3RpdmUgYnVmZmVycy5cbiAgICAgICAgICBmb3IgKGNvbnN0IGJ1ZmZlciBvZiBidWZmZXJzKSB7XG4gICAgICAgICAgICBidWZmZXIucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICAvLyBDaGVjayB0byBzZWUgaWYgd2UncmUgb3ZlciB0aGUgYnVmZmVyU2l6ZVxuICAgICAgICAgICAgLy8gaWYgd2UgYXJlLCByZWNvcmQgaXQgc28gd2UgY2FuIGVtaXQgaXQgbGF0ZXIuXG4gICAgICAgICAgICAvLyBJZiB3ZSBlbWl0dGVkIGl0IG5vdyBhbmQgcmVtb3ZlZCBpdCwgaXQgd291bGRcbiAgICAgICAgICAgIC8vIG11dGF0ZSB0aGUgYGJ1ZmZlcnNgIGFycmF5IHdoaWxlIHdlJ3JlIGxvb3BpbmdcbiAgICAgICAgICAgIC8vIG92ZXIgaXQuXG4gICAgICAgICAgICBpZiAoYnVmZmVyU2l6ZSA8PSBidWZmZXIubGVuZ3RoKSB7XG4gICAgICAgICAgICAgIHRvRW1pdCA9IHRvRW1pdCA/PyBbXTtcbiAgICAgICAgICAgICAgdG9FbWl0LnB1c2goYnVmZmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAodG9FbWl0KSB7XG4gICAgICAgICAgICAvLyBXZSBoYXZlIGZvdW5kIHNvbWUgYnVmZmVycyB0aGF0IGFyZSBvdmVyIHRoZVxuICAgICAgICAgICAgLy8gYGJ1ZmZlclNpemVgLiBFbWl0IHRoZW0sIGFuZCByZW1vdmUgdGhlbSBmcm9tIG91clxuICAgICAgICAgICAgLy8gYnVmZmVycyBsaXN0LlxuICAgICAgICAgICAgZm9yIChjb25zdCBidWZmZXIgb2YgdG9FbWl0KSB7XG4gICAgICAgICAgICAgIGFyclJlbW92ZShidWZmZXJzLCBidWZmZXIpO1xuICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoYnVmZmVyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICAvLyBXaGVuIHRoZSBzb3VyY2UgY29tcGxldGVzLCBlbWl0IGFsbCBvZiBvdXJcbiAgICAgICAgICAvLyBhY3RpdmUgYnVmZmVycy5cbiAgICAgICAgICBmb3IgKGNvbnN0IGJ1ZmZlciBvZiBidWZmZXJzKSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoYnVmZmVyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICB9LFxuICAgICAgICAvLyBQYXNzIGFsbCBlcnJvcnMgdGhyb3VnaCB0byBjb25zdW1lci5cbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgLy8gQ2xlYW4gdXAgb3VyIG1lbW9yeSB3aGVuIHdlIGZpbmFsaXplXG4gICAgICAgICAgYnVmZmVycyA9IG51bGwhO1xuICAgICAgICB9XG4gICAgICApXG4gICAgKTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IE9wZXJhdG9yRnVuY3Rpb24sIFNjaGVkdWxlckxpa2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcbmltcG9ydCB7IGFyclJlbW92ZSB9IGZyb20gJy4uL3V0aWwvYXJyUmVtb3ZlJztcbmltcG9ydCB7IGFzeW5jU2NoZWR1bGVyIH0gZnJvbSAnLi4vc2NoZWR1bGVyL2FzeW5jJztcbmltcG9ydCB7IHBvcFNjaGVkdWxlciB9IGZyb20gJy4uL3V0aWwvYXJncyc7XG5pbXBvcnQgeyBleGVjdXRlU2NoZWR1bGUgfSBmcm9tICcuLi91dGlsL2V4ZWN1dGVTY2hlZHVsZSc7XG5cbi8qIHRzbGludDpkaXNhYmxlOm1heC1saW5lLWxlbmd0aCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1ZmZlclRpbWU8VD4oYnVmZmVyVGltZVNwYW46IG51bWJlciwgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZSk6IE9wZXJhdG9yRnVuY3Rpb248VCwgVFtdPjtcbmV4cG9ydCBmdW5jdGlvbiBidWZmZXJUaW1lPFQ+KFxuICBidWZmZXJUaW1lU3BhbjogbnVtYmVyLFxuICBidWZmZXJDcmVhdGlvbkludGVydmFsOiBudW1iZXIgfCBudWxsIHwgdW5kZWZpbmVkLFxuICBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFRbXT47XG5leHBvcnQgZnVuY3Rpb24gYnVmZmVyVGltZTxUPihcbiAgYnVmZmVyVGltZVNwYW46IG51bWJlcixcbiAgYnVmZmVyQ3JlYXRpb25JbnRlcnZhbDogbnVtYmVyIHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgbWF4QnVmZmVyU2l6ZTogbnVtYmVyLFxuICBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFRbXT47XG4vKiB0c2xpbnQ6ZW5hYmxlOm1heC1saW5lLWxlbmd0aCAqL1xuXG4vKipcbiAqIEJ1ZmZlcnMgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHZhbHVlcyBmb3IgYSBzcGVjaWZpYyB0aW1lIHBlcmlvZC5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+Q29sbGVjdHMgdmFsdWVzIGZyb20gdGhlIHBhc3QgYXMgYW4gYXJyYXksIGFuZCBlbWl0c1xuICogdGhvc2UgYXJyYXlzIHBlcmlvZGljYWxseSBpbiB0aW1lLjwvc3Bhbj5cbiAqXG4gKiAhW10oYnVmZmVyVGltZS5wbmcpXG4gKlxuICogQnVmZmVycyB2YWx1ZXMgZnJvbSB0aGUgc291cmNlIGZvciBhIHNwZWNpZmljIHRpbWUgZHVyYXRpb24gYGJ1ZmZlclRpbWVTcGFuYC5cbiAqIFVubGVzcyB0aGUgb3B0aW9uYWwgYXJndW1lbnQgYGJ1ZmZlckNyZWF0aW9uSW50ZXJ2YWxgIGlzIGdpdmVuLCBpdCBlbWl0cyBhbmRcbiAqIHJlc2V0cyB0aGUgYnVmZmVyIGV2ZXJ5IGBidWZmZXJUaW1lU3BhbmAgbWlsbGlzZWNvbmRzLiBJZlxuICogYGJ1ZmZlckNyZWF0aW9uSW50ZXJ2YWxgIGlzIGdpdmVuLCB0aGlzIG9wZXJhdG9yIG9wZW5zIHRoZSBidWZmZXIgZXZlcnlcbiAqIGBidWZmZXJDcmVhdGlvbkludGVydmFsYCBtaWxsaXNlY29uZHMgYW5kIGNsb3NlcyAoZW1pdHMgYW5kIHJlc2V0cykgdGhlXG4gKiBidWZmZXIgZXZlcnkgYGJ1ZmZlclRpbWVTcGFuYCBtaWxsaXNlY29uZHMuIFdoZW4gdGhlIG9wdGlvbmFsIGFyZ3VtZW50XG4gKiBgbWF4QnVmZmVyU2l6ZWAgaXMgc3BlY2lmaWVkLCB0aGUgYnVmZmVyIHdpbGwgYmUgY2xvc2VkIGVpdGhlciBhZnRlclxuICogYGJ1ZmZlclRpbWVTcGFuYCBtaWxsaXNlY29uZHMgb3Igd2hlbiBpdCBjb250YWlucyBgbWF4QnVmZmVyU2l6ZWAgZWxlbWVudHMuXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBFdmVyeSBzZWNvbmQsIGVtaXQgYW4gYXJyYXkgb2YgdGhlIHJlY2VudCBjbGljayBldmVudHNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCBidWZmZXJUaW1lIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IGJ1ZmZlcmVkID0gY2xpY2tzLnBpcGUoYnVmZmVyVGltZSgxMDAwKSk7XG4gKiBidWZmZXJlZC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBFdmVyeSA1IHNlY29uZHMsIGVtaXQgdGhlIGNsaWNrIGV2ZW50cyBmcm9tIHRoZSBuZXh0IDIgc2Vjb25kc1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIGJ1ZmZlclRpbWUgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgYnVmZmVyZWQgPSBjbGlja3MucGlwZShidWZmZXJUaW1lKDIwMDAsIDUwMDApKTtcbiAqIGJ1ZmZlcmVkLnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGJ1ZmZlcn1cbiAqIEBzZWUge0BsaW5rIGJ1ZmZlckNvdW50fVxuICogQHNlZSB7QGxpbmsgYnVmZmVyVG9nZ2xlfVxuICogQHNlZSB7QGxpbmsgYnVmZmVyV2hlbn1cbiAqIEBzZWUge0BsaW5rIHdpbmRvd1RpbWV9XG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IGJ1ZmZlclRpbWVTcGFuIFRoZSBhbW91bnQgb2YgdGltZSB0byBmaWxsIGVhY2ggYnVmZmVyIGFycmF5LlxuICogQHBhcmFtIHtudW1iZXJ9IFtidWZmZXJDcmVhdGlvbkludGVydmFsXSBUaGUgaW50ZXJ2YWwgYXQgd2hpY2ggdG8gc3RhcnQgbmV3XG4gKiBidWZmZXJzLlxuICogQHBhcmFtIHtudW1iZXJ9IFttYXhCdWZmZXJTaXplXSBUaGUgbWF4aW11bSBidWZmZXIgc2l6ZS5cbiAqIEBwYXJhbSB7U2NoZWR1bGVyTGlrZX0gW3NjaGVkdWxlcj1hc3luY10gVGhlIHNjaGVkdWxlciBvbiB3aGljaCB0byBzY2hlZHVsZSB0aGVcbiAqIGludGVydmFscyB0aGF0IGRldGVybWluZSBidWZmZXIgYm91bmRhcmllcy5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSBvZiBhcnJheXMgb2YgYnVmZmVyZWQgdmFsdWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVmZmVyVGltZTxUPihidWZmZXJUaW1lU3BhbjogbnVtYmVyLCAuLi5vdGhlckFyZ3M6IGFueVtdKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUW10+IHtcbiAgY29uc3Qgc2NoZWR1bGVyID0gcG9wU2NoZWR1bGVyKG90aGVyQXJncykgPz8gYXN5bmNTY2hlZHVsZXI7XG4gIGNvbnN0IGJ1ZmZlckNyZWF0aW9uSW50ZXJ2YWwgPSAob3RoZXJBcmdzWzBdIGFzIG51bWJlcikgPz8gbnVsbDtcbiAgY29uc3QgbWF4QnVmZmVyU2l6ZSA9IChvdGhlckFyZ3NbMV0gYXMgbnVtYmVyKSB8fCBJbmZpbml0eTtcblxuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgLy8gVGhlIGFjdGl2ZSBidWZmZXJzLCB0aGVpciByZWxhdGVkIHN1YnNjcmlwdGlvbnMsIGFuZCByZW1vdmFsIGZ1bmN0aW9ucy5cbiAgICBsZXQgYnVmZmVyUmVjb3JkczogeyBidWZmZXI6IFRbXTsgc3ViczogU3Vic2NyaXB0aW9uIH1bXSB8IG51bGwgPSBbXTtcbiAgICAvLyBJZiB0cnVlLCBpdCBtZWFucyB0aGF0IGV2ZXJ5IHRpbWUgd2UgZW1pdCBhIGJ1ZmZlciwgd2Ugd2FudCB0byBzdGFydCBhIG5ldyBidWZmZXJcbiAgICAvLyB0aGlzIGlzIG9ubHkgcmVhbGx5IHVzZWQgZm9yIHdoZW4gKmp1c3QqIHRoZSBidWZmZXIgdGltZSBzcGFuIGlzIHBhc3NlZC5cbiAgICBsZXQgcmVzdGFydE9uRW1pdCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogRG9lcyB0aGUgd29yayBvZiBlbWl0dGluZyB0aGUgYnVmZmVyIGZyb20gdGhlIHJlY29yZCwgZW5zdXJpbmcgdGhhdCB0aGVcbiAgICAgKiByZWNvcmQgaXMgcmVtb3ZlZCBiZWZvcmUgdGhlIGVtaXNzaW9uIHNvIHJlZW50cmFudCBjb2RlIChmcm9tIHNvbWUgY3VzdG9tIHNjaGVkdWxpbmcsIHBlcmhhcHMpXG4gICAgICogZG9lcyBub3QgYWx0ZXIgdGhlIGJ1ZmZlci4gQWxzbyBjaGVja3MgdG8gc2VlIGlmIGEgbmV3IGJ1ZmZlciBuZWVkcyB0byBiZSBzdGFydGVkXG4gICAgICogYWZ0ZXIgdGhlIGVtaXQuXG4gICAgICovXG4gICAgY29uc3QgZW1pdCA9IChyZWNvcmQ6IHsgYnVmZmVyOiBUW107IHN1YnM6IFN1YnNjcmlwdGlvbiB9KSA9PiB7XG4gICAgICBjb25zdCB7IGJ1ZmZlciwgc3VicyB9ID0gcmVjb3JkO1xuICAgICAgc3Vicy51bnN1YnNjcmliZSgpO1xuICAgICAgYXJyUmVtb3ZlKGJ1ZmZlclJlY29yZHMsIHJlY29yZCk7XG4gICAgICBzdWJzY3JpYmVyLm5leHQoYnVmZmVyKTtcbiAgICAgIHJlc3RhcnRPbkVtaXQgJiYgc3RhcnRCdWZmZXIoKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIGV2ZXJ5IHRpbWUgd2Ugc3RhcnQgYSBuZXcgYnVmZmVyLiBUaGlzIGRvZXNcbiAgICAgKiB0aGUgd29yayBvZiBzY2hlZHVsaW5nIGEgam9iIGF0IHRoZSByZXF1ZXN0ZWQgYnVmZmVyVGltZVNwYW5cbiAgICAgKiB0aGF0IHdpbGwgZW1pdCB0aGUgYnVmZmVyIChpZiBpdCdzIG5vdCB1bnN1YnNjcmliZWQgYmVmb3JlIHRoZW4pLlxuICAgICAqL1xuICAgIGNvbnN0IHN0YXJ0QnVmZmVyID0gKCkgPT4ge1xuICAgICAgaWYgKGJ1ZmZlclJlY29yZHMpIHtcbiAgICAgICAgY29uc3Qgc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgc3Vic2NyaWJlci5hZGQoc3Vicyk7XG4gICAgICAgIGNvbnN0IGJ1ZmZlcjogVFtdID0gW107XG4gICAgICAgIGNvbnN0IHJlY29yZCA9IHtcbiAgICAgICAgICBidWZmZXIsXG4gICAgICAgICAgc3VicyxcbiAgICAgICAgfTtcbiAgICAgICAgYnVmZmVyUmVjb3Jkcy5wdXNoKHJlY29yZCk7XG4gICAgICAgIGV4ZWN1dGVTY2hlZHVsZShzdWJzLCBzY2hlZHVsZXIsICgpID0+IGVtaXQocmVjb3JkKSwgYnVmZmVyVGltZVNwYW4pO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBpZiAoYnVmZmVyQ3JlYXRpb25JbnRlcnZhbCAhPT0gbnVsbCAmJiBidWZmZXJDcmVhdGlvbkludGVydmFsID49IDApIHtcbiAgICAgIC8vIFRoZSB1c2VyIHBhc3NlZCBib3RoIGEgYnVmZmVyVGltZVNwYW4gKHJlcXVpcmVkKSwgYW5kIGEgY3JlYXRpb24gaW50ZXJ2YWxcbiAgICAgIC8vIFRoYXQgbWVhbnMgd2UgbmVlZCB0byBzdGFydCBuZXcgYnVmZmVycyBvbiB0aGUgaW50ZXJ2YWwsIGFuZCB0aG9zZSBidWZmZXJzIG5lZWRcbiAgICAgIC8vIHRvIHdhaXQgdGhlIHJlcXVpcmVkIHRpbWUgc3BhbiBiZWZvcmUgZW1pdHRpbmcuXG4gICAgICBleGVjdXRlU2NoZWR1bGUoc3Vic2NyaWJlciwgc2NoZWR1bGVyLCBzdGFydEJ1ZmZlciwgYnVmZmVyQ3JlYXRpb25JbnRlcnZhbCwgdHJ1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3RhcnRPbkVtaXQgPSB0cnVlO1xuICAgIH1cblxuICAgIHN0YXJ0QnVmZmVyKCk7XG5cbiAgICBjb25zdCBidWZmZXJUaW1lU3Vic2NyaWJlciA9IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgIHN1YnNjcmliZXIsXG4gICAgICAodmFsdWU6IFQpID0+IHtcbiAgICAgICAgLy8gQ29weSB0aGUgcmVjb3Jkcywgc28gaWYgd2UgbmVlZCB0byByZW1vdmUgb25lIHdlXG4gICAgICAgIC8vIGRvbid0IG11dGF0ZSB0aGUgYXJyYXkuIEl0J3MgaGFyZCwgYnV0IG5vdCBpbXBvc3NpYmxlIHRvXG4gICAgICAgIC8vIHNldCB1cCBhIGJ1ZmZlciB0aW1lIHRoYXQgY291bGQgbXV0YXRlIHRoZSBhcnJheSBhbmRcbiAgICAgICAgLy8gY2F1c2UgaXNzdWVzIGhlcmUuXG4gICAgICAgIGNvbnN0IHJlY29yZHNDb3B5ID0gYnVmZmVyUmVjb3JkcyEuc2xpY2UoKTtcbiAgICAgICAgZm9yIChjb25zdCByZWNvcmQgb2YgcmVjb3Jkc0NvcHkpIHtcbiAgICAgICAgICAvLyBMb29wIG92ZXIgYWxsIGJ1ZmZlcnMgYW5kXG4gICAgICAgICAgY29uc3QgeyBidWZmZXIgfSA9IHJlY29yZDtcbiAgICAgICAgICBidWZmZXIucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgLy8gSWYgdGhlIGJ1ZmZlciBpcyBvdmVyIHRoZSBtYXggc2l6ZSwgd2UgbmVlZCB0byBlbWl0IGl0LlxuICAgICAgICAgIG1heEJ1ZmZlclNpemUgPD0gYnVmZmVyLmxlbmd0aCAmJiBlbWl0KHJlY29yZCk7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAoKSA9PiB7XG4gICAgICAgIC8vIFRoZSBzb3VyY2UgY29tcGxldGVkLCBlbWl0IGFsbCBvZiB0aGUgYWN0aXZlXG4gICAgICAgIC8vIGJ1ZmZlcnMgd2UgaGF2ZSBiZWZvcmUgd2UgY29tcGxldGUuXG4gICAgICAgIHdoaWxlIChidWZmZXJSZWNvcmRzPy5sZW5ndGgpIHtcbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoYnVmZmVyUmVjb3Jkcy5zaGlmdCgpIS5idWZmZXIpO1xuICAgICAgICB9XG4gICAgICAgIGJ1ZmZlclRpbWVTdWJzY3JpYmVyPy51bnN1YnNjcmliZSgpO1xuICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIHN1YnNjcmliZXIudW5zdWJzY3JpYmUoKTtcbiAgICAgIH0sXG4gICAgICAvLyBQYXNzIGFsbCBlcnJvcnMgdGhyb3VnaCB0byBjb25zdW1lci5cbiAgICAgIHVuZGVmaW5lZCxcbiAgICAgIC8vIENsZWFuIHVwXG4gICAgICAoKSA9PiAoYnVmZmVyUmVjb3JkcyA9IG51bGwpXG4gICAgKTtcblxuICAgIHNvdXJjZS5zdWJzY3JpYmUoYnVmZmVyVGltZVN1YnNjcmliZXIpO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBpbm5lckZyb20gfSBmcm9tICcuLi9vYnNlcnZhYmxlL2lubmVyRnJvbSc7XG5pbXBvcnQgeyBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIgfSBmcm9tICcuL09wZXJhdG9yU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vdXRpbC9ub29wJztcbmltcG9ydCB7IGFyclJlbW92ZSB9IGZyb20gJy4uL3V0aWwvYXJyUmVtb3ZlJztcblxuLyoqXG4gKiBCdWZmZXJzIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB2YWx1ZXMgc3RhcnRpbmcgZnJvbSBhbiBlbWlzc2lvbiBmcm9tXG4gKiBgb3BlbmluZ3NgIGFuZCBlbmRpbmcgd2hlbiB0aGUgb3V0cHV0IG9mIGBjbG9zaW5nU2VsZWN0b3JgIGVtaXRzLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5Db2xsZWN0cyB2YWx1ZXMgZnJvbSB0aGUgcGFzdCBhcyBhbiBhcnJheS4gU3RhcnRzXG4gKiBjb2xsZWN0aW5nIG9ubHkgd2hlbiBgb3BlbmluZ2AgZW1pdHMsIGFuZCBjYWxscyB0aGUgYGNsb3NpbmdTZWxlY3RvcmBcbiAqIGZ1bmN0aW9uIHRvIGdldCBhbiBPYnNlcnZhYmxlIHRoYXQgdGVsbHMgd2hlbiB0byBjbG9zZSB0aGUgYnVmZmVyLjwvc3Bhbj5cbiAqXG4gKiAhW10oYnVmZmVyVG9nZ2xlLnBuZylcbiAqXG4gKiBCdWZmZXJzIHZhbHVlcyBmcm9tIHRoZSBzb3VyY2UgYnkgb3BlbmluZyB0aGUgYnVmZmVyIHZpYSBzaWduYWxzIGZyb20gYW5cbiAqIE9ic2VydmFibGUgcHJvdmlkZWQgdG8gYG9wZW5pbmdzYCwgYW5kIGNsb3NpbmcgYW5kIHNlbmRpbmcgdGhlIGJ1ZmZlcnMgd2hlblxuICogYSBTdWJzY3JpYmFibGUgb3IgUHJvbWlzZSByZXR1cm5lZCBieSB0aGUgYGNsb3NpbmdTZWxlY3RvcmAgZnVuY3Rpb24gZW1pdHMuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIEV2ZXJ5IG90aGVyIHNlY29uZCwgZW1pdCB0aGUgY2xpY2sgZXZlbnRzIGZyb20gdGhlIG5leHQgNTAwbXNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCBpbnRlcnZhbCwgYnVmZmVyVG9nZ2xlLCBFTVBUWSB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGNsaWNrcyA9IGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJyk7XG4gKiBjb25zdCBvcGVuaW5ncyA9IGludGVydmFsKDEwMDApO1xuICogY29uc3QgYnVmZmVyZWQgPSBjbGlja3MucGlwZShidWZmZXJUb2dnbGUob3BlbmluZ3MsIGkgPT5cbiAqICAgaSAlIDIgPyBpbnRlcnZhbCg1MDApIDogRU1QVFlcbiAqICkpO1xuICogYnVmZmVyZWQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgYnVmZmVyfVxuICogQHNlZSB7QGxpbmsgYnVmZmVyQ291bnR9XG4gKiBAc2VlIHtAbGluayBidWZmZXJUaW1lfVxuICogQHNlZSB7QGxpbmsgYnVmZmVyV2hlbn1cbiAqIEBzZWUge0BsaW5rIHdpbmRvd1RvZ2dsZX1cbiAqXG4gKiBAcGFyYW0gb3BlbmluZ3MgQSBTdWJzY3JpYmFibGUgb3IgUHJvbWlzZSBvZiBub3RpZmljYXRpb25zIHRvIHN0YXJ0IG5ld1xuICogYnVmZmVycy5cbiAqIEBwYXJhbSBjbG9zaW5nU2VsZWN0b3IgQSBmdW5jdGlvbiB0aGF0IHRha2VzXG4gKiB0aGUgdmFsdWUgZW1pdHRlZCBieSB0aGUgYG9wZW5pbmdzYCBvYnNlcnZhYmxlIGFuZCByZXR1cm5zIGEgU3Vic2NyaWJhYmxlIG9yIFByb21pc2UsXG4gKiB3aGljaCwgd2hlbiBpdCBlbWl0cywgc2lnbmFscyB0aGF0IHRoZSBhc3NvY2lhdGVkIGJ1ZmZlciBzaG91bGQgYmUgZW1pdHRlZFxuICogYW5kIGNsZWFyZWQuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgb2YgYXJyYXlzIG9mIGJ1ZmZlcmVkIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1ZmZlclRvZ2dsZTxULCBPPihcbiAgb3BlbmluZ3M6IE9ic2VydmFibGVJbnB1dDxPPixcbiAgY2xvc2luZ1NlbGVjdG9yOiAodmFsdWU6IE8pID0+IE9ic2VydmFibGVJbnB1dDxhbnk+XG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFRbXT4ge1xuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgY29uc3QgYnVmZmVyczogVFtdW10gPSBbXTtcblxuICAgIC8vIFN1YnNjcmliZSB0byB0aGUgb3BlbmluZ3Mgbm90aWZpZXIgZmlyc3RcbiAgICBpbm5lckZyb20ob3BlbmluZ3MpLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgKG9wZW5WYWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IGJ1ZmZlcjogVFtdID0gW107XG4gICAgICAgICAgYnVmZmVycy5wdXNoKGJ1ZmZlcik7XG4gICAgICAgICAgLy8gV2UgdXNlIHRoaXMgY29tcG9zaXRlIHN1YnNjcmlwdGlvbiwgc28gdGhhdFxuICAgICAgICAgIC8vIHdoZW4gdGhlIGNsb3Npbmcgbm90aWZpZXIgZW1pdHMsIHdlIGNhbiB0ZWFyIGl0IGRvd24uXG4gICAgICAgICAgY29uc3QgY2xvc2luZ1N1YnNjcmlwdGlvbiA9IG5ldyBTdWJzY3JpcHRpb24oKTtcblxuICAgICAgICAgIGNvbnN0IGVtaXRCdWZmZXIgPSAoKSA9PiB7XG4gICAgICAgICAgICBhcnJSZW1vdmUoYnVmZmVycywgYnVmZmVyKTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChidWZmZXIpO1xuICAgICAgICAgICAgY2xvc2luZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIH07XG5cbiAgICAgICAgICAvLyBUaGUgbGluZSBiZWxvdyB3aWxsIGFkZCB0aGUgc3Vic2NyaXB0aW9uIHRvIHRoZSBwYXJlbnQgc3Vic2NyaWJlciAqYW5kKiB0aGUgY2xvc2luZyBzdWJzY3JpcHRpb24uXG4gICAgICAgICAgY2xvc2luZ1N1YnNjcmlwdGlvbi5hZGQoaW5uZXJGcm9tKGNsb3NpbmdTZWxlY3RvcihvcGVuVmFsdWUpKS5zdWJzY3JpYmUoY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKHN1YnNjcmliZXIsIGVtaXRCdWZmZXIsIG5vb3ApKSk7XG4gICAgICAgIH0sXG4gICAgICAgIG5vb3BcbiAgICAgIClcbiAgICApO1xuXG4gICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgLy8gVmFsdWUgZnJvbSBvdXIgc291cmNlLiBBZGQgaXQgdG8gYWxsIHBlbmRpbmcgYnVmZmVycy5cbiAgICAgICAgICBmb3IgKGNvbnN0IGJ1ZmZlciBvZiBidWZmZXJzKSB7XG4gICAgICAgICAgICBidWZmZXIucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgLy8gU291cmNlIGNvbXBsZXRlLiBFbWl0IGFsbCBwZW5kaW5nIGJ1ZmZlcnMuXG4gICAgICAgICAgd2hpbGUgKGJ1ZmZlcnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5uZXh0KGJ1ZmZlcnMuc2hpZnQoKSEpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQsIE9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi91dGlsL25vb3AnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi9PcGVyYXRvclN1YnNjcmliZXInO1xuaW1wb3J0IHsgaW5uZXJGcm9tIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9pbm5lckZyb20nO1xuXG4vKipcbiAqIEJ1ZmZlcnMgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHZhbHVlcywgdXNpbmcgYSBmYWN0b3J5IGZ1bmN0aW9uIG9mIGNsb3NpbmdcbiAqIE9ic2VydmFibGVzIHRvIGRldGVybWluZSB3aGVuIHRvIGNsb3NlLCBlbWl0LCBhbmQgcmVzZXQgdGhlIGJ1ZmZlci5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+Q29sbGVjdHMgdmFsdWVzIGZyb20gdGhlIHBhc3QgYXMgYW4gYXJyYXkuIFdoZW4gaXRcbiAqIHN0YXJ0cyBjb2xsZWN0aW5nIHZhbHVlcywgaXQgY2FsbHMgYSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0XG4gKiB0ZWxscyB3aGVuIHRvIGNsb3NlIHRoZSBidWZmZXIgYW5kIHJlc3RhcnQgY29sbGVjdGluZy48L3NwYW4+XG4gKlxuICogIVtdKGJ1ZmZlcldoZW4uc3ZnKVxuICpcbiAqIE9wZW5zIGEgYnVmZmVyIGltbWVkaWF0ZWx5LCB0aGVuIGNsb3NlcyB0aGUgYnVmZmVyIHdoZW4gdGhlIG9ic2VydmFibGVcbiAqIHJldHVybmVkIGJ5IGNhbGxpbmcgYGNsb3NpbmdTZWxlY3RvcmAgZnVuY3Rpb24gZW1pdHMgYSB2YWx1ZS4gV2hlbiBpdCBjbG9zZXNcbiAqIHRoZSBidWZmZXIsIGl0IGltbWVkaWF0ZWx5IG9wZW5zIGEgbmV3IGJ1ZmZlciBhbmQgcmVwZWF0cyB0aGUgcHJvY2Vzcy5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogRW1pdCBhbiBhcnJheSBvZiB0aGUgbGFzdCBjbGlja3MgZXZlcnkgWzEtNV0gcmFuZG9tIHNlY29uZHNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCBidWZmZXJXaGVuLCBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGNsaWNrcyA9IGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJyk7XG4gKiBjb25zdCBidWZmZXJlZCA9IGNsaWNrcy5waXBlKFxuICogICBidWZmZXJXaGVuKCgpID0+IGludGVydmFsKDEwMDAgKyBNYXRoLnJhbmRvbSgpICogNDAwMCkpXG4gKiApO1xuICogYnVmZmVyZWQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgYnVmZmVyfVxuICogQHNlZSB7QGxpbmsgYnVmZmVyQ291bnR9XG4gKiBAc2VlIHtAbGluayBidWZmZXJUaW1lfVxuICogQHNlZSB7QGxpbmsgYnVmZmVyVG9nZ2xlfVxuICogQHNlZSB7QGxpbmsgd2luZG93V2hlbn1cbiAqXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKCk6IE9ic2VydmFibGV9IGNsb3NpbmdTZWxlY3RvciBBIGZ1bmN0aW9uIHRoYXQgdGFrZXMgbm9cbiAqIGFyZ3VtZW50cyBhbmQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgc2lnbmFscyBidWZmZXIgY2xvc3VyZS5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSBvZiBhcnJheXMgb2YgYnVmZmVyZWQgdmFsdWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnVmZmVyV2hlbjxUPihjbG9zaW5nU2VsZWN0b3I6ICgpID0+IE9ic2VydmFibGVJbnB1dDxhbnk+KTogT3BlcmF0b3JGdW5jdGlvbjxULCBUW10+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIC8vIFRoZSBidWZmZXIgd2Uga2VlcCBhbmQgZW1pdC5cbiAgICBsZXQgYnVmZmVyOiBUW10gfCBudWxsID0gbnVsbDtcbiAgICAvLyBBIHJlZmVyZW5jZSB0byB0aGUgc3Vic2NyaWJlciB1c2VkIHRvIHN1YnNjcmliZSB0b1xuICAgIC8vIHRoZSBjbG9zaW5nIG5vdGlmaWVyLiBXZSBuZWVkIHRvIGhvbGQgdGhpcyBzbyB3ZSBjYW5cbiAgICAvLyBlbmQgdGhlIHN1YnNjcmlwdGlvbiBhZnRlciB0aGUgZmlyc3Qgbm90aWZpY2F0aW9uLlxuICAgIGxldCBjbG9zaW5nU3Vic2NyaWJlcjogU3Vic2NyaWJlcjxUPiB8IG51bGwgPSBudWxsO1xuXG4gICAgLy8gRW5kcyB0aGUgcHJldmlvdXMgY2xvc2luZyBub3RpZmllciBzdWJzY3JpcHRpb24sIHNvIGl0XG4gICAgLy8gdGVybWluYXRlcyBhZnRlciB0aGUgZmlyc3QgZW1pc3Npb24sIHRoZW4gZW1pdHNcbiAgICAvLyB0aGUgY3VycmVudCBidWZmZXIgIGlmIHRoZXJlIGlzIG9uZSwgc3RhcnRzIGEgbmV3IGJ1ZmZlciwgYW5kIHN0YXJ0cyBhXG4gICAgLy8gbmV3IGNsb3Npbmcgbm90aWZpZXIuXG4gICAgY29uc3Qgb3BlbkJ1ZmZlciA9ICgpID0+IHtcbiAgICAgIC8vIE1ha2Ugc3VyZSB0byBmaW5hbGl6ZSB0aGUgY2xvc2luZyBzdWJzY3JpcHRpb24sIHdlIG9ubHkgY2FyZWRcbiAgICAgIC8vIGFib3V0IG9uZSBub3RpZmljYXRpb24uXG4gICAgICBjbG9zaW5nU3Vic2NyaWJlcj8udW5zdWJzY3JpYmUoKTtcbiAgICAgIC8vIGVtaXQgdGhlIGJ1ZmZlciBpZiB3ZSBoYXZlIG9uZSwgYW5kIHN0YXJ0IGEgbmV3IGJ1ZmZlci5cbiAgICAgIGNvbnN0IGIgPSBidWZmZXI7XG4gICAgICBidWZmZXIgPSBbXTtcbiAgICAgIGIgJiYgc3Vic2NyaWJlci5uZXh0KGIpO1xuXG4gICAgICAvLyBHZXQgYSBuZXcgY2xvc2luZyBub3RpZmllciBhbmQgc3Vic2NyaWJlIHRvIGl0LlxuICAgICAgaW5uZXJGcm9tKGNsb3NpbmdTZWxlY3RvcigpKS5zdWJzY3JpYmUoKGNsb3NpbmdTdWJzY3JpYmVyID0gY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKHN1YnNjcmliZXIsIG9wZW5CdWZmZXIsIG5vb3ApKSk7XG4gICAgfTtcblxuICAgIC8vIFN0YXJ0IHRoZSBmaXJzdCBidWZmZXIuXG4gICAgb3BlbkJ1ZmZlcigpO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIG91ciBzb3VyY2UuXG4gICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgLy8gQWRkIGV2ZXJ5IG5ldyB2YWx1ZSB0byB0aGUgY3VycmVudCBidWZmZXIuXG4gICAgICAgICh2YWx1ZSkgPT4gYnVmZmVyPy5wdXNoKHZhbHVlKSxcbiAgICAgICAgLy8gV2hlbiB3ZSBjb21wbGV0ZSwgZW1pdCB0aGUgYnVmZmVyIGlmIHdlIGhhdmUgb25lLFxuICAgICAgICAvLyB0aGVuIGNvbXBsZXRlIHRoZSByZXN1bHQuXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBidWZmZXIgJiYgc3Vic2NyaWJlci5uZXh0KGJ1ZmZlcik7XG4gICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICB9LFxuICAgICAgICAvLyBQYXNzIGFsbCBlcnJvcnMgdGhyb3VnaCB0byBjb25zdW1lci5cbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAvLyBSZWxlYXNlIG1lbW9yeSBvbiBmaW5hbGl6YXRpb25cbiAgICAgICAgKCkgPT4gKGJ1ZmZlciA9IGNsb3NpbmdTdWJzY3JpYmVyID0gbnVsbCEpXG4gICAgICApXG4gICAgKTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQsIE9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmVkVmFsdWVPZiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBpbm5lckZyb20gfSBmcm9tICcuLi9vYnNlcnZhYmxlL2lubmVyRnJvbSc7XG5pbXBvcnQgeyBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIgfSBmcm9tICcuL09wZXJhdG9yU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcblxuLyogdHNsaW50OmRpc2FibGU6bWF4LWxpbmUtbGVuZ3RoICovXG5leHBvcnQgZnVuY3Rpb24gY2F0Y2hFcnJvcjxULCBPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PGFueT4+KFxuICBzZWxlY3RvcjogKGVycjogYW55LCBjYXVnaHQ6IE9ic2VydmFibGU8VD4pID0+IE9cbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVCB8IE9ic2VydmVkVmFsdWVPZjxPPj47XG4vKiB0c2xpbnQ6ZW5hYmxlOm1heC1saW5lLWxlbmd0aCAqL1xuXG4vKipcbiAqIENhdGNoZXMgZXJyb3JzIG9uIHRoZSBvYnNlcnZhYmxlIHRvIGJlIGhhbmRsZWQgYnkgcmV0dXJuaW5nIGEgbmV3IG9ic2VydmFibGUgb3IgdGhyb3dpbmcgYW4gZXJyb3IuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPlxuICogSXQgb25seSBsaXN0ZW5zIHRvIHRoZSBlcnJvciBjaGFubmVsIGFuZCBpZ25vcmVzIG5vdGlmaWNhdGlvbnMuXG4gKiBIYW5kbGVzIGVycm9ycyBmcm9tIHRoZSBzb3VyY2Ugb2JzZXJ2YWJsZSwgYW5kIG1hcHMgdGhlbSB0byBhIG5ldyBvYnNlcnZhYmxlLlxuICogVGhlIGVycm9yIG1heSBhbHNvIGJlIHJldGhyb3duLCBvciBhIG5ldyBlcnJvciBjYW4gYmUgdGhyb3duIHRvIGVtaXQgYW4gZXJyb3IgZnJvbSB0aGUgcmVzdWx0LlxuICogPC9zcGFuPlxuICpcbiAqICFbXShjYXRjaC5wbmcpXG4gKlxuICogVGhpcyBvcGVyYXRvciBoYW5kbGVzIGVycm9ycywgYnV0IGZvcndhcmRzIGFsb25nIGFsbCBvdGhlciBldmVudHMgdG8gdGhlIHJlc3VsdGluZyBvYnNlcnZhYmxlLlxuICogSWYgdGhlIHNvdXJjZSBvYnNlcnZhYmxlIHRlcm1pbmF0ZXMgd2l0aCBhbiBlcnJvciwgaXQgd2lsbCBtYXAgdGhhdCBlcnJvciB0byBhIG5ldyBvYnNlcnZhYmxlLFxuICogc3Vic2NyaWJlIHRvIGl0LCBhbmQgZm9yd2FyZCBhbGwgb2YgaXRzIGV2ZW50cyB0byB0aGUgcmVzdWx0aW5nIG9ic2VydmFibGUuXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBDb250aW51ZSB3aXRoIGEgZGlmZmVyZW50IE9ic2VydmFibGUgd2hlbiB0aGVyZSdzIGFuIGVycm9yXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mLCBtYXAsIGNhdGNoRXJyb3IgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBvZigxLCAyLCAzLCA0LCA1KVxuICogICAucGlwZShcbiAqICAgICBtYXAobiA9PiB7XG4gKiAgICAgICBpZiAobiA9PT0gNCkge1xuICogICAgICAgICB0aHJvdyAnZm91ciEnO1xuICogICAgICAgfVxuICogICAgICAgcmV0dXJuIG47XG4gKiAgICAgfSksXG4gKiAgICAgY2F0Y2hFcnJvcihlcnIgPT4gb2YoJ0knLCAnSUknLCAnSUlJJywgJ0lWJywgJ1YnKSlcbiAqICAgKVxuICogICAuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogICAvLyAxLCAyLCAzLCBJLCBJSSwgSUlJLCBJViwgVlxuICogYGBgXG4gKlxuICogUmV0cnkgdGhlIGNhdWdodCBzb3VyY2UgT2JzZXJ2YWJsZSBhZ2FpbiBpbiBjYXNlIG9mIGVycm9yLCBzaW1pbGFyIHRvIGByZXRyeSgpYCBvcGVyYXRvclxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBvZiwgbWFwLCBjYXRjaEVycm9yLCB0YWtlIH0gZnJvbSAncnhqcyc7XG4gKlxuICogb2YoMSwgMiwgMywgNCwgNSlcbiAqICAgLnBpcGUoXG4gKiAgICAgbWFwKG4gPT4ge1xuICogICAgICAgaWYgKG4gPT09IDQpIHtcbiAqICAgICAgICAgdGhyb3cgJ2ZvdXIhJztcbiAqICAgICAgIH1cbiAqICAgICAgIHJldHVybiBuO1xuICogICAgIH0pLFxuICogICAgIGNhdGNoRXJyb3IoKGVyciwgY2F1Z2h0KSA9PiBjYXVnaHQpLFxuICogICAgIHRha2UoMzApXG4gKiAgIClcbiAqICAgLnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqICAgLy8gMSwgMiwgMywgMSwgMiwgMywgLi4uXG4gKiBgYGBcbiAqXG4gKiBUaHJvdyBhIG5ldyBlcnJvciB3aGVuIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB0aHJvd3MgYW4gZXJyb3JcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgb2YsIG1hcCwgY2F0Y2hFcnJvciB9IGZyb20gJ3J4anMnO1xuICpcbiAqIG9mKDEsIDIsIDMsIDQsIDUpXG4gKiAgIC5waXBlKFxuICogICAgIG1hcChuID0+IHtcbiAqICAgICAgIGlmIChuID09PSA0KSB7XG4gKiAgICAgICAgIHRocm93ICdmb3VyISc7XG4gKiAgICAgICB9XG4gKiAgICAgICByZXR1cm4gbjtcbiAqICAgICB9KSxcbiAqICAgICBjYXRjaEVycm9yKGVyciA9PiB7XG4gKiAgICAgICB0aHJvdyAnZXJyb3IgaW4gc291cmNlLiBEZXRhaWxzOiAnICsgZXJyO1xuICogICAgIH0pXG4gKiAgIClcbiAqICAgLnN1YnNjcmliZSh7XG4gKiAgICAgbmV4dDogeCA9PiBjb25zb2xlLmxvZyh4KSxcbiAqICAgICBlcnJvcjogZXJyID0+IGNvbnNvbGUubG9nKGVycilcbiAqICAgfSk7XG4gKiAgIC8vIDEsIDIsIDMsIGVycm9yIGluIHNvdXJjZS4gRGV0YWlsczogZm91ciFcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIG9uRXJyb3JSZXN1bWVOZXh0fVxuICogQHNlZSB7QGxpbmsgcmVwZWF0fVxuICogQHNlZSB7QGxpbmsgcmVwZWF0V2hlbn1cbiAqIEBzZWUge0BsaW5rIHJldHJ5IH1cbiAqIEBzZWUge0BsaW5rIHJldHJ5V2hlbn1cbiAqXG4gKiBAcGFyYW0ge2Z1bmN0aW9ufSBzZWxlY3RvciBhIGZ1bmN0aW9uIHRoYXQgdGFrZXMgYXMgYXJndW1lbnRzIGBlcnJgLCB3aGljaCBpcyB0aGUgZXJyb3IsIGFuZCBgY2F1Z2h0YCwgd2hpY2hcbiAqIGlzIHRoZSBzb3VyY2Ugb2JzZXJ2YWJsZSwgaW4gY2FzZSB5b3UnZCBsaWtlIHRvIFwicmV0cnlcIiB0aGF0IG9ic2VydmFibGUgYnkgcmV0dXJuaW5nIGl0IGFnYWluLiBXaGF0ZXZlciBvYnNlcnZhYmxlXG4gKiBpcyByZXR1cm5lZCBieSB0aGUgYHNlbGVjdG9yYCB3aWxsIGJlIHVzZWQgdG8gY29udGludWUgdGhlIG9ic2VydmFibGUgY2hhaW4uXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBvcmlnaW5hdGVzIGZyb20gZWl0aGVyXG4gKiB0aGUgc291cmNlIG9yIHRoZSBPYnNlcnZhYmxlIHJldHVybmVkIGJ5IHRoZSBgc2VsZWN0b3JgIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2F0Y2hFcnJvcjxULCBPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PGFueT4+KFxuICBzZWxlY3RvcjogKGVycjogYW55LCBjYXVnaHQ6IE9ic2VydmFibGU8VD4pID0+IE9cbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVCB8IE9ic2VydmVkVmFsdWVPZjxPPj4ge1xuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgbGV0IGlubmVyU3ViOiBTdWJzY3JpcHRpb24gfCBudWxsID0gbnVsbDtcbiAgICBsZXQgc3luY1Vuc3ViID0gZmFsc2U7XG4gICAgbGV0IGhhbmRsZWRSZXN1bHQ6IE9ic2VydmFibGU8T2JzZXJ2ZWRWYWx1ZU9mPE8+PjtcblxuICAgIGlubmVyU3ViID0gc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihzdWJzY3JpYmVyLCB1bmRlZmluZWQsIHVuZGVmaW5lZCwgKGVycikgPT4ge1xuICAgICAgICBoYW5kbGVkUmVzdWx0ID0gaW5uZXJGcm9tKHNlbGVjdG9yKGVyciwgY2F0Y2hFcnJvcihzZWxlY3Rvcikoc291cmNlKSkpO1xuICAgICAgICBpZiAoaW5uZXJTdWIpIHtcbiAgICAgICAgICBpbm5lclN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIGlubmVyU3ViID0gbnVsbDtcbiAgICAgICAgICBoYW5kbGVkUmVzdWx0LnN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBXZSBkb24ndCBoYXZlIGFuIGlubmVyU3ViIHlldCwgdGhhdCBtZWFucyB0aGUgZXJyb3Igd2FzIHN5bmNocm9ub3VzXG4gICAgICAgICAgLy8gYmVjYXVzZSB0aGUgc3Vic2NyaWJlIGNhbGwgaGFzbid0IHJldHVybmVkIHlldC5cbiAgICAgICAgICBzeW5jVW5zdWIgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBpZiAoc3luY1Vuc3ViKSB7XG4gICAgICAvLyBXZSBoYXZlIGEgc3luY2hyb25vdXMgZXJyb3IsIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRvXG4gICAgICAvLyBmaW5hbGl6ZSByaWdodCBhd2F5LiBUaGlzIGVuc3VyZXMgdGhhdCBjYWxsYmFja3MgaW4gdGhlIGBmaW5hbGl6ZWAgb3BlcmF0b3IgYXJlIGNhbGxlZFxuICAgICAgLy8gYXQgdGhlIHJpZ2h0IHRpbWUsIGFuZCB0aGF0IGZpbmFsaXphdGlvbiBvY2N1cnMgYXQgdGhlIGV4cGVjdGVkXG4gICAgICAvLyB0aW1lIGJldHdlZW4gdGhlIHNvdXJjZSBlcnJvciBhbmQgdGhlIHN1YnNjcmlwdGlvbiB0byB0aGVcbiAgICAgIC8vIG5leHQgb2JzZXJ2YWJsZS5cbiAgICAgIGlubmVyU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICBpbm5lclN1YiA9IG51bGw7XG4gICAgICBoYW5kbGVkUmVzdWx0IS5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gICAgfVxuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIgfSBmcm9tICcuL09wZXJhdG9yU3Vic2NyaWJlcic7XG5cbi8qKlxuICogQSBiYXNpYyBzY2FuIG9wZXJhdGlvbi4gVGhpcyBpcyB1c2VkIGZvciBgc2NhbmAgYW5kIGByZWR1Y2VgLlxuICogQHBhcmFtIGFjY3VtdWxhdG9yIFRoZSBhY2N1bXVsYXRvciB0byB1c2VcbiAqIEBwYXJhbSBzZWVkIFRoZSBzZWVkIHZhbHVlIGZvciB0aGUgc3RhdGUgdG8gYWNjdW11bGF0ZVxuICogQHBhcmFtIGhhc1NlZWQgV2hldGhlciBvciBub3QgYSBzZWVkIHdhcyBwcm92aWRlZFxuICogQHBhcmFtIGVtaXRPbk5leHQgV2hldGhlciBvciBub3QgdG8gZW1pdCB0aGUgc3RhdGUgb24gbmV4dFxuICogQHBhcmFtIGVtaXRCZWZvcmVDb21wbGV0ZSBXaGV0aGVyIG9yIG5vdCB0byBlbWl0IHRoZSBiZWZvcmUgY29tcGxldGlvblxuICovXG5cbmV4cG9ydCBmdW5jdGlvbiBzY2FuSW50ZXJuYWxzPFYsIEEsIFM+KFxuICBhY2N1bXVsYXRvcjogKGFjYzogViB8IEEgfCBTLCB2YWx1ZTogViwgaW5kZXg6IG51bWJlcikgPT4gQSxcbiAgc2VlZDogUyxcbiAgaGFzU2VlZDogYm9vbGVhbixcbiAgZW1pdE9uTmV4dDogYm9vbGVhbixcbiAgZW1pdEJlZm9yZUNvbXBsZXRlPzogdW5kZWZpbmVkIHwgdHJ1ZVxuKSB7XG4gIHJldHVybiAoc291cmNlOiBPYnNlcnZhYmxlPFY+LCBzdWJzY3JpYmVyOiBTdWJzY3JpYmVyPGFueT4pID0+IHtcbiAgICAvLyBXaGV0aGVyIG9yIG5vdCB3ZSBoYXZlIHN0YXRlIHlldC4gVGhpcyB3aWxsIG9ubHkgYmVcbiAgICAvLyBmYWxzZSBiZWZvcmUgdGhlIGZpcnN0IHZhbHVlIGFycml2ZXMgaWYgd2UgZGlkbid0IGdldFxuICAgIC8vIGEgc2VlZCB2YWx1ZS5cbiAgICBsZXQgaGFzU3RhdGUgPSBoYXNTZWVkO1xuICAgIC8vIFRoZSBzdGF0ZSB0aGF0IHdlJ3JlIHRyYWNraW5nLCBzdGFydGluZyB3aXRoIHRoZSBzZWVkLFxuICAgIC8vIGlmIHRoZXJlIGlzIG9uZSwgYW5kIHRoZW4gdXBkYXRlZCBieSB0aGUgcmV0dXJuIHZhbHVlXG4gICAgLy8gZnJvbSB0aGUgYWNjdW11bGF0b3Igb24gZWFjaCBlbWlzc2lvbi5cbiAgICBsZXQgc3RhdGU6IGFueSA9IHNlZWQ7XG4gICAgLy8gQW4gaW5kZXggdG8gcGFzcyB0byB0aGUgYWNjdW11bGF0b3IgZnVuY3Rpb24uXG4gICAgbGV0IGluZGV4ID0gMDtcblxuICAgIC8vIFN1YnNjcmliZSB0byBvdXIgc291cmNlLiBBbGwgZXJyb3JzIGFuZCBjb21wbGV0aW9ucyBhcmUgcGFzc2VkIHRocm91Z2guXG4gICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgLy8gQWx3YXlzIGluY3JlbWVudCB0aGUgaW5kZXguXG4gICAgICAgICAgY29uc3QgaSA9IGluZGV4Kys7XG4gICAgICAgICAgLy8gU2V0IHRoZSBzdGF0ZVxuICAgICAgICAgIHN0YXRlID0gaGFzU3RhdGVcbiAgICAgICAgICAgID8gLy8gV2UgYWxyZWFkeSBoYXZlIHN0YXRlLCBzbyB3ZSBjYW4gZ2V0IHRoZSBuZXcgc3RhdGUgZnJvbSB0aGUgYWNjdW11bGF0b3JcbiAgICAgICAgICAgICAgYWNjdW11bGF0b3Ioc3RhdGUsIHZhbHVlLCBpKVxuICAgICAgICAgICAgOiAvLyBXZSBkaWRuJ3QgaGF2ZSBzdGF0ZSB5ZXQsIGEgc2VlZCB2YWx1ZSB3YXMgbm90IHByb3ZpZGVkLCBzb1xuXG4gICAgICAgICAgICAgIC8vIHdlIHNldCB0aGUgc3RhdGUgdG8gdGhlIGZpcnN0IHZhbHVlLCBhbmQgbWFyayB0aGF0IHdlIGhhdmUgc3RhdGUgbm93XG4gICAgICAgICAgICAgICgoaGFzU3RhdGUgPSB0cnVlKSwgdmFsdWUpO1xuXG4gICAgICAgICAgLy8gTWF5YmUgc2VuZCBpdCB0byB0aGUgY29uc3VtZXIuXG4gICAgICAgICAgZW1pdE9uTmV4dCAmJiBzdWJzY3JpYmVyLm5leHQoc3RhdGUpO1xuICAgICAgICB9LFxuICAgICAgICAvLyBJZiBhbiBvbkNvbXBsZXRlIHdhcyBnaXZlbiwgY2FsbCBpdCwgb3RoZXJ3aXNlXG4gICAgICAgIC8vIGp1c3QgcGFzcyB0aHJvdWdoIHRoZSBjb21wbGV0ZSBub3RpZmljYXRpb24gdG8gdGhlIGNvbnN1bWVyLlxuICAgICAgICBlbWl0QmVmb3JlQ29tcGxldGUgJiZcbiAgICAgICAgICAoKCkgPT4ge1xuICAgICAgICAgICAgaGFzU3RhdGUgJiYgc3Vic2NyaWJlci5uZXh0KHN0YXRlKTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG4gIH07XG59XG4iLCAiaW1wb3J0IHsgc2NhbkludGVybmFscyB9IGZyb20gJy4vc2NhbkludGVybmFscyc7XG5pbXBvcnQgeyBPcGVyYXRvckZ1bmN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5cbmV4cG9ydCBmdW5jdGlvbiByZWR1Y2U8ViwgQSA9IFY+KGFjY3VtdWxhdG9yOiAoYWNjOiBBIHwgViwgdmFsdWU6IFYsIGluZGV4OiBudW1iZXIpID0+IEEpOiBPcGVyYXRvckZ1bmN0aW9uPFYsIFYgfCBBPjtcbmV4cG9ydCBmdW5jdGlvbiByZWR1Y2U8ViwgQT4oYWNjdW11bGF0b3I6IChhY2M6IEEsIHZhbHVlOiBWLCBpbmRleDogbnVtYmVyKSA9PiBBLCBzZWVkOiBBKTogT3BlcmF0b3JGdW5jdGlvbjxWLCBBPjtcbmV4cG9ydCBmdW5jdGlvbiByZWR1Y2U8ViwgQSwgUyA9IEE+KGFjY3VtdWxhdG9yOiAoYWNjOiBBIHwgUywgdmFsdWU6IFYsIGluZGV4OiBudW1iZXIpID0+IEEsIHNlZWQ6IFMpOiBPcGVyYXRvckZ1bmN0aW9uPFYsIEE+O1xuXG4vKipcbiAqIEFwcGxpZXMgYW4gYWNjdW11bGF0b3IgZnVuY3Rpb24gb3ZlciB0aGUgc291cmNlIE9ic2VydmFibGUsIGFuZCByZXR1cm5zIHRoZVxuICogYWNjdW11bGF0ZWQgcmVzdWx0IHdoZW4gdGhlIHNvdXJjZSBjb21wbGV0ZXMsIGdpdmVuIGFuIG9wdGlvbmFsIHNlZWQgdmFsdWUuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkNvbWJpbmVzIHRvZ2V0aGVyIGFsbCB2YWx1ZXMgZW1pdHRlZCBvbiB0aGUgc291cmNlLFxuICogdXNpbmcgYW4gYWNjdW11bGF0b3IgZnVuY3Rpb24gdGhhdCBrbm93cyBob3cgdG8gam9pbiBhIG5ldyBzb3VyY2UgdmFsdWUgaW50b1xuICogdGhlIGFjY3VtdWxhdGlvbiBmcm9tIHRoZSBwYXN0Ljwvc3Bhbj5cbiAqXG4gKiAhW10ocmVkdWNlLnBuZylcbiAqXG4gKiBMaWtlXG4gKiBbQXJyYXkucHJvdG90eXBlLnJlZHVjZSgpXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9BcnJheS9yZWR1Y2UpLFxuICogYHJlZHVjZWAgYXBwbGllcyBhbiBgYWNjdW11bGF0b3JgIGZ1bmN0aW9uIGFnYWluc3QgYW4gYWNjdW11bGF0aW9uIGFuZCBlYWNoXG4gKiB2YWx1ZSBvZiB0aGUgc291cmNlIE9ic2VydmFibGUgKGZyb20gdGhlIHBhc3QpIHRvIHJlZHVjZSBpdCB0byBhIHNpbmdsZVxuICogdmFsdWUsIGVtaXR0ZWQgb24gdGhlIG91dHB1dCBPYnNlcnZhYmxlLiBOb3RlIHRoYXQgYHJlZHVjZWAgd2lsbCBvbmx5IGVtaXRcbiAqIG9uZSB2YWx1ZSwgb25seSB3aGVuIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBjb21wbGV0ZXMuIEl0IGlzIGVxdWl2YWxlbnQgdG9cbiAqIGFwcGx5aW5nIG9wZXJhdG9yIHtAbGluayBzY2FufSBmb2xsb3dlZCBieSBvcGVyYXRvciB7QGxpbmsgbGFzdH0uXG4gKlxuICogUmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgYXBwbGllcyBhIHNwZWNpZmllZCBgYWNjdW11bGF0b3JgIGZ1bmN0aW9uIHRvIGVhY2hcbiAqIGl0ZW0gZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUuIElmIGEgYHNlZWRgIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlblxuICogdGhhdCB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMgdGhlIGluaXRpYWwgdmFsdWUgZm9yIHRoZSBhY2N1bXVsYXRvci4gSWYgbm8gc2VlZFxuICogdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGUgZmlyc3QgaXRlbSBvZiB0aGUgc291cmNlIGlzIHVzZWQgYXMgdGhlIHNlZWQuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIENvdW50IHRoZSBudW1iZXIgb2YgY2xpY2sgZXZlbnRzIHRoYXQgaGFwcGVuZWQgaW4gNSBzZWNvbmRzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgdGFrZVVudGlsLCBpbnRlcnZhbCwgbWFwLCByZWR1Y2UgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3NJbkZpdmVTZWNvbmRzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKVxuICogICAucGlwZSh0YWtlVW50aWwoaW50ZXJ2YWwoNTAwMCkpKTtcbiAqXG4gKiBjb25zdCBvbmVzID0gY2xpY2tzSW5GaXZlU2Vjb25kcy5waXBlKG1hcCgoKSA9PiAxKSk7XG4gKiBjb25zdCBzZWVkID0gMDtcbiAqIGNvbnN0IGNvdW50ID0gb25lcy5waXBlKHJlZHVjZSgoYWNjLCBvbmUpID0+IGFjYyArIG9uZSwgc2VlZCkpO1xuICpcbiAqIGNvdW50LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGNvdW50fVxuICogQHNlZSB7QGxpbmsgZXhwYW5kfVxuICogQHNlZSB7QGxpbmsgbWVyZ2VTY2FufVxuICogQHNlZSB7QGxpbmsgc2Nhbn1cbiAqXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKGFjYzogQSwgdmFsdWU6IFYsIGluZGV4OiBudW1iZXIpOiBBfSBhY2N1bXVsYXRvciBUaGUgYWNjdW11bGF0b3IgZnVuY3Rpb25cbiAqIGNhbGxlZCBvbiBlYWNoIHNvdXJjZSB2YWx1ZS5cbiAqIEBwYXJhbSB7QX0gW3NlZWRdIFRoZSBpbml0aWFsIGFjY3VtdWxhdGlvbiB2YWx1ZS5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGEgc2luZ2xlIHZhbHVlIHRoYXRcbiAqIGlzIHRoZSByZXN1bHQgb2YgYWNjdW11bGF0aW5nIHRoZSB2YWx1ZXMgZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWR1Y2U8ViwgQT4oYWNjdW11bGF0b3I6IChhY2M6IFYgfCBBLCB2YWx1ZTogViwgaW5kZXg6IG51bWJlcikgPT4gQSwgc2VlZD86IGFueSk6IE9wZXJhdG9yRnVuY3Rpb248ViwgViB8IEE+IHtcbiAgcmV0dXJuIG9wZXJhdGUoc2NhbkludGVybmFscyhhY2N1bXVsYXRvciwgc2VlZCwgYXJndW1lbnRzLmxlbmd0aCA+PSAyLCBmYWxzZSwgdHJ1ZSkpO1xufVxuIiwgImltcG9ydCB7IHJlZHVjZSB9IGZyb20gJy4vcmVkdWNlJztcbmltcG9ydCB7IE9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcblxuY29uc3QgYXJyUmVkdWNlciA9IChhcnI6IGFueVtdLCB2YWx1ZTogYW55KSA9PiAoYXJyLnB1c2godmFsdWUpLCBhcnIpO1xuXG4vKipcbiAqIENvbGxlY3RzIGFsbCBzb3VyY2UgZW1pc3Npb25zIGFuZCBlbWl0cyB0aGVtIGFzIGFuIGFycmF5IHdoZW4gdGhlIHNvdXJjZSBjb21wbGV0ZXMuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkdldCBhbGwgdmFsdWVzIGluc2lkZSBhbiBhcnJheSB3aGVuIHRoZSBzb3VyY2UgY29tcGxldGVzPC9zcGFuPlxuICpcbiAqICFbXSh0b0FycmF5LnBuZylcbiAqXG4gKiBgdG9BcnJheWAgd2lsbCB3YWl0IHVudGlsIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBjb21wbGV0ZXMgYmVmb3JlIGVtaXR0aW5nXG4gKiB0aGUgYXJyYXkgY29udGFpbmluZyBhbGwgZW1pc3Npb25zLiBXaGVuIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBlcnJvcnMgbm9cbiAqIGFycmF5IHdpbGwgYmUgZW1pdHRlZC5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGludGVydmFsLCB0YWtlLCB0b0FycmF5IH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3Qgc291cmNlID0gaW50ZXJ2YWwoMTAwMCk7XG4gKiBjb25zdCBleGFtcGxlID0gc291cmNlLnBpcGUoXG4gKiAgIHRha2UoMTApLFxuICogICB0b0FycmF5KClcbiAqICk7XG4gKlxuICogZXhhbXBsZS5zdWJzY3JpYmUodmFsdWUgPT4gY29uc29sZS5sb2codmFsdWUpKTtcbiAqXG4gKiAvLyBvdXRwdXQ6IFswLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5XVxuICogYGBgXG4gKlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gYXJyYXkgb2YgaXRlbXNcbiAqIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHdoZW4gc291cmNlIGNvbXBsZXRlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRvQXJyYXk8VD4oKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUW10+IHtcbiAgLy8gQmVjYXVzZSBhcnJheXMgYXJlIG11dGFibGUsIGFuZCB3ZSdyZSBtdXRhdGluZyB0aGUgYXJyYXkgaW4gdGhpc1xuICAvLyByZWR1Y2VyIHByb2Nlc3MsIHdlIGhhdmUgdG8gZW5jYXBzdWxhdGUgdGhlIGNyZWF0aW9uIG9mIHRoZSBpbml0aWFsXG4gIC8vIGFycmF5IHdpdGhpbiB0aGlzIGBvcGVyYXRlYCBmdW5jdGlvbi5cbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIHJlZHVjZShhcnJSZWR1Y2VyLCBbXSBhcyBUW10pKHNvdXJjZSkuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQsIE9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpZGVudGl0eSB9IGZyb20gJy4uL3V0aWwvaWRlbnRpdHknO1xuaW1wb3J0IHsgbWFwT25lT3JNYW55QXJncyB9IGZyb20gJy4uL3V0aWwvbWFwT25lT3JNYW55QXJncyc7XG5pbXBvcnQgeyBwaXBlIH0gZnJvbSAnLi4vdXRpbC9waXBlJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAnLi9tZXJnZU1hcCc7XG5pbXBvcnQgeyB0b0FycmF5IH0gZnJvbSAnLi90b0FycmF5JztcblxuLyoqXG4gKiBDb2xsZWN0cyBhbGwgb2YgdGhlIGlubmVyIHNvdXJjZXMgZnJvbSBzb3VyY2Ugb2JzZXJ2YWJsZS4gVGhlbiwgb25jZSB0aGVcbiAqIHNvdXJjZSBjb21wbGV0ZXMsIGpvaW5zIHRoZSB2YWx1ZXMgdXNpbmcgdGhlIGdpdmVuIHN0YXRpYy5cbiAqXG4gKiBUaGlzIGlzIHVzZWQgZm9yIHtAbGluayBjb21iaW5lTGF0ZXN0QWxsfSBhbmQge0BsaW5rIHppcEFsbH0gd2hpY2ggYm90aCBoYXZlIHRoZVxuICogc2FtZSBiZWhhdmlvciBvZiBjb2xsZWN0aW5nIGFsbCBpbm5lciBvYnNlcnZhYmxlcywgdGhlbiBvcGVyYXRpbmcgb24gdGhlbS5cbiAqXG4gKiBAcGFyYW0gam9pbkZuIFRoZSB0eXBlIG9mIHN0YXRpYyBqb2luIHRvIGFwcGx5IHRvIHRoZSBzb3VyY2VzIGNvbGxlY3RlZFxuICogQHBhcmFtIHByb2plY3QgVGhlIHByb2plY3Rpb24gZnVuY3Rpb24gdG8gYXBwbHkgdG8gdGhlIHZhbHVlcywgaWYgYW55XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBqb2luQWxsSW50ZXJuYWxzPFQsIFI+KGpvaW5GbjogKHNvdXJjZXM6IE9ic2VydmFibGVJbnB1dDxUPltdKSA9PiBPYnNlcnZhYmxlPFQ+LCBwcm9qZWN0PzogKC4uLmFyZ3M6IGFueVtdKSA9PiBSKSB7XG4gIHJldHVybiBwaXBlKFxuICAgIC8vIENvbGxlY3QgYWxsIGlubmVyIHNvdXJjZXMgaW50byBhbiBhcnJheSwgYW5kIGVtaXQgdGhlbSB3aGVuIHRoZVxuICAgIC8vIHNvdXJjZSBjb21wbGV0ZXMuXG4gICAgdG9BcnJheSgpIGFzIE9wZXJhdG9yRnVuY3Rpb248T2JzZXJ2YWJsZUlucHV0PFQ+LCBPYnNlcnZhYmxlSW5wdXQ8VD5bXT4sXG4gICAgLy8gUnVuIHRoZSBqb2luIGZ1bmN0aW9uIG9uIHRoZSBjb2xsZWN0ZWQgYXJyYXkgb2YgaW5uZXIgc291cmNlcy5cbiAgICBtZXJnZU1hcCgoc291cmNlcykgPT4gam9pbkZuKHNvdXJjZXMpKSxcbiAgICAvLyBJZiBhIHByb2plY3Rpb24gZnVuY3Rpb24gd2FzIHN1cHBsaWVkLCBhcHBseSBpdCB0byBlYWNoIHJlc3VsdC5cbiAgICBwcm9qZWN0ID8gbWFwT25lT3JNYW55QXJncyhwcm9qZWN0KSA6IChpZGVudGl0eSBhcyBhbnkpXG4gICk7XG59XG4iLCAiaW1wb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJy4uL29ic2VydmFibGUvY29tYmluZUxhdGVzdCc7XG5pbXBvcnQgeyBPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBqb2luQWxsSW50ZXJuYWxzIH0gZnJvbSAnLi9qb2luQWxsSW50ZXJuYWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVMYXRlc3RBbGw8VD4oKTogT3BlcmF0b3JGdW5jdGlvbjxPYnNlcnZhYmxlSW5wdXQ8VD4sIFRbXT47XG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUxhdGVzdEFsbDxUPigpOiBPcGVyYXRvckZ1bmN0aW9uPGFueSwgVFtdPjtcbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lTGF0ZXN0QWxsPFQsIFI+KHByb2plY3Q6ICguLi52YWx1ZXM6IFRbXSkgPT4gUik6IE9wZXJhdG9yRnVuY3Rpb248T2JzZXJ2YWJsZUlucHV0PFQ+LCBSPjtcbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lTGF0ZXN0QWxsPFI+KHByb2plY3Q6ICguLi52YWx1ZXM6IEFycmF5PGFueT4pID0+IFIpOiBPcGVyYXRvckZ1bmN0aW9uPGFueSwgUj47XG5cbi8qKlxuICogRmxhdHRlbnMgYW4gT2JzZXJ2YWJsZS1vZi1PYnNlcnZhYmxlcyBieSBhcHBseWluZyB7QGxpbmsgY29tYmluZUxhdGVzdH0gd2hlbiB0aGUgT2JzZXJ2YWJsZS1vZi1PYnNlcnZhYmxlcyBjb21wbGV0ZXMuXG4gKlxuICogYGNvbWJpbmVMYXRlc3RBbGxgIHRha2VzIGFuIE9ic2VydmFibGUgb2YgT2JzZXJ2YWJsZXMsIGFuZCBjb2xsZWN0cyBhbGwgT2JzZXJ2YWJsZXMgZnJvbSBpdC4gT25jZSB0aGUgb3V0ZXIgT2JzZXJ2YWJsZSBjb21wbGV0ZXMsXG4gKiBpdCBzdWJzY3JpYmVzIHRvIGFsbCBjb2xsZWN0ZWQgT2JzZXJ2YWJsZXMgYW5kIGNvbWJpbmVzIHRoZWlyIHZhbHVlcyB1c2luZyB0aGUge0BsaW5rIGNvbWJpbmVMYXRlc3R9IHN0cmF0ZWd5LCBzdWNoIHRoYXQ6XG4gKlxuICogKiBFdmVyeSB0aW1lIGFuIGlubmVyIE9ic2VydmFibGUgZW1pdHMsIHRoZSBvdXRwdXQgT2JzZXJ2YWJsZSBlbWl0c1xuICogKiBXaGVuIHRoZSByZXR1cm5lZCBvYnNlcnZhYmxlIGVtaXRzLCBpdCBlbWl0cyBhbGwgb2YgdGhlIGxhdGVzdCB2YWx1ZXMgYnk6XG4gKiAgICAqIElmIGEgYHByb2plY3RgIGZ1bmN0aW9uIGlzIHByb3ZpZGVkLCBpdCBpcyBjYWxsZWQgd2l0aCBlYWNoIHJlY2VudCB2YWx1ZSBmcm9tIGVhY2ggaW5uZXIgT2JzZXJ2YWJsZSBpbiB3aGF0ZXZlciBvcmRlciB0aGV5XG4gKiAgICAgIGFycml2ZWQsIGFuZCB0aGUgcmVzdWx0IG9mIHRoZSBgcHJvamVjdGAgZnVuY3Rpb24gaXMgd2hhdCBpcyBlbWl0dGVkIGJ5IHRoZSBvdXRwdXQgT2JzZXJ2YWJsZS5cbiAqICAgICogSWYgdGhlcmUgaXMgbm8gYHByb2plY3RgIGZ1bmN0aW9uLCBhbiBhcnJheSBvZiBhbGwgdGhlIG1vc3QgcmVjZW50IHZhbHVlcyBpcyBlbWl0dGVkIGJ5IHRoZSBvdXRwdXQgT2JzZXJ2YWJsZS5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogTWFwIHR3byBjbGljayBldmVudHMgdG8gYSBmaW5pdGUgaW50ZXJ2YWwgT2JzZXJ2YWJsZSwgdGhlbiBhcHBseSBgY29tYmluZUxhdGVzdEFsbGBcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCBtYXAsIGludGVydmFsLCB0YWtlLCBjb21iaW5lTGF0ZXN0QWxsIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IGhpZ2hlck9yZGVyID0gY2xpY2tzLnBpcGUoXG4gKiAgIG1hcCgoKSA9PiBpbnRlcnZhbChNYXRoLnJhbmRvbSgpICogMjAwMCkucGlwZSh0YWtlKDMpKSksXG4gKiAgIHRha2UoMilcbiAqICk7XG4gKiBjb25zdCByZXN1bHQgPSBoaWdoZXJPcmRlci5waXBlKGNvbWJpbmVMYXRlc3RBbGwoKSk7XG4gKlxuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGNvbWJpbmVMYXRlc3R9XG4gKiBAc2VlIHtAbGluayBjb21iaW5lTGF0ZXN0V2l0aH1cbiAqIEBzZWUge0BsaW5rIG1lcmdlQWxsfVxuICpcbiAqIEBwYXJhbSBwcm9qZWN0IG9wdGlvbmFsIGZ1bmN0aW9uIHRvIG1hcCB0aGUgbW9zdCByZWNlbnQgdmFsdWVzIGZyb20gZWFjaCBpbm5lciBPYnNlcnZhYmxlIGludG8gYSBuZXcgcmVzdWx0LlxuICogVGFrZXMgZWFjaCBvZiB0aGUgbW9zdCByZWNlbnQgdmFsdWVzIGZyb20gZWFjaCBjb2xsZWN0ZWQgaW5uZXIgT2JzZXJ2YWJsZSBhcyBhcmd1bWVudHMsIGluIG9yZGVyLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZmxhdHRlbnMgT2JzZXJ2YWJsZXNcbiAqIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUxhdGVzdEFsbDxSPihwcm9qZWN0PzogKC4uLnZhbHVlczogQXJyYXk8YW55PikgPT4gUikge1xuICByZXR1cm4gam9pbkFsbEludGVybmFscyhjb21iaW5lTGF0ZXN0LCBwcm9qZWN0KTtcbn1cbiIsICJpbXBvcnQgeyBjb21iaW5lTGF0ZXN0QWxsIH0gZnJvbSAnLi9jb21iaW5lTGF0ZXN0QWxsJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBSZW5hbWVkIHRvIHtAbGluayBjb21iaW5lTGF0ZXN0QWxsfS4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICovXG5leHBvcnQgY29uc3QgY29tYmluZUFsbCA9IGNvbWJpbmVMYXRlc3RBbGw7XG4iLCAiaW1wb3J0IHsgY29tYmluZUxhdGVzdEluaXQgfSBmcm9tICcuLi9vYnNlcnZhYmxlL2NvbWJpbmVMYXRlc3QnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0LCBPYnNlcnZhYmxlSW5wdXRUdXBsZSwgT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgYXJnc09yQXJnQXJyYXkgfSBmcm9tICcuLi91dGlsL2FyZ3NPckFyZ0FycmF5JztcbmltcG9ydCB7IG1hcE9uZU9yTWFueUFyZ3MgfSBmcm9tICcuLi91dGlsL21hcE9uZU9yTWFueUFyZ3MnO1xuaW1wb3J0IHsgcGlwZSB9IGZyb20gJy4uL3V0aWwvcGlwZSc7XG5pbXBvcnQgeyBwb3BSZXN1bHRTZWxlY3RvciB9IGZyb20gJy4uL3V0aWwvYXJncyc7XG5cbi8qKiBAZGVwcmVjYXRlZCBSZXBsYWNlZCB3aXRoIHtAbGluayBjb21iaW5lTGF0ZXN0V2l0aH0uIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lTGF0ZXN0PFQsIEEgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10sIFI+KFxuICBzb3VyY2VzOiBbLi4uT2JzZXJ2YWJsZUlucHV0VHVwbGU8QT5dLFxuICBwcm9qZWN0OiAoLi4udmFsdWVzOiBbVCwgLi4uQV0pID0+IFJcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgUj47XG4vKiogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCB7QGxpbmsgY29tYmluZUxhdGVzdFdpdGh9LiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguICovXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUxhdGVzdDxULCBBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLCBSPihzb3VyY2VzOiBbLi4uT2JzZXJ2YWJsZUlucHV0VHVwbGU8QT5dKTogT3BlcmF0b3JGdW5jdGlvbjxULCBbVCwgLi4uQV0+O1xuXG4vKiogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCB7QGxpbmsgY29tYmluZUxhdGVzdFdpdGh9LiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguICovXG5leHBvcnQgZnVuY3Rpb24gY29tYmluZUxhdGVzdDxULCBBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdLCBSPihcbiAgLi4uc291cmNlc0FuZFByb2plY3Q6IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPiwgKC4uLnZhbHVlczogW1QsIC4uLkFdKSA9PiBSXVxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBSPjtcbi8qKiBAZGVwcmVjYXRlZCBSZXBsYWNlZCB3aXRoIHtAbGluayBjb21iaW5lTGF0ZXN0V2l0aH0uIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lTGF0ZXN0PFQsIEEgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10sIFI+KC4uLnNvdXJjZXM6IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPl0pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFtULCAuLi5BXT47XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCB7QGxpbmsgY29tYmluZUxhdGVzdFdpdGh9LiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21iaW5lTGF0ZXN0PFQsIFI+KC4uLmFyZ3M6IChPYnNlcnZhYmxlSW5wdXQ8YW55PiB8ICgoLi4udmFsdWVzOiBhbnlbXSkgPT4gUikpW10pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIHVua25vd24+IHtcbiAgY29uc3QgcmVzdWx0U2VsZWN0b3IgPSBwb3BSZXN1bHRTZWxlY3RvcihhcmdzKTtcbiAgcmV0dXJuIHJlc3VsdFNlbGVjdG9yXG4gICAgPyBwaXBlKGNvbWJpbmVMYXRlc3QoLi4uKGFyZ3MgYXMgQXJyYXk8T2JzZXJ2YWJsZUlucHV0PGFueT4+KSksIG1hcE9uZU9yTWFueUFyZ3MocmVzdWx0U2VsZWN0b3IpKVxuICAgIDogb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgIGNvbWJpbmVMYXRlc3RJbml0KFtzb3VyY2UsIC4uLmFyZ3NPckFyZ0FycmF5KGFyZ3MpXSkoc3Vic2NyaWJlcik7XG4gICAgICB9KTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXRUdXBsZSwgT3BlcmF0b3JGdW5jdGlvbiwgQ29ucyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGNvbWJpbmVMYXRlc3QgfSBmcm9tICcuL2NvbWJpbmVMYXRlc3QnO1xuXG4vKipcbiAqIENyZWF0ZSBhbiBvYnNlcnZhYmxlIHRoYXQgY29tYmluZXMgdGhlIGxhdGVzdCB2YWx1ZXMgZnJvbSBhbGwgcGFzc2VkIG9ic2VydmFibGVzIGFuZCB0aGUgc291cmNlXG4gKiBpbnRvIGFycmF5cyBhbmQgZW1pdHMgdGhlbS5cbiAqXG4gKiBSZXR1cm5zIGFuIG9ic2VydmFibGUsIHRoYXQgd2hlbiBzdWJzY3JpYmVkIHRvLCB3aWxsIHN1YnNjcmliZSB0byB0aGUgc291cmNlIG9ic2VydmFibGUgYW5kIGFsbFxuICogc291cmNlcyBwcm92aWRlZCBhcyBhcmd1bWVudHMuIE9uY2UgYWxsIHNvdXJjZXMgZW1pdCBhdCBsZWFzdCBvbmUgdmFsdWUsIGFsbCBvZiB0aGUgbGF0ZXN0IHZhbHVlc1xuICogd2lsbCBiZSBlbWl0dGVkIGFzIGFuIGFycmF5LiBBZnRlciB0aGF0LCBldmVyeSB0aW1lIGFueSBzb3VyY2UgZW1pdHMgYSB2YWx1ZSwgYWxsIG9mIHRoZSBsYXRlc3QgdmFsdWVzXG4gKiB3aWxsIGJlIGVtaXR0ZWQgYXMgYW4gYXJyYXkuXG4gKlxuICogVGhpcyBpcyBhIHVzZWZ1bCBvcGVyYXRvciBmb3IgZWFnZXJseSBjYWxjdWxhdGluZyB2YWx1ZXMgYmFzZWQgb2ZmIG9mIGNoYW5nZWQgaW5wdXRzLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBTaW1wbGUgY29uY2F0ZW5hdGlvbiBvZiB2YWx1ZXMgZnJvbSB0d28gaW5wdXRzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgY29tYmluZUxhdGVzdFdpdGgsIG1hcCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIC8vIFNldHVwOiBBZGQgdHdvIGlucHV0cyB0byB0aGUgcGFnZVxuICogY29uc3QgaW5wdXQxID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnaW5wdXQnKTtcbiAqIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoaW5wdXQxKTtcbiAqIGNvbnN0IGlucHV0MiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2lucHV0Jyk7XG4gKiBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGlucHV0Mik7XG4gKlxuICogLy8gR2V0IHN0cmVhbXMgb2YgY2hhbmdlc1xuICogY29uc3QgaW5wdXQxQ2hhbmdlcyQgPSBmcm9tRXZlbnQoaW5wdXQxLCAnY2hhbmdlJyk7XG4gKiBjb25zdCBpbnB1dDJDaGFuZ2VzJCA9IGZyb21FdmVudChpbnB1dDIsICdjaGFuZ2UnKTtcbiAqXG4gKiAvLyBDb21iaW5lIHRoZSBjaGFuZ2VzIGJ5IGFkZGluZyB0aGVtIHRvZ2V0aGVyXG4gKiBpbnB1dDFDaGFuZ2VzJC5waXBlKFxuICogICBjb21iaW5lTGF0ZXN0V2l0aChpbnB1dDJDaGFuZ2VzJCksXG4gKiAgIG1hcCgoW2UxLCBlMl0pID0+ICg8SFRNTElucHV0RWxlbWVudD5lMS50YXJnZXQpLnZhbHVlICsgJyAtICcgKyAoPEhUTUxJbnB1dEVsZW1lbnQ+ZTIudGFyZ2V0KS52YWx1ZSlcbiAqIClcbiAqIC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gb3RoZXJTb3VyY2VzIHRoZSBvdGhlciBzb3VyY2VzIHRvIHN1YnNjcmliZSB0by5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBsYXRlc3RcbiAqIGVtaXNzaW9ucyBmcm9tIGJvdGggc291cmNlIGFuZCBwcm92aWRlZCBPYnNlcnZhYmxlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbWJpbmVMYXRlc3RXaXRoPFQsIEEgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+KFxuICAuLi5vdGhlclNvdXJjZXM6IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPl1cbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgQ29uczxULCBBPj4ge1xuICByZXR1cm4gY29tYmluZUxhdGVzdCguLi5vdGhlclNvdXJjZXMpO1xufVxuIiwgImltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAnLi9tZXJnZU1hcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQsIE9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmVkVmFsdWVPZiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuLi91dGlsL2lzRnVuY3Rpb24nO1xuXG4vKiB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGggKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXRNYXA8VCwgTyBleHRlbmRzIE9ic2VydmFibGVJbnB1dDxhbnk+PihcbiAgcHJvamVjdDogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBPXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE9ic2VydmVkVmFsdWVPZjxPPj47XG4vKiogQGRlcHJlY2F0ZWQgVGhlIGByZXN1bHRTZWxlY3RvcmAgcGFyYW1ldGVyIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gVXNlIGFuIGlubmVyIGBtYXBgIGluc3RlYWQuIERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL3Jlc3VsdFNlbGVjdG9yICovXG5leHBvcnQgZnVuY3Rpb24gY29uY2F0TWFwPFQsIE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8YW55Pj4oXG4gIHByb2plY3Q6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gTyxcbiAgcmVzdWx0U2VsZWN0b3I6IHVuZGVmaW5lZFxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBPYnNlcnZlZFZhbHVlT2Y8Tz4+O1xuLyoqIEBkZXByZWNhdGVkIFRoZSBgcmVzdWx0U2VsZWN0b3JgIHBhcmFtZXRlciB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSBhbiBpbm5lciBgbWFwYCBpbnN0ZWFkLiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9yZXN1bHRTZWxlY3RvciAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmNhdE1hcDxULCBSLCBPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PGFueT4+KFxuICBwcm9qZWN0OiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IE8sXG4gIHJlc3VsdFNlbGVjdG9yOiAob3V0ZXJWYWx1ZTogVCwgaW5uZXJWYWx1ZTogT2JzZXJ2ZWRWYWx1ZU9mPE8+LCBvdXRlckluZGV4OiBudW1iZXIsIGlubmVySW5kZXg6IG51bWJlcikgPT4gUlxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBSPjtcbi8qIHRzbGludDplbmFibGU6bWF4LWxpbmUtbGVuZ3RoICovXG5cbi8qKlxuICogUHJvamVjdHMgZWFjaCBzb3VyY2UgdmFsdWUgdG8gYW4gT2JzZXJ2YWJsZSB3aGljaCBpcyBtZXJnZWQgaW4gdGhlIG91dHB1dFxuICogT2JzZXJ2YWJsZSwgaW4gYSBzZXJpYWxpemVkIGZhc2hpb24gd2FpdGluZyBmb3IgZWFjaCBvbmUgdG8gY29tcGxldGUgYmVmb3JlXG4gKiBtZXJnaW5nIHRoZSBuZXh0LlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5NYXBzIGVhY2ggdmFsdWUgdG8gYW4gT2JzZXJ2YWJsZSwgdGhlbiBmbGF0dGVucyBhbGwgb2ZcbiAqIHRoZXNlIGlubmVyIE9ic2VydmFibGVzIHVzaW5nIHtAbGluayBjb25jYXRBbGx9Ljwvc3Bhbj5cbiAqXG4gKiAhW10oY29uY2F0TWFwLnBuZylcbiAqXG4gKiBSZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBpdGVtcyBiYXNlZCBvbiBhcHBseWluZyBhIGZ1bmN0aW9uIHRoYXQgeW91XG4gKiBzdXBwbHkgdG8gZWFjaCBpdGVtIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlLCB3aGVyZSB0aGF0IGZ1bmN0aW9uXG4gKiByZXR1cm5zIGFuIChzby1jYWxsZWQgXCJpbm5lclwiKSBPYnNlcnZhYmxlLiBFYWNoIG5ldyBpbm5lciBPYnNlcnZhYmxlIGlzXG4gKiBjb25jYXRlbmF0ZWQgd2l0aCB0aGUgcHJldmlvdXMgaW5uZXIgT2JzZXJ2YWJsZS5cbiAqXG4gKiBfX1dhcm5pbmc6X18gaWYgc291cmNlIHZhbHVlcyBhcnJpdmUgZW5kbGVzc2x5IGFuZCBmYXN0ZXIgdGhhbiB0aGVpclxuICogY29ycmVzcG9uZGluZyBpbm5lciBPYnNlcnZhYmxlcyBjYW4gY29tcGxldGUsIGl0IHdpbGwgcmVzdWx0IGluIG1lbW9yeSBpc3N1ZXNcbiAqIGFzIGlubmVyIE9ic2VydmFibGVzIGFtYXNzIGluIGFuIHVuYm91bmRlZCBidWZmZXIgd2FpdGluZyBmb3IgdGhlaXIgdHVybiB0b1xuICogYmUgc3Vic2NyaWJlZCB0by5cbiAqXG4gKiBOb3RlOiBgY29uY2F0TWFwYCBpcyBlcXVpdmFsZW50IHRvIGBtZXJnZU1hcGAgd2l0aCBjb25jdXJyZW5jeSBwYXJhbWV0ZXIgc2V0XG4gKiB0byBgMWAuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIEZvciBlYWNoIGNsaWNrIGV2ZW50LCB0aWNrIGV2ZXJ5IHNlY29uZCBmcm9tIDAgdG8gMywgd2l0aCBubyBjb25jdXJyZW5jeVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIGNvbmNhdE1hcCwgaW50ZXJ2YWwsIHRha2UgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgcmVzdWx0ID0gY2xpY2tzLnBpcGUoXG4gKiAgIGNvbmNhdE1hcChldiA9PiBpbnRlcnZhbCgxMDAwKS5waXBlKHRha2UoNCkpKVxuICogKTtcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKlxuICogLy8gUmVzdWx0cyBpbiB0aGUgZm9sbG93aW5nOlxuICogLy8gKHJlc3VsdHMgYXJlIG5vdCBjb25jdXJyZW50KVxuICogLy8gRm9yIGV2ZXJ5IGNsaWNrIG9uIHRoZSBcImRvY3VtZW50XCIgaXQgd2lsbCBlbWl0IHZhbHVlcyAwIHRvIDMgc3BhY2VkXG4gKiAvLyBvbiBhIDEwMDBtcyBpbnRlcnZhbFxuICogLy8gb25lIGNsaWNrID0gMTAwMG1zLT4gMCAtMTAwMG1zLT4gMSAtMTAwMG1zLT4gMiAtMTAwMG1zLT4gM1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgY29uY2F0fVxuICogQHNlZSB7QGxpbmsgY29uY2F0QWxsfVxuICogQHNlZSB7QGxpbmsgY29uY2F0TWFwVG99XG4gKiBAc2VlIHtAbGluayBleGhhdXN0TWFwfVxuICogQHNlZSB7QGxpbmsgbWVyZ2VNYXB9XG4gKiBAc2VlIHtAbGluayBzd2l0Y2hNYXB9XG4gKlxuICogQHBhcmFtIHtmdW5jdGlvbih2YWx1ZTogVCwgP2luZGV4OiBudW1iZXIpOiBPYnNlcnZhYmxlSW5wdXR9IHByb2plY3QgQSBmdW5jdGlvblxuICogdGhhdCwgd2hlbiBhcHBsaWVkIHRvIGFuIGl0ZW0gZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUsIHJldHVybnMgYW5cbiAqIE9ic2VydmFibGUuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgcmVzdWx0IG9mXG4gKiBhcHBseWluZyB0aGUgcHJvamVjdGlvbiBmdW5jdGlvbiAoYW5kIHRoZSBvcHRpb25hbCBkZXByZWNhdGVkXG4gKiBgcmVzdWx0U2VsZWN0b3JgKSB0byBlYWNoIGl0ZW0gZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUgYW5kIHRha2luZ1xuICogdmFsdWVzIGZyb20gZWFjaCBwcm9qZWN0ZWQgaW5uZXIgT2JzZXJ2YWJsZSBzZXF1ZW50aWFsbHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXRNYXA8VCwgUiwgTyBleHRlbmRzIE9ic2VydmFibGVJbnB1dDxhbnk+PihcbiAgcHJvamVjdDogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBPLFxuICByZXN1bHRTZWxlY3Rvcj86IChvdXRlclZhbHVlOiBULCBpbm5lclZhbHVlOiBPYnNlcnZlZFZhbHVlT2Y8Tz4sIG91dGVySW5kZXg6IG51bWJlciwgaW5uZXJJbmRleDogbnVtYmVyKSA9PiBSXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE9ic2VydmVkVmFsdWVPZjxPPiB8IFI+IHtcbiAgcmV0dXJuIGlzRnVuY3Rpb24ocmVzdWx0U2VsZWN0b3IpID8gbWVyZ2VNYXAocHJvamVjdCwgcmVzdWx0U2VsZWN0b3IsIDEpIDogbWVyZ2VNYXAocHJvamVjdCwgMSk7XG59XG4iLCAiaW1wb3J0IHsgY29uY2F0TWFwIH0gZnJvbSAnLi9jb25jYXRNYXAnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0LCBPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZlZFZhbHVlT2YgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi4vdXRpbC9pc0Z1bmN0aW9uJztcblxuLyoqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OS4gVXNlIHtAbGluayBjb25jYXRNYXB9IGluc3RlYWQ6IGBjb25jYXRNYXAoKCkgPT4gcmVzdWx0KWAgKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXRNYXBUbzxPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PHVua25vd24+PihvYnNlcnZhYmxlOiBPKTogT3BlcmF0b3JGdW5jdGlvbjx1bmtub3duLCBPYnNlcnZlZFZhbHVlT2Y8Tz4+O1xuLyoqIEBkZXByZWNhdGVkIFRoZSBgcmVzdWx0U2VsZWN0b3JgIHBhcmFtZXRlciB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSBhbiBpbm5lciBgbWFwYCBpbnN0ZWFkLiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9yZXN1bHRTZWxlY3RvciAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmNhdE1hcFRvPE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8dW5rbm93bj4+KFxuICBvYnNlcnZhYmxlOiBPLFxuICByZXN1bHRTZWxlY3RvcjogdW5kZWZpbmVkXG4pOiBPcGVyYXRvckZ1bmN0aW9uPHVua25vd24sIE9ic2VydmVkVmFsdWVPZjxPPj47XG4vKiogQGRlcHJlY2F0ZWQgVGhlIGByZXN1bHRTZWxlY3RvcmAgcGFyYW1ldGVyIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gVXNlIGFuIGlubmVyIGBtYXBgIGluc3RlYWQuIERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL3Jlc3VsdFNlbGVjdG9yICovXG5leHBvcnQgZnVuY3Rpb24gY29uY2F0TWFwVG88VCwgUiwgTyBleHRlbmRzIE9ic2VydmFibGVJbnB1dDx1bmtub3duPj4oXG4gIG9ic2VydmFibGU6IE8sXG4gIHJlc3VsdFNlbGVjdG9yOiAob3V0ZXJWYWx1ZTogVCwgaW5uZXJWYWx1ZTogT2JzZXJ2ZWRWYWx1ZU9mPE8+LCBvdXRlckluZGV4OiBudW1iZXIsIGlubmVySW5kZXg6IG51bWJlcikgPT4gUlxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBSPjtcblxuLyoqXG4gKiBQcm9qZWN0cyBlYWNoIHNvdXJjZSB2YWx1ZSB0byB0aGUgc2FtZSBPYnNlcnZhYmxlIHdoaWNoIGlzIG1lcmdlZCBtdWx0aXBsZVxuICogdGltZXMgaW4gYSBzZXJpYWxpemVkIGZhc2hpb24gb24gdGhlIG91dHB1dCBPYnNlcnZhYmxlLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5JdCdzIGxpa2Uge0BsaW5rIGNvbmNhdE1hcH0sIGJ1dCBtYXBzIGVhY2ggdmFsdWVcbiAqIGFsd2F5cyB0byB0aGUgc2FtZSBpbm5lciBPYnNlcnZhYmxlLjwvc3Bhbj5cbiAqXG4gKiAhW10oY29uY2F0TWFwVG8ucG5nKVxuICpcbiAqIE1hcHMgZWFjaCBzb3VyY2UgdmFsdWUgdG8gdGhlIGdpdmVuIE9ic2VydmFibGUgYGlubmVyT2JzZXJ2YWJsZWAgcmVnYXJkbGVzc1xuICogb2YgdGhlIHNvdXJjZSB2YWx1ZSwgYW5kIHRoZW4gZmxhdHRlbnMgdGhvc2UgcmVzdWx0aW5nIE9ic2VydmFibGVzIGludG8gb25lXG4gKiBzaW5nbGUgT2JzZXJ2YWJsZSwgd2hpY2ggaXMgdGhlIG91dHB1dCBPYnNlcnZhYmxlLiBFYWNoIG5ldyBgaW5uZXJPYnNlcnZhYmxlYFxuICogaW5zdGFuY2UgZW1pdHRlZCBvbiB0aGUgb3V0cHV0IE9ic2VydmFibGUgaXMgY29uY2F0ZW5hdGVkIHdpdGggdGhlIHByZXZpb3VzXG4gKiBgaW5uZXJPYnNlcnZhYmxlYCBpbnN0YW5jZS5cbiAqXG4gKiBfX1dhcm5pbmc6X18gaWYgc291cmNlIHZhbHVlcyBhcnJpdmUgZW5kbGVzc2x5IGFuZCBmYXN0ZXIgdGhhbiB0aGVpclxuICogY29ycmVzcG9uZGluZyBpbm5lciBPYnNlcnZhYmxlcyBjYW4gY29tcGxldGUsIGl0IHdpbGwgcmVzdWx0IGluIG1lbW9yeSBpc3N1ZXNcbiAqIGFzIGlubmVyIE9ic2VydmFibGVzIGFtYXNzIGluIGFuIHVuYm91bmRlZCBidWZmZXIgd2FpdGluZyBmb3IgdGhlaXIgdHVybiB0b1xuICogYmUgc3Vic2NyaWJlZCB0by5cbiAqXG4gKiBOb3RlOiBgY29uY2F0TWFwVG9gIGlzIGVxdWl2YWxlbnQgdG8gYG1lcmdlTWFwVG9gIHdpdGggY29uY3VycmVuY3kgcGFyYW1ldGVyXG4gKiBzZXQgdG8gYDFgLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBGb3IgZWFjaCBjbGljayBldmVudCwgdGljayBldmVyeSBzZWNvbmQgZnJvbSAwIHRvIDMsIHdpdGggbm8gY29uY3VycmVuY3lcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCBjb25jYXRNYXBUbywgaW50ZXJ2YWwsIHRha2UgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgcmVzdWx0ID0gY2xpY2tzLnBpcGUoXG4gKiAgIGNvbmNhdE1hcFRvKGludGVydmFsKDEwMDApLnBpcGUodGFrZSg0KSkpXG4gKiApO1xuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqXG4gKiAvLyBSZXN1bHRzIGluIHRoZSBmb2xsb3dpbmc6XG4gKiAvLyAocmVzdWx0cyBhcmUgbm90IGNvbmN1cnJlbnQpXG4gKiAvLyBGb3IgZXZlcnkgY2xpY2sgb24gdGhlIFwiZG9jdW1lbnRcIiBpdCB3aWxsIGVtaXQgdmFsdWVzIDAgdG8gMyBzcGFjZWRcbiAqIC8vIG9uIGEgMTAwMG1zIGludGVydmFsXG4gKiAvLyBvbmUgY2xpY2sgPSAxMDAwbXMtPiAwIC0xMDAwbXMtPiAxIC0xMDAwbXMtPiAyIC0xMDAwbXMtPiAzXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBjb25jYXR9XG4gKiBAc2VlIHtAbGluayBjb25jYXRBbGx9XG4gKiBAc2VlIHtAbGluayBjb25jYXRNYXB9XG4gKiBAc2VlIHtAbGluayBtZXJnZU1hcFRvfVxuICogQHNlZSB7QGxpbmsgc3dpdGNoTWFwVG99XG4gKlxuICogQHBhcmFtIHtPYnNlcnZhYmxlSW5wdXR9IGlubmVyT2JzZXJ2YWJsZSBBbiBPYnNlcnZhYmxlIHRvIHJlcGxhY2UgZWFjaCB2YWx1ZSBmcm9tXG4gKiB0aGUgc291cmNlIE9ic2VydmFibGUuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgb2YgdmFsdWVzIG1lcmdlZCB0b2dldGhlciBieVxuICogam9pbmluZyB0aGUgcGFzc2VkIE9ic2VydmFibGUgd2l0aCBpdHNlbGYsIG9uZSBhZnRlciB0aGUgb3RoZXIsIGZvciBlYWNoXG4gKiB2YWx1ZSBlbWl0dGVkIGZyb20gdGhlIHNvdXJjZS5cbiAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OS4gVXNlIHtAbGluayBjb25jYXRNYXB9IGluc3RlYWQ6IGBjb25jYXRNYXAoKCkgPT4gcmVzdWx0KWBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmNhdE1hcFRvPFQsIFIsIE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8dW5rbm93bj4+KFxuICBpbm5lck9ic2VydmFibGU6IE8sXG4gIHJlc3VsdFNlbGVjdG9yPzogKG91dGVyVmFsdWU6IFQsIGlubmVyVmFsdWU6IE9ic2VydmVkVmFsdWVPZjxPPiwgb3V0ZXJJbmRleDogbnVtYmVyLCBpbm5lckluZGV4OiBudW1iZXIpID0+IFJcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgT2JzZXJ2ZWRWYWx1ZU9mPE8+IHwgUj4ge1xuICByZXR1cm4gaXNGdW5jdGlvbihyZXN1bHRTZWxlY3RvcikgPyBjb25jYXRNYXAoKCkgPT4gaW5uZXJPYnNlcnZhYmxlLCByZXN1bHRTZWxlY3RvcikgOiBjb25jYXRNYXAoKCkgPT4gaW5uZXJPYnNlcnZhYmxlKTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXRUdXBsZSwgT3BlcmF0b3JGdW5jdGlvbiwgU2NoZWR1bGVyTGlrZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgY29uY2F0QWxsIH0gZnJvbSAnLi9jb25jYXRBbGwnO1xuaW1wb3J0IHsgcG9wU2NoZWR1bGVyIH0gZnJvbSAnLi4vdXRpbC9hcmdzJztcbmltcG9ydCB7IGZyb20gfSBmcm9tICcuLi9vYnNlcnZhYmxlL2Zyb20nO1xuXG4vKiogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCB7QGxpbmsgY29uY2F0V2l0aH0uIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXQ8VCwgQSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oLi4uc291cmNlczogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+XSk6IE9wZXJhdG9yRnVuY3Rpb248VCwgVCB8IEFbbnVtYmVyXT47XG4vKiogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCB7QGxpbmsgY29uY2F0V2l0aH0uIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXQ8VCwgQSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oXG4gIC4uLnNvdXJjZXNBbmRTY2hlZHVsZXI6IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPiwgU2NoZWR1bGVyTGlrZV1cbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVCB8IEFbbnVtYmVyXT47XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCB7QGxpbmsgY29uY2F0V2l0aH0uIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbmNhdDxULCBSPiguLi5hcmdzOiBhbnlbXSk6IE9wZXJhdG9yRnVuY3Rpb248VCwgUj4ge1xuICBjb25zdCBzY2hlZHVsZXIgPSBwb3BTY2hlZHVsZXIoYXJncyk7XG4gIHJldHVybiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICBjb25jYXRBbGwoKShmcm9tKFtzb3VyY2UsIC4uLmFyZ3NdLCBzY2hlZHVsZXIpKS5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGVJbnB1dFR1cGxlLCBPcGVyYXRvckZ1bmN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgY29uY2F0IH0gZnJvbSAnLi9jb25jYXQnO1xuXG4vKipcbiAqIEVtaXRzIGFsbCBvZiB0aGUgdmFsdWVzIGZyb20gdGhlIHNvdXJjZSBvYnNlcnZhYmxlLCB0aGVuLCBvbmNlIGl0IGNvbXBsZXRlcywgc3Vic2NyaWJlc1xuICogdG8gZWFjaCBvYnNlcnZhYmxlIHNvdXJjZSBwcm92aWRlZCwgb25lIGF0IGEgdGltZSwgZW1pdHRpbmcgYWxsIG9mIHRoZWlyIHZhbHVlcywgYW5kIG5vdCBzdWJzY3JpYmluZ1xuICogdG8gdGhlIG5leHQgb25lIHVudGlsIGl0IGNvbXBsZXRlcy5cbiAqXG4gKiBgY29uY2F0KGEkLCBiJCwgYyQpYCBpcyB0aGUgc2FtZSBhcyBgYSQucGlwZShjb25jYXRXaXRoKGIkLCBjJCkpYC5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogTGlzdGVuIGZvciBvbmUgbW91c2UgY2xpY2ssIHRoZW4gbGlzdGVuIGZvciBhbGwgbW91c2UgbW92ZXMuXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgbWFwLCB0YWtlLCBjb25jYXRXaXRoIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzJCA9IGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJyk7XG4gKiBjb25zdCBtb3ZlcyQgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZW1vdmUnKTtcbiAqXG4gKiBjbGlja3MkLnBpcGUoXG4gKiAgIG1hcCgoKSA9PiAnY2xpY2snKSxcbiAqICAgdGFrZSgxKSxcbiAqICAgY29uY2F0V2l0aChcbiAqICAgICBtb3ZlcyQucGlwZShcbiAqICAgICAgIG1hcCgoKSA9PiAnbW92ZScpXG4gKiAgICAgKVxuICogICApXG4gKiApXG4gKiAuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vICdjbGljaydcbiAqIC8vICdtb3ZlJ1xuICogLy8gJ21vdmUnXG4gKiAvLyAnbW92ZSdcbiAqIC8vIC4uLlxuICogYGBgXG4gKlxuICogQHBhcmFtIG90aGVyU291cmNlcyBPdGhlciBvYnNlcnZhYmxlIHNvdXJjZXMgdG8gc3Vic2NyaWJlIHRvLCBpbiBzZXF1ZW5jZSwgYWZ0ZXIgdGhlIG9yaWdpbmFsIHNvdXJjZSBpcyBjb21wbGV0ZS5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGNvbmNhdGVuYXRlc1xuICogc3Vic2NyaXB0aW9ucyB0byB0aGUgc291cmNlIGFuZCBwcm92aWRlZCBPYnNlcnZhYmxlcyBzdWJzY3JpYmluZyB0byB0aGUgbmV4dFxuICogb25seSBvbmNlIHRoZSBjdXJyZW50IHN1YnNjcmlwdGlvbiBjb21wbGV0ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25jYXRXaXRoPFQsIEEgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+KFxuICAuLi5vdGhlclNvdXJjZXM6IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPl1cbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVCB8IEFbbnVtYmVyXT4ge1xuICByZXR1cm4gY29uY2F0KC4uLm90aGVyU291cmNlcyk7XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgU3Vic2NyaWJhYmxlIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKipcbiAqIFVzZWQgdG8gY29udmVydCBhIHN1YnNjcmliYWJsZSB0byBhbiBvYnNlcnZhYmxlLlxuICpcbiAqIEN1cnJlbnRseSwgdGhpcyBpcyBvbmx5IHVzZWQgd2l0aGluIGludGVybmFscy5cbiAqXG4gKiBUT0RPOiBEaXNjdXNzIE9ic2VydmFibGVJbnB1dCBzdXBwb3J0aW5nIFwiU3Vic2NyaWJhYmxlXCIuXG4gKiBodHRwczovL2dpdGh1Yi5jb20vUmVhY3RpdmVYL3J4anMvaXNzdWVzLzU5MDlcbiAqXG4gKiBAcGFyYW0gc3Vic2NyaWJhYmxlIEEgc3Vic2NyaWJhYmxlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tU3Vic2NyaWJhYmxlPFQ+KHN1YnNjcmliYWJsZTogU3Vic2NyaWJhYmxlPFQ+KSB7XG4gIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcjogU3Vic2NyaWJlcjxUPikgPT4gc3Vic2NyaWJhYmxlLnN1YnNjcmliZShzdWJzY3JpYmVyKSk7XG59XG4iLCAiaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZUlucHV0LCBPYnNlcnZlZFZhbHVlT2YsIFN1YmplY3RMaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJy4uL1N1YmplY3QnO1xuaW1wb3J0IHsgaW5uZXJGcm9tIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9pbm5lckZyb20nO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBmcm9tU3Vic2NyaWJhYmxlIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9mcm9tU3Vic2NyaWJhYmxlJztcblxuLyoqXG4gKiBBbiBvYmplY3QgdXNlZCB0byBjb25maWd1cmUge0BsaW5rIGNvbm5lY3R9IG9wZXJhdG9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbm5lY3RDb25maWc8VD4ge1xuICAvKipcbiAgICogQSBmYWN0b3J5IGZ1bmN0aW9uIHVzZWQgdG8gY3JlYXRlIHRoZSBTdWJqZWN0IHRocm91Z2ggd2hpY2ggdGhlIHNvdXJjZVxuICAgKiBpcyBtdWx0aWNhc3QuIEJ5IGRlZmF1bHQsIHRoaXMgY3JlYXRlcyBhIHtAbGluayBTdWJqZWN0fS5cbiAgICovXG4gIGNvbm5lY3RvcjogKCkgPT4gU3ViamVjdExpa2U8VD47XG59XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgY29uZmlndXJhdGlvbiBmb3IgYGNvbm5lY3RgLlxuICovXG5jb25zdCBERUZBVUxUX0NPTkZJRzogQ29ubmVjdENvbmZpZzx1bmtub3duPiA9IHtcbiAgY29ubmVjdG9yOiAoKSA9PiBuZXcgU3ViamVjdDx1bmtub3duPigpLFxufTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIG9ic2VydmFibGUgYnkgbXVsdGljYXN0aW5nIHRoZSBzb3VyY2Ugd2l0aGluIGEgZnVuY3Rpb24gdGhhdFxuICogYWxsb3dzIHRoZSBkZXZlbG9wZXIgdG8gZGVmaW5lIHRoZSB1c2FnZSBvZiB0aGUgbXVsdGljYXN0IHByaW9yIHRvIGNvbm5lY3Rpb24uXG4gKlxuICogVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGlmIHRoZSBvYnNlcnZhYmxlIHNvdXJjZSB5b3Ugd2lzaCB0byBtdWx0aWNhc3QgY291bGRcbiAqIGJlIHN5bmNocm9ub3VzIG9yIGFzeW5jaHJvbm91cy4gVGhpcyBzZXRzIGl0IGFwYXJ0IGZyb20ge0BsaW5rIHNoYXJlfSwgd2hpY2gsIGluIHRoZVxuICogY2FzZSBvZiB0b3RhbGx5IHN5bmNocm9ub3VzIHNvdXJjZXMgd2lsbCBmYWlsIHRvIHNoYXJlIGEgc2luZ2xlIHN1YnNjcmlwdGlvbiB3aXRoXG4gKiBtdWx0aXBsZSBjb25zdW1lcnMsIGFzIGJ5IHRoZSB0aW1lIHRoZSBzdWJzY3JpcHRpb24gdG8gdGhlIHJlc3VsdCBvZiB7QGxpbmsgc2hhcmV9XG4gKiBoYXMgcmV0dXJuZWQsIGlmIHRoZSBzb3VyY2UgaXMgc3luY2hyb25vdXMgaXRzIGludGVybmFsIHJlZmVyZW5jZSBjb3VudCB3aWxsIGp1bXAgZnJvbVxuICogMCB0byAxIGJhY2sgdG8gMCBhbmQgcmVzZXQuXG4gKlxuICogVG8gdXNlIGBjb25uZWN0YCwgeW91IHByb3ZpZGUgYSBgc2VsZWN0b3JgIGZ1bmN0aW9uIHRoYXQgd2lsbCBnaXZlIHlvdVxuICogYSBtdWx0aWNhc3Qgb2JzZXJ2YWJsZSB0aGF0IGlzIG5vdCB5ZXQgY29ubmVjdGVkLiBZb3UgdGhlbiB1c2UgdGhhdCBtdWx0aWNhc3Qgb2JzZXJ2YWJsZVxuICogdG8gY3JlYXRlIGEgcmVzdWx0aW5nIG9ic2VydmFibGUgdGhhdCwgd2hlbiBzdWJzY3JpYmVkLCB3aWxsIHNldCB1cCB5b3VyIG11bHRpY2FzdC4gVGhpcyBpc1xuICogZ2VuZXJhbGx5LCBidXQgbm90IGFsd2F5cywgYWNjb21wbGlzaGVkIHdpdGgge0BsaW5rIG1lcmdlfS5cbiAqXG4gKiBOb3RlIHRoYXQgdXNpbmcgYSB7QGxpbmsgdGFrZVVudGlsfSBpbnNpZGUgb2YgYGNvbm5lY3RgJ3MgYHNlbGVjdG9yYCBfbWlnaHRfIG1lYW4geW91IHdlcmUgbG9va2luZ1xuICogdG8gdXNlIHRoZSB7QGxpbmsgdGFrZVdoaWxlfSBvcGVyYXRvciBpbnN0ZWFkLlxuICpcbiAqIFdoZW4geW91IHN1YnNjcmliZSB0byB0aGUgcmVzdWx0IG9mIGBjb25uZWN0YCwgdGhlIGBzZWxlY3RvcmAgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQuIEFmdGVyXG4gKiB0aGUgYHNlbGVjdG9yYCBmdW5jdGlvbiByZXR1cm5zLCB0aGUgb2JzZXJ2YWJsZSBpdCByZXR1cm5zIHdpbGwgYmUgc3Vic2NyaWJlZCB0bywgX3RoZW5fIHRoZVxuICogbXVsdGljYXN0IHdpbGwgYmUgY29ubmVjdGVkIHRvIHRoZSBzb3VyY2UuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIFNoYXJpbmcgYSB0b3RhbGx5IHN5bmNocm9ub3VzIG9ic2VydmFibGVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgb2YsIHRhcCwgY29ubmVjdCwgbWVyZ2UsIG1hcCwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3Qgc291cmNlJCA9IG9mKDEsIDIsIDMsIDQsIDUpLnBpcGUoXG4gKiAgIHRhcCh7XG4gKiAgICAgc3Vic2NyaWJlOiAoKSA9PiBjb25zb2xlLmxvZygnc3Vic2NyaXB0aW9uIHN0YXJ0ZWQnKSxcbiAqICAgICBuZXh0OiBuID0+IGNvbnNvbGUubG9nKGBzb3VyY2UgZW1pdHRlZCAkeyBuIH1gKVxuICogICB9KVxuICogKTtcbiAqXG4gKiBzb3VyY2UkLnBpcGUoXG4gKiAgIC8vIE5vdGljZSBpbiBoZXJlIHdlJ3JlIG1lcmdpbmcgMyBzdWJzY3JpcHRpb25zIHRvIGBzaGFyZWQkYC5cbiAqICAgY29ubmVjdChzaGFyZWQkID0+IG1lcmdlKFxuICogICAgIHNoYXJlZCQucGlwZShtYXAobiA9PiBgYWxsICR7IG4gfWApKSxcbiAqICAgICBzaGFyZWQkLnBpcGUoZmlsdGVyKG4gPT4gbiAlIDIgPT09IDApLCBtYXAobiA9PiBgZXZlbiAkeyBuIH1gKSksXG4gKiAgICAgc2hhcmVkJC5waXBlKGZpbHRlcihuID0+IG4gJSAyID09PSAxKSwgbWFwKG4gPT4gYG9kZCAkeyBuIH1gKSlcbiAqICAgKSlcbiAqIClcbiAqIC5zdWJzY3JpYmUoY29uc29sZS5sb2cpO1xuICpcbiAqIC8vIEV4cGVjdGVkIG91dHB1dDogKG5vdGljZSBvbmx5IG9uZSBzdWJzY3JpcHRpb24pXG4gKiAnc3Vic2NyaXB0aW9uIHN0YXJ0ZWQnXG4gKiAnc291cmNlIGVtaXR0ZWQgMSdcbiAqICdhbGwgMSdcbiAqICdvZGQgMSdcbiAqICdzb3VyY2UgZW1pdHRlZCAyJ1xuICogJ2FsbCAyJ1xuICogJ2V2ZW4gMidcbiAqICdzb3VyY2UgZW1pdHRlZCAzJ1xuICogJ2FsbCAzJ1xuICogJ29kZCAzJ1xuICogJ3NvdXJjZSBlbWl0dGVkIDQnXG4gKiAnYWxsIDQnXG4gKiAnZXZlbiA0J1xuICogJ3NvdXJjZSBlbWl0dGVkIDUnXG4gKiAnYWxsIDUnXG4gKiAnb2RkIDUnXG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gc2VsZWN0b3IgQSBmdW5jdGlvbiB1c2VkIHRvIHNldCB1cCB0aGUgbXVsdGljYXN0LiBHaXZlcyB5b3UgYSBtdWx0aWNhc3Qgb2JzZXJ2YWJsZVxuICogdGhhdCBpcyBub3QgeWV0IGNvbm5lY3RlZC4gV2l0aCB0aGF0LCB5b3UncmUgZXhwZWN0ZWQgdG8gY3JlYXRlIGFuZCByZXR1cm5cbiAqIGFuZCBPYnNlcnZhYmxlLCB0aGF0IHdoZW4gc3Vic2NyaWJlZCB0bywgd2lsbCB1dGlsaXplIHRoZSBtdWx0aWNhc3Qgb2JzZXJ2YWJsZS5cbiAqIEFmdGVyIHRoaXMgZnVuY3Rpb24gaXMgZXhlY3V0ZWQgLS0gYW5kIGl0cyByZXR1cm4gdmFsdWUgc3Vic2NyaWJlZCB0byAtLSB0aGVcbiAqIG9wZXJhdG9yIHdpbGwgc3Vic2NyaWJlIHRvIHRoZSBzb3VyY2UsIGFuZCB0aGUgY29ubmVjdGlvbiB3aWxsIGJlIG1hZGUuXG4gKiBAcGFyYW0gY29uZmlnIFRoZSBjb25maWd1cmF0aW9uIG9iamVjdCBmb3IgYGNvbm5lY3RgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29ubmVjdDxULCBPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PHVua25vd24+PihcbiAgc2VsZWN0b3I6IChzaGFyZWQ6IE9ic2VydmFibGU8VD4pID0+IE8sXG4gIGNvbmZpZzogQ29ubmVjdENvbmZpZzxUPiA9IERFRkFVTFRfQ09ORklHXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE9ic2VydmVkVmFsdWVPZjxPPj4ge1xuICBjb25zdCB7IGNvbm5lY3RvciB9ID0gY29uZmlnO1xuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgY29uc3Qgc3ViamVjdCA9IGNvbm5lY3RvcigpO1xuICAgIGlubmVyRnJvbShzZWxlY3Rvcihmcm9tU3Vic2NyaWJhYmxlKHN1YmplY3QpKSkuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICAgIHN1YnNjcmliZXIuYWRkKHNvdXJjZS5zdWJzY3JpYmUoc3ViamVjdCkpO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBPcGVyYXRvckZ1bmN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgcmVkdWNlIH0gZnJvbSAnLi9yZWR1Y2UnO1xuXG4vKipcbiAqIENvdW50cyB0aGUgbnVtYmVyIG9mIGVtaXNzaW9ucyBvbiB0aGUgc291cmNlIGFuZCBlbWl0cyB0aGF0IG51bWJlciB3aGVuIHRoZVxuICogc291cmNlIGNvbXBsZXRlcy5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+VGVsbHMgaG93IG1hbnkgdmFsdWVzIHdlcmUgZW1pdHRlZCwgd2hlbiB0aGUgc291cmNlXG4gKiBjb21wbGV0ZXMuPC9zcGFuPlxuICpcbiAqICFbXShjb3VudC5wbmcpXG4gKlxuICogYGNvdW50YCB0cmFuc2Zvcm1zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB2YWx1ZXMgaW50byBhbiBPYnNlcnZhYmxlIHRoYXRcbiAqIGVtaXRzIGEgc2luZ2xlIHZhbHVlIHRoYXQgcmVwcmVzZW50cyB0aGUgbnVtYmVyIG9mIHZhbHVlcyBlbWl0dGVkIGJ5IHRoZVxuICogc291cmNlIE9ic2VydmFibGUuIElmIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB0ZXJtaW5hdGVzIHdpdGggYW4gZXJyb3IsIGBjb3VudGBcbiAqIHdpbGwgcGFzcyB0aGlzIGVycm9yIG5vdGlmaWNhdGlvbiBhbG9uZyB3aXRob3V0IGVtaXR0aW5nIGEgdmFsdWUgZmlyc3QuIElmXG4gKiB0aGUgc291cmNlIE9ic2VydmFibGUgZG9lcyBub3QgdGVybWluYXRlIGF0IGFsbCwgYGNvdW50YCB3aWxsIG5laXRoZXIgZW1pdFxuICogYSB2YWx1ZSBub3IgdGVybWluYXRlLiBUaGlzIG9wZXJhdG9yIHRha2VzIGFuIG9wdGlvbmFsIGBwcmVkaWNhdGVgIGZ1bmN0aW9uXG4gKiBhcyBhcmd1bWVudCwgaW4gd2hpY2ggY2FzZSB0aGUgb3V0cHV0IGVtaXNzaW9uIHdpbGwgcmVwcmVzZW50IHRoZSBudW1iZXIgb2ZcbiAqIHNvdXJjZSB2YWx1ZXMgdGhhdCBtYXRjaGVkIGB0cnVlYCB3aXRoIHRoZSBgcHJlZGljYXRlYC5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIENvdW50cyBob3cgbWFueSBzZWNvbmRzIGhhdmUgcGFzc2VkIGJlZm9yZSB0aGUgZmlyc3QgY2xpY2sgaGFwcGVuZWRcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaW50ZXJ2YWwsIGZyb21FdmVudCwgdGFrZVVudGlsLCBjb3VudCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHNlY29uZHMgPSBpbnRlcnZhbCgxMDAwKTtcbiAqIGNvbnN0IGNsaWNrcyA9IGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJyk7XG4gKiBjb25zdCBzZWNvbmRzQmVmb3JlQ2xpY2sgPSBzZWNvbmRzLnBpcGUodGFrZVVudGlsKGNsaWNrcykpO1xuICogY29uc3QgcmVzdWx0ID0gc2Vjb25kc0JlZm9yZUNsaWNrLnBpcGUoY291bnQoKSk7XG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogQ291bnRzIGhvdyBtYW55IG9kZCBudW1iZXJzIGFyZSB0aGVyZSBiZXR3ZWVuIDEgYW5kIDdcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgcmFuZ2UsIGNvdW50IH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgbnVtYmVycyA9IHJhbmdlKDEsIDcpO1xuICogY29uc3QgcmVzdWx0ID0gbnVtYmVycy5waXBlKGNvdW50KGkgPT4gaSAlIDIgPT09IDEpKTtcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiAvLyBSZXN1bHRzIGluOlxuICogLy8gNFxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgbWF4fVxuICogQHNlZSB7QGxpbmsgbWlufVxuICogQHNlZSB7QGxpbmsgcmVkdWNlfVxuICpcbiAqIEBwYXJhbSBwcmVkaWNhdGUgQSBmdW5jdGlvbiB0aGF0IGlzIHVzZWQgdG8gYW5hbHl6ZSB0aGUgdmFsdWUgYW5kIHRoZSBpbmRleCBhbmRcbiAqIGRldGVybWluZSB3aGV0aGVyIG9yIG5vdCB0byBpbmNyZW1lbnQgdGhlIGNvdW50LiBSZXR1cm4gYHRydWVgIHRvIGluY3JlbWVudCB0aGUgY291bnQsXG4gKiBhbmQgcmV0dXJuIGBmYWxzZWAgdG8ga2VlcCB0aGUgY291bnQgdGhlIHNhbWUuXG4gKiBJZiB0aGUgcHJlZGljYXRlIGlzIG5vdCBwcm92aWRlZCwgZXZlcnkgdmFsdWUgd2lsbCBiZSBjb3VudGVkLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgb25lIG51bWJlciB0aGF0XG4gKiByZXByZXNlbnRzIHRoZSBjb3VudCBvZiBlbWlzc2lvbnMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb3VudDxUPihwcmVkaWNhdGU/OiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IGJvb2xlYW4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIG51bWJlcj4ge1xuICByZXR1cm4gcmVkdWNlKCh0b3RhbCwgdmFsdWUsIGkpID0+ICghcHJlZGljYXRlIHx8IHByZWRpY2F0ZSh2YWx1ZSwgaSkgPyB0b3RhbCArIDEgOiB0b3RhbCksIDApO1xufVxuIiwgImltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuLi9TdWJzY3JpYmVyJztcbmltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vdXRpbC9ub29wJztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcbmltcG9ydCB7IGlubmVyRnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvaW5uZXJGcm9tJztcblxuLyoqXG4gKiBFbWl0cyBhIG5vdGlmaWNhdGlvbiBmcm9tIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBvbmx5IGFmdGVyIGEgcGFydGljdWxhciB0aW1lIHNwYW5cbiAqIGRldGVybWluZWQgYnkgYW5vdGhlciBPYnNlcnZhYmxlIGhhcyBwYXNzZWQgd2l0aG91dCBhbm90aGVyIHNvdXJjZSBlbWlzc2lvbi5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+SXQncyBsaWtlIHtAbGluayBkZWJvdW5jZVRpbWV9LCBidXQgdGhlIHRpbWUgc3BhbiBvZlxuICogZW1pc3Npb24gc2lsZW5jZSBpcyBkZXRlcm1pbmVkIGJ5IGEgc2Vjb25kIE9ic2VydmFibGUuPC9zcGFuPlxuICpcbiAqICFbXShkZWJvdW5jZS5zdmcpXG4gKlxuICogYGRlYm91bmNlYCBkZWxheXMgbm90aWZpY2F0aW9ucyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSwgYnV0IGRyb3BzIHByZXZpb3VzXG4gKiBwZW5kaW5nIGRlbGF5ZWQgZW1pc3Npb25zIGlmIGEgbmV3IG5vdGlmaWNhdGlvbiBhcnJpdmVzIG9uIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS5cbiAqIFRoaXMgb3BlcmF0b3Iga2VlcHMgdHJhY2sgb2YgdGhlIG1vc3QgcmVjZW50IG5vdGlmaWNhdGlvbiBmcm9tIHRoZSBzb3VyY2VcbiAqIE9ic2VydmFibGUsIGFuZCBzcGF3bnMgYSBkdXJhdGlvbiBPYnNlcnZhYmxlIGJ5IGNhbGxpbmcgdGhlXG4gKiBgZHVyYXRpb25TZWxlY3RvcmAgZnVuY3Rpb24uIFRoZSBub3RpZmljYXRpb24gaXMgZW1pdHRlZCBvbmx5IHdoZW4gdGhlIGR1cmF0aW9uXG4gKiBPYnNlcnZhYmxlIGVtaXRzIGEgbmV4dCBub3RpZmljYXRpb24sIGFuZCBpZiBubyBvdGhlciBub3RpZmljYXRpb24gd2FzIGVtaXR0ZWQgb25cbiAqIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBzaW5jZSB0aGUgZHVyYXRpb24gT2JzZXJ2YWJsZSB3YXMgc3Bhd25lZC4gSWYgYSBuZXdcbiAqIG5vdGlmaWNhdGlvbiBhcHBlYXJzIGJlZm9yZSB0aGUgZHVyYXRpb24gT2JzZXJ2YWJsZSBlbWl0cywgdGhlIHByZXZpb3VzIG5vdGlmaWNhdGlvbiB3aWxsXG4gKiBub3QgYmUgZW1pdHRlZCBhbmQgYSBuZXcgZHVyYXRpb24gaXMgc2NoZWR1bGVkIGZyb20gYGR1cmF0aW9uU2VsZWN0b3JgIGlzIHNjaGVkdWxlZC5cbiAqIElmIHRoZSBjb21wbGV0aW5nIGV2ZW50IGhhcHBlbnMgZHVyaW5nIHRoZSBzY2hlZHVsZWQgZHVyYXRpb24gdGhlIGxhc3QgY2FjaGVkIG5vdGlmaWNhdGlvblxuICogaXMgZW1pdHRlZCBiZWZvcmUgdGhlIGNvbXBsZXRpb24gZXZlbnQgaXMgZm9yd2FyZGVkIHRvIHRoZSBvdXRwdXQgb2JzZXJ2YWJsZS5cbiAqIElmIHRoZSBlcnJvciBldmVudCBoYXBwZW5zIGR1cmluZyB0aGUgc2NoZWR1bGVkIGR1cmF0aW9uIG9yIGFmdGVyIGl0IG9ubHkgdGhlIGVycm9yIGV2ZW50IGlzXG4gKiBmb3J3YXJkZWQgdG8gdGhlIG91dHB1dCBvYnNlcnZhYmxlLiBUaGUgY2FjaGUgbm90aWZpY2F0aW9uIGlzIG5vdCBlbWl0dGVkIGluIHRoaXMgY2FzZS5cbiAqXG4gKiBMaWtlIHtAbGluayBkZWJvdW5jZVRpbWV9LCB0aGlzIGlzIGEgcmF0ZS1saW1pdGluZyBvcGVyYXRvciwgYW5kIGFsc28gYVxuICogZGVsYXktbGlrZSBvcGVyYXRvciBzaW5jZSBvdXRwdXQgZW1pc3Npb25zIGRvIG5vdCBuZWNlc3NhcmlseSBvY2N1ciBhdCB0aGVcbiAqIHNhbWUgdGltZSBhcyB0aGV5IGRpZCBvbiB0aGUgc291cmNlIE9ic2VydmFibGUuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIEVtaXQgdGhlIG1vc3QgcmVjZW50IGNsaWNrIGFmdGVyIGEgYnVyc3Qgb2YgY2xpY2tzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgc2NhbiwgZGVib3VuY2UsIGludGVydmFsIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGNsaWNrcy5waXBlKFxuICogICBzY2FuKGkgPT4gKytpLCAxKSxcbiAqICAgZGVib3VuY2UoaSA9PiBpbnRlcnZhbCgyMDAgKiBpKSlcbiAqICk7XG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgYXVkaXR9XG4gKiBAc2VlIHtAbGluayBhdWRpdFRpbWV9XG4gKiBAc2VlIHtAbGluayBkZWJvdW5jZVRpbWV9XG4gKiBAc2VlIHtAbGluayBkZWxheX1cbiAqIEBzZWUge0BsaW5rIHNhbXBsZX1cbiAqIEBzZWUge0BsaW5rIHNhbXBsZVRpbWV9XG4gKiBAc2VlIHtAbGluayB0aHJvdHRsZX1cbiAqIEBzZWUge0BsaW5rIHRocm90dGxlVGltZX1cbiAqXG4gKiBAcGFyYW0gZHVyYXRpb25TZWxlY3RvciBBIGZ1bmN0aW9uXG4gKiB0aGF0IHJlY2VpdmVzIGEgdmFsdWUgZnJvbSB0aGUgc291cmNlIE9ic2VydmFibGUsIGZvciBjb21wdXRpbmcgdGhlIHRpbWVvdXRcbiAqIGR1cmF0aW9uIGZvciBlYWNoIHNvdXJjZSB2YWx1ZSwgcmV0dXJuZWQgYXMgYW4gT2JzZXJ2YWJsZSBvciBhIFByb21pc2UuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBkZWxheXMgdGhlIGVtaXNzaW9ucyBvZlxuICogdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGJ5IHRoZSBzcGVjaWZpZWQgZHVyYXRpb24gT2JzZXJ2YWJsZSByZXR1cm5lZCBieVxuICogYGR1cmF0aW9uU2VsZWN0b3JgLCBhbmQgbWF5IGRyb3Agc29tZSB2YWx1ZXMgaWYgdGhleSBvY2N1ciB0b28gZnJlcXVlbnRseS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlYm91bmNlPFQ+KGR1cmF0aW9uU2VsZWN0b3I6ICh2YWx1ZTogVCkgPT4gT2JzZXJ2YWJsZUlucHV0PGFueT4pOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgbGV0IGhhc1ZhbHVlID0gZmFsc2U7XG4gICAgbGV0IGxhc3RWYWx1ZTogVCB8IG51bGwgPSBudWxsO1xuICAgIC8vIFRoZSBzdWJzY3JpYmVyL3N1YnNjcmlwdGlvbiBmb3IgdGhlIGN1cnJlbnQgZGVib3VuY2UsIGlmIHRoZXJlIGlzIG9uZS5cbiAgICBsZXQgZHVyYXRpb25TdWJzY3JpYmVyOiBTdWJzY3JpYmVyPGFueT4gfCBudWxsID0gbnVsbDtcblxuICAgIGNvbnN0IGVtaXQgPSAoKSA9PiB7XG4gICAgICAvLyBVbnN1YnNjcmliZSBhbnkgY3VycmVudCBkZWJvdW5jZSBzdWJzY3JpcHRpb24gd2UgaGF2ZSxcbiAgICAgIC8vIHdlIG9ubHkgY2FyZWQgYWJvdXQgdGhlIGZpcnN0IG5vdGlmaWNhdGlvbiBmcm9tIGl0LCBhbmQgd2VcbiAgICAgIC8vIHdhbnQgdG8gY2xlYW4gdGhhdCBzdWJzY3JpcHRpb24gdXAgYXMgc29vbiBhcyBwb3NzaWJsZS5cbiAgICAgIGR1cmF0aW9uU3Vic2NyaWJlcj8udW5zdWJzY3JpYmUoKTtcbiAgICAgIGR1cmF0aW9uU3Vic2NyaWJlciA9IG51bGw7XG4gICAgICBpZiAoaGFzVmFsdWUpIHtcbiAgICAgICAgLy8gV2UgaGF2ZSBhIHZhbHVlISBGcmVlIHVwIG1lbW9yeSBmaXJzdCwgdGhlbiBlbWl0IHRoZSB2YWx1ZS5cbiAgICAgICAgaGFzVmFsdWUgPSBmYWxzZTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBsYXN0VmFsdWUhO1xuICAgICAgICBsYXN0VmFsdWUgPSBudWxsO1xuICAgICAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgICBzdWJzY3JpYmVyLFxuICAgICAgICAodmFsdWU6IFQpID0+IHtcbiAgICAgICAgICAvLyBDYW5jZWwgYW55IHBlbmRpbmcgZGVib3VuY2UgZHVyYXRpb24uIFdlIGRvbid0XG4gICAgICAgICAgLy8gbmVlZCB0byBudWxsIGl0IG91dCBoZXJlIHlldCB0aG8sIGJlY2F1c2Ugd2UncmUganVzdCBnb2luZ1xuICAgICAgICAgIC8vIHRvIGNyZWF0ZSBhbm90aGVyIG9uZSBpbiBhIGZldyBsaW5lcy5cbiAgICAgICAgICBkdXJhdGlvblN1YnNjcmliZXI/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgaGFzVmFsdWUgPSB0cnVlO1xuICAgICAgICAgIGxhc3RWYWx1ZSA9IHZhbHVlO1xuICAgICAgICAgIC8vIENhcHR1cmUgb3VyIGR1cmF0aW9uIHN1YnNjcmliZXIsIHNvIHdlIGNhbiB1bnN1YnNjcmliZSBpdCB3aGVuIHdlJ3JlIG5vdGlmaWVkXG4gICAgICAgICAgLy8gYW5kIHdlJ3JlIGdvaW5nIHRvIGVtaXQgdGhlIHZhbHVlLlxuICAgICAgICAgIGR1cmF0aW9uU3Vic2NyaWJlciA9IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihzdWJzY3JpYmVyLCBlbWl0LCBub29wKTtcbiAgICAgICAgICAvLyBTdWJzY3JpYmUgdG8gdGhlIGR1cmF0aW9uLlxuICAgICAgICAgIGlubmVyRnJvbShkdXJhdGlvblNlbGVjdG9yKHZhbHVlKSkuc3Vic2NyaWJlKGR1cmF0aW9uU3Vic2NyaWJlcik7XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICAvLyBTb3VyY2UgY29tcGxldGVkLlxuICAgICAgICAgIC8vIEVtaXQgYW55IHBlbmRpbmcgZGVib3VuY2VkIHZhbHVlcyB0aGVuIGNvbXBsZXRlXG4gICAgICAgICAgZW1pdCgpO1xuICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSxcbiAgICAgICAgLy8gUGFzcyBhbGwgZXJyb3JzIHRocm91Z2ggdG8gY29uc3VtZXJcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgLy8gRmluYWxpemF0aW9uLlxuICAgICAgICAgIGxhc3RWYWx1ZSA9IGR1cmF0aW9uU3Vic2NyaWJlciA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBhc3luY1NjaGVkdWxlciB9IGZyb20gJy4uL3NjaGVkdWxlci9hc3luYyc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBTY2hlZHVsZXJBY3Rpb24sIFNjaGVkdWxlckxpa2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuLyoqXG4gKiBFbWl0cyBhIG5vdGlmaWNhdGlvbiBmcm9tIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBvbmx5IGFmdGVyIGEgcGFydGljdWxhciB0aW1lIHNwYW5cbiAqIGhhcyBwYXNzZWQgd2l0aG91dCBhbm90aGVyIHNvdXJjZSBlbWlzc2lvbi5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+SXQncyBsaWtlIHtAbGluayBkZWxheX0sIGJ1dCBwYXNzZXMgb25seSB0aGUgbW9zdFxuICogcmVjZW50IG5vdGlmaWNhdGlvbiBmcm9tIGVhY2ggYnVyc3Qgb2YgZW1pc3Npb25zLjwvc3Bhbj5cbiAqXG4gKiAhW10oZGVib3VuY2VUaW1lLnBuZylcbiAqXG4gKiBgZGVib3VuY2VUaW1lYCBkZWxheXMgbm90aWZpY2F0aW9ucyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSwgYnV0IGRyb3BzXG4gKiBwcmV2aW91cyBwZW5kaW5nIGRlbGF5ZWQgZW1pc3Npb25zIGlmIGEgbmV3IG5vdGlmaWNhdGlvbiBhcnJpdmVzIG9uIHRoZSBzb3VyY2VcbiAqIE9ic2VydmFibGUuIFRoaXMgb3BlcmF0b3Iga2VlcHMgdHJhY2sgb2YgdGhlIG1vc3QgcmVjZW50IG5vdGlmaWNhdGlvbiBmcm9tIHRoZVxuICogc291cmNlIE9ic2VydmFibGUsIGFuZCBlbWl0cyB0aGF0IG9ubHkgd2hlbiBgZHVlVGltZWAgaGFzIHBhc3NlZFxuICogd2l0aG91dCBhbnkgb3RoZXIgbm90aWZpY2F0aW9uIGFwcGVhcmluZyBvbiB0aGUgc291cmNlIE9ic2VydmFibGUuIElmIGEgbmV3IHZhbHVlXG4gKiBhcHBlYXJzIGJlZm9yZSBgZHVlVGltZWAgc2lsZW5jZSBvY2N1cnMsIHRoZSBwcmV2aW91cyBub3RpZmljYXRpb24gd2lsbCBiZSBkcm9wcGVkXG4gKiBhbmQgd2lsbCBub3QgYmUgZW1pdHRlZCBhbmQgYSBuZXcgYGR1ZVRpbWVgIGlzIHNjaGVkdWxlZC5cbiAqIElmIHRoZSBjb21wbGV0aW5nIGV2ZW50IGhhcHBlbnMgZHVyaW5nIGBkdWVUaW1lYCB0aGUgbGFzdCBjYWNoZWQgbm90aWZpY2F0aW9uXG4gKiBpcyBlbWl0dGVkIGJlZm9yZSB0aGUgY29tcGxldGlvbiBldmVudCBpcyBmb3J3YXJkZWQgdG8gdGhlIG91dHB1dCBvYnNlcnZhYmxlLlxuICogSWYgdGhlIGVycm9yIGV2ZW50IGhhcHBlbnMgZHVyaW5nIGBkdWVUaW1lYCBvciBhZnRlciBpdCBvbmx5IHRoZSBlcnJvciBldmVudCBpc1xuICogZm9yd2FyZGVkIHRvIHRoZSBvdXRwdXQgb2JzZXJ2YWJsZS4gVGhlIGNhY2hlIG5vdGlmaWNhdGlvbiBpcyBub3QgZW1pdHRlZCBpbiB0aGlzIGNhc2UuXG4gKlxuICogVGhpcyBpcyBhIHJhdGUtbGltaXRpbmcgb3BlcmF0b3IsIGJlY2F1c2UgaXQgaXMgaW1wb3NzaWJsZSBmb3IgbW9yZSB0aGFuIG9uZVxuICogbm90aWZpY2F0aW9uIHRvIGJlIGVtaXR0ZWQgaW4gYW55IHRpbWUgd2luZG93IG9mIGR1cmF0aW9uIGBkdWVUaW1lYCwgYnV0IGl0IGlzIGFsc29cbiAqIGEgZGVsYXktbGlrZSBvcGVyYXRvciBzaW5jZSBvdXRwdXQgZW1pc3Npb25zIGRvIG5vdCBvY2N1ciBhdCB0aGUgc2FtZSB0aW1lIGFzXG4gKiB0aGV5IGRpZCBvbiB0aGUgc291cmNlIE9ic2VydmFibGUuIE9wdGlvbmFsbHkgdGFrZXMgYSB7QGxpbmsgU2NoZWR1bGVyTGlrZX0gZm9yXG4gKiBtYW5hZ2luZyB0aW1lcnMuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIEVtaXQgdGhlIG1vc3QgcmVjZW50IGNsaWNrIGFmdGVyIGEgYnVyc3Qgb2YgY2xpY2tzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGNsaWNrcy5waXBlKGRlYm91bmNlVGltZSgxMDAwKSk7XG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgYXVkaXR9XG4gKiBAc2VlIHtAbGluayBhdWRpdFRpbWV9XG4gKiBAc2VlIHtAbGluayBkZWJvdW5jZX1cbiAqIEBzZWUge0BsaW5rIHNhbXBsZX1cbiAqIEBzZWUge0BsaW5rIHNhbXBsZVRpbWV9XG4gKiBAc2VlIHtAbGluayB0aHJvdHRsZX1cbiAqIEBzZWUge0BsaW5rIHRocm90dGxlVGltZX1cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gZHVlVGltZSBUaGUgdGltZW91dCBkdXJhdGlvbiBpbiBtaWxsaXNlY29uZHMgKG9yIHRoZSB0aW1lXG4gKiB1bml0IGRldGVybWluZWQgaW50ZXJuYWxseSBieSB0aGUgb3B0aW9uYWwgYHNjaGVkdWxlcmApIGZvciB0aGUgd2luZG93IG9mXG4gKiB0aW1lIHJlcXVpcmVkIHRvIHdhaXQgZm9yIGVtaXNzaW9uIHNpbGVuY2UgYmVmb3JlIGVtaXR0aW5nIHRoZSBtb3N0IHJlY2VudFxuICogc291cmNlIHZhbHVlLlxuICogQHBhcmFtIHtTY2hlZHVsZXJMaWtlfSBbc2NoZWR1bGVyPWFzeW5jXSBUaGUge0BsaW5rIFNjaGVkdWxlckxpa2V9IHRvIHVzZSBmb3JcbiAqIG1hbmFnaW5nIHRoZSB0aW1lcnMgdGhhdCBoYW5kbGUgdGhlIHRpbWVvdXQgZm9yIGVhY2ggdmFsdWUuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBkZWxheXMgdGhlIGVtaXNzaW9ucyBvZlxuICogdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGJ5IHRoZSBzcGVjaWZpZWQgYGR1ZVRpbWVgLCBhbmQgbWF5IGRyb3Agc29tZSB2YWx1ZXNcbiAqIGlmIHRoZXkgb2NjdXIgdG9vIGZyZXF1ZW50bHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWJvdW5jZVRpbWU8VD4oZHVlVGltZTogbnVtYmVyLCBzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UgPSBhc3luY1NjaGVkdWxlcik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIHJldHVybiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICBsZXQgYWN0aXZlVGFzazogU3Vic2NyaXB0aW9uIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IGxhc3RWYWx1ZTogVCB8IG51bGwgPSBudWxsO1xuICAgIGxldCBsYXN0VGltZTogbnVtYmVyIHwgbnVsbCA9IG51bGw7XG5cbiAgICBjb25zdCBlbWl0ID0gKCkgPT4ge1xuICAgICAgaWYgKGFjdGl2ZVRhc2spIHtcbiAgICAgICAgLy8gV2UgaGF2ZSBhIHZhbHVlISBGcmVlIHVwIG1lbW9yeSBmaXJzdCwgdGhlbiBlbWl0IHRoZSB2YWx1ZS5cbiAgICAgICAgYWN0aXZlVGFzay51bnN1YnNjcmliZSgpO1xuICAgICAgICBhY3RpdmVUYXNrID0gbnVsbDtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBsYXN0VmFsdWUhO1xuICAgICAgICBsYXN0VmFsdWUgPSBudWxsO1xuICAgICAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUpO1xuICAgICAgfVxuICAgIH07XG4gICAgZnVuY3Rpb24gZW1pdFdoZW5JZGxlKHRoaXM6IFNjaGVkdWxlckFjdGlvbjx1bmtub3duPikge1xuICAgICAgLy8gVGhpcyBpcyBjYWxsZWQgYGR1ZVRpbWVgIGFmdGVyIHRoZSBmaXJzdCB2YWx1ZVxuICAgICAgLy8gYnV0IHdlIG1pZ2h0IGhhdmUgcmVjZWl2ZWQgbmV3IHZhbHVlcyBkdXJpbmcgdGhpcyB3aW5kb3chXG5cbiAgICAgIGNvbnN0IHRhcmdldFRpbWUgPSBsYXN0VGltZSEgKyBkdWVUaW1lO1xuICAgICAgY29uc3Qgbm93ID0gc2NoZWR1bGVyLm5vdygpO1xuICAgICAgaWYgKG5vdyA8IHRhcmdldFRpbWUpIHtcbiAgICAgICAgLy8gT24gdGhhdCBjYXNlLCByZS1zY2hlZHVsZSB0byB0aGUgbmV3IHRhcmdldFxuICAgICAgICBhY3RpdmVUYXNrID0gdGhpcy5zY2hlZHVsZSh1bmRlZmluZWQsIHRhcmdldFRpbWUgLSBub3cpO1xuICAgICAgICBzdWJzY3JpYmVyLmFkZChhY3RpdmVUYXNrKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBlbWl0KCk7XG4gICAgfVxuXG4gICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgKHZhbHVlOiBUKSA9PiB7XG4gICAgICAgICAgbGFzdFZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgbGFzdFRpbWUgPSBzY2hlZHVsZXIubm93KCk7XG5cbiAgICAgICAgICAvLyBPbmx5IHNldCB1cCBhIHRhc2sgaWYgaXQncyBub3QgYWxyZWFkeSB1cFxuICAgICAgICAgIGlmICghYWN0aXZlVGFzaykge1xuICAgICAgICAgICAgYWN0aXZlVGFzayA9IHNjaGVkdWxlci5zY2hlZHVsZShlbWl0V2hlbklkbGUsIGR1ZVRpbWUpO1xuICAgICAgICAgICAgc3Vic2NyaWJlci5hZGQoYWN0aXZlVGFzayk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgLy8gU291cmNlIGNvbXBsZXRlZC5cbiAgICAgICAgICAvLyBFbWl0IGFueSBwZW5kaW5nIGRlYm91bmNlZCB2YWx1ZXMgdGhlbiBjb21wbGV0ZVxuICAgICAgICAgIGVtaXQoKTtcbiAgICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH0sXG4gICAgICAgIC8vIFBhc3MgYWxsIGVycm9ycyB0aHJvdWdoIHRvIGNvbnN1bWVyLlxuICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICAvLyBGaW5hbGl6YXRpb24uXG4gICAgICAgICAgbGFzdFZhbHVlID0gYWN0aXZlVGFzayA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBPcGVyYXRvckZ1bmN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIgfSBmcm9tICcuL09wZXJhdG9yU3Vic2NyaWJlcic7XG5cbi8qKlxuICogRW1pdHMgYSBnaXZlbiB2YWx1ZSBpZiB0aGUgc291cmNlIE9ic2VydmFibGUgY29tcGxldGVzIHdpdGhvdXQgZW1pdHRpbmcgYW55XG4gKiBgbmV4dGAgdmFsdWUsIG90aGVyd2lzZSBtaXJyb3JzIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+SWYgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHR1cm5zIG91dCB0byBiZSBlbXB0eSwgdGhlblxuICogdGhpcyBvcGVyYXRvciB3aWxsIGVtaXQgYSBkZWZhdWx0IHZhbHVlLjwvc3Bhbj5cbiAqXG4gKiAhW10oZGVmYXVsdElmRW1wdHkucG5nKVxuICpcbiAqIGBkZWZhdWx0SWZFbXB0eWAgZW1pdHMgdGhlIHZhbHVlcyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBvciBhXG4gKiBzcGVjaWZpZWQgZGVmYXVsdCB2YWx1ZSBpZiB0aGUgc291cmNlIE9ic2VydmFibGUgaXMgZW1wdHkgKGNvbXBsZXRlcyB3aXRob3V0XG4gKiBoYXZpbmcgZW1pdHRlZCBhbnkgYG5leHRgIHZhbHVlKS5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogSWYgbm8gY2xpY2tzIGhhcHBlbiBpbiA1IHNlY29uZHMsIHRoZW4gZW1pdCAnbm8gY2xpY2tzJ1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIHRha2VVbnRpbCwgaW50ZXJ2YWwsIGRlZmF1bHRJZkVtcHR5IH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IGNsaWNrc0JlZm9yZUZpdmUgPSBjbGlja3MucGlwZSh0YWtlVW50aWwoaW50ZXJ2YWwoNTAwMCkpKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGNsaWNrc0JlZm9yZUZpdmUucGlwZShkZWZhdWx0SWZFbXB0eSgnbm8gY2xpY2tzJykpO1xuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGVtcHR5fVxuICogQHNlZSB7QGxpbmsgbGFzdH1cbiAqXG4gKiBAcGFyYW0gZGVmYXVsdFZhbHVlIFRoZSBkZWZhdWx0IHZhbHVlIHVzZWQgaWYgdGhlIHNvdXJjZVxuICogT2JzZXJ2YWJsZSBpcyBlbXB0eS5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGVpdGhlciB0aGVcbiAqIHNwZWNpZmllZCBgZGVmYXVsdFZhbHVlYCBpZiB0aGUgc291cmNlIE9ic2VydmFibGUgZW1pdHMgbm8gaXRlbXMsIG9yIHRoZVxuICogdmFsdWVzIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVmYXVsdElmRW1wdHk8VCwgUj4oZGVmYXVsdFZhbHVlOiBSKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUIHwgUj4ge1xuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgbGV0IGhhc1ZhbHVlID0gZmFsc2U7XG4gICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgaGFzVmFsdWUgPSB0cnVlO1xuICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh2YWx1ZSk7XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBpZiAoIWhhc1ZhbHVlKSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoZGVmYXVsdFZhbHVlISk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgICk7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEVNUFRZIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9lbXB0eSc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuLyoqXG4gKiBFbWl0cyBvbmx5IHRoZSBmaXJzdCBgY291bnRgIHZhbHVlcyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+VGFrZXMgdGhlIGZpcnN0IGBjb3VudGAgdmFsdWVzIGZyb20gdGhlIHNvdXJjZSwgdGhlblxuICogY29tcGxldGVzLjwvc3Bhbj5cbiAqXG4gKiAhW10odGFrZS5wbmcpXG4gKlxuICogYHRha2VgIHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIG9ubHkgdGhlIGZpcnN0IGBjb3VudGAgdmFsdWVzIGVtaXR0ZWRcbiAqIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS4gSWYgdGhlIHNvdXJjZSBlbWl0cyBmZXdlciB0aGFuIGBjb3VudGAgdmFsdWVzIHRoZW5cbiAqIGFsbCBvZiBpdHMgdmFsdWVzIGFyZSBlbWl0dGVkLiBBZnRlciB0aGF0LCBpdCBjb21wbGV0ZXMsIHJlZ2FyZGxlc3MgaWYgdGhlXG4gKiBzb3VyY2UgY29tcGxldGVzLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBUYWtlIHRoZSBmaXJzdCA1IHNlY29uZHMgb2YgYW4gaW5maW5pdGUgMS1zZWNvbmQgaW50ZXJ2YWwgT2JzZXJ2YWJsZVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBpbnRlcnZhbCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGludGVydmFsQ291bnQgPSBpbnRlcnZhbCgxMDAwKTtcbiAqIGNvbnN0IHRha2VGaXZlID0gaW50ZXJ2YWxDb3VudC5waXBlKHRha2UoNSkpO1xuICogdGFrZUZpdmUuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIExvZ3M6XG4gKiAvLyAwXG4gKiAvLyAxXG4gKiAvLyAyXG4gKiAvLyAzXG4gKiAvLyA0XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayB0YWtlTGFzdH1cbiAqIEBzZWUge0BsaW5rIHRha2VVbnRpbH1cbiAqIEBzZWUge0BsaW5rIHRha2VXaGlsZX1cbiAqIEBzZWUge0BsaW5rIHNraXB9XG4gKlxuICogQHBhcmFtIGNvdW50IFRoZSBtYXhpbXVtIG51bWJlciBvZiBgbmV4dGAgdmFsdWVzIHRvIGVtaXQuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBvbmx5IHRoZSBmaXJzdFxuICogYGNvdW50YCB2YWx1ZXMgZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUsIG9yIGFsbCBvZiB0aGUgdmFsdWVzIGZyb21cbiAqIHRoZSBzb3VyY2UgaWYgdGhlIHNvdXJjZSBlbWl0cyBmZXdlciB0aGFuIGBjb3VudGAgdmFsdWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGFrZTxUPihjb3VudDogbnVtYmVyKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIGNvdW50IDw9IDBcbiAgICA/IC8vIElmIHdlIGFyZSB0YWtpbmcgbm8gdmFsdWVzLCB0aGF0J3MgZW1wdHkuXG4gICAgICAoKSA9PiBFTVBUWVxuICAgIDogb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgIGxldCBzZWVuID0gMDtcbiAgICAgICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgICAgICBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoc3Vic2NyaWJlciwgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAvLyBJbmNyZW1lbnQgdGhlIG51bWJlciBvZiB2YWx1ZXMgd2UgaGF2ZSBzZWVuLFxuICAgICAgICAgICAgLy8gdGhlbiBjaGVjayBpdCBhZ2FpbnN0IHRoZSBhbGxvd2VkIGNvdW50IHRvIHNlZVxuICAgICAgICAgICAgLy8gaWYgd2UgYXJlIHN0aWxsIGxldHRpbmcgdmFsdWVzIHRocm91Z2guXG4gICAgICAgICAgICBpZiAoKytzZWVuIDw9IGNvdW50KSB7XG4gICAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh2YWx1ZSk7XG4gICAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgbWV0IG9yIHBhc3NlZCBvdXIgYWxsb3dlZCBjb3VudCxcbiAgICAgICAgICAgICAgLy8gd2UgbmVlZCB0byBjb21wbGV0ZS4gV2UgaGF2ZSB0byBkbyA8PSBoZXJlLFxuICAgICAgICAgICAgICAvLyBiZWNhdXNlIHJlLWVudHJhbnQgY29kZSB3aWxsIGluY3JlbWVudCBgc2VlbmAgdHdpY2UuXG4gICAgICAgICAgICAgIGlmIChjb3VudCA8PSBzZWVuKSB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xufVxuIiwgImltcG9ydCB7IE9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi91dGlsL25vb3AnO1xuXG4vKipcbiAqIElnbm9yZXMgYWxsIGl0ZW1zIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGFuZCBvbmx5IHBhc3NlcyBjYWxscyBvZiBgY29tcGxldGVgIG9yIGBlcnJvcmAuXG4gKlxuICogIVtdKGlnbm9yZUVsZW1lbnRzLnBuZylcbiAqXG4gKiBUaGUgYGlnbm9yZUVsZW1lbnRzYCBvcGVyYXRvciBzdXBwcmVzc2VzIGFsbCBpdGVtcyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSxcbiAqIGJ1dCBhbGxvd3MgaXRzIHRlcm1pbmF0aW9uIG5vdGlmaWNhdGlvbiAoZWl0aGVyIGBlcnJvcmAgb3IgYGNvbXBsZXRlYCkgdG8gcGFzcyB0aHJvdWdoIHVuY2hhbmdlZC5cbiAqXG4gKiBJZiB5b3UgZG8gbm90IGNhcmUgYWJvdXQgdGhlIGl0ZW1zIGJlaW5nIGVtaXR0ZWQgYnkgYW4gT2JzZXJ2YWJsZSwgYnV0IHlvdSBkbyB3YW50IHRvIGJlIG5vdGlmaWVkXG4gKiB3aGVuIGl0IGNvbXBsZXRlcyBvciB3aGVuIGl0IHRlcm1pbmF0ZXMgd2l0aCBhbiBlcnJvciwgeW91IGNhbiBhcHBseSB0aGUgYGlnbm9yZUVsZW1lbnRzYCBvcGVyYXRvclxuICogdG8gdGhlIE9ic2VydmFibGUsIHdoaWNoIHdpbGwgZW5zdXJlIHRoYXQgaXQgd2lsbCBuZXZlciBjYWxsIGl0cyBvYnNlcnZlcnNcdTIwMTkgYG5leHRgIGhhbmRsZXJzLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBJZ25vcmUgYWxsIGBuZXh0YCBlbWlzc2lvbnMgZnJvbSB0aGUgc291cmNlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mLCBpZ25vcmVFbGVtZW50cyB9IGZyb20gJ3J4anMnO1xuICpcbiAqIG9mKCd5b3UnLCAndGFsa2luZycsICd0bycsICdtZScpXG4gKiAgIC5waXBlKGlnbm9yZUVsZW1lbnRzKCkpXG4gKiAgIC5zdWJzY3JpYmUoe1xuICogICAgIG5leHQ6IHdvcmQgPT4gY29uc29sZS5sb2cod29yZCksXG4gKiAgICAgZXJyb3I6IGVyciA9PiBjb25zb2xlLmxvZygnZXJyb3I6JywgZXJyKSxcbiAqICAgICBjb21wbGV0ZTogKCkgPT4gY29uc29sZS5sb2coJ3RoZSBlbmQnKSxcbiAqICAgfSk7XG4gKlxuICogLy8gcmVzdWx0OlxuICogLy8gJ3RoZSBlbmQnXG4gKiBgYGBcbiAqXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIGVtcHR5IE9ic2VydmFibGUgdGhhdCBvbmx5IGNhbGxzXG4gKiBgY29tcGxldGVgIG9yIGBlcnJvcmAsIGJhc2VkIG9uIHdoaWNoIG9uZSBpcyBjYWxsZWQgYnkgdGhlIHNvdXJjZVxuICogT2JzZXJ2YWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlnbm9yZUVsZW1lbnRzKCk6IE9wZXJhdG9yRnVuY3Rpb248dW5rbm93biwgbmV2ZXI+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIHNvdXJjZS5zdWJzY3JpYmUoY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKHN1YnNjcmliZXIsIG5vb3ApKTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJy4vbWFwJztcblxuLyoqIEBkZXByZWNhdGVkIFRvIGJlIHJlbW92ZWQgaW4gdjkuIFVzZSB7QGxpbmsgbWFwfSBpbnN0ZWFkOiBgbWFwKCgpID0+IHZhbHVlKWAuICovXG5leHBvcnQgZnVuY3Rpb24gbWFwVG88Uj4odmFsdWU6IFIpOiBPcGVyYXRvckZ1bmN0aW9uPHVua25vd24sIFI+O1xuLyoqXG4gKiBAZGVwcmVjYXRlZCBEbyBub3Qgc3BlY2lmeSBleHBsaWNpdCB0eXBlIHBhcmFtZXRlcnMuIFNpZ25hdHVyZXMgd2l0aCB0eXBlIHBhcmFtZXRlcnNcbiAqIHRoYXQgY2Fubm90IGJlIGluZmVycmVkIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gYG1hcFRvYCBpdHNlbGYgd2lsbCBiZSByZW1vdmVkIGluIHY5LFxuICogdXNlIHtAbGluayBtYXB9IGluc3RlYWQ6IGBtYXAoKCkgPT4gdmFsdWUpYC5cbiAqICovXG5leHBvcnQgZnVuY3Rpb24gbWFwVG88VCwgUj4odmFsdWU6IFIpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFI+O1xuXG4vKipcbiAqIEVtaXRzIHRoZSBnaXZlbiBjb25zdGFudCB2YWx1ZSBvbiB0aGUgb3V0cHV0IE9ic2VydmFibGUgZXZlcnkgdGltZSB0aGUgc291cmNlXG4gKiBPYnNlcnZhYmxlIGVtaXRzIGEgdmFsdWUuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkxpa2Uge0BsaW5rIG1hcH0sIGJ1dCBpdCBtYXBzIGV2ZXJ5IHNvdXJjZSB2YWx1ZSB0b1xuICogdGhlIHNhbWUgb3V0cHV0IHZhbHVlIGV2ZXJ5IHRpbWUuPC9zcGFuPlxuICpcbiAqICFbXShtYXBUby5wbmcpXG4gKlxuICogVGFrZXMgYSBjb25zdGFudCBgdmFsdWVgIGFzIGFyZ3VtZW50LCBhbmQgZW1pdHMgdGhhdCB3aGVuZXZlciB0aGUgc291cmNlXG4gKiBPYnNlcnZhYmxlIGVtaXRzIGEgdmFsdWUuIEluIG90aGVyIHdvcmRzLCBpZ25vcmVzIHRoZSBhY3R1YWwgc291cmNlIHZhbHVlLFxuICogYW5kIHNpbXBseSB1c2VzIHRoZSBlbWlzc2lvbiBtb21lbnQgdG8ga25vdyB3aGVuIHRvIGVtaXQgdGhlIGdpdmVuIGB2YWx1ZWAuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIE1hcCBldmVyeSBjbGljayB0byB0aGUgc3RyaW5nIGAnSGknYFxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIG1hcFRvIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IGdyZWV0aW5ncyA9IGNsaWNrcy5waXBlKG1hcFRvKCdIaScpKTtcbiAqXG4gKiBncmVldGluZ3Muc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgbWFwfVxuICpcbiAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gbWFwIGVhY2ggc291cmNlIHZhbHVlIHRvLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGdpdmVuIGB2YWx1ZWBcbiAqIGV2ZXJ5IHRpbWUgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGVtaXRzLlxuICogQGRlcHJlY2F0ZWQgVG8gYmUgcmVtb3ZlZCBpbiB2OS4gVXNlIHtAbGluayBtYXB9IGluc3RlYWQ6IGBtYXAoKCkgPT4gdmFsdWUpYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1hcFRvPFI+KHZhbHVlOiBSKTogT3BlcmF0b3JGdW5jdGlvbjx1bmtub3duLCBSPiB7XG4gIHJldHVybiBtYXAoKCkgPT4gdmFsdWUpO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgY29uY2F0IH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9jb25jYXQnO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJy4vdGFrZSc7XG5pbXBvcnQgeyBpZ25vcmVFbGVtZW50cyB9IGZyb20gJy4vaWdub3JlRWxlbWVudHMnO1xuaW1wb3J0IHsgbWFwVG8gfSBmcm9tICcuL21hcFRvJztcbmltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAnLi9tZXJnZU1hcCc7XG5pbXBvcnQgeyBpbm5lckZyb20gfSBmcm9tICcuLi9vYnNlcnZhYmxlL2lubmVyRnJvbSc7XG5cbi8qKiBAZGVwcmVjYXRlZCBUaGUgYHN1YnNjcmlwdGlvbkRlbGF5YCBwYXJhbWV0ZXIgd2lsbCBiZSByZW1vdmVkIGluIHY4LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlbGF5V2hlbjxUPihcbiAgZGVsYXlEdXJhdGlvblNlbGVjdG9yOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IE9ic2VydmFibGVJbnB1dDxhbnk+LFxuICBzdWJzY3JpcHRpb25EZWxheTogT2JzZXJ2YWJsZTxhbnk+XG4pOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD47XG5leHBvcnQgZnVuY3Rpb24gZGVsYXlXaGVuPFQ+KGRlbGF5RHVyYXRpb25TZWxlY3RvcjogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBPYnNlcnZhYmxlSW5wdXQ8YW55Pik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPjtcblxuLyoqXG4gKiBEZWxheXMgdGhlIGVtaXNzaW9uIG9mIGl0ZW1zIGZyb20gdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGJ5IGEgZ2l2ZW4gdGltZSBzcGFuXG4gKiBkZXRlcm1pbmVkIGJ5IHRoZSBlbWlzc2lvbnMgb2YgYW5vdGhlciBPYnNlcnZhYmxlLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5JdCdzIGxpa2Uge0BsaW5rIGRlbGF5fSwgYnV0IHRoZSB0aW1lIHNwYW4gb2YgdGhlXG4gKiBkZWxheSBkdXJhdGlvbiBpcyBkZXRlcm1pbmVkIGJ5IGEgc2Vjb25kIE9ic2VydmFibGUuPC9zcGFuPlxuICpcbiAqICFbXShkZWxheVdoZW4ucG5nKVxuICpcbiAqIGBkZWxheVdoZW5gIG9wZXJhdG9yIHNoaWZ0cyBlYWNoIGVtaXR0ZWQgdmFsdWUgZnJvbSB0aGUgc291cmNlIE9ic2VydmFibGUgYnlcbiAqIGEgdGltZSBzcGFuIGRldGVybWluZWQgYnkgYW5vdGhlciBPYnNlcnZhYmxlLiBXaGVuIHRoZSBzb3VyY2UgZW1pdHMgYSB2YWx1ZSxcbiAqIHRoZSBgZGVsYXlEdXJhdGlvblNlbGVjdG9yYCBmdW5jdGlvbiBpcyBjYWxsZWQgd2l0aCB0aGUgdmFsdWUgZW1pdHRlZCBmcm9tXG4gKiB0aGUgc291cmNlIE9ic2VydmFibGUgYXMgdGhlIGZpcnN0IGFyZ3VtZW50IHRvIHRoZSBgZGVsYXlEdXJhdGlvblNlbGVjdG9yYC5cbiAqIFRoZSBgZGVsYXlEdXJhdGlvblNlbGVjdG9yYCBmdW5jdGlvbiBzaG91bGQgcmV0dXJuIGFuIHtAbGluayBPYnNlcnZhYmxlSW5wdXR9LFxuICogdGhhdCBpcyBpbnRlcm5hbGx5IGNvbnZlcnRlZCB0byBhbiBPYnNlcnZhYmxlIHRoYXQgaXMgY2FsbGVkIHRoZSBcImR1cmF0aW9uXCJcbiAqIE9ic2VydmFibGUuXG4gKlxuICogVGhlIHNvdXJjZSB2YWx1ZSBpcyBlbWl0dGVkIG9uIHRoZSBvdXRwdXQgT2JzZXJ2YWJsZSBvbmx5IHdoZW4gdGhlIFwiZHVyYXRpb25cIlxuICogT2JzZXJ2YWJsZSBlbWl0cyAoe0BsaW5rIGd1aWRlL2dsb3NzYXJ5LWFuZC1zZW1hbnRpY3MjbmV4dCBuZXh0fXMpIGFueSB2YWx1ZS5cbiAqIFVwb24gdGhhdCwgdGhlIFwiZHVyYXRpb25cIiBPYnNlcnZhYmxlIGdldHMgdW5zdWJzY3JpYmVkLlxuICpcbiAqIEJlZm9yZSBSeEpTIFY3LCB0aGUge0BsaW5rIGd1aWRlL2dsb3NzYXJ5LWFuZC1zZW1hbnRpY3MjY29tcGxldGUgY29tcGxldGlvbn1cbiAqIG9mIHRoZSBcImR1cmF0aW9uXCIgT2JzZXJ2YWJsZSB3b3VsZCBoYXZlIGJlZW4gdHJpZ2dlcmluZyB0aGUgZW1pc3Npb24gb2YgdGhlXG4gKiBzb3VyY2UgdmFsdWUgdG8gdGhlIG91dHB1dCBPYnNlcnZhYmxlLCBidXQgd2l0aCBSeEpTIFY3LCB0aGlzIGlzIG5vdCB0aGUgY2FzZVxuICogYW55bW9yZS5cbiAqXG4gKiBPbmx5IG5leHQgbm90aWZpY2F0aW9ucyAoZnJvbSB0aGUgXCJkdXJhdGlvblwiIE9ic2VydmFibGUpIHRyaWdnZXIgdmFsdWVzIGZyb21cbiAqIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB0byBiZSBwYXNzZWQgdG8gdGhlIG91dHB1dCBPYnNlcnZhYmxlLiBJZiB0aGUgXCJkdXJhdGlvblwiXG4gKiBPYnNlcnZhYmxlIG9ubHkgZW1pdHMgdGhlIGNvbXBsZXRlIG5vdGlmaWNhdGlvbiAod2l0aG91dCBuZXh0KSwgdGhlIHZhbHVlXG4gKiBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB3aWxsIG5ldmVyIGdldCB0byB0aGUgb3V0cHV0IE9ic2VydmFibGUgLSBpdFxuICogd2lsbCBiZSBzd2FsbG93ZWQuIElmIHRoZSBcImR1cmF0aW9uXCIgT2JzZXJ2YWJsZSBlcnJvcnMsIHRoZSBlcnJvciB3aWxsIGJlXG4gKiBwcm9wYWdhdGVkIHRvIHRoZSBvdXRwdXQgT2JzZXJ2YWJsZS5cbiAqXG4gKiBPcHRpb25hbGx5LCBgZGVsYXlXaGVuYCB0YWtlcyBhIHNlY29uZCBhcmd1bWVudCwgYHN1YnNjcmlwdGlvbkRlbGF5YCwgd2hpY2hcbiAqIGlzIGFuIE9ic2VydmFibGUuIFdoZW4gYHN1YnNjcmlwdGlvbkRlbGF5YCBlbWl0cyBpdHMgZmlyc3QgdmFsdWUgb3JcbiAqIGNvbXBsZXRlcywgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGlzIHN1YnNjcmliZWQgdG8gYW5kIHN0YXJ0cyBiZWhhdmluZyBsaWtlXG4gKiBkZXNjcmliZWQgaW4gdGhlIHByZXZpb3VzIHBhcmFncmFwaC4gSWYgYHN1YnNjcmlwdGlvbkRlbGF5YCBpcyBub3QgcHJvdmlkZWQsXG4gKiBgZGVsYXlXaGVuYCB3aWxsIHN1YnNjcmliZSB0byB0aGUgc291cmNlIE9ic2VydmFibGUgYXMgc29vbiBhcyB0aGUgb3V0cHV0XG4gKiBPYnNlcnZhYmxlIGlzIHN1YnNjcmliZWQuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIERlbGF5IGVhY2ggY2xpY2sgYnkgYSByYW5kb20gYW1vdW50IG9mIHRpbWUsIGJldHdlZW4gMCBhbmQgNSBzZWNvbmRzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgZGVsYXlXaGVuLCBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGNsaWNrcyA9IGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJyk7XG4gKiBjb25zdCBkZWxheWVkQ2xpY2tzID0gY2xpY2tzLnBpcGUoXG4gKiAgIGRlbGF5V2hlbigoKSA9PiBpbnRlcnZhbChNYXRoLnJhbmRvbSgpICogNTAwMCkpXG4gKiApO1xuICogZGVsYXllZENsaWNrcy5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBkZWxheX1cbiAqIEBzZWUge0BsaW5rIHRocm90dGxlfVxuICogQHNlZSB7QGxpbmsgdGhyb3R0bGVUaW1lfVxuICogQHNlZSB7QGxpbmsgZGVib3VuY2V9XG4gKiBAc2VlIHtAbGluayBkZWJvdW5jZVRpbWV9XG4gKiBAc2VlIHtAbGluayBzYW1wbGV9XG4gKiBAc2VlIHtAbGluayBzYW1wbGVUaW1lfVxuICogQHNlZSB7QGxpbmsgYXVkaXR9XG4gKiBAc2VlIHtAbGluayBhdWRpdFRpbWV9XG4gKlxuICogQHBhcmFtIGRlbGF5RHVyYXRpb25TZWxlY3RvciBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBgT2JzZXJ2YWJsZUlucHV0YCBmb3JcbiAqIGVhY2ggYHZhbHVlYCBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSwgd2hpY2ggaXMgdGhlbiB1c2VkIHRvIGRlbGF5IHRoZVxuICogZW1pc3Npb24gb2YgdGhhdCBgdmFsdWVgIG9uIHRoZSBvdXRwdXQgT2JzZXJ2YWJsZSB1bnRpbCB0aGUgYE9ic2VydmFibGVJbnB1dGBcbiAqIHJldHVybmVkIGZyb20gdGhpcyBmdW5jdGlvbiBlbWl0cyBhIG5leHQgdmFsdWUuIFdoZW4gY2FsbGVkLCBiZXNpZGUgYHZhbHVlYCxcbiAqIHRoaXMgZnVuY3Rpb24gcmVjZWl2ZXMgYSB6ZXJvLWJhc2VkIGBpbmRleGAgb2YgdGhlIGVtaXNzaW9uIG9yZGVyLlxuICogQHBhcmFtIHN1YnNjcmlwdGlvbkRlbGF5IEFuIE9ic2VydmFibGUgdGhhdCB0cmlnZ2VycyB0aGUgc3Vic2NyaXB0aW9uIHRvIHRoZVxuICogc291cmNlIE9ic2VydmFibGUgb25jZSBpdCBlbWl0cyBhbnkgdmFsdWUuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBkZWxheXMgdGhlIGVtaXNzaW9ucyBvZlxuICogdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGJ5IGFuIGFtb3VudCBvZiB0aW1lIHNwZWNpZmllZCBieSB0aGUgT2JzZXJ2YWJsZVxuICogcmV0dXJuZWQgYnkgYGRlbGF5RHVyYXRpb25TZWxlY3RvcmAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWxheVdoZW48VD4oXG4gIGRlbGF5RHVyYXRpb25TZWxlY3RvcjogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBPYnNlcnZhYmxlSW5wdXQ8YW55PixcbiAgc3Vic2NyaXB0aW9uRGVsYXk/OiBPYnNlcnZhYmxlPGFueT5cbik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIGlmIChzdWJzY3JpcHRpb25EZWxheSkge1xuICAgIC8vIERFUFJFQ0FURUQgUEFUSFxuICAgIHJldHVybiAoc291cmNlOiBPYnNlcnZhYmxlPFQ+KSA9PlxuICAgICAgY29uY2F0KHN1YnNjcmlwdGlvbkRlbGF5LnBpcGUodGFrZSgxKSwgaWdub3JlRWxlbWVudHMoKSksIHNvdXJjZS5waXBlKGRlbGF5V2hlbihkZWxheUR1cmF0aW9uU2VsZWN0b3IpKSk7XG4gIH1cblxuICByZXR1cm4gbWVyZ2VNYXAoKHZhbHVlLCBpbmRleCkgPT4gaW5uZXJGcm9tKGRlbGF5RHVyYXRpb25TZWxlY3Rvcih2YWx1ZSwgaW5kZXgpKS5waXBlKHRha2UoMSksIG1hcFRvKHZhbHVlKSkpO1xufVxuIiwgImltcG9ydCB7IGFzeW5jU2NoZWR1bGVyIH0gZnJvbSAnLi4vc2NoZWR1bGVyL2FzeW5jJztcbmltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgU2NoZWR1bGVyTGlrZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGRlbGF5V2hlbiB9IGZyb20gJy4vZGVsYXlXaGVuJztcbmltcG9ydCB7IHRpbWVyIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS90aW1lcic7XG5cbi8qKlxuICogRGVsYXlzIHRoZSBlbWlzc2lvbiBvZiBpdGVtcyBmcm9tIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBieSBhIGdpdmVuIHRpbWVvdXQgb3JcbiAqIHVudGlsIGEgZ2l2ZW4gRGF0ZS5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+VGltZSBzaGlmdHMgZWFjaCBpdGVtIGJ5IHNvbWUgc3BlY2lmaWVkIGFtb3VudCBvZlxuICogbWlsbGlzZWNvbmRzLjwvc3Bhbj5cbiAqXG4gKiAhW10oZGVsYXkuc3ZnKVxuICpcbiAqIElmIHRoZSBkZWxheSBhcmd1bWVudCBpcyBhIE51bWJlciwgdGhpcyBvcGVyYXRvciB0aW1lIHNoaWZ0cyB0aGUgc291cmNlXG4gKiBPYnNlcnZhYmxlIGJ5IHRoYXQgYW1vdW50IG9mIHRpbWUgZXhwcmVzc2VkIGluIG1pbGxpc2Vjb25kcy4gVGhlIHJlbGF0aXZlXG4gKiB0aW1lIGludGVydmFscyBiZXR3ZWVuIHRoZSB2YWx1ZXMgYXJlIHByZXNlcnZlZC5cbiAqXG4gKiBJZiB0aGUgZGVsYXkgYXJndW1lbnQgaXMgYSBEYXRlLCB0aGlzIG9wZXJhdG9yIHRpbWUgc2hpZnRzIHRoZSBzdGFydCBvZiB0aGVcbiAqIE9ic2VydmFibGUgZXhlY3V0aW9uIHVudGlsIHRoZSBnaXZlbiBkYXRlIG9jY3Vycy5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIERlbGF5IGVhY2ggY2xpY2sgYnkgb25lIHNlY29uZFxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIGRlbGF5IH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IGRlbGF5ZWRDbGlja3MgPSBjbGlja3MucGlwZShkZWxheSgxMDAwKSk7IC8vIGVhY2ggY2xpY2sgZW1pdHRlZCBhZnRlciAxIHNlY29uZFxuICogZGVsYXllZENsaWNrcy5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBEZWxheSBhbGwgY2xpY2tzIHVudGlsIGEgZnV0dXJlIGRhdGUgaGFwcGVuc1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIGRlbGF5IH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSgnTWFyY2ggMTUsIDIwNTAgMTI6MDA6MDAnKTsgLy8gaW4gdGhlIGZ1dHVyZVxuICogY29uc3QgZGVsYXllZENsaWNrcyA9IGNsaWNrcy5waXBlKGRlbGF5KGRhdGUpKTsgLy8gY2xpY2sgZW1pdHRlZCBvbmx5IGFmdGVyIHRoYXQgZGF0ZVxuICogZGVsYXllZENsaWNrcy5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBkZWxheVdoZW59XG4gKiBAc2VlIHtAbGluayB0aHJvdHRsZX1cbiAqIEBzZWUge0BsaW5rIHRocm90dGxlVGltZX1cbiAqIEBzZWUge0BsaW5rIGRlYm91bmNlfVxuICogQHNlZSB7QGxpbmsgZGVib3VuY2VUaW1lfVxuICogQHNlZSB7QGxpbmsgc2FtcGxlfVxuICogQHNlZSB7QGxpbmsgc2FtcGxlVGltZX1cbiAqIEBzZWUge0BsaW5rIGF1ZGl0fVxuICogQHNlZSB7QGxpbmsgYXVkaXRUaW1lfVxuICpcbiAqIEBwYXJhbSB7bnVtYmVyfERhdGV9IGR1ZSBUaGUgZGVsYXkgZHVyYXRpb24gaW4gbWlsbGlzZWNvbmRzIChhIGBudW1iZXJgKSBvclxuICogYSBgRGF0ZWAgdW50aWwgd2hpY2ggdGhlIGVtaXNzaW9uIG9mIHRoZSBzb3VyY2UgaXRlbXMgaXMgZGVsYXllZC5cbiAqIEBwYXJhbSB7U2NoZWR1bGVyTGlrZX0gW3NjaGVkdWxlcj1hc3luY10gVGhlIHtAbGluayBTY2hlZHVsZXJMaWtlfSB0byB1c2UgZm9yXG4gKiBtYW5hZ2luZyB0aGUgdGltZXJzIHRoYXQgaGFuZGxlIHRoZSB0aW1lLXNoaWZ0IGZvciBlYWNoIGl0ZW0uXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBkZWxheXMgdGhlIGVtaXNzaW9ucyBvZlxuICogdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGJ5IHRoZSBzcGVjaWZpZWQgdGltZW91dCBvciBEYXRlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVsYXk8VD4oZHVlOiBudW1iZXIgfCBEYXRlLCBzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UgPSBhc3luY1NjaGVkdWxlcik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIGNvbnN0IGR1cmF0aW9uID0gdGltZXIoZHVlLCBzY2hlZHVsZXIpO1xuICByZXR1cm4gZGVsYXlXaGVuKCgpID0+IGR1cmF0aW9uKTtcbn1cbiIsICJpbXBvcnQgeyBvYnNlcnZlTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vTm90aWZpY2F0aW9uJztcbmltcG9ydCB7IE9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGVOb3RpZmljYXRpb24sIFZhbHVlRnJvbU5vdGlmaWNhdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi9PcGVyYXRvclN1YnNjcmliZXInO1xuXG4vKipcbiAqIENvbnZlcnRzIGFuIE9ic2VydmFibGUgb2Yge0BsaW5rIE9ic2VydmFibGVOb3RpZmljYXRpb259IG9iamVjdHMgaW50byB0aGUgZW1pc3Npb25zXG4gKiB0aGF0IHRoZXkgcmVwcmVzZW50LlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5VbndyYXBzIHtAbGluayBPYnNlcnZhYmxlTm90aWZpY2F0aW9ufSBvYmplY3RzIGFzIGFjdHVhbCBgbmV4dGAsXG4gKiBgZXJyb3JgIGFuZCBgY29tcGxldGVgIGVtaXNzaW9ucy4gVGhlIG9wcG9zaXRlIG9mIHtAbGluayBtYXRlcmlhbGl6ZX0uPC9zcGFuPlxuICpcbiAqICFbXShkZW1hdGVyaWFsaXplLnBuZylcbiAqXG4gKiBgZGVtYXRlcmlhbGl6ZWAgaXMgYXNzdW1lZCB0byBvcGVyYXRlIGFuIE9ic2VydmFibGUgdGhhdCBvbmx5IGVtaXRzXG4gKiB7QGxpbmsgT2JzZXJ2YWJsZU5vdGlmaWNhdGlvbn0gb2JqZWN0cyBhcyBgbmV4dGAgZW1pc3Npb25zLCBhbmQgZG9lcyBub3QgZW1pdCBhbnlcbiAqIGBlcnJvcmAuIFN1Y2ggT2JzZXJ2YWJsZSBpcyB0aGUgb3V0cHV0IG9mIGEgYG1hdGVyaWFsaXplYCBvcGVyYXRpb24uIFRob3NlXG4gKiBub3RpZmljYXRpb25zIGFyZSB0aGVuIHVud3JhcHBlZCB1c2luZyB0aGUgbWV0YWRhdGEgdGhleSBjb250YWluLCBhbmQgZW1pdHRlZFxuICogYXMgYG5leHRgLCBgZXJyb3JgLCBhbmQgYGNvbXBsZXRlYCBvbiB0aGUgb3V0cHV0IE9ic2VydmFibGUuXG4gKlxuICogVXNlIHRoaXMgb3BlcmF0b3IgaW4gY29uanVuY3Rpb24gd2l0aCB7QGxpbmsgbWF0ZXJpYWxpemV9LlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBDb252ZXJ0IGFuIE9ic2VydmFibGUgb2YgTm90aWZpY2F0aW9ucyB0byBhbiBhY3R1YWwgT2JzZXJ2YWJsZVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBOZXh0Tm90aWZpY2F0aW9uLCBFcnJvck5vdGlmaWNhdGlvbiwgb2YsIGRlbWF0ZXJpYWxpemUgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBub3RpZkE6IE5leHROb3RpZmljYXRpb248c3RyaW5nPiA9IHsga2luZDogJ04nLCB2YWx1ZTogJ0EnIH07XG4gKiBjb25zdCBub3RpZkI6IE5leHROb3RpZmljYXRpb248c3RyaW5nPiA9IHsga2luZDogJ04nLCB2YWx1ZTogJ0InIH07XG4gKiBjb25zdCBub3RpZkU6IEVycm9yTm90aWZpY2F0aW9uID0geyBraW5kOiAnRScsIGVycm9yOiBuZXcgVHlwZUVycm9yKCd4LnRvVXBwZXJDYXNlIGlzIG5vdCBhIGZ1bmN0aW9uJykgfTtcbiAqXG4gKiBjb25zdCBtYXRlcmlhbGl6ZWQgPSBvZihub3RpZkEsIG5vdGlmQiwgbm90aWZFKTtcbiAqXG4gKiBjb25zdCB1cHBlckNhc2UgPSBtYXRlcmlhbGl6ZWQucGlwZShkZW1hdGVyaWFsaXplKCkpO1xuICogdXBwZXJDYXNlLnN1YnNjcmliZSh7XG4gKiAgIG5leHQ6IHggPT4gY29uc29sZS5sb2coeCksXG4gKiAgIGVycm9yOiBlID0+IGNvbnNvbGUuZXJyb3IoZSlcbiAqIH0pO1xuICpcbiAqIC8vIFJlc3VsdHMgaW46XG4gKiAvLyBBXG4gKiAvLyBCXG4gKiAvLyBUeXBlRXJyb3I6IHgudG9VcHBlckNhc2UgaXMgbm90IGEgZnVuY3Rpb25cbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIG1hdGVyaWFsaXplfVxuICpcbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGl0ZW1zIGFuZFxuICogbm90aWZpY2F0aW9ucyBlbWJlZGRlZCBpbiBOb3RpZmljYXRpb24gb2JqZWN0cyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2VcbiAqIE9ic2VydmFibGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZW1hdGVyaWFsaXplPE4gZXh0ZW5kcyBPYnNlcnZhYmxlTm90aWZpY2F0aW9uPGFueT4+KCk6IE9wZXJhdG9yRnVuY3Rpb248TiwgVmFsdWVGcm9tTm90aWZpY2F0aW9uPE4+PiB7XG4gIHJldHVybiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICBzb3VyY2Uuc3Vic2NyaWJlKGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihzdWJzY3JpYmVyLCAobm90aWZpY2F0aW9uKSA9PiBvYnNlcnZlTm90aWZpY2F0aW9uKG5vdGlmaWNhdGlvbiwgc3Vic2NyaWJlcikpKTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi91dGlsL25vb3AnO1xuaW1wb3J0IHsgaW5uZXJGcm9tIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9pbm5lckZyb20nO1xuXG4vKipcbiAqIFJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFsbCBpdGVtcyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB0aGF0IGFyZSBkaXN0aW5jdCBieSBjb21wYXJpc29uIGZyb20gcHJldmlvdXMgaXRlbXMuXG4gKlxuICogSWYgYSBga2V5U2VsZWN0b3JgIGZ1bmN0aW9uIGlzIHByb3ZpZGVkLCB0aGVuIGl0IHdpbGwgcHJvamVjdCBlYWNoIHZhbHVlIGZyb20gdGhlIHNvdXJjZSBvYnNlcnZhYmxlIGludG8gYSBuZXcgdmFsdWUgdGhhdCBpdCB3aWxsXG4gKiBjaGVjayBmb3IgZXF1YWxpdHkgd2l0aCBwcmV2aW91c2x5IHByb2plY3RlZCB2YWx1ZXMuIElmIHRoZSBga2V5U2VsZWN0b3JgIGZ1bmN0aW9uIGlzIG5vdCBwcm92aWRlZCwgaXQgd2lsbCB1c2UgZWFjaCB2YWx1ZSBmcm9tIHRoZVxuICogc291cmNlIG9ic2VydmFibGUgZGlyZWN0bHkgd2l0aCBhbiBlcXVhbGl0eSBjaGVjayBhZ2FpbnN0IHByZXZpb3VzIHZhbHVlcy5cbiAqXG4gKiBJbiBKYXZhU2NyaXB0IHJ1bnRpbWVzIHRoYXQgc3VwcG9ydCBgU2V0YCwgdGhpcyBvcGVyYXRvciB3aWxsIHVzZSBhIGBTZXRgIHRvIGltcHJvdmUgcGVyZm9ybWFuY2Ugb2YgdGhlIGRpc3RpbmN0IHZhbHVlIGNoZWNraW5nLlxuICpcbiAqIEluIG90aGVyIHJ1bnRpbWVzLCB0aGlzIG9wZXJhdG9yIHdpbGwgdXNlIGEgbWluaW1hbCBpbXBsZW1lbnRhdGlvbiBvZiBgU2V0YCB0aGF0IHJlbGllcyBvbiBhbiBgQXJyYXlgIGFuZCBgaW5kZXhPZmAgdW5kZXIgdGhlXG4gKiBob29kLCBzbyBwZXJmb3JtYW5jZSB3aWxsIGRlZ3JhZGUgYXMgbW9yZSB2YWx1ZXMgYXJlIGNoZWNrZWQgZm9yIGRpc3RpbmN0aW9uLiBFdmVuIGluIG5ld2VyIGJyb3dzZXJzLCBhIGxvbmctcnVubmluZyBgZGlzdGluY3RgXG4gKiB1c2UgbWlnaHQgcmVzdWx0IGluIG1lbW9yeSBsZWFrcy4gVG8gaGVscCBhbGxldmlhdGUgdGhpcyBpbiBzb21lIHNjZW5hcmlvcywgYW4gb3B0aW9uYWwgYGZsdXNoZXNgIHBhcmFtZXRlciBpcyBhbHNvIHByb3ZpZGVkIHNvXG4gKiB0aGF0IHRoZSBpbnRlcm5hbCBgU2V0YCBjYW4gYmUgXCJmbHVzaGVkXCIsIGJhc2ljYWxseSBjbGVhcmluZyBpdCBvZiB2YWx1ZXMuXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBBIHNpbXBsZSBleGFtcGxlIHdpdGggbnVtYmVyc1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBvZiwgZGlzdGluY3QgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBvZigxLCAxLCAyLCAyLCAyLCAxLCAyLCAzLCA0LCAzLCAyLCAxKVxuICogICAucGlwZShkaXN0aW5jdCgpKVxuICogICAuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIE91dHB1dHNcbiAqIC8vIDFcbiAqIC8vIDJcbiAqIC8vIDNcbiAqIC8vIDRcbiAqIGBgYFxuICpcbiAqIEFuIGV4YW1wbGUgdXNpbmcgdGhlIGBrZXlTZWxlY3RvcmAgZnVuY3Rpb25cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgb2YsIGRpc3RpbmN0IH0gZnJvbSAncnhqcyc7XG4gKlxuICogb2YoXG4gKiAgIHsgYWdlOiA0LCBuYW1lOiAnRm9vJ30sXG4gKiAgIHsgYWdlOiA3LCBuYW1lOiAnQmFyJ30sXG4gKiAgIHsgYWdlOiA1LCBuYW1lOiAnRm9vJ31cbiAqIClcbiAqIC5waXBlKGRpc3RpbmN0KCh7IG5hbWUgfSkgPT4gbmFtZSkpXG4gKiAuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIE91dHB1dHNcbiAqIC8vIHsgYWdlOiA0LCBuYW1lOiAnRm9vJyB9XG4gKiAvLyB7IGFnZTogNywgbmFtZTogJ0JhcicgfVxuICogYGBgXG4gKiBAc2VlIHtAbGluayBkaXN0aW5jdFVudGlsQ2hhbmdlZH1cbiAqIEBzZWUge0BsaW5rIGRpc3RpbmN0VW50aWxLZXlDaGFuZ2VkfVxuICpcbiAqIEBwYXJhbSBrZXlTZWxlY3RvciBPcHRpb25hbCBgZnVuY3Rpb25gIHRvIHNlbGVjdCB3aGljaCB2YWx1ZSB5b3Ugd2FudCB0byBjaGVjayBhcyBkaXN0aW5jdC5cbiAqIEBwYXJhbSBmbHVzaGVzIE9wdGlvbmFsIGBPYnNlcnZhYmxlSW5wdXRgIGZvciBmbHVzaGluZyB0aGUgaW50ZXJuYWwgSGFzaFNldCBvZiB0aGUgb3BlcmF0b3IuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBpdGVtcyBmcm9tIHRoZVxuICogc291cmNlIE9ic2VydmFibGUgd2l0aCBkaXN0aW5jdCB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkaXN0aW5jdDxULCBLPihrZXlTZWxlY3Rvcj86ICh2YWx1ZTogVCkgPT4gSywgZmx1c2hlcz86IE9ic2VydmFibGVJbnB1dDxhbnk+KTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIGNvbnN0IGRpc3RpbmN0S2V5cyA9IG5ldyBTZXQoKTtcbiAgICBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKHN1YnNjcmliZXIsICh2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBrZXkgPSBrZXlTZWxlY3RvciA/IGtleVNlbGVjdG9yKHZhbHVlKSA6IHZhbHVlO1xuICAgICAgICBpZiAoIWRpc3RpbmN0S2V5cy5oYXMoa2V5KSkge1xuICAgICAgICAgIGRpc3RpbmN0S2V5cy5hZGQoa2V5KTtcbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG5cbiAgICBmbHVzaGVzICYmIGlubmVyRnJvbShmbHVzaGVzKS5zdWJzY3JpYmUoY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKHN1YnNjcmliZXIsICgpID0+IGRpc3RpbmN0S2V5cy5jbGVhcigpLCBub29wKSk7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGlkZW50aXR5IH0gZnJvbSAnLi4vdXRpbC9pZGVudGl0eSc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRpc3RpbmN0VW50aWxDaGFuZ2VkPFQ+KGNvbXBhcmF0b3I/OiAocHJldmlvdXM6IFQsIGN1cnJlbnQ6IFQpID0+IGJvb2xlYW4pOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD47XG5leHBvcnQgZnVuY3Rpb24gZGlzdGluY3RVbnRpbENoYW5nZWQ8VCwgSz4oXG4gIGNvbXBhcmF0b3I6IChwcmV2aW91czogSywgY3VycmVudDogSykgPT4gYm9vbGVhbixcbiAga2V5U2VsZWN0b3I6ICh2YWx1ZTogVCkgPT4gS1xuKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+O1xuXG4vKipcbiAqIFJldHVybnMgYSByZXN1bHQge0BsaW5rIE9ic2VydmFibGV9IHRoYXQgZW1pdHMgYWxsIHZhbHVlcyBwdXNoZWQgYnkgdGhlIHNvdXJjZSBvYnNlcnZhYmxlIGlmIHRoZXlcbiAqIGFyZSBkaXN0aW5jdCBpbiBjb21wYXJpc29uIHRvIHRoZSBsYXN0IHZhbHVlIHRoZSByZXN1bHQgb2JzZXJ2YWJsZSBlbWl0dGVkLlxuICpcbiAqIFdoZW4gcHJvdmlkZWQgd2l0aG91dCBwYXJhbWV0ZXJzIG9yIHdpdGggdGhlIGZpcnN0IHBhcmFtZXRlciAoYHtAbGluayBkaXN0aW5jdFVudGlsQ2hhbmdlZCNjb21wYXJhdG9yIGNvbXBhcmF0b3J9YCksXG4gKiBpdCBiZWhhdmVzIGxpa2UgdGhpczpcbiAqXG4gKiAxLiBJdCB3aWxsIGFsd2F5cyBlbWl0IHRoZSBmaXJzdCB2YWx1ZSBmcm9tIHRoZSBzb3VyY2UuXG4gKiAyLiBGb3IgYWxsIHN1YnNlcXVlbnQgdmFsdWVzIHB1c2hlZCBieSB0aGUgc291cmNlLCB0aGV5IHdpbGwgYmUgY29tcGFyZWQgdG8gdGhlIHByZXZpb3VzbHkgZW1pdHRlZCB2YWx1ZXNcbiAqICAgIHVzaW5nIHRoZSBwcm92aWRlZCBgY29tcGFyYXRvcmAgb3IgYW4gYD09PWAgZXF1YWxpdHkgY2hlY2suXG4gKiAzLiBJZiB0aGUgdmFsdWUgcHVzaGVkIGJ5IHRoZSBzb3VyY2UgaXMgZGV0ZXJtaW5lZCB0byBiZSB1bmVxdWFsIGJ5IHRoaXMgY2hlY2ssIHRoYXQgdmFsdWUgaXMgZW1pdHRlZCBhbmRcbiAqICAgIGJlY29tZXMgdGhlIG5ldyBcInByZXZpb3VzbHkgZW1pdHRlZCB2YWx1ZVwiIGludGVybmFsbHkuXG4gKlxuICogV2hlbiB0aGUgc2Vjb25kIHBhcmFtZXRlciAoYHtAbGluayBkaXN0aW5jdFVudGlsQ2hhbmdlZCNrZXlTZWxlY3RvciBrZXlTZWxlY3Rvcn1gKSBpcyBwcm92aWRlZCwgdGhlIGJlaGF2aW9yXG4gKiBjaGFuZ2VzOlxuICpcbiAqIDEuIEl0IHdpbGwgYWx3YXlzIGVtaXQgdGhlIGZpcnN0IHZhbHVlIGZyb20gdGhlIHNvdXJjZS5cbiAqIDIuIFRoZSBga2V5U2VsZWN0b3JgIHdpbGwgYmUgcnVuIGFnYWluc3QgYWxsIHZhbHVlcywgaW5jbHVkaW5nIHRoZSBmaXJzdCB2YWx1ZS5cbiAqIDMuIEZvciBhbGwgdmFsdWVzIGFmdGVyIHRoZSBmaXJzdCwgdGhlIHNlbGVjdGVkIGtleSB3aWxsIGJlIGNvbXBhcmVkIGFnYWluc3QgdGhlIGtleSBzZWxlY3RlZCBmcm9tXG4gKiAgICB0aGUgcHJldmlvdXNseSBlbWl0dGVkIHZhbHVlIHVzaW5nIHRoZSBgY29tcGFyYXRvcmAuXG4gKiA0LiBJZiB0aGUga2V5cyBhcmUgZGV0ZXJtaW5lZCB0byBiZSB1bmVxdWFsIGJ5IHRoaXMgY2hlY2ssIHRoZSB2YWx1ZSAobm90IHRoZSBrZXkpLCBpcyBlbWl0dGVkXG4gKiAgICBhbmQgdGhlIHNlbGVjdGVkIGtleSBmcm9tIHRoYXQgdmFsdWUgaXMgc2F2ZWQgZm9yIGZ1dHVyZSBjb21wYXJpc29ucyBhZ2FpbnN0IG90aGVyIGtleXMuXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBBIHZlcnkgYmFzaWMgZXhhbXBsZSB3aXRoIG5vIGB7QGxpbmsgZGlzdGluY3RVbnRpbENoYW5nZWQjY29tcGFyYXRvciBjb21wYXJhdG9yfWAuIE5vdGUgdGhhdCBgMWAgaXMgZW1pdHRlZCBtb3JlIHRoYW4gb25jZSxcbiAqIGJlY2F1c2UgaXQncyBkaXN0aW5jdCBpbiBjb21wYXJpc29uIHRvIHRoZSBfcHJldmlvdXNseSBlbWl0dGVkXyB2YWx1ZSxcbiAqIG5vdCBpbiBjb21wYXJpc29uIHRvIF9hbGwgb3RoZXIgZW1pdHRlZCB2YWx1ZXNfLlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBvZiwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBvZigxLCAxLCAxLCAyLCAyLCAyLCAxLCAxLCAzLCAzKVxuICogICAucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKVxuICogICAuc3Vic2NyaWJlKGNvbnNvbGUubG9nKTtcbiAqIC8vIExvZ3M6IDEsIDIsIDEsIDNcbiAqIGBgYFxuICpcbiAqIFdpdGggYSBge0BsaW5rIGRpc3RpbmN0VW50aWxDaGFuZ2VkI2NvbXBhcmF0b3IgY29tcGFyYXRvcn1gLCB5b3UgY2FuIGRvIGN1c3RvbSBjb21wYXJpc29ucy4gTGV0J3Mgc2F5XG4gKiB5b3Ugb25seSB3YW50IHRvIGVtaXQgYSB2YWx1ZSB3aGVuIGFsbCBvZiBpdHMgY29tcG9uZW50cyBoYXZlXG4gKiBjaGFuZ2VkOlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBvZiwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCB0b3RhbGx5RGlmZmVyZW50QnVpbGRzJCA9IG9mKFxuICogICB7IGVuZ2luZVZlcnNpb246ICcxLjEuMCcsIHRyYW5zbWlzc2lvblZlcnNpb246ICcxLjIuMCcgfSxcbiAqICAgeyBlbmdpbmVWZXJzaW9uOiAnMS4xLjAnLCB0cmFuc21pc3Npb25WZXJzaW9uOiAnMS40LjAnIH0sXG4gKiAgIHsgZW5naW5lVmVyc2lvbjogJzEuMy4wJywgdHJhbnNtaXNzaW9uVmVyc2lvbjogJzEuNC4wJyB9LFxuICogICB7IGVuZ2luZVZlcnNpb246ICcxLjMuMCcsIHRyYW5zbWlzc2lvblZlcnNpb246ICcxLjUuMCcgfSxcbiAqICAgeyBlbmdpbmVWZXJzaW9uOiAnMi4wLjAnLCB0cmFuc21pc3Npb25WZXJzaW9uOiAnMS41LjAnIH1cbiAqICkucGlwZShcbiAqICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKHByZXYsIGN1cnIpID0+IHtcbiAqICAgICByZXR1cm4gKFxuICogICAgICAgcHJldi5lbmdpbmVWZXJzaW9uID09PSBjdXJyLmVuZ2luZVZlcnNpb24gfHxcbiAqICAgICAgIHByZXYudHJhbnNtaXNzaW9uVmVyc2lvbiA9PT0gY3Vyci50cmFuc21pc3Npb25WZXJzaW9uXG4gKiAgICAgKTtcbiAqICAgfSlcbiAqICk7XG4gKlxuICogdG90YWxseURpZmZlcmVudEJ1aWxkcyQuc3Vic2NyaWJlKGNvbnNvbGUubG9nKTtcbiAqXG4gKiAvLyBMb2dzOlxuICogLy8geyBlbmdpbmVWZXJzaW9uOiAnMS4xLjAnLCB0cmFuc21pc3Npb25WZXJzaW9uOiAnMS4yLjAnIH1cbiAqIC8vIHsgZW5naW5lVmVyc2lvbjogJzEuMy4wJywgdHJhbnNtaXNzaW9uVmVyc2lvbjogJzEuNC4wJyB9XG4gKiAvLyB7IGVuZ2luZVZlcnNpb246ICcyLjAuMCcsIHRyYW5zbWlzc2lvblZlcnNpb246ICcxLjUuMCcgfVxuICogYGBgXG4gKlxuICogWW91IGNhbiBhbHNvIHByb3ZpZGUgYSBjdXN0b20gYHtAbGluayBkaXN0aW5jdFVudGlsQ2hhbmdlZCNjb21wYXJhdG9yIGNvbXBhcmF0b3J9YCB0byBjaGVjayB0aGF0IGVtaXR0ZWRcbiAqIGNoYW5nZXMgYXJlIG9ubHkgaW4gb25lIGRpcmVjdGlvbi4gTGV0J3Mgc2F5IHlvdSBvbmx5IHdhbnQgdG8gZ2V0XG4gKiB0aGUgbmV4dCByZWNvcmQgdGVtcGVyYXR1cmU6XG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHRlbXBzJCA9IG9mKDMwLCAzMSwgMjAsIDM0LCAzMywgMjksIDM1LCAyMCk7XG4gKlxuICogY29uc3QgcmVjb3JkSGlnaHMkID0gdGVtcHMkLnBpcGUoXG4gKiAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2SGlnaCwgdGVtcCkgPT4ge1xuICogICAgIC8vIElmIHRoZSBjdXJyZW50IHRlbXAgaXMgbGVzcyB0aGFuXG4gKiAgICAgLy8gb3IgdGhlIHNhbWUgYXMgdGhlIHByZXZpb3VzIHJlY29yZCxcbiAqICAgICAvLyB0aGUgcmVjb3JkIGhhc24ndCBjaGFuZ2VkLlxuICogICAgIHJldHVybiB0ZW1wIDw9IHByZXZIaWdoO1xuICogICB9KVxuICogKTtcbiAqXG4gKiByZWNvcmRIaWdocyQuc3Vic2NyaWJlKGNvbnNvbGUubG9nKTtcbiAqIC8vIExvZ3M6IDMwLCAzMSwgMzQsIDM1XG4gKiBgYGBcbiAqXG4gKiBTZWxlY3RpbmcgdXBkYXRlIGV2ZW50cyBvbmx5IHdoZW4gdGhlIGB1cGRhdGVkQnlgIGZpZWxkIHNob3dzXG4gKiB0aGUgYWNjb3VudCBjaGFuZ2VkIGhhbmRzLlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBvZiwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcbiAqXG4gKiAvLyBBIHN0cmVhbSBvZiB1cGRhdGVzIHRvIGEgZ2l2ZW4gYWNjb3VudFxuICogY29uc3QgYWNjb3VudFVwZGF0ZXMkID0gb2YoXG4gKiAgIHsgdXBkYXRlZEJ5OiAnYmxlc2gnLCBkYXRhOiBbXSB9LFxuICogICB7IHVwZGF0ZWRCeTogJ2JsZXNoJywgZGF0YTogW10gfSxcbiAqICAgeyB1cGRhdGVkQnk6ICduY2phbWllc29uJywgZGF0YTogW10gfSxcbiAqICAgeyB1cGRhdGVkQnk6ICduY2phbWllc29uJywgZGF0YTogW10gfSxcbiAqICAgeyB1cGRhdGVkQnk6ICdibGVzaCcsIGRhdGE6IFtdIH1cbiAqICk7XG4gKlxuICogLy8gV2Ugb25seSB3YW50IHRoZSBldmVudHMgd2hlcmUgaXQgY2hhbmdlZCBoYW5kc1xuICogY29uc3QgY2hhbmdlZEhhbmRzJCA9IGFjY291bnRVcGRhdGVzJC5waXBlKFxuICogICBkaXN0aW5jdFVudGlsQ2hhbmdlZCh1bmRlZmluZWQsIHVwZGF0ZSA9PiB1cGRhdGUudXBkYXRlZEJ5KVxuICogKTtcbiAqXG4gKiBjaGFuZ2VkSGFuZHMkLnN1YnNjcmliZShjb25zb2xlLmxvZyk7XG4gKiAvLyBMb2dzOlxuICogLy8geyB1cGRhdGVkQnk6ICdibGVzaCcsIGRhdGE6IEFycmF5WzBdIH1cbiAqIC8vIHsgdXBkYXRlZEJ5OiAnbmNqYW1pZXNvbicsIGRhdGE6IEFycmF5WzBdIH1cbiAqIC8vIHsgdXBkYXRlZEJ5OiAnYmxlc2gnLCBkYXRhOiBBcnJheVswXSB9XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBkaXN0aW5jdH1cbiAqIEBzZWUge0BsaW5rIGRpc3RpbmN0VW50aWxLZXlDaGFuZ2VkfVxuICpcbiAqIEBwYXJhbSBjb21wYXJhdG9yIEEgZnVuY3Rpb24gdXNlZCB0byBjb21wYXJlIHRoZSBwcmV2aW91cyBhbmQgY3VycmVudCBrZXlzIGZvclxuICogZXF1YWxpdHkuIERlZmF1bHRzIHRvIGEgYD09PWAgY2hlY2suXG4gKiBAcGFyYW0ga2V5U2VsZWN0b3IgVXNlZCB0byBzZWxlY3QgYSBrZXkgdmFsdWUgdG8gYmUgcGFzc2VkIHRvIHRoZSBgY29tcGFyYXRvcmAuXG4gKlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgaXRlbXMgZnJvbSB0aGVcbiAqIHNvdXJjZSBPYnNlcnZhYmxlIHdpdGggZGlzdGluY3QgdmFsdWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGlzdGluY3RVbnRpbENoYW5nZWQ8VCwgSz4oXG4gIGNvbXBhcmF0b3I/OiAocHJldmlvdXM6IEssIGN1cnJlbnQ6IEspID0+IGJvb2xlYW4sXG4gIGtleVNlbGVjdG9yOiAodmFsdWU6IFQpID0+IEsgPSBpZGVudGl0eSBhcyAodmFsdWU6IFQpID0+IEtcbik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIC8vIFdlJ3ZlIGJlZW4gYWxsb3dpbmcgYG51bGxgIGRvIGJlIHBhc3NlZCBhcyB0aGUgYGNvbXBhcmVgLCBzbyB3ZSBjYW4ndCBkb1xuICAvLyBhIGRlZmF1bHQgdmFsdWUgZm9yIHRoZSBwYXJhbWV0ZXIsIGJlY2F1c2UgdGhhdCB3aWxsIG9ubHkgd29ya1xuICAvLyBmb3IgYHVuZGVmaW5lZGAuXG4gIGNvbXBhcmF0b3IgPSBjb21wYXJhdG9yID8/IGRlZmF1bHRDb21wYXJlO1xuXG4gIHJldHVybiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICAvLyBUaGUgcHJldmlvdXMga2V5LCB1c2VkIHRvIGNvbXBhcmUgYWdhaW5zdCBrZXlzIHNlbGVjdGVkXG4gICAgLy8gZnJvbSBuZXcgYXJyaXZhbHMgdG8gZGV0ZXJtaW5lIFwiZGlzdGluY3RpdmVuZXNzXCIuXG4gICAgbGV0IHByZXZpb3VzS2V5OiBLO1xuICAgIC8vIFdoZXRoZXIgb3Igbm90IHRoaXMgaXMgdGhlIGZpcnN0IHZhbHVlIHdlJ3ZlIGdvdHRlbi5cbiAgICBsZXQgZmlyc3QgPSB0cnVlO1xuXG4gICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihzdWJzY3JpYmVyLCAodmFsdWUpID0+IHtcbiAgICAgICAgLy8gV2UgYWx3YXlzIGNhbGwgdGhlIGtleSBzZWxlY3Rvci5cbiAgICAgICAgY29uc3QgY3VycmVudEtleSA9IGtleVNlbGVjdG9yKHZhbHVlKTtcblxuICAgICAgICAvLyBJZiBpdCdzIHRoZSBmaXJzdCB2YWx1ZSwgd2UgYWx3YXlzIGVtaXQgaXQuXG4gICAgICAgIC8vIE90aGVyd2lzZSwgd2UgY29tcGFyZSB0aGlzIGtleSB0byB0aGUgcHJldmlvdXMga2V5LCBhbmRcbiAgICAgICAgLy8gaWYgdGhlIGNvbXBhcmVyIHJldHVybnMgZmFsc2UsIHdlIGVtaXQuXG4gICAgICAgIGlmIChmaXJzdCB8fCAhY29tcGFyYXRvciEocHJldmlvdXNLZXksIGN1cnJlbnRLZXkpKSB7XG4gICAgICAgICAgLy8gVXBkYXRlIG91ciBzdGF0ZSAqYmVmb3JlKiB3ZSBlbWl0IHRoZSB2YWx1ZVxuICAgICAgICAgIC8vIGFzIGVtaXNzaW9uIGNhbiBiZSB0aGUgc291cmNlIG9mIHJlLWVudHJhbnQgY29kZVxuICAgICAgICAgIC8vIGluIGZ1bmN0aW9uYWwgbGlicmFyaWVzIGxpa2UgdGhpcy4gV2Ugb25seSByZWFsbHlcbiAgICAgICAgICAvLyBuZWVkIHRvIGRvIHRoaXMgaWYgaXQncyB0aGUgZmlyc3QgdmFsdWUsIG9yIGlmIHRoZVxuICAgICAgICAgIC8vIGtleSB3ZSdyZSB0cmFja2luZyBpbiBwcmV2aW91cyBuZWVkcyB0byBjaGFuZ2UuXG4gICAgICAgICAgZmlyc3QgPSBmYWxzZTtcbiAgICAgICAgICBwcmV2aW91c0tleSA9IGN1cnJlbnRLZXk7XG5cbiAgICAgICAgICAvLyBFbWl0IHRoZSB2YWx1ZSFcbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH0pO1xufVxuXG5mdW5jdGlvbiBkZWZhdWx0Q29tcGFyZShhOiBhbnksIGI6IGFueSkge1xuICByZXR1cm4gYSA9PT0gYjtcbn1cbiIsICJpbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJy4vZGlzdGluY3RVbnRpbENoYW5nZWQnO1xuaW1wb3J0IHsgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKiB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGggKi9cbmV4cG9ydCBmdW5jdGlvbiBkaXN0aW5jdFVudGlsS2V5Q2hhbmdlZDxUPihrZXk6IGtleW9mIFQpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD47XG5leHBvcnQgZnVuY3Rpb24gZGlzdGluY3RVbnRpbEtleUNoYW5nZWQ8VCwgSyBleHRlbmRzIGtleW9mIFQ+KGtleTogSywgY29tcGFyZTogKHg6IFRbS10sIHk6IFRbS10pID0+IGJvb2xlYW4pOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD47XG4vKiB0c2xpbnQ6ZW5hYmxlOm1heC1saW5lLWxlbmd0aCAqL1xuXG4vKipcbiAqIFJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFsbCBpdGVtcyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB0aGF0IGFyZSBkaXN0aW5jdCBieSBjb21wYXJpc29uIGZyb20gdGhlIHByZXZpb3VzIGl0ZW0sXG4gKiB1c2luZyBhIHByb3BlcnR5IGFjY2Vzc2VkIGJ5IHVzaW5nIHRoZSBrZXkgcHJvdmlkZWQgdG8gY2hlY2sgaWYgdGhlIHR3byBpdGVtcyBhcmUgZGlzdGluY3QuXG4gKlxuICogSWYgYSBjb21wYXJhdG9yIGZ1bmN0aW9uIGlzIHByb3ZpZGVkLCB0aGVuIGl0IHdpbGwgYmUgY2FsbGVkIGZvciBlYWNoIGl0ZW0gdG8gdGVzdCBmb3Igd2hldGhlciBvciBub3QgdGhhdCB2YWx1ZSBzaG91bGQgYmUgZW1pdHRlZC5cbiAqXG4gKiBJZiBhIGNvbXBhcmF0b3IgZnVuY3Rpb24gaXMgbm90IHByb3ZpZGVkLCBhbiBlcXVhbGl0eSBjaGVjayBpcyB1c2VkIGJ5IGRlZmF1bHQuXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBBbiBleGFtcGxlIGNvbXBhcmluZyB0aGUgbmFtZSBvZiBwZXJzb25zXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mLCBkaXN0aW5jdFVudGlsS2V5Q2hhbmdlZCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIG9mKFxuICogICB7IGFnZTogNCwgbmFtZTogJ0ZvbycgfSxcbiAqICAgeyBhZ2U6IDcsIG5hbWU6ICdCYXInIH0sXG4gKiAgIHsgYWdlOiA1LCBuYW1lOiAnRm9vJyB9LFxuICogICB7IGFnZTogNiwgbmFtZTogJ0ZvbycgfVxuICogKS5waXBlKFxuICogICBkaXN0aW5jdFVudGlsS2V5Q2hhbmdlZCgnbmFtZScpXG4gKiApXG4gKiAuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIGRpc3BsYXlzOlxuICogLy8geyBhZ2U6IDQsIG5hbWU6ICdGb28nIH1cbiAqIC8vIHsgYWdlOiA3LCBuYW1lOiAnQmFyJyB9XG4gKiAvLyB7IGFnZTogNSwgbmFtZTogJ0ZvbycgfVxuICogYGBgXG4gKlxuICogQW4gZXhhbXBsZSBjb21wYXJpbmcgdGhlIGZpcnN0IGxldHRlcnMgb2YgdGhlIG5hbWVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgb2YsIGRpc3RpbmN0VW50aWxLZXlDaGFuZ2VkIH0gZnJvbSAncnhqcyc7XG4gKlxuICogb2YoXG4gKiAgIHsgYWdlOiA0LCBuYW1lOiAnRm9vMScgfSxcbiAqICAgeyBhZ2U6IDcsIG5hbWU6ICdCYXInIH0sXG4gKiAgIHsgYWdlOiA1LCBuYW1lOiAnRm9vMicgfSxcbiAqICAgeyBhZ2U6IDYsIG5hbWU6ICdGb28zJyB9XG4gKiApLnBpcGUoXG4gKiAgIGRpc3RpbmN0VW50aWxLZXlDaGFuZ2VkKCduYW1lJywgKHgsIHkpID0+IHguc3Vic3RyaW5nKDAsIDMpID09PSB5LnN1YnN0cmluZygwLCAzKSlcbiAqIClcbiAqIC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKlxuICogLy8gZGlzcGxheXM6XG4gKiAvLyB7IGFnZTogNCwgbmFtZTogJ0ZvbzEnIH1cbiAqIC8vIHsgYWdlOiA3LCBuYW1lOiAnQmFyJyB9XG4gKiAvLyB7IGFnZTogNSwgbmFtZTogJ0ZvbzInIH1cbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGRpc3RpbmN0fVxuICogQHNlZSB7QGxpbmsgZGlzdGluY3RVbnRpbENoYW5nZWR9XG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBTdHJpbmcga2V5IGZvciBvYmplY3QgcHJvcGVydHkgbG9va3VwIG9uIGVhY2ggaXRlbS5cbiAqIEBwYXJhbSB7ZnVuY3Rpb259IFtjb21wYXJlXSBPcHRpb25hbCBjb21wYXJpc29uIGZ1bmN0aW9uIGNhbGxlZCB0byB0ZXN0IGlmIGFuIGl0ZW0gaXMgZGlzdGluY3QgZnJvbSB0aGUgcHJldmlvdXMgaXRlbSBpbiB0aGUgc291cmNlLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgaXRlbXMgZnJvbSB0aGVcbiAqIHNvdXJjZSBPYnNlcnZhYmxlIHdpdGggZGlzdGluY3QgdmFsdWVzIGJhc2VkIG9uIHRoZSBrZXkgc3BlY2lmaWVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZGlzdGluY3RVbnRpbEtleUNoYW5nZWQ8VCwgSyBleHRlbmRzIGtleW9mIFQ+KGtleTogSywgY29tcGFyZT86ICh4OiBUW0tdLCB5OiBUW0tdKSA9PiBib29sZWFuKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCh4OiBULCB5OiBUKSA9PiBjb21wYXJlID8gY29tcGFyZSh4W2tleV0sIHlba2V5XSkgOiB4W2tleV0gPT09IHlba2V5XSk7XG59XG4iLCAiaW1wb3J0IHsgRW1wdHlFcnJvciB9IGZyb20gJy4uL3V0aWwvRW1wdHlFcnJvcic7XG5pbXBvcnQgeyBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuLyoqXG4gKiBJZiB0aGUgc291cmNlIG9ic2VydmFibGUgY29tcGxldGVzIHdpdGhvdXQgZW1pdHRpbmcgYSB2YWx1ZSwgaXQgd2lsbCBlbWl0XG4gKiBhbiBlcnJvci4gVGhlIGVycm9yIHdpbGwgYmUgY3JlYXRlZCBhdCB0aGF0IHRpbWUgYnkgdGhlIG9wdGlvbmFsXG4gKiBgZXJyb3JGYWN0b3J5YCBhcmd1bWVudCwgb3RoZXJ3aXNlLCB0aGUgZXJyb3Igd2lsbCBiZSB7QGxpbmsgRW1wdHlFcnJvcn0uXG4gKlxuICogIVtdKHRocm93SWZFbXB0eS5wbmcpXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIFRocm93IGFuIGVycm9yIGlmIHRoZSBkb2N1bWVudCB3YXNuJ3QgY2xpY2tlZCB3aXRoaW4gMSBzZWNvbmRcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCB0YWtlVW50aWwsIHRpbWVyLCB0aHJvd0lmRW1wdHkgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGljayQgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICpcbiAqIGNsaWNrJC5waXBlKFxuICogICB0YWtlVW50aWwodGltZXIoMTAwMCkpLFxuICogICB0aHJvd0lmRW1wdHkoKCkgPT4gbmV3IEVycm9yKCdUaGUgZG9jdW1lbnQgd2FzIG5vdCBjbGlja2VkIHdpdGhpbiAxIHNlY29uZCcpKVxuICogKVxuICogLnN1YnNjcmliZSh7XG4gKiAgIG5leHQoKSB7XG4gKiAgICBjb25zb2xlLmxvZygnVGhlIGRvY3VtZW50IHdhcyBjbGlja2VkJyk7XG4gKiAgIH0sXG4gKiAgIGVycm9yKGVycikge1xuICogICAgIGNvbnNvbGUuZXJyb3IoZXJyLm1lc3NhZ2UpO1xuICogICB9XG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSBlcnJvckZhY3RvcnkgQSBmYWN0b3J5IGZ1bmN0aW9uIGNhbGxlZCB0byBwcm9kdWNlIHRoZVxuICogZXJyb3IgdG8gYmUgdGhyb3duIHdoZW4gdGhlIHNvdXJjZSBvYnNlcnZhYmxlIGNvbXBsZXRlcyB3aXRob3V0IGVtaXR0aW5nIGFcbiAqIHZhbHVlLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgdGhyb3dzIGFuIGVycm9yIGlmIHRoZVxuICogc291cmNlIE9ic2VydmFibGUgY29tcGxldGVkIHdpdGhvdXQgZW1pdHRpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0aHJvd0lmRW1wdHk8VD4oZXJyb3JGYWN0b3J5OiAoKSA9PiBhbnkgPSBkZWZhdWx0RXJyb3JGYWN0b3J5KTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIGxldCBoYXNWYWx1ZSA9IGZhbHNlO1xuICAgIHNvdXJjZS5zdWJzY3JpYmUoXG4gICAgICBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoXG4gICAgICAgIHN1YnNjcmliZXIsXG4gICAgICAgICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIGhhc1ZhbHVlID0gdHJ1ZTtcbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUpO1xuICAgICAgICB9LFxuICAgICAgICAoKSA9PiAoaGFzVmFsdWUgPyBzdWJzY3JpYmVyLmNvbXBsZXRlKCkgOiBzdWJzY3JpYmVyLmVycm9yKGVycm9yRmFjdG9yeSgpKSlcbiAgICAgIClcbiAgICApO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gZGVmYXVsdEVycm9yRmFjdG9yeSgpIHtcbiAgcmV0dXJuIG5ldyBFbXB0eUVycm9yKCk7XG59XG4iLCAiaW1wb3J0IHsgQXJndW1lbnRPdXRPZlJhbmdlRXJyb3IgfSBmcm9tICcuLi91dGlsL0FyZ3VtZW50T3V0T2ZSYW5nZUVycm9yJztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IE9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICcuL2ZpbHRlcic7XG5pbXBvcnQgeyB0aHJvd0lmRW1wdHkgfSBmcm9tICcuL3Rocm93SWZFbXB0eSc7XG5pbXBvcnQgeyBkZWZhdWx0SWZFbXB0eSB9IGZyb20gJy4vZGVmYXVsdElmRW1wdHknO1xuaW1wb3J0IHsgdGFrZSB9IGZyb20gJy4vdGFrZSc7XG5cbi8qKlxuICogRW1pdHMgdGhlIHNpbmdsZSB2YWx1ZSBhdCB0aGUgc3BlY2lmaWVkIGBpbmRleGAgaW4gYSBzZXF1ZW5jZSBvZiBlbWlzc2lvbnNcbiAqIGZyb20gdGhlIHNvdXJjZSBPYnNlcnZhYmxlLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5FbWl0cyBvbmx5IHRoZSBpLXRoIHZhbHVlLCB0aGVuIGNvbXBsZXRlcy48L3NwYW4+XG4gKlxuICogIVtdKGVsZW1lbnRBdC5wbmcpXG4gKlxuICogYGVsZW1lbnRBdGAgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGl0ZW0gYXQgdGhlIHNwZWNpZmllZFxuICogYGluZGV4YCBpbiB0aGUgc291cmNlIE9ic2VydmFibGUsIG9yIGEgZGVmYXVsdCB2YWx1ZSBpZiB0aGF0IGBpbmRleGAgaXMgb3V0XG4gKiBvZiByYW5nZSBhbmQgdGhlIGBkZWZhdWx0YCBhcmd1bWVudCBpcyBwcm92aWRlZC4gSWYgdGhlIGBkZWZhdWx0YCBhcmd1bWVudCBpc1xuICogbm90IGdpdmVuIGFuZCB0aGUgYGluZGV4YCBpcyBvdXQgb2YgcmFuZ2UsIHRoZSBvdXRwdXQgT2JzZXJ2YWJsZSB3aWxsIGVtaXQgYW5cbiAqIGBBcmd1bWVudE91dE9mUmFuZ2VFcnJvcmAgZXJyb3IuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIEVtaXQgb25seSB0aGUgdGhpcmQgY2xpY2sgZXZlbnRcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCBlbGVtZW50QXQgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgcmVzdWx0ID0gY2xpY2tzLnBpcGUoZWxlbWVudEF0KDIpKTtcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKlxuICogLy8gUmVzdWx0cyBpbjpcbiAqIC8vIGNsaWNrIDEgPSBub3RoaW5nXG4gKiAvLyBjbGljayAyID0gbm90aGluZ1xuICogLy8gY2xpY2sgMyA9IE1vdXNlRXZlbnQgb2JqZWN0IGxvZ2dlZCB0byBjb25zb2xlXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBmaXJzdH1cbiAqIEBzZWUge0BsaW5rIGxhc3R9XG4gKiBAc2VlIHtAbGluayBza2lwfVxuICogQHNlZSB7QGxpbmsgc2luZ2xlfVxuICogQHNlZSB7QGxpbmsgdGFrZX1cbiAqXG4gKiBAdGhyb3dzIHtBcmd1bWVudE91dE9mUmFuZ2VFcnJvcn0gV2hlbiB1c2luZyBgZWxlbWVudEF0KGkpYCwgaXQgZGVsaXZlcnMgYW5cbiAqIEFyZ3VtZW50T3V0T2ZSYW5nZUVycm9yIHRvIHRoZSBPYnNlcnZlcidzIGBlcnJvcmAgY2FsbGJhY2sgaWYgYGkgPCAwYCBvciB0aGVcbiAqIE9ic2VydmFibGUgaGFzIGNvbXBsZXRlZCBiZWZvcmUgZW1pdHRpbmcgdGhlIGktdGggYG5leHRgIG5vdGlmaWNhdGlvbi5cbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gaW5kZXggSXMgdGhlIG51bWJlciBgaWAgZm9yIHRoZSBpLXRoIHNvdXJjZSBlbWlzc2lvbiB0aGF0IGhhc1xuICogaGFwcGVuZWQgc2luY2UgdGhlIHN1YnNjcmlwdGlvbiwgc3RhcnRpbmcgZnJvbSB0aGUgbnVtYmVyIGAwYC5cbiAqIEBwYXJhbSB7VH0gW2RlZmF1bHRWYWx1ZV0gVGhlIGRlZmF1bHQgdmFsdWUgcmV0dXJuZWQgZm9yIG1pc3NpbmcgaW5kaWNlcy5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGEgc2luZ2xlIGl0ZW0sIGlmXG4gKiBpdCBpcyBmb3VuZC4gT3RoZXJ3aXNlLCBpdCB3aWxsIGVtaXQgdGhlIGRlZmF1bHQgdmFsdWUgaWYgZ2l2ZW4uIElmIG5vdCwgaXRcbiAqIGVtaXRzIGFuIGVycm9yLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZWxlbWVudEF0PFQsIEQgPSBUPihpbmRleDogbnVtYmVyLCBkZWZhdWx0VmFsdWU/OiBEKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUIHwgRD4ge1xuICBpZiAoaW5kZXggPCAwKSB7XG4gICAgdGhyb3cgbmV3IEFyZ3VtZW50T3V0T2ZSYW5nZUVycm9yKCk7XG4gIH1cbiAgY29uc3QgaGFzRGVmYXVsdFZhbHVlID0gYXJndW1lbnRzLmxlbmd0aCA+PSAyO1xuICByZXR1cm4gKHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgPT5cbiAgICBzb3VyY2UucGlwZShcbiAgICAgIGZpbHRlcigodiwgaSkgPT4gaSA9PT0gaW5kZXgpLFxuICAgICAgdGFrZSgxKSxcbiAgICAgIGhhc0RlZmF1bHRWYWx1ZSA/IGRlZmF1bHRJZkVtcHR5KGRlZmF1bHRWYWx1ZSEpIDogdGhyb3dJZkVtcHR5KCgpID0+IG5ldyBBcmd1bWVudE91dE9mUmFuZ2VFcnJvcigpKVxuICAgICk7XG59XG4iLCAiLyoqIHByZXR0aWVyICovXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBjb25jYXQgfSBmcm9tICcuLi9vYnNlcnZhYmxlL2NvbmNhdCc7XG5pbXBvcnQgeyBvZiB9IGZyb20gJy4uL29ic2VydmFibGUvb2YnO1xuaW1wb3J0IHsgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBTY2hlZHVsZXJMaWtlLCBPcGVyYXRvckZ1bmN0aW9uLCBWYWx1ZUZyb21BcnJheSB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqIEBkZXByZWNhdGVkIFRoZSBgc2NoZWR1bGVyYCBwYXJhbWV0ZXIgd2lsbCBiZSByZW1vdmVkIGluIHY4LiBVc2UgYHNjaGVkdWxlZGAgYW5kIGBjb25jYXRBbGxgLiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9zY2hlZHVsZXItYXJndW1lbnQgKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmRXaXRoPFQ+KHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPjtcbi8qKiBAZGVwcmVjYXRlZCBUaGUgYHNjaGVkdWxlcmAgcGFyYW1ldGVyIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gVXNlIGBzY2hlZHVsZWRgIGFuZCBgY29uY2F0QWxsYC4gRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvc2NoZWR1bGVyLWFyZ3VtZW50ICovXG5leHBvcnQgZnVuY3Rpb24gZW5kV2l0aDxULCBBIGV4dGVuZHMgdW5rbm93bltdID0gVFtdPihcbiAgLi4udmFsdWVzQW5kU2NoZWR1bGVyOiBbLi4uQSwgU2NoZWR1bGVyTGlrZV1cbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVCB8IFZhbHVlRnJvbUFycmF5PEE+PjtcblxuZXhwb3J0IGZ1bmN0aW9uIGVuZFdpdGg8VCwgQSBleHRlbmRzIHVua25vd25bXSA9IFRbXT4oLi4udmFsdWVzOiBBKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUIHwgVmFsdWVGcm9tQXJyYXk8QT4+O1xuXG4vKipcbiAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSB0aGF0IHdpbGwgZW1pdCBhbGwgdmFsdWVzIGZyb20gdGhlIHNvdXJjZSwgdGhlbiBzeW5jaHJvbm91c2x5IGVtaXRcbiAqIHRoZSBwcm92aWRlZCB2YWx1ZShzKSBpbW1lZGlhdGVseSBhZnRlciB0aGUgc291cmNlIGNvbXBsZXRlcy5cbiAqXG4gKiBOT1RFOiBQYXNzaW5nIGEgbGFzdCBhcmd1bWVudCBvZiBhIFNjaGVkdWxlciBpcyBfZGVwcmVjYXRlZF8sIGFuZCBtYXkgcmVzdWx0IGluIGluY29ycmVjdFxuICogdHlwZXMgaW4gVHlwZVNjcmlwdC5cbiAqXG4gKiBUaGlzIGlzIHVzZWZ1bCBmb3Iga25vd2luZyB3aGVuIGFuIG9ic2VydmFibGUgZW5kcy4gUGFydGljdWxhcmx5IHdoZW4gcGFpcmVkIHdpdGggYW5cbiAqIG9wZXJhdG9yIGxpa2Uge0BsaW5rIHRha2VVbnRpbH1cbiAqXG4gKiAhW10oZW5kV2l0aC5wbmcpXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIEVtaXQgdmFsdWVzIHRvIGtub3cgd2hlbiBhbiBpbnRlcnZhbCBzdGFydHMgYW5kIHN0b3BzLiBUaGUgaW50ZXJ2YWwgd2lsbFxuICogc3RvcCB3aGVuIGEgdXNlciBjbGlja3MgYW55d2hlcmUgb24gdGhlIGRvY3VtZW50LlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBpbnRlcnZhbCwgbWFwLCBmcm9tRXZlbnQsIHN0YXJ0V2l0aCwgdGFrZVVudGlsLCBlbmRXaXRoIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgdGlja2VyJCA9IGludGVydmFsKDUwMDApLnBpcGUoXG4gKiAgIG1hcCgoKSA9PiAndGljaycpXG4gKiApO1xuICpcbiAqIGNvbnN0IGRvY3VtZW50Q2xpY2tzJCA9IGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJyk7XG4gKlxuICogdGlja2VyJC5waXBlKFxuICogICBzdGFydFdpdGgoJ2ludGVydmFsIHN0YXJ0ZWQnKSxcbiAqICAgdGFrZVVudGlsKGRvY3VtZW50Q2xpY2tzJCksXG4gKiAgIGVuZFdpdGgoJ2ludGVydmFsIGVuZGVkIGJ5IGNsaWNrJylcbiAqIClcbiAqIC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKlxuICogLy8gUmVzdWx0IChhc3N1bWluZyBhIHVzZXIgY2xpY2tzIGFmdGVyIDE1IHNlY29uZHMpXG4gKiAvLyAnaW50ZXJ2YWwgc3RhcnRlZCdcbiAqIC8vICd0aWNrJ1xuICogLy8gJ3RpY2snXG4gKiAvLyAndGljaydcbiAqIC8vICdpbnRlcnZhbCBlbmRlZCBieSBjbGljaydcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIHN0YXJ0V2l0aH1cbiAqIEBzZWUge0BsaW5rIGNvbmNhdH1cbiAqIEBzZWUge0BsaW5rIHRha2VVbnRpbH1cbiAqXG4gKiBAcGFyYW0gdmFsdWVzIEl0ZW1zIHlvdSB3YW50IHRoZSBtb2RpZmllZCBPYnNlcnZhYmxlIHRvIGVtaXQgbGFzdC5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGFsbCB2YWx1ZXMgZnJvbSB0aGVcbiAqIHNvdXJjZSwgdGhlbiBzeW5jaHJvbm91c2x5IGVtaXRzIHRoZSBwcm92aWRlZCB2YWx1ZShzKSBpbW1lZGlhdGVseSBhZnRlciB0aGVcbiAqIHNvdXJjZSBjb21wbGV0ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmRXaXRoPFQ+KC4uLnZhbHVlczogQXJyYXk8VCB8IFNjaGVkdWxlckxpa2U+KTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IGNvbmNhdChzb3VyY2UsIG9mKC4uLnZhbHVlcykpIGFzIE9ic2VydmFibGU8VD47XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgRmFsc3ksIE9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGV2ZXJ5PFQ+KHByZWRpY2F0ZTogQm9vbGVhbkNvbnN0cnVjdG9yKTogT3BlcmF0b3JGdW5jdGlvbjxULCBFeGNsdWRlPFQsIEZhbHN5PiBleHRlbmRzIG5ldmVyID8gZmFsc2UgOiBib29sZWFuPjtcbi8qKiBAZGVwcmVjYXRlZCBVc2UgYSBjbG9zdXJlIGluc3RlYWQgb2YgYSBgdGhpc0FyZ2AuIFNpZ25hdHVyZXMgYWNjZXB0aW5nIGEgYHRoaXNBcmdgIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBldmVyeTxUPihcbiAgcHJlZGljYXRlOiBCb29sZWFuQ29uc3RydWN0b3IsXG4gIHRoaXNBcmc6IGFueVxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBFeGNsdWRlPFQsIEZhbHN5PiBleHRlbmRzIG5ldmVyID8gZmFsc2UgOiBib29sZWFuPjtcbi8qKiBAZGVwcmVjYXRlZCBVc2UgYSBjbG9zdXJlIGluc3RlYWQgb2YgYSBgdGhpc0FyZ2AuIFNpZ25hdHVyZXMgYWNjZXB0aW5nIGEgYHRoaXNBcmdgIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBldmVyeTxULCBBPihcbiAgcHJlZGljYXRlOiAodGhpczogQSwgdmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgPT4gYm9vbGVhbixcbiAgdGhpc0FyZzogQVxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBib29sZWFuPjtcbmV4cG9ydCBmdW5jdGlvbiBldmVyeTxUPihwcmVkaWNhdGU6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgc291cmNlOiBPYnNlcnZhYmxlPFQ+KSA9PiBib29sZWFuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBib29sZWFuPjtcblxuLyoqXG4gKiBSZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGV0aGVyIG9yIG5vdCBldmVyeSBpdGVtIG9mIHRoZSBzb3VyY2Ugc2F0aXNmaWVzIHRoZSBjb25kaXRpb24gc3BlY2lmaWVkLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5JZiBhbGwgdmFsdWVzIHBhc3MgcHJlZGljYXRlIGJlZm9yZSB0aGUgc291cmNlIGNvbXBsZXRlcywgZW1pdHMgdHJ1ZSBiZWZvcmUgY29tcGxldGlvbixcbiAqIG90aGVyd2lzZSBlbWl0IGZhbHNlLCB0aGVuIGNvbXBsZXRlLjwvc3Bhbj5cbiAqXG4gKiAhW10oZXZlcnkucG5nKVxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBBIHNpbXBsZSBleGFtcGxlIGVtaXR0aW5nIHRydWUgaWYgYWxsIGVsZW1lbnRzIGFyZSBsZXNzIHRoYW4gNSwgZmFsc2Ugb3RoZXJ3aXNlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mLCBldmVyeSB9IGZyb20gJ3J4anMnO1xuICpcbiAqIG9mKDEsIDIsIDMsIDQsIDUsIDYpXG4gKiAgIC5waXBlKGV2ZXJ5KHggPT4geCA8IDUpKVxuICogICAuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpOyAvLyAtPiBmYWxzZVxuICogYGBgXG4gKlxuICogQHBhcmFtIHtmdW5jdGlvbn0gcHJlZGljYXRlIEEgZnVuY3Rpb24gZm9yIGRldGVybWluaW5nIGlmIGFuIGl0ZW0gbWVldHMgYSBzcGVjaWZpZWQgY29uZGl0aW9uLlxuICogQHBhcmFtIHthbnl9IFt0aGlzQXJnXSBPcHRpb25hbCBvYmplY3QgdG8gdXNlIGZvciBgdGhpc2AgaW4gdGhlIGNhbGxiYWNrLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIG9mIGJvb2xlYW5zIHRoYXQgZGV0ZXJtaW5lcyBpZlxuICogYWxsIGl0ZW1zIG9mIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBtZWV0IHRoZSBjb25kaXRpb24gc3BlY2lmaWVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXZlcnk8VD4oXG4gIHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IGJvb2xlYW4sXG4gIHRoaXNBcmc/OiBhbnlcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgYm9vbGVhbj4ge1xuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgbGV0IGluZGV4ID0gMDtcbiAgICBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgICBzdWJzY3JpYmVyLFxuICAgICAgICAodmFsdWUpID0+IHtcbiAgICAgICAgICBpZiAoIXByZWRpY2F0ZS5jYWxsKHRoaXNBcmcsIHZhbHVlLCBpbmRleCsrLCBzb3VyY2UpKSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoZmFsc2UpO1xuICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh0cnVlKTtcbiAgICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQsIE9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmVkVmFsdWVPZiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJy4vbWFwJztcbmltcG9ydCB7IGlubmVyRnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvaW5uZXJGcm9tJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi9PcGVyYXRvclN1YnNjcmliZXInO1xuXG4vKiB0c2xpbnQ6ZGlzYWJsZTptYXgtbGluZS1sZW5ndGggKi9cbmV4cG9ydCBmdW5jdGlvbiBleGhhdXN0TWFwPFQsIE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8YW55Pj4oXG4gIHByb2plY3Q6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gT1xuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBPYnNlcnZlZFZhbHVlT2Y8Tz4+O1xuLyoqIEBkZXByZWNhdGVkIFRoZSBgcmVzdWx0U2VsZWN0b3JgIHBhcmFtZXRlciB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSBhbiBpbm5lciBgbWFwYCBpbnN0ZWFkLiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9yZXN1bHRTZWxlY3RvciAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4aGF1c3RNYXA8VCwgTyBleHRlbmRzIE9ic2VydmFibGVJbnB1dDxhbnk+PihcbiAgcHJvamVjdDogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBPLFxuICByZXN1bHRTZWxlY3RvcjogdW5kZWZpbmVkXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE9ic2VydmVkVmFsdWVPZjxPPj47XG4vKiogQGRlcHJlY2F0ZWQgVGhlIGByZXN1bHRTZWxlY3RvcmAgcGFyYW1ldGVyIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gVXNlIGFuIGlubmVyIGBtYXBgIGluc3RlYWQuIERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL3Jlc3VsdFNlbGVjdG9yICovXG5leHBvcnQgZnVuY3Rpb24gZXhoYXVzdE1hcDxULCBJLCBSPihcbiAgcHJvamVjdDogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBPYnNlcnZhYmxlSW5wdXQ8ST4sXG4gIHJlc3VsdFNlbGVjdG9yOiAob3V0ZXJWYWx1ZTogVCwgaW5uZXJWYWx1ZTogSSwgb3V0ZXJJbmRleDogbnVtYmVyLCBpbm5lckluZGV4OiBudW1iZXIpID0+IFJcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgUj47XG4vKiB0c2xpbnQ6ZW5hYmxlOm1heC1saW5lLWxlbmd0aCAqL1xuXG4vKipcbiAqIFByb2plY3RzIGVhY2ggc291cmNlIHZhbHVlIHRvIGFuIE9ic2VydmFibGUgd2hpY2ggaXMgbWVyZ2VkIGluIHRoZSBvdXRwdXRcbiAqIE9ic2VydmFibGUgb25seSBpZiB0aGUgcHJldmlvdXMgcHJvamVjdGVkIE9ic2VydmFibGUgaGFzIGNvbXBsZXRlZC5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+TWFwcyBlYWNoIHZhbHVlIHRvIGFuIE9ic2VydmFibGUsIHRoZW4gZmxhdHRlbnMgYWxsIG9mXG4gKiB0aGVzZSBpbm5lciBPYnNlcnZhYmxlcyB1c2luZyB7QGxpbmsgZXhoYXVzdEFsbH0uPC9zcGFuPlxuICpcbiAqICFbXShleGhhdXN0TWFwLnBuZylcbiAqXG4gKiBSZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBpdGVtcyBiYXNlZCBvbiBhcHBseWluZyBhIGZ1bmN0aW9uIHRoYXQgeW91XG4gKiBzdXBwbHkgdG8gZWFjaCBpdGVtIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlLCB3aGVyZSB0aGF0IGZ1bmN0aW9uXG4gKiByZXR1cm5zIGFuIChzby1jYWxsZWQgXCJpbm5lclwiKSBPYnNlcnZhYmxlLiBXaGVuIGl0IHByb2plY3RzIGEgc291cmNlIHZhbHVlIHRvXG4gKiBhbiBPYnNlcnZhYmxlLCB0aGUgb3V0cHV0IE9ic2VydmFibGUgYmVnaW5zIGVtaXR0aW5nIHRoZSBpdGVtcyBlbWl0dGVkIGJ5XG4gKiB0aGF0IHByb2plY3RlZCBPYnNlcnZhYmxlLiBIb3dldmVyLCBgZXhoYXVzdE1hcGAgaWdub3JlcyBldmVyeSBuZXcgcHJvamVjdGVkXG4gKiBPYnNlcnZhYmxlIGlmIHRoZSBwcmV2aW91cyBwcm9qZWN0ZWQgT2JzZXJ2YWJsZSBoYXMgbm90IHlldCBjb21wbGV0ZWQuIE9uY2VcbiAqIHRoYXQgb25lIGNvbXBsZXRlcywgaXQgd2lsbCBhY2NlcHQgYW5kIGZsYXR0ZW4gdGhlIG5leHQgcHJvamVjdGVkIE9ic2VydmFibGVcbiAqIGFuZCByZXBlYXQgdGhpcyBwcm9jZXNzLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBSdW4gYSBmaW5pdGUgdGltZXIgZm9yIGVhY2ggY2xpY2ssIG9ubHkgaWYgdGhlcmUgaXMgbm8gY3VycmVudGx5IGFjdGl2ZSB0aW1lclxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIGV4aGF1c3RNYXAsIGludGVydmFsLCB0YWtlIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGNsaWNrcy5waXBlKFxuICogICBleGhhdXN0TWFwKCgpID0+IGludGVydmFsKDEwMDApLnBpcGUodGFrZSg1KSkpXG4gKiApO1xuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGNvbmNhdE1hcH1cbiAqIEBzZWUge0BsaW5rIGV4aGF1c3R9XG4gKiBAc2VlIHtAbGluayBtZXJnZU1hcH1cbiAqIEBzZWUge0BsaW5rIHN3aXRjaE1hcH1cbiAqXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKHZhbHVlOiBULCA/aW5kZXg6IG51bWJlcik6IE9ic2VydmFibGVJbnB1dH0gcHJvamVjdCBBIGZ1bmN0aW9uXG4gKiB0aGF0LCB3aGVuIGFwcGxpZWQgdG8gYW4gaXRlbSBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSwgcmV0dXJucyBhblxuICogT2JzZXJ2YWJsZS5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSBjb250YWluaW5nIHByb2plY3RlZFxuICogT2JzZXJ2YWJsZXMgb2YgZWFjaCBpdGVtIG9mIHRoZSBzb3VyY2UsIGlnbm9yaW5nIHByb2plY3RlZCBPYnNlcnZhYmxlcyB0aGF0XG4gKiBzdGFydCBiZWZvcmUgdGhlaXIgcHJlY2VkaW5nIE9ic2VydmFibGUgaGFzIGNvbXBsZXRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4aGF1c3RNYXA8VCwgUiwgTyBleHRlbmRzIE9ic2VydmFibGVJbnB1dDxhbnk+PihcbiAgcHJvamVjdDogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBPLFxuICByZXN1bHRTZWxlY3Rvcj86IChvdXRlclZhbHVlOiBULCBpbm5lclZhbHVlOiBPYnNlcnZlZFZhbHVlT2Y8Tz4sIG91dGVySW5kZXg6IG51bWJlciwgaW5uZXJJbmRleDogbnVtYmVyKSA9PiBSXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE9ic2VydmVkVmFsdWVPZjxPPiB8IFI+IHtcbiAgaWYgKHJlc3VsdFNlbGVjdG9yKSB7XG4gICAgLy8gREVQUkVDQVRFRCBQQVRIXG4gICAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+XG4gICAgICBzb3VyY2UucGlwZShleGhhdXN0TWFwKChhLCBpKSA9PiBpbm5lckZyb20ocHJvamVjdChhLCBpKSkucGlwZShtYXAoKGI6IGFueSwgaWk6IGFueSkgPT4gcmVzdWx0U2VsZWN0b3IoYSwgYiwgaSwgaWkpKSkpKTtcbiAgfVxuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgbGV0IGluZGV4ID0gMDtcbiAgICBsZXQgaW5uZXJTdWI6IFN1YnNjcmliZXI8VD4gfCBudWxsID0gbnVsbDtcbiAgICBsZXQgaXNDb21wbGV0ZSA9IGZhbHNlO1xuICAgIHNvdXJjZS5zdWJzY3JpYmUoXG4gICAgICBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoXG4gICAgICAgIHN1YnNjcmliZXIsXG4gICAgICAgIChvdXRlclZhbHVlKSA9PiB7XG4gICAgICAgICAgaWYgKCFpbm5lclN1Yikge1xuICAgICAgICAgICAgaW5uZXJTdWIgPSBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoc3Vic2NyaWJlciwgdW5kZWZpbmVkLCAoKSA9PiB7XG4gICAgICAgICAgICAgIGlubmVyU3ViID0gbnVsbDtcbiAgICAgICAgICAgICAgaXNDb21wbGV0ZSAmJiBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIGlubmVyRnJvbShwcm9qZWN0KG91dGVyVmFsdWUsIGluZGV4KyspKS5zdWJzY3JpYmUoaW5uZXJTdWIpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGlzQ29tcGxldGUgPSB0cnVlO1xuICAgICAgICAgICFpbm5lclN1YiAmJiBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlSW5wdXQsIE9ic2VydmVkVmFsdWVPZiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGV4aGF1c3RNYXAgfSBmcm9tICcuL2V4aGF1c3RNYXAnO1xuaW1wb3J0IHsgaWRlbnRpdHkgfSBmcm9tICcuLi91dGlsL2lkZW50aXR5JztcblxuLyoqXG4gKiBDb252ZXJ0cyBhIGhpZ2hlci1vcmRlciBPYnNlcnZhYmxlIGludG8gYSBmaXJzdC1vcmRlciBPYnNlcnZhYmxlIGJ5IGRyb3BwaW5nXG4gKiBpbm5lciBPYnNlcnZhYmxlcyB3aGlsZSB0aGUgcHJldmlvdXMgaW5uZXIgT2JzZXJ2YWJsZSBoYXMgbm90IHlldCBjb21wbGV0ZWQuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkZsYXR0ZW5zIGFuIE9ic2VydmFibGUtb2YtT2JzZXJ2YWJsZXMgYnkgZHJvcHBpbmcgdGhlXG4gKiBuZXh0IGlubmVyIE9ic2VydmFibGVzIHdoaWxlIHRoZSBjdXJyZW50IGlubmVyIGlzIHN0aWxsIGV4ZWN1dGluZy48L3NwYW4+XG4gKlxuICogIVtdKGV4aGF1c3RBbGwuc3ZnKVxuICpcbiAqIGBleGhhdXN0QWxsYCBzdWJzY3JpYmVzIHRvIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBPYnNlcnZhYmxlcywgYWxzbyBrbm93biBhcyBhXG4gKiBoaWdoZXItb3JkZXIgT2JzZXJ2YWJsZS4gRWFjaCB0aW1lIGl0IG9ic2VydmVzIG9uZSBvZiB0aGVzZSBlbWl0dGVkIGlubmVyXG4gKiBPYnNlcnZhYmxlcywgdGhlIG91dHB1dCBPYnNlcnZhYmxlIGJlZ2lucyBlbWl0dGluZyB0aGUgaXRlbXMgZW1pdHRlZCBieSB0aGF0XG4gKiBpbm5lciBPYnNlcnZhYmxlLiBTbyBmYXIsIGl0IGJlaGF2ZXMgbGlrZSB7QGxpbmsgbWVyZ2VBbGx9LiBIb3dldmVyLFxuICogYGV4aGF1c3RBbGxgIGlnbm9yZXMgZXZlcnkgbmV3IGlubmVyIE9ic2VydmFibGUgaWYgdGhlIHByZXZpb3VzIE9ic2VydmFibGUgaGFzXG4gKiBub3QgeWV0IGNvbXBsZXRlZC4gT25jZSB0aGF0IG9uZSBjb21wbGV0ZXMsIGl0IHdpbGwgYWNjZXB0IGFuZCBmbGF0dGVuIHRoZVxuICogbmV4dCBpbm5lciBPYnNlcnZhYmxlIGFuZCByZXBlYXQgdGhpcyBwcm9jZXNzLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBSdW4gYSBmaW5pdGUgdGltZXIgZm9yIGVhY2ggY2xpY2ssIG9ubHkgaWYgdGhlcmUgaXMgbm8gY3VycmVudGx5IGFjdGl2ZSB0aW1lclxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIG1hcCwgaW50ZXJ2YWwsIHRha2UsIGV4aGF1c3RBbGwgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgaGlnaGVyT3JkZXIgPSBjbGlja3MucGlwZShcbiAqICAgbWFwKCgpID0+IGludGVydmFsKDEwMDApLnBpcGUodGFrZSg1KSkpXG4gKiApO1xuICogY29uc3QgcmVzdWx0ID0gaGlnaGVyT3JkZXIucGlwZShleGhhdXN0QWxsKCkpO1xuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGNvbWJpbmVMYXRlc3RBbGx9XG4gKiBAc2VlIHtAbGluayBjb25jYXRBbGx9XG4gKiBAc2VlIHtAbGluayBzd2l0Y2hBbGx9XG4gKiBAc2VlIHtAbGluayBzd2l0Y2hNYXB9XG4gKiBAc2VlIHtAbGluayBtZXJnZUFsbH1cbiAqIEBzZWUge0BsaW5rIGV4aGF1c3RNYXB9XG4gKiBAc2VlIHtAbGluayB6aXBBbGx9XG4gKlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgdGFrZXMgYSBzb3VyY2Ugb2ZcbiAqIE9ic2VydmFibGVzIGFuZCBwcm9wYWdhdGVzIHRoZSBmaXJzdCBPYnNlcnZhYmxlIGV4Y2x1c2l2ZWx5IHVudGlsIGl0XG4gKiBjb21wbGV0ZXMgYmVmb3JlIHN1YnNjcmliaW5nIHRvIHRoZSBuZXh0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhoYXVzdEFsbDxPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PGFueT4+KCk6IE9wZXJhdG9yRnVuY3Rpb248TywgT2JzZXJ2ZWRWYWx1ZU9mPE8+PiB7XG4gIHJldHVybiBleGhhdXN0TWFwKGlkZW50aXR5KTtcbn1cbiIsICJpbXBvcnQgeyBleGhhdXN0QWxsIH0gZnJvbSAnLi9leGhhdXN0QWxsJztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBSZW5hbWVkIHRvIHtAbGluayBleGhhdXN0QWxsfS4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICovXG5leHBvcnQgY29uc3QgZXhoYXVzdCA9IGV4aGF1c3RBbGw7XG4iLCAiaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZUlucHV0LCBPYnNlcnZlZFZhbHVlT2YsIFNjaGVkdWxlckxpa2UgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IG1lcmdlSW50ZXJuYWxzIH0gZnJvbSAnLi9tZXJnZUludGVybmFscyc7XG5cbi8qIHRzbGludDpkaXNhYmxlOm1heC1saW5lLWxlbmd0aCAqL1xuZXhwb3J0IGZ1bmN0aW9uIGV4cGFuZDxULCBPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PHVua25vd24+PihcbiAgcHJvamVjdDogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBPLFxuICBjb25jdXJyZW50PzogbnVtYmVyLFxuICBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE9ic2VydmVkVmFsdWVPZjxPPj47XG4vKipcbiAqIEBkZXByZWNhdGVkIFRoZSBgc2NoZWR1bGVyYCBwYXJhbWV0ZXIgd2lsbCBiZSByZW1vdmVkIGluIHY4LiBJZiB5b3UgbmVlZCB0byBzY2hlZHVsZSB0aGUgaW5uZXIgc3Vic2NyaXB0aW9uLFxuICogdXNlIGBzdWJzY3JpYmVPbmAgd2l0aGluIHRoZSBwcm9qZWN0aW9uIGZ1bmN0aW9uOiBgZXhwYW5kKCh2YWx1ZSkgPT4gZm4odmFsdWUpLnBpcGUoc3Vic2NyaWJlT24oc2NoZWR1bGVyKSkpYC5cbiAqIERldGFpbHM6IERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL3NjaGVkdWxlci1hcmd1bWVudFxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhwYW5kPFQsIE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8dW5rbm93bj4+KFxuICBwcm9qZWN0OiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IE8sXG4gIGNvbmN1cnJlbnQ6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgc2NoZWR1bGVyOiBTY2hlZHVsZXJMaWtlXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE9ic2VydmVkVmFsdWVPZjxPPj47XG4vKiB0c2xpbnQ6ZW5hYmxlOm1heC1saW5lLWxlbmd0aCAqL1xuXG4vKipcbiAqIFJlY3Vyc2l2ZWx5IHByb2plY3RzIGVhY2ggc291cmNlIHZhbHVlIHRvIGFuIE9ic2VydmFibGUgd2hpY2ggaXMgbWVyZ2VkIGluXG4gKiB0aGUgb3V0cHV0IE9ic2VydmFibGUuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkl0J3Mgc2ltaWxhciB0byB7QGxpbmsgbWVyZ2VNYXB9LCBidXQgYXBwbGllcyB0aGVcbiAqIHByb2plY3Rpb24gZnVuY3Rpb24gdG8gZXZlcnkgc291cmNlIHZhbHVlIGFzIHdlbGwgYXMgZXZlcnkgb3V0cHV0IHZhbHVlLlxuICogSXQncyByZWN1cnNpdmUuPC9zcGFuPlxuICpcbiAqICFbXShleHBhbmQucG5nKVxuICpcbiAqIFJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGl0ZW1zIGJhc2VkIG9uIGFwcGx5aW5nIGEgZnVuY3Rpb24gdGhhdCB5b3VcbiAqIHN1cHBseSB0byBlYWNoIGl0ZW0gZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUsIHdoZXJlIHRoYXQgZnVuY3Rpb25cbiAqIHJldHVybnMgYW4gT2JzZXJ2YWJsZSwgYW5kIHRoZW4gbWVyZ2luZyB0aG9zZSByZXN1bHRpbmcgT2JzZXJ2YWJsZXMgYW5kXG4gKiBlbWl0dGluZyB0aGUgcmVzdWx0cyBvZiB0aGlzIG1lcmdlci4gKkV4cGFuZCogd2lsbCByZS1lbWl0IG9uIHRoZSBvdXRwdXRcbiAqIE9ic2VydmFibGUgZXZlcnkgc291cmNlIHZhbHVlLiBUaGVuLCBlYWNoIG91dHB1dCB2YWx1ZSBpcyBnaXZlbiB0byB0aGVcbiAqIGBwcm9qZWN0YCBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFuIGlubmVyIE9ic2VydmFibGUgdG8gYmUgbWVyZ2VkIG9uIHRoZVxuICogb3V0cHV0IE9ic2VydmFibGUuIFRob3NlIG91dHB1dCB2YWx1ZXMgcmVzdWx0aW5nIGZyb20gdGhlIHByb2plY3Rpb24gYXJlIGFsc29cbiAqIGdpdmVuIHRvIHRoZSBgcHJvamVjdGAgZnVuY3Rpb24gdG8gcHJvZHVjZSBuZXcgb3V0cHV0IHZhbHVlcy4gVGhpcyBpcyBob3dcbiAqICpleHBhbmQqIGJlaGF2ZXMgcmVjdXJzaXZlbHkuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIFN0YXJ0IGVtaXR0aW5nIHRoZSBwb3dlcnMgb2YgdHdvIG9uIGV2ZXJ5IGNsaWNrLCBhdCBtb3N0IDEwIG9mIHRoZW1cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCBtYXAsIGV4cGFuZCwgb2YsIGRlbGF5LCB0YWtlIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IHBvd2Vyc09mVHdvID0gY2xpY2tzLnBpcGUoXG4gKiAgIG1hcCgoKSA9PiAxKSxcbiAqICAgZXhwYW5kKHggPT4gb2YoMiAqIHgpLnBpcGUoZGVsYXkoMTAwMCkpKSxcbiAqICAgdGFrZSgxMClcbiAqICk7XG4gKiBwb3dlcnNPZlR3by5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBtZXJnZU1hcH1cbiAqIEBzZWUge0BsaW5rIG1lcmdlU2Nhbn1cbiAqXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBPYnNlcnZhYmxlfSBwcm9qZWN0IEEgZnVuY3Rpb25cbiAqIHRoYXQsIHdoZW4gYXBwbGllZCB0byBhbiBpdGVtIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBvciB0aGUgb3V0cHV0IE9ic2VydmFibGUsXG4gKiByZXR1cm5zIGFuIE9ic2VydmFibGUuXG4gKiBAcGFyYW0ge251bWJlcn0gW2NvbmN1cnJlbnQ9SW5maW5pdHldIE1heGltdW0gbnVtYmVyIG9mIGlucHV0XG4gKiBPYnNlcnZhYmxlcyBiZWluZyBzdWJzY3JpYmVkIHRvIGNvbmN1cnJlbnRseS5cbiAqIEBwYXJhbSB7U2NoZWR1bGVyTGlrZX0gW3NjaGVkdWxlcj1udWxsXSBUaGUge0BsaW5rIFNjaGVkdWxlckxpa2V9IHRvIHVzZSBmb3Igc3Vic2NyaWJpbmcgdG9cbiAqIGVhY2ggcHJvamVjdGVkIGlubmVyIE9ic2VydmFibGUuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgc291cmNlIHZhbHVlc1xuICogYW5kIGFsc28gcmVzdWx0IG9mIGFwcGx5aW5nIHRoZSBwcm9qZWN0aW9uIGZ1bmN0aW9uIHRvIGVhY2ggdmFsdWUgZW1pdHRlZCBvblxuICogdGhlIG91dHB1dCBPYnNlcnZhYmxlIGFuZCBtZXJnaW5nIHRoZSByZXN1bHRzIG9mIHRoZSBPYnNlcnZhYmxlcyBvYnRhaW5lZFxuICogZnJvbSB0aGlzIHRyYW5zZm9ybWF0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZXhwYW5kPFQsIE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8dW5rbm93bj4+KFxuICBwcm9qZWN0OiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IE8sXG4gIGNvbmN1cnJlbnQgPSBJbmZpbml0eSxcbiAgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZVxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBPYnNlcnZlZFZhbHVlT2Y8Tz4+IHtcbiAgY29uY3VycmVudCA9IChjb25jdXJyZW50IHx8IDApIDwgMSA/IEluZmluaXR5IDogY29uY3VycmVudDtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT5cbiAgICBtZXJnZUludGVybmFscyhcbiAgICAgIC8vIEdlbmVyYWwgbWVyZ2UgcGFyYW1zXG4gICAgICBzb3VyY2UsXG4gICAgICBzdWJzY3JpYmVyLFxuICAgICAgcHJvamVjdCxcbiAgICAgIGNvbmN1cnJlbnQsXG5cbiAgICAgIC8vIG9uQmVmb3JlTmV4dFxuICAgICAgdW5kZWZpbmVkLFxuXG4gICAgICAvLyBFeHBhbmQtc3BlY2lmaWNcbiAgICAgIHRydWUsIC8vIFVzZSBleHBhbmQgcGF0aFxuICAgICAgc2NoZWR1bGVyIC8vIElubmVyIHN1YnNjcmlwdGlvbiBzY2hlZHVsZXJcbiAgICApXG4gICk7XG59XG4iLCAiaW1wb3J0IHsgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5cbi8qKlxuICogUmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgbWlycm9ycyB0aGUgc291cmNlIE9ic2VydmFibGUsIGJ1dCB3aWxsIGNhbGwgYSBzcGVjaWZpZWQgZnVuY3Rpb24gd2hlblxuICogdGhlIHNvdXJjZSB0ZXJtaW5hdGVzIG9uIGNvbXBsZXRlIG9yIGVycm9yLlxuICogVGhlIHNwZWNpZmllZCBmdW5jdGlvbiB3aWxsIGFsc28gYmUgY2FsbGVkIHdoZW4gdGhlIHN1YnNjcmliZXIgZXhwbGljaXRseSB1bnN1YnNjcmliZXMuXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBFeGVjdXRlIGNhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gdGhlIG9ic2VydmFibGUgY29tcGxldGVzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGludGVydmFsLCB0YWtlLCBmaW5hbGl6ZSB9IGZyb20gJ3J4anMnO1xuICpcbiAqIC8vIGVtaXQgdmFsdWUgaW4gc2VxdWVuY2UgZXZlcnkgMSBzZWNvbmRcbiAqIGNvbnN0IHNvdXJjZSA9IGludGVydmFsKDEwMDApO1xuICogY29uc3QgZXhhbXBsZSA9IHNvdXJjZS5waXBlKFxuICogICB0YWtlKDUpLCAvL3Rha2Ugb25seSB0aGUgZmlyc3QgNSB2YWx1ZXNcbiAqICAgZmluYWxpemUoKCkgPT4gY29uc29sZS5sb2coJ1NlcXVlbmNlIGNvbXBsZXRlJykpIC8vIEV4ZWN1dGUgd2hlbiB0aGUgb2JzZXJ2YWJsZSBjb21wbGV0ZXNcbiAqICk7XG4gKiBjb25zdCBzdWJzY3JpYmUgPSBleGFtcGxlLnN1YnNjcmliZSh2YWwgPT4gY29uc29sZS5sb2codmFsKSk7XG4gKlxuICogLy8gcmVzdWx0czpcbiAqIC8vIDBcbiAqIC8vIDFcbiAqIC8vIDJcbiAqIC8vIDNcbiAqIC8vIDRcbiAqIC8vICdTZXF1ZW5jZSBjb21wbGV0ZSdcbiAqIGBgYFxuICpcbiAqIEV4ZWN1dGUgY2FsbGJhY2sgZnVuY3Rpb24gd2hlbiB0aGUgc3Vic2NyaWJlciBleHBsaWNpdGx5IHVuc3Vic2NyaWJlc1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBpbnRlcnZhbCwgZmluYWxpemUsIHRhcCwgbm9vcCwgdGltZXIgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBzb3VyY2UgPSBpbnRlcnZhbCgxMDApLnBpcGUoXG4gKiAgIGZpbmFsaXplKCgpID0+IGNvbnNvbGUubG9nKCdbZmluYWxpemVdIENhbGxlZCcpKSxcbiAqICAgdGFwKHtcbiAqICAgICBuZXh0OiAoKSA9PiBjb25zb2xlLmxvZygnW25leHRdIENhbGxlZCcpLFxuICogICAgIGVycm9yOiAoKSA9PiBjb25zb2xlLmxvZygnW2Vycm9yXSBOb3QgY2FsbGVkJyksXG4gKiAgICAgY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKCdbdGFwIGNvbXBsZXRlXSBOb3QgY2FsbGVkJylcbiAqICAgfSlcbiAqICk7XG4gKlxuICogY29uc3Qgc3ViID0gc291cmNlLnN1YnNjcmliZSh7XG4gKiAgIG5leHQ6IHggPT4gY29uc29sZS5sb2coeCksXG4gKiAgIGVycm9yOiBub29wLFxuICogICBjb21wbGV0ZTogKCkgPT4gY29uc29sZS5sb2coJ1tjb21wbGV0ZV0gTm90IGNhbGxlZCcpXG4gKiB9KTtcbiAqXG4gKiB0aW1lcigxNTApLnN1YnNjcmliZSgoKSA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gKlxuICogLy8gcmVzdWx0czpcbiAqIC8vICdbbmV4dF0gQ2FsbGVkJ1xuICogLy8gMFxuICogLy8gJ1tmaW5hbGl6ZV0gQ2FsbGVkJ1xuICogYGBgXG4gKlxuICogQHBhcmFtIHtmdW5jdGlvbn0gY2FsbGJhY2sgRnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gc291cmNlIHRlcm1pbmF0ZXMuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBtaXJyb3JzIHRoZSBzb3VyY2UsIGJ1dFxuICogd2lsbCBjYWxsIHRoZSBzcGVjaWZpZWQgZnVuY3Rpb24gb24gdGVybWluYXRpb24uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5hbGl6ZTxUPihjYWxsYmFjazogKCkgPT4gdm9pZCk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIHJldHVybiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICAvLyBUT0RPOiBUaGlzIHRyeS9maW5hbGx5IHdhcyBvbmx5IGFkZGVkIGZvciBgdXNlRGVwcmVjYXRlZFN5bmNocm9ub3VzRXJyb3JIYW5kbGluZ2AuXG4gICAgLy8gUkVNT1ZFIFRISVMgV0hFTiBUSEFUIEhPVCBHQVJCQUdFIElTIFJFTU9WRUQgSU4gVjguXG4gICAgdHJ5IHtcbiAgICAgIHNvdXJjZS5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHN1YnNjcmliZXIuYWRkKGNhbGxiYWNrKTtcbiAgICB9XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IFN1YnNjcmliZXIgfSBmcm9tICcuLi9TdWJzY3JpYmVyJztcbmltcG9ydCB7IE9wZXJhdG9yRnVuY3Rpb24sIFRydXRoeVR5cGVzT2YgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIGZpbmQ8VD4ocHJlZGljYXRlOiBCb29sZWFuQ29uc3RydWN0b3IpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFRydXRoeVR5cGVzT2Y8VD4+O1xuLyoqIEBkZXByZWNhdGVkIFVzZSBhIGNsb3N1cmUgaW5zdGVhZCBvZiBhIGB0aGlzQXJnYC4gU2lnbmF0dXJlcyBhY2NlcHRpbmcgYSBgdGhpc0FyZ2Agd2lsbCBiZSByZW1vdmVkIGluIHY4LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmQ8VCwgUyBleHRlbmRzIFQsIEE+KFxuICBwcmVkaWNhdGU6ICh0aGlzOiBBLCB2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgc291cmNlOiBPYnNlcnZhYmxlPFQ+KSA9PiB2YWx1ZSBpcyBTLFxuICB0aGlzQXJnOiBBXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFMgfCB1bmRlZmluZWQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmQ8VCwgUyBleHRlbmRzIFQ+KFxuICBwcmVkaWNhdGU6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgc291cmNlOiBPYnNlcnZhYmxlPFQ+KSA9PiB2YWx1ZSBpcyBTXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFMgfCB1bmRlZmluZWQ+O1xuLyoqIEBkZXByZWNhdGVkIFVzZSBhIGNsb3N1cmUgaW5zdGVhZCBvZiBhIGB0aGlzQXJnYC4gU2lnbmF0dXJlcyBhY2NlcHRpbmcgYSBgdGhpc0FyZ2Agd2lsbCBiZSByZW1vdmVkIGluIHY4LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpbmQ8VCwgQT4oXG4gIHByZWRpY2F0ZTogKHRoaXM6IEEsIHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IGJvb2xlYW4sXG4gIHRoaXNBcmc6IEFcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVCB8IHVuZGVmaW5lZD47XG5leHBvcnQgZnVuY3Rpb24gZmluZDxUPihwcmVkaWNhdGU6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgc291cmNlOiBPYnNlcnZhYmxlPFQ+KSA9PiBib29sZWFuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUIHwgdW5kZWZpbmVkPjtcbi8qKlxuICogRW1pdHMgb25seSB0aGUgZmlyc3QgdmFsdWUgZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUgdGhhdCBtZWV0cyBzb21lXG4gKiBjb25kaXRpb24uXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkZpbmRzIHRoZSBmaXJzdCB2YWx1ZSB0aGF0IHBhc3NlcyBzb21lIHRlc3QgYW5kIGVtaXRzXG4gKiB0aGF0Ljwvc3Bhbj5cbiAqXG4gKiAhW10oZmluZC5wbmcpXG4gKlxuICogYGZpbmRgIHNlYXJjaGVzIGZvciB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgc291cmNlIE9ic2VydmFibGUgdGhhdCBtYXRjaGVzIHRoZVxuICogc3BlY2lmaWVkIGNvbmRpdGlvbiBlbWJvZGllZCBieSB0aGUgYHByZWRpY2F0ZWAsIGFuZCByZXR1cm5zIHRoZSBmaXJzdFxuICogb2NjdXJyZW5jZSBpbiB0aGUgc291cmNlLiBVbmxpa2Uge0BsaW5rIGZpcnN0fSwgdGhlIGBwcmVkaWNhdGVgIGlzIHJlcXVpcmVkXG4gKiBpbiBgZmluZGAsIGFuZCBkb2VzIG5vdCBlbWl0IGFuIGVycm9yIGlmIGEgdmFsaWQgdmFsdWUgaXMgbm90IGZvdW5kXG4gKiAoZW1pdHMgYHVuZGVmaW5lZGAgaW5zdGVhZCkuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIEZpbmQgYW5kIGVtaXQgdGhlIGZpcnN0IGNsaWNrIHRoYXQgaGFwcGVucyBvbiBhIERJViBlbGVtZW50XG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgZmluZCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICogZGl2LnN0eWxlLmNzc1RleHQgPSAnd2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyBiYWNrZ3JvdW5kOiAjMDljOyc7XG4gKiBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGRpdik7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGNsaWNrcy5waXBlKGZpbmQoZXYgPT4gKDxIVE1MRWxlbWVudD5ldi50YXJnZXQpLnRhZ05hbWUgPT09ICdESVYnKSk7XG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgZmlsdGVyfVxuICogQHNlZSB7QGxpbmsgZmlyc3R9XG4gKiBAc2VlIHtAbGluayBmaW5kSW5kZXh9XG4gKiBAc2VlIHtAbGluayB0YWtlfVxuICpcbiAqIEBwYXJhbSB7ZnVuY3Rpb24odmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIHNvdXJjZTogT2JzZXJ2YWJsZTxUPik6IGJvb2xlYW59IHByZWRpY2F0ZVxuICogQSBmdW5jdGlvbiBjYWxsZWQgd2l0aCBlYWNoIGl0ZW0gdG8gdGVzdCBmb3IgY29uZGl0aW9uIG1hdGNoaW5nLlxuICogQHBhcmFtIHthbnl9IFt0aGlzQXJnXSBBbiBvcHRpb25hbCBhcmd1bWVudCB0byBkZXRlcm1pbmUgdGhlIHZhbHVlIG9mIGB0aGlzYFxuICogaW4gdGhlIGBwcmVkaWNhdGVgIGZ1bmN0aW9uLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGZpcnN0IGl0ZW0gdGhhdFxuICogbWF0Y2hlcyB0aGUgY29uZGl0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZDxUPihcbiAgcHJlZGljYXRlOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgPT4gYm9vbGVhbixcbiAgdGhpc0FyZz86IGFueVxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUIHwgdW5kZWZpbmVkPiB7XG4gIHJldHVybiBvcGVyYXRlKGNyZWF0ZUZpbmQocHJlZGljYXRlLCB0aGlzQXJnLCAndmFsdWUnKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVGaW5kPFQ+KFxuICBwcmVkaWNhdGU6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgc291cmNlOiBPYnNlcnZhYmxlPFQ+KSA9PiBib29sZWFuLFxuICB0aGlzQXJnOiBhbnksXG4gIGVtaXQ6ICd2YWx1ZScgfCAnaW5kZXgnXG4pIHtcbiAgY29uc3QgZmluZEluZGV4ID0gZW1pdCA9PT0gJ2luZGV4JztcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4sIHN1YnNjcmliZXI6IFN1YnNjcmliZXI8YW55PikgPT4ge1xuICAgIGxldCBpbmRleCA9IDA7XG4gICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgY29uc3QgaSA9IGluZGV4Kys7XG4gICAgICAgICAgaWYgKHByZWRpY2F0ZS5jYWxsKHRoaXNBcmcsIHZhbHVlLCBpLCBzb3VyY2UpKSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoZmluZEluZGV4ID8gaSA6IHZhbHVlKTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoZmluZEluZGV4ID8gLTEgOiB1bmRlZmluZWQpO1xuICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgICk7XG4gIH07XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgRmFsc3ksIE9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZUZpbmQgfSBmcm9tICcuL2ZpbmQnO1xuXG5leHBvcnQgZnVuY3Rpb24gZmluZEluZGV4PFQ+KHByZWRpY2F0ZTogQm9vbGVhbkNvbnN0cnVjdG9yKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUIGV4dGVuZHMgRmFsc3kgPyAtMSA6IG51bWJlcj47XG4vKiogQGRlcHJlY2F0ZWQgVXNlIGEgY2xvc3VyZSBpbnN0ZWFkIG9mIGEgYHRoaXNBcmdgLiBTaWduYXR1cmVzIGFjY2VwdGluZyBhIGB0aGlzQXJnYCB3aWxsIGJlIHJlbW92ZWQgaW4gdjguICovXG5leHBvcnQgZnVuY3Rpb24gZmluZEluZGV4PFQ+KHByZWRpY2F0ZTogQm9vbGVhbkNvbnN0cnVjdG9yLCB0aGlzQXJnOiBhbnkpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFQgZXh0ZW5kcyBGYWxzeSA/IC0xIDogbnVtYmVyPjtcbi8qKiBAZGVwcmVjYXRlZCBVc2UgYSBjbG9zdXJlIGluc3RlYWQgb2YgYSBgdGhpc0FyZ2AuIFNpZ25hdHVyZXMgYWNjZXB0aW5nIGEgYHRoaXNBcmdgIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaW5kSW5kZXg8VCwgQT4oXG4gIHByZWRpY2F0ZTogKHRoaXM6IEEsIHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IGJvb2xlYW4sXG4gIHRoaXNBcmc6IEFcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgbnVtYmVyPjtcbmV4cG9ydCBmdW5jdGlvbiBmaW5kSW5kZXg8VD4ocHJlZGljYXRlOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgPT4gYm9vbGVhbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgbnVtYmVyPjtcblxuLyoqXG4gKiBFbWl0cyBvbmx5IHRoZSBpbmRleCBvZiB0aGUgZmlyc3QgdmFsdWUgZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUgdGhhdFxuICogbWVldHMgc29tZSBjb25kaXRpb24uXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkl0J3MgbGlrZSB7QGxpbmsgZmluZH0sIGJ1dCBlbWl0cyB0aGUgaW5kZXggb2YgdGhlXG4gKiBmb3VuZCB2YWx1ZSwgbm90IHRoZSB2YWx1ZSBpdHNlbGYuPC9zcGFuPlxuICpcbiAqICFbXShmaW5kSW5kZXgucG5nKVxuICpcbiAqIGBmaW5kSW5kZXhgIHNlYXJjaGVzIGZvciB0aGUgZmlyc3QgaXRlbSBpbiB0aGUgc291cmNlIE9ic2VydmFibGUgdGhhdCBtYXRjaGVzXG4gKiB0aGUgc3BlY2lmaWVkIGNvbmRpdGlvbiBlbWJvZGllZCBieSB0aGUgYHByZWRpY2F0ZWAsIGFuZCByZXR1cm5zIHRoZVxuICogKHplcm8tYmFzZWQpIGluZGV4IG9mIHRoZSBmaXJzdCBvY2N1cnJlbmNlIGluIHRoZSBzb3VyY2UuIFVubGlrZVxuICoge0BsaW5rIGZpcnN0fSwgdGhlIGBwcmVkaWNhdGVgIGlzIHJlcXVpcmVkIGluIGBmaW5kSW5kZXhgLCBhbmQgZG9lcyBub3QgZW1pdFxuICogYW4gZXJyb3IgaWYgYSB2YWxpZCB2YWx1ZSBpcyBub3QgZm91bmQuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIEVtaXQgdGhlIGluZGV4IG9mIGZpcnN0IGNsaWNrIHRoYXQgaGFwcGVucyBvbiBhIERJViBlbGVtZW50XG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgZmluZEluZGV4IH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gKiBkaXYuc3R5bGUuY3NzVGV4dCA9ICd3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IGJhY2tncm91bmQ6ICMwOWM7JztcbiAqIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTtcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgcmVzdWx0ID0gY2xpY2tzLnBpcGUoZmluZEluZGV4KGV2ID0+ICg8SFRNTEVsZW1lbnQ+ZXYudGFyZ2V0KS50YWdOYW1lID09PSAnRElWJykpO1xuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGZpbHRlcn1cbiAqIEBzZWUge0BsaW5rIGZpbmR9XG4gKiBAc2VlIHtAbGluayBmaXJzdH1cbiAqIEBzZWUge0BsaW5rIHRha2V9XG4gKlxuICogQHBhcmFtIHtmdW5jdGlvbih2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgc291cmNlOiBPYnNlcnZhYmxlPFQ+KTogYm9vbGVhbn0gcHJlZGljYXRlXG4gKiBBIGZ1bmN0aW9uIGNhbGxlZCB3aXRoIGVhY2ggaXRlbSB0byB0ZXN0IGZvciBjb25kaXRpb24gbWF0Y2hpbmcuXG4gKiBAcGFyYW0ge2FueX0gW3RoaXNBcmddIEFuIG9wdGlvbmFsIGFyZ3VtZW50IHRvIGRldGVybWluZSB0aGUgdmFsdWUgb2YgYHRoaXNgXG4gKiBpbiB0aGUgYHByZWRpY2F0ZWAgZnVuY3Rpb24uXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgaW5kZXggb2YgdGhlXG4gKiBmaXJzdCBpdGVtIHRoYXQgbWF0Y2hlcyB0aGUgY29uZGl0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmluZEluZGV4PFQ+KFxuICBwcmVkaWNhdGU6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgc291cmNlOiBPYnNlcnZhYmxlPFQ+KSA9PiBib29sZWFuLFxuICB0aGlzQXJnPzogYW55XG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIG51bWJlcj4ge1xuICByZXR1cm4gb3BlcmF0ZShjcmVhdGVGaW5kKHByZWRpY2F0ZSwgdGhpc0FyZywgJ2luZGV4JykpO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IEVtcHR5RXJyb3IgfSBmcm9tICcuLi91dGlsL0VtcHR5RXJyb3InO1xuaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiwgVHJ1dGh5VHlwZXNPZiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJy4vZmlsdGVyJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICcuL3Rha2UnO1xuaW1wb3J0IHsgZGVmYXVsdElmRW1wdHkgfSBmcm9tICcuL2RlZmF1bHRJZkVtcHR5JztcbmltcG9ydCB7IHRocm93SWZFbXB0eSB9IGZyb20gJy4vdGhyb3dJZkVtcHR5JztcbmltcG9ydCB7IGlkZW50aXR5IH0gZnJvbSAnLi4vdXRpbC9pZGVudGl0eSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdDxULCBEID0gVD4ocHJlZGljYXRlPzogbnVsbCwgZGVmYXVsdFZhbHVlPzogRCk6IE9wZXJhdG9yRnVuY3Rpb248VCwgVCB8IEQ+O1xuZXhwb3J0IGZ1bmN0aW9uIGZpcnN0PFQ+KHByZWRpY2F0ZTogQm9vbGVhbkNvbnN0cnVjdG9yKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUcnV0aHlUeXBlc09mPFQ+PjtcbmV4cG9ydCBmdW5jdGlvbiBmaXJzdDxULCBEPihwcmVkaWNhdGU6IEJvb2xlYW5Db25zdHJ1Y3RvciwgZGVmYXVsdFZhbHVlOiBEKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUcnV0aHlUeXBlc09mPFQ+IHwgRD47XG5leHBvcnQgZnVuY3Rpb24gZmlyc3Q8VCwgUyBleHRlbmRzIFQ+KFxuICBwcmVkaWNhdGU6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlciwgc291cmNlOiBPYnNlcnZhYmxlPFQ+KSA9PiB2YWx1ZSBpcyBTLFxuICBkZWZhdWx0VmFsdWU/OiBTXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFM+O1xuZXhwb3J0IGZ1bmN0aW9uIGZpcnN0PFQsIFMgZXh0ZW5kcyBULCBEPihcbiAgcHJlZGljYXRlOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgPT4gdmFsdWUgaXMgUyxcbiAgZGVmYXVsdFZhbHVlOiBEXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFMgfCBEPjtcbmV4cG9ydCBmdW5jdGlvbiBmaXJzdDxULCBEID0gVD4oXG4gIHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IGJvb2xlYW4sXG4gIGRlZmF1bHRWYWx1ZT86IERcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVCB8IEQ+O1xuXG4vKipcbiAqIEVtaXRzIG9ubHkgdGhlIGZpcnN0IHZhbHVlIChvciB0aGUgZmlyc3QgdmFsdWUgdGhhdCBtZWV0cyBzb21lIGNvbmRpdGlvbilcbiAqIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5FbWl0cyBvbmx5IHRoZSBmaXJzdCB2YWx1ZS4gT3IgZW1pdHMgb25seSB0aGUgZmlyc3RcbiAqIHZhbHVlIHRoYXQgcGFzc2VzIHNvbWUgdGVzdC48L3NwYW4+XG4gKlxuICogIVtdKGZpcnN0LnBuZylcbiAqXG4gKiBJZiBjYWxsZWQgd2l0aCBubyBhcmd1bWVudHMsIGBmaXJzdGAgZW1pdHMgdGhlIGZpcnN0IHZhbHVlIG9mIHRoZSBzb3VyY2VcbiAqIE9ic2VydmFibGUsIHRoZW4gY29tcGxldGVzLiBJZiBjYWxsZWQgd2l0aCBhIGBwcmVkaWNhdGVgIGZ1bmN0aW9uLCBgZmlyc3RgXG4gKiBlbWl0cyB0aGUgZmlyc3QgdmFsdWUgb2YgdGhlIHNvdXJjZSB0aGF0IG1hdGNoZXMgdGhlIHNwZWNpZmllZCBjb25kaXRpb24uIFRocm93cyBhbiBlcnJvciBpZlxuICogYGRlZmF1bHRWYWx1ZWAgd2FzIG5vdCBwcm92aWRlZCBhbmQgYSBtYXRjaGluZyBlbGVtZW50IGlzIG5vdCBmb3VuZC5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIEVtaXQgb25seSB0aGUgZmlyc3QgY2xpY2sgdGhhdCBoYXBwZW5zIG9uIHRoZSBET01cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCBmaXJzdCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGNsaWNrcyA9IGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJyk7XG4gKiBjb25zdCByZXN1bHQgPSBjbGlja3MucGlwZShmaXJzdCgpKTtcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBFbWl0cyB0aGUgZmlyc3QgY2xpY2sgdGhhdCBoYXBwZW5zIG9uIGEgRElWXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgZmlyc3QgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBkaXYgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAqIGRpdi5zdHlsZS5jc3NUZXh0ID0gJ3dpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgYmFja2dyb3VuZDogIzA5YzsnO1xuICogZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkaXYpO1xuICpcbiAqIGNvbnN0IGNsaWNrcyA9IGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJyk7XG4gKiBjb25zdCByZXN1bHQgPSBjbGlja3MucGlwZShmaXJzdChldiA9PiAoPEhUTUxFbGVtZW50PmV2LnRhcmdldCkudGFnTmFtZSA9PT0gJ0RJVicpKTtcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBmaWx0ZXJ9XG4gKiBAc2VlIHtAbGluayBmaW5kfVxuICogQHNlZSB7QGxpbmsgdGFrZX1cbiAqXG4gKiBAdGhyb3dzIHtFbXB0eUVycm9yfSBEZWxpdmVycyBhbiBFbXB0eUVycm9yIHRvIHRoZSBPYnNlcnZlcidzIGBlcnJvcmBcbiAqIGNhbGxiYWNrIGlmIHRoZSBPYnNlcnZhYmxlIGNvbXBsZXRlcyBiZWZvcmUgYW55IGBuZXh0YCBub3RpZmljYXRpb24gd2FzIHNlbnQuXG4gKiBUaGlzIGlzIGhvdyBgZmlyc3QoKWAgaXMgZGlmZmVyZW50IGZyb20ge0BsaW5rIHRha2V9KDEpIHdoaWNoIGNvbXBsZXRlcyBpbnN0ZWFkLlxuICpcbiAqIEBwYXJhbSB7ZnVuY3Rpb24odmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIHNvdXJjZTogT2JzZXJ2YWJsZTxUPik6IGJvb2xlYW59IFtwcmVkaWNhdGVdXG4gKiBBbiBvcHRpb25hbCBmdW5jdGlvbiBjYWxsZWQgd2l0aCBlYWNoIGl0ZW0gdG8gdGVzdCBmb3IgY29uZGl0aW9uIG1hdGNoaW5nLlxuICogQHBhcmFtIHtEfSBbZGVmYXVsdFZhbHVlXSBUaGUgZGVmYXVsdCB2YWx1ZSBlbWl0dGVkIGluIGNhc2Ugbm8gdmFsaWQgdmFsdWVcbiAqIHdhcyBmb3VuZCBvbiB0aGUgc291cmNlLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGZpcnN0IGl0ZW0gdGhhdFxuICogbWF0Y2hlcyB0aGUgY29uZGl0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZmlyc3Q8VCwgRD4oXG4gIHByZWRpY2F0ZT86ICgodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgPT4gYm9vbGVhbikgfCBudWxsLFxuICBkZWZhdWx0VmFsdWU/OiBEXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFQgfCBEPiB7XG4gIGNvbnN0IGhhc0RlZmF1bHRWYWx1ZSA9IGFyZ3VtZW50cy5sZW5ndGggPj0gMjtcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+XG4gICAgc291cmNlLnBpcGUoXG4gICAgICBwcmVkaWNhdGUgPyBmaWx0ZXIoKHYsIGkpID0+IHByZWRpY2F0ZSh2LCBpLCBzb3VyY2UpKSA6IGlkZW50aXR5LFxuICAgICAgdGFrZSgxKSxcbiAgICAgIGhhc0RlZmF1bHRWYWx1ZSA/IGRlZmF1bHRJZkVtcHR5KGRlZmF1bHRWYWx1ZSEpIDogdGhyb3dJZkVtcHR5KCgpID0+IG5ldyBFbXB0eUVycm9yKCkpXG4gICAgKTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBpbm5lckZyb20gfSBmcm9tICcuLi9vYnNlcnZhYmxlL2lubmVyRnJvbSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAnLi4vU3ViamVjdCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQsIE9ic2VydmVyLCBPcGVyYXRvckZ1bmN0aW9uLCBTdWJqZWN0TGlrZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyLCBPcGVyYXRvclN1YnNjcmliZXIgfSBmcm9tICcuL09wZXJhdG9yU3Vic2NyaWJlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQmFzaWNHcm91cEJ5T3B0aW9uczxLLCBUPiB7XG4gIGVsZW1lbnQ/OiB1bmRlZmluZWQ7XG4gIGR1cmF0aW9uPzogKGdyb3VwZWQ6IEdyb3VwZWRPYnNlcnZhYmxlPEssIFQ+KSA9PiBPYnNlcnZhYmxlSW5wdXQ8YW55PjtcbiAgY29ubmVjdG9yPzogKCkgPT4gU3ViamVjdExpa2U8VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR3JvdXBCeU9wdGlvbnNXaXRoRWxlbWVudDxLLCBFLCBUPiB7XG4gIGVsZW1lbnQ6ICh2YWx1ZTogVCkgPT4gRTtcbiAgZHVyYXRpb24/OiAoZ3JvdXBlZDogR3JvdXBlZE9ic2VydmFibGU8SywgRT4pID0+IE9ic2VydmFibGVJbnB1dDxhbnk+O1xuICBjb25uZWN0b3I/OiAoKSA9PiBTdWJqZWN0TGlrZTxFPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwQnk8VCwgSz4oa2V5OiAodmFsdWU6IFQpID0+IEssIG9wdGlvbnM6IEJhc2ljR3JvdXBCeU9wdGlvbnM8SywgVD4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIEdyb3VwZWRPYnNlcnZhYmxlPEssIFQ+PjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwQnk8VCwgSywgRT4oXG4gIGtleTogKHZhbHVlOiBUKSA9PiBLLFxuICBvcHRpb25zOiBHcm91cEJ5T3B0aW9uc1dpdGhFbGVtZW50PEssIEUsIFQ+XG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIEdyb3VwZWRPYnNlcnZhYmxlPEssIEU+PjtcblxuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwQnk8VCwgSyBleHRlbmRzIFQ+KFxuICBrZXk6ICh2YWx1ZTogVCkgPT4gdmFsdWUgaXMgS1xuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBHcm91cGVkT2JzZXJ2YWJsZTx0cnVlLCBLPiB8IEdyb3VwZWRPYnNlcnZhYmxlPGZhbHNlLCBFeGNsdWRlPFQsIEs+Pj47XG5cbmV4cG9ydCBmdW5jdGlvbiBncm91cEJ5PFQsIEs+KGtleTogKHZhbHVlOiBUKSA9PiBLKTogT3BlcmF0b3JGdW5jdGlvbjxULCBHcm91cGVkT2JzZXJ2YWJsZTxLLCBUPj47XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHRoZSBvcHRpb25zIHBhcmFtZXRlciBpbnN0ZWFkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBCeTxULCBLPihcbiAga2V5OiAodmFsdWU6IFQpID0+IEssXG4gIGVsZW1lbnQ6IHZvaWQsXG4gIGR1cmF0aW9uOiAoZ3JvdXBlZDogR3JvdXBlZE9ic2VydmFibGU8SywgVD4pID0+IE9ic2VydmFibGU8YW55PlxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBHcm91cGVkT2JzZXJ2YWJsZTxLLCBUPj47XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgdXNlIHRoZSBvcHRpb25zIHBhcmFtZXRlciBpbnN0ZWFkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ3JvdXBCeTxULCBLLCBSPihcbiAga2V5OiAodmFsdWU6IFQpID0+IEssXG4gIGVsZW1lbnQ/OiAodmFsdWU6IFQpID0+IFIsXG4gIGR1cmF0aW9uPzogKGdyb3VwZWQ6IEdyb3VwZWRPYnNlcnZhYmxlPEssIFI+KSA9PiBPYnNlcnZhYmxlPGFueT5cbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgR3JvdXBlZE9ic2VydmFibGU8SywgUj4+O1xuXG4vKipcbiAqIEdyb3VwcyB0aGUgaXRlbXMgZW1pdHRlZCBieSBhbiBPYnNlcnZhYmxlIGFjY29yZGluZyB0byBhIHNwZWNpZmllZCBjcml0ZXJpb24sXG4gKiBhbmQgZW1pdHMgdGhlc2UgZ3JvdXBlZCBpdGVtcyBhcyBgR3JvdXBlZE9ic2VydmFibGVzYCwgb25lXG4gKiB7QGxpbmsgR3JvdXBlZE9ic2VydmFibGV9IHBlciBncm91cC5cbiAqXG4gKiAhW10oZ3JvdXBCeS5wbmcpXG4gKlxuICogV2hlbiB0aGUgT2JzZXJ2YWJsZSBlbWl0cyBhbiBpdGVtLCBhIGtleSBpcyBjb21wdXRlZCBmb3IgdGhpcyBpdGVtIHdpdGggdGhlIGtleSBmdW5jdGlvbi5cbiAqXG4gKiBJZiBhIHtAbGluayBHcm91cGVkT2JzZXJ2YWJsZX0gZm9yIHRoaXMga2V5IGV4aXN0cywgdGhpcyB7QGxpbmsgR3JvdXBlZE9ic2VydmFibGV9IGVtaXRzLiBPdGhlcndpc2UsIGEgbmV3XG4gKiB7QGxpbmsgR3JvdXBlZE9ic2VydmFibGV9IGZvciB0aGlzIGtleSBpcyBjcmVhdGVkIGFuZCBlbWl0cy5cbiAqXG4gKiBBIHtAbGluayBHcm91cGVkT2JzZXJ2YWJsZX0gcmVwcmVzZW50cyB2YWx1ZXMgYmVsb25naW5nIHRvIHRoZSBzYW1lIGdyb3VwIHJlcHJlc2VudGVkIGJ5IGEgY29tbW9uIGtleS4gVGhlIGNvbW1vblxuICoga2V5IGlzIGF2YWlsYWJsZSBhcyB0aGUgYGtleWAgZmllbGQgb2YgYSB7QGxpbmsgR3JvdXBlZE9ic2VydmFibGV9IGluc3RhbmNlLlxuICpcbiAqIFRoZSBlbGVtZW50cyBlbWl0dGVkIGJ5IHtAbGluayBHcm91cGVkT2JzZXJ2YWJsZX1zIGFyZSBieSBkZWZhdWx0IHRoZSBpdGVtcyBlbWl0dGVkIGJ5IHRoZSBPYnNlcnZhYmxlLCBvciBlbGVtZW50c1xuICogcmV0dXJuZWQgYnkgdGhlIGVsZW1lbnQgZnVuY3Rpb24uXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBHcm91cCBvYmplY3RzIGJ5IGBpZGAgYW5kIHJldHVybiBhcyBhcnJheVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBvZiwgZ3JvdXBCeSwgbWVyZ2VNYXAsIHJlZHVjZSB9IGZyb20gJ3J4anMnO1xuICpcbiAqIG9mKFxuICogICB7IGlkOiAxLCBuYW1lOiAnSmF2YVNjcmlwdCcgfSxcbiAqICAgeyBpZDogMiwgbmFtZTogJ1BhcmNlbCcgfSxcbiAqICAgeyBpZDogMiwgbmFtZTogJ3dlYnBhY2snIH0sXG4gKiAgIHsgaWQ6IDEsIG5hbWU6ICdUeXBlU2NyaXB0JyB9LFxuICogICB7IGlkOiAzLCBuYW1lOiAnVFNMaW50JyB9XG4gKiApLnBpcGUoXG4gKiAgIGdyb3VwQnkocCA9PiBwLmlkKSxcbiAqICAgbWVyZ2VNYXAoZ3JvdXAkID0+IGdyb3VwJC5waXBlKHJlZHVjZSgoYWNjLCBjdXIpID0+IFsuLi5hY2MsIGN1cl0sIFtdKSkpXG4gKiApXG4gKiAuc3Vic2NyaWJlKHAgPT4gY29uc29sZS5sb2cocCkpO1xuICpcbiAqIC8vIGRpc3BsYXlzOlxuICogLy8gW3sgaWQ6IDEsIG5hbWU6ICdKYXZhU2NyaXB0JyB9LCB7IGlkOiAxLCBuYW1lOiAnVHlwZVNjcmlwdCd9XVxuICogLy8gW3sgaWQ6IDIsIG5hbWU6ICdQYXJjZWwnIH0sIHsgaWQ6IDIsIG5hbWU6ICd3ZWJwYWNrJ31dXG4gKiAvLyBbeyBpZDogMywgbmFtZTogJ1RTTGludCcgfV1cbiAqIGBgYFxuICpcbiAqIFBpdm90IGRhdGEgb24gdGhlIGBpZGAgZmllbGRcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgb2YsIGdyb3VwQnksIG1lcmdlTWFwLCByZWR1Y2UsIG1hcCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIG9mKFxuICogICB7IGlkOiAxLCBuYW1lOiAnSmF2YVNjcmlwdCcgfSxcbiAqICAgeyBpZDogMiwgbmFtZTogJ1BhcmNlbCcgfSxcbiAqICAgeyBpZDogMiwgbmFtZTogJ3dlYnBhY2snIH0sXG4gKiAgIHsgaWQ6IDEsIG5hbWU6ICdUeXBlU2NyaXB0JyB9LFxuICogICB7IGlkOiAzLCBuYW1lOiAnVFNMaW50JyB9XG4gKiApLnBpcGUoXG4gKiAgIGdyb3VwQnkocCA9PiBwLmlkLCB7IGVsZW1lbnQ6IHAgPT4gcC5uYW1lIH0pLFxuICogICBtZXJnZU1hcChncm91cCQgPT4gZ3JvdXAkLnBpcGUocmVkdWNlKChhY2MsIGN1cikgPT4gWy4uLmFjYywgY3VyXSwgW2AkeyBncm91cCQua2V5IH1gXSkpKSxcbiAqICAgbWFwKGFyciA9PiAoeyBpZDogcGFyc2VJbnQoYXJyWzBdLCAxMCksIHZhbHVlczogYXJyLnNsaWNlKDEpIH0pKVxuICogKVxuICogLnN1YnNjcmliZShwID0+IGNvbnNvbGUubG9nKHApKTtcbiAqXG4gKiAvLyBkaXNwbGF5czpcbiAqIC8vIHsgaWQ6IDEsIHZhbHVlczogWyAnSmF2YVNjcmlwdCcsICdUeXBlU2NyaXB0JyBdIH1cbiAqIC8vIHsgaWQ6IDIsIHZhbHVlczogWyAnUGFyY2VsJywgJ3dlYnBhY2snIF0gfVxuICogLy8geyBpZDogMywgdmFsdWVzOiBbICdUU0xpbnQnIF0gfVxuICogYGBgXG4gKlxuICogQHBhcmFtIGtleSBBIGZ1bmN0aW9uIHRoYXQgZXh0cmFjdHMgdGhlIGtleVxuICogZm9yIGVhY2ggaXRlbS5cbiAqIEBwYXJhbSBlbGVtZW50IEEgZnVuY3Rpb24gdGhhdCBleHRyYWN0cyB0aGVcbiAqIHJldHVybiBlbGVtZW50IGZvciBlYWNoIGl0ZW0uXG4gKiBAcGFyYW0gZHVyYXRpb25cbiAqIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdG8gZGV0ZXJtaW5lIGhvdyBsb25nIGVhY2ggZ3JvdXAgc2hvdWxkXG4gKiBleGlzdC5cbiAqIEBwYXJhbSBjb25uZWN0b3IgRmFjdG9yeSBmdW5jdGlvbiB0byBjcmVhdGUgYW5cbiAqIGludGVybWVkaWF0ZSBTdWJqZWN0IHRocm91Z2ggd2hpY2ggZ3JvdXBlZCBlbGVtZW50cyBhcmUgZW1pdHRlZC5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIEdyb3VwZWRPYnNlcnZhYmxlcyxcbiAqIGVhY2ggb2Ygd2hpY2ggY29ycmVzcG9uZHMgdG8gYSB1bmlxdWUga2V5IHZhbHVlIGFuZCBlYWNoIG9mIHdoaWNoIGVtaXRzXG4gKiB0aG9zZSBpdGVtcyBmcm9tIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB0aGF0IHNoYXJlIHRoYXQga2V5IHZhbHVlLlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSB0aGUgb3B0aW9ucyBwYXJhbWV0ZXIgaW5zdGVhZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwQnk8VCwgSywgUj4oXG4gIGtleTogKHZhbHVlOiBUKSA9PiBLLFxuICBlbGVtZW50PzogKHZhbHVlOiBUKSA9PiBSLFxuICBkdXJhdGlvbj86IChncm91cGVkOiBHcm91cGVkT2JzZXJ2YWJsZTxLLCBSPikgPT4gT2JzZXJ2YWJsZTxhbnk+LFxuICBjb25uZWN0b3I/OiAoKSA9PiBTdWJqZWN0PFI+XG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIEdyb3VwZWRPYnNlcnZhYmxlPEssIFI+PjtcblxuLy8gSW1wbFxuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwQnk8VCwgSywgUj4oXG4gIGtleVNlbGVjdG9yOiAodmFsdWU6IFQpID0+IEssXG4gIGVsZW1lbnRPck9wdGlvbnM/OiAoKHZhbHVlOiBhbnkpID0+IGFueSkgfCB2b2lkIHwgQmFzaWNHcm91cEJ5T3B0aW9uczxLLCBUPiB8IEdyb3VwQnlPcHRpb25zV2l0aEVsZW1lbnQ8SywgUiwgVD4sXG4gIGR1cmF0aW9uPzogKGdyb3VwZWQ6IEdyb3VwZWRPYnNlcnZhYmxlPGFueSwgYW55PikgPT4gT2JzZXJ2YWJsZUlucHV0PGFueT4sXG4gIGNvbm5lY3Rvcj86ICgpID0+IFN1YmplY3RMaWtlPGFueT5cbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgR3JvdXBlZE9ic2VydmFibGU8SywgUj4+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIGxldCBlbGVtZW50OiAoKHZhbHVlOiBhbnkpID0+IGFueSkgfCB2b2lkO1xuICAgIGlmICghZWxlbWVudE9yT3B0aW9ucyB8fCB0eXBlb2YgZWxlbWVudE9yT3B0aW9ucyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgZWxlbWVudCA9IGVsZW1lbnRPck9wdGlvbnMgYXMgKCh2YWx1ZTogYW55KSA9PiBhbnkpO1xuICAgIH0gZWxzZSB7XG4gICAgICAoeyBkdXJhdGlvbiwgZWxlbWVudCwgY29ubmVjdG9yIH0gPSBlbGVtZW50T3JPcHRpb25zKTtcbiAgICB9XG5cbiAgICAvLyBBIGxvb2t1cCBmb3IgdGhlIGdyb3VwcyB0aGF0IHdlIGhhdmUgc28gZmFyLlxuICAgIGNvbnN0IGdyb3VwcyA9IG5ldyBNYXA8SywgU3ViamVjdExpa2U8YW55Pj4oKTtcblxuICAgIC8vIFVzZWQgZm9yIG5vdGlmeWluZyBhbGwgZ3JvdXBzIGFuZCB0aGUgc3Vic2NyaWJlciBpbiB0aGUgc2FtZSB3YXkuXG4gICAgY29uc3Qgbm90aWZ5ID0gKGNiOiAoZ3JvdXA6IE9ic2VydmVyPGFueT4pID0+IHZvaWQpID0+IHtcbiAgICAgIGdyb3Vwcy5mb3JFYWNoKGNiKTtcbiAgICAgIGNiKHN1YnNjcmliZXIpO1xuICAgIH07XG5cbiAgICAvLyBVc2VkIHRvIGhhbmRsZSBlcnJvcnMgZnJvbSB0aGUgc291cmNlLCBBTkQgZXJyb3JzIHRoYXQgb2NjdXIgZHVyaW5nIHRoZVxuICAgIC8vIG5leHQgY2FsbCBmcm9tIHRoZSBzb3VyY2UuXG4gICAgY29uc3QgaGFuZGxlRXJyb3IgPSAoZXJyOiBhbnkpID0+IG5vdGlmeSgoY29uc3VtZXIpID0+IGNvbnN1bWVyLmVycm9yKGVycikpO1xuXG4gICAgLy8gVGhlIG51bWJlciBvZiBhY3RpdmVseSBzdWJzY3JpYmVkIGdyb3Vwc1xuICAgIGxldCBhY3RpdmVHcm91cHMgPSAwO1xuXG4gICAgLy8gV2hldGhlciBvciBub3QgdGVhcmRvd24gd2FzIGF0dGVtcHRlZCBvbiB0aGlzIHN1YnNjcmlwdGlvbi5cbiAgICBsZXQgdGVhcmRvd25BdHRlbXB0ZWQgPSBmYWxzZTtcblxuICAgIC8vIENhcHR1cmluZyBhIHJlZmVyZW5jZSB0byB0aGlzLCBiZWNhdXNlIHdlIG5lZWQgYSBoYW5kbGUgdG8gaXRcbiAgICAvLyBpbiBgY3JlYXRlR3JvdXBlZE9ic2VydmFibGVgIGJlbG93LiBUaGlzIGlzIHdoYXQgd2UgdXNlIHRvXG4gICAgLy8gc3Vic2NyaWJlIHRvIG91ciBzb3VyY2Ugb2JzZXJ2YWJsZS4gVGhpcyBzb21ldGltZXMgbmVlZHMgdG8gYmUgdW5zdWJzY3JpYmVkXG4gICAgLy8gb3V0LW9mLWJhbmQgd2l0aCBvdXIgYHN1YnNjcmliZXJgIHdoaWNoIGlzIHRoZSBkb3duc3RyZWFtIHN1YnNjcmliZXIsIG9yIGRlc3RpbmF0aW9uLFxuICAgIC8vIGluIGNhc2VzIHdoZXJlIGEgdXNlciB1bnN1YnNjcmliZXMgZnJvbSB0aGUgbWFpbiByZXN1bHRpbmcgc3Vic2NyaXB0aW9uLCBidXRcbiAgICAvLyBzdGlsbCBoYXMgZ3JvdXBzIGZyb20gdGhpcyBzdWJzY3JpcHRpb24gc3Vic2NyaWJlZCBhbmQgd291bGQgZXhwZWN0IHZhbHVlcyBmcm9tIGl0XG4gICAgLy8gQ29uc2lkZXI6ICBgc291cmNlLnBpcGUoZ3JvdXBCeShmbiksIHRha2UoMikpYC5cbiAgICBjb25zdCBncm91cEJ5U291cmNlU3Vic2NyaWJlciA9IG5ldyBPcGVyYXRvclN1YnNjcmliZXIoXG4gICAgICBzdWJzY3JpYmVyLFxuICAgICAgKHZhbHVlOiBUKSA9PiB7XG4gICAgICAgIC8vIEJlY2F1c2Ugd2UgaGF2ZSB0byBub3RpZnkgYWxsIGdyb3VwcyBvZiBhbnkgZXJyb3JzIHRoYXQgb2NjdXIgaW4gaGVyZSxcbiAgICAgICAgLy8gd2UgaGF2ZSB0byBhZGQgb3VyIG93biB0cnkvY2F0Y2ggdG8gZW5zdXJlIHRoYXQgdGhvc2UgZXJyb3JzIGFyZSBwcm9wYWdhdGVkLlxuICAgICAgICAvLyBPcGVyYXRvclN1YnNjcmliZXIgd2lsbCBvbmx5IHNlbmQgdGhlIGVycm9yIHRvIHRoZSBtYWluIHN1YnNjcmliZXIuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3Qga2V5ID0ga2V5U2VsZWN0b3IodmFsdWUpO1xuXG4gICAgICAgICAgbGV0IGdyb3VwID0gZ3JvdXBzLmdldChrZXkpO1xuICAgICAgICAgIGlmICghZ3JvdXApIHtcbiAgICAgICAgICAgIC8vIENyZWF0ZSBvdXIgZ3JvdXAgc3ViamVjdFxuICAgICAgICAgICAgZ3JvdXBzLnNldChrZXksIChncm91cCA9IGNvbm5lY3RvciA/IGNvbm5lY3RvcigpIDogbmV3IFN1YmplY3Q8YW55PigpKSk7XG5cbiAgICAgICAgICAgIC8vIEVtaXQgdGhlIGdyb3VwZWQgb2JzZXJ2YWJsZS4gTm90ZSB0aGF0IHdlIGNhbid0IGRvIGEgc2ltcGxlIGBhc09ic2VydmFibGUoKWAgaGVyZSxcbiAgICAgICAgICAgIC8vIGJlY2F1c2UgdGhlIGdyb3VwZWQgb2JzZXJ2YWJsZSBoYXMgc3BlY2lhbCBzZW1hbnRpY3MgYXJvdW5kIHJlZmVyZW5jZSBjb3VudGluZ1xuICAgICAgICAgICAgLy8gdG8gZW5zdXJlIHdlIGRvbid0IHNldmVyIG91ciBjb25uZWN0aW9uIHRvIHRoZSBzb3VyY2UgcHJlbWF0dXJlbHkuXG4gICAgICAgICAgICBjb25zdCBncm91cGVkID0gY3JlYXRlR3JvdXBlZE9ic2VydmFibGUoa2V5LCBncm91cCk7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoZ3JvdXBlZCk7XG5cbiAgICAgICAgICAgIGlmIChkdXJhdGlvbikge1xuICAgICAgICAgICAgICBjb25zdCBkdXJhdGlvblN1YnNjcmliZXIgPSBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoXG4gICAgICAgICAgICAgICAgLy8gUHJvdmlkaW5nIHRoZSBncm91cCBoZXJlIGVuc3VyZXMgdGhhdCBpdCBpcyBkaXNwb3NlZCBvZiAtLSB2aWEgYHVuc3Vic2NyaWJlYCAtLVxuICAgICAgICAgICAgICAgIC8vIHdoZW4gdGhlIGR1cmF0aW9uIHN1YnNjcmlwdGlvbiBpcyB0b3JuIGRvd24uIFRoYXQgaXMgaW1wb3J0YW50LCBiZWNhdXNlIHRoZW5cbiAgICAgICAgICAgICAgICAvLyBpZiBzb21lb25lIGhvbGRzIGEgaGFuZGxlIHRvIHRoZSBncm91cGVkIG9ic2VydmFibGUgYW5kIHRyaWVzIHRvIHN1YnNjcmliZSB0byBpdFxuICAgICAgICAgICAgICAgIC8vIGFmdGVyIHRoZSBjb25uZWN0aW9uIHRvIHRoZSBzb3VyY2UgaGFzIGJlZW4gc2V2ZXJlZCwgdGhleSB3aWxsIGdldCBhblxuICAgICAgICAgICAgICAgIC8vIGBPYmplY3RVbnN1YnNjcmliZWRFcnJvcmAgYW5kIGtub3cgdGhleSBjYW4ndCBwb3NzaWJseSBnZXQgYW55IG5vdGlmaWNhdGlvbnMuXG4gICAgICAgICAgICAgICAgZ3JvdXAgYXMgYW55LFxuICAgICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAgIC8vIE91ciBkdXJhdGlvbiBub3RpZmllZCEgV2UgY2FuIGNvbXBsZXRlIHRoZSBncm91cC5cbiAgICAgICAgICAgICAgICAgIC8vIFRoZSBncm91cCB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgbWFwIGluIHRoZSBmaW5hbGl6YXRpb24gcGhhc2UuXG4gICAgICAgICAgICAgICAgICBncm91cCEuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgIGR1cmF0aW9uU3Vic2NyaWJlcj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIC8vIENvbXBsZXRpb25zIGFyZSBhbHNvIHNlbnQgdG8gdGhlIGdyb3VwLCBidXQganVzdCB0aGUgZ3JvdXAuXG4gICAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAgIC8vIEVycm9ycyBvbiB0aGUgZHVyYXRpb24gc3Vic2NyaWJlciBhcmUgc2VudCB0byB0aGUgZ3JvdXBcbiAgICAgICAgICAgICAgICAvLyBidXQgb25seSB0aGUgZ3JvdXAuIFRoZXkgYXJlIG5vdCBzZW50IHRvIHRoZSBtYWluIHN1YnNjcmlwdGlvbi5cbiAgICAgICAgICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAgICAgICAgLy8gRmluYWxpemF0aW9uOiBSZW1vdmUgdGhpcyBncm91cCBmcm9tIG91ciBtYXAuXG4gICAgICAgICAgICAgICAgKCkgPT4gZ3JvdXBzLmRlbGV0ZShrZXkpXG4gICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgLy8gU3RhcnQgb3VyIGR1cmF0aW9uIG5vdGlmaWVyLlxuICAgICAgICAgICAgICBncm91cEJ5U291cmNlU3Vic2NyaWJlci5hZGQoaW5uZXJGcm9tKGR1cmF0aW9uKGdyb3VwZWQpKS5zdWJzY3JpYmUoZHVyYXRpb25TdWJzY3JpYmVyKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gU2VuZCB0aGUgdmFsdWUgdG8gb3VyIGdyb3VwLlxuICAgICAgICAgIGdyb3VwLm5leHQoZWxlbWVudCA/IGVsZW1lbnQodmFsdWUpIDogdmFsdWUpO1xuICAgICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgICBoYW5kbGVFcnJvcihlcnIpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgLy8gU291cmNlIGNvbXBsZXRlcy5cbiAgICAgICgpID0+IG5vdGlmeSgoY29uc3VtZXIpID0+IGNvbnN1bWVyLmNvbXBsZXRlKCkpLFxuICAgICAgLy8gRXJyb3IgZnJvbSB0aGUgc291cmNlLlxuICAgICAgaGFuZGxlRXJyb3IsXG4gICAgICAvLyBGcmVlIHVwIG1lbW9yeS5cbiAgICAgIC8vIFdoZW4gdGhlIHNvdXJjZSBzdWJzY3JpcHRpb24gaXMgX2ZpbmFsbHlfIHRvcm4gZG93biwgcmVsZWFzZSB0aGUgc3ViamVjdHMgYW5kIGtleXNcbiAgICAgIC8vIGluIG91ciBncm91cHMgTWFwLCB0aGV5IG1heSBiZSBxdWl0ZSBsYXJnZSBhbmQgd2UgZG9uJ3Qgd2FudCB0byBrZWVwIHRoZW0gYXJvdW5kIGlmIHdlXG4gICAgICAvLyBkb24ndCBoYXZlIHRvLlxuICAgICAgKCkgPT4gZ3JvdXBzLmNsZWFyKCksXG4gICAgICAoKSA9PiB7XG4gICAgICAgIHRlYXJkb3duQXR0ZW1wdGVkID0gdHJ1ZTtcbiAgICAgICAgLy8gV2Ugb25seSBraWxsIG91ciBzdWJzY3JpcHRpb24gdG8gdGhlIHNvdXJjZSBpZiB3ZSBoYXZlXG4gICAgICAgIC8vIG5vIGFjdGl2ZSBncm91cHMuIEFzIHN0YXRlZCBhYm92ZSwgY29uc2lkZXIgdGhpcyBzY2VuYXJpbzpcbiAgICAgICAgLy8gc291cmNlJC5waXBlKGdyb3VwQnkoZm4pLCB0YWtlKDIpKS5cbiAgICAgICAgcmV0dXJuIGFjdGl2ZUdyb3VwcyA9PT0gMDtcbiAgICAgIH1cbiAgICApO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIHRoZSBzb3VyY2VcbiAgICBzb3VyY2Uuc3Vic2NyaWJlKGdyb3VwQnlTb3VyY2VTdWJzY3JpYmVyKTtcblxuICAgIC8qKlxuICAgICAqIENyZWF0ZXMgdGhlIGFjdHVhbCBncm91cGVkIG9ic2VydmFibGUgcmV0dXJuZWQuXG4gICAgICogQHBhcmFtIGtleSBUaGUga2V5IG9mIHRoZSBncm91cFxuICAgICAqIEBwYXJhbSBncm91cFN1YmplY3QgVGhlIHN1YmplY3QgdGhhdCBmdWVscyB0aGUgZ3JvdXBcbiAgICAgKi9cbiAgICBmdW5jdGlvbiBjcmVhdGVHcm91cGVkT2JzZXJ2YWJsZShrZXk6IEssIGdyb3VwU3ViamVjdDogU3ViamVjdExpa2U8YW55Pikge1xuICAgICAgY29uc3QgcmVzdWx0OiBhbnkgPSBuZXcgT2JzZXJ2YWJsZTxUPigoZ3JvdXBTdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgIGFjdGl2ZUdyb3VwcysrO1xuICAgICAgICBjb25zdCBpbm5lclN1YiA9IGdyb3VwU3ViamVjdC5zdWJzY3JpYmUoZ3JvdXBTdWJzY3JpYmVyKTtcbiAgICAgICAgcmV0dXJuICgpID0+IHtcbiAgICAgICAgICBpbm5lclN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIC8vIFdlIGNhbiBraWxsIHRoZSBzdWJzY3JpcHRpb24gdG8gb3VyIHNvdXJjZSBpZiB3ZSBub3cgaGF2ZSBubyBtb3JlXG4gICAgICAgICAgLy8gYWN0aXZlIGdyb3VwcyBzdWJzY3JpYmVkLCBhbmQgYSBmaW5hbGl6YXRpb24gd2FzIGFscmVhZHkgYXR0ZW1wdGVkIG9uXG4gICAgICAgICAgLy8gdGhlIHNvdXJjZS5cbiAgICAgICAgICAtLWFjdGl2ZUdyb3VwcyA9PT0gMCAmJiB0ZWFyZG93bkF0dGVtcHRlZCAmJiBncm91cEJ5U291cmNlU3Vic2NyaWJlci51bnN1YnNjcmliZSgpO1xuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgICByZXN1bHQua2V5ID0ga2V5O1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gIH0pO1xufVxuXG4vKipcbiAqIEFuIG9ic2VydmFibGUgb2YgdmFsdWVzIHRoYXQgaXMgdGhlIGVtaXR0ZWQgYnkgdGhlIHJlc3VsdCBvZiBhIHtAbGluayBncm91cEJ5fSBvcGVyYXRvcixcbiAqIGNvbnRhaW5zIGEgYGtleWAgcHJvcGVydHkgZm9yIHRoZSBncm91cGluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcm91cGVkT2JzZXJ2YWJsZTxLLCBUPiBleHRlbmRzIE9ic2VydmFibGU8VD4ge1xuICAvKipcbiAgICogVGhlIGtleSB2YWx1ZSBmb3IgdGhlIGdyb3VwZWQgbm90aWZpY2F0aW9ucy5cbiAgICovXG4gIHJlYWRvbmx5IGtleTogSztcbn1cbiIsICJpbXBvcnQgeyBPcGVyYXRvckZ1bmN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIgfSBmcm9tICcuL09wZXJhdG9yU3Vic2NyaWJlcic7XG5cbi8qKlxuICogRW1pdHMgYGZhbHNlYCBpZiB0aGUgaW5wdXQgT2JzZXJ2YWJsZSBlbWl0cyBhbnkgdmFsdWVzLCBvciBlbWl0cyBgdHJ1ZWAgaWYgdGhlXG4gKiBpbnB1dCBPYnNlcnZhYmxlIGNvbXBsZXRlcyB3aXRob3V0IGVtaXR0aW5nIGFueSB2YWx1ZXMuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPlRlbGxzIHdoZXRoZXIgYW55IHZhbHVlcyBhcmUgZW1pdHRlZCBieSBhbiBPYnNlcnZhYmxlLjwvc3Bhbj5cbiAqXG4gKiAhW10oaXNFbXB0eS5wbmcpXG4gKlxuICogYGlzRW1wdHlgIHRyYW5zZm9ybXMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHZhbHVlcyBpbnRvIGFuIE9ic2VydmFibGUgdGhhdFxuICogZW1pdHMgYSBzaW5nbGUgYm9vbGVhbiB2YWx1ZSByZXByZXNlbnRpbmcgd2hldGhlciBvciBub3QgYW55IHZhbHVlcyB3ZXJlXG4gKiBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS4gQXMgc29vbiBhcyB0aGUgc291cmNlIE9ic2VydmFibGUgZW1pdHMgYVxuICogdmFsdWUsIGBpc0VtcHR5YCB3aWxsIGVtaXQgYSBgZmFsc2VgIGFuZCBjb21wbGV0ZS4gIElmIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZVxuICogY29tcGxldGVzIGhhdmluZyBub3QgZW1pdHRlZCBhbnl0aGluZywgYGlzRW1wdHlgIHdpbGwgZW1pdCBhIGB0cnVlYCBhbmRcbiAqIGNvbXBsZXRlLlxuICpcbiAqIEEgc2ltaWxhciBlZmZlY3QgY291bGQgYmUgYWNoaWV2ZWQgd2l0aCB7QGxpbmsgY291bnR9LCBidXQgYGlzRW1wdHlgIGNhbiBlbWl0XG4gKiBhIGBmYWxzZWAgdmFsdWUgc29vbmVyLlxuICpcbiAqICMjIEV4YW1wbGVzXG4gKlxuICogRW1pdCBgZmFsc2VgIGZvciBhIG5vbi1lbXB0eSBPYnNlcnZhYmxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IFN1YmplY3QsIGlzRW1wdHkgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBzb3VyY2UgPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gKiBjb25zdCByZXN1bHQgPSBzb3VyY2UucGlwZShpc0VtcHR5KCkpO1xuICpcbiAqIHNvdXJjZS5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIHNvdXJjZS5uZXh0KCdhJyk7XG4gKiBzb3VyY2UubmV4dCgnYicpO1xuICogc291cmNlLm5leHQoJ2MnKTtcbiAqIHNvdXJjZS5jb21wbGV0ZSgpO1xuICpcbiAqIC8vIE91dHB1dHNcbiAqIC8vICdhJ1xuICogLy8gZmFsc2VcbiAqIC8vICdiJ1xuICogLy8gJ2MnXG4gKiBgYGBcbiAqXG4gKiBFbWl0IGB0cnVlYCBmb3IgYW4gZW1wdHkgT2JzZXJ2YWJsZVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBFTVBUWSwgaXNFbXB0eSB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHJlc3VsdCA9IEVNUFRZLnBpcGUoaXNFbXB0eSgpKTtcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKlxuICogLy8gT3V0cHV0c1xuICogLy8gdHJ1ZVxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgY291bnR9XG4gKiBAc2VlIHtAbGluayBFTVBUWX1cbiAqXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBib29sZWFuIHZhbHVlXG4gKiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHdhcyBlbXB0eSBvciBub3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc0VtcHR5PFQ+KCk6IE9wZXJhdG9yRnVuY3Rpb248VCwgYm9vbGVhbj4ge1xuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHN1YnNjcmliZXIubmV4dChmYWxzZSk7XG4gICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHRydWUpO1xuICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgICk7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IEVNUFRZIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9lbXB0eSc7XG5pbXBvcnQgeyBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuLyoqXG4gKiBXYWl0cyBmb3IgdGhlIHNvdXJjZSB0byBjb21wbGV0ZSwgdGhlbiBlbWl0cyB0aGUgbGFzdCBOIHZhbHVlcyBmcm9tIHRoZSBzb3VyY2UsXG4gKiBhcyBzcGVjaWZpZWQgYnkgdGhlIGBjb3VudGAgYXJndW1lbnQuXG4gKlxuICogIVtdKHRha2VMYXN0LnBuZylcbiAqXG4gKiBgdGFrZUxhc3RgIHJlc3VsdHMgaW4gYW4gb2JzZXJ2YWJsZSB0aGF0IHdpbGwgaG9sZCB2YWx1ZXMgdXAgdG8gYGNvdW50YCB2YWx1ZXMgaW4gbWVtb3J5LFxuICogdW50aWwgdGhlIHNvdXJjZSBjb21wbGV0ZXMuIEl0IHRoZW4gcHVzaGVzIGFsbCB2YWx1ZXMgaW4gbWVtb3J5IHRvIHRoZSBjb25zdW1lciwgaW4gdGhlXG4gKiBvcmRlciB0aGV5IHdlcmUgcmVjZWl2ZWQgZnJvbSB0aGUgc291cmNlLCB0aGVuIG5vdGlmaWVzIHRoZSBjb25zdW1lciB0aGF0IGl0IGlzXG4gKiBjb21wbGV0ZS5cbiAqXG4gKiBJZiBmb3Igc29tZSByZWFzb24gdGhlIHNvdXJjZSBjb21wbGV0ZXMgYmVmb3JlIHRoZSBgY291bnRgIHN1cHBsaWVkIHRvIGB0YWtlTGFzdGAgaXMgcmVhY2hlZCxcbiAqIGFsbCB2YWx1ZXMgcmVjZWl2ZWQgdW50aWwgdGhhdCBwb2ludCBhcmUgZW1pdHRlZCwgYW5kIHRoZW4gY29tcGxldGlvbiBpcyBub3RpZmllZC5cbiAqXG4gKiAqKldhcm5pbmcqKjogVXNpbmcgYHRha2VMYXN0YCB3aXRoIGFuIG9ic2VydmFibGUgdGhhdCBuZXZlciBjb21wbGV0ZXMgd2lsbCByZXN1bHRcbiAqIGluIGFuIG9ic2VydmFibGUgdGhhdCBuZXZlciBlbWl0cyBhIHZhbHVlLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBUYWtlIHRoZSBsYXN0IDMgdmFsdWVzIG9mIGFuIE9ic2VydmFibGUgd2l0aCBtYW55IHZhbHVlc1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyByYW5nZSwgdGFrZUxhc3QgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBtYW55ID0gcmFuZ2UoMSwgMTAwKTtcbiAqIGNvbnN0IGxhc3RUaHJlZSA9IG1hbnkucGlwZSh0YWtlTGFzdCgzKSk7XG4gKiBsYXN0VGhyZWUuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgdGFrZX1cbiAqIEBzZWUge0BsaW5rIHRha2VVbnRpbH1cbiAqIEBzZWUge0BsaW5rIHRha2VXaGlsZX1cbiAqIEBzZWUge0BsaW5rIHNraXB9XG4gKlxuICogQHBhcmFtIGNvdW50IFRoZSBtYXhpbXVtIG51bWJlciBvZiB2YWx1ZXMgdG8gZW1pdCBmcm9tIHRoZSBlbmQgb2ZcbiAqIHRoZSBzZXF1ZW5jZSBvZiB2YWx1ZXMgZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBhdCBtb3N0IHRoZSBsYXN0XG4gKiBgY291bnRgIHZhbHVlcyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRha2VMYXN0PFQ+KGNvdW50OiBudW1iZXIpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICByZXR1cm4gY291bnQgPD0gMFxuICAgID8gKCkgPT4gRU1QVFlcbiAgICA6IG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAvLyBUaGlzIGJ1ZmZlciB3aWxsIGhvbGQgdGhlIHZhbHVlcyB3ZSBhcmUgZ29pbmcgdG8gZW1pdFxuICAgICAgICAvLyB3aGVuIHRoZSBzb3VyY2UgY29tcGxldGVzLiBTaW5jZSB3ZSBvbmx5IHdhbnQgdG8gdGFrZSB0aGVcbiAgICAgICAgLy8gbGFzdCBOIHZhbHVlcywgd2UgY2FuJ3QgZW1pdCB1bnRpbCB3ZSdyZSBzdXJlIHdlJ3JlIG5vdCBnZXR0aW5nXG4gICAgICAgIC8vIGFueSBtb3JlIHZhbHVlcy5cbiAgICAgICAgbGV0IGJ1ZmZlcjogVFtdID0gW107XG4gICAgICAgIHNvdXJjZS5zdWJzY3JpYmUoXG4gICAgICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgICAgICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAvLyBBZGQgdGhlIG1vc3QgcmVjZW50IHZhbHVlIG9udG8gdGhlIGVuZCBvZiBvdXIgYnVmZmVyLlxuICAgICAgICAgICAgICBidWZmZXIucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICAgIC8vIElmIG91ciBidWZmZXIgaXMgbm93IGxhcmdlciB0aGFuIHRoZSBudW1iZXIgb2YgdmFsdWVzIHdlXG4gICAgICAgICAgICAgIC8vIHdhbnQgdG8gdGFrZSwgd2UgcmVtb3ZlIHRoZSBvbGRlc3QgdmFsdWUgZnJvbSB0aGUgYnVmZmVyLlxuICAgICAgICAgICAgICBjb3VudCA8IGJ1ZmZlci5sZW5ndGggJiYgYnVmZmVyLnNoaWZ0KCk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAvLyBUaGUgc291cmNlIGNvbXBsZXRlZCwgd2Ugbm93IGtub3cgd2hhdCBhcmUgbGFzdCB2YWx1ZXNcbiAgICAgICAgICAgICAgLy8gYXJlLCBlbWl0IHRoZW0gaW4gdGhlIG9yZGVyIHRoZXkgd2VyZSByZWNlaXZlZC5cbiAgICAgICAgICAgICAgZm9yIChjb25zdCB2YWx1ZSBvZiBidWZmZXIpIHtcbiAgICAgICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAvLyBFcnJvcnMgYXJlIHBhc3NlZCB0aHJvdWdoIHRvIHRoZSBjb25zdW1lclxuICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAvLyBEdXJpbmcgZmluYWxpemF0aW9uIHJlbGVhc2UgdGhlIHZhbHVlcyBpbiBvdXIgYnVmZmVyLlxuICAgICAgICAgICAgICBidWZmZXIgPSBudWxsITtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9KTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBFbXB0eUVycm9yIH0gZnJvbSAnLi4vdXRpbC9FbXB0eUVycm9yJztcbmltcG9ydCB7IE9wZXJhdG9yRnVuY3Rpb24sIFRydXRoeVR5cGVzT2YgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBmaWx0ZXIgfSBmcm9tICcuL2ZpbHRlcic7XG5pbXBvcnQgeyB0YWtlTGFzdCB9IGZyb20gJy4vdGFrZUxhc3QnO1xuaW1wb3J0IHsgdGhyb3dJZkVtcHR5IH0gZnJvbSAnLi90aHJvd0lmRW1wdHknO1xuaW1wb3J0IHsgZGVmYXVsdElmRW1wdHkgfSBmcm9tICcuL2RlZmF1bHRJZkVtcHR5JztcbmltcG9ydCB7IGlkZW50aXR5IH0gZnJvbSAnLi4vdXRpbC9pZGVudGl0eSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBsYXN0PFQ+KHByZWRpY2F0ZTogQm9vbGVhbkNvbnN0cnVjdG9yKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUcnV0aHlUeXBlc09mPFQ+PjtcbmV4cG9ydCBmdW5jdGlvbiBsYXN0PFQsIEQ+KHByZWRpY2F0ZTogQm9vbGVhbkNvbnN0cnVjdG9yLCBkZWZhdWx0VmFsdWU6IEQpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFRydXRoeVR5cGVzT2Y8VD4gfCBEPjtcbmV4cG9ydCBmdW5jdGlvbiBsYXN0PFQsIEQgPSBUPihwcmVkaWNhdGU/OiBudWxsLCBkZWZhdWx0VmFsdWU/OiBEKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUIHwgRD47XG5leHBvcnQgZnVuY3Rpb24gbGFzdDxULCBTIGV4dGVuZHMgVD4oXG4gIHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IHZhbHVlIGlzIFMsXG4gIGRlZmF1bHRWYWx1ZT86IFNcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgUz47XG5leHBvcnQgZnVuY3Rpb24gbGFzdDxULCBEID0gVD4oXG4gIHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyLCBzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IGJvb2xlYW4sXG4gIGRlZmF1bHRWYWx1ZT86IERcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVCB8IEQ+O1xuXG4vKipcbiAqIFJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIG9ubHkgdGhlIGxhc3QgaXRlbSBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS5cbiAqIEl0IG9wdGlvbmFsbHkgdGFrZXMgYSBwcmVkaWNhdGUgZnVuY3Rpb24gYXMgYSBwYXJhbWV0ZXIsIGluIHdoaWNoIGNhc2UsIHJhdGhlciB0aGFuIGVtaXR0aW5nXG4gKiB0aGUgbGFzdCBpdGVtIGZyb20gdGhlIHNvdXJjZSBPYnNlcnZhYmxlLCB0aGUgcmVzdWx0aW5nIE9ic2VydmFibGUgd2lsbCBlbWl0IHRoZSBsYXN0IGl0ZW1cbiAqIGZyb20gdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHRoYXQgc2F0aXNmaWVzIHRoZSBwcmVkaWNhdGUuXG4gKlxuICogIVtdKGxhc3QucG5nKVxuICpcbiAqIEl0IHdpbGwgdGhyb3cgYW4gZXJyb3IgaWYgdGhlIHNvdXJjZSBjb21wbGV0ZXMgd2l0aG91dCBub3RpZmljYXRpb24gb3Igb25lIHRoYXQgbWF0Y2hlcyB0aGUgcHJlZGljYXRlLiBJdFxuICogcmV0dXJucyB0aGUgbGFzdCB2YWx1ZSBvciBpZiBhIHByZWRpY2F0ZSBpcyBwcm92aWRlZCBsYXN0IHZhbHVlIHRoYXQgbWF0Y2hlcyB0aGUgcHJlZGljYXRlLiBJdCByZXR1cm5zIHRoZVxuICogZ2l2ZW4gZGVmYXVsdCB2YWx1ZSBpZiBubyBub3RpZmljYXRpb24gaXMgZW1pdHRlZCBvciBtYXRjaGVzIHRoZSBwcmVkaWNhdGUuXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBMYXN0IGFscGhhYmV0IGZyb20gdGhlIHNlcXVlbmNlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb20sIGxhc3QgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBzb3VyY2UgPSBmcm9tKFsneCcsICd5JywgJ3onXSk7XG4gKiBjb25zdCByZXN1bHQgPSBzb3VyY2UucGlwZShsYXN0KCkpO1xuICpcbiAqIHJlc3VsdC5zdWJzY3JpYmUodmFsdWUgPT4gY29uc29sZS5sb2coYExhc3QgYWxwaGFiZXQ6ICR7IHZhbHVlIH1gKSk7XG4gKlxuICogLy8gT3V0cHV0c1xuICogLy8gTGFzdCBhbHBoYWJldDogelxuICogYGBgXG4gKlxuICogRGVmYXVsdCB2YWx1ZSB3aGVuIHRoZSB2YWx1ZSBpbiB0aGUgcHJlZGljYXRlIGlzIG5vdCBtYXRjaGVkXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb20sIGxhc3QgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBzb3VyY2UgPSBmcm9tKFsneCcsICd5JywgJ3onXSk7XG4gKiBjb25zdCByZXN1bHQgPSBzb3VyY2UucGlwZShsYXN0KGNoYXIgPT4gY2hhciA9PT0gJ2EnLCAnbm90IGZvdW5kJykpO1xuICpcbiAqIHJlc3VsdC5zdWJzY3JpYmUodmFsdWUgPT4gY29uc29sZS5sb2coYCdhJyBpcyAkeyB2YWx1ZSB9LmApKTtcbiAqXG4gKiAvLyBPdXRwdXRzXG4gKiAvLyAnYScgaXMgbm90IGZvdW5kLlxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgc2tpcH1cbiAqIEBzZWUge0BsaW5rIHNraXBVbnRpbH1cbiAqIEBzZWUge0BsaW5rIHNraXBMYXN0fVxuICogQHNlZSB7QGxpbmsgc2tpcFdoaWxlfVxuICpcbiAqIEB0aHJvd3Mge0VtcHR5RXJyb3J9IERlbGl2ZXJzIGFuIEVtcHR5RXJyb3IgdG8gdGhlIE9ic2VydmVyJ3MgYGVycm9yYFxuICogY2FsbGJhY2sgaWYgdGhlIE9ic2VydmFibGUgY29tcGxldGVzIGJlZm9yZSBhbnkgYG5leHRgIG5vdGlmaWNhdGlvbiB3YXMgc2VudC5cbiAqIEBwYXJhbSB7ZnVuY3Rpb259IFtwcmVkaWNhdGVdIC0gVGhlIGNvbmRpdGlvbiBhbnkgc291cmNlIGVtaXR0ZWQgaXRlbSBoYXMgdG8gc2F0aXNmeS5cbiAqIEBwYXJhbSB7YW55fSBbZGVmYXVsdFZhbHVlXSAtIEFuIG9wdGlvbmFsIGRlZmF1bHQgdmFsdWUgdG8gcHJvdmlkZSBpZiBsYXN0XG4gKiBwcmVkaWNhdGUgaXNuJ3QgbWV0IG9yIG5vIHZhbHVlcyB3ZXJlIGVtaXR0ZWQuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBvbmx5IHRoZSBsYXN0IGl0ZW1cbiAqIHNhdGlzZnlpbmcgdGhlIGdpdmVuIGNvbmRpdGlvbiBmcm9tIHRoZSBzb3VyY2UsIG9yIGEgTm9TdWNoRWxlbWVudEV4Y2VwdGlvblxuICogaWYgbm8gc3VjaCBpdGVtcyBhcmUgZW1pdHRlZC5cbiAqIEB0aHJvd3MgLSBUaHJvd3MgaWYgbm8gaXRlbXMgdGhhdCBtYXRjaCB0aGUgcHJlZGljYXRlIGFyZSBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxhc3Q8VCwgRD4oXG4gIHByZWRpY2F0ZT86ICgodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgPT4gYm9vbGVhbikgfCBudWxsLFxuICBkZWZhdWx0VmFsdWU/OiBEXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFQgfCBEPiB7XG4gIGNvbnN0IGhhc0RlZmF1bHRWYWx1ZSA9IGFyZ3VtZW50cy5sZW5ndGggPj0gMjtcbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+XG4gICAgc291cmNlLnBpcGUoXG4gICAgICBwcmVkaWNhdGUgPyBmaWx0ZXIoKHYsIGkpID0+IHByZWRpY2F0ZSh2LCBpLCBzb3VyY2UpKSA6IGlkZW50aXR5LFxuICAgICAgdGFrZUxhc3QoMSksXG4gICAgICBoYXNEZWZhdWx0VmFsdWUgPyBkZWZhdWx0SWZFbXB0eShkZWZhdWx0VmFsdWUhKSA6IHRocm93SWZFbXB0eSgoKSA9PiBuZXcgRW1wdHlFcnJvcigpKVxuICAgICk7XG59XG4iLCAiaW1wb3J0IHsgTm90aWZpY2F0aW9uIH0gZnJvbSAnLi4vTm90aWZpY2F0aW9uJztcbmltcG9ydCB7IE9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGVOb3RpZmljYXRpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGFsbCBvZiB0aGUgbm90aWZpY2F0aW9ucyBmcm9tIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBhcyBgbmV4dGBcbiAqIGVtaXNzaW9ucyBtYXJrZWQgd2l0aCB0aGVpciBvcmlnaW5hbCB0eXBlcyB3aXRoaW4ge0BsaW5rIE5vdGlmaWNhdGlvbn1cbiAqIG9iamVjdHMuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPldyYXBzIGBuZXh0YCwgYGVycm9yYCBhbmQgYGNvbXBsZXRlYCBlbWlzc2lvbnMgaW5cbiAqIHtAbGluayBOb3RpZmljYXRpb259IG9iamVjdHMsIGVtaXR0ZWQgYXMgYG5leHRgIG9uIHRoZSBvdXRwdXQgT2JzZXJ2YWJsZS5cbiAqIDwvc3Bhbj5cbiAqXG4gKiAhW10obWF0ZXJpYWxpemUucG5nKVxuICpcbiAqIGBtYXRlcmlhbGl6ZWAgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYSBgbmV4dGAgbm90aWZpY2F0aW9uIGZvciBlYWNoXG4gKiBgbmV4dGAsIGBlcnJvcmAsIG9yIGBjb21wbGV0ZWAgZW1pc3Npb24gb2YgdGhlIHNvdXJjZSBPYnNlcnZhYmxlLiBXaGVuIHRoZVxuICogc291cmNlIE9ic2VydmFibGUgZW1pdHMgYGNvbXBsZXRlYCwgdGhlIG91dHB1dCBPYnNlcnZhYmxlIHdpbGwgZW1pdCBgbmV4dGAgYXNcbiAqIGEgTm90aWZpY2F0aW9uIG9mIHR5cGUgXCJjb21wbGV0ZVwiLCBhbmQgdGhlbiBpdCB3aWxsIGVtaXQgYGNvbXBsZXRlYCBhcyB3ZWxsLlxuICogV2hlbiB0aGUgc291cmNlIE9ic2VydmFibGUgZW1pdHMgYGVycm9yYCwgdGhlIG91dHB1dCB3aWxsIGVtaXQgYG5leHRgIGFzIGFcbiAqIE5vdGlmaWNhdGlvbiBvZiB0eXBlIFwiZXJyb3JcIiwgYW5kIHRoZW4gYGNvbXBsZXRlYC5cbiAqXG4gKiBUaGlzIG9wZXJhdG9yIGlzIHVzZWZ1bCBmb3IgcHJvZHVjaW5nIG1ldGFkYXRhIG9mIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSwgdG9cbiAqIGJlIGNvbnN1bWVkIGFzIGBuZXh0YCBlbWlzc2lvbnMuIFVzZSBpdCBpbiBjb25qdW5jdGlvbiB3aXRoXG4gKiB7QGxpbmsgZGVtYXRlcmlhbGl6ZX0uXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIENvbnZlcnQgYSBmYXVsdHkgT2JzZXJ2YWJsZSB0byBhbiBPYnNlcnZhYmxlIG9mIE5vdGlmaWNhdGlvbnNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgb2YsIG1hdGVyaWFsaXplLCBtYXAgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBsZXR0ZXJzID0gb2YoJ2EnLCAnYicsIDEzLCAnZCcpO1xuICogY29uc3QgdXBwZXJDYXNlID0gbGV0dGVycy5waXBlKG1hcCgoeDogYW55KSA9PiB4LnRvVXBwZXJDYXNlKCkpKTtcbiAqIGNvbnN0IG1hdGVyaWFsaXplZCA9IHVwcGVyQ2FzZS5waXBlKG1hdGVyaWFsaXplKCkpO1xuICpcbiAqIG1hdGVyaWFsaXplZC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKlxuICogLy8gUmVzdWx0cyBpbiB0aGUgZm9sbG93aW5nOlxuICogLy8gLSBOb3RpZmljYXRpb24geyBraW5kOiAnTicsIHZhbHVlOiAnQScsIGVycm9yOiB1bmRlZmluZWQsIGhhc1ZhbHVlOiB0cnVlIH1cbiAqIC8vIC0gTm90aWZpY2F0aW9uIHsga2luZDogJ04nLCB2YWx1ZTogJ0InLCBlcnJvcjogdW5kZWZpbmVkLCBoYXNWYWx1ZTogdHJ1ZSB9XG4gKiAvLyAtIE5vdGlmaWNhdGlvbiB7IGtpbmQ6ICdFJywgdmFsdWU6IHVuZGVmaW5lZCwgZXJyb3I6IFR5cGVFcnJvciB7IG1lc3NhZ2U6IHgudG9VcHBlckNhc2UgaXMgbm90IGEgZnVuY3Rpb24gfSwgaGFzVmFsdWU6IGZhbHNlIH1cbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIE5vdGlmaWNhdGlvbn1cbiAqIEBzZWUge0BsaW5rIGRlbWF0ZXJpYWxpemV9XG4gKlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHNcbiAqIHtAbGluayBOb3RpZmljYXRpb259IG9iamVjdHMgdGhhdCB3cmFwIHRoZSBvcmlnaW5hbCBlbWlzc2lvbnMgZnJvbSB0aGVcbiAqIHNvdXJjZSBPYnNlcnZhYmxlIHdpdGggbWV0YWRhdGEuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtYXRlcmlhbGl6ZTxUPigpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE5vdGlmaWNhdGlvbjxUPiAmIE9ic2VydmFibGVOb3RpZmljYXRpb248VD4+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIHNvdXJjZS5zdWJzY3JpYmUoXG4gICAgICBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoXG4gICAgICAgIHN1YnNjcmliZXIsXG4gICAgICAgICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIHN1YnNjcmliZXIubmV4dChOb3RpZmljYXRpb24uY3JlYXRlTmV4dCh2YWx1ZSkpO1xuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgc3Vic2NyaWJlci5uZXh0KE5vdGlmaWNhdGlvbi5jcmVhdGVDb21wbGV0ZSgpKTtcbiAgICAgICAgICBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH0sXG4gICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoTm90aWZpY2F0aW9uLmNyZWF0ZUVycm9yKGVycikpO1xuICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgfVxuICAgICAgKVxuICAgICk7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IHJlZHVjZSB9IGZyb20gJy4vcmVkdWNlJztcbmltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuLi91dGlsL2lzRnVuY3Rpb24nO1xuXG4vKipcbiAqIFRoZSBNYXggb3BlcmF0b3Igb3BlcmF0ZXMgb24gYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIG51bWJlcnMgKG9yIGl0ZW1zIHRoYXQgY2FuIGJlIGNvbXBhcmVkIHdpdGggYSBwcm92aWRlZCBmdW5jdGlvbiksXG4gKiBhbmQgd2hlbiBzb3VyY2UgT2JzZXJ2YWJsZSBjb21wbGV0ZXMgaXQgZW1pdHMgYSBzaW5nbGUgaXRlbTogdGhlIGl0ZW0gd2l0aCB0aGUgbGFyZ2VzdCB2YWx1ZS5cbiAqXG4gKiAhW10obWF4LnBuZylcbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIEdldCB0aGUgbWF4aW1hbCB2YWx1ZSBvZiBhIHNlcmllcyBvZiBudW1iZXJzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mLCBtYXggfSBmcm9tICdyeGpzJztcbiAqXG4gKiBvZig1LCA0LCA3LCAyLCA4KVxuICogICAucGlwZShtYXgoKSlcbiAqICAgLnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqXG4gKiAvLyBPdXRwdXRzXG4gKiAvLyA4XG4gKiBgYGBcbiAqXG4gKiBVc2UgYSBjb21wYXJlciBmdW5jdGlvbiB0byBnZXQgdGhlIG1heGltYWwgaXRlbVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBvZiwgbWF4IH0gZnJvbSAncnhqcyc7XG4gKlxuICogb2YoXG4gKiAgIHsgYWdlOiA3LCBuYW1lOiAnRm9vJyB9LFxuICogICB7IGFnZTogNSwgbmFtZTogJ0JhcicgfSxcbiAqICAgeyBhZ2U6IDksIG5hbWU6ICdCZWVyJyB9XG4gKiApLnBpcGUoXG4gKiAgIG1heCgoYSwgYikgPT4gYS5hZ2UgPCBiLmFnZSA/IC0xIDogMSlcbiAqIClcbiAqIC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4Lm5hbWUpKTtcbiAqXG4gKiAvLyBPdXRwdXRzXG4gKiAvLyAnQmVlcidcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIG1pbn1cbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbY29tcGFyZXJdIC0gT3B0aW9uYWwgY29tcGFyZXIgZnVuY3Rpb24gdGhhdCBpdCB3aWxsIHVzZSBpbnN0ZWFkIG9mIGl0cyBkZWZhdWx0IHRvIGNvbXBhcmUgdGhlXG4gKiB2YWx1ZSBvZiB0d28gaXRlbXMuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBpdGVtIHdpdGggdGhlXG4gKiBsYXJnZXN0IHZhbHVlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWF4PFQ+KGNvbXBhcmVyPzogKHg6IFQsIHk6IFQpID0+IG51bWJlcik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIHJldHVybiByZWR1Y2UoaXNGdW5jdGlvbihjb21wYXJlcikgPyAoeCwgeSkgPT4gKGNvbXBhcmVyKHgsIHkpID4gMCA/IHggOiB5KSA6ICh4LCB5KSA9PiAoeCA+IHkgPyB4IDogeSkpO1xufVxuIiwgImltcG9ydCB7IG1lcmdlTWFwIH0gZnJvbSAnLi9tZXJnZU1hcCc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgUmVuYW1lZCB0byB7QGxpbmsgbWVyZ2VNYXB9LiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguXG4gKi9cbmV4cG9ydCBjb25zdCBmbGF0TWFwID0gbWVyZ2VNYXA7XG4iLCAiaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2ZWRWYWx1ZU9mLCBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBtZXJnZU1hcCB9IGZyb20gJy4vbWVyZ2VNYXAnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWwvaXNGdW5jdGlvbic7XG5cbi8qKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjkuIFVzZSB7QGxpbmsgbWVyZ2VNYXB9IGluc3RlYWQ6IGBtZXJnZU1hcCgoKSA9PiByZXN1bHQpYCAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlTWFwVG88TyBleHRlbmRzIE9ic2VydmFibGVJbnB1dDx1bmtub3duPj4oXG4gIGlubmVyT2JzZXJ2YWJsZTogTyxcbiAgY29uY3VycmVudD86IG51bWJlclxuKTogT3BlcmF0b3JGdW5jdGlvbjx1bmtub3duLCBPYnNlcnZlZFZhbHVlT2Y8Tz4+O1xuLyoqXG4gKiBAZGVwcmVjYXRlZCBUaGUgYHJlc3VsdFNlbGVjdG9yYCBwYXJhbWV0ZXIgd2lsbCBiZSByZW1vdmVkIGluIHY4LiBVc2UgYW4gaW5uZXIgYG1hcGAgaW5zdGVhZC5cbiAqIERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL3Jlc3VsdFNlbGVjdG9yXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZU1hcFRvPFQsIFIsIE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8dW5rbm93bj4+KFxuICBpbm5lck9ic2VydmFibGU6IE8sXG4gIHJlc3VsdFNlbGVjdG9yOiAob3V0ZXJWYWx1ZTogVCwgaW5uZXJWYWx1ZTogT2JzZXJ2ZWRWYWx1ZU9mPE8+LCBvdXRlckluZGV4OiBudW1iZXIsIGlubmVySW5kZXg6IG51bWJlcikgPT4gUixcbiAgY29uY3VycmVudD86IG51bWJlclxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBSPjtcbi8qIHRzbGludDplbmFibGU6bWF4LWxpbmUtbGVuZ3RoICovXG5cbi8qKlxuICogUHJvamVjdHMgZWFjaCBzb3VyY2UgdmFsdWUgdG8gdGhlIHNhbWUgT2JzZXJ2YWJsZSB3aGljaCBpcyBtZXJnZWQgbXVsdGlwbGVcbiAqIHRpbWVzIGluIHRoZSBvdXRwdXQgT2JzZXJ2YWJsZS5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+SXQncyBsaWtlIHtAbGluayBtZXJnZU1hcH0sIGJ1dCBtYXBzIGVhY2ggdmFsdWUgYWx3YXlzXG4gKiB0byB0aGUgc2FtZSBpbm5lciBPYnNlcnZhYmxlLjwvc3Bhbj5cbiAqXG4gKiAhW10obWVyZ2VNYXBUby5wbmcpXG4gKlxuICogTWFwcyBlYWNoIHNvdXJjZSB2YWx1ZSB0byB0aGUgZ2l2ZW4gT2JzZXJ2YWJsZSBgaW5uZXJPYnNlcnZhYmxlYCByZWdhcmRsZXNzXG4gKiBvZiB0aGUgc291cmNlIHZhbHVlLCBhbmQgdGhlbiBtZXJnZXMgdGhvc2UgcmVzdWx0aW5nIE9ic2VydmFibGVzIGludG8gb25lXG4gKiBzaW5nbGUgT2JzZXJ2YWJsZSwgd2hpY2ggaXMgdGhlIG91dHB1dCBPYnNlcnZhYmxlLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBGb3IgZWFjaCBjbGljayBldmVudCwgc3RhcnQgYW4gaW50ZXJ2YWwgT2JzZXJ2YWJsZSB0aWNraW5nIGV2ZXJ5IDEgc2Vjb25kXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgbWVyZ2VNYXBUbywgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgcmVzdWx0ID0gY2xpY2tzLnBpcGUobWVyZ2VNYXBUbyhpbnRlcnZhbCgxMDAwKSkpO1xuICpcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBjb25jYXRNYXBUb31cbiAqIEBzZWUge0BsaW5rIG1lcmdlfVxuICogQHNlZSB7QGxpbmsgbWVyZ2VBbGx9XG4gKiBAc2VlIHtAbGluayBtZXJnZU1hcH1cbiAqIEBzZWUge0BsaW5rIG1lcmdlU2Nhbn1cbiAqIEBzZWUge0BsaW5rIHN3aXRjaE1hcFRvfVxuICpcbiAqIEBwYXJhbSB7T2JzZXJ2YWJsZUlucHV0fSBpbm5lck9ic2VydmFibGUgQW4gT2JzZXJ2YWJsZSB0byByZXBsYWNlIGVhY2ggdmFsdWUgZnJvbVxuICogdGhlIHNvdXJjZSBPYnNlcnZhYmxlLlxuICogQHBhcmFtIHtudW1iZXJ9IFtjb25jdXJyZW50PUluZmluaXR5XSBNYXhpbXVtIG51bWJlciBvZiBpbnB1dFxuICogT2JzZXJ2YWJsZXMgYmVpbmcgc3Vic2NyaWJlZCB0byBjb25jdXJyZW50bHkuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBpdGVtcyBmcm9tIHRoZVxuICogZ2l2ZW4gYGlubmVyT2JzZXJ2YWJsZWAuXG4gKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjkuIFVzZSB7QGxpbmsgbWVyZ2VNYXB9IGluc3RlYWQ6IGBtZXJnZU1hcCgoKSA9PiByZXN1bHQpYFxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VNYXBUbzxULCBSLCBPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PHVua25vd24+PihcbiAgaW5uZXJPYnNlcnZhYmxlOiBPLFxuICByZXN1bHRTZWxlY3Rvcj86ICgob3V0ZXJWYWx1ZTogVCwgaW5uZXJWYWx1ZTogT2JzZXJ2ZWRWYWx1ZU9mPE8+LCBvdXRlckluZGV4OiBudW1iZXIsIGlubmVySW5kZXg6IG51bWJlcikgPT4gUikgfCBudW1iZXIsXG4gIGNvbmN1cnJlbnQ6IG51bWJlciA9IEluZmluaXR5XG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE9ic2VydmVkVmFsdWVPZjxPPiB8IFI+IHtcbiAgaWYgKGlzRnVuY3Rpb24ocmVzdWx0U2VsZWN0b3IpKSB7XG4gICAgcmV0dXJuIG1lcmdlTWFwKCgpID0+IGlubmVyT2JzZXJ2YWJsZSwgcmVzdWx0U2VsZWN0b3IsIGNvbmN1cnJlbnQpO1xuICB9XG4gIGlmICh0eXBlb2YgcmVzdWx0U2VsZWN0b3IgPT09ICdudW1iZXInKSB7XG4gICAgY29uY3VycmVudCA9IHJlc3VsdFNlbGVjdG9yO1xuICB9XG4gIHJldHVybiBtZXJnZU1hcCgoKSA9PiBpbm5lck9ic2VydmFibGUsIGNvbmN1cnJlbnQpO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGVJbnB1dCwgT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgbWVyZ2VJbnRlcm5hbHMgfSBmcm9tICcuL21lcmdlSW50ZXJuYWxzJztcblxuLyoqXG4gKiBBcHBsaWVzIGFuIGFjY3VtdWxhdG9yIGZ1bmN0aW9uIG92ZXIgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHdoZXJlIHRoZVxuICogYWNjdW11bGF0b3IgZnVuY3Rpb24gaXRzZWxmIHJldHVybnMgYW4gT2JzZXJ2YWJsZSwgdGhlbiBlYWNoIGludGVybWVkaWF0ZVxuICogT2JzZXJ2YWJsZSByZXR1cm5lZCBpcyBtZXJnZWQgaW50byB0aGUgb3V0cHV0IE9ic2VydmFibGUuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkl0J3MgbGlrZSB7QGxpbmsgc2Nhbn0sIGJ1dCB0aGUgT2JzZXJ2YWJsZXMgcmV0dXJuZWRcbiAqIGJ5IHRoZSBhY2N1bXVsYXRvciBhcmUgbWVyZ2VkIGludG8gdGhlIG91dGVyIE9ic2VydmFibGUuPC9zcGFuPlxuICpcbiAqIFRoZSBmaXJzdCBwYXJhbWV0ZXIgb2YgdGhlIGBtZXJnZVNjYW5gIGlzIGFuIGBhY2N1bXVsYXRvcmAgZnVuY3Rpb24gd2hpY2ggaXNcbiAqIGJlaW5nIGNhbGxlZCBldmVyeSB0aW1lIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBlbWl0cyBhIHZhbHVlLiBgbWVyZ2VTY2FuYCB3aWxsXG4gKiBzdWJzY3JpYmUgdG8gdGhlIHZhbHVlIHJldHVybmVkIGJ5IHRoZSBgYWNjdW11bGF0b3JgIGZ1bmN0aW9uIGFuZCB3aWxsIGVtaXRcbiAqIHZhbHVlcyB0byB0aGUgc3Vic2NyaWJlciBlbWl0dGVkIGJ5IGlubmVyIE9ic2VydmFibGUuXG4gKlxuICogVGhlIGBhY2N1bXVsYXRvcmAgZnVuY3Rpb24gaXMgYmVpbmcgY2FsbGVkIHdpdGggdGhyZWUgcGFyYW1ldGVycyBwYXNzZWQgdG8gaXQ6XG4gKiBgYWNjYCwgYHZhbHVlYCBhbmQgYGluZGV4YC4gVGhlIGBhY2NgIHBhcmFtZXRlciBpcyB1c2VkIGFzIHRoZSBzdGF0ZSBwYXJhbWV0ZXJcbiAqIHdob3NlIHZhbHVlIGlzIGluaXRpYWxseSBzZXQgdG8gdGhlIGBzZWVkYCBwYXJhbWV0ZXIgKHRoZSBzZWNvbmQgcGFyYW1ldGVyXG4gKiBwYXNzZWQgdG8gdGhlIGBtZXJnZVNjYW5gIG9wZXJhdG9yKS5cbiAqXG4gKiBgbWVyZ2VTY2FuYCBpbnRlcm5hbGx5IGtlZXBzIHRoZSB2YWx1ZSBvZiB0aGUgYGFjY2AgcGFyYW1ldGVyOiBhcyBsb25nIGFzIHRoZVxuICogc291cmNlIE9ic2VydmFibGUgZW1pdHMgd2l0aG91dCBpbm5lciBPYnNlcnZhYmxlIGVtaXR0aW5nLCB0aGUgYGFjY2Agd2lsbCBiZVxuICogc2V0IHRvIGBzZWVkYC4gVGhlIG5leHQgdGltZSB0aGUgaW5uZXIgT2JzZXJ2YWJsZSBlbWl0cyBhIHZhbHVlLCBgbWVyZ2VTY2FuYFxuICogd2lsbCBpbnRlcm5hbGx5IHJlbWVtYmVyIGl0IGFuZCBpdCB3aWxsIGJlIHBhc3NlZCB0byB0aGUgYGFjY3VtdWxhdG9yYFxuICogZnVuY3Rpb24gYXMgYGFjY2AgcGFyYW1ldGVyIHRoZSBuZXh0IHRpbWUgc291cmNlIGVtaXRzLlxuICpcbiAqIFRoZSBgdmFsdWVgIHBhcmFtZXRlciBvZiB0aGUgYGFjY3VtdWxhdG9yYCBmdW5jdGlvbiBpcyB0aGUgdmFsdWUgZW1pdHRlZCBieSB0aGVcbiAqIHNvdXJjZSBPYnNlcnZhYmxlLCB3aGlsZSB0aGUgYGluZGV4YCBpcyBhIG51bWJlciB3aGljaCByZXByZXNlbnQgdGhlIG9yZGVyIG9mIHRoZVxuICogY3VycmVudCBlbWlzc2lvbiBieSB0aGUgc291cmNlIE9ic2VydmFibGUuIEl0IHN0YXJ0cyB3aXRoIDAuXG4gKlxuICogVGhlIGxhc3QgcGFyYW1ldGVyIHRvIHRoZSBgbWVyZ2VTY2FuYCBpcyB0aGUgYGNvbmN1cnJlbnRgIHZhbHVlIHdoaWNoIGRlZmF1bHRzXG4gKiB0byBJbmZpbml0eS4gSXQgcmVwcmVzZW50cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgaW5uZXIgT2JzZXJ2YWJsZSBzdWJzY3JpcHRpb25zXG4gKiBhdCBhIHRpbWUuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIENvdW50IHRoZSBudW1iZXIgb2YgY2xpY2sgZXZlbnRzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgbWFwLCBtZXJnZVNjYW4sIG9mIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2skID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IG9uZSQgPSBjbGljayQucGlwZShtYXAoKCkgPT4gMSkpO1xuICogY29uc3Qgc2VlZCA9IDA7XG4gKiBjb25zdCBjb3VudCQgPSBvbmUkLnBpcGUoXG4gKiAgIG1lcmdlU2NhbigoYWNjLCBvbmUpID0+IG9mKGFjYyArIG9uZSksIHNlZWQpXG4gKiApO1xuICpcbiAqIGNvdW50JC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKlxuICogLy8gUmVzdWx0czpcbiAqIC8vIDFcbiAqIC8vIDJcbiAqIC8vIDNcbiAqIC8vIDRcbiAqIC8vIC4uLmFuZCBzbyBvbiBmb3IgZWFjaCBjbGlja1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgc2Nhbn1cbiAqIEBzZWUge0BsaW5rIHN3aXRjaFNjYW59XG4gKlxuICogQHBhcmFtIHtmdW5jdGlvbihhY2M6IFIsIHZhbHVlOiBUKTogT2JzZXJ2YWJsZTxSPn0gYWNjdW11bGF0b3JcbiAqIFRoZSBhY2N1bXVsYXRvciBmdW5jdGlvbiBjYWxsZWQgb24gZWFjaCBzb3VyY2UgdmFsdWUuXG4gKiBAcGFyYW0gc2VlZCBUaGUgaW5pdGlhbCBhY2N1bXVsYXRpb24gdmFsdWUuXG4gKiBAcGFyYW0ge251bWJlcn0gW2NvbmN1cnJlbnQ9SW5maW5pdHldIE1heGltdW0gbnVtYmVyIG9mXG4gKiBpbnB1dCBPYnNlcnZhYmxlcyBiZWluZyBzdWJzY3JpYmVkIHRvIGNvbmN1cnJlbnRseS5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSBvZiB0aGUgYWNjdW11bGF0ZWQgdmFsdWVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VTY2FuPFQsIFI+KFxuICBhY2N1bXVsYXRvcjogKGFjYzogUiwgdmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IE9ic2VydmFibGVJbnB1dDxSPixcbiAgc2VlZDogUixcbiAgY29uY3VycmVudCA9IEluZmluaXR5XG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFI+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIC8vIFRoZSBhY2N1bXVsYXRlZCBzdGF0ZS5cbiAgICBsZXQgc3RhdGUgPSBzZWVkO1xuXG4gICAgcmV0dXJuIG1lcmdlSW50ZXJuYWxzKFxuICAgICAgc291cmNlLFxuICAgICAgc3Vic2NyaWJlcixcbiAgICAgICh2YWx1ZSwgaW5kZXgpID0+IGFjY3VtdWxhdG9yKHN0YXRlLCB2YWx1ZSwgaW5kZXgpLFxuICAgICAgY29uY3VycmVudCxcbiAgICAgICh2YWx1ZSkgPT4ge1xuICAgICAgICBzdGF0ZSA9IHZhbHVlO1xuICAgICAgfSxcbiAgICAgIGZhbHNlLFxuICAgICAgdW5kZWZpbmVkLFxuICAgICAgKCkgPT4gKHN0YXRlID0gbnVsbCEpXG4gICAgKTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0LCBPYnNlcnZhYmxlSW5wdXRUdXBsZSwgT3BlcmF0b3JGdW5jdGlvbiwgU2NoZWR1bGVyTGlrZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgYXJnc09yQXJnQXJyYXkgfSBmcm9tICcuLi91dGlsL2FyZ3NPckFyZ0FycmF5JztcbmltcG9ydCB7IG1lcmdlQWxsIH0gZnJvbSAnLi9tZXJnZUFsbCc7XG5pbXBvcnQgeyBwb3BOdW1iZXIsIHBvcFNjaGVkdWxlciB9IGZyb20gJy4uL3V0aWwvYXJncyc7XG5pbXBvcnQgeyBmcm9tIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9mcm9tJztcblxuLyoqIEBkZXByZWNhdGVkIFJlcGxhY2VkIHdpdGgge0BsaW5rIG1lcmdlV2l0aH0uIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZTxULCBBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdPiguLi5zb3VyY2VzOiBbLi4uT2JzZXJ2YWJsZUlucHV0VHVwbGU8QT5dKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUIHwgQVtudW1iZXJdPjtcbi8qKiBAZGVwcmVjYXRlZCBSZXBsYWNlZCB3aXRoIHtAbGluayBtZXJnZVdpdGh9LiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2U8VCwgQSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oXG4gIC4uLnNvdXJjZXNBbmRDb25jdXJyZW5jeTogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+LCBudW1iZXJdXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFQgfCBBW251bWJlcl0+O1xuLyoqIEBkZXByZWNhdGVkIFJlcGxhY2VkIHdpdGgge0BsaW5rIG1lcmdlV2l0aH0uIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZTxULCBBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdPihcbiAgLi4uc291cmNlc0FuZFNjaGVkdWxlcjogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+LCBTY2hlZHVsZXJMaWtlXVxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUIHwgQVtudW1iZXJdPjtcbi8qKiBAZGVwcmVjYXRlZCBSZXBsYWNlZCB3aXRoIHtAbGluayBtZXJnZVdpdGh9LiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2U8VCwgQSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oXG4gIC4uLnNvdXJjZXNBbmRDb25jdXJyZW5jeUFuZFNjaGVkdWxlcjogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+LCBudW1iZXIsIFNjaGVkdWxlckxpa2VdXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFQgfCBBW251bWJlcl0+O1xuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2U8VD4oLi4uYXJnczogdW5rbm93bltdKTogT3BlcmF0b3JGdW5jdGlvbjxULCB1bmtub3duPiB7XG4gIGNvbnN0IHNjaGVkdWxlciA9IHBvcFNjaGVkdWxlcihhcmdzKTtcbiAgY29uc3QgY29uY3VycmVudCA9IHBvcE51bWJlcihhcmdzLCBJbmZpbml0eSk7XG4gIGFyZ3MgPSBhcmdzT3JBcmdBcnJheShhcmdzKTtcblxuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgbWVyZ2VBbGwoY29uY3VycmVudCkoZnJvbShbc291cmNlLCAuLi4oYXJncyBhcyBPYnNlcnZhYmxlSW5wdXQ8VD5bXSldLCBzY2hlZHVsZXIpKS5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGVJbnB1dFR1cGxlLCBPcGVyYXRvckZ1bmN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgbWVyZ2UgfSBmcm9tICcuL21lcmdlJztcblxuLyoqXG4gKiBNZXJnZSB0aGUgdmFsdWVzIGZyb20gYWxsIG9ic2VydmFibGVzIHRvIGEgc2luZ2xlIG9ic2VydmFibGUgcmVzdWx0LlxuICpcbiAqIENyZWF0ZXMgYW4gb2JzZXJ2YWJsZSwgdGhhdCB3aGVuIHN1YnNjcmliZWQgdG8sIHN1YnNjcmliZXMgdG8gdGhlIHNvdXJjZVxuICogb2JzZXJ2YWJsZSwgYW5kIGFsbCBvdGhlciBzb3VyY2VzIHByb3ZpZGVkIGFzIGFyZ3VtZW50cy4gQWxsIHZhbHVlcyBmcm9tXG4gKiBldmVyeSBzb3VyY2UgYXJlIGVtaXR0ZWQgZnJvbSB0aGUgcmVzdWx0aW5nIHN1YnNjcmlwdGlvbi5cbiAqXG4gKiBXaGVuIGFsbCBzb3VyY2VzIGNvbXBsZXRlLCB0aGUgcmVzdWx0aW5nIG9ic2VydmFibGUgd2lsbCBjb21wbGV0ZS5cbiAqXG4gKiBXaGVuIGFueSBzb3VyY2UgZXJyb3JzLCB0aGUgcmVzdWx0aW5nIG9ic2VydmFibGUgd2lsbCBlcnJvci5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogSm9pbmluZyBhbGwgb3V0cHV0cyBmcm9tIG11bHRpcGxlIHVzZXIgaW5wdXQgZXZlbnQgc3RyZWFtc1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIG1hcCwgbWVyZ2VXaXRoIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzJCA9IGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJykucGlwZShtYXAoKCkgPT4gJ2NsaWNrJykpO1xuICogY29uc3QgbW91c2Vtb3ZlcyQgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdtb3VzZW1vdmUnKS5waXBlKG1hcCgoKSA9PiAnbW91c2Vtb3ZlJykpO1xuICogY29uc3QgZGJsY2xpY2tzJCA9IGZyb21FdmVudChkb2N1bWVudCwgJ2RibGNsaWNrJykucGlwZShtYXAoKCkgPT4gJ2RibGNsaWNrJykpO1xuICpcbiAqIG1vdXNlbW92ZXMkXG4gKiAgIC5waXBlKG1lcmdlV2l0aChjbGlja3MkLCBkYmxjbGlja3MkKSlcbiAqICAgLnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqXG4gKiAvLyByZXN1bHQgKGFzc3VtaW5nIHVzZXIgaW50ZXJhY3Rpb25zKVxuICogLy8gJ21vdXNlbW92ZSdcbiAqIC8vICdtb3VzZW1vdmUnXG4gKiAvLyAnbW91c2Vtb3ZlJ1xuICogLy8gJ2NsaWNrJ1xuICogLy8gJ2NsaWNrJ1xuICogLy8gJ2RibGNsaWNrJ1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgbWVyZ2V9XG4gKlxuICogQHBhcmFtIG90aGVyU291cmNlcyB0aGUgc291cmNlcyB0byBjb21iaW5lIHRoZSBjdXJyZW50IHNvdXJjZSB3aXRoLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgbWVyZ2VzIHRoZSB2YWx1ZXMgZnJvbVxuICogYWxsIGdpdmVuIE9ic2VydmFibGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VXaXRoPFQsIEEgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+KFxuICAuLi5vdGhlclNvdXJjZXM6IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPl1cbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVCB8IEFbbnVtYmVyXT4ge1xuICByZXR1cm4gbWVyZ2UoLi4ub3RoZXJTb3VyY2VzKTtcbn1cbiIsICJpbXBvcnQgeyByZWR1Y2UgfSBmcm9tICcuL3JlZHVjZSc7XG5pbXBvcnQgeyBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi4vdXRpbC9pc0Z1bmN0aW9uJztcblxuLyoqXG4gKiBUaGUgTWluIG9wZXJhdG9yIG9wZXJhdGVzIG9uIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBudW1iZXJzIChvciBpdGVtcyB0aGF0IGNhbiBiZSBjb21wYXJlZCB3aXRoIGEgcHJvdmlkZWQgZnVuY3Rpb24pLFxuICogYW5kIHdoZW4gc291cmNlIE9ic2VydmFibGUgY29tcGxldGVzIGl0IGVtaXRzIGEgc2luZ2xlIGl0ZW06IHRoZSBpdGVtIHdpdGggdGhlIHNtYWxsZXN0IHZhbHVlLlxuICpcbiAqICFbXShtaW4ucG5nKVxuICpcbiAqICMjIEV4YW1wbGVzXG4gKlxuICogR2V0IHRoZSBtaW5pbWFsIHZhbHVlIG9mIGEgc2VyaWVzIG9mIG51bWJlcnNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgb2YsIG1pbiB9IGZyb20gJ3J4anMnO1xuICpcbiAqIG9mKDUsIDQsIDcsIDIsIDgpXG4gKiAgIC5waXBlKG1pbigpKVxuICogICAuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIE91dHB1dHNcbiAqIC8vIDJcbiAqIGBgYFxuICpcbiAqIFVzZSBhIGNvbXBhcmVyIGZ1bmN0aW9uIHRvIGdldCB0aGUgbWluaW1hbCBpdGVtXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mLCBtaW4gfSBmcm9tICdyeGpzJztcbiAqXG4gKiBvZihcbiAqICAgeyBhZ2U6IDcsIG5hbWU6ICdGb28nIH0sXG4gKiAgIHsgYWdlOiA1LCBuYW1lOiAnQmFyJyB9LFxuICogICB7IGFnZTogOSwgbmFtZTogJ0JlZXInIH1cbiAqICkucGlwZShcbiAqICAgbWluKChhLCBiKSA9PiBhLmFnZSA8IGIuYWdlID8gLTEgOiAxKVxuICogKVxuICogLnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgubmFtZSkpO1xuICpcbiAqIC8vIE91dHB1dHNcbiAqIC8vICdCYXInXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBtYXh9XG4gKlxuICogQHBhcmFtIHtGdW5jdGlvbn0gW2NvbXBhcmVyXSAtIE9wdGlvbmFsIGNvbXBhcmVyIGZ1bmN0aW9uIHRoYXQgaXQgd2lsbCB1c2UgaW5zdGVhZCBvZiBpdHMgZGVmYXVsdCB0byBjb21wYXJlIHRoZVxuICogdmFsdWUgb2YgdHdvIGl0ZW1zLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgaXRlbSB3aXRoIHRoZVxuICogc21hbGxlc3QgdmFsdWUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtaW48VD4oY29tcGFyZXI/OiAoeDogVCwgeTogVCkgPT4gbnVtYmVyKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIHJlZHVjZShpc0Z1bmN0aW9uKGNvbXBhcmVyKSA/ICh4LCB5KSA9PiAoY29tcGFyZXIoeCwgeSkgPCAwID8geCA6IHkpIDogKHgsIHkpID0+ICh4IDwgeSA/IHggOiB5KSk7XG59XG4iLCAiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJy4uL1N1YmplY3QnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgQ29ubmVjdGFibGVPYnNlcnZhYmxlIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9Db25uZWN0YWJsZU9ic2VydmFibGUnO1xuaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiwgVW5hcnlGdW5jdGlvbiwgT2JzZXJ2ZWRWYWx1ZU9mLCBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpc0Z1bmN0aW9uIH0gZnJvbSAnLi4vdXRpbC9pc0Z1bmN0aW9uJztcbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICcuL2Nvbm5lY3QnO1xuXG4vKipcbiAqIEFuIG9wZXJhdG9yIHRoYXQgY3JlYXRlcyBhIHtAbGluayBDb25uZWN0YWJsZU9ic2VydmFibGV9LCB0aGF0IHdoZW4gY29ubmVjdGVkLFxuICogd2l0aCB0aGUgYGNvbm5lY3RgIG1ldGhvZCwgd2lsbCB1c2UgdGhlIHByb3ZpZGVkIHN1YmplY3QgdG8gbXVsdGljYXN0IHRoZSB2YWx1ZXNcbiAqIGZyb20gdGhlIHNvdXJjZSB0byBhbGwgY29uc3VtZXJzLlxuICpcbiAqIEBwYXJhbSBzdWJqZWN0IFRoZSBzdWJqZWN0IHRvIG11bHRpY2FzdCB0aHJvdWdoLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIHtAbGluayBDb25uZWN0YWJsZU9ic2VydmFibGV9XG4gKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjguIFRvIGNyZWF0ZSBhIGNvbm5lY3RhYmxlIG9ic2VydmFibGUsIHVzZSB7QGxpbmsgY29ubmVjdGFibGV9LlxuICogSWYgeW91J3JlIHVzaW5nIHtAbGluayByZWZDb3VudH0gYWZ0ZXIgYG11bHRpY2FzdGAsIHVzZSB0aGUge0BsaW5rIHNoYXJlfSBvcGVyYXRvciBpbnN0ZWFkLlxuICogYG11bHRpY2FzdChzdWJqZWN0KSwgcmVmQ291bnQoKWAgaXMgZXF1aXZhbGVudCB0b1xuICogYHNoYXJlKHsgY29ubmVjdG9yOiAoKSA9PiBzdWJqZWN0LCByZXNldE9uRXJyb3I6IGZhbHNlLCByZXNldE9uQ29tcGxldGU6IGZhbHNlLCByZXNldE9uUmVmQ291bnRaZXJvOiBmYWxzZSB9KWAuXG4gKiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9tdWx0aWNhc3RpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG11bHRpY2FzdDxUPihzdWJqZWN0OiBTdWJqZWN0PFQ+KTogVW5hcnlGdW5jdGlvbjxPYnNlcnZhYmxlPFQ+LCBDb25uZWN0YWJsZU9ic2VydmFibGU8VD4+O1xuXG4vKipcbiAqIEJlY2F1c2UgdGhpcyBpcyBkZXByZWNhdGVkIGluIGZhdm9yIG9mIHRoZSB7QGxpbmsgY29ubmVjdH0gb3BlcmF0b3IsIGFuZCB3YXMgb3RoZXJ3aXNlIHBvb3JseSBkb2N1bWVudGVkLFxuICogcmF0aGVyIHRoYW4gZHVwbGljYXRlIHRoZSBlZmZvcnQgb2YgZG9jdW1lbnRpbmcgdGhlIHNhbWUgYmVoYXZpb3IsIHBsZWFzZSBzZWUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlXG4gKiB7QGxpbmsgY29ubmVjdH0gb3BlcmF0b3IuXG4gKlxuICogQHBhcmFtIHN1YmplY3QgVGhlIHN1YmplY3QgdXNlZCB0byBtdWx0aWNhc3QuXG4gKiBAcGFyYW0gc2VsZWN0b3IgQSBzZXR1cCBmdW5jdGlvbiB0byBzZXR1cCB0aGUgbXVsdGljYXN0XG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIG9ic2VydmFibGUgdGhhdCBtaXJyb3JzIHRoZSBvYnNlcnZhYmxlIHJldHVybmVkIGJ5IHRoZSBzZWxlY3Rvci5cbiAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gVXNlIHRoZSB7QGxpbmsgY29ubmVjdH0gb3BlcmF0b3IgaW5zdGVhZC5cbiAqIGBtdWx0aWNhc3Qoc3ViamVjdCwgc2VsZWN0b3IpYCBpcyBlcXVpdmFsZW50IHRvXG4gKiBgY29ubmVjdChzZWxlY3RvciwgeyBjb25uZWN0b3I6ICgpID0+IHN1YmplY3QgfSlgLlxuICogRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvbXVsdGljYXN0aW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtdWx0aWNhc3Q8VCwgTyBleHRlbmRzIE9ic2VydmFibGVJbnB1dDxhbnk+PihcbiAgc3ViamVjdDogU3ViamVjdDxUPixcbiAgc2VsZWN0b3I6IChzaGFyZWQ6IE9ic2VydmFibGU8VD4pID0+IE9cbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgT2JzZXJ2ZWRWYWx1ZU9mPE8+PjtcblxuLyoqXG4gKiBBbiBvcGVyYXRvciB0aGF0IGNyZWF0ZXMgYSB7QGxpbmsgQ29ubmVjdGFibGVPYnNlcnZhYmxlfSwgdGhhdCB3aGVuIGNvbm5lY3RlZCxcbiAqIHdpdGggdGhlIGBjb25uZWN0YCBtZXRob2QsIHdpbGwgdXNlIHRoZSBwcm92aWRlZCBzdWJqZWN0IHRvIG11bHRpY2FzdCB0aGUgdmFsdWVzXG4gKiBmcm9tIHRoZSBzb3VyY2UgdG8gYWxsIGNvbnN1bWVycy5cbiAqXG4gKiBAcGFyYW0gc3ViamVjdEZhY3RvcnkgQSBmYWN0b3J5IHRoYXQgd2lsbCBiZSBjYWxsZWQgdG8gY3JlYXRlIHRoZSBzdWJqZWN0LiBQYXNzaW5nIGEgZnVuY3Rpb24gaGVyZVxuICogd2lsbCBjYXVzZSB0aGUgdW5kZXJseWluZyBzdWJqZWN0IHRvIGJlIFwicmVzZXRcIiBvbiBlcnJvciwgY29tcGxldGlvbiwgb3IgcmVmQ291bnRlZCB1bnN1YnNjcmlwdGlvbiBvZlxuICogdGhlIHNvdXJjZS5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYSB7QGxpbmsgQ29ubmVjdGFibGVPYnNlcnZhYmxlfVxuICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIHY4LiBUbyBjcmVhdGUgYSBjb25uZWN0YWJsZSBvYnNlcnZhYmxlLCB1c2Uge0BsaW5rIGNvbm5lY3RhYmxlfS5cbiAqIElmIHlvdSdyZSB1c2luZyB7QGxpbmsgcmVmQ291bnR9IGFmdGVyIGBtdWx0aWNhc3RgLCB1c2UgdGhlIHtAbGluayBzaGFyZX0gb3BlcmF0b3IgaW5zdGVhZC5cbiAqIGBtdWx0aWNhc3QoKCkgPT4gbmV3IEJlaGF2aW9yU3ViamVjdCgndGVzdCcpKSwgcmVmQ291bnQoKWAgaXMgZXF1aXZhbGVudCB0b1xuICogYHNoYXJlKHsgY29ubmVjdG9yOiAoKSA9PiBuZXcgQmVoYXZpb3JTdWJqZWN0KCd0ZXN0JykgfSlgLlxuICogRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvbXVsdGljYXN0aW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtdWx0aWNhc3Q8VD4oc3ViamVjdEZhY3Rvcnk6ICgpID0+IFN1YmplY3Q8VD4pOiBVbmFyeUZ1bmN0aW9uPE9ic2VydmFibGU8VD4sIENvbm5lY3RhYmxlT2JzZXJ2YWJsZTxUPj47XG5cbi8qKlxuICogQmVjYXVzZSB0aGlzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgdGhlIHtAbGluayBjb25uZWN0fSBvcGVyYXRvciwgYW5kIHdhcyBvdGhlcndpc2UgcG9vcmx5IGRvY3VtZW50ZWQsXG4gKiByYXRoZXIgdGhhbiBkdXBsaWNhdGUgdGhlIGVmZm9ydCBvZiBkb2N1bWVudGluZyB0aGUgc2FtZSBiZWhhdmlvciwgcGxlYXNlIHNlZSBkb2N1bWVudGF0aW9uIGZvciB0aGVcbiAqIHtAbGluayBjb25uZWN0fSBvcGVyYXRvci5cbiAqXG4gKiBAcGFyYW0gc3ViamVjdEZhY3RvcnkgQSBmYWN0b3J5IHRoYXQgY3JlYXRlcyB0aGUgc3ViamVjdCB1c2VkIHRvIG11bHRpY2FzdC5cbiAqIEBwYXJhbSBzZWxlY3RvciBBIGZ1bmN0aW9uIHRvIHNldHVwIHRoZSBtdWx0aWNhc3QgYW5kIHNlbGVjdCB0aGUgb3V0cHV0LlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgbWlycm9ycyB0aGUgb2JzZXJ2YWJsZSByZXR1cm5lZCBieSB0aGUgc2VsZWN0b3IuXG4gKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSB0aGUge0BsaW5rIGNvbm5lY3R9IG9wZXJhdG9yIGluc3RlYWQuXG4gKiBgbXVsdGljYXN0KHN1YmplY3RGYWN0b3J5LCBzZWxlY3RvcilgIGlzIGVxdWl2YWxlbnQgdG9cbiAqIGBjb25uZWN0KHNlbGVjdG9yLCB7IGNvbm5lY3Rvcjogc3ViamVjdEZhY3RvcnkgfSlgLlxuICogRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvbXVsdGljYXN0aW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBtdWx0aWNhc3Q8VCwgTyBleHRlbmRzIE9ic2VydmFibGVJbnB1dDxhbnk+PihcbiAgc3ViamVjdEZhY3Rvcnk6ICgpID0+IFN1YmplY3Q8VD4sXG4gIHNlbGVjdG9yOiAoc2hhcmVkOiBPYnNlcnZhYmxlPFQ+KSA9PiBPXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE9ic2VydmVkVmFsdWVPZjxPPj47XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIHY4LiBVc2UgdGhlIHtAbGluayBjb25uZWN0YWJsZX0gb2JzZXJ2YWJsZSwgdGhlIHtAbGluayBjb25uZWN0fSBvcGVyYXRvciBvciB0aGVcbiAqIHtAbGluayBzaGFyZX0gb3BlcmF0b3IgaW5zdGVhZC4gU2VlIHRoZSBvdmVybG9hZHMgYmVsb3cgZm9yIGVxdWl2YWxlbnQgcmVwbGFjZW1lbnQgZXhhbXBsZXMgb2YgdGhpcyBvcGVyYXRvcidzXG4gKiBiZWhhdmlvcnMuXG4gKiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9tdWx0aWNhc3RpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG11bHRpY2FzdDxULCBSPihcbiAgc3ViamVjdE9yU3ViamVjdEZhY3Rvcnk6IFN1YmplY3Q8VD4gfCAoKCkgPT4gU3ViamVjdDxUPiksXG4gIHNlbGVjdG9yPzogKHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgPT4gT2JzZXJ2YWJsZTxSPlxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBSPiB7XG4gIGNvbnN0IHN1YmplY3RGYWN0b3J5ID0gaXNGdW5jdGlvbihzdWJqZWN0T3JTdWJqZWN0RmFjdG9yeSkgPyBzdWJqZWN0T3JTdWJqZWN0RmFjdG9yeSA6ICgpID0+IHN1YmplY3RPclN1YmplY3RGYWN0b3J5O1xuXG4gIGlmIChpc0Z1bmN0aW9uKHNlbGVjdG9yKSkge1xuICAgIC8vIElmIGEgc2VsZWN0b3IgZnVuY3Rpb24gaXMgcHJvdmlkZWQsIHRoZW4gd2UncmUgYSBcIm5vcm1hbFwiIG9wZXJhdG9yIHRoYXQgaXNuJ3RcbiAgICAvLyBnb2luZyB0byByZXR1cm4gYSBDb25uZWN0YWJsZU9ic2VydmFibGUuIFdlIGNhbiB1c2UgYGNvbm5lY3RgIHRvIGRvIHdoYXQgd2VcbiAgICAvLyBuZWVkIHRvIGRvLlxuICAgIHJldHVybiBjb25uZWN0KHNlbGVjdG9yLCB7XG4gICAgICBjb25uZWN0b3I6IHN1YmplY3RGYWN0b3J5LFxuICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIChzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IG5ldyBDb25uZWN0YWJsZU9ic2VydmFibGU8YW55Pihzb3VyY2UsIHN1YmplY3RGYWN0b3J5KTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXRUdXBsZSwgT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGFyZ3NPckFyZ0FycmF5IH0gZnJvbSAnLi4vdXRpbC9hcmdzT3JBcmdBcnJheSc7XG5pbXBvcnQgeyBvbkVycm9yUmVzdW1lTmV4dCBhcyBvRVJOQ3JlYXRlIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9vbkVycm9yUmVzdW1lTmV4dCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBvbkVycm9yUmVzdW1lTmV4dFdpdGg8VCwgQSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oXG4gIHNvdXJjZXM6IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxBPl1cbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVCB8IEFbbnVtYmVyXT47XG5leHBvcnQgZnVuY3Rpb24gb25FcnJvclJlc3VtZU5leHRXaXRoPFQsIEEgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+KFxuICAuLi5zb3VyY2VzOiBbLi4uT2JzZXJ2YWJsZUlucHV0VHVwbGU8QT5dXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFQgfCBBW251bWJlcl0+O1xuXG4vKipcbiAqIFdoZW4gYW55IG9mIHRoZSBwcm92aWRlZCBPYnNlcnZhYmxlIGVtaXRzIGFuIGNvbXBsZXRlIG9yIGVycm9yIG5vdGlmaWNhdGlvbiwgaXQgaW1tZWRpYXRlbHkgc3Vic2NyaWJlcyB0byB0aGUgbmV4dCBvbmVcbiAqIHRoYXQgd2FzIHBhc3NlZC5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+RXhlY3V0ZSBzZXJpZXMgb2YgT2JzZXJ2YWJsZXMsIHN1YnNjcmliZXMgdG8gbmV4dCBvbmUgb24gZXJyb3Igb3IgY29tcGxldGUuPC9zcGFuPlxuICpcbiAqICFbXShvbkVycm9yUmVzdW1lTmV4dC5wbmcpXG4gKlxuICogYG9uRXJyb3JSZXN1bWVOZXh0YCBpcyBhbiBvcGVyYXRvciB0aGF0IGFjY2VwdHMgYSBzZXJpZXMgb2YgT2JzZXJ2YWJsZXMsIHByb3ZpZGVkIGVpdGhlciBkaXJlY3RseSBhc1xuICogYXJndW1lbnRzIG9yIGFzIGFuIGFycmF5LiBJZiBubyBzaW5nbGUgT2JzZXJ2YWJsZSBpcyBwcm92aWRlZCwgcmV0dXJuZWQgT2JzZXJ2YWJsZSB3aWxsIHNpbXBseSBiZWhhdmUgdGhlIHNhbWVcbiAqIGFzIHRoZSBzb3VyY2UuXG4gKlxuICogYG9uRXJyb3JSZXN1bWVOZXh0YCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBzdGFydHMgYnkgc3Vic2NyaWJpbmcgYW5kIHJlLWVtaXR0aW5nIHZhbHVlcyBmcm9tIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS5cbiAqIFdoZW4gaXRzIHN0cmVhbSBvZiB2YWx1ZXMgZW5kcyAtIG5vIG1hdHRlciBpZiBPYnNlcnZhYmxlIGNvbXBsZXRlZCBvciBlbWl0dGVkIGFuIGVycm9yIC0gYG9uRXJyb3JSZXN1bWVOZXh0YFxuICogd2lsbCBzdWJzY3JpYmUgdG8gdGhlIGZpcnN0IE9ic2VydmFibGUgdGhhdCB3YXMgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IHRvIHRoZSBtZXRob2QuIEl0IHdpbGwgc3RhcnQgcmUtZW1pdHRpbmdcbiAqIGl0cyB2YWx1ZXMgYXMgd2VsbCBhbmQgLSBhZ2FpbiAtIHdoZW4gdGhhdCBzdHJlYW0gZW5kcywgYG9uRXJyb3JSZXN1bWVOZXh0YCB3aWxsIHByb2NlZWQgdG8gc3Vic2NyaWJpbmcgeWV0IGFub3RoZXJcbiAqIE9ic2VydmFibGUgaW4gcHJvdmlkZWQgc2VyaWVzLCBubyBtYXR0ZXIgaWYgcHJldmlvdXMgT2JzZXJ2YWJsZSBjb21wbGV0ZWQgb3IgZW5kZWQgd2l0aCBhbiBlcnJvci4gVGhpcyB3aWxsXG4gKiBiZSBoYXBwZW5pbmcgdW50aWwgdGhlcmUgaXMgbm8gbW9yZSBPYnNlcnZhYmxlcyBsZWZ0IGluIHRoZSBzZXJpZXMsIGF0IHdoaWNoIHBvaW50IHJldHVybmVkIE9ic2VydmFibGUgd2lsbFxuICogY29tcGxldGUgLSBldmVuIGlmIHRoZSBsYXN0IHN1YnNjcmliZWQgc3RyZWFtIGVuZGVkIHdpdGggYW4gZXJyb3IuXG4gKlxuICogYG9uRXJyb3JSZXN1bWVOZXh0YCBjYW4gYmUgdGhlcmVmb3JlIHRob3VnaHQgb2YgYXMgdmVyc2lvbiBvZiB7QGxpbmsgY29uY2F0fSBvcGVyYXRvciwgd2hpY2ggaXMgbW9yZSBwZXJtaXNzaXZlXG4gKiB3aGVuIGl0IGNvbWVzIHRvIHRoZSBlcnJvcnMgZW1pdHRlZCBieSBpdHMgaW5wdXQgT2JzZXJ2YWJsZXMuIFdoaWxlIGBjb25jYXRgIHN1YnNjcmliZXMgdG8gdGhlIG5leHQgT2JzZXJ2YWJsZVxuICogaW4gc2VyaWVzIG9ubHkgaWYgcHJldmlvdXMgb25lIHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQsIGBvbkVycm9yUmVzdW1lTmV4dGAgc3Vic2NyaWJlcyBldmVuIGlmIGl0IGVuZGVkIHdpdGhcbiAqIGFuIGVycm9yLlxuICpcbiAqIE5vdGUgdGhhdCB5b3UgZG8gbm90IGdldCBhbnkgYWNjZXNzIHRvIGVycm9ycyBlbWl0dGVkIGJ5IHRoZSBPYnNlcnZhYmxlcy4gSW4gcGFydGljdWxhciBkbyBub3RcbiAqIGV4cGVjdCB0aGVzZSBlcnJvcnMgdG8gYXBwZWFyIGluIGVycm9yIGNhbGxiYWNrIHBhc3NlZCB0byB7QGxpbmsgT2JzZXJ2YWJsZSNzdWJzY3JpYmV9LiBJZiB5b3Ugd2FudCB0byB0YWtlXG4gKiBzcGVjaWZpYyBhY3Rpb25zIGJhc2VkIG9uIHdoYXQgZXJyb3Igd2FzIGVtaXR0ZWQgYnkgYW4gT2JzZXJ2YWJsZSwgeW91IHNob3VsZCB0cnkgb3V0IHtAbGluayBjYXRjaEVycm9yfSBpbnN0ZWFkLlxuICpcbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogU3Vic2NyaWJlIHRvIHRoZSBuZXh0IE9ic2VydmFibGUgYWZ0ZXIgbWFwIGZhaWxzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mLCBvbkVycm9yUmVzdW1lTmV4dCwgbWFwIH0gZnJvbSAncnhqcyc7XG4gKlxuICogb2YoMSwgMiwgMywgMClcbiAqICAgLnBpcGUoXG4gKiAgICAgbWFwKHggPT4ge1xuICogICAgICAgaWYgKHggPT09IDApIHtcbiAqICAgICAgICAgdGhyb3cgRXJyb3IoKTtcbiAqICAgICAgIH1cbiAqXG4gKiAgICAgICByZXR1cm4gMTAgLyB4O1xuICogICAgIH0pLFxuICogICAgIG9uRXJyb3JSZXN1bWVOZXh0KG9mKDEsIDIsIDMpKVxuICogICApXG4gKiAgIC5zdWJzY3JpYmUoe1xuICogICAgIG5leHQ6IHZhbCA9PiBjb25zb2xlLmxvZyh2YWwpLFxuICogICAgIGVycm9yOiBlcnIgPT4gY29uc29sZS5sb2coZXJyKSwgICAgICAgICAgLy8gV2lsbCBuZXZlciBiZSBjYWxsZWQuXG4gKiAgICAgY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKCd0aGF0XFwncyBpdCEnKVxuICogICB9KTtcbiAqXG4gKiAvLyBMb2dzOlxuICogLy8gMTBcbiAqIC8vIDVcbiAqIC8vIDMuMzMzMzMzMzMzMzMzMzMzNVxuICogLy8gMVxuICogLy8gMlxuICogLy8gM1xuICogLy8gJ3RoYXQncyBpdCEnXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBjb25jYXR9XG4gKiBAc2VlIHtAbGluayBjYXRjaEVycm9yfVxuICpcbiAqIEBwYXJhbSB7Li4uT2JzZXJ2YWJsZUlucHV0fSBzb3VyY2VzIE9ic2VydmFibGVzIHBhc3NlZCBlaXRoZXIgZGlyZWN0bHkgb3IgYXMgYW4gYXJyYXkuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB2YWx1ZXMgZnJvbSBzb3VyY2VcbiAqIE9ic2VydmFibGUsIGJ1dCAtIGlmIGl0IGVycm9ycyAtIHN1YnNjcmliZXMgdG8gdGhlIG5leHQgcGFzc2VkIE9ic2VydmFibGVcbiAqIGFuZCBzbyBvbiwgdW50aWwgaXQgY29tcGxldGVzIG9yIHJ1bnMgb3V0IG9mIE9ic2VydmFibGVzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gb25FcnJvclJlc3VtZU5leHRXaXRoPFQsIEEgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10+KFxuICAuLi5zb3VyY2VzOiBbWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+XV0gfCBbLi4uT2JzZXJ2YWJsZUlucHV0VHVwbGU8QT5dXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFQgfCBBW251bWJlcl0+IHtcbiAgLy8gRm9yIHNvbWUgcmVhc29uLCBUUyA0LjEgUkMgZ2V0cyB0aGUgaW5mZXJlbmNlIHdyb25nIGhlcmUgYW5kIGluZmVycyB0aGVcbiAgLy8gcmVzdWx0IHRvIGJlIGBBW251bWJlcl1bXWAgLSBjb21wbGV0ZWx5IGRyb3BwaW5nIHRoZSBPYnNlcnZhYmxlSW5wdXQgcGFydFxuICAvLyBvZiB0aGUgdHlwZS4gVGhpcyBtYWtlcyBubyBzZW5zZSB3aGF0c29ldmVyLiBBcyBhIHdvcmthcm91bmQsIHRoZSB0eXBlIGlzXG4gIC8vIGFzc2VydGVkIGV4cGxpY2l0bHkuXG4gIGNvbnN0IG5leHRTb3VyY2VzID0gYXJnc09yQXJnQXJyYXkoc291cmNlcykgYXMgdW5rbm93biBhcyBPYnNlcnZhYmxlSW5wdXRUdXBsZTxBPjtcblxuICByZXR1cm4gKHNvdXJjZSkgPT4gb0VSTkNyZWF0ZShzb3VyY2UsIC4uLm5leHRTb3VyY2VzKTtcbn1cblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBSZW5hbWVkLiBVc2Uge0BsaW5rIG9uRXJyb3JSZXN1bWVOZXh0V2l0aH0gaW5zdGVhZC4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICovXG5leHBvcnQgY29uc3Qgb25FcnJvclJlc3VtZU5leHQgPSBvbkVycm9yUmVzdW1lTmV4dFdpdGg7XG4iLCAiaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi9PcGVyYXRvclN1YnNjcmliZXInO1xuXG4vKipcbiAqIEdyb3VwcyBwYWlycyBvZiBjb25zZWN1dGl2ZSBlbWlzc2lvbnMgdG9nZXRoZXIgYW5kIGVtaXRzIHRoZW0gYXMgYW4gYXJyYXkgb2ZcbiAqIHR3byB2YWx1ZXMuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPlB1dHMgdGhlIGN1cnJlbnQgdmFsdWUgYW5kIHByZXZpb3VzIHZhbHVlIHRvZ2V0aGVyIGFzXG4gKiBhbiBhcnJheSwgYW5kIGVtaXRzIHRoYXQuPC9zcGFuPlxuICpcbiAqICFbXShwYWlyd2lzZS5wbmcpXG4gKlxuICogVGhlIE50aCBlbWlzc2lvbiBmcm9tIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB3aWxsIGNhdXNlIHRoZSBvdXRwdXQgT2JzZXJ2YWJsZVxuICogdG8gZW1pdCBhbiBhcnJheSBbKE4tMSl0aCwgTnRoXSBvZiB0aGUgcHJldmlvdXMgYW5kIHRoZSBjdXJyZW50IHZhbHVlLCBhcyBhXG4gKiBwYWlyLiBGb3IgdGhpcyByZWFzb24sIGBwYWlyd2lzZWAgZW1pdHMgb24gdGhlIHNlY29uZCBhbmQgc3Vic2VxdWVudFxuICogZW1pc3Npb25zIGZyb20gdGhlIHNvdXJjZSBPYnNlcnZhYmxlLCBidXQgbm90IG9uIHRoZSBmaXJzdCBlbWlzc2lvbiwgYmVjYXVzZVxuICogdGhlcmUgaXMgbm8gcHJldmlvdXMgdmFsdWUgaW4gdGhhdCBjYXNlLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBPbiBldmVyeSBjbGljayAoc3RhcnRpbmcgZnJvbSB0aGUgc2Vjb25kKSwgZW1pdCB0aGUgcmVsYXRpdmUgZGlzdGFuY2UgdG8gdGhlIHByZXZpb3VzIGNsaWNrXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgcGFpcndpc2UsIG1hcCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGNsaWNrcyA9IGZyb21FdmVudDxQb2ludGVyRXZlbnQ+KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IHBhaXJzID0gY2xpY2tzLnBpcGUocGFpcndpc2UoKSk7XG4gKiBjb25zdCBkaXN0YW5jZSA9IHBhaXJzLnBpcGUoXG4gKiAgIG1hcCgoW2ZpcnN0LCBzZWNvbmRdKSA9PiB7XG4gKiAgICAgY29uc3QgeDAgPSBmaXJzdC5jbGllbnRYO1xuICogICAgIGNvbnN0IHkwID0gZmlyc3QuY2xpZW50WTtcbiAqICAgICBjb25zdCB4MSA9IHNlY29uZC5jbGllbnRYO1xuICogICAgIGNvbnN0IHkxID0gc2Vjb25kLmNsaWVudFk7XG4gKiAgICAgcmV0dXJuIE1hdGguc3FydChNYXRoLnBvdyh4MCAtIHgxLCAyKSArIE1hdGgucG93KHkwIC0geTEsIDIpKTtcbiAqICAgfSlcbiAqICk7XG4gKlxuICogZGlzdGFuY2Uuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgYnVmZmVyfVxuICogQHNlZSB7QGxpbmsgYnVmZmVyQ291bnR9XG4gKlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIG9mIHBhaXJzIChhcyBhcnJheXMpIG9mXG4gKiBjb25zZWN1dGl2ZSB2YWx1ZXMgZnJvbSB0aGUgc291cmNlIE9ic2VydmFibGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwYWlyd2lzZTxUPigpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFtULCBUXT4ge1xuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgbGV0IHByZXY6IFQ7XG4gICAgbGV0IGhhc1ByZXYgPSBmYWxzZTtcbiAgICBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKHN1YnNjcmliZXIsICh2YWx1ZSkgPT4ge1xuICAgICAgICBjb25zdCBwID0gcHJldjtcbiAgICAgICAgcHJldiA9IHZhbHVlO1xuICAgICAgICBoYXNQcmV2ICYmIHN1YnNjcmliZXIubmV4dChbcCwgdmFsdWVdKTtcbiAgICAgICAgaGFzUHJldiA9IHRydWU7XG4gICAgICB9KVxuICAgICk7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IG1hcCB9IGZyb20gJy4vbWFwJztcbmltcG9ydCB7IE9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qIHRzbGludDpkaXNhYmxlOm1heC1saW5lLWxlbmd0aCAqL1xuLyoqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgbWFwfSBhbmQgb3B0aW9uYWwgY2hhaW5pbmc6IGBwbHVjaygnZm9vJywgJ2JhcicpYCBpcyBgbWFwKHggPT4geD8uZm9vPy5iYXIpYC4gV2lsbCBiZSByZW1vdmVkIGluIHY4LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBsdWNrPFQsIEsxIGV4dGVuZHMga2V5b2YgVD4oazE6IEsxKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUW0sxXT47XG4vKiogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBtYXB9IGFuZCBvcHRpb25hbCBjaGFpbmluZzogYHBsdWNrKCdmb28nLCAnYmFyJylgIGlzIGBtYXAoeCA9PiB4Py5mb28/LmJhcilgLiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguICovXG5leHBvcnQgZnVuY3Rpb24gcGx1Y2s8VCwgSzEgZXh0ZW5kcyBrZXlvZiBULCBLMiBleHRlbmRzIGtleW9mIFRbSzFdPihrMTogSzEsIGsyOiBLMik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVFtLMV1bSzJdPjtcbi8qKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIG1hcH0gYW5kIG9wdGlvbmFsIGNoYWluaW5nOiBgcGx1Y2soJ2ZvbycsICdiYXInKWAgaXMgYG1hcCh4ID0+IHg/LmZvbz8uYmFyKWAuIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwbHVjazxULCBLMSBleHRlbmRzIGtleW9mIFQsIEsyIGV4dGVuZHMga2V5b2YgVFtLMV0sIEszIGV4dGVuZHMga2V5b2YgVFtLMV1bSzJdPihcbiAgazE6IEsxLFxuICBrMjogSzIsXG4gIGszOiBLM1xuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUW0sxXVtLMl1bSzNdPjtcbi8qKiBAZGVwcmVjYXRlZCBVc2Uge0BsaW5rIG1hcH0gYW5kIG9wdGlvbmFsIGNoYWluaW5nOiBgcGx1Y2soJ2ZvbycsICdiYXInKWAgaXMgYG1hcCh4ID0+IHg/LmZvbz8uYmFyKWAuIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwbHVjazxULCBLMSBleHRlbmRzIGtleW9mIFQsIEsyIGV4dGVuZHMga2V5b2YgVFtLMV0sIEszIGV4dGVuZHMga2V5b2YgVFtLMV1bSzJdLCBLNCBleHRlbmRzIGtleW9mIFRbSzFdW0syXVtLM10+KFxuICBrMTogSzEsXG4gIGsyOiBLMixcbiAgazM6IEszLFxuICBrNDogSzRcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVFtLMV1bSzJdW0szXVtLNF0+O1xuLyoqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgbWFwfSBhbmQgb3B0aW9uYWwgY2hhaW5pbmc6IGBwbHVjaygnZm9vJywgJ2JhcicpYCBpcyBgbWFwKHggPT4geD8uZm9vPy5iYXIpYC4gV2lsbCBiZSByZW1vdmVkIGluIHY4LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBsdWNrPFxuICBULFxuICBLMSBleHRlbmRzIGtleW9mIFQsXG4gIEsyIGV4dGVuZHMga2V5b2YgVFtLMV0sXG4gIEszIGV4dGVuZHMga2V5b2YgVFtLMV1bSzJdLFxuICBLNCBleHRlbmRzIGtleW9mIFRbSzFdW0syXVtLM10sXG4gIEs1IGV4dGVuZHMga2V5b2YgVFtLMV1bSzJdW0szXVtLNF1cbj4oazE6IEsxLCBrMjogSzIsIGszOiBLMywgazQ6IEs0LCBrNTogSzUpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFRbSzFdW0syXVtLM11bSzRdW0s1XT47XG4vKiogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBtYXB9IGFuZCBvcHRpb25hbCBjaGFpbmluZzogYHBsdWNrKCdmb28nLCAnYmFyJylgIGlzIGBtYXAoeCA9PiB4Py5mb28/LmJhcilgLiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguICovXG5leHBvcnQgZnVuY3Rpb24gcGx1Y2s8XG4gIFQsXG4gIEsxIGV4dGVuZHMga2V5b2YgVCxcbiAgSzIgZXh0ZW5kcyBrZXlvZiBUW0sxXSxcbiAgSzMgZXh0ZW5kcyBrZXlvZiBUW0sxXVtLMl0sXG4gIEs0IGV4dGVuZHMga2V5b2YgVFtLMV1bSzJdW0szXSxcbiAgSzUgZXh0ZW5kcyBrZXlvZiBUW0sxXVtLMl1bSzNdW0s0XSxcbiAgSzYgZXh0ZW5kcyBrZXlvZiBUW0sxXVtLMl1bSzNdW0s0XVtLNV1cbj4oazE6IEsxLCBrMjogSzIsIGszOiBLMywgazQ6IEs0LCBrNTogSzUsIGs2OiBLNik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVFtLMV1bSzJdW0szXVtLNF1bSzVdW0s2XT47XG4vKiogQGRlcHJlY2F0ZWQgVXNlIHtAbGluayBtYXB9IGFuZCBvcHRpb25hbCBjaGFpbmluZzogYHBsdWNrKCdmb28nLCAnYmFyJylgIGlzIGBtYXAoeCA9PiB4Py5mb28/LmJhcilgLiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguICovXG5leHBvcnQgZnVuY3Rpb24gcGx1Y2s8XG4gIFQsXG4gIEsxIGV4dGVuZHMga2V5b2YgVCxcbiAgSzIgZXh0ZW5kcyBrZXlvZiBUW0sxXSxcbiAgSzMgZXh0ZW5kcyBrZXlvZiBUW0sxXVtLMl0sXG4gIEs0IGV4dGVuZHMga2V5b2YgVFtLMV1bSzJdW0szXSxcbiAgSzUgZXh0ZW5kcyBrZXlvZiBUW0sxXVtLMl1bSzNdW0s0XSxcbiAgSzYgZXh0ZW5kcyBrZXlvZiBUW0sxXVtLMl1bSzNdW0s0XVtLNV1cbj4oazE6IEsxLCBrMjogSzIsIGszOiBLMywgazQ6IEs0LCBrNTogSzUsIGs2OiBLNiwgLi4ucmVzdDogc3RyaW5nW10pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIHVua25vd24+O1xuLyoqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgbWFwfSBhbmQgb3B0aW9uYWwgY2hhaW5pbmc6IGBwbHVjaygnZm9vJywgJ2JhcicpYCBpcyBgbWFwKHggPT4geD8uZm9vPy5iYXIpYC4gV2lsbCBiZSByZW1vdmVkIGluIHY4LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHBsdWNrPFQ+KC4uLnByb3BlcnRpZXM6IHN0cmluZ1tdKTogT3BlcmF0b3JGdW5jdGlvbjxULCB1bmtub3duPjtcbi8qIHRzbGludDplbmFibGU6bWF4LWxpbmUtbGVuZ3RoICovXG5cbi8qKlxuICogTWFwcyBlYWNoIHNvdXJjZSB2YWx1ZSB0byBpdHMgc3BlY2lmaWVkIG5lc3RlZCBwcm9wZXJ0eS5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+TGlrZSB7QGxpbmsgbWFwfSwgYnV0IG1lYW50IG9ubHkgZm9yIHBpY2tpbmcgb25lIG9mXG4gKiB0aGUgbmVzdGVkIHByb3BlcnRpZXMgb2YgZXZlcnkgZW1pdHRlZCB2YWx1ZS48L3NwYW4+XG4gKlxuICogIVtdKHBsdWNrLnBuZylcbiAqXG4gKiBHaXZlbiBhIGxpc3Qgb2Ygc3RyaW5ncyBvciBudW1iZXJzIGRlc2NyaWJpbmcgYSBwYXRoIHRvIGEgcHJvcGVydHksIHJldHJpZXZlc1xuICogdGhlIHZhbHVlIG9mIGEgc3BlY2lmaWVkIG5lc3RlZCBwcm9wZXJ0eSBmcm9tIGFsbCB2YWx1ZXMgaW4gdGhlIHNvdXJjZVxuICogT2JzZXJ2YWJsZS4gSWYgYSBwcm9wZXJ0eSBjYW4ndCBiZSByZXNvbHZlZCwgaXQgd2lsbCByZXR1cm4gYHVuZGVmaW5lZGAgZm9yXG4gKiB0aGF0IHZhbHVlLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBNYXAgZXZlcnkgY2xpY2sgdG8gdGhlIHRhZ05hbWUgb2YgdGhlIGNsaWNrZWQgdGFyZ2V0IGVsZW1lbnRcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCBwbHVjayB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGNsaWNrcyA9IGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJyk7XG4gKiBjb25zdCB0YWdOYW1lcyA9IGNsaWNrcy5waXBlKHBsdWNrKCd0YXJnZXQnLCAndGFnTmFtZScpKTtcbiAqXG4gKiB0YWdOYW1lcy5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBtYXB9XG4gKlxuICogQHBhcmFtIHByb3BlcnRpZXMgVGhlIG5lc3RlZCBwcm9wZXJ0aWVzIHRvIHBsdWNrIGZyb20gZWFjaCBzb3VyY2VcbiAqIHZhbHVlLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIG9mIHByb3BlcnR5IHZhbHVlcyBmcm9tIHRoZVxuICogc291cmNlIHZhbHVlcy5cbiAqIEBkZXByZWNhdGVkIFVzZSB7QGxpbmsgbWFwfSBhbmQgb3B0aW9uYWwgY2hhaW5pbmc6IGBwbHVjaygnZm9vJywgJ2JhcicpYCBpcyBgbWFwKHggPT4geD8uZm9vPy5iYXIpYC4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcGx1Y2s8VCwgUj4oLi4ucHJvcGVydGllczogQXJyYXk8c3RyaW5nIHwgbnVtYmVyIHwgc3ltYm9sPik6IE9wZXJhdG9yRnVuY3Rpb248VCwgUj4ge1xuICBjb25zdCBsZW5ndGggPSBwcm9wZXJ0aWVzLmxlbmd0aDtcbiAgaWYgKGxlbmd0aCA9PT0gMCkge1xuICAgIHRocm93IG5ldyBFcnJvcignbGlzdCBvZiBwcm9wZXJ0aWVzIGNhbm5vdCBiZSBlbXB0eS4nKTtcbiAgfVxuICByZXR1cm4gbWFwKCh4KSA9PiB7XG4gICAgbGV0IGN1cnJlbnRQcm9wOiBhbnkgPSB4O1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IHAgPSBjdXJyZW50UHJvcD8uW3Byb3BlcnRpZXNbaV1dO1xuICAgICAgaWYgKHR5cGVvZiBwICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBjdXJyZW50UHJvcCA9IHA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gY3VycmVudFByb3A7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICcuLi9TdWJqZWN0JztcbmltcG9ydCB7IG11bHRpY2FzdCB9IGZyb20gJy4vbXVsdGljYXN0JztcbmltcG9ydCB7IENvbm5lY3RhYmxlT2JzZXJ2YWJsZSB9IGZyb20gJy4uL29ic2VydmFibGUvQ29ubmVjdGFibGVPYnNlcnZhYmxlJztcbmltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgT3BlcmF0b3JGdW5jdGlvbiwgVW5hcnlGdW5jdGlvbiwgT2JzZXJ2YWJsZUlucHV0LCBPYnNlcnZlZFZhbHVlT2YgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBjb25uZWN0IH0gZnJvbSAnLi9jb25uZWN0JztcblxuLyoqXG4gKiBSZXR1cm5zIGEgY29ubmVjdGFibGUgb2JzZXJ2YWJsZSB0aGF0LCB3aGVuIGNvbm5lY3RlZCwgd2lsbCBtdWx0aWNhc3RcbiAqIGFsbCB2YWx1ZXMgdGhyb3VnaCBhIHNpbmdsZSB1bmRlcmx5aW5nIHtAbGluayBTdWJqZWN0fSBpbnN0YW5jZS5cbiAqXG4gKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjguIFRvIGNyZWF0ZSBhIGNvbm5lY3RhYmxlIG9ic2VydmFibGUsIHVzZSB7QGxpbmsgY29ubmVjdGFibGV9LlxuICogYHNvdXJjZS5waXBlKHB1Ymxpc2goKSlgIGlzIGVxdWl2YWxlbnQgdG9cbiAqIGBjb25uZWN0YWJsZShzb3VyY2UsIHsgY29ubmVjdG9yOiAoKSA9PiBuZXcgU3ViamVjdCgpLCByZXNldE9uRGlzY29ubmVjdDogZmFsc2UgfSlgLlxuICogSWYgeW91J3JlIHVzaW5nIHtAbGluayByZWZDb3VudH0gYWZ0ZXIgYHB1Ymxpc2hgLCB1c2Uge0BsaW5rIHNoYXJlfSBvcGVyYXRvciBpbnN0ZWFkLlxuICogYHNvdXJjZS5waXBlKHB1Ymxpc2goKSwgcmVmQ291bnQoKSlgIGlzIGVxdWl2YWxlbnQgdG9cbiAqIGBzb3VyY2UucGlwZShzaGFyZSh7IHJlc2V0T25FcnJvcjogZmFsc2UsIHJlc2V0T25Db21wbGV0ZTogZmFsc2UsIHJlc2V0T25SZWZDb3VudFplcm86IGZhbHNlIH0pKWAuXG4gKiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9tdWx0aWNhc3RpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHB1Ymxpc2g8VD4oKTogVW5hcnlGdW5jdGlvbjxPYnNlcnZhYmxlPFQ+LCBDb25uZWN0YWJsZU9ic2VydmFibGU8VD4+O1xuXG4vKipcbiAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSwgdGhhdCB3aGVuIHN1YnNjcmliZWQgdG8sIGNyZWF0ZXMgYW4gdW5kZXJseWluZyB7QGxpbmsgU3ViamVjdH0sXG4gKiBwcm92aWRlcyBhbiBvYnNlcnZhYmxlIHZpZXcgb2YgaXQgdG8gYSBgc2VsZWN0b3JgIGZ1bmN0aW9uLCB0YWtlcyB0aGUgb2JzZXJ2YWJsZSByZXN1bHQgb2ZcbiAqIHRoYXQgc2VsZWN0b3IgZnVuY3Rpb24gYW5kIHN1YnNjcmliZXMgdG8gaXQsIHNlbmRpbmcgaXRzIHZhbHVlcyB0byB0aGUgY29uc3VtZXIsIF90aGVuXyBjb25uZWN0c1xuICogdGhlIHN1YmplY3QgdG8gdGhlIG9yaWdpbmFsIHNvdXJjZS5cbiAqXG4gKiBAcGFyYW0gc2VsZWN0b3IgQSBmdW5jdGlvbiB1c2VkIHRvIHNldHVwIG11bHRpY2FzdGluZyBwcmlvciB0byBhdXRvbWF0aWMgY29ubmVjdGlvbi5cbiAqXG4gKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSB0aGUge0BsaW5rIGNvbm5lY3R9IG9wZXJhdG9yIGluc3RlYWQuXG4gKiBgcHVibGlzaChzZWxlY3RvcilgIGlzIGVxdWl2YWxlbnQgdG8gYGNvbm5lY3Qoc2VsZWN0b3IpYC5cbiAqIERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL211bHRpY2FzdGluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHVibGlzaDxULCBPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PGFueT4+KHNlbGVjdG9yOiAoc2hhcmVkOiBPYnNlcnZhYmxlPFQ+KSA9PiBPKTogT3BlcmF0b3JGdW5jdGlvbjxULCBPYnNlcnZlZFZhbHVlT2Y8Tz4+O1xuXG4vKipcbiAqIFJldHVybnMgYSBDb25uZWN0YWJsZU9ic2VydmFibGUsIHdoaWNoIGlzIGEgdmFyaWV0eSBvZiBPYnNlcnZhYmxlIHRoYXQgd2FpdHMgdW50aWwgaXRzIGNvbm5lY3QgbWV0aG9kIGlzIGNhbGxlZFxuICogYmVmb3JlIGl0IGJlZ2lucyBlbWl0dGluZyBpdGVtcyB0byB0aG9zZSBPYnNlcnZlcnMgdGhhdCBoYXZlIHN1YnNjcmliZWQgdG8gaXQuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPk1ha2VzIGEgY29sZCBPYnNlcnZhYmxlIGhvdDwvc3Bhbj5cbiAqXG4gKiAhW10ocHVibGlzaC5wbmcpXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBNYWtlIGBzb3VyY2UkYCBob3QgYnkgYXBwbHlpbmcgYHB1Ymxpc2hgIG9wZXJhdG9yLCB0aGVuIG1lcmdlIGVhY2ggaW5uZXIgb2JzZXJ2YWJsZSBpbnRvIGEgc2luZ2xlIG9uZVxuICogYW5kIHN1YnNjcmliZVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyB6aXAsIGludGVydmFsLCBvZiwgbWFwLCBwdWJsaXNoLCBtZXJnZSwgdGFwIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3Qgc291cmNlJCA9IHppcChpbnRlcnZhbCgyMDAwKSwgb2YoMSwgMiwgMywgNCwgNSwgNiwgNywgOCwgOSkpXG4gKiAgIC5waXBlKG1hcCgoWywgbnVtYmVyXSkgPT4gbnVtYmVyKSk7XG4gKlxuICogc291cmNlJFxuICogICAucGlwZShcbiAqICAgICBwdWJsaXNoKG11bHRpY2FzdGVkJCA9PlxuICogICAgICAgbWVyZ2UoXG4gKiAgICAgICAgIG11bHRpY2FzdGVkJC5waXBlKHRhcCh4ID0+IGNvbnNvbGUubG9nKCdTdHJlYW0gMTonLCB4KSkpLFxuICogICAgICAgICBtdWx0aWNhc3RlZCQucGlwZSh0YXAoeCA9PiBjb25zb2xlLmxvZygnU3RyZWFtIDI6JywgeCkpKSxcbiAqICAgICAgICAgbXVsdGljYXN0ZWQkLnBpcGUodGFwKHggPT4gY29uc29sZS5sb2coJ1N0cmVhbSAzOicsIHgpKSlcbiAqICAgICAgIClcbiAqICAgICApXG4gKiAgIClcbiAqICAgLnN1YnNjcmliZSgpO1xuICpcbiAqIC8vIFJlc3VsdHMgZXZlcnkgdHdvIHNlY29uZHNcbiAqIC8vIFN0cmVhbSAxOiAxXG4gKiAvLyBTdHJlYW0gMjogMVxuICogLy8gU3RyZWFtIDM6IDFcbiAqIC8vIC4uLlxuICogLy8gU3RyZWFtIDE6IDlcbiAqIC8vIFN0cmVhbSAyOiA5XG4gKiAvLyBTdHJlYW0gMzogOVxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgcHVibGlzaExhc3R9XG4gKiBAc2VlIHtAbGluayBwdWJsaXNoUmVwbGF5fVxuICogQHNlZSB7QGxpbmsgcHVibGlzaEJlaGF2aW9yfVxuICpcbiAqIEBwYXJhbSB7RnVuY3Rpb259IFtzZWxlY3Rvcl0gLSBPcHRpb25hbCBzZWxlY3RvciBmdW5jdGlvbiB3aGljaCBjYW4gdXNlIHRoZSBtdWx0aWNhc3RlZCBzb3VyY2Ugc2VxdWVuY2UgYXMgbWFueSB0aW1lc1xuICogYXMgbmVlZGVkLCB3aXRob3V0IGNhdXNpbmcgbXVsdGlwbGUgc3Vic2NyaXB0aW9ucyB0byB0aGUgc291cmNlIHNlcXVlbmNlLlxuICogU3Vic2NyaWJlcnMgdG8gdGhlIGdpdmVuIHNvdXJjZSB3aWxsIHJlY2VpdmUgYWxsIG5vdGlmaWNhdGlvbnMgb2YgdGhlIHNvdXJjZSBmcm9tIHRoZSB0aW1lIG9mIHRoZSBzdWJzY3JpcHRpb24gb24uXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgQ29ubmVjdGFibGVPYnNlcnZhYmxlIHRoYXQgdXBvbiBjb25uZWN0aW9uXG4gKiBjYXVzZXMgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHRvIGVtaXQgaXRlbXMgdG8gaXRzIE9ic2VydmVycy5cbiAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gVXNlIHRoZSB7QGxpbmsgY29ubmVjdGFibGV9IG9ic2VydmFibGUsIHRoZSB7QGxpbmsgY29ubmVjdH0gb3BlcmF0b3Igb3IgdGhlXG4gKiB7QGxpbmsgc2hhcmV9IG9wZXJhdG9yIGluc3RlYWQuIFNlZSB0aGUgb3ZlcmxvYWRzIGJlbG93IGZvciBlcXVpdmFsZW50IHJlcGxhY2VtZW50IGV4YW1wbGVzIG9mIHRoaXMgb3BlcmF0b3Inc1xuICogYmVoYXZpb3JzLlxuICogRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvbXVsdGljYXN0aW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwdWJsaXNoPFQsIFI+KHNlbGVjdG9yPzogT3BlcmF0b3JGdW5jdGlvbjxULCBSPik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB8IE9wZXJhdG9yRnVuY3Rpb248VCwgUj4ge1xuICByZXR1cm4gc2VsZWN0b3IgPyAoc291cmNlKSA9PiBjb25uZWN0KHNlbGVjdG9yKShzb3VyY2UpIDogKHNvdXJjZSkgPT4gbXVsdGljYXN0KG5ldyBTdWJqZWN0PFQ+KCkpKHNvdXJjZSk7XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAnLi4vQmVoYXZpb3JTdWJqZWN0JztcbmltcG9ydCB7IENvbm5lY3RhYmxlT2JzZXJ2YWJsZSB9IGZyb20gJy4uL29ic2VydmFibGUvQ29ubmVjdGFibGVPYnNlcnZhYmxlJztcbmltcG9ydCB7IFVuYXJ5RnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogQ3JlYXRlcyBhIHtAbGluayBDb25uZWN0YWJsZU9ic2VydmFibGV9IHRoYXQgdXRpbGl6ZXMgYSB7QGxpbmsgQmVoYXZpb3JTdWJqZWN0fS5cbiAqXG4gKiBAcGFyYW0gaW5pdGlhbFZhbHVlIFRoZSBpbml0aWFsIHZhbHVlIHBhc3NlZCB0byB0aGUge0BsaW5rIEJlaGF2aW9yU3ViamVjdH0uXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEge0BsaW5rIENvbm5lY3RhYmxlT2JzZXJ2YWJsZX1cbiAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gVG8gY3JlYXRlIGEgY29ubmVjdGFibGUgb2JzZXJ2YWJsZSB0aGF0IHVzZXMgYVxuICoge0BsaW5rIEJlaGF2aW9yU3ViamVjdH0gdW5kZXIgdGhlIGhvb2QsIHVzZSB7QGxpbmsgY29ubmVjdGFibGV9LlxuICogYHNvdXJjZS5waXBlKHB1Ymxpc2hCZWhhdmlvcihpbml0VmFsdWUpKWAgaXMgZXF1aXZhbGVudCB0b1xuICogYGNvbm5lY3RhYmxlKHNvdXJjZSwgeyBjb25uZWN0b3I6ICgpID0+IG5ldyBCZWhhdmlvclN1YmplY3QoaW5pdFZhbHVlKSwgcmVzZXRPbkRpc2Nvbm5lY3Q6IGZhbHNlIH0pYC5cbiAqIElmIHlvdSdyZSB1c2luZyB7QGxpbmsgcmVmQ291bnR9IGFmdGVyIGBwdWJsaXNoQmVoYXZpb3JgLCB1c2UgdGhlIHtAbGluayBzaGFyZX0gb3BlcmF0b3IgaW5zdGVhZC5cbiAqIGBzb3VyY2UucGlwZShwdWJsaXNoQmVoYXZpb3IoaW5pdFZhbHVlKSwgcmVmQ291bnQoKSlgIGlzIGVxdWl2YWxlbnQgdG9cbiAqIGBzb3VyY2UucGlwZShzaGFyZSh7IGNvbm5lY3RvcjogKCkgPT4gbmV3IEJlaGF2aW9yU3ViamVjdChpbml0VmFsdWUpLCByZXNldE9uRXJyb3I6IGZhbHNlLCByZXNldE9uQ29tcGxldGU6IGZhbHNlLCByZXNldE9uUmVmQ291bnRaZXJvOiBmYWxzZSAgfSkpYC5cbiAqIERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL211bHRpY2FzdGluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHVibGlzaEJlaGF2aW9yPFQ+KGluaXRpYWxWYWx1ZTogVCk6IFVuYXJ5RnVuY3Rpb248T2JzZXJ2YWJsZTxUPiwgQ29ubmVjdGFibGVPYnNlcnZhYmxlPFQ+PiB7XG4gIC8vIE5vdGUgdGhhdCB0aGlzIGhhcyAqbmV2ZXIqIHN1cHBvcnRlZCB0aGUgc2VsZWN0b3IgZnVuY3Rpb24uXG4gIHJldHVybiAoc291cmNlKSA9PiB7XG4gICAgY29uc3Qgc3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VD4oaW5pdGlhbFZhbHVlKTtcbiAgICByZXR1cm4gbmV3IENvbm5lY3RhYmxlT2JzZXJ2YWJsZShzb3VyY2UsICgpID0+IHN1YmplY3QpO1xuICB9O1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IEFzeW5jU3ViamVjdCB9IGZyb20gJy4uL0FzeW5jU3ViamVjdCc7XG5pbXBvcnQgeyBDb25uZWN0YWJsZU9ic2VydmFibGUgfSBmcm9tICcuLi9vYnNlcnZhYmxlL0Nvbm5lY3RhYmxlT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBVbmFyeUZ1bmN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG4vKipcbiAqIFJldHVybnMgYSBjb25uZWN0YWJsZSBvYnNlcnZhYmxlIHNlcXVlbmNlIHRoYXQgc2hhcmVzIGEgc2luZ2xlIHN1YnNjcmlwdGlvbiB0byB0aGVcbiAqIHVuZGVybHlpbmcgc2VxdWVuY2UgY29udGFpbmluZyBvbmx5IHRoZSBsYXN0IG5vdGlmaWNhdGlvbi5cbiAqXG4gKiAhW10ocHVibGlzaExhc3QucG5nKVxuICpcbiAqIFNpbWlsYXIgdG8ge0BsaW5rIHB1Ymxpc2h9LCBidXQgaXQgd2FpdHMgdW50aWwgdGhlIHNvdXJjZSBvYnNlcnZhYmxlIGNvbXBsZXRlcyBhbmQgc3RvcmVzXG4gKiB0aGUgbGFzdCBlbWl0dGVkIHZhbHVlLlxuICogU2ltaWxhcmx5IHRvIHtAbGluayBwdWJsaXNoUmVwbGF5fSBhbmQge0BsaW5rIHB1Ymxpc2hCZWhhdmlvcn0sIHRoaXMga2VlcHMgc3RvcmluZyB0aGUgbGFzdFxuICogdmFsdWUgZXZlbiBpZiBpdCBoYXMgbm8gbW9yZSBzdWJzY3JpYmVycy4gSWYgc3Vic2VxdWVudCBzdWJzY3JpcHRpb25zIGhhcHBlbiwgdGhleSB3aWxsXG4gKiBpbW1lZGlhdGVseSBnZXQgdGhhdCBsYXN0IHN0b3JlZCB2YWx1ZSBhbmQgY29tcGxldGUuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBDb25uZWN0YWJsZU9ic2VydmFibGUsIGludGVydmFsLCBwdWJsaXNoTGFzdCwgdGFwLCB0YWtlIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY29ubmVjdGFibGUgPSA8Q29ubmVjdGFibGVPYnNlcnZhYmxlPG51bWJlcj4+aW50ZXJ2YWwoMTAwMClcbiAqICAgLnBpcGUoXG4gKiAgICAgdGFwKHggPT4gY29uc29sZS5sb2coJ3NpZGUgZWZmZWN0JywgeCkpLFxuICogICAgIHRha2UoMyksXG4gKiAgICAgcHVibGlzaExhc3QoKVxuICogICApO1xuICpcbiAqIGNvbm5lY3RhYmxlLnN1YnNjcmliZSh7XG4gKiAgIG5leHQ6IHggPT4gY29uc29sZS5sb2coJ1N1Yi4gQScsIHgpLFxuICogICBlcnJvcjogZXJyID0+IGNvbnNvbGUubG9nKCdTdWIuIEEgRXJyb3InLCBlcnIpLFxuICogICBjb21wbGV0ZTogKCkgPT4gY29uc29sZS5sb2coJ1N1Yi4gQSBDb21wbGV0ZScpXG4gKiB9KTtcbiAqXG4gKiBjb25uZWN0YWJsZS5zdWJzY3JpYmUoe1xuICogICBuZXh0OiB4ID0+IGNvbnNvbGUubG9nKCdTdWIuIEInLCB4KSxcbiAqICAgZXJyb3I6IGVyciA9PiBjb25zb2xlLmxvZygnU3ViLiBCIEVycm9yJywgZXJyKSxcbiAqICAgY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKCdTdWIuIEIgQ29tcGxldGUnKVxuICogfSk7XG4gKlxuICogY29ubmVjdGFibGUuY29ubmVjdCgpO1xuICpcbiAqIC8vIFJlc3VsdHM6XG4gKiAvLyAnc2lkZSBlZmZlY3QgMCcgICAtIGFmdGVyIG9uZSBzZWNvbmRcbiAqIC8vICdzaWRlIGVmZmVjdCAxJyAgIC0gYWZ0ZXIgdHdvIHNlY29uZHNcbiAqIC8vICdzaWRlIGVmZmVjdCAyJyAgIC0gYWZ0ZXIgdGhyZWUgc2Vjb25kc1xuICogLy8gJ1N1Yi4gQSAyJyAgICAgICAgLSBpbW1lZGlhdGVseSBhZnRlciAnc2lkZSBlZmZlY3QgMidcbiAqIC8vICdTdWIuIEIgMidcbiAqIC8vICdTdWIuIEEgQ29tcGxldGUnXG4gKiAvLyAnU3ViLiBCIENvbXBsZXRlJ1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgQ29ubmVjdGFibGVPYnNlcnZhYmxlfVxuICogQHNlZSB7QGxpbmsgcHVibGlzaH1cbiAqIEBzZWUge0BsaW5rIHB1Ymxpc2hSZXBsYXl9XG4gKiBAc2VlIHtAbGluayBwdWJsaXNoQmVoYXZpb3J9XG4gKlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgZWxlbWVudHMgb2YgYVxuICogc2VxdWVuY2UgcHJvZHVjZWQgYnkgbXVsdGljYXN0aW5nIHRoZSBzb3VyY2Ugc2VxdWVuY2UuXG4gKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjguIFRvIGNyZWF0ZSBhIGNvbm5lY3RhYmxlIG9ic2VydmFibGUgd2l0aCBhblxuICoge0BsaW5rIEFzeW5jU3ViamVjdH0gdW5kZXIgdGhlIGhvb2QsIHVzZSB7QGxpbmsgY29ubmVjdGFibGV9LlxuICogYHNvdXJjZS5waXBlKHB1Ymxpc2hMYXN0KCkpYCBpcyBlcXVpdmFsZW50IHRvXG4gKiBgY29ubmVjdGFibGUoc291cmNlLCB7IGNvbm5lY3RvcjogKCkgPT4gbmV3IEFzeW5jU3ViamVjdCgpLCByZXNldE9uRGlzY29ubmVjdDogZmFsc2UgfSlgLlxuICogSWYgeW91J3JlIHVzaW5nIHtAbGluayByZWZDb3VudH0gYWZ0ZXIgYHB1Ymxpc2hMYXN0YCwgdXNlIHRoZSB7QGxpbmsgc2hhcmV9IG9wZXJhdG9yIGluc3RlYWQuXG4gKiBgc291cmNlLnBpcGUocHVibGlzaExhc3QoKSwgcmVmQ291bnQoKSlgIGlzIGVxdWl2YWxlbnQgdG9cbiAqIGBzb3VyY2UucGlwZShzaGFyZSh7IGNvbm5lY3RvcjogKCkgPT4gbmV3IEFzeW5jU3ViamVjdCgpLCByZXNldE9uRXJyb3I6IGZhbHNlLCByZXNldE9uQ29tcGxldGU6IGZhbHNlLCByZXNldE9uUmVmQ291bnRaZXJvOiBmYWxzZSB9KSlgLlxuICogRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvbXVsdGljYXN0aW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwdWJsaXNoTGFzdDxUPigpOiBVbmFyeUZ1bmN0aW9uPE9ic2VydmFibGU8VD4sIENvbm5lY3RhYmxlT2JzZXJ2YWJsZTxUPj4ge1xuICAvLyBOb3RlIHRoYXQgdGhpcyBoYXMgKm5ldmVyKiBzdXBwb3J0ZWQgYSBzZWxlY3RvciBmdW5jdGlvbiBsaWtlIGBwdWJsaXNoYCBhbmQgYHB1Ymxpc2hSZXBsYXlgLlxuICByZXR1cm4gKHNvdXJjZSkgPT4ge1xuICAgIGNvbnN0IHN1YmplY3QgPSBuZXcgQXN5bmNTdWJqZWN0PFQ+KCk7XG4gICAgcmV0dXJuIG5ldyBDb25uZWN0YWJsZU9ic2VydmFibGUoc291cmNlLCAoKSA9PiBzdWJqZWN0KTtcbiAgfTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0IH0gZnJvbSAnLi4vUmVwbGF5U3ViamVjdCc7XG5pbXBvcnQgeyBtdWx0aWNhc3QgfSBmcm9tICcuL211bHRpY2FzdCc7XG5pbXBvcnQgeyBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9wZXJhdG9yRnVuY3Rpb24sIFRpbWVzdGFtcFByb3ZpZGVyLCBPYnNlcnZhYmxlSW5wdXQsIE9ic2VydmVkVmFsdWVPZiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tICcuLi91dGlsL2lzRnVuY3Rpb24nO1xuXG4vKipcbiAqIENyZWF0ZXMgYSB7QGxpbmsgQ29ubmVjdGFibGVPYnNlcnZhYmxlfSB0aGF0IHVzZXMgYSB7QGxpbmsgUmVwbGF5U3ViamVjdH1cbiAqIGludGVybmFsbHkuXG4gKlxuICogQHBhcmFtIGJ1ZmZlclNpemUgVGhlIGJ1ZmZlciBzaXplIGZvciB0aGUgdW5kZXJseWluZyB7QGxpbmsgUmVwbGF5U3ViamVjdH0uXG4gKiBAcGFyYW0gd2luZG93VGltZSBUaGUgd2luZG93IHRpbWUgZm9yIHRoZSB1bmRlcmx5aW5nIHtAbGluayBSZXBsYXlTdWJqZWN0fS5cbiAqIEBwYXJhbSB0aW1lc3RhbXBQcm92aWRlciBUaGUgdGltZXN0YW1wIHByb3ZpZGVyIGZvciB0aGUgdW5kZXJseWluZyB7QGxpbmsgUmVwbGF5U3ViamVjdH0uXG4gKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjguIFRvIGNyZWF0ZSBhIGNvbm5lY3RhYmxlIG9ic2VydmFibGUgdGhhdCB1c2VzIGFcbiAqIHtAbGluayBSZXBsYXlTdWJqZWN0fSB1bmRlciB0aGUgaG9vZCwgdXNlIHtAbGluayBjb25uZWN0YWJsZX0uXG4gKiBgc291cmNlLnBpcGUocHVibGlzaFJlcGxheShzaXplLCB0aW1lLCBzY2hlZHVsZXIpKWAgaXMgZXF1aXZhbGVudCB0b1xuICogYGNvbm5lY3RhYmxlKHNvdXJjZSwgeyBjb25uZWN0b3I6ICgpID0+IG5ldyBSZXBsYXlTdWJqZWN0KHNpemUsIHRpbWUsIHNjaGVkdWxlciksIHJlc2V0T25EaXNjb25uZWN0OiBmYWxzZSB9KWAuXG4gKiBJZiB5b3UncmUgdXNpbmcge0BsaW5rIHJlZkNvdW50fSBhZnRlciBgcHVibGlzaFJlcGxheWAsIHVzZSB0aGUge0BsaW5rIHNoYXJlfSBvcGVyYXRvciBpbnN0ZWFkLlxuICogYHB1Ymxpc2hSZXBsYXkoc2l6ZSwgdGltZSwgc2NoZWR1bGVyKSwgcmVmQ291bnQoKWAgaXMgZXF1aXZhbGVudCB0b1xuICogYHNoYXJlKHsgY29ubmVjdG9yOiAoKSA9PiBuZXcgUmVwbGF5U3ViamVjdChzaXplLCB0aW1lLCBzY2hlZHVsZXIpLCByZXNldE9uRXJyb3I6IGZhbHNlLCByZXNldE9uQ29tcGxldGU6IGZhbHNlLCByZXNldE9uUmVmQ291bnRaZXJvOiBmYWxzZSB9KWAuXG4gKiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9tdWx0aWNhc3RpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHB1Ymxpc2hSZXBsYXk8VD4oXG4gIGJ1ZmZlclNpemU/OiBudW1iZXIsXG4gIHdpbmRvd1RpbWU/OiBudW1iZXIsXG4gIHRpbWVzdGFtcFByb3ZpZGVyPzogVGltZXN0YW1wUHJvdmlkZXJcbik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPjtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIG9ic2VydmFibGUsIHRoYXQgd2hlbiBzdWJzY3JpYmVkIHRvLCB3aWxsIGNyZWF0ZSBhIHtAbGluayBSZXBsYXlTdWJqZWN0fSxcbiAqIGFuZCBwYXNzIGFuIG9ic2VydmFibGUgZnJvbSBpdCAodXNpbmcgW2FzT2JzZXJ2YWJsZV0oYXBpL2luZGV4L2NsYXNzL1N1YmplY3QjYXNPYnNlcnZhYmxlKSkgdG9cbiAqIHRoZSBgc2VsZWN0b3JgIGZ1bmN0aW9uLCB3aGljaCB0aGVuIHJldHVybnMgYW4gb2JzZXJ2YWJsZSB0aGF0IGlzIHN1YnNjcmliZWQgdG8gYmVmb3JlXG4gKiBcImNvbm5lY3RpbmdcIiB0aGUgc291cmNlIHRvIHRoZSBpbnRlcm5hbCBgUmVwbGF5U3ViamVjdGAuXG4gKlxuICogU2luY2UgdGhpcyBpcyBkZXByZWNhdGVkLCBmb3IgYWRkaXRpb25hbCBkZXRhaWxzIHNlZSB0aGUgZG9jdW1lbnRhdGlvbiBmb3Ige0BsaW5rIGNvbm5lY3R9LlxuICpcbiAqIEBwYXJhbSBidWZmZXJTaXplIFRoZSBidWZmZXIgc2l6ZSBmb3IgdGhlIHVuZGVybHlpbmcge0BsaW5rIFJlcGxheVN1YmplY3R9LlxuICogQHBhcmFtIHdpbmRvd1RpbWUgVGhlIHdpbmRvdyB0aW1lIGZvciB0aGUgdW5kZXJseWluZyB7QGxpbmsgUmVwbGF5U3ViamVjdH0uXG4gKiBAcGFyYW0gc2VsZWN0b3IgQSBmdW5jdGlvbiB1c2VkIHRvIHNldHVwIHRoZSBtdWx0aWNhc3QuXG4gKiBAcGFyYW0gdGltZXN0YW1wUHJvdmlkZXIgVGhlIHRpbWVzdGFtcCBwcm92aWRlciBmb3IgdGhlIHVuZGVybHlpbmcge0BsaW5rIFJlcGxheVN1YmplY3R9LlxuICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIHY4LiBVc2UgdGhlIHtAbGluayBjb25uZWN0fSBvcGVyYXRvciBpbnN0ZWFkLlxuICogYHNvdXJjZS5waXBlKHB1Ymxpc2hSZXBsYXkoc2l6ZSwgd2luZG93LCBzZWxlY3Rvciwgc2NoZWR1bGVyKSlgIGlzIGVxdWl2YWxlbnQgdG9cbiAqIGBzb3VyY2UucGlwZShjb25uZWN0KHNlbGVjdG9yLCB7IGNvbm5lY3RvcjogKCkgPT4gbmV3IFJlcGxheVN1YmplY3Qoc2l6ZSwgd2luZG93LCBzY2hlZHVsZXIpIH0pKWAuXG4gKiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9tdWx0aWNhc3RpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHB1Ymxpc2hSZXBsYXk8VCwgTyBleHRlbmRzIE9ic2VydmFibGVJbnB1dDxhbnk+PihcbiAgYnVmZmVyU2l6ZTogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICB3aW5kb3dUaW1lOiBudW1iZXIgfCB1bmRlZmluZWQsXG4gIHNlbGVjdG9yOiAoc2hhcmVkOiBPYnNlcnZhYmxlPFQ+KSA9PiBPLFxuICB0aW1lc3RhbXBQcm92aWRlcj86IFRpbWVzdGFtcFByb3ZpZGVyXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE9ic2VydmVkVmFsdWVPZjxPPj47XG5cbi8qKlxuICogQ3JlYXRlcyBhIHtAbGluayBDb25uZWN0YWJsZU9ic2VydmFibGV9IHRoYXQgdXNlcyBhIHtAbGluayBSZXBsYXlTdWJqZWN0fVxuICogaW50ZXJuYWxseS5cbiAqXG4gKiBAcGFyYW0gYnVmZmVyU2l6ZSBUaGUgYnVmZmVyIHNpemUgZm9yIHRoZSB1bmRlcmx5aW5nIHtAbGluayBSZXBsYXlTdWJqZWN0fS5cbiAqIEBwYXJhbSB3aW5kb3dUaW1lIFRoZSB3aW5kb3cgdGltZSBmb3IgdGhlIHVuZGVybHlpbmcge0BsaW5rIFJlcGxheVN1YmplY3R9LlxuICogQHBhcmFtIHNlbGVjdG9yIFBhc3NpbmcgYHVuZGVmaW5lZGAgaGVyZSBkZXRlcm1pbmVzIHRoYXQgdGhpcyBvcGVyYXRvciB3aWxsIHJldHVybiBhIHtAbGluayBDb25uZWN0YWJsZU9ic2VydmFibGV9LlxuICogQHBhcmFtIHRpbWVzdGFtcFByb3ZpZGVyIFRoZSB0aW1lc3RhbXAgcHJvdmlkZXIgZm9yIHRoZSB1bmRlcmx5aW5nIHtAbGluayBSZXBsYXlTdWJqZWN0fS5cbiAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gVG8gY3JlYXRlIGEgY29ubmVjdGFibGUgb2JzZXJ2YWJsZSB0aGF0IHVzZXMgYVxuICoge0BsaW5rIFJlcGxheVN1YmplY3R9IHVuZGVyIHRoZSBob29kLCB1c2Uge0BsaW5rIGNvbm5lY3RhYmxlfS5cbiAqIGBzb3VyY2UucGlwZShwdWJsaXNoUmVwbGF5KHNpemUsIHRpbWUsIHNjaGVkdWxlcikpYCBpcyBlcXVpdmFsZW50IHRvXG4gKiBgY29ubmVjdGFibGUoc291cmNlLCB7IGNvbm5lY3RvcjogKCkgPT4gbmV3IFJlcGxheVN1YmplY3Qoc2l6ZSwgdGltZSwgc2NoZWR1bGVyKSwgcmVzZXRPbkRpc2Nvbm5lY3Q6IGZhbHNlIH0pYC5cbiAqIElmIHlvdSdyZSB1c2luZyB7QGxpbmsgcmVmQ291bnR9IGFmdGVyIGBwdWJsaXNoUmVwbGF5YCwgdXNlIHRoZSB7QGxpbmsgc2hhcmV9IG9wZXJhdG9yIGluc3RlYWQuXG4gKiBgcHVibGlzaFJlcGxheShzaXplLCB0aW1lLCBzY2hlZHVsZXIpLCByZWZDb3VudCgpYCBpcyBlcXVpdmFsZW50IHRvXG4gKiBgc2hhcmUoeyBjb25uZWN0b3I6ICgpID0+IG5ldyBSZXBsYXlTdWJqZWN0KHNpemUsIHRpbWUsIHNjaGVkdWxlciksIHJlc2V0T25FcnJvcjogZmFsc2UsIHJlc2V0T25Db21wbGV0ZTogZmFsc2UsIHJlc2V0T25SZWZDb3VudFplcm86IGZhbHNlIH0pYC5cbiAqIERldGFpbHM6IGh0dHBzOi8vcnhqcy5kZXYvZGVwcmVjYXRpb25zL211bHRpY2FzdGluZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHVibGlzaFJlcGxheTxULCBPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PGFueT4+KFxuICBidWZmZXJTaXplOiBudW1iZXIgfCB1bmRlZmluZWQsXG4gIHdpbmRvd1RpbWU6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgc2VsZWN0b3I6IHVuZGVmaW5lZCxcbiAgdGltZXN0YW1wUHJvdmlkZXI6IFRpbWVzdGFtcFByb3ZpZGVyXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE9ic2VydmVkVmFsdWVPZjxPPj47XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIHY4LiBVc2UgdGhlIHtAbGluayBjb25uZWN0YWJsZX0gb2JzZXJ2YWJsZSwgdGhlIHtAbGluayBjb25uZWN0fSBvcGVyYXRvciBvciB0aGVcbiAqIHtAbGluayBzaGFyZX0gb3BlcmF0b3IgaW5zdGVhZC4gU2VlIHRoZSBvdmVybG9hZHMgYmVsb3cgZm9yIGVxdWl2YWxlbnQgcmVwbGFjZW1lbnQgZXhhbXBsZXMgb2YgdGhpcyBvcGVyYXRvcidzXG4gKiBiZWhhdmlvcnMuXG4gKiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9tdWx0aWNhc3RpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHB1Ymxpc2hSZXBsYXk8VCwgUj4oXG4gIGJ1ZmZlclNpemU/OiBudW1iZXIsXG4gIHdpbmRvd1RpbWU/OiBudW1iZXIsXG4gIHNlbGVjdG9yT3JTY2hlZHVsZXI/OiBUaW1lc3RhbXBQcm92aWRlciB8IE9wZXJhdG9yRnVuY3Rpb248VCwgUj4sXG4gIHRpbWVzdGFtcFByb3ZpZGVyPzogVGltZXN0YW1wUHJvdmlkZXJcbikge1xuICBpZiAoc2VsZWN0b3JPclNjaGVkdWxlciAmJiAhaXNGdW5jdGlvbihzZWxlY3Rvck9yU2NoZWR1bGVyKSkge1xuICAgIHRpbWVzdGFtcFByb3ZpZGVyID0gc2VsZWN0b3JPclNjaGVkdWxlcjtcbiAgfVxuICBjb25zdCBzZWxlY3RvciA9IGlzRnVuY3Rpb24oc2VsZWN0b3JPclNjaGVkdWxlcikgPyBzZWxlY3Rvck9yU2NoZWR1bGVyIDogdW5kZWZpbmVkO1xuICAvLyBOb3RlLCB3ZSdyZSBwYXNzaW5nIGBzZWxlY3RvciFgIGhlcmUsIGJlY2F1c2UgYXQgcnVudGltZSwgYHVuZGVmaW5lZGAgaXMgYW4gYWNjZXB0YWJsZSBhcmd1bWVudFxuICAvLyBidXQgaXQgbWFrZXMgb3VyIFR5cGVTY3JpcHQgc2lnbmF0dXJlIGZvciBgbXVsdGljYXN0YCB1bmhhcHB5IChhcyBpdCBzaG91bGQsIGJlY2F1c2UgaXQncyBncm9zcykuXG4gIHJldHVybiAoc291cmNlOiBPYnNlcnZhYmxlPFQ+KSA9PiBtdWx0aWNhc3QobmV3IFJlcGxheVN1YmplY3Q8VD4oYnVmZmVyU2l6ZSwgd2luZG93VGltZSwgdGltZXN0YW1wUHJvdmlkZXIpLCBzZWxlY3RvciEpKHNvdXJjZSk7XG59XG4iLCAiaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZUlucHV0VHVwbGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyByYWNlSW5pdCB9IGZyb20gJy4uL29ic2VydmFibGUvcmFjZSc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGlkZW50aXR5IH0gZnJvbSAnLi4vdXRpbC9pZGVudGl0eSc7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBPYnNlcnZhYmxlIHRoYXQgbWlycm9ycyB0aGUgZmlyc3Qgc291cmNlIE9ic2VydmFibGUgdG8gZW1pdCBhIG5leHQsXG4gKiBlcnJvciBvciBjb21wbGV0ZSBub3RpZmljYXRpb24gZnJvbSB0aGUgY29tYmluYXRpb24gb2YgdGhlIE9ic2VydmFibGUgdG8gd2hpY2hcbiAqIHRoZSBvcGVyYXRvciBpcyBhcHBsaWVkIGFuZCBzdXBwbGllZCBPYnNlcnZhYmxlcy5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGludGVydmFsLCBtYXAsIHJhY2VXaXRoIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3Qgb2JzMSA9IGludGVydmFsKDcwMDApLnBpcGUobWFwKCgpID0+ICdzbG93IG9uZScpKTtcbiAqIGNvbnN0IG9iczIgPSBpbnRlcnZhbCgzMDAwKS5waXBlKG1hcCgoKSA9PiAnZmFzdCBvbmUnKSk7XG4gKiBjb25zdCBvYnMzID0gaW50ZXJ2YWwoNTAwMCkucGlwZShtYXAoKCkgPT4gJ21lZGl1bSBvbmUnKSk7XG4gKlxuICogb2JzMVxuICogICAucGlwZShyYWNlV2l0aChvYnMyLCBvYnMzKSlcbiAqICAgLnN1YnNjcmliZSh3aW5uZXIgPT4gY29uc29sZS5sb2cod2lubmVyKSk7XG4gKlxuICogLy8gT3V0cHV0c1xuICogLy8gYSBzZXJpZXMgb2YgJ2Zhc3Qgb25lJ1xuICogYGBgXG4gKlxuICogQHBhcmFtIG90aGVyU291cmNlcyBTb3VyY2VzIHVzZWQgdG8gcmFjZSBmb3Igd2hpY2ggT2JzZXJ2YWJsZSBlbWl0cyBmaXJzdC5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IG1pcnJvcnMgdGhlIG91dHB1dCBvZiB0aGVcbiAqIGZpcnN0IE9ic2VydmFibGUgdG8gZW1pdCBhbiBpdGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmFjZVdpdGg8VCwgQSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXT4oXG4gIC4uLm90aGVyU291cmNlczogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+XVxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUIHwgQVtudW1iZXJdPiB7XG4gIHJldHVybiAhb3RoZXJTb3VyY2VzLmxlbmd0aFxuICAgID8gaWRlbnRpdHlcbiAgICA6IG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICByYWNlSW5pdDxUIHwgQVtudW1iZXJdPihbc291cmNlLCAuLi5vdGhlclNvdXJjZXNdKShzdWJzY3JpYmVyKTtcbiAgICAgIH0pO1xufVxuIiwgImltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBFTVBUWSB9IGZyb20gJy4uL29ic2VydmFibGUvZW1wdHknO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcbmltcG9ydCB7IGlubmVyRnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvaW5uZXJGcm9tJztcbmltcG9ydCB7IHRpbWVyIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS90aW1lcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVwZWF0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgdGltZXMgdG8gcmVwZWF0IHRoZSBzb3VyY2UuIERlZmF1bHRzIHRvIGBJbmZpbml0eWAuXG4gICAqL1xuICBjb3VudD86IG51bWJlcjtcblxuICAvKipcbiAgICogSWYgYSBgbnVtYmVyYCwgd2lsbCBkZWxheSB0aGUgcmVwZWF0IG9mIHRoZSBzb3VyY2UgYnkgdGhhdCBudW1iZXIgb2YgbWlsbGlzZWNvbmRzLlxuICAgKiBJZiBhIGZ1bmN0aW9uLCBpdCB3aWxsIHByb3ZpZGUgdGhlIG51bWJlciBvZiB0aW1lcyB0aGUgc291cmNlIGhhcyBiZWVuIHN1YnNjcmliZWQgdG8sXG4gICAqIGFuZCB0aGUgcmV0dXJuIHZhbHVlIHNob3VsZCBiZSBhIHZhbGlkIG9ic2VydmFibGUgaW5wdXQgdGhhdCB3aWxsIG5vdGlmeSB3aGVuIHRoZSBzb3VyY2VcbiAgICogc2hvdWxkIGJlIHJlcGVhdGVkLiBJZiB0aGUgbm90aWZpZXIgb2JzZXJ2YWJsZSBpcyBlbXB0eSwgdGhlIHJlc3VsdCB3aWxsIGNvbXBsZXRlLlxuICAgKi9cbiAgZGVsYXk/OiBudW1iZXIgfCAoKGNvdW50OiBudW1iZXIpID0+IE9ic2VydmFibGVJbnB1dDxhbnk+KTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCB3aWxsIHJlc3Vic2NyaWJlIHRvIHRoZSBzb3VyY2Ugc3RyZWFtIHdoZW4gdGhlIHNvdXJjZSBzdHJlYW0gY29tcGxldGVzLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5SZXBlYXRzIGFsbCB2YWx1ZXMgZW1pdHRlZCBvbiB0aGUgc291cmNlLiBJdCdzIGxpa2Uge0BsaW5rIHJldHJ5fSwgYnV0IGZvciBub24gZXJyb3IgY2FzZXMuPC9zcGFuPlxuICpcbiAqICFbXShyZXBlYXQucG5nKVxuICpcbiAqIFJlcGVhdCB3aWxsIG91dHB1dCB2YWx1ZXMgZnJvbSBhIHNvdXJjZSB1bnRpbCB0aGUgc291cmNlIGNvbXBsZXRlcywgdGhlbiBpdCB3aWxsIHJlc3Vic2NyaWJlIHRvIHRoZVxuICogc291cmNlIGEgc3BlY2lmaWVkIG51bWJlciBvZiB0aW1lcywgd2l0aCBhIHNwZWNpZmllZCBkZWxheS4gUmVwZWF0IGNhbiBiZSBwYXJ0aWN1bGFybHkgdXNlZnVsIGluXG4gKiBjb21iaW5hdGlvbiB3aXRoIGNsb3Npbmcgb3BlcmF0b3JzIGxpa2Uge0BsaW5rIHRha2V9LCB7QGxpbmsgdGFrZVVudGlsfSwge0BsaW5rIGZpcnN0fSwgb3Ige0BsaW5rIHRha2VXaGlsZX0sXG4gKiBhcyBpdCBjYW4gYmUgdXNlZCB0byByZXN0YXJ0IGEgc291cmNlIGFnYWluIGZyb20gc2NyYXRjaC5cbiAqXG4gKiBSZXBlYXQgaXMgdmVyeSBzaW1pbGFyIHRvIHtAbGluayByZXRyeX0sIHdoZXJlIHtAbGluayByZXRyeX0gd2lsbCByZXN1YnNjcmliZSB0byB0aGUgc291cmNlIGluIHRoZSBlcnJvciBjYXNlLCBidXRcbiAqIGByZXBlYXRgIHdpbGwgcmVzdWJzY3JpYmUgaWYgdGhlIHNvdXJjZSBjb21wbGV0ZXMuXG4gKlxuICogTm90ZSB0aGF0IGByZXBlYXRgIHdpbGwgX25vdF8gY2F0Y2ggZXJyb3JzLiBVc2Uge0BsaW5rIHJldHJ5fSBmb3IgdGhhdC5cbiAqXG4gKiAtIGByZXBlYXQoMClgIHJldHVybnMgYW4gZW1wdHkgb2JzZXJ2YWJsZVxuICogLSBgcmVwZWF0KClgIHdpbGwgcmVwZWF0IGZvcmV2ZXJcbiAqIC0gYHJlcGVhdCh7IGRlbGF5OiAyMDAgfSlgIHdpbGwgcmVwZWF0IGZvcmV2ZXIsIHdpdGggYSBkZWxheSBvZiAyMDBtcyBiZXR3ZWVuIHJlcGV0aXRpb25zLlxuICogLSBgcmVwZWF0KHsgY291bnQ6IDIsIGRlbGF5OiA0MDAgfSlgIHdpbGwgcmVwZWF0IHR3aWNlLCB3aXRoIGEgZGVsYXkgb2YgNDAwbXMgYmV0d2VlbiByZXBldGl0aW9ucy5cbiAqIC0gYHJlcGVhdCh7IGRlbGF5OiAoY291bnQpID0+IHRpbWVyKGNvdW50ICogMTAwMCkgfSlgIHdpbGwgcmVwZWF0IGZvcmV2ZXIsIGJ1dCB3aWxsIGhhdmUgYSBkZWxheSB0aGF0IGdyb3dzIGJ5IG9uZSBzZWNvbmQgZm9yIGVhY2ggcmVwZXRpdGlvbi5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogUmVwZWF0IGEgbWVzc2FnZSBzdHJlYW1cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgb2YsIHJlcGVhdCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHNvdXJjZSA9IG9mKCdSZXBlYXQgbWVzc2FnZScpO1xuICogY29uc3QgcmVzdWx0ID0gc291cmNlLnBpcGUocmVwZWF0KDMpKTtcbiAqXG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIFJlc3VsdHNcbiAqIC8vICdSZXBlYXQgbWVzc2FnZSdcbiAqIC8vICdSZXBlYXQgbWVzc2FnZSdcbiAqIC8vICdSZXBlYXQgbWVzc2FnZSdcbiAqIGBgYFxuICpcbiAqIFJlcGVhdCAzIHZhbHVlcywgMiB0aW1lc1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBpbnRlcnZhbCwgdGFrZSwgcmVwZWF0IH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3Qgc291cmNlID0gaW50ZXJ2YWwoMTAwMCk7XG4gKiBjb25zdCByZXN1bHQgPSBzb3VyY2UucGlwZSh0YWtlKDMpLCByZXBlYXQoMikpO1xuICpcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKlxuICogLy8gUmVzdWx0cyBldmVyeSBzZWNvbmRcbiAqIC8vIDBcbiAqIC8vIDFcbiAqIC8vIDJcbiAqIC8vIDBcbiAqIC8vIDFcbiAqIC8vIDJcbiAqIGBgYFxuICpcbiAqIERlZmluaW5nIHR3byBjb21wbGV4IHJlcGVhdHMgd2l0aCBkZWxheXMgb24gdGhlIHNhbWUgc291cmNlLlxuICogTm90ZSB0aGF0IHRoZSBzZWNvbmQgcmVwZWF0IGNhbm5vdCBiZSBjYWxsZWQgdW50aWwgdGhlIGZpcnN0XG4gKiByZXBlYXQgYXMgZXhoYXVzdGVkIGl0J3MgY291bnQuXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGRlZmVyLCBvZiwgcmVwZWF0IH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3Qgc291cmNlID0gZGVmZXIoKCkgPT4ge1xuICogICAgcmV0dXJuIG9mKGBIZWxsbywgaXQgaXMgJHtuZXcgRGF0ZSgpfWApXG4gKiB9KTtcbiAqXG4gKiBzb3VyY2UucGlwZShcbiAqICAgIC8vIFJlcGVhdCAzIHRpbWVzIHdpdGggYSBkZWxheSBvZiAxIHNlY29uZCBiZXR3ZWVuIHJlcGV0aXRpb25zXG4gKiAgICByZXBlYXQoe1xuICogICAgICBjb3VudDogMyxcbiAqICAgICAgZGVsYXk6IDEwMDAsXG4gKiAgICB9KSxcbiAqXG4gKiAgICAvLyAqVGhlbiogcmVwZWF0IGZvcmV2ZXIsIGJ1dCB3aXRoIGFuIGV4cG9uZW50aWFsIHN0ZXAtYmFja1xuICogICAgLy8gbWF4aW5nIG91dCBhdCAxIG1pbnV0ZS5cbiAqICAgIHJlcGVhdCh7XG4gKiAgICAgIGRlbGF5OiAoY291bnQpID0+IHRpbWVyKE1hdGgubWluKDYwMDAwLCAyIF4gY291bnQgKiAxMDAwKSlcbiAqICAgIH0pXG4gKiApXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayByZXBlYXRXaGVufVxuICogQHNlZSB7QGxpbmsgcmV0cnl9XG4gKlxuICogQHBhcmFtIGNvdW50IFRoZSBudW1iZXIgb2YgdGltZXMgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGl0ZW1zIGFyZSByZXBlYXRlZCwgYSBjb3VudCBvZiAwIHdpbGwgeWllbGRcbiAqIGFuIGVtcHR5IE9ic2VydmFibGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXBlYXQ8VD4oY291bnRPckNvbmZpZz86IG51bWJlciB8IFJlcGVhdENvbmZpZyk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIGxldCBjb3VudCA9IEluZmluaXR5O1xuICBsZXQgZGVsYXk6IFJlcGVhdENvbmZpZ1snZGVsYXknXTtcblxuICBpZiAoY291bnRPckNvbmZpZyAhPSBudWxsKSB7XG4gICAgaWYgKHR5cGVvZiBjb3VudE9yQ29uZmlnID09PSAnb2JqZWN0Jykge1xuICAgICAgKHsgY291bnQgPSBJbmZpbml0eSwgZGVsYXkgfSA9IGNvdW50T3JDb25maWcpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb3VudCA9IGNvdW50T3JDb25maWc7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNvdW50IDw9IDBcbiAgICA/ICgpID0+IEVNUFRZXG4gICAgOiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICAgICAgbGV0IHNvRmFyID0gMDtcbiAgICAgICAgbGV0IHNvdXJjZVN1YjogU3Vic2NyaXB0aW9uIHwgbnVsbDtcblxuICAgICAgICBjb25zdCByZXN1YnNjcmliZSA9ICgpID0+IHtcbiAgICAgICAgICBzb3VyY2VTdWI/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgc291cmNlU3ViID0gbnVsbDtcbiAgICAgICAgICBpZiAoZGVsYXkgIT0gbnVsbCkge1xuICAgICAgICAgICAgY29uc3Qgbm90aWZpZXIgPSB0eXBlb2YgZGVsYXkgPT09ICdudW1iZXInID8gdGltZXIoZGVsYXkpIDogaW5uZXJGcm9tKGRlbGF5KHNvRmFyKSk7XG4gICAgICAgICAgICBjb25zdCBub3RpZmllclN1YnNjcmliZXIgPSBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoc3Vic2NyaWJlciwgKCkgPT4ge1xuICAgICAgICAgICAgICBub3RpZmllclN1YnNjcmliZXIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgc3Vic2NyaWJlVG9Tb3VyY2UoKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgbm90aWZpZXIuc3Vic2NyaWJlKG5vdGlmaWVyU3Vic2NyaWJlcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1YnNjcmliZVRvU291cmNlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIGNvbnN0IHN1YnNjcmliZVRvU291cmNlID0gKCkgPT4ge1xuICAgICAgICAgIGxldCBzeW5jVW5zdWIgPSBmYWxzZTtcbiAgICAgICAgICBzb3VyY2VTdWIgPSBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKHN1YnNjcmliZXIsIHVuZGVmaW5lZCwgKCkgPT4ge1xuICAgICAgICAgICAgICBpZiAoKytzb0ZhciA8IGNvdW50KSB7XG4gICAgICAgICAgICAgICAgaWYgKHNvdXJjZVN1Yikge1xuICAgICAgICAgICAgICAgICAgcmVzdWJzY3JpYmUoKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgc3luY1Vuc3ViID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICk7XG5cbiAgICAgICAgICBpZiAoc3luY1Vuc3ViKSB7XG4gICAgICAgICAgICByZXN1YnNjcmliZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcblxuICAgICAgICBzdWJzY3JpYmVUb1NvdXJjZSgpO1xuICAgICAgfSk7XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgaW5uZXJGcm9tIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9pbm5lckZyb20nO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJy4uL1N1YmplY3QnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vU3Vic2NyaXB0aW9uJztcblxuaW1wb3J0IHsgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuLyoqXG4gKiBSZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBtaXJyb3JzIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB3aXRoIHRoZSBleGNlcHRpb24gb2YgYSBgY29tcGxldGVgLiBJZiB0aGUgc291cmNlXG4gKiBPYnNlcnZhYmxlIGNhbGxzIGBjb21wbGV0ZWAsIHRoaXMgbWV0aG9kIHdpbGwgZW1pdCB0byB0aGUgT2JzZXJ2YWJsZSByZXR1cm5lZCBmcm9tIGBub3RpZmllcmAuIElmIHRoYXQgT2JzZXJ2YWJsZVxuICogY2FsbHMgYGNvbXBsZXRlYCBvciBgZXJyb3JgLCB0aGVuIHRoaXMgbWV0aG9kIHdpbGwgY2FsbCBgY29tcGxldGVgIG9yIGBlcnJvcmAgb24gdGhlIGNoaWxkIHN1YnNjcmlwdGlvbi4gT3RoZXJ3aXNlXG4gKiB0aGlzIG1ldGhvZCB3aWxsIHJlc3Vic2NyaWJlIHRvIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS5cbiAqXG4gKiAhW10ocmVwZWF0V2hlbi5wbmcpXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIFJlcGVhdCBhIG1lc3NhZ2Ugc3RyZWFtIG9uIGNsaWNrXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mLCBmcm9tRXZlbnQsIHJlcGVhdFdoZW4gfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBzb3VyY2UgPSBvZignUmVwZWF0IG1lc3NhZ2UnKTtcbiAqIGNvbnN0IGRvY3VtZW50Q2xpY2skID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqXG4gKiBjb25zdCByZXN1bHQgPSBzb3VyY2UucGlwZShyZXBlYXRXaGVuKCgpID0+IGRvY3VtZW50Q2xpY2skKSk7XG4gKlxuICogcmVzdWx0LnN1YnNjcmliZShkYXRhID0+IGNvbnNvbGUubG9nKGRhdGEpKVxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgcmVwZWF0fVxuICogQHNlZSB7QGxpbmsgcmV0cnl9XG4gKiBAc2VlIHtAbGluayByZXRyeVdoZW59XG4gKlxuICogQHBhcmFtIG5vdGlmaWVyIEZ1bmN0aW9uIHRoYXQgcmVjZWl2ZXMgYW4gT2JzZXJ2YWJsZSBvZiBub3RpZmljYXRpb25zIHdpdGhcbiAqIHdoaWNoIGEgdXNlciBjYW4gYGNvbXBsZXRlYCBvciBgZXJyb3JgLCBhYm9ydGluZyB0aGUgcmVwZXRpdGlvbi5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gYE9ic2VydmFibGVJbnB1dGAgdGhhdCBtaXJyb3JzIHRoZSBzb3VyY2VcbiAqIE9ic2VydmFibGUgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIGEgYGNvbXBsZXRlYC5cbiAqIEBkZXByZWNhdGVkIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OSBvciB2MTAuIFVzZSB7QGxpbmsgcmVwZWF0fSdzIHtAbGluayBSZXBlYXRDb25maWcjZGVsYXkgZGVsYXl9IG9wdGlvbiBpbnN0ZWFkLlxuICogSW5zdGVhZCBvZiBgcmVwZWF0V2hlbigoKSA9PiBub3RpZnkkKWAsIHVzZTogYHJlcGVhdCh7IGRlbGF5OiAoKSA9PiBub3RpZnkkIH0pYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcGVhdFdoZW48VD4obm90aWZpZXI6IChub3RpZmljYXRpb25zOiBPYnNlcnZhYmxlPHZvaWQ+KSA9PiBPYnNlcnZhYmxlSW5wdXQ8YW55Pik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIHJldHVybiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICBsZXQgaW5uZXJTdWI6IFN1YnNjcmlwdGlvbiB8IG51bGw7XG4gICAgbGV0IHN5bmNSZXN1YiA9IGZhbHNlO1xuICAgIGxldCBjb21wbGV0aW9ucyQ6IFN1YmplY3Q8dm9pZD47XG4gICAgbGV0IGlzTm90aWZpZXJDb21wbGV0ZSA9IGZhbHNlO1xuICAgIGxldCBpc01haW5Db21wbGV0ZSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQ2hlY2tzIHRvIHNlZSBpZiB3ZSBjYW4gY29tcGxldGUgdGhlIHJlc3VsdCwgY29tcGxldGVzIGl0LCBhbmQgcmV0dXJucyBgdHJ1ZWAgaWYgaXQgd2FzIGNvbXBsZXRlZC5cbiAgICAgKi9cbiAgICBjb25zdCBjaGVja0NvbXBsZXRlID0gKCkgPT4gaXNNYWluQ29tcGxldGUgJiYgaXNOb3RpZmllckNvbXBsZXRlICYmIChzdWJzY3JpYmVyLmNvbXBsZXRlKCksIHRydWUpO1xuICAgIC8qKlxuICAgICAqIEdldHMgdGhlIHN1YmplY3QgdG8gc2VuZCBlcnJvcnMgdGhyb3VnaC4gSWYgaXQgZG9lc24ndCBleGlzdCxcbiAgICAgKiB3ZSBrbm93IHdlIG5lZWQgdG8gc2V0dXAgdGhlIG5vdGlmaWVyLlxuICAgICAqL1xuICAgIGNvbnN0IGdldENvbXBsZXRpb25TdWJqZWN0ID0gKCkgPT4ge1xuICAgICAgaWYgKCFjb21wbGV0aW9ucyQpIHtcbiAgICAgICAgY29tcGxldGlvbnMkID0gbmV3IFN1YmplY3QoKTtcblxuICAgICAgICAvLyBJZiB0aGUgY2FsbCB0byBgbm90aWZpZXJgIHRocm93cywgaXQgd2lsbCBiZSBjYXVnaHQgYnkgdGhlIE9wZXJhdG9yU3Vic2NyaWJlclxuICAgICAgICAvLyBJbiB0aGUgbWFpbiBzdWJzY3JpcHRpb24gLS0gaW4gYHN1YnNjcmliZUZvclJlcGVhdFdoZW5gLlxuICAgICAgICBpbm5lckZyb20obm90aWZpZXIoY29tcGxldGlvbnMkKSkuc3Vic2NyaWJlKFxuICAgICAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgICAgIHN1YnNjcmliZXIsXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChpbm5lclN1Yikge1xuICAgICAgICAgICAgICAgIHN1YnNjcmliZUZvclJlcGVhdFdoZW4oKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGFuIGlubmVyU3ViIHlldCwgdGhhdCdzIGJlY2F1c2UgdGhlIGlubmVyIHN1YnNjcmlwdGlvblxuICAgICAgICAgICAgICAgIC8vIGNhbGwgaGFzbid0IGV2ZW4gcmV0dXJuZWQgeWV0LiBXZSd2ZSBhcnJpdmVkIGhlcmUgc3luY2hyb25vdXNseS5cbiAgICAgICAgICAgICAgICAvLyBTbyB3ZSBmbGFnIHRoYXQgd2Ugd2FudCB0byByZXN1Yiwgc3VjaCB0aGF0IHdlIGNhbiBlbnN1cmUgZmluYWxpemF0aW9uXG4gICAgICAgICAgICAgICAgLy8gaGFwcGVucyBiZWZvcmUgd2UgcmVzdWJzY3JpYmUuXG4gICAgICAgICAgICAgICAgc3luY1Jlc3ViID0gdHJ1ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgaXNOb3RpZmllckNvbXBsZXRlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgY2hlY2tDb21wbGV0ZSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBjb21wbGV0aW9ucyQ7XG4gICAgfTtcblxuICAgIGNvbnN0IHN1YnNjcmliZUZvclJlcGVhdFdoZW4gPSAoKSA9PiB7XG4gICAgICBpc01haW5Db21wbGV0ZSA9IGZhbHNlO1xuXG4gICAgICBpbm5lclN1YiA9IHNvdXJjZS5zdWJzY3JpYmUoXG4gICAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihzdWJzY3JpYmVyLCB1bmRlZmluZWQsICgpID0+IHtcbiAgICAgICAgICBpc01haW5Db21wbGV0ZSA9IHRydWU7XG4gICAgICAgICAgLy8gQ2hlY2sgdG8gc2VlIGlmIHdlIGFyZSBjb21wbGV0ZSwgYW5kIGNvbXBsZXRlIGlmIHNvLlxuICAgICAgICAgIC8vIElmIHdlIGFyZSBub3QgY29tcGxldGUuIEdldCB0aGUgc3ViamVjdC4gVGhpcyBjYWxscyB0aGUgYG5vdGlmaWVyYCBmdW5jdGlvbi5cbiAgICAgICAgICAvLyBJZiB0aGF0IGZ1bmN0aW9uIGZhaWxzLCBpdCB3aWxsIHRocm93IGFuZCBgLm5leHQoKWAgd2lsbCBub3QgYmUgcmVhY2hlZCBvbiB0aGlzXG4gICAgICAgICAgLy8gbGluZS4gVGhlIHRocm93biBlcnJvciBpcyBjYXVnaHQgYnkgdGhlIF9jb21wbGV0ZSBoYW5kbGVyIGluIHRoaXNcbiAgICAgICAgICAvLyBgT3BlcmF0b3JTdWJzY3JpYmVyYCBhbmQgaGFuZGxlZCBhcHByb3ByaWF0ZWx5LlxuICAgICAgICAgICFjaGVja0NvbXBsZXRlKCkgJiYgZ2V0Q29tcGxldGlvblN1YmplY3QoKS5uZXh0KCk7XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICBpZiAoc3luY1Jlc3ViKSB7XG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBpbm5lciBzdWJzY3JpcHRpb24gaXMgdG9ybiBkb3duIGJlZm9yZVxuICAgICAgICAvLyBtb3Zpbmcgb24gdG8gdGhlIG5leHQgc3Vic2NyaXB0aW9uIGluIHRoZSBzeW5jaHJvbm91cyBjYXNlLlxuICAgICAgICAvLyBJZiB3ZSBkb24ndCBkbyB0aGlzIGhlcmUsIGFsbCBpbm5lciBzdWJzY3JpcHRpb25zIHdpbGwgbm90IGJlXG4gICAgICAgIC8vIHRvcm4gZG93biB1bnRpbCB0aGUgZW50aXJlIG9ic2VydmFibGUgaXMgZG9uZS5cbiAgICAgICAgaW5uZXJTdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgLy8gSXQgaXMgaW1wb3J0YW50IHRvIG51bGwgdGhpcyBvdXQuIE5vdCBvbmx5IHRvIGZyZWUgdXAgbWVtb3J5LCBidXRcbiAgICAgICAgLy8gdG8gbWFrZSBzdXJlIGNvZGUgYWJvdmUga25vd3Mgd2UgYXJlIGluIGEgc3Vic2NyaWJpbmcgc3RhdGUgdG9cbiAgICAgICAgLy8gaGFuZGxlIHN5bmNocm9ub3VzIHJlc3Vic2NyaXB0aW9uLlxuICAgICAgICBpbm5lclN1YiA9IG51bGw7XG4gICAgICAgIC8vIFdlIG1heSBuZWVkIHRvIGRvIHRoaXMgbXVsdGlwbGUgdGltZXMsIHNvIHJlc2V0IHRoZSBmbGFncy5cbiAgICAgICAgc3luY1Jlc3ViID0gZmFsc2U7XG4gICAgICAgIC8vIFJlc3Vic2NyaWJlXG4gICAgICAgIHN1YnNjcmliZUZvclJlcGVhdFdoZW4oKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgLy8gU3RhcnQgdGhlIHN1YnNjcmlwdGlvblxuICAgIHN1YnNjcmliZUZvclJlcGVhdFdoZW4oKTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlSW5wdXQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL1N1YnNjcmlwdGlvbic7XG5pbXBvcnQgeyBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIgfSBmcm9tICcuL09wZXJhdG9yU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBpZGVudGl0eSB9IGZyb20gJy4uL3V0aWwvaWRlbnRpdHknO1xuaW1wb3J0IHsgdGltZXIgfSBmcm9tICcuLi9vYnNlcnZhYmxlL3RpbWVyJztcbmltcG9ydCB7IGlubmVyRnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvaW5uZXJGcm9tJztcblxuLyoqXG4gKiBUaGUge0BsaW5rIHJldHJ5fSBvcGVyYXRvciBjb25maWd1cmF0aW9uIG9iamVjdC4gYHJldHJ5YCBlaXRoZXIgYWNjZXB0cyBhIGBudW1iZXJgXG4gKiBvciBhbiBvYmplY3QgZGVzY3JpYmVkIGJ5IHRoaXMgaW50ZXJmYWNlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJldHJ5Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0byByZXRyeS4gSWYgYGNvdW50YCBpcyBvbWl0dGVkLCBgcmV0cnlgIHdpbGwgdHJ5IHRvXG4gICAqIHJlc3Vic2NyaWJlIG9uIGVycm9ycyBpbmZpbml0ZSBudW1iZXIgb2YgdGltZXMuXG4gICAqL1xuICBjb3VudD86IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIGRlbGF5IGJlZm9yZSByZXRyeWluZywgT1IgYSBmdW5jdGlvbiB0b1xuICAgKiByZXR1cm4gYSBub3RpZmllciBmb3IgZGVsYXlpbmcuIElmIGEgZnVuY3Rpb24gaXMgZ2l2ZW4sIHRoYXQgZnVuY3Rpb24gc2hvdWxkXG4gICAqIHJldHVybiBhIG5vdGlmaWVyIHRoYXQsIHdoZW4gaXQgZW1pdHMgd2lsbCByZXRyeSB0aGUgc291cmNlLiBJZiB0aGUgbm90aWZpZXJcbiAgICogY29tcGxldGVzIF93aXRob3V0XyBlbWl0dGluZywgdGhlIHJlc3VsdGluZyBvYnNlcnZhYmxlIHdpbGwgY29tcGxldGUgd2l0aG91dCBlcnJvcixcbiAgICogaWYgdGhlIG5vdGlmaWVyIGVycm9ycywgdGhlIGVycm9yIHdpbGwgYmUgcHVzaGVkIHRvIHRoZSByZXN1bHQuXG4gICAqL1xuICBkZWxheT86IG51bWJlciB8ICgoZXJyb3I6IGFueSwgcmV0cnlDb3VudDogbnVtYmVyKSA9PiBPYnNlcnZhYmxlSW5wdXQ8YW55Pik7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byByZXNldCB0aGUgcmV0cnkgY291bnRlciB3aGVuIHRoZSByZXRyaWVkIHN1YnNjcmlwdGlvblxuICAgKiBlbWl0cyBpdHMgZmlyc3QgdmFsdWUuXG4gICAqL1xuICByZXNldE9uU3VjY2Vzcz86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXRyeTxUPihjb3VudD86IG51bWJlcik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPjtcbmV4cG9ydCBmdW5jdGlvbiByZXRyeTxUPihjb25maWc6IFJldHJ5Q29uZmlnKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+O1xuXG4vKipcbiAqIFJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IG1pcnJvcnMgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBhbiBgZXJyb3JgLlxuICpcbiAqIElmIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBjYWxscyBgZXJyb3JgLCB0aGlzIG1ldGhvZCB3aWxsIHJlc3Vic2NyaWJlIHRvIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBmb3IgYSBtYXhpbXVtIG9mXG4gKiBgY291bnRgIHJlc3Vic2NyaXB0aW9ucyByYXRoZXIgdGhhbiBwcm9wYWdhdGluZyB0aGUgYGVycm9yYCBjYWxsLlxuICpcbiAqICFbXShyZXRyeS5wbmcpXG4gKlxuICogVGhlIG51bWJlciBvZiByZXRyaWVzIGlzIGRldGVybWluZWQgYnkgdGhlIGBjb3VudGAgcGFyYW1ldGVyLiBJdCBjYW4gYmUgc2V0IGVpdGhlciBieSBwYXNzaW5nIGEgbnVtYmVyIHRvXG4gKiBgcmV0cnlgIGZ1bmN0aW9uIG9yIGJ5IHNldHRpbmcgYGNvdW50YCBwcm9wZXJ0eSB3aGVuIGByZXRyeWAgaXMgY29uZmlndXJlZCB1c2luZyB7QGxpbmsgUmV0cnlDb25maWd9LiBJZlxuICogYGNvdW50YCBpcyBvbWl0dGVkLCBgcmV0cnlgIHdpbGwgdHJ5IHRvIHJlc3Vic2NyaWJlIG9uIGVycm9ycyBpbmZpbml0ZSBudW1iZXIgb2YgdGltZXMuXG4gKlxuICogQW55IGFuZCBhbGwgaXRlbXMgZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUgd2lsbCBiZSBlbWl0dGVkIGJ5IHRoZSByZXN1bHRpbmcgT2JzZXJ2YWJsZSwgZXZlbiB0aG9zZVxuICogZW1pdHRlZCBkdXJpbmcgZmFpbGVkIHN1YnNjcmlwdGlvbnMuIEZvciBleGFtcGxlLCBpZiBhbiBPYnNlcnZhYmxlIGZhaWxzIGF0IGZpcnN0IGJ1dCBlbWl0cyBgWzEsIDJdYCB0aGVuXG4gKiBzdWNjZWVkcyB0aGUgc2Vjb25kIHRpbWUgYW5kIGVtaXRzOiBgWzEsIDIsIDMsIDQsIDUsIGNvbXBsZXRlXWAgdGhlbiB0aGUgY29tcGxldGUgc3RyZWFtIG9mIGVtaXNzaW9ucyBhbmRcbiAqIG5vdGlmaWNhdGlvbnMgd291bGQgYmU6IGBbMSwgMiwgMSwgMiwgMywgNCwgNSwgY29tcGxldGVdYC5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGludGVydmFsLCBtZXJnZU1hcCwgdGhyb3dFcnJvciwgb2YsIHJldHJ5IH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3Qgc291cmNlID0gaW50ZXJ2YWwoMTAwMCk7XG4gKiBjb25zdCByZXN1bHQgPSBzb3VyY2UucGlwZShcbiAqICAgbWVyZ2VNYXAodmFsID0+IHZhbCA+IDUgPyB0aHJvd0Vycm9yKCgpID0+ICdFcnJvciEnKSA6IG9mKHZhbCkpLFxuICogICByZXRyeSgyKSAvLyByZXRyeSAyIHRpbWVzIG9uIGVycm9yXG4gKiApO1xuICpcbiAqIHJlc3VsdC5zdWJzY3JpYmUoe1xuICogICBuZXh0OiB2YWx1ZSA9PiBjb25zb2xlLmxvZyh2YWx1ZSksXG4gKiAgIGVycm9yOiBlcnIgPT4gY29uc29sZS5sb2coYCR7IGVyciB9OiBSZXRyaWVkIDIgdGltZXMgdGhlbiBxdWl0IWApXG4gKiB9KTtcbiAqXG4gKiAvLyBPdXRwdXQ6XG4gKiAvLyAwLi4xLi4yLi4zLi40Li41Li5cbiAqIC8vIDAuLjEuLjIuLjMuLjQuLjUuLlxuICogLy8gMC4uMS4uMi4uMy4uNC4uNS4uXG4gKiAvLyAnRXJyb3IhOiBSZXRyaWVkIDIgdGltZXMgdGhlbiBxdWl0ISdcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIHJldHJ5V2hlbn1cbiAqXG4gKiBAcGFyYW0gY29uZmlnT3JDb3VudCAtIEVpdGhlciBudW1iZXIgb2YgcmV0cnkgYXR0ZW1wdHMgYmVmb3JlIGZhaWxpbmcgb3IgYSB7QGxpbmsgUmV0cnlDb25maWd9IG9iamVjdC5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IHdpbGwgcmVzdWJzY3JpYmUgdG8gdGhlXG4gKiBzb3VyY2Ugc3RyZWFtIHdoZW4gdGhlIHNvdXJjZSBzdHJlYW0gZXJyb3JzLCBhdCBtb3N0IGBjb3VudGAgdGltZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXRyeTxUPihjb25maWdPckNvdW50OiBudW1iZXIgfCBSZXRyeUNvbmZpZyA9IEluZmluaXR5KTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgbGV0IGNvbmZpZzogUmV0cnlDb25maWc7XG4gIGlmIChjb25maWdPckNvdW50ICYmIHR5cGVvZiBjb25maWdPckNvdW50ID09PSAnb2JqZWN0Jykge1xuICAgIGNvbmZpZyA9IGNvbmZpZ09yQ291bnQ7XG4gIH0gZWxzZSB7XG4gICAgY29uZmlnID0ge1xuICAgICAgY291bnQ6IGNvbmZpZ09yQ291bnQgYXMgbnVtYmVyLFxuICAgIH07XG4gIH1cbiAgY29uc3QgeyBjb3VudCA9IEluZmluaXR5LCBkZWxheSwgcmVzZXRPblN1Y2Nlc3M6IHJlc2V0T25TdWNjZXNzID0gZmFsc2UgfSA9IGNvbmZpZztcblxuICByZXR1cm4gY291bnQgPD0gMFxuICAgID8gaWRlbnRpdHlcbiAgICA6IG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICBsZXQgc29GYXIgPSAwO1xuICAgICAgICBsZXQgaW5uZXJTdWI6IFN1YnNjcmlwdGlvbiB8IG51bGw7XG4gICAgICAgIGNvbnN0IHN1YnNjcmliZUZvclJldHJ5ID0gKCkgPT4ge1xuICAgICAgICAgIGxldCBzeW5jVW5zdWIgPSBmYWxzZTtcbiAgICAgICAgICBpbm5lclN1YiA9IHNvdXJjZS5zdWJzY3JpYmUoXG4gICAgICAgICAgICBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoXG4gICAgICAgICAgICAgIHN1YnNjcmliZXIsXG4gICAgICAgICAgICAgICh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIC8vIElmIHdlJ3JlIHJlc2V0dGluZyBvbiBzdWNjZXNzXG4gICAgICAgICAgICAgICAgaWYgKHJlc2V0T25TdWNjZXNzKSB7XG4gICAgICAgICAgICAgICAgICBzb0ZhciA9IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh2YWx1ZSk7XG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIC8vIENvbXBsZXRpb25zIGFyZSBwYXNzZWQgdGhyb3VnaCB0byBjb25zdW1lci5cbiAgICAgICAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICAgICAgICAoZXJyKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHNvRmFyKysgPCBjb3VudCkge1xuICAgICAgICAgICAgICAgICAgLy8gV2UgYXJlIHN0aWxsIHVuZGVyIG91ciByZXRyeSBjb3VudFxuICAgICAgICAgICAgICAgICAgY29uc3QgcmVzdWIgPSAoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChpbm5lclN1Yikge1xuICAgICAgICAgICAgICAgICAgICAgIGlubmVyU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgaW5uZXJTdWIgPSBudWxsO1xuICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZUZvclJldHJ5KCk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgc3luY1Vuc3ViID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgICAgICAgaWYgKGRlbGF5ICE9IG51bGwpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVGhlIHVzZXIgc3BlY2lmaWVkIGEgcmV0cnkgZGVsYXkuXG4gICAgICAgICAgICAgICAgICAgIC8vIFRoZXkgZ2F2ZSB1cyBhIG51bWJlciwgdXNlIGEgdGltZXIsIG90aGVyd2lzZSwgaXQncyBhIGZ1bmN0aW9uLFxuICAgICAgICAgICAgICAgICAgICAvLyBhbmQgd2UncmUgZ29pbmcgdG8gY2FsbCBpdCB0byBnZXQgYSBub3RpZmllci5cbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm90aWZpZXIgPSB0eXBlb2YgZGVsYXkgPT09ICdudW1iZXInID8gdGltZXIoZGVsYXkpIDogaW5uZXJGcm9tKGRlbGF5KGVyciwgc29GYXIpKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3Qgbm90aWZpZXJTdWJzY3JpYmVyID0gY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIsXG4gICAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gQWZ0ZXIgd2UgZ2V0IHRoZSBmaXJzdCBub3RpZmljYXRpb24sIHdlXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyB1bnN1YnNjcmliZSBmcm9tIHRoZSBub3RpZmllciwgYmVjYXVzZSB3ZSBkb24ndCB3YW50IGFueW1vcmVcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIGFuZCB3ZSByZXN1YnNjcmliZSB0byB0aGUgc291cmNlLlxuICAgICAgICAgICAgICAgICAgICAgICAgbm90aWZpZXJTdWJzY3JpYmVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXN1YigpO1xuICAgICAgICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIG5vdGlmaWVyIGNvbXBsZXRlZCB3aXRob3V0IGVtaXR0aW5nLlxuICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlIGF1dGhvciBpcyB0ZWxsaW5nIHVzIHRoZXkgd2FudCB0byBjb21wbGV0ZS5cbiAgICAgICAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgICAgIG5vdGlmaWVyLnN1YnNjcmliZShub3RpZmllclN1YnNjcmliZXIpO1xuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVGhlcmUgd2FzIG5vIG5vdGlmaWVyIGdpdmVuLiBKdXN0IHJlc3ViIGltbWVkaWF0ZWx5LlxuICAgICAgICAgICAgICAgICAgICByZXN1YigpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAvLyBXZSdyZSBwYXN0IG91ciBtYXhpbXVtIG51bWJlciBvZiByZXRyaWVzLlxuICAgICAgICAgICAgICAgICAgLy8gSnVzdCBzZW5kIGFsb25nIHRoZSBlcnJvci5cbiAgICAgICAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIClcbiAgICAgICAgICApO1xuICAgICAgICAgIGlmIChzeW5jVW5zdWIpIHtcbiAgICAgICAgICAgIGlubmVyU3ViLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICBpbm5lclN1YiA9IG51bGw7XG4gICAgICAgICAgICBzdWJzY3JpYmVGb3JSZXRyeSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgc3Vic2NyaWJlRm9yUmV0cnkoKTtcbiAgICAgIH0pO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IGlubmVyRnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvaW5uZXJGcm9tJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICcuLi9TdWJqZWN0JztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJy4uL1N1YnNjcmlwdGlvbic7XG5cbmltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIgfSBmcm9tICcuL09wZXJhdG9yU3Vic2NyaWJlcic7XG5cbi8qKlxuICogUmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgbWlycm9ycyB0aGUgc291cmNlIE9ic2VydmFibGUgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIGFuIGBlcnJvcmAuIElmIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZVxuICogY2FsbHMgYGVycm9yYCwgdGhpcyBtZXRob2Qgd2lsbCBlbWl0IHRoZSBUaHJvd2FibGUgdGhhdCBjYXVzZWQgdGhlIGVycm9yIHRvIHRoZSBgT2JzZXJ2YWJsZUlucHV0YCByZXR1cm5lZCBmcm9tIGBub3RpZmllcmAuXG4gKiBJZiB0aGF0IE9ic2VydmFibGUgY2FsbHMgYGNvbXBsZXRlYCBvciBgZXJyb3JgIHRoZW4gdGhpcyBtZXRob2Qgd2lsbCBjYWxsIGBjb21wbGV0ZWAgb3IgYGVycm9yYCBvbiB0aGUgY2hpbGRcbiAqIHN1YnNjcmlwdGlvbi4gT3RoZXJ3aXNlIHRoaXMgbWV0aG9kIHdpbGwgcmVzdWJzY3JpYmUgdG8gdGhlIHNvdXJjZSBPYnNlcnZhYmxlLlxuICpcbiAqICFbXShyZXRyeVdoZW4ucG5nKVxuICpcbiAqIFJldHJ5IGFuIG9ic2VydmFibGUgc2VxdWVuY2Ugb24gZXJyb3IgYmFzZWQgb24gY3VzdG9tIGNyaXRlcmlhLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaW50ZXJ2YWwsIG1hcCwgcmV0cnlXaGVuLCB0YXAsIGRlbGF5V2hlbiwgdGltZXIgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBzb3VyY2UgPSBpbnRlcnZhbCgxMDAwKTtcbiAqIGNvbnN0IHJlc3VsdCA9IHNvdXJjZS5waXBlKFxuICogICBtYXAodmFsdWUgPT4ge1xuICogICAgIGlmICh2YWx1ZSA+IDUpIHtcbiAqICAgICAgIC8vIGVycm9yIHdpbGwgYmUgcGlja2VkIHVwIGJ5IHJldHJ5V2hlblxuICogICAgICAgdGhyb3cgdmFsdWU7XG4gKiAgICAgfVxuICogICAgIHJldHVybiB2YWx1ZTtcbiAqICAgfSksXG4gKiAgIHJldHJ5V2hlbihlcnJvcnMgPT5cbiAqICAgICBlcnJvcnMucGlwZShcbiAqICAgICAgIC8vIGxvZyBlcnJvciBtZXNzYWdlXG4gKiAgICAgICB0YXAodmFsdWUgPT4gY29uc29sZS5sb2coYFZhbHVlICR7IHZhbHVlIH0gd2FzIHRvbyBoaWdoIWApKSxcbiAqICAgICAgIC8vIHJlc3RhcnQgaW4gNSBzZWNvbmRzXG4gKiAgICAgICBkZWxheVdoZW4odmFsdWUgPT4gdGltZXIodmFsdWUgKiAxMDAwKSlcbiAqICAgICApXG4gKiAgIClcbiAqICk7XG4gKlxuICogcmVzdWx0LnN1YnNjcmliZSh2YWx1ZSA9PiBjb25zb2xlLmxvZyh2YWx1ZSkpO1xuICpcbiAqIC8vIHJlc3VsdHM6XG4gKiAvLyAwXG4gKiAvLyAxXG4gKiAvLyAyXG4gKiAvLyAzXG4gKiAvLyA0XG4gKiAvLyA1XG4gKiAvLyAnVmFsdWUgNiB3YXMgdG9vIGhpZ2ghJ1xuICogLy8gLSBXYWl0IDUgc2Vjb25kcyB0aGVuIHJlcGVhdFxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgcmV0cnl9XG4gKlxuICogQHBhcmFtIG5vdGlmaWVyIEZ1bmN0aW9uIHRoYXQgcmVjZWl2ZXMgYW4gT2JzZXJ2YWJsZSBvZiBub3RpZmljYXRpb25zIHdpdGggd2hpY2ggYVxuICogdXNlciBjYW4gYGNvbXBsZXRlYCBvciBgZXJyb3JgLCBhYm9ydGluZyB0aGUgcmV0cnkuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIGBPYnNlcnZhYmxlSW5wdXRgIHRoYXQgbWlycm9ycyB0aGUgc291cmNlXG4gKiBPYnNlcnZhYmxlIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBhbiBgZXJyb3JgLlxuICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIHY5IG9yIHYxMCwgdXNlIHtAbGluayByZXRyeX0ncyBgZGVsYXlgIG9wdGlvbiBpbnN0ZWFkLlxuICogV2lsbCBiZSByZW1vdmVkIGluIHY5IG9yIHYxMC4gVXNlIHtAbGluayByZXRyeX0ncyB7QGxpbmsgUmV0cnlDb25maWcjZGVsYXkgZGVsYXl9IG9wdGlvbiBpbnN0ZWFkLlxuICogSW5zdGVhZCBvZiBgcmV0cnlXaGVuKCgpID0+IG5vdGlmeSQpYCwgdXNlOiBgcmV0cnkoeyBkZWxheTogKCkgPT4gbm90aWZ5JCB9KWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXRyeVdoZW48VD4obm90aWZpZXI6IChlcnJvcnM6IE9ic2VydmFibGU8YW55PikgPT4gT2JzZXJ2YWJsZUlucHV0PGFueT4pOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgbGV0IGlubmVyU3ViOiBTdWJzY3JpcHRpb24gfCBudWxsO1xuICAgIGxldCBzeW5jUmVzdWIgPSBmYWxzZTtcbiAgICBsZXQgZXJyb3JzJDogU3ViamVjdDxhbnk+O1xuXG4gICAgY29uc3Qgc3Vic2NyaWJlRm9yUmV0cnlXaGVuID0gKCkgPT4ge1xuICAgICAgaW5uZXJTdWIgPSBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgICBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoc3Vic2NyaWJlciwgdW5kZWZpbmVkLCB1bmRlZmluZWQsIChlcnIpID0+IHtcbiAgICAgICAgICBpZiAoIWVycm9ycyQpIHtcbiAgICAgICAgICAgIGVycm9ycyQgPSBuZXcgU3ViamVjdCgpO1xuICAgICAgICAgICAgaW5uZXJGcm9tKG5vdGlmaWVyKGVycm9ycyQpKS5zdWJzY3JpYmUoXG4gICAgICAgICAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihzdWJzY3JpYmVyLCAoKSA9PlxuICAgICAgICAgICAgICAgIC8vIElmIHdlIGhhdmUgYW4gaW5uZXJTdWIsIHRoaXMgd2FzIGFuIGFzeW5jaHJvbm91cyBjYWxsLCBraWNrIG9mZiB0aGUgcmV0cnkuXG4gICAgICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCBpZiB3ZSBkb24ndCBoYXZlIGFuIGlubmVyU3ViIHlldCwgdGhhdCdzIGJlY2F1c2UgdGhlIGlubmVyIHN1YnNjcmlwdGlvblxuICAgICAgICAgICAgICAgIC8vIGNhbGwgaGFzbid0IGV2ZW4gcmV0dXJuZWQgeWV0LiBXZSd2ZSBhcnJpdmVkIGhlcmUgc3luY2hyb25vdXNseS5cbiAgICAgICAgICAgICAgICAvLyBTbyB3ZSBmbGFnIHRoYXQgd2Ugd2FudCB0byByZXN1Yiwgc3VjaCB0aGF0IHdlIGNhbiBlbnN1cmUgZmluYWxpemF0aW9uXG4gICAgICAgICAgICAgICAgLy8gaGFwcGVucyBiZWZvcmUgd2UgcmVzdWJzY3JpYmUuXG4gICAgICAgICAgICAgICAgaW5uZXJTdWIgPyBzdWJzY3JpYmVGb3JSZXRyeVdoZW4oKSA6IChzeW5jUmVzdWIgPSB0cnVlKVxuICAgICAgICAgICAgICApXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZXJyb3JzJCkge1xuICAgICAgICAgICAgLy8gV2UgaGF2ZSBzZXQgdXAgdGhlIG5vdGlmaWVyIHdpdGhvdXQgZXJyb3IuXG4gICAgICAgICAgICBlcnJvcnMkLm5leHQoZXJyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApO1xuXG4gICAgICBpZiAoc3luY1Jlc3ViKSB7XG4gICAgICAgIC8vIEVuc3VyZSB0aGF0IHRoZSBpbm5lciBzdWJzY3JpcHRpb24gaXMgdG9ybiBkb3duIGJlZm9yZVxuICAgICAgICAvLyBtb3Zpbmcgb24gdG8gdGhlIG5leHQgc3Vic2NyaXB0aW9uIGluIHRoZSBzeW5jaHJvbm91cyBjYXNlLlxuICAgICAgICAvLyBJZiB3ZSBkb24ndCBkbyB0aGlzIGhlcmUsIGFsbCBpbm5lciBzdWJzY3JpcHRpb25zIHdpbGwgbm90IGJlXG4gICAgICAgIC8vIHRvcm4gZG93biB1bnRpbCB0aGUgZW50aXJlIG9ic2VydmFibGUgaXMgZG9uZS5cbiAgICAgICAgaW5uZXJTdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgaW5uZXJTdWIgPSBudWxsO1xuICAgICAgICAvLyBXZSBtYXkgbmVlZCB0byBkbyB0aGlzIG11bHRpcGxlIHRpbWVzLCBzbyByZXNldCB0aGUgZmxhZy5cbiAgICAgICAgc3luY1Jlc3ViID0gZmFsc2U7XG4gICAgICAgIC8vIFJlc3Vic2NyaWJlXG4gICAgICAgIHN1YnNjcmliZUZvclJldHJ5V2hlbigpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICAvLyBTdGFydCB0aGUgc3Vic2NyaXB0aW9uXG4gICAgc3Vic2NyaWJlRm9yUmV0cnlXaGVuKCk7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IGlubmVyRnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvaW5uZXJGcm9tJztcbmltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vdXRpbC9ub29wJztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuLyoqXG4gKiBFbWl0cyB0aGUgbW9zdCByZWNlbnRseSBlbWl0dGVkIHZhbHVlIGZyb20gdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHdoZW5ldmVyXG4gKiBhbm90aGVyIE9ic2VydmFibGUsIHRoZSBgbm90aWZpZXJgLCBlbWl0cy5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+SXQncyBsaWtlIHtAbGluayBzYW1wbGVUaW1lfSwgYnV0IHNhbXBsZXMgd2hlbmV2ZXJcbiAqIHRoZSBgbm90aWZpZXJgIGBPYnNlcnZhYmxlSW5wdXRgIGVtaXRzIHNvbWV0aGluZy48L3NwYW4+XG4gKlxuICogIVtdKHNhbXBsZS5wbmcpXG4gKlxuICogV2hlbmV2ZXIgdGhlIGBub3RpZmllcmAgYE9ic2VydmFibGVJbnB1dGAgZW1pdHMgYSB2YWx1ZSwgYHNhbXBsZWBcbiAqIGxvb2tzIGF0IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBhbmQgZW1pdHMgd2hpY2hldmVyIHZhbHVlIGl0IGhhcyBtb3N0IHJlY2VudGx5XG4gKiBlbWl0dGVkIHNpbmNlIHRoZSBwcmV2aW91cyBzYW1wbGluZywgdW5sZXNzIHRoZSBzb3VyY2UgaGFzIG5vdCBlbWl0dGVkXG4gKiBhbnl0aGluZyBzaW5jZSB0aGUgcHJldmlvdXMgc2FtcGxpbmcuIFRoZSBgbm90aWZpZXJgIGlzIHN1YnNjcmliZWQgdG8gYXMgc29vblxuICogYXMgdGhlIG91dHB1dCBPYnNlcnZhYmxlIGlzIHN1YnNjcmliZWQuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIE9uIGV2ZXJ5IGNsaWNrLCBzYW1wbGUgdGhlIG1vc3QgcmVjZW50IGBzZWNvbmRzYCB0aW1lclxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIGludGVydmFsLCBzYW1wbGUgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBzZWNvbmRzID0gaW50ZXJ2YWwoMTAwMCk7XG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgcmVzdWx0ID0gc2Vjb25kcy5waXBlKHNhbXBsZShjbGlja3MpKTtcbiAqXG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgYXVkaXR9XG4gKiBAc2VlIHtAbGluayBkZWJvdW5jZX1cbiAqIEBzZWUge0BsaW5rIHNhbXBsZVRpbWV9XG4gKiBAc2VlIHtAbGluayB0aHJvdHRsZX1cbiAqXG4gKiBAcGFyYW0gbm90aWZpZXIgVGhlIGBPYnNlcnZhYmxlSW5wdXRgIHRvIHVzZSBmb3Igc2FtcGxpbmcgdGhlXG4gKiBzb3VyY2UgT2JzZXJ2YWJsZS5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXN1bHRzIG9mXG4gKiBzYW1wbGluZyB0aGUgdmFsdWVzIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHdoZW5ldmVyIHRoZSBub3RpZmllclxuICogT2JzZXJ2YWJsZSBlbWl0cyB2YWx1ZSBvciBjb21wbGV0ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYW1wbGU8VD4obm90aWZpZXI6IE9ic2VydmFibGVJbnB1dDxhbnk+KTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIGxldCBoYXNWYWx1ZSA9IGZhbHNlO1xuICAgIGxldCBsYXN0VmFsdWU6IFQgfCBudWxsID0gbnVsbDtcbiAgICBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKHN1YnNjcmliZXIsICh2YWx1ZSkgPT4ge1xuICAgICAgICBoYXNWYWx1ZSA9IHRydWU7XG4gICAgICAgIGxhc3RWYWx1ZSA9IHZhbHVlO1xuICAgICAgfSlcbiAgICApO1xuICAgIGlubmVyRnJvbShub3RpZmllcikuc3Vic2NyaWJlKFxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgICBzdWJzY3JpYmVyLFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgaWYgKGhhc1ZhbHVlKSB7XG4gICAgICAgICAgICBoYXNWYWx1ZSA9IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgdmFsdWUgPSBsYXN0VmFsdWUhO1xuICAgICAgICAgICAgbGFzdFZhbHVlID0gbnVsbDtcbiAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICBub29wXG4gICAgICApXG4gICAgKTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIgfSBmcm9tICcuLi9zY2hlZHVsZXIvYXN5bmMnO1xuaW1wb3J0IHsgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBTY2hlZHVsZXJMaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgc2FtcGxlIH0gZnJvbSAnLi9zYW1wbGUnO1xuaW1wb3J0IHsgaW50ZXJ2YWwgfSBmcm9tICcuLi9vYnNlcnZhYmxlL2ludGVydmFsJztcblxuLyoqXG4gKiBFbWl0cyB0aGUgbW9zdCByZWNlbnRseSBlbWl0dGVkIHZhbHVlIGZyb20gdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHdpdGhpblxuICogcGVyaW9kaWMgdGltZSBpbnRlcnZhbHMuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPlNhbXBsZXMgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGF0IHBlcmlvZGljIHRpbWVcbiAqIGludGVydmFscywgZW1pdHRpbmcgd2hhdCBpdCBzYW1wbGVzLjwvc3Bhbj5cbiAqXG4gKiAhW10oc2FtcGxlVGltZS5wbmcpXG4gKlxuICogYHNhbXBsZVRpbWVgIHBlcmlvZGljYWxseSBsb29rcyBhdCB0aGUgc291cmNlIE9ic2VydmFibGUgYW5kIGVtaXRzIHdoaWNoZXZlclxuICogdmFsdWUgaXQgaGFzIG1vc3QgcmVjZW50bHkgZW1pdHRlZCBzaW5jZSB0aGUgcHJldmlvdXMgc2FtcGxpbmcsIHVubGVzcyB0aGVcbiAqIHNvdXJjZSBoYXMgbm90IGVtaXR0ZWQgYW55dGhpbmcgc2luY2UgdGhlIHByZXZpb3VzIHNhbXBsaW5nLiBUaGUgc2FtcGxpbmdcbiAqIGhhcHBlbnMgcGVyaW9kaWNhbGx5IGluIHRpbWUgZXZlcnkgYHBlcmlvZGAgbWlsbGlzZWNvbmRzIChvciB0aGUgdGltZSB1bml0XG4gKiBkZWZpbmVkIGJ5IHRoZSBvcHRpb25hbCBgc2NoZWR1bGVyYCBhcmd1bWVudCkuIFRoZSBzYW1wbGluZyBzdGFydHMgYXMgc29vbiBhc1xuICogdGhlIG91dHB1dCBPYnNlcnZhYmxlIGlzIHN1YnNjcmliZWQuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIEV2ZXJ5IHNlY29uZCwgZW1pdCB0aGUgbW9zdCByZWNlbnQgY2xpY2sgYXQgbW9zdCBvbmNlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgc2FtcGxlVGltZSB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGNsaWNrcyA9IGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJyk7XG4gKiBjb25zdCByZXN1bHQgPSBjbGlja3MucGlwZShzYW1wbGVUaW1lKDEwMDApKTtcbiAqXG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgYXVkaXRUaW1lfVxuICogQHNlZSB7QGxpbmsgZGVib3VuY2VUaW1lfVxuICogQHNlZSB7QGxpbmsgZGVsYXl9XG4gKiBAc2VlIHtAbGluayBzYW1wbGV9XG4gKiBAc2VlIHtAbGluayB0aHJvdHRsZVRpbWV9XG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IHBlcmlvZCBUaGUgc2FtcGxpbmcgcGVyaW9kIGV4cHJlc3NlZCBpbiBtaWxsaXNlY29uZHMgb3IgdGhlXG4gKiB0aW1lIHVuaXQgZGV0ZXJtaW5lZCBpbnRlcm5hbGx5IGJ5IHRoZSBvcHRpb25hbCBgc2NoZWR1bGVyYC5cbiAqIEBwYXJhbSB7U2NoZWR1bGVyTGlrZX0gW3NjaGVkdWxlcj1hc3luY10gVGhlIHtAbGluayBTY2hlZHVsZXJMaWtlfSB0byB1c2UgZm9yXG4gKiBtYW5hZ2luZyB0aGUgdGltZXJzIHRoYXQgaGFuZGxlIHRoZSBzYW1wbGluZy5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSByZXN1bHRzIG9mXG4gKiBzYW1wbGluZyB0aGUgdmFsdWVzIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuICogaW50ZXJ2YWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYW1wbGVUaW1lPFQ+KHBlcmlvZDogbnVtYmVyLCBzY2hlZHVsZXI6IFNjaGVkdWxlckxpa2UgPSBhc3luY1NjaGVkdWxlcik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIHJldHVybiBzYW1wbGUoaW50ZXJ2YWwocGVyaW9kLCBzY2hlZHVsZXIpKTtcbn1cbiIsICJpbXBvcnQgeyBPcGVyYXRvckZ1bmN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBzY2FuSW50ZXJuYWxzIH0gZnJvbSAnLi9zY2FuSW50ZXJuYWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNjYW48ViwgQSA9IFY+KGFjY3VtdWxhdG9yOiAoYWNjOiBBIHwgViwgdmFsdWU6IFYsIGluZGV4OiBudW1iZXIpID0+IEEpOiBPcGVyYXRvckZ1bmN0aW9uPFYsIFYgfCBBPjtcbmV4cG9ydCBmdW5jdGlvbiBzY2FuPFYsIEE+KGFjY3VtdWxhdG9yOiAoYWNjOiBBLCB2YWx1ZTogViwgaW5kZXg6IG51bWJlcikgPT4gQSwgc2VlZDogQSk6IE9wZXJhdG9yRnVuY3Rpb248ViwgQT47XG5leHBvcnQgZnVuY3Rpb24gc2NhbjxWLCBBLCBTPihhY2N1bXVsYXRvcjogKGFjYzogQSB8IFMsIHZhbHVlOiBWLCBpbmRleDogbnVtYmVyKSA9PiBBLCBzZWVkOiBTKTogT3BlcmF0b3JGdW5jdGlvbjxWLCBBPjtcblxuLy8gVE9ETzogbGluayB0byBhIFwicmVkdXggcGF0dGVyblwiIHNlY3Rpb24gaW4gdGhlIGd1aWRlIChsb2NhdGlvbiBUQkQpXG5cbi8qKlxuICogVXNlZnVsIGZvciBlbmNhcHN1bGF0aW5nIGFuZCBtYW5hZ2luZyBzdGF0ZS4gQXBwbGllcyBhbiBhY2N1bXVsYXRvciAob3IgXCJyZWR1Y2VyIGZ1bmN0aW9uXCIpXG4gKiB0byBlYWNoIHZhbHVlIGZyb20gdGhlIHNvdXJjZSBhZnRlciBhbiBpbml0aWFsIHN0YXRlIGlzIGVzdGFibGlzaGVkIC0tIGVpdGhlciB2aWFcbiAqIGEgYHNlZWRgIHZhbHVlIChzZWNvbmQgYXJndW1lbnQpLCBvciBmcm9tIHRoZSBmaXJzdCB2YWx1ZSBmcm9tIHRoZSBzb3VyY2UuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkl0J3MgbGlrZSB7QGxpbmsgcmVkdWNlfSwgYnV0IGVtaXRzIHRoZSBjdXJyZW50XG4gKiBhY2N1bXVsYXRpb24gc3RhdGUgYWZ0ZXIgZWFjaCB1cGRhdGU8L3NwYW4+XG4gKlxuICogIVtdKHNjYW4ucG5nKVxuICpcbiAqIFRoaXMgb3BlcmF0b3IgbWFpbnRhaW5zIGFuIGludGVybmFsIHN0YXRlIGFuZCBlbWl0cyBpdCBhZnRlciBwcm9jZXNzaW5nIGVhY2ggdmFsdWUgYXMgZm9sbG93czpcbiAqXG4gKiAxLiBGaXJzdCB2YWx1ZSBhcnJpdmVzXG4gKiAgIC0gSWYgYSBgc2VlZGAgdmFsdWUgd2FzIHN1cHBsaWVkIChhcyB0aGUgc2Vjb25kIGFyZ3VtZW50IHRvIGBzY2FuYCksIGxldCBgc3RhdGUgPSBzZWVkYCBhbmQgYHZhbHVlID0gZmlyc3RWYWx1ZWAuXG4gKiAgIC0gSWYgTk8gYHNlZWRgIHZhbHVlIHdhcyBzdXBwbGllZCAobm8gc2Vjb25kIGFyZ3VtZW50KSwgbGV0IGBzdGF0ZSA9IGZpcnN0VmFsdWVgIGFuZCBnbyB0byAzLlxuICogMi4gTGV0IGBzdGF0ZSA9IGFjY3VtdWxhdG9yKHN0YXRlLCB2YWx1ZSlgLlxuICogICAtIElmIGFuIGVycm9yIGlzIHRocm93biBieSBgYWNjdW11bGF0b3JgLCBub3RpZnkgdGhlIGNvbnN1bWVyIG9mIGFuIGVycm9yLiBUaGUgcHJvY2VzcyBlbmRzLlxuICogMy4gRW1pdCBgc3RhdGVgLlxuICogNC4gTmV4dCB2YWx1ZSBhcnJpdmVzLCBsZXQgYHZhbHVlID0gbmV4dFZhbHVlYCwgZ28gdG8gMi5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIEFuIGF2ZXJhZ2Ugb2YgcHJldmlvdXMgbnVtYmVycy4gVGhpcyBleGFtcGxlIHNob3dzIGhvd1xuICogbm90IHByb3ZpZGluZyBhIGBzZWVkYCBjYW4gcHJpbWUgdGhlIHN0cmVhbSB3aXRoIHRoZVxuICogZmlyc3QgdmFsdWUgZnJvbSB0aGUgc291cmNlLlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBvZiwgc2NhbiwgbWFwIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgbnVtYmVycyQgPSBvZigxLCAyLCAzKTtcbiAqXG4gKiBudW1iZXJzJFxuICogICAucGlwZShcbiAqICAgICAvLyBHZXQgdGhlIHN1bSBvZiB0aGUgbnVtYmVycyBjb21pbmcgaW4uXG4gKiAgICAgc2NhbigodG90YWwsIG4pID0+IHRvdGFsICsgbiksXG4gKiAgICAgLy8gR2V0IHRoZSBhdmVyYWdlIGJ5IGRpdmlkaW5nIHRoZSBzdW0gYnkgdGhlIHRvdGFsIG51bWJlclxuICogICAgIC8vIHJlY2VpdmVkIHNvIGZhciAod2hpY2ggaXMgMSBtb3JlIHRoYW4gdGhlIHplcm8tYmFzZWQgaW5kZXgpLlxuICogICAgIG1hcCgoc3VtLCBpbmRleCkgPT4gc3VtIC8gKGluZGV4ICsgMSkpXG4gKiAgIClcbiAqICAgLnN1YnNjcmliZShjb25zb2xlLmxvZyk7XG4gKiBgYGBcbiAqXG4gKiBUaGUgRmlib25hY2NpIHNlcXVlbmNlLiBUaGlzIGV4YW1wbGUgc2hvd3MgaG93IHlvdSBjYW4gdXNlXG4gKiBhIHNlZWQgdG8gcHJpbWUgYWNjdW11bGF0aW9uIHByb2Nlc3MuIEFsc28uLi4geW91IGtub3cuLi4gRmlib25hY2NpLlxuICogU28gaW1wb3J0YW50IHRvIGxpa2UsIGNvbXB1dGVycyBhbmQgc3R1ZmYgdGhhdCBpdHMgd2hpdGVib2FyZGVkXG4gKiBpbiBqb2IgaW50ZXJ2aWV3cy4gTm93IHlvdSBjYW4gc2hvdyB0aGVtIHRoZSBSeCB2ZXJzaW9uISAoUGxlYXNlIGRvbid0LCBoYWhhKVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBpbnRlcnZhbCwgc2NhbiwgbWFwLCBzdGFydFdpdGggfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBmaXJzdFR3b0ZpYnMgPSBbMCwgMV07XG4gKiAvLyBBbiBlbmRsZXNzIHN0cmVhbSBvZiBGaWJvbmFjY2kgbnVtYmVycy5cbiAqIGNvbnN0IGZpYm9uYWNjaSQgPSBpbnRlcnZhbCgxMDAwKS5waXBlKFxuICogICAvLyBTY2FuIHRvIGdldCB0aGUgZmlib25hY2NpIG51bWJlcnMgKGFmdGVyIDAsIDEpXG4gKiAgIHNjYW4oKFthLCBiXSkgPT4gW2IsIGEgKyBiXSwgZmlyc3RUd29GaWJzKSxcbiAqICAgLy8gR2V0IHRoZSBzZWNvbmQgbnVtYmVyIGluIHRoZSB0dXBsZSwgaXQncyB0aGUgb25lIHlvdSBjYWxjdWxhdGVkXG4gKiAgIG1hcCgoWywgbl0pID0+IG4pLFxuICogICAvLyBTdGFydCB3aXRoIG91ciBmaXJzdCB0d28gZGlnaXRzIDopXG4gKiAgIHN0YXJ0V2l0aCguLi5maXJzdFR3b0ZpYnMpXG4gKiApO1xuICpcbiAqIGZpYm9uYWNjaSQuc3Vic2NyaWJlKGNvbnNvbGUubG9nKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGV4cGFuZH1cbiAqIEBzZWUge0BsaW5rIG1lcmdlU2Nhbn1cbiAqIEBzZWUge0BsaW5rIHJlZHVjZX1cbiAqIEBzZWUge0BsaW5rIHN3aXRjaFNjYW59XG4gKlxuICogQHBhcmFtIGFjY3VtdWxhdG9yIEEgXCJyZWR1Y2VyIGZ1bmN0aW9uXCIuIFRoaXMgd2lsbCBiZSBjYWxsZWQgZm9yIGVhY2ggdmFsdWUgYWZ0ZXIgYW4gaW5pdGlhbCBzdGF0ZSBpc1xuICogYWNxdWlyZWQuXG4gKiBAcGFyYW0gc2VlZCBUaGUgaW5pdGlhbCBzdGF0ZS4gSWYgdGhpcyBpcyBub3QgcHJvdmlkZWQsIHRoZSBmaXJzdCB2YWx1ZSBmcm9tIHRoZSBzb3VyY2Ugd2lsbFxuICogYmUgdXNlZCBhcyB0aGUgaW5pdGlhbCBzdGF0ZSwgYW5kIGVtaXR0ZWQgd2l0aG91dCBnb2luZyB0aHJvdWdoIHRoZSBhY2N1bXVsYXRvci4gQWxsIHN1YnNlcXVlbnQgdmFsdWVzXG4gKiB3aWxsIGJlIHByb2Nlc3NlZCBieSB0aGUgYWNjdW11bGF0b3IgZnVuY3Rpb24uIElmIHRoaXMgaXMgcHJvdmlkZWQsIGFsbCB2YWx1ZXMgd2lsbCBnbyB0aHJvdWdoXG4gKiB0aGUgYWNjdW11bGF0b3IgZnVuY3Rpb24uXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgb2YgdGhlIGFjY3VtdWxhdGVkIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNjYW48ViwgQSwgUz4oYWNjdW11bGF0b3I6IChhY2M6IFYgfCBBIHwgUywgdmFsdWU6IFYsIGluZGV4OiBudW1iZXIpID0+IEEsIHNlZWQ/OiBTKTogT3BlcmF0b3JGdW5jdGlvbjxWLCBWIHwgQT4ge1xuICAvLyBwcm92aWRpbmcgYSBzZWVkIG9mIGB1bmRlZmluZWRgICpzaG91bGQqIGJlIHZhbGlkIGFuZCB0cmlnZ2VyXG4gIC8vIGhhc1NlZWQhIHNvIGRvbid0IHVzZSBgc2VlZCAhPT0gdW5kZWZpbmVkYCBjaGVja3MhXG4gIC8vIEZvciB0aGlzIHJlYXNvbiwgd2UgaGF2ZSB0byBjaGVjayBpdCBoZXJlIGF0IHRoZSBvcmlnaW5hbCBjYWxsIHNpdGVcbiAgLy8gb3RoZXJ3aXNlIGluc2lkZSBPcGVyYXRvci9TdWJzY3JpYmVyIHdlIHdvbid0IGtub3cgaWYgYHVuZGVmaW5lZGBcbiAgLy8gbWVhbnMgdGhleSBkaWRuJ3QgcHJvdmlkZSBhbnl0aGluZyBvciBpZiB0aGV5IGxpdGVyYWxseSBwcm92aWRlZCBgdW5kZWZpbmVkYFxuICByZXR1cm4gb3BlcmF0ZShzY2FuSW50ZXJuYWxzKGFjY3VtdWxhdG9yLCBzZWVkIGFzIFMsIGFyZ3VtZW50cy5sZW5ndGggPj0gMiwgdHJ1ZSkpO1xufVxuIiwgImltcG9ydCB7IE9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi9PcGVyYXRvclN1YnNjcmliZXInO1xuaW1wb3J0IHsgaW5uZXJGcm9tIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9pbm5lckZyb20nO1xuXG4vKipcbiAqIENvbXBhcmVzIGFsbCB2YWx1ZXMgb2YgdHdvIG9ic2VydmFibGVzIGluIHNlcXVlbmNlIHVzaW5nIGFuIG9wdGlvbmFsIGNvbXBhcmF0b3IgZnVuY3Rpb25cbiAqIGFuZCByZXR1cm5zIGFuIG9ic2VydmFibGUgb2YgYSBzaW5nbGUgYm9vbGVhbiB2YWx1ZSByZXByZXNlbnRpbmcgd2hldGhlciBvciBub3QgdGhlIHR3byBzZXF1ZW5jZXNcbiAqIGFyZSBlcXVhbC5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+Q2hlY2tzIHRvIHNlZSBvZiBhbGwgdmFsdWVzIGVtaXR0ZWQgYnkgYm90aCBvYnNlcnZhYmxlcyBhcmUgZXF1YWwsIGluIG9yZGVyLjwvc3Bhbj5cbiAqXG4gKiAhW10oc2VxdWVuY2VFcXVhbC5wbmcpXG4gKlxuICogYHNlcXVlbmNlRXF1YWxgIHN1YnNjcmliZXMgdG8gc291cmNlIG9ic2VydmFibGUgYW5kIGBjb21wYXJlVG9gIGBPYnNlcnZhYmxlSW5wdXRgICh0aGF0IGludGVybmFsbHlcbiAqIGdldHMgY29udmVydGVkIHRvIGFuIG9ic2VydmFibGUpIGFuZCBidWZmZXJzIGluY29taW5nIHZhbHVlcyBmcm9tIGVhY2ggb2JzZXJ2YWJsZS4gV2hlbmV2ZXIgZWl0aGVyXG4gKiBvYnNlcnZhYmxlIGVtaXRzIGEgdmFsdWUsIHRoZSB2YWx1ZSBpcyBidWZmZXJlZCBhbmQgdGhlIGJ1ZmZlcnMgYXJlIHNoaWZ0ZWQgYW5kIGNvbXBhcmVkIGZyb20gdGhlIGJvdHRvbVxuICogdXA7IElmIGFueSB2YWx1ZSBwYWlyIGRvZXNuJ3QgbWF0Y2gsIHRoZSByZXR1cm5lZCBvYnNlcnZhYmxlIHdpbGwgZW1pdCBgZmFsc2VgIGFuZCBjb21wbGV0ZS4gSWYgb25lIG9mIHRoZVxuICogb2JzZXJ2YWJsZXMgY29tcGxldGVzLCB0aGUgb3BlcmF0b3Igd2lsbCB3YWl0IGZvciB0aGUgb3RoZXIgb2JzZXJ2YWJsZSB0byBjb21wbGV0ZTsgSWYgdGhlIG90aGVyXG4gKiBvYnNlcnZhYmxlIGVtaXRzIGJlZm9yZSBjb21wbGV0aW5nLCB0aGUgcmV0dXJuZWQgb2JzZXJ2YWJsZSB3aWxsIGVtaXQgYGZhbHNlYCBhbmQgY29tcGxldGUuIElmIG9uZSBvYnNlcnZhYmxlIG5ldmVyXG4gKiBjb21wbGV0ZXMgb3IgZW1pdHMgYWZ0ZXIgdGhlIG90aGVyIGNvbXBsZXRlcywgdGhlIHJldHVybmVkIG9ic2VydmFibGUgd2lsbCBuZXZlciBjb21wbGV0ZS5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogRmlndXJlIG91dCBpZiB0aGUgS29uYW1pIGNvZGUgbWF0Y2hlc1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tLCBmcm9tRXZlbnQsIG1hcCwgYnVmZmVyQ291bnQsIG1lcmdlTWFwLCBzZXF1ZW5jZUVxdWFsIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY29kZXMgPSBmcm9tKFtcbiAqICAgJ0Fycm93VXAnLFxuICogICAnQXJyb3dVcCcsXG4gKiAgICdBcnJvd0Rvd24nLFxuICogICAnQXJyb3dEb3duJyxcbiAqICAgJ0Fycm93TGVmdCcsXG4gKiAgICdBcnJvd1JpZ2h0JyxcbiAqICAgJ0Fycm93TGVmdCcsXG4gKiAgICdBcnJvd1JpZ2h0JyxcbiAqICAgJ0tleUInLFxuICogICAnS2V5QScsXG4gKiAgICdFbnRlcicsIC8vIG5vIHN0YXJ0IGtleSwgY2xlYXJseS5cbiAqIF0pO1xuICpcbiAqIGNvbnN0IGtleXMgPSBmcm9tRXZlbnQ8S2V5Ym9hcmRFdmVudD4oZG9jdW1lbnQsICdrZXl1cCcpLnBpcGUobWFwKGUgPT4gZS5jb2RlKSk7XG4gKiBjb25zdCBtYXRjaGVzID0ga2V5cy5waXBlKFxuICogICBidWZmZXJDb3VudCgxMSwgMSksXG4gKiAgIG1lcmdlTWFwKGxhc3QxMSA9PiBmcm9tKGxhc3QxMSkucGlwZShzZXF1ZW5jZUVxdWFsKGNvZGVzKSkpXG4gKiApO1xuICogbWF0Y2hlcy5zdWJzY3JpYmUobWF0Y2hlZCA9PiBjb25zb2xlLmxvZygnU3VjY2Vzc2Z1bCBjaGVhdCBhdCBDb250cmE/ICcsIG1hdGNoZWQpKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGNvbWJpbmVMYXRlc3R9XG4gKiBAc2VlIHtAbGluayB6aXB9XG4gKiBAc2VlIHtAbGluayB3aXRoTGF0ZXN0RnJvbX1cbiAqXG4gKiBAcGFyYW0gY29tcGFyZVRvIFRoZSBgT2JzZXJ2YWJsZUlucHV0YCBzZXF1ZW5jZSB0byBjb21wYXJlIHRoZSBzb3VyY2Ugc2VxdWVuY2UgdG8uXG4gKiBAcGFyYW0gY29tcGFyYXRvciBBbiBvcHRpb25hbCBmdW5jdGlvbiB0byBjb21wYXJlIGVhY2ggdmFsdWUgcGFpci5cbiAqXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBhIHNpbmdsZSBib29sZWFuXG4gKiB2YWx1ZSByZXByZXNlbnRpbmcgd2hldGhlciBvciBub3QgdGhlIHZhbHVlcyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2VcbiAqIE9ic2VydmFibGUgYW5kIHByb3ZpZGVkIGBPYnNlcnZhYmxlSW5wdXRgIHdlcmUgZXF1YWwgaW4gc2VxdWVuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXF1ZW5jZUVxdWFsPFQ+KFxuICBjb21wYXJlVG86IE9ic2VydmFibGVJbnB1dDxUPixcbiAgY29tcGFyYXRvcjogKGE6IFQsIGI6IFQpID0+IGJvb2xlYW4gPSAoYSwgYikgPT4gYSA9PT0gYlxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBib29sZWFuPiB7XG4gIHJldHVybiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICAvLyBUaGUgc3RhdGUgZm9yIHRoZSBzb3VyY2Ugb2JzZXJ2YWJsZVxuICAgIGNvbnN0IGFTdGF0ZSA9IGNyZWF0ZVN0YXRlPFQ+KCk7XG4gICAgLy8gVGhlIHN0YXRlIGZvciB0aGUgY29tcGFyZVRvIG9ic2VydmFibGU7XG4gICAgY29uc3QgYlN0YXRlID0gY3JlYXRlU3RhdGU8VD4oKTtcblxuICAgIC8qKiBBIHV0aWxpdHkgdG8gZW1pdCBhbmQgY29tcGxldGUgKi9cbiAgICBjb25zdCBlbWl0ID0gKGlzRXF1YWw6IGJvb2xlYW4pID0+IHtcbiAgICAgIHN1YnNjcmliZXIubmV4dChpc0VxdWFsKTtcbiAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQ3JlYXRlcyBhIHN1YnNjcmliZXIgdGhhdCBzdWJzY3JpYmVzIHRvIG9uZSBvZiB0aGUgc291cmNlcywgYW5kIGNvbXBhcmVzIGl0cyBjb2xsZWN0ZWRcbiAgICAgKiBzdGF0ZSAtLSBgc2VsZlN0YXRlYCAtLSB0byB0aGUgb3RoZXIgc291cmNlJ3MgY29sbGVjdGVkIHN0YXRlIC0tIGBvdGhlclN0YXRlYC4gVGhpc1xuICAgICAqIGlzIHVzZWQgZm9yIGJvdGggc3RyZWFtcy5cbiAgICAgKi9cbiAgICBjb25zdCBjcmVhdGVTdWJzY3JpYmVyID0gKHNlbGZTdGF0ZTogU2VxdWVuY2VTdGF0ZTxUPiwgb3RoZXJTdGF0ZTogU2VxdWVuY2VTdGF0ZTxUPikgPT4ge1xuICAgICAgY29uc3Qgc2VxdWVuY2VFcXVhbFN1YnNjcmliZXIgPSBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoXG4gICAgICAgIHN1YnNjcmliZXIsXG4gICAgICAgIChhOiBUKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBidWZmZXIsIGNvbXBsZXRlIH0gPSBvdGhlclN0YXRlO1xuICAgICAgICAgIGlmIChidWZmZXIubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAvLyBJZiB0aGVyZSdzIG5vIHZhbHVlcyBpbiB0aGUgb3RoZXIgYnVmZmVyXG4gICAgICAgICAgICAvLyBhbmQgdGhlIG90aGVyIHN0cmVhbSBpcyBjb21wbGV0ZSwgd2Uga25vd1xuICAgICAgICAgICAgLy8gdGhpcyBpc24ndCBhIG1hdGNoLCBiZWNhdXNlIHdlIGdvdCBvbmUgbW9yZSB2YWx1ZS5cbiAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgd2UgcHVzaCBvbnRvIG91ciBidWZmZXIsIHNvIHdoZW4gdGhlIG90aGVyXG4gICAgICAgICAgICAvLyBzdHJlYW0gZW1pdHMsIGl0IGNhbiBwdWxsIHRoaXMgdmFsdWUgb2ZmIG91ciBidWZmZXIgYW5kIGNoZWNrIGl0XG4gICAgICAgICAgICAvLyBhdCB0aGUgYXBwcm9wcmlhdGUgdGltZS5cbiAgICAgICAgICAgIGNvbXBsZXRlID8gZW1pdChmYWxzZSkgOiBzZWxmU3RhdGUuYnVmZmVyLnB1c2goYSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIElmIHRoZSBvdGhlciBzdHJlYW0gKmRvZXMqIGhhdmUgdmFsdWVzIGluIGl0cyBidWZmZXIsXG4gICAgICAgICAgICAvLyBwdWxsIHRoZSBvbGRlc3Qgb25lIG9mZiBzbyB3ZSBjYW4gY29tcGFyZSBpdCB0byB3aGF0IHdlXG4gICAgICAgICAgICAvLyBqdXN0IGdvdC4gSWYgaXQgd2Fzbid0IGEgbWF0Y2gsIGVtaXQgYGZhbHNlYCBhbmQgY29tcGxldGUuXG4gICAgICAgICAgICAhY29tcGFyYXRvcihhLCBidWZmZXIuc2hpZnQoKSEpICYmIGVtaXQoZmFsc2UpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIC8vIE9yIG9ic2VydmFibGUgY29tcGxldGVkXG4gICAgICAgICAgc2VsZlN0YXRlLmNvbXBsZXRlID0gdHJ1ZTtcbiAgICAgICAgICBjb25zdCB7IGNvbXBsZXRlLCBidWZmZXIgfSA9IG90aGVyU3RhdGU7XG4gICAgICAgICAgLy8gSWYgdGhlIG90aGVyIG9ic2VydmFibGUgaXMgYWxzbyBjb21wbGV0ZSwgYW5kIHRoZXJlJ3NcbiAgICAgICAgICAvLyBzdGlsbCBzdHVmZiBsZWZ0IGluIHRoZWlyIGJ1ZmZlciwgaXQgZG9lc24ndCBtYXRjaCwgaWYgdGhlaXJcbiAgICAgICAgICAvLyBidWZmZXIgaXMgZW1wdHksIHRoZW4gaXQgZG9lcyBtYXRjaC4gVGhpcyBpcyBiZWNhdXNlIHdlIGNhbid0XG4gICAgICAgICAgLy8gcG9zc2libHkgZ2V0IG1vcmUgdmFsdWVzIGhlcmUgYW55bW9yZS5cbiAgICAgICAgICBjb21wbGV0ZSAmJiBlbWl0KGJ1ZmZlci5sZW5ndGggPT09IDApO1xuICAgICAgICAgIC8vIEJlIHN1cmUgdG8gY2xlYW4gdXAgb3VyIHN0cmVhbSBhcyBzb29uIGFzIHBvc3NpYmxlIGlmIHdlIGNhbi5cbiAgICAgICAgICBzZXF1ZW5jZUVxdWFsU3Vic2NyaWJlcj8udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIHNlcXVlbmNlRXF1YWxTdWJzY3JpYmVyO1xuICAgIH07XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gZWFjaCBzb3VyY2UuXG4gICAgc291cmNlLnN1YnNjcmliZShjcmVhdGVTdWJzY3JpYmVyKGFTdGF0ZSwgYlN0YXRlKSk7XG4gICAgaW5uZXJGcm9tKGNvbXBhcmVUbykuc3Vic2NyaWJlKGNyZWF0ZVN1YnNjcmliZXIoYlN0YXRlLCBhU3RhdGUpKTtcbiAgfSk7XG59XG5cbi8qKlxuICogQSBzaW1wbGUgc3RydWN0dXJlIGZvciB0aGUgZGF0YSB1c2VkIHRvIHRlc3QgZWFjaCBzZXF1ZW5jZVxuICovXG5pbnRlcmZhY2UgU2VxdWVuY2VTdGF0ZTxUPiB7XG4gIC8qKiBBIHRlbXBvcmFyeSBzdG9yZSBmb3IgYXJyaXZlZCB2YWx1ZXMgYmVmb3JlIHRoZXkgYXJlIGNoZWNrZWQgKi9cbiAgYnVmZmVyOiBUW107XG4gIC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgc2VxdWVuY2Ugc291cmNlIGhhcyBjb21wbGV0ZWQuICovXG4gIGNvbXBsZXRlOiBib29sZWFuO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBzaW1wbGUgc3RydWN0dXJlIHRoYXQgaXMgdXNlZCB0byByZXByZXNlbnRcbiAqIGRhdGEgdXNlZCB0byB0ZXN0IGVhY2ggc2VxdWVuY2UuXG4gKi9cbmZ1bmN0aW9uIGNyZWF0ZVN0YXRlPFQ+KCk6IFNlcXVlbmNlU3RhdGU8VD4ge1xuICByZXR1cm4ge1xuICAgIGJ1ZmZlcjogW10sXG4gICAgY29tcGxldGU6IGZhbHNlLFxuICB9O1xufVxuIiwgImltcG9ydCB7IGlubmVyRnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvaW5uZXJGcm9tJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICcuLi9TdWJqZWN0JztcbmltcG9ydCB7IFNhZmVTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9TdWJzY3JpcHRpb24nO1xuaW1wb3J0IHsgTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uLCBTdWJqZWN0TGlrZSwgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVDb25maWc8VD4ge1xuICAvKipcbiAgICogVGhlIGZhY3RvcnkgdXNlZCB0byBjcmVhdGUgdGhlIHN1YmplY3QgdGhhdCB3aWxsIGNvbm5lY3QgdGhlIHNvdXJjZSBvYnNlcnZhYmxlIHRvXG4gICAqIG11bHRpY2FzdCBjb25zdW1lcnMuXG4gICAqL1xuICBjb25uZWN0b3I/OiAoKSA9PiBTdWJqZWN0TGlrZTxUPjtcbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgdGhlIHJlc3VsdGluZyBvYnNlcnZhYmxlIHdpbGwgcmVzZXQgaW50ZXJuYWwgc3RhdGUgb24gZXJyb3IgZnJvbSBzb3VyY2UgYW5kIHJldHVybiB0byBhIFwiY29sZFwiIHN0YXRlLiBUaGlzXG4gICAqIGFsbG93cyB0aGUgcmVzdWx0aW5nIG9ic2VydmFibGUgdG8gYmUgXCJyZXRyaWVkXCIgaW4gdGhlIGV2ZW50IG9mIGFuIGVycm9yLlxuICAgKiBJZiBgZmFsc2VgLCB3aGVuIGFuIGVycm9yIGNvbWVzIGZyb20gdGhlIHNvdXJjZSBpdCB3aWxsIHB1c2ggdGhlIGVycm9yIGludG8gdGhlIGNvbm5lY3Rpbmcgc3ViamVjdCwgYW5kIHRoZSBzdWJqZWN0XG4gICAqIHdpbGwgcmVtYWluIHRoZSBjb25uZWN0aW5nIHN1YmplY3QsIG1lYW5pbmcgdGhlIHJlc3VsdGluZyBvYnNlcnZhYmxlIHdpbGwgbm90IGdvIFwiY29sZFwiIGFnYWluLCBhbmQgc3Vic2VxdWVudCByZXRyaWVzXG4gICAqIG9yIHJlc3Vic2NyaXB0aW9ucyB3aWxsIHJlc3Vic2NyaWJlIHRvIHRoYXQgc2FtZSBzdWJqZWN0LiBJbiBhbGwgY2FzZXMsIFJ4SlMgc3ViamVjdHMgd2lsbCBlbWl0IHRoZSBzYW1lIGVycm9yIGFnYWluLCBob3dldmVyXG4gICAqIHtAbGluayBSZXBsYXlTdWJqZWN0fSB3aWxsIGFsc28gcHVzaCBpdHMgYnVmZmVyZWQgdmFsdWVzIGJlZm9yZSBwdXNoaW5nIHRoZSBlcnJvci5cbiAgICogSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBwYXNzIGEgbm90aWZpZXIgZmFjdG9yeSByZXR1cm5pbmcgYW4gYE9ic2VydmFibGVJbnB1dGAgaW5zdGVhZCB3aGljaCBncmFudHMgbW9yZSBmaW5lLWdyYWluZWRcbiAgICogY29udHJvbCBvdmVyIGhvdyBhbmQgd2hlbiB0aGUgcmVzZXQgc2hvdWxkIGhhcHBlbi4gVGhpcyBhbGxvd3MgYmVoYXZpb3JzIGxpa2UgY29uZGl0aW9uYWwgb3IgZGVsYXllZCByZXNldHMuXG4gICAqL1xuICByZXNldE9uRXJyb3I/OiBib29sZWFuIHwgKChlcnJvcjogYW55KSA9PiBPYnNlcnZhYmxlSW5wdXQ8YW55Pik7XG4gIC8qKlxuICAgKiBJZiBgdHJ1ZWAsIHRoZSByZXN1bHRpbmcgb2JzZXJ2YWJsZSB3aWxsIHJlc2V0IGludGVybmFsIHN0YXRlIG9uIGNvbXBsZXRpb24gZnJvbSBzb3VyY2UgYW5kIHJldHVybiB0byBhIFwiY29sZFwiIHN0YXRlLiBUaGlzXG4gICAqIGFsbG93cyB0aGUgcmVzdWx0aW5nIG9ic2VydmFibGUgdG8gYmUgXCJyZXBlYXRlZFwiIGFmdGVyIGl0IGlzIGRvbmUuXG4gICAqIElmIGBmYWxzZWAsIHdoZW4gdGhlIHNvdXJjZSBjb21wbGV0ZXMsIGl0IHdpbGwgcHVzaCB0aGUgY29tcGxldGlvbiB0aHJvdWdoIHRoZSBjb25uZWN0aW5nIHN1YmplY3QsIGFuZCB0aGUgc3ViamVjdFxuICAgKiB3aWxsIHJlbWFpbiB0aGUgY29ubmVjdGluZyBzdWJqZWN0LCBtZWFuaW5nIHRoZSByZXN1bHRpbmcgb2JzZXJ2YWJsZSB3aWxsIG5vdCBnbyBcImNvbGRcIiBhZ2FpbiwgYW5kIHN1YnNlcXVlbnQgcmVwZWF0c1xuICAgKiBvciByZXN1YnNjcmlwdGlvbnMgd2lsbCByZXN1YnNjcmliZSB0byB0aGF0IHNhbWUgc3ViamVjdC5cbiAgICogSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBwYXNzIGEgbm90aWZpZXIgZmFjdG9yeSByZXR1cm5pbmcgYW4gYE9ic2VydmFibGVJbnB1dGAgaW5zdGVhZCB3aGljaCBncmFudHMgbW9yZSBmaW5lLWdyYWluZWRcbiAgICogY29udHJvbCBvdmVyIGhvdyBhbmQgd2hlbiB0aGUgcmVzZXQgc2hvdWxkIGhhcHBlbi4gVGhpcyBhbGxvd3MgYmVoYXZpb3JzIGxpa2UgY29uZGl0aW9uYWwgb3IgZGVsYXllZCByZXNldHMuXG4gICAqL1xuICByZXNldE9uQ29tcGxldGU/OiBib29sZWFuIHwgKCgpID0+IE9ic2VydmFibGVJbnB1dDxhbnk+KTtcbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgd2hlbiB0aGUgbnVtYmVyIG9mIHN1YnNjcmliZXJzIHRvIHRoZSByZXN1bHRpbmcgb2JzZXJ2YWJsZSByZWFjaGVzIHplcm8gZHVlIHRvIHRob3NlIHN1YnNjcmliZXJzIHVuc3Vic2NyaWJpbmcsIHRoZVxuICAgKiBpbnRlcm5hbCBzdGF0ZSB3aWxsIGJlIHJlc2V0IGFuZCB0aGUgcmVzdWx0aW5nIG9ic2VydmFibGUgd2lsbCByZXR1cm4gdG8gYSBcImNvbGRcIiBzdGF0ZS4gVGhpcyBtZWFucyB0aGF0IHRoZSBuZXh0XG4gICAqIHRpbWUgdGhlIHJlc3VsdGluZyBvYnNlcnZhYmxlIGlzIHN1YnNjcmliZWQgdG8sIGEgbmV3IHN1YmplY3Qgd2lsbCBiZSBjcmVhdGVkIGFuZCB0aGUgc291cmNlIHdpbGwgYmUgc3Vic2NyaWJlZCB0b1xuICAgKiBhZ2Fpbi5cbiAgICogSWYgYGZhbHNlYCwgd2hlbiB0aGUgbnVtYmVyIG9mIHN1YnNjcmliZXJzIHRvIHRoZSByZXN1bHRpbmcgb2JzZXJ2YWJsZSByZWFjaGVzIHplcm8gZHVlIHRvIHVuc3Vic2NyaXB0aW9uLCB0aGUgc3ViamVjdFxuICAgKiB3aWxsIHJlbWFpbiBjb25uZWN0ZWQgdG8gdGhlIHNvdXJjZSwgYW5kIG5ldyBzdWJzY3JpcHRpb25zIHRvIHRoZSByZXN1bHQgd2lsbCBiZSBjb25uZWN0ZWQgdGhyb3VnaCB0aGF0IHNhbWUgc3ViamVjdC5cbiAgICogSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBwYXNzIGEgbm90aWZpZXIgZmFjdG9yeSByZXR1cm5pbmcgYW4gYE9ic2VydmFibGVJbnB1dGAgaW5zdGVhZCB3aGljaCBncmFudHMgbW9yZSBmaW5lLWdyYWluZWRcbiAgICogY29udHJvbCBvdmVyIGhvdyBhbmQgd2hlbiB0aGUgcmVzZXQgc2hvdWxkIGhhcHBlbi4gVGhpcyBhbGxvd3MgYmVoYXZpb3JzIGxpa2UgY29uZGl0aW9uYWwgb3IgZGVsYXllZCByZXNldHMuXG4gICAqL1xuICByZXNldE9uUmVmQ291bnRaZXJvPzogYm9vbGVhbiB8ICgoKSA9PiBPYnNlcnZhYmxlSW5wdXQ8YW55Pik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzaGFyZTxUPigpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD47XG5cbmV4cG9ydCBmdW5jdGlvbiBzaGFyZTxUPihvcHRpb25zOiBTaGFyZUNvbmZpZzxUPik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPjtcblxuLyoqXG4gKiBSZXR1cm5zIGEgbmV3IE9ic2VydmFibGUgdGhhdCBtdWx0aWNhc3RzIChzaGFyZXMpIHRoZSBvcmlnaW5hbCBPYnNlcnZhYmxlLiBBcyBsb25nIGFzIHRoZXJlIGlzIGF0IGxlYXN0IG9uZVxuICogU3Vic2NyaWJlciB0aGlzIE9ic2VydmFibGUgd2lsbCBiZSBzdWJzY3JpYmVkIGFuZCBlbWl0dGluZyBkYXRhLiBXaGVuIGFsbCBzdWJzY3JpYmVycyBoYXZlIHVuc3Vic2NyaWJlZCBpdCB3aWxsXG4gKiB1bnN1YnNjcmliZSBmcm9tIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS4gQmVjYXVzZSB0aGUgT2JzZXJ2YWJsZSBpcyBtdWx0aWNhc3RpbmcgaXQgbWFrZXMgdGhlIHN0cmVhbSBgaG90YC5cbiAqIFRoaXMgaXMgYW4gYWxpYXMgZm9yIGBtdWx0aWNhc3QoKCkgPT4gbmV3IFN1YmplY3QoKSksIHJlZkNvdW50KClgLlxuICpcbiAqIFRoZSBzdWJzY3JpcHRpb24gdG8gdGhlIHVuZGVybHlpbmcgc291cmNlIE9ic2VydmFibGUgY2FuIGJlIHJlc2V0ICh1bnN1YnNjcmliZSBhbmQgcmVzdWJzY3JpYmUgZm9yIG5ldyBzdWJzY3JpYmVycyksXG4gKiBpZiB0aGUgc3Vic2NyaWJlciBjb3VudCB0byB0aGUgc2hhcmVkIG9ic2VydmFibGUgZHJvcHMgdG8gMCwgb3IgaWYgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGVycm9ycyBvciBjb21wbGV0ZXMuIEl0IGlzXG4gKiBwb3NzaWJsZSB0byB1c2Ugbm90aWZpZXIgZmFjdG9yaWVzIGZvciB0aGUgcmVzZXRzIHRvIGFsbG93IGZvciBiZWhhdmlvcnMgbGlrZSBjb25kaXRpb25hbCBvciBkZWxheWVkIHJlc2V0cy4gUGxlYXNlXG4gKiBub3RlIHRoYXQgcmVzZXR0aW5nIG9uIGVycm9yIG9yIGNvbXBsZXRlIG9mIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBkb2VzIG5vdCBiZWhhdmUgbGlrZSBhIHRyYW5zcGFyZW50IHJldHJ5IG9yIHJlc3RhcnRcbiAqIG9mIHRoZSBzb3VyY2UgYmVjYXVzZSB0aGUgZXJyb3Igb3IgY29tcGxldGUgd2lsbCBiZSBmb3J3YXJkZWQgdG8gYWxsIHN1YnNjcmliZXJzIGFuZCB0aGVpciBzdWJzY3JpcHRpb24gd2lsbCBiZVxuICogY2xvc2VkLiBPbmx5IG5ldyBzdWJzY3JpYmVycyBhZnRlciBhIHJlc2V0IG9uIGVycm9yIG9yIGNvbXBsZXRlIGhhcHBlbmVkIHdpbGwgY2F1c2UgYSBmcmVzaCBzdWJzY3JpcHRpb24gdG8gdGhlXG4gKiBzb3VyY2UuIFRvIGFjaGlldmUgdHJhbnNwYXJlbnQgcmV0cmllcyBvciByZXN0YXJ0cyBwaXBlIHRoZSBzb3VyY2UgdGhyb3VnaCBhcHByb3ByaWF0ZSBvcGVyYXRvcnMgYmVmb3JlIHNoYXJpbmcuXG4gKlxuICogIVtdKHNoYXJlLnBuZylcbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogR2VuZXJhdGUgbmV3IG11bHRpY2FzdCBPYnNlcnZhYmxlIGZyb20gdGhlIGBzb3VyY2VgIE9ic2VydmFibGUgdmFsdWVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaW50ZXJ2YWwsIHRhcCwgbWFwLCB0YWtlLCBzaGFyZSB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHNvdXJjZSA9IGludGVydmFsKDEwMDApLnBpcGUoXG4gKiAgIHRhcCh4ID0+IGNvbnNvbGUubG9nKCdQcm9jZXNzaW5nOiAnLCB4KSksXG4gKiAgIG1hcCh4ID0+IHggKiB4KSxcbiAqICAgdGFrZSg2KSxcbiAqICAgc2hhcmUoKVxuICogKTtcbiAqXG4gKiBzb3VyY2Uuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coJ3N1YnNjcmlwdGlvbiAxOiAnLCB4KSk7XG4gKiBzb3VyY2Uuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coJ3N1YnNjcmlwdGlvbiAyOiAnLCB4KSk7XG4gKlxuICogLy8gTG9nczpcbiAqIC8vIFByb2Nlc3Npbmc6IDBcbiAqIC8vIHN1YnNjcmlwdGlvbiAxOiAwXG4gKiAvLyBzdWJzY3JpcHRpb24gMjogMFxuICogLy8gUHJvY2Vzc2luZzogMVxuICogLy8gc3Vic2NyaXB0aW9uIDE6IDFcbiAqIC8vIHN1YnNjcmlwdGlvbiAyOiAxXG4gKiAvLyBQcm9jZXNzaW5nOiAyXG4gKiAvLyBzdWJzY3JpcHRpb24gMTogNFxuICogLy8gc3Vic2NyaXB0aW9uIDI6IDRcbiAqIC8vIFByb2Nlc3Npbmc6IDNcbiAqIC8vIHN1YnNjcmlwdGlvbiAxOiA5XG4gKiAvLyBzdWJzY3JpcHRpb24gMjogOVxuICogLy8gUHJvY2Vzc2luZzogNFxuICogLy8gc3Vic2NyaXB0aW9uIDE6IDE2XG4gKiAvLyBzdWJzY3JpcHRpb24gMjogMTZcbiAqIC8vIFByb2Nlc3Npbmc6IDVcbiAqIC8vIHN1YnNjcmlwdGlvbiAxOiAyNVxuICogLy8gc3Vic2NyaXB0aW9uIDI6IDI1XG4gKiBgYGBcbiAqXG4gKiAjIyBFeGFtcGxlIHdpdGggbm90aWZpZXIgZmFjdG9yeTogRGVsYXllZCByZXNldFxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBpbnRlcnZhbCwgdGFrZSwgc2hhcmUsIHRpbWVyIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3Qgc291cmNlID0gaW50ZXJ2YWwoMTAwMCkucGlwZShcbiAqICAgdGFrZSgzKSxcbiAqICAgc2hhcmUoe1xuICogICAgIHJlc2V0T25SZWZDb3VudFplcm86ICgpID0+IHRpbWVyKDEwMDApXG4gKiAgIH0pXG4gKiApO1xuICpcbiAqIGNvbnN0IHN1YnNjcmlwdGlvbk9uZSA9IHNvdXJjZS5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZygnc3Vic2NyaXB0aW9uIDE6ICcsIHgpKTtcbiAqIHNldFRpbWVvdXQoKCkgPT4gc3Vic2NyaXB0aW9uT25lLnVuc3Vic2NyaWJlKCksIDEzMDApO1xuICpcbiAqIHNldFRpbWVvdXQoKCkgPT4gc291cmNlLnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKCdzdWJzY3JpcHRpb24gMjogJywgeCkpLCAxNzAwKTtcbiAqXG4gKiBzZXRUaW1lb3V0KCgpID0+IHNvdXJjZS5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZygnc3Vic2NyaXB0aW9uIDM6ICcsIHgpKSwgNTAwMCk7XG4gKlxuICogLy8gTG9nczpcbiAqIC8vIHN1YnNjcmlwdGlvbiAxOiAgMFxuICogLy8gKHN1YnNjcmlwdGlvbiAxIHVuc3Vic2NyaWJlcyBoZXJlKVxuICogLy8gKHN1YnNjcmlwdGlvbiAyIHN1YnNjcmliZXMgaGVyZSB+NDAwbXMgbGF0ZXIsIHNvdXJjZSB3YXMgbm90IHJlc2V0KVxuICogLy8gc3Vic2NyaXB0aW9uIDI6ICAxXG4gKiAvLyBzdWJzY3JpcHRpb24gMjogIDJcbiAqIC8vIChzdWJzY3JpcHRpb24gMiB1bnN1YnNjcmliZXMgaGVyZSlcbiAqIC8vIChzdWJzY3JpcHRpb24gMyBzdWJzY3JpYmVzIGhlcmUgfjIwMDBtcyBsYXRlciwgc291cmNlIGRpZCByZXNldCBiZWZvcmUpXG4gKiAvLyBzdWJzY3JpcHRpb24gMzogIDBcbiAqIC8vIHN1YnNjcmlwdGlvbiAzOiAgMVxuICogLy8gc3Vic2NyaXB0aW9uIDM6ICAyXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBzaGFyZVJlcGxheX1cbiAqXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBtaXJyb3JzIHRoZSBzb3VyY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzaGFyZTxUPihvcHRpb25zOiBTaGFyZUNvbmZpZzxUPiA9IHt9KTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgY29uc3QgeyBjb25uZWN0b3IgPSAoKSA9PiBuZXcgU3ViamVjdDxUPigpLCByZXNldE9uRXJyb3IgPSB0cnVlLCByZXNldE9uQ29tcGxldGUgPSB0cnVlLCByZXNldE9uUmVmQ291bnRaZXJvID0gdHJ1ZSB9ID0gb3B0aW9ucztcbiAgLy8gSXQncyBuZWNlc3NhcnkgdG8gdXNlIGEgd3JhcHBlciBoZXJlLCBhcyB0aGUgX29wZXJhdG9yXyBtdXN0IGJlXG4gIC8vIHJlZmVyZW50aWFsbHkgdHJhbnNwYXJlbnQuIE90aGVyd2lzZSwgaXQgY2Fubm90IGJlIHVzZWQgaW4gY2FsbHMgdG8gdGhlXG4gIC8vIHN0YXRpYyBgcGlwZWAgZnVuY3Rpb24gLSB0byBjcmVhdGUgYSBwYXJ0aWFsIHBpcGVsaW5lLlxuICAvL1xuICAvLyBUaGUgX29wZXJhdG9yIGZ1bmN0aW9uXyAtIHRoZSBmdW5jdGlvbiByZXR1cm5lZCBieSB0aGUgX29wZXJhdG9yXyAtIHdpbGxcbiAgLy8gbm90IGJlIHJlZmVyZW50aWFsbHkgdHJhbnNwYXJlbnQgLSBhcyBpdCBzaGFyZXMgaXRzIHNvdXJjZSAtIGJ1dCB0aGVcbiAgLy8gX29wZXJhdG9yIGZ1bmN0aW9uXyBpcyBjYWxsZWQgd2hlbiB0aGUgY29tcGxldGUgcGlwZWxpbmUgaXMgY29tcG9zZWQgdmlhIGFcbiAgLy8gY2FsbCB0byBhIHNvdXJjZSBvYnNlcnZhYmxlJ3MgYHBpcGVgIG1ldGhvZCAtIG5vdCB3aGVuIHRoZSBzdGF0aWMgYHBpcGVgXG4gIC8vIGZ1bmN0aW9uIGlzIGNhbGxlZC5cbiAgcmV0dXJuICh3cmFwcGVyU291cmNlKSA9PiB7XG4gICAgbGV0IGNvbm5lY3Rpb246IFNhZmVTdWJzY3JpYmVyPFQ+IHwgdW5kZWZpbmVkO1xuICAgIGxldCByZXNldENvbm5lY3Rpb246IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZDtcbiAgICBsZXQgc3ViamVjdDogU3ViamVjdExpa2U8VD4gfCB1bmRlZmluZWQ7XG4gICAgbGV0IHJlZkNvdW50ID0gMDtcbiAgICBsZXQgaGFzQ29tcGxldGVkID0gZmFsc2U7XG4gICAgbGV0IGhhc0Vycm9yZWQgPSBmYWxzZTtcblxuICAgIGNvbnN0IGNhbmNlbFJlc2V0ID0gKCkgPT4ge1xuICAgICAgcmVzZXRDb25uZWN0aW9uPy51bnN1YnNjcmliZSgpO1xuICAgICAgcmVzZXRDb25uZWN0aW9uID0gdW5kZWZpbmVkO1xuICAgIH07XG4gICAgLy8gVXNlZCB0byByZXNldCB0aGUgaW50ZXJuYWwgc3RhdGUgdG8gYSBcImNvbGRcIlxuICAgIC8vIHN0YXRlLCBhcyB0aG91Z2ggaXQgaGFkIG5ldmVyIGJlZW4gc3Vic2NyaWJlZCB0by5cbiAgICBjb25zdCByZXNldCA9ICgpID0+IHtcbiAgICAgIGNhbmNlbFJlc2V0KCk7XG4gICAgICBjb25uZWN0aW9uID0gc3ViamVjdCA9IHVuZGVmaW5lZDtcbiAgICAgIGhhc0NvbXBsZXRlZCA9IGhhc0Vycm9yZWQgPSBmYWxzZTtcbiAgICB9O1xuICAgIGNvbnN0IHJlc2V0QW5kVW5zdWJzY3JpYmUgPSAoKSA9PiB7XG4gICAgICAvLyBXZSBuZWVkIHRvIGNhcHR1cmUgdGhlIGNvbm5lY3Rpb24gYmVmb3JlXG4gICAgICAvLyB3ZSByZXNldCAoaWYgd2UgbmVlZCB0byByZXNldCkuXG4gICAgICBjb25zdCBjb25uID0gY29ubmVjdGlvbjtcbiAgICAgIHJlc2V0KCk7XG4gICAgICBjb25uPy51bnN1YnNjcmliZSgpO1xuICAgIH07XG5cbiAgICByZXR1cm4gb3BlcmF0ZTxULCBUPigoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgICByZWZDb3VudCsrO1xuICAgICAgaWYgKCFoYXNFcnJvcmVkICYmICFoYXNDb21wbGV0ZWQpIHtcbiAgICAgICAgY2FuY2VsUmVzZXQoKTtcbiAgICAgIH1cblxuICAgICAgLy8gQ3JlYXRlIHRoZSBzdWJqZWN0IGlmIHdlIGRvbid0IGhhdmUgb25lIHlldC4gR3JhYiBhIGxvY2FsIHJlZmVyZW5jZSB0b1xuICAgICAgLy8gaXQgYXMgd2VsbCwgd2hpY2ggYXZvaWRzIG5vbi1udWxsIGFzc2VydGlvbnMgd2hlbiB1c2luZyBpdCBhbmQsIGlmIHdlXG4gICAgICAvLyBjb25uZWN0IHRvIGl0IG5vdywgdGhlbiBlcnJvci9jb21wbGV0ZSBuZWVkIGEgcmVmZXJlbmNlIGFmdGVyIGl0IHdhc1xuICAgICAgLy8gcmVzZXQuXG4gICAgICBjb25zdCBkZXN0ID0gKHN1YmplY3QgPSBzdWJqZWN0ID8/IGNvbm5lY3RvcigpKTtcblxuICAgICAgLy8gQWRkIHRoZSBmaW5hbGl6YXRpb24gZGlyZWN0bHkgdG8gdGhlIHN1YnNjcmliZXIgLSBpbnN0ZWFkIG9mIHJldHVybmluZyBpdCAtXG4gICAgICAvLyBzbyB0aGF0IHRoZSBoYW5kbGluZyBvZiB0aGUgc3Vic2NyaWJlcidzIHVuc3Vic2NyaXB0aW9uIHdpbGwgYmUgd2lyZWRcbiAgICAgIC8vIHVwIF9iZWZvcmVfIHRoZSBzdWJzY3JpcHRpb24gdG8gdGhlIHNvdXJjZSBvY2N1cnMuIFRoaXMgaXMgZG9uZSBzbyB0aGF0XG4gICAgICAvLyB0aGUgYXNzaWdubWVudCB0byB0aGUgc291cmNlIGNvbm5lY3Rpb24ncyBgY2xvc2VkYCBwcm9wZXJ0eSB3aWxsIGJlIHNlZW5cbiAgICAgIC8vIGJ5IHN5bmNocm9ub3VzIGZpcmVob3NlIHNvdXJjZXMuXG4gICAgICBzdWJzY3JpYmVyLmFkZCgoKSA9PiB7XG4gICAgICAgIHJlZkNvdW50LS07XG5cbiAgICAgICAgLy8gSWYgd2UncmUgcmVzZXR0aW5nIG9uIHJlZkNvdW50ID09PSAwLCBhbmQgaXQncyAwLCB3ZSBvbmx5IHdhbnQgdG8gZG9cbiAgICAgICAgLy8gdGhhdCBvbiBcInVuc3Vic2NyaWJlXCIsIHJlYWxseS4gUmVzZXR0aW5nIG9uIGVycm9yIG9yIGNvbXBsZXRpb24gaXMgYSBkaWZmZXJlbnRcbiAgICAgICAgLy8gY29uZmlndXJhdGlvbi5cbiAgICAgICAgaWYgKHJlZkNvdW50ID09PSAwICYmICFoYXNFcnJvcmVkICYmICFoYXNDb21wbGV0ZWQpIHtcbiAgICAgICAgICByZXNldENvbm5lY3Rpb24gPSBoYW5kbGVSZXNldChyZXNldEFuZFVuc3Vic2NyaWJlLCByZXNldE9uUmVmQ291bnRaZXJvKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIC8vIFRoZSBmb2xsb3dpbmcgbGluZSBhZGRzIHRoZSBzdWJzY3JpcHRpb24gdG8gdGhlIHN1YnNjcmliZXIgcGFzc2VkLlxuICAgICAgLy8gQmFzaWNhbGx5LCBgc3Vic2NyaWJlciA9PT0gZGVzdC5zdWJzY3JpYmUoc3Vic2NyaWJlcilgIGlzIGB0cnVlYC5cbiAgICAgIGRlc3Quc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuXG4gICAgICBpZiAoXG4gICAgICAgICFjb25uZWN0aW9uICYmXG4gICAgICAgIC8vIENoZWNrIHRoaXMgc2hhcmVSZXBsYXkgaXMgc3RpbGwgYWN0aXZhdGUgLSBpdCBjYW4gYmUgcmVzZXQgdG8gMFxuICAgICAgICAvLyBhbmQgYmUgXCJ1bnN1YnNjcmliZWRcIiBfYmVmb3JlXyBpdCBhY3R1YWxseSBzdWJzY3JpYmVzLlxuICAgICAgICAvLyBJZiB3ZSB3ZXJlIHRvIHN1YnNjcmliZSB0aGVuLCBpdCdkIGxlYWsgYW5kIGdldCBzdHVjay5cbiAgICAgICAgcmVmQ291bnQgPiAwXG4gICAgICApIHtcbiAgICAgICAgLy8gV2UgbmVlZCB0byBjcmVhdGUgYSBzdWJzY3JpYmVyIGhlcmUgLSByYXRoZXIgdGhhbiBwYXNzIGFuIG9ic2VydmVyIGFuZFxuICAgICAgICAvLyBhc3NpZ24gdGhlIHJldHVybmVkIHN1YnNjcmlwdGlvbiB0byBjb25uZWN0aW9uIC0gYmVjYXVzZSBpdCdzIHBvc3NpYmxlXG4gICAgICAgIC8vIGZvciByZWVudHJhbnQgc3Vic2NyaXB0aW9ucyB0byB0aGUgc2hhcmVkIG9ic2VydmFibGUgdG8gb2NjdXIgYW5kIGluXG4gICAgICAgIC8vIHRob3NlIHNpdHVhdGlvbnMgd2Ugd2FudCBjb25uZWN0aW9uIHRvIGJlIGFscmVhZHktYXNzaWduZWQgc28gdGhhdCB3ZVxuICAgICAgICAvLyBkb24ndCBjcmVhdGUgYW5vdGhlciBjb25uZWN0aW9uIHRvIHRoZSBzb3VyY2UuXG4gICAgICAgIGNvbm5lY3Rpb24gPSBuZXcgU2FmZVN1YnNjcmliZXIoe1xuICAgICAgICAgIG5leHQ6ICh2YWx1ZSkgPT4gZGVzdC5uZXh0KHZhbHVlKSxcbiAgICAgICAgICBlcnJvcjogKGVycikgPT4ge1xuICAgICAgICAgICAgaGFzRXJyb3JlZCA9IHRydWU7XG4gICAgICAgICAgICBjYW5jZWxSZXNldCgpO1xuICAgICAgICAgICAgcmVzZXRDb25uZWN0aW9uID0gaGFuZGxlUmVzZXQocmVzZXQsIHJlc2V0T25FcnJvciwgZXJyKTtcbiAgICAgICAgICAgIGRlc3QuZXJyb3IoZXJyKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XG4gICAgICAgICAgICBoYXNDb21wbGV0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgY2FuY2VsUmVzZXQoKTtcbiAgICAgICAgICAgIHJlc2V0Q29ubmVjdGlvbiA9IGhhbmRsZVJlc2V0KHJlc2V0LCByZXNldE9uQ29tcGxldGUpO1xuICAgICAgICAgICAgZGVzdC5jb21wbGV0ZSgpO1xuICAgICAgICAgIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBpbm5lckZyb20oc291cmNlKS5zdWJzY3JpYmUoY29ubmVjdGlvbik7XG4gICAgICB9XG4gICAgfSkod3JhcHBlclNvdXJjZSk7XG4gIH07XG59XG5cbmZ1bmN0aW9uIGhhbmRsZVJlc2V0PFQgZXh0ZW5kcyB1bmtub3duW10gPSBuZXZlcltdPihcbiAgcmVzZXQ6ICgpID0+IHZvaWQsXG4gIG9uOiBib29sZWFuIHwgKCguLi5hcmdzOiBUKSA9PiBPYnNlcnZhYmxlSW5wdXQ8YW55PiksXG4gIC4uLmFyZ3M6IFRcbik6IFN1YnNjcmlwdGlvbiB8IHVuZGVmaW5lZCB7XG4gIGlmIChvbiA9PT0gdHJ1ZSkge1xuICAgIHJlc2V0KCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKG9uID09PSBmYWxzZSkge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGNvbnN0IG9uU3Vic2NyaWJlciA9IG5ldyBTYWZlU3Vic2NyaWJlcih7XG4gICAgbmV4dDogKCkgPT4ge1xuICAgICAgb25TdWJzY3JpYmVyLnVuc3Vic2NyaWJlKCk7XG4gICAgICByZXNldCgpO1xuICAgIH0sXG4gIH0pO1xuXG4gIHJldHVybiBpbm5lckZyb20ob24oLi4uYXJncykpLnN1YnNjcmliZShvblN1YnNjcmliZXIpO1xufVxuIiwgImltcG9ydCB7IFJlcGxheVN1YmplY3QgfSBmcm9tICcuLi9SZXBsYXlTdWJqZWN0JztcbmltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgU2NoZWR1bGVyTGlrZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IHNoYXJlIH0gZnJvbSAnLi9zaGFyZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2hhcmVSZXBsYXlDb25maWcge1xuICBidWZmZXJTaXplPzogbnVtYmVyO1xuICB3aW5kb3dUaW1lPzogbnVtYmVyO1xuICByZWZDb3VudDogYm9vbGVhbjtcbiAgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNoYXJlUmVwbGF5PFQ+KGNvbmZpZzogU2hhcmVSZXBsYXlDb25maWcpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD47XG5leHBvcnQgZnVuY3Rpb24gc2hhcmVSZXBsYXk8VD4oYnVmZmVyU2l6ZT86IG51bWJlciwgd2luZG93VGltZT86IG51bWJlciwgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZSk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPjtcblxuLyoqXG4gKiBTaGFyZSBzb3VyY2UgYW5kIHJlcGxheSBzcGVjaWZpZWQgbnVtYmVyIG9mIGVtaXNzaW9ucyBvbiBzdWJzY3JpcHRpb24uXG4gKlxuICogVGhpcyBvcGVyYXRvciBpcyBhIHNwZWNpYWxpemF0aW9uIG9mIGByZXBsYXlgIHRoYXQgY29ubmVjdHMgdG8gYSBzb3VyY2Ugb2JzZXJ2YWJsZVxuICogYW5kIG11bHRpY2FzdHMgdGhyb3VnaCBhIGBSZXBsYXlTdWJqZWN0YCBjb25zdHJ1Y3RlZCB3aXRoIHRoZSBzcGVjaWZpZWQgYXJndW1lbnRzLlxuICogQSBzdWNjZXNzZnVsbHkgY29tcGxldGVkIHNvdXJjZSB3aWxsIHN0YXkgY2FjaGVkIGluIHRoZSBgc2hhcmVSZXBsYXlgZWQgb2JzZXJ2YWJsZSBmb3JldmVyLFxuICogYnV0IGFuIGVycm9yZWQgc291cmNlIGNhbiBiZSByZXRyaWVkLlxuICpcbiAqICMjIFdoeSB1c2UgYHNoYXJlUmVwbGF5YD9cbiAqXG4gKiBZb3UgZ2VuZXJhbGx5IHdhbnQgdG8gdXNlIGBzaGFyZVJlcGxheWAgd2hlbiB5b3UgaGF2ZSBzaWRlLWVmZmVjdHMgb3IgdGF4aW5nIGNvbXB1dGF0aW9uc1xuICogdGhhdCB5b3UgZG8gbm90IHdpc2ggdG8gYmUgZXhlY3V0ZWQgYW1vbmdzdCBtdWx0aXBsZSBzdWJzY3JpYmVycy5cbiAqIEl0IG1heSBhbHNvIGJlIHZhbHVhYmxlIGluIHNpdHVhdGlvbnMgd2hlcmUgeW91IGtub3cgeW91IHdpbGwgaGF2ZSBsYXRlIHN1YnNjcmliZXJzIHRvXG4gKiBhIHN0cmVhbSB0aGF0IG5lZWQgYWNjZXNzIHRvIHByZXZpb3VzbHkgZW1pdHRlZCB2YWx1ZXMuXG4gKiBUaGlzIGFiaWxpdHkgdG8gcmVwbGF5IHZhbHVlcyBvbiBzdWJzY3JpcHRpb24gaXMgd2hhdCBkaWZmZXJlbnRpYXRlcyB7QGxpbmsgc2hhcmV9IGFuZCBgc2hhcmVSZXBsYXlgLlxuICpcbiAqICMjIFJlZmVyZW5jZSBjb3VudGluZ1xuICpcbiAqIEJ5IGRlZmF1bHQgYHNoYXJlUmVwbGF5YCB3aWxsIHVzZSBgcmVmQ291bnRgIG9mIGZhbHNlLCBtZWFuaW5nIHRoYXQgaXQgd2lsbCBfbm90XyB1bnN1YnNjcmliZSB0aGVcbiAqIHNvdXJjZSB3aGVuIHRoZSByZWZlcmVuY2UgY291bnRlciBkcm9wcyB0byB6ZXJvLCBpLmUuIHRoZSBpbm5lciBgUmVwbGF5U3ViamVjdGAgd2lsbCBfbm90XyBiZSB1bnN1YnNjcmliZWRcbiAqIChhbmQgcG90ZW50aWFsbHkgcnVuIGZvciBldmVyKS5cbiAqIFRoaXMgaXMgdGhlIGRlZmF1bHQgYXMgaXQgaXMgZXhwZWN0ZWQgdGhhdCBgc2hhcmVSZXBsYXlgIGlzIG9mdGVuIHVzZWQgdG8ga2VlcCBhcm91bmQgZXhwZW5zaXZlIHRvIHNldHVwXG4gKiBvYnNlcnZhYmxlcyB3aGljaCB3ZSB3YW50IHRvIGtlZXAgcnVubmluZyBpbnN0ZWFkIG9mIGhhdmluZyB0byBkbyB0aGUgZXhwZW5zaXZlIHNldHVwIGFnYWluLlxuICpcbiAqIEFzIG9mIFJYSlMgdmVyc2lvbiA2LjQuMCBhIG5ldyBvdmVybG9hZCBzaWduYXR1cmUgd2FzIGFkZGVkIHRvIGFsbG93IGZvciBtYW51YWwgY29udHJvbCBvdmVyIHdoYXRcbiAqIGhhcHBlbnMgd2hlbiB0aGUgb3BlcmF0b3JzIGludGVybmFsIHJlZmVyZW5jZSBjb3VudGVyIGRyb3BzIHRvIHplcm8uXG4gKiBJZiBgcmVmQ291bnRgIGlzIHRydWUsIHRoZSBzb3VyY2Ugd2lsbCBiZSB1bnN1YnNjcmliZWQgZnJvbSBvbmNlIHRoZSByZWZlcmVuY2UgY291bnQgZHJvcHMgdG8gemVybywgaS5lLlxuICogdGhlIGlubmVyIGBSZXBsYXlTdWJqZWN0YCB3aWxsIGJlIHVuc3Vic2NyaWJlZC4gQWxsIG5ldyBzdWJzY3JpYmVycyB3aWxsIHJlY2VpdmUgdmFsdWUgZW1pc3Npb25zIGZyb20gYVxuICogbmV3IGBSZXBsYXlTdWJqZWN0YCB3aGljaCBpbiB0dXJuIHdpbGwgY2F1c2UgYSBuZXcgc3Vic2NyaXB0aW9uIHRvIHRoZSBzb3VyY2Ugb2JzZXJ2YWJsZS5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIEV4YW1wbGUgd2l0aCBhIHRoaXJkIHN1YnNjcmliZXIgY29taW5nIGxhdGUgdG8gdGhlIHBhcnR5XG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGludGVydmFsLCB0YWtlLCBzaGFyZVJlcGxheSB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHNoYXJlZCQgPSBpbnRlcnZhbCgyMDAwKS5waXBlKFxuICogICB0YWtlKDYpLFxuICogICBzaGFyZVJlcGxheSgzKVxuICogKTtcbiAqXG4gKiBzaGFyZWQkLnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKCdzdWIgQTogJywgeCkpO1xuICogc2hhcmVkJC5zdWJzY3JpYmUoeSA9PiBjb25zb2xlLmxvZygnc3ViIEI6ICcsIHkpKTtcbiAqXG4gKiBzZXRUaW1lb3V0KCgpID0+IHtcbiAqICAgc2hhcmVkJC5zdWJzY3JpYmUoeSA9PiBjb25zb2xlLmxvZygnc3ViIEM6ICcsIHkpKTtcbiAqIH0sIDExMDAwKTtcbiAqXG4gKiAvLyBMb2dzOlxuICogLy8gKGFmdGVyIH4yMDAwIG1zKVxuICogLy8gc3ViIEE6IDBcbiAqIC8vIHN1YiBCOiAwXG4gKiAvLyAoYWZ0ZXIgfjQwMDAgbXMpXG4gKiAvLyBzdWIgQTogMVxuICogLy8gc3ViIEI6IDFcbiAqIC8vIChhZnRlciB+NjAwMCBtcylcbiAqIC8vIHN1YiBBOiAyXG4gKiAvLyBzdWIgQjogMlxuICogLy8gKGFmdGVyIH44MDAwIG1zKVxuICogLy8gc3ViIEE6IDNcbiAqIC8vIHN1YiBCOiAzXG4gKiAvLyAoYWZ0ZXIgfjEwMDAwIG1zKVxuICogLy8gc3ViIEE6IDRcbiAqIC8vIHN1YiBCOiA0XG4gKiAvLyAoYWZ0ZXIgfjExMDAwIG1zLCBzdWIgQyBnZXRzIHRoZSBsYXN0IDMgdmFsdWVzKVxuICogLy8gc3ViIEM6IDJcbiAqIC8vIHN1YiBDOiAzXG4gKiAvLyBzdWIgQzogNFxuICogLy8gKGFmdGVyIH4xMjAwMCBtcylcbiAqIC8vIHN1YiBBOiA1XG4gKiAvLyBzdWIgQjogNVxuICogLy8gc3ViIEM6IDVcbiAqIGBgYFxuICpcbiAqIEV4YW1wbGUgZm9yIGByZWZDb3VudGAgdXNhZ2VcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgT2JzZXJ2YWJsZSwgdGFwLCBpbnRlcnZhbCwgc2hhcmVSZXBsYXksIHRha2UgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBsb2cgPSA8VD4obmFtZTogc3RyaW5nLCBzb3VyY2U6IE9ic2VydmFibGU8VD4pID0+IHNvdXJjZS5waXBlKFxuICogICB0YXAoe1xuICogICAgIHN1YnNjcmliZTogKCkgPT4gY29uc29sZS5sb2coYCR7IG5hbWUgfTogc3Vic2NyaWJlZGApLFxuICogICAgIG5leHQ6IHZhbHVlID0+IGNvbnNvbGUubG9nKGAkeyBuYW1lIH06ICR7IHZhbHVlIH1gKSxcbiAqICAgICBjb21wbGV0ZTogKCkgPT4gY29uc29sZS5sb2coYCR7IG5hbWUgfTogY29tcGxldGVkYCksXG4gKiAgICAgZmluYWxpemU6ICgpID0+IGNvbnNvbGUubG9nKGAkeyBuYW1lIH06IHVuc3Vic2NyaWJlZGApXG4gKiAgIH0pXG4gKiApO1xuICpcbiAqIGNvbnN0IG9icyQgPSBsb2coJ3NvdXJjZScsIGludGVydmFsKDEwMDApKTtcbiAqXG4gKiBjb25zdCBzaGFyZWQkID0gbG9nKCdzaGFyZWQnLCBvYnMkLnBpcGUoXG4gKiAgIHNoYXJlUmVwbGF5KHsgYnVmZmVyU2l6ZTogMSwgcmVmQ291bnQ6IHRydWUgfSksXG4gKiAgIHRha2UoMilcbiAqICkpO1xuICpcbiAqIHNoYXJlZCQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coJ3N1YiBBOiAnLCB4KSk7XG4gKiBzaGFyZWQkLnN1YnNjcmliZSh5ID0+IGNvbnNvbGUubG9nKCdzdWIgQjogJywgeSkpO1xuICpcbiAqIC8vIFBSSU5UUzpcbiAqIC8vIHNoYXJlZDogc3Vic2NyaWJlZCA8LS0gcmVmZXJlbmNlIGNvdW50ID0gMVxuICogLy8gc291cmNlOiBzdWJzY3JpYmVkXG4gKiAvLyBzaGFyZWQ6IHN1YnNjcmliZWQgPC0tIHJlZmVyZW5jZSBjb3VudCA9IDJcbiAqIC8vIHNvdXJjZTogMFxuICogLy8gc2hhcmVkOiAwXG4gKiAvLyBzdWIgQTogMFxuICogLy8gc2hhcmVkOiAwXG4gKiAvLyBzdWIgQjogMFxuICogLy8gc291cmNlOiAxXG4gKiAvLyBzaGFyZWQ6IDFcbiAqIC8vIHN1YiBBOiAxXG4gKiAvLyBzaGFyZWQ6IGNvbXBsZXRlZCA8LS0gdGFrZSgyKSBjb21wbGV0ZXMgdGhlIHN1YnNjcmlwdGlvbiBmb3Igc3ViIEFcbiAqIC8vIHNoYXJlZDogdW5zdWJzY3JpYmVkIDwtLSByZWZlcmVuY2UgY291bnQgPSAxXG4gKiAvLyBzaGFyZWQ6IDFcbiAqIC8vIHN1YiBCOiAxXG4gKiAvLyBzaGFyZWQ6IGNvbXBsZXRlZCA8LS0gdGFrZSgyKSBjb21wbGV0ZXMgdGhlIHN1YnNjcmlwdGlvbiBmb3Igc3ViIEJcbiAqIC8vIHNoYXJlZDogdW5zdWJzY3JpYmVkIDwtLSByZWZlcmVuY2UgY291bnQgPSAwXG4gKiAvLyBzb3VyY2U6IHVuc3Vic2NyaWJlZCA8LS0gcmVwbGF5U3ViamVjdCB1bnN1YnNjcmliZXMgZnJvbSBzb3VyY2Ugb2JzZXJ2YWJsZSBiZWNhdXNlIHRoZSByZWZlcmVuY2UgY291bnQgZHJvcHBlZCB0byAwIGFuZCByZWZDb3VudCBpcyB0cnVlXG4gKlxuICogLy8gSW4gY2FzZSBvZiByZWZDb3VudCBiZWluZyBmYWxzZSwgdGhlIHVuc3Vic2NyaWJlIGlzIG5ldmVyIGNhbGxlZCBvbiB0aGUgc291cmNlIGFuZCB0aGUgc291cmNlIHdvdWxkIGtlZXAgb24gZW1pdHRpbmcsIGV2ZW4gaWYgbm8gc3Vic2NyaWJlcnNcbiAqIC8vIGFyZSBsaXN0ZW5pbmcuXG4gKiAvLyBzb3VyY2U6IDJcbiAqIC8vIHNvdXJjZTogM1xuICogLy8gc291cmNlOiA0XG4gKiAvLyAuLi5cbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIHB1Ymxpc2h9XG4gKiBAc2VlIHtAbGluayBzaGFyZX1cbiAqIEBzZWUge0BsaW5rIHB1Ymxpc2hSZXBsYXl9XG4gKlxuICogQHBhcmFtIGNvbmZpZ09yQnVmZmVyU2l6ZSBNYXhpbXVtIGVsZW1lbnQgY291bnQgb2YgdGhlIHJlcGxheSBidWZmZXIgb3Ige0BsaW5rIFNoYXJlUmVwbGF5Q29uZmlnIGNvbmZpZ3VyYXRpb259XG4gKiBvYmplY3QuXG4gKiBAcGFyYW0gd2luZG93VGltZSBNYXhpbXVtIHRpbWUgbGVuZ3RoIG9mIHRoZSByZXBsYXkgYnVmZmVyIGluIG1pbGxpc2Vjb25kcy5cbiAqIEBwYXJhbSBzY2hlZHVsZXIgU2NoZWR1bGVyIHdoZXJlIGNvbm5lY3RlZCBvYnNlcnZlcnMgd2l0aGluIHRoZSBzZWxlY3RvciBmdW5jdGlvblxuICogd2lsbCBiZSBpbnZva2VkIG9uLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHNlcXVlbmNlIHRoYXQgY29udGFpbnMgdGhlXG4gKiBlbGVtZW50cyBvZiBhIHNlcXVlbmNlIHByb2R1Y2VkIGJ5IG11bHRpY2FzdGluZyB0aGUgc291cmNlIHNlcXVlbmNlIHdpdGhpbiBhXG4gKiBzZWxlY3RvciBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNoYXJlUmVwbGF5PFQ+KFxuICBjb25maWdPckJ1ZmZlclNpemU/OiBTaGFyZVJlcGxheUNvbmZpZyB8IG51bWJlcixcbiAgd2luZG93VGltZT86IG51bWJlcixcbiAgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZVxuKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgbGV0IGJ1ZmZlclNpemU6IG51bWJlcjtcbiAgbGV0IHJlZkNvdW50ID0gZmFsc2U7XG4gIGlmIChjb25maWdPckJ1ZmZlclNpemUgJiYgdHlwZW9mIGNvbmZpZ09yQnVmZmVyU2l6ZSA9PT0gJ29iamVjdCcpIHtcbiAgICAoeyBidWZmZXJTaXplID0gSW5maW5pdHksIHdpbmRvd1RpbWUgPSBJbmZpbml0eSwgcmVmQ291bnQgPSBmYWxzZSwgc2NoZWR1bGVyIH0gPSBjb25maWdPckJ1ZmZlclNpemUpO1xuICB9IGVsc2Uge1xuICAgIGJ1ZmZlclNpemUgPSAoY29uZmlnT3JCdWZmZXJTaXplID8/IEluZmluaXR5KSBhcyBudW1iZXI7XG4gIH1cbiAgcmV0dXJuIHNoYXJlPFQ+KHtcbiAgICBjb25uZWN0b3I6ICgpID0+IG5ldyBSZXBsYXlTdWJqZWN0KGJ1ZmZlclNpemUsIHdpbmRvd1RpbWUsIHNjaGVkdWxlciksXG4gICAgcmVzZXRPbkVycm9yOiB0cnVlLFxuICAgIHJlc2V0T25Db21wbGV0ZTogZmFsc2UsXG4gICAgcmVzZXRPblJlZkNvdW50WmVybzogcmVmQ291bnQsXG4gIH0pO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICcuLi9PYnNlcnZhYmxlJztcbmltcG9ydCB7IEVtcHR5RXJyb3IgfSBmcm9tICcuLi91dGlsL0VtcHR5RXJyb3InO1xuXG5pbXBvcnQgeyBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9wZXJhdG9yRnVuY3Rpb24sIFRydXRoeVR5cGVzT2YgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBTZXF1ZW5jZUVycm9yIH0gZnJvbSAnLi4vdXRpbC9TZXF1ZW5jZUVycm9yJztcbmltcG9ydCB7IE5vdEZvdW5kRXJyb3IgfSBmcm9tICcuLi91dGlsL05vdEZvdW5kRXJyb3InO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIgfSBmcm9tICcuL09wZXJhdG9yU3Vic2NyaWJlcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBzaW5nbGU8VD4ocHJlZGljYXRlOiBCb29sZWFuQ29uc3RydWN0b3IpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFRydXRoeVR5cGVzT2Y8VD4+O1xuZXhwb3J0IGZ1bmN0aW9uIHNpbmdsZTxUPihwcmVkaWNhdGU/OiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgPT4gYm9vbGVhbik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPjtcblxuLyoqXG4gKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgdGhhdCBhc3NlcnRzIHRoYXQgb25seSBvbmUgdmFsdWUgaXNcbiAqIGVtaXR0ZWQgZnJvbSB0aGUgb2JzZXJ2YWJsZSB0aGF0IG1hdGNoZXMgdGhlIHByZWRpY2F0ZS4gSWYgbm9cbiAqIHByZWRpY2F0ZSBpcyBwcm92aWRlZCwgdGhlbiBpdCB3aWxsIGFzc2VydCB0aGF0IHRoZSBvYnNlcnZhYmxlXG4gKiBvbmx5IGVtaXRzIG9uZSB2YWx1ZS5cbiAqXG4gKiBJbiB0aGUgZXZlbnQgdGhhdCB0aGUgb2JzZXJ2YWJsZSBpcyBlbXB0eSwgaXQgd2lsbCB0aHJvdyBhblxuICoge0BsaW5rIEVtcHR5RXJyb3J9LlxuICpcbiAqIEluIHRoZSBldmVudCB0aGF0IHR3byB2YWx1ZXMgYXJlIGZvdW5kIHRoYXQgbWF0Y2ggdGhlIHByZWRpY2F0ZSxcbiAqIG9yIHdoZW4gdGhlcmUgYXJlIHR3byB2YWx1ZXMgZW1pdHRlZCBhbmQgbm8gcHJlZGljYXRlLCBpdCB3aWxsXG4gKiB0aHJvdyBhIHtAbGluayBTZXF1ZW5jZUVycm9yfVxuICpcbiAqIEluIHRoZSBldmVudCB0aGF0IG5vIHZhbHVlcyBtYXRjaCB0aGUgcHJlZGljYXRlLCBpZiBvbmUgaXMgcHJvdmlkZWQsXG4gKiBpdCB3aWxsIHRocm93IGEge0BsaW5rIE5vdEZvdW5kRXJyb3J9XG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIEV4cGVjdCBvbmx5IGBuYW1lYCBiZWdpbm5pbmcgd2l0aCBgJ0InYFxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBvZiwgc2luZ2xlIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3Qgc291cmNlMSA9IG9mKFxuICogIHsgbmFtZTogJ0JlbicgfSxcbiAqICB7IG5hbWU6ICdUcmFjeScgfSxcbiAqICB7IG5hbWU6ICdMYW5leScgfSxcbiAqICB7IG5hbWU6ICdMaWx5JyB9XG4gKiApO1xuICpcbiAqIHNvdXJjZTFcbiAqICAgLnBpcGUoc2luZ2xlKHggPT4geC5uYW1lLnN0YXJ0c1dpdGgoJ0InKSkpXG4gKiAgIC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiAvLyBFbWl0cyAnQmVuJ1xuICpcbiAqXG4gKiBjb25zdCBzb3VyY2UyID0gb2YoXG4gKiAgeyBuYW1lOiAnQmVuJyB9LFxuICogIHsgbmFtZTogJ1RyYWN5JyB9LFxuICogIHsgbmFtZTogJ0JyYWRsZXknIH0sXG4gKiAgeyBuYW1lOiAnTGluY29sbicgfVxuICogKTtcbiAqXG4gKiBzb3VyY2UyXG4gKiAgIC5waXBlKHNpbmdsZSh4ID0+IHgubmFtZS5zdGFydHNXaXRoKCdCJykpKVxuICogICAuc3Vic2NyaWJlKHsgZXJyb3I6IGVyciA9PiBjb25zb2xlLmVycm9yKGVycikgfSk7XG4gKiAvLyBFcnJvciBlbWl0dGVkOiBTZXF1ZW5jZUVycm9yKCdUb28gbWFueSB2YWx1ZXMgbWF0Y2gnKVxuICpcbiAqXG4gKiBjb25zdCBzb3VyY2UzID0gb2YoXG4gKiAgeyBuYW1lOiAnTGFuZXknIH0sXG4gKiAgeyBuYW1lOiAnVHJhY3knIH0sXG4gKiAgeyBuYW1lOiAnTGlseScgfSxcbiAqICB7IG5hbWU6ICdMaW5jb2xuJyB9XG4gKiApO1xuICpcbiAqIHNvdXJjZTNcbiAqICAgLnBpcGUoc2luZ2xlKHggPT4geC5uYW1lLnN0YXJ0c1dpdGgoJ0InKSkpXG4gKiAgIC5zdWJzY3JpYmUoeyBlcnJvcjogZXJyID0+IGNvbnNvbGUuZXJyb3IoZXJyKSB9KTtcbiAqIC8vIEVycm9yIGVtaXR0ZWQ6IE5vdEZvdW5kRXJyb3IoJ05vIHZhbHVlcyBtYXRjaCcpXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBmaXJzdH1cbiAqIEBzZWUge0BsaW5rIGZpbmR9XG4gKiBAc2VlIHtAbGluayBmaW5kSW5kZXh9XG4gKiBAc2VlIHtAbGluayBlbGVtZW50QXR9XG4gKlxuICogQHRocm93cyB7Tm90Rm91bmRFcnJvcn0gRGVsaXZlcnMgYW4gTm90Rm91bmRFcnJvciB0byB0aGUgT2JzZXJ2ZXIncyBgZXJyb3JgXG4gKiBjYWxsYmFjayBpZiB0aGUgT2JzZXJ2YWJsZSBjb21wbGV0ZXMgYmVmb3JlIGFueSBgbmV4dGAgbm90aWZpY2F0aW9uIHdhcyBzZW50LlxuICogQHRocm93cyB7U2VxdWVuY2VFcnJvcn0gRGVsaXZlcnMgYSBTZXF1ZW5jZUVycm9yIGlmIG1vcmUgdGhhbiBvbmUgdmFsdWUgaXMgZW1pdHRlZCB0aGF0IG1hdGNoZXMgdGhlXG4gKiBwcm92aWRlZCBwcmVkaWNhdGUuIElmIG5vIHByZWRpY2F0ZSBpcyBwcm92aWRlZCwgd2lsbCBkZWxpdmVyIGEgU2VxdWVuY2VFcnJvciBpZiBtb3JlXG4gKiB0aGFuIG9uZSB2YWx1ZSBjb21lcyBmcm9tIHRoZSBzb3VyY2VcbiAqIEBwYXJhbSB7RnVuY3Rpb259IHByZWRpY2F0ZSAtIEEgcHJlZGljYXRlIGZ1bmN0aW9uIHRvIGV2YWx1YXRlIGl0ZW1zIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHNpbmdsZSBpdGVtXG4gKiBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB0aGF0IG1hdGNoZXMgdGhlIHByZWRpY2F0ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNpbmdsZTxUPihwcmVkaWNhdGU/OiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIsIHNvdXJjZTogT2JzZXJ2YWJsZTxUPikgPT4gYm9vbGVhbik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIHJldHVybiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICBsZXQgaGFzVmFsdWUgPSBmYWxzZTtcbiAgICBsZXQgc2luZ2xlVmFsdWU6IFQ7XG4gICAgbGV0IHNlZW5WYWx1ZSA9IGZhbHNlO1xuICAgIGxldCBpbmRleCA9IDA7XG4gICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgc2VlblZhbHVlID0gdHJ1ZTtcbiAgICAgICAgICBpZiAoIXByZWRpY2F0ZSB8fCBwcmVkaWNhdGUodmFsdWUsIGluZGV4KyssIHNvdXJjZSkpIHtcbiAgICAgICAgICAgIGhhc1ZhbHVlICYmIHN1YnNjcmliZXIuZXJyb3IobmV3IFNlcXVlbmNlRXJyb3IoJ1RvbyBtYW55IG1hdGNoaW5nIHZhbHVlcycpKTtcbiAgICAgICAgICAgIGhhc1ZhbHVlID0gdHJ1ZTtcbiAgICAgICAgICAgIHNpbmdsZVZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgaWYgKGhhc1ZhbHVlKSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoc2luZ2xlVmFsdWUpO1xuICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLmVycm9yKHNlZW5WYWx1ZSA/IG5ldyBOb3RGb3VuZEVycm9yKCdObyBtYXRjaGluZyB2YWx1ZXMnKSA6IG5ldyBFbXB0eUVycm9yKCkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKVxuICAgICk7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGZpbHRlciB9IGZyb20gJy4vZmlsdGVyJztcblxuLyoqXG4gKiBSZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBza2lwcyB0aGUgZmlyc3QgYGNvdW50YCBpdGVtcyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS5cbiAqXG4gKiAhW10oc2tpcC5wbmcpXG4gKlxuICogU2tpcHMgdGhlIHZhbHVlcyB1bnRpbCB0aGUgc2VudCBub3RpZmljYXRpb25zIGFyZSBlcXVhbCBvciBsZXNzIHRoYW4gcHJvdmlkZWQgc2tpcCBjb3VudC4gSXQgcmFpc2VzXG4gKiBhbiBlcnJvciBpZiBza2lwIGNvdW50IGlzIGVxdWFsIG9yIG1vcmUgdGhhbiB0aGUgYWN0dWFsIG51bWJlciBvZiBlbWl0cyBhbmQgc291cmNlIHJhaXNlcyBhbiBlcnJvci5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogU2tpcCB0aGUgdmFsdWVzIGJlZm9yZSB0aGUgZW1pc3Npb25cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaW50ZXJ2YWwsIHNraXAgfSBmcm9tICdyeGpzJztcbiAqXG4gKiAvLyBlbWl0IGV2ZXJ5IGhhbGYgc2Vjb25kXG4gKiBjb25zdCBzb3VyY2UgPSBpbnRlcnZhbCg1MDApO1xuICogLy8gc2tpcCB0aGUgZmlyc3QgMTAgZW1pdHRlZCB2YWx1ZXNcbiAqIGNvbnN0IHJlc3VsdCA9IHNvdXJjZS5waXBlKHNraXAoMTApKTtcbiAqXG4gKiByZXN1bHQuc3Vic2NyaWJlKHZhbHVlID0+IGNvbnNvbGUubG9nKHZhbHVlKSk7XG4gKiAvLyBvdXRwdXQ6IDEwLi4uMTEuLi4xMi4uLjEzLi4uXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBsYXN0fVxuICogQHNlZSB7QGxpbmsgc2tpcFdoaWxlfVxuICogQHNlZSB7QGxpbmsgc2tpcFVudGlsfVxuICogQHNlZSB7QGxpbmsgc2tpcExhc3R9XG4gKlxuICogQHBhcmFtIHtOdW1iZXJ9IGNvdW50IC0gVGhlIG51bWJlciBvZiB0aW1lcywgaXRlbXMgZW1pdHRlZCBieSBzb3VyY2UgT2JzZXJ2YWJsZSBzaG91bGQgYmUgc2tpcHBlZC5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IHNraXBzIHRoZSBmaXJzdCBgY291bnRgXG4gKiB2YWx1ZXMgZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBza2lwPFQ+KGNvdW50OiBudW1iZXIpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICByZXR1cm4gZmlsdGVyKChfLCBpbmRleCkgPT4gY291bnQgPD0gaW5kZXgpO1xufVxuIiwgImltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGlkZW50aXR5IH0gZnJvbSAnLi4vdXRpbC9pZGVudGl0eSc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuLyoqXG4gKiBTa2lwIGEgc3BlY2lmaWVkIG51bWJlciBvZiB2YWx1ZXMgYmVmb3JlIHRoZSBjb21wbGV0aW9uIG9mIGFuIG9ic2VydmFibGUuXG4gKlxuICogIVtdKHNraXBMYXN0LnBuZylcbiAqXG4gKiBSZXR1cm5zIGFuIG9ic2VydmFibGUgdGhhdCB3aWxsIGVtaXQgdmFsdWVzIGFzIHNvb24gYXMgaXQgY2FuLCBnaXZlbiBhIG51bWJlciBvZlxuICogc2tpcHBlZCB2YWx1ZXMuIEZvciBleGFtcGxlLCBpZiB5b3UgYHNraXBMYXN0KDMpYCBvbiBhIHNvdXJjZSwgd2hlbiB0aGUgc291cmNlXG4gKiBlbWl0cyBpdHMgZm91cnRoIHZhbHVlLCB0aGUgZmlyc3QgdmFsdWUgdGhlIHNvdXJjZSBlbWl0dGVkIHdpbGwgZmluYWxseSBiZSBlbWl0dGVkXG4gKiBmcm9tIHRoZSByZXR1cm5lZCBvYnNlcnZhYmxlLCBhcyBpdCBpcyBubyBsb25nZXIgcGFydCBvZiB3aGF0IG5lZWRzIHRvIGJlIHNraXBwZWQuXG4gKlxuICogQWxsIHZhbHVlcyBlbWl0dGVkIGJ5IHRoZSByZXN1bHQgb2YgYHNraXBMYXN0KE4pYCB3aWxsIGJlIGRlbGF5ZWQgYnkgYE5gIGVtaXNzaW9ucyxcbiAqIGFzIGVhY2ggdmFsdWUgaXMgaGVsZCBpbiBhIGJ1ZmZlciB1bnRpbCBlbm91Z2ggdmFsdWVzIGhhdmUgYmVlbiBlbWl0dGVkIHRoYXQgdGhhdFxuICogdGhlIGJ1ZmZlcmVkIHZhbHVlIG1heSBmaW5hbGx5IGJlIHNlbnQgdG8gdGhlIGNvbnN1bWVyLlxuICpcbiAqIEFmdGVyIHN1YnNjcmliaW5nLCB1bnN1YnNjcmliaW5nIHdpbGwgbm90IHJlc3VsdCBpbiB0aGUgZW1pc3Npb24gb2YgdGhlIGJ1ZmZlcmVkXG4gKiBza2lwcGVkIHZhbHVlcy5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogU2tpcCB0aGUgbGFzdCAyIHZhbHVlcyBvZiBhbiBvYnNlcnZhYmxlIHdpdGggbWFueSB2YWx1ZXNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgb2YsIHNraXBMYXN0IH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgbnVtYmVycyA9IG9mKDEsIDIsIDMsIDQsIDUpO1xuICogY29uc3Qgc2tpcExhc3RUd28gPSBudW1iZXJzLnBpcGUoc2tpcExhc3QoMikpO1xuICogc2tpcExhc3RUd28uc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIFJlc3VsdHMgaW46XG4gKiAvLyAxIDIgM1xuICogLy8gKDQgYW5kIDUgYXJlIHNraXBwZWQpXG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBza2lwfVxuICogQHNlZSB7QGxpbmsgc2tpcFVudGlsfVxuICogQHNlZSB7QGxpbmsgc2tpcFdoaWxlfVxuICogQHNlZSB7QGxpbmsgdGFrZX1cbiAqXG4gKiBAcGFyYW0gc2tpcENvdW50IE51bWJlciBvZiBlbGVtZW50cyB0byBza2lwIGZyb20gdGhlIGVuZCBvZiB0aGUgc291cmNlIE9ic2VydmFibGUuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBza2lwcyB0aGUgbGFzdCBgY291bnRgXG4gKiB2YWx1ZXMgZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBza2lwTGFzdDxUPihza2lwQ291bnQ6IG51bWJlcik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIHJldHVybiBza2lwQ291bnQgPD0gMFxuICAgID8gLy8gRm9yIHNraXBDb3VudHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvIHplcm8sIHdlIGFyZSBqdXN0IG1pcnJvcmluZyB0aGUgc291cmNlLlxuICAgICAgaWRlbnRpdHlcbiAgICA6IG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAvLyBBIHJpbmcgYnVmZmVyIHRvIGhvbGQgdGhlIHZhbHVlcyB3aGlsZSB3ZSB3YWl0IHRvIHNlZVxuICAgICAgICAvLyBpZiB3ZSBjYW4gZW1pdCBpdCBvciBpdCdzIHBhcnQgb2YgdGhlIFwic2tpcHBlZFwiIGxhc3QgdmFsdWVzLlxuICAgICAgICAvLyBOb3RlIHRoYXQgaXQgaXMgdGhlIF9zYW1lIHNpemVfIGFzIHRoZSBza2lwIGNvdW50LlxuICAgICAgICBsZXQgcmluZzogVFtdID0gbmV3IEFycmF5KHNraXBDb3VudCk7XG4gICAgICAgIC8vIFRoZSBudW1iZXIgb2YgdmFsdWVzIHNlZW4gc28gZmFyLiBUaGlzIGlzIHVzZWQgdG8gZ2V0XG4gICAgICAgIC8vIHRoZSBpbmRleCBvZiB0aGUgY3VycmVudCB2YWx1ZSB3aGVuIGl0IGFycml2ZXMuXG4gICAgICAgIGxldCBzZWVuID0gMDtcbiAgICAgICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgICAgICBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoc3Vic2NyaWJlciwgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAvLyBHZXQgdGhlIGluZGV4IG9mIHRoZSB2YWx1ZSB3ZSBoYXZlIHJpZ2h0IG5vd1xuICAgICAgICAgICAgLy8gcmVsYXRpdmUgdG8gYWxsIG90aGVyIHZhbHVlcyB3ZSd2ZSBzZWVuLCB0aGVuXG4gICAgICAgICAgICAvLyBpbmNyZW1lbnQgYHNlZW5gLiBUaGlzIGVuc3VyZXMgd2UndmUgbW92ZWQgdG9cbiAgICAgICAgICAgIC8vIHRoZSBuZXh0IHNsb3QgaW4gb3VyIHJpbmcgYnVmZmVyLlxuICAgICAgICAgICAgY29uc3QgdmFsdWVJbmRleCA9IHNlZW4rKztcbiAgICAgICAgICAgIGlmICh2YWx1ZUluZGV4IDwgc2tpcENvdW50KSB7XG4gICAgICAgICAgICAgIC8vIElmIHdlIGhhdmVuJ3Qgc2VlbiBlbm91Z2ggdmFsdWVzIHRvIGZpbGwgb3VyIGJ1ZmZlciB5ZXQsXG4gICAgICAgICAgICAgIC8vIFRoZW4gd2UgYXJlbid0IHRvIGEgbnVtYmVyIG9mIHNlZW4gdmFsdWVzIHdoZXJlIHdlIGNhblxuICAgICAgICAgICAgICAvLyBlbWl0IGFueXRoaW5nLCBzbyBsZXQncyBqdXN0IHN0YXJ0IGJ5IGZpbGxpbmcgdGhlIHJpbmcgYnVmZmVyLlxuICAgICAgICAgICAgICByaW5nW3ZhbHVlSW5kZXhdID0gdmFsdWU7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAvLyBXZSBhcmUgdHJhdmVyc2luZyBvdmVyIHRoZSByaW5nIGFycmF5IGluIHN1Y2hcbiAgICAgICAgICAgICAgLy8gYSB3YXkgdGhhdCB3aGVuIHdlIGdldCB0byB0aGUgZW5kLCB3ZSBsb29wIGJhY2tcbiAgICAgICAgICAgICAgLy8gYW5kIGdvIHRvIHRoZSBzdGFydC5cbiAgICAgICAgICAgICAgY29uc3QgaW5kZXggPSB2YWx1ZUluZGV4ICUgc2tpcENvdW50O1xuICAgICAgICAgICAgICAvLyBQdWxsIHRoZSBvbGRlc3QgdmFsdWUgb3V0IHNvIHdlIGNhbiBlbWl0IGl0LFxuICAgICAgICAgICAgICAvLyBhbmQgc3R1ZmYgdGhlIG5ldyB2YWx1ZSBpbiBpdCdzIHBsYWNlLlxuICAgICAgICAgICAgICBjb25zdCBvbGRWYWx1ZSA9IHJpbmdbaW5kZXhdO1xuICAgICAgICAgICAgICByaW5nW2luZGV4XSA9IHZhbHVlO1xuICAgICAgICAgICAgICAvLyBFbWl0IHRoZSBvbGQgdmFsdWUuIEl0IGlzIGltcG9ydGFudCB0aGF0IHRoaXMgaGFwcGVuc1xuICAgICAgICAgICAgICAvLyBhZnRlciB3ZSBzd2FwIHRoZSB2YWx1ZSBpbiB0aGUgYnVmZmVyLCBpZiBpdCBoYXBwZW5zXG4gICAgICAgICAgICAgIC8vIGJlZm9yZSB3ZSBzd2FwIHRoZSB2YWx1ZSBpbiB0aGUgYnVmZmVyLCB0aGVuIGEgc3luY2hyb25vdXNcbiAgICAgICAgICAgICAgLy8gc291cmNlIGNhbiBnZXQgdGhlIGJ1ZmZlciBvdXQgb2Ygd2hhY2suXG4gICAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dChvbGRWYWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIC8vIFJlbGVhc2Ugb3VyIHZhbHVlcyBpbiBtZW1vcnlcbiAgICAgICAgICByaW5nID0gbnVsbCE7XG4gICAgICAgIH07XG4gICAgICB9KTtcbn1cbiIsICJpbXBvcnQgeyBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi9PcGVyYXRvclN1YnNjcmliZXInO1xuaW1wb3J0IHsgaW5uZXJGcm9tIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9pbm5lckZyb20nO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uL3V0aWwvbm9vcCc7XG5cbi8qKlxuICogUmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgc2tpcHMgaXRlbXMgZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUgdW50aWwgYSBzZWNvbmQgT2JzZXJ2YWJsZSBlbWl0cyBhbiBpdGVtLlxuICpcbiAqIFRoZSBgc2tpcFVudGlsYCBvcGVyYXRvciBjYXVzZXMgdGhlIG9ic2VydmFibGUgc3RyZWFtIHRvIHNraXAgdGhlIGVtaXNzaW9uIG9mIHZhbHVlcyB1bnRpbCB0aGUgcGFzc2VkIGluIG9ic2VydmFibGVcbiAqIGVtaXRzIHRoZSBmaXJzdCB2YWx1ZS4gVGhpcyBjYW4gYmUgcGFydGljdWxhcmx5IHVzZWZ1bCBpbiBjb21iaW5hdGlvbiB3aXRoIHVzZXIgaW50ZXJhY3Rpb25zLCByZXNwb25zZXMgb2YgSFRUUFxuICogcmVxdWVzdHMgb3Igd2FpdGluZyBmb3Igc3BlY2lmaWMgdGltZXMgdG8gcGFzcyBieS5cbiAqXG4gKiAhW10oc2tpcFVudGlsLnBuZylcbiAqXG4gKiBJbnRlcm5hbGx5LCB0aGUgYHNraXBVbnRpbGAgb3BlcmF0b3Igc3Vic2NyaWJlcyB0byB0aGUgcGFzc2VkIGluIGBub3RpZmllcmAgYE9ic2VydmFibGVJbnB1dGAgKHdoaWNoIGdldHMgY29udmVydGVkXG4gKiB0byBhbiBPYnNlcnZhYmxlKSBpbiBvcmRlciB0byByZWNvZ25pemUgdGhlIGVtaXNzaW9uIG9mIGl0cyBmaXJzdCB2YWx1ZS4gV2hlbiBgbm90aWZpZXJgIGVtaXRzIG5leHQsIHRoZSBvcGVyYXRvclxuICogdW5zdWJzY3JpYmVzIGZyb20gaXQgYW5kIHN0YXJ0cyBlbWl0dGluZyB0aGUgdmFsdWVzIG9mIHRoZSAqc291cmNlKiBvYnNlcnZhYmxlIHVudGlsIGl0IGNvbXBsZXRlcyBvciBlcnJvcnMuIEl0XG4gKiB3aWxsIG5ldmVyIGxldCB0aGUgKnNvdXJjZSogb2JzZXJ2YWJsZSBlbWl0IGFueSB2YWx1ZXMgaWYgdGhlIGBub3RpZmllcmAgY29tcGxldGVzIG9yIHRocm93cyBhbiBlcnJvciB3aXRob3V0XG4gKiBlbWl0dGluZyBhIHZhbHVlIGJlZm9yZS5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogSW4gdGhlIGZvbGxvd2luZyBleGFtcGxlLCBhbGwgZW1pdHRlZCB2YWx1ZXMgb2YgdGhlIGludGVydmFsIG9ic2VydmFibGUgYXJlIHNraXBwZWQgdW50aWwgdGhlIHVzZXIgY2xpY2tzIGFueXdoZXJlXG4gKiB3aXRoaW4gdGhlIHBhZ2VcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaW50ZXJ2YWwsIGZyb21FdmVudCwgc2tpcFVudGlsIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgaW50ZXJ2YWxPYnNlcnZhYmxlID0gaW50ZXJ2YWwoMTAwMCk7XG4gKiBjb25zdCBjbGljayA9IGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJyk7XG4gKlxuICogY29uc3QgZW1pdEFmdGVyQ2xpY2sgPSBpbnRlcnZhbE9ic2VydmFibGUucGlwZShcbiAqICAgc2tpcFVudGlsKGNsaWNrKVxuICogKTtcbiAqIC8vIGNsaWNrZWQgYXQgNC42cy4gb3V0cHV0OiA1Li4uNi4uLjcuLi44Li4uLi4uLi4gb3JcbiAqIC8vIGNsaWNrZWQgYXQgNy4zcy4gb3V0cHV0OiA4Li4uOS4uLjEwLi4xMS4uLi4uLi5cbiAqIGVtaXRBZnRlckNsaWNrLnN1YnNjcmliZSh2YWx1ZSA9PiBjb25zb2xlLmxvZyh2YWx1ZSkpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgbGFzdH1cbiAqIEBzZWUge0BsaW5rIHNraXB9XG4gKiBAc2VlIHtAbGluayBza2lwV2hpbGV9XG4gKiBAc2VlIHtAbGluayBza2lwTGFzdH1cbiAqXG4gKiBAcGFyYW0gbm90aWZpZXIgQW4gYE9ic2VydmFibGVJbnB1dGAgdGhhdCBoYXMgdG8gZW1pdCBhbiBpdGVtIGJlZm9yZSB0aGUgc291cmNlIE9ic2VydmFibGUgZWxlbWVudHMgYmVnaW4gdG9cbiAqIGJlIG1pcnJvcmVkIGJ5IHRoZSByZXN1bHRpbmcgT2JzZXJ2YWJsZS5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IHNraXBzIGl0ZW1zIGZyb20gdGhlXG4gKiBzb3VyY2UgT2JzZXJ2YWJsZSB1bnRpbCB0aGUgYG5vdGlmaWVyYCBPYnNlcnZhYmxlIGVtaXRzIGFuIGl0ZW0sIHRoZW4gZW1pdHMgdGhlXG4gKiByZW1haW5pbmcgaXRlbXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBza2lwVW50aWw8VD4obm90aWZpZXI6IE9ic2VydmFibGVJbnB1dDxhbnk+KTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIGxldCB0YWtpbmcgPSBmYWxzZTtcblxuICAgIGNvbnN0IHNraXBTdWJzY3JpYmVyID0gY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgc3Vic2NyaWJlcixcbiAgICAgICgpID0+IHtcbiAgICAgICAgc2tpcFN1YnNjcmliZXI/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIHRha2luZyA9IHRydWU7XG4gICAgICB9LFxuICAgICAgbm9vcFxuICAgICk7XG5cbiAgICBpbm5lckZyb20obm90aWZpZXIpLnN1YnNjcmliZShza2lwU3Vic2NyaWJlcik7XG5cbiAgICBzb3VyY2Uuc3Vic2NyaWJlKGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihzdWJzY3JpYmVyLCAodmFsdWUpID0+IHRha2luZyAmJiBzdWJzY3JpYmVyLm5leHQodmFsdWUpKSk7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IEZhbHN5LCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNraXBXaGlsZTxUPihwcmVkaWNhdGU6IEJvb2xlYW5Db25zdHJ1Y3Rvcik6IE9wZXJhdG9yRnVuY3Rpb248VCwgRXh0cmFjdDxULCBGYWxzeT4gZXh0ZW5kcyBuZXZlciA/IG5ldmVyIDogVD47XG5leHBvcnQgZnVuY3Rpb24gc2tpcFdoaWxlPFQ+KHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiB0cnVlKTogT3BlcmF0b3JGdW5jdGlvbjxULCBuZXZlcj47XG5leHBvcnQgZnVuY3Rpb24gc2tpcFdoaWxlPFQ+KHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBib29sZWFuKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+O1xuXG4vKipcbiAqIFJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IHNraXBzIGFsbCBpdGVtcyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBhcyBsb25nIGFzIGEgc3BlY2lmaWVkIGNvbmRpdGlvbiBob2xkc1xuICogdHJ1ZSwgYnV0IGVtaXRzIGFsbCBmdXJ0aGVyIHNvdXJjZSBpdGVtcyBhcyBzb29uIGFzIHRoZSBjb25kaXRpb24gYmVjb21lcyBmYWxzZS5cbiAqXG4gKiAhW10oc2tpcFdoaWxlLnBuZylcbiAqXG4gKiBTa2lwcyBhbGwgdGhlIG5vdGlmaWNhdGlvbnMgd2l0aCBhIHRydXRoeSBwcmVkaWNhdGUuIEl0IHdpbGwgbm90IHNraXAgdGhlIG5vdGlmaWNhdGlvbnMgd2hlbiB0aGUgcHJlZGljYXRlIGlzIGZhbHN5LlxuICogSXQgY2FuIGFsc28gYmUgc2tpcHBlZCB1c2luZyBpbmRleC4gT25jZSB0aGUgcHJlZGljYXRlIGlzIHRydWUsIGl0IHdpbGwgbm90IGJlIGNhbGxlZCBhZ2Fpbi5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogU2tpcCBzb21lIHN1cGVyIGhlcm9lc1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tLCBza2lwV2hpbGUgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBzb3VyY2UgPSBmcm9tKFsnR3JlZW4gQXJyb3cnLCAnU3VwZXJNYW4nLCAnRmxhc2gnLCAnU3VwZXJHaXJsJywgJ0JsYWNrIENhbmFyeSddKVxuICogLy8gU2tpcCB0aGUgaGVyb2VzIHVudGlsIFN1cGVyR2lybFxuICogY29uc3QgZXhhbXBsZSA9IHNvdXJjZS5waXBlKHNraXBXaGlsZShoZXJvID0+IGhlcm8gIT09ICdTdXBlckdpcmwnKSk7XG4gKiAvLyBvdXRwdXQ6IFN1cGVyR2lybCwgQmxhY2sgQ2FuYXJ5XG4gKiBleGFtcGxlLnN1YnNjcmliZShmZW1hbGVIZXJvID0+IGNvbnNvbGUubG9nKGZlbWFsZUhlcm8pKTtcbiAqIGBgYFxuICpcbiAqIFNraXAgdmFsdWVzIGZyb20gdGhlIGFycmF5IHVudGlsIGluZGV4IDVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbSwgc2tpcFdoaWxlIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3Qgc291cmNlID0gZnJvbShbMSwgMiwgMywgNCwgNSwgNiwgNywgOSwgMTBdKTtcbiAqIGNvbnN0IGV4YW1wbGUgPSBzb3VyY2UucGlwZShza2lwV2hpbGUoKF8sIGkpID0+IGkgIT09IDUpKTtcbiAqIC8vIG91dHB1dDogNiwgNywgOSwgMTBcbiAqIGV4YW1wbGUuc3Vic2NyaWJlKHZhbHVlID0+IGNvbnNvbGUubG9nKHZhbHVlKSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBsYXN0fVxuICogQHNlZSB7QGxpbmsgc2tpcH1cbiAqIEBzZWUge0BsaW5rIHNraXBVbnRpbH1cbiAqIEBzZWUge0BsaW5rIHNraXBMYXN0fVxuICpcbiAqIEBwYXJhbSB7RnVuY3Rpb259IHByZWRpY2F0ZSAtIEEgZnVuY3Rpb24gdG8gdGVzdCBlYWNoIGl0ZW0gZW1pdHRlZCBmcm9tIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGJlZ2lucyBlbWl0dGluZyBpdGVtc1xuICogZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUgd2hlbiB0aGUgc3BlY2lmaWVkIHByZWRpY2F0ZSBiZWNvbWVzIGZhbHNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc2tpcFdoaWxlPFQ+KHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBib29sZWFuKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIGxldCB0YWtpbmcgPSBmYWxzZTtcbiAgICBsZXQgaW5kZXggPSAwO1xuICAgIHNvdXJjZS5zdWJzY3JpYmUoXG4gICAgICBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoc3Vic2NyaWJlciwgKHZhbHVlKSA9PiAodGFraW5nIHx8ICh0YWtpbmcgPSAhcHJlZGljYXRlKHZhbHVlLCBpbmRleCsrKSkpICYmIHN1YnNjcmliZXIubmV4dCh2YWx1ZSkpXG4gICAgKTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgY29uY2F0IH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9jb25jYXQnO1xuaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiwgU2NoZWR1bGVyTGlrZSwgVmFsdWVGcm9tQXJyYXkgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBwb3BTY2hlZHVsZXIgfSBmcm9tICcuLi91dGlsL2FyZ3MnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5cbi8vIERldnMgYXJlIG1vcmUgbGlrZWx5IHRvIHBhc3MgbnVsbCBvciB1bmRlZmluZWQgdGhhbiB0aGV5IGFyZSBhIHNjaGVkdWxlclxuLy8gd2l0aG91dCBhY2NvbXBhbnlpbmcgdmFsdWVzLiBUbyBtYWtlIHRoaW5ncyBlYXNpZXIgZm9yIChuYXVnaHR5KSBkZXZzIHdob1xuLy8gdXNlIHRoZSBgc3RyaWN0TnVsbENoZWNrczogZmFsc2VgIFR5cGVTY3JpcHQgY29tcGlsZXIgb3B0aW9uLCB0aGVzZVxuLy8gb3ZlcmxvYWRzIHdpdGggZXhwbGljaXQgbnVsbCBhbmQgdW5kZWZpbmVkIHZhbHVlcyBhcmUgaW5jbHVkZWQuXG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFydFdpdGg8VD4odmFsdWU6IG51bGwpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFQgfCBudWxsPjtcbmV4cG9ydCBmdW5jdGlvbiBzdGFydFdpdGg8VD4odmFsdWU6IHVuZGVmaW5lZCk6IE9wZXJhdG9yRnVuY3Rpb248VCwgVCB8IHVuZGVmaW5lZD47XG5cbi8qKiBAZGVwcmVjYXRlZCBUaGUgYHNjaGVkdWxlcmAgcGFyYW1ldGVyIHdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gVXNlIGBzY2hlZHVsZWRgIGFuZCBgY29uY2F0QWxsYC4gRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvc2NoZWR1bGVyLWFyZ3VtZW50ICovXG5leHBvcnQgZnVuY3Rpb24gc3RhcnRXaXRoPFQsIEEgZXh0ZW5kcyByZWFkb25seSB1bmtub3duW10gPSBUW10+KFxuICAuLi52YWx1ZXNBbmRTY2hlZHVsZXI6IFsuLi5BLCBTY2hlZHVsZXJMaWtlXVxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUIHwgVmFsdWVGcm9tQXJyYXk8QT4+O1xuZXhwb3J0IGZ1bmN0aW9uIHN0YXJ0V2l0aDxULCBBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdID0gVFtdPiguLi52YWx1ZXM6IEEpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFQgfCBWYWx1ZUZyb21BcnJheTxBPj47XG5cbi8qKlxuICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQsIGF0IHRoZSBtb21lbnQgb2Ygc3Vic2NyaXB0aW9uLCB3aWxsIHN5bmNocm9ub3VzbHkgZW1pdCBhbGxcbiAqIHZhbHVlcyBwcm92aWRlZCB0byB0aGlzIG9wZXJhdG9yLCB0aGVuIHN1YnNjcmliZSB0byB0aGUgc291cmNlIGFuZCBtaXJyb3IgYWxsIG9mIGl0cyBlbWlzc2lvbnNcbiAqIHRvIHN1YnNjcmliZXJzLlxuICpcbiAqIFRoaXMgaXMgYSB1c2VmdWwgd2F5IHRvIGtub3cgd2hlbiBzdWJzY3JpcHRpb24gaGFzIG9jY3VycmVkIG9uIGFuIGV4aXN0aW5nIG9ic2VydmFibGUuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkZpcnN0IGVtaXRzIGl0cyBhcmd1bWVudHMgaW4gb3JkZXIsIGFuZCB0aGVuIGFueVxuICogZW1pc3Npb25zIGZyb20gdGhlIHNvdXJjZS48L3NwYW4+XG4gKlxuICogIVtdKHN0YXJ0V2l0aC5wbmcpXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBFbWl0IGEgdmFsdWUgd2hlbiBhIHRpbWVyIHN0YXJ0cy5cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgdGltZXIsIG1hcCwgc3RhcnRXaXRoIH0gZnJvbSAncnhqcyc7XG4gKlxuICogdGltZXIoMTAwMClcbiAqICAgLnBpcGUoXG4gKiAgICAgbWFwKCgpID0+ICd0aW1lciBlbWl0JyksXG4gKiAgICAgc3RhcnRXaXRoKCd0aW1lciBzdGFydCcpXG4gKiAgIClcbiAqICAgLnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqXG4gKiAvLyByZXN1bHRzOlxuICogLy8gJ3RpbWVyIHN0YXJ0J1xuICogLy8gJ3RpbWVyIGVtaXQnXG4gKiBgYGBcbiAqXG4gKiBAcGFyYW0gdmFsdWVzIEl0ZW1zIHlvdSB3YW50IHRoZSBtb2RpZmllZCBPYnNlcnZhYmxlIHRvIGVtaXQgZmlyc3QuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBzeW5jaHJvbm91c2x5IGVtaXRzXG4gKiBwcm92aWRlZCB2YWx1ZXMgYmVmb3JlIHN1YnNjcmliaW5nIHRvIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS5cbiAqXG4gKiBAc2VlIHtAbGluayBlbmRXaXRofVxuICogQHNlZSB7QGxpbmsgZmluYWxpemV9XG4gKiBAc2VlIHtAbGluayBjb25jYXR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdGFydFdpdGg8VCwgRD4oLi4udmFsdWVzOiBEW10pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFQgfCBEPiB7XG4gIGNvbnN0IHNjaGVkdWxlciA9IHBvcFNjaGVkdWxlcih2YWx1ZXMpO1xuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgLy8gSGVyZSB3ZSBjYW4ndCBwYXNzIGB1bmRlZmluZWRgIGFzIGEgc2NoZWR1bGVyLCBiZWNhdXNlIGlmIHdlIGRpZCwgdGhlXG4gICAgLy8gY29kZSBpbnNpZGUgb2YgYGNvbmNhdGAgd291bGQgYmUgY29uZnVzZWQgYnkgdGhlIGB1bmRlZmluZWRgLCBhbmQgdHJlYXQgaXRcbiAgICAvLyBsaWtlIGFuIGludmFsaWQgb2JzZXJ2YWJsZS4gU28gd2UgaGF2ZSB0byBzcGxpdCBpdCB0d28gZGlmZmVyZW50IHdheXMuXG4gICAgKHNjaGVkdWxlciA/IGNvbmNhdCh2YWx1ZXMsIHNvdXJjZSwgc2NoZWR1bGVyKSA6IGNvbmNhdCh2YWx1ZXMsIHNvdXJjZSkpLnN1YnNjcmliZShzdWJzY3JpYmVyKTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgU3Vic2NyaWJlciB9IGZyb20gJy4uL1N1YnNjcmliZXInO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0LCBPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZlZFZhbHVlT2YgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpbm5lckZyb20gfSBmcm9tICcuLi9vYnNlcnZhYmxlL2lubmVyRnJvbSc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuLyogdHNsaW50OmRpc2FibGU6bWF4LWxpbmUtbGVuZ3RoICovXG5leHBvcnQgZnVuY3Rpb24gc3dpdGNoTWFwPFQsIE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8YW55Pj4oXG4gIHByb2plY3Q6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gT1xuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBPYnNlcnZlZFZhbHVlT2Y8Tz4+O1xuLyoqIEBkZXByZWNhdGVkIFRoZSBgcmVzdWx0U2VsZWN0b3JgIHBhcmFtZXRlciB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSBhbiBpbm5lciBgbWFwYCBpbnN0ZWFkLiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9yZXN1bHRTZWxlY3RvciAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN3aXRjaE1hcDxULCBPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PGFueT4+KFxuICBwcm9qZWN0OiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IE8sXG4gIHJlc3VsdFNlbGVjdG9yOiB1bmRlZmluZWRcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgT2JzZXJ2ZWRWYWx1ZU9mPE8+Pjtcbi8qKiBAZGVwcmVjYXRlZCBUaGUgYHJlc3VsdFNlbGVjdG9yYCBwYXJhbWV0ZXIgd2lsbCBiZSByZW1vdmVkIGluIHY4LiBVc2UgYW4gaW5uZXIgYG1hcGAgaW5zdGVhZC4gRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvcmVzdWx0U2VsZWN0b3IgKi9cbmV4cG9ydCBmdW5jdGlvbiBzd2l0Y2hNYXA8VCwgUiwgTyBleHRlbmRzIE9ic2VydmFibGVJbnB1dDxhbnk+PihcbiAgcHJvamVjdDogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBPLFxuICByZXN1bHRTZWxlY3RvcjogKG91dGVyVmFsdWU6IFQsIGlubmVyVmFsdWU6IE9ic2VydmVkVmFsdWVPZjxPPiwgb3V0ZXJJbmRleDogbnVtYmVyLCBpbm5lckluZGV4OiBudW1iZXIpID0+IFJcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgUj47XG4vKiB0c2xpbnQ6ZW5hYmxlOm1heC1saW5lLWxlbmd0aCAqL1xuXG4vKipcbiAqIFByb2plY3RzIGVhY2ggc291cmNlIHZhbHVlIHRvIGFuIE9ic2VydmFibGUgd2hpY2ggaXMgbWVyZ2VkIGluIHRoZSBvdXRwdXRcbiAqIE9ic2VydmFibGUsIGVtaXR0aW5nIHZhbHVlcyBvbmx5IGZyb20gdGhlIG1vc3QgcmVjZW50bHkgcHJvamVjdGVkIE9ic2VydmFibGUuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPk1hcHMgZWFjaCB2YWx1ZSB0byBhbiBPYnNlcnZhYmxlLCB0aGVuIGZsYXR0ZW5zIGFsbCBvZlxuICogdGhlc2UgaW5uZXIgT2JzZXJ2YWJsZXMgdXNpbmcge0BsaW5rIHN3aXRjaEFsbH0uPC9zcGFuPlxuICpcbiAqICFbXShzd2l0Y2hNYXAucG5nKVxuICpcbiAqIFJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGl0ZW1zIGJhc2VkIG9uIGFwcGx5aW5nIGEgZnVuY3Rpb24gdGhhdCB5b3VcbiAqIHN1cHBseSB0byBlYWNoIGl0ZW0gZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUsIHdoZXJlIHRoYXQgZnVuY3Rpb25cbiAqIHJldHVybnMgYW4gKHNvLWNhbGxlZCBcImlubmVyXCIpIE9ic2VydmFibGUuIEVhY2ggdGltZSBpdCBvYnNlcnZlcyBvbmUgb2YgdGhlc2VcbiAqIGlubmVyIE9ic2VydmFibGVzLCB0aGUgb3V0cHV0IE9ic2VydmFibGUgYmVnaW5zIGVtaXR0aW5nIHRoZSBpdGVtcyBlbWl0dGVkIGJ5XG4gKiB0aGF0IGlubmVyIE9ic2VydmFibGUuIFdoZW4gYSBuZXcgaW5uZXIgT2JzZXJ2YWJsZSBpcyBlbWl0dGVkLCBgc3dpdGNoTWFwYFxuICogc3RvcHMgZW1pdHRpbmcgaXRlbXMgZnJvbSB0aGUgZWFybGllci1lbWl0dGVkIGlubmVyIE9ic2VydmFibGUgYW5kIGJlZ2luc1xuICogZW1pdHRpbmcgaXRlbXMgZnJvbSB0aGUgbmV3IG9uZS4gSXQgY29udGludWVzIHRvIGJlaGF2ZSBsaWtlIHRoaXMgZm9yXG4gKiBzdWJzZXF1ZW50IGlubmVyIE9ic2VydmFibGVzLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBHZW5lcmF0ZSBuZXcgT2JzZXJ2YWJsZSBhY2NvcmRpbmcgdG8gc291cmNlIE9ic2VydmFibGUgdmFsdWVzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IG9mLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBzd2l0Y2hlZCA9IG9mKDEsIDIsIDMpLnBpcGUoc3dpdGNoTWFwKHggPT4gb2YoeCwgeCAqKiAyLCB4ICoqIDMpKSk7XG4gKiBzd2l0Y2hlZC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiAvLyBvdXRwdXRzXG4gKiAvLyAxXG4gKiAvLyAxXG4gKiAvLyAxXG4gKiAvLyAyXG4gKiAvLyA0XG4gKiAvLyA4XG4gKiAvLyAzXG4gKiAvLyA5XG4gKiAvLyAyN1xuICogYGBgXG4gKlxuICogUmVzdGFydCBhbiBpbnRlcnZhbCBPYnNlcnZhYmxlIG9uIGV2ZXJ5IGNsaWNrIGV2ZW50XG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgc3dpdGNoTWFwLCBpbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGNsaWNrcyA9IGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJyk7XG4gKiBjb25zdCByZXN1bHQgPSBjbGlja3MucGlwZShzd2l0Y2hNYXAoKCkgPT4gaW50ZXJ2YWwoMTAwMCkpKTtcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBjb25jYXRNYXB9XG4gKiBAc2VlIHtAbGluayBleGhhdXN0TWFwfVxuICogQHNlZSB7QGxpbmsgbWVyZ2VNYXB9XG4gKiBAc2VlIHtAbGluayBzd2l0Y2hBbGx9XG4gKiBAc2VlIHtAbGluayBzd2l0Y2hNYXBUb31cbiAqXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKTogT2JzZXJ2YWJsZUlucHV0fSBwcm9qZWN0IEEgZnVuY3Rpb25cbiAqIHRoYXQsIHdoZW4gYXBwbGllZCB0byBhbiBpdGVtIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlLCByZXR1cm5zIGFuXG4gKiBPYnNlcnZhYmxlLlxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHJlc3VsdCBvZlxuICogYXBwbHlpbmcgdGhlIHByb2plY3Rpb24gZnVuY3Rpb24gKGFuZCB0aGUgb3B0aW9uYWwgZGVwcmVjYXRlZFxuICogYHJlc3VsdFNlbGVjdG9yYCkgdG8gZWFjaCBpdGVtIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGFuZCB0YWtpbmdcbiAqIG9ubHkgdGhlIHZhbHVlcyBmcm9tIHRoZSBtb3N0IHJlY2VudGx5IHByb2plY3RlZCBpbm5lciBPYnNlcnZhYmxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gc3dpdGNoTWFwPFQsIFIsIE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8YW55Pj4oXG4gIHByb2plY3Q6ICh2YWx1ZTogVCwgaW5kZXg6IG51bWJlcikgPT4gTyxcbiAgcmVzdWx0U2VsZWN0b3I/OiAob3V0ZXJWYWx1ZTogVCwgaW5uZXJWYWx1ZTogT2JzZXJ2ZWRWYWx1ZU9mPE8+LCBvdXRlckluZGV4OiBudW1iZXIsIGlubmVySW5kZXg6IG51bWJlcikgPT4gUlxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBPYnNlcnZlZFZhbHVlT2Y8Tz4gfCBSPiB7XG4gIHJldHVybiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICBsZXQgaW5uZXJTdWJzY3JpYmVyOiBTdWJzY3JpYmVyPE9ic2VydmVkVmFsdWVPZjxPPj4gfCBudWxsID0gbnVsbDtcbiAgICBsZXQgaW5kZXggPSAwO1xuICAgIC8vIFdoZXRoZXIgb3Igbm90IHRoZSBzb3VyY2Ugc3Vic2NyaXB0aW9uIGhhcyBjb21wbGV0ZWRcbiAgICBsZXQgaXNDb21wbGV0ZSA9IGZhbHNlO1xuXG4gICAgLy8gV2Ugb25seSBjb21wbGV0ZSB0aGUgcmVzdWx0IGlmIHRoZSBzb3VyY2UgaXMgY29tcGxldGUgQU5EIHdlIGRvbid0IGhhdmUgYW4gYWN0aXZlIGlubmVyIHN1YnNjcmlwdGlvbi5cbiAgICAvLyBUaGlzIGlzIGNhbGxlZCBib3RoIHdoZW4gdGhlIHNvdXJjZSBjb21wbGV0ZXMgYW5kIHdoZW4gdGhlIGlubmVycyBjb21wbGV0ZS5cbiAgICBjb25zdCBjaGVja0NvbXBsZXRlID0gKCkgPT4gaXNDb21wbGV0ZSAmJiAhaW5uZXJTdWJzY3JpYmVyICYmIHN1YnNjcmliZXIuY29tcGxldGUoKTtcblxuICAgIHNvdXJjZS5zdWJzY3JpYmUoXG4gICAgICBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoXG4gICAgICAgIHN1YnNjcmliZXIsXG4gICAgICAgICh2YWx1ZSkgPT4ge1xuICAgICAgICAgIC8vIENhbmNlbCB0aGUgcHJldmlvdXMgaW5uZXIgc3Vic2NyaXB0aW9uIGlmIHRoZXJlIHdhcyBvbmVcbiAgICAgICAgICBpbm5lclN1YnNjcmliZXI/LnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgbGV0IGlubmVySW5kZXggPSAwO1xuICAgICAgICAgIGNvbnN0IG91dGVySW5kZXggPSBpbmRleCsrO1xuICAgICAgICAgIC8vIFN0YXJ0IHRoZSBuZXh0IGlubmVyIHN1YnNjcmlwdGlvblxuICAgICAgICAgIGlubmVyRnJvbShwcm9qZWN0KHZhbHVlLCBvdXRlckluZGV4KSkuc3Vic2NyaWJlKFxuICAgICAgICAgICAgKGlubmVyU3Vic2NyaWJlciA9IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgICAgICAgLy8gV2hlbiB3ZSBnZXQgYSBuZXcgaW5uZXIgdmFsdWUsIG5leHQgaXQgdGhyb3VnaC4gTm90ZSB0aGF0IHRoaXMgaXNcbiAgICAgICAgICAgICAgLy8gaGFuZGxpbmcgdGhlIGRlcHJlY2F0ZSByZXN1bHQgc2VsZWN0b3IgaGVyZS4gVGhpcyBpcyBiZWNhdXNlIHdpdGggdGhpcyBhcmNoaXRlY3R1cmVcbiAgICAgICAgICAgICAgLy8gaXQgZW5kcyB1cCBiZWluZyBzbWFsbGVyIHRoYW4gdXNpbmcgdGhlIG1hcCBvcGVyYXRvci5cbiAgICAgICAgICAgICAgKGlubmVyVmFsdWUpID0+IHN1YnNjcmliZXIubmV4dChyZXN1bHRTZWxlY3RvciA/IHJlc3VsdFNlbGVjdG9yKHZhbHVlLCBpbm5lclZhbHVlLCBvdXRlckluZGV4LCBpbm5lckluZGV4KyspIDogaW5uZXJWYWx1ZSksXG4gICAgICAgICAgICAgICgpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBUaGUgaW5uZXIgaGFzIGNvbXBsZXRlZC4gTnVsbCBvdXQgdGhlIGlubmVyIHN1YnNjcmliZXIgdG9cbiAgICAgICAgICAgICAgICAvLyBmcmVlIHVwIG1lbW9yeSBhbmQgdG8gc2lnbmFsIHRoYXQgd2UgaGF2ZSBubyBpbm5lciBzdWJzY3JpcHRpb25cbiAgICAgICAgICAgICAgICAvLyBjdXJyZW50bHkuXG4gICAgICAgICAgICAgICAgaW5uZXJTdWJzY3JpYmVyID0gbnVsbCE7XG4gICAgICAgICAgICAgICAgY2hlY2tDb21wbGV0ZSgpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApKVxuICAgICAgICAgICk7XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICBpc0NvbXBsZXRlID0gdHJ1ZTtcbiAgICAgICAgICBjaGVja0NvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBPcGVyYXRvckZ1bmN0aW9uLCBPYnNlcnZhYmxlSW5wdXQsIE9ic2VydmVkVmFsdWVPZiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJy4vc3dpdGNoTWFwJztcbmltcG9ydCB7IGlkZW50aXR5IH0gZnJvbSAnLi4vdXRpbC9pZGVudGl0eSc7XG5cbi8qKlxuICogQ29udmVydHMgYSBoaWdoZXItb3JkZXIgT2JzZXJ2YWJsZSBpbnRvIGEgZmlyc3Qtb3JkZXIgT2JzZXJ2YWJsZVxuICogcHJvZHVjaW5nIHZhbHVlcyBvbmx5IGZyb20gdGhlIG1vc3QgcmVjZW50IG9ic2VydmFibGUgc2VxdWVuY2VcbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+RmxhdHRlbnMgYW4gT2JzZXJ2YWJsZS1vZi1PYnNlcnZhYmxlcy48L3NwYW4+XG4gKlxuICogIVtdKHN3aXRjaEFsbC5wbmcpXG4gKlxuICogYHN3aXRjaEFsbGAgc3Vic2NyaWJlcyB0byBhIHNvdXJjZSB0aGF0IGlzIGFuIG9ic2VydmFibGUgb2Ygb2JzZXJ2YWJsZXMsIGFsc28ga25vd24gYXMgYVxuICogXCJoaWdoZXItb3JkZXIgb2JzZXJ2YWJsZVwiIChvciBgT2JzZXJ2YWJsZTxPYnNlcnZhYmxlPFQ+PmApLiBJdCBzdWJzY3JpYmVzIHRvIHRoZSBtb3N0IHJlY2VudGx5XG4gKiBwcm92aWRlZCBcImlubmVyIG9ic2VydmFibGVcIiBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UsIHVuc3Vic2NyaWJpbmcgZnJvbSBhbnkgcHJldmlvdXNseSBzdWJzY3JpYmVkXG4gKiB0byBpbm5lciBvYnNlcnZhYmxlLCBzdWNoIHRoYXQgb25seSB0aGUgbW9zdCByZWNlbnQgaW5uZXIgb2JzZXJ2YWJsZSBtYXkgYmUgc3Vic2NyaWJlZCB0byBhdFxuICogYW55IHBvaW50IGluIHRpbWUuIFRoZSByZXN1bHRpbmcgb2JzZXJ2YWJsZSByZXR1cm5lZCBieSBgc3dpdGNoQWxsYCB3aWxsIG9ubHkgY29tcGxldGUgaWYgdGhlXG4gKiBzb3VyY2Ugb2JzZXJ2YWJsZSBjb21wbGV0ZXMsICphbmQqIGFueSBjdXJyZW50bHkgc3Vic2NyaWJlZCB0byBpbm5lciBvYnNlcnZhYmxlIGFsc28gaGFzIGNvbXBsZXRlZCxcbiAqIGlmIHRoZXJlIGFyZSBhbnkuXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBTcGF3biBhIG5ldyBpbnRlcnZhbCBvYnNlcnZhYmxlIGZvciBlYWNoIGNsaWNrIGV2ZW50LCBidXQgZm9yIGV2ZXJ5IG5ld1xuICogY2xpY2ssIGNhbmNlbCB0aGUgcHJldmlvdXMgaW50ZXJ2YWwgYW5kIHN1YnNjcmliZSB0byB0aGUgbmV3IG9uZVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIHRhcCwgbWFwLCBpbnRlcnZhbCwgc3dpdGNoQWxsIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKS5waXBlKHRhcCgoKSA9PiBjb25zb2xlLmxvZygnY2xpY2snKSkpO1xuICogY29uc3Qgc291cmNlID0gY2xpY2tzLnBpcGUobWFwKCgpID0+IGludGVydmFsKDEwMDApKSk7XG4gKlxuICogc291cmNlXG4gKiAgIC5waXBlKHN3aXRjaEFsbCgpKVxuICogICAuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICpcbiAqIC8vIE91dHB1dFxuICogLy8gY2xpY2tcbiAqIC8vIDBcbiAqIC8vIDFcbiAqIC8vIDJcbiAqIC8vIDNcbiAqIC8vIC4uLlxuICogLy8gY2xpY2tcbiAqIC8vIDBcbiAqIC8vIDFcbiAqIC8vIDJcbiAqIC8vIC4uLlxuICogLy8gY2xpY2tcbiAqIC8vIC4uLlxuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgY29tYmluZUxhdGVzdEFsbH1cbiAqIEBzZWUge0BsaW5rIGNvbmNhdEFsbH1cbiAqIEBzZWUge0BsaW5rIGV4aGF1c3RBbGx9XG4gKiBAc2VlIHtAbGluayBzd2l0Y2hNYXB9XG4gKiBAc2VlIHtAbGluayBzd2l0Y2hNYXBUb31cbiAqIEBzZWUge0BsaW5rIG1lcmdlQWxsfVxuICpcbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGNvbnZlcnRzIGEgaGlnaGVyLW9yZGVyXG4gKiBPYnNlcnZhYmxlIGludG8gYSBmaXJzdC1vcmRlciBPYnNlcnZhYmxlIHByb2R1Y2luZyB2YWx1ZXMgb25seSBmcm9tIHRoZSBtb3N0XG4gKiByZWNlbnQgT2JzZXJ2YWJsZSBzZXF1ZW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN3aXRjaEFsbDxPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PGFueT4+KCk6IE9wZXJhdG9yRnVuY3Rpb248TywgT2JzZXJ2ZWRWYWx1ZU9mPE8+PiB7XG4gIHJldHVybiBzd2l0Y2hNYXAoaWRlbnRpdHkpO1xufVxuIiwgImltcG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJy4vc3dpdGNoTWFwJztcbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCwgT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2ZWRWYWx1ZU9mIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWwvaXNGdW5jdGlvbic7XG5cbi8qKiBAZGVwcmVjYXRlZCBXaWxsIGJlIHJlbW92ZWQgaW4gdjkuIFVzZSB7QGxpbmsgc3dpdGNoTWFwfSBpbnN0ZWFkOiBgc3dpdGNoTWFwKCgpID0+IHJlc3VsdClgICovXG5leHBvcnQgZnVuY3Rpb24gc3dpdGNoTWFwVG88TyBleHRlbmRzIE9ic2VydmFibGVJbnB1dDx1bmtub3duPj4ob2JzZXJ2YWJsZTogTyk6IE9wZXJhdG9yRnVuY3Rpb248dW5rbm93biwgT2JzZXJ2ZWRWYWx1ZU9mPE8+Pjtcbi8qKiBAZGVwcmVjYXRlZCBUaGUgYHJlc3VsdFNlbGVjdG9yYCBwYXJhbWV0ZXIgd2lsbCBiZSByZW1vdmVkIGluIHY4LiBVc2UgYW4gaW5uZXIgYG1hcGAgaW5zdGVhZC4gRGV0YWlsczogaHR0cHM6Ly9yeGpzLmRldi9kZXByZWNhdGlvbnMvcmVzdWx0U2VsZWN0b3IgKi9cbmV4cG9ydCBmdW5jdGlvbiBzd2l0Y2hNYXBUbzxPIGV4dGVuZHMgT2JzZXJ2YWJsZUlucHV0PHVua25vd24+PihcbiAgb2JzZXJ2YWJsZTogTyxcbiAgcmVzdWx0U2VsZWN0b3I6IHVuZGVmaW5lZFxuKTogT3BlcmF0b3JGdW5jdGlvbjx1bmtub3duLCBPYnNlcnZlZFZhbHVlT2Y8Tz4+O1xuLyoqIEBkZXByZWNhdGVkIFRoZSBgcmVzdWx0U2VsZWN0b3JgIHBhcmFtZXRlciB3aWxsIGJlIHJlbW92ZWQgaW4gdjguIFVzZSBhbiBpbm5lciBgbWFwYCBpbnN0ZWFkLiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9yZXN1bHRTZWxlY3RvciAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN3aXRjaE1hcFRvPFQsIFIsIE8gZXh0ZW5kcyBPYnNlcnZhYmxlSW5wdXQ8dW5rbm93bj4+KFxuICBvYnNlcnZhYmxlOiBPLFxuICByZXN1bHRTZWxlY3RvcjogKG91dGVyVmFsdWU6IFQsIGlubmVyVmFsdWU6IE9ic2VydmVkVmFsdWVPZjxPPiwgb3V0ZXJJbmRleDogbnVtYmVyLCBpbm5lckluZGV4OiBudW1iZXIpID0+IFJcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgUj47XG5cbi8qKlxuICogUHJvamVjdHMgZWFjaCBzb3VyY2UgdmFsdWUgdG8gdGhlIHNhbWUgT2JzZXJ2YWJsZSB3aGljaCBpcyBmbGF0dGVuZWQgbXVsdGlwbGVcbiAqIHRpbWVzIHdpdGgge0BsaW5rIHN3aXRjaE1hcH0gaW4gdGhlIG91dHB1dCBPYnNlcnZhYmxlLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5JdCdzIGxpa2Uge0BsaW5rIHN3aXRjaE1hcH0sIGJ1dCBtYXBzIGVhY2ggdmFsdWVcbiAqIGFsd2F5cyB0byB0aGUgc2FtZSBpbm5lciBPYnNlcnZhYmxlLjwvc3Bhbj5cbiAqXG4gKiAhW10oc3dpdGNoTWFwVG8ucG5nKVxuICpcbiAqIE1hcHMgZWFjaCBzb3VyY2UgdmFsdWUgdG8gdGhlIGdpdmVuIE9ic2VydmFibGUgYGlubmVyT2JzZXJ2YWJsZWAgcmVnYXJkbGVzc1xuICogb2YgdGhlIHNvdXJjZSB2YWx1ZSwgYW5kIHRoZW4gZmxhdHRlbnMgdGhvc2UgcmVzdWx0aW5nIE9ic2VydmFibGVzIGludG8gb25lXG4gKiBzaW5nbGUgT2JzZXJ2YWJsZSwgd2hpY2ggaXMgdGhlIG91dHB1dCBPYnNlcnZhYmxlLiBUaGUgb3V0cHV0IE9ic2VydmFibGVzXG4gKiBlbWl0cyB2YWx1ZXMgb25seSBmcm9tIHRoZSBtb3N0IHJlY2VudGx5IGVtaXR0ZWQgaW5zdGFuY2Ugb2ZcbiAqIGBpbm5lck9ic2VydmFibGVgLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBSZXN0YXJ0IGFuIGludGVydmFsIE9ic2VydmFibGUgb24gZXZlcnkgY2xpY2sgZXZlbnRcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCBzd2l0Y2hNYXBUbywgaW50ZXJ2YWwgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgcmVzdWx0ID0gY2xpY2tzLnBpcGUoc3dpdGNoTWFwVG8oaW50ZXJ2YWwoMTAwMCkpKTtcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayBjb25jYXRNYXBUb31cbiAqIEBzZWUge0BsaW5rIHN3aXRjaEFsbH1cbiAqIEBzZWUge0BsaW5rIHN3aXRjaE1hcH1cbiAqIEBzZWUge0BsaW5rIG1lcmdlTWFwVG99XG4gKlxuICogQHBhcmFtIHtPYnNlcnZhYmxlSW5wdXR9IGlubmVyT2JzZXJ2YWJsZSBBbiBPYnNlcnZhYmxlIHRvIHJlcGxhY2UgZWFjaCB2YWx1ZSBmcm9tXG4gKiB0aGUgc291cmNlIE9ic2VydmFibGUuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBpdGVtcyBmcm9tIHRoZVxuICogZ2l2ZW4gYGlubmVyT2JzZXJ2YWJsZWAgKGFuZCBvcHRpb25hbGx5IHRyYW5zZm9ybWVkIHRocm91Z2ggdGhlIGRlcHJlY2F0ZWRcbiAqIGByZXN1bHRTZWxlY3RvcmApIGV2ZXJ5IHRpbWUgYSB2YWx1ZSBpcyBlbWl0dGVkIG9uIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSxcbiAqIGFuZCB0YWtpbmcgb25seSB0aGUgdmFsdWVzIGZyb20gdGhlIG1vc3QgcmVjZW50bHkgcHJvamVjdGVkIGlubmVyXG4gKiBPYnNlcnZhYmxlLlxuICogQGRlcHJlY2F0ZWQgV2lsbCBiZSByZW1vdmVkIGluIHY5LiBVc2Uge0BsaW5rIHN3aXRjaE1hcH0gaW5zdGVhZDogYHN3aXRjaE1hcCgoKSA9PiByZXN1bHQpYFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3dpdGNoTWFwVG88VCwgUiwgTyBleHRlbmRzIE9ic2VydmFibGVJbnB1dDx1bmtub3duPj4oXG4gIGlubmVyT2JzZXJ2YWJsZTogTyxcbiAgcmVzdWx0U2VsZWN0b3I/OiAob3V0ZXJWYWx1ZTogVCwgaW5uZXJWYWx1ZTogT2JzZXJ2ZWRWYWx1ZU9mPE8+LCBvdXRlckluZGV4OiBudW1iZXIsIGlubmVySW5kZXg6IG51bWJlcikgPT4gUlxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBPYnNlcnZlZFZhbHVlT2Y8Tz4gfCBSPiB7XG4gIHJldHVybiBpc0Z1bmN0aW9uKHJlc3VsdFNlbGVjdG9yKSA/IHN3aXRjaE1hcCgoKSA9PiBpbm5lck9ic2VydmFibGUsIHJlc3VsdFNlbGVjdG9yKSA6IHN3aXRjaE1hcCgoKSA9PiBpbm5lck9ic2VydmFibGUpO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGVJbnB1dCwgT2JzZXJ2ZWRWYWx1ZU9mLCBPcGVyYXRvckZ1bmN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgc3dpdGNoTWFwIH0gZnJvbSAnLi9zd2l0Y2hNYXAnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5cbi8vIFRPRE86IEdlbmVyYXRlIGEgbWFyYmxlIGRpYWdyYW0gZm9yIHRoZXNlIGRvY3MuXG5cbi8qKlxuICogQXBwbGllcyBhbiBhY2N1bXVsYXRvciBmdW5jdGlvbiBvdmVyIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB3aGVyZSB0aGVcbiAqIGFjY3VtdWxhdG9yIGZ1bmN0aW9uIGl0c2VsZiByZXR1cm5zIGFuIE9ic2VydmFibGUsIGVtaXR0aW5nIHZhbHVlc1xuICogb25seSBmcm9tIHRoZSBtb3N0IHJlY2VudGx5IHJldHVybmVkIE9ic2VydmFibGUuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkl0J3MgbGlrZSB7QGxpbmsgbWVyZ2VTY2FufSwgYnV0IG9ubHkgdGhlIG1vc3QgcmVjZW50XG4gKiBPYnNlcnZhYmxlIHJldHVybmVkIGJ5IHRoZSBhY2N1bXVsYXRvciBpcyBtZXJnZWQgaW50byB0aGUgb3V0ZXIgT2JzZXJ2YWJsZS48L3NwYW4+XG4gKlxuICogQHNlZSB7QGxpbmsgc2Nhbn1cbiAqIEBzZWUge0BsaW5rIG1lcmdlU2Nhbn1cbiAqIEBzZWUge0BsaW5rIHN3aXRjaE1hcH1cbiAqXG4gKiBAcGFyYW0gYWNjdW11bGF0b3JcbiAqIFRoZSBhY2N1bXVsYXRvciBmdW5jdGlvbiBjYWxsZWQgb24gZWFjaCBzb3VyY2UgdmFsdWUuXG4gKiBAcGFyYW0gc2VlZCBUaGUgaW5pdGlhbCBhY2N1bXVsYXRpb24gdmFsdWUuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIG9ic2VydmFibGUgb2YgdGhlIGFjY3VtdWxhdGVkIHZhbHVlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN3aXRjaFNjYW48VCwgUiwgTyBleHRlbmRzIE9ic2VydmFibGVJbnB1dDxhbnk+PihcbiAgYWNjdW11bGF0b3I6IChhY2M6IFIsIHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiBPLFxuICBzZWVkOiBSXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE9ic2VydmVkVmFsdWVPZjxPPj4ge1xuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgLy8gVGhlIHN0YXRlIHdlIHdpbGwga2VlcCB1cCB0byBkYXRlIHRvIHBhc3MgaW50byBvdXJcbiAgICAvLyBhY2N1bXVsYXRvciBmdW5jdGlvbiBhdCBlYWNoIG5ldyB2YWx1ZSBmcm9tIHRoZSBzb3VyY2UuXG4gICAgbGV0IHN0YXRlID0gc2VlZDtcblxuICAgIC8vIFVzZSBgc3dpdGNoTWFwYCBvbiBvdXIgYHNvdXJjZWAgdG8gZG8gdGhlIHdvcmsgb2YgY3JlYXRpbmdcbiAgICAvLyB0aGlzIG9wZXJhdG9yLiBOb3RlIHRoZSBiYWNrd2FyZHMgb3JkZXIgaGVyZSBvZiBgc3dpdGNoTWFwKCkoc291cmNlKWBcbiAgICAvLyB0byBhdm9pZCBuZWVkaW5nIHRvIHVzZSBgcGlwZWAgdW5uZWNlc3NhcmlseVxuICAgIHN3aXRjaE1hcChcbiAgICAgIC8vIE9uIGVhY2ggdmFsdWUgZnJvbSB0aGUgc291cmNlLCBjYWxsIHRoZSBhY2N1bXVsYXRvciB3aXRoXG4gICAgICAvLyBvdXIgcHJldmlvdXMgc3RhdGUsIHRoZSB2YWx1ZSBhbmQgdGhlIGluZGV4LlxuICAgICAgKHZhbHVlOiBULCBpbmRleCkgPT4gYWNjdW11bGF0b3Ioc3RhdGUsIHZhbHVlLCBpbmRleCksXG4gICAgICAvLyBVc2luZyB0aGUgZGVwcmVjYXRlZCByZXN1bHQgc2VsZWN0b3IgaGVyZSBhcyBhIGRpcnR5IHRyaWNrXG4gICAgICAvLyB0byB1cGRhdGUgb3VyIHN0YXRlIHdpdGggdGhlIGZsYXR0ZW5lZCB2YWx1ZS5cbiAgICAgIChfLCBpbm5lclZhbHVlKSA9PiAoKHN0YXRlID0gaW5uZXJWYWx1ZSksIGlubmVyVmFsdWUpXG4gICAgKShzb3VyY2UpLnN1YnNjcmliZShzdWJzY3JpYmVyKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICAvLyBSZWxlYXNlIHN0YXRlIG9uIGZpbmFsaXphdGlvblxuICAgICAgc3RhdGUgPSBudWxsITtcbiAgICB9O1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi9PcGVyYXRvclN1YnNjcmliZXInO1xuaW1wb3J0IHsgaW5uZXJGcm9tIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9pbm5lckZyb20nO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uL3V0aWwvbm9vcCc7XG5cbi8qKlxuICogRW1pdHMgdGhlIHZhbHVlcyBlbWl0dGVkIGJ5IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB1bnRpbCBhIGBub3RpZmllcmBcbiAqIE9ic2VydmFibGUgZW1pdHMgYSB2YWx1ZS5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+TGV0cyB2YWx1ZXMgcGFzcyB1bnRpbCBhIHNlY29uZCBPYnNlcnZhYmxlLFxuICogYG5vdGlmaWVyYCwgZW1pdHMgYSB2YWx1ZS4gVGhlbiwgaXQgY29tcGxldGVzLjwvc3Bhbj5cbiAqXG4gKiAhW10odGFrZVVudGlsLnBuZylcbiAqXG4gKiBgdGFrZVVudGlsYCBzdWJzY3JpYmVzIGFuZCBiZWdpbnMgbWlycm9yaW5nIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS4gSXQgYWxzb1xuICogbW9uaXRvcnMgYSBzZWNvbmQgT2JzZXJ2YWJsZSwgYG5vdGlmaWVyYCB0aGF0IHlvdSBwcm92aWRlLiBJZiB0aGUgYG5vdGlmaWVyYFxuICogZW1pdHMgYSB2YWx1ZSwgdGhlIG91dHB1dCBPYnNlcnZhYmxlIHN0b3BzIG1pcnJvcmluZyB0aGUgc291cmNlIE9ic2VydmFibGVcbiAqIGFuZCBjb21wbGV0ZXMuIElmIHRoZSBgbm90aWZpZXJgIGRvZXNuJ3QgZW1pdCBhbnkgdmFsdWUgYW5kIGNvbXBsZXRlc1xuICogdGhlbiBgdGFrZVVudGlsYCB3aWxsIHBhc3MgYWxsIHZhbHVlcy5cbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogVGljayBldmVyeSBzZWNvbmQgdW50aWwgdGhlIGZpcnN0IGNsaWNrIGhhcHBlbnNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaW50ZXJ2YWwsIGZyb21FdmVudCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3Qgc291cmNlID0gaW50ZXJ2YWwoMTAwMCk7XG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgcmVzdWx0ID0gc291cmNlLnBpcGUodGFrZVVudGlsKGNsaWNrcykpO1xuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIHRha2V9XG4gKiBAc2VlIHtAbGluayB0YWtlTGFzdH1cbiAqIEBzZWUge0BsaW5rIHRha2VXaGlsZX1cbiAqIEBzZWUge0BsaW5rIHNraXB9XG4gKlxuICogQHBhcmFtIHtPYnNlcnZhYmxlfSBub3RpZmllciBUaGUgT2JzZXJ2YWJsZSB3aG9zZSBmaXJzdCBlbWl0dGVkIHZhbHVlIHdpbGxcbiAqIGNhdXNlIHRoZSBvdXRwdXQgT2JzZXJ2YWJsZSBvZiBgdGFrZVVudGlsYCB0byBzdG9wIGVtaXR0aW5nIHZhbHVlcyBmcm9tIHRoZVxuICogc291cmNlIE9ic2VydmFibGUuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgdmFsdWVzIGZyb20gdGhlXG4gKiBzb3VyY2UgT2JzZXJ2YWJsZSB1bnRpbCBgbm90aWZpZXJgIGVtaXRzIGl0cyBmaXJzdCB2YWx1ZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRha2VVbnRpbDxUPihub3RpZmllcjogT2JzZXJ2YWJsZUlucHV0PGFueT4pOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD4ge1xuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgaW5uZXJGcm9tKG5vdGlmaWVyKS5zdWJzY3JpYmUoY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKHN1YnNjcmliZXIsICgpID0+IHN1YnNjcmliZXIuY29tcGxldGUoKSwgbm9vcCkpO1xuICAgICFzdWJzY3JpYmVyLmNsb3NlZCAmJiBzb3VyY2Uuc3Vic2NyaWJlKHN1YnNjcmliZXIpO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBPcGVyYXRvckZ1bmN0aW9uLCBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIFRydXRoeVR5cGVzT2YgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRha2VXaGlsZTxUPihwcmVkaWNhdGU6IEJvb2xlYW5Db25zdHJ1Y3RvciwgaW5jbHVzaXZlOiB0cnVlKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+O1xuZXhwb3J0IGZ1bmN0aW9uIHRha2VXaGlsZTxUPihwcmVkaWNhdGU6IEJvb2xlYW5Db25zdHJ1Y3RvciwgaW5jbHVzaXZlOiBmYWxzZSk6IE9wZXJhdG9yRnVuY3Rpb248VCwgVHJ1dGh5VHlwZXNPZjxUPj47XG5leHBvcnQgZnVuY3Rpb24gdGFrZVdoaWxlPFQ+KHByZWRpY2F0ZTogQm9vbGVhbkNvbnN0cnVjdG9yKTogT3BlcmF0b3JGdW5jdGlvbjxULCBUcnV0aHlUeXBlc09mPFQ+PjtcbmV4cG9ydCBmdW5jdGlvbiB0YWtlV2hpbGU8VCwgUyBleHRlbmRzIFQ+KHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiB2YWx1ZSBpcyBTKTogT3BlcmF0b3JGdW5jdGlvbjxULCBTPjtcbmV4cG9ydCBmdW5jdGlvbiB0YWtlV2hpbGU8VCwgUyBleHRlbmRzIFQ+KHByZWRpY2F0ZTogKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKSA9PiB2YWx1ZSBpcyBTLCBpbmNsdXNpdmU6IGZhbHNlKTogT3BlcmF0b3JGdW5jdGlvbjxULCBTPjtcbmV4cG9ydCBmdW5jdGlvbiB0YWtlV2hpbGU8VD4ocHJlZGljYXRlOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IGJvb2xlYW4sIGluY2x1c2l2ZT86IGJvb2xlYW4pOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD47XG5cbi8qKlxuICogRW1pdHMgdmFsdWVzIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHNvIGxvbmcgYXMgZWFjaCB2YWx1ZSBzYXRpc2ZpZXNcbiAqIHRoZSBnaXZlbiBgcHJlZGljYXRlYCwgYW5kIHRoZW4gY29tcGxldGVzIGFzIHNvb24gYXMgdGhpcyBgcHJlZGljYXRlYCBpcyBub3RcbiAqIHNhdGlzZmllZC5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+VGFrZXMgdmFsdWVzIGZyb20gdGhlIHNvdXJjZSBvbmx5IHdoaWxlIHRoZXkgcGFzcyB0aGVcbiAqIGNvbmRpdGlvbiBnaXZlbi4gV2hlbiB0aGUgZmlyc3QgdmFsdWUgZG9lcyBub3Qgc2F0aXNmeSwgaXQgY29tcGxldGVzLjwvc3Bhbj5cbiAqXG4gKiAhW10odGFrZVdoaWxlLnBuZylcbiAqXG4gKiBgdGFrZVdoaWxlYCBzdWJzY3JpYmVzIGFuZCBiZWdpbnMgbWlycm9yaW5nIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS4gRWFjaCB2YWx1ZVxuICogZW1pdHRlZCBvbiB0aGUgc291cmNlIGlzIGdpdmVuIHRvIHRoZSBgcHJlZGljYXRlYCBmdW5jdGlvbiB3aGljaCByZXR1cm5zIGFcbiAqIGJvb2xlYW4sIHJlcHJlc2VudGluZyBhIGNvbmRpdGlvbiB0byBiZSBzYXRpc2ZpZWQgYnkgdGhlIHNvdXJjZSB2YWx1ZXMuIFRoZVxuICogb3V0cHV0IE9ic2VydmFibGUgZW1pdHMgdGhlIHNvdXJjZSB2YWx1ZXMgdW50aWwgc3VjaCB0aW1lIGFzIHRoZSBgcHJlZGljYXRlYFxuICogcmV0dXJucyBmYWxzZSwgYXQgd2hpY2ggcG9pbnQgYHRha2VXaGlsZWAgc3RvcHMgbWlycm9yaW5nIHRoZSBzb3VyY2VcbiAqIE9ic2VydmFibGUgYW5kIGNvbXBsZXRlcyB0aGUgb3V0cHV0IE9ic2VydmFibGUuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIEVtaXQgY2xpY2sgZXZlbnRzIG9ubHkgd2hpbGUgdGhlIGNsaWVudFggcHJvcGVydHkgaXMgZ3JlYXRlciB0aGFuIDIwMFxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIHRha2VXaGlsZSB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGNsaWNrcyA9IGZyb21FdmVudDxQb2ludGVyRXZlbnQ+KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGNsaWNrcy5waXBlKHRha2VXaGlsZShldiA9PiBldi5jbGllbnRYID4gMjAwKSk7XG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgdGFrZX1cbiAqIEBzZWUge0BsaW5rIHRha2VMYXN0fVxuICogQHNlZSB7QGxpbmsgdGFrZVVudGlsfVxuICogQHNlZSB7QGxpbmsgc2tpcH1cbiAqXG4gKiBAcGFyYW0ge2Z1bmN0aW9uKHZhbHVlOiBULCBpbmRleDogbnVtYmVyKTogYm9vbGVhbn0gcHJlZGljYXRlIEEgZnVuY3Rpb24gdGhhdFxuICogZXZhbHVhdGVzIGEgdmFsdWUgZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUgYW5kIHJldHVybnMgYSBib29sZWFuLlxuICogQWxzbyB0YWtlcyB0aGUgKHplcm8tYmFzZWQpIGluZGV4IGFzIHRoZSBzZWNvbmQgYXJndW1lbnQuXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGluY2x1c2l2ZSBXaGVuIHNldCB0byBgdHJ1ZWAgdGhlIHZhbHVlIHRoYXQgY2F1c2VkXG4gKiBgcHJlZGljYXRlYCB0byByZXR1cm4gYGZhbHNlYCB3aWxsIGFsc28gYmUgZW1pdHRlZC5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHZhbHVlcyBmcm9tIHRoZVxuICogc291cmNlIE9ic2VydmFibGUgc28gbG9uZyBhcyBlYWNoIHZhbHVlIHNhdGlzZmllcyB0aGUgY29uZGl0aW9uIGRlZmluZWQgYnlcbiAqIHRoZSBgcHJlZGljYXRlYCwgdGhlbiBjb21wbGV0ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0YWtlV2hpbGU8VD4ocHJlZGljYXRlOiAodmFsdWU6IFQsIGluZGV4OiBudW1iZXIpID0+IGJvb2xlYW4sIGluY2x1c2l2ZSA9IGZhbHNlKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIGxldCBpbmRleCA9IDA7XG4gICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihzdWJzY3JpYmVyLCAodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gcHJlZGljYXRlKHZhbHVlLCBpbmRleCsrKTtcbiAgICAgICAgKHJlc3VsdCB8fCBpbmNsdXNpdmUpICYmIHN1YnNjcmliZXIubmV4dCh2YWx1ZSk7XG4gICAgICAgICFyZXN1bHQgJiYgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgfSlcbiAgICApO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmVyIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgaXNGdW5jdGlvbiB9IGZyb20gJy4uL3V0aWwvaXNGdW5jdGlvbic7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcbmltcG9ydCB7IGlkZW50aXR5IH0gZnJvbSAnLi4vdXRpbC9pZGVudGl0eSc7XG5cbi8qKlxuICogQW4gZXh0ZW5zaW9uIHRvIHRoZSB7QGxpbmsgT2JzZXJ2ZXJ9IGludGVyZmFjZSB1c2VkIG9ubHkgYnkgdGhlIHtAbGluayB0YXB9IG9wZXJhdG9yLlxuICpcbiAqIEl0IHByb3ZpZGVzIGEgdXNlZnVsIHNldCBvZiBjYWxsYmFja3MgYSB1c2VyIGNhbiByZWdpc3RlciB0byBkbyBzaWRlLWVmZmVjdHMgaW5cbiAqIGNhc2VzIG90aGVyIHRoYW4gd2hhdCB0aGUgdXN1YWwge0BsaW5rIE9ic2VydmVyfSBjYWxsYmFja3MgYXJlXG4gKiAoe0BsaW5rIGd1aWRlL2dsb3NzYXJ5LWFuZC1zZW1hbnRpY3MjbmV4dCBuZXh0fSxcbiAqIHtAbGluayBndWlkZS9nbG9zc2FyeS1hbmQtc2VtYW50aWNzI2Vycm9yIGVycm9yfSBhbmQvb3JcbiAqIHtAbGluayBndWlkZS9nbG9zc2FyeS1hbmQtc2VtYW50aWNzI2NvbXBsZXRlIGNvbXBsZXRlfSkuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIHN3aXRjaE1hcCwgdGFwLCBpbnRlcnZhbCwgdGFrZSB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHNvdXJjZSQgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgcmVzdWx0JCA9IHNvdXJjZSQucGlwZShcbiAqICAgc3dpdGNoTWFwKChfLCBpKSA9PiBpICUgMiA9PT0gMFxuICogICAgID8gZnJvbUV2ZW50KGRvY3VtZW50LCAnbW91c2Vtb3ZlJykucGlwZShcbiAqICAgICAgICAgdGFwKHtcbiAqICAgICAgICAgICBzdWJzY3JpYmU6ICgpID0+IGNvbnNvbGUubG9nKCdTdWJzY3JpYmVkIHRvIHRoZSBtb3VzZSBtb3ZlIGV2ZW50cyBhZnRlciBjbGljayAjJyArIGkpLFxuICogICAgICAgICAgIHVuc3Vic2NyaWJlOiAoKSA9PiBjb25zb2xlLmxvZygnTW91c2UgbW92ZSBldmVudHMgIycgKyBpICsgJyB1bnN1YnNjcmliZWQnKSxcbiAqICAgICAgICAgICBmaW5hbGl6ZTogKCkgPT4gY29uc29sZS5sb2coJ01vdXNlIG1vdmUgZXZlbnRzICMnICsgaSArICcgZmluYWxpemVkJylcbiAqICAgICAgICAgfSlcbiAqICAgICAgIClcbiAqICAgICA6IGludGVydmFsKDFfMDAwKS5waXBlKFxuICogICAgICAgICB0YWtlKDUpLFxuICogICAgICAgICB0YXAoe1xuICogICAgICAgICAgIHN1YnNjcmliZTogKCkgPT4gY29uc29sZS5sb2coJ1N1YnNjcmliZWQgdG8gdGhlIDEtc2Vjb25kIGludGVydmFsIGV2ZW50cyBhZnRlciBjbGljayAjJyArIGkpLFxuICogICAgICAgICAgIHVuc3Vic2NyaWJlOiAoKSA9PiBjb25zb2xlLmxvZygnMS1zZWNvbmQgaW50ZXJ2YWwgZXZlbnRzICMnICsgaSArICcgdW5zdWJzY3JpYmVkJyksXG4gKiAgICAgICAgICAgZmluYWxpemU6ICgpID0+IGNvbnNvbGUubG9nKCcxLXNlY29uZCBpbnRlcnZhbCBldmVudHMgIycgKyBpICsgJyBmaW5hbGl6ZWQnKVxuICogICAgICAgICB9KVxuICogICAgICAgKVxuICogICApXG4gKiApO1xuICpcbiAqIGNvbnN0IHN1YnNjcmlwdGlvbiA9IHJlc3VsdCQuc3Vic2NyaWJlKHtcbiAqICAgbmV4dDogY29uc29sZS5sb2dcbiAqIH0pO1xuICpcbiAqIHNldFRpbWVvdXQoKCkgPT4ge1xuICogICBjb25zb2xlLmxvZygnVW5zdWJzY3JpYmUgYWZ0ZXIgNjAgc2Vjb25kcycpO1xuICogICBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAqIH0sIDYwXzAwMCk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXBPYnNlcnZlcjxUPiBleHRlbmRzIE9ic2VydmVyPFQ+IHtcbiAgLyoqXG4gICAqIFRoZSBjYWxsYmFjayB0aGF0IGB0YXBgIG9wZXJhdG9yIGludm9rZXMgYXQgdGhlIG1vbWVudCB3aGVuIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZVxuICAgKiBnZXRzIHN1YnNjcmliZWQgdG8uXG4gICAqL1xuICBzdWJzY3JpYmU6ICgpID0+IHZvaWQ7XG4gIC8qKlxuICAgKiBUaGUgY2FsbGJhY2sgdGhhdCBgdGFwYCBvcGVyYXRvciBpbnZva2VzIHdoZW4gYW4gZXhwbGljaXRcbiAgICoge0BsaW5rIGd1aWRlL2dsb3NzYXJ5LWFuZC1zZW1hbnRpY3MjdW5zdWJzY3JpcHRpb24gdW5zdWJzY3JpYmV9IGhhcHBlbnMuIEl0IHdvbid0IGdldCBpbnZva2VkIG9uXG4gICAqIGBlcnJvcmAgb3IgYGNvbXBsZXRlYCBldmVudHMuXG4gICAqL1xuICB1bnN1YnNjcmliZTogKCkgPT4gdm9pZDtcbiAgLyoqXG4gICAqIFRoZSBjYWxsYmFjayB0aGF0IGB0YXBgIG9wZXJhdG9yIGludm9rZXMgd2hlbiBhbnkga2luZCBvZlxuICAgKiB7QGxpbmsgZ3VpZGUvZ2xvc3NhcnktYW5kLXNlbWFudGljcyNmaW5hbGl6YXRpb24gZmluYWxpemF0aW9ufSBoYXBwZW5zIC0gZWl0aGVyIHdoZW5cbiAgICogdGhlIHNvdXJjZSBPYnNlcnZhYmxlIGBlcnJvcmBzIG9yIGBjb21wbGV0ZWBzIG9yIHdoZW4gaXQgZ2V0cyBleHBsaWNpdGx5IHVuc3Vic2NyaWJlZFxuICAgKiBieSB0aGUgdXNlci4gVGhlcmUgaXMgbm8gZGlmZmVyZW5jZSBpbiB1c2luZyB0aGlzIGNhbGxiYWNrIG9yIHRoZSB7QGxpbmsgZmluYWxpemV9XG4gICAqIG9wZXJhdG9yLCBidXQgaWYgeW91J3JlIGFscmVhZHkgdXNpbmcgYHRhcGAgb3BlcmF0b3IsIHlvdSBjYW4gdXNlIHRoaXMgY2FsbGJhY2tcbiAgICogaW5zdGVhZC4gWW91J2QgZ2V0IHRoZSBzYW1lIHJlc3VsdCBpbiBlaXRoZXIgY2FzZS5cbiAgICovXG4gIGZpbmFsaXplOiAoKSA9PiB2b2lkO1xufVxuZXhwb3J0IGZ1bmN0aW9uIHRhcDxUPihvYnNlcnZlck9yTmV4dD86IFBhcnRpYWw8VGFwT2JzZXJ2ZXI8VD4+IHwgKCh2YWx1ZTogVCkgPT4gdm9pZCkpOiBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb248VD47XG4vKiogQGRlcHJlY2F0ZWQgSW5zdGVhZCBvZiBwYXNzaW5nIHNlcGFyYXRlIGNhbGxiYWNrIGFyZ3VtZW50cywgdXNlIGFuIG9ic2VydmVyIGFyZ3VtZW50LiBTaWduYXR1cmVzIHRha2luZyBzZXBhcmF0ZSBjYWxsYmFjayBhcmd1bWVudHMgd2lsbCBiZSByZW1vdmVkIGluIHY4LiBEZXRhaWxzOiBodHRwczovL3J4anMuZGV2L2RlcHJlY2F0aW9ucy9zdWJzY3JpYmUtYXJndW1lbnRzICovXG5leHBvcnQgZnVuY3Rpb24gdGFwPFQ+KFxuICBuZXh0PzogKCh2YWx1ZTogVCkgPT4gdm9pZCkgfCBudWxsLFxuICBlcnJvcj86ICgoZXJyb3I6IGFueSkgPT4gdm9pZCkgfCBudWxsLFxuICBjb21wbGV0ZT86ICgoKSA9PiB2b2lkKSB8IG51bGxcbik6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPjtcblxuLyoqXG4gKiBVc2VkIHRvIHBlcmZvcm0gc2lkZS1lZmZlY3RzIGZvciBub3RpZmljYXRpb25zIGZyb20gdGhlIHNvdXJjZSBvYnNlcnZhYmxlXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPlVzZWQgd2hlbiB5b3Ugd2FudCB0byBhZmZlY3Qgb3V0c2lkZSBzdGF0ZSB3aXRoIGEgbm90aWZpY2F0aW9uIHdpdGhvdXQgYWx0ZXJpbmcgdGhlIG5vdGlmaWNhdGlvbjwvc3Bhbj5cbiAqXG4gKiAhW10odGFwLnBuZylcbiAqXG4gKiBUYXAgaXMgZGVzaWduZWQgdG8gYWxsb3cgdGhlIGRldmVsb3BlciBhIGRlc2lnbmF0ZWQgcGxhY2UgdG8gcGVyZm9ybSBzaWRlIGVmZmVjdHMuIFdoaWxlIHlvdSBfY291bGRfIHBlcmZvcm0gc2lkZS1lZmZlY3RzXG4gKiBpbnNpZGUgb2YgYSBgbWFwYCBvciBhIGBtZXJnZU1hcGAsIHRoYXQgd291bGQgbWFrZSB0aGVpciBtYXBwaW5nIGZ1bmN0aW9ucyBpbXB1cmUsIHdoaWNoIGlzbid0IGFsd2F5cyBhIGJpZyBkZWFsLCBidXQgd2lsbFxuICogbWFrZSBpdCBzbyB5b3UgY2FuJ3QgZG8gdGhpbmdzIGxpa2UgbWVtb2l6ZSB0aG9zZSBmdW5jdGlvbnMuIFRoZSBgdGFwYCBvcGVyYXRvciBpcyBkZXNpZ25lZCBzb2xlbHkgZm9yIHN1Y2ggc2lkZS1lZmZlY3RzIHRvXG4gKiBoZWxwIHlvdSByZW1vdmUgc2lkZS1lZmZlY3RzIGZyb20gb3RoZXIgb3BlcmF0aW9ucy5cbiAqXG4gKiBGb3IgYW55IG5vdGlmaWNhdGlvbiwgbmV4dCwgZXJyb3IsIG9yIGNvbXBsZXRlLCBgdGFwYCB3aWxsIGNhbGwgdGhlIGFwcHJvcHJpYXRlIGNhbGxiYWNrIHlvdSBoYXZlIHByb3ZpZGVkIHRvIGl0LCB2aWEgYSBmdW5jdGlvblxuICogcmVmZXJlbmNlLCBvciBhIHBhcnRpYWwgb2JzZXJ2ZXIsIHRoZW4gcGFzcyB0aGF0IG5vdGlmaWNhdGlvbiBkb3duIHRoZSBzdHJlYW0uXG4gKlxuICogVGhlIG9ic2VydmFibGUgcmV0dXJuZWQgYnkgYHRhcGAgaXMgYW4gZXhhY3QgbWlycm9yIG9mIHRoZSBzb3VyY2UsIHdpdGggb25lIGV4Y2VwdGlvbjogQW55IGVycm9yIHRoYXQgb2NjdXJzIC0tIHN5bmNocm9ub3VzbHkgLS0gaW4gYSBoYW5kbGVyXG4gKiBwcm92aWRlZCB0byBgdGFwYCB3aWxsIGJlIGVtaXR0ZWQgYXMgYW4gZXJyb3IgZnJvbSB0aGUgcmV0dXJuZWQgb2JzZXJ2YWJsZS5cbiAqXG4gKiA+IEJlIGNhcmVmdWwhIFlvdSBjYW4gbXV0YXRlIG9iamVjdHMgYXMgdGhleSBwYXNzIHRocm91Z2ggdGhlIGB0YXBgIG9wZXJhdG9yJ3MgaGFuZGxlcnMuXG4gKlxuICogVGhlIG1vc3QgY29tbW9uIHVzZSBvZiBgdGFwYCBpcyBhY3R1YWxseSBmb3IgZGVidWdnaW5nLiBZb3UgY2FuIHBsYWNlIGEgYHRhcChjb25zb2xlLmxvZylgIGFueXdoZXJlXG4gKiBpbiB5b3VyIG9ic2VydmFibGUgYHBpcGVgLCBsb2cgb3V0IHRoZSBub3RpZmljYXRpb25zIGFzIHRoZXkgYXJlIGVtaXR0ZWQgYnkgdGhlIHNvdXJjZSByZXR1cm5lZCBieSB0aGUgcHJldmlvdXNcbiAqIG9wZXJhdGlvbi5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIENoZWNrIGEgcmFuZG9tIG51bWJlciBiZWZvcmUgaXQgaXMgaGFuZGxlZC4gQmVsb3cgaXMgYW4gb2JzZXJ2YWJsZSB0aGF0IHdpbGwgdXNlIGEgcmFuZG9tIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEsXG4gKiBhbmQgZW1pdCBgJ2JpZydgIG9yIGAnc21hbGwnYCBkZXBlbmRpbmcgb24gdGhlIHNpemUgb2YgdGhhdCBudW1iZXIuIEJ1dCB3ZSB3YW50ZWQgdG8gbG9nIHdoYXQgdGhlIG9yaWdpbmFsIG51bWJlclxuICogd2FzLCBzbyB3ZSBoYXZlIGFkZGVkIGEgYHRhcChjb25zb2xlLmxvZylgLlxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBvZiwgdGFwLCBtYXAgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBvZihNYXRoLnJhbmRvbSgpKS5waXBlKFxuICogICB0YXAoY29uc29sZS5sb2cpLFxuICogICBtYXAobiA9PiBuID4gMC41ID8gJ2JpZycgOiAnc21hbGwnKVxuICogKS5zdWJzY3JpYmUoY29uc29sZS5sb2cpO1xuICogYGBgXG4gKlxuICogVXNpbmcgYHRhcGAgdG8gYW5hbHl6ZSBhIHZhbHVlIGFuZCBmb3JjZSBhbiBlcnJvci4gQmVsb3cgaXMgYW4gb2JzZXJ2YWJsZSB3aGVyZSBpbiBvdXIgc3lzdGVtIHdlIG9ubHlcbiAqIHdhbnQgdG8gZW1pdCBudW1iZXJzIDMgb3IgbGVzcyB3ZSBnZXQgZnJvbSBhbm90aGVyIHNvdXJjZS4gV2UgY2FuIGZvcmNlIG91ciBvYnNlcnZhYmxlIHRvIGVycm9yXG4gKiB1c2luZyBgdGFwYC5cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgb2YsIHRhcCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHNvdXJjZSA9IG9mKDEsIDIsIDMsIDQsIDUpO1xuICpcbiAqIHNvdXJjZS5waXBlKFxuICogICB0YXAobiA9PiB7XG4gKiAgICAgaWYgKG4gPiAzKSB7XG4gKiAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBWYWx1ZSAkeyBuIH0gaXMgZ3JlYXRlciB0aGFuIDNgKTtcbiAqICAgICB9XG4gKiAgIH0pXG4gKiApXG4gKiAuc3Vic2NyaWJlKHsgbmV4dDogY29uc29sZS5sb2csIGVycm9yOiBlcnIgPT4gY29uc29sZS5sb2coZXJyLm1lc3NhZ2UpIH0pO1xuICogYGBgXG4gKlxuICogV2Ugd2FudCB0byBrbm93IHdoZW4gYW4gb2JzZXJ2YWJsZSBjb21wbGV0ZXMgYmVmb3JlIG1vdmluZyBvbiB0byB0aGUgbmV4dCBvYnNlcnZhYmxlLiBUaGUgc3lzdGVtXG4gKiBiZWxvdyB3aWxsIGVtaXQgYSByYW5kb20gc2VyaWVzIG9mIGAnWCdgIGNoYXJhY3RlcnMgZnJvbSAzIGRpZmZlcmVudCBvYnNlcnZhYmxlcyBpbiBzZXF1ZW5jZS4gVGhlXG4gKiBvbmx5IHdheSB3ZSBrbm93IHdoZW4gb25lIG9ic2VydmFibGUgY29tcGxldGVzIGFuZCBtb3ZlcyB0byB0aGUgbmV4dCBvbmUsIGluIHRoaXMgY2FzZSwgaXMgYmVjYXVzZVxuICogd2UgaGF2ZSBhZGRlZCBhIGB0YXBgIHdpdGggdGhlIHNpZGUgZWZmZWN0IG9mIGxvZ2dpbmcgdG8gY29uc29sZS5cbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgb2YsIGNvbmNhdE1hcCwgaW50ZXJ2YWwsIHRha2UsIG1hcCwgdGFwIH0gZnJvbSAncnhqcyc7XG4gKlxuICogb2YoMSwgMiwgMykucGlwZShcbiAqICAgY29uY2F0TWFwKG4gPT4gaW50ZXJ2YWwoMTAwMCkucGlwZShcbiAqICAgICB0YWtlKE1hdGgucm91bmQoTWF0aC5yYW5kb20oKSAqIDEwKSksXG4gKiAgICAgbWFwKCgpID0+ICdYJyksXG4gKiAgICAgdGFwKHsgY29tcGxldGU6ICgpID0+IGNvbnNvbGUubG9nKGBEb25lIHdpdGggJHsgbiB9YCkgfSlcbiAqICAgKSlcbiAqIClcbiAqIC5zdWJzY3JpYmUoY29uc29sZS5sb2cpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgZmluYWxpemV9XG4gKiBAc2VlIHtAbGluayBUYXBPYnNlcnZlcn1cbiAqXG4gKiBAcGFyYW0gb2JzZXJ2ZXJPck5leHQgQSBuZXh0IGhhbmRsZXIgb3IgcGFydGlhbCBvYnNlcnZlclxuICogQHBhcmFtIGVycm9yIEFuIGVycm9yIGhhbmRsZXJcbiAqIEBwYXJhbSBjb21wbGV0ZSBBIGNvbXBsZXRpb24gaGFuZGxlclxuICogQHJldHVybiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbiBPYnNlcnZhYmxlIGlkZW50aWNhbCB0byB0aGUgc291cmNlLCBidXRcbiAqIHJ1bnMgdGhlIHNwZWNpZmllZCBPYnNlcnZlciBvciBjYWxsYmFjayhzKSBmb3IgZWFjaCBpdGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGFwPFQ+KFxuICBvYnNlcnZlck9yTmV4dD86IFBhcnRpYWw8VGFwT2JzZXJ2ZXI8VD4+IHwgKCh2YWx1ZTogVCkgPT4gdm9pZCkgfCBudWxsLFxuICBlcnJvcj86ICgoZTogYW55KSA9PiB2b2lkKSB8IG51bGwsXG4gIGNvbXBsZXRlPzogKCgpID0+IHZvaWQpIHwgbnVsbFxuKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgLy8gV2UgaGF2ZSB0byBjaGVjayB0byBzZWUgbm90IG9ubHkgaWYgbmV4dCBpcyBhIGZ1bmN0aW9uLFxuICAvLyBidXQgaWYgZXJyb3Igb3IgY29tcGxldGUgd2VyZSBwYXNzZWQuIFRoaXMgaXMgYmVjYXVzZSBzb21lb25lXG4gIC8vIGNvdWxkIHRlY2huaWNhbGx5IGNhbGwgdGFwIGxpa2UgYHRhcChudWxsLCBmbilgIG9yIGB0YXAobnVsbCwgbnVsbCwgZm4pYC5cbiAgY29uc3QgdGFwT2JzZXJ2ZXIgPVxuICAgIGlzRnVuY3Rpb24ob2JzZXJ2ZXJPck5leHQpIHx8IGVycm9yIHx8IGNvbXBsZXRlXG4gICAgICA/IC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZTogbm8tb2JqZWN0LWxpdGVyYWwtdHlwZS1hc3NlcnRpb25cbiAgICAgICAgKHsgbmV4dDogb2JzZXJ2ZXJPck5leHQgYXMgRXhjbHVkZTx0eXBlb2Ygb2JzZXJ2ZXJPck5leHQsIFBhcnRpYWw8VGFwT2JzZXJ2ZXI8VD4+PiwgZXJyb3IsIGNvbXBsZXRlIH0gYXMgUGFydGlhbDxUYXBPYnNlcnZlcjxUPj4pXG4gICAgICA6IG9ic2VydmVyT3JOZXh0O1xuXG4gIHJldHVybiB0YXBPYnNlcnZlclxuICAgID8gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgICAgIHRhcE9ic2VydmVyLnN1YnNjcmliZT8uKCk7XG4gICAgICAgIGxldCBpc1Vuc3ViID0gdHJ1ZTtcbiAgICAgICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgICAgICBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoXG4gICAgICAgICAgICBzdWJzY3JpYmVyLFxuICAgICAgICAgICAgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgIHRhcE9ic2VydmVyLm5leHQ/Lih2YWx1ZSk7XG4gICAgICAgICAgICAgIHN1YnNjcmliZXIubmV4dCh2YWx1ZSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAgKCkgPT4ge1xuICAgICAgICAgICAgICBpc1Vuc3ViID0gZmFsc2U7XG4gICAgICAgICAgICAgIHRhcE9ic2VydmVyLmNvbXBsZXRlPy4oKTtcbiAgICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIChlcnIpID0+IHtcbiAgICAgICAgICAgICAgaXNVbnN1YiA9IGZhbHNlO1xuICAgICAgICAgICAgICB0YXBPYnNlcnZlci5lcnJvcj8uKGVycik7XG4gICAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChpc1Vuc3ViKSB7XG4gICAgICAgICAgICAgICAgdGFwT2JzZXJ2ZXIudW5zdWJzY3JpYmU/LigpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHRhcE9ic2VydmVyLmZpbmFsaXplPy4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgICB9KVxuICAgIDogLy8gVGFwIHdhcyBjYWxsZWQgd2l0aCBubyB2YWxpZCB0YXAgb2JzZXJ2ZXIgb3IgaGFuZGxlclxuICAgICAgLy8gKGUuZy4gYHRhcChudWxsLCBudWxsLCBudWxsKWAgb3IgYHRhcChudWxsKWAgb3IgYHRhcCgpYClcbiAgICAgIC8vIHNvIHdlJ3JlIGdvaW5nIHRvIGp1c3QgbWlycm9yIHRoZSBzb3VyY2UuXG4gICAgICBpZGVudGl0eTtcbn1cbiIsICJpbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICcuLi9TdWJzY3JpcHRpb24nO1xuXG5pbXBvcnQgeyBNb25vVHlwZU9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi9PcGVyYXRvclN1YnNjcmliZXInO1xuaW1wb3J0IHsgaW5uZXJGcm9tIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9pbm5lckZyb20nO1xuXG4vKipcbiAqIEFuIG9iamVjdCBpbnRlcmZhY2UgdXNlZCBieSB7QGxpbmsgdGhyb3R0bGV9IG9yIHtAbGluayB0aHJvdHRsZVRpbWV9IHRoYXQgZW5zdXJlXG4gKiBjb25maWd1cmF0aW9uIG9wdGlvbnMgb2YgdGhlc2Ugb3BlcmF0b3JzLlxuICpcbiAqIEBzZWUge0BsaW5rIHRocm90dGxlfVxuICogQHNlZSB7QGxpbmsgdGhyb3R0bGVUaW1lfVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRocm90dGxlQ29uZmlnIHtcbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgdGhlIHJlc3VsdGluZyBPYnNlcnZhYmxlIHdpbGwgZW1pdCB0aGUgZmlyc3QgdmFsdWUgZnJvbSB0aGUgc291cmNlXG4gICAqIE9ic2VydmFibGUgYXQgdGhlICoqc3RhcnQqKiBvZiB0aGUgXCJ0aHJvdHRsaW5nXCIgcHJvY2VzcyAod2hlbiBzdGFydGluZyBhblxuICAgKiBpbnRlcm5hbCB0aW1lciB0aGF0IHByZXZlbnRzIG90aGVyIGVtaXNzaW9ucyBmcm9tIHRoZSBzb3VyY2UgdG8gcGFzcyB0aHJvdWdoKS5cbiAgICogSWYgYGZhbHNlYCwgaXQgd2lsbCBub3QgZW1pdCB0aGUgZmlyc3QgdmFsdWUgZnJvbSB0aGUgc291cmNlIE9ic2VydmFibGUgYXQgdGhlXG4gICAqIHN0YXJ0IG9mIHRoZSBcInRocm90dGxpbmdcIiBwcm9jZXNzLlxuICAgKlxuICAgKiBJZiBub3QgcHJvdmlkZWQsIGRlZmF1bHRzIHRvOiBgdHJ1ZWAuXG4gICAqL1xuICBsZWFkaW5nPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIElmIGB0cnVlYCwgdGhlIHJlc3VsdGluZyBPYnNlcnZhYmxlIHdpbGwgZW1pdCB0aGUgbGFzdCB2YWx1ZSBmcm9tIHRoZSBzb3VyY2VcbiAgICogT2JzZXJ2YWJsZSBhdCB0aGUgKiplbmQqKiBvZiB0aGUgXCJ0aHJvdHRsaW5nXCIgcHJvY2VzcyAod2hlbiBlbmRpbmcgYW4gaW50ZXJuYWxcbiAgICogdGltZXIgdGhhdCBwcmV2ZW50cyBvdGhlciBlbWlzc2lvbnMgZnJvbSB0aGUgc291cmNlIHRvIHBhc3MgdGhyb3VnaCkuXG4gICAqIElmIGBmYWxzZWAsIGl0IHdpbGwgbm90IGVtaXQgdGhlIGxhc3QgdmFsdWUgZnJvbSB0aGUgc291cmNlIE9ic2VydmFibGUgYXQgdGhlXG4gICAqIGVuZCBvZiB0aGUgXCJ0aHJvdHRsaW5nXCIgcHJvY2Vzcy5cbiAgICpcbiAgICogSWYgbm90IHByb3ZpZGVkLCBkZWZhdWx0cyB0bzogYGZhbHNlYC5cbiAgICovXG4gIHRyYWlsaW5nPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBFbWl0cyBhIHZhbHVlIGZyb20gdGhlIHNvdXJjZSBPYnNlcnZhYmxlLCB0aGVuIGlnbm9yZXMgc3Vic2VxdWVudCBzb3VyY2VcbiAqIHZhbHVlcyBmb3IgYSBkdXJhdGlvbiBkZXRlcm1pbmVkIGJ5IGFub3RoZXIgT2JzZXJ2YWJsZSwgdGhlbiByZXBlYXRzIHRoaXNcbiAqIHByb2Nlc3MuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkl0J3MgbGlrZSB7QGxpbmsgdGhyb3R0bGVUaW1lfSwgYnV0IHRoZSBzaWxlbmNpbmdcbiAqIGR1cmF0aW9uIGlzIGRldGVybWluZWQgYnkgYSBzZWNvbmQgT2JzZXJ2YWJsZS48L3NwYW4+XG4gKlxuICogIVtdKHRocm90dGxlLnN2ZylcbiAqXG4gKiBgdGhyb3R0bGVgIGVtaXRzIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB2YWx1ZXMgb24gdGhlIG91dHB1dCBPYnNlcnZhYmxlXG4gKiB3aGVuIGl0cyBpbnRlcm5hbCB0aW1lciBpcyBkaXNhYmxlZCwgYW5kIGlnbm9yZXMgc291cmNlIHZhbHVlcyB3aGVuIHRoZSB0aW1lclxuICogaXMgZW5hYmxlZC4gSW5pdGlhbGx5LCB0aGUgdGltZXIgaXMgZGlzYWJsZWQuIEFzIHNvb24gYXMgdGhlIGZpcnN0IHNvdXJjZVxuICogdmFsdWUgYXJyaXZlcywgaXQgaXMgZm9yd2FyZGVkIHRvIHRoZSBvdXRwdXQgT2JzZXJ2YWJsZSwgYW5kIHRoZW4gdGhlIHRpbWVyXG4gKiBpcyBlbmFibGVkIGJ5IGNhbGxpbmcgdGhlIGBkdXJhdGlvblNlbGVjdG9yYCBmdW5jdGlvbiB3aXRoIHRoZSBzb3VyY2UgdmFsdWUsXG4gKiB3aGljaCByZXR1cm5zIHRoZSBcImR1cmF0aW9uXCIgT2JzZXJ2YWJsZS4gV2hlbiB0aGUgZHVyYXRpb24gT2JzZXJ2YWJsZSBlbWl0cyBhXG4gKiB2YWx1ZSwgdGhlIHRpbWVyIGlzIGRpc2FibGVkLCBhbmQgdGhpcyBwcm9jZXNzIHJlcGVhdHMgZm9yIHRoZVxuICogbmV4dCBzb3VyY2UgdmFsdWUuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIEVtaXQgY2xpY2tzIGF0IGEgcmF0ZSBvZiBhdCBtb3N0IG9uZSBjbGljayBwZXIgc2Vjb25kXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgdGhyb3R0bGUsIGludGVydmFsIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGNsaWNrcy5waXBlKHRocm90dGxlKCgpID0+IGludGVydmFsKDEwMDApKSk7XG4gKlxuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIGF1ZGl0fVxuICogQHNlZSB7QGxpbmsgZGVib3VuY2V9XG4gKiBAc2VlIHtAbGluayBkZWxheVdoZW59XG4gKiBAc2VlIHtAbGluayBzYW1wbGV9XG4gKiBAc2VlIHtAbGluayB0aHJvdHRsZVRpbWV9XG4gKlxuICogQHBhcmFtIGR1cmF0aW9uU2VsZWN0b3IgQSBmdW5jdGlvbiB0aGF0IHJlY2VpdmVzIGEgdmFsdWUgZnJvbSB0aGUgc291cmNlXG4gKiBPYnNlcnZhYmxlLCBmb3IgY29tcHV0aW5nIHRoZSBzaWxlbmNpbmcgZHVyYXRpb24gZm9yIGVhY2ggc291cmNlIHZhbHVlLFxuICogcmV0dXJuZWQgYXMgYW4gYE9ic2VydmFibGVJbnB1dGAuXG4gKiBAcGFyYW0gY29uZmlnIEEgY29uZmlndXJhdGlvbiBvYmplY3QgdG8gZGVmaW5lIGBsZWFkaW5nYCBhbmQgYHRyYWlsaW5nYFxuICogYmVoYXZpb3IuIERlZmF1bHRzIHRvIGB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiBmYWxzZSB9YC5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IHBlcmZvcm1zIHRoZSB0aHJvdHRsZVxuICogb3BlcmF0aW9uIHRvIGxpbWl0IHRoZSByYXRlIG9mIGVtaXNzaW9ucyBmcm9tIHRoZSBzb3VyY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0aHJvdHRsZTxUPihkdXJhdGlvblNlbGVjdG9yOiAodmFsdWU6IFQpID0+IE9ic2VydmFibGVJbnB1dDxhbnk+LCBjb25maWc/OiBUaHJvdHRsZUNvbmZpZyk6IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbjxUPiB7XG4gIHJldHVybiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICBjb25zdCB7IGxlYWRpbmcgPSB0cnVlLCB0cmFpbGluZyA9IGZhbHNlIH0gPSBjb25maWcgPz8ge307XG4gICAgbGV0IGhhc1ZhbHVlID0gZmFsc2U7XG4gICAgbGV0IHNlbmRWYWx1ZTogVCB8IG51bGwgPSBudWxsO1xuICAgIGxldCB0aHJvdHRsZWQ6IFN1YnNjcmlwdGlvbiB8IG51bGwgPSBudWxsO1xuICAgIGxldCBpc0NvbXBsZXRlID0gZmFsc2U7XG5cbiAgICBjb25zdCBlbmRUaHJvdHRsaW5nID0gKCkgPT4ge1xuICAgICAgdGhyb3R0bGVkPy51bnN1YnNjcmliZSgpO1xuICAgICAgdGhyb3R0bGVkID0gbnVsbDtcbiAgICAgIGlmICh0cmFpbGluZykge1xuICAgICAgICBzZW5kKCk7XG4gICAgICAgIGlzQ29tcGxldGUgJiYgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgfVxuICAgIH07XG5cbiAgICBjb25zdCBjbGVhbnVwVGhyb3R0bGluZyA9ICgpID0+IHtcbiAgICAgIHRocm90dGxlZCA9IG51bGw7XG4gICAgICBpc0NvbXBsZXRlICYmIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICB9O1xuXG4gICAgY29uc3Qgc3RhcnRUaHJvdHRsZSA9ICh2YWx1ZTogVCkgPT5cbiAgICAgICh0aHJvdHRsZWQgPSBpbm5lckZyb20oZHVyYXRpb25TZWxlY3Rvcih2YWx1ZSkpLnN1YnNjcmliZShjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoc3Vic2NyaWJlciwgZW5kVGhyb3R0bGluZywgY2xlYW51cFRocm90dGxpbmcpKSk7XG5cbiAgICBjb25zdCBzZW5kID0gKCkgPT4ge1xuICAgICAgaWYgKGhhc1ZhbHVlKSB7XG4gICAgICAgIC8vIEVuc3VyZSB3ZSBjbGVhciBvdXQgb3VyIHZhbHVlIGFuZCBoYXNWYWx1ZSBmbGFnXG4gICAgICAgIC8vIGJlZm9yZSB3ZSBlbWl0LCBvdGhlcndpc2UgcmVlbnRyYW50IGNvZGUgY2FuIGNhdXNlXG4gICAgICAgIC8vIGlzc3VlcyBoZXJlLlxuICAgICAgICBoYXNWYWx1ZSA9IGZhbHNlO1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHNlbmRWYWx1ZSE7XG4gICAgICAgIHNlbmRWYWx1ZSA9IG51bGw7XG4gICAgICAgIC8vIEVtaXQgdGhlIHZhbHVlLlxuICAgICAgICBzdWJzY3JpYmVyLm5leHQodmFsdWUpO1xuICAgICAgICAhaXNDb21wbGV0ZSAmJiBzdGFydFRocm90dGxlKHZhbHVlKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgLy8gUmVnYXJkaW5nIHRoZSBwcmVzZW5jZSBvZiB0aHJvdHRsZWQuY2xvc2VkIGluIHRoZSBmb2xsb3dpbmdcbiAgICAgICAgLy8gY29uZGl0aW9ucywgaWYgYSBzeW5jaHJvbm91cyBkdXJhdGlvbiBzZWxlY3RvciBpcyBzcGVjaWZpZWQgLSB3ZWlyZCxcbiAgICAgICAgLy8gYnV0IGxlZ2FsIC0gYW4gYWxyZWFkeS1jbG9zZWQgc3Vic2NyaXB0aW9uIHdpbGwgYmUgYXNzaWduZWQgdG9cbiAgICAgICAgLy8gdGhyb3R0bGVkLCBzbyB0aGUgc3Vic2NyaXB0aW9uJ3MgY2xvc2VkIHByb3BlcnR5IG5lZWRzIHRvIGJlIGNoZWNrZWQsXG4gICAgICAgIC8vIHRvby5cbiAgICAgICAgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgaGFzVmFsdWUgPSB0cnVlO1xuICAgICAgICAgIHNlbmRWYWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICEodGhyb3R0bGVkICYmICF0aHJvdHRsZWQuY2xvc2VkKSAmJiAobGVhZGluZyA/IHNlbmQoKSA6IHN0YXJ0VGhyb3R0bGUodmFsdWUpKTtcbiAgICAgICAgfSxcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIGlzQ29tcGxldGUgPSB0cnVlO1xuICAgICAgICAgICEodHJhaWxpbmcgJiYgaGFzVmFsdWUgJiYgdGhyb3R0bGVkICYmICF0aHJvdHRsZWQuY2xvc2VkKSAmJiBzdWJzY3JpYmVyLmNvbXBsZXRlKCk7XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBhc3luY1NjaGVkdWxlciB9IGZyb20gJy4uL3NjaGVkdWxlci9hc3luYyc7XG5pbXBvcnQgeyB0aHJvdHRsZSwgVGhyb3R0bGVDb25maWcgfSBmcm9tICcuL3Rocm90dGxlJztcbmltcG9ydCB7IE1vbm9UeXBlT3BlcmF0b3JGdW5jdGlvbiwgU2NoZWR1bGVyTGlrZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IHRpbWVyIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS90aW1lcic7XG5cbi8qKlxuICogRW1pdHMgYSB2YWx1ZSBmcm9tIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSwgdGhlbiBpZ25vcmVzIHN1YnNlcXVlbnQgc291cmNlXG4gKiB2YWx1ZXMgZm9yIGBkdXJhdGlvbmAgbWlsbGlzZWNvbmRzLCB0aGVuIHJlcGVhdHMgdGhpcyBwcm9jZXNzLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5MZXRzIGEgdmFsdWUgcGFzcywgdGhlbiBpZ25vcmVzIHNvdXJjZSB2YWx1ZXMgZm9yIHRoZVxuICogbmV4dCBgZHVyYXRpb25gIG1pbGxpc2Vjb25kcy48L3NwYW4+XG4gKlxuICogIVtdKHRocm90dGxlVGltZS5wbmcpXG4gKlxuICogYHRocm90dGxlVGltZWAgZW1pdHMgdGhlIHNvdXJjZSBPYnNlcnZhYmxlIHZhbHVlcyBvbiB0aGUgb3V0cHV0IE9ic2VydmFibGVcbiAqIHdoZW4gaXRzIGludGVybmFsIHRpbWVyIGlzIGRpc2FibGVkLCBhbmQgaWdub3JlcyBzb3VyY2UgdmFsdWVzIHdoZW4gdGhlIHRpbWVyXG4gKiBpcyBlbmFibGVkLiBJbml0aWFsbHksIHRoZSB0aW1lciBpcyBkaXNhYmxlZC4gQXMgc29vbiBhcyB0aGUgZmlyc3Qgc291cmNlXG4gKiB2YWx1ZSBhcnJpdmVzLCBpdCBpcyBmb3J3YXJkZWQgdG8gdGhlIG91dHB1dCBPYnNlcnZhYmxlLCBhbmQgdGhlbiB0aGUgdGltZXJcbiAqIGlzIGVuYWJsZWQuIEFmdGVyIGBkdXJhdGlvbmAgbWlsbGlzZWNvbmRzIChvciB0aGUgdGltZSB1bml0IGRldGVybWluZWRcbiAqIGludGVybmFsbHkgYnkgdGhlIG9wdGlvbmFsIGBzY2hlZHVsZXJgKSBoYXMgcGFzc2VkLCB0aGUgdGltZXIgaXMgZGlzYWJsZWQsXG4gKiBhbmQgdGhpcyBwcm9jZXNzIHJlcGVhdHMgZm9yIHRoZSBuZXh0IHNvdXJjZSB2YWx1ZS4gT3B0aW9uYWxseSB0YWtlcyBhXG4gKiB7QGxpbmsgU2NoZWR1bGVyTGlrZX0gZm9yIG1hbmFnaW5nIHRpbWVycy5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqICMjIyBMaW1pdCBjbGljayByYXRlXG4gKlxuICogRW1pdCBjbGlja3MgYXQgYSByYXRlIG9mIGF0IG1vc3Qgb25lIGNsaWNrIHBlciBzZWNvbmRcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCB0aHJvdHRsZVRpbWUgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgcmVzdWx0ID0gY2xpY2tzLnBpcGUodGhyb3R0bGVUaW1lKDEwMDApKTtcbiAqXG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgYXVkaXRUaW1lfVxuICogQHNlZSB7QGxpbmsgZGVib3VuY2VUaW1lfVxuICogQHNlZSB7QGxpbmsgZGVsYXl9XG4gKiBAc2VlIHtAbGluayBzYW1wbGVUaW1lfVxuICogQHNlZSB7QGxpbmsgdGhyb3R0bGV9XG4gKlxuICogQHBhcmFtIGR1cmF0aW9uIFRpbWUgdG8gd2FpdCBiZWZvcmUgZW1pdHRpbmcgYW5vdGhlciB2YWx1ZSBhZnRlclxuICogZW1pdHRpbmcgdGhlIGxhc3QgdmFsdWUsIG1lYXN1cmVkIGluIG1pbGxpc2Vjb25kcyBvciB0aGUgdGltZSB1bml0IGRldGVybWluZWRcbiAqIGludGVybmFsbHkgYnkgdGhlIG9wdGlvbmFsIGBzY2hlZHVsZXJgLlxuICogQHBhcmFtIHNjaGVkdWxlciBUaGUge0BsaW5rIFNjaGVkdWxlckxpa2V9IHRvIHVzZSBmb3JcbiAqIG1hbmFnaW5nIHRoZSB0aW1lcnMgdGhhdCBoYW5kbGUgdGhlIHRocm90dGxpbmcuIERlZmF1bHRzIHRvIHtAbGluayBhc3luY1NjaGVkdWxlcn0uXG4gKiBAcGFyYW0gY29uZmlnIEEgY29uZmlndXJhdGlvbiBvYmplY3QgdG8gZGVmaW5lIGBsZWFkaW5nYCBhbmRcbiAqIGB0cmFpbGluZ2AgYmVoYXZpb3IuIERlZmF1bHRzIHRvIGB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiBmYWxzZSB9YC5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IHBlcmZvcm1zIHRoZSB0aHJvdHRsZVxuICogb3BlcmF0aW9uIHRvIGxpbWl0IHRoZSByYXRlIG9mIGVtaXNzaW9ucyBmcm9tIHRoZSBzb3VyY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0aHJvdHRsZVRpbWU8VD4oXG4gIGR1cmF0aW9uOiBudW1iZXIsXG4gIHNjaGVkdWxlcjogU2NoZWR1bGVyTGlrZSA9IGFzeW5jU2NoZWR1bGVyLFxuICBjb25maWc/OiBUaHJvdHRsZUNvbmZpZ1xuKTogTW9ub1R5cGVPcGVyYXRvckZ1bmN0aW9uPFQ+IHtcbiAgY29uc3QgZHVyYXRpb24kID0gdGltZXIoZHVyYXRpb24sIHNjaGVkdWxlcik7XG4gIHJldHVybiB0aHJvdHRsZSgoKSA9PiBkdXJhdGlvbiQsIGNvbmZpZyk7XG59XG4iLCAiaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIgfSBmcm9tICcuLi9zY2hlZHVsZXIvYXN5bmMnO1xuaW1wb3J0IHsgU2NoZWR1bGVyTGlrZSwgT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi9PcGVyYXRvclN1YnNjcmliZXInO1xuXG4vKipcbiAqIEVtaXRzIGFuIG9iamVjdCBjb250YWluaW5nIHRoZSBjdXJyZW50IHZhbHVlLCBhbmQgdGhlIHRpbWUgdGhhdCBoYXNcbiAqIHBhc3NlZCBiZXR3ZWVuIGVtaXR0aW5nIHRoZSBjdXJyZW50IHZhbHVlIGFuZCB0aGUgcHJldmlvdXMgdmFsdWUsIHdoaWNoIGlzXG4gKiBjYWxjdWxhdGVkIGJ5IHVzaW5nIHRoZSBwcm92aWRlZCBgc2NoZWR1bGVyYCdzIGBub3coKWAgbWV0aG9kIHRvIHJldHJpZXZlXG4gKiB0aGUgY3VycmVudCB0aW1lIGF0IGVhY2ggZW1pc3Npb24sIHRoZW4gY2FsY3VsYXRpbmcgdGhlIGRpZmZlcmVuY2UuIFRoZSBgc2NoZWR1bGVyYFxuICogZGVmYXVsdHMgdG8ge0BsaW5rIGFzeW5jU2NoZWR1bGVyfSwgc28gYnkgZGVmYXVsdCwgdGhlIGBpbnRlcnZhbGAgd2lsbCBiZSBpblxuICogbWlsbGlzZWNvbmRzLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5Db252ZXJ0IGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyBpdGVtcyBpbnRvIG9uZSB0aGF0XG4gKiBlbWl0cyBpbmRpY2F0aW9ucyBvZiB0aGUgYW1vdW50IG9mIHRpbWUgZWxhcHNlZCBiZXR3ZWVuIHRob3NlIGVtaXNzaW9ucy48L3NwYW4+XG4gKlxuICogIVtdKHRpbWVJbnRlcnZhbC5wbmcpXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIEVtaXQgaW50ZXJ2YWwgYmV0d2VlbiBjdXJyZW50IHZhbHVlIHdpdGggdGhlIGxhc3QgdmFsdWVcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaW50ZXJ2YWwsIHRpbWVJbnRlcnZhbCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHNlY29uZHMgPSBpbnRlcnZhbCgxMDAwKTtcbiAqXG4gKiBzZWNvbmRzXG4gKiAgIC5waXBlKHRpbWVJbnRlcnZhbCgpKVxuICogICAuc3Vic2NyaWJlKHZhbHVlID0+IGNvbnNvbGUubG9nKHZhbHVlKSk7XG4gKlxuICogLy8gTk9URTogVGhlIHZhbHVlcyB3aWxsIG5ldmVyIGJlIHRoaXMgcHJlY2lzZSxcbiAqIC8vIGludGVydmFscyBjcmVhdGVkIHdpdGggYGludGVydmFsYCBvciBgc2V0SW50ZXJ2YWxgXG4gKiAvLyBhcmUgbm9uLWRldGVybWluaXN0aWMuXG4gKlxuICogLy8geyB2YWx1ZTogMCwgaW50ZXJ2YWw6IDEwMDAgfVxuICogLy8geyB2YWx1ZTogMSwgaW50ZXJ2YWw6IDEwMDAgfVxuICogLy8geyB2YWx1ZTogMiwgaW50ZXJ2YWw6IDEwMDAgfVxuICogYGBgXG4gKlxuICogQHBhcmFtIHtTY2hlZHVsZXJMaWtlfSBbc2NoZWR1bGVyXSBTY2hlZHVsZXIgdXNlZCB0byBnZXQgdGhlIGN1cnJlbnQgdGltZS5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGluZm9ybWF0aW9uIGFib3V0XG4gKiB2YWx1ZSBhbmQgaW50ZXJ2YWwuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0aW1lSW50ZXJ2YWw8VD4oc2NoZWR1bGVyOiBTY2hlZHVsZXJMaWtlID0gYXN5bmNTY2hlZHVsZXIpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFRpbWVJbnRlcnZhbDxUPj4ge1xuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgbGV0IGxhc3QgPSBzY2hlZHVsZXIubm93KCk7XG4gICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihzdWJzY3JpYmVyLCAodmFsdWUpID0+IHtcbiAgICAgICAgY29uc3Qgbm93ID0gc2NoZWR1bGVyLm5vdygpO1xuICAgICAgICBjb25zdCBpbnRlcnZhbCA9IG5vdyAtIGxhc3Q7XG4gICAgICAgIGxhc3QgPSBub3c7XG4gICAgICAgIHN1YnNjcmliZXIubmV4dChuZXcgVGltZUludGVydmFsKHZhbHVlLCBpbnRlcnZhbCkpO1xuICAgICAgfSlcbiAgICApO1xuICB9KTtcbn1cblxuLy8gVE9ETyhiZW5sZXNoKTogbWFrZSB0aGlzIGFuIGludGVyZmFjZSwgZXhwb3J0IHRoZSBpbnRlcmZhY2UsIGJ1dCBub3QgdGhlIGltcGxlbWVudGVkIGNsYXNzLFxuLy8gdGhlcmUncyBubyByZWFzb24gdXNlcnMgc2hvdWxkIGJlIG1hbnVhbGx5IGNyZWF0aW5nIHRoaXMgdHlwZS5cblxuZXhwb3J0IGNsYXNzIFRpbWVJbnRlcnZhbDxUPiB7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBJbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBkZXRhaWwsIGRvIG5vdCBjb25zdHJ1Y3QgZGlyZWN0bHkuIFdpbGwgYmUgbWFkZSBhbiBpbnRlcmZhY2UgaW4gdjguXG4gICAqL1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgdmFsdWU6IFQsIHB1YmxpYyBpbnRlcnZhbDogbnVtYmVyKSB7fVxufVxuIiwgImltcG9ydCB7IGFzeW5jIH0gZnJvbSAnLi4vc2NoZWR1bGVyL2FzeW5jJztcbmltcG9ydCB7IGlzVmFsaWREYXRlIH0gZnJvbSAnLi4vdXRpbC9pc0RhdGUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZUlucHV0LCBPcGVyYXRvckZ1bmN0aW9uLCBTY2hlZHVsZXJMaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgdGltZW91dCB9IGZyb20gJy4vdGltZW91dCc7XG5cbi8qKiBAZGVwcmVjYXRlZCBSZXBsYWNlZCB3aXRoIHtAbGluayB0aW1lb3V0fS4gSW5zdGVhZCBvZiBgdGltZW91dFdpdGgoc29tZURhdGUsIGEkLCBzY2hlZHVsZXIpYCwgdXNlIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdFxuICogYHRpbWVvdXQoeyBmaXJzdDogc29tZURhdGUsIHdpdGg6ICgpID0+IGEkLCBzY2hlZHVsZXIgfSlgLiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguICovXG5leHBvcnQgZnVuY3Rpb24gdGltZW91dFdpdGg8VCwgUj4oZHVlQnk6IERhdGUsIHN3aXRjaFRvOiBPYnNlcnZhYmxlSW5wdXQ8Uj4sIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFQgfCBSPjtcbi8qKiBAZGVwcmVjYXRlZCBSZXBsYWNlZCB3aXRoIHtAbGluayB0aW1lb3V0fS4gSW5zdGVhZCBvZiBgdGltZW91dFdpdGgoMTAwLCBhJCwgc2NoZWR1bGVyKWAsIHVzZSB0aGUgY29uZmlndXJhdGlvbiBvYmplY3RcbiAqICBgdGltZW91dCh7IGVhY2g6IDEwMCwgd2l0aDogKCkgPT4gYSQsIHNjaGVkdWxlciB9KWAuIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0aW1lb3V0V2l0aDxULCBSPih3YWl0Rm9yOiBudW1iZXIsIHN3aXRjaFRvOiBPYnNlcnZhYmxlSW5wdXQ8Uj4sIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2UpOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFQgfCBSPjtcblxuLyoqXG4gKiBXaGVuIHRoZSBwYXNzZWQgdGltZXNwYW4gZWxhcHNlcyBiZWZvcmUgdGhlIHNvdXJjZSBlbWl0cyBhbnkgZ2l2ZW4gdmFsdWUsIGl0IHdpbGwgdW5zdWJzY3JpYmUgZnJvbSB0aGUgc291cmNlLFxuICogYW5kIHN3aXRjaCB0aGUgc3Vic2NyaXB0aW9uIHRvIGFub3RoZXIgb2JzZXJ2YWJsZS5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+VXNlZCB0byBzd2l0Y2ggdG8gYSBkaWZmZXJlbnQgb2JzZXJ2YWJsZSBpZiB5b3VyIHNvdXJjZSBpcyBiZWluZyBzbG93Ljwvc3Bhbj5cbiAqXG4gKiBVc2VmdWwgaW4gY2FzZXMgd2hlcmU6XG4gKlxuICogLSBZb3Ugd2FudCB0byBzd2l0Y2ggdG8gYSBkaWZmZXJlbnQgc291cmNlIHRoYXQgbWF5IGJlIGZhc3Rlci5cbiAqIC0gWW91IHdhbnQgdG8gbm90aWZ5IGEgdXNlciB0aGF0IHRoZSBkYXRhIHN0cmVhbSBpcyBzbG93LlxuICogLSBZb3Ugd2FudCB0byBlbWl0IGEgY3VzdG9tIGVycm9yIHJhdGhlciB0aGFuIHRoZSB7QGxpbmsgVGltZW91dEVycm9yfSBlbWl0dGVkXG4gKiAgIGJ5IHRoZSBkZWZhdWx0IHVzYWdlIG9mIHtAbGluayB0aW1lb3V0fS5cbiAqXG4gKiBJZiB0aGUgZmlyc3QgcGFyYW1ldGVyIGlzIHBhc3NlZCBhcyBEYXRlIGFuZCB0aGUgdGltZSBvZiB0aGUgRGF0ZSBhcnJpdmVzIGJlZm9yZSB0aGUgZmlyc3QgdmFsdWUgYXJyaXZlcyBmcm9tIHRoZSBzb3VyY2UsXG4gKiBpdCB3aWxsIHVuc3Vic2NyaWJlIGZyb20gdGhlIHNvdXJjZSBhbmQgc3dpdGNoIHRoZSBzdWJzY3JpcHRpb24gdG8gYW5vdGhlciBvYnNlcnZhYmxlLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5Vc2UgRGF0ZSBvYmplY3QgdG8gc3dpdGNoIHRvIGEgZGlmZmVyZW50IG9ic2VydmFibGUgaWYgdGhlIGZpcnN0IHZhbHVlIGRvZXNuJ3QgYXJyaXZlIGJ5IGEgc3BlY2lmaWMgdGltZS48L3NwYW4+XG4gKlxuICogQ2FuIGJlIHVzZWQgdG8gc2V0IGEgdGltZW91dCBvbmx5IGZvciB0aGUgZmlyc3QgdmFsdWUsIGhvd2V2ZXIgaXQncyByZWNvbW1lbmRlZCB0byB1c2UgdGhlIHtAbGluayB0aW1lb3V0fSBvcGVyYXRvciB3aXRoXG4gKiB0aGUgYGZpcnN0YCBjb25maWd1cmF0aW9uIHRvIGdldCB0aGUgc2FtZSBlZmZlY3QuXG4gKlxuICogIyMgRXhhbXBsZXNcbiAqXG4gKiBGYWxsYmFjayB0byBhIGZhc3RlciBvYnNlcnZhYmxlXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGludGVydmFsLCB0aW1lb3V0V2l0aCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IHNsb3ckID0gaW50ZXJ2YWwoMTAwMCk7XG4gKiBjb25zdCBmYXN0ZXIkID0gaW50ZXJ2YWwoNTAwKTtcbiAqXG4gKiBzbG93JFxuICogICAucGlwZSh0aW1lb3V0V2l0aCg5MDAsIGZhc3RlciQpKVxuICogICAuc3Vic2NyaWJlKGNvbnNvbGUubG9nKTtcbiAqIGBgYFxuICpcbiAqIEVtaXQgeW91ciBvd24gY3VzdG9tIHRpbWVvdXQgZXJyb3JcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgaW50ZXJ2YWwsIHRpbWVvdXRXaXRoLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY2xhc3MgQ3VzdG9tVGltZW91dEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICogICBjb25zdHJ1Y3RvcigpIHtcbiAqICAgICBzdXBlcignSXQgd2FzIHRvbyBzbG93Jyk7XG4gKiAgICAgdGhpcy5uYW1lID0gJ0N1c3RvbVRpbWVvdXRFcnJvcic7XG4gKiAgIH1cbiAqIH1cbiAqXG4gKiBjb25zdCBzbG93JCA9IGludGVydmFsKDEwMDApO1xuICpcbiAqIHNsb3ckXG4gKiAgIC5waXBlKHRpbWVvdXRXaXRoKDkwMCwgdGhyb3dFcnJvcigoKSA9PiBuZXcgQ3VzdG9tVGltZW91dEVycm9yKCkpKSlcbiAqICAgLnN1YnNjcmliZSh7XG4gKiAgICAgZXJyb3I6IGVyciA9PiBjb25zb2xlLmVycm9yKGVyci5tZXNzYWdlKVxuICogICB9KTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIHRpbWVvdXR9XG4gKlxuICogQHBhcmFtIGR1ZSBXaGVuIHBhc3NlZCBhIG51bWJlciwgdXNlZCBhcyB0aGUgdGltZSAoaW4gbWlsbGlzZWNvbmRzKSBhbGxvd2VkIGJldHdlZW4gZWFjaCB2YWx1ZSBmcm9tIHRoZSBzb3VyY2UgYmVmb3JlIHRpbWVvdXRcbiAqIGlzIHRyaWdnZXJlZC4gV2hlbiBwYXNzZWQgYSBEYXRlLCB1c2VkIGFzIHRoZSBleGFjdCB0aW1lIGF0IHdoaWNoIHRoZSB0aW1lb3V0IHdpbGwgYmUgdHJpZ2dlcmVkIGlmIHRoZSBmaXJzdCB2YWx1ZSBkb2VzIG5vdCBhcnJpdmUuXG4gKiBAcGFyYW0gd2l0aE9ic2VydmFibGUgVGhlIG9ic2VydmFibGUgdG8gc3dpdGNoIHRvIHdoZW4gdGltZW91dCBvY2N1cnMuXG4gKiBAcGFyYW0gc2NoZWR1bGVyIFRoZSBzY2hlZHVsZXIgdG8gdXNlIHdpdGggdGltZS1yZWxhdGVkIG9wZXJhdGlvbnMgd2l0aGluIHRoaXMgb3BlcmF0b3IuIERlZmF1bHRzIHRvIHtAbGluayBhc3luY1NjaGVkdWxlcn1cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IG1pcnJvcnMgYmVoYXZpb3VyIG9mIHRoZVxuICogc291cmNlIE9ic2VydmFibGUsIHVubGVzcyB0aW1lb3V0IGhhcHBlbnMgd2hlbiBpdCBzdGFydHMgZW1pdHRpbmcgdmFsdWVzXG4gKiBmcm9tIHRoZSBgT2JzZXJ2YWJsZUlucHV0YCBwYXNzZWQgYXMgYSBzZWNvbmQgcGFyYW1ldGVyLlxuICogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCB7QGxpbmsgdGltZW91dH0uIEluc3RlYWQgb2YgYHRpbWVvdXRXaXRoKDEwMCwgYSQsIHNjaGVkdWxlcilgLCB1c2Uge0BsaW5rIHRpbWVvdXR9IHdpdGggdGhlIGNvbmZpZ3VyYXRpb25cbiAqIG9iamVjdDogYHRpbWVvdXQoeyBlYWNoOiAxMDAsIHdpdGg6ICgpID0+IGEkLCBzY2hlZHVsZXIgfSlgLiBJbnN0ZWFkIG9mIGB0aW1lb3V0V2l0aChzb21lRGF0ZSwgYSQsIHNjaGVkdWxlcilgLCB1c2Uge0BsaW5rIHRpbWVvdXR9XG4gKiB3aXRoIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdDogYHRpbWVvdXQoeyBmaXJzdDogc29tZURhdGUsIHdpdGg6ICgpID0+IGEkLCBzY2hlZHVsZXIgfSlgLiBXaWxsIGJlIHJlbW92ZWQgaW4gdjguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0aW1lb3V0V2l0aDxULCBSPihcbiAgZHVlOiBudW1iZXIgfCBEYXRlLFxuICB3aXRoT2JzZXJ2YWJsZTogT2JzZXJ2YWJsZUlucHV0PFI+LFxuICBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFQgfCBSPiB7XG4gIGxldCBmaXJzdDogbnVtYmVyIHwgRGF0ZSB8IHVuZGVmaW5lZDtcbiAgbGV0IGVhY2g6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgbGV0IF93aXRoOiAoKSA9PiBPYnNlcnZhYmxlSW5wdXQ8Uj47XG4gIHNjaGVkdWxlciA9IHNjaGVkdWxlciA/PyBhc3luYztcblxuICBpZiAoaXNWYWxpZERhdGUoZHVlKSkge1xuICAgIGZpcnN0ID0gZHVlO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBkdWUgPT09ICdudW1iZXInKSB7XG4gICAgZWFjaCA9IGR1ZTtcbiAgfVxuXG4gIGlmICh3aXRoT2JzZXJ2YWJsZSkge1xuICAgIF93aXRoID0gKCkgPT4gd2l0aE9ic2VydmFibGU7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignTm8gb2JzZXJ2YWJsZSBwcm92aWRlZCB0byBzd2l0Y2ggdG8nKTtcbiAgfVxuXG4gIGlmIChmaXJzdCA9PSBudWxsICYmIGVhY2ggPT0gbnVsbCkge1xuICAgIC8vIEVuc3VyZSB0aW1lb3V0IHdhcyBwcm92aWRlZCBhdCBydW50aW1lLlxuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ05vIHRpbWVvdXQgcHJvdmlkZWQuJyk7XG4gIH1cblxuICByZXR1cm4gdGltZW91dDxULCBPYnNlcnZhYmxlSW5wdXQ8Uj4+KHtcbiAgICBmaXJzdCxcbiAgICBlYWNoLFxuICAgIHNjaGVkdWxlcixcbiAgICB3aXRoOiBfd2l0aCxcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiwgVGltZXN0YW1wUHJvdmlkZXIsIFRpbWVzdGFtcCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGRhdGVUaW1lc3RhbXBQcm92aWRlciB9IGZyb20gJy4uL3NjaGVkdWxlci9kYXRlVGltZXN0YW1wUHJvdmlkZXInO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAnLi9tYXAnO1xuXG4vKipcbiAqIEF0dGFjaGVzIGEgdGltZXN0YW1wIHRvIGVhY2ggaXRlbSBlbWl0dGVkIGJ5IGFuIG9ic2VydmFibGUgaW5kaWNhdGluZyB3aGVuIGl0IHdhcyBlbWl0dGVkXG4gKlxuICogVGhlIGB0aW1lc3RhbXBgIG9wZXJhdG9yIG1hcHMgdGhlICpzb3VyY2UqIG9ic2VydmFibGUgc3RyZWFtIHRvIGFuIG9iamVjdCBvZiB0eXBlXG4gKiBge3ZhbHVlOiBULCB0aW1lc3RhbXA6IFJ9YC4gVGhlIHByb3BlcnRpZXMgYXJlIGdlbmVyaWNhbGx5IHR5cGVkLiBUaGUgYHZhbHVlYCBwcm9wZXJ0eSBjb250YWlucyB0aGUgdmFsdWVcbiAqIGFuZCB0eXBlIG9mIHRoZSAqc291cmNlKiBvYnNlcnZhYmxlLiBUaGUgYHRpbWVzdGFtcGAgaXMgZ2VuZXJhdGVkIGJ5IHRoZSBzY2hlZHVsZXJzIGBub3dgIGZ1bmN0aW9uLiBCeVxuICogZGVmYXVsdCwgaXQgdXNlcyB0aGUgYGFzeW5jU2NoZWR1bGVyYCB3aGljaCBzaW1wbHkgcmV0dXJucyBgRGF0ZS5ub3coKWAgKG1pbGxpc2Vjb25kcyBzaW5jZSAxOTcwLzAxLzAxXG4gKiAwMDowMDowMDowMDApIGFuZCB0aGVyZWZvcmUgaXMgb2YgdHlwZSBgbnVtYmVyYC5cbiAqXG4gKiAhW10odGltZXN0YW1wLnBuZylcbiAqXG4gKiAjIyBFeGFtcGxlXG4gKlxuICogSW4gdGhpcyBleGFtcGxlIHRoZXJlIGlzIGEgdGltZXN0YW1wIGF0dGFjaGVkIHRvIHRoZSBkb2N1bWVudCdzIGNsaWNrIGV2ZW50c1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIHRpbWVzdGFtcCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGNsaWNrV2l0aFRpbWVzdGFtcCA9IGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJykucGlwZShcbiAqICAgdGltZXN0YW1wKClcbiAqICk7XG4gKlxuICogLy8gRW1pdHMgZGF0YSBvZiB0eXBlIHsgdmFsdWU6IFBvaW50ZXJFdmVudCwgdGltZXN0YW1wOiBudW1iZXIgfVxuICogY2xpY2tXaXRoVGltZXN0YW1wLnN1YnNjcmliZShkYXRhID0+IHtcbiAqICAgY29uc29sZS5sb2coZGF0YSk7XG4gKiB9KTtcbiAqIGBgYFxuICpcbiAqIEBwYXJhbSB0aW1lc3RhbXBQcm92aWRlciBBbiBvYmplY3Qgd2l0aCBhIGBub3coKWAgbWV0aG9kIHVzZWQgdG8gZ2V0IHRoZSBjdXJyZW50IHRpbWVzdGFtcC5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGF0dGFjaGVzIGEgdGltZXN0YW1wIHRvXG4gKiBlYWNoIGl0ZW0gZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUgaW5kaWNhdGluZyB3aGVuIGl0IHdhcyBlbWl0dGVkLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGltZXN0YW1wPFQ+KHRpbWVzdGFtcFByb3ZpZGVyOiBUaW1lc3RhbXBQcm92aWRlciA9IGRhdGVUaW1lc3RhbXBQcm92aWRlcik6IE9wZXJhdG9yRnVuY3Rpb248VCwgVGltZXN0YW1wPFQ+PiB7XG4gIHJldHVybiBtYXAoKHZhbHVlOiBUKSA9PiAoeyB2YWx1ZSwgdGltZXN0YW1wOiB0aW1lc3RhbXBQcm92aWRlci5ub3coKSB9KSk7XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZUlucHV0IH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJy4uL1N1YmplY3QnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIgfSBmcm9tICcuL09wZXJhdG9yU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vdXRpbC9ub29wJztcbmltcG9ydCB7IGlubmVyRnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvaW5uZXJGcm9tJztcblxuLyoqXG4gKiBCcmFuY2ggb3V0IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB2YWx1ZXMgYXMgYSBuZXN0ZWQgT2JzZXJ2YWJsZSB3aGVuZXZlclxuICogYHdpbmRvd0JvdW5kYXJpZXNgIGVtaXRzLlxuICpcbiAqIDxzcGFuIGNsYXNzPVwiaW5mb3JtYWxcIj5JdCdzIGxpa2Uge0BsaW5rIGJ1ZmZlcn0sIGJ1dCBlbWl0cyBhIG5lc3RlZCBPYnNlcnZhYmxlXG4gKiBpbnN0ZWFkIG9mIGFuIGFycmF5Ljwvc3Bhbj5cbiAqXG4gKiAhW10od2luZG93LnBuZylcbiAqXG4gKiBSZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB3aW5kb3dzIG9mIGl0ZW1zIGl0IGNvbGxlY3RzIGZyb20gdGhlIHNvdXJjZVxuICogT2JzZXJ2YWJsZS4gVGhlIG91dHB1dCBPYnNlcnZhYmxlIGVtaXRzIGNvbm5lY3RlZCwgbm9uLW92ZXJsYXBwaW5nXG4gKiB3aW5kb3dzLiBJdCBlbWl0cyB0aGUgY3VycmVudCB3aW5kb3cgYW5kIG9wZW5zIGEgbmV3IG9uZSB3aGVuZXZlciB0aGVcbiAqIGB3aW5kb3dCb3VuZGFyaWVzYCBlbWl0cyBhbiBpdGVtLiBgd2luZG93Qm91bmRhcmllc2AgY2FuIGJlIGFueSB0eXBlIHRoYXRcbiAqIGBPYnNlcnZhYmxlSW5wdXRgIGFjY2VwdHMuIEl0IGludGVybmFsbHkgZ2V0cyBjb252ZXJ0ZWQgdG8gYW4gT2JzZXJ2YWJsZS5cbiAqIEJlY2F1c2UgZWFjaCB3aW5kb3cgaXMgYW4gT2JzZXJ2YWJsZSwgdGhlIG91dHB1dCBpcyBhIGhpZ2hlci1vcmRlciBPYnNlcnZhYmxlLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBJbiBldmVyeSB3aW5kb3cgb2YgMSBzZWNvbmQgZWFjaCwgZW1pdCBhdCBtb3N0IDIgY2xpY2sgZXZlbnRzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgaW50ZXJ2YWwsIHdpbmRvdywgbWFwLCB0YWtlLCBtZXJnZUFsbCB9IGZyb20gJ3J4anMnO1xuICpcbiAqIGNvbnN0IGNsaWNrcyA9IGZyb21FdmVudChkb2N1bWVudCwgJ2NsaWNrJyk7XG4gKiBjb25zdCBzZWMgPSBpbnRlcnZhbCgxMDAwKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGNsaWNrcy5waXBlKFxuICogICB3aW5kb3coc2VjKSxcbiAqICAgbWFwKHdpbiA9PiB3aW4ucGlwZSh0YWtlKDIpKSksIC8vIHRha2UgYXQgbW9zdCAyIGVtaXNzaW9ucyBmcm9tIGVhY2ggd2luZG93XG4gKiAgIG1lcmdlQWxsKCkgICAgICAgICAgICAgICAgICAgICAvLyBmbGF0dGVuIHRoZSBPYnNlcnZhYmxlLW9mLU9ic2VydmFibGVzXG4gKiApO1xuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIHdpbmRvd0NvdW50fVxuICogQHNlZSB7QGxpbmsgd2luZG93VGltZX1cbiAqIEBzZWUge0BsaW5rIHdpbmRvd1RvZ2dsZX1cbiAqIEBzZWUge0BsaW5rIHdpbmRvd1doZW59XG4gKiBAc2VlIHtAbGluayBidWZmZXJ9XG4gKlxuICogQHBhcmFtIHdpbmRvd0JvdW5kYXJpZXMgQW4gYE9ic2VydmFibGVJbnB1dGAgdGhhdCBjb21wbGV0ZXMgdGhlXG4gKiBwcmV2aW91cyB3aW5kb3cgYW5kIHN0YXJ0cyBhIG5ldyB3aW5kb3cuXG4gKiBAcmV0dXJuIEEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFuIE9ic2VydmFibGUgb2Ygd2luZG93cywgd2hpY2ggYXJlXG4gKiBPYnNlcnZhYmxlcyBlbWl0dGluZyB2YWx1ZXMgb2YgdGhlIHNvdXJjZSBPYnNlcnZhYmxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2luZG93PFQ+KHdpbmRvd0JvdW5kYXJpZXM6IE9ic2VydmFibGVJbnB1dDxhbnk+KTogT3BlcmF0b3JGdW5jdGlvbjxULCBPYnNlcnZhYmxlPFQ+PiB7XG4gIHJldHVybiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICBsZXQgd2luZG93U3ViamVjdDogU3ViamVjdDxUPiA9IG5ldyBTdWJqZWN0PFQ+KCk7XG5cbiAgICBzdWJzY3JpYmVyLm5leHQod2luZG93U3ViamVjdC5hc09ic2VydmFibGUoKSk7XG5cbiAgICBjb25zdCBlcnJvckhhbmRsZXIgPSAoZXJyOiBhbnkpID0+IHtcbiAgICAgIHdpbmRvd1N1YmplY3QuZXJyb3IoZXJyKTtcbiAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyKTtcbiAgICB9O1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIG91ciBzb3VyY2VcbiAgICBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgICBzdWJzY3JpYmVyLFxuICAgICAgICAodmFsdWUpID0+IHdpbmRvd1N1YmplY3Q/Lm5leHQodmFsdWUpLFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgd2luZG93U3ViamVjdC5jb21wbGV0ZSgpO1xuICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSxcbiAgICAgICAgZXJyb3JIYW5kbGVyXG4gICAgICApXG4gICAgKTtcblxuICAgIC8vIFN1YnNjcmliZSB0byB0aGUgd2luZG93IGJvdW5kYXJpZXMuXG4gICAgaW5uZXJGcm9tKHdpbmRvd0JvdW5kYXJpZXMpLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgKCkgPT4ge1xuICAgICAgICAgIHdpbmRvd1N1YmplY3QuY29tcGxldGUoKTtcbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQoKHdpbmRvd1N1YmplY3QgPSBuZXcgU3ViamVjdCgpKSk7XG4gICAgICAgIH0sXG4gICAgICAgIG5vb3AsXG4gICAgICAgIGVycm9ySGFuZGxlclxuICAgICAgKVxuICAgICk7XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgLy8gVW5zdWJzY3JpYmluZyB0aGUgc3ViamVjdCBlbnN1cmVzIHRoYXQgYW55b25lIHdobyBoYXMgY2FwdHVyZWRcbiAgICAgIC8vIGEgcmVmZXJlbmNlIHRvIHRoaXMgd2luZG93IHRoYXQgdHJpZXMgdG8gdXNlIGl0IGFmdGVyIGl0IGNhblxuICAgICAgLy8gbm8gbG9uZ2VyIGdldCB2YWx1ZXMgZnJvbSB0aGUgc291cmNlIHdpbGwgZ2V0IGFuIE9iamVjdFVuc3Vic2NyaWJlZEVycm9yLlxuICAgICAgd2luZG93U3ViamVjdD8udW5zdWJzY3JpYmUoKTtcbiAgICAgIHdpbmRvd1N1YmplY3QgPSBudWxsITtcbiAgICB9O1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAnLi4vU3ViamVjdCc7XG5pbXBvcnQgeyBPcGVyYXRvckZ1bmN0aW9uIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIgfSBmcm9tICcuL09wZXJhdG9yU3Vic2NyaWJlcic7XG5cbi8qKlxuICogQnJhbmNoIG91dCB0aGUgc291cmNlIE9ic2VydmFibGUgdmFsdWVzIGFzIGEgbmVzdGVkIE9ic2VydmFibGUgd2l0aCBlYWNoXG4gKiBuZXN0ZWQgT2JzZXJ2YWJsZSBlbWl0dGluZyBhdCBtb3N0IGB3aW5kb3dTaXplYCB2YWx1ZXMuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkl0J3MgbGlrZSB7QGxpbmsgYnVmZmVyQ291bnR9LCBidXQgZW1pdHMgYSBuZXN0ZWRcbiAqIE9ic2VydmFibGUgaW5zdGVhZCBvZiBhbiBhcnJheS48L3NwYW4+XG4gKlxuICogIVtdKHdpbmRvd0NvdW50LnBuZylcbiAqXG4gKiBSZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB3aW5kb3dzIG9mIGl0ZW1zIGl0IGNvbGxlY3RzIGZyb20gdGhlIHNvdXJjZVxuICogT2JzZXJ2YWJsZS4gVGhlIG91dHB1dCBPYnNlcnZhYmxlIGVtaXRzIHdpbmRvd3MgZXZlcnkgYHN0YXJ0V2luZG93RXZlcnlgXG4gKiBpdGVtcywgZWFjaCBjb250YWluaW5nIG5vIG1vcmUgdGhhbiBgd2luZG93U2l6ZWAgaXRlbXMuIFdoZW4gdGhlIHNvdXJjZVxuICogT2JzZXJ2YWJsZSBjb21wbGV0ZXMgb3IgZW5jb3VudGVycyBhbiBlcnJvciwgdGhlIG91dHB1dCBPYnNlcnZhYmxlIGVtaXRzXG4gKiB0aGUgY3VycmVudCB3aW5kb3cgYW5kIHByb3BhZ2F0ZXMgdGhlIG5vdGlmaWNhdGlvbiBmcm9tIHRoZSBzb3VyY2VcbiAqIE9ic2VydmFibGUuIElmIGBzdGFydFdpbmRvd0V2ZXJ5YCBpcyBub3QgcHJvdmlkZWQsIHRoZW4gbmV3IHdpbmRvd3MgYXJlXG4gKiBzdGFydGVkIGltbWVkaWF0ZWx5IGF0IHRoZSBzdGFydCBvZiB0aGUgc291cmNlIGFuZCB3aGVuIGVhY2ggd2luZG93IGNvbXBsZXRlc1xuICogd2l0aCBzaXplIGB3aW5kb3dTaXplYC5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIElnbm9yZSBldmVyeSAzcmQgY2xpY2sgZXZlbnQsIHN0YXJ0aW5nIGZyb20gdGhlIGZpcnN0IG9uZVxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIHdpbmRvd0NvdW50LCBtYXAsIHNraXAsIG1lcmdlQWxsIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGNsaWNrcy5waXBlKFxuICogICB3aW5kb3dDb3VudCgzKSxcbiAqICAgbWFwKHdpbiA9PiB3aW4ucGlwZShza2lwKDEpKSksIC8vIHNraXAgZmlyc3Qgb2YgZXZlcnkgMyBjbGlja3NcbiAqICAgbWVyZ2VBbGwoKSAgICAgICAgICAgICAgICAgICAgIC8vIGZsYXR0ZW4gdGhlIE9ic2VydmFibGUtb2YtT2JzZXJ2YWJsZXNcbiAqICk7XG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogSWdub3JlIGV2ZXJ5IDNyZCBjbGljayBldmVudCwgc3RhcnRpbmcgZnJvbSB0aGUgdGhpcmQgb25lXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgd2luZG93Q291bnQsIG1lcmdlQWxsIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGNsaWNrcy5waXBlKFxuICogICB3aW5kb3dDb3VudCgyLCAzKSxcbiAqICAgbWVyZ2VBbGwoKSAvLyBmbGF0dGVuIHRoZSBPYnNlcnZhYmxlLW9mLU9ic2VydmFibGVzXG4gKiApO1xuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIHdpbmRvd31cbiAqIEBzZWUge0BsaW5rIHdpbmRvd1RpbWV9XG4gKiBAc2VlIHtAbGluayB3aW5kb3dUb2dnbGV9XG4gKiBAc2VlIHtAbGluayB3aW5kb3dXaGVufVxuICogQHNlZSB7QGxpbmsgYnVmZmVyQ291bnR9XG4gKlxuICogQHBhcmFtIHtudW1iZXJ9IHdpbmRvd1NpemUgVGhlIG1heGltdW0gbnVtYmVyIG9mIHZhbHVlcyBlbWl0dGVkIGJ5IGVhY2hcbiAqIHdpbmRvdy5cbiAqIEBwYXJhbSB7bnVtYmVyfSBbc3RhcnRXaW5kb3dFdmVyeV0gSW50ZXJ2YWwgYXQgd2hpY2ggdG8gc3RhcnQgYSBuZXcgd2luZG93LlxuICogRm9yIGV4YW1wbGUgaWYgYHN0YXJ0V2luZG93RXZlcnlgIGlzIGAyYCwgdGhlbiBhIG5ldyB3aW5kb3cgd2lsbCBiZSBzdGFydGVkXG4gKiBvbiBldmVyeSBvdGhlciB2YWx1ZSBmcm9tIHRoZSBzb3VyY2UuIEEgbmV3IHdpbmRvdyBpcyBzdGFydGVkIGF0IHRoZVxuICogYmVnaW5uaW5nIG9mIHRoZSBzb3VyY2UgYnkgZGVmYXVsdC5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSBvZiB3aW5kb3dzLCB3aGljaCBpbiB0dXJuIGFyZVxuICogT2JzZXJ2YWJsZSBvZiB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aW5kb3dDb3VudDxUPih3aW5kb3dTaXplOiBudW1iZXIsIHN0YXJ0V2luZG93RXZlcnk6IG51bWJlciA9IDApOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE9ic2VydmFibGU8VD4+IHtcbiAgY29uc3Qgc3RhcnRFdmVyeSA9IHN0YXJ0V2luZG93RXZlcnkgPiAwID8gc3RhcnRXaW5kb3dFdmVyeSA6IHdpbmRvd1NpemU7XG5cbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIGxldCB3aW5kb3dzID0gW25ldyBTdWJqZWN0PFQ+KCldO1xuICAgIGxldCBzdGFydHM6IG51bWJlcltdID0gW107XG4gICAgbGV0IGNvdW50ID0gMDtcblxuICAgIC8vIE9wZW4gdGhlIGZpcnN0IHdpbmRvdy5cbiAgICBzdWJzY3JpYmVyLm5leHQod2luZG93c1swXS5hc09ic2VydmFibGUoKSk7XG5cbiAgICBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgICBzdWJzY3JpYmVyLFxuICAgICAgICAodmFsdWU6IFQpID0+IHtcbiAgICAgICAgICAvLyBFbWl0IHRoZSB2YWx1ZSB0aHJvdWdoIGFsbCBjdXJyZW50IHdpbmRvd3MuXG4gICAgICAgICAgLy8gV2UgZG9uJ3QgbmVlZCB0byBjcmVhdGUgYSBuZXcgd2luZG93IHlldCwgd2VcbiAgICAgICAgICAvLyBkbyB0aGF0IGFzIHNvb24gYXMgd2UgY2xvc2Ugb25lLlxuICAgICAgICAgIGZvciAoY29uc3Qgd2luZG93IG9mIHdpbmRvd3MpIHtcbiAgICAgICAgICAgIHdpbmRvdy5uZXh0KHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gSGVyZSB3ZSdyZSB1c2luZyB0aGUgc2l6ZSBvZiB0aGUgd2luZG93IGFycmF5IHRvIGZpZ3VyZVxuICAgICAgICAgIC8vIG91dCBpZiB0aGUgb2xkZXN0IHdpbmRvdyBoYXMgZW1pdHRlZCBlbm91Z2ggdmFsdWVzLiBXZSBjYW4gZG8gdGhpc1xuICAgICAgICAgIC8vIGJlY2F1c2UgdGhlIHNpemUgb2YgdGhlIHdpbmRvdyBhcnJheSBpcyBhIGZ1bmN0aW9uIG9mIHRoZSB2YWx1ZXNcbiAgICAgICAgICAvLyBzZWVuIGJ5IHRoZSBzdWJzY3JpcHRpb24uIElmIGl0J3MgdGltZSB0byBjbG9zZSBpdCwgd2UgY29tcGxldGVcbiAgICAgICAgICAvLyBpdCBhbmQgcmVtb3ZlIGl0LlxuICAgICAgICAgIGNvbnN0IGMgPSBjb3VudCAtIHdpbmRvd1NpemUgKyAxO1xuICAgICAgICAgIGlmIChjID49IDAgJiYgYyAlIHN0YXJ0RXZlcnkgPT09IDApIHtcbiAgICAgICAgICAgIHdpbmRvd3Muc2hpZnQoKSEuY29tcGxldGUoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBMb29rIHRvIHNlZSBpZiB0aGUgbmV4dCBjb3VudCB0ZWxscyB1cyBpdCdzIHRpbWUgdG8gb3BlbiBhIG5ldyB3aW5kb3cuXG4gICAgICAgICAgLy8gVE9ETzogV2UgbmVlZCB0byBmaWd1cmUgb3V0IGlmIHRoaXMgcmVhbGx5IG1ha2VzIHNlbnNlLiBXZSdyZSB0ZWNobmljYWxseVxuICAgICAgICAgIC8vIGVtaXR0aW5nIHdpbmRvd3MgKmJlZm9yZSogd2UgaGF2ZSBhIHZhbHVlIHRvIGVtaXQgdGhlbSBmb3IuIEl0J3MgcHJvYmFibHlcbiAgICAgICAgICAvLyBtb3JlIGV4cGVjdGVkIHRoYXQgd2Ugc2hvdWxkIGJlIGVtaXR0aW5nIHRoZSB3aW5kb3cgd2hlbiB0aGUgc3RhcnRcbiAgICAgICAgICAvLyBjb3VudCBpcyByZWFjaGVkIC0tIG5vdCBiZWZvcmUuXG4gICAgICAgICAgaWYgKCsrY291bnQgJSBzdGFydEV2ZXJ5ID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCB3aW5kb3cgPSBuZXcgU3ViamVjdDxUPigpO1xuICAgICAgICAgICAgd2luZG93cy5wdXNoKHdpbmRvdyk7XG4gICAgICAgICAgICBzdWJzY3JpYmVyLm5leHQod2luZG93LmFzT2JzZXJ2YWJsZSgpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICB3aGlsZSAod2luZG93cy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICB3aW5kb3dzLnNoaWZ0KCkhLmNvbXBsZXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHdoaWxlICh3aW5kb3dzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIHdpbmRvd3Muc2hpZnQoKSEuZXJyb3IoZXJyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3Vic2NyaWJlci5lcnJvcihlcnIpO1xuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgc3RhcnRzID0gbnVsbCE7XG4gICAgICAgICAgd2luZG93cyA9IG51bGwhO1xuICAgICAgICB9XG4gICAgICApXG4gICAgKTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJy4uL1N1YmplY3QnO1xuaW1wb3J0IHsgYXN5bmNTY2hlZHVsZXIgfSBmcm9tICcuLi9zY2hlZHVsZXIvYXN5bmMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IE9ic2VydmVyLCBPcGVyYXRvckZ1bmN0aW9uLCBTY2hlZHVsZXJMaWtlIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5pbXBvcnQgeyBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIgfSBmcm9tICcuL09wZXJhdG9yU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBhcnJSZW1vdmUgfSBmcm9tICcuLi91dGlsL2FyclJlbW92ZSc7XG5pbXBvcnQgeyBwb3BTY2hlZHVsZXIgfSBmcm9tICcuLi91dGlsL2FyZ3MnO1xuaW1wb3J0IHsgZXhlY3V0ZVNjaGVkdWxlIH0gZnJvbSAnLi4vdXRpbC9leGVjdXRlU2NoZWR1bGUnO1xuXG5leHBvcnQgZnVuY3Rpb24gd2luZG93VGltZTxUPih3aW5kb3dUaW1lU3BhbjogbnVtYmVyLCBzY2hlZHVsZXI/OiBTY2hlZHVsZXJMaWtlKTogT3BlcmF0b3JGdW5jdGlvbjxULCBPYnNlcnZhYmxlPFQ+PjtcbmV4cG9ydCBmdW5jdGlvbiB3aW5kb3dUaW1lPFQ+KFxuICB3aW5kb3dUaW1lU3BhbjogbnVtYmVyLFxuICB3aW5kb3dDcmVhdGlvbkludGVydmFsOiBudW1iZXIsXG4gIHNjaGVkdWxlcj86IFNjaGVkdWxlckxpa2Vcbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgT2JzZXJ2YWJsZTxUPj47XG5leHBvcnQgZnVuY3Rpb24gd2luZG93VGltZTxUPihcbiAgd2luZG93VGltZVNwYW46IG51bWJlcixcbiAgd2luZG93Q3JlYXRpb25JbnRlcnZhbDogbnVtYmVyIHwgbnVsbCB8IHZvaWQsXG4gIG1heFdpbmRvd1NpemU6IG51bWJlcixcbiAgc2NoZWR1bGVyPzogU2NoZWR1bGVyTGlrZVxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBPYnNlcnZhYmxlPFQ+PjtcblxuLyoqXG4gKiBCcmFuY2ggb3V0IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB2YWx1ZXMgYXMgYSBuZXN0ZWQgT2JzZXJ2YWJsZSBwZXJpb2RpY2FsbHlcbiAqIGluIHRpbWUuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPkl0J3MgbGlrZSB7QGxpbmsgYnVmZmVyVGltZX0sIGJ1dCBlbWl0cyBhIG5lc3RlZFxuICogT2JzZXJ2YWJsZSBpbnN0ZWFkIG9mIGFuIGFycmF5Ljwvc3Bhbj5cbiAqXG4gKiAhW10od2luZG93VGltZS5wbmcpXG4gKlxuICogUmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2luZG93cyBvZiBpdGVtcyBpdCBjb2xsZWN0cyBmcm9tIHRoZSBzb3VyY2VcbiAqIE9ic2VydmFibGUuIFRoZSBvdXRwdXQgT2JzZXJ2YWJsZSBzdGFydHMgYSBuZXcgd2luZG93IHBlcmlvZGljYWxseSwgYXNcbiAqIGRldGVybWluZWQgYnkgdGhlIGB3aW5kb3dDcmVhdGlvbkludGVydmFsYCBhcmd1bWVudC4gSXQgZW1pdHMgZWFjaCB3aW5kb3dcbiAqIGFmdGVyIGEgZml4ZWQgdGltZXNwYW4sIHNwZWNpZmllZCBieSB0aGUgYHdpbmRvd1RpbWVTcGFuYCBhcmd1bWVudC4gV2hlbiB0aGVcbiAqIHNvdXJjZSBPYnNlcnZhYmxlIGNvbXBsZXRlcyBvciBlbmNvdW50ZXJzIGFuIGVycm9yLCB0aGUgb3V0cHV0IE9ic2VydmFibGVcbiAqIGVtaXRzIHRoZSBjdXJyZW50IHdpbmRvdyBhbmQgcHJvcGFnYXRlcyB0aGUgbm90aWZpY2F0aW9uIGZyb20gdGhlIHNvdXJjZVxuICogT2JzZXJ2YWJsZS4gSWYgYHdpbmRvd0NyZWF0aW9uSW50ZXJ2YWxgIGlzIG5vdCBwcm92aWRlZCwgdGhlIG91dHB1dFxuICogT2JzZXJ2YWJsZSBzdGFydHMgYSBuZXcgd2luZG93IHdoZW4gdGhlIHByZXZpb3VzIHdpbmRvdyBvZiBkdXJhdGlvblxuICogYHdpbmRvd1RpbWVTcGFuYCBjb21wbGV0ZXMuIElmIGBtYXhXaW5kb3dDb3VudGAgaXMgcHJvdmlkZWQsIGVhY2ggd2luZG93XG4gKiB3aWxsIGVtaXQgYXQgbW9zdCBmaXhlZCBudW1iZXIgb2YgdmFsdWVzLiBXaW5kb3cgd2lsbCBjb21wbGV0ZSBpbW1lZGlhdGVseVxuICogYWZ0ZXIgZW1pdHRpbmcgbGFzdCB2YWx1ZSBhbmQgbmV4dCBvbmUgc3RpbGwgd2lsbCBvcGVuIGFzIHNwZWNpZmllZCBieVxuICogYHdpbmRvd1RpbWVTcGFuYCBhbmQgYHdpbmRvd0NyZWF0aW9uSW50ZXJ2YWxgIGFyZ3VtZW50cy5cbiAqXG4gKiAjIyBFeGFtcGxlc1xuICpcbiAqIEluIGV2ZXJ5IHdpbmRvdyBvZiAxIHNlY29uZCBlYWNoLCBlbWl0IGF0IG1vc3QgMiBjbGljayBldmVudHNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCB3aW5kb3dUaW1lLCBtYXAsIHRha2UsIG1lcmdlQWxsIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGNsaWNrcy5waXBlKFxuICogICB3aW5kb3dUaW1lKDEwMDApLFxuICogICBtYXAod2luID0+IHdpbi5waXBlKHRha2UoMikpKSwgLy8gdGFrZSBhdCBtb3N0IDIgZW1pc3Npb25zIGZyb20gZWFjaCB3aW5kb3dcbiAqICAgbWVyZ2VBbGwoKSAgICAgICAgICAgICAgICAgICAgIC8vIGZsYXR0ZW4gdGhlIE9ic2VydmFibGUtb2YtT2JzZXJ2YWJsZXNcbiAqICk7XG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogRXZlcnkgNSBzZWNvbmRzIHN0YXJ0IGEgd2luZG93IDEgc2Vjb25kIGxvbmcsIGFuZCBlbWl0IGF0IG1vc3QgMiBjbGljayBldmVudHMgcGVyIHdpbmRvd1xuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIHdpbmRvd1RpbWUsIG1hcCwgdGFrZSwgbWVyZ2VBbGwgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgcmVzdWx0ID0gY2xpY2tzLnBpcGUoXG4gKiAgIHdpbmRvd1RpbWUoMTAwMCwgNTAwMCksXG4gKiAgIG1hcCh3aW4gPT4gd2luLnBpcGUodGFrZSgyKSkpLCAvLyB0YWtlIGF0IG1vc3QgMiBlbWlzc2lvbnMgZnJvbSBlYWNoIHdpbmRvd1xuICogICBtZXJnZUFsbCgpICAgICAgICAgICAgICAgICAgICAgLy8gZmxhdHRlbiB0aGUgT2JzZXJ2YWJsZS1vZi1PYnNlcnZhYmxlc1xuICogKTtcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBTYW1lIGFzIGV4YW1wbGUgYWJvdmUgYnV0IHdpdGggYG1heFdpbmRvd0NvdW50YCBpbnN0ZWFkIG9mIGB0YWtlYFxuICpcbiAqIGBgYHRzXG4gKiBpbXBvcnQgeyBmcm9tRXZlbnQsIHdpbmRvd1RpbWUsIG1lcmdlQWxsIH0gZnJvbSAncnhqcyc7XG4gKlxuICogY29uc3QgY2xpY2tzID0gZnJvbUV2ZW50KGRvY3VtZW50LCAnY2xpY2snKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGNsaWNrcy5waXBlKFxuICogICB3aW5kb3dUaW1lKDEwMDAsIDUwMDAsIDIpLCAvLyB0YWtlIGF0IG1vc3QgMiBlbWlzc2lvbnMgZnJvbSBlYWNoIHdpbmRvd1xuICogICBtZXJnZUFsbCgpICAgICAgICAgICAgICAgICAvLyBmbGF0dGVuIHRoZSBPYnNlcnZhYmxlLW9mLU9ic2VydmFibGVzXG4gKiApO1xuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIHdpbmRvd31cbiAqIEBzZWUge0BsaW5rIHdpbmRvd0NvdW50fVxuICogQHNlZSB7QGxpbmsgd2luZG93VG9nZ2xlfVxuICogQHNlZSB7QGxpbmsgd2luZG93V2hlbn1cbiAqIEBzZWUge0BsaW5rIGJ1ZmZlclRpbWV9XG4gKlxuICogQHBhcmFtIHdpbmRvd1RpbWVTcGFuIFRoZSBhbW91bnQgb2YgdGltZSwgaW4gbWlsbGlzZWNvbmRzLCB0byBmaWxsIGVhY2ggd2luZG93LlxuICogQHBhcmFtIHdpbmRvd0NyZWF0aW9uSW50ZXJ2YWwgVGhlIGludGVydmFsIGF0IHdoaWNoIHRvIHN0YXJ0IG5ld1xuICogd2luZG93cy5cbiAqIEBwYXJhbSBtYXhXaW5kb3dTaXplIE1heCBudW1iZXIgb2ZcbiAqIHZhbHVlcyBlYWNoIHdpbmRvdyBjYW4gZW1pdCBiZWZvcmUgY29tcGxldGlvbi5cbiAqIEBwYXJhbSBzY2hlZHVsZXIgVGhlIHNjaGVkdWxlciBvbiB3aGljaCB0byBzY2hlZHVsZSB0aGVcbiAqIGludGVydmFscyB0aGF0IGRldGVybWluZSB3aW5kb3cgYm91bmRhcmllcy5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSBvZiB3aW5kb3dzLCB3aGljaCBpbiB0dXJuIGFyZVxuICogT2JzZXJ2YWJsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aW5kb3dUaW1lPFQ+KHdpbmRvd1RpbWVTcGFuOiBudW1iZXIsIC4uLm90aGVyQXJnczogYW55W10pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE9ic2VydmFibGU8VD4+IHtcbiAgY29uc3Qgc2NoZWR1bGVyID0gcG9wU2NoZWR1bGVyKG90aGVyQXJncykgPz8gYXN5bmNTY2hlZHVsZXI7XG4gIGNvbnN0IHdpbmRvd0NyZWF0aW9uSW50ZXJ2YWwgPSAob3RoZXJBcmdzWzBdIGFzIG51bWJlcikgPz8gbnVsbDtcbiAgY29uc3QgbWF4V2luZG93U2l6ZSA9IChvdGhlckFyZ3NbMV0gYXMgbnVtYmVyKSB8fCBJbmZpbml0eTtcblxuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgLy8gVGhlIGFjdGl2ZSB3aW5kb3dzLCB0aGVpciByZWxhdGVkIHN1YnNjcmlwdGlvbnMsIGFuZCByZW1vdmFsIGZ1bmN0aW9ucy5cbiAgICBsZXQgd2luZG93UmVjb3JkczogV2luZG93UmVjb3JkPFQ+W10gfCBudWxsID0gW107XG4gICAgLy8gSWYgdHJ1ZSwgaXQgbWVhbnMgdGhhdCBldmVyeSB0aW1lIHdlIGNsb3NlIGEgd2luZG93LCB3ZSB3YW50IHRvIHN0YXJ0IGEgbmV3IHdpbmRvdy5cbiAgICAvLyBUaGlzIGlzIG9ubHkgcmVhbGx5IHVzZWQgZm9yIHdoZW4gKmp1c3QqIHRoZSB0aW1lIHNwYW4gaXMgcGFzc2VkLlxuICAgIGxldCByZXN0YXJ0T25DbG9zZSA9IGZhbHNlO1xuXG4gICAgY29uc3QgY2xvc2VXaW5kb3cgPSAocmVjb3JkOiB7IHdpbmRvdzogU3ViamVjdDxUPjsgc3ViczogU3Vic2NyaXB0aW9uIH0pID0+IHtcbiAgICAgIGNvbnN0IHsgd2luZG93LCBzdWJzIH0gPSByZWNvcmQ7XG4gICAgICB3aW5kb3cuY29tcGxldGUoKTtcbiAgICAgIHN1YnMudW5zdWJzY3JpYmUoKTtcbiAgICAgIGFyclJlbW92ZSh3aW5kb3dSZWNvcmRzLCByZWNvcmQpO1xuICAgICAgcmVzdGFydE9uQ2xvc2UgJiYgc3RhcnRXaW5kb3coKTtcbiAgICB9O1xuXG4gICAgLyoqXG4gICAgICogQ2FsbGVkIGV2ZXJ5IHRpbWUgd2Ugc3RhcnQgYSBuZXcgd2luZG93LiBUaGlzIGFsc28gZG9lc1xuICAgICAqIHRoZSB3b3JrIG9mIHNjaGVkdWxpbmcgdGhlIGpvYiB0byBjbG9zZSB0aGUgd2luZG93LlxuICAgICAqL1xuICAgIGNvbnN0IHN0YXJ0V2luZG93ID0gKCkgPT4ge1xuICAgICAgaWYgKHdpbmRvd1JlY29yZHMpIHtcbiAgICAgICAgY29uc3Qgc3VicyA9IG5ldyBTdWJzY3JpcHRpb24oKTtcbiAgICAgICAgc3Vic2NyaWJlci5hZGQoc3Vicyk7XG4gICAgICAgIGNvbnN0IHdpbmRvdyA9IG5ldyBTdWJqZWN0PFQ+KCk7XG4gICAgICAgIGNvbnN0IHJlY29yZCA9IHtcbiAgICAgICAgICB3aW5kb3csXG4gICAgICAgICAgc3VicyxcbiAgICAgICAgICBzZWVuOiAwLFxuICAgICAgICB9O1xuICAgICAgICB3aW5kb3dSZWNvcmRzLnB1c2gocmVjb3JkKTtcbiAgICAgICAgc3Vic2NyaWJlci5uZXh0KHdpbmRvdy5hc09ic2VydmFibGUoKSk7XG4gICAgICAgIGV4ZWN1dGVTY2hlZHVsZShzdWJzLCBzY2hlZHVsZXIsICgpID0+IGNsb3NlV2luZG93KHJlY29yZCksIHdpbmRvd1RpbWVTcGFuKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgaWYgKHdpbmRvd0NyZWF0aW9uSW50ZXJ2YWwgIT09IG51bGwgJiYgd2luZG93Q3JlYXRpb25JbnRlcnZhbCA+PSAwKSB7XG4gICAgICAvLyBUaGUgdXNlciBwYXNzZWQgYm90aCBhIHdpbmRvd1RpbWVTcGFuIChyZXF1aXJlZCksIGFuZCBhIGNyZWF0aW9uIGludGVydmFsXG4gICAgICAvLyBUaGF0IG1lYW5zIHdlIG5lZWQgdG8gc3RhcnQgbmV3IHdpbmRvdyBvbiB0aGUgaW50ZXJ2YWwsIGFuZCB0aG9zZSB3aW5kb3dzIG5lZWRcbiAgICAgIC8vIHRvIHdhaXQgdGhlIHJlcXVpcmVkIHRpbWUgc3BhbiBiZWZvcmUgY29tcGxldGluZy5cbiAgICAgIGV4ZWN1dGVTY2hlZHVsZShzdWJzY3JpYmVyLCBzY2hlZHVsZXIsIHN0YXJ0V2luZG93LCB3aW5kb3dDcmVhdGlvbkludGVydmFsLCB0cnVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdGFydE9uQ2xvc2UgPSB0cnVlO1xuICAgIH1cblxuICAgIHN0YXJ0V2luZG93KCk7XG5cbiAgICAvKipcbiAgICAgKiBXZSBuZWVkIHRvIGxvb3Agb3ZlciBhIGNvcHkgb2YgdGhlIHdpbmRvdyByZWNvcmRzIHNldmVyYWwgdGltZXMgaW4gdGhpcyBvcGVyYXRvci5cbiAgICAgKiBUaGlzIGlzIHRvIHNhdmUgYnl0ZXMgb3ZlciB0aGUgd2lyZSBtb3JlIHRoYW4gYW55dGhpbmcuXG4gICAgICogVGhlIHJlYXNvbiB3ZSBjb3B5IHRoZSBhcnJheSBpcyB0aGF0IHJlZW50cmFudCBjb2RlIGNvdWxkIG11dGF0ZSB0aGUgYXJyYXkgd2hpbGVcbiAgICAgKiB3ZSBhcmUgaXRlcmF0aW5nIG92ZXIgaXQuXG4gICAgICovXG4gICAgY29uc3QgbG9vcCA9IChjYjogKHJlY29yZDogV2luZG93UmVjb3JkPFQ+KSA9PiB2b2lkKSA9PiB3aW5kb3dSZWNvcmRzIS5zbGljZSgpLmZvckVhY2goY2IpO1xuXG4gICAgLyoqXG4gICAgICogVXNlZCB0byBub3RpZnkgYWxsIG9mIHRoZSB3aW5kb3dzIGFuZCB0aGUgc3Vic2NyaWJlciBpbiB0aGUgc2FtZSB3YXlcbiAgICAgKiBpbiB0aGUgZXJyb3IgYW5kIGNvbXBsZXRlIGhhbmRsZXJzLlxuICAgICAqL1xuICAgIGNvbnN0IHRlcm1pbmF0ZSA9IChjYjogKGNvbnN1bWVyOiBPYnNlcnZlcjxhbnk+KSA9PiB2b2lkKSA9PiB7XG4gICAgICBsb29wKCh7IHdpbmRvdyB9KSA9PiBjYih3aW5kb3cpKTtcbiAgICAgIGNiKHN1YnNjcmliZXIpO1xuICAgICAgc3Vic2NyaWJlci51bnN1YnNjcmliZSgpO1xuICAgIH07XG5cbiAgICBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgICBzdWJzY3JpYmVyLFxuICAgICAgICAodmFsdWU6IFQpID0+IHtcbiAgICAgICAgICAvLyBOb3RpZnkgYWxsIHdpbmRvd3Mgb2YgdGhlIHZhbHVlLlxuICAgICAgICAgIGxvb3AoKHJlY29yZCkgPT4ge1xuICAgICAgICAgICAgcmVjb3JkLndpbmRvdy5uZXh0KHZhbHVlKTtcbiAgICAgICAgICAgIC8vIElmIHRoZSB3aW5kb3cgaXMgb3ZlciB0aGUgbWF4IHNpemUsIHdlIG5lZWQgdG8gY2xvc2UgaXQuXG4gICAgICAgICAgICBtYXhXaW5kb3dTaXplIDw9ICsrcmVjb3JkLnNlZW4gJiYgY2xvc2VXaW5kb3cocmVjb3JkKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSxcbiAgICAgICAgLy8gQ29tcGxldGUgdGhlIHdpbmRvd3MgYW5kIHRoZSBkb3duc3RyZWFtIHN1YnNjcmliZXIgYW5kIGNsZWFuIHVwLlxuICAgICAgICAoKSA9PiB0ZXJtaW5hdGUoKGNvbnN1bWVyKSA9PiBjb25zdW1lci5jb21wbGV0ZSgpKSxcbiAgICAgICAgLy8gTm90aWZ5IHRoZSB3aW5kb3dzIGFuZCB0aGUgZG93bnN0cmVhbSBzdWJzY3JpYmVyIG9mIHRoZSBlcnJvciBhbmQgY2xlYW4gdXAuXG4gICAgICAgIChlcnIpID0+IHRlcm1pbmF0ZSgoY29uc3VtZXIpID0+IGNvbnN1bWVyLmVycm9yKGVycikpXG4gICAgICApXG4gICAgKTtcblxuICAgIC8vIEFkZGl0aW9uYWwgZmluYWxpemF0aW9uLiBUaGlzIHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlXG4gICAgLy8gZGVzdGluYXRpb24gdGVhcnMgZG93bi4gT3RoZXIgZmluYWxpemF0aW9ucyBhcmUgcmVnaXN0ZXJlZCBpbXBsaWNpdGx5XG4gICAgLy8gYWJvdmUgdmlhIHN1YnNjcmlwdGlvbi5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgLy8gRW5zdXJlIHRoYXQgdGhlIGJ1ZmZlciBpcyByZWxlYXNlZC5cbiAgICAgIHdpbmRvd1JlY29yZHMgPSBudWxsITtcbiAgICB9O1xuICB9KTtcbn1cblxuaW50ZXJmYWNlIFdpbmRvd1JlY29yZDxUPiB7XG4gIHNlZW46IG51bWJlcjtcbiAgd2luZG93OiBTdWJqZWN0PFQ+O1xuICBzdWJzOiBTdWJzY3JpcHRpb247XG59XG4iLCAiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJy4uL09ic2VydmFibGUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJy4uL1N1YmplY3QnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAnLi4vU3Vic2NyaXB0aW9uJztcbmltcG9ydCB7IE9ic2VydmFibGVJbnB1dCwgT3BlcmF0b3JGdW5jdGlvbiB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IG9wZXJhdGUgfSBmcm9tICcuLi91dGlsL2xpZnQnO1xuaW1wb3J0IHsgaW5uZXJGcm9tIH0gZnJvbSAnLi4vb2JzZXJ2YWJsZS9pbm5lckZyb20nO1xuaW1wb3J0IHsgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyIH0gZnJvbSAnLi9PcGVyYXRvclN1YnNjcmliZXInO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uL3V0aWwvbm9vcCc7XG5pbXBvcnQgeyBhcnJSZW1vdmUgfSBmcm9tICcuLi91dGlsL2FyclJlbW92ZSc7XG5cbi8qKlxuICogQnJhbmNoIG91dCB0aGUgc291cmNlIE9ic2VydmFibGUgdmFsdWVzIGFzIGEgbmVzdGVkIE9ic2VydmFibGUgc3RhcnRpbmcgZnJvbVxuICogYW4gZW1pc3Npb24gZnJvbSBgb3BlbmluZ3NgIGFuZCBlbmRpbmcgd2hlbiB0aGUgb3V0cHV0IG9mIGBjbG9zaW5nU2VsZWN0b3JgXG4gKiBlbWl0cy5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+SXQncyBsaWtlIHtAbGluayBidWZmZXJUb2dnbGV9LCBidXQgZW1pdHMgYSBuZXN0ZWRcbiAqIE9ic2VydmFibGUgaW5zdGVhZCBvZiBhbiBhcnJheS48L3NwYW4+XG4gKlxuICogIVtdKHdpbmRvd1RvZ2dsZS5wbmcpXG4gKlxuICogUmV0dXJucyBhbiBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2luZG93cyBvZiBpdGVtcyBpdCBjb2xsZWN0cyBmcm9tIHRoZSBzb3VyY2VcbiAqIE9ic2VydmFibGUuIFRoZSBvdXRwdXQgT2JzZXJ2YWJsZSBlbWl0cyB3aW5kb3dzIHRoYXQgY29udGFpbiB0aG9zZSBpdGVtc1xuICogZW1pdHRlZCBieSB0aGUgc291cmNlIE9ic2VydmFibGUgYmV0d2VlbiB0aGUgdGltZSB3aGVuIHRoZSBgb3BlbmluZ3NgXG4gKiBPYnNlcnZhYmxlIGVtaXRzIGFuIGl0ZW0gYW5kIHdoZW4gdGhlIE9ic2VydmFibGUgcmV0dXJuZWQgYnlcbiAqIGBjbG9zaW5nU2VsZWN0b3JgIGVtaXRzIGFuIGl0ZW0uXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIEV2ZXJ5IG90aGVyIHNlY29uZCwgZW1pdCB0aGUgY2xpY2sgZXZlbnRzIGZyb20gdGhlIG5leHQgNTAwbXNcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCBpbnRlcnZhbCwgd2luZG93VG9nZ2xlLCBFTVBUWSwgbWVyZ2VBbGwgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3Qgb3BlbmluZ3MgPSBpbnRlcnZhbCgxMDAwKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGNsaWNrcy5waXBlKFxuICogICB3aW5kb3dUb2dnbGUob3BlbmluZ3MsIGkgPT4gaSAlIDIgPyBpbnRlcnZhbCg1MDApIDogRU1QVFkpLFxuICogICBtZXJnZUFsbCgpXG4gKiApO1xuICogcmVzdWx0LnN1YnNjcmliZSh4ID0+IGNvbnNvbGUubG9nKHgpKTtcbiAqIGBgYFxuICpcbiAqIEBzZWUge0BsaW5rIHdpbmRvd31cbiAqIEBzZWUge0BsaW5rIHdpbmRvd0NvdW50fVxuICogQHNlZSB7QGxpbmsgd2luZG93VGltZX1cbiAqIEBzZWUge0BsaW5rIHdpbmRvd1doZW59XG4gKiBAc2VlIHtAbGluayBidWZmZXJUb2dnbGV9XG4gKlxuICogQHBhcmFtIHtPYnNlcnZhYmxlPE8+fSBvcGVuaW5ncyBBbiBvYnNlcnZhYmxlIG9mIG5vdGlmaWNhdGlvbnMgdG8gc3RhcnQgbmV3XG4gKiB3aW5kb3dzLlxuICogQHBhcmFtIHtmdW5jdGlvbih2YWx1ZTogTyk6IE9ic2VydmFibGV9IGNsb3NpbmdTZWxlY3RvciBBIGZ1bmN0aW9uIHRoYXQgdGFrZXNcbiAqIHRoZSB2YWx1ZSBlbWl0dGVkIGJ5IHRoZSBgb3BlbmluZ3NgIG9ic2VydmFibGUgYW5kIHJldHVybnMgYW4gT2JzZXJ2YWJsZSxcbiAqIHdoaWNoLCB3aGVuIGl0IGVtaXRzIGEgbmV4dCBub3RpZmljYXRpb24sIHNpZ25hbHMgdGhhdCB0aGVcbiAqIGFzc29jaWF0ZWQgd2luZG93IHNob3VsZCBjb21wbGV0ZS5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSBvZiB3aW5kb3dzLCB3aGljaCBpbiB0dXJuIGFyZVxuICogT2JzZXJ2YWJsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aW5kb3dUb2dnbGU8VCwgTz4oXG4gIG9wZW5pbmdzOiBPYnNlcnZhYmxlSW5wdXQ8Tz4sXG4gIGNsb3NpbmdTZWxlY3RvcjogKG9wZW5WYWx1ZTogTykgPT4gT2JzZXJ2YWJsZUlucHV0PGFueT5cbik6IE9wZXJhdG9yRnVuY3Rpb248VCwgT2JzZXJ2YWJsZTxUPj4ge1xuICByZXR1cm4gb3BlcmF0ZSgoc291cmNlLCBzdWJzY3JpYmVyKSA9PiB7XG4gICAgY29uc3Qgd2luZG93czogU3ViamVjdDxUPltdID0gW107XG5cbiAgICBjb25zdCBoYW5kbGVFcnJvciA9IChlcnI6IGFueSkgPT4ge1xuICAgICAgd2hpbGUgKDAgPCB3aW5kb3dzLmxlbmd0aCkge1xuICAgICAgICB3aW5kb3dzLnNoaWZ0KCkhLmVycm9yKGVycik7XG4gICAgICB9XG4gICAgICBzdWJzY3JpYmVyLmVycm9yKGVycik7XG4gICAgfTtcblxuICAgIGlubmVyRnJvbShvcGVuaW5ncykuc3Vic2NyaWJlKFxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgICBzdWJzY3JpYmVyLFxuICAgICAgICAob3BlblZhbHVlKSA9PiB7XG4gICAgICAgICAgY29uc3Qgd2luZG93ID0gbmV3IFN1YmplY3Q8VD4oKTtcbiAgICAgICAgICB3aW5kb3dzLnB1c2god2luZG93KTtcbiAgICAgICAgICBjb25zdCBjbG9zaW5nU3Vic2NyaXB0aW9uID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuICAgICAgICAgIGNvbnN0IGNsb3NlV2luZG93ID0gKCkgPT4ge1xuICAgICAgICAgICAgYXJyUmVtb3ZlKHdpbmRvd3MsIHdpbmRvdyk7XG4gICAgICAgICAgICB3aW5kb3cuY29tcGxldGUoKTtcbiAgICAgICAgICAgIGNsb3NpbmdTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgbGV0IGNsb3NpbmdOb3RpZmllcjogT2JzZXJ2YWJsZTxhbnk+O1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjbG9zaW5nTm90aWZpZXIgPSBpbm5lckZyb20oY2xvc2luZ1NlbGVjdG9yKG9wZW5WYWx1ZSkpO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgaGFuZGxlRXJyb3IoZXJyKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQod2luZG93LmFzT2JzZXJ2YWJsZSgpKTtcblxuICAgICAgICAgIGNsb3NpbmdTdWJzY3JpcHRpb24uYWRkKGNsb3NpbmdOb3RpZmllci5zdWJzY3JpYmUoY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKHN1YnNjcmliZXIsIGNsb3NlV2luZG93LCBub29wLCBoYW5kbGVFcnJvcikpKTtcbiAgICAgICAgfSxcbiAgICAgICAgbm9vcFxuICAgICAgKVxuICAgICk7XG5cbiAgICAvLyBTdWJzY3JpYmUgdG8gdGhlIHNvdXJjZSB0byBnZXQgdGhpbmdzIHN0YXJ0ZWQuXG4gICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihcbiAgICAgICAgc3Vic2NyaWJlcixcbiAgICAgICAgKHZhbHVlOiBUKSA9PiB7XG4gICAgICAgICAgLy8gQ29weSB0aGUgd2luZG93cyBhcnJheSBiZWZvcmUgd2UgZW1pdCB0b1xuICAgICAgICAgIC8vIG1ha2Ugc3VyZSB3ZSBkb24ndCBoYXZlIGlzc3VlcyB3aXRoIHJlZW50cmFudCBjb2RlLlxuICAgICAgICAgIGNvbnN0IHdpbmRvd3NDb3B5ID0gd2luZG93cy5zbGljZSgpO1xuICAgICAgICAgIGZvciAoY29uc3Qgd2luZG93IG9mIHdpbmRvd3NDb3B5KSB7XG4gICAgICAgICAgICB3aW5kb3cubmV4dCh2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgICAoKSA9PiB7XG4gICAgICAgICAgLy8gQ29tcGxldGUgYWxsIG9mIG91ciB3aW5kb3dzIGJlZm9yZSB3ZSBjb21wbGV0ZS5cbiAgICAgICAgICB3aGlsZSAoMCA8IHdpbmRvd3MubGVuZ3RoKSB7XG4gICAgICAgICAgICB3aW5kb3dzLnNoaWZ0KCkhLmNvbXBsZXRlKCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlRXJyb3IsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICAvLyBBZGQgdGhpcyBmaW5hbGl6YXRpb24gc28gdGhhdCBhbGwgd2luZG93IHN1YmplY3RzIGFyZVxuICAgICAgICAgIC8vIGRpc3Bvc2VkIG9mLiBUaGlzIHdheSwgaWYgYSB1c2VyIHRyaWVzIHRvIHN1YnNjcmliZVxuICAgICAgICAgIC8vIHRvIGEgd2luZG93ICphZnRlciogdGhlIG91dGVyIHN1YnNjcmlwdGlvbiBoYXMgYmVlbiB1bnN1YnNjcmliZWQsXG4gICAgICAgICAgLy8gdGhleSB3aWxsIGdldCBhbiBlcnJvciwgaW5zdGVhZCBvZiB3YWl0aW5nIGZvcmV2ZXIgdG9cbiAgICAgICAgICAvLyBzZWUgaWYgYSB2YWx1ZSBhcnJpdmVzLlxuICAgICAgICAgIHdoaWxlICgwIDwgd2luZG93cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHdpbmRvd3Muc2hpZnQoKSEudW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIClcbiAgICApO1xuICB9KTtcbn1cbiIsICJpbXBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi4vU3Vic2NyaWJlcic7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi4vT2JzZXJ2YWJsZSc7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAnLi4vU3ViamVjdCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQsIE9wZXJhdG9yRnVuY3Rpb24gfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcbmltcG9ydCB7IGlubmVyRnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvaW5uZXJGcm9tJztcblxuLyoqXG4gKiBCcmFuY2ggb3V0IHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB2YWx1ZXMgYXMgYSBuZXN0ZWQgT2JzZXJ2YWJsZSB1c2luZyBhXG4gKiBmYWN0b3J5IGZ1bmN0aW9uIG9mIGNsb3NpbmcgT2JzZXJ2YWJsZXMgdG8gZGV0ZXJtaW5lIHdoZW4gdG8gc3RhcnQgYSBuZXdcbiAqIHdpbmRvdy5cbiAqXG4gKiA8c3BhbiBjbGFzcz1cImluZm9ybWFsXCI+SXQncyBsaWtlIHtAbGluayBidWZmZXJXaGVufSwgYnV0IGVtaXRzIGEgbmVzdGVkXG4gKiBPYnNlcnZhYmxlIGluc3RlYWQgb2YgYW4gYXJyYXkuPC9zcGFuPlxuICpcbiAqICFbXSh3aW5kb3dXaGVuLnBuZylcbiAqXG4gKiBSZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBlbWl0cyB3aW5kb3dzIG9mIGl0ZW1zIGl0IGNvbGxlY3RzIGZyb20gdGhlIHNvdXJjZVxuICogT2JzZXJ2YWJsZS4gVGhlIG91dHB1dCBPYnNlcnZhYmxlIGVtaXRzIGNvbm5lY3RlZCwgbm9uLW92ZXJsYXBwaW5nIHdpbmRvd3MuXG4gKiBJdCBlbWl0cyB0aGUgY3VycmVudCB3aW5kb3cgYW5kIG9wZW5zIGEgbmV3IG9uZSB3aGVuZXZlciB0aGUgT2JzZXJ2YWJsZVxuICogcHJvZHVjZWQgYnkgdGhlIHNwZWNpZmllZCBgY2xvc2luZ1NlbGVjdG9yYCBmdW5jdGlvbiBlbWl0cyBhbiBpdGVtLiBUaGUgZmlyc3RcbiAqIHdpbmRvdyBpcyBvcGVuZWQgaW1tZWRpYXRlbHkgd2hlbiBzdWJzY3JpYmluZyB0byB0aGUgb3V0cHV0IE9ic2VydmFibGUuXG4gKlxuICogIyMgRXhhbXBsZVxuICpcbiAqIEVtaXQgb25seSB0aGUgZmlyc3QgdHdvIGNsaWNrcyBldmVudHMgaW4gZXZlcnkgd2luZG93IG9mIFsxLTVdIHJhbmRvbSBzZWNvbmRzXG4gKlxuICogYGBgdHNcbiAqIGltcG9ydCB7IGZyb21FdmVudCwgd2luZG93V2hlbiwgaW50ZXJ2YWwsIG1hcCwgdGFrZSwgbWVyZ2VBbGwgfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgcmVzdWx0ID0gY2xpY2tzLnBpcGUoXG4gKiAgIHdpbmRvd1doZW4oKCkgPT4gaW50ZXJ2YWwoMTAwMCArIE1hdGgucmFuZG9tKCkgKiA0MDAwKSksXG4gKiAgIG1hcCh3aW4gPT4gd2luLnBpcGUodGFrZSgyKSkpLCAvLyB0YWtlIGF0IG1vc3QgMiBlbWlzc2lvbnMgZnJvbSBlYWNoIHdpbmRvd1xuICogICBtZXJnZUFsbCgpICAgICAgICAgICAgICAgICAgICAgLy8gZmxhdHRlbiB0aGUgT2JzZXJ2YWJsZS1vZi1PYnNlcnZhYmxlc1xuICogKTtcbiAqIHJlc3VsdC5zdWJzY3JpYmUoeCA9PiBjb25zb2xlLmxvZyh4KSk7XG4gKiBgYGBcbiAqXG4gKiBAc2VlIHtAbGluayB3aW5kb3d9XG4gKiBAc2VlIHtAbGluayB3aW5kb3dDb3VudH1cbiAqIEBzZWUge0BsaW5rIHdpbmRvd1RpbWV9XG4gKiBAc2VlIHtAbGluayB3aW5kb3dUb2dnbGV9XG4gKiBAc2VlIHtAbGluayBidWZmZXJXaGVufVxuICpcbiAqIEBwYXJhbSB7ZnVuY3Rpb24oKTogT2JzZXJ2YWJsZX0gY2xvc2luZ1NlbGVjdG9yIEEgZnVuY3Rpb24gdGhhdCB0YWtlcyBub1xuICogYXJndW1lbnRzIGFuZCByZXR1cm5zIGFuIE9ic2VydmFibGUgdGhhdCBzaWduYWxzIChvbiBlaXRoZXIgYG5leHRgIG9yXG4gKiBgY29tcGxldGVgKSB3aGVuIHRvIGNsb3NlIHRoZSBwcmV2aW91cyB3aW5kb3cgYW5kIHN0YXJ0IGEgbmV3IG9uZS5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSBvZiB3aW5kb3dzLCB3aGljaCBpbiB0dXJuIGFyZVxuICogT2JzZXJ2YWJsZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3aW5kb3dXaGVuPFQ+KGNsb3NpbmdTZWxlY3RvcjogKCkgPT4gT2JzZXJ2YWJsZUlucHV0PGFueT4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIE9ic2VydmFibGU8VD4+IHtcbiAgcmV0dXJuIG9wZXJhdGUoKHNvdXJjZSwgc3Vic2NyaWJlcikgPT4ge1xuICAgIGxldCB3aW5kb3c6IFN1YmplY3Q8VD4gfCBudWxsO1xuICAgIGxldCBjbG9zaW5nU3Vic2NyaWJlcjogU3Vic2NyaWJlcjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiB3ZSBnZXQgYW4gZXJyb3IsIHdlIGhhdmUgdG8gbm90aWZ5IGJvdGggdGhlXG4gICAgICogZGVzdGluYXRpb24gc3Vic2NyaWJlciBhbmQgdGhlIHdpbmRvdy5cbiAgICAgKi9cbiAgICBjb25zdCBoYW5kbGVFcnJvciA9IChlcnI6IGFueSkgPT4ge1xuICAgICAgd2luZG93IS5lcnJvcihlcnIpO1xuICAgICAgc3Vic2NyaWJlci5lcnJvcihlcnIpO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBDYWxsZWQgZXZlcnkgdGltZSB3ZSBuZWVkIHRvIG9wZW4gYSB3aW5kb3cuXG4gICAgICogUmVjdXJzaXZlLCBhcyBpdCB3aWxsIHN0YXJ0IHRoZSBjbG9zaW5nIG5vdGlmaWVyLCB3aGljaFxuICAgICAqIGluZXZpdGFibHkgKnNob3VsZCogY2FsbCBvcGVuV2luZG93IC0tIGJ1dCBtYXkgbm90IGlmXG4gICAgICogaXQgaXMgYSBcIm5ldmVyXCIgb2JzZXJ2YWJsZS5cbiAgICAgKi9cbiAgICBjb25zdCBvcGVuV2luZG93ID0gKCkgPT4ge1xuICAgICAgLy8gV2UgbmVlZCB0byBjbGVhbiB1cCBvdXIgY2xvc2luZyBzdWJzY3JpcHRpb24sXG4gICAgICAvLyB3ZSBvbmx5IGNhcmVkIGFib3V0IHRoZSBmaXJzdCBuZXh0IG9yIGNvbXBsZXRlIG5vdGlmaWNhdGlvbi5cbiAgICAgIGNsb3NpbmdTdWJzY3JpYmVyPy51bnN1YnNjcmliZSgpO1xuXG4gICAgICAvLyBDbG9zZSBvdXIgd2luZG93IGJlZm9yZSBzdGFydGluZyBhIG5ldyBvbmUuXG4gICAgICB3aW5kb3c/LmNvbXBsZXRlKCk7XG5cbiAgICAgIC8vIFN0YXJ0IHRoZSBuZXcgd2luZG93LlxuICAgICAgd2luZG93ID0gbmV3IFN1YmplY3Q8VD4oKTtcbiAgICAgIHN1YnNjcmliZXIubmV4dCh3aW5kb3cuYXNPYnNlcnZhYmxlKCkpO1xuXG4gICAgICAvLyBHZXQgb3VyIGNsb3Npbmcgbm90aWZpZXIuXG4gICAgICBsZXQgY2xvc2luZ05vdGlmaWVyOiBPYnNlcnZhYmxlPGFueT47XG4gICAgICB0cnkge1xuICAgICAgICBjbG9zaW5nTm90aWZpZXIgPSBpbm5lckZyb20oY2xvc2luZ1NlbGVjdG9yKCkpO1xuICAgICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICAgIGhhbmRsZUVycm9yKGVycik7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgLy8gU3Vic2NyaWJlIHRvIHRoZSBjbG9zaW5nIG5vdGlmaWVyLCBiZSBzdXJlXG4gICAgICAvLyB0byBjYXB0dXJlIHRoZSBzdWJzY3JpYmVyIChha2EgU3Vic2NyaXB0aW9uKVxuICAgICAgLy8gc28gd2UgY2FuIGNsZWFuIGl0IHVwIHdoZW4gd2UgY2xvc2UgdGhlIHdpbmRvd1xuICAgICAgLy8gYW5kIG9wZW4gYSBuZXcgb25lLlxuICAgICAgY2xvc2luZ05vdGlmaWVyLnN1YnNjcmliZSgoY2xvc2luZ1N1YnNjcmliZXIgPSBjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIoc3Vic2NyaWJlciwgb3BlbldpbmRvdywgb3BlbldpbmRvdywgaGFuZGxlRXJyb3IpKSk7XG4gICAgfTtcblxuICAgIC8vIFN0YXJ0IHRoZSBmaXJzdCB3aW5kb3cuXG4gICAgb3BlbldpbmRvdygpO1xuXG4gICAgLy8gU3Vic2NyaWJlIHRvIHRoZSBzb3VyY2VcbiAgICBzb3VyY2Uuc3Vic2NyaWJlKFxuICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgICBzdWJzY3JpYmVyLFxuICAgICAgICAodmFsdWUpID0+IHdpbmRvdyEubmV4dCh2YWx1ZSksXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICAvLyBUaGUgc291cmNlIGNvbXBsZXRlZCwgY2xvc2UgdGhlIHdpbmRvdyBhbmQgY29tcGxldGUuXG4gICAgICAgICAgd2luZG93IS5jb21wbGV0ZSgpO1xuICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgfSxcbiAgICAgICAgaGFuZGxlRXJyb3IsXG4gICAgICAgICgpID0+IHtcbiAgICAgICAgICAvLyBCZSBzdXJlIHRvIGNsZWFuIHVwIG91ciBjbG9zaW5nIHN1YnNjcmlwdGlvblxuICAgICAgICAgIC8vIHdoZW4gdGhpcyB0ZWFycyBkb3duLlxuICAgICAgICAgIGNsb3NpbmdTdWJzY3JpYmVyPy51bnN1YnNjcmliZSgpO1xuICAgICAgICAgIHdpbmRvdyA9IG51bGwhO1xuICAgICAgICB9XG4gICAgICApXG4gICAgKTtcbiAgfSk7XG59XG4iLCAiaW1wb3J0IHsgT3BlcmF0b3JGdW5jdGlvbiwgT2JzZXJ2YWJsZUlucHV0VHVwbGUgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvcGVyYXRlIH0gZnJvbSAnLi4vdXRpbC9saWZ0JztcbmltcG9ydCB7IGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlciB9IGZyb20gJy4vT3BlcmF0b3JTdWJzY3JpYmVyJztcbmltcG9ydCB7IGlubmVyRnJvbSB9IGZyb20gJy4uL29ic2VydmFibGUvaW5uZXJGcm9tJztcbmltcG9ydCB7IGlkZW50aXR5IH0gZnJvbSAnLi4vdXRpbC9pZGVudGl0eSc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vdXRpbC9ub29wJztcbmltcG9ydCB7IHBvcFJlc3VsdFNlbGVjdG9yIH0gZnJvbSAnLi4vdXRpbC9hcmdzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhMYXRlc3RGcm9tPFQsIE8gZXh0ZW5kcyB1bmtub3duW10+KC4uLmlucHV0czogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPE8+XSk6IE9wZXJhdG9yRnVuY3Rpb248VCwgW1QsIC4uLk9dPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHdpdGhMYXRlc3RGcm9tPFQsIE8gZXh0ZW5kcyB1bmtub3duW10sIFI+KFxuICAuLi5pbnB1dHM6IFsuLi5PYnNlcnZhYmxlSW5wdXRUdXBsZTxPPiwgKC4uLnZhbHVlOiBbVCwgLi4uT10pID0+IFJdXG4pOiBPcGVyYXRvckZ1bmN0aW9uPFQsIFI+O1xuXG4vKipcbiAqIENvbWJpbmVzIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSB3aXRoIG90aGVyIE9ic2VydmFibGVzIHRvIGNyZWF0ZSBhbiBPYnNlcnZhYmxlXG4gKiB3aG9zZSB2YWx1ZXMgYXJlIGNhbGN1bGF0ZWQgZnJvbSB0aGUgbGF0ZXN0IHZhbHVlcyBvZiBlYWNoLCBvbmx5IHdoZW4gdGhlXG4gKiBzb3VyY2UgZW1pdHMuXG4gKlxuICogPHNwYW4gY2xhc3M9XCJpbmZvcm1hbFwiPldoZW5ldmVyIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBlbWl0cyBhIHZhbHVlLCBpdFxuICogY29tcHV0ZXMgYSBmb3JtdWxhIHVzaW5nIHRoYXQgdmFsdWUgcGx1cyB0aGUgbGF0ZXN0IHZhbHVlcyBmcm9tIG90aGVyIGlucHV0XG4gKiBPYnNlcnZhYmxlcywgdGhlbiBlbWl0cyB0aGUgb3V0cHV0IG9mIHRoYXQgZm9ybXVsYS48L3NwYW4+XG4gKlxuICogIVtdKHdpdGhMYXRlc3RGcm9tLnBuZylcbiAqXG4gKiBgd2l0aExhdGVzdEZyb21gIGNvbWJpbmVzIGVhY2ggdmFsdWUgZnJvbSB0aGUgc291cmNlIE9ic2VydmFibGUgKHRoZVxuICogaW5zdGFuY2UpIHdpdGggdGhlIGxhdGVzdCB2YWx1ZXMgZnJvbSB0aGUgb3RoZXIgaW5wdXQgT2JzZXJ2YWJsZXMgb25seSB3aGVuXG4gKiB0aGUgc291cmNlIGVtaXRzIGEgdmFsdWUsIG9wdGlvbmFsbHkgdXNpbmcgYSBgcHJvamVjdGAgZnVuY3Rpb24gdG8gZGV0ZXJtaW5lXG4gKiB0aGUgdmFsdWUgdG8gYmUgZW1pdHRlZCBvbiB0aGUgb3V0cHV0IE9ic2VydmFibGUuIEFsbCBpbnB1dCBPYnNlcnZhYmxlcyBtdXN0XG4gKiBlbWl0IGF0IGxlYXN0IG9uZSB2YWx1ZSBiZWZvcmUgdGhlIG91dHB1dCBPYnNlcnZhYmxlIHdpbGwgZW1pdCBhIHZhbHVlLlxuICpcbiAqICMjIEV4YW1wbGVcbiAqXG4gKiBPbiBldmVyeSBjbGljayBldmVudCwgZW1pdCBhbiBhcnJheSB3aXRoIHRoZSBsYXRlc3QgdGltZXIgZXZlbnQgcGx1cyB0aGUgY2xpY2sgZXZlbnRcbiAqXG4gKiBgYGB0c1xuICogaW1wb3J0IHsgZnJvbUV2ZW50LCBpbnRlcnZhbCwgd2l0aExhdGVzdEZyb20gfSBmcm9tICdyeGpzJztcbiAqXG4gKiBjb25zdCBjbGlja3MgPSBmcm9tRXZlbnQoZG9jdW1lbnQsICdjbGljaycpO1xuICogY29uc3QgdGltZXIgPSBpbnRlcnZhbCgxMDAwKTtcbiAqIGNvbnN0IHJlc3VsdCA9IGNsaWNrcy5waXBlKHdpdGhMYXRlc3RGcm9tKHRpbWVyKSk7XG4gKiByZXN1bHQuc3Vic2NyaWJlKHggPT4gY29uc29sZS5sb2coeCkpO1xuICogYGBgXG4gKlxuICogQHNlZSB7QGxpbmsgY29tYmluZUxhdGVzdH1cbiAqXG4gKiBAcGFyYW0ge09ic2VydmFibGVJbnB1dH0gb3RoZXIgQW4gaW5wdXQgT2JzZXJ2YWJsZSB0byBjb21iaW5lIHdpdGggdGhlIHNvdXJjZVxuICogT2JzZXJ2YWJsZS4gTW9yZSB0aGFuIG9uZSBpbnB1dCBPYnNlcnZhYmxlcyBtYXkgYmUgZ2l2ZW4gYXMgYXJndW1lbnQuXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbcHJvamVjdF0gUHJvamVjdGlvbiBmdW5jdGlvbiBmb3IgY29tYmluaW5nIHZhbHVlc1xuICogdG9nZXRoZXIuIFJlY2VpdmVzIGFsbCB2YWx1ZXMgaW4gb3JkZXIgb2YgdGhlIE9ic2VydmFibGVzIHBhc3NlZCwgd2hlcmUgdGhlXG4gKiBmaXJzdCBwYXJhbWV0ZXIgaXMgYSB2YWx1ZSBmcm9tIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZS4gKGUuZy5cbiAqIGBhLnBpcGUod2l0aExhdGVzdEZyb20oYiwgYyksIG1hcCgoW2ExLCBiMSwgYzFdKSA9PiBhMSArIGIxICsgYzEpKWApLiBJZiB0aGlzIGlzIG5vdFxuICogcGFzc2VkLCBhcnJheXMgd2lsbCBiZSBlbWl0dGVkIG9uIHRoZSBvdXRwdXQgT2JzZXJ2YWJsZS5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSBvZiBwcm9qZWN0ZWQgdmFsdWVzIGZyb20gdGhlXG4gKiBtb3N0IHJlY2VudCB2YWx1ZXMgZnJvbSBlYWNoIGlucHV0IE9ic2VydmFibGUsIG9yIGFuIGFycmF5IG9mIHRoZSBtb3N0XG4gKiByZWNlbnQgdmFsdWVzIGZyb20gZWFjaCBpbnB1dCBPYnNlcnZhYmxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gd2l0aExhdGVzdEZyb208VCwgUj4oLi4uaW5wdXRzOiBhbnlbXSk6IE9wZXJhdG9yRnVuY3Rpb248VCwgUiB8IGFueVtdPiB7XG4gIGNvbnN0IHByb2plY3QgPSBwb3BSZXN1bHRTZWxlY3RvcihpbnB1dHMpIGFzICgoLi4uYXJnczogYW55W10pID0+IFIpIHwgdW5kZWZpbmVkO1xuXG4gIHJldHVybiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICBjb25zdCBsZW4gPSBpbnB1dHMubGVuZ3RoO1xuICAgIGNvbnN0IG90aGVyVmFsdWVzID0gbmV3IEFycmF5KGxlbik7XG4gICAgLy8gQW4gYXJyYXkgb2Ygd2hldGhlciBvciBub3QgdGhlIG90aGVyIHNvdXJjZXMgaGF2ZSBlbWl0dGVkLiBNYXRjaGVkIHdpdGggdGhlbSBieSBpbmRleC5cbiAgICAvLyBUT0RPOiBBdCBzb21lcG9pbnQsIHdlIHNob3VsZCBpbnZlc3RpZ2F0ZSB0aGUgcGVyZm9ybWFuY2UgaW1wbGljYXRpb25zIGhlcmUsIGFuZCBsb29rXG4gICAgLy8gaW50byB1c2luZyBhIGBTZXQoKWAgYW5kIGNoZWNraW5nIHRoZSBgc2l6ZWAgdG8gc2VlIGlmIHdlJ3JlIHJlYWR5LlxuICAgIGxldCBoYXNWYWx1ZSA9IGlucHV0cy5tYXAoKCkgPT4gZmFsc2UpO1xuICAgIC8vIEZsaXBwZWQgdHJ1ZSB3aGVuIHdlIGhhdmUgYXQgbGVhc3Qgb25lIHZhbHVlIGZyb20gYWxsIG90aGVyIHNvdXJjZXMgYW5kXG4gICAgLy8gd2UgYXJlIHJlYWR5IHRvIHN0YXJ0IGVtaXR0aW5nIHZhbHVlcy5cbiAgICBsZXQgcmVhZHkgPSBmYWxzZTtcblxuICAgIC8vIE90aGVyIHNvdXJjZXMuIE5vdGUgdGhhdCBoZXJlIHdlIGFyZSBub3QgY2hlY2tpbmcgYHN1YnNjcmliZXIuY2xvc2VkYCxcbiAgICAvLyB0aGlzIGNhdXNlcyBhbGwgaW5wdXRzIHRvIGJlIHN1YnNjcmliZWQgdG8sIGV2ZW4gaWYgbm90aGluZyBjYW4gYmUgZW1pdHRlZFxuICAgIC8vIGZyb20gdGhlbS4gVGhpcyBpcyBhbiBpbXBvcnRhbnQgZGlzdGluY3Rpb24gYmVjYXVzZSBzdWJzY3JpcHRpb24gY29uc3RpdHV0ZXNcbiAgICAvLyBhIHNpZGUtZWZmZWN0LlxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcbiAgICAgIGlubmVyRnJvbShpbnB1dHNbaV0pLnN1YnNjcmliZShcbiAgICAgICAgY3JlYXRlT3BlcmF0b3JTdWJzY3JpYmVyKFxuICAgICAgICAgIHN1YnNjcmliZXIsXG4gICAgICAgICAgKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBvdGhlclZhbHVlc1tpXSA9IHZhbHVlO1xuICAgICAgICAgICAgaWYgKCFyZWFkeSAmJiAhaGFzVmFsdWVbaV0pIHtcbiAgICAgICAgICAgICAgLy8gSWYgd2UncmUgbm90IHJlYWR5IHlldCwgZmxhZyB0byBzaG93IHRoaXMgb2JzZXJ2YWJsZSBoYXMgZW1pdHRlZC5cbiAgICAgICAgICAgICAgaGFzVmFsdWVbaV0gPSB0cnVlO1xuICAgICAgICAgICAgICAvLyBJbnRlbnRpb25hbGx5IHRlcnNlIGNvZGUuXG4gICAgICAgICAgICAgIC8vIElmIGFsbCBvZiBvdXIgb3RoZXIgb2JzZXJ2YWJsZXMgaGF2ZSBlbWl0dGVkLCBzZXQgYHJlYWR5YCB0byBgdHJ1ZWAsXG4gICAgICAgICAgICAgIC8vIHNvIHdlIGtub3cgd2UgY2FuIHN0YXJ0IGVtaXR0aW5nIHZhbHVlcywgdGhlbiBjbGVhbiB1cCB0aGUgYGhhc1ZhbHVlYCBhcnJheSxcbiAgICAgICAgICAgICAgLy8gYmVjYXVzZSB3ZSBkb24ndCBuZWVkIGl0IGFueW1vcmUuXG4gICAgICAgICAgICAgIChyZWFkeSA9IGhhc1ZhbHVlLmV2ZXJ5KGlkZW50aXR5KSkgJiYgKGhhc1ZhbHVlID0gbnVsbCEpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgLy8gQ29tcGxldGluZyBvbmUgb2YgdGhlIG90aGVyIHNvdXJjZXMgaGFzXG4gICAgICAgICAgLy8gbm8gYmVhcmluZyBvbiB0aGUgY29tcGxldGlvbiBvZiBvdXIgcmVzdWx0LlxuICAgICAgICAgIG5vb3BcbiAgICAgICAgKVxuICAgICAgKTtcbiAgICB9XG5cbiAgICAvLyBTb3VyY2Ugc3Vic2NyaXB0aW9uXG4gICAgc291cmNlLnN1YnNjcmliZShcbiAgICAgIGNyZWF0ZU9wZXJhdG9yU3Vic2NyaWJlcihzdWJzY3JpYmVyLCAodmFsdWUpID0+IHtcbiAgICAgICAgaWYgKHJlYWR5KSB7XG4gICAgICAgICAgLy8gV2UgaGF2ZSBhdCBsZWFzdCBvbmUgdmFsdWUgZnJvbSB0aGUgb3RoZXIgc291cmNlcy4gR28gYWhlYWQgYW5kIGVtaXQuXG4gICAgICAgICAgY29uc3QgdmFsdWVzID0gW3ZhbHVlLCAuLi5vdGhlclZhbHVlc107XG4gICAgICAgICAgc3Vic2NyaWJlci5uZXh0KHByb2plY3QgPyBwcm9qZWN0KC4uLnZhbHVlcykgOiB2YWx1ZXMpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IE9wZXJhdG9yRnVuY3Rpb24sIE9ic2VydmFibGVJbnB1dCB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IHppcCB9IGZyb20gJy4uL29ic2VydmFibGUvemlwJztcbmltcG9ydCB7IGpvaW5BbGxJbnRlcm5hbHMgfSBmcm9tICcuL2pvaW5BbGxJbnRlcm5hbHMnO1xuXG4vKipcbiAqIENvbGxlY3RzIGFsbCBvYnNlcnZhYmxlIGlubmVyIHNvdXJjZXMgZnJvbSB0aGUgc291cmNlLCBvbmNlIHRoZSBzb3VyY2UgY29tcGxldGVzLFxuICogaXQgd2lsbCBzdWJzY3JpYmUgdG8gYWxsIGlubmVyIHNvdXJjZXMsIGNvbWJpbmluZyB0aGVpciB2YWx1ZXMgYnkgaW5kZXggYW5kIGVtaXR0aW5nXG4gKiB0aGVtLlxuICpcbiAqIEBzZWUge0BsaW5rIHppcFdpdGh9XG4gKiBAc2VlIHtAbGluayB6aXB9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB6aXBBbGw8VD4oKTogT3BlcmF0b3JGdW5jdGlvbjxPYnNlcnZhYmxlSW5wdXQ8VD4sIFRbXT47XG5leHBvcnQgZnVuY3Rpb24gemlwQWxsPFQ+KCk6IE9wZXJhdG9yRnVuY3Rpb248YW55LCBUW10+O1xuZXhwb3J0IGZ1bmN0aW9uIHppcEFsbDxULCBSPihwcm9qZWN0OiAoLi4udmFsdWVzOiBUW10pID0+IFIpOiBPcGVyYXRvckZ1bmN0aW9uPE9ic2VydmFibGVJbnB1dDxUPiwgUj47XG5leHBvcnQgZnVuY3Rpb24gemlwQWxsPFI+KHByb2plY3Q6ICguLi52YWx1ZXM6IEFycmF5PGFueT4pID0+IFIpOiBPcGVyYXRvckZ1bmN0aW9uPGFueSwgUj47XG5cbmV4cG9ydCBmdW5jdGlvbiB6aXBBbGw8VCwgUj4ocHJvamVjdD86ICguLi52YWx1ZXM6IFRbXSkgPT4gUikge1xuICByZXR1cm4gam9pbkFsbEludGVybmFscyh6aXAsIHByb2plY3QpO1xufVxuIiwgImltcG9ydCB7IHppcCBhcyB6aXBTdGF0aWMgfSBmcm9tICcuLi9vYnNlcnZhYmxlL3ppcCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlSW5wdXQsIE9ic2VydmFibGVJbnB1dFR1cGxlLCBPcGVyYXRvckZ1bmN0aW9uLCBDb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgb3BlcmF0ZSB9IGZyb20gJy4uL3V0aWwvbGlmdCc7XG5cbi8qKiBAZGVwcmVjYXRlZCBSZXBsYWNlZCB3aXRoIHtAbGluayB6aXBXaXRofS4gV2lsbCBiZSByZW1vdmVkIGluIHY4LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHppcDxULCBBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdPihvdGhlcklucHV0czogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+XSk6IE9wZXJhdG9yRnVuY3Rpb248VCwgQ29uczxULCBBPj47XG4vKiogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCB7QGxpbmsgemlwV2l0aH0uIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiB6aXA8VCwgQSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgUj4oXG4gIG90aGVySW5wdXRzQW5kUHJvamVjdDogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+XSxcbiAgcHJvamVjdDogKC4uLnZhbHVlczogQ29uczxULCBBPikgPT4gUlxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBSPjtcbi8qKiBAZGVwcmVjYXRlZCBSZXBsYWNlZCB3aXRoIHtAbGluayB6aXBXaXRofS4gV2lsbCBiZSByZW1vdmVkIGluIHY4LiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHppcDxULCBBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdPiguLi5vdGhlcklucHV0czogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+XSk6IE9wZXJhdG9yRnVuY3Rpb248VCwgQ29uczxULCBBPj47XG4vKiogQGRlcHJlY2F0ZWQgUmVwbGFjZWQgd2l0aCB7QGxpbmsgemlwV2l0aH0uIFdpbGwgYmUgcmVtb3ZlZCBpbiB2OC4gKi9cbmV4cG9ydCBmdW5jdGlvbiB6aXA8VCwgQSBleHRlbmRzIHJlYWRvbmx5IHVua25vd25bXSwgUj4oXG4gIC4uLm90aGVySW5wdXRzQW5kUHJvamVjdDogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+LCAoLi4udmFsdWVzOiBDb25zPFQsIEE+KSA9PiBSXVxuKTogT3BlcmF0b3JGdW5jdGlvbjxULCBSPjtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCBSZXBsYWNlZCB3aXRoIHtAbGluayB6aXBXaXRofS4gV2lsbCBiZSByZW1vdmVkIGluIHY4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gemlwPFQsIFI+KC4uLnNvdXJjZXM6IEFycmF5PE9ic2VydmFibGVJbnB1dDxhbnk+IHwgKCguLi52YWx1ZXM6IEFycmF5PGFueT4pID0+IFIpPik6IE9wZXJhdG9yRnVuY3Rpb248VCwgYW55PiB7XG4gIHJldHVybiBvcGVyYXRlKChzb3VyY2UsIHN1YnNjcmliZXIpID0+IHtcbiAgICB6aXBTdGF0aWMoc291cmNlIGFzIE9ic2VydmFibGVJbnB1dDxhbnk+LCAuLi4oc291cmNlcyBhcyBBcnJheTxPYnNlcnZhYmxlSW5wdXQ8YW55Pj4pKS5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gIH0pO1xufVxuIiwgImltcG9ydCB7IE9ic2VydmFibGVJbnB1dFR1cGxlLCBPcGVyYXRvckZ1bmN0aW9uLCBDb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgemlwIH0gZnJvbSAnLi96aXAnO1xuXG4vKipcbiAqIFN1YnNjcmliZXMgdG8gdGhlIHNvdXJjZSwgYW5kIHRoZSBvYnNlcnZhYmxlIGlucHV0cyBwcm92aWRlZCBhcyBhcmd1bWVudHMsIGFuZCBjb21iaW5lcyB0aGVpciB2YWx1ZXMsIGJ5IGluZGV4LCBpbnRvIGFycmF5cy5cbiAqXG4gKiBXaGF0IGlzIG1lYW50IGJ5IFwiY29tYmluZSBieSBpbmRleFwiOiBUaGUgZmlyc3QgdmFsdWUgZnJvbSBlYWNoIHdpbGwgYmUgbWFkZSBpbnRvIGEgc2luZ2xlIGFycmF5LCB0aGVuIGVtaXR0ZWQsXG4gKiB0aGVuIHRoZSBzZWNvbmQgdmFsdWUgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBhIHNpbmdsZSBhcnJheSBhbmQgZW1pdHRlZCwgdGhlbiB0aGUgdGhpcmQgdmFsdWVcbiAqIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gYSBzaW5nbGUgYXJyYXkgYW5kIGVtaXR0ZWQsIGFuZCBzbyBvbi5cbiAqXG4gKiBUaGlzIHdpbGwgY29udGludWUgdW50aWwgaXQgaXMgbm8gbG9uZ2VyIGFibGUgdG8gY29tYmluZSB2YWx1ZXMgb2YgdGhlIHNhbWUgaW5kZXggaW50byBhbiBhcnJheS5cbiAqXG4gKiBBZnRlciB0aGUgbGFzdCB2YWx1ZSBmcm9tIGFueSBvbmUgY29tcGxldGVkIHNvdXJjZSBpcyBlbWl0dGVkIGluIGFuIGFycmF5LCB0aGUgcmVzdWx0aW5nIG9ic2VydmFibGUgd2lsbCBjb21wbGV0ZSxcbiAqIGFzIHRoZXJlIGlzIG5vIHdheSB0byBjb250aW51ZSBcInppcHBpbmdcIiB2YWx1ZXMgdG9nZXRoZXIgYnkgaW5kZXguXG4gKlxuICogVXNlLWNhc2VzIGZvciB0aGlzIG9wZXJhdG9yIGFyZSBsaW1pdGVkLiBUaGVyZSBhcmUgbWVtb3J5IGNvbmNlcm5zIGlmIG9uZSBvZiB0aGUgc3RyZWFtcyBpcyBlbWl0dGluZ1xuICogdmFsdWVzIGF0IGEgbXVjaCBmYXN0ZXIgcmF0ZSB0aGFuIHRoZSBvdGhlcnMuIFVzYWdlIHNob3VsZCBsaWtlbHkgYmUgbGltaXRlZCB0byBzdHJlYW1zIHRoYXQgZW1pdFxuICogYXQgYSBzaW1pbGFyIHBhY2UsIG9yIGZpbml0ZSBzdHJlYW1zIG9mIGtub3duIGxlbmd0aC5cbiAqXG4gKiBJbiBtYW55IGNhc2VzLCBhdXRob3JzIHdhbnQgYGNvbWJpbmVMYXRlc3RXaXRoYCBhbmQgbm90IGB6aXBXaXRoYC5cbiAqXG4gKiBAcGFyYW0gb3RoZXJJbnB1dHMgb3RoZXIgb2JzZXJ2YWJsZSBpbnB1dHMgdG8gY29sbGF0ZSB2YWx1ZXMgZnJvbS5cbiAqIEByZXR1cm4gQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgYW4gT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIGl0ZW1zIGJ5IGluZGV4XG4gKiBjb21iaW5lZCBmcm9tIHRoZSBzb3VyY2UgT2JzZXJ2YWJsZSBhbmQgcHJvdmlkZWQgT2JzZXJ2YWJsZXMsIGluIGZvcm0gb2YgYW5cbiAqIGFycmF5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gemlwV2l0aDxULCBBIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdPiguLi5vdGhlcklucHV0czogWy4uLk9ic2VydmFibGVJbnB1dFR1cGxlPEE+XSk6IE9wZXJhdG9yRnVuY3Rpb248VCwgQ29uczxULCBBPj4ge1xuICByZXR1cm4gemlwKC4uLm90aGVySW5wdXRzKTtcbn1cbiIsICIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBIZXJlIHdlIG5lZWQgdG8gcmVmZXJlbmNlIG91ciBvdGhlciBkZWVwIGltcG9ydHNcbi8vIHNvIFZTIGNvZGUgd2lsbCBmaWd1cmUgb3V0IHdoZXJlIHRoZXkgYXJlXG4vLyBzZWUgY29udmVyc2F0aW9uIGhlcmU6XG4vLyBodHRwczovL2dpdGh1Yi5jb20vbWljcm9zb2Z0L1R5cGVTY3JpcHQvaXNzdWVzLzQzMDM0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIHRzbGludDpkaXNhYmxlOiBuby1yZWZlcmVuY2Vcbi8vIEl0J3MgdGVtcHRpbmcgdG8gYWRkIHJlZmVyZW5jZXMgdG8gYWxsIG9mIHRoZSBkZWVwLWltcG9ydCBsb2NhdGlvbnMsIGJ1dFxuLy8gYWRkaW5nIHJlZmVyZW5jZXMgdG8gdGhvc2UgdGhhdCByZXF1aXJlIERPTSB0eXBlcyBicmVha3MgTm9kZSBwcm9qZWN0cy5cbi8vLyA8cmVmZXJlbmNlIHBhdGg9XCIuL29wZXJhdG9ycy9pbmRleC50c1wiIC8+XG4vLy8gPHJlZmVyZW5jZSBwYXRoPVwiLi90ZXN0aW5nL2luZGV4LnRzXCIgLz5cbi8vIHRzbGludDplbmFibGU6IG5vLXJlZmVyZW5jZVxuXG4vKiBPYnNlcnZhYmxlICovXG5leHBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAnLi9pbnRlcm5hbC9PYnNlcnZhYmxlJztcbmV4cG9ydCB7IENvbm5lY3RhYmxlT2JzZXJ2YWJsZSB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9Db25uZWN0YWJsZU9ic2VydmFibGUnO1xuZXhwb3J0IHsgR3JvdXBlZE9ic2VydmFibGUgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9ncm91cEJ5JztcbmV4cG9ydCB7IE9wZXJhdG9yIH0gZnJvbSAnLi9pbnRlcm5hbC9PcGVyYXRvcic7XG5leHBvcnQgeyBvYnNlcnZhYmxlIH0gZnJvbSAnLi9pbnRlcm5hbC9zeW1ib2wvb2JzZXJ2YWJsZSc7XG5leHBvcnQgeyBhbmltYXRpb25GcmFtZXMgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvZG9tL2FuaW1hdGlvbkZyYW1lcyc7XG5cbi8qIFN1YmplY3RzICovXG5leHBvcnQgeyBTdWJqZWN0IH0gZnJvbSAnLi9pbnRlcm5hbC9TdWJqZWN0JztcbmV4cG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJy4vaW50ZXJuYWwvQmVoYXZpb3JTdWJqZWN0JztcbmV4cG9ydCB7IFJlcGxheVN1YmplY3QgfSBmcm9tICcuL2ludGVybmFsL1JlcGxheVN1YmplY3QnO1xuZXhwb3J0IHsgQXN5bmNTdWJqZWN0IH0gZnJvbSAnLi9pbnRlcm5hbC9Bc3luY1N1YmplY3QnO1xuXG4vKiBTY2hlZHVsZXJzICovXG5leHBvcnQgeyBhc2FwLCBhc2FwU2NoZWR1bGVyIH0gZnJvbSAnLi9pbnRlcm5hbC9zY2hlZHVsZXIvYXNhcCc7XG5leHBvcnQgeyBhc3luYywgYXN5bmNTY2hlZHVsZXIgfSBmcm9tICcuL2ludGVybmFsL3NjaGVkdWxlci9hc3luYyc7XG5leHBvcnQgeyBxdWV1ZSwgcXVldWVTY2hlZHVsZXIgfSBmcm9tICcuL2ludGVybmFsL3NjaGVkdWxlci9xdWV1ZSc7XG5leHBvcnQgeyBhbmltYXRpb25GcmFtZSwgYW5pbWF0aW9uRnJhbWVTY2hlZHVsZXIgfSBmcm9tICcuL2ludGVybmFsL3NjaGVkdWxlci9hbmltYXRpb25GcmFtZSc7XG5leHBvcnQgeyBWaXJ0dWFsVGltZVNjaGVkdWxlciwgVmlydHVhbEFjdGlvbiB9IGZyb20gJy4vaW50ZXJuYWwvc2NoZWR1bGVyL1ZpcnR1YWxUaW1lU2NoZWR1bGVyJztcbmV4cG9ydCB7IFNjaGVkdWxlciB9IGZyb20gJy4vaW50ZXJuYWwvU2NoZWR1bGVyJztcblxuLyogU3Vic2NyaXB0aW9uICovXG5leHBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICcuL2ludGVybmFsL1N1YnNjcmlwdGlvbic7XG5leHBvcnQgeyBTdWJzY3JpYmVyIH0gZnJvbSAnLi9pbnRlcm5hbC9TdWJzY3JpYmVyJztcblxuLyogTm90aWZpY2F0aW9uICovXG5leHBvcnQgeyBOb3RpZmljYXRpb24sIE5vdGlmaWNhdGlvbktpbmQgfSBmcm9tICcuL2ludGVybmFsL05vdGlmaWNhdGlvbic7XG5cbi8qIFV0aWxzICovXG5leHBvcnQgeyBwaXBlIH0gZnJvbSAnLi9pbnRlcm5hbC91dGlsL3BpcGUnO1xuZXhwb3J0IHsgbm9vcCB9IGZyb20gJy4vaW50ZXJuYWwvdXRpbC9ub29wJztcbmV4cG9ydCB7IGlkZW50aXR5IH0gZnJvbSAnLi9pbnRlcm5hbC91dGlsL2lkZW50aXR5JztcbmV4cG9ydCB7IGlzT2JzZXJ2YWJsZSB9IGZyb20gJy4vaW50ZXJuYWwvdXRpbC9pc09ic2VydmFibGUnO1xuXG4vKiBQcm9taXNlIENvbnZlcnNpb24gKi9cbmV4cG9ydCB7IGxhc3RWYWx1ZUZyb20gfSBmcm9tICcuL2ludGVybmFsL2xhc3RWYWx1ZUZyb20nO1xuZXhwb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICcuL2ludGVybmFsL2ZpcnN0VmFsdWVGcm9tJztcblxuLyogRXJyb3IgdHlwZXMgKi9cbmV4cG9ydCB7IEFyZ3VtZW50T3V0T2ZSYW5nZUVycm9yIH0gZnJvbSAnLi9pbnRlcm5hbC91dGlsL0FyZ3VtZW50T3V0T2ZSYW5nZUVycm9yJztcbmV4cG9ydCB7IEVtcHR5RXJyb3IgfSBmcm9tICcuL2ludGVybmFsL3V0aWwvRW1wdHlFcnJvcic7XG5leHBvcnQgeyBOb3RGb3VuZEVycm9yIH0gZnJvbSAnLi9pbnRlcm5hbC91dGlsL05vdEZvdW5kRXJyb3InO1xuZXhwb3J0IHsgT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3IgfSBmcm9tICcuL2ludGVybmFsL3V0aWwvT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3InO1xuZXhwb3J0IHsgU2VxdWVuY2VFcnJvciB9IGZyb20gJy4vaW50ZXJuYWwvdXRpbC9TZXF1ZW5jZUVycm9yJztcbmV4cG9ydCB7IFRpbWVvdXRFcnJvciB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3RpbWVvdXQnO1xuZXhwb3J0IHsgVW5zdWJzY3JpcHRpb25FcnJvciB9IGZyb20gJy4vaW50ZXJuYWwvdXRpbC9VbnN1YnNjcmlwdGlvbkVycm9yJztcblxuLyogU3RhdGljIG9ic2VydmFibGUgY3JlYXRpb24gZXhwb3J0cyAqL1xuZXhwb3J0IHsgYmluZENhbGxiYWNrIH0gZnJvbSAnLi9pbnRlcm5hbC9vYnNlcnZhYmxlL2JpbmRDYWxsYmFjayc7XG5leHBvcnQgeyBiaW5kTm9kZUNhbGxiYWNrIH0gZnJvbSAnLi9pbnRlcm5hbC9vYnNlcnZhYmxlL2JpbmROb2RlQ2FsbGJhY2snO1xuZXhwb3J0IHsgY29tYmluZUxhdGVzdCB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9jb21iaW5lTGF0ZXN0JztcbmV4cG9ydCB7IGNvbmNhdCB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9jb25jYXQnO1xuZXhwb3J0IHsgY29ubmVjdGFibGUgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvY29ubmVjdGFibGUnO1xuZXhwb3J0IHsgZGVmZXIgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvZGVmZXInO1xuZXhwb3J0IHsgZW1wdHkgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvZW1wdHknO1xuZXhwb3J0IHsgZm9ya0pvaW4gfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvZm9ya0pvaW4nO1xuZXhwb3J0IHsgZnJvbSB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9mcm9tJztcbmV4cG9ydCB7IGZyb21FdmVudCB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9mcm9tRXZlbnQnO1xuZXhwb3J0IHsgZnJvbUV2ZW50UGF0dGVybiB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9mcm9tRXZlbnRQYXR0ZXJuJztcbmV4cG9ydCB7IGdlbmVyYXRlIH0gZnJvbSAnLi9pbnRlcm5hbC9vYnNlcnZhYmxlL2dlbmVyYXRlJztcbmV4cG9ydCB7IGlpZiB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9paWYnO1xuZXhwb3J0IHsgaW50ZXJ2YWwgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvaW50ZXJ2YWwnO1xuZXhwb3J0IHsgbWVyZ2UgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvbWVyZ2UnO1xuZXhwb3J0IHsgbmV2ZXIgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvbmV2ZXInO1xuZXhwb3J0IHsgb2YgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvb2YnO1xuZXhwb3J0IHsgb25FcnJvclJlc3VtZU5leHQgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvb25FcnJvclJlc3VtZU5leHQnO1xuZXhwb3J0IHsgcGFpcnMgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvcGFpcnMnO1xuZXhwb3J0IHsgcGFydGl0aW9uIH0gZnJvbSAnLi9pbnRlcm5hbC9vYnNlcnZhYmxlL3BhcnRpdGlvbic7XG5leHBvcnQgeyByYWNlIH0gZnJvbSAnLi9pbnRlcm5hbC9vYnNlcnZhYmxlL3JhY2UnO1xuZXhwb3J0IHsgcmFuZ2UgfSBmcm9tICcuL2ludGVybmFsL29ic2VydmFibGUvcmFuZ2UnO1xuZXhwb3J0IHsgdGhyb3dFcnJvciB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS90aHJvd0Vycm9yJztcbmV4cG9ydCB7IHRpbWVyIH0gZnJvbSAnLi9pbnRlcm5hbC9vYnNlcnZhYmxlL3RpbWVyJztcbmV4cG9ydCB7IHVzaW5nIH0gZnJvbSAnLi9pbnRlcm5hbC9vYnNlcnZhYmxlL3VzaW5nJztcbmV4cG9ydCB7IHppcCB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS96aXAnO1xuZXhwb3J0IHsgc2NoZWR1bGVkIH0gZnJvbSAnLi9pbnRlcm5hbC9zY2hlZHVsZWQvc2NoZWR1bGVkJztcblxuLyogQ29uc3RhbnRzICovXG5leHBvcnQgeyBFTVBUWSB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9lbXB0eSc7XG5leHBvcnQgeyBORVZFUiB9IGZyb20gJy4vaW50ZXJuYWwvb2JzZXJ2YWJsZS9uZXZlcic7XG5cbi8qIFR5cGVzICovXG5leHBvcnQgKiBmcm9tICcuL2ludGVybmFsL3R5cGVzJztcblxuLyogQ29uZmlnICovXG5leHBvcnQgeyBjb25maWcsIEdsb2JhbENvbmZpZyB9IGZyb20gJy4vaW50ZXJuYWwvY29uZmlnJztcblxuLyogT3BlcmF0b3JzICovXG5leHBvcnQgeyBhdWRpdCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2F1ZGl0JztcbmV4cG9ydCB7IGF1ZGl0VGltZSB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2F1ZGl0VGltZSc7XG5leHBvcnQgeyBidWZmZXIgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9idWZmZXInO1xuZXhwb3J0IHsgYnVmZmVyQ291bnQgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9idWZmZXJDb3VudCc7XG5leHBvcnQgeyBidWZmZXJUaW1lIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvYnVmZmVyVGltZSc7XG5leHBvcnQgeyBidWZmZXJUb2dnbGUgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9idWZmZXJUb2dnbGUnO1xuZXhwb3J0IHsgYnVmZmVyV2hlbiB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2J1ZmZlcldoZW4nO1xuZXhwb3J0IHsgY2F0Y2hFcnJvciB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2NhdGNoRXJyb3InO1xuZXhwb3J0IHsgY29tYmluZUFsbCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2NvbWJpbmVBbGwnO1xuZXhwb3J0IHsgY29tYmluZUxhdGVzdEFsbCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2NvbWJpbmVMYXRlc3RBbGwnO1xuZXhwb3J0IHsgY29tYmluZUxhdGVzdFdpdGggfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9jb21iaW5lTGF0ZXN0V2l0aCc7XG5leHBvcnQgeyBjb25jYXRBbGwgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9jb25jYXRBbGwnO1xuZXhwb3J0IHsgY29uY2F0TWFwIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvY29uY2F0TWFwJztcbmV4cG9ydCB7IGNvbmNhdE1hcFRvIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvY29uY2F0TWFwVG8nO1xuZXhwb3J0IHsgY29uY2F0V2l0aCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2NvbmNhdFdpdGgnO1xuZXhwb3J0IHsgY29ubmVjdCwgQ29ubmVjdENvbmZpZyB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2Nvbm5lY3QnO1xuZXhwb3J0IHsgY291bnQgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9jb3VudCc7XG5leHBvcnQgeyBkZWJvdW5jZSB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2RlYm91bmNlJztcbmV4cG9ydCB7IGRlYm91bmNlVGltZSB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2RlYm91bmNlVGltZSc7XG5leHBvcnQgeyBkZWZhdWx0SWZFbXB0eSB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2RlZmF1bHRJZkVtcHR5JztcbmV4cG9ydCB7IGRlbGF5IH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvZGVsYXknO1xuZXhwb3J0IHsgZGVsYXlXaGVuIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvZGVsYXlXaGVuJztcbmV4cG9ydCB7IGRlbWF0ZXJpYWxpemUgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9kZW1hdGVyaWFsaXplJztcbmV4cG9ydCB7IGRpc3RpbmN0IH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvZGlzdGluY3QnO1xuZXhwb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9kaXN0aW5jdFVudGlsQ2hhbmdlZCc7XG5leHBvcnQgeyBkaXN0aW5jdFVudGlsS2V5Q2hhbmdlZCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2Rpc3RpbmN0VW50aWxLZXlDaGFuZ2VkJztcbmV4cG9ydCB7IGVsZW1lbnRBdCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2VsZW1lbnRBdCc7XG5leHBvcnQgeyBlbmRXaXRoIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvZW5kV2l0aCc7XG5leHBvcnQgeyBldmVyeSB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2V2ZXJ5JztcbmV4cG9ydCB7IGV4aGF1c3QgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9leGhhdXN0JztcbmV4cG9ydCB7IGV4aGF1c3RBbGwgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9leGhhdXN0QWxsJztcbmV4cG9ydCB7IGV4aGF1c3RNYXAgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9leGhhdXN0TWFwJztcbmV4cG9ydCB7IGV4cGFuZCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2V4cGFuZCc7XG5leHBvcnQgeyBmaWx0ZXIgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9maWx0ZXInO1xuZXhwb3J0IHsgZmluYWxpemUgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9maW5hbGl6ZSc7XG5leHBvcnQgeyBmaW5kIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvZmluZCc7XG5leHBvcnQgeyBmaW5kSW5kZXggfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9maW5kSW5kZXgnO1xuZXhwb3J0IHsgZmlyc3QgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9maXJzdCc7XG5leHBvcnQgeyBncm91cEJ5LCBCYXNpY0dyb3VwQnlPcHRpb25zLCBHcm91cEJ5T3B0aW9uc1dpdGhFbGVtZW50IH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvZ3JvdXBCeSc7XG5leHBvcnQgeyBpZ25vcmVFbGVtZW50cyB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2lnbm9yZUVsZW1lbnRzJztcbmV4cG9ydCB7IGlzRW1wdHkgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9pc0VtcHR5JztcbmV4cG9ydCB7IGxhc3QgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9sYXN0JztcbmV4cG9ydCB7IG1hcCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL21hcCc7XG5leHBvcnQgeyBtYXBUbyB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL21hcFRvJztcbmV4cG9ydCB7IG1hdGVyaWFsaXplIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvbWF0ZXJpYWxpemUnO1xuZXhwb3J0IHsgbWF4IH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvbWF4JztcbmV4cG9ydCB7IG1lcmdlQWxsIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvbWVyZ2VBbGwnO1xuZXhwb3J0IHsgZmxhdE1hcCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL2ZsYXRNYXAnO1xuZXhwb3J0IHsgbWVyZ2VNYXAgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9tZXJnZU1hcCc7XG5leHBvcnQgeyBtZXJnZU1hcFRvIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvbWVyZ2VNYXBUbyc7XG5leHBvcnQgeyBtZXJnZVNjYW4gfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9tZXJnZVNjYW4nO1xuZXhwb3J0IHsgbWVyZ2VXaXRoIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvbWVyZ2VXaXRoJztcbmV4cG9ydCB7IG1pbiB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL21pbic7XG5leHBvcnQgeyBtdWx0aWNhc3QgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9tdWx0aWNhc3QnO1xuZXhwb3J0IHsgb2JzZXJ2ZU9uIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvb2JzZXJ2ZU9uJztcbmV4cG9ydCB7IG9uRXJyb3JSZXN1bWVOZXh0V2l0aCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL29uRXJyb3JSZXN1bWVOZXh0V2l0aCc7XG5leHBvcnQgeyBwYWlyd2lzZSB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3BhaXJ3aXNlJztcbmV4cG9ydCB7IHBsdWNrIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvcGx1Y2snO1xuZXhwb3J0IHsgcHVibGlzaCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3B1Ymxpc2gnO1xuZXhwb3J0IHsgcHVibGlzaEJlaGF2aW9yIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvcHVibGlzaEJlaGF2aW9yJztcbmV4cG9ydCB7IHB1Ymxpc2hMYXN0IH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvcHVibGlzaExhc3QnO1xuZXhwb3J0IHsgcHVibGlzaFJlcGxheSB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3B1Ymxpc2hSZXBsYXknO1xuZXhwb3J0IHsgcmFjZVdpdGggfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9yYWNlV2l0aCc7XG5leHBvcnQgeyByZWR1Y2UgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9yZWR1Y2UnO1xuZXhwb3J0IHsgcmVwZWF0LCBSZXBlYXRDb25maWcgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9yZXBlYXQnO1xuZXhwb3J0IHsgcmVwZWF0V2hlbiB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3JlcGVhdFdoZW4nO1xuZXhwb3J0IHsgcmV0cnksIFJldHJ5Q29uZmlnIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvcmV0cnknO1xuZXhwb3J0IHsgcmV0cnlXaGVuIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvcmV0cnlXaGVuJztcbmV4cG9ydCB7IHJlZkNvdW50IH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvcmVmQ291bnQnO1xuZXhwb3J0IHsgc2FtcGxlIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvc2FtcGxlJztcbmV4cG9ydCB7IHNhbXBsZVRpbWUgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9zYW1wbGVUaW1lJztcbmV4cG9ydCB7IHNjYW4gfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9zY2FuJztcbmV4cG9ydCB7IHNlcXVlbmNlRXF1YWwgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9zZXF1ZW5jZUVxdWFsJztcbmV4cG9ydCB7IHNoYXJlLCBTaGFyZUNvbmZpZyB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3NoYXJlJztcbmV4cG9ydCB7IHNoYXJlUmVwbGF5LCBTaGFyZVJlcGxheUNvbmZpZyB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3NoYXJlUmVwbGF5JztcbmV4cG9ydCB7IHNpbmdsZSB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3NpbmdsZSc7XG5leHBvcnQgeyBza2lwIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvc2tpcCc7XG5leHBvcnQgeyBza2lwTGFzdCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3NraXBMYXN0JztcbmV4cG9ydCB7IHNraXBVbnRpbCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3NraXBVbnRpbCc7XG5leHBvcnQgeyBza2lwV2hpbGUgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9za2lwV2hpbGUnO1xuZXhwb3J0IHsgc3RhcnRXaXRoIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvc3RhcnRXaXRoJztcbmV4cG9ydCB7IHN1YnNjcmliZU9uIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvc3Vic2NyaWJlT24nO1xuZXhwb3J0IHsgc3dpdGNoQWxsIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvc3dpdGNoQWxsJztcbmV4cG9ydCB7IHN3aXRjaE1hcCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3N3aXRjaE1hcCc7XG5leHBvcnQgeyBzd2l0Y2hNYXBUbyB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3N3aXRjaE1hcFRvJztcbmV4cG9ydCB7IHN3aXRjaFNjYW4gfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy9zd2l0Y2hTY2FuJztcbmV4cG9ydCB7IHRha2UgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy90YWtlJztcbmV4cG9ydCB7IHRha2VMYXN0IH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvdGFrZUxhc3QnO1xuZXhwb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvdGFrZVVudGlsJztcbmV4cG9ydCB7IHRha2VXaGlsZSB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3Rha2VXaGlsZSc7XG5leHBvcnQgeyB0YXAsIFRhcE9ic2VydmVyIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvdGFwJztcbmV4cG9ydCB7IHRocm90dGxlLCBUaHJvdHRsZUNvbmZpZyB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3Rocm90dGxlJztcbmV4cG9ydCB7IHRocm90dGxlVGltZSB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3Rocm90dGxlVGltZSc7XG5leHBvcnQgeyB0aHJvd0lmRW1wdHkgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy90aHJvd0lmRW1wdHknO1xuZXhwb3J0IHsgdGltZUludGVydmFsIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvdGltZUludGVydmFsJztcbmV4cG9ydCB7IHRpbWVvdXQsIFRpbWVvdXRDb25maWcsIFRpbWVvdXRJbmZvIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvdGltZW91dCc7XG5leHBvcnQgeyB0aW1lb3V0V2l0aCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3RpbWVvdXRXaXRoJztcbmV4cG9ydCB7IHRpbWVzdGFtcCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3RpbWVzdGFtcCc7XG5leHBvcnQgeyB0b0FycmF5IH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvdG9BcnJheSc7XG5leHBvcnQgeyB3aW5kb3cgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy93aW5kb3cnO1xuZXhwb3J0IHsgd2luZG93Q291bnQgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy93aW5kb3dDb3VudCc7XG5leHBvcnQgeyB3aW5kb3dUaW1lIH0gZnJvbSAnLi9pbnRlcm5hbC9vcGVyYXRvcnMvd2luZG93VGltZSc7XG5leHBvcnQgeyB3aW5kb3dUb2dnbGUgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy93aW5kb3dUb2dnbGUnO1xuZXhwb3J0IHsgd2luZG93V2hlbiB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3dpbmRvd1doZW4nO1xuZXhwb3J0IHsgd2l0aExhdGVzdEZyb20gfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy93aXRoTGF0ZXN0RnJvbSc7XG5leHBvcnQgeyB6aXBBbGwgfSBmcm9tICcuL2ludGVybmFsL29wZXJhdG9ycy96aXBBbGwnO1xuZXhwb3J0IHsgemlwV2l0aCB9IGZyb20gJy4vaW50ZXJuYWwvb3BlcmF0b3JzL3ppcFdpdGgnO1xuIiwgIid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSBjbGlXaWR0aDtcblxuZnVuY3Rpb24gbm9ybWFsaXplT3B0cyhvcHRpb25zKSB7XG4gIGNvbnN0IGRlZmF1bHRPcHRzID0ge1xuICAgIGRlZmF1bHRXaWR0aDogMCxcbiAgICBvdXRwdXQ6IHByb2Nlc3Muc3Rkb3V0LFxuICAgIHR0eTogcmVxdWlyZSgndHR5JyksXG4gIH07XG5cbiAgaWYgKCFvcHRpb25zKSB7XG4gICAgcmV0dXJuIGRlZmF1bHRPcHRzO1xuICB9XG5cbiAgT2JqZWN0LmtleXMoZGVmYXVsdE9wdHMpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgIGlmICghb3B0aW9uc1trZXldKSB7XG4gICAgICBvcHRpb25zW2tleV0gPSBkZWZhdWx0T3B0c1trZXldO1xuICAgIH1cbiAgfSk7XG5cbiAgcmV0dXJuIG9wdGlvbnM7XG59XG5cbmZ1bmN0aW9uIGNsaVdpZHRoKG9wdGlvbnMpIHtcbiAgY29uc3Qgb3B0cyA9IG5vcm1hbGl6ZU9wdHMob3B0aW9ucyk7XG5cbiAgaWYgKG9wdHMub3V0cHV0LmdldFdpbmRvd1NpemUpIHtcbiAgICByZXR1cm4gb3B0cy5vdXRwdXQuZ2V0V2luZG93U2l6ZSgpWzBdIHx8IG9wdHMuZGVmYXVsdFdpZHRoO1xuICB9XG5cbiAgaWYgKG9wdHMudHR5LmdldFdpbmRvd1NpemUpIHtcbiAgICByZXR1cm4gb3B0cy50dHkuZ2V0V2luZG93U2l6ZSgpWzFdIHx8IG9wdHMuZGVmYXVsdFdpZHRoO1xuICB9XG5cbiAgaWYgKG9wdHMub3V0cHV0LmNvbHVtbnMpIHtcbiAgICByZXR1cm4gb3B0cy5vdXRwdXQuY29sdW1ucztcbiAgfVxuXG4gIGlmIChwcm9jZXNzLmVudi5DTElfV0lEVEgpIHtcbiAgICBjb25zdCB3aWR0aCA9IHBhcnNlSW50KHByb2Nlc3MuZW52LkNMSV9XSURUSCwgMTApO1xuXG4gICAgaWYgKCFpc05hTih3aWR0aCkgJiYgd2lkdGggIT09IDApIHtcbiAgICAgIHJldHVybiB3aWR0aDtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gb3B0cy5kZWZhdWx0V2lkdGg7XG59XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9ICh7b25seUZpcnN0ID0gZmFsc2V9ID0ge30pID0+IHtcblx0Y29uc3QgcGF0dGVybiA9IFtcblx0XHQnW1xcXFx1MDAxQlxcXFx1MDA5Ql1bW1xcXFxdKCkjOz9dKig/Oig/Oig/Oig/OjtbLWEtekEtWlxcXFxkXFxcXC8jJi46PT8lQH5fXSspKnxbYS16QS1aXFxcXGRdKyg/OjtbLWEtekEtWlxcXFxkXFxcXC8jJi46PT8lQH5fXSopKik/XFxcXHUwMDA3KScsXG5cdFx0Jyg/Oig/OlxcXFxkezEsNH0oPzo7XFxcXGR7MCw0fSkqKT9bXFxcXGRBLVBSLVRaY2YtbnRxcnk9Pjx+XSkpJ1xuXHRdLmpvaW4oJ3wnKTtcblxuXHRyZXR1cm4gbmV3IFJlZ0V4cChwYXR0ZXJuLCBvbmx5Rmlyc3QgPyB1bmRlZmluZWQgOiAnZycpO1xufTtcbiIsICIndXNlIHN0cmljdCc7XG5jb25zdCBhbnNpUmVnZXggPSByZXF1aXJlKCdhbnNpLXJlZ2V4Jyk7XG5cbm1vZHVsZS5leHBvcnRzID0gc3RyaW5nID0+IHR5cGVvZiBzdHJpbmcgPT09ICdzdHJpbmcnID8gc3RyaW5nLnJlcGxhY2UoYW5zaVJlZ2V4KCksICcnKSA6IHN0cmluZztcbiIsICIvKiBlc2xpbnQtZGlzYWJsZSB5b2RhICovXG4ndXNlIHN0cmljdCc7XG5cbmNvbnN0IGlzRnVsbHdpZHRoQ29kZVBvaW50ID0gY29kZVBvaW50ID0+IHtcblx0aWYgKE51bWJlci5pc05hTihjb2RlUG9pbnQpKSB7XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0Ly8gQ29kZSBwb2ludHMgYXJlIGRlcml2ZWQgZnJvbTpcblx0Ly8gaHR0cDovL3d3dy51bml4Lm9yZy9QdWJsaWMvVU5JREFUQS9FYXN0QXNpYW5XaWR0aC50eHRcblx0aWYgKFxuXHRcdGNvZGVQb2ludCA+PSAweDExMDAgJiYgKFxuXHRcdFx0Y29kZVBvaW50IDw9IDB4MTE1RiB8fCAvLyBIYW5ndWwgSmFtb1xuXHRcdFx0Y29kZVBvaW50ID09PSAweDIzMjkgfHwgLy8gTEVGVC1QT0lOVElORyBBTkdMRSBCUkFDS0VUXG5cdFx0XHRjb2RlUG9pbnQgPT09IDB4MjMyQSB8fCAvLyBSSUdIVC1QT0lOVElORyBBTkdMRSBCUkFDS0VUXG5cdFx0XHQvLyBDSksgUmFkaWNhbHMgU3VwcGxlbWVudCAuLiBFbmNsb3NlZCBDSksgTGV0dGVycyBhbmQgTW9udGhzXG5cdFx0XHQoMHgyRTgwIDw9IGNvZGVQb2ludCAmJiBjb2RlUG9pbnQgPD0gMHgzMjQ3ICYmIGNvZGVQb2ludCAhPT0gMHgzMDNGKSB8fFxuXHRcdFx0Ly8gRW5jbG9zZWQgQ0pLIExldHRlcnMgYW5kIE1vbnRocyAuLiBDSksgVW5pZmllZCBJZGVvZ3JhcGhzIEV4dGVuc2lvbiBBXG5cdFx0XHQoMHgzMjUwIDw9IGNvZGVQb2ludCAmJiBjb2RlUG9pbnQgPD0gMHg0REJGKSB8fFxuXHRcdFx0Ly8gQ0pLIFVuaWZpZWQgSWRlb2dyYXBocyAuLiBZaSBSYWRpY2Fsc1xuXHRcdFx0KDB4NEUwMCA8PSBjb2RlUG9pbnQgJiYgY29kZVBvaW50IDw9IDB4QTRDNikgfHxcblx0XHRcdC8vIEhhbmd1bCBKYW1vIEV4dGVuZGVkLUFcblx0XHRcdCgweEE5NjAgPD0gY29kZVBvaW50ICYmIGNvZGVQb2ludCA8PSAweEE5N0MpIHx8XG5cdFx0XHQvLyBIYW5ndWwgU3lsbGFibGVzXG5cdFx0XHQoMHhBQzAwIDw9IGNvZGVQb2ludCAmJiBjb2RlUG9pbnQgPD0gMHhEN0EzKSB8fFxuXHRcdFx0Ly8gQ0pLIENvbXBhdGliaWxpdHkgSWRlb2dyYXBoc1xuXHRcdFx0KDB4RjkwMCA8PSBjb2RlUG9pbnQgJiYgY29kZVBvaW50IDw9IDB4RkFGRikgfHxcblx0XHRcdC8vIFZlcnRpY2FsIEZvcm1zXG5cdFx0XHQoMHhGRTEwIDw9IGNvZGVQb2ludCAmJiBjb2RlUG9pbnQgPD0gMHhGRTE5KSB8fFxuXHRcdFx0Ly8gQ0pLIENvbXBhdGliaWxpdHkgRm9ybXMgLi4gU21hbGwgRm9ybSBWYXJpYW50c1xuXHRcdFx0KDB4RkUzMCA8PSBjb2RlUG9pbnQgJiYgY29kZVBvaW50IDw9IDB4RkU2QikgfHxcblx0XHRcdC8vIEhhbGZ3aWR0aCBhbmQgRnVsbHdpZHRoIEZvcm1zXG5cdFx0XHQoMHhGRjAxIDw9IGNvZGVQb2ludCAmJiBjb2RlUG9pbnQgPD0gMHhGRjYwKSB8fFxuXHRcdFx0KDB4RkZFMCA8PSBjb2RlUG9pbnQgJiYgY29kZVBvaW50IDw9IDB4RkZFNikgfHxcblx0XHRcdC8vIEthbmEgU3VwcGxlbWVudFxuXHRcdFx0KDB4MUIwMDAgPD0gY29kZVBvaW50ICYmIGNvZGVQb2ludCA8PSAweDFCMDAxKSB8fFxuXHRcdFx0Ly8gRW5jbG9zZWQgSWRlb2dyYXBoaWMgU3VwcGxlbWVudFxuXHRcdFx0KDB4MUYyMDAgPD0gY29kZVBvaW50ICYmIGNvZGVQb2ludCA8PSAweDFGMjUxKSB8fFxuXHRcdFx0Ly8gQ0pLIFVuaWZpZWQgSWRlb2dyYXBocyBFeHRlbnNpb24gQiAuLiBUZXJ0aWFyeSBJZGVvZ3JhcGhpYyBQbGFuZVxuXHRcdFx0KDB4MjAwMDAgPD0gY29kZVBvaW50ICYmIGNvZGVQb2ludCA8PSAweDNGRkZEKVxuXHRcdClcblx0KSB7XG5cdFx0cmV0dXJuIHRydWU7XG5cdH1cblxuXHRyZXR1cm4gZmFsc2U7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IGlzRnVsbHdpZHRoQ29kZVBvaW50O1xubW9kdWxlLmV4cG9ydHMuZGVmYXVsdCA9IGlzRnVsbHdpZHRoQ29kZVBvaW50O1xuIiwgIlwidXNlIHN0cmljdFwiO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uICgpIHtcbiAgLy8gaHR0cHM6Ly9tdGhzLmJlL2Vtb2ppXG4gIHJldHVybiAvXFx1RDgzQ1xcdURGRjRcXHVEQjQwXFx1REM2N1xcdURCNDBcXHVEQzYyKD86XFx1REI0MFxcdURDNjVcXHVEQjQwXFx1REM2RVxcdURCNDBcXHVEQzY3fFxcdURCNDBcXHVEQzczXFx1REI0MFxcdURDNjNcXHVEQjQwXFx1REM3NHxcXHVEQjQwXFx1REM3N1xcdURCNDBcXHVEQzZDXFx1REI0MFxcdURDNzMpXFx1REI0MFxcdURDN0Z8XFx1RDgzRFxcdURDNjgoPzpcXHVEODNDXFx1REZGQ1xcdTIwMEQoPzpcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OFxcdUQ4M0NcXHVERkZCfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0VbXFx1RERBRi1cXHVEREIzXFx1RERCQ1xcdUREQkRdKXxcXHVEODNDXFx1REZGRlxcdTIwMEQoPzpcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OCg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXSl8XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRVtcXHVEREFGLVxcdUREQjNcXHVEREJDXFx1RERCRF0pfFxcdUQ4M0NcXHVERkZFXFx1MjAwRCg/OlxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4KD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkRdKXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFW1xcdUREQUYtXFx1RERCM1xcdUREQkNcXHVEREJEXSl8XFx1RDgzQ1xcdURGRkRcXHUyMDBEKD86XFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjgoPzpcXHVEODNDW1xcdURGRkJcXHVERkZDXSl8XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRVtcXHVEREFGLVxcdUREQjNcXHVEREJDXFx1RERCRF0pfFxcdTIwMEQoPzpcXHUyNzY0XFx1RkUwRlxcdTIwMEQoPzpcXHVEODNEXFx1REM4QlxcdTIwMEQpP1xcdUQ4M0RcXHVEQzY4fCg/OlxcdUQ4M0RbXFx1REM2OFxcdURDNjldKVxcdTIwMEQoPzpcXHVEODNEXFx1REM2NlxcdTIwMERcXHVEODNEXFx1REM2NnxcXHVEODNEXFx1REM2N1xcdTIwMEQoPzpcXHVEODNEW1xcdURDNjZcXHVEQzY3XSkpfFxcdUQ4M0RcXHVEQzY2XFx1MjAwRFxcdUQ4M0RcXHVEQzY2fFxcdUQ4M0RcXHVEQzY3XFx1MjAwRCg/OlxcdUQ4M0RbXFx1REM2NlxcdURDNjddKXwoPzpcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHUyMDBEKD86XFx1RDgzRFtcXHVEQzY2XFx1REM2N10pfFtcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRnxcXHVEODNEW1xcdURDNjZcXHVEQzY3XXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFW1xcdUREQUYtXFx1RERCM1xcdUREQkNcXHVEREJEXSl8KD86XFx1RDgzQ1xcdURGRkJcXHUyMDBEW1xcdTI2OTVcXHUyNjk2XFx1MjcwOF18XFx1RDgzQ1xcdURGRkZcXHUyMDBEW1xcdTI2OTVcXHUyNjk2XFx1MjcwOF18XFx1RDgzQ1xcdURGRkVcXHUyMDBEW1xcdTI2OTVcXHUyNjk2XFx1MjcwOF18XFx1RDgzQ1xcdURGRkRcXHUyMDBEW1xcdTI2OTVcXHUyNjk2XFx1MjcwOF18XFx1RDgzQ1xcdURGRkNcXHUyMDBEW1xcdTI2OTVcXHUyNjk2XFx1MjcwOF0pXFx1RkUwRnxcXHVEODNDXFx1REZGQlxcdTIwMEQoPzpcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFW1xcdUREQUYtXFx1RERCM1xcdUREQkNcXHVEREJEXSl8XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKXwoPzpcXHVEODNFXFx1REREMVxcdUQ4M0NcXHVERkZCXFx1MjAwRFxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxfFxcdUQ4M0RcXHVEQzY5XFx1RDgzQ1xcdURGRkNcXHUyMDBEXFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjkpXFx1RDgzQ1xcdURGRkJ8XFx1RDgzRVxcdURERDEoPzpcXHVEODNDXFx1REZGRlxcdTIwMERcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSl8XFx1MjAwRFxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxKXwoPzpcXHVEODNFXFx1REREMVxcdUQ4M0NcXHVERkZFXFx1MjAwRFxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxfFxcdUQ4M0RcXHVEQzY5XFx1RDgzQ1xcdURGRkZcXHUyMDBEXFx1RDgzRVxcdUREMURcXHUyMDBEKD86XFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pKSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXSl8KD86XFx1RDgzRVxcdURERDFcXHVEODNDXFx1REZGQ1xcdTIwMERcXHVEODNFXFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMXxcXHVEODNEXFx1REM2OVxcdUQ4M0NcXHVERkZEXFx1MjAwRFxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY5KSg/OlxcdUQ4M0NbXFx1REZGQlxcdURGRkNdKXxcXHVEODNEXFx1REM2OSg/OlxcdUQ4M0NcXHVERkZFXFx1MjAwRCg/OlxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4KD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkRcXHVERkZGXSl8XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRVtcXHVEREFGLVxcdUREQjNcXHVEREJDXFx1RERCRF0pfFxcdUQ4M0NcXHVERkZDXFx1MjAwRCg/OlxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4KD86XFx1RDgzQ1tcXHVERkZCXFx1REZGRC1cXHVERkZGXSl8XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRVtcXHVEREFGLVxcdUREQjNcXHVEREJDXFx1RERCRF0pfFxcdUQ4M0NcXHVERkZCXFx1MjAwRCg/OlxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4KD86XFx1RDgzQ1tcXHVERkZDLVxcdURGRkZdKXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFW1xcdUREQUYtXFx1RERCM1xcdUREQkNcXHVEREJEXSl8XFx1RDgzQ1xcdURGRkRcXHUyMDBEKD86XFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjgoPzpcXHVEODNDW1xcdURGRkJcXHVERkZDXFx1REZGRVxcdURGRkZdKXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFW1xcdUREQUYtXFx1RERCM1xcdUREQkNcXHVEREJEXSl8XFx1MjAwRCg/OlxcdTI3NjRcXHVGRTBGXFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCg/OlxcdUQ4M0RbXFx1REM2OFxcdURDNjldKXxcXHVEODNEW1xcdURDNjhcXHVEQzY5XSl8XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRVtcXHVEREFGLVxcdUREQjNcXHVEREJDXFx1RERCRF0pfFxcdUQ4M0NcXHVERkZGXFx1MjAwRCg/OlxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0VbXFx1RERBRi1cXHVEREIzXFx1RERCQ1xcdUREQkRdKSl8XFx1RDgzRFxcdURDNjlcXHUyMDBEXFx1RDgzRFxcdURDNjlcXHUyMDBEKD86XFx1RDgzRFxcdURDNjZcXHUyMDBEXFx1RDgzRFxcdURDNjZ8XFx1RDgzRFxcdURDNjdcXHUyMDBEKD86XFx1RDgzRFtcXHVEQzY2XFx1REM2N10pKXwoPzpcXHVEODNFXFx1REREMVxcdUQ4M0NcXHVERkZEXFx1MjAwRFxcdUQ4M0VcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxfFxcdUQ4M0RcXHVEQzY5XFx1RDgzQ1xcdURGRkVcXHUyMDBEXFx1RDgzRVxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjkpKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkRdKXxcXHVEODNEXFx1REM2OVxcdTIwMERcXHVEODNEXFx1REM2NlxcdTIwMERcXHVEODNEXFx1REM2NnxcXHVEODNEXFx1REM2OVxcdTIwMERcXHVEODNEXFx1REM2OVxcdTIwMEQoPzpcXHVEODNEW1xcdURDNjZcXHVEQzY3XSl8KD86XFx1RDgzRFxcdURDNDFcXHVGRTBGXFx1MjAwRFxcdUQ4M0RcXHVEREU4fFxcdUQ4M0RcXHVEQzY5KD86XFx1RDgzQ1xcdURGRkZcXHUyMDBEW1xcdTI2OTVcXHUyNjk2XFx1MjcwOF18XFx1RDgzQ1xcdURGRkVcXHUyMDBEW1xcdTI2OTVcXHUyNjk2XFx1MjcwOF18XFx1RDgzQ1xcdURGRkNcXHUyMDBEW1xcdTI2OTVcXHUyNjk2XFx1MjcwOF18XFx1RDgzQ1xcdURGRkJcXHUyMDBEW1xcdTI2OTVcXHUyNjk2XFx1MjcwOF18XFx1RDgzQ1xcdURGRkRcXHUyMDBEW1xcdTI2OTVcXHUyNjk2XFx1MjcwOF18XFx1MjAwRFtcXHUyNjk1XFx1MjY5NlxcdTI3MDhdKXwoPzooPzpcXHUyNkY5fFxcdUQ4M0NbXFx1REZDQlxcdURGQ0NdfFxcdUQ4M0RcXHVERDc1KVxcdUZFMEZ8XFx1RDgzRFxcdURDNkZ8XFx1RDgzRVtcXHVERDNDXFx1RERERVxcdUREREZdKVxcdTIwMERbXFx1MjY0MFxcdTI2NDJdfCg/OlxcdTI2Rjl8XFx1RDgzQ1tcXHVERkNCXFx1REZDQ118XFx1RDgzRFxcdURENzUpKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKVxcdTIwMERbXFx1MjY0MFxcdTI2NDJdfCg/OlxcdUQ4M0NbXFx1REZDM1xcdURGQzRcXHVERkNBXXxcXHVEODNEW1xcdURDNkVcXHVEQzcxXFx1REM3M1xcdURDNzdcXHVEQzgxXFx1REM4MlxcdURDODZcXHVEQzg3XFx1REU0NS1cXHVERTQ3XFx1REU0QlxcdURFNERcXHVERTRFXFx1REVBM1xcdURFQjQtXFx1REVCNl18XFx1RDgzRVtcXHVERDI2XFx1REQzNy1cXHVERDM5XFx1REQzRFxcdUREM0VcXHVEREI4XFx1RERCOVxcdUREQ0QtXFx1RERDRlxcdURERDYtXFx1RERERF0pKD86KD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKVxcdTIwMERbXFx1MjY0MFxcdTI2NDJdfFxcdTIwMERbXFx1MjY0MFxcdTI2NDJdKXxcXHVEODNDXFx1REZGNFxcdTIwMERcXHUyNjIwKVxcdUZFMEZ8XFx1RDgzRFxcdURDNjlcXHUyMDBEXFx1RDgzRFxcdURDNjdcXHUyMDBEKD86XFx1RDgzRFtcXHVEQzY2XFx1REM2N10pfFxcdUQ4M0NcXHVERkYzXFx1RkUwRlxcdTIwMERcXHVEODNDXFx1REYwOHxcXHVEODNEXFx1REMxNVxcdTIwMERcXHVEODNFXFx1RERCQXxcXHVEODNEXFx1REM2OVxcdTIwMERcXHVEODNEXFx1REM2NnxcXHVEODNEXFx1REM2OVxcdTIwMERcXHVEODNEXFx1REM2N3xcXHVEODNDXFx1RERGRFxcdUQ4M0NcXHVEREYwfFxcdUQ4M0NcXHVEREY0XFx1RDgzQ1xcdURERjJ8XFx1RDgzQ1xcdURERjZcXHVEODNDXFx1RERFNnxbI1xcKjAtOV1cXHVGRTBGXFx1MjBFM3xcXHVEODNDXFx1RERFNyg/OlxcdUQ4M0NbXFx1RERFNlxcdURERTdcXHVEREU5LVxcdURERUZcXHVEREYxLVxcdURERjRcXHVEREY2LVxcdURERjlcXHVEREZCXFx1RERGQ1xcdURERkVcXHVEREZGXSl8XFx1RDgzQ1xcdURERjkoPzpcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFOVxcdURERUItXFx1RERFRFxcdURERUYtXFx1RERGNFxcdURERjdcXHVEREY5XFx1RERGQlxcdURERkNcXHVEREZGXSl8XFx1RDgzQ1xcdURERUEoPzpcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFQVxcdURERUNcXHVEREVEXFx1RERGNy1cXHVEREZBXSl8XFx1RDgzRVxcdURERDEoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pfFxcdUQ4M0NcXHVEREY3KD86XFx1RDgzQ1tcXHVEREVBXFx1RERGNFxcdURERjhcXHVEREZBXFx1RERGQ10pfFxcdUQ4M0RcXHVEQzY5KD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKXxcXHVEODNDXFx1RERGMig/OlxcdUQ4M0NbXFx1RERFNlxcdURERTgtXFx1RERFRFxcdURERjAtXFx1RERGRl0pfFxcdUQ4M0NcXHVEREU2KD86XFx1RDgzQ1tcXHVEREU4LVxcdURERUNcXHVEREVFXFx1RERGMVxcdURERjJcXHVEREY0XFx1RERGNi1cXHVEREZBXFx1RERGQ1xcdURERkRcXHVEREZGXSl8XFx1RDgzQ1xcdURERjAoPzpcXHVEODNDW1xcdURERUFcXHVEREVDLVxcdURERUVcXHVEREYyXFx1RERGM1xcdURERjVcXHVEREY3XFx1RERGQ1xcdURERkVcXHVEREZGXSl8XFx1RDgzQ1xcdURERUQoPzpcXHVEODNDW1xcdURERjBcXHVEREYyXFx1RERGM1xcdURERjdcXHVEREY5XFx1RERGQV0pfFxcdUQ4M0NcXHVEREU5KD86XFx1RDgzQ1tcXHVEREVBXFx1RERFQ1xcdURERUZcXHVEREYwXFx1RERGMlxcdURERjRcXHVEREZGXSl8XFx1RDgzQ1xcdURERkUoPzpcXHVEODNDW1xcdURERUFcXHVEREY5XSl8XFx1RDgzQ1xcdURERUMoPzpcXHVEODNDW1xcdURERTZcXHVEREU3XFx1RERFOS1cXHVEREVFXFx1RERGMS1cXHVEREYzXFx1RERGNS1cXHVEREZBXFx1RERGQ1xcdURERkVdKXxcXHVEODNDXFx1RERGOCg/OlxcdUQ4M0NbXFx1RERFNi1cXHVEREVBXFx1RERFQy1cXHVEREY0XFx1RERGNy1cXHVEREY5XFx1RERGQlxcdURERkQtXFx1RERGRl0pfFxcdUQ4M0NcXHVEREVCKD86XFx1RDgzQ1tcXHVEREVFLVxcdURERjBcXHVEREYyXFx1RERGNFxcdURERjddKXxcXHVEODNDXFx1RERGNSg/OlxcdUQ4M0NbXFx1RERFNlxcdURERUEtXFx1RERFRFxcdURERjAtXFx1RERGM1xcdURERjctXFx1RERGOVxcdURERkNcXHVEREZFXSl8XFx1RDgzQ1xcdURERkIoPzpcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFQVxcdURERUNcXHVEREVFXFx1RERGM1xcdURERkFdKXxcXHVEODNDXFx1RERGMyg/OlxcdUQ4M0NbXFx1RERFNlxcdURERThcXHVEREVBLVxcdURERUNcXHVEREVFXFx1RERGMVxcdURERjRcXHVEREY1XFx1RERGN1xcdURERkFcXHVEREZGXSl8XFx1RDgzQ1xcdURERTgoPzpcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFOVxcdURERUItXFx1RERFRVxcdURERjAtXFx1RERGNVxcdURERjdcXHVEREZBLVxcdURERkZdKXxcXHVEODNDXFx1RERGMSg/OlxcdUQ4M0NbXFx1RERFNi1cXHVEREU4XFx1RERFRVxcdURERjBcXHVEREY3LVxcdURERkJcXHVEREZFXSl8XFx1RDgzQ1xcdURERkYoPzpcXHVEODNDW1xcdURERTZcXHVEREYyXFx1RERGQ10pfFxcdUQ4M0NcXHVEREZDKD86XFx1RDgzQ1tcXHVEREVCXFx1RERGOF0pfFxcdUQ4M0NcXHVEREZBKD86XFx1RDgzQ1tcXHVEREU2XFx1RERFQ1xcdURERjJcXHVEREYzXFx1RERGOFxcdURERkVcXHVEREZGXSl8XFx1RDgzQ1xcdURERUUoPzpcXHVEODNDW1xcdURERTgtXFx1RERFQVxcdURERjEtXFx1RERGNFxcdURERjYtXFx1RERGOV0pfFxcdUQ4M0NcXHVEREVGKD86XFx1RDgzQ1tcXHVEREVBXFx1RERGMlxcdURERjRcXHVEREY1XSl8KD86XFx1RDgzQ1tcXHVERkMzXFx1REZDNFxcdURGQ0FdfFxcdUQ4M0RbXFx1REM2RVxcdURDNzFcXHVEQzczXFx1REM3N1xcdURDODFcXHVEQzgyXFx1REM4NlxcdURDODdcXHVERTQ1LVxcdURFNDdcXHVERTRCXFx1REU0RFxcdURFNEVcXHVERUEzXFx1REVCNC1cXHVERUI2XXxcXHVEODNFW1xcdUREMjZcXHVERDM3LVxcdUREMzlcXHVERDNEXFx1REQzRVxcdUREQjhcXHVEREI5XFx1RERDRC1cXHVERENGXFx1RERENi1cXHVEREREXSkoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pfCg/OlxcdTI2Rjl8XFx1RDgzQ1tcXHVERkNCXFx1REZDQ118XFx1RDgzRFxcdURENzUpKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKXwoPzpbXFx1MjYxRFxcdTI3MEEtXFx1MjcwRF18XFx1RDgzQ1tcXHVERjg1XFx1REZDMlxcdURGQzddfFxcdUQ4M0RbXFx1REM0MlxcdURDNDNcXHVEQzQ2LVxcdURDNTBcXHVEQzY2XFx1REM2N1xcdURDNkItXFx1REM2RFxcdURDNzBcXHVEQzcyXFx1REM3NC1cXHVEQzc2XFx1REM3OFxcdURDN0NcXHVEQzgzXFx1REM4NVxcdURDQUFcXHVERDc0XFx1REQ3QVxcdUREOTBcXHVERDk1XFx1REQ5NlxcdURFNENcXHVERTRGXFx1REVDMFxcdURFQ0NdfFxcdUQ4M0VbXFx1REQwRlxcdUREMTgtXFx1REQxQ1xcdUREMUVcXHVERDFGXFx1REQzMC1cXHVERDM2XFx1RERCNVxcdUREQjZcXHVEREJCXFx1REREMi1cXHVEREQ1XSkoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pfCg/OltcXHUyMzFBXFx1MjMxQlxcdTIzRTktXFx1MjNFQ1xcdTIzRjBcXHUyM0YzXFx1MjVGRFxcdTI1RkVcXHUyNjE0XFx1MjYxNVxcdTI2NDgtXFx1MjY1M1xcdTI2N0ZcXHUyNjkzXFx1MjZBMVxcdTI2QUFcXHUyNkFCXFx1MjZCRFxcdTI2QkVcXHUyNkM0XFx1MjZDNVxcdTI2Q0VcXHUyNkQ0XFx1MjZFQVxcdTI2RjJcXHUyNkYzXFx1MjZGNVxcdTI2RkFcXHUyNkZEXFx1MjcwNVxcdTI3MEFcXHUyNzBCXFx1MjcyOFxcdTI3NENcXHUyNzRFXFx1Mjc1My1cXHUyNzU1XFx1Mjc1N1xcdTI3OTUtXFx1Mjc5N1xcdTI3QjBcXHUyN0JGXFx1MkIxQlxcdTJCMUNcXHUyQjUwXFx1MkI1NV18XFx1RDgzQ1tcXHVEQzA0XFx1RENDRlxcdUREOEVcXHVERDkxLVxcdUREOUFcXHVEREU2LVxcdURERkZcXHVERTAxXFx1REUxQVxcdURFMkZcXHVERTMyLVxcdURFMzZcXHVERTM4LVxcdURFM0FcXHVERTUwXFx1REU1MVxcdURGMDAtXFx1REYyMFxcdURGMkQtXFx1REYzNVxcdURGMzctXFx1REY3Q1xcdURGN0UtXFx1REY5M1xcdURGQTAtXFx1REZDQVxcdURGQ0YtXFx1REZEM1xcdURGRTAtXFx1REZGMFxcdURGRjRcXHVERkY4LVxcdURGRkZdfFxcdUQ4M0RbXFx1REMwMC1cXHVEQzNFXFx1REM0MFxcdURDNDItXFx1RENGQ1xcdURDRkYtXFx1REQzRFxcdURENEItXFx1REQ0RVxcdURENTAtXFx1REQ2N1xcdUREN0FcXHVERDk1XFx1REQ5NlxcdUREQTRcXHVEREZCLVxcdURFNEZcXHVERTgwLVxcdURFQzVcXHVERUNDXFx1REVEMC1cXHVERUQyXFx1REVENVxcdURFRUJcXHVERUVDXFx1REVGNC1cXHVERUZBXFx1REZFMC1cXHVERkVCXXxcXHVEODNFW1xcdUREMEQtXFx1REQzQVxcdUREM0MtXFx1REQ0NVxcdURENDctXFx1REQ3MVxcdURENzMtXFx1REQ3NlxcdUREN0EtXFx1RERBMlxcdUREQTUtXFx1RERBQVxcdUREQUUtXFx1RERDQVxcdUREQ0QtXFx1RERGRlxcdURFNzAtXFx1REU3M1xcdURFNzgtXFx1REU3QVxcdURFODAtXFx1REU4MlxcdURFOTAtXFx1REU5NV0pfCg/OlsjXFwqMC05XFx4QTlcXHhBRVxcdTIwM0NcXHUyMDQ5XFx1MjEyMlxcdTIxMzlcXHUyMTk0LVxcdTIxOTlcXHUyMUE5XFx1MjFBQVxcdTIzMUFcXHUyMzFCXFx1MjMyOFxcdTIzQ0ZcXHUyM0U5LVxcdTIzRjNcXHUyM0Y4LVxcdTIzRkFcXHUyNEMyXFx1MjVBQVxcdTI1QUJcXHUyNUI2XFx1MjVDMFxcdTI1RkItXFx1MjVGRVxcdTI2MDAtXFx1MjYwNFxcdTI2MEVcXHUyNjExXFx1MjYxNFxcdTI2MTVcXHUyNjE4XFx1MjYxRFxcdTI2MjBcXHUyNjIyXFx1MjYyM1xcdTI2MjZcXHUyNjJBXFx1MjYyRVxcdTI2MkZcXHUyNjM4LVxcdTI2M0FcXHUyNjQwXFx1MjY0MlxcdTI2NDgtXFx1MjY1M1xcdTI2NUZcXHUyNjYwXFx1MjY2M1xcdTI2NjVcXHUyNjY2XFx1MjY2OFxcdTI2N0JcXHUyNjdFXFx1MjY3RlxcdTI2OTItXFx1MjY5N1xcdTI2OTlcXHUyNjlCXFx1MjY5Q1xcdTI2QTBcXHUyNkExXFx1MjZBQVxcdTI2QUJcXHUyNkIwXFx1MjZCMVxcdTI2QkRcXHUyNkJFXFx1MjZDNFxcdTI2QzVcXHUyNkM4XFx1MjZDRVxcdTI2Q0ZcXHUyNkQxXFx1MjZEM1xcdTI2RDRcXHUyNkU5XFx1MjZFQVxcdTI2RjAtXFx1MjZGNVxcdTI2RjctXFx1MjZGQVxcdTI2RkRcXHUyNzAyXFx1MjcwNVxcdTI3MDgtXFx1MjcwRFxcdTI3MEZcXHUyNzEyXFx1MjcxNFxcdTI3MTZcXHUyNzFEXFx1MjcyMVxcdTI3MjhcXHUyNzMzXFx1MjczNFxcdTI3NDRcXHUyNzQ3XFx1Mjc0Q1xcdTI3NEVcXHUyNzUzLVxcdTI3NTVcXHUyNzU3XFx1Mjc2M1xcdTI3NjRcXHUyNzk1LVxcdTI3OTdcXHUyN0ExXFx1MjdCMFxcdTI3QkZcXHUyOTM0XFx1MjkzNVxcdTJCMDUtXFx1MkIwN1xcdTJCMUJcXHUyQjFDXFx1MkI1MFxcdTJCNTVcXHUzMDMwXFx1MzAzRFxcdTMyOTdcXHUzMjk5XXxcXHVEODNDW1xcdURDMDRcXHVEQ0NGXFx1REQ3MFxcdURENzFcXHVERDdFXFx1REQ3RlxcdUREOEVcXHVERDkxLVxcdUREOUFcXHVEREU2LVxcdURERkZcXHVERTAxXFx1REUwMlxcdURFMUFcXHVERTJGXFx1REUzMi1cXHVERTNBXFx1REU1MFxcdURFNTFcXHVERjAwLVxcdURGMjFcXHVERjI0LVxcdURGOTNcXHVERjk2XFx1REY5N1xcdURGOTktXFx1REY5QlxcdURGOUUtXFx1REZGMFxcdURGRjMtXFx1REZGNVxcdURGRjctXFx1REZGRl18XFx1RDgzRFtcXHVEQzAwLVxcdURDRkRcXHVEQ0ZGLVxcdUREM0RcXHVERDQ5LVxcdURENEVcXHVERDUwLVxcdURENjdcXHVERDZGXFx1REQ3MFxcdURENzMtXFx1REQ3QVxcdUREODdcXHVERDhBLVxcdUREOERcXHVERDkwXFx1REQ5NVxcdUREOTZcXHVEREE0XFx1RERBNVxcdUREQThcXHVEREIxXFx1RERCMlxcdUREQkNcXHVEREMyLVxcdUREQzRcXHVEREQxLVxcdURERDNcXHVERERDLVxcdUREREVcXHVEREUxXFx1RERFM1xcdURERThcXHVEREVGXFx1RERGM1xcdURERkEtXFx1REU0RlxcdURFODAtXFx1REVDNVxcdURFQ0ItXFx1REVEMlxcdURFRDVcXHVERUUwLVxcdURFRTVcXHVERUU5XFx1REVFQlxcdURFRUNcXHVERUYwXFx1REVGMy1cXHVERUZBXFx1REZFMC1cXHVERkVCXXxcXHVEODNFW1xcdUREMEQtXFx1REQzQVxcdUREM0MtXFx1REQ0NVxcdURENDctXFx1REQ3MVxcdURENzMtXFx1REQ3NlxcdUREN0EtXFx1RERBMlxcdUREQTUtXFx1RERBQVxcdUREQUUtXFx1RERDQVxcdUREQ0QtXFx1RERGRlxcdURFNzAtXFx1REU3M1xcdURFNzgtXFx1REU3QVxcdURFODAtXFx1REU4MlxcdURFOTAtXFx1REU5NV0pXFx1RkUwRnwoPzpbXFx1MjYxRFxcdTI2RjlcXHUyNzBBLVxcdTI3MERdfFxcdUQ4M0NbXFx1REY4NVxcdURGQzItXFx1REZDNFxcdURGQzdcXHVERkNBLVxcdURGQ0NdfFxcdUQ4M0RbXFx1REM0MlxcdURDNDNcXHVEQzQ2LVxcdURDNTBcXHVEQzY2LVxcdURDNzhcXHVEQzdDXFx1REM4MS1cXHVEQzgzXFx1REM4NS1cXHVEQzg3XFx1REM4RlxcdURDOTFcXHVEQ0FBXFx1REQ3NFxcdURENzVcXHVERDdBXFx1REQ5MFxcdUREOTVcXHVERDk2XFx1REU0NS1cXHVERTQ3XFx1REU0Qi1cXHVERTRGXFx1REVBM1xcdURFQjQtXFx1REVCNlxcdURFQzBcXHVERUNDXXxcXHVEODNFW1xcdUREMEZcXHVERDE4LVxcdUREMUZcXHVERDI2XFx1REQzMC1cXHVERDM5XFx1REQzQy1cXHVERDNFXFx1RERCNVxcdUREQjZcXHVEREI4XFx1RERCOVxcdUREQkJcXHVERENELVxcdUREQ0ZcXHVEREQxLVxcdURERERdKS9nO1xufTtcbiIsICIndXNlIHN0cmljdCc7XG5jb25zdCBzdHJpcEFuc2kgPSByZXF1aXJlKCdzdHJpcC1hbnNpJyk7XG5jb25zdCBpc0Z1bGx3aWR0aENvZGVQb2ludCA9IHJlcXVpcmUoJ2lzLWZ1bGx3aWR0aC1jb2RlLXBvaW50Jyk7XG5jb25zdCBlbW9qaVJlZ2V4ID0gcmVxdWlyZSgnZW1vamktcmVnZXgnKTtcblxuY29uc3Qgc3RyaW5nV2lkdGggPSBzdHJpbmcgPT4ge1xuXHRpZiAodHlwZW9mIHN0cmluZyAhPT0gJ3N0cmluZycgfHwgc3RyaW5nLmxlbmd0aCA9PT0gMCkge1xuXHRcdHJldHVybiAwO1xuXHR9XG5cblx0c3RyaW5nID0gc3RyaXBBbnNpKHN0cmluZyk7XG5cblx0aWYgKHN0cmluZy5sZW5ndGggPT09IDApIHtcblx0XHRyZXR1cm4gMDtcblx0fVxuXG5cdHN0cmluZyA9IHN0cmluZy5yZXBsYWNlKGVtb2ppUmVnZXgoKSwgJyAgJyk7XG5cblx0bGV0IHdpZHRoID0gMDtcblxuXHRmb3IgKGxldCBpID0gMDsgaSA8IHN0cmluZy5sZW5ndGg7IGkrKykge1xuXHRcdGNvbnN0IGNvZGUgPSBzdHJpbmcuY29kZVBvaW50QXQoaSk7XG5cblx0XHQvLyBJZ25vcmUgY29udHJvbCBjaGFyYWN0ZXJzXG5cdFx0aWYgKGNvZGUgPD0gMHgxRiB8fCAoY29kZSA+PSAweDdGICYmIGNvZGUgPD0gMHg5RikpIHtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblxuXHRcdC8vIElnbm9yZSBjb21iaW5pbmcgY2hhcmFjdGVyc1xuXHRcdGlmIChjb2RlID49IDB4MzAwICYmIGNvZGUgPD0gMHgzNkYpIHtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblxuXHRcdC8vIFN1cnJvZ2F0ZXNcblx0XHRpZiAoY29kZSA+IDB4RkZGRikge1xuXHRcdFx0aSsrO1xuXHRcdH1cblxuXHRcdHdpZHRoICs9IGlzRnVsbHdpZHRoQ29kZVBvaW50KGNvZGUpID8gMiA6IDE7XG5cdH1cblxuXHRyZXR1cm4gd2lkdGg7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHN0cmluZ1dpZHRoO1xuLy8gVE9ETzogcmVtb3ZlIHRoaXMgaW4gdGhlIG5leHQgbWFqb3IgdmVyc2lvblxubW9kdWxlLmV4cG9ydHMuZGVmYXVsdCA9IHN0cmluZ1dpZHRoO1xuIiwgIid1c2Ugc3RyaWN0J1xyXG5cclxubW9kdWxlLmV4cG9ydHMgPSB7XHJcblx0XCJhbGljZWJsdWVcIjogWzI0MCwgMjQ4LCAyNTVdLFxyXG5cdFwiYW50aXF1ZXdoaXRlXCI6IFsyNTAsIDIzNSwgMjE1XSxcclxuXHRcImFxdWFcIjogWzAsIDI1NSwgMjU1XSxcclxuXHRcImFxdWFtYXJpbmVcIjogWzEyNywgMjU1LCAyMTJdLFxyXG5cdFwiYXp1cmVcIjogWzI0MCwgMjU1LCAyNTVdLFxyXG5cdFwiYmVpZ2VcIjogWzI0NSwgMjQ1LCAyMjBdLFxyXG5cdFwiYmlzcXVlXCI6IFsyNTUsIDIyOCwgMTk2XSxcclxuXHRcImJsYWNrXCI6IFswLCAwLCAwXSxcclxuXHRcImJsYW5jaGVkYWxtb25kXCI6IFsyNTUsIDIzNSwgMjA1XSxcclxuXHRcImJsdWVcIjogWzAsIDAsIDI1NV0sXHJcblx0XCJibHVldmlvbGV0XCI6IFsxMzgsIDQzLCAyMjZdLFxyXG5cdFwiYnJvd25cIjogWzE2NSwgNDIsIDQyXSxcclxuXHRcImJ1cmx5d29vZFwiOiBbMjIyLCAxODQsIDEzNV0sXHJcblx0XCJjYWRldGJsdWVcIjogWzk1LCAxNTgsIDE2MF0sXHJcblx0XCJjaGFydHJldXNlXCI6IFsxMjcsIDI1NSwgMF0sXHJcblx0XCJjaG9jb2xhdGVcIjogWzIxMCwgMTA1LCAzMF0sXHJcblx0XCJjb3JhbFwiOiBbMjU1LCAxMjcsIDgwXSxcclxuXHRcImNvcm5mbG93ZXJibHVlXCI6IFsxMDAsIDE0OSwgMjM3XSxcclxuXHRcImNvcm5zaWxrXCI6IFsyNTUsIDI0OCwgMjIwXSxcclxuXHRcImNyaW1zb25cIjogWzIyMCwgMjAsIDYwXSxcclxuXHRcImN5YW5cIjogWzAsIDI1NSwgMjU1XSxcclxuXHRcImRhcmtibHVlXCI6IFswLCAwLCAxMzldLFxyXG5cdFwiZGFya2N5YW5cIjogWzAsIDEzOSwgMTM5XSxcclxuXHRcImRhcmtnb2xkZW5yb2RcIjogWzE4NCwgMTM0LCAxMV0sXHJcblx0XCJkYXJrZ3JheVwiOiBbMTY5LCAxNjksIDE2OV0sXHJcblx0XCJkYXJrZ3JlZW5cIjogWzAsIDEwMCwgMF0sXHJcblx0XCJkYXJrZ3JleVwiOiBbMTY5LCAxNjksIDE2OV0sXHJcblx0XCJkYXJra2hha2lcIjogWzE4OSwgMTgzLCAxMDddLFxyXG5cdFwiZGFya21hZ2VudGFcIjogWzEzOSwgMCwgMTM5XSxcclxuXHRcImRhcmtvbGl2ZWdyZWVuXCI6IFs4NSwgMTA3LCA0N10sXHJcblx0XCJkYXJrb3JhbmdlXCI6IFsyNTUsIDE0MCwgMF0sXHJcblx0XCJkYXJrb3JjaGlkXCI6IFsxNTMsIDUwLCAyMDRdLFxyXG5cdFwiZGFya3JlZFwiOiBbMTM5LCAwLCAwXSxcclxuXHRcImRhcmtzYWxtb25cIjogWzIzMywgMTUwLCAxMjJdLFxyXG5cdFwiZGFya3NlYWdyZWVuXCI6IFsxNDMsIDE4OCwgMTQzXSxcclxuXHRcImRhcmtzbGF0ZWJsdWVcIjogWzcyLCA2MSwgMTM5XSxcclxuXHRcImRhcmtzbGF0ZWdyYXlcIjogWzQ3LCA3OSwgNzldLFxyXG5cdFwiZGFya3NsYXRlZ3JleVwiOiBbNDcsIDc5LCA3OV0sXHJcblx0XCJkYXJrdHVycXVvaXNlXCI6IFswLCAyMDYsIDIwOV0sXHJcblx0XCJkYXJrdmlvbGV0XCI6IFsxNDgsIDAsIDIxMV0sXHJcblx0XCJkZWVwcGlua1wiOiBbMjU1LCAyMCwgMTQ3XSxcclxuXHRcImRlZXBza3libHVlXCI6IFswLCAxOTEsIDI1NV0sXHJcblx0XCJkaW1ncmF5XCI6IFsxMDUsIDEwNSwgMTA1XSxcclxuXHRcImRpbWdyZXlcIjogWzEwNSwgMTA1LCAxMDVdLFxyXG5cdFwiZG9kZ2VyYmx1ZVwiOiBbMzAsIDE0NCwgMjU1XSxcclxuXHRcImZpcmVicmlja1wiOiBbMTc4LCAzNCwgMzRdLFxyXG5cdFwiZmxvcmFsd2hpdGVcIjogWzI1NSwgMjUwLCAyNDBdLFxyXG5cdFwiZm9yZXN0Z3JlZW5cIjogWzM0LCAxMzksIDM0XSxcclxuXHRcImZ1Y2hzaWFcIjogWzI1NSwgMCwgMjU1XSxcclxuXHRcImdhaW5zYm9yb1wiOiBbMjIwLCAyMjAsIDIyMF0sXHJcblx0XCJnaG9zdHdoaXRlXCI6IFsyNDgsIDI0OCwgMjU1XSxcclxuXHRcImdvbGRcIjogWzI1NSwgMjE1LCAwXSxcclxuXHRcImdvbGRlbnJvZFwiOiBbMjE4LCAxNjUsIDMyXSxcclxuXHRcImdyYXlcIjogWzEyOCwgMTI4LCAxMjhdLFxyXG5cdFwiZ3JlZW5cIjogWzAsIDEyOCwgMF0sXHJcblx0XCJncmVlbnllbGxvd1wiOiBbMTczLCAyNTUsIDQ3XSxcclxuXHRcImdyZXlcIjogWzEyOCwgMTI4LCAxMjhdLFxyXG5cdFwiaG9uZXlkZXdcIjogWzI0MCwgMjU1LCAyNDBdLFxyXG5cdFwiaG90cGlua1wiOiBbMjU1LCAxMDUsIDE4MF0sXHJcblx0XCJpbmRpYW5yZWRcIjogWzIwNSwgOTIsIDkyXSxcclxuXHRcImluZGlnb1wiOiBbNzUsIDAsIDEzMF0sXHJcblx0XCJpdm9yeVwiOiBbMjU1LCAyNTUsIDI0MF0sXHJcblx0XCJraGFraVwiOiBbMjQwLCAyMzAsIDE0MF0sXHJcblx0XCJsYXZlbmRlclwiOiBbMjMwLCAyMzAsIDI1MF0sXHJcblx0XCJsYXZlbmRlcmJsdXNoXCI6IFsyNTUsIDI0MCwgMjQ1XSxcclxuXHRcImxhd25ncmVlblwiOiBbMTI0LCAyNTIsIDBdLFxyXG5cdFwibGVtb25jaGlmZm9uXCI6IFsyNTUsIDI1MCwgMjA1XSxcclxuXHRcImxpZ2h0Ymx1ZVwiOiBbMTczLCAyMTYsIDIzMF0sXHJcblx0XCJsaWdodGNvcmFsXCI6IFsyNDAsIDEyOCwgMTI4XSxcclxuXHRcImxpZ2h0Y3lhblwiOiBbMjI0LCAyNTUsIDI1NV0sXHJcblx0XCJsaWdodGdvbGRlbnJvZHllbGxvd1wiOiBbMjUwLCAyNTAsIDIxMF0sXHJcblx0XCJsaWdodGdyYXlcIjogWzIxMSwgMjExLCAyMTFdLFxyXG5cdFwibGlnaHRncmVlblwiOiBbMTQ0LCAyMzgsIDE0NF0sXHJcblx0XCJsaWdodGdyZXlcIjogWzIxMSwgMjExLCAyMTFdLFxyXG5cdFwibGlnaHRwaW5rXCI6IFsyNTUsIDE4MiwgMTkzXSxcclxuXHRcImxpZ2h0c2FsbW9uXCI6IFsyNTUsIDE2MCwgMTIyXSxcclxuXHRcImxpZ2h0c2VhZ3JlZW5cIjogWzMyLCAxNzgsIDE3MF0sXHJcblx0XCJsaWdodHNreWJsdWVcIjogWzEzNSwgMjA2LCAyNTBdLFxyXG5cdFwibGlnaHRzbGF0ZWdyYXlcIjogWzExOSwgMTM2LCAxNTNdLFxyXG5cdFwibGlnaHRzbGF0ZWdyZXlcIjogWzExOSwgMTM2LCAxNTNdLFxyXG5cdFwibGlnaHRzdGVlbGJsdWVcIjogWzE3NiwgMTk2LCAyMjJdLFxyXG5cdFwibGlnaHR5ZWxsb3dcIjogWzI1NSwgMjU1LCAyMjRdLFxyXG5cdFwibGltZVwiOiBbMCwgMjU1LCAwXSxcclxuXHRcImxpbWVncmVlblwiOiBbNTAsIDIwNSwgNTBdLFxyXG5cdFwibGluZW5cIjogWzI1MCwgMjQwLCAyMzBdLFxyXG5cdFwibWFnZW50YVwiOiBbMjU1LCAwLCAyNTVdLFxyXG5cdFwibWFyb29uXCI6IFsxMjgsIDAsIDBdLFxyXG5cdFwibWVkaXVtYXF1YW1hcmluZVwiOiBbMTAyLCAyMDUsIDE3MF0sXHJcblx0XCJtZWRpdW1ibHVlXCI6IFswLCAwLCAyMDVdLFxyXG5cdFwibWVkaXVtb3JjaGlkXCI6IFsxODYsIDg1LCAyMTFdLFxyXG5cdFwibWVkaXVtcHVycGxlXCI6IFsxNDcsIDExMiwgMjE5XSxcclxuXHRcIm1lZGl1bXNlYWdyZWVuXCI6IFs2MCwgMTc5LCAxMTNdLFxyXG5cdFwibWVkaXVtc2xhdGVibHVlXCI6IFsxMjMsIDEwNCwgMjM4XSxcclxuXHRcIm1lZGl1bXNwcmluZ2dyZWVuXCI6IFswLCAyNTAsIDE1NF0sXHJcblx0XCJtZWRpdW10dXJxdW9pc2VcIjogWzcyLCAyMDksIDIwNF0sXHJcblx0XCJtZWRpdW12aW9sZXRyZWRcIjogWzE5OSwgMjEsIDEzM10sXHJcblx0XCJtaWRuaWdodGJsdWVcIjogWzI1LCAyNSwgMTEyXSxcclxuXHRcIm1pbnRjcmVhbVwiOiBbMjQ1LCAyNTUsIDI1MF0sXHJcblx0XCJtaXN0eXJvc2VcIjogWzI1NSwgMjI4LCAyMjVdLFxyXG5cdFwibW9jY2FzaW5cIjogWzI1NSwgMjI4LCAxODFdLFxyXG5cdFwibmF2YWpvd2hpdGVcIjogWzI1NSwgMjIyLCAxNzNdLFxyXG5cdFwibmF2eVwiOiBbMCwgMCwgMTI4XSxcclxuXHRcIm9sZGxhY2VcIjogWzI1MywgMjQ1LCAyMzBdLFxyXG5cdFwib2xpdmVcIjogWzEyOCwgMTI4LCAwXSxcclxuXHRcIm9saXZlZHJhYlwiOiBbMTA3LCAxNDIsIDM1XSxcclxuXHRcIm9yYW5nZVwiOiBbMjU1LCAxNjUsIDBdLFxyXG5cdFwib3JhbmdlcmVkXCI6IFsyNTUsIDY5LCAwXSxcclxuXHRcIm9yY2hpZFwiOiBbMjE4LCAxMTIsIDIxNF0sXHJcblx0XCJwYWxlZ29sZGVucm9kXCI6IFsyMzgsIDIzMiwgMTcwXSxcclxuXHRcInBhbGVncmVlblwiOiBbMTUyLCAyNTEsIDE1Ml0sXHJcblx0XCJwYWxldHVycXVvaXNlXCI6IFsxNzUsIDIzOCwgMjM4XSxcclxuXHRcInBhbGV2aW9sZXRyZWRcIjogWzIxOSwgMTEyLCAxNDddLFxyXG5cdFwicGFwYXlhd2hpcFwiOiBbMjU1LCAyMzksIDIxM10sXHJcblx0XCJwZWFjaHB1ZmZcIjogWzI1NSwgMjE4LCAxODVdLFxyXG5cdFwicGVydVwiOiBbMjA1LCAxMzMsIDYzXSxcclxuXHRcInBpbmtcIjogWzI1NSwgMTkyLCAyMDNdLFxyXG5cdFwicGx1bVwiOiBbMjIxLCAxNjAsIDIyMV0sXHJcblx0XCJwb3dkZXJibHVlXCI6IFsxNzYsIDIyNCwgMjMwXSxcclxuXHRcInB1cnBsZVwiOiBbMTI4LCAwLCAxMjhdLFxyXG5cdFwicmViZWNjYXB1cnBsZVwiOiBbMTAyLCA1MSwgMTUzXSxcclxuXHRcInJlZFwiOiBbMjU1LCAwLCAwXSxcclxuXHRcInJvc3licm93blwiOiBbMTg4LCAxNDMsIDE0M10sXHJcblx0XCJyb3lhbGJsdWVcIjogWzY1LCAxMDUsIDIyNV0sXHJcblx0XCJzYWRkbGVicm93blwiOiBbMTM5LCA2OSwgMTldLFxyXG5cdFwic2FsbW9uXCI6IFsyNTAsIDEyOCwgMTE0XSxcclxuXHRcInNhbmR5YnJvd25cIjogWzI0NCwgMTY0LCA5Nl0sXHJcblx0XCJzZWFncmVlblwiOiBbNDYsIDEzOSwgODddLFxyXG5cdFwic2Vhc2hlbGxcIjogWzI1NSwgMjQ1LCAyMzhdLFxyXG5cdFwic2llbm5hXCI6IFsxNjAsIDgyLCA0NV0sXHJcblx0XCJzaWx2ZXJcIjogWzE5MiwgMTkyLCAxOTJdLFxyXG5cdFwic2t5Ymx1ZVwiOiBbMTM1LCAyMDYsIDIzNV0sXHJcblx0XCJzbGF0ZWJsdWVcIjogWzEwNiwgOTAsIDIwNV0sXHJcblx0XCJzbGF0ZWdyYXlcIjogWzExMiwgMTI4LCAxNDRdLFxyXG5cdFwic2xhdGVncmV5XCI6IFsxMTIsIDEyOCwgMTQ0XSxcclxuXHRcInNub3dcIjogWzI1NSwgMjUwLCAyNTBdLFxyXG5cdFwic3ByaW5nZ3JlZW5cIjogWzAsIDI1NSwgMTI3XSxcclxuXHRcInN0ZWVsYmx1ZVwiOiBbNzAsIDEzMCwgMTgwXSxcclxuXHRcInRhblwiOiBbMjEwLCAxODAsIDE0MF0sXHJcblx0XCJ0ZWFsXCI6IFswLCAxMjgsIDEyOF0sXHJcblx0XCJ0aGlzdGxlXCI6IFsyMTYsIDE5MSwgMjE2XSxcclxuXHRcInRvbWF0b1wiOiBbMjU1LCA5OSwgNzFdLFxyXG5cdFwidHVycXVvaXNlXCI6IFs2NCwgMjI0LCAyMDhdLFxyXG5cdFwidmlvbGV0XCI6IFsyMzgsIDEzMCwgMjM4XSxcclxuXHRcIndoZWF0XCI6IFsyNDUsIDIyMiwgMTc5XSxcclxuXHRcIndoaXRlXCI6IFsyNTUsIDI1NSwgMjU1XSxcclxuXHRcIndoaXRlc21va2VcIjogWzI0NSwgMjQ1LCAyNDVdLFxyXG5cdFwieWVsbG93XCI6IFsyNTUsIDI1NSwgMF0sXHJcblx0XCJ5ZWxsb3dncmVlblwiOiBbMTU0LCAyMDUsIDUwXVxyXG59O1xyXG4iLCAiLyogTUlUIGxpY2Vuc2UgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLW1peGVkLW9wZXJhdG9ycyAqL1xuY29uc3QgY3NzS2V5d29yZHMgPSByZXF1aXJlKCdjb2xvci1uYW1lJyk7XG5cbi8vIE5PVEU6IGNvbnZlcnNpb25zIHNob3VsZCBvbmx5IHJldHVybiBwcmltaXRpdmUgdmFsdWVzIChpLmUuIGFycmF5cywgb3Jcbi8vICAgICAgIHZhbHVlcyB0aGF0IGdpdmUgY29ycmVjdCBgdHlwZW9mYCByZXN1bHRzKS5cbi8vICAgICAgIGRvIG5vdCB1c2UgYm94IHZhbHVlcyB0eXBlcyAoaS5lLiBOdW1iZXIoKSwgU3RyaW5nKCksIGV0Yy4pXG5cbmNvbnN0IHJldmVyc2VLZXl3b3JkcyA9IHt9O1xuZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoY3NzS2V5d29yZHMpKSB7XG5cdHJldmVyc2VLZXl3b3Jkc1tjc3NLZXl3b3Jkc1trZXldXSA9IGtleTtcbn1cblxuY29uc3QgY29udmVydCA9IHtcblx0cmdiOiB7Y2hhbm5lbHM6IDMsIGxhYmVsczogJ3JnYid9LFxuXHRoc2w6IHtjaGFubmVsczogMywgbGFiZWxzOiAnaHNsJ30sXG5cdGhzdjoge2NoYW5uZWxzOiAzLCBsYWJlbHM6ICdoc3YnfSxcblx0aHdiOiB7Y2hhbm5lbHM6IDMsIGxhYmVsczogJ2h3Yid9LFxuXHRjbXlrOiB7Y2hhbm5lbHM6IDQsIGxhYmVsczogJ2NteWsnfSxcblx0eHl6OiB7Y2hhbm5lbHM6IDMsIGxhYmVsczogJ3h5eid9LFxuXHRsYWI6IHtjaGFubmVsczogMywgbGFiZWxzOiAnbGFiJ30sXG5cdGxjaDoge2NoYW5uZWxzOiAzLCBsYWJlbHM6ICdsY2gnfSxcblx0aGV4OiB7Y2hhbm5lbHM6IDEsIGxhYmVsczogWydoZXgnXX0sXG5cdGtleXdvcmQ6IHtjaGFubmVsczogMSwgbGFiZWxzOiBbJ2tleXdvcmQnXX0sXG5cdGFuc2kxNjoge2NoYW5uZWxzOiAxLCBsYWJlbHM6IFsnYW5zaTE2J119LFxuXHRhbnNpMjU2OiB7Y2hhbm5lbHM6IDEsIGxhYmVsczogWydhbnNpMjU2J119LFxuXHRoY2c6IHtjaGFubmVsczogMywgbGFiZWxzOiBbJ2gnLCAnYycsICdnJ119LFxuXHRhcHBsZToge2NoYW5uZWxzOiAzLCBsYWJlbHM6IFsncjE2JywgJ2cxNicsICdiMTYnXX0sXG5cdGdyYXk6IHtjaGFubmVsczogMSwgbGFiZWxzOiBbJ2dyYXknXX1cbn07XG5cbm1vZHVsZS5leHBvcnRzID0gY29udmVydDtcblxuLy8gSGlkZSAuY2hhbm5lbHMgYW5kIC5sYWJlbHMgcHJvcGVydGllc1xuZm9yIChjb25zdCBtb2RlbCBvZiBPYmplY3Qua2V5cyhjb252ZXJ0KSkge1xuXHRpZiAoISgnY2hhbm5lbHMnIGluIGNvbnZlcnRbbW9kZWxdKSkge1xuXHRcdHRocm93IG5ldyBFcnJvcignbWlzc2luZyBjaGFubmVscyBwcm9wZXJ0eTogJyArIG1vZGVsKTtcblx0fVxuXG5cdGlmICghKCdsYWJlbHMnIGluIGNvbnZlcnRbbW9kZWxdKSkge1xuXHRcdHRocm93IG5ldyBFcnJvcignbWlzc2luZyBjaGFubmVsIGxhYmVscyBwcm9wZXJ0eTogJyArIG1vZGVsKTtcblx0fVxuXG5cdGlmIChjb252ZXJ0W21vZGVsXS5sYWJlbHMubGVuZ3RoICE9PSBjb252ZXJ0W21vZGVsXS5jaGFubmVscykge1xuXHRcdHRocm93IG5ldyBFcnJvcignY2hhbm5lbCBhbmQgbGFiZWwgY291bnRzIG1pc21hdGNoOiAnICsgbW9kZWwpO1xuXHR9XG5cblx0Y29uc3Qge2NoYW5uZWxzLCBsYWJlbHN9ID0gY29udmVydFttb2RlbF07XG5cdGRlbGV0ZSBjb252ZXJ0W21vZGVsXS5jaGFubmVscztcblx0ZGVsZXRlIGNvbnZlcnRbbW9kZWxdLmxhYmVscztcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnZlcnRbbW9kZWxdLCAnY2hhbm5lbHMnLCB7dmFsdWU6IGNoYW5uZWxzfSk7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjb252ZXJ0W21vZGVsXSwgJ2xhYmVscycsIHt2YWx1ZTogbGFiZWxzfSk7XG59XG5cbmNvbnZlcnQucmdiLmhzbCA9IGZ1bmN0aW9uIChyZ2IpIHtcblx0Y29uc3QgciA9IHJnYlswXSAvIDI1NTtcblx0Y29uc3QgZyA9IHJnYlsxXSAvIDI1NTtcblx0Y29uc3QgYiA9IHJnYlsyXSAvIDI1NTtcblx0Y29uc3QgbWluID0gTWF0aC5taW4ociwgZywgYik7XG5cdGNvbnN0IG1heCA9IE1hdGgubWF4KHIsIGcsIGIpO1xuXHRjb25zdCBkZWx0YSA9IG1heCAtIG1pbjtcblx0bGV0IGg7XG5cdGxldCBzO1xuXG5cdGlmIChtYXggPT09IG1pbikge1xuXHRcdGggPSAwO1xuXHR9IGVsc2UgaWYgKHIgPT09IG1heCkge1xuXHRcdGggPSAoZyAtIGIpIC8gZGVsdGE7XG5cdH0gZWxzZSBpZiAoZyA9PT0gbWF4KSB7XG5cdFx0aCA9IDIgKyAoYiAtIHIpIC8gZGVsdGE7XG5cdH0gZWxzZSBpZiAoYiA9PT0gbWF4KSB7XG5cdFx0aCA9IDQgKyAociAtIGcpIC8gZGVsdGE7XG5cdH1cblxuXHRoID0gTWF0aC5taW4oaCAqIDYwLCAzNjApO1xuXG5cdGlmIChoIDwgMCkge1xuXHRcdGggKz0gMzYwO1xuXHR9XG5cblx0Y29uc3QgbCA9IChtaW4gKyBtYXgpIC8gMjtcblxuXHRpZiAobWF4ID09PSBtaW4pIHtcblx0XHRzID0gMDtcblx0fSBlbHNlIGlmIChsIDw9IDAuNSkge1xuXHRcdHMgPSBkZWx0YSAvIChtYXggKyBtaW4pO1xuXHR9IGVsc2Uge1xuXHRcdHMgPSBkZWx0YSAvICgyIC0gbWF4IC0gbWluKTtcblx0fVxuXG5cdHJldHVybiBbaCwgcyAqIDEwMCwgbCAqIDEwMF07XG59O1xuXG5jb252ZXJ0LnJnYi5oc3YgPSBmdW5jdGlvbiAocmdiKSB7XG5cdGxldCByZGlmO1xuXHRsZXQgZ2RpZjtcblx0bGV0IGJkaWY7XG5cdGxldCBoO1xuXHRsZXQgcztcblxuXHRjb25zdCByID0gcmdiWzBdIC8gMjU1O1xuXHRjb25zdCBnID0gcmdiWzFdIC8gMjU1O1xuXHRjb25zdCBiID0gcmdiWzJdIC8gMjU1O1xuXHRjb25zdCB2ID0gTWF0aC5tYXgociwgZywgYik7XG5cdGNvbnN0IGRpZmYgPSB2IC0gTWF0aC5taW4ociwgZywgYik7XG5cdGNvbnN0IGRpZmZjID0gZnVuY3Rpb24gKGMpIHtcblx0XHRyZXR1cm4gKHYgLSBjKSAvIDYgLyBkaWZmICsgMSAvIDI7XG5cdH07XG5cblx0aWYgKGRpZmYgPT09IDApIHtcblx0XHRoID0gMDtcblx0XHRzID0gMDtcblx0fSBlbHNlIHtcblx0XHRzID0gZGlmZiAvIHY7XG5cdFx0cmRpZiA9IGRpZmZjKHIpO1xuXHRcdGdkaWYgPSBkaWZmYyhnKTtcblx0XHRiZGlmID0gZGlmZmMoYik7XG5cblx0XHRpZiAociA9PT0gdikge1xuXHRcdFx0aCA9IGJkaWYgLSBnZGlmO1xuXHRcdH0gZWxzZSBpZiAoZyA9PT0gdikge1xuXHRcdFx0aCA9ICgxIC8gMykgKyByZGlmIC0gYmRpZjtcblx0XHR9IGVsc2UgaWYgKGIgPT09IHYpIHtcblx0XHRcdGggPSAoMiAvIDMpICsgZ2RpZiAtIHJkaWY7XG5cdFx0fVxuXG5cdFx0aWYgKGggPCAwKSB7XG5cdFx0XHRoICs9IDE7XG5cdFx0fSBlbHNlIGlmIChoID4gMSkge1xuXHRcdFx0aCAtPSAxO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBbXG5cdFx0aCAqIDM2MCxcblx0XHRzICogMTAwLFxuXHRcdHYgKiAxMDBcblx0XTtcbn07XG5cbmNvbnZlcnQucmdiLmh3YiA9IGZ1bmN0aW9uIChyZ2IpIHtcblx0Y29uc3QgciA9IHJnYlswXTtcblx0Y29uc3QgZyA9IHJnYlsxXTtcblx0bGV0IGIgPSByZ2JbMl07XG5cdGNvbnN0IGggPSBjb252ZXJ0LnJnYi5oc2wocmdiKVswXTtcblx0Y29uc3QgdyA9IDEgLyAyNTUgKiBNYXRoLm1pbihyLCBNYXRoLm1pbihnLCBiKSk7XG5cblx0YiA9IDEgLSAxIC8gMjU1ICogTWF0aC5tYXgociwgTWF0aC5tYXgoZywgYikpO1xuXG5cdHJldHVybiBbaCwgdyAqIDEwMCwgYiAqIDEwMF07XG59O1xuXG5jb252ZXJ0LnJnYi5jbXlrID0gZnVuY3Rpb24gKHJnYikge1xuXHRjb25zdCByID0gcmdiWzBdIC8gMjU1O1xuXHRjb25zdCBnID0gcmdiWzFdIC8gMjU1O1xuXHRjb25zdCBiID0gcmdiWzJdIC8gMjU1O1xuXG5cdGNvbnN0IGsgPSBNYXRoLm1pbigxIC0gciwgMSAtIGcsIDEgLSBiKTtcblx0Y29uc3QgYyA9ICgxIC0gciAtIGspIC8gKDEgLSBrKSB8fCAwO1xuXHRjb25zdCBtID0gKDEgLSBnIC0gaykgLyAoMSAtIGspIHx8IDA7XG5cdGNvbnN0IHkgPSAoMSAtIGIgLSBrKSAvICgxIC0gaykgfHwgMDtcblxuXHRyZXR1cm4gW2MgKiAxMDAsIG0gKiAxMDAsIHkgKiAxMDAsIGsgKiAxMDBdO1xufTtcblxuZnVuY3Rpb24gY29tcGFyYXRpdmVEaXN0YW5jZSh4LCB5KSB7XG5cdC8qXG5cdFx0U2VlIGh0dHBzOi8vZW4ubS53aWtpcGVkaWEub3JnL3dpa2kvRXVjbGlkZWFuX2Rpc3RhbmNlI1NxdWFyZWRfRXVjbGlkZWFuX2Rpc3RhbmNlXG5cdCovXG5cdHJldHVybiAoXG5cdFx0KCh4WzBdIC0geVswXSkgKiogMikgK1xuXHRcdCgoeFsxXSAtIHlbMV0pICoqIDIpICtcblx0XHQoKHhbMl0gLSB5WzJdKSAqKiAyKVxuXHQpO1xufVxuXG5jb252ZXJ0LnJnYi5rZXl3b3JkID0gZnVuY3Rpb24gKHJnYikge1xuXHRjb25zdCByZXZlcnNlZCA9IHJldmVyc2VLZXl3b3Jkc1tyZ2JdO1xuXHRpZiAocmV2ZXJzZWQpIHtcblx0XHRyZXR1cm4gcmV2ZXJzZWQ7XG5cdH1cblxuXHRsZXQgY3VycmVudENsb3Nlc3REaXN0YW5jZSA9IEluZmluaXR5O1xuXHRsZXQgY3VycmVudENsb3Nlc3RLZXl3b3JkO1xuXG5cdGZvciAoY29uc3Qga2V5d29yZCBvZiBPYmplY3Qua2V5cyhjc3NLZXl3b3JkcykpIHtcblx0XHRjb25zdCB2YWx1ZSA9IGNzc0tleXdvcmRzW2tleXdvcmRdO1xuXG5cdFx0Ly8gQ29tcHV0ZSBjb21wYXJhdGl2ZSBkaXN0YW5jZVxuXHRcdGNvbnN0IGRpc3RhbmNlID0gY29tcGFyYXRpdmVEaXN0YW5jZShyZ2IsIHZhbHVlKTtcblxuXHRcdC8vIENoZWNrIGlmIGl0cyBsZXNzLCBpZiBzbyBzZXQgYXMgY2xvc2VzdFxuXHRcdGlmIChkaXN0YW5jZSA8IGN1cnJlbnRDbG9zZXN0RGlzdGFuY2UpIHtcblx0XHRcdGN1cnJlbnRDbG9zZXN0RGlzdGFuY2UgPSBkaXN0YW5jZTtcblx0XHRcdGN1cnJlbnRDbG9zZXN0S2V5d29yZCA9IGtleXdvcmQ7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIGN1cnJlbnRDbG9zZXN0S2V5d29yZDtcbn07XG5cbmNvbnZlcnQua2V5d29yZC5yZ2IgPSBmdW5jdGlvbiAoa2V5d29yZCkge1xuXHRyZXR1cm4gY3NzS2V5d29yZHNba2V5d29yZF07XG59O1xuXG5jb252ZXJ0LnJnYi54eXogPSBmdW5jdGlvbiAocmdiKSB7XG5cdGxldCByID0gcmdiWzBdIC8gMjU1O1xuXHRsZXQgZyA9IHJnYlsxXSAvIDI1NTtcblx0bGV0IGIgPSByZ2JbMl0gLyAyNTU7XG5cblx0Ly8gQXNzdW1lIHNSR0Jcblx0ciA9IHIgPiAwLjA0MDQ1ID8gKCgociArIDAuMDU1KSAvIDEuMDU1KSAqKiAyLjQpIDogKHIgLyAxMi45Mik7XG5cdGcgPSBnID4gMC4wNDA0NSA/ICgoKGcgKyAwLjA1NSkgLyAxLjA1NSkgKiogMi40KSA6IChnIC8gMTIuOTIpO1xuXHRiID0gYiA+IDAuMDQwNDUgPyAoKChiICsgMC4wNTUpIC8gMS4wNTUpICoqIDIuNCkgOiAoYiAvIDEyLjkyKTtcblxuXHRjb25zdCB4ID0gKHIgKiAwLjQxMjQpICsgKGcgKiAwLjM1NzYpICsgKGIgKiAwLjE4MDUpO1xuXHRjb25zdCB5ID0gKHIgKiAwLjIxMjYpICsgKGcgKiAwLjcxNTIpICsgKGIgKiAwLjA3MjIpO1xuXHRjb25zdCB6ID0gKHIgKiAwLjAxOTMpICsgKGcgKiAwLjExOTIpICsgKGIgKiAwLjk1MDUpO1xuXG5cdHJldHVybiBbeCAqIDEwMCwgeSAqIDEwMCwgeiAqIDEwMF07XG59O1xuXG5jb252ZXJ0LnJnYi5sYWIgPSBmdW5jdGlvbiAocmdiKSB7XG5cdGNvbnN0IHh5eiA9IGNvbnZlcnQucmdiLnh5eihyZ2IpO1xuXHRsZXQgeCA9IHh5elswXTtcblx0bGV0IHkgPSB4eXpbMV07XG5cdGxldCB6ID0geHl6WzJdO1xuXG5cdHggLz0gOTUuMDQ3O1xuXHR5IC89IDEwMDtcblx0eiAvPSAxMDguODgzO1xuXG5cdHggPSB4ID4gMC4wMDg4NTYgPyAoeCAqKiAoMSAvIDMpKSA6ICg3Ljc4NyAqIHgpICsgKDE2IC8gMTE2KTtcblx0eSA9IHkgPiAwLjAwODg1NiA/ICh5ICoqICgxIC8gMykpIDogKDcuNzg3ICogeSkgKyAoMTYgLyAxMTYpO1xuXHR6ID0geiA+IDAuMDA4ODU2ID8gKHogKiogKDEgLyAzKSkgOiAoNy43ODcgKiB6KSArICgxNiAvIDExNik7XG5cblx0Y29uc3QgbCA9ICgxMTYgKiB5KSAtIDE2O1xuXHRjb25zdCBhID0gNTAwICogKHggLSB5KTtcblx0Y29uc3QgYiA9IDIwMCAqICh5IC0geik7XG5cblx0cmV0dXJuIFtsLCBhLCBiXTtcbn07XG5cbmNvbnZlcnQuaHNsLnJnYiA9IGZ1bmN0aW9uIChoc2wpIHtcblx0Y29uc3QgaCA9IGhzbFswXSAvIDM2MDtcblx0Y29uc3QgcyA9IGhzbFsxXSAvIDEwMDtcblx0Y29uc3QgbCA9IGhzbFsyXSAvIDEwMDtcblx0bGV0IHQyO1xuXHRsZXQgdDM7XG5cdGxldCB2YWw7XG5cblx0aWYgKHMgPT09IDApIHtcblx0XHR2YWwgPSBsICogMjU1O1xuXHRcdHJldHVybiBbdmFsLCB2YWwsIHZhbF07XG5cdH1cblxuXHRpZiAobCA8IDAuNSkge1xuXHRcdHQyID0gbCAqICgxICsgcyk7XG5cdH0gZWxzZSB7XG5cdFx0dDIgPSBsICsgcyAtIGwgKiBzO1xuXHR9XG5cblx0Y29uc3QgdDEgPSAyICogbCAtIHQyO1xuXG5cdGNvbnN0IHJnYiA9IFswLCAwLCAwXTtcblx0Zm9yIChsZXQgaSA9IDA7IGkgPCAzOyBpKyspIHtcblx0XHR0MyA9IGggKyAxIC8gMyAqIC0oaSAtIDEpO1xuXHRcdGlmICh0MyA8IDApIHtcblx0XHRcdHQzKys7XG5cdFx0fVxuXG5cdFx0aWYgKHQzID4gMSkge1xuXHRcdFx0dDMtLTtcblx0XHR9XG5cblx0XHRpZiAoNiAqIHQzIDwgMSkge1xuXHRcdFx0dmFsID0gdDEgKyAodDIgLSB0MSkgKiA2ICogdDM7XG5cdFx0fSBlbHNlIGlmICgyICogdDMgPCAxKSB7XG5cdFx0XHR2YWwgPSB0Mjtcblx0XHR9IGVsc2UgaWYgKDMgKiB0MyA8IDIpIHtcblx0XHRcdHZhbCA9IHQxICsgKHQyIC0gdDEpICogKDIgLyAzIC0gdDMpICogNjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dmFsID0gdDE7XG5cdFx0fVxuXG5cdFx0cmdiW2ldID0gdmFsICogMjU1O1xuXHR9XG5cblx0cmV0dXJuIHJnYjtcbn07XG5cbmNvbnZlcnQuaHNsLmhzdiA9IGZ1bmN0aW9uIChoc2wpIHtcblx0Y29uc3QgaCA9IGhzbFswXTtcblx0bGV0IHMgPSBoc2xbMV0gLyAxMDA7XG5cdGxldCBsID0gaHNsWzJdIC8gMTAwO1xuXHRsZXQgc21pbiA9IHM7XG5cdGNvbnN0IGxtaW4gPSBNYXRoLm1heChsLCAwLjAxKTtcblxuXHRsICo9IDI7XG5cdHMgKj0gKGwgPD0gMSkgPyBsIDogMiAtIGw7XG5cdHNtaW4gKj0gbG1pbiA8PSAxID8gbG1pbiA6IDIgLSBsbWluO1xuXHRjb25zdCB2ID0gKGwgKyBzKSAvIDI7XG5cdGNvbnN0IHN2ID0gbCA9PT0gMCA/ICgyICogc21pbikgLyAobG1pbiArIHNtaW4pIDogKDIgKiBzKSAvIChsICsgcyk7XG5cblx0cmV0dXJuIFtoLCBzdiAqIDEwMCwgdiAqIDEwMF07XG59O1xuXG5jb252ZXJ0Lmhzdi5yZ2IgPSBmdW5jdGlvbiAoaHN2KSB7XG5cdGNvbnN0IGggPSBoc3ZbMF0gLyA2MDtcblx0Y29uc3QgcyA9IGhzdlsxXSAvIDEwMDtcblx0bGV0IHYgPSBoc3ZbMl0gLyAxMDA7XG5cdGNvbnN0IGhpID0gTWF0aC5mbG9vcihoKSAlIDY7XG5cblx0Y29uc3QgZiA9IGggLSBNYXRoLmZsb29yKGgpO1xuXHRjb25zdCBwID0gMjU1ICogdiAqICgxIC0gcyk7XG5cdGNvbnN0IHEgPSAyNTUgKiB2ICogKDEgLSAocyAqIGYpKTtcblx0Y29uc3QgdCA9IDI1NSAqIHYgKiAoMSAtIChzICogKDEgLSBmKSkpO1xuXHR2ICo9IDI1NTtcblxuXHRzd2l0Y2ggKGhpKSB7XG5cdFx0Y2FzZSAwOlxuXHRcdFx0cmV0dXJuIFt2LCB0LCBwXTtcblx0XHRjYXNlIDE6XG5cdFx0XHRyZXR1cm4gW3EsIHYsIHBdO1xuXHRcdGNhc2UgMjpcblx0XHRcdHJldHVybiBbcCwgdiwgdF07XG5cdFx0Y2FzZSAzOlxuXHRcdFx0cmV0dXJuIFtwLCBxLCB2XTtcblx0XHRjYXNlIDQ6XG5cdFx0XHRyZXR1cm4gW3QsIHAsIHZdO1xuXHRcdGNhc2UgNTpcblx0XHRcdHJldHVybiBbdiwgcCwgcV07XG5cdH1cbn07XG5cbmNvbnZlcnQuaHN2LmhzbCA9IGZ1bmN0aW9uIChoc3YpIHtcblx0Y29uc3QgaCA9IGhzdlswXTtcblx0Y29uc3QgcyA9IGhzdlsxXSAvIDEwMDtcblx0Y29uc3QgdiA9IGhzdlsyXSAvIDEwMDtcblx0Y29uc3Qgdm1pbiA9IE1hdGgubWF4KHYsIDAuMDEpO1xuXHRsZXQgc2w7XG5cdGxldCBsO1xuXG5cdGwgPSAoMiAtIHMpICogdjtcblx0Y29uc3QgbG1pbiA9ICgyIC0gcykgKiB2bWluO1xuXHRzbCA9IHMgKiB2bWluO1xuXHRzbCAvPSAobG1pbiA8PSAxKSA/IGxtaW4gOiAyIC0gbG1pbjtcblx0c2wgPSBzbCB8fCAwO1xuXHRsIC89IDI7XG5cblx0cmV0dXJuIFtoLCBzbCAqIDEwMCwgbCAqIDEwMF07XG59O1xuXG4vLyBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3MtY29sb3IvI2h3Yi10by1yZ2JcbmNvbnZlcnQuaHdiLnJnYiA9IGZ1bmN0aW9uIChod2IpIHtcblx0Y29uc3QgaCA9IGh3YlswXSAvIDM2MDtcblx0bGV0IHdoID0gaHdiWzFdIC8gMTAwO1xuXHRsZXQgYmwgPSBod2JbMl0gLyAxMDA7XG5cdGNvbnN0IHJhdGlvID0gd2ggKyBibDtcblx0bGV0IGY7XG5cblx0Ly8gV2ggKyBibCBjYW50IGJlID4gMVxuXHRpZiAocmF0aW8gPiAxKSB7XG5cdFx0d2ggLz0gcmF0aW87XG5cdFx0YmwgLz0gcmF0aW87XG5cdH1cblxuXHRjb25zdCBpID0gTWF0aC5mbG9vcig2ICogaCk7XG5cdGNvbnN0IHYgPSAxIC0gYmw7XG5cdGYgPSA2ICogaCAtIGk7XG5cblx0aWYgKChpICYgMHgwMSkgIT09IDApIHtcblx0XHRmID0gMSAtIGY7XG5cdH1cblxuXHRjb25zdCBuID0gd2ggKyBmICogKHYgLSB3aCk7IC8vIExpbmVhciBpbnRlcnBvbGF0aW9uXG5cblx0bGV0IHI7XG5cdGxldCBnO1xuXHRsZXQgYjtcblx0LyogZXNsaW50LWRpc2FibGUgbWF4LXN0YXRlbWVudHMtcGVyLWxpbmUsbm8tbXVsdGktc3BhY2VzICovXG5cdHN3aXRjaCAoaSkge1xuXHRcdGRlZmF1bHQ6XG5cdFx0Y2FzZSA2OlxuXHRcdGNhc2UgMDogciA9IHY7ICBnID0gbjsgIGIgPSB3aDsgYnJlYWs7XG5cdFx0Y2FzZSAxOiByID0gbjsgIGcgPSB2OyAgYiA9IHdoOyBicmVhaztcblx0XHRjYXNlIDI6IHIgPSB3aDsgZyA9IHY7ICBiID0gbjsgYnJlYWs7XG5cdFx0Y2FzZSAzOiByID0gd2g7IGcgPSBuOyAgYiA9IHY7IGJyZWFrO1xuXHRcdGNhc2UgNDogciA9IG47ICBnID0gd2g7IGIgPSB2OyBicmVhaztcblx0XHRjYXNlIDU6IHIgPSB2OyAgZyA9IHdoOyBiID0gbjsgYnJlYWs7XG5cdH1cblx0LyogZXNsaW50LWVuYWJsZSBtYXgtc3RhdGVtZW50cy1wZXItbGluZSxuby1tdWx0aS1zcGFjZXMgKi9cblxuXHRyZXR1cm4gW3IgKiAyNTUsIGcgKiAyNTUsIGIgKiAyNTVdO1xufTtcblxuY29udmVydC5jbXlrLnJnYiA9IGZ1bmN0aW9uIChjbXlrKSB7XG5cdGNvbnN0IGMgPSBjbXlrWzBdIC8gMTAwO1xuXHRjb25zdCBtID0gY215a1sxXSAvIDEwMDtcblx0Y29uc3QgeSA9IGNteWtbMl0gLyAxMDA7XG5cdGNvbnN0IGsgPSBjbXlrWzNdIC8gMTAwO1xuXG5cdGNvbnN0IHIgPSAxIC0gTWF0aC5taW4oMSwgYyAqICgxIC0gaykgKyBrKTtcblx0Y29uc3QgZyA9IDEgLSBNYXRoLm1pbigxLCBtICogKDEgLSBrKSArIGspO1xuXHRjb25zdCBiID0gMSAtIE1hdGgubWluKDEsIHkgKiAoMSAtIGspICsgayk7XG5cblx0cmV0dXJuIFtyICogMjU1LCBnICogMjU1LCBiICogMjU1XTtcbn07XG5cbmNvbnZlcnQueHl6LnJnYiA9IGZ1bmN0aW9uICh4eXopIHtcblx0Y29uc3QgeCA9IHh5elswXSAvIDEwMDtcblx0Y29uc3QgeSA9IHh5elsxXSAvIDEwMDtcblx0Y29uc3QgeiA9IHh5elsyXSAvIDEwMDtcblx0bGV0IHI7XG5cdGxldCBnO1xuXHRsZXQgYjtcblxuXHRyID0gKHggKiAzLjI0MDYpICsgKHkgKiAtMS41MzcyKSArICh6ICogLTAuNDk4Nik7XG5cdGcgPSAoeCAqIC0wLjk2ODkpICsgKHkgKiAxLjg3NTgpICsgKHogKiAwLjA0MTUpO1xuXHRiID0gKHggKiAwLjA1NTcpICsgKHkgKiAtMC4yMDQwKSArICh6ICogMS4wNTcwKTtcblxuXHQvLyBBc3N1bWUgc1JHQlxuXHRyID0gciA+IDAuMDAzMTMwOFxuXHRcdD8gKCgxLjA1NSAqIChyICoqICgxLjAgLyAyLjQpKSkgLSAwLjA1NSlcblx0XHQ6IHIgKiAxMi45MjtcblxuXHRnID0gZyA+IDAuMDAzMTMwOFxuXHRcdD8gKCgxLjA1NSAqIChnICoqICgxLjAgLyAyLjQpKSkgLSAwLjA1NSlcblx0XHQ6IGcgKiAxMi45MjtcblxuXHRiID0gYiA+IDAuMDAzMTMwOFxuXHRcdD8gKCgxLjA1NSAqIChiICoqICgxLjAgLyAyLjQpKSkgLSAwLjA1NSlcblx0XHQ6IGIgKiAxMi45MjtcblxuXHRyID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgciksIDEpO1xuXHRnID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgZyksIDEpO1xuXHRiID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgYiksIDEpO1xuXG5cdHJldHVybiBbciAqIDI1NSwgZyAqIDI1NSwgYiAqIDI1NV07XG59O1xuXG5jb252ZXJ0Lnh5ei5sYWIgPSBmdW5jdGlvbiAoeHl6KSB7XG5cdGxldCB4ID0geHl6WzBdO1xuXHRsZXQgeSA9IHh5elsxXTtcblx0bGV0IHogPSB4eXpbMl07XG5cblx0eCAvPSA5NS4wNDc7XG5cdHkgLz0gMTAwO1xuXHR6IC89IDEwOC44ODM7XG5cblx0eCA9IHggPiAwLjAwODg1NiA/ICh4ICoqICgxIC8gMykpIDogKDcuNzg3ICogeCkgKyAoMTYgLyAxMTYpO1xuXHR5ID0geSA+IDAuMDA4ODU2ID8gKHkgKiogKDEgLyAzKSkgOiAoNy43ODcgKiB5KSArICgxNiAvIDExNik7XG5cdHogPSB6ID4gMC4wMDg4NTYgPyAoeiAqKiAoMSAvIDMpKSA6ICg3Ljc4NyAqIHopICsgKDE2IC8gMTE2KTtcblxuXHRjb25zdCBsID0gKDExNiAqIHkpIC0gMTY7XG5cdGNvbnN0IGEgPSA1MDAgKiAoeCAtIHkpO1xuXHRjb25zdCBiID0gMjAwICogKHkgLSB6KTtcblxuXHRyZXR1cm4gW2wsIGEsIGJdO1xufTtcblxuY29udmVydC5sYWIueHl6ID0gZnVuY3Rpb24gKGxhYikge1xuXHRjb25zdCBsID0gbGFiWzBdO1xuXHRjb25zdCBhID0gbGFiWzFdO1xuXHRjb25zdCBiID0gbGFiWzJdO1xuXHRsZXQgeDtcblx0bGV0IHk7XG5cdGxldCB6O1xuXG5cdHkgPSAobCArIDE2KSAvIDExNjtcblx0eCA9IGEgLyA1MDAgKyB5O1xuXHR6ID0geSAtIGIgLyAyMDA7XG5cblx0Y29uc3QgeTIgPSB5ICoqIDM7XG5cdGNvbnN0IHgyID0geCAqKiAzO1xuXHRjb25zdCB6MiA9IHogKiogMztcblx0eSA9IHkyID4gMC4wMDg4NTYgPyB5MiA6ICh5IC0gMTYgLyAxMTYpIC8gNy43ODc7XG5cdHggPSB4MiA+IDAuMDA4ODU2ID8geDIgOiAoeCAtIDE2IC8gMTE2KSAvIDcuNzg3O1xuXHR6ID0gejIgPiAwLjAwODg1NiA/IHoyIDogKHogLSAxNiAvIDExNikgLyA3Ljc4NztcblxuXHR4ICo9IDk1LjA0Nztcblx0eSAqPSAxMDA7XG5cdHogKj0gMTA4Ljg4MztcblxuXHRyZXR1cm4gW3gsIHksIHpdO1xufTtcblxuY29udmVydC5sYWIubGNoID0gZnVuY3Rpb24gKGxhYikge1xuXHRjb25zdCBsID0gbGFiWzBdO1xuXHRjb25zdCBhID0gbGFiWzFdO1xuXHRjb25zdCBiID0gbGFiWzJdO1xuXHRsZXQgaDtcblxuXHRjb25zdCBociA9IE1hdGguYXRhbjIoYiwgYSk7XG5cdGggPSBociAqIDM2MCAvIDIgLyBNYXRoLlBJO1xuXG5cdGlmIChoIDwgMCkge1xuXHRcdGggKz0gMzYwO1xuXHR9XG5cblx0Y29uc3QgYyA9IE1hdGguc3FydChhICogYSArIGIgKiBiKTtcblxuXHRyZXR1cm4gW2wsIGMsIGhdO1xufTtcblxuY29udmVydC5sY2gubGFiID0gZnVuY3Rpb24gKGxjaCkge1xuXHRjb25zdCBsID0gbGNoWzBdO1xuXHRjb25zdCBjID0gbGNoWzFdO1xuXHRjb25zdCBoID0gbGNoWzJdO1xuXG5cdGNvbnN0IGhyID0gaCAvIDM2MCAqIDIgKiBNYXRoLlBJO1xuXHRjb25zdCBhID0gYyAqIE1hdGguY29zKGhyKTtcblx0Y29uc3QgYiA9IGMgKiBNYXRoLnNpbihocik7XG5cblx0cmV0dXJuIFtsLCBhLCBiXTtcbn07XG5cbmNvbnZlcnQucmdiLmFuc2kxNiA9IGZ1bmN0aW9uIChhcmdzLCBzYXR1cmF0aW9uID0gbnVsbCkge1xuXHRjb25zdCBbciwgZywgYl0gPSBhcmdzO1xuXHRsZXQgdmFsdWUgPSBzYXR1cmF0aW9uID09PSBudWxsID8gY29udmVydC5yZ2IuaHN2KGFyZ3MpWzJdIDogc2F0dXJhdGlvbjsgLy8gSHN2IC0+IGFuc2kxNiBvcHRpbWl6YXRpb25cblxuXHR2YWx1ZSA9IE1hdGgucm91bmQodmFsdWUgLyA1MCk7XG5cblx0aWYgKHZhbHVlID09PSAwKSB7XG5cdFx0cmV0dXJuIDMwO1xuXHR9XG5cblx0bGV0IGFuc2kgPSAzMFxuXHRcdCsgKChNYXRoLnJvdW5kKGIgLyAyNTUpIDw8IDIpXG5cdFx0fCAoTWF0aC5yb3VuZChnIC8gMjU1KSA8PCAxKVxuXHRcdHwgTWF0aC5yb3VuZChyIC8gMjU1KSk7XG5cblx0aWYgKHZhbHVlID09PSAyKSB7XG5cdFx0YW5zaSArPSA2MDtcblx0fVxuXG5cdHJldHVybiBhbnNpO1xufTtcblxuY29udmVydC5oc3YuYW5zaTE2ID0gZnVuY3Rpb24gKGFyZ3MpIHtcblx0Ly8gT3B0aW1pemF0aW9uIGhlcmU7IHdlIGFscmVhZHkga25vdyB0aGUgdmFsdWUgYW5kIGRvbid0IG5lZWQgdG8gZ2V0XG5cdC8vIGl0IGNvbnZlcnRlZCBmb3IgdXMuXG5cdHJldHVybiBjb252ZXJ0LnJnYi5hbnNpMTYoY29udmVydC5oc3YucmdiKGFyZ3MpLCBhcmdzWzJdKTtcbn07XG5cbmNvbnZlcnQucmdiLmFuc2kyNTYgPSBmdW5jdGlvbiAoYXJncykge1xuXHRjb25zdCByID0gYXJnc1swXTtcblx0Y29uc3QgZyA9IGFyZ3NbMV07XG5cdGNvbnN0IGIgPSBhcmdzWzJdO1xuXG5cdC8vIFdlIHVzZSB0aGUgZXh0ZW5kZWQgZ3JleXNjYWxlIHBhbGV0dGUgaGVyZSwgd2l0aCB0aGUgZXhjZXB0aW9uIG9mXG5cdC8vIGJsYWNrIGFuZCB3aGl0ZS4gbm9ybWFsIHBhbGV0dGUgb25seSBoYXMgNCBncmV5c2NhbGUgc2hhZGVzLlxuXHRpZiAociA9PT0gZyAmJiBnID09PSBiKSB7XG5cdFx0aWYgKHIgPCA4KSB7XG5cdFx0XHRyZXR1cm4gMTY7XG5cdFx0fVxuXG5cdFx0aWYgKHIgPiAyNDgpIHtcblx0XHRcdHJldHVybiAyMzE7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIE1hdGgucm91bmQoKChyIC0gOCkgLyAyNDcpICogMjQpICsgMjMyO1xuXHR9XG5cblx0Y29uc3QgYW5zaSA9IDE2XG5cdFx0KyAoMzYgKiBNYXRoLnJvdW5kKHIgLyAyNTUgKiA1KSlcblx0XHQrICg2ICogTWF0aC5yb3VuZChnIC8gMjU1ICogNSkpXG5cdFx0KyBNYXRoLnJvdW5kKGIgLyAyNTUgKiA1KTtcblxuXHRyZXR1cm4gYW5zaTtcbn07XG5cbmNvbnZlcnQuYW5zaTE2LnJnYiA9IGZ1bmN0aW9uIChhcmdzKSB7XG5cdGxldCBjb2xvciA9IGFyZ3MgJSAxMDtcblxuXHQvLyBIYW5kbGUgZ3JleXNjYWxlXG5cdGlmIChjb2xvciA9PT0gMCB8fCBjb2xvciA9PT0gNykge1xuXHRcdGlmIChhcmdzID4gNTApIHtcblx0XHRcdGNvbG9yICs9IDMuNTtcblx0XHR9XG5cblx0XHRjb2xvciA9IGNvbG9yIC8gMTAuNSAqIDI1NTtcblxuXHRcdHJldHVybiBbY29sb3IsIGNvbG9yLCBjb2xvcl07XG5cdH1cblxuXHRjb25zdCBtdWx0ID0gKH5+KGFyZ3MgPiA1MCkgKyAxKSAqIDAuNTtcblx0Y29uc3QgciA9ICgoY29sb3IgJiAxKSAqIG11bHQpICogMjU1O1xuXHRjb25zdCBnID0gKCgoY29sb3IgPj4gMSkgJiAxKSAqIG11bHQpICogMjU1O1xuXHRjb25zdCBiID0gKCgoY29sb3IgPj4gMikgJiAxKSAqIG11bHQpICogMjU1O1xuXG5cdHJldHVybiBbciwgZywgYl07XG59O1xuXG5jb252ZXJ0LmFuc2kyNTYucmdiID0gZnVuY3Rpb24gKGFyZ3MpIHtcblx0Ly8gSGFuZGxlIGdyZXlzY2FsZVxuXHRpZiAoYXJncyA+PSAyMzIpIHtcblx0XHRjb25zdCBjID0gKGFyZ3MgLSAyMzIpICogMTAgKyA4O1xuXHRcdHJldHVybiBbYywgYywgY107XG5cdH1cblxuXHRhcmdzIC09IDE2O1xuXG5cdGxldCByZW07XG5cdGNvbnN0IHIgPSBNYXRoLmZsb29yKGFyZ3MgLyAzNikgLyA1ICogMjU1O1xuXHRjb25zdCBnID0gTWF0aC5mbG9vcigocmVtID0gYXJncyAlIDM2KSAvIDYpIC8gNSAqIDI1NTtcblx0Y29uc3QgYiA9IChyZW0gJSA2KSAvIDUgKiAyNTU7XG5cblx0cmV0dXJuIFtyLCBnLCBiXTtcbn07XG5cbmNvbnZlcnQucmdiLmhleCA9IGZ1bmN0aW9uIChhcmdzKSB7XG5cdGNvbnN0IGludGVnZXIgPSAoKE1hdGgucm91bmQoYXJnc1swXSkgJiAweEZGKSA8PCAxNilcblx0XHQrICgoTWF0aC5yb3VuZChhcmdzWzFdKSAmIDB4RkYpIDw8IDgpXG5cdFx0KyAoTWF0aC5yb3VuZChhcmdzWzJdKSAmIDB4RkYpO1xuXG5cdGNvbnN0IHN0cmluZyA9IGludGVnZXIudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7XG5cdHJldHVybiAnMDAwMDAwJy5zdWJzdHJpbmcoc3RyaW5nLmxlbmd0aCkgKyBzdHJpbmc7XG59O1xuXG5jb252ZXJ0LmhleC5yZ2IgPSBmdW5jdGlvbiAoYXJncykge1xuXHRjb25zdCBtYXRjaCA9IGFyZ3MudG9TdHJpbmcoMTYpLm1hdGNoKC9bYS1mMC05XXs2fXxbYS1mMC05XXszfS9pKTtcblx0aWYgKCFtYXRjaCkge1xuXHRcdHJldHVybiBbMCwgMCwgMF07XG5cdH1cblxuXHRsZXQgY29sb3JTdHJpbmcgPSBtYXRjaFswXTtcblxuXHRpZiAobWF0Y2hbMF0ubGVuZ3RoID09PSAzKSB7XG5cdFx0Y29sb3JTdHJpbmcgPSBjb2xvclN0cmluZy5zcGxpdCgnJykubWFwKGNoYXIgPT4ge1xuXHRcdFx0cmV0dXJuIGNoYXIgKyBjaGFyO1xuXHRcdH0pLmpvaW4oJycpO1xuXHR9XG5cblx0Y29uc3QgaW50ZWdlciA9IHBhcnNlSW50KGNvbG9yU3RyaW5nLCAxNik7XG5cdGNvbnN0IHIgPSAoaW50ZWdlciA+PiAxNikgJiAweEZGO1xuXHRjb25zdCBnID0gKGludGVnZXIgPj4gOCkgJiAweEZGO1xuXHRjb25zdCBiID0gaW50ZWdlciAmIDB4RkY7XG5cblx0cmV0dXJuIFtyLCBnLCBiXTtcbn07XG5cbmNvbnZlcnQucmdiLmhjZyA9IGZ1bmN0aW9uIChyZ2IpIHtcblx0Y29uc3QgciA9IHJnYlswXSAvIDI1NTtcblx0Y29uc3QgZyA9IHJnYlsxXSAvIDI1NTtcblx0Y29uc3QgYiA9IHJnYlsyXSAvIDI1NTtcblx0Y29uc3QgbWF4ID0gTWF0aC5tYXgoTWF0aC5tYXgociwgZyksIGIpO1xuXHRjb25zdCBtaW4gPSBNYXRoLm1pbihNYXRoLm1pbihyLCBnKSwgYik7XG5cdGNvbnN0IGNocm9tYSA9IChtYXggLSBtaW4pO1xuXHRsZXQgZ3JheXNjYWxlO1xuXHRsZXQgaHVlO1xuXG5cdGlmIChjaHJvbWEgPCAxKSB7XG5cdFx0Z3JheXNjYWxlID0gbWluIC8gKDEgLSBjaHJvbWEpO1xuXHR9IGVsc2Uge1xuXHRcdGdyYXlzY2FsZSA9IDA7XG5cdH1cblxuXHRpZiAoY2hyb21hIDw9IDApIHtcblx0XHRodWUgPSAwO1xuXHR9IGVsc2Vcblx0aWYgKG1heCA9PT0gcikge1xuXHRcdGh1ZSA9ICgoZyAtIGIpIC8gY2hyb21hKSAlIDY7XG5cdH0gZWxzZVxuXHRpZiAobWF4ID09PSBnKSB7XG5cdFx0aHVlID0gMiArIChiIC0gcikgLyBjaHJvbWE7XG5cdH0gZWxzZSB7XG5cdFx0aHVlID0gNCArIChyIC0gZykgLyBjaHJvbWE7XG5cdH1cblxuXHRodWUgLz0gNjtcblx0aHVlICU9IDE7XG5cblx0cmV0dXJuIFtodWUgKiAzNjAsIGNocm9tYSAqIDEwMCwgZ3JheXNjYWxlICogMTAwXTtcbn07XG5cbmNvbnZlcnQuaHNsLmhjZyA9IGZ1bmN0aW9uIChoc2wpIHtcblx0Y29uc3QgcyA9IGhzbFsxXSAvIDEwMDtcblx0Y29uc3QgbCA9IGhzbFsyXSAvIDEwMDtcblxuXHRjb25zdCBjID0gbCA8IDAuNSA/ICgyLjAgKiBzICogbCkgOiAoMi4wICogcyAqICgxLjAgLSBsKSk7XG5cblx0bGV0IGYgPSAwO1xuXHRpZiAoYyA8IDEuMCkge1xuXHRcdGYgPSAobCAtIDAuNSAqIGMpIC8gKDEuMCAtIGMpO1xuXHR9XG5cblx0cmV0dXJuIFtoc2xbMF0sIGMgKiAxMDAsIGYgKiAxMDBdO1xufTtcblxuY29udmVydC5oc3YuaGNnID0gZnVuY3Rpb24gKGhzdikge1xuXHRjb25zdCBzID0gaHN2WzFdIC8gMTAwO1xuXHRjb25zdCB2ID0gaHN2WzJdIC8gMTAwO1xuXG5cdGNvbnN0IGMgPSBzICogdjtcblx0bGV0IGYgPSAwO1xuXG5cdGlmIChjIDwgMS4wKSB7XG5cdFx0ZiA9ICh2IC0gYykgLyAoMSAtIGMpO1xuXHR9XG5cblx0cmV0dXJuIFtoc3ZbMF0sIGMgKiAxMDAsIGYgKiAxMDBdO1xufTtcblxuY29udmVydC5oY2cucmdiID0gZnVuY3Rpb24gKGhjZykge1xuXHRjb25zdCBoID0gaGNnWzBdIC8gMzYwO1xuXHRjb25zdCBjID0gaGNnWzFdIC8gMTAwO1xuXHRjb25zdCBnID0gaGNnWzJdIC8gMTAwO1xuXG5cdGlmIChjID09PSAwLjApIHtcblx0XHRyZXR1cm4gW2cgKiAyNTUsIGcgKiAyNTUsIGcgKiAyNTVdO1xuXHR9XG5cblx0Y29uc3QgcHVyZSA9IFswLCAwLCAwXTtcblx0Y29uc3QgaGkgPSAoaCAlIDEpICogNjtcblx0Y29uc3QgdiA9IGhpICUgMTtcblx0Y29uc3QgdyA9IDEgLSB2O1xuXHRsZXQgbWcgPSAwO1xuXG5cdC8qIGVzbGludC1kaXNhYmxlIG1heC1zdGF0ZW1lbnRzLXBlci1saW5lICovXG5cdHN3aXRjaCAoTWF0aC5mbG9vcihoaSkpIHtcblx0XHRjYXNlIDA6XG5cdFx0XHRwdXJlWzBdID0gMTsgcHVyZVsxXSA9IHY7IHB1cmVbMl0gPSAwOyBicmVhaztcblx0XHRjYXNlIDE6XG5cdFx0XHRwdXJlWzBdID0gdzsgcHVyZVsxXSA9IDE7IHB1cmVbMl0gPSAwOyBicmVhaztcblx0XHRjYXNlIDI6XG5cdFx0XHRwdXJlWzBdID0gMDsgcHVyZVsxXSA9IDE7IHB1cmVbMl0gPSB2OyBicmVhaztcblx0XHRjYXNlIDM6XG5cdFx0XHRwdXJlWzBdID0gMDsgcHVyZVsxXSA9IHc7IHB1cmVbMl0gPSAxOyBicmVhaztcblx0XHRjYXNlIDQ6XG5cdFx0XHRwdXJlWzBdID0gdjsgcHVyZVsxXSA9IDA7IHB1cmVbMl0gPSAxOyBicmVhaztcblx0XHRkZWZhdWx0OlxuXHRcdFx0cHVyZVswXSA9IDE7IHB1cmVbMV0gPSAwOyBwdXJlWzJdID0gdztcblx0fVxuXHQvKiBlc2xpbnQtZW5hYmxlIG1heC1zdGF0ZW1lbnRzLXBlci1saW5lICovXG5cblx0bWcgPSAoMS4wIC0gYykgKiBnO1xuXG5cdHJldHVybiBbXG5cdFx0KGMgKiBwdXJlWzBdICsgbWcpICogMjU1LFxuXHRcdChjICogcHVyZVsxXSArIG1nKSAqIDI1NSxcblx0XHQoYyAqIHB1cmVbMl0gKyBtZykgKiAyNTVcblx0XTtcbn07XG5cbmNvbnZlcnQuaGNnLmhzdiA9IGZ1bmN0aW9uIChoY2cpIHtcblx0Y29uc3QgYyA9IGhjZ1sxXSAvIDEwMDtcblx0Y29uc3QgZyA9IGhjZ1syXSAvIDEwMDtcblxuXHRjb25zdCB2ID0gYyArIGcgKiAoMS4wIC0gYyk7XG5cdGxldCBmID0gMDtcblxuXHRpZiAodiA+IDAuMCkge1xuXHRcdGYgPSBjIC8gdjtcblx0fVxuXG5cdHJldHVybiBbaGNnWzBdLCBmICogMTAwLCB2ICogMTAwXTtcbn07XG5cbmNvbnZlcnQuaGNnLmhzbCA9IGZ1bmN0aW9uIChoY2cpIHtcblx0Y29uc3QgYyA9IGhjZ1sxXSAvIDEwMDtcblx0Y29uc3QgZyA9IGhjZ1syXSAvIDEwMDtcblxuXHRjb25zdCBsID0gZyAqICgxLjAgLSBjKSArIDAuNSAqIGM7XG5cdGxldCBzID0gMDtcblxuXHRpZiAobCA+IDAuMCAmJiBsIDwgMC41KSB7XG5cdFx0cyA9IGMgLyAoMiAqIGwpO1xuXHR9IGVsc2Vcblx0aWYgKGwgPj0gMC41ICYmIGwgPCAxLjApIHtcblx0XHRzID0gYyAvICgyICogKDEgLSBsKSk7XG5cdH1cblxuXHRyZXR1cm4gW2hjZ1swXSwgcyAqIDEwMCwgbCAqIDEwMF07XG59O1xuXG5jb252ZXJ0LmhjZy5od2IgPSBmdW5jdGlvbiAoaGNnKSB7XG5cdGNvbnN0IGMgPSBoY2dbMV0gLyAxMDA7XG5cdGNvbnN0IGcgPSBoY2dbMl0gLyAxMDA7XG5cdGNvbnN0IHYgPSBjICsgZyAqICgxLjAgLSBjKTtcblx0cmV0dXJuIFtoY2dbMF0sICh2IC0gYykgKiAxMDAsICgxIC0gdikgKiAxMDBdO1xufTtcblxuY29udmVydC5od2IuaGNnID0gZnVuY3Rpb24gKGh3Yikge1xuXHRjb25zdCB3ID0gaHdiWzFdIC8gMTAwO1xuXHRjb25zdCBiID0gaHdiWzJdIC8gMTAwO1xuXHRjb25zdCB2ID0gMSAtIGI7XG5cdGNvbnN0IGMgPSB2IC0gdztcblx0bGV0IGcgPSAwO1xuXG5cdGlmIChjIDwgMSkge1xuXHRcdGcgPSAodiAtIGMpIC8gKDEgLSBjKTtcblx0fVxuXG5cdHJldHVybiBbaHdiWzBdLCBjICogMTAwLCBnICogMTAwXTtcbn07XG5cbmNvbnZlcnQuYXBwbGUucmdiID0gZnVuY3Rpb24gKGFwcGxlKSB7XG5cdHJldHVybiBbKGFwcGxlWzBdIC8gNjU1MzUpICogMjU1LCAoYXBwbGVbMV0gLyA2NTUzNSkgKiAyNTUsIChhcHBsZVsyXSAvIDY1NTM1KSAqIDI1NV07XG59O1xuXG5jb252ZXJ0LnJnYi5hcHBsZSA9IGZ1bmN0aW9uIChyZ2IpIHtcblx0cmV0dXJuIFsocmdiWzBdIC8gMjU1KSAqIDY1NTM1LCAocmdiWzFdIC8gMjU1KSAqIDY1NTM1LCAocmdiWzJdIC8gMjU1KSAqIDY1NTM1XTtcbn07XG5cbmNvbnZlcnQuZ3JheS5yZ2IgPSBmdW5jdGlvbiAoYXJncykge1xuXHRyZXR1cm4gW2FyZ3NbMF0gLyAxMDAgKiAyNTUsIGFyZ3NbMF0gLyAxMDAgKiAyNTUsIGFyZ3NbMF0gLyAxMDAgKiAyNTVdO1xufTtcblxuY29udmVydC5ncmF5LmhzbCA9IGZ1bmN0aW9uIChhcmdzKSB7XG5cdHJldHVybiBbMCwgMCwgYXJnc1swXV07XG59O1xuXG5jb252ZXJ0LmdyYXkuaHN2ID0gY29udmVydC5ncmF5LmhzbDtcblxuY29udmVydC5ncmF5Lmh3YiA9IGZ1bmN0aW9uIChncmF5KSB7XG5cdHJldHVybiBbMCwgMTAwLCBncmF5WzBdXTtcbn07XG5cbmNvbnZlcnQuZ3JheS5jbXlrID0gZnVuY3Rpb24gKGdyYXkpIHtcblx0cmV0dXJuIFswLCAwLCAwLCBncmF5WzBdXTtcbn07XG5cbmNvbnZlcnQuZ3JheS5sYWIgPSBmdW5jdGlvbiAoZ3JheSkge1xuXHRyZXR1cm4gW2dyYXlbMF0sIDAsIDBdO1xufTtcblxuY29udmVydC5ncmF5LmhleCA9IGZ1bmN0aW9uIChncmF5KSB7XG5cdGNvbnN0IHZhbCA9IE1hdGgucm91bmQoZ3JheVswXSAvIDEwMCAqIDI1NSkgJiAweEZGO1xuXHRjb25zdCBpbnRlZ2VyID0gKHZhbCA8PCAxNikgKyAodmFsIDw8IDgpICsgdmFsO1xuXG5cdGNvbnN0IHN0cmluZyA9IGludGVnZXIudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCk7XG5cdHJldHVybiAnMDAwMDAwJy5zdWJzdHJpbmcoc3RyaW5nLmxlbmd0aCkgKyBzdHJpbmc7XG59O1xuXG5jb252ZXJ0LnJnYi5ncmF5ID0gZnVuY3Rpb24gKHJnYikge1xuXHRjb25zdCB2YWwgPSAocmdiWzBdICsgcmdiWzFdICsgcmdiWzJdKSAvIDM7XG5cdHJldHVybiBbdmFsIC8gMjU1ICogMTAwXTtcbn07XG4iLCAiY29uc3QgY29udmVyc2lvbnMgPSByZXF1aXJlKCcuL2NvbnZlcnNpb25zJyk7XG5cbi8qXG5cdFRoaXMgZnVuY3Rpb24gcm91dGVzIGEgbW9kZWwgdG8gYWxsIG90aGVyIG1vZGVscy5cblxuXHRhbGwgZnVuY3Rpb25zIHRoYXQgYXJlIHJvdXRlZCBoYXZlIGEgcHJvcGVydHkgYC5jb252ZXJzaW9uYCBhdHRhY2hlZFxuXHR0byB0aGUgcmV0dXJuZWQgc3ludGhldGljIGZ1bmN0aW9uLiBUaGlzIHByb3BlcnR5IGlzIGFuIGFycmF5XG5cdG9mIHN0cmluZ3MsIGVhY2ggd2l0aCB0aGUgc3RlcHMgaW4gYmV0d2VlbiB0aGUgJ2Zyb20nIGFuZCAndG8nXG5cdGNvbG9yIG1vZGVscyAoaW5jbHVzaXZlKS5cblxuXHRjb252ZXJzaW9ucyB0aGF0IGFyZSBub3QgcG9zc2libGUgc2ltcGx5IGFyZSBub3QgaW5jbHVkZWQuXG4qL1xuXG5mdW5jdGlvbiBidWlsZEdyYXBoKCkge1xuXHRjb25zdCBncmFwaCA9IHt9O1xuXHQvLyBodHRwczovL2pzcGVyZi5jb20vb2JqZWN0LWtleXMtdnMtZm9yLWluLXdpdGgtY2xvc3VyZS8zXG5cdGNvbnN0IG1vZGVscyA9IE9iamVjdC5rZXlzKGNvbnZlcnNpb25zKTtcblxuXHRmb3IgKGxldCBsZW4gPSBtb2RlbHMubGVuZ3RoLCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG5cdFx0Z3JhcGhbbW9kZWxzW2ldXSA9IHtcblx0XHRcdC8vIGh0dHA6Ly9qc3BlcmYuY29tLzEtdnMtaW5maW5pdHlcblx0XHRcdC8vIG1pY3JvLW9wdCwgYnV0IHRoaXMgaXMgc2ltcGxlLlxuXHRcdFx0ZGlzdGFuY2U6IC0xLFxuXHRcdFx0cGFyZW50OiBudWxsXG5cdFx0fTtcblx0fVxuXG5cdHJldHVybiBncmFwaDtcbn1cblxuLy8gaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQnJlYWR0aC1maXJzdF9zZWFyY2hcbmZ1bmN0aW9uIGRlcml2ZUJGUyhmcm9tTW9kZWwpIHtcblx0Y29uc3QgZ3JhcGggPSBidWlsZEdyYXBoKCk7XG5cdGNvbnN0IHF1ZXVlID0gW2Zyb21Nb2RlbF07IC8vIFVuc2hpZnQgLT4gcXVldWUgLT4gcG9wXG5cblx0Z3JhcGhbZnJvbU1vZGVsXS5kaXN0YW5jZSA9IDA7XG5cblx0d2hpbGUgKHF1ZXVlLmxlbmd0aCkge1xuXHRcdGNvbnN0IGN1cnJlbnQgPSBxdWV1ZS5wb3AoKTtcblx0XHRjb25zdCBhZGphY2VudHMgPSBPYmplY3Qua2V5cyhjb252ZXJzaW9uc1tjdXJyZW50XSk7XG5cblx0XHRmb3IgKGxldCBsZW4gPSBhZGphY2VudHMubGVuZ3RoLCBpID0gMDsgaSA8IGxlbjsgaSsrKSB7XG5cdFx0XHRjb25zdCBhZGphY2VudCA9IGFkamFjZW50c1tpXTtcblx0XHRcdGNvbnN0IG5vZGUgPSBncmFwaFthZGphY2VudF07XG5cblx0XHRcdGlmIChub2RlLmRpc3RhbmNlID09PSAtMSkge1xuXHRcdFx0XHRub2RlLmRpc3RhbmNlID0gZ3JhcGhbY3VycmVudF0uZGlzdGFuY2UgKyAxO1xuXHRcdFx0XHRub2RlLnBhcmVudCA9IGN1cnJlbnQ7XG5cdFx0XHRcdHF1ZXVlLnVuc2hpZnQoYWRqYWNlbnQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdHJldHVybiBncmFwaDtcbn1cblxuZnVuY3Rpb24gbGluayhmcm9tLCB0bykge1xuXHRyZXR1cm4gZnVuY3Rpb24gKGFyZ3MpIHtcblx0XHRyZXR1cm4gdG8oZnJvbShhcmdzKSk7XG5cdH07XG59XG5cbmZ1bmN0aW9uIHdyYXBDb252ZXJzaW9uKHRvTW9kZWwsIGdyYXBoKSB7XG5cdGNvbnN0IHBhdGggPSBbZ3JhcGhbdG9Nb2RlbF0ucGFyZW50LCB0b01vZGVsXTtcblx0bGV0IGZuID0gY29udmVyc2lvbnNbZ3JhcGhbdG9Nb2RlbF0ucGFyZW50XVt0b01vZGVsXTtcblxuXHRsZXQgY3VyID0gZ3JhcGhbdG9Nb2RlbF0ucGFyZW50O1xuXHR3aGlsZSAoZ3JhcGhbY3VyXS5wYXJlbnQpIHtcblx0XHRwYXRoLnVuc2hpZnQoZ3JhcGhbY3VyXS5wYXJlbnQpO1xuXHRcdGZuID0gbGluayhjb252ZXJzaW9uc1tncmFwaFtjdXJdLnBhcmVudF1bY3VyXSwgZm4pO1xuXHRcdGN1ciA9IGdyYXBoW2N1cl0ucGFyZW50O1xuXHR9XG5cblx0Zm4uY29udmVyc2lvbiA9IHBhdGg7XG5cdHJldHVybiBmbjtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoZnJvbU1vZGVsKSB7XG5cdGNvbnN0IGdyYXBoID0gZGVyaXZlQkZTKGZyb21Nb2RlbCk7XG5cdGNvbnN0IGNvbnZlcnNpb24gPSB7fTtcblxuXHRjb25zdCBtb2RlbHMgPSBPYmplY3Qua2V5cyhncmFwaCk7XG5cdGZvciAobGV0IGxlbiA9IG1vZGVscy5sZW5ndGgsIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcblx0XHRjb25zdCB0b01vZGVsID0gbW9kZWxzW2ldO1xuXHRcdGNvbnN0IG5vZGUgPSBncmFwaFt0b01vZGVsXTtcblxuXHRcdGlmIChub2RlLnBhcmVudCA9PT0gbnVsbCkge1xuXHRcdFx0Ly8gTm8gcG9zc2libGUgY29udmVyc2lvbiwgb3IgdGhpcyBub2RlIGlzIHRoZSBzb3VyY2UgbW9kZWwuXG5cdFx0XHRjb250aW51ZTtcblx0XHR9XG5cblx0XHRjb252ZXJzaW9uW3RvTW9kZWxdID0gd3JhcENvbnZlcnNpb24odG9Nb2RlbCwgZ3JhcGgpO1xuXHR9XG5cblx0cmV0dXJuIGNvbnZlcnNpb247XG59O1xuXG4iLCAiY29uc3QgY29udmVyc2lvbnMgPSByZXF1aXJlKCcuL2NvbnZlcnNpb25zJyk7XG5jb25zdCByb3V0ZSA9IHJlcXVpcmUoJy4vcm91dGUnKTtcblxuY29uc3QgY29udmVydCA9IHt9O1xuXG5jb25zdCBtb2RlbHMgPSBPYmplY3Qua2V5cyhjb252ZXJzaW9ucyk7XG5cbmZ1bmN0aW9uIHdyYXBSYXcoZm4pIHtcblx0Y29uc3Qgd3JhcHBlZEZuID0gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcblx0XHRjb25zdCBhcmcwID0gYXJnc1swXTtcblx0XHRpZiAoYXJnMCA9PT0gdW5kZWZpbmVkIHx8IGFyZzAgPT09IG51bGwpIHtcblx0XHRcdHJldHVybiBhcmcwO1xuXHRcdH1cblxuXHRcdGlmIChhcmcwLmxlbmd0aCA+IDEpIHtcblx0XHRcdGFyZ3MgPSBhcmcwO1xuXHRcdH1cblxuXHRcdHJldHVybiBmbihhcmdzKTtcblx0fTtcblxuXHQvLyBQcmVzZXJ2ZSAuY29udmVyc2lvbiBwcm9wZXJ0eSBpZiB0aGVyZSBpcyBvbmVcblx0aWYgKCdjb252ZXJzaW9uJyBpbiBmbikge1xuXHRcdHdyYXBwZWRGbi5jb252ZXJzaW9uID0gZm4uY29udmVyc2lvbjtcblx0fVxuXG5cdHJldHVybiB3cmFwcGVkRm47XG59XG5cbmZ1bmN0aW9uIHdyYXBSb3VuZGVkKGZuKSB7XG5cdGNvbnN0IHdyYXBwZWRGbiA9IGZ1bmN0aW9uICguLi5hcmdzKSB7XG5cdFx0Y29uc3QgYXJnMCA9IGFyZ3NbMF07XG5cblx0XHRpZiAoYXJnMCA9PT0gdW5kZWZpbmVkIHx8IGFyZzAgPT09IG51bGwpIHtcblx0XHRcdHJldHVybiBhcmcwO1xuXHRcdH1cblxuXHRcdGlmIChhcmcwLmxlbmd0aCA+IDEpIHtcblx0XHRcdGFyZ3MgPSBhcmcwO1xuXHRcdH1cblxuXHRcdGNvbnN0IHJlc3VsdCA9IGZuKGFyZ3MpO1xuXG5cdFx0Ly8gV2UncmUgYXNzdW1pbmcgdGhlIHJlc3VsdCBpcyBhbiBhcnJheSBoZXJlLlxuXHRcdC8vIHNlZSBub3RpY2UgaW4gY29udmVyc2lvbnMuanM7IGRvbid0IHVzZSBib3ggdHlwZXNcblx0XHQvLyBpbiBjb252ZXJzaW9uIGZ1bmN0aW9ucy5cblx0XHRpZiAodHlwZW9mIHJlc3VsdCA9PT0gJ29iamVjdCcpIHtcblx0XHRcdGZvciAobGV0IGxlbiA9IHJlc3VsdC5sZW5ndGgsIGkgPSAwOyBpIDwgbGVuOyBpKyspIHtcblx0XHRcdFx0cmVzdWx0W2ldID0gTWF0aC5yb3VuZChyZXN1bHRbaV0pO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHJldHVybiByZXN1bHQ7XG5cdH07XG5cblx0Ly8gUHJlc2VydmUgLmNvbnZlcnNpb24gcHJvcGVydHkgaWYgdGhlcmUgaXMgb25lXG5cdGlmICgnY29udmVyc2lvbicgaW4gZm4pIHtcblx0XHR3cmFwcGVkRm4uY29udmVyc2lvbiA9IGZuLmNvbnZlcnNpb247XG5cdH1cblxuXHRyZXR1cm4gd3JhcHBlZEZuO1xufVxuXG5tb2RlbHMuZm9yRWFjaChmcm9tTW9kZWwgPT4ge1xuXHRjb252ZXJ0W2Zyb21Nb2RlbF0gPSB7fTtcblxuXHRPYmplY3QuZGVmaW5lUHJvcGVydHkoY29udmVydFtmcm9tTW9kZWxdLCAnY2hhbm5lbHMnLCB7dmFsdWU6IGNvbnZlcnNpb25zW2Zyb21Nb2RlbF0uY2hhbm5lbHN9KTtcblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnZlcnRbZnJvbU1vZGVsXSwgJ2xhYmVscycsIHt2YWx1ZTogY29udmVyc2lvbnNbZnJvbU1vZGVsXS5sYWJlbHN9KTtcblxuXHRjb25zdCByb3V0ZXMgPSByb3V0ZShmcm9tTW9kZWwpO1xuXHRjb25zdCByb3V0ZU1vZGVscyA9IE9iamVjdC5rZXlzKHJvdXRlcyk7XG5cblx0cm91dGVNb2RlbHMuZm9yRWFjaCh0b01vZGVsID0+IHtcblx0XHRjb25zdCBmbiA9IHJvdXRlc1t0b01vZGVsXTtcblxuXHRcdGNvbnZlcnRbZnJvbU1vZGVsXVt0b01vZGVsXSA9IHdyYXBSb3VuZGVkKGZuKTtcblx0XHRjb252ZXJ0W2Zyb21Nb2RlbF1bdG9Nb2RlbF0ucmF3ID0gd3JhcFJhdyhmbik7XG5cdH0pO1xufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gY29udmVydDtcbiIsICIndXNlIHN0cmljdCc7XG5cbmNvbnN0IHdyYXBBbnNpMTYgPSAoZm4sIG9mZnNldCkgPT4gKC4uLmFyZ3MpID0+IHtcblx0Y29uc3QgY29kZSA9IGZuKC4uLmFyZ3MpO1xuXHRyZXR1cm4gYFxcdTAwMUJbJHtjb2RlICsgb2Zmc2V0fW1gO1xufTtcblxuY29uc3Qgd3JhcEFuc2kyNTYgPSAoZm4sIG9mZnNldCkgPT4gKC4uLmFyZ3MpID0+IHtcblx0Y29uc3QgY29kZSA9IGZuKC4uLmFyZ3MpO1xuXHRyZXR1cm4gYFxcdTAwMUJbJHszOCArIG9mZnNldH07NTske2NvZGV9bWA7XG59O1xuXG5jb25zdCB3cmFwQW5zaTE2bSA9IChmbiwgb2Zmc2V0KSA9PiAoLi4uYXJncykgPT4ge1xuXHRjb25zdCByZ2IgPSBmbiguLi5hcmdzKTtcblx0cmV0dXJuIGBcXHUwMDFCWyR7MzggKyBvZmZzZXR9OzI7JHtyZ2JbMF19OyR7cmdiWzFdfTske3JnYlsyXX1tYDtcbn07XG5cbmNvbnN0IGFuc2kyYW5zaSA9IG4gPT4gbjtcbmNvbnN0IHJnYjJyZ2IgPSAociwgZywgYikgPT4gW3IsIGcsIGJdO1xuXG5jb25zdCBzZXRMYXp5UHJvcGVydHkgPSAob2JqZWN0LCBwcm9wZXJ0eSwgZ2V0KSA9PiB7XG5cdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShvYmplY3QsIHByb3BlcnR5LCB7XG5cdFx0Z2V0OiAoKSA9PiB7XG5cdFx0XHRjb25zdCB2YWx1ZSA9IGdldCgpO1xuXG5cdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqZWN0LCBwcm9wZXJ0eSwge1xuXHRcdFx0XHR2YWx1ZSxcblx0XHRcdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHRcdFx0Y29uZmlndXJhYmxlOiB0cnVlXG5cdFx0XHR9KTtcblxuXHRcdFx0cmV0dXJuIHZhbHVlO1xuXHRcdH0sXG5cdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHRjb25maWd1cmFibGU6IHRydWVcblx0fSk7XG59O1xuXG4vKiogQHR5cGUge3R5cGVvZiBpbXBvcnQoJ2NvbG9yLWNvbnZlcnQnKX0gKi9cbmxldCBjb2xvckNvbnZlcnQ7XG5jb25zdCBtYWtlRHluYW1pY1N0eWxlcyA9ICh3cmFwLCB0YXJnZXRTcGFjZSwgaWRlbnRpdHksIGlzQmFja2dyb3VuZCkgPT4ge1xuXHRpZiAoY29sb3JDb252ZXJ0ID09PSB1bmRlZmluZWQpIHtcblx0XHRjb2xvckNvbnZlcnQgPSByZXF1aXJlKCdjb2xvci1jb252ZXJ0Jyk7XG5cdH1cblxuXHRjb25zdCBvZmZzZXQgPSBpc0JhY2tncm91bmQgPyAxMCA6IDA7XG5cdGNvbnN0IHN0eWxlcyA9IHt9O1xuXG5cdGZvciAoY29uc3QgW3NvdXJjZVNwYWNlLCBzdWl0ZV0gb2YgT2JqZWN0LmVudHJpZXMoY29sb3JDb252ZXJ0KSkge1xuXHRcdGNvbnN0IG5hbWUgPSBzb3VyY2VTcGFjZSA9PT0gJ2Fuc2kxNicgPyAnYW5zaScgOiBzb3VyY2VTcGFjZTtcblx0XHRpZiAoc291cmNlU3BhY2UgPT09IHRhcmdldFNwYWNlKSB7XG5cdFx0XHRzdHlsZXNbbmFtZV0gPSB3cmFwKGlkZW50aXR5LCBvZmZzZXQpO1xuXHRcdH0gZWxzZSBpZiAodHlwZW9mIHN1aXRlID09PSAnb2JqZWN0Jykge1xuXHRcdFx0c3R5bGVzW25hbWVdID0gd3JhcChzdWl0ZVt0YXJnZXRTcGFjZV0sIG9mZnNldCk7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHN0eWxlcztcbn07XG5cbmZ1bmN0aW9uIGFzc2VtYmxlU3R5bGVzKCkge1xuXHRjb25zdCBjb2RlcyA9IG5ldyBNYXAoKTtcblx0Y29uc3Qgc3R5bGVzID0ge1xuXHRcdG1vZGlmaWVyOiB7XG5cdFx0XHRyZXNldDogWzAsIDBdLFxuXHRcdFx0Ly8gMjEgaXNuJ3Qgd2lkZWx5IHN1cHBvcnRlZCBhbmQgMjIgZG9lcyB0aGUgc2FtZSB0aGluZ1xuXHRcdFx0Ym9sZDogWzEsIDIyXSxcblx0XHRcdGRpbTogWzIsIDIyXSxcblx0XHRcdGl0YWxpYzogWzMsIDIzXSxcblx0XHRcdHVuZGVybGluZTogWzQsIDI0XSxcblx0XHRcdGludmVyc2U6IFs3LCAyN10sXG5cdFx0XHRoaWRkZW46IFs4LCAyOF0sXG5cdFx0XHRzdHJpa2V0aHJvdWdoOiBbOSwgMjldXG5cdFx0fSxcblx0XHRjb2xvcjoge1xuXHRcdFx0YmxhY2s6IFszMCwgMzldLFxuXHRcdFx0cmVkOiBbMzEsIDM5XSxcblx0XHRcdGdyZWVuOiBbMzIsIDM5XSxcblx0XHRcdHllbGxvdzogWzMzLCAzOV0sXG5cdFx0XHRibHVlOiBbMzQsIDM5XSxcblx0XHRcdG1hZ2VudGE6IFszNSwgMzldLFxuXHRcdFx0Y3lhbjogWzM2LCAzOV0sXG5cdFx0XHR3aGl0ZTogWzM3LCAzOV0sXG5cblx0XHRcdC8vIEJyaWdodCBjb2xvclxuXHRcdFx0YmxhY2tCcmlnaHQ6IFs5MCwgMzldLFxuXHRcdFx0cmVkQnJpZ2h0OiBbOTEsIDM5XSxcblx0XHRcdGdyZWVuQnJpZ2h0OiBbOTIsIDM5XSxcblx0XHRcdHllbGxvd0JyaWdodDogWzkzLCAzOV0sXG5cdFx0XHRibHVlQnJpZ2h0OiBbOTQsIDM5XSxcblx0XHRcdG1hZ2VudGFCcmlnaHQ6IFs5NSwgMzldLFxuXHRcdFx0Y3lhbkJyaWdodDogWzk2LCAzOV0sXG5cdFx0XHR3aGl0ZUJyaWdodDogWzk3LCAzOV1cblx0XHR9LFxuXHRcdGJnQ29sb3I6IHtcblx0XHRcdGJnQmxhY2s6IFs0MCwgNDldLFxuXHRcdFx0YmdSZWQ6IFs0MSwgNDldLFxuXHRcdFx0YmdHcmVlbjogWzQyLCA0OV0sXG5cdFx0XHRiZ1llbGxvdzogWzQzLCA0OV0sXG5cdFx0XHRiZ0JsdWU6IFs0NCwgNDldLFxuXHRcdFx0YmdNYWdlbnRhOiBbNDUsIDQ5XSxcblx0XHRcdGJnQ3lhbjogWzQ2LCA0OV0sXG5cdFx0XHRiZ1doaXRlOiBbNDcsIDQ5XSxcblxuXHRcdFx0Ly8gQnJpZ2h0IGNvbG9yXG5cdFx0XHRiZ0JsYWNrQnJpZ2h0OiBbMTAwLCA0OV0sXG5cdFx0XHRiZ1JlZEJyaWdodDogWzEwMSwgNDldLFxuXHRcdFx0YmdHcmVlbkJyaWdodDogWzEwMiwgNDldLFxuXHRcdFx0YmdZZWxsb3dCcmlnaHQ6IFsxMDMsIDQ5XSxcblx0XHRcdGJnQmx1ZUJyaWdodDogWzEwNCwgNDldLFxuXHRcdFx0YmdNYWdlbnRhQnJpZ2h0OiBbMTA1LCA0OV0sXG5cdFx0XHRiZ0N5YW5CcmlnaHQ6IFsxMDYsIDQ5XSxcblx0XHRcdGJnV2hpdGVCcmlnaHQ6IFsxMDcsIDQ5XVxuXHRcdH1cblx0fTtcblxuXHQvLyBBbGlhcyBicmlnaHQgYmxhY2sgYXMgZ3JheSAoYW5kIGdyZXkpXG5cdHN0eWxlcy5jb2xvci5ncmF5ID0gc3R5bGVzLmNvbG9yLmJsYWNrQnJpZ2h0O1xuXHRzdHlsZXMuYmdDb2xvci5iZ0dyYXkgPSBzdHlsZXMuYmdDb2xvci5iZ0JsYWNrQnJpZ2h0O1xuXHRzdHlsZXMuY29sb3IuZ3JleSA9IHN0eWxlcy5jb2xvci5ibGFja0JyaWdodDtcblx0c3R5bGVzLmJnQ29sb3IuYmdHcmV5ID0gc3R5bGVzLmJnQ29sb3IuYmdCbGFja0JyaWdodDtcblxuXHRmb3IgKGNvbnN0IFtncm91cE5hbWUsIGdyb3VwXSBvZiBPYmplY3QuZW50cmllcyhzdHlsZXMpKSB7XG5cdFx0Zm9yIChjb25zdCBbc3R5bGVOYW1lLCBzdHlsZV0gb2YgT2JqZWN0LmVudHJpZXMoZ3JvdXApKSB7XG5cdFx0XHRzdHlsZXNbc3R5bGVOYW1lXSA9IHtcblx0XHRcdFx0b3BlbjogYFxcdTAwMUJbJHtzdHlsZVswXX1tYCxcblx0XHRcdFx0Y2xvc2U6IGBcXHUwMDFCWyR7c3R5bGVbMV19bWBcblx0XHRcdH07XG5cblx0XHRcdGdyb3VwW3N0eWxlTmFtZV0gPSBzdHlsZXNbc3R5bGVOYW1lXTtcblxuXHRcdFx0Y29kZXMuc2V0KHN0eWxlWzBdLCBzdHlsZVsxXSk7XG5cdFx0fVxuXG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHN0eWxlcywgZ3JvdXBOYW1lLCB7XG5cdFx0XHR2YWx1ZTogZ3JvdXAsXG5cdFx0XHRlbnVtZXJhYmxlOiBmYWxzZVxuXHRcdH0pO1xuXHR9XG5cblx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHN0eWxlcywgJ2NvZGVzJywge1xuXHRcdHZhbHVlOiBjb2Rlcyxcblx0XHRlbnVtZXJhYmxlOiBmYWxzZVxuXHR9KTtcblxuXHRzdHlsZXMuY29sb3IuY2xvc2UgPSAnXFx1MDAxQlszOW0nO1xuXHRzdHlsZXMuYmdDb2xvci5jbG9zZSA9ICdcXHUwMDFCWzQ5bSc7XG5cblx0c2V0TGF6eVByb3BlcnR5KHN0eWxlcy5jb2xvciwgJ2Fuc2knLCAoKSA9PiBtYWtlRHluYW1pY1N0eWxlcyh3cmFwQW5zaTE2LCAnYW5zaTE2JywgYW5zaTJhbnNpLCBmYWxzZSkpO1xuXHRzZXRMYXp5UHJvcGVydHkoc3R5bGVzLmNvbG9yLCAnYW5zaTI1NicsICgpID0+IG1ha2VEeW5hbWljU3R5bGVzKHdyYXBBbnNpMjU2LCAnYW5zaTI1NicsIGFuc2kyYW5zaSwgZmFsc2UpKTtcblx0c2V0TGF6eVByb3BlcnR5KHN0eWxlcy5jb2xvciwgJ2Fuc2kxNm0nLCAoKSA9PiBtYWtlRHluYW1pY1N0eWxlcyh3cmFwQW5zaTE2bSwgJ3JnYicsIHJnYjJyZ2IsIGZhbHNlKSk7XG5cdHNldExhenlQcm9wZXJ0eShzdHlsZXMuYmdDb2xvciwgJ2Fuc2knLCAoKSA9PiBtYWtlRHluYW1pY1N0eWxlcyh3cmFwQW5zaTE2LCAnYW5zaTE2JywgYW5zaTJhbnNpLCB0cnVlKSk7XG5cdHNldExhenlQcm9wZXJ0eShzdHlsZXMuYmdDb2xvciwgJ2Fuc2kyNTYnLCAoKSA9PiBtYWtlRHluYW1pY1N0eWxlcyh3cmFwQW5zaTI1NiwgJ2Fuc2kyNTYnLCBhbnNpMmFuc2ksIHRydWUpKTtcblx0c2V0TGF6eVByb3BlcnR5KHN0eWxlcy5iZ0NvbG9yLCAnYW5zaTE2bScsICgpID0+IG1ha2VEeW5hbWljU3R5bGVzKHdyYXBBbnNpMTZtLCAncmdiJywgcmdiMnJnYiwgdHJ1ZSkpO1xuXG5cdHJldHVybiBzdHlsZXM7XG59XG5cbi8vIE1ha2UgdGhlIGV4cG9ydCBpbW11dGFibGVcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShtb2R1bGUsICdleHBvcnRzJywge1xuXHRlbnVtZXJhYmxlOiB0cnVlLFxuXHRnZXQ6IGFzc2VtYmxlU3R5bGVzXG59KTtcbiIsICIndXNlIHN0cmljdCc7XG5jb25zdCBzdHJpbmdXaWR0aCA9IHJlcXVpcmUoJ3N0cmluZy13aWR0aCcpO1xuY29uc3Qgc3RyaXBBbnNpID0gcmVxdWlyZSgnc3RyaXAtYW5zaScpO1xuY29uc3QgYW5zaVN0eWxlcyA9IHJlcXVpcmUoJ2Fuc2ktc3R5bGVzJyk7XG5cbmNvbnN0IEVTQ0FQRVMgPSBuZXcgU2V0KFtcblx0J1xcdTAwMUInLFxuXHQnXFx1MDA5Qidcbl0pO1xuXG5jb25zdCBFTkRfQ09ERSA9IDM5O1xuXG5jb25zdCB3cmFwQW5zaSA9IGNvZGUgPT4gYCR7RVNDQVBFUy52YWx1ZXMoKS5uZXh0KCkudmFsdWV9WyR7Y29kZX1tYDtcblxuLy8gQ2FsY3VsYXRlIHRoZSBsZW5ndGggb2Ygd29yZHMgc3BsaXQgb24gJyAnLCBpZ25vcmluZ1xuLy8gdGhlIGV4dHJhIGNoYXJhY3RlcnMgYWRkZWQgYnkgYW5zaSBlc2NhcGUgY29kZXNcbmNvbnN0IHdvcmRMZW5ndGhzID0gc3RyaW5nID0+IHN0cmluZy5zcGxpdCgnICcpLm1hcChjaGFyYWN0ZXIgPT4gc3RyaW5nV2lkdGgoY2hhcmFjdGVyKSk7XG5cbi8vIFdyYXAgYSBsb25nIHdvcmQgYWNyb3NzIG11bHRpcGxlIHJvd3Ncbi8vIEFuc2kgZXNjYXBlIGNvZGVzIGRvIG5vdCBjb3VudCB0b3dhcmRzIGxlbmd0aFxuY29uc3Qgd3JhcFdvcmQgPSAocm93cywgd29yZCwgY29sdW1ucykgPT4ge1xuXHRjb25zdCBjaGFyYWN0ZXJzID0gWy4uLndvcmRdO1xuXG5cdGxldCBpc0luc2lkZUVzY2FwZSA9IGZhbHNlO1xuXHRsZXQgdmlzaWJsZSA9IHN0cmluZ1dpZHRoKHN0cmlwQW5zaShyb3dzW3Jvd3MubGVuZ3RoIC0gMV0pKTtcblxuXHRmb3IgKGNvbnN0IFtpbmRleCwgY2hhcmFjdGVyXSBvZiBjaGFyYWN0ZXJzLmVudHJpZXMoKSkge1xuXHRcdGNvbnN0IGNoYXJhY3Rlckxlbmd0aCA9IHN0cmluZ1dpZHRoKGNoYXJhY3Rlcik7XG5cblx0XHRpZiAodmlzaWJsZSArIGNoYXJhY3Rlckxlbmd0aCA8PSBjb2x1bW5zKSB7XG5cdFx0XHRyb3dzW3Jvd3MubGVuZ3RoIC0gMV0gKz0gY2hhcmFjdGVyO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyb3dzLnB1c2goY2hhcmFjdGVyKTtcblx0XHRcdHZpc2libGUgPSAwO1xuXHRcdH1cblxuXHRcdGlmIChFU0NBUEVTLmhhcyhjaGFyYWN0ZXIpKSB7XG5cdFx0XHRpc0luc2lkZUVzY2FwZSA9IHRydWU7XG5cdFx0fSBlbHNlIGlmIChpc0luc2lkZUVzY2FwZSAmJiBjaGFyYWN0ZXIgPT09ICdtJykge1xuXHRcdFx0aXNJbnNpZGVFc2NhcGUgPSBmYWxzZTtcblx0XHRcdGNvbnRpbnVlO1xuXHRcdH1cblxuXHRcdGlmIChpc0luc2lkZUVzY2FwZSkge1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXG5cdFx0dmlzaWJsZSArPSBjaGFyYWN0ZXJMZW5ndGg7XG5cblx0XHRpZiAodmlzaWJsZSA9PT0gY29sdW1ucyAmJiBpbmRleCA8IGNoYXJhY3RlcnMubGVuZ3RoIC0gMSkge1xuXHRcdFx0cm93cy5wdXNoKCcnKTtcblx0XHRcdHZpc2libGUgPSAwO1xuXHRcdH1cblx0fVxuXG5cdC8vIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgbGFzdCByb3cgd2UgY29weSBvdmVyIGlzIG9ubHlcblx0Ly8gYW5zaSBlc2NhcGUgY2hhcmFjdGVycywgaGFuZGxlIHRoaXMgZWRnZS1jYXNlXG5cdGlmICghdmlzaWJsZSAmJiByb3dzW3Jvd3MubGVuZ3RoIC0gMV0ubGVuZ3RoID4gMCAmJiByb3dzLmxlbmd0aCA+IDEpIHtcblx0XHRyb3dzW3Jvd3MubGVuZ3RoIC0gMl0gKz0gcm93cy5wb3AoKTtcblx0fVxufTtcblxuLy8gVHJpbXMgc3BhY2VzIGZyb20gYSBzdHJpbmcgaWdub3JpbmcgaW52aXNpYmxlIHNlcXVlbmNlc1xuY29uc3Qgc3RyaW5nVmlzaWJsZVRyaW1TcGFjZXNSaWdodCA9IHN0ciA9PiB7XG5cdGNvbnN0IHdvcmRzID0gc3RyLnNwbGl0KCcgJyk7XG5cdGxldCBsYXN0ID0gd29yZHMubGVuZ3RoO1xuXG5cdHdoaWxlIChsYXN0ID4gMCkge1xuXHRcdGlmIChzdHJpbmdXaWR0aCh3b3Jkc1tsYXN0IC0gMV0pID4gMCkge1xuXHRcdFx0YnJlYWs7XG5cdFx0fVxuXG5cdFx0bGFzdC0tO1xuXHR9XG5cblx0aWYgKGxhc3QgPT09IHdvcmRzLmxlbmd0aCkge1xuXHRcdHJldHVybiBzdHI7XG5cdH1cblxuXHRyZXR1cm4gd29yZHMuc2xpY2UoMCwgbGFzdCkuam9pbignICcpICsgd29yZHMuc2xpY2UobGFzdCkuam9pbignJyk7XG59O1xuXG4vLyBUaGUgd3JhcC1hbnNpIG1vZHVsZSBjYW4gYmUgaW52b2tlZCBpbiBlaXRoZXIgJ2hhcmQnIG9yICdzb2Z0JyB3cmFwIG1vZGVcbi8vXG4vLyAnaGFyZCcgd2lsbCBuZXZlciBhbGxvdyBhIHN0cmluZyB0byB0YWtlIHVwIG1vcmUgdGhhbiBjb2x1bW5zIGNoYXJhY3RlcnNcbi8vXG4vLyAnc29mdCcgYWxsb3dzIGxvbmcgd29yZHMgdG8gZXhwYW5kIHBhc3QgdGhlIGNvbHVtbiBsZW5ndGhcbmNvbnN0IGV4ZWMgPSAoc3RyaW5nLCBjb2x1bW5zLCBvcHRpb25zID0ge30pID0+IHtcblx0aWYgKG9wdGlvbnMudHJpbSAhPT0gZmFsc2UgJiYgc3RyaW5nLnRyaW0oKSA9PT0gJycpIHtcblx0XHRyZXR1cm4gJyc7XG5cdH1cblxuXHRsZXQgcHJlID0gJyc7XG5cdGxldCByZXQgPSAnJztcblx0bGV0IGVzY2FwZUNvZGU7XG5cblx0Y29uc3QgbGVuZ3RocyA9IHdvcmRMZW5ndGhzKHN0cmluZyk7XG5cdGxldCByb3dzID0gWycnXTtcblxuXHRmb3IgKGNvbnN0IFtpbmRleCwgd29yZF0gb2Ygc3RyaW5nLnNwbGl0KCcgJykuZW50cmllcygpKSB7XG5cdFx0aWYgKG9wdGlvbnMudHJpbSAhPT0gZmFsc2UpIHtcblx0XHRcdHJvd3Nbcm93cy5sZW5ndGggLSAxXSA9IHJvd3Nbcm93cy5sZW5ndGggLSAxXS50cmltTGVmdCgpO1xuXHRcdH1cblxuXHRcdGxldCByb3dMZW5ndGggPSBzdHJpbmdXaWR0aChyb3dzW3Jvd3MubGVuZ3RoIC0gMV0pO1xuXG5cdFx0aWYgKGluZGV4ICE9PSAwKSB7XG5cdFx0XHRpZiAocm93TGVuZ3RoID49IGNvbHVtbnMgJiYgKG9wdGlvbnMud29yZFdyYXAgPT09IGZhbHNlIHx8IG9wdGlvbnMudHJpbSA9PT0gZmFsc2UpKSB7XG5cdFx0XHRcdC8vIElmIHdlIHN0YXJ0IHdpdGggYSBuZXcgd29yZCBidXQgdGhlIGN1cnJlbnQgcm93IGxlbmd0aCBlcXVhbHMgdGhlIGxlbmd0aCBvZiB0aGUgY29sdW1ucywgYWRkIGEgbmV3IHJvd1xuXHRcdFx0XHRyb3dzLnB1c2goJycpO1xuXHRcdFx0XHRyb3dMZW5ndGggPSAwO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAocm93TGVuZ3RoID4gMCB8fCBvcHRpb25zLnRyaW0gPT09IGZhbHNlKSB7XG5cdFx0XHRcdHJvd3Nbcm93cy5sZW5ndGggLSAxXSArPSAnICc7XG5cdFx0XHRcdHJvd0xlbmd0aCsrO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdC8vIEluICdoYXJkJyB3cmFwIG1vZGUsIHRoZSBsZW5ndGggb2YgYSBsaW5lIGlzIG5ldmVyIGFsbG93ZWQgdG8gZXh0ZW5kIHBhc3QgJ2NvbHVtbnMnXG5cdFx0aWYgKG9wdGlvbnMuaGFyZCAmJiBsZW5ndGhzW2luZGV4XSA+IGNvbHVtbnMpIHtcblx0XHRcdGNvbnN0IHJlbWFpbmluZ0NvbHVtbnMgPSAoY29sdW1ucyAtIHJvd0xlbmd0aCk7XG5cdFx0XHRjb25zdCBicmVha3NTdGFydGluZ1RoaXNMaW5lID0gMSArIE1hdGguZmxvb3IoKGxlbmd0aHNbaW5kZXhdIC0gcmVtYWluaW5nQ29sdW1ucyAtIDEpIC8gY29sdW1ucyk7XG5cdFx0XHRjb25zdCBicmVha3NTdGFydGluZ05leHRMaW5lID0gTWF0aC5mbG9vcigobGVuZ3Roc1tpbmRleF0gLSAxKSAvIGNvbHVtbnMpO1xuXHRcdFx0aWYgKGJyZWFrc1N0YXJ0aW5nTmV4dExpbmUgPCBicmVha3NTdGFydGluZ1RoaXNMaW5lKSB7XG5cdFx0XHRcdHJvd3MucHVzaCgnJyk7XG5cdFx0XHR9XG5cblx0XHRcdHdyYXBXb3JkKHJvd3MsIHdvcmQsIGNvbHVtbnMpO1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXG5cdFx0aWYgKHJvd0xlbmd0aCArIGxlbmd0aHNbaW5kZXhdID4gY29sdW1ucyAmJiByb3dMZW5ndGggPiAwICYmIGxlbmd0aHNbaW5kZXhdID4gMCkge1xuXHRcdFx0aWYgKG9wdGlvbnMud29yZFdyYXAgPT09IGZhbHNlICYmIHJvd0xlbmd0aCA8IGNvbHVtbnMpIHtcblx0XHRcdFx0d3JhcFdvcmQocm93cywgd29yZCwgY29sdW1ucyk7XG5cdFx0XHRcdGNvbnRpbnVlO1xuXHRcdFx0fVxuXG5cdFx0XHRyb3dzLnB1c2goJycpO1xuXHRcdH1cblxuXHRcdGlmIChyb3dMZW5ndGggKyBsZW5ndGhzW2luZGV4XSA+IGNvbHVtbnMgJiYgb3B0aW9ucy53b3JkV3JhcCA9PT0gZmFsc2UpIHtcblx0XHRcdHdyYXBXb3JkKHJvd3MsIHdvcmQsIGNvbHVtbnMpO1xuXHRcdFx0Y29udGludWU7XG5cdFx0fVxuXG5cdFx0cm93c1tyb3dzLmxlbmd0aCAtIDFdICs9IHdvcmQ7XG5cdH1cblxuXHRpZiAob3B0aW9ucy50cmltICE9PSBmYWxzZSkge1xuXHRcdHJvd3MgPSByb3dzLm1hcChzdHJpbmdWaXNpYmxlVHJpbVNwYWNlc1JpZ2h0KTtcblx0fVxuXG5cdHByZSA9IHJvd3Muam9pbignXFxuJyk7XG5cblx0Zm9yIChjb25zdCBbaW5kZXgsIGNoYXJhY3Rlcl0gb2YgWy4uLnByZV0uZW50cmllcygpKSB7XG5cdFx0cmV0ICs9IGNoYXJhY3RlcjtcblxuXHRcdGlmIChFU0NBUEVTLmhhcyhjaGFyYWN0ZXIpKSB7XG5cdFx0XHRjb25zdCBjb2RlID0gcGFyc2VGbG9hdCgvXFxkW15tXSovLmV4ZWMocHJlLnNsaWNlKGluZGV4LCBpbmRleCArIDQpKSk7XG5cdFx0XHRlc2NhcGVDb2RlID0gY29kZSA9PT0gRU5EX0NPREUgPyBudWxsIDogY29kZTtcblx0XHR9XG5cblx0XHRjb25zdCBjb2RlID0gYW5zaVN0eWxlcy5jb2Rlcy5nZXQoTnVtYmVyKGVzY2FwZUNvZGUpKTtcblxuXHRcdGlmIChlc2NhcGVDb2RlICYmIGNvZGUpIHtcblx0XHRcdGlmIChwcmVbaW5kZXggKyAxXSA9PT0gJ1xcbicpIHtcblx0XHRcdFx0cmV0ICs9IHdyYXBBbnNpKGNvZGUpO1xuXHRcdFx0fSBlbHNlIGlmIChjaGFyYWN0ZXIgPT09ICdcXG4nKSB7XG5cdFx0XHRcdHJldCArPSB3cmFwQW5zaShlc2NhcGVDb2RlKTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gcmV0O1xufTtcblxuLy8gRm9yIGVhY2ggbmV3bGluZSwgaW52b2tlIHRoZSBtZXRob2Qgc2VwYXJhdGVseVxubW9kdWxlLmV4cG9ydHMgPSAoc3RyaW5nLCBjb2x1bW5zLCBvcHRpb25zKSA9PiB7XG5cdHJldHVybiBTdHJpbmcoc3RyaW5nKVxuXHRcdC5ub3JtYWxpemUoKVxuXHRcdC5yZXBsYWNlKC9cXHJcXG4vZywgJ1xcbicpXG5cdFx0LnNwbGl0KCdcXG4nKVxuXHRcdC5tYXAobGluZSA9PiBleGVjKGxpbmUsIGNvbHVtbnMsIG9wdGlvbnMpKVxuXHRcdC5qb2luKCdcXG4nKTtcbn07XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBzdHJpbmdSZXBsYWNlQWxsID0gKHN0cmluZywgc3Vic3RyaW5nLCByZXBsYWNlcikgPT4ge1xuXHRsZXQgaW5kZXggPSBzdHJpbmcuaW5kZXhPZihzdWJzdHJpbmcpO1xuXHRpZiAoaW5kZXggPT09IC0xKSB7XG5cdFx0cmV0dXJuIHN0cmluZztcblx0fVxuXG5cdGNvbnN0IHN1YnN0cmluZ0xlbmd0aCA9IHN1YnN0cmluZy5sZW5ndGg7XG5cdGxldCBlbmRJbmRleCA9IDA7XG5cdGxldCByZXR1cm5WYWx1ZSA9ICcnO1xuXHRkbyB7XG5cdFx0cmV0dXJuVmFsdWUgKz0gc3RyaW5nLnN1YnN0cihlbmRJbmRleCwgaW5kZXggLSBlbmRJbmRleCkgKyBzdWJzdHJpbmcgKyByZXBsYWNlcjtcblx0XHRlbmRJbmRleCA9IGluZGV4ICsgc3Vic3RyaW5nTGVuZ3RoO1xuXHRcdGluZGV4ID0gc3RyaW5nLmluZGV4T2Yoc3Vic3RyaW5nLCBlbmRJbmRleCk7XG5cdH0gd2hpbGUgKGluZGV4ICE9PSAtMSk7XG5cblx0cmV0dXJuVmFsdWUgKz0gc3RyaW5nLnN1YnN0cihlbmRJbmRleCk7XG5cdHJldHVybiByZXR1cm5WYWx1ZTtcbn07XG5cbmNvbnN0IHN0cmluZ0VuY2FzZUNSTEZXaXRoRmlyc3RJbmRleCA9IChzdHJpbmcsIHByZWZpeCwgcG9zdGZpeCwgaW5kZXgpID0+IHtcblx0bGV0IGVuZEluZGV4ID0gMDtcblx0bGV0IHJldHVyblZhbHVlID0gJyc7XG5cdGRvIHtcblx0XHRjb25zdCBnb3RDUiA9IHN0cmluZ1tpbmRleCAtIDFdID09PSAnXFxyJztcblx0XHRyZXR1cm5WYWx1ZSArPSBzdHJpbmcuc3Vic3RyKGVuZEluZGV4LCAoZ290Q1IgPyBpbmRleCAtIDEgOiBpbmRleCkgLSBlbmRJbmRleCkgKyBwcmVmaXggKyAoZ290Q1IgPyAnXFxyXFxuJyA6ICdcXG4nKSArIHBvc3RmaXg7XG5cdFx0ZW5kSW5kZXggPSBpbmRleCArIDE7XG5cdFx0aW5kZXggPSBzdHJpbmcuaW5kZXhPZignXFxuJywgZW5kSW5kZXgpO1xuXHR9IHdoaWxlIChpbmRleCAhPT0gLTEpO1xuXG5cdHJldHVyblZhbHVlICs9IHN0cmluZy5zdWJzdHIoZW5kSW5kZXgpO1xuXHRyZXR1cm4gcmV0dXJuVmFsdWU7XG59O1xuXG5tb2R1bGUuZXhwb3J0cyA9IHtcblx0c3RyaW5nUmVwbGFjZUFsbCxcblx0c3RyaW5nRW5jYXNlQ1JMRldpdGhGaXJzdEluZGV4XG59O1xuIiwgIid1c2Ugc3RyaWN0JztcbmNvbnN0IFRFTVBMQVRFX1JFR0VYID0gLyg/OlxcXFwodSg/OlthLWZcXGRdezR9fFxce1thLWZcXGRdezEsNn1cXH0pfHhbYS1mXFxkXXsyfXwuKSl8KD86XFx7KH4pPyhcXHcrKD86XFwoW14pXSpcXCkpPyg/OlxcLlxcdysoPzpcXChbXildKlxcKSk/KSopKD86WyBcXHRdfCg/PVxccj9cXG4pKSl8KFxcfSl8KCg/Oi58W1xcclxcblxcZl0pKz8pL2dpO1xuY29uc3QgU1RZTEVfUkVHRVggPSAvKD86XnxcXC4pKFxcdyspKD86XFwoKFteKV0qKVxcKSk/L2c7XG5jb25zdCBTVFJJTkdfUkVHRVggPSAvXihbJ1wiXSkoKD86XFxcXC58KD8hXFwxKVteXFxcXF0pKilcXDEkLztcbmNvbnN0IEVTQ0FQRV9SRUdFWCA9IC9cXFxcKHUoPzpbYS1mXFxkXXs0fXx7W2EtZlxcZF17MSw2fX0pfHhbYS1mXFxkXXsyfXwuKXwoW15cXFxcXSkvZ2k7XG5cbmNvbnN0IEVTQ0FQRVMgPSBuZXcgTWFwKFtcblx0WyduJywgJ1xcbiddLFxuXHRbJ3InLCAnXFxyJ10sXG5cdFsndCcsICdcXHQnXSxcblx0WydiJywgJ1xcYiddLFxuXHRbJ2YnLCAnXFxmJ10sXG5cdFsndicsICdcXHYnXSxcblx0WycwJywgJ1xcMCddLFxuXHRbJ1xcXFwnLCAnXFxcXCddLFxuXHRbJ2UnLCAnXFx1MDAxQiddLFxuXHRbJ2EnLCAnXFx1MDAwNyddXG5dKTtcblxuZnVuY3Rpb24gdW5lc2NhcGUoYykge1xuXHRjb25zdCB1ID0gY1swXSA9PT0gJ3UnO1xuXHRjb25zdCBicmFja2V0ID0gY1sxXSA9PT0gJ3snO1xuXG5cdGlmICgodSAmJiAhYnJhY2tldCAmJiBjLmxlbmd0aCA9PT0gNSkgfHwgKGNbMF0gPT09ICd4JyAmJiBjLmxlbmd0aCA9PT0gMykpIHtcblx0XHRyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludChjLnNsaWNlKDEpLCAxNikpO1xuXHR9XG5cblx0aWYgKHUgJiYgYnJhY2tldCkge1xuXHRcdHJldHVybiBTdHJpbmcuZnJvbUNvZGVQb2ludChwYXJzZUludChjLnNsaWNlKDIsIC0xKSwgMTYpKTtcblx0fVxuXG5cdHJldHVybiBFU0NBUEVTLmdldChjKSB8fCBjO1xufVxuXG5mdW5jdGlvbiBwYXJzZUFyZ3VtZW50cyhuYW1lLCBhcmd1bWVudHNfKSB7XG5cdGNvbnN0IHJlc3VsdHMgPSBbXTtcblx0Y29uc3QgY2h1bmtzID0gYXJndW1lbnRzXy50cmltKCkuc3BsaXQoL1xccyosXFxzKi9nKTtcblx0bGV0IG1hdGNoZXM7XG5cblx0Zm9yIChjb25zdCBjaHVuayBvZiBjaHVua3MpIHtcblx0XHRjb25zdCBudW1iZXIgPSBOdW1iZXIoY2h1bmspO1xuXHRcdGlmICghTnVtYmVyLmlzTmFOKG51bWJlcikpIHtcblx0XHRcdHJlc3VsdHMucHVzaChudW1iZXIpO1xuXHRcdH0gZWxzZSBpZiAoKG1hdGNoZXMgPSBjaHVuay5tYXRjaChTVFJJTkdfUkVHRVgpKSkge1xuXHRcdFx0cmVzdWx0cy5wdXNoKG1hdGNoZXNbMl0ucmVwbGFjZShFU0NBUEVfUkVHRVgsIChtLCBlc2NhcGUsIGNoYXJhY3RlcikgPT4gZXNjYXBlID8gdW5lc2NhcGUoZXNjYXBlKSA6IGNoYXJhY3RlcikpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgQ2hhbGsgdGVtcGxhdGUgc3R5bGUgYXJndW1lbnQ6ICR7Y2h1bmt9IChpbiBzdHlsZSAnJHtuYW1lfScpYCk7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHJlc3VsdHM7XG59XG5cbmZ1bmN0aW9uIHBhcnNlU3R5bGUoc3R5bGUpIHtcblx0U1RZTEVfUkVHRVgubGFzdEluZGV4ID0gMDtcblxuXHRjb25zdCByZXN1bHRzID0gW107XG5cdGxldCBtYXRjaGVzO1xuXG5cdHdoaWxlICgobWF0Y2hlcyA9IFNUWUxFX1JFR0VYLmV4ZWMoc3R5bGUpKSAhPT0gbnVsbCkge1xuXHRcdGNvbnN0IG5hbWUgPSBtYXRjaGVzWzFdO1xuXG5cdFx0aWYgKG1hdGNoZXNbMl0pIHtcblx0XHRcdGNvbnN0IGFyZ3MgPSBwYXJzZUFyZ3VtZW50cyhuYW1lLCBtYXRjaGVzWzJdKTtcblx0XHRcdHJlc3VsdHMucHVzaChbbmFtZV0uY29uY2F0KGFyZ3MpKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmVzdWx0cy5wdXNoKFtuYW1lXSk7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHJlc3VsdHM7XG59XG5cbmZ1bmN0aW9uIGJ1aWxkU3R5bGUoY2hhbGssIHN0eWxlcykge1xuXHRjb25zdCBlbmFibGVkID0ge307XG5cblx0Zm9yIChjb25zdCBsYXllciBvZiBzdHlsZXMpIHtcblx0XHRmb3IgKGNvbnN0IHN0eWxlIG9mIGxheWVyLnN0eWxlcykge1xuXHRcdFx0ZW5hYmxlZFtzdHlsZVswXV0gPSBsYXllci5pbnZlcnNlID8gbnVsbCA6IHN0eWxlLnNsaWNlKDEpO1xuXHRcdH1cblx0fVxuXG5cdGxldCBjdXJyZW50ID0gY2hhbGs7XG5cdGZvciAoY29uc3QgW3N0eWxlTmFtZSwgc3R5bGVzXSBvZiBPYmplY3QuZW50cmllcyhlbmFibGVkKSkge1xuXHRcdGlmICghQXJyYXkuaXNBcnJheShzdHlsZXMpKSB7XG5cdFx0XHRjb250aW51ZTtcblx0XHR9XG5cblx0XHRpZiAoIShzdHlsZU5hbWUgaW4gY3VycmVudCkpIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcihgVW5rbm93biBDaGFsayBzdHlsZTogJHtzdHlsZU5hbWV9YCk7XG5cdFx0fVxuXG5cdFx0Y3VycmVudCA9IHN0eWxlcy5sZW5ndGggPiAwID8gY3VycmVudFtzdHlsZU5hbWVdKC4uLnN0eWxlcykgOiBjdXJyZW50W3N0eWxlTmFtZV07XG5cdH1cblxuXHRyZXR1cm4gY3VycmVudDtcbn1cblxubW9kdWxlLmV4cG9ydHMgPSAoY2hhbGssIHRlbXBvcmFyeSkgPT4ge1xuXHRjb25zdCBzdHlsZXMgPSBbXTtcblx0Y29uc3QgY2h1bmtzID0gW107XG5cdGxldCBjaHVuayA9IFtdO1xuXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBtYXgtcGFyYW1zXG5cdHRlbXBvcmFyeS5yZXBsYWNlKFRFTVBMQVRFX1JFR0VYLCAobSwgZXNjYXBlQ2hhcmFjdGVyLCBpbnZlcnNlLCBzdHlsZSwgY2xvc2UsIGNoYXJhY3RlcikgPT4ge1xuXHRcdGlmIChlc2NhcGVDaGFyYWN0ZXIpIHtcblx0XHRcdGNodW5rLnB1c2godW5lc2NhcGUoZXNjYXBlQ2hhcmFjdGVyKSk7XG5cdFx0fSBlbHNlIGlmIChzdHlsZSkge1xuXHRcdFx0Y29uc3Qgc3RyaW5nID0gY2h1bmsuam9pbignJyk7XG5cdFx0XHRjaHVuayA9IFtdO1xuXHRcdFx0Y2h1bmtzLnB1c2goc3R5bGVzLmxlbmd0aCA9PT0gMCA/IHN0cmluZyA6IGJ1aWxkU3R5bGUoY2hhbGssIHN0eWxlcykoc3RyaW5nKSk7XG5cdFx0XHRzdHlsZXMucHVzaCh7aW52ZXJzZSwgc3R5bGVzOiBwYXJzZVN0eWxlKHN0eWxlKX0pO1xuXHRcdH0gZWxzZSBpZiAoY2xvc2UpIHtcblx0XHRcdGlmIChzdHlsZXMubGVuZ3RoID09PSAwKSB7XG5cdFx0XHRcdHRocm93IG5ldyBFcnJvcignRm91bmQgZXh0cmFuZW91cyB9IGluIENoYWxrIHRlbXBsYXRlIGxpdGVyYWwnKTtcblx0XHRcdH1cblxuXHRcdFx0Y2h1bmtzLnB1c2goYnVpbGRTdHlsZShjaGFsaywgc3R5bGVzKShjaHVuay5qb2luKCcnKSkpO1xuXHRcdFx0Y2h1bmsgPSBbXTtcblx0XHRcdHN0eWxlcy5wb3AoKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y2h1bmsucHVzaChjaGFyYWN0ZXIpO1xuXHRcdH1cblx0fSk7XG5cblx0Y2h1bmtzLnB1c2goY2h1bmsuam9pbignJykpO1xuXG5cdGlmIChzdHlsZXMubGVuZ3RoID4gMCkge1xuXHRcdGNvbnN0IGVyck1lc3NhZ2UgPSBgQ2hhbGsgdGVtcGxhdGUgbGl0ZXJhbCBpcyBtaXNzaW5nICR7c3R5bGVzLmxlbmd0aH0gY2xvc2luZyBicmFja2V0JHtzdHlsZXMubGVuZ3RoID09PSAxID8gJycgOiAncyd9IChcXGB9XFxgKWA7XG5cdFx0dGhyb3cgbmV3IEVycm9yKGVyck1lc3NhZ2UpO1xuXHR9XG5cblx0cmV0dXJuIGNodW5rcy5qb2luKCcnKTtcbn07XG4iLCAiJ3VzZSBzdHJpY3QnO1xuY29uc3QgYW5zaVN0eWxlcyA9IHJlcXVpcmUoJ2Fuc2ktc3R5bGVzJyk7XG5jb25zdCB7c3Rkb3V0OiBzdGRvdXRDb2xvciwgc3RkZXJyOiBzdGRlcnJDb2xvcn0gPSByZXF1aXJlKCdzdXBwb3J0cy1jb2xvcicpO1xuY29uc3Qge1xuXHRzdHJpbmdSZXBsYWNlQWxsLFxuXHRzdHJpbmdFbmNhc2VDUkxGV2l0aEZpcnN0SW5kZXhcbn0gPSByZXF1aXJlKCcuL3V0aWwnKTtcblxuY29uc3Qge2lzQXJyYXl9ID0gQXJyYXk7XG5cbi8vIGBzdXBwb3J0c0NvbG9yLmxldmVsYCBcdTIxOTIgYGFuc2lTdHlsZXMuY29sb3JbbmFtZV1gIG1hcHBpbmdcbmNvbnN0IGxldmVsTWFwcGluZyA9IFtcblx0J2Fuc2knLFxuXHQnYW5zaScsXG5cdCdhbnNpMjU2Jyxcblx0J2Fuc2kxNm0nXG5dO1xuXG5jb25zdCBzdHlsZXMgPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXG5jb25zdCBhcHBseU9wdGlvbnMgPSAob2JqZWN0LCBvcHRpb25zID0ge30pID0+IHtcblx0aWYgKG9wdGlvbnMubGV2ZWwgJiYgIShOdW1iZXIuaXNJbnRlZ2VyKG9wdGlvbnMubGV2ZWwpICYmIG9wdGlvbnMubGV2ZWwgPj0gMCAmJiBvcHRpb25zLmxldmVsIDw9IDMpKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdUaGUgYGxldmVsYCBvcHRpb24gc2hvdWxkIGJlIGFuIGludGVnZXIgZnJvbSAwIHRvIDMnKTtcblx0fVxuXG5cdC8vIERldGVjdCBsZXZlbCBpZiBub3Qgc2V0IG1hbnVhbGx5XG5cdGNvbnN0IGNvbG9yTGV2ZWwgPSBzdGRvdXRDb2xvciA/IHN0ZG91dENvbG9yLmxldmVsIDogMDtcblx0b2JqZWN0LmxldmVsID0gb3B0aW9ucy5sZXZlbCA9PT0gdW5kZWZpbmVkID8gY29sb3JMZXZlbCA6IG9wdGlvbnMubGV2ZWw7XG59O1xuXG5jbGFzcyBDaGFsa0NsYXNzIHtcblx0Y29uc3RydWN0b3Iob3B0aW9ucykge1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zdHJ1Y3Rvci1yZXR1cm5cblx0XHRyZXR1cm4gY2hhbGtGYWN0b3J5KG9wdGlvbnMpO1xuXHR9XG59XG5cbmNvbnN0IGNoYWxrRmFjdG9yeSA9IG9wdGlvbnMgPT4ge1xuXHRjb25zdCBjaGFsayA9IHt9O1xuXHRhcHBseU9wdGlvbnMoY2hhbGssIG9wdGlvbnMpO1xuXG5cdGNoYWxrLnRlbXBsYXRlID0gKC4uLmFyZ3VtZW50c18pID0+IGNoYWxrVGFnKGNoYWxrLnRlbXBsYXRlLCAuLi5hcmd1bWVudHNfKTtcblxuXHRPYmplY3Quc2V0UHJvdG90eXBlT2YoY2hhbGssIENoYWxrLnByb3RvdHlwZSk7XG5cdE9iamVjdC5zZXRQcm90b3R5cGVPZihjaGFsay50ZW1wbGF0ZSwgY2hhbGspO1xuXG5cdGNoYWxrLnRlbXBsYXRlLmNvbnN0cnVjdG9yID0gKCkgPT4ge1xuXHRcdHRocm93IG5ldyBFcnJvcignYGNoYWxrLmNvbnN0cnVjdG9yKClgIGlzIGRlcHJlY2F0ZWQuIFVzZSBgbmV3IGNoYWxrLkluc3RhbmNlKClgIGluc3RlYWQuJyk7XG5cdH07XG5cblx0Y2hhbGsudGVtcGxhdGUuSW5zdGFuY2UgPSBDaGFsa0NsYXNzO1xuXG5cdHJldHVybiBjaGFsay50ZW1wbGF0ZTtcbn07XG5cbmZ1bmN0aW9uIENoYWxrKG9wdGlvbnMpIHtcblx0cmV0dXJuIGNoYWxrRmFjdG9yeShvcHRpb25zKTtcbn1cblxuZm9yIChjb25zdCBbc3R5bGVOYW1lLCBzdHlsZV0gb2YgT2JqZWN0LmVudHJpZXMoYW5zaVN0eWxlcykpIHtcblx0c3R5bGVzW3N0eWxlTmFtZV0gPSB7XG5cdFx0Z2V0KCkge1xuXHRcdFx0Y29uc3QgYnVpbGRlciA9IGNyZWF0ZUJ1aWxkZXIodGhpcywgY3JlYXRlU3R5bGVyKHN0eWxlLm9wZW4sIHN0eWxlLmNsb3NlLCB0aGlzLl9zdHlsZXIpLCB0aGlzLl9pc0VtcHR5KTtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCBzdHlsZU5hbWUsIHt2YWx1ZTogYnVpbGRlcn0pO1xuXHRcdFx0cmV0dXJuIGJ1aWxkZXI7XG5cdFx0fVxuXHR9O1xufVxuXG5zdHlsZXMudmlzaWJsZSA9IHtcblx0Z2V0KCkge1xuXHRcdGNvbnN0IGJ1aWxkZXIgPSBjcmVhdGVCdWlsZGVyKHRoaXMsIHRoaXMuX3N0eWxlciwgdHJ1ZSk7XG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICd2aXNpYmxlJywge3ZhbHVlOiBidWlsZGVyfSk7XG5cdFx0cmV0dXJuIGJ1aWxkZXI7XG5cdH1cbn07XG5cbmNvbnN0IHVzZWRNb2RlbHMgPSBbJ3JnYicsICdoZXgnLCAna2V5d29yZCcsICdoc2wnLCAnaHN2JywgJ2h3YicsICdhbnNpJywgJ2Fuc2kyNTYnXTtcblxuZm9yIChjb25zdCBtb2RlbCBvZiB1c2VkTW9kZWxzKSB7XG5cdHN0eWxlc1ttb2RlbF0gPSB7XG5cdFx0Z2V0KCkge1xuXHRcdFx0Y29uc3Qge2xldmVsfSA9IHRoaXM7XG5cdFx0XHRyZXR1cm4gZnVuY3Rpb24gKC4uLmFyZ3VtZW50c18pIHtcblx0XHRcdFx0Y29uc3Qgc3R5bGVyID0gY3JlYXRlU3R5bGVyKGFuc2lTdHlsZXMuY29sb3JbbGV2ZWxNYXBwaW5nW2xldmVsXV1bbW9kZWxdKC4uLmFyZ3VtZW50c18pLCBhbnNpU3R5bGVzLmNvbG9yLmNsb3NlLCB0aGlzLl9zdHlsZXIpO1xuXHRcdFx0XHRyZXR1cm4gY3JlYXRlQnVpbGRlcih0aGlzLCBzdHlsZXIsIHRoaXMuX2lzRW1wdHkpO1xuXHRcdFx0fTtcblx0XHR9XG5cdH07XG59XG5cbmZvciAoY29uc3QgbW9kZWwgb2YgdXNlZE1vZGVscykge1xuXHRjb25zdCBiZ01vZGVsID0gJ2JnJyArIG1vZGVsWzBdLnRvVXBwZXJDYXNlKCkgKyBtb2RlbC5zbGljZSgxKTtcblx0c3R5bGVzW2JnTW9kZWxdID0ge1xuXHRcdGdldCgpIHtcblx0XHRcdGNvbnN0IHtsZXZlbH0gPSB0aGlzO1xuXHRcdFx0cmV0dXJuIGZ1bmN0aW9uICguLi5hcmd1bWVudHNfKSB7XG5cdFx0XHRcdGNvbnN0IHN0eWxlciA9IGNyZWF0ZVN0eWxlcihhbnNpU3R5bGVzLmJnQ29sb3JbbGV2ZWxNYXBwaW5nW2xldmVsXV1bbW9kZWxdKC4uLmFyZ3VtZW50c18pLCBhbnNpU3R5bGVzLmJnQ29sb3IuY2xvc2UsIHRoaXMuX3N0eWxlcik7XG5cdFx0XHRcdHJldHVybiBjcmVhdGVCdWlsZGVyKHRoaXMsIHN0eWxlciwgdGhpcy5faXNFbXB0eSk7XG5cdFx0XHR9O1xuXHRcdH1cblx0fTtcbn1cblxuY29uc3QgcHJvdG8gPSBPYmplY3QuZGVmaW5lUHJvcGVydGllcygoKSA9PiB7fSwge1xuXHQuLi5zdHlsZXMsXG5cdGxldmVsOiB7XG5cdFx0ZW51bWVyYWJsZTogdHJ1ZSxcblx0XHRnZXQoKSB7XG5cdFx0XHRyZXR1cm4gdGhpcy5fZ2VuZXJhdG9yLmxldmVsO1xuXHRcdH0sXG5cdFx0c2V0KGxldmVsKSB7XG5cdFx0XHR0aGlzLl9nZW5lcmF0b3IubGV2ZWwgPSBsZXZlbDtcblx0XHR9XG5cdH1cbn0pO1xuXG5jb25zdCBjcmVhdGVTdHlsZXIgPSAob3BlbiwgY2xvc2UsIHBhcmVudCkgPT4ge1xuXHRsZXQgb3BlbkFsbDtcblx0bGV0IGNsb3NlQWxsO1xuXHRpZiAocGFyZW50ID09PSB1bmRlZmluZWQpIHtcblx0XHRvcGVuQWxsID0gb3Blbjtcblx0XHRjbG9zZUFsbCA9IGNsb3NlO1xuXHR9IGVsc2Uge1xuXHRcdG9wZW5BbGwgPSBwYXJlbnQub3BlbkFsbCArIG9wZW47XG5cdFx0Y2xvc2VBbGwgPSBjbG9zZSArIHBhcmVudC5jbG9zZUFsbDtcblx0fVxuXG5cdHJldHVybiB7XG5cdFx0b3Blbixcblx0XHRjbG9zZSxcblx0XHRvcGVuQWxsLFxuXHRcdGNsb3NlQWxsLFxuXHRcdHBhcmVudFxuXHR9O1xufTtcblxuY29uc3QgY3JlYXRlQnVpbGRlciA9IChzZWxmLCBfc3R5bGVyLCBfaXNFbXB0eSkgPT4ge1xuXHRjb25zdCBidWlsZGVyID0gKC4uLmFyZ3VtZW50c18pID0+IHtcblx0XHRpZiAoaXNBcnJheShhcmd1bWVudHNfWzBdKSAmJiBpc0FycmF5KGFyZ3VtZW50c19bMF0ucmF3KSkge1xuXHRcdFx0Ly8gQ2FsbGVkIGFzIGEgdGVtcGxhdGUgbGl0ZXJhbCwgZm9yIGV4YW1wbGU6IGNoYWxrLnJlZGAyICsgMyA9IHtib2xkICR7MiszfX1gXG5cdFx0XHRyZXR1cm4gYXBwbHlTdHlsZShidWlsZGVyLCBjaGFsa1RhZyhidWlsZGVyLCAuLi5hcmd1bWVudHNfKSk7XG5cdFx0fVxuXG5cdFx0Ly8gU2luZ2xlIGFyZ3VtZW50IGlzIGhvdCBwYXRoLCBpbXBsaWNpdCBjb2VyY2lvbiBpcyBmYXN0ZXIgdGhhbiBhbnl0aGluZ1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1pbXBsaWNpdC1jb2VyY2lvblxuXHRcdHJldHVybiBhcHBseVN0eWxlKGJ1aWxkZXIsIChhcmd1bWVudHNfLmxlbmd0aCA9PT0gMSkgPyAoJycgKyBhcmd1bWVudHNfWzBdKSA6IGFyZ3VtZW50c18uam9pbignICcpKTtcblx0fTtcblxuXHQvLyBXZSBhbHRlciB0aGUgcHJvdG90eXBlIGJlY2F1c2Ugd2UgbXVzdCByZXR1cm4gYSBmdW5jdGlvbiwgYnV0IHRoZXJlIGlzXG5cdC8vIG5vIHdheSB0byBjcmVhdGUgYSBmdW5jdGlvbiB3aXRoIGEgZGlmZmVyZW50IHByb3RvdHlwZVxuXHRPYmplY3Quc2V0UHJvdG90eXBlT2YoYnVpbGRlciwgcHJvdG8pO1xuXG5cdGJ1aWxkZXIuX2dlbmVyYXRvciA9IHNlbGY7XG5cdGJ1aWxkZXIuX3N0eWxlciA9IF9zdHlsZXI7XG5cdGJ1aWxkZXIuX2lzRW1wdHkgPSBfaXNFbXB0eTtcblxuXHRyZXR1cm4gYnVpbGRlcjtcbn07XG5cbmNvbnN0IGFwcGx5U3R5bGUgPSAoc2VsZiwgc3RyaW5nKSA9PiB7XG5cdGlmIChzZWxmLmxldmVsIDw9IDAgfHwgIXN0cmluZykge1xuXHRcdHJldHVybiBzZWxmLl9pc0VtcHR5ID8gJycgOiBzdHJpbmc7XG5cdH1cblxuXHRsZXQgc3R5bGVyID0gc2VsZi5fc3R5bGVyO1xuXG5cdGlmIChzdHlsZXIgPT09IHVuZGVmaW5lZCkge1xuXHRcdHJldHVybiBzdHJpbmc7XG5cdH1cblxuXHRjb25zdCB7b3BlbkFsbCwgY2xvc2VBbGx9ID0gc3R5bGVyO1xuXHRpZiAoc3RyaW5nLmluZGV4T2YoJ1xcdTAwMUInKSAhPT0gLTEpIHtcblx0XHR3aGlsZSAoc3R5bGVyICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdC8vIFJlcGxhY2UgYW55IGluc3RhbmNlcyBhbHJlYWR5IHByZXNlbnQgd2l0aCBhIHJlLW9wZW5pbmcgY29kZVxuXHRcdFx0Ly8gb3RoZXJ3aXNlIG9ubHkgdGhlIHBhcnQgb2YgdGhlIHN0cmluZyB1bnRpbCBzYWlkIGNsb3NpbmcgY29kZVxuXHRcdFx0Ly8gd2lsbCBiZSBjb2xvcmVkLCBhbmQgdGhlIHJlc3Qgd2lsbCBzaW1wbHkgYmUgJ3BsYWluJy5cblx0XHRcdHN0cmluZyA9IHN0cmluZ1JlcGxhY2VBbGwoc3RyaW5nLCBzdHlsZXIuY2xvc2UsIHN0eWxlci5vcGVuKTtcblxuXHRcdFx0c3R5bGVyID0gc3R5bGVyLnBhcmVudDtcblx0XHR9XG5cdH1cblxuXHQvLyBXZSBjYW4gbW92ZSBib3RoIG5leHQgYWN0aW9ucyBvdXQgb2YgbG9vcCwgYmVjYXVzZSByZW1haW5pbmcgYWN0aW9ucyBpbiBsb29wIHdvbid0IGhhdmVcblx0Ly8gYW55L3Zpc2libGUgZWZmZWN0IG9uIHBhcnRzIHdlIGFkZCBoZXJlLiBDbG9zZSB0aGUgc3R5bGluZyBiZWZvcmUgYSBsaW5lYnJlYWsgYW5kIHJlb3BlblxuXHQvLyBhZnRlciBuZXh0IGxpbmUgdG8gZml4IGEgYmxlZWQgaXNzdWUgb24gbWFjT1M6IGh0dHBzOi8vZ2l0aHViLmNvbS9jaGFsay9jaGFsay9wdWxsLzkyXG5cdGNvbnN0IGxmSW5kZXggPSBzdHJpbmcuaW5kZXhPZignXFxuJyk7XG5cdGlmIChsZkluZGV4ICE9PSAtMSkge1xuXHRcdHN0cmluZyA9IHN0cmluZ0VuY2FzZUNSTEZXaXRoRmlyc3RJbmRleChzdHJpbmcsIGNsb3NlQWxsLCBvcGVuQWxsLCBsZkluZGV4KTtcblx0fVxuXG5cdHJldHVybiBvcGVuQWxsICsgc3RyaW5nICsgY2xvc2VBbGw7XG59O1xuXG5sZXQgdGVtcGxhdGU7XG5jb25zdCBjaGFsa1RhZyA9IChjaGFsaywgLi4uc3RyaW5ncykgPT4ge1xuXHRjb25zdCBbZmlyc3RTdHJpbmddID0gc3RyaW5ncztcblxuXHRpZiAoIWlzQXJyYXkoZmlyc3RTdHJpbmcpIHx8ICFpc0FycmF5KGZpcnN0U3RyaW5nLnJhdykpIHtcblx0XHQvLyBJZiBjaGFsaygpIHdhcyBjYWxsZWQgYnkgaXRzZWxmIG9yIHdpdGggYSBzdHJpbmcsXG5cdFx0Ly8gcmV0dXJuIHRoZSBzdHJpbmcgaXRzZWxmIGFzIGEgc3RyaW5nLlxuXHRcdHJldHVybiBzdHJpbmdzLmpvaW4oJyAnKTtcblx0fVxuXG5cdGNvbnN0IGFyZ3VtZW50c18gPSBzdHJpbmdzLnNsaWNlKDEpO1xuXHRjb25zdCBwYXJ0cyA9IFtmaXJzdFN0cmluZy5yYXdbMF1dO1xuXG5cdGZvciAobGV0IGkgPSAxOyBpIDwgZmlyc3RTdHJpbmcubGVuZ3RoOyBpKyspIHtcblx0XHRwYXJ0cy5wdXNoKFxuXHRcdFx0U3RyaW5nKGFyZ3VtZW50c19baSAtIDFdKS5yZXBsYWNlKC9be31cXFxcXS9nLCAnXFxcXCQmJyksXG5cdFx0XHRTdHJpbmcoZmlyc3RTdHJpbmcucmF3W2ldKVxuXHRcdCk7XG5cdH1cblxuXHRpZiAodGVtcGxhdGUgPT09IHVuZGVmaW5lZCkge1xuXHRcdHRlbXBsYXRlID0gcmVxdWlyZSgnLi90ZW1wbGF0ZXMnKTtcblx0fVxuXG5cdHJldHVybiB0ZW1wbGF0ZShjaGFsaywgcGFydHMuam9pbignJykpO1xufTtcblxuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQ2hhbGsucHJvdG90eXBlLCBzdHlsZXMpO1xuXG5jb25zdCBjaGFsayA9IENoYWxrKCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuY2hhbGsuc3VwcG9ydHNDb2xvciA9IHN0ZG91dENvbG9yO1xuY2hhbGsuc3RkZXJyID0gQ2hhbGsoe2xldmVsOiBzdGRlcnJDb2xvciA/IHN0ZGVyckNvbG9yLmxldmVsIDogMH0pOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5ldy1jYXBcbmNoYWxrLnN0ZGVyci5zdXBwb3J0c0NvbG9yID0gc3RkZXJyQ29sb3I7XG5cbm1vZHVsZS5leHBvcnRzID0gY2hhbGs7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG5jb25zdCBtaW1pY0ZuID0gKHRvLCBmcm9tKSA9PiB7XG5cdGZvciAoY29uc3QgcHJvcCBvZiBSZWZsZWN0Lm93bktleXMoZnJvbSkpIHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkodG8sIHByb3AsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoZnJvbSwgcHJvcCkpO1xuXHR9XG5cblx0cmV0dXJuIHRvO1xufTtcblxubW9kdWxlLmV4cG9ydHMgPSBtaW1pY0ZuO1xuLy8gVE9ETzogUmVtb3ZlIHRoaXMgZm9yIHRoZSBuZXh0IG1ham9yIHJlbGVhc2Vcbm1vZHVsZS5leHBvcnRzLmRlZmF1bHQgPSBtaW1pY0ZuO1xuIiwgIid1c2Ugc3RyaWN0JztcbmNvbnN0IG1pbWljRm4gPSByZXF1aXJlKCdtaW1pYy1mbicpO1xuXG5jb25zdCBjYWxsZWRGdW5jdGlvbnMgPSBuZXcgV2Vha01hcCgpO1xuXG5jb25zdCBvbmV0aW1lID0gKGZ1bmN0aW9uXywgb3B0aW9ucyA9IHt9KSA9PiB7XG5cdGlmICh0eXBlb2YgZnVuY3Rpb25fICE9PSAnZnVuY3Rpb24nKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignRXhwZWN0ZWQgYSBmdW5jdGlvbicpO1xuXHR9XG5cblx0bGV0IHJldHVyblZhbHVlO1xuXHRsZXQgY2FsbENvdW50ID0gMDtcblx0Y29uc3QgZnVuY3Rpb25OYW1lID0gZnVuY3Rpb25fLmRpc3BsYXlOYW1lIHx8IGZ1bmN0aW9uXy5uYW1lIHx8ICc8YW5vbnltb3VzPic7XG5cblx0Y29uc3Qgb25ldGltZSA9IGZ1bmN0aW9uICguLi5hcmd1bWVudHNfKSB7XG5cdFx0Y2FsbGVkRnVuY3Rpb25zLnNldChvbmV0aW1lLCArK2NhbGxDb3VudCk7XG5cblx0XHRpZiAoY2FsbENvdW50ID09PSAxKSB7XG5cdFx0XHRyZXR1cm5WYWx1ZSA9IGZ1bmN0aW9uXy5hcHBseSh0aGlzLCBhcmd1bWVudHNfKTtcblx0XHRcdGZ1bmN0aW9uXyA9IG51bGw7XG5cdFx0fSBlbHNlIGlmIChvcHRpb25zLnRocm93ID09PSB0cnVlKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoYEZ1bmN0aW9uIFxcYCR7ZnVuY3Rpb25OYW1lfVxcYCBjYW4gb25seSBiZSBjYWxsZWQgb25jZWApO1xuXHRcdH1cblxuXHRcdHJldHVybiByZXR1cm5WYWx1ZTtcblx0fTtcblxuXHRtaW1pY0ZuKG9uZXRpbWUsIGZ1bmN0aW9uXyk7XG5cdGNhbGxlZEZ1bmN0aW9ucy5zZXQob25ldGltZSwgY2FsbENvdW50KTtcblxuXHRyZXR1cm4gb25ldGltZTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gb25ldGltZTtcbi8vIFRPRE86IFJlbW92ZSB0aGlzIGZvciB0aGUgbmV4dCBtYWpvciByZWxlYXNlXG5tb2R1bGUuZXhwb3J0cy5kZWZhdWx0ID0gb25ldGltZTtcblxubW9kdWxlLmV4cG9ydHMuY2FsbENvdW50ID0gZnVuY3Rpb25fID0+IHtcblx0aWYgKCFjYWxsZWRGdW5jdGlvbnMuaGFzKGZ1bmN0aW9uXykpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoYFRoZSBnaXZlbiBmdW5jdGlvbiBcXGAke2Z1bmN0aW9uXy5uYW1lfVxcYCBpcyBub3Qgd3JhcHBlZCBieSB0aGUgXFxgb25ldGltZVxcYCBwYWNrYWdlYCk7XG5cdH1cblxuXHRyZXR1cm4gY2FsbGVkRnVuY3Rpb25zLmdldChmdW5jdGlvbl8pO1xufTtcbiIsICIvLyBUaGlzIGlzIG5vdCB0aGUgc2V0IG9mIGFsbCBwb3NzaWJsZSBzaWduYWxzLlxuLy9cbi8vIEl0IElTLCBob3dldmVyLCB0aGUgc2V0IG9mIGFsbCBzaWduYWxzIHRoYXQgdHJpZ2dlclxuLy8gYW4gZXhpdCBvbiBlaXRoZXIgTGludXggb3IgQlNEIHN5c3RlbXMuICBMaW51eCBpcyBhXG4vLyBzdXBlcnNldCBvZiB0aGUgc2lnbmFsIG5hbWVzIHN1cHBvcnRlZCBvbiBCU0QsIGFuZFxuLy8gdGhlIHVua25vd24gc2lnbmFscyBqdXN0IGZhaWwgdG8gcmVnaXN0ZXIsIHNvIHdlIGNhblxuLy8gY2F0Y2ggdGhhdCBlYXNpbHkgZW5vdWdoLlxuLy9cbi8vIERvbid0IGJvdGhlciB3aXRoIFNJR0tJTEwuICBJdCdzIHVuY2F0Y2hhYmxlLCB3aGljaFxuLy8gbWVhbnMgdGhhdCB3ZSBjYW4ndCBmaXJlIGFueSBjYWxsYmFja3MgYW55d2F5LlxuLy9cbi8vIElmIGEgdXNlciBkb2VzIGhhcHBlbiB0byByZWdpc3RlciBhIGhhbmRsZXIgb24gYSBub24tXG4vLyBmYXRhbCBzaWduYWwgbGlrZSBTSUdXSU5DSCBvciBzb21ldGhpbmcsIGFuZCB0aGVuXG4vLyBleGl0LCBpdCdsbCBlbmQgdXAgZmlyaW5nIGBwcm9jZXNzLmVtaXQoJ2V4aXQnKWAsIHNvXG4vLyB0aGUgaGFuZGxlciB3aWxsIGJlIGZpcmVkIGFueXdheS5cbi8vXG4vLyBTSUdCVVMsIFNJR0ZQRSwgU0lHU0VHViBhbmQgU0lHSUxMLCB3aGVuIG5vdCByYWlzZWRcbi8vIGFydGlmaWNpYWxseSwgaW5oZXJlbnRseSBsZWF2ZSB0aGUgcHJvY2VzcyBpbiBhXG4vLyBzdGF0ZSBmcm9tIHdoaWNoIGl0IGlzIG5vdCBzYWZlIHRvIHRyeSBhbmQgZW50ZXIgSlNcbi8vIGxpc3RlbmVycy5cbm1vZHVsZS5leHBvcnRzID0gW1xuICAnU0lHQUJSVCcsXG4gICdTSUdBTFJNJyxcbiAgJ1NJR0hVUCcsXG4gICdTSUdJTlQnLFxuICAnU0lHVEVSTSdcbl1cblxuaWYgKHByb2Nlc3MucGxhdGZvcm0gIT09ICd3aW4zMicpIHtcbiAgbW9kdWxlLmV4cG9ydHMucHVzaChcbiAgICAnU0lHVlRBTFJNJyxcbiAgICAnU0lHWENQVScsXG4gICAgJ1NJR1hGU1onLFxuICAgICdTSUdVU1IyJyxcbiAgICAnU0lHVFJBUCcsXG4gICAgJ1NJR1NZUycsXG4gICAgJ1NJR1FVSVQnLFxuICAgICdTSUdJT1QnXG4gICAgLy8gc2hvdWxkIGRldGVjdCBwcm9maWxlciBhbmQgZW5hYmxlL2Rpc2FibGUgYWNjb3JkaW5nbHkuXG4gICAgLy8gc2VlICMyMVxuICAgIC8vICdTSUdQUk9GJ1xuICApXG59XG5cbmlmIChwcm9jZXNzLnBsYXRmb3JtID09PSAnbGludXgnKSB7XG4gIG1vZHVsZS5leHBvcnRzLnB1c2goXG4gICAgJ1NJR0lPJyxcbiAgICAnU0lHUE9MTCcsXG4gICAgJ1NJR1BXUicsXG4gICAgJ1NJR1NUS0ZMVCcsXG4gICAgJ1NJR1VOVVNFRCdcbiAgKVxufVxuIiwgIi8vIE5vdGU6IHNpbmNlIG55YyB1c2VzIHRoaXMgbW9kdWxlIHRvIG91dHB1dCBjb3ZlcmFnZSwgYW55IGxpbmVzXG4vLyB0aGF0IGFyZSBpbiB0aGUgZGlyZWN0IHN5bmMgZmxvdyBvZiBueWMncyBvdXRwdXRDb3ZlcmFnZSBhcmVcbi8vIGlnbm9yZWQsIHNpbmNlIHdlIGNhbiBuZXZlciBnZXQgY292ZXJhZ2UgZm9yIHRoZW0uXG4vLyBncmFiIGEgcmVmZXJlbmNlIHRvIG5vZGUncyByZWFsIHByb2Nlc3Mgb2JqZWN0IHJpZ2h0IGF3YXlcbnZhciBwcm9jZXNzID0gZ2xvYmFsLnByb2Nlc3NcblxuY29uc3QgcHJvY2Vzc09rID0gZnVuY3Rpb24gKHByb2Nlc3MpIHtcbiAgcmV0dXJuIHByb2Nlc3MgJiZcbiAgICB0eXBlb2YgcHJvY2VzcyA9PT0gJ29iamVjdCcgJiZcbiAgICB0eXBlb2YgcHJvY2Vzcy5yZW1vdmVMaXN0ZW5lciA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgIHR5cGVvZiBwcm9jZXNzLmVtaXQgPT09ICdmdW5jdGlvbicgJiZcbiAgICB0eXBlb2YgcHJvY2Vzcy5yZWFsbHlFeGl0ID09PSAnZnVuY3Rpb24nICYmXG4gICAgdHlwZW9mIHByb2Nlc3MubGlzdGVuZXJzID09PSAnZnVuY3Rpb24nICYmXG4gICAgdHlwZW9mIHByb2Nlc3Mua2lsbCA9PT0gJ2Z1bmN0aW9uJyAmJlxuICAgIHR5cGVvZiBwcm9jZXNzLnBpZCA9PT0gJ251bWJlcicgJiZcbiAgICB0eXBlb2YgcHJvY2Vzcy5vbiA9PT0gJ2Z1bmN0aW9uJ1xufVxuXG4vLyBzb21lIGtpbmQgb2Ygbm9uLW5vZGUgZW52aXJvbm1lbnQsIGp1c3Qgbm8tb3Bcbi8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuaWYgKCFwcm9jZXNzT2socHJvY2VzcykpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGZ1bmN0aW9uICgpIHt9XG4gIH1cbn0gZWxzZSB7XG4gIHZhciBhc3NlcnQgPSByZXF1aXJlKCdhc3NlcnQnKVxuICB2YXIgc2lnbmFscyA9IHJlcXVpcmUoJy4vc2lnbmFscy5qcycpXG4gIHZhciBpc1dpbiA9IC9ed2luL2kudGVzdChwcm9jZXNzLnBsYXRmb3JtKVxuXG4gIHZhciBFRSA9IHJlcXVpcmUoJ2V2ZW50cycpXG4gIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICBpZiAodHlwZW9mIEVFICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgRUUgPSBFRS5FdmVudEVtaXR0ZXJcbiAgfVxuXG4gIHZhciBlbWl0dGVyXG4gIGlmIChwcm9jZXNzLl9fc2lnbmFsX2V4aXRfZW1pdHRlcl9fKSB7XG4gICAgZW1pdHRlciA9IHByb2Nlc3MuX19zaWduYWxfZXhpdF9lbWl0dGVyX19cbiAgfSBlbHNlIHtcbiAgICBlbWl0dGVyID0gcHJvY2Vzcy5fX3NpZ25hbF9leGl0X2VtaXR0ZXJfXyA9IG5ldyBFRSgpXG4gICAgZW1pdHRlci5jb3VudCA9IDBcbiAgICBlbWl0dGVyLmVtaXR0ZWQgPSB7fVxuICB9XG5cbiAgLy8gQmVjYXVzZSB0aGlzIGVtaXR0ZXIgaXMgYSBnbG9iYWwsIHdlIGhhdmUgdG8gY2hlY2sgdG8gc2VlIGlmIGFcbiAgLy8gcHJldmlvdXMgdmVyc2lvbiBvZiB0aGlzIGxpYnJhcnkgZmFpbGVkIHRvIGVuYWJsZSBpbmZpbml0ZSBsaXN0ZW5lcnMuXG4gIC8vIEkga25vdyB3aGF0IHlvdSdyZSBhYm91dCB0byBzYXkuICBCdXQgbGl0ZXJhbGx5IGV2ZXJ5dGhpbmcgYWJvdXRcbiAgLy8gc2lnbmFsLWV4aXQgaXMgYSBjb21wcm9taXNlIHdpdGggZXZpbC4gIEdldCB1c2VkIHRvIGl0LlxuICBpZiAoIWVtaXR0ZXIuaW5maW5pdGUpIHtcbiAgICBlbWl0dGVyLnNldE1heExpc3RlbmVycyhJbmZpbml0eSlcbiAgICBlbWl0dGVyLmluZmluaXRlID0gdHJ1ZVxuICB9XG5cbiAgbW9kdWxlLmV4cG9ydHMgPSBmdW5jdGlvbiAoY2IsIG9wdHMpIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgaWYgKi9cbiAgICBpZiAoIXByb2Nlc3NPayhnbG9iYWwucHJvY2VzcykpIHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAoKSB7fVxuICAgIH1cbiAgICBhc3NlcnQuZXF1YWwodHlwZW9mIGNiLCAnZnVuY3Rpb24nLCAnYSBjYWxsYmFjayBtdXN0IGJlIHByb3ZpZGVkIGZvciBleGl0IGhhbmRsZXInKVxuXG4gICAgaWYgKGxvYWRlZCA9PT0gZmFsc2UpIHtcbiAgICAgIGxvYWQoKVxuICAgIH1cblxuICAgIHZhciBldiA9ICdleGl0J1xuICAgIGlmIChvcHRzICYmIG9wdHMuYWx3YXlzTGFzdCkge1xuICAgICAgZXYgPSAnYWZ0ZXJleGl0J1xuICAgIH1cblxuICAgIHZhciByZW1vdmUgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBlbWl0dGVyLnJlbW92ZUxpc3RlbmVyKGV2LCBjYilcbiAgICAgIGlmIChlbWl0dGVyLmxpc3RlbmVycygnZXhpdCcpLmxlbmd0aCA9PT0gMCAmJlxuICAgICAgICAgIGVtaXR0ZXIubGlzdGVuZXJzKCdhZnRlcmV4aXQnKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgdW5sb2FkKClcbiAgICAgIH1cbiAgICB9XG4gICAgZW1pdHRlci5vbihldiwgY2IpXG5cbiAgICByZXR1cm4gcmVtb3ZlXG4gIH1cblxuICB2YXIgdW5sb2FkID0gZnVuY3Rpb24gdW5sb2FkICgpIHtcbiAgICBpZiAoIWxvYWRlZCB8fCAhcHJvY2Vzc09rKGdsb2JhbC5wcm9jZXNzKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGxvYWRlZCA9IGZhbHNlXG5cbiAgICBzaWduYWxzLmZvckVhY2goZnVuY3Rpb24gKHNpZykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcHJvY2Vzcy5yZW1vdmVMaXN0ZW5lcihzaWcsIHNpZ0xpc3RlbmVyc1tzaWddKVxuICAgICAgfSBjYXRjaCAoZXIpIHt9XG4gICAgfSlcbiAgICBwcm9jZXNzLmVtaXQgPSBvcmlnaW5hbFByb2Nlc3NFbWl0XG4gICAgcHJvY2Vzcy5yZWFsbHlFeGl0ID0gb3JpZ2luYWxQcm9jZXNzUmVhbGx5RXhpdFxuICAgIGVtaXR0ZXIuY291bnQgLT0gMVxuICB9XG4gIG1vZHVsZS5leHBvcnRzLnVubG9hZCA9IHVubG9hZFxuXG4gIHZhciBlbWl0ID0gZnVuY3Rpb24gZW1pdCAoZXZlbnQsIGNvZGUsIHNpZ25hbCkge1xuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBpZiAqL1xuICAgIGlmIChlbWl0dGVyLmVtaXR0ZWRbZXZlbnRdKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgZW1pdHRlci5lbWl0dGVkW2V2ZW50XSA9IHRydWVcbiAgICBlbWl0dGVyLmVtaXQoZXZlbnQsIGNvZGUsIHNpZ25hbClcbiAgfVxuXG4gIC8vIHsgPHNpZ25hbD46IDxsaXN0ZW5lciBmbj4sIC4uLiB9XG4gIHZhciBzaWdMaXN0ZW5lcnMgPSB7fVxuICBzaWduYWxzLmZvckVhY2goZnVuY3Rpb24gKHNpZykge1xuICAgIHNpZ0xpc3RlbmVyc1tzaWddID0gZnVuY3Rpb24gbGlzdGVuZXIgKCkge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgICBpZiAoIXByb2Nlc3NPayhnbG9iYWwucHJvY2VzcykpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICAvLyBJZiB0aGVyZSBhcmUgbm8gb3RoZXIgbGlzdGVuZXJzLCBhbiBleGl0IGlzIGNvbWluZyFcbiAgICAgIC8vIFNpbXBsZXN0IHdheTogcmVtb3ZlIHVzIGFuZCB0aGVuIHJlLXNlbmQgdGhlIHNpZ25hbC5cbiAgICAgIC8vIFdlIGtub3cgdGhhdCB0aGlzIHdpbGwga2lsbCB0aGUgcHJvY2Vzcywgc28gd2UgY2FuXG4gICAgICAvLyBzYWZlbHkgZW1pdCBub3cuXG4gICAgICB2YXIgbGlzdGVuZXJzID0gcHJvY2Vzcy5saXN0ZW5lcnMoc2lnKVxuICAgICAgaWYgKGxpc3RlbmVycy5sZW5ndGggPT09IGVtaXR0ZXIuY291bnQpIHtcbiAgICAgICAgdW5sb2FkKClcbiAgICAgICAgZW1pdCgnZXhpdCcsIG51bGwsIHNpZylcbiAgICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgICAgZW1pdCgnYWZ0ZXJleGl0JywgbnVsbCwgc2lnKVxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBpZiAoaXNXaW4gJiYgc2lnID09PSAnU0lHSFVQJykge1xuICAgICAgICAgIC8vIFwiU0lHSFVQXCIgdGhyb3dzIGFuIGBFTk9TWVNgIGVycm9yIG9uIFdpbmRvd3MsXG4gICAgICAgICAgLy8gc28gdXNlIGEgc3VwcG9ydGVkIHNpZ25hbCBpbnN0ZWFkXG4gICAgICAgICAgc2lnID0gJ1NJR0lOVCdcbiAgICAgICAgfVxuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBwcm9jZXNzLmtpbGwocHJvY2Vzcy5waWQsIHNpZylcbiAgICAgIH1cbiAgICB9XG4gIH0pXG5cbiAgbW9kdWxlLmV4cG9ydHMuc2lnbmFscyA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gc2lnbmFsc1xuICB9XG5cbiAgdmFyIGxvYWRlZCA9IGZhbHNlXG5cbiAgdmFyIGxvYWQgPSBmdW5jdGlvbiBsb2FkICgpIHtcbiAgICBpZiAobG9hZGVkIHx8ICFwcm9jZXNzT2soZ2xvYmFsLnByb2Nlc3MpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgbG9hZGVkID0gdHJ1ZVxuXG4gICAgLy8gVGhpcyBpcyB0aGUgbnVtYmVyIG9mIG9uU2lnbmFsRXhpdCdzIHRoYXQgYXJlIGluIHBsYXkuXG4gICAgLy8gSXQncyBpbXBvcnRhbnQgc28gdGhhdCB3ZSBjYW4gY291bnQgdGhlIGNvcnJlY3QgbnVtYmVyIG9mXG4gICAgLy8gbGlzdGVuZXJzIG9uIHNpZ25hbHMsIGFuZCBkb24ndCB3YWl0IGZvciB0aGUgb3RoZXIgb25lIHRvXG4gICAgLy8gaGFuZGxlIGl0IGluc3RlYWQgb2YgdXMuXG4gICAgZW1pdHRlci5jb3VudCArPSAxXG5cbiAgICBzaWduYWxzID0gc2lnbmFscy5maWx0ZXIoZnVuY3Rpb24gKHNpZykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcHJvY2Vzcy5vbihzaWcsIHNpZ0xpc3RlbmVyc1tzaWddKVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfSBjYXRjaCAoZXIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfSlcblxuICAgIHByb2Nlc3MuZW1pdCA9IHByb2Nlc3NFbWl0XG4gICAgcHJvY2Vzcy5yZWFsbHlFeGl0ID0gcHJvY2Vzc1JlYWxseUV4aXRcbiAgfVxuICBtb2R1bGUuZXhwb3J0cy5sb2FkID0gbG9hZFxuXG4gIHZhciBvcmlnaW5hbFByb2Nlc3NSZWFsbHlFeGl0ID0gcHJvY2Vzcy5yZWFsbHlFeGl0XG4gIHZhciBwcm9jZXNzUmVhbGx5RXhpdCA9IGZ1bmN0aW9uIHByb2Nlc3NSZWFsbHlFeGl0IChjb2RlKSB7XG4gICAgLyogaXN0YW5idWwgaWdub3JlIGlmICovXG4gICAgaWYgKCFwcm9jZXNzT2soZ2xvYmFsLnByb2Nlc3MpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgcHJvY2Vzcy5leGl0Q29kZSA9IGNvZGUgfHwgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi8gMFxuICAgIGVtaXQoJ2V4aXQnLCBwcm9jZXNzLmV4aXRDb2RlLCBudWxsKVxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgZW1pdCgnYWZ0ZXJleGl0JywgcHJvY2Vzcy5leGl0Q29kZSwgbnVsbClcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIG9yaWdpbmFsUHJvY2Vzc1JlYWxseUV4aXQuY2FsbChwcm9jZXNzLCBwcm9jZXNzLmV4aXRDb2RlKVxuICB9XG5cbiAgdmFyIG9yaWdpbmFsUHJvY2Vzc0VtaXQgPSBwcm9jZXNzLmVtaXRcbiAgdmFyIHByb2Nlc3NFbWl0ID0gZnVuY3Rpb24gcHJvY2Vzc0VtaXQgKGV2LCBhcmcpIHtcbiAgICBpZiAoZXYgPT09ICdleGl0JyAmJiBwcm9jZXNzT2soZ2xvYmFsLnByb2Nlc3MpKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKGFyZyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHByb2Nlc3MuZXhpdENvZGUgPSBhcmdcbiAgICAgIH1cbiAgICAgIHZhciByZXQgPSBvcmlnaW5hbFByb2Nlc3NFbWl0LmFwcGx5KHRoaXMsIGFyZ3VtZW50cylcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICBlbWl0KCdleGl0JywgcHJvY2Vzcy5leGl0Q29kZSwgbnVsbClcbiAgICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgICBlbWl0KCdhZnRlcmV4aXQnLCBwcm9jZXNzLmV4aXRDb2RlLCBudWxsKVxuICAgICAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICAgIHJldHVybiByZXRcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG9yaWdpbmFsUHJvY2Vzc0VtaXQuYXBwbHkodGhpcywgYXJndW1lbnRzKVxuICAgIH1cbiAgfVxufVxuIiwgIid1c2Ugc3RyaWN0JztcbmNvbnN0IG9uZXRpbWUgPSByZXF1aXJlKCdvbmV0aW1lJyk7XG5jb25zdCBzaWduYWxFeGl0ID0gcmVxdWlyZSgnc2lnbmFsLWV4aXQnKTtcblxubW9kdWxlLmV4cG9ydHMgPSBvbmV0aW1lKCgpID0+IHtcblx0c2lnbmFsRXhpdCgoKSA9PiB7XG5cdFx0cHJvY2Vzcy5zdGRlcnIud3JpdGUoJ1xcdTAwMUJbPzI1aCcpO1xuXHR9LCB7YWx3YXlzTGFzdDogdHJ1ZX0pO1xufSk7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuY29uc3QgcmVzdG9yZUN1cnNvciA9IHJlcXVpcmUoJ3Jlc3RvcmUtY3Vyc29yJyk7XG5cbmxldCBpc0hpZGRlbiA9IGZhbHNlO1xuXG5leHBvcnRzLnNob3cgPSAod3JpdGFibGVTdHJlYW0gPSBwcm9jZXNzLnN0ZGVycikgPT4ge1xuXHRpZiAoIXdyaXRhYmxlU3RyZWFtLmlzVFRZKSB7XG5cdFx0cmV0dXJuO1xuXHR9XG5cblx0aXNIaWRkZW4gPSBmYWxzZTtcblx0d3JpdGFibGVTdHJlYW0ud3JpdGUoJ1xcdTAwMUJbPzI1aCcpO1xufTtcblxuZXhwb3J0cy5oaWRlID0gKHdyaXRhYmxlU3RyZWFtID0gcHJvY2Vzcy5zdGRlcnIpID0+IHtcblx0aWYgKCF3cml0YWJsZVN0cmVhbS5pc1RUWSkge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdHJlc3RvcmVDdXJzb3IoKTtcblx0aXNIaWRkZW4gPSB0cnVlO1xuXHR3cml0YWJsZVN0cmVhbS53cml0ZSgnXFx1MDAxQls/MjVsJyk7XG59O1xuXG5leHBvcnRzLnRvZ2dsZSA9IChmb3JjZSwgd3JpdGFibGVTdHJlYW0pID0+IHtcblx0aWYgKGZvcmNlICE9PSB1bmRlZmluZWQpIHtcblx0XHRpc0hpZGRlbiA9IGZvcmNlO1xuXHR9XG5cblx0aWYgKGlzSGlkZGVuKSB7XG5cdFx0ZXhwb3J0cy5zaG93KHdyaXRhYmxlU3RyZWFtKTtcblx0fSBlbHNlIHtcblx0XHRleHBvcnRzLmhpZGUod3JpdGFibGVTdHJlYW0pO1xuXHR9XG59O1xuIiwgIntcblx0XCJkb3RzXCI6IHtcblx0XHRcImludGVydmFsXCI6IDgwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHUyODBCXCIsXG5cdFx0XHRcIlx1MjgxOVwiLFxuXHRcdFx0XCJcdTI4MzlcIixcblx0XHRcdFwiXHUyODM4XCIsXG5cdFx0XHRcIlx1MjgzQ1wiLFxuXHRcdFx0XCJcdTI4MzRcIixcblx0XHRcdFwiXHUyODI2XCIsXG5cdFx0XHRcIlx1MjgyN1wiLFxuXHRcdFx0XCJcdTI4MDdcIixcblx0XHRcdFwiXHUyODBGXCJcblx0XHRdXG5cdH0sXG5cdFwiZG90czJcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogODAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI4RkVcIixcblx0XHRcdFwiXHUyOEZEXCIsXG5cdFx0XHRcIlx1MjhGQlwiLFxuXHRcdFx0XCJcdTI4QkZcIixcblx0XHRcdFwiXHUyODdGXCIsXG5cdFx0XHRcIlx1MjhERlwiLFxuXHRcdFx0XCJcdTI4RUZcIixcblx0XHRcdFwiXHUyOEY3XCJcblx0XHRdXG5cdH0sXG5cdFwiZG90czNcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogODAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI4MEJcIixcblx0XHRcdFwiXHUyODE5XCIsXG5cdFx0XHRcIlx1MjgxQVwiLFxuXHRcdFx0XCJcdTI4MUVcIixcblx0XHRcdFwiXHUyODE2XCIsXG5cdFx0XHRcIlx1MjgyNlwiLFxuXHRcdFx0XCJcdTI4MzRcIixcblx0XHRcdFwiXHUyODMyXCIsXG5cdFx0XHRcIlx1MjgzM1wiLFxuXHRcdFx0XCJcdTI4MTNcIlxuXHRcdF1cblx0fSxcblx0XCJkb3RzNFwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiA4MCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjgwNFwiLFxuXHRcdFx0XCJcdTI4MDZcIixcblx0XHRcdFwiXHUyODA3XCIsXG5cdFx0XHRcIlx1MjgwQlwiLFxuXHRcdFx0XCJcdTI4MTlcIixcblx0XHRcdFwiXHUyODM4XCIsXG5cdFx0XHRcIlx1MjgzMFwiLFxuXHRcdFx0XCJcdTI4MjBcIixcblx0XHRcdFwiXHUyODMwXCIsXG5cdFx0XHRcIlx1MjgzOFwiLFxuXHRcdFx0XCJcdTI4MTlcIixcblx0XHRcdFwiXHUyODBCXCIsXG5cdFx0XHRcIlx1MjgwN1wiLFxuXHRcdFx0XCJcdTI4MDZcIlxuXHRcdF1cblx0fSxcblx0XCJkb3RzNVwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiA4MCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjgwQlwiLFxuXHRcdFx0XCJcdTI4MTlcIixcblx0XHRcdFwiXHUyODFBXCIsXG5cdFx0XHRcIlx1MjgxMlwiLFxuXHRcdFx0XCJcdTI4MDJcIixcblx0XHRcdFwiXHUyODAyXCIsXG5cdFx0XHRcIlx1MjgxMlwiLFxuXHRcdFx0XCJcdTI4MzJcIixcblx0XHRcdFwiXHUyODM0XCIsXG5cdFx0XHRcIlx1MjgyNlwiLFxuXHRcdFx0XCJcdTI4MTZcIixcblx0XHRcdFwiXHUyODEyXCIsXG5cdFx0XHRcIlx1MjgxMFwiLFxuXHRcdFx0XCJcdTI4MTBcIixcblx0XHRcdFwiXHUyODEyXCIsXG5cdFx0XHRcIlx1MjgxM1wiLFxuXHRcdFx0XCJcdTI4MEJcIlxuXHRcdF1cblx0fSxcblx0XCJkb3RzNlwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiA4MCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjgwMVwiLFxuXHRcdFx0XCJcdTI4MDlcIixcblx0XHRcdFwiXHUyODE5XCIsXG5cdFx0XHRcIlx1MjgxQVwiLFxuXHRcdFx0XCJcdTI4MTJcIixcblx0XHRcdFwiXHUyODAyXCIsXG5cdFx0XHRcIlx1MjgwMlwiLFxuXHRcdFx0XCJcdTI4MTJcIixcblx0XHRcdFwiXHUyODMyXCIsXG5cdFx0XHRcIlx1MjgzNFwiLFxuXHRcdFx0XCJcdTI4MjRcIixcblx0XHRcdFwiXHUyODA0XCIsXG5cdFx0XHRcIlx1MjgwNFwiLFxuXHRcdFx0XCJcdTI4MjRcIixcblx0XHRcdFwiXHUyODM0XCIsXG5cdFx0XHRcIlx1MjgzMlwiLFxuXHRcdFx0XCJcdTI4MTJcIixcblx0XHRcdFwiXHUyODAyXCIsXG5cdFx0XHRcIlx1MjgwMlwiLFxuXHRcdFx0XCJcdTI4MTJcIixcblx0XHRcdFwiXHUyODFBXCIsXG5cdFx0XHRcIlx1MjgxOVwiLFxuXHRcdFx0XCJcdTI4MDlcIixcblx0XHRcdFwiXHUyODAxXCJcblx0XHRdXG5cdH0sXG5cdFwiZG90czdcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogODAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI4MDhcIixcblx0XHRcdFwiXHUyODA5XCIsXG5cdFx0XHRcIlx1MjgwQlwiLFxuXHRcdFx0XCJcdTI4MTNcIixcblx0XHRcdFwiXHUyODEyXCIsXG5cdFx0XHRcIlx1MjgxMFwiLFxuXHRcdFx0XCJcdTI4MTBcIixcblx0XHRcdFwiXHUyODEyXCIsXG5cdFx0XHRcIlx1MjgxNlwiLFxuXHRcdFx0XCJcdTI4MjZcIixcblx0XHRcdFwiXHUyODI0XCIsXG5cdFx0XHRcIlx1MjgyMFwiLFxuXHRcdFx0XCJcdTI4MjBcIixcblx0XHRcdFwiXHUyODI0XCIsXG5cdFx0XHRcIlx1MjgyNlwiLFxuXHRcdFx0XCJcdTI4MTZcIixcblx0XHRcdFwiXHUyODEyXCIsXG5cdFx0XHRcIlx1MjgxMFwiLFxuXHRcdFx0XCJcdTI4MTBcIixcblx0XHRcdFwiXHUyODEyXCIsXG5cdFx0XHRcIlx1MjgxM1wiLFxuXHRcdFx0XCJcdTI4MEJcIixcblx0XHRcdFwiXHUyODA5XCIsXG5cdFx0XHRcIlx1MjgwOFwiXG5cdFx0XVxuXHR9LFxuXHRcImRvdHM4XCI6IHtcblx0XHRcImludGVydmFsXCI6IDgwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHUyODAxXCIsXG5cdFx0XHRcIlx1MjgwMVwiLFxuXHRcdFx0XCJcdTI4MDlcIixcblx0XHRcdFwiXHUyODE5XCIsXG5cdFx0XHRcIlx1MjgxQVwiLFxuXHRcdFx0XCJcdTI4MTJcIixcblx0XHRcdFwiXHUyODAyXCIsXG5cdFx0XHRcIlx1MjgwMlwiLFxuXHRcdFx0XCJcdTI4MTJcIixcblx0XHRcdFwiXHUyODMyXCIsXG5cdFx0XHRcIlx1MjgzNFwiLFxuXHRcdFx0XCJcdTI4MjRcIixcblx0XHRcdFwiXHUyODA0XCIsXG5cdFx0XHRcIlx1MjgwNFwiLFxuXHRcdFx0XCJcdTI4MjRcIixcblx0XHRcdFwiXHUyODIwXCIsXG5cdFx0XHRcIlx1MjgyMFwiLFxuXHRcdFx0XCJcdTI4MjRcIixcblx0XHRcdFwiXHUyODI2XCIsXG5cdFx0XHRcIlx1MjgxNlwiLFxuXHRcdFx0XCJcdTI4MTJcIixcblx0XHRcdFwiXHUyODEwXCIsXG5cdFx0XHRcIlx1MjgxMFwiLFxuXHRcdFx0XCJcdTI4MTJcIixcblx0XHRcdFwiXHUyODEzXCIsXG5cdFx0XHRcIlx1MjgwQlwiLFxuXHRcdFx0XCJcdTI4MDlcIixcblx0XHRcdFwiXHUyODA4XCIsXG5cdFx0XHRcIlx1MjgwOFwiXG5cdFx0XVxuXHR9LFxuXHRcImRvdHM5XCI6IHtcblx0XHRcImludGVydmFsXCI6IDgwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHUyOEI5XCIsXG5cdFx0XHRcIlx1MjhCQVwiLFxuXHRcdFx0XCJcdTI4QkNcIixcblx0XHRcdFwiXHUyOEY4XCIsXG5cdFx0XHRcIlx1MjhDN1wiLFxuXHRcdFx0XCJcdTI4NjdcIixcblx0XHRcdFwiXHUyODU3XCIsXG5cdFx0XHRcIlx1Mjg0RlwiXG5cdFx0XVxuXHR9LFxuXHRcImRvdHMxMFwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiA4MCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1Mjg4NFwiLFxuXHRcdFx0XCJcdTI4ODJcIixcblx0XHRcdFwiXHUyODgxXCIsXG5cdFx0XHRcIlx1Mjg0MVwiLFxuXHRcdFx0XCJcdTI4NDhcIixcblx0XHRcdFwiXHUyODUwXCIsXG5cdFx0XHRcIlx1Mjg2MFwiXG5cdFx0XVxuXHR9LFxuXHRcImRvdHMxMVwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxMDAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI4MDFcIixcblx0XHRcdFwiXHUyODAyXCIsXG5cdFx0XHRcIlx1MjgwNFwiLFxuXHRcdFx0XCJcdTI4NDBcIixcblx0XHRcdFwiXHUyODgwXCIsXG5cdFx0XHRcIlx1MjgyMFwiLFxuXHRcdFx0XCJcdTI4MTBcIixcblx0XHRcdFwiXHUyODA4XCJcblx0XHRdXG5cdH0sXG5cdFwiZG90czEyXCI6IHtcblx0XHRcImludGVydmFsXCI6IDgwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHUyODgwXHUyODAwXCIsXG5cdFx0XHRcIlx1Mjg0MFx1MjgwMFwiLFxuXHRcdFx0XCJcdTI4MDRcdTI4MDBcIixcblx0XHRcdFwiXHUyODgyXHUyODAwXCIsXG5cdFx0XHRcIlx1Mjg0Mlx1MjgwMFwiLFxuXHRcdFx0XCJcdTI4MDVcdTI4MDBcIixcblx0XHRcdFwiXHUyODgzXHUyODAwXCIsXG5cdFx0XHRcIlx1Mjg0M1x1MjgwMFwiLFxuXHRcdFx0XCJcdTI4MERcdTI4MDBcIixcblx0XHRcdFwiXHUyODhCXHUyODAwXCIsXG5cdFx0XHRcIlx1Mjg0Qlx1MjgwMFwiLFxuXHRcdFx0XCJcdTI4MERcdTI4MDFcIixcblx0XHRcdFwiXHUyODhCXHUyODAxXCIsXG5cdFx0XHRcIlx1Mjg0Qlx1MjgwMVwiLFxuXHRcdFx0XCJcdTI4MERcdTI4MDlcIixcblx0XHRcdFwiXHUyODBCXHUyODA5XCIsXG5cdFx0XHRcIlx1MjgwQlx1MjgwOVwiLFxuXHRcdFx0XCJcdTI4MDlcdTI4MTlcIixcblx0XHRcdFwiXHUyODA5XHUyODE5XCIsXG5cdFx0XHRcIlx1MjgwOVx1MjgyOVwiLFxuXHRcdFx0XCJcdTI4MDhcdTI4OTlcIixcblx0XHRcdFwiXHUyODA4XHUyODU5XCIsXG5cdFx0XHRcIlx1Mjg4OFx1MjgyOVwiLFxuXHRcdFx0XCJcdTI4NDBcdTI4OTlcIixcblx0XHRcdFwiXHUyODA0XHUyODU5XCIsXG5cdFx0XHRcIlx1Mjg4Mlx1MjgyOVwiLFxuXHRcdFx0XCJcdTI4NDJcdTI4OThcIixcblx0XHRcdFwiXHUyODA1XHUyODU4XCIsXG5cdFx0XHRcIlx1Mjg4M1x1MjgyOFwiLFxuXHRcdFx0XCJcdTI4NDNcdTI4OTBcIixcblx0XHRcdFwiXHUyODBEXHUyODUwXCIsXG5cdFx0XHRcIlx1Mjg4Qlx1MjgyMFwiLFxuXHRcdFx0XCJcdTI4NEJcdTI4ODBcIixcblx0XHRcdFwiXHUyODBEXHUyODQxXCIsXG5cdFx0XHRcIlx1Mjg4Qlx1MjgwMVwiLFxuXHRcdFx0XCJcdTI4NEJcdTI4MDFcIixcblx0XHRcdFwiXHUyODBEXHUyODA5XCIsXG5cdFx0XHRcIlx1MjgwQlx1MjgwOVwiLFxuXHRcdFx0XCJcdTI4MEJcdTI4MDlcIixcblx0XHRcdFwiXHUyODA5XHUyODE5XCIsXG5cdFx0XHRcIlx1MjgwOVx1MjgxOVwiLFxuXHRcdFx0XCJcdTI4MDlcdTI4MjlcIixcblx0XHRcdFwiXHUyODA4XHUyODk5XCIsXG5cdFx0XHRcIlx1MjgwOFx1Mjg1OVwiLFxuXHRcdFx0XCJcdTI4MDhcdTI4MjlcIixcblx0XHRcdFwiXHUyODAwXHUyODk5XCIsXG5cdFx0XHRcIlx1MjgwMFx1Mjg1OVwiLFxuXHRcdFx0XCJcdTI4MDBcdTI4MjlcIixcblx0XHRcdFwiXHUyODAwXHUyODk4XCIsXG5cdFx0XHRcIlx1MjgwMFx1Mjg1OFwiLFxuXHRcdFx0XCJcdTI4MDBcdTI4MjhcIixcblx0XHRcdFwiXHUyODAwXHUyODkwXCIsXG5cdFx0XHRcIlx1MjgwMFx1Mjg1MFwiLFxuXHRcdFx0XCJcdTI4MDBcdTI4MjBcIixcblx0XHRcdFwiXHUyODAwXHUyODgwXCIsXG5cdFx0XHRcIlx1MjgwMFx1Mjg0MFwiXG5cdFx0XVxuXHR9LFxuXHRcImRvdHMxM1wiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiA4MCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjhGQ1wiLFxuXHRcdFx0XCJcdTI4RjlcIixcblx0XHRcdFwiXHUyOEJCXCIsXG5cdFx0XHRcIlx1MjgzRlwiLFxuXHRcdFx0XCJcdTI4NUZcIixcblx0XHRcdFwiXHUyOENGXCIsXG5cdFx0XHRcIlx1MjhFN1wiLFxuXHRcdFx0XCJcdTI4RjZcIlxuXHRcdF1cblx0fSxcblx0XCJkb3RzOEJpdFwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiA4MCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjgwMFwiLFxuXHRcdFx0XCJcdTI4MDFcIixcblx0XHRcdFwiXHUyODAyXCIsXG5cdFx0XHRcIlx1MjgwM1wiLFxuXHRcdFx0XCJcdTI4MDRcIixcblx0XHRcdFwiXHUyODA1XCIsXG5cdFx0XHRcIlx1MjgwNlwiLFxuXHRcdFx0XCJcdTI4MDdcIixcblx0XHRcdFwiXHUyODQwXCIsXG5cdFx0XHRcIlx1Mjg0MVwiLFxuXHRcdFx0XCJcdTI4NDJcIixcblx0XHRcdFwiXHUyODQzXCIsXG5cdFx0XHRcIlx1Mjg0NFwiLFxuXHRcdFx0XCJcdTI4NDVcIixcblx0XHRcdFwiXHUyODQ2XCIsXG5cdFx0XHRcIlx1Mjg0N1wiLFxuXHRcdFx0XCJcdTI4MDhcIixcblx0XHRcdFwiXHUyODA5XCIsXG5cdFx0XHRcIlx1MjgwQVwiLFxuXHRcdFx0XCJcdTI4MEJcIixcblx0XHRcdFwiXHUyODBDXCIsXG5cdFx0XHRcIlx1MjgwRFwiLFxuXHRcdFx0XCJcdTI4MEVcIixcblx0XHRcdFwiXHUyODBGXCIsXG5cdFx0XHRcIlx1Mjg0OFwiLFxuXHRcdFx0XCJcdTI4NDlcIixcblx0XHRcdFwiXHUyODRBXCIsXG5cdFx0XHRcIlx1Mjg0QlwiLFxuXHRcdFx0XCJcdTI4NENcIixcblx0XHRcdFwiXHUyODREXCIsXG5cdFx0XHRcIlx1Mjg0RVwiLFxuXHRcdFx0XCJcdTI4NEZcIixcblx0XHRcdFwiXHUyODEwXCIsXG5cdFx0XHRcIlx1MjgxMVwiLFxuXHRcdFx0XCJcdTI4MTJcIixcblx0XHRcdFwiXHUyODEzXCIsXG5cdFx0XHRcIlx1MjgxNFwiLFxuXHRcdFx0XCJcdTI4MTVcIixcblx0XHRcdFwiXHUyODE2XCIsXG5cdFx0XHRcIlx1MjgxN1wiLFxuXHRcdFx0XCJcdTI4NTBcIixcblx0XHRcdFwiXHUyODUxXCIsXG5cdFx0XHRcIlx1Mjg1MlwiLFxuXHRcdFx0XCJcdTI4NTNcIixcblx0XHRcdFwiXHUyODU0XCIsXG5cdFx0XHRcIlx1Mjg1NVwiLFxuXHRcdFx0XCJcdTI4NTZcIixcblx0XHRcdFwiXHUyODU3XCIsXG5cdFx0XHRcIlx1MjgxOFwiLFxuXHRcdFx0XCJcdTI4MTlcIixcblx0XHRcdFwiXHUyODFBXCIsXG5cdFx0XHRcIlx1MjgxQlwiLFxuXHRcdFx0XCJcdTI4MUNcIixcblx0XHRcdFwiXHUyODFEXCIsXG5cdFx0XHRcIlx1MjgxRVwiLFxuXHRcdFx0XCJcdTI4MUZcIixcblx0XHRcdFwiXHUyODU4XCIsXG5cdFx0XHRcIlx1Mjg1OVwiLFxuXHRcdFx0XCJcdTI4NUFcIixcblx0XHRcdFwiXHUyODVCXCIsXG5cdFx0XHRcIlx1Mjg1Q1wiLFxuXHRcdFx0XCJcdTI4NURcIixcblx0XHRcdFwiXHUyODVFXCIsXG5cdFx0XHRcIlx1Mjg1RlwiLFxuXHRcdFx0XCJcdTI4MjBcIixcblx0XHRcdFwiXHUyODIxXCIsXG5cdFx0XHRcIlx1MjgyMlwiLFxuXHRcdFx0XCJcdTI4MjNcIixcblx0XHRcdFwiXHUyODI0XCIsXG5cdFx0XHRcIlx1MjgyNVwiLFxuXHRcdFx0XCJcdTI4MjZcIixcblx0XHRcdFwiXHUyODI3XCIsXG5cdFx0XHRcIlx1Mjg2MFwiLFxuXHRcdFx0XCJcdTI4NjFcIixcblx0XHRcdFwiXHUyODYyXCIsXG5cdFx0XHRcIlx1Mjg2M1wiLFxuXHRcdFx0XCJcdTI4NjRcIixcblx0XHRcdFwiXHUyODY1XCIsXG5cdFx0XHRcIlx1Mjg2NlwiLFxuXHRcdFx0XCJcdTI4NjdcIixcblx0XHRcdFwiXHUyODI4XCIsXG5cdFx0XHRcIlx1MjgyOVwiLFxuXHRcdFx0XCJcdTI4MkFcIixcblx0XHRcdFwiXHUyODJCXCIsXG5cdFx0XHRcIlx1MjgyQ1wiLFxuXHRcdFx0XCJcdTI4MkRcIixcblx0XHRcdFwiXHUyODJFXCIsXG5cdFx0XHRcIlx1MjgyRlwiLFxuXHRcdFx0XCJcdTI4NjhcIixcblx0XHRcdFwiXHUyODY5XCIsXG5cdFx0XHRcIlx1Mjg2QVwiLFxuXHRcdFx0XCJcdTI4NkJcIixcblx0XHRcdFwiXHUyODZDXCIsXG5cdFx0XHRcIlx1Mjg2RFwiLFxuXHRcdFx0XCJcdTI4NkVcIixcblx0XHRcdFwiXHUyODZGXCIsXG5cdFx0XHRcIlx1MjgzMFwiLFxuXHRcdFx0XCJcdTI4MzFcIixcblx0XHRcdFwiXHUyODMyXCIsXG5cdFx0XHRcIlx1MjgzM1wiLFxuXHRcdFx0XCJcdTI4MzRcIixcblx0XHRcdFwiXHUyODM1XCIsXG5cdFx0XHRcIlx1MjgzNlwiLFxuXHRcdFx0XCJcdTI4MzdcIixcblx0XHRcdFwiXHUyODcwXCIsXG5cdFx0XHRcIlx1Mjg3MVwiLFxuXHRcdFx0XCJcdTI4NzJcIixcblx0XHRcdFwiXHUyODczXCIsXG5cdFx0XHRcIlx1Mjg3NFwiLFxuXHRcdFx0XCJcdTI4NzVcIixcblx0XHRcdFwiXHUyODc2XCIsXG5cdFx0XHRcIlx1Mjg3N1wiLFxuXHRcdFx0XCJcdTI4MzhcIixcblx0XHRcdFwiXHUyODM5XCIsXG5cdFx0XHRcIlx1MjgzQVwiLFxuXHRcdFx0XCJcdTI4M0JcIixcblx0XHRcdFwiXHUyODNDXCIsXG5cdFx0XHRcIlx1MjgzRFwiLFxuXHRcdFx0XCJcdTI4M0VcIixcblx0XHRcdFwiXHUyODNGXCIsXG5cdFx0XHRcIlx1Mjg3OFwiLFxuXHRcdFx0XCJcdTI4NzlcIixcblx0XHRcdFwiXHUyODdBXCIsXG5cdFx0XHRcIlx1Mjg3QlwiLFxuXHRcdFx0XCJcdTI4N0NcIixcblx0XHRcdFwiXHUyODdEXCIsXG5cdFx0XHRcIlx1Mjg3RVwiLFxuXHRcdFx0XCJcdTI4N0ZcIixcblx0XHRcdFwiXHUyODgwXCIsXG5cdFx0XHRcIlx1Mjg4MVwiLFxuXHRcdFx0XCJcdTI4ODJcIixcblx0XHRcdFwiXHUyODgzXCIsXG5cdFx0XHRcIlx1Mjg4NFwiLFxuXHRcdFx0XCJcdTI4ODVcIixcblx0XHRcdFwiXHUyODg2XCIsXG5cdFx0XHRcIlx1Mjg4N1wiLFxuXHRcdFx0XCJcdTI4QzBcIixcblx0XHRcdFwiXHUyOEMxXCIsXG5cdFx0XHRcIlx1MjhDMlwiLFxuXHRcdFx0XCJcdTI4QzNcIixcblx0XHRcdFwiXHUyOEM0XCIsXG5cdFx0XHRcIlx1MjhDNVwiLFxuXHRcdFx0XCJcdTI4QzZcIixcblx0XHRcdFwiXHUyOEM3XCIsXG5cdFx0XHRcIlx1Mjg4OFwiLFxuXHRcdFx0XCJcdTI4ODlcIixcblx0XHRcdFwiXHUyODhBXCIsXG5cdFx0XHRcIlx1Mjg4QlwiLFxuXHRcdFx0XCJcdTI4OENcIixcblx0XHRcdFwiXHUyODhEXCIsXG5cdFx0XHRcIlx1Mjg4RVwiLFxuXHRcdFx0XCJcdTI4OEZcIixcblx0XHRcdFwiXHUyOEM4XCIsXG5cdFx0XHRcIlx1MjhDOVwiLFxuXHRcdFx0XCJcdTI4Q0FcIixcblx0XHRcdFwiXHUyOENCXCIsXG5cdFx0XHRcIlx1MjhDQ1wiLFxuXHRcdFx0XCJcdTI4Q0RcIixcblx0XHRcdFwiXHUyOENFXCIsXG5cdFx0XHRcIlx1MjhDRlwiLFxuXHRcdFx0XCJcdTI4OTBcIixcblx0XHRcdFwiXHUyODkxXCIsXG5cdFx0XHRcIlx1Mjg5MlwiLFxuXHRcdFx0XCJcdTI4OTNcIixcblx0XHRcdFwiXHUyODk0XCIsXG5cdFx0XHRcIlx1Mjg5NVwiLFxuXHRcdFx0XCJcdTI4OTZcIixcblx0XHRcdFwiXHUyODk3XCIsXG5cdFx0XHRcIlx1MjhEMFwiLFxuXHRcdFx0XCJcdTI4RDFcIixcblx0XHRcdFwiXHUyOEQyXCIsXG5cdFx0XHRcIlx1MjhEM1wiLFxuXHRcdFx0XCJcdTI4RDRcIixcblx0XHRcdFwiXHUyOEQ1XCIsXG5cdFx0XHRcIlx1MjhENlwiLFxuXHRcdFx0XCJcdTI4RDdcIixcblx0XHRcdFwiXHUyODk4XCIsXG5cdFx0XHRcIlx1Mjg5OVwiLFxuXHRcdFx0XCJcdTI4OUFcIixcblx0XHRcdFwiXHUyODlCXCIsXG5cdFx0XHRcIlx1Mjg5Q1wiLFxuXHRcdFx0XCJcdTI4OURcIixcblx0XHRcdFwiXHUyODlFXCIsXG5cdFx0XHRcIlx1Mjg5RlwiLFxuXHRcdFx0XCJcdTI4RDhcIixcblx0XHRcdFwiXHUyOEQ5XCIsXG5cdFx0XHRcIlx1MjhEQVwiLFxuXHRcdFx0XCJcdTI4REJcIixcblx0XHRcdFwiXHUyOERDXCIsXG5cdFx0XHRcIlx1MjhERFwiLFxuXHRcdFx0XCJcdTI4REVcIixcblx0XHRcdFwiXHUyOERGXCIsXG5cdFx0XHRcIlx1MjhBMFwiLFxuXHRcdFx0XCJcdTI4QTFcIixcblx0XHRcdFwiXHUyOEEyXCIsXG5cdFx0XHRcIlx1MjhBM1wiLFxuXHRcdFx0XCJcdTI4QTRcIixcblx0XHRcdFwiXHUyOEE1XCIsXG5cdFx0XHRcIlx1MjhBNlwiLFxuXHRcdFx0XCJcdTI4QTdcIixcblx0XHRcdFwiXHUyOEUwXCIsXG5cdFx0XHRcIlx1MjhFMVwiLFxuXHRcdFx0XCJcdTI4RTJcIixcblx0XHRcdFwiXHUyOEUzXCIsXG5cdFx0XHRcIlx1MjhFNFwiLFxuXHRcdFx0XCJcdTI4RTVcIixcblx0XHRcdFwiXHUyOEU2XCIsXG5cdFx0XHRcIlx1MjhFN1wiLFxuXHRcdFx0XCJcdTI4QThcIixcblx0XHRcdFwiXHUyOEE5XCIsXG5cdFx0XHRcIlx1MjhBQVwiLFxuXHRcdFx0XCJcdTI4QUJcIixcblx0XHRcdFwiXHUyOEFDXCIsXG5cdFx0XHRcIlx1MjhBRFwiLFxuXHRcdFx0XCJcdTI4QUVcIixcblx0XHRcdFwiXHUyOEFGXCIsXG5cdFx0XHRcIlx1MjhFOFwiLFxuXHRcdFx0XCJcdTI4RTlcIixcblx0XHRcdFwiXHUyOEVBXCIsXG5cdFx0XHRcIlx1MjhFQlwiLFxuXHRcdFx0XCJcdTI4RUNcIixcblx0XHRcdFwiXHUyOEVEXCIsXG5cdFx0XHRcIlx1MjhFRVwiLFxuXHRcdFx0XCJcdTI4RUZcIixcblx0XHRcdFwiXHUyOEIwXCIsXG5cdFx0XHRcIlx1MjhCMVwiLFxuXHRcdFx0XCJcdTI4QjJcIixcblx0XHRcdFwiXHUyOEIzXCIsXG5cdFx0XHRcIlx1MjhCNFwiLFxuXHRcdFx0XCJcdTI4QjVcIixcblx0XHRcdFwiXHUyOEI2XCIsXG5cdFx0XHRcIlx1MjhCN1wiLFxuXHRcdFx0XCJcdTI4RjBcIixcblx0XHRcdFwiXHUyOEYxXCIsXG5cdFx0XHRcIlx1MjhGMlwiLFxuXHRcdFx0XCJcdTI4RjNcIixcblx0XHRcdFwiXHUyOEY0XCIsXG5cdFx0XHRcIlx1MjhGNVwiLFxuXHRcdFx0XCJcdTI4RjZcIixcblx0XHRcdFwiXHUyOEY3XCIsXG5cdFx0XHRcIlx1MjhCOFwiLFxuXHRcdFx0XCJcdTI4QjlcIixcblx0XHRcdFwiXHUyOEJBXCIsXG5cdFx0XHRcIlx1MjhCQlwiLFxuXHRcdFx0XCJcdTI4QkNcIixcblx0XHRcdFwiXHUyOEJEXCIsXG5cdFx0XHRcIlx1MjhCRVwiLFxuXHRcdFx0XCJcdTI4QkZcIixcblx0XHRcdFwiXHUyOEY4XCIsXG5cdFx0XHRcIlx1MjhGOVwiLFxuXHRcdFx0XCJcdTI4RkFcIixcblx0XHRcdFwiXHUyOEZCXCIsXG5cdFx0XHRcIlx1MjhGQ1wiLFxuXHRcdFx0XCJcdTI4RkRcIixcblx0XHRcdFwiXHUyOEZFXCIsXG5cdFx0XHRcIlx1MjhGRlwiXG5cdFx0XVxuXHR9LFxuXHRcInNhbmRcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogODAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI4MDFcIixcblx0XHRcdFwiXHUyODAyXCIsXG5cdFx0XHRcIlx1MjgwNFwiLFxuXHRcdFx0XCJcdTI4NDBcIixcblx0XHRcdFwiXHUyODQ4XCIsXG5cdFx0XHRcIlx1Mjg1MFwiLFxuXHRcdFx0XCJcdTI4NjBcIixcblx0XHRcdFwiXHUyOEMwXCIsXG5cdFx0XHRcIlx1MjhDMVwiLFxuXHRcdFx0XCJcdTI4QzJcIixcblx0XHRcdFwiXHUyOEM0XCIsXG5cdFx0XHRcIlx1MjhDQ1wiLFxuXHRcdFx0XCJcdTI4RDRcIixcblx0XHRcdFwiXHUyOEU0XCIsXG5cdFx0XHRcIlx1MjhFNVwiLFxuXHRcdFx0XCJcdTI4RTZcIixcblx0XHRcdFwiXHUyOEVFXCIsXG5cdFx0XHRcIlx1MjhGNlwiLFxuXHRcdFx0XCJcdTI4RjdcIixcblx0XHRcdFwiXHUyOEZGXCIsXG5cdFx0XHRcIlx1Mjg3RlwiLFxuXHRcdFx0XCJcdTI4M0ZcIixcblx0XHRcdFwiXHUyODlGXCIsXG5cdFx0XHRcIlx1MjgxRlwiLFxuXHRcdFx0XCJcdTI4NUJcIixcblx0XHRcdFwiXHUyODFCXCIsXG5cdFx0XHRcIlx1MjgyQlwiLFxuXHRcdFx0XCJcdTI4OEJcIixcblx0XHRcdFwiXHUyODBCXCIsXG5cdFx0XHRcIlx1MjgwRFwiLFxuXHRcdFx0XCJcdTI4NDlcIixcblx0XHRcdFwiXHUyODA5XCIsXG5cdFx0XHRcIlx1MjgxMVwiLFxuXHRcdFx0XCJcdTI4MjFcIixcblx0XHRcdFwiXHUyODgxXCJcblx0XHRdXG5cdH0sXG5cdFwibGluZVwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxMzAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCItXCIsXG5cdFx0XHRcIlxcXFxcIixcblx0XHRcdFwifFwiLFxuXHRcdFx0XCIvXCJcblx0XHRdXG5cdH0sXG5cdFwibGluZTJcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogMTAwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHUyODAyXCIsXG5cdFx0XHRcIi1cIixcblx0XHRcdFwiXHUyMDEzXCIsXG5cdFx0XHRcIlx1MjAxNFwiLFxuXHRcdFx0XCJcdTIwMTNcIixcblx0XHRcdFwiLVwiXG5cdFx0XVxuXHR9LFxuXHRcInBpcGVcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogMTAwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHUyNTI0XCIsXG5cdFx0XHRcIlx1MjUxOFwiLFxuXHRcdFx0XCJcdTI1MzRcIixcblx0XHRcdFwiXHUyNTE0XCIsXG5cdFx0XHRcIlx1MjUxQ1wiLFxuXHRcdFx0XCJcdTI1MENcIixcblx0XHRcdFwiXHUyNTJDXCIsXG5cdFx0XHRcIlx1MjUxMFwiXG5cdFx0XVxuXHR9LFxuXHRcInNpbXBsZURvdHNcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogNDAwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiLiAgXCIsXG5cdFx0XHRcIi4uIFwiLFxuXHRcdFx0XCIuLi5cIixcblx0XHRcdFwiICAgXCJcblx0XHRdXG5cdH0sXG5cdFwic2ltcGxlRG90c1Njcm9sbGluZ1wiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAyMDAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCIuICBcIixcblx0XHRcdFwiLi4gXCIsXG5cdFx0XHRcIi4uLlwiLFxuXHRcdFx0XCIgLi5cIixcblx0XHRcdFwiICAuXCIsXG5cdFx0XHRcIiAgIFwiXG5cdFx0XVxuXHR9LFxuXHRcInN0YXJcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogNzAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI3MzZcIixcblx0XHRcdFwiXHUyNzM4XCIsXG5cdFx0XHRcIlx1MjczOVwiLFxuXHRcdFx0XCJcdTI3M0FcIixcblx0XHRcdFwiXHUyNzM5XCIsXG5cdFx0XHRcIlx1MjczN1wiXG5cdFx0XVxuXHR9LFxuXHRcInN0YXIyXCI6IHtcblx0XHRcImludGVydmFsXCI6IDgwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiK1wiLFxuXHRcdFx0XCJ4XCIsXG5cdFx0XHRcIipcIlxuXHRcdF1cblx0fSxcblx0XCJmbGlwXCI6IHtcblx0XHRcImludGVydmFsXCI6IDcwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiX1wiLFxuXHRcdFx0XCJfXCIsXG5cdFx0XHRcIl9cIixcblx0XHRcdFwiLVwiLFxuXHRcdFx0XCJgXCIsXG5cdFx0XHRcImBcIixcblx0XHRcdFwiJ1wiLFxuXHRcdFx0XCJcdTAwQjRcIixcblx0XHRcdFwiLVwiLFxuXHRcdFx0XCJfXCIsXG5cdFx0XHRcIl9cIixcblx0XHRcdFwiX1wiXG5cdFx0XVxuXHR9LFxuXHRcImhhbWJ1cmdlclwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxMDAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI2MzFcIixcblx0XHRcdFwiXHUyNjMyXCIsXG5cdFx0XHRcIlx1MjYzNFwiXG5cdFx0XVxuXHR9LFxuXHRcImdyb3dWZXJ0aWNhbFwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxMjAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI1ODFcIixcblx0XHRcdFwiXHUyNTgzXCIsXG5cdFx0XHRcIlx1MjU4NFwiLFxuXHRcdFx0XCJcdTI1ODVcIixcblx0XHRcdFwiXHUyNTg2XCIsXG5cdFx0XHRcIlx1MjU4N1wiLFxuXHRcdFx0XCJcdTI1ODZcIixcblx0XHRcdFwiXHUyNTg1XCIsXG5cdFx0XHRcIlx1MjU4NFwiLFxuXHRcdFx0XCJcdTI1ODNcIlxuXHRcdF1cblx0fSxcblx0XCJncm93SG9yaXpvbnRhbFwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxMjAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI1OEZcIixcblx0XHRcdFwiXHUyNThFXCIsXG5cdFx0XHRcIlx1MjU4RFwiLFxuXHRcdFx0XCJcdTI1OENcIixcblx0XHRcdFwiXHUyNThCXCIsXG5cdFx0XHRcIlx1MjU4QVwiLFxuXHRcdFx0XCJcdTI1ODlcIixcblx0XHRcdFwiXHUyNThBXCIsXG5cdFx0XHRcIlx1MjU4QlwiLFxuXHRcdFx0XCJcdTI1OENcIixcblx0XHRcdFwiXHUyNThEXCIsXG5cdFx0XHRcIlx1MjU4RVwiXG5cdFx0XVxuXHR9LFxuXHRcImJhbGxvb25cIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogMTQwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiIFwiLFxuXHRcdFx0XCIuXCIsXG5cdFx0XHRcIm9cIixcblx0XHRcdFwiT1wiLFxuXHRcdFx0XCJAXCIsXG5cdFx0XHRcIipcIixcblx0XHRcdFwiIFwiXG5cdFx0XVxuXHR9LFxuXHRcImJhbGxvb24yXCI6IHtcblx0XHRcImludGVydmFsXCI6IDEyMCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIi5cIixcblx0XHRcdFwib1wiLFxuXHRcdFx0XCJPXCIsXG5cdFx0XHRcIlx1MDBCMFwiLFxuXHRcdFx0XCJPXCIsXG5cdFx0XHRcIm9cIixcblx0XHRcdFwiLlwiXG5cdFx0XVxuXHR9LFxuXHRcIm5vaXNlXCI6IHtcblx0XHRcImludGVydmFsXCI6IDEwMCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjU5M1wiLFxuXHRcdFx0XCJcdTI1OTJcIixcblx0XHRcdFwiXHUyNTkxXCJcblx0XHRdXG5cdH0sXG5cdFwiYm91bmNlXCI6IHtcblx0XHRcImludGVydmFsXCI6IDEyMCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjgwMVwiLFxuXHRcdFx0XCJcdTI4MDJcIixcblx0XHRcdFwiXHUyODA0XCIsXG5cdFx0XHRcIlx1MjgwMlwiXG5cdFx0XVxuXHR9LFxuXHRcImJveEJvdW5jZVwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxMjAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI1OTZcIixcblx0XHRcdFwiXHUyNTk4XCIsXG5cdFx0XHRcIlx1MjU5RFwiLFxuXHRcdFx0XCJcdTI1OTdcIlxuXHRcdF1cblx0fSxcblx0XCJib3hCb3VuY2UyXCI6IHtcblx0XHRcImludGVydmFsXCI6IDEwMCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjU4Q1wiLFxuXHRcdFx0XCJcdTI1ODBcIixcblx0XHRcdFwiXHUyNTkwXCIsXG5cdFx0XHRcIlx1MjU4NFwiXG5cdFx0XVxuXHR9LFxuXHRcInRyaWFuZ2xlXCI6IHtcblx0XHRcImludGVydmFsXCI6IDUwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHUyNUUyXCIsXG5cdFx0XHRcIlx1MjVFM1wiLFxuXHRcdFx0XCJcdTI1RTRcIixcblx0XHRcdFwiXHUyNUU1XCJcblx0XHRdXG5cdH0sXG5cdFwiYmluYXJ5XCI6IHtcblx0XHRcImludGVydmFsXCI6IDgwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiMDEwMDEwXCIsXG4gICAgICAgICAgICBcIjAwMTEwMFwiLFxuICAgICAgICAgICAgXCIxMDAxMDFcIixcbiAgICAgICAgICAgIFwiMTExMDEwXCIsXG4gICAgICAgICAgICBcIjExMTEwMVwiLFxuICAgICAgICAgICAgXCIwMTAxMTFcIixcblx0XHRcdFwiMTAxMDExXCIsXG5cdFx0XHRcIjExMTAwMFwiLFxuXHRcdFx0XCIxMTAwMTFcIixcblx0XHRcdFwiMTEwMTAxXCJcblx0XHRdXG5cdH0sXG5cdFwiYXJjXCI6IHtcblx0XHRcImludGVydmFsXCI6IDEwMCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjVEQ1wiLFxuXHRcdFx0XCJcdTI1RTBcIixcblx0XHRcdFwiXHUyNUREXCIsXG5cdFx0XHRcIlx1MjVERVwiLFxuXHRcdFx0XCJcdTI1RTFcIixcblx0XHRcdFwiXHUyNURGXCJcblx0XHRdXG5cdH0sXG5cdFwiY2lyY2xlXCI6IHtcblx0XHRcImludGVydmFsXCI6IDEyMCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjVFMVwiLFxuXHRcdFx0XCJcdTIyOTlcIixcblx0XHRcdFwiXHUyNUUwXCJcblx0XHRdXG5cdH0sXG5cdFwic3F1YXJlQ29ybmVyc1wiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxODAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI1RjBcIixcblx0XHRcdFwiXHUyNUYzXCIsXG5cdFx0XHRcIlx1MjVGMlwiLFxuXHRcdFx0XCJcdTI1RjFcIlxuXHRcdF1cblx0fSxcblx0XCJjaXJjbGVRdWFydGVyc1wiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxMjAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI1RjRcIixcblx0XHRcdFwiXHUyNUY3XCIsXG5cdFx0XHRcIlx1MjVGNlwiLFxuXHRcdFx0XCJcdTI1RjVcIlxuXHRcdF1cblx0fSxcblx0XCJjaXJjbGVIYWx2ZXNcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogNTAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI1RDBcIixcblx0XHRcdFwiXHUyNUQzXCIsXG5cdFx0XHRcIlx1MjVEMVwiLFxuXHRcdFx0XCJcdTI1RDJcIlxuXHRcdF1cblx0fSxcblx0XCJzcXVpc2hcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogMTAwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHUyNTZCXCIsXG5cdFx0XHRcIlx1MjU2QVwiXG5cdFx0XVxuXHR9LFxuXHRcInRvZ2dsZVwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAyNTAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTIyQjZcIixcblx0XHRcdFwiXHUyMkI3XCJcblx0XHRdXG5cdH0sXG5cdFwidG9nZ2xlMlwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiA4MCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjVBQlwiLFxuXHRcdFx0XCJcdTI1QUFcIlxuXHRcdF1cblx0fSxcblx0XCJ0b2dnbGUzXCI6IHtcblx0XHRcImludGVydmFsXCI6IDEyMCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjVBMVwiLFxuXHRcdFx0XCJcdTI1QTBcIlxuXHRcdF1cblx0fSxcblx0XCJ0b2dnbGU0XCI6IHtcblx0XHRcImludGVydmFsXCI6IDEwMCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjVBMFwiLFxuXHRcdFx0XCJcdTI1QTFcIixcblx0XHRcdFwiXHUyNUFBXCIsXG5cdFx0XHRcIlx1MjVBQlwiXG5cdFx0XVxuXHR9LFxuXHRcInRvZ2dsZTVcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogMTAwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHUyNUFFXCIsXG5cdFx0XHRcIlx1MjVBRlwiXG5cdFx0XVxuXHR9LFxuXHRcInRvZ2dsZTZcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogMzAwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHUxMDFEXCIsXG5cdFx0XHRcIlx1MTA0MFwiXG5cdFx0XVxuXHR9LFxuXHRcInRvZ2dsZTdcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogODAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI5QkVcIixcblx0XHRcdFwiXHUyOUJGXCJcblx0XHRdXG5cdH0sXG5cdFwidG9nZ2xlOFwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxMDAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI1Q0RcIixcblx0XHRcdFwiXHUyNUNDXCJcblx0XHRdXG5cdH0sXG5cdFwidG9nZ2xlOVwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxMDAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI1QzlcIixcblx0XHRcdFwiXHUyNUNFXCJcblx0XHRdXG5cdH0sXG5cdFwidG9nZ2xlMTBcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogMTAwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHUzMjgyXCIsXG5cdFx0XHRcIlx1MzI4MFwiLFxuXHRcdFx0XCJcdTMyODFcIlxuXHRcdF1cblx0fSxcblx0XCJ0b2dnbGUxMVwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiA1MCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjlDN1wiLFxuXHRcdFx0XCJcdTI5QzZcIlxuXHRcdF1cblx0fSxcblx0XCJ0b2dnbGUxMlwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxMjAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTI2MTdcIixcblx0XHRcdFwiXHUyNjE2XCJcblx0XHRdXG5cdH0sXG5cdFwidG9nZ2xlMTNcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogODAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCI9XCIsXG5cdFx0XHRcIipcIixcblx0XHRcdFwiLVwiXG5cdFx0XVxuXHR9LFxuXHRcImFycm93XCI6IHtcblx0XHRcImludGVydmFsXCI6IDEwMCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjE5MFwiLFxuXHRcdFx0XCJcdTIxOTZcIixcblx0XHRcdFwiXHUyMTkxXCIsXG5cdFx0XHRcIlx1MjE5N1wiLFxuXHRcdFx0XCJcdTIxOTJcIixcblx0XHRcdFwiXHUyMTk4XCIsXG5cdFx0XHRcIlx1MjE5M1wiLFxuXHRcdFx0XCJcdTIxOTlcIlxuXHRcdF1cblx0fSxcblx0XCJhcnJvdzJcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogODAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTJCMDZcdUZFMEYgXCIsXG5cdFx0XHRcIlx1MjE5N1x1RkUwRiBcIixcblx0XHRcdFwiXHUyN0ExXHVGRTBGIFwiLFxuXHRcdFx0XCJcdTIxOThcdUZFMEYgXCIsXG5cdFx0XHRcIlx1MkIwN1x1RkUwRiBcIixcblx0XHRcdFwiXHUyMTk5XHVGRTBGIFwiLFxuXHRcdFx0XCJcdTJCMDVcdUZFMEYgXCIsXG5cdFx0XHRcIlx1MjE5Nlx1RkUwRiBcIlxuXHRcdF1cblx0fSxcblx0XCJhcnJvdzNcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogMTIwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHUyNUI5XHUyNUI5XHUyNUI5XHUyNUI5XHUyNUI5XCIsXG5cdFx0XHRcIlx1MjVCOFx1MjVCOVx1MjVCOVx1MjVCOVx1MjVCOVwiLFxuXHRcdFx0XCJcdTI1QjlcdTI1QjhcdTI1QjlcdTI1QjlcdTI1QjlcIixcblx0XHRcdFwiXHUyNUI5XHUyNUI5XHUyNUI4XHUyNUI5XHUyNUI5XCIsXG5cdFx0XHRcIlx1MjVCOVx1MjVCOVx1MjVCOVx1MjVCOFx1MjVCOVwiLFxuXHRcdFx0XCJcdTI1QjlcdTI1QjlcdTI1QjlcdTI1QjlcdTI1QjhcIlxuXHRcdF1cblx0fSxcblx0XCJib3VuY2luZ0JhclwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiA4MCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlsgICAgXVwiLFxuXHRcdFx0XCJbPSAgIF1cIixcblx0XHRcdFwiWz09ICBdXCIsXG5cdFx0XHRcIls9PT0gXVwiLFxuXHRcdFx0XCJbPT09PV1cIixcblx0XHRcdFwiWyA9PT1dXCIsXG5cdFx0XHRcIlsgID09XVwiLFxuXHRcdFx0XCJbICAgPV1cIixcblx0XHRcdFwiWyAgICBdXCIsXG5cdFx0XHRcIlsgICA9XVwiLFxuXHRcdFx0XCJbICA9PV1cIixcblx0XHRcdFwiWyA9PT1dXCIsXG5cdFx0XHRcIls9PT09XVwiLFxuXHRcdFx0XCJbPT09IF1cIixcblx0XHRcdFwiWz09ICBdXCIsXG5cdFx0XHRcIls9ICAgXVwiXG5cdFx0XVxuXHR9LFxuXHRcImJvdW5jaW5nQmFsbFwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiA4MCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIiggXHUyNUNGICAgIClcIixcblx0XHRcdFwiKCAgXHUyNUNGICAgKVwiLFxuXHRcdFx0XCIoICAgXHUyNUNGICApXCIsXG5cdFx0XHRcIiggICAgXHUyNUNGIClcIixcblx0XHRcdFwiKCAgICAgXHUyNUNGKVwiLFxuXHRcdFx0XCIoICAgIFx1MjVDRiApXCIsXG5cdFx0XHRcIiggICBcdTI1Q0YgIClcIixcblx0XHRcdFwiKCAgXHUyNUNGICAgKVwiLFxuXHRcdFx0XCIoIFx1MjVDRiAgICApXCIsXG5cdFx0XHRcIihcdTI1Q0YgICAgIClcIlxuXHRcdF1cblx0fSxcblx0XCJzbWlsZXlcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogMjAwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHVEODNEXHVERTA0IFwiLFxuXHRcdFx0XCJcdUQ4M0RcdURFMUQgXCJcblx0XHRdXG5cdH0sXG5cdFwibW9ua2V5XCI6IHtcblx0XHRcImludGVydmFsXCI6IDMwMCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1RDgzRFx1REU0OCBcIixcblx0XHRcdFwiXHVEODNEXHVERTQ4IFwiLFxuXHRcdFx0XCJcdUQ4M0RcdURFNDkgXCIsXG5cdFx0XHRcIlx1RDgzRFx1REU0QSBcIlxuXHRcdF1cblx0fSxcblx0XCJoZWFydHNcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogMTAwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHVEODNEXHVEQzlCIFwiLFxuXHRcdFx0XCJcdUQ4M0RcdURDOTkgXCIsXG5cdFx0XHRcIlx1RDgzRFx1REM5QyBcIixcblx0XHRcdFwiXHVEODNEXHVEQzlBIFwiLFxuXHRcdFx0XCJcdTI3NjRcdUZFMEYgXCJcblx0XHRdXG5cdH0sXG5cdFwiY2xvY2tcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogMTAwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHVEODNEXHVERDVCIFwiLFxuXHRcdFx0XCJcdUQ4M0RcdURENTAgXCIsXG5cdFx0XHRcIlx1RDgzRFx1REQ1MSBcIixcblx0XHRcdFwiXHVEODNEXHVERDUyIFwiLFxuXHRcdFx0XCJcdUQ4M0RcdURENTMgXCIsXG5cdFx0XHRcIlx1RDgzRFx1REQ1NCBcIixcblx0XHRcdFwiXHVEODNEXHVERDU1IFwiLFxuXHRcdFx0XCJcdUQ4M0RcdURENTYgXCIsXG5cdFx0XHRcIlx1RDgzRFx1REQ1NyBcIixcblx0XHRcdFwiXHVEODNEXHVERDU4IFwiLFxuXHRcdFx0XCJcdUQ4M0RcdURENTkgXCIsXG5cdFx0XHRcIlx1RDgzRFx1REQ1QSBcIlxuXHRcdF1cblx0fSxcblx0XCJlYXJ0aFwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxODAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdUQ4M0NcdURGMEQgXCIsXG5cdFx0XHRcIlx1RDgzQ1x1REYwRSBcIixcblx0XHRcdFwiXHVEODNDXHVERjBGIFwiXG5cdFx0XVxuXHR9LFxuXHRcIm1hdGVyaWFsXCI6IHtcblx0XHRcImludGVydmFsXCI6IDE3LFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcIixcblx0XHRcdFwiXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcIixcblx0XHRcdFwiXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcIixcblx0XHRcdFwiXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcIixcblx0XHRcdFwiXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcIixcblx0XHRcdFwiXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFwiLFxuXHRcdFx0XCJcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcIixcblx0XHRcdFwiXHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XCIsXG5cdFx0XHRcIlx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFwiLFxuXHRcdFx0XCJcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcIixcblx0XHRcdFwiXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XCIsXG5cdFx0XHRcIlx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFwiLFxuXHRcdFx0XCJcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcIixcblx0XHRcdFwiXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XCIsXG5cdFx0XHRcIlx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcIixcblx0XHRcdFwiXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcIixcblx0XHRcdFwiXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcIixcblx0XHRcdFwiXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcIixcblx0XHRcdFwiXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcdTI1ODFcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXHUyNTgxXHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcdTI1ODFcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODFcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcdTI1ODhcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XHUyNTg4XCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFx1MjU4OFwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcdTI1ODhcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XHUyNTg4XCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4OFwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODhcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTg4XCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVwiLFxuXHRcdFx0XCJcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcdTI1ODFcIixcblx0XHRcdFwiXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXHUyNTgxXCIsXG5cdFx0XHRcIlx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVx1MjU4MVwiXG5cdFx0XVxuXHR9LFxuXHRcIm1vb25cIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogODAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdUQ4M0NcdURGMTEgXCIsXG5cdFx0XHRcIlx1RDgzQ1x1REYxMiBcIixcblx0XHRcdFwiXHVEODNDXHVERjEzIFwiLFxuXHRcdFx0XCJcdUQ4M0NcdURGMTQgXCIsXG5cdFx0XHRcIlx1RDgzQ1x1REYxNSBcIixcblx0XHRcdFwiXHVEODNDXHVERjE2IFwiLFxuXHRcdFx0XCJcdUQ4M0NcdURGMTcgXCIsXG5cdFx0XHRcIlx1RDgzQ1x1REYxOCBcIlxuXHRcdF1cblx0fSxcblx0XCJydW5uZXJcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogMTQwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHVEODNEXHVERUI2IFwiLFxuXHRcdFx0XCJcdUQ4M0NcdURGQzMgXCJcblx0XHRdXG5cdH0sXG5cdFwicG9uZ1wiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiA4MCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjU5MFx1MjgwMiAgICAgICBcdTI1OENcIixcblx0XHRcdFwiXHUyNTkwXHUyODA4ICAgICAgIFx1MjU4Q1wiLFxuXHRcdFx0XCJcdTI1OTAgXHUyODAyICAgICAgXHUyNThDXCIsXG5cdFx0XHRcIlx1MjU5MCBcdTI4MjAgICAgICBcdTI1OENcIixcblx0XHRcdFwiXHUyNTkwICBcdTI4NDAgICAgIFx1MjU4Q1wiLFxuXHRcdFx0XCJcdTI1OTAgIFx1MjgyMCAgICAgXHUyNThDXCIsXG5cdFx0XHRcIlx1MjU5MCAgIFx1MjgwMiAgICBcdTI1OENcIixcblx0XHRcdFwiXHUyNTkwICAgXHUyODA4ICAgIFx1MjU4Q1wiLFxuXHRcdFx0XCJcdTI1OTAgICAgXHUyODAyICAgXHUyNThDXCIsXG5cdFx0XHRcIlx1MjU5MCAgICBcdTI4MjAgICBcdTI1OENcIixcblx0XHRcdFwiXHUyNTkwICAgICBcdTI4NDAgIFx1MjU4Q1wiLFxuXHRcdFx0XCJcdTI1OTAgICAgIFx1MjgyMCAgXHUyNThDXCIsXG5cdFx0XHRcIlx1MjU5MCAgICAgIFx1MjgwMiBcdTI1OENcIixcblx0XHRcdFwiXHUyNTkwICAgICAgXHUyODA4IFx1MjU4Q1wiLFxuXHRcdFx0XCJcdTI1OTAgICAgICAgXHUyODAyXHUyNThDXCIsXG5cdFx0XHRcIlx1MjU5MCAgICAgICBcdTI4MjBcdTI1OENcIixcblx0XHRcdFwiXHUyNTkwICAgICAgIFx1Mjg0MFx1MjU4Q1wiLFxuXHRcdFx0XCJcdTI1OTAgICAgICBcdTI4MjAgXHUyNThDXCIsXG5cdFx0XHRcIlx1MjU5MCAgICAgIFx1MjgwMiBcdTI1OENcIixcblx0XHRcdFwiXHUyNTkwICAgICBcdTI4MDggIFx1MjU4Q1wiLFxuXHRcdFx0XCJcdTI1OTAgICAgIFx1MjgwMiAgXHUyNThDXCIsXG5cdFx0XHRcIlx1MjU5MCAgICBcdTI4MjAgICBcdTI1OENcIixcblx0XHRcdFwiXHUyNTkwICAgIFx1Mjg0MCAgIFx1MjU4Q1wiLFxuXHRcdFx0XCJcdTI1OTAgICBcdTI4MjAgICAgXHUyNThDXCIsXG5cdFx0XHRcIlx1MjU5MCAgIFx1MjgwMiAgICBcdTI1OENcIixcblx0XHRcdFwiXHUyNTkwICBcdTI4MDggICAgIFx1MjU4Q1wiLFxuXHRcdFx0XCJcdTI1OTAgIFx1MjgwMiAgICAgXHUyNThDXCIsXG5cdFx0XHRcIlx1MjU5MCBcdTI4MjAgICAgICBcdTI1OENcIixcblx0XHRcdFwiXHUyNTkwIFx1Mjg0MCAgICAgIFx1MjU4Q1wiLFxuXHRcdFx0XCJcdTI1OTBcdTI4MjAgICAgICAgXHUyNThDXCJcblx0XHRdXG5cdH0sXG5cdFwic2hhcmtcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogMTIwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHUyNTkwfFxcXFxfX19fX19fX19fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX3xcXFxcX19fX19fX19fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX198XFxcXF9fX19fX19fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19ffFxcXFxfX19fX19fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX3xcXFxcX19fX19fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX198XFxcXF9fX19fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX19ffFxcXFxfX19fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX19fX3xcXFxcX19fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX19fX198XFxcXF9fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX19fX19ffFxcXFxfX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX19fX19fX3xcXFxcX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX19fX19fX198XFxcXF9cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX19fX19fX19ffFxcXFxcdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX19fX19fX19fL3xcdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX19fX19fX18vfF9cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX19fX19fXy98X19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX19fX19fL3xfX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX19fX18vfF9fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX19fXy98X19fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX19fL3xfX19fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fX18vfF9fX19fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fXy98X19fX19fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX19fL3xfX19fX19fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwX18vfF9fX19fX19fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwXy98X19fX19fX19fX19cdTI1OENcIixcblx0XHRcdFwiXHUyNTkwL3xfX19fX19fX19fX19cdTI1OENcIlxuXHRcdF1cblx0fSxcblx0XCJkcXBiXCI6IHtcblx0XHRcImludGVydmFsXCI6IDEwMCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcImRcIixcblx0XHRcdFwicVwiLFxuXHRcdFx0XCJwXCIsXG5cdFx0XHRcImJcIlxuXHRcdF1cblx0fSxcblx0XCJ3ZWF0aGVyXCI6IHtcblx0XHRcImludGVydmFsXCI6IDEwMCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjYwMFx1RkUwRiBcIixcblx0XHRcdFwiXHUyNjAwXHVGRTBGIFwiLFxuXHRcdFx0XCJcdTI2MDBcdUZFMEYgXCIsXG5cdFx0XHRcIlx1RDgzQ1x1REYyNCBcIixcblx0XHRcdFwiXHUyNkM1XHVGRTBGIFwiLFxuXHRcdFx0XCJcdUQ4M0NcdURGMjUgXCIsXG5cdFx0XHRcIlx1MjYwMVx1RkUwRiBcIixcblx0XHRcdFwiXHVEODNDXHVERjI3IFwiLFxuXHRcdFx0XCJcdUQ4M0NcdURGMjggXCIsXG5cdFx0XHRcIlx1RDgzQ1x1REYyNyBcIixcblx0XHRcdFwiXHVEODNDXHVERjI4IFwiLFxuXHRcdFx0XCJcdUQ4M0NcdURGMjcgXCIsXG5cdFx0XHRcIlx1RDgzQ1x1REYyOCBcIixcblx0XHRcdFwiXHUyNkM4IFwiLFxuXHRcdFx0XCJcdUQ4M0NcdURGMjggXCIsXG5cdFx0XHRcIlx1RDgzQ1x1REYyNyBcIixcblx0XHRcdFwiXHVEODNDXHVERjI4IFwiLFxuXHRcdFx0XCJcdTI2MDFcdUZFMEYgXCIsXG5cdFx0XHRcIlx1RDgzQ1x1REYyNSBcIixcblx0XHRcdFwiXHUyNkM1XHVGRTBGIFwiLFxuXHRcdFx0XCJcdUQ4M0NcdURGMjQgXCIsXG5cdFx0XHRcIlx1MjYwMFx1RkUwRiBcIixcblx0XHRcdFwiXHUyNjAwXHVGRTBGIFwiXG5cdFx0XVxuXHR9LFxuXHRcImNocmlzdG1hc1wiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiA0MDAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdUQ4M0NcdURGMzJcIixcblx0XHRcdFwiXHVEODNDXHVERjg0XCJcblx0XHRdXG5cdH0sXG5cdFwiZ3JlbmFkZVwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiA4MCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MDYwQyAgXCIsXG5cdFx0XHRcIlx1MjAzMiAgXCIsXG5cdFx0XHRcIiBcdTAwQjQgXCIsXG5cdFx0XHRcIiBcdTIwM0UgXCIsXG5cdFx0XHRcIiAgXHUyRTBDXCIsXG5cdFx0XHRcIiAgXHUyRTBBXCIsXG5cdFx0XHRcIiAgfFwiLFxuXHRcdFx0XCIgIFx1MjA0RVwiLFxuXHRcdFx0XCIgIFx1MjA1NVwiLFxuXHRcdFx0XCIgXHUwREY0IFwiLFxuXHRcdFx0XCIgIFx1MjA1M1wiLFxuXHRcdFx0XCIgICBcIixcblx0XHRcdFwiICAgXCIsXG5cdFx0XHRcIiAgIFwiXG5cdFx0XVxuXHR9LFxuXHRcInBvaW50XCI6IHtcblx0XHRcImludGVydmFsXCI6IDEyNSxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjIxOVx1MjIxOVx1MjIxOVwiLFxuXHRcdFx0XCJcdTI1Q0ZcdTIyMTlcdTIyMTlcIixcblx0XHRcdFwiXHUyMjE5XHUyNUNGXHUyMjE5XCIsXG5cdFx0XHRcIlx1MjIxOVx1MjIxOVx1MjVDRlwiLFxuXHRcdFx0XCJcdTIyMTlcdTIyMTlcdTIyMTlcIlxuXHRcdF1cblx0fSxcblx0XCJsYXllclwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxNTAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCItXCIsXG5cdFx0XHRcIj1cIixcblx0XHRcdFwiXHUyMjYxXCJcblx0XHRdXG5cdH0sXG5cdFwiYmV0YVdhdmVcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogODAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdTAzQzFcdTAzQjJcdTAzQjJcdTAzQjJcdTAzQjJcdTAzQjJcdTAzQjJcIixcblx0XHRcdFwiXHUwM0IyXHUwM0MxXHUwM0IyXHUwM0IyXHUwM0IyXHUwM0IyXHUwM0IyXCIsXG5cdFx0XHRcIlx1MDNCMlx1MDNCMlx1MDNDMVx1MDNCMlx1MDNCMlx1MDNCMlx1MDNCMlwiLFxuXHRcdFx0XCJcdTAzQjJcdTAzQjJcdTAzQjJcdTAzQzFcdTAzQjJcdTAzQjJcdTAzQjJcIixcblx0XHRcdFwiXHUwM0IyXHUwM0IyXHUwM0IyXHUwM0IyXHUwM0MxXHUwM0IyXHUwM0IyXCIsXG5cdFx0XHRcIlx1MDNCMlx1MDNCMlx1MDNCMlx1MDNCMlx1MDNCMlx1MDNDMVx1MDNCMlwiLFxuXHRcdFx0XCJcdTAzQjJcdTAzQjJcdTAzQjJcdTAzQjJcdTAzQjJcdTAzQjJcdTAzQzFcIlxuXHRcdF1cblx0fSxcblx0XCJmaW5nZXJEYW5jZVwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxNjAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdUQ4M0VcdUREMTggXCIsXG5cdFx0XHRcIlx1RDgzRVx1REQxRiBcIixcblx0XHRcdFwiXHVEODNEXHVERDk2IFwiLFxuXHRcdFx0XCJcdTI3MEIgXCIsXG5cdFx0XHRcIlx1RDgzRVx1REQxQSBcIixcblx0XHRcdFwiXHVEODNEXHVEQzQ2IFwiXG5cdFx0XVxuXHR9LFxuXHRcImZpc3RCdW1wXCI6IHtcblx0XHRcImludGVydmFsXCI6IDgwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHVEODNFXHVERDFDXFx1MzAwMFxcdTMwMDBcXHUzMDAwXFx1MzAwMFx1RDgzRVx1REQxQiBcIixcblx0XHRcdFwiXHVEODNFXHVERDFDXFx1MzAwMFxcdTMwMDBcXHUzMDAwXFx1MzAwMFx1RDgzRVx1REQxQiBcIixcblx0XHRcdFwiXHVEODNFXHVERDFDXFx1MzAwMFxcdTMwMDBcXHUzMDAwXFx1MzAwMFx1RDgzRVx1REQxQiBcIixcblx0XHRcdFwiXFx1MzAwMFx1RDgzRVx1REQxQ1xcdTMwMDBcXHUzMDAwXHVEODNFXHVERDFCXFx1MzAwMCBcIixcblx0XHRcdFwiXFx1MzAwMFxcdTMwMDBcdUQ4M0VcdUREMUNcdUQ4M0VcdUREMUJcXHUzMDAwXFx1MzAwMCBcIixcblx0XHRcdFwiXFx1MzAwMFx1RDgzRVx1REQxQ1x1MjcyOFx1RDgzRVx1REQxQlxcdTMwMDBcXHUzMDAwIFwiLFxuXHRcdFx0XCJcdUQ4M0VcdUREMUNcXHUzMDAwXHUyNzI4XFx1MzAwMFx1RDgzRVx1REQxQlxcdTMwMDAgXCJcblx0XHRdXG5cdH0sXG5cdFwic29jY2VySGVhZGVyXCI6IHtcblx0XHRcImludGVydmFsXCI6IDgwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiIFx1RDgzRVx1REREMVx1MjZCRFx1RkUwRiAgICAgICBcdUQ4M0VcdURERDEgXCIsXG5cdFx0XHRcIlx1RDgzRVx1REREMSAgXHUyNkJEXHVGRTBGICAgICAgXHVEODNFXHVEREQxIFwiLFxuXHRcdFx0XCJcdUQ4M0VcdURERDEgICBcdTI2QkRcdUZFMEYgICAgIFx1RDgzRVx1REREMSBcIixcblx0XHRcdFwiXHVEODNFXHVEREQxICAgIFx1MjZCRFx1RkUwRiAgICBcdUQ4M0VcdURERDEgXCIsXG5cdFx0XHRcIlx1RDgzRVx1REREMSAgICAgXHUyNkJEXHVGRTBGICAgXHVEODNFXHVEREQxIFwiLFxuXHRcdFx0XCJcdUQ4M0VcdURERDEgICAgICBcdTI2QkRcdUZFMEYgIFx1RDgzRVx1REREMSBcIixcblx0XHRcdFwiXHVEODNFXHVEREQxICAgICAgIFx1MjZCRFx1RkUwRlx1RDgzRVx1REREMSAgXCIsXG5cdFx0XHRcIlx1RDgzRVx1REREMSAgICAgIFx1MjZCRFx1RkUwRiAgXHVEODNFXHVEREQxIFwiLFxuXHRcdFx0XCJcdUQ4M0VcdURERDEgICAgIFx1MjZCRFx1RkUwRiAgIFx1RDgzRVx1REREMSBcIixcblx0XHRcdFwiXHVEODNFXHVEREQxICAgIFx1MjZCRFx1RkUwRiAgICBcdUQ4M0VcdURERDEgXCIsXG5cdFx0XHRcIlx1RDgzRVx1REREMSAgIFx1MjZCRFx1RkUwRiAgICAgXHVEODNFXHVEREQxIFwiLFxuXHRcdFx0XCJcdUQ4M0VcdURERDEgIFx1MjZCRFx1RkUwRiAgICAgIFx1RDgzRVx1REREMSBcIlxuXHRcdF1cblx0fSxcblx0XCJtaW5kYmxvd25cIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogMTYwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHVEODNEXHVERTEwIFwiLFxuXHRcdFx0XCJcdUQ4M0RcdURFMTAgXCIsXG5cdFx0XHRcIlx1RDgzRFx1REUyRSBcIixcblx0XHRcdFwiXHVEODNEXHVERTJFIFwiLFxuXHRcdFx0XCJcdUQ4M0RcdURFMjYgXCIsXG5cdFx0XHRcIlx1RDgzRFx1REUyNiBcIixcblx0XHRcdFwiXHVEODNEXHVERTI3IFwiLFxuXHRcdFx0XCJcdUQ4M0RcdURFMjcgXCIsXG5cdFx0XHRcIlx1RDgzRVx1REQyRiBcIixcblx0XHRcdFwiXHVEODNEXHVEQ0E1IFwiLFxuXHRcdFx0XCJcdTI3MjggXCIsXG5cdFx0XHRcIlxcdTMwMDAgXCIsXG5cdFx0XHRcIlxcdTMwMDAgXCIsXG5cdFx0XHRcIlxcdTMwMDAgXCJcblx0XHRdXG5cdH0sXG5cdFwic3BlYWtlclwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxNjAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdUQ4M0RcdUREMDggXCIsXG5cdFx0XHRcIlx1RDgzRFx1REQwOSBcIixcblx0XHRcdFwiXHVEODNEXHVERDBBIFwiLFxuXHRcdFx0XCJcdUQ4M0RcdUREMDkgXCJcblx0XHRdXG5cdH0sXG5cdFwib3JhbmdlUHVsc2VcIjoge1xuXHRcdFwiaW50ZXJ2YWxcIjogMTAwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiXHVEODNEXHVERDM4IFwiLFxuXHRcdFx0XCJcdUQ4M0RcdUREMzYgXCIsXG5cdFx0XHRcIlx1RDgzRFx1REZFMCBcIixcblx0XHRcdFwiXHVEODNEXHVERkUwIFwiLFxuXHRcdFx0XCJcdUQ4M0RcdUREMzYgXCJcblx0XHRdXG5cdH0sXG5cdFwiYmx1ZVB1bHNlXCI6IHtcblx0XHRcImludGVydmFsXCI6IDEwMCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1RDgzRFx1REQzOSBcIixcblx0XHRcdFwiXHVEODNEXHVERDM3IFwiLFxuXHRcdFx0XCJcdUQ4M0RcdUREMzUgXCIsXG5cdFx0XHRcIlx1RDgzRFx1REQzNSBcIixcblx0XHRcdFwiXHVEODNEXHVERDM3IFwiXG5cdFx0XVxuXHR9LFxuXHRcIm9yYW5nZUJsdWVQdWxzZVwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxMDAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdUQ4M0RcdUREMzggXCIsXG5cdFx0XHRcIlx1RDgzRFx1REQzNiBcIixcblx0XHRcdFwiXHVEODNEXHVERkUwIFwiLFxuXHRcdFx0XCJcdUQ4M0RcdURGRTAgXCIsXG5cdFx0XHRcIlx1RDgzRFx1REQzNiBcIixcblx0XHRcdFwiXHVEODNEXHVERDM5IFwiLFxuXHRcdFx0XCJcdUQ4M0RcdUREMzcgXCIsXG5cdFx0XHRcIlx1RDgzRFx1REQzNSBcIixcblx0XHRcdFwiXHVEODNEXHVERDM1IFwiLFxuXHRcdFx0XCJcdUQ4M0RcdUREMzcgXCJcblx0XHRdXG5cdH0sXG5cdFwidGltZVRyYXZlbFwiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiAxMDAsXG5cdFx0XCJmcmFtZXNcIjogW1xuXHRcdFx0XCJcdUQ4M0RcdURENUIgXCIsXG5cdFx0XHRcIlx1RDgzRFx1REQ1QSBcIixcblx0XHRcdFwiXHVEODNEXHVERDU5IFwiLFxuXHRcdFx0XCJcdUQ4M0RcdURENTggXCIsXG5cdFx0XHRcIlx1RDgzRFx1REQ1NyBcIixcblx0XHRcdFwiXHVEODNEXHVERDU2IFwiLFxuXHRcdFx0XCJcdUQ4M0RcdURENTUgXCIsXG5cdFx0XHRcIlx1RDgzRFx1REQ1NCBcIixcblx0XHRcdFwiXHVEODNEXHVERDUzIFwiLFxuXHRcdFx0XCJcdUQ4M0RcdURENTIgXCIsXG5cdFx0XHRcIlx1RDgzRFx1REQ1MSBcIixcblx0XHRcdFwiXHVEODNEXHVERDUwIFwiXG5cdFx0XVxuXHR9LFxuXHRcImFlc3RoZXRpY1wiOiB7XG5cdFx0XCJpbnRlcnZhbFwiOiA4MCxcblx0XHRcImZyYW1lc1wiOiBbXG5cdFx0XHRcIlx1MjVCMFx1MjVCMVx1MjVCMVx1MjVCMVx1MjVCMVx1MjVCMVx1MjVCMVwiLFxuXHRcdFx0XCJcdTI1QjBcdTI1QjBcdTI1QjFcdTI1QjFcdTI1QjFcdTI1QjFcdTI1QjFcIixcblx0XHRcdFwiXHUyNUIwXHUyNUIwXHUyNUIwXHUyNUIxXHUyNUIxXHUyNUIxXHUyNUIxXCIsXG5cdFx0XHRcIlx1MjVCMFx1MjVCMFx1MjVCMFx1MjVCMFx1MjVCMVx1MjVCMVx1MjVCMVwiLFxuXHRcdFx0XCJcdTI1QjBcdTI1QjBcdTI1QjBcdTI1QjBcdTI1QjBcdTI1QjFcdTI1QjFcIixcblx0XHRcdFwiXHUyNUIwXHUyNUIwXHUyNUIwXHUyNUIwXHUyNUIwXHUyNUIwXHUyNUIxXCIsXG5cdFx0XHRcIlx1MjVCMFx1MjVCMFx1MjVCMFx1MjVCMFx1MjVCMFx1MjVCMFx1MjVCMFwiLFxuXHRcdFx0XCJcdTI1QjBcdTI1QjFcdTI1QjFcdTI1QjFcdTI1QjFcdTI1QjFcdTI1QjFcIlxuXHRcdF1cblx0fSxcblx0XCJkd2FyZkZvcnRyZXNzXCI6IHtcblx0XHRcImludGVydmFsXCI6IDgwLFxuXHRcdFwiZnJhbWVzXCI6IFtcblx0XHRcdFwiIFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIlx1MjYzQVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIlx1MjYzQVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIlx1MjYzQVx1MjU5M1x1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIlx1MjYzQVx1MjU5M1x1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIlx1MjYzQVx1MjU5Mlx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIlx1MjYzQVx1MjU5Mlx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIlx1MjYzQVx1MjU5MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIlx1MjYzQVx1MjU5MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIlx1MjYzQSBcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgXHUyNjNBXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiIFx1MjYzQVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiBcdTI2M0FcdTI1OTNcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgXHUyNjNBXHUyNTkzXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiIFx1MjYzQVx1MjU5Mlx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiBcdTI2M0FcdTI1OTJcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgXHUyNjNBXHUyNTkxXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiIFx1MjYzQVx1MjU5MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiBcdTI2M0EgXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiICBcdTI2M0FcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgIFx1MjYzQVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgXHUyNjNBXHUyNTkzXHUyNTg4XHUyNTg4XHUyNTg4XHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiICBcdTI2M0FcdTI1OTNcdTI1ODhcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgIFx1MjYzQVx1MjU5Mlx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgXHUyNjNBXHUyNTkyXHUyNTg4XHUyNTg4XHUyNTg4XHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiICBcdTI2M0FcdTI1OTFcdTI1ODhcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgIFx1MjYzQVx1MjU5MVx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgXHUyNjNBIFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgIFx1MjYzQVx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgIFx1MjYzQVx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgIFx1MjYzQVx1MjU5M1x1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgIFx1MjYzQVx1MjU5M1x1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgIFx1MjYzQVx1MjU5Mlx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgIFx1MjYzQVx1MjU5Mlx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgIFx1MjYzQVx1MjU5MVx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgIFx1MjYzQVx1MjU5MVx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgIFx1MjYzQSBcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgXHUyNjNBXHUyNTg4XHUyNTg4XHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiICAgIFx1MjYzQVx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICBcdTI2M0FcdTI1OTNcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgXHUyNjNBXHUyNTkzXHUyNTg4XHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiICAgIFx1MjYzQVx1MjU5Mlx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICBcdTI2M0FcdTI1OTJcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgXHUyNjNBXHUyNTkxXHUyNTg4XHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiICAgIFx1MjYzQVx1MjU5MVx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICBcdTI2M0EgXHUyNTg4XHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiICAgICBcdTI2M0FcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgIFx1MjYzQVx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgXHUyNjNBXHUyNTkzXHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiICAgICBcdTI2M0FcdTI1OTNcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgIFx1MjYzQVx1MjU5Mlx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgXHUyNjNBXHUyNTkyXHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiICAgICBcdTI2M0FcdTI1OTFcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgIFx1MjYzQVx1MjU5MVx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgXHUyNjNBIFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgIFx1MjYzQVx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgIFx1MjYzQVx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgIFx1MjYzQVx1MjU5M1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgIFx1MjYzQVx1MjU5M1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgIFx1MjYzQVx1MjU5Mlx1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgIFx1MjYzQVx1MjU5Mlx1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgIFx1MjYzQVx1MjU5MVx1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgIFx1MjYzQVx1MjU5MVx1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgIFx1MjYzQSBcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgICAgXHUyNjNBXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiICAgICAgIFx1MjYzQVx1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgICBcdTI2M0FcdTI1OTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgICAgXHUyNjNBXHUyNTkzXHUwMEEzICBcIixcblx0XHRcdFwiICAgICAgIFx1MjYzQVx1MjU5Mlx1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgICBcdTI2M0FcdTI1OTJcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgICAgXHUyNjNBXHUyNTkxXHUwMEEzICBcIixcblx0XHRcdFwiICAgICAgIFx1MjYzQVx1MjU5MVx1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgICBcdTI2M0EgXHUwMEEzICBcIixcblx0XHRcdFwiICAgICAgICBcdTI2M0FcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgICAgIFx1MjYzQVx1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgICAgXHUyNjNBXHUyNTkzICBcIixcblx0XHRcdFwiICAgICAgICBcdTI2M0FcdTI1OTMgIFwiLFxuXHRcdFx0XCIgICAgICAgIFx1MjYzQVx1MjU5MiAgXCIsXG5cdFx0XHRcIiAgICAgICAgXHUyNjNBXHUyNTkyICBcIixcblx0XHRcdFwiICAgICAgICBcdTI2M0FcdTI1OTEgIFwiLFxuXHRcdFx0XCIgICAgICAgIFx1MjYzQVx1MjU5MSAgXCIsXG5cdFx0XHRcIiAgICAgICAgXHUyNjNBICAgXCIsXG5cdFx0XHRcIiAgICAgICAgXHUyNjNBICAmXCIsXG5cdFx0XHRcIiAgICAgICAgXHUyNjNBIFx1MjYzQyZcIixcblx0XHRcdFwiICAgICAgIFx1MjYzQSBcdTI2M0MgJlwiLFxuXHRcdFx0XCIgICAgICAgXHUyNjNBXHUyNjNDICAmXCIsXG5cdFx0XHRcIiAgICAgIFx1MjYzQVx1MjYzQyAgJiBcIixcblx0XHRcdFwiICAgICAgXHUyMDNDICAgJiBcIixcblx0XHRcdFwiICAgICBcdTI2M0EgICAmICBcIixcblx0XHRcdFwiICAgIFx1MjAzQyAgICAmICBcIixcblx0XHRcdFwiICAgXHUyNjNBICAgICYgICBcIixcblx0XHRcdFwiICBcdTIwM0MgICAgICYgICBcIixcblx0XHRcdFwiIFx1MjYzQSAgICAgJiAgICBcIixcblx0XHRcdFwiXHUyMDNDICAgICAgJiAgICBcIixcblx0XHRcdFwiICAgICAgJiAgICAgXCIsXG5cdFx0XHRcIiAgICAgICYgICAgIFwiLFxuXHRcdFx0XCIgICAgICYgICBcdTI1OTEgIFwiLFxuXHRcdFx0XCIgICAgICYgICBcdTI1OTIgIFwiLFxuXHRcdFx0XCIgICAgJiAgICBcdTI1OTMgIFwiLFxuXHRcdFx0XCIgICAgJiAgICBcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAmICAgIFx1MjU5MVx1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICYgICAgXHUyNTkyXHUwMEEzICBcIixcblx0XHRcdFwiICAmICAgICBcdTI1OTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICYgICAgIFx1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAmICAgICBcdTI1OTFcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgJiAgICAgXHUyNTkyXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiJiAgICAgIFx1MjU5M1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiYgICAgICBcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgICBcdTI1OTFcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgICBcdTI1OTJcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgICBcdTI1OTNcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgICBcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgIFx1MjU5MVx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICAgXHUyNTkyXHUyNTg4XHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiICAgICBcdTI1OTNcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgIFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICBcdTI1OTFcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICAgXHUyNTkyXHUyNTg4XHUyNTg4XHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiICAgIFx1MjU5M1x1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgICBcdTI1ODhcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICBcdTI1OTFcdTI1ODhcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICBcdTI1OTJcdTI1ODhcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICBcdTI1OTNcdTI1ODhcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgICBcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgIFx1MjU5MVx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiAgXHUyNTkyXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiICBcdTI1OTNcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgIFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiBcdTI1OTFcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgXHUyNTkyXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUwMEEzXHUwMEEzXHUwMEEzICBcIixcblx0XHRcdFwiIFx1MjU5M1x1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MjU4OFx1MDBBM1x1MDBBM1x1MDBBMyAgXCIsXG5cdFx0XHRcIiBcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTI1ODhcdTAwQTNcdTAwQTNcdTAwQTMgIFwiLFxuXHRcdFx0XCIgXHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUyNTg4XHUwMEEzXHUwMEEzXHUwMEEzICBcIlxuXHRcdF1cblx0fVxufVxuIiwgIid1c2Ugc3RyaWN0JztcblxuY29uc3Qgc3Bpbm5lcnMgPSBPYmplY3QuYXNzaWduKHt9LCByZXF1aXJlKCcuL3NwaW5uZXJzLmpzb24nKSk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgaW1wb3J0L2V4dGVuc2lvbnNcblxuY29uc3Qgc3Bpbm5lcnNMaXN0ID0gT2JqZWN0LmtleXMoc3Bpbm5lcnMpO1xuXG5PYmplY3QuZGVmaW5lUHJvcGVydHkoc3Bpbm5lcnMsICdyYW5kb20nLCB7XG5cdGdldCgpIHtcblx0XHRjb25zdCByYW5kb21JbmRleCA9IE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIHNwaW5uZXJzTGlzdC5sZW5ndGgpO1xuXHRcdGNvbnN0IHNwaW5uZXJOYW1lID0gc3Bpbm5lcnNMaXN0W3JhbmRvbUluZGV4XTtcblx0XHRyZXR1cm4gc3Bpbm5lcnNbc3Bpbm5lck5hbWVdO1xuXHR9XG59KTtcblxubW9kdWxlLmV4cG9ydHMgPSBzcGlubmVycztcbiIsICIndXNlIHN0cmljdCc7XG5cbm1vZHVsZS5leHBvcnRzID0gKCkgPT4ge1xuXHRpZiAocHJvY2Vzcy5wbGF0Zm9ybSAhPT0gJ3dpbjMyJykge1xuXHRcdHJldHVybiB0cnVlO1xuXHR9XG5cblx0cmV0dXJuIEJvb2xlYW4ocHJvY2Vzcy5lbnYuQ0kpIHx8XG5cdFx0Qm9vbGVhbihwcm9jZXNzLmVudi5XVF9TRVNTSU9OKSB8fCAvLyBXaW5kb3dzIFRlcm1pbmFsXG5cdFx0cHJvY2Vzcy5lbnYuVEVSTV9QUk9HUkFNID09PSAndnNjb2RlJyB8fFxuXHRcdHByb2Nlc3MuZW52LlRFUk0gPT09ICd4dGVybS0yNTZjb2xvcicgfHxcblx0XHRwcm9jZXNzLmVudi5URVJNID09PSAnYWxhY3JpdHR5Jztcbn07XG4iLCAiJ3VzZSBzdHJpY3QnO1xuY29uc3QgY2hhbGsgPSByZXF1aXJlKCdjaGFsaycpO1xuY29uc3QgaXNVbmljb2RlU3VwcG9ydGVkID0gcmVxdWlyZSgnaXMtdW5pY29kZS1zdXBwb3J0ZWQnKTtcblxuY29uc3QgbWFpbiA9IHtcblx0aW5mbzogY2hhbGsuYmx1ZSgnXHUyMTM5JyksXG5cdHN1Y2Nlc3M6IGNoYWxrLmdyZWVuKCdcdTI3MTQnKSxcblx0d2FybmluZzogY2hhbGsueWVsbG93KCdcdTI2QTAnKSxcblx0ZXJyb3I6IGNoYWxrLnJlZCgnXHUyNzE2Jylcbn07XG5cbmNvbnN0IGZhbGxiYWNrID0ge1xuXHRpbmZvOiBjaGFsay5ibHVlKCdpJyksXG5cdHN1Y2Nlc3M6IGNoYWxrLmdyZWVuKCdcdTIyMUEnKSxcblx0d2FybmluZzogY2hhbGsueWVsbG93KCdcdTIwM0MnKSxcblx0ZXJyb3I6IGNoYWxrLnJlZCgnXHUwMEQ3Jylcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gaXNVbmljb2RlU3VwcG9ydGVkKCkgPyBtYWluIDogZmFsbGJhY2s7XG4iLCAidmFyIGNsb25lID0gKGZ1bmN0aW9uKCkge1xuJ3VzZSBzdHJpY3QnO1xuXG4vKipcbiAqIENsb25lcyAoY29waWVzKSBhbiBPYmplY3QgdXNpbmcgZGVlcCBjb3B5aW5nLlxuICpcbiAqIFRoaXMgZnVuY3Rpb24gc3VwcG9ydHMgY2lyY3VsYXIgcmVmZXJlbmNlcyBieSBkZWZhdWx0LCBidXQgaWYgeW91IGFyZSBjZXJ0YWluXG4gKiB0aGVyZSBhcmUgbm8gY2lyY3VsYXIgcmVmZXJlbmNlcyBpbiB5b3VyIG9iamVjdCwgeW91IGNhbiBzYXZlIHNvbWUgQ1BVIHRpbWVcbiAqIGJ5IGNhbGxpbmcgY2xvbmUob2JqLCBmYWxzZSkuXG4gKlxuICogQ2F1dGlvbjogaWYgYGNpcmN1bGFyYCBpcyBmYWxzZSBhbmQgYHBhcmVudGAgY29udGFpbnMgY2lyY3VsYXIgcmVmZXJlbmNlcyxcbiAqIHlvdXIgcHJvZ3JhbSBtYXkgZW50ZXIgYW4gaW5maW5pdGUgbG9vcCBhbmQgY3Jhc2guXG4gKlxuICogQHBhcmFtIGBwYXJlbnRgIC0gdGhlIG9iamVjdCB0byBiZSBjbG9uZWRcbiAqIEBwYXJhbSBgY2lyY3VsYXJgIC0gc2V0IHRvIHRydWUgaWYgdGhlIG9iamVjdCB0byBiZSBjbG9uZWQgbWF5IGNvbnRhaW5cbiAqICAgIGNpcmN1bGFyIHJlZmVyZW5jZXMuIChvcHRpb25hbCAtIHRydWUgYnkgZGVmYXVsdClcbiAqIEBwYXJhbSBgZGVwdGhgIC0gc2V0IHRvIGEgbnVtYmVyIGlmIHRoZSBvYmplY3QgaXMgb25seSB0byBiZSBjbG9uZWQgdG9cbiAqICAgIGEgcGFydGljdWxhciBkZXB0aC4gKG9wdGlvbmFsIC0gZGVmYXVsdHMgdG8gSW5maW5pdHkpXG4gKiBAcGFyYW0gYHByb3RvdHlwZWAgLSBzZXRzIHRoZSBwcm90b3R5cGUgdG8gYmUgdXNlZCB3aGVuIGNsb25pbmcgYW4gb2JqZWN0LlxuICogICAgKG9wdGlvbmFsIC0gZGVmYXVsdHMgdG8gcGFyZW50IHByb3RvdHlwZSkuXG4qL1xuZnVuY3Rpb24gY2xvbmUocGFyZW50LCBjaXJjdWxhciwgZGVwdGgsIHByb3RvdHlwZSkge1xuICB2YXIgZmlsdGVyO1xuICBpZiAodHlwZW9mIGNpcmN1bGFyID09PSAnb2JqZWN0Jykge1xuICAgIGRlcHRoID0gY2lyY3VsYXIuZGVwdGg7XG4gICAgcHJvdG90eXBlID0gY2lyY3VsYXIucHJvdG90eXBlO1xuICAgIGZpbHRlciA9IGNpcmN1bGFyLmZpbHRlcjtcbiAgICBjaXJjdWxhciA9IGNpcmN1bGFyLmNpcmN1bGFyXG4gIH1cbiAgLy8gbWFpbnRhaW4gdHdvIGFycmF5cyBmb3IgY2lyY3VsYXIgcmVmZXJlbmNlcywgd2hlcmUgY29ycmVzcG9uZGluZyBwYXJlbnRzXG4gIC8vIGFuZCBjaGlsZHJlbiBoYXZlIHRoZSBzYW1lIGluZGV4XG4gIHZhciBhbGxQYXJlbnRzID0gW107XG4gIHZhciBhbGxDaGlsZHJlbiA9IFtdO1xuXG4gIHZhciB1c2VCdWZmZXIgPSB0eXBlb2YgQnVmZmVyICE9ICd1bmRlZmluZWQnO1xuXG4gIGlmICh0eXBlb2YgY2lyY3VsYXIgPT0gJ3VuZGVmaW5lZCcpXG4gICAgY2lyY3VsYXIgPSB0cnVlO1xuXG4gIGlmICh0eXBlb2YgZGVwdGggPT0gJ3VuZGVmaW5lZCcpXG4gICAgZGVwdGggPSBJbmZpbml0eTtcblxuICAvLyByZWN1cnNlIHRoaXMgZnVuY3Rpb24gc28gd2UgZG9uJ3QgcmVzZXQgYWxsUGFyZW50cyBhbmQgYWxsQ2hpbGRyZW5cbiAgZnVuY3Rpb24gX2Nsb25lKHBhcmVudCwgZGVwdGgpIHtcbiAgICAvLyBjbG9uaW5nIG51bGwgYWx3YXlzIHJldHVybnMgbnVsbFxuICAgIGlmIChwYXJlbnQgPT09IG51bGwpXG4gICAgICByZXR1cm4gbnVsbDtcblxuICAgIGlmIChkZXB0aCA9PSAwKVxuICAgICAgcmV0dXJuIHBhcmVudDtcblxuICAgIHZhciBjaGlsZDtcbiAgICB2YXIgcHJvdG87XG4gICAgaWYgKHR5cGVvZiBwYXJlbnQgIT0gJ29iamVjdCcpIHtcbiAgICAgIHJldHVybiBwYXJlbnQ7XG4gICAgfVxuXG4gICAgaWYgKGNsb25lLl9faXNBcnJheShwYXJlbnQpKSB7XG4gICAgICBjaGlsZCA9IFtdO1xuICAgIH0gZWxzZSBpZiAoY2xvbmUuX19pc1JlZ0V4cChwYXJlbnQpKSB7XG4gICAgICBjaGlsZCA9IG5ldyBSZWdFeHAocGFyZW50LnNvdXJjZSwgX19nZXRSZWdFeHBGbGFncyhwYXJlbnQpKTtcbiAgICAgIGlmIChwYXJlbnQubGFzdEluZGV4KSBjaGlsZC5sYXN0SW5kZXggPSBwYXJlbnQubGFzdEluZGV4O1xuICAgIH0gZWxzZSBpZiAoY2xvbmUuX19pc0RhdGUocGFyZW50KSkge1xuICAgICAgY2hpbGQgPSBuZXcgRGF0ZShwYXJlbnQuZ2V0VGltZSgpKTtcbiAgICB9IGVsc2UgaWYgKHVzZUJ1ZmZlciAmJiBCdWZmZXIuaXNCdWZmZXIocGFyZW50KSkge1xuICAgICAgaWYgKEJ1ZmZlci5hbGxvY1Vuc2FmZSkge1xuICAgICAgICAvLyBOb2RlLmpzID49IDQuNS4wXG4gICAgICAgIGNoaWxkID0gQnVmZmVyLmFsbG9jVW5zYWZlKHBhcmVudC5sZW5ndGgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gT2xkZXIgTm9kZS5qcyB2ZXJzaW9uc1xuICAgICAgICBjaGlsZCA9IG5ldyBCdWZmZXIocGFyZW50Lmxlbmd0aCk7XG4gICAgICB9XG4gICAgICBwYXJlbnQuY29weShjaGlsZCk7XG4gICAgICByZXR1cm4gY2hpbGQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0eXBlb2YgcHJvdG90eXBlID09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHByb3RvID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHBhcmVudCk7XG4gICAgICAgIGNoaWxkID0gT2JqZWN0LmNyZWF0ZShwcm90byk7XG4gICAgICB9XG4gICAgICBlbHNlIHtcbiAgICAgICAgY2hpbGQgPSBPYmplY3QuY3JlYXRlKHByb3RvdHlwZSk7XG4gICAgICAgIHByb3RvID0gcHJvdG90eXBlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChjaXJjdWxhcikge1xuICAgICAgdmFyIGluZGV4ID0gYWxsUGFyZW50cy5pbmRleE9mKHBhcmVudCk7XG5cbiAgICAgIGlmIChpbmRleCAhPSAtMSkge1xuICAgICAgICByZXR1cm4gYWxsQ2hpbGRyZW5baW5kZXhdO1xuICAgICAgfVxuICAgICAgYWxsUGFyZW50cy5wdXNoKHBhcmVudCk7XG4gICAgICBhbGxDaGlsZHJlbi5wdXNoKGNoaWxkKTtcbiAgICB9XG5cbiAgICBmb3IgKHZhciBpIGluIHBhcmVudCkge1xuICAgICAgdmFyIGF0dHJzO1xuICAgICAgaWYgKHByb3RvKSB7XG4gICAgICAgIGF0dHJzID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihwcm90bywgaSk7XG4gICAgICB9XG5cbiAgICAgIGlmIChhdHRycyAmJiBhdHRycy5zZXQgPT0gbnVsbCkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNoaWxkW2ldID0gX2Nsb25lKHBhcmVudFtpXSwgZGVwdGggLSAxKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2hpbGQ7XG4gIH1cblxuICByZXR1cm4gX2Nsb25lKHBhcmVudCwgZGVwdGgpO1xufVxuXG4vKipcbiAqIFNpbXBsZSBmbGF0IGNsb25lIHVzaW5nIHByb3RvdHlwZSwgYWNjZXB0cyBvbmx5IG9iamVjdHMsIHVzZWZ1bGwgZm9yIHByb3BlcnR5XG4gKiBvdmVycmlkZSBvbiBGTEFUIGNvbmZpZ3VyYXRpb24gb2JqZWN0IChubyBuZXN0ZWQgcHJvcHMpLlxuICpcbiAqIFVTRSBXSVRIIENBVVRJT04hIFRoaXMgbWF5IG5vdCBiZWhhdmUgYXMgeW91IHdpc2ggaWYgeW91IGRvIG5vdCBrbm93IGhvdyB0aGlzXG4gKiB3b3Jrcy5cbiAqL1xuY2xvbmUuY2xvbmVQcm90b3R5cGUgPSBmdW5jdGlvbiBjbG9uZVByb3RvdHlwZShwYXJlbnQpIHtcbiAgaWYgKHBhcmVudCA9PT0gbnVsbClcbiAgICByZXR1cm4gbnVsbDtcblxuICB2YXIgYyA9IGZ1bmN0aW9uICgpIHt9O1xuICBjLnByb3RvdHlwZSA9IHBhcmVudDtcbiAgcmV0dXJuIG5ldyBjKCk7XG59O1xuXG4vLyBwcml2YXRlIHV0aWxpdHkgZnVuY3Rpb25zXG5cbmZ1bmN0aW9uIF9fb2JqVG9TdHIobykge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pO1xufTtcbmNsb25lLl9fb2JqVG9TdHIgPSBfX29ialRvU3RyO1xuXG5mdW5jdGlvbiBfX2lzRGF0ZShvKSB7XG4gIHJldHVybiB0eXBlb2YgbyA9PT0gJ29iamVjdCcgJiYgX19vYmpUb1N0cihvKSA9PT0gJ1tvYmplY3QgRGF0ZV0nO1xufTtcbmNsb25lLl9faXNEYXRlID0gX19pc0RhdGU7XG5cbmZ1bmN0aW9uIF9faXNBcnJheShvKSB7XG4gIHJldHVybiB0eXBlb2YgbyA9PT0gJ29iamVjdCcgJiYgX19vYmpUb1N0cihvKSA9PT0gJ1tvYmplY3QgQXJyYXldJztcbn07XG5jbG9uZS5fX2lzQXJyYXkgPSBfX2lzQXJyYXk7XG5cbmZ1bmN0aW9uIF9faXNSZWdFeHAobykge1xuICByZXR1cm4gdHlwZW9mIG8gPT09ICdvYmplY3QnICYmIF9fb2JqVG9TdHIobykgPT09ICdbb2JqZWN0IFJlZ0V4cF0nO1xufTtcbmNsb25lLl9faXNSZWdFeHAgPSBfX2lzUmVnRXhwO1xuXG5mdW5jdGlvbiBfX2dldFJlZ0V4cEZsYWdzKHJlKSB7XG4gIHZhciBmbGFncyA9ICcnO1xuICBpZiAocmUuZ2xvYmFsKSBmbGFncyArPSAnZyc7XG4gIGlmIChyZS5pZ25vcmVDYXNlKSBmbGFncyArPSAnaSc7XG4gIGlmIChyZS5tdWx0aWxpbmUpIGZsYWdzICs9ICdtJztcbiAgcmV0dXJuIGZsYWdzO1xufTtcbmNsb25lLl9fZ2V0UmVnRXhwRmxhZ3MgPSBfX2dldFJlZ0V4cEZsYWdzO1xuXG5yZXR1cm4gY2xvbmU7XG59KSgpO1xuXG5pZiAodHlwZW9mIG1vZHVsZSA9PT0gJ29iamVjdCcgJiYgbW9kdWxlLmV4cG9ydHMpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBjbG9uZTtcbn1cbiIsICJ2YXIgY2xvbmUgPSByZXF1aXJlKCdjbG9uZScpO1xuXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKG9wdGlvbnMsIGRlZmF1bHRzKSB7XG4gIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXG4gIE9iamVjdC5rZXlzKGRlZmF1bHRzKS5mb3JFYWNoKGZ1bmN0aW9uKGtleSkge1xuICAgIGlmICh0eXBlb2Ygb3B0aW9uc1trZXldID09PSAndW5kZWZpbmVkJykge1xuICAgICAgb3B0aW9uc1trZXldID0gY2xvbmUoZGVmYXVsdHNba2V5XSk7XG4gICAgfVxuICB9KTtcblxuICByZXR1cm4gb3B0aW9ucztcbn07IiwgIm1vZHVsZS5leHBvcnRzID0gW1xuICAgIFsgMHgwMzAwLCAweDAzNkYgXSwgWyAweDA0ODMsIDB4MDQ4NiBdLCBbIDB4MDQ4OCwgMHgwNDg5IF0sXG4gICAgWyAweDA1OTEsIDB4MDVCRCBdLCBbIDB4MDVCRiwgMHgwNUJGIF0sIFsgMHgwNUMxLCAweDA1QzIgXSxcbiAgICBbIDB4MDVDNCwgMHgwNUM1IF0sIFsgMHgwNUM3LCAweDA1QzcgXSwgWyAweDA2MDAsIDB4MDYwMyBdLFxuICAgIFsgMHgwNjEwLCAweDA2MTUgXSwgWyAweDA2NEIsIDB4MDY1RSBdLCBbIDB4MDY3MCwgMHgwNjcwIF0sXG4gICAgWyAweDA2RDYsIDB4MDZFNCBdLCBbIDB4MDZFNywgMHgwNkU4IF0sIFsgMHgwNkVBLCAweDA2RUQgXSxcbiAgICBbIDB4MDcwRiwgMHgwNzBGIF0sIFsgMHgwNzExLCAweDA3MTEgXSwgWyAweDA3MzAsIDB4MDc0QSBdLFxuICAgIFsgMHgwN0E2LCAweDA3QjAgXSwgWyAweDA3RUIsIDB4MDdGMyBdLCBbIDB4MDkwMSwgMHgwOTAyIF0sXG4gICAgWyAweDA5M0MsIDB4MDkzQyBdLCBbIDB4MDk0MSwgMHgwOTQ4IF0sIFsgMHgwOTRELCAweDA5NEQgXSxcbiAgICBbIDB4MDk1MSwgMHgwOTU0IF0sIFsgMHgwOTYyLCAweDA5NjMgXSwgWyAweDA5ODEsIDB4MDk4MSBdLFxuICAgIFsgMHgwOUJDLCAweDA5QkMgXSwgWyAweDA5QzEsIDB4MDlDNCBdLCBbIDB4MDlDRCwgMHgwOUNEIF0sXG4gICAgWyAweDA5RTIsIDB4MDlFMyBdLCBbIDB4MEEwMSwgMHgwQTAyIF0sIFsgMHgwQTNDLCAweDBBM0MgXSxcbiAgICBbIDB4MEE0MSwgMHgwQTQyIF0sIFsgMHgwQTQ3LCAweDBBNDggXSwgWyAweDBBNEIsIDB4MEE0RCBdLFxuICAgIFsgMHgwQTcwLCAweDBBNzEgXSwgWyAweDBBODEsIDB4MEE4MiBdLCBbIDB4MEFCQywgMHgwQUJDIF0sXG4gICAgWyAweDBBQzEsIDB4MEFDNSBdLCBbIDB4MEFDNywgMHgwQUM4IF0sIFsgMHgwQUNELCAweDBBQ0QgXSxcbiAgICBbIDB4MEFFMiwgMHgwQUUzIF0sIFsgMHgwQjAxLCAweDBCMDEgXSwgWyAweDBCM0MsIDB4MEIzQyBdLFxuICAgIFsgMHgwQjNGLCAweDBCM0YgXSwgWyAweDBCNDEsIDB4MEI0MyBdLCBbIDB4MEI0RCwgMHgwQjREIF0sXG4gICAgWyAweDBCNTYsIDB4MEI1NiBdLCBbIDB4MEI4MiwgMHgwQjgyIF0sIFsgMHgwQkMwLCAweDBCQzAgXSxcbiAgICBbIDB4MEJDRCwgMHgwQkNEIF0sIFsgMHgwQzNFLCAweDBDNDAgXSwgWyAweDBDNDYsIDB4MEM0OCBdLFxuICAgIFsgMHgwQzRBLCAweDBDNEQgXSwgWyAweDBDNTUsIDB4MEM1NiBdLCBbIDB4MENCQywgMHgwQ0JDIF0sXG4gICAgWyAweDBDQkYsIDB4MENCRiBdLCBbIDB4MENDNiwgMHgwQ0M2IF0sIFsgMHgwQ0NDLCAweDBDQ0QgXSxcbiAgICBbIDB4MENFMiwgMHgwQ0UzIF0sIFsgMHgwRDQxLCAweDBENDMgXSwgWyAweDBENEQsIDB4MEQ0RCBdLFxuICAgIFsgMHgwRENBLCAweDBEQ0EgXSwgWyAweDBERDIsIDB4MERENCBdLCBbIDB4MERENiwgMHgwREQ2IF0sXG4gICAgWyAweDBFMzEsIDB4MEUzMSBdLCBbIDB4MEUzNCwgMHgwRTNBIF0sIFsgMHgwRTQ3LCAweDBFNEUgXSxcbiAgICBbIDB4MEVCMSwgMHgwRUIxIF0sIFsgMHgwRUI0LCAweDBFQjkgXSwgWyAweDBFQkIsIDB4MEVCQyBdLFxuICAgIFsgMHgwRUM4LCAweDBFQ0QgXSwgWyAweDBGMTgsIDB4MEYxOSBdLCBbIDB4MEYzNSwgMHgwRjM1IF0sXG4gICAgWyAweDBGMzcsIDB4MEYzNyBdLCBbIDB4MEYzOSwgMHgwRjM5IF0sIFsgMHgwRjcxLCAweDBGN0UgXSxcbiAgICBbIDB4MEY4MCwgMHgwRjg0IF0sIFsgMHgwRjg2LCAweDBGODcgXSwgWyAweDBGOTAsIDB4MEY5NyBdLFxuICAgIFsgMHgwRjk5LCAweDBGQkMgXSwgWyAweDBGQzYsIDB4MEZDNiBdLCBbIDB4MTAyRCwgMHgxMDMwIF0sXG4gICAgWyAweDEwMzIsIDB4MTAzMiBdLCBbIDB4MTAzNiwgMHgxMDM3IF0sIFsgMHgxMDM5LCAweDEwMzkgXSxcbiAgICBbIDB4MTA1OCwgMHgxMDU5IF0sIFsgMHgxMTYwLCAweDExRkYgXSwgWyAweDEzNUYsIDB4MTM1RiBdLFxuICAgIFsgMHgxNzEyLCAweDE3MTQgXSwgWyAweDE3MzIsIDB4MTczNCBdLCBbIDB4MTc1MiwgMHgxNzUzIF0sXG4gICAgWyAweDE3NzIsIDB4MTc3MyBdLCBbIDB4MTdCNCwgMHgxN0I1IF0sIFsgMHgxN0I3LCAweDE3QkQgXSxcbiAgICBbIDB4MTdDNiwgMHgxN0M2IF0sIFsgMHgxN0M5LCAweDE3RDMgXSwgWyAweDE3REQsIDB4MTdERCBdLFxuICAgIFsgMHgxODBCLCAweDE4MEQgXSwgWyAweDE4QTksIDB4MThBOSBdLCBbIDB4MTkyMCwgMHgxOTIyIF0sXG4gICAgWyAweDE5MjcsIDB4MTkyOCBdLCBbIDB4MTkzMiwgMHgxOTMyIF0sIFsgMHgxOTM5LCAweDE5M0IgXSxcbiAgICBbIDB4MUExNywgMHgxQTE4IF0sIFsgMHgxQjAwLCAweDFCMDMgXSwgWyAweDFCMzQsIDB4MUIzNCBdLFxuICAgIFsgMHgxQjM2LCAweDFCM0EgXSwgWyAweDFCM0MsIDB4MUIzQyBdLCBbIDB4MUI0MiwgMHgxQjQyIF0sXG4gICAgWyAweDFCNkIsIDB4MUI3MyBdLCBbIDB4MURDMCwgMHgxRENBIF0sIFsgMHgxREZFLCAweDFERkYgXSxcbiAgICBbIDB4MjAwQiwgMHgyMDBGIF0sIFsgMHgyMDJBLCAweDIwMkUgXSwgWyAweDIwNjAsIDB4MjA2MyBdLFxuICAgIFsgMHgyMDZBLCAweDIwNkYgXSwgWyAweDIwRDAsIDB4MjBFRiBdLCBbIDB4MzAyQSwgMHgzMDJGIF0sXG4gICAgWyAweDMwOTksIDB4MzA5QSBdLCBbIDB4QTgwNiwgMHhBODA2IF0sIFsgMHhBODBCLCAweEE4MEIgXSxcbiAgICBbIDB4QTgyNSwgMHhBODI2IF0sIFsgMHhGQjFFLCAweEZCMUUgXSwgWyAweEZFMDAsIDB4RkUwRiBdLFxuICAgIFsgMHhGRTIwLCAweEZFMjMgXSwgWyAweEZFRkYsIDB4RkVGRiBdLCBbIDB4RkZGOSwgMHhGRkZCIF0sXG4gICAgWyAweDEwQTAxLCAweDEwQTAzIF0sIFsgMHgxMEEwNSwgMHgxMEEwNiBdLCBbIDB4MTBBMEMsIDB4MTBBMEYgXSxcbiAgICBbIDB4MTBBMzgsIDB4MTBBM0EgXSwgWyAweDEwQTNGLCAweDEwQTNGIF0sIFsgMHgxRDE2NywgMHgxRDE2OSBdLFxuICAgIFsgMHgxRDE3MywgMHgxRDE4MiBdLCBbIDB4MUQxODUsIDB4MUQxOEIgXSwgWyAweDFEMUFBLCAweDFEMUFEIF0sXG4gICAgWyAweDFEMjQyLCAweDFEMjQ0IF0sIFsgMHhFMDAwMSwgMHhFMDAwMSBdLCBbIDB4RTAwMjAsIDB4RTAwN0YgXSxcbiAgICBbIDB4RTAxMDAsIDB4RTAxRUYgXVxuXVxuIiwgIlwidXNlIHN0cmljdFwiXG5cbnZhciBkZWZhdWx0cyA9IHJlcXVpcmUoJ2RlZmF1bHRzJylcbnZhciBjb21iaW5pbmcgPSByZXF1aXJlKCcuL2NvbWJpbmluZycpXG5cbnZhciBERUZBVUxUUyA9IHtcbiAgbnVsOiAwLFxuICBjb250cm9sOiAwXG59XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gd2N3aWR0aChzdHIpIHtcbiAgcmV0dXJuIHdjc3dpZHRoKHN0ciwgREVGQVVMVFMpXG59XG5cbm1vZHVsZS5leHBvcnRzLmNvbmZpZyA9IGZ1bmN0aW9uKG9wdHMpIHtcbiAgb3B0cyA9IGRlZmF1bHRzKG9wdHMgfHwge30sIERFRkFVTFRTKVxuICByZXR1cm4gZnVuY3Rpb24gd2N3aWR0aChzdHIpIHtcbiAgICByZXR1cm4gd2Nzd2lkdGgoc3RyLCBvcHRzKVxuICB9XG59XG5cbi8qXG4gKiAgVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgZGVmaW5lIHRoZSBjb2x1bW4gd2lkdGggb2YgYW4gSVNPIDEwNjQ2XG4gKiAgY2hhcmFjdGVyIGFzIGZvbGxvd3M6XG4gKiAgLSBUaGUgbnVsbCBjaGFyYWN0ZXIgKFUrMDAwMCkgaGFzIGEgY29sdW1uIHdpZHRoIG9mIDAuXG4gKiAgLSBPdGhlciBDMC9DMSBjb250cm9sIGNoYXJhY3RlcnMgYW5kIERFTCB3aWxsIGxlYWQgdG8gYSByZXR1cm4gdmFsdWVcbiAqICAgIG9mIC0xLlxuICogIC0gTm9uLXNwYWNpbmcgYW5kIGVuY2xvc2luZyBjb21iaW5pbmcgY2hhcmFjdGVycyAoZ2VuZXJhbCBjYXRlZ29yeVxuICogICAgY29kZSBNbiBvciBNZSBpbiB0aGVcbiAqICAgIFVuaWNvZGUgZGF0YWJhc2UpIGhhdmUgYSBjb2x1bW4gd2lkdGggb2YgMC5cbiAqICAtIFNPRlQgSFlQSEVOIChVKzAwQUQpIGhhcyBhIGNvbHVtbiB3aWR0aCBvZiAxLlxuICogIC0gT3RoZXIgZm9ybWF0IGNoYXJhY3RlcnMgKGdlbmVyYWwgY2F0ZWdvcnkgY29kZSBDZiBpbiB0aGUgVW5pY29kZVxuICogICAgZGF0YWJhc2UpIGFuZCBaRVJPIFdJRFRIXG4gKiAgICBTUEFDRSAoVSsyMDBCKSBoYXZlIGEgY29sdW1uIHdpZHRoIG9mIDAuXG4gKiAgLSBIYW5ndWwgSmFtbyBtZWRpYWwgdm93ZWxzIGFuZCBmaW5hbCBjb25zb25hbnRzIChVKzExNjAtVSsxMUZGKVxuICogICAgaGF2ZSBhIGNvbHVtbiB3aWR0aCBvZiAwLlxuICogIC0gU3BhY2luZyBjaGFyYWN0ZXJzIGluIHRoZSBFYXN0IEFzaWFuIFdpZGUgKFcpIG9yIEVhc3QgQXNpYW5cbiAqICAgIEZ1bGwtd2lkdGggKEYpIGNhdGVnb3J5IGFzXG4gKiAgICBkZWZpbmVkIGluIFVuaWNvZGUgVGVjaG5pY2FsIFJlcG9ydCAjMTEgaGF2ZSBhIGNvbHVtbiB3aWR0aCBvZiAyLlxuICogIC0gQWxsIHJlbWFpbmluZyBjaGFyYWN0ZXJzIChpbmNsdWRpbmcgYWxsIHByaW50YWJsZSBJU08gODg1OS0xIGFuZFxuICogICAgV0dMNCBjaGFyYWN0ZXJzLCBVbmljb2RlIGNvbnRyb2wgY2hhcmFjdGVycywgZXRjLikgaGF2ZSBhIGNvbHVtblxuICogICAgd2lkdGggb2YgMS5cbiAqICBUaGlzIGltcGxlbWVudGF0aW9uIGFzc3VtZXMgdGhhdCBjaGFyYWN0ZXJzIGFyZSBlbmNvZGVkIGluIElTTyAxMDY0Ni5cbiovXG5cbmZ1bmN0aW9uIHdjc3dpZHRoKHN0ciwgb3B0cykge1xuICBpZiAodHlwZW9mIHN0ciAhPT0gJ3N0cmluZycpIHJldHVybiB3Y3dpZHRoKHN0ciwgb3B0cylcblxuICB2YXIgcyA9IDBcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBzdHIubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgbiA9IHdjd2lkdGgoc3RyLmNoYXJDb2RlQXQoaSksIG9wdHMpXG4gICAgaWYgKG4gPCAwKSByZXR1cm4gLTFcbiAgICBzICs9IG5cbiAgfVxuXG4gIHJldHVybiBzXG59XG5cbmZ1bmN0aW9uIHdjd2lkdGgodWNzLCBvcHRzKSB7XG4gIC8vIHRlc3QgZm9yIDgtYml0IGNvbnRyb2wgY2hhcmFjdGVyc1xuICBpZiAodWNzID09PSAwKSByZXR1cm4gb3B0cy5udWxcbiAgaWYgKHVjcyA8IDMyIHx8ICh1Y3MgPj0gMHg3ZiAmJiB1Y3MgPCAweGEwKSkgcmV0dXJuIG9wdHMuY29udHJvbFxuXG4gIC8vIGJpbmFyeSBzZWFyY2ggaW4gdGFibGUgb2Ygbm9uLXNwYWNpbmcgY2hhcmFjdGVyc1xuICBpZiAoYmlzZWFyY2godWNzKSkgcmV0dXJuIDBcblxuICAvLyBpZiB3ZSBhcnJpdmUgaGVyZSwgdWNzIGlzIG5vdCBhIGNvbWJpbmluZyBvciBDMC9DMSBjb250cm9sIGNoYXJhY3RlclxuICByZXR1cm4gMSArXG4gICAgICAodWNzID49IDB4MTEwMCAmJlxuICAgICAgICh1Y3MgPD0gMHgxMTVmIHx8ICAgICAgICAgICAgICAgICAgICAgICAvLyBIYW5ndWwgSmFtbyBpbml0LiBjb25zb25hbnRzXG4gICAgICAgIHVjcyA9PSAweDIzMjkgfHwgdWNzID09IDB4MjMyYSB8fFxuICAgICAgICAodWNzID49IDB4MmU4MCAmJiB1Y3MgPD0gMHhhNGNmICYmXG4gICAgICAgICB1Y3MgIT0gMHgzMDNmKSB8fCAgICAgICAgICAgICAgICAgICAgIC8vIENKSyAuLi4gWWlcbiAgICAgICAgKHVjcyA+PSAweGFjMDAgJiYgdWNzIDw9IDB4ZDdhMykgfHwgICAgLy8gSGFuZ3VsIFN5bGxhYmxlc1xuICAgICAgICAodWNzID49IDB4ZjkwMCAmJiB1Y3MgPD0gMHhmYWZmKSB8fCAgICAvLyBDSksgQ29tcGF0aWJpbGl0eSBJZGVvZ3JhcGhzXG4gICAgICAgICh1Y3MgPj0gMHhmZTEwICYmIHVjcyA8PSAweGZlMTkpIHx8ICAgIC8vIFZlcnRpY2FsIGZvcm1zXG4gICAgICAgICh1Y3MgPj0gMHhmZTMwICYmIHVjcyA8PSAweGZlNmYpIHx8ICAgIC8vIENKSyBDb21wYXRpYmlsaXR5IEZvcm1zXG4gICAgICAgICh1Y3MgPj0gMHhmZjAwICYmIHVjcyA8PSAweGZmNjApIHx8ICAgIC8vIEZ1bGx3aWR0aCBGb3Jtc1xuICAgICAgICAodWNzID49IDB4ZmZlMCAmJiB1Y3MgPD0gMHhmZmU2KSB8fFxuICAgICAgICAodWNzID49IDB4MjAwMDAgJiYgdWNzIDw9IDB4MmZmZmQpIHx8XG4gICAgICAgICh1Y3MgPj0gMHgzMDAwMCAmJiB1Y3MgPD0gMHgzZmZmZCkpKTtcbn1cblxuZnVuY3Rpb24gYmlzZWFyY2godWNzKSB7XG4gIHZhciBtaW4gPSAwXG4gIHZhciBtYXggPSBjb21iaW5pbmcubGVuZ3RoIC0gMVxuICB2YXIgbWlkXG5cbiAgaWYgKHVjcyA8IGNvbWJpbmluZ1swXVswXSB8fCB1Y3MgPiBjb21iaW5pbmdbbWF4XVsxXSkgcmV0dXJuIGZhbHNlXG5cbiAgd2hpbGUgKG1heCA+PSBtaW4pIHtcbiAgICBtaWQgPSBNYXRoLmZsb29yKChtaW4gKyBtYXgpIC8gMilcbiAgICBpZiAodWNzID4gY29tYmluaW5nW21pZF1bMV0pIG1pbiA9IG1pZCArIDFcbiAgICBlbHNlIGlmICh1Y3MgPCBjb21iaW5pbmdbbWlkXVswXSkgbWF4ID0gbWlkIC0gMVxuICAgIGVsc2UgcmV0dXJuIHRydWVcbiAgfVxuXG4gIHJldHVybiBmYWxzZVxufVxuIiwgIid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSAoe3N0cmVhbSA9IHByb2Nlc3Muc3Rkb3V0fSA9IHt9KSA9PiB7XG5cdHJldHVybiBCb29sZWFuKFxuXHRcdHN0cmVhbSAmJiBzdHJlYW0uaXNUVFkgJiZcblx0XHRwcm9jZXNzLmVudi5URVJNICE9PSAnZHVtYicgJiZcblx0XHQhKCdDSScgaW4gcHJvY2Vzcy5lbnYpXG5cdCk7XG59O1xuIiwgIm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnc3RyZWFtJyk7XG4iLCAiJ3VzZSBzdHJpY3QnO1xuXG5mdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgZW51bWVyYWJsZU9ubHkgJiYgKHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KSksIGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IG51bGwgIT0gYXJndW1lbnRzW2ldID8gYXJndW1lbnRzW2ldIDoge307IGkgJSAyID8gb3duS2V5cyhPYmplY3Qoc291cmNlKSwgITApLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSkgOiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSkgOiBvd25LZXlzKE9iamVjdChzb3VyY2UpKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IHJldHVybiB0YXJnZXQ7IH1cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsga2V5ID0gX3RvUHJvcGVydHlLZXkoa2V5KTsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5mdW5jdGlvbiBfY2xhc3NDYWxsQ2hlY2soaW5zdGFuY2UsIENvbnN0cnVjdG9yKSB7IGlmICghKGluc3RhbmNlIGluc3RhbmNlb2YgQ29uc3RydWN0b3IpKSB7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIik7IH0gfVxuZnVuY3Rpb24gX2RlZmluZVByb3BlcnRpZXModGFyZ2V0LCBwcm9wcykgeyBmb3IgKHZhciBpID0gMDsgaSA8IHByb3BzLmxlbmd0aDsgaSsrKSB7IHZhciBkZXNjcmlwdG9yID0gcHJvcHNbaV07IGRlc2NyaXB0b3IuZW51bWVyYWJsZSA9IGRlc2NyaXB0b3IuZW51bWVyYWJsZSB8fCBmYWxzZTsgZGVzY3JpcHRvci5jb25maWd1cmFibGUgPSB0cnVlOyBpZiAoXCJ2YWx1ZVwiIGluIGRlc2NyaXB0b3IpIGRlc2NyaXB0b3Iud3JpdGFibGUgPSB0cnVlOyBPYmplY3QuZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBfdG9Qcm9wZXJ0eUtleShkZXNjcmlwdG9yLmtleSksIGRlc2NyaXB0b3IpOyB9IH1cbmZ1bmN0aW9uIF9jcmVhdGVDbGFzcyhDb25zdHJ1Y3RvciwgcHJvdG9Qcm9wcywgc3RhdGljUHJvcHMpIHsgaWYgKHByb3RvUHJvcHMpIF9kZWZpbmVQcm9wZXJ0aWVzKENvbnN0cnVjdG9yLnByb3RvdHlwZSwgcHJvdG9Qcm9wcyk7IGlmIChzdGF0aWNQcm9wcykgX2RlZmluZVByb3BlcnRpZXMoQ29uc3RydWN0b3IsIHN0YXRpY1Byb3BzKTsgT2JqZWN0LmRlZmluZVByb3BlcnR5KENvbnN0cnVjdG9yLCBcInByb3RvdHlwZVwiLCB7IHdyaXRhYmxlOiBmYWxzZSB9KTsgcmV0dXJuIENvbnN0cnVjdG9yOyB9XG5mdW5jdGlvbiBfdG9Qcm9wZXJ0eUtleShhcmcpIHsgdmFyIGtleSA9IF90b1ByaW1pdGl2ZShhcmcsIFwic3RyaW5nXCIpOyByZXR1cm4gdHlwZW9mIGtleSA9PT0gXCJzeW1ib2xcIiA/IGtleSA6IFN0cmluZyhrZXkpOyB9XG5mdW5jdGlvbiBfdG9QcmltaXRpdmUoaW5wdXQsIGhpbnQpIHsgaWYgKHR5cGVvZiBpbnB1dCAhPT0gXCJvYmplY3RcIiB8fCBpbnB1dCA9PT0gbnVsbCkgcmV0dXJuIGlucHV0OyB2YXIgcHJpbSA9IGlucHV0W1N5bWJvbC50b1ByaW1pdGl2ZV07IGlmIChwcmltICE9PSB1bmRlZmluZWQpIHsgdmFyIHJlcyA9IHByaW0uY2FsbChpbnB1dCwgaGludCB8fCBcImRlZmF1bHRcIik7IGlmICh0eXBlb2YgcmVzICE9PSBcIm9iamVjdFwiKSByZXR1cm4gcmVzOyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQEB0b1ByaW1pdGl2ZSBtdXN0IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZS5cIik7IH0gcmV0dXJuIChoaW50ID09PSBcInN0cmluZ1wiID8gU3RyaW5nIDogTnVtYmVyKShpbnB1dCk7IH1cbnZhciBfcmVxdWlyZSA9IHJlcXVpcmUoJ2J1ZmZlcicpLFxuICBCdWZmZXIgPSBfcmVxdWlyZS5CdWZmZXI7XG52YXIgX3JlcXVpcmUyID0gcmVxdWlyZSgndXRpbCcpLFxuICBpbnNwZWN0ID0gX3JlcXVpcmUyLmluc3BlY3Q7XG52YXIgY3VzdG9tID0gaW5zcGVjdCAmJiBpbnNwZWN0LmN1c3RvbSB8fCAnaW5zcGVjdCc7XG5mdW5jdGlvbiBjb3B5QnVmZmVyKHNyYywgdGFyZ2V0LCBvZmZzZXQpIHtcbiAgQnVmZmVyLnByb3RvdHlwZS5jb3B5LmNhbGwoc3JjLCB0YXJnZXQsIG9mZnNldCk7XG59XG5tb2R1bGUuZXhwb3J0cyA9IC8qI19fUFVSRV9fKi9mdW5jdGlvbiAoKSB7XG4gIGZ1bmN0aW9uIEJ1ZmZlckxpc3QoKSB7XG4gICAgX2NsYXNzQ2FsbENoZWNrKHRoaXMsIEJ1ZmZlckxpc3QpO1xuICAgIHRoaXMuaGVhZCA9IG51bGw7XG4gICAgdGhpcy50YWlsID0gbnVsbDtcbiAgICB0aGlzLmxlbmd0aCA9IDA7XG4gIH1cbiAgX2NyZWF0ZUNsYXNzKEJ1ZmZlckxpc3QsIFt7XG4gICAga2V5OiBcInB1c2hcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gcHVzaCh2KSB7XG4gICAgICB2YXIgZW50cnkgPSB7XG4gICAgICAgIGRhdGE6IHYsXG4gICAgICAgIG5leHQ6IG51bGxcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5sZW5ndGggPiAwKSB0aGlzLnRhaWwubmV4dCA9IGVudHJ5O2Vsc2UgdGhpcy5oZWFkID0gZW50cnk7XG4gICAgICB0aGlzLnRhaWwgPSBlbnRyeTtcbiAgICAgICsrdGhpcy5sZW5ndGg7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInVuc2hpZnRcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gdW5zaGlmdCh2KSB7XG4gICAgICB2YXIgZW50cnkgPSB7XG4gICAgICAgIGRhdGE6IHYsXG4gICAgICAgIG5leHQ6IHRoaXMuaGVhZFxuICAgICAgfTtcbiAgICAgIGlmICh0aGlzLmxlbmd0aCA9PT0gMCkgdGhpcy50YWlsID0gZW50cnk7XG4gICAgICB0aGlzLmhlYWQgPSBlbnRyeTtcbiAgICAgICsrdGhpcy5sZW5ndGg7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcInNoaWZ0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIHNoaWZ0KCkge1xuICAgICAgaWYgKHRoaXMubGVuZ3RoID09PSAwKSByZXR1cm47XG4gICAgICB2YXIgcmV0ID0gdGhpcy5oZWFkLmRhdGE7XG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDEpIHRoaXMuaGVhZCA9IHRoaXMudGFpbCA9IG51bGw7ZWxzZSB0aGlzLmhlYWQgPSB0aGlzLmhlYWQubmV4dDtcbiAgICAgIC0tdGhpcy5sZW5ndGg7XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH1cbiAgfSwge1xuICAgIGtleTogXCJjbGVhclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBjbGVhcigpIHtcbiAgICAgIHRoaXMuaGVhZCA9IHRoaXMudGFpbCA9IG51bGw7XG4gICAgICB0aGlzLmxlbmd0aCA9IDA7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImpvaW5cIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gam9pbihzKSB7XG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHJldHVybiAnJztcbiAgICAgIHZhciBwID0gdGhpcy5oZWFkO1xuICAgICAgdmFyIHJldCA9ICcnICsgcC5kYXRhO1xuICAgICAgd2hpbGUgKHAgPSBwLm5leHQpIHJldCArPSBzICsgcC5kYXRhO1xuICAgICAgcmV0dXJuIHJldDtcbiAgICB9XG4gIH0sIHtcbiAgICBrZXk6IFwiY29uY2F0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGNvbmNhdChuKSB7XG4gICAgICBpZiAodGhpcy5sZW5ndGggPT09IDApIHJldHVybiBCdWZmZXIuYWxsb2MoMCk7XG4gICAgICB2YXIgcmV0ID0gQnVmZmVyLmFsbG9jVW5zYWZlKG4gPj4+IDApO1xuICAgICAgdmFyIHAgPSB0aGlzLmhlYWQ7XG4gICAgICB2YXIgaSA9IDA7XG4gICAgICB3aGlsZSAocCkge1xuICAgICAgICBjb3B5QnVmZmVyKHAuZGF0YSwgcmV0LCBpKTtcbiAgICAgICAgaSArPSBwLmRhdGEubGVuZ3RoO1xuICAgICAgICBwID0gcC5uZXh0O1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJldDtcbiAgICB9XG5cbiAgICAvLyBDb25zdW1lcyBhIHNwZWNpZmllZCBhbW91bnQgb2YgYnl0ZXMgb3IgY2hhcmFjdGVycyBmcm9tIHRoZSBidWZmZXJlZCBkYXRhLlxuICB9LCB7XG4gICAga2V5OiBcImNvbnN1bWVcIixcbiAgICB2YWx1ZTogZnVuY3Rpb24gY29uc3VtZShuLCBoYXNTdHJpbmdzKSB7XG4gICAgICB2YXIgcmV0O1xuICAgICAgaWYgKG4gPCB0aGlzLmhlYWQuZGF0YS5sZW5ndGgpIHtcbiAgICAgICAgLy8gYHNsaWNlYCBpcyB0aGUgc2FtZSBmb3IgYnVmZmVycyBhbmQgc3RyaW5ncy5cbiAgICAgICAgcmV0ID0gdGhpcy5oZWFkLmRhdGEuc2xpY2UoMCwgbik7XG4gICAgICAgIHRoaXMuaGVhZC5kYXRhID0gdGhpcy5oZWFkLmRhdGEuc2xpY2Uobik7XG4gICAgICB9IGVsc2UgaWYgKG4gPT09IHRoaXMuaGVhZC5kYXRhLmxlbmd0aCkge1xuICAgICAgICAvLyBGaXJzdCBjaHVuayBpcyBhIHBlcmZlY3QgbWF0Y2guXG4gICAgICAgIHJldCA9IHRoaXMuc2hpZnQoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIFJlc3VsdCBzcGFucyBtb3JlIHRoYW4gb25lIGJ1ZmZlci5cbiAgICAgICAgcmV0ID0gaGFzU3RyaW5ncyA/IHRoaXMuX2dldFN0cmluZyhuKSA6IHRoaXMuX2dldEJ1ZmZlcihuKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXQ7XG4gICAgfVxuICB9LCB7XG4gICAga2V5OiBcImZpcnN0XCIsXG4gICAgdmFsdWU6IGZ1bmN0aW9uIGZpcnN0KCkge1xuICAgICAgcmV0dXJuIHRoaXMuaGVhZC5kYXRhO1xuICAgIH1cblxuICAgIC8vIENvbnN1bWVzIGEgc3BlY2lmaWVkIGFtb3VudCBvZiBjaGFyYWN0ZXJzIGZyb20gdGhlIGJ1ZmZlcmVkIGRhdGEuXG4gIH0sIHtcbiAgICBrZXk6IFwiX2dldFN0cmluZ1wiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfZ2V0U3RyaW5nKG4pIHtcbiAgICAgIHZhciBwID0gdGhpcy5oZWFkO1xuICAgICAgdmFyIGMgPSAxO1xuICAgICAgdmFyIHJldCA9IHAuZGF0YTtcbiAgICAgIG4gLT0gcmV0Lmxlbmd0aDtcbiAgICAgIHdoaWxlIChwID0gcC5uZXh0KSB7XG4gICAgICAgIHZhciBzdHIgPSBwLmRhdGE7XG4gICAgICAgIHZhciBuYiA9IG4gPiBzdHIubGVuZ3RoID8gc3RyLmxlbmd0aCA6IG47XG4gICAgICAgIGlmIChuYiA9PT0gc3RyLmxlbmd0aCkgcmV0ICs9IHN0cjtlbHNlIHJldCArPSBzdHIuc2xpY2UoMCwgbik7XG4gICAgICAgIG4gLT0gbmI7XG4gICAgICAgIGlmIChuID09PSAwKSB7XG4gICAgICAgICAgaWYgKG5iID09PSBzdHIubGVuZ3RoKSB7XG4gICAgICAgICAgICArK2M7XG4gICAgICAgICAgICBpZiAocC5uZXh0KSB0aGlzLmhlYWQgPSBwLm5leHQ7ZWxzZSB0aGlzLmhlYWQgPSB0aGlzLnRhaWwgPSBudWxsO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhlYWQgPSBwO1xuICAgICAgICAgICAgcC5kYXRhID0gc3RyLnNsaWNlKG5iKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgKytjO1xuICAgICAgfVxuICAgICAgdGhpcy5sZW5ndGggLT0gYztcbiAgICAgIHJldHVybiByZXQ7XG4gICAgfVxuXG4gICAgLy8gQ29uc3VtZXMgYSBzcGVjaWZpZWQgYW1vdW50IG9mIGJ5dGVzIGZyb20gdGhlIGJ1ZmZlcmVkIGRhdGEuXG4gIH0sIHtcbiAgICBrZXk6IFwiX2dldEJ1ZmZlclwiLFxuICAgIHZhbHVlOiBmdW5jdGlvbiBfZ2V0QnVmZmVyKG4pIHtcbiAgICAgIHZhciByZXQgPSBCdWZmZXIuYWxsb2NVbnNhZmUobik7XG4gICAgICB2YXIgcCA9IHRoaXMuaGVhZDtcbiAgICAgIHZhciBjID0gMTtcbiAgICAgIHAuZGF0YS5jb3B5KHJldCk7XG4gICAgICBuIC09IHAuZGF0YS5sZW5ndGg7XG4gICAgICB3aGlsZSAocCA9IHAubmV4dCkge1xuICAgICAgICB2YXIgYnVmID0gcC5kYXRhO1xuICAgICAgICB2YXIgbmIgPSBuID4gYnVmLmxlbmd0aCA/IGJ1Zi5sZW5ndGggOiBuO1xuICAgICAgICBidWYuY29weShyZXQsIHJldC5sZW5ndGggLSBuLCAwLCBuYik7XG4gICAgICAgIG4gLT0gbmI7XG4gICAgICAgIGlmIChuID09PSAwKSB7XG4gICAgICAgICAgaWYgKG5iID09PSBidWYubGVuZ3RoKSB7XG4gICAgICAgICAgICArK2M7XG4gICAgICAgICAgICBpZiAocC5uZXh0KSB0aGlzLmhlYWQgPSBwLm5leHQ7ZWxzZSB0aGlzLmhlYWQgPSB0aGlzLnRhaWwgPSBudWxsO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhlYWQgPSBwO1xuICAgICAgICAgICAgcC5kYXRhID0gYnVmLnNsaWNlKG5iKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgKytjO1xuICAgICAgfVxuICAgICAgdGhpcy5sZW5ndGggLT0gYztcbiAgICAgIHJldHVybiByZXQ7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdXJlIHRoZSBsaW5rZWQgbGlzdCBvbmx5IHNob3dzIHRoZSBtaW5pbWFsIG5lY2Vzc2FyeSBpbmZvcm1hdGlvbi5cbiAgfSwge1xuICAgIGtleTogY3VzdG9tLFxuICAgIHZhbHVlOiBmdW5jdGlvbiB2YWx1ZShfLCBvcHRpb25zKSB7XG4gICAgICByZXR1cm4gaW5zcGVjdCh0aGlzLCBfb2JqZWN0U3ByZWFkKF9vYmplY3RTcHJlYWQoe30sIG9wdGlvbnMpLCB7fSwge1xuICAgICAgICAvLyBPbmx5IGluc3BlY3Qgb25lIGxldmVsLlxuICAgICAgICBkZXB0aDogMCxcbiAgICAgICAgLy8gSXQgc2hvdWxkIG5vdCByZWN1cnNlLlxuICAgICAgICBjdXN0b21JbnNwZWN0OiBmYWxzZVxuICAgICAgfSkpO1xuICAgIH1cbiAgfV0pO1xuICByZXR1cm4gQnVmZmVyTGlzdDtcbn0oKTsiLCAiJ3VzZSBzdHJpY3QnO1xuXG4vLyB1bmRvY3VtZW50ZWQgY2IoKSBBUEksIG5lZWRlZCBmb3IgY29yZSwgbm90IGZvciBwdWJsaWMgQVBJXG5mdW5jdGlvbiBkZXN0cm95KGVyciwgY2IpIHtcbiAgdmFyIF90aGlzID0gdGhpcztcbiAgdmFyIHJlYWRhYmxlRGVzdHJveWVkID0gdGhpcy5fcmVhZGFibGVTdGF0ZSAmJiB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZDtcbiAgdmFyIHdyaXRhYmxlRGVzdHJveWVkID0gdGhpcy5fd3JpdGFibGVTdGF0ZSAmJiB0aGlzLl93cml0YWJsZVN0YXRlLmRlc3Ryb3llZDtcbiAgaWYgKHJlYWRhYmxlRGVzdHJveWVkIHx8IHdyaXRhYmxlRGVzdHJveWVkKSB7XG4gICAgaWYgKGNiKSB7XG4gICAgICBjYihlcnIpO1xuICAgIH0gZWxzZSBpZiAoZXJyKSB7XG4gICAgICBpZiAoIXRoaXMuX3dyaXRhYmxlU3RhdGUpIHtcbiAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCwgdGhpcywgZXJyKTtcbiAgICAgIH0gZWxzZSBpZiAoIXRoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkKSB7XG4gICAgICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkID0gdHJ1ZTtcbiAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0RXJyb3JOVCwgdGhpcywgZXJyKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvLyB3ZSBzZXQgZGVzdHJveWVkIHRvIHRydWUgYmVmb3JlIGZpcmluZyBlcnJvciBjYWxsYmFja3MgaW4gb3JkZXJcbiAgLy8gdG8gbWFrZSBpdCByZS1lbnRyYW5jZSBzYWZlIGluIGNhc2UgZGVzdHJveSgpIGlzIGNhbGxlZCB3aXRoaW4gY2FsbGJhY2tzXG5cbiAgaWYgKHRoaXMuX3JlYWRhYmxlU3RhdGUpIHtcbiAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlc3Ryb3llZCA9IHRydWU7XG4gIH1cblxuICAvLyBpZiB0aGlzIGlzIGEgZHVwbGV4IHN0cmVhbSBtYXJrIHRoZSB3cml0YWJsZSBwYXJ0IGFzIGRlc3Ryb3llZCBhcyB3ZWxsXG4gIGlmICh0aGlzLl93cml0YWJsZVN0YXRlKSB7XG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB0cnVlO1xuICB9XG4gIHRoaXMuX2Rlc3Ryb3koZXJyIHx8IG51bGwsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICBpZiAoIWNiICYmIGVycikge1xuICAgICAgaWYgKCFfdGhpcy5fd3JpdGFibGVTdGF0ZSkge1xuICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRFcnJvckFuZENsb3NlTlQsIF90aGlzLCBlcnIpO1xuICAgICAgfSBlbHNlIGlmICghX3RoaXMuX3dyaXRhYmxlU3RhdGUuZXJyb3JFbWl0dGVkKSB7XG4gICAgICAgIF90aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IHRydWU7XG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soZW1pdEVycm9yQW5kQ2xvc2VOVCwgX3RoaXMsIGVycik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRDbG9zZU5ULCBfdGhpcyk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChjYikge1xuICAgICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0Q2xvc2VOVCwgX3RoaXMpO1xuICAgICAgY2IoZXJyKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcHJvY2Vzcy5uZXh0VGljayhlbWl0Q2xvc2VOVCwgX3RoaXMpO1xuICAgIH1cbiAgfSk7XG4gIHJldHVybiB0aGlzO1xufVxuZnVuY3Rpb24gZW1pdEVycm9yQW5kQ2xvc2VOVChzZWxmLCBlcnIpIHtcbiAgZW1pdEVycm9yTlQoc2VsZiwgZXJyKTtcbiAgZW1pdENsb3NlTlQoc2VsZik7XG59XG5mdW5jdGlvbiBlbWl0Q2xvc2VOVChzZWxmKSB7XG4gIGlmIChzZWxmLl93cml0YWJsZVN0YXRlICYmICFzZWxmLl93cml0YWJsZVN0YXRlLmVtaXRDbG9zZSkgcmV0dXJuO1xuICBpZiAoc2VsZi5fcmVhZGFibGVTdGF0ZSAmJiAhc2VsZi5fcmVhZGFibGVTdGF0ZS5lbWl0Q2xvc2UpIHJldHVybjtcbiAgc2VsZi5lbWl0KCdjbG9zZScpO1xufVxuZnVuY3Rpb24gdW5kZXN0cm95KCkge1xuICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSkge1xuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gZmFsc2U7XG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5yZWFkaW5nID0gZmFsc2U7XG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5lbmRlZCA9IGZhbHNlO1xuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCA9IGZhbHNlO1xuICB9XG4gIGlmICh0aGlzLl93cml0YWJsZVN0YXRlKSB7XG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQgPSBmYWxzZTtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVuZGVkID0gZmFsc2U7XG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRpbmcgPSBmYWxzZTtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmZpbmFsQ2FsbGVkID0gZmFsc2U7XG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5wcmVmaW5pc2hlZCA9IGZhbHNlO1xuICAgIHRoaXMuX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQgPSBmYWxzZTtcbiAgICB0aGlzLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IGZhbHNlO1xuICB9XG59XG5mdW5jdGlvbiBlbWl0RXJyb3JOVChzZWxmLCBlcnIpIHtcbiAgc2VsZi5lbWl0KCdlcnJvcicsIGVycik7XG59XG5mdW5jdGlvbiBlcnJvck9yRGVzdHJveShzdHJlYW0sIGVycikge1xuICAvLyBXZSBoYXZlIHRlc3RzIHRoYXQgcmVseSBvbiBlcnJvcnMgYmVpbmcgZW1pdHRlZFxuICAvLyBpbiB0aGUgc2FtZSB0aWNrLCBzbyBjaGFuZ2luZyB0aGlzIGlzIHNlbXZlciBtYWpvci5cbiAgLy8gRm9yIG5vdyB3aGVuIHlvdSBvcHQtaW4gdG8gYXV0b0Rlc3Ryb3kgd2UgYWxsb3dcbiAgLy8gdGhlIGVycm9yIHRvIGJlIGVtaXR0ZWQgbmV4dFRpY2suIEluIGEgZnV0dXJlXG4gIC8vIHNlbXZlciBtYWpvciB1cGRhdGUgd2Ugc2hvdWxkIGNoYW5nZSB0aGUgZGVmYXVsdCB0byB0aGlzLlxuXG4gIHZhciByU3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XG4gIHZhciB3U3RhdGUgPSBzdHJlYW0uX3dyaXRhYmxlU3RhdGU7XG4gIGlmIChyU3RhdGUgJiYgclN0YXRlLmF1dG9EZXN0cm95IHx8IHdTdGF0ZSAmJiB3U3RhdGUuYXV0b0Rlc3Ryb3kpIHN0cmVhbS5kZXN0cm95KGVycik7ZWxzZSBzdHJlYW0uZW1pdCgnZXJyb3InLCBlcnIpO1xufVxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGRlc3Ryb3k6IGRlc3Ryb3ksXG4gIHVuZGVzdHJveTogdW5kZXN0cm95LFxuICBlcnJvck9yRGVzdHJveTogZXJyb3JPckRlc3Ryb3lcbn07IiwgIid1c2Ugc3RyaWN0JztcblxuY29uc3QgY29kZXMgPSB7fTtcblxuZnVuY3Rpb24gY3JlYXRlRXJyb3JUeXBlKGNvZGUsIG1lc3NhZ2UsIEJhc2UpIHtcbiAgaWYgKCFCYXNlKSB7XG4gICAgQmFzZSA9IEVycm9yXG4gIH1cblxuICBmdW5jdGlvbiBnZXRNZXNzYWdlIChhcmcxLCBhcmcyLCBhcmczKSB7XG4gICAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIG1lc3NhZ2VcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG1lc3NhZ2UoYXJnMSwgYXJnMiwgYXJnMylcbiAgICB9XG4gIH1cblxuICBjbGFzcyBOb2RlRXJyb3IgZXh0ZW5kcyBCYXNlIHtcbiAgICBjb25zdHJ1Y3RvciAoYXJnMSwgYXJnMiwgYXJnMykge1xuICAgICAgc3VwZXIoZ2V0TWVzc2FnZShhcmcxLCBhcmcyLCBhcmczKSk7XG4gICAgfVxuICB9XG5cbiAgTm9kZUVycm9yLnByb3RvdHlwZS5uYW1lID0gQmFzZS5uYW1lO1xuICBOb2RlRXJyb3IucHJvdG90eXBlLmNvZGUgPSBjb2RlO1xuXG4gIGNvZGVzW2NvZGVdID0gTm9kZUVycm9yO1xufVxuXG4vLyBodHRwczovL2dpdGh1Yi5jb20vbm9kZWpzL25vZGUvYmxvYi92MTAuOC4wL2xpYi9pbnRlcm5hbC9lcnJvcnMuanNcbmZ1bmN0aW9uIG9uZU9mKGV4cGVjdGVkLCB0aGluZykge1xuICBpZiAoQXJyYXkuaXNBcnJheShleHBlY3RlZCkpIHtcbiAgICBjb25zdCBsZW4gPSBleHBlY3RlZC5sZW5ndGg7XG4gICAgZXhwZWN0ZWQgPSBleHBlY3RlZC5tYXAoKGkpID0+IFN0cmluZyhpKSk7XG4gICAgaWYgKGxlbiA+IDIpIHtcbiAgICAgIHJldHVybiBgb25lIG9mICR7dGhpbmd9ICR7ZXhwZWN0ZWQuc2xpY2UoMCwgbGVuIC0gMSkuam9pbignLCAnKX0sIG9yIGAgK1xuICAgICAgICAgICAgIGV4cGVjdGVkW2xlbiAtIDFdO1xuICAgIH0gZWxzZSBpZiAobGVuID09PSAyKSB7XG4gICAgICByZXR1cm4gYG9uZSBvZiAke3RoaW5nfSAke2V4cGVjdGVkWzBdfSBvciAke2V4cGVjdGVkWzFdfWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBgb2YgJHt0aGluZ30gJHtleHBlY3RlZFswXX1gO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gYG9mICR7dGhpbmd9ICR7U3RyaW5nKGV4cGVjdGVkKX1gO1xuICB9XG59XG5cbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1N0cmluZy9zdGFydHNXaXRoXG5mdW5jdGlvbiBzdGFydHNXaXRoKHN0ciwgc2VhcmNoLCBwb3MpIHtcblx0cmV0dXJuIHN0ci5zdWJzdHIoIXBvcyB8fCBwb3MgPCAwID8gMCA6ICtwb3MsIHNlYXJjaC5sZW5ndGgpID09PSBzZWFyY2g7XG59XG5cbi8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1N0cmluZy9lbmRzV2l0aFxuZnVuY3Rpb24gZW5kc1dpdGgoc3RyLCBzZWFyY2gsIHRoaXNfbGVuKSB7XG5cdGlmICh0aGlzX2xlbiA9PT0gdW5kZWZpbmVkIHx8IHRoaXNfbGVuID4gc3RyLmxlbmd0aCkge1xuXHRcdHRoaXNfbGVuID0gc3RyLmxlbmd0aDtcblx0fVxuXHRyZXR1cm4gc3RyLnN1YnN0cmluZyh0aGlzX2xlbiAtIHNlYXJjaC5sZW5ndGgsIHRoaXNfbGVuKSA9PT0gc2VhcmNoO1xufVxuXG4vLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9KYXZhU2NyaXB0L1JlZmVyZW5jZS9HbG9iYWxfT2JqZWN0cy9TdHJpbmcvaW5jbHVkZXNcbmZ1bmN0aW9uIGluY2x1ZGVzKHN0ciwgc2VhcmNoLCBzdGFydCkge1xuICBpZiAodHlwZW9mIHN0YXJ0ICE9PSAnbnVtYmVyJykge1xuICAgIHN0YXJ0ID0gMDtcbiAgfVxuXG4gIGlmIChzdGFydCArIHNlYXJjaC5sZW5ndGggPiBzdHIubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBzdHIuaW5kZXhPZihzZWFyY2gsIHN0YXJ0KSAhPT0gLTE7XG4gIH1cbn1cblxuY3JlYXRlRXJyb3JUeXBlKCdFUlJfSU5WQUxJRF9PUFRfVkFMVUUnLCBmdW5jdGlvbiAobmFtZSwgdmFsdWUpIHtcbiAgcmV0dXJuICdUaGUgdmFsdWUgXCInICsgdmFsdWUgKyAnXCIgaXMgaW52YWxpZCBmb3Igb3B0aW9uIFwiJyArIG5hbWUgKyAnXCInXG59LCBUeXBlRXJyb3IpO1xuY3JlYXRlRXJyb3JUeXBlKCdFUlJfSU5WQUxJRF9BUkdfVFlQRScsIGZ1bmN0aW9uIChuYW1lLCBleHBlY3RlZCwgYWN0dWFsKSB7XG4gIC8vIGRldGVybWluZXI6ICdtdXN0IGJlJyBvciAnbXVzdCBub3QgYmUnXG4gIGxldCBkZXRlcm1pbmVyO1xuICBpZiAodHlwZW9mIGV4cGVjdGVkID09PSAnc3RyaW5nJyAmJiBzdGFydHNXaXRoKGV4cGVjdGVkLCAnbm90ICcpKSB7XG4gICAgZGV0ZXJtaW5lciA9ICdtdXN0IG5vdCBiZSc7XG4gICAgZXhwZWN0ZWQgPSBleHBlY3RlZC5yZXBsYWNlKC9ebm90IC8sICcnKTtcbiAgfSBlbHNlIHtcbiAgICBkZXRlcm1pbmVyID0gJ211c3QgYmUnO1xuICB9XG5cbiAgbGV0IG1zZztcbiAgaWYgKGVuZHNXaXRoKG5hbWUsICcgYXJndW1lbnQnKSkge1xuICAgIC8vIEZvciBjYXNlcyBsaWtlICdmaXJzdCBhcmd1bWVudCdcbiAgICBtc2cgPSBgVGhlICR7bmFtZX0gJHtkZXRlcm1pbmVyfSAke29uZU9mKGV4cGVjdGVkLCAndHlwZScpfWA7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgdHlwZSA9IGluY2x1ZGVzKG5hbWUsICcuJykgPyAncHJvcGVydHknIDogJ2FyZ3VtZW50JztcbiAgICBtc2cgPSBgVGhlIFwiJHtuYW1lfVwiICR7dHlwZX0gJHtkZXRlcm1pbmVyfSAke29uZU9mKGV4cGVjdGVkLCAndHlwZScpfWA7XG4gIH1cblxuICBtc2cgKz0gYC4gUmVjZWl2ZWQgdHlwZSAke3R5cGVvZiBhY3R1YWx9YDtcbiAgcmV0dXJuIG1zZztcbn0sIFR5cGVFcnJvcik7XG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fUFVTSF9BRlRFUl9FT0YnLCAnc3RyZWFtLnB1c2goKSBhZnRlciBFT0YnKTtcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQnLCBmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4gJ1RoZSAnICsgbmFtZSArICcgbWV0aG9kIGlzIG5vdCBpbXBsZW1lbnRlZCdcbn0pO1xuY3JlYXRlRXJyb3JUeXBlKCdFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRScsICdQcmVtYXR1cmUgY2xvc2UnKTtcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX1NUUkVBTV9ERVNUUk9ZRUQnLCBmdW5jdGlvbiAobmFtZSkge1xuICByZXR1cm4gJ0Nhbm5vdCBjYWxsICcgKyBuYW1lICsgJyBhZnRlciBhIHN0cmVhbSB3YXMgZGVzdHJveWVkJztcbn0pO1xuY3JlYXRlRXJyb3JUeXBlKCdFUlJfTVVMVElQTEVfQ0FMTEJBQ0snLCAnQ2FsbGJhY2sgY2FsbGVkIG11bHRpcGxlIHRpbWVzJyk7XG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fQ0FOTk9UX1BJUEUnLCAnQ2Fubm90IHBpcGUsIG5vdCByZWFkYWJsZScpO1xuY3JlYXRlRXJyb3JUeXBlKCdFUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCcsICd3cml0ZSBhZnRlciBlbmQnKTtcbmNyZWF0ZUVycm9yVHlwZSgnRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUycsICdNYXkgbm90IHdyaXRlIG51bGwgdmFsdWVzIHRvIHN0cmVhbScsIFR5cGVFcnJvcik7XG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9VTktOT1dOX0VOQ09ESU5HJywgZnVuY3Rpb24gKGFyZykge1xuICByZXR1cm4gJ1Vua25vd24gZW5jb2Rpbmc6ICcgKyBhcmdcbn0sIFR5cGVFcnJvcik7XG5jcmVhdGVFcnJvclR5cGUoJ0VSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQnLCAnc3RyZWFtLnVuc2hpZnQoKSBhZnRlciBlbmQgZXZlbnQnKTtcblxubW9kdWxlLmV4cG9ydHMuY29kZXMgPSBjb2RlcztcbiIsICIndXNlIHN0cmljdCc7XG5cbnZhciBFUlJfSU5WQUxJRF9PUFRfVkFMVUUgPSByZXF1aXJlKCcuLi8uLi8uLi9lcnJvcnMnKS5jb2Rlcy5FUlJfSU5WQUxJRF9PUFRfVkFMVUU7XG5mdW5jdGlvbiBoaWdoV2F0ZXJNYXJrRnJvbShvcHRpb25zLCBpc0R1cGxleCwgZHVwbGV4S2V5KSB7XG4gIHJldHVybiBvcHRpb25zLmhpZ2hXYXRlck1hcmsgIT0gbnVsbCA/IG9wdGlvbnMuaGlnaFdhdGVyTWFyayA6IGlzRHVwbGV4ID8gb3B0aW9uc1tkdXBsZXhLZXldIDogbnVsbDtcbn1cbmZ1bmN0aW9uIGdldEhpZ2hXYXRlck1hcmsoc3RhdGUsIG9wdGlvbnMsIGR1cGxleEtleSwgaXNEdXBsZXgpIHtcbiAgdmFyIGh3bSA9IGhpZ2hXYXRlck1hcmtGcm9tKG9wdGlvbnMsIGlzRHVwbGV4LCBkdXBsZXhLZXkpO1xuICBpZiAoaHdtICE9IG51bGwpIHtcbiAgICBpZiAoIShpc0Zpbml0ZShod20pICYmIE1hdGguZmxvb3IoaHdtKSA9PT0gaHdtKSB8fCBod20gPCAwKSB7XG4gICAgICB2YXIgbmFtZSA9IGlzRHVwbGV4ID8gZHVwbGV4S2V5IDogJ2hpZ2hXYXRlck1hcmsnO1xuICAgICAgdGhyb3cgbmV3IEVSUl9JTlZBTElEX09QVF9WQUxVRShuYW1lLCBod20pO1xuICAgIH1cbiAgICByZXR1cm4gTWF0aC5mbG9vcihod20pO1xuICB9XG5cbiAgLy8gRGVmYXVsdCB2YWx1ZVxuICByZXR1cm4gc3RhdGUub2JqZWN0TW9kZSA/IDE2IDogMTYgKiAxMDI0O1xufVxubW9kdWxlLmV4cG9ydHMgPSB7XG4gIGdldEhpZ2hXYXRlck1hcms6IGdldEhpZ2hXYXRlck1hcmtcbn07IiwgImlmICh0eXBlb2YgT2JqZWN0LmNyZWF0ZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAvLyBpbXBsZW1lbnRhdGlvbiBmcm9tIHN0YW5kYXJkIG5vZGUuanMgJ3V0aWwnIG1vZHVsZVxuICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGluaGVyaXRzKGN0b3IsIHN1cGVyQ3Rvcikge1xuICAgIGlmIChzdXBlckN0b3IpIHtcbiAgICAgIGN0b3Iuc3VwZXJfID0gc3VwZXJDdG9yXG4gICAgICBjdG9yLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoc3VwZXJDdG9yLnByb3RvdHlwZSwge1xuICAgICAgICBjb25zdHJ1Y3Rvcjoge1xuICAgICAgICAgIHZhbHVlOiBjdG9yLFxuICAgICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH1cbiAgfTtcbn0gZWxzZSB7XG4gIC8vIG9sZCBzY2hvb2wgc2hpbSBmb3Igb2xkIGJyb3dzZXJzXG4gIG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaW5oZXJpdHMoY3Rvciwgc3VwZXJDdG9yKSB7XG4gICAgaWYgKHN1cGVyQ3Rvcikge1xuICAgICAgY3Rvci5zdXBlcl8gPSBzdXBlckN0b3JcbiAgICAgIHZhciBUZW1wQ3RvciA9IGZ1bmN0aW9uICgpIHt9XG4gICAgICBUZW1wQ3Rvci5wcm90b3R5cGUgPSBzdXBlckN0b3IucHJvdG90eXBlXG4gICAgICBjdG9yLnByb3RvdHlwZSA9IG5ldyBUZW1wQ3RvcigpXG4gICAgICBjdG9yLnByb3RvdHlwZS5jb25zdHJ1Y3RvciA9IGN0b3JcbiAgICB9XG4gIH1cbn1cbiIsICJ0cnkge1xuICB2YXIgdXRpbCA9IHJlcXVpcmUoJ3V0aWwnKTtcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgaWYgKHR5cGVvZiB1dGlsLmluaGVyaXRzICE9PSAnZnVuY3Rpb24nKSB0aHJvdyAnJztcbiAgbW9kdWxlLmV4cG9ydHMgPSB1dGlsLmluaGVyaXRzO1xufSBjYXRjaCAoZSkge1xuICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICBtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoJy4vaW5oZXJpdHNfYnJvd3Nlci5qcycpO1xufVxuIiwgIlxuLyoqXG4gKiBGb3IgTm9kZS5qcywgc2ltcGx5IHJlLWV4cG9ydCB0aGUgY29yZSBgdXRpbC5kZXByZWNhdGVgIGZ1bmN0aW9uLlxuICovXG5cbm1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgndXRpbCcpLmRlcHJlY2F0ZTtcbiIsICIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuLy8gQSBiaXQgc2ltcGxlciB0aGFuIHJlYWRhYmxlIHN0cmVhbXMuXG4vLyBJbXBsZW1lbnQgYW4gYXN5bmMgLl93cml0ZShjaHVuaywgZW5jb2RpbmcsIGNiKSwgYW5kIGl0J2xsIGhhbmRsZSBhbGxcbi8vIHRoZSBkcmFpbiBldmVudCBlbWlzc2lvbiBhbmQgYnVmZmVyaW5nLlxuXG4ndXNlIHN0cmljdCc7XG5cbm1vZHVsZS5leHBvcnRzID0gV3JpdGFibGU7XG5cbi8qIDxyZXBsYWNlbWVudD4gKi9cbmZ1bmN0aW9uIFdyaXRlUmVxKGNodW5rLCBlbmNvZGluZywgY2IpIHtcbiAgdGhpcy5jaHVuayA9IGNodW5rO1xuICB0aGlzLmVuY29kaW5nID0gZW5jb2Rpbmc7XG4gIHRoaXMuY2FsbGJhY2sgPSBjYjtcbiAgdGhpcy5uZXh0ID0gbnVsbDtcbn1cblxuLy8gSXQgc2VlbXMgYSBsaW5rZWQgbGlzdCBidXQgaXQgaXMgbm90XG4vLyB0aGVyZSB3aWxsIGJlIG9ubHkgMiBvZiB0aGVzZSBmb3IgZWFjaCBzdHJlYW1cbmZ1bmN0aW9uIENvcmtlZFJlcXVlc3Qoc3RhdGUpIHtcbiAgdmFyIF90aGlzID0gdGhpcztcbiAgdGhpcy5uZXh0ID0gbnVsbDtcbiAgdGhpcy5lbnRyeSA9IG51bGw7XG4gIHRoaXMuZmluaXNoID0gZnVuY3Rpb24gKCkge1xuICAgIG9uQ29ya2VkRmluaXNoKF90aGlzLCBzdGF0ZSk7XG4gIH07XG59XG4vKiA8L3JlcGxhY2VtZW50PiAqL1xuXG4vKjxyZXBsYWNlbWVudD4qL1xudmFyIER1cGxleDtcbi8qPC9yZXBsYWNlbWVudD4qL1xuXG5Xcml0YWJsZS5Xcml0YWJsZVN0YXRlID0gV3JpdGFibGVTdGF0ZTtcblxuLyo8cmVwbGFjZW1lbnQ+Ki9cbnZhciBpbnRlcm5hbFV0aWwgPSB7XG4gIGRlcHJlY2F0ZTogcmVxdWlyZSgndXRpbC1kZXByZWNhdGUnKVxufTtcbi8qPC9yZXBsYWNlbWVudD4qL1xuXG4vKjxyZXBsYWNlbWVudD4qL1xudmFyIFN0cmVhbSA9IHJlcXVpcmUoJy4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0nKTtcbi8qPC9yZXBsYWNlbWVudD4qL1xuXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnYnVmZmVyJykuQnVmZmVyO1xudmFyIE91clVpbnQ4QXJyYXkgPSAodHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGYgOiB7fSkuVWludDhBcnJheSB8fCBmdW5jdGlvbiAoKSB7fTtcbmZ1bmN0aW9uIF91aW50OEFycmF5VG9CdWZmZXIoY2h1bmspIHtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGNodW5rKTtcbn1cbmZ1bmN0aW9uIF9pc1VpbnQ4QXJyYXkob2JqKSB7XG4gIHJldHVybiBCdWZmZXIuaXNCdWZmZXIob2JqKSB8fCBvYmogaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5O1xufVxudmFyIGRlc3Ryb3lJbXBsID0gcmVxdWlyZSgnLi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3knKTtcbnZhciBfcmVxdWlyZSA9IHJlcXVpcmUoJy4vaW50ZXJuYWwvc3RyZWFtcy9zdGF0ZScpLFxuICBnZXRIaWdoV2F0ZXJNYXJrID0gX3JlcXVpcmUuZ2V0SGlnaFdhdGVyTWFyaztcbnZhciBfcmVxdWlyZSRjb2RlcyA9IHJlcXVpcmUoJy4uL2Vycm9ycycpLmNvZGVzLFxuICBFUlJfSU5WQUxJRF9BUkdfVFlQRSA9IF9yZXF1aXJlJGNvZGVzLkVSUl9JTlZBTElEX0FSR19UWVBFLFxuICBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELFxuICBFUlJfTVVMVElQTEVfQ0FMTEJBQ0sgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssXG4gIEVSUl9TVFJFQU1fQ0FOTk9UX1BJUEUgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX0NBTk5PVF9QSVBFLFxuICBFUlJfU1RSRUFNX0RFU1RST1lFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fREVTVFJPWUVELFxuICBFUlJfU1RSRUFNX05VTExfVkFMVUVTID0gX3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9OVUxMX1ZBTFVFUyxcbiAgRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfU1RSRUFNX1dSSVRFX0FGVEVSX0VORCxcbiAgRVJSX1VOS05PV05fRU5DT0RJTkcgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfVU5LTk9XTl9FTkNPRElORztcbnZhciBlcnJvck9yRGVzdHJveSA9IGRlc3Ryb3lJbXBsLmVycm9yT3JEZXN0cm95O1xucmVxdWlyZSgnaW5oZXJpdHMnKShXcml0YWJsZSwgU3RyZWFtKTtcbmZ1bmN0aW9uIG5vcCgpIHt9XG5mdW5jdGlvbiBXcml0YWJsZVN0YXRlKG9wdGlvbnMsIHN0cmVhbSwgaXNEdXBsZXgpIHtcbiAgRHVwbGV4ID0gRHVwbGV4IHx8IHJlcXVpcmUoJy4vX3N0cmVhbV9kdXBsZXgnKTtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cbiAgLy8gRHVwbGV4IHN0cmVhbXMgYXJlIGJvdGggcmVhZGFibGUgYW5kIHdyaXRhYmxlLCBidXQgc2hhcmVcbiAgLy8gdGhlIHNhbWUgb3B0aW9ucyBvYmplY3QuXG4gIC8vIEhvd2V2ZXIsIHNvbWUgY2FzZXMgcmVxdWlyZSBzZXR0aW5nIG9wdGlvbnMgdG8gZGlmZmVyZW50XG4gIC8vIHZhbHVlcyBmb3IgdGhlIHJlYWRhYmxlIGFuZCB0aGUgd3JpdGFibGUgc2lkZXMgb2YgdGhlIGR1cGxleCBzdHJlYW0sXG4gIC8vIGUuZy4gb3B0aW9ucy5yZWFkYWJsZU9iamVjdE1vZGUgdnMuIG9wdGlvbnMud3JpdGFibGVPYmplY3RNb2RlLCBldGMuXG4gIGlmICh0eXBlb2YgaXNEdXBsZXggIT09ICdib29sZWFuJykgaXNEdXBsZXggPSBzdHJlYW0gaW5zdGFuY2VvZiBEdXBsZXg7XG5cbiAgLy8gb2JqZWN0IHN0cmVhbSBmbGFnIHRvIGluZGljYXRlIHdoZXRoZXIgb3Igbm90IHRoaXMgc3RyZWFtXG4gIC8vIGNvbnRhaW5zIGJ1ZmZlcnMgb3Igb2JqZWN0cy5cbiAgdGhpcy5vYmplY3RNb2RlID0gISFvcHRpb25zLm9iamVjdE1vZGU7XG4gIGlmIChpc0R1cGxleCkgdGhpcy5vYmplY3RNb2RlID0gdGhpcy5vYmplY3RNb2RlIHx8ICEhb3B0aW9ucy53cml0YWJsZU9iamVjdE1vZGU7XG5cbiAgLy8gdGhlIHBvaW50IGF0IHdoaWNoIHdyaXRlKCkgc3RhcnRzIHJldHVybmluZyBmYWxzZVxuICAvLyBOb3RlOiAwIGlzIGEgdmFsaWQgdmFsdWUsIG1lYW5zIHRoYXQgd2UgYWx3YXlzIHJldHVybiBmYWxzZSBpZlxuICAvLyB0aGUgZW50aXJlIGJ1ZmZlciBpcyBub3QgZmx1c2hlZCBpbW1lZGlhdGVseSBvbiB3cml0ZSgpXG4gIHRoaXMuaGlnaFdhdGVyTWFyayA9IGdldEhpZ2hXYXRlck1hcmsodGhpcywgb3B0aW9ucywgJ3dyaXRhYmxlSGlnaFdhdGVyTWFyaycsIGlzRHVwbGV4KTtcblxuICAvLyBpZiBfZmluYWwgaGFzIGJlZW4gY2FsbGVkXG4gIHRoaXMuZmluYWxDYWxsZWQgPSBmYWxzZTtcblxuICAvLyBkcmFpbiBldmVudCBmbGFnLlxuICB0aGlzLm5lZWREcmFpbiA9IGZhbHNlO1xuICAvLyBhdCB0aGUgc3RhcnQgb2YgY2FsbGluZyBlbmQoKVxuICB0aGlzLmVuZGluZyA9IGZhbHNlO1xuICAvLyB3aGVuIGVuZCgpIGhhcyBiZWVuIGNhbGxlZCwgYW5kIHJldHVybmVkXG4gIHRoaXMuZW5kZWQgPSBmYWxzZTtcbiAgLy8gd2hlbiAnZmluaXNoJyBpcyBlbWl0dGVkXG4gIHRoaXMuZmluaXNoZWQgPSBmYWxzZTtcblxuICAvLyBoYXMgaXQgYmVlbiBkZXN0cm95ZWRcbiAgdGhpcy5kZXN0cm95ZWQgPSBmYWxzZTtcblxuICAvLyBzaG91bGQgd2UgZGVjb2RlIHN0cmluZ3MgaW50byBidWZmZXJzIGJlZm9yZSBwYXNzaW5nIHRvIF93cml0ZT9cbiAgLy8gdGhpcyBpcyBoZXJlIHNvIHRoYXQgc29tZSBub2RlLWNvcmUgc3RyZWFtcyBjYW4gb3B0aW1pemUgc3RyaW5nXG4gIC8vIGhhbmRsaW5nIGF0IGEgbG93ZXIgbGV2ZWwuXG4gIHZhciBub0RlY29kZSA9IG9wdGlvbnMuZGVjb2RlU3RyaW5ncyA9PT0gZmFsc2U7XG4gIHRoaXMuZGVjb2RlU3RyaW5ncyA9ICFub0RlY29kZTtcblxuICAvLyBDcnlwdG8gaXMga2luZCBvZiBvbGQgYW5kIGNydXN0eS4gIEhpc3RvcmljYWxseSwgaXRzIGRlZmF1bHQgc3RyaW5nXG4gIC8vIGVuY29kaW5nIGlzICdiaW5hcnknIHNvIHdlIGhhdmUgdG8gbWFrZSB0aGlzIGNvbmZpZ3VyYWJsZS5cbiAgLy8gRXZlcnl0aGluZyBlbHNlIGluIHRoZSB1bml2ZXJzZSB1c2VzICd1dGY4JywgdGhvdWdoLlxuICB0aGlzLmRlZmF1bHRFbmNvZGluZyA9IG9wdGlvbnMuZGVmYXVsdEVuY29kaW5nIHx8ICd1dGY4JztcblxuICAvLyBub3QgYW4gYWN0dWFsIGJ1ZmZlciB3ZSBrZWVwIHRyYWNrIG9mLCBidXQgYSBtZWFzdXJlbWVudFxuICAvLyBvZiBob3cgbXVjaCB3ZSdyZSB3YWl0aW5nIHRvIGdldCBwdXNoZWQgdG8gc29tZSB1bmRlcmx5aW5nXG4gIC8vIHNvY2tldCBvciBmaWxlLlxuICB0aGlzLmxlbmd0aCA9IDA7XG5cbiAgLy8gYSBmbGFnIHRvIHNlZSB3aGVuIHdlJ3JlIGluIHRoZSBtaWRkbGUgb2YgYSB3cml0ZS5cbiAgdGhpcy53cml0aW5nID0gZmFsc2U7XG5cbiAgLy8gd2hlbiB0cnVlIGFsbCB3cml0ZXMgd2lsbCBiZSBidWZmZXJlZCB1bnRpbCAudW5jb3JrKCkgY2FsbFxuICB0aGlzLmNvcmtlZCA9IDA7XG5cbiAgLy8gYSBmbGFnIHRvIGJlIGFibGUgdG8gdGVsbCBpZiB0aGUgb253cml0ZSBjYiBpcyBjYWxsZWQgaW1tZWRpYXRlbHksXG4gIC8vIG9yIG9uIGEgbGF0ZXIgdGljay4gIFdlIHNldCB0aGlzIHRvIHRydWUgYXQgZmlyc3QsIGJlY2F1c2UgYW55XG4gIC8vIGFjdGlvbnMgdGhhdCBzaG91bGRuJ3QgaGFwcGVuIHVudGlsIFwibGF0ZXJcIiBzaG91bGQgZ2VuZXJhbGx5IGFsc29cbiAgLy8gbm90IGhhcHBlbiBiZWZvcmUgdGhlIGZpcnN0IHdyaXRlIGNhbGwuXG4gIHRoaXMuc3luYyA9IHRydWU7XG5cbiAgLy8gYSBmbGFnIHRvIGtub3cgaWYgd2UncmUgcHJvY2Vzc2luZyBwcmV2aW91c2x5IGJ1ZmZlcmVkIGl0ZW1zLCB3aGljaFxuICAvLyBtYXkgY2FsbCB0aGUgX3dyaXRlKCkgY2FsbGJhY2sgaW4gdGhlIHNhbWUgdGljaywgc28gdGhhdCB3ZSBkb24ndFxuICAvLyBlbmQgdXAgaW4gYW4gb3ZlcmxhcHBlZCBvbndyaXRlIHNpdHVhdGlvbi5cbiAgdGhpcy5idWZmZXJQcm9jZXNzaW5nID0gZmFsc2U7XG5cbiAgLy8gdGhlIGNhbGxiYWNrIHRoYXQncyBwYXNzZWQgdG8gX3dyaXRlKGNodW5rLGNiKVxuICB0aGlzLm9ud3JpdGUgPSBmdW5jdGlvbiAoZXIpIHtcbiAgICBvbndyaXRlKHN0cmVhbSwgZXIpO1xuICB9O1xuXG4gIC8vIHRoZSBjYWxsYmFjayB0aGF0IHRoZSB1c2VyIHN1cHBsaWVzIHRvIHdyaXRlKGNodW5rLGVuY29kaW5nLGNiKVxuICB0aGlzLndyaXRlY2IgPSBudWxsO1xuXG4gIC8vIHRoZSBhbW91bnQgdGhhdCBpcyBiZWluZyB3cml0dGVuIHdoZW4gX3dyaXRlIGlzIGNhbGxlZC5cbiAgdGhpcy53cml0ZWxlbiA9IDA7XG4gIHRoaXMuYnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcbiAgdGhpcy5sYXN0QnVmZmVyZWRSZXF1ZXN0ID0gbnVsbDtcblxuICAvLyBudW1iZXIgb2YgcGVuZGluZyB1c2VyLXN1cHBsaWVkIHdyaXRlIGNhbGxiYWNrc1xuICAvLyB0aGlzIG11c3QgYmUgMCBiZWZvcmUgJ2ZpbmlzaCcgY2FuIGJlIGVtaXR0ZWRcbiAgdGhpcy5wZW5kaW5nY2IgPSAwO1xuXG4gIC8vIGVtaXQgcHJlZmluaXNoIGlmIHRoZSBvbmx5IHRoaW5nIHdlJ3JlIHdhaXRpbmcgZm9yIGlzIF93cml0ZSBjYnNcbiAgLy8gVGhpcyBpcyByZWxldmFudCBmb3Igc3luY2hyb25vdXMgVHJhbnNmb3JtIHN0cmVhbXNcbiAgdGhpcy5wcmVmaW5pc2hlZCA9IGZhbHNlO1xuXG4gIC8vIFRydWUgaWYgdGhlIGVycm9yIHdhcyBhbHJlYWR5IGVtaXR0ZWQgYW5kIHNob3VsZCBub3QgYmUgdGhyb3duIGFnYWluXG4gIHRoaXMuZXJyb3JFbWl0dGVkID0gZmFsc2U7XG5cbiAgLy8gU2hvdWxkIGNsb3NlIGJlIGVtaXR0ZWQgb24gZGVzdHJveS4gRGVmYXVsdHMgdG8gdHJ1ZS5cbiAgdGhpcy5lbWl0Q2xvc2UgPSBvcHRpb25zLmVtaXRDbG9zZSAhPT0gZmFsc2U7XG5cbiAgLy8gU2hvdWxkIC5kZXN0cm95KCkgYmUgY2FsbGVkIGFmdGVyICdmaW5pc2gnIChhbmQgcG90ZW50aWFsbHkgJ2VuZCcpXG4gIHRoaXMuYXV0b0Rlc3Ryb3kgPSAhIW9wdGlvbnMuYXV0b0Rlc3Ryb3k7XG5cbiAgLy8gY291bnQgYnVmZmVyZWQgcmVxdWVzdHNcbiAgdGhpcy5idWZmZXJlZFJlcXVlc3RDb3VudCA9IDA7XG5cbiAgLy8gYWxsb2NhdGUgdGhlIGZpcnN0IENvcmtlZFJlcXVlc3QsIHRoZXJlIGlzIGFsd2F5c1xuICAvLyBvbmUgYWxsb2NhdGVkIGFuZCBmcmVlIHRvIHVzZSwgYW5kIHdlIG1haW50YWluIGF0IG1vc3QgdHdvXG4gIHRoaXMuY29ya2VkUmVxdWVzdHNGcmVlID0gbmV3IENvcmtlZFJlcXVlc3QodGhpcyk7XG59XG5Xcml0YWJsZVN0YXRlLnByb3RvdHlwZS5nZXRCdWZmZXIgPSBmdW5jdGlvbiBnZXRCdWZmZXIoKSB7XG4gIHZhciBjdXJyZW50ID0gdGhpcy5idWZmZXJlZFJlcXVlc3Q7XG4gIHZhciBvdXQgPSBbXTtcbiAgd2hpbGUgKGN1cnJlbnQpIHtcbiAgICBvdXQucHVzaChjdXJyZW50KTtcbiAgICBjdXJyZW50ID0gY3VycmVudC5uZXh0O1xuICB9XG4gIHJldHVybiBvdXQ7XG59O1xuKGZ1bmN0aW9uICgpIHtcbiAgdHJ5IHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoV3JpdGFibGVTdGF0ZS5wcm90b3R5cGUsICdidWZmZXInLCB7XG4gICAgICBnZXQ6IGludGVybmFsVXRpbC5kZXByZWNhdGUoZnVuY3Rpb24gd3JpdGFibGVTdGF0ZUJ1ZmZlckdldHRlcigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0QnVmZmVyKCk7XG4gICAgICB9LCAnX3dyaXRhYmxlU3RhdGUuYnVmZmVyIGlzIGRlcHJlY2F0ZWQuIFVzZSBfd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIgJyArICdpbnN0ZWFkLicsICdERVAwMDAzJylcbiAgICB9KTtcbiAgfSBjYXRjaCAoXykge31cbn0pKCk7XG5cbi8vIFRlc3QgX3dyaXRhYmxlU3RhdGUgZm9yIGluaGVyaXRhbmNlIHRvIGFjY291bnQgZm9yIER1cGxleCBzdHJlYW1zLFxuLy8gd2hvc2UgcHJvdG90eXBlIGNoYWluIG9ubHkgcG9pbnRzIHRvIFJlYWRhYmxlLlxudmFyIHJlYWxIYXNJbnN0YW5jZTtcbmlmICh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIFN5bWJvbC5oYXNJbnN0YW5jZSAmJiB0eXBlb2YgRnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV0gPT09ICdmdW5jdGlvbicpIHtcbiAgcmVhbEhhc0luc3RhbmNlID0gRnVuY3Rpb24ucHJvdG90eXBlW1N5bWJvbC5oYXNJbnN0YW5jZV07XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZSwgU3ltYm9sLmhhc0luc3RhbmNlLCB7XG4gICAgdmFsdWU6IGZ1bmN0aW9uIHZhbHVlKG9iamVjdCkge1xuICAgICAgaWYgKHJlYWxIYXNJbnN0YW5jZS5jYWxsKHRoaXMsIG9iamVjdCkpIHJldHVybiB0cnVlO1xuICAgICAgaWYgKHRoaXMgIT09IFdyaXRhYmxlKSByZXR1cm4gZmFsc2U7XG4gICAgICByZXR1cm4gb2JqZWN0ICYmIG9iamVjdC5fd3JpdGFibGVTdGF0ZSBpbnN0YW5jZW9mIFdyaXRhYmxlU3RhdGU7XG4gICAgfVxuICB9KTtcbn0gZWxzZSB7XG4gIHJlYWxIYXNJbnN0YW5jZSA9IGZ1bmN0aW9uIHJlYWxIYXNJbnN0YW5jZShvYmplY3QpIHtcbiAgICByZXR1cm4gb2JqZWN0IGluc3RhbmNlb2YgdGhpcztcbiAgfTtcbn1cbmZ1bmN0aW9uIFdyaXRhYmxlKG9wdGlvbnMpIHtcbiAgRHVwbGV4ID0gRHVwbGV4IHx8IHJlcXVpcmUoJy4vX3N0cmVhbV9kdXBsZXgnKTtcblxuICAvLyBXcml0YWJsZSBjdG9yIGlzIGFwcGxpZWQgdG8gRHVwbGV4ZXMsIHRvby5cbiAgLy8gYHJlYWxIYXNJbnN0YW5jZWAgaXMgbmVjZXNzYXJ5IGJlY2F1c2UgdXNpbmcgcGxhaW4gYGluc3RhbmNlb2ZgXG4gIC8vIHdvdWxkIHJldHVybiBmYWxzZSwgYXMgbm8gYF93cml0YWJsZVN0YXRlYCBwcm9wZXJ0eSBpcyBhdHRhY2hlZC5cblxuICAvLyBUcnlpbmcgdG8gdXNlIHRoZSBjdXN0b20gYGluc3RhbmNlb2ZgIGZvciBXcml0YWJsZSBoZXJlIHdpbGwgYWxzbyBicmVhayB0aGVcbiAgLy8gTm9kZS5qcyBMYXp5VHJhbnNmb3JtIGltcGxlbWVudGF0aW9uLCB3aGljaCBoYXMgYSBub24tdHJpdmlhbCBnZXR0ZXIgZm9yXG4gIC8vIGBfd3JpdGFibGVTdGF0ZWAgdGhhdCB3b3VsZCBsZWFkIHRvIGluZmluaXRlIHJlY3Vyc2lvbi5cblxuICAvLyBDaGVja2luZyBmb3IgYSBTdHJlYW0uRHVwbGV4IGluc3RhbmNlIGlzIGZhc3RlciBoZXJlIGluc3RlYWQgb2YgaW5zaWRlXG4gIC8vIHRoZSBXcml0YWJsZVN0YXRlIGNvbnN0cnVjdG9yLCBhdCBsZWFzdCB3aXRoIFY4IDYuNVxuICB2YXIgaXNEdXBsZXggPSB0aGlzIGluc3RhbmNlb2YgRHVwbGV4O1xuICBpZiAoIWlzRHVwbGV4ICYmICFyZWFsSGFzSW5zdGFuY2UuY2FsbChXcml0YWJsZSwgdGhpcykpIHJldHVybiBuZXcgV3JpdGFibGUob3B0aW9ucyk7XG4gIHRoaXMuX3dyaXRhYmxlU3RhdGUgPSBuZXcgV3JpdGFibGVTdGF0ZShvcHRpb25zLCB0aGlzLCBpc0R1cGxleCk7XG5cbiAgLy8gbGVnYWN5LlxuICB0aGlzLndyaXRhYmxlID0gdHJ1ZTtcbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMud3JpdGUgPT09ICdmdW5jdGlvbicpIHRoaXMuX3dyaXRlID0gb3B0aW9ucy53cml0ZTtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMud3JpdGV2ID09PSAnZnVuY3Rpb24nKSB0aGlzLl93cml0ZXYgPSBvcHRpb25zLndyaXRldjtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZGVzdHJveSA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fZGVzdHJveSA9IG9wdGlvbnMuZGVzdHJveTtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZmluYWwgPT09ICdmdW5jdGlvbicpIHRoaXMuX2ZpbmFsID0gb3B0aW9ucy5maW5hbDtcbiAgfVxuICBTdHJlYW0uY2FsbCh0aGlzKTtcbn1cblxuLy8gT3RoZXJ3aXNlIHBlb3BsZSBjYW4gcGlwZSBXcml0YWJsZSBzdHJlYW1zLCB3aGljaCBpcyBqdXN0IHdyb25nLlxuV3JpdGFibGUucHJvdG90eXBlLnBpcGUgPSBmdW5jdGlvbiAoKSB7XG4gIGVycm9yT3JEZXN0cm95KHRoaXMsIG5ldyBFUlJfU1RSRUFNX0NBTk5PVF9QSVBFKCkpO1xufTtcbmZ1bmN0aW9uIHdyaXRlQWZ0ZXJFbmQoc3RyZWFtLCBjYikge1xuICB2YXIgZXIgPSBuZXcgRVJSX1NUUkVBTV9XUklURV9BRlRFUl9FTkQoKTtcbiAgLy8gVE9ETzogZGVmZXIgZXJyb3IgZXZlbnRzIGNvbnNpc3RlbnRseSBldmVyeXdoZXJlLCBub3QganVzdCB0aGUgY2JcbiAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7XG4gIHByb2Nlc3MubmV4dFRpY2soY2IsIGVyKTtcbn1cblxuLy8gQ2hlY2tzIHRoYXQgYSB1c2VyLXN1cHBsaWVkIGNodW5rIGlzIHZhbGlkLCBlc3BlY2lhbGx5IGZvciB0aGUgcGFydGljdWxhclxuLy8gbW9kZSB0aGUgc3RyZWFtIGlzIGluLiBDdXJyZW50bHkgdGhpcyBtZWFucyB0aGF0IGBudWxsYCBpcyBuZXZlciBhY2NlcHRlZFxuLy8gYW5kIHVuZGVmaW5lZC9ub24tc3RyaW5nIHZhbHVlcyBhcmUgb25seSBhbGxvd2VkIGluIG9iamVjdCBtb2RlLlxuZnVuY3Rpb24gdmFsaWRDaHVuayhzdHJlYW0sIHN0YXRlLCBjaHVuaywgY2IpIHtcbiAgdmFyIGVyO1xuICBpZiAoY2h1bmsgPT09IG51bGwpIHtcbiAgICBlciA9IG5ldyBFUlJfU1RSRUFNX05VTExfVkFMVUVTKCk7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJyAmJiAhc3RhdGUub2JqZWN0TW9kZSkge1xuICAgIGVyID0gbmV3IEVSUl9JTlZBTElEX0FSR19UWVBFKCdjaHVuaycsIFsnc3RyaW5nJywgJ0J1ZmZlciddLCBjaHVuayk7XG4gIH1cbiAgaWYgKGVyKSB7XG4gICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7XG4gICAgcHJvY2Vzcy5uZXh0VGljayhjYiwgZXIpO1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cbldyaXRhYmxlLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcsIGNiKSB7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX3dyaXRhYmxlU3RhdGU7XG4gIHZhciByZXQgPSBmYWxzZTtcbiAgdmFyIGlzQnVmID0gIXN0YXRlLm9iamVjdE1vZGUgJiYgX2lzVWludDhBcnJheShjaHVuayk7XG4gIGlmIChpc0J1ZiAmJiAhQnVmZmVyLmlzQnVmZmVyKGNodW5rKSkge1xuICAgIGNodW5rID0gX3VpbnQ4QXJyYXlUb0J1ZmZlcihjaHVuayk7XG4gIH1cbiAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGNiID0gZW5jb2Rpbmc7XG4gICAgZW5jb2RpbmcgPSBudWxsO1xuICB9XG4gIGlmIChpc0J1ZikgZW5jb2RpbmcgPSAnYnVmZmVyJztlbHNlIGlmICghZW5jb2RpbmcpIGVuY29kaW5nID0gc3RhdGUuZGVmYXVsdEVuY29kaW5nO1xuICBpZiAodHlwZW9mIGNiICE9PSAnZnVuY3Rpb24nKSBjYiA9IG5vcDtcbiAgaWYgKHN0YXRlLmVuZGluZykgd3JpdGVBZnRlckVuZCh0aGlzLCBjYik7ZWxzZSBpZiAoaXNCdWYgfHwgdmFsaWRDaHVuayh0aGlzLCBzdGF0ZSwgY2h1bmssIGNiKSkge1xuICAgIHN0YXRlLnBlbmRpbmdjYisrO1xuICAgIHJldCA9IHdyaXRlT3JCdWZmZXIodGhpcywgc3RhdGUsIGlzQnVmLCBjaHVuaywgZW5jb2RpbmcsIGNiKTtcbiAgfVxuICByZXR1cm4gcmV0O1xufTtcbldyaXRhYmxlLnByb3RvdHlwZS5jb3JrID0gZnVuY3Rpb24gKCkge1xuICB0aGlzLl93cml0YWJsZVN0YXRlLmNvcmtlZCsrO1xufTtcbldyaXRhYmxlLnByb3RvdHlwZS51bmNvcmsgPSBmdW5jdGlvbiAoKSB7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX3dyaXRhYmxlU3RhdGU7XG4gIGlmIChzdGF0ZS5jb3JrZWQpIHtcbiAgICBzdGF0ZS5jb3JrZWQtLTtcbiAgICBpZiAoIXN0YXRlLndyaXRpbmcgJiYgIXN0YXRlLmNvcmtlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIGNsZWFyQnVmZmVyKHRoaXMsIHN0YXRlKTtcbiAgfVxufTtcbldyaXRhYmxlLnByb3RvdHlwZS5zZXREZWZhdWx0RW5jb2RpbmcgPSBmdW5jdGlvbiBzZXREZWZhdWx0RW5jb2RpbmcoZW5jb2RpbmcpIHtcbiAgLy8gbm9kZTo6UGFyc2VFbmNvZGluZygpIHJlcXVpcmVzIGxvd2VyIGNhc2UuXG4gIGlmICh0eXBlb2YgZW5jb2RpbmcgPT09ICdzdHJpbmcnKSBlbmNvZGluZyA9IGVuY29kaW5nLnRvTG93ZXJDYXNlKCk7XG4gIGlmICghKFsnaGV4JywgJ3V0ZjgnLCAndXRmLTgnLCAnYXNjaWknLCAnYmluYXJ5JywgJ2Jhc2U2NCcsICd1Y3MyJywgJ3Vjcy0yJywgJ3V0ZjE2bGUnLCAndXRmLTE2bGUnLCAncmF3J10uaW5kZXhPZigoZW5jb2RpbmcgKyAnJykudG9Mb3dlckNhc2UoKSkgPiAtMSkpIHRocm93IG5ldyBFUlJfVU5LTk9XTl9FTkNPRElORyhlbmNvZGluZyk7XG4gIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVmYXVsdEVuY29kaW5nID0gZW5jb2Rpbmc7XG4gIHJldHVybiB0aGlzO1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsICd3cml0YWJsZUJ1ZmZlcicsIHtcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUgJiYgdGhpcy5fd3JpdGFibGVTdGF0ZS5nZXRCdWZmZXIoKTtcbiAgfVxufSk7XG5mdW5jdGlvbiBkZWNvZGVDaHVuayhzdGF0ZSwgY2h1bmssIGVuY29kaW5nKSB7XG4gIGlmICghc3RhdGUub2JqZWN0TW9kZSAmJiBzdGF0ZS5kZWNvZGVTdHJpbmdzICE9PSBmYWxzZSAmJiB0eXBlb2YgY2h1bmsgPT09ICdzdHJpbmcnKSB7XG4gICAgY2h1bmsgPSBCdWZmZXIuZnJvbShjaHVuaywgZW5jb2RpbmcpO1xuICB9XG4gIHJldHVybiBjaHVuaztcbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsICd3cml0YWJsZUhpZ2hXYXRlck1hcmsnLCB7XG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcbiAgZW51bWVyYWJsZTogZmFsc2UsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlLmhpZ2hXYXRlck1hcms7XG4gIH1cbn0pO1xuXG4vLyBpZiB3ZSdyZSBhbHJlYWR5IHdyaXRpbmcgc29tZXRoaW5nLCB0aGVuIGp1c3QgcHV0IHRoaXNcbi8vIGluIHRoZSBxdWV1ZSwgYW5kIHdhaXQgb3VyIHR1cm4uICBPdGhlcndpc2UsIGNhbGwgX3dyaXRlXG4vLyBJZiB3ZSByZXR1cm4gZmFsc2UsIHRoZW4gd2UgbmVlZCBhIGRyYWluIGV2ZW50LCBzbyBzZXQgdGhhdCBmbGFnLlxuZnVuY3Rpb24gd3JpdGVPckJ1ZmZlcihzdHJlYW0sIHN0YXRlLCBpc0J1ZiwgY2h1bmssIGVuY29kaW5nLCBjYikge1xuICBpZiAoIWlzQnVmKSB7XG4gICAgdmFyIG5ld0NodW5rID0gZGVjb2RlQ2h1bmsoc3RhdGUsIGNodW5rLCBlbmNvZGluZyk7XG4gICAgaWYgKGNodW5rICE9PSBuZXdDaHVuaykge1xuICAgICAgaXNCdWYgPSB0cnVlO1xuICAgICAgZW5jb2RpbmcgPSAnYnVmZmVyJztcbiAgICAgIGNodW5rID0gbmV3Q2h1bms7XG4gICAgfVxuICB9XG4gIHZhciBsZW4gPSBzdGF0ZS5vYmplY3RNb2RlID8gMSA6IGNodW5rLmxlbmd0aDtcbiAgc3RhdGUubGVuZ3RoICs9IGxlbjtcbiAgdmFyIHJldCA9IHN0YXRlLmxlbmd0aCA8IHN0YXRlLmhpZ2hXYXRlck1hcms7XG4gIC8vIHdlIG11c3QgZW5zdXJlIHRoYXQgcHJldmlvdXMgbmVlZERyYWluIHdpbGwgbm90IGJlIHJlc2V0IHRvIGZhbHNlLlxuICBpZiAoIXJldCkgc3RhdGUubmVlZERyYWluID0gdHJ1ZTtcbiAgaWYgKHN0YXRlLndyaXRpbmcgfHwgc3RhdGUuY29ya2VkKSB7XG4gICAgdmFyIGxhc3QgPSBzdGF0ZS5sYXN0QnVmZmVyZWRSZXF1ZXN0O1xuICAgIHN0YXRlLmxhc3RCdWZmZXJlZFJlcXVlc3QgPSB7XG4gICAgICBjaHVuazogY2h1bmssXG4gICAgICBlbmNvZGluZzogZW5jb2RpbmcsXG4gICAgICBpc0J1ZjogaXNCdWYsXG4gICAgICBjYWxsYmFjazogY2IsXG4gICAgICBuZXh0OiBudWxsXG4gICAgfTtcbiAgICBpZiAobGFzdCkge1xuICAgICAgbGFzdC5uZXh0ID0gc3RhdGUubGFzdEJ1ZmZlcmVkUmVxdWVzdDtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0ID0gc3RhdGUubGFzdEJ1ZmZlcmVkUmVxdWVzdDtcbiAgICB9XG4gICAgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0Q291bnQgKz0gMTtcbiAgfSBlbHNlIHtcbiAgICBkb1dyaXRlKHN0cmVhbSwgc3RhdGUsIGZhbHNlLCBsZW4sIGNodW5rLCBlbmNvZGluZywgY2IpO1xuICB9XG4gIHJldHVybiByZXQ7XG59XG5mdW5jdGlvbiBkb1dyaXRlKHN0cmVhbSwgc3RhdGUsIHdyaXRldiwgbGVuLCBjaHVuaywgZW5jb2RpbmcsIGNiKSB7XG4gIHN0YXRlLndyaXRlbGVuID0gbGVuO1xuICBzdGF0ZS53cml0ZWNiID0gY2I7XG4gIHN0YXRlLndyaXRpbmcgPSB0cnVlO1xuICBzdGF0ZS5zeW5jID0gdHJ1ZTtcbiAgaWYgKHN0YXRlLmRlc3Ryb3llZCkgc3RhdGUub253cml0ZShuZXcgRVJSX1NUUkVBTV9ERVNUUk9ZRUQoJ3dyaXRlJykpO2Vsc2UgaWYgKHdyaXRldikgc3RyZWFtLl93cml0ZXYoY2h1bmssIHN0YXRlLm9ud3JpdGUpO2Vsc2Ugc3RyZWFtLl93cml0ZShjaHVuaywgZW5jb2RpbmcsIHN0YXRlLm9ud3JpdGUpO1xuICBzdGF0ZS5zeW5jID0gZmFsc2U7XG59XG5mdW5jdGlvbiBvbndyaXRlRXJyb3Ioc3RyZWFtLCBzdGF0ZSwgc3luYywgZXIsIGNiKSB7XG4gIC0tc3RhdGUucGVuZGluZ2NiO1xuICBpZiAoc3luYykge1xuICAgIC8vIGRlZmVyIHRoZSBjYWxsYmFjayBpZiB3ZSBhcmUgYmVpbmcgY2FsbGVkIHN5bmNocm9ub3VzbHlcbiAgICAvLyB0byBhdm9pZCBwaWxpbmcgdXAgdGhpbmdzIG9uIHRoZSBzdGFja1xuICAgIHByb2Nlc3MubmV4dFRpY2soY2IsIGVyKTtcbiAgICAvLyB0aGlzIGNhbiBlbWl0IGZpbmlzaCwgYW5kIGl0IHdpbGwgYWx3YXlzIGhhcHBlblxuICAgIC8vIGFmdGVyIGVycm9yXG4gICAgcHJvY2Vzcy5uZXh0VGljayhmaW5pc2hNYXliZSwgc3RyZWFtLCBzdGF0ZSk7XG4gICAgc3RyZWFtLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IHRydWU7XG4gICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7XG4gIH0gZWxzZSB7XG4gICAgLy8gdGhlIGNhbGxlciBleHBlY3QgdGhpcyB0byBoYXBwZW4gYmVmb3JlIGlmXG4gICAgLy8gaXQgaXMgYXN5bmNcbiAgICBjYihlcik7XG4gICAgc3RyZWFtLl93cml0YWJsZVN0YXRlLmVycm9yRW1pdHRlZCA9IHRydWU7XG4gICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7XG4gICAgLy8gdGhpcyBjYW4gZW1pdCBmaW5pc2gsIGJ1dCBmaW5pc2ggbXVzdFxuICAgIC8vIGFsd2F5cyBmb2xsb3cgZXJyb3JcbiAgICBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKTtcbiAgfVxufVxuZnVuY3Rpb24gb253cml0ZVN0YXRlVXBkYXRlKHN0YXRlKSB7XG4gIHN0YXRlLndyaXRpbmcgPSBmYWxzZTtcbiAgc3RhdGUud3JpdGVjYiA9IG51bGw7XG4gIHN0YXRlLmxlbmd0aCAtPSBzdGF0ZS53cml0ZWxlbjtcbiAgc3RhdGUud3JpdGVsZW4gPSAwO1xufVxuZnVuY3Rpb24gb253cml0ZShzdHJlYW0sIGVyKSB7XG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fd3JpdGFibGVTdGF0ZTtcbiAgdmFyIHN5bmMgPSBzdGF0ZS5zeW5jO1xuICB2YXIgY2IgPSBzdGF0ZS53cml0ZWNiO1xuICBpZiAodHlwZW9mIGNiICE9PSAnZnVuY3Rpb24nKSB0aHJvdyBuZXcgRVJSX01VTFRJUExFX0NBTExCQUNLKCk7XG4gIG9ud3JpdGVTdGF0ZVVwZGF0ZShzdGF0ZSk7XG4gIGlmIChlcikgb253cml0ZUVycm9yKHN0cmVhbSwgc3RhdGUsIHN5bmMsIGVyLCBjYik7ZWxzZSB7XG4gICAgLy8gQ2hlY2sgaWYgd2UncmUgYWN0dWFsbHkgcmVhZHkgdG8gZmluaXNoLCBidXQgZG9uJ3QgZW1pdCB5ZXRcbiAgICB2YXIgZmluaXNoZWQgPSBuZWVkRmluaXNoKHN0YXRlKSB8fCBzdHJlYW0uZGVzdHJveWVkO1xuICAgIGlmICghZmluaXNoZWQgJiYgIXN0YXRlLmNvcmtlZCAmJiAhc3RhdGUuYnVmZmVyUHJvY2Vzc2luZyAmJiBzdGF0ZS5idWZmZXJlZFJlcXVlc3QpIHtcbiAgICAgIGNsZWFyQnVmZmVyKHN0cmVhbSwgc3RhdGUpO1xuICAgIH1cbiAgICBpZiAoc3luYykge1xuICAgICAgcHJvY2Vzcy5uZXh0VGljayhhZnRlcldyaXRlLCBzdHJlYW0sIHN0YXRlLCBmaW5pc2hlZCwgY2IpO1xuICAgIH0gZWxzZSB7XG4gICAgICBhZnRlcldyaXRlKHN0cmVhbSwgc3RhdGUsIGZpbmlzaGVkLCBjYik7XG4gICAgfVxuICB9XG59XG5mdW5jdGlvbiBhZnRlcldyaXRlKHN0cmVhbSwgc3RhdGUsIGZpbmlzaGVkLCBjYikge1xuICBpZiAoIWZpbmlzaGVkKSBvbndyaXRlRHJhaW4oc3RyZWFtLCBzdGF0ZSk7XG4gIHN0YXRlLnBlbmRpbmdjYi0tO1xuICBjYigpO1xuICBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKTtcbn1cblxuLy8gTXVzdCBmb3JjZSBjYWxsYmFjayB0byBiZSBjYWxsZWQgb24gbmV4dFRpY2ssIHNvIHRoYXQgd2UgZG9uJ3Rcbi8vIGVtaXQgJ2RyYWluJyBiZWZvcmUgdGhlIHdyaXRlKCkgY29uc3VtZXIgZ2V0cyB0aGUgJ2ZhbHNlJyByZXR1cm5cbi8vIHZhbHVlLCBhbmQgaGFzIGEgY2hhbmNlIHRvIGF0dGFjaCBhICdkcmFpbicgbGlzdGVuZXIuXG5mdW5jdGlvbiBvbndyaXRlRHJhaW4oc3RyZWFtLCBzdGF0ZSkge1xuICBpZiAoc3RhdGUubGVuZ3RoID09PSAwICYmIHN0YXRlLm5lZWREcmFpbikge1xuICAgIHN0YXRlLm5lZWREcmFpbiA9IGZhbHNlO1xuICAgIHN0cmVhbS5lbWl0KCdkcmFpbicpO1xuICB9XG59XG5cbi8vIGlmIHRoZXJlJ3Mgc29tZXRoaW5nIGluIHRoZSBidWZmZXIgd2FpdGluZywgdGhlbiBwcm9jZXNzIGl0XG5mdW5jdGlvbiBjbGVhckJ1ZmZlcihzdHJlYW0sIHN0YXRlKSB7XG4gIHN0YXRlLmJ1ZmZlclByb2Nlc3NpbmcgPSB0cnVlO1xuICB2YXIgZW50cnkgPSBzdGF0ZS5idWZmZXJlZFJlcXVlc3Q7XG4gIGlmIChzdHJlYW0uX3dyaXRldiAmJiBlbnRyeSAmJiBlbnRyeS5uZXh0KSB7XG4gICAgLy8gRmFzdCBjYXNlLCB3cml0ZSBldmVyeXRoaW5nIHVzaW5nIF93cml0ZXYoKVxuICAgIHZhciBsID0gc3RhdGUuYnVmZmVyZWRSZXF1ZXN0Q291bnQ7XG4gICAgdmFyIGJ1ZmZlciA9IG5ldyBBcnJheShsKTtcbiAgICB2YXIgaG9sZGVyID0gc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlO1xuICAgIGhvbGRlci5lbnRyeSA9IGVudHJ5O1xuICAgIHZhciBjb3VudCA9IDA7XG4gICAgdmFyIGFsbEJ1ZmZlcnMgPSB0cnVlO1xuICAgIHdoaWxlIChlbnRyeSkge1xuICAgICAgYnVmZmVyW2NvdW50XSA9IGVudHJ5O1xuICAgICAgaWYgKCFlbnRyeS5pc0J1ZikgYWxsQnVmZmVycyA9IGZhbHNlO1xuICAgICAgZW50cnkgPSBlbnRyeS5uZXh0O1xuICAgICAgY291bnQgKz0gMTtcbiAgICB9XG4gICAgYnVmZmVyLmFsbEJ1ZmZlcnMgPSBhbGxCdWZmZXJzO1xuICAgIGRvV3JpdGUoc3RyZWFtLCBzdGF0ZSwgdHJ1ZSwgc3RhdGUubGVuZ3RoLCBidWZmZXIsICcnLCBob2xkZXIuZmluaXNoKTtcblxuICAgIC8vIGRvV3JpdGUgaXMgYWxtb3N0IGFsd2F5cyBhc3luYywgZGVmZXIgdGhlc2UgdG8gc2F2ZSBhIGJpdCBvZiB0aW1lXG4gICAgLy8gYXMgdGhlIGhvdCBwYXRoIGVuZHMgd2l0aCBkb1dyaXRlXG4gICAgc3RhdGUucGVuZGluZ2NiKys7XG4gICAgc3RhdGUubGFzdEJ1ZmZlcmVkUmVxdWVzdCA9IG51bGw7XG4gICAgaWYgKGhvbGRlci5uZXh0KSB7XG4gICAgICBzdGF0ZS5jb3JrZWRSZXF1ZXN0c0ZyZWUgPSBob2xkZXIubmV4dDtcbiAgICAgIGhvbGRlci5uZXh0ID0gbnVsbDtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGUuY29ya2VkUmVxdWVzdHNGcmVlID0gbmV3IENvcmtlZFJlcXVlc3Qoc3RhdGUpO1xuICAgIH1cbiAgICBzdGF0ZS5idWZmZXJlZFJlcXVlc3RDb3VudCA9IDA7XG4gIH0gZWxzZSB7XG4gICAgLy8gU2xvdyBjYXNlLCB3cml0ZSBjaHVua3Mgb25lLWJ5LW9uZVxuICAgIHdoaWxlIChlbnRyeSkge1xuICAgICAgdmFyIGNodW5rID0gZW50cnkuY2h1bms7XG4gICAgICB2YXIgZW5jb2RpbmcgPSBlbnRyeS5lbmNvZGluZztcbiAgICAgIHZhciBjYiA9IGVudHJ5LmNhbGxiYWNrO1xuICAgICAgdmFyIGxlbiA9IHN0YXRlLm9iamVjdE1vZGUgPyAxIDogY2h1bmsubGVuZ3RoO1xuICAgICAgZG9Xcml0ZShzdHJlYW0sIHN0YXRlLCBmYWxzZSwgbGVuLCBjaHVuaywgZW5jb2RpbmcsIGNiKTtcbiAgICAgIGVudHJ5ID0gZW50cnkubmV4dDtcbiAgICAgIHN0YXRlLmJ1ZmZlcmVkUmVxdWVzdENvdW50LS07XG4gICAgICAvLyBpZiB3ZSBkaWRuJ3QgY2FsbCB0aGUgb253cml0ZSBpbW1lZGlhdGVseSwgdGhlblxuICAgICAgLy8gaXQgbWVhbnMgdGhhdCB3ZSBuZWVkIHRvIHdhaXQgdW50aWwgaXQgZG9lcy5cbiAgICAgIC8vIGFsc28sIHRoYXQgbWVhbnMgdGhhdCB0aGUgY2h1bmsgYW5kIGNiIGFyZSBjdXJyZW50bHlcbiAgICAgIC8vIGJlaW5nIHByb2Nlc3NlZCwgc28gbW92ZSB0aGUgYnVmZmVyIGNvdW50ZXIgcGFzdCB0aGVtLlxuICAgICAgaWYgKHN0YXRlLndyaXRpbmcpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuICAgIGlmIChlbnRyeSA9PT0gbnVsbCkgc3RhdGUubGFzdEJ1ZmZlcmVkUmVxdWVzdCA9IG51bGw7XG4gIH1cbiAgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0ID0gZW50cnk7XG4gIHN0YXRlLmJ1ZmZlclByb2Nlc3NpbmcgPSBmYWxzZTtcbn1cbldyaXRhYmxlLnByb3RvdHlwZS5fd3JpdGUgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xuICBjYihuZXcgRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQoJ193cml0ZSgpJykpO1xufTtcbldyaXRhYmxlLnByb3RvdHlwZS5fd3JpdGV2ID0gbnVsbDtcbldyaXRhYmxlLnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xuICB2YXIgc3RhdGUgPSB0aGlzLl93cml0YWJsZVN0YXRlO1xuICBpZiAodHlwZW9mIGNodW5rID09PSAnZnVuY3Rpb24nKSB7XG4gICAgY2IgPSBjaHVuaztcbiAgICBjaHVuayA9IG51bGw7XG4gICAgZW5jb2RpbmcgPSBudWxsO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgIGNiID0gZW5jb2Rpbmc7XG4gICAgZW5jb2RpbmcgPSBudWxsO1xuICB9XG4gIGlmIChjaHVuayAhPT0gbnVsbCAmJiBjaHVuayAhPT0gdW5kZWZpbmVkKSB0aGlzLndyaXRlKGNodW5rLCBlbmNvZGluZyk7XG5cbiAgLy8gLmVuZCgpIGZ1bGx5IHVuY29ya3NcbiAgaWYgKHN0YXRlLmNvcmtlZCkge1xuICAgIHN0YXRlLmNvcmtlZCA9IDE7XG4gICAgdGhpcy51bmNvcmsoKTtcbiAgfVxuXG4gIC8vIGlnbm9yZSB1bm5lY2Vzc2FyeSBlbmQoKSBjYWxscy5cbiAgaWYgKCFzdGF0ZS5lbmRpbmcpIGVuZFdyaXRhYmxlKHRoaXMsIHN0YXRlLCBjYik7XG4gIHJldHVybiB0aGlzO1xufTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsICd3cml0YWJsZUxlbmd0aCcsIHtcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RoO1xuICB9XG59KTtcbmZ1bmN0aW9uIG5lZWRGaW5pc2goc3RhdGUpIHtcbiAgcmV0dXJuIHN0YXRlLmVuZGluZyAmJiBzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUuYnVmZmVyZWRSZXF1ZXN0ID09PSBudWxsICYmICFzdGF0ZS5maW5pc2hlZCAmJiAhc3RhdGUud3JpdGluZztcbn1cbmZ1bmN0aW9uIGNhbGxGaW5hbChzdHJlYW0sIHN0YXRlKSB7XG4gIHN0cmVhbS5fZmluYWwoZnVuY3Rpb24gKGVycikge1xuICAgIHN0YXRlLnBlbmRpbmdjYi0tO1xuICAgIGlmIChlcnIpIHtcbiAgICAgIGVycm9yT3JEZXN0cm95KHN0cmVhbSwgZXJyKTtcbiAgICB9XG4gICAgc3RhdGUucHJlZmluaXNoZWQgPSB0cnVlO1xuICAgIHN0cmVhbS5lbWl0KCdwcmVmaW5pc2gnKTtcbiAgICBmaW5pc2hNYXliZShzdHJlYW0sIHN0YXRlKTtcbiAgfSk7XG59XG5mdW5jdGlvbiBwcmVmaW5pc2goc3RyZWFtLCBzdGF0ZSkge1xuICBpZiAoIXN0YXRlLnByZWZpbmlzaGVkICYmICFzdGF0ZS5maW5hbENhbGxlZCkge1xuICAgIGlmICh0eXBlb2Ygc3RyZWFtLl9maW5hbCA9PT0gJ2Z1bmN0aW9uJyAmJiAhc3RhdGUuZGVzdHJveWVkKSB7XG4gICAgICBzdGF0ZS5wZW5kaW5nY2IrKztcbiAgICAgIHN0YXRlLmZpbmFsQ2FsbGVkID0gdHJ1ZTtcbiAgICAgIHByb2Nlc3MubmV4dFRpY2soY2FsbEZpbmFsLCBzdHJlYW0sIHN0YXRlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgc3RhdGUucHJlZmluaXNoZWQgPSB0cnVlO1xuICAgICAgc3RyZWFtLmVtaXQoJ3ByZWZpbmlzaCcpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSkge1xuICB2YXIgbmVlZCA9IG5lZWRGaW5pc2goc3RhdGUpO1xuICBpZiAobmVlZCkge1xuICAgIHByZWZpbmlzaChzdHJlYW0sIHN0YXRlKTtcbiAgICBpZiAoc3RhdGUucGVuZGluZ2NiID09PSAwKSB7XG4gICAgICBzdGF0ZS5maW5pc2hlZCA9IHRydWU7XG4gICAgICBzdHJlYW0uZW1pdCgnZmluaXNoJyk7XG4gICAgICBpZiAoc3RhdGUuYXV0b0Rlc3Ryb3kpIHtcbiAgICAgICAgLy8gSW4gY2FzZSBvZiBkdXBsZXggc3RyZWFtcyB3ZSBuZWVkIGEgd2F5IHRvIGRldGVjdFxuICAgICAgICAvLyBpZiB0aGUgcmVhZGFibGUgc2lkZSBpcyByZWFkeSBmb3IgYXV0b0Rlc3Ryb3kgYXMgd2VsbFxuICAgICAgICB2YXIgclN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xuICAgICAgICBpZiAoIXJTdGF0ZSB8fCByU3RhdGUuYXV0b0Rlc3Ryb3kgJiYgclN0YXRlLmVuZEVtaXR0ZWQpIHtcbiAgICAgICAgICBzdHJlYW0uZGVzdHJveSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBuZWVkO1xufVxuZnVuY3Rpb24gZW5kV3JpdGFibGUoc3RyZWFtLCBzdGF0ZSwgY2IpIHtcbiAgc3RhdGUuZW5kaW5nID0gdHJ1ZTtcbiAgZmluaXNoTWF5YmUoc3RyZWFtLCBzdGF0ZSk7XG4gIGlmIChjYikge1xuICAgIGlmIChzdGF0ZS5maW5pc2hlZCkgcHJvY2Vzcy5uZXh0VGljayhjYik7ZWxzZSBzdHJlYW0ub25jZSgnZmluaXNoJywgY2IpO1xuICB9XG4gIHN0YXRlLmVuZGVkID0gdHJ1ZTtcbiAgc3RyZWFtLndyaXRhYmxlID0gZmFsc2U7XG59XG5mdW5jdGlvbiBvbkNvcmtlZEZpbmlzaChjb3JrUmVxLCBzdGF0ZSwgZXJyKSB7XG4gIHZhciBlbnRyeSA9IGNvcmtSZXEuZW50cnk7XG4gIGNvcmtSZXEuZW50cnkgPSBudWxsO1xuICB3aGlsZSAoZW50cnkpIHtcbiAgICB2YXIgY2IgPSBlbnRyeS5jYWxsYmFjaztcbiAgICBzdGF0ZS5wZW5kaW5nY2ItLTtcbiAgICBjYihlcnIpO1xuICAgIGVudHJ5ID0gZW50cnkubmV4dDtcbiAgfVxuXG4gIC8vIHJldXNlIHRoZSBmcmVlIGNvcmtSZXEuXG4gIHN0YXRlLmNvcmtlZFJlcXVlc3RzRnJlZS5uZXh0ID0gY29ya1JlcTtcbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShXcml0YWJsZS5wcm90b3R5cGUsICdkZXN0cm95ZWQnLCB7XG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcbiAgZW51bWVyYWJsZTogZmFsc2UsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIGlmICh0aGlzLl93cml0YWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUuZGVzdHJveWVkO1xuICB9LFxuICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xuICAgIC8vIHdlIGlnbm9yZSB0aGUgdmFsdWUgaWYgdGhlIHN0cmVhbVxuICAgIC8vIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZCB5ZXRcbiAgICBpZiAoIXRoaXMuX3dyaXRhYmxlU3RhdGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB0aGUgdXNlciBpcyBleHBsaWNpdGx5XG4gICAgLy8gbWFuYWdpbmcgZGVzdHJveWVkXG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcbiAgfVxufSk7XG5Xcml0YWJsZS5wcm90b3R5cGUuZGVzdHJveSA9IGRlc3Ryb3lJbXBsLmRlc3Ryb3k7XG5Xcml0YWJsZS5wcm90b3R5cGUuX3VuZGVzdHJveSA9IGRlc3Ryb3lJbXBsLnVuZGVzdHJveTtcbldyaXRhYmxlLnByb3RvdHlwZS5fZGVzdHJveSA9IGZ1bmN0aW9uIChlcnIsIGNiKSB7XG4gIGNiKGVycik7XG59OyIsICIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuLy8gYSBkdXBsZXggc3RyZWFtIGlzIGp1c3QgYSBzdHJlYW0gdGhhdCBpcyBib3RoIHJlYWRhYmxlIGFuZCB3cml0YWJsZS5cbi8vIFNpbmNlIEpTIGRvZXNuJ3QgaGF2ZSBtdWx0aXBsZSBwcm90b3R5cGFsIGluaGVyaXRhbmNlLCB0aGlzIGNsYXNzXG4vLyBwcm90b3R5cGFsbHkgaW5oZXJpdHMgZnJvbSBSZWFkYWJsZSwgYW5kIHRoZW4gcGFyYXNpdGljYWxseSBmcm9tXG4vLyBXcml0YWJsZS5cblxuJ3VzZSBzdHJpY3QnO1xuXG4vKjxyZXBsYWNlbWVudD4qL1xudmFyIG9iamVjdEtleXMgPSBPYmplY3Qua2V5cyB8fCBmdW5jdGlvbiAob2JqKSB7XG4gIHZhciBrZXlzID0gW107XG4gIGZvciAodmFyIGtleSBpbiBvYmopIGtleXMucHVzaChrZXkpO1xuICByZXR1cm4ga2V5cztcbn07XG4vKjwvcmVwbGFjZW1lbnQ+Ki9cblxubW9kdWxlLmV4cG9ydHMgPSBEdXBsZXg7XG52YXIgUmVhZGFibGUgPSByZXF1aXJlKCcuL19zdHJlYW1fcmVhZGFibGUnKTtcbnZhciBXcml0YWJsZSA9IHJlcXVpcmUoJy4vX3N0cmVhbV93cml0YWJsZScpO1xucmVxdWlyZSgnaW5oZXJpdHMnKShEdXBsZXgsIFJlYWRhYmxlKTtcbntcbiAgLy8gQWxsb3cgdGhlIGtleXMgYXJyYXkgdG8gYmUgR0MnZWQuXG4gIHZhciBrZXlzID0gb2JqZWN0S2V5cyhXcml0YWJsZS5wcm90b3R5cGUpO1xuICBmb3IgKHZhciB2ID0gMDsgdiA8IGtleXMubGVuZ3RoOyB2KyspIHtcbiAgICB2YXIgbWV0aG9kID0ga2V5c1t2XTtcbiAgICBpZiAoIUR1cGxleC5wcm90b3R5cGVbbWV0aG9kXSkgRHVwbGV4LnByb3RvdHlwZVttZXRob2RdID0gV3JpdGFibGUucHJvdG90eXBlW21ldGhvZF07XG4gIH1cbn1cbmZ1bmN0aW9uIER1cGxleChvcHRpb25zKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBEdXBsZXgpKSByZXR1cm4gbmV3IER1cGxleChvcHRpb25zKTtcbiAgUmVhZGFibGUuY2FsbCh0aGlzLCBvcHRpb25zKTtcbiAgV3JpdGFibGUuY2FsbCh0aGlzLCBvcHRpb25zKTtcbiAgdGhpcy5hbGxvd0hhbGZPcGVuID0gdHJ1ZTtcbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBpZiAob3B0aW9ucy5yZWFkYWJsZSA9PT0gZmFsc2UpIHRoaXMucmVhZGFibGUgPSBmYWxzZTtcbiAgICBpZiAob3B0aW9ucy53cml0YWJsZSA9PT0gZmFsc2UpIHRoaXMud3JpdGFibGUgPSBmYWxzZTtcbiAgICBpZiAob3B0aW9ucy5hbGxvd0hhbGZPcGVuID09PSBmYWxzZSkge1xuICAgICAgdGhpcy5hbGxvd0hhbGZPcGVuID0gZmFsc2U7XG4gICAgICB0aGlzLm9uY2UoJ2VuZCcsIG9uZW5kKTtcbiAgICB9XG4gIH1cbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLCAnd3JpdGFibGVIaWdoV2F0ZXJNYXJrJywge1xuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXG4gIGVudW1lcmFibGU6IGZhbHNlLFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5fd3JpdGFibGVTdGF0ZS5oaWdoV2F0ZXJNYXJrO1xuICB9XG59KTtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLCAnd3JpdGFibGVCdWZmZXInLCB7XG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcbiAgZW51bWVyYWJsZTogZmFsc2UsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLl93cml0YWJsZVN0YXRlICYmIHRoaXMuX3dyaXRhYmxlU3RhdGUuZ2V0QnVmZmVyKCk7XG4gIH1cbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KER1cGxleC5wcm90b3R5cGUsICd3cml0YWJsZUxlbmd0aCcsIHtcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3dyaXRhYmxlU3RhdGUubGVuZ3RoO1xuICB9XG59KTtcblxuLy8gdGhlIG5vLWhhbGYtb3BlbiBlbmZvcmNlclxuZnVuY3Rpb24gb25lbmQoKSB7XG4gIC8vIElmIHRoZSB3cml0YWJsZSBzaWRlIGVuZGVkLCB0aGVuIHdlJ3JlIG9rLlxuICBpZiAodGhpcy5fd3JpdGFibGVTdGF0ZS5lbmRlZCkgcmV0dXJuO1xuXG4gIC8vIG5vIG1vcmUgZGF0YSBjYW4gYmUgd3JpdHRlbi5cbiAgLy8gQnV0IGFsbG93IG1vcmUgd3JpdGVzIHRvIGhhcHBlbiBpbiB0aGlzIHRpY2suXG4gIHByb2Nlc3MubmV4dFRpY2sob25FbmROVCwgdGhpcyk7XG59XG5mdW5jdGlvbiBvbkVuZE5UKHNlbGYpIHtcbiAgc2VsZi5lbmQoKTtcbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShEdXBsZXgucHJvdG90eXBlLCAnZGVzdHJveWVkJywge1xuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXG4gIGVudW1lcmFibGU6IGZhbHNlLFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICBpZiAodGhpcy5fcmVhZGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkIHx8IHRoaXMuX3dyaXRhYmxlU3RhdGUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgJiYgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQ7XG4gIH0sXG4gIHNldDogZnVuY3Rpb24gc2V0KHZhbHVlKSB7XG4gICAgLy8gd2UgaWdub3JlIHRoZSB2YWx1ZSBpZiB0aGUgc3RyZWFtXG4gICAgLy8gaGFzIG5vdCBiZWVuIGluaXRpYWxpemVkIHlldFxuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlID09PSB1bmRlZmluZWQgfHwgdGhpcy5fd3JpdGFibGVTdGF0ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgdGhlIHVzZXIgaXMgZXhwbGljaXRseVxuICAgIC8vIG1hbmFnaW5nIGRlc3Ryb3llZFxuICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkID0gdmFsdWU7XG4gICAgdGhpcy5fd3JpdGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcbiAgfVxufSk7IiwgIi8qISBzYWZlLWJ1ZmZlci4gTUlUIExpY2Vuc2UuIEZlcm9zcyBBYm91a2hhZGlqZWggPGh0dHBzOi8vZmVyb3NzLm9yZy9vcGVuc291cmNlPiAqL1xuLyogZXNsaW50LWRpc2FibGUgbm9kZS9uby1kZXByZWNhdGVkLWFwaSAqL1xudmFyIGJ1ZmZlciA9IHJlcXVpcmUoJ2J1ZmZlcicpXG52YXIgQnVmZmVyID0gYnVmZmVyLkJ1ZmZlclxuXG4vLyBhbHRlcm5hdGl2ZSB0byB1c2luZyBPYmplY3Qua2V5cyBmb3Igb2xkIGJyb3dzZXJzXG5mdW5jdGlvbiBjb3B5UHJvcHMgKHNyYywgZHN0KSB7XG4gIGZvciAodmFyIGtleSBpbiBzcmMpIHtcbiAgICBkc3Rba2V5XSA9IHNyY1trZXldXG4gIH1cbn1cbmlmIChCdWZmZXIuZnJvbSAmJiBCdWZmZXIuYWxsb2MgJiYgQnVmZmVyLmFsbG9jVW5zYWZlICYmIEJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cpIHtcbiAgbW9kdWxlLmV4cG9ydHMgPSBidWZmZXJcbn0gZWxzZSB7XG4gIC8vIENvcHkgcHJvcGVydGllcyBmcm9tIHJlcXVpcmUoJ2J1ZmZlcicpXG4gIGNvcHlQcm9wcyhidWZmZXIsIGV4cG9ydHMpXG4gIGV4cG9ydHMuQnVmZmVyID0gU2FmZUJ1ZmZlclxufVxuXG5mdW5jdGlvbiBTYWZlQnVmZmVyIChhcmcsIGVuY29kaW5nT3JPZmZzZXQsIGxlbmd0aCkge1xuICByZXR1cm4gQnVmZmVyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxufVxuXG5TYWZlQnVmZmVyLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoQnVmZmVyLnByb3RvdHlwZSlcblxuLy8gQ29weSBzdGF0aWMgbWV0aG9kcyBmcm9tIEJ1ZmZlclxuY29weVByb3BzKEJ1ZmZlciwgU2FmZUJ1ZmZlcilcblxuU2FmZUJ1ZmZlci5mcm9tID0gZnVuY3Rpb24gKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKSB7XG4gIGlmICh0eXBlb2YgYXJnID09PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3Qgbm90IGJlIGEgbnVtYmVyJylcbiAgfVxuICByZXR1cm4gQnVmZmVyKGFyZywgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKVxufVxuXG5TYWZlQnVmZmVyLmFsbG9jID0gZnVuY3Rpb24gKHNpemUsIGZpbGwsIGVuY29kaW5nKSB7XG4gIGlmICh0eXBlb2Ygc2l6ZSAhPT0gJ251bWJlcicpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdBcmd1bWVudCBtdXN0IGJlIGEgbnVtYmVyJylcbiAgfVxuICB2YXIgYnVmID0gQnVmZmVyKHNpemUpXG4gIGlmIChmaWxsICE9PSB1bmRlZmluZWQpIHtcbiAgICBpZiAodHlwZW9mIGVuY29kaW5nID09PSAnc3RyaW5nJykge1xuICAgICAgYnVmLmZpbGwoZmlsbCwgZW5jb2RpbmcpXG4gICAgfSBlbHNlIHtcbiAgICAgIGJ1Zi5maWxsKGZpbGwpXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIGJ1Zi5maWxsKDApXG4gIH1cbiAgcmV0dXJuIGJ1ZlxufVxuXG5TYWZlQnVmZmVyLmFsbG9jVW5zYWZlID0gZnVuY3Rpb24gKHNpemUpIHtcbiAgaWYgKHR5cGVvZiBzaXplICE9PSAnbnVtYmVyJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0FyZ3VtZW50IG11c3QgYmUgYSBudW1iZXInKVxuICB9XG4gIHJldHVybiBCdWZmZXIoc2l6ZSlcbn1cblxuU2FmZUJ1ZmZlci5hbGxvY1Vuc2FmZVNsb3cgPSBmdW5jdGlvbiAoc2l6ZSkge1xuICBpZiAodHlwZW9mIHNpemUgIT09ICdudW1iZXInKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignQXJndW1lbnQgbXVzdCBiZSBhIG51bWJlcicpXG4gIH1cbiAgcmV0dXJuIGJ1ZmZlci5TbG93QnVmZmVyKHNpemUpXG59XG4iLCAiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Jcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG5cbid1c2Ugc3RyaWN0JztcblxuLyo8cmVwbGFjZW1lbnQ+Ki9cblxudmFyIEJ1ZmZlciA9IHJlcXVpcmUoJ3NhZmUtYnVmZmVyJykuQnVmZmVyO1xuLyo8L3JlcGxhY2VtZW50PiovXG5cbnZhciBpc0VuY29kaW5nID0gQnVmZmVyLmlzRW5jb2RpbmcgfHwgZnVuY3Rpb24gKGVuY29kaW5nKSB7XG4gIGVuY29kaW5nID0gJycgKyBlbmNvZGluZztcbiAgc3dpdGNoIChlbmNvZGluZyAmJiBlbmNvZGluZy50b0xvd2VyQ2FzZSgpKSB7XG4gICAgY2FzZSAnaGV4JzpjYXNlICd1dGY4JzpjYXNlICd1dGYtOCc6Y2FzZSAnYXNjaWknOmNhc2UgJ2JpbmFyeSc6Y2FzZSAnYmFzZTY0JzpjYXNlICd1Y3MyJzpjYXNlICd1Y3MtMic6Y2FzZSAndXRmMTZsZSc6Y2FzZSAndXRmLTE2bGUnOmNhc2UgJ3Jhdyc6XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIGZhbHNlO1xuICB9XG59O1xuXG5mdW5jdGlvbiBfbm9ybWFsaXplRW5jb2RpbmcoZW5jKSB7XG4gIGlmICghZW5jKSByZXR1cm4gJ3V0ZjgnO1xuICB2YXIgcmV0cmllZDtcbiAgd2hpbGUgKHRydWUpIHtcbiAgICBzd2l0Y2ggKGVuYykge1xuICAgICAgY2FzZSAndXRmOCc6XG4gICAgICBjYXNlICd1dGYtOCc6XG4gICAgICAgIHJldHVybiAndXRmOCc7XG4gICAgICBjYXNlICd1Y3MyJzpcbiAgICAgIGNhc2UgJ3Vjcy0yJzpcbiAgICAgIGNhc2UgJ3V0ZjE2bGUnOlxuICAgICAgY2FzZSAndXRmLTE2bGUnOlxuICAgICAgICByZXR1cm4gJ3V0ZjE2bGUnO1xuICAgICAgY2FzZSAnbGF0aW4xJzpcbiAgICAgIGNhc2UgJ2JpbmFyeSc6XG4gICAgICAgIHJldHVybiAnbGF0aW4xJztcbiAgICAgIGNhc2UgJ2Jhc2U2NCc6XG4gICAgICBjYXNlICdhc2NpaSc6XG4gICAgICBjYXNlICdoZXgnOlxuICAgICAgICByZXR1cm4gZW5jO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgaWYgKHJldHJpZWQpIHJldHVybjsgLy8gdW5kZWZpbmVkXG4gICAgICAgIGVuYyA9ICgnJyArIGVuYykudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgcmV0cmllZCA9IHRydWU7XG4gICAgfVxuICB9XG59O1xuXG4vLyBEbyBub3QgY2FjaGUgYEJ1ZmZlci5pc0VuY29kaW5nYCB3aGVuIGNoZWNraW5nIGVuY29kaW5nIG5hbWVzIGFzIHNvbWVcbi8vIG1vZHVsZXMgbW9ua2V5LXBhdGNoIGl0IHRvIHN1cHBvcnQgYWRkaXRpb25hbCBlbmNvZGluZ3NcbmZ1bmN0aW9uIG5vcm1hbGl6ZUVuY29kaW5nKGVuYykge1xuICB2YXIgbmVuYyA9IF9ub3JtYWxpemVFbmNvZGluZyhlbmMpO1xuICBpZiAodHlwZW9mIG5lbmMgIT09ICdzdHJpbmcnICYmIChCdWZmZXIuaXNFbmNvZGluZyA9PT0gaXNFbmNvZGluZyB8fCAhaXNFbmNvZGluZyhlbmMpKSkgdGhyb3cgbmV3IEVycm9yKCdVbmtub3duIGVuY29kaW5nOiAnICsgZW5jKTtcbiAgcmV0dXJuIG5lbmMgfHwgZW5jO1xufVxuXG4vLyBTdHJpbmdEZWNvZGVyIHByb3ZpZGVzIGFuIGludGVyZmFjZSBmb3IgZWZmaWNpZW50bHkgc3BsaXR0aW5nIGEgc2VyaWVzIG9mXG4vLyBidWZmZXJzIGludG8gYSBzZXJpZXMgb2YgSlMgc3RyaW5ncyB3aXRob3V0IGJyZWFraW5nIGFwYXJ0IG11bHRpLWJ5dGVcbi8vIGNoYXJhY3RlcnMuXG5leHBvcnRzLlN0cmluZ0RlY29kZXIgPSBTdHJpbmdEZWNvZGVyO1xuZnVuY3Rpb24gU3RyaW5nRGVjb2RlcihlbmNvZGluZykge1xuICB0aGlzLmVuY29kaW5nID0gbm9ybWFsaXplRW5jb2RpbmcoZW5jb2RpbmcpO1xuICB2YXIgbmI7XG4gIHN3aXRjaCAodGhpcy5lbmNvZGluZykge1xuICAgIGNhc2UgJ3V0ZjE2bGUnOlxuICAgICAgdGhpcy50ZXh0ID0gdXRmMTZUZXh0O1xuICAgICAgdGhpcy5lbmQgPSB1dGYxNkVuZDtcbiAgICAgIG5iID0gNDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ3V0ZjgnOlxuICAgICAgdGhpcy5maWxsTGFzdCA9IHV0ZjhGaWxsTGFzdDtcbiAgICAgIG5iID0gNDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2Jhc2U2NCc6XG4gICAgICB0aGlzLnRleHQgPSBiYXNlNjRUZXh0O1xuICAgICAgdGhpcy5lbmQgPSBiYXNlNjRFbmQ7XG4gICAgICBuYiA9IDM7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhpcy53cml0ZSA9IHNpbXBsZVdyaXRlO1xuICAgICAgdGhpcy5lbmQgPSBzaW1wbGVFbmQ7XG4gICAgICByZXR1cm47XG4gIH1cbiAgdGhpcy5sYXN0TmVlZCA9IDA7XG4gIHRoaXMubGFzdFRvdGFsID0gMDtcbiAgdGhpcy5sYXN0Q2hhciA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShuYik7XG59XG5cblN0cmluZ0RlY29kZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24gKGJ1Zikge1xuICBpZiAoYnVmLmxlbmd0aCA9PT0gMCkgcmV0dXJuICcnO1xuICB2YXIgcjtcbiAgdmFyIGk7XG4gIGlmICh0aGlzLmxhc3ROZWVkKSB7XG4gICAgciA9IHRoaXMuZmlsbExhc3QoYnVmKTtcbiAgICBpZiAociA9PT0gdW5kZWZpbmVkKSByZXR1cm4gJyc7XG4gICAgaSA9IHRoaXMubGFzdE5lZWQ7XG4gICAgdGhpcy5sYXN0TmVlZCA9IDA7XG4gIH0gZWxzZSB7XG4gICAgaSA9IDA7XG4gIH1cbiAgaWYgKGkgPCBidWYubGVuZ3RoKSByZXR1cm4gciA/IHIgKyB0aGlzLnRleHQoYnVmLCBpKSA6IHRoaXMudGV4dChidWYsIGkpO1xuICByZXR1cm4gciB8fCAnJztcbn07XG5cblN0cmluZ0RlY29kZXIucHJvdG90eXBlLmVuZCA9IHV0ZjhFbmQ7XG5cbi8vIFJldHVybnMgb25seSBjb21wbGV0ZSBjaGFyYWN0ZXJzIGluIGEgQnVmZmVyXG5TdHJpbmdEZWNvZGVyLnByb3RvdHlwZS50ZXh0ID0gdXRmOFRleHQ7XG5cbi8vIEF0dGVtcHRzIHRvIGNvbXBsZXRlIGEgcGFydGlhbCBub24tVVRGLTggY2hhcmFjdGVyIHVzaW5nIGJ5dGVzIGZyb20gYSBCdWZmZXJcblN0cmluZ0RlY29kZXIucHJvdG90eXBlLmZpbGxMYXN0ID0gZnVuY3Rpb24gKGJ1Zikge1xuICBpZiAodGhpcy5sYXN0TmVlZCA8PSBidWYubGVuZ3RoKSB7XG4gICAgYnVmLmNvcHkodGhpcy5sYXN0Q2hhciwgdGhpcy5sYXN0VG90YWwgLSB0aGlzLmxhc3ROZWVkLCAwLCB0aGlzLmxhc3ROZWVkKTtcbiAgICByZXR1cm4gdGhpcy5sYXN0Q2hhci50b1N0cmluZyh0aGlzLmVuY29kaW5nLCAwLCB0aGlzLmxhc3RUb3RhbCk7XG4gIH1cbiAgYnVmLmNvcHkodGhpcy5sYXN0Q2hhciwgdGhpcy5sYXN0VG90YWwgLSB0aGlzLmxhc3ROZWVkLCAwLCBidWYubGVuZ3RoKTtcbiAgdGhpcy5sYXN0TmVlZCAtPSBidWYubGVuZ3RoO1xufTtcblxuLy8gQ2hlY2tzIHRoZSB0eXBlIG9mIGEgVVRGLTggYnl0ZSwgd2hldGhlciBpdCdzIEFTQ0lJLCBhIGxlYWRpbmcgYnl0ZSwgb3IgYVxuLy8gY29udGludWF0aW9uIGJ5dGUuIElmIGFuIGludmFsaWQgYnl0ZSBpcyBkZXRlY3RlZCwgLTIgaXMgcmV0dXJuZWQuXG5mdW5jdGlvbiB1dGY4Q2hlY2tCeXRlKGJ5dGUpIHtcbiAgaWYgKGJ5dGUgPD0gMHg3RikgcmV0dXJuIDA7ZWxzZSBpZiAoYnl0ZSA+PiA1ID09PSAweDA2KSByZXR1cm4gMjtlbHNlIGlmIChieXRlID4+IDQgPT09IDB4MEUpIHJldHVybiAzO2Vsc2UgaWYgKGJ5dGUgPj4gMyA9PT0gMHgxRSkgcmV0dXJuIDQ7XG4gIHJldHVybiBieXRlID4+IDYgPT09IDB4MDIgPyAtMSA6IC0yO1xufVxuXG4vLyBDaGVja3MgYXQgbW9zdCAzIGJ5dGVzIGF0IHRoZSBlbmQgb2YgYSBCdWZmZXIgaW4gb3JkZXIgdG8gZGV0ZWN0IGFuXG4vLyBpbmNvbXBsZXRlIG11bHRpLWJ5dGUgVVRGLTggY2hhcmFjdGVyLiBUaGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzICgyLCAzLCBvciA0KVxuLy8gbmVlZGVkIHRvIGNvbXBsZXRlIHRoZSBVVEYtOCBjaGFyYWN0ZXIgKGlmIGFwcGxpY2FibGUpIGFyZSByZXR1cm5lZC5cbmZ1bmN0aW9uIHV0ZjhDaGVja0luY29tcGxldGUoc2VsZiwgYnVmLCBpKSB7XG4gIHZhciBqID0gYnVmLmxlbmd0aCAtIDE7XG4gIGlmIChqIDwgaSkgcmV0dXJuIDA7XG4gIHZhciBuYiA9IHV0ZjhDaGVja0J5dGUoYnVmW2pdKTtcbiAgaWYgKG5iID49IDApIHtcbiAgICBpZiAobmIgPiAwKSBzZWxmLmxhc3ROZWVkID0gbmIgLSAxO1xuICAgIHJldHVybiBuYjtcbiAgfVxuICBpZiAoLS1qIDwgaSB8fCBuYiA9PT0gLTIpIHJldHVybiAwO1xuICBuYiA9IHV0ZjhDaGVja0J5dGUoYnVmW2pdKTtcbiAgaWYgKG5iID49IDApIHtcbiAgICBpZiAobmIgPiAwKSBzZWxmLmxhc3ROZWVkID0gbmIgLSAyO1xuICAgIHJldHVybiBuYjtcbiAgfVxuICBpZiAoLS1qIDwgaSB8fCBuYiA9PT0gLTIpIHJldHVybiAwO1xuICBuYiA9IHV0ZjhDaGVja0J5dGUoYnVmW2pdKTtcbiAgaWYgKG5iID49IDApIHtcbiAgICBpZiAobmIgPiAwKSB7XG4gICAgICBpZiAobmIgPT09IDIpIG5iID0gMDtlbHNlIHNlbGYubGFzdE5lZWQgPSBuYiAtIDM7XG4gICAgfVxuICAgIHJldHVybiBuYjtcbiAgfVxuICByZXR1cm4gMDtcbn1cblxuLy8gVmFsaWRhdGVzIGFzIG1hbnkgY29udGludWF0aW9uIGJ5dGVzIGZvciBhIG11bHRpLWJ5dGUgVVRGLTggY2hhcmFjdGVyIGFzXG4vLyBuZWVkZWQgb3IgYXJlIGF2YWlsYWJsZS4gSWYgd2Ugc2VlIGEgbm9uLWNvbnRpbnVhdGlvbiBieXRlIHdoZXJlIHdlIGV4cGVjdFxuLy8gb25lLCB3ZSBcInJlcGxhY2VcIiB0aGUgdmFsaWRhdGVkIGNvbnRpbnVhdGlvbiBieXRlcyB3ZSd2ZSBzZWVuIHNvIGZhciB3aXRoXG4vLyBhIHNpbmdsZSBVVEYtOCByZXBsYWNlbWVudCBjaGFyYWN0ZXIgKCdcXHVmZmZkJyksIHRvIG1hdGNoIHY4J3MgVVRGLTggZGVjb2Rpbmdcbi8vIGJlaGF2aW9yLiBUaGUgY29udGludWF0aW9uIGJ5dGUgY2hlY2sgaXMgaW5jbHVkZWQgdGhyZWUgdGltZXMgaW4gdGhlIGNhc2Vcbi8vIHdoZXJlIGFsbCBvZiB0aGUgY29udGludWF0aW9uIGJ5dGVzIGZvciBhIGNoYXJhY3RlciBleGlzdCBpbiB0aGUgc2FtZSBidWZmZXIuXG4vLyBJdCBpcyBhbHNvIGRvbmUgdGhpcyB3YXkgYXMgYSBzbGlnaHQgcGVyZm9ybWFuY2UgaW5jcmVhc2UgaW5zdGVhZCBvZiB1c2luZyBhXG4vLyBsb29wLlxuZnVuY3Rpb24gdXRmOENoZWNrRXh0cmFCeXRlcyhzZWxmLCBidWYsIHApIHtcbiAgaWYgKChidWZbMF0gJiAweEMwKSAhPT0gMHg4MCkge1xuICAgIHNlbGYubGFzdE5lZWQgPSAwO1xuICAgIHJldHVybiAnXFx1ZmZmZCc7XG4gIH1cbiAgaWYgKHNlbGYubGFzdE5lZWQgPiAxICYmIGJ1Zi5sZW5ndGggPiAxKSB7XG4gICAgaWYgKChidWZbMV0gJiAweEMwKSAhPT0gMHg4MCkge1xuICAgICAgc2VsZi5sYXN0TmVlZCA9IDE7XG4gICAgICByZXR1cm4gJ1xcdWZmZmQnO1xuICAgIH1cbiAgICBpZiAoc2VsZi5sYXN0TmVlZCA+IDIgJiYgYnVmLmxlbmd0aCA+IDIpIHtcbiAgICAgIGlmICgoYnVmWzJdICYgMHhDMCkgIT09IDB4ODApIHtcbiAgICAgICAgc2VsZi5sYXN0TmVlZCA9IDI7XG4gICAgICAgIHJldHVybiAnXFx1ZmZmZCc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEF0dGVtcHRzIHRvIGNvbXBsZXRlIGEgbXVsdGktYnl0ZSBVVEYtOCBjaGFyYWN0ZXIgdXNpbmcgYnl0ZXMgZnJvbSBhIEJ1ZmZlci5cbmZ1bmN0aW9uIHV0ZjhGaWxsTGFzdChidWYpIHtcbiAgdmFyIHAgPSB0aGlzLmxhc3RUb3RhbCAtIHRoaXMubGFzdE5lZWQ7XG4gIHZhciByID0gdXRmOENoZWNrRXh0cmFCeXRlcyh0aGlzLCBidWYsIHApO1xuICBpZiAociAhPT0gdW5kZWZpbmVkKSByZXR1cm4gcjtcbiAgaWYgKHRoaXMubGFzdE5lZWQgPD0gYnVmLmxlbmd0aCkge1xuICAgIGJ1Zi5jb3B5KHRoaXMubGFzdENoYXIsIHAsIDAsIHRoaXMubGFzdE5lZWQpO1xuICAgIHJldHVybiB0aGlzLmxhc3RDaGFyLnRvU3RyaW5nKHRoaXMuZW5jb2RpbmcsIDAsIHRoaXMubGFzdFRvdGFsKTtcbiAgfVxuICBidWYuY29weSh0aGlzLmxhc3RDaGFyLCBwLCAwLCBidWYubGVuZ3RoKTtcbiAgdGhpcy5sYXN0TmVlZCAtPSBidWYubGVuZ3RoO1xufVxuXG4vLyBSZXR1cm5zIGFsbCBjb21wbGV0ZSBVVEYtOCBjaGFyYWN0ZXJzIGluIGEgQnVmZmVyLiBJZiB0aGUgQnVmZmVyIGVuZGVkIG9uIGFcbi8vIHBhcnRpYWwgY2hhcmFjdGVyLCB0aGUgY2hhcmFjdGVyJ3MgYnl0ZXMgYXJlIGJ1ZmZlcmVkIHVudGlsIHRoZSByZXF1aXJlZFxuLy8gbnVtYmVyIG9mIGJ5dGVzIGFyZSBhdmFpbGFibGUuXG5mdW5jdGlvbiB1dGY4VGV4dChidWYsIGkpIHtcbiAgdmFyIHRvdGFsID0gdXRmOENoZWNrSW5jb21wbGV0ZSh0aGlzLCBidWYsIGkpO1xuICBpZiAoIXRoaXMubGFzdE5lZWQpIHJldHVybiBidWYudG9TdHJpbmcoJ3V0ZjgnLCBpKTtcbiAgdGhpcy5sYXN0VG90YWwgPSB0b3RhbDtcbiAgdmFyIGVuZCA9IGJ1Zi5sZW5ndGggLSAodG90YWwgLSB0aGlzLmxhc3ROZWVkKTtcbiAgYnVmLmNvcHkodGhpcy5sYXN0Q2hhciwgMCwgZW5kKTtcbiAgcmV0dXJuIGJ1Zi50b1N0cmluZygndXRmOCcsIGksIGVuZCk7XG59XG5cbi8vIEZvciBVVEYtOCwgYSByZXBsYWNlbWVudCBjaGFyYWN0ZXIgaXMgYWRkZWQgd2hlbiBlbmRpbmcgb24gYSBwYXJ0aWFsXG4vLyBjaGFyYWN0ZXIuXG5mdW5jdGlvbiB1dGY4RW5kKGJ1Zikge1xuICB2YXIgciA9IGJ1ZiAmJiBidWYubGVuZ3RoID8gdGhpcy53cml0ZShidWYpIDogJyc7XG4gIGlmICh0aGlzLmxhc3ROZWVkKSByZXR1cm4gciArICdcXHVmZmZkJztcbiAgcmV0dXJuIHI7XG59XG5cbi8vIFVURi0xNkxFIHR5cGljYWxseSBuZWVkcyB0d28gYnl0ZXMgcGVyIGNoYXJhY3RlciwgYnV0IGV2ZW4gaWYgd2UgaGF2ZSBhbiBldmVuXG4vLyBudW1iZXIgb2YgYnl0ZXMgYXZhaWxhYmxlLCB3ZSBuZWVkIHRvIGNoZWNrIGlmIHdlIGVuZCBvbiBhIGxlYWRpbmcvaGlnaFxuLy8gc3Vycm9nYXRlLiBJbiB0aGF0IGNhc2UsIHdlIG5lZWQgdG8gd2FpdCBmb3IgdGhlIG5leHQgdHdvIGJ5dGVzIGluIG9yZGVyIHRvXG4vLyBkZWNvZGUgdGhlIGxhc3QgY2hhcmFjdGVyIHByb3Blcmx5LlxuZnVuY3Rpb24gdXRmMTZUZXh0KGJ1ZiwgaSkge1xuICBpZiAoKGJ1Zi5sZW5ndGggLSBpKSAlIDIgPT09IDApIHtcbiAgICB2YXIgciA9IGJ1Zi50b1N0cmluZygndXRmMTZsZScsIGkpO1xuICAgIGlmIChyKSB7XG4gICAgICB2YXIgYyA9IHIuY2hhckNvZGVBdChyLmxlbmd0aCAtIDEpO1xuICAgICAgaWYgKGMgPj0gMHhEODAwICYmIGMgPD0gMHhEQkZGKSB7XG4gICAgICAgIHRoaXMubGFzdE5lZWQgPSAyO1xuICAgICAgICB0aGlzLmxhc3RUb3RhbCA9IDQ7XG4gICAgICAgIHRoaXMubGFzdENoYXJbMF0gPSBidWZbYnVmLmxlbmd0aCAtIDJdO1xuICAgICAgICB0aGlzLmxhc3RDaGFyWzFdID0gYnVmW2J1Zi5sZW5ndGggLSAxXTtcbiAgICAgICAgcmV0dXJuIHIuc2xpY2UoMCwgLTEpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcjtcbiAgfVxuICB0aGlzLmxhc3ROZWVkID0gMTtcbiAgdGhpcy5sYXN0VG90YWwgPSAyO1xuICB0aGlzLmxhc3RDaGFyWzBdID0gYnVmW2J1Zi5sZW5ndGggLSAxXTtcbiAgcmV0dXJuIGJ1Zi50b1N0cmluZygndXRmMTZsZScsIGksIGJ1Zi5sZW5ndGggLSAxKTtcbn1cblxuLy8gRm9yIFVURi0xNkxFIHdlIGRvIG5vdCBleHBsaWNpdGx5IGFwcGVuZCBzcGVjaWFsIHJlcGxhY2VtZW50IGNoYXJhY3RlcnMgaWYgd2Vcbi8vIGVuZCBvbiBhIHBhcnRpYWwgY2hhcmFjdGVyLCB3ZSBzaW1wbHkgbGV0IHY4IGhhbmRsZSB0aGF0LlxuZnVuY3Rpb24gdXRmMTZFbmQoYnVmKSB7XG4gIHZhciByID0gYnVmICYmIGJ1Zi5sZW5ndGggPyB0aGlzLndyaXRlKGJ1ZikgOiAnJztcbiAgaWYgKHRoaXMubGFzdE5lZWQpIHtcbiAgICB2YXIgZW5kID0gdGhpcy5sYXN0VG90YWwgLSB0aGlzLmxhc3ROZWVkO1xuICAgIHJldHVybiByICsgdGhpcy5sYXN0Q2hhci50b1N0cmluZygndXRmMTZsZScsIDAsIGVuZCk7XG4gIH1cbiAgcmV0dXJuIHI7XG59XG5cbmZ1bmN0aW9uIGJhc2U2NFRleHQoYnVmLCBpKSB7XG4gIHZhciBuID0gKGJ1Zi5sZW5ndGggLSBpKSAlIDM7XG4gIGlmIChuID09PSAwKSByZXR1cm4gYnVmLnRvU3RyaW5nKCdiYXNlNjQnLCBpKTtcbiAgdGhpcy5sYXN0TmVlZCA9IDMgLSBuO1xuICB0aGlzLmxhc3RUb3RhbCA9IDM7XG4gIGlmIChuID09PSAxKSB7XG4gICAgdGhpcy5sYXN0Q2hhclswXSA9IGJ1ZltidWYubGVuZ3RoIC0gMV07XG4gIH0gZWxzZSB7XG4gICAgdGhpcy5sYXN0Q2hhclswXSA9IGJ1ZltidWYubGVuZ3RoIC0gMl07XG4gICAgdGhpcy5sYXN0Q2hhclsxXSA9IGJ1ZltidWYubGVuZ3RoIC0gMV07XG4gIH1cbiAgcmV0dXJuIGJ1Zi50b1N0cmluZygnYmFzZTY0JywgaSwgYnVmLmxlbmd0aCAtIG4pO1xufVxuXG5mdW5jdGlvbiBiYXNlNjRFbmQoYnVmKSB7XG4gIHZhciByID0gYnVmICYmIGJ1Zi5sZW5ndGggPyB0aGlzLndyaXRlKGJ1ZikgOiAnJztcbiAgaWYgKHRoaXMubGFzdE5lZWQpIHJldHVybiByICsgdGhpcy5sYXN0Q2hhci50b1N0cmluZygnYmFzZTY0JywgMCwgMyAtIHRoaXMubGFzdE5lZWQpO1xuICByZXR1cm4gcjtcbn1cblxuLy8gUGFzcyBieXRlcyBvbiB0aHJvdWdoIGZvciBzaW5nbGUtYnl0ZSBlbmNvZGluZ3MgKGUuZy4gYXNjaWksIGxhdGluMSwgaGV4KVxuZnVuY3Rpb24gc2ltcGxlV3JpdGUoYnVmKSB7XG4gIHJldHVybiBidWYudG9TdHJpbmcodGhpcy5lbmNvZGluZyk7XG59XG5cbmZ1bmN0aW9uIHNpbXBsZUVuZChidWYpIHtcbiAgcmV0dXJuIGJ1ZiAmJiBidWYubGVuZ3RoID8gdGhpcy53cml0ZShidWYpIDogJyc7XG59IiwgIi8vIFBvcnRlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9tYWZpbnRvc2gvZW5kLW9mLXN0cmVhbSB3aXRoXG4vLyBwZXJtaXNzaW9uIGZyb20gdGhlIGF1dGhvciwgTWF0aGlhcyBCdXVzIChAbWFmaW50b3NoKS5cblxuJ3VzZSBzdHJpY3QnO1xuXG52YXIgRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UgPSByZXF1aXJlKCcuLi8uLi8uLi9lcnJvcnMnKS5jb2Rlcy5FUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRTtcbmZ1bmN0aW9uIG9uY2UoY2FsbGJhY2spIHtcbiAgdmFyIGNhbGxlZCA9IGZhbHNlO1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIGlmIChjYWxsZWQpIHJldHVybjtcbiAgICBjYWxsZWQgPSB0cnVlO1xuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG4gICAgY2FsbGJhY2suYXBwbHkodGhpcywgYXJncyk7XG4gIH07XG59XG5mdW5jdGlvbiBub29wKCkge31cbmZ1bmN0aW9uIGlzUmVxdWVzdChzdHJlYW0pIHtcbiAgcmV0dXJuIHN0cmVhbS5zZXRIZWFkZXIgJiYgdHlwZW9mIHN0cmVhbS5hYm9ydCA9PT0gJ2Z1bmN0aW9uJztcbn1cbmZ1bmN0aW9uIGVvcyhzdHJlYW0sIG9wdHMsIGNhbGxiYWNrKSB7XG4gIGlmICh0eXBlb2Ygb3B0cyA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIGVvcyhzdHJlYW0sIG51bGwsIG9wdHMpO1xuICBpZiAoIW9wdHMpIG9wdHMgPSB7fTtcbiAgY2FsbGJhY2sgPSBvbmNlKGNhbGxiYWNrIHx8IG5vb3ApO1xuICB2YXIgcmVhZGFibGUgPSBvcHRzLnJlYWRhYmxlIHx8IG9wdHMucmVhZGFibGUgIT09IGZhbHNlICYmIHN0cmVhbS5yZWFkYWJsZTtcbiAgdmFyIHdyaXRhYmxlID0gb3B0cy53cml0YWJsZSB8fCBvcHRzLndyaXRhYmxlICE9PSBmYWxzZSAmJiBzdHJlYW0ud3JpdGFibGU7XG4gIHZhciBvbmxlZ2FjeWZpbmlzaCA9IGZ1bmN0aW9uIG9ubGVnYWN5ZmluaXNoKCkge1xuICAgIGlmICghc3RyZWFtLndyaXRhYmxlKSBvbmZpbmlzaCgpO1xuICB9O1xuICB2YXIgd3JpdGFibGVFbmRlZCA9IHN0cmVhbS5fd3JpdGFibGVTdGF0ZSAmJiBzdHJlYW0uX3dyaXRhYmxlU3RhdGUuZmluaXNoZWQ7XG4gIHZhciBvbmZpbmlzaCA9IGZ1bmN0aW9uIG9uZmluaXNoKCkge1xuICAgIHdyaXRhYmxlID0gZmFsc2U7XG4gICAgd3JpdGFibGVFbmRlZCA9IHRydWU7XG4gICAgaWYgKCFyZWFkYWJsZSkgY2FsbGJhY2suY2FsbChzdHJlYW0pO1xuICB9O1xuICB2YXIgcmVhZGFibGVFbmRlZCA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZSAmJiBzdHJlYW0uX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZDtcbiAgdmFyIG9uZW5kID0gZnVuY3Rpb24gb25lbmQoKSB7XG4gICAgcmVhZGFibGUgPSBmYWxzZTtcbiAgICByZWFkYWJsZUVuZGVkID0gdHJ1ZTtcbiAgICBpZiAoIXdyaXRhYmxlKSBjYWxsYmFjay5jYWxsKHN0cmVhbSk7XG4gIH07XG4gIHZhciBvbmVycm9yID0gZnVuY3Rpb24gb25lcnJvcihlcnIpIHtcbiAgICBjYWxsYmFjay5jYWxsKHN0cmVhbSwgZXJyKTtcbiAgfTtcbiAgdmFyIG9uY2xvc2UgPSBmdW5jdGlvbiBvbmNsb3NlKCkge1xuICAgIHZhciBlcnI7XG4gICAgaWYgKHJlYWRhYmxlICYmICFyZWFkYWJsZUVuZGVkKSB7XG4gICAgICBpZiAoIXN0cmVhbS5fcmVhZGFibGVTdGF0ZSB8fCAhc3RyZWFtLl9yZWFkYWJsZVN0YXRlLmVuZGVkKSBlcnIgPSBuZXcgRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UoKTtcbiAgICAgIHJldHVybiBjYWxsYmFjay5jYWxsKHN0cmVhbSwgZXJyKTtcbiAgICB9XG4gICAgaWYgKHdyaXRhYmxlICYmICF3cml0YWJsZUVuZGVkKSB7XG4gICAgICBpZiAoIXN0cmVhbS5fd3JpdGFibGVTdGF0ZSB8fCAhc3RyZWFtLl93cml0YWJsZVN0YXRlLmVuZGVkKSBlcnIgPSBuZXcgRVJSX1NUUkVBTV9QUkVNQVRVUkVfQ0xPU0UoKTtcbiAgICAgIHJldHVybiBjYWxsYmFjay5jYWxsKHN0cmVhbSwgZXJyKTtcbiAgICB9XG4gIH07XG4gIHZhciBvbnJlcXVlc3QgPSBmdW5jdGlvbiBvbnJlcXVlc3QoKSB7XG4gICAgc3RyZWFtLnJlcS5vbignZmluaXNoJywgb25maW5pc2gpO1xuICB9O1xuICBpZiAoaXNSZXF1ZXN0KHN0cmVhbSkpIHtcbiAgICBzdHJlYW0ub24oJ2NvbXBsZXRlJywgb25maW5pc2gpO1xuICAgIHN0cmVhbS5vbignYWJvcnQnLCBvbmNsb3NlKTtcbiAgICBpZiAoc3RyZWFtLnJlcSkgb25yZXF1ZXN0KCk7ZWxzZSBzdHJlYW0ub24oJ3JlcXVlc3QnLCBvbnJlcXVlc3QpO1xuICB9IGVsc2UgaWYgKHdyaXRhYmxlICYmICFzdHJlYW0uX3dyaXRhYmxlU3RhdGUpIHtcbiAgICAvLyBsZWdhY3kgc3RyZWFtc1xuICAgIHN0cmVhbS5vbignZW5kJywgb25sZWdhY3lmaW5pc2gpO1xuICAgIHN0cmVhbS5vbignY2xvc2UnLCBvbmxlZ2FjeWZpbmlzaCk7XG4gIH1cbiAgc3RyZWFtLm9uKCdlbmQnLCBvbmVuZCk7XG4gIHN0cmVhbS5vbignZmluaXNoJywgb25maW5pc2gpO1xuICBpZiAob3B0cy5lcnJvciAhPT0gZmFsc2UpIHN0cmVhbS5vbignZXJyb3InLCBvbmVycm9yKTtcbiAgc3RyZWFtLm9uKCdjbG9zZScsIG9uY2xvc2UpO1xuICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignY29tcGxldGUnLCBvbmZpbmlzaCk7XG4gICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKCdhYm9ydCcsIG9uY2xvc2UpO1xuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcigncmVxdWVzdCcsIG9ucmVxdWVzdCk7XG4gICAgaWYgKHN0cmVhbS5yZXEpIHN0cmVhbS5yZXEucmVtb3ZlTGlzdGVuZXIoJ2ZpbmlzaCcsIG9uZmluaXNoKTtcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2VuZCcsIG9ubGVnYWN5ZmluaXNoKTtcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgb25sZWdhY3lmaW5pc2gpO1xuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignZmluaXNoJywgb25maW5pc2gpO1xuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignZW5kJywgb25lbmQpO1xuICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCBvbmVycm9yKTtcbiAgICBzdHJlYW0ucmVtb3ZlTGlzdGVuZXIoJ2Nsb3NlJywgb25jbG9zZSk7XG4gIH07XG59XG5tb2R1bGUuZXhwb3J0cyA9IGVvczsiLCAiJ3VzZSBzdHJpY3QnO1xuXG52YXIgX09iamVjdCRzZXRQcm90b3R5cGVPO1xuZnVuY3Rpb24gX2RlZmluZVByb3BlcnR5KG9iaiwga2V5LCB2YWx1ZSkgeyBrZXkgPSBfdG9Qcm9wZXJ0eUtleShrZXkpOyBpZiAoa2V5IGluIG9iaikgeyBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHsgdmFsdWU6IHZhbHVlLCBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pOyB9IGVsc2UgeyBvYmpba2V5XSA9IHZhbHVlOyB9IHJldHVybiBvYmo7IH1cbmZ1bmN0aW9uIF90b1Byb3BlcnR5S2V5KGFyZykgeyB2YXIga2V5ID0gX3RvUHJpbWl0aXZlKGFyZywgXCJzdHJpbmdcIik7IHJldHVybiB0eXBlb2Yga2V5ID09PSBcInN5bWJvbFwiID8ga2V5IDogU3RyaW5nKGtleSk7IH1cbmZ1bmN0aW9uIF90b1ByaW1pdGl2ZShpbnB1dCwgaGludCkgeyBpZiAodHlwZW9mIGlucHV0ICE9PSBcIm9iamVjdFwiIHx8IGlucHV0ID09PSBudWxsKSByZXR1cm4gaW5wdXQ7IHZhciBwcmltID0gaW5wdXRbU3ltYm9sLnRvUHJpbWl0aXZlXTsgaWYgKHByaW0gIT09IHVuZGVmaW5lZCkgeyB2YXIgcmVzID0gcHJpbS5jYWxsKGlucHV0LCBoaW50IHx8IFwiZGVmYXVsdFwiKTsgaWYgKHR5cGVvZiByZXMgIT09IFwib2JqZWN0XCIpIHJldHVybiByZXM7IHRocm93IG5ldyBUeXBlRXJyb3IoXCJAQHRvUHJpbWl0aXZlIG11c3QgcmV0dXJuIGEgcHJpbWl0aXZlIHZhbHVlLlwiKTsgfSByZXR1cm4gKGhpbnQgPT09IFwic3RyaW5nXCIgPyBTdHJpbmcgOiBOdW1iZXIpKGlucHV0KTsgfVxudmFyIGZpbmlzaGVkID0gcmVxdWlyZSgnLi9lbmQtb2Ytc3RyZWFtJyk7XG52YXIga0xhc3RSZXNvbHZlID0gU3ltYm9sKCdsYXN0UmVzb2x2ZScpO1xudmFyIGtMYXN0UmVqZWN0ID0gU3ltYm9sKCdsYXN0UmVqZWN0Jyk7XG52YXIga0Vycm9yID0gU3ltYm9sKCdlcnJvcicpO1xudmFyIGtFbmRlZCA9IFN5bWJvbCgnZW5kZWQnKTtcbnZhciBrTGFzdFByb21pc2UgPSBTeW1ib2woJ2xhc3RQcm9taXNlJyk7XG52YXIga0hhbmRsZVByb21pc2UgPSBTeW1ib2woJ2hhbmRsZVByb21pc2UnKTtcbnZhciBrU3RyZWFtID0gU3ltYm9sKCdzdHJlYW0nKTtcbmZ1bmN0aW9uIGNyZWF0ZUl0ZXJSZXN1bHQodmFsdWUsIGRvbmUpIHtcbiAgcmV0dXJuIHtcbiAgICB2YWx1ZTogdmFsdWUsXG4gICAgZG9uZTogZG9uZVxuICB9O1xufVxuZnVuY3Rpb24gcmVhZEFuZFJlc29sdmUoaXRlcikge1xuICB2YXIgcmVzb2x2ZSA9IGl0ZXJba0xhc3RSZXNvbHZlXTtcbiAgaWYgKHJlc29sdmUgIT09IG51bGwpIHtcbiAgICB2YXIgZGF0YSA9IGl0ZXJba1N0cmVhbV0ucmVhZCgpO1xuICAgIC8vIHdlIGRlZmVyIGlmIGRhdGEgaXMgbnVsbFxuICAgIC8vIHdlIGNhbiBiZSBleHBlY3RpbmcgZWl0aGVyICdlbmQnIG9yXG4gICAgLy8gJ2Vycm9yJ1xuICAgIGlmIChkYXRhICE9PSBudWxsKSB7XG4gICAgICBpdGVyW2tMYXN0UHJvbWlzZV0gPSBudWxsO1xuICAgICAgaXRlcltrTGFzdFJlc29sdmVdID0gbnVsbDtcbiAgICAgIGl0ZXJba0xhc3RSZWplY3RdID0gbnVsbDtcbiAgICAgIHJlc29sdmUoY3JlYXRlSXRlclJlc3VsdChkYXRhLCBmYWxzZSkpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gb25SZWFkYWJsZShpdGVyKSB7XG4gIC8vIHdlIHdhaXQgZm9yIHRoZSBuZXh0IHRpY2ssIGJlY2F1c2UgaXQgbWlnaHRcbiAgLy8gZW1pdCBhbiBlcnJvciB3aXRoIHByb2Nlc3MubmV4dFRpY2tcbiAgcHJvY2Vzcy5uZXh0VGljayhyZWFkQW5kUmVzb2x2ZSwgaXRlcik7XG59XG5mdW5jdGlvbiB3cmFwRm9yTmV4dChsYXN0UHJvbWlzZSwgaXRlcikge1xuICByZXR1cm4gZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgIGxhc3RQcm9taXNlLnRoZW4oZnVuY3Rpb24gKCkge1xuICAgICAgaWYgKGl0ZXJba0VuZGVkXSkge1xuICAgICAgICByZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLCB0cnVlKSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGl0ZXJba0hhbmRsZVByb21pc2VdKHJlc29sdmUsIHJlamVjdCk7XG4gICAgfSwgcmVqZWN0KTtcbiAgfTtcbn1cbnZhciBBc3luY0l0ZXJhdG9yUHJvdG90eXBlID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKGZ1bmN0aW9uICgpIHt9KTtcbnZhciBSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3JQcm90b3R5cGUgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YoKF9PYmplY3Qkc2V0UHJvdG90eXBlTyA9IHtcbiAgZ2V0IHN0cmVhbSgpIHtcbiAgICByZXR1cm4gdGhpc1trU3RyZWFtXTtcbiAgfSxcbiAgbmV4dDogZnVuY3Rpb24gbmV4dCgpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuICAgIC8vIGlmIHdlIGhhdmUgZGV0ZWN0ZWQgYW4gZXJyb3IgaW4gdGhlIG1lYW53aGlsZVxuICAgIC8vIHJlamVjdCBzdHJhaWdodCBhd2F5XG4gICAgdmFyIGVycm9yID0gdGhpc1trRXJyb3JdO1xuICAgIGlmIChlcnJvciAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVqZWN0KGVycm9yKTtcbiAgICB9XG4gICAgaWYgKHRoaXNba0VuZGVkXSkge1xuICAgICAgcmV0dXJuIFByb21pc2UucmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCwgdHJ1ZSkpO1xuICAgIH1cbiAgICBpZiAodGhpc1trU3RyZWFtXS5kZXN0cm95ZWQpIHtcbiAgICAgIC8vIFdlIG5lZWQgdG8gZGVmZXIgdmlhIG5leHRUaWNrIGJlY2F1c2UgaWYgLmRlc3Ryb3koZXJyKSBpc1xuICAgICAgLy8gY2FsbGVkLCB0aGUgZXJyb3Igd2lsbCBiZSBlbWl0dGVkIHZpYSBuZXh0VGljaywgYW5kXG4gICAgICAvLyB3ZSBjYW5ub3QgZ3VhcmFudGVlIHRoYXQgdGhlcmUgaXMgbm8gZXJyb3IgbGluZ2VyaW5nIGFyb3VuZFxuICAgICAgLy8gd2FpdGluZyB0byBiZSBlbWl0dGVkLlxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICAgICAgcHJvY2Vzcy5uZXh0VGljayhmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgaWYgKF90aGlzW2tFcnJvcl0pIHtcbiAgICAgICAgICAgIHJlamVjdChfdGhpc1trRXJyb3JdKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCwgdHJ1ZSkpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICAvLyBpZiB3ZSBoYXZlIG11bHRpcGxlIG5leHQoKSBjYWxsc1xuICAgIC8vIHdlIHdpbGwgd2FpdCBmb3IgdGhlIHByZXZpb3VzIFByb21pc2UgdG8gZmluaXNoXG4gICAgLy8gdGhpcyBsb2dpYyBpcyBvcHRpbWl6ZWQgdG8gc3VwcG9ydCBmb3IgYXdhaXQgbG9vcHMsXG4gICAgLy8gd2hlcmUgbmV4dCgpIGlzIG9ubHkgY2FsbGVkIG9uY2UgYXQgYSB0aW1lXG4gICAgdmFyIGxhc3RQcm9taXNlID0gdGhpc1trTGFzdFByb21pc2VdO1xuICAgIHZhciBwcm9taXNlO1xuICAgIGlmIChsYXN0UHJvbWlzZSkge1xuICAgICAgcHJvbWlzZSA9IG5ldyBQcm9taXNlKHdyYXBGb3JOZXh0KGxhc3RQcm9taXNlLCB0aGlzKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGZhc3QgcGF0aCBuZWVkZWQgdG8gc3VwcG9ydCBtdWx0aXBsZSB0aGlzLnB1c2goKVxuICAgICAgLy8gd2l0aG91dCB0cmlnZ2VyaW5nIHRoZSBuZXh0KCkgcXVldWVcbiAgICAgIHZhciBkYXRhID0gdGhpc1trU3RyZWFtXS5yZWFkKCk7XG4gICAgICBpZiAoZGF0YSAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQoZGF0YSwgZmFsc2UpKTtcbiAgICAgIH1cbiAgICAgIHByb21pc2UgPSBuZXcgUHJvbWlzZSh0aGlzW2tIYW5kbGVQcm9taXNlXSk7XG4gICAgfVxuICAgIHRoaXNba0xhc3RQcm9taXNlXSA9IHByb21pc2U7XG4gICAgcmV0dXJuIHByb21pc2U7XG4gIH1cbn0sIF9kZWZpbmVQcm9wZXJ0eShfT2JqZWN0JHNldFByb3RvdHlwZU8sIFN5bWJvbC5hc3luY0l0ZXJhdG9yLCBmdW5jdGlvbiAoKSB7XG4gIHJldHVybiB0aGlzO1xufSksIF9kZWZpbmVQcm9wZXJ0eShfT2JqZWN0JHNldFByb3RvdHlwZU8sIFwicmV0dXJuXCIsIGZ1bmN0aW9uIF9yZXR1cm4oKSB7XG4gIHZhciBfdGhpczIgPSB0aGlzO1xuICAvLyBkZXN0cm95KGVyciwgY2IpIGlzIGEgcHJpdmF0ZSBBUElcbiAgLy8gd2UgY2FuIGd1YXJhbnRlZSB3ZSBoYXZlIHRoYXQgaGVyZSwgYmVjYXVzZSB3ZSBjb250cm9sIHRoZVxuICAvLyBSZWFkYWJsZSBjbGFzcyB0aGlzIGlzIGF0dGFjaGVkIHRvXG4gIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gICAgX3RoaXMyW2tTdHJlYW1dLmRlc3Ryb3kobnVsbCwgZnVuY3Rpb24gKGVycikge1xuICAgICAgaWYgKGVycikge1xuICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgcmVzb2x2ZShjcmVhdGVJdGVyUmVzdWx0KHVuZGVmaW5lZCwgdHJ1ZSkpO1xuICAgIH0pO1xuICB9KTtcbn0pLCBfT2JqZWN0JHNldFByb3RvdHlwZU8pLCBBc3luY0l0ZXJhdG9yUHJvdG90eXBlKTtcbnZhciBjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IgPSBmdW5jdGlvbiBjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3Ioc3RyZWFtKSB7XG4gIHZhciBfT2JqZWN0JGNyZWF0ZTtcbiAgdmFyIGl0ZXJhdG9yID0gT2JqZWN0LmNyZWF0ZShSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3JQcm90b3R5cGUsIChfT2JqZWN0JGNyZWF0ZSA9IHt9LCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtTdHJlYW0sIHtcbiAgICB2YWx1ZTogc3RyZWFtLFxuICAgIHdyaXRhYmxlOiB0cnVlXG4gIH0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtMYXN0UmVzb2x2ZSwge1xuICAgIHZhbHVlOiBudWxsLFxuICAgIHdyaXRhYmxlOiB0cnVlXG4gIH0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtMYXN0UmVqZWN0LCB7XG4gICAgdmFsdWU6IG51bGwsXG4gICAgd3JpdGFibGU6IHRydWVcbiAgfSksIF9kZWZpbmVQcm9wZXJ0eShfT2JqZWN0JGNyZWF0ZSwga0Vycm9yLCB7XG4gICAgdmFsdWU6IG51bGwsXG4gICAgd3JpdGFibGU6IHRydWVcbiAgfSksIF9kZWZpbmVQcm9wZXJ0eShfT2JqZWN0JGNyZWF0ZSwga0VuZGVkLCB7XG4gICAgdmFsdWU6IHN0cmVhbS5fcmVhZGFibGVTdGF0ZS5lbmRFbWl0dGVkLFxuICAgIHdyaXRhYmxlOiB0cnVlXG4gIH0pLCBfZGVmaW5lUHJvcGVydHkoX09iamVjdCRjcmVhdGUsIGtIYW5kbGVQcm9taXNlLCB7XG4gICAgdmFsdWU6IGZ1bmN0aW9uIHZhbHVlKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgdmFyIGRhdGEgPSBpdGVyYXRvcltrU3RyZWFtXS5yZWFkKCk7XG4gICAgICBpZiAoZGF0YSkge1xuICAgICAgICBpdGVyYXRvcltrTGFzdFByb21pc2VdID0gbnVsbDtcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RSZXNvbHZlXSA9IG51bGw7XG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UmVqZWN0XSA9IG51bGw7XG4gICAgICAgIHJlc29sdmUoY3JlYXRlSXRlclJlc3VsdChkYXRhLCBmYWxzZSkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RSZXNvbHZlXSA9IHJlc29sdmU7XG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UmVqZWN0XSA9IHJlamVjdDtcbiAgICAgIH1cbiAgICB9LFxuICAgIHdyaXRhYmxlOiB0cnVlXG4gIH0pLCBfT2JqZWN0JGNyZWF0ZSkpO1xuICBpdGVyYXRvcltrTGFzdFByb21pc2VdID0gbnVsbDtcbiAgZmluaXNoZWQoc3RyZWFtLCBmdW5jdGlvbiAoZXJyKSB7XG4gICAgaWYgKGVyciAmJiBlcnIuY29kZSAhPT0gJ0VSUl9TVFJFQU1fUFJFTUFUVVJFX0NMT1NFJykge1xuICAgICAgdmFyIHJlamVjdCA9IGl0ZXJhdG9yW2tMYXN0UmVqZWN0XTtcbiAgICAgIC8vIHJlamVjdCBpZiB3ZSBhcmUgd2FpdGluZyBmb3IgZGF0YSBpbiB0aGUgUHJvbWlzZVxuICAgICAgLy8gcmV0dXJuZWQgYnkgbmV4dCgpIGFuZCBzdG9yZSB0aGUgZXJyb3JcbiAgICAgIGlmIChyZWplY3QgIT09IG51bGwpIHtcbiAgICAgICAgaXRlcmF0b3Jba0xhc3RQcm9taXNlXSA9IG51bGw7XG4gICAgICAgIGl0ZXJhdG9yW2tMYXN0UmVzb2x2ZV0gPSBudWxsO1xuICAgICAgICBpdGVyYXRvcltrTGFzdFJlamVjdF0gPSBudWxsO1xuICAgICAgICByZWplY3QoZXJyKTtcbiAgICAgIH1cbiAgICAgIGl0ZXJhdG9yW2tFcnJvcl0gPSBlcnI7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHZhciByZXNvbHZlID0gaXRlcmF0b3Jba0xhc3RSZXNvbHZlXTtcbiAgICBpZiAocmVzb2x2ZSAhPT0gbnVsbCkge1xuICAgICAgaXRlcmF0b3Jba0xhc3RQcm9taXNlXSA9IG51bGw7XG4gICAgICBpdGVyYXRvcltrTGFzdFJlc29sdmVdID0gbnVsbDtcbiAgICAgIGl0ZXJhdG9yW2tMYXN0UmVqZWN0XSA9IG51bGw7XG4gICAgICByZXNvbHZlKGNyZWF0ZUl0ZXJSZXN1bHQodW5kZWZpbmVkLCB0cnVlKSk7XG4gICAgfVxuICAgIGl0ZXJhdG9yW2tFbmRlZF0gPSB0cnVlO1xuICB9KTtcbiAgc3RyZWFtLm9uKCdyZWFkYWJsZScsIG9uUmVhZGFibGUuYmluZChudWxsLCBpdGVyYXRvcikpO1xuICByZXR1cm4gaXRlcmF0b3I7XG59O1xubW9kdWxlLmV4cG9ydHMgPSBjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3I7IiwgIid1c2Ugc3RyaWN0JztcblxuZnVuY3Rpb24gYXN5bmNHZW5lcmF0b3JTdGVwKGdlbiwgcmVzb2x2ZSwgcmVqZWN0LCBfbmV4dCwgX3Rocm93LCBrZXksIGFyZykgeyB0cnkgeyB2YXIgaW5mbyA9IGdlbltrZXldKGFyZyk7IHZhciB2YWx1ZSA9IGluZm8udmFsdWU7IH0gY2F0Y2ggKGVycm9yKSB7IHJlamVjdChlcnJvcik7IHJldHVybjsgfSBpZiAoaW5mby5kb25lKSB7IHJlc29sdmUodmFsdWUpOyB9IGVsc2UgeyBQcm9taXNlLnJlc29sdmUodmFsdWUpLnRoZW4oX25leHQsIF90aHJvdyk7IH0gfVxuZnVuY3Rpb24gX2FzeW5jVG9HZW5lcmF0b3IoZm4pIHsgcmV0dXJuIGZ1bmN0aW9uICgpIHsgdmFyIHNlbGYgPSB0aGlzLCBhcmdzID0gYXJndW1lbnRzOyByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkgeyB2YXIgZ2VuID0gZm4uYXBwbHkoc2VsZiwgYXJncyk7IGZ1bmN0aW9uIF9uZXh0KHZhbHVlKSB7IGFzeW5jR2VuZXJhdG9yU3RlcChnZW4sIHJlc29sdmUsIHJlamVjdCwgX25leHQsIF90aHJvdywgXCJuZXh0XCIsIHZhbHVlKTsgfSBmdW5jdGlvbiBfdGhyb3coZXJyKSB7IGFzeW5jR2VuZXJhdG9yU3RlcChnZW4sIHJlc29sdmUsIHJlamVjdCwgX25leHQsIF90aHJvdywgXCJ0aHJvd1wiLCBlcnIpOyB9IF9uZXh0KHVuZGVmaW5lZCk7IH0pOyB9OyB9XG5mdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHsgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpOyBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykgeyB2YXIgc3ltYm9scyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMob2JqZWN0KTsgZW51bWVyYWJsZU9ubHkgJiYgKHN5bWJvbHMgPSBzeW1ib2xzLmZpbHRlcihmdW5jdGlvbiAoc3ltKSB7IHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlOyB9KSksIGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTsgfSByZXR1cm4ga2V5czsgfVxuZnVuY3Rpb24gX29iamVjdFNwcmVhZCh0YXJnZXQpIHsgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHsgdmFyIHNvdXJjZSA9IG51bGwgIT0gYXJndW1lbnRzW2ldID8gYXJndW1lbnRzW2ldIDoge307IGkgJSAyID8gb3duS2V5cyhPYmplY3Qoc291cmNlKSwgITApLmZvckVhY2goZnVuY3Rpb24gKGtleSkgeyBfZGVmaW5lUHJvcGVydHkodGFyZ2V0LCBrZXksIHNvdXJjZVtrZXldKTsgfSkgOiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyA/IE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRhcmdldCwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMoc291cmNlKSkgOiBvd25LZXlzKE9iamVjdChzb3VyY2UpKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7IH0pOyB9IHJldHVybiB0YXJnZXQ7IH1cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHsga2V5ID0gX3RvUHJvcGVydHlLZXkoa2V5KTsgaWYgKGtleSBpbiBvYmopIHsgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7IHZhbHVlOiB2YWx1ZSwgZW51bWVyYWJsZTogdHJ1ZSwgY29uZmlndXJhYmxlOiB0cnVlLCB3cml0YWJsZTogdHJ1ZSB9KTsgfSBlbHNlIHsgb2JqW2tleV0gPSB2YWx1ZTsgfSByZXR1cm4gb2JqOyB9XG5mdW5jdGlvbiBfdG9Qcm9wZXJ0eUtleShhcmcpIHsgdmFyIGtleSA9IF90b1ByaW1pdGl2ZShhcmcsIFwic3RyaW5nXCIpOyByZXR1cm4gdHlwZW9mIGtleSA9PT0gXCJzeW1ib2xcIiA/IGtleSA6IFN0cmluZyhrZXkpOyB9XG5mdW5jdGlvbiBfdG9QcmltaXRpdmUoaW5wdXQsIGhpbnQpIHsgaWYgKHR5cGVvZiBpbnB1dCAhPT0gXCJvYmplY3RcIiB8fCBpbnB1dCA9PT0gbnVsbCkgcmV0dXJuIGlucHV0OyB2YXIgcHJpbSA9IGlucHV0W1N5bWJvbC50b1ByaW1pdGl2ZV07IGlmIChwcmltICE9PSB1bmRlZmluZWQpIHsgdmFyIHJlcyA9IHByaW0uY2FsbChpbnB1dCwgaGludCB8fCBcImRlZmF1bHRcIik7IGlmICh0eXBlb2YgcmVzICE9PSBcIm9iamVjdFwiKSByZXR1cm4gcmVzOyB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQEB0b1ByaW1pdGl2ZSBtdXN0IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZS5cIik7IH0gcmV0dXJuIChoaW50ID09PSBcInN0cmluZ1wiID8gU3RyaW5nIDogTnVtYmVyKShpbnB1dCk7IH1cbnZhciBFUlJfSU5WQUxJRF9BUkdfVFlQRSA9IHJlcXVpcmUoJy4uLy4uLy4uL2Vycm9ycycpLmNvZGVzLkVSUl9JTlZBTElEX0FSR19UWVBFO1xuZnVuY3Rpb24gZnJvbShSZWFkYWJsZSwgaXRlcmFibGUsIG9wdHMpIHtcbiAgdmFyIGl0ZXJhdG9yO1xuICBpZiAoaXRlcmFibGUgJiYgdHlwZW9mIGl0ZXJhYmxlLm5leHQgPT09ICdmdW5jdGlvbicpIHtcbiAgICBpdGVyYXRvciA9IGl0ZXJhYmxlO1xuICB9IGVsc2UgaWYgKGl0ZXJhYmxlICYmIGl0ZXJhYmxlW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSkgaXRlcmF0b3IgPSBpdGVyYWJsZVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0oKTtlbHNlIGlmIChpdGVyYWJsZSAmJiBpdGVyYWJsZVtTeW1ib2wuaXRlcmF0b3JdKSBpdGVyYXRvciA9IGl0ZXJhYmxlW1N5bWJvbC5pdGVyYXRvcl0oKTtlbHNlIHRocm93IG5ldyBFUlJfSU5WQUxJRF9BUkdfVFlQRSgnaXRlcmFibGUnLCBbJ0l0ZXJhYmxlJ10sIGl0ZXJhYmxlKTtcbiAgdmFyIHJlYWRhYmxlID0gbmV3IFJlYWRhYmxlKF9vYmplY3RTcHJlYWQoe1xuICAgIG9iamVjdE1vZGU6IHRydWVcbiAgfSwgb3B0cykpO1xuICAvLyBSZWFkaW5nIGJvb2xlYW4gdG8gcHJvdGVjdCBhZ2FpbnN0IF9yZWFkXG4gIC8vIGJlaW5nIGNhbGxlZCBiZWZvcmUgbGFzdCBpdGVyYXRpb24gY29tcGxldGlvbi5cbiAgdmFyIHJlYWRpbmcgPSBmYWxzZTtcbiAgcmVhZGFibGUuX3JlYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKCFyZWFkaW5nKSB7XG4gICAgICByZWFkaW5nID0gdHJ1ZTtcbiAgICAgIG5leHQoKTtcbiAgICB9XG4gIH07XG4gIGZ1bmN0aW9uIG5leHQoKSB7XG4gICAgcmV0dXJuIF9uZXh0Mi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICB9XG4gIGZ1bmN0aW9uIF9uZXh0MigpIHtcbiAgICBfbmV4dDIgPSBfYXN5bmNUb0dlbmVyYXRvcihmdW5jdGlvbiogKCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdmFyIF95aWVsZCRpdGVyYXRvciRuZXh0ID0geWllbGQgaXRlcmF0b3IubmV4dCgpLFxuICAgICAgICAgIHZhbHVlID0gX3lpZWxkJGl0ZXJhdG9yJG5leHQudmFsdWUsXG4gICAgICAgICAgZG9uZSA9IF95aWVsZCRpdGVyYXRvciRuZXh0LmRvbmU7XG4gICAgICAgIGlmIChkb25lKSB7XG4gICAgICAgICAgcmVhZGFibGUucHVzaChudWxsKTtcbiAgICAgICAgfSBlbHNlIGlmIChyZWFkYWJsZS5wdXNoKHlpZWxkIHZhbHVlKSkge1xuICAgICAgICAgIG5leHQoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZWFkaW5nID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICByZWFkYWJsZS5kZXN0cm95KGVycik7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIF9uZXh0Mi5hcHBseSh0aGlzLCBhcmd1bWVudHMpO1xuICB9XG4gIHJldHVybiByZWFkYWJsZTtcbn1cbm1vZHVsZS5leHBvcnRzID0gZnJvbTtcbiIsICIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFJlYWRhYmxlO1xuXG4vKjxyZXBsYWNlbWVudD4qL1xudmFyIER1cGxleDtcbi8qPC9yZXBsYWNlbWVudD4qL1xuXG5SZWFkYWJsZS5SZWFkYWJsZVN0YXRlID0gUmVhZGFibGVTdGF0ZTtcblxuLyo8cmVwbGFjZW1lbnQ+Ki9cbnZhciBFRSA9IHJlcXVpcmUoJ2V2ZW50cycpLkV2ZW50RW1pdHRlcjtcbnZhciBFRWxpc3RlbmVyQ291bnQgPSBmdW5jdGlvbiBFRWxpc3RlbmVyQ291bnQoZW1pdHRlciwgdHlwZSkge1xuICByZXR1cm4gZW1pdHRlci5saXN0ZW5lcnModHlwZSkubGVuZ3RoO1xufTtcbi8qPC9yZXBsYWNlbWVudD4qL1xuXG4vKjxyZXBsYWNlbWVudD4qL1xudmFyIFN0cmVhbSA9IHJlcXVpcmUoJy4vaW50ZXJuYWwvc3RyZWFtcy9zdHJlYW0nKTtcbi8qPC9yZXBsYWNlbWVudD4qL1xuXG52YXIgQnVmZmVyID0gcmVxdWlyZSgnYnVmZmVyJykuQnVmZmVyO1xudmFyIE91clVpbnQ4QXJyYXkgPSAodHlwZW9mIGdsb2JhbCAhPT0gJ3VuZGVmaW5lZCcgPyBnbG9iYWwgOiB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyA/IHdpbmRvdyA6IHR5cGVvZiBzZWxmICE9PSAndW5kZWZpbmVkJyA/IHNlbGYgOiB7fSkuVWludDhBcnJheSB8fCBmdW5jdGlvbiAoKSB7fTtcbmZ1bmN0aW9uIF91aW50OEFycmF5VG9CdWZmZXIoY2h1bmspIHtcbiAgcmV0dXJuIEJ1ZmZlci5mcm9tKGNodW5rKTtcbn1cbmZ1bmN0aW9uIF9pc1VpbnQ4QXJyYXkob2JqKSB7XG4gIHJldHVybiBCdWZmZXIuaXNCdWZmZXIob2JqKSB8fCBvYmogaW5zdGFuY2VvZiBPdXJVaW50OEFycmF5O1xufVxuXG4vKjxyZXBsYWNlbWVudD4qL1xudmFyIGRlYnVnVXRpbCA9IHJlcXVpcmUoJ3V0aWwnKTtcbnZhciBkZWJ1ZztcbmlmIChkZWJ1Z1V0aWwgJiYgZGVidWdVdGlsLmRlYnVnbG9nKSB7XG4gIGRlYnVnID0gZGVidWdVdGlsLmRlYnVnbG9nKCdzdHJlYW0nKTtcbn0gZWxzZSB7XG4gIGRlYnVnID0gZnVuY3Rpb24gZGVidWcoKSB7fTtcbn1cbi8qPC9yZXBsYWNlbWVudD4qL1xuXG52YXIgQnVmZmVyTGlzdCA9IHJlcXVpcmUoJy4vaW50ZXJuYWwvc3RyZWFtcy9idWZmZXJfbGlzdCcpO1xudmFyIGRlc3Ryb3lJbXBsID0gcmVxdWlyZSgnLi9pbnRlcm5hbC9zdHJlYW1zL2Rlc3Ryb3knKTtcbnZhciBfcmVxdWlyZSA9IHJlcXVpcmUoJy4vaW50ZXJuYWwvc3RyZWFtcy9zdGF0ZScpLFxuICBnZXRIaWdoV2F0ZXJNYXJrID0gX3JlcXVpcmUuZ2V0SGlnaFdhdGVyTWFyaztcbnZhciBfcmVxdWlyZSRjb2RlcyA9IHJlcXVpcmUoJy4uL2Vycm9ycycpLmNvZGVzLFxuICBFUlJfSU5WQUxJRF9BUkdfVFlQRSA9IF9yZXF1aXJlJGNvZGVzLkVSUl9JTlZBTElEX0FSR19UWVBFLFxuICBFUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GID0gX3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9QVVNIX0FGVEVSX0VPRixcbiAgRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCxcbiAgRVJSX1NUUkVBTV9VTlNISUZUX0FGVEVSX0VORF9FVkVOVCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQ7XG5cbi8vIExhenkgbG9hZGVkIHRvIGltcHJvdmUgdGhlIHN0YXJ0dXAgcGVyZm9ybWFuY2UuXG52YXIgU3RyaW5nRGVjb2RlcjtcbnZhciBjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3I7XG52YXIgZnJvbTtcbnJlcXVpcmUoJ2luaGVyaXRzJykoUmVhZGFibGUsIFN0cmVhbSk7XG52YXIgZXJyb3JPckRlc3Ryb3kgPSBkZXN0cm95SW1wbC5lcnJvck9yRGVzdHJveTtcbnZhciBrUHJveHlFdmVudHMgPSBbJ2Vycm9yJywgJ2Nsb3NlJywgJ2Rlc3Ryb3knLCAncGF1c2UnLCAncmVzdW1lJ107XG5mdW5jdGlvbiBwcmVwZW5kTGlzdGVuZXIoZW1pdHRlciwgZXZlbnQsIGZuKSB7XG4gIC8vIFNhZGx5IHRoaXMgaXMgbm90IGNhY2hlYWJsZSBhcyBzb21lIGxpYnJhcmllcyBidW5kbGUgdGhlaXIgb3duXG4gIC8vIGV2ZW50IGVtaXR0ZXIgaW1wbGVtZW50YXRpb24gd2l0aCB0aGVtLlxuICBpZiAodHlwZW9mIGVtaXR0ZXIucHJlcGVuZExpc3RlbmVyID09PSAnZnVuY3Rpb24nKSByZXR1cm4gZW1pdHRlci5wcmVwZW5kTGlzdGVuZXIoZXZlbnQsIGZuKTtcblxuICAvLyBUaGlzIGlzIGEgaGFjayB0byBtYWtlIHN1cmUgdGhhdCBvdXIgZXJyb3IgaGFuZGxlciBpcyBhdHRhY2hlZCBiZWZvcmUgYW55XG4gIC8vIHVzZXJsYW5kIG9uZXMuICBORVZFUiBETyBUSElTLiBUaGlzIGlzIGhlcmUgb25seSBiZWNhdXNlIHRoaXMgY29kZSBuZWVkc1xuICAvLyB0byBjb250aW51ZSB0byB3b3JrIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgTm9kZS5qcyB0aGF0IGRvIG5vdCBpbmNsdWRlXG4gIC8vIHRoZSBwcmVwZW5kTGlzdGVuZXIoKSBtZXRob2QuIFRoZSBnb2FsIGlzIHRvIGV2ZW50dWFsbHkgcmVtb3ZlIHRoaXMgaGFjay5cbiAgaWYgKCFlbWl0dGVyLl9ldmVudHMgfHwgIWVtaXR0ZXIuX2V2ZW50c1tldmVudF0pIGVtaXR0ZXIub24oZXZlbnQsIGZuKTtlbHNlIGlmIChBcnJheS5pc0FycmF5KGVtaXR0ZXIuX2V2ZW50c1tldmVudF0pKSBlbWl0dGVyLl9ldmVudHNbZXZlbnRdLnVuc2hpZnQoZm4pO2Vsc2UgZW1pdHRlci5fZXZlbnRzW2V2ZW50XSA9IFtmbiwgZW1pdHRlci5fZXZlbnRzW2V2ZW50XV07XG59XG5mdW5jdGlvbiBSZWFkYWJsZVN0YXRlKG9wdGlvbnMsIHN0cmVhbSwgaXNEdXBsZXgpIHtcbiAgRHVwbGV4ID0gRHVwbGV4IHx8IHJlcXVpcmUoJy4vX3N0cmVhbV9kdXBsZXgnKTtcbiAgb3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG5cbiAgLy8gRHVwbGV4IHN0cmVhbXMgYXJlIGJvdGggcmVhZGFibGUgYW5kIHdyaXRhYmxlLCBidXQgc2hhcmVcbiAgLy8gdGhlIHNhbWUgb3B0aW9ucyBvYmplY3QuXG4gIC8vIEhvd2V2ZXIsIHNvbWUgY2FzZXMgcmVxdWlyZSBzZXR0aW5nIG9wdGlvbnMgdG8gZGlmZmVyZW50XG4gIC8vIHZhbHVlcyBmb3IgdGhlIHJlYWRhYmxlIGFuZCB0aGUgd3JpdGFibGUgc2lkZXMgb2YgdGhlIGR1cGxleCBzdHJlYW0uXG4gIC8vIFRoZXNlIG9wdGlvbnMgY2FuIGJlIHByb3ZpZGVkIHNlcGFyYXRlbHkgYXMgcmVhZGFibGVYWFggYW5kIHdyaXRhYmxlWFhYLlxuICBpZiAodHlwZW9mIGlzRHVwbGV4ICE9PSAnYm9vbGVhbicpIGlzRHVwbGV4ID0gc3RyZWFtIGluc3RhbmNlb2YgRHVwbGV4O1xuXG4gIC8vIG9iamVjdCBzdHJlYW0gZmxhZy4gVXNlZCB0byBtYWtlIHJlYWQobikgaWdub3JlIG4gYW5kIHRvXG4gIC8vIG1ha2UgYWxsIHRoZSBidWZmZXIgbWVyZ2luZyBhbmQgbGVuZ3RoIGNoZWNrcyBnbyBhd2F5XG4gIHRoaXMub2JqZWN0TW9kZSA9ICEhb3B0aW9ucy5vYmplY3RNb2RlO1xuICBpZiAoaXNEdXBsZXgpIHRoaXMub2JqZWN0TW9kZSA9IHRoaXMub2JqZWN0TW9kZSB8fCAhIW9wdGlvbnMucmVhZGFibGVPYmplY3RNb2RlO1xuXG4gIC8vIHRoZSBwb2ludCBhdCB3aGljaCBpdCBzdG9wcyBjYWxsaW5nIF9yZWFkKCkgdG8gZmlsbCB0aGUgYnVmZmVyXG4gIC8vIE5vdGU6IDAgaXMgYSB2YWxpZCB2YWx1ZSwgbWVhbnMgXCJkb24ndCBjYWxsIF9yZWFkIHByZWVtcHRpdmVseSBldmVyXCJcbiAgdGhpcy5oaWdoV2F0ZXJNYXJrID0gZ2V0SGlnaFdhdGVyTWFyayh0aGlzLCBvcHRpb25zLCAncmVhZGFibGVIaWdoV2F0ZXJNYXJrJywgaXNEdXBsZXgpO1xuXG4gIC8vIEEgbGlua2VkIGxpc3QgaXMgdXNlZCB0byBzdG9yZSBkYXRhIGNodW5rcyBpbnN0ZWFkIG9mIGFuIGFycmF5IGJlY2F1c2UgdGhlXG4gIC8vIGxpbmtlZCBsaXN0IGNhbiByZW1vdmUgZWxlbWVudHMgZnJvbSB0aGUgYmVnaW5uaW5nIGZhc3RlciB0aGFuXG4gIC8vIGFycmF5LnNoaWZ0KClcbiAgdGhpcy5idWZmZXIgPSBuZXcgQnVmZmVyTGlzdCgpO1xuICB0aGlzLmxlbmd0aCA9IDA7XG4gIHRoaXMucGlwZXMgPSBudWxsO1xuICB0aGlzLnBpcGVzQ291bnQgPSAwO1xuICB0aGlzLmZsb3dpbmcgPSBudWxsO1xuICB0aGlzLmVuZGVkID0gZmFsc2U7XG4gIHRoaXMuZW5kRW1pdHRlZCA9IGZhbHNlO1xuICB0aGlzLnJlYWRpbmcgPSBmYWxzZTtcblxuICAvLyBhIGZsYWcgdG8gYmUgYWJsZSB0byB0ZWxsIGlmIHRoZSBldmVudCAncmVhZGFibGUnLydkYXRhJyBpcyBlbWl0dGVkXG4gIC8vIGltbWVkaWF0ZWx5LCBvciBvbiBhIGxhdGVyIHRpY2suICBXZSBzZXQgdGhpcyB0byB0cnVlIGF0IGZpcnN0LCBiZWNhdXNlXG4gIC8vIGFueSBhY3Rpb25zIHRoYXQgc2hvdWxkbid0IGhhcHBlbiB1bnRpbCBcImxhdGVyXCIgc2hvdWxkIGdlbmVyYWxseSBhbHNvXG4gIC8vIG5vdCBoYXBwZW4gYmVmb3JlIHRoZSBmaXJzdCByZWFkIGNhbGwuXG4gIHRoaXMuc3luYyA9IHRydWU7XG5cbiAgLy8gd2hlbmV2ZXIgd2UgcmV0dXJuIG51bGwsIHRoZW4gd2Ugc2V0IGEgZmxhZyB0byBzYXlcbiAgLy8gdGhhdCB3ZSdyZSBhd2FpdGluZyBhICdyZWFkYWJsZScgZXZlbnQgZW1pc3Npb24uXG4gIHRoaXMubmVlZFJlYWRhYmxlID0gZmFsc2U7XG4gIHRoaXMuZW1pdHRlZFJlYWRhYmxlID0gZmFsc2U7XG4gIHRoaXMucmVhZGFibGVMaXN0ZW5pbmcgPSBmYWxzZTtcbiAgdGhpcy5yZXN1bWVTY2hlZHVsZWQgPSBmYWxzZTtcbiAgdGhpcy5wYXVzZWQgPSB0cnVlO1xuXG4gIC8vIFNob3VsZCBjbG9zZSBiZSBlbWl0dGVkIG9uIGRlc3Ryb3kuIERlZmF1bHRzIHRvIHRydWUuXG4gIHRoaXMuZW1pdENsb3NlID0gb3B0aW9ucy5lbWl0Q2xvc2UgIT09IGZhbHNlO1xuXG4gIC8vIFNob3VsZCAuZGVzdHJveSgpIGJlIGNhbGxlZCBhZnRlciAnZW5kJyAoYW5kIHBvdGVudGlhbGx5ICdmaW5pc2gnKVxuICB0aGlzLmF1dG9EZXN0cm95ID0gISFvcHRpb25zLmF1dG9EZXN0cm95O1xuXG4gIC8vIGhhcyBpdCBiZWVuIGRlc3Ryb3llZFxuICB0aGlzLmRlc3Ryb3llZCA9IGZhbHNlO1xuXG4gIC8vIENyeXB0byBpcyBraW5kIG9mIG9sZCBhbmQgY3J1c3R5LiAgSGlzdG9yaWNhbGx5LCBpdHMgZGVmYXVsdCBzdHJpbmdcbiAgLy8gZW5jb2RpbmcgaXMgJ2JpbmFyeScgc28gd2UgaGF2ZSB0byBtYWtlIHRoaXMgY29uZmlndXJhYmxlLlxuICAvLyBFdmVyeXRoaW5nIGVsc2UgaW4gdGhlIHVuaXZlcnNlIHVzZXMgJ3V0ZjgnLCB0aG91Z2guXG4gIHRoaXMuZGVmYXVsdEVuY29kaW5nID0gb3B0aW9ucy5kZWZhdWx0RW5jb2RpbmcgfHwgJ3V0ZjgnO1xuXG4gIC8vIHRoZSBudW1iZXIgb2Ygd3JpdGVycyB0aGF0IGFyZSBhd2FpdGluZyBhIGRyYWluIGV2ZW50IGluIC5waXBlKClzXG4gIHRoaXMuYXdhaXREcmFpbiA9IDA7XG5cbiAgLy8gaWYgdHJ1ZSwgYSBtYXliZVJlYWRNb3JlIGhhcyBiZWVuIHNjaGVkdWxlZFxuICB0aGlzLnJlYWRpbmdNb3JlID0gZmFsc2U7XG4gIHRoaXMuZGVjb2RlciA9IG51bGw7XG4gIHRoaXMuZW5jb2RpbmcgPSBudWxsO1xuICBpZiAob3B0aW9ucy5lbmNvZGluZykge1xuICAgIGlmICghU3RyaW5nRGVjb2RlcikgU3RyaW5nRGVjb2RlciA9IHJlcXVpcmUoJ3N0cmluZ19kZWNvZGVyLycpLlN0cmluZ0RlY29kZXI7XG4gICAgdGhpcy5kZWNvZGVyID0gbmV3IFN0cmluZ0RlY29kZXIob3B0aW9ucy5lbmNvZGluZyk7XG4gICAgdGhpcy5lbmNvZGluZyA9IG9wdGlvbnMuZW5jb2Rpbmc7XG4gIH1cbn1cbmZ1bmN0aW9uIFJlYWRhYmxlKG9wdGlvbnMpIHtcbiAgRHVwbGV4ID0gRHVwbGV4IHx8IHJlcXVpcmUoJy4vX3N0cmVhbV9kdXBsZXgnKTtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFJlYWRhYmxlKSkgcmV0dXJuIG5ldyBSZWFkYWJsZShvcHRpb25zKTtcblxuICAvLyBDaGVja2luZyBmb3IgYSBTdHJlYW0uRHVwbGV4IGluc3RhbmNlIGlzIGZhc3RlciBoZXJlIGluc3RlYWQgb2YgaW5zaWRlXG4gIC8vIHRoZSBSZWFkYWJsZVN0YXRlIGNvbnN0cnVjdG9yLCBhdCBsZWFzdCB3aXRoIFY4IDYuNVxuICB2YXIgaXNEdXBsZXggPSB0aGlzIGluc3RhbmNlb2YgRHVwbGV4O1xuICB0aGlzLl9yZWFkYWJsZVN0YXRlID0gbmV3IFJlYWRhYmxlU3RhdGUob3B0aW9ucywgdGhpcywgaXNEdXBsZXgpO1xuXG4gIC8vIGxlZ2FjeVxuICB0aGlzLnJlYWRhYmxlID0gdHJ1ZTtcbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMucmVhZCA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fcmVhZCA9IG9wdGlvbnMucmVhZDtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZGVzdHJveSA9PT0gJ2Z1bmN0aW9uJykgdGhpcy5fZGVzdHJveSA9IG9wdGlvbnMuZGVzdHJveTtcbiAgfVxuICBTdHJlYW0uY2FsbCh0aGlzKTtcbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsICdkZXN0cm95ZWQnLCB7XG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcbiAgZW51bWVyYWJsZTogZmFsc2UsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVzdHJveWVkO1xuICB9LFxuICBzZXQ6IGZ1bmN0aW9uIHNldCh2YWx1ZSkge1xuICAgIC8vIHdlIGlnbm9yZSB0aGUgdmFsdWUgaWYgdGhlIHN0cmVhbVxuICAgIC8vIGhhcyBub3QgYmVlbiBpbml0aWFsaXplZCB5ZXRcbiAgICBpZiAoIXRoaXMuX3JlYWRhYmxlU3RhdGUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICAvLyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB0aGUgdXNlciBpcyBleHBsaWNpdGx5XG4gICAgLy8gbWFuYWdpbmcgZGVzdHJveWVkXG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQgPSB2YWx1ZTtcbiAgfVxufSk7XG5SZWFkYWJsZS5wcm90b3R5cGUuZGVzdHJveSA9IGRlc3Ryb3lJbXBsLmRlc3Ryb3k7XG5SZWFkYWJsZS5wcm90b3R5cGUuX3VuZGVzdHJveSA9IGRlc3Ryb3lJbXBsLnVuZGVzdHJveTtcblJlYWRhYmxlLnByb3RvdHlwZS5fZGVzdHJveSA9IGZ1bmN0aW9uIChlcnIsIGNiKSB7XG4gIGNiKGVycik7XG59O1xuXG4vLyBNYW51YWxseSBzaG92ZSBzb21ldGhpbmcgaW50byB0aGUgcmVhZCgpIGJ1ZmZlci5cbi8vIFRoaXMgcmV0dXJucyB0cnVlIGlmIHRoZSBoaWdoV2F0ZXJNYXJrIGhhcyBub3QgYmVlbiBoaXQgeWV0LFxuLy8gc2ltaWxhciB0byBob3cgV3JpdGFibGUud3JpdGUoKSByZXR1cm5zIHRydWUgaWYgeW91IHNob3VsZFxuLy8gd3JpdGUoKSBzb21lIG1vcmUuXG5SZWFkYWJsZS5wcm90b3R5cGUucHVzaCA9IGZ1bmN0aW9uIChjaHVuaywgZW5jb2RpbmcpIHtcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcbiAgdmFyIHNraXBDaHVua0NoZWNrO1xuICBpZiAoIXN0YXRlLm9iamVjdE1vZGUpIHtcbiAgICBpZiAodHlwZW9mIGNodW5rID09PSAnc3RyaW5nJykge1xuICAgICAgZW5jb2RpbmcgPSBlbmNvZGluZyB8fCBzdGF0ZS5kZWZhdWx0RW5jb2Rpbmc7XG4gICAgICBpZiAoZW5jb2RpbmcgIT09IHN0YXRlLmVuY29kaW5nKSB7XG4gICAgICAgIGNodW5rID0gQnVmZmVyLmZyb20oY2h1bmssIGVuY29kaW5nKTtcbiAgICAgICAgZW5jb2RpbmcgPSAnJztcbiAgICAgIH1cbiAgICAgIHNraXBDaHVua0NoZWNrID0gdHJ1ZTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgc2tpcENodW5rQ2hlY2sgPSB0cnVlO1xuICB9XG4gIHJldHVybiByZWFkYWJsZUFkZENodW5rKHRoaXMsIGNodW5rLCBlbmNvZGluZywgZmFsc2UsIHNraXBDaHVua0NoZWNrKTtcbn07XG5cbi8vIFVuc2hpZnQgc2hvdWxkICphbHdheXMqIGJlIHNvbWV0aGluZyBkaXJlY3RseSBvdXQgb2YgcmVhZCgpXG5SZWFkYWJsZS5wcm90b3R5cGUudW5zaGlmdCA9IGZ1bmN0aW9uIChjaHVuaykge1xuICByZXR1cm4gcmVhZGFibGVBZGRDaHVuayh0aGlzLCBjaHVuaywgbnVsbCwgdHJ1ZSwgZmFsc2UpO1xufTtcbmZ1bmN0aW9uIHJlYWRhYmxlQWRkQ2h1bmsoc3RyZWFtLCBjaHVuaywgZW5jb2RpbmcsIGFkZFRvRnJvbnQsIHNraXBDaHVua0NoZWNrKSB7XG4gIGRlYnVnKCdyZWFkYWJsZUFkZENodW5rJywgY2h1bmspO1xuICB2YXIgc3RhdGUgPSBzdHJlYW0uX3JlYWRhYmxlU3RhdGU7XG4gIGlmIChjaHVuayA9PT0gbnVsbCkge1xuICAgIHN0YXRlLnJlYWRpbmcgPSBmYWxzZTtcbiAgICBvbkVvZkNodW5rKHN0cmVhbSwgc3RhdGUpO1xuICB9IGVsc2Uge1xuICAgIHZhciBlcjtcbiAgICBpZiAoIXNraXBDaHVua0NoZWNrKSBlciA9IGNodW5rSW52YWxpZChzdGF0ZSwgY2h1bmspO1xuICAgIGlmIChlcikge1xuICAgICAgZXJyb3JPckRlc3Ryb3koc3RyZWFtLCBlcik7XG4gICAgfSBlbHNlIGlmIChzdGF0ZS5vYmplY3RNb2RlIHx8IGNodW5rICYmIGNodW5rLmxlbmd0aCA+IDApIHtcbiAgICAgIGlmICh0eXBlb2YgY2h1bmsgIT09ICdzdHJpbmcnICYmICFzdGF0ZS5vYmplY3RNb2RlICYmIE9iamVjdC5nZXRQcm90b3R5cGVPZihjaHVuaykgIT09IEJ1ZmZlci5wcm90b3R5cGUpIHtcbiAgICAgICAgY2h1bmsgPSBfdWludDhBcnJheVRvQnVmZmVyKGNodW5rKTtcbiAgICAgIH1cbiAgICAgIGlmIChhZGRUb0Zyb250KSB7XG4gICAgICAgIGlmIChzdGF0ZS5lbmRFbWl0dGVkKSBlcnJvck9yRGVzdHJveShzdHJlYW0sIG5ldyBFUlJfU1RSRUFNX1VOU0hJRlRfQUZURVJfRU5EX0VWRU5UKCkpO2Vsc2UgYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIHRydWUpO1xuICAgICAgfSBlbHNlIGlmIChzdGF0ZS5lbmRlZCkge1xuICAgICAgICBlcnJvck9yRGVzdHJveShzdHJlYW0sIG5ldyBFUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GKCkpO1xuICAgICAgfSBlbHNlIGlmIChzdGF0ZS5kZXN0cm95ZWQpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhdGUucmVhZGluZyA9IGZhbHNlO1xuICAgICAgICBpZiAoc3RhdGUuZGVjb2RlciAmJiAhZW5jb2RpbmcpIHtcbiAgICAgICAgICBjaHVuayA9IHN0YXRlLmRlY29kZXIud3JpdGUoY2h1bmspO1xuICAgICAgICAgIGlmIChzdGF0ZS5vYmplY3RNb2RlIHx8IGNodW5rLmxlbmd0aCAhPT0gMCkgYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIGZhbHNlKTtlbHNlIG1heWJlUmVhZE1vcmUoc3RyZWFtLCBzdGF0ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIGZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoIWFkZFRvRnJvbnQpIHtcbiAgICAgIHN0YXRlLnJlYWRpbmcgPSBmYWxzZTtcbiAgICAgIG1heWJlUmVhZE1vcmUoc3RyZWFtLCBzdGF0ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gV2UgY2FuIHB1c2ggbW9yZSBkYXRhIGlmIHdlIGFyZSBiZWxvdyB0aGUgaGlnaFdhdGVyTWFyay5cbiAgLy8gQWxzbywgaWYgd2UgaGF2ZSBubyBkYXRhIHlldCwgd2UgY2FuIHN0YW5kIHNvbWUgbW9yZSBieXRlcy5cbiAgLy8gVGhpcyBpcyB0byB3b3JrIGFyb3VuZCBjYXNlcyB3aGVyZSBod209MCwgc3VjaCBhcyB0aGUgcmVwbC5cbiAgcmV0dXJuICFzdGF0ZS5lbmRlZCAmJiAoc3RhdGUubGVuZ3RoIDwgc3RhdGUuaGlnaFdhdGVyTWFyayB8fCBzdGF0ZS5sZW5ndGggPT09IDApO1xufVxuZnVuY3Rpb24gYWRkQ2h1bmsoc3RyZWFtLCBzdGF0ZSwgY2h1bmssIGFkZFRvRnJvbnQpIHtcbiAgaWYgKHN0YXRlLmZsb3dpbmcgJiYgc3RhdGUubGVuZ3RoID09PSAwICYmICFzdGF0ZS5zeW5jKSB7XG4gICAgc3RhdGUuYXdhaXREcmFpbiA9IDA7XG4gICAgc3RyZWFtLmVtaXQoJ2RhdGEnLCBjaHVuayk7XG4gIH0gZWxzZSB7XG4gICAgLy8gdXBkYXRlIHRoZSBidWZmZXIgaW5mby5cbiAgICBzdGF0ZS5sZW5ndGggKz0gc3RhdGUub2JqZWN0TW9kZSA/IDEgOiBjaHVuay5sZW5ndGg7XG4gICAgaWYgKGFkZFRvRnJvbnQpIHN0YXRlLmJ1ZmZlci51bnNoaWZ0KGNodW5rKTtlbHNlIHN0YXRlLmJ1ZmZlci5wdXNoKGNodW5rKTtcbiAgICBpZiAoc3RhdGUubmVlZFJlYWRhYmxlKSBlbWl0UmVhZGFibGUoc3RyZWFtKTtcbiAgfVxuICBtYXliZVJlYWRNb3JlKHN0cmVhbSwgc3RhdGUpO1xufVxuZnVuY3Rpb24gY2h1bmtJbnZhbGlkKHN0YXRlLCBjaHVuaykge1xuICB2YXIgZXI7XG4gIGlmICghX2lzVWludDhBcnJheShjaHVuaykgJiYgdHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJyAmJiBjaHVuayAhPT0gdW5kZWZpbmVkICYmICFzdGF0ZS5vYmplY3RNb2RlKSB7XG4gICAgZXIgPSBuZXcgRVJSX0lOVkFMSURfQVJHX1RZUEUoJ2NodW5rJywgWydzdHJpbmcnLCAnQnVmZmVyJywgJ1VpbnQ4QXJyYXknXSwgY2h1bmspO1xuICB9XG4gIHJldHVybiBlcjtcbn1cblJlYWRhYmxlLnByb3RvdHlwZS5pc1BhdXNlZCA9IGZ1bmN0aW9uICgpIHtcbiAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyA9PT0gZmFsc2U7XG59O1xuXG4vLyBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cblJlYWRhYmxlLnByb3RvdHlwZS5zZXRFbmNvZGluZyA9IGZ1bmN0aW9uIChlbmMpIHtcbiAgaWYgKCFTdHJpbmdEZWNvZGVyKSBTdHJpbmdEZWNvZGVyID0gcmVxdWlyZSgnc3RyaW5nX2RlY29kZXIvJykuU3RyaW5nRGVjb2RlcjtcbiAgdmFyIGRlY29kZXIgPSBuZXcgU3RyaW5nRGVjb2RlcihlbmMpO1xuICB0aGlzLl9yZWFkYWJsZVN0YXRlLmRlY29kZXIgPSBkZWNvZGVyO1xuICAvLyBJZiBzZXRFbmNvZGluZyhudWxsKSwgZGVjb2Rlci5lbmNvZGluZyBlcXVhbHMgdXRmOFxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLmVuY29kaW5nID0gdGhpcy5fcmVhZGFibGVTdGF0ZS5kZWNvZGVyLmVuY29kaW5nO1xuXG4gIC8vIEl0ZXJhdGUgb3ZlciBjdXJyZW50IGJ1ZmZlciB0byBjb252ZXJ0IGFscmVhZHkgc3RvcmVkIEJ1ZmZlcnM6XG4gIHZhciBwID0gdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIuaGVhZDtcbiAgdmFyIGNvbnRlbnQgPSAnJztcbiAgd2hpbGUgKHAgIT09IG51bGwpIHtcbiAgICBjb250ZW50ICs9IGRlY29kZXIud3JpdGUocC5kYXRhKTtcbiAgICBwID0gcC5uZXh0O1xuICB9XG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUuYnVmZmVyLmNsZWFyKCk7XG4gIGlmIChjb250ZW50ICE9PSAnJykgdGhpcy5fcmVhZGFibGVTdGF0ZS5idWZmZXIucHVzaChjb250ZW50KTtcbiAgdGhpcy5fcmVhZGFibGVTdGF0ZS5sZW5ndGggPSBjb250ZW50Lmxlbmd0aDtcbiAgcmV0dXJuIHRoaXM7XG59O1xuXG4vLyBEb24ndCByYWlzZSB0aGUgaHdtID4gMUdCXG52YXIgTUFYX0hXTSA9IDB4NDAwMDAwMDA7XG5mdW5jdGlvbiBjb21wdXRlTmV3SGlnaFdhdGVyTWFyayhuKSB7XG4gIGlmIChuID49IE1BWF9IV00pIHtcbiAgICAvLyBUT0RPKHJvbmFnKTogVGhyb3cgRVJSX1ZBTFVFX09VVF9PRl9SQU5HRS5cbiAgICBuID0gTUFYX0hXTTtcbiAgfSBlbHNlIHtcbiAgICAvLyBHZXQgdGhlIG5leHQgaGlnaGVzdCBwb3dlciBvZiAyIHRvIHByZXZlbnQgaW5jcmVhc2luZyBod20gZXhjZXNzaXZlbHkgaW5cbiAgICAvLyB0aW55IGFtb3VudHNcbiAgICBuLS07XG4gICAgbiB8PSBuID4+PiAxO1xuICAgIG4gfD0gbiA+Pj4gMjtcbiAgICBuIHw9IG4gPj4+IDQ7XG4gICAgbiB8PSBuID4+PiA4O1xuICAgIG4gfD0gbiA+Pj4gMTY7XG4gICAgbisrO1xuICB9XG4gIHJldHVybiBuO1xufVxuXG4vLyBUaGlzIGZ1bmN0aW9uIGlzIGRlc2lnbmVkIHRvIGJlIGlubGluYWJsZSwgc28gcGxlYXNlIHRha2UgY2FyZSB3aGVuIG1ha2luZ1xuLy8gY2hhbmdlcyB0byB0aGUgZnVuY3Rpb24gYm9keS5cbmZ1bmN0aW9uIGhvd011Y2hUb1JlYWQobiwgc3RhdGUpIHtcbiAgaWYgKG4gPD0gMCB8fCBzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUuZW5kZWQpIHJldHVybiAwO1xuICBpZiAoc3RhdGUub2JqZWN0TW9kZSkgcmV0dXJuIDE7XG4gIGlmIChuICE9PSBuKSB7XG4gICAgLy8gT25seSBmbG93IG9uZSBidWZmZXIgYXQgYSB0aW1lXG4gICAgaWYgKHN0YXRlLmZsb3dpbmcgJiYgc3RhdGUubGVuZ3RoKSByZXR1cm4gc3RhdGUuYnVmZmVyLmhlYWQuZGF0YS5sZW5ndGg7ZWxzZSByZXR1cm4gc3RhdGUubGVuZ3RoO1xuICB9XG4gIC8vIElmIHdlJ3JlIGFza2luZyBmb3IgbW9yZSB0aGFuIHRoZSBjdXJyZW50IGh3bSwgdGhlbiByYWlzZSB0aGUgaHdtLlxuICBpZiAobiA+IHN0YXRlLmhpZ2hXYXRlck1hcmspIHN0YXRlLmhpZ2hXYXRlck1hcmsgPSBjb21wdXRlTmV3SGlnaFdhdGVyTWFyayhuKTtcbiAgaWYgKG4gPD0gc3RhdGUubGVuZ3RoKSByZXR1cm4gbjtcbiAgLy8gRG9uJ3QgaGF2ZSBlbm91Z2hcbiAgaWYgKCFzdGF0ZS5lbmRlZCkge1xuICAgIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgcmV0dXJuIHN0YXRlLmxlbmd0aDtcbn1cblxuLy8geW91IGNhbiBvdmVycmlkZSBlaXRoZXIgdGhpcyBtZXRob2QsIG9yIHRoZSBhc3luYyBfcmVhZChuKSBiZWxvdy5cblJlYWRhYmxlLnByb3RvdHlwZS5yZWFkID0gZnVuY3Rpb24gKG4pIHtcbiAgZGVidWcoJ3JlYWQnLCBuKTtcbiAgbiA9IHBhcnNlSW50KG4sIDEwKTtcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcbiAgdmFyIG5PcmlnID0gbjtcbiAgaWYgKG4gIT09IDApIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xuXG4gIC8vIGlmIHdlJ3JlIGRvaW5nIHJlYWQoMCkgdG8gdHJpZ2dlciBhIHJlYWRhYmxlIGV2ZW50LCBidXQgd2VcbiAgLy8gYWxyZWFkeSBoYXZlIGEgYnVuY2ggb2YgZGF0YSBpbiB0aGUgYnVmZmVyLCB0aGVuIGp1c3QgdHJpZ2dlclxuICAvLyB0aGUgJ3JlYWRhYmxlJyBldmVudCBhbmQgbW92ZSBvbi5cbiAgaWYgKG4gPT09IDAgJiYgc3RhdGUubmVlZFJlYWRhYmxlICYmICgoc3RhdGUuaGlnaFdhdGVyTWFyayAhPT0gMCA/IHN0YXRlLmxlbmd0aCA+PSBzdGF0ZS5oaWdoV2F0ZXJNYXJrIDogc3RhdGUubGVuZ3RoID4gMCkgfHwgc3RhdGUuZW5kZWQpKSB7XG4gICAgZGVidWcoJ3JlYWQ6IGVtaXRSZWFkYWJsZScsIHN0YXRlLmxlbmd0aCwgc3RhdGUuZW5kZWQpO1xuICAgIGlmIChzdGF0ZS5sZW5ndGggPT09IDAgJiYgc3RhdGUuZW5kZWQpIGVuZFJlYWRhYmxlKHRoaXMpO2Vsc2UgZW1pdFJlYWRhYmxlKHRoaXMpO1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIG4gPSBob3dNdWNoVG9SZWFkKG4sIHN0YXRlKTtcblxuICAvLyBpZiB3ZSd2ZSBlbmRlZCwgYW5kIHdlJ3JlIG5vdyBjbGVhciwgdGhlbiBmaW5pc2ggaXQgdXAuXG4gIGlmIChuID09PSAwICYmIHN0YXRlLmVuZGVkKSB7XG4gICAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCkgZW5kUmVhZGFibGUodGhpcyk7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICAvLyBBbGwgdGhlIGFjdHVhbCBjaHVuayBnZW5lcmF0aW9uIGxvZ2ljIG5lZWRzIHRvIGJlXG4gIC8vICpiZWxvdyogdGhlIGNhbGwgdG8gX3JlYWQuICBUaGUgcmVhc29uIGlzIHRoYXQgaW4gY2VydGFpblxuICAvLyBzeW50aGV0aWMgc3RyZWFtIGNhc2VzLCBzdWNoIGFzIHBhc3N0aHJvdWdoIHN0cmVhbXMsIF9yZWFkXG4gIC8vIG1heSBiZSBhIGNvbXBsZXRlbHkgc3luY2hyb25vdXMgb3BlcmF0aW9uIHdoaWNoIG1heSBjaGFuZ2VcbiAgLy8gdGhlIHN0YXRlIG9mIHRoZSByZWFkIGJ1ZmZlciwgcHJvdmlkaW5nIGVub3VnaCBkYXRhIHdoZW5cbiAgLy8gYmVmb3JlIHRoZXJlIHdhcyAqbm90KiBlbm91Z2guXG4gIC8vXG4gIC8vIFNvLCB0aGUgc3RlcHMgYXJlOlxuICAvLyAxLiBGaWd1cmUgb3V0IHdoYXQgdGhlIHN0YXRlIG9mIHRoaW5ncyB3aWxsIGJlIGFmdGVyIHdlIGRvXG4gIC8vIGEgcmVhZCBmcm9tIHRoZSBidWZmZXIuXG4gIC8vXG4gIC8vIDIuIElmIHRoYXQgcmVzdWx0aW5nIHN0YXRlIHdpbGwgdHJpZ2dlciBhIF9yZWFkLCB0aGVuIGNhbGwgX3JlYWQuXG4gIC8vIE5vdGUgdGhhdCB0aGlzIG1heSBiZSBhc3luY2hyb25vdXMsIG9yIHN5bmNocm9ub3VzLiAgWWVzLCBpdCBpc1xuICAvLyBkZWVwbHkgdWdseSB0byB3cml0ZSBBUElzIHRoaXMgd2F5LCBidXQgdGhhdCBzdGlsbCBkb2Vzbid0IG1lYW5cbiAgLy8gdGhhdCB0aGUgUmVhZGFibGUgY2xhc3Mgc2hvdWxkIGJlaGF2ZSBpbXByb3Blcmx5LCBhcyBzdHJlYW1zIGFyZVxuICAvLyBkZXNpZ25lZCB0byBiZSBzeW5jL2FzeW5jIGFnbm9zdGljLlxuICAvLyBUYWtlIG5vdGUgaWYgdGhlIF9yZWFkIGNhbGwgaXMgc3luYyBvciBhc3luYyAoaWUsIGlmIHRoZSByZWFkIGNhbGxcbiAgLy8gaGFzIHJldHVybmVkIHlldCksIHNvIHRoYXQgd2Uga25vdyB3aGV0aGVyIG9yIG5vdCBpdCdzIHNhZmUgdG8gZW1pdFxuICAvLyAncmVhZGFibGUnIGV0Yy5cbiAgLy9cbiAgLy8gMy4gQWN0dWFsbHkgcHVsbCB0aGUgcmVxdWVzdGVkIGNodW5rcyBvdXQgb2YgdGhlIGJ1ZmZlciBhbmQgcmV0dXJuLlxuXG4gIC8vIGlmIHdlIG5lZWQgYSByZWFkYWJsZSBldmVudCwgdGhlbiB3ZSBuZWVkIHRvIGRvIHNvbWUgcmVhZGluZy5cbiAgdmFyIGRvUmVhZCA9IHN0YXRlLm5lZWRSZWFkYWJsZTtcbiAgZGVidWcoJ25lZWQgcmVhZGFibGUnLCBkb1JlYWQpO1xuXG4gIC8vIGlmIHdlIGN1cnJlbnRseSBoYXZlIGxlc3MgdGhhbiB0aGUgaGlnaFdhdGVyTWFyaywgdGhlbiBhbHNvIHJlYWQgc29tZVxuICBpZiAoc3RhdGUubGVuZ3RoID09PSAwIHx8IHN0YXRlLmxlbmd0aCAtIG4gPCBzdGF0ZS5oaWdoV2F0ZXJNYXJrKSB7XG4gICAgZG9SZWFkID0gdHJ1ZTtcbiAgICBkZWJ1ZygnbGVuZ3RoIGxlc3MgdGhhbiB3YXRlcm1hcmsnLCBkb1JlYWQpO1xuICB9XG5cbiAgLy8gaG93ZXZlciwgaWYgd2UndmUgZW5kZWQsIHRoZW4gdGhlcmUncyBubyBwb2ludCwgYW5kIGlmIHdlJ3JlIGFscmVhZHlcbiAgLy8gcmVhZGluZywgdGhlbiBpdCdzIHVubmVjZXNzYXJ5LlxuICBpZiAoc3RhdGUuZW5kZWQgfHwgc3RhdGUucmVhZGluZykge1xuICAgIGRvUmVhZCA9IGZhbHNlO1xuICAgIGRlYnVnKCdyZWFkaW5nIG9yIGVuZGVkJywgZG9SZWFkKTtcbiAgfSBlbHNlIGlmIChkb1JlYWQpIHtcbiAgICBkZWJ1ZygnZG8gcmVhZCcpO1xuICAgIHN0YXRlLnJlYWRpbmcgPSB0cnVlO1xuICAgIHN0YXRlLnN5bmMgPSB0cnVlO1xuICAgIC8vIGlmIHRoZSBsZW5ndGggaXMgY3VycmVudGx5IHplcm8sIHRoZW4gd2UgKm5lZWQqIGEgcmVhZGFibGUgZXZlbnQuXG4gICAgaWYgKHN0YXRlLmxlbmd0aCA9PT0gMCkgc3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTtcbiAgICAvLyBjYWxsIGludGVybmFsIHJlYWQgbWV0aG9kXG4gICAgdGhpcy5fcmVhZChzdGF0ZS5oaWdoV2F0ZXJNYXJrKTtcbiAgICBzdGF0ZS5zeW5jID0gZmFsc2U7XG4gICAgLy8gSWYgX3JlYWQgcHVzaGVkIGRhdGEgc3luY2hyb25vdXNseSwgdGhlbiBgcmVhZGluZ2Agd2lsbCBiZSBmYWxzZSxcbiAgICAvLyBhbmQgd2UgbmVlZCB0byByZS1ldmFsdWF0ZSBob3cgbXVjaCBkYXRhIHdlIGNhbiByZXR1cm4gdG8gdGhlIHVzZXIuXG4gICAgaWYgKCFzdGF0ZS5yZWFkaW5nKSBuID0gaG93TXVjaFRvUmVhZChuT3JpZywgc3RhdGUpO1xuICB9XG4gIHZhciByZXQ7XG4gIGlmIChuID4gMCkgcmV0ID0gZnJvbUxpc3Qobiwgc3RhdGUpO2Vsc2UgcmV0ID0gbnVsbDtcbiAgaWYgKHJldCA9PT0gbnVsbCkge1xuICAgIHN0YXRlLm5lZWRSZWFkYWJsZSA9IHN0YXRlLmxlbmd0aCA8PSBzdGF0ZS5oaWdoV2F0ZXJNYXJrO1xuICAgIG4gPSAwO1xuICB9IGVsc2Uge1xuICAgIHN0YXRlLmxlbmd0aCAtPSBuO1xuICAgIHN0YXRlLmF3YWl0RHJhaW4gPSAwO1xuICB9XG4gIGlmIChzdGF0ZS5sZW5ndGggPT09IDApIHtcbiAgICAvLyBJZiB3ZSBoYXZlIG5vdGhpbmcgaW4gdGhlIGJ1ZmZlciwgdGhlbiB3ZSB3YW50IHRvIGtub3dcbiAgICAvLyBhcyBzb29uIGFzIHdlICpkbyogZ2V0IHNvbWV0aGluZyBpbnRvIHRoZSBidWZmZXIuXG4gICAgaWYgKCFzdGF0ZS5lbmRlZCkgc3RhdGUubmVlZFJlYWRhYmxlID0gdHJ1ZTtcblxuICAgIC8vIElmIHdlIHRyaWVkIHRvIHJlYWQoKSBwYXN0IHRoZSBFT0YsIHRoZW4gZW1pdCBlbmQgb24gdGhlIG5leHQgdGljay5cbiAgICBpZiAobk9yaWcgIT09IG4gJiYgc3RhdGUuZW5kZWQpIGVuZFJlYWRhYmxlKHRoaXMpO1xuICB9XG4gIGlmIChyZXQgIT09IG51bGwpIHRoaXMuZW1pdCgnZGF0YScsIHJldCk7XG4gIHJldHVybiByZXQ7XG59O1xuZnVuY3Rpb24gb25Fb2ZDaHVuayhzdHJlYW0sIHN0YXRlKSB7XG4gIGRlYnVnKCdvbkVvZkNodW5rJyk7XG4gIGlmIChzdGF0ZS5lbmRlZCkgcmV0dXJuO1xuICBpZiAoc3RhdGUuZGVjb2Rlcikge1xuICAgIHZhciBjaHVuayA9IHN0YXRlLmRlY29kZXIuZW5kKCk7XG4gICAgaWYgKGNodW5rICYmIGNodW5rLmxlbmd0aCkge1xuICAgICAgc3RhdGUuYnVmZmVyLnB1c2goY2h1bmspO1xuICAgICAgc3RhdGUubGVuZ3RoICs9IHN0YXRlLm9iamVjdE1vZGUgPyAxIDogY2h1bmsubGVuZ3RoO1xuICAgIH1cbiAgfVxuICBzdGF0ZS5lbmRlZCA9IHRydWU7XG4gIGlmIChzdGF0ZS5zeW5jKSB7XG4gICAgLy8gaWYgd2UgYXJlIHN5bmMsIHdhaXQgdW50aWwgbmV4dCB0aWNrIHRvIGVtaXQgdGhlIGRhdGEuXG4gICAgLy8gT3RoZXJ3aXNlIHdlIHJpc2sgZW1pdHRpbmcgZGF0YSBpbiB0aGUgZmxvdygpXG4gICAgLy8gdGhlIHJlYWRhYmxlIGNvZGUgdHJpZ2dlcnMgZHVyaW5nIGEgcmVhZCgpIGNhbGxcbiAgICBlbWl0UmVhZGFibGUoc3RyZWFtKTtcbiAgfSBlbHNlIHtcbiAgICAvLyBlbWl0ICdyZWFkYWJsZScgbm93IHRvIG1ha2Ugc3VyZSBpdCBnZXRzIHBpY2tlZCB1cC5cbiAgICBzdGF0ZS5uZWVkUmVhZGFibGUgPSBmYWxzZTtcbiAgICBpZiAoIXN0YXRlLmVtaXR0ZWRSZWFkYWJsZSkge1xuICAgICAgc3RhdGUuZW1pdHRlZFJlYWRhYmxlID0gdHJ1ZTtcbiAgICAgIGVtaXRSZWFkYWJsZV8oc3RyZWFtKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRG9uJ3QgZW1pdCByZWFkYWJsZSByaWdodCBhd2F5IGluIHN5bmMgbW9kZSwgYmVjYXVzZSB0aGlzIGNhbiB0cmlnZ2VyXG4vLyBhbm90aGVyIHJlYWQoKSBjYWxsID0+IHN0YWNrIG92ZXJmbG93LiAgVGhpcyB3YXksIGl0IG1pZ2h0IHRyaWdnZXJcbi8vIGEgbmV4dFRpY2sgcmVjdXJzaW9uIHdhcm5pbmcsIGJ1dCB0aGF0J3Mgbm90IHNvIGJhZC5cbmZ1bmN0aW9uIGVtaXRSZWFkYWJsZShzdHJlYW0pIHtcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xuICBkZWJ1ZygnZW1pdFJlYWRhYmxlJywgc3RhdGUubmVlZFJlYWRhYmxlLCBzdGF0ZS5lbWl0dGVkUmVhZGFibGUpO1xuICBzdGF0ZS5uZWVkUmVhZGFibGUgPSBmYWxzZTtcbiAgaWYgKCFzdGF0ZS5lbWl0dGVkUmVhZGFibGUpIHtcbiAgICBkZWJ1ZygnZW1pdFJlYWRhYmxlJywgc3RhdGUuZmxvd2luZyk7XG4gICAgc3RhdGUuZW1pdHRlZFJlYWRhYmxlID0gdHJ1ZTtcbiAgICBwcm9jZXNzLm5leHRUaWNrKGVtaXRSZWFkYWJsZV8sIHN0cmVhbSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGVtaXRSZWFkYWJsZV8oc3RyZWFtKSB7XG4gIHZhciBzdGF0ZSA9IHN0cmVhbS5fcmVhZGFibGVTdGF0ZTtcbiAgZGVidWcoJ2VtaXRSZWFkYWJsZV8nLCBzdGF0ZS5kZXN0cm95ZWQsIHN0YXRlLmxlbmd0aCwgc3RhdGUuZW5kZWQpO1xuICBpZiAoIXN0YXRlLmRlc3Ryb3llZCAmJiAoc3RhdGUubGVuZ3RoIHx8IHN0YXRlLmVuZGVkKSkge1xuICAgIHN0cmVhbS5lbWl0KCdyZWFkYWJsZScpO1xuICAgIHN0YXRlLmVtaXR0ZWRSZWFkYWJsZSA9IGZhbHNlO1xuICB9XG5cbiAgLy8gVGhlIHN0cmVhbSBuZWVkcyBhbm90aGVyIHJlYWRhYmxlIGV2ZW50IGlmXG4gIC8vIDEuIEl0IGlzIG5vdCBmbG93aW5nLCBhcyB0aGUgZmxvdyBtZWNoYW5pc20gd2lsbCB0YWtlXG4gIC8vICAgIGNhcmUgb2YgaXQuXG4gIC8vIDIuIEl0IGlzIG5vdCBlbmRlZC5cbiAgLy8gMy4gSXQgaXMgYmVsb3cgdGhlIGhpZ2hXYXRlck1hcmssIHNvIHdlIGNhbiBzY2hlZHVsZVxuICAvLyAgICBhbm90aGVyIHJlYWRhYmxlIGxhdGVyLlxuICBzdGF0ZS5uZWVkUmVhZGFibGUgPSAhc3RhdGUuZmxvd2luZyAmJiAhc3RhdGUuZW5kZWQgJiYgc3RhdGUubGVuZ3RoIDw9IHN0YXRlLmhpZ2hXYXRlck1hcms7XG4gIGZsb3coc3RyZWFtKTtcbn1cblxuLy8gYXQgdGhpcyBwb2ludCwgdGhlIHVzZXIgaGFzIHByZXN1bWFibHkgc2VlbiB0aGUgJ3JlYWRhYmxlJyBldmVudCxcbi8vIGFuZCBjYWxsZWQgcmVhZCgpIHRvIGNvbnN1bWUgc29tZSBkYXRhLiAgdGhhdCBtYXkgaGF2ZSB0cmlnZ2VyZWRcbi8vIGluIHR1cm4gYW5vdGhlciBfcmVhZChuKSBjYWxsLCBpbiB3aGljaCBjYXNlIHJlYWRpbmcgPSB0cnVlIGlmXG4vLyBpdCdzIGluIHByb2dyZXNzLlxuLy8gSG93ZXZlciwgaWYgd2UncmUgbm90IGVuZGVkLCBvciByZWFkaW5nLCBhbmQgdGhlIGxlbmd0aCA8IGh3bSxcbi8vIHRoZW4gZ28gYWhlYWQgYW5kIHRyeSB0byByZWFkIHNvbWUgbW9yZSBwcmVlbXB0aXZlbHkuXG5mdW5jdGlvbiBtYXliZVJlYWRNb3JlKHN0cmVhbSwgc3RhdGUpIHtcbiAgaWYgKCFzdGF0ZS5yZWFkaW5nTW9yZSkge1xuICAgIHN0YXRlLnJlYWRpbmdNb3JlID0gdHJ1ZTtcbiAgICBwcm9jZXNzLm5leHRUaWNrKG1heWJlUmVhZE1vcmVfLCBzdHJlYW0sIHN0YXRlKTtcbiAgfVxufVxuZnVuY3Rpb24gbWF5YmVSZWFkTW9yZV8oc3RyZWFtLCBzdGF0ZSkge1xuICAvLyBBdHRlbXB0IHRvIHJlYWQgbW9yZSBkYXRhIGlmIHdlIHNob3VsZC5cbiAgLy9cbiAgLy8gVGhlIGNvbmRpdGlvbnMgZm9yIHJlYWRpbmcgbW9yZSBkYXRhIGFyZSAob25lIG9mKTpcbiAgLy8gLSBOb3QgZW5vdWdoIGRhdGEgYnVmZmVyZWQgKHN0YXRlLmxlbmd0aCA8IHN0YXRlLmhpZ2hXYXRlck1hcmspLiBUaGUgbG9vcFxuICAvLyAgIGlzIHJlc3BvbnNpYmxlIGZvciBmaWxsaW5nIHRoZSBidWZmZXIgd2l0aCBlbm91Z2ggZGF0YSBpZiBzdWNoIGRhdGFcbiAgLy8gICBpcyBhdmFpbGFibGUuIElmIGhpZ2hXYXRlck1hcmsgaXMgMCBhbmQgd2UgYXJlIG5vdCBpbiB0aGUgZmxvd2luZyBtb2RlXG4gIC8vICAgd2Ugc2hvdWxkIF9ub3RfIGF0dGVtcHQgdG8gYnVmZmVyIGFueSBleHRyYSBkYXRhLiBXZSdsbCBnZXQgbW9yZSBkYXRhXG4gIC8vICAgd2hlbiB0aGUgc3RyZWFtIGNvbnN1bWVyIGNhbGxzIHJlYWQoKSBpbnN0ZWFkLlxuICAvLyAtIE5vIGRhdGEgaW4gdGhlIGJ1ZmZlciwgYW5kIHRoZSBzdHJlYW0gaXMgaW4gZmxvd2luZyBtb2RlLiBJbiB0aGlzIG1vZGVcbiAgLy8gICB0aGUgbG9vcCBiZWxvdyBpcyByZXNwb25zaWJsZSBmb3IgZW5zdXJpbmcgcmVhZCgpIGlzIGNhbGxlZC4gRmFpbGluZyB0b1xuICAvLyAgIGNhbGwgcmVhZCBoZXJlIHdvdWxkIGFib3J0IHRoZSBmbG93IGFuZCB0aGVyZSdzIG5vIG90aGVyIG1lY2hhbmlzbSBmb3JcbiAgLy8gICBjb250aW51aW5nIHRoZSBmbG93IGlmIHRoZSBzdHJlYW0gY29uc3VtZXIgaGFzIGp1c3Qgc3Vic2NyaWJlZCB0byB0aGVcbiAgLy8gICAnZGF0YScgZXZlbnQuXG4gIC8vXG4gIC8vIEluIGFkZGl0aW9uIHRvIHRoZSBhYm92ZSBjb25kaXRpb25zIHRvIGtlZXAgcmVhZGluZyBkYXRhLCB0aGUgZm9sbG93aW5nXG4gIC8vIGNvbmRpdGlvbnMgcHJldmVudCB0aGUgZGF0YSBmcm9tIGJlaW5nIHJlYWQ6XG4gIC8vIC0gVGhlIHN0cmVhbSBoYXMgZW5kZWQgKHN0YXRlLmVuZGVkKS5cbiAgLy8gLSBUaGVyZSBpcyBhbHJlYWR5IGEgcGVuZGluZyAncmVhZCcgb3BlcmF0aW9uIChzdGF0ZS5yZWFkaW5nKS4gVGhpcyBpcyBhXG4gIC8vICAgY2FzZSB3aGVyZSB0aGUgdGhlIHN0cmVhbSBoYXMgY2FsbGVkIHRoZSBpbXBsZW1lbnRhdGlvbiBkZWZpbmVkIF9yZWFkKClcbiAgLy8gICBtZXRob2QsIGJ1dCB0aGV5IGFyZSBwcm9jZXNzaW5nIHRoZSBjYWxsIGFzeW5jaHJvbm91c2x5IGFuZCBoYXZlIF9ub3RfXG4gIC8vICAgY2FsbGVkIHB1c2goKSB3aXRoIG5ldyBkYXRhLiBJbiB0aGlzIGNhc2Ugd2Ugc2tpcCBwZXJmb3JtaW5nIG1vcmVcbiAgLy8gICByZWFkKClzLiBUaGUgZXhlY3V0aW9uIGVuZHMgaW4gdGhpcyBtZXRob2QgYWdhaW4gYWZ0ZXIgdGhlIF9yZWFkKCkgZW5kc1xuICAvLyAgIHVwIGNhbGxpbmcgcHVzaCgpIHdpdGggbW9yZSBkYXRhLlxuICB3aGlsZSAoIXN0YXRlLnJlYWRpbmcgJiYgIXN0YXRlLmVuZGVkICYmIChzdGF0ZS5sZW5ndGggPCBzdGF0ZS5oaWdoV2F0ZXJNYXJrIHx8IHN0YXRlLmZsb3dpbmcgJiYgc3RhdGUubGVuZ3RoID09PSAwKSkge1xuICAgIHZhciBsZW4gPSBzdGF0ZS5sZW5ndGg7XG4gICAgZGVidWcoJ21heWJlUmVhZE1vcmUgcmVhZCAwJyk7XG4gICAgc3RyZWFtLnJlYWQoMCk7XG4gICAgaWYgKGxlbiA9PT0gc3RhdGUubGVuZ3RoKVxuICAgICAgLy8gZGlkbid0IGdldCBhbnkgZGF0YSwgc3RvcCBzcGlubmluZy5cbiAgICAgIGJyZWFrO1xuICB9XG4gIHN0YXRlLnJlYWRpbmdNb3JlID0gZmFsc2U7XG59XG5cbi8vIGFic3RyYWN0IG1ldGhvZC4gIHRvIGJlIG92ZXJyaWRkZW4gaW4gc3BlY2lmaWMgaW1wbGVtZW50YXRpb24gY2xhc3Nlcy5cbi8vIGNhbGwgY2IoZXIsIGRhdGEpIHdoZXJlIGRhdGEgaXMgPD0gbiBpbiBsZW5ndGguXG4vLyBmb3IgdmlydHVhbCAobm9uLXN0cmluZywgbm9uLWJ1ZmZlcikgc3RyZWFtcywgXCJsZW5ndGhcIiBpcyBzb21ld2hhdFxuLy8gYXJiaXRyYXJ5LCBhbmQgcGVyaGFwcyBub3QgdmVyeSBtZWFuaW5nZnVsLlxuUmVhZGFibGUucHJvdG90eXBlLl9yZWFkID0gZnVuY3Rpb24gKG4pIHtcbiAgZXJyb3JPckRlc3Ryb3kodGhpcywgbmV3IEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEKCdfcmVhZCgpJykpO1xufTtcblJlYWRhYmxlLnByb3RvdHlwZS5waXBlID0gZnVuY3Rpb24gKGRlc3QsIHBpcGVPcHRzKSB7XG4gIHZhciBzcmMgPSB0aGlzO1xuICB2YXIgc3RhdGUgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICBzd2l0Y2ggKHN0YXRlLnBpcGVzQ291bnQpIHtcbiAgICBjYXNlIDA6XG4gICAgICBzdGF0ZS5waXBlcyA9IGRlc3Q7XG4gICAgICBicmVhaztcbiAgICBjYXNlIDE6XG4gICAgICBzdGF0ZS5waXBlcyA9IFtzdGF0ZS5waXBlcywgZGVzdF07XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgc3RhdGUucGlwZXMucHVzaChkZXN0KTtcbiAgICAgIGJyZWFrO1xuICB9XG4gIHN0YXRlLnBpcGVzQ291bnQgKz0gMTtcbiAgZGVidWcoJ3BpcGUgY291bnQ9JWQgb3B0cz0laicsIHN0YXRlLnBpcGVzQ291bnQsIHBpcGVPcHRzKTtcbiAgdmFyIGRvRW5kID0gKCFwaXBlT3B0cyB8fCBwaXBlT3B0cy5lbmQgIT09IGZhbHNlKSAmJiBkZXN0ICE9PSBwcm9jZXNzLnN0ZG91dCAmJiBkZXN0ICE9PSBwcm9jZXNzLnN0ZGVycjtcbiAgdmFyIGVuZEZuID0gZG9FbmQgPyBvbmVuZCA6IHVucGlwZTtcbiAgaWYgKHN0YXRlLmVuZEVtaXR0ZWQpIHByb2Nlc3MubmV4dFRpY2soZW5kRm4pO2Vsc2Ugc3JjLm9uY2UoJ2VuZCcsIGVuZEZuKTtcbiAgZGVzdC5vbigndW5waXBlJywgb251bnBpcGUpO1xuICBmdW5jdGlvbiBvbnVucGlwZShyZWFkYWJsZSwgdW5waXBlSW5mbykge1xuICAgIGRlYnVnKCdvbnVucGlwZScpO1xuICAgIGlmIChyZWFkYWJsZSA9PT0gc3JjKSB7XG4gICAgICBpZiAodW5waXBlSW5mbyAmJiB1bnBpcGVJbmZvLmhhc1VucGlwZWQgPT09IGZhbHNlKSB7XG4gICAgICAgIHVucGlwZUluZm8uaGFzVW5waXBlZCA9IHRydWU7XG4gICAgICAgIGNsZWFudXAoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gb25lbmQoKSB7XG4gICAgZGVidWcoJ29uZW5kJyk7XG4gICAgZGVzdC5lbmQoKTtcbiAgfVxuXG4gIC8vIHdoZW4gdGhlIGRlc3QgZHJhaW5zLCBpdCByZWR1Y2VzIHRoZSBhd2FpdERyYWluIGNvdW50ZXJcbiAgLy8gb24gdGhlIHNvdXJjZS4gIFRoaXMgd291bGQgYmUgbW9yZSBlbGVnYW50IHdpdGggYSAub25jZSgpXG4gIC8vIGhhbmRsZXIgaW4gZmxvdygpLCBidXQgYWRkaW5nIGFuZCByZW1vdmluZyByZXBlYXRlZGx5IGlzXG4gIC8vIHRvbyBzbG93LlxuICB2YXIgb25kcmFpbiA9IHBpcGVPbkRyYWluKHNyYyk7XG4gIGRlc3Qub24oJ2RyYWluJywgb25kcmFpbik7XG4gIHZhciBjbGVhbmVkVXAgPSBmYWxzZTtcbiAgZnVuY3Rpb24gY2xlYW51cCgpIHtcbiAgICBkZWJ1ZygnY2xlYW51cCcpO1xuICAgIC8vIGNsZWFudXAgZXZlbnQgaGFuZGxlcnMgb25jZSB0aGUgcGlwZSBpcyBicm9rZW5cbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdjbG9zZScsIG9uY2xvc2UpO1xuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2ZpbmlzaCcsIG9uZmluaXNoKTtcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdkcmFpbicsIG9uZHJhaW4pO1xuICAgIGRlc3QucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgb25lcnJvcik7XG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcigndW5waXBlJywgb251bnBpcGUpO1xuICAgIHNyYy5yZW1vdmVMaXN0ZW5lcignZW5kJywgb25lbmQpO1xuICAgIHNyYy5yZW1vdmVMaXN0ZW5lcignZW5kJywgdW5waXBlKTtcbiAgICBzcmMucmVtb3ZlTGlzdGVuZXIoJ2RhdGEnLCBvbmRhdGEpO1xuICAgIGNsZWFuZWRVcCA9IHRydWU7XG5cbiAgICAvLyBpZiB0aGUgcmVhZGVyIGlzIHdhaXRpbmcgZm9yIGEgZHJhaW4gZXZlbnQgZnJvbSB0aGlzXG4gICAgLy8gc3BlY2lmaWMgd3JpdGVyLCB0aGVuIGl0IHdvdWxkIGNhdXNlIGl0IHRvIG5ldmVyIHN0YXJ0XG4gICAgLy8gZmxvd2luZyBhZ2Fpbi5cbiAgICAvLyBTbywgaWYgdGhpcyBpcyBhd2FpdGluZyBhIGRyYWluLCB0aGVuIHdlIGp1c3QgY2FsbCBpdCBub3cuXG4gICAgLy8gSWYgd2UgZG9uJ3Qga25vdywgdGhlbiBhc3N1bWUgdGhhdCB3ZSBhcmUgd2FpdGluZyBmb3Igb25lLlxuICAgIGlmIChzdGF0ZS5hd2FpdERyYWluICYmICghZGVzdC5fd3JpdGFibGVTdGF0ZSB8fCBkZXN0Ll93cml0YWJsZVN0YXRlLm5lZWREcmFpbikpIG9uZHJhaW4oKTtcbiAgfVxuICBzcmMub24oJ2RhdGEnLCBvbmRhdGEpO1xuICBmdW5jdGlvbiBvbmRhdGEoY2h1bmspIHtcbiAgICBkZWJ1Zygnb25kYXRhJyk7XG4gICAgdmFyIHJldCA9IGRlc3Qud3JpdGUoY2h1bmspO1xuICAgIGRlYnVnKCdkZXN0LndyaXRlJywgcmV0KTtcbiAgICBpZiAocmV0ID09PSBmYWxzZSkge1xuICAgICAgLy8gSWYgdGhlIHVzZXIgdW5waXBlZCBkdXJpbmcgYGRlc3Qud3JpdGUoKWAsIGl0IGlzIHBvc3NpYmxlXG4gICAgICAvLyB0byBnZXQgc3R1Y2sgaW4gYSBwZXJtYW5lbnRseSBwYXVzZWQgc3RhdGUgaWYgdGhhdCB3cml0ZVxuICAgICAgLy8gYWxzbyByZXR1cm5lZCBmYWxzZS5cbiAgICAgIC8vID0+IENoZWNrIHdoZXRoZXIgYGRlc3RgIGlzIHN0aWxsIGEgcGlwaW5nIGRlc3RpbmF0aW9uLlxuICAgICAgaWYgKChzdGF0ZS5waXBlc0NvdW50ID09PSAxICYmIHN0YXRlLnBpcGVzID09PSBkZXN0IHx8IHN0YXRlLnBpcGVzQ291bnQgPiAxICYmIGluZGV4T2Yoc3RhdGUucGlwZXMsIGRlc3QpICE9PSAtMSkgJiYgIWNsZWFuZWRVcCkge1xuICAgICAgICBkZWJ1ZygnZmFsc2Ugd3JpdGUgcmVzcG9uc2UsIHBhdXNlJywgc3RhdGUuYXdhaXREcmFpbik7XG4gICAgICAgIHN0YXRlLmF3YWl0RHJhaW4rKztcbiAgICAgIH1cbiAgICAgIHNyYy5wYXVzZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8vIGlmIHRoZSBkZXN0IGhhcyBhbiBlcnJvciwgdGhlbiBzdG9wIHBpcGluZyBpbnRvIGl0LlxuICAvLyBob3dldmVyLCBkb24ndCBzdXBwcmVzcyB0aGUgdGhyb3dpbmcgYmVoYXZpb3IgZm9yIHRoaXMuXG4gIGZ1bmN0aW9uIG9uZXJyb3IoZXIpIHtcbiAgICBkZWJ1Zygnb25lcnJvcicsIGVyKTtcbiAgICB1bnBpcGUoKTtcbiAgICBkZXN0LnJlbW92ZUxpc3RlbmVyKCdlcnJvcicsIG9uZXJyb3IpO1xuICAgIGlmIChFRWxpc3RlbmVyQ291bnQoZGVzdCwgJ2Vycm9yJykgPT09IDApIGVycm9yT3JEZXN0cm95KGRlc3QsIGVyKTtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSBvdXIgZXJyb3IgaGFuZGxlciBpcyBhdHRhY2hlZCBiZWZvcmUgdXNlcmxhbmQgb25lcy5cbiAgcHJlcGVuZExpc3RlbmVyKGRlc3QsICdlcnJvcicsIG9uZXJyb3IpO1xuXG4gIC8vIEJvdGggY2xvc2UgYW5kIGZpbmlzaCBzaG91bGQgdHJpZ2dlciB1bnBpcGUsIGJ1dCBvbmx5IG9uY2UuXG4gIGZ1bmN0aW9uIG9uY2xvc2UoKSB7XG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignZmluaXNoJywgb25maW5pc2gpO1xuICAgIHVucGlwZSgpO1xuICB9XG4gIGRlc3Qub25jZSgnY2xvc2UnLCBvbmNsb3NlKTtcbiAgZnVuY3Rpb24gb25maW5pc2goKSB7XG4gICAgZGVidWcoJ29uZmluaXNoJyk7XG4gICAgZGVzdC5yZW1vdmVMaXN0ZW5lcignY2xvc2UnLCBvbmNsb3NlKTtcbiAgICB1bnBpcGUoKTtcbiAgfVxuICBkZXN0Lm9uY2UoJ2ZpbmlzaCcsIG9uZmluaXNoKTtcbiAgZnVuY3Rpb24gdW5waXBlKCkge1xuICAgIGRlYnVnKCd1bnBpcGUnKTtcbiAgICBzcmMudW5waXBlKGRlc3QpO1xuICB9XG5cbiAgLy8gdGVsbCB0aGUgZGVzdCB0aGF0IGl0J3MgYmVpbmcgcGlwZWQgdG9cbiAgZGVzdC5lbWl0KCdwaXBlJywgc3JjKTtcblxuICAvLyBzdGFydCB0aGUgZmxvdyBpZiBpdCBoYXNuJ3QgYmVlbiBzdGFydGVkIGFscmVhZHkuXG4gIGlmICghc3RhdGUuZmxvd2luZykge1xuICAgIGRlYnVnKCdwaXBlIHJlc3VtZScpO1xuICAgIHNyYy5yZXN1bWUoKTtcbiAgfVxuICByZXR1cm4gZGVzdDtcbn07XG5mdW5jdGlvbiBwaXBlT25EcmFpbihzcmMpIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIHBpcGVPbkRyYWluRnVuY3Rpb25SZXN1bHQoKSB7XG4gICAgdmFyIHN0YXRlID0gc3JjLl9yZWFkYWJsZVN0YXRlO1xuICAgIGRlYnVnKCdwaXBlT25EcmFpbicsIHN0YXRlLmF3YWl0RHJhaW4pO1xuICAgIGlmIChzdGF0ZS5hd2FpdERyYWluKSBzdGF0ZS5hd2FpdERyYWluLS07XG4gICAgaWYgKHN0YXRlLmF3YWl0RHJhaW4gPT09IDAgJiYgRUVsaXN0ZW5lckNvdW50KHNyYywgJ2RhdGEnKSkge1xuICAgICAgc3RhdGUuZmxvd2luZyA9IHRydWU7XG4gICAgICBmbG93KHNyYyk7XG4gICAgfVxuICB9O1xufVxuUmVhZGFibGUucHJvdG90eXBlLnVucGlwZSA9IGZ1bmN0aW9uIChkZXN0KSB7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XG4gIHZhciB1bnBpcGVJbmZvID0ge1xuICAgIGhhc1VucGlwZWQ6IGZhbHNlXG4gIH07XG5cbiAgLy8gaWYgd2UncmUgbm90IHBpcGluZyBhbnl3aGVyZSwgdGhlbiBkbyBub3RoaW5nLlxuICBpZiAoc3RhdGUucGlwZXNDb3VudCA9PT0gMCkgcmV0dXJuIHRoaXM7XG5cbiAgLy8ganVzdCBvbmUgZGVzdGluYXRpb24uICBtb3N0IGNvbW1vbiBjYXNlLlxuICBpZiAoc3RhdGUucGlwZXNDb3VudCA9PT0gMSkge1xuICAgIC8vIHBhc3NlZCBpbiBvbmUsIGJ1dCBpdCdzIG5vdCB0aGUgcmlnaHQgb25lLlxuICAgIGlmIChkZXN0ICYmIGRlc3QgIT09IHN0YXRlLnBpcGVzKSByZXR1cm4gdGhpcztcbiAgICBpZiAoIWRlc3QpIGRlc3QgPSBzdGF0ZS5waXBlcztcblxuICAgIC8vIGdvdCBhIG1hdGNoLlxuICAgIHN0YXRlLnBpcGVzID0gbnVsbDtcbiAgICBzdGF0ZS5waXBlc0NvdW50ID0gMDtcbiAgICBzdGF0ZS5mbG93aW5nID0gZmFsc2U7XG4gICAgaWYgKGRlc3QpIGRlc3QuZW1pdCgndW5waXBlJywgdGhpcywgdW5waXBlSW5mbyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvLyBzbG93IGNhc2UuIG11bHRpcGxlIHBpcGUgZGVzdGluYXRpb25zLlxuXG4gIGlmICghZGVzdCkge1xuICAgIC8vIHJlbW92ZSBhbGwuXG4gICAgdmFyIGRlc3RzID0gc3RhdGUucGlwZXM7XG4gICAgdmFyIGxlbiA9IHN0YXRlLnBpcGVzQ291bnQ7XG4gICAgc3RhdGUucGlwZXMgPSBudWxsO1xuICAgIHN0YXRlLnBpcGVzQ291bnQgPSAwO1xuICAgIHN0YXRlLmZsb3dpbmcgPSBmYWxzZTtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbjsgaSsrKSBkZXN0c1tpXS5lbWl0KCd1bnBpcGUnLCB0aGlzLCB7XG4gICAgICBoYXNVbnBpcGVkOiBmYWxzZVxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLy8gdHJ5IHRvIGZpbmQgdGhlIHJpZ2h0IG9uZS5cbiAgdmFyIGluZGV4ID0gaW5kZXhPZihzdGF0ZS5waXBlcywgZGVzdCk7XG4gIGlmIChpbmRleCA9PT0gLTEpIHJldHVybiB0aGlzO1xuICBzdGF0ZS5waXBlcy5zcGxpY2UoaW5kZXgsIDEpO1xuICBzdGF0ZS5waXBlc0NvdW50IC09IDE7XG4gIGlmIChzdGF0ZS5waXBlc0NvdW50ID09PSAxKSBzdGF0ZS5waXBlcyA9IHN0YXRlLnBpcGVzWzBdO1xuICBkZXN0LmVtaXQoJ3VucGlwZScsIHRoaXMsIHVucGlwZUluZm8pO1xuICByZXR1cm4gdGhpcztcbn07XG5cbi8vIHNldCB1cCBkYXRhIGV2ZW50cyBpZiB0aGV5IGFyZSBhc2tlZCBmb3Jcbi8vIEVuc3VyZSByZWFkYWJsZSBsaXN0ZW5lcnMgZXZlbnR1YWxseSBnZXQgc29tZXRoaW5nXG5SZWFkYWJsZS5wcm90b3R5cGUub24gPSBmdW5jdGlvbiAoZXYsIGZuKSB7XG4gIHZhciByZXMgPSBTdHJlYW0ucHJvdG90eXBlLm9uLmNhbGwodGhpcywgZXYsIGZuKTtcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcbiAgaWYgKGV2ID09PSAnZGF0YScpIHtcbiAgICAvLyB1cGRhdGUgcmVhZGFibGVMaXN0ZW5pbmcgc28gdGhhdCByZXN1bWUoKSBtYXkgYmUgYSBuby1vcFxuICAgIC8vIGEgZmV3IGxpbmVzIGRvd24uIFRoaXMgaXMgbmVlZGVkIHRvIHN1cHBvcnQgb25jZSgncmVhZGFibGUnKS5cbiAgICBzdGF0ZS5yZWFkYWJsZUxpc3RlbmluZyA9IHRoaXMubGlzdGVuZXJDb3VudCgncmVhZGFibGUnKSA+IDA7XG5cbiAgICAvLyBUcnkgc3RhcnQgZmxvd2luZyBvbiBuZXh0IHRpY2sgaWYgc3RyZWFtIGlzbid0IGV4cGxpY2l0bHkgcGF1c2VkXG4gICAgaWYgKHN0YXRlLmZsb3dpbmcgIT09IGZhbHNlKSB0aGlzLnJlc3VtZSgpO1xuICB9IGVsc2UgaWYgKGV2ID09PSAncmVhZGFibGUnKSB7XG4gICAgaWYgKCFzdGF0ZS5lbmRFbWl0dGVkICYmICFzdGF0ZS5yZWFkYWJsZUxpc3RlbmluZykge1xuICAgICAgc3RhdGUucmVhZGFibGVMaXN0ZW5pbmcgPSBzdGF0ZS5uZWVkUmVhZGFibGUgPSB0cnVlO1xuICAgICAgc3RhdGUuZmxvd2luZyA9IGZhbHNlO1xuICAgICAgc3RhdGUuZW1pdHRlZFJlYWRhYmxlID0gZmFsc2U7XG4gICAgICBkZWJ1Zygnb24gcmVhZGFibGUnLCBzdGF0ZS5sZW5ndGgsIHN0YXRlLnJlYWRpbmcpO1xuICAgICAgaWYgKHN0YXRlLmxlbmd0aCkge1xuICAgICAgICBlbWl0UmVhZGFibGUodGhpcyk7XG4gICAgICB9IGVsc2UgaWYgKCFzdGF0ZS5yZWFkaW5nKSB7XG4gICAgICAgIHByb2Nlc3MubmV4dFRpY2soblJlYWRpbmdOZXh0VGljaywgdGhpcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiByZXM7XG59O1xuUmVhZGFibGUucHJvdG90eXBlLmFkZExpc3RlbmVyID0gUmVhZGFibGUucHJvdG90eXBlLm9uO1xuUmVhZGFibGUucHJvdG90eXBlLnJlbW92ZUxpc3RlbmVyID0gZnVuY3Rpb24gKGV2LCBmbikge1xuICB2YXIgcmVzID0gU3RyZWFtLnByb3RvdHlwZS5yZW1vdmVMaXN0ZW5lci5jYWxsKHRoaXMsIGV2LCBmbik7XG4gIGlmIChldiA9PT0gJ3JlYWRhYmxlJykge1xuICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlcmUgaXMgc29tZW9uZSBzdGlsbCBsaXN0ZW5pbmcgdG9cbiAgICAvLyByZWFkYWJsZSBhbmQgcmVzZXQgdGhlIHN0YXRlLiBIb3dldmVyIHRoaXMgbmVlZHMgdG8gaGFwcGVuXG4gICAgLy8gYWZ0ZXIgcmVhZGFibGUgaGFzIGJlZW4gZW1pdHRlZCBidXQgYmVmb3JlIEkvTyAobmV4dFRpY2spIHRvXG4gICAgLy8gc3VwcG9ydCBvbmNlKCdyZWFkYWJsZScsIGZuKSBjeWNsZXMuIFRoaXMgbWVhbnMgdGhhdCBjYWxsaW5nXG4gICAgLy8gcmVzdW1lIHdpdGhpbiB0aGUgc2FtZSB0aWNrIHdpbGwgaGF2ZSBub1xuICAgIC8vIGVmZmVjdC5cbiAgICBwcm9jZXNzLm5leHRUaWNrKHVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nLCB0aGlzKTtcbiAgfVxuICByZXR1cm4gcmVzO1xufTtcblJlYWRhYmxlLnByb3RvdHlwZS5yZW1vdmVBbGxMaXN0ZW5lcnMgPSBmdW5jdGlvbiAoZXYpIHtcbiAgdmFyIHJlcyA9IFN0cmVhbS5wcm90b3R5cGUucmVtb3ZlQWxsTGlzdGVuZXJzLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7XG4gIGlmIChldiA9PT0gJ3JlYWRhYmxlJyB8fCBldiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgLy8gV2UgbmVlZCB0byBjaGVjayBpZiB0aGVyZSBpcyBzb21lb25lIHN0aWxsIGxpc3RlbmluZyB0b1xuICAgIC8vIHJlYWRhYmxlIGFuZCByZXNldCB0aGUgc3RhdGUuIEhvd2V2ZXIgdGhpcyBuZWVkcyB0byBoYXBwZW5cbiAgICAvLyBhZnRlciByZWFkYWJsZSBoYXMgYmVlbiBlbWl0dGVkIGJ1dCBiZWZvcmUgSS9PIChuZXh0VGljaykgdG9cbiAgICAvLyBzdXBwb3J0IG9uY2UoJ3JlYWRhYmxlJywgZm4pIGN5Y2xlcy4gVGhpcyBtZWFucyB0aGF0IGNhbGxpbmdcbiAgICAvLyByZXN1bWUgd2l0aGluIHRoZSBzYW1lIHRpY2sgd2lsbCBoYXZlIG5vXG4gICAgLy8gZWZmZWN0LlxuICAgIHByb2Nlc3MubmV4dFRpY2sodXBkYXRlUmVhZGFibGVMaXN0ZW5pbmcsIHRoaXMpO1xuICB9XG4gIHJldHVybiByZXM7XG59O1xuZnVuY3Rpb24gdXBkYXRlUmVhZGFibGVMaXN0ZW5pbmcoc2VsZikge1xuICB2YXIgc3RhdGUgPSBzZWxmLl9yZWFkYWJsZVN0YXRlO1xuICBzdGF0ZS5yZWFkYWJsZUxpc3RlbmluZyA9IHNlbGYubGlzdGVuZXJDb3VudCgncmVhZGFibGUnKSA+IDA7XG4gIGlmIChzdGF0ZS5yZXN1bWVTY2hlZHVsZWQgJiYgIXN0YXRlLnBhdXNlZCkge1xuICAgIC8vIGZsb3dpbmcgbmVlZHMgdG8gYmUgc2V0IHRvIHRydWUgbm93LCBvdGhlcndpc2VcbiAgICAvLyB0aGUgdXBjb21pbmcgcmVzdW1lIHdpbGwgbm90IGZsb3cuXG4gICAgc3RhdGUuZmxvd2luZyA9IHRydWU7XG5cbiAgICAvLyBjcnVkZSB3YXkgdG8gY2hlY2sgaWYgd2Ugc2hvdWxkIHJlc3VtZVxuICB9IGVsc2UgaWYgKHNlbGYubGlzdGVuZXJDb3VudCgnZGF0YScpID4gMCkge1xuICAgIHNlbGYucmVzdW1lKCk7XG4gIH1cbn1cbmZ1bmN0aW9uIG5SZWFkaW5nTmV4dFRpY2soc2VsZikge1xuICBkZWJ1ZygncmVhZGFibGUgbmV4dHRpY2sgcmVhZCAwJyk7XG4gIHNlbGYucmVhZCgwKTtcbn1cblxuLy8gcGF1c2UoKSBhbmQgcmVzdW1lKCkgYXJlIHJlbW5hbnRzIG9mIHRoZSBsZWdhY3kgcmVhZGFibGUgc3RyZWFtIEFQSVxuLy8gSWYgdGhlIHVzZXIgdXNlcyB0aGVtLCB0aGVuIHN3aXRjaCBpbnRvIG9sZCBtb2RlLlxuUmVhZGFibGUucHJvdG90eXBlLnJlc3VtZSA9IGZ1bmN0aW9uICgpIHtcbiAgdmFyIHN0YXRlID0gdGhpcy5fcmVhZGFibGVTdGF0ZTtcbiAgaWYgKCFzdGF0ZS5mbG93aW5nKSB7XG4gICAgZGVidWcoJ3Jlc3VtZScpO1xuICAgIC8vIHdlIGZsb3cgb25seSBpZiB0aGVyZSBpcyBubyBvbmUgbGlzdGVuaW5nXG4gICAgLy8gZm9yIHJlYWRhYmxlLCBidXQgd2Ugc3RpbGwgaGF2ZSB0byBjYWxsXG4gICAgLy8gcmVzdW1lKClcbiAgICBzdGF0ZS5mbG93aW5nID0gIXN0YXRlLnJlYWRhYmxlTGlzdGVuaW5nO1xuICAgIHJlc3VtZSh0aGlzLCBzdGF0ZSk7XG4gIH1cbiAgc3RhdGUucGF1c2VkID0gZmFsc2U7XG4gIHJldHVybiB0aGlzO1xufTtcbmZ1bmN0aW9uIHJlc3VtZShzdHJlYW0sIHN0YXRlKSB7XG4gIGlmICghc3RhdGUucmVzdW1lU2NoZWR1bGVkKSB7XG4gICAgc3RhdGUucmVzdW1lU2NoZWR1bGVkID0gdHJ1ZTtcbiAgICBwcm9jZXNzLm5leHRUaWNrKHJlc3VtZV8sIHN0cmVhbSwgc3RhdGUpO1xuICB9XG59XG5mdW5jdGlvbiByZXN1bWVfKHN0cmVhbSwgc3RhdGUpIHtcbiAgZGVidWcoJ3Jlc3VtZScsIHN0YXRlLnJlYWRpbmcpO1xuICBpZiAoIXN0YXRlLnJlYWRpbmcpIHtcbiAgICBzdHJlYW0ucmVhZCgwKTtcbiAgfVxuICBzdGF0ZS5yZXN1bWVTY2hlZHVsZWQgPSBmYWxzZTtcbiAgc3RyZWFtLmVtaXQoJ3Jlc3VtZScpO1xuICBmbG93KHN0cmVhbSk7XG4gIGlmIChzdGF0ZS5mbG93aW5nICYmICFzdGF0ZS5yZWFkaW5nKSBzdHJlYW0ucmVhZCgwKTtcbn1cblJlYWRhYmxlLnByb3RvdHlwZS5wYXVzZSA9IGZ1bmN0aW9uICgpIHtcbiAgZGVidWcoJ2NhbGwgcGF1c2UgZmxvd2luZz0laicsIHRoaXMuX3JlYWRhYmxlU3RhdGUuZmxvd2luZyk7XG4gIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgIT09IGZhbHNlKSB7XG4gICAgZGVidWcoJ3BhdXNlJyk7XG4gICAgdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nID0gZmFsc2U7XG4gICAgdGhpcy5lbWl0KCdwYXVzZScpO1xuICB9XG4gIHRoaXMuX3JlYWRhYmxlU3RhdGUucGF1c2VkID0gdHJ1ZTtcbiAgcmV0dXJuIHRoaXM7XG59O1xuZnVuY3Rpb24gZmxvdyhzdHJlYW0pIHtcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xuICBkZWJ1ZygnZmxvdycsIHN0YXRlLmZsb3dpbmcpO1xuICB3aGlsZSAoc3RhdGUuZmxvd2luZyAmJiBzdHJlYW0ucmVhZCgpICE9PSBudWxsKTtcbn1cblxuLy8gd3JhcCBhbiBvbGQtc3R5bGUgc3RyZWFtIGFzIHRoZSBhc3luYyBkYXRhIHNvdXJjZS5cbi8vIFRoaXMgaXMgKm5vdCogcGFydCBvZiB0aGUgcmVhZGFibGUgc3RyZWFtIGludGVyZmFjZS5cbi8vIEl0IGlzIGFuIHVnbHkgdW5mb3J0dW5hdGUgbWVzcyBvZiBoaXN0b3J5LlxuUmVhZGFibGUucHJvdG90eXBlLndyYXAgPSBmdW5jdGlvbiAoc3RyZWFtKSB7XG4gIHZhciBfdGhpcyA9IHRoaXM7XG4gIHZhciBzdGF0ZSA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XG4gIHZhciBwYXVzZWQgPSBmYWxzZTtcbiAgc3RyZWFtLm9uKCdlbmQnLCBmdW5jdGlvbiAoKSB7XG4gICAgZGVidWcoJ3dyYXBwZWQgZW5kJyk7XG4gICAgaWYgKHN0YXRlLmRlY29kZXIgJiYgIXN0YXRlLmVuZGVkKSB7XG4gICAgICB2YXIgY2h1bmsgPSBzdGF0ZS5kZWNvZGVyLmVuZCgpO1xuICAgICAgaWYgKGNodW5rICYmIGNodW5rLmxlbmd0aCkgX3RoaXMucHVzaChjaHVuayk7XG4gICAgfVxuICAgIF90aGlzLnB1c2gobnVsbCk7XG4gIH0pO1xuICBzdHJlYW0ub24oJ2RhdGEnLCBmdW5jdGlvbiAoY2h1bmspIHtcbiAgICBkZWJ1Zygnd3JhcHBlZCBkYXRhJyk7XG4gICAgaWYgKHN0YXRlLmRlY29kZXIpIGNodW5rID0gc3RhdGUuZGVjb2Rlci53cml0ZShjaHVuayk7XG5cbiAgICAvLyBkb24ndCBza2lwIG92ZXIgZmFsc3kgdmFsdWVzIGluIG9iamVjdE1vZGVcbiAgICBpZiAoc3RhdGUub2JqZWN0TW9kZSAmJiAoY2h1bmsgPT09IG51bGwgfHwgY2h1bmsgPT09IHVuZGVmaW5lZCkpIHJldHVybjtlbHNlIGlmICghc3RhdGUub2JqZWN0TW9kZSAmJiAoIWNodW5rIHx8ICFjaHVuay5sZW5ndGgpKSByZXR1cm47XG4gICAgdmFyIHJldCA9IF90aGlzLnB1c2goY2h1bmspO1xuICAgIGlmICghcmV0KSB7XG4gICAgICBwYXVzZWQgPSB0cnVlO1xuICAgICAgc3RyZWFtLnBhdXNlKCk7XG4gICAgfVxuICB9KTtcblxuICAvLyBwcm94eSBhbGwgdGhlIG90aGVyIG1ldGhvZHMuXG4gIC8vIGltcG9ydGFudCB3aGVuIHdyYXBwaW5nIGZpbHRlcnMgYW5kIGR1cGxleGVzLlxuICBmb3IgKHZhciBpIGluIHN0cmVhbSkge1xuICAgIGlmICh0aGlzW2ldID09PSB1bmRlZmluZWQgJiYgdHlwZW9mIHN0cmVhbVtpXSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpc1tpXSA9IGZ1bmN0aW9uIG1ldGhvZFdyYXAobWV0aG9kKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbiBtZXRob2RXcmFwUmV0dXJuRnVuY3Rpb24oKSB7XG4gICAgICAgICAgcmV0dXJuIHN0cmVhbVttZXRob2RdLmFwcGx5KHN0cmVhbSwgYXJndW1lbnRzKTtcbiAgICAgICAgfTtcbiAgICAgIH0oaSk7XG4gICAgfVxuICB9XG5cbiAgLy8gcHJveHkgY2VydGFpbiBpbXBvcnRhbnQgZXZlbnRzLlxuICBmb3IgKHZhciBuID0gMDsgbiA8IGtQcm94eUV2ZW50cy5sZW5ndGg7IG4rKykge1xuICAgIHN0cmVhbS5vbihrUHJveHlFdmVudHNbbl0sIHRoaXMuZW1pdC5iaW5kKHRoaXMsIGtQcm94eUV2ZW50c1tuXSkpO1xuICB9XG5cbiAgLy8gd2hlbiB3ZSB0cnkgdG8gY29uc3VtZSBzb21lIG1vcmUgYnl0ZXMsIHNpbXBseSB1bnBhdXNlIHRoZVxuICAvLyB1bmRlcmx5aW5nIHN0cmVhbS5cbiAgdGhpcy5fcmVhZCA9IGZ1bmN0aW9uIChuKSB7XG4gICAgZGVidWcoJ3dyYXBwZWQgX3JlYWQnLCBuKTtcbiAgICBpZiAocGF1c2VkKSB7XG4gICAgICBwYXVzZWQgPSBmYWxzZTtcbiAgICAgIHN0cmVhbS5yZXN1bWUoKTtcbiAgICB9XG4gIH07XG4gIHJldHVybiB0aGlzO1xufTtcbmlmICh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nKSB7XG4gIFJlYWRhYmxlLnByb3RvdHlwZVtTeW1ib2wuYXN5bmNJdGVyYXRvcl0gPSBmdW5jdGlvbiAoKSB7XG4gICAgaWYgKGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IgPSByZXF1aXJlKCcuL2ludGVybmFsL3N0cmVhbXMvYXN5bmNfaXRlcmF0b3InKTtcbiAgICB9XG4gICAgcmV0dXJuIGNyZWF0ZVJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvcih0aGlzKTtcbiAgfTtcbn1cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsICdyZWFkYWJsZUhpZ2hXYXRlck1hcmsnLCB7XG4gIC8vIG1ha2luZyBpdCBleHBsaWNpdCB0aGlzIHByb3BlcnR5IGlzIG5vdCBlbnVtZXJhYmxlXG4gIC8vIGJlY2F1c2Ugb3RoZXJ3aXNlIHNvbWUgcHJvdG90eXBlIG1hbmlwdWxhdGlvbiBpblxuICAvLyB1c2VybGFuZCB3aWxsIGZhaWxcbiAgZW51bWVyYWJsZTogZmFsc2UsXG4gIGdldDogZnVuY3Rpb24gZ2V0KCkge1xuICAgIHJldHVybiB0aGlzLl9yZWFkYWJsZVN0YXRlLmhpZ2hXYXRlck1hcms7XG4gIH1cbn0pO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KFJlYWRhYmxlLnByb3RvdHlwZSwgJ3JlYWRhYmxlQnVmZmVyJywge1xuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXG4gIGVudW1lcmFibGU6IGZhbHNlLFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZSAmJiB0aGlzLl9yZWFkYWJsZVN0YXRlLmJ1ZmZlcjtcbiAgfVxufSk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoUmVhZGFibGUucHJvdG90eXBlLCAncmVhZGFibGVGbG93aW5nJywge1xuICAvLyBtYWtpbmcgaXQgZXhwbGljaXQgdGhpcyBwcm9wZXJ0eSBpcyBub3QgZW51bWVyYWJsZVxuICAvLyBiZWNhdXNlIG90aGVyd2lzZSBzb21lIHByb3RvdHlwZSBtYW5pcHVsYXRpb24gaW5cbiAgLy8gdXNlcmxhbmQgd2lsbCBmYWlsXG4gIGVudW1lcmFibGU6IGZhbHNlLFxuICBnZXQ6IGZ1bmN0aW9uIGdldCgpIHtcbiAgICByZXR1cm4gdGhpcy5fcmVhZGFibGVTdGF0ZS5mbG93aW5nO1xuICB9LFxuICBzZXQ6IGZ1bmN0aW9uIHNldChzdGF0ZSkge1xuICAgIGlmICh0aGlzLl9yZWFkYWJsZVN0YXRlKSB7XG4gICAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmZsb3dpbmcgPSBzdGF0ZTtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBleHBvc2VkIGZvciB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkuXG5SZWFkYWJsZS5fZnJvbUxpc3QgPSBmcm9tTGlzdDtcbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShSZWFkYWJsZS5wcm90b3R5cGUsICdyZWFkYWJsZUxlbmd0aCcsIHtcbiAgLy8gbWFraW5nIGl0IGV4cGxpY2l0IHRoaXMgcHJvcGVydHkgaXMgbm90IGVudW1lcmFibGVcbiAgLy8gYmVjYXVzZSBvdGhlcndpc2Ugc29tZSBwcm90b3R5cGUgbWFuaXB1bGF0aW9uIGluXG4gIC8vIHVzZXJsYW5kIHdpbGwgZmFpbFxuICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgZ2V0OiBmdW5jdGlvbiBnZXQoKSB7XG4gICAgcmV0dXJuIHRoaXMuX3JlYWRhYmxlU3RhdGUubGVuZ3RoO1xuICB9XG59KTtcblxuLy8gUGx1Y2sgb2ZmIG4gYnl0ZXMgZnJvbSBhbiBhcnJheSBvZiBidWZmZXJzLlxuLy8gTGVuZ3RoIGlzIHRoZSBjb21iaW5lZCBsZW5ndGhzIG9mIGFsbCB0aGUgYnVmZmVycyBpbiB0aGUgbGlzdC5cbi8vIFRoaXMgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gYmUgaW5saW5hYmxlLCBzbyBwbGVhc2UgdGFrZSBjYXJlIHdoZW4gbWFraW5nXG4vLyBjaGFuZ2VzIHRvIHRoZSBmdW5jdGlvbiBib2R5LlxuZnVuY3Rpb24gZnJvbUxpc3Qobiwgc3RhdGUpIHtcbiAgLy8gbm90aGluZyBidWZmZXJlZFxuICBpZiAoc3RhdGUubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbDtcbiAgdmFyIHJldDtcbiAgaWYgKHN0YXRlLm9iamVjdE1vZGUpIHJldCA9IHN0YXRlLmJ1ZmZlci5zaGlmdCgpO2Vsc2UgaWYgKCFuIHx8IG4gPj0gc3RhdGUubGVuZ3RoKSB7XG4gICAgLy8gcmVhZCBpdCBhbGwsIHRydW5jYXRlIHRoZSBsaXN0XG4gICAgaWYgKHN0YXRlLmRlY29kZXIpIHJldCA9IHN0YXRlLmJ1ZmZlci5qb2luKCcnKTtlbHNlIGlmIChzdGF0ZS5idWZmZXIubGVuZ3RoID09PSAxKSByZXQgPSBzdGF0ZS5idWZmZXIuZmlyc3QoKTtlbHNlIHJldCA9IHN0YXRlLmJ1ZmZlci5jb25jYXQoc3RhdGUubGVuZ3RoKTtcbiAgICBzdGF0ZS5idWZmZXIuY2xlYXIoKTtcbiAgfSBlbHNlIHtcbiAgICAvLyByZWFkIHBhcnQgb2YgbGlzdFxuICAgIHJldCA9IHN0YXRlLmJ1ZmZlci5jb25zdW1lKG4sIHN0YXRlLmRlY29kZXIpO1xuICB9XG4gIHJldHVybiByZXQ7XG59XG5mdW5jdGlvbiBlbmRSZWFkYWJsZShzdHJlYW0pIHtcbiAgdmFyIHN0YXRlID0gc3RyZWFtLl9yZWFkYWJsZVN0YXRlO1xuICBkZWJ1ZygnZW5kUmVhZGFibGUnLCBzdGF0ZS5lbmRFbWl0dGVkKTtcbiAgaWYgKCFzdGF0ZS5lbmRFbWl0dGVkKSB7XG4gICAgc3RhdGUuZW5kZWQgPSB0cnVlO1xuICAgIHByb2Nlc3MubmV4dFRpY2soZW5kUmVhZGFibGVOVCwgc3RhdGUsIHN0cmVhbSk7XG4gIH1cbn1cbmZ1bmN0aW9uIGVuZFJlYWRhYmxlTlQoc3RhdGUsIHN0cmVhbSkge1xuICBkZWJ1ZygnZW5kUmVhZGFibGVOVCcsIHN0YXRlLmVuZEVtaXR0ZWQsIHN0YXRlLmxlbmd0aCk7XG5cbiAgLy8gQ2hlY2sgdGhhdCB3ZSBkaWRuJ3QgZ2V0IG9uZSBsYXN0IHVuc2hpZnQuXG4gIGlmICghc3RhdGUuZW5kRW1pdHRlZCAmJiBzdGF0ZS5sZW5ndGggPT09IDApIHtcbiAgICBzdGF0ZS5lbmRFbWl0dGVkID0gdHJ1ZTtcbiAgICBzdHJlYW0ucmVhZGFibGUgPSBmYWxzZTtcbiAgICBzdHJlYW0uZW1pdCgnZW5kJyk7XG4gICAgaWYgKHN0YXRlLmF1dG9EZXN0cm95KSB7XG4gICAgICAvLyBJbiBjYXNlIG9mIGR1cGxleCBzdHJlYW1zIHdlIG5lZWQgYSB3YXkgdG8gZGV0ZWN0XG4gICAgICAvLyBpZiB0aGUgd3JpdGFibGUgc2lkZSBpcyByZWFkeSBmb3IgYXV0b0Rlc3Ryb3kgYXMgd2VsbFxuICAgICAgdmFyIHdTdGF0ZSA9IHN0cmVhbS5fd3JpdGFibGVTdGF0ZTtcbiAgICAgIGlmICghd1N0YXRlIHx8IHdTdGF0ZS5hdXRvRGVzdHJveSAmJiB3U3RhdGUuZmluaXNoZWQpIHtcbiAgICAgICAgc3RyZWFtLmRlc3Ryb3koKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmlmICh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nKSB7XG4gIFJlYWRhYmxlLmZyb20gPSBmdW5jdGlvbiAoaXRlcmFibGUsIG9wdHMpIHtcbiAgICBpZiAoZnJvbSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICBmcm9tID0gcmVxdWlyZSgnLi9pbnRlcm5hbC9zdHJlYW1zL2Zyb20nKTtcbiAgICB9XG4gICAgcmV0dXJuIGZyb20oUmVhZGFibGUsIGl0ZXJhYmxlLCBvcHRzKTtcbiAgfTtcbn1cbmZ1bmN0aW9uIGluZGV4T2YoeHMsIHgpIHtcbiAgZm9yICh2YXIgaSA9IDAsIGwgPSB4cy5sZW5ndGg7IGkgPCBsOyBpKyspIHtcbiAgICBpZiAoeHNbaV0gPT09IHgpIHJldHVybiBpO1xuICB9XG4gIHJldHVybiAtMTtcbn0iLCAiLy8gQ29weXJpZ2h0IEpveWVudCwgSW5jLiBhbmQgb3RoZXIgTm9kZSBjb250cmlidXRvcnMuXG4vL1xuLy8gUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWluaW5nIGFcbi8vIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGVcbi8vIFwiU29mdHdhcmVcIiksIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZ1xuLy8gd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLFxuLy8gZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwgYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1pdFxuLy8gcGVyc29ucyB0byB3aG9tIHRoZSBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlXG4vLyBmb2xsb3dpbmcgY29uZGl0aW9uczpcbi8vXG4vLyBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbCBiZSBpbmNsdWRlZFxuLy8gaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuXG4vL1xuLy8gVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEIFwiQVMgSVNcIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTU1xuLy8gT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRlxuLy8gTUVSQ0hBTlRBQklMSVRZLCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTlxuLy8gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sXG4vLyBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1Jcbi8vIE9USEVSV0lTRSwgQVJJU0lORyBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEVcbi8vIFVTRSBPUiBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuXG5cbi8vIGEgdHJhbnNmb3JtIHN0cmVhbSBpcyBhIHJlYWRhYmxlL3dyaXRhYmxlIHN0cmVhbSB3aGVyZSB5b3UgZG9cbi8vIHNvbWV0aGluZyB3aXRoIHRoZSBkYXRhLiAgU29tZXRpbWVzIGl0J3MgY2FsbGVkIGEgXCJmaWx0ZXJcIixcbi8vIGJ1dCB0aGF0J3Mgbm90IGEgZ3JlYXQgbmFtZSBmb3IgaXQsIHNpbmNlIHRoYXQgaW1wbGllcyBhIHRoaW5nIHdoZXJlXG4vLyBzb21lIGJpdHMgcGFzcyB0aHJvdWdoLCBhbmQgb3RoZXJzIGFyZSBzaW1wbHkgaWdub3JlZC4gIChUaGF0IHdvdWxkXG4vLyBiZSBhIHZhbGlkIGV4YW1wbGUgb2YgYSB0cmFuc2Zvcm0sIG9mIGNvdXJzZS4pXG4vL1xuLy8gV2hpbGUgdGhlIG91dHB1dCBpcyBjYXVzYWxseSByZWxhdGVkIHRvIHRoZSBpbnB1dCwgaXQncyBub3QgYVxuLy8gbmVjZXNzYXJpbHkgc3ltbWV0cmljIG9yIHN5bmNocm9ub3VzIHRyYW5zZm9ybWF0aW9uLiAgRm9yIGV4YW1wbGUsXG4vLyBhIHpsaWIgc3RyZWFtIG1pZ2h0IHRha2UgbXVsdGlwbGUgcGxhaW4tdGV4dCB3cml0ZXMoKSwgYW5kIHRoZW5cbi8vIGVtaXQgYSBzaW5nbGUgY29tcHJlc3NlZCBjaHVuayBzb21lIHRpbWUgaW4gdGhlIGZ1dHVyZS5cbi8vXG4vLyBIZXJlJ3MgaG93IHRoaXMgd29ya3M6XG4vL1xuLy8gVGhlIFRyYW5zZm9ybSBzdHJlYW0gaGFzIGFsbCB0aGUgYXNwZWN0cyBvZiB0aGUgcmVhZGFibGUgYW5kIHdyaXRhYmxlXG4vLyBzdHJlYW0gY2xhc3Nlcy4gIFdoZW4geW91IHdyaXRlKGNodW5rKSwgdGhhdCBjYWxscyBfd3JpdGUoY2h1bmssY2IpXG4vLyBpbnRlcm5hbGx5LCBhbmQgcmV0dXJucyBmYWxzZSBpZiB0aGVyZSdzIGEgbG90IG9mIHBlbmRpbmcgd3JpdGVzXG4vLyBidWZmZXJlZCB1cC4gIFdoZW4geW91IGNhbGwgcmVhZCgpLCB0aGF0IGNhbGxzIF9yZWFkKG4pIHVudGlsXG4vLyB0aGVyZSdzIGVub3VnaCBwZW5kaW5nIHJlYWRhYmxlIGRhdGEgYnVmZmVyZWQgdXAuXG4vL1xuLy8gSW4gYSB0cmFuc2Zvcm0gc3RyZWFtLCB0aGUgd3JpdHRlbiBkYXRhIGlzIHBsYWNlZCBpbiBhIGJ1ZmZlci4gIFdoZW5cbi8vIF9yZWFkKG4pIGlzIGNhbGxlZCwgaXQgdHJhbnNmb3JtcyB0aGUgcXVldWVkIHVwIGRhdGEsIGNhbGxpbmcgdGhlXG4vLyBidWZmZXJlZCBfd3JpdGUgY2IncyBhcyBpdCBjb25zdW1lcyBjaHVua3MuICBJZiBjb25zdW1pbmcgYSBzaW5nbGVcbi8vIHdyaXR0ZW4gY2h1bmsgd291bGQgcmVzdWx0IGluIG11bHRpcGxlIG91dHB1dCBjaHVua3MsIHRoZW4gdGhlIGZpcnN0XG4vLyBvdXRwdXR0ZWQgYml0IGNhbGxzIHRoZSByZWFkY2IsIGFuZCBzdWJzZXF1ZW50IGNodW5rcyBqdXN0IGdvIGludG9cbi8vIHRoZSByZWFkIGJ1ZmZlciwgYW5kIHdpbGwgY2F1c2UgaXQgdG8gZW1pdCAncmVhZGFibGUnIGlmIG5lY2Vzc2FyeS5cbi8vXG4vLyBUaGlzIHdheSwgYmFjay1wcmVzc3VyZSBpcyBhY3R1YWxseSBkZXRlcm1pbmVkIGJ5IHRoZSByZWFkaW5nIHNpZGUsXG4vLyBzaW5jZSBfcmVhZCBoYXMgdG8gYmUgY2FsbGVkIHRvIHN0YXJ0IHByb2Nlc3NpbmcgYSBuZXcgY2h1bmsuICBIb3dldmVyLFxuLy8gYSBwYXRob2xvZ2ljYWwgaW5mbGF0ZSB0eXBlIG9mIHRyYW5zZm9ybSBjYW4gY2F1c2UgZXhjZXNzaXZlIGJ1ZmZlcmluZ1xuLy8gaGVyZS4gIEZvciBleGFtcGxlLCBpbWFnaW5lIGEgc3RyZWFtIHdoZXJlIGV2ZXJ5IGJ5dGUgb2YgaW5wdXQgaXNcbi8vIGludGVycHJldGVkIGFzIGFuIGludGVnZXIgZnJvbSAwLTI1NSwgYW5kIHRoZW4gcmVzdWx0cyBpbiB0aGF0IG1hbnlcbi8vIGJ5dGVzIG9mIG91dHB1dC4gIFdyaXRpbmcgdGhlIDQgYnl0ZXMge2ZmLGZmLGZmLGZmfSB3b3VsZCByZXN1bHQgaW5cbi8vIDFrYiBvZiBkYXRhIGJlaW5nIG91dHB1dC4gIEluIHRoaXMgY2FzZSwgeW91IGNvdWxkIHdyaXRlIGEgdmVyeSBzbWFsbFxuLy8gYW1vdW50IG9mIGlucHV0LCBhbmQgZW5kIHVwIHdpdGggYSB2ZXJ5IGxhcmdlIGFtb3VudCBvZiBvdXRwdXQuICBJblxuLy8gc3VjaCBhIHBhdGhvbG9naWNhbCBpbmZsYXRpbmcgbWVjaGFuaXNtLCB0aGVyZSdkIGJlIG5vIHdheSB0byB0ZWxsXG4vLyB0aGUgc3lzdGVtIHRvIHN0b3AgZG9pbmcgdGhlIHRyYW5zZm9ybS4gIEEgc2luZ2xlIDRNQiB3cml0ZSBjb3VsZFxuLy8gY2F1c2UgdGhlIHN5c3RlbSB0byBydW4gb3V0IG9mIG1lbW9yeS5cbi8vXG4vLyBIb3dldmVyLCBldmVuIGluIHN1Y2ggYSBwYXRob2xvZ2ljYWwgY2FzZSwgb25seSBhIHNpbmdsZSB3cml0dGVuIGNodW5rXG4vLyB3b3VsZCBiZSBjb25zdW1lZCwgYW5kIHRoZW4gdGhlIHJlc3Qgd291bGQgd2FpdCAodW4tdHJhbnNmb3JtZWQpIHVudGlsXG4vLyB0aGUgcmVzdWx0cyBvZiB0aGUgcHJldmlvdXMgdHJhbnNmb3JtZWQgY2h1bmsgd2VyZSBjb25zdW1lZC5cblxuJ3VzZSBzdHJpY3QnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IFRyYW5zZm9ybTtcbnZhciBfcmVxdWlyZSRjb2RlcyA9IHJlcXVpcmUoJy4uL2Vycm9ycycpLmNvZGVzLFxuICBFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCA9IF9yZXF1aXJlJGNvZGVzLkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVELFxuICBFUlJfTVVMVElQTEVfQ0FMTEJBQ0sgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfTVVMVElQTEVfQ0FMTEJBQ0ssXG4gIEVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkcgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfVFJBTlNGT1JNX0FMUkVBRFlfVFJBTlNGT1JNSU5HLFxuICBFUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzAgPSBfcmVxdWlyZSRjb2Rlcy5FUlJfVFJBTlNGT1JNX1dJVEhfTEVOR1RIXzA7XG52YXIgRHVwbGV4ID0gcmVxdWlyZSgnLi9fc3RyZWFtX2R1cGxleCcpO1xucmVxdWlyZSgnaW5oZXJpdHMnKShUcmFuc2Zvcm0sIER1cGxleCk7XG5mdW5jdGlvbiBhZnRlclRyYW5zZm9ybShlciwgZGF0YSkge1xuICB2YXIgdHMgPSB0aGlzLl90cmFuc2Zvcm1TdGF0ZTtcbiAgdHMudHJhbnNmb3JtaW5nID0gZmFsc2U7XG4gIHZhciBjYiA9IHRzLndyaXRlY2I7XG4gIGlmIChjYiA9PT0gbnVsbCkge1xuICAgIHJldHVybiB0aGlzLmVtaXQoJ2Vycm9yJywgbmV3IEVSUl9NVUxUSVBMRV9DQUxMQkFDSygpKTtcbiAgfVxuICB0cy53cml0ZWNodW5rID0gbnVsbDtcbiAgdHMud3JpdGVjYiA9IG51bGw7XG4gIGlmIChkYXRhICE9IG51bGwpXG4gICAgLy8gc2luZ2xlIGVxdWFscyBjaGVjayBmb3IgYm90aCBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXG4gICAgdGhpcy5wdXNoKGRhdGEpO1xuICBjYihlcik7XG4gIHZhciBycyA9IHRoaXMuX3JlYWRhYmxlU3RhdGU7XG4gIHJzLnJlYWRpbmcgPSBmYWxzZTtcbiAgaWYgKHJzLm5lZWRSZWFkYWJsZSB8fCBycy5sZW5ndGggPCBycy5oaWdoV2F0ZXJNYXJrKSB7XG4gICAgdGhpcy5fcmVhZChycy5oaWdoV2F0ZXJNYXJrKTtcbiAgfVxufVxuZnVuY3Rpb24gVHJhbnNmb3JtKG9wdGlvbnMpIHtcbiAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIFRyYW5zZm9ybSkpIHJldHVybiBuZXcgVHJhbnNmb3JtKG9wdGlvbnMpO1xuICBEdXBsZXguY2FsbCh0aGlzLCBvcHRpb25zKTtcbiAgdGhpcy5fdHJhbnNmb3JtU3RhdGUgPSB7XG4gICAgYWZ0ZXJUcmFuc2Zvcm06IGFmdGVyVHJhbnNmb3JtLmJpbmQodGhpcyksXG4gICAgbmVlZFRyYW5zZm9ybTogZmFsc2UsXG4gICAgdHJhbnNmb3JtaW5nOiBmYWxzZSxcbiAgICB3cml0ZWNiOiBudWxsLFxuICAgIHdyaXRlY2h1bms6IG51bGwsXG4gICAgd3JpdGVlbmNvZGluZzogbnVsbFxuICB9O1xuXG4gIC8vIHN0YXJ0IG91dCBhc2tpbmcgZm9yIGEgcmVhZGFibGUgZXZlbnQgb25jZSBkYXRhIGlzIHRyYW5zZm9ybWVkLlxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLm5lZWRSZWFkYWJsZSA9IHRydWU7XG5cbiAgLy8gd2UgaGF2ZSBpbXBsZW1lbnRlZCB0aGUgX3JlYWQgbWV0aG9kLCBhbmQgZG9uZSB0aGUgb3RoZXIgdGhpbmdzXG4gIC8vIHRoYXQgUmVhZGFibGUgd2FudHMgYmVmb3JlIHRoZSBmaXJzdCBfcmVhZCBjYWxsLCBzbyB1bnNldCB0aGVcbiAgLy8gc3luYyBndWFyZCBmbGFnLlxuICB0aGlzLl9yZWFkYWJsZVN0YXRlLnN5bmMgPSBmYWxzZTtcbiAgaWYgKG9wdGlvbnMpIHtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMudHJhbnNmb3JtID09PSAnZnVuY3Rpb24nKSB0aGlzLl90cmFuc2Zvcm0gPSBvcHRpb25zLnRyYW5zZm9ybTtcbiAgICBpZiAodHlwZW9mIG9wdGlvbnMuZmx1c2ggPT09ICdmdW5jdGlvbicpIHRoaXMuX2ZsdXNoID0gb3B0aW9ucy5mbHVzaDtcbiAgfVxuXG4gIC8vIFdoZW4gdGhlIHdyaXRhYmxlIHNpZGUgZmluaXNoZXMsIHRoZW4gZmx1c2ggb3V0IGFueXRoaW5nIHJlbWFpbmluZy5cbiAgdGhpcy5vbigncHJlZmluaXNoJywgcHJlZmluaXNoKTtcbn1cbmZ1bmN0aW9uIHByZWZpbmlzaCgpIHtcbiAgdmFyIF90aGlzID0gdGhpcztcbiAgaWYgKHR5cGVvZiB0aGlzLl9mbHVzaCA9PT0gJ2Z1bmN0aW9uJyAmJiAhdGhpcy5fcmVhZGFibGVTdGF0ZS5kZXN0cm95ZWQpIHtcbiAgICB0aGlzLl9mbHVzaChmdW5jdGlvbiAoZXIsIGRhdGEpIHtcbiAgICAgIGRvbmUoX3RoaXMsIGVyLCBkYXRhKTtcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBkb25lKHRoaXMsIG51bGwsIG51bGwpO1xuICB9XG59XG5UcmFuc2Zvcm0ucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nKSB7XG4gIHRoaXMuX3RyYW5zZm9ybVN0YXRlLm5lZWRUcmFuc2Zvcm0gPSBmYWxzZTtcbiAgcmV0dXJuIER1cGxleC5wcm90b3R5cGUucHVzaC5jYWxsKHRoaXMsIGNodW5rLCBlbmNvZGluZyk7XG59O1xuXG4vLyBUaGlzIGlzIHRoZSBwYXJ0IHdoZXJlIHlvdSBkbyBzdHVmZiFcbi8vIG92ZXJyaWRlIHRoaXMgZnVuY3Rpb24gaW4gaW1wbGVtZW50YXRpb24gY2xhc3Nlcy5cbi8vICdjaHVuaycgaXMgYW4gaW5wdXQgY2h1bmsuXG4vL1xuLy8gQ2FsbCBgcHVzaChuZXdDaHVuaylgIHRvIHBhc3MgYWxvbmcgdHJhbnNmb3JtZWQgb3V0cHV0XG4vLyB0byB0aGUgcmVhZGFibGUgc2lkZS4gIFlvdSBtYXkgY2FsbCAncHVzaCcgemVybyBvciBtb3JlIHRpbWVzLlxuLy9cbi8vIENhbGwgYGNiKGVycilgIHdoZW4geW91IGFyZSBkb25lIHdpdGggdGhpcyBjaHVuay4gIElmIHlvdSBwYXNzXG4vLyBhbiBlcnJvciwgdGhlbiB0aGF0J2xsIHB1dCB0aGUgaHVydCBvbiB0aGUgd2hvbGUgb3BlcmF0aW9uLiAgSWYgeW91XG4vLyBuZXZlciBjYWxsIGNiKCksIHRoZW4geW91J2xsIG5ldmVyIGdldCBhbm90aGVyIGNodW5rLlxuVHJhbnNmb3JtLnByb3RvdHlwZS5fdHJhbnNmb3JtID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcbiAgY2IobmV3IEVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEKCdfdHJhbnNmb3JtKCknKSk7XG59O1xuVHJhbnNmb3JtLnByb3RvdHlwZS5fd3JpdGUgPSBmdW5jdGlvbiAoY2h1bmssIGVuY29kaW5nLCBjYikge1xuICB2YXIgdHMgPSB0aGlzLl90cmFuc2Zvcm1TdGF0ZTtcbiAgdHMud3JpdGVjYiA9IGNiO1xuICB0cy53cml0ZWNodW5rID0gY2h1bms7XG4gIHRzLndyaXRlZW5jb2RpbmcgPSBlbmNvZGluZztcbiAgaWYgKCF0cy50cmFuc2Zvcm1pbmcpIHtcbiAgICB2YXIgcnMgPSB0aGlzLl9yZWFkYWJsZVN0YXRlO1xuICAgIGlmICh0cy5uZWVkVHJhbnNmb3JtIHx8IHJzLm5lZWRSZWFkYWJsZSB8fCBycy5sZW5ndGggPCBycy5oaWdoV2F0ZXJNYXJrKSB0aGlzLl9yZWFkKHJzLmhpZ2hXYXRlck1hcmspO1xuICB9XG59O1xuXG4vLyBEb2Vzbid0IG1hdHRlciB3aGF0IHRoZSBhcmdzIGFyZSBoZXJlLlxuLy8gX3RyYW5zZm9ybSBkb2VzIGFsbCB0aGUgd29yay5cbi8vIFRoYXQgd2UgZ290IGhlcmUgbWVhbnMgdGhhdCB0aGUgcmVhZGFibGUgc2lkZSB3YW50cyBtb3JlIGRhdGEuXG5UcmFuc2Zvcm0ucHJvdG90eXBlLl9yZWFkID0gZnVuY3Rpb24gKG4pIHtcbiAgdmFyIHRzID0gdGhpcy5fdHJhbnNmb3JtU3RhdGU7XG4gIGlmICh0cy53cml0ZWNodW5rICE9PSBudWxsICYmICF0cy50cmFuc2Zvcm1pbmcpIHtcbiAgICB0cy50cmFuc2Zvcm1pbmcgPSB0cnVlO1xuICAgIHRoaXMuX3RyYW5zZm9ybSh0cy53cml0ZWNodW5rLCB0cy53cml0ZWVuY29kaW5nLCB0cy5hZnRlclRyYW5zZm9ybSk7XG4gIH0gZWxzZSB7XG4gICAgLy8gbWFyayB0aGF0IHdlIG5lZWQgYSB0cmFuc2Zvcm0sIHNvIHRoYXQgYW55IGRhdGEgdGhhdCBjb21lcyBpblxuICAgIC8vIHdpbGwgZ2V0IHByb2Nlc3NlZCwgbm93IHRoYXQgd2UndmUgYXNrZWQgZm9yIGl0LlxuICAgIHRzLm5lZWRUcmFuc2Zvcm0gPSB0cnVlO1xuICB9XG59O1xuVHJhbnNmb3JtLnByb3RvdHlwZS5fZGVzdHJveSA9IGZ1bmN0aW9uIChlcnIsIGNiKSB7XG4gIER1cGxleC5wcm90b3R5cGUuX2Rlc3Ryb3kuY2FsbCh0aGlzLCBlcnIsIGZ1bmN0aW9uIChlcnIyKSB7XG4gICAgY2IoZXJyMik7XG4gIH0pO1xufTtcbmZ1bmN0aW9uIGRvbmUoc3RyZWFtLCBlciwgZGF0YSkge1xuICBpZiAoZXIpIHJldHVybiBzdHJlYW0uZW1pdCgnZXJyb3InLCBlcik7XG4gIGlmIChkYXRhICE9IG51bGwpXG4gICAgLy8gc2luZ2xlIGVxdWFscyBjaGVjayBmb3IgYm90aCBgbnVsbGAgYW5kIGB1bmRlZmluZWRgXG4gICAgc3RyZWFtLnB1c2goZGF0YSk7XG5cbiAgLy8gVE9ETyhCcmlkZ2VBUik6IFdyaXRlIGEgdGVzdCBmb3IgdGhlc2UgdHdvIGVycm9yIGNhc2VzXG4gIC8vIGlmIHRoZXJlJ3Mgbm90aGluZyBpbiB0aGUgd3JpdGUgYnVmZmVyLCB0aGVuIHRoYXQgbWVhbnNcbiAgLy8gdGhhdCBub3RoaW5nIG1vcmUgd2lsbCBldmVyIGJlIHByb3ZpZGVkXG4gIGlmIChzdHJlYW0uX3dyaXRhYmxlU3RhdGUubGVuZ3RoKSB0aHJvdyBuZXcgRVJSX1RSQU5TRk9STV9XSVRIX0xFTkdUSF8wKCk7XG4gIGlmIChzdHJlYW0uX3RyYW5zZm9ybVN0YXRlLnRyYW5zZm9ybWluZykgdGhyb3cgbmV3IEVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkcoKTtcbiAgcmV0dXJuIHN0cmVhbS5wdXNoKG51bGwpO1xufSIsICIvLyBDb3B5cmlnaHQgSm95ZW50LCBJbmMuIGFuZCBvdGhlciBOb2RlIGNvbnRyaWJ1dG9ycy5cbi8vXG4vLyBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYVxuLy8gY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZVxuLy8gXCJTb2Z0d2FyZVwiKSwgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nXG4vLyB3aXRob3V0IGxpbWl0YXRpb24gdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsXG4vLyBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0XG4vLyBwZXJzb25zIHRvIHdob20gdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGVcbi8vIGZvbGxvd2luZyBjb25kaXRpb25zOlxuLy9cbi8vIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1ZGVkXG4vLyBpbiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0d2FyZS5cbi8vXG4vLyBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgXCJBUyBJU1wiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTXG4vLyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GXG4vLyBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOXG4vLyBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSxcbi8vIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUlxuLy8gT1RIRVJXSVNFLCBBUklTSU5HIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRVxuLy8gVVNFIE9SIE9USEVSIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS5cblxuLy8gYSBwYXNzdGhyb3VnaCBzdHJlYW0uXG4vLyBiYXNpY2FsbHkganVzdCB0aGUgbW9zdCBtaW5pbWFsIHNvcnQgb2YgVHJhbnNmb3JtIHN0cmVhbS5cbi8vIEV2ZXJ5IHdyaXR0ZW4gY2h1bmsgZ2V0cyBvdXRwdXQgYXMtaXMuXG5cbid1c2Ugc3RyaWN0JztcblxubW9kdWxlLmV4cG9ydHMgPSBQYXNzVGhyb3VnaDtcbnZhciBUcmFuc2Zvcm0gPSByZXF1aXJlKCcuL19zdHJlYW1fdHJhbnNmb3JtJyk7XG5yZXF1aXJlKCdpbmhlcml0cycpKFBhc3NUaHJvdWdoLCBUcmFuc2Zvcm0pO1xuZnVuY3Rpb24gUGFzc1Rocm91Z2gob3B0aW9ucykge1xuICBpZiAoISh0aGlzIGluc3RhbmNlb2YgUGFzc1Rocm91Z2gpKSByZXR1cm4gbmV3IFBhc3NUaHJvdWdoKG9wdGlvbnMpO1xuICBUcmFuc2Zvcm0uY2FsbCh0aGlzLCBvcHRpb25zKTtcbn1cblBhc3NUaHJvdWdoLnByb3RvdHlwZS5fdHJhbnNmb3JtID0gZnVuY3Rpb24gKGNodW5rLCBlbmNvZGluZywgY2IpIHtcbiAgY2IobnVsbCwgY2h1bmspO1xufTsiLCAiLy8gUG9ydGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL21hZmludG9zaC9wdW1wIHdpdGhcbi8vIHBlcm1pc3Npb24gZnJvbSB0aGUgYXV0aG9yLCBNYXRoaWFzIEJ1dXMgKEBtYWZpbnRvc2gpLlxuXG4ndXNlIHN0cmljdCc7XG5cbnZhciBlb3M7XG5mdW5jdGlvbiBvbmNlKGNhbGxiYWNrKSB7XG4gIHZhciBjYWxsZWQgPSBmYWxzZTtcbiAgcmV0dXJuIGZ1bmN0aW9uICgpIHtcbiAgICBpZiAoY2FsbGVkKSByZXR1cm47XG4gICAgY2FsbGVkID0gdHJ1ZTtcbiAgICBjYWxsYmFjay5hcHBseSh2b2lkIDAsIGFyZ3VtZW50cyk7XG4gIH07XG59XG52YXIgX3JlcXVpcmUkY29kZXMgPSByZXF1aXJlKCcuLi8uLi8uLi9lcnJvcnMnKS5jb2RlcyxcbiAgRVJSX01JU1NJTkdfQVJHUyA9IF9yZXF1aXJlJGNvZGVzLkVSUl9NSVNTSU5HX0FSR1MsXG4gIEVSUl9TVFJFQU1fREVTVFJPWUVEID0gX3JlcXVpcmUkY29kZXMuRVJSX1NUUkVBTV9ERVNUUk9ZRUQ7XG5mdW5jdGlvbiBub29wKGVycikge1xuICAvLyBSZXRocm93IHRoZSBlcnJvciBpZiBpdCBleGlzdHMgdG8gYXZvaWQgc3dhbGxvd2luZyBpdFxuICBpZiAoZXJyKSB0aHJvdyBlcnI7XG59XG5mdW5jdGlvbiBpc1JlcXVlc3Qoc3RyZWFtKSB7XG4gIHJldHVybiBzdHJlYW0uc2V0SGVhZGVyICYmIHR5cGVvZiBzdHJlYW0uYWJvcnQgPT09ICdmdW5jdGlvbic7XG59XG5mdW5jdGlvbiBkZXN0cm95ZXIoc3RyZWFtLCByZWFkaW5nLCB3cml0aW5nLCBjYWxsYmFjaykge1xuICBjYWxsYmFjayA9IG9uY2UoY2FsbGJhY2spO1xuICB2YXIgY2xvc2VkID0gZmFsc2U7XG4gIHN0cmVhbS5vbignY2xvc2UnLCBmdW5jdGlvbiAoKSB7XG4gICAgY2xvc2VkID0gdHJ1ZTtcbiAgfSk7XG4gIGlmIChlb3MgPT09IHVuZGVmaW5lZCkgZW9zID0gcmVxdWlyZSgnLi9lbmQtb2Ytc3RyZWFtJyk7XG4gIGVvcyhzdHJlYW0sIHtcbiAgICByZWFkYWJsZTogcmVhZGluZyxcbiAgICB3cml0YWJsZTogd3JpdGluZ1xuICB9LCBmdW5jdGlvbiAoZXJyKSB7XG4gICAgaWYgKGVycikgcmV0dXJuIGNhbGxiYWNrKGVycik7XG4gICAgY2xvc2VkID0gdHJ1ZTtcbiAgICBjYWxsYmFjaygpO1xuICB9KTtcbiAgdmFyIGRlc3Ryb3llZCA9IGZhbHNlO1xuICByZXR1cm4gZnVuY3Rpb24gKGVycikge1xuICAgIGlmIChjbG9zZWQpIHJldHVybjtcbiAgICBpZiAoZGVzdHJveWVkKSByZXR1cm47XG4gICAgZGVzdHJveWVkID0gdHJ1ZTtcblxuICAgIC8vIHJlcXVlc3QuZGVzdHJveSBqdXN0IGRvIC5lbmQgLSAuYWJvcnQgaXMgd2hhdCB3ZSB3YW50XG4gICAgaWYgKGlzUmVxdWVzdChzdHJlYW0pKSByZXR1cm4gc3RyZWFtLmFib3J0KCk7XG4gICAgaWYgKHR5cGVvZiBzdHJlYW0uZGVzdHJveSA9PT0gJ2Z1bmN0aW9uJykgcmV0dXJuIHN0cmVhbS5kZXN0cm95KCk7XG4gICAgY2FsbGJhY2soZXJyIHx8IG5ldyBFUlJfU1RSRUFNX0RFU1RST1lFRCgncGlwZScpKTtcbiAgfTtcbn1cbmZ1bmN0aW9uIGNhbGwoZm4pIHtcbiAgZm4oKTtcbn1cbmZ1bmN0aW9uIHBpcGUoZnJvbSwgdG8pIHtcbiAgcmV0dXJuIGZyb20ucGlwZSh0byk7XG59XG5mdW5jdGlvbiBwb3BDYWxsYmFjayhzdHJlYW1zKSB7XG4gIGlmICghc3RyZWFtcy5sZW5ndGgpIHJldHVybiBub29wO1xuICBpZiAodHlwZW9mIHN0cmVhbXNbc3RyZWFtcy5sZW5ndGggLSAxXSAhPT0gJ2Z1bmN0aW9uJykgcmV0dXJuIG5vb3A7XG4gIHJldHVybiBzdHJlYW1zLnBvcCgpO1xufVxuZnVuY3Rpb24gcGlwZWxpbmUoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBzdHJlYW1zID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIHN0cmVhbXNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cbiAgdmFyIGNhbGxiYWNrID0gcG9wQ2FsbGJhY2soc3RyZWFtcyk7XG4gIGlmIChBcnJheS5pc0FycmF5KHN0cmVhbXNbMF0pKSBzdHJlYW1zID0gc3RyZWFtc1swXTtcbiAgaWYgKHN0cmVhbXMubGVuZ3RoIDwgMikge1xuICAgIHRocm93IG5ldyBFUlJfTUlTU0lOR19BUkdTKCdzdHJlYW1zJyk7XG4gIH1cbiAgdmFyIGVycm9yO1xuICB2YXIgZGVzdHJveXMgPSBzdHJlYW1zLm1hcChmdW5jdGlvbiAoc3RyZWFtLCBpKSB7XG4gICAgdmFyIHJlYWRpbmcgPSBpIDwgc3RyZWFtcy5sZW5ndGggLSAxO1xuICAgIHZhciB3cml0aW5nID0gaSA+IDA7XG4gICAgcmV0dXJuIGRlc3Ryb3llcihzdHJlYW0sIHJlYWRpbmcsIHdyaXRpbmcsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgIGlmICghZXJyb3IpIGVycm9yID0gZXJyO1xuICAgICAgaWYgKGVycikgZGVzdHJveXMuZm9yRWFjaChjYWxsKTtcbiAgICAgIGlmIChyZWFkaW5nKSByZXR1cm47XG4gICAgICBkZXN0cm95cy5mb3JFYWNoKGNhbGwpO1xuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuICAgIH0pO1xuICB9KTtcbiAgcmV0dXJuIHN0cmVhbXMucmVkdWNlKHBpcGUpO1xufVxubW9kdWxlLmV4cG9ydHMgPSBwaXBlbGluZTsiLCAidmFyIFN0cmVhbSA9IHJlcXVpcmUoJ3N0cmVhbScpO1xuaWYgKHByb2Nlc3MuZW52LlJFQURBQkxFX1NUUkVBTSA9PT0gJ2Rpc2FibGUnICYmIFN0cmVhbSkge1xuICBtb2R1bGUuZXhwb3J0cyA9IFN0cmVhbS5SZWFkYWJsZTtcbiAgT2JqZWN0LmFzc2lnbihtb2R1bGUuZXhwb3J0cywgU3RyZWFtKTtcbiAgbW9kdWxlLmV4cG9ydHMuU3RyZWFtID0gU3RyZWFtO1xufSBlbHNlIHtcbiAgZXhwb3J0cyA9IG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZSgnLi9saWIvX3N0cmVhbV9yZWFkYWJsZS5qcycpO1xuICBleHBvcnRzLlN0cmVhbSA9IFN0cmVhbSB8fCBleHBvcnRzO1xuICBleHBvcnRzLlJlYWRhYmxlID0gZXhwb3J0cztcbiAgZXhwb3J0cy5Xcml0YWJsZSA9IHJlcXVpcmUoJy4vbGliL19zdHJlYW1fd3JpdGFibGUuanMnKTtcbiAgZXhwb3J0cy5EdXBsZXggPSByZXF1aXJlKCcuL2xpYi9fc3RyZWFtX2R1cGxleC5qcycpO1xuICBleHBvcnRzLlRyYW5zZm9ybSA9IHJlcXVpcmUoJy4vbGliL19zdHJlYW1fdHJhbnNmb3JtLmpzJyk7XG4gIGV4cG9ydHMuUGFzc1Rocm91Z2ggPSByZXF1aXJlKCcuL2xpYi9fc3RyZWFtX3Bhc3N0aHJvdWdoLmpzJyk7XG4gIGV4cG9ydHMuZmluaXNoZWQgPSByZXF1aXJlKCcuL2xpYi9pbnRlcm5hbC9zdHJlYW1zL2VuZC1vZi1zdHJlYW0uanMnKTtcbiAgZXhwb3J0cy5waXBlbGluZSA9IHJlcXVpcmUoJy4vbGliL2ludGVybmFsL3N0cmVhbXMvcGlwZWxpbmUuanMnKTtcbn1cbiIsICIndXNlIHN0cmljdCdcblxuY29uc3QgeyBCdWZmZXIgfSA9IHJlcXVpcmUoJ2J1ZmZlcicpXG5jb25zdCBzeW1ib2wgPSBTeW1ib2wuZm9yKCdCdWZmZXJMaXN0JylcblxuZnVuY3Rpb24gQnVmZmVyTGlzdCAoYnVmKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBCdWZmZXJMaXN0KSkge1xuICAgIHJldHVybiBuZXcgQnVmZmVyTGlzdChidWYpXG4gIH1cblxuICBCdWZmZXJMaXN0Ll9pbml0LmNhbGwodGhpcywgYnVmKVxufVxuXG5CdWZmZXJMaXN0Ll9pbml0ID0gZnVuY3Rpb24gX2luaXQgKGJ1Zikge1xuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgc3ltYm9sLCB7IHZhbHVlOiB0cnVlIH0pXG5cbiAgdGhpcy5fYnVmcyA9IFtdXG4gIHRoaXMubGVuZ3RoID0gMFxuXG4gIGlmIChidWYpIHtcbiAgICB0aGlzLmFwcGVuZChidWYpXG4gIH1cbn1cblxuQnVmZmVyTGlzdC5wcm90b3R5cGUuX25ldyA9IGZ1bmN0aW9uIF9uZXcgKGJ1Zikge1xuICByZXR1cm4gbmV3IEJ1ZmZlckxpc3QoYnVmKVxufVxuXG5CdWZmZXJMaXN0LnByb3RvdHlwZS5fb2Zmc2V0ID0gZnVuY3Rpb24gX29mZnNldCAob2Zmc2V0KSB7XG4gIGlmIChvZmZzZXQgPT09IDApIHtcbiAgICByZXR1cm4gWzAsIDBdXG4gIH1cblxuICBsZXQgdG90ID0gMFxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5fYnVmcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IF90ID0gdG90ICsgdGhpcy5fYnVmc1tpXS5sZW5ndGhcbiAgICBpZiAob2Zmc2V0IDwgX3QgfHwgaSA9PT0gdGhpcy5fYnVmcy5sZW5ndGggLSAxKSB7XG4gICAgICByZXR1cm4gW2ksIG9mZnNldCAtIHRvdF1cbiAgICB9XG4gICAgdG90ID0gX3RcbiAgfVxufVxuXG5CdWZmZXJMaXN0LnByb3RvdHlwZS5fcmV2ZXJzZU9mZnNldCA9IGZ1bmN0aW9uIChibE9mZnNldCkge1xuICBjb25zdCBidWZmZXJJZCA9IGJsT2Zmc2V0WzBdXG4gIGxldCBvZmZzZXQgPSBibE9mZnNldFsxXVxuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYnVmZmVySWQ7IGkrKykge1xuICAgIG9mZnNldCArPSB0aGlzLl9idWZzW2ldLmxlbmd0aFxuICB9XG5cbiAgcmV0dXJuIG9mZnNldFxufVxuXG5CdWZmZXJMaXN0LnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbiBnZXQgKGluZGV4KSB7XG4gIGlmIChpbmRleCA+IHRoaXMubGVuZ3RoIHx8IGluZGV4IDwgMCkge1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfVxuXG4gIGNvbnN0IG9mZnNldCA9IHRoaXMuX29mZnNldChpbmRleClcblxuICByZXR1cm4gdGhpcy5fYnVmc1tvZmZzZXRbMF1dW29mZnNldFsxXV1cbn1cblxuQnVmZmVyTGlzdC5wcm90b3R5cGUuc2xpY2UgPSBmdW5jdGlvbiBzbGljZSAoc3RhcnQsIGVuZCkge1xuICBpZiAodHlwZW9mIHN0YXJ0ID09PSAnbnVtYmVyJyAmJiBzdGFydCA8IDApIHtcbiAgICBzdGFydCArPSB0aGlzLmxlbmd0aFxuICB9XG5cbiAgaWYgKHR5cGVvZiBlbmQgPT09ICdudW1iZXInICYmIGVuZCA8IDApIHtcbiAgICBlbmQgKz0gdGhpcy5sZW5ndGhcbiAgfVxuXG4gIHJldHVybiB0aGlzLmNvcHkobnVsbCwgMCwgc3RhcnQsIGVuZClcbn1cblxuQnVmZmVyTGlzdC5wcm90b3R5cGUuY29weSA9IGZ1bmN0aW9uIGNvcHkgKGRzdCwgZHN0U3RhcnQsIHNyY1N0YXJ0LCBzcmNFbmQpIHtcbiAgaWYgKHR5cGVvZiBzcmNTdGFydCAhPT0gJ251bWJlcicgfHwgc3JjU3RhcnQgPCAwKSB7XG4gICAgc3JjU3RhcnQgPSAwXG4gIH1cblxuICBpZiAodHlwZW9mIHNyY0VuZCAhPT0gJ251bWJlcicgfHwgc3JjRW5kID4gdGhpcy5sZW5ndGgpIHtcbiAgICBzcmNFbmQgPSB0aGlzLmxlbmd0aFxuICB9XG5cbiAgaWYgKHNyY1N0YXJ0ID49IHRoaXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIGRzdCB8fCBCdWZmZXIuYWxsb2MoMClcbiAgfVxuXG4gIGlmIChzcmNFbmQgPD0gMCkge1xuICAgIHJldHVybiBkc3QgfHwgQnVmZmVyLmFsbG9jKDApXG4gIH1cblxuICBjb25zdCBjb3B5ID0gISFkc3RcbiAgY29uc3Qgb2ZmID0gdGhpcy5fb2Zmc2V0KHNyY1N0YXJ0KVxuICBjb25zdCBsZW4gPSBzcmNFbmQgLSBzcmNTdGFydFxuICBsZXQgYnl0ZXMgPSBsZW5cbiAgbGV0IGJ1Zm9mZiA9IChjb3B5ICYmIGRzdFN0YXJ0KSB8fCAwXG4gIGxldCBzdGFydCA9IG9mZlsxXVxuXG4gIC8vIGNvcHkvc2xpY2UgZXZlcnl0aGluZ1xuICBpZiAoc3JjU3RhcnQgPT09IDAgJiYgc3JjRW5kID09PSB0aGlzLmxlbmd0aCkge1xuICAgIGlmICghY29weSkge1xuICAgICAgLy8gc2xpY2UsIGJ1dCBmdWxsIGNvbmNhdCBpZiBtdWx0aXBsZSBidWZmZXJzXG4gICAgICByZXR1cm4gdGhpcy5fYnVmcy5sZW5ndGggPT09IDFcbiAgICAgICAgPyB0aGlzLl9idWZzWzBdXG4gICAgICAgIDogQnVmZmVyLmNvbmNhdCh0aGlzLl9idWZzLCB0aGlzLmxlbmd0aClcbiAgICB9XG5cbiAgICAvLyBjb3B5LCBuZWVkIHRvIGNvcHkgaW5kaXZpZHVhbCBidWZmZXJzXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLl9idWZzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLl9idWZzW2ldLmNvcHkoZHN0LCBidWZvZmYpXG4gICAgICBidWZvZmYgKz0gdGhpcy5fYnVmc1tpXS5sZW5ndGhcbiAgICB9XG5cbiAgICByZXR1cm4gZHN0XG4gIH1cblxuICAvLyBlYXN5LCBjaGVhcCBjYXNlIHdoZXJlIGl0J3MgYSBzdWJzZXQgb2Ygb25lIG9mIHRoZSBidWZmZXJzXG4gIGlmIChieXRlcyA8PSB0aGlzLl9idWZzW29mZlswXV0ubGVuZ3RoIC0gc3RhcnQpIHtcbiAgICByZXR1cm4gY29weVxuICAgICAgPyB0aGlzLl9idWZzW29mZlswXV0uY29weShkc3QsIGRzdFN0YXJ0LCBzdGFydCwgc3RhcnQgKyBieXRlcylcbiAgICAgIDogdGhpcy5fYnVmc1tvZmZbMF1dLnNsaWNlKHN0YXJ0LCBzdGFydCArIGJ5dGVzKVxuICB9XG5cbiAgaWYgKCFjb3B5KSB7XG4gICAgLy8gYSBzbGljZSwgd2UgbmVlZCBzb21ldGhpbmcgdG8gY29weSBpbiB0b1xuICAgIGRzdCA9IEJ1ZmZlci5hbGxvY1Vuc2FmZShsZW4pXG4gIH1cblxuICBmb3IgKGxldCBpID0gb2ZmWzBdOyBpIDwgdGhpcy5fYnVmcy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGwgPSB0aGlzLl9idWZzW2ldLmxlbmd0aCAtIHN0YXJ0XG5cbiAgICBpZiAoYnl0ZXMgPiBsKSB7XG4gICAgICB0aGlzLl9idWZzW2ldLmNvcHkoZHN0LCBidWZvZmYsIHN0YXJ0KVxuICAgICAgYnVmb2ZmICs9IGxcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYnVmc1tpXS5jb3B5KGRzdCwgYnVmb2ZmLCBzdGFydCwgc3RhcnQgKyBieXRlcylcbiAgICAgIGJ1Zm9mZiArPSBsXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIGJ5dGVzIC09IGxcblxuICAgIGlmIChzdGFydCkge1xuICAgICAgc3RhcnQgPSAwXG4gICAgfVxuICB9XG5cbiAgLy8gc2FmZWd1YXJkIHNvIHRoYXQgd2UgZG9uJ3QgcmV0dXJuIHVuaW5pdGlhbGl6ZWQgbWVtb3J5XG4gIGlmIChkc3QubGVuZ3RoID4gYnVmb2ZmKSByZXR1cm4gZHN0LnNsaWNlKDAsIGJ1Zm9mZilcblxuICByZXR1cm4gZHN0XG59XG5cbkJ1ZmZlckxpc3QucHJvdG90eXBlLnNoYWxsb3dTbGljZSA9IGZ1bmN0aW9uIHNoYWxsb3dTbGljZSAoc3RhcnQsIGVuZCkge1xuICBzdGFydCA9IHN0YXJ0IHx8IDBcbiAgZW5kID0gdHlwZW9mIGVuZCAhPT0gJ251bWJlcicgPyB0aGlzLmxlbmd0aCA6IGVuZFxuXG4gIGlmIChzdGFydCA8IDApIHtcbiAgICBzdGFydCArPSB0aGlzLmxlbmd0aFxuICB9XG5cbiAgaWYgKGVuZCA8IDApIHtcbiAgICBlbmQgKz0gdGhpcy5sZW5ndGhcbiAgfVxuXG4gIGlmIChzdGFydCA9PT0gZW5kKSB7XG4gICAgcmV0dXJuIHRoaXMuX25ldygpXG4gIH1cblxuICBjb25zdCBzdGFydE9mZnNldCA9IHRoaXMuX29mZnNldChzdGFydClcbiAgY29uc3QgZW5kT2Zmc2V0ID0gdGhpcy5fb2Zmc2V0KGVuZClcbiAgY29uc3QgYnVmZmVycyA9IHRoaXMuX2J1ZnMuc2xpY2Uoc3RhcnRPZmZzZXRbMF0sIGVuZE9mZnNldFswXSArIDEpXG5cbiAgaWYgKGVuZE9mZnNldFsxXSA9PT0gMCkge1xuICAgIGJ1ZmZlcnMucG9wKClcbiAgfSBlbHNlIHtcbiAgICBidWZmZXJzW2J1ZmZlcnMubGVuZ3RoIC0gMV0gPSBidWZmZXJzW2J1ZmZlcnMubGVuZ3RoIC0gMV0uc2xpY2UoMCwgZW5kT2Zmc2V0WzFdKVxuICB9XG5cbiAgaWYgKHN0YXJ0T2Zmc2V0WzFdICE9PSAwKSB7XG4gICAgYnVmZmVyc1swXSA9IGJ1ZmZlcnNbMF0uc2xpY2Uoc3RhcnRPZmZzZXRbMV0pXG4gIH1cblxuICByZXR1cm4gdGhpcy5fbmV3KGJ1ZmZlcnMpXG59XG5cbkJ1ZmZlckxpc3QucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcgKGVuY29kaW5nLCBzdGFydCwgZW5kKSB7XG4gIHJldHVybiB0aGlzLnNsaWNlKHN0YXJ0LCBlbmQpLnRvU3RyaW5nKGVuY29kaW5nKVxufVxuXG5CdWZmZXJMaXN0LnByb3RvdHlwZS5jb25zdW1lID0gZnVuY3Rpb24gY29uc3VtZSAoYnl0ZXMpIHtcbiAgLy8gZmlyc3QsIG5vcm1hbGl6ZSB0aGUgYXJndW1lbnQsIGluIGFjY29yZGFuY2Ugd2l0aCBob3cgQnVmZmVyIGRvZXMgaXRcbiAgYnl0ZXMgPSBNYXRoLnRydW5jKGJ5dGVzKVxuICAvLyBkbyBub3RoaW5nIGlmIG5vdCBhIHBvc2l0aXZlIG51bWJlclxuICBpZiAoTnVtYmVyLmlzTmFOKGJ5dGVzKSB8fCBieXRlcyA8PSAwKSByZXR1cm4gdGhpc1xuXG4gIHdoaWxlICh0aGlzLl9idWZzLmxlbmd0aCkge1xuICAgIGlmIChieXRlcyA+PSB0aGlzLl9idWZzWzBdLmxlbmd0aCkge1xuICAgICAgYnl0ZXMgLT0gdGhpcy5fYnVmc1swXS5sZW5ndGhcbiAgICAgIHRoaXMubGVuZ3RoIC09IHRoaXMuX2J1ZnNbMF0ubGVuZ3RoXG4gICAgICB0aGlzLl9idWZzLnNoaWZ0KClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fYnVmc1swXSA9IHRoaXMuX2J1ZnNbMF0uc2xpY2UoYnl0ZXMpXG4gICAgICB0aGlzLmxlbmd0aCAtPSBieXRlc1xuICAgICAgYnJlYWtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGhpc1xufVxuXG5CdWZmZXJMaXN0LnByb3RvdHlwZS5kdXBsaWNhdGUgPSBmdW5jdGlvbiBkdXBsaWNhdGUgKCkge1xuICBjb25zdCBjb3B5ID0gdGhpcy5fbmV3KClcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuX2J1ZnMubGVuZ3RoOyBpKyspIHtcbiAgICBjb3B5LmFwcGVuZCh0aGlzLl9idWZzW2ldKVxuICB9XG5cbiAgcmV0dXJuIGNvcHlcbn1cblxuQnVmZmVyTGlzdC5wcm90b3R5cGUuYXBwZW5kID0gZnVuY3Rpb24gYXBwZW5kIChidWYpIHtcbiAgaWYgKGJ1ZiA9PSBudWxsKSB7XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIGlmIChidWYuYnVmZmVyKSB7XG4gICAgLy8gYXBwZW5kIGEgdmlldyBvZiB0aGUgdW5kZXJseWluZyBBcnJheUJ1ZmZlclxuICAgIHRoaXMuX2FwcGVuZEJ1ZmZlcihCdWZmZXIuZnJvbShidWYuYnVmZmVyLCBidWYuYnl0ZU9mZnNldCwgYnVmLmJ5dGVMZW5ndGgpKVxuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoYnVmKSkge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnVmLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLmFwcGVuZChidWZbaV0pXG4gICAgfVxuICB9IGVsc2UgaWYgKHRoaXMuX2lzQnVmZmVyTGlzdChidWYpKSB7XG4gICAgLy8gdW53cmFwIGFyZ3VtZW50IGludG8gaW5kaXZpZHVhbCBCdWZmZXJMaXN0c1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnVmLl9idWZzLmxlbmd0aDsgaSsrKSB7XG4gICAgICB0aGlzLmFwcGVuZChidWYuX2J1ZnNbaV0pXG4gICAgfVxuICB9IGVsc2Uge1xuICAgIC8vIGNvZXJjZSBudW1iZXIgYXJndW1lbnRzIHRvIHN0cmluZ3MsIHNpbmNlIEJ1ZmZlcihudW1iZXIpIGRvZXNcbiAgICAvLyB1bmluaXRpYWxpemVkIG1lbW9yeSBhbGxvY2F0aW9uXG4gICAgaWYgKHR5cGVvZiBidWYgPT09ICdudW1iZXInKSB7XG4gICAgICBidWYgPSBidWYudG9TdHJpbmcoKVxuICAgIH1cblxuICAgIHRoaXMuX2FwcGVuZEJ1ZmZlcihCdWZmZXIuZnJvbShidWYpKVxuICB9XG5cbiAgcmV0dXJuIHRoaXNcbn1cblxuQnVmZmVyTGlzdC5wcm90b3R5cGUuX2FwcGVuZEJ1ZmZlciA9IGZ1bmN0aW9uIGFwcGVuZEJ1ZmZlciAoYnVmKSB7XG4gIHRoaXMuX2J1ZnMucHVzaChidWYpXG4gIHRoaXMubGVuZ3RoICs9IGJ1Zi5sZW5ndGhcbn1cblxuQnVmZmVyTGlzdC5wcm90b3R5cGUuaW5kZXhPZiA9IGZ1bmN0aW9uIChzZWFyY2gsIG9mZnNldCwgZW5jb2RpbmcpIHtcbiAgaWYgKGVuY29kaW5nID09PSB1bmRlZmluZWQgJiYgdHlwZW9mIG9mZnNldCA9PT0gJ3N0cmluZycpIHtcbiAgICBlbmNvZGluZyA9IG9mZnNldFxuICAgIG9mZnNldCA9IHVuZGVmaW5lZFxuICB9XG5cbiAgaWYgKHR5cGVvZiBzZWFyY2ggPT09ICdmdW5jdGlvbicgfHwgQXJyYXkuaXNBcnJheShzZWFyY2gpKSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIFwidmFsdWVcIiBhcmd1bWVudCBtdXN0IGJlIG9uZSBvZiB0eXBlIHN0cmluZywgQnVmZmVyLCBCdWZmZXJMaXN0LCBvciBVaW50OEFycmF5LicpXG4gIH0gZWxzZSBpZiAodHlwZW9mIHNlYXJjaCA9PT0gJ251bWJlcicpIHtcbiAgICBzZWFyY2ggPSBCdWZmZXIuZnJvbShbc2VhcmNoXSlcbiAgfSBlbHNlIGlmICh0eXBlb2Ygc2VhcmNoID09PSAnc3RyaW5nJykge1xuICAgIHNlYXJjaCA9IEJ1ZmZlci5mcm9tKHNlYXJjaCwgZW5jb2RpbmcpXG4gIH0gZWxzZSBpZiAodGhpcy5faXNCdWZmZXJMaXN0KHNlYXJjaCkpIHtcbiAgICBzZWFyY2ggPSBzZWFyY2guc2xpY2UoKVxuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoc2VhcmNoLmJ1ZmZlcikpIHtcbiAgICBzZWFyY2ggPSBCdWZmZXIuZnJvbShzZWFyY2guYnVmZmVyLCBzZWFyY2guYnl0ZU9mZnNldCwgc2VhcmNoLmJ5dGVMZW5ndGgpXG4gIH0gZWxzZSBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihzZWFyY2gpKSB7XG4gICAgc2VhcmNoID0gQnVmZmVyLmZyb20oc2VhcmNoKVxuICB9XG5cbiAgb2Zmc2V0ID0gTnVtYmVyKG9mZnNldCB8fCAwKVxuXG4gIGlmIChpc05hTihvZmZzZXQpKSB7XG4gICAgb2Zmc2V0ID0gMFxuICB9XG5cbiAgaWYgKG9mZnNldCA8IDApIHtcbiAgICBvZmZzZXQgPSB0aGlzLmxlbmd0aCArIG9mZnNldFxuICB9XG5cbiAgaWYgKG9mZnNldCA8IDApIHtcbiAgICBvZmZzZXQgPSAwXG4gIH1cblxuICBpZiAoc2VhcmNoLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBvZmZzZXQgPiB0aGlzLmxlbmd0aCA/IHRoaXMubGVuZ3RoIDogb2Zmc2V0XG4gIH1cblxuICBjb25zdCBibE9mZnNldCA9IHRoaXMuX29mZnNldChvZmZzZXQpXG4gIGxldCBibEluZGV4ID0gYmxPZmZzZXRbMF0gLy8gaW5kZXggb2Ygd2hpY2ggaW50ZXJuYWwgYnVmZmVyIHdlJ3JlIHdvcmtpbmcgb25cbiAgbGV0IGJ1ZmZPZmZzZXQgPSBibE9mZnNldFsxXSAvLyBvZmZzZXQgb2YgdGhlIGludGVybmFsIGJ1ZmZlciB3ZSdyZSB3b3JraW5nIG9uXG5cbiAgLy8gc2NhbiBvdmVyIGVhY2ggYnVmZmVyXG4gIGZvciAoOyBibEluZGV4IDwgdGhpcy5fYnVmcy5sZW5ndGg7IGJsSW5kZXgrKykge1xuICAgIGNvbnN0IGJ1ZmYgPSB0aGlzLl9idWZzW2JsSW5kZXhdXG5cbiAgICB3aGlsZSAoYnVmZk9mZnNldCA8IGJ1ZmYubGVuZ3RoKSB7XG4gICAgICBjb25zdCBhdmFpbGFibGVXaW5kb3cgPSBidWZmLmxlbmd0aCAtIGJ1ZmZPZmZzZXRcblxuICAgICAgaWYgKGF2YWlsYWJsZVdpbmRvdyA+PSBzZWFyY2gubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IG5hdGl2ZVNlYXJjaFJlc3VsdCA9IGJ1ZmYuaW5kZXhPZihzZWFyY2gsIGJ1ZmZPZmZzZXQpXG5cbiAgICAgICAgaWYgKG5hdGl2ZVNlYXJjaFJlc3VsdCAhPT0gLTEpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fcmV2ZXJzZU9mZnNldChbYmxJbmRleCwgbmF0aXZlU2VhcmNoUmVzdWx0XSlcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1ZmZPZmZzZXQgPSBidWZmLmxlbmd0aCAtIHNlYXJjaC5sZW5ndGggKyAxIC8vIGVuZCBvZiBuYXRpdmUgc2VhcmNoIHdpbmRvd1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmV2T2Zmc2V0ID0gdGhpcy5fcmV2ZXJzZU9mZnNldChbYmxJbmRleCwgYnVmZk9mZnNldF0pXG5cbiAgICAgICAgaWYgKHRoaXMuX21hdGNoKHJldk9mZnNldCwgc2VhcmNoKSkge1xuICAgICAgICAgIHJldHVybiByZXZPZmZzZXRcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1ZmZPZmZzZXQrK1xuICAgICAgfVxuICAgIH1cblxuICAgIGJ1ZmZPZmZzZXQgPSAwXG4gIH1cblxuICByZXR1cm4gLTFcbn1cblxuQnVmZmVyTGlzdC5wcm90b3R5cGUuX21hdGNoID0gZnVuY3Rpb24gKG9mZnNldCwgc2VhcmNoKSB7XG4gIGlmICh0aGlzLmxlbmd0aCAtIG9mZnNldCA8IHNlYXJjaC5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGZvciAobGV0IHNlYXJjaE9mZnNldCA9IDA7IHNlYXJjaE9mZnNldCA8IHNlYXJjaC5sZW5ndGg7IHNlYXJjaE9mZnNldCsrKSB7XG4gICAgaWYgKHRoaXMuZ2V0KG9mZnNldCArIHNlYXJjaE9mZnNldCkgIT09IHNlYXJjaFtzZWFyY2hPZmZzZXRdKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRydWVcbn1cblxuOyhmdW5jdGlvbiAoKSB7XG4gIGNvbnN0IG1ldGhvZHMgPSB7XG4gICAgcmVhZERvdWJsZUJFOiA4LFxuICAgIHJlYWREb3VibGVMRTogOCxcbiAgICByZWFkRmxvYXRCRTogNCxcbiAgICByZWFkRmxvYXRMRTogNCxcbiAgICByZWFkSW50MzJCRTogNCxcbiAgICByZWFkSW50MzJMRTogNCxcbiAgICByZWFkVUludDMyQkU6IDQsXG4gICAgcmVhZFVJbnQzMkxFOiA0LFxuICAgIHJlYWRJbnQxNkJFOiAyLFxuICAgIHJlYWRJbnQxNkxFOiAyLFxuICAgIHJlYWRVSW50MTZCRTogMixcbiAgICByZWFkVUludDE2TEU6IDIsXG4gICAgcmVhZEludDg6IDEsXG4gICAgcmVhZFVJbnQ4OiAxLFxuICAgIHJlYWRJbnRCRTogbnVsbCxcbiAgICByZWFkSW50TEU6IG51bGwsXG4gICAgcmVhZFVJbnRCRTogbnVsbCxcbiAgICByZWFkVUludExFOiBudWxsXG4gIH1cblxuICBmb3IgKGNvbnN0IG0gaW4gbWV0aG9kcykge1xuICAgIChmdW5jdGlvbiAobSkge1xuICAgICAgaWYgKG1ldGhvZHNbbV0gPT09IG51bGwpIHtcbiAgICAgICAgQnVmZmVyTGlzdC5wcm90b3R5cGVbbV0gPSBmdW5jdGlvbiAob2Zmc2V0LCBieXRlTGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2xpY2Uob2Zmc2V0LCBvZmZzZXQgKyBieXRlTGVuZ3RoKVttXSgwLCBieXRlTGVuZ3RoKVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBCdWZmZXJMaXN0LnByb3RvdHlwZVttXSA9IGZ1bmN0aW9uIChvZmZzZXQgPSAwKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuc2xpY2Uob2Zmc2V0LCBvZmZzZXQgKyBtZXRob2RzW21dKVttXSgwKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfShtKSlcbiAgfVxufSgpKVxuXG4vLyBVc2VkIGludGVybmFsbHkgYnkgdGhlIGNsYXNzIGFuZCBhbHNvIGFzIGFuIGluZGljYXRvciBvZiB0aGlzIG9iamVjdCBiZWluZ1xuLy8gYSBgQnVmZmVyTGlzdGAuIEl0J3Mgbm90IHBvc3NpYmxlIHRvIHVzZSBgaW5zdGFuY2VvZiBCdWZmZXJMaXN0YCBpbiBhIGJyb3dzZXJcbi8vIGVudmlyb25tZW50IGJlY2F1c2UgdGhlcmUgY291bGQgYmUgbXVsdGlwbGUgZGlmZmVyZW50IGNvcGllcyBvZiB0aGVcbi8vIEJ1ZmZlckxpc3QgY2xhc3MgYW5kIHNvbWUgYEJ1ZmZlckxpc3RgcyBtaWdodCBiZSBgQnVmZmVyTGlzdGBzLlxuQnVmZmVyTGlzdC5wcm90b3R5cGUuX2lzQnVmZmVyTGlzdCA9IGZ1bmN0aW9uIF9pc0J1ZmZlckxpc3QgKGIpIHtcbiAgcmV0dXJuIGIgaW5zdGFuY2VvZiBCdWZmZXJMaXN0IHx8IEJ1ZmZlckxpc3QuaXNCdWZmZXJMaXN0KGIpXG59XG5cbkJ1ZmZlckxpc3QuaXNCdWZmZXJMaXN0ID0gZnVuY3Rpb24gaXNCdWZmZXJMaXN0IChiKSB7XG4gIHJldHVybiBiICE9IG51bGwgJiYgYltzeW1ib2xdXG59XG5cbm1vZHVsZS5leHBvcnRzID0gQnVmZmVyTGlzdFxuIiwgIid1c2Ugc3RyaWN0J1xuXG5jb25zdCBEdXBsZXhTdHJlYW0gPSByZXF1aXJlKCdyZWFkYWJsZS1zdHJlYW0nKS5EdXBsZXhcbmNvbnN0IGluaGVyaXRzID0gcmVxdWlyZSgnaW5oZXJpdHMnKVxuY29uc3QgQnVmZmVyTGlzdCA9IHJlcXVpcmUoJy4vQnVmZmVyTGlzdCcpXG5cbmZ1bmN0aW9uIEJ1ZmZlckxpc3RTdHJlYW0gKGNhbGxiYWNrKSB7XG4gIGlmICghKHRoaXMgaW5zdGFuY2VvZiBCdWZmZXJMaXN0U3RyZWFtKSkge1xuICAgIHJldHVybiBuZXcgQnVmZmVyTGlzdFN0cmVhbShjYWxsYmFjaylcbiAgfVxuXG4gIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICB0aGlzLl9jYWxsYmFjayA9IGNhbGxiYWNrXG5cbiAgICBjb25zdCBwaXBlciA9IGZ1bmN0aW9uIHBpcGVyIChlcnIpIHtcbiAgICAgIGlmICh0aGlzLl9jYWxsYmFjaykge1xuICAgICAgICB0aGlzLl9jYWxsYmFjayhlcnIpXG4gICAgICAgIHRoaXMuX2NhbGxiYWNrID0gbnVsbFxuICAgICAgfVxuICAgIH0uYmluZCh0aGlzKVxuXG4gICAgdGhpcy5vbigncGlwZScsIGZ1bmN0aW9uIG9uUGlwZSAoc3JjKSB7XG4gICAgICBzcmMub24oJ2Vycm9yJywgcGlwZXIpXG4gICAgfSlcbiAgICB0aGlzLm9uKCd1bnBpcGUnLCBmdW5jdGlvbiBvblVucGlwZSAoc3JjKSB7XG4gICAgICBzcmMucmVtb3ZlTGlzdGVuZXIoJ2Vycm9yJywgcGlwZXIpXG4gICAgfSlcblxuICAgIGNhbGxiYWNrID0gbnVsbFxuICB9XG5cbiAgQnVmZmVyTGlzdC5faW5pdC5jYWxsKHRoaXMsIGNhbGxiYWNrKVxuICBEdXBsZXhTdHJlYW0uY2FsbCh0aGlzKVxufVxuXG5pbmhlcml0cyhCdWZmZXJMaXN0U3RyZWFtLCBEdXBsZXhTdHJlYW0pXG5PYmplY3QuYXNzaWduKEJ1ZmZlckxpc3RTdHJlYW0ucHJvdG90eXBlLCBCdWZmZXJMaXN0LnByb3RvdHlwZSlcblxuQnVmZmVyTGlzdFN0cmVhbS5wcm90b3R5cGUuX25ldyA9IGZ1bmN0aW9uIF9uZXcgKGNhbGxiYWNrKSB7XG4gIHJldHVybiBuZXcgQnVmZmVyTGlzdFN0cmVhbShjYWxsYmFjaylcbn1cblxuQnVmZmVyTGlzdFN0cmVhbS5wcm90b3R5cGUuX3dyaXRlID0gZnVuY3Rpb24gX3dyaXRlIChidWYsIGVuY29kaW5nLCBjYWxsYmFjaykge1xuICB0aGlzLl9hcHBlbmRCdWZmZXIoYnVmKVxuXG4gIGlmICh0eXBlb2YgY2FsbGJhY2sgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjYWxsYmFjaygpXG4gIH1cbn1cblxuQnVmZmVyTGlzdFN0cmVhbS5wcm90b3R5cGUuX3JlYWQgPSBmdW5jdGlvbiBfcmVhZCAoc2l6ZSkge1xuICBpZiAoIXRoaXMubGVuZ3RoKSB7XG4gICAgcmV0dXJuIHRoaXMucHVzaChudWxsKVxuICB9XG5cbiAgc2l6ZSA9IE1hdGgubWluKHNpemUsIHRoaXMubGVuZ3RoKVxuICB0aGlzLnB1c2godGhpcy5zbGljZSgwLCBzaXplKSlcbiAgdGhpcy5jb25zdW1lKHNpemUpXG59XG5cbkJ1ZmZlckxpc3RTdHJlYW0ucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uIGVuZCAoY2h1bmspIHtcbiAgRHVwbGV4U3RyZWFtLnByb3RvdHlwZS5lbmQuY2FsbCh0aGlzLCBjaHVuaylcblxuICBpZiAodGhpcy5fY2FsbGJhY2spIHtcbiAgICB0aGlzLl9jYWxsYmFjayhudWxsLCB0aGlzLnNsaWNlKCkpXG4gICAgdGhpcy5fY2FsbGJhY2sgPSBudWxsXG4gIH1cbn1cblxuQnVmZmVyTGlzdFN0cmVhbS5wcm90b3R5cGUuX2Rlc3Ryb3kgPSBmdW5jdGlvbiBfZGVzdHJveSAoZXJyLCBjYikge1xuICB0aGlzLl9idWZzLmxlbmd0aCA9IDBcbiAgdGhpcy5sZW5ndGggPSAwXG4gIGNiKGVycilcbn1cblxuQnVmZmVyTGlzdFN0cmVhbS5wcm90b3R5cGUuX2lzQnVmZmVyTGlzdCA9IGZ1bmN0aW9uIF9pc0J1ZmZlckxpc3QgKGIpIHtcbiAgcmV0dXJuIGIgaW5zdGFuY2VvZiBCdWZmZXJMaXN0U3RyZWFtIHx8IGIgaW5zdGFuY2VvZiBCdWZmZXJMaXN0IHx8IEJ1ZmZlckxpc3RTdHJlYW0uaXNCdWZmZXJMaXN0KGIpXG59XG5cbkJ1ZmZlckxpc3RTdHJlYW0uaXNCdWZmZXJMaXN0ID0gQnVmZmVyTGlzdC5pc0J1ZmZlckxpc3RcblxubW9kdWxlLmV4cG9ydHMgPSBCdWZmZXJMaXN0U3RyZWFtXG5tb2R1bGUuZXhwb3J0cy5CdWZmZXJMaXN0U3RyZWFtID0gQnVmZmVyTGlzdFN0cmVhbVxubW9kdWxlLmV4cG9ydHMuQnVmZmVyTGlzdCA9IEJ1ZmZlckxpc3RcbiIsICIndXNlIHN0cmljdCc7XG5jb25zdCByZWFkbGluZSA9IHJlcXVpcmUoJ3JlYWRsaW5lJyk7XG5jb25zdCBjaGFsayA9IHJlcXVpcmUoJ2NoYWxrJyk7XG5jb25zdCBjbGlDdXJzb3IgPSByZXF1aXJlKCdjbGktY3Vyc29yJyk7XG5jb25zdCBjbGlTcGlubmVycyA9IHJlcXVpcmUoJ2NsaS1zcGlubmVycycpO1xuY29uc3QgbG9nU3ltYm9scyA9IHJlcXVpcmUoJ2xvZy1zeW1ib2xzJyk7XG5jb25zdCBzdHJpcEFuc2kgPSByZXF1aXJlKCdzdHJpcC1hbnNpJyk7XG5jb25zdCB3Y3dpZHRoID0gcmVxdWlyZSgnd2N3aWR0aCcpO1xuY29uc3QgaXNJbnRlcmFjdGl2ZSA9IHJlcXVpcmUoJ2lzLWludGVyYWN0aXZlJyk7XG5jb25zdCBpc1VuaWNvZGVTdXBwb3J0ZWQgPSByZXF1aXJlKCdpcy11bmljb2RlLXN1cHBvcnRlZCcpO1xuY29uc3Qge0J1ZmZlckxpc3RTdHJlYW19ID0gcmVxdWlyZSgnYmwnKTtcblxuY29uc3QgVEVYVCA9IFN5bWJvbCgndGV4dCcpO1xuY29uc3QgUFJFRklYX1RFWFQgPSBTeW1ib2woJ3ByZWZpeFRleHQnKTtcbmNvbnN0IEFTQ0lJX0VUWF9DT0RFID0gMHgwMzsgLy8gQ3RybCtDIGVtaXRzIHRoaXMgY29kZVxuXG5jbGFzcyBTdGRpbkRpc2NhcmRlciB7XG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMucmVxdWVzdHMgPSAwO1xuXG5cdFx0dGhpcy5tdXRlZFN0cmVhbSA9IG5ldyBCdWZmZXJMaXN0U3RyZWFtKCk7XG5cdFx0dGhpcy5tdXRlZFN0cmVhbS5waXBlKHByb2Nlc3Muc3Rkb3V0KTtcblxuXHRcdGNvbnN0IHNlbGYgPSB0aGlzOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIHVuaWNvcm4vbm8tdGhpcy1hc3NpZ25tZW50XG5cdFx0dGhpcy5vdXJFbWl0ID0gZnVuY3Rpb24gKGV2ZW50LCBkYXRhLCAuLi5hcmdzKSB7XG5cdFx0XHRjb25zdCB7c3RkaW59ID0gcHJvY2Vzcztcblx0XHRcdGlmIChzZWxmLnJlcXVlc3RzID4gMCB8fCBzdGRpbi5lbWl0ID09PSBzZWxmLm91ckVtaXQpIHtcblx0XHRcdFx0aWYgKGV2ZW50ID09PSAna2V5cHJlc3MnKSB7IC8vIEZpeGVzIHJlYWRsaW5lIGJlaGF2aW9yXG5cdFx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKGV2ZW50ID09PSAnZGF0YScgJiYgZGF0YS5pbmNsdWRlcyhBU0NJSV9FVFhfQ09ERSkpIHtcblx0XHRcdFx0XHRwcm9jZXNzLmVtaXQoJ1NJR0lOVCcpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0UmVmbGVjdC5hcHBseShzZWxmLm9sZEVtaXQsIHRoaXMsIFtldmVudCwgZGF0YSwgLi4uYXJnc10pO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0UmVmbGVjdC5hcHBseShwcm9jZXNzLnN0ZGluLmVtaXQsIHRoaXMsIFtldmVudCwgZGF0YSwgLi4uYXJnc10pO1xuXHRcdFx0fVxuXHRcdH07XG5cdH1cblxuXHRzdGFydCgpIHtcblx0XHR0aGlzLnJlcXVlc3RzKys7XG5cblx0XHRpZiAodGhpcy5yZXF1ZXN0cyA9PT0gMSkge1xuXHRcdFx0dGhpcy5yZWFsU3RhcnQoKTtcblx0XHR9XG5cdH1cblxuXHRzdG9wKCkge1xuXHRcdGlmICh0aGlzLnJlcXVlc3RzIDw9IDApIHtcblx0XHRcdHRocm93IG5ldyBFcnJvcignYHN0b3BgIGNhbGxlZCBtb3JlIHRpbWVzIHRoYW4gYHN0YXJ0YCcpO1xuXHRcdH1cblxuXHRcdHRoaXMucmVxdWVzdHMtLTtcblxuXHRcdGlmICh0aGlzLnJlcXVlc3RzID09PSAwKSB7XG5cdFx0XHR0aGlzLnJlYWxTdG9wKCk7XG5cdFx0fVxuXHR9XG5cblx0cmVhbFN0YXJ0KCkge1xuXHRcdC8vIE5vIGtub3duIHdheSB0byBtYWtlIGl0IHdvcmsgcmVsaWFibHkgb24gV2luZG93c1xuXHRcdGlmIChwcm9jZXNzLnBsYXRmb3JtID09PSAnd2luMzInKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy5ybCA9IHJlYWRsaW5lLmNyZWF0ZUludGVyZmFjZSh7XG5cdFx0XHRpbnB1dDogcHJvY2Vzcy5zdGRpbixcblx0XHRcdG91dHB1dDogdGhpcy5tdXRlZFN0cmVhbVxuXHRcdH0pO1xuXG5cdFx0dGhpcy5ybC5vbignU0lHSU5UJywgKCkgPT4ge1xuXHRcdFx0aWYgKHByb2Nlc3MubGlzdGVuZXJDb3VudCgnU0lHSU5UJykgPT09IDApIHtcblx0XHRcdFx0cHJvY2Vzcy5lbWl0KCdTSUdJTlQnKTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMucmwuY2xvc2UoKTtcblx0XHRcdFx0cHJvY2Vzcy5raWxsKHByb2Nlc3MucGlkLCAnU0lHSU5UJyk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRyZWFsU3RvcCgpIHtcblx0XHRpZiAocHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJykge1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblxuXHRcdHRoaXMucmwuY2xvc2UoKTtcblx0XHR0aGlzLnJsID0gdW5kZWZpbmVkO1xuXHR9XG59XG5cbmxldCBzdGRpbkRpc2NhcmRlcjtcblxuY2xhc3MgT3JhIHtcblx0Y29uc3RydWN0b3Iob3B0aW9ucykge1xuXHRcdGlmICghc3RkaW5EaXNjYXJkZXIpIHtcblx0XHRcdHN0ZGluRGlzY2FyZGVyID0gbmV3IFN0ZGluRGlzY2FyZGVyKCk7XG5cdFx0fVxuXG5cdFx0aWYgKHR5cGVvZiBvcHRpb25zID09PSAnc3RyaW5nJykge1xuXHRcdFx0b3B0aW9ucyA9IHtcblx0XHRcdFx0dGV4dDogb3B0aW9uc1xuXHRcdFx0fTtcblx0XHR9XG5cblx0XHR0aGlzLm9wdGlvbnMgPSB7XG5cdFx0XHR0ZXh0OiAnJyxcblx0XHRcdGNvbG9yOiAnY3lhbicsXG5cdFx0XHRzdHJlYW06IHByb2Nlc3Muc3RkZXJyLFxuXHRcdFx0ZGlzY2FyZFN0ZGluOiB0cnVlLFxuXHRcdFx0Li4ub3B0aW9uc1xuXHRcdH07XG5cblx0XHR0aGlzLnNwaW5uZXIgPSB0aGlzLm9wdGlvbnMuc3Bpbm5lcjtcblxuXHRcdHRoaXMuY29sb3IgPSB0aGlzLm9wdGlvbnMuY29sb3I7XG5cdFx0dGhpcy5oaWRlQ3Vyc29yID0gdGhpcy5vcHRpb25zLmhpZGVDdXJzb3IgIT09IGZhbHNlO1xuXHRcdHRoaXMuaW50ZXJ2YWwgPSB0aGlzLm9wdGlvbnMuaW50ZXJ2YWwgfHwgdGhpcy5zcGlubmVyLmludGVydmFsIHx8IDEwMDtcblx0XHR0aGlzLnN0cmVhbSA9IHRoaXMub3B0aW9ucy5zdHJlYW07XG5cdFx0dGhpcy5pZCA9IHVuZGVmaW5lZDtcblx0XHR0aGlzLmlzRW5hYmxlZCA9IHR5cGVvZiB0aGlzLm9wdGlvbnMuaXNFbmFibGVkID09PSAnYm9vbGVhbicgPyB0aGlzLm9wdGlvbnMuaXNFbmFibGVkIDogaXNJbnRlcmFjdGl2ZSh7c3RyZWFtOiB0aGlzLnN0cmVhbX0pO1xuXHRcdHRoaXMuaXNTaWxlbnQgPSB0eXBlb2YgdGhpcy5vcHRpb25zLmlzU2lsZW50ID09PSAnYm9vbGVhbicgPyB0aGlzLm9wdGlvbnMuaXNTaWxlbnQgOiBmYWxzZTtcblxuXHRcdC8vIFNldCAqYWZ0ZXIqIGB0aGlzLnN0cmVhbWBcblx0XHR0aGlzLnRleHQgPSB0aGlzLm9wdGlvbnMudGV4dDtcblx0XHR0aGlzLnByZWZpeFRleHQgPSB0aGlzLm9wdGlvbnMucHJlZml4VGV4dDtcblx0XHR0aGlzLmxpbmVzVG9DbGVhciA9IDA7XG5cdFx0dGhpcy5pbmRlbnQgPSB0aGlzLm9wdGlvbnMuaW5kZW50O1xuXHRcdHRoaXMuZGlzY2FyZFN0ZGluID0gdGhpcy5vcHRpb25zLmRpc2NhcmRTdGRpbjtcblx0XHR0aGlzLmlzRGlzY2FyZGluZ1N0ZGluID0gZmFsc2U7XG5cdH1cblxuXHRnZXQgaW5kZW50KCkge1xuXHRcdHJldHVybiB0aGlzLl9pbmRlbnQ7XG5cdH1cblxuXHRzZXQgaW5kZW50KGluZGVudCA9IDApIHtcblx0XHRpZiAoIShpbmRlbnQgPj0gMCAmJiBOdW1iZXIuaXNJbnRlZ2VyKGluZGVudCkpKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1RoZSBgaW5kZW50YCBvcHRpb24gbXVzdCBiZSBhbiBpbnRlZ2VyIGZyb20gMCBhbmQgdXAnKTtcblx0XHR9XG5cblx0XHR0aGlzLl9pbmRlbnQgPSBpbmRlbnQ7XG5cdH1cblxuXHRfdXBkYXRlSW50ZXJ2YWwoaW50ZXJ2YWwpIHtcblx0XHRpZiAoaW50ZXJ2YWwgIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0dGhpcy5pbnRlcnZhbCA9IGludGVydmFsO1xuXHRcdH1cblx0fVxuXG5cdGdldCBzcGlubmVyKCkge1xuXHRcdHJldHVybiB0aGlzLl9zcGlubmVyO1xuXHR9XG5cblx0c2V0IHNwaW5uZXIoc3Bpbm5lcikge1xuXHRcdHRoaXMuZnJhbWVJbmRleCA9IDA7XG5cblx0XHRpZiAodHlwZW9mIHNwaW5uZXIgPT09ICdvYmplY3QnKSB7XG5cdFx0XHRpZiAoc3Bpbm5lci5mcmFtZXMgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1RoZSBnaXZlbiBzcGlubmVyIG11c3QgaGF2ZSBhIGBmcmFtZXNgIHByb3BlcnR5Jyk7XG5cdFx0XHR9XG5cblx0XHRcdHRoaXMuX3NwaW5uZXIgPSBzcGlubmVyO1xuXHRcdH0gZWxzZSBpZiAoIWlzVW5pY29kZVN1cHBvcnRlZCgpKSB7XG5cdFx0XHR0aGlzLl9zcGlubmVyID0gY2xpU3Bpbm5lcnMubGluZTtcblx0XHR9IGVsc2UgaWYgKHNwaW5uZXIgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0Ly8gU2V0IGRlZmF1bHQgc3Bpbm5lclxuXHRcdFx0dGhpcy5fc3Bpbm5lciA9IGNsaVNwaW5uZXJzLmRvdHM7XG5cdFx0fSBlbHNlIGlmIChzcGlubmVyICE9PSAnZGVmYXVsdCcgJiYgY2xpU3Bpbm5lcnNbc3Bpbm5lcl0pIHtcblx0XHRcdHRoaXMuX3NwaW5uZXIgPSBjbGlTcGlubmVyc1tzcGlubmVyXTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKGBUaGVyZSBpcyBubyBidWlsdC1pbiBzcGlubmVyIG5hbWVkICcke3NwaW5uZXJ9Jy4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kcmVzb3JodXMvY2xpLXNwaW5uZXJzL2Jsb2IvbWFpbi9zcGlubmVycy5qc29uIGZvciBhIGZ1bGwgbGlzdC5gKTtcblx0XHR9XG5cblx0XHR0aGlzLl91cGRhdGVJbnRlcnZhbCh0aGlzLl9zcGlubmVyLmludGVydmFsKTtcblx0fVxuXG5cdGdldCB0ZXh0KCkge1xuXHRcdHJldHVybiB0aGlzW1RFWFRdO1xuXHR9XG5cblx0c2V0IHRleHQodmFsdWUpIHtcblx0XHR0aGlzW1RFWFRdID0gdmFsdWU7XG5cdFx0dGhpcy51cGRhdGVMaW5lQ291bnQoKTtcblx0fVxuXG5cdGdldCBwcmVmaXhUZXh0KCkge1xuXHRcdHJldHVybiB0aGlzW1BSRUZJWF9URVhUXTtcblx0fVxuXG5cdHNldCBwcmVmaXhUZXh0KHZhbHVlKSB7XG5cdFx0dGhpc1tQUkVGSVhfVEVYVF0gPSB2YWx1ZTtcblx0XHR0aGlzLnVwZGF0ZUxpbmVDb3VudCgpO1xuXHR9XG5cblx0Z2V0IGlzU3Bpbm5pbmcoKSB7XG5cdFx0cmV0dXJuIHRoaXMuaWQgIT09IHVuZGVmaW5lZDtcblx0fVxuXG5cdGdldEZ1bGxQcmVmaXhUZXh0KHByZWZpeFRleHQgPSB0aGlzW1BSRUZJWF9URVhUXSwgcG9zdGZpeCA9ICcgJykge1xuXHRcdGlmICh0eXBlb2YgcHJlZml4VGV4dCA9PT0gJ3N0cmluZycpIHtcblx0XHRcdHJldHVybiBwcmVmaXhUZXh0ICsgcG9zdGZpeDtcblx0XHR9XG5cblx0XHRpZiAodHlwZW9mIHByZWZpeFRleHQgPT09ICdmdW5jdGlvbicpIHtcblx0XHRcdHJldHVybiBwcmVmaXhUZXh0KCkgKyBwb3N0Zml4O1xuXHRcdH1cblxuXHRcdHJldHVybiAnJztcblx0fVxuXG5cdHVwZGF0ZUxpbmVDb3VudCgpIHtcblx0XHRjb25zdCBjb2x1bW5zID0gdGhpcy5zdHJlYW0uY29sdW1ucyB8fCA4MDtcblx0XHRjb25zdCBmdWxsUHJlZml4VGV4dCA9IHRoaXMuZ2V0RnVsbFByZWZpeFRleHQodGhpcy5wcmVmaXhUZXh0LCAnLScpO1xuXHRcdHRoaXMubGluZUNvdW50ID0gMDtcblx0XHRmb3IgKGNvbnN0IGxpbmUgb2Ygc3RyaXBBbnNpKGZ1bGxQcmVmaXhUZXh0ICsgJy0tJyArIHRoaXNbVEVYVF0pLnNwbGl0KCdcXG4nKSkge1xuXHRcdFx0dGhpcy5saW5lQ291bnQgKz0gTWF0aC5tYXgoMSwgTWF0aC5jZWlsKHdjd2lkdGgobGluZSkgLyBjb2x1bW5zKSk7XG5cdFx0fVxuXHR9XG5cblx0Z2V0IGlzRW5hYmxlZCgpIHtcblx0XHRyZXR1cm4gdGhpcy5faXNFbmFibGVkICYmICF0aGlzLmlzU2lsZW50O1xuXHR9XG5cblx0c2V0IGlzRW5hYmxlZCh2YWx1ZSkge1xuXHRcdGlmICh0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykge1xuXHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIGBpc0VuYWJsZWRgIG9wdGlvbiBtdXN0IGJlIGEgYm9vbGVhbicpO1xuXHRcdH1cblxuXHRcdHRoaXMuX2lzRW5hYmxlZCA9IHZhbHVlO1xuXHR9XG5cblx0Z2V0IGlzU2lsZW50KCkge1xuXHRcdHJldHVybiB0aGlzLl9pc1NpbGVudDtcblx0fVxuXG5cdHNldCBpc1NpbGVudCh2YWx1ZSkge1xuXHRcdGlmICh0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykge1xuXHRcdFx0dGhyb3cgbmV3IFR5cGVFcnJvcignVGhlIGBpc1NpbGVudGAgb3B0aW9uIG11c3QgYmUgYSBib29sZWFuJyk7XG5cdFx0fVxuXG5cdFx0dGhpcy5faXNTaWxlbnQgPSB2YWx1ZTtcblx0fVxuXG5cdGZyYW1lKCkge1xuXHRcdGNvbnN0IHtmcmFtZXN9ID0gdGhpcy5zcGlubmVyO1xuXHRcdGxldCBmcmFtZSA9IGZyYW1lc1t0aGlzLmZyYW1lSW5kZXhdO1xuXG5cdFx0aWYgKHRoaXMuY29sb3IpIHtcblx0XHRcdGZyYW1lID0gY2hhbGtbdGhpcy5jb2xvcl0oZnJhbWUpO1xuXHRcdH1cblxuXHRcdHRoaXMuZnJhbWVJbmRleCA9ICsrdGhpcy5mcmFtZUluZGV4ICUgZnJhbWVzLmxlbmd0aDtcblx0XHRjb25zdCBmdWxsUHJlZml4VGV4dCA9ICh0eXBlb2YgdGhpcy5wcmVmaXhUZXh0ID09PSAnc3RyaW5nJyAmJiB0aGlzLnByZWZpeFRleHQgIT09ICcnKSA/IHRoaXMucHJlZml4VGV4dCArICcgJyA6ICcnO1xuXHRcdGNvbnN0IGZ1bGxUZXh0ID0gdHlwZW9mIHRoaXMudGV4dCA9PT0gJ3N0cmluZycgPyAnICcgKyB0aGlzLnRleHQgOiAnJztcblxuXHRcdHJldHVybiBmdWxsUHJlZml4VGV4dCArIGZyYW1lICsgZnVsbFRleHQ7XG5cdH1cblxuXHRjbGVhcigpIHtcblx0XHRpZiAoIXRoaXMuaXNFbmFibGVkIHx8ICF0aGlzLnN0cmVhbS5pc1RUWSkge1xuXHRcdFx0cmV0dXJuIHRoaXM7XG5cdFx0fVxuXG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmxpbmVzVG9DbGVhcjsgaSsrKSB7XG5cdFx0XHRpZiAoaSA+IDApIHtcblx0XHRcdFx0dGhpcy5zdHJlYW0ubW92ZUN1cnNvcigwLCAtMSk7XG5cdFx0XHR9XG5cblx0XHRcdHRoaXMuc3RyZWFtLmNsZWFyTGluZSgpO1xuXHRcdFx0dGhpcy5zdHJlYW0uY3Vyc29yVG8odGhpcy5pbmRlbnQpO1xuXHRcdH1cblxuXHRcdHRoaXMubGluZXNUb0NsZWFyID0gMDtcblxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0cmVuZGVyKCkge1xuXHRcdGlmICh0aGlzLmlzU2lsZW50KSB7XG5cdFx0XHRyZXR1cm4gdGhpcztcblx0XHR9XG5cblx0XHR0aGlzLmNsZWFyKCk7XG5cdFx0dGhpcy5zdHJlYW0ud3JpdGUodGhpcy5mcmFtZSgpKTtcblx0XHR0aGlzLmxpbmVzVG9DbGVhciA9IHRoaXMubGluZUNvdW50O1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRzdGFydCh0ZXh0KSB7XG5cdFx0aWYgKHRleHQpIHtcblx0XHRcdHRoaXMudGV4dCA9IHRleHQ7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuaXNTaWxlbnQpIHtcblx0XHRcdHJldHVybiB0aGlzO1xuXHRcdH1cblxuXHRcdGlmICghdGhpcy5pc0VuYWJsZWQpIHtcblx0XHRcdGlmICh0aGlzLnRleHQpIHtcblx0XHRcdFx0dGhpcy5zdHJlYW0ud3JpdGUoYC0gJHt0aGlzLnRleHR9XFxuYCk7XG5cdFx0XHR9XG5cblx0XHRcdHJldHVybiB0aGlzO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLmlzU3Bpbm5pbmcpIHtcblx0XHRcdHJldHVybiB0aGlzO1xuXHRcdH1cblxuXHRcdGlmICh0aGlzLmhpZGVDdXJzb3IpIHtcblx0XHRcdGNsaUN1cnNvci5oaWRlKHRoaXMuc3RyZWFtKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5kaXNjYXJkU3RkaW4gJiYgcHJvY2Vzcy5zdGRpbi5pc1RUWSkge1xuXHRcdFx0dGhpcy5pc0Rpc2NhcmRpbmdTdGRpbiA9IHRydWU7XG5cdFx0XHRzdGRpbkRpc2NhcmRlci5zdGFydCgpO1xuXHRcdH1cblxuXHRcdHRoaXMucmVuZGVyKCk7XG5cdFx0dGhpcy5pZCA9IHNldEludGVydmFsKHRoaXMucmVuZGVyLmJpbmQodGhpcyksIHRoaXMuaW50ZXJ2YWwpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRzdG9wKCkge1xuXHRcdGlmICghdGhpcy5pc0VuYWJsZWQpIHtcblx0XHRcdHJldHVybiB0aGlzO1xuXHRcdH1cblxuXHRcdGNsZWFySW50ZXJ2YWwodGhpcy5pZCk7XG5cdFx0dGhpcy5pZCA9IHVuZGVmaW5lZDtcblx0XHR0aGlzLmZyYW1lSW5kZXggPSAwO1xuXHRcdHRoaXMuY2xlYXIoKTtcblx0XHRpZiAodGhpcy5oaWRlQ3Vyc29yKSB7XG5cdFx0XHRjbGlDdXJzb3Iuc2hvdyh0aGlzLnN0cmVhbSk7XG5cdFx0fVxuXG5cdFx0aWYgKHRoaXMuZGlzY2FyZFN0ZGluICYmIHByb2Nlc3Muc3RkaW4uaXNUVFkgJiYgdGhpcy5pc0Rpc2NhcmRpbmdTdGRpbikge1xuXHRcdFx0c3RkaW5EaXNjYXJkZXIuc3RvcCgpO1xuXHRcdFx0dGhpcy5pc0Rpc2NhcmRpbmdTdGRpbiA9IGZhbHNlO1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0c3VjY2VlZCh0ZXh0KSB7XG5cdFx0cmV0dXJuIHRoaXMuc3RvcEFuZFBlcnNpc3Qoe3N5bWJvbDogbG9nU3ltYm9scy5zdWNjZXNzLCB0ZXh0fSk7XG5cdH1cblxuXHRmYWlsKHRleHQpIHtcblx0XHRyZXR1cm4gdGhpcy5zdG9wQW5kUGVyc2lzdCh7c3ltYm9sOiBsb2dTeW1ib2xzLmVycm9yLCB0ZXh0fSk7XG5cdH1cblxuXHR3YXJuKHRleHQpIHtcblx0XHRyZXR1cm4gdGhpcy5zdG9wQW5kUGVyc2lzdCh7c3ltYm9sOiBsb2dTeW1ib2xzLndhcm5pbmcsIHRleHR9KTtcblx0fVxuXG5cdGluZm8odGV4dCkge1xuXHRcdHJldHVybiB0aGlzLnN0b3BBbmRQZXJzaXN0KHtzeW1ib2w6IGxvZ1N5bWJvbHMuaW5mbywgdGV4dH0pO1xuXHR9XG5cblx0c3RvcEFuZFBlcnNpc3Qob3B0aW9ucyA9IHt9KSB7XG5cdFx0aWYgKHRoaXMuaXNTaWxlbnQpIHtcblx0XHRcdHJldHVybiB0aGlzO1xuXHRcdH1cblxuXHRcdGNvbnN0IHByZWZpeFRleHQgPSBvcHRpb25zLnByZWZpeFRleHQgfHwgdGhpcy5wcmVmaXhUZXh0O1xuXHRcdGNvbnN0IHRleHQgPSBvcHRpb25zLnRleHQgfHwgdGhpcy50ZXh0O1xuXHRcdGNvbnN0IGZ1bGxUZXh0ID0gKHR5cGVvZiB0ZXh0ID09PSAnc3RyaW5nJykgPyAnICcgKyB0ZXh0IDogJyc7XG5cblx0XHR0aGlzLnN0b3AoKTtcblx0XHR0aGlzLnN0cmVhbS53cml0ZShgJHt0aGlzLmdldEZ1bGxQcmVmaXhUZXh0KHByZWZpeFRleHQsICcgJyl9JHtvcHRpb25zLnN5bWJvbCB8fCAnICd9JHtmdWxsVGV4dH1cXG5gKTtcblxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG59XG5cbmNvbnN0IG9yYUZhY3RvcnkgPSBmdW5jdGlvbiAob3B0aW9ucykge1xuXHRyZXR1cm4gbmV3IE9yYShvcHRpb25zKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gb3JhRmFjdG9yeTtcblxubW9kdWxlLmV4cG9ydHMucHJvbWlzZSA9IChhY3Rpb24sIG9wdGlvbnMpID0+IHtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByb21pc2UvcHJlZmVyLWF3YWl0LXRvLXRoZW5cblx0aWYgKHR5cGVvZiBhY3Rpb24udGhlbiAhPT0gJ2Z1bmN0aW9uJykge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ1BhcmFtZXRlciBgYWN0aW9uYCBtdXN0IGJlIGEgUHJvbWlzZScpO1xuXHR9XG5cblx0Y29uc3Qgc3Bpbm5lciA9IG5ldyBPcmEob3B0aW9ucyk7XG5cdHNwaW5uZXIuc3RhcnQoKTtcblxuXHQoYXN5bmMgKCkgPT4ge1xuXHRcdHRyeSB7XG5cdFx0XHRhd2FpdCBhY3Rpb247XG5cdFx0XHRzcGlubmVyLnN1Y2NlZWQoKTtcblx0XHR9IGNhdGNoIHtcblx0XHRcdHNwaW5uZXIuZmFpbCgpO1xuXHRcdH1cblx0fSkoKTtcblxuXHRyZXR1cm4gc3Bpbm5lcjtcbn07XG4iLCAiXG5tb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKGRldCwgcmVjLCBjb25maWRlbmNlLCBuYW1lLCBsYW5nKSB7XG4gIHRoaXMuY29uZmlkZW5jZSA9IGNvbmZpZGVuY2U7XG4gIHRoaXMubmFtZSA9IG5hbWUgfHwgcmVjLm5hbWUoZGV0KTtcbiAgdGhpcy5sYW5nID0gbGFuZztcbn07XG4iLCAiXG52YXIgTWF0Y2ggPSByZXF1aXJlICgnLi4vbWF0Y2gnKTtcblxuLyoqXG4gKiBDaGFyc2V0IHJlY29nbml6ZXIgZm9yIFVURi04XG4gKi9cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oKSB7XG4gIHRoaXMubmFtZSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnVVRGLTgnO1xuICB9O1xuICB0aGlzLm1hdGNoID0gZnVuY3Rpb24oZGV0KSB7XG5cbiAgICB2YXIgaGFzQk9NID0gZmFsc2UsXG4gICAgICBudW1WYWxpZCA9IDAsXG4gICAgICBudW1JbnZhbGlkID0gMCxcbiAgICAgIGlucHV0ID0gZGV0LmZSYXdJbnB1dCxcbiAgICAgIHRyYWlsQnl0ZXMgPSAwLFxuICAgICAgY29uZmlkZW5jZTtcblxuICAgIGlmIChkZXQuZlJhd0xlbmd0aCA+PSAzICYmXG4gICAgICAoaW5wdXRbMF0gJiAweGZmKSA9PSAweGVmICYmIChpbnB1dFsxXSAmIDB4ZmYpID09IDB4YmIgJiYgKGlucHV0WzJdICYgMHhmZikgPT0gMHhiZikge1xuICAgICAgaGFzQk9NID0gdHJ1ZTtcbiAgICB9XG5cbiAgICAvLyBTY2FuIGZvciBtdWx0aS1ieXRlIHNlcXVlbmNlc1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGV0LmZSYXdMZW5ndGg7IGkrKykge1xuICAgICAgdmFyIGIgPSBpbnB1dFtpXTtcbiAgICAgIGlmICgoYiAmIDB4ODApID09IDApXG4gICAgICAgIGNvbnRpbnVlOyAvLyBBU0NJSVxuXG4gICAgICAvLyBIaSBiaXQgb24gY2hhciBmb3VuZC4gIEZpZ3VyZSBvdXQgaG93IGxvbmcgdGhlIHNlcXVlbmNlIHNob3VsZCBiZVxuICAgICAgaWYgKChiICYgMHgwZTApID09IDB4MGMwKSB7XG4gICAgICAgIHRyYWlsQnl0ZXMgPSAxO1xuICAgICAgfSBlbHNlIGlmICgoYiAmIDB4MGYwKSA9PSAweDBlMCkge1xuICAgICAgICB0cmFpbEJ5dGVzID0gMjtcbiAgICAgIH0gZWxzZSBpZiAoKGIgJiAweDBmOCkgPT0gMHhmMCkge1xuICAgICAgICB0cmFpbEJ5dGVzID0gMztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG51bUludmFsaWQrKztcbiAgICAgICAgaWYgKG51bUludmFsaWQgPiA1KVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB0cmFpbEJ5dGVzID0gMDtcbiAgICAgIH1cblxuICAgICAgLy8gVmVyaWZ5IHRoYXQgd2UndmUgZ290IHRoZSByaWdodCBudW1iZXIgb2YgdHJhaWwgYnl0ZXMgaW4gdGhlIHNlcXVlbmNlXG4gICAgICBmb3IgKDs7KSB7XG4gICAgICAgIGkrKztcbiAgICAgICAgaWYgKGkgPj0gZGV0LmZSYXdMZW5ndGgpXG4gICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgaWYgKChpbnB1dFtpXSAmIDB4YzApICE9IDB4MDgwKSB7XG4gICAgICAgICAgbnVtSW52YWxpZCsrO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGlmICgtLXRyYWlsQnl0ZXMgPT0gMCkge1xuICAgICAgICAgIG51bVZhbGlkKys7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDb29rIHVwIHNvbWUgc29ydCBvZiBjb25maWRlbmNlIHNjb3JlLCBiYXNlZCBvbiBwcmVzZW5zZSBvZiBhIEJPTVxuICAgIC8vICAgIGFuZCB0aGUgZXhpc3RlbmNlIG9mIHZhbGlkIGFuZC9vciBpbnZhbGlkIG11bHRpLWJ5dGUgc2VxdWVuY2VzLlxuICAgIGNvbmZpZGVuY2UgPSAwO1xuICAgIGlmIChoYXNCT00gJiYgbnVtSW52YWxpZCA9PSAwKVxuICAgICAgY29uZmlkZW5jZSA9IDEwMDtcbiAgICBlbHNlIGlmIChoYXNCT00gJiYgbnVtVmFsaWQgPiBudW1JbnZhbGlkICogMTApXG4gICAgICBjb25maWRlbmNlID0gODA7XG4gICAgZWxzZSBpZiAobnVtVmFsaWQgPiAzICYmIG51bUludmFsaWQgPT0gMClcbiAgICAgIGNvbmZpZGVuY2UgPSAxMDA7XG4gICAgZWxzZSBpZiAobnVtVmFsaWQgPiAwICYmIG51bUludmFsaWQgPT0gMClcbiAgICAgIGNvbmZpZGVuY2UgPSA4MDtcbiAgICBlbHNlIGlmIChudW1WYWxpZCA9PSAwICYmIG51bUludmFsaWQgPT0gMClcbiAgICAgIC8vIFBsYWluIEFTQ0lJLlxuICAgICAgY29uZmlkZW5jZSA9IDEwO1xuICAgIGVsc2UgaWYgKG51bVZhbGlkID4gbnVtSW52YWxpZCAqIDEwKVxuICAgICAgLy8gUHJvYmFibHkgY29ycnVwdXQgdXRmLTggZGF0YS4gIFZhbGlkIHNlcXVlbmNlcyBhcmVuJ3QgbGlrZWx5IGJ5IGNoYW5jZS5cbiAgICAgIGNvbmZpZGVuY2UgPSAyNTtcbiAgICBlbHNlXG4gICAgICByZXR1cm4gbnVsbFxuXG4gICAgcmV0dXJuIG5ldyBNYXRjaChkZXQsIHRoaXMsIGNvbmZpZGVuY2UpO1xuICB9O1xufTtcbiIsICIndXNlIHN0cmljdCc7XG52YXIgdXRpbCA9IHJlcXVpcmUoJ3V0aWwnKSxcbiAgTWF0Y2ggPSByZXF1aXJlICgnLi4vbWF0Y2gnKTtcblxuLyoqXG4gKiBUaGlzIGNsYXNzIG1hdGNoZXMgVVRGLTE2IGFuZCBVVEYtMzIsIGJvdGggYmlnLSBhbmQgbGl0dGxlLWVuZGlhbi4gVGhlXG4gKiBCT00gd2lsbCBiZSB1c2VkIGlmIGl0IGlzIHByZXNlbnQuXG4gKi9cbm1vZHVsZS5leHBvcnRzLlVURl8xNkJFID0gZnVuY3Rpb24oKSB7XG4gIHRoaXMubmFtZSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnVVRGLTE2QkUnO1xuICB9O1xuICB0aGlzLm1hdGNoID0gZnVuY3Rpb24oZGV0KSB7XG4gICAgdmFyIGlucHV0ID0gZGV0LmZSYXdJbnB1dDtcblxuICAgIGlmIChpbnB1dC5sZW5ndGggPj0gMiAmJiAoKGlucHV0WzBdICYgMHhmZikgPT0gMHhmZSAmJiAoaW5wdXRbMV0gJiAweGZmKSA9PSAweGZmKSkge1xuICAgICAgcmV0dXJuIG5ldyBNYXRjaChkZXQsIHRoaXMsIDEwMCk7IC8vIGNvbmZpZGVuY2UgPSAxMDBcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBEbyBzb21lIHN0YXRpc3RpY3MgdG8gY2hlY2sgZm9yIHVuc2lnbmVkIFVURi0xNkJFXG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG59O1xuXG5tb2R1bGUuZXhwb3J0cy5VVEZfMTZMRSA9IGZ1bmN0aW9uKCkge1xuICB0aGlzLm5hbWUgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ1VURi0xNkxFJztcbiAgfTtcbiAgdGhpcy5tYXRjaCA9IGZ1bmN0aW9uKGRldCkge1xuICAgIHZhciBpbnB1dCA9IGRldC5mUmF3SW5wdXQ7XG5cbiAgICBpZiAoaW5wdXQubGVuZ3RoID49IDIgJiYgKChpbnB1dFswXSAmIDB4ZmYpID09IDB4ZmYgJiYgKGlucHV0WzFdICYgMHhmZikgPT0gMHhmZSkpIHtcbiAgICAgIC8vIExFIEJPTSBpcyBwcmVzZW50LlxuICAgICAgaWYgKGlucHV0Lmxlbmd0aCA+PSA0ICYmIGlucHV0WzJdID09IDB4MDAgJiYgaW5wdXRbM10gPT0gMHgwMCkge1xuICAgICAgICAvLyBJdCBpcyBwcm9iYWJseSBVVEYtMzIgTEUsIG5vdCBVVEYtMTZcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICByZXR1cm4gbmV3IE1hdGNoKGRldCwgdGhpcywgMTAwKTsgLy8gY29uZmlkZW5jZSA9IDEwMFxuICAgIH1cblxuICAgIC8vIFRPRE86IERvIHNvbWUgc3RhdGlzdGljcyB0byBjaGVjayBmb3IgdW5zaWduZWQgVVRGLTE2TEVcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufTtcblxuZnVuY3Rpb24gVVRGXzMyKCkge307XG5VVEZfMzIucHJvdG90eXBlLm1hdGNoID0gZnVuY3Rpb24oZGV0KSB7XG4gIHZhciBpbnB1dCAgICAgID0gZGV0LmZSYXdJbnB1dCxcbiAgICBsaW1pdCAgICAgID0gKGRldC5mUmF3TGVuZ3RoIC8gNCkgKiA0LFxuICAgIG51bVZhbGlkICAgPSAwLFxuICAgIG51bUludmFsaWQgPSAwLFxuICAgIGhhc0JPTSAgICAgPSBmYWxzZSxcbiAgICBjb25maWRlbmNlID0gMDtcblxuICBpZiAobGltaXQgPT0gMCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgaWYgKHRoaXMuZ2V0Q2hhcihpbnB1dCwgMCkgPT0gMHgwMDAwRkVGRikge1xuICAgIGhhc0JPTSA9IHRydWU7XG4gIH1cblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGxpbWl0OyBpICs9IDQpIHtcbiAgICB2YXIgY2ggPSB0aGlzLmdldENoYXIoaW5wdXQsIGkpO1xuXG4gICAgaWYgKGNoIDwgMCB8fCBjaCA+PSAweDEwRkZGRiB8fCAoY2ggPj0gMHhEODAwICYmIGNoIDw9IDB4REZGRikpIHtcbiAgICAgIG51bUludmFsaWQgKz0gMTtcbiAgICB9IGVsc2Uge1xuICAgICAgbnVtVmFsaWQgKz0gMTtcbiAgICB9XG4gIH1cblxuICAvLyBDb29rIHVwIHNvbWUgc29ydCBvZiBjb25maWRlbmNlIHNjb3JlLCBiYXNlZCBvbiBwcmVzZW5jZSBvZiBhIEJPTVxuICAvLyAgICBhbmQgdGhlIGV4aXN0ZW5jZSBvZiB2YWxpZCBhbmQvb3IgaW52YWxpZCBtdWx0aS1ieXRlIHNlcXVlbmNlcy5cbiAgaWYgKGhhc0JPTSAmJiBudW1JbnZhbGlkID09IDApIHtcbiAgICBjb25maWRlbmNlID0gMTAwO1xuICB9IGVsc2UgaWYgKGhhc0JPTSAmJiBudW1WYWxpZCA+IG51bUludmFsaWQgKiAxMCkge1xuICAgIGNvbmZpZGVuY2UgPSA4MDtcbiAgfSBlbHNlIGlmIChudW1WYWxpZCA+IDMgJiYgbnVtSW52YWxpZCA9PSAwKSB7XG4gICAgY29uZmlkZW5jZSA9IDEwMDtcbiAgfSBlbHNlIGlmIChudW1WYWxpZCA+IDAgJiYgbnVtSW52YWxpZCA9PSAwKSB7XG4gICAgY29uZmlkZW5jZSA9IDgwO1xuICB9IGVsc2UgaWYgKG51bVZhbGlkID4gbnVtSW52YWxpZCAqIDEwKSB7XG4gICAgLy8gUHJvYmFibHkgY29ycnVwdCBVVEYtMzJCRSBkYXRhLiAgVmFsaWQgc2VxdWVuY2VzIGFyZW4ndCBsaWtlbHkgYnkgY2hhbmNlLlxuICAgIGNvbmZpZGVuY2UgPSAyNTtcbiAgfVxuXG4gIC8vIHJldHVybiBjb25maWRlbmNlID09IDAgPyBudWxsIDogbmV3IENoYXJzZXRNYXRjaChkZXQsIHRoaXMsIGNvbmZpZGVuY2UpO1xuICByZXR1cm4gY29uZmlkZW5jZSA9PSAwID8gbnVsbCA6IG5ldyBNYXRjaChkZXQsIHRoaXMsIGNvbmZpZGVuY2UpO1xufTtcblxubW9kdWxlLmV4cG9ydHMuVVRGXzMyQkUgPSBmdW5jdGlvbigpIHtcbiAgdGhpcy5uYW1lID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdVVEYtMzJCRSc7XG4gIH07XG4gIHRoaXMuZ2V0Q2hhciA9IGZ1bmN0aW9uKGlucHV0LCBpbmRleCkge1xuICAgIHJldHVybiAoaW5wdXRbaW5kZXggKyAwXSAmIDB4ZmYpIDw8IDI0IHwgKGlucHV0W2luZGV4ICsgMV0gJiAweGZmKSA8PCAxNiB8XG4gICAgICAgICAoaW5wdXRbaW5kZXggKyAyXSAmIDB4ZmYpIDw8ICA4IHwgKGlucHV0W2luZGV4ICsgM10gJiAweGZmKTtcbiAgfTtcbn07XG51dGlsLmluaGVyaXRzKG1vZHVsZS5leHBvcnRzLlVURl8zMkJFLCBVVEZfMzIpO1xuXG5tb2R1bGUuZXhwb3J0cy5VVEZfMzJMRSA9IGZ1bmN0aW9uKCkge1xuICB0aGlzLm5hbWUgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ1VURi0zMkxFJztcbiAgfTtcbiAgdGhpcy5nZXRDaGFyID0gZnVuY3Rpb24oaW5wdXQsIGluZGV4KSB7XG4gICAgcmV0dXJuIChpbnB1dFtpbmRleCArIDNdICYgMHhmZikgPDwgMjQgfCAoaW5wdXRbaW5kZXggKyAyXSAmIDB4ZmYpIDw8IDE2IHxcbiAgICAgICAgIChpbnB1dFtpbmRleCArIDFdICYgMHhmZikgPDwgIDggfCAoaW5wdXRbaW5kZXggKyAwXSAmIDB4ZmYpO1xuICB9O1xufTtcbnV0aWwuaW5oZXJpdHMobW9kdWxlLmV4cG9ydHMuVVRGXzMyTEUsIFVURl8zMik7XG4iLCAidmFyIHV0aWwgPSByZXF1aXJlKCd1dGlsJyksXG4gIE1hdGNoID0gcmVxdWlyZSAoJy4uL21hdGNoJyk7XG5cbi8qKlxuICogQmluYXJ5IHNlYXJjaCBpbXBsZW1lbnRhdGlvbiAocmVjdXJzaXZlKVxuICovXG5mdW5jdGlvbiBiaW5hcnlTZWFyY2goYXJyLCBzZWFyY2hWYWx1ZSkge1xuICBmdW5jdGlvbiBmaW5kKGFyciwgc2VhcmNoVmFsdWUsIGxlZnQsIHJpZ2h0KSB7XG4gICAgaWYgKHJpZ2h0IDwgbGVmdClcbiAgICAgIHJldHVybiAtMTtcblxuICAgIC8qXG4gICAgaW50IG1pZCA9IG1pZCA9IChsZWZ0ICsgcmlnaHQpIC8gMjtcbiAgICBUaGVyZSBpcyBhIGJ1ZyBpbiB0aGUgYWJvdmUgbGluZTtcbiAgICBKb3NodWEgQmxvY2ggc3VnZ2VzdHMgdGhlIGZvbGxvd2luZyByZXBsYWNlbWVudDpcbiAgICAqL1xuICAgIHZhciBtaWQgPSBNYXRoLmZsb29yKChsZWZ0ICsgcmlnaHQpID4+PiAxKTtcbiAgICBpZiAoc2VhcmNoVmFsdWUgPiBhcnJbbWlkXSlcbiAgICAgIHJldHVybiBmaW5kKGFyciwgc2VhcmNoVmFsdWUsIG1pZCArIDEsIHJpZ2h0KTtcblxuICAgIGlmIChzZWFyY2hWYWx1ZSA8IGFyclttaWRdKVxuICAgICAgcmV0dXJuIGZpbmQoYXJyLCBzZWFyY2hWYWx1ZSwgbGVmdCwgbWlkIC0gMSk7XG5cbiAgICByZXR1cm4gbWlkO1xuICB9O1xuXG4gIHJldHVybiBmaW5kKGFyciwgc2VhcmNoVmFsdWUsIDAsIGFyci5sZW5ndGggLSAxKTtcbn07XG5cbi8vICdDaGFyYWN0ZXInICBpdGVyYXRlZCBjaGFyYWN0ZXIgY2xhc3MuXG4vLyAgICBSZWNvZ25pemVycyBmb3Igc3BlY2lmaWMgbWJjcyBlbmNvZGluZ3MgbWFrZSB0aGVpciAnY2hhcmFjdGVycycgYXZhaWxhYmxlXG4vLyAgICBieSBwcm92aWRpbmcgYSBuZXh0Q2hhcigpIGZ1bmN0aW9uIHRoYXQgZmlsbHMgaW4gYW4gaW5zdGFuY2Ugb2YgaXRlcmF0ZWRDaGFyXG4vLyAgICB3aXRoIHRoZSBuZXh0IGNoYXIgZnJvbSB0aGUgaW5wdXQuXG4vLyAgICBUaGUgcmV0dXJuZWQgY2hhcmFjdGVycyBhcmUgbm90IGNvbnZlcnRlZCB0byBVbmljb2RlLCBidXQgcmVtYWluIGFzIHRoZSByYXdcbi8vICAgIGJ5dGVzIChjb25jYXRlbmF0ZWQgaW50byBhbiBpbnQpIGZyb20gdGhlIGNvZGVwYWdlIGRhdGEuXG4vL1xuLy8gIEZvciBBc2lhbiBjaGFyc2V0cywgdXNlIHRoZSByYXcgaW5wdXQgcmF0aGVyIHRoYW4gdGhlIGlucHV0IHRoYXQgaGFzIGJlZW5cbi8vICAgc3RyaXBwZWQgb2YgbWFya3VwLiAgRGV0ZWN0aW9uIG9ubHkgY29uc2lkZXJzIG11bHRpLWJ5dGUgY2hhcnMsIGVmZmVjdGl2ZWx5XG4vLyAgIHN0cmlwcGluZyBtYXJrdXAgYW55d2F5LCBhbmQgZG91YmxlIGJ5dGUgY2hhcnMgZG8gb2NjdXIgaW4gbWFya3VwIHRvby5cbi8vXG5mdW5jdGlvbiBJdGVyYXRlZENoYXIoKSB7XG5cbiAgdGhpcy5jaGFyVmFsdWUgPSAwOyAvLyAxLTQgYnl0ZXMgZnJvbSB0aGUgcmF3IGlucHV0IGRhdGFcbiAgdGhpcy5pbmRleCAgICAgPSAwO1xuICB0aGlzLm5leHRJbmRleCA9IDA7XG4gIHRoaXMuZXJyb3IgICAgID0gZmFsc2U7XG4gIHRoaXMuZG9uZSAgICAgID0gZmFsc2U7XG5cbiAgdGhpcy5yZXNldCA9IGZ1bmN0aW9uKCkge1xuICAgIHRoaXMuY2hhclZhbHVlID0gMDtcbiAgICB0aGlzLmluZGV4ICAgICA9IC0xO1xuICAgIHRoaXMubmV4dEluZGV4ID0gMDtcbiAgICB0aGlzLmVycm9yICAgICA9IGZhbHNlO1xuICAgIHRoaXMuZG9uZSAgICAgID0gZmFsc2U7XG4gIH07XG5cbiAgdGhpcy5uZXh0Qnl0ZSA9IGZ1bmN0aW9uKGRldCkge1xuICAgIGlmICh0aGlzLm5leHRJbmRleCA+PSBkZXQuZlJhd0xlbmd0aCkge1xuICAgICAgdGhpcy5kb25lID0gdHJ1ZTtcbiAgICAgIHJldHVybiAtMTtcbiAgICB9XG4gICAgdmFyIGJ5dGVWYWx1ZSA9IGRldC5mUmF3SW5wdXRbdGhpcy5uZXh0SW5kZXgrK10gJiAweDAwZmY7XG4gICAgcmV0dXJuIGJ5dGVWYWx1ZTtcbiAgfTtcbn07XG5cblxuXG4vKipcbiAqIEFzaWFuIGRvdWJsZSBvciBtdWx0aS1ieXRlIC0gY2hhcnNldHMuXG4gKiBNYXRjaCBpcyBkZXRlcm1pbmVkIG1vc3RseSBieSB0aGUgaW5wdXQgZGF0YSBhZGhlcmluZyB0byB0aGVcbiAqIGVuY29kaW5nIHNjaGVtZSBmb3IgdGhlIGNoYXJzZXQsIGFuZCwgb3B0aW9uYWxseSxcbiAqIGZyZXF1ZW5jeS1vZi1vY2N1cmVuY2Ugb2YgY2hhcmFjdGVycy5cbiAqL1xuXG5mdW5jdGlvbiBtYmNzKCkge307XG5cbi8qKlxuICogVGVzdCB0aGUgbWF0Y2ggb2YgdGhpcyBjaGFyc2V0IHdpdGggdGhlIGlucHV0IHRleHQgZGF0YVxuICogICAgICB3aGljaCBpcyBvYnRhaW5lZCB2aWEgdGhlIENoYXJzZXREZXRlY3RvciBvYmplY3QuXG4gKlxuICogQHBhcmFtIGRldCAgVGhlIENoYXJzZXREZXRlY3Rvciwgd2hpY2ggY29udGFpbnMgdGhlIGlucHV0IHRleHRcbiAqICAgICAgICAgICAgIHRvIGJlIGNoZWNrZWQgZm9yIGJlaW5nIGluIHRoaXMgY2hhcnNldC5cbiAqIEByZXR1cm4gICAgIFR3byB2YWx1ZXMgcGFja2VkIGludG8gb25lIGludCAgKERhbW4gamF2YSwgYW55aG93KVxuICogICAgICAgICAgICAgYml0cyAwLTc6ICB0aGUgbWF0Y2ggY29uZmlkZW5jZSwgcmFuZ2luZyBmcm9tIDAtMTAwXG4gKiAgICAgICAgICAgICBiaXRzIDgtMTU6IFRoZSBtYXRjaCByZWFzb24sIGFuIGVudW0tbGlrZSB2YWx1ZS5cbiAqL1xubWJjcy5wcm90b3R5cGUubWF0Y2ggPSBmdW5jdGlvbihkZXQpIHtcblxuICB2YXIgc2luZ2xlQnl0ZUNoYXJDb3VudCA9IDAsICAvL1RPRE8gRG8gd2UgcmVhbGx5IG5lZWQgdGhpcz9cbiAgICBkb3VibGVCeXRlQ2hhckNvdW50ID0gMCxcbiAgICBjb21tb25DaGFyQ291bnQgICAgID0gMCxcbiAgICBiYWRDaGFyQ291bnQgICAgICAgID0gMCxcbiAgICB0b3RhbENoYXJDb3VudCAgICAgID0gMCxcbiAgICBjb25maWRlbmNlICAgICAgICAgID0gMDtcblxuICB2YXIgaXRlciA9IG5ldyBJdGVyYXRlZENoYXIoKTtcblxuICBkZXRlY3RCbG9jazoge1xuICAgIGZvciAoaXRlci5yZXNldCgpOyB0aGlzLm5leHRDaGFyKGl0ZXIsIGRldCk7KSB7XG4gICAgICB0b3RhbENoYXJDb3VudCsrO1xuICAgICAgaWYgKGl0ZXIuZXJyb3IpIHtcbiAgICAgICAgYmFkQ2hhckNvdW50Kys7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YXIgY3YgPSBpdGVyLmNoYXJWYWx1ZSAmIDB4RkZGRkZGRkY7XG5cbiAgICAgICAgaWYgKGN2IDw9IDB4ZmYpIHtcbiAgICAgICAgICBzaW5nbGVCeXRlQ2hhckNvdW50Kys7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZG91YmxlQnl0ZUNoYXJDb3VudCsrO1xuICAgICAgICAgIGlmICh0aGlzLmNvbW1vbkNoYXJzICE9IG51bGwpIHtcbiAgICAgICAgICAgIC8vIE5PVEU6IFRoaXMgYXNzdW1lcyB0aGF0IHRoZXJlIGFyZSBubyA0LWJ5dGUgY29tbW9uIGNoYXJzLlxuICAgICAgICAgICAgaWYgKGJpbmFyeVNlYXJjaCh0aGlzLmNvbW1vbkNoYXJzLCBjdikgPj0gMCkge1xuICAgICAgICAgICAgICBjb21tb25DaGFyQ291bnQrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChiYWRDaGFyQ291bnQgPj0gMiAmJiBiYWRDaGFyQ291bnQgKiA1ID49IGRvdWJsZUJ5dGVDaGFyQ291bnQpIHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2l0cyBoZXJlIScpXG4gICAgICAgIC8vIEJhaWwgb3V0IGVhcmx5IGlmIHRoZSBieXRlIGRhdGEgaXMgbm90IG1hdGNoaW5nIHRoZSBlbmNvZGluZyBzY2hlbWUuXG4gICAgICAgIGJyZWFrIGRldGVjdEJsb2NrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChkb3VibGVCeXRlQ2hhckNvdW50IDw9IDEwICYmIGJhZENoYXJDb3VudD09IDApIHtcbiAgICAgIC8vIE5vdCBtYW55IG11bHRpLWJ5dGUgY2hhcnMuXG4gICAgICBpZiAoZG91YmxlQnl0ZUNoYXJDb3VudCA9PSAwICYmIHRvdGFsQ2hhckNvdW50IDwgMTApIHtcbiAgICAgICAgLy8gVGhlcmUgd2VyZW4ndCBhbnkgbXVsdGlieXRlIHNlcXVlbmNlcywgYW5kIHRoZXJlIHdhcyBhIGxvdyBkZW5zaXR5IG9mIG5vbi1BU0NJSSBzaW5nbGUgYnl0ZXMuXG4gICAgICAgIC8vIFdlIGRvbid0IGhhdmUgZW5vdWdoIGRhdGEgdG8gaGF2ZSBhbnkgY29uZmlkZW5jZS5cbiAgICAgICAgLy8gU3RhdGlzdGljYWwgYW5hbHlzaXMgb2Ygc2luZ2xlIGJ5dGUgbm9uLUFTQ0lJIGNoYXJjdGVycyB3b3VsZCBwcm9iYWJseSBoZWxwIGhlcmUuXG4gICAgICAgIGNvbmZpZGVuY2UgPSAwO1xuICAgICAgfVxuICAgICAgZWxzZSB7XG4gICAgICAgIC8vICAgQVNDSUkgb3IgSVNPIGZpbGU/ICBJdCdzIHByb2JhYmx5IG5vdCBvdXIgZW5jb2RpbmcsXG4gICAgICAgIC8vICAgYnV0IGlzIG5vdCBpbmNvbXBhdGlibGUgd2l0aCBvdXIgZW5jb2RpbmcsIHNvIGRvbid0IGdpdmUgaXQgYSB6ZXJvLlxuICAgICAgICBjb25maWRlbmNlID0gMTA7XG4gICAgICB9XG4gICAgICBicmVhayBkZXRlY3RCbG9jaztcbiAgICB9XG5cbiAgICAvL1xuICAgIC8vICBObyBtYXRjaCBpZiB0aGVyZSBhcmUgdG9vIG1hbnkgY2hhcmFjdGVycyB0aGF0IGRvbid0IGZpdCB0aGUgZW5jb2Rpbmcgc2NoZW1lLlxuICAgIC8vICAgIChzaG91bGQgd2UgaGF2ZSB6ZXJvIHRvbGVyYW5jZSBmb3IgdGhlc2U/KVxuICAgIC8vXG4gICAgaWYgKGRvdWJsZUJ5dGVDaGFyQ291bnQgPCAyMCAqIGJhZENoYXJDb3VudCkge1xuICAgICAgY29uZmlkZW5jZSA9IDA7XG4gICAgICBicmVhayBkZXRlY3RCbG9jaztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jb21tb25DaGFycyA9PSBudWxsKSB7XG4gICAgICAvLyBXZSBoYXZlIG5vIHN0YXRpc3RpY3Mgb24gZnJlcXVlbnRseSBvY2N1cmluZyBjaGFyYWN0ZXJzLlxuICAgICAgLy8gIEFzc2VzcyBjb25maWRlbmNlIHB1cmVseSBvbiBoYXZpbmcgYSByZWFzb25hYmxlIG51bWJlciBvZlxuICAgICAgLy8gIG11bHRpLWJ5dGUgY2hhcmFjdGVycyAodGhlIG1vcmUgdGhlIGJldHRlclxuICAgICAgY29uZmlkZW5jZSA9IDMwICsgZG91YmxlQnl0ZUNoYXJDb3VudCAtIDIwICogYmFkQ2hhckNvdW50O1xuICAgICAgaWYgKGNvbmZpZGVuY2UgPiAxMDApIHtcbiAgICAgICAgY29uZmlkZW5jZSA9IDEwMDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgLy9cbiAgICAgIC8vIEZyZXF1ZW5jeSBvZiBvY2N1cmVuY2Ugc3RhdGlzdGljcyBleGlzdC5cbiAgICAgIC8vXG4gICAgICB2YXIgbWF4VmFsID0gTWF0aC5sb2cocGFyc2VGbG9hdChkb3VibGVCeXRlQ2hhckNvdW50KSAvIDQpO1xuICAgICAgdmFyIHNjYWxlRmFjdG9yID0gOTAuMCAvIG1heFZhbDtcbiAgICAgIGNvbmZpZGVuY2UgPSBNYXRoLmZsb29yKE1hdGgubG9nKGNvbW1vbkNoYXJDb3VudCArIDEpICogc2NhbGVGYWN0b3IgKyAxMCk7XG4gICAgICBjb25maWRlbmNlID0gTWF0aC5taW4oY29uZmlkZW5jZSwgMTAwKTtcbiAgICB9XG4gIH0gICAvLyBlbmQgb2YgZGV0ZWN0QmxvY2s6XG5cbiAgcmV0dXJuIGNvbmZpZGVuY2UgPT0gMCA/IG51bGwgOiBuZXcgTWF0Y2goZGV0LCB0aGlzLCBjb25maWRlbmNlKTtcbn07XG5cbi8qKlxuICogR2V0IHRoZSBuZXh0IGNoYXJhY3RlciAoaG93ZXZlciBtYW55IGJ5dGVzIGl0IGlzKSBmcm9tIHRoZSBpbnB1dCBkYXRhXG4gKiAgICBTdWJjbGFzc2VzIGZvciBzcGVjaWZpYyBjaGFyc2V0IGVuY29kaW5ncyBtdXN0IGltcGxlbWVudCB0aGlzIGZ1bmN0aW9uXG4gKiAgICB0byBnZXQgY2hhcmFjdGVycyBhY2NvcmRpbmcgdG8gdGhlIHJ1bGVzIG9mIHRoZWlyIGVuY29kaW5nIHNjaGVtZS5cbiAqXG4gKiAgVGhpcyBmdW5jdGlvbiBpcyBub3QgYSBtZXRob2Qgb2YgY2xhc3MgaXRlcmF0ZWRDaGFyIG9ubHkgYmVjYXVzZVxuICogICB0aGF0IHdvdWxkIHJlcXVpcmUgYSBsb3Qgb2YgZXh0cmEgZGVyaXZlZCBjbGFzc2VzLCB3aGljaCBpcyBhd2t3YXJkLlxuICogQHBhcmFtIGl0ICBUaGUgaXRlcmF0ZWRDaGFyICdzdHJ1Y3QnIGludG8gd2hpY2ggdGhlIHJldHVybmVkIGNoYXIgaXMgcGxhY2VkLlxuICogQHBhcmFtIGRldCBUaGUgY2hhcnNldCBkZXRlY3Rvciwgd2hpY2ggaXMgbmVlZGVkIHRvIGdldCBhdCB0aGUgaW5wdXQgYnl0ZSBkYXRhXG4gKiAgICAgICAgICAgIGJlaW5nIGl0ZXJhdGVkIG92ZXIuXG4gKiBAcmV0dXJuICAgIFRydWUgaWYgYSBjaGFyYWN0ZXIgd2FzIHJldHVybmVkLCBmYWxzZSBhdCBlbmQgb2YgaW5wdXQuXG4gKi9cblxubWJjcy5wcm90b3R5cGUubmV4dENoYXIgPSBmdW5jdGlvbihpdGVyLCBkZXQpIHt9O1xuXG5cblxuLyoqXG4gKiBTaGlmdC1KSVMgY2hhcnNldCByZWNvZ25pemVyLlxuICovXG5tb2R1bGUuZXhwb3J0cy5zamlzID0gZnVuY3Rpb24oKSB7XG4gIHRoaXMubmFtZSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnU2hpZnQtSklTJztcbiAgfTtcbiAgdGhpcy5sYW5ndWFnZSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnamEnO1xuICB9O1xuXG4gIC8vIFRPRE86ICBUaGlzIHNldCBvZiBkYXRhIGNvbWVzIGZyb20gdGhlIGNoYXJhY3RlciBmcmVxdWVuY3ktXG4gIC8vICAgICAgICBvZi1vY2N1cmVuY2UgYW5hbHlzaXMgdG9vbC4gIFRoZSBkYXRhIG5lZWRzIHRvIGJlIG1vdmVkXG4gIC8vICAgICAgICBpbnRvIGEgcmVzb3VyY2UgYW5kIGxvYWRlZCBmcm9tIHRoZXJlLlxuICB0aGlzLmNvbW1vbkNoYXJzID0gW1xuICAgIDB4ODE0MCwgMHg4MTQxLCAweDgxNDIsIDB4ODE0NSwgMHg4MTViLCAweDgxNjksIDB4ODE2YSwgMHg4MTc1LCAweDgxNzYsIDB4ODJhMCxcbiAgICAweDgyYTIsIDB4ODJhNCwgMHg4MmE5LCAweDgyYWEsIDB4ODJhYiwgMHg4MmFkLCAweDgyYWYsIDB4ODJiMSwgMHg4MmIzLCAweDgyYjUsXG4gICAgMHg4MmI3LCAweDgyYmQsIDB4ODJiZSwgMHg4MmMxLCAweDgyYzQsIDB4ODJjNSwgMHg4MmM2LCAweDgyYzgsIDB4ODJjOSwgMHg4MmNjLFxuICAgIDB4ODJjZCwgMHg4MmRjLCAweDgyZTAsIDB4ODJlNywgMHg4MmU4LCAweDgyZTksIDB4ODJlYSwgMHg4MmYwLCAweDgyZjEsIDB4ODM0MSxcbiAgICAweDgzNDMsIDB4ODM0ZSwgMHg4MzRmLCAweDgzNTgsIDB4ODM1ZSwgMHg4MzYyLCAweDgzNjcsIDB4ODM3NSwgMHg4Mzc2LCAweDgzODksXG4gICAgMHg4MzhhLCAweDgzOGIsIDB4ODM4ZCwgMHg4MzkzLCAweDhlOTYsIDB4OTNmYSwgMHg5NWFhXG4gIF07XG5cbiAgdGhpcy5uZXh0Q2hhciA9IGZ1bmN0aW9uKGl0ZXIsIGRldCkge1xuICAgIGl0ZXIuaW5kZXggPSBpdGVyLm5leHRJbmRleDtcbiAgICBpdGVyLmVycm9yID0gZmFsc2U7XG5cbiAgICB2YXIgZmlyc3RCeXRlO1xuICAgIGZpcnN0Qnl0ZSA9IGl0ZXIuY2hhclZhbHVlID0gaXRlci5uZXh0Qnl0ZShkZXQpO1xuICAgIGlmIChmaXJzdEJ5dGUgPCAwKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgaWYgKGZpcnN0Qnl0ZSA8PSAweDdmIHx8IChmaXJzdEJ5dGUgPiAweGEwICYmIGZpcnN0Qnl0ZSA8PSAweGRmKSlcbiAgICAgIHJldHVybiB0cnVlO1xuXG4gICAgdmFyIHNlY29uZEJ5dGUgPSBpdGVyLm5leHRCeXRlKGRldCk7XG4gICAgaWYgKHNlY29uZEJ5dGUgPCAwKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgaXRlci5jaGFyVmFsdWUgPSAoZmlyc3RCeXRlIDw8IDgpIHwgc2Vjb25kQnl0ZTtcbiAgICBpZiAoISAoKHNlY29uZEJ5dGUgPj0gMHg0MCAmJiBzZWNvbmRCeXRlIDw9IDB4N2YpIHx8IChzZWNvbmRCeXRlID49IDB4ODAgJiYgc2Vjb25kQnl0ZSA8PSAweGZmKSkpIHtcbiAgICAgIC8vIElsbGVnYWwgc2Vjb25kIGJ5dGUgdmFsdWUuXG4gICAgICBpdGVyLmVycm9yID0gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH07XG59O1xudXRpbC5pbmhlcml0cyhtb2R1bGUuZXhwb3J0cy5zamlzLCBtYmNzKTtcblxuXG5cbi8qKlxuICogICBCaWc1IGNoYXJzZXQgcmVjb2duaXplci5cbiAqL1xubW9kdWxlLmV4cG9ydHMuYmlnNSA9IGZ1bmN0aW9uKCkge1xuICB0aGlzLm5hbWUgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ0JpZzUnO1xuICB9O1xuICB0aGlzLmxhbmd1YWdlID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICd6aCc7XG4gIH07XG4gIC8vIFRPRE86ICBUaGlzIHNldCBvZiBkYXRhIGNvbWVzIGZyb20gdGhlIGNoYXJhY3RlciBmcmVxdWVuY3ktXG4gIC8vICAgICAgICBvZi1vY2N1cmVuY2UgYW5hbHlzaXMgdG9vbC4gIFRoZSBkYXRhIG5lZWRzIHRvIGJlIG1vdmVkXG4gIC8vICAgICAgICBpbnRvIGEgcmVzb3VyY2UgYW5kIGxvYWRlZCBmcm9tIHRoZXJlLlxuICB0aGlzLmNvbW1vbkNoYXJzID0gW1xuICAgIDB4YTE0MCwgMHhhMTQxLCAweGExNDIsIDB4YTE0MywgMHhhMTQ3LCAweGExNDksIDB4YTE3NSwgMHhhMTc2LCAweGE0NDAsIDB4YTQ0NixcbiAgICAweGE0NDcsIDB4YTQ0OCwgMHhhNDUxLCAweGE0NTQsIDB4YTQ1NywgMHhhNDY0LCAweGE0NmEsIDB4YTQ2YywgMHhhNDc3LCAweGE0YTMsXG4gICAgMHhhNGE0LCAweGE0YTcsIDB4YTRjMSwgMHhhNGNlLCAweGE0ZDEsIDB4YTRkZiwgMHhhNGU4LCAweGE0ZmQsIDB4YTU0MCwgMHhhNTQ4LFxuICAgIDB4YTU1OCwgMHhhNTY5LCAweGE1Y2QsIDB4YTVlNywgMHhhNjU3LCAweGE2NjEsIDB4YTY2MiwgMHhhNjY4LCAweGE2NzAsIDB4YTZhOCxcbiAgICAweGE2YjMsIDB4YTZiOSwgMHhhNmQzLCAweGE2ZGIsIDB4YTZlNiwgMHhhNmYyLCAweGE3NDAsIDB4YTc1MSwgMHhhNzU5LCAweGE3ZGEsXG4gICAgMHhhOGEzLCAweGE4YTUsIDB4YThhZCwgMHhhOGQxLCAweGE4ZDMsIDB4YThlNCwgMHhhOGZjLCAweGE5YzAsIDB4YTlkMiwgMHhhOWYzLFxuICAgIDB4YWE2YiwgMHhhYWJhLCAweGFhYmUsIDB4YWFjYywgMHhhYWZjLCAweGFjNDcsIDB4YWM0ZiwgMHhhY2IwLCAweGFjZDIsIDB4YWQ1OSxcbiAgICAweGFlYzksIDB4YWZlMCwgMHhiMGVhLCAweGIxNmYsIDB4YjJiMywgMHhiMmM0LCAweGIzNmYsIDB4YjQ0YywgMHhiNDRlLCAweGI1NGMsXG4gICAgMHhiNWE1LCAweGI1YmQsIDB4YjVkMCwgMHhiNWQ4LCAweGI2NzEsIDB4YjdlZCwgMHhiODY3LCAweGI5NDQsIDB4YmFkOCwgMHhiYjQ0LFxuICAgIDB4YmJhMSwgMHhiZGQxLCAweGMyYzQsIDB4YzNiOSwgMHhjNDQwLCAweGM0NWZcbiAgXTtcbiAgdGhpcy5uZXh0Q2hhciA9IGZ1bmN0aW9uKGl0ZXIsIGRldCkge1xuICAgIGl0ZXIuaW5kZXggPSBpdGVyLm5leHRJbmRleDtcbiAgICBpdGVyLmVycm9yID0gZmFsc2U7XG5cbiAgICB2YXIgZmlyc3RCeXRlID0gaXRlci5jaGFyVmFsdWUgPSBpdGVyLm5leHRCeXRlKGRldCk7XG5cbiAgICBpZiAoZmlyc3RCeXRlIDwgMClcbiAgICAgIHJldHVybiBmYWxzZTtcblxuICAgIC8vIHNpbmdsZSBieXRlIGNoYXJhY3Rlci5cbiAgICBpZiAoZmlyc3RCeXRlIDw9IDB4N2YgfHwgZmlyc3RCeXRlID09IDB4ZmYpXG4gICAgICByZXR1cm4gdHJ1ZTtcblxuICAgIHZhciBzZWNvbmRCeXRlID0gaXRlci5uZXh0Qnl0ZShkZXQpO1xuXG4gICAgaWYgKHNlY29uZEJ5dGUgPCAwKVxuICAgICAgcmV0dXJuIGZhbHNlO1xuXG4gICAgaXRlci5jaGFyVmFsdWUgPSAoaXRlci5jaGFyVmFsdWUgPDwgOCkgfCBzZWNvbmRCeXRlO1xuXG4gICAgaWYgKHNlY29uZEJ5dGUgPCAweDQwIHx8IHNlY29uZEJ5dGUgPT0gMHg3ZiB8fCBzZWNvbmRCeXRlID09IDB4ZmYpXG4gICAgICBpdGVyLmVycm9yID0gdHJ1ZTtcblxuICAgIHJldHVybiB0cnVlO1xuICB9O1xufTtcbnV0aWwuaW5oZXJpdHMobW9kdWxlLmV4cG9ydHMuYmlnNSwgbWJjcyk7XG5cblxuXG4vKipcbiAqICBFVUMgY2hhcnNldCByZWNvZ25pemVycy4gIE9uZSBhYnN0cmFjdCBjbGFzcyB0aGF0IHByb3ZpZGVzIHRoZSBjb21tb24gZnVuY3Rpb25cbiAqICBmb3IgZ2V0dGluZyB0aGUgbmV4dCBjaGFyYWN0ZXIgYWNjb3JkaW5nIHRvIHRoZSBFVUMgZW5jb2Rpbmcgc2NoZW1lLFxuICogIGFuZCBuZXN0ZWQgZGVyaXZlZCBjbGFzc2VzIGZvciBFVUNfS1IsIEVVQ19KUCwgRVVDX0NOLlxuICpcbiAqICBHZXQgdGhlIG5leHQgY2hhcmFjdGVyIHZhbHVlIGZvciBFVUMgYmFzZWQgZW5jb2RpbmdzLlxuICogIENoYXJhY3RlciAndmFsdWUnIGlzIHNpbXBseSB0aGUgcmF3IGJ5dGVzIHRoYXQgbWFrZSB1cCB0aGUgY2hhcmFjdGVyXG4gKiAgICAgcGFja2VkIGludG8gYW4gaW50LlxuICovXG5mdW5jdGlvbiBldWNOZXh0Q2hhcihpdGVyLCBkZXQpIHtcbiAgaXRlci5pbmRleCA9IGl0ZXIubmV4dEluZGV4O1xuICBpdGVyLmVycm9yID0gZmFsc2U7XG4gIHZhciBmaXJzdEJ5dGUgID0gMDtcbiAgdmFyIHNlY29uZEJ5dGUgPSAwO1xuICB2YXIgdGhpcmRCeXRlICA9IDA7XG4gIC8vaW50IGZvdXJ0aEJ5dGUgPSAwO1xuICBidWlsZENoYXI6IHtcbiAgICBmaXJzdEJ5dGUgPSBpdGVyLmNoYXJWYWx1ZSA9IGl0ZXIubmV4dEJ5dGUoZGV0KTtcbiAgICBpZiAoZmlyc3RCeXRlIDwgMCkge1xuICAgICAgLy8gUmFuIG9mZiB0aGUgZW5kIG9mIHRoZSBpbnB1dCBkYXRhXG4gICAgICBpdGVyLmRvbmUgPSB0cnVlO1xuICAgICAgYnJlYWsgYnVpbGRDaGFyO1xuICAgIH1cbiAgICBpZiAoZmlyc3RCeXRlIDw9IDB4OGQpIHtcbiAgICAgIC8vIHNpbmdsZSBieXRlIGNoYXJcbiAgICAgIGJyZWFrIGJ1aWxkQ2hhcjtcbiAgICB9XG4gICAgc2Vjb25kQnl0ZSA9IGl0ZXIubmV4dEJ5dGUoZGV0KTtcbiAgICBpdGVyLmNoYXJWYWx1ZSA9IChpdGVyLmNoYXJWYWx1ZSA8PCA4KSB8IHNlY29uZEJ5dGU7XG4gICAgaWYgKGZpcnN0Qnl0ZSA+PSAweEExICYmIGZpcnN0Qnl0ZSA8PSAweGZlKSB7XG4gICAgICAvLyBUd28gYnl0ZSBDaGFyXG4gICAgICBpZiAoc2Vjb25kQnl0ZSA8IDB4YTEpIHtcbiAgICAgICAgaXRlci5lcnJvciA9IHRydWU7XG4gICAgICB9XG4gICAgICBicmVhayBidWlsZENoYXI7XG4gICAgfVxuICAgIGlmIChmaXJzdEJ5dGUgPT0gMHg4ZSkge1xuICAgICAgLy8gQ29kZSBTZXQgMi5cbiAgICAgIC8vICAgSW4gRVVDLUpQLCB0b3RhbCBjaGFyIHNpemUgaXMgMiBieXRlcywgb25seSBvbmUgYnl0ZSBvZiBhY3R1YWwgY2hhciB2YWx1ZS5cbiAgICAgIC8vICAgSW4gRVVDLVRXLCB0b3RhbCBjaGFyIHNpemUgaXMgNCBieXRlcywgdGhyZWUgYnl0ZXMgY29udHJpYnV0ZSB0byBjaGFyIHZhbHVlLlxuICAgICAgLy8gV2UgZG9uJ3Qga25vdyB3aGljaCB3ZSd2ZSBnb3QuXG4gICAgICAvLyBUcmVhdCBpdCBsaWtlIEVVQy1KUC4gIElmIHRoZSBkYXRhIHJlYWxseSB3YXMgRVVDLVRXLCB0aGUgZm9sbG93aW5nIHR3b1xuICAgICAgLy8gICBieXRlcyB3aWxsIGxvb2sgbGlrZSBhIHdlbGwgZm9ybWVkIDIgYnl0ZSBjaGFyLlxuICAgICAgaWYgKHNlY29uZEJ5dGUgPCAweGExKSB7XG4gICAgICAgIGl0ZXIuZXJyb3IgPSB0cnVlO1xuICAgICAgfVxuICAgICAgYnJlYWsgYnVpbGRDaGFyO1xuICAgIH1cbiAgICBpZiAoZmlyc3RCeXRlID09IDB4OGYpIHtcbiAgICAgIC8vIENvZGUgc2V0IDMuXG4gICAgICAvLyBUaHJlZSBieXRlIHRvdGFsIGNoYXIgc2l6ZSwgdHdvIGJ5dGVzIG9mIGFjdHVhbCBjaGFyIHZhbHVlLlxuICAgICAgdGhpcmRCeXRlID0gaXRlci5uZXh0Qnl0ZShkZXQpO1xuICAgICAgaXRlci5jaGFyVmFsdWUgPSAoaXRlci5jaGFyVmFsdWUgPDwgOCkgfCB0aGlyZEJ5dGU7XG4gICAgICBpZiAodGhpcmRCeXRlIDwgMHhhMSkge1xuICAgICAgICBpdGVyLmVycm9yID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIGl0ZXIuZG9uZSA9PSBmYWxzZTtcbn07XG5cblxuXG4vKipcbiAqIFRoZSBjaGFyc2V0IHJlY29nbml6ZSBmb3IgRVVDLUpQLiAgQSBzaW5nbGV0b24gaW5zdGFuY2Ugb2YgdGhpcyBjbGFzc1xuICogICAgaXMgY3JlYXRlZCBhbmQga2VwdCBieSB0aGUgcHVibGljIENoYXJzZXREZXRlY3RvciBjbGFzc1xuICovXG5tb2R1bGUuZXhwb3J0cy5ldWNfanAgPSBmdW5jdGlvbigpIHtcbiAgdGhpcy5uYW1lID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdFVUMtSlAnO1xuICB9O1xuICB0aGlzLmxhbmd1YWdlID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdqYSc7XG4gIH07XG5cbiAgLy8gVE9ETzogIFRoaXMgc2V0IG9mIGRhdGEgY29tZXMgZnJvbSB0aGUgY2hhcmFjdGVyIGZyZXF1ZW5jeS1cbiAgLy8gICAgICAgIG9mLW9jY3VyZW5jZSBhbmFseXNpcyB0b29sLiAgVGhlIGRhdGEgbmVlZHMgdG8gYmUgbW92ZWRcbiAgLy8gICAgICAgIGludG8gYSByZXNvdXJjZSBhbmQgbG9hZGVkIGZyb20gdGhlcmUuXG4gIHRoaXMuY29tbW9uQ2hhcnMgPSBbXG4gICAgMHhhMWExLCAweGExYTIsIDB4YTFhMywgMHhhMWE2LCAweGExYmMsIDB4YTFjYSwgMHhhMWNiLCAweGExZDYsIDB4YTFkNywgMHhhNGEyLFxuICAgIDB4YTRhNCwgMHhhNGE2LCAweGE0YTgsIDB4YTRhYSwgMHhhNGFiLCAweGE0YWMsIDB4YTRhZCwgMHhhNGFmLCAweGE0YjEsIDB4YTRiMyxcbiAgICAweGE0YjUsIDB4YTRiNywgMHhhNGI5LCAweGE0YmIsIDB4YTRiZCwgMHhhNGJmLCAweGE0YzAsIDB4YTRjMSwgMHhhNGMzLCAweGE0YzQsXG4gICAgMHhhNGM2LCAweGE0YzcsIDB4YTRjOCwgMHhhNGM5LCAweGE0Y2EsIDB4YTRjYiwgMHhhNGNlLCAweGE0Y2YsIDB4YTRkMCwgMHhhNGRlLFxuICAgIDB4YTRkZiwgMHhhNGUxLCAweGE0ZTIsIDB4YTRlNCwgMHhhNGU4LCAweGE0ZTksIDB4YTRlYSwgMHhhNGViLCAweGE0ZWMsIDB4YTRlZixcbiAgICAweGE0ZjIsIDB4YTRmMywgMHhhNWEyLCAweGE1YTMsIDB4YTVhNCwgMHhhNWE2LCAweGE1YTcsIDB4YTVhYSwgMHhhNWFkLCAweGE1YWYsXG4gICAgMHhhNWIwLCAweGE1YjMsIDB4YTViNSwgMHhhNWI3LCAweGE1YjgsIDB4YTViOSwgMHhhNWJmLCAweGE1YzMsIDB4YTVjNiwgMHhhNWM3LFxuICAgIDB4YTVjOCwgMHhhNWM5LCAweGE1Y2IsIDB4YTVkMCwgMHhhNWQ1LCAweGE1ZDYsIDB4YTVkNywgMHhhNWRlLCAweGE1ZTAsIDB4YTVlMSxcbiAgICAweGE1ZTUsIDB4YTVlOSwgMHhhNWVhLCAweGE1ZWIsIDB4YTVlYywgMHhhNWVkLCAweGE1ZjMsIDB4YjhhOSwgMHhiOWQ0LCAweGJhZWUsXG4gICAgMHhiYmM4LCAweGJlZjAsIDB4YmZiNywgMHhjNGVhLCAweGM2ZmMsIDB4YzdiZCwgMHhjYWI4LCAweGNhZjMsIDB4Y2JkYywgMHhjZGQxXG4gIF07XG5cbiAgdGhpcy5uZXh0Q2hhciA9IGV1Y05leHRDaGFyO1xufTtcbnV0aWwuaW5oZXJpdHMobW9kdWxlLmV4cG9ydHMuZXVjX2pwLCBtYmNzKTtcblxuXG5cbi8qKlxuICogVGhlIGNoYXJzZXQgcmVjb2duaXplIGZvciBFVUMtS1IuICBBIHNpbmdsZXRvbiBpbnN0YW5jZSBvZiB0aGlzIGNsYXNzXG4gKiAgICBpcyBjcmVhdGVkIGFuZCBrZXB0IGJ5IHRoZSBwdWJsaWMgQ2hhcnNldERldGVjdG9yIGNsYXNzXG4gKi9cbm1vZHVsZS5leHBvcnRzLmV1Y19rciA9IGZ1bmN0aW9uKCkge1xuICB0aGlzLm5hbWUgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ0VVQy1LUic7XG4gIH07XG4gIHRoaXMubGFuZ3VhZ2UgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ2tvJztcbiAgfTtcblxuICAvLyBUT0RPOiAgVGhpcyBzZXQgb2YgZGF0YSBjb21lcyBmcm9tIHRoZSBjaGFyYWN0ZXIgZnJlcXVlbmN5LVxuICAvLyAgICAgICAgb2Ytb2NjdXJlbmNlIGFuYWx5c2lzIHRvb2wuICBUaGUgZGF0YSBuZWVkcyB0byBiZSBtb3ZlZFxuICAvLyAgICAgICAgaW50byBhIHJlc291cmNlIGFuZCBsb2FkZWQgZnJvbSB0aGVyZS5cbiAgdGhpcy5jb21tb25DaGFycyA9IFtcbiAgICAweGIwYTEsIDB4YjBiMywgMHhiMGM1LCAweGIwY2QsIDB4YjBkNCwgMHhiMGU2LCAweGIwZWQsIDB4YjBmOCwgMHhiMGZhLCAweGIwZmMsXG4gICAgMHhiMWI4LCAweGIxYjksIDB4YjFjNywgMHhiMWQ3LCAweGIxZTIsIDB4YjNhYSwgMHhiM2JiLCAweGI0YzIsIDB4YjRjZiwgMHhiNGQ5LFxuICAgIDB4YjRlYiwgMHhiNWE1LCAweGI1YjUsIDB4YjViZiwgMHhiNWM3LCAweGI1ZTksIDB4YjZmMywgMHhiN2FmLCAweGI3YzIsIDB4YjdjZSxcbiAgICAweGI4YTYsIDB4YjhhZSwgMHhiOGI2LCAweGI4YjgsIDB4YjhiYiwgMHhiOGU5LCAweGI5YWIsIDB4YjlhZSwgMHhiOWNjLCAweGI5Y2UsXG4gICAgMHhiOWZkLCAweGJhYjgsIDB4YmFjZSwgMHhiYWQwLCAweGJhZjEsIDB4YmJlNywgMHhiYmYzLCAweGJiZmQsIDB4YmNhZCwgMHhiY2JhLFxuICAgIDB4YmNkMiwgMHhiY2Y2LCAweGJkYmEsIDB4YmRjMCwgMHhiZGMzLCAweGJkYzUsIDB4YmVjNiwgMHhiZWM4LCAweGJlZGYsIDB4YmVlZSxcbiAgICAweGJlZjgsIDB4YmVmYSwgMHhiZmExLCAweGJmYTksIDB4YmZjMCwgMHhiZmU0LCAweGJmZWIsIDB4YmZlYywgMHhiZmY4LCAweGMwYTcsXG4gICAgMHhjMGFmLCAweGMwYjgsIDB4YzBiYSwgMHhjMGJiLCAweGMwYmQsIDB4YzBjNywgMHhjMGNjLCAweGMwY2UsIDB4YzBjZiwgMHhjMGQ2LFxuICAgIDB4YzBkYSwgMHhjMGU1LCAweGMwZmIsIDB4YzBmYywgMHhjMWE0LCAweGMxYTYsIDB4YzFiNiwgMHhjMWQ2LCAweGMxZGYsIDB4YzFmNixcbiAgICAweGMxZjgsIDB4YzRhMSwgMHhjNWNkLCAweGM2YWUsIDB4YzdjZiwgMHhjN2QxLCAweGM3ZDIsIDB4YzdkOCwgMHhjN2U1LCAweGM4YWRcbiAgXTtcblxuICB0aGlzLm5leHRDaGFyID0gZXVjTmV4dENoYXI7XG59O1xudXRpbC5pbmhlcml0cyhtb2R1bGUuZXhwb3J0cy5ldWNfa3IsIG1iY3MpO1xuXG5cblxuLyoqXG4gKiAgIEdCLTE4MDMwIHJlY29nbml6ZXIuIFVzZXMgc2ltcGxpZmllZCBDaGluZXNlIHN0YXRpc3RpY3MuXG4gKi9cbm1vZHVsZS5leHBvcnRzLmdiXzE4MDMwID0gZnVuY3Rpb24oKSB7XG4gIHRoaXMubmFtZSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnR0IxODAzMCc7XG4gIH07XG4gIHRoaXMubGFuZ3VhZ2UgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ3poJztcbiAgfTtcblxuICAvKlxuICAgKiAgR2V0IHRoZSBuZXh0IGNoYXJhY3RlciB2YWx1ZSBmb3IgRVVDIGJhc2VkIGVuY29kaW5ncy5cbiAgICogIENoYXJhY3RlciAndmFsdWUnIGlzIHNpbXBseSB0aGUgcmF3IGJ5dGVzIHRoYXQgbWFrZSB1cCB0aGUgY2hhcmFjdGVyXG4gICAqICAgICBwYWNrZWQgaW50byBhbiBpbnQuXG4gICAqL1xuICB0aGlzLm5leHRDaGFyID0gZnVuY3Rpb24oaXRlciwgZGV0KSB7XG4gICAgaXRlci5pbmRleCA9IGl0ZXIubmV4dEluZGV4O1xuICAgIGl0ZXIuZXJyb3IgPSBmYWxzZTtcbiAgICB2YXIgZmlyc3RCeXRlICA9IDA7XG4gICAgdmFyIHNlY29uZEJ5dGUgPSAwO1xuICAgIHZhciB0aGlyZEJ5dGUgID0gMDtcbiAgICB2YXIgZm91cnRoQnl0ZSA9IDA7XG4gICAgYnVpbGRDaGFyOiB7XG4gICAgICBmaXJzdEJ5dGUgPSBpdGVyLmNoYXJWYWx1ZSA9IGl0ZXIubmV4dEJ5dGUoZGV0KTtcbiAgICAgIGlmIChmaXJzdEJ5dGUgPCAwKSB7XG4gICAgICAgIC8vIFJhbiBvZmYgdGhlIGVuZCBvZiB0aGUgaW5wdXQgZGF0YVxuICAgICAgICBpdGVyLmRvbmUgPSB0cnVlO1xuICAgICAgICBicmVhayBidWlsZENoYXI7XG4gICAgICB9XG4gICAgICBpZiAoZmlyc3RCeXRlIDw9IDB4ODApIHtcbiAgICAgICAgLy8gc2luZ2xlIGJ5dGUgY2hhclxuICAgICAgICBicmVhayBidWlsZENoYXI7XG4gICAgICB9XG4gICAgICBzZWNvbmRCeXRlID0gaXRlci5uZXh0Qnl0ZShkZXQpO1xuICAgICAgaXRlci5jaGFyVmFsdWUgPSAoaXRlci5jaGFyVmFsdWUgPDwgOCkgfCBzZWNvbmRCeXRlO1xuICAgICAgaWYgKGZpcnN0Qnl0ZSA+PSAweDgxICYmIGZpcnN0Qnl0ZSA8PSAweEZFKSB7XG4gICAgICAgIC8vIFR3byBieXRlIENoYXJcbiAgICAgICAgaWYgKChzZWNvbmRCeXRlID49IDB4NDAgJiYgc2Vjb25kQnl0ZSA8PSAweDdFKSB8fCAoc2Vjb25kQnl0ZSA+PTgwICYmIHNlY29uZEJ5dGUgPD0gMHhGRSkpIHtcbiAgICAgICAgICBicmVhayBidWlsZENoYXI7XG4gICAgICAgIH1cbiAgICAgICAgLy8gRm91ciBieXRlIGNoYXJcbiAgICAgICAgaWYgKHNlY29uZEJ5dGUgPj0gMHgzMCAmJiBzZWNvbmRCeXRlIDw9IDB4MzkpIHtcbiAgICAgICAgICB0aGlyZEJ5dGUgPSBpdGVyLm5leHRCeXRlKGRldCk7XG4gICAgICAgICAgaWYgKHRoaXJkQnl0ZSA+PSAweDgxICYmIHRoaXJkQnl0ZSA8PSAweEZFKSB7XG4gICAgICAgICAgICBmb3VydGhCeXRlID0gaXRlci5uZXh0Qnl0ZShkZXQpO1xuICAgICAgICAgICAgaWYgKGZvdXJ0aEJ5dGUgPj0gMHgzMCAmJiBmb3VydGhCeXRlIDw9IDB4MzkpIHtcbiAgICAgICAgICAgICAgaXRlci5jaGFyVmFsdWUgPSAoaXRlci5jaGFyVmFsdWUgPDwgMTYpIHwgKHRoaXJkQnl0ZSA8PCA4KSB8IGZvdXJ0aEJ5dGU7XG4gICAgICAgICAgICAgIGJyZWFrIGJ1aWxkQ2hhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaXRlci5lcnJvciA9IHRydWU7XG4gICAgICAgIGJyZWFrIGJ1aWxkQ2hhcjtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGl0ZXIuZG9uZSA9PSBmYWxzZTtcbiAgfTtcblxuICAvLyBUT0RPOiAgVGhpcyBzZXQgb2YgZGF0YSBjb21lcyBmcm9tIHRoZSBjaGFyYWN0ZXIgZnJlcXVlbmN5LVxuICAvLyAgICAgICAgb2Ytb2NjdXJlbmNlIGFuYWx5c2lzIHRvb2wuICBUaGUgZGF0YSBuZWVkcyB0byBiZSBtb3ZlZFxuICAvLyAgICAgICAgaW50byBhIHJlc291cmNlIGFuZCBsb2FkZWQgZnJvbSB0aGVyZS5cbiAgdGhpcy5jb21tb25DaGFycyA9IFtcbiAgICAweGExYTEsIDB4YTFhMiwgMHhhMWEzLCAweGExYTQsIDB4YTFiMCwgMHhhMWIxLCAweGExZjEsIDB4YTFmMywgMHhhM2ExLCAweGEzYWMsXG4gICAgMHhhM2JhLCAweGIxYTgsIDB4YjFiOCwgMHhiMWJlLCAweGIyYmIsIDB4YjNjOSwgMHhiM2Y2LCAweGI0ZjMsIDB4YjViZCwgMHhiNWM0LFxuICAgIDB4YjVlMywgMHhiNmFmLCAweGI2ZDQsIDB4YjZlMCwgMHhiN2EyLCAweGI3YTgsIDB4YjdiZCwgMHhiN2Q2LCAweGI3ZGQsIDB4YjhiNCxcbiAgICAweGI4ZGYsIDB4YjhmNiwgMHhiOWFiLCAweGI5YzksIDB4YjlkOCwgMHhiOWZhLCAweGI5ZmQsIDB4YmFjZCwgMHhiYmE3LCAweGJiZDYsXG4gICAgMHhiYmUxLCAweGJiZmEsIDB4YmNiYywgMHhiY2RiLCAweGJjZmUsIDB4YmRjYywgMHhiZWNkLCAweGJlZGQsIDB4YmZiNCwgMHhiZmM2LFxuICAgIDB4YmZjOSwgMHhjMGI0LCAweGMwZWQsIDB4YzFjYiwgMHhjMmRiLCAweGMzYzcsIDB4YzRkYywgMHhjNGVhLCAweGM1Y2MsIDB4YzZmNyxcbiAgICAweGM3ZjgsIDB4YzhhYiwgMHhjOGNiLCAweGM4ZDUsIDB4YzhlNywgMHhjOWNmLCAweGM5ZmEsIDB4Y2FiMSwgMHhjYWI1LCAweGNhYzcsXG4gICAgMHhjYWQwLCAweGNhZDYsIDB4Y2FmNSwgMHhjYWZkLCAweGNjZWMsIDB4Y2RmOCwgMHhjZWFhLCAweGNlYzQsIDB4Y2VkMiwgMHhjZWU1LFxuICAgIDB4Y2ZiNSwgMHhjZmMyLCAweGNmZDYsIDB4ZDBjMiwgMHhkMGM1LCAweGQwZDAsIDB4ZDBkNCwgMHhkMWE3LCAweGQyYWEsIDB4ZDJiMixcbiAgICAweGQyYjUsIDB4ZDJiYiwgMHhkMmQ0LCAweGQzYzMsIDB4ZDNkMCwgMHhkM2ZkLCAweGQ0YzIsIDB4ZDRkYSwgMHhkNWUyLCAweGQ2ZDBcbiAgXTtcbn07XG51dGlsLmluaGVyaXRzKG1vZHVsZS5leHBvcnRzLmdiXzE4MDMwLCBtYmNzKTtcbiIsICJ2YXIgdXRpbCA9IHJlcXVpcmUoJ3V0aWwnKSxcbiAgTWF0Y2ggPSByZXF1aXJlICgnLi4vbWF0Y2gnKTtcblxuLyoqXG4gKiBUaGlzIGNsYXNzIHJlY29nbml6ZXMgc2luZ2xlLWJ5dGUgZW5jb2RpbmdzLiBCZWNhdXNlIHRoZSBlbmNvZGluZyBzY2hlbWUgaXMgc29cbiAqIHNpbXBsZSwgbGFuZ3VhZ2Ugc3RhdGlzdGljcyBhcmUgdXNlZCB0byBkbyB0aGUgbWF0Y2hpbmcuXG4gKi9cblxuZnVuY3Rpb24gTkdyYW1QYXJzZXIodGhlTmdyYW1MaXN0LCB0aGVCeXRlTWFwKSB7XG4gIHZhciBOX0dSQU1fTUFTSyA9IDB4RkZGRkZGO1xuXG4gIHRoaXMuYnl0ZUluZGV4ID0gMDtcbiAgdGhpcy5uZ3JhbSA9IDA7XG5cbiAgdGhpcy5uZ3JhbUxpc3QgPSB0aGVOZ3JhbUxpc3Q7XG4gIHRoaXMuYnl0ZU1hcCA9IHRoZUJ5dGVNYXA7XG5cbiAgdGhpcy5uZ3JhbUNvdW50ID0gMDtcbiAgdGhpcy5oaXRDb3VudCA9IDA7XG5cbiAgdGhpcy5zcGFjZUNoYXI7XG5cbiAgLypcbiAgICogQmluYXJ5IHNlYXJjaCBmb3IgdmFsdWUgaW4gdGFibGUsIHdoaWNoIG11c3QgaGF2ZSBleGFjdGx5IDY0IGVudHJpZXMuXG4gICAqL1xuICB0aGlzLnNlYXJjaCA9IGZ1bmN0aW9uKHRhYmxlLCB2YWx1ZSkge1xuICAgIHZhciBpbmRleCA9IDA7XG5cbiAgICBpZiAodGFibGVbaW5kZXggKyAzMl0gPD0gdmFsdWUpIGluZGV4ICs9IDMyO1xuICAgIGlmICh0YWJsZVtpbmRleCArIDE2XSA8PSB2YWx1ZSkgaW5kZXggKz0gMTY7XG4gICAgaWYgKHRhYmxlW2luZGV4ICsgOF0gIDw9IHZhbHVlKSBpbmRleCArPSA4O1xuICAgIGlmICh0YWJsZVtpbmRleCArIDRdICA8PSB2YWx1ZSkgaW5kZXggKz0gNDtcbiAgICBpZiAodGFibGVbaW5kZXggKyAyXSAgPD0gdmFsdWUpIGluZGV4ICs9IDI7XG4gICAgaWYgKHRhYmxlW2luZGV4ICsgMV0gIDw9IHZhbHVlKSBpbmRleCArPSAxO1xuICAgIGlmICh0YWJsZVtpbmRleF0gICAgICA+IHZhbHVlKSAgaW5kZXggLT0gMTtcblxuICAgIGlmIChpbmRleCA8IDAgfHwgdGFibGVbaW5kZXhdICE9IHZhbHVlKVxuICAgICAgcmV0dXJuIC0xO1xuXG4gICAgcmV0dXJuIGluZGV4O1xuICB9O1xuXG4gIHRoaXMubG9va3VwID0gZnVuY3Rpb24odGhpc05ncmFtKSB7XG4gICAgdGhpcy5uZ3JhbUNvdW50ICs9IDE7XG4gICAgaWYgKHRoaXMuc2VhcmNoKHRoaXMubmdyYW1MaXN0LCB0aGlzTmdyYW0pID49IDApIHtcbiAgICAgIHRoaXMuaGl0Q291bnQgKz0gMTtcbiAgICB9XG4gIH07XG5cbiAgdGhpcy5hZGRCeXRlID0gZnVuY3Rpb24oYikge1xuICAgIHRoaXMubmdyYW0gPSAoKHRoaXMubmdyYW0gPDwgOCkgKyAoYiAmIDB4RkYpKSAmIE5fR1JBTV9NQVNLO1xuICAgIHRoaXMubG9va3VwKHRoaXMubmdyYW0pO1xuICB9XG5cbiAgdGhpcy5uZXh0Qnl0ZSA9IGZ1bmN0aW9uKGRldCkge1xuICAgIGlmICh0aGlzLmJ5dGVJbmRleCA+PSBkZXQuZklucHV0TGVuKVxuICAgICAgcmV0dXJuIC0xO1xuXG4gICAgcmV0dXJuIGRldC5mSW5wdXRCeXRlc1t0aGlzLmJ5dGVJbmRleCsrXSAmIDB4RkY7XG4gIH1cblxuICB0aGlzLnBhcnNlID0gZnVuY3Rpb24oZGV0LCBzcGFjZUNoKSB7XG4gICAgdmFyIGIsIGlnbm9yZVNwYWNlID0gZmFsc2U7XG4gICAgdGhpcy5zcGFjZUNoYXIgPSBzcGFjZUNoO1xuXG4gICAgd2hpbGUgKChiID0gdGhpcy5uZXh0Qnl0ZShkZXQpKSA+PSAwKSB7XG4gICAgICB2YXIgbWIgPSB0aGlzLmJ5dGVNYXBbYl07XG5cbiAgICAgIC8vIFRPRE86IDB4MjAgbWlnaHQgbm90IGJlIGEgc3BhY2UgaW4gYWxsIGNoYXJhY3RlciBzZXRzLi4uXG4gICAgICBpZiAobWIgIT0gMCkge1xuICAgICAgICBpZiAoIShtYiA9PSB0aGlzLnNwYWNlQ2hhciAmJiBpZ25vcmVTcGFjZSkpIHtcbiAgICAgICAgICB0aGlzLmFkZEJ5dGUobWIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWdub3JlU3BhY2UgPSAobWIgPT0gdGhpcy5zcGFjZUNoYXIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRPRE86IElzIHRoaXMgT0s/IFRoZSBidWZmZXIgY291bGQgaGF2ZSBlbmRlZCBpbiB0aGUgbWlkZGxlIG9mIGEgd29yZC4uLlxuICAgIHRoaXMuYWRkQnl0ZSh0aGlzLnNwYWNlQ2hhcik7XG5cbiAgICB2YXIgcmF3UGVyY2VudCA9IHRoaXMuaGl0Q291bnQgLyB0aGlzLm5ncmFtQ291bnQ7XG5cbiAgICAvLyBUT0RPIC0gVGhpcyBpcyBhIGJpdCBvZiBhIGhhY2sgdG8gdGFrZSBjYXJlIG9mIGEgY2FzZVxuICAgIC8vIHdlcmUgd2Ugd2VyZSBnZXR0aW5nIGEgY29uZmlkZW5jZSBvZiAxMzUuLi5cbiAgICBpZiAocmF3UGVyY2VudCA+IDAuMzMpXG4gICAgICByZXR1cm4gOTg7XG5cbiAgICByZXR1cm4gTWF0aC5mbG9vcihyYXdQZXJjZW50ICogMzAwLjApO1xuICB9O1xufTtcblxuZnVuY3Rpb24gTkdyYW1zUGx1c0xhbmcobGEsIG5nKSB7XG4gIHRoaXMuZkxhbmcgPSBsYTtcbiAgdGhpcy5mTkdyYW1zID0gbmc7XG59O1xuXG5mdW5jdGlvbiBzYmNzKCkge307XG5zYmNzLnByb3RvdHlwZS5zcGFjZUNoYXIgPSAweDIwO1xuc2Jjcy5wcm90b3R5cGUubmdyYW1zID0gZnVuY3Rpb24oKSB7fTtcbnNiY3MucHJvdG90eXBlLmJ5dGVNYXAgPSBmdW5jdGlvbigpIHt9O1xuc2Jjcy5wcm90b3R5cGUubWF0Y2ggPSBmdW5jdGlvbihkZXQpIHtcblxuICB2YXIgbmdyYW1zID0gdGhpcy5uZ3JhbXMoKTtcbiAgdmFyIG11bHRpcGxlID0gKEFycmF5LmlzQXJyYXkobmdyYW1zKSAmJiBuZ3JhbXNbMF0gaW5zdGFuY2VvZiBOR3JhbXNQbHVzTGFuZyk7XG5cbiAgaWYgKCFtdWx0aXBsZSkge1xuICAgIHZhciBwYXJzZXIgPSBuZXcgTkdyYW1QYXJzZXIobmdyYW1zLCB0aGlzLmJ5dGVNYXAoKSk7XG4gICAgdmFyIGNvbmZpZGVuY2UgPSBwYXJzZXIucGFyc2UoZGV0LCB0aGlzLnNwYWNlQ2hhcik7XG4gICAgcmV0dXJuIGNvbmZpZGVuY2UgPD0gMCA/IG51bGwgOiBuZXcgTWF0Y2goZGV0LCB0aGlzLCBjb25maWRlbmNlKTtcbiAgfVxuXG4gIHZhciBiZXN0Q29uZmlkZW5jZVNvRmFyID0gLTE7XG4gIHZhciBsYW5nID0gbnVsbDtcblxuICBmb3IgKHZhciBpID0gbmdyYW1zLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgdmFyIG5nbCA9IG5ncmFtc1tpXTtcblxuICAgIHZhciBwYXJzZXIgPSBuZXcgTkdyYW1QYXJzZXIobmdsLmZOR3JhbXMsIHRoaXMuYnl0ZU1hcCgpKTtcbiAgICB2YXIgY29uZmlkZW5jZSA9IHBhcnNlci5wYXJzZShkZXQsIHRoaXMuc3BhY2VDaGFyKTtcbiAgICBpZiAoY29uZmlkZW5jZSA+IGJlc3RDb25maWRlbmNlU29GYXIpIHtcbiAgICAgIGJlc3RDb25maWRlbmNlU29GYXIgPSBjb25maWRlbmNlO1xuICAgICAgbGFuZyA9IG5nbC5mTGFuZztcbiAgICB9XG4gIH1cblxuICB2YXIgbmFtZSA9IHRoaXMubmFtZShkZXQpO1xuICByZXR1cm4gYmVzdENvbmZpZGVuY2VTb0ZhciA8PSAwID8gbnVsbCA6IG5ldyBNYXRjaChkZXQsIHRoaXMsIGJlc3RDb25maWRlbmNlU29GYXIsIG5hbWUsIGxhbmcpO1xufTtcblxuXG5tb2R1bGUuZXhwb3J0cy5JU09fODg1OV8xID0gZnVuY3Rpb24oKSB7XG4gIHRoaXMuYnl0ZU1hcCA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBbXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsXG4gICAgICAweDY4LCAweDY5LCAweDZBLCAweDZCLCAweDZDLCAweDZELCAweDZFLCAweDZGLFxuICAgICAgMHg3MCwgMHg3MSwgMHg3MiwgMHg3MywgMHg3NCwgMHg3NSwgMHg3NiwgMHg3NyxcbiAgICAgIDB4NzgsIDB4NzksIDB4N0EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDYxLCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3LFxuICAgICAgMHg2OCwgMHg2OSwgMHg2QSwgMHg2QiwgMHg2QywgMHg2RCwgMHg2RSwgMHg2RixcbiAgICAgIDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsXG4gICAgICAweDc4LCAweDc5LCAweDdBLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweEFBLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHhCNSwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4QkEsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweEUwLCAweEUxLCAweEUyLCAweEUzLCAweEU0LCAweEU1LCAweEU2LCAweEU3LFxuICAgICAgMHhFOCwgMHhFOSwgMHhFQSwgMHhFQiwgMHhFQywgMHhFRCwgMHhFRSwgMHhFRixcbiAgICAgIDB4RjAsIDB4RjEsIDB4RjIsIDB4RjMsIDB4RjQsIDB4RjUsIDB4RjYsIDB4MjAsXG4gICAgICAweEY4LCAweEY5LCAweEZBLCAweEZCLCAweEZDLCAweEZELCAweEZFLCAweERGLFxuICAgICAgMHhFMCwgMHhFMSwgMHhFMiwgMHhFMywgMHhFNCwgMHhFNSwgMHhFNiwgMHhFNyxcbiAgICAgIDB4RTgsIDB4RTksIDB4RUEsIDB4RUIsIDB4RUMsIDB4RUQsIDB4RUUsIDB4RUYsXG4gICAgICAweEYwLCAweEYxLCAweEYyLCAweEYzLCAweEY0LCAweEY1LCAweEY2LCAweDIwLFxuICAgICAgMHhGOCwgMHhGOSwgMHhGQSwgMHhGQiwgMHhGQywgMHhGRCwgMHhGRSwgMHhGRlxuICAgIF07XG4gIH07XG5cbiAgdGhpcy5uZ3JhbXMgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gW1xuICAgICAgbmV3IE5HcmFtc1BsdXNMYW5nKCdkYScsIFtcbiAgICAgICAgMHgyMDYxNjYsIDB4MjA2MTc0LCAweDIwNjQ2NSwgMHgyMDY1NkUsIDB4MjA2NTcyLCAweDIwNjY2RiwgMHgyMDY4NjEsIDB4MjA2OTIwLFxuICAgICAgICAweDIwNkQ2NSwgMHgyMDZGNjcsIDB4MjA3MEU1LCAweDIwNzM2OSwgMHgyMDczNzQsIDB4MjA3NDY5LCAweDIwNzY2OSwgMHg2MTY2MjAsXG4gICAgICAgIDB4NjE2RTIwLCAweDYxNkU2NCwgMHg2MTcyMjAsIDB4NjE3NDIwLCAweDY0NjUyMCwgMHg2NDY1NkUsIDB4NjQ2NTcyLCAweDY0NjU3NCxcbiAgICAgICAgMHg2NTIwNzMsIDB4NjU2NDIwLCAweDY1NjQ2NSwgMHg2NTZFMjAsIDB4NjU2RTY0LCAweDY1NzIyMCwgMHg2NTcyNjUsIDB4NjU3MzIwLFxuICAgICAgICAweDY1NzQyMCwgMHg2NjZGNzIsIDB4Njc2NTIwLCAweDY3NjU2RSwgMHg2NzY1NzIsIDB4Njk2NzY1LCAweDY5NkMyMCwgMHg2OTZFNjcsXG4gICAgICAgIDB4NkI2NTIwLCAweDZCNkI2NSwgMHg2QzY1NzIsIDB4NkM2OTY3LCAweDZDNkM2NSwgMHg2RDY1NjQsIDB4NkU2NDY1LCAweDZFNjUyMCxcbiAgICAgICAgMHg2RTY3MjAsIDB4NkU2NzY1LCAweDZGNjcyMCwgMHg2RjZEMjAsIDB4NkY3MjIwLCAweDcwRTUyMCwgMHg3MjIwNjQsIDB4NzIyMDY1LFxuICAgICAgICAweDcyMjA3MywgMHg3MjY1MjAsIDB4NzM3NDY1LCAweDc0MjA3MywgMHg3NDY1MjAsIDB4NzQ2NTcyLCAweDc0Njk2QywgMHg3NjY1NzJcbiAgICAgIF0pLFxuICAgICAgbmV3IE5HcmFtc1BsdXNMYW5nKCdkZScsIFtcbiAgICAgICAgMHgyMDYxNkUsIDB4MjA2MTc1LCAweDIwNjI2NSwgMHgyMDY0NjEsIDB4MjA2NDY1LCAweDIwNjQ2OSwgMHgyMDY1NjksIDB4MjA2NzY1LFxuICAgICAgICAweDIwNjg2MSwgMHgyMDY5NkUsIDB4MjA2RDY5LCAweDIwNzM2MywgMHgyMDczNjUsIDB4MjA3NTZFLCAweDIwNzY2NSwgMHgyMDc2NkYsXG4gICAgICAgIDB4MjA3NzY1LCAweDIwN0E3NSwgMHg2MjY1NzIsIDB4NjM2ODIwLCAweDYzNjg2NSwgMHg2MzY4NzQsIDB4NjQ2MTczLCAweDY0NjU2RSxcbiAgICAgICAgMHg2NDY1NzIsIDB4NjQ2OTY1LCAweDY1MjA2NCwgMHg2NTIwNzMsIDB4NjU2OTZFLCAweDY1Njk3NCwgMHg2NTZFMjAsIDB4NjU3MjIwLFxuICAgICAgICAweDY1NzMyMCwgMHg2NzY1NkUsIDB4Njg2NTZFLCAweDY4NzQyMCwgMHg2OTYzNjgsIDB4Njk2NTIwLCAweDY5NkUyMCwgMHg2OTZFNjUsXG4gICAgICAgIDB4Njk3NDIwLCAweDZDNjk2MywgMHg2QzZDNjUsIDB4NkUyMDYxLCAweDZFMjA2NCwgMHg2RTIwNzMsIDB4NkU2NDIwLCAweDZFNjQ2NSxcbiAgICAgICAgMHg2RTY1MjAsIDB4NkU2NzIwLCAweDZFNjc2NSwgMHg2RTc0NjUsIDB4NzIyMDY0LCAweDcyNjQ2NSwgMHg3MjY1NjksIDB4NzM2MzY4LFxuICAgICAgICAweDczNzQ2NSwgMHg3NDIwNjQsIDB4NzQ2NTIwLCAweDc0NjU2RSwgMHg3NDY1NzIsIDB4NzU2RTY0LCAweDc1NkU2NywgMHg3NjY1NzJcbiAgICAgIF0pLFxuICAgICAgbmV3IE5HcmFtc1BsdXNMYW5nKCdlbicsIFtcbiAgICAgICAgMHgyMDYxMjAsIDB4MjA2MTZFLCAweDIwNjI2NSwgMHgyMDYzNkYsIDB4MjA2NjZGLCAweDIwNjg2MSwgMHgyMDY4NjUsIDB4MjA2OTZFLFxuICAgICAgICAweDIwNkQ2MSwgMHgyMDZGNjYsIDB4MjA3MDcyLCAweDIwNzI2NSwgMHgyMDczNjEsIDB4MjA3Mzc0LCAweDIwNzQ2OCwgMHgyMDc0NkYsXG4gICAgICAgIDB4MjA3NzY4LCAweDYxNjk2NCwgMHg2MTZDMjAsIDB4NjE2RTIwLCAweDYxNkU2NCwgMHg2MTczMjAsIDB4NjE3NDIwLCAweDYxNzQ2NSxcbiAgICAgICAgMHg2MTc0NjksIDB4NjQyMDYxLCAweDY0MjA3NCwgMHg2NTIwNjEsIDB4NjUyMDczLCAweDY1MjA3NCwgMHg2NTY0MjAsIDB4NjU2RTc0LFxuICAgICAgICAweDY1NzIyMCwgMHg2NTczMjAsIDB4NjY2RjcyLCAweDY4NjE3NCwgMHg2ODY1MjAsIDB4Njg2NTcyLCAweDY5NjQyMCwgMHg2OTZFMjAsXG4gICAgICAgIDB4Njk2RTY3LCAweDY5NkY2RSwgMHg2OTczMjAsIDB4NkUyMDYxLCAweDZFMjA3NCwgMHg2RTY0MjAsIDB4NkU2NzIwLCAweDZFNzQyMCxcbiAgICAgICAgMHg2RjY2MjAsIDB4NkY2RTIwLCAweDZGNzIyMCwgMHg3MjY1MjAsIDB4NzI3MzIwLCAweDczMjA2MSwgMHg3MzIwNzQsIDB4NzM2MTY5LFxuICAgICAgICAweDczNzQyMCwgMHg3NDIwNzQsIDB4NzQ2NTcyLCAweDc0Njg2MSwgMHg3NDY4NjUsIDB4NzQ2OTZGLCAweDc0NkYyMCwgMHg3NDczMjBcbiAgICAgIF0pLFxuICAgICAgbmV3IE5HcmFtc1BsdXNMYW5nKCdlcycsIFtcbiAgICAgICAgMHgyMDYxMjAsIDB4MjA2MzYxLCAweDIwNjM2RiwgMHgyMDY0NjUsIDB4MjA2NTZDLCAweDIwNjU2RSwgMHgyMDY1NzMsIDB4MjA2OTZFLFxuICAgICAgICAweDIwNkM2MSwgMHgyMDZDNkYsIDB4MjA3MDYxLCAweDIwNzA2RiwgMHgyMDcwNzIsIDB4MjA3MTc1LCAweDIwNzI2NSwgMHgyMDczNjUsXG4gICAgICAgIDB4MjA3NTZFLCAweDIwNzkyMCwgMHg2MTIwNjMsIDB4NjEyMDY0LCAweDYxMjA2NSwgMHg2MTIwNkMsIDB4NjEyMDcwLCAweDYxNjM2OSxcbiAgICAgICAgMHg2MTY0NkYsIDB4NjE2QzIwLCAweDYxNzIyMCwgMHg2MTczMjAsIDB4NjM2OUYzLCAweDYzNkY2RSwgMHg2NDY1MjAsIDB4NjQ2NTZDLFxuICAgICAgICAweDY0NkYyMCwgMHg2NTIwNjQsIDB4NjUyMDY1LCAweDY1MjA2QywgMHg2NTZDMjAsIDB4NjU2RTIwLCAweDY1NkU3NCwgMHg2NTczMjAsXG4gICAgICAgIDB4NjU3Mzc0LCAweDY5NjU2RSwgMHg2OUYzNkUsIDB4NkM2MTIwLCAweDZDNkY3MywgMHg2RTIwNjUsIDB4NkU3NDY1LCAweDZGMjA2NCxcbiAgICAgICAgMHg2RjIwNjUsIDB4NkY2RTIwLCAweDZGNzIyMCwgMHg2RjczMjAsIDB4NzA2MTcyLCAweDcxNzU2NSwgMHg3MjYxMjAsIDB4NzI2NTczLFxuICAgICAgICAweDczMjA2NCwgMHg3MzIwNjUsIDB4NzMyMDcwLCAweDczNjUyMCwgMHg3NDY1MjAsIDB4NzQ2RjIwLCAweDc1NjUyMCwgMHhGMzZFMjBcbiAgICAgIF0pLFxuICAgICAgbmV3IE5HcmFtc1BsdXNMYW5nKCdmcicsIFtcbiAgICAgICAgMHgyMDYxNzUsIDB4MjA2MzZGLCAweDIwNjQ2MSwgMHgyMDY0NjUsIDB4MjA2NDc1LCAweDIwNjU2RSwgMHgyMDY1NzQsIDB4MjA2QzYxLFxuICAgICAgICAweDIwNkM2NSwgMHgyMDcwNjEsIDB4MjA3MDZGLCAweDIwNzA3MiwgMHgyMDcxNzUsIDB4MjA3MzY1LCAweDIwNzM2RiwgMHgyMDc1NkUsXG4gICAgICAgIDB4MjBFMDIwLCAweDYxNkU3NCwgMHg2MTc0NjksIDB4NjM2NTIwLCAweDYzNkY2RSwgMHg2NDY1MjAsIDB4NjQ2NTczLCAweDY0NzUyMCxcbiAgICAgICAgMHg2NTIwNjEsIDB4NjUyMDYzLCAweDY1MjA2NCwgMHg2NTIwNjUsIDB4NjUyMDZDLCAweDY1MjA3MCwgMHg2NTIwNzMsIDB4NjU2RTIwLFxuICAgICAgICAweDY1NkU3NCwgMHg2NTcyMjAsIDB4NjU3MzIwLCAweDY1NzQyMCwgMHg2NTc1NzIsIDB4Njk2RjZFLCAweDY5NzMyMCwgMHg2OTc0MjAsXG4gICAgICAgIDB4NkM2MTIwLCAweDZDNjUyMCwgMHg2QzY1NzMsIDB4NkQ2NTZFLCAweDZFMjA2NCwgMHg2RTY1MjAsIDB4NkU3MzIwLCAweDZFNzQyMCxcbiAgICAgICAgMHg2RjZFMjAsIDB4NkY2RTc0LCAweDZGNzU3MiwgMHg3MTc1NjUsIDB4NzIyMDZDLCAweDcyNjUyMCwgMHg3MzIwNjEsIDB4NzMyMDY0LFxuICAgICAgICAweDczMjA2NSwgMHg3MzIwNkMsIDB4NzMyMDcwLCAweDc0MjA2NCwgMHg3NDY1MjAsIDB4NzQ2OTZGLCAweDc1NjUyMCwgMHg3NTcyMjBcbiAgICAgIF0pLFxuICAgICAgbmV3IE5HcmFtc1BsdXNMYW5nKCdpdCcsIFtcbiAgICAgICAgMHgyMDYxNkMsIDB4MjA2MzY4LCAweDIwNjM2RiwgMHgyMDY0NjUsIDB4MjA2NDY5LCAweDIwNjUyMCwgMHgyMDY5NkMsIDB4MjA2OTZFLFxuICAgICAgICAweDIwNkM2MSwgMHgyMDcwNjUsIDB4MjA3MDcyLCAweDIwNzU2RSwgMHg2MTIwNjMsIDB4NjEyMDY0LCAweDYxMjA3MCwgMHg2MTIwNzMsXG4gICAgICAgIDB4NjE3NDZGLCAweDYzNjg2NSwgMHg2MzZGNkUsIDB4NjQ2NTZDLCAweDY0NjkyMCwgMHg2NTIwNjEsIDB4NjUyMDYzLCAweDY1MjA2NCxcbiAgICAgICAgMHg2NTIwNjksIDB4NjUyMDZDLCAweDY1MjA3MCwgMHg2NTIwNzMsIDB4NjU2QzIwLCAweDY1NkM2QywgMHg2NTZFNzQsIDB4NjU3MjIwLFxuICAgICAgICAweDY4NjUyMCwgMHg2OTIwNjEsIDB4NjkyMDYzLCAweDY5MjA2NCwgMHg2OTIwNzMsIDB4Njk2MTIwLCAweDY5NkMyMCwgMHg2OTZFMjAsXG4gICAgICAgIDB4Njk2RjZFLCAweDZDNjEyMCwgMHg2QzY1MjAsIDB4NkM2OTIwLCAweDZDNkM2MSwgMHg2RTY1MjAsIDB4NkU2OTIwLCAweDZFNkYyMCxcbiAgICAgICAgMHg2RTc0NjUsIDB4NkYyMDYxLCAweDZGMjA2NCwgMHg2RjIwNjksIDB4NkYyMDczLCAweDZGNkUyMCwgMHg2RjZFNjUsIDB4NzA2NTcyLFxuICAgICAgICAweDcyNjEyMCwgMHg3MjY1MjAsIDB4NzM2OTIwLCAweDc0NjEyMCwgMHg3NDY1MjAsIDB4NzQ2OTIwLCAweDc0NkYyMCwgMHg3QTY5NkZcbiAgICAgIF0pLFxuICAgICAgbmV3IE5HcmFtc1BsdXNMYW5nKCdubCcsIFtcbiAgICAgICAgMHgyMDYxNkMsIDB4MjA2MjY1LCAweDIwNjQ2MSwgMHgyMDY0NjUsIDB4MjA2NDY5LCAweDIwNjU2NSwgMHgyMDY1NkUsIDB4MjA2NzY1LFxuICAgICAgICAweDIwNjg2NSwgMHgyMDY5NkUsIDB4MjA2RDYxLCAweDIwNkQ2NSwgMHgyMDZGNzAsIDB4MjA3NDY1LCAweDIwNzY2MSwgMHgyMDc2NjUsXG4gICAgICAgIDB4MjA3NjZGLCAweDIwNzc2NSwgMHgyMDdBNjksIDB4NjE2MTZFLCAweDYxNjE3MiwgMHg2MTZFMjAsIDB4NjE2RTY0LCAweDYxNzIyMCxcbiAgICAgICAgMHg2MTc0MjAsIDB4NjM2ODc0LCAweDY0NjUyMCwgMHg2NDY1NkUsIDB4NjQ2NTcyLCAweDY1MjA2MiwgMHg2NTIwNzYsIDB4NjU2NTZFLFxuICAgICAgICAweDY1NjU3MiwgMHg2NTZFMjAsIDB4NjU3MjIwLCAweDY1NzI3MywgMHg2NTc0MjAsIDB4Njc2NTZFLCAweDY4NjU3NCwgMHg2OTY1MjAsXG4gICAgICAgIDB4Njk2RTIwLCAweDY5NkU2NywgMHg2OTczMjAsIDB4NkUyMDYyLCAweDZFMjA2NCwgMHg2RTIwNjUsIDB4NkUyMDY4LCAweDZFMjA2RixcbiAgICAgICAgMHg2RTIwNzYsIDB4NkU2NDY1LCAweDZFNjcyMCwgMHg2RjZFNjQsIDB4NkY2RjcyLCAweDZGNzAyMCwgMHg2RjcyMjAsIDB4NzM2MzY4LFxuICAgICAgICAweDczNzQ2NSwgMHg3NDIwNjQsIDB4NzQ2NTIwLCAweDc0NjU2RSwgMHg3NDY1NzIsIDB4NzY2MTZFLCAweDc2NjU3MiwgMHg3NjZGNkZcbiAgICAgIF0pLFxuICAgICAgbmV3IE5HcmFtc1BsdXNMYW5nKCdubycsIFtcbiAgICAgICAgMHgyMDYxNzQsIDB4MjA2MTc2LCAweDIwNjQ2NSwgMHgyMDY1NkUsIDB4MjA2NTcyLCAweDIwNjY2RiwgMHgyMDY4NjEsIDB4MjA2OTIwLFxuICAgICAgICAweDIwNkQ2NSwgMHgyMDZGNjcsIDB4MjA3MEU1LCAweDIwNzM2NSwgMHgyMDczNkIsIDB4MjA3MzZGLCAweDIwNzM3NCwgMHgyMDc0NjksXG4gICAgICAgIDB4MjA3NjY5LCAweDIwRTUyMCwgMHg2MTZFNjQsIDB4NjE3MjIwLCAweDYxNzQyMCwgMHg2NDY1MjAsIDB4NjQ2NTZFLCAweDY0NjU3NCxcbiAgICAgICAgMHg2NTIwNzMsIDB4NjU2NDIwLCAweDY1NkUyMCwgMHg2NTZFNjUsIDB4NjU3MjIwLCAweDY1NzI2NSwgMHg2NTc0MjAsIDB4NjU3NDc0LFxuICAgICAgICAweDY2NkY3MiwgMHg2NzY1NkUsIDB4Njk2QjZCLCAweDY5NkMyMCwgMHg2OTZFNjcsIDB4NkI2NTIwLCAweDZCNkI2NSwgMHg2QzY1MjAsXG4gICAgICAgIDB4NkM2QzY1LCAweDZENjU2NCwgMHg2RDY1NkUsIDB4NkUyMDczLCAweDZFNjUyMCwgMHg2RTY3MjAsIDB4NkU2NzY1LCAweDZFNkU2NSxcbiAgICAgICAgMHg2RjY3MjAsIDB4NkY2RDIwLCAweDZGNzIyMCwgMHg3MEU1MjAsIDB4NzIyMDczLCAweDcyNjUyMCwgMHg3MzZGNkQsIDB4NzM3NDY1LFxuICAgICAgICAweDc0MjA3MywgMHg3NDY1MjAsIDB4NzQ2NTZFLCAweDc0NjU3MiwgMHg3NDY5NkMsIDB4NzQ3NDIwLCAweDc0NzQ2NSwgMHg3NjY1NzJcbiAgICAgIF0pLFxuICAgICAgbmV3IE5HcmFtc1BsdXNMYW5nKCdwdCcsIFtcbiAgICAgICAgMHgyMDYxMjAsIDB4MjA2MzZGLCAweDIwNjQ2MSwgMHgyMDY0NjUsIDB4MjA2NDZGLCAweDIwNjUyMCwgMHgyMDY1NzMsIDB4MjA2RDYxLFxuICAgICAgICAweDIwNkU2RiwgMHgyMDZGMjAsIDB4MjA3MDYxLCAweDIwNzA2RiwgMHgyMDcwNzIsIDB4MjA3MTc1LCAweDIwNzI2NSwgMHgyMDczNjUsXG4gICAgICAgIDB4MjA3NTZELCAweDYxMjA2MSwgMHg2MTIwNjMsIDB4NjEyMDY0LCAweDYxMjA3MCwgMHg2MTY0NjUsIDB4NjE2NDZGLCAweDYxNkMyMCxcbiAgICAgICAgMHg2MTcyMjAsIDB4NjE3MjYxLCAweDYxNzMyMCwgMHg2MzZGNkQsIDB4NjM2RjZFLCAweDY0NjEyMCwgMHg2NDY1MjAsIDB4NjQ2RjIwLFxuICAgICAgICAweDY0NkY3MywgMHg2NTIwNjEsIDB4NjUyMDY0LCAweDY1NkQyMCwgMHg2NTZFNzQsIDB4NjU3MzIwLCAweDY1NzM3NCwgMHg2OTYxMjAsXG4gICAgICAgIDB4Njk2MzYxLCAweDZENjU2RSwgMHg2RTc0NjUsIDB4NkU3NDZGLCAweDZGMjA2MSwgMHg2RjIwNjMsIDB4NkYyMDY0LCAweDZGMjA2NSxcbiAgICAgICAgMHg2RjIwNzAsIDB4NkY3MzIwLCAweDcwNjE3MiwgMHg3MTc1NjUsIDB4NzI2MTIwLCAweDcyNjU3MywgMHg3MzIwNjEsIDB4NzMyMDY0LFxuICAgICAgICAweDczMjA2NSwgMHg3MzIwNzAsIDB4NzM3NDYxLCAweDc0NjUyMCwgMHg3NDZGMjAsIDB4NzU2NTIwLCAweEUzNkYyMCwgMHhFN0UzNkZcbiAgICAgIF0pLFxuICAgICAgbmV3IE5HcmFtc1BsdXNMYW5nKCdzdicsIFtcbiAgICAgICAgMHgyMDYxNzQsIDB4MjA2MTc2LCAweDIwNjQ2NSwgMHgyMDY1NkUsIDB4MjA2NkY2LCAweDIwNjg2MSwgMHgyMDY5MjAsIDB4MjA2OTZFLFxuICAgICAgICAweDIwNkI2RiwgMHgyMDZENjUsIDB4MjA2RjYzLCAweDIwNzBFNSwgMHgyMDczNkIsIDB4MjA3MzZGLCAweDIwNzM3NCwgMHgyMDc0NjksXG4gICAgICAgIDB4MjA3NjYxLCAweDIwNzY2OSwgMHgyMEU0NzIsIDB4NjE2NDY1LCAweDYxNkUyMCwgMHg2MTZFNjQsIDB4NjE3MjIwLCAweDYxNzQ3NCxcbiAgICAgICAgMHg2MzY4MjAsIDB4NjQ2NTIwLCAweDY0NjU2RSwgMHg2NDY1NzIsIDB4NjQ2NTc0LCAweDY1NjQyMCwgMHg2NTZFMjAsIDB4NjU3MjIwLFxuICAgICAgICAweDY1NzQyMCwgMHg2NkY2NzIsIDB4Njc2NTZFLCAweDY5NkM2QywgMHg2OTZFNjcsIDB4NkI2MTIwLCAweDZDNkMyMCwgMHg2RDY1NjQsXG4gICAgICAgIDB4NkUyMDczLCAweDZFNjEyMCwgMHg2RTY0NjUsIDB4NkU2NzIwLCAweDZFNjc2NSwgMHg2RTY5NkUsIDB4NkY2MzY4LCAweDZGNkQyMCxcbiAgICAgICAgMHg2RjZFMjAsIDB4NzBFNTIwLCAweDcyMjA2MSwgMHg3MjIwNzMsIDB4NzI2MTIwLCAweDczNkI2MSwgMHg3MzZGNkQsIDB4NzQyMDczLFxuICAgICAgICAweDc0NjEyMCwgMHg3NDY1MjAsIDB4NzQ2NTcyLCAweDc0Njk2QywgMHg3NDc0MjAsIDB4NzY2MTcyLCAweEU0NzIyMCwgMHhGNjcyMjAsXG4gICAgICBdKVxuICAgIF07XG4gIH07XG5cbiAgdGhpcy5uYW1lID0gZnVuY3Rpb24oZGV0KSB7XG4gICAgcmV0dXJuIChkZXQgJiYgZGV0LmZDMUJ5dGVzKSA/ICd3aW5kb3dzLTEyNTInIDogJ0lTTy04ODU5LTEnO1xuICB9O1xufTtcbnV0aWwuaW5oZXJpdHMobW9kdWxlLmV4cG9ydHMuSVNPXzg4NTlfMSwgc2Jjcyk7XG5cblxubW9kdWxlLmV4cG9ydHMuSVNPXzg4NTlfMiA9IGZ1bmN0aW9uKCkge1xuICB0aGlzLmJ5dGVNYXAgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gW1xuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDYxLCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3LFxuICAgICAgMHg2OCwgMHg2OSwgMHg2QSwgMHg2QiwgMHg2QywgMHg2RCwgMHg2RSwgMHg2RixcbiAgICAgIDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsXG4gICAgICAweDc4LCAweDc5LCAweDdBLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NyxcbiAgICAgIDB4NjgsIDB4NjksIDB4NkEsIDB4NkIsIDB4NkMsIDB4NkQsIDB4NkUsIDB4NkYsXG4gICAgICAweDcwLCAweDcxLCAweDcyLCAweDczLCAweDc0LCAweDc1LCAweDc2LCAweDc3LFxuICAgICAgMHg3OCwgMHg3OSwgMHg3QSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweEIxLCAweDIwLCAweEIzLCAweDIwLCAweEI1LCAweEI2LCAweDIwLFxuICAgICAgMHgyMCwgMHhCOSwgMHhCQSwgMHhCQiwgMHhCQywgMHgyMCwgMHhCRSwgMHhCRixcbiAgICAgIDB4MjAsIDB4QjEsIDB4MjAsIDB4QjMsIDB4MjAsIDB4QjUsIDB4QjYsIDB4QjcsXG4gICAgICAweDIwLCAweEI5LCAweEJBLCAweEJCLCAweEJDLCAweDIwLCAweEJFLCAweEJGLFxuICAgICAgMHhFMCwgMHhFMSwgMHhFMiwgMHhFMywgMHhFNCwgMHhFNSwgMHhFNiwgMHhFNyxcbiAgICAgIDB4RTgsIDB4RTksIDB4RUEsIDB4RUIsIDB4RUMsIDB4RUQsIDB4RUUsIDB4RUYsXG4gICAgICAweEYwLCAweEYxLCAweEYyLCAweEYzLCAweEY0LCAweEY1LCAweEY2LCAweDIwLFxuICAgICAgMHhGOCwgMHhGOSwgMHhGQSwgMHhGQiwgMHhGQywgMHhGRCwgMHhGRSwgMHhERixcbiAgICAgIDB4RTAsIDB4RTEsIDB4RTIsIDB4RTMsIDB4RTQsIDB4RTUsIDB4RTYsIDB4RTcsXG4gICAgICAweEU4LCAweEU5LCAweEVBLCAweEVCLCAweEVDLCAweEVELCAweEVFLCAweEVGLFxuICAgICAgMHhGMCwgMHhGMSwgMHhGMiwgMHhGMywgMHhGNCwgMHhGNSwgMHhGNiwgMHgyMCxcbiAgICAgIDB4RjgsIDB4RjksIDB4RkEsIDB4RkIsIDB4RkMsIDB4RkQsIDB4RkUsIDB4MjBcbiAgICBdO1xuICB9XG5cbiAgdGhpcy5uZ3JhbXMgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gW1xuICAgICAgbmV3IE5HcmFtc1BsdXNMYW5nKCdjcycsIFtcbiAgICAgICAgMHgyMDYxMjAsIDB4MjA2Mjc5LCAweDIwNjQ2RiwgMHgyMDZBNjUsIDB4MjA2RTYxLCAweDIwNkU2NSwgMHgyMDZGMjAsIDB4MjA2RjY0LFxuICAgICAgICAweDIwNzA2RiwgMHgyMDcwNzIsIDB4MjA3MEY4LCAweDIwNzI2RiwgMHgyMDczNjUsIDB4MjA3MzZGLCAweDIwNzM3NCwgMHgyMDc0NkYsXG4gICAgICAgIDB4MjA3NjIwLCAweDIwNzY3OSwgMHgyMDdBNjEsIDB4NjEyMDcwLCAweDYzNjUyMCwgMHg2MzY4MjAsIDB4NjUyMDcwLCAweDY1MjA3MyxcbiAgICAgICAgMHg2NTIwNzYsIDB4NjU2RDIwLCAweDY1NkVFRCwgMHg2ODZGMjAsIDB4Njg2RjY0LCAweDY5NzM3NCwgMHg2QTY1MjAsIDB4NkI3NDY1LFxuICAgICAgICAweDZDNjUyMCwgMHg2QzY5MjAsIDB4NkU2MTIwLCAweDZFRTkyMCwgMHg2RUVDMjAsIDB4NkVFRDIwLCAweDZGMjA3MCwgMHg2RjY0NkUsXG4gICAgICAgIDB4NkY2QTY5LCAweDZGNzM3NCwgMHg2Rjc1MjAsIDB4NkY3NjYxLCAweDcwNkY2NCwgMHg3MDZGNkEsIDB4NzA3MjZGLCAweDcwRjg2NSxcbiAgICAgICAgMHg3MzY1MjAsIDB4NzM2Rjc1LCAweDczNzQ2MSwgMHg3Mzc0NjksIDB4NzM3NDZFLCAweDc0NjU3MiwgMHg3NDZFRUQsIDB4NzQ2RjIwLFxuICAgICAgICAweDc1MjA3MCwgMHhCRTY1MjAsIDB4RTE2RUVELCAweEU5Njg2RiwgMHhFRDIwNzAsIDB4RUQyMDczLCAweEVENkQyMCwgMHhGODY1NjQsXG4gICAgICBdKSxcbiAgICAgIG5ldyBOR3JhbXNQbHVzTGFuZygnaHUnLCBbXG4gICAgICAgIDB4MjA2MTIwLCAweDIwNjE3QSwgMHgyMDYyNjUsIDB4MjA2NTY3LCAweDIwNjU2QywgMHgyMDY2NjUsIDB4MjA2ODYxLCAweDIwNjg2RixcbiAgICAgICAgMHgyMDY5NzMsIDB4MjA2QjY1LCAweDIwNkI2OSwgMHgyMDZCRjYsIDB4MjA2QzY1LCAweDIwNkQ2MSwgMHgyMDZENjUsIDB4MjA2RDY5LFxuICAgICAgICAweDIwNkU2NSwgMHgyMDczN0EsIDB4MjA3NDY1LCAweDIwRTk3MywgMHg2MTIwNjEsIDB4NjEyMDZCLCAweDYxMjA2RCwgMHg2MTIwNzMsXG4gICAgICAgIDB4NjE2QjIwLCAweDYxNkUyMCwgMHg2MTdBMjAsIDB4NjI2MTZFLCAweDYyNjU2RSwgMHg2NTY3NzksIDB4NjU2QjIwLCAweDY1NkMyMCxcbiAgICAgICAgMHg2NTZDNjUsIDB4NjU2RDIwLCAweDY1NkUyMCwgMHg2NTcyNjUsIDB4NjU3NDIwLCAweDY1NzQ2NSwgMHg2NTc0NzQsIDB4Njc3OTIwLFxuICAgICAgICAweDY4NkY2NywgMHg2OTZFNzQsIDB4Njk3MzIwLCAweDZCMjA2MSwgMHg2QkY2N0EsIDB4NkQ2NTY3LCAweDZENjk2RSwgMHg2RTIwNjEsXG4gICAgICAgIDB4NkU2MTZCLCAweDZFNjU2QiwgMHg2RTY1NkQsIDB4NkU3NDIwLCAweDZGNjc3OSwgMHg3MzIwNjEsIDB4NzM3QTY1LCAweDczN0E3NCxcbiAgICAgICAgMHg3MzdBRTEsIDB4NzNFOTY3LCAweDc0MjA2MSwgMHg3NDc0MjAsIDB4NzRFMTczLCAweDdBNjU3MiwgMHhFMTZFMjAsIDB4RTk3MzIwLFxuICAgICAgXSksXG4gICAgICBuZXcgTkdyYW1zUGx1c0xhbmcoJ3BsJywgW1xuICAgICAgICAweDIwNjM3QSwgMHgyMDY0NkYsIDB4MjA2OTIwLCAweDIwNkE2NSwgMHgyMDZCNkYsIDB4MjA2RDYxLCAweDIwNkQ2OSwgMHgyMDZFNjEsXG4gICAgICAgIDB4MjA2RTY5LCAweDIwNkY2NCwgMHgyMDcwNkYsIDB4MjA3MDcyLCAweDIwNzM2OSwgMHgyMDc3MjAsIDB4MjA3NzY5LCAweDIwNzc3OSxcbiAgICAgICAgMHgyMDdBMjAsIDB4MjA3QTYxLCAweDYxMjA3MCwgMHg2MTIwNzcsIDB4NjE2RTY5LCAweDYzNjgyMCwgMHg2MzdBNjUsIDB4NjM3QTc5LFxuICAgICAgICAweDY0NkYyMCwgMHg2NDdBNjksIDB4NjUyMDcwLCAweDY1MjA3MywgMHg2NTIwNzcsIDB4NjUyMDdBLCAweDY1Njc2RiwgMHg2NTZBMjAsXG4gICAgICAgIDB4NjU2RDIwLCAweDY1NkU2OSwgMHg2NzZGMjAsIDB4Njk2MTIwLCAweDY5NjUyMCwgMHg2OTY1NkEsIDB4NkI2MTIwLCAweDZCNjkyMCxcbiAgICAgICAgMHg2QjY5NjUsIDB4NkQ2OTY1LCAweDZFNjEyMCwgMHg2RTY5NjEsIDB4NkU2OTY1LCAweDZGMjA3MCwgMHg2Rjc3NjEsIDB4NkY3NzY5LFxuICAgICAgICAweDcwNkY2QywgMHg3MDcyNjEsIDB4NzA3MjZGLCAweDcwNzI3QSwgMHg3MjdBNjUsIDB4NzI3QTc5LCAweDczNjlFQSwgMHg3MzZCNjksXG4gICAgICAgIDB4NzM3NDYxLCAweDc3Njk2NSwgMHg3OTYzNjgsIDB4Nzk2RDIwLCAweDdBNjUyMCwgMHg3QTY5NjUsIDB4N0E3OTIwLCAweEYzNzcyMCxcbiAgICAgIF0pLFxuICAgICAgbmV3IE5HcmFtc1BsdXNMYW5nKCdybycsIFtcbiAgICAgICAgMHgyMDYxMjAsIDB4MjA2MTYzLCAweDIwNjM2MSwgMHgyMDYzNjUsIDB4MjA2MzZGLCAweDIwNjM3NSwgMHgyMDY0NjUsIDB4MjA2NDY5LFxuICAgICAgICAweDIwNkM2MSwgMHgyMDZENjEsIDB4MjA3MDY1LCAweDIwNzA3MiwgMHgyMDczNjUsIDB4MjA3M0UzLCAweDIwNzU2RSwgMHgyMEJBNjksXG4gICAgICAgIDB4MjBFRTZFLCAweDYxMjA2MywgMHg2MTIwNjQsIDB4NjE3MjY1LCAweDYxNzQyMCwgMHg2MTc0NjUsIDB4NjE3NTIwLCAweDYzNjE3MixcbiAgICAgICAgMHg2MzZGNkUsIDB4NjM3NTIwLCAweDYzRTMyMCwgMHg2NDY1MjAsIDB4NjUyMDYxLCAweDY1MjA2MywgMHg2NTIwNjQsIDB4NjUyMDcwLFxuICAgICAgICAweDY1MjA3MywgMHg2NTYxMjAsIDB4NjU2OTIwLCAweDY1NkM2NSwgMHg2NTZFNzQsIDB4NjU3Mzc0LCAweDY5MjA2MSwgMHg2OTIwNjMsXG4gICAgICAgIDB4NjkyMDY0LCAweDY5MjA3MCwgMHg2OTY1MjAsIDB4Njk2OTIwLCAweDY5NkUyMCwgMHg2QzYxMjAsIDB4NkM2NTIwLCAweDZDNkY3MixcbiAgICAgICAgMHg2Qzc1NjksIDB4NkU2NTIwLCAweDZFNzQ3MiwgMHg2RjcyMjAsIDB4NzA2NTZFLCAweDcyNjUyMCwgMHg3MjY1NjEsIDB4NzI3NTIwLFxuICAgICAgICAweDczRTMyMCwgMHg3NDY1MjAsIDB4NzQ3Mjc1LCAweDc0RTMyMCwgMHg3NTY5MjAsIDB4NzU2QzIwLCAweEJBNjkyMCwgMHhFRTZFMjAsXG4gICAgICBdKVxuICAgIF07XG4gIH07XG5cbiAgdGhpcy5uYW1lID0gZnVuY3Rpb24oZGV0KSB7XG4gICAgcmV0dXJuIChkZXQgJiYgZGV0LmZDMUJ5dGVzKSA/ICd3aW5kb3dzLTEyNTAnIDogJ0lTTy04ODU5LTInO1xuICB9O1xufTtcbnV0aWwuaW5oZXJpdHMobW9kdWxlLmV4cG9ydHMuSVNPXzg4NTlfMiwgc2Jjcyk7XG5cblxubW9kdWxlLmV4cG9ydHMuSVNPXzg4NTlfNSA9IGZ1bmN0aW9uKCkge1xuICB0aGlzLmJ5dGVNYXAgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gW1xuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDYxLCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3LFxuICAgICAgMHg2OCwgMHg2OSwgMHg2QSwgMHg2QiwgMHg2QywgMHg2RCwgMHg2RSwgMHg2RixcbiAgICAgIDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsXG4gICAgICAweDc4LCAweDc5LCAweDdBLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NyxcbiAgICAgIDB4NjgsIDB4NjksIDB4NkEsIDB4NkIsIDB4NkMsIDB4NkQsIDB4NkUsIDB4NkYsXG4gICAgICAweDcwLCAweDcxLCAweDcyLCAweDczLCAweDc0LCAweDc1LCAweDc2LCAweDc3LFxuICAgICAgMHg3OCwgMHg3OSwgMHg3QSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweEYxLCAweEYyLCAweEYzLCAweEY0LCAweEY1LCAweEY2LCAweEY3LFxuICAgICAgMHhGOCwgMHhGOSwgMHhGQSwgMHhGQiwgMHhGQywgMHgyMCwgMHhGRSwgMHhGRixcbiAgICAgIDB4RDAsIDB4RDEsIDB4RDIsIDB4RDMsIDB4RDQsIDB4RDUsIDB4RDYsIDB4RDcsXG4gICAgICAweEQ4LCAweEQ5LCAweERBLCAweERCLCAweERDLCAweERELCAweERFLCAweERGLFxuICAgICAgMHhFMCwgMHhFMSwgMHhFMiwgMHhFMywgMHhFNCwgMHhFNSwgMHhFNiwgMHhFNyxcbiAgICAgIDB4RTgsIDB4RTksIDB4RUEsIDB4RUIsIDB4RUMsIDB4RUQsIDB4RUUsIDB4RUYsXG4gICAgICAweEQwLCAweEQxLCAweEQyLCAweEQzLCAweEQ0LCAweEQ1LCAweEQ2LCAweEQ3LFxuICAgICAgMHhEOCwgMHhEOSwgMHhEQSwgMHhEQiwgMHhEQywgMHhERCwgMHhERSwgMHhERixcbiAgICAgIDB4RTAsIDB4RTEsIDB4RTIsIDB4RTMsIDB4RTQsIDB4RTUsIDB4RTYsIDB4RTcsXG4gICAgICAweEU4LCAweEU5LCAweEVBLCAweEVCLCAweEVDLCAweEVELCAweEVFLCAweEVGLFxuICAgICAgMHgyMCwgMHhGMSwgMHhGMiwgMHhGMywgMHhGNCwgMHhGNSwgMHhGNiwgMHhGNyxcbiAgICAgIDB4RjgsIDB4RjksIDB4RkEsIDB4RkIsIDB4RkMsIDB4MjAsIDB4RkUsIDB4RkZcbiAgICBdO1xuICB9O1xuXG4gIHRoaXMubmdyYW1zID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIDB4MjBEMjIwLCAweDIwRDJERSwgMHgyMEQ0REUsIDB4MjBEN0QwLCAweDIwRDgyMCwgMHgyMERBRDAsIDB4MjBEQURFLCAweDIwREREMCxcbiAgICAgIDB4MjBEREQ1LCAweDIwREVEMSwgMHgyMERGREUsIDB4MjBERkUwLCAweDIwRTBEMCwgMHgyMEUxREUsIDB4MjBFMUUyLCAweDIwRTJERSxcbiAgICAgIDB4MjBFN0UyLCAweDIwRURFMiwgMHhEMERERDgsIDB4RDBFMkVDLCAweEQzREUyMCwgMHhENURCRUMsIDB4RDVEREQ4LCAweEQ1RTFFMixcbiAgICAgIDB4RDVFMjIwLCAweEQ4MjBERiwgMHhEOEQ1MjAsIDB4RDhEODIwLCAweEQ4RUYyMCwgMHhEQkQ1REQsIDB4REJEODIwLCAweERCRUNERCxcbiAgICAgIDB4REREMDIwLCAweERERDUyMCwgMHhEREQ4RDUsIDB4REREOEVGLCAweEREREUyMCwgMHhERERFRDIsIDB4REUyMEQyLCAweERFMjBERixcbiAgICAgIDB4REUyMEUxLCAweERFRDIyMCwgMHhERUQyRDAsIDB4REVEM0RFLCAweERFRDkyMCwgMHhERURCRUMsIDB4REVEQzIwLCAweERFRTFFMixcbiAgICAgIDB4REZERURCLCAweERGRTBENSwgMHhERkUwRDgsIDB4REZFMERFLCAweEUwRDBEMiwgMHhFMEQ1RDQsIDB4RTFFMkQwLCAweEUxRTJEMixcbiAgICAgIDB4RTFFMkQ4LCAweEUxRUYyMCwgMHhFMkQ1REIsIDB4RTJERTIwLCAweEUyREVFMCwgMHhFMkVDMjAsIDB4RTdFMkRFLCAweEVCRTUyMFxuICAgIF07XG4gIH07XG5cbiAgdGhpcy5uYW1lID0gZnVuY3Rpb24oZGV0KSB7XG4gICAgcmV0dXJuICdJU08tODg1OS01JztcbiAgfTtcblxuICB0aGlzLmxhbmd1YWdlID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdydSc7XG4gIH07XG59O1xudXRpbC5pbmhlcml0cyhtb2R1bGUuZXhwb3J0cy5JU09fODg1OV81LCBzYmNzKTtcblxuXG5tb2R1bGUuZXhwb3J0cy5JU09fODg1OV82ID0gZnVuY3Rpb24oKSB7XG4gIHRoaXMuYnl0ZU1hcCA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBbXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsXG4gICAgICAweDY4LCAweDY5LCAweDZBLCAweDZCLCAweDZDLCAweDZELCAweDZFLCAweDZGLFxuICAgICAgMHg3MCwgMHg3MSwgMHg3MiwgMHg3MywgMHg3NCwgMHg3NSwgMHg3NiwgMHg3NyxcbiAgICAgIDB4NzgsIDB4NzksIDB4N0EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDYxLCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3LFxuICAgICAgMHg2OCwgMHg2OSwgMHg2QSwgMHg2QiwgMHg2QywgMHg2RCwgMHg2RSwgMHg2RixcbiAgICAgIDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsXG4gICAgICAweDc4LCAweDc5LCAweDdBLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweEMxLCAweEMyLCAweEMzLCAweEM0LCAweEM1LCAweEM2LCAweEM3LFxuICAgICAgMHhDOCwgMHhDOSwgMHhDQSwgMHhDQiwgMHhDQywgMHhDRCwgMHhDRSwgMHhDRixcbiAgICAgIDB4RDAsIDB4RDEsIDB4RDIsIDB4RDMsIDB4RDQsIDB4RDUsIDB4RDYsIDB4RDcsXG4gICAgICAweEQ4LCAweEQ5LCAweERBLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHhFMCwgMHhFMSwgMHhFMiwgMHhFMywgMHhFNCwgMHhFNSwgMHhFNiwgMHhFNyxcbiAgICAgIDB4RTgsIDB4RTksIDB4RUEsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMFxuICAgIF07XG4gIH07XG5cbiAgdGhpcy5uZ3JhbXMgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gW1xuICAgICAgMHgyMEM3RTQsIDB4MjBDN0U2LCAweDIwQzhDNywgMHgyMEQ5RTQsIDB4MjBFMUVBLCAweDIwRTRFNCwgMHgyMEU1RTYsIDB4MjBFOEM3LFxuICAgICAgMHhDNzIwQzcsIDB4QzdDMTIwLCAweEM3Q0EyMCwgMHhDN0QxMjAsIDB4QzdFNDIwLCAweEM3RTRDMywgMHhDN0U0QzcsIDB4QzdFNEM4LFxuICAgICAgMHhDN0U0Q0EsIDB4QzdFNENDLCAweEM3RTRDRCwgMHhDN0U0Q0YsIDB4QzdFNEQzLCAweEM3RTREOSwgMHhDN0U0RTIsIDB4QzdFNEU1LFxuICAgICAgMHhDN0U0RTgsIDB4QzdFNEVBLCAweEM3RTUyMCwgMHhDN0U2MjAsIDB4QzdFNkNBLCAweEM4MjBDNywgMHhDOTIwQzcsIDB4QzkyMEUxLFxuICAgICAgMHhDOTIwRTQsIDB4QzkyMEU1LCAweEM5MjBFOCwgMHhDQTIwQzcsIDB4Q0YyMEM3LCAweENGQzkyMCwgMHhEMTIwQzcsIDB4RDFDOTIwLFxuICAgICAgMHhEMzIwQzcsIDB4RDkyMEM3LCAweEQ5RTRFOSwgMHhFMUVBMjAsIDB4RTQyMEM3LCAweEU0QzkyMCwgMHhFNEU5MjAsIDB4RTRFQTIwLFxuICAgICAgMHhFNTIwQzcsIDB4RTVDNzIwLCAweEU1QzkyMCwgMHhFNUU2MjAsIDB4RTYyMEM3LCAweEU3MjBDNywgMHhFN0M3MjAsIDB4RThDN0U0LFxuICAgICAgMHhFOEU2MjAsIDB4RTkyMEM3LCAweEVBMjBDNywgMHhFQTIwRTUsIDB4RUEyMEU4LCAweEVBQzkyMCwgMHhFQUQxMjAsIDB4RUFFNjIwXG4gICAgXTtcbiAgfTtcblxuICB0aGlzLm5hbWUgPSBmdW5jdGlvbihkZXQpIHtcbiAgICByZXR1cm4gJ0lTTy04ODU5LTYnO1xuICB9O1xuXG4gIHRoaXMubGFuZ3VhZ2UgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ2FyJztcbiAgfTtcbn07XG51dGlsLmluaGVyaXRzKG1vZHVsZS5leHBvcnRzLklTT184ODU5XzYsIHNiY3MpO1xuXG5cbm1vZHVsZS5leHBvcnRzLklTT184ODU5XzcgPSBmdW5jdGlvbigpIHtcbiAgdGhpcy5ieXRlTWFwID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NyxcbiAgICAgIDB4NjgsIDB4NjksIDB4NkEsIDB4NkIsIDB4NkMsIDB4NkQsIDB4NkUsIDB4NkYsXG4gICAgICAweDcwLCAweDcxLCAweDcyLCAweDczLCAweDc0LCAweDc1LCAweDc2LCAweDc3LFxuICAgICAgMHg3OCwgMHg3OSwgMHg3QSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsXG4gICAgICAweDY4LCAweDY5LCAweDZBLCAweDZCLCAweDZDLCAweDZELCAweDZFLCAweDZGLFxuICAgICAgMHg3MCwgMHg3MSwgMHg3MiwgMHg3MywgMHg3NCwgMHg3NSwgMHg3NiwgMHg3NyxcbiAgICAgIDB4NzgsIDB4NzksIDB4N0EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHhBMSwgMHhBMiwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweERDLCAweDIwLFxuICAgICAgMHhERCwgMHhERSwgMHhERiwgMHgyMCwgMHhGQywgMHgyMCwgMHhGRCwgMHhGRSxcbiAgICAgIDB4QzAsIDB4RTEsIDB4RTIsIDB4RTMsIDB4RTQsIDB4RTUsIDB4RTYsIDB4RTcsXG4gICAgICAweEU4LCAweEU5LCAweEVBLCAweEVCLCAweEVDLCAweEVELCAweEVFLCAweEVGLFxuICAgICAgMHhGMCwgMHhGMSwgMHgyMCwgMHhGMywgMHhGNCwgMHhGNSwgMHhGNiwgMHhGNyxcbiAgICAgIDB4RjgsIDB4RjksIDB4RkEsIDB4RkIsIDB4REMsIDB4REQsIDB4REUsIDB4REYsXG4gICAgICAweEUwLCAweEUxLCAweEUyLCAweEUzLCAweEU0LCAweEU1LCAweEU2LCAweEU3LFxuICAgICAgMHhFOCwgMHhFOSwgMHhFQSwgMHhFQiwgMHhFQywgMHhFRCwgMHhFRSwgMHhFRixcbiAgICAgIDB4RjAsIDB4RjEsIDB4RjIsIDB4RjMsIDB4RjQsIDB4RjUsIDB4RjYsIDB4RjcsXG4gICAgICAweEY4LCAweEY5LCAweEZBLCAweEZCLCAweEZDLCAweEZELCAweEZFLCAweDIwXG4gICAgXTtcbiAgfTtcblxuICB0aGlzLm5ncmFtcyA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBbXG4gICAgICAweDIwRTFFRCwgMHgyMEUxRjAsIDB4MjBFM0U5LCAweDIwRTRFOSwgMHgyMEU1RjAsIDB4MjBFNzIwLCAweDIwRUFFMSwgMHgyMEVDRTUsXG4gICAgICAweDIwRURFMSwgMHgyMEVGMjAsIDB4MjBGMEUxLCAweDIwRjBFRiwgMHgyMEYwRjEsIDB4MjBGM0Y0LCAweDIwRjNGNSwgMHgyMEY0RTcsXG4gICAgICAweDIwRjRFRiwgMHhERkUxMjAsIDB4RTEyMEUxLCAweEUxMjBGNCwgMHhFMUU5MjAsIDB4RTFFRDIwLCAweEUxRjBGQywgMHhFMUYyMjAsXG4gICAgICAweEUzRTlFMSwgMHhFNUU5MjAsIDB4RTVGMjIwLCAweEU3MjBGNCwgMHhFN0VEMjAsIDB4RTdGMjIwLCAweEU5MjBGNCwgMHhFOUUxMjAsXG4gICAgICAweEU5RUFERSwgMHhFOUYyMjAsIDB4RUFFMUU5LCAweEVBRTFGNCwgMHhFQ0U1MjAsIDB4RUQyMEUxLCAweEVEMjBFNSwgMHhFRDIwRjAsXG4gICAgICAweEVERTEyMCwgMHhFRkYyMjAsIDB4RUZGNTIwLCAweEYwRUZGNSwgMHhGMEYxRUYsIDB4RjBGQzIwLCAweEYyMjBFMSwgMHhGMjIwRTUsXG4gICAgICAweEYyMjBFQSwgMHhGMjIwRjAsIDB4RjIyMEY0LCAweEYzRTUyMCwgMHhGM0U3MjAsIDB4RjNGNEVGLCAweEY0RTEyMCwgMHhGNEUxRTksXG4gICAgICAweEY0RTdFRCwgMHhGNEU3RjIsIDB4RjRFOUVBLCAweEY0RUYyMCwgMHhGNEVGRjUsIDB4RjRGOUVELCAweEY5RUQyMCwgMHhGRUVEMjBcbiAgICBdO1xuICB9O1xuXG4gIHRoaXMubmFtZSA9IGZ1bmN0aW9uKGRldCkge1xuICAgIHJldHVybiAoZGV0ICYmIGRldC5mQzFCeXRlcykgPyAnd2luZG93cy0xMjUzJyA6ICdJU08tODg1OS03JztcbiAgfTtcblxuICB0aGlzLmxhbmd1YWdlID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdlbCc7XG4gIH07XG59O1xudXRpbC5pbmhlcml0cyhtb2R1bGUuZXhwb3J0cy5JU09fODg1OV83LCBzYmNzKTtcblxubW9kdWxlLmV4cG9ydHMuSVNPXzg4NTlfOCA9IGZ1bmN0aW9uKCkge1xuXG4gIHRoaXMuYnl0ZU1hcCA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBbXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsXG4gICAgICAweDY4LCAweDY5LCAweDZBLCAweDZCLCAweDZDLCAweDZELCAweDZFLCAweDZGLFxuICAgICAgMHg3MCwgMHg3MSwgMHg3MiwgMHg3MywgMHg3NCwgMHg3NSwgMHg3NiwgMHg3NyxcbiAgICAgIDB4NzgsIDB4NzksIDB4N0EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDYxLCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3LFxuICAgICAgMHg2OCwgMHg2OSwgMHg2QSwgMHg2QiwgMHg2QywgMHg2RCwgMHg2RSwgMHg2RixcbiAgICAgIDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsXG4gICAgICAweDc4LCAweDc5LCAweDdBLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHhCNSwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHhFMCwgMHhFMSwgMHhFMiwgMHhFMywgMHhFNCwgMHhFNSwgMHhFNiwgMHhFNyxcbiAgICAgIDB4RTgsIDB4RTksIDB4RUEsIDB4RUIsIDB4RUMsIDB4RUQsIDB4RUUsIDB4RUYsXG4gICAgICAweEYwLCAweEYxLCAweEYyLCAweEYzLCAweEY0LCAweEY1LCAweEY2LCAweEY3LFxuICAgICAgMHhGOCwgMHhGOSwgMHhGQSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMFxuICAgIF07XG4gIH07XG5cbiAgdGhpcy5uZ3JhbXMgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gW1xuICAgICAgbmV3IE5HcmFtc1BsdXNMYW5nKCdoZScsIFtcbiAgICAgICAgMHgyMEUwRTUsIDB4MjBFMEU3LCAweDIwRTBFOSwgMHgyMEUwRkEsIDB4MjBFMUU5LCAweDIwRTFFRSwgMHgyMEU0RTAsIDB4MjBFNEU1LFxuICAgICAgICAweDIwRTRFOSwgMHgyMEU0RUUsIDB4MjBFNEYyLCAweDIwRTRGOSwgMHgyMEU0RkEsIDB4MjBFQ0UwLCAweDIwRUNFNCwgMHgyMEVFRTAsXG4gICAgICAgIDB4MjBGMkVDLCAweDIwRjlFQywgMHhFMEZBMjAsIDB4RTQyMEUwLCAweEU0MjBFMSwgMHhFNDIwRTQsIDB4RTQyMEVDLCAweEU0MjBFRSxcbiAgICAgICAgMHhFNDIwRjksIDB4RTRFNUUwLCAweEU1RTAyMCwgMHhFNUVEMjAsIDB4RTVFRjIwLCAweEU1RjgyMCwgMHhFNUZBMjAsIDB4RTkyMEU0LFxuICAgICAgICAweEU5RTQyMCwgMHhFOUU1RkEsIDB4RTlFOUVELCAweEU5RUQyMCwgMHhFOUVGMjAsIDB4RTlGODIwLCAweEU5RkEyMCwgMHhFQzIwRTAsXG4gICAgICAgIDB4RUMyMEU0LCAweEVDRTAyMCwgMHhFQ0U0MjAsIDB4RUQyMEUwLCAweEVEMjBFMSwgMHhFRDIwRTQsIDB4RUQyMEVDLCAweEVEMjBFRSxcbiAgICAgICAgMHhFRDIwRjksIDB4RUVFNDIwLCAweEVGMjBFNCwgMHhGMEU0MjAsIDB4RjBFOTIwLCAweEYwRTlFRCwgMHhGMkVDMjAsIDB4RjgyMEU0LFxuICAgICAgICAweEY4RTlFRCwgMHhGOUVDMjAsIDB4RkEyMEUwLCAweEZBMjBFMSwgMHhGQTIwRTQsIDB4RkEyMEVDLCAweEZBMjBFRSwgMHhGQTIwRjksXG4gICAgICBdKSxcbiAgICAgIG5ldyBOR3JhbXNQbHVzTGFuZygnaGUnLCBbXG4gICAgICAgIDB4MjBFMEU1LCAweDIwRTBFQywgMHgyMEU0RTksIDB4MjBFNEVDLCAweDIwRTRFRSwgMHgyMEU0RjAsIDB4MjBFOUYwLCAweDIwRUNGMixcbiAgICAgICAgMHgyMEVDRjksIDB4MjBFREU1LCAweDIwRURFOSwgMHgyMEVGRTUsIDB4MjBFRkU5LCAweDIwRjhFNSwgMHgyMEY4RTksIDB4MjBGQUUwLFxuICAgICAgICAweDIwRkFFNSwgMHgyMEZBRTksIDB4RTAyMEU0LCAweEUwMjBFQywgMHhFMDIwRUQsIDB4RTAyMEZBLCAweEUwRTQyMCwgMHhFMEU1RTQsXG4gICAgICAgIDB4RTBFQzIwLCAweEUwRUUyMCwgMHhFMTIwRTQsIDB4RTEyMEVELCAweEUxMjBGQSwgMHhFNDIwRTQsIDB4RTQyMEU5LCAweEU0MjBFQyxcbiAgICAgICAgMHhFNDIwRUQsIDB4RTQyMEVGLCAweEU0MjBGOCwgMHhFNDIwRkEsIDB4RTRFQzIwLCAweEU1RTAyMCwgMHhFNUU0MjAsIDB4RTdFMDIwLFxuICAgICAgICAweEU5RTAyMCwgMHhFOUUxMjAsIDB4RTlFNDIwLCAweEVDMjBFNCwgMHhFQzIwRUQsIDB4RUMyMEZBLCAweEVDRjIyMCwgMHhFQ0Y5MjAsXG4gICAgICAgIDB4RURFOUU5LCAweEVERTlGMCwgMHhFREU5RjgsIDB4RUUyMEU0LCAweEVFMjBFRCwgMHhFRTIwRkEsIDB4RUVFMTIwLCAweEVFRTQyMCxcbiAgICAgICAgMHhGMkU0MjAsIDB4RjkyMEU0LCAweEY5MjBFRCwgMHhGOTIwRkEsIDB4RjlFNDIwLCAweEZBRTAyMCwgMHhGQUU0MjAsIDB4RkFFNUU5LFxuICAgICAgXSlcbiAgICBdO1xuICB9O1xuXG4gIHRoaXMubmFtZSA9IGZ1bmN0aW9uKGRldCkge1xuICAgIHJldHVybiAoZGV0ICYmIGRldC5mQzFCeXRlcykgPyAnd2luZG93cy0xMjU1JyA6ICdJU08tODg1OS04JztcbiAgfTtcblxuICB0aGlzLmxhbmd1YWdlID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdoZSc7XG4gIH07XG5cbn07XG51dGlsLmluaGVyaXRzKG1vZHVsZS5leHBvcnRzLklTT184ODU5XzgsIHNiY3MpO1xuXG5cbm1vZHVsZS5leHBvcnRzLklTT184ODU5XzkgPSBmdW5jdGlvbigpIHtcbiAgdGhpcy5ieXRlTWFwID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NyxcbiAgICAgIDB4NjgsIDB4NjksIDB4NkEsIDB4NkIsIDB4NkMsIDB4NkQsIDB4NkUsIDB4NkYsXG4gICAgICAweDcwLCAweDcxLCAweDcyLCAweDczLCAweDc0LCAweDc1LCAweDc2LCAweDc3LFxuICAgICAgMHg3OCwgMHg3OSwgMHg3QSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsXG4gICAgICAweDY4LCAweDY5LCAweDZBLCAweDZCLCAweDZDLCAweDZELCAweDZFLCAweDZGLFxuICAgICAgMHg3MCwgMHg3MSwgMHg3MiwgMHg3MywgMHg3NCwgMHg3NSwgMHg3NiwgMHg3NyxcbiAgICAgIDB4NzgsIDB4NzksIDB4N0EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4QUEsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweEI1LCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHhCQSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4RTAsIDB4RTEsIDB4RTIsIDB4RTMsIDB4RTQsIDB4RTUsIDB4RTYsIDB4RTcsXG4gICAgICAweEU4LCAweEU5LCAweEVBLCAweEVCLCAweEVDLCAweEVELCAweEVFLCAweEVGLFxuICAgICAgMHhGMCwgMHhGMSwgMHhGMiwgMHhGMywgMHhGNCwgMHhGNSwgMHhGNiwgMHgyMCxcbiAgICAgIDB4RjgsIDB4RjksIDB4RkEsIDB4RkIsIDB4RkMsIDB4NjksIDB4RkUsIDB4REYsXG4gICAgICAweEUwLCAweEUxLCAweEUyLCAweEUzLCAweEU0LCAweEU1LCAweEU2LCAweEU3LFxuICAgICAgMHhFOCwgMHhFOSwgMHhFQSwgMHhFQiwgMHhFQywgMHhFRCwgMHhFRSwgMHhFRixcbiAgICAgIDB4RjAsIDB4RjEsIDB4RjIsIDB4RjMsIDB4RjQsIDB4RjUsIDB4RjYsIDB4MjAsXG4gICAgICAweEY4LCAweEY5LCAweEZBLCAweEZCLCAweEZDLCAweEZELCAweEZFLCAweEZGXG4gICAgXTtcbiAgfTtcblxuICB0aGlzLm5ncmFtcyA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBbXG4gICAgICAweDIwNjI2MSwgMHgyMDYyNjksIDB4MjA2Mjc1LCAweDIwNjQ2MSwgMHgyMDY0NjUsIDB4MjA2NzY1LCAweDIwNjg2MSwgMHgyMDY5NkMsXG4gICAgICAweDIwNkI2MSwgMHgyMDZCNkYsIDB4MjA2RDYxLCAweDIwNkY2QywgMHgyMDczNjEsIDB4MjA3NDYxLCAweDIwNzY2NSwgMHgyMDc5NjEsXG4gICAgICAweDYxMjA2MiwgMHg2MTZCMjAsIDB4NjE2QzYxLCAweDYxNkQ2MSwgMHg2MTZFMjAsIDB4NjE2RUZELCAweDYxNzIyMCwgMHg2MTcyNjEsXG4gICAgICAweDYxNzJGRCwgMHg2MTczRkQsIDB4NjE3OTYxLCAweDYyNjk3MiwgMHg2NDYxMjAsIDB4NjQ2NTIwLCAweDY0NjkyMCwgMHg2NTIwNjIsXG4gICAgICAweDY1MjA2QiwgMHg2NTY0NjksIDB4NjU2RTIwLCAweDY1NzIyMCwgMHg2NTcyNjksIDB4NjU3MzY5LCAweDY5NkM2NSwgMHg2OTZFMjAsXG4gICAgICAweDY5NkU2OSwgMHg2OTcyMjAsIDB4NkM2MTZFLCAweDZDNjE3MiwgMHg2QzY1MjAsIDB4NkM2NTcyLCAweDZFMjA2MSwgMHg2RTIwNjIsXG4gICAgICAweDZFMjA2QiwgMHg2RTY0NjEsIDB4NkU2NDY1LCAweDZFNjUyMCwgMHg2RTY5MjAsIDB4NkU2OTZFLCAweDZFRkQyMCwgMHg3MjY5NkUsXG4gICAgICAweDcyRkQ2RSwgMHg3NjY1MjAsIDB4Nzk2MTIwLCAweDc5NkY3MiwgMHhGRDZFMjAsIDB4RkQ2RTY0LCAweEZENkVGRCwgMHhGREYwRkRcbiAgICBdO1xuICB9O1xuXG4gIHRoaXMubmFtZSA9IGZ1bmN0aW9uKGRldCkge1xuICAgIHJldHVybiAoZGV0ICYmIGRldC5mQzFCeXRlcykgPyAnd2luZG93cy0xMjU0JyA6ICdJU08tODg1OS05JztcbiAgfTtcblxuICB0aGlzLmxhbmd1YWdlID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICd0cic7XG4gIH07XG59O1xudXRpbC5pbmhlcml0cyhtb2R1bGUuZXhwb3J0cy5JU09fODg1OV85LCBzYmNzKTtcblxuXG5tb2R1bGUuZXhwb3J0cy53aW5kb3dzXzEyNTEgPSBmdW5jdGlvbigpIHtcbiAgdGhpcy5ieXRlTWFwID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDAwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NyxcbiAgICAgIDB4NjgsIDB4NjksIDB4NkEsIDB4NkIsIDB4NkMsIDB4NkQsIDB4NkUsIDB4NkYsXG4gICAgICAweDcwLCAweDcxLCAweDcyLCAweDczLCAweDc0LCAweDc1LCAweDc2LCAweDc3LFxuICAgICAgMHg3OCwgMHg3OSwgMHg3QSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsXG4gICAgICAweDY4LCAweDY5LCAweDZBLCAweDZCLCAweDZDLCAweDZELCAweDZFLCAweDZGLFxuICAgICAgMHg3MCwgMHg3MSwgMHg3MiwgMHg3MywgMHg3NCwgMHg3NSwgMHg3NiwgMHg3NyxcbiAgICAgIDB4NzgsIDB4NzksIDB4N0EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDkwLCAweDgzLCAweDIwLCAweDgzLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHg5QSwgMHgyMCwgMHg5QywgMHg5RCwgMHg5RSwgMHg5RixcbiAgICAgIDB4OTAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDlBLCAweDIwLCAweDlDLCAweDlELCAweDlFLCAweDlGLFxuICAgICAgMHgyMCwgMHhBMiwgMHhBMiwgMHhCQywgMHgyMCwgMHhCNCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4QjgsIDB4MjAsIDB4QkEsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4QkYsXG4gICAgICAweDIwLCAweDIwLCAweEIzLCAweEIzLCAweEI0LCAweEI1LCAweDIwLCAweDIwLFxuICAgICAgMHhCOCwgMHgyMCwgMHhCQSwgMHgyMCwgMHhCQywgMHhCRSwgMHhCRSwgMHhCRixcbiAgICAgIDB4RTAsIDB4RTEsIDB4RTIsIDB4RTMsIDB4RTQsIDB4RTUsIDB4RTYsIDB4RTcsXG4gICAgICAweEU4LCAweEU5LCAweEVBLCAweEVCLCAweEVDLCAweEVELCAweEVFLCAweEVGLFxuICAgICAgMHhGMCwgMHhGMSwgMHhGMiwgMHhGMywgMHhGNCwgMHhGNSwgMHhGNiwgMHhGNyxcbiAgICAgIDB4RjgsIDB4RjksIDB4RkEsIDB4RkIsIDB4RkMsIDB4RkQsIDB4RkUsIDB4RkYsXG4gICAgICAweEUwLCAweEUxLCAweEUyLCAweEUzLCAweEU0LCAweEU1LCAweEU2LCAweEU3LFxuICAgICAgMHhFOCwgMHhFOSwgMHhFQSwgMHhFQiwgMHhFQywgMHhFRCwgMHhFRSwgMHhFRixcbiAgICAgIDB4RjAsIDB4RjEsIDB4RjIsIDB4RjMsIDB4RjQsIDB4RjUsIDB4RjYsIDB4RjcsXG4gICAgICAweEY4LCAweEY5LCAweEZBLCAweEZCLCAweEZDLCAweEZELCAweEZFLCAweEZGXG4gICAgXTtcbiAgfTtcblxuICB0aGlzLm5ncmFtcyA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBbXG4gICAgICAweDIwRTIyMCwgMHgyMEUyRUUsIDB4MjBFNEVFLCAweDIwRTdFMCwgMHgyMEU4MjAsIDB4MjBFQUUwLCAweDIwRUFFRSwgMHgyMEVERTAsXG4gICAgICAweDIwRURFNSwgMHgyMEVFRTEsIDB4MjBFRkVFLCAweDIwRUZGMCwgMHgyMEYwRTAsIDB4MjBGMUVFLCAweDIwRjFGMiwgMHgyMEYyRUUsXG4gICAgICAweDIwRjdGMiwgMHgyMEZERjIsIDB4RTBFREU4LCAweEUwRjJGQywgMHhFM0VFMjAsIDB4RTVFQkZDLCAweEU1RURFOCwgMHhFNUYxRjIsXG4gICAgICAweEU1RjIyMCwgMHhFODIwRUYsIDB4RThFNTIwLCAweEU4RTgyMCwgMHhFOEZGMjAsIDB4RUJFNUVELCAweEVCRTgyMCwgMHhFQkZDRUQsXG4gICAgICAweEVERTAyMCwgMHhFREU1MjAsIDB4RURFOEU1LCAweEVERThGRiwgMHhFREVFMjAsIDB4RURFRUUyLCAweEVFMjBFMiwgMHhFRTIwRUYsXG4gICAgICAweEVFMjBGMSwgMHhFRUUyMjAsIDB4RUVFMkUwLCAweEVFRTNFRSwgMHhFRUU5MjAsIDB4RUVFQkZDLCAweEVFRUMyMCwgMHhFRUYxRjIsXG4gICAgICAweEVGRUVFQiwgMHhFRkYwRTUsIDB4RUZGMEU4LCAweEVGRjBFRSwgMHhGMEUwRTIsIDB4RjBFNUU0LCAweEYxRjJFMCwgMHhGMUYyRTIsXG4gICAgICAweEYxRjJFOCwgMHhGMUZGMjAsIDB4RjJFNUVCLCAweEYyRUUyMCwgMHhGMkVFRjAsIDB4RjJGQzIwLCAweEY3RjJFRSwgMHhGQkY1MjBcbiAgICBdO1xuICB9O1xuXG4gIHRoaXMubmFtZSA9IGZ1bmN0aW9uKGRldCkge1xuICAgIHJldHVybiAnd2luZG93cy0xMjUxJztcbiAgfTtcblxuICB0aGlzLmxhbmd1YWdlID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdydSc7XG4gIH07XG59O1xudXRpbC5pbmhlcml0cyhtb2R1bGUuZXhwb3J0cy53aW5kb3dzXzEyNTEsIHNiY3MpO1xuXG5cbm1vZHVsZS5leHBvcnRzLndpbmRvd3NfMTI1NiA9IGZ1bmN0aW9uKCkge1xuICB0aGlzLmJ5dGVNYXAgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gW1xuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MDAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDYxLCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3LFxuICAgICAgMHg2OCwgMHg2OSwgMHg2QSwgMHg2QiwgMHg2QywgMHg2RCwgMHg2RSwgMHg2RixcbiAgICAgIDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsXG4gICAgICAweDc4LCAweDc5LCAweDdBLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHg2MSwgMHg2MiwgMHg2MywgMHg2NCwgMHg2NSwgMHg2NiwgMHg2NyxcbiAgICAgIDB4NjgsIDB4NjksIDB4NkEsIDB4NkIsIDB4NkMsIDB4NkQsIDB4NkUsIDB4NkYsXG4gICAgICAweDcwLCAweDcxLCAweDcyLCAweDczLCAweDc0LCAweDc1LCAweDc2LCAweDc3LFxuICAgICAgMHg3OCwgMHg3OSwgMHg3QSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4ODEsIDB4MjAsIDB4ODMsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDg4LCAweDIwLCAweDhBLCAweDIwLCAweDlDLCAweDhELCAweDhFLCAweDhGLFxuICAgICAgMHg5MCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4OTgsIDB4MjAsIDB4OUEsIDB4MjAsIDB4OUMsIDB4MjAsIDB4MjAsIDB4OUYsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHhBQSwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4QjUsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHhDMCwgMHhDMSwgMHhDMiwgMHhDMywgMHhDNCwgMHhDNSwgMHhDNiwgMHhDNyxcbiAgICAgIDB4QzgsIDB4QzksIDB4Q0EsIDB4Q0IsIDB4Q0MsIDB4Q0QsIDB4Q0UsIDB4Q0YsXG4gICAgICAweEQwLCAweEQxLCAweEQyLCAweEQzLCAweEQ0LCAweEQ1LCAweEQ2LCAweDIwLFxuICAgICAgMHhEOCwgMHhEOSwgMHhEQSwgMHhEQiwgMHhEQywgMHhERCwgMHhERSwgMHhERixcbiAgICAgIDB4RTAsIDB4RTEsIDB4RTIsIDB4RTMsIDB4RTQsIDB4RTUsIDB4RTYsIDB4RTcsXG4gICAgICAweEU4LCAweEU5LCAweEVBLCAweEVCLCAweEVDLCAweEVELCAweEVFLCAweEVGLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHhGNCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4RjksIDB4MjAsIDB4RkIsIDB4RkMsIDB4MjAsIDB4MjAsIDB4RkZcbiAgICBdO1xuICB9O1xuXG4gIHRoaXMubmdyYW1zID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIFtcbiAgICAgIDB4MjBDN0UxLCAweDIwQzdFNCwgMHgyMEM4QzcsIDB4MjBEQUUxLCAweDIwRERFRCwgMHgyMEUxRTEsIDB4MjBFM0U0LCAweDIwRTZDNyxcbiAgICAgIDB4QzcyMEM3LCAweEM3QzEyMCwgMHhDN0NBMjAsIDB4QzdEMTIwLCAweEM3RTEyMCwgMHhDN0UxQzMsIDB4QzdFMUM3LCAweEM3RTFDOCxcbiAgICAgIDB4QzdFMUNBLCAweEM3RTFDQywgMHhDN0UxQ0QsIDB4QzdFMUNGLCAweEM3RTFEMywgMHhDN0UxREEsIDB4QzdFMURFLCAweEM3RTFFMyxcbiAgICAgIDB4QzdFMUU2LCAweEM3RTFFRCwgMHhDN0UzMjAsIDB4QzdFNDIwLCAweEM3RTRDQSwgMHhDODIwQzcsIDB4QzkyMEM3LCAweEM5MjBERCxcbiAgICAgIDB4QzkyMEUxLCAweEM5MjBFMywgMHhDOTIwRTYsIDB4Q0EyMEM3LCAweENGMjBDNywgMHhDRkM5MjAsIDB4RDEyMEM3LCAweEQxQzkyMCxcbiAgICAgIDB4RDMyMEM3LCAweERBMjBDNywgMHhEQUUxRUMsIDB4RERFRDIwLCAweEUxMjBDNywgMHhFMUM5MjAsIDB4RTFFQzIwLCAweEUxRUQyMCxcbiAgICAgIDB4RTMyMEM3LCAweEUzQzcyMCwgMHhFM0M5MjAsIDB4RTNFNDIwLCAweEU0MjBDNywgMHhFNTIwQzcsIDB4RTVDNzIwLCAweEU2QzdFMSxcbiAgICAgIDB4RTZFNDIwLCAweEVDMjBDNywgMHhFRDIwQzcsIDB4RUQyMEUzLCAweEVEMjBFNiwgMHhFREM5MjAsIDB4RUREMTIwLCAweEVERTQyMFxuICAgIF07XG4gIH07XG5cbiAgdGhpcy5uYW1lID0gZnVuY3Rpb24oZGV0KSB7XG4gICAgcmV0dXJuICd3aW5kb3dzLTEyNTYnO1xuICB9O1xuXG4gIHRoaXMubGFuZ3VhZ2UgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gJ2FyJztcbiAgfTtcbn07XG51dGlsLmluaGVyaXRzKG1vZHVsZS5leHBvcnRzLndpbmRvd3NfMTI1Niwgc2Jjcyk7XG5cblxubW9kdWxlLmV4cG9ydHMuS09JOF9SID0gZnVuY3Rpb24oKSB7XG4gIHRoaXMuYnl0ZU1hcCA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBbXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgwMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4NjEsIDB4NjIsIDB4NjMsIDB4NjQsIDB4NjUsIDB4NjYsIDB4NjcsXG4gICAgICAweDY4LCAweDY5LCAweDZBLCAweDZCLCAweDZDLCAweDZELCAweDZFLCAweDZGLFxuICAgICAgMHg3MCwgMHg3MSwgMHg3MiwgMHg3MywgMHg3NCwgMHg3NSwgMHg3NiwgMHg3NyxcbiAgICAgIDB4NzgsIDB4NzksIDB4N0EsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDYxLCAweDYyLCAweDYzLCAweDY0LCAweDY1LCAweDY2LCAweDY3LFxuICAgICAgMHg2OCwgMHg2OSwgMHg2QSwgMHg2QiwgMHg2QywgMHg2RCwgMHg2RSwgMHg2RixcbiAgICAgIDB4NzAsIDB4NzEsIDB4NzIsIDB4NzMsIDB4NzQsIDB4NzUsIDB4NzYsIDB4NzcsXG4gICAgICAweDc4LCAweDc5LCAweDdBLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4QTMsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLCAweDIwLFxuICAgICAgMHgyMCwgMHgyMCwgMHgyMCwgMHhBMywgMHgyMCwgMHgyMCwgMHgyMCwgMHgyMCxcbiAgICAgIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsIDB4MjAsXG4gICAgICAweEMwLCAweEMxLCAweEMyLCAweEMzLCAweEM0LCAweEM1LCAweEM2LCAweEM3LFxuICAgICAgMHhDOCwgMHhDOSwgMHhDQSwgMHhDQiwgMHhDQywgMHhDRCwgMHhDRSwgMHhDRixcbiAgICAgIDB4RDAsIDB4RDEsIDB4RDIsIDB4RDMsIDB4RDQsIDB4RDUsIDB4RDYsIDB4RDcsXG4gICAgICAweEQ4LCAweEQ5LCAweERBLCAweERCLCAweERDLCAweERELCAweERFLCAweERGLFxuICAgICAgMHhDMCwgMHhDMSwgMHhDMiwgMHhDMywgMHhDNCwgMHhDNSwgMHhDNiwgMHhDNyxcbiAgICAgIDB4QzgsIDB4QzksIDB4Q0EsIDB4Q0IsIDB4Q0MsIDB4Q0QsIDB4Q0UsIDB4Q0YsXG4gICAgICAweEQwLCAweEQxLCAweEQyLCAweEQzLCAweEQ0LCAweEQ1LCAweEQ2LCAweEQ3LFxuICAgICAgMHhEOCwgMHhEOSwgMHhEQSwgMHhEQiwgMHhEQywgMHhERCwgMHhERSwgMHhERlxuICAgIF07XG4gIH07XG5cbiAgdGhpcy5uZ3JhbXMgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gW1xuICAgICAgMHgyMEM0Q0YsIDB4MjBDOTIwLCAweDIwQ0JDMSwgMHgyMENCQ0YsIDB4MjBDRUMxLCAweDIwQ0VDNSwgMHgyMENGQzIsIDB4MjBEMENGLFxuICAgICAgMHgyMEQwRDIsIDB4MjBEMkMxLCAweDIwRDNDRiwgMHgyMEQzRDQsIDB4MjBENENGLCAweDIwRDcyMCwgMHgyMEQ3Q0YsIDB4MjBEQUMxLFxuICAgICAgMHgyMERDRDQsIDB4MjBERUQ0LCAweEMxQ0VDOSwgMHhDMUQ0RDgsIDB4QzVDQ0Q4LCAweEM1Q0VDOSwgMHhDNUQzRDQsIDB4QzVENDIwLFxuICAgICAgMHhDN0NGMjAsIDB4QzkyMEQwLCAweEM5QzUyMCwgMHhDOUM5MjAsIDB4QzlEMTIwLCAweENDQzVDRSwgMHhDQ0M5MjAsIDB4Q0NEOENFLFxuICAgICAgMHhDRUMxMjAsIDB4Q0VDNTIwLCAweENFQzlDNSwgMHhDRUM5RDEsIDB4Q0VDRjIwLCAweENFQ0ZENywgMHhDRjIwRDAsIDB4Q0YyMEQzLFxuICAgICAgMHhDRjIwRDcsIDB4Q0ZDN0NGLCAweENGQ0EyMCwgMHhDRkNDRDgsIDB4Q0ZDRDIwLCAweENGRDNENCwgMHhDRkQ3MjAsIDB4Q0ZEN0MxLFxuICAgICAgMHhEMENGQ0MsIDB4RDBEMkM1LCAweEQwRDJDOSwgMHhEMEQyQ0YsIDB4RDJDMUQ3LCAweEQyQzVDNCwgMHhEM0QxMjAsIDB4RDNENEMxLFxuICAgICAgMHhEM0Q0QzksIDB4RDNENEQ3LCAweEQ0QzVDQywgMHhENENGMjAsIDB4RDRDRkQyLCAweEQ0RDgyMCwgMHhEOUM4MjAsIDB4REVENENGXG4gICAgXTtcbiAgfTtcblxuICB0aGlzLm5hbWUgPSBmdW5jdGlvbihkZXQpIHtcbiAgICByZXR1cm4gJ0tPSTgtUic7XG4gIH07XG5cbiAgdGhpcy5sYW5ndWFnZSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAncnUnO1xuICB9O1xufTtcbnV0aWwuaW5oZXJpdHMobW9kdWxlLmV4cG9ydHMuS09JOF9SLCBzYmNzKTtcblxuXG4vKlxubW9kdWxlLmV4cG9ydHMuSVNPXzg4NTlfNyA9IGZ1bmN0aW9uKCkge1xuICB0aGlzLmJ5dGVNYXAgPSBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gW1xuXG4gICAgXTtcbiAgfTtcblxuICB0aGlzLm5ncmFtcyA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBbXG5cbiAgICBdO1xuICB9O1xuXG4gIHRoaXMubmFtZSA9IGZ1bmN0aW9uKGRldCkge1xuICAgIGlmICh0eXBlb2YgZGV0ID09ICd1bmRlZmluZWQnKVxuICAgICAgcmV0dXJuICdJU08tODg1OS03JztcbiAgICByZXR1cm4gZGV0LmZDMUJ5dGVzID8gJ3dpbmRvd3MtMTI1MycgOiAnSVNPLTg4NTktNyc7XG4gIH07XG5cbiAgdGhpcy5sYW5ndWFnZSA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiAnZWwnO1xuICB9O1xufTtcbnV0aWwuaW5oZXJpdHMobW9kdWxlLmV4cG9ydHMuSVNPXzg4NTlfNywgc2Jjcyk7XG4qL1xuXG4iLCAidmFyIHV0aWwgPSByZXF1aXJlKCd1dGlsJyksXG4gIE1hdGNoID0gcmVxdWlyZSAoJy4uL21hdGNoJyk7XG5cblxuLyoqXG4gKiBUaGlzIGlzIGEgc3VwZXJjbGFzcyBmb3IgdGhlIGluZGl2aWR1YWwgZGV0ZWN0b3JzIGZvclxuICogZWFjaCBvZiB0aGUgZGV0ZWN0YWJsZSBtZW1iZXJzIG9mIHRoZSBJU08gMjAyMiBmYW1pbHlcbiAqIG9mIGVuY29kaW5ncy5cbiAqL1xuXG5mdW5jdGlvbiBJU09fMjAyMigpIHt9XG5cbklTT18yMDIyLnByb3RvdHlwZS5tYXRjaCA9IGZ1bmN0aW9uKGRldCkge1xuXG4gIC8qKlxuICAgKiBNYXRjaGluZyBmdW5jdGlvbiBzaGFyZWQgYW1vbmcgdGhlIDIwMjIgZGV0ZWN0b3JzIEpQLCBDTiBhbmQgS1JcbiAgICogQ291bnRzIHVwIHRoZSBudW1iZXIgb2YgbGVnYWwgYW4gdW5yZWNvZ25pemVkIGVzY2FwZSBzZXF1ZW5jZXMgaW5cbiAgICogdGhlIHNhbXBsZSBvZiB0ZXh0LCBhbmQgY29tcHV0ZXMgYSBzY29yZSBiYXNlZCBvbiB0aGUgdG90YWwgbnVtYmVyICZcbiAgICogdGhlIHByb3BvcnRpb24gdGhhdCBmaXQgdGhlIGVuY29kaW5nLlxuICAgKlxuICAgKlxuICAgKiBAcGFyYW0gdGV4dCB0aGUgYnl0ZSBidWZmZXIgY29udGFpbmluZyB0ZXh0IHRvIGFuYWx5c2VcbiAgICogQHBhcmFtIHRleHRMZW4gIHRoZSBzaXplIG9mIHRoZSB0ZXh0IGluIHRoZSBieXRlLlxuICAgKiBAcGFyYW0gZXNjYXBlU2VxdWVuY2VzIHRoZSBieXRlIGVzY2FwZSBzZXF1ZW5jZXMgdG8gdGVzdCBmb3IuXG4gICAqIEByZXR1cm4gbWF0Y2ggcXVhbGl0eSwgaW4gdGhlIHJhbmdlIG9mIDAtMTAwLlxuICAgKi9cblxuICB2YXIgaSwgajtcbiAgdmFyIGVzY047XG4gIHZhciBoaXRzICAgPSAwO1xuICB2YXIgbWlzc2VzID0gMDtcbiAgdmFyIHNoaWZ0cyA9IDA7XG4gIHZhciBxdWFsaXR5O1xuXG4gIC8vIFRPRE86IHJlZmFjdG9yIG1lXG4gIHZhciB0ZXh0ID0gZGV0LmZJbnB1dEJ5dGVzO1xuICB2YXIgdGV4dExlbiA9IGRldC5mSW5wdXRMZW47XG5cbiAgc2NhbklucHV0OlxuICAgIGZvciAoaSA9IDA7IGkgPCB0ZXh0TGVuOyBpKyspIHtcbiAgICAgIGlmICh0ZXh0W2ldID09IDB4MWIpIHtcbiAgICAgICAgY2hlY2tFc2NhcGVzOlxuICAgICAgICAgIGZvciAoZXNjTiA9IDA7IGVzY04gPCB0aGlzLmVzY2FwZVNlcXVlbmNlcy5sZW5ndGg7IGVzY04rKykge1xuICAgICAgICAgICAgdmFyIHNlcSA9IHRoaXMuZXNjYXBlU2VxdWVuY2VzW2VzY05dO1xuXG4gICAgICAgICAgICBpZiAoKHRleHRMZW4gLSBpKSA8IHNlcS5sZW5ndGgpXG4gICAgICAgICAgICAgIGNvbnRpbnVlIGNoZWNrRXNjYXBlcztcblxuICAgICAgICAgICAgZm9yIChqID0gMTsgaiA8IHNlcS5sZW5ndGg7IGorKylcbiAgICAgICAgICAgICAgaWYgKHNlcVtqXSAhPSB0ZXh0W2kgKyBqXSlcbiAgICAgICAgICAgICAgICBjb250aW51ZSBjaGVja0VzY2FwZXM7XG5cblxuICAgICAgICAgICAgaGl0cysrO1xuICAgICAgICAgICAgaSArPSBzZXEubGVuZ3RoIC0gMTtcbiAgICAgICAgICAgIGNvbnRpbnVlIHNjYW5JbnB1dDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtaXNzZXMrKztcbiAgICAgIH1cblxuICAgICAgLy8gU2hpZnQgaW4vb3V0XG4gICAgICBpZiAodGV4dFtpXSA9PSAweDBlIHx8IHRleHRbaV0gPT0gMHgwZilcbiAgICAgICAgc2hpZnRzKys7XG5cbiAgICB9XG5cbiAgaWYgKGhpdHMgPT0gMClcbiAgICByZXR1cm4gbnVsbDtcblxuICAvL1xuICAvLyBJbml0aWFsIHF1YWxpdHkgaXMgYmFzZWQgb24gcmVsYXRpdmUgcHJvcG9ydGlvbiBvZiByZWNvbmdpemVkIHZzLlxuICAvLyAgIHVucmVjb2duaXplZCBlc2NhcGUgc2VxdWVuY2VzLlxuICAvLyAgIEFsbCBnb29kOiAgcXVhbGl0eSA9IDEwMDtcbiAgLy8gICBoYWxmIG9yIGxlc3MgZ29vZDogcXVhbGl0eSA9IDA7XG4gIC8vICAgbGluZWFyIGluYmV0d2Vlbi5cbiAgcXVhbGl0eSA9ICgxMDAgKiBoaXRzIC0gMTAwICogbWlzc2VzKSAvIChoaXRzICsgbWlzc2VzKTtcblxuICAvLyBCYWNrIG9mZiBxdWFsaXR5IGlmIHRoZXJlIHdlcmUgdG9vIGZldyBlc2NhcGUgc2VxdWVuY2VzIHNlZW4uXG4gIC8vICAgSW5jbHVkZSBzaGlmdHMgaW4gdGhpcyBjb21wdXRhdGlvbiwgc28gdGhhdCBLUiBkb2VzIG5vdCBnZXQgcGVuYWxpemVkXG4gIC8vICAgZm9yIGhhdmluZyBvbmx5IGEgc2luZ2xlIEVzY2FwZSBzZXF1ZW5jZSwgYnV0IG1hbnkgc2hpZnRzLlxuICBpZiAoaGl0cyArIHNoaWZ0cyA8IDUpXG4gICAgcXVhbGl0eSAtPSAoNSAtIChoaXRzICsgc2hpZnRzKSkgKiAxMDtcblxuICByZXR1cm4gcXVhbGl0eSA8PSAwID8gbnVsbCA6IG5ldyBNYXRjaChkZXQsIHRoaXMsIHF1YWxpdHkpO1xufTtcblxubW9kdWxlLmV4cG9ydHMuSVNPXzIwMjJfSlAgPSBmdW5jdGlvbigpIHtcbiAgdGhpcy5uYW1lID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdJU08tMjAyMi1KUCc7XG4gIH07XG4gIHRoaXMuZXNjYXBlU2VxdWVuY2VzID0gW1xuICAgIFsgMHgxYiwgMHgyNCwgMHgyOCwgMHg0MyBdLCAgIC8vIEtTIFggMTAwMToxOTkyXG4gICAgWyAweDFiLCAweDI0LCAweDI4LCAweDQ0IF0sICAgLy8gSklTIFggMjEyLTE5OTBcbiAgICBbIDB4MWIsIDB4MjQsIDB4NDAgXSwgICAgICAgICAvLyBKSVMgQyA2MjI2LTE5NzhcbiAgICBbIDB4MWIsIDB4MjQsIDB4NDEgXSwgICAgICAgICAvLyBHQiAyMzEyLTgwXG4gICAgWyAweDFiLCAweDI0LCAweDQyIF0sICAgICAgICAgLy8gSklTIFggMjA4LTE5ODNcbiAgICBbIDB4MWIsIDB4MjYsIDB4NDAgXSwgICAgICAgICAvLyBKSVMgWCAyMDggMTk5MCwgMTk5N1xuICAgIFsgMHgxYiwgMHgyOCwgMHg0MiBdLCAgICAgICAgIC8vIEFTQ0lJXG4gICAgWyAweDFiLCAweDI4LCAweDQ4IF0sICAgICAgICAgLy8gSklTLVJvbWFuXG4gICAgWyAweDFiLCAweDI4LCAweDQ5IF0sICAgICAgICAgLy8gSGFsZi13aWR0aCBrYXRha2FuYVxuICAgIFsgMHgxYiwgMHgyOCwgMHg0YSBdLCAgICAgICAgIC8vIEpJUy1Sb21hblxuICAgIFsgMHgxYiwgMHgyZSwgMHg0MSBdLCAgICAgICAgIC8vIElTTyA4ODU5LTFcbiAgICBbIDB4MWIsIDB4MmUsIDB4NDYgXSAgICAgICAgICAvLyBJU08gODg1OS03XG4gIF07XG59O1xudXRpbC5pbmhlcml0cyhtb2R1bGUuZXhwb3J0cy5JU09fMjAyMl9KUCwgSVNPXzIwMjIpO1xuXG5cblxubW9kdWxlLmV4cG9ydHMuSVNPXzIwMjJfS1IgPSBmdW5jdGlvbigpIHtcbiAgdGhpcy5uYW1lID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdJU08tMjAyMi1LUic7XG4gIH07XG4gIHRoaXMuZXNjYXBlU2VxdWVuY2VzID0gW1xuICAgIFsgMHgxYiwgMHgyNCwgMHgyOSwgMHg0MyBdXG4gIF07XG59O1xudXRpbC5pbmhlcml0cyhtb2R1bGUuZXhwb3J0cy5JU09fMjAyMl9LUiwgSVNPXzIwMjIpO1xuXG5cblxubW9kdWxlLmV4cG9ydHMuSVNPXzIwMjJfQ04gPSBmdW5jdGlvbigpIHtcbiAgdGhpcy5uYW1lID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuICdJU08tMjAyMi1DTic7XG4gIH07XG4gIHRoaXMuZXNjYXBlU2VxdWVuY2VzID0gW1xuICAgIFsgMHgxYiwgMHgyNCwgMHgyOSwgMHg0MSBdLCAgIC8vIEdCIDIzMTItODBcbiAgICBbIDB4MWIsIDB4MjQsIDB4MjksIDB4NDcgXSwgICAvLyBDTlMgMTE2NDMtMTk5MiBQbGFuZSAxXG4gICAgWyAweDFiLCAweDI0LCAweDJBLCAweDQ4IF0sICAgLy8gQ05TIDExNjQzLTE5OTIgUGxhbmUgMlxuICAgIFsgMHgxYiwgMHgyNCwgMHgyOSwgMHg0NSBdLCAgIC8vIElTTy1JUi0xNjVcbiAgICBbIDB4MWIsIDB4MjQsIDB4MkIsIDB4NDkgXSwgICAvLyBDTlMgMTE2NDMtMTk5MiBQbGFuZSAzXG4gICAgWyAweDFiLCAweDI0LCAweDJCLCAweDRBIF0sICAgLy8gQ05TIDExNjQzLTE5OTIgUGxhbmUgNFxuICAgIFsgMHgxYiwgMHgyNCwgMHgyQiwgMHg0QiBdLCAgIC8vIENOUyAxMTY0My0xOTkyIFBsYW5lIDVcbiAgICBbIDB4MWIsIDB4MjQsIDB4MkIsIDB4NEMgXSwgICAvLyBDTlMgMTE2NDMtMTk5MiBQbGFuZSA2XG4gICAgWyAweDFiLCAweDI0LCAweDJCLCAweDREIF0sICAgLy8gQ05TIDExNjQzLTE5OTIgUGxhbmUgN1xuICAgIFsgMHgxYiwgMHg0ZSBdLCAgICAgICAgICAgICAgIC8vIFNTMlxuICAgIFsgMHgxYiwgMHg0ZiBdICAgICAgICAgICAgICAgIC8vIFNTM1xuICBdO1xufTtcbnV0aWwuaW5oZXJpdHMobW9kdWxlLmV4cG9ydHMuSVNPXzIwMjJfQ04sIElTT18yMDIyKTtcbiIsICJcbnZhciBmcyA9IHJlcXVpcmUoJ2ZzJyk7XG5cbnZhciB1dGY4ICA9IHJlcXVpcmUoJy4vZW5jb2RpbmcvdXRmOCcpLFxuICB1bmljb2RlID0gcmVxdWlyZSgnLi9lbmNvZGluZy91bmljb2RlJyksXG4gIG1iY3MgICAgPSByZXF1aXJlKCcuL2VuY29kaW5nL21iY3MnKSxcbiAgc2JjcyAgICA9IHJlcXVpcmUoJy4vZW5jb2Rpbmcvc2JjcycpLFxuICBpc28yMDIyID0gcmVxdWlyZSgnLi9lbmNvZGluZy9pc28yMDIyJyk7XG5cbnZhciBzZWxmID0gdGhpcztcblxudmFyIHJlY29nbmlzZXJzID0gW1xuICBuZXcgdXRmOCxcbiAgbmV3IHVuaWNvZGUuVVRGXzE2QkUsXG4gIG5ldyB1bmljb2RlLlVURl8xNkxFLFxuICBuZXcgdW5pY29kZS5VVEZfMzJCRSxcbiAgbmV3IHVuaWNvZGUuVVRGXzMyTEUsXG4gIG5ldyBtYmNzLnNqaXMsXG4gIG5ldyBtYmNzLmJpZzUsXG4gIG5ldyBtYmNzLmV1Y19qcCxcbiAgbmV3IG1iY3MuZXVjX2tyLFxuICBuZXcgbWJjcy5nYl8xODAzMCxcbiAgbmV3IGlzbzIwMjIuSVNPXzIwMjJfSlAsXG4gIG5ldyBpc28yMDIyLklTT18yMDIyX0tSLFxuICBuZXcgaXNvMjAyMi5JU09fMjAyMl9DTixcbiAgbmV3IHNiY3MuSVNPXzg4NTlfMSxcbiAgbmV3IHNiY3MuSVNPXzg4NTlfMixcbiAgbmV3IHNiY3MuSVNPXzg4NTlfNSxcbiAgbmV3IHNiY3MuSVNPXzg4NTlfNixcbiAgbmV3IHNiY3MuSVNPXzg4NTlfNyxcbiAgbmV3IHNiY3MuSVNPXzg4NTlfOCxcbiAgbmV3IHNiY3MuSVNPXzg4NTlfOSxcbiAgbmV3IHNiY3Mud2luZG93c18xMjUxLFxuICBuZXcgc2Jjcy53aW5kb3dzXzEyNTYsXG4gIG5ldyBzYmNzLktPSThfUlxuXTtcblxubW9kdWxlLmV4cG9ydHMuZGV0ZWN0ID0gZnVuY3Rpb24oYnVmZmVyLCBvcHRzKSB7XG5cbiAgLy8gVGFsbHkgdXAgdGhlIGJ5dGUgb2NjdXJlbmNlIHN0YXRpc3RpY3MuXG4gIHZhciBmQnl0ZVN0YXRzID0gW107XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgMjU2OyBpKyspXG4gICAgZkJ5dGVTdGF0c1tpXSA9IDA7XG5cbiAgZm9yICh2YXIgaSA9IGJ1ZmZlci5sZW5ndGggLSAxOyBpID49IDA7IGktLSlcbiAgICBmQnl0ZVN0YXRzW2J1ZmZlcltpXSAmIDB4MDBmZl0rKztcblxuICB2YXIgZkMxQnl0ZXMgPSBmYWxzZTtcbiAgZm9yICh2YXIgaSA9IDB4ODA7IGkgPD0gMHg5RjsgaSArPSAxKSB7XG4gICAgaWYgKGZCeXRlU3RhdHNbaV0gIT0gMCkge1xuICAgICAgZkMxQnl0ZXMgPSB0cnVlO1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG5cbiAgdmFyIGNvbnRleHQgPSB7XG4gICAgZkJ5dGVTdGF0czogIGZCeXRlU3RhdHMsXG4gICAgZkMxQnl0ZXM6ICAgIGZDMUJ5dGVzLFxuICAgIGZSYXdJbnB1dDogICBidWZmZXIsXG4gICAgZlJhd0xlbmd0aDogIGJ1ZmZlci5sZW5ndGgsXG4gICAgZklucHV0Qnl0ZXM6IGJ1ZmZlcixcbiAgICBmSW5wdXRMZW46ICAgYnVmZmVyLmxlbmd0aFxuICB9O1xuXG4gIHZhciBtYXRjaGVzID0gcmVjb2duaXNlcnMubWFwKGZ1bmN0aW9uKHJlYykge1xuICAgIHJldHVybiByZWMubWF0Y2goY29udGV4dCk7XG4gIH0pLmZpbHRlcihmdW5jdGlvbihtYXRjaCkge1xuICAgIHJldHVybiAhIW1hdGNoO1xuICB9KS5zb3J0KGZ1bmN0aW9uKGEsIGIpIHtcbiAgICByZXR1cm4gYi5jb25maWRlbmNlIC0gYS5jb25maWRlbmNlO1xuICB9KTtcblxuICBpZiAob3B0cyAmJiBvcHRzLnJldHVybkFsbE1hdGNoZXMgPT09IHRydWUpIHtcbiAgICByZXR1cm4gbWF0Y2hlcztcbiAgfVxuICBlbHNlIHtcbiAgICByZXR1cm4gbWF0Y2hlcy5sZW5ndGggPiAwID8gbWF0Y2hlc1swXS5uYW1lIDogbnVsbDtcbiAgfVxufTtcblxubW9kdWxlLmV4cG9ydHMuZGV0ZWN0RmlsZSA9IGZ1bmN0aW9uKGZpbGVwYXRoLCBvcHRzLCBjYikge1xuICBpZiAodHlwZW9mIG9wdHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjYiA9IG9wdHM7XG4gICAgb3B0cyA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHZhciBmZDtcblxuICB2YXIgaGFuZGxlciA9IGZ1bmN0aW9uKGVyciwgYnVmZmVyKSB7XG4gICAgaWYgKGZkKSB7XG4gICAgICBmcy5jbG9zZVN5bmMoZmQpO1xuICAgIH1cblxuICAgIGlmIChlcnIpIHJldHVybiBjYihlcnIsIG51bGwpO1xuICAgIGNiKG51bGwsIHNlbGYuZGV0ZWN0KGJ1ZmZlciwgb3B0cykpO1xuICB9O1xuXG4gIGlmIChvcHRzICYmIG9wdHMuc2FtcGxlU2l6ZSkge1xuICAgIGZkID0gZnMub3BlblN5bmMoZmlsZXBhdGgsICdyJyksXG4gICAgICBzYW1wbGUgPSBCdWZmZXIuYWxsb2NVbnNhZmUob3B0cy5zYW1wbGVTaXplKTtcblxuICAgIGZzLnJlYWQoZmQsIHNhbXBsZSwgMCwgb3B0cy5zYW1wbGVTaXplLCBudWxsLCBmdW5jdGlvbihlcnIpIHtcbiAgICAgIGhhbmRsZXIoZXJyLCBzYW1wbGUpO1xuICAgIH0pO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGZzLnJlYWRGaWxlKGZpbGVwYXRoLCBoYW5kbGVyKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzLmRldGVjdEZpbGVTeW5jID0gZnVuY3Rpb24oZmlsZXBhdGgsIG9wdHMpIHtcbiAgaWYgKG9wdHMgJiYgb3B0cy5zYW1wbGVTaXplKSB7XG4gICAgdmFyIGZkID0gZnMub3BlblN5bmMoZmlsZXBhdGgsICdyJyksXG4gICAgICBzYW1wbGUgPSBCdWZmZXIuYWxsb2NVbnNhZmUob3B0cy5zYW1wbGVTaXplKTtcblxuICAgIGZzLnJlYWRTeW5jKGZkLCBzYW1wbGUsIDAsIG9wdHMuc2FtcGxlU2l6ZSk7XG4gICAgZnMuY2xvc2VTeW5jKGZkKTtcbiAgICByZXR1cm4gc2VsZi5kZXRlY3Qoc2FtcGxlLCBvcHRzKTtcbiAgfVxuXG4gIHJldHVybiBzZWxmLmRldGVjdChmcy5yZWFkRmlsZVN5bmMoZmlsZXBhdGgpLCBvcHRzKTtcbn07XG5cbi8vIFdyYXBwZXJzIGZvciB0aGUgcHJldmlvdXMgZnVuY3Rpb25zIHRvIHJldHVybiBhbGwgZW5jb2RpbmdzXG5tb2R1bGUuZXhwb3J0cy5kZXRlY3RBbGwgPSBmdW5jdGlvbihidWZmZXIsIG9wdHMpIHtcbiAgaWYgKHR5cGVvZiBvcHRzICE9PSAnb2JqZWN0Jykge1xuICAgIG9wdHMgPSB7fTtcbiAgfVxuICBvcHRzLnJldHVybkFsbE1hdGNoZXMgPSB0cnVlO1xuICByZXR1cm4gc2VsZi5kZXRlY3QoYnVmZmVyLCBvcHRzKTtcbn1cblxubW9kdWxlLmV4cG9ydHMuZGV0ZWN0RmlsZUFsbCA9IGZ1bmN0aW9uKGZpbGVwYXRoLCBvcHRzLCBjYikge1xuICBpZiAodHlwZW9mIG9wdHMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBjYiA9IG9wdHM7XG4gICAgb3B0cyA9IHVuZGVmaW5lZDtcbiAgfVxuICBpZiAodHlwZW9mIG9wdHMgIT09ICdvYmplY3QnKSB7XG4gICAgb3B0cyA9IHt9O1xuICB9XG4gIG9wdHMucmV0dXJuQWxsTWF0Y2hlcyA9IHRydWU7XG4gIHNlbGYuZGV0ZWN0RmlsZShmaWxlcGF0aCwgb3B0cywgY2IpO1xufVxuXG5tb2R1bGUuZXhwb3J0cy5kZXRlY3RGaWxlQWxsU3luYyA9IGZ1bmN0aW9uKGZpbGVwYXRoLCBvcHRzKSB7XG4gIGlmICh0eXBlb2Ygb3B0cyAhPT0gJ29iamVjdCcpIHtcbiAgICBvcHRzID0ge307XG4gIH1cbiAgb3B0cy5yZXR1cm5BbGxNYXRjaGVzID0gdHJ1ZTtcbiAgcmV0dXJuIHNlbGYuZGV0ZWN0RmlsZVN5bmMoZmlsZXBhdGgsIG9wdHMpO1xufVxuIiwgIi8qIGVzbGludC1kaXNhYmxlIG5vZGUvbm8tZGVwcmVjYXRlZC1hcGkgKi9cblxuJ3VzZSBzdHJpY3QnXG5cbnZhciBidWZmZXIgPSByZXF1aXJlKCdidWZmZXInKVxudmFyIEJ1ZmZlciA9IGJ1ZmZlci5CdWZmZXJcblxudmFyIHNhZmVyID0ge31cblxudmFyIGtleVxuXG5mb3IgKGtleSBpbiBidWZmZXIpIHtcbiAgaWYgKCFidWZmZXIuaGFzT3duUHJvcGVydHkoa2V5KSkgY29udGludWVcbiAgaWYgKGtleSA9PT0gJ1Nsb3dCdWZmZXInIHx8IGtleSA9PT0gJ0J1ZmZlcicpIGNvbnRpbnVlXG4gIHNhZmVyW2tleV0gPSBidWZmZXJba2V5XVxufVxuXG52YXIgU2FmZXIgPSBzYWZlci5CdWZmZXIgPSB7fVxuZm9yIChrZXkgaW4gQnVmZmVyKSB7XG4gIGlmICghQnVmZmVyLmhhc093blByb3BlcnR5KGtleSkpIGNvbnRpbnVlXG4gIGlmIChrZXkgPT09ICdhbGxvY1Vuc2FmZScgfHwga2V5ID09PSAnYWxsb2NVbnNhZmVTbG93JykgY29udGludWVcbiAgU2FmZXJba2V5XSA9IEJ1ZmZlcltrZXldXG59XG5cbnNhZmVyLkJ1ZmZlci5wcm90b3R5cGUgPSBCdWZmZXIucHJvdG90eXBlXG5cbmlmICghU2FmZXIuZnJvbSB8fCBTYWZlci5mcm9tID09PSBVaW50OEFycmF5LmZyb20pIHtcbiAgU2FmZXIuZnJvbSA9IGZ1bmN0aW9uICh2YWx1ZSwgZW5jb2RpbmdPck9mZnNldCwgbGVuZ3RoKSB7XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcInZhbHVlXCIgYXJndW1lbnQgbXVzdCBub3QgYmUgb2YgdHlwZSBudW1iZXIuIFJlY2VpdmVkIHR5cGUgJyArIHR5cGVvZiB2YWx1ZSlcbiAgICB9XG4gICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZS5sZW5ndGggPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdUaGUgZmlyc3QgYXJndW1lbnQgbXVzdCBiZSBvbmUgb2YgdHlwZSBzdHJpbmcsIEJ1ZmZlciwgQXJyYXlCdWZmZXIsIEFycmF5LCBvciBBcnJheS1saWtlIE9iamVjdC4gUmVjZWl2ZWQgdHlwZSAnICsgdHlwZW9mIHZhbHVlKVxuICAgIH1cbiAgICByZXR1cm4gQnVmZmVyKHZhbHVlLCBlbmNvZGluZ09yT2Zmc2V0LCBsZW5ndGgpXG4gIH1cbn1cblxuaWYgKCFTYWZlci5hbGxvYykge1xuICBTYWZlci5hbGxvYyA9IGZ1bmN0aW9uIChzaXplLCBmaWxsLCBlbmNvZGluZykge1xuICAgIGlmICh0eXBlb2Ygc2l6ZSAhPT0gJ251bWJlcicpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ1RoZSBcInNpemVcIiBhcmd1bWVudCBtdXN0IGJlIG9mIHR5cGUgbnVtYmVyLiBSZWNlaXZlZCB0eXBlICcgKyB0eXBlb2Ygc2l6ZSlcbiAgICB9XG4gICAgaWYgKHNpemUgPCAwIHx8IHNpemUgPj0gMiAqICgxIDw8IDMwKSkge1xuICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ1RoZSB2YWx1ZSBcIicgKyBzaXplICsgJ1wiIGlzIGludmFsaWQgZm9yIG9wdGlvbiBcInNpemVcIicpXG4gICAgfVxuICAgIHZhciBidWYgPSBCdWZmZXIoc2l6ZSlcbiAgICBpZiAoIWZpbGwgfHwgZmlsbC5sZW5ndGggPT09IDApIHtcbiAgICAgIGJ1Zi5maWxsKDApXG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZW5jb2RpbmcgPT09ICdzdHJpbmcnKSB7XG4gICAgICBidWYuZmlsbChmaWxsLCBlbmNvZGluZylcbiAgICB9IGVsc2Uge1xuICAgICAgYnVmLmZpbGwoZmlsbClcbiAgICB9XG4gICAgcmV0dXJuIGJ1ZlxuICB9XG59XG5cbmlmICghc2FmZXIua1N0cmluZ01heExlbmd0aCkge1xuICB0cnkge1xuICAgIHNhZmVyLmtTdHJpbmdNYXhMZW5ndGggPSBwcm9jZXNzLmJpbmRpbmcoJ2J1ZmZlcicpLmtTdHJpbmdNYXhMZW5ndGhcbiAgfSBjYXRjaCAoZSkge1xuICAgIC8vIHdlIGNhbid0IGRldGVybWluZSBrU3RyaW5nTWF4TGVuZ3RoIGluIGVudmlyb25tZW50cyB3aGVyZSBwcm9jZXNzLmJpbmRpbmdcbiAgICAvLyBpcyB1bnN1cHBvcnRlZCwgc28gbGV0J3Mgbm90IHNldCBpdFxuICB9XG59XG5cbmlmICghc2FmZXIuY29uc3RhbnRzKSB7XG4gIHNhZmVyLmNvbnN0YW50cyA9IHtcbiAgICBNQVhfTEVOR1RIOiBzYWZlci5rTWF4TGVuZ3RoXG4gIH1cbiAgaWYgKHNhZmVyLmtTdHJpbmdNYXhMZW5ndGgpIHtcbiAgICBzYWZlci5jb25zdGFudHMuTUFYX1NUUklOR19MRU5HVEggPSBzYWZlci5rU3RyaW5nTWF4TGVuZ3RoXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBzYWZlclxuIiwgIlwidXNlIHN0cmljdFwiO1xuXG52YXIgQk9NQ2hhciA9ICdcXHVGRUZGJztcblxuZXhwb3J0cy5QcmVwZW5kQk9NID0gUHJlcGVuZEJPTVdyYXBwZXJcbmZ1bmN0aW9uIFByZXBlbmRCT01XcmFwcGVyKGVuY29kZXIsIG9wdGlvbnMpIHtcbiAgICB0aGlzLmVuY29kZXIgPSBlbmNvZGVyO1xuICAgIHRoaXMuYWRkQk9NID0gdHJ1ZTtcbn1cblxuUHJlcGVuZEJPTVdyYXBwZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oc3RyKSB7XG4gICAgaWYgKHRoaXMuYWRkQk9NKSB7XG4gICAgICAgIHN0ciA9IEJPTUNoYXIgKyBzdHI7XG4gICAgICAgIHRoaXMuYWRkQk9NID0gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuZW5jb2Rlci53cml0ZShzdHIpO1xufVxuXG5QcmVwZW5kQk9NV3JhcHBlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5jb2Rlci5lbmQoKTtcbn1cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5leHBvcnRzLlN0cmlwQk9NID0gU3RyaXBCT01XcmFwcGVyO1xuZnVuY3Rpb24gU3RyaXBCT01XcmFwcGVyKGRlY29kZXIsIG9wdGlvbnMpIHtcbiAgICB0aGlzLmRlY29kZXIgPSBkZWNvZGVyO1xuICAgIHRoaXMucGFzcyA9IGZhbHNlO1xuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnMgfHwge307XG59XG5cblN0cmlwQk9NV3JhcHBlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihidWYpIHtcbiAgICB2YXIgcmVzID0gdGhpcy5kZWNvZGVyLndyaXRlKGJ1Zik7XG4gICAgaWYgKHRoaXMucGFzcyB8fCAhcmVzKVxuICAgICAgICByZXR1cm4gcmVzO1xuXG4gICAgaWYgKHJlc1swXSA9PT0gQk9NQ2hhcikge1xuICAgICAgICByZXMgPSByZXMuc2xpY2UoMSk7XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5vcHRpb25zLnN0cmlwQk9NID09PSAnZnVuY3Rpb24nKVxuICAgICAgICAgICAgdGhpcy5vcHRpb25zLnN0cmlwQk9NKCk7XG4gICAgfVxuXG4gICAgdGhpcy5wYXNzID0gdHJ1ZTtcbiAgICByZXR1cm4gcmVzO1xufVxuXG5TdHJpcEJPTVdyYXBwZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiB0aGlzLmRlY29kZXIuZW5kKCk7XG59XG5cbiIsICJcInVzZSBzdHJpY3RcIjtcbnZhciBCdWZmZXIgPSByZXF1aXJlKFwic2FmZXItYnVmZmVyXCIpLkJ1ZmZlcjtcblxuLy8gRXhwb3J0IE5vZGUuanMgaW50ZXJuYWwgZW5jb2RpbmdzLlxuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgICAvLyBFbmNvZGluZ3NcbiAgICB1dGY4OiAgIHsgdHlwZTogXCJfaW50ZXJuYWxcIiwgYm9tQXdhcmU6IHRydWV9LFxuICAgIGNlc3U4OiAgeyB0eXBlOiBcIl9pbnRlcm5hbFwiLCBib21Bd2FyZTogdHJ1ZX0sXG4gICAgdW5pY29kZTExdXRmODogXCJ1dGY4XCIsXG5cbiAgICB1Y3MyOiAgIHsgdHlwZTogXCJfaW50ZXJuYWxcIiwgYm9tQXdhcmU6IHRydWV9LFxuICAgIHV0ZjE2bGU6IFwidWNzMlwiLFxuXG4gICAgYmluYXJ5OiB7IHR5cGU6IFwiX2ludGVybmFsXCIgfSxcbiAgICBiYXNlNjQ6IHsgdHlwZTogXCJfaW50ZXJuYWxcIiB9LFxuICAgIGhleDogICAgeyB0eXBlOiBcIl9pbnRlcm5hbFwiIH0sXG5cbiAgICAvLyBDb2RlYy5cbiAgICBfaW50ZXJuYWw6IEludGVybmFsQ29kZWMsXG59O1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5mdW5jdGlvbiBJbnRlcm5hbENvZGVjKGNvZGVjT3B0aW9ucywgaWNvbnYpIHtcbiAgICB0aGlzLmVuYyA9IGNvZGVjT3B0aW9ucy5lbmNvZGluZ05hbWU7XG4gICAgdGhpcy5ib21Bd2FyZSA9IGNvZGVjT3B0aW9ucy5ib21Bd2FyZTtcblxuICAgIGlmICh0aGlzLmVuYyA9PT0gXCJiYXNlNjRcIilcbiAgICAgICAgdGhpcy5lbmNvZGVyID0gSW50ZXJuYWxFbmNvZGVyQmFzZTY0O1xuICAgIGVsc2UgaWYgKHRoaXMuZW5jID09PSBcImNlc3U4XCIpIHtcbiAgICAgICAgdGhpcy5lbmMgPSBcInV0ZjhcIjsgLy8gVXNlIHV0ZjggZm9yIGRlY29kaW5nLlxuICAgICAgICB0aGlzLmVuY29kZXIgPSBJbnRlcm5hbEVuY29kZXJDZXN1ODtcblxuICAgICAgICAvLyBBZGQgZGVjb2RlciBmb3IgdmVyc2lvbnMgb2YgTm9kZSBub3Qgc3VwcG9ydGluZyBDRVNVLThcbiAgICAgICAgaWYgKEJ1ZmZlci5mcm9tKCdlZGEwYmRlZGIyYTknLCAnaGV4JykudG9TdHJpbmcoKSAhPT0gJ1x1RDgzRFx1RENBOScpIHtcbiAgICAgICAgICAgIHRoaXMuZGVjb2RlciA9IEludGVybmFsRGVjb2RlckNlc3U4O1xuICAgICAgICAgICAgdGhpcy5kZWZhdWx0Q2hhclVuaWNvZGUgPSBpY29udi5kZWZhdWx0Q2hhclVuaWNvZGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkludGVybmFsQ29kZWMucHJvdG90eXBlLmVuY29kZXIgPSBJbnRlcm5hbEVuY29kZXI7XG5JbnRlcm5hbENvZGVjLnByb3RvdHlwZS5kZWNvZGVyID0gSW50ZXJuYWxEZWNvZGVyO1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBXZSB1c2Ugbm9kZS5qcyBpbnRlcm5hbCBkZWNvZGVyLiBJdHMgc2lnbmF0dXJlIGlzIHRoZSBzYW1lIGFzIG91cnMuXG52YXIgU3RyaW5nRGVjb2RlciA9IHJlcXVpcmUoJ3N0cmluZ19kZWNvZGVyJykuU3RyaW5nRGVjb2RlcjtcblxuaWYgKCFTdHJpbmdEZWNvZGVyLnByb3RvdHlwZS5lbmQpIC8vIE5vZGUgdjAuOCBkb2Vzbid0IGhhdmUgdGhpcyBtZXRob2QuXG4gICAgU3RyaW5nRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7fTtcblxuXG5mdW5jdGlvbiBJbnRlcm5hbERlY29kZXIob3B0aW9ucywgY29kZWMpIHtcbiAgICBTdHJpbmdEZWNvZGVyLmNhbGwodGhpcywgY29kZWMuZW5jKTtcbn1cblxuSW50ZXJuYWxEZWNvZGVyLnByb3RvdHlwZSA9IFN0cmluZ0RlY29kZXIucHJvdG90eXBlO1xuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFbmNvZGVyIGlzIG1vc3RseSB0cml2aWFsXG5cbmZ1bmN0aW9uIEludGVybmFsRW5jb2RlcihvcHRpb25zLCBjb2RlYykge1xuICAgIHRoaXMuZW5jID0gY29kZWMuZW5jO1xufVxuXG5JbnRlcm5hbEVuY29kZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oc3RyKSB7XG4gICAgcmV0dXJuIEJ1ZmZlci5mcm9tKHN0ciwgdGhpcy5lbmMpO1xufVxuXG5JbnRlcm5hbEVuY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBFeGNlcHQgYmFzZTY0IGVuY29kZXIsIHdoaWNoIG11c3Qga2VlcCBpdHMgc3RhdGUuXG5cbmZ1bmN0aW9uIEludGVybmFsRW5jb2RlckJhc2U2NChvcHRpb25zLCBjb2RlYykge1xuICAgIHRoaXMucHJldlN0ciA9ICcnO1xufVxuXG5JbnRlcm5hbEVuY29kZXJCYXNlNjQucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oc3RyKSB7XG4gICAgc3RyID0gdGhpcy5wcmV2U3RyICsgc3RyO1xuICAgIHZhciBjb21wbGV0ZVF1YWRzID0gc3RyLmxlbmd0aCAtIChzdHIubGVuZ3RoICUgNCk7XG4gICAgdGhpcy5wcmV2U3RyID0gc3RyLnNsaWNlKGNvbXBsZXRlUXVhZHMpO1xuICAgIHN0ciA9IHN0ci5zbGljZSgwLCBjb21wbGV0ZVF1YWRzKTtcblxuICAgIHJldHVybiBCdWZmZXIuZnJvbShzdHIsIFwiYmFzZTY0XCIpO1xufVxuXG5JbnRlcm5hbEVuY29kZXJCYXNlNjQucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgIHJldHVybiBCdWZmZXIuZnJvbSh0aGlzLnByZXZTdHIsIFwiYmFzZTY0XCIpO1xufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDRVNVLTggZW5jb2RlciBpcyBhbHNvIHNwZWNpYWwuXG5cbmZ1bmN0aW9uIEludGVybmFsRW5jb2RlckNlc3U4KG9wdGlvbnMsIGNvZGVjKSB7XG59XG5cbkludGVybmFsRW5jb2RlckNlc3U4LnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKHN0cikge1xuICAgIHZhciBidWYgPSBCdWZmZXIuYWxsb2Moc3RyLmxlbmd0aCAqIDMpLCBidWZJZHggPSAwO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjaGFyQ29kZSA9IHN0ci5jaGFyQ29kZUF0KGkpO1xuICAgICAgICAvLyBOYWl2ZSBpbXBsZW1lbnRhdGlvbiwgYnV0IGl0IHdvcmtzIGJlY2F1c2UgQ0VTVS04IGlzIGVzcGVjaWFsbHkgZWFzeVxuICAgICAgICAvLyB0byBjb252ZXJ0IGZyb20gVVRGLTE2ICh3aGljaCBhbGwgSlMgc3RyaW5ncyBhcmUgZW5jb2RlZCBpbikuXG4gICAgICAgIGlmIChjaGFyQ29kZSA8IDB4ODApXG4gICAgICAgICAgICBidWZbYnVmSWR4KytdID0gY2hhckNvZGU7XG4gICAgICAgIGVsc2UgaWYgKGNoYXJDb2RlIDwgMHg4MDApIHtcbiAgICAgICAgICAgIGJ1ZltidWZJZHgrK10gPSAweEMwICsgKGNoYXJDb2RlID4+PiA2KTtcbiAgICAgICAgICAgIGJ1ZltidWZJZHgrK10gPSAweDgwICsgKGNoYXJDb2RlICYgMHgzZik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7IC8vIGNoYXJDb2RlIHdpbGwgYWx3YXlzIGJlIDwgMHgxMDAwMCBpbiBqYXZhc2NyaXB0LlxuICAgICAgICAgICAgYnVmW2J1ZklkeCsrXSA9IDB4RTAgKyAoY2hhckNvZGUgPj4+IDEyKTtcbiAgICAgICAgICAgIGJ1ZltidWZJZHgrK10gPSAweDgwICsgKChjaGFyQ29kZSA+Pj4gNikgJiAweDNmKTtcbiAgICAgICAgICAgIGJ1ZltidWZJZHgrK10gPSAweDgwICsgKGNoYXJDb2RlICYgMHgzZik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGJ1Zi5zbGljZSgwLCBidWZJZHgpO1xufVxuXG5JbnRlcm5hbEVuY29kZXJDZXN1OC5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDRVNVLTggZGVjb2RlciBpcyBub3QgaW1wbGVtZW50ZWQgaW4gTm9kZSB2NC4wK1xuXG5mdW5jdGlvbiBJbnRlcm5hbERlY29kZXJDZXN1OChvcHRpb25zLCBjb2RlYykge1xuICAgIHRoaXMuYWNjID0gMDtcbiAgICB0aGlzLmNvbnRCeXRlcyA9IDA7XG4gICAgdGhpcy5hY2NCeXRlcyA9IDA7XG4gICAgdGhpcy5kZWZhdWx0Q2hhclVuaWNvZGUgPSBjb2RlYy5kZWZhdWx0Q2hhclVuaWNvZGU7XG59XG5cbkludGVybmFsRGVjb2RlckNlc3U4LnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgIHZhciBhY2MgPSB0aGlzLmFjYywgY29udEJ5dGVzID0gdGhpcy5jb250Qnl0ZXMsIGFjY0J5dGVzID0gdGhpcy5hY2NCeXRlcywgXG4gICAgICAgIHJlcyA9ICcnO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnVmLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjdXJCeXRlID0gYnVmW2ldO1xuICAgICAgICBpZiAoKGN1ckJ5dGUgJiAweEMwKSAhPT0gMHg4MCkgeyAvLyBMZWFkaW5nIGJ5dGVcbiAgICAgICAgICAgIGlmIChjb250Qnl0ZXMgPiAwKSB7IC8vIFByZXZpb3VzIGNvZGUgaXMgaW52YWxpZFxuICAgICAgICAgICAgICAgIHJlcyArPSB0aGlzLmRlZmF1bHRDaGFyVW5pY29kZTtcbiAgICAgICAgICAgICAgICBjb250Qnl0ZXMgPSAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoY3VyQnl0ZSA8IDB4ODApIHsgLy8gU2luZ2xlLWJ5dGUgY29kZVxuICAgICAgICAgICAgICAgIHJlcyArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGN1ckJ5dGUpO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjdXJCeXRlIDwgMHhFMCkgeyAvLyBUd28tYnl0ZSBjb2RlXG4gICAgICAgICAgICAgICAgYWNjID0gY3VyQnl0ZSAmIDB4MUY7XG4gICAgICAgICAgICAgICAgY29udEJ5dGVzID0gMTsgYWNjQnl0ZXMgPSAxO1xuICAgICAgICAgICAgfSBlbHNlIGlmIChjdXJCeXRlIDwgMHhGMCkgeyAvLyBUaHJlZS1ieXRlIGNvZGVcbiAgICAgICAgICAgICAgICBhY2MgPSBjdXJCeXRlICYgMHgwRjtcbiAgICAgICAgICAgICAgICBjb250Qnl0ZXMgPSAyOyBhY2NCeXRlcyA9IDE7XG4gICAgICAgICAgICB9IGVsc2UgeyAvLyBGb3VyIG9yIG1vcmUgYXJlIG5vdCBzdXBwb3J0ZWQgZm9yIENFU1UtOC5cbiAgICAgICAgICAgICAgICByZXMgKz0gdGhpcy5kZWZhdWx0Q2hhclVuaWNvZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7IC8vIENvbnRpbnVhdGlvbiBieXRlXG4gICAgICAgICAgICBpZiAoY29udEJ5dGVzID4gMCkgeyAvLyBXZSdyZSB3YWl0aW5nIGZvciBpdC5cbiAgICAgICAgICAgICAgICBhY2MgPSAoYWNjIDw8IDYpIHwgKGN1ckJ5dGUgJiAweDNmKTtcbiAgICAgICAgICAgICAgICBjb250Qnl0ZXMtLTsgYWNjQnl0ZXMrKztcbiAgICAgICAgICAgICAgICBpZiAoY29udEJ5dGVzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIENoZWNrIGZvciBvdmVybG9uZyBlbmNvZGluZywgYnV0IHN1cHBvcnQgTW9kaWZpZWQgVVRGLTggKGVuY29kaW5nIE5VTEwgYXMgQzAgODApXG4gICAgICAgICAgICAgICAgICAgIGlmIChhY2NCeXRlcyA9PT0gMiAmJiBhY2MgPCAweDgwICYmIGFjYyA+IDApXG4gICAgICAgICAgICAgICAgICAgICAgICByZXMgKz0gdGhpcy5kZWZhdWx0Q2hhclVuaWNvZGU7XG4gICAgICAgICAgICAgICAgICAgIGVsc2UgaWYgKGFjY0J5dGVzID09PSAzICYmIGFjYyA8IDB4ODAwKVxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzICs9IHRoaXMuZGVmYXVsdENoYXJVbmljb2RlO1xuICAgICAgICAgICAgICAgICAgICBlbHNlXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBBY3R1YWxseSBhZGQgY2hhcmFjdGVyLlxuICAgICAgICAgICAgICAgICAgICAgICAgcmVzICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYWNjKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2UgeyAvLyBVbmV4cGVjdGVkIGNvbnRpbnVhdGlvbiBieXRlXG4gICAgICAgICAgICAgICAgcmVzICs9IHRoaXMuZGVmYXVsdENoYXJVbmljb2RlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIHRoaXMuYWNjID0gYWNjOyB0aGlzLmNvbnRCeXRlcyA9IGNvbnRCeXRlczsgdGhpcy5hY2NCeXRlcyA9IGFjY0J5dGVzO1xuICAgIHJldHVybiByZXM7XG59XG5cbkludGVybmFsRGVjb2RlckNlc3U4LnByb3RvdHlwZS5lbmQgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgcmVzID0gMDtcbiAgICBpZiAodGhpcy5jb250Qnl0ZXMgPiAwKVxuICAgICAgICByZXMgKz0gdGhpcy5kZWZhdWx0Q2hhclVuaWNvZGU7XG4gICAgcmV0dXJuIHJlcztcbn1cbiIsICJcInVzZSBzdHJpY3RcIjtcbnZhciBCdWZmZXIgPSByZXF1aXJlKFwic2FmZXItYnVmZmVyXCIpLkJ1ZmZlcjtcblxuLy8gTm90ZTogVVRGMTYtTEUgKG9yIFVDUzIpIGNvZGVjIGlzIE5vZGUuanMgbmF0aXZlLiBTZWUgZW5jb2RpbmdzL2ludGVybmFsLmpzXG5cbi8vID09IFVURjE2LUJFIGNvZGVjLiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmV4cG9ydHMudXRmMTZiZSA9IFV0ZjE2QkVDb2RlYztcbmZ1bmN0aW9uIFV0ZjE2QkVDb2RlYygpIHtcbn1cblxuVXRmMTZCRUNvZGVjLnByb3RvdHlwZS5lbmNvZGVyID0gVXRmMTZCRUVuY29kZXI7XG5VdGYxNkJFQ29kZWMucHJvdG90eXBlLmRlY29kZXIgPSBVdGYxNkJFRGVjb2RlcjtcblV0ZjE2QkVDb2RlYy5wcm90b3R5cGUuYm9tQXdhcmUgPSB0cnVlO1xuXG5cbi8vIC0tIEVuY29kaW5nXG5cbmZ1bmN0aW9uIFV0ZjE2QkVFbmNvZGVyKCkge1xufVxuXG5VdGYxNkJFRW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICB2YXIgYnVmID0gQnVmZmVyLmZyb20oc3RyLCAndWNzMicpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgYnVmLmxlbmd0aDsgaSArPSAyKSB7XG4gICAgICAgIHZhciB0bXAgPSBidWZbaV07IGJ1ZltpXSA9IGJ1ZltpKzFdOyBidWZbaSsxXSA9IHRtcDtcbiAgICB9XG4gICAgcmV0dXJuIGJ1Zjtcbn1cblxuVXRmMTZCRUVuY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xufVxuXG5cbi8vIC0tIERlY29kaW5nXG5cbmZ1bmN0aW9uIFV0ZjE2QkVEZWNvZGVyKCkge1xuICAgIHRoaXMub3ZlcmZsb3dCeXRlID0gLTE7XG59XG5cblV0ZjE2QkVEZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgIGlmIChidWYubGVuZ3RoID09IDApXG4gICAgICAgIHJldHVybiAnJztcblxuICAgIHZhciBidWYyID0gQnVmZmVyLmFsbG9jKGJ1Zi5sZW5ndGggKyAxKSxcbiAgICAgICAgaSA9IDAsIGogPSAwO1xuXG4gICAgaWYgKHRoaXMub3ZlcmZsb3dCeXRlICE9PSAtMSkge1xuICAgICAgICBidWYyWzBdID0gYnVmWzBdO1xuICAgICAgICBidWYyWzFdID0gdGhpcy5vdmVyZmxvd0J5dGU7XG4gICAgICAgIGkgPSAxOyBqID0gMjtcbiAgICB9XG5cbiAgICBmb3IgKDsgaSA8IGJ1Zi5sZW5ndGgtMTsgaSArPSAyLCBqKz0gMikge1xuICAgICAgICBidWYyW2pdID0gYnVmW2krMV07XG4gICAgICAgIGJ1ZjJbaisxXSA9IGJ1ZltpXTtcbiAgICB9XG5cbiAgICB0aGlzLm92ZXJmbG93Qnl0ZSA9IChpID09IGJ1Zi5sZW5ndGgtMSkgPyBidWZbYnVmLmxlbmd0aC0xXSA6IC0xO1xuXG4gICAgcmV0dXJuIGJ1ZjIuc2xpY2UoMCwgaikudG9TdHJpbmcoJ3VjczInKTtcbn1cblxuVXRmMTZCRURlY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xufVxuXG5cbi8vID09IFVURi0xNiBjb2RlYyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBEZWNvZGVyIGNob29zZXMgYXV0b21hdGljYWxseSBmcm9tIFVURi0xNkxFIGFuZCBVVEYtMTZCRSB1c2luZyBCT00gYW5kIHNwYWNlLWJhc2VkIGhldXJpc3RpYy5cbi8vIERlZmF1bHRzIHRvIFVURi0xNkxFLCBhcyBpdCdzIHByZXZhbGVudCBhbmQgZGVmYXVsdCBpbiBOb2RlLlxuLy8gaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9VVEYtMTYgYW5kIGh0dHA6Ly9lbmNvZGluZy5zcGVjLndoYXR3Zy5vcmcvI3V0Zi0xNmxlXG4vLyBEZWNvZGVyIGRlZmF1bHQgY2FuIGJlIGNoYW5nZWQ6IGljb252LmRlY29kZShidWYsICd1dGYxNicsIHtkZWZhdWx0RW5jb2Rpbmc6ICd1dGYtMTZiZSd9KTtcblxuLy8gRW5jb2RlciB1c2VzIFVURi0xNkxFIGFuZCBwcmVwZW5kcyBCT00gKHdoaWNoIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggYWRkQk9NOiBmYWxzZSkuXG5cbmV4cG9ydHMudXRmMTYgPSBVdGYxNkNvZGVjO1xuZnVuY3Rpb24gVXRmMTZDb2RlYyhjb2RlY09wdGlvbnMsIGljb252KSB7XG4gICAgdGhpcy5pY29udiA9IGljb252O1xufVxuXG5VdGYxNkNvZGVjLnByb3RvdHlwZS5lbmNvZGVyID0gVXRmMTZFbmNvZGVyO1xuVXRmMTZDb2RlYy5wcm90b3R5cGUuZGVjb2RlciA9IFV0ZjE2RGVjb2RlcjtcblxuXG4vLyAtLSBFbmNvZGluZyAocGFzcy10aHJvdWdoKVxuXG5mdW5jdGlvbiBVdGYxNkVuY29kZXIob3B0aW9ucywgY29kZWMpIHtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICBpZiAob3B0aW9ucy5hZGRCT00gPT09IHVuZGVmaW5lZClcbiAgICAgICAgb3B0aW9ucy5hZGRCT00gPSB0cnVlO1xuICAgIHRoaXMuZW5jb2RlciA9IGNvZGVjLmljb252LmdldEVuY29kZXIoJ3V0Zi0xNmxlJywgb3B0aW9ucyk7XG59XG5cblV0ZjE2RW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICByZXR1cm4gdGhpcy5lbmNvZGVyLndyaXRlKHN0cik7XG59XG5cblV0ZjE2RW5jb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5jb2Rlci5lbmQoKTtcbn1cblxuXG4vLyAtLSBEZWNvZGluZ1xuXG5mdW5jdGlvbiBVdGYxNkRlY29kZXIob3B0aW9ucywgY29kZWMpIHtcbiAgICB0aGlzLmRlY29kZXIgPSBudWxsO1xuICAgIHRoaXMuaW5pdGlhbEJ5dGVzID0gW107XG4gICAgdGhpcy5pbml0aWFsQnl0ZXNMZW4gPSAwO1xuXG4gICAgdGhpcy5vcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICB0aGlzLmljb252ID0gY29kZWMuaWNvbnY7XG59XG5cblV0ZjE2RGVjb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihidWYpIHtcbiAgICBpZiAoIXRoaXMuZGVjb2Rlcikge1xuICAgICAgICAvLyBDb2RlYyBpcyBub3QgY2hvc2VuIHlldC4gQWNjdW11bGF0ZSBpbml0aWFsIGJ5dGVzLlxuICAgICAgICB0aGlzLmluaXRpYWxCeXRlcy5wdXNoKGJ1Zik7XG4gICAgICAgIHRoaXMuaW5pdGlhbEJ5dGVzTGVuICs9IGJ1Zi5sZW5ndGg7XG4gICAgICAgIFxuICAgICAgICBpZiAodGhpcy5pbml0aWFsQnl0ZXNMZW4gPCAxNikgLy8gV2UgbmVlZCBtb3JlIGJ5dGVzIHRvIHVzZSBzcGFjZSBoZXVyaXN0aWMgKHNlZSBiZWxvdylcbiAgICAgICAgICAgIHJldHVybiAnJztcblxuICAgICAgICAvLyBXZSBoYXZlIGVub3VnaCBieXRlcyAtPiBkZXRlY3QgZW5kaWFubmVzcy5cbiAgICAgICAgdmFyIGJ1ZiA9IEJ1ZmZlci5jb25jYXQodGhpcy5pbml0aWFsQnl0ZXMpLFxuICAgICAgICAgICAgZW5jb2RpbmcgPSBkZXRlY3RFbmNvZGluZyhidWYsIHRoaXMub3B0aW9ucy5kZWZhdWx0RW5jb2RpbmcpO1xuICAgICAgICB0aGlzLmRlY29kZXIgPSB0aGlzLmljb252LmdldERlY29kZXIoZW5jb2RpbmcsIHRoaXMub3B0aW9ucyk7XG4gICAgICAgIHRoaXMuaW5pdGlhbEJ5dGVzLmxlbmd0aCA9IHRoaXMuaW5pdGlhbEJ5dGVzTGVuID0gMDtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kZWNvZGVyLndyaXRlKGJ1Zik7XG59XG5cblV0ZjE2RGVjb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgaWYgKCF0aGlzLmRlY29kZXIpIHtcbiAgICAgICAgdmFyIGJ1ZiA9IEJ1ZmZlci5jb25jYXQodGhpcy5pbml0aWFsQnl0ZXMpLFxuICAgICAgICAgICAgZW5jb2RpbmcgPSBkZXRlY3RFbmNvZGluZyhidWYsIHRoaXMub3B0aW9ucy5kZWZhdWx0RW5jb2RpbmcpO1xuICAgICAgICB0aGlzLmRlY29kZXIgPSB0aGlzLmljb252LmdldERlY29kZXIoZW5jb2RpbmcsIHRoaXMub3B0aW9ucyk7XG5cbiAgICAgICAgdmFyIHJlcyA9IHRoaXMuZGVjb2Rlci53cml0ZShidWYpLFxuICAgICAgICAgICAgdHJhaWwgPSB0aGlzLmRlY29kZXIuZW5kKCk7XG5cbiAgICAgICAgcmV0dXJuIHRyYWlsID8gKHJlcyArIHRyYWlsKSA6IHJlcztcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZGVjb2Rlci5lbmQoKTtcbn1cblxuZnVuY3Rpb24gZGV0ZWN0RW5jb2RpbmcoYnVmLCBkZWZhdWx0RW5jb2RpbmcpIHtcbiAgICB2YXIgZW5jID0gZGVmYXVsdEVuY29kaW5nIHx8ICd1dGYtMTZsZSc7XG5cbiAgICBpZiAoYnVmLmxlbmd0aCA+PSAyKSB7XG4gICAgICAgIC8vIENoZWNrIEJPTS5cbiAgICAgICAgaWYgKGJ1ZlswXSA9PSAweEZFICYmIGJ1ZlsxXSA9PSAweEZGKSAvLyBVVEYtMTZCRSBCT01cbiAgICAgICAgICAgIGVuYyA9ICd1dGYtMTZiZSc7XG4gICAgICAgIGVsc2UgaWYgKGJ1ZlswXSA9PSAweEZGICYmIGJ1ZlsxXSA9PSAweEZFKSAvLyBVVEYtMTZMRSBCT01cbiAgICAgICAgICAgIGVuYyA9ICd1dGYtMTZsZSc7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgLy8gTm8gQk9NIGZvdW5kLiBUcnkgdG8gZGVkdWNlIGVuY29kaW5nIGZyb20gaW5pdGlhbCBjb250ZW50LlxuICAgICAgICAgICAgLy8gTW9zdCBvZiB0aGUgdGltZSwgdGhlIGNvbnRlbnQgaGFzIEFTQ0lJIGNoYXJzIChVKzAwKiopLCBidXQgdGhlIG9wcG9zaXRlIChVKyoqMDApIGlzIHVuY29tbW9uLlxuICAgICAgICAgICAgLy8gU28sIHdlIGNvdW50IEFTQ0lJIGFzIGlmIGl0IHdhcyBMRSBvciBCRSwgYW5kIGRlY2lkZSBmcm9tIHRoYXQuXG4gICAgICAgICAgICB2YXIgYXNjaWlDaGFyc0xFID0gMCwgYXNjaWlDaGFyc0JFID0gMCwgLy8gQ291bnRzIG9mIGNoYXJzIGluIGJvdGggcG9zaXRpb25zXG4gICAgICAgICAgICAgICAgX2xlbiA9IE1hdGgubWluKGJ1Zi5sZW5ndGggLSAoYnVmLmxlbmd0aCAlIDIpLCA2NCk7IC8vIExlbiBpcyBhbHdheXMgZXZlbi5cblxuICAgICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBfbGVuOyBpICs9IDIpIHtcbiAgICAgICAgICAgICAgICBpZiAoYnVmW2ldID09PSAwICYmIGJ1ZltpKzFdICE9PSAwKSBhc2NpaUNoYXJzQkUrKztcbiAgICAgICAgICAgICAgICBpZiAoYnVmW2ldICE9PSAwICYmIGJ1ZltpKzFdID09PSAwKSBhc2NpaUNoYXJzTEUrKztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGFzY2lpQ2hhcnNCRSA+IGFzY2lpQ2hhcnNMRSlcbiAgICAgICAgICAgICAgICBlbmMgPSAndXRmLTE2YmUnO1xuICAgICAgICAgICAgZWxzZSBpZiAoYXNjaWlDaGFyc0JFIDwgYXNjaWlDaGFyc0xFKVxuICAgICAgICAgICAgICAgIGVuYyA9ICd1dGYtMTZsZSc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gZW5jO1xufVxuXG5cbiIsICJcInVzZSBzdHJpY3RcIjtcbnZhciBCdWZmZXIgPSByZXF1aXJlKFwic2FmZXItYnVmZmVyXCIpLkJ1ZmZlcjtcblxuLy8gVVRGLTcgY29kZWMsIGFjY29yZGluZyB0byBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMjE1MlxuLy8gU2VlIGFsc28gYmVsb3cgYSBVVEYtNy1JTUFQIGNvZGVjLCBhY2NvcmRpbmcgdG8gaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzUwMSNzZWN0aW9uLTUuMS4zXG5cbmV4cG9ydHMudXRmNyA9IFV0ZjdDb2RlYztcbmV4cG9ydHMudW5pY29kZTExdXRmNyA9ICd1dGY3JzsgLy8gQWxpYXMgVU5JQ09ERS0xLTEtVVRGLTdcbmZ1bmN0aW9uIFV0ZjdDb2RlYyhjb2RlY09wdGlvbnMsIGljb252KSB7XG4gICAgdGhpcy5pY29udiA9IGljb252O1xufTtcblxuVXRmN0NvZGVjLnByb3RvdHlwZS5lbmNvZGVyID0gVXRmN0VuY29kZXI7XG5VdGY3Q29kZWMucHJvdG90eXBlLmRlY29kZXIgPSBVdGY3RGVjb2RlcjtcblV0ZjdDb2RlYy5wcm90b3R5cGUuYm9tQXdhcmUgPSB0cnVlO1xuXG5cbi8vIC0tIEVuY29kaW5nXG5cbnZhciBub25EaXJlY3RDaGFycyA9IC9bXkEtWmEtejAtOSdcXChcXCksLVxcLlxcLzpcXD8gXFxuXFxyXFx0XSsvZztcblxuZnVuY3Rpb24gVXRmN0VuY29kZXIob3B0aW9ucywgY29kZWMpIHtcbiAgICB0aGlzLmljb252ID0gY29kZWMuaWNvbnY7XG59XG5cblV0ZjdFbmNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKHN0cikge1xuICAgIC8vIE5haXZlIGltcGxlbWVudGF0aW9uLlxuICAgIC8vIE5vbi1kaXJlY3QgY2hhcnMgYXJlIGVuY29kZWQgYXMgXCIrPGJhc2U2ND4tXCI7IHNpbmdsZSBcIitcIiBjaGFyIGlzIGVuY29kZWQgYXMgXCIrLVwiLlxuICAgIHJldHVybiBCdWZmZXIuZnJvbShzdHIucmVwbGFjZShub25EaXJlY3RDaGFycywgZnVuY3Rpb24oY2h1bmspIHtcbiAgICAgICAgcmV0dXJuIFwiK1wiICsgKGNodW5rID09PSAnKycgPyAnJyA6IFxuICAgICAgICAgICAgdGhpcy5pY29udi5lbmNvZGUoY2h1bmssICd1dGYxNi1iZScpLnRvU3RyaW5nKCdiYXNlNjQnKS5yZXBsYWNlKC89KyQvLCAnJykpIFxuICAgICAgICAgICAgKyBcIi1cIjtcbiAgICB9LmJpbmQodGhpcykpKTtcbn1cblxuVXRmN0VuY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xufVxuXG5cbi8vIC0tIERlY29kaW5nXG5cbmZ1bmN0aW9uIFV0ZjdEZWNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgdGhpcy5pY29udiA9IGNvZGVjLmljb252O1xuICAgIHRoaXMuaW5CYXNlNjQgPSBmYWxzZTtcbiAgICB0aGlzLmJhc2U2NEFjY3VtID0gJyc7XG59XG5cbnZhciBiYXNlNjRSZWdleCA9IC9bQS1aYS16MC05XFwvK10vO1xudmFyIGJhc2U2NENoYXJzID0gW107XG5mb3IgKHZhciBpID0gMDsgaSA8IDI1NjsgaSsrKVxuICAgIGJhc2U2NENoYXJzW2ldID0gYmFzZTY0UmVnZXgudGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKGkpKTtcblxudmFyIHBsdXNDaGFyID0gJysnLmNoYXJDb2RlQXQoMCksIFxuICAgIG1pbnVzQ2hhciA9ICctJy5jaGFyQ29kZUF0KDApLFxuICAgIGFuZENoYXIgPSAnJicuY2hhckNvZGVBdCgwKTtcblxuVXRmN0RlY29kZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oYnVmKSB7XG4gICAgdmFyIHJlcyA9IFwiXCIsIGxhc3RJID0gMCxcbiAgICAgICAgaW5CYXNlNjQgPSB0aGlzLmluQmFzZTY0LFxuICAgICAgICBiYXNlNjRBY2N1bSA9IHRoaXMuYmFzZTY0QWNjdW07XG5cbiAgICAvLyBUaGUgZGVjb2RlciBpcyBtb3JlIGludm9sdmVkIGFzIHdlIG11c3QgaGFuZGxlIGNodW5rcyBpbiBzdHJlYW0uXG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ1Zi5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZiAoIWluQmFzZTY0KSB7IC8vIFdlJ3JlIGluIGRpcmVjdCBtb2RlLlxuICAgICAgICAgICAgLy8gV3JpdGUgZGlyZWN0IGNoYXJzIHVudGlsICcrJ1xuICAgICAgICAgICAgaWYgKGJ1ZltpXSA9PSBwbHVzQ2hhcikge1xuICAgICAgICAgICAgICAgIHJlcyArPSB0aGlzLmljb252LmRlY29kZShidWYuc2xpY2UobGFzdEksIGkpLCBcImFzY2lpXCIpOyAvLyBXcml0ZSBkaXJlY3QgY2hhcnMuXG4gICAgICAgICAgICAgICAgbGFzdEkgPSBpKzE7XG4gICAgICAgICAgICAgICAgaW5CYXNlNjQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgeyAvLyBXZSBkZWNvZGUgYmFzZTY0LlxuICAgICAgICAgICAgaWYgKCFiYXNlNjRDaGFyc1tidWZbaV1dKSB7IC8vIEJhc2U2NCBlbmRlZC5cbiAgICAgICAgICAgICAgICBpZiAoaSA9PSBsYXN0SSAmJiBidWZbaV0gPT0gbWludXNDaGFyKSB7Ly8gXCIrLVwiIC0+IFwiK1wiXG4gICAgICAgICAgICAgICAgICAgIHJlcyArPSBcIitcIjtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB2YXIgYjY0c3RyID0gYmFzZTY0QWNjdW0gKyBidWYuc2xpY2UobGFzdEksIGkpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgICAgIHJlcyArPSB0aGlzLmljb252LmRlY29kZShCdWZmZXIuZnJvbShiNjRzdHIsICdiYXNlNjQnKSwgXCJ1dGYxNi1iZVwiKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoYnVmW2ldICE9IG1pbnVzQ2hhcikgLy8gTWludXMgaXMgYWJzb3JiZWQgYWZ0ZXIgYmFzZTY0LlxuICAgICAgICAgICAgICAgICAgICBpLS07XG5cbiAgICAgICAgICAgICAgICBsYXN0SSA9IGkrMTtcbiAgICAgICAgICAgICAgICBpbkJhc2U2NCA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIGJhc2U2NEFjY3VtID0gJyc7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWluQmFzZTY0KSB7XG4gICAgICAgIHJlcyArPSB0aGlzLmljb252LmRlY29kZShidWYuc2xpY2UobGFzdEkpLCBcImFzY2lpXCIpOyAvLyBXcml0ZSBkaXJlY3QgY2hhcnMuXG4gICAgfSBlbHNlIHtcbiAgICAgICAgdmFyIGI2NHN0ciA9IGJhc2U2NEFjY3VtICsgYnVmLnNsaWNlKGxhc3RJKS50b1N0cmluZygpO1xuXG4gICAgICAgIHZhciBjYW5CZURlY29kZWQgPSBiNjRzdHIubGVuZ3RoIC0gKGI2NHN0ci5sZW5ndGggJSA4KTsgLy8gTWluaW1hbCBjaHVuazogMiBxdWFkcyAtPiAyeDMgYnl0ZXMgLT4gMyBjaGFycy5cbiAgICAgICAgYmFzZTY0QWNjdW0gPSBiNjRzdHIuc2xpY2UoY2FuQmVEZWNvZGVkKTsgLy8gVGhlIHJlc3Qgd2lsbCBiZSBkZWNvZGVkIGluIGZ1dHVyZS5cbiAgICAgICAgYjY0c3RyID0gYjY0c3RyLnNsaWNlKDAsIGNhbkJlRGVjb2RlZCk7XG5cbiAgICAgICAgcmVzICs9IHRoaXMuaWNvbnYuZGVjb2RlKEJ1ZmZlci5mcm9tKGI2NHN0ciwgJ2Jhc2U2NCcpLCBcInV0ZjE2LWJlXCIpO1xuICAgIH1cblxuICAgIHRoaXMuaW5CYXNlNjQgPSBpbkJhc2U2NDtcbiAgICB0aGlzLmJhc2U2NEFjY3VtID0gYmFzZTY0QWNjdW07XG5cbiAgICByZXR1cm4gcmVzO1xufVxuXG5VdGY3RGVjb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIHJlcyA9IFwiXCI7XG4gICAgaWYgKHRoaXMuaW5CYXNlNjQgJiYgdGhpcy5iYXNlNjRBY2N1bS5sZW5ndGggPiAwKVxuICAgICAgICByZXMgPSB0aGlzLmljb252LmRlY29kZShCdWZmZXIuZnJvbSh0aGlzLmJhc2U2NEFjY3VtLCAnYmFzZTY0JyksIFwidXRmMTYtYmVcIik7XG5cbiAgICB0aGlzLmluQmFzZTY0ID0gZmFsc2U7XG4gICAgdGhpcy5iYXNlNjRBY2N1bSA9ICcnO1xuICAgIHJldHVybiByZXM7XG59XG5cblxuLy8gVVRGLTctSU1BUCBjb2RlYy5cbi8vIFJGQzM1MDEgU2VjLiA1LjEuMyBNb2RpZmllZCBVVEYtNyAoaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjMzUwMSNzZWN0aW9uLTUuMS4zKVxuLy8gRGlmZmVyZW5jZXM6XG4vLyAgKiBCYXNlNjQgcGFydCBpcyBzdGFydGVkIGJ5IFwiJlwiIGluc3RlYWQgb2YgXCIrXCJcbi8vICAqIERpcmVjdCBjaGFyYWN0ZXJzIGFyZSAweDIwLTB4N0UsIGV4Y2VwdCBcIiZcIiAoMHgyNilcbi8vICAqIEluIEJhc2U2NCwgXCIsXCIgaXMgdXNlZCBpbnN0ZWFkIG9mIFwiL1wiXG4vLyAgKiBCYXNlNjQgbXVzdCBub3QgYmUgdXNlZCB0byByZXByZXNlbnQgZGlyZWN0IGNoYXJhY3RlcnMuXG4vLyAgKiBObyBpbXBsaWNpdCBzaGlmdCBiYWNrIGZyb20gQmFzZTY0IChzaG91bGQgYWx3YXlzIGVuZCB3aXRoICctJylcbi8vICAqIFN0cmluZyBtdXN0IGVuZCBpbiBub24tc2hpZnRlZCBwb3NpdGlvbi5cbi8vICAqIFwiLSZcIiB3aGlsZSBpbiBiYXNlNjQgaXMgbm90IGFsbG93ZWQuXG5cblxuZXhwb3J0cy51dGY3aW1hcCA9IFV0ZjdJTUFQQ29kZWM7XG5mdW5jdGlvbiBVdGY3SU1BUENvZGVjKGNvZGVjT3B0aW9ucywgaWNvbnYpIHtcbiAgICB0aGlzLmljb252ID0gaWNvbnY7XG59O1xuXG5VdGY3SU1BUENvZGVjLnByb3RvdHlwZS5lbmNvZGVyID0gVXRmN0lNQVBFbmNvZGVyO1xuVXRmN0lNQVBDb2RlYy5wcm90b3R5cGUuZGVjb2RlciA9IFV0ZjdJTUFQRGVjb2RlcjtcblV0ZjdJTUFQQ29kZWMucHJvdG90eXBlLmJvbUF3YXJlID0gdHJ1ZTtcblxuXG4vLyAtLSBFbmNvZGluZ1xuXG5mdW5jdGlvbiBVdGY3SU1BUEVuY29kZXIob3B0aW9ucywgY29kZWMpIHtcbiAgICB0aGlzLmljb252ID0gY29kZWMuaWNvbnY7XG4gICAgdGhpcy5pbkJhc2U2NCA9IGZhbHNlO1xuICAgIHRoaXMuYmFzZTY0QWNjdW0gPSBCdWZmZXIuYWxsb2MoNik7XG4gICAgdGhpcy5iYXNlNjRBY2N1bUlkeCA9IDA7XG59XG5cblV0ZjdJTUFQRW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICB2YXIgaW5CYXNlNjQgPSB0aGlzLmluQmFzZTY0LFxuICAgICAgICBiYXNlNjRBY2N1bSA9IHRoaXMuYmFzZTY0QWNjdW0sXG4gICAgICAgIGJhc2U2NEFjY3VtSWR4ID0gdGhpcy5iYXNlNjRBY2N1bUlkeCxcbiAgICAgICAgYnVmID0gQnVmZmVyLmFsbG9jKHN0ci5sZW5ndGgqNSArIDEwKSwgYnVmSWR4ID0gMDtcblxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciB1Q2hhciA9IHN0ci5jaGFyQ29kZUF0KGkpO1xuICAgICAgICBpZiAoMHgyMCA8PSB1Q2hhciAmJiB1Q2hhciA8PSAweDdFKSB7IC8vIERpcmVjdCBjaGFyYWN0ZXIgb3IgJyYnLlxuICAgICAgICAgICAgaWYgKGluQmFzZTY0KSB7XG4gICAgICAgICAgICAgICAgaWYgKGJhc2U2NEFjY3VtSWR4ID4gMCkge1xuICAgICAgICAgICAgICAgICAgICBidWZJZHggKz0gYnVmLndyaXRlKGJhc2U2NEFjY3VtLnNsaWNlKDAsIGJhc2U2NEFjY3VtSWR4KS50b1N0cmluZygnYmFzZTY0JykucmVwbGFjZSgvXFwvL2csICcsJykucmVwbGFjZSgvPSskLywgJycpLCBidWZJZHgpO1xuICAgICAgICAgICAgICAgICAgICBiYXNlNjRBY2N1bUlkeCA9IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYnVmW2J1ZklkeCsrXSA9IG1pbnVzQ2hhcjsgLy8gV3JpdGUgJy0nLCB0aGVuIGdvIHRvIGRpcmVjdCBtb2RlLlxuICAgICAgICAgICAgICAgIGluQmFzZTY0ID0gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghaW5CYXNlNjQpIHtcbiAgICAgICAgICAgICAgICBidWZbYnVmSWR4KytdID0gdUNoYXI7IC8vIFdyaXRlIGRpcmVjdCBjaGFyYWN0ZXJcblxuICAgICAgICAgICAgICAgIGlmICh1Q2hhciA9PT0gYW5kQ2hhcikgIC8vIEFtcGVyc2FuZCAtPiAnJi0nXG4gICAgICAgICAgICAgICAgICAgIGJ1ZltidWZJZHgrK10gPSBtaW51c0NoYXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfSBlbHNlIHsgLy8gTm9uLWRpcmVjdCBjaGFyYWN0ZXJcbiAgICAgICAgICAgIGlmICghaW5CYXNlNjQpIHtcbiAgICAgICAgICAgICAgICBidWZbYnVmSWR4KytdID0gYW5kQ2hhcjsgLy8gV3JpdGUgJyYnLCB0aGVuIGdvIHRvIGJhc2U2NCBtb2RlLlxuICAgICAgICAgICAgICAgIGluQmFzZTY0ID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpbkJhc2U2NCkge1xuICAgICAgICAgICAgICAgIGJhc2U2NEFjY3VtW2Jhc2U2NEFjY3VtSWR4KytdID0gdUNoYXIgPj4gODtcbiAgICAgICAgICAgICAgICBiYXNlNjRBY2N1bVtiYXNlNjRBY2N1bUlkeCsrXSA9IHVDaGFyICYgMHhGRjtcblxuICAgICAgICAgICAgICAgIGlmIChiYXNlNjRBY2N1bUlkeCA9PSBiYXNlNjRBY2N1bS5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgYnVmSWR4ICs9IGJ1Zi53cml0ZShiYXNlNjRBY2N1bS50b1N0cmluZygnYmFzZTY0JykucmVwbGFjZSgvXFwvL2csICcsJyksIGJ1ZklkeCk7XG4gICAgICAgICAgICAgICAgICAgIGJhc2U2NEFjY3VtSWR4ID0gMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmluQmFzZTY0ID0gaW5CYXNlNjQ7XG4gICAgdGhpcy5iYXNlNjRBY2N1bUlkeCA9IGJhc2U2NEFjY3VtSWR4O1xuXG4gICAgcmV0dXJuIGJ1Zi5zbGljZSgwLCBidWZJZHgpO1xufVxuXG5VdGY3SU1BUEVuY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgIHZhciBidWYgPSBCdWZmZXIuYWxsb2MoMTApLCBidWZJZHggPSAwO1xuICAgIGlmICh0aGlzLmluQmFzZTY0KSB7XG4gICAgICAgIGlmICh0aGlzLmJhc2U2NEFjY3VtSWR4ID4gMCkge1xuICAgICAgICAgICAgYnVmSWR4ICs9IGJ1Zi53cml0ZSh0aGlzLmJhc2U2NEFjY3VtLnNsaWNlKDAsIHRoaXMuYmFzZTY0QWNjdW1JZHgpLnRvU3RyaW5nKCdiYXNlNjQnKS5yZXBsYWNlKC9cXC8vZywgJywnKS5yZXBsYWNlKC89KyQvLCAnJyksIGJ1ZklkeCk7XG4gICAgICAgICAgICB0aGlzLmJhc2U2NEFjY3VtSWR4ID0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1ZltidWZJZHgrK10gPSBtaW51c0NoYXI7IC8vIFdyaXRlICctJywgdGhlbiBnbyB0byBkaXJlY3QgbW9kZS5cbiAgICAgICAgdGhpcy5pbkJhc2U2NCA9IGZhbHNlO1xuICAgIH1cblxuICAgIHJldHVybiBidWYuc2xpY2UoMCwgYnVmSWR4KTtcbn1cblxuXG4vLyAtLSBEZWNvZGluZ1xuXG5mdW5jdGlvbiBVdGY3SU1BUERlY29kZXIob3B0aW9ucywgY29kZWMpIHtcbiAgICB0aGlzLmljb252ID0gY29kZWMuaWNvbnY7XG4gICAgdGhpcy5pbkJhc2U2NCA9IGZhbHNlO1xuICAgIHRoaXMuYmFzZTY0QWNjdW0gPSAnJztcbn1cblxudmFyIGJhc2U2NElNQVBDaGFycyA9IGJhc2U2NENoYXJzLnNsaWNlKCk7XG5iYXNlNjRJTUFQQ2hhcnNbJywnLmNoYXJDb2RlQXQoMCldID0gdHJ1ZTtcblxuVXRmN0lNQVBEZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgIHZhciByZXMgPSBcIlwiLCBsYXN0SSA9IDAsXG4gICAgICAgIGluQmFzZTY0ID0gdGhpcy5pbkJhc2U2NCxcbiAgICAgICAgYmFzZTY0QWNjdW0gPSB0aGlzLmJhc2U2NEFjY3VtO1xuXG4gICAgLy8gVGhlIGRlY29kZXIgaXMgbW9yZSBpbnZvbHZlZCBhcyB3ZSBtdXN0IGhhbmRsZSBjaHVua3MgaW4gc3RyZWFtLlxuICAgIC8vIEl0IGlzIGZvcmdpdmluZywgY2xvc2VyIHRvIHN0YW5kYXJkIFVURi03IChmb3IgZXhhbXBsZSwgJy0nIGlzIG9wdGlvbmFsIGF0IHRoZSBlbmQpLlxuXG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBidWYubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgaWYgKCFpbkJhc2U2NCkgeyAvLyBXZSdyZSBpbiBkaXJlY3QgbW9kZS5cbiAgICAgICAgICAgIC8vIFdyaXRlIGRpcmVjdCBjaGFycyB1bnRpbCAnJidcbiAgICAgICAgICAgIGlmIChidWZbaV0gPT0gYW5kQ2hhcikge1xuICAgICAgICAgICAgICAgIHJlcyArPSB0aGlzLmljb252LmRlY29kZShidWYuc2xpY2UobGFzdEksIGkpLCBcImFzY2lpXCIpOyAvLyBXcml0ZSBkaXJlY3QgY2hhcnMuXG4gICAgICAgICAgICAgICAgbGFzdEkgPSBpKzE7XG4gICAgICAgICAgICAgICAgaW5CYXNlNjQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgeyAvLyBXZSBkZWNvZGUgYmFzZTY0LlxuICAgICAgICAgICAgaWYgKCFiYXNlNjRJTUFQQ2hhcnNbYnVmW2ldXSkgeyAvLyBCYXNlNjQgZW5kZWQuXG4gICAgICAgICAgICAgICAgaWYgKGkgPT0gbGFzdEkgJiYgYnVmW2ldID09IG1pbnVzQ2hhcikgeyAvLyBcIiYtXCIgLT4gXCImXCJcbiAgICAgICAgICAgICAgICAgICAgcmVzICs9IFwiJlwiO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHZhciBiNjRzdHIgPSBiYXNlNjRBY2N1bSArIGJ1Zi5zbGljZShsYXN0SSwgaSkudG9TdHJpbmcoKS5yZXBsYWNlKC8sL2csICcvJyk7XG4gICAgICAgICAgICAgICAgICAgIHJlcyArPSB0aGlzLmljb252LmRlY29kZShCdWZmZXIuZnJvbShiNjRzdHIsICdiYXNlNjQnKSwgXCJ1dGYxNi1iZVwiKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAoYnVmW2ldICE9IG1pbnVzQ2hhcikgLy8gTWludXMgbWF5IGJlIGFic29yYmVkIGFmdGVyIGJhc2U2NC5cbiAgICAgICAgICAgICAgICAgICAgaS0tO1xuXG4gICAgICAgICAgICAgICAgbGFzdEkgPSBpKzE7XG4gICAgICAgICAgICAgICAgaW5CYXNlNjQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICBiYXNlNjRBY2N1bSA9ICcnO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaWYgKCFpbkJhc2U2NCkge1xuICAgICAgICByZXMgKz0gdGhpcy5pY29udi5kZWNvZGUoYnVmLnNsaWNlKGxhc3RJKSwgXCJhc2NpaVwiKTsgLy8gV3JpdGUgZGlyZWN0IGNoYXJzLlxuICAgIH0gZWxzZSB7XG4gICAgICAgIHZhciBiNjRzdHIgPSBiYXNlNjRBY2N1bSArIGJ1Zi5zbGljZShsYXN0SSkudG9TdHJpbmcoKS5yZXBsYWNlKC8sL2csICcvJyk7XG5cbiAgICAgICAgdmFyIGNhbkJlRGVjb2RlZCA9IGI2NHN0ci5sZW5ndGggLSAoYjY0c3RyLmxlbmd0aCAlIDgpOyAvLyBNaW5pbWFsIGNodW5rOiAyIHF1YWRzIC0+IDJ4MyBieXRlcyAtPiAzIGNoYXJzLlxuICAgICAgICBiYXNlNjRBY2N1bSA9IGI2NHN0ci5zbGljZShjYW5CZURlY29kZWQpOyAvLyBUaGUgcmVzdCB3aWxsIGJlIGRlY29kZWQgaW4gZnV0dXJlLlxuICAgICAgICBiNjRzdHIgPSBiNjRzdHIuc2xpY2UoMCwgY2FuQmVEZWNvZGVkKTtcblxuICAgICAgICByZXMgKz0gdGhpcy5pY29udi5kZWNvZGUoQnVmZmVyLmZyb20oYjY0c3RyLCAnYmFzZTY0JyksIFwidXRmMTYtYmVcIik7XG4gICAgfVxuXG4gICAgdGhpcy5pbkJhc2U2NCA9IGluQmFzZTY0O1xuICAgIHRoaXMuYmFzZTY0QWNjdW0gPSBiYXNlNjRBY2N1bTtcblxuICAgIHJldHVybiByZXM7XG59XG5cblV0ZjdJTUFQRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIHJlcyA9IFwiXCI7XG4gICAgaWYgKHRoaXMuaW5CYXNlNjQgJiYgdGhpcy5iYXNlNjRBY2N1bS5sZW5ndGggPiAwKVxuICAgICAgICByZXMgPSB0aGlzLmljb252LmRlY29kZShCdWZmZXIuZnJvbSh0aGlzLmJhc2U2NEFjY3VtLCAnYmFzZTY0JyksIFwidXRmMTYtYmVcIik7XG5cbiAgICB0aGlzLmluQmFzZTY0ID0gZmFsc2U7XG4gICAgdGhpcy5iYXNlNjRBY2N1bSA9ICcnO1xuICAgIHJldHVybiByZXM7XG59XG5cblxuIiwgIlwidXNlIHN0cmljdFwiO1xudmFyIEJ1ZmZlciA9IHJlcXVpcmUoXCJzYWZlci1idWZmZXJcIikuQnVmZmVyO1xuXG4vLyBTaW5nbGUtYnl0ZSBjb2RlYy4gTmVlZHMgYSAnY2hhcnMnIHN0cmluZyBwYXJhbWV0ZXIgdGhhdCBjb250YWlucyAyNTYgb3IgMTI4IGNoYXJzIHRoYXRcbi8vIGNvcnJlc3BvbmQgdG8gZW5jb2RlZCBieXRlcyAoaWYgMTI4IC0gdGhlbiBsb3dlciBoYWxmIGlzIEFTQ0lJKS4gXG5cbmV4cG9ydHMuX3NiY3MgPSBTQkNTQ29kZWM7XG5mdW5jdGlvbiBTQkNTQ29kZWMoY29kZWNPcHRpb25zLCBpY29udikge1xuICAgIGlmICghY29kZWNPcHRpb25zKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJTQkNTIGNvZGVjIGlzIGNhbGxlZCB3aXRob3V0IHRoZSBkYXRhLlwiKVxuICAgIFxuICAgIC8vIFByZXBhcmUgY2hhciBidWZmZXIgZm9yIGRlY29kaW5nLlxuICAgIGlmICghY29kZWNPcHRpb25zLmNoYXJzIHx8IChjb2RlY09wdGlvbnMuY2hhcnMubGVuZ3RoICE9PSAxMjggJiYgY29kZWNPcHRpb25zLmNoYXJzLmxlbmd0aCAhPT0gMjU2KSlcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRW5jb2RpbmcgJ1wiK2NvZGVjT3B0aW9ucy50eXBlK1wiJyBoYXMgaW5jb3JyZWN0ICdjaGFycycgKG11c3QgYmUgb2YgbGVuIDEyOCBvciAyNTYpXCIpO1xuICAgIFxuICAgIGlmIChjb2RlY09wdGlvbnMuY2hhcnMubGVuZ3RoID09PSAxMjgpIHtcbiAgICAgICAgdmFyIGFzY2lpU3RyaW5nID0gXCJcIjtcbiAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMjg7IGkrKylcbiAgICAgICAgICAgIGFzY2lpU3RyaW5nICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoaSk7XG4gICAgICAgIGNvZGVjT3B0aW9ucy5jaGFycyA9IGFzY2lpU3RyaW5nICsgY29kZWNPcHRpb25zLmNoYXJzO1xuICAgIH1cblxuICAgIHRoaXMuZGVjb2RlQnVmID0gQnVmZmVyLmZyb20oY29kZWNPcHRpb25zLmNoYXJzLCAndWNzMicpO1xuICAgIFxuICAgIC8vIEVuY29kaW5nIGJ1ZmZlci5cbiAgICB2YXIgZW5jb2RlQnVmID0gQnVmZmVyLmFsbG9jKDY1NTM2LCBpY29udi5kZWZhdWx0Q2hhclNpbmdsZUJ5dGUuY2hhckNvZGVBdCgwKSk7XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGNvZGVjT3B0aW9ucy5jaGFycy5sZW5ndGg7IGkrKylcbiAgICAgICAgZW5jb2RlQnVmW2NvZGVjT3B0aW9ucy5jaGFycy5jaGFyQ29kZUF0KGkpXSA9IGk7XG5cbiAgICB0aGlzLmVuY29kZUJ1ZiA9IGVuY29kZUJ1Zjtcbn1cblxuU0JDU0NvZGVjLnByb3RvdHlwZS5lbmNvZGVyID0gU0JDU0VuY29kZXI7XG5TQkNTQ29kZWMucHJvdG90eXBlLmRlY29kZXIgPSBTQkNTRGVjb2RlcjtcblxuXG5mdW5jdGlvbiBTQkNTRW5jb2RlcihvcHRpb25zLCBjb2RlYykge1xuICAgIHRoaXMuZW5jb2RlQnVmID0gY29kZWMuZW5jb2RlQnVmO1xufVxuXG5TQkNTRW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICB2YXIgYnVmID0gQnVmZmVyLmFsbG9jKHN0ci5sZW5ndGgpO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKVxuICAgICAgICBidWZbaV0gPSB0aGlzLmVuY29kZUJ1ZltzdHIuY2hhckNvZGVBdChpKV07XG4gICAgXG4gICAgcmV0dXJuIGJ1Zjtcbn1cblxuU0JDU0VuY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xufVxuXG5cbmZ1bmN0aW9uIFNCQ1NEZWNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgdGhpcy5kZWNvZGVCdWYgPSBjb2RlYy5kZWNvZGVCdWY7XG59XG5cblNCQ1NEZWNvZGVyLnByb3RvdHlwZS53cml0ZSA9IGZ1bmN0aW9uKGJ1Zikge1xuICAgIC8vIFN0cmluZ3MgYXJlIGltbXV0YWJsZSBpbiBKUyAtPiB3ZSB1c2UgdWNzMiBidWZmZXIgdG8gc3BlZWQgdXAgY29tcHV0YXRpb25zLlxuICAgIHZhciBkZWNvZGVCdWYgPSB0aGlzLmRlY29kZUJ1ZjtcbiAgICB2YXIgbmV3QnVmID0gQnVmZmVyLmFsbG9jKGJ1Zi5sZW5ndGgqMik7XG4gICAgdmFyIGlkeDEgPSAwLCBpZHgyID0gMDtcbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGJ1Zi5sZW5ndGg7IGkrKykge1xuICAgICAgICBpZHgxID0gYnVmW2ldKjI7IGlkeDIgPSBpKjI7XG4gICAgICAgIG5ld0J1ZltpZHgyXSA9IGRlY29kZUJ1ZltpZHgxXTtcbiAgICAgICAgbmV3QnVmW2lkeDIrMV0gPSBkZWNvZGVCdWZbaWR4MSsxXTtcbiAgICB9XG4gICAgcmV0dXJuIG5ld0J1Zi50b1N0cmluZygndWNzMicpO1xufVxuXG5TQkNTRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG59XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8vIE1hbnVhbGx5IGFkZGVkIGRhdGEgdG8gYmUgdXNlZCBieSBzYmNzIGNvZGVjIGluIGFkZGl0aW9uIHRvIGdlbmVyYXRlZCBvbmUuXG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICAgIC8vIE5vdCBzdXBwb3J0ZWQgYnkgaWNvbnYsIG5vdCBzdXJlIHdoeS5cbiAgICBcIjEwMDI5XCI6IFwibWFjY2VudGV1cm9cIixcbiAgICBcIm1hY2NlbnRldXJvXCI6IHtcbiAgICAgICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICAgICAgXCJjaGFyc1wiOiBcIlx1MDBDNFx1MDEwMFx1MDEwMVx1MDBDOVx1MDEwNFx1MDBENlx1MDBEQ1x1MDBFMVx1MDEwNVx1MDEwQ1x1MDBFNFx1MDEwRFx1MDEwNlx1MDEwN1x1MDBFOVx1MDE3OVx1MDE3QVx1MDEwRVx1MDBFRFx1MDEwRlx1MDExMlx1MDExM1x1MDExNlx1MDBGM1x1MDExN1x1MDBGNFx1MDBGNlx1MDBGNVx1MDBGQVx1MDExQVx1MDExQlx1MDBGQ1x1MjAyMFx1MDBCMFx1MDExOFx1MDBBM1x1MDBBN1x1MjAyMlx1MDBCNlx1MDBERlx1MDBBRVx1MDBBOVx1MjEyMlx1MDExOVx1MDBBOFx1MjI2MFx1MDEyM1x1MDEyRVx1MDEyRlx1MDEyQVx1MjI2NFx1MjI2NVx1MDEyQlx1MDEzNlx1MjIwMlx1MjIxMVx1MDE0Mlx1MDEzQlx1MDEzQ1x1MDEzRFx1MDEzRVx1MDEzOVx1MDEzQVx1MDE0NVx1MDE0Nlx1MDE0M1x1MDBBQ1x1MjIxQVx1MDE0NFx1MDE0N1x1MjIwNlx1MDBBQlx1MDBCQlx1MjAyNlx1MDBBMFx1MDE0OFx1MDE1MFx1MDBENVx1MDE1MVx1MDE0Q1x1MjAxM1x1MjAxNFx1MjAxQ1x1MjAxRFx1MjAxOFx1MjAxOVx1MDBGN1x1MjVDQVx1MDE0RFx1MDE1NFx1MDE1NVx1MDE1OFx1MjAzOVx1MjAzQVx1MDE1OVx1MDE1Nlx1MDE1N1x1MDE2MFx1MjAxQVx1MjAxRVx1MDE2MVx1MDE1QVx1MDE1Qlx1MDBDMVx1MDE2NFx1MDE2NVx1MDBDRFx1MDE3RFx1MDE3RVx1MDE2QVx1MDBEM1x1MDBENFx1MDE2Qlx1MDE2RVx1MDBEQVx1MDE2Rlx1MDE3MFx1MDE3MVx1MDE3Mlx1MDE3M1x1MDBERFx1MDBGRFx1MDEzN1x1MDE3Qlx1MDE0MVx1MDE3Q1x1MDEyMlx1MDJDN1wiXG4gICAgfSxcblxuICAgIFwiODA4XCI6IFwiY3A4MDhcIixcbiAgICBcImlibTgwOFwiOiBcImNwODA4XCIsXG4gICAgXCJjcDgwOFwiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcdTA0MTBcdTA0MTFcdTA0MTJcdTA0MTNcdTA0MTRcdTA0MTVcdTA0MTZcdTA0MTdcdTA0MThcdTA0MTlcdTA0MUFcdTA0MUJcdTA0MUNcdTA0MURcdTA0MUVcdTA0MUZcdTA0MjBcdTA0MjFcdTA0MjJcdTA0MjNcdTA0MjRcdTA0MjVcdTA0MjZcdTA0MjdcdTA0MjhcdTA0MjlcdTA0MkFcdTA0MkJcdTA0MkNcdTA0MkRcdTA0MkVcdTA0MkZcdTA0MzBcdTA0MzFcdTA0MzJcdTA0MzNcdTA0MzRcdTA0MzVcdTA0MzZcdTA0MzdcdTA0MzhcdTA0MzlcdTA0M0FcdTA0M0JcdTA0M0NcdTA0M0RcdTA0M0VcdTA0M0ZcdTI1OTFcdTI1OTJcdTI1OTNcdTI1MDJcdTI1MjRcdTI1NjFcdTI1NjJcdTI1NTZcdTI1NTVcdTI1NjNcdTI1NTFcdTI1NTdcdTI1NURcdTI1NUNcdTI1NUJcdTI1MTBcdTI1MTRcdTI1MzRcdTI1MkNcdTI1MUNcdTI1MDBcdTI1M0NcdTI1NUVcdTI1NUZcdTI1NUFcdTI1NTRcdTI1NjlcdTI1NjZcdTI1NjBcdTI1NTBcdTI1NkNcdTI1NjdcdTI1NjhcdTI1NjRcdTI1NjVcdTI1NTlcdTI1NThcdTI1NTJcdTI1NTNcdTI1NkJcdTI1NkFcdTI1MThcdTI1MENcdTI1ODhcdTI1ODRcdTI1OENcdTI1OTBcdTI1ODBcdTA0NDBcdTA0NDFcdTA0NDJcdTA0NDNcdTA0NDRcdTA0NDVcdTA0NDZcdTA0NDdcdTA0NDhcdTA0NDlcdTA0NEFcdTA0NEJcdTA0NENcdTA0NERcdTA0NEVcdTA0NEZcdTA0MDFcdTA0NTFcdTA0MDRcdTA0NTRcdTA0MDdcdTA0NTdcdTA0MEVcdTA0NUVcdTAwQjBcdTIyMTlcdTAwQjdcdTIyMUFcdTIxMTZcdTIwQUNcdTI1QTBcdTAwQTBcIlxuICAgIH0sXG5cbiAgICBcIm1pa1wiOiB7XG4gICAgICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgICAgIFwiY2hhcnNcIjogXCJcdTA0MTBcdTA0MTFcdTA0MTJcdTA0MTNcdTA0MTRcdTA0MTVcdTA0MTZcdTA0MTdcdTA0MThcdTA0MTlcdTA0MUFcdTA0MUJcdTA0MUNcdTA0MURcdTA0MUVcdTA0MUZcdTA0MjBcdTA0MjFcdTA0MjJcdTA0MjNcdTA0MjRcdTA0MjVcdTA0MjZcdTA0MjdcdTA0MjhcdTA0MjlcdTA0MkFcdTA0MkJcdTA0MkNcdTA0MkRcdTA0MkVcdTA0MkZcdTA0MzBcdTA0MzFcdTA0MzJcdTA0MzNcdTA0MzRcdTA0MzVcdTA0MzZcdTA0MzdcdTA0MzhcdTA0MzlcdTA0M0FcdTA0M0JcdTA0M0NcdTA0M0RcdTA0M0VcdTA0M0ZcdTA0NDBcdTA0NDFcdTA0NDJcdTA0NDNcdTA0NDRcdTA0NDVcdTA0NDZcdTA0NDdcdTA0NDhcdTA0NDlcdTA0NEFcdTA0NEJcdTA0NENcdTA0NERcdTA0NEVcdTA0NEZcdTI1MTRcdTI1MzRcdTI1MkNcdTI1MUNcdTI1MDBcdTI1M0NcdTI1NjNcdTI1NTFcdTI1NUFcdTI1NTRcdTI1NjlcdTI1NjZcdTI1NjBcdTI1NTBcdTI1NkNcdTI1MTBcdTI1OTFcdTI1OTJcdTI1OTNcdTI1MDJcdTI1MjRcdTIxMTZcdTAwQTdcdTI1NTdcdTI1NURcdTI1MThcdTI1MENcdTI1ODhcdTI1ODRcdTI1OENcdTI1OTBcdTI1ODBcdTAzQjFcdTAwREZcdTAzOTNcdTAzQzBcdTAzQTNcdTAzQzNcdTAwQjVcdTAzQzRcdTAzQTZcdTAzOThcdTAzQTlcdTAzQjRcdTIyMUVcdTAzQzZcdTAzQjVcdTIyMjlcdTIyNjFcdTAwQjFcdTIyNjVcdTIyNjRcdTIzMjBcdTIzMjFcdTAwRjdcdTIyNDhcdTAwQjBcdTIyMTlcdTAwQjdcdTIyMUFcdTIwN0ZcdTAwQjJcdTI1QTBcdTAwQTBcIlxuICAgIH0sXG5cbiAgICAvLyBBbGlhc2VzIG9mIGdlbmVyYXRlZCBlbmNvZGluZ3MuXG4gICAgXCJhc2NpaThiaXRcIjogXCJhc2NpaVwiLFxuICAgIFwidXNhc2NpaVwiOiBcImFzY2lpXCIsXG4gICAgXCJhbnNpeDM0XCI6IFwiYXNjaWlcIixcbiAgICBcImFuc2l4MzQxOTY4XCI6IFwiYXNjaWlcIixcbiAgICBcImFuc2l4MzQxOTg2XCI6IFwiYXNjaWlcIixcbiAgICBcImNzYXNjaWlcIjogXCJhc2NpaVwiLFxuICAgIFwiY3AzNjdcIjogXCJhc2NpaVwiLFxuICAgIFwiaWJtMzY3XCI6IFwiYXNjaWlcIixcbiAgICBcImlzb2lyNlwiOiBcImFzY2lpXCIsXG4gICAgXCJpc282NDZ1c1wiOiBcImFzY2lpXCIsXG4gICAgXCJpc282NDZpcnZcIjogXCJhc2NpaVwiLFxuICAgIFwidXNcIjogXCJhc2NpaVwiLFxuXG4gICAgXCJsYXRpbjFcIjogXCJpc284ODU5MVwiLFxuICAgIFwibGF0aW4yXCI6IFwiaXNvODg1OTJcIixcbiAgICBcImxhdGluM1wiOiBcImlzbzg4NTkzXCIsXG4gICAgXCJsYXRpbjRcIjogXCJpc284ODU5NFwiLFxuICAgIFwibGF0aW41XCI6IFwiaXNvODg1OTlcIixcbiAgICBcImxhdGluNlwiOiBcImlzbzg4NTkxMFwiLFxuICAgIFwibGF0aW43XCI6IFwiaXNvODg1OTEzXCIsXG4gICAgXCJsYXRpbjhcIjogXCJpc284ODU5MTRcIixcbiAgICBcImxhdGluOVwiOiBcImlzbzg4NTkxNVwiLFxuICAgIFwibGF0aW4xMFwiOiBcImlzbzg4NTkxNlwiLFxuXG4gICAgXCJjc2lzb2xhdGluMVwiOiBcImlzbzg4NTkxXCIsXG4gICAgXCJjc2lzb2xhdGluMlwiOiBcImlzbzg4NTkyXCIsXG4gICAgXCJjc2lzb2xhdGluM1wiOiBcImlzbzg4NTkzXCIsXG4gICAgXCJjc2lzb2xhdGluNFwiOiBcImlzbzg4NTk0XCIsXG4gICAgXCJjc2lzb2xhdGluY3lyaWxsaWNcIjogXCJpc284ODU5NVwiLFxuICAgIFwiY3Npc29sYXRpbmFyYWJpY1wiOiBcImlzbzg4NTk2XCIsXG4gICAgXCJjc2lzb2xhdGluZ3JlZWtcIiA6IFwiaXNvODg1OTdcIixcbiAgICBcImNzaXNvbGF0aW5oZWJyZXdcIjogXCJpc284ODU5OFwiLFxuICAgIFwiY3Npc29sYXRpbjVcIjogXCJpc284ODU5OVwiLFxuICAgIFwiY3Npc29sYXRpbjZcIjogXCJpc284ODU5MTBcIixcblxuICAgIFwibDFcIjogXCJpc284ODU5MVwiLFxuICAgIFwibDJcIjogXCJpc284ODU5MlwiLFxuICAgIFwibDNcIjogXCJpc284ODU5M1wiLFxuICAgIFwibDRcIjogXCJpc284ODU5NFwiLFxuICAgIFwibDVcIjogXCJpc284ODU5OVwiLFxuICAgIFwibDZcIjogXCJpc284ODU5MTBcIixcbiAgICBcImw3XCI6IFwiaXNvODg1OTEzXCIsXG4gICAgXCJsOFwiOiBcImlzbzg4NTkxNFwiLFxuICAgIFwibDlcIjogXCJpc284ODU5MTVcIixcbiAgICBcImwxMFwiOiBcImlzbzg4NTkxNlwiLFxuXG4gICAgXCJpc29pcjE0XCI6IFwiaXNvNjQ2anBcIixcbiAgICBcImlzb2lyNTdcIjogXCJpc282NDZjblwiLFxuICAgIFwiaXNvaXIxMDBcIjogXCJpc284ODU5MVwiLFxuICAgIFwiaXNvaXIxMDFcIjogXCJpc284ODU5MlwiLFxuICAgIFwiaXNvaXIxMDlcIjogXCJpc284ODU5M1wiLFxuICAgIFwiaXNvaXIxMTBcIjogXCJpc284ODU5NFwiLFxuICAgIFwiaXNvaXIxNDRcIjogXCJpc284ODU5NVwiLFxuICAgIFwiaXNvaXIxMjdcIjogXCJpc284ODU5NlwiLFxuICAgIFwiaXNvaXIxMjZcIjogXCJpc284ODU5N1wiLFxuICAgIFwiaXNvaXIxMzhcIjogXCJpc284ODU5OFwiLFxuICAgIFwiaXNvaXIxNDhcIjogXCJpc284ODU5OVwiLFxuICAgIFwiaXNvaXIxNTdcIjogXCJpc284ODU5MTBcIixcbiAgICBcImlzb2lyMTY2XCI6IFwidGlzNjIwXCIsXG4gICAgXCJpc29pcjE3OVwiOiBcImlzbzg4NTkxM1wiLFxuICAgIFwiaXNvaXIxOTlcIjogXCJpc284ODU5MTRcIixcbiAgICBcImlzb2lyMjAzXCI6IFwiaXNvODg1OTE1XCIsXG4gICAgXCJpc29pcjIyNlwiOiBcImlzbzg4NTkxNlwiLFxuXG4gICAgXCJjcDgxOVwiOiBcImlzbzg4NTkxXCIsXG4gICAgXCJpYm04MTlcIjogXCJpc284ODU5MVwiLFxuXG4gICAgXCJjeXJpbGxpY1wiOiBcImlzbzg4NTk1XCIsXG5cbiAgICBcImFyYWJpY1wiOiBcImlzbzg4NTk2XCIsXG4gICAgXCJhcmFiaWM4XCI6IFwiaXNvODg1OTZcIixcbiAgICBcImVjbWExMTRcIjogXCJpc284ODU5NlwiLFxuICAgIFwiYXNtbzcwOFwiOiBcImlzbzg4NTk2XCIsXG5cbiAgICBcImdyZWVrXCIgOiBcImlzbzg4NTk3XCIsXG4gICAgXCJncmVlazhcIiA6IFwiaXNvODg1OTdcIixcbiAgICBcImVjbWExMThcIiA6IFwiaXNvODg1OTdcIixcbiAgICBcImVsb3Q5MjhcIiA6IFwiaXNvODg1OTdcIixcblxuICAgIFwiaGVicmV3XCI6IFwiaXNvODg1OThcIixcbiAgICBcImhlYnJldzhcIjogXCJpc284ODU5OFwiLFxuXG4gICAgXCJ0dXJraXNoXCI6IFwiaXNvODg1OTlcIixcbiAgICBcInR1cmtpc2g4XCI6IFwiaXNvODg1OTlcIixcblxuICAgIFwidGhhaVwiOiBcImlzbzg4NTkxMVwiLFxuICAgIFwidGhhaThcIjogXCJpc284ODU5MTFcIixcblxuICAgIFwiY2VsdGljXCI6IFwiaXNvODg1OTE0XCIsXG4gICAgXCJjZWx0aWM4XCI6IFwiaXNvODg1OTE0XCIsXG4gICAgXCJpc29jZWx0aWNcIjogXCJpc284ODU5MTRcIixcblxuICAgIFwidGlzNjIwMFwiOiBcInRpczYyMFwiLFxuICAgIFwidGlzNjIwMjUyOTFcIjogXCJ0aXM2MjBcIixcbiAgICBcInRpczYyMDI1MzMwXCI6IFwidGlzNjIwXCIsXG5cbiAgICBcIjEwMDAwXCI6IFwibWFjcm9tYW5cIixcbiAgICBcIjEwMDA2XCI6IFwibWFjZ3JlZWtcIixcbiAgICBcIjEwMDA3XCI6IFwibWFjY3lyaWxsaWNcIixcbiAgICBcIjEwMDc5XCI6IFwibWFjaWNlbGFuZFwiLFxuICAgIFwiMTAwODFcIjogXCJtYWN0dXJraXNoXCIsXG5cbiAgICBcImNzcGM4Y29kZXBhZ2U0MzdcIjogXCJjcDQzN1wiLFxuICAgIFwiY3NwYzc3NWJhbHRpY1wiOiBcImNwNzc1XCIsXG4gICAgXCJjc3BjODUwbXVsdGlsaW5ndWFsXCI6IFwiY3A4NTBcIixcbiAgICBcImNzcGNwODUyXCI6IFwiY3A4NTJcIixcbiAgICBcImNzcGM4NjJsYXRpbmhlYnJld1wiOiBcImNwODYyXCIsXG4gICAgXCJjcGdyXCI6IFwiY3A4NjlcIixcblxuICAgIFwibXNlZVwiOiBcImNwMTI1MFwiLFxuICAgIFwibXNjeXJsXCI6IFwiY3AxMjUxXCIsXG4gICAgXCJtc2Fuc2lcIjogXCJjcDEyNTJcIixcbiAgICBcIm1zZ3JlZWtcIjogXCJjcDEyNTNcIixcbiAgICBcIm1zdHVya1wiOiBcImNwMTI1NFwiLFxuICAgIFwibXNoZWJyXCI6IFwiY3AxMjU1XCIsXG4gICAgXCJtc2FyYWJcIjogXCJjcDEyNTZcIixcbiAgICBcIndpbmJhbHRyaW1cIjogXCJjcDEyNTdcIixcblxuICAgIFwiY3AyMDg2NlwiOiBcImtvaThyXCIsXG4gICAgXCIyMDg2NlwiOiBcImtvaThyXCIsXG4gICAgXCJpYm04NzhcIjogXCJrb2k4clwiLFxuICAgIFwiY3Nrb2k4clwiOiBcImtvaThyXCIsXG5cbiAgICBcImNwMjE4NjZcIjogXCJrb2k4dVwiLFxuICAgIFwiMjE4NjZcIjogXCJrb2k4dVwiLFxuICAgIFwiaWJtMTE2OFwiOiBcImtvaTh1XCIsXG5cbiAgICBcInN0cmsxMDQ4MjAwMlwiOiBcInJrMTA0OFwiLFxuXG4gICAgXCJ0Y3ZuNTcxMlwiOiBcInRjdm5cIixcbiAgICBcInRjdm41NzEyMVwiOiBcInRjdm5cIixcblxuICAgIFwiZ2IxOTg4ODBcIjogXCJpc282NDZjblwiLFxuICAgIFwiY25cIjogXCJpc282NDZjblwiLFxuXG4gICAgXCJjc2lzbzE0amlzYzYyMjByb1wiOiBcImlzbzY0NmpwXCIsXG4gICAgXCJqaXNjNjIyMDE5Njlyb1wiOiBcImlzbzY0NmpwXCIsXG4gICAgXCJqcFwiOiBcImlzbzY0NmpwXCIsXG5cbiAgICBcImNzaHByb21hbjhcIjogXCJocHJvbWFuOFwiLFxuICAgIFwicjhcIjogXCJocHJvbWFuOFwiLFxuICAgIFwicm9tYW44XCI6IFwiaHByb21hbjhcIixcbiAgICBcInhyb21hbjhcIjogXCJocHJvbWFuOFwiLFxuICAgIFwiaWJtMTA1MVwiOiBcImhwcm9tYW44XCIsXG5cbiAgICBcIm1hY1wiOiBcIm1hY2ludG9zaFwiLFxuICAgIFwiY3NtYWNpbnRvc2hcIjogXCJtYWNpbnRvc2hcIixcbn07XG5cbiIsICJcInVzZSBzdHJpY3RcIjtcblxuLy8gR2VuZXJhdGVkIGRhdGEgZm9yIHNiY3MgY29kZWMuIERvbid0IGVkaXQgbWFudWFsbHkuIFJlZ2VuZXJhdGUgdXNpbmcgZ2VuZXJhdGlvbi9nZW4tc2Jjcy5qcyBzY3JpcHQuXG5tb2R1bGUuZXhwb3J0cyA9IHtcbiAgXCI0MzdcIjogXCJjcDQzN1wiLFxuICBcIjczN1wiOiBcImNwNzM3XCIsXG4gIFwiNzc1XCI6IFwiY3A3NzVcIixcbiAgXCI4NTBcIjogXCJjcDg1MFwiLFxuICBcIjg1MlwiOiBcImNwODUyXCIsXG4gIFwiODU1XCI6IFwiY3A4NTVcIixcbiAgXCI4NTZcIjogXCJjcDg1NlwiLFxuICBcIjg1N1wiOiBcImNwODU3XCIsXG4gIFwiODU4XCI6IFwiY3A4NThcIixcbiAgXCI4NjBcIjogXCJjcDg2MFwiLFxuICBcIjg2MVwiOiBcImNwODYxXCIsXG4gIFwiODYyXCI6IFwiY3A4NjJcIixcbiAgXCI4NjNcIjogXCJjcDg2M1wiLFxuICBcIjg2NFwiOiBcImNwODY0XCIsXG4gIFwiODY1XCI6IFwiY3A4NjVcIixcbiAgXCI4NjZcIjogXCJjcDg2NlwiLFxuICBcIjg2OVwiOiBcImNwODY5XCIsXG4gIFwiODc0XCI6IFwid2luZG93czg3NFwiLFxuICBcIjkyMlwiOiBcImNwOTIyXCIsXG4gIFwiMTA0NlwiOiBcImNwMTA0NlwiLFxuICBcIjExMjRcIjogXCJjcDExMjRcIixcbiAgXCIxMTI1XCI6IFwiY3AxMTI1XCIsXG4gIFwiMTEyOVwiOiBcImNwMTEyOVwiLFxuICBcIjExMzNcIjogXCJjcDExMzNcIixcbiAgXCIxMTYxXCI6IFwiY3AxMTYxXCIsXG4gIFwiMTE2MlwiOiBcImNwMTE2MlwiLFxuICBcIjExNjNcIjogXCJjcDExNjNcIixcbiAgXCIxMjUwXCI6IFwid2luZG93czEyNTBcIixcbiAgXCIxMjUxXCI6IFwid2luZG93czEyNTFcIixcbiAgXCIxMjUyXCI6IFwid2luZG93czEyNTJcIixcbiAgXCIxMjUzXCI6IFwid2luZG93czEyNTNcIixcbiAgXCIxMjU0XCI6IFwid2luZG93czEyNTRcIixcbiAgXCIxMjU1XCI6IFwid2luZG93czEyNTVcIixcbiAgXCIxMjU2XCI6IFwid2luZG93czEyNTZcIixcbiAgXCIxMjU3XCI6IFwid2luZG93czEyNTdcIixcbiAgXCIxMjU4XCI6IFwid2luZG93czEyNThcIixcbiAgXCIyODU5MVwiOiBcImlzbzg4NTkxXCIsXG4gIFwiMjg1OTJcIjogXCJpc284ODU5MlwiLFxuICBcIjI4NTkzXCI6IFwiaXNvODg1OTNcIixcbiAgXCIyODU5NFwiOiBcImlzbzg4NTk0XCIsXG4gIFwiMjg1OTVcIjogXCJpc284ODU5NVwiLFxuICBcIjI4NTk2XCI6IFwiaXNvODg1OTZcIixcbiAgXCIyODU5N1wiOiBcImlzbzg4NTk3XCIsXG4gIFwiMjg1OThcIjogXCJpc284ODU5OFwiLFxuICBcIjI4NTk5XCI6IFwiaXNvODg1OTlcIixcbiAgXCIyODYwMFwiOiBcImlzbzg4NTkxMFwiLFxuICBcIjI4NjAxXCI6IFwiaXNvODg1OTExXCIsXG4gIFwiMjg2MDNcIjogXCJpc284ODU5MTNcIixcbiAgXCIyODYwNFwiOiBcImlzbzg4NTkxNFwiLFxuICBcIjI4NjA1XCI6IFwiaXNvODg1OTE1XCIsXG4gIFwiMjg2MDZcIjogXCJpc284ODU5MTZcIixcbiAgXCJ3aW5kb3dzODc0XCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdTIwQUNcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdTIwMjZcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdTIwMThcdTIwMTlcdTIwMUNcdTIwMURcdTIwMjJcdTIwMTNcdTIwMTRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdTAwQTBcdTBFMDFcdTBFMDJcdTBFMDNcdTBFMDRcdTBFMDVcdTBFMDZcdTBFMDdcdTBFMDhcdTBFMDlcdTBFMEFcdTBFMEJcdTBFMENcdTBFMERcdTBFMEVcdTBFMEZcdTBFMTBcdTBFMTFcdTBFMTJcdTBFMTNcdTBFMTRcdTBFMTVcdTBFMTZcdTBFMTdcdTBFMThcdTBFMTlcdTBFMUFcdTBFMUJcdTBFMUNcdTBFMURcdTBFMUVcdTBFMUZcdTBFMjBcdTBFMjFcdTBFMjJcdTBFMjNcdTBFMjRcdTBFMjVcdTBFMjZcdTBFMjdcdTBFMjhcdTBFMjlcdTBFMkFcdTBFMkJcdTBFMkNcdTBFMkRcdTBFMkVcdTBFMkZcdTBFMzBcdTBFMzFcdTBFMzJcdTBFMzNcdTBFMzRcdTBFMzVcdTBFMzZcdTBFMzdcdTBFMzhcdTBFMzlcdTBFM0FcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdTBFM0ZcdTBFNDBcdTBFNDFcdTBFNDJcdTBFNDNcdTBFNDRcdTBFNDVcdTBFNDZcdTBFNDdcdTBFNDhcdTBFNDlcdTBFNEFcdTBFNEJcdTBFNENcdTBFNERcdTBFNEVcdTBFNEZcdTBFNTBcdTBFNTFcdTBFNTJcdTBFNTNcdTBFNTRcdTBFNTVcdTBFNTZcdTBFNTdcdTBFNThcdTBFNTlcdTBFNUFcdTBFNUJcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcIlxuICB9LFxuICBcIndpbjg3NFwiOiBcIndpbmRvd3M4NzRcIixcbiAgXCJjcDg3NFwiOiBcIndpbmRvd3M4NzRcIixcbiAgXCJ3aW5kb3dzMTI1MFwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUyMEFDXHVGRkZEXHUyMDFBXHVGRkZEXHUyMDFFXHUyMDI2XHUyMDIwXHUyMDIxXHVGRkZEXHUyMDMwXHUwMTYwXHUyMDM5XHUwMTVBXHUwMTY0XHUwMTdEXHUwMTc5XHVGRkZEXHUyMDE4XHUyMDE5XHUyMDFDXHUyMDFEXHUyMDIyXHUyMDEzXHUyMDE0XHVGRkZEXHUyMTIyXHUwMTYxXHUyMDNBXHUwMTVCXHUwMTY1XHUwMTdFXHUwMTdBXHUwMEEwXHUwMkM3XHUwMkQ4XHUwMTQxXHUwMEE0XHUwMTA0XHUwMEE2XHUwMEE3XHUwMEE4XHUwMEE5XHUwMTVFXHUwMEFCXHUwMEFDXHUwMEFEXHUwMEFFXHUwMTdCXHUwMEIwXHUwMEIxXHUwMkRCXHUwMTQyXHUwMEI0XHUwMEI1XHUwMEI2XHUwMEI3XHUwMEI4XHUwMTA1XHUwMTVGXHUwMEJCXHUwMTNEXHUwMkREXHUwMTNFXHUwMTdDXHUwMTU0XHUwMEMxXHUwMEMyXHUwMTAyXHUwMEM0XHUwMTM5XHUwMTA2XHUwMEM3XHUwMTBDXHUwMEM5XHUwMTE4XHUwMENCXHUwMTFBXHUwMENEXHUwMENFXHUwMTBFXHUwMTEwXHUwMTQzXHUwMTQ3XHUwMEQzXHUwMEQ0XHUwMTUwXHUwMEQ2XHUwMEQ3XHUwMTU4XHUwMTZFXHUwMERBXHUwMTcwXHUwMERDXHUwMEREXHUwMTYyXHUwMERGXHUwMTU1XHUwMEUxXHUwMEUyXHUwMTAzXHUwMEU0XHUwMTNBXHUwMTA3XHUwMEU3XHUwMTBEXHUwMEU5XHUwMTE5XHUwMEVCXHUwMTFCXHUwMEVEXHUwMEVFXHUwMTBGXHUwMTExXHUwMTQ0XHUwMTQ4XHUwMEYzXHUwMEY0XHUwMTUxXHUwMEY2XHUwMEY3XHUwMTU5XHUwMTZGXHUwMEZBXHUwMTcxXHUwMEZDXHUwMEZEXHUwMTYzXHUwMkQ5XCJcbiAgfSxcbiAgXCJ3aW4xMjUwXCI6IFwid2luZG93czEyNTBcIixcbiAgXCJjcDEyNTBcIjogXCJ3aW5kb3dzMTI1MFwiLFxuICBcIndpbmRvd3MxMjUxXCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdTA0MDJcdTA0MDNcdTIwMUFcdTA0NTNcdTIwMUVcdTIwMjZcdTIwMjBcdTIwMjFcdTIwQUNcdTIwMzBcdTA0MDlcdTIwMzlcdTA0MEFcdTA0MENcdTA0MEJcdTA0MEZcdTA0NTJcdTIwMThcdTIwMTlcdTIwMUNcdTIwMURcdTIwMjJcdTIwMTNcdTIwMTRcdUZGRkRcdTIxMjJcdTA0NTlcdTIwM0FcdTA0NUFcdTA0NUNcdTA0NUJcdTA0NUZcdTAwQTBcdTA0MEVcdTA0NUVcdTA0MDhcdTAwQTRcdTA0OTBcdTAwQTZcdTAwQTdcdTA0MDFcdTAwQTlcdTA0MDRcdTAwQUJcdTAwQUNcdTAwQURcdTAwQUVcdTA0MDdcdTAwQjBcdTAwQjFcdTA0MDZcdTA0NTZcdTA0OTFcdTAwQjVcdTAwQjZcdTAwQjdcdTA0NTFcdTIxMTZcdTA0NTRcdTAwQkJcdTA0NThcdTA0MDVcdTA0NTVcdTA0NTdcdTA0MTBcdTA0MTFcdTA0MTJcdTA0MTNcdTA0MTRcdTA0MTVcdTA0MTZcdTA0MTdcdTA0MThcdTA0MTlcdTA0MUFcdTA0MUJcdTA0MUNcdTA0MURcdTA0MUVcdTA0MUZcdTA0MjBcdTA0MjFcdTA0MjJcdTA0MjNcdTA0MjRcdTA0MjVcdTA0MjZcdTA0MjdcdTA0MjhcdTA0MjlcdTA0MkFcdTA0MkJcdTA0MkNcdTA0MkRcdTA0MkVcdTA0MkZcdTA0MzBcdTA0MzFcdTA0MzJcdTA0MzNcdTA0MzRcdTA0MzVcdTA0MzZcdTA0MzdcdTA0MzhcdTA0MzlcdTA0M0FcdTA0M0JcdTA0M0NcdTA0M0RcdTA0M0VcdTA0M0ZcdTA0NDBcdTA0NDFcdTA0NDJcdTA0NDNcdTA0NDRcdTA0NDVcdTA0NDZcdTA0NDdcdTA0NDhcdTA0NDlcdTA0NEFcdTA0NEJcdTA0NENcdTA0NERcdTA0NEVcdTA0NEZcIlxuICB9LFxuICBcIndpbjEyNTFcIjogXCJ3aW5kb3dzMTI1MVwiLFxuICBcImNwMTI1MVwiOiBcIndpbmRvd3MxMjUxXCIsXG4gIFwid2luZG93czEyNTJcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MjBBQ1x1RkZGRFx1MjAxQVx1MDE5Mlx1MjAxRVx1MjAyNlx1MjAyMFx1MjAyMVx1MDJDNlx1MjAzMFx1MDE2MFx1MjAzOVx1MDE1Mlx1RkZGRFx1MDE3RFx1RkZGRFx1RkZGRFx1MjAxOFx1MjAxOVx1MjAxQ1x1MjAxRFx1MjAyMlx1MjAxM1x1MjAxNFx1MDJEQ1x1MjEyMlx1MDE2MVx1MjAzQVx1MDE1M1x1RkZGRFx1MDE3RVx1MDE3OFx1MDBBMFx1MDBBMVx1MDBBMlx1MDBBM1x1MDBBNFx1MDBBNVx1MDBBNlx1MDBBN1x1MDBBOFx1MDBBOVx1MDBBQVx1MDBBQlx1MDBBQ1x1MDBBRFx1MDBBRVx1MDBBRlx1MDBCMFx1MDBCMVx1MDBCMlx1MDBCM1x1MDBCNFx1MDBCNVx1MDBCNlx1MDBCN1x1MDBCOFx1MDBCOVx1MDBCQVx1MDBCQlx1MDBCQ1x1MDBCRFx1MDBCRVx1MDBCRlx1MDBDMFx1MDBDMVx1MDBDMlx1MDBDM1x1MDBDNFx1MDBDNVx1MDBDNlx1MDBDN1x1MDBDOFx1MDBDOVx1MDBDQVx1MDBDQlx1MDBDQ1x1MDBDRFx1MDBDRVx1MDBDRlx1MDBEMFx1MDBEMVx1MDBEMlx1MDBEM1x1MDBENFx1MDBENVx1MDBENlx1MDBEN1x1MDBEOFx1MDBEOVx1MDBEQVx1MDBEQlx1MDBEQ1x1MDBERFx1MDBERVx1MDBERlx1MDBFMFx1MDBFMVx1MDBFMlx1MDBFM1x1MDBFNFx1MDBFNVx1MDBFNlx1MDBFN1x1MDBFOFx1MDBFOVx1MDBFQVx1MDBFQlx1MDBFQ1x1MDBFRFx1MDBFRVx1MDBFRlx1MDBGMFx1MDBGMVx1MDBGMlx1MDBGM1x1MDBGNFx1MDBGNVx1MDBGNlx1MDBGN1x1MDBGOFx1MDBGOVx1MDBGQVx1MDBGQlx1MDBGQ1x1MDBGRFx1MDBGRVx1MDBGRlwiXG4gIH0sXG4gIFwid2luMTI1MlwiOiBcIndpbmRvd3MxMjUyXCIsXG4gIFwiY3AxMjUyXCI6IFwid2luZG93czEyNTJcIixcbiAgXCJ3aW5kb3dzMTI1M1wiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUyMEFDXHVGRkZEXHUyMDFBXHUwMTkyXHUyMDFFXHUyMDI2XHUyMDIwXHUyMDIxXHVGRkZEXHUyMDMwXHVGRkZEXHUyMDM5XHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHUyMDE4XHUyMDE5XHUyMDFDXHUyMDFEXHUyMDIyXHUyMDEzXHUyMDE0XHVGRkZEXHUyMTIyXHVGRkZEXHUyMDNBXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHUwMEEwXHUwMzg1XHUwMzg2XHUwMEEzXHUwMEE0XHUwMEE1XHUwMEE2XHUwMEE3XHUwMEE4XHUwMEE5XHVGRkZEXHUwMEFCXHUwMEFDXHUwMEFEXHUwMEFFXHUyMDE1XHUwMEIwXHUwMEIxXHUwMEIyXHUwMEIzXHUwMzg0XHUwMEI1XHUwMEI2XHUwMEI3XHUwMzg4XHUwMzg5XHUwMzhBXHUwMEJCXHUwMzhDXHUwMEJEXHUwMzhFXHUwMzhGXHUwMzkwXHUwMzkxXHUwMzkyXHUwMzkzXHUwMzk0XHUwMzk1XHUwMzk2XHUwMzk3XHUwMzk4XHUwMzk5XHUwMzlBXHUwMzlCXHUwMzlDXHUwMzlEXHUwMzlFXHUwMzlGXHUwM0EwXHUwM0ExXHVGRkZEXHUwM0EzXHUwM0E0XHUwM0E1XHUwM0E2XHUwM0E3XHUwM0E4XHUwM0E5XHUwM0FBXHUwM0FCXHUwM0FDXHUwM0FEXHUwM0FFXHUwM0FGXHUwM0IwXHUwM0IxXHUwM0IyXHUwM0IzXHUwM0I0XHUwM0I1XHUwM0I2XHUwM0I3XHUwM0I4XHUwM0I5XHUwM0JBXHUwM0JCXHUwM0JDXHUwM0JEXHUwM0JFXHUwM0JGXHUwM0MwXHUwM0MxXHUwM0MyXHUwM0MzXHUwM0M0XHUwM0M1XHUwM0M2XHUwM0M3XHUwM0M4XHUwM0M5XHUwM0NBXHUwM0NCXHUwM0NDXHUwM0NEXHUwM0NFXHVGRkZEXCJcbiAgfSxcbiAgXCJ3aW4xMjUzXCI6IFwid2luZG93czEyNTNcIixcbiAgXCJjcDEyNTNcIjogXCJ3aW5kb3dzMTI1M1wiLFxuICBcIndpbmRvd3MxMjU0XCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdTIwQUNcdUZGRkRcdTIwMUFcdTAxOTJcdTIwMUVcdTIwMjZcdTIwMjBcdTIwMjFcdTAyQzZcdTIwMzBcdTAxNjBcdTIwMzlcdTAxNTJcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdTIwMThcdTIwMTlcdTIwMUNcdTIwMURcdTIwMjJcdTIwMTNcdTIwMTRcdTAyRENcdTIxMjJcdTAxNjFcdTIwM0FcdTAxNTNcdUZGRkRcdUZGRkRcdTAxNzhcdTAwQTBcdTAwQTFcdTAwQTJcdTAwQTNcdTAwQTRcdTAwQTVcdTAwQTZcdTAwQTdcdTAwQThcdTAwQTlcdTAwQUFcdTAwQUJcdTAwQUNcdTAwQURcdTAwQUVcdTAwQUZcdTAwQjBcdTAwQjFcdTAwQjJcdTAwQjNcdTAwQjRcdTAwQjVcdTAwQjZcdTAwQjdcdTAwQjhcdTAwQjlcdTAwQkFcdTAwQkJcdTAwQkNcdTAwQkRcdTAwQkVcdTAwQkZcdTAwQzBcdTAwQzFcdTAwQzJcdTAwQzNcdTAwQzRcdTAwQzVcdTAwQzZcdTAwQzdcdTAwQzhcdTAwQzlcdTAwQ0FcdTAwQ0JcdTAwQ0NcdTAwQ0RcdTAwQ0VcdTAwQ0ZcdTAxMUVcdTAwRDFcdTAwRDJcdTAwRDNcdTAwRDRcdTAwRDVcdTAwRDZcdTAwRDdcdTAwRDhcdTAwRDlcdTAwREFcdTAwREJcdTAwRENcdTAxMzBcdTAxNUVcdTAwREZcdTAwRTBcdTAwRTFcdTAwRTJcdTAwRTNcdTAwRTRcdTAwRTVcdTAwRTZcdTAwRTdcdTAwRThcdTAwRTlcdTAwRUFcdTAwRUJcdTAwRUNcdTAwRURcdTAwRUVcdTAwRUZcdTAxMUZcdTAwRjFcdTAwRjJcdTAwRjNcdTAwRjRcdTAwRjVcdTAwRjZcdTAwRjdcdTAwRjhcdTAwRjlcdTAwRkFcdTAwRkJcdTAwRkNcdTAxMzFcdTAxNUZcdTAwRkZcIlxuICB9LFxuICBcIndpbjEyNTRcIjogXCJ3aW5kb3dzMTI1NFwiLFxuICBcImNwMTI1NFwiOiBcIndpbmRvd3MxMjU0XCIsXG4gIFwid2luZG93czEyNTVcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MjBBQ1x1RkZGRFx1MjAxQVx1MDE5Mlx1MjAxRVx1MjAyNlx1MjAyMFx1MjAyMVx1MDJDNlx1MjAzMFx1RkZGRFx1MjAzOVx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1MjAxOFx1MjAxOVx1MjAxQ1x1MjAxRFx1MjAyMlx1MjAxM1x1MjAxNFx1MDJEQ1x1MjEyMlx1RkZGRFx1MjAzQVx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1MDBBMFx1MDBBMVx1MDBBMlx1MDBBM1x1MjBBQVx1MDBBNVx1MDBBNlx1MDBBN1x1MDBBOFx1MDBBOVx1MDBEN1x1MDBBQlx1MDBBQ1x1MDBBRFx1MDBBRVx1MDBBRlx1MDBCMFx1MDBCMVx1MDBCMlx1MDBCM1x1MDBCNFx1MDBCNVx1MDBCNlx1MDBCN1x1MDBCOFx1MDBCOVx1MDBGN1x1MDBCQlx1MDBCQ1x1MDBCRFx1MDBCRVx1MDBCRlx1MDVCMFx1MDVCMVx1MDVCMlx1MDVCM1x1MDVCNFx1MDVCNVx1MDVCNlx1MDVCN1x1MDVCOFx1MDVCOVx1MDVCQVx1MDVCQlx1MDVCQ1x1MDVCRFx1MDVCRVx1MDVCRlx1MDVDMFx1MDVDMVx1MDVDMlx1MDVDM1x1MDVGMFx1MDVGMVx1MDVGMlx1MDVGM1x1MDVGNFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1MDVEMFx1MDVEMVx1MDVEMlx1MDVEM1x1MDVENFx1MDVENVx1MDVENlx1MDVEN1x1MDVEOFx1MDVEOVx1MDVEQVx1MDVEQlx1MDVEQ1x1MDVERFx1MDVERVx1MDVERlx1MDVFMFx1MDVFMVx1MDVFMlx1MDVFM1x1MDVFNFx1MDVFNVx1MDVFNlx1MDVFN1x1MDVFOFx1MDVFOVx1MDVFQVx1RkZGRFx1RkZGRFx1MjAwRVx1MjAwRlx1RkZGRFwiXG4gIH0sXG4gIFwid2luMTI1NVwiOiBcIndpbmRvd3MxMjU1XCIsXG4gIFwiY3AxMjU1XCI6IFwid2luZG93czEyNTVcIixcbiAgXCJ3aW5kb3dzMTI1NlwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUyMEFDXHUwNjdFXHUyMDFBXHUwMTkyXHUyMDFFXHUyMDI2XHUyMDIwXHUyMDIxXHUwMkM2XHUyMDMwXHUwNjc5XHUyMDM5XHUwMTUyXHUwNjg2XHUwNjk4XHUwNjg4XHUwNkFGXHUyMDE4XHUyMDE5XHUyMDFDXHUyMDFEXHUyMDIyXHUyMDEzXHUyMDE0XHUwNkE5XHUyMTIyXHUwNjkxXHUyMDNBXHUwMTUzXHUyMDBDXHUyMDBEXHUwNkJBXHUwMEEwXHUwNjBDXHUwMEEyXHUwMEEzXHUwMEE0XHUwMEE1XHUwMEE2XHUwMEE3XHUwMEE4XHUwMEE5XHUwNkJFXHUwMEFCXHUwMEFDXHUwMEFEXHUwMEFFXHUwMEFGXHUwMEIwXHUwMEIxXHUwMEIyXHUwMEIzXHUwMEI0XHUwMEI1XHUwMEI2XHUwMEI3XHUwMEI4XHUwMEI5XHUwNjFCXHUwMEJCXHUwMEJDXHUwMEJEXHUwMEJFXHUwNjFGXHUwNkMxXHUwNjIxXHUwNjIyXHUwNjIzXHUwNjI0XHUwNjI1XHUwNjI2XHUwNjI3XHUwNjI4XHUwNjI5XHUwNjJBXHUwNjJCXHUwNjJDXHUwNjJEXHUwNjJFXHUwNjJGXHUwNjMwXHUwNjMxXHUwNjMyXHUwNjMzXHUwNjM0XHUwNjM1XHUwNjM2XHUwMEQ3XHUwNjM3XHUwNjM4XHUwNjM5XHUwNjNBXHUwNjQwXHUwNjQxXHUwNjQyXHUwNjQzXHUwMEUwXHUwNjQ0XHUwMEUyXHUwNjQ1XHUwNjQ2XHUwNjQ3XHUwNjQ4XHUwMEU3XHUwMEU4XHUwMEU5XHUwMEVBXHUwMEVCXHUwNjQ5XHUwNjRBXHUwMEVFXHUwMEVGXHUwNjRCXHUwNjRDXHUwNjREXHUwNjRFXHUwMEY0XHUwNjRGXHUwNjUwXHUwMEY3XHUwNjUxXHUwMEY5XHUwNjUyXHUwMEZCXHUwMEZDXHUyMDBFXHUyMDBGXHUwNkQyXCJcbiAgfSxcbiAgXCJ3aW4xMjU2XCI6IFwid2luZG93czEyNTZcIixcbiAgXCJjcDEyNTZcIjogXCJ3aW5kb3dzMTI1NlwiLFxuICBcIndpbmRvd3MxMjU3XCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdTIwQUNcdUZGRkRcdTIwMUFcdUZGRkRcdTIwMUVcdTIwMjZcdTIwMjBcdTIwMjFcdUZGRkRcdTIwMzBcdUZGRkRcdTIwMzlcdUZGRkRcdTAwQThcdTAyQzdcdTAwQjhcdUZGRkRcdTIwMThcdTIwMTlcdTIwMUNcdTIwMURcdTIwMjJcdTIwMTNcdTIwMTRcdUZGRkRcdTIxMjJcdUZGRkRcdTIwM0FcdUZGRkRcdTAwQUZcdTAyREJcdUZGRkRcdTAwQTBcdUZGRkRcdTAwQTJcdTAwQTNcdTAwQTRcdUZGRkRcdTAwQTZcdTAwQTdcdTAwRDhcdTAwQTlcdTAxNTZcdTAwQUJcdTAwQUNcdTAwQURcdTAwQUVcdTAwQzZcdTAwQjBcdTAwQjFcdTAwQjJcdTAwQjNcdTAwQjRcdTAwQjVcdTAwQjZcdTAwQjdcdTAwRjhcdTAwQjlcdTAxNTdcdTAwQkJcdTAwQkNcdTAwQkRcdTAwQkVcdTAwRTZcdTAxMDRcdTAxMkVcdTAxMDBcdTAxMDZcdTAwQzRcdTAwQzVcdTAxMThcdTAxMTJcdTAxMENcdTAwQzlcdTAxNzlcdTAxMTZcdTAxMjJcdTAxMzZcdTAxMkFcdTAxM0JcdTAxNjBcdTAxNDNcdTAxNDVcdTAwRDNcdTAxNENcdTAwRDVcdTAwRDZcdTAwRDdcdTAxNzJcdTAxNDFcdTAxNUFcdTAxNkFcdTAwRENcdTAxN0JcdTAxN0RcdTAwREZcdTAxMDVcdTAxMkZcdTAxMDFcdTAxMDdcdTAwRTRcdTAwRTVcdTAxMTlcdTAxMTNcdTAxMERcdTAwRTlcdTAxN0FcdTAxMTdcdTAxMjNcdTAxMzdcdTAxMkJcdTAxM0NcdTAxNjFcdTAxNDRcdTAxNDZcdTAwRjNcdTAxNERcdTAwRjVcdTAwRjZcdTAwRjdcdTAxNzNcdTAxNDJcdTAxNUJcdTAxNkJcdTAwRkNcdTAxN0NcdTAxN0VcdTAyRDlcIlxuICB9LFxuICBcIndpbjEyNTdcIjogXCJ3aW5kb3dzMTI1N1wiLFxuICBcImNwMTI1N1wiOiBcIndpbmRvd3MxMjU3XCIsXG4gIFwid2luZG93czEyNThcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MjBBQ1x1RkZGRFx1MjAxQVx1MDE5Mlx1MjAxRVx1MjAyNlx1MjAyMFx1MjAyMVx1MDJDNlx1MjAzMFx1RkZGRFx1MjAzOVx1MDE1Mlx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1MjAxOFx1MjAxOVx1MjAxQ1x1MjAxRFx1MjAyMlx1MjAxM1x1MjAxNFx1MDJEQ1x1MjEyMlx1RkZGRFx1MjAzQVx1MDE1M1x1RkZGRFx1RkZGRFx1MDE3OFx1MDBBMFx1MDBBMVx1MDBBMlx1MDBBM1x1MDBBNFx1MDBBNVx1MDBBNlx1MDBBN1x1MDBBOFx1MDBBOVx1MDBBQVx1MDBBQlx1MDBBQ1x1MDBBRFx1MDBBRVx1MDBBRlx1MDBCMFx1MDBCMVx1MDBCMlx1MDBCM1x1MDBCNFx1MDBCNVx1MDBCNlx1MDBCN1x1MDBCOFx1MDBCOVx1MDBCQVx1MDBCQlx1MDBCQ1x1MDBCRFx1MDBCRVx1MDBCRlx1MDBDMFx1MDBDMVx1MDBDMlx1MDEwMlx1MDBDNFx1MDBDNVx1MDBDNlx1MDBDN1x1MDBDOFx1MDBDOVx1MDBDQVx1MDBDQlx1MDMwMFx1MDBDRFx1MDBDRVx1MDBDRlx1MDExMFx1MDBEMVx1MDMwOVx1MDBEM1x1MDBENFx1MDFBMFx1MDBENlx1MDBEN1x1MDBEOFx1MDBEOVx1MDBEQVx1MDBEQlx1MDBEQ1x1MDFBRlx1MDMwM1x1MDBERlx1MDBFMFx1MDBFMVx1MDBFMlx1MDEwM1x1MDBFNFx1MDBFNVx1MDBFNlx1MDBFN1x1MDBFOFx1MDBFOVx1MDBFQVx1MDBFQlx1MDMwMVx1MDBFRFx1MDBFRVx1MDBFRlx1MDExMVx1MDBGMVx1MDMyM1x1MDBGM1x1MDBGNFx1MDFBMVx1MDBGNlx1MDBGN1x1MDBGOFx1MDBGOVx1MDBGQVx1MDBGQlx1MDBGQ1x1MDFCMFx1MjBBQlx1MDBGRlwiXG4gIH0sXG4gIFwid2luMTI1OFwiOiBcIndpbmRvd3MxMjU4XCIsXG4gIFwiY3AxMjU4XCI6IFwid2luZG93czEyNThcIixcbiAgXCJpc284ODU5MVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEEwXHUwMEExXHUwMEEyXHUwMEEzXHUwMEE0XHUwMEE1XHUwMEE2XHUwMEE3XHUwMEE4XHUwMEE5XHUwMEFBXHUwMEFCXHUwMEFDXHUwMEFEXHUwMEFFXHUwMEFGXHUwMEIwXHUwMEIxXHUwMEIyXHUwMEIzXHUwMEI0XHUwMEI1XHUwMEI2XHUwMEI3XHUwMEI4XHUwMEI5XHUwMEJBXHUwMEJCXHUwMEJDXHUwMEJEXHUwMEJFXHUwMEJGXHUwMEMwXHUwMEMxXHUwMEMyXHUwMEMzXHUwMEM0XHUwMEM1XHUwMEM2XHUwMEM3XHUwMEM4XHUwMEM5XHUwMENBXHUwMENCXHUwMENDXHUwMENEXHUwMENFXHUwMENGXHUwMEQwXHUwMEQxXHUwMEQyXHUwMEQzXHUwMEQ0XHUwMEQ1XHUwMEQ2XHUwMEQ3XHUwMEQ4XHUwMEQ5XHUwMERBXHUwMERCXHUwMERDXHUwMEREXHUwMERFXHUwMERGXHUwMEUwXHUwMEUxXHUwMEUyXHUwMEUzXHUwMEU0XHUwMEU1XHUwMEU2XHUwMEU3XHUwMEU4XHUwMEU5XHUwMEVBXHUwMEVCXHUwMEVDXHUwMEVEXHUwMEVFXHUwMEVGXHUwMEYwXHUwMEYxXHUwMEYyXHUwMEYzXHUwMEY0XHUwMEY1XHUwMEY2XHUwMEY3XHUwMEY4XHUwMEY5XHUwMEZBXHUwMEZCXHUwMEZDXHUwMEZEXHUwMEZFXHUwMEZGXCJcbiAgfSxcbiAgXCJjcDI4NTkxXCI6IFwiaXNvODg1OTFcIixcbiAgXCJpc284ODU5MlwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEEwXHUwMTA0XHUwMkQ4XHUwMTQxXHUwMEE0XHUwMTNEXHUwMTVBXHUwMEE3XHUwMEE4XHUwMTYwXHUwMTVFXHUwMTY0XHUwMTc5XHUwMEFEXHUwMTdEXHUwMTdCXHUwMEIwXHUwMTA1XHUwMkRCXHUwMTQyXHUwMEI0XHUwMTNFXHUwMTVCXHUwMkM3XHUwMEI4XHUwMTYxXHUwMTVGXHUwMTY1XHUwMTdBXHUwMkREXHUwMTdFXHUwMTdDXHUwMTU0XHUwMEMxXHUwMEMyXHUwMTAyXHUwMEM0XHUwMTM5XHUwMTA2XHUwMEM3XHUwMTBDXHUwMEM5XHUwMTE4XHUwMENCXHUwMTFBXHUwMENEXHUwMENFXHUwMTBFXHUwMTEwXHUwMTQzXHUwMTQ3XHUwMEQzXHUwMEQ0XHUwMTUwXHUwMEQ2XHUwMEQ3XHUwMTU4XHUwMTZFXHUwMERBXHUwMTcwXHUwMERDXHUwMEREXHUwMTYyXHUwMERGXHUwMTU1XHUwMEUxXHUwMEUyXHUwMTAzXHUwMEU0XHUwMTNBXHUwMTA3XHUwMEU3XHUwMTBEXHUwMEU5XHUwMTE5XHUwMEVCXHUwMTFCXHUwMEVEXHUwMEVFXHUwMTBGXHUwMTExXHUwMTQ0XHUwMTQ4XHUwMEYzXHUwMEY0XHUwMTUxXHUwMEY2XHUwMEY3XHUwMTU5XHUwMTZGXHUwMEZBXHUwMTcxXHUwMEZDXHUwMEZEXHUwMTYzXHUwMkQ5XCJcbiAgfSxcbiAgXCJjcDI4NTkyXCI6IFwiaXNvODg1OTJcIixcbiAgXCJpc284ODU5M1wiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEEwXHUwMTI2XHUwMkQ4XHUwMEEzXHUwMEE0XHVGRkZEXHUwMTI0XHUwMEE3XHUwMEE4XHUwMTMwXHUwMTVFXHUwMTFFXHUwMTM0XHUwMEFEXHVGRkZEXHUwMTdCXHUwMEIwXHUwMTI3XHUwMEIyXHUwMEIzXHUwMEI0XHUwMEI1XHUwMTI1XHUwMEI3XHUwMEI4XHUwMTMxXHUwMTVGXHUwMTFGXHUwMTM1XHUwMEJEXHVGRkZEXHUwMTdDXHUwMEMwXHUwMEMxXHUwMEMyXHVGRkZEXHUwMEM0XHUwMTBBXHUwMTA4XHUwMEM3XHUwMEM4XHUwMEM5XHUwMENBXHUwMENCXHUwMENDXHUwMENEXHUwMENFXHUwMENGXHVGRkZEXHUwMEQxXHUwMEQyXHUwMEQzXHUwMEQ0XHUwMTIwXHUwMEQ2XHUwMEQ3XHUwMTFDXHUwMEQ5XHUwMERBXHUwMERCXHUwMERDXHUwMTZDXHUwMTVDXHUwMERGXHUwMEUwXHUwMEUxXHUwMEUyXHVGRkZEXHUwMEU0XHUwMTBCXHUwMTA5XHUwMEU3XHUwMEU4XHUwMEU5XHUwMEVBXHUwMEVCXHUwMEVDXHUwMEVEXHUwMEVFXHUwMEVGXHVGRkZEXHUwMEYxXHUwMEYyXHUwMEYzXHUwMEY0XHUwMTIxXHUwMEY2XHUwMEY3XHUwMTFEXHUwMEY5XHUwMEZBXHUwMEZCXHUwMEZDXHUwMTZEXHUwMTVEXHUwMkQ5XCJcbiAgfSxcbiAgXCJjcDI4NTkzXCI6IFwiaXNvODg1OTNcIixcbiAgXCJpc284ODU5NFwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEEwXHUwMTA0XHUwMTM4XHUwMTU2XHUwMEE0XHUwMTI4XHUwMTNCXHUwMEE3XHUwMEE4XHUwMTYwXHUwMTEyXHUwMTIyXHUwMTY2XHUwMEFEXHUwMTdEXHUwMEFGXHUwMEIwXHUwMTA1XHUwMkRCXHUwMTU3XHUwMEI0XHUwMTI5XHUwMTNDXHUwMkM3XHUwMEI4XHUwMTYxXHUwMTEzXHUwMTIzXHUwMTY3XHUwMTRBXHUwMTdFXHUwMTRCXHUwMTAwXHUwMEMxXHUwMEMyXHUwMEMzXHUwMEM0XHUwMEM1XHUwMEM2XHUwMTJFXHUwMTBDXHUwMEM5XHUwMTE4XHUwMENCXHUwMTE2XHUwMENEXHUwMENFXHUwMTJBXHUwMTEwXHUwMTQ1XHUwMTRDXHUwMTM2XHUwMEQ0XHUwMEQ1XHUwMEQ2XHUwMEQ3XHUwMEQ4XHUwMTcyXHUwMERBXHUwMERCXHUwMERDXHUwMTY4XHUwMTZBXHUwMERGXHUwMTAxXHUwMEUxXHUwMEUyXHUwMEUzXHUwMEU0XHUwMEU1XHUwMEU2XHUwMTJGXHUwMTBEXHUwMEU5XHUwMTE5XHUwMEVCXHUwMTE3XHUwMEVEXHUwMEVFXHUwMTJCXHUwMTExXHUwMTQ2XHUwMTREXHUwMTM3XHUwMEY0XHUwMEY1XHUwMEY2XHUwMEY3XHUwMEY4XHUwMTczXHUwMEZBXHUwMEZCXHUwMEZDXHUwMTY5XHUwMTZCXHUwMkQ5XCJcbiAgfSxcbiAgXCJjcDI4NTk0XCI6IFwiaXNvODg1OTRcIixcbiAgXCJpc284ODU5NVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEEwXHUwNDAxXHUwNDAyXHUwNDAzXHUwNDA0XHUwNDA1XHUwNDA2XHUwNDA3XHUwNDA4XHUwNDA5XHUwNDBBXHUwNDBCXHUwNDBDXHUwMEFEXHUwNDBFXHUwNDBGXHUwNDEwXHUwNDExXHUwNDEyXHUwNDEzXHUwNDE0XHUwNDE1XHUwNDE2XHUwNDE3XHUwNDE4XHUwNDE5XHUwNDFBXHUwNDFCXHUwNDFDXHUwNDFEXHUwNDFFXHUwNDFGXHUwNDIwXHUwNDIxXHUwNDIyXHUwNDIzXHUwNDI0XHUwNDI1XHUwNDI2XHUwNDI3XHUwNDI4XHUwNDI5XHUwNDJBXHUwNDJCXHUwNDJDXHUwNDJEXHUwNDJFXHUwNDJGXHUwNDMwXHUwNDMxXHUwNDMyXHUwNDMzXHUwNDM0XHUwNDM1XHUwNDM2XHUwNDM3XHUwNDM4XHUwNDM5XHUwNDNBXHUwNDNCXHUwNDNDXHUwNDNEXHUwNDNFXHUwNDNGXHUwNDQwXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDQ0XHUwNDQ1XHUwNDQ2XHUwNDQ3XHUwNDQ4XHUwNDQ5XHUwNDRBXHUwNDRCXHUwNDRDXHUwNDREXHUwNDRFXHUwNDRGXHUyMTE2XHUwNDUxXHUwNDUyXHUwNDUzXHUwNDU0XHUwNDU1XHUwNDU2XHUwNDU3XHUwNDU4XHUwNDU5XHUwNDVBXHUwNDVCXHUwNDVDXHUwMEE3XHUwNDVFXHUwNDVGXCJcbiAgfSxcbiAgXCJjcDI4NTk1XCI6IFwiaXNvODg1OTVcIixcbiAgXCJpc284ODU5NlwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEEwXHVGRkZEXHVGRkZEXHVGRkZEXHUwMEE0XHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHUwNjBDXHUwMEFEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHUwNjFCXHVGRkZEXHVGRkZEXHVGRkZEXHUwNjFGXHVGRkZEXHUwNjIxXHUwNjIyXHUwNjIzXHUwNjI0XHUwNjI1XHUwNjI2XHUwNjI3XHUwNjI4XHUwNjI5XHUwNjJBXHUwNjJCXHUwNjJDXHUwNjJEXHUwNjJFXHUwNjJGXHUwNjMwXHUwNjMxXHUwNjMyXHUwNjMzXHUwNjM0XHUwNjM1XHUwNjM2XHUwNjM3XHUwNjM4XHUwNjM5XHUwNjNBXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHUwNjQwXHUwNjQxXHUwNjQyXHUwNjQzXHUwNjQ0XHUwNjQ1XHUwNjQ2XHUwNjQ3XHUwNjQ4XHUwNjQ5XHUwNjRBXHUwNjRCXHUwNjRDXHUwNjREXHUwNjRFXHUwNjRGXHUwNjUwXHUwNjUxXHUwNjUyXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXCJcbiAgfSxcbiAgXCJjcDI4NTk2XCI6IFwiaXNvODg1OTZcIixcbiAgXCJpc284ODU5N1wiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEEwXHUyMDE4XHUyMDE5XHUwMEEzXHUyMEFDXHUyMEFGXHUwMEE2XHUwMEE3XHUwMEE4XHUwMEE5XHUwMzdBXHUwMEFCXHUwMEFDXHUwMEFEXHVGRkZEXHUyMDE1XHUwMEIwXHUwMEIxXHUwMEIyXHUwMEIzXHUwMzg0XHUwMzg1XHUwMzg2XHUwMEI3XHUwMzg4XHUwMzg5XHUwMzhBXHUwMEJCXHUwMzhDXHUwMEJEXHUwMzhFXHUwMzhGXHUwMzkwXHUwMzkxXHUwMzkyXHUwMzkzXHUwMzk0XHUwMzk1XHUwMzk2XHUwMzk3XHUwMzk4XHUwMzk5XHUwMzlBXHUwMzlCXHUwMzlDXHUwMzlEXHUwMzlFXHUwMzlGXHUwM0EwXHUwM0ExXHVGRkZEXHUwM0EzXHUwM0E0XHUwM0E1XHUwM0E2XHUwM0E3XHUwM0E4XHUwM0E5XHUwM0FBXHUwM0FCXHUwM0FDXHUwM0FEXHUwM0FFXHUwM0FGXHUwM0IwXHUwM0IxXHUwM0IyXHUwM0IzXHUwM0I0XHUwM0I1XHUwM0I2XHUwM0I3XHUwM0I4XHUwM0I5XHUwM0JBXHUwM0JCXHUwM0JDXHUwM0JEXHUwM0JFXHUwM0JGXHUwM0MwXHUwM0MxXHUwM0MyXHUwM0MzXHUwM0M0XHUwM0M1XHUwM0M2XHUwM0M3XHUwM0M4XHUwM0M5XHUwM0NBXHUwM0NCXHUwM0NDXHUwM0NEXHUwM0NFXHVGRkZEXCJcbiAgfSxcbiAgXCJjcDI4NTk3XCI6IFwiaXNvODg1OTdcIixcbiAgXCJpc284ODU5OFwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEEwXHVGRkZEXHUwMEEyXHUwMEEzXHUwMEE0XHUwMEE1XHUwMEE2XHUwMEE3XHUwMEE4XHUwMEE5XHUwMEQ3XHUwMEFCXHUwMEFDXHUwMEFEXHUwMEFFXHUwMEFGXHUwMEIwXHUwMEIxXHUwMEIyXHUwMEIzXHUwMEI0XHUwMEI1XHUwMEI2XHUwMEI3XHUwMEI4XHUwMEI5XHUwMEY3XHUwMEJCXHUwMEJDXHUwMEJEXHUwMEJFXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHUyMDE3XHUwNUQwXHUwNUQxXHUwNUQyXHUwNUQzXHUwNUQ0XHUwNUQ1XHUwNUQ2XHUwNUQ3XHUwNUQ4XHUwNUQ5XHUwNURBXHUwNURCXHUwNURDXHUwNUREXHUwNURFXHUwNURGXHUwNUUwXHUwNUUxXHUwNUUyXHUwNUUzXHUwNUU0XHUwNUU1XHUwNUU2XHUwNUU3XHUwNUU4XHUwNUU5XHUwNUVBXHVGRkZEXHVGRkZEXHUyMDBFXHUyMDBGXHVGRkZEXCJcbiAgfSxcbiAgXCJjcDI4NTk4XCI6IFwiaXNvODg1OThcIixcbiAgXCJpc284ODU5OVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEEwXHUwMEExXHUwMEEyXHUwMEEzXHUwMEE0XHUwMEE1XHUwMEE2XHUwMEE3XHUwMEE4XHUwMEE5XHUwMEFBXHUwMEFCXHUwMEFDXHUwMEFEXHUwMEFFXHUwMEFGXHUwMEIwXHUwMEIxXHUwMEIyXHUwMEIzXHUwMEI0XHUwMEI1XHUwMEI2XHUwMEI3XHUwMEI4XHUwMEI5XHUwMEJBXHUwMEJCXHUwMEJDXHUwMEJEXHUwMEJFXHUwMEJGXHUwMEMwXHUwMEMxXHUwMEMyXHUwMEMzXHUwMEM0XHUwMEM1XHUwMEM2XHUwMEM3XHUwMEM4XHUwMEM5XHUwMENBXHUwMENCXHUwMENDXHUwMENEXHUwMENFXHUwMENGXHUwMTFFXHUwMEQxXHUwMEQyXHUwMEQzXHUwMEQ0XHUwMEQ1XHUwMEQ2XHUwMEQ3XHUwMEQ4XHUwMEQ5XHUwMERBXHUwMERCXHUwMERDXHUwMTMwXHUwMTVFXHUwMERGXHUwMEUwXHUwMEUxXHUwMEUyXHUwMEUzXHUwMEU0XHUwMEU1XHUwMEU2XHUwMEU3XHUwMEU4XHUwMEU5XHUwMEVBXHUwMEVCXHUwMEVDXHUwMEVEXHUwMEVFXHUwMEVGXHUwMTFGXHUwMEYxXHUwMEYyXHUwMEYzXHUwMEY0XHUwMEY1XHUwMEY2XHUwMEY3XHUwMEY4XHUwMEY5XHUwMEZBXHUwMEZCXHUwMEZDXHUwMTMxXHUwMTVGXHUwMEZGXCJcbiAgfSxcbiAgXCJjcDI4NTk5XCI6IFwiaXNvODg1OTlcIixcbiAgXCJpc284ODU5MTBcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MDA4MFx1MDA4MVx1MDA4Mlx1MDA4M1x1MDA4NFx1MDA4NVx1MDA4Nlx1MDA4N1x1MDA4OFx1MDA4OVx1MDA4QVx1MDA4Qlx1MDA4Q1x1MDA4RFx1MDA4RVx1MDA4Rlx1MDA5MFx1MDA5MVx1MDA5Mlx1MDA5M1x1MDA5NFx1MDA5NVx1MDA5Nlx1MDA5N1x1MDA5OFx1MDA5OVx1MDA5QVx1MDA5Qlx1MDA5Q1x1MDA5RFx1MDA5RVx1MDA5Rlx1MDBBMFx1MDEwNFx1MDExMlx1MDEyMlx1MDEyQVx1MDEyOFx1MDEzNlx1MDBBN1x1MDEzQlx1MDExMFx1MDE2MFx1MDE2Nlx1MDE3RFx1MDBBRFx1MDE2QVx1MDE0QVx1MDBCMFx1MDEwNVx1MDExM1x1MDEyM1x1MDEyQlx1MDEyOVx1MDEzN1x1MDBCN1x1MDEzQ1x1MDExMVx1MDE2MVx1MDE2N1x1MDE3RVx1MjAxNVx1MDE2Qlx1MDE0Qlx1MDEwMFx1MDBDMVx1MDBDMlx1MDBDM1x1MDBDNFx1MDBDNVx1MDBDNlx1MDEyRVx1MDEwQ1x1MDBDOVx1MDExOFx1MDBDQlx1MDExNlx1MDBDRFx1MDBDRVx1MDBDRlx1MDBEMFx1MDE0NVx1MDE0Q1x1MDBEM1x1MDBENFx1MDBENVx1MDBENlx1MDE2OFx1MDBEOFx1MDE3Mlx1MDBEQVx1MDBEQlx1MDBEQ1x1MDBERFx1MDBERVx1MDBERlx1MDEwMVx1MDBFMVx1MDBFMlx1MDBFM1x1MDBFNFx1MDBFNVx1MDBFNlx1MDEyRlx1MDEwRFx1MDBFOVx1MDExOVx1MDBFQlx1MDExN1x1MDBFRFx1MDBFRVx1MDBFRlx1MDBGMFx1MDE0Nlx1MDE0RFx1MDBGM1x1MDBGNFx1MDBGNVx1MDBGNlx1MDE2OVx1MDBGOFx1MDE3M1x1MDBGQVx1MDBGQlx1MDBGQ1x1MDBGRFx1MDBGRVx1MDEzOFwiXG4gIH0sXG4gIFwiY3AyODYwMFwiOiBcImlzbzg4NTkxMFwiLFxuICBcImlzbzg4NTkxMVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEEwXHUwRTAxXHUwRTAyXHUwRTAzXHUwRTA0XHUwRTA1XHUwRTA2XHUwRTA3XHUwRTA4XHUwRTA5XHUwRTBBXHUwRTBCXHUwRTBDXHUwRTBEXHUwRTBFXHUwRTBGXHUwRTEwXHUwRTExXHUwRTEyXHUwRTEzXHUwRTE0XHUwRTE1XHUwRTE2XHUwRTE3XHUwRTE4XHUwRTE5XHUwRTFBXHUwRTFCXHUwRTFDXHUwRTFEXHUwRTFFXHUwRTFGXHUwRTIwXHUwRTIxXHUwRTIyXHUwRTIzXHUwRTI0XHUwRTI1XHUwRTI2XHUwRTI3XHUwRTI4XHUwRTI5XHUwRTJBXHUwRTJCXHUwRTJDXHUwRTJEXHUwRTJFXHUwRTJGXHUwRTMwXHUwRTMxXHUwRTMyXHUwRTMzXHUwRTM0XHUwRTM1XHUwRTM2XHUwRTM3XHUwRTM4XHUwRTM5XHUwRTNBXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHUwRTNGXHUwRTQwXHUwRTQxXHUwRTQyXHUwRTQzXHUwRTQ0XHUwRTQ1XHUwRTQ2XHUwRTQ3XHUwRTQ4XHUwRTQ5XHUwRTRBXHUwRTRCXHUwRTRDXHUwRTREXHUwRTRFXHUwRTRGXHUwRTUwXHUwRTUxXHUwRTUyXHUwRTUzXHUwRTU0XHUwRTU1XHUwRTU2XHUwRTU3XHUwRTU4XHUwRTU5XHUwRTVBXHUwRTVCXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXCJcbiAgfSxcbiAgXCJjcDI4NjAxXCI6IFwiaXNvODg1OTExXCIsXG4gIFwiaXNvODg1OTEzXCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdTAwODBcdTAwODFcdTAwODJcdTAwODNcdTAwODRcdTAwODVcdTAwODZcdTAwODdcdTAwODhcdTAwODlcdTAwOEFcdTAwOEJcdTAwOENcdTAwOERcdTAwOEVcdTAwOEZcdTAwOTBcdTAwOTFcdTAwOTJcdTAwOTNcdTAwOTRcdTAwOTVcdTAwOTZcdTAwOTdcdTAwOThcdTAwOTlcdTAwOUFcdTAwOUJcdTAwOUNcdTAwOURcdTAwOUVcdTAwOUZcdTAwQTBcdTIwMURcdTAwQTJcdTAwQTNcdTAwQTRcdTIwMUVcdTAwQTZcdTAwQTdcdTAwRDhcdTAwQTlcdTAxNTZcdTAwQUJcdTAwQUNcdTAwQURcdTAwQUVcdTAwQzZcdTAwQjBcdTAwQjFcdTAwQjJcdTAwQjNcdTIwMUNcdTAwQjVcdTAwQjZcdTAwQjdcdTAwRjhcdTAwQjlcdTAxNTdcdTAwQkJcdTAwQkNcdTAwQkRcdTAwQkVcdTAwRTZcdTAxMDRcdTAxMkVcdTAxMDBcdTAxMDZcdTAwQzRcdTAwQzVcdTAxMThcdTAxMTJcdTAxMENcdTAwQzlcdTAxNzlcdTAxMTZcdTAxMjJcdTAxMzZcdTAxMkFcdTAxM0JcdTAxNjBcdTAxNDNcdTAxNDVcdTAwRDNcdTAxNENcdTAwRDVcdTAwRDZcdTAwRDdcdTAxNzJcdTAxNDFcdTAxNUFcdTAxNkFcdTAwRENcdTAxN0JcdTAxN0RcdTAwREZcdTAxMDVcdTAxMkZcdTAxMDFcdTAxMDdcdTAwRTRcdTAwRTVcdTAxMTlcdTAxMTNcdTAxMERcdTAwRTlcdTAxN0FcdTAxMTdcdTAxMjNcdTAxMzdcdTAxMkJcdTAxM0NcdTAxNjFcdTAxNDRcdTAxNDZcdTAwRjNcdTAxNERcdTAwRjVcdTAwRjZcdTAwRjdcdTAxNzNcdTAxNDJcdTAxNUJcdTAxNkJcdTAwRkNcdTAxN0NcdTAxN0VcdTIwMTlcIlxuICB9LFxuICBcImNwMjg2MDNcIjogXCJpc284ODU5MTNcIixcbiAgXCJpc284ODU5MTRcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MDA4MFx1MDA4MVx1MDA4Mlx1MDA4M1x1MDA4NFx1MDA4NVx1MDA4Nlx1MDA4N1x1MDA4OFx1MDA4OVx1MDA4QVx1MDA4Qlx1MDA4Q1x1MDA4RFx1MDA4RVx1MDA4Rlx1MDA5MFx1MDA5MVx1MDA5Mlx1MDA5M1x1MDA5NFx1MDA5NVx1MDA5Nlx1MDA5N1x1MDA5OFx1MDA5OVx1MDA5QVx1MDA5Qlx1MDA5Q1x1MDA5RFx1MDA5RVx1MDA5Rlx1MDBBMFx1MUUwMlx1MUUwM1x1MDBBM1x1MDEwQVx1MDEwQlx1MUUwQVx1MDBBN1x1MUU4MFx1MDBBOVx1MUU4Mlx1MUUwQlx1MUVGMlx1MDBBRFx1MDBBRVx1MDE3OFx1MUUxRVx1MUUxRlx1MDEyMFx1MDEyMVx1MUU0MFx1MUU0MVx1MDBCNlx1MUU1Nlx1MUU4MVx1MUU1N1x1MUU4M1x1MUU2MFx1MUVGM1x1MUU4NFx1MUU4NVx1MUU2MVx1MDBDMFx1MDBDMVx1MDBDMlx1MDBDM1x1MDBDNFx1MDBDNVx1MDBDNlx1MDBDN1x1MDBDOFx1MDBDOVx1MDBDQVx1MDBDQlx1MDBDQ1x1MDBDRFx1MDBDRVx1MDBDRlx1MDE3NFx1MDBEMVx1MDBEMlx1MDBEM1x1MDBENFx1MDBENVx1MDBENlx1MUU2QVx1MDBEOFx1MDBEOVx1MDBEQVx1MDBEQlx1MDBEQ1x1MDBERFx1MDE3Nlx1MDBERlx1MDBFMFx1MDBFMVx1MDBFMlx1MDBFM1x1MDBFNFx1MDBFNVx1MDBFNlx1MDBFN1x1MDBFOFx1MDBFOVx1MDBFQVx1MDBFQlx1MDBFQ1x1MDBFRFx1MDBFRVx1MDBFRlx1MDE3NVx1MDBGMVx1MDBGMlx1MDBGM1x1MDBGNFx1MDBGNVx1MDBGNlx1MUU2Qlx1MDBGOFx1MDBGOVx1MDBGQVx1MDBGQlx1MDBGQ1x1MDBGRFx1MDE3N1x1MDBGRlwiXG4gIH0sXG4gIFwiY3AyODYwNFwiOiBcImlzbzg4NTkxNFwiLFxuICBcImlzbzg4NTkxNVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMDgwXHUwMDgxXHUwMDgyXHUwMDgzXHUwMDg0XHUwMDg1XHUwMDg2XHUwMDg3XHUwMDg4XHUwMDg5XHUwMDhBXHUwMDhCXHUwMDhDXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUwMDkxXHUwMDkyXHUwMDkzXHUwMDk0XHUwMDk1XHUwMDk2XHUwMDk3XHUwMDk4XHUwMDk5XHUwMDlBXHUwMDlCXHUwMDlDXHUwMDlEXHUwMDlFXHUwMDlGXHUwMEEwXHUwMEExXHUwMEEyXHUwMEEzXHUyMEFDXHUwMEE1XHUwMTYwXHUwMEE3XHUwMTYxXHUwMEE5XHUwMEFBXHUwMEFCXHUwMEFDXHUwMEFEXHUwMEFFXHUwMEFGXHUwMEIwXHUwMEIxXHUwMEIyXHUwMEIzXHUwMTdEXHUwMEI1XHUwMEI2XHUwMEI3XHUwMTdFXHUwMEI5XHUwMEJBXHUwMEJCXHUwMTUyXHUwMTUzXHUwMTc4XHUwMEJGXHUwMEMwXHUwMEMxXHUwMEMyXHUwMEMzXHUwMEM0XHUwMEM1XHUwMEM2XHUwMEM3XHUwMEM4XHUwMEM5XHUwMENBXHUwMENCXHUwMENDXHUwMENEXHUwMENFXHUwMENGXHUwMEQwXHUwMEQxXHUwMEQyXHUwMEQzXHUwMEQ0XHUwMEQ1XHUwMEQ2XHUwMEQ3XHUwMEQ4XHUwMEQ5XHUwMERBXHUwMERCXHUwMERDXHUwMEREXHUwMERFXHUwMERGXHUwMEUwXHUwMEUxXHUwMEUyXHUwMEUzXHUwMEU0XHUwMEU1XHUwMEU2XHUwMEU3XHUwMEU4XHUwMEU5XHUwMEVBXHUwMEVCXHUwMEVDXHUwMEVEXHUwMEVFXHUwMEVGXHUwMEYwXHUwMEYxXHUwMEYyXHUwMEYzXHUwMEY0XHUwMEY1XHUwMEY2XHUwMEY3XHUwMEY4XHUwMEY5XHUwMEZBXHUwMEZCXHUwMEZDXHUwMEZEXHUwMEZFXHUwMEZGXCJcbiAgfSxcbiAgXCJjcDI4NjA1XCI6IFwiaXNvODg1OTE1XCIsXG4gIFwiaXNvODg1OTE2XCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdTAwODBcdTAwODFcdTAwODJcdTAwODNcdTAwODRcdTAwODVcdTAwODZcdTAwODdcdTAwODhcdTAwODlcdTAwOEFcdTAwOEJcdTAwOENcdTAwOERcdTAwOEVcdTAwOEZcdTAwOTBcdTAwOTFcdTAwOTJcdTAwOTNcdTAwOTRcdTAwOTVcdTAwOTZcdTAwOTdcdTAwOThcdTAwOTlcdTAwOUFcdTAwOUJcdTAwOUNcdTAwOURcdTAwOUVcdTAwOUZcdTAwQTBcdTAxMDRcdTAxMDVcdTAxNDFcdTIwQUNcdTIwMUVcdTAxNjBcdTAwQTdcdTAxNjFcdTAwQTlcdTAyMThcdTAwQUJcdTAxNzlcdTAwQURcdTAxN0FcdTAxN0JcdTAwQjBcdTAwQjFcdTAxMENcdTAxNDJcdTAxN0RcdTIwMURcdTAwQjZcdTAwQjdcdTAxN0VcdTAxMERcdTAyMTlcdTAwQkJcdTAxNTJcdTAxNTNcdTAxNzhcdTAxN0NcdTAwQzBcdTAwQzFcdTAwQzJcdTAxMDJcdTAwQzRcdTAxMDZcdTAwQzZcdTAwQzdcdTAwQzhcdTAwQzlcdTAwQ0FcdTAwQ0JcdTAwQ0NcdTAwQ0RcdTAwQ0VcdTAwQ0ZcdTAxMTBcdTAxNDNcdTAwRDJcdTAwRDNcdTAwRDRcdTAxNTBcdTAwRDZcdTAxNUFcdTAxNzBcdTAwRDlcdTAwREFcdTAwREJcdTAwRENcdTAxMThcdTAyMUFcdTAwREZcdTAwRTBcdTAwRTFcdTAwRTJcdTAxMDNcdTAwRTRcdTAxMDdcdTAwRTZcdTAwRTdcdTAwRThcdTAwRTlcdTAwRUFcdTAwRUJcdTAwRUNcdTAwRURcdTAwRUVcdTAwRUZcdTAxMTFcdTAxNDRcdTAwRjJcdTAwRjNcdTAwRjRcdTAxNTFcdTAwRjZcdTAxNUJcdTAxNzFcdTAwRjlcdTAwRkFcdTAwRkJcdTAwRkNcdTAxMTlcdTAyMUJcdTAwRkZcIlxuICB9LFxuICBcImNwMjg2MDZcIjogXCJpc284ODU5MTZcIixcbiAgXCJjcDQzN1wiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMEM3XHUwMEZDXHUwMEU5XHUwMEUyXHUwMEU0XHUwMEUwXHUwMEU1XHUwMEU3XHUwMEVBXHUwMEVCXHUwMEU4XHUwMEVGXHUwMEVFXHUwMEVDXHUwMEM0XHUwMEM1XHUwMEM5XHUwMEU2XHUwMEM2XHUwMEY0XHUwMEY2XHUwMEYyXHUwMEZCXHUwMEY5XHUwMEZGXHUwMEQ2XHUwMERDXHUwMEEyXHUwMEEzXHUwMEE1XHUyMEE3XHUwMTkyXHUwMEUxXHUwMEVEXHUwMEYzXHUwMEZBXHUwMEYxXHUwMEQxXHUwMEFBXHUwMEJBXHUwMEJGXHUyMzEwXHUwMEFDXHUwMEJEXHUwMEJDXHUwMEExXHUwMEFCXHUwMEJCXHUyNTkxXHUyNTkyXHUyNTkzXHUyNTAyXHUyNTI0XHUyNTYxXHUyNTYyXHUyNTU2XHUyNTU1XHUyNTYzXHUyNTUxXHUyNTU3XHUyNTVEXHUyNTVDXHUyNTVCXHUyNTEwXHUyNTE0XHUyNTM0XHUyNTJDXHUyNTFDXHUyNTAwXHUyNTNDXHUyNTVFXHUyNTVGXHUyNTVBXHUyNTU0XHUyNTY5XHUyNTY2XHUyNTYwXHUyNTUwXHUyNTZDXHUyNTY3XHUyNTY4XHUyNTY0XHUyNTY1XHUyNTU5XHUyNTU4XHUyNTUyXHUyNTUzXHUyNTZCXHUyNTZBXHUyNTE4XHUyNTBDXHUyNTg4XHUyNTg0XHUyNThDXHUyNTkwXHUyNTgwXHUwM0IxXHUwMERGXHUwMzkzXHUwM0MwXHUwM0EzXHUwM0MzXHUwMEI1XHUwM0M0XHUwM0E2XHUwMzk4XHUwM0E5XHUwM0I0XHUyMjFFXHUwM0M2XHUwM0I1XHUyMjI5XHUyMjYxXHUwMEIxXHUyMjY1XHUyMjY0XHUyMzIwXHUyMzIxXHUwMEY3XHUyMjQ4XHUwMEIwXHUyMjE5XHUwMEI3XHUyMjFBXHUyMDdGXHUwMEIyXHUyNUEwXHUwMEEwXCJcbiAgfSxcbiAgXCJpYm00MzdcIjogXCJjcDQzN1wiLFxuICBcImNzaWJtNDM3XCI6IFwiY3A0MzdcIixcbiAgXCJjcDczN1wiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMzkxXHUwMzkyXHUwMzkzXHUwMzk0XHUwMzk1XHUwMzk2XHUwMzk3XHUwMzk4XHUwMzk5XHUwMzlBXHUwMzlCXHUwMzlDXHUwMzlEXHUwMzlFXHUwMzlGXHUwM0EwXHUwM0ExXHUwM0EzXHUwM0E0XHUwM0E1XHUwM0E2XHUwM0E3XHUwM0E4XHUwM0E5XHUwM0IxXHUwM0IyXHUwM0IzXHUwM0I0XHUwM0I1XHUwM0I2XHUwM0I3XHUwM0I4XHUwM0I5XHUwM0JBXHUwM0JCXHUwM0JDXHUwM0JEXHUwM0JFXHUwM0JGXHUwM0MwXHUwM0MxXHUwM0MzXHUwM0MyXHUwM0M0XHUwM0M1XHUwM0M2XHUwM0M3XHUwM0M4XHUyNTkxXHUyNTkyXHUyNTkzXHUyNTAyXHUyNTI0XHUyNTYxXHUyNTYyXHUyNTU2XHUyNTU1XHUyNTYzXHUyNTUxXHUyNTU3XHUyNTVEXHUyNTVDXHUyNTVCXHUyNTEwXHUyNTE0XHUyNTM0XHUyNTJDXHUyNTFDXHUyNTAwXHUyNTNDXHUyNTVFXHUyNTVGXHUyNTVBXHUyNTU0XHUyNTY5XHUyNTY2XHUyNTYwXHUyNTUwXHUyNTZDXHUyNTY3XHUyNTY4XHUyNTY0XHUyNTY1XHUyNTU5XHUyNTU4XHUyNTUyXHUyNTUzXHUyNTZCXHUyNTZBXHUyNTE4XHUyNTBDXHUyNTg4XHUyNTg0XHUyNThDXHUyNTkwXHUyNTgwXHUwM0M5XHUwM0FDXHUwM0FEXHUwM0FFXHUwM0NBXHUwM0FGXHUwM0NDXHUwM0NEXHUwM0NCXHUwM0NFXHUwMzg2XHUwMzg4XHUwMzg5XHUwMzhBXHUwMzhDXHUwMzhFXHUwMzhGXHUwMEIxXHUyMjY1XHUyMjY0XHUwM0FBXHUwM0FCXHUwMEY3XHUyMjQ4XHUwMEIwXHUyMjE5XHUwMEI3XHUyMjFBXHUyMDdGXHUwMEIyXHUyNUEwXHUwMEEwXCJcbiAgfSxcbiAgXCJpYm03MzdcIjogXCJjcDczN1wiLFxuICBcImNzaWJtNzM3XCI6IFwiY3A3MzdcIixcbiAgXCJjcDc3NVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMTA2XHUwMEZDXHUwMEU5XHUwMTAxXHUwMEU0XHUwMTIzXHUwMEU1XHUwMTA3XHUwMTQyXHUwMTEzXHUwMTU2XHUwMTU3XHUwMTJCXHUwMTc5XHUwMEM0XHUwMEM1XHUwMEM5XHUwMEU2XHUwMEM2XHUwMTREXHUwMEY2XHUwMTIyXHUwMEEyXHUwMTVBXHUwMTVCXHUwMEQ2XHUwMERDXHUwMEY4XHUwMEEzXHUwMEQ4XHUwMEQ3XHUwMEE0XHUwMTAwXHUwMTJBXHUwMEYzXHUwMTdCXHUwMTdDXHUwMTdBXHUyMDFEXHUwMEE2XHUwMEE5XHUwMEFFXHUwMEFDXHUwMEJEXHUwMEJDXHUwMTQxXHUwMEFCXHUwMEJCXHUyNTkxXHUyNTkyXHUyNTkzXHUyNTAyXHUyNTI0XHUwMTA0XHUwMTBDXHUwMTE4XHUwMTE2XHUyNTYzXHUyNTUxXHUyNTU3XHUyNTVEXHUwMTJFXHUwMTYwXHUyNTEwXHUyNTE0XHUyNTM0XHUyNTJDXHUyNTFDXHUyNTAwXHUyNTNDXHUwMTcyXHUwMTZBXHUyNTVBXHUyNTU0XHUyNTY5XHUyNTY2XHUyNTYwXHUyNTUwXHUyNTZDXHUwMTdEXHUwMTA1XHUwMTBEXHUwMTE5XHUwMTE3XHUwMTJGXHUwMTYxXHUwMTczXHUwMTZCXHUwMTdFXHUyNTE4XHUyNTBDXHUyNTg4XHUyNTg0XHUyNThDXHUyNTkwXHUyNTgwXHUwMEQzXHUwMERGXHUwMTRDXHUwMTQzXHUwMEY1XHUwMEQ1XHUwMEI1XHUwMTQ0XHUwMTM2XHUwMTM3XHUwMTNCXHUwMTNDXHUwMTQ2XHUwMTEyXHUwMTQ1XHUyMDE5XHUwMEFEXHUwMEIxXHUyMDFDXHUwMEJFXHUwMEI2XHUwMEE3XHUwMEY3XHUyMDFFXHUwMEIwXHUyMjE5XHUwMEI3XHUwMEI5XHUwMEIzXHUwMEIyXHUyNUEwXHUwMEEwXCJcbiAgfSxcbiAgXCJpYm03NzVcIjogXCJjcDc3NVwiLFxuICBcImNzaWJtNzc1XCI6IFwiY3A3NzVcIixcbiAgXCJjcDg1MFwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMEM3XHUwMEZDXHUwMEU5XHUwMEUyXHUwMEU0XHUwMEUwXHUwMEU1XHUwMEU3XHUwMEVBXHUwMEVCXHUwMEU4XHUwMEVGXHUwMEVFXHUwMEVDXHUwMEM0XHUwMEM1XHUwMEM5XHUwMEU2XHUwMEM2XHUwMEY0XHUwMEY2XHUwMEYyXHUwMEZCXHUwMEY5XHUwMEZGXHUwMEQ2XHUwMERDXHUwMEY4XHUwMEEzXHUwMEQ4XHUwMEQ3XHUwMTkyXHUwMEUxXHUwMEVEXHUwMEYzXHUwMEZBXHUwMEYxXHUwMEQxXHUwMEFBXHUwMEJBXHUwMEJGXHUwMEFFXHUwMEFDXHUwMEJEXHUwMEJDXHUwMEExXHUwMEFCXHUwMEJCXHUyNTkxXHUyNTkyXHUyNTkzXHUyNTAyXHUyNTI0XHUwMEMxXHUwMEMyXHUwMEMwXHUwMEE5XHUyNTYzXHUyNTUxXHUyNTU3XHUyNTVEXHUwMEEyXHUwMEE1XHUyNTEwXHUyNTE0XHUyNTM0XHUyNTJDXHUyNTFDXHUyNTAwXHUyNTNDXHUwMEUzXHUwMEMzXHUyNTVBXHUyNTU0XHUyNTY5XHUyNTY2XHUyNTYwXHUyNTUwXHUyNTZDXHUwMEE0XHUwMEYwXHUwMEQwXHUwMENBXHUwMENCXHUwMEM4XHUwMTMxXHUwMENEXHUwMENFXHUwMENGXHUyNTE4XHUyNTBDXHUyNTg4XHUyNTg0XHUwMEE2XHUwMENDXHUyNTgwXHUwMEQzXHUwMERGXHUwMEQ0XHUwMEQyXHUwMEY1XHUwMEQ1XHUwMEI1XHUwMEZFXHUwMERFXHUwMERBXHUwMERCXHUwMEQ5XHUwMEZEXHUwMEREXHUwMEFGXHUwMEI0XHUwMEFEXHUwMEIxXHUyMDE3XHUwMEJFXHUwMEI2XHUwMEE3XHUwMEY3XHUwMEI4XHUwMEIwXHUwMEE4XHUwMEI3XHUwMEI5XHUwMEIzXHUwMEIyXHUyNUEwXHUwMEEwXCJcbiAgfSxcbiAgXCJpYm04NTBcIjogXCJjcDg1MFwiLFxuICBcImNzaWJtODUwXCI6IFwiY3A4NTBcIixcbiAgXCJjcDg1MlwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMEM3XHUwMEZDXHUwMEU5XHUwMEUyXHUwMEU0XHUwMTZGXHUwMTA3XHUwMEU3XHUwMTQyXHUwMEVCXHUwMTUwXHUwMTUxXHUwMEVFXHUwMTc5XHUwMEM0XHUwMTA2XHUwMEM5XHUwMTM5XHUwMTNBXHUwMEY0XHUwMEY2XHUwMTNEXHUwMTNFXHUwMTVBXHUwMTVCXHUwMEQ2XHUwMERDXHUwMTY0XHUwMTY1XHUwMTQxXHUwMEQ3XHUwMTBEXHUwMEUxXHUwMEVEXHUwMEYzXHUwMEZBXHUwMTA0XHUwMTA1XHUwMTdEXHUwMTdFXHUwMTE4XHUwMTE5XHUwMEFDXHUwMTdBXHUwMTBDXHUwMTVGXHUwMEFCXHUwMEJCXHUyNTkxXHUyNTkyXHUyNTkzXHUyNTAyXHUyNTI0XHUwMEMxXHUwMEMyXHUwMTFBXHUwMTVFXHUyNTYzXHUyNTUxXHUyNTU3XHUyNTVEXHUwMTdCXHUwMTdDXHUyNTEwXHUyNTE0XHUyNTM0XHUyNTJDXHUyNTFDXHUyNTAwXHUyNTNDXHUwMTAyXHUwMTAzXHUyNTVBXHUyNTU0XHUyNTY5XHUyNTY2XHUyNTYwXHUyNTUwXHUyNTZDXHUwMEE0XHUwMTExXHUwMTEwXHUwMTBFXHUwMENCXHUwMTBGXHUwMTQ3XHUwMENEXHUwMENFXHUwMTFCXHUyNTE4XHUyNTBDXHUyNTg4XHUyNTg0XHUwMTYyXHUwMTZFXHUyNTgwXHUwMEQzXHUwMERGXHUwMEQ0XHUwMTQzXHUwMTQ0XHUwMTQ4XHUwMTYwXHUwMTYxXHUwMTU0XHUwMERBXHUwMTU1XHUwMTcwXHUwMEZEXHUwMEREXHUwMTYzXHUwMEI0XHUwMEFEXHUwMkREXHUwMkRCXHUwMkM3XHUwMkQ4XHUwMEE3XHUwMEY3XHUwMEI4XHUwMEIwXHUwMEE4XHUwMkQ5XHUwMTcxXHUwMTU4XHUwMTU5XHUyNUEwXHUwMEEwXCJcbiAgfSxcbiAgXCJpYm04NTJcIjogXCJjcDg1MlwiLFxuICBcImNzaWJtODUyXCI6IFwiY3A4NTJcIixcbiAgXCJjcDg1NVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwNDUyXHUwNDAyXHUwNDUzXHUwNDAzXHUwNDUxXHUwNDAxXHUwNDU0XHUwNDA0XHUwNDU1XHUwNDA1XHUwNDU2XHUwNDA2XHUwNDU3XHUwNDA3XHUwNDU4XHUwNDA4XHUwNDU5XHUwNDA5XHUwNDVBXHUwNDBBXHUwNDVCXHUwNDBCXHUwNDVDXHUwNDBDXHUwNDVFXHUwNDBFXHUwNDVGXHUwNDBGXHUwNDRFXHUwNDJFXHUwNDRBXHUwNDJBXHUwNDMwXHUwNDEwXHUwNDMxXHUwNDExXHUwNDQ2XHUwNDI2XHUwNDM0XHUwNDE0XHUwNDM1XHUwNDE1XHUwNDQ0XHUwNDI0XHUwNDMzXHUwNDEzXHUwMEFCXHUwMEJCXHUyNTkxXHUyNTkyXHUyNTkzXHUyNTAyXHUyNTI0XHUwNDQ1XHUwNDI1XHUwNDM4XHUwNDE4XHUyNTYzXHUyNTUxXHUyNTU3XHUyNTVEXHUwNDM5XHUwNDE5XHUyNTEwXHUyNTE0XHUyNTM0XHUyNTJDXHUyNTFDXHUyNTAwXHUyNTNDXHUwNDNBXHUwNDFBXHUyNTVBXHUyNTU0XHUyNTY5XHUyNTY2XHUyNTYwXHUyNTUwXHUyNTZDXHUwMEE0XHUwNDNCXHUwNDFCXHUwNDNDXHUwNDFDXHUwNDNEXHUwNDFEXHUwNDNFXHUwNDFFXHUwNDNGXHUyNTE4XHUyNTBDXHUyNTg4XHUyNTg0XHUwNDFGXHUwNDRGXHUyNTgwXHUwNDJGXHUwNDQwXHUwNDIwXHUwNDQxXHUwNDIxXHUwNDQyXHUwNDIyXHUwNDQzXHUwNDIzXHUwNDM2XHUwNDE2XHUwNDMyXHUwNDEyXHUwNDRDXHUwNDJDXHUyMTE2XHUwMEFEXHUwNDRCXHUwNDJCXHUwNDM3XHUwNDE3XHUwNDQ4XHUwNDI4XHUwNDREXHUwNDJEXHUwNDQ5XHUwNDI5XHUwNDQ3XHUwNDI3XHUwMEE3XHUyNUEwXHUwMEEwXCJcbiAgfSxcbiAgXCJpYm04NTVcIjogXCJjcDg1NVwiLFxuICBcImNzaWJtODU1XCI6IFwiY3A4NTVcIixcbiAgXCJjcDg1NlwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwNUQwXHUwNUQxXHUwNUQyXHUwNUQzXHUwNUQ0XHUwNUQ1XHUwNUQ2XHUwNUQ3XHUwNUQ4XHUwNUQ5XHUwNURBXHUwNURCXHUwNURDXHUwNUREXHUwNURFXHUwNURGXHUwNUUwXHUwNUUxXHUwNUUyXHUwNUUzXHUwNUU0XHUwNUU1XHUwNUU2XHUwNUU3XHUwNUU4XHUwNUU5XHUwNUVBXHVGRkZEXHUwMEEzXHVGRkZEXHUwMEQ3XHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHUwMEFFXHUwMEFDXHUwMEJEXHUwMEJDXHVGRkZEXHUwMEFCXHUwMEJCXHUyNTkxXHUyNTkyXHUyNTkzXHUyNTAyXHUyNTI0XHVGRkZEXHVGRkZEXHVGRkZEXHUwMEE5XHUyNTYzXHUyNTUxXHUyNTU3XHUyNTVEXHUwMEEyXHUwMEE1XHUyNTEwXHUyNTE0XHUyNTM0XHUyNTJDXHUyNTFDXHUyNTAwXHUyNTNDXHVGRkZEXHVGRkZEXHUyNTVBXHUyNTU0XHUyNTY5XHUyNTY2XHUyNTYwXHUyNTUwXHUyNTZDXHUwMEE0XHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHUyNTE4XHUyNTBDXHUyNTg4XHUyNTg0XHUwMEE2XHVGRkZEXHUyNTgwXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHUwMEI1XHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHUwMEFGXHUwMEI0XHUwMEFEXHUwMEIxXHUyMDE3XHUwMEJFXHUwMEI2XHUwMEE3XHUwMEY3XHUwMEI4XHUwMEIwXHUwMEE4XHUwMEI3XHUwMEI5XHUwMEIzXHUwMEIyXHUyNUEwXHUwMEEwXCJcbiAgfSxcbiAgXCJpYm04NTZcIjogXCJjcDg1NlwiLFxuICBcImNzaWJtODU2XCI6IFwiY3A4NTZcIixcbiAgXCJjcDg1N1wiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMEM3XHUwMEZDXHUwMEU5XHUwMEUyXHUwMEU0XHUwMEUwXHUwMEU1XHUwMEU3XHUwMEVBXHUwMEVCXHUwMEU4XHUwMEVGXHUwMEVFXHUwMTMxXHUwMEM0XHUwMEM1XHUwMEM5XHUwMEU2XHUwMEM2XHUwMEY0XHUwMEY2XHUwMEYyXHUwMEZCXHUwMEY5XHUwMTMwXHUwMEQ2XHUwMERDXHUwMEY4XHUwMEEzXHUwMEQ4XHUwMTVFXHUwMTVGXHUwMEUxXHUwMEVEXHUwMEYzXHUwMEZBXHUwMEYxXHUwMEQxXHUwMTFFXHUwMTFGXHUwMEJGXHUwMEFFXHUwMEFDXHUwMEJEXHUwMEJDXHUwMEExXHUwMEFCXHUwMEJCXHUyNTkxXHUyNTkyXHUyNTkzXHUyNTAyXHUyNTI0XHUwMEMxXHUwMEMyXHUwMEMwXHUwMEE5XHUyNTYzXHUyNTUxXHUyNTU3XHUyNTVEXHUwMEEyXHUwMEE1XHUyNTEwXHUyNTE0XHUyNTM0XHUyNTJDXHUyNTFDXHUyNTAwXHUyNTNDXHUwMEUzXHUwMEMzXHUyNTVBXHUyNTU0XHUyNTY5XHUyNTY2XHUyNTYwXHUyNTUwXHUyNTZDXHUwMEE0XHUwMEJBXHUwMEFBXHUwMENBXHUwMENCXHUwMEM4XHVGRkZEXHUwMENEXHUwMENFXHUwMENGXHUyNTE4XHUyNTBDXHUyNTg4XHUyNTg0XHUwMEE2XHUwMENDXHUyNTgwXHUwMEQzXHUwMERGXHUwMEQ0XHUwMEQyXHUwMEY1XHUwMEQ1XHUwMEI1XHVGRkZEXHUwMEQ3XHUwMERBXHUwMERCXHUwMEQ5XHUwMEVDXHUwMEZGXHUwMEFGXHUwMEI0XHUwMEFEXHUwMEIxXHVGRkZEXHUwMEJFXHUwMEI2XHUwMEE3XHUwMEY3XHUwMEI4XHUwMEIwXHUwMEE4XHUwMEI3XHUwMEI5XHUwMEIzXHUwMEIyXHUyNUEwXHUwMEEwXCJcbiAgfSxcbiAgXCJpYm04NTdcIjogXCJjcDg1N1wiLFxuICBcImNzaWJtODU3XCI6IFwiY3A4NTdcIixcbiAgXCJjcDg1OFwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMEM3XHUwMEZDXHUwMEU5XHUwMEUyXHUwMEU0XHUwMEUwXHUwMEU1XHUwMEU3XHUwMEVBXHUwMEVCXHUwMEU4XHUwMEVGXHUwMEVFXHUwMEVDXHUwMEM0XHUwMEM1XHUwMEM5XHUwMEU2XHUwMEM2XHUwMEY0XHUwMEY2XHUwMEYyXHUwMEZCXHUwMEY5XHUwMEZGXHUwMEQ2XHUwMERDXHUwMEY4XHUwMEEzXHUwMEQ4XHUwMEQ3XHUwMTkyXHUwMEUxXHUwMEVEXHUwMEYzXHUwMEZBXHUwMEYxXHUwMEQxXHUwMEFBXHUwMEJBXHUwMEJGXHUwMEFFXHUwMEFDXHUwMEJEXHUwMEJDXHUwMEExXHUwMEFCXHUwMEJCXHUyNTkxXHUyNTkyXHUyNTkzXHUyNTAyXHUyNTI0XHUwMEMxXHUwMEMyXHUwMEMwXHUwMEE5XHUyNTYzXHUyNTUxXHUyNTU3XHUyNTVEXHUwMEEyXHUwMEE1XHUyNTEwXHUyNTE0XHUyNTM0XHUyNTJDXHUyNTFDXHUyNTAwXHUyNTNDXHUwMEUzXHUwMEMzXHUyNTVBXHUyNTU0XHUyNTY5XHUyNTY2XHUyNTYwXHUyNTUwXHUyNTZDXHUwMEE0XHUwMEYwXHUwMEQwXHUwMENBXHUwMENCXHUwMEM4XHUyMEFDXHUwMENEXHUwMENFXHUwMENGXHUyNTE4XHUyNTBDXHUyNTg4XHUyNTg0XHUwMEE2XHUwMENDXHUyNTgwXHUwMEQzXHUwMERGXHUwMEQ0XHUwMEQyXHUwMEY1XHUwMEQ1XHUwMEI1XHUwMEZFXHUwMERFXHUwMERBXHUwMERCXHUwMEQ5XHUwMEZEXHUwMEREXHUwMEFGXHUwMEI0XHUwMEFEXHUwMEIxXHUyMDE3XHUwMEJFXHUwMEI2XHUwMEE3XHUwMEY3XHUwMEI4XHUwMEIwXHUwMEE4XHUwMEI3XHUwMEI5XHUwMEIzXHUwMEIyXHUyNUEwXHUwMEEwXCJcbiAgfSxcbiAgXCJpYm04NThcIjogXCJjcDg1OFwiLFxuICBcImNzaWJtODU4XCI6IFwiY3A4NThcIixcbiAgXCJjcDg2MFwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMEM3XHUwMEZDXHUwMEU5XHUwMEUyXHUwMEUzXHUwMEUwXHUwMEMxXHUwMEU3XHUwMEVBXHUwMENBXHUwMEU4XHUwMENEXHUwMEQ0XHUwMEVDXHUwMEMzXHUwMEMyXHUwMEM5XHUwMEMwXHUwMEM4XHUwMEY0XHUwMEY1XHUwMEYyXHUwMERBXHUwMEY5XHUwMENDXHUwMEQ1XHUwMERDXHUwMEEyXHUwMEEzXHUwMEQ5XHUyMEE3XHUwMEQzXHUwMEUxXHUwMEVEXHUwMEYzXHUwMEZBXHUwMEYxXHUwMEQxXHUwMEFBXHUwMEJBXHUwMEJGXHUwMEQyXHUwMEFDXHUwMEJEXHUwMEJDXHUwMEExXHUwMEFCXHUwMEJCXHUyNTkxXHUyNTkyXHUyNTkzXHUyNTAyXHUyNTI0XHUyNTYxXHUyNTYyXHUyNTU2XHUyNTU1XHUyNTYzXHUyNTUxXHUyNTU3XHUyNTVEXHUyNTVDXHUyNTVCXHUyNTEwXHUyNTE0XHUyNTM0XHUyNTJDXHUyNTFDXHUyNTAwXHUyNTNDXHUyNTVFXHUyNTVGXHUyNTVBXHUyNTU0XHUyNTY5XHUyNTY2XHUyNTYwXHUyNTUwXHUyNTZDXHUyNTY3XHUyNTY4XHUyNTY0XHUyNTY1XHUyNTU5XHUyNTU4XHUyNTUyXHUyNTUzXHUyNTZCXHUyNTZBXHUyNTE4XHUyNTBDXHUyNTg4XHUyNTg0XHUyNThDXHUyNTkwXHUyNTgwXHUwM0IxXHUwMERGXHUwMzkzXHUwM0MwXHUwM0EzXHUwM0MzXHUwMEI1XHUwM0M0XHUwM0E2XHUwMzk4XHUwM0E5XHUwM0I0XHUyMjFFXHUwM0M2XHUwM0I1XHUyMjI5XHUyMjYxXHUwMEIxXHUyMjY1XHUyMjY0XHUyMzIwXHUyMzIxXHUwMEY3XHUyMjQ4XHUwMEIwXHUyMjE5XHUwMEI3XHUyMjFBXHUyMDdGXHUwMEIyXHUyNUEwXHUwMEEwXCJcbiAgfSxcbiAgXCJpYm04NjBcIjogXCJjcDg2MFwiLFxuICBcImNzaWJtODYwXCI6IFwiY3A4NjBcIixcbiAgXCJjcDg2MVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMEM3XHUwMEZDXHUwMEU5XHUwMEUyXHUwMEU0XHUwMEUwXHUwMEU1XHUwMEU3XHUwMEVBXHUwMEVCXHUwMEU4XHUwMEQwXHUwMEYwXHUwMERFXHUwMEM0XHUwMEM1XHUwMEM5XHUwMEU2XHUwMEM2XHUwMEY0XHUwMEY2XHUwMEZFXHUwMEZCXHUwMEREXHUwMEZEXHUwMEQ2XHUwMERDXHUwMEY4XHUwMEEzXHUwMEQ4XHUyMEE3XHUwMTkyXHUwMEUxXHUwMEVEXHUwMEYzXHUwMEZBXHUwMEMxXHUwMENEXHUwMEQzXHUwMERBXHUwMEJGXHUyMzEwXHUwMEFDXHUwMEJEXHUwMEJDXHUwMEExXHUwMEFCXHUwMEJCXHUyNTkxXHUyNTkyXHUyNTkzXHUyNTAyXHUyNTI0XHUyNTYxXHUyNTYyXHUyNTU2XHUyNTU1XHUyNTYzXHUyNTUxXHUyNTU3XHUyNTVEXHUyNTVDXHUyNTVCXHUyNTEwXHUyNTE0XHUyNTM0XHUyNTJDXHUyNTFDXHUyNTAwXHUyNTNDXHUyNTVFXHUyNTVGXHUyNTVBXHUyNTU0XHUyNTY5XHUyNTY2XHUyNTYwXHUyNTUwXHUyNTZDXHUyNTY3XHUyNTY4XHUyNTY0XHUyNTY1XHUyNTU5XHUyNTU4XHUyNTUyXHUyNTUzXHUyNTZCXHUyNTZBXHUyNTE4XHUyNTBDXHUyNTg4XHUyNTg0XHUyNThDXHUyNTkwXHUyNTgwXHUwM0IxXHUwMERGXHUwMzkzXHUwM0MwXHUwM0EzXHUwM0MzXHUwMEI1XHUwM0M0XHUwM0E2XHUwMzk4XHUwM0E5XHUwM0I0XHUyMjFFXHUwM0M2XHUwM0I1XHUyMjI5XHUyMjYxXHUwMEIxXHUyMjY1XHUyMjY0XHUyMzIwXHUyMzIxXHUwMEY3XHUyMjQ4XHUwMEIwXHUyMjE5XHUwMEI3XHUyMjFBXHUyMDdGXHUwMEIyXHUyNUEwXHUwMEEwXCJcbiAgfSxcbiAgXCJpYm04NjFcIjogXCJjcDg2MVwiLFxuICBcImNzaWJtODYxXCI6IFwiY3A4NjFcIixcbiAgXCJjcDg2MlwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwNUQwXHUwNUQxXHUwNUQyXHUwNUQzXHUwNUQ0XHUwNUQ1XHUwNUQ2XHUwNUQ3XHUwNUQ4XHUwNUQ5XHUwNURBXHUwNURCXHUwNURDXHUwNUREXHUwNURFXHUwNURGXHUwNUUwXHUwNUUxXHUwNUUyXHUwNUUzXHUwNUU0XHUwNUU1XHUwNUU2XHUwNUU3XHUwNUU4XHUwNUU5XHUwNUVBXHUwMEEyXHUwMEEzXHUwMEE1XHUyMEE3XHUwMTkyXHUwMEUxXHUwMEVEXHUwMEYzXHUwMEZBXHUwMEYxXHUwMEQxXHUwMEFBXHUwMEJBXHUwMEJGXHUyMzEwXHUwMEFDXHUwMEJEXHUwMEJDXHUwMEExXHUwMEFCXHUwMEJCXHUyNTkxXHUyNTkyXHUyNTkzXHUyNTAyXHUyNTI0XHUyNTYxXHUyNTYyXHUyNTU2XHUyNTU1XHUyNTYzXHUyNTUxXHUyNTU3XHUyNTVEXHUyNTVDXHUyNTVCXHUyNTEwXHUyNTE0XHUyNTM0XHUyNTJDXHUyNTFDXHUyNTAwXHUyNTNDXHUyNTVFXHUyNTVGXHUyNTVBXHUyNTU0XHUyNTY5XHUyNTY2XHUyNTYwXHUyNTUwXHUyNTZDXHUyNTY3XHUyNTY4XHUyNTY0XHUyNTY1XHUyNTU5XHUyNTU4XHUyNTUyXHUyNTUzXHUyNTZCXHUyNTZBXHUyNTE4XHUyNTBDXHUyNTg4XHUyNTg0XHUyNThDXHUyNTkwXHUyNTgwXHUwM0IxXHUwMERGXHUwMzkzXHUwM0MwXHUwM0EzXHUwM0MzXHUwMEI1XHUwM0M0XHUwM0E2XHUwMzk4XHUwM0E5XHUwM0I0XHUyMjFFXHUwM0M2XHUwM0I1XHUyMjI5XHUyMjYxXHUwMEIxXHUyMjY1XHUyMjY0XHUyMzIwXHUyMzIxXHUwMEY3XHUyMjQ4XHUwMEIwXHUyMjE5XHUwMEI3XHUyMjFBXHUyMDdGXHUwMEIyXHUyNUEwXHUwMEEwXCJcbiAgfSxcbiAgXCJpYm04NjJcIjogXCJjcDg2MlwiLFxuICBcImNzaWJtODYyXCI6IFwiY3A4NjJcIixcbiAgXCJjcDg2M1wiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMEM3XHUwMEZDXHUwMEU5XHUwMEUyXHUwMEMyXHUwMEUwXHUwMEI2XHUwMEU3XHUwMEVBXHUwMEVCXHUwMEU4XHUwMEVGXHUwMEVFXHUyMDE3XHUwMEMwXHUwMEE3XHUwMEM5XHUwMEM4XHUwMENBXHUwMEY0XHUwMENCXHUwMENGXHUwMEZCXHUwMEY5XHUwMEE0XHUwMEQ0XHUwMERDXHUwMEEyXHUwMEEzXHUwMEQ5XHUwMERCXHUwMTkyXHUwMEE2XHUwMEI0XHUwMEYzXHUwMEZBXHUwMEE4XHUwMEI4XHUwMEIzXHUwMEFGXHUwMENFXHUyMzEwXHUwMEFDXHUwMEJEXHUwMEJDXHUwMEJFXHUwMEFCXHUwMEJCXHUyNTkxXHUyNTkyXHUyNTkzXHUyNTAyXHUyNTI0XHUyNTYxXHUyNTYyXHUyNTU2XHUyNTU1XHUyNTYzXHUyNTUxXHUyNTU3XHUyNTVEXHUyNTVDXHUyNTVCXHUyNTEwXHUyNTE0XHUyNTM0XHUyNTJDXHUyNTFDXHUyNTAwXHUyNTNDXHUyNTVFXHUyNTVGXHUyNTVBXHUyNTU0XHUyNTY5XHUyNTY2XHUyNTYwXHUyNTUwXHUyNTZDXHUyNTY3XHUyNTY4XHUyNTY0XHUyNTY1XHUyNTU5XHUyNTU4XHUyNTUyXHUyNTUzXHUyNTZCXHUyNTZBXHUyNTE4XHUyNTBDXHUyNTg4XHUyNTg0XHUyNThDXHUyNTkwXHUyNTgwXHUwM0IxXHUwMERGXHUwMzkzXHUwM0MwXHUwM0EzXHUwM0MzXHUwMEI1XHUwM0M0XHUwM0E2XHUwMzk4XHUwM0E5XHUwM0I0XHUyMjFFXHUwM0M2XHUwM0I1XHUyMjI5XHUyMjYxXHUwMEIxXHUyMjY1XHUyMjY0XHUyMzIwXHUyMzIxXHUwMEY3XHUyMjQ4XHUwMEIwXHUyMjE5XHUwMEI3XHUyMjFBXHUyMDdGXHUwMEIyXHUyNUEwXHUwMEEwXCJcbiAgfSxcbiAgXCJpYm04NjNcIjogXCJjcDg2M1wiLFxuICBcImNzaWJtODYzXCI6IFwiY3A4NjNcIixcbiAgXCJjcDg2NFwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXFx1MDAwMFxcdTAwMDFcXHUwMDAyXFx1MDAwM1xcdTAwMDRcXHUwMDA1XFx1MDAwNlxcdTAwMDdcXGJcXHRcXG5cXHUwMDBiXFxmXFxyXFx1MDAwZVxcdTAwMGZcXHUwMDEwXFx1MDAxMVxcdTAwMTJcXHUwMDEzXFx1MDAxNFxcdTAwMTVcXHUwMDE2XFx1MDAxN1xcdTAwMThcXHUwMDE5XFx1MDAxYVxcdTAwMWJcXHUwMDFjXFx1MDAxZFxcdTAwMWVcXHUwMDFmICFcXFwiIyRcdTA2NkEmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcXFxcXV5fYGFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6e3x9flx1MDA3Rlx1MDBCMFx1MDBCN1x1MjIxOVx1MjIxQVx1MjU5Mlx1MjUwMFx1MjUwMlx1MjUzQ1x1MjUyNFx1MjUyQ1x1MjUxQ1x1MjUzNFx1MjUxMFx1MjUwQ1x1MjUxNFx1MjUxOFx1MDNCMlx1MjIxRVx1MDNDNlx1MDBCMVx1MDBCRFx1MDBCQ1x1MjI0OFx1MDBBQlx1MDBCQlx1RkVGN1x1RkVGOFx1RkZGRFx1RkZGRFx1RkVGQlx1RkVGQ1x1RkZGRFx1MDBBMFx1MDBBRFx1RkU4Mlx1MDBBM1x1MDBBNFx1RkU4NFx1RkZGRFx1RkZGRFx1RkU4RVx1RkU4Rlx1RkU5NVx1RkU5OVx1MDYwQ1x1RkU5RFx1RkVBMVx1RkVBNVx1MDY2MFx1MDY2MVx1MDY2Mlx1MDY2M1x1MDY2NFx1MDY2NVx1MDY2Nlx1MDY2N1x1MDY2OFx1MDY2OVx1RkVEMVx1MDYxQlx1RkVCMVx1RkVCNVx1RkVCOVx1MDYxRlx1MDBBMlx1RkU4MFx1RkU4MVx1RkU4M1x1RkU4NVx1RkVDQVx1RkU4Qlx1RkU4RFx1RkU5MVx1RkU5M1x1RkU5N1x1RkU5Qlx1RkU5Rlx1RkVBM1x1RkVBN1x1RkVBOVx1RkVBQlx1RkVBRFx1RkVBRlx1RkVCM1x1RkVCN1x1RkVCQlx1RkVCRlx1RkVDMVx1RkVDNVx1RkVDQlx1RkVDRlx1MDBBNlx1MDBBQ1x1MDBGN1x1MDBEN1x1RkVDOVx1MDY0MFx1RkVEM1x1RkVEN1x1RkVEQlx1RkVERlx1RkVFM1x1RkVFN1x1RkVFQlx1RkVFRFx1RkVFRlx1RkVGM1x1RkVCRFx1RkVDQ1x1RkVDRVx1RkVDRFx1RkVFMVx1RkU3RFx1MDY1MVx1RkVFNVx1RkVFOVx1RkVFQ1x1RkVGMFx1RkVGMlx1RkVEMFx1RkVENVx1RkVGNVx1RkVGNlx1RkVERFx1RkVEOVx1RkVGMVx1MjVBMFx1RkZGRFwiXG4gIH0sXG4gIFwiaWJtODY0XCI6IFwiY3A4NjRcIixcbiAgXCJjc2libTg2NFwiOiBcImNwODY0XCIsXG4gIFwiY3A4NjVcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MDBDN1x1MDBGQ1x1MDBFOVx1MDBFMlx1MDBFNFx1MDBFMFx1MDBFNVx1MDBFN1x1MDBFQVx1MDBFQlx1MDBFOFx1MDBFRlx1MDBFRVx1MDBFQ1x1MDBDNFx1MDBDNVx1MDBDOVx1MDBFNlx1MDBDNlx1MDBGNFx1MDBGNlx1MDBGMlx1MDBGQlx1MDBGOVx1MDBGRlx1MDBENlx1MDBEQ1x1MDBGOFx1MDBBM1x1MDBEOFx1MjBBN1x1MDE5Mlx1MDBFMVx1MDBFRFx1MDBGM1x1MDBGQVx1MDBGMVx1MDBEMVx1MDBBQVx1MDBCQVx1MDBCRlx1MjMxMFx1MDBBQ1x1MDBCRFx1MDBCQ1x1MDBBMVx1MDBBQlx1MDBBNFx1MjU5MVx1MjU5Mlx1MjU5M1x1MjUwMlx1MjUyNFx1MjU2MVx1MjU2Mlx1MjU1Nlx1MjU1NVx1MjU2M1x1MjU1MVx1MjU1N1x1MjU1RFx1MjU1Q1x1MjU1Qlx1MjUxMFx1MjUxNFx1MjUzNFx1MjUyQ1x1MjUxQ1x1MjUwMFx1MjUzQ1x1MjU1RVx1MjU1Rlx1MjU1QVx1MjU1NFx1MjU2OVx1MjU2Nlx1MjU2MFx1MjU1MFx1MjU2Q1x1MjU2N1x1MjU2OFx1MjU2NFx1MjU2NVx1MjU1OVx1MjU1OFx1MjU1Mlx1MjU1M1x1MjU2Qlx1MjU2QVx1MjUxOFx1MjUwQ1x1MjU4OFx1MjU4NFx1MjU4Q1x1MjU5MFx1MjU4MFx1MDNCMVx1MDBERlx1MDM5M1x1MDNDMFx1MDNBM1x1MDNDM1x1MDBCNVx1MDNDNFx1MDNBNlx1MDM5OFx1MDNBOVx1MDNCNFx1MjIxRVx1MDNDNlx1MDNCNVx1MjIyOVx1MjI2MVx1MDBCMVx1MjI2NVx1MjI2NFx1MjMyMFx1MjMyMVx1MDBGN1x1MjI0OFx1MDBCMFx1MjIxOVx1MDBCN1x1MjIxQVx1MjA3Rlx1MDBCMlx1MjVBMFx1MDBBMFwiXG4gIH0sXG4gIFwiaWJtODY1XCI6IFwiY3A4NjVcIixcbiAgXCJjc2libTg2NVwiOiBcImNwODY1XCIsXG4gIFwiY3A4NjZcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MDQxMFx1MDQxMVx1MDQxMlx1MDQxM1x1MDQxNFx1MDQxNVx1MDQxNlx1MDQxN1x1MDQxOFx1MDQxOVx1MDQxQVx1MDQxQlx1MDQxQ1x1MDQxRFx1MDQxRVx1MDQxRlx1MDQyMFx1MDQyMVx1MDQyMlx1MDQyM1x1MDQyNFx1MDQyNVx1MDQyNlx1MDQyN1x1MDQyOFx1MDQyOVx1MDQyQVx1MDQyQlx1MDQyQ1x1MDQyRFx1MDQyRVx1MDQyRlx1MDQzMFx1MDQzMVx1MDQzMlx1MDQzM1x1MDQzNFx1MDQzNVx1MDQzNlx1MDQzN1x1MDQzOFx1MDQzOVx1MDQzQVx1MDQzQlx1MDQzQ1x1MDQzRFx1MDQzRVx1MDQzRlx1MjU5MVx1MjU5Mlx1MjU5M1x1MjUwMlx1MjUyNFx1MjU2MVx1MjU2Mlx1MjU1Nlx1MjU1NVx1MjU2M1x1MjU1MVx1MjU1N1x1MjU1RFx1MjU1Q1x1MjU1Qlx1MjUxMFx1MjUxNFx1MjUzNFx1MjUyQ1x1MjUxQ1x1MjUwMFx1MjUzQ1x1MjU1RVx1MjU1Rlx1MjU1QVx1MjU1NFx1MjU2OVx1MjU2Nlx1MjU2MFx1MjU1MFx1MjU2Q1x1MjU2N1x1MjU2OFx1MjU2NFx1MjU2NVx1MjU1OVx1MjU1OFx1MjU1Mlx1MjU1M1x1MjU2Qlx1MjU2QVx1MjUxOFx1MjUwQ1x1MjU4OFx1MjU4NFx1MjU4Q1x1MjU5MFx1MjU4MFx1MDQ0MFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQ0NFx1MDQ0NVx1MDQ0Nlx1MDQ0N1x1MDQ0OFx1MDQ0OVx1MDQ0QVx1MDQ0Qlx1MDQ0Q1x1MDQ0RFx1MDQ0RVx1MDQ0Rlx1MDQwMVx1MDQ1MVx1MDQwNFx1MDQ1NFx1MDQwN1x1MDQ1N1x1MDQwRVx1MDQ1RVx1MDBCMFx1MjIxOVx1MDBCN1x1MjIxQVx1MjExNlx1MDBBNFx1MjVBMFx1MDBBMFwiXG4gIH0sXG4gIFwiaWJtODY2XCI6IFwiY3A4NjZcIixcbiAgXCJjc2libTg2NlwiOiBcImNwODY2XCIsXG4gIFwiY3A4NjlcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1MDM4Nlx1RkZGRFx1MDBCN1x1MDBBQ1x1MDBBNlx1MjAxOFx1MjAxOVx1MDM4OFx1MjAxNVx1MDM4OVx1MDM4QVx1MDNBQVx1MDM4Q1x1RkZGRFx1RkZGRFx1MDM4RVx1MDNBQlx1MDBBOVx1MDM4Rlx1MDBCMlx1MDBCM1x1MDNBQ1x1MDBBM1x1MDNBRFx1MDNBRVx1MDNBRlx1MDNDQVx1MDM5MFx1MDNDQ1x1MDNDRFx1MDM5MVx1MDM5Mlx1MDM5M1x1MDM5NFx1MDM5NVx1MDM5Nlx1MDM5N1x1MDBCRFx1MDM5OFx1MDM5OVx1MDBBQlx1MDBCQlx1MjU5MVx1MjU5Mlx1MjU5M1x1MjUwMlx1MjUyNFx1MDM5QVx1MDM5Qlx1MDM5Q1x1MDM5RFx1MjU2M1x1MjU1MVx1MjU1N1x1MjU1RFx1MDM5RVx1MDM5Rlx1MjUxMFx1MjUxNFx1MjUzNFx1MjUyQ1x1MjUxQ1x1MjUwMFx1MjUzQ1x1MDNBMFx1MDNBMVx1MjU1QVx1MjU1NFx1MjU2OVx1MjU2Nlx1MjU2MFx1MjU1MFx1MjU2Q1x1MDNBM1x1MDNBNFx1MDNBNVx1MDNBNlx1MDNBN1x1MDNBOFx1MDNBOVx1MDNCMVx1MDNCMlx1MDNCM1x1MjUxOFx1MjUwQ1x1MjU4OFx1MjU4NFx1MDNCNFx1MDNCNVx1MjU4MFx1MDNCNlx1MDNCN1x1MDNCOFx1MDNCOVx1MDNCQVx1MDNCQlx1MDNCQ1x1MDNCRFx1MDNCRVx1MDNCRlx1MDNDMFx1MDNDMVx1MDNDM1x1MDNDMlx1MDNDNFx1MDM4NFx1MDBBRFx1MDBCMVx1MDNDNVx1MDNDNlx1MDNDN1x1MDBBN1x1MDNDOFx1MDM4NVx1MDBCMFx1MDBBOFx1MDNDOVx1MDNDQlx1MDNCMFx1MDNDRVx1MjVBMFx1MDBBMFwiXG4gIH0sXG4gIFwiaWJtODY5XCI6IFwiY3A4NjlcIixcbiAgXCJjc2libTg2OVwiOiBcImNwODY5XCIsXG4gIFwiY3A5MjJcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MDA4MFx1MDA4MVx1MDA4Mlx1MDA4M1x1MDA4NFx1MDA4NVx1MDA4Nlx1MDA4N1x1MDA4OFx1MDA4OVx1MDA4QVx1MDA4Qlx1MDA4Q1x1MDA4RFx1MDA4RVx1MDA4Rlx1MDA5MFx1MDA5MVx1MDA5Mlx1MDA5M1x1MDA5NFx1MDA5NVx1MDA5Nlx1MDA5N1x1MDA5OFx1MDA5OVx1MDA5QVx1MDA5Qlx1MDA5Q1x1MDA5RFx1MDA5RVx1MDA5Rlx1MDBBMFx1MDBBMVx1MDBBMlx1MDBBM1x1MDBBNFx1MDBBNVx1MDBBNlx1MDBBN1x1MDBBOFx1MDBBOVx1MDBBQVx1MDBBQlx1MDBBQ1x1MDBBRFx1MDBBRVx1MjAzRVx1MDBCMFx1MDBCMVx1MDBCMlx1MDBCM1x1MDBCNFx1MDBCNVx1MDBCNlx1MDBCN1x1MDBCOFx1MDBCOVx1MDBCQVx1MDBCQlx1MDBCQ1x1MDBCRFx1MDBCRVx1MDBCRlx1MDBDMFx1MDBDMVx1MDBDMlx1MDBDM1x1MDBDNFx1MDBDNVx1MDBDNlx1MDBDN1x1MDBDOFx1MDBDOVx1MDBDQVx1MDBDQlx1MDBDQ1x1MDBDRFx1MDBDRVx1MDBDRlx1MDE2MFx1MDBEMVx1MDBEMlx1MDBEM1x1MDBENFx1MDBENVx1MDBENlx1MDBEN1x1MDBEOFx1MDBEOVx1MDBEQVx1MDBEQlx1MDBEQ1x1MDBERFx1MDE3RFx1MDBERlx1MDBFMFx1MDBFMVx1MDBFMlx1MDBFM1x1MDBFNFx1MDBFNVx1MDBFNlx1MDBFN1x1MDBFOFx1MDBFOVx1MDBFQVx1MDBFQlx1MDBFQ1x1MDBFRFx1MDBFRVx1MDBFRlx1MDE2MVx1MDBGMVx1MDBGMlx1MDBGM1x1MDBGNFx1MDBGNVx1MDBGNlx1MDBGN1x1MDBGOFx1MDBGOVx1MDBGQVx1MDBGQlx1MDBGQ1x1MDBGRFx1MDE3RVx1MDBGRlwiXG4gIH0sXG4gIFwiaWJtOTIyXCI6IFwiY3A5MjJcIixcbiAgXCJjc2libTkyMlwiOiBcImNwOTIyXCIsXG4gIFwiY3AxMDQ2XCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdUZFODhcdTAwRDdcdTAwRjdcdUY4RjZcdUY4RjVcdUY4RjRcdUY4RjdcdUZFNzFcdTAwODhcdTI1QTBcdTI1MDJcdTI1MDBcdTI1MTBcdTI1MENcdTI1MTRcdTI1MThcdUZFNzlcdUZFN0JcdUZFN0RcdUZFN0ZcdUZFNzdcdUZFOEFcdUZFRjBcdUZFRjNcdUZFRjJcdUZFQ0VcdUZFQ0ZcdUZFRDBcdUZFRjZcdUZFRjhcdUZFRkFcdUZFRkNcdTAwQTBcdUY4RkFcdUY4RjlcdUY4RjhcdTAwQTRcdUY4RkJcdUZFOEJcdUZFOTFcdUZFOTdcdUZFOUJcdUZFOUZcdUZFQTNcdTA2MENcdTAwQURcdUZFQTdcdUZFQjNcdTA2NjBcdTA2NjFcdTA2NjJcdTA2NjNcdTA2NjRcdTA2NjVcdTA2NjZcdTA2NjdcdTA2NjhcdTA2NjlcdUZFQjdcdTA2MUJcdUZFQkJcdUZFQkZcdUZFQ0FcdTA2MUZcdUZFQ0JcdTA2MjFcdTA2MjJcdTA2MjNcdTA2MjRcdTA2MjVcdTA2MjZcdTA2MjdcdTA2MjhcdTA2MjlcdTA2MkFcdTA2MkJcdTA2MkNcdTA2MkRcdTA2MkVcdTA2MkZcdTA2MzBcdTA2MzFcdTA2MzJcdTA2MzNcdTA2MzRcdTA2MzVcdTA2MzZcdTA2MzdcdUZFQzdcdTA2MzlcdTA2M0FcdUZFQ0NcdUZFODJcdUZFODRcdUZFOEVcdUZFRDNcdTA2NDBcdTA2NDFcdTA2NDJcdTA2NDNcdTA2NDRcdTA2NDVcdTA2NDZcdTA2NDdcdTA2NDhcdTA2NDlcdTA2NEFcdTA2NEJcdTA2NENcdTA2NERcdTA2NEVcdTA2NEZcdTA2NTBcdTA2NTFcdTA2NTJcdUZFRDdcdUZFREJcdUZFREZcdUY4RkNcdUZFRjVcdUZFRjdcdUZFRjlcdUZFRkJcdUZFRTNcdUZFRTdcdUZFRUNcdUZFRTlcdUZGRkRcIlxuICB9LFxuICBcImlibTEwNDZcIjogXCJjcDEwNDZcIixcbiAgXCJjc2libTEwNDZcIjogXCJjcDEwNDZcIixcbiAgXCJjcDExMjRcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MDA4MFx1MDA4MVx1MDA4Mlx1MDA4M1x1MDA4NFx1MDA4NVx1MDA4Nlx1MDA4N1x1MDA4OFx1MDA4OVx1MDA4QVx1MDA4Qlx1MDA4Q1x1MDA4RFx1MDA4RVx1MDA4Rlx1MDA5MFx1MDA5MVx1MDA5Mlx1MDA5M1x1MDA5NFx1MDA5NVx1MDA5Nlx1MDA5N1x1MDA5OFx1MDA5OVx1MDA5QVx1MDA5Qlx1MDA5Q1x1MDA5RFx1MDA5RVx1MDA5Rlx1MDBBMFx1MDQwMVx1MDQwMlx1MDQ5MFx1MDQwNFx1MDQwNVx1MDQwNlx1MDQwN1x1MDQwOFx1MDQwOVx1MDQwQVx1MDQwQlx1MDQwQ1x1MDBBRFx1MDQwRVx1MDQwRlx1MDQxMFx1MDQxMVx1MDQxMlx1MDQxM1x1MDQxNFx1MDQxNVx1MDQxNlx1MDQxN1x1MDQxOFx1MDQxOVx1MDQxQVx1MDQxQlx1MDQxQ1x1MDQxRFx1MDQxRVx1MDQxRlx1MDQyMFx1MDQyMVx1MDQyMlx1MDQyM1x1MDQyNFx1MDQyNVx1MDQyNlx1MDQyN1x1MDQyOFx1MDQyOVx1MDQyQVx1MDQyQlx1MDQyQ1x1MDQyRFx1MDQyRVx1MDQyRlx1MDQzMFx1MDQzMVx1MDQzMlx1MDQzM1x1MDQzNFx1MDQzNVx1MDQzNlx1MDQzN1x1MDQzOFx1MDQzOVx1MDQzQVx1MDQzQlx1MDQzQ1x1MDQzRFx1MDQzRVx1MDQzRlx1MDQ0MFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQ0NFx1MDQ0NVx1MDQ0Nlx1MDQ0N1x1MDQ0OFx1MDQ0OVx1MDQ0QVx1MDQ0Qlx1MDQ0Q1x1MDQ0RFx1MDQ0RVx1MDQ0Rlx1MjExNlx1MDQ1MVx1MDQ1Mlx1MDQ5MVx1MDQ1NFx1MDQ1NVx1MDQ1Nlx1MDQ1N1x1MDQ1OFx1MDQ1OVx1MDQ1QVx1MDQ1Qlx1MDQ1Q1x1MDBBN1x1MDQ1RVx1MDQ1RlwiXG4gIH0sXG4gIFwiaWJtMTEyNFwiOiBcImNwMTEyNFwiLFxuICBcImNzaWJtMTEyNFwiOiBcImNwMTEyNFwiLFxuICBcImNwMTEyNVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwNDEwXHUwNDExXHUwNDEyXHUwNDEzXHUwNDE0XHUwNDE1XHUwNDE2XHUwNDE3XHUwNDE4XHUwNDE5XHUwNDFBXHUwNDFCXHUwNDFDXHUwNDFEXHUwNDFFXHUwNDFGXHUwNDIwXHUwNDIxXHUwNDIyXHUwNDIzXHUwNDI0XHUwNDI1XHUwNDI2XHUwNDI3XHUwNDI4XHUwNDI5XHUwNDJBXHUwNDJCXHUwNDJDXHUwNDJEXHUwNDJFXHUwNDJGXHUwNDMwXHUwNDMxXHUwNDMyXHUwNDMzXHUwNDM0XHUwNDM1XHUwNDM2XHUwNDM3XHUwNDM4XHUwNDM5XHUwNDNBXHUwNDNCXHUwNDNDXHUwNDNEXHUwNDNFXHUwNDNGXHUyNTkxXHUyNTkyXHUyNTkzXHUyNTAyXHUyNTI0XHUyNTYxXHUyNTYyXHUyNTU2XHUyNTU1XHUyNTYzXHUyNTUxXHUyNTU3XHUyNTVEXHUyNTVDXHUyNTVCXHUyNTEwXHUyNTE0XHUyNTM0XHUyNTJDXHUyNTFDXHUyNTAwXHUyNTNDXHUyNTVFXHUyNTVGXHUyNTVBXHUyNTU0XHUyNTY5XHUyNTY2XHUyNTYwXHUyNTUwXHUyNTZDXHUyNTY3XHUyNTY4XHUyNTY0XHUyNTY1XHUyNTU5XHUyNTU4XHUyNTUyXHUyNTUzXHUyNTZCXHUyNTZBXHUyNTE4XHUyNTBDXHUyNTg4XHUyNTg0XHUyNThDXHUyNTkwXHUyNTgwXHUwNDQwXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDQ0XHUwNDQ1XHUwNDQ2XHUwNDQ3XHUwNDQ4XHUwNDQ5XHUwNDRBXHUwNDRCXHUwNDRDXHUwNDREXHUwNDRFXHUwNDRGXHUwNDAxXHUwNDUxXHUwNDkwXHUwNDkxXHUwNDA0XHUwNDU0XHUwNDA2XHUwNDU2XHUwNDA3XHUwNDU3XHUwMEI3XHUyMjFBXHUyMTE2XHUwMEE0XHUyNUEwXHUwMEEwXCJcbiAgfSxcbiAgXCJpYm0xMTI1XCI6IFwiY3AxMTI1XCIsXG4gIFwiY3NpYm0xMTI1XCI6IFwiY3AxMTI1XCIsXG4gIFwiY3AxMTI5XCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdTAwODBcdTAwODFcdTAwODJcdTAwODNcdTAwODRcdTAwODVcdTAwODZcdTAwODdcdTAwODhcdTAwODlcdTAwOEFcdTAwOEJcdTAwOENcdTAwOERcdTAwOEVcdTAwOEZcdTAwOTBcdTAwOTFcdTAwOTJcdTAwOTNcdTAwOTRcdTAwOTVcdTAwOTZcdTAwOTdcdTAwOThcdTAwOTlcdTAwOUFcdTAwOUJcdTAwOUNcdTAwOURcdTAwOUVcdTAwOUZcdTAwQTBcdTAwQTFcdTAwQTJcdTAwQTNcdTAwQTRcdTAwQTVcdTAwQTZcdTAwQTdcdTAxNTNcdTAwQTlcdTAwQUFcdTAwQUJcdTAwQUNcdTAwQURcdTAwQUVcdTAwQUZcdTAwQjBcdTAwQjFcdTAwQjJcdTAwQjNcdTAxNzhcdTAwQjVcdTAwQjZcdTAwQjdcdTAxNTJcdTAwQjlcdTAwQkFcdTAwQkJcdTAwQkNcdTAwQkRcdTAwQkVcdTAwQkZcdTAwQzBcdTAwQzFcdTAwQzJcdTAxMDJcdTAwQzRcdTAwQzVcdTAwQzZcdTAwQzdcdTAwQzhcdTAwQzlcdTAwQ0FcdTAwQ0JcdTAzMDBcdTAwQ0RcdTAwQ0VcdTAwQ0ZcdTAxMTBcdTAwRDFcdTAzMDlcdTAwRDNcdTAwRDRcdTAxQTBcdTAwRDZcdTAwRDdcdTAwRDhcdTAwRDlcdTAwREFcdTAwREJcdTAwRENcdTAxQUZcdTAzMDNcdTAwREZcdTAwRTBcdTAwRTFcdTAwRTJcdTAxMDNcdTAwRTRcdTAwRTVcdTAwRTZcdTAwRTdcdTAwRThcdTAwRTlcdTAwRUFcdTAwRUJcdTAzMDFcdTAwRURcdTAwRUVcdTAwRUZcdTAxMTFcdTAwRjFcdTAzMjNcdTAwRjNcdTAwRjRcdTAxQTFcdTAwRjZcdTAwRjdcdTAwRjhcdTAwRjlcdTAwRkFcdTAwRkJcdTAwRkNcdTAxQjBcdTIwQUJcdTAwRkZcIlxuICB9LFxuICBcImlibTExMjlcIjogXCJjcDExMjlcIixcbiAgXCJjc2libTExMjlcIjogXCJjcDExMjlcIixcbiAgXCJjcDExMzNcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MDA4MFx1MDA4MVx1MDA4Mlx1MDA4M1x1MDA4NFx1MDA4NVx1MDA4Nlx1MDA4N1x1MDA4OFx1MDA4OVx1MDA4QVx1MDA4Qlx1MDA4Q1x1MDA4RFx1MDA4RVx1MDA4Rlx1MDA5MFx1MDA5MVx1MDA5Mlx1MDA5M1x1MDA5NFx1MDA5NVx1MDA5Nlx1MDA5N1x1MDA5OFx1MDA5OVx1MDA5QVx1MDA5Qlx1MDA5Q1x1MDA5RFx1MDA5RVx1MDA5Rlx1MDBBMFx1MEU4MVx1MEU4Mlx1MEU4NFx1MEU4N1x1MEU4OFx1MEVBQVx1MEU4QVx1MEU4RFx1MEU5NFx1MEU5NVx1MEU5Nlx1MEU5N1x1MEU5OVx1MEU5QVx1MEU5Qlx1MEU5Q1x1MEU5RFx1MEU5RVx1MEU5Rlx1MEVBMVx1MEVBMlx1MEVBM1x1MEVBNVx1MEVBN1x1MEVBQlx1MEVBRFx1MEVBRVx1RkZGRFx1RkZGRFx1RkZGRFx1MEVBRlx1MEVCMFx1MEVCMlx1MEVCM1x1MEVCNFx1MEVCNVx1MEVCNlx1MEVCN1x1MEVCOFx1MEVCOVx1MEVCQ1x1MEVCMVx1MEVCQlx1MEVCRFx1RkZGRFx1RkZGRFx1RkZGRFx1MEVDMFx1MEVDMVx1MEVDMlx1MEVDM1x1MEVDNFx1MEVDOFx1MEVDOVx1MEVDQVx1MEVDQlx1MEVDQ1x1MEVDRFx1MEVDNlx1RkZGRFx1MEVEQ1x1MEVERFx1MjBBRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1MEVEMFx1MEVEMVx1MEVEMlx1MEVEM1x1MEVENFx1MEVENVx1MEVENlx1MEVEN1x1MEVEOFx1MEVEOVx1RkZGRFx1RkZGRFx1MDBBMlx1MDBBQ1x1MDBBNlx1RkZGRFwiXG4gIH0sXG4gIFwiaWJtMTEzM1wiOiBcImNwMTEzM1wiLFxuICBcImNzaWJtMTEzM1wiOiBcImNwMTEzM1wiLFxuICBcImNwMTE2MVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHUwRTQ4XHUwRTAxXHUwRTAyXHUwRTAzXHUwRTA0XHUwRTA1XHUwRTA2XHUwRTA3XHUwRTA4XHUwRTA5XHUwRTBBXHUwRTBCXHUwRTBDXHUwRTBEXHUwRTBFXHUwRTBGXHUwRTEwXHUwRTExXHUwRTEyXHUwRTEzXHUwRTE0XHUwRTE1XHUwRTE2XHUwRTE3XHUwRTE4XHUwRTE5XHUwRTFBXHUwRTFCXHUwRTFDXHUwRTFEXHUwRTFFXHUwRTFGXHUwRTIwXHUwRTIxXHUwRTIyXHUwRTIzXHUwRTI0XHUwRTI1XHUwRTI2XHUwRTI3XHUwRTI4XHUwRTI5XHUwRTJBXHUwRTJCXHUwRTJDXHUwRTJEXHUwRTJFXHUwRTJGXHUwRTMwXHUwRTMxXHUwRTMyXHUwRTMzXHUwRTM0XHUwRTM1XHUwRTM2XHUwRTM3XHUwRTM4XHUwRTM5XHUwRTNBXHUwRTQ5XHUwRTRBXHUwRTRCXHUyMEFDXHUwRTNGXHUwRTQwXHUwRTQxXHUwRTQyXHUwRTQzXHUwRTQ0XHUwRTQ1XHUwRTQ2XHUwRTQ3XHUwRTQ4XHUwRTQ5XHUwRTRBXHUwRTRCXHUwRTRDXHUwRTREXHUwRTRFXHUwRTRGXHUwRTUwXHUwRTUxXHUwRTUyXHUwRTUzXHUwRTU0XHUwRTU1XHUwRTU2XHUwRTU3XHUwRTU4XHUwRTU5XHUwRTVBXHUwRTVCXHUwMEEyXHUwMEFDXHUwMEE2XHUwMEEwXCJcbiAgfSxcbiAgXCJpYm0xMTYxXCI6IFwiY3AxMTYxXCIsXG4gIFwiY3NpYm0xMTYxXCI6IFwiY3AxMTYxXCIsXG4gIFwiY3AxMTYyXCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdTIwQUNcdTAwODFcdTAwODJcdTAwODNcdTAwODRcdTIwMjZcdTAwODZcdTAwODdcdTAwODhcdTAwODlcdTAwOEFcdTAwOEJcdTAwOENcdTAwOERcdTAwOEVcdTAwOEZcdTAwOTBcdTIwMThcdTIwMTlcdTIwMUNcdTIwMURcdTIwMjJcdTIwMTNcdTIwMTRcdTAwOThcdTAwOTlcdTAwOUFcdTAwOUJcdTAwOUNcdTAwOURcdTAwOUVcdTAwOUZcdTAwQTBcdTBFMDFcdTBFMDJcdTBFMDNcdTBFMDRcdTBFMDVcdTBFMDZcdTBFMDdcdTBFMDhcdTBFMDlcdTBFMEFcdTBFMEJcdTBFMENcdTBFMERcdTBFMEVcdTBFMEZcdTBFMTBcdTBFMTFcdTBFMTJcdTBFMTNcdTBFMTRcdTBFMTVcdTBFMTZcdTBFMTdcdTBFMThcdTBFMTlcdTBFMUFcdTBFMUJcdTBFMUNcdTBFMURcdTBFMUVcdTBFMUZcdTBFMjBcdTBFMjFcdTBFMjJcdTBFMjNcdTBFMjRcdTBFMjVcdTBFMjZcdTBFMjdcdTBFMjhcdTBFMjlcdTBFMkFcdTBFMkJcdTBFMkNcdTBFMkRcdTBFMkVcdTBFMkZcdTBFMzBcdTBFMzFcdTBFMzJcdTBFMzNcdTBFMzRcdTBFMzVcdTBFMzZcdTBFMzdcdTBFMzhcdTBFMzlcdTBFM0FcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdTBFM0ZcdTBFNDBcdTBFNDFcdTBFNDJcdTBFNDNcdTBFNDRcdTBFNDVcdTBFNDZcdTBFNDdcdTBFNDhcdTBFNDlcdTBFNEFcdTBFNEJcdTBFNENcdTBFNERcdTBFNEVcdTBFNEZcdTBFNTBcdTBFNTFcdTBFNTJcdTBFNTNcdTBFNTRcdTBFNTVcdTBFNTZcdTBFNTdcdTBFNThcdTBFNTlcdTBFNUFcdTBFNUJcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcIlxuICB9LFxuICBcImlibTExNjJcIjogXCJjcDExNjJcIixcbiAgXCJjc2libTExNjJcIjogXCJjcDExNjJcIixcbiAgXCJjcDExNjNcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MDA4MFx1MDA4MVx1MDA4Mlx1MDA4M1x1MDA4NFx1MDA4NVx1MDA4Nlx1MDA4N1x1MDA4OFx1MDA4OVx1MDA4QVx1MDA4Qlx1MDA4Q1x1MDA4RFx1MDA4RVx1MDA4Rlx1MDA5MFx1MDA5MVx1MDA5Mlx1MDA5M1x1MDA5NFx1MDA5NVx1MDA5Nlx1MDA5N1x1MDA5OFx1MDA5OVx1MDA5QVx1MDA5Qlx1MDA5Q1x1MDA5RFx1MDA5RVx1MDA5Rlx1MDBBMFx1MDBBMVx1MDBBMlx1MDBBM1x1MjBBQ1x1MDBBNVx1MDBBNlx1MDBBN1x1MDE1M1x1MDBBOVx1MDBBQVx1MDBBQlx1MDBBQ1x1MDBBRFx1MDBBRVx1MDBBRlx1MDBCMFx1MDBCMVx1MDBCMlx1MDBCM1x1MDE3OFx1MDBCNVx1MDBCNlx1MDBCN1x1MDE1Mlx1MDBCOVx1MDBCQVx1MDBCQlx1MDBCQ1x1MDBCRFx1MDBCRVx1MDBCRlx1MDBDMFx1MDBDMVx1MDBDMlx1MDEwMlx1MDBDNFx1MDBDNVx1MDBDNlx1MDBDN1x1MDBDOFx1MDBDOVx1MDBDQVx1MDBDQlx1MDMwMFx1MDBDRFx1MDBDRVx1MDBDRlx1MDExMFx1MDBEMVx1MDMwOVx1MDBEM1x1MDBENFx1MDFBMFx1MDBENlx1MDBEN1x1MDBEOFx1MDBEOVx1MDBEQVx1MDBEQlx1MDBEQ1x1MDFBRlx1MDMwM1x1MDBERlx1MDBFMFx1MDBFMVx1MDBFMlx1MDEwM1x1MDBFNFx1MDBFNVx1MDBFNlx1MDBFN1x1MDBFOFx1MDBFOVx1MDBFQVx1MDBFQlx1MDMwMVx1MDBFRFx1MDBFRVx1MDBFRlx1MDExMVx1MDBGMVx1MDMyM1x1MDBGM1x1MDBGNFx1MDFBMVx1MDBGNlx1MDBGN1x1MDBGOFx1MDBGOVx1MDBGQVx1MDBGQlx1MDBGQ1x1MDFCMFx1MjBBQlx1MDBGRlwiXG4gIH0sXG4gIFwiaWJtMTE2M1wiOiBcImNwMTE2M1wiLFxuICBcImNzaWJtMTE2M1wiOiBcImNwMTE2M1wiLFxuICBcIm1hY2Nyb2F0aWFuXCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdTAwQzRcdTAwQzVcdTAwQzdcdTAwQzlcdTAwRDFcdTAwRDZcdTAwRENcdTAwRTFcdTAwRTBcdTAwRTJcdTAwRTRcdTAwRTNcdTAwRTVcdTAwRTdcdTAwRTlcdTAwRThcdTAwRUFcdTAwRUJcdTAwRURcdTAwRUNcdTAwRUVcdTAwRUZcdTAwRjFcdTAwRjNcdTAwRjJcdTAwRjRcdTAwRjZcdTAwRjVcdTAwRkFcdTAwRjlcdTAwRkJcdTAwRkNcdTIwMjBcdTAwQjBcdTAwQTJcdTAwQTNcdTAwQTdcdTIwMjJcdTAwQjZcdTAwREZcdTAwQUVcdTAxNjBcdTIxMjJcdTAwQjRcdTAwQThcdTIyNjBcdTAxN0RcdTAwRDhcdTIyMUVcdTAwQjFcdTIyNjRcdTIyNjVcdTIyMDZcdTAwQjVcdTIyMDJcdTIyMTFcdTIyMEZcdTAxNjFcdTIyMkJcdTAwQUFcdTAwQkFcdTIxMjZcdTAxN0VcdTAwRjhcdTAwQkZcdTAwQTFcdTAwQUNcdTIyMUFcdTAxOTJcdTIyNDhcdTAxMDZcdTAwQUJcdTAxMENcdTIwMjZcdTAwQTBcdTAwQzBcdTAwQzNcdTAwRDVcdTAxNTJcdTAxNTNcdTAxMTBcdTIwMTRcdTIwMUNcdTIwMURcdTIwMThcdTIwMTlcdTAwRjdcdTI1Q0FcdUZGRkRcdTAwQTlcdTIwNDRcdTAwQTRcdTIwMzlcdTIwM0FcdTAwQzZcdTAwQkJcdTIwMTNcdTAwQjdcdTIwMUFcdTIwMUVcdTIwMzBcdTAwQzJcdTAxMDdcdTAwQzFcdTAxMERcdTAwQzhcdTAwQ0RcdTAwQ0VcdTAwQ0ZcdTAwQ0NcdTAwRDNcdTAwRDRcdTAxMTFcdTAwRDJcdTAwREFcdTAwREJcdTAwRDlcdTAxMzFcdTAyQzZcdTAyRENcdTAwQUZcdTAzQzBcdTAwQ0JcdTAyREFcdTAwQjhcdTAwQ0FcdTAwRTZcdTAyQzdcIlxuICB9LFxuICBcIm1hY2N5cmlsbGljXCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdTA0MTBcdTA0MTFcdTA0MTJcdTA0MTNcdTA0MTRcdTA0MTVcdTA0MTZcdTA0MTdcdTA0MThcdTA0MTlcdTA0MUFcdTA0MUJcdTA0MUNcdTA0MURcdTA0MUVcdTA0MUZcdTA0MjBcdTA0MjFcdTA0MjJcdTA0MjNcdTA0MjRcdTA0MjVcdTA0MjZcdTA0MjdcdTA0MjhcdTA0MjlcdTA0MkFcdTA0MkJcdTA0MkNcdTA0MkRcdTA0MkVcdTA0MkZcdTIwMjBcdTAwQjBcdTAwQTJcdTAwQTNcdTAwQTdcdTIwMjJcdTAwQjZcdTA0MDZcdTAwQUVcdTAwQTlcdTIxMjJcdTA0MDJcdTA0NTJcdTIyNjBcdTA0MDNcdTA0NTNcdTIyMUVcdTAwQjFcdTIyNjRcdTIyNjVcdTA0NTZcdTAwQjVcdTIyMDJcdTA0MDhcdTA0MDRcdTA0NTRcdTA0MDdcdTA0NTdcdTA0MDlcdTA0NTlcdTA0MEFcdTA0NUFcdTA0NThcdTA0MDVcdTAwQUNcdTIyMUFcdTAxOTJcdTIyNDhcdTIyMDZcdTAwQUJcdTAwQkJcdTIwMjZcdTAwQTBcdTA0MEJcdTA0NUJcdTA0MENcdTA0NUNcdTA0NTVcdTIwMTNcdTIwMTRcdTIwMUNcdTIwMURcdTIwMThcdTIwMTlcdTAwRjdcdTIwMUVcdTA0MEVcdTA0NUVcdTA0MEZcdTA0NUZcdTIxMTZcdTA0MDFcdTA0NTFcdTA0NEZcdTA0MzBcdTA0MzFcdTA0MzJcdTA0MzNcdTA0MzRcdTA0MzVcdTA0MzZcdTA0MzdcdTA0MzhcdTA0MzlcdTA0M0FcdTA0M0JcdTA0M0NcdTA0M0RcdTA0M0VcdTA0M0ZcdTA0NDBcdTA0NDFcdTA0NDJcdTA0NDNcdTA0NDRcdTA0NDVcdTA0NDZcdTA0NDdcdTA0NDhcdTA0NDlcdTA0NEFcdTA0NEJcdTA0NENcdTA0NERcdTA0NEVcdTAwQTRcIlxuICB9LFxuICBcIm1hY2dyZWVrXCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdTAwQzRcdTAwQjlcdTAwQjJcdTAwQzlcdTAwQjNcdTAwRDZcdTAwRENcdTAzODVcdTAwRTBcdTAwRTJcdTAwRTRcdTAzODRcdTAwQThcdTAwRTdcdTAwRTlcdTAwRThcdTAwRUFcdTAwRUJcdTAwQTNcdTIxMjJcdTAwRUVcdTAwRUZcdTIwMjJcdTAwQkRcdTIwMzBcdTAwRjRcdTAwRjZcdTAwQTZcdTAwQURcdTAwRjlcdTAwRkJcdTAwRkNcdTIwMjBcdTAzOTNcdTAzOTRcdTAzOThcdTAzOUJcdTAzOUVcdTAzQTBcdTAwREZcdTAwQUVcdTAwQTlcdTAzQTNcdTAzQUFcdTAwQTdcdTIyNjBcdTAwQjBcdTAzODdcdTAzOTFcdTAwQjFcdTIyNjRcdTIyNjVcdTAwQTVcdTAzOTJcdTAzOTVcdTAzOTZcdTAzOTdcdTAzOTlcdTAzOUFcdTAzOUNcdTAzQTZcdTAzQUJcdTAzQThcdTAzQTlcdTAzQUNcdTAzOURcdTAwQUNcdTAzOUZcdTAzQTFcdTIyNDhcdTAzQTRcdTAwQUJcdTAwQkJcdTIwMjZcdTAwQTBcdTAzQTVcdTAzQTdcdTAzODZcdTAzODhcdTAxNTNcdTIwMTNcdTIwMTVcdTIwMUNcdTIwMURcdTIwMThcdTIwMTlcdTAwRjdcdTAzODlcdTAzOEFcdTAzOENcdTAzOEVcdTAzQURcdTAzQUVcdTAzQUZcdTAzQ0NcdTAzOEZcdTAzQ0RcdTAzQjFcdTAzQjJcdTAzQzhcdTAzQjRcdTAzQjVcdTAzQzZcdTAzQjNcdTAzQjdcdTAzQjlcdTAzQkVcdTAzQkFcdTAzQkJcdTAzQkNcdTAzQkRcdTAzQkZcdTAzQzBcdTAzQ0VcdTAzQzFcdTAzQzNcdTAzQzRcdTAzQjhcdTAzQzlcdTAzQzJcdTAzQzdcdTAzQzVcdTAzQjZcdTAzQ0FcdTAzQ0JcdTAzOTBcdTAzQjBcdUZGRkRcIlxuICB9LFxuICBcIm1hY2ljZWxhbmRcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MDBDNFx1MDBDNVx1MDBDN1x1MDBDOVx1MDBEMVx1MDBENlx1MDBEQ1x1MDBFMVx1MDBFMFx1MDBFMlx1MDBFNFx1MDBFM1x1MDBFNVx1MDBFN1x1MDBFOVx1MDBFOFx1MDBFQVx1MDBFQlx1MDBFRFx1MDBFQ1x1MDBFRVx1MDBFRlx1MDBGMVx1MDBGM1x1MDBGMlx1MDBGNFx1MDBGNlx1MDBGNVx1MDBGQVx1MDBGOVx1MDBGQlx1MDBGQ1x1MDBERFx1MDBCMFx1MDBBMlx1MDBBM1x1MDBBN1x1MjAyMlx1MDBCNlx1MDBERlx1MDBBRVx1MDBBOVx1MjEyMlx1MDBCNFx1MDBBOFx1MjI2MFx1MDBDNlx1MDBEOFx1MjIxRVx1MDBCMVx1MjI2NFx1MjI2NVx1MDBBNVx1MDBCNVx1MjIwMlx1MjIxMVx1MjIwRlx1MDNDMFx1MjIyQlx1MDBBQVx1MDBCQVx1MjEyNlx1MDBFNlx1MDBGOFx1MDBCRlx1MDBBMVx1MDBBQ1x1MjIxQVx1MDE5Mlx1MjI0OFx1MjIwNlx1MDBBQlx1MDBCQlx1MjAyNlx1MDBBMFx1MDBDMFx1MDBDM1x1MDBENVx1MDE1Mlx1MDE1M1x1MjAxM1x1MjAxNFx1MjAxQ1x1MjAxRFx1MjAxOFx1MjAxOVx1MDBGN1x1MjVDQVx1MDBGRlx1MDE3OFx1MjA0NFx1MDBBNFx1MDBEMFx1MDBGMFx1MDBERVx1MDBGRVx1MDBGRFx1MDBCN1x1MjAxQVx1MjAxRVx1MjAzMFx1MDBDMlx1MDBDQVx1MDBDMVx1MDBDQlx1MDBDOFx1MDBDRFx1MDBDRVx1MDBDRlx1MDBDQ1x1MDBEM1x1MDBENFx1RkZGRFx1MDBEMlx1MDBEQVx1MDBEQlx1MDBEOVx1MDEzMVx1MDJDNlx1MDJEQ1x1MDBBRlx1MDJEOFx1MDJEOVx1MDJEQVx1MDBCOFx1MDJERFx1MDJEQlx1MDJDN1wiXG4gIH0sXG4gIFwibWFjcm9tYW5cIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MDBDNFx1MDBDNVx1MDBDN1x1MDBDOVx1MDBEMVx1MDBENlx1MDBEQ1x1MDBFMVx1MDBFMFx1MDBFMlx1MDBFNFx1MDBFM1x1MDBFNVx1MDBFN1x1MDBFOVx1MDBFOFx1MDBFQVx1MDBFQlx1MDBFRFx1MDBFQ1x1MDBFRVx1MDBFRlx1MDBGMVx1MDBGM1x1MDBGMlx1MDBGNFx1MDBGNlx1MDBGNVx1MDBGQVx1MDBGOVx1MDBGQlx1MDBGQ1x1MjAyMFx1MDBCMFx1MDBBMlx1MDBBM1x1MDBBN1x1MjAyMlx1MDBCNlx1MDBERlx1MDBBRVx1MDBBOVx1MjEyMlx1MDBCNFx1MDBBOFx1MjI2MFx1MDBDNlx1MDBEOFx1MjIxRVx1MDBCMVx1MjI2NFx1MjI2NVx1MDBBNVx1MDBCNVx1MjIwMlx1MjIxMVx1MjIwRlx1MDNDMFx1MjIyQlx1MDBBQVx1MDBCQVx1MjEyNlx1MDBFNlx1MDBGOFx1MDBCRlx1MDBBMVx1MDBBQ1x1MjIxQVx1MDE5Mlx1MjI0OFx1MjIwNlx1MDBBQlx1MDBCQlx1MjAyNlx1MDBBMFx1MDBDMFx1MDBDM1x1MDBENVx1MDE1Mlx1MDE1M1x1MjAxM1x1MjAxNFx1MjAxQ1x1MjAxRFx1MjAxOFx1MjAxOVx1MDBGN1x1MjVDQVx1MDBGRlx1MDE3OFx1MjA0NFx1MDBBNFx1MjAzOVx1MjAzQVx1RkIwMVx1RkIwMlx1MjAyMVx1MDBCN1x1MjAxQVx1MjAxRVx1MjAzMFx1MDBDMlx1MDBDQVx1MDBDMVx1MDBDQlx1MDBDOFx1MDBDRFx1MDBDRVx1MDBDRlx1MDBDQ1x1MDBEM1x1MDBENFx1RkZGRFx1MDBEMlx1MDBEQVx1MDBEQlx1MDBEOVx1MDEzMVx1MDJDNlx1MDJEQ1x1MDBBRlx1MDJEOFx1MDJEOVx1MDJEQVx1MDBCOFx1MDJERFx1MDJEQlx1MDJDN1wiXG4gIH0sXG4gIFwibWFjcm9tYW5pYVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMEM0XHUwMEM1XHUwMEM3XHUwMEM5XHUwMEQxXHUwMEQ2XHUwMERDXHUwMEUxXHUwMEUwXHUwMEUyXHUwMEU0XHUwMEUzXHUwMEU1XHUwMEU3XHUwMEU5XHUwMEU4XHUwMEVBXHUwMEVCXHUwMEVEXHUwMEVDXHUwMEVFXHUwMEVGXHUwMEYxXHUwMEYzXHUwMEYyXHUwMEY0XHUwMEY2XHUwMEY1XHUwMEZBXHUwMEY5XHUwMEZCXHUwMEZDXHUyMDIwXHUwMEIwXHUwMEEyXHUwMEEzXHUwMEE3XHUyMDIyXHUwMEI2XHUwMERGXHUwMEFFXHUwMEE5XHUyMTIyXHUwMEI0XHUwMEE4XHUyMjYwXHUwMTAyXHUwMTVFXHUyMjFFXHUwMEIxXHUyMjY0XHUyMjY1XHUwMEE1XHUwMEI1XHUyMjAyXHUyMjExXHUyMjBGXHUwM0MwXHUyMjJCXHUwMEFBXHUwMEJBXHUyMTI2XHUwMTAzXHUwMTVGXHUwMEJGXHUwMEExXHUwMEFDXHUyMjFBXHUwMTkyXHUyMjQ4XHUyMjA2XHUwMEFCXHUwMEJCXHUyMDI2XHUwMEEwXHUwMEMwXHUwMEMzXHUwMEQ1XHUwMTUyXHUwMTUzXHUyMDEzXHUyMDE0XHUyMDFDXHUyMDFEXHUyMDE4XHUyMDE5XHUwMEY3XHUyNUNBXHUwMEZGXHUwMTc4XHUyMDQ0XHUwMEE0XHUyMDM5XHUyMDNBXHUwMTYyXHUwMTYzXHUyMDIxXHUwMEI3XHUyMDFBXHUyMDFFXHUyMDMwXHUwMEMyXHUwMENBXHUwMEMxXHUwMENCXHUwMEM4XHUwMENEXHUwMENFXHUwMENGXHUwMENDXHUwMEQzXHUwMEQ0XHVGRkZEXHUwMEQyXHUwMERBXHUwMERCXHUwMEQ5XHUwMTMxXHUwMkM2XHUwMkRDXHUwMEFGXHUwMkQ4XHUwMkQ5XHUwMkRBXHUwMEI4XHUwMkREXHUwMkRCXHUwMkM3XCJcbiAgfSxcbiAgXCJtYWN0aGFpXCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdTAwQUJcdTAwQkJcdTIwMjZcdUY4OENcdUY4OEZcdUY4OTJcdUY4OTVcdUY4OThcdUY4OEJcdUY4OEVcdUY4OTFcdUY4OTRcdUY4OTdcdTIwMUNcdTIwMURcdUY4OTlcdUZGRkRcdTIwMjJcdUY4ODRcdUY4ODlcdUY4ODVcdUY4ODZcdUY4ODdcdUY4ODhcdUY4OEFcdUY4OERcdUY4OTBcdUY4OTNcdUY4OTZcdTIwMThcdTIwMTlcdUZGRkRcdTAwQTBcdTBFMDFcdTBFMDJcdTBFMDNcdTBFMDRcdTBFMDVcdTBFMDZcdTBFMDdcdTBFMDhcdTBFMDlcdTBFMEFcdTBFMEJcdTBFMENcdTBFMERcdTBFMEVcdTBFMEZcdTBFMTBcdTBFMTFcdTBFMTJcdTBFMTNcdTBFMTRcdTBFMTVcdTBFMTZcdTBFMTdcdTBFMThcdTBFMTlcdTBFMUFcdTBFMUJcdTBFMUNcdTBFMURcdTBFMUVcdTBFMUZcdTBFMjBcdTBFMjFcdTBFMjJcdTBFMjNcdTBFMjRcdTBFMjVcdTBFMjZcdTBFMjdcdTBFMjhcdTBFMjlcdTBFMkFcdTBFMkJcdTBFMkNcdTBFMkRcdTBFMkVcdTBFMkZcdTBFMzBcdTBFMzFcdTBFMzJcdTBFMzNcdTBFMzRcdTBFMzVcdTBFMzZcdTBFMzdcdTBFMzhcdTBFMzlcdTBFM0FcdUZFRkZcdTIwMEJcdTIwMTNcdTIwMTRcdTBFM0ZcdTBFNDBcdTBFNDFcdTBFNDJcdTBFNDNcdTBFNDRcdTBFNDVcdTBFNDZcdTBFNDdcdTBFNDhcdTBFNDlcdTBFNEFcdTBFNEJcdTBFNENcdTBFNERcdTIxMjJcdTBFNEZcdTBFNTBcdTBFNTFcdTBFNTJcdTBFNTNcdTBFNTRcdTBFNTVcdTBFNTZcdTBFNTdcdTBFNThcdTBFNTlcdTAwQUVcdTAwQTlcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcIlxuICB9LFxuICBcIm1hY3R1cmtpc2hcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MDBDNFx1MDBDNVx1MDBDN1x1MDBDOVx1MDBEMVx1MDBENlx1MDBEQ1x1MDBFMVx1MDBFMFx1MDBFMlx1MDBFNFx1MDBFM1x1MDBFNVx1MDBFN1x1MDBFOVx1MDBFOFx1MDBFQVx1MDBFQlx1MDBFRFx1MDBFQ1x1MDBFRVx1MDBFRlx1MDBGMVx1MDBGM1x1MDBGMlx1MDBGNFx1MDBGNlx1MDBGNVx1MDBGQVx1MDBGOVx1MDBGQlx1MDBGQ1x1MjAyMFx1MDBCMFx1MDBBMlx1MDBBM1x1MDBBN1x1MjAyMlx1MDBCNlx1MDBERlx1MDBBRVx1MDBBOVx1MjEyMlx1MDBCNFx1MDBBOFx1MjI2MFx1MDBDNlx1MDBEOFx1MjIxRVx1MDBCMVx1MjI2NFx1MjI2NVx1MDBBNVx1MDBCNVx1MjIwMlx1MjIxMVx1MjIwRlx1MDNDMFx1MjIyQlx1MDBBQVx1MDBCQVx1MjEyNlx1MDBFNlx1MDBGOFx1MDBCRlx1MDBBMVx1MDBBQ1x1MjIxQVx1MDE5Mlx1MjI0OFx1MjIwNlx1MDBBQlx1MDBCQlx1MjAyNlx1MDBBMFx1MDBDMFx1MDBDM1x1MDBENVx1MDE1Mlx1MDE1M1x1MjAxM1x1MjAxNFx1MjAxQ1x1MjAxRFx1MjAxOFx1MjAxOVx1MDBGN1x1MjVDQVx1MDBGRlx1MDE3OFx1MDExRVx1MDExRlx1MDEzMFx1MDEzMVx1MDE1RVx1MDE1Rlx1MjAyMVx1MDBCN1x1MjAxQVx1MjAxRVx1MjAzMFx1MDBDMlx1MDBDQVx1MDBDMVx1MDBDQlx1MDBDOFx1MDBDRFx1MDBDRVx1MDBDRlx1MDBDQ1x1MDBEM1x1MDBENFx1RkZGRFx1MDBEMlx1MDBEQVx1MDBEQlx1MDBEOVx1RkZGRFx1MDJDNlx1MDJEQ1x1MDBBRlx1MDJEOFx1MDJEOVx1MDJEQVx1MDBCOFx1MDJERFx1MDJEQlx1MDJDN1wiXG4gIH0sXG4gIFwibWFjdWtyYWluZVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwNDEwXHUwNDExXHUwNDEyXHUwNDEzXHUwNDE0XHUwNDE1XHUwNDE2XHUwNDE3XHUwNDE4XHUwNDE5XHUwNDFBXHUwNDFCXHUwNDFDXHUwNDFEXHUwNDFFXHUwNDFGXHUwNDIwXHUwNDIxXHUwNDIyXHUwNDIzXHUwNDI0XHUwNDI1XHUwNDI2XHUwNDI3XHUwNDI4XHUwNDI5XHUwNDJBXHUwNDJCXHUwNDJDXHUwNDJEXHUwNDJFXHUwNDJGXHUyMDIwXHUwMEIwXHUwNDkwXHUwMEEzXHUwMEE3XHUyMDIyXHUwMEI2XHUwNDA2XHUwMEFFXHUwMEE5XHUyMTIyXHUwNDAyXHUwNDUyXHUyMjYwXHUwNDAzXHUwNDUzXHUyMjFFXHUwMEIxXHUyMjY0XHUyMjY1XHUwNDU2XHUwMEI1XHUwNDkxXHUwNDA4XHUwNDA0XHUwNDU0XHUwNDA3XHUwNDU3XHUwNDA5XHUwNDU5XHUwNDBBXHUwNDVBXHUwNDU4XHUwNDA1XHUwMEFDXHUyMjFBXHUwMTkyXHUyMjQ4XHUyMjA2XHUwMEFCXHUwMEJCXHUyMDI2XHUwMEEwXHUwNDBCXHUwNDVCXHUwNDBDXHUwNDVDXHUwNDU1XHUyMDEzXHUyMDE0XHUyMDFDXHUyMDFEXHUyMDE4XHUyMDE5XHUwMEY3XHUyMDFFXHUwNDBFXHUwNDVFXHUwNDBGXHUwNDVGXHUyMTE2XHUwNDAxXHUwNDUxXHUwNDRGXHUwNDMwXHUwNDMxXHUwNDMyXHUwNDMzXHUwNDM0XHUwNDM1XHUwNDM2XHUwNDM3XHUwNDM4XHUwNDM5XHUwNDNBXHUwNDNCXHUwNDNDXHUwNDNEXHUwNDNFXHUwNDNGXHUwNDQwXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDQ0XHUwNDQ1XHUwNDQ2XHUwNDQ3XHUwNDQ4XHUwNDQ5XHUwNDRBXHUwNDRCXHUwNDRDXHUwNDREXHUwNDRFXHUwMEE0XCJcbiAgfSxcbiAgXCJrb2k4clwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUyNTAwXHUyNTAyXHUyNTBDXHUyNTEwXHUyNTE0XHUyNTE4XHUyNTFDXHUyNTI0XHUyNTJDXHUyNTM0XHUyNTNDXHUyNTgwXHUyNTg0XHUyNTg4XHUyNThDXHUyNTkwXHUyNTkxXHUyNTkyXHUyNTkzXHUyMzIwXHUyNUEwXHUyMjE5XHUyMjFBXHUyMjQ4XHUyMjY0XHUyMjY1XHUwMEEwXHUyMzIxXHUwMEIwXHUwMEIyXHUwMEI3XHUwMEY3XHUyNTUwXHUyNTUxXHUyNTUyXHUwNDUxXHUyNTUzXHUyNTU0XHUyNTU1XHUyNTU2XHUyNTU3XHUyNTU4XHUyNTU5XHUyNTVBXHUyNTVCXHUyNTVDXHUyNTVEXHUyNTVFXHUyNTVGXHUyNTYwXHUyNTYxXHUwNDAxXHUyNTYyXHUyNTYzXHUyNTY0XHUyNTY1XHUyNTY2XHUyNTY3XHUyNTY4XHUyNTY5XHUyNTZBXHUyNTZCXHUyNTZDXHUwMEE5XHUwNDRFXHUwNDMwXHUwNDMxXHUwNDQ2XHUwNDM0XHUwNDM1XHUwNDQ0XHUwNDMzXHUwNDQ1XHUwNDM4XHUwNDM5XHUwNDNBXHUwNDNCXHUwNDNDXHUwNDNEXHUwNDNFXHUwNDNGXHUwNDRGXHUwNDQwXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDM2XHUwNDMyXHUwNDRDXHUwNDRCXHUwNDM3XHUwNDQ4XHUwNDREXHUwNDQ5XHUwNDQ3XHUwNDRBXHUwNDJFXHUwNDEwXHUwNDExXHUwNDI2XHUwNDE0XHUwNDE1XHUwNDI0XHUwNDEzXHUwNDI1XHUwNDE4XHUwNDE5XHUwNDFBXHUwNDFCXHUwNDFDXHUwNDFEXHUwNDFFXHUwNDFGXHUwNDJGXHUwNDIwXHUwNDIxXHUwNDIyXHUwNDIzXHUwNDE2XHUwNDEyXHUwNDJDXHUwNDJCXHUwNDE3XHUwNDI4XHUwNDJEXHUwNDI5XHUwNDI3XHUwNDJBXCJcbiAgfSxcbiAgXCJrb2k4dVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUyNTAwXHUyNTAyXHUyNTBDXHUyNTEwXHUyNTE0XHUyNTE4XHUyNTFDXHUyNTI0XHUyNTJDXHUyNTM0XHUyNTNDXHUyNTgwXHUyNTg0XHUyNTg4XHUyNThDXHUyNTkwXHUyNTkxXHUyNTkyXHUyNTkzXHUyMzIwXHUyNUEwXHUyMjE5XHUyMjFBXHUyMjQ4XHUyMjY0XHUyMjY1XHUwMEEwXHUyMzIxXHUwMEIwXHUwMEIyXHUwMEI3XHUwMEY3XHUyNTUwXHUyNTUxXHUyNTUyXHUwNDUxXHUwNDU0XHUyNTU0XHUwNDU2XHUwNDU3XHUyNTU3XHUyNTU4XHUyNTU5XHUyNTVBXHUyNTVCXHUwNDkxXHUyNTVEXHUyNTVFXHUyNTVGXHUyNTYwXHUyNTYxXHUwNDAxXHUwNDA0XHUyNTYzXHUwNDA2XHUwNDA3XHUyNTY2XHUyNTY3XHUyNTY4XHUyNTY5XHUyNTZBXHUwNDkwXHUyNTZDXHUwMEE5XHUwNDRFXHUwNDMwXHUwNDMxXHUwNDQ2XHUwNDM0XHUwNDM1XHUwNDQ0XHUwNDMzXHUwNDQ1XHUwNDM4XHUwNDM5XHUwNDNBXHUwNDNCXHUwNDNDXHUwNDNEXHUwNDNFXHUwNDNGXHUwNDRGXHUwNDQwXHUwNDQxXHUwNDQyXHUwNDQzXHUwNDM2XHUwNDMyXHUwNDRDXHUwNDRCXHUwNDM3XHUwNDQ4XHUwNDREXHUwNDQ5XHUwNDQ3XHUwNDRBXHUwNDJFXHUwNDEwXHUwNDExXHUwNDI2XHUwNDE0XHUwNDE1XHUwNDI0XHUwNDEzXHUwNDI1XHUwNDE4XHUwNDE5XHUwNDFBXHUwNDFCXHUwNDFDXHUwNDFEXHUwNDFFXHUwNDFGXHUwNDJGXHUwNDIwXHUwNDIxXHUwNDIyXHUwNDIzXHUwNDE2XHUwNDEyXHUwNDJDXHUwNDJCXHUwNDE3XHUwNDI4XHUwNDJEXHUwNDI5XHUwNDI3XHUwNDJBXCJcbiAgfSxcbiAgXCJrb2k4cnVcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MjUwMFx1MjUwMlx1MjUwQ1x1MjUxMFx1MjUxNFx1MjUxOFx1MjUxQ1x1MjUyNFx1MjUyQ1x1MjUzNFx1MjUzQ1x1MjU4MFx1MjU4NFx1MjU4OFx1MjU4Q1x1MjU5MFx1MjU5MVx1MjU5Mlx1MjU5M1x1MjMyMFx1MjVBMFx1MjIxOVx1MjIxQVx1MjI0OFx1MjI2NFx1MjI2NVx1MDBBMFx1MjMyMVx1MDBCMFx1MDBCMlx1MDBCN1x1MDBGN1x1MjU1MFx1MjU1MVx1MjU1Mlx1MDQ1MVx1MDQ1NFx1MjU1NFx1MDQ1Nlx1MDQ1N1x1MjU1N1x1MjU1OFx1MjU1OVx1MjU1QVx1MjU1Qlx1MDQ5MVx1MDQ1RVx1MjU1RVx1MjU1Rlx1MjU2MFx1MjU2MVx1MDQwMVx1MDQwNFx1MjU2M1x1MDQwNlx1MDQwN1x1MjU2Nlx1MjU2N1x1MjU2OFx1MjU2OVx1MjU2QVx1MDQ5MFx1MDQwRVx1MDBBOVx1MDQ0RVx1MDQzMFx1MDQzMVx1MDQ0Nlx1MDQzNFx1MDQzNVx1MDQ0NFx1MDQzM1x1MDQ0NVx1MDQzOFx1MDQzOVx1MDQzQVx1MDQzQlx1MDQzQ1x1MDQzRFx1MDQzRVx1MDQzRlx1MDQ0Rlx1MDQ0MFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzNlx1MDQzMlx1MDQ0Q1x1MDQ0Qlx1MDQzN1x1MDQ0OFx1MDQ0RFx1MDQ0OVx1MDQ0N1x1MDQ0QVx1MDQyRVx1MDQxMFx1MDQxMVx1MDQyNlx1MDQxNFx1MDQxNVx1MDQyNFx1MDQxM1x1MDQyNVx1MDQxOFx1MDQxOVx1MDQxQVx1MDQxQlx1MDQxQ1x1MDQxRFx1MDQxRVx1MDQxRlx1MDQyRlx1MDQyMFx1MDQyMVx1MDQyMlx1MDQyM1x1MDQxNlx1MDQxMlx1MDQyQ1x1MDQyQlx1MDQxN1x1MDQyOFx1MDQyRFx1MDQyOVx1MDQyN1x1MDQyQVwiXG4gIH0sXG4gIFwia29pOHRcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MDQ5Qlx1MDQ5M1x1MjAxQVx1MDQ5Mlx1MjAxRVx1MjAyNlx1MjAyMFx1MjAyMVx1RkZGRFx1MjAzMFx1MDRCM1x1MjAzOVx1MDRCMlx1MDRCN1x1MDRCNlx1RkZGRFx1MDQ5QVx1MjAxOFx1MjAxOVx1MjAxQ1x1MjAxRFx1MjAyMlx1MjAxM1x1MjAxNFx1RkZGRFx1MjEyMlx1RkZGRFx1MjAzQVx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1MDRFRlx1MDRFRVx1MDQ1MVx1MDBBNFx1MDRFM1x1MDBBNlx1MDBBN1x1RkZGRFx1RkZGRFx1RkZGRFx1MDBBQlx1MDBBQ1x1MDBBRFx1MDBBRVx1RkZGRFx1MDBCMFx1MDBCMVx1MDBCMlx1MDQwMVx1RkZGRFx1MDRFMlx1MDBCNlx1MDBCN1x1RkZGRFx1MjExNlx1RkZGRFx1MDBCQlx1RkZGRFx1RkZGRFx1RkZGRFx1MDBBOVx1MDQ0RVx1MDQzMFx1MDQzMVx1MDQ0Nlx1MDQzNFx1MDQzNVx1MDQ0NFx1MDQzM1x1MDQ0NVx1MDQzOFx1MDQzOVx1MDQzQVx1MDQzQlx1MDQzQ1x1MDQzRFx1MDQzRVx1MDQzRlx1MDQ0Rlx1MDQ0MFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQzNlx1MDQzMlx1MDQ0Q1x1MDQ0Qlx1MDQzN1x1MDQ0OFx1MDQ0RFx1MDQ0OVx1MDQ0N1x1MDQ0QVx1MDQyRVx1MDQxMFx1MDQxMVx1MDQyNlx1MDQxNFx1MDQxNVx1MDQyNFx1MDQxM1x1MDQyNVx1MDQxOFx1MDQxOVx1MDQxQVx1MDQxQlx1MDQxQ1x1MDQxRFx1MDQxRVx1MDQxRlx1MDQyRlx1MDQyMFx1MDQyMVx1MDQyMlx1MDQyM1x1MDQxNlx1MDQxMlx1MDQyQ1x1MDQyQlx1MDQxN1x1MDQyOFx1MDQyRFx1MDQyOVx1MDQyN1x1MDQyQVwiXG4gIH0sXG4gIFwiYXJtc2NpaThcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MDA4MFx1MDA4MVx1MDA4Mlx1MDA4M1x1MDA4NFx1MDA4NVx1MDA4Nlx1MDA4N1x1MDA4OFx1MDA4OVx1MDA4QVx1MDA4Qlx1MDA4Q1x1MDA4RFx1MDA4RVx1MDA4Rlx1MDA5MFx1MDA5MVx1MDA5Mlx1MDA5M1x1MDA5NFx1MDA5NVx1MDA5Nlx1MDA5N1x1MDA5OFx1MDA5OVx1MDA5QVx1MDA5Qlx1MDA5Q1x1MDA5RFx1MDA5RVx1MDA5Rlx1MDBBMFx1RkZGRFx1MDU4N1x1MDU4OSkoXHUwMEJCXHUwMEFCXHUyMDE0Llx1MDU1RCwtXHUwNThBXHUyMDI2XHUwNTVDXHUwNTVCXHUwNTVFXHUwNTMxXHUwNTYxXHUwNTMyXHUwNTYyXHUwNTMzXHUwNTYzXHUwNTM0XHUwNTY0XHUwNTM1XHUwNTY1XHUwNTM2XHUwNTY2XHUwNTM3XHUwNTY3XHUwNTM4XHUwNTY4XHUwNTM5XHUwNTY5XHUwNTNBXHUwNTZBXHUwNTNCXHUwNTZCXHUwNTNDXHUwNTZDXHUwNTNEXHUwNTZEXHUwNTNFXHUwNTZFXHUwNTNGXHUwNTZGXHUwNTQwXHUwNTcwXHUwNTQxXHUwNTcxXHUwNTQyXHUwNTcyXHUwNTQzXHUwNTczXHUwNTQ0XHUwNTc0XHUwNTQ1XHUwNTc1XHUwNTQ2XHUwNTc2XHUwNTQ3XHUwNTc3XHUwNTQ4XHUwNTc4XHUwNTQ5XHUwNTc5XHUwNTRBXHUwNTdBXHUwNTRCXHUwNTdCXHUwNTRDXHUwNTdDXHUwNTREXHUwNTdEXHUwNTRFXHUwNTdFXHUwNTRGXHUwNTdGXHUwNTUwXHUwNTgwXHUwNTUxXHUwNTgxXHUwNTUyXHUwNTgyXHUwNTUzXHUwNTgzXHUwNTU0XHUwNTg0XHUwNTU1XHUwNTg1XHUwNTU2XHUwNTg2XHUwNTVBXHVGRkZEXCJcbiAgfSxcbiAgXCJyazEwNDhcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1MDQwMlx1MDQwM1x1MjAxQVx1MDQ1M1x1MjAxRVx1MjAyNlx1MjAyMFx1MjAyMVx1MjBBQ1x1MjAzMFx1MDQwOVx1MjAzOVx1MDQwQVx1MDQ5QVx1MDRCQVx1MDQwRlx1MDQ1Mlx1MjAxOFx1MjAxOVx1MjAxQ1x1MjAxRFx1MjAyMlx1MjAxM1x1MjAxNFx1RkZGRFx1MjEyMlx1MDQ1OVx1MjAzQVx1MDQ1QVx1MDQ5Qlx1MDRCQlx1MDQ1Rlx1MDBBMFx1MDRCMFx1MDRCMVx1MDREOFx1MDBBNFx1MDRFOFx1MDBBNlx1MDBBN1x1MDQwMVx1MDBBOVx1MDQ5Mlx1MDBBQlx1MDBBQ1x1MDBBRFx1MDBBRVx1MDRBRVx1MDBCMFx1MDBCMVx1MDQwNlx1MDQ1Nlx1MDRFOVx1MDBCNVx1MDBCNlx1MDBCN1x1MDQ1MVx1MjExNlx1MDQ5M1x1MDBCQlx1MDREOVx1MDRBMlx1MDRBM1x1MDRBRlx1MDQxMFx1MDQxMVx1MDQxMlx1MDQxM1x1MDQxNFx1MDQxNVx1MDQxNlx1MDQxN1x1MDQxOFx1MDQxOVx1MDQxQVx1MDQxQlx1MDQxQ1x1MDQxRFx1MDQxRVx1MDQxRlx1MDQyMFx1MDQyMVx1MDQyMlx1MDQyM1x1MDQyNFx1MDQyNVx1MDQyNlx1MDQyN1x1MDQyOFx1MDQyOVx1MDQyQVx1MDQyQlx1MDQyQ1x1MDQyRFx1MDQyRVx1MDQyRlx1MDQzMFx1MDQzMVx1MDQzMlx1MDQzM1x1MDQzNFx1MDQzNVx1MDQzNlx1MDQzN1x1MDQzOFx1MDQzOVx1MDQzQVx1MDQzQlx1MDQzQ1x1MDQzRFx1MDQzRVx1MDQzRlx1MDQ0MFx1MDQ0MVx1MDQ0Mlx1MDQ0M1x1MDQ0NFx1MDQ0NVx1MDQ0Nlx1MDQ0N1x1MDQ0OFx1MDQ0OVx1MDQ0QVx1MDQ0Qlx1MDQ0Q1x1MDQ0RFx1MDQ0RVx1MDQ0RlwiXG4gIH0sXG4gIFwidGN2blwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXFx1MDAwMFx1MDBEQVx1MUVFNFxcdTAwMDNcdTFFRUFcdTFFRUNcdTFFRUVcXHUwMDA3XFxiXFx0XFxuXFx1MDAwYlxcZlxcclxcdTAwMGVcXHUwMDBmXFx1MDAxMFx1MUVFOFx1MUVGMFx1MUVGMlx1MUVGNlx1MUVGOFx1MDBERFx1MUVGNFxcdTAwMThcXHUwMDE5XFx1MDAxYVxcdTAwMWJcXHUwMDFjXFx1MDAxZFxcdTAwMWVcXHUwMDFmICFcXFwiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5cdTAwN0ZcdTAwQzBcdTFFQTJcdTAwQzNcdTAwQzFcdTFFQTBcdTFFQjZcdTFFQUNcdTAwQzhcdTFFQkFcdTFFQkNcdTAwQzlcdTFFQjhcdTFFQzZcdTAwQ0NcdTFFQzhcdTAxMjhcdTAwQ0RcdTFFQ0FcdTAwRDJcdTFFQ0VcdTAwRDVcdTAwRDNcdTFFQ0NcdTFFRDhcdTFFRENcdTFFREVcdTFFRTBcdTFFREFcdTFFRTJcdTAwRDlcdTFFRTZcdTAxNjhcdTAwQTBcdTAxMDJcdTAwQzJcdTAwQ0FcdTAwRDRcdTAxQTBcdTAxQUZcdTAxMTBcdTAxMDNcdTAwRTJcdTAwRUFcdTAwRjRcdTAxQTFcdTAxQjBcdTAxMTFcdTFFQjBcdTAzMDBcdTAzMDlcdTAzMDNcdTAzMDFcdTAzMjNcdTAwRTBcdTFFQTNcdTAwRTNcdTAwRTFcdTFFQTFcdTFFQjJcdTFFQjFcdTFFQjNcdTFFQjVcdTFFQUZcdTFFQjRcdTFFQUVcdTFFQTZcdTFFQThcdTFFQUFcdTFFQTRcdTFFQzBcdTFFQjdcdTFFQTdcdTFFQTlcdTFFQUJcdTFFQTVcdTFFQURcdTAwRThcdTFFQzJcdTFFQkJcdTFFQkRcdTAwRTlcdTFFQjlcdTFFQzFcdTFFQzNcdTFFQzVcdTFFQkZcdTFFQzdcdTAwRUNcdTFFQzlcdTFFQzRcdTFFQkVcdTFFRDJcdTAxMjlcdTAwRURcdTFFQ0JcdTAwRjJcdTFFRDRcdTFFQ0ZcdTAwRjVcdTAwRjNcdTFFQ0RcdTFFRDNcdTFFRDVcdTFFRDdcdTFFRDFcdTFFRDlcdTFFRERcdTFFREZcdTFFRTFcdTFFREJcdTFFRTNcdTAwRjlcdTFFRDZcdTFFRTdcdTAxNjlcdTAwRkFcdTFFRTVcdTFFRUJcdTFFRURcdTFFRUZcdTFFRTlcdTFFRjFcdTFFRjNcdTFFRjdcdTFFRjlcdTAwRkRcdTFFRjVcdTFFRDBcIlxuICB9LFxuICBcImdlb3JnaWFuYWNhZGVteVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMDgwXHUwMDgxXHUyMDFBXHUwMTkyXHUyMDFFXHUyMDI2XHUyMDIwXHUyMDIxXHUwMkM2XHUyMDMwXHUwMTYwXHUyMDM5XHUwMTUyXHUwMDhEXHUwMDhFXHUwMDhGXHUwMDkwXHUyMDE4XHUyMDE5XHUyMDFDXHUyMDFEXHUyMDIyXHUyMDEzXHUyMDE0XHUwMkRDXHUyMTIyXHUwMTYxXHUyMDNBXHUwMTUzXHUwMDlEXHUwMDlFXHUwMTc4XHUwMEEwXHUwMEExXHUwMEEyXHUwMEEzXHUwMEE0XHUwMEE1XHUwMEE2XHUwMEE3XHUwMEE4XHUwMEE5XHUwMEFBXHUwMEFCXHUwMEFDXHUwMEFEXHUwMEFFXHUwMEFGXHUwMEIwXHUwMEIxXHUwMEIyXHUwMEIzXHUwMEI0XHUwMEI1XHUwMEI2XHUwMEI3XHUwMEI4XHUwMEI5XHUwMEJBXHUwMEJCXHUwMEJDXHUwMEJEXHUwMEJFXHUwMEJGXHUxMEQwXHUxMEQxXHUxMEQyXHUxMEQzXHUxMEQ0XHUxMEQ1XHUxMEQ2XHUxMEQ3XHUxMEQ4XHUxMEQ5XHUxMERBXHUxMERCXHUxMERDXHUxMEREXHUxMERFXHUxMERGXHUxMEUwXHUxMEUxXHUxMEUyXHUxMEUzXHUxMEU0XHUxMEU1XHUxMEU2XHUxMEU3XHUxMEU4XHUxMEU5XHUxMEVBXHUxMEVCXHUxMEVDXHUxMEVEXHUxMEVFXHUxMEVGXHUxMEYwXHUxMEYxXHUxMEYyXHUxMEYzXHUxMEY0XHUxMEY1XHUxMEY2XHUwMEU3XHUwMEU4XHUwMEU5XHUwMEVBXHUwMEVCXHUwMEVDXHUwMEVEXHUwMEVFXHUwMEVGXHUwMEYwXHUwMEYxXHUwMEYyXHUwMEYzXHUwMEY0XHUwMEY1XHUwMEY2XHUwMEY3XHUwMEY4XHUwMEY5XHUwMEZBXHUwMEZCXHUwMEZDXHUwMEZEXHUwMEZFXHUwMEZGXCJcbiAgfSxcbiAgXCJnZW9yZ2lhbnBzXCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdTAwODBcdTAwODFcdTIwMUFcdTAxOTJcdTIwMUVcdTIwMjZcdTIwMjBcdTIwMjFcdTAyQzZcdTIwMzBcdTAxNjBcdTIwMzlcdTAxNTJcdTAwOERcdTAwOEVcdTAwOEZcdTAwOTBcdTIwMThcdTIwMTlcdTIwMUNcdTIwMURcdTIwMjJcdTIwMTNcdTIwMTRcdTAyRENcdTIxMjJcdTAxNjFcdTIwM0FcdTAxNTNcdTAwOURcdTAwOUVcdTAxNzhcdTAwQTBcdTAwQTFcdTAwQTJcdTAwQTNcdTAwQTRcdTAwQTVcdTAwQTZcdTAwQTdcdTAwQThcdTAwQTlcdTAwQUFcdTAwQUJcdTAwQUNcdTAwQURcdTAwQUVcdTAwQUZcdTAwQjBcdTAwQjFcdTAwQjJcdTAwQjNcdTAwQjRcdTAwQjVcdTAwQjZcdTAwQjdcdTAwQjhcdTAwQjlcdTAwQkFcdTAwQkJcdTAwQkNcdTAwQkRcdTAwQkVcdTAwQkZcdTEwRDBcdTEwRDFcdTEwRDJcdTEwRDNcdTEwRDRcdTEwRDVcdTEwRDZcdTEwRjFcdTEwRDdcdTEwRDhcdTEwRDlcdTEwREFcdTEwREJcdTEwRENcdTEwRjJcdTEwRERcdTEwREVcdTEwREZcdTEwRTBcdTEwRTFcdTEwRTJcdTEwRjNcdTEwRTNcdTEwRTRcdTEwRTVcdTEwRTZcdTEwRTdcdTEwRThcdTEwRTlcdTEwRUFcdTEwRUJcdTEwRUNcdTEwRURcdTEwRUVcdTEwRjRcdTEwRUZcdTEwRjBcdTEwRjVcdTAwRTZcdTAwRTdcdTAwRThcdTAwRTlcdTAwRUFcdTAwRUJcdTAwRUNcdTAwRURcdTAwRUVcdTAwRUZcdTAwRjBcdTAwRjFcdTAwRjJcdTAwRjNcdTAwRjRcdTAwRjVcdTAwRjZcdTAwRjdcdTAwRjhcdTAwRjlcdTAwRkFcdTAwRkJcdTAwRkNcdTAwRkRcdTAwRkVcdTAwRkZcIlxuICB9LFxuICBcInB0MTU0XCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdTA0OTZcdTA0OTJcdTA0RUVcdTA0OTNcdTIwMUVcdTIwMjZcdTA0QjZcdTA0QUVcdTA0QjJcdTA0QUZcdTA0QTBcdTA0RTJcdTA0QTJcdTA0OUFcdTA0QkFcdTA0QjhcdTA0OTdcdTIwMThcdTIwMTlcdTIwMUNcdTIwMURcdTIwMjJcdTIwMTNcdTIwMTRcdTA0QjNcdTA0QjdcdTA0QTFcdTA0RTNcdTA0QTNcdTA0OUJcdTA0QkJcdTA0QjlcdTAwQTBcdTA0MEVcdTA0NUVcdTA0MDhcdTA0RThcdTA0OThcdTA0QjBcdTAwQTdcdTA0MDFcdTAwQTlcdTA0RDhcdTAwQUJcdTAwQUNcdTA0RUZcdTAwQUVcdTA0OUNcdTAwQjBcdTA0QjFcdTA0MDZcdTA0NTZcdTA0OTlcdTA0RTlcdTAwQjZcdTAwQjdcdTA0NTFcdTIxMTZcdTA0RDlcdTAwQkJcdTA0NThcdTA0QUFcdTA0QUJcdTA0OURcdTA0MTBcdTA0MTFcdTA0MTJcdTA0MTNcdTA0MTRcdTA0MTVcdTA0MTZcdTA0MTdcdTA0MThcdTA0MTlcdTA0MUFcdTA0MUJcdTA0MUNcdTA0MURcdTA0MUVcdTA0MUZcdTA0MjBcdTA0MjFcdTA0MjJcdTA0MjNcdTA0MjRcdTA0MjVcdTA0MjZcdTA0MjdcdTA0MjhcdTA0MjlcdTA0MkFcdTA0MkJcdTA0MkNcdTA0MkRcdTA0MkVcdTA0MkZcdTA0MzBcdTA0MzFcdTA0MzJcdTA0MzNcdTA0MzRcdTA0MzVcdTA0MzZcdTA0MzdcdTA0MzhcdTA0MzlcdTA0M0FcdTA0M0JcdTA0M0NcdTA0M0RcdTA0M0VcdTA0M0ZcdTA0NDBcdTA0NDFcdTA0NDJcdTA0NDNcdTA0NDRcdTA0NDVcdTA0NDZcdTA0NDdcdTA0NDhcdTA0NDlcdTA0NEFcdTA0NEJcdTA0NENcdTA0NERcdTA0NEVcdTA0NEZcIlxuICB9LFxuICBcInZpc2NpaVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXFx1MDAwMFxcdTAwMDFcdTFFQjJcXHUwMDAzXFx1MDAwNFx1MUVCNFx1MUVBQVxcdTAwMDdcXGJcXHRcXG5cXHUwMDBiXFxmXFxyXFx1MDAwZVxcdTAwMGZcXHUwMDEwXFx1MDAxMVxcdTAwMTJcXHUwMDEzXHUxRUY2XFx1MDAxNVxcdTAwMTZcXHUwMDE3XFx1MDAxOFx1MUVGOFxcdTAwMWFcXHUwMDFiXFx1MDAxY1xcdTAwMWRcdTFFRjRcXHUwMDFmICFcXFwiIyQlJicoKSorLC0uLzAxMjM0NTY3ODk6Ozw9Pj9AQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVpbXFxcXF1eX2BhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5cdTAwN0ZcdTFFQTBcdTFFQUVcdTFFQjBcdTFFQjZcdTFFQTRcdTFFQTZcdTFFQThcdTFFQUNcdTFFQkNcdTFFQjhcdTFFQkVcdTFFQzBcdTFFQzJcdTFFQzRcdTFFQzZcdTFFRDBcdTFFRDJcdTFFRDRcdTFFRDZcdTFFRDhcdTFFRTJcdTFFREFcdTFFRENcdTFFREVcdTFFQ0FcdTFFQ0VcdTFFQ0NcdTFFQzhcdTFFRTZcdTAxNjhcdTFFRTRcdTFFRjJcdTAwRDVcdTFFQUZcdTFFQjFcdTFFQjdcdTFFQTVcdTFFQTdcdTFFQTlcdTFFQURcdTFFQkRcdTFFQjlcdTFFQkZcdTFFQzFcdTFFQzNcdTFFQzVcdTFFQzdcdTFFRDFcdTFFRDNcdTFFRDVcdTFFRDdcdTFFRTBcdTAxQTBcdTFFRDlcdTFFRERcdTFFREZcdTFFQ0JcdTFFRjBcdTFFRThcdTFFRUFcdTFFRUNcdTAxQTFcdTFFREJcdTAxQUZcdTAwQzBcdTAwQzFcdTAwQzJcdTAwQzNcdTFFQTJcdTAxMDJcdTFFQjNcdTFFQjVcdTAwQzhcdTAwQzlcdTAwQ0FcdTFFQkFcdTAwQ0NcdTAwQ0RcdTAxMjhcdTFFRjNcdTAxMTBcdTFFRTlcdTAwRDJcdTAwRDNcdTAwRDRcdTFFQTFcdTFFRjdcdTFFRUJcdTFFRURcdTAwRDlcdTAwREFcdTFFRjlcdTFFRjVcdTAwRERcdTFFRTFcdTAxQjBcdTAwRTBcdTAwRTFcdTAwRTJcdTAwRTNcdTFFQTNcdTAxMDNcdTFFRUZcdTFFQUJcdTAwRThcdTAwRTlcdTAwRUFcdTFFQkJcdTAwRUNcdTAwRURcdTAxMjlcdTFFQzlcdTAxMTFcdTFFRjFcdTAwRjJcdTAwRjNcdTAwRjRcdTAwRjVcdTFFQ0ZcdTFFQ0RcdTFFRTVcdTAwRjlcdTAwRkFcdTAxNjlcdTFFRTdcdTAwRkRcdTFFRTNcdTFFRUVcIlxuICB9LFxuICBcImlzbzY0NmNuXCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcXHUwMDAwXFx1MDAwMVxcdTAwMDJcXHUwMDAzXFx1MDAwNFxcdTAwMDVcXHUwMDA2XFx1MDAwN1xcYlxcdFxcblxcdTAwMGJcXGZcXHJcXHUwMDBlXFx1MDAwZlxcdTAwMTBcXHUwMDExXFx1MDAxMlxcdTAwMTNcXHUwMDE0XFx1MDAxNVxcdTAwMTZcXHUwMDE3XFx1MDAxOFxcdTAwMTlcXHUwMDFhXFx1MDAxYlxcdTAwMWNcXHUwMDFkXFx1MDAxZVxcdTAwMWYgIVxcXCIjXHUwMEE1JSYnKCkqKywtLi8wMTIzNDU2Nzg5Ojs8PT4/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaW1xcXFxdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1cdTIwM0VcdTAwN0ZcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcIlxuICB9LFxuICBcImlzbzY0NmpwXCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcXHUwMDAwXFx1MDAwMVxcdTAwMDJcXHUwMDAzXFx1MDAwNFxcdTAwMDVcXHUwMDA2XFx1MDAwN1xcYlxcdFxcblxcdTAwMGJcXGZcXHJcXHUwMDBlXFx1MDAwZlxcdTAwMTBcXHUwMDExXFx1MDAxMlxcdTAwMTNcXHUwMDE0XFx1MDAxNVxcdTAwMTZcXHUwMDE3XFx1MDAxOFxcdTAwMTlcXHUwMDFhXFx1MDAxYlxcdTAwMWNcXHUwMDFkXFx1MDAxZVxcdTAwMWYgIVxcXCIjJCUmJygpKissLS4vMDEyMzQ1Njc4OTo7PD0+P0BBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWltcdTAwQTVdXl9gYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXp7fH1cdTIwM0VcdTAwN0ZcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcdUZGRkRcIlxuICB9LFxuICBcImhwcm9tYW44XCI6IHtcbiAgICBcInR5cGVcIjogXCJfc2Jjc1wiLFxuICAgIFwiY2hhcnNcIjogXCJcdTAwODBcdTAwODFcdTAwODJcdTAwODNcdTAwODRcdTAwODVcdTAwODZcdTAwODdcdTAwODhcdTAwODlcdTAwOEFcdTAwOEJcdTAwOENcdTAwOERcdTAwOEVcdTAwOEZcdTAwOTBcdTAwOTFcdTAwOTJcdTAwOTNcdTAwOTRcdTAwOTVcdTAwOTZcdTAwOTdcdTAwOThcdTAwOTlcdTAwOUFcdTAwOUJcdTAwOUNcdTAwOURcdTAwOUVcdTAwOUZcdTAwQTBcdTAwQzBcdTAwQzJcdTAwQzhcdTAwQ0FcdTAwQ0JcdTAwQ0VcdTAwQ0ZcdTAwQjRcdTAyQ0JcdTAyQzZcdTAwQThcdTAyRENcdTAwRDlcdTAwREJcdTIwQTRcdTAwQUZcdTAwRERcdTAwRkRcdTAwQjBcdTAwQzdcdTAwRTdcdTAwRDFcdTAwRjFcdTAwQTFcdTAwQkZcdTAwQTRcdTAwQTNcdTAwQTVcdTAwQTdcdTAxOTJcdTAwQTJcdTAwRTJcdTAwRUFcdTAwRjRcdTAwRkJcdTAwRTFcdTAwRTlcdTAwRjNcdTAwRkFcdTAwRTBcdTAwRThcdTAwRjJcdTAwRjlcdTAwRTRcdTAwRUJcdTAwRjZcdTAwRkNcdTAwQzVcdTAwRUVcdTAwRDhcdTAwQzZcdTAwRTVcdTAwRURcdTAwRjhcdTAwRTZcdTAwQzRcdTAwRUNcdTAwRDZcdTAwRENcdTAwQzlcdTAwRUZcdTAwREZcdTAwRDRcdTAwQzFcdTAwQzNcdTAwRTNcdTAwRDBcdTAwRjBcdTAwQ0RcdTAwQ0NcdTAwRDNcdTAwRDJcdTAwRDVcdTAwRjVcdTAxNjBcdTAxNjFcdTAwREFcdTAxNzhcdTAwRkZcdTAwREVcdTAwRkVcdTAwQjdcdTAwQjVcdTAwQjZcdTAwQkVcdTIwMTRcdTAwQkNcdTAwQkRcdTAwQUFcdTAwQkFcdTAwQUJcdTI1QTBcdTAwQkJcdTAwQjFcdUZGRkRcIlxuICB9LFxuICBcIm1hY2ludG9zaFwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHUwMEM0XHUwMEM1XHUwMEM3XHUwMEM5XHUwMEQxXHUwMEQ2XHUwMERDXHUwMEUxXHUwMEUwXHUwMEUyXHUwMEU0XHUwMEUzXHUwMEU1XHUwMEU3XHUwMEU5XHUwMEU4XHUwMEVBXHUwMEVCXHUwMEVEXHUwMEVDXHUwMEVFXHUwMEVGXHUwMEYxXHUwMEYzXHUwMEYyXHUwMEY0XHUwMEY2XHUwMEY1XHUwMEZBXHUwMEY5XHUwMEZCXHUwMEZDXHUyMDIwXHUwMEIwXHUwMEEyXHUwMEEzXHUwMEE3XHUyMDIyXHUwMEI2XHUwMERGXHUwMEFFXHUwMEE5XHUyMTIyXHUwMEI0XHUwMEE4XHUyMjYwXHUwMEM2XHUwMEQ4XHUyMjFFXHUwMEIxXHUyMjY0XHUyMjY1XHUwMEE1XHUwMEI1XHUyMjAyXHUyMjExXHUyMjBGXHUwM0MwXHUyMjJCXHUwMEFBXHUwMEJBXHUyMTI2XHUwMEU2XHUwMEY4XHUwMEJGXHUwMEExXHUwMEFDXHUyMjFBXHUwMTkyXHUyMjQ4XHUyMjA2XHUwMEFCXHUwMEJCXHUyMDI2XHUwMEEwXHUwMEMwXHUwMEMzXHUwMEQ1XHUwMTUyXHUwMTUzXHUyMDEzXHUyMDE0XHUyMDFDXHUyMDFEXHUyMDE4XHUyMDE5XHUwMEY3XHUyNUNBXHUwMEZGXHUwMTc4XHUyMDQ0XHUwMEE0XHUyMDM5XHUyMDNBXHVGQjAxXHVGQjAyXHUyMDIxXHUwMEI3XHUyMDFBXHUyMDFFXHUyMDMwXHUwMEMyXHUwMENBXHUwMEMxXHUwMENCXHUwMEM4XHUwMENEXHUwMENFXHUwMENGXHUwMENDXHUwMEQzXHUwMEQ0XHVGRkZEXHUwMEQyXHUwMERBXHUwMERCXHUwMEQ5XHUwMTMxXHUwMkM2XHUwMkRDXHUwMEFGXHUwMkQ4XHUwMkQ5XHUwMkRBXHUwMEI4XHUwMkREXHUwMkRCXHUwMkM3XCJcbiAgfSxcbiAgXCJhc2NpaVwiOiB7XG4gICAgXCJ0eXBlXCI6IFwiX3NiY3NcIixcbiAgICBcImNoYXJzXCI6IFwiXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXHVGRkZEXCJcbiAgfSxcbiAgXCJ0aXM2MjBcIjoge1xuICAgIFwidHlwZVwiOiBcIl9zYmNzXCIsXG4gICAgXCJjaGFyc1wiOiBcIlx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1MEUwMVx1MEUwMlx1MEUwM1x1MEUwNFx1MEUwNVx1MEUwNlx1MEUwN1x1MEUwOFx1MEUwOVx1MEUwQVx1MEUwQlx1MEUwQ1x1MEUwRFx1MEUwRVx1MEUwRlx1MEUxMFx1MEUxMVx1MEUxMlx1MEUxM1x1MEUxNFx1MEUxNVx1MEUxNlx1MEUxN1x1MEUxOFx1MEUxOVx1MEUxQVx1MEUxQlx1MEUxQ1x1MEUxRFx1MEUxRVx1MEUxRlx1MEUyMFx1MEUyMVx1MEUyMlx1MEUyM1x1MEUyNFx1MEUyNVx1MEUyNlx1MEUyN1x1MEUyOFx1MEUyOVx1MEUyQVx1MEUyQlx1MEUyQ1x1MEUyRFx1MEUyRVx1MEUyRlx1MEUzMFx1MEUzMVx1MEUzMlx1MEUzM1x1MEUzNFx1MEUzNVx1MEUzNlx1MEUzN1x1MEUzOFx1MEUzOVx1MEUzQVx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFx1MEUzRlx1MEU0MFx1MEU0MVx1MEU0Mlx1MEU0M1x1MEU0NFx1MEU0NVx1MEU0Nlx1MEU0N1x1MEU0OFx1MEU0OVx1MEU0QVx1MEU0Qlx1MEU0Q1x1MEU0RFx1MEU0RVx1MEU0Rlx1MEU1MFx1MEU1MVx1MEU1Mlx1MEU1M1x1MEU1NFx1MEU1NVx1MEU1Nlx1MEU1N1x1MEU1OFx1MEU1OVx1MEU1QVx1MEU1Qlx1RkZGRFx1RkZGRFx1RkZGRFx1RkZGRFwiXG4gIH1cbn0iLCAiXCJ1c2Ugc3RyaWN0XCI7XG52YXIgQnVmZmVyID0gcmVxdWlyZShcInNhZmVyLWJ1ZmZlclwiKS5CdWZmZXI7XG5cbi8vIE11bHRpYnl0ZSBjb2RlYy4gSW4gdGhpcyBzY2hlbWUsIGEgY2hhcmFjdGVyIGlzIHJlcHJlc2VudGVkIGJ5IDEgb3IgbW9yZSBieXRlcy5cbi8vIE91ciBjb2RlYyBzdXBwb3J0cyBVVEYtMTYgc3Vycm9nYXRlcywgZXh0ZW5zaW9ucyBmb3IgR0IxODAzMCBhbmQgdW5pY29kZSBzZXF1ZW5jZXMuXG4vLyBUbyBzYXZlIG1lbW9yeSBhbmQgbG9hZGluZyB0aW1lLCB3ZSByZWFkIHRhYmxlIGZpbGVzIG9ubHkgd2hlbiByZXF1ZXN0ZWQuXG5cbmV4cG9ydHMuX2RiY3MgPSBEQkNTQ29kZWM7XG5cbnZhciBVTkFTU0lHTkVEID0gLTEsXG4gICAgR0IxODAzMF9DT0RFID0gLTIsXG4gICAgU0VRX1NUQVJUICA9IC0xMCxcbiAgICBOT0RFX1NUQVJUID0gLTEwMDAsXG4gICAgVU5BU1NJR05FRF9OT0RFID0gbmV3IEFycmF5KDB4MTAwKSxcbiAgICBERUZfQ0hBUiA9IC0xO1xuXG5mb3IgKHZhciBpID0gMDsgaSA8IDB4MTAwOyBpKyspXG4gICAgVU5BU1NJR05FRF9OT0RFW2ldID0gVU5BU1NJR05FRDtcblxuXG4vLyBDbGFzcyBEQkNTQ29kZWMgcmVhZHMgYW5kIGluaXRpYWxpemVzIG1hcHBpbmcgdGFibGVzLlxuZnVuY3Rpb24gREJDU0NvZGVjKGNvZGVjT3B0aW9ucywgaWNvbnYpIHtcbiAgICB0aGlzLmVuY29kaW5nTmFtZSA9IGNvZGVjT3B0aW9ucy5lbmNvZGluZ05hbWU7XG4gICAgaWYgKCFjb2RlY09wdGlvbnMpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkRCQ1MgY29kZWMgaXMgY2FsbGVkIHdpdGhvdXQgdGhlIGRhdGEuXCIpXG4gICAgaWYgKCFjb2RlY09wdGlvbnMudGFibGUpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkVuY29kaW5nICdcIiArIHRoaXMuZW5jb2RpbmdOYW1lICsgXCInIGhhcyBubyBkYXRhLlwiKTtcblxuICAgIC8vIExvYWQgdGFibGVzLlxuICAgIHZhciBtYXBwaW5nVGFibGUgPSBjb2RlY09wdGlvbnMudGFibGUoKTtcblxuXG4gICAgLy8gRGVjb2RlIHRhYmxlczogTUJDUyAtPiBVbmljb2RlLlxuXG4gICAgLy8gZGVjb2RlVGFibGVzIGlzIGEgdHJpZSwgZW5jb2RlZCBhcyBhbiBhcnJheSBvZiBhcnJheXMgb2YgaW50ZWdlcnMuIEludGVybmFsIGFycmF5cyBhcmUgdHJpZSBub2RlcyBhbmQgYWxsIGhhdmUgbGVuID0gMjU2LlxuICAgIC8vIFRyaWUgcm9vdCBpcyBkZWNvZGVUYWJsZXNbMF0uXG4gICAgLy8gVmFsdWVzOiA+PSAgMCAtPiB1bmljb2RlIGNoYXJhY3RlciBjb2RlLiBjYW4gYmUgPiAweEZGRkZcbiAgICAvLyAgICAgICAgID09IFVOQVNTSUdORUQgLT4gdW5rbm93bi91bmFzc2lnbmVkIHNlcXVlbmNlLlxuICAgIC8vICAgICAgICAgPT0gR0IxODAzMF9DT0RFIC0+IHRoaXMgaXMgdGhlIGVuZCBvZiBhIEdCMTgwMzAgNC1ieXRlIHNlcXVlbmNlLlxuICAgIC8vICAgICAgICAgPD0gTk9ERV9TVEFSVCAtPiBpbmRleCBvZiB0aGUgbmV4dCBub2RlIGluIG91ciB0cmllIHRvIHByb2Nlc3MgbmV4dCBieXRlLlxuICAgIC8vICAgICAgICAgPD0gU0VRX1NUQVJUICAtPiBpbmRleCBvZiB0aGUgc3RhcnQgb2YgYSBjaGFyYWN0ZXIgY29kZSBzZXF1ZW5jZSwgaW4gZGVjb2RlVGFibGVTZXEuXG4gICAgdGhpcy5kZWNvZGVUYWJsZXMgPSBbXTtcbiAgICB0aGlzLmRlY29kZVRhYmxlc1swXSA9IFVOQVNTSUdORURfTk9ERS5zbGljZSgwKTsgLy8gQ3JlYXRlIHJvb3Qgbm9kZS5cblxuICAgIC8vIFNvbWV0aW1lcyBhIE1CQ1MgY2hhciBjb3JyZXNwb25kcyB0byBhIHNlcXVlbmNlIG9mIHVuaWNvZGUgY2hhcnMuIFdlIHN0b3JlIHRoZW0gYXMgYXJyYXlzIG9mIGludGVnZXJzIGhlcmUuIFxuICAgIHRoaXMuZGVjb2RlVGFibGVTZXEgPSBbXTtcblxuICAgIC8vIEFjdHVhbCBtYXBwaW5nIHRhYmxlcyBjb25zaXN0IG9mIGNodW5rcy4gVXNlIHRoZW0gdG8gZmlsbCB1cCBkZWNvZGUgdGFibGVzLlxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgbWFwcGluZ1RhYmxlLmxlbmd0aDsgaSsrKVxuICAgICAgICB0aGlzLl9hZGREZWNvZGVDaHVuayhtYXBwaW5nVGFibGVbaV0pO1xuXG4gICAgdGhpcy5kZWZhdWx0Q2hhclVuaWNvZGUgPSBpY29udi5kZWZhdWx0Q2hhclVuaWNvZGU7XG5cbiAgICBcbiAgICAvLyBFbmNvZGUgdGFibGVzOiBVbmljb2RlIC0+IERCQ1MuXG5cbiAgICAvLyBgZW5jb2RlVGFibGVgIGlzIGFycmF5IG1hcHBpbmcgZnJvbSB1bmljb2RlIGNoYXIgdG8gZW5jb2RlZCBjaGFyLiBBbGwgaXRzIHZhbHVlcyBhcmUgaW50ZWdlcnMgZm9yIHBlcmZvcm1hbmNlLlxuICAgIC8vIEJlY2F1c2UgaXQgY2FuIGJlIHNwYXJzZSwgaXQgaXMgcmVwcmVzZW50ZWQgYXMgYXJyYXkgb2YgYnVja2V0cyBieSAyNTYgY2hhcnMgZWFjaC4gQnVja2V0IGNhbiBiZSBudWxsLlxuICAgIC8vIFZhbHVlczogPj0gIDAgLT4gaXQgaXMgYSBub3JtYWwgY2hhci4gV3JpdGUgdGhlIHZhbHVlIChpZiA8PTI1NiB0aGVuIDEgYnl0ZSwgaWYgPD02NTUzNiB0aGVuIDIgYnl0ZXMsIGV0Yy4pLlxuICAgIC8vICAgICAgICAgPT0gVU5BU1NJR05FRCAtPiBubyBjb252ZXJzaW9uIGZvdW5kLiBPdXRwdXQgYSBkZWZhdWx0IGNoYXIuXG4gICAgLy8gICAgICAgICA8PSBTRVFfU1RBUlQgIC0+IGl0J3MgYW4gaW5kZXggaW4gZW5jb2RlVGFibGVTZXEsIHNlZSBiZWxvdy4gVGhlIGNoYXJhY3RlciBzdGFydHMgYSBzZXF1ZW5jZS5cbiAgICB0aGlzLmVuY29kZVRhYmxlID0gW107XG4gICAgXG4gICAgLy8gYGVuY29kZVRhYmxlU2VxYCBpcyB1c2VkIHdoZW4gYSBzZXF1ZW5jZSBvZiB1bmljb2RlIGNoYXJhY3RlcnMgaXMgZW5jb2RlZCBhcyBhIHNpbmdsZSBjb2RlLiBXZSB1c2UgYSB0cmVlIG9mXG4gICAgLy8gb2JqZWN0cyB3aGVyZSBrZXlzIGNvcnJlc3BvbmQgdG8gY2hhcmFjdGVycyBpbiBzZXF1ZW5jZSBhbmQgbGVhZnMgYXJlIHRoZSBlbmNvZGVkIGRiY3MgdmFsdWVzLiBBIHNwZWNpYWwgREVGX0NIQVIga2V5XG4gICAgLy8gbWVhbnMgZW5kIG9mIHNlcXVlbmNlIChuZWVkZWQgd2hlbiBvbmUgc2VxdWVuY2UgaXMgYSBzdHJpY3Qgc3Vic2VxdWVuY2Ugb2YgYW5vdGhlcikuXG4gICAgLy8gT2JqZWN0cyBhcmUga2VwdCBzZXBhcmF0ZWx5IGZyb20gZW5jb2RlVGFibGUgdG8gaW5jcmVhc2UgcGVyZm9ybWFuY2UuXG4gICAgdGhpcy5lbmNvZGVUYWJsZVNlcSA9IFtdO1xuXG4gICAgLy8gU29tZSBjaGFycyBjYW4gYmUgZGVjb2RlZCwgYnV0IG5lZWQgbm90IGJlIGVuY29kZWQuXG4gICAgdmFyIHNraXBFbmNvZGVDaGFycyA9IHt9O1xuICAgIGlmIChjb2RlY09wdGlvbnMuZW5jb2RlU2tpcFZhbHMpXG4gICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgY29kZWNPcHRpb25zLmVuY29kZVNraXBWYWxzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgdmFsID0gY29kZWNPcHRpb25zLmVuY29kZVNraXBWYWxzW2ldO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiB2YWwgPT09ICdudW1iZXInKVxuICAgICAgICAgICAgICAgIHNraXBFbmNvZGVDaGFyc1t2YWxdID0gdHJ1ZTtcbiAgICAgICAgICAgIGVsc2VcbiAgICAgICAgICAgICAgICBmb3IgKHZhciBqID0gdmFsLmZyb207IGogPD0gdmFsLnRvOyBqKyspXG4gICAgICAgICAgICAgICAgICAgIHNraXBFbmNvZGVDaGFyc1tqXSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgLy8gVXNlIGRlY29kZSB0cmllIHRvIHJlY3Vyc2l2ZWx5IGZpbGwgb3V0IGVuY29kZSB0YWJsZXMuXG4gICAgdGhpcy5fZmlsbEVuY29kZVRhYmxlKDAsIDAsIHNraXBFbmNvZGVDaGFycyk7XG5cbiAgICAvLyBBZGQgbW9yZSBlbmNvZGluZyBwYWlycyB3aGVuIG5lZWRlZC5cbiAgICBpZiAoY29kZWNPcHRpb25zLmVuY29kZUFkZCkge1xuICAgICAgICBmb3IgKHZhciB1Q2hhciBpbiBjb2RlY09wdGlvbnMuZW5jb2RlQWRkKVxuICAgICAgICAgICAgaWYgKE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChjb2RlY09wdGlvbnMuZW5jb2RlQWRkLCB1Q2hhcikpXG4gICAgICAgICAgICAgICAgdGhpcy5fc2V0RW5jb2RlQ2hhcih1Q2hhci5jaGFyQ29kZUF0KDApLCBjb2RlY09wdGlvbnMuZW5jb2RlQWRkW3VDaGFyXSk7XG4gICAgfVxuXG4gICAgdGhpcy5kZWZDaGFyU0IgID0gdGhpcy5lbmNvZGVUYWJsZVswXVtpY29udi5kZWZhdWx0Q2hhclNpbmdsZUJ5dGUuY2hhckNvZGVBdCgwKV07XG4gICAgaWYgKHRoaXMuZGVmQ2hhclNCID09PSBVTkFTU0lHTkVEKSB0aGlzLmRlZkNoYXJTQiA9IHRoaXMuZW5jb2RlVGFibGVbMF1bJz8nXTtcbiAgICBpZiAodGhpcy5kZWZDaGFyU0IgPT09IFVOQVNTSUdORUQpIHRoaXMuZGVmQ2hhclNCID0gXCI/XCIuY2hhckNvZGVBdCgwKTtcblxuXG4gICAgLy8gTG9hZCAmIGNyZWF0ZSBHQjE4MDMwIHRhYmxlcyB3aGVuIG5lZWRlZC5cbiAgICBpZiAodHlwZW9mIGNvZGVjT3B0aW9ucy5nYjE4MDMwID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgIHRoaXMuZ2IxODAzMCA9IGNvZGVjT3B0aW9ucy5nYjE4MDMwKCk7IC8vIExvYWQgR0IxODAzMCByYW5nZXMuXG5cbiAgICAgICAgLy8gQWRkIEdCMTgwMzAgZGVjb2RlIHRhYmxlcy5cbiAgICAgICAgdmFyIHRoaXJkQnl0ZU5vZGVJZHggPSB0aGlzLmRlY29kZVRhYmxlcy5sZW5ndGg7XG4gICAgICAgIHZhciB0aGlyZEJ5dGVOb2RlID0gdGhpcy5kZWNvZGVUYWJsZXNbdGhpcmRCeXRlTm9kZUlkeF0gPSBVTkFTU0lHTkVEX05PREUuc2xpY2UoMCk7XG5cbiAgICAgICAgdmFyIGZvdXJ0aEJ5dGVOb2RlSWR4ID0gdGhpcy5kZWNvZGVUYWJsZXMubGVuZ3RoO1xuICAgICAgICB2YXIgZm91cnRoQnl0ZU5vZGUgPSB0aGlzLmRlY29kZVRhYmxlc1tmb3VydGhCeXRlTm9kZUlkeF0gPSBVTkFTU0lHTkVEX05PREUuc2xpY2UoMCk7XG5cbiAgICAgICAgZm9yICh2YXIgaSA9IDB4ODE7IGkgPD0gMHhGRTsgaSsrKSB7XG4gICAgICAgICAgICB2YXIgc2Vjb25kQnl0ZU5vZGVJZHggPSBOT0RFX1NUQVJUIC0gdGhpcy5kZWNvZGVUYWJsZXNbMF1baV07XG4gICAgICAgICAgICB2YXIgc2Vjb25kQnl0ZU5vZGUgPSB0aGlzLmRlY29kZVRhYmxlc1tzZWNvbmRCeXRlTm9kZUlkeF07XG4gICAgICAgICAgICBmb3IgKHZhciBqID0gMHgzMDsgaiA8PSAweDM5OyBqKyspXG4gICAgICAgICAgICAgICAgc2Vjb25kQnl0ZU5vZGVbal0gPSBOT0RFX1NUQVJUIC0gdGhpcmRCeXRlTm9kZUlkeDtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKHZhciBpID0gMHg4MTsgaSA8PSAweEZFOyBpKyspXG4gICAgICAgICAgICB0aGlyZEJ5dGVOb2RlW2ldID0gTk9ERV9TVEFSVCAtIGZvdXJ0aEJ5dGVOb2RlSWR4O1xuICAgICAgICBmb3IgKHZhciBpID0gMHgzMDsgaSA8PSAweDM5OyBpKyspXG4gICAgICAgICAgICBmb3VydGhCeXRlTm9kZVtpXSA9IEdCMTgwMzBfQ09ERVxuICAgIH0gICAgICAgIFxufVxuXG5EQkNTQ29kZWMucHJvdG90eXBlLmVuY29kZXIgPSBEQkNTRW5jb2RlcjtcbkRCQ1NDb2RlYy5wcm90b3R5cGUuZGVjb2RlciA9IERCQ1NEZWNvZGVyO1xuXG4vLyBEZWNvZGVyIGhlbHBlcnNcbkRCQ1NDb2RlYy5wcm90b3R5cGUuX2dldERlY29kZVRyaWVOb2RlID0gZnVuY3Rpb24oYWRkcikge1xuICAgIHZhciBieXRlcyA9IFtdO1xuICAgIGZvciAoOyBhZGRyID4gMDsgYWRkciA+Pj0gOClcbiAgICAgICAgYnl0ZXMucHVzaChhZGRyICYgMHhGRik7XG4gICAgaWYgKGJ5dGVzLmxlbmd0aCA9PSAwKVxuICAgICAgICBieXRlcy5wdXNoKDApO1xuXG4gICAgdmFyIG5vZGUgPSB0aGlzLmRlY29kZVRhYmxlc1swXTtcbiAgICBmb3IgKHZhciBpID0gYnl0ZXMubGVuZ3RoLTE7IGkgPiAwOyBpLS0pIHsgLy8gVHJhdmVyc2Ugbm9kZXMgZGVlcGVyIGludG8gdGhlIHRyaWUuXG4gICAgICAgIHZhciB2YWwgPSBub2RlW2J5dGVzW2ldXTtcblxuICAgICAgICBpZiAodmFsID09IFVOQVNTSUdORUQpIHsgLy8gQ3JlYXRlIG5ldyBub2RlLlxuICAgICAgICAgICAgbm9kZVtieXRlc1tpXV0gPSBOT0RFX1NUQVJUIC0gdGhpcy5kZWNvZGVUYWJsZXMubGVuZ3RoO1xuICAgICAgICAgICAgdGhpcy5kZWNvZGVUYWJsZXMucHVzaChub2RlID0gVU5BU1NJR05FRF9OT0RFLnNsaWNlKDApKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh2YWwgPD0gTk9ERV9TVEFSVCkgeyAvLyBFeGlzdGluZyBub2RlLlxuICAgICAgICAgICAgbm9kZSA9IHRoaXMuZGVjb2RlVGFibGVzW05PREVfU1RBUlQgLSB2YWxdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2VcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk92ZXJ3cml0ZSBieXRlIGluIFwiICsgdGhpcy5lbmNvZGluZ05hbWUgKyBcIiwgYWRkcjogXCIgKyBhZGRyLnRvU3RyaW5nKDE2KSk7XG4gICAgfVxuICAgIHJldHVybiBub2RlO1xufVxuXG5cbkRCQ1NDb2RlYy5wcm90b3R5cGUuX2FkZERlY29kZUNodW5rID0gZnVuY3Rpb24oY2h1bmspIHtcbiAgICAvLyBGaXJzdCBlbGVtZW50IG9mIGNodW5rIGlzIHRoZSBoZXggbWJjcyBjb2RlIHdoZXJlIHdlIHN0YXJ0LlxuICAgIHZhciBjdXJBZGRyID0gcGFyc2VJbnQoY2h1bmtbMF0sIDE2KTtcblxuICAgIC8vIENob29zZSB0aGUgZGVjb2Rpbmcgbm9kZSB3aGVyZSB3ZSdsbCB3cml0ZSBvdXIgY2hhcnMuXG4gICAgdmFyIHdyaXRlVGFibGUgPSB0aGlzLl9nZXREZWNvZGVUcmllTm9kZShjdXJBZGRyKTtcbiAgICBjdXJBZGRyID0gY3VyQWRkciAmIDB4RkY7XG5cbiAgICAvLyBXcml0ZSBhbGwgb3RoZXIgZWxlbWVudHMgb2YgdGhlIGNodW5rIHRvIHRoZSB0YWJsZS5cbiAgICBmb3IgKHZhciBrID0gMTsgayA8IGNodW5rLmxlbmd0aDsgaysrKSB7XG4gICAgICAgIHZhciBwYXJ0ID0gY2h1bmtba107XG4gICAgICAgIGlmICh0eXBlb2YgcGFydCA9PT0gXCJzdHJpbmdcIikgeyAvLyBTdHJpbmcsIHdyaXRlIGFzLWlzLlxuICAgICAgICAgICAgZm9yICh2YXIgbCA9IDA7IGwgPCBwYXJ0Lmxlbmd0aDspIHtcbiAgICAgICAgICAgICAgICB2YXIgY29kZSA9IHBhcnQuY2hhckNvZGVBdChsKyspO1xuICAgICAgICAgICAgICAgIGlmICgweEQ4MDAgPD0gY29kZSAmJiBjb2RlIDwgMHhEQzAwKSB7IC8vIERlY29kZSBzdXJyb2dhdGVcbiAgICAgICAgICAgICAgICAgICAgdmFyIGNvZGVUcmFpbCA9IHBhcnQuY2hhckNvZGVBdChsKyspO1xuICAgICAgICAgICAgICAgICAgICBpZiAoMHhEQzAwIDw9IGNvZGVUcmFpbCAmJiBjb2RlVHJhaWwgPCAweEUwMDApXG4gICAgICAgICAgICAgICAgICAgICAgICB3cml0ZVRhYmxlW2N1ckFkZHIrK10gPSAweDEwMDAwICsgKGNvZGUgLSAweEQ4MDApICogMHg0MDAgKyAoY29kZVRyYWlsIC0gMHhEQzAwKTtcbiAgICAgICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiSW5jb3JyZWN0IHN1cnJvZ2F0ZSBwYWlyIGluIFwiICArIHRoaXMuZW5jb2RpbmdOYW1lICsgXCIgYXQgY2h1bmsgXCIgKyBjaHVua1swXSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGVsc2UgaWYgKDB4MEZGMCA8IGNvZGUgJiYgY29kZSA8PSAweDBGRkYpIHsgLy8gQ2hhcmFjdGVyIHNlcXVlbmNlIChvdXIgb3duIGVuY29kaW5nIHVzZWQpXG4gICAgICAgICAgICAgICAgICAgIHZhciBsZW4gPSAweEZGRiAtIGNvZGUgKyAyO1xuICAgICAgICAgICAgICAgICAgICB2YXIgc2VxID0gW107XG4gICAgICAgICAgICAgICAgICAgIGZvciAodmFyIG0gPSAwOyBtIDwgbGVuOyBtKyspXG4gICAgICAgICAgICAgICAgICAgICAgICBzZXEucHVzaChwYXJ0LmNoYXJDb2RlQXQobCsrKSk7IC8vIFNpbXBsZSB2YXJpYXRpb246IGRvbid0IHN1cHBvcnQgc3Vycm9nYXRlcyBvciBzdWJzZXF1ZW5jZXMgaW4gc2VxLlxuXG4gICAgICAgICAgICAgICAgICAgIHdyaXRlVGFibGVbY3VyQWRkcisrXSA9IFNFUV9TVEFSVCAtIHRoaXMuZGVjb2RlVGFibGVTZXEubGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRlY29kZVRhYmxlU2VxLnB1c2goc2VxKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgZWxzZVxuICAgICAgICAgICAgICAgICAgICB3cml0ZVRhYmxlW2N1ckFkZHIrK10gPSBjb2RlOyAvLyBCYXNpYyBjaGFyXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gXG4gICAgICAgIGVsc2UgaWYgKHR5cGVvZiBwYXJ0ID09PSBcIm51bWJlclwiKSB7IC8vIEludGVnZXIsIG1lYW5pbmcgaW5jcmVhc2luZyBzZXF1ZW5jZSBzdGFydGluZyB3aXRoIHByZXYgY2hhcmFjdGVyLlxuICAgICAgICAgICAgdmFyIGNoYXJDb2RlID0gd3JpdGVUYWJsZVtjdXJBZGRyIC0gMV0gKyAxO1xuICAgICAgICAgICAgZm9yICh2YXIgbCA9IDA7IGwgPCBwYXJ0OyBsKyspXG4gICAgICAgICAgICAgICAgd3JpdGVUYWJsZVtjdXJBZGRyKytdID0gY2hhckNvZGUrKztcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbmNvcnJlY3QgdHlwZSAnXCIgKyB0eXBlb2YgcGFydCArIFwiJyBnaXZlbiBpbiBcIiAgKyB0aGlzLmVuY29kaW5nTmFtZSArIFwiIGF0IGNodW5rIFwiICsgY2h1bmtbMF0pO1xuICAgIH1cbiAgICBpZiAoY3VyQWRkciA+IDB4RkYpXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkluY29ycmVjdCBjaHVuayBpbiBcIiAgKyB0aGlzLmVuY29kaW5nTmFtZSArIFwiIGF0IGFkZHIgXCIgKyBjaHVua1swXSArIFwiOiB0b28gbG9uZ1wiICsgY3VyQWRkcik7XG59XG5cbi8vIEVuY29kZXIgaGVscGVyc1xuREJDU0NvZGVjLnByb3RvdHlwZS5fZ2V0RW5jb2RlQnVja2V0ID0gZnVuY3Rpb24odUNvZGUpIHtcbiAgICB2YXIgaGlnaCA9IHVDb2RlID4+IDg7IC8vIFRoaXMgY291bGQgYmUgPiAweEZGIGJlY2F1c2Ugb2YgYXN0cmFsIGNoYXJhY3RlcnMuXG4gICAgaWYgKHRoaXMuZW5jb2RlVGFibGVbaGlnaF0gPT09IHVuZGVmaW5lZClcbiAgICAgICAgdGhpcy5lbmNvZGVUYWJsZVtoaWdoXSA9IFVOQVNTSUdORURfTk9ERS5zbGljZSgwKTsgLy8gQ3JlYXRlIGJ1Y2tldCBvbiBkZW1hbmQuXG4gICAgcmV0dXJuIHRoaXMuZW5jb2RlVGFibGVbaGlnaF07XG59XG5cbkRCQ1NDb2RlYy5wcm90b3R5cGUuX3NldEVuY29kZUNoYXIgPSBmdW5jdGlvbih1Q29kZSwgZGJjc0NvZGUpIHtcbiAgICB2YXIgYnVja2V0ID0gdGhpcy5fZ2V0RW5jb2RlQnVja2V0KHVDb2RlKTtcbiAgICB2YXIgbG93ID0gdUNvZGUgJiAweEZGO1xuICAgIGlmIChidWNrZXRbbG93XSA8PSBTRVFfU1RBUlQpXG4gICAgICAgIHRoaXMuZW5jb2RlVGFibGVTZXFbU0VRX1NUQVJULWJ1Y2tldFtsb3ddXVtERUZfQ0hBUl0gPSBkYmNzQ29kZTsgLy8gVGhlcmUncyBhbHJlYWR5IGEgc2VxdWVuY2UsIHNldCBhIHNpbmdsZS1jaGFyIHN1YnNlcXVlbmNlIG9mIGl0LlxuICAgIGVsc2UgaWYgKGJ1Y2tldFtsb3ddID09IFVOQVNTSUdORUQpXG4gICAgICAgIGJ1Y2tldFtsb3ddID0gZGJjc0NvZGU7XG59XG5cbkRCQ1NDb2RlYy5wcm90b3R5cGUuX3NldEVuY29kZVNlcXVlbmNlID0gZnVuY3Rpb24oc2VxLCBkYmNzQ29kZSkge1xuICAgIFxuICAgIC8vIEdldCB0aGUgcm9vdCBvZiBjaGFyYWN0ZXIgdHJlZSBhY2NvcmRpbmcgdG8gZmlyc3QgY2hhcmFjdGVyIG9mIHRoZSBzZXF1ZW5jZS5cbiAgICB2YXIgdUNvZGUgPSBzZXFbMF07XG4gICAgdmFyIGJ1Y2tldCA9IHRoaXMuX2dldEVuY29kZUJ1Y2tldCh1Q29kZSk7XG4gICAgdmFyIGxvdyA9IHVDb2RlICYgMHhGRjtcblxuICAgIHZhciBub2RlO1xuICAgIGlmIChidWNrZXRbbG93XSA8PSBTRVFfU1RBUlQpIHtcbiAgICAgICAgLy8gVGhlcmUncyBhbHJlYWR5IGEgc2VxdWVuY2Ugd2l0aCAgLSB1c2UgaXQuXG4gICAgICAgIG5vZGUgPSB0aGlzLmVuY29kZVRhYmxlU2VxW1NFUV9TVEFSVC1idWNrZXRbbG93XV07XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgICAvLyBUaGVyZSB3YXMgbm8gc2VxdWVuY2Ugb2JqZWN0IC0gYWxsb2NhdGUgYSBuZXcgb25lLlxuICAgICAgICBub2RlID0ge307XG4gICAgICAgIGlmIChidWNrZXRbbG93XSAhPT0gVU5BU1NJR05FRCkgbm9kZVtERUZfQ0hBUl0gPSBidWNrZXRbbG93XTsgLy8gSWYgYSBjaGFyIHdhcyBzZXQgYmVmb3JlIC0gbWFrZSBpdCBhIHNpbmdsZS1jaGFyIHN1YnNlcXVlbmNlLlxuICAgICAgICBidWNrZXRbbG93XSA9IFNFUV9TVEFSVCAtIHRoaXMuZW5jb2RlVGFibGVTZXEubGVuZ3RoO1xuICAgICAgICB0aGlzLmVuY29kZVRhYmxlU2VxLnB1c2gobm9kZSk7XG4gICAgfVxuXG4gICAgLy8gVHJhdmVyc2UgdGhlIGNoYXJhY3RlciB0cmVlLCBhbGxvY2F0aW5nIG5ldyBub2RlcyBhcyBuZWVkZWQuXG4gICAgZm9yICh2YXIgaiA9IDE7IGogPCBzZXEubGVuZ3RoLTE7IGorKykge1xuICAgICAgICB2YXIgb2xkVmFsID0gbm9kZVt1Q29kZV07XG4gICAgICAgIGlmICh0eXBlb2Ygb2xkVmFsID09PSAnb2JqZWN0JylcbiAgICAgICAgICAgIG5vZGUgPSBvbGRWYWw7XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgbm9kZSA9IG5vZGVbdUNvZGVdID0ge31cbiAgICAgICAgICAgIGlmIChvbGRWYWwgIT09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICBub2RlW0RFRl9DSEFSXSA9IG9sZFZhbFxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0IHRoZSBsZWFmIHRvIGdpdmVuIGRiY3NDb2RlLlxuICAgIHVDb2RlID0gc2VxW3NlcS5sZW5ndGgtMV07XG4gICAgbm9kZVt1Q29kZV0gPSBkYmNzQ29kZTtcbn1cblxuREJDU0NvZGVjLnByb3RvdHlwZS5fZmlsbEVuY29kZVRhYmxlID0gZnVuY3Rpb24obm9kZUlkeCwgcHJlZml4LCBza2lwRW5jb2RlQ2hhcnMpIHtcbiAgICB2YXIgbm9kZSA9IHRoaXMuZGVjb2RlVGFibGVzW25vZGVJZHhdO1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgMHgxMDA7IGkrKykge1xuICAgICAgICB2YXIgdUNvZGUgPSBub2RlW2ldO1xuICAgICAgICB2YXIgbWJDb2RlID0gcHJlZml4ICsgaTtcbiAgICAgICAgaWYgKHNraXBFbmNvZGVDaGFyc1ttYkNvZGVdKVxuICAgICAgICAgICAgY29udGludWU7XG5cbiAgICAgICAgaWYgKHVDb2RlID49IDApXG4gICAgICAgICAgICB0aGlzLl9zZXRFbmNvZGVDaGFyKHVDb2RlLCBtYkNvZGUpO1xuICAgICAgICBlbHNlIGlmICh1Q29kZSA8PSBOT0RFX1NUQVJUKVxuICAgICAgICAgICAgdGhpcy5fZmlsbEVuY29kZVRhYmxlKE5PREVfU1RBUlQgLSB1Q29kZSwgbWJDb2RlIDw8IDgsIHNraXBFbmNvZGVDaGFycyk7XG4gICAgICAgIGVsc2UgaWYgKHVDb2RlIDw9IFNFUV9TVEFSVClcbiAgICAgICAgICAgIHRoaXMuX3NldEVuY29kZVNlcXVlbmNlKHRoaXMuZGVjb2RlVGFibGVTZXFbU0VRX1NUQVJUIC0gdUNvZGVdLCBtYkNvZGUpO1xuICAgIH1cbn1cblxuXG5cbi8vID09IEVuY29kZXIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmZ1bmN0aW9uIERCQ1NFbmNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgLy8gRW5jb2RlciBzdGF0ZVxuICAgIHRoaXMubGVhZFN1cnJvZ2F0ZSA9IC0xO1xuICAgIHRoaXMuc2VxT2JqID0gdW5kZWZpbmVkO1xuICAgIFxuICAgIC8vIFN0YXRpYyBkYXRhXG4gICAgdGhpcy5lbmNvZGVUYWJsZSA9IGNvZGVjLmVuY29kZVRhYmxlO1xuICAgIHRoaXMuZW5jb2RlVGFibGVTZXEgPSBjb2RlYy5lbmNvZGVUYWJsZVNlcTtcbiAgICB0aGlzLmRlZmF1bHRDaGFyU2luZ2xlQnl0ZSA9IGNvZGVjLmRlZkNoYXJTQjtcbiAgICB0aGlzLmdiMTgwMzAgPSBjb2RlYy5nYjE4MDMwO1xufVxuXG5EQkNTRW5jb2Rlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHIpIHtcbiAgICB2YXIgbmV3QnVmID0gQnVmZmVyLmFsbG9jKHN0ci5sZW5ndGggKiAodGhpcy5nYjE4MDMwID8gNCA6IDMpKSxcbiAgICAgICAgbGVhZFN1cnJvZ2F0ZSA9IHRoaXMubGVhZFN1cnJvZ2F0ZSxcbiAgICAgICAgc2VxT2JqID0gdGhpcy5zZXFPYmosIG5leHRDaGFyID0gLTEsXG4gICAgICAgIGkgPSAwLCBqID0gMDtcblxuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIC8vIDAuIEdldCBuZXh0IGNoYXJhY3Rlci5cbiAgICAgICAgaWYgKG5leHRDaGFyID09PSAtMSkge1xuICAgICAgICAgICAgaWYgKGkgPT0gc3RyLmxlbmd0aCkgYnJlYWs7XG4gICAgICAgICAgICB2YXIgdUNvZGUgPSBzdHIuY2hhckNvZGVBdChpKyspO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdmFyIHVDb2RlID0gbmV4dENoYXI7XG4gICAgICAgICAgICBuZXh0Q2hhciA9IC0xOyAgICBcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDEuIEhhbmRsZSBzdXJyb2dhdGVzLlxuICAgICAgICBpZiAoMHhEODAwIDw9IHVDb2RlICYmIHVDb2RlIDwgMHhFMDAwKSB7IC8vIENoYXIgaXMgb25lIG9mIHN1cnJvZ2F0ZXMuXG4gICAgICAgICAgICBpZiAodUNvZGUgPCAweERDMDApIHsgLy8gV2UndmUgZ290IGxlYWQgc3Vycm9nYXRlLlxuICAgICAgICAgICAgICAgIGlmIChsZWFkU3Vycm9nYXRlID09PSAtMSkge1xuICAgICAgICAgICAgICAgICAgICBsZWFkU3Vycm9nYXRlID0gdUNvZGU7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIGxlYWRTdXJyb2dhdGUgPSB1Q29kZTtcbiAgICAgICAgICAgICAgICAgICAgLy8gRG91YmxlIGxlYWQgc3Vycm9nYXRlIGZvdW5kLlxuICAgICAgICAgICAgICAgICAgICB1Q29kZSA9IFVOQVNTSUdORUQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHsgLy8gV2UndmUgZ290IHRyYWlsIHN1cnJvZ2F0ZS5cbiAgICAgICAgICAgICAgICBpZiAobGVhZFN1cnJvZ2F0ZSAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdUNvZGUgPSAweDEwMDAwICsgKGxlYWRTdXJyb2dhdGUgLSAweEQ4MDApICogMHg0MDAgKyAodUNvZGUgLSAweERDMDApO1xuICAgICAgICAgICAgICAgICAgICBsZWFkU3Vycm9nYXRlID0gLTE7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gSW5jb21wbGV0ZSBzdXJyb2dhdGUgcGFpciAtIG9ubHkgdHJhaWwgc3Vycm9nYXRlIGZvdW5kLlxuICAgICAgICAgICAgICAgICAgICB1Q29kZSA9IFVOQVNTSUdORUQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKGxlYWRTdXJyb2dhdGUgIT09IC0xKSB7XG4gICAgICAgICAgICAvLyBJbmNvbXBsZXRlIHN1cnJvZ2F0ZSBwYWlyIC0gb25seSBsZWFkIHN1cnJvZ2F0ZSBmb3VuZC5cbiAgICAgICAgICAgIG5leHRDaGFyID0gdUNvZGU7IHVDb2RlID0gVU5BU1NJR05FRDsgLy8gV3JpdGUgYW4gZXJyb3IsIHRoZW4gY3VycmVudCBjaGFyLlxuICAgICAgICAgICAgbGVhZFN1cnJvZ2F0ZSA9IC0xO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gMi4gQ29udmVydCB1Q29kZSBjaGFyYWN0ZXIuXG4gICAgICAgIHZhciBkYmNzQ29kZSA9IFVOQVNTSUdORUQ7XG4gICAgICAgIGlmIChzZXFPYmogIT09IHVuZGVmaW5lZCAmJiB1Q29kZSAhPSBVTkFTU0lHTkVEKSB7IC8vIFdlIGFyZSBpbiB0aGUgbWlkZGxlIG9mIHRoZSBzZXF1ZW5jZVxuICAgICAgICAgICAgdmFyIHJlc0NvZGUgPSBzZXFPYmpbdUNvZGVdO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiByZXNDb2RlID09PSAnb2JqZWN0JykgeyAvLyBTZXF1ZW5jZSBjb250aW51ZXMuXG4gICAgICAgICAgICAgICAgc2VxT2JqID0gcmVzQ29kZTtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcblxuICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgcmVzQ29kZSA9PSAnbnVtYmVyJykgeyAvLyBTZXF1ZW5jZSBmaW5pc2hlZC4gV3JpdGUgaXQuXG4gICAgICAgICAgICAgICAgZGJjc0NvZGUgPSByZXNDb2RlO1xuXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlc0NvZGUgPT0gdW5kZWZpbmVkKSB7IC8vIEN1cnJlbnQgY2hhcmFjdGVyIGlzIG5vdCBwYXJ0IG9mIHRoZSBzZXF1ZW5jZS5cblxuICAgICAgICAgICAgICAgIC8vIFRyeSBkZWZhdWx0IGNoYXJhY3RlciBmb3IgdGhpcyBzZXF1ZW5jZVxuICAgICAgICAgICAgICAgIHJlc0NvZGUgPSBzZXFPYmpbREVGX0NIQVJdO1xuICAgICAgICAgICAgICAgIGlmIChyZXNDb2RlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgZGJjc0NvZGUgPSByZXNDb2RlOyAvLyBGb3VuZC4gV3JpdGUgaXQuXG4gICAgICAgICAgICAgICAgICAgIG5leHRDaGFyID0gdUNvZGU7IC8vIEN1cnJlbnQgY2hhcmFjdGVyIHdpbGwgYmUgd3JpdHRlbiB0b28gaW4gdGhlIG5leHQgaXRlcmF0aW9uLlxuXG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzogV2hhdCBpZiB3ZSBoYXZlIG5vIGRlZmF1bHQ/IChyZXNDb2RlID09IHVuZGVmaW5lZClcbiAgICAgICAgICAgICAgICAgICAgLy8gVGhlbiwgd2Ugc2hvdWxkIHdyaXRlIGZpcnN0IGNoYXIgb2YgdGhlIHNlcXVlbmNlIGFzLWlzIGFuZCB0cnkgdGhlIHJlc3QgcmVjdXJzaXZlbHkuXG4gICAgICAgICAgICAgICAgICAgIC8vIERpZG4ndCBkbyBpdCBmb3Igbm93IGJlY2F1c2Ugbm8gZW5jb2RpbmcgaGFzIHRoaXMgc2l0dWF0aW9uIHlldC5cbiAgICAgICAgICAgICAgICAgICAgLy8gQ3VycmVudGx5LCBqdXN0IHNraXAgdGhlIHNlcXVlbmNlIGFuZCB3cml0ZSBjdXJyZW50IGNoYXIuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc2VxT2JqID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHVDb2RlID49IDApIHsgIC8vIFJlZ3VsYXIgY2hhcmFjdGVyXG4gICAgICAgICAgICB2YXIgc3VidGFibGUgPSB0aGlzLmVuY29kZVRhYmxlW3VDb2RlID4+IDhdO1xuICAgICAgICAgICAgaWYgKHN1YnRhYmxlICE9PSB1bmRlZmluZWQpXG4gICAgICAgICAgICAgICAgZGJjc0NvZGUgPSBzdWJ0YWJsZVt1Q29kZSAmIDB4RkZdO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICBpZiAoZGJjc0NvZGUgPD0gU0VRX1NUQVJUKSB7IC8vIFNlcXVlbmNlIHN0YXJ0XG4gICAgICAgICAgICAgICAgc2VxT2JqID0gdGhpcy5lbmNvZGVUYWJsZVNlcVtTRVFfU1RBUlQtZGJjc0NvZGVdO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZGJjc0NvZGUgPT0gVU5BU1NJR05FRCAmJiB0aGlzLmdiMTgwMzApIHtcbiAgICAgICAgICAgICAgICAvLyBVc2UgR0IxODAzMCBhbGdvcml0aG0gdG8gZmluZCBjaGFyYWN0ZXIocykgdG8gd3JpdGUuXG4gICAgICAgICAgICAgICAgdmFyIGlkeCA9IGZpbmRJZHgodGhpcy5nYjE4MDMwLnVDaGFycywgdUNvZGUpO1xuICAgICAgICAgICAgICAgIGlmIChpZHggIT0gLTEpIHtcbiAgICAgICAgICAgICAgICAgICAgdmFyIGRiY3NDb2RlID0gdGhpcy5nYjE4MDMwLmdiQ2hhcnNbaWR4XSArICh1Q29kZSAtIHRoaXMuZ2IxODAzMC51Q2hhcnNbaWR4XSk7XG4gICAgICAgICAgICAgICAgICAgIG5ld0J1ZltqKytdID0gMHg4MSArIE1hdGguZmxvb3IoZGJjc0NvZGUgLyAxMjYwMCk7IGRiY3NDb2RlID0gZGJjc0NvZGUgJSAxMjYwMDtcbiAgICAgICAgICAgICAgICAgICAgbmV3QnVmW2orK10gPSAweDMwICsgTWF0aC5mbG9vcihkYmNzQ29kZSAvIDEyNjApOyBkYmNzQ29kZSA9IGRiY3NDb2RlICUgMTI2MDtcbiAgICAgICAgICAgICAgICAgICAgbmV3QnVmW2orK10gPSAweDgxICsgTWF0aC5mbG9vcihkYmNzQ29kZSAvIDEwKTsgZGJjc0NvZGUgPSBkYmNzQ29kZSAlIDEwO1xuICAgICAgICAgICAgICAgICAgICBuZXdCdWZbaisrXSA9IDB4MzAgKyBkYmNzQ29kZTtcbiAgICAgICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gMy4gV3JpdGUgZGJjc0NvZGUgY2hhcmFjdGVyLlxuICAgICAgICBpZiAoZGJjc0NvZGUgPT09IFVOQVNTSUdORUQpXG4gICAgICAgICAgICBkYmNzQ29kZSA9IHRoaXMuZGVmYXVsdENoYXJTaW5nbGVCeXRlO1xuICAgICAgICBcbiAgICAgICAgaWYgKGRiY3NDb2RlIDwgMHgxMDApIHtcbiAgICAgICAgICAgIG5ld0J1ZltqKytdID0gZGJjc0NvZGU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZGJjc0NvZGUgPCAweDEwMDAwKSB7XG4gICAgICAgICAgICBuZXdCdWZbaisrXSA9IGRiY3NDb2RlID4+IDg7ICAgLy8gaGlnaCBieXRlXG4gICAgICAgICAgICBuZXdCdWZbaisrXSA9IGRiY3NDb2RlICYgMHhGRjsgLy8gbG93IGJ5dGVcbiAgICAgICAgfVxuICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgIG5ld0J1ZltqKytdID0gZGJjc0NvZGUgPj4gMTY7XG4gICAgICAgICAgICBuZXdCdWZbaisrXSA9IChkYmNzQ29kZSA+PiA4KSAmIDB4RkY7XG4gICAgICAgICAgICBuZXdCdWZbaisrXSA9IGRiY3NDb2RlICYgMHhGRjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc2VxT2JqID0gc2VxT2JqO1xuICAgIHRoaXMubGVhZFN1cnJvZ2F0ZSA9IGxlYWRTdXJyb2dhdGU7XG4gICAgcmV0dXJuIG5ld0J1Zi5zbGljZSgwLCBqKTtcbn1cblxuREJDU0VuY29kZXIucHJvdG90eXBlLmVuZCA9IGZ1bmN0aW9uKCkge1xuICAgIGlmICh0aGlzLmxlYWRTdXJyb2dhdGUgPT09IC0xICYmIHRoaXMuc2VxT2JqID09PSB1bmRlZmluZWQpXG4gICAgICAgIHJldHVybjsgLy8gQWxsIGNsZWFuLiBNb3N0IG9mdGVuIGNhc2UuXG5cbiAgICB2YXIgbmV3QnVmID0gQnVmZmVyLmFsbG9jKDEwKSwgaiA9IDA7XG5cbiAgICBpZiAodGhpcy5zZXFPYmopIHsgLy8gV2UncmUgaW4gdGhlIHNlcXVlbmNlLlxuICAgICAgICB2YXIgZGJjc0NvZGUgPSB0aGlzLnNlcU9ialtERUZfQ0hBUl07XG4gICAgICAgIGlmIChkYmNzQ29kZSAhPT0gdW5kZWZpbmVkKSB7IC8vIFdyaXRlIGJlZ2lubmluZyBvZiB0aGUgc2VxdWVuY2UuXG4gICAgICAgICAgICBpZiAoZGJjc0NvZGUgPCAweDEwMCkge1xuICAgICAgICAgICAgICAgIG5ld0J1ZltqKytdID0gZGJjc0NvZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBuZXdCdWZbaisrXSA9IGRiY3NDb2RlID4+IDg7ICAgLy8gaGlnaCBieXRlXG4gICAgICAgICAgICAgICAgbmV3QnVmW2orK10gPSBkYmNzQ29kZSAmIDB4RkY7IC8vIGxvdyBieXRlXG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBTZWUgdG9kbyBhYm92ZS5cbiAgICAgICAgfVxuICAgICAgICB0aGlzLnNlcU9iaiA9IHVuZGVmaW5lZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sZWFkU3Vycm9nYXRlICE9PSAtMSkge1xuICAgICAgICAvLyBJbmNvbXBsZXRlIHN1cnJvZ2F0ZSBwYWlyIC0gb25seSBsZWFkIHN1cnJvZ2F0ZSBmb3VuZC5cbiAgICAgICAgbmV3QnVmW2orK10gPSB0aGlzLmRlZmF1bHRDaGFyU2luZ2xlQnl0ZTtcbiAgICAgICAgdGhpcy5sZWFkU3Vycm9nYXRlID0gLTE7XG4gICAgfVxuICAgIFxuICAgIHJldHVybiBuZXdCdWYuc2xpY2UoMCwgaik7XG59XG5cbi8vIEV4cG9ydCBmb3IgdGVzdGluZ1xuREJDU0VuY29kZXIucHJvdG90eXBlLmZpbmRJZHggPSBmaW5kSWR4O1xuXG5cbi8vID09IERlY29kZXIgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbmZ1bmN0aW9uIERCQ1NEZWNvZGVyKG9wdGlvbnMsIGNvZGVjKSB7XG4gICAgLy8gRGVjb2RlciBzdGF0ZVxuICAgIHRoaXMubm9kZUlkeCA9IDA7XG4gICAgdGhpcy5wcmV2QnVmID0gQnVmZmVyLmFsbG9jKDApO1xuXG4gICAgLy8gU3RhdGljIGRhdGFcbiAgICB0aGlzLmRlY29kZVRhYmxlcyA9IGNvZGVjLmRlY29kZVRhYmxlcztcbiAgICB0aGlzLmRlY29kZVRhYmxlU2VxID0gY29kZWMuZGVjb2RlVGFibGVTZXE7XG4gICAgdGhpcy5kZWZhdWx0Q2hhclVuaWNvZGUgPSBjb2RlYy5kZWZhdWx0Q2hhclVuaWNvZGU7XG4gICAgdGhpcy5nYjE4MDMwID0gY29kZWMuZ2IxODAzMDtcbn1cblxuREJDU0RlY29kZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oYnVmKSB7XG4gICAgdmFyIG5ld0J1ZiA9IEJ1ZmZlci5hbGxvYyhidWYubGVuZ3RoKjIpLFxuICAgICAgICBub2RlSWR4ID0gdGhpcy5ub2RlSWR4LCBcbiAgICAgICAgcHJldkJ1ZiA9IHRoaXMucHJldkJ1ZiwgcHJldkJ1Zk9mZnNldCA9IHRoaXMucHJldkJ1Zi5sZW5ndGgsXG4gICAgICAgIHNlcVN0YXJ0ID0gLXRoaXMucHJldkJ1Zi5sZW5ndGgsIC8vIGlkeCBvZiB0aGUgc3RhcnQgb2YgY3VycmVudCBwYXJzZWQgc2VxdWVuY2UuXG4gICAgICAgIHVDb2RlO1xuXG4gICAgaWYgKHByZXZCdWZPZmZzZXQgPiAwKSAvLyBNYWtlIHByZXYgYnVmIG92ZXJsYXAgYSBsaXR0bGUgdG8gbWFrZSBpdCBlYXNpZXIgdG8gc2xpY2UgbGF0ZXIuXG4gICAgICAgIHByZXZCdWYgPSBCdWZmZXIuY29uY2F0KFtwcmV2QnVmLCBidWYuc2xpY2UoMCwgMTApXSk7XG4gICAgXG4gICAgZm9yICh2YXIgaSA9IDAsIGogPSAwOyBpIDwgYnVmLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIHZhciBjdXJCeXRlID0gKGkgPj0gMCkgPyBidWZbaV0gOiBwcmV2QnVmW2kgKyBwcmV2QnVmT2Zmc2V0XTtcblxuICAgICAgICAvLyBMb29rdXAgaW4gY3VycmVudCB0cmllIG5vZGUuXG4gICAgICAgIHZhciB1Q29kZSA9IHRoaXMuZGVjb2RlVGFibGVzW25vZGVJZHhdW2N1ckJ5dGVdO1xuXG4gICAgICAgIGlmICh1Q29kZSA+PSAwKSB7IFxuICAgICAgICAgICAgLy8gTm9ybWFsIGNoYXJhY3RlciwganVzdCB1c2UgaXQuXG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodUNvZGUgPT09IFVOQVNTSUdORUQpIHsgLy8gVW5rbm93biBjaGFyLlxuICAgICAgICAgICAgLy8gVE9ETzogQ2FsbGJhY2sgd2l0aCBzZXEuXG4gICAgICAgICAgICAvL3ZhciBjdXJTZXEgPSAoc2VxU3RhcnQgPj0gMCkgPyBidWYuc2xpY2Uoc2VxU3RhcnQsIGkrMSkgOiBwcmV2QnVmLnNsaWNlKHNlcVN0YXJ0ICsgcHJldkJ1Zk9mZnNldCwgaSsxICsgcHJldkJ1Zk9mZnNldCk7XG4gICAgICAgICAgICBpID0gc2VxU3RhcnQ7IC8vIFRyeSB0byBwYXJzZSBhZ2FpbiwgYWZ0ZXIgc2tpcHBpbmcgZmlyc3QgYnl0ZSBvZiB0aGUgc2VxdWVuY2UgKCdpJyB3aWxsIGJlIGluY3JlbWVudGVkIGJ5ICdmb3InIGN5Y2xlKS5cbiAgICAgICAgICAgIHVDb2RlID0gdGhpcy5kZWZhdWx0Q2hhclVuaWNvZGUuY2hhckNvZGVBdCgwKTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmICh1Q29kZSA9PT0gR0IxODAzMF9DT0RFKSB7XG4gICAgICAgICAgICB2YXIgY3VyU2VxID0gKHNlcVN0YXJ0ID49IDApID8gYnVmLnNsaWNlKHNlcVN0YXJ0LCBpKzEpIDogcHJldkJ1Zi5zbGljZShzZXFTdGFydCArIHByZXZCdWZPZmZzZXQsIGkrMSArIHByZXZCdWZPZmZzZXQpO1xuICAgICAgICAgICAgdmFyIHB0ciA9IChjdXJTZXFbMF0tMHg4MSkqMTI2MDAgKyAoY3VyU2VxWzFdLTB4MzApKjEyNjAgKyAoY3VyU2VxWzJdLTB4ODEpKjEwICsgKGN1clNlcVszXS0weDMwKTtcbiAgICAgICAgICAgIHZhciBpZHggPSBmaW5kSWR4KHRoaXMuZ2IxODAzMC5nYkNoYXJzLCBwdHIpO1xuICAgICAgICAgICAgdUNvZGUgPSB0aGlzLmdiMTgwMzAudUNoYXJzW2lkeF0gKyBwdHIgLSB0aGlzLmdiMTgwMzAuZ2JDaGFyc1tpZHhdO1xuICAgICAgICB9XG4gICAgICAgIGVsc2UgaWYgKHVDb2RlIDw9IE5PREVfU1RBUlQpIHsgLy8gR28gdG8gbmV4dCB0cmllIG5vZGUuXG4gICAgICAgICAgICBub2RlSWR4ID0gTk9ERV9TVEFSVCAtIHVDb2RlO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAodUNvZGUgPD0gU0VRX1NUQVJUKSB7IC8vIE91dHB1dCBhIHNlcXVlbmNlIG9mIGNoYXJzLlxuICAgICAgICAgICAgdmFyIHNlcSA9IHRoaXMuZGVjb2RlVGFibGVTZXFbU0VRX1NUQVJUIC0gdUNvZGVdO1xuICAgICAgICAgICAgZm9yICh2YXIgayA9IDA7IGsgPCBzZXEubGVuZ3RoIC0gMTsgaysrKSB7XG4gICAgICAgICAgICAgICAgdUNvZGUgPSBzZXFba107XG4gICAgICAgICAgICAgICAgbmV3QnVmW2orK10gPSB1Q29kZSAmIDB4RkY7XG4gICAgICAgICAgICAgICAgbmV3QnVmW2orK10gPSB1Q29kZSA+PiA4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdUNvZGUgPSBzZXFbc2VxLmxlbmd0aC0xXTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJpY29udi1saXRlIGludGVybmFsIGVycm9yOiBpbnZhbGlkIGRlY29kaW5nIHRhYmxlIHZhbHVlIFwiICsgdUNvZGUgKyBcIiBhdCBcIiArIG5vZGVJZHggKyBcIi9cIiArIGN1ckJ5dGUpO1xuXG4gICAgICAgIC8vIFdyaXRlIHRoZSBjaGFyYWN0ZXIgdG8gYnVmZmVyLCBoYW5kbGluZyBoaWdoZXIgcGxhbmVzIHVzaW5nIHN1cnJvZ2F0ZSBwYWlyLlxuICAgICAgICBpZiAodUNvZGUgPiAweEZGRkYpIHsgXG4gICAgICAgICAgICB1Q29kZSAtPSAweDEwMDAwO1xuICAgICAgICAgICAgdmFyIHVDb2RlTGVhZCA9IDB4RDgwMCArIE1hdGguZmxvb3IodUNvZGUgLyAweDQwMCk7XG4gICAgICAgICAgICBuZXdCdWZbaisrXSA9IHVDb2RlTGVhZCAmIDB4RkY7XG4gICAgICAgICAgICBuZXdCdWZbaisrXSA9IHVDb2RlTGVhZCA+PiA4O1xuXG4gICAgICAgICAgICB1Q29kZSA9IDB4REMwMCArIHVDb2RlICUgMHg0MDA7XG4gICAgICAgIH1cbiAgICAgICAgbmV3QnVmW2orK10gPSB1Q29kZSAmIDB4RkY7XG4gICAgICAgIG5ld0J1ZltqKytdID0gdUNvZGUgPj4gODtcblxuICAgICAgICAvLyBSZXNldCB0cmllIG5vZGUuXG4gICAgICAgIG5vZGVJZHggPSAwOyBzZXFTdGFydCA9IGkrMTtcbiAgICB9XG5cbiAgICB0aGlzLm5vZGVJZHggPSBub2RlSWR4O1xuICAgIHRoaXMucHJldkJ1ZiA9IChzZXFTdGFydCA+PSAwKSA/IGJ1Zi5zbGljZShzZXFTdGFydCkgOiBwcmV2QnVmLnNsaWNlKHNlcVN0YXJ0ICsgcHJldkJ1Zk9mZnNldCk7XG4gICAgcmV0dXJuIG5ld0J1Zi5zbGljZSgwLCBqKS50b1N0cmluZygndWNzMicpO1xufVxuXG5EQkNTRGVjb2Rlci5wcm90b3R5cGUuZW5kID0gZnVuY3Rpb24oKSB7XG4gICAgdmFyIHJldCA9ICcnO1xuXG4gICAgLy8gVHJ5IHRvIHBhcnNlIGFsbCByZW1haW5pbmcgY2hhcnMuXG4gICAgd2hpbGUgKHRoaXMucHJldkJ1Zi5sZW5ndGggPiAwKSB7XG4gICAgICAgIC8vIFNraXAgMSBjaGFyYWN0ZXIgaW4gdGhlIGJ1ZmZlci5cbiAgICAgICAgcmV0ICs9IHRoaXMuZGVmYXVsdENoYXJVbmljb2RlO1xuICAgICAgICB2YXIgYnVmID0gdGhpcy5wcmV2QnVmLnNsaWNlKDEpO1xuXG4gICAgICAgIC8vIFBhcnNlIHJlbWFpbmluZyBhcyB1c3VhbC5cbiAgICAgICAgdGhpcy5wcmV2QnVmID0gQnVmZmVyLmFsbG9jKDApO1xuICAgICAgICB0aGlzLm5vZGVJZHggPSAwO1xuICAgICAgICBpZiAoYnVmLmxlbmd0aCA+IDApXG4gICAgICAgICAgICByZXQgKz0gdGhpcy53cml0ZShidWYpO1xuICAgIH1cblxuICAgIHRoaXMubm9kZUlkeCA9IDA7XG4gICAgcmV0dXJuIHJldDtcbn1cblxuLy8gQmluYXJ5IHNlYXJjaCBmb3IgR0IxODAzMC4gUmV0dXJucyBsYXJnZXN0IGkgc3VjaCB0aGF0IHRhYmxlW2ldIDw9IHZhbC5cbmZ1bmN0aW9uIGZpbmRJZHgodGFibGUsIHZhbCkge1xuICAgIGlmICh0YWJsZVswXSA+IHZhbClcbiAgICAgICAgcmV0dXJuIC0xO1xuXG4gICAgdmFyIGwgPSAwLCByID0gdGFibGUubGVuZ3RoO1xuICAgIHdoaWxlIChsIDwgci0xKSB7IC8vIGFsd2F5cyB0YWJsZVtsXSA8PSB2YWwgPCB0YWJsZVtyXVxuICAgICAgICB2YXIgbWlkID0gbCArIE1hdGguZmxvb3IoKHItbCsxKS8yKTtcbiAgICAgICAgaWYgKHRhYmxlW21pZF0gPD0gdmFsKVxuICAgICAgICAgICAgbCA9IG1pZDtcbiAgICAgICAgZWxzZVxuICAgICAgICAgICAgciA9IG1pZDtcbiAgICB9XG4gICAgcmV0dXJuIGw7XG59XG5cbiIsICJbXG5bXCIwXCIsXCJcXHUwMDAwXCIsMTI4XSxcbltcImExXCIsXCJcdUZGNjFcIiw2Ml0sXG5bXCI4MTQwXCIsXCJcdTMwMDBcdTMwMDFcdTMwMDJcdUZGMENcdUZGMEVcdTMwRkJcdUZGMUFcdUZGMUJcdUZGMUZcdUZGMDFcdTMwOUJcdTMwOUNcdTAwQjRcdUZGNDBcdTAwQThcdUZGM0VcdUZGRTNcdUZGM0ZcdTMwRkRcdTMwRkVcdTMwOURcdTMwOUVcdTMwMDNcdTRFRERcdTMwMDVcdTMwMDZcdTMwMDdcdTMwRkNcdTIwMTVcdTIwMTBcdUZGMEZcdUZGM0NcdUZGNUVcdTIyMjVcdUZGNUNcdTIwMjZcdTIwMjVcdTIwMThcdTIwMTlcdTIwMUNcdTIwMURcdUZGMDhcdUZGMDlcdTMwMTRcdTMwMTVcdUZGM0JcdUZGM0RcdUZGNUJcdUZGNURcdTMwMDhcIiw5LFwiXHVGRjBCXHVGRjBEXHUwMEIxXHUwMEQ3XCJdLFxuW1wiODE4MFwiLFwiXHUwMEY3XHVGRjFEXHUyMjYwXHVGRjFDXHVGRjFFXHUyMjY2XHUyMjY3XHUyMjFFXHUyMjM0XHUyNjQyXHUyNjQwXHUwMEIwXHUyMDMyXHUyMDMzXHUyMTAzXHVGRkU1XHVGRjA0XHVGRkUwXHVGRkUxXHVGRjA1XHVGRjAzXHVGRjA2XHVGRjBBXHVGRjIwXHUwMEE3XHUyNjA2XHUyNjA1XHUyNUNCXHUyNUNGXHUyNUNFXHUyNUM3XHUyNUM2XHUyNUExXHUyNUEwXHUyNUIzXHUyNUIyXHUyNUJEXHUyNUJDXHUyMDNCXHUzMDEyXHUyMTkyXHUyMTkwXHUyMTkxXHUyMTkzXHUzMDEzXCJdLFxuW1wiODFiOFwiLFwiXHUyMjA4XHUyMjBCXHUyMjg2XHUyMjg3XHUyMjgyXHUyMjgzXHUyMjJBXHUyMjI5XCJdLFxuW1wiODFjOFwiLFwiXHUyMjI3XHUyMjI4XHVGRkUyXHUyMUQyXHUyMUQ0XHUyMjAwXHUyMjAzXCJdLFxuW1wiODFkYVwiLFwiXHUyMjIwXHUyMkE1XHUyMzEyXHUyMjAyXHUyMjA3XHUyMjYxXHUyMjUyXHUyMjZBXHUyMjZCXHUyMjFBXHUyMjNEXHUyMjFEXHUyMjM1XHUyMjJCXHUyMjJDXCJdLFxuW1wiODFmMFwiLFwiXHUyMTJCXHUyMDMwXHUyNjZGXHUyNjZEXHUyNjZBXHUyMDIwXHUyMDIxXHUwMEI2XCJdLFxuW1wiODFmY1wiLFwiXHUyNUVGXCJdLFxuW1wiODI0ZlwiLFwiXHVGRjEwXCIsOV0sXG5bXCI4MjYwXCIsXCJcdUZGMjFcIiwyNV0sXG5bXCI4MjgxXCIsXCJcdUZGNDFcIiwyNV0sXG5bXCI4MjlmXCIsXCJcdTMwNDFcIiw4Ml0sXG5bXCI4MzQwXCIsXCJcdTMwQTFcIiw2Ml0sXG5bXCI4MzgwXCIsXCJcdTMwRTBcIiwyMl0sXG5bXCI4MzlmXCIsXCJcdTAzOTFcIiwxNixcIlx1MDNBM1wiLDZdLFxuW1wiODNiZlwiLFwiXHUwM0IxXCIsMTYsXCJcdTAzQzNcIiw2XSxcbltcIjg0NDBcIixcIlx1MDQxMFwiLDUsXCJcdTA0MDFcdTA0MTZcIiwyNV0sXG5bXCI4NDcwXCIsXCJcdTA0MzBcIiw1LFwiXHUwNDUxXHUwNDM2XCIsN10sXG5bXCI4NDgwXCIsXCJcdTA0M0VcIiwxN10sXG5bXCI4NDlmXCIsXCJcdTI1MDBcdTI1MDJcdTI1MENcdTI1MTBcdTI1MThcdTI1MTRcdTI1MUNcdTI1MkNcdTI1MjRcdTI1MzRcdTI1M0NcdTI1MDFcdTI1MDNcdTI1MEZcdTI1MTNcdTI1MUJcdTI1MTdcdTI1MjNcdTI1MzNcdTI1MkJcdTI1M0JcdTI1NEJcdTI1MjBcdTI1MkZcdTI1MjhcdTI1MzdcdTI1M0ZcdTI1MURcdTI1MzBcdTI1MjVcdTI1MzhcdTI1NDJcIl0sXG5bXCI4NzQwXCIsXCJcdTI0NjBcIiwxOSxcIlx1MjE2MFwiLDldLFxuW1wiODc1ZlwiLFwiXHUzMzQ5XHUzMzE0XHUzMzIyXHUzMzREXHUzMzE4XHUzMzI3XHUzMzAzXHUzMzM2XHUzMzUxXHUzMzU3XHUzMzBEXHUzMzI2XHUzMzIzXHUzMzJCXHUzMzRBXHUzMzNCXHUzMzlDXHUzMzlEXHUzMzlFXHUzMzhFXHUzMzhGXHUzM0M0XHUzM0ExXCJdLFxuW1wiODc3ZVwiLFwiXHUzMzdCXCJdLFxuW1wiODc4MFwiLFwiXHUzMDFEXHUzMDFGXHUyMTE2XHUzM0NEXHUyMTIxXHUzMkE0XCIsNCxcIlx1MzIzMVx1MzIzMlx1MzIzOVx1MzM3RVx1MzM3RFx1MzM3Q1x1MjI1Mlx1MjI2MVx1MjIyQlx1MjIyRVx1MjIxMVx1MjIxQVx1MjJBNVx1MjIyMFx1MjIxRlx1MjJCRlx1MjIzNVx1MjIyOVx1MjIyQVwiXSxcbltcIjg4OWZcIixcIlx1NEU5Q1x1NTUxNlx1NUEwM1x1OTYzRlx1NTRDMFx1NjExQlx1NjMyOFx1NTlGNlx1OTAyMlx1ODQ3NVx1ODMxQ1x1N0E1MFx1NjBBQVx1NjNFMVx1NkUyNVx1NjVFRFx1ODQ2Nlx1ODJBNlx1OUJGNVx1Njg5M1x1NTcyN1x1NjVBMVx1NjI3MVx1NUI5Qlx1NTlEMFx1ODY3Qlx1OThGNFx1N0Q2Mlx1N0RCRVx1OUI4RVx1NjIxNlx1N0M5Rlx1ODhCN1x1NUI4OVx1NUVCNVx1NjMwOVx1NjY5N1x1Njg0OFx1OTVDN1x1OTc4RFx1Njc0Rlx1NEVFNVx1NEYwQVx1NEY0RFx1NEY5RFx1NTA0OVx1NTZGMlx1NTkzN1x1NTlENFx1NUEwMVx1NUMwOVx1NjBERlx1NjEwRlx1NjE3MFx1NjYxM1x1NjkwNVx1NzBCQVx1NzU0Rlx1NzU3MFx1NzlGQlx1N0RBRFx1N0RFRlx1ODBDM1x1ODQwRVx1ODg2M1x1OEIwMlx1OTA1NVx1OTA3QVx1NTMzQlx1NEU5NVx1NEVBNVx1NTdERlx1ODBCMlx1OTBDMVx1NzhFRlx1NEUwMFx1NThGMVx1NkVBMlx1OTAzOFx1N0EzMlx1ODMyOFx1ODI4Qlx1OUMyRlx1NTE0MVx1NTM3MFx1NTRCRFx1NTRFMVx1NTZFMFx1NTlGQlx1NUYxNVx1OThGMlx1NkRFQlx1ODBFNFx1ODUyRFwiXSxcbltcIjg5NDBcIixcIlx1OTY2Mlx1OTY3MFx1OTZBMFx1OTdGQlx1NTQwQlx1NTNGM1x1NUI4N1x1NzBDRlx1N0ZCRFx1OEZDMlx1OTZFOFx1NTM2Rlx1OUQ1Q1x1N0FCQVx1NEUxMVx1Nzg5M1x1ODFGQ1x1NkUyNlx1NTYxOFx1NTUwNFx1NkIxRFx1ODUxQVx1OUMzQlx1NTlFNVx1NTNBOVx1NkQ2Nlx1NzREQ1x1OTU4Rlx1NTY0Mlx1NEU5MVx1OTA0Qlx1OTZGMlx1ODM0Rlx1OTkwQ1x1NTNFMVx1NTVCNlx1NUIzMFx1NUY3MVx1NjYyMFx1NjZGM1x1NjgwNFx1NkMzOFx1NkNGM1x1NkQyOVx1NzQ1Qlx1NzZDOFx1N0E0RVx1OTgzNFx1ODJGMVx1ODg1Qlx1OEE2MFx1OTJFRFx1NkRCMlx1NzVBQlx1NzZDQVx1OTlDNVx1NjBBNlx1OEIwMVx1OEQ4QVx1OTVCMlx1Njk4RVx1NTNBRFx1NTE4NlwiXSxcbltcIjg5ODBcIixcIlx1NTcxMlx1NTgzMFx1NTk0NFx1NUJCNFx1NUVGNlx1NjAyOFx1NjNBOVx1NjNGNFx1NkNCRlx1NkYxNFx1NzA4RVx1NzExNFx1NzE1OVx1NzFENVx1NzMzRlx1N0UwMVx1ODI3Nlx1ODJEMVx1ODU5N1x1OTA2MFx1OTI1Qlx1OUQxQlx1NTg2OVx1NjVCQ1x1NkM1QVx1NzUyNVx1NTFGOVx1NTkyRVx1NTk2NVx1NUY4MFx1NUZEQ1x1NjJCQ1x1NjVGQVx1NkEyQVx1NkIyN1x1NkJCNFx1NzM4Qlx1N0ZDMVx1ODk1Nlx1OUQyQ1x1OUQwRVx1OUVDNFx1NUNBMVx1NkM5Nlx1ODM3Qlx1NTEwNFx1NUM0Qlx1NjFCNlx1ODFDNlx1Njg3Nlx1NzI2MVx1NEU1OVx1NEZGQVx1NTM3OFx1NjA2OVx1NkUyOVx1N0E0Rlx1OTdGM1x1NEUwQlx1NTMxNlx1NEVFRVx1NEY1NVx1NEYzRFx1NEZBMVx1NEY3M1x1NTJBMFx1NTNFRlx1NTYwOVx1NTkwRlx1NUFDMVx1NUJCNlx1NUJFMVx1NzlEMVx1NjY4N1x1Njc5Q1x1NjdCNlx1NkI0Q1x1NkNCM1x1NzA2Qlx1NzNDMlx1Nzk4RFx1NzlCRVx1N0EzQ1x1N0I4N1x1ODJCMVx1ODJEQlx1ODMwNFx1ODM3N1x1ODNFRlx1ODNEM1x1ODc2Nlx1OEFCMlx1NTYyOVx1OENBOFx1OEZFNlx1OTA0RVx1OTcxRVx1ODY4QVx1NEZDNFx1NUNFOFx1NjIxMVx1NzI1OVx1NzUzQlx1ODFFNVx1ODJCRFx1ODZGRVx1OENDMFx1OTZDNVx1OTkxM1x1OTlENVx1NEVDQlx1NEYxQVx1ODlFM1x1NTZERVx1NTg0QVx1NThDQVx1NUVGQlx1NUZFQlx1NjAyQVx1NjA5NFx1NjA2Mlx1NjFEMFx1NjIxMlx1NjJEMFx1NjUzOVwiXSxcbltcIjhhNDBcIixcIlx1OUI0MVx1NjY2Nlx1NjhCMFx1NkQ3N1x1NzA3MFx1NzU0Q1x1NzY4Nlx1N0Q3NVx1ODJBNVx1ODdGOVx1OTU4Qlx1OTY4RVx1OEM5RFx1NTFGMVx1NTJCRVx1NTkxNlx1NTRCM1x1NUJCM1x1NUQxNlx1NjE2OFx1Njk4Mlx1NkRBRlx1Nzg4RFx1ODRDQlx1ODg1N1x1OEE3Mlx1OTNBN1x1OUFCOFx1NkQ2Q1x1OTlBOFx1ODZEOVx1NTdBM1x1NjdGRlx1ODZDRVx1OTIwRVx1NTI4M1x1NTY4N1x1NTQwNFx1NUVEM1x1NjJFMVx1NjRCOVx1NjgzQ1x1NjgzOFx1NkJCQlx1NzM3Mlx1NzhCQVx1N0E2Qlx1ODk5QVx1ODlEMlx1OEQ2Qlx1OEYwM1x1OTBFRFx1OTVBM1x1OTY5NFx1OTc2OVx1NUI2Nlx1NUNCM1x1Njk3RFx1OTg0RFx1OTg0RVx1NjM5Qlx1N0IyMFx1NkEyQlwiXSxcbltcIjhhODBcIixcIlx1NkE3Rlx1NjhCNlx1OUMwRFx1NkY1Rlx1NTI3Mlx1NTU5RFx1NjA3MFx1NjJFQ1x1NkQzQlx1NkUwN1x1NkVEMVx1ODQ1Qlx1ODkxMFx1OEY0NFx1NEUxNFx1OUMzOVx1NTNGNlx1NjkxQlx1NkEzQVx1OTc4NFx1NjgyQVx1NTE1Q1x1N0FDM1x1ODRCMlx1OTFEQ1x1OTM4Q1x1NTY1Qlx1OUQyOFx1NjgyMlx1ODMwNVx1ODQzMVx1N0NBNVx1NTIwOFx1ODJDNVx1NzRFNlx1NEU3RVx1NEY4M1x1NTFBMFx1NUJEMlx1NTIwQVx1NTJEOFx1NTJFN1x1NURGQlx1NTU5QVx1NTgyQVx1NTlFNlx1NUI4Q1x1NUI5OFx1NUJEQlx1NUU3Mlx1NUU3OVx1NjBBM1x1NjExRlx1NjE2M1x1NjFCRVx1NjNEQlx1NjU2Mlx1NjdEMVx1Njg1M1x1NjhGQVx1NkIzRVx1NkI1M1x1NkM1N1x1NkYyMlx1NkY5N1x1NkY0NVx1NzRCMFx1NzUxOFx1NzZFM1x1NzcwQlx1N0FGRlx1N0JBMVx1N0MyMVx1N0RFOVx1N0YzNlx1N0ZGMFx1ODA5RFx1ODI2Nlx1ODM5RVx1ODlCM1x1OEFDQ1x1OENBQlx1OTA4NFx1OTQ1MVx1OTU5M1x1OTU5MVx1OTVBMlx1OTY2NVx1OTdEM1x1OTkyOFx1ODIxOFx1NEUzOFx1NTQyQlx1NUNCOFx1NURDQ1x1NzNBOVx1NzY0Q1x1NzczQ1x1NUNBOVx1N0ZFQlx1OEQwQlx1OTZDMVx1OTgxMVx1OTg1NFx1OTg1OFx1NEYwMVx1NEYwRVx1NTM3MVx1NTU5Q1x1NTY2OFx1NTdGQVx1NTk0N1x1NUIwOVx1NUJDNFx1NUM5MFx1NUUwQ1x1NUU3RVx1NUZDQ1x1NjNFRVx1NjczQVx1NjVEN1x1NjVFMlx1NjcxRlx1NjhDQlx1NjhDNFwiXSxcbltcIjhiNDBcIixcIlx1NkE1Rlx1NUUzMFx1NkJDNVx1NkMxN1x1NkM3RFx1NzU3Rlx1Nzk0OFx1NUI2M1x1N0EwMFx1N0QwMFx1NUZCRFx1ODk4Rlx1OEExOFx1OENCNFx1OEQ3N1x1OEVDQ1x1OEYxRFx1OThFMlx1OUEwRVx1OUIzQ1x1NEU4MFx1NTA3RFx1NTEwMFx1NTk5M1x1NUI5Q1x1NjIyRlx1NjI4MFx1NjRFQ1x1NkIzQVx1NzJBMFx1NzU5MVx1Nzk0N1x1N0ZBOVx1ODdGQlx1OEFCQ1x1OEI3MFx1NjNBQ1x1ODNDQVx1OTdBMFx1NTQwOVx1NTQwM1x1NTVBQlx1Njg1NFx1NkE1OFx1OEE3MFx1NzgyN1x1Njc3NVx1OUVDRFx1NTM3NFx1NUJBMlx1ODExQVx1ODY1MFx1OTAwNlx1NEUxOFx1NEU0NVx1NEVDN1x1NEYxMVx1NTNDQVx1NTQzOFx1NUJBRVx1NUYxM1x1NjAyNVx1NjU1MVwiXSxcbltcIjhiODBcIixcIlx1NjczRFx1NkM0Mlx1NkM3Mlx1NkNFM1x1NzA3OFx1NzQwM1x1N0E3Nlx1N0FBRVx1N0IwOFx1N0QxQVx1N0NGRVx1N0Q2Nlx1NjVFN1x1NzI1Qlx1NTNCQlx1NUM0NVx1NURFOFx1NjJEMlx1NjJFMFx1NjMxOVx1NkUyMFx1ODY1QVx1OEEzMVx1OERERFx1OTJGOFx1NkYwMVx1NzlBNlx1OUI1QVx1NEVBOFx1NEVBQlx1NEVBQ1x1NEY5Qlx1NEZBMFx1NTBEMVx1NTE0N1x1N0FGNlx1NTE3MVx1NTFGNlx1NTM1NFx1NTMyMVx1NTM3Rlx1NTNFQlx1NTVBQ1x1NTg4M1x1NUNFMVx1NUYzN1x1NUY0QVx1NjAyRlx1NjA1MFx1NjA2RFx1NjMxRlx1NjU1OVx1NkE0Qlx1NkNDMVx1NzJDMlx1NzJFRFx1NzdFRlx1ODBGOFx1ODEwNVx1ODIwOFx1ODU0RVx1OTBGN1x1OTNFMVx1OTdGRlx1OTk1N1x1OUE1QVx1NEVGMFx1NTFERFx1NUMyRFx1NjY4MVx1Njk2RFx1NUM0MFx1NjZGMlx1Njk3NVx1NzM4OVx1Njg1MFx1N0M4MVx1NTBDNVx1NTJFNFx1NTc0N1x1NURGRVx1OTMyNlx1NjVBNFx1NkIyM1x1NkIzRFx1NzQzNFx1Nzk4MVx1NzlCRFx1N0I0Qlx1N0RDQVx1ODJCOVx1ODNDQ1x1ODg3Rlx1ODk1Rlx1OEIzOVx1OEZEMVx1OTFEMVx1NTQxRlx1OTI4MFx1NEU1RFx1NTAzNlx1NTNFNVx1NTMzQVx1NzJEN1x1NzM5Nlx1NzdFOVx1ODJFNlx1OEVBRlx1OTlDNlx1OTlDOFx1OTlEMlx1NTE3N1x1NjExQVx1ODY1RVx1NTVCMFx1N0E3QVx1NTA3Nlx1NUJEM1x1OTA0N1x1OTY4NVx1NEUzMlx1NkFEQlx1OTFFN1x1NUM1MVx1NUM0OFwiXSxcbltcIjhjNDBcIixcIlx1NjM5OFx1N0E5Rlx1NkM5M1x1OTc3NFx1OEY2MVx1N0FBQVx1NzE4QVx1OTY4OFx1N0M4Mlx1NjgxN1x1N0U3MFx1Njg1MVx1OTM2Q1x1NTJGMlx1NTQxQlx1ODVBQlx1OEExM1x1N0ZBNFx1OEVDRFx1OTBFMVx1NTM2Nlx1ODg4OFx1Nzk0MVx1NEZDMlx1NTBCRVx1NTIxMVx1NTE0NFx1NTU1M1x1NTcyRFx1NzNFQVx1NTc4Qlx1NTk1MVx1NUY2Mlx1NUY4NFx1NjA3NVx1NjE3Nlx1NjE2N1x1NjFBOVx1NjNCMlx1NjQzQVx1NjU2Q1x1NjY2Rlx1Njg0Mlx1NkUxM1x1NzU2Nlx1N0EzRFx1N0NGQlx1N0Q0Q1x1N0Q5OVx1N0U0Qlx1N0Y2Qlx1ODMwRVx1ODM0QVx1ODZDRFx1OEEwOFx1OEE2M1x1OEI2Nlx1OEVGRFx1OTgxQVx1OUQ4Rlx1ODJCOFx1OEZDRVx1OUJFOFwiXSxcbltcIjhjODBcIixcIlx1NTI4N1x1NjIxRlx1NjQ4M1x1NkZDMFx1OTY5OVx1Njg0MVx1NTA5MVx1NkIyMFx1NkM3QVx1NkY1NFx1N0E3NFx1N0Q1MFx1ODg0MFx1OEEyM1x1NjcwOFx1NEVGNlx1NTAzOVx1NTAyNlx1NTA2NVx1NTE3Q1x1NTIzOFx1NTI2M1x1NTVBN1x1NTcwRlx1NTgwNVx1NUFDQ1x1NUVGQVx1NjFCMlx1NjFGOFx1NjJGM1x1NjM3Mlx1NjkxQ1x1NkEyOVx1NzI3RFx1NzJBQ1x1NzMyRVx1NzgxNFx1Nzg2Rlx1N0Q3OVx1NzcwQ1x1ODBBOVx1ODk4Qlx1OEIxOVx1OENFMlx1OEVEMlx1OTA2M1x1OTM3NVx1OTY3QVx1OTg1NVx1OUExM1x1OUU3OFx1NTE0M1x1NTM5Rlx1NTNCM1x1NUU3Qlx1NUYyNlx1NkUxQlx1NkU5MFx1NzM4NFx1NzNGRVx1N0Q0M1x1ODIzN1x1OEEwMFx1OEFGQVx1OTY1MFx1NEU0RVx1NTAwQlx1NTNFNFx1NTQ3Q1x1NTZGQVx1NTlEMVx1NUI2NFx1NURGMVx1NUVBQlx1NUYyN1x1NjIzOFx1NjU0NVx1NjdBRlx1NkU1Nlx1NzJEMFx1N0NDQVx1ODhCNFx1ODBBMVx1ODBFMVx1ODNGMFx1ODY0RVx1OEE4N1x1OERFOFx1OTIzN1x1OTZDN1x1OTg2N1x1OUYxM1x1NEU5NFx1NEU5Mlx1NEYwRFx1NTM0OFx1NTQ0OVx1NTQzRVx1NUEyRlx1NUY4Q1x1NUZBMVx1NjA5Rlx1NjhBN1x1NkE4RVx1NzQ1QVx1Nzg4MVx1OEE5RVx1OEFBNFx1OEI3N1x1OTE5MFx1NEU1RVx1OUJDOVx1NEVBNFx1NEY3Q1x1NEZBRlx1NTAxOVx1NTAxNlx1NTE0OVx1NTE2Q1x1NTI5Rlx1NTJCOVx1NTJGRVx1NTM5QVx1NTNFM1x1NTQxMVwiXSxcbltcIjhkNDBcIixcIlx1NTQwRVx1NTU4OVx1NTc1MVx1NTdBMlx1NTk3RFx1NUI1NFx1NUI1RFx1NUI4Rlx1NURFNVx1NURFN1x1NURGN1x1NUU3OFx1NUU4M1x1NUU5QVx1NUVCN1x1NUYxOFx1NjA1Mlx1NjE0Q1x1NjI5N1x1NjJEOFx1NjNBN1x1NjUzQlx1NjYwMlx1NjY0M1x1NjZGNFx1Njc2RFx1NjgyMVx1Njg5N1x1NjlDQlx1NkM1Rlx1NkQyQVx1NkQ2OVx1NkUyRlx1NkU5RFx1NzUzMlx1NzY4N1x1Nzg2Q1x1N0EzRlx1N0NFMFx1N0QwNVx1N0QxOFx1N0Q1RVx1N0RCMVx1ODAxNVx1ODAwM1x1ODBBRlx1ODBCMVx1ODE1NFx1ODE4Rlx1ODIyQVx1ODM1Mlx1ODg0Q1x1ODg2MVx1OEIxQlx1OENBMlx1OENGQ1x1OTBDQVx1OTE3NVx1OTI3MVx1NzgzRlx1OTJGQ1x1OTVBNFx1OTY0RFwiXSxcbltcIjhkODBcIixcIlx1OTgwNVx1OTk5OVx1OUFEOFx1OUQzQlx1NTI1Qlx1NTJBQlx1NTNGN1x1NTQwOFx1NThENVx1NjJGN1x1NkZFMFx1OEM2QVx1OEY1Rlx1OUVCOVx1NTE0Qlx1NTIzQlx1NTQ0QVx1NTZGRFx1N0E0MFx1OTE3N1x1OUQ2MFx1OUVEMlx1NzM0NFx1NkYwOVx1ODE3MFx1NzUxMVx1NUZGRFx1NjBEQVx1OUFBOFx1NzJEQlx1OEZCQ1x1NkI2NFx1OTgwM1x1NEVDQVx1NTZGMFx1NTc2NFx1NThCRVx1NUE1QVx1NjA2OFx1NjFDN1x1NjYwRlx1NjYwNlx1NjgzOVx1NjhCMVx1NkRGN1x1NzVENVx1N0QzQVx1ODI2RVx1OUI0Mlx1NEU5Qlx1NEY1MFx1NTNDOVx1NTUwNlx1NUQ2Rlx1NURFNlx1NURFRVx1NjdGQlx1NkM5OVx1NzQ3M1x1NzgwMlx1OEE1MFx1OTM5Nlx1ODhERlx1NTc1MFx1NUVBN1x1NjMyQlx1NTBCNVx1NTBBQ1x1NTE4RFx1NjcwMFx1NTRDOVx1NTg1RVx1NTlCQlx1NUJCMFx1NUY2OVx1NjI0RFx1NjNBMVx1NjgzRFx1NkI3M1x1NkUwOFx1NzA3RFx1OTFDN1x1NzI4MFx1NzgxNVx1NzgyNlx1Nzk2RFx1NjU4RVx1N0QzMFx1ODNEQ1x1ODhDMVx1OEYwOVx1OTY5Qlx1NTI2NFx1NTcyOFx1Njc1MFx1N0Y2QVx1OENBMVx1NTFCNFx1NTc0Mlx1OTYyQVx1NTgzQVx1Njk4QVx1ODBCNFx1NTRCMlx1NUQwRVx1NTdGQ1x1Nzg5NVx1OURGQVx1NEY1Q1x1NTI0QVx1NTQ4Qlx1NjQzRVx1NjYyOFx1NjcxNFx1NjdGNVx1N0E4NFx1N0I1Nlx1N0QyMlx1OTMyRlx1Njg1Q1x1OUJBRFx1N0IzOVx1NTMxOVx1NTE4QVx1NTIzN1wiXSxcbltcIjhlNDBcIixcIlx1NUJERlx1NjJGNlx1NjRBRVx1NjRFNlx1NjcyRFx1NkJCQVx1ODVBOVx1OTZEMVx1NzY5MFx1OUJENlx1NjM0Q1x1OTMwNlx1OUJBQlx1NzZCRlx1NjY1Mlx1NEUwOVx1NTA5OFx1NTNDMlx1NUM3MVx1NjBFOFx1NjQ5Mlx1NjU2M1x1Njg1Rlx1NzFFNlx1NzNDQVx1NzUyM1x1N0I5N1x1N0U4Mlx1ODY5NVx1OEI4M1x1OENEQlx1OTE3OFx1OTkxMFx1NjVBQ1x1NjZBQlx1NkI4Qlx1NEVENVx1NEVENFx1NEYzQVx1NEY3Rlx1NTIzQVx1NTNGOFx1NTNGMlx1NTVFM1x1NTZEQlx1NThFQlx1NTlDQlx1NTlDOVx1NTlGRlx1NUI1MFx1NUM0RFx1NUUwMlx1NUUyQlx1NUZEN1x1NjAxRFx1NjMwN1x1NjUyRlx1NUI1Q1x1NjVBRlx1NjVCRFx1NjVFOFx1Njc5RFx1NkI2MlwiXSxcbltcIjhlODBcIixcIlx1NkI3Qlx1NkMwRlx1NzM0NVx1Nzk0OVx1NzlDMVx1N0NGOFx1N0QxOVx1N0QyQlx1ODBBMlx1ODEwMlx1ODFGM1x1ODk5Nlx1OEE1RVx1OEE2OVx1OEE2Nlx1OEE4Q1x1OEFFRVx1OENDN1x1OENEQ1x1OTZDQ1x1OThGQ1x1NkI2Rlx1NEU4Qlx1NEYzQ1x1NEY4RFx1NTE1MFx1NUI1N1x1NUJGQVx1NjE0OFx1NjMwMVx1NjY0Mlx1NkIyMVx1NkVDQlx1NkNCQlx1NzIzRVx1NzRCRFx1NzVENFx1NzhDMVx1NzkzQVx1ODAwQ1x1ODAzM1x1ODFFQVx1ODQ5NFx1OEY5RVx1NkM1MFx1OUU3Rlx1NUYwRlx1OEI1OFx1OUQyQlx1N0FGQVx1OEVGOFx1NUI4RFx1OTZFQlx1NEUwM1x1NTNGMVx1NTdGN1x1NTkzMVx1NUFDOVx1NUJBNFx1NjA4OVx1NkU3Rlx1NkYwNlx1NzVCRVx1OENFQVx1NUI5Rlx1ODUwMFx1N0JFMFx1NTA3Mlx1NjdGNFx1ODI5RFx1NUM2MVx1ODU0QVx1N0UxRVx1ODIwRVx1NTE5OVx1NUMwNFx1NjM2OFx1OEQ2Nlx1NjU5Q1x1NzE2RVx1NzkzRVx1N0QxN1x1ODAwNVx1OEIxRFx1OEVDQVx1OTA2RVx1ODZDN1x1OTBBQVx1NTAxRlx1NTJGQVx1NUMzQVx1Njc1M1x1NzA3Q1x1NzIzNVx1OTE0Q1x1OTFDOFx1OTMyQlx1ODJFNVx1NUJDMlx1NUYzMVx1NjBGOVx1NEUzQlx1NTNENlx1NUI4OFx1NjI0Qlx1NjczMVx1NkI4QVx1NzJFOVx1NzNFMFx1N0EyRVx1ODE2Qlx1OERBM1x1OTE1Mlx1OTk5Nlx1NTExMlx1NTNEN1x1NTQ2QVx1NUJGRlx1NjM4OFx1NkEzOVx1N0RBQ1x1OTcwMFx1NTZEQVx1NTNDRVx1NTQ2OFwiXSxcbltcIjhmNDBcIixcIlx1NUI5N1x1NUMzMVx1NURERVx1NEZFRVx1NjEwMVx1NjJGRVx1NkQzMlx1NzlDMFx1NzlDQlx1N0Q0Mlx1N0U0RFx1N0ZEMlx1ODFFRFx1ODIxRlx1ODQ5MFx1ODg0Nlx1ODk3Mlx1OEI5MFx1OEU3NFx1OEYyRlx1OTAzMVx1OTE0Qlx1OTE2Q1x1OTZDNlx1OTE5Q1x1NEVDMFx1NEY0Rlx1NTE0NVx1NTM0MVx1NUY5M1x1NjIwRVx1NjdENFx1NkM0MVx1NkUwQlx1NzM2M1x1N0UyNlx1OTFDRFx1OTI4M1x1NTNENFx1NTkxOVx1NUJCRlx1NkREMVx1Nzk1RFx1N0UyRVx1N0M5Qlx1NTg3RVx1NzE5Rlx1NTFGQVx1ODg1M1x1OEZGMFx1NEZDQVx1NUNGQlx1NjYyNVx1NzdBQ1x1N0FFM1x1ODIxQ1x1OTlGRlx1NTFDNlx1NUZBQVx1NjVFQ1x1Njk2Rlx1NkI4OVx1NkRGM1wiXSxcbltcIjhmODBcIixcIlx1NkU5Nlx1NkY2NFx1NzZGRVx1N0QxNFx1NURFMVx1OTA3NVx1OTE4N1x1OTgwNlx1NTFFNlx1NTIxRFx1NjI0MFx1NjY5MVx1NjZEOVx1NkUxQVx1NUVCNlx1N0REMlx1N0Y3Mlx1NjZGOFx1ODVBRlx1ODVGN1x1OEFGOFx1NTJBOVx1NTNEOVx1NTk3M1x1NUU4Rlx1NUY5MFx1NjA1NVx1OTJFNFx1OTY2NFx1NTBCN1x1NTExRlx1NTJERFx1NTMyMFx1NTM0N1x1NTNFQ1x1NTRFOFx1NTU0Nlx1NTUzMVx1NTYxN1x1NTk2OFx1NTlCRVx1NUEzQ1x1NUJCNVx1NUMwNlx1NUMwRlx1NUMxMVx1NUMxQVx1NUU4NFx1NUU4QVx1NUVFMFx1NUY3MFx1NjI3Rlx1NjI4NFx1NjJEQlx1NjM4Q1x1NjM3N1x1NjYwN1x1NjYwQ1x1NjYyRFx1NjY3Nlx1Njc3RVx1NjhBMlx1NkExRlx1NkEzNVx1NkNCQ1x1NkQ4OFx1NkUwOVx1NkU1OFx1NzEzQ1x1NzEyNlx1NzE2N1x1NzVDN1x1NzcwMVx1Nzg1RFx1NzkwMVx1Nzk2NVx1NzlGMFx1N0FFMFx1N0IxMVx1N0NBN1x1N0QzOVx1ODA5Nlx1ODNENlx1ODQ4Qlx1ODU0OVx1ODg1RFx1ODhGM1x1OEExRlx1OEEzQ1x1OEE1NFx1OEE3M1x1OEM2MVx1OENERVx1OTFBNFx1OTI2Nlx1OTM3RVx1OTQxOFx1OTY5Q1x1OTc5OFx1NEUwQVx1NEUwOFx1NEUxRVx1NEU1N1x1NTE5N1x1NTI3MFx1NTdDRVx1NTgzNFx1NThDQ1x1NUIyMlx1NUUzOFx1NjBDNVx1NjRGRVx1Njc2MVx1Njc1Nlx1NkQ0NFx1NzJCNlx1NzU3M1x1N0E2M1x1ODRCOFx1OEI3Mlx1OTFCOFx1OTMyMFx1NTYzMVx1NTdGNFx1OThGRVwiXSxcbltcIjkwNDBcIixcIlx1NjJFRFx1NjkwRFx1NkI5Nlx1NzFFRFx1N0U1NFx1ODA3N1x1ODI3Mlx1ODlFNlx1OThERlx1ODc1NVx1OEZCMVx1NUMzQlx1NEYzOFx1NEZFMVx1NEZCNVx1NTUwN1x1NUEyMFx1NUJERFx1NUJFOVx1NUZDM1x1NjE0RVx1NjMyRlx1NjVCMFx1NjY0Qlx1NjhFRVx1Njk5Qlx1NkQ3OFx1NkRGMVx1NzUzM1x1NzVCOVx1NzcxRlx1Nzk1RVx1NzlFNlx1N0QzM1x1ODFFM1x1ODJBRlx1ODVBQVx1ODlBQVx1OEEzQVx1OEVBQlx1OEY5Qlx1OTAzMlx1OTFERFx1OTcwN1x1NEVCQVx1NEVDMVx1NTIwM1x1NTg3NVx1NThFQ1x1NUMwQlx1NzUxQVx1NUMzRFx1ODE0RVx1OEEwQVx1OEZDNVx1OTY2M1x1OTc2RFx1N0IyNVx1OEFDRlx1OTgwOFx1OTE2Mlx1NTZGM1x1NTNBOFwiXSxcbltcIjkwODBcIixcIlx1OTAxN1x1NTQzOVx1NTc4Mlx1NUUyNVx1NjNBOFx1NkMzNFx1NzA4QVx1Nzc2MVx1N0M4Qlx1N0ZFMFx1ODg3MFx1OTA0Mlx1OTE1NFx1OTMxMFx1OTMxOFx1OTY4Rlx1NzQ1RVx1OUFDNFx1NUQwN1x1NUQ2OVx1NjU3MFx1NjdBMlx1OERBOFx1OTZEQlx1NjM2RVx1Njc0OVx1NjkxOVx1ODNDNVx1OTgxN1x1OTZDMFx1ODhGRVx1NkY4NFx1NjQ3QVx1NUJGOFx1NEUxNlx1NzAyQ1x1NzU1RFx1NjYyRlx1NTFDNFx1NTIzNlx1NTJFMlx1NTlEM1x1NUY4MVx1NjAyN1x1NjIxMFx1NjUzRlx1NjU3NFx1NjYxRlx1NjY3NFx1NjhGMlx1NjgxNlx1NkI2M1x1NkUwNVx1NzI3Mlx1NzUxRlx1NzZEQlx1N0NCRVx1ODA1Nlx1NThGMFx1ODhGRFx1ODk3Rlx1OEFBMFx1OEE5M1x1OEFDQlx1OTAxRFx1OTE5Mlx1OTc1Mlx1OTc1OVx1NjU4OVx1N0EwRVx1ODEwNlx1OTZCQlx1NUUyRFx1NjBEQ1x1NjIxQVx1NjVBNVx1NjYxNFx1Njc5MFx1NzdGM1x1N0E0RFx1N0M0RFx1N0UzRVx1ODEwQVx1OENBQ1x1OEQ2NFx1OERFMVx1OEU1Rlx1NzhBOVx1NTIwN1x1NjJEOVx1NjNBNVx1NjQ0Mlx1NjI5OFx1OEEyRFx1N0E4M1x1N0JDMFx1OEFBQ1x1OTZFQVx1N0Q3Nlx1ODIwQ1x1ODc0OVx1NEVEOVx1NTE0OFx1NTM0M1x1NTM2MFx1NUJBM1x1NUMwMlx1NUMxNlx1NURERFx1NjIyNlx1NjI0N1x1NjRCMFx1NjgxM1x1NjgzNFx1NkNDOVx1NkQ0NVx1NkQxN1x1NjdEM1x1NkY1Q1x1NzE0RVx1NzE3RFx1NjVDQlx1N0E3Rlx1N0JBRFx1N0REQVwiXSxcbltcIjkxNDBcIixcIlx1N0U0QVx1N0ZBOFx1ODE3QVx1ODIxQlx1ODIzOVx1ODVBNlx1OEE2RVx1OENDRVx1OERGNVx1OTA3OFx1OTA3N1x1OTJBRFx1OTI5MVx1OTU4M1x1OUJBRVx1NTI0RFx1NTU4NFx1NkYzOFx1NzEzNlx1NTE2OFx1Nzk4NVx1N0U1NVx1ODFCM1x1N0NDRVx1NTY0Q1x1NTg1MVx1NUNBOFx1NjNBQVx1NjZGRVx1NjZGRFx1Njk1QVx1NzJEOVx1NzU4Rlx1NzU4RVx1NzkwRVx1Nzk1Nlx1NzlERlx1N0M5N1x1N0QyMFx1N0Q0NFx1ODYwN1x1OEEzNFx1OTYzQlx1OTA2MVx1OUYyMFx1NTBFN1x1NTI3NVx1NTNDQ1x1NTNFMlx1NTAwOVx1NTVBQVx1NThFRVx1NTk0Rlx1NzIzRFx1NUI4Qlx1NUM2NFx1NTMxRFx1NjBFM1x1NjBGM1x1NjM1Q1x1NjM4M1x1NjMzRlx1NjNCQlwiXSxcbltcIjkxODBcIixcIlx1NjRDRFx1NjVFOVx1NjZGOVx1NURFM1x1NjlDRFx1NjlGRFx1NkYxNVx1NzFFNVx1NEU4OVx1NzVFOVx1NzZGOFx1N0E5M1x1N0NERlx1N0RDRlx1N0Q5Q1x1ODA2MVx1ODM0OVx1ODM1OFx1ODQ2Q1x1ODRCQ1x1ODVGQlx1ODhDNVx1OEQ3MFx1OTAwMVx1OTA2RFx1OTM5N1x1OTcxQ1x1OUExMlx1NTBDRlx1NTg5N1x1NjE4RVx1ODFEM1x1ODUzNVx1OEQwOFx1OTAyMFx1NEZDM1x1NTA3NFx1NTI0N1x1NTM3M1x1NjA2Rlx1NjM0OVx1Njc1Rlx1NkUyQ1x1OERCM1x1OTAxRlx1NEZEN1x1NUM1RVx1OENDQVx1NjVDRlx1N0Q5QVx1NTM1Mlx1ODg5Nlx1NTE3Nlx1NjNDM1x1NUI1OFx1NUI2Qlx1NUMwQVx1NjQwRFx1Njc1MVx1OTA1Q1x1NEVENlx1NTkxQVx1NTkyQVx1NkM3MFx1OEE1MVx1NTUzRVx1NTgxNVx1NTlBNVx1NjBGMFx1NjI1M1x1NjdDMVx1ODIzNVx1Njk1NVx1OTY0MFx1OTlDNFx1OUEyOFx1NEY1M1x1NTgwNlx1NUJGRVx1ODAxMFx1NUNCMVx1NUUyRlx1NUY4NVx1NjAyMFx1NjE0Qlx1NjIzNFx1NjZGRlx1NkNGMFx1NkVERVx1ODBDRVx1ODE3Rlx1ODJENFx1ODg4Qlx1OENCOFx1OTAwMFx1OTAyRVx1OTY4QVx1OUVEQlx1OUJEQlx1NEVFM1x1NTNGMFx1NTkyN1x1N0IyQ1x1OTE4RFx1OTg0Q1x1OURGOVx1NkVERFx1NzAyN1x1NTM1M1x1NTU0NFx1NUI4NVx1NjI1OFx1NjI5RVx1NjJEM1x1NkNBMlx1NkZFRlx1NzQyMlx1OEExN1x1OTQzOFx1NkZDMVx1OEFGRVx1ODMzOFx1NTFFN1x1ODZGOFx1NTNFQVwiXSxcbltcIjkyNDBcIixcIlx1NTNFOVx1NEY0Nlx1OTA1NFx1OEZCMFx1NTk2QVx1ODEzMVx1NURGRFx1N0FFQVx1OEZCRlx1NjhEQVx1OEMzN1x1NzJGOFx1OUM0OFx1NkEzRFx1OEFCMFx1NEUzOVx1NTM1OFx1NTYwNlx1NTc2Nlx1NjJDNVx1NjNBMlx1NjVFNlx1NkI0RVx1NkRFMVx1NkU1Qlx1NzBBRFx1NzdFRFx1N0FFRlx1N0JBQVx1N0RCQlx1ODAzRFx1ODBDNlx1ODZDQlx1OEE5NVx1OTM1Qlx1NTZFM1x1NThDN1x1NUYzRVx1NjVBRFx1NjY5Nlx1NkE4MFx1NkJCNVx1NzUzN1x1OEFDN1x1NTAyNFx1NzdFNVx1NTczMFx1NUYxQlx1NjA2NVx1NjY3QVx1NkM2MFx1NzVGNFx1N0ExQVx1N0Y2RVx1ODFGNFx1ODcxOFx1OTA0NVx1OTlCM1x1N0JDOVx1NzU1Q1x1N0FGOVx1N0I1MVx1ODRDNFwiXSxcbltcIjkyODBcIixcIlx1OTAxMFx1NzlFOVx1N0E5Mlx1ODMzNlx1NUFFMVx1Nzc0MFx1NEUyRFx1NEVGMlx1NUI5OVx1NUZFMFx1NjJCRFx1NjYzQ1x1NjdGMVx1NkNFOFx1ODY2Qlx1ODg3N1x1OEEzQlx1OTE0RVx1OTJGM1x1OTlEMFx1NkExN1x1NzAyNlx1NzMyQVx1ODJFN1x1ODQ1N1x1OENBRlx1NEUwMVx1NTE0Nlx1NTFDQlx1NTU4Qlx1NUJGNVx1NUUxNlx1NUUzM1x1NUU4MVx1NUYxNFx1NUYzNVx1NUY2Qlx1NUZCNFx1NjFGMlx1NjMxMVx1NjZBMlx1NjcxRFx1NkY2RVx1NzI1Mlx1NzUzQVx1NzczQVx1ODA3NFx1ODEzOVx1ODE3OFx1ODc3Nlx1OEFCRlx1OEFEQ1x1OEQ4NVx1OERGM1x1OTI5QVx1OTU3N1x1OTgwMlx1OUNFNVx1NTJDNVx1NjM1N1x1NzZGNFx1NjcxNVx1NkM4OFx1NzNDRFx1OENDM1x1OTNBRVx1OTY3M1x1NkQyNVx1NTg5Q1x1NjkwRVx1NjlDQ1x1OEZGRFx1OTM5QVx1NzVEQlx1OTAxQVx1NTg1QVx1NjgwMlx1NjNCNFx1NjlGQlx1NEY0M1x1NkYyQ1x1NjdEOFx1OEZCQlx1ODUyNlx1N0RCNFx1OTM1NFx1NjkzRlx1NkY3MFx1NTc2QVx1NThGN1x1NUIyQ1x1N0QyQ1x1NzIyQVx1NTQwQVx1OTFFM1x1OURCNFx1NEVBRFx1NEY0RVx1NTA1Q1x1NTA3NVx1NTI0M1x1OEM5RVx1NTQ0OFx1NTgyNFx1NUI5QVx1NUUxRFx1NUU5NVx1NUVBRFx1NUVGN1x1NUYxRlx1NjA4Q1x1NjJCNVx1NjMzQVx1NjNEMFx1NjhBRlx1NkM0MFx1Nzg4N1x1Nzk4RVx1N0EwQlx1N0RFMFx1ODI0N1x1OEEwMlx1OEFFNlx1OEU0NFx1OTAxM1wiXSxcbltcIjkzNDBcIixcIlx1OTBCOFx1OTEyRFx1OTFEOFx1OUYwRVx1NkNFNVx1NjQ1OFx1NjRFMlx1NjU3NVx1NkVGNFx1NzY4NFx1N0IxQlx1OTA2OVx1OTNEMVx1NkVCQVx1NTRGMlx1NUZCOVx1NjRBNFx1OEY0RFx1OEZFRFx1OTI0NFx1NTE3OFx1NTg2Qlx1NTkyOVx1NUM1NVx1NUU5N1x1NkRGQlx1N0U4Rlx1NzUxQ1x1OENCQ1x1OEVFMlx1OTg1Qlx1NzBCOVx1NEYxRFx1NkJCRlx1NkZCMVx1NzUzMFx1OTZGQlx1NTE0RVx1NTQxMFx1NTgzNVx1NTg1N1x1NTlBQ1x1NUM2MFx1NUY5Mlx1NjU5N1x1Njc1Q1x1NkUyMVx1NzY3Qlx1ODNERlx1OENFRFx1OTAxNFx1OTBGRFx1OTM0RFx1NzgyNVx1NzgzQVx1NTJBQVx1NUVBNlx1NTcxRlx1NTk3NFx1NjAxMlx1NTAxMlx1NTE1QVx1NTFBQ1wiXSxcbltcIjkzODBcIixcIlx1NTFDRFx1NTIwMFx1NTUxMFx1NTg1NFx1NTg1OFx1NTk1N1x1NUI5NVx1NUNGNlx1NUQ4Qlx1NjBCQ1x1NjI5NVx1NjQyRFx1Njc3MVx1Njg0M1x1NjhCQ1x1NjhERlx1NzZEN1x1NkREOFx1NkU2Rlx1NkQ5Qlx1NzA2Rlx1NzFDOFx1NUY1M1x1NzVEOFx1Nzk3N1x1N0I0OVx1N0I1NFx1N0I1Mlx1N0NENlx1N0Q3MVx1NTIzMFx1ODQ2M1x1ODU2OVx1ODVFNFx1OEEwRVx1OEIwNFx1OEM0Nlx1OEUwRlx1OTAwM1x1OTAwRlx1OTQxOVx1OTY3Nlx1OTgyRFx1OUEzMFx1OTVEOFx1NTBDRFx1NTJENVx1NTQwQ1x1NTgwMlx1NUMwRVx1NjFBN1x1NjQ5RVx1NkQxRVx1NzdCM1x1N0FFNVx1ODBGNFx1ODQwNFx1OTA1M1x1OTI4NVx1NUNFMFx1OUQwN1x1NTMzRlx1NUY5N1x1NUZCM1x1NkQ5Q1x1NzI3OVx1Nzc2M1x1NzlCRlx1N0JFNFx1NkJEMlx1NzJFQ1x1OEFBRFx1NjgwM1x1NkE2MVx1NTFGOFx1N0E4MVx1NjkzNFx1NUM0QVx1OUNGNlx1ODJFQlx1NUJDNVx1OTE0OVx1NzAxRVx1NTY3OFx1NUM2Rlx1NjBDN1x1NjU2Nlx1NkM4Q1x1OEM1QVx1OTA0MVx1OTgxM1x1NTQ1MVx1NjZDN1x1OTIwRFx1NTk0OFx1OTBBM1x1NTE4NVx1NEU0RFx1NTFFQVx1ODU5OVx1OEIwRVx1NzA1OFx1NjM3QVx1OTM0Qlx1Njk2Mlx1OTlCNFx1N0UwNFx1NzU3N1x1NTM1N1x1Njk2MFx1OEVERlx1OTZFM1x1NkM1RFx1NEU4Q1x1NUMzQ1x1NUYxMFx1OEZFOVx1NTMwMlx1OENEMVx1ODA4OVx1ODY3OVx1NUVGRlx1NjVFNVx1NEU3M1x1NTE2NVwiXSxcbltcIjk0NDBcIixcIlx1NTk4Mlx1NUMzRlx1OTdFRVx1NEVGQlx1NTk4QVx1NUZDRFx1OEE4RFx1NkZFMVx1NzlCMFx1Nzk2Mlx1NUJFN1x1ODQ3MVx1NzMyQlx1NzFCMVx1NUU3NFx1NUZGNVx1NjM3Qlx1NjQ5QVx1NzFDM1x1N0M5OFx1NEU0M1x1NUVGQ1x1NEU0Qlx1NTdEQ1x1NTZBMlx1NjBBOVx1NkZDM1x1N0QwRFx1ODBGRFx1ODEzM1x1ODFCRlx1OEZCMlx1ODk5N1x1ODZBNFx1NURGNFx1NjI4QVx1NjRBRFx1ODk4N1x1Njc3N1x1NkNFMlx1NkQzRVx1NzQzNlx1NzgzNFx1NUE0Nlx1N0Y3NVx1ODJBRFx1OTlBQ1x1NEZGM1x1NUVDM1x1NjJERFx1NjM5Mlx1NjU1N1x1Njc2Rlx1NzZDM1x1NzI0Q1x1ODBDQ1x1ODBCQVx1OEYyOVx1OTE0RFx1NTAwRFx1NTdGOVx1NUE5Mlx1Njg4NVwiXSxcbltcIjk0ODBcIixcIlx1Njk3M1x1NzE2NFx1NzJGRFx1OENCN1x1NThGMlx1OENFMFx1OTY2QVx1OTAxOVx1ODc3Rlx1NzlFNFx1NzdFN1x1ODQyOVx1NEYyRlx1NTI2NVx1NTM1QVx1NjJDRFx1NjdDRlx1NkNDQVx1NzY3RFx1N0I5NFx1N0M5NVx1ODIzNlx1ODU4NFx1OEZFQlx1NjZERFx1NkYyMFx1NzIwNlx1N0UxQlx1ODNBQlx1OTlDMVx1OUVBNlx1NTFGRFx1N0JCMVx1Nzg3Mlx1N0JCOFx1ODA4N1x1N0I0OFx1NkFFOFx1NUU2MVx1ODA4Q1x1NzU1MVx1NzU2MFx1NTE2Qlx1OTI2Mlx1NkU4Q1x1NzY3QVx1OTE5N1x1OUFFQVx1NEYxMFx1N0Y3MFx1NjI5Q1x1N0I0Rlx1OTVBNVx1OUNFOVx1NTY3QVx1NTg1OVx1ODZFNFx1OTZCQ1x1NEYzNFx1NTIyNFx1NTM0QVx1NTNDRFx1NTNEQlx1NUUwNlx1NjQyQ1x1NjU5MVx1Njc3Rlx1NkMzRVx1NkM0RVx1NzI0OFx1NzJBRlx1NzNFRFx1NzU1NFx1N0U0MVx1ODIyQ1x1ODVFOVx1OENBOVx1N0JDNFx1OTFDNlx1NzE2OVx1OTgxMlx1OThFRlx1NjMzRFx1NjY2OVx1NzU2QVx1NzZFNFx1NzhEMFx1ODU0M1x1ODZFRVx1NTMyQVx1NTM1MVx1NTQyNlx1NTk4M1x1NUU4N1x1NUY3Q1x1NjBCMlx1NjI0OVx1NjI3OVx1NjJBQlx1NjU5MFx1NkJENFx1NkNDQ1x1NzVCMlx1NzZBRVx1Nzg5MVx1NzlEOFx1N0RDQlx1N0Y3N1x1ODBBNVx1ODhBQlx1OEFCOVx1OENCQlx1OTA3Rlx1OTc1RVx1OThEQlx1NkEwQlx1N0MzOFx1NTA5OVx1NUMzRVx1NUZBRVx1Njc4N1x1NkJEOFx1NzQzNVx1NzcwOVx1N0Y4RVwiXSxcbltcIjk1NDBcIixcIlx1OUYzQlx1NjdDQVx1N0ExN1x1NTMzOVx1NzU4Qlx1OUFFRFx1NUY2Nlx1ODE5RFx1ODNGMVx1ODA5OFx1NUYzQ1x1NUZDNVx1NzU2Mlx1N0I0Nlx1OTAzQ1x1Njg2N1x1NTlFQlx1NUE5Qlx1N0QxMFx1NzY3RVx1OEIyQ1x1NEZGNVx1NUY2QVx1NkExOVx1NkMzN1x1NkYwMlx1NzRFMlx1Nzk2OFx1ODg2OFx1OEE1NVx1OEM3OVx1NUVERlx1NjNDRlx1NzVDNVx1NzlEMlx1ODJEN1x1OTMyOFx1OTJGMlx1ODQ5Q1x1ODZFRFx1OUMyRFx1NTRDMVx1NUY2Q1x1NjU4Q1x1NkQ1Q1x1NzAxNVx1OENBN1x1OENEM1x1OTgzQlx1NjU0Rlx1NzRGNlx1NEUwRFx1NEVEOFx1NTdFMFx1NTkyQlx1NUE2Nlx1NUJDQ1x1NTFBOFx1NUUwM1x1NUU5Q1x1NjAxNlx1NjI3Nlx1NjU3N1wiXSxcbltcIjk1ODBcIixcIlx1NjVBN1x1NjY2RVx1NkQ2RVx1NzIzNlx1N0IyNlx1ODE1MFx1ODE5QVx1ODI5OVx1OEI1Q1x1OENBMFx1OENFNlx1OEQ3NFx1OTYxQ1x1OTY0NFx1NEZBRVx1NjRBQlx1NkI2Nlx1ODIxRVx1ODQ2MVx1ODU2QVx1OTBFOFx1NUMwMVx1Njk1M1x1OThBOFx1ODQ3QVx1ODU1N1x1NEYwRlx1NTI2Rlx1NUZBOVx1NUU0NVx1NjcwRFx1Nzk4Rlx1ODE3OVx1ODkwN1x1ODk4Nlx1NkRGNVx1NUYxN1x1NjI1NVx1NkNCOFx1NEVDRlx1NzI2OVx1OUI5Mlx1NTIwNlx1NTQzQlx1NTY3NFx1NThCM1x1NjFBNFx1NjI2RVx1NzExQVx1NTk2RVx1N0M4OVx1N0NERVx1N0QxQlx1OTZGMFx1NjU4N1x1ODA1RVx1NEUxOVx1NEY3NVx1NTE3NVx1NTg0MFx1NUU2M1x1NUU3M1x1NUYwQVx1NjdDNFx1NEUyNlx1ODUzRFx1OTU4OVx1OTY1Qlx1N0M3M1x1OTgwMVx1NTBGQlx1NThDMVx1NzY1Nlx1NzhBN1x1NTIyNVx1NzdBNVx1ODUxMVx1N0I4Nlx1NTA0Rlx1NTkwOVx1NzI0N1x1N0JDN1x1N0RFOFx1OEZCQVx1OEZENFx1OTA0RFx1NEZCRlx1NTJDOVx1NUEyOVx1NUYwMVx1OTdBRFx1NEZERFx1ODIxN1x1OTJFQVx1NTcwM1x1NjM1NVx1NkI2OVx1NzUyQlx1ODhEQ1x1OEYxNFx1N0E0Mlx1NTJERlx1NTg5M1x1NjE1NVx1NjIwQVx1NjZBRVx1NkJDRFx1N0MzRlx1ODNFOVx1NTAyM1x1NEZGOFx1NTMwNVx1NTQ0Nlx1NTgzMVx1NTk0OVx1NUI5RFx1NUNGMFx1NUNFRlx1NUQyOVx1NUU5Nlx1NjJCMVx1NjM2N1x1NjUzRVx1NjVCOVx1NjcwQlwiXSxcbltcIjk2NDBcIixcIlx1NkNENVx1NkNFMVx1NzBGOVx1NzgzMlx1N0UyQlx1ODBERVx1ODJCM1x1ODQwQ1x1ODRFQ1x1ODcwMlx1ODkxMlx1OEEyQVx1OEM0QVx1OTBBNlx1OTJEMlx1OThGRFx1OUNGM1x1OUQ2Q1x1NEU0Rlx1NEVBMVx1NTA4RFx1NTI1Nlx1NTc0QVx1NTlBOFx1NUUzRFx1NUZEOFx1NUZEOVx1NjIzRlx1NjZCNFx1NjcxQlx1NjdEMFx1NjhEMlx1NTE5Mlx1N0QyMVx1ODBBQVx1ODFBOFx1OEIwMFx1OEM4Q1x1OENCRlx1OTI3RVx1OTYzMlx1NTQyMFx1OTgyQ1x1NTMxN1x1NTBENVx1NTM1Q1x1NThBOFx1NjRCMlx1NjczNFx1NzI2N1x1Nzc2Nlx1N0E0Nlx1OTFFNlx1NTJDM1x1NkNBMVx1NkI4Nlx1NTgwMFx1NUU0Q1x1NTk1NFx1NjcyQ1x1N0ZGQlx1NTFFMVx1NzZDNlwiXSxcbltcIjk2ODBcIixcIlx1NjQ2OVx1NzhFOFx1OUI1NFx1OUVCQlx1NTdDQlx1NTlCOVx1NjYyN1x1Njc5QVx1NkJDRVx1NTRFOVx1NjlEOVx1NUU1NVx1ODE5Q1x1Njc5NVx1OUJBQVx1NjdGRVx1OUM1Mlx1Njg1RFx1NEVBNlx1NEZFM1x1NTNDOFx1NjJCOVx1NjcyQlx1NkNBQlx1OEZDNFx1NEZBRFx1N0U2RFx1OUVCRlx1NEUwN1x1NjE2Mlx1NkU4MFx1NkYyQlx1ODUxM1x1NTQ3M1x1NjcyQVx1OUI0NVx1NURGM1x1N0I5NVx1NUNBQ1x1NUJDNlx1ODcxQ1x1NkU0QVx1ODREMVx1N0ExNFx1ODEwOFx1NTk5OVx1N0M4RFx1NkMxMVx1NzcyMFx1NTJEOVx1NTkyMlx1NzEyMVx1NzI1Rlx1NzdEQlx1OTcyN1x1OUQ2MVx1NjkwQlx1NUE3Rlx1NUExOFx1NTFBNVx1NTQwRFx1NTQ3RFx1NjYwRVx1NzZERlx1OEZGN1x1OTI5OFx1OUNGNFx1NTlFQVx1NzI1RFx1NkVDNVx1NTE0RFx1NjhDOVx1N0RCRlx1N0RFQ1x1OTc2Mlx1OUVCQVx1NjQ3OFx1NkEyMVx1ODMwMlx1NTk4NFx1NUI1Rlx1NkJEQlx1NzMxQlx1NzZGMlx1N0RCMlx1ODAxN1x1ODQ5OVx1NTEzMlx1NjcyOFx1OUVEOVx1NzZFRVx1Njc2Mlx1NTJGRlx1OTkwNVx1NUMyNFx1NjIzQlx1N0M3RVx1OENCMFx1NTU0Rlx1NjBCNlx1N0QwQlx1OTU4MFx1NTMwMVx1NEU1Rlx1NTFCNlx1NTkxQ1x1NzIzQVx1ODAzNlx1OTFDRVx1NUYyNVx1NzdFMlx1NTM4NFx1NUY3OVx1N0QwNFx1ODVBQ1x1OEEzM1x1OEU4RFx1OTc1Nlx1NjdGM1x1ODVBRVx1OTQ1M1x1NjEwOVx1NjEwOFx1NkNCOVx1NzY1MlwiXSxcbltcIjk3NDBcIixcIlx1OEFFRFx1OEYzOFx1NTUyRlx1NEY1MVx1NTEyQVx1NTJDN1x1NTNDQlx1NUJBNVx1NUU3RFx1NjBBMFx1NjE4Mlx1NjNENlx1NjcwOVx1NjdEQVx1NkU2N1x1NkQ4Q1x1NzMzNlx1NzMzN1x1NzUzMVx1Nzk1MFx1ODhENVx1OEE5OFx1OTA0QVx1OTA5MVx1OTBGNVx1OTZDNFx1ODc4RFx1NTkxNVx1NEU4OFx1NEY1OVx1NEUwRVx1OEE4OVx1OEYzRlx1OTgxMFx1NTBBRFx1NUU3Q1x1NTk5Nlx1NUJCOVx1NUVCOFx1NjNEQVx1NjNGQVx1NjRDMVx1NjZEQ1x1Njk0QVx1NjlEOFx1NkQwQlx1NkVCNlx1NzE5NFx1NzUyOFx1N0FBRlx1N0Y4QVx1ODAwMFx1ODQ0OVx1ODRDOVx1ODk4MVx1OEIyMVx1OEUwQVx1OTA2NVx1OTY3RFx1OTkwQVx1NjE3RVx1NjI5MVx1NkIzMlwiXSxcbltcIjk3ODBcIixcIlx1NkM4M1x1NkQ3NFx1N0ZDQ1x1N0ZGQ1x1NkRDMFx1N0Y4NVx1ODdCQVx1ODhGOFx1Njc2NVx1ODNCMVx1OTgzQ1x1OTZGN1x1NkQxQlx1N0Q2MVx1ODQzRFx1OTE2QVx1NEU3MVx1NTM3NVx1NUQ1MFx1NkIwNFx1NkZFQlx1ODVDRFx1ODYyRFx1ODlBN1x1NTIyOVx1NTQwRlx1NUM2NVx1Njc0RVx1NjhBOFx1NzQwNlx1NzQ4M1x1NzVFMlx1ODhDRlx1ODhFMVx1OTFDQ1x1OTZFMlx1OTY3OFx1NUY4Qlx1NzM4N1x1N0FDQlx1ODQ0RVx1NjNBMFx1NzU2NVx1NTI4OVx1NkQ0MVx1NkU5Q1x1NzQwOVx1NzU1OVx1Nzg2Qlx1N0M5Mlx1OTY4Nlx1N0FEQ1x1OUY4RFx1NEZCNlx1NjE2RVx1NjVDNVx1ODY1Q1x1NEU4Nlx1NEVBRVx1NTBEQVx1NEUyMVx1NTFDQ1x1NUJFRVx1NjU5OVx1Njg4MVx1NkRCQ1x1NzMxRlx1NzY0Mlx1NzdBRFx1N0ExQ1x1N0NFN1x1ODI2Rlx1OEFEMlx1OTA3Q1x1OTFDRlx1OTY3NVx1OTgxOFx1NTI5Qlx1N0REMVx1NTAyQlx1NTM5OFx1Njc5N1x1NkRDQlx1NzFEMFx1NzQzM1x1ODFFOFx1OEYyQVx1OTZBM1x1OUM1N1x1OUU5Rlx1NzQ2MFx1NTg0MVx1NkQ5OVx1N0QyRlx1OTg1RVx1NEVFNFx1NEYzNlx1NEY4Qlx1NTFCN1x1NTJCMVx1NURCQVx1NjAxQ1x1NzNCMlx1NzkzQ1x1ODJEM1x1OTIzNFx1OTZCN1x1OTZGNlx1OTcwQVx1OUU5N1x1OUY2Mlx1NjZBNlx1NkI3NFx1NTIxN1x1NTJBM1x1NzBDOFx1ODhDMlx1NUVDOVx1NjA0Qlx1NjE5MFx1NkYyM1x1NzE0OVx1N0MzRVx1N0RGNFx1ODA2RlwiXSxcbltcIjk4NDBcIixcIlx1ODRFRVx1OTAyM1x1OTMyQ1x1NTQ0Mlx1OUI2Rlx1NkFEM1x1NzA4OVx1OENDMlx1OERFRlx1OTczMlx1NTJCNFx1NUE0MVx1NUVDQVx1NUYwNFx1NjcxN1x1Njk3Q1x1Njk5NFx1NkQ2QVx1NkYwRlx1NzI2Mlx1NzJGQ1x1N0JFRFx1ODAwMVx1ODA3RVx1ODc0Qlx1OTBDRVx1NTE2RFx1OUU5M1x1Nzk4NFx1ODA4Qlx1OTMzMlx1OEFENlx1NTAyRFx1NTQ4Q1x1OEE3MVx1NkI2QVx1OENDNFx1ODEwN1x1NjBEMVx1NjdBMFx1OURGMlx1NEU5OVx1NEU5OFx1OUMxMFx1OEE2Qlx1ODVDMVx1ODU2OFx1NjkwMFx1NkU3RVx1Nzg5N1x1ODE1NVwiXSxcbltcIjk4OWZcIixcIlx1NUYwQ1x1NEUxMFx1NEUxNVx1NEUyQVx1NEUzMVx1NEUzNlx1NEUzQ1x1NEUzRlx1NEU0Mlx1NEU1Nlx1NEU1OFx1NEU4Mlx1NEU4NVx1OEM2Qlx1NEU4QVx1ODIxMlx1NUYwRFx1NEU4RVx1NEU5RVx1NEU5Rlx1NEVBMFx1NEVBMlx1NEVCMFx1NEVCM1x1NEVCNlx1NEVDRVx1NEVDRFx1NEVDNFx1NEVDNlx1NEVDMlx1NEVEN1x1NEVERVx1NEVFRFx1NEVERlx1NEVGN1x1NEYwOVx1NEY1QVx1NEYzMFx1NEY1Qlx1NEY1RFx1NEY1N1x1NEY0N1x1NEY3Nlx1NEY4OFx1NEY4Rlx1NEY5OFx1NEY3Qlx1NEY2OVx1NEY3MFx1NEY5MVx1NEY2Rlx1NEY4Nlx1NEY5Nlx1NTExOFx1NEZENFx1NEZERlx1NEZDRVx1NEZEOFx1NEZEQlx1NEZEMVx1NEZEQVx1NEZEMFx1NEZFNFx1NEZFNVx1NTAxQVx1NTAyOFx1NTAxNFx1NTAyQVx1NTAyNVx1NTAwNVx1NEYxQ1x1NEZGNlx1NTAyMVx1NTAyOVx1NTAyQ1x1NEZGRVx1NEZFRlx1NTAxMVx1NTAwNlx1NTA0M1x1NTA0N1x1NjcwM1x1NTA1NVx1NTA1MFx1NTA0OFx1NTA1QVx1NTA1Nlx1NTA2Q1x1NTA3OFx1NTA4MFx1NTA5QVx1NTA4NVx1NTBCNFx1NTBCMlwiXSxcbltcIjk5NDBcIixcIlx1NTBDOVx1NTBDQVx1NTBCM1x1NTBDMlx1NTBENlx1NTBERVx1NTBFNVx1NTBFRFx1NTBFM1x1NTBFRVx1NTBGOVx1NTBGNVx1NTEwOVx1NTEwMVx1NTEwMlx1NTExNlx1NTExNVx1NTExNFx1NTExQVx1NTEyMVx1NTEzQVx1NTEzN1x1NTEzQ1x1NTEzQlx1NTEzRlx1NTE0MFx1NTE1Mlx1NTE0Q1x1NTE1NFx1NTE2Mlx1N0FGOFx1NTE2OVx1NTE2QVx1NTE2RVx1NTE4MFx1NTE4Mlx1NTZEOFx1NTE4Q1x1NTE4OVx1NTE4Rlx1NTE5MVx1NTE5M1x1NTE5NVx1NTE5Nlx1NTFBNFx1NTFBNlx1NTFBMlx1NTFBOVx1NTFBQVx1NTFBQlx1NTFCM1x1NTFCMVx1NTFCMlx1NTFCMFx1NTFCNVx1NTFCRFx1NTFDNVx1NTFDOVx1NTFEQlx1NTFFMFx1ODY1NVx1NTFFOVx1NTFFRFwiXSxcbltcIjk5ODBcIixcIlx1NTFGMFx1NTFGNVx1NTFGRVx1NTIwNFx1NTIwQlx1NTIxNFx1NTIwRVx1NTIyN1x1NTIyQVx1NTIyRVx1NTIzM1x1NTIzOVx1NTI0Rlx1NTI0NFx1NTI0Qlx1NTI0Q1x1NTI1RVx1NTI1NFx1NTI2QVx1NTI3NFx1NTI2OVx1NTI3M1x1NTI3Rlx1NTI3RFx1NTI4RFx1NTI5NFx1NTI5Mlx1NTI3MVx1NTI4OFx1NTI5MVx1OEZBOFx1OEZBN1x1NTJBQ1x1NTJBRFx1NTJCQ1x1NTJCNVx1NTJDMVx1NTJDRFx1NTJEN1x1NTJERVx1NTJFM1x1NTJFNlx1OThFRFx1NTJFMFx1NTJGM1x1NTJGNVx1NTJGOFx1NTJGOVx1NTMwNlx1NTMwOFx1NzUzOFx1NTMwRFx1NTMxMFx1NTMwRlx1NTMxNVx1NTMxQVx1NTMyM1x1NTMyRlx1NTMzMVx1NTMzM1x1NTMzOFx1NTM0MFx1NTM0Nlx1NTM0NVx1NEUxN1x1NTM0OVx1NTM0RFx1NTFENlx1NTM1RVx1NTM2OVx1NTM2RVx1NTkxOFx1NTM3Qlx1NTM3N1x1NTM4Mlx1NTM5Nlx1NTNBMFx1NTNBNlx1NTNBNVx1NTNBRVx1NTNCMFx1NTNCNlx1NTNDM1x1N0MxMlx1OTZEOVx1NTNERlx1NjZGQ1x1NzFFRVx1NTNFRVx1NTNFOFx1NTNFRFx1NTNGQVx1NTQwMVx1NTQzRFx1NTQ0MFx1NTQyQ1x1NTQyRFx1NTQzQ1x1NTQyRVx1NTQzNlx1NTQyOVx1NTQxRFx1NTQ0RVx1NTQ4Rlx1NTQ3NVx1NTQ4RVx1NTQ1Rlx1NTQ3MVx1NTQ3N1x1NTQ3MFx1NTQ5Mlx1NTQ3Qlx1NTQ4MFx1NTQ3Nlx1NTQ4NFx1NTQ5MFx1NTQ4Nlx1NTRDN1x1NTRBMlx1NTRCOFx1NTRBNVx1NTRBQ1x1NTRDNFx1NTRDOFx1NTRBOFwiXSxcbltcIjlhNDBcIixcIlx1NTRBQlx1NTRDMlx1NTRBNFx1NTRCRVx1NTRCQ1x1NTREOFx1NTRFNVx1NTRFNlx1NTUwRlx1NTUxNFx1NTRGRFx1NTRFRVx1NTRFRFx1NTRGQVx1NTRFMlx1NTUzOVx1NTU0MFx1NTU2M1x1NTU0Q1x1NTUyRVx1NTU1Q1x1NTU0NVx1NTU1Nlx1NTU1N1x1NTUzOFx1NTUzM1x1NTU1RFx1NTU5OVx1NTU4MFx1NTRBRlx1NTU4QVx1NTU5Rlx1NTU3Qlx1NTU3RVx1NTU5OFx1NTU5RVx1NTVBRVx1NTU3Q1x1NTU4M1x1NTVBOVx1NTU4N1x1NTVBOFx1NTVEQVx1NTVDNVx1NTVERlx1NTVDNFx1NTVEQ1x1NTVFNFx1NTVENFx1NTYxNFx1NTVGN1x1NTYxNlx1NTVGRVx1NTVGRFx1NTYxQlx1NTVGOVx1NTY0RVx1NTY1MFx1NzFERlx1NTYzNFx1NTYzNlx1NTYzMlx1NTYzOFwiXSxcbltcIjlhODBcIixcIlx1NTY2Qlx1NTY2NFx1NTYyRlx1NTY2Q1x1NTY2QVx1NTY4Nlx1NTY4MFx1NTY4QVx1NTZBMFx1NTY5NFx1NTY4Rlx1NTZBNVx1NTZBRVx1NTZCNlx1NTZCNFx1NTZDMlx1NTZCQ1x1NTZDMVx1NTZDM1x1NTZDMFx1NTZDOFx1NTZDRVx1NTZEMVx1NTZEM1x1NTZEN1x1NTZFRVx1NTZGOVx1NTcwMFx1NTZGRlx1NTcwNFx1NTcwOVx1NTcwOFx1NTcwQlx1NTcwRFx1NTcxM1x1NTcxOFx1NTcxNlx1NTVDN1x1NTcxQ1x1NTcyNlx1NTczN1x1NTczOFx1NTc0RVx1NTczQlx1NTc0MFx1NTc0Rlx1NTc2OVx1NTdDMFx1NTc4OFx1NTc2MVx1NTc3Rlx1NTc4OVx1NTc5M1x1NTdBMFx1NTdCM1x1NTdBNFx1NTdBQVx1NTdCMFx1NTdDM1x1NTdDNlx1NTdENFx1NTdEMlx1NTdEM1x1NTgwQVx1NTdENlx1NTdFM1x1NTgwQlx1NTgxOVx1NTgxRFx1NTg3Mlx1NTgyMVx1NTg2Mlx1NTg0Qlx1NTg3MFx1NkJDMFx1NTg1Mlx1NTgzRFx1NTg3OVx1NTg4NVx1NThCOVx1NTg5Rlx1NThBQlx1NThCQVx1NThERVx1NThCQlx1NThCOFx1NThBRVx1NThDNVx1NThEM1x1NThEMVx1NThEN1x1NThEOVx1NThEOFx1NThFNVx1NThEQ1x1NThFNFx1NThERlx1NThFRlx1NThGQVx1NThGOVx1NThGQlx1NThGQ1x1NThGRFx1NTkwMlx1NTkwQVx1NTkxMFx1NTkxQlx1NjhBNlx1NTkyNVx1NTkyQ1x1NTkyRFx1NTkzMlx1NTkzOFx1NTkzRVx1N0FEMlx1NTk1NVx1NTk1MFx1NTk0RVx1NTk1QVx1NTk1OFx1NTk2Mlx1NTk2MFx1NTk2N1x1NTk2Q1x1NTk2OVwiXSxcbltcIjliNDBcIixcIlx1NTk3OFx1NTk4MVx1NTk5RFx1NEY1RVx1NEZBQlx1NTlBM1x1NTlCMlx1NTlDNlx1NTlFOFx1NTlEQ1x1NTk4RFx1NTlEOVx1NTlEQVx1NUEyNVx1NUExRlx1NUExMVx1NUExQ1x1NUEwOVx1NUExQVx1NUE0MFx1NUE2Q1x1NUE0OVx1NUEzNVx1NUEzNlx1NUE2Mlx1NUE2QVx1NUE5QVx1NUFCQ1x1NUFCRVx1NUFDQlx1NUFDMlx1NUFCRFx1NUFFM1x1NUFEN1x1NUFFNlx1NUFFOVx1NUFENlx1NUFGQVx1NUFGQlx1NUIwQ1x1NUIwQlx1NUIxNlx1NUIzMlx1NUFEMFx1NUIyQVx1NUIzNlx1NUIzRVx1NUI0M1x1NUI0NVx1NUI0MFx1NUI1MVx1NUI1NVx1NUI1QVx1NUI1Qlx1NUI2NVx1NUI2OVx1NUI3MFx1NUI3M1x1NUI3NVx1NUI3OFx1NjU4OFx1NUI3QVx1NUI4MFwiXSxcbltcIjliODBcIixcIlx1NUI4M1x1NUJBNlx1NUJCOFx1NUJDM1x1NUJDN1x1NUJDOVx1NUJENFx1NUJEMFx1NUJFNFx1NUJFNlx1NUJFMlx1NUJERVx1NUJFNVx1NUJFQlx1NUJGMFx1NUJGNlx1NUJGM1x1NUMwNVx1NUMwN1x1NUMwOFx1NUMwRFx1NUMxM1x1NUMyMFx1NUMyMlx1NUMyOFx1NUMzOFx1NUMzOVx1NUM0MVx1NUM0Nlx1NUM0RVx1NUM1M1x1NUM1MFx1NUM0Rlx1NUI3MVx1NUM2Q1x1NUM2RVx1NEU2Mlx1NUM3Nlx1NUM3OVx1NUM4Q1x1NUM5MVx1NUM5NFx1NTk5Qlx1NUNBQlx1NUNCQlx1NUNCNlx1NUNCQ1x1NUNCN1x1NUNDNVx1NUNCRVx1NUNDN1x1NUNEOVx1NUNFOVx1NUNGRFx1NUNGQVx1NUNFRFx1NUQ4Q1x1NUNFQVx1NUQwQlx1NUQxNVx1NUQxN1x1NUQ1Q1x1NUQxRlx1NUQxQlx1NUQxMVx1NUQxNFx1NUQyMlx1NUQxQVx1NUQxOVx1NUQxOFx1NUQ0Q1x1NUQ1Mlx1NUQ0RVx1NUQ0Qlx1NUQ2Q1x1NUQ3M1x1NUQ3Nlx1NUQ4N1x1NUQ4NFx1NUQ4Mlx1NURBMlx1NUQ5RFx1NURBQ1x1NURBRVx1NURCRFx1NUQ5MFx1NURCN1x1NURCQ1x1NURDOVx1NURDRFx1NUREM1x1NUREMlx1NURENlx1NUREQlx1NURFQlx1NURGMlx1NURGNVx1NUUwQlx1NUUxQVx1NUUxOVx1NUUxMVx1NUUxQlx1NUUzNlx1NUUzN1x1NUU0NFx1NUU0M1x1NUU0MFx1NUU0RVx1NUU1N1x1NUU1NFx1NUU1Rlx1NUU2Mlx1NUU2NFx1NUU0N1x1NUU3NVx1NUU3Nlx1NUU3QVx1OUVCQ1x1NUU3Rlx1NUVBMFx1NUVDMVx1NUVDMlx1NUVDOFx1NUVEMFx1NUVDRlwiXSxcbltcIjljNDBcIixcIlx1NUVENlx1NUVFM1x1NUVERFx1NUVEQVx1NUVEQlx1NUVFMlx1NUVFMVx1NUVFOFx1NUVFOVx1NUVFQ1x1NUVGMVx1NUVGM1x1NUVGMFx1NUVGNFx1NUVGOFx1NUVGRVx1NUYwM1x1NUYwOVx1NUY1RFx1NUY1Q1x1NUYwQlx1NUYxMVx1NUYxNlx1NUYyOVx1NUYyRFx1NUYzOFx1NUY0MVx1NUY0OFx1NUY0Q1x1NUY0RVx1NUYyRlx1NUY1MVx1NUY1Nlx1NUY1N1x1NUY1OVx1NUY2MVx1NUY2RFx1NUY3M1x1NUY3N1x1NUY4M1x1NUY4Mlx1NUY3Rlx1NUY4QVx1NUY4OFx1NUY5MVx1NUY4N1x1NUY5RVx1NUY5OVx1NUY5OFx1NUZBMFx1NUZBOFx1NUZBRFx1NUZCQ1x1NUZENlx1NUZGQlx1NUZFNFx1NUZGOFx1NUZGMVx1NUZERFx1NjBCM1x1NUZGRlx1NjAyMVx1NjA2MFwiXSxcbltcIjljODBcIixcIlx1NjAxOVx1NjAxMFx1NjAyOVx1NjAwRVx1NjAzMVx1NjAxQlx1NjAxNVx1NjAyQlx1NjAyNlx1NjAwRlx1NjAzQVx1NjA1QVx1NjA0MVx1NjA2QVx1NjA3N1x1NjA1Rlx1NjA0QVx1NjA0Nlx1NjA0RFx1NjA2M1x1NjA0M1x1NjA2NFx1NjA0Mlx1NjA2Q1x1NjA2Qlx1NjA1OVx1NjA4MVx1NjA4RFx1NjBFN1x1NjA4M1x1NjA5QVx1NjA4NFx1NjA5Qlx1NjA5Nlx1NjA5N1x1NjA5Mlx1NjBBN1x1NjA4Qlx1NjBFMVx1NjBCOFx1NjBFMFx1NjBEM1x1NjBCNFx1NUZGMFx1NjBCRFx1NjBDNlx1NjBCNVx1NjBEOFx1NjE0RFx1NjExNVx1NjEwNlx1NjBGNlx1NjBGN1x1NjEwMFx1NjBGNFx1NjBGQVx1NjEwM1x1NjEyMVx1NjBGQlx1NjBGMVx1NjEwRFx1NjEwRVx1NjE0N1x1NjEzRVx1NjEyOFx1NjEyN1x1NjE0QVx1NjEzRlx1NjEzQ1x1NjEyQ1x1NjEzNFx1NjEzRFx1NjE0Mlx1NjE0NFx1NjE3M1x1NjE3N1x1NjE1OFx1NjE1OVx1NjE1QVx1NjE2Qlx1NjE3NFx1NjE2Rlx1NjE2NVx1NjE3MVx1NjE1Rlx1NjE1RFx1NjE1M1x1NjE3NVx1NjE5OVx1NjE5Nlx1NjE4N1x1NjFBQ1x1NjE5NFx1NjE5QVx1NjE4QVx1NjE5MVx1NjFBQlx1NjFBRVx1NjFDQ1x1NjFDQVx1NjFDOVx1NjFGN1x1NjFDOFx1NjFDM1x1NjFDNlx1NjFCQVx1NjFDQlx1N0Y3OVx1NjFDRFx1NjFFNlx1NjFFM1x1NjFGNlx1NjFGQVx1NjFGNFx1NjFGRlx1NjFGRFx1NjFGQ1x1NjFGRVx1NjIwMFx1NjIwOFx1NjIwOVx1NjIwRFx1NjIwQ1x1NjIxNFx1NjIxQlwiXSxcbltcIjlkNDBcIixcIlx1NjIxRVx1NjIyMVx1NjIyQVx1NjIyRVx1NjIzMFx1NjIzMlx1NjIzM1x1NjI0MVx1NjI0RVx1NjI1RVx1NjI2M1x1NjI1Qlx1NjI2MFx1NjI2OFx1NjI3Q1x1NjI4Mlx1NjI4OVx1NjI3RVx1NjI5Mlx1NjI5M1x1NjI5Nlx1NjJENFx1NjI4M1x1NjI5NFx1NjJEN1x1NjJEMVx1NjJCQlx1NjJDRlx1NjJGRlx1NjJDNlx1NjRENFx1NjJDOFx1NjJEQ1x1NjJDQ1x1NjJDQVx1NjJDMlx1NjJDN1x1NjI5Qlx1NjJDOVx1NjMwQ1x1NjJFRVx1NjJGMVx1NjMyN1x1NjMwMlx1NjMwOFx1NjJFRlx1NjJGNVx1NjM1MFx1NjMzRVx1NjM0RFx1NjQxQ1x1NjM0Rlx1NjM5Nlx1NjM4RVx1NjM4MFx1NjNBQlx1NjM3Nlx1NjNBM1x1NjM4Rlx1NjM4OVx1NjM5Rlx1NjNCNVx1NjM2QlwiXSxcbltcIjlkODBcIixcIlx1NjM2OVx1NjNCRVx1NjNFOVx1NjNDMFx1NjNDNlx1NjNFM1x1NjNDOVx1NjNEMlx1NjNGNlx1NjNDNFx1NjQxNlx1NjQzNFx1NjQwNlx1NjQxM1x1NjQyNlx1NjQzNlx1NjUxRFx1NjQxN1x1NjQyOFx1NjQwRlx1NjQ2N1x1NjQ2Rlx1NjQ3Nlx1NjQ0RVx1NjUyQVx1NjQ5NVx1NjQ5M1x1NjRBNVx1NjRBOVx1NjQ4OFx1NjRCQ1x1NjREQVx1NjREMlx1NjRDNVx1NjRDN1x1NjRCQlx1NjREOFx1NjRDMlx1NjRGMVx1NjRFN1x1ODIwOVx1NjRFMFx1NjRFMVx1NjJBQ1x1NjRFM1x1NjRFRlx1NjUyQ1x1NjRGNlx1NjRGNFx1NjRGMlx1NjRGQVx1NjUwMFx1NjRGRFx1NjUxOFx1NjUxQ1x1NjUwNVx1NjUyNFx1NjUyM1x1NjUyQlx1NjUzNFx1NjUzNVx1NjUzN1x1NjUzNlx1NjUzOFx1NzU0Qlx1NjU0OFx1NjU1Nlx1NjU1NVx1NjU0RFx1NjU1OFx1NjU1RVx1NjU1RFx1NjU3Mlx1NjU3OFx1NjU4Mlx1NjU4M1x1OEI4QVx1NjU5Qlx1NjU5Rlx1NjVBQlx1NjVCN1x1NjVDM1x1NjVDNlx1NjVDMVx1NjVDNFx1NjVDQ1x1NjVEMlx1NjVEQlx1NjVEOVx1NjVFMFx1NjVFMVx1NjVGMVx1Njc3Mlx1NjYwQVx1NjYwM1x1NjVGQlx1Njc3M1x1NjYzNVx1NjYzNlx1NjYzNFx1NjYxQ1x1NjY0Rlx1NjY0NFx1NjY0OVx1NjY0MVx1NjY1RVx1NjY1RFx1NjY2NFx1NjY2N1x1NjY2OFx1NjY1Rlx1NjY2Mlx1NjY3MFx1NjY4M1x1NjY4OFx1NjY4RVx1NjY4OVx1NjY4NFx1NjY5OFx1NjY5RFx1NjZDMVx1NjZCOVx1NjZDOVx1NjZCRVx1NjZCQ1wiXSxcbltcIjllNDBcIixcIlx1NjZDNFx1NjZCOFx1NjZENlx1NjZEQVx1NjZFMFx1NjYzRlx1NjZFNlx1NjZFOVx1NjZGMFx1NjZGNVx1NjZGN1x1NjcwRlx1NjcxNlx1NjcxRVx1NjcyNlx1NjcyN1x1OTczOFx1NjcyRVx1NjczRlx1NjczNlx1Njc0MVx1NjczOFx1NjczN1x1Njc0Nlx1Njc1RVx1Njc2MFx1Njc1OVx1Njc2M1x1Njc2NFx1Njc4OVx1Njc3MFx1NjdBOVx1Njc3Q1x1Njc2QVx1Njc4Q1x1Njc4Qlx1NjdBNlx1NjdBMVx1Njc4NVx1NjdCN1x1NjdFRlx1NjdCNFx1NjdFQ1x1NjdCM1x1NjdFOVx1NjdCOFx1NjdFNFx1NjdERVx1NjdERFx1NjdFMlx1NjdFRVx1NjdCOVx1NjdDRVx1NjdDNlx1NjdFN1x1NkE5Q1x1NjgxRVx1Njg0Nlx1NjgyOVx1Njg0MFx1Njg0RFx1NjgzMlx1Njg0RVwiXSxcbltcIjllODBcIixcIlx1NjhCM1x1NjgyQlx1Njg1OVx1Njg2M1x1Njg3N1x1Njg3Rlx1Njg5Rlx1Njg4Rlx1NjhBRFx1Njg5NFx1Njg5RFx1Njg5Qlx1Njg4M1x1NkFBRVx1NjhCOVx1Njg3NFx1NjhCNVx1NjhBMFx1NjhCQVx1NjkwRlx1Njg4RFx1Njg3RVx1NjkwMVx1NjhDQVx1NjkwOFx1NjhEOFx1NjkyMlx1NjkyNlx1NjhFMVx1NjkwQ1x1NjhDRFx1NjhENFx1NjhFN1x1NjhENVx1NjkzNlx1NjkxMlx1NjkwNFx1NjhEN1x1NjhFM1x1NjkyNVx1NjhGOVx1NjhFMFx1NjhFRlx1NjkyOFx1NjkyQVx1NjkxQVx1NjkyM1x1NjkyMVx1NjhDNlx1Njk3OVx1Njk3N1x1Njk1Q1x1Njk3OFx1Njk2Qlx1Njk1NFx1Njk3RVx1Njk2RVx1NjkzOVx1Njk3NFx1NjkzRFx1Njk1OVx1NjkzMFx1Njk2MVx1Njk1RVx1Njk1RFx1Njk4MVx1Njk2QVx1NjlCMlx1NjlBRVx1NjlEMFx1NjlCRlx1NjlDMVx1NjlEM1x1NjlCRVx1NjlDRVx1NUJFOFx1NjlDQVx1NjlERFx1NjlCQlx1NjlDM1x1NjlBN1x1NkEyRVx1Njk5MVx1NjlBMFx1Njk5Q1x1Njk5NVx1NjlCNFx1NjlERVx1NjlFOFx1NkEwMlx1NkExQlx1NjlGRlx1NkIwQVx1NjlGOVx1NjlGMlx1NjlFN1x1NkEwNVx1NjlCMVx1NkExRVx1NjlFRFx1NkExNFx1NjlFQlx1NkEwQVx1NkExMlx1NkFDMVx1NkEyM1x1NkExM1x1NkE0NFx1NkEwQ1x1NkE3Mlx1NkEzNlx1NkE3OFx1NkE0N1x1NkE2Mlx1NkE1OVx1NkE2Nlx1NkE0OFx1NkEzOFx1NkEyMlx1NkE5MFx1NkE4RFx1NkFBMFx1NkE4NFx1NkFBMlx1NkFBM1wiXSxcbltcIjlmNDBcIixcIlx1NkE5N1x1ODYxN1x1NkFCQlx1NkFDM1x1NkFDMlx1NkFCOFx1NkFCM1x1NkFBQ1x1NkFERVx1NkFEMVx1NkFERlx1NkFBQVx1NkFEQVx1NkFFQVx1NkFGQlx1NkIwNVx1ODYxNlx1NkFGQVx1NkIxMlx1NkIxNlx1OUIzMVx1NkIxRlx1NkIzOFx1NkIzN1x1NzZEQ1x1NkIzOVx1OThFRVx1NkI0N1x1NkI0M1x1NkI0OVx1NkI1MFx1NkI1OVx1NkI1NFx1NkI1Qlx1NkI1Rlx1NkI2MVx1NkI3OFx1NkI3OVx1NkI3Rlx1NkI4MFx1NkI4NFx1NkI4M1x1NkI4RFx1NkI5OFx1NkI5NVx1NkI5RVx1NkJBNFx1NkJBQVx1NkJBQlx1NkJBRlx1NkJCMlx1NkJCMVx1NkJCM1x1NkJCN1x1NkJCQ1x1NkJDNlx1NkJDQlx1NkJEM1x1NkJERlx1NkJFQ1x1NkJFQlx1NkJGM1x1NkJFRlwiXSxcbltcIjlmODBcIixcIlx1OUVCRVx1NkMwOFx1NkMxM1x1NkMxNFx1NkMxQlx1NkMyNFx1NkMyM1x1NkM1RVx1NkM1NVx1NkM2Mlx1NkM2QVx1NkM4Mlx1NkM4RFx1NkM5QVx1NkM4MVx1NkM5Qlx1NkM3RVx1NkM2OFx1NkM3M1x1NkM5Mlx1NkM5MFx1NkNDNFx1NkNGMVx1NkNEM1x1NkNCRFx1NkNEN1x1NkNDNVx1NkNERFx1NkNBRVx1NkNCMVx1NkNCRVx1NkNCQVx1NkNEQlx1NkNFRlx1NkNEOVx1NkNFQVx1NkQxRlx1ODg0RFx1NkQzNlx1NkQyQlx1NkQzRFx1NkQzOFx1NkQxOVx1NkQzNVx1NkQzM1x1NkQxMlx1NkQwQ1x1NkQ2M1x1NkQ5M1x1NkQ2NFx1NkQ1QVx1NkQ3OVx1NkQ1OVx1NkQ4RVx1NkQ5NVx1NkZFNFx1NkQ4NVx1NkRGOVx1NkUxNVx1NkUwQVx1NkRCNVx1NkRDN1x1NkRFNlx1NkRCOFx1NkRDNlx1NkRFQ1x1NkRERVx1NkRDQ1x1NkRFOFx1NkREMlx1NkRDNVx1NkRGQVx1NkREOVx1NkRFNFx1NkRENVx1NkRFQVx1NkRFRVx1NkUyRFx1NkU2RVx1NkUyRVx1NkUxOVx1NkU3Mlx1NkU1Rlx1NkUzRVx1NkUyM1x1NkU2Qlx1NkUyQlx1NkU3Nlx1NkU0RFx1NkUxRlx1NkU0M1x1NkUzQVx1NkU0RVx1NkUyNFx1NkVGRlx1NkUxRFx1NkUzOFx1NkU4Mlx1NkVBQVx1NkU5OFx1NkVDOVx1NkVCN1x1NkVEM1x1NkVCRFx1NkVBRlx1NkVDNFx1NkVCMlx1NkVENFx1NkVENVx1NkU4Rlx1NkVBNVx1NkVDMlx1NkU5Rlx1NkY0MVx1NkYxMVx1NzA0Q1x1NkVFQ1x1NkVGOFx1NkVGRVx1NkYzRlx1NkVGMlx1NkYzMVx1NkVFRlx1NkYzMlx1NkVDQ1wiXSxcbltcImUwNDBcIixcIlx1NkYzRVx1NkYxM1x1NkVGN1x1NkY4Nlx1NkY3QVx1NkY3OFx1NkY4MVx1NkY4MFx1NkY2Rlx1NkY1Qlx1NkZGM1x1NkY2RFx1NkY4Mlx1NkY3Q1x1NkY1OFx1NkY4RVx1NkY5MVx1NkZDMlx1NkY2Nlx1NkZCM1x1NkZBM1x1NkZBMVx1NkZBNFx1NkZCOVx1NkZDNlx1NkZBQVx1NkZERlx1NkZENVx1NkZFQ1x1NkZENFx1NkZEOFx1NkZGMVx1NkZFRVx1NkZEQlx1NzAwOVx1NzAwQlx1NkZGQVx1NzAxMVx1NzAwMVx1NzAwRlx1NkZGRVx1NzAxQlx1NzAxQVx1NkY3NFx1NzAxRFx1NzAxOFx1NzAxRlx1NzAzMFx1NzAzRVx1NzAzMlx1NzA1MVx1NzA2M1x1NzA5OVx1NzA5Mlx1NzBBRlx1NzBGMVx1NzBBQ1x1NzBCOFx1NzBCM1x1NzBBRVx1NzBERlx1NzBDQlx1NzBERFwiXSxcbltcImUwODBcIixcIlx1NzBEOVx1NzEwOVx1NzBGRFx1NzExQ1x1NzExOVx1NzE2NVx1NzE1NVx1NzE4OFx1NzE2Nlx1NzE2Mlx1NzE0Q1x1NzE1Nlx1NzE2Q1x1NzE4Rlx1NzFGQlx1NzE4NFx1NzE5NVx1NzFBOFx1NzFBQ1x1NzFEN1x1NzFCOVx1NzFCRVx1NzFEMlx1NzFDOVx1NzFENFx1NzFDRVx1NzFFMFx1NzFFQ1x1NzFFN1x1NzFGNVx1NzFGQ1x1NzFGOVx1NzFGRlx1NzIwRFx1NzIxMFx1NzIxQlx1NzIyOFx1NzIyRFx1NzIyQ1x1NzIzMFx1NzIzMlx1NzIzQlx1NzIzQ1x1NzIzRlx1NzI0MFx1NzI0Nlx1NzI0Qlx1NzI1OFx1NzI3NFx1NzI3RVx1NzI4Mlx1NzI4MVx1NzI4N1x1NzI5Mlx1NzI5Nlx1NzJBMlx1NzJBN1x1NzJCOVx1NzJCMlx1NzJDM1x1NzJDNlx1NzJDNFx1NzJDRVx1NzJEMlx1NzJFMlx1NzJFMFx1NzJFMVx1NzJGOVx1NzJGN1x1NTAwRlx1NzMxN1x1NzMwQVx1NzMxQ1x1NzMxNlx1NzMxRFx1NzMzNFx1NzMyRlx1NzMyOVx1NzMyNVx1NzMzRVx1NzM0RVx1NzM0Rlx1OUVEOFx1NzM1N1x1NzM2QVx1NzM2OFx1NzM3MFx1NzM3OFx1NzM3NVx1NzM3Qlx1NzM3QVx1NzNDOFx1NzNCM1x1NzNDRVx1NzNCQlx1NzNDMFx1NzNFNVx1NzNFRVx1NzNERVx1NzRBMlx1NzQwNVx1NzQ2Rlx1NzQyNVx1NzNGOFx1NzQzMlx1NzQzQVx1NzQ1NVx1NzQzRlx1NzQ1Rlx1NzQ1OVx1NzQ0MVx1NzQ1Q1x1NzQ2OVx1NzQ3MFx1NzQ2M1x1NzQ2QVx1NzQ3Nlx1NzQ3RVx1NzQ4Qlx1NzQ5RVx1NzRBN1x1NzRDQVx1NzRDRlx1NzRENFx1NzNGMVwiXSxcbltcImUxNDBcIixcIlx1NzRFMFx1NzRFM1x1NzRFN1x1NzRFOVx1NzRFRVx1NzRGMlx1NzRGMFx1NzRGMVx1NzRGOFx1NzRGN1x1NzUwNFx1NzUwM1x1NzUwNVx1NzUwQ1x1NzUwRVx1NzUwRFx1NzUxNVx1NzUxM1x1NzUxRVx1NzUyNlx1NzUyQ1x1NzUzQ1x1NzU0NFx1NzU0RFx1NzU0QVx1NzU0OVx1NzU1Qlx1NzU0Nlx1NzU1QVx1NzU2OVx1NzU2NFx1NzU2N1x1NzU2Qlx1NzU2RFx1NzU3OFx1NzU3Nlx1NzU4Nlx1NzU4N1x1NzU3NFx1NzU4QVx1NzU4OVx1NzU4Mlx1NzU5NFx1NzU5QVx1NzU5RFx1NzVBNVx1NzVBM1x1NzVDMlx1NzVCM1x1NzVDM1x1NzVCNVx1NzVCRFx1NzVCOFx1NzVCQ1x1NzVCMVx1NzVDRFx1NzVDQVx1NzVEMlx1NzVEOVx1NzVFM1x1NzVERVx1NzVGRVx1NzVGRlwiXSxcbltcImUxODBcIixcIlx1NzVGQ1x1NzYwMVx1NzVGMFx1NzVGQVx1NzVGMlx1NzVGM1x1NzYwQlx1NzYwRFx1NzYwOVx1NzYxRlx1NzYyN1x1NzYyMFx1NzYyMVx1NzYyMlx1NzYyNFx1NzYzNFx1NzYzMFx1NzYzQlx1NzY0N1x1NzY0OFx1NzY0Nlx1NzY1Q1x1NzY1OFx1NzY2MVx1NzY2Mlx1NzY2OFx1NzY2OVx1NzY2QVx1NzY2N1x1NzY2Q1x1NzY3MFx1NzY3Mlx1NzY3Nlx1NzY3OFx1NzY3Q1x1NzY4MFx1NzY4M1x1NzY4OFx1NzY4Qlx1NzY4RVx1NzY5Nlx1NzY5M1x1NzY5OVx1NzY5QVx1NzZCMFx1NzZCNFx1NzZCOFx1NzZCOVx1NzZCQVx1NzZDMlx1NzZDRFx1NzZENlx1NzZEMlx1NzZERVx1NzZFMVx1NzZFNVx1NzZFN1x1NzZFQVx1ODYyRlx1NzZGQlx1NzcwOFx1NzcwN1x1NzcwNFx1NzcyOVx1NzcyNFx1NzcxRVx1NzcyNVx1NzcyNlx1NzcxQlx1NzczN1x1NzczOFx1Nzc0N1x1Nzc1QVx1Nzc2OFx1Nzc2Qlx1Nzc1Qlx1Nzc2NVx1Nzc3Rlx1Nzc3RVx1Nzc3OVx1Nzc4RVx1Nzc4Qlx1Nzc5MVx1NzdBMFx1Nzc5RVx1NzdCMFx1NzdCNlx1NzdCOVx1NzdCRlx1NzdCQ1x1NzdCRFx1NzdCQlx1NzdDN1x1NzdDRFx1NzdEN1x1NzdEQVx1NzdEQ1x1NzdFM1x1NzdFRVx1NzdGQ1x1NzgwQ1x1NzgxMlx1NzkyNlx1NzgyMFx1NzkyQVx1Nzg0NVx1Nzg4RVx1Nzg3NFx1Nzg4Nlx1Nzg3Q1x1Nzg5QVx1Nzg4Q1x1NzhBM1x1NzhCNVx1NzhBQVx1NzhBRlx1NzhEMVx1NzhDNlx1NzhDQlx1NzhENFx1NzhCRVx1NzhCQ1x1NzhDNVx1NzhDQVx1NzhFQ1wiXSxcbltcImUyNDBcIixcIlx1NzhFN1x1NzhEQVx1NzhGRFx1NzhGNFx1NzkwN1x1NzkxMlx1NzkxMVx1NzkxOVx1NzkyQ1x1NzkyQlx1Nzk0MFx1Nzk2MFx1Nzk1N1x1Nzk1Rlx1Nzk1QVx1Nzk1NVx1Nzk1M1x1Nzk3QVx1Nzk3Rlx1Nzk4QVx1Nzk5RFx1NzlBN1x1OUY0Qlx1NzlBQVx1NzlBRVx1NzlCM1x1NzlCOVx1NzlCQVx1NzlDOVx1NzlENVx1NzlFN1x1NzlFQ1x1NzlFMVx1NzlFM1x1N0EwOFx1N0EwRFx1N0ExOFx1N0ExOVx1N0EyMFx1N0ExRlx1Nzk4MFx1N0EzMVx1N0EzQlx1N0EzRVx1N0EzN1x1N0E0M1x1N0E1N1x1N0E0OVx1N0E2MVx1N0E2Mlx1N0E2OVx1OUY5RFx1N0E3MFx1N0E3OVx1N0E3RFx1N0E4OFx1N0E5N1x1N0E5NVx1N0E5OFx1N0E5Nlx1N0FBOVx1N0FDOFx1N0FCMFwiXSxcbltcImUyODBcIixcIlx1N0FCNlx1N0FDNVx1N0FDNFx1N0FCRlx1OTA4M1x1N0FDN1x1N0FDQVx1N0FDRFx1N0FDRlx1N0FENVx1N0FEM1x1N0FEOVx1N0FEQVx1N0FERFx1N0FFMVx1N0FFMlx1N0FFNlx1N0FFRFx1N0FGMFx1N0IwMlx1N0IwRlx1N0IwQVx1N0IwNlx1N0IzM1x1N0IxOFx1N0IxOVx1N0IxRVx1N0IzNVx1N0IyOFx1N0IzNlx1N0I1MFx1N0I3QVx1N0IwNFx1N0I0RFx1N0IwQlx1N0I0Q1x1N0I0NVx1N0I3NVx1N0I2NVx1N0I3NFx1N0I2N1x1N0I3MFx1N0I3MVx1N0I2Q1x1N0I2RVx1N0I5RFx1N0I5OFx1N0I5Rlx1N0I4RFx1N0I5Q1x1N0I5QVx1N0I4Qlx1N0I5Mlx1N0I4Rlx1N0I1RFx1N0I5OVx1N0JDQlx1N0JDMVx1N0JDQ1x1N0JDRlx1N0JCNFx1N0JDNlx1N0JERFx1N0JFOVx1N0MxMVx1N0MxNFx1N0JFNlx1N0JFNVx1N0M2MFx1N0MwMFx1N0MwN1x1N0MxM1x1N0JGM1x1N0JGN1x1N0MxN1x1N0MwRFx1N0JGNlx1N0MyM1x1N0MyN1x1N0MyQVx1N0MxRlx1N0MzN1x1N0MyQlx1N0MzRFx1N0M0Q1x1N0M0M1x1N0M1NFx1N0M0Rlx1N0M0MFx1N0M1MFx1N0M1OFx1N0M1Rlx1N0M2NFx1N0M1Nlx1N0M2NVx1N0M2Q1x1N0M3NVx1N0M4M1x1N0M5MFx1N0NBNFx1N0NBRFx1N0NBMlx1N0NBQlx1N0NBMVx1N0NBOFx1N0NCM1x1N0NCMlx1N0NCMVx1N0NBRVx1N0NCOVx1N0NCRFx1N0NDMFx1N0NDNVx1N0NDMlx1N0NEOFx1N0NEMlx1N0NEQ1x1N0NFMlx1OUIzQlx1N0NFRlx1N0NGMlx1N0NGNFx1N0NGNlx1N0NGQVx1N0QwNlwiXSxcbltcImUzNDBcIixcIlx1N0QwMlx1N0QxQ1x1N0QxNVx1N0QwQVx1N0Q0NVx1N0Q0Qlx1N0QyRVx1N0QzMlx1N0QzRlx1N0QzNVx1N0Q0Nlx1N0Q3M1x1N0Q1Nlx1N0Q0RVx1N0Q3Mlx1N0Q2OFx1N0Q2RVx1N0Q0Rlx1N0Q2M1x1N0Q5M1x1N0Q4OVx1N0Q1Qlx1N0Q4Rlx1N0Q3RFx1N0Q5Qlx1N0RCQVx1N0RBRVx1N0RBM1x1N0RCNVx1N0RDN1x1N0RCRFx1N0RBQlx1N0UzRFx1N0RBMlx1N0RBRlx1N0REQ1x1N0RCOFx1N0Q5Rlx1N0RCMFx1N0REOFx1N0RERFx1N0RFNFx1N0RERVx1N0RGQlx1N0RGMlx1N0RFMVx1N0UwNVx1N0UwQVx1N0UyM1x1N0UyMVx1N0UxMlx1N0UzMVx1N0UxRlx1N0UwOVx1N0UwQlx1N0UyMlx1N0U0Nlx1N0U2Nlx1N0UzQlx1N0UzNVx1N0UzOVx1N0U0M1x1N0UzN1wiXSxcbltcImUzODBcIixcIlx1N0UzMlx1N0UzQVx1N0U2N1x1N0U1RFx1N0U1Nlx1N0U1RVx1N0U1OVx1N0U1QVx1N0U3OVx1N0U2QVx1N0U2OVx1N0U3Q1x1N0U3Qlx1N0U4M1x1N0RENVx1N0U3RFx1OEZBRVx1N0U3Rlx1N0U4OFx1N0U4OVx1N0U4Q1x1N0U5Mlx1N0U5MFx1N0U5M1x1N0U5NFx1N0U5Nlx1N0U4RVx1N0U5Qlx1N0U5Q1x1N0YzOFx1N0YzQVx1N0Y0NVx1N0Y0Q1x1N0Y0RFx1N0Y0RVx1N0Y1MFx1N0Y1MVx1N0Y1NVx1N0Y1NFx1N0Y1OFx1N0Y1Rlx1N0Y2MFx1N0Y2OFx1N0Y2OVx1N0Y2N1x1N0Y3OFx1N0Y4Mlx1N0Y4Nlx1N0Y4M1x1N0Y4OFx1N0Y4N1x1N0Y4Q1x1N0Y5NFx1N0Y5RVx1N0Y5RFx1N0Y5QVx1N0ZBM1x1N0ZBRlx1N0ZCMlx1N0ZCOVx1N0ZBRVx1N0ZCNlx1N0ZCOFx1OEI3MVx1N0ZDNVx1N0ZDNlx1N0ZDQVx1N0ZENVx1N0ZENFx1N0ZFMVx1N0ZFNlx1N0ZFOVx1N0ZGM1x1N0ZGOVx1OThEQ1x1ODAwNlx1ODAwNFx1ODAwQlx1ODAxMlx1ODAxOFx1ODAxOVx1ODAxQ1x1ODAyMVx1ODAyOFx1ODAzRlx1ODAzQlx1ODA0QVx1ODA0Nlx1ODA1Mlx1ODA1OFx1ODA1QVx1ODA1Rlx1ODA2Mlx1ODA2OFx1ODA3M1x1ODA3Mlx1ODA3MFx1ODA3Nlx1ODA3OVx1ODA3RFx1ODA3Rlx1ODA4NFx1ODA4Nlx1ODA4NVx1ODA5Qlx1ODA5M1x1ODA5QVx1ODBBRFx1NTE5MFx1ODBBQ1x1ODBEQlx1ODBFNVx1ODBEOVx1ODBERFx1ODBDNFx1ODBEQVx1ODBENlx1ODEwOVx1ODBFRlx1ODBGMVx1ODExQlx1ODEyOVx1ODEyM1x1ODEyRlx1ODE0QlwiXSxcbltcImU0NDBcIixcIlx1OTY4Qlx1ODE0Nlx1ODEzRVx1ODE1M1x1ODE1MVx1ODBGQ1x1ODE3MVx1ODE2RVx1ODE2NVx1ODE2Nlx1ODE3NFx1ODE4M1x1ODE4OFx1ODE4QVx1ODE4MFx1ODE4Mlx1ODFBMFx1ODE5NVx1ODFBNFx1ODFBM1x1ODE1Rlx1ODE5M1x1ODFBOVx1ODFCMFx1ODFCNVx1ODFCRVx1ODFCOFx1ODFCRFx1ODFDMFx1ODFDMlx1ODFCQVx1ODFDOVx1ODFDRFx1ODFEMVx1ODFEOVx1ODFEOFx1ODFDOFx1ODFEQVx1ODFERlx1ODFFMFx1ODFFN1x1ODFGQVx1ODFGQlx1ODFGRVx1ODIwMVx1ODIwMlx1ODIwNVx1ODIwN1x1ODIwQVx1ODIwRFx1ODIxMFx1ODIxNlx1ODIyOVx1ODIyQlx1ODIzOFx1ODIzM1x1ODI0MFx1ODI1OVx1ODI1OFx1ODI1RFx1ODI1QVx1ODI1Rlx1ODI2NFwiXSxcbltcImU0ODBcIixcIlx1ODI2Mlx1ODI2OFx1ODI2QVx1ODI2Qlx1ODIyRVx1ODI3MVx1ODI3N1x1ODI3OFx1ODI3RVx1ODI4RFx1ODI5Mlx1ODJBQlx1ODI5Rlx1ODJCQlx1ODJBQ1x1ODJFMVx1ODJFM1x1ODJERlx1ODJEMlx1ODJGNFx1ODJGM1x1ODJGQVx1ODM5M1x1ODMwM1x1ODJGQlx1ODJGOVx1ODJERVx1ODMwNlx1ODJEQ1x1ODMwOVx1ODJEOVx1ODMzNVx1ODMzNFx1ODMxNlx1ODMzMlx1ODMzMVx1ODM0MFx1ODMzOVx1ODM1MFx1ODM0NVx1ODMyRlx1ODMyQlx1ODMxN1x1ODMxOFx1ODM4NVx1ODM5QVx1ODNBQVx1ODM5Rlx1ODNBMlx1ODM5Nlx1ODMyM1x1ODM4RVx1ODM4N1x1ODM4QVx1ODM3Q1x1ODNCNVx1ODM3M1x1ODM3NVx1ODNBMFx1ODM4OVx1ODNBOFx1ODNGNFx1ODQxM1x1ODNFQlx1ODNDRVx1ODNGRFx1ODQwM1x1ODNEOFx1ODQwQlx1ODNDMVx1ODNGN1x1ODQwN1x1ODNFMFx1ODNGMlx1ODQwRFx1ODQyMlx1ODQyMFx1ODNCRFx1ODQzOFx1ODUwNlx1ODNGQlx1ODQ2RFx1ODQyQVx1ODQzQ1x1ODU1QVx1ODQ4NFx1ODQ3N1x1ODQ2Qlx1ODRBRFx1ODQ2RVx1ODQ4Mlx1ODQ2OVx1ODQ0Nlx1ODQyQ1x1ODQ2Rlx1ODQ3OVx1ODQzNVx1ODRDQVx1ODQ2Mlx1ODRCOVx1ODRCRlx1ODQ5Rlx1ODREOVx1ODRDRFx1ODRCQlx1ODREQVx1ODREMFx1ODRDMVx1ODRDNlx1ODRENlx1ODRBMVx1ODUyMVx1ODRGRlx1ODRGNFx1ODUxN1x1ODUxOFx1ODUyQ1x1ODUxRlx1ODUxNVx1ODUxNFx1ODRGQ1x1ODU0MFx1ODU2M1x1ODU1OFx1ODU0OFwiXSxcbltcImU1NDBcIixcIlx1ODU0MVx1ODYwMlx1ODU0Qlx1ODU1NVx1ODU4MFx1ODVBNFx1ODU4OFx1ODU5MVx1ODU4QVx1ODVBOFx1ODU2RFx1ODU5NFx1ODU5Qlx1ODVFQVx1ODU4N1x1ODU5Q1x1ODU3N1x1ODU3RVx1ODU5MFx1ODVDOVx1ODVCQVx1ODVDRlx1ODVCOVx1ODVEMFx1ODVENVx1ODVERFx1ODVFNVx1ODVEQ1x1ODVGOVx1ODYwQVx1ODYxM1x1ODYwQlx1ODVGRVx1ODVGQVx1ODYwNlx1ODYyMlx1ODYxQVx1ODYzMFx1ODYzRlx1ODY0RFx1NEU1NVx1ODY1NFx1ODY1Rlx1ODY2N1x1ODY3MVx1ODY5M1x1ODZBM1x1ODZBOVx1ODZBQVx1ODY4Qlx1ODY4Q1x1ODZCNlx1ODZBRlx1ODZDNFx1ODZDNlx1ODZCMFx1ODZDOVx1ODgyM1x1ODZBQlx1ODZENFx1ODZERVx1ODZFOVx1ODZFQ1wiXSxcbltcImU1ODBcIixcIlx1ODZERlx1ODZEQlx1ODZFRlx1ODcxMlx1ODcwNlx1ODcwOFx1ODcwMFx1ODcwM1x1ODZGQlx1ODcxMVx1ODcwOVx1ODcwRFx1ODZGOVx1ODcwQVx1ODczNFx1ODczRlx1ODczN1x1ODczQlx1ODcyNVx1ODcyOVx1ODcxQVx1ODc2MFx1ODc1Rlx1ODc3OFx1ODc0Q1x1ODc0RVx1ODc3NFx1ODc1N1x1ODc2OFx1ODc2RVx1ODc1OVx1ODc1M1x1ODc2M1x1ODc2QVx1ODgwNVx1ODdBMlx1ODc5Rlx1ODc4Mlx1ODdBRlx1ODdDQlx1ODdCRFx1ODdDMFx1ODdEMFx1OTZENlx1ODdBQlx1ODdDNFx1ODdCM1x1ODdDN1x1ODdDNlx1ODdCQlx1ODdFRlx1ODdGMlx1ODdFMFx1ODgwRlx1ODgwRFx1ODdGRVx1ODdGNlx1ODdGN1x1ODgwRVx1ODdEMlx1ODgxMVx1ODgxNlx1ODgxNVx1ODgyMlx1ODgyMVx1ODgzMVx1ODgzNlx1ODgzOVx1ODgyN1x1ODgzQlx1ODg0NFx1ODg0Mlx1ODg1Mlx1ODg1OVx1ODg1RVx1ODg2Mlx1ODg2Qlx1ODg4MVx1ODg3RVx1ODg5RVx1ODg3NVx1ODg3RFx1ODhCNVx1ODg3Mlx1ODg4Mlx1ODg5N1x1ODg5Mlx1ODhBRVx1ODg5OVx1ODhBMlx1ODg4RFx1ODhBNFx1ODhCMFx1ODhCRlx1ODhCMVx1ODhDM1x1ODhDNFx1ODhENFx1ODhEOFx1ODhEOVx1ODhERFx1ODhGOVx1ODkwMlx1ODhGQ1x1ODhGNFx1ODhFOFx1ODhGMlx1ODkwNFx1ODkwQ1x1ODkwQVx1ODkxM1x1ODk0M1x1ODkxRVx1ODkyNVx1ODkyQVx1ODkyQlx1ODk0MVx1ODk0NFx1ODkzQlx1ODkzNlx1ODkzOFx1ODk0Q1x1ODkxRFx1ODk2MFx1ODk1RVwiXSxcbltcImU2NDBcIixcIlx1ODk2Nlx1ODk2NFx1ODk2RFx1ODk2QVx1ODk2Rlx1ODk3NFx1ODk3N1x1ODk3RVx1ODk4M1x1ODk4OFx1ODk4QVx1ODk5M1x1ODk5OFx1ODlBMVx1ODlBOVx1ODlBNlx1ODlBQ1x1ODlBRlx1ODlCMlx1ODlCQVx1ODlCRFx1ODlCRlx1ODlDMFx1ODlEQVx1ODlEQ1x1ODlERFx1ODlFN1x1ODlGNFx1ODlGOFx1OEEwM1x1OEExNlx1OEExMFx1OEEwQ1x1OEExQlx1OEExRFx1OEEyNVx1OEEzNlx1OEE0MVx1OEE1Qlx1OEE1Mlx1OEE0Nlx1OEE0OFx1OEE3Q1x1OEE2RFx1OEE2Q1x1OEE2Mlx1OEE4NVx1OEE4Mlx1OEE4NFx1OEFBOFx1OEFBMVx1OEE5MVx1OEFBNVx1OEFBNlx1OEE5QVx1OEFBM1x1OEFDNFx1OEFDRFx1OEFDMlx1OEFEQVx1OEFFQlx1OEFGM1x1OEFFN1wiXSxcbltcImU2ODBcIixcIlx1OEFFNFx1OEFGMVx1OEIxNFx1OEFFMFx1OEFFMlx1OEFGN1x1OEFERVx1OEFEQlx1OEIwQ1x1OEIwN1x1OEIxQVx1OEFFMVx1OEIxNlx1OEIxMFx1OEIxN1x1OEIyMFx1OEIzM1x1OTdBQlx1OEIyNlx1OEIyQlx1OEIzRVx1OEIyOFx1OEI0MVx1OEI0Q1x1OEI0Rlx1OEI0RVx1OEI0OVx1OEI1Nlx1OEI1Qlx1OEI1QVx1OEI2Qlx1OEI1Rlx1OEI2Q1x1OEI2Rlx1OEI3NFx1OEI3RFx1OEI4MFx1OEI4Q1x1OEI4RVx1OEI5Mlx1OEI5M1x1OEI5Nlx1OEI5OVx1OEI5QVx1OEMzQVx1OEM0MVx1OEMzRlx1OEM0OFx1OEM0Q1x1OEM0RVx1OEM1MFx1OEM1NVx1OEM2Mlx1OEM2Q1x1OEM3OFx1OEM3QVx1OEM4Mlx1OEM4OVx1OEM4NVx1OEM4QVx1OEM4RFx1OEM4RVx1OEM5NFx1OEM3Q1x1OEM5OFx1NjIxRFx1OENBRFx1OENBQVx1OENCRFx1OENCMlx1OENCM1x1OENBRVx1OENCNlx1OENDOFx1OENDMVx1OENFNFx1OENFM1x1OENEQVx1OENGRFx1OENGQVx1OENGQlx1OEQwNFx1OEQwNVx1OEQwQVx1OEQwN1x1OEQwRlx1OEQwRFx1OEQxMFx1OUY0RVx1OEQxM1x1OENDRFx1OEQxNFx1OEQxNlx1OEQ2N1x1OEQ2RFx1OEQ3MVx1OEQ3M1x1OEQ4MVx1OEQ5OVx1OERDMlx1OERCRVx1OERCQVx1OERDRlx1OEREQVx1OERENlx1OERDQ1x1OEREQlx1OERDQlx1OERFQVx1OERFQlx1OERERlx1OERFM1x1OERGQ1x1OEUwOFx1OEUwOVx1OERGRlx1OEUxRFx1OEUxRVx1OEUxMFx1OEUxRlx1OEU0Mlx1OEUzNVx1OEUzMFx1OEUzNFx1OEU0QVwiXSxcbltcImU3NDBcIixcIlx1OEU0N1x1OEU0OVx1OEU0Q1x1OEU1MFx1OEU0OFx1OEU1OVx1OEU2NFx1OEU2MFx1OEUyQVx1OEU2M1x1OEU1NVx1OEU3Nlx1OEU3Mlx1OEU3Q1x1OEU4MVx1OEU4N1x1OEU4NVx1OEU4NFx1OEU4Qlx1OEU4QVx1OEU5M1x1OEU5MVx1OEU5NFx1OEU5OVx1OEVBQVx1OEVBMVx1OEVBQ1x1OEVCMFx1OEVDNlx1OEVCMVx1OEVCRVx1OEVDNVx1OEVDOFx1OEVDQlx1OEVEQlx1OEVFM1x1OEVGQ1x1OEVGQlx1OEVFQlx1OEVGRVx1OEYwQVx1OEYwNVx1OEYxNVx1OEYxMlx1OEYxOVx1OEYxM1x1OEYxQ1x1OEYxRlx1OEYxQlx1OEYwQ1x1OEYyNlx1OEYzM1x1OEYzQlx1OEYzOVx1OEY0NVx1OEY0Mlx1OEYzRVx1OEY0Q1x1OEY0OVx1OEY0Nlx1OEY0RVx1OEY1N1x1OEY1Q1wiXSxcbltcImU3ODBcIixcIlx1OEY2Mlx1OEY2M1x1OEY2NFx1OEY5Q1x1OEY5Rlx1OEZBM1x1OEZBRFx1OEZBRlx1OEZCN1x1OEZEQVx1OEZFNVx1OEZFMlx1OEZFQVx1OEZFRlx1OTA4N1x1OEZGNFx1OTAwNVx1OEZGOVx1OEZGQVx1OTAxMVx1OTAxNVx1OTAyMVx1OTAwRFx1OTAxRVx1OTAxNlx1OTAwQlx1OTAyN1x1OTAzNlx1OTAzNVx1OTAzOVx1OEZGOFx1OTA0Rlx1OTA1MFx1OTA1MVx1OTA1Mlx1OTAwRVx1OTA0OVx1OTAzRVx1OTA1Nlx1OTA1OFx1OTA1RVx1OTA2OFx1OTA2Rlx1OTA3Nlx1OTZBOFx1OTA3Mlx1OTA4Mlx1OTA3RFx1OTA4MVx1OTA4MFx1OTA4QVx1OTA4OVx1OTA4Rlx1OTBBOFx1OTBBRlx1OTBCMVx1OTBCNVx1OTBFMlx1OTBFNFx1NjI0OFx1OTBEQlx1OTEwMlx1OTExMlx1OTExOVx1OTEzMlx1OTEzMFx1OTE0QVx1OTE1Nlx1OTE1OFx1OTE2M1x1OTE2NVx1OTE2OVx1OTE3M1x1OTE3Mlx1OTE4Qlx1OTE4OVx1OTE4Mlx1OTFBMlx1OTFBQlx1OTFBRlx1OTFBQVx1OTFCNVx1OTFCNFx1OTFCQVx1OTFDMFx1OTFDMVx1OTFDOVx1OTFDQlx1OTFEMFx1OTFENlx1OTFERlx1OTFFMVx1OTFEQlx1OTFGQ1x1OTFGNVx1OTFGNlx1OTIxRVx1OTFGRlx1OTIxNFx1OTIyQ1x1OTIxNVx1OTIxMVx1OTI1RVx1OTI1N1x1OTI0NVx1OTI0OVx1OTI2NFx1OTI0OFx1OTI5NVx1OTIzRlx1OTI0Qlx1OTI1MFx1OTI5Q1x1OTI5Nlx1OTI5M1x1OTI5Qlx1OTI1QVx1OTJDRlx1OTJCOVx1OTJCN1x1OTJFOVx1OTMwRlx1OTJGQVx1OTM0NFx1OTMyRVwiXSxcbltcImU4NDBcIixcIlx1OTMxOVx1OTMyMlx1OTMxQVx1OTMyM1x1OTMzQVx1OTMzNVx1OTMzQlx1OTM1Q1x1OTM2MFx1OTM3Q1x1OTM2RVx1OTM1Nlx1OTNCMFx1OTNBQ1x1OTNBRFx1OTM5NFx1OTNCOVx1OTNENlx1OTNEN1x1OTNFOFx1OTNFNVx1OTNEOFx1OTNDM1x1OTNERFx1OTNEMFx1OTNDOFx1OTNFNFx1OTQxQVx1OTQxNFx1OTQxM1x1OTQwM1x1OTQwN1x1OTQxMFx1OTQzNlx1OTQyQlx1OTQzNVx1OTQyMVx1OTQzQVx1OTQ0MVx1OTQ1Mlx1OTQ0NFx1OTQ1Qlx1OTQ2MFx1OTQ2Mlx1OTQ1RVx1OTQ2QVx1OTIyOVx1OTQ3MFx1OTQ3NVx1OTQ3N1x1OTQ3RFx1OTQ1QVx1OTQ3Q1x1OTQ3RVx1OTQ4MVx1OTQ3Rlx1OTU4Mlx1OTU4N1x1OTU4QVx1OTU5NFx1OTU5Nlx1OTU5OFx1OTU5OVwiXSxcbltcImU4ODBcIixcIlx1OTVBMFx1OTVBOFx1OTVBN1x1OTVBRFx1OTVCQ1x1OTVCQlx1OTVCOVx1OTVCRVx1OTVDQVx1NkZGNlx1OTVDM1x1OTVDRFx1OTVDQ1x1OTVENVx1OTVENFx1OTVENlx1OTVEQ1x1OTVFMVx1OTVFNVx1OTVFMlx1OTYyMVx1OTYyOFx1OTYyRVx1OTYyRlx1OTY0Mlx1OTY0Q1x1OTY0Rlx1OTY0Qlx1OTY3N1x1OTY1Q1x1OTY1RVx1OTY1RFx1OTY1Rlx1OTY2Nlx1OTY3Mlx1OTY2Q1x1OTY4RFx1OTY5OFx1OTY5NVx1OTY5N1x1OTZBQVx1OTZBN1x1OTZCMVx1OTZCMlx1OTZCMFx1OTZCNFx1OTZCNlx1OTZCOFx1OTZCOVx1OTZDRVx1OTZDQlx1OTZDOVx1OTZDRFx1ODk0RFx1OTZEQ1x1OTcwRFx1OTZENVx1OTZGOVx1OTcwNFx1OTcwNlx1OTcwOFx1OTcxM1x1OTcwRVx1OTcxMVx1OTcwRlx1OTcxNlx1OTcxOVx1OTcyNFx1OTcyQVx1OTczMFx1OTczOVx1OTczRFx1OTczRVx1OTc0NFx1OTc0Nlx1OTc0OFx1OTc0Mlx1OTc0OVx1OTc1Q1x1OTc2MFx1OTc2NFx1OTc2Nlx1OTc2OFx1NTJEMlx1OTc2Qlx1OTc3MVx1OTc3OVx1OTc4NVx1OTc3Q1x1OTc4MVx1OTc3QVx1OTc4Nlx1OTc4Qlx1OTc4Rlx1OTc5MFx1OTc5Q1x1OTdBOFx1OTdBNlx1OTdBM1x1OTdCM1x1OTdCNFx1OTdDM1x1OTdDNlx1OTdDOFx1OTdDQlx1OTdEQ1x1OTdFRFx1OUY0Rlx1OTdGMlx1N0FERlx1OTdGNlx1OTdGNVx1OTgwRlx1OTgwQ1x1OTgzOFx1OTgyNFx1OTgyMVx1OTgzN1x1OTgzRFx1OTg0Nlx1OTg0Rlx1OTg0Qlx1OTg2Qlx1OTg2Rlx1OTg3MFwiXSxcbltcImU5NDBcIixcIlx1OTg3MVx1OTg3NFx1OTg3M1x1OThBQVx1OThBRlx1OThCMVx1OThCNlx1OThDNFx1OThDM1x1OThDNlx1OThFOVx1OThFQlx1OTkwM1x1OTkwOVx1OTkxMlx1OTkxNFx1OTkxOFx1OTkyMVx1OTkxRFx1OTkxRVx1OTkyNFx1OTkyMFx1OTkyQ1x1OTkyRVx1OTkzRFx1OTkzRVx1OTk0Mlx1OTk0OVx1OTk0NVx1OTk1MFx1OTk0Qlx1OTk1MVx1OTk1Mlx1OTk0Q1x1OTk1NVx1OTk5N1x1OTk5OFx1OTlBNVx1OTlBRFx1OTlBRVx1OTlCQ1x1OTlERlx1OTlEQlx1OTlERFx1OTlEOFx1OTlEMVx1OTlFRFx1OTlFRVx1OTlGMVx1OTlGMlx1OTlGQlx1OTlGOFx1OUEwMVx1OUEwRlx1OUEwNVx1OTlFMlx1OUExOVx1OUEyQlx1OUEzN1x1OUE0NVx1OUE0Mlx1OUE0MFx1OUE0M1wiXSxcbltcImU5ODBcIixcIlx1OUEzRVx1OUE1NVx1OUE0RFx1OUE1Qlx1OUE1N1x1OUE1Rlx1OUE2Mlx1OUE2NVx1OUE2NFx1OUE2OVx1OUE2Qlx1OUE2QVx1OUFBRFx1OUFCMFx1OUFCQ1x1OUFDMFx1OUFDRlx1OUFEMVx1OUFEM1x1OUFENFx1OUFERVx1OUFERlx1OUFFMlx1OUFFM1x1OUFFNlx1OUFFRlx1OUFFQlx1OUFFRVx1OUFGNFx1OUFGMVx1OUFGN1x1OUFGQlx1OUIwNlx1OUIxOFx1OUIxQVx1OUIxRlx1OUIyMlx1OUIyM1x1OUIyNVx1OUIyN1x1OUIyOFx1OUIyOVx1OUIyQVx1OUIyRVx1OUIyRlx1OUIzMlx1OUI0NFx1OUI0M1x1OUI0Rlx1OUI0RFx1OUI0RVx1OUI1MVx1OUI1OFx1OUI3NFx1OUI5M1x1OUI4M1x1OUI5MVx1OUI5Nlx1OUI5N1x1OUI5Rlx1OUJBMFx1OUJBOFx1OUJCNFx1OUJDMFx1OUJDQVx1OUJCOVx1OUJDNlx1OUJDRlx1OUJEMVx1OUJEMlx1OUJFM1x1OUJFMlx1OUJFNFx1OUJENFx1OUJFMVx1OUMzQVx1OUJGMlx1OUJGMVx1OUJGMFx1OUMxNVx1OUMxNFx1OUMwOVx1OUMxM1x1OUMwQ1x1OUMwNlx1OUMwOFx1OUMxMlx1OUMwQVx1OUMwNFx1OUMyRVx1OUMxQlx1OUMyNVx1OUMyNFx1OUMyMVx1OUMzMFx1OUM0N1x1OUMzMlx1OUM0Nlx1OUMzRVx1OUM1QVx1OUM2MFx1OUM2N1x1OUM3Nlx1OUM3OFx1OUNFN1x1OUNFQ1x1OUNGMFx1OUQwOVx1OUQwOFx1OUNFQlx1OUQwM1x1OUQwNlx1OUQyQVx1OUQyNlx1OURBRlx1OUQyM1x1OUQxRlx1OUQ0NFx1OUQxNVx1OUQxMlx1OUQ0MVx1OUQzRlx1OUQzRVx1OUQ0Nlx1OUQ0OFwiXSxcbltcImVhNDBcIixcIlx1OUQ1RFx1OUQ1RVx1OUQ2NFx1OUQ1MVx1OUQ1MFx1OUQ1OVx1OUQ3Mlx1OUQ4OVx1OUQ4N1x1OURBQlx1OUQ2Rlx1OUQ3QVx1OUQ5QVx1OURBNFx1OURBOVx1OURCMlx1OURDNFx1OURDMVx1OURCQlx1OURCOFx1OURCQVx1OURDNlx1OURDRlx1OURDMlx1OUREOVx1OUREM1x1OURGOFx1OURFNlx1OURFRFx1OURFRlx1OURGRFx1OUUxQVx1OUUxQlx1OUUxRVx1OUU3NVx1OUU3OVx1OUU3RFx1OUU4MVx1OUU4OFx1OUU4Qlx1OUU4Q1x1OUU5Mlx1OUU5NVx1OUU5MVx1OUU5RFx1OUVBNVx1OUVBOVx1OUVCOFx1OUVBQVx1OUVBRFx1OTc2MVx1OUVDQ1x1OUVDRVx1OUVDRlx1OUVEMFx1OUVENFx1OUVEQ1x1OUVERVx1OUVERFx1OUVFMFx1OUVFNVx1OUVFOFx1OUVFRlwiXSxcbltcImVhODBcIixcIlx1OUVGNFx1OUVGNlx1OUVGN1x1OUVGOVx1OUVGQlx1OUVGQ1x1OUVGRFx1OUYwN1x1OUYwOFx1NzZCN1x1OUYxNVx1OUYyMVx1OUYyQ1x1OUYzRVx1OUY0QVx1OUY1Mlx1OUY1NFx1OUY2M1x1OUY1Rlx1OUY2MFx1OUY2MVx1OUY2Nlx1OUY2N1x1OUY2Q1x1OUY2QVx1OUY3N1x1OUY3Mlx1OUY3Nlx1OUY5NVx1OUY5Q1x1OUZBMFx1NTgyRlx1NjlDN1x1OTA1OVx1NzQ2NFx1NTFEQ1x1NzE5OVwiXSxcbltcImVkNDBcIixcIlx1N0U4QVx1ODkxQ1x1OTM0OFx1OTI4OFx1ODREQ1x1NEZDOVx1NzBCQlx1NjYzMVx1NjhDOFx1OTJGOVx1NjZGQlx1NUY0NVx1NEUyOFx1NEVFMVx1NEVGQ1x1NEYwMFx1NEYwM1x1NEYzOVx1NEY1Nlx1NEY5Mlx1NEY4QVx1NEY5QVx1NEY5NFx1NEZDRFx1NTA0MFx1NTAyMlx1NEZGRlx1NTAxRVx1NTA0Nlx1NTA3MFx1NTA0Mlx1NTA5NFx1NTBGNFx1NTBEOFx1NTE0QVx1NTE2NFx1NTE5RFx1NTFCRVx1NTFFQ1x1NTIxNVx1NTI5Q1x1NTJBNlx1NTJDMFx1NTJEQlx1NTMwMFx1NTMwN1x1NTMyNFx1NTM3Mlx1NTM5M1x1NTNCMlx1NTNERFx1RkEwRVx1NTQ5Q1x1NTQ4QVx1NTRBOVx1NTRGRlx1NTU4Nlx1NTc1OVx1NTc2NVx1NTdBQ1x1NTdDOFx1NTdDN1x1RkEwRlwiXSxcbltcImVkODBcIixcIlx1RkExMFx1NTg5RVx1NThCMlx1NTkwQlx1NTk1M1x1NTk1Qlx1NTk1RFx1NTk2M1x1NTlBNFx1NTlCQVx1NUI1Nlx1NUJDMFx1NzUyRlx1NUJEOFx1NUJFQ1x1NUMxRVx1NUNBNlx1NUNCQVx1NUNGNVx1NUQyN1x1NUQ1M1x1RkExMVx1NUQ0Mlx1NUQ2RFx1NURCOFx1NURCOVx1NUREMFx1NUYyMVx1NUYzNFx1NUY2N1x1NUZCN1x1NUZERVx1NjA1RFx1NjA4NVx1NjA4QVx1NjBERVx1NjBENVx1NjEyMFx1NjBGMlx1NjExMVx1NjEzN1x1NjEzMFx1NjE5OFx1NjIxM1x1NjJBNlx1NjNGNVx1NjQ2MFx1NjQ5RFx1NjRDRVx1NjU0RVx1NjYwMFx1NjYxNVx1NjYzQlx1NjYwOVx1NjYyRVx1NjYxRVx1NjYyNFx1NjY2NVx1NjY1N1x1NjY1OVx1RkExMlx1NjY3M1x1NjY5OVx1NjZBMFx1NjZCMlx1NjZCRlx1NjZGQVx1NjcwRVx1RjkyOVx1Njc2Nlx1NjdCQlx1Njg1Mlx1NjdDMFx1NjgwMVx1Njg0NFx1NjhDRlx1RkExM1x1Njk2OFx1RkExNFx1Njk5OFx1NjlFMlx1NkEzMFx1NkE2Qlx1NkE0Nlx1NkE3M1x1NkE3RVx1NkFFMlx1NkFFNFx1NkJENlx1NkMzRlx1NkM1Q1x1NkM4Nlx1NkM2Rlx1NkNEQVx1NkQwNFx1NkQ4N1x1NkQ2Rlx1NkQ5Nlx1NkRBQ1x1NkRDRlx1NkRGOFx1NkRGMlx1NkRGQ1x1NkUzOVx1NkU1Q1x1NkUyN1x1NkUzQ1x1NkVCRlx1NkY4OFx1NkZCNVx1NkZGNVx1NzAwNVx1NzAwN1x1NzAyOFx1NzA4NVx1NzBBQlx1NzEwRlx1NzEwNFx1NzE1Q1x1NzE0Nlx1NzE0N1x1RkExNVx1NzFDMVx1NzFGRVx1NzJCMVwiXSxcbltcImVlNDBcIixcIlx1NzJCRVx1NzMyNFx1RkExNlx1NzM3N1x1NzNCRFx1NzNDOVx1NzNENlx1NzNFM1x1NzNEMlx1NzQwN1x1NzNGNVx1NzQyNlx1NzQyQVx1NzQyOVx1NzQyRVx1NzQ2Mlx1NzQ4OVx1NzQ5Rlx1NzUwMVx1NzU2Rlx1NzY4Mlx1NzY5Q1x1NzY5RVx1NzY5Qlx1NzZBNlx1RkExN1x1Nzc0Nlx1NTJBRlx1NzgyMVx1Nzg0RVx1Nzg2NFx1Nzg3QVx1NzkzMFx1RkExOFx1RkExOVx1RkExQVx1Nzk5NFx1RkExQlx1Nzk5Qlx1N0FEMVx1N0FFN1x1RkExQ1x1N0FFQlx1N0I5RVx1RkExRFx1N0Q0OFx1N0Q1Q1x1N0RCN1x1N0RBMFx1N0RENlx1N0U1Mlx1N0Y0N1x1N0ZBMVx1RkExRVx1ODMwMVx1ODM2Mlx1ODM3Rlx1ODNDN1x1ODNGNlx1ODQ0OFx1ODRCNFx1ODU1M1x1ODU1OVwiXSxcbltcImVlODBcIixcIlx1ODU2Qlx1RkExRlx1ODVCMFx1RkEyMFx1RkEyMVx1ODgwN1x1ODhGNVx1OEExMlx1OEEzN1x1OEE3OVx1OEFBN1x1OEFCRVx1OEFERlx1RkEyMlx1OEFGNlx1OEI1M1x1OEI3Rlx1OENGMFx1OENGNFx1OEQxMlx1OEQ3Nlx1RkEyM1x1OEVDRlx1RkEyNFx1RkEyNVx1OTA2N1x1OTBERVx1RkEyNlx1OTExNVx1OTEyN1x1OTFEQVx1OTFEN1x1OTFERVx1OTFFRFx1OTFFRVx1OTFFNFx1OTFFNVx1OTIwNlx1OTIxMFx1OTIwQVx1OTIzQVx1OTI0MFx1OTIzQ1x1OTI0RVx1OTI1OVx1OTI1MVx1OTIzOVx1OTI2N1x1OTJBN1x1OTI3N1x1OTI3OFx1OTJFN1x1OTJEN1x1OTJEOVx1OTJEMFx1RkEyN1x1OTJENVx1OTJFMFx1OTJEM1x1OTMyNVx1OTMyMVx1OTJGQlx1RkEyOFx1OTMxRVx1OTJGRlx1OTMxRFx1OTMwMlx1OTM3MFx1OTM1N1x1OTNBNFx1OTNDNlx1OTNERVx1OTNGOFx1OTQzMVx1OTQ0NVx1OTQ0OFx1OTU5Mlx1RjlEQ1x1RkEyOVx1OTY5RFx1OTZBRlx1OTczM1x1OTczQlx1OTc0M1x1OTc0RFx1OTc0Rlx1OTc1MVx1OTc1NVx1OTg1N1x1OTg2NVx1RkEyQVx1RkEyQlx1OTkyN1x1RkEyQ1x1OTk5RVx1OUE0RVx1OUFEOVx1OUFEQ1x1OUI3NVx1OUI3Mlx1OUI4Rlx1OUJCMVx1OUJCQlx1OUMwMFx1OUQ3MFx1OUQ2Qlx1RkEyRFx1OUUxOVx1OUVEMVwiXSxcbltcImVlZWZcIixcIlx1MjE3MFwiLDksXCJcdUZGRTJcdUZGRTRcdUZGMDdcdUZGMDJcIl0sXG5bXCJmMDQwXCIsXCJcdUUwMDBcIiw2Ml0sXG5bXCJmMDgwXCIsXCJcdUUwM0ZcIiwxMjRdLFxuW1wiZjE0MFwiLFwiXHVFMEJDXCIsNjJdLFxuW1wiZjE4MFwiLFwiXHVFMEZCXCIsMTI0XSxcbltcImYyNDBcIixcIlx1RTE3OFwiLDYyXSxcbltcImYyODBcIixcIlx1RTFCN1wiLDEyNF0sXG5bXCJmMzQwXCIsXCJcdUUyMzRcIiw2Ml0sXG5bXCJmMzgwXCIsXCJcdUUyNzNcIiwxMjRdLFxuW1wiZjQ0MFwiLFwiXHVFMkYwXCIsNjJdLFxuW1wiZjQ4MFwiLFwiXHVFMzJGXCIsMTI0XSxcbltcImY1NDBcIixcIlx1RTNBQ1wiLDYyXSxcbltcImY1ODBcIixcIlx1RTNFQlwiLDEyNF0sXG5bXCJmNjQwXCIsXCJcdUU0NjhcIiw2Ml0sXG5bXCJmNjgwXCIsXCJcdUU0QTdcIiwxMjRdLFxuW1wiZjc0MFwiLFwiXHVFNTI0XCIsNjJdLFxuW1wiZjc4MFwiLFwiXHVFNTYzXCIsMTI0XSxcbltcImY4NDBcIixcIlx1RTVFMFwiLDYyXSxcbltcImY4ODBcIixcIlx1RTYxRlwiLDEyNF0sXG5bXCJmOTQwXCIsXCJcdUU2OUNcIl0sXG5bXCJmYTQwXCIsXCJcdTIxNzBcIiw5LFwiXHUyMTYwXCIsOSxcIlx1RkZFMlx1RkZFNFx1RkYwN1x1RkYwMlx1MzIzMVx1MjExNlx1MjEyMVx1MjIzNVx1N0U4QVx1ODkxQ1x1OTM0OFx1OTI4OFx1ODREQ1x1NEZDOVx1NzBCQlx1NjYzMVx1NjhDOFx1OTJGOVx1NjZGQlx1NUY0NVx1NEUyOFx1NEVFMVx1NEVGQ1x1NEYwMFx1NEYwM1x1NEYzOVx1NEY1Nlx1NEY5Mlx1NEY4QVx1NEY5QVx1NEY5NFx1NEZDRFx1NTA0MFx1NTAyMlx1NEZGRlx1NTAxRVx1NTA0Nlx1NTA3MFx1NTA0Mlx1NTA5NFx1NTBGNFx1NTBEOFx1NTE0QVwiXSxcbltcImZhODBcIixcIlx1NTE2NFx1NTE5RFx1NTFCRVx1NTFFQ1x1NTIxNVx1NTI5Q1x1NTJBNlx1NTJDMFx1NTJEQlx1NTMwMFx1NTMwN1x1NTMyNFx1NTM3Mlx1NTM5M1x1NTNCMlx1NTNERFx1RkEwRVx1NTQ5Q1x1NTQ4QVx1NTRBOVx1NTRGRlx1NTU4Nlx1NTc1OVx1NTc2NVx1NTdBQ1x1NTdDOFx1NTdDN1x1RkEwRlx1RkExMFx1NTg5RVx1NThCMlx1NTkwQlx1NTk1M1x1NTk1Qlx1NTk1RFx1NTk2M1x1NTlBNFx1NTlCQVx1NUI1Nlx1NUJDMFx1NzUyRlx1NUJEOFx1NUJFQ1x1NUMxRVx1NUNBNlx1NUNCQVx1NUNGNVx1NUQyN1x1NUQ1M1x1RkExMVx1NUQ0Mlx1NUQ2RFx1NURCOFx1NURCOVx1NUREMFx1NUYyMVx1NUYzNFx1NUY2N1x1NUZCN1x1NUZERVx1NjA1RFx1NjA4NVx1NjA4QVx1NjBERVx1NjBENVx1NjEyMFx1NjBGMlx1NjExMVx1NjEzN1x1NjEzMFx1NjE5OFx1NjIxM1x1NjJBNlx1NjNGNVx1NjQ2MFx1NjQ5RFx1NjRDRVx1NjU0RVx1NjYwMFx1NjYxNVx1NjYzQlx1NjYwOVx1NjYyRVx1NjYxRVx1NjYyNFx1NjY2NVx1NjY1N1x1NjY1OVx1RkExMlx1NjY3M1x1NjY5OVx1NjZBMFx1NjZCMlx1NjZCRlx1NjZGQVx1NjcwRVx1RjkyOVx1Njc2Nlx1NjdCQlx1Njg1Mlx1NjdDMFx1NjgwMVx1Njg0NFx1NjhDRlx1RkExM1x1Njk2OFx1RkExNFx1Njk5OFx1NjlFMlx1NkEzMFx1NkE2Qlx1NkE0Nlx1NkE3M1x1NkE3RVx1NkFFMlx1NkFFNFx1NkJENlx1NkMzRlx1NkM1Q1x1NkM4Nlx1NkM2Rlx1NkNEQVx1NkQwNFx1NkQ4N1x1NkQ2RlwiXSxcbltcImZiNDBcIixcIlx1NkQ5Nlx1NkRBQ1x1NkRDRlx1NkRGOFx1NkRGMlx1NkRGQ1x1NkUzOVx1NkU1Q1x1NkUyN1x1NkUzQ1x1NkVCRlx1NkY4OFx1NkZCNVx1NkZGNVx1NzAwNVx1NzAwN1x1NzAyOFx1NzA4NVx1NzBBQlx1NzEwRlx1NzEwNFx1NzE1Q1x1NzE0Nlx1NzE0N1x1RkExNVx1NzFDMVx1NzFGRVx1NzJCMVx1NzJCRVx1NzMyNFx1RkExNlx1NzM3N1x1NzNCRFx1NzNDOVx1NzNENlx1NzNFM1x1NzNEMlx1NzQwN1x1NzNGNVx1NzQyNlx1NzQyQVx1NzQyOVx1NzQyRVx1NzQ2Mlx1NzQ4OVx1NzQ5Rlx1NzUwMVx1NzU2Rlx1NzY4Mlx1NzY5Q1x1NzY5RVx1NzY5Qlx1NzZBNlx1RkExN1x1Nzc0Nlx1NTJBRlx1NzgyMVx1Nzg0RVx1Nzg2NFx1Nzg3QVx1NzkzMFx1RkExOFx1RkExOVwiXSxcbltcImZiODBcIixcIlx1RkExQVx1Nzk5NFx1RkExQlx1Nzk5Qlx1N0FEMVx1N0FFN1x1RkExQ1x1N0FFQlx1N0I5RVx1RkExRFx1N0Q0OFx1N0Q1Q1x1N0RCN1x1N0RBMFx1N0RENlx1N0U1Mlx1N0Y0N1x1N0ZBMVx1RkExRVx1ODMwMVx1ODM2Mlx1ODM3Rlx1ODNDN1x1ODNGNlx1ODQ0OFx1ODRCNFx1ODU1M1x1ODU1OVx1ODU2Qlx1RkExRlx1ODVCMFx1RkEyMFx1RkEyMVx1ODgwN1x1ODhGNVx1OEExMlx1OEEzN1x1OEE3OVx1OEFBN1x1OEFCRVx1OEFERlx1RkEyMlx1OEFGNlx1OEI1M1x1OEI3Rlx1OENGMFx1OENGNFx1OEQxMlx1OEQ3Nlx1RkEyM1x1OEVDRlx1RkEyNFx1RkEyNVx1OTA2N1x1OTBERVx1RkEyNlx1OTExNVx1OTEyN1x1OTFEQVx1OTFEN1x1OTFERVx1OTFFRFx1OTFFRVx1OTFFNFx1OTFFNVx1OTIwNlx1OTIxMFx1OTIwQVx1OTIzQVx1OTI0MFx1OTIzQ1x1OTI0RVx1OTI1OVx1OTI1MVx1OTIzOVx1OTI2N1x1OTJBN1x1OTI3N1x1OTI3OFx1OTJFN1x1OTJEN1x1OTJEOVx1OTJEMFx1RkEyN1x1OTJENVx1OTJFMFx1OTJEM1x1OTMyNVx1OTMyMVx1OTJGQlx1RkEyOFx1OTMxRVx1OTJGRlx1OTMxRFx1OTMwMlx1OTM3MFx1OTM1N1x1OTNBNFx1OTNDNlx1OTNERVx1OTNGOFx1OTQzMVx1OTQ0NVx1OTQ0OFx1OTU5Mlx1RjlEQ1x1RkEyOVx1OTY5RFx1OTZBRlx1OTczM1x1OTczQlx1OTc0M1x1OTc0RFx1OTc0Rlx1OTc1MVx1OTc1NVx1OTg1N1x1OTg2NVx1RkEyQVx1RkEyQlx1OTkyN1x1RkEyQ1x1OTk5RVx1OUE0RVx1OUFEOVwiXSxcbltcImZjNDBcIixcIlx1OUFEQ1x1OUI3NVx1OUI3Mlx1OUI4Rlx1OUJCMVx1OUJCQlx1OUMwMFx1OUQ3MFx1OUQ2Qlx1RkEyRFx1OUUxOVx1OUVEMVwiXVxuXVxuIiwgIltcbltcIjBcIixcIlxcdTAwMDBcIiwxMjddLFxuW1wiOGVhMVwiLFwiXHVGRjYxXCIsNjJdLFxuW1wiYTFhMVwiLFwiXHUzMDAwXHUzMDAxXHUzMDAyXHVGRjBDXHVGRjBFXHUzMEZCXHVGRjFBXHVGRjFCXHVGRjFGXHVGRjAxXHUzMDlCXHUzMDlDXHUwMEI0XHVGRjQwXHUwMEE4XHVGRjNFXHVGRkUzXHVGRjNGXHUzMEZEXHUzMEZFXHUzMDlEXHUzMDlFXHUzMDAzXHU0RUREXHUzMDA1XHUzMDA2XHUzMDA3XHUzMEZDXHUyMDE1XHUyMDEwXHVGRjBGXHVGRjNDXHVGRjVFXHUyMjI1XHVGRjVDXHUyMDI2XHUyMDI1XHUyMDE4XHUyMDE5XHUyMDFDXHUyMDFEXHVGRjA4XHVGRjA5XHUzMDE0XHUzMDE1XHVGRjNCXHVGRjNEXHVGRjVCXHVGRjVEXHUzMDA4XCIsOSxcIlx1RkYwQlx1RkYwRFx1MDBCMVx1MDBEN1x1MDBGN1x1RkYxRFx1MjI2MFx1RkYxQ1x1RkYxRVx1MjI2Nlx1MjI2N1x1MjIxRVx1MjIzNFx1MjY0Mlx1MjY0MFx1MDBCMFx1MjAzMlx1MjAzM1x1MjEwM1x1RkZFNVx1RkYwNFx1RkZFMFx1RkZFMVx1RkYwNVx1RkYwM1x1RkYwNlx1RkYwQVx1RkYyMFx1MDBBN1x1MjYwNlx1MjYwNVx1MjVDQlx1MjVDRlx1MjVDRVx1MjVDN1wiXSxcbltcImEyYTFcIixcIlx1MjVDNlx1MjVBMVx1MjVBMFx1MjVCM1x1MjVCMlx1MjVCRFx1MjVCQ1x1MjAzQlx1MzAxMlx1MjE5Mlx1MjE5MFx1MjE5MVx1MjE5M1x1MzAxM1wiXSxcbltcImEyYmFcIixcIlx1MjIwOFx1MjIwQlx1MjI4Nlx1MjI4N1x1MjI4Mlx1MjI4M1x1MjIyQVx1MjIyOVwiXSxcbltcImEyY2FcIixcIlx1MjIyN1x1MjIyOFx1RkZFMlx1MjFEMlx1MjFENFx1MjIwMFx1MjIwM1wiXSxcbltcImEyZGNcIixcIlx1MjIyMFx1MjJBNVx1MjMxMlx1MjIwMlx1MjIwN1x1MjI2MVx1MjI1Mlx1MjI2QVx1MjI2Qlx1MjIxQVx1MjIzRFx1MjIxRFx1MjIzNVx1MjIyQlx1MjIyQ1wiXSxcbltcImEyZjJcIixcIlx1MjEyQlx1MjAzMFx1MjY2Rlx1MjY2RFx1MjY2QVx1MjAyMFx1MjAyMVx1MDBCNlwiXSxcbltcImEyZmVcIixcIlx1MjVFRlwiXSxcbltcImEzYjBcIixcIlx1RkYxMFwiLDldLFxuW1wiYTNjMVwiLFwiXHVGRjIxXCIsMjVdLFxuW1wiYTNlMVwiLFwiXHVGRjQxXCIsMjVdLFxuW1wiYTRhMVwiLFwiXHUzMDQxXCIsODJdLFxuW1wiYTVhMVwiLFwiXHUzMEExXCIsODVdLFxuW1wiYTZhMVwiLFwiXHUwMzkxXCIsMTYsXCJcdTAzQTNcIiw2XSxcbltcImE2YzFcIixcIlx1MDNCMVwiLDE2LFwiXHUwM0MzXCIsNl0sXG5bXCJhN2ExXCIsXCJcdTA0MTBcIiw1LFwiXHUwNDAxXHUwNDE2XCIsMjVdLFxuW1wiYTdkMVwiLFwiXHUwNDMwXCIsNSxcIlx1MDQ1MVx1MDQzNlwiLDI1XSxcbltcImE4YTFcIixcIlx1MjUwMFx1MjUwMlx1MjUwQ1x1MjUxMFx1MjUxOFx1MjUxNFx1MjUxQ1x1MjUyQ1x1MjUyNFx1MjUzNFx1MjUzQ1x1MjUwMVx1MjUwM1x1MjUwRlx1MjUxM1x1MjUxQlx1MjUxN1x1MjUyM1x1MjUzM1x1MjUyQlx1MjUzQlx1MjU0Qlx1MjUyMFx1MjUyRlx1MjUyOFx1MjUzN1x1MjUzRlx1MjUxRFx1MjUzMFx1MjUyNVx1MjUzOFx1MjU0MlwiXSxcbltcImFkYTFcIixcIlx1MjQ2MFwiLDE5LFwiXHUyMTYwXCIsOV0sXG5bXCJhZGMwXCIsXCJcdTMzNDlcdTMzMTRcdTMzMjJcdTMzNERcdTMzMThcdTMzMjdcdTMzMDNcdTMzMzZcdTMzNTFcdTMzNTdcdTMzMERcdTMzMjZcdTMzMjNcdTMzMkJcdTMzNEFcdTMzM0JcdTMzOUNcdTMzOURcdTMzOUVcdTMzOEVcdTMzOEZcdTMzQzRcdTMzQTFcIl0sXG5bXCJhZGRmXCIsXCJcdTMzN0JcdTMwMURcdTMwMUZcdTIxMTZcdTMzQ0RcdTIxMjFcdTMyQTRcIiw0LFwiXHUzMjMxXHUzMjMyXHUzMjM5XHUzMzdFXHUzMzdEXHUzMzdDXHUyMjUyXHUyMjYxXHUyMjJCXHUyMjJFXHUyMjExXHUyMjFBXHUyMkE1XHUyMjIwXHUyMjFGXHUyMkJGXHUyMjM1XHUyMjI5XHUyMjJBXCJdLFxuW1wiYjBhMVwiLFwiXHU0RTlDXHU1NTE2XHU1QTAzXHU5NjNGXHU1NEMwXHU2MTFCXHU2MzI4XHU1OUY2XHU5MDIyXHU4NDc1XHU4MzFDXHU3QTUwXHU2MEFBXHU2M0UxXHU2RTI1XHU2NUVEXHU4NDY2XHU4MkE2XHU5QkY1XHU2ODkzXHU1NzI3XHU2NUExXHU2MjcxXHU1QjlCXHU1OUQwXHU4NjdCXHU5OEY0XHU3RDYyXHU3REJFXHU5QjhFXHU2MjE2XHU3QzlGXHU4OEI3XHU1Qjg5XHU1RUI1XHU2MzA5XHU2Njk3XHU2ODQ4XHU5NUM3XHU5NzhEXHU2NzRGXHU0RUU1XHU0RjBBXHU0RjREXHU0RjlEXHU1MDQ5XHU1NkYyXHU1OTM3XHU1OUQ0XHU1QTAxXHU1QzA5XHU2MERGXHU2MTBGXHU2MTcwXHU2NjEzXHU2OTA1XHU3MEJBXHU3NTRGXHU3NTcwXHU3OUZCXHU3REFEXHU3REVGXHU4MEMzXHU4NDBFXHU4ODYzXHU4QjAyXHU5MDU1XHU5MDdBXHU1MzNCXHU0RTk1XHU0RUE1XHU1N0RGXHU4MEIyXHU5MEMxXHU3OEVGXHU0RTAwXHU1OEYxXHU2RUEyXHU5MDM4XHU3QTMyXHU4MzI4XHU4MjhCXHU5QzJGXHU1MTQxXHU1MzcwXHU1NEJEXHU1NEUxXHU1NkUwXHU1OUZCXHU1RjE1XHU5OEYyXHU2REVCXHU4MEU0XHU4NTJEXCJdLFxuW1wiYjFhMVwiLFwiXHU5NjYyXHU5NjcwXHU5NkEwXHU5N0ZCXHU1NDBCXHU1M0YzXHU1Qjg3XHU3MENGXHU3RkJEXHU4RkMyXHU5NkU4XHU1MzZGXHU5RDVDXHU3QUJBXHU0RTExXHU3ODkzXHU4MUZDXHU2RTI2XHU1NjE4XHU1NTA0XHU2QjFEXHU4NTFBXHU5QzNCXHU1OUU1XHU1M0E5XHU2RDY2XHU3NERDXHU5NThGXHU1NjQyXHU0RTkxXHU5MDRCXHU5NkYyXHU4MzRGXHU5OTBDXHU1M0UxXHU1NUI2XHU1QjMwXHU1RjcxXHU2NjIwXHU2NkYzXHU2ODA0XHU2QzM4XHU2Q0YzXHU2RDI5XHU3NDVCXHU3NkM4XHU3QTRFXHU5ODM0XHU4MkYxXHU4ODVCXHU4QTYwXHU5MkVEXHU2REIyXHU3NUFCXHU3NkNBXHU5OUM1XHU2MEE2XHU4QjAxXHU4RDhBXHU5NUIyXHU2OThFXHU1M0FEXHU1MTg2XHU1NzEyXHU1ODMwXHU1OTQ0XHU1QkI0XHU1RUY2XHU2MDI4XHU2M0E5XHU2M0Y0XHU2Q0JGXHU2RjE0XHU3MDhFXHU3MTE0XHU3MTU5XHU3MUQ1XHU3MzNGXHU3RTAxXHU4Mjc2XHU4MkQxXHU4NTk3XHU5MDYwXHU5MjVCXHU5RDFCXHU1ODY5XHU2NUJDXHU2QzVBXHU3NTI1XHU1MUY5XHU1OTJFXHU1OTY1XHU1RjgwXHU1RkRDXCJdLFxuW1wiYjJhMVwiLFwiXHU2MkJDXHU2NUZBXHU2QTJBXHU2QjI3XHU2QkI0XHU3MzhCXHU3RkMxXHU4OTU2XHU5RDJDXHU5RDBFXHU5RUM0XHU1Q0ExXHU2Qzk2XHU4MzdCXHU1MTA0XHU1QzRCXHU2MUI2XHU4MUM2XHU2ODc2XHU3MjYxXHU0RTU5XHU0RkZBXHU1Mzc4XHU2MDY5XHU2RTI5XHU3QTRGXHU5N0YzXHU0RTBCXHU1MzE2XHU0RUVFXHU0RjU1XHU0RjNEXHU0RkExXHU0RjczXHU1MkEwXHU1M0VGXHU1NjA5XHU1OTBGXHU1QUMxXHU1QkI2XHU1QkUxXHU3OUQxXHU2Njg3XHU2NzlDXHU2N0I2XHU2QjRDXHU2Q0IzXHU3MDZCXHU3M0MyXHU3OThEXHU3OUJFXHU3QTNDXHU3Qjg3XHU4MkIxXHU4MkRCXHU4MzA0XHU4Mzc3XHU4M0VGXHU4M0QzXHU4NzY2XHU4QUIyXHU1NjI5XHU4Q0E4XHU4RkU2XHU5MDRFXHU5NzFFXHU4NjhBXHU0RkM0XHU1Q0U4XHU2MjExXHU3MjU5XHU3NTNCXHU4MUU1XHU4MkJEXHU4NkZFXHU4Q0MwXHU5NkM1XHU5OTEzXHU5OUQ1XHU0RUNCXHU0RjFBXHU4OUUzXHU1NkRFXHU1ODRBXHU1OENBXHU1RUZCXHU1RkVCXHU2MDJBXHU2MDk0XHU2MDYyXHU2MUQwXHU2MjEyXHU2MkQwXHU2NTM5XCJdLFxuW1wiYjNhMVwiLFwiXHU5QjQxXHU2NjY2XHU2OEIwXHU2RDc3XHU3MDcwXHU3NTRDXHU3Njg2XHU3RDc1XHU4MkE1XHU4N0Y5XHU5NThCXHU5NjhFXHU4QzlEXHU1MUYxXHU1MkJFXHU1OTE2XHU1NEIzXHU1QkIzXHU1RDE2XHU2MTY4XHU2OTgyXHU2REFGXHU3ODhEXHU4NENCXHU4ODU3XHU4QTcyXHU5M0E3XHU5QUI4XHU2RDZDXHU5OUE4XHU4NkQ5XHU1N0EzXHU2N0ZGXHU4NkNFXHU5MjBFXHU1MjgzXHU1Njg3XHU1NDA0XHU1RUQzXHU2MkUxXHU2NEI5XHU2ODNDXHU2ODM4XHU2QkJCXHU3MzcyXHU3OEJBXHU3QTZCXHU4OTlBXHU4OUQyXHU4RDZCXHU4RjAzXHU5MEVEXHU5NUEzXHU5Njk0XHU5NzY5XHU1QjY2XHU1Q0IzXHU2OTdEXHU5ODREXHU5ODRFXHU2MzlCXHU3QjIwXHU2QTJCXHU2QTdGXHU2OEI2XHU5QzBEXHU2RjVGXHU1MjcyXHU1NTlEXHU2MDcwXHU2MkVDXHU2RDNCXHU2RTA3XHU2RUQxXHU4NDVCXHU4OTEwXHU4RjQ0XHU0RTE0XHU5QzM5XHU1M0Y2XHU2OTFCXHU2QTNBXHU5Nzg0XHU2ODJBXHU1MTVDXHU3QUMzXHU4NEIyXHU5MURDXHU5MzhDXHU1NjVCXHU5RDI4XHU2ODIyXHU4MzA1XHU4NDMxXCJdLFxuW1wiYjRhMVwiLFwiXHU3Q0E1XHU1MjA4XHU4MkM1XHU3NEU2XHU0RTdFXHU0RjgzXHU1MUEwXHU1QkQyXHU1MjBBXHU1MkQ4XHU1MkU3XHU1REZCXHU1NTlBXHU1ODJBXHU1OUU2XHU1QjhDXHU1Qjk4XHU1QkRCXHU1RTcyXHU1RTc5XHU2MEEzXHU2MTFGXHU2MTYzXHU2MUJFXHU2M0RCXHU2NTYyXHU2N0QxXHU2ODUzXHU2OEZBXHU2QjNFXHU2QjUzXHU2QzU3XHU2RjIyXHU2Rjk3XHU2RjQ1XHU3NEIwXHU3NTE4XHU3NkUzXHU3NzBCXHU3QUZGXHU3QkExXHU3QzIxXHU3REU5XHU3RjM2XHU3RkYwXHU4MDlEXHU4MjY2XHU4MzlFXHU4OUIzXHU4QUNDXHU4Q0FCXHU5MDg0XHU5NDUxXHU5NTkzXHU5NTkxXHU5NUEyXHU5NjY1XHU5N0QzXHU5OTI4XHU4MjE4XHU0RTM4XHU1NDJCXHU1Q0I4XHU1RENDXHU3M0E5XHU3NjRDXHU3NzNDXHU1Q0E5XHU3RkVCXHU4RDBCXHU5NkMxXHU5ODExXHU5ODU0XHU5ODU4XHU0RjAxXHU0RjBFXHU1MzcxXHU1NTlDXHU1NjY4XHU1N0ZBXHU1OTQ3XHU1QjA5XHU1QkM0XHU1QzkwXHU1RTBDXHU1RTdFXHU1RkNDXHU2M0VFXHU2NzNBXHU2NUQ3XHU2NUUyXHU2NzFGXHU2OENCXHU2OEM0XCJdLFxuW1wiYjVhMVwiLFwiXHU2QTVGXHU1RTMwXHU2QkM1XHU2QzE3XHU2QzdEXHU3NTdGXHU3OTQ4XHU1QjYzXHU3QTAwXHU3RDAwXHU1RkJEXHU4OThGXHU4QTE4XHU4Q0I0XHU4RDc3XHU4RUNDXHU4RjFEXHU5OEUyXHU5QTBFXHU5QjNDXHU0RTgwXHU1MDdEXHU1MTAwXHU1OTkzXHU1QjlDXHU2MjJGXHU2MjgwXHU2NEVDXHU2QjNBXHU3MkEwXHU3NTkxXHU3OTQ3XHU3RkE5XHU4N0ZCXHU4QUJDXHU4QjcwXHU2M0FDXHU4M0NBXHU5N0EwXHU1NDA5XHU1NDAzXHU1NUFCXHU2ODU0XHU2QTU4XHU4QTcwXHU3ODI3XHU2Nzc1XHU5RUNEXHU1Mzc0XHU1QkEyXHU4MTFBXHU4NjUwXHU5MDA2XHU0RTE4XHU0RTQ1XHU0RUM3XHU0RjExXHU1M0NBXHU1NDM4XHU1QkFFXHU1RjEzXHU2MDI1XHU2NTUxXHU2NzNEXHU2QzQyXHU2QzcyXHU2Q0UzXHU3MDc4XHU3NDAzXHU3QTc2XHU3QUFFXHU3QjA4XHU3RDFBXHU3Q0ZFXHU3RDY2XHU2NUU3XHU3MjVCXHU1M0JCXHU1QzQ1XHU1REU4XHU2MkQyXHU2MkUwXHU2MzE5XHU2RTIwXHU4NjVBXHU4QTMxXHU4REREXHU5MkY4XHU2RjAxXHU3OUE2XHU5QjVBXHU0RUE4XHU0RUFCXHU0RUFDXCJdLFxuW1wiYjZhMVwiLFwiXHU0RjlCXHU0RkEwXHU1MEQxXHU1MTQ3XHU3QUY2XHU1MTcxXHU1MUY2XHU1MzU0XHU1MzIxXHU1MzdGXHU1M0VCXHU1NUFDXHU1ODgzXHU1Q0UxXHU1RjM3XHU1RjRBXHU2MDJGXHU2MDUwXHU2MDZEXHU2MzFGXHU2NTU5XHU2QTRCXHU2Q0MxXHU3MkMyXHU3MkVEXHU3N0VGXHU4MEY4XHU4MTA1XHU4MjA4XHU4NTRFXHU5MEY3XHU5M0UxXHU5N0ZGXHU5OTU3XHU5QTVBXHU0RUYwXHU1MUREXHU1QzJEXHU2NjgxXHU2OTZEXHU1QzQwXHU2NkYyXHU2OTc1XHU3Mzg5XHU2ODUwXHU3QzgxXHU1MEM1XHU1MkU0XHU1NzQ3XHU1REZFXHU5MzI2XHU2NUE0XHU2QjIzXHU2QjNEXHU3NDM0XHU3OTgxXHU3OUJEXHU3QjRCXHU3RENBXHU4MkI5XHU4M0NDXHU4ODdGXHU4OTVGXHU4QjM5XHU4RkQxXHU5MUQxXHU1NDFGXHU5MjgwXHU0RTVEXHU1MDM2XHU1M0U1XHU1MzNBXHU3MkQ3XHU3Mzk2XHU3N0U5XHU4MkU2XHU4RUFGXHU5OUM2XHU5OUM4XHU5OUQyXHU1MTc3XHU2MTFBXHU4NjVFXHU1NUIwXHU3QTdBXHU1MDc2XHU1QkQzXHU5MDQ3XHU5Njg1XHU0RTMyXHU2QURCXHU5MUU3XHU1QzUxXHU1QzQ4XCJdLFxuW1wiYjdhMVwiLFwiXHU2Mzk4XHU3QTlGXHU2QzkzXHU5Nzc0XHU4RjYxXHU3QUFBXHU3MThBXHU5Njg4XHU3QzgyXHU2ODE3XHU3RTcwXHU2ODUxXHU5MzZDXHU1MkYyXHU1NDFCXHU4NUFCXHU4QTEzXHU3RkE0XHU4RUNEXHU5MEUxXHU1MzY2XHU4ODg4XHU3OTQxXHU0RkMyXHU1MEJFXHU1MjExXHU1MTQ0XHU1NTUzXHU1NzJEXHU3M0VBXHU1NzhCXHU1OTUxXHU1RjYyXHU1Rjg0XHU2MDc1XHU2MTc2XHU2MTY3XHU2MUE5XHU2M0IyXHU2NDNBXHU2NTZDXHU2NjZGXHU2ODQyXHU2RTEzXHU3NTY2XHU3QTNEXHU3Q0ZCXHU3RDRDXHU3RDk5XHU3RTRCXHU3RjZCXHU4MzBFXHU4MzRBXHU4NkNEXHU4QTA4XHU4QTYzXHU4QjY2XHU4RUZEXHU5ODFBXHU5RDhGXHU4MkI4XHU4RkNFXHU5QkU4XHU1Mjg3XHU2MjFGXHU2NDgzXHU2RkMwXHU5Njk5XHU2ODQxXHU1MDkxXHU2QjIwXHU2QzdBXHU2RjU0XHU3QTc0XHU3RDUwXHU4ODQwXHU4QTIzXHU2NzA4XHU0RUY2XHU1MDM5XHU1MDI2XHU1MDY1XHU1MTdDXHU1MjM4XHU1MjYzXHU1NUE3XHU1NzBGXHU1ODA1XHU1QUNDXHU1RUZBXHU2MUIyXHU2MUY4XHU2MkYzXHU2MzcyXCJdLFxuW1wiYjhhMVwiLFwiXHU2OTFDXHU2QTI5XHU3MjdEXHU3MkFDXHU3MzJFXHU3ODE0XHU3ODZGXHU3RDc5XHU3NzBDXHU4MEE5XHU4OThCXHU4QjE5XHU4Q0UyXHU4RUQyXHU5MDYzXHU5Mzc1XHU5NjdBXHU5ODU1XHU5QTEzXHU5RTc4XHU1MTQzXHU1MzlGXHU1M0IzXHU1RTdCXHU1RjI2XHU2RTFCXHU2RTkwXHU3Mzg0XHU3M0ZFXHU3RDQzXHU4MjM3XHU4QTAwXHU4QUZBXHU5NjUwXHU0RTRFXHU1MDBCXHU1M0U0XHU1NDdDXHU1NkZBXHU1OUQxXHU1QjY0XHU1REYxXHU1RUFCXHU1RjI3XHU2MjM4XHU2NTQ1XHU2N0FGXHU2RTU2XHU3MkQwXHU3Q0NBXHU4OEI0XHU4MEExXHU4MEUxXHU4M0YwXHU4NjRFXHU4QTg3XHU4REU4XHU5MjM3XHU5NkM3XHU5ODY3XHU5RjEzXHU0RTk0XHU0RTkyXHU0RjBEXHU1MzQ4XHU1NDQ5XHU1NDNFXHU1QTJGXHU1RjhDXHU1RkExXHU2MDlGXHU2OEE3XHU2QThFXHU3NDVBXHU3ODgxXHU4QTlFXHU4QUE0XHU4Qjc3XHU5MTkwXHU0RTVFXHU5QkM5XHU0RUE0XHU0RjdDXHU0RkFGXHU1MDE5XHU1MDE2XHU1MTQ5XHU1MTZDXHU1MjlGXHU1MkI5XHU1MkZFXHU1MzlBXHU1M0UzXHU1NDExXCJdLFxuW1wiYjlhMVwiLFwiXHU1NDBFXHU1NTg5XHU1NzUxXHU1N0EyXHU1OTdEXHU1QjU0XHU1QjVEXHU1QjhGXHU1REU1XHU1REU3XHU1REY3XHU1RTc4XHU1RTgzXHU1RTlBXHU1RUI3XHU1RjE4XHU2MDUyXHU2MTRDXHU2Mjk3XHU2MkQ4XHU2M0E3XHU2NTNCXHU2NjAyXHU2NjQzXHU2NkY0XHU2NzZEXHU2ODIxXHU2ODk3XHU2OUNCXHU2QzVGXHU2RDJBXHU2RDY5XHU2RTJGXHU2RTlEXHU3NTMyXHU3Njg3XHU3ODZDXHU3QTNGXHU3Q0UwXHU3RDA1XHU3RDE4XHU3RDVFXHU3REIxXHU4MDE1XHU4MDAzXHU4MEFGXHU4MEIxXHU4MTU0XHU4MThGXHU4MjJBXHU4MzUyXHU4ODRDXHU4ODYxXHU4QjFCXHU4Q0EyXHU4Q0ZDXHU5MENBXHU5MTc1XHU5MjcxXHU3ODNGXHU5MkZDXHU5NUE0XHU5NjREXHU5ODA1XHU5OTk5XHU5QUQ4XHU5RDNCXHU1MjVCXHU1MkFCXHU1M0Y3XHU1NDA4XHU1OEQ1XHU2MkY3XHU2RkUwXHU4QzZBXHU4RjVGXHU5RUI5XHU1MTRCXHU1MjNCXHU1NDRBXHU1NkZEXHU3QTQwXHU5MTc3XHU5RDYwXHU5RUQyXHU3MzQ0XHU2RjA5XHU4MTcwXHU3NTExXHU1RkZEXHU2MERBXHU5QUE4XHU3MkRCXHU4RkJDXCJdLFxuW1wiYmFhMVwiLFwiXHU2QjY0XHU5ODAzXHU0RUNBXHU1NkYwXHU1NzY0XHU1OEJFXHU1QTVBXHU2MDY4XHU2MUM3XHU2NjBGXHU2NjA2XHU2ODM5XHU2OEIxXHU2REY3XHU3NUQ1XHU3RDNBXHU4MjZFXHU5QjQyXHU0RTlCXHU0RjUwXHU1M0M5XHU1NTA2XHU1RDZGXHU1REU2XHU1REVFXHU2N0ZCXHU2Qzk5XHU3NDczXHU3ODAyXHU4QTUwXHU5Mzk2XHU4OERGXHU1NzUwXHU1RUE3XHU2MzJCXHU1MEI1XHU1MEFDXHU1MThEXHU2NzAwXHU1NEM5XHU1ODVFXHU1OUJCXHU1QkIwXHU1RjY5XHU2MjREXHU2M0ExXHU2ODNEXHU2QjczXHU2RTA4XHU3MDdEXHU5MUM3XHU3MjgwXHU3ODE1XHU3ODI2XHU3OTZEXHU2NThFXHU3RDMwXHU4M0RDXHU4OEMxXHU4RjA5XHU5NjlCXHU1MjY0XHU1NzI4XHU2NzUwXHU3RjZBXHU4Q0ExXHU1MUI0XHU1NzQyXHU5NjJBXHU1ODNBXHU2OThBXHU4MEI0XHU1NEIyXHU1RDBFXHU1N0ZDXHU3ODk1XHU5REZBXHU0RjVDXHU1MjRBXHU1NDhCXHU2NDNFXHU2NjI4XHU2NzE0XHU2N0Y1XHU3QTg0XHU3QjU2XHU3RDIyXHU5MzJGXHU2ODVDXHU5QkFEXHU3QjM5XHU1MzE5XHU1MThBXHU1MjM3XCJdLFxuW1wiYmJhMVwiLFwiXHU1QkRGXHU2MkY2XHU2NEFFXHU2NEU2XHU2NzJEXHU2QkJBXHU4NUE5XHU5NkQxXHU3NjkwXHU5QkQ2XHU2MzRDXHU5MzA2XHU5QkFCXHU3NkJGXHU2NjUyXHU0RTA5XHU1MDk4XHU1M0MyXHU1QzcxXHU2MEU4XHU2NDkyXHU2NTYzXHU2ODVGXHU3MUU2XHU3M0NBXHU3NTIzXHU3Qjk3XHU3RTgyXHU4Njk1XHU4QjgzXHU4Q0RCXHU5MTc4XHU5OTEwXHU2NUFDXHU2NkFCXHU2QjhCXHU0RUQ1XHU0RUQ0XHU0RjNBXHU0RjdGXHU1MjNBXHU1M0Y4XHU1M0YyXHU1NUUzXHU1NkRCXHU1OEVCXHU1OUNCXHU1OUM5XHU1OUZGXHU1QjUwXHU1QzREXHU1RTAyXHU1RTJCXHU1RkQ3XHU2MDFEXHU2MzA3XHU2NTJGXHU1QjVDXHU2NUFGXHU2NUJEXHU2NUU4XHU2NzlEXHU2QjYyXHU2QjdCXHU2QzBGXHU3MzQ1XHU3OTQ5XHU3OUMxXHU3Q0Y4XHU3RDE5XHU3RDJCXHU4MEEyXHU4MTAyXHU4MUYzXHU4OTk2XHU4QTVFXHU4QTY5XHU4QTY2XHU4QThDXHU4QUVFXHU4Q0M3XHU4Q0RDXHU5NkNDXHU5OEZDXHU2QjZGXHU0RThCXHU0RjNDXHU0RjhEXHU1MTUwXHU1QjU3XHU1QkZBXHU2MTQ4XHU2MzAxXHU2NjQyXCJdLFxuW1wiYmNhMVwiLFwiXHU2QjIxXHU2RUNCXHU2Q0JCXHU3MjNFXHU3NEJEXHU3NUQ0XHU3OEMxXHU3OTNBXHU4MDBDXHU4MDMzXHU4MUVBXHU4NDk0XHU4RjlFXHU2QzUwXHU5RTdGXHU1RjBGXHU4QjU4XHU5RDJCXHU3QUZBXHU4RUY4XHU1QjhEXHU5NkVCXHU0RTAzXHU1M0YxXHU1N0Y3XHU1OTMxXHU1QUM5XHU1QkE0XHU2MDg5XHU2RTdGXHU2RjA2XHU3NUJFXHU4Q0VBXHU1QjlGXHU4NTAwXHU3QkUwXHU1MDcyXHU2N0Y0XHU4MjlEXHU1QzYxXHU4NTRBXHU3RTFFXHU4MjBFXHU1MTk5XHU1QzA0XHU2MzY4XHU4RDY2XHU2NTlDXHU3MTZFXHU3OTNFXHU3RDE3XHU4MDA1XHU4QjFEXHU4RUNBXHU5MDZFXHU4NkM3XHU5MEFBXHU1MDFGXHU1MkZBXHU1QzNBXHU2NzUzXHU3MDdDXHU3MjM1XHU5MTRDXHU5MUM4XHU5MzJCXHU4MkU1XHU1QkMyXHU1RjMxXHU2MEY5XHU0RTNCXHU1M0Q2XHU1Qjg4XHU2MjRCXHU2NzMxXHU2QjhBXHU3MkU5XHU3M0UwXHU3QTJFXHU4MTZCXHU4REEzXHU5MTUyXHU5OTk2XHU1MTEyXHU1M0Q3XHU1NDZBXHU1QkZGXHU2Mzg4XHU2QTM5XHU3REFDXHU5NzAwXHU1NkRBXHU1M0NFXHU1NDY4XCJdLFxuW1wiYmRhMVwiLFwiXHU1Qjk3XHU1QzMxXHU1RERFXHU0RkVFXHU2MTAxXHU2MkZFXHU2RDMyXHU3OUMwXHU3OUNCXHU3RDQyXHU3RTREXHU3RkQyXHU4MUVEXHU4MjFGXHU4NDkwXHU4ODQ2XHU4OTcyXHU4QjkwXHU4RTc0XHU4RjJGXHU5MDMxXHU5MTRCXHU5MTZDXHU5NkM2XHU5MTlDXHU0RUMwXHU0RjRGXHU1MTQ1XHU1MzQxXHU1RjkzXHU2MjBFXHU2N0Q0XHU2QzQxXHU2RTBCXHU3MzYzXHU3RTI2XHU5MUNEXHU5MjgzXHU1M0Q0XHU1OTE5XHU1QkJGXHU2REQxXHU3OTVEXHU3RTJFXHU3QzlCXHU1ODdFXHU3MTlGXHU1MUZBXHU4ODUzXHU4RkYwXHU0RkNBXHU1Q0ZCXHU2NjI1XHU3N0FDXHU3QUUzXHU4MjFDXHU5OUZGXHU1MUM2XHU1RkFBXHU2NUVDXHU2OTZGXHU2Qjg5XHU2REYzXHU2RTk2XHU2RjY0XHU3NkZFXHU3RDE0XHU1REUxXHU5MDc1XHU5MTg3XHU5ODA2XHU1MUU2XHU1MjFEXHU2MjQwXHU2NjkxXHU2NkQ5XHU2RTFBXHU1RUI2XHU3REQyXHU3RjcyXHU2NkY4XHU4NUFGXHU4NUY3XHU4QUY4XHU1MkE5XHU1M0Q5XHU1OTczXHU1RThGXHU1RjkwXHU2MDU1XHU5MkU0XHU5NjY0XHU1MEI3XHU1MTFGXCJdLFxuW1wiYmVhMVwiLFwiXHU1MkREXHU1MzIwXHU1MzQ3XHU1M0VDXHU1NEU4XHU1NTQ2XHU1NTMxXHU1NjE3XHU1OTY4XHU1OUJFXHU1QTNDXHU1QkI1XHU1QzA2XHU1QzBGXHU1QzExXHU1QzFBXHU1RTg0XHU1RThBXHU1RUUwXHU1RjcwXHU2MjdGXHU2Mjg0XHU2MkRCXHU2MzhDXHU2Mzc3XHU2NjA3XHU2NjBDXHU2NjJEXHU2Njc2XHU2NzdFXHU2OEEyXHU2QTFGXHU2QTM1XHU2Q0JDXHU2RDg4XHU2RTA5XHU2RTU4XHU3MTNDXHU3MTI2XHU3MTY3XHU3NUM3XHU3NzAxXHU3ODVEXHU3OTAxXHU3OTY1XHU3OUYwXHU3QUUwXHU3QjExXHU3Q0E3XHU3RDM5XHU4MDk2XHU4M0Q2XHU4NDhCXHU4NTQ5XHU4ODVEXHU4OEYzXHU4QTFGXHU4QTNDXHU4QTU0XHU4QTczXHU4QzYxXHU4Q0RFXHU5MUE0XHU5MjY2XHU5MzdFXHU5NDE4XHU5NjlDXHU5Nzk4XHU0RTBBXHU0RTA4XHU0RTFFXHU0RTU3XHU1MTk3XHU1MjcwXHU1N0NFXHU1ODM0XHU1OENDXHU1QjIyXHU1RTM4XHU2MEM1XHU2NEZFXHU2NzYxXHU2NzU2XHU2RDQ0XHU3MkI2XHU3NTczXHU3QTYzXHU4NEI4XHU4QjcyXHU5MUI4XHU5MzIwXHU1NjMxXHU1N0Y0XHU5OEZFXCJdLFxuW1wiYmZhMVwiLFwiXHU2MkVEXHU2OTBEXHU2Qjk2XHU3MUVEXHU3RTU0XHU4MDc3XHU4MjcyXHU4OUU2XHU5OERGXHU4NzU1XHU4RkIxXHU1QzNCXHU0RjM4XHU0RkUxXHU0RkI1XHU1NTA3XHU1QTIwXHU1QkREXHU1QkU5XHU1RkMzXHU2MTRFXHU2MzJGXHU2NUIwXHU2NjRCXHU2OEVFXHU2OTlCXHU2RDc4XHU2REYxXHU3NTMzXHU3NUI5XHU3NzFGXHU3OTVFXHU3OUU2XHU3RDMzXHU4MUUzXHU4MkFGXHU4NUFBXHU4OUFBXHU4QTNBXHU4RUFCXHU4RjlCXHU5MDMyXHU5MUREXHU5NzA3XHU0RUJBXHU0RUMxXHU1MjAzXHU1ODc1XHU1OEVDXHU1QzBCXHU3NTFBXHU1QzNEXHU4MTRFXHU4QTBBXHU4RkM1XHU5NjYzXHU5NzZEXHU3QjI1XHU4QUNGXHU5ODA4XHU5MTYyXHU1NkYzXHU1M0E4XHU5MDE3XHU1NDM5XHU1NzgyXHU1RTI1XHU2M0E4XHU2QzM0XHU3MDhBXHU3NzYxXHU3QzhCXHU3RkUwXHU4ODcwXHU5MDQyXHU5MTU0XHU5MzEwXHU5MzE4XHU5NjhGXHU3NDVFXHU5QUM0XHU1RDA3XHU1RDY5XHU2NTcwXHU2N0EyXHU4REE4XHU5NkRCXHU2MzZFXHU2NzQ5XHU2OTE5XHU4M0M1XHU5ODE3XHU5NkMwXHU4OEZFXCJdLFxuW1wiYzBhMVwiLFwiXHU2Rjg0XHU2NDdBXHU1QkY4XHU0RTE2XHU3MDJDXHU3NTVEXHU2NjJGXHU1MUM0XHU1MjM2XHU1MkUyXHU1OUQzXHU1RjgxXHU2MDI3XHU2MjEwXHU2NTNGXHU2NTc0XHU2NjFGXHU2Njc0XHU2OEYyXHU2ODE2XHU2QjYzXHU2RTA1XHU3MjcyXHU3NTFGXHU3NkRCXHU3Q0JFXHU4MDU2XHU1OEYwXHU4OEZEXHU4OTdGXHU4QUEwXHU4QTkzXHU4QUNCXHU5MDFEXHU5MTkyXHU5NzUyXHU5NzU5XHU2NTg5XHU3QTBFXHU4MTA2XHU5NkJCXHU1RTJEXHU2MERDXHU2MjFBXHU2NUE1XHU2NjE0XHU2NzkwXHU3N0YzXHU3QTREXHU3QzREXHU3RTNFXHU4MTBBXHU4Q0FDXHU4RDY0XHU4REUxXHU4RTVGXHU3OEE5XHU1MjA3XHU2MkQ5XHU2M0E1XHU2NDQyXHU2Mjk4XHU4QTJEXHU3QTgzXHU3QkMwXHU4QUFDXHU5NkVBXHU3RDc2XHU4MjBDXHU4NzQ5XHU0RUQ5XHU1MTQ4XHU1MzQzXHU1MzYwXHU1QkEzXHU1QzAyXHU1QzE2XHU1REREXHU2MjI2XHU2MjQ3XHU2NEIwXHU2ODEzXHU2ODM0XHU2Q0M5XHU2RDQ1XHU2RDE3XHU2N0QzXHU2RjVDXHU3MTRFXHU3MTdEXHU2NUNCXHU3QTdGXHU3QkFEXHU3RERBXCJdLFxuW1wiYzFhMVwiLFwiXHU3RTRBXHU3RkE4XHU4MTdBXHU4MjFCXHU4MjM5XHU4NUE2XHU4QTZFXHU4Q0NFXHU4REY1XHU5MDc4XHU5MDc3XHU5MkFEXHU5MjkxXHU5NTgzXHU5QkFFXHU1MjREXHU1NTg0XHU2RjM4XHU3MTM2XHU1MTY4XHU3OTg1XHU3RTU1XHU4MUIzXHU3Q0NFXHU1NjRDXHU1ODUxXHU1Q0E4XHU2M0FBXHU2NkZFXHU2NkZEXHU2OTVBXHU3MkQ5XHU3NThGXHU3NThFXHU3OTBFXHU3OTU2XHU3OURGXHU3Qzk3XHU3RDIwXHU3RDQ0XHU4NjA3XHU4QTM0XHU5NjNCXHU5MDYxXHU5RjIwXHU1MEU3XHU1Mjc1XHU1M0NDXHU1M0UyXHU1MDA5XHU1NUFBXHU1OEVFXHU1OTRGXHU3MjNEXHU1QjhCXHU1QzY0XHU1MzFEXHU2MEUzXHU2MEYzXHU2MzVDXHU2MzgzXHU2MzNGXHU2M0JCXHU2NENEXHU2NUU5XHU2NkY5XHU1REUzXHU2OUNEXHU2OUZEXHU2RjE1XHU3MUU1XHU0RTg5XHU3NUU5XHU3NkY4XHU3QTkzXHU3Q0RGXHU3RENGXHU3RDlDXHU4MDYxXHU4MzQ5XHU4MzU4XHU4NDZDXHU4NEJDXHU4NUZCXHU4OEM1XHU4RDcwXHU5MDAxXHU5MDZEXHU5Mzk3XHU5NzFDXHU5QTEyXHU1MENGXHU1ODk3XHU2MThFXCJdLFxuW1wiYzJhMVwiLFwiXHU4MUQzXHU4NTM1XHU4RDA4XHU5MDIwXHU0RkMzXHU1MDc0XHU1MjQ3XHU1MzczXHU2MDZGXHU2MzQ5XHU2NzVGXHU2RTJDXHU4REIzXHU5MDFGXHU0RkQ3XHU1QzVFXHU4Q0NBXHU2NUNGXHU3RDlBXHU1MzUyXHU4ODk2XHU1MTc2XHU2M0MzXHU1QjU4XHU1QjZCXHU1QzBBXHU2NDBEXHU2NzUxXHU5MDVDXHU0RUQ2XHU1OTFBXHU1OTJBXHU2QzcwXHU4QTUxXHU1NTNFXHU1ODE1XHU1OUE1XHU2MEYwXHU2MjUzXHU2N0MxXHU4MjM1XHU2OTU1XHU5NjQwXHU5OUM0XHU5QTI4XHU0RjUzXHU1ODA2XHU1QkZFXHU4MDEwXHU1Q0IxXHU1RTJGXHU1Rjg1XHU2MDIwXHU2MTRCXHU2MjM0XHU2NkZGXHU2Q0YwXHU2RURFXHU4MENFXHU4MTdGXHU4MkQ0XHU4ODhCXHU4Q0I4XHU5MDAwXHU5MDJFXHU5NjhBXHU5RURCXHU5QkRCXHU0RUUzXHU1M0YwXHU1OTI3XHU3QjJDXHU5MThEXHU5ODRDXHU5REY5XHU2RUREXHU3MDI3XHU1MzUzXHU1NTQ0XHU1Qjg1XHU2MjU4XHU2MjlFXHU2MkQzXHU2Q0EyXHU2RkVGXHU3NDIyXHU4QTE3XHU5NDM4XHU2RkMxXHU4QUZFXHU4MzM4XHU1MUU3XHU4NkY4XHU1M0VBXCJdLFxuW1wiYzNhMVwiLFwiXHU1M0U5XHU0RjQ2XHU5MDU0XHU4RkIwXHU1OTZBXHU4MTMxXHU1REZEXHU3QUVBXHU4RkJGXHU2OERBXHU4QzM3XHU3MkY4XHU5QzQ4XHU2QTNEXHU4QUIwXHU0RTM5XHU1MzU4XHU1NjA2XHU1NzY2XHU2MkM1XHU2M0EyXHU2NUU2XHU2QjRFXHU2REUxXHU2RTVCXHU3MEFEXHU3N0VEXHU3QUVGXHU3QkFBXHU3REJCXHU4MDNEXHU4MEM2XHU4NkNCXHU4QTk1XHU5MzVCXHU1NkUzXHU1OEM3XHU1RjNFXHU2NUFEXHU2Njk2XHU2QTgwXHU2QkI1XHU3NTM3XHU4QUM3XHU1MDI0XHU3N0U1XHU1NzMwXHU1RjFCXHU2MDY1XHU2NjdBXHU2QzYwXHU3NUY0XHU3QTFBXHU3RjZFXHU4MUY0XHU4NzE4XHU5MDQ1XHU5OUIzXHU3QkM5XHU3NTVDXHU3QUY5XHU3QjUxXHU4NEM0XHU5MDEwXHU3OUU5XHU3QTkyXHU4MzM2XHU1QUUxXHU3NzQwXHU0RTJEXHU0RUYyXHU1Qjk5XHU1RkUwXHU2MkJEXHU2NjNDXHU2N0YxXHU2Q0U4XHU4NjZCXHU4ODc3XHU4QTNCXHU5MTRFXHU5MkYzXHU5OUQwXHU2QTE3XHU3MDI2XHU3MzJBXHU4MkU3XHU4NDU3XHU4Q0FGXHU0RTAxXHU1MTQ2XHU1MUNCXHU1NThCXHU1QkY1XCJdLFxuW1wiYzRhMVwiLFwiXHU1RTE2XHU1RTMzXHU1RTgxXHU1RjE0XHU1RjM1XHU1RjZCXHU1RkI0XHU2MUYyXHU2MzExXHU2NkEyXHU2NzFEXHU2RjZFXHU3MjUyXHU3NTNBXHU3NzNBXHU4MDc0XHU4MTM5XHU4MTc4XHU4Nzc2XHU4QUJGXHU4QURDXHU4RDg1XHU4REYzXHU5MjlBXHU5NTc3XHU5ODAyXHU5Q0U1XHU1MkM1XHU2MzU3XHU3NkY0XHU2NzE1XHU2Qzg4XHU3M0NEXHU4Q0MzXHU5M0FFXHU5NjczXHU2RDI1XHU1ODlDXHU2OTBFXHU2OUNDXHU4RkZEXHU5MzlBXHU3NURCXHU5MDFBXHU1ODVBXHU2ODAyXHU2M0I0XHU2OUZCXHU0RjQzXHU2RjJDXHU2N0Q4XHU4RkJCXHU4NTI2XHU3REI0XHU5MzU0XHU2OTNGXHU2RjcwXHU1NzZBXHU1OEY3XHU1QjJDXHU3RDJDXHU3MjJBXHU1NDBBXHU5MUUzXHU5REI0XHU0RUFEXHU0RjRFXHU1MDVDXHU1MDc1XHU1MjQzXHU4QzlFXHU1NDQ4XHU1ODI0XHU1QjlBXHU1RTFEXHU1RTk1XHU1RUFEXHU1RUY3XHU1RjFGXHU2MDhDXHU2MkI1XHU2MzNBXHU2M0QwXHU2OEFGXHU2QzQwXHU3ODg3XHU3OThFXHU3QTBCXHU3REUwXHU4MjQ3XHU4QTAyXHU4QUU2XHU4RTQ0XHU5MDEzXCJdLFxuW1wiYzVhMVwiLFwiXHU5MEI4XHU5MTJEXHU5MUQ4XHU5RjBFXHU2Q0U1XHU2NDU4XHU2NEUyXHU2NTc1XHU2RUY0XHU3Njg0XHU3QjFCXHU5MDY5XHU5M0QxXHU2RUJBXHU1NEYyXHU1RkI5XHU2NEE0XHU4RjREXHU4RkVEXHU5MjQ0XHU1MTc4XHU1ODZCXHU1OTI5XHU1QzU1XHU1RTk3XHU2REZCXHU3RThGXHU3NTFDXHU4Q0JDXHU4RUUyXHU5ODVCXHU3MEI5XHU0RjFEXHU2QkJGXHU2RkIxXHU3NTMwXHU5NkZCXHU1MTRFXHU1NDEwXHU1ODM1XHU1ODU3XHU1OUFDXHU1QzYwXHU1RjkyXHU2NTk3XHU2NzVDXHU2RTIxXHU3NjdCXHU4M0RGXHU4Q0VEXHU5MDE0XHU5MEZEXHU5MzREXHU3ODI1XHU3ODNBXHU1MkFBXHU1RUE2XHU1NzFGXHU1OTc0XHU2MDEyXHU1MDEyXHU1MTVBXHU1MUFDXHU1MUNEXHU1MjAwXHU1NTEwXHU1ODU0XHU1ODU4XHU1OTU3XHU1Qjk1XHU1Q0Y2XHU1RDhCXHU2MEJDXHU2Mjk1XHU2NDJEXHU2NzcxXHU2ODQzXHU2OEJDXHU2OERGXHU3NkQ3XHU2REQ4XHU2RTZGXHU2RDlCXHU3MDZGXHU3MUM4XHU1RjUzXHU3NUQ4XHU3OTc3XHU3QjQ5XHU3QjU0XHU3QjUyXHU3Q0Q2XHU3RDcxXHU1MjMwXCJdLFxuW1wiYzZhMVwiLFwiXHU4NDYzXHU4NTY5XHU4NUU0XHU4QTBFXHU4QjA0XHU4QzQ2XHU4RTBGXHU5MDAzXHU5MDBGXHU5NDE5XHU5Njc2XHU5ODJEXHU5QTMwXHU5NUQ4XHU1MENEXHU1MkQ1XHU1NDBDXHU1ODAyXHU1QzBFXHU2MUE3XHU2NDlFXHU2RDFFXHU3N0IzXHU3QUU1XHU4MEY0XHU4NDA0XHU5MDUzXHU5Mjg1XHU1Q0UwXHU5RDA3XHU1MzNGXHU1Rjk3XHU1RkIzXHU2RDlDXHU3Mjc5XHU3NzYzXHU3OUJGXHU3QkU0XHU2QkQyXHU3MkVDXHU4QUFEXHU2ODAzXHU2QTYxXHU1MUY4XHU3QTgxXHU2OTM0XHU1QzRBXHU5Q0Y2XHU4MkVCXHU1QkM1XHU5MTQ5XHU3MDFFXHU1Njc4XHU1QzZGXHU2MEM3XHU2NTY2XHU2QzhDXHU4QzVBXHU5MDQxXHU5ODEzXHU1NDUxXHU2NkM3XHU5MjBEXHU1OTQ4XHU5MEEzXHU1MTg1XHU0RTREXHU1MUVBXHU4NTk5XHU4QjBFXHU3MDU4XHU2MzdBXHU5MzRCXHU2OTYyXHU5OUI0XHU3RTA0XHU3NTc3XHU1MzU3XHU2OTYwXHU4RURGXHU5NkUzXHU2QzVEXHU0RThDXHU1QzNDXHU1RjEwXHU4RkU5XHU1MzAyXHU4Q0QxXHU4MDg5XHU4Njc5XHU1RUZGXHU2NUU1XHU0RTczXHU1MTY1XCJdLFxuW1wiYzdhMVwiLFwiXHU1OTgyXHU1QzNGXHU5N0VFXHU0RUZCXHU1OThBXHU1RkNEXHU4QThEXHU2RkUxXHU3OUIwXHU3OTYyXHU1QkU3XHU4NDcxXHU3MzJCXHU3MUIxXHU1RTc0XHU1RkY1XHU2MzdCXHU2NDlBXHU3MUMzXHU3Qzk4XHU0RTQzXHU1RUZDXHU0RTRCXHU1N0RDXHU1NkEyXHU2MEE5XHU2RkMzXHU3RDBEXHU4MEZEXHU4MTMzXHU4MUJGXHU4RkIyXHU4OTk3XHU4NkE0XHU1REY0XHU2MjhBXHU2NEFEXHU4OTg3XHU2Nzc3XHU2Q0UyXHU2RDNFXHU3NDM2XHU3ODM0XHU1QTQ2XHU3Rjc1XHU4MkFEXHU5OUFDXHU0RkYzXHU1RUMzXHU2MkREXHU2MzkyXHU2NTU3XHU2NzZGXHU3NkMzXHU3MjRDXHU4MENDXHU4MEJBXHU4RjI5XHU5MTREXHU1MDBEXHU1N0Y5XHU1QTkyXHU2ODg1XHU2OTczXHU3MTY0XHU3MkZEXHU4Q0I3XHU1OEYyXHU4Q0UwXHU5NjZBXHU5MDE5XHU4NzdGXHU3OUU0XHU3N0U3XHU4NDI5XHU0RjJGXHU1MjY1XHU1MzVBXHU2MkNEXHU2N0NGXHU2Q0NBXHU3NjdEXHU3Qjk0XHU3Qzk1XHU4MjM2XHU4NTg0XHU4RkVCXHU2NkREXHU2RjIwXHU3MjA2XHU3RTFCXHU4M0FCXHU5OUMxXHU5RUE2XCJdLFxuW1wiYzhhMVwiLFwiXHU1MUZEXHU3QkIxXHU3ODcyXHU3QkI4XHU4MDg3XHU3QjQ4XHU2QUU4XHU1RTYxXHU4MDhDXHU3NTUxXHU3NTYwXHU1MTZCXHU5MjYyXHU2RThDXHU3NjdBXHU5MTk3XHU5QUVBXHU0RjEwXHU3RjcwXHU2MjlDXHU3QjRGXHU5NUE1XHU5Q0U5XHU1NjdBXHU1ODU5XHU4NkU0XHU5NkJDXHU0RjM0XHU1MjI0XHU1MzRBXHU1M0NEXHU1M0RCXHU1RTA2XHU2NDJDXHU2NTkxXHU2NzdGXHU2QzNFXHU2QzRFXHU3MjQ4XHU3MkFGXHU3M0VEXHU3NTU0XHU3RTQxXHU4MjJDXHU4NUU5XHU4Q0E5XHU3QkM0XHU5MUM2XHU3MTY5XHU5ODEyXHU5OEVGXHU2MzNEXHU2NjY5XHU3NTZBXHU3NkU0XHU3OEQwXHU4NTQzXHU4NkVFXHU1MzJBXHU1MzUxXHU1NDI2XHU1OTgzXHU1RTg3XHU1RjdDXHU2MEIyXHU2MjQ5XHU2Mjc5XHU2MkFCXHU2NTkwXHU2QkQ0XHU2Q0NDXHU3NUIyXHU3NkFFXHU3ODkxXHU3OUQ4XHU3RENCXHU3Rjc3XHU4MEE1XHU4OEFCXHU4QUI5XHU4Q0JCXHU5MDdGXHU5NzVFXHU5OERCXHU2QTBCXHU3QzM4XHU1MDk5XHU1QzNFXHU1RkFFXHU2Nzg3XHU2QkQ4XHU3NDM1XHU3NzA5XHU3RjhFXCJdLFxuW1wiYzlhMVwiLFwiXHU5RjNCXHU2N0NBXHU3QTE3XHU1MzM5XHU3NThCXHU5QUVEXHU1RjY2XHU4MTlEXHU4M0YxXHU4MDk4XHU1RjNDXHU1RkM1XHU3NTYyXHU3QjQ2XHU5MDNDXHU2ODY3XHU1OUVCXHU1QTlCXHU3RDEwXHU3NjdFXHU4QjJDXHU0RkY1XHU1RjZBXHU2QTE5XHU2QzM3XHU2RjAyXHU3NEUyXHU3OTY4XHU4ODY4XHU4QTU1XHU4Qzc5XHU1RURGXHU2M0NGXHU3NUM1XHU3OUQyXHU4MkQ3XHU5MzI4XHU5MkYyXHU4NDlDXHU4NkVEXHU5QzJEXHU1NEMxXHU1RjZDXHU2NThDXHU2RDVDXHU3MDE1XHU4Q0E3XHU4Q0QzXHU5ODNCXHU2NTRGXHU3NEY2XHU0RTBEXHU0RUQ4XHU1N0UwXHU1OTJCXHU1QTY2XHU1QkNDXHU1MUE4XHU1RTAzXHU1RTlDXHU2MDE2XHU2Mjc2XHU2NTc3XHU2NUE3XHU2NjZFXHU2RDZFXHU3MjM2XHU3QjI2XHU4MTUwXHU4MTlBXHU4Mjk5XHU4QjVDXHU4Q0EwXHU4Q0U2XHU4RDc0XHU5NjFDXHU5NjQ0XHU0RkFFXHU2NEFCXHU2QjY2XHU4MjFFXHU4NDYxXHU4NTZBXHU5MEU4XHU1QzAxXHU2OTUzXHU5OEE4XHU4NDdBXHU4NTU3XHU0RjBGXHU1MjZGXHU1RkE5XHU1RTQ1XHU2NzBEXCJdLFxuW1wiY2FhMVwiLFwiXHU3OThGXHU4MTc5XHU4OTA3XHU4OTg2XHU2REY1XHU1RjE3XHU2MjU1XHU2Q0I4XHU0RUNGXHU3MjY5XHU5QjkyXHU1MjA2XHU1NDNCXHU1Njc0XHU1OEIzXHU2MUE0XHU2MjZFXHU3MTFBXHU1OTZFXHU3Qzg5XHU3Q0RFXHU3RDFCXHU5NkYwXHU2NTg3XHU4MDVFXHU0RTE5XHU0Rjc1XHU1MTc1XHU1ODQwXHU1RTYzXHU1RTczXHU1RjBBXHU2N0M0XHU0RTI2XHU4NTNEXHU5NTg5XHU5NjVCXHU3QzczXHU5ODAxXHU1MEZCXHU1OEMxXHU3NjU2XHU3OEE3XHU1MjI1XHU3N0E1XHU4NTExXHU3Qjg2XHU1MDRGXHU1OTA5XHU3MjQ3XHU3QkM3XHU3REU4XHU4RkJBXHU4RkQ0XHU5MDREXHU0RkJGXHU1MkM5XHU1QTI5XHU1RjAxXHU5N0FEXHU0RkREXHU4MjE3XHU5MkVBXHU1NzAzXHU2MzU1XHU2QjY5XHU3NTJCXHU4OERDXHU4RjE0XHU3QTQyXHU1MkRGXHU1ODkzXHU2MTU1XHU2MjBBXHU2NkFFXHU2QkNEXHU3QzNGXHU4M0U5XHU1MDIzXHU0RkY4XHU1MzA1XHU1NDQ2XHU1ODMxXHU1OTQ5XHU1QjlEXHU1Q0YwXHU1Q0VGXHU1RDI5XHU1RTk2XHU2MkIxXHU2MzY3XHU2NTNFXHU2NUI5XHU2NzBCXCJdLFxuW1wiY2JhMVwiLFwiXHU2Q0Q1XHU2Q0UxXHU3MEY5XHU3ODMyXHU3RTJCXHU4MERFXHU4MkIzXHU4NDBDXHU4NEVDXHU4NzAyXHU4OTEyXHU4QTJBXHU4QzRBXHU5MEE2XHU5MkQyXHU5OEZEXHU5Q0YzXHU5RDZDXHU0RTRGXHU0RUExXHU1MDhEXHU1MjU2XHU1NzRBXHU1OUE4XHU1RTNEXHU1RkQ4XHU1RkQ5XHU2MjNGXHU2NkI0XHU2NzFCXHU2N0QwXHU2OEQyXHU1MTkyXHU3RDIxXHU4MEFBXHU4MUE4XHU4QjAwXHU4QzhDXHU4Q0JGXHU5MjdFXHU5NjMyXHU1NDIwXHU5ODJDXHU1MzE3XHU1MEQ1XHU1MzVDXHU1OEE4XHU2NEIyXHU2NzM0XHU3MjY3XHU3NzY2XHU3QTQ2XHU5MUU2XHU1MkMzXHU2Q0ExXHU2Qjg2XHU1ODAwXHU1RTRDXHU1OTU0XHU2NzJDXHU3RkZCXHU1MUUxXHU3NkM2XHU2NDY5XHU3OEU4XHU5QjU0XHU5RUJCXHU1N0NCXHU1OUI5XHU2NjI3XHU2NzlBXHU2QkNFXHU1NEU5XHU2OUQ5XHU1RTU1XHU4MTlDXHU2Nzk1XHU5QkFBXHU2N0ZFXHU5QzUyXHU2ODVEXHU0RUE2XHU0RkUzXHU1M0M4XHU2MkI5XHU2NzJCXHU2Q0FCXHU4RkM0XHU0RkFEXHU3RTZEXHU5RUJGXHU0RTA3XHU2MTYyXHU2RTgwXCJdLFxuW1wiY2NhMVwiLFwiXHU2RjJCXHU4NTEzXHU1NDczXHU2NzJBXHU5QjQ1XHU1REYzXHU3Qjk1XHU1Q0FDXHU1QkM2XHU4NzFDXHU2RTRBXHU4NEQxXHU3QTE0XHU4MTA4XHU1OTk5XHU3QzhEXHU2QzExXHU3NzIwXHU1MkQ5XHU1OTIyXHU3MTIxXHU3MjVGXHU3N0RCXHU5NzI3XHU5RDYxXHU2OTBCXHU1QTdGXHU1QTE4XHU1MUE1XHU1NDBEXHU1NDdEXHU2NjBFXHU3NkRGXHU4RkY3XHU5Mjk4XHU5Q0Y0XHU1OUVBXHU3MjVEXHU2RUM1XHU1MTREXHU2OEM5XHU3REJGXHU3REVDXHU5NzYyXHU5RUJBXHU2NDc4XHU2QTIxXHU4MzAyXHU1OTg0XHU1QjVGXHU2QkRCXHU3MzFCXHU3NkYyXHU3REIyXHU4MDE3XHU4NDk5XHU1MTMyXHU2NzI4XHU5RUQ5XHU3NkVFXHU2NzYyXHU1MkZGXHU5OTA1XHU1QzI0XHU2MjNCXHU3QzdFXHU4Q0IwXHU1NTRGXHU2MEI2XHU3RDBCXHU5NTgwXHU1MzAxXHU0RTVGXHU1MUI2XHU1OTFDXHU3MjNBXHU4MDM2XHU5MUNFXHU1RjI1XHU3N0UyXHU1Mzg0XHU1Rjc5XHU3RDA0XHU4NUFDXHU4QTMzXHU4RThEXHU5NzU2XHU2N0YzXHU4NUFFXHU5NDUzXHU2MTA5XHU2MTA4XHU2Q0I5XHU3NjUyXCJdLFxuW1wiY2RhMVwiLFwiXHU4QUVEXHU4RjM4XHU1NTJGXHU0RjUxXHU1MTJBXHU1MkM3XHU1M0NCXHU1QkE1XHU1RTdEXHU2MEEwXHU2MTgyXHU2M0Q2XHU2NzA5XHU2N0RBXHU2RTY3XHU2RDhDXHU3MzM2XHU3MzM3XHU3NTMxXHU3OTUwXHU4OEQ1XHU4QTk4XHU5MDRBXHU5MDkxXHU5MEY1XHU5NkM0XHU4NzhEXHU1OTE1XHU0RTg4XHU0RjU5XHU0RTBFXHU4QTg5XHU4RjNGXHU5ODEwXHU1MEFEXHU1RTdDXHU1OTk2XHU1QkI5XHU1RUI4XHU2M0RBXHU2M0ZBXHU2NEMxXHU2NkRDXHU2OTRBXHU2OUQ4XHU2RDBCXHU2RUI2XHU3MTk0XHU3NTI4XHU3QUFGXHU3RjhBXHU4MDAwXHU4NDQ5XHU4NEM5XHU4OTgxXHU4QjIxXHU4RTBBXHU5MDY1XHU5NjdEXHU5OTBBXHU2MTdFXHU2MjkxXHU2QjMyXHU2QzgzXHU2RDc0XHU3RkNDXHU3RkZDXHU2REMwXHU3Rjg1XHU4N0JBXHU4OEY4XHU2NzY1XHU4M0IxXHU5ODNDXHU5NkY3XHU2RDFCXHU3RDYxXHU4NDNEXHU5MTZBXHU0RTcxXHU1Mzc1XHU1RDUwXHU2QjA0XHU2RkVCXHU4NUNEXHU4NjJEXHU4OUE3XHU1MjI5XHU1NDBGXHU1QzY1XHU2NzRFXHU2OEE4XHU3NDA2XHU3NDgzXCJdLFxuW1wiY2VhMVwiLFwiXHU3NUUyXHU4OENGXHU4OEUxXHU5MUNDXHU5NkUyXHU5Njc4XHU1RjhCXHU3Mzg3XHU3QUNCXHU4NDRFXHU2M0EwXHU3NTY1XHU1Mjg5XHU2RDQxXHU2RTlDXHU3NDA5XHU3NTU5XHU3ODZCXHU3QzkyXHU5Njg2XHU3QURDXHU5RjhEXHU0RkI2XHU2MTZFXHU2NUM1XHU4NjVDXHU0RTg2XHU0RUFFXHU1MERBXHU0RTIxXHU1MUNDXHU1QkVFXHU2NTk5XHU2ODgxXHU2REJDXHU3MzFGXHU3NjQyXHU3N0FEXHU3QTFDXHU3Q0U3XHU4MjZGXHU4QUQyXHU5MDdDXHU5MUNGXHU5Njc1XHU5ODE4XHU1MjlCXHU3REQxXHU1MDJCXHU1Mzk4XHU2Nzk3XHU2RENCXHU3MUQwXHU3NDMzXHU4MUU4XHU4RjJBXHU5NkEzXHU5QzU3XHU5RTlGXHU3NDYwXHU1ODQxXHU2RDk5XHU3RDJGXHU5ODVFXHU0RUU0XHU0RjM2XHU0RjhCXHU1MUI3XHU1MkIxXHU1REJBXHU2MDFDXHU3M0IyXHU3OTNDXHU4MkQzXHU5MjM0XHU5NkI3XHU5NkY2XHU5NzBBXHU5RTk3XHU5RjYyXHU2NkE2XHU2Qjc0XHU1MjE3XHU1MkEzXHU3MEM4XHU4OEMyXHU1RUM5XHU2MDRCXHU2MTkwXHU2RjIzXHU3MTQ5XHU3QzNFXHU3REY0XHU4MDZGXCJdLFxuW1wiY2ZhMVwiLFwiXHU4NEVFXHU5MDIzXHU5MzJDXHU1NDQyXHU5QjZGXHU2QUQzXHU3MDg5XHU4Q0MyXHU4REVGXHU5NzMyXHU1MkI0XHU1QTQxXHU1RUNBXHU1RjA0XHU2NzE3XHU2OTdDXHU2OTk0XHU2RDZBXHU2RjBGXHU3MjYyXHU3MkZDXHU3QkVEXHU4MDAxXHU4MDdFXHU4NzRCXHU5MENFXHU1MTZEXHU5RTkzXHU3OTg0XHU4MDhCXHU5MzMyXHU4QUQ2XHU1MDJEXHU1NDhDXHU4QTcxXHU2QjZBXHU4Q0M0XHU4MTA3XHU2MEQxXHU2N0EwXHU5REYyXHU0RTk5XHU0RTk4XHU5QzEwXHU4QTZCXHU4NUMxXHU4NTY4XHU2OTAwXHU2RTdFXHU3ODk3XHU4MTU1XCJdLFxuW1wiZDBhMVwiLFwiXHU1RjBDXHU0RTEwXHU0RTE1XHU0RTJBXHU0RTMxXHU0RTM2XHU0RTNDXHU0RTNGXHU0RTQyXHU0RTU2XHU0RTU4XHU0RTgyXHU0RTg1XHU4QzZCXHU0RThBXHU4MjEyXHU1RjBEXHU0RThFXHU0RTlFXHU0RTlGXHU0RUEwXHU0RUEyXHU0RUIwXHU0RUIzXHU0RUI2XHU0RUNFXHU0RUNEXHU0RUM0XHU0RUM2XHU0RUMyXHU0RUQ3XHU0RURFXHU0RUVEXHU0RURGXHU0RUY3XHU0RjA5XHU0RjVBXHU0RjMwXHU0RjVCXHU0RjVEXHU0RjU3XHU0RjQ3XHU0Rjc2XHU0Rjg4XHU0RjhGXHU0Rjk4XHU0RjdCXHU0RjY5XHU0RjcwXHU0RjkxXHU0RjZGXHU0Rjg2XHU0Rjk2XHU1MTE4XHU0RkQ0XHU0RkRGXHU0RkNFXHU0RkQ4XHU0RkRCXHU0RkQxXHU0RkRBXHU0RkQwXHU0RkU0XHU0RkU1XHU1MDFBXHU1MDI4XHU1MDE0XHU1MDJBXHU1MDI1XHU1MDA1XHU0RjFDXHU0RkY2XHU1MDIxXHU1MDI5XHU1MDJDXHU0RkZFXHU0RkVGXHU1MDExXHU1MDA2XHU1MDQzXHU1MDQ3XHU2NzAzXHU1MDU1XHU1MDUwXHU1MDQ4XHU1MDVBXHU1MDU2XHU1MDZDXHU1MDc4XHU1MDgwXHU1MDlBXHU1MDg1XHU1MEI0XHU1MEIyXCJdLFxuW1wiZDFhMVwiLFwiXHU1MEM5XHU1MENBXHU1MEIzXHU1MEMyXHU1MEQ2XHU1MERFXHU1MEU1XHU1MEVEXHU1MEUzXHU1MEVFXHU1MEY5XHU1MEY1XHU1MTA5XHU1MTAxXHU1MTAyXHU1MTE2XHU1MTE1XHU1MTE0XHU1MTFBXHU1MTIxXHU1MTNBXHU1MTM3XHU1MTNDXHU1MTNCXHU1MTNGXHU1MTQwXHU1MTUyXHU1MTRDXHU1MTU0XHU1MTYyXHU3QUY4XHU1MTY5XHU1MTZBXHU1MTZFXHU1MTgwXHU1MTgyXHU1NkQ4XHU1MThDXHU1MTg5XHU1MThGXHU1MTkxXHU1MTkzXHU1MTk1XHU1MTk2XHU1MUE0XHU1MUE2XHU1MUEyXHU1MUE5XHU1MUFBXHU1MUFCXHU1MUIzXHU1MUIxXHU1MUIyXHU1MUIwXHU1MUI1XHU1MUJEXHU1MUM1XHU1MUM5XHU1MURCXHU1MUUwXHU4NjU1XHU1MUU5XHU1MUVEXHU1MUYwXHU1MUY1XHU1MUZFXHU1MjA0XHU1MjBCXHU1MjE0XHU1MjBFXHU1MjI3XHU1MjJBXHU1MjJFXHU1MjMzXHU1MjM5XHU1MjRGXHU1MjQ0XHU1MjRCXHU1MjRDXHU1MjVFXHU1MjU0XHU1MjZBXHU1Mjc0XHU1MjY5XHU1MjczXHU1MjdGXHU1MjdEXHU1MjhEXHU1Mjk0XHU1MjkyXHU1MjcxXHU1Mjg4XHU1MjkxXHU4RkE4XCJdLFxuW1wiZDJhMVwiLFwiXHU4RkE3XHU1MkFDXHU1MkFEXHU1MkJDXHU1MkI1XHU1MkMxXHU1MkNEXHU1MkQ3XHU1MkRFXHU1MkUzXHU1MkU2XHU5OEVEXHU1MkUwXHU1MkYzXHU1MkY1XHU1MkY4XHU1MkY5XHU1MzA2XHU1MzA4XHU3NTM4XHU1MzBEXHU1MzEwXHU1MzBGXHU1MzE1XHU1MzFBXHU1MzIzXHU1MzJGXHU1MzMxXHU1MzMzXHU1MzM4XHU1MzQwXHU1MzQ2XHU1MzQ1XHU0RTE3XHU1MzQ5XHU1MzREXHU1MUQ2XHU1MzVFXHU1MzY5XHU1MzZFXHU1OTE4XHU1MzdCXHU1Mzc3XHU1MzgyXHU1Mzk2XHU1M0EwXHU1M0E2XHU1M0E1XHU1M0FFXHU1M0IwXHU1M0I2XHU1M0MzXHU3QzEyXHU5NkQ5XHU1M0RGXHU2NkZDXHU3MUVFXHU1M0VFXHU1M0U4XHU1M0VEXHU1M0ZBXHU1NDAxXHU1NDNEXHU1NDQwXHU1NDJDXHU1NDJEXHU1NDNDXHU1NDJFXHU1NDM2XHU1NDI5XHU1NDFEXHU1NDRFXHU1NDhGXHU1NDc1XHU1NDhFXHU1NDVGXHU1NDcxXHU1NDc3XHU1NDcwXHU1NDkyXHU1NDdCXHU1NDgwXHU1NDc2XHU1NDg0XHU1NDkwXHU1NDg2XHU1NEM3XHU1NEEyXHU1NEI4XHU1NEE1XHU1NEFDXHU1NEM0XHU1NEM4XHU1NEE4XCJdLFxuW1wiZDNhMVwiLFwiXHU1NEFCXHU1NEMyXHU1NEE0XHU1NEJFXHU1NEJDXHU1NEQ4XHU1NEU1XHU1NEU2XHU1NTBGXHU1NTE0XHU1NEZEXHU1NEVFXHU1NEVEXHU1NEZBXHU1NEUyXHU1NTM5XHU1NTQwXHU1NTYzXHU1NTRDXHU1NTJFXHU1NTVDXHU1NTQ1XHU1NTU2XHU1NTU3XHU1NTM4XHU1NTMzXHU1NTVEXHU1NTk5XHU1NTgwXHU1NEFGXHU1NThBXHU1NTlGXHU1NTdCXHU1NTdFXHU1NTk4XHU1NTlFXHU1NUFFXHU1NTdDXHU1NTgzXHU1NUE5XHU1NTg3XHU1NUE4XHU1NURBXHU1NUM1XHU1NURGXHU1NUM0XHU1NURDXHU1NUU0XHU1NUQ0XHU1NjE0XHU1NUY3XHU1NjE2XHU1NUZFXHU1NUZEXHU1NjFCXHU1NUY5XHU1NjRFXHU1NjUwXHU3MURGXHU1NjM0XHU1NjM2XHU1NjMyXHU1NjM4XHU1NjZCXHU1NjY0XHU1NjJGXHU1NjZDXHU1NjZBXHU1Njg2XHU1NjgwXHU1NjhBXHU1NkEwXHU1Njk0XHU1NjhGXHU1NkE1XHU1NkFFXHU1NkI2XHU1NkI0XHU1NkMyXHU1NkJDXHU1NkMxXHU1NkMzXHU1NkMwXHU1NkM4XHU1NkNFXHU1NkQxXHU1NkQzXHU1NkQ3XHU1NkVFXHU1NkY5XHU1NzAwXHU1NkZGXHU1NzA0XHU1NzA5XCJdLFxuW1wiZDRhMVwiLFwiXHU1NzA4XHU1NzBCXHU1NzBEXHU1NzEzXHU1NzE4XHU1NzE2XHU1NUM3XHU1NzFDXHU1NzI2XHU1NzM3XHU1NzM4XHU1NzRFXHU1NzNCXHU1NzQwXHU1NzRGXHU1NzY5XHU1N0MwXHU1Nzg4XHU1NzYxXHU1NzdGXHU1Nzg5XHU1NzkzXHU1N0EwXHU1N0IzXHU1N0E0XHU1N0FBXHU1N0IwXHU1N0MzXHU1N0M2XHU1N0Q0XHU1N0QyXHU1N0QzXHU1ODBBXHU1N0Q2XHU1N0UzXHU1ODBCXHU1ODE5XHU1ODFEXHU1ODcyXHU1ODIxXHU1ODYyXHU1ODRCXHU1ODcwXHU2QkMwXHU1ODUyXHU1ODNEXHU1ODc5XHU1ODg1XHU1OEI5XHU1ODlGXHU1OEFCXHU1OEJBXHU1OERFXHU1OEJCXHU1OEI4XHU1OEFFXHU1OEM1XHU1OEQzXHU1OEQxXHU1OEQ3XHU1OEQ5XHU1OEQ4XHU1OEU1XHU1OERDXHU1OEU0XHU1OERGXHU1OEVGXHU1OEZBXHU1OEY5XHU1OEZCXHU1OEZDXHU1OEZEXHU1OTAyXHU1OTBBXHU1OTEwXHU1OTFCXHU2OEE2XHU1OTI1XHU1OTJDXHU1OTJEXHU1OTMyXHU1OTM4XHU1OTNFXHU3QUQyXHU1OTU1XHU1OTUwXHU1OTRFXHU1OTVBXHU1OTU4XHU1OTYyXHU1OTYwXHU1OTY3XHU1OTZDXHU1OTY5XCJdLFxuW1wiZDVhMVwiLFwiXHU1OTc4XHU1OTgxXHU1OTlEXHU0RjVFXHU0RkFCXHU1OUEzXHU1OUIyXHU1OUM2XHU1OUU4XHU1OURDXHU1OThEXHU1OUQ5XHU1OURBXHU1QTI1XHU1QTFGXHU1QTExXHU1QTFDXHU1QTA5XHU1QTFBXHU1QTQwXHU1QTZDXHU1QTQ5XHU1QTM1XHU1QTM2XHU1QTYyXHU1QTZBXHU1QTlBXHU1QUJDXHU1QUJFXHU1QUNCXHU1QUMyXHU1QUJEXHU1QUUzXHU1QUQ3XHU1QUU2XHU1QUU5XHU1QUQ2XHU1QUZBXHU1QUZCXHU1QjBDXHU1QjBCXHU1QjE2XHU1QjMyXHU1QUQwXHU1QjJBXHU1QjM2XHU1QjNFXHU1QjQzXHU1QjQ1XHU1QjQwXHU1QjUxXHU1QjU1XHU1QjVBXHU1QjVCXHU1QjY1XHU1QjY5XHU1QjcwXHU1QjczXHU1Qjc1XHU1Qjc4XHU2NTg4XHU1QjdBXHU1QjgwXHU1QjgzXHU1QkE2XHU1QkI4XHU1QkMzXHU1QkM3XHU1QkM5XHU1QkQ0XHU1QkQwXHU1QkU0XHU1QkU2XHU1QkUyXHU1QkRFXHU1QkU1XHU1QkVCXHU1QkYwXHU1QkY2XHU1QkYzXHU1QzA1XHU1QzA3XHU1QzA4XHU1QzBEXHU1QzEzXHU1QzIwXHU1QzIyXHU1QzI4XHU1QzM4XHU1QzM5XHU1QzQxXHU1QzQ2XHU1QzRFXHU1QzUzXCJdLFxuW1wiZDZhMVwiLFwiXHU1QzUwXHU1QzRGXHU1QjcxXHU1QzZDXHU1QzZFXHU0RTYyXHU1Qzc2XHU1Qzc5XHU1QzhDXHU1QzkxXHU1Qzk0XHU1OTlCXHU1Q0FCXHU1Q0JCXHU1Q0I2XHU1Q0JDXHU1Q0I3XHU1Q0M1XHU1Q0JFXHU1Q0M3XHU1Q0Q5XHU1Q0U5XHU1Q0ZEXHU1Q0ZBXHU1Q0VEXHU1RDhDXHU1Q0VBXHU1RDBCXHU1RDE1XHU1RDE3XHU1RDVDXHU1RDFGXHU1RDFCXHU1RDExXHU1RDE0XHU1RDIyXHU1RDFBXHU1RDE5XHU1RDE4XHU1RDRDXHU1RDUyXHU1RDRFXHU1RDRCXHU1RDZDXHU1RDczXHU1RDc2XHU1RDg3XHU1RDg0XHU1RDgyXHU1REEyXHU1RDlEXHU1REFDXHU1REFFXHU1REJEXHU1RDkwXHU1REI3XHU1REJDXHU1REM5XHU1RENEXHU1REQzXHU1REQyXHU1REQ2XHU1RERCXHU1REVCXHU1REYyXHU1REY1XHU1RTBCXHU1RTFBXHU1RTE5XHU1RTExXHU1RTFCXHU1RTM2XHU1RTM3XHU1RTQ0XHU1RTQzXHU1RTQwXHU1RTRFXHU1RTU3XHU1RTU0XHU1RTVGXHU1RTYyXHU1RTY0XHU1RTQ3XHU1RTc1XHU1RTc2XHU1RTdBXHU5RUJDXHU1RTdGXHU1RUEwXHU1RUMxXHU1RUMyXHU1RUM4XHU1RUQwXHU1RUNGXCJdLFxuW1wiZDdhMVwiLFwiXHU1RUQ2XHU1RUUzXHU1RUREXHU1RURBXHU1RURCXHU1RUUyXHU1RUUxXHU1RUU4XHU1RUU5XHU1RUVDXHU1RUYxXHU1RUYzXHU1RUYwXHU1RUY0XHU1RUY4XHU1RUZFXHU1RjAzXHU1RjA5XHU1RjVEXHU1RjVDXHU1RjBCXHU1RjExXHU1RjE2XHU1RjI5XHU1RjJEXHU1RjM4XHU1RjQxXHU1RjQ4XHU1RjRDXHU1RjRFXHU1RjJGXHU1RjUxXHU1RjU2XHU1RjU3XHU1RjU5XHU1RjYxXHU1RjZEXHU1RjczXHU1Rjc3XHU1RjgzXHU1RjgyXHU1RjdGXHU1RjhBXHU1Rjg4XHU1RjkxXHU1Rjg3XHU1RjlFXHU1Rjk5XHU1Rjk4XHU1RkEwXHU1RkE4XHU1RkFEXHU1RkJDXHU1RkQ2XHU1RkZCXHU1RkU0XHU1RkY4XHU1RkYxXHU1RkREXHU2MEIzXHU1RkZGXHU2MDIxXHU2MDYwXHU2MDE5XHU2MDEwXHU2MDI5XHU2MDBFXHU2MDMxXHU2MDFCXHU2MDE1XHU2MDJCXHU2MDI2XHU2MDBGXHU2MDNBXHU2MDVBXHU2MDQxXHU2MDZBXHU2MDc3XHU2MDVGXHU2MDRBXHU2MDQ2XHU2MDREXHU2MDYzXHU2MDQzXHU2MDY0XHU2MDQyXHU2MDZDXHU2MDZCXHU2MDU5XHU2MDgxXHU2MDhEXHU2MEU3XHU2MDgzXHU2MDlBXCJdLFxuW1wiZDhhMVwiLFwiXHU2MDg0XHU2MDlCXHU2MDk2XHU2MDk3XHU2MDkyXHU2MEE3XHU2MDhCXHU2MEUxXHU2MEI4XHU2MEUwXHU2MEQzXHU2MEI0XHU1RkYwXHU2MEJEXHU2MEM2XHU2MEI1XHU2MEQ4XHU2MTREXHU2MTE1XHU2MTA2XHU2MEY2XHU2MEY3XHU2MTAwXHU2MEY0XHU2MEZBXHU2MTAzXHU2MTIxXHU2MEZCXHU2MEYxXHU2MTBEXHU2MTBFXHU2MTQ3XHU2MTNFXHU2MTI4XHU2MTI3XHU2MTRBXHU2MTNGXHU2MTNDXHU2MTJDXHU2MTM0XHU2MTNEXHU2MTQyXHU2MTQ0XHU2MTczXHU2MTc3XHU2MTU4XHU2MTU5XHU2MTVBXHU2MTZCXHU2MTc0XHU2MTZGXHU2MTY1XHU2MTcxXHU2MTVGXHU2MTVEXHU2MTUzXHU2MTc1XHU2MTk5XHU2MTk2XHU2MTg3XHU2MUFDXHU2MTk0XHU2MTlBXHU2MThBXHU2MTkxXHU2MUFCXHU2MUFFXHU2MUNDXHU2MUNBXHU2MUM5XHU2MUY3XHU2MUM4XHU2MUMzXHU2MUM2XHU2MUJBXHU2MUNCXHU3Rjc5XHU2MUNEXHU2MUU2XHU2MUUzXHU2MUY2XHU2MUZBXHU2MUY0XHU2MUZGXHU2MUZEXHU2MUZDXHU2MUZFXHU2MjAwXHU2MjA4XHU2MjA5XHU2MjBEXHU2MjBDXHU2MjE0XHU2MjFCXCJdLFxuW1wiZDlhMVwiLFwiXHU2MjFFXHU2MjIxXHU2MjJBXHU2MjJFXHU2MjMwXHU2MjMyXHU2MjMzXHU2MjQxXHU2MjRFXHU2MjVFXHU2MjYzXHU2MjVCXHU2MjYwXHU2MjY4XHU2MjdDXHU2MjgyXHU2Mjg5XHU2MjdFXHU2MjkyXHU2MjkzXHU2Mjk2XHU2MkQ0XHU2MjgzXHU2Mjk0XHU2MkQ3XHU2MkQxXHU2MkJCXHU2MkNGXHU2MkZGXHU2MkM2XHU2NEQ0XHU2MkM4XHU2MkRDXHU2MkNDXHU2MkNBXHU2MkMyXHU2MkM3XHU2MjlCXHU2MkM5XHU2MzBDXHU2MkVFXHU2MkYxXHU2MzI3XHU2MzAyXHU2MzA4XHU2MkVGXHU2MkY1XHU2MzUwXHU2MzNFXHU2MzREXHU2NDFDXHU2MzRGXHU2Mzk2XHU2MzhFXHU2MzgwXHU2M0FCXHU2Mzc2XHU2M0EzXHU2MzhGXHU2Mzg5XHU2MzlGXHU2M0I1XHU2MzZCXHU2MzY5XHU2M0JFXHU2M0U5XHU2M0MwXHU2M0M2XHU2M0UzXHU2M0M5XHU2M0QyXHU2M0Y2XHU2M0M0XHU2NDE2XHU2NDM0XHU2NDA2XHU2NDEzXHU2NDI2XHU2NDM2XHU2NTFEXHU2NDE3XHU2NDI4XHU2NDBGXHU2NDY3XHU2NDZGXHU2NDc2XHU2NDRFXHU2NTJBXHU2NDk1XHU2NDkzXHU2NEE1XHU2NEE5XHU2NDg4XHU2NEJDXCJdLFxuW1wiZGFhMVwiLFwiXHU2NERBXHU2NEQyXHU2NEM1XHU2NEM3XHU2NEJCXHU2NEQ4XHU2NEMyXHU2NEYxXHU2NEU3XHU4MjA5XHU2NEUwXHU2NEUxXHU2MkFDXHU2NEUzXHU2NEVGXHU2NTJDXHU2NEY2XHU2NEY0XHU2NEYyXHU2NEZBXHU2NTAwXHU2NEZEXHU2NTE4XHU2NTFDXHU2NTA1XHU2NTI0XHU2NTIzXHU2NTJCXHU2NTM0XHU2NTM1XHU2NTM3XHU2NTM2XHU2NTM4XHU3NTRCXHU2NTQ4XHU2NTU2XHU2NTU1XHU2NTREXHU2NTU4XHU2NTVFXHU2NTVEXHU2NTcyXHU2NTc4XHU2NTgyXHU2NTgzXHU4QjhBXHU2NTlCXHU2NTlGXHU2NUFCXHU2NUI3XHU2NUMzXHU2NUM2XHU2NUMxXHU2NUM0XHU2NUNDXHU2NUQyXHU2NURCXHU2NUQ5XHU2NUUwXHU2NUUxXHU2NUYxXHU2NzcyXHU2NjBBXHU2NjAzXHU2NUZCXHU2NzczXHU2NjM1XHU2NjM2XHU2NjM0XHU2NjFDXHU2NjRGXHU2NjQ0XHU2NjQ5XHU2NjQxXHU2NjVFXHU2NjVEXHU2NjY0XHU2NjY3XHU2NjY4XHU2NjVGXHU2NjYyXHU2NjcwXHU2NjgzXHU2Njg4XHU2NjhFXHU2Njg5XHU2Njg0XHU2Njk4XHU2NjlEXHU2NkMxXHU2NkI5XHU2NkM5XHU2NkJFXHU2NkJDXCJdLFxuW1wiZGJhMVwiLFwiXHU2NkM0XHU2NkI4XHU2NkQ2XHU2NkRBXHU2NkUwXHU2NjNGXHU2NkU2XHU2NkU5XHU2NkYwXHU2NkY1XHU2NkY3XHU2NzBGXHU2NzE2XHU2NzFFXHU2NzI2XHU2NzI3XHU5NzM4XHU2NzJFXHU2NzNGXHU2NzM2XHU2NzQxXHU2NzM4XHU2NzM3XHU2NzQ2XHU2NzVFXHU2NzYwXHU2NzU5XHU2NzYzXHU2NzY0XHU2Nzg5XHU2NzcwXHU2N0E5XHU2NzdDXHU2NzZBXHU2NzhDXHU2NzhCXHU2N0E2XHU2N0ExXHU2Nzg1XHU2N0I3XHU2N0VGXHU2N0I0XHU2N0VDXHU2N0IzXHU2N0U5XHU2N0I4XHU2N0U0XHU2N0RFXHU2N0REXHU2N0UyXHU2N0VFXHU2N0I5XHU2N0NFXHU2N0M2XHU2N0U3XHU2QTlDXHU2ODFFXHU2ODQ2XHU2ODI5XHU2ODQwXHU2ODREXHU2ODMyXHU2ODRFXHU2OEIzXHU2ODJCXHU2ODU5XHU2ODYzXHU2ODc3XHU2ODdGXHU2ODlGXHU2ODhGXHU2OEFEXHU2ODk0XHU2ODlEXHU2ODlCXHU2ODgzXHU2QUFFXHU2OEI5XHU2ODc0XHU2OEI1XHU2OEEwXHU2OEJBXHU2OTBGXHU2ODhEXHU2ODdFXHU2OTAxXHU2OENBXHU2OTA4XHU2OEQ4XHU2OTIyXHU2OTI2XHU2OEUxXHU2OTBDXHU2OENEXCJdLFxuW1wiZGNhMVwiLFwiXHU2OEQ0XHU2OEU3XHU2OEQ1XHU2OTM2XHU2OTEyXHU2OTA0XHU2OEQ3XHU2OEUzXHU2OTI1XHU2OEY5XHU2OEUwXHU2OEVGXHU2OTI4XHU2OTJBXHU2OTFBXHU2OTIzXHU2OTIxXHU2OEM2XHU2OTc5XHU2OTc3XHU2OTVDXHU2OTc4XHU2OTZCXHU2OTU0XHU2OTdFXHU2OTZFXHU2OTM5XHU2OTc0XHU2OTNEXHU2OTU5XHU2OTMwXHU2OTYxXHU2OTVFXHU2OTVEXHU2OTgxXHU2OTZBXHU2OUIyXHU2OUFFXHU2OUQwXHU2OUJGXHU2OUMxXHU2OUQzXHU2OUJFXHU2OUNFXHU1QkU4XHU2OUNBXHU2OUREXHU2OUJCXHU2OUMzXHU2OUE3XHU2QTJFXHU2OTkxXHU2OUEwXHU2OTlDXHU2OTk1XHU2OUI0XHU2OURFXHU2OUU4XHU2QTAyXHU2QTFCXHU2OUZGXHU2QjBBXHU2OUY5XHU2OUYyXHU2OUU3XHU2QTA1XHU2OUIxXHU2QTFFXHU2OUVEXHU2QTE0XHU2OUVCXHU2QTBBXHU2QTEyXHU2QUMxXHU2QTIzXHU2QTEzXHU2QTQ0XHU2QTBDXHU2QTcyXHU2QTM2XHU2QTc4XHU2QTQ3XHU2QTYyXHU2QTU5XHU2QTY2XHU2QTQ4XHU2QTM4XHU2QTIyXHU2QTkwXHU2QThEXHU2QUEwXHU2QTg0XHU2QUEyXHU2QUEzXCJdLFxuW1wiZGRhMVwiLFwiXHU2QTk3XHU4NjE3XHU2QUJCXHU2QUMzXHU2QUMyXHU2QUI4XHU2QUIzXHU2QUFDXHU2QURFXHU2QUQxXHU2QURGXHU2QUFBXHU2QURBXHU2QUVBXHU2QUZCXHU2QjA1XHU4NjE2XHU2QUZBXHU2QjEyXHU2QjE2XHU5QjMxXHU2QjFGXHU2QjM4XHU2QjM3XHU3NkRDXHU2QjM5XHU5OEVFXHU2QjQ3XHU2QjQzXHU2QjQ5XHU2QjUwXHU2QjU5XHU2QjU0XHU2QjVCXHU2QjVGXHU2QjYxXHU2Qjc4XHU2Qjc5XHU2QjdGXHU2QjgwXHU2Qjg0XHU2QjgzXHU2QjhEXHU2Qjk4XHU2Qjk1XHU2QjlFXHU2QkE0XHU2QkFBXHU2QkFCXHU2QkFGXHU2QkIyXHU2QkIxXHU2QkIzXHU2QkI3XHU2QkJDXHU2QkM2XHU2QkNCXHU2QkQzXHU2QkRGXHU2QkVDXHU2QkVCXHU2QkYzXHU2QkVGXHU5RUJFXHU2QzA4XHU2QzEzXHU2QzE0XHU2QzFCXHU2QzI0XHU2QzIzXHU2QzVFXHU2QzU1XHU2QzYyXHU2QzZBXHU2QzgyXHU2QzhEXHU2QzlBXHU2QzgxXHU2QzlCXHU2QzdFXHU2QzY4XHU2QzczXHU2QzkyXHU2QzkwXHU2Q0M0XHU2Q0YxXHU2Q0QzXHU2Q0JEXHU2Q0Q3XHU2Q0M1XHU2Q0REXHU2Q0FFXHU2Q0IxXHU2Q0JFXCJdLFxuW1wiZGVhMVwiLFwiXHU2Q0JBXHU2Q0RCXHU2Q0VGXHU2Q0Q5XHU2Q0VBXHU2RDFGXHU4ODREXHU2RDM2XHU2RDJCXHU2RDNEXHU2RDM4XHU2RDE5XHU2RDM1XHU2RDMzXHU2RDEyXHU2RDBDXHU2RDYzXHU2RDkzXHU2RDY0XHU2RDVBXHU2RDc5XHU2RDU5XHU2RDhFXHU2RDk1XHU2RkU0XHU2RDg1XHU2REY5XHU2RTE1XHU2RTBBXHU2REI1XHU2REM3XHU2REU2XHU2REI4XHU2REM2XHU2REVDXHU2RERFXHU2RENDXHU2REU4XHU2REQyXHU2REM1XHU2REZBXHU2REQ5XHU2REU0XHU2REQ1XHU2REVBXHU2REVFXHU2RTJEXHU2RTZFXHU2RTJFXHU2RTE5XHU2RTcyXHU2RTVGXHU2RTNFXHU2RTIzXHU2RTZCXHU2RTJCXHU2RTc2XHU2RTREXHU2RTFGXHU2RTQzXHU2RTNBXHU2RTRFXHU2RTI0XHU2RUZGXHU2RTFEXHU2RTM4XHU2RTgyXHU2RUFBXHU2RTk4XHU2RUM5XHU2RUI3XHU2RUQzXHU2RUJEXHU2RUFGXHU2RUM0XHU2RUIyXHU2RUQ0XHU2RUQ1XHU2RThGXHU2RUE1XHU2RUMyXHU2RTlGXHU2RjQxXHU2RjExXHU3MDRDXHU2RUVDXHU2RUY4XHU2RUZFXHU2RjNGXHU2RUYyXHU2RjMxXHU2RUVGXHU2RjMyXHU2RUNDXCJdLFxuW1wiZGZhMVwiLFwiXHU2RjNFXHU2RjEzXHU2RUY3XHU2Rjg2XHU2RjdBXHU2Rjc4XHU2RjgxXHU2RjgwXHU2RjZGXHU2RjVCXHU2RkYzXHU2RjZEXHU2RjgyXHU2RjdDXHU2RjU4XHU2RjhFXHU2RjkxXHU2RkMyXHU2RjY2XHU2RkIzXHU2RkEzXHU2RkExXHU2RkE0XHU2RkI5XHU2RkM2XHU2RkFBXHU2RkRGXHU2RkQ1XHU2RkVDXHU2RkQ0XHU2RkQ4XHU2RkYxXHU2RkVFXHU2RkRCXHU3MDA5XHU3MDBCXHU2RkZBXHU3MDExXHU3MDAxXHU3MDBGXHU2RkZFXHU3MDFCXHU3MDFBXHU2Rjc0XHU3MDFEXHU3MDE4XHU3MDFGXHU3MDMwXHU3MDNFXHU3MDMyXHU3MDUxXHU3MDYzXHU3MDk5XHU3MDkyXHU3MEFGXHU3MEYxXHU3MEFDXHU3MEI4XHU3MEIzXHU3MEFFXHU3MERGXHU3MENCXHU3MEREXHU3MEQ5XHU3MTA5XHU3MEZEXHU3MTFDXHU3MTE5XHU3MTY1XHU3MTU1XHU3MTg4XHU3MTY2XHU3MTYyXHU3MTRDXHU3MTU2XHU3MTZDXHU3MThGXHU3MUZCXHU3MTg0XHU3MTk1XHU3MUE4XHU3MUFDXHU3MUQ3XHU3MUI5XHU3MUJFXHU3MUQyXHU3MUM5XHU3MUQ0XHU3MUNFXHU3MUUwXHU3MUVDXHU3MUU3XHU3MUY1XHU3MUZDXCJdLFxuW1wiZTBhMVwiLFwiXHU3MUY5XHU3MUZGXHU3MjBEXHU3MjEwXHU3MjFCXHU3MjI4XHU3MjJEXHU3MjJDXHU3MjMwXHU3MjMyXHU3MjNCXHU3MjNDXHU3MjNGXHU3MjQwXHU3MjQ2XHU3MjRCXHU3MjU4XHU3Mjc0XHU3MjdFXHU3MjgyXHU3MjgxXHU3Mjg3XHU3MjkyXHU3Mjk2XHU3MkEyXHU3MkE3XHU3MkI5XHU3MkIyXHU3MkMzXHU3MkM2XHU3MkM0XHU3MkNFXHU3MkQyXHU3MkUyXHU3MkUwXHU3MkUxXHU3MkY5XHU3MkY3XHU1MDBGXHU3MzE3XHU3MzBBXHU3MzFDXHU3MzE2XHU3MzFEXHU3MzM0XHU3MzJGXHU3MzI5XHU3MzI1XHU3MzNFXHU3MzRFXHU3MzRGXHU5RUQ4XHU3MzU3XHU3MzZBXHU3MzY4XHU3MzcwXHU3Mzc4XHU3Mzc1XHU3MzdCXHU3MzdBXHU3M0M4XHU3M0IzXHU3M0NFXHU3M0JCXHU3M0MwXHU3M0U1XHU3M0VFXHU3M0RFXHU3NEEyXHU3NDA1XHU3NDZGXHU3NDI1XHU3M0Y4XHU3NDMyXHU3NDNBXHU3NDU1XHU3NDNGXHU3NDVGXHU3NDU5XHU3NDQxXHU3NDVDXHU3NDY5XHU3NDcwXHU3NDYzXHU3NDZBXHU3NDc2XHU3NDdFXHU3NDhCXHU3NDlFXHU3NEE3XHU3NENBXHU3NENGXHU3NEQ0XHU3M0YxXCJdLFxuW1wiZTFhMVwiLFwiXHU3NEUwXHU3NEUzXHU3NEU3XHU3NEU5XHU3NEVFXHU3NEYyXHU3NEYwXHU3NEYxXHU3NEY4XHU3NEY3XHU3NTA0XHU3NTAzXHU3NTA1XHU3NTBDXHU3NTBFXHU3NTBEXHU3NTE1XHU3NTEzXHU3NTFFXHU3NTI2XHU3NTJDXHU3NTNDXHU3NTQ0XHU3NTREXHU3NTRBXHU3NTQ5XHU3NTVCXHU3NTQ2XHU3NTVBXHU3NTY5XHU3NTY0XHU3NTY3XHU3NTZCXHU3NTZEXHU3NTc4XHU3NTc2XHU3NTg2XHU3NTg3XHU3NTc0XHU3NThBXHU3NTg5XHU3NTgyXHU3NTk0XHU3NTlBXHU3NTlEXHU3NUE1XHU3NUEzXHU3NUMyXHU3NUIzXHU3NUMzXHU3NUI1XHU3NUJEXHU3NUI4XHU3NUJDXHU3NUIxXHU3NUNEXHU3NUNBXHU3NUQyXHU3NUQ5XHU3NUUzXHU3NURFXHU3NUZFXHU3NUZGXHU3NUZDXHU3NjAxXHU3NUYwXHU3NUZBXHU3NUYyXHU3NUYzXHU3NjBCXHU3NjBEXHU3NjA5XHU3NjFGXHU3NjI3XHU3NjIwXHU3NjIxXHU3NjIyXHU3NjI0XHU3NjM0XHU3NjMwXHU3NjNCXHU3NjQ3XHU3NjQ4XHU3NjQ2XHU3NjVDXHU3NjU4XHU3NjYxXHU3NjYyXHU3NjY4XHU3NjY5XHU3NjZBXHU3NjY3XHU3NjZDXHU3NjcwXCJdLFxuW1wiZTJhMVwiLFwiXHU3NjcyXHU3Njc2XHU3Njc4XHU3NjdDXHU3NjgwXHU3NjgzXHU3Njg4XHU3NjhCXHU3NjhFXHU3Njk2XHU3NjkzXHU3Njk5XHU3NjlBXHU3NkIwXHU3NkI0XHU3NkI4XHU3NkI5XHU3NkJBXHU3NkMyXHU3NkNEXHU3NkQ2XHU3NkQyXHU3NkRFXHU3NkUxXHU3NkU1XHU3NkU3XHU3NkVBXHU4NjJGXHU3NkZCXHU3NzA4XHU3NzA3XHU3NzA0XHU3NzI5XHU3NzI0XHU3NzFFXHU3NzI1XHU3NzI2XHU3NzFCXHU3NzM3XHU3NzM4XHU3NzQ3XHU3NzVBXHU3NzY4XHU3NzZCXHU3NzVCXHU3NzY1XHU3NzdGXHU3NzdFXHU3Nzc5XHU3NzhFXHU3NzhCXHU3NzkxXHU3N0EwXHU3NzlFXHU3N0IwXHU3N0I2XHU3N0I5XHU3N0JGXHU3N0JDXHU3N0JEXHU3N0JCXHU3N0M3XHU3N0NEXHU3N0Q3XHU3N0RBXHU3N0RDXHU3N0UzXHU3N0VFXHU3N0ZDXHU3ODBDXHU3ODEyXHU3OTI2XHU3ODIwXHU3OTJBXHU3ODQ1XHU3ODhFXHU3ODc0XHU3ODg2XHU3ODdDXHU3ODlBXHU3ODhDXHU3OEEzXHU3OEI1XHU3OEFBXHU3OEFGXHU3OEQxXHU3OEM2XHU3OENCXHU3OEQ0XHU3OEJFXHU3OEJDXHU3OEM1XHU3OENBXHU3OEVDXCJdLFxuW1wiZTNhMVwiLFwiXHU3OEU3XHU3OERBXHU3OEZEXHU3OEY0XHU3OTA3XHU3OTEyXHU3OTExXHU3OTE5XHU3OTJDXHU3OTJCXHU3OTQwXHU3OTYwXHU3OTU3XHU3OTVGXHU3OTVBXHU3OTU1XHU3OTUzXHU3OTdBXHU3OTdGXHU3OThBXHU3OTlEXHU3OUE3XHU5RjRCXHU3OUFBXHU3OUFFXHU3OUIzXHU3OUI5XHU3OUJBXHU3OUM5XHU3OUQ1XHU3OUU3XHU3OUVDXHU3OUUxXHU3OUUzXHU3QTA4XHU3QTBEXHU3QTE4XHU3QTE5XHU3QTIwXHU3QTFGXHU3OTgwXHU3QTMxXHU3QTNCXHU3QTNFXHU3QTM3XHU3QTQzXHU3QTU3XHU3QTQ5XHU3QTYxXHU3QTYyXHU3QTY5XHU5RjlEXHU3QTcwXHU3QTc5XHU3QTdEXHU3QTg4XHU3QTk3XHU3QTk1XHU3QTk4XHU3QTk2XHU3QUE5XHU3QUM4XHU3QUIwXHU3QUI2XHU3QUM1XHU3QUM0XHU3QUJGXHU5MDgzXHU3QUM3XHU3QUNBXHU3QUNEXHU3QUNGXHU3QUQ1XHU3QUQzXHU3QUQ5XHU3QURBXHU3QUREXHU3QUUxXHU3QUUyXHU3QUU2XHU3QUVEXHU3QUYwXHU3QjAyXHU3QjBGXHU3QjBBXHU3QjA2XHU3QjMzXHU3QjE4XHU3QjE5XHU3QjFFXHU3QjM1XHU3QjI4XHU3QjM2XHU3QjUwXCJdLFxuW1wiZTRhMVwiLFwiXHU3QjdBXHU3QjA0XHU3QjREXHU3QjBCXHU3QjRDXHU3QjQ1XHU3Qjc1XHU3QjY1XHU3Qjc0XHU3QjY3XHU3QjcwXHU3QjcxXHU3QjZDXHU3QjZFXHU3QjlEXHU3Qjk4XHU3QjlGXHU3QjhEXHU3QjlDXHU3QjlBXHU3QjhCXHU3QjkyXHU3QjhGXHU3QjVEXHU3Qjk5XHU3QkNCXHU3QkMxXHU3QkNDXHU3QkNGXHU3QkI0XHU3QkM2XHU3QkREXHU3QkU5XHU3QzExXHU3QzE0XHU3QkU2XHU3QkU1XHU3QzYwXHU3QzAwXHU3QzA3XHU3QzEzXHU3QkYzXHU3QkY3XHU3QzE3XHU3QzBEXHU3QkY2XHU3QzIzXHU3QzI3XHU3QzJBXHU3QzFGXHU3QzM3XHU3QzJCXHU3QzNEXHU3QzRDXHU3QzQzXHU3QzU0XHU3QzRGXHU3QzQwXHU3QzUwXHU3QzU4XHU3QzVGXHU3QzY0XHU3QzU2XHU3QzY1XHU3QzZDXHU3Qzc1XHU3QzgzXHU3QzkwXHU3Q0E0XHU3Q0FEXHU3Q0EyXHU3Q0FCXHU3Q0ExXHU3Q0E4XHU3Q0IzXHU3Q0IyXHU3Q0IxXHU3Q0FFXHU3Q0I5XHU3Q0JEXHU3Q0MwXHU3Q0M1XHU3Q0MyXHU3Q0Q4XHU3Q0QyXHU3Q0RDXHU3Q0UyXHU5QjNCXHU3Q0VGXHU3Q0YyXHU3Q0Y0XHU3Q0Y2XHU3Q0ZBXHU3RDA2XCJdLFxuW1wiZTVhMVwiLFwiXHU3RDAyXHU3RDFDXHU3RDE1XHU3RDBBXHU3RDQ1XHU3RDRCXHU3RDJFXHU3RDMyXHU3RDNGXHU3RDM1XHU3RDQ2XHU3RDczXHU3RDU2XHU3RDRFXHU3RDcyXHU3RDY4XHU3RDZFXHU3RDRGXHU3RDYzXHU3RDkzXHU3RDg5XHU3RDVCXHU3RDhGXHU3RDdEXHU3RDlCXHU3REJBXHU3REFFXHU3REEzXHU3REI1XHU3REM3XHU3REJEXHU3REFCXHU3RTNEXHU3REEyXHU3REFGXHU3RERDXHU3REI4XHU3RDlGXHU3REIwXHU3REQ4XHU3REREXHU3REU0XHU3RERFXHU3REZCXHU3REYyXHU3REUxXHU3RTA1XHU3RTBBXHU3RTIzXHU3RTIxXHU3RTEyXHU3RTMxXHU3RTFGXHU3RTA5XHU3RTBCXHU3RTIyXHU3RTQ2XHU3RTY2XHU3RTNCXHU3RTM1XHU3RTM5XHU3RTQzXHU3RTM3XHU3RTMyXHU3RTNBXHU3RTY3XHU3RTVEXHU3RTU2XHU3RTVFXHU3RTU5XHU3RTVBXHU3RTc5XHU3RTZBXHU3RTY5XHU3RTdDXHU3RTdCXHU3RTgzXHU3REQ1XHU3RTdEXHU4RkFFXHU3RTdGXHU3RTg4XHU3RTg5XHU3RThDXHU3RTkyXHU3RTkwXHU3RTkzXHU3RTk0XHU3RTk2XHU3RThFXHU3RTlCXHU3RTlDXHU3RjM4XHU3RjNBXCJdLFxuW1wiZTZhMVwiLFwiXHU3RjQ1XHU3RjRDXHU3RjREXHU3RjRFXHU3RjUwXHU3RjUxXHU3RjU1XHU3RjU0XHU3RjU4XHU3RjVGXHU3RjYwXHU3RjY4XHU3RjY5XHU3RjY3XHU3Rjc4XHU3RjgyXHU3Rjg2XHU3RjgzXHU3Rjg4XHU3Rjg3XHU3RjhDXHU3Rjk0XHU3RjlFXHU3RjlEXHU3RjlBXHU3RkEzXHU3RkFGXHU3RkIyXHU3RkI5XHU3RkFFXHU3RkI2XHU3RkI4XHU4QjcxXHU3RkM1XHU3RkM2XHU3RkNBXHU3RkQ1XHU3RkQ0XHU3RkUxXHU3RkU2XHU3RkU5XHU3RkYzXHU3RkY5XHU5OERDXHU4MDA2XHU4MDA0XHU4MDBCXHU4MDEyXHU4MDE4XHU4MDE5XHU4MDFDXHU4MDIxXHU4MDI4XHU4MDNGXHU4MDNCXHU4MDRBXHU4MDQ2XHU4MDUyXHU4MDU4XHU4MDVBXHU4MDVGXHU4MDYyXHU4MDY4XHU4MDczXHU4MDcyXHU4MDcwXHU4MDc2XHU4MDc5XHU4MDdEXHU4MDdGXHU4MDg0XHU4MDg2XHU4MDg1XHU4MDlCXHU4MDkzXHU4MDlBXHU4MEFEXHU1MTkwXHU4MEFDXHU4MERCXHU4MEU1XHU4MEQ5XHU4MEREXHU4MEM0XHU4MERBXHU4MEQ2XHU4MTA5XHU4MEVGXHU4MEYxXHU4MTFCXHU4MTI5XHU4MTIzXHU4MTJGXHU4MTRCXCJdLFxuW1wiZTdhMVwiLFwiXHU5NjhCXHU4MTQ2XHU4MTNFXHU4MTUzXHU4MTUxXHU4MEZDXHU4MTcxXHU4MTZFXHU4MTY1XHU4MTY2XHU4MTc0XHU4MTgzXHU4MTg4XHU4MThBXHU4MTgwXHU4MTgyXHU4MUEwXHU4MTk1XHU4MUE0XHU4MUEzXHU4MTVGXHU4MTkzXHU4MUE5XHU4MUIwXHU4MUI1XHU4MUJFXHU4MUI4XHU4MUJEXHU4MUMwXHU4MUMyXHU4MUJBXHU4MUM5XHU4MUNEXHU4MUQxXHU4MUQ5XHU4MUQ4XHU4MUM4XHU4MURBXHU4MURGXHU4MUUwXHU4MUU3XHU4MUZBXHU4MUZCXHU4MUZFXHU4MjAxXHU4MjAyXHU4MjA1XHU4MjA3XHU4MjBBXHU4MjBEXHU4MjEwXHU4MjE2XHU4MjI5XHU4MjJCXHU4MjM4XHU4MjMzXHU4MjQwXHU4MjU5XHU4MjU4XHU4MjVEXHU4MjVBXHU4MjVGXHU4MjY0XHU4MjYyXHU4MjY4XHU4MjZBXHU4MjZCXHU4MjJFXHU4MjcxXHU4Mjc3XHU4Mjc4XHU4MjdFXHU4MjhEXHU4MjkyXHU4MkFCXHU4MjlGXHU4MkJCXHU4MkFDXHU4MkUxXHU4MkUzXHU4MkRGXHU4MkQyXHU4MkY0XHU4MkYzXHU4MkZBXHU4MzkzXHU4MzAzXHU4MkZCXHU4MkY5XHU4MkRFXHU4MzA2XHU4MkRDXHU4MzA5XHU4MkQ5XCJdLFxuW1wiZThhMVwiLFwiXHU4MzM1XHU4MzM0XHU4MzE2XHU4MzMyXHU4MzMxXHU4MzQwXHU4MzM5XHU4MzUwXHU4MzQ1XHU4MzJGXHU4MzJCXHU4MzE3XHU4MzE4XHU4Mzg1XHU4MzlBXHU4M0FBXHU4MzlGXHU4M0EyXHU4Mzk2XHU4MzIzXHU4MzhFXHU4Mzg3XHU4MzhBXHU4MzdDXHU4M0I1XHU4MzczXHU4Mzc1XHU4M0EwXHU4Mzg5XHU4M0E4XHU4M0Y0XHU4NDEzXHU4M0VCXHU4M0NFXHU4M0ZEXHU4NDAzXHU4M0Q4XHU4NDBCXHU4M0MxXHU4M0Y3XHU4NDA3XHU4M0UwXHU4M0YyXHU4NDBEXHU4NDIyXHU4NDIwXHU4M0JEXHU4NDM4XHU4NTA2XHU4M0ZCXHU4NDZEXHU4NDJBXHU4NDNDXHU4NTVBXHU4NDg0XHU4NDc3XHU4NDZCXHU4NEFEXHU4NDZFXHU4NDgyXHU4NDY5XHU4NDQ2XHU4NDJDXHU4NDZGXHU4NDc5XHU4NDM1XHU4NENBXHU4NDYyXHU4NEI5XHU4NEJGXHU4NDlGXHU4NEQ5XHU4NENEXHU4NEJCXHU4NERBXHU4NEQwXHU4NEMxXHU4NEM2XHU4NEQ2XHU4NEExXHU4NTIxXHU4NEZGXHU4NEY0XHU4NTE3XHU4NTE4XHU4NTJDXHU4NTFGXHU4NTE1XHU4NTE0XHU4NEZDXHU4NTQwXHU4NTYzXHU4NTU4XHU4NTQ4XCJdLFxuW1wiZTlhMVwiLFwiXHU4NTQxXHU4NjAyXHU4NTRCXHU4NTU1XHU4NTgwXHU4NUE0XHU4NTg4XHU4NTkxXHU4NThBXHU4NUE4XHU4NTZEXHU4NTk0XHU4NTlCXHU4NUVBXHU4NTg3XHU4NTlDXHU4NTc3XHU4NTdFXHU4NTkwXHU4NUM5XHU4NUJBXHU4NUNGXHU4NUI5XHU4NUQwXHU4NUQ1XHU4NUREXHU4NUU1XHU4NURDXHU4NUY5XHU4NjBBXHU4NjEzXHU4NjBCXHU4NUZFXHU4NUZBXHU4NjA2XHU4NjIyXHU4NjFBXHU4NjMwXHU4NjNGXHU4NjREXHU0RTU1XHU4NjU0XHU4NjVGXHU4NjY3XHU4NjcxXHU4NjkzXHU4NkEzXHU4NkE5XHU4NkFBXHU4NjhCXHU4NjhDXHU4NkI2XHU4NkFGXHU4NkM0XHU4NkM2XHU4NkIwXHU4NkM5XHU4ODIzXHU4NkFCXHU4NkQ0XHU4NkRFXHU4NkU5XHU4NkVDXHU4NkRGXHU4NkRCXHU4NkVGXHU4NzEyXHU4NzA2XHU4NzA4XHU4NzAwXHU4NzAzXHU4NkZCXHU4NzExXHU4NzA5XHU4NzBEXHU4NkY5XHU4NzBBXHU4NzM0XHU4NzNGXHU4NzM3XHU4NzNCXHU4NzI1XHU4NzI5XHU4NzFBXHU4NzYwXHU4NzVGXHU4Nzc4XHU4NzRDXHU4NzRFXHU4Nzc0XHU4NzU3XHU4NzY4XHU4NzZFXHU4NzU5XCJdLFxuW1wiZWFhMVwiLFwiXHU4NzUzXHU4NzYzXHU4NzZBXHU4ODA1XHU4N0EyXHU4NzlGXHU4NzgyXHU4N0FGXHU4N0NCXHU4N0JEXHU4N0MwXHU4N0QwXHU5NkQ2XHU4N0FCXHU4N0M0XHU4N0IzXHU4N0M3XHU4N0M2XHU4N0JCXHU4N0VGXHU4N0YyXHU4N0UwXHU4ODBGXHU4ODBEXHU4N0ZFXHU4N0Y2XHU4N0Y3XHU4ODBFXHU4N0QyXHU4ODExXHU4ODE2XHU4ODE1XHU4ODIyXHU4ODIxXHU4ODMxXHU4ODM2XHU4ODM5XHU4ODI3XHU4ODNCXHU4ODQ0XHU4ODQyXHU4ODUyXHU4ODU5XHU4ODVFXHU4ODYyXHU4ODZCXHU4ODgxXHU4ODdFXHU4ODlFXHU4ODc1XHU4ODdEXHU4OEI1XHU4ODcyXHU4ODgyXHU4ODk3XHU4ODkyXHU4OEFFXHU4ODk5XHU4OEEyXHU4ODhEXHU4OEE0XHU4OEIwXHU4OEJGXHU4OEIxXHU4OEMzXHU4OEM0XHU4OEQ0XHU4OEQ4XHU4OEQ5XHU4OEREXHU4OEY5XHU4OTAyXHU4OEZDXHU4OEY0XHU4OEU4XHU4OEYyXHU4OTA0XHU4OTBDXHU4OTBBXHU4OTEzXHU4OTQzXHU4OTFFXHU4OTI1XHU4OTJBXHU4OTJCXHU4OTQxXHU4OTQ0XHU4OTNCXHU4OTM2XHU4OTM4XHU4OTRDXHU4OTFEXHU4OTYwXHU4OTVFXCJdLFxuW1wiZWJhMVwiLFwiXHU4OTY2XHU4OTY0XHU4OTZEXHU4OTZBXHU4OTZGXHU4OTc0XHU4OTc3XHU4OTdFXHU4OTgzXHU4OTg4XHU4OThBXHU4OTkzXHU4OTk4XHU4OUExXHU4OUE5XHU4OUE2XHU4OUFDXHU4OUFGXHU4OUIyXHU4OUJBXHU4OUJEXHU4OUJGXHU4OUMwXHU4OURBXHU4OURDXHU4OUREXHU4OUU3XHU4OUY0XHU4OUY4XHU4QTAzXHU4QTE2XHU4QTEwXHU4QTBDXHU4QTFCXHU4QTFEXHU4QTI1XHU4QTM2XHU4QTQxXHU4QTVCXHU4QTUyXHU4QTQ2XHU4QTQ4XHU4QTdDXHU4QTZEXHU4QTZDXHU4QTYyXHU4QTg1XHU4QTgyXHU4QTg0XHU4QUE4XHU4QUExXHU4QTkxXHU4QUE1XHU4QUE2XHU4QTlBXHU4QUEzXHU4QUM0XHU4QUNEXHU4QUMyXHU4QURBXHU4QUVCXHU4QUYzXHU4QUU3XHU4QUU0XHU4QUYxXHU4QjE0XHU4QUUwXHU4QUUyXHU4QUY3XHU4QURFXHU4QURCXHU4QjBDXHU4QjA3XHU4QjFBXHU4QUUxXHU4QjE2XHU4QjEwXHU4QjE3XHU4QjIwXHU4QjMzXHU5N0FCXHU4QjI2XHU4QjJCXHU4QjNFXHU4QjI4XHU4QjQxXHU4QjRDXHU4QjRGXHU4QjRFXHU4QjQ5XHU4QjU2XHU4QjVCXHU4QjVBXHU4QjZCXCJdLFxuW1wiZWNhMVwiLFwiXHU4QjVGXHU4QjZDXHU4QjZGXHU4Qjc0XHU4QjdEXHU4QjgwXHU4QjhDXHU4QjhFXHU4QjkyXHU4QjkzXHU4Qjk2XHU4Qjk5XHU4QjlBXHU4QzNBXHU4QzQxXHU4QzNGXHU4QzQ4XHU4QzRDXHU4QzRFXHU4QzUwXHU4QzU1XHU4QzYyXHU4QzZDXHU4Qzc4XHU4QzdBXHU4QzgyXHU4Qzg5XHU4Qzg1XHU4QzhBXHU4QzhEXHU4QzhFXHU4Qzk0XHU4QzdDXHU4Qzk4XHU2MjFEXHU4Q0FEXHU4Q0FBXHU4Q0JEXHU4Q0IyXHU4Q0IzXHU4Q0FFXHU4Q0I2XHU4Q0M4XHU4Q0MxXHU4Q0U0XHU4Q0UzXHU4Q0RBXHU4Q0ZEXHU4Q0ZBXHU4Q0ZCXHU4RDA0XHU4RDA1XHU4RDBBXHU4RDA3XHU4RDBGXHU4RDBEXHU4RDEwXHU5RjRFXHU4RDEzXHU4Q0NEXHU4RDE0XHU4RDE2XHU4RDY3XHU4RDZEXHU4RDcxXHU4RDczXHU4RDgxXHU4RDk5XHU4REMyXHU4REJFXHU4REJBXHU4RENGXHU4RERBXHU4REQ2XHU4RENDXHU4RERCXHU4RENCXHU4REVBXHU4REVCXHU4RERGXHU4REUzXHU4REZDXHU4RTA4XHU4RTA5XHU4REZGXHU4RTFEXHU4RTFFXHU4RTEwXHU4RTFGXHU4RTQyXHU4RTM1XHU4RTMwXHU4RTM0XHU4RTRBXCJdLFxuW1wiZWRhMVwiLFwiXHU4RTQ3XHU4RTQ5XHU4RTRDXHU4RTUwXHU4RTQ4XHU4RTU5XHU4RTY0XHU4RTYwXHU4RTJBXHU4RTYzXHU4RTU1XHU4RTc2XHU4RTcyXHU4RTdDXHU4RTgxXHU4RTg3XHU4RTg1XHU4RTg0XHU4RThCXHU4RThBXHU4RTkzXHU4RTkxXHU4RTk0XHU4RTk5XHU4RUFBXHU4RUExXHU4RUFDXHU4RUIwXHU4RUM2XHU4RUIxXHU4RUJFXHU4RUM1XHU4RUM4XHU4RUNCXHU4RURCXHU4RUUzXHU4RUZDXHU4RUZCXHU4RUVCXHU4RUZFXHU4RjBBXHU4RjA1XHU4RjE1XHU4RjEyXHU4RjE5XHU4RjEzXHU4RjFDXHU4RjFGXHU4RjFCXHU4RjBDXHU4RjI2XHU4RjMzXHU4RjNCXHU4RjM5XHU4RjQ1XHU4RjQyXHU4RjNFXHU4RjRDXHU4RjQ5XHU4RjQ2XHU4RjRFXHU4RjU3XHU4RjVDXHU4RjYyXHU4RjYzXHU4RjY0XHU4RjlDXHU4RjlGXHU4RkEzXHU4RkFEXHU4RkFGXHU4RkI3XHU4RkRBXHU4RkU1XHU4RkUyXHU4RkVBXHU4RkVGXHU5MDg3XHU4RkY0XHU5MDA1XHU4RkY5XHU4RkZBXHU5MDExXHU5MDE1XHU5MDIxXHU5MDBEXHU5MDFFXHU5MDE2XHU5MDBCXHU5MDI3XHU5MDM2XHU5MDM1XHU5MDM5XHU4RkY4XCJdLFxuW1wiZWVhMVwiLFwiXHU5MDRGXHU5MDUwXHU5MDUxXHU5MDUyXHU5MDBFXHU5MDQ5XHU5MDNFXHU5MDU2XHU5MDU4XHU5MDVFXHU5MDY4XHU5MDZGXHU5MDc2XHU5NkE4XHU5MDcyXHU5MDgyXHU5MDdEXHU5MDgxXHU5MDgwXHU5MDhBXHU5MDg5XHU5MDhGXHU5MEE4XHU5MEFGXHU5MEIxXHU5MEI1XHU5MEUyXHU5MEU0XHU2MjQ4XHU5MERCXHU5MTAyXHU5MTEyXHU5MTE5XHU5MTMyXHU5MTMwXHU5MTRBXHU5MTU2XHU5MTU4XHU5MTYzXHU5MTY1XHU5MTY5XHU5MTczXHU5MTcyXHU5MThCXHU5MTg5XHU5MTgyXHU5MUEyXHU5MUFCXHU5MUFGXHU5MUFBXHU5MUI1XHU5MUI0XHU5MUJBXHU5MUMwXHU5MUMxXHU5MUM5XHU5MUNCXHU5MUQwXHU5MUQ2XHU5MURGXHU5MUUxXHU5MURCXHU5MUZDXHU5MUY1XHU5MUY2XHU5MjFFXHU5MUZGXHU5MjE0XHU5MjJDXHU5MjE1XHU5MjExXHU5MjVFXHU5MjU3XHU5MjQ1XHU5MjQ5XHU5MjY0XHU5MjQ4XHU5Mjk1XHU5MjNGXHU5MjRCXHU5MjUwXHU5MjlDXHU5Mjk2XHU5MjkzXHU5MjlCXHU5MjVBXHU5MkNGXHU5MkI5XHU5MkI3XHU5MkU5XHU5MzBGXHU5MkZBXHU5MzQ0XHU5MzJFXCJdLFxuW1wiZWZhMVwiLFwiXHU5MzE5XHU5MzIyXHU5MzFBXHU5MzIzXHU5MzNBXHU5MzM1XHU5MzNCXHU5MzVDXHU5MzYwXHU5MzdDXHU5MzZFXHU5MzU2XHU5M0IwXHU5M0FDXHU5M0FEXHU5Mzk0XHU5M0I5XHU5M0Q2XHU5M0Q3XHU5M0U4XHU5M0U1XHU5M0Q4XHU5M0MzXHU5M0REXHU5M0QwXHU5M0M4XHU5M0U0XHU5NDFBXHU5NDE0XHU5NDEzXHU5NDAzXHU5NDA3XHU5NDEwXHU5NDM2XHU5NDJCXHU5NDM1XHU5NDIxXHU5NDNBXHU5NDQxXHU5NDUyXHU5NDQ0XHU5NDVCXHU5NDYwXHU5NDYyXHU5NDVFXHU5NDZBXHU5MjI5XHU5NDcwXHU5NDc1XHU5NDc3XHU5NDdEXHU5NDVBXHU5NDdDXHU5NDdFXHU5NDgxXHU5NDdGXHU5NTgyXHU5NTg3XHU5NThBXHU5NTk0XHU5NTk2XHU5NTk4XHU5NTk5XHU5NUEwXHU5NUE4XHU5NUE3XHU5NUFEXHU5NUJDXHU5NUJCXHU5NUI5XHU5NUJFXHU5NUNBXHU2RkY2XHU5NUMzXHU5NUNEXHU5NUNDXHU5NUQ1XHU5NUQ0XHU5NUQ2XHU5NURDXHU5NUUxXHU5NUU1XHU5NUUyXHU5NjIxXHU5NjI4XHU5NjJFXHU5NjJGXHU5NjQyXHU5NjRDXHU5NjRGXHU5NjRCXHU5Njc3XHU5NjVDXHU5NjVFXCJdLFxuW1wiZjBhMVwiLFwiXHU5NjVEXHU5NjVGXHU5NjY2XHU5NjcyXHU5NjZDXHU5NjhEXHU5Njk4XHU5Njk1XHU5Njk3XHU5NkFBXHU5NkE3XHU5NkIxXHU5NkIyXHU5NkIwXHU5NkI0XHU5NkI2XHU5NkI4XHU5NkI5XHU5NkNFXHU5NkNCXHU5NkM5XHU5NkNEXHU4OTREXHU5NkRDXHU5NzBEXHU5NkQ1XHU5NkY5XHU5NzA0XHU5NzA2XHU5NzA4XHU5NzEzXHU5NzBFXHU5NzExXHU5NzBGXHU5NzE2XHU5NzE5XHU5NzI0XHU5NzJBXHU5NzMwXHU5NzM5XHU5NzNEXHU5NzNFXHU5NzQ0XHU5NzQ2XHU5NzQ4XHU5NzQyXHU5NzQ5XHU5NzVDXHU5NzYwXHU5NzY0XHU5NzY2XHU5NzY4XHU1MkQyXHU5NzZCXHU5NzcxXHU5Nzc5XHU5Nzg1XHU5NzdDXHU5NzgxXHU5NzdBXHU5Nzg2XHU5NzhCXHU5NzhGXHU5NzkwXHU5NzlDXHU5N0E4XHU5N0E2XHU5N0EzXHU5N0IzXHU5N0I0XHU5N0MzXHU5N0M2XHU5N0M4XHU5N0NCXHU5N0RDXHU5N0VEXHU5RjRGXHU5N0YyXHU3QURGXHU5N0Y2XHU5N0Y1XHU5ODBGXHU5ODBDXHU5ODM4XHU5ODI0XHU5ODIxXHU5ODM3XHU5ODNEXHU5ODQ2XHU5ODRGXHU5ODRCXHU5ODZCXHU5ODZGXHU5ODcwXCJdLFxuW1wiZjFhMVwiLFwiXHU5ODcxXHU5ODc0XHU5ODczXHU5OEFBXHU5OEFGXHU5OEIxXHU5OEI2XHU5OEM0XHU5OEMzXHU5OEM2XHU5OEU5XHU5OEVCXHU5OTAzXHU5OTA5XHU5OTEyXHU5OTE0XHU5OTE4XHU5OTIxXHU5OTFEXHU5OTFFXHU5OTI0XHU5OTIwXHU5OTJDXHU5OTJFXHU5OTNEXHU5OTNFXHU5OTQyXHU5OTQ5XHU5OTQ1XHU5OTUwXHU5OTRCXHU5OTUxXHU5OTUyXHU5OTRDXHU5OTU1XHU5OTk3XHU5OTk4XHU5OUE1XHU5OUFEXHU5OUFFXHU5OUJDXHU5OURGXHU5OURCXHU5OUREXHU5OUQ4XHU5OUQxXHU5OUVEXHU5OUVFXHU5OUYxXHU5OUYyXHU5OUZCXHU5OUY4XHU5QTAxXHU5QTBGXHU5QTA1XHU5OUUyXHU5QTE5XHU5QTJCXHU5QTM3XHU5QTQ1XHU5QTQyXHU5QTQwXHU5QTQzXHU5QTNFXHU5QTU1XHU5QTREXHU5QTVCXHU5QTU3XHU5QTVGXHU5QTYyXHU5QTY1XHU5QTY0XHU5QTY5XHU5QTZCXHU5QTZBXHU5QUFEXHU5QUIwXHU5QUJDXHU5QUMwXHU5QUNGXHU5QUQxXHU5QUQzXHU5QUQ0XHU5QURFXHU5QURGXHU5QUUyXHU5QUUzXHU5QUU2XHU5QUVGXHU5QUVCXHU5QUVFXHU5QUY0XHU5QUYxXHU5QUY3XCJdLFxuW1wiZjJhMVwiLFwiXHU5QUZCXHU5QjA2XHU5QjE4XHU5QjFBXHU5QjFGXHU5QjIyXHU5QjIzXHU5QjI1XHU5QjI3XHU5QjI4XHU5QjI5XHU5QjJBXHU5QjJFXHU5QjJGXHU5QjMyXHU5QjQ0XHU5QjQzXHU5QjRGXHU5QjREXHU5QjRFXHU5QjUxXHU5QjU4XHU5Qjc0XHU5QjkzXHU5QjgzXHU5QjkxXHU5Qjk2XHU5Qjk3XHU5QjlGXHU5QkEwXHU5QkE4XHU5QkI0XHU5QkMwXHU5QkNBXHU5QkI5XHU5QkM2XHU5QkNGXHU5QkQxXHU5QkQyXHU5QkUzXHU5QkUyXHU5QkU0XHU5QkQ0XHU5QkUxXHU5QzNBXHU5QkYyXHU5QkYxXHU5QkYwXHU5QzE1XHU5QzE0XHU5QzA5XHU5QzEzXHU5QzBDXHU5QzA2XHU5QzA4XHU5QzEyXHU5QzBBXHU5QzA0XHU5QzJFXHU5QzFCXHU5QzI1XHU5QzI0XHU5QzIxXHU5QzMwXHU5QzQ3XHU5QzMyXHU5QzQ2XHU5QzNFXHU5QzVBXHU5QzYwXHU5QzY3XHU5Qzc2XHU5Qzc4XHU5Q0U3XHU5Q0VDXHU5Q0YwXHU5RDA5XHU5RDA4XHU5Q0VCXHU5RDAzXHU5RDA2XHU5RDJBXHU5RDI2XHU5REFGXHU5RDIzXHU5RDFGXHU5RDQ0XHU5RDE1XHU5RDEyXHU5RDQxXHU5RDNGXHU5RDNFXHU5RDQ2XHU5RDQ4XCJdLFxuW1wiZjNhMVwiLFwiXHU5RDVEXHU5RDVFXHU5RDY0XHU5RDUxXHU5RDUwXHU5RDU5XHU5RDcyXHU5RDg5XHU5RDg3XHU5REFCXHU5RDZGXHU5RDdBXHU5RDlBXHU5REE0XHU5REE5XHU5REIyXHU5REM0XHU5REMxXHU5REJCXHU5REI4XHU5REJBXHU5REM2XHU5RENGXHU5REMyXHU5REQ5XHU5REQzXHU5REY4XHU5REU2XHU5REVEXHU5REVGXHU5REZEXHU5RTFBXHU5RTFCXHU5RTFFXHU5RTc1XHU5RTc5XHU5RTdEXHU5RTgxXHU5RTg4XHU5RThCXHU5RThDXHU5RTkyXHU5RTk1XHU5RTkxXHU5RTlEXHU5RUE1XHU5RUE5XHU5RUI4XHU5RUFBXHU5RUFEXHU5NzYxXHU5RUNDXHU5RUNFXHU5RUNGXHU5RUQwXHU5RUQ0XHU5RURDXHU5RURFXHU5RUREXHU5RUUwXHU5RUU1XHU5RUU4XHU5RUVGXHU5RUY0XHU5RUY2XHU5RUY3XHU5RUY5XHU5RUZCXHU5RUZDXHU5RUZEXHU5RjA3XHU5RjA4XHU3NkI3XHU5RjE1XHU5RjIxXHU5RjJDXHU5RjNFXHU5RjRBXHU5RjUyXHU5RjU0XHU5RjYzXHU5RjVGXHU5RjYwXHU5RjYxXHU5RjY2XHU5RjY3XHU5RjZDXHU5RjZBXHU5Rjc3XHU5RjcyXHU5Rjc2XHU5Rjk1XHU5RjlDXHU5RkEwXCJdLFxuW1wiZjRhMVwiLFwiXHU1ODJGXHU2OUM3XHU5MDU5XHU3NDY0XHU1MURDXHU3MTk5XCJdLFxuW1wiZjlhMVwiLFwiXHU3RThBXHU4OTFDXHU5MzQ4XHU5Mjg4XHU4NERDXHU0RkM5XHU3MEJCXHU2NjMxXHU2OEM4XHU5MkY5XHU2NkZCXHU1RjQ1XHU0RTI4XHU0RUUxXHU0RUZDXHU0RjAwXHU0RjAzXHU0RjM5XHU0RjU2XHU0RjkyXHU0RjhBXHU0RjlBXHU0Rjk0XHU0RkNEXHU1MDQwXHU1MDIyXHU0RkZGXHU1MDFFXHU1MDQ2XHU1MDcwXHU1MDQyXHU1MDk0XHU1MEY0XHU1MEQ4XHU1MTRBXHU1MTY0XHU1MTlEXHU1MUJFXHU1MUVDXHU1MjE1XHU1MjlDXHU1MkE2XHU1MkMwXHU1MkRCXHU1MzAwXHU1MzA3XHU1MzI0XHU1MzcyXHU1MzkzXHU1M0IyXHU1M0REXHVGQTBFXHU1NDlDXHU1NDhBXHU1NEE5XHU1NEZGXHU1NTg2XHU1NzU5XHU1NzY1XHU1N0FDXHU1N0M4XHU1N0M3XHVGQTBGXHVGQTEwXHU1ODlFXHU1OEIyXHU1OTBCXHU1OTUzXHU1OTVCXHU1OTVEXHU1OTYzXHU1OUE0XHU1OUJBXHU1QjU2XHU1QkMwXHU3NTJGXHU1QkQ4XHU1QkVDXHU1QzFFXHU1Q0E2XHU1Q0JBXHU1Q0Y1XHU1RDI3XHU1RDUzXHVGQTExXHU1RDQyXHU1RDZEXHU1REI4XHU1REI5XHU1REQwXHU1RjIxXHU1RjM0XHU1RjY3XHU1RkI3XCJdLFxuW1wiZmFhMVwiLFwiXHU1RkRFXHU2MDVEXHU2MDg1XHU2MDhBXHU2MERFXHU2MEQ1XHU2MTIwXHU2MEYyXHU2MTExXHU2MTM3XHU2MTMwXHU2MTk4XHU2MjEzXHU2MkE2XHU2M0Y1XHU2NDYwXHU2NDlEXHU2NENFXHU2NTRFXHU2NjAwXHU2NjE1XHU2NjNCXHU2NjA5XHU2NjJFXHU2NjFFXHU2NjI0XHU2NjY1XHU2NjU3XHU2NjU5XHVGQTEyXHU2NjczXHU2Njk5XHU2NkEwXHU2NkIyXHU2NkJGXHU2NkZBXHU2NzBFXHVGOTI5XHU2NzY2XHU2N0JCXHU2ODUyXHU2N0MwXHU2ODAxXHU2ODQ0XHU2OENGXHVGQTEzXHU2OTY4XHVGQTE0XHU2OTk4XHU2OUUyXHU2QTMwXHU2QTZCXHU2QTQ2XHU2QTczXHU2QTdFXHU2QUUyXHU2QUU0XHU2QkQ2XHU2QzNGXHU2QzVDXHU2Qzg2XHU2QzZGXHU2Q0RBXHU2RDA0XHU2RDg3XHU2RDZGXHU2RDk2XHU2REFDXHU2RENGXHU2REY4XHU2REYyXHU2REZDXHU2RTM5XHU2RTVDXHU2RTI3XHU2RTNDXHU2RUJGXHU2Rjg4XHU2RkI1XHU2RkY1XHU3MDA1XHU3MDA3XHU3MDI4XHU3MDg1XHU3MEFCXHU3MTBGXHU3MTA0XHU3MTVDXHU3MTQ2XHU3MTQ3XHVGQTE1XHU3MUMxXHU3MUZFXHU3MkIxXCJdLFxuW1wiZmJhMVwiLFwiXHU3MkJFXHU3MzI0XHVGQTE2XHU3Mzc3XHU3M0JEXHU3M0M5XHU3M0Q2XHU3M0UzXHU3M0QyXHU3NDA3XHU3M0Y1XHU3NDI2XHU3NDJBXHU3NDI5XHU3NDJFXHU3NDYyXHU3NDg5XHU3NDlGXHU3NTAxXHU3NTZGXHU3NjgyXHU3NjlDXHU3NjlFXHU3NjlCXHU3NkE2XHVGQTE3XHU3NzQ2XHU1MkFGXHU3ODIxXHU3ODRFXHU3ODY0XHU3ODdBXHU3OTMwXHVGQTE4XHVGQTE5XHVGQTFBXHU3OTk0XHVGQTFCXHU3OTlCXHU3QUQxXHU3QUU3XHVGQTFDXHU3QUVCXHU3QjlFXHVGQTFEXHU3RDQ4XHU3RDVDXHU3REI3XHU3REEwXHU3REQ2XHU3RTUyXHU3RjQ3XHU3RkExXHVGQTFFXHU4MzAxXHU4MzYyXHU4MzdGXHU4M0M3XHU4M0Y2XHU4NDQ4XHU4NEI0XHU4NTUzXHU4NTU5XHU4NTZCXHVGQTFGXHU4NUIwXHVGQTIwXHVGQTIxXHU4ODA3XHU4OEY1XHU4QTEyXHU4QTM3XHU4QTc5XHU4QUE3XHU4QUJFXHU4QURGXHVGQTIyXHU4QUY2XHU4QjUzXHU4QjdGXHU4Q0YwXHU4Q0Y0XHU4RDEyXHU4RDc2XHVGQTIzXHU4RUNGXHVGQTI0XHVGQTI1XHU5MDY3XHU5MERFXHVGQTI2XHU5MTE1XHU5MTI3XHU5MURBXCJdLFxuW1wiZmNhMVwiLFwiXHU5MUQ3XHU5MURFXHU5MUVEXHU5MUVFXHU5MUU0XHU5MUU1XHU5MjA2XHU5MjEwXHU5MjBBXHU5MjNBXHU5MjQwXHU5MjNDXHU5MjRFXHU5MjU5XHU5MjUxXHU5MjM5XHU5MjY3XHU5MkE3XHU5Mjc3XHU5Mjc4XHU5MkU3XHU5MkQ3XHU5MkQ5XHU5MkQwXHVGQTI3XHU5MkQ1XHU5MkUwXHU5MkQzXHU5MzI1XHU5MzIxXHU5MkZCXHVGQTI4XHU5MzFFXHU5MkZGXHU5MzFEXHU5MzAyXHU5MzcwXHU5MzU3XHU5M0E0XHU5M0M2XHU5M0RFXHU5M0Y4XHU5NDMxXHU5NDQ1XHU5NDQ4XHU5NTkyXHVGOURDXHVGQTI5XHU5NjlEXHU5NkFGXHU5NzMzXHU5NzNCXHU5NzQzXHU5NzREXHU5NzRGXHU5NzUxXHU5NzU1XHU5ODU3XHU5ODY1XHVGQTJBXHVGQTJCXHU5OTI3XHVGQTJDXHU5OTlFXHU5QTRFXHU5QUQ5XHU5QURDXHU5Qjc1XHU5QjcyXHU5QjhGXHU5QkIxXHU5QkJCXHU5QzAwXHU5RDcwXHU5RDZCXHVGQTJEXHU5RTE5XHU5RUQxXCJdLFxuW1wiZmNmMVwiLFwiXHUyMTcwXCIsOSxcIlx1RkZFMlx1RkZFNFx1RkYwN1x1RkYwMlwiXSxcbltcIjhmYTJhZlwiLFwiXHUwMkQ4XHUwMkM3XHUwMEI4XHUwMkQ5XHUwMkREXHUwMEFGXHUwMkRCXHUwMkRBXHVGRjVFXHUwMzg0XHUwMzg1XCJdLFxuW1wiOGZhMmMyXCIsXCJcdTAwQTFcdTAwQTZcdTAwQkZcIl0sXG5bXCI4ZmEyZWJcIixcIlx1MDBCQVx1MDBBQVx1MDBBOVx1MDBBRVx1MjEyMlx1MDBBNFx1MjExNlwiXSxcbltcIjhmYTZlMVwiLFwiXHUwMzg2XHUwMzg4XHUwMzg5XHUwMzhBXHUwM0FBXCJdLFxuW1wiOGZhNmU3XCIsXCJcdTAzOENcIl0sXG5bXCI4ZmE2ZTlcIixcIlx1MDM4RVx1MDNBQlwiXSxcbltcIjhmYTZlY1wiLFwiXHUwMzhGXCJdLFxuW1wiOGZhNmYxXCIsXCJcdTAzQUNcdTAzQURcdTAzQUVcdTAzQUZcdTAzQ0FcdTAzOTBcdTAzQ0NcdTAzQzJcdTAzQ0RcdTAzQ0JcdTAzQjBcdTAzQ0VcIl0sXG5bXCI4ZmE3YzJcIixcIlx1MDQwMlwiLDEwLFwiXHUwNDBFXHUwNDBGXCJdLFxuW1wiOGZhN2YyXCIsXCJcdTA0NTJcIiwxMCxcIlx1MDQ1RVx1MDQ1RlwiXSxcbltcIjhmYTlhMVwiLFwiXHUwMEM2XHUwMTEwXCJdLFxuW1wiOGZhOWE0XCIsXCJcdTAxMjZcIl0sXG5bXCI4ZmE5YTZcIixcIlx1MDEzMlwiXSxcbltcIjhmYTlhOFwiLFwiXHUwMTQxXHUwMTNGXCJdLFxuW1wiOGZhOWFiXCIsXCJcdTAxNEFcdTAwRDhcdTAxNTJcIl0sXG5bXCI4ZmE5YWZcIixcIlx1MDE2Nlx1MDBERVwiXSxcbltcIjhmYTljMVwiLFwiXHUwMEU2XHUwMTExXHUwMEYwXHUwMTI3XHUwMTMxXHUwMTMzXHUwMTM4XHUwMTQyXHUwMTQwXHUwMTQ5XHUwMTRCXHUwMEY4XHUwMTUzXHUwMERGXHUwMTY3XHUwMEZFXCJdLFxuW1wiOGZhYWExXCIsXCJcdTAwQzFcdTAwQzBcdTAwQzRcdTAwQzJcdTAxMDJcdTAxQ0RcdTAxMDBcdTAxMDRcdTAwQzVcdTAwQzNcdTAxMDZcdTAxMDhcdTAxMENcdTAwQzdcdTAxMEFcdTAxMEVcdTAwQzlcdTAwQzhcdTAwQ0JcdTAwQ0FcdTAxMUFcdTAxMTZcdTAxMTJcdTAxMThcIl0sXG5bXCI4ZmFhYmFcIixcIlx1MDExQ1x1MDExRVx1MDEyMlx1MDEyMFx1MDEyNFx1MDBDRFx1MDBDQ1x1MDBDRlx1MDBDRVx1MDFDRlx1MDEzMFx1MDEyQVx1MDEyRVx1MDEyOFx1MDEzNFx1MDEzNlx1MDEzOVx1MDEzRFx1MDEzQlx1MDE0M1x1MDE0N1x1MDE0NVx1MDBEMVx1MDBEM1x1MDBEMlx1MDBENlx1MDBENFx1MDFEMVx1MDE1MFx1MDE0Q1x1MDBENVx1MDE1NFx1MDE1OFx1MDE1Nlx1MDE1QVx1MDE1Q1x1MDE2MFx1MDE1RVx1MDE2NFx1MDE2Mlx1MDBEQVx1MDBEOVx1MDBEQ1x1MDBEQlx1MDE2Q1x1MDFEM1x1MDE3MFx1MDE2QVx1MDE3Mlx1MDE2RVx1MDE2OFx1MDFEN1x1MDFEQlx1MDFEOVx1MDFENVx1MDE3NFx1MDBERFx1MDE3OFx1MDE3Nlx1MDE3OVx1MDE3RFx1MDE3QlwiXSxcbltcIjhmYWJhMVwiLFwiXHUwMEUxXHUwMEUwXHUwMEU0XHUwMEUyXHUwMTAzXHUwMUNFXHUwMTAxXHUwMTA1XHUwMEU1XHUwMEUzXHUwMTA3XHUwMTA5XHUwMTBEXHUwMEU3XHUwMTBCXHUwMTBGXHUwMEU5XHUwMEU4XHUwMEVCXHUwMEVBXHUwMTFCXHUwMTE3XHUwMTEzXHUwMTE5XHUwMUY1XHUwMTFEXHUwMTFGXCJdLFxuW1wiOGZhYmJkXCIsXCJcdTAxMjFcdTAxMjVcdTAwRURcdTAwRUNcdTAwRUZcdTAwRUVcdTAxRDBcIl0sXG5bXCI4ZmFiYzVcIixcIlx1MDEyQlx1MDEyRlx1MDEyOVx1MDEzNVx1MDEzN1x1MDEzQVx1MDEzRVx1MDEzQ1x1MDE0NFx1MDE0OFx1MDE0Nlx1MDBGMVx1MDBGM1x1MDBGMlx1MDBGNlx1MDBGNFx1MDFEMlx1MDE1MVx1MDE0RFx1MDBGNVx1MDE1NVx1MDE1OVx1MDE1N1x1MDE1Qlx1MDE1RFx1MDE2MVx1MDE1Rlx1MDE2NVx1MDE2M1x1MDBGQVx1MDBGOVx1MDBGQ1x1MDBGQlx1MDE2RFx1MDFENFx1MDE3MVx1MDE2Qlx1MDE3M1x1MDE2Rlx1MDE2OVx1MDFEOFx1MDFEQ1x1MDFEQVx1MDFENlx1MDE3NVx1MDBGRFx1MDBGRlx1MDE3N1x1MDE3QVx1MDE3RVx1MDE3Q1wiXSxcbltcIjhmYjBhMVwiLFwiXHU0RTAyXHU0RTA0XHU0RTA1XHU0RTBDXHU0RTEyXHU0RTFGXHU0RTIzXHU0RTI0XHU0RTI4XHU0RTJCXHU0RTJFXHU0RTJGXHU0RTMwXHU0RTM1XHU0RTQwXHU0RTQxXHU0RTQ0XHU0RTQ3XHU0RTUxXHU0RTVBXHU0RTVDXHU0RTYzXHU0RTY4XHU0RTY5XHU0RTc0XHU0RTc1XHU0RTc5XHU0RTdGXHU0RThEXHU0RTk2XHU0RTk3XHU0RTlEXHU0RUFGXHU0RUI5XHU0RUMzXHU0RUQwXHU0RURBXHU0RURCXHU0RUUwXHU0RUUxXHU0RUUyXHU0RUU4XHU0RUVGXHU0RUYxXHU0RUYzXHU0RUY1XHU0RUZEXHU0RUZFXHU0RUZGXHU0RjAwXHU0RjAyXHU0RjAzXHU0RjA4XHU0RjBCXHU0RjBDXHU0RjEyXHU0RjE1XHU0RjE2XHU0RjE3XHU0RjE5XHU0RjJFXHU0RjMxXHU0RjYwXHU0RjMzXHU0RjM1XHU0RjM3XHU0RjM5XHU0RjNCXHU0RjNFXHU0RjQwXHU0RjQyXHU0RjQ4XHU0RjQ5XHU0RjRCXHU0RjRDXHU0RjUyXHU0RjU0XHU0RjU2XHU0RjU4XHU0RjVGXHU0RjYzXHU0RjZBXHU0RjZDXHU0RjZFXHU0RjcxXHU0Rjc3XHU0Rjc4XHU0Rjc5XHU0RjdBXHU0RjdEXHU0RjdFXHU0RjgxXHU0RjgyXHU0Rjg0XCJdLFxuW1wiOGZiMWExXCIsXCJcdTRGODVcdTRGODlcdTRGOEFcdTRGOENcdTRGOEVcdTRGOTBcdTRGOTJcdTRGOTNcdTRGOTRcdTRGOTdcdTRGOTlcdTRGOUFcdTRGOUVcdTRGOUZcdTRGQjJcdTRGQjdcdTRGQjlcdTRGQkJcdTRGQkNcdTRGQkRcdTRGQkVcdTRGQzBcdTRGQzFcdTRGQzVcdTRGQzZcdTRGQzhcdTRGQzlcdTRGQ0JcdTRGQ0NcdTRGQ0RcdTRGQ0ZcdTRGRDJcdTRGRENcdTRGRTBcdTRGRTJcdTRGRjBcdTRGRjJcdTRGRkNcdTRGRkRcdTRGRkZcdTUwMDBcdTUwMDFcdTUwMDRcdTUwMDdcdTUwMEFcdTUwMENcdTUwMEVcdTUwMTBcdTUwMTNcdTUwMTdcdTUwMThcdTUwMUJcdTUwMUNcdTUwMURcdTUwMUVcdTUwMjJcdTUwMjdcdTUwMkVcdTUwMzBcdTUwMzJcdTUwMzNcdTUwMzVcdTUwNDBcdTUwNDFcdTUwNDJcdTUwNDVcdTUwNDZcdTUwNEFcdTUwNENcdTUwNEVcdTUwNTFcdTUwNTJcdTUwNTNcdTUwNTdcdTUwNTlcdTUwNUZcdTUwNjBcdTUwNjJcdTUwNjNcdTUwNjZcdTUwNjdcdTUwNkFcdTUwNkRcdTUwNzBcdTUwNzFcdTUwM0JcdTUwODFcdTUwODNcdTUwODRcdTUwODZcdTUwOEFcdTUwOEVcdTUwOEZcdTUwOTBcIl0sXG5bXCI4ZmIyYTFcIixcIlx1NTA5Mlx1NTA5M1x1NTA5NFx1NTA5Nlx1NTA5Qlx1NTA5Q1x1NTA5RVwiLDQsXCJcdTUwQUFcdTUwQUZcdTUwQjBcdTUwQjlcdTUwQkFcdTUwQkRcdTUwQzBcdTUwQzNcdTUwQzRcdTUwQzdcdTUwQ0NcdTUwQ0VcdTUwRDBcdTUwRDNcdTUwRDRcdTUwRDhcdTUwRENcdTUwRERcdTUwREZcdTUwRTJcdTUwRTRcdTUwRTZcdTUwRThcdTUwRTlcdTUwRUZcdTUwRjFcdTUwRjZcdTUwRkFcdTUwRkVcdTUxMDNcdTUxMDZcdTUxMDdcdTUxMDhcdTUxMEJcdTUxMENcdTUxMERcdTUxMEVcdTUwRjJcdTUxMTBcdTUxMTdcdTUxMTlcdTUxMUJcdTUxMUNcdTUxMURcdTUxMUVcdTUxMjNcdTUxMjdcdTUxMjhcdTUxMkNcdTUxMkRcdTUxMkZcdTUxMzFcdTUxMzNcdTUxMzRcdTUxMzVcdTUxMzhcdTUxMzlcdTUxNDJcdTUxNEFcdTUxNEZcdTUxNTNcdTUxNTVcdTUxNTdcdTUxNThcdTUxNUZcdTUxNjRcdTUxNjZcdTUxN0VcdTUxODNcdTUxODRcdTUxOEJcdTUxOEVcdTUxOThcdTUxOURcdTUxQTFcdTUxQTNcdTUxQURcdTUxQjhcdTUxQkFcdTUxQkNcdTUxQkVcdTUxQkZcdTUxQzJcIl0sXG5bXCI4ZmIzYTFcIixcIlx1NTFDOFx1NTFDRlx1NTFEMVx1NTFEMlx1NTFEM1x1NTFENVx1NTFEOFx1NTFERVx1NTFFMlx1NTFFNVx1NTFFRVx1NTFGMlx1NTFGM1x1NTFGNFx1NTFGN1x1NTIwMVx1NTIwMlx1NTIwNVx1NTIxMlx1NTIxM1x1NTIxNVx1NTIxNlx1NTIxOFx1NTIyMlx1NTIyOFx1NTIzMVx1NTIzMlx1NTIzNVx1NTIzQ1x1NTI0NVx1NTI0OVx1NTI1NVx1NTI1N1x1NTI1OFx1NTI1QVx1NTI1Q1x1NTI1Rlx1NTI2MFx1NTI2MVx1NTI2Nlx1NTI2RVx1NTI3N1x1NTI3OFx1NTI3OVx1NTI4MFx1NTI4Mlx1NTI4NVx1NTI4QVx1NTI4Q1x1NTI5M1x1NTI5NVx1NTI5Nlx1NTI5N1x1NTI5OFx1NTI5QVx1NTI5Q1x1NTJBNFx1NTJBNVx1NTJBNlx1NTJBN1x1NTJBRlx1NTJCMFx1NTJCNlx1NTJCN1x1NTJCOFx1NTJCQVx1NTJCQlx1NTJCRFx1NTJDMFx1NTJDNFx1NTJDNlx1NTJDOFx1NTJDQ1x1NTJDRlx1NTJEMVx1NTJENFx1NTJENlx1NTJEQlx1NTJEQ1x1NTJFMVx1NTJFNVx1NTJFOFx1NTJFOVx1NTJFQVx1NTJFQ1x1NTJGMFx1NTJGMVx1NTJGNFx1NTJGNlx1NTJGN1x1NTMwMFx1NTMwM1x1NTMwQVx1NTMwQlwiXSxcbltcIjhmYjRhMVwiLFwiXHU1MzBDXHU1MzExXHU1MzEzXHU1MzE4XHU1MzFCXHU1MzFDXHU1MzFFXHU1MzFGXHU1MzI1XHU1MzI3XHU1MzI4XHU1MzI5XHU1MzJCXHU1MzJDXHU1MzJEXHU1MzMwXHU1MzMyXHU1MzM1XHU1MzNDXHU1MzNEXHU1MzNFXHU1MzQyXHU1MzRDXHU1MzRCXHU1MzU5XHU1MzVCXHU1MzYxXHU1MzYzXHU1MzY1XHU1MzZDXHU1MzZEXHU1MzcyXHU1Mzc5XHU1MzdFXHU1MzgzXHU1Mzg3XHU1Mzg4XHU1MzhFXHU1MzkzXHU1Mzk0XHU1Mzk5XHU1MzlEXHU1M0ExXHU1M0E0XHU1M0FBXHU1M0FCXHU1M0FGXHU1M0IyXHU1M0I0XHU1M0I1XHU1M0I3XHU1M0I4XHU1M0JBXHU1M0JEXHU1M0MwXHU1M0M1XHU1M0NGXHU1M0QyXHU1M0QzXHU1M0Q1XHU1M0RBXHU1M0REXHU1M0RFXHU1M0UwXHU1M0U2XHU1M0U3XHU1M0Y1XHU1NDAyXHU1NDEzXHU1NDFBXHU1NDIxXHU1NDI3XHU1NDI4XHU1NDJBXHU1NDJGXHU1NDMxXHU1NDM0XHU1NDM1XHU1NDQzXHU1NDQ0XHU1NDQ3XHU1NDREXHU1NDRGXHU1NDVFXHU1NDYyXHU1NDY0XHU1NDY2XHU1NDY3XHU1NDY5XHU1NDZCXHU1NDZEXHU1NDZFXHU1NDc0XHU1NDdGXCJdLFxuW1wiOGZiNWExXCIsXCJcdTU0ODFcdTU0ODNcdTU0ODVcdTU0ODhcdTU0ODlcdTU0OERcdTU0OTFcdTU0OTVcdTU0OTZcdTU0OUNcdTU0OUZcdTU0QTFcdTU0QTZcdTU0QTdcdTU0QTlcdTU0QUFcdTU0QURcdTU0QUVcdTU0QjFcdTU0QjdcdTU0QjlcdTU0QkFcdTU0QkJcdTU0QkZcdTU0QzZcdTU0Q0FcdTU0Q0RcdTU0Q0VcdTU0RTBcdTU0RUFcdTU0RUNcdTU0RUZcdTU0RjZcdTU0RkNcdTU0RkVcdTU0RkZcdTU1MDBcdTU1MDFcdTU1MDVcdTU1MDhcdTU1MDlcdTU1MENcdTU1MERcdTU1MEVcdTU1MTVcdTU1MkFcdTU1MkJcdTU1MzJcdTU1MzVcdTU1MzZcdTU1M0JcdTU1M0NcdTU1M0RcdTU1NDFcdTU1NDdcdTU1NDlcdTU1NEFcdTU1NERcdTU1NTBcdTU1NTFcdTU1NThcdTU1NUFcdTU1NUJcdTU1NUVcdTU1NjBcdTU1NjFcdTU1NjRcdTU1NjZcdTU1N0ZcdTU1ODFcdTU1ODJcdTU1ODZcdTU1ODhcdTU1OEVcdTU1OEZcdTU1OTFcdTU1OTJcdTU1OTNcdTU1OTRcdTU1OTdcdTU1QTNcdTU1QTRcdTU1QURcdTU1QjJcdTU1QkZcdTU1QzFcdTU1QzNcdTU1QzZcdTU1QzlcdTU1Q0JcdTU1Q0NcdTU1Q0VcdTU1RDFcdTU1RDJcIl0sXG5bXCI4ZmI2YTFcIixcIlx1NTVEM1x1NTVEN1x1NTVEOFx1NTVEQlx1NTVERVx1NTVFMlx1NTVFOVx1NTVGNlx1NTVGRlx1NTYwNVx1NTYwOFx1NTYwQVx1NTYwRFwiLDUsXCJcdTU2MTlcdTU2MkNcdTU2MzBcdTU2MzNcdTU2MzVcdTU2MzdcdTU2MzlcdTU2M0JcdTU2M0NcdTU2M0RcdTU2M0ZcdTU2NDBcdTU2NDFcdTU2NDNcdTU2NDRcdTU2NDZcdTU2NDlcdTU2NEJcdTU2NERcdTU2NEZcdTU2NTRcdTU2NUVcdTU2NjBcdTU2NjFcdTU2NjJcdTU2NjNcdTU2NjZcdTU2NjlcdTU2NkRcdTU2NkZcdTU2NzFcdTU2NzJcdTU2NzVcdTU2ODRcdTU2ODVcdTU2ODhcdTU2OEJcdTU2OENcdTU2OTVcdTU2OTlcdTU2OUFcdTU2OURcdTU2OUVcdTU2OUZcdTU2QTZcdTU2QTdcdTU2QThcdTU2QTlcdTU2QUJcdTU2QUNcdTU2QURcdTU2QjFcdTU2QjNcdTU2QjdcdTU2QkVcdTU2QzVcdTU2QzlcdTU2Q0FcdTU2Q0JcdTU2Q0ZcdTU2RDBcdTU2Q0NcdTU2Q0RcdTU2RDlcdTU2RENcdTU2RERcdTU2REZcdTU2RTFcdTU2RTRcIiw0LFwiXHU1NkYxXHU1NkVCXHU1NkVEXCJdLFxuW1wiOGZiN2ExXCIsXCJcdTU2RjZcdTU2RjdcdTU3MDFcdTU3MDJcdTU3MDdcdTU3MEFcdTU3MENcdTU3MTFcdTU3MTVcdTU3MUFcdTU3MUJcdTU3MURcdTU3MjBcdTU3MjJcdTU3MjNcdTU3MjRcdTU3MjVcdTU3MjlcdTU3MkFcdTU3MkNcdTU3MkVcdTU3MkZcdTU3MzNcdTU3MzRcdTU3M0RcdTU3M0VcdTU3M0ZcdTU3NDVcdTU3NDZcdTU3NENcdTU3NERcdTU3NTJcdTU3NjJcdTU3NjVcdTU3NjdcdTU3NjhcdTU3NkJcdTU3NkRcIiw0LFwiXHU1NzczXHU1Nzc0XHU1Nzc1XHU1Nzc3XHU1Nzc5XHU1NzdBXHU1NzdCXHU1NzdDXHU1NzdFXHU1NzgxXHU1NzgzXHU1NzhDXHU1Nzk0XHU1Nzk3XHU1Nzk5XHU1NzlBXHU1NzlDXHU1NzlEXHU1NzlFXHU1NzlGXHU1N0ExXHU1Nzk1XHU1N0E3XHU1N0E4XHU1N0E5XHU1N0FDXHU1N0I4XHU1N0JEXHU1N0M3XHU1N0M4XHU1N0NDXHU1N0NGXHU1N0Q1XHU1N0REXHU1N0RFXHU1N0U0XHU1N0U2XHU1N0U3XHU1N0U5XHU1N0VEXHU1N0YwXHU1N0Y1XHU1N0Y2XHU1N0Y4XHU1N0ZEXHU1N0ZFXHU1N0ZGXHU1ODAzXHU1ODA0XHU1ODA4XHU1ODA5XHU1N0UxXCJdLFxuW1wiOGZiOGExXCIsXCJcdTU4MENcdTU4MERcdTU4MUJcdTU4MUVcdTU4MUZcdTU4MjBcdTU4MjZcdTU4MjdcdTU4MkRcdTU4MzJcdTU4MzlcdTU4M0ZcdTU4NDlcdTU4NENcdTU4NERcdTU4NEZcdTU4NTBcdTU4NTVcdTU4NUZcdTU4NjFcdTU4NjRcdTU4NjdcdTU4NjhcdTU4NzhcdTU4N0NcdTU4N0ZcdTU4ODBcdTU4ODFcdTU4ODdcdTU4ODhcdTU4ODlcdTU4OEFcdTU4OENcdTU4OERcdTU4OEZcdTU4OTBcdTU4OTRcdTU4OTZcdTU4OURcdTU4QTBcdTU4QTFcdTU4QTJcdTU4QTZcdTU4QTlcdTU4QjFcdTU4QjJcdTU4QzRcdTU4QkNcdTU4QzJcdTU4QzhcdTU4Q0RcdTU4Q0VcdTU4RDBcdTU4RDJcdTU4RDRcdTU4RDZcdTU4REFcdTU4RERcdTU4RTFcdTU4RTJcdTU4RTlcdTU4RjNcdTU5MDVcdTU5MDZcdTU5MEJcdTU5MENcdTU5MTJcdTU5MTNcdTU5MTRcdTg2NDFcdTU5MURcdTU5MjFcdTU5MjNcdTU5MjRcdTU5MjhcdTU5MkZcdTU5MzBcdTU5MzNcdTU5MzVcdTU5MzZcdTU5M0ZcdTU5NDNcdTU5NDZcdTU5NTJcdTU5NTNcdTU5NTlcdTU5NUJcdTU5NURcdTU5NUVcdTU5NUZcdTU5NjFcdTU5NjNcdTU5NkJcdTU5NkRcIl0sXG5bXCI4ZmI5YTFcIixcIlx1NTk2Rlx1NTk3Mlx1NTk3NVx1NTk3Nlx1NTk3OVx1NTk3Qlx1NTk3Q1x1NTk4Qlx1NTk4Q1x1NTk4RVx1NTk5Mlx1NTk5NVx1NTk5N1x1NTk5Rlx1NTlBNFx1NTlBN1x1NTlBRFx1NTlBRVx1NTlBRlx1NTlCMFx1NTlCM1x1NTlCN1x1NTlCQVx1NTlCQ1x1NTlDMVx1NTlDM1x1NTlDNFx1NTlDOFx1NTlDQVx1NTlDRFx1NTlEMlx1NTlERFx1NTlERVx1NTlERlx1NTlFM1x1NTlFNFx1NTlFN1x1NTlFRVx1NTlFRlx1NTlGMVx1NTlGMlx1NTlGNFx1NTlGN1x1NUEwMFx1NUEwNFx1NUEwQ1x1NUEwRFx1NUEwRVx1NUExMlx1NUExM1x1NUExRVx1NUEyM1x1NUEyNFx1NUEyN1x1NUEyOFx1NUEyQVx1NUEyRFx1NUEzMFx1NUE0NFx1NUE0NVx1NUE0N1x1NUE0OFx1NUE0Q1x1NUE1MFx1NUE1NVx1NUE1RVx1NUE2M1x1NUE2NVx1NUE2N1x1NUE2RFx1NUE3N1x1NUE3QVx1NUE3Qlx1NUE3RVx1NUE4Qlx1NUE5MFx1NUE5M1x1NUE5Nlx1NUE5OVx1NUE5Q1x1NUE5RVx1NUE5Rlx1NUFBMFx1NUFBMlx1NUFBN1x1NUFBQ1x1NUFCMVx1NUFCMlx1NUFCM1x1NUFCNVx1NUFCOFx1NUFCQVx1NUFCQlx1NUFCRlwiXSxcbltcIjhmYmFhMVwiLFwiXHU1QUM0XHU1QUM2XHU1QUM4XHU1QUNGXHU1QURBXHU1QURDXHU1QUUwXHU1QUU1XHU1QUVBXHU1QUVFXHU1QUY1XHU1QUY2XHU1QUZEXHU1QjAwXHU1QjAxXHU1QjA4XHU1QjE3XHU1QjM0XHU1QjE5XHU1QjFCXHU1QjFEXHU1QjIxXHU1QjI1XHU1QjJEXHU1QjM4XHU1QjQxXHU1QjRCXHU1QjRDXHU1QjUyXHU1QjU2XHU1QjVFXHU1QjY4XHU1QjZFXHU1QjZGXHU1QjdDXHU1QjdEXHU1QjdFXHU1QjdGXHU1QjgxXHU1Qjg0XHU1Qjg2XHU1QjhBXHU1QjhFXHU1QjkwXHU1QjkxXHU1QjkzXHU1Qjk0XHU1Qjk2XHU1QkE4XHU1QkE5XHU1QkFDXHU1QkFEXHU1QkFGXHU1QkIxXHU1QkIyXHU1QkI3XHU1QkJBXHU1QkJDXHU1QkMwXHU1QkMxXHU1QkNEXHU1QkNGXHU1QkQ2XCIsNCxcIlx1NUJFMFx1NUJFRlx1NUJGMVx1NUJGNFx1NUJGRFx1NUMwQ1x1NUMxN1x1NUMxRVx1NUMxRlx1NUMyM1x1NUMyNlx1NUMyOVx1NUMyQlx1NUMyQ1x1NUMyRVx1NUMzMFx1NUMzMlx1NUMzNVx1NUMzNlx1NUM1OVx1NUM1QVx1NUM1Q1x1NUM2Mlx1NUM2M1x1NUM2N1x1NUM2OFx1NUM2OVwiXSxcbltcIjhmYmJhMVwiLFwiXHU1QzZEXHU1QzcwXHU1Qzc0XHU1Qzc1XHU1QzdBXHU1QzdCXHU1QzdDXHU1QzdEXHU1Qzg3XHU1Qzg4XHU1QzhBXHU1QzhGXHU1QzkyXHU1QzlEXHU1QzlGXHU1Q0EwXHU1Q0EyXHU1Q0EzXHU1Q0E2XHU1Q0FBXHU1Q0IyXHU1Q0I0XHU1Q0I1XHU1Q0JBXHU1Q0M5XHU1Q0NCXHU1Q0QyXHU1Q0REXHU1Q0Q3XHU1Q0VFXHU1Q0YxXHU1Q0YyXHU1Q0Y0XHU1RDAxXHU1RDA2XHU1RDBEXHU1RDEyXHU1RDJCXHU1RDIzXHU1RDI0XHU1RDI2XHU1RDI3XHU1RDMxXHU1RDM0XHU1RDM5XHU1RDNEXHU1RDNGXHU1RDQyXHU1RDQzXHU1RDQ2XHU1RDQ4XHU1RDU1XHU1RDUxXHU1RDU5XHU1RDRBXHU1RDVGXHU1RDYwXHU1RDYxXHU1RDYyXHU1RDY0XHU1RDZBXHU1RDZEXHU1RDcwXHU1RDc5XHU1RDdBXHU1RDdFXHU1RDdGXHU1RDgxXHU1RDgzXHU1RDg4XHU1RDhBXHU1RDkyXHU1RDkzXHU1RDk0XHU1RDk1XHU1RDk5XHU1RDlCXHU1RDlGXHU1REEwXHU1REE3XHU1REFCXHU1REIwXHU1REI0XHU1REI4XHU1REI5XHU1REMzXHU1REM3XHU1RENCXHU1REQwXHU1RENFXHU1REQ4XHU1REQ5XHU1REUwXHU1REU0XCJdLFxuW1wiOGZiY2ExXCIsXCJcdTVERTlcdTVERjhcdTVERjlcdTVFMDBcdTVFMDdcdTVFMERcdTVFMTJcdTVFMTRcdTVFMTVcdTVFMThcdTVFMUZcdTVFMjBcdTVFMkVcdTVFMjhcdTVFMzJcdTVFMzVcdTVFM0VcdTVFNEJcdTVFNTBcdTVFNDlcdTVFNTFcdTVFNTZcdTVFNThcdTVFNUJcdTVFNUNcdTVFNUVcdTVFNjhcdTVFNkFcIiw0LFwiXHU1RTcwXHU1RTgwXHU1RThCXHU1RThFXHU1RUEyXHU1RUE0XHU1RUE1XHU1RUE4XHU1RUFBXHU1RUFDXHU1RUIxXHU1RUIzXHU1RUJEXHU1RUJFXHU1RUJGXHU1RUM2XHU1RUNDXHU1RUNCXHU1RUNFXHU1RUQxXHU1RUQyXHU1RUQ0XHU1RUQ1XHU1RURDXHU1RURFXHU1RUU1XHU1RUVCXHU1RjAyXHU1RjA2XHU1RjA3XHU1RjA4XHU1RjBFXHU1RjE5XHU1RjFDXHU1RjFEXHU1RjIxXHU1RjIyXHU1RjIzXHU1RjI0XHU1RjI4XHU1RjJCXHU1RjJDXHU1RjJFXHU1RjMwXHU1RjM0XHU1RjM2XHU1RjNCXHU1RjNEXHU1RjNGXHU1RjQwXHU1RjQ0XHU1RjQ1XHU1RjQ3XHU1RjREXHU1RjUwXHU1RjU0XHU1RjU4XHU1RjVCXHU1RjYwXHU1RjYzXHU1RjY0XHU1RjY3XCJdLFxuW1wiOGZiZGExXCIsXCJcdTVGNkZcdTVGNzJcdTVGNzRcdTVGNzVcdTVGNzhcdTVGN0FcdTVGN0RcdTVGN0VcdTVGODlcdTVGOERcdTVGOEZcdTVGOTZcdTVGOUNcdTVGOURcdTVGQTJcdTVGQTdcdTVGQUJcdTVGQTRcdTVGQUNcdTVGQUZcdTVGQjBcdTVGQjFcdTVGQjhcdTVGQzRcdTVGQzdcdTVGQzhcdTVGQzlcdTVGQ0JcdTVGRDBcIiw0LFwiXHU1RkRFXHU1RkUxXHU1RkUyXHU1RkU4XHU1RkU5XHU1RkVBXHU1RkVDXHU1RkVEXHU1RkVFXHU1RkVGXHU1RkYyXHU1RkYzXHU1RkY2XHU1RkZBXHU1RkZDXHU2MDA3XHU2MDBBXHU2MDBEXHU2MDEzXHU2MDE0XHU2MDE3XHU2MDE4XHU2MDFBXHU2MDFGXHU2MDI0XHU2MDJEXHU2MDMzXHU2MDM1XHU2MDQwXHU2MDQ3XHU2MDQ4XHU2MDQ5XHU2MDRDXHU2MDUxXHU2MDU0XHU2MDU2XHU2MDU3XHU2MDVEXHU2MDYxXHU2MDY3XHU2MDcxXHU2MDdFXHU2MDdGXHU2MDgyXHU2MDg2XHU2MDg4XHU2MDhBXHU2MDhFXHU2MDkxXHU2MDkzXHU2MDk1XHU2MDk4XHU2MDlEXHU2MDlFXHU2MEEyXHU2MEE0XHU2MEE1XHU2MEE4XHU2MEIwXHU2MEIxXHU2MEI3XCJdLFxuW1wiOGZiZWExXCIsXCJcdTYwQkJcdTYwQkVcdTYwQzJcdTYwQzRcdTYwQzhcdTYwQzlcdTYwQ0FcdTYwQ0JcdTYwQ0VcdTYwQ0ZcdTYwRDRcdTYwRDVcdTYwRDlcdTYwREJcdTYwRERcdTYwREVcdTYwRTJcdTYwRTVcdTYwRjJcdTYwRjVcdTYwRjhcdTYwRkNcdTYwRkRcdTYxMDJcdTYxMDdcdTYxMEFcdTYxMENcdTYxMTBcIiw0LFwiXHU2MTE2XHU2MTE3XHU2MTE5XHU2MTFDXHU2MTFFXHU2MTIyXHU2MTJBXHU2MTJCXHU2MTMwXHU2MTMxXHU2MTM1XHU2MTM2XHU2MTM3XHU2MTM5XHU2MTQxXHU2MTQ1XHU2MTQ2XHU2MTQ5XHU2MTVFXHU2MTYwXHU2MTZDXHU2MTcyXHU2MTc4XHU2MTdCXHU2MTdDXHU2MTdGXHU2MTgwXHU2MTgxXHU2MTgzXHU2MTg0XHU2MThCXHU2MThEXHU2MTkyXHU2MTkzXHU2MTk3XHU2MTk4XHU2MTlDXHU2MTlEXHU2MTlGXHU2MUEwXHU2MUE1XHU2MUE4XHU2MUFBXHU2MUFEXHU2MUI4XHU2MUI5XHU2MUJDXHU2MUMwXHU2MUMxXHU2MUMyXHU2MUNFXHU2MUNGXHU2MUQ1XHU2MURDXHU2MUREXHU2MURFXHU2MURGXHU2MUUxXHU2MUUyXHU2MUU3XHU2MUU5XHU2MUU1XCJdLFxuW1wiOGZiZmExXCIsXCJcdTYxRUNcdTYxRURcdTYxRUZcdTYyMDFcdTYyMDNcdTYyMDRcdTYyMDdcdTYyMTNcdTYyMTVcdTYyMUNcdTYyMjBcdTYyMjJcdTYyMjNcdTYyMjdcdTYyMjlcdTYyMkJcdTYyMzlcdTYyM0RcdTYyNDJcdTYyNDNcdTYyNDRcdTYyNDZcdTYyNENcdTYyNTBcdTYyNTFcdTYyNTJcdTYyNTRcdTYyNTZcdTYyNUFcdTYyNUNcdTYyNjRcdTYyNkRcdTYyNkZcdTYyNzNcdTYyN0FcdTYyN0RcdTYyOERcdTYyOEVcdTYyOEZcdTYyOTBcdTYyQTZcdTYyQThcdTYyQjNcdTYyQjZcdTYyQjdcdTYyQkFcdTYyQkVcdTYyQkZcdTYyQzRcdTYyQ0VcdTYyRDVcdTYyRDZcdTYyREFcdTYyRUFcdTYyRjJcdTYyRjRcdTYyRkNcdTYyRkRcdTYzMDNcdTYzMDRcdTYzMEFcdTYzMEJcdTYzMERcdTYzMTBcdTYzMTNcdTYzMTZcdTYzMThcdTYzMjlcdTYzMkFcdTYzMkRcdTYzMzVcdTYzMzZcdTYzMzlcdTYzM0NcdTYzNDFcdTYzNDJcdTYzNDNcdTYzNDRcdTYzNDZcdTYzNEFcdTYzNEJcdTYzNEVcdTYzNTJcdTYzNTNcdTYzNTRcdTYzNThcdTYzNUJcdTYzNjVcdTYzNjZcdTYzNkNcdTYzNkRcdTYzNzFcdTYzNzRcdTYzNzVcIl0sXG5bXCI4ZmMwYTFcIixcIlx1NjM3OFx1NjM3Q1x1NjM3RFx1NjM3Rlx1NjM4Mlx1NjM4NFx1NjM4N1x1NjM4QVx1NjM5MFx1NjM5NFx1NjM5NVx1NjM5OVx1NjM5QVx1NjM5RVx1NjNBNFx1NjNBNlx1NjNBRFx1NjNBRVx1NjNBRlx1NjNCRFx1NjNDMVx1NjNDNVx1NjNDOFx1NjNDRVx1NjNEMVx1NjNEM1x1NjNENFx1NjNENVx1NjNEQ1x1NjNFMFx1NjNFNVx1NjNFQVx1NjNFQ1x1NjNGMlx1NjNGM1x1NjNGNVx1NjNGOFx1NjNGOVx1NjQwOVx1NjQwQVx1NjQxMFx1NjQxMlx1NjQxNFx1NjQxOFx1NjQxRVx1NjQyMFx1NjQyMlx1NjQyNFx1NjQyNVx1NjQyOVx1NjQyQVx1NjQyRlx1NjQzMFx1NjQzNVx1NjQzRFx1NjQzRlx1NjQ0Qlx1NjQ0Rlx1NjQ1MVx1NjQ1Mlx1NjQ1M1x1NjQ1NFx1NjQ1QVx1NjQ1Qlx1NjQ1Q1x1NjQ1RFx1NjQ1Rlx1NjQ2MFx1NjQ2MVx1NjQ2M1x1NjQ2RFx1NjQ3M1x1NjQ3NFx1NjQ3Qlx1NjQ3RFx1NjQ4NVx1NjQ4N1x1NjQ4Rlx1NjQ5MFx1NjQ5MVx1NjQ5OFx1NjQ5OVx1NjQ5Qlx1NjQ5RFx1NjQ5Rlx1NjRBMVx1NjRBM1x1NjRBNlx1NjRBOFx1NjRBQ1x1NjRCM1x1NjRCRFx1NjRCRVx1NjRCRlwiXSxcbltcIjhmYzFhMVwiLFwiXHU2NEM0XHU2NEM5XHU2NENBXHU2NENCXHU2NENDXHU2NENFXHU2NEQwXHU2NEQxXHU2NEQ1XHU2NEQ3XHU2NEU0XHU2NEU1XHU2NEU5XHU2NEVBXHU2NEVEXHU2NEYwXHU2NEY1XHU2NEY3XHU2NEZCXHU2NEZGXHU2NTAxXHU2NTA0XHU2NTA4XHU2NTA5XHU2NTBBXHU2NTBGXHU2NTEzXHU2NTE0XHU2NTE2XHU2NTE5XHU2NTFCXHU2NTFFXHU2NTFGXHU2NTIyXHU2NTI2XHU2NTI5XHU2NTJFXHU2NTMxXHU2NTNBXHU2NTNDXHU2NTNEXHU2NTQzXHU2NTQ3XHU2NTQ5XHU2NTUwXHU2NTUyXHU2NTU0XHU2NTVGXHU2NTYwXHU2NTY3XHU2NTZCXHU2NTdBXHU2NTdEXHU2NTgxXHU2NTg1XHU2NThBXHU2NTkyXHU2NTk1XHU2NTk4XHU2NTlEXHU2NUEwXHU2NUEzXHU2NUE2XHU2NUFFXHU2NUIyXHU2NUIzXHU2NUI0XHU2NUJGXHU2NUMyXHU2NUM4XHU2NUM5XHU2NUNFXHU2NUQwXHU2NUQ0XHU2NUQ2XHU2NUQ4XHU2NURGXHU2NUYwXHU2NUYyXHU2NUY0XHU2NUY1XHU2NUY5XHU2NUZFXHU2NUZGXHU2NjAwXHU2NjA0XHU2NjA4XHU2NjA5XHU2NjBEXHU2NjExXHU2NjEyXHU2NjE1XHU2NjE2XHU2NjFEXCJdLFxuW1wiOGZjMmExXCIsXCJcdTY2MUVcdTY2MjFcdTY2MjJcdTY2MjNcdTY2MjRcdTY2MjZcdTY2MjlcdTY2MkFcdTY2MkJcdTY2MkNcdTY2MkVcdTY2MzBcdTY2MzFcdTY2MzNcdTY2MzlcdTY2MzdcdTY2NDBcdTY2NDVcdTY2NDZcdTY2NEFcdTY2NENcdTY2NTFcdTY2NEVcdTY2NTdcdTY2NThcdTY2NTlcdTY2NUJcdTY2NUNcdTY2NjBcdTY2NjFcdTY2RkJcdTY2NkFcdTY2NkJcdTY2NkNcdTY2N0VcdTY2NzNcdTY2NzVcdTY2N0ZcdTY2NzdcdTY2NzhcdTY2NzlcdTY2N0JcdTY2ODBcdTY2N0NcdTY2OEJcdTY2OENcdTY2OERcdTY2OTBcdTY2OTJcdTY2OTlcdTY2OUFcdTY2OUJcdTY2OUNcdTY2OUZcdTY2QTBcdTY2QTRcdTY2QURcdTY2QjFcdTY2QjJcdTY2QjVcdTY2QkJcdTY2QkZcdTY2QzBcdTY2QzJcdTY2QzNcdTY2QzhcdTY2Q0NcdTY2Q0VcdTY2Q0ZcdTY2RDRcdTY2REJcdTY2REZcdTY2RThcdTY2RUJcdTY2RUNcdTY2RUVcdTY2RkFcdTY3MDVcdTY3MDdcdTY3MEVcdTY3MTNcdTY3MTlcdTY3MUNcdTY3MjBcdTY3MjJcdTY3MzNcdTY3M0VcdTY3NDVcdTY3NDdcdTY3NDhcdTY3NENcdTY3NTRcdTY3NTVcdTY3NURcIl0sXG5bXCI4ZmMzYTFcIixcIlx1Njc2Nlx1Njc2Q1x1Njc2RVx1Njc3NFx1Njc3Nlx1Njc3Qlx1Njc4MVx1Njc4NFx1Njc4RVx1Njc4Rlx1Njc5MVx1Njc5M1x1Njc5Nlx1Njc5OFx1Njc5OVx1Njc5Qlx1NjdCMFx1NjdCMVx1NjdCMlx1NjdCNVx1NjdCQlx1NjdCQ1x1NjdCRFx1NjdGOVx1NjdDMFx1NjdDMlx1NjdDM1x1NjdDNVx1NjdDOFx1NjdDOVx1NjdEMlx1NjdEN1x1NjdEOVx1NjdEQ1x1NjdFMVx1NjdFNlx1NjdGMFx1NjdGMlx1NjdGNlx1NjdGN1x1Njg1Mlx1NjgxNFx1NjgxOVx1NjgxRFx1NjgxRlx1NjgyOFx1NjgyN1x1NjgyQ1x1NjgyRFx1NjgyRlx1NjgzMFx1NjgzMVx1NjgzM1x1NjgzQlx1NjgzRlx1Njg0NFx1Njg0NVx1Njg0QVx1Njg0Q1x1Njg1NVx1Njg1N1x1Njg1OFx1Njg1Qlx1Njg2Qlx1Njg2RVwiLDQsXCJcdTY4NzVcdTY4NzlcdTY4N0FcdTY4N0JcdTY4N0NcdTY4ODJcdTY4ODRcdTY4ODZcdTY4ODhcdTY4OTZcdTY4OThcdTY4OUFcdTY4OUNcdTY4QTFcdTY4QTNcdTY4QTVcdTY4QTlcdTY4QUFcdTY4QUVcdTY4QjJcdTY4QkJcdTY4QzVcdTY4QzhcdTY4Q0NcdTY4Q0ZcIl0sXG5bXCI4ZmM0YTFcIixcIlx1NjhEMFx1NjhEMVx1NjhEM1x1NjhENlx1NjhEOVx1NjhEQ1x1NjhERFx1NjhFNVx1NjhFOFx1NjhFQVx1NjhFQlx1NjhFQ1x1NjhFRFx1NjhGMFx1NjhGMVx1NjhGNVx1NjhGNlx1NjhGQlx1NjhGQ1x1NjhGRFx1NjkwNlx1NjkwOVx1NjkwQVx1NjkxMFx1NjkxMVx1NjkxM1x1NjkxNlx1NjkxN1x1NjkzMVx1NjkzM1x1NjkzNVx1NjkzOFx1NjkzQlx1Njk0Mlx1Njk0NVx1Njk0OVx1Njk0RVx1Njk1N1x1Njk1Qlx1Njk2M1x1Njk2NFx1Njk2NVx1Njk2Nlx1Njk2OFx1Njk2OVx1Njk2Q1x1Njk3MFx1Njk3MVx1Njk3Mlx1Njk3QVx1Njk3Qlx1Njk3Rlx1Njk4MFx1Njk4RFx1Njk5Mlx1Njk5Nlx1Njk5OFx1NjlBMVx1NjlBNVx1NjlBNlx1NjlBOFx1NjlBQlx1NjlBRFx1NjlBRlx1NjlCN1x1NjlCOFx1NjlCQVx1NjlCQ1x1NjlDNVx1NjlDOFx1NjlEMVx1NjlENlx1NjlEN1x1NjlFMlx1NjlFNVx1NjlFRVx1NjlFRlx1NjlGMVx1NjlGM1x1NjlGNVx1NjlGRVx1NkEwMFx1NkEwMVx1NkEwM1x1NkEwRlx1NkExMVx1NkExNVx1NkExQVx1NkExRFx1NkEyMFx1NkEyNFx1NkEyOFx1NkEzMFx1NkEzMlwiXSxcbltcIjhmYzVhMVwiLFwiXHU2QTM0XHU2QTM3XHU2QTNCXHU2QTNFXHU2QTNGXHU2QTQ1XHU2QTQ2XHU2QTQ5XHU2QTRBXHU2QTRFXHU2QTUwXHU2QTUxXHU2QTUyXHU2QTU1XHU2QTU2XHU2QTVCXHU2QTY0XHU2QTY3XHU2QTZBXHU2QTcxXHU2QTczXHU2QTdFXHU2QTgxXHU2QTgzXHU2QTg2XHU2QTg3XHU2QTg5XHU2QThCXHU2QTkxXHU2QTlCXHU2QTlEXHU2QTlFXHU2QTlGXHU2QUE1XHU2QUFCXHU2QUFGXHU2QUIwXHU2QUIxXHU2QUI0XHU2QUJEXHU2QUJFXHU2QUJGXHU2QUM2XHU2QUM5XHU2QUM4XHU2QUNDXHU2QUQwXHU2QUQ0XHU2QUQ1XHU2QUQ2XHU2QURDXHU2QUREXHU2QUU0XHU2QUU3XHU2QUVDXHU2QUYwXHU2QUYxXHU2QUYyXHU2QUZDXHU2QUZEXHU2QjAyXHU2QjAzXHU2QjA2XHU2QjA3XHU2QjA5XHU2QjBGXHU2QjEwXHU2QjExXHU2QjE3XHU2QjFCXHU2QjFFXHU2QjI0XHU2QjI4XHU2QjJCXHU2QjJDXHU2QjJGXHU2QjM1XHU2QjM2XHU2QjNCXHU2QjNGXHU2QjQ2XHU2QjRBXHU2QjREXHU2QjUyXHU2QjU2XHU2QjU4XHU2QjVEXHU2QjYwXHU2QjY3XHU2QjZCXHU2QjZFXHU2QjcwXHU2Qjc1XHU2QjdEXCJdLFxuW1wiOGZjNmExXCIsXCJcdTZCN0VcdTZCODJcdTZCODVcdTZCOTdcdTZCOUJcdTZCOUZcdTZCQTBcdTZCQTJcdTZCQTNcdTZCQThcdTZCQTlcdTZCQUNcdTZCQURcdTZCQUVcdTZCQjBcdTZCQjhcdTZCQjlcdTZCQkRcdTZCQkVcdTZCQzNcdTZCQzRcdTZCQzlcdTZCQ0NcdTZCRDZcdTZCREFcdTZCRTFcdTZCRTNcdTZCRTZcdTZCRTdcdTZCRUVcdTZCRjFcdTZCRjdcdTZCRjlcdTZCRkZcdTZDMDJcdTZDMDRcdTZDMDVcdTZDMDlcdTZDMERcdTZDMEVcdTZDMTBcdTZDMTJcdTZDMTlcdTZDMUZcdTZDMjZcdTZDMjdcdTZDMjhcdTZDMkNcdTZDMkVcdTZDMzNcdTZDMzVcdTZDMzZcdTZDM0FcdTZDM0JcdTZDM0ZcdTZDNEFcdTZDNEJcdTZDNERcdTZDNEZcdTZDNTJcdTZDNTRcdTZDNTlcdTZDNUJcdTZDNUNcdTZDNkJcdTZDNkRcdTZDNkZcdTZDNzRcdTZDNzZcdTZDNzhcdTZDNzlcdTZDN0JcdTZDODVcdTZDODZcdTZDODdcdTZDODlcdTZDOTRcdTZDOTVcdTZDOTdcdTZDOThcdTZDOUNcdTZDOUZcdTZDQjBcdTZDQjJcdTZDQjRcdTZDQzJcdTZDQzZcdTZDQ0RcdTZDQ0ZcdTZDRDBcdTZDRDFcdTZDRDJcdTZDRDRcdTZDRDZcIl0sXG5bXCI4ZmM3YTFcIixcIlx1NkNEQVx1NkNEQ1x1NkNFMFx1NkNFN1x1NkNFOVx1NkNFQlx1NkNFQ1x1NkNFRVx1NkNGMlx1NkNGNFx1NkQwNFx1NkQwN1x1NkQwQVx1NkQwRVx1NkQwRlx1NkQxMVx1NkQxM1x1NkQxQVx1NkQyNlx1NkQyN1x1NkQyOFx1NkM2N1x1NkQyRVx1NkQyRlx1NkQzMVx1NkQzOVx1NkQzQ1x1NkQzRlx1NkQ1N1x1NkQ1RVx1NkQ1Rlx1NkQ2MVx1NkQ2NVx1NkQ2N1x1NkQ2Rlx1NkQ3MFx1NkQ3Q1x1NkQ4Mlx1NkQ4N1x1NkQ5MVx1NkQ5Mlx1NkQ5NFx1NkQ5Nlx1NkQ5N1x1NkQ5OFx1NkRBQVx1NkRBQ1x1NkRCNFx1NkRCN1x1NkRCOVx1NkRCRFx1NkRCRlx1NkRDNFx1NkRDOFx1NkRDQVx1NkRDRVx1NkRDRlx1NkRENlx1NkREQlx1NkRERFx1NkRERlx1NkRFMFx1NkRFMlx1NkRFNVx1NkRFOVx1NkRFRlx1NkRGMFx1NkRGNFx1NkRGNlx1NkRGQ1x1NkUwMFx1NkUwNFx1NkUxRVx1NkUyMlx1NkUyN1x1NkUzMlx1NkUzNlx1NkUzOVx1NkUzQlx1NkUzQ1x1NkU0NFx1NkU0NVx1NkU0OFx1NkU0OVx1NkU0Qlx1NkU0Rlx1NkU1MVx1NkU1Mlx1NkU1M1x1NkU1NFx1NkU1N1x1NkU1Q1x1NkU1RFx1NkU1RVwiXSxcbltcIjhmYzhhMVwiLFwiXHU2RTYyXHU2RTYzXHU2RTY4XHU2RTczXHU2RTdCXHU2RTdEXHU2RThEXHU2RTkzXHU2RTk5XHU2RUEwXHU2RUE3XHU2RUFEXHU2RUFFXHU2RUIxXHU2RUIzXHU2RUJCXHU2RUJGXHU2RUMwXHU2RUMxXHU2RUMzXHU2RUM3XHU2RUM4XHU2RUNBXHU2RUNEXHU2RUNFXHU2RUNGXHU2RUVCXHU2RUVEXHU2RUVFXHU2RUY5XHU2RUZCXHU2RUZEXHU2RjA0XHU2RjA4XHU2RjBBXHU2RjBDXHU2RjBEXHU2RjE2XHU2RjE4XHU2RjFBXHU2RjFCXHU2RjI2XHU2RjI5XHU2RjJBXHU2RjJGXHU2RjMwXHU2RjMzXHU2RjM2XHU2RjNCXHU2RjNDXHU2RjJEXHU2RjRGXHU2RjUxXHU2RjUyXHU2RjUzXHU2RjU3XHU2RjU5XHU2RjVBXHU2RjVEXHU2RjVFXHU2RjYxXHU2RjYyXHU2RjY4XHU2RjZDXHU2RjdEXHU2RjdFXHU2RjgzXHU2Rjg3XHU2Rjg4XHU2RjhCXHU2RjhDXHU2RjhEXHU2RjkwXHU2RjkyXHU2RjkzXHU2Rjk0XHU2Rjk2XHU2RjlBXHU2RjlGXHU2RkEwXHU2RkE1XHU2RkE2XHU2RkE3XHU2RkE4XHU2RkFFXHU2RkFGXHU2RkIwXHU2RkI1XHU2RkI2XHU2RkJDXHU2RkM1XHU2RkM3XHU2RkM4XHU2RkNBXCJdLFxuW1wiOGZjOWExXCIsXCJcdTZGREFcdTZGREVcdTZGRThcdTZGRTlcdTZGRjBcdTZGRjVcdTZGRjlcdTZGRkNcdTZGRkRcdTcwMDBcdTcwMDVcdTcwMDZcdTcwMDdcdTcwMERcdTcwMTdcdTcwMjBcdTcwMjNcdTcwMkZcdTcwMzRcdTcwMzdcdTcwMzlcdTcwM0NcdTcwNDNcdTcwNDRcdTcwNDhcdTcwNDlcdTcwNEFcdTcwNEJcdTcwNTRcdTcwNTVcdTcwNURcdTcwNUVcdTcwNEVcdTcwNjRcdTcwNjVcdTcwNkNcdTcwNkVcdTcwNzVcdTcwNzZcdTcwN0VcdTcwODFcdTcwODVcdTcwODZcdTcwOTRcIiw0LFwiXHU3MDlCXHU3MEE0XHU3MEFCXHU3MEIwXHU3MEIxXHU3MEI0XHU3MEI3XHU3MENBXHU3MEQxXHU3MEQzXHU3MEQ0XHU3MEQ1XHU3MEQ2XHU3MEQ4XHU3MERDXHU3MEU0XHU3MEZBXHU3MTAzXCIsNCxcIlx1NzEwQlx1NzEwQ1x1NzEwRlx1NzExRVx1NzEyMFx1NzEyQlx1NzEyRFx1NzEyRlx1NzEzMFx1NzEzMVx1NzEzOFx1NzE0MVx1NzE0NVx1NzE0Nlx1NzE0N1x1NzE0QVx1NzE0Qlx1NzE1MFx1NzE1Mlx1NzE1N1x1NzE1QVx1NzE1Q1x1NzE1RVx1NzE2MFwiXSxcbltcIjhmY2FhMVwiLFwiXHU3MTY4XHU3MTc5XHU3MTgwXHU3MTg1XHU3MTg3XHU3MThDXHU3MTkyXHU3MTlBXHU3MTlCXHU3MUEwXHU3MUEyXHU3MUFGXHU3MUIwXHU3MUIyXHU3MUIzXHU3MUJBXHU3MUJGXHU3MUMwXHU3MUMxXHU3MUM0XHU3MUNCXHU3MUNDXHU3MUQzXHU3MUQ2XHU3MUQ5XHU3MURBXHU3MURDXHU3MUY4XHU3MUZFXHU3MjAwXHU3MjA3XHU3MjA4XHU3MjA5XHU3MjEzXHU3MjE3XHU3MjFBXHU3MjFEXHU3MjFGXHU3MjI0XHU3MjJCXHU3MjJGXHU3MjM0XHU3MjM4XHU3MjM5XHU3MjQxXHU3MjQyXHU3MjQzXHU3MjQ1XHU3MjRFXHU3MjRGXHU3MjUwXHU3MjUzXHU3MjU1XHU3MjU2XHU3MjVBXHU3MjVDXHU3MjVFXHU3MjYwXHU3MjYzXHU3MjY4XHU3MjZCXHU3MjZFXHU3MjZGXHU3MjcxXHU3Mjc3XHU3Mjc4XHU3MjdCXHU3MjdDXHU3MjdGXHU3Mjg0XHU3Mjg5XHU3MjhEXHU3MjhFXHU3MjkzXHU3MjlCXHU3MkE4XHU3MkFEXHU3MkFFXHU3MkIxXHU3MkI0XHU3MkJFXHU3MkMxXHU3MkM3XHU3MkM5XHU3MkNDXHU3MkQ1XHU3MkQ2XHU3MkQ4XHU3MkRGXHU3MkU1XHU3MkYzXHU3MkY0XHU3MkZBXHU3MkZCXCJdLFxuW1wiOGZjYmExXCIsXCJcdTcyRkVcdTczMDJcdTczMDRcdTczMDVcdTczMDdcdTczMEJcdTczMERcdTczMTJcdTczMTNcdTczMThcdTczMTlcdTczMUVcdTczMjJcdTczMjRcdTczMjdcdTczMjhcdTczMkNcdTczMzFcdTczMzJcdTczMzVcdTczM0FcdTczM0JcdTczM0RcdTczNDNcdTczNERcdTczNTBcdTczNTJcdTczNTZcdTczNThcdTczNURcdTczNUVcdTczNUZcdTczNjBcdTczNjZcdTczNjdcdTczNjlcdTczNkJcdTczNkNcdTczNkVcdTczNkZcdTczNzFcdTczNzdcdTczNzlcdTczN0NcdTczODBcdTczODFcdTczODNcdTczODVcdTczODZcdTczOEVcdTczOTBcdTczOTNcdTczOTVcdTczOTdcdTczOThcdTczOUNcdTczOUVcdTczOUZcdTczQTBcdTczQTJcdTczQTVcdTczQTZcdTczQUFcdTczQUJcdTczQURcdTczQjVcdTczQjdcdTczQjlcdTczQkNcdTczQkRcdTczQkZcdTczQzVcdTczQzZcdTczQzlcdTczQ0JcdTczQ0NcdTczQ0ZcdTczRDJcdTczRDNcdTczRDZcdTczRDlcdTczRERcdTczRTFcdTczRTNcdTczRTZcdTczRTdcdTczRTlcdTczRjRcdTczRjVcdTczRjdcdTczRjlcdTczRkFcdTczRkJcdTczRkRcIl0sXG5bXCI4ZmNjYTFcIixcIlx1NzNGRlx1NzQwMFx1NzQwMVx1NzQwNFx1NzQwN1x1NzQwQVx1NzQxMVx1NzQxQVx1NzQxQlx1NzQyNFx1NzQyNlx1NzQyOFwiLDksXCJcdTc0MzlcdTc0NDBcdTc0NDNcdTc0NDRcdTc0NDZcdTc0NDdcdTc0NEJcdTc0NERcdTc0NTFcdTc0NTJcdTc0NTdcdTc0NURcdTc0NjJcdTc0NjZcdTc0NjdcdTc0NjhcdTc0NkJcdTc0NkRcdTc0NkVcdTc0NzFcdTc0NzJcdTc0ODBcdTc0ODFcdTc0ODVcdTc0ODZcdTc0ODdcdTc0ODlcdTc0OEZcdTc0OTBcdTc0OTFcdTc0OTJcdTc0OThcdTc0OTlcdTc0OUFcdTc0OUNcdTc0OUZcdTc0QTBcdTc0QTFcdTc0QTNcdTc0QTZcdTc0QThcdTc0QTlcdTc0QUFcdTc0QUJcdTc0QUVcdTc0QUZcdTc0QjFcdTc0QjJcdTc0QjVcdTc0QjlcdTc0QkJcdTc0QkZcdTc0QzhcdTc0QzlcdTc0Q0NcdTc0RDBcdTc0RDNcdTc0RDhcdTc0REFcdTc0REJcdTc0REVcdTc0REZcdTc0RTRcdTc0RThcdTc0RUFcdTc0RUJcdTc0RUZcdTc0RjRcdTc0RkFcdTc0RkJcdTc0RkNcdTc0RkZcdTc1MDZcIl0sXG5bXCI4ZmNkYTFcIixcIlx1NzUxMlx1NzUxNlx1NzUxN1x1NzUyMFx1NzUyMVx1NzUyNFx1NzUyN1x1NzUyOVx1NzUyQVx1NzUyRlx1NzUzNlx1NzUzOVx1NzUzRFx1NzUzRVx1NzUzRlx1NzU0MFx1NzU0M1x1NzU0N1x1NzU0OFx1NzU0RVx1NzU1MFx1NzU1Mlx1NzU1N1x1NzU1RVx1NzU1Rlx1NzU2MVx1NzU2Rlx1NzU3MVx1NzU3OVwiLDUsXCJcdTc1ODFcdTc1ODVcdTc1OTBcdTc1OTJcdTc1OTNcdTc1OTVcdTc1OTlcdTc1OUNcdTc1QTJcdTc1QTRcdTc1QjRcdTc1QkFcdTc1QkZcdTc1QzBcdTc1QzFcdTc1QzRcdTc1QzZcdTc1Q0NcdTc1Q0VcdTc1Q0ZcdTc1RDdcdTc1RENcdTc1REZcdTc1RTBcdTc1RTFcdTc1RTRcdTc1RTdcdTc1RUNcdTc1RUVcdTc1RUZcdTc1RjFcdTc1RjlcdTc2MDBcdTc2MDJcdTc2MDNcdTc2MDRcdTc2MDdcdTc2MDhcdTc2MEFcdTc2MENcdTc2MEZcdTc2MTJcdTc2MTNcdTc2MTVcdTc2MTZcdTc2MTlcdTc2MUJcdTc2MUNcdTc2MURcdTc2MUVcdTc2MjNcdTc2MjVcdTc2MjZcdTc2MjlcdTc2MkRcdTc2MzJcdTc2MzNcdTc2MzVcdTc2MzhcdTc2MzlcIl0sXG5bXCI4ZmNlYTFcIixcIlx1NzYzQVx1NzYzQ1x1NzY0QVx1NzY0MFx1NzY0MVx1NzY0M1x1NzY0NFx1NzY0NVx1NzY0OVx1NzY0Qlx1NzY1NVx1NzY1OVx1NzY1Rlx1NzY2NFx1NzY2NVx1NzY2RFx1NzY2RVx1NzY2Rlx1NzY3MVx1NzY3NFx1NzY4MVx1NzY4NVx1NzY4Q1x1NzY4RFx1NzY5NVx1NzY5Qlx1NzY5Q1x1NzY5RFx1NzY5Rlx1NzZBMFx1NzZBMlwiLDYsXCJcdTc2QUFcdTc2QURcdTc2QkRcdTc2QzFcdTc2QzVcdTc2QzlcdTc2Q0JcdTc2Q0NcdTc2Q0VcdTc2RDRcdTc2RDlcdTc2RTBcdTc2RTZcdTc2RThcdTc2RUNcdTc2RjBcdTc2RjFcdTc2RjZcdTc2RjlcdTc2RkNcdTc3MDBcdTc3MDZcdTc3MEFcdTc3MEVcdTc3MTJcdTc3MTRcdTc3MTVcdTc3MTdcdTc3MTlcdTc3MUFcdTc3MUNcdTc3MjJcdTc3MjhcdTc3MkRcdTc3MkVcdTc3MkZcdTc3MzRcdTc3MzVcdTc3MzZcdTc3MzlcdTc3M0RcdTc3M0VcdTc3NDJcdTc3NDVcdTc3NDZcdTc3NEFcdTc3NERcdTc3NEVcdTc3NEZcdTc3NTJcdTc3NTZcdTc3NTdcdTc3NUNcdTc3NUVcdTc3NUZcdTc3NjBcdTc3NjJcIl0sXG5bXCI4ZmNmYTFcIixcIlx1Nzc2NFx1Nzc2N1x1Nzc2QVx1Nzc2Q1x1Nzc3MFx1Nzc3Mlx1Nzc3M1x1Nzc3NFx1Nzc3QVx1Nzc3RFx1Nzc4MFx1Nzc4NFx1Nzc4Q1x1Nzc4RFx1Nzc5NFx1Nzc5NVx1Nzc5Nlx1Nzc5QVx1Nzc5Rlx1NzdBMlx1NzdBN1x1NzdBQVx1NzdBRVx1NzdBRlx1NzdCMVx1NzdCNVx1NzdCRVx1NzdDM1x1NzdDOVx1NzdEMVx1NzdEMlx1NzdENVx1NzdEOVx1NzdERVx1NzdERlx1NzdFMFx1NzdFNFx1NzdFNlx1NzdFQVx1NzdFQ1x1NzdGMFx1NzdGMVx1NzdGNFx1NzdGOFx1NzdGQlx1NzgwNVx1NzgwNlx1NzgwOVx1NzgwRFx1NzgwRVx1NzgxMVx1NzgxRFx1NzgyMVx1NzgyMlx1NzgyM1x1NzgyRFx1NzgyRVx1NzgzMFx1NzgzNVx1NzgzN1x1Nzg0M1x1Nzg0NFx1Nzg0N1x1Nzg0OFx1Nzg0Q1x1Nzg0RVx1Nzg1Mlx1Nzg1Q1x1Nzg1RVx1Nzg2MFx1Nzg2MVx1Nzg2M1x1Nzg2NFx1Nzg2OFx1Nzg2QVx1Nzg2RVx1Nzg3QVx1Nzg3RVx1Nzg4QVx1Nzg4Rlx1Nzg5NFx1Nzg5OFx1NzhBMVx1Nzg5RFx1Nzg5RVx1Nzg5Rlx1NzhBNFx1NzhBOFx1NzhBQ1x1NzhBRFx1NzhCMFx1NzhCMVx1NzhCMlx1NzhCM1wiXSxcbltcIjhmZDBhMVwiLFwiXHU3OEJCXHU3OEJEXHU3OEJGXHU3OEM3XHU3OEM4XHU3OEM5XHU3OENDXHU3OENFXHU3OEQyXHU3OEQzXHU3OEQ1XHU3OEQ2XHU3OEU0XHU3OERCXHU3OERGXHU3OEUwXHU3OEUxXHU3OEU2XHU3OEVBXHU3OEYyXHU3OEYzXHU3OTAwXHU3OEY2XHU3OEY3XHU3OEZBXHU3OEZCXHU3OEZGXHU3OTA2XHU3OTBDXHU3OTEwXHU3OTFBXHU3OTFDXHU3OTFFXHU3OTFGXHU3OTIwXHU3OTI1XHU3OTI3XHU3OTI5XHU3OTJEXHU3OTMxXHU3OTM0XHU3OTM1XHU3OTNCXHU3OTNEXHU3OTNGXHU3OTQ0XHU3OTQ1XHU3OTQ2XHU3OTRBXHU3OTRCXHU3OTRGXHU3OTUxXHU3OTU0XHU3OTU4XHU3OTVCXHU3OTVDXHU3OTY3XHU3OTY5XHU3OTZCXHU3OTcyXHU3OTc5XHU3OTdCXHU3OTdDXHU3OTdFXHU3OThCXHU3OThDXHU3OTkxXHU3OTkzXHU3OTk0XHU3OTk1XHU3OTk2XHU3OTk4XHU3OTlCXHU3OTlDXHU3OUExXHU3OUE4XHU3OUE5XHU3OUFCXHU3OUFGXHU3OUIxXHU3OUI0XHU3OUI4XHU3OUJCXHU3OUMyXHU3OUM0XHU3OUM3XHU3OUM4XHU3OUNBXHU3OUNGXHU3OUQ0XHU3OUQ2XHU3OURBXHU3OUREXHU3OURFXCJdLFxuW1wiOGZkMWExXCIsXCJcdTc5RTBcdTc5RTJcdTc5RTVcdTc5RUFcdTc5RUJcdTc5RURcdTc5RjFcdTc5RjhcdTc5RkNcdTdBMDJcdTdBMDNcdTdBMDdcdTdBMDlcdTdBMEFcdTdBMENcdTdBMTFcdTdBMTVcdTdBMUJcdTdBMUVcdTdBMjFcdTdBMjdcdTdBMkJcdTdBMkRcdTdBMkZcdTdBMzBcdTdBMzRcdTdBMzVcdTdBMzhcdTdBMzlcdTdBM0FcdTdBNDRcdTdBNDVcdTdBNDdcdTdBNDhcdTdBNENcdTdBNTVcdTdBNTZcdTdBNTlcdTdBNUNcdTdBNURcdTdBNUZcdTdBNjBcdTdBNjVcdTdBNjdcdTdBNkFcdTdBNkRcdTdBNzVcdTdBNzhcdTdBN0VcdTdBODBcdTdBODJcdTdBODVcdTdBODZcdTdBOEFcdTdBOEJcdTdBOTBcdTdBOTFcdTdBOTRcdTdBOUVcdTdBQTBcdTdBQTNcdTdBQUNcdTdBQjNcdTdBQjVcdTdBQjlcdTdBQkJcdTdBQkNcdTdBQzZcdTdBQzlcdTdBQ0NcdTdBQ0VcdTdBRDFcdTdBREJcdTdBRThcdTdBRTlcdTdBRUJcdTdBRUNcdTdBRjFcdTdBRjRcdTdBRkJcdTdBRkRcdTdBRkVcdTdCMDdcdTdCMTRcdTdCMUZcdTdCMjNcdTdCMjdcdTdCMjlcdTdCMkFcdTdCMkJcdTdCMkRcdTdCMkVcdTdCMkZcdTdCMzBcIl0sXG5bXCI4ZmQyYTFcIixcIlx1N0IzMVx1N0IzNFx1N0IzRFx1N0IzRlx1N0I0MFx1N0I0MVx1N0I0N1x1N0I0RVx1N0I1NVx1N0I2MFx1N0I2NFx1N0I2Nlx1N0I2OVx1N0I2QVx1N0I2RFx1N0I2Rlx1N0I3Mlx1N0I3M1x1N0I3N1x1N0I4NFx1N0I4OVx1N0I4RVx1N0I5MFx1N0I5MVx1N0I5Nlx1N0I5Qlx1N0I5RVx1N0JBMFx1N0JBNVx1N0JBQ1x1N0JBRlx1N0JCMFx1N0JCMlx1N0JCNVx1N0JCNlx1N0JCQVx1N0JCQlx1N0JCQ1x1N0JCRFx1N0JDMlx1N0JDNVx1N0JDOFx1N0JDQVx1N0JENFx1N0JENlx1N0JEN1x1N0JEOVx1N0JEQVx1N0JEQlx1N0JFOFx1N0JFQVx1N0JGMlx1N0JGNFx1N0JGNVx1N0JGOFx1N0JGOVx1N0JGQVx1N0JGQ1x1N0JGRVx1N0MwMVx1N0MwMlx1N0MwM1x1N0MwNFx1N0MwNlx1N0MwOVx1N0MwQlx1N0MwQ1x1N0MwRVx1N0MwRlx1N0MxOVx1N0MxQlx1N0MyMFx1N0MyNVx1N0MyNlx1N0MyOFx1N0MyQ1x1N0MzMVx1N0MzM1x1N0MzNFx1N0MzNlx1N0MzOVx1N0MzQVx1N0M0Nlx1N0M0QVx1N0M1NVx1N0M1MVx1N0M1Mlx1N0M1M1x1N0M1OVwiLDVdLFxuW1wiOGZkM2ExXCIsXCJcdTdDNjFcdTdDNjNcdTdDNjdcdTdDNjlcdTdDNkRcdTdDNkVcdTdDNzBcdTdDNzJcdTdDNzlcdTdDN0NcdTdDN0RcdTdDODZcdTdDODdcdTdDOEZcdTdDOTRcdTdDOUVcdTdDQTBcdTdDQTZcdTdDQjBcdTdDQjZcdTdDQjdcdTdDQkFcdTdDQkJcdTdDQkNcdTdDQkZcdTdDQzRcdTdDQzdcdTdDQzhcdTdDQzlcdTdDQ0RcdTdDQ0ZcdTdDRDNcdTdDRDRcdTdDRDVcdTdDRDdcdTdDRDlcdTdDREFcdTdDRERcdTdDRTZcdTdDRTlcdTdDRUJcdTdDRjVcdTdEMDNcdTdEMDdcdTdEMDhcdTdEMDlcdTdEMEZcdTdEMTFcdTdEMTJcdTdEMTNcdTdEMTZcdTdEMURcdTdEMUVcdTdEMjNcdTdEMjZcdTdEMkFcdTdEMkRcdTdEMzFcdTdEM0NcdTdEM0RcdTdEM0VcdTdENDBcdTdENDFcdTdENDdcdTdENDhcdTdENERcdTdENTFcdTdENTNcdTdENTdcdTdENTlcdTdENUFcdTdENUNcdTdENURcdTdENjVcdTdENjdcdTdENkFcdTdENzBcdTdENzhcdTdEN0FcdTdEN0JcdTdEN0ZcdTdEODFcdTdEODJcdTdEODNcdTdEODVcdTdEODZcdTdEODhcdTdEOEJcdTdEOENcdTdEOERcdTdEOTFcdTdEOTZcdTdEOTdcdTdEOURcIl0sXG5bXCI4ZmQ0YTFcIixcIlx1N0Q5RVx1N0RBNlx1N0RBN1x1N0RBQVx1N0RCM1x1N0RCNlx1N0RCN1x1N0RCOVx1N0RDMlwiLDQsXCJcdTdEQ0NcdTdEQ0RcdTdEQ0VcdTdERDdcdTdERDlcdTdFMDBcdTdERTJcdTdERTVcdTdERTZcdTdERUFcdTdERUJcdTdERURcdTdERjFcdTdERjVcdTdERjZcdTdERjlcdTdERkFcdTdFMDhcdTdFMTBcdTdFMTFcdTdFMTVcdTdFMTdcdTdFMUNcdTdFMURcdTdFMjBcdTdFMjdcdTdFMjhcdTdFMkNcdTdFMkRcdTdFMkZcdTdFMzNcdTdFMzZcdTdFM0ZcdTdFNDRcdTdFNDVcdTdFNDdcdTdFNEVcdTdFNTBcdTdFNTJcdTdFNThcdTdFNUZcdTdFNjFcdTdFNjJcdTdFNjVcdTdFNkJcdTdFNkVcdTdFNkZcdTdFNzNcdTdFNzhcdTdFN0VcdTdFODFcdTdFODZcdTdFODdcdTdFOEFcdTdFOERcdTdFOTFcdTdFOTVcdTdFOThcdTdFOUFcdTdFOURcdTdFOUVcdTdGM0NcdTdGM0JcdTdGM0RcdTdGM0VcdTdGM0ZcdTdGNDNcdTdGNDRcdTdGNDdcdTdGNEZcdTdGNTJcdTdGNTNcdTdGNUJcdTdGNUNcdTdGNURcdTdGNjFcdTdGNjNcdTdGNjRcdTdGNjVcdTdGNjZcdTdGNkRcIl0sXG5bXCI4ZmQ1YTFcIixcIlx1N0Y3MVx1N0Y3RFx1N0Y3RVx1N0Y3Rlx1N0Y4MFx1N0Y4Qlx1N0Y4RFx1N0Y4Rlx1N0Y5MFx1N0Y5MVx1N0Y5Nlx1N0Y5N1x1N0Y5Q1x1N0ZBMVx1N0ZBMlx1N0ZBNlx1N0ZBQVx1N0ZBRFx1N0ZCNFx1N0ZCQ1x1N0ZCRlx1N0ZDMFx1N0ZDM1x1N0ZDOFx1N0ZDRVx1N0ZDRlx1N0ZEQlx1N0ZERlx1N0ZFM1x1N0ZFNVx1N0ZFOFx1N0ZFQ1x1N0ZFRVx1N0ZFRlx1N0ZGMlx1N0ZGQVx1N0ZGRFx1N0ZGRVx1N0ZGRlx1ODAwN1x1ODAwOFx1ODAwQVx1ODAwRFx1ODAwRVx1ODAwRlx1ODAxMVx1ODAxM1x1ODAxNFx1ODAxNlx1ODAxRFx1ODAxRVx1ODAxRlx1ODAyMFx1ODAyNFx1ODAyNlx1ODAyQ1x1ODAyRVx1ODAzMFx1ODAzNFx1ODAzNVx1ODAzN1x1ODAzOVx1ODAzQVx1ODAzQ1x1ODAzRVx1ODA0MFx1ODA0NFx1ODA2MFx1ODA2NFx1ODA2Nlx1ODA2RFx1ODA3MVx1ODA3NVx1ODA4MVx1ODA4OFx1ODA4RVx1ODA5Q1x1ODA5RVx1ODBBNlx1ODBBN1x1ODBBQlx1ODBCOFx1ODBCOVx1ODBDOFx1ODBDRFx1ODBDRlx1ODBEMlx1ODBENFx1ODBENVx1ODBEN1x1ODBEOFx1ODBFMFx1ODBFRFx1ODBFRVwiXSxcbltcIjhmZDZhMVwiLFwiXHU4MEYwXHU4MEYyXHU4MEYzXHU4MEY2XHU4MEY5XHU4MEZBXHU4MEZFXHU4MTAzXHU4MTBCXHU4MTE2XHU4MTE3XHU4MTE4XHU4MTFDXHU4MTFFXHU4MTIwXHU4MTI0XHU4MTI3XHU4MTJDXHU4MTMwXHU4MTM1XHU4MTNBXHU4MTNDXHU4MTQ1XHU4MTQ3XHU4MTRBXHU4MTRDXHU4MTUyXHU4MTU3XHU4MTYwXHU4MTYxXHU4MTY3XHU4MTY4XHU4MTY5XHU4MTZEXHU4MTZGXHU4MTc3XHU4MTgxXHU4MTkwXHU4MTg0XHU4MTg1XHU4MTg2XHU4MThCXHU4MThFXHU4MTk2XHU4MTk4XHU4MTlCXHU4MTlFXHU4MUEyXHU4MUFFXHU4MUIyXHU4MUI0XHU4MUJCXHU4MUNCXHU4MUMzXHU4MUM1XHU4MUNBXHU4MUNFXHU4MUNGXHU4MUQ1XHU4MUQ3XHU4MURCXHU4MUREXHU4MURFXHU4MUUxXHU4MUU0XHU4MUVCXHU4MUVDXHU4MUYwXHU4MUYxXHU4MUYyXHU4MUY1XHU4MUY2XHU4MUY4XHU4MUY5XHU4MUZEXHU4MUZGXHU4MjAwXHU4MjAzXHU4MjBGXHU4MjEzXHU4MjE0XHU4MjE5XHU4MjFBXHU4MjFEXHU4MjIxXHU4MjIyXHU4MjI4XHU4MjMyXHU4MjM0XHU4MjNBXHU4MjQzXHU4MjQ0XHU4MjQ1XHU4MjQ2XCJdLFxuW1wiOGZkN2ExXCIsXCJcdTgyNEJcdTgyNEVcdTgyNEZcdTgyNTFcdTgyNTZcdTgyNUNcdTgyNjBcdTgyNjNcdTgyNjdcdTgyNkRcdTgyNzRcdTgyN0JcdTgyN0RcdTgyN0ZcdTgyODBcdTgyODFcdTgyODNcdTgyODRcdTgyODdcdTgyODlcdTgyOEFcdTgyOEVcdTgyOTFcdTgyOTRcdTgyOTZcdTgyOThcdTgyOUFcdTgyOUJcdTgyQTBcdTgyQTFcdTgyQTNcdTgyQTRcdTgyQTdcdTgyQThcdTgyQTlcdTgyQUFcdTgyQUVcdTgyQjBcdTgyQjJcdTgyQjRcdTgyQjdcdTgyQkFcdTgyQkNcdTgyQkVcdTgyQkZcdTgyQzZcdTgyRDBcdTgyRDVcdTgyREFcdTgyRTBcdTgyRTJcdTgyRTRcdTgyRThcdTgyRUFcdTgyRURcdTgyRUZcdTgyRjZcdTgyRjdcdTgyRkRcdTgyRkVcdTgzMDBcdTgzMDFcdTgzMDdcdTgzMDhcdTgzMEFcdTgzMEJcdTgzNTRcdTgzMUJcdTgzMURcdTgzMUVcdTgzMUZcdTgzMjFcdTgzMjJcdTgzMkNcdTgzMkRcdTgzMkVcdTgzMzBcdTgzMzNcdTgzMzdcdTgzM0FcdTgzM0NcdTgzM0RcdTgzNDJcdTgzNDNcdTgzNDRcdTgzNDdcdTgzNERcdTgzNEVcdTgzNTFcdTgzNTVcdTgzNTZcdTgzNTdcdTgzNzBcdTgzNzhcIl0sXG5bXCI4ZmQ4YTFcIixcIlx1ODM3RFx1ODM3Rlx1ODM4MFx1ODM4Mlx1ODM4NFx1ODM4Nlx1ODM4RFx1ODM5Mlx1ODM5NFx1ODM5NVx1ODM5OFx1ODM5OVx1ODM5Qlx1ODM5Q1x1ODM5RFx1ODNBNlx1ODNBN1x1ODNBOVx1ODNBQ1x1ODNCRVx1ODNCRlx1ODNDMFx1ODNDN1x1ODNDOVx1ODNDRlx1ODNEMFx1ODNEMVx1ODNENFx1ODNERFx1ODM1M1x1ODNFOFx1ODNFQVx1ODNGNlx1ODNGOFx1ODNGOVx1ODNGQ1x1ODQwMVx1ODQwNlx1ODQwQVx1ODQwRlx1ODQxMVx1ODQxNVx1ODQxOVx1ODNBRFx1ODQyRlx1ODQzOVx1ODQ0NVx1ODQ0N1x1ODQ0OFx1ODQ0QVx1ODQ0RFx1ODQ0Rlx1ODQ1MVx1ODQ1Mlx1ODQ1Nlx1ODQ1OFx1ODQ1OVx1ODQ1QVx1ODQ1Q1x1ODQ2MFx1ODQ2NFx1ODQ2NVx1ODQ2N1x1ODQ2QVx1ODQ3MFx1ODQ3M1x1ODQ3NFx1ODQ3Nlx1ODQ3OFx1ODQ3Q1x1ODQ3RFx1ODQ4MVx1ODQ4NVx1ODQ5Mlx1ODQ5M1x1ODQ5NVx1ODQ5RVx1ODRBNlx1ODRBOFx1ODRBOVx1ODRBQVx1ODRBRlx1ODRCMVx1ODRCNFx1ODRCQVx1ODRCRFx1ODRCRVx1ODRDMFx1ODRDMlx1ODRDN1x1ODRDOFx1ODRDQ1x1ODRDRlx1ODREM1wiXSxcbltcIjhmZDlhMVwiLFwiXHU4NERDXHU4NEU3XHU4NEVBXHU4NEVGXHU4NEYwXHU4NEYxXHU4NEYyXHU4NEY3XHU4NTMyXHU4NEZBXHU4NEZCXHU4NEZEXHU4NTAyXHU4NTAzXHU4NTA3XHU4NTBDXHU4NTBFXHU4NTEwXHU4NTFDXHU4NTFFXHU4NTIyXHU4NTIzXHU4NTI0XHU4NTI1XHU4NTI3XHU4NTJBXHU4NTJCXHU4NTJGXHU4NTMzXHU4NTM0XHU4NTM2XHU4NTNGXHU4NTQ2XHU4NTRGXCIsNCxcIlx1ODU1Nlx1ODU1OVx1ODU1Q1wiLDYsXCJcdTg1NjRcdTg1NkJcdTg1NkZcdTg1NzlcdTg1N0FcdTg1N0JcdTg1N0RcdTg1N0ZcdTg1ODFcdTg1ODVcdTg1ODZcdTg1ODlcdTg1OEJcdTg1OENcdTg1OEZcdTg1OTNcdTg1OThcdTg1OURcdTg1OUZcdTg1QTBcdTg1QTJcdTg1QTVcdTg1QTdcdTg1QjRcdTg1QjZcdTg1QjdcdTg1QjhcdTg1QkNcdTg1QkRcdTg1QkVcdTg1QkZcdTg1QzJcdTg1QzdcdTg1Q0FcdTg1Q0JcdTg1Q0VcdTg1QURcdTg1RDhcdTg1REFcdTg1REZcdTg1RTBcdTg1RTZcdTg1RThcdTg1RURcdTg1RjNcdTg1RjZcdTg1RkNcIl0sXG5bXCI4ZmRhYTFcIixcIlx1ODVGRlx1ODYwMFx1ODYwNFx1ODYwNVx1ODYwRFx1ODYwRVx1ODYxMFx1ODYxMVx1ODYxMlx1ODYxOFx1ODYxOVx1ODYxQlx1ODYxRVx1ODYyMVx1ODYyN1x1ODYyOVx1ODYzNlx1ODYzOFx1ODYzQVx1ODYzQ1x1ODYzRFx1ODY0MFx1ODY0Mlx1ODY0Nlx1ODY1Mlx1ODY1M1x1ODY1Nlx1ODY1N1x1ODY1OFx1ODY1OVx1ODY1RFx1ODY2MFwiLDQsXCJcdTg2NjlcdTg2NkNcdTg2NkZcdTg2NzVcdTg2NzZcdTg2NzdcdTg2N0FcdTg2OERcdTg2OTFcdTg2OTZcdTg2OThcdTg2OUFcdTg2OUNcdTg2QTFcdTg2QTZcdTg2QTdcdTg2QThcdTg2QURcdTg2QjFcdTg2QjNcdTg2QjRcdTg2QjVcdTg2QjdcdTg2QjhcdTg2QjlcdTg2QkZcdTg2QzBcdTg2QzFcdTg2QzNcdTg2QzVcdTg2RDFcdTg2RDJcdTg2RDVcdTg2RDdcdTg2REFcdTg2RENcdTg2RTBcdTg2RTNcdTg2RTVcdTg2RTdcdTg2ODhcdTg2RkFcdTg2RkNcdTg2RkRcdTg3MDRcdTg3MDVcdTg3MDdcdTg3MEJcdTg3MEVcdTg3MEZcdTg3MTBcdTg3MTNcdTg3MTRcdTg3MTlcdTg3MUVcdTg3MUZcdTg3MjFcdTg3MjNcIl0sXG5bXCI4ZmRiYTFcIixcIlx1ODcyOFx1ODcyRVx1ODcyRlx1ODczMVx1ODczMlx1ODczOVx1ODczQVx1ODczQ1x1ODczRFx1ODczRVx1ODc0MFx1ODc0M1x1ODc0NVx1ODc0RFx1ODc1OFx1ODc1RFx1ODc2MVx1ODc2NFx1ODc2NVx1ODc2Rlx1ODc3MVx1ODc3Mlx1ODc3Qlx1ODc4M1wiLDYsXCJcdTg3OEJcdTg3OENcdTg3OTBcdTg3OTNcdTg3OTVcdTg3OTdcdTg3OThcdTg3OTlcdTg3OUVcdTg3QTBcdTg3QTNcdTg3QTdcdTg3QUNcdTg3QURcdTg3QUVcdTg3QjFcdTg3QjVcdTg3QkVcdTg3QkZcdTg3QzFcdTg3QzhcdTg3QzlcdTg3Q0FcdTg3Q0VcdTg3RDVcdTg3RDZcdTg3RDlcdTg3REFcdTg3RENcdTg3REZcdTg3RTJcdTg3RTNcdTg3RTRcdTg3RUFcdTg3RUJcdTg3RURcdTg3RjFcdTg3RjNcdTg3RjhcdTg3RkFcdTg3RkZcdTg4MDFcdTg4MDNcdTg4MDZcdTg4MDlcdTg4MEFcdTg4MEJcdTg4MTBcdTg4MTlcdTg4MTJcdTg4MTNcdTg4MTRcdTg4MThcdTg4MUFcdTg4MUJcdTg4MUNcdTg4MUVcdTg4MUZcdTg4MjhcdTg4MkRcdTg4MkVcdTg4MzBcdTg4MzJcdTg4MzVcIl0sXG5bXCI4ZmRjYTFcIixcIlx1ODgzQVx1ODgzQ1x1ODg0MVx1ODg0M1x1ODg0NVx1ODg0OFx1ODg0OVx1ODg0QVx1ODg0Qlx1ODg0RVx1ODg1MVx1ODg1NVx1ODg1Nlx1ODg1OFx1ODg1QVx1ODg1Q1x1ODg1Rlx1ODg2MFx1ODg2NFx1ODg2OVx1ODg3MVx1ODg3OVx1ODg3Qlx1ODg4MFx1ODg5OFx1ODg5QVx1ODg5Qlx1ODg5Q1x1ODg5Rlx1ODhBMFx1ODhBOFx1ODhBQVx1ODhCQVx1ODhCRFx1ODhCRVx1ODhDMFx1ODhDQVwiLDQsXCJcdTg4RDFcdTg4RDJcdTg4RDNcdTg4REJcdTg4REVcdTg4RTdcdTg4RUZcdTg4RjBcdTg4RjFcdTg4RjVcdTg4RjdcdTg5MDFcdTg5MDZcdTg5MERcdTg5MEVcdTg5MEZcdTg5MTVcdTg5MTZcdTg5MThcdTg5MTlcdTg5MUFcdTg5MUNcdTg5MjBcdTg5MjZcdTg5MjdcdTg5MjhcdTg5MzBcdTg5MzFcdTg5MzJcdTg5MzVcdTg5MzlcdTg5M0FcdTg5M0VcdTg5NDBcdTg5NDJcdTg5NDVcdTg5NDZcdTg5NDlcdTg5NEZcdTg5NTJcdTg5NTdcdTg5NUFcdTg5NUJcdTg5NUNcdTg5NjFcdTg5NjJcdTg5NjNcdTg5NkJcdTg5NkVcdTg5NzBcdTg5NzNcdTg5NzVcdTg5N0FcIl0sXG5bXCI4ZmRkYTFcIixcIlx1ODk3Qlx1ODk3Q1x1ODk3RFx1ODk4OVx1ODk4RFx1ODk5MFx1ODk5NFx1ODk5NVx1ODk5Qlx1ODk5Q1x1ODk5Rlx1ODlBMFx1ODlBNVx1ODlCMFx1ODlCNFx1ODlCNVx1ODlCNlx1ODlCN1x1ODlCQ1x1ODlENFwiLDQsXCJcdTg5RTVcdTg5RTlcdTg5RUJcdTg5RURcdTg5RjFcdTg5RjNcdTg5RjZcdTg5RjlcdTg5RkRcdTg5RkZcdThBMDRcdThBMDVcdThBMDdcdThBMEZcdThBMTFcdThBMTJcdThBMTRcdThBMTVcdThBMUVcdThBMjBcdThBMjJcdThBMjRcdThBMjZcdThBMkJcdThBMkNcdThBMkZcdThBMzVcdThBMzdcdThBM0RcdThBM0VcdThBNDBcdThBNDNcdThBNDVcdThBNDdcdThBNDlcdThBNERcdThBNEVcdThBNTNcdThBNTZcdThBNTdcdThBNThcdThBNUNcdThBNURcdThBNjFcdThBNjVcdThBNjdcdThBNzVcdThBNzZcdThBNzdcdThBNzlcdThBN0FcdThBN0JcdThBN0VcdThBN0ZcdThBODBcdThBODNcdThBODZcdThBOEJcdThBOEZcdThBOTBcdThBOTJcdThBOTZcdThBOTdcdThBOTlcdThBOUZcdThBQTdcdThBQTlcdThBQUVcdThBQUZcdThBQjNcIl0sXG5bXCI4ZmRlYTFcIixcIlx1OEFCNlx1OEFCN1x1OEFCQlx1OEFCRVx1OEFDM1x1OEFDNlx1OEFDOFx1OEFDOVx1OEFDQVx1OEFEMVx1OEFEM1x1OEFENFx1OEFENVx1OEFEN1x1OEFERFx1OEFERlx1OEFFQ1x1OEFGMFx1OEFGNFx1OEFGNVx1OEFGNlx1OEFGQ1x1OEFGRlx1OEIwNVx1OEIwNlx1OEIwQlx1OEIxMVx1OEIxQ1x1OEIxRVx1OEIxRlx1OEIwQVx1OEIyRFx1OEIzMFx1OEIzN1x1OEIzQ1x1OEI0MlwiLDQsXCJcdThCNDhcdThCNTJcdThCNTNcdThCNTRcdThCNTlcdThCNERcdThCNUVcdThCNjNcdThCNkRcdThCNzZcdThCNzhcdThCNzlcdThCN0NcdThCN0VcdThCODFcdThCODRcdThCODVcdThCOEJcdThCOERcdThCOEZcdThCOTRcdThCOTVcdThCOUNcdThCOUVcdThCOUZcdThDMzhcdThDMzlcdThDM0RcdThDM0VcdThDNDVcdThDNDdcdThDNDlcdThDNEJcdThDNEZcdThDNTFcdThDNTNcdThDNTRcdThDNTdcdThDNThcdThDNUJcdThDNURcdThDNTlcdThDNjNcdThDNjRcdThDNjZcdThDNjhcdThDNjlcdThDNkRcdThDNzNcdThDNzVcdThDNzZcdThDN0JcdThDN0VcdThDODZcIl0sXG5bXCI4ZmRmYTFcIixcIlx1OEM4N1x1OEM4Qlx1OEM5MFx1OEM5Mlx1OEM5M1x1OEM5OVx1OEM5Qlx1OEM5Q1x1OENBNFx1OENCOVx1OENCQVx1OENDNVx1OENDNlx1OENDOVx1OENDQlx1OENDRlx1OENENlx1OENENVx1OENEOVx1OENERFx1OENFMVx1OENFOFx1OENFQ1x1OENFRlx1OENGMFx1OENGMlx1OENGNVx1OENGN1x1OENGOFx1OENGRVx1OENGRlx1OEQwMVx1OEQwM1x1OEQwOVx1OEQxMlx1OEQxN1x1OEQxQlx1OEQ2NVx1OEQ2OVx1OEQ2Q1x1OEQ2RVx1OEQ3Rlx1OEQ4Mlx1OEQ4NFx1OEQ4OFx1OEQ4RFx1OEQ5MFx1OEQ5MVx1OEQ5NVx1OEQ5RVx1OEQ5Rlx1OERBMFx1OERBNlx1OERBQlx1OERBQ1x1OERBRlx1OERCMlx1OERCNVx1OERCN1x1OERCOVx1OERCQlx1OERDMFx1OERDNVx1OERDNlx1OERDN1x1OERDOFx1OERDQVx1OERDRVx1OEREMVx1OERENFx1OERENVx1OEREN1x1OEREOVx1OERFNFx1OERFNVx1OERFN1x1OERFQ1x1OERGMFx1OERCQ1x1OERGMVx1OERGMlx1OERGNFx1OERGRFx1OEUwMVx1OEUwNFx1OEUwNVx1OEUwNlx1OEUwQlx1OEUxMVx1OEUxNFx1OEUxNlx1OEUyMFx1OEUyMVx1OEUyMlwiXSxcbltcIjhmZTBhMVwiLFwiXHU4RTIzXHU4RTI2XHU4RTI3XHU4RTMxXHU4RTMzXHU4RTM2XHU4RTM3XHU4RTM4XHU4RTM5XHU4RTNEXHU4RTQwXHU4RTQxXHU4RTRCXHU4RTREXHU4RTRFXHU4RTRGXHU4RTU0XHU4RTVCXHU4RTVDXHU4RTVEXHU4RTVFXHU4RTYxXHU4RTYyXHU4RTY5XHU4RTZDXHU4RTZEXHU4RTZGXHU4RTcwXHU4RTcxXHU4RTc5XHU4RTdBXHU4RTdCXHU4RTgyXHU4RTgzXHU4RTg5XHU4RTkwXHU4RTkyXHU4RTk1XHU4RTlBXHU4RTlCXHU4RTlEXHU4RTlFXHU4RUEyXHU4RUE3XHU4RUE5XHU4RUFEXHU4RUFFXHU4RUIzXHU4RUI1XHU4RUJBXHU4RUJCXHU4RUMwXHU4RUMxXHU4RUMzXHU4RUM0XHU4RUM3XHU4RUNGXHU4RUQxXHU4RUQ0XHU4RURDXHU4RUU4XHU4RUVFXHU4RUYwXHU4RUYxXHU4RUY3XHU4RUY5XHU4RUZBXHU4RUVEXHU4RjAwXHU4RjAyXHU4RjA3XHU4RjA4XHU4RjBGXHU4RjEwXHU4RjE2XHU4RjE3XHU4RjE4XHU4RjFFXHU4RjIwXHU4RjIxXHU4RjIzXHU4RjI1XHU4RjI3XHU4RjI4XHU4RjJDXHU4RjJEXHU4RjJFXHU4RjM0XHU4RjM1XHU4RjM2XHU4RjM3XHU4RjNBXHU4RjQwXHU4RjQxXCJdLFxuW1wiOGZlMWExXCIsXCJcdThGNDNcdThGNDdcdThGNEZcdThGNTFcIiw0LFwiXHU4RjU4XHU4RjVEXHU4RjVFXHU4RjY1XHU4RjlEXHU4RkEwXHU4RkExXHU4RkE0XHU4RkE1XHU4RkE2XHU4RkI1XHU4RkI2XHU4RkI4XHU4RkJFXHU4RkMwXHU4RkMxXHU4RkM2XHU4RkNBXHU4RkNCXHU4RkNEXHU4RkQwXHU4RkQyXHU4RkQzXHU4RkQ1XHU4RkUwXHU4RkUzXHU4RkU0XHU4RkU4XHU4RkVFXHU4RkYxXHU4RkY1XHU4RkY2XHU4RkZCXHU4RkZFXHU5MDAyXHU5MDA0XHU5MDA4XHU5MDBDXHU5MDE4XHU5MDFCXHU5MDI4XHU5MDI5XHU5MDJGXHU5MDJBXHU5MDJDXHU5MDJEXHU5MDMzXHU5MDM0XHU5MDM3XHU5MDNGXHU5MDQzXHU5MDQ0XHU5MDRDXHU5MDVCXHU5MDVEXHU5MDYyXHU5MDY2XHU5MDY3XHU5MDZDXHU5MDcwXHU5MDc0XHU5MDc5XHU5MDg1XHU5MDg4XHU5MDhCXHU5MDhDXHU5MDhFXHU5MDkwXHU5MDk1XHU5MDk3XHU5MDk4XHU5MDk5XHU5MDlCXHU5MEEwXHU5MEExXHU5MEEyXHU5MEE1XHU5MEIwXHU5MEIyXHU5MEIzXHU5MEI0XHU5MEI2XHU5MEJEXHU5MENDXHU5MEJFXHU5MEMzXCJdLFxuW1wiOGZlMmExXCIsXCJcdTkwQzRcdTkwQzVcdTkwQzdcdTkwQzhcdTkwRDVcdTkwRDdcdTkwRDhcdTkwRDlcdTkwRENcdTkwRERcdTkwREZcdTkwRTVcdTkwRDJcdTkwRjZcdTkwRUJcdTkwRUZcdTkwRjBcdTkwRjRcdTkwRkVcdTkwRkZcdTkxMDBcdTkxMDRcdTkxMDVcdTkxMDZcdTkxMDhcdTkxMERcdTkxMTBcdTkxMTRcdTkxMTZcdTkxMTdcdTkxMThcdTkxMUFcdTkxMUNcdTkxMUVcdTkxMjBcdTkxMjVcdTkxMjJcdTkxMjNcdTkxMjdcdTkxMjlcdTkxMkVcdTkxMkZcdTkxMzFcdTkxMzRcdTkxMzZcdTkxMzdcdTkxMzlcdTkxM0FcdTkxM0NcdTkxM0RcdTkxNDNcdTkxNDdcdTkxNDhcdTkxNEZcdTkxNTNcdTkxNTdcdTkxNTlcdTkxNUFcdTkxNUJcdTkxNjFcdTkxNjRcdTkxNjdcdTkxNkRcdTkxNzRcdTkxNzlcdTkxN0FcdTkxN0JcdTkxODFcdTkxODNcdTkxODVcdTkxODZcdTkxOEFcdTkxOEVcdTkxOTFcdTkxOTNcdTkxOTRcdTkxOTVcdTkxOThcdTkxOUVcdTkxQTFcdTkxQTZcdTkxQThcdTkxQUNcdTkxQURcdTkxQUVcdTkxQjBcdTkxQjFcdTkxQjJcdTkxQjNcdTkxQjZcdTkxQkJcdTkxQkNcdTkxQkRcdTkxQkZcIl0sXG5bXCI4ZmUzYTFcIixcIlx1OTFDMlx1OTFDM1x1OTFDNVx1OTFEM1x1OTFENFx1OTFEN1x1OTFEOVx1OTFEQVx1OTFERVx1OTFFNFx1OTFFNVx1OTFFOVx1OTFFQVx1OTFFQ1wiLDUsXCJcdTkxRjdcdTkxRjlcdTkxRkJcdTkxRkRcdTkyMDBcdTkyMDFcdTkyMDRcdTkyMDVcdTkyMDZcdTkyMDdcdTkyMDlcdTkyMEFcdTkyMENcdTkyMTBcdTkyMTJcdTkyMTNcdTkyMTZcdTkyMThcdTkyMUNcdTkyMURcdTkyMjNcdTkyMjRcdTkyMjVcdTkyMjZcdTkyMjhcdTkyMkVcdTkyMkZcdTkyMzBcdTkyMzNcdTkyMzVcdTkyMzZcdTkyMzhcdTkyMzlcdTkyM0FcdTkyM0NcdTkyM0VcdTkyNDBcdTkyNDJcdTkyNDNcdTkyNDZcdTkyNDdcdTkyNEFcdTkyNERcdTkyNEVcdTkyNEZcdTkyNTFcdTkyNThcdTkyNTlcdTkyNUNcdTkyNURcdTkyNjBcdTkyNjFcdTkyNjVcdTkyNjdcdTkyNjhcdTkyNjlcdTkyNkVcdTkyNkZcdTkyNzBcdTkyNzVcIiw0LFwiXHU5MjdCXHU5MjdDXHU5MjdEXHU5MjdGXHU5Mjg4XHU5Mjg5XHU5MjhBXHU5MjhEXHU5MjhFXHU5MjkyXHU5Mjk3XCJdLFxuW1wiOGZlNGExXCIsXCJcdTkyOTlcdTkyOUZcdTkyQTBcdTkyQTRcdTkyQTVcdTkyQTdcdTkyQThcdTkyQUJcdTkyQUZcdTkyQjJcdTkyQjZcdTkyQjhcdTkyQkFcdTkyQkJcdTkyQkNcdTkyQkRcdTkyQkZcIiw0LFwiXHU5MkM1XHU5MkM2XHU5MkM3XHU5MkM4XHU5MkNCXHU5MkNDXHU5MkNEXHU5MkNFXHU5MkQwXHU5MkQzXHU5MkQ1XHU5MkQ3XHU5MkQ4XHU5MkQ5XHU5MkRDXHU5MkREXHU5MkRGXHU5MkUwXHU5MkUxXHU5MkUzXHU5MkU1XHU5MkU3XHU5MkU4XHU5MkVDXHU5MkVFXHU5MkYwXHU5MkY5XHU5MkZCXHU5MkZGXHU5MzAwXHU5MzAyXHU5MzA4XHU5MzBEXHU5MzExXHU5MzE0XHU5MzE1XHU5MzFDXHU5MzFEXHU5MzFFXHU5MzFGXHU5MzIxXHU5MzI0XHU5MzI1XHU5MzI3XHU5MzI5XHU5MzJBXHU5MzMzXHU5MzM0XHU5MzM2XHU5MzM3XHU5MzQ3XHU5MzQ4XHU5MzQ5XHU5MzUwXHU5MzUxXHU5MzUyXHU5MzU1XHU5MzU3XHU5MzU4XHU5MzVBXHU5MzVFXHU5MzY0XHU5MzY1XHU5MzY3XHU5MzY5XHU5MzZBXHU5MzZEXHU5MzZGXHU5MzcwXHU5MzcxXHU5MzczXHU5Mzc0XHU5Mzc2XCJdLFxuW1wiOGZlNWExXCIsXCJcdTkzN0FcdTkzN0RcdTkzN0ZcdTkzODBcdTkzODFcdTkzODJcdTkzODhcdTkzOEFcdTkzOEJcdTkzOERcdTkzOEZcdTkzOTJcdTkzOTVcdTkzOThcdTkzOUJcdTkzOUVcdTkzQTFcdTkzQTNcdTkzQTRcdTkzQTZcdTkzQThcdTkzQUJcdTkzQjRcdTkzQjVcdTkzQjZcdTkzQkFcdTkzQTlcdTkzQzFcdTkzQzRcdTkzQzVcdTkzQzZcdTkzQzdcdTkzQzlcIiw0LFwiXHU5M0QzXHU5M0Q5XHU5M0RDXHU5M0RFXHU5M0RGXHU5M0UyXHU5M0U2XHU5M0U3XHU5M0Y5XHU5M0Y3XHU5M0Y4XHU5M0ZBXHU5M0ZCXHU5M0ZEXHU5NDAxXHU5NDAyXHU5NDA0XHU5NDA4XHU5NDA5XHU5NDBEXHU5NDBFXHU5NDBGXHU5NDE1XHU5NDE2XHU5NDE3XHU5NDFGXHU5NDJFXHU5NDJGXHU5NDMxXHU5NDMyXHU5NDMzXHU5NDM0XHU5NDNCXHU5NDNGXHU5NDNEXHU5NDQzXHU5NDQ1XHU5NDQ4XHU5NDRBXHU5NDRDXHU5NDU1XHU5NDU5XHU5NDVDXHU5NDVGXHU5NDYxXHU5NDYzXHU5NDY4XHU5NDZCXHU5NDZEXHU5NDZFXHU5NDZGXHU5NDcxXHU5NDcyXHU5NDg0XHU5NDgzXHU5NTc4XHU5NTc5XCJdLFxuW1wiOGZlNmExXCIsXCJcdTk1N0VcdTk1ODRcdTk1ODhcdTk1OENcdTk1OERcdTk1OEVcdTk1OURcdTk1OUVcdTk1OUZcdTk1QTFcdTk1QTZcdTk1QTlcdTk1QUJcdTk1QUNcdTk1QjRcdTk1QjZcdTk1QkFcdTk1QkRcdTk1QkZcdTk1QzZcdTk1QzhcdTk1QzlcdTk1Q0JcdTk1RDBcdTk1RDFcdTk1RDJcdTk1RDNcdTk1RDlcdTk1REFcdTk1RERcdTk1REVcdTk1REZcdTk1RTBcdTk1RTRcdTk1RTZcdTk2MURcdTk2MUVcdTk2MjJcdTk2MjRcdTk2MjVcdTk2MjZcdTk2MkNcdTk2MzFcdTk2MzNcdTk2MzdcdTk2MzhcdTk2MzlcdTk2M0FcdTk2M0NcdTk2M0RcdTk2NDFcdTk2NTJcdTk2NTRcdTk2NTZcdTk2NTdcdTk2NThcdTk2NjFcdTk2NkVcdTk2NzRcdTk2N0JcdTk2N0NcdTk2N0VcdTk2N0ZcdTk2ODFcdTk2ODJcdTk2ODNcdTk2ODRcdTk2ODlcdTk2OTFcdTk2OTZcdTk2OUFcdTk2OURcdTk2OUZcdTk2QTRcdTk2QTVcdTk2QTZcdTk2QTlcdTk2QUVcdTk2QUZcdTk2QjNcdTk2QkFcdTk2Q0FcdTk2RDJcdTVEQjJcdTk2RDhcdTk2REFcdTk2RERcdTk2REVcdTk2REZcdTk2RTlcdTk2RUZcdTk2RjFcdTk2RkFcdTk3MDJcIl0sXG5bXCI4ZmU3YTFcIixcIlx1OTcwM1x1OTcwNVx1OTcwOVx1OTcxQVx1OTcxQlx1OTcxRFx1OTcyMVx1OTcyMlx1OTcyM1x1OTcyOFx1OTczMVx1OTczM1x1OTc0MVx1OTc0M1x1OTc0QVx1OTc0RVx1OTc0Rlx1OTc1NVx1OTc1N1x1OTc1OFx1OTc1QVx1OTc1Qlx1OTc2M1x1OTc2N1x1OTc2QVx1OTc2RVx1OTc3M1x1OTc3Nlx1OTc3N1x1OTc3OFx1OTc3Qlx1OTc3RFx1OTc3Rlx1OTc4MFx1OTc4OVx1OTc5NVx1OTc5Nlx1OTc5N1x1OTc5OVx1OTc5QVx1OTc5RVx1OTc5Rlx1OTdBMlx1OTdBQ1x1OTdBRVx1OTdCMVx1OTdCMlx1OTdCNVx1OTdCNlx1OTdCOFx1OTdCOVx1OTdCQVx1OTdCQ1x1OTdCRVx1OTdCRlx1OTdDMVx1OTdDNFx1OTdDNVx1OTdDN1x1OTdDOVx1OTdDQVx1OTdDQ1x1OTdDRFx1OTdDRVx1OTdEMFx1OTdEMVx1OTdENFx1OTdEN1x1OTdEOFx1OTdEOVx1OTdERFx1OTdERVx1OTdFMFx1OTdEQlx1OTdFMVx1OTdFNFx1OTdFRlx1OTdGMVx1OTdGNFx1OTdGN1x1OTdGOFx1OTdGQVx1OTgwN1x1OTgwQVx1OTgxOVx1OTgwRFx1OTgwRVx1OTgxNFx1OTgxNlx1OTgxQ1x1OTgxRVx1OTgyMFx1OTgyM1x1OTgyNlwiXSxcbltcIjhmZThhMVwiLFwiXHU5ODJCXHU5ODJFXHU5ODJGXHU5ODMwXHU5ODMyXHU5ODMzXHU5ODM1XHU5ODI1XHU5ODNFXHU5ODQ0XHU5ODQ3XHU5ODRBXHU5ODUxXHU5ODUyXHU5ODUzXHU5ODU2XHU5ODU3XHU5ODU5XHU5ODVBXHU5ODYyXHU5ODYzXHU5ODY1XHU5ODY2XHU5ODZBXHU5ODZDXHU5OEFCXHU5OEFEXHU5OEFFXHU5OEIwXHU5OEI0XHU5OEI3XHU5OEI4XHU5OEJBXHU5OEJCXHU5OEJGXHU5OEMyXHU5OEM1XHU5OEM4XHU5OENDXHU5OEUxXHU5OEUzXHU5OEU1XHU5OEU2XHU5OEU3XHU5OEVBXHU5OEYzXHU5OEY2XHU5OTAyXHU5OTA3XHU5OTA4XHU5OTExXHU5OTE1XHU5OTE2XHU5OTE3XHU5OTFBXHU5OTFCXHU5OTFDXHU5OTFGXHU5OTIyXHU5OTI2XHU5OTI3XHU5OTJCXHU5OTMxXCIsNCxcIlx1OTkzOVx1OTkzQVx1OTkzQlx1OTkzQ1x1OTk0MFx1OTk0MVx1OTk0Nlx1OTk0N1x1OTk0OFx1OTk0RFx1OTk0RVx1OTk1NFx1OTk1OFx1OTk1OVx1OTk1Qlx1OTk1Q1x1OTk1RVx1OTk1Rlx1OTk2MFx1OTk5Qlx1OTk5RFx1OTk5Rlx1OTlBNlx1OTlCMFx1OTlCMVx1OTlCMlx1OTlCNVwiXSxcbltcIjhmZTlhMVwiLFwiXHU5OUI5XHU5OUJBXHU5OUJEXHU5OUJGXHU5OUMzXHU5OUM5XHU5OUQzXHU5OUQ0XHU5OUQ5XHU5OURBXHU5OURDXHU5OURFXHU5OUU3XHU5OUVBXHU5OUVCXHU5OUVDXHU5OUYwXHU5OUY0XHU5OUY1XHU5OUY5XHU5OUZEXHU5OUZFXHU5QTAyXHU5QTAzXHU5QTA0XHU5QTBCXHU5QTBDXHU5QTEwXHU5QTExXHU5QTE2XHU5QTFFXHU5QTIwXHU5QTIyXHU5QTIzXHU5QTI0XHU5QTI3XHU5QTJEXHU5QTJFXHU5QTMzXHU5QTM1XHU5QTM2XHU5QTM4XHU5QTQ3XHU5QTQxXHU5QTQ0XHU5QTRBXHU5QTRCXHU5QTRDXHU5QTRFXHU5QTUxXHU5QTU0XHU5QTU2XHU5QTVEXHU5QUFBXHU5QUFDXHU5QUFFXHU5QUFGXHU5QUIyXHU5QUI0XHU5QUI1XHU5QUI2XHU5QUI5XHU5QUJCXHU5QUJFXHU5QUJGXHU5QUMxXHU5QUMzXHU5QUM2XHU5QUM4XHU5QUNFXHU5QUQwXHU5QUQyXHU5QUQ1XHU5QUQ2XHU5QUQ3XHU5QURCXHU5QURDXHU5QUUwXHU5QUU0XHU5QUU1XHU5QUU3XHU5QUU5XHU5QUVDXHU5QUYyXHU5QUYzXHU5QUY1XHU5QUY5XHU5QUZBXHU5QUZEXHU5QUZGXCIsNF0sXG5bXCI4ZmVhYTFcIixcIlx1OUIwNFx1OUIwNVx1OUIwOFx1OUIwOVx1OUIwQlx1OUIwQ1x1OUIwRFx1OUIwRVx1OUIxMFx1OUIxMlx1OUIxNlx1OUIxOVx1OUIxQlx1OUIxQ1x1OUIyMFx1OUIyNlx1OUIyQlx1OUIyRFx1OUIzM1x1OUIzNFx1OUIzNVx1OUIzN1x1OUIzOVx1OUIzQVx1OUIzRFx1OUI0OFx1OUI0Qlx1OUI0Q1x1OUI1NVx1OUI1Nlx1OUI1N1x1OUI1Qlx1OUI1RVx1OUI2MVx1OUI2M1x1OUI2NVx1OUI2Nlx1OUI2OFx1OUI2QVwiLDQsXCJcdTlCNzNcdTlCNzVcdTlCNzdcdTlCNzhcdTlCNzlcdTlCN0ZcdTlCODBcdTlCODRcdTlCODVcdTlCODZcdTlCODdcdTlCODlcdTlCOEFcdTlCOEJcdTlCOERcdTlCOEZcdTlCOTBcdTlCOTRcdTlCOUFcdTlCOURcdTlCOUVcdTlCQTZcdTlCQTdcdTlCQTlcdTlCQUNcdTlCQjBcdTlCQjFcdTlCQjJcdTlCQjdcdTlCQjhcdTlCQkJcdTlCQkNcdTlCQkVcdTlCQkZcdTlCQzFcdTlCQzdcdTlCQzhcdTlCQ0VcdTlCRDBcdTlCRDdcdTlCRDhcdTlCRERcdTlCREZcdTlCRTVcdTlCRTdcdTlCRUFcdTlCRUJcdTlCRUZcdTlCRjNcdTlCRjdcdTlCRjhcIl0sXG5bXCI4ZmViYTFcIixcIlx1OUJGOVx1OUJGQVx1OUJGRFx1OUJGRlx1OUMwMFx1OUMwMlx1OUMwQlx1OUMwRlx1OUMxMVx1OUMxNlx1OUMxOFx1OUMxOVx1OUMxQVx1OUMxQ1x1OUMxRVx1OUMyMlx1OUMyM1x1OUMyNlwiLDQsXCJcdTlDMzFcdTlDMzVcdTlDMzZcdTlDMzdcdTlDM0RcdTlDNDFcdTlDNDNcdTlDNDRcdTlDNDVcdTlDNDlcdTlDNEFcdTlDNEVcdTlDNEZcdTlDNTBcdTlDNTNcdTlDNTRcdTlDNTZcdTlDNThcdTlDNUJcdTlDNURcdTlDNUVcdTlDNUZcdTlDNjNcdTlDNjlcdTlDNkFcdTlDNUNcdTlDNkJcdTlDNjhcdTlDNkVcdTlDNzBcdTlDNzJcdTlDNzVcdTlDNzdcdTlDN0JcdTlDRTZcdTlDRjJcdTlDRjdcdTlDRjlcdTlEMEJcdTlEMDJcdTlEMTFcdTlEMTdcdTlEMThcdTlEMUNcdTlEMURcdTlEMUVcdTlEMkZcdTlEMzBcdTlEMzJcdTlEMzNcdTlEMzRcdTlEM0FcdTlEM0NcdTlENDVcdTlEM0RcdTlENDJcdTlENDNcdTlENDdcdTlENEFcdTlENTNcdTlENTRcdTlENUZcdTlENjNcdTlENjJcdTlENjVcdTlENjlcdTlENkFcdTlENkJcdTlENzBcdTlENzZcdTlENzdcdTlEN0JcIl0sXG5bXCI4ZmVjYTFcIixcIlx1OUQ3Q1x1OUQ3RVx1OUQ4M1x1OUQ4NFx1OUQ4Nlx1OUQ4QVx1OUQ4RFx1OUQ4RVx1OUQ5Mlx1OUQ5M1x1OUQ5NVx1OUQ5Nlx1OUQ5N1x1OUQ5OFx1OURBMVx1OURBQVx1OURBQ1x1OURBRVx1OURCMVx1OURCNVx1OURCOVx1OURCQ1x1OURCRlx1OURDM1x1OURDN1x1OURDOVx1OURDQVx1OURENFx1OURENVx1OURENlx1OUREN1x1OUREQVx1OURERVx1OURERlx1OURFMFx1OURFNVx1OURFN1x1OURFOVx1OURFQlx1OURFRVx1OURGMFx1OURGM1x1OURGNFx1OURGRVx1OUUwQVx1OUUwMlx1OUUwN1x1OUUwRVx1OUUxMFx1OUUxMVx1OUUxMlx1OUUxNVx1OUUxNlx1OUUxOVx1OUUxQ1x1OUUxRFx1OUU3QVx1OUU3Qlx1OUU3Q1x1OUU4MFx1OUU4Mlx1OUU4M1x1OUU4NFx1OUU4NVx1OUU4N1x1OUU4RVx1OUU4Rlx1OUU5Nlx1OUU5OFx1OUU5Qlx1OUU5RVx1OUVBNFx1OUVBOFx1OUVBQ1x1OUVBRVx1OUVBRlx1OUVCMFx1OUVCM1x1OUVCNFx1OUVCNVx1OUVDNlx1OUVDOFx1OUVDQlx1OUVENVx1OUVERlx1OUVFNFx1OUVFN1x1OUVFQ1x1OUVFRFx1OUVFRVx1OUVGMFx1OUVGMVx1OUVGMlx1OUVGNVwiXSxcbltcIjhmZWRhMVwiLFwiXHU5RUY4XHU5RUZGXHU5RjAyXHU5RjAzXHU5RjA5XHU5RjBGXHU5RjEwXHU5RjExXHU5RjEyXHU5RjE0XHU5RjE2XHU5RjE3XHU5RjE5XHU5RjFBXHU5RjFCXHU5RjFGXHU5RjIyXHU5RjI2XHU5RjJBXHU5RjJCXHU5RjJGXHU5RjMxXHU5RjMyXHU5RjM0XHU5RjM3XHU5RjM5XHU5RjNBXHU5RjNDXHU5RjNEXHU5RjNGXHU5RjQxXHU5RjQzXCIsNCxcIlx1OUY1M1x1OUY1NVx1OUY1Nlx1OUY1N1x1OUY1OFx1OUY1QVx1OUY1RFx1OUY1RVx1OUY2OFx1OUY2OVx1OUY2RFwiLDQsXCJcdTlGNzNcdTlGNzVcdTlGN0FcdTlGN0RcdTlGOEZcdTlGOTBcdTlGOTFcdTlGOTJcdTlGOTRcdTlGOTZcdTlGOTdcdTlGOUVcdTlGQTFcdTlGQTJcdTlGQTNcdTlGQTVcIl1cbl1cbiIsICJbXG5bXCIwXCIsXCJcXHUwMDAwXCIsMTI3LFwiXHUyMEFDXCJdLFxuW1wiODE0MFwiLFwiXHU0RTAyXHU0RTA0XHU0RTA1XHU0RTA2XHU0RTBGXHU0RTEyXHU0RTE3XHU0RTFGXHU0RTIwXHU0RTIxXHU0RTIzXHU0RTI2XHU0RTI5XHU0RTJFXHU0RTJGXHU0RTMxXHU0RTMzXHU0RTM1XHU0RTM3XHU0RTNDXHU0RTQwXHU0RTQxXHU0RTQyXHU0RTQ0XHU0RTQ2XHU0RTRBXHU0RTUxXHU0RTU1XHU0RTU3XHU0RTVBXHU0RTVCXHU0RTYyXHU0RTYzXHU0RTY0XHU0RTY1XHU0RTY3XHU0RTY4XHU0RTZBXCIsNSxcIlx1NEU3Mlx1NEU3NFwiLDksXCJcdTRFN0ZcIiw2LFwiXHU0RTg3XHU0RThBXCJdLFxuW1wiODE4MFwiLFwiXHU0RTkwXHU0RTk2XHU0RTk3XHU0RTk5XHU0RTlDXHU0RTlEXHU0RTlFXHU0RUEzXHU0RUFBXHU0RUFGXHU0RUIwXHU0RUIxXHU0RUI0XHU0RUI2XHU0RUI3XHU0RUI4XHU0RUI5XHU0RUJDXHU0RUJEXHU0RUJFXHU0RUM4XHU0RUNDXHU0RUNGXHU0RUQwXHU0RUQyXHU0RURBXHU0RURCXHU0RURDXHU0RUUwXHU0RUUyXHU0RUU2XHU0RUU3XHU0RUU5XHU0RUVEXHU0RUVFXHU0RUVGXHU0RUYxXHU0RUY0XHU0RUY4XHU0RUY5XHU0RUZBXHU0RUZDXHU0RUZFXHU0RjAwXHU0RjAyXCIsNixcIlx1NEYwQlx1NEYwQ1x1NEYxMlwiLDQsXCJcdTRGMUNcdTRGMURcdTRGMjFcdTRGMjNcdTRGMjhcdTRGMjlcdTRGMkNcdTRGMkRcdTRGMkVcdTRGMzFcdTRGMzNcdTRGMzVcdTRGMzdcdTRGMzlcdTRGM0JcdTRGM0VcIiw0LFwiXHU0RjQ0XHU0RjQ1XHU0RjQ3XCIsNSxcIlx1NEY1Mlx1NEY1NFx1NEY1Nlx1NEY2MVx1NEY2Mlx1NEY2Nlx1NEY2OFx1NEY2QVx1NEY2Qlx1NEY2RFx1NEY2RVx1NEY3MVx1NEY3Mlx1NEY3NVx1NEY3N1x1NEY3OFx1NEY3OVx1NEY3QVx1NEY3RFx1NEY4MFx1NEY4MVx1NEY4Mlx1NEY4NVx1NEY4Nlx1NEY4N1x1NEY4QVx1NEY4Q1x1NEY4RVx1NEY5MFx1NEY5Mlx1NEY5M1x1NEY5NVx1NEY5Nlx1NEY5OFx1NEY5OVx1NEY5QVx1NEY5Q1x1NEY5RVx1NEY5Rlx1NEZBMVx1NEZBMlwiXSxcbltcIjgyNDBcIixcIlx1NEZBNFx1NEZBQlx1NEZBRFx1NEZCMFwiLDQsXCJcdTRGQjZcIiw4LFwiXHU0RkMwXHU0RkMxXHU0RkMyXHU0RkM2XHU0RkM3XHU0RkM4XHU0RkM5XHU0RkNCXHU0RkNDXHU0RkNEXHU0RkQyXCIsNCxcIlx1NEZEOVx1NEZEQlx1NEZFMFx1NEZFMlx1NEZFNFx1NEZFNVx1NEZFN1x1NEZFQlx1NEZFQ1x1NEZGMFx1NEZGMlx1NEZGNFx1NEZGNVx1NEZGNlx1NEZGN1x1NEZGOVx1NEZGQlx1NEZGQ1x1NEZGRFx1NEZGRlwiLDExXSxcbltcIjgyODBcIixcIlx1NTAwQlx1NTAwRVx1NTAxMFx1NTAxMVx1NTAxM1x1NTAxNVx1NTAxNlx1NTAxN1x1NTAxQlx1NTAxRFx1NTAxRVx1NTAyMFx1NTAyMlx1NTAyM1x1NTAyNFx1NTAyN1x1NTAyQlx1NTAyRlwiLDEwLFwiXHU1MDNCXHU1MDNEXHU1MDNGXHU1MDQwXHU1MDQxXHU1MDQyXHU1MDQ0XHU1MDQ1XHU1MDQ2XHU1MDQ5XHU1MDRBXHU1MDRCXHU1MDREXHU1MDUwXCIsNCxcIlx1NTA1Nlx1NTA1N1x1NTA1OFx1NTA1OVx1NTA1Qlx1NTA1RFwiLDcsXCJcdTUwNjZcIiw1LFwiXHU1MDZEXCIsOCxcIlx1NTA3OFx1NTA3OVx1NTA3QVx1NTA3Q1x1NTA3RFx1NTA4MVx1NTA4Mlx1NTA4M1x1NTA4NFx1NTA4Nlx1NTA4N1x1NTA4OVx1NTA4QVx1NTA4Qlx1NTA4Q1x1NTA4RVwiLDIwLFwiXHU1MEE0XHU1MEE2XHU1MEFBXHU1MEFCXHU1MEFEXCIsNCxcIlx1NTBCM1wiLDYsXCJcdTUwQkNcIl0sXG5bXCI4MzQwXCIsXCJcdTUwQkRcIiwxNyxcIlx1NTBEMFwiLDUsXCJcdTUwRDdcdTUwRDhcdTUwRDlcdTUwREJcIiwxMCxcIlx1NTBFOFx1NTBFOVx1NTBFQVx1NTBFQlx1NTBFRlx1NTBGMFx1NTBGMVx1NTBGMlx1NTBGNFx1NTBGNlwiLDQsXCJcdTUwRkNcIiw5LFwiXHU1MTA4XCJdLFxuW1wiODM4MFwiLFwiXHU1MTA5XHU1MTBBXHU1MTBDXCIsNSxcIlx1NTExM1wiLDEzLFwiXHU1MTIyXCIsMjgsXCJcdTUxNDJcdTUxNDdcdTUxNEFcdTUxNENcdTUxNEVcdTUxNEZcdTUxNTBcdTUxNTJcdTUxNTNcdTUxNTdcdTUxNThcdTUxNTlcdTUxNUJcdTUxNURcIiw0LFwiXHU1MTYzXHU1MTY0XHU1MTY2XHU1MTY3XHU1MTY5XHU1MTZBXHU1MTZGXHU1MTcyXHU1MTdBXHU1MTdFXHU1MTdGXHU1MTgzXHU1MTg0XHU1MTg2XHU1MTg3XHU1MThBXHU1MThCXHU1MThFXHU1MThGXHU1MTkwXHU1MTkxXHU1MTkzXHU1MTk0XHU1MTk4XHU1MTlBXHU1MTlEXHU1MTlFXHU1MTlGXHU1MUExXHU1MUEzXHU1MUE2XCIsNCxcIlx1NTFBRFx1NTFBRVx1NTFCNFx1NTFCOFx1NTFCOVx1NTFCQVx1NTFCRVx1NTFCRlx1NTFDMVx1NTFDMlx1NTFDM1x1NTFDNVx1NTFDOFx1NTFDQVx1NTFDRFx1NTFDRVx1NTFEMFx1NTFEMlwiLDVdLFxuW1wiODQ0MFwiLFwiXHU1MUQ4XHU1MUQ5XHU1MURBXHU1MURDXHU1MURFXHU1MURGXHU1MUUyXHU1MUUzXHU1MUU1XCIsNSxcIlx1NTFFQ1x1NTFFRVx1NTFGMVx1NTFGMlx1NTFGNFx1NTFGN1x1NTFGRVx1NTIwNFx1NTIwNVx1NTIwOVx1NTIwQlx1NTIwQ1x1NTIwRlx1NTIxMFx1NTIxM1x1NTIxNFx1NTIxNVx1NTIxQ1x1NTIxRVx1NTIxRlx1NTIyMVx1NTIyMlx1NTIyM1x1NTIyNVx1NTIyNlx1NTIyN1x1NTIyQVx1NTIyQ1x1NTIyRlx1NTIzMVx1NTIzMlx1NTIzNFx1NTIzNVx1NTIzQ1x1NTIzRVx1NTI0NFwiLDUsXCJcdTUyNEJcdTUyNEVcdTUyNEZcdTUyNTJcdTUyNTNcdTUyNTVcdTUyNTdcdTUyNThcIl0sXG5bXCI4NDgwXCIsXCJcdTUyNTlcdTUyNUFcdTUyNUJcdTUyNURcdTUyNUZcdTUyNjBcdTUyNjJcdTUyNjNcdTUyNjRcdTUyNjZcdTUyNjhcdTUyNkJcdTUyNkNcdTUyNkRcdTUyNkVcdTUyNzBcdTUyNzFcdTUyNzNcIiw5LFwiXHU1MjdFXHU1MjgwXHU1MjgzXCIsNCxcIlx1NTI4OVwiLDYsXCJcdTUyOTFcdTUyOTJcdTUyOTRcIiw2LFwiXHU1MjlDXHU1MkE0XHU1MkE1XHU1MkE2XHU1MkE3XHU1MkFFXHU1MkFGXHU1MkIwXHU1MkI0XCIsOSxcIlx1NTJDMFx1NTJDMVx1NTJDMlx1NTJDNFx1NTJDNVx1NTJDNlx1NTJDOFx1NTJDQVx1NTJDQ1x1NTJDRFx1NTJDRVx1NTJDRlx1NTJEMVx1NTJEM1x1NTJENFx1NTJENVx1NTJEN1x1NTJEOVwiLDUsXCJcdTUyRTBcdTUyRTFcdTUyRTJcdTUyRTNcdTUyRTVcIiwxMCxcIlx1NTJGMVwiLDcsXCJcdTUyRkJcdTUyRkNcdTUyRkRcdTUzMDFcdTUzMDJcdTUzMDNcdTUzMDRcdTUzMDdcdTUzMDlcdTUzMEFcdTUzMEJcdTUzMENcdTUzMEVcIl0sXG5bXCI4NTQwXCIsXCJcdTUzMTFcdTUzMTJcdTUzMTNcdTUzMTRcdTUzMThcdTUzMUJcdTUzMUNcdTUzMUVcdTUzMUZcdTUzMjJcdTUzMjRcdTUzMjVcdTUzMjdcdTUzMjhcdTUzMjlcdTUzMkJcdTUzMkNcdTUzMkRcdTUzMkZcIiw5LFwiXHU1MzNDXHU1MzNEXHU1MzQwXHU1MzQyXHU1MzQ0XHU1MzQ2XHU1MzRCXHU1MzRDXHU1MzREXHU1MzUwXHU1MzU0XHU1MzU4XHU1MzU5XHU1MzVCXHU1MzVEXHU1MzY1XHU1MzY4XHU1MzZBXHU1MzZDXHU1MzZEXHU1MzcyXHU1Mzc2XHU1Mzc5XHU1MzdCXHU1MzdDXHU1MzdEXHU1MzdFXHU1MzgwXHU1MzgxXHU1MzgzXHU1Mzg3XHU1Mzg4XHU1MzhBXHU1MzhFXHU1MzhGXCJdLFxuW1wiODU4MFwiLFwiXHU1MzkwXCIsNCxcIlx1NTM5Nlx1NTM5N1x1NTM5OVx1NTM5Qlx1NTM5Q1x1NTM5RVx1NTNBMFx1NTNBMVx1NTNBNFx1NTNBN1x1NTNBQVx1NTNBQlx1NTNBQ1x1NTNBRFx1NTNBRlwiLDYsXCJcdTUzQjdcdTUzQjhcdTUzQjlcdTUzQkFcdTUzQkNcdTUzQkRcdTUzQkVcdTUzQzBcdTUzQzNcIiw0LFwiXHU1M0NFXHU1M0NGXHU1M0QwXHU1M0QyXHU1M0QzXHU1M0Q1XHU1M0RBXHU1M0RDXHU1M0REXHU1M0RFXHU1M0UxXHU1M0UyXHU1M0U3XHU1M0Y0XHU1M0ZBXHU1M0ZFXHU1M0ZGXHU1NDAwXHU1NDAyXHU1NDA1XHU1NDA3XHU1NDBCXHU1NDE0XHU1NDE4XHU1NDE5XHU1NDFBXHU1NDFDXHU1NDIyXHU1NDI0XHU1NDI1XHU1NDJBXHU1NDMwXHU1NDMzXHU1NDM2XHU1NDM3XHU1NDNBXHU1NDNEXHU1NDNGXHU1NDQxXHU1NDQyXHU1NDQ0XHU1NDQ1XHU1NDQ3XHU1NDQ5XHU1NDRDXHU1NDREXHU1NDRFXHU1NDRGXHU1NDUxXHU1NDVBXHU1NDVEXCIsNCxcIlx1NTQ2M1x1NTQ2NVx1NTQ2N1x1NTQ2OVwiLDcsXCJcdTU0NzRcdTU0NzlcdTU0N0FcdTU0N0VcdTU0N0ZcdTU0ODFcdTU0ODNcdTU0ODVcdTU0ODdcdTU0ODhcdTU0ODlcdTU0OEFcdTU0OERcdTU0OTFcdTU0OTNcdTU0OTdcdTU0OThcdTU0OUNcdTU0OUVcdTU0OUZcdTU0QTBcdTU0QTFcIl0sXG5bXCI4NjQwXCIsXCJcdTU0QTJcdTU0QTVcdTU0QUVcdTU0QjBcdTU0QjJcdTU0QjVcdTU0QjZcdTU0QjdcdTU0QjlcdTU0QkFcdTU0QkNcdTU0QkVcdTU0QzNcdTU0QzVcdTU0Q0FcdTU0Q0JcdTU0RDZcdTU0RDhcdTU0REJcdTU0RTBcIiw0LFwiXHU1NEVCXHU1NEVDXHU1NEVGXHU1NEYwXHU1NEYxXHU1NEY0XCIsNSxcIlx1NTRGQlx1NTRGRVx1NTUwMFx1NTUwMlx1NTUwM1x1NTUwNFx1NTUwNVx1NTUwOFx1NTUwQVwiLDQsXCJcdTU1MTJcdTU1MTNcdTU1MTVcIiw1LFwiXHU1NTFDXHU1NTFEXHU1NTFFXHU1NTFGXHU1NTIxXHU1NTI1XHU1NTI2XCJdLFxuW1wiODY4MFwiLFwiXHU1NTI4XHU1NTI5XHU1NTJCXHU1NTJEXHU1NTMyXHU1NTM0XHU1NTM1XHU1NTM2XHU1NTM4XHU1NTM5XHU1NTNBXHU1NTNCXHU1NTNEXHU1NTQwXHU1NTQyXHU1NTQ1XHU1NTQ3XHU1NTQ4XHU1NTRCXCIsNCxcIlx1NTU1MVx1NTU1Mlx1NTU1M1x1NTU1NFx1NTU1N1wiLDQsXCJcdTU1NURcdTU1NUVcdTU1NUZcdTU1NjBcdTU1NjJcdTU1NjNcdTU1NjhcdTU1NjlcdTU1NkJcdTU1NkZcIiw1LFwiXHU1NTc5XHU1NTdBXHU1NTdEXHU1NTdGXHU1NTg1XHU1NTg2XHU1NThDXHU1NThEXHU1NThFXHU1NTkwXHU1NTkyXHU1NTkzXHU1NTk1XHU1NTk2XHU1NTk3XHU1NTlBXHU1NTlCXHU1NTlFXHU1NUEwXCIsNixcIlx1NTVBOFwiLDgsXCJcdTU1QjJcdTU1QjRcdTU1QjZcdTU1QjhcdTU1QkFcdTU1QkNcdTU1QkZcIiw0LFwiXHU1NUM2XHU1NUM3XHU1NUM4XHU1NUNBXHU1NUNCXHU1NUNFXHU1NUNGXHU1NUQwXHU1NUQ1XHU1NUQ3XCIsNCxcIlx1NTVERVx1NTVFMFx1NTVFMlx1NTVFN1x1NTVFOVx1NTVFRFx1NTVFRVx1NTVGMFx1NTVGMVx1NTVGNFx1NTVGNlx1NTVGOFwiLDQsXCJcdTU1RkZcdTU2MDJcdTU2MDNcdTU2MDRcdTU2MDVcIl0sXG5bXCI4NzQwXCIsXCJcdTU2MDZcdTU2MDdcdTU2MEFcdTU2MEJcdTU2MERcdTU2MTBcIiw3LFwiXHU1NjE5XHU1NjFBXHU1NjFDXHU1NjFEXHU1NjIwXHU1NjIxXHU1NjIyXHU1NjI1XHU1NjI2XHU1NjI4XHU1NjI5XHU1NjJBXHU1NjJCXHU1NjJFXHU1NjJGXHU1NjMwXHU1NjMzXHU1NjM1XHU1NjM3XHU1NjM4XHU1NjNBXHU1NjNDXHU1NjNEXHU1NjNFXHU1NjQwXCIsMTEsXCJcdTU2NEZcIiw0LFwiXHU1NjU1XHU1NjU2XHU1NjVBXHU1NjVCXHU1NjVEXCIsNF0sXG5bXCI4NzgwXCIsXCJcdTU2NjNcdTU2NjVcdTU2NjZcdTU2NjdcdTU2NkRcdTU2NkVcdTU2NkZcdTU2NzBcdTU2NzJcdTU2NzNcdTU2NzRcdTU2NzVcdTU2NzdcdTU2NzhcdTU2NzlcdTU2N0FcdTU2N0RcIiw3LFwiXHU1Njg3XCIsNixcIlx1NTY5MFx1NTY5MVx1NTY5Mlx1NTY5NFwiLDE0LFwiXHU1NkE0XCIsMTAsXCJcdTU2QjBcIiw2LFwiXHU1NkI4XHU1NkI5XHU1NkJBXHU1NkJCXHU1NkJEXCIsMTIsXCJcdTU2Q0JcIiw4LFwiXHU1NkQ1XHU1NkQ2XHU1NkQ4XHU1NkQ5XHU1NkRDXHU1NkUzXHU1NkU1XCIsNSxcIlx1NTZFQ1x1NTZFRVx1NTZFRlx1NTZGMlx1NTZGM1x1NTZGNlx1NTZGN1x1NTZGOFx1NTZGQlx1NTZGQ1x1NTcwMFx1NTcwMVx1NTcwMlx1NTcwNVx1NTcwN1x1NTcwQlwiLDZdLFxuW1wiODg0MFwiLFwiXHU1NzEyXCIsOSxcIlx1NTcxRFx1NTcxRVx1NTcyMFx1NTcyMVx1NTcyMlx1NTcyNFx1NTcyNVx1NTcyNlx1NTcyN1x1NTcyQlx1NTczMVx1NTczMlx1NTczNFwiLDQsXCJcdTU3M0NcdTU3M0RcdTU3M0ZcdTU3NDFcdTU3NDNcdTU3NDRcdTU3NDVcdTU3NDZcdTU3NDhcdTU3NDlcdTU3NEJcdTU3NTJcIiw0LFwiXHU1NzU4XHU1NzU5XHU1NzYyXHU1NzYzXHU1NzY1XHU1NzY3XHU1NzZDXHU1NzZFXHU1NzcwXHU1NzcxXHU1NzcyXHU1Nzc0XHU1Nzc1XHU1Nzc4XHU1Nzc5XHU1NzdBXHU1NzdEXHU1NzdFXHU1NzdGXHU1NzgwXCJdLFxuW1wiODg4MFwiLFwiXHU1NzgxXHU1Nzg3XHU1Nzg4XHU1Nzg5XHU1NzhBXHU1NzhEXCIsNCxcIlx1NTc5NFwiLDYsXCJcdTU3OUNcdTU3OURcdTU3OUVcdTU3OUZcdTU3QTVcdTU3QThcdTU3QUFcdTU3QUNcdTU3QUZcdTU3QjBcdTU3QjFcdTU3QjNcdTU3QjVcdTU3QjZcdTU3QjdcdTU3QjlcIiw4LFwiXHU1N0M0XCIsNixcIlx1NTdDQ1x1NTdDRFx1NTdEMFx1NTdEMVx1NTdEM1x1NTdENlx1NTdEN1x1NTdEQlx1NTdEQ1x1NTdERVx1NTdFMVx1NTdFMlx1NTdFM1x1NTdFNVwiLDcsXCJcdTU3RUVcdTU3RjBcdTU3RjFcdTU3RjJcdTU3RjNcdTU3RjVcdTU3RjZcdTU3RjdcdTU3RkJcdTU3RkNcdTU3RkVcdTU3RkZcdTU4MDFcdTU4MDNcdTU4MDRcdTU4MDVcdTU4MDhcdTU4MDlcdTU4MEFcdTU4MENcdTU4MEVcdTU4MEZcdTU4MTBcdTU4MTJcdTU4MTNcdTU4MTRcdTU4MTZcdTU4MTdcdTU4MThcdTU4MUFcdTU4MUJcdTU4MUNcdTU4MURcdTU4MUZcdTU4MjJcdTU4MjNcdTU4MjVcIiw0LFwiXHU1ODJCXCIsNCxcIlx1NTgzMVx1NTgzMlx1NTgzM1x1NTgzNFx1NTgzNlwiLDddLFxuW1wiODk0MFwiLFwiXHU1ODNFXCIsNSxcIlx1NTg0NVwiLDYsXCJcdTU4NEVcdTU4NEZcdTU4NTBcdTU4NTJcdTU4NTNcdTU4NTVcdTU4NTZcdTU4NTdcdTU4NTlcIiw0LFwiXHU1ODVGXCIsNSxcIlx1NTg2NlwiLDQsXCJcdTU4NkRcIiwxNixcIlx1NTg3Rlx1NTg4Mlx1NTg4NFx1NTg4Nlx1NTg4N1x1NTg4OFx1NTg4QVx1NTg4Qlx1NTg4Q1wiXSxcbltcIjg5ODBcIixcIlx1NTg4RFwiLDQsXCJcdTU4OTRcIiw0LFwiXHU1ODlCXHU1ODlDXHU1ODlEXHU1OEEwXCIsNyxcIlx1NThBQVwiLDE3LFwiXHU1OEJEXHU1OEJFXHU1OEJGXHU1OEMwXHU1OEMyXHU1OEMzXHU1OEM0XHU1OEM2XCIsMTAsXCJcdTU4RDJcdTU4RDNcdTU4RDRcdTU4RDZcIiwxMyxcIlx1NThFNVwiLDUsXCJcdTU4RURcdTU4RUZcdTU4RjFcdTU4RjJcdTU4RjRcdTU4RjVcdTU4RjdcdTU4RjhcdTU4RkFcIiw3LFwiXHU1OTAzXHU1OTA1XHU1OTA2XHU1OTA4XCIsNCxcIlx1NTkwRVx1NTkxMFx1NTkxMVx1NTkxMlx1NTkxM1x1NTkxN1x1NTkxOFx1NTkxQlx1NTkxRFx1NTkxRVx1NTkyMFx1NTkyMVx1NTkyMlx1NTkyM1x1NTkyNlx1NTkyOFx1NTkyQ1x1NTkzMFx1NTkzMlx1NTkzM1x1NTkzNVx1NTkzNlx1NTkzQlwiXSxcbltcIjhhNDBcIixcIlx1NTkzRFx1NTkzRVx1NTkzRlx1NTk0MFx1NTk0M1x1NTk0NVx1NTk0Nlx1NTk0QVx1NTk0Q1x1NTk0RFx1NTk1MFx1NTk1Mlx1NTk1M1x1NTk1OVx1NTk1QlwiLDQsXCJcdTU5NjFcdTU5NjNcdTU5NjRcdTU5NjZcIiwxMixcIlx1NTk3NVx1NTk3N1x1NTk3QVx1NTk3Qlx1NTk3Q1x1NTk3RVx1NTk3Rlx1NTk4MFx1NTk4NVx1NTk4OVx1NTk4Qlx1NTk4Q1x1NTk4RVx1NTk4Rlx1NTk5MFx1NTk5MVx1NTk5NFx1NTk5NVx1NTk5OFx1NTk5QVx1NTk5Qlx1NTk5Q1x1NTk5RFx1NTk5Rlx1NTlBMFx1NTlBMVx1NTlBMlx1NTlBNlwiXSxcbltcIjhhODBcIixcIlx1NTlBN1x1NTlBQ1x1NTlBRFx1NTlCMFx1NTlCMVx1NTlCM1wiLDUsXCJcdTU5QkFcdTU5QkNcdTU5QkRcdTU5QkZcIiw2LFwiXHU1OUM3XHU1OUM4XHU1OUM5XHU1OUNDXHU1OUNEXHU1OUNFXHU1OUNGXHU1OUQ1XHU1OUQ2XHU1OUQ5XHU1OURCXHU1OURFXCIsNCxcIlx1NTlFNFx1NTlFNlx1NTlFN1x1NTlFOVx1NTlFQVx1NTlFQlx1NTlFRFwiLDExLFwiXHU1OUZBXHU1OUZDXHU1OUZEXHU1OUZFXHU1QTAwXHU1QTAyXHU1QTBBXHU1QTBCXHU1QTBEXHU1QTBFXHU1QTBGXHU1QTEwXHU1QTEyXHU1QTE0XHU1QTE1XHU1QTE2XHU1QTE3XHU1QTE5XHU1QTFBXHU1QTFCXHU1QTFEXHU1QTFFXHU1QTIxXHU1QTIyXHU1QTI0XHU1QTI2XHU1QTI3XHU1QTI4XHU1QTJBXCIsNixcIlx1NUEzM1x1NUEzNVx1NUEzN1wiLDQsXCJcdTVBM0RcdTVBM0VcdTVBM0ZcdTVBNDFcIiw0LFwiXHU1QTQ3XHU1QTQ4XHU1QTRCXCIsOSxcIlx1NUE1Nlx1NUE1N1x1NUE1OFx1NUE1OVx1NUE1QlwiLDVdLFxuW1wiOGI0MFwiLFwiXHU1QTYxXHU1QTYzXHU1QTY0XHU1QTY1XHU1QTY2XHU1QTY4XHU1QTY5XHU1QTZCXCIsOCxcIlx1NUE3OFx1NUE3OVx1NUE3Qlx1NUE3Q1x1NUE3RFx1NUE3RVx1NUE4MFwiLDE3LFwiXHU1QTkzXCIsNixcIlx1NUE5Q1wiLDEzLFwiXHU1QUFCXHU1QUFDXCJdLFxuW1wiOGI4MFwiLFwiXHU1QUFEXCIsNCxcIlx1NUFCNFx1NUFCNlx1NUFCN1x1NUFCOVwiLDQsXCJcdTVBQkZcdTVBQzBcdTVBQzNcIiw1LFwiXHU1QUNBXHU1QUNCXHU1QUNEXCIsNCxcIlx1NUFEM1x1NUFENVx1NUFEN1x1NUFEOVx1NUFEQVx1NUFEQlx1NUFERFx1NUFERVx1NUFERlx1NUFFMlx1NUFFNFx1NUFFNVx1NUFFN1x1NUFFOFx1NUFFQVx1NUFFQ1wiLDQsXCJcdTVBRjJcIiwyMixcIlx1NUIwQVwiLDExLFwiXHU1QjE4XCIsMjUsXCJcdTVCMzNcdTVCMzVcdTVCMzZcdTVCMzhcIiw3LFwiXHU1QjQxXCIsNl0sXG5bXCI4YzQwXCIsXCJcdTVCNDhcIiw3LFwiXHU1QjUyXHU1QjU2XHU1QjVFXHU1QjYwXHU1QjYxXHU1QjY3XHU1QjY4XHU1QjZCXHU1QjZEXHU1QjZFXHU1QjZGXHU1QjcyXHU1Qjc0XHU1Qjc2XHU1Qjc3XHU1Qjc4XHU1Qjc5XHU1QjdCXHU1QjdDXHU1QjdFXHU1QjdGXHU1QjgyXHU1Qjg2XHU1QjhBXHU1QjhEXHU1QjhFXHU1QjkwXHU1QjkxXHU1QjkyXHU1Qjk0XHU1Qjk2XHU1QjlGXHU1QkE3XHU1QkE4XHU1QkE5XHU1QkFDXHU1QkFEXHU1QkFFXHU1QkFGXHU1QkIxXHU1QkIyXHU1QkI3XHU1QkJBXHU1QkJCXHU1QkJDXHU1QkMwXHU1QkMxXHU1QkMzXHU1QkM4XHU1QkM5XHU1QkNBXHU1QkNCXHU1QkNEXHU1QkNFXHU1QkNGXCJdLFxuW1wiOGM4MFwiLFwiXHU1QkQxXHU1QkQ0XCIsOCxcIlx1NUJFMFx1NUJFMlx1NUJFM1x1NUJFNlx1NUJFN1x1NUJFOVwiLDQsXCJcdTVCRUZcdTVCRjFcIiw2LFwiXHU1QkZEXHU1QkZFXHU1QzAwXHU1QzAyXHU1QzAzXHU1QzA1XHU1QzA3XHU1QzA4XHU1QzBCXHU1QzBDXHU1QzBEXHU1QzBFXHU1QzEwXHU1QzEyXHU1QzEzXHU1QzE3XHU1QzE5XHU1QzFCXHU1QzFFXHU1QzFGXHU1QzIwXHU1QzIxXHU1QzIzXHU1QzI2XHU1QzI4XHU1QzI5XHU1QzJBXHU1QzJCXHU1QzJEXHU1QzJFXHU1QzJGXHU1QzMwXHU1QzMyXHU1QzMzXHU1QzM1XHU1QzM2XHU1QzM3XHU1QzQzXHU1QzQ0XHU1QzQ2XHU1QzQ3XHU1QzRDXHU1QzREXHU1QzUyXHU1QzUzXHU1QzU0XHU1QzU2XHU1QzU3XHU1QzU4XHU1QzVBXHU1QzVCXHU1QzVDXHU1QzVEXHU1QzVGXHU1QzYyXHU1QzY0XHU1QzY3XCIsNixcIlx1NUM3MFx1NUM3MlwiLDYsXCJcdTVDN0JcdTVDN0NcdTVDN0RcdTVDN0VcdTVDODBcdTVDODNcIiw0LFwiXHU1Qzg5XHU1QzhBXHU1QzhCXHU1QzhFXHU1QzhGXHU1QzkyXHU1QzkzXHU1Qzk1XHU1QzlEXCIsNCxcIlx1NUNBNFwiLDRdLFxuW1wiOGQ0MFwiLFwiXHU1Q0FBXHU1Q0FFXHU1Q0FGXHU1Q0IwXHU1Q0IyXHU1Q0I0XHU1Q0I2XHU1Q0I5XHU1Q0JBXHU1Q0JCXHU1Q0JDXHU1Q0JFXHU1Q0MwXHU1Q0MyXHU1Q0MzXHU1Q0M1XCIsNSxcIlx1NUNDQ1wiLDUsXCJcdTVDRDNcIiw1LFwiXHU1Q0RBXCIsNixcIlx1NUNFMlx1NUNFM1x1NUNFN1x1NUNFOVx1NUNFQlx1NUNFQ1x1NUNFRVx1NUNFRlx1NUNGMVwiLDksXCJcdTVDRkNcIiw0XSxcbltcIjhkODBcIixcIlx1NUQwMVx1NUQwNFx1NUQwNVx1NUQwOFwiLDUsXCJcdTVEMEZcIiw0LFwiXHU1RDE1XHU1RDE3XHU1RDE4XHU1RDE5XHU1RDFBXHU1RDFDXHU1RDFEXHU1RDFGXCIsNCxcIlx1NUQyNVx1NUQyOFx1NUQyQVx1NUQyQlx1NUQyQ1x1NUQyRlwiLDQsXCJcdTVEMzVcIiw3LFwiXHU1RDNGXCIsNyxcIlx1NUQ0OFx1NUQ0OVx1NUQ0RFwiLDEwLFwiXHU1RDU5XHU1RDVBXHU1RDVDXHU1RDVFXCIsMTAsXCJcdTVENkFcdTVENkRcdTVENkVcdTVENzBcdTVENzFcdTVENzJcdTVENzNcdTVENzVcIiwxMixcIlx1NUQ4M1wiLDIxLFwiXHU1RDlBXHU1RDlCXHU1RDlDXHU1RDlFXHU1RDlGXHU1REEwXCJdLFxuW1wiOGU0MFwiLFwiXHU1REExXCIsMjEsXCJcdTVEQjhcIiwxMixcIlx1NURDNlwiLDYsXCJcdTVEQ0VcIiwxMixcIlx1NUREQ1x1NURERlx1NURFMFx1NURFM1x1NURFNFx1NURFQVx1NURFQ1x1NURFRFwiXSxcbltcIjhlODBcIixcIlx1NURGMFx1NURGNVx1NURGNlx1NURGOFwiLDQsXCJcdTVERkZcdTVFMDBcdTVFMDRcdTVFMDdcdTVFMDlcdTVFMEFcdTVFMEJcdTVFMERcdTVFMEVcdTVFMTJcdTVFMTNcdTVFMTdcdTVFMUVcIiw3LFwiXHU1RTI4XCIsNCxcIlx1NUUyRlx1NUUzMFx1NUUzMlwiLDQsXCJcdTVFMzlcdTVFM0FcdTVFM0VcdTVFM0ZcdTVFNDBcdTVFNDFcdTVFNDNcdTVFNDZcIiw1LFwiXHU1RTREXCIsNixcIlx1NUU1NlwiLDQsXCJcdTVFNUNcdTVFNURcdTVFNUZcdTVFNjBcdTVFNjNcIiwxNCxcIlx1NUU3NVx1NUU3N1x1NUU3OVx1NUU3RVx1NUU4MVx1NUU4Mlx1NUU4M1x1NUU4NVx1NUU4OFx1NUU4OVx1NUU4Q1x1NUU4RFx1NUU4RVx1NUU5Mlx1NUU5OFx1NUU5Qlx1NUU5RFx1NUVBMVx1NUVBMlx1NUVBM1x1NUVBNFx1NUVBOFwiLDQsXCJcdTVFQUVcIiw0LFwiXHU1RUI0XHU1RUJBXHU1RUJCXHU1RUJDXHU1RUJEXHU1RUJGXCIsNl0sXG5bXCI4ZjQwXCIsXCJcdTVFQzZcdTVFQzdcdTVFQzhcdTVFQ0JcIiw1LFwiXHU1RUQ0XHU1RUQ1XHU1RUQ3XHU1RUQ4XHU1RUQ5XHU1RURBXHU1RURDXCIsMTEsXCJcdTVFRTlcdTVFRUJcIiw4LFwiXHU1RUY1XHU1RUY4XHU1RUY5XHU1RUZCXHU1RUZDXHU1RUZEXHU1RjA1XHU1RjA2XHU1RjA3XHU1RjA5XHU1RjBDXHU1RjBEXHU1RjBFXHU1RjEwXHU1RjEyXHU1RjE0XHU1RjE2XHU1RjE5XHU1RjFBXHU1RjFDXHU1RjFEXHU1RjFFXHU1RjIxXHU1RjIyXHU1RjIzXHU1RjI0XCJdLFxuW1wiOGY4MFwiLFwiXHU1RjI4XHU1RjJCXHU1RjJDXHU1RjJFXHU1RjMwXHU1RjMyXCIsNixcIlx1NUYzQlx1NUYzRFx1NUYzRVx1NUYzRlx1NUY0MVwiLDE0LFwiXHU1RjUxXHU1RjU0XHU1RjU5XHU1RjVBXHU1RjVCXHU1RjVDXHU1RjVFXHU1RjVGXHU1RjYwXHU1RjYzXHU1RjY1XHU1RjY3XHU1RjY4XHU1RjZCXHU1RjZFXHU1RjZGXHU1RjcyXHU1Rjc0XHU1Rjc1XHU1Rjc2XHU1Rjc4XHU1RjdBXHU1RjdEXHU1RjdFXHU1RjdGXHU1RjgzXHU1Rjg2XHU1RjhEXHU1RjhFXHU1RjhGXHU1RjkxXHU1RjkzXHU1Rjk0XHU1Rjk2XHU1RjlBXHU1RjlCXHU1RjlEXHU1RjlFXHU1RjlGXHU1RkEwXHU1RkEyXCIsNSxcIlx1NUZBOVx1NUZBQlx1NUZBQ1x1NUZBRlwiLDUsXCJcdTVGQjZcdTVGQjhcdTVGQjlcdTVGQkFcdTVGQkJcdTVGQkVcIiw0LFwiXHU1RkM3XHU1RkM4XHU1RkNBXHU1RkNCXHU1RkNFXHU1RkQzXHU1RkQ0XHU1RkQ1XHU1RkRBXHU1RkRCXHU1RkRDXHU1RkRFXHU1RkRGXHU1RkUyXHU1RkUzXHU1RkU1XHU1RkU2XHU1RkU4XHU1RkU5XHU1RkVDXHU1RkVGXHU1RkYwXHU1RkYyXHU1RkYzXHU1RkY0XHU1RkY2XHU1RkY3XHU1RkY5XHU1RkZBXHU1RkZDXHU2MDA3XCJdLFxuW1wiOTA0MFwiLFwiXHU2MDA4XHU2MDA5XHU2MDBCXHU2MDBDXHU2MDEwXHU2MDExXHU2MDEzXHU2MDE3XHU2MDE4XHU2MDFBXHU2MDFFXHU2MDFGXHU2MDIyXHU2MDIzXHU2MDI0XHU2MDJDXHU2MDJEXHU2MDJFXHU2MDMwXCIsNCxcIlx1NjAzNlwiLDQsXCJcdTYwM0RcdTYwM0VcdTYwNDBcdTYwNDRcIiw2LFwiXHU2MDRDXHU2MDRFXHU2MDRGXHU2MDUxXHU2MDUzXHU2MDU0XHU2MDU2XHU2MDU3XHU2MDU4XHU2MDVCXHU2MDVDXHU2MDVFXHU2MDVGXHU2MDYwXHU2MDYxXHU2MDY1XHU2MDY2XHU2MDZFXHU2MDcxXHU2MDcyXHU2MDc0XHU2MDc1XHU2MDc3XHU2MDdFXHU2MDgwXCJdLFxuW1wiOTA4MFwiLFwiXHU2MDgxXHU2MDgyXHU2MDg1XHU2MDg2XHU2MDg3XHU2MDg4XHU2MDhBXHU2MDhCXHU2MDhFXHU2MDhGXHU2MDkwXHU2MDkxXHU2MDkzXHU2MDk1XHU2MDk3XHU2MDk4XHU2MDk5XHU2MDlDXHU2MDlFXHU2MEExXHU2MEEyXHU2MEE0XHU2MEE1XHU2MEE3XHU2MEE5XHU2MEFBXHU2MEFFXHU2MEIwXHU2MEIzXHU2MEI1XHU2MEI2XHU2MEI3XHU2MEI5XHU2MEJBXHU2MEJEXCIsNyxcIlx1NjBDN1x1NjBDOFx1NjBDOVx1NjBDQ1wiLDQsXCJcdTYwRDJcdTYwRDNcdTYwRDRcdTYwRDZcdTYwRDdcdTYwRDlcdTYwREJcdTYwREVcdTYwRTFcIiw0LFwiXHU2MEVBXHU2MEYxXHU2MEYyXHU2MEY1XHU2MEY3XHU2MEY4XHU2MEZCXCIsNCxcIlx1NjEwMlx1NjEwM1x1NjEwNFx1NjEwNVx1NjEwN1x1NjEwQVx1NjEwQlx1NjEwQ1x1NjExMFwiLDQsXCJcdTYxMTZcdTYxMTdcdTYxMThcdTYxMTlcdTYxMUJcdTYxMUNcdTYxMURcdTYxMUVcdTYxMjFcdTYxMjJcdTYxMjVcdTYxMjhcdTYxMjlcdTYxMkFcdTYxMkNcIiwxOCxcIlx1NjE0MFwiLDZdLFxuW1wiOTE0MFwiLFwiXHU2MTQ3XHU2MTQ5XHU2MTRCXHU2MTREXHU2MTRGXHU2MTUwXHU2MTUyXHU2MTUzXHU2MTU0XHU2MTU2XCIsNixcIlx1NjE1RVx1NjE1Rlx1NjE2MFx1NjE2MVx1NjE2M1x1NjE2NFx1NjE2NVx1NjE2Nlx1NjE2OVwiLDYsXCJcdTYxNzFcdTYxNzJcdTYxNzNcdTYxNzRcdTYxNzZcdTYxNzhcIiwxOCxcIlx1NjE4Q1x1NjE4RFx1NjE4RlwiLDQsXCJcdTYxOTVcIl0sXG5bXCI5MTgwXCIsXCJcdTYxOTZcIiw2LFwiXHU2MTlFXCIsOCxcIlx1NjFBQVx1NjFBQlx1NjFBRFwiLDksXCJcdTYxQjhcIiw1LFwiXHU2MUJGXHU2MUMwXHU2MUMxXHU2MUMzXCIsNCxcIlx1NjFDOVx1NjFDQ1wiLDQsXCJcdTYxRDNcdTYxRDVcIiwxNixcIlx1NjFFN1wiLDEzLFwiXHU2MUY2XCIsOCxcIlx1NjIwMFwiLDUsXCJcdTYyMDdcdTYyMDlcdTYyMTNcdTYyMTRcdTYyMTlcdTYyMUNcdTYyMURcdTYyMUVcdTYyMjBcdTYyMjNcdTYyMjZcdTYyMjdcdTYyMjhcdTYyMjlcdTYyMkJcdTYyMkRcdTYyMkZcdTYyMzBcdTYyMzFcdTYyMzJcdTYyMzVcdTYyMzZcdTYyMzhcIiw0LFwiXHU2MjQyXHU2MjQ0XHU2MjQ1XHU2MjQ2XHU2MjRBXCJdLFxuW1wiOTI0MFwiLFwiXHU2MjRGXHU2MjUwXHU2MjU1XHU2MjU2XHU2MjU3XHU2MjU5XHU2MjVBXHU2MjVDXCIsNixcIlx1NjI2NFx1NjI2NVx1NjI2OFx1NjI3MVx1NjI3Mlx1NjI3NFx1NjI3NVx1NjI3N1x1NjI3OFx1NjI3QVx1NjI3Qlx1NjI3RFx1NjI4MVx1NjI4Mlx1NjI4M1x1NjI4NVx1NjI4Nlx1NjI4N1x1NjI4OFx1NjI4QlwiLDUsXCJcdTYyOTRcdTYyOTlcdTYyOUNcdTYyOURcdTYyOUVcdTYyQTNcdTYyQTZcdTYyQTdcdTYyQTlcdTYyQUFcdTYyQURcdTYyQUVcdTYyQUZcdTYyQjBcdTYyQjJcdTYyQjNcdTYyQjRcdTYyQjZcdTYyQjdcdTYyQjhcdTYyQkFcdTYyQkVcdTYyQzBcdTYyQzFcIl0sXG5bXCI5MjgwXCIsXCJcdTYyQzNcdTYyQ0JcdTYyQ0ZcdTYyRDFcdTYyRDVcdTYyRERcdTYyREVcdTYyRTBcdTYyRTFcdTYyRTRcdTYyRUFcdTYyRUJcdTYyRjBcdTYyRjJcdTYyRjVcdTYyRjhcdTYyRjlcdTYyRkFcdTYyRkJcdTYzMDBcdTYzMDNcdTYzMDRcdTYzMDVcdTYzMDZcdTYzMEFcdTYzMEJcdTYzMENcdTYzMERcdTYzMEZcdTYzMTBcdTYzMTJcdTYzMTNcdTYzMTRcdTYzMTVcdTYzMTdcdTYzMThcdTYzMTlcdTYzMUNcdTYzMjZcdTYzMjdcdTYzMjlcdTYzMkNcdTYzMkRcdTYzMkVcdTYzMzBcdTYzMzFcdTYzMzNcIiw1LFwiXHU2MzNCXHU2MzNDXHU2MzNFXHU2MzNGXHU2MzQwXHU2MzQxXHU2MzQ0XHU2MzQ3XHU2MzQ4XHU2MzRBXHU2MzUxXHU2MzUyXHU2MzUzXHU2MzU0XHU2MzU2XCIsNyxcIlx1NjM2MFx1NjM2NFx1NjM2NVx1NjM2Nlx1NjM2OFx1NjM2QVx1NjM2Qlx1NjM2Q1x1NjM2Rlx1NjM3MFx1NjM3Mlx1NjM3M1x1NjM3NFx1NjM3NVx1NjM3OFx1NjM3OVx1NjM3Q1x1NjM3RFx1NjM3RVx1NjM3Rlx1NjM4MVx1NjM4M1x1NjM4NFx1NjM4NVx1NjM4Nlx1NjM4Qlx1NjM4RFx1NjM5MVx1NjM5M1x1NjM5NFx1NjM5NVx1NjM5N1x1NjM5OVwiLDYsXCJcdTYzQTFcdTYzQTRcdTYzQTZcdTYzQUJcdTYzQUZcdTYzQjFcdTYzQjJcdTYzQjVcdTYzQjZcdTYzQjlcdTYzQkJcdTYzQkRcdTYzQkZcdTYzQzBcIl0sXG5bXCI5MzQwXCIsXCJcdTYzQzFcdTYzQzJcdTYzQzNcdTYzQzVcdTYzQzdcdTYzQzhcdTYzQ0FcdTYzQ0JcdTYzQ0NcdTYzRDFcdTYzRDNcdTYzRDRcdTYzRDVcdTYzRDdcIiw2LFwiXHU2M0RGXHU2M0UyXHU2M0U0XCIsNCxcIlx1NjNFQlx1NjNFQ1x1NjNFRVx1NjNFRlx1NjNGMFx1NjNGMVx1NjNGM1x1NjNGNVx1NjNGN1x1NjNGOVx1NjNGQVx1NjNGQlx1NjNGQ1x1NjNGRVx1NjQwM1x1NjQwNFx1NjQwNlwiLDQsXCJcdTY0MERcdTY0MEVcdTY0MTFcdTY0MTJcdTY0MTVcIiw1LFwiXHU2NDFEXHU2NDFGXHU2NDIyXHU2NDIzXHU2NDI0XCJdLFxuW1wiOTM4MFwiLFwiXHU2NDI1XHU2NDI3XHU2NDI4XHU2NDI5XHU2NDJCXHU2NDJFXCIsNSxcIlx1NjQzNVwiLDQsXCJcdTY0M0JcdTY0M0NcdTY0M0VcdTY0NDBcdTY0NDJcdTY0NDNcdTY0NDlcdTY0NEJcIiw2LFwiXHU2NDUzXHU2NDU1XHU2NDU2XHU2NDU3XHU2NDU5XCIsNCxcIlx1NjQ1RlwiLDcsXCJcdTY0NjhcdTY0NkFcdTY0NkJcdTY0NkNcdTY0NkVcIiw5LFwiXHU2NDdCXCIsNixcIlx1NjQ4M1x1NjQ4Nlx1NjQ4OFwiLDgsXCJcdTY0OTNcdTY0OTRcdTY0OTdcdTY0OThcdTY0OUFcdTY0OUJcdTY0OUNcdTY0OURcdTY0OUZcIiw0LFwiXHU2NEE1XHU2NEE2XHU2NEE3XHU2NEE4XHU2NEFBXHU2NEFCXHU2NEFGXHU2NEIxXHU2NEIyXHU2NEIzXHU2NEI0XHU2NEI2XHU2NEI5XHU2NEJCXHU2NEJEXHU2NEJFXHU2NEJGXHU2NEMxXHU2NEMzXHU2NEM0XHU2NEM2XCIsNixcIlx1NjRDRlx1NjREMVx1NjREM1x1NjRENFx1NjRENVx1NjRENlx1NjREOVx1NjREQVwiXSxcbltcIjk0NDBcIixcIlx1NjREQlx1NjREQ1x1NjRERFx1NjRERlx1NjRFMFx1NjRFMVx1NjRFM1x1NjRFNVx1NjRFN1wiLDI0LFwiXHU2NTAxXCIsNyxcIlx1NjUwQVwiLDcsXCJcdTY1MTNcIiw0LFwiXHU2NTE5XCIsOF0sXG5bXCI5NDgwXCIsXCJcdTY1MjJcdTY1MjNcdTY1MjRcdTY1MjZcIiw0LFwiXHU2NTJDXHU2NTJEXHU2NTMwXHU2NTMxXHU2NTMyXHU2NTMzXHU2NTM3XHU2NTNBXHU2NTNDXHU2NTNEXHU2NTQwXCIsNCxcIlx1NjU0Nlx1NjU0N1x1NjU0QVx1NjU0Qlx1NjU0RFx1NjU0RVx1NjU1MFx1NjU1Mlx1NjU1M1x1NjU1NFx1NjU1N1x1NjU1OFx1NjU1QVx1NjU1Q1x1NjU1Rlx1NjU2MFx1NjU2MVx1NjU2NFx1NjU2NVx1NjU2N1x1NjU2OFx1NjU2OVx1NjU2QVx1NjU2RFx1NjU2RVx1NjU2Rlx1NjU3MVx1NjU3M1x1NjU3NVx1NjU3Nlx1NjU3OFwiLDE0LFwiXHU2NTg4XHU2NTg5XHU2NThBXHU2NThEXHU2NThFXHU2NThGXHU2NTkyXHU2NTk0XHU2NTk1XHU2NTk2XHU2NTk4XHU2NTlBXHU2NTlEXHU2NTlFXHU2NUEwXHU2NUEyXHU2NUEzXHU2NUE2XHU2NUE4XHU2NUFBXHU2NUFDXHU2NUFFXHU2NUIxXCIsNyxcIlx1NjVCQVx1NjVCQlx1NjVCRVx1NjVCRlx1NjVDMFx1NjVDMlx1NjVDN1x1NjVDOFx1NjVDOVx1NjVDQVx1NjVDRFx1NjVEMFx1NjVEMVx1NjVEM1x1NjVENFx1NjVENVx1NjVEOFwiLDcsXCJcdTY1RTFcdTY1RTNcdTY1RTRcdTY1RUFcdTY1RUJcIl0sXG5bXCI5NTQwXCIsXCJcdTY1RjJcdTY1RjNcdTY1RjRcdTY1RjVcdTY1RjhcdTY1RjlcdTY1RkJcIiw0LFwiXHU2NjAxXHU2NjA0XHU2NjA1XHU2NjA3XHU2NjA4XHU2NjA5XHU2NjBCXHU2NjBEXHU2NjEwXHU2NjExXHU2NjEyXHU2NjE2XHU2NjE3XHU2NjE4XHU2NjFBXHU2NjFCXHU2NjFDXHU2NjFFXHU2NjIxXHU2NjIyXHU2NjIzXHU2NjI0XHU2NjI2XHU2NjI5XHU2NjJBXHU2NjJCXHU2NjJDXHU2NjJFXHU2NjMwXHU2NjMyXHU2NjMzXHU2NjM3XCIsNCxcIlx1NjYzRFx1NjYzRlx1NjY0MFx1NjY0Mlx1NjY0NFwiLDYsXCJcdTY2NERcdTY2NEVcdTY2NTBcdTY2NTFcdTY2NThcIl0sXG5bXCI5NTgwXCIsXCJcdTY2NTlcdTY2NUJcdTY2NUNcdTY2NURcdTY2NUVcdTY2NjBcdTY2NjJcdTY2NjNcdTY2NjVcdTY2NjdcdTY2NjlcIiw0LFwiXHU2NjcxXHU2NjcyXHU2NjczXHU2Njc1XHU2Njc4XHU2Njc5XHU2NjdCXHU2NjdDXHU2NjdEXHU2NjdGXHU2NjgwXHU2NjgxXHU2NjgzXHU2Njg1XHU2Njg2XHU2Njg4XHU2Njg5XHU2NjhBXHU2NjhCXHU2NjhEXHU2NjhFXHU2NjhGXHU2NjkwXHU2NjkyXHU2NjkzXHU2Njk0XHU2Njk1XHU2Njk4XCIsNCxcIlx1NjY5RVwiLDgsXCJcdTY2QTlcIiw0LFwiXHU2NkFGXCIsNCxcIlx1NjZCNVx1NjZCNlx1NjZCN1x1NjZCOFx1NjZCQVx1NjZCQlx1NjZCQ1x1NjZCRFx1NjZCRlwiLDI1LFwiXHU2NkRBXHU2NkRFXCIsNyxcIlx1NjZFN1x1NjZFOFx1NjZFQVwiLDUsXCJcdTY2RjFcdTY2RjVcdTY2RjZcdTY2RjhcdTY2RkFcdTY2RkJcdTY2RkRcdTY3MDFcdTY3MDJcdTY3MDNcIl0sXG5bXCI5NjQwXCIsXCJcdTY3MDRcdTY3MDVcdTY3MDZcdTY3MDdcdTY3MENcdTY3MEVcdTY3MEZcdTY3MTFcdTY3MTJcdTY3MTNcdTY3MTZcdTY3MThcdTY3MTlcdTY3MUFcdTY3MUNcdTY3MUVcdTY3MjBcIiw1LFwiXHU2NzI3XHU2NzI5XHU2NzJFXHU2NzMwXHU2NzMyXHU2NzMzXHU2NzM2XHU2NzM3XHU2NzM4XHU2NzM5XHU2NzNCXHU2NzNDXHU2NzNFXHU2NzNGXHU2NzQxXHU2NzQ0XHU2NzQ1XHU2NzQ3XHU2NzRBXHU2NzRCXHU2NzREXHU2NzUyXHU2NzU0XHU2NzU1XHU2NzU3XCIsNCxcIlx1Njc1RFx1Njc2Mlx1Njc2M1x1Njc2NFx1Njc2Nlx1Njc2N1x1Njc2Qlx1Njc2Q1x1Njc2RVx1Njc3MVx1Njc3NFx1Njc3NlwiXSxcbltcIjk2ODBcIixcIlx1Njc3OFx1Njc3OVx1Njc3QVx1Njc3Qlx1Njc3RFx1Njc4MFx1Njc4Mlx1Njc4M1x1Njc4NVx1Njc4Nlx1Njc4OFx1Njc4QVx1Njc4Q1x1Njc4RFx1Njc4RVx1Njc4Rlx1Njc5MVx1Njc5Mlx1Njc5M1x1Njc5NFx1Njc5Nlx1Njc5OVx1Njc5Qlx1Njc5Rlx1NjdBMFx1NjdBMVx1NjdBNFx1NjdBNlx1NjdBOVx1NjdBQ1x1NjdBRVx1NjdCMVx1NjdCMlx1NjdCNFx1NjdCOVwiLDcsXCJcdTY3QzJcdTY3QzVcIiw5LFwiXHU2N0Q1XHU2N0Q2XHU2N0Q3XHU2N0RCXHU2N0RGXHU2N0UxXHU2N0UzXHU2N0U0XHU2N0U2XHU2N0U3XHU2N0U4XHU2N0VBXHU2N0VCXHU2N0VEXHU2N0VFXHU2N0YyXHU2N0Y1XCIsNyxcIlx1NjdGRVx1NjgwMVx1NjgwMlx1NjgwM1x1NjgwNFx1NjgwNlx1NjgwRFx1NjgxMFx1NjgxMlx1NjgxNFx1NjgxNVx1NjgxOFwiLDQsXCJcdTY4MUVcdTY4MUZcdTY4MjBcdTY4MjJcIiw2LFwiXHU2ODJCXCIsNixcIlx1NjgzNFx1NjgzNVx1NjgzNlx1NjgzQVx1NjgzQlx1NjgzRlx1Njg0N1x1Njg0Qlx1Njg0RFx1Njg0Rlx1Njg1Mlx1Njg1NlwiLDVdLFxuW1wiOTc0MFwiLFwiXHU2ODVDXHU2ODVEXHU2ODVFXHU2ODVGXHU2ODZBXHU2ODZDXCIsNyxcIlx1Njg3NVx1Njg3OFwiLDgsXCJcdTY4ODJcdTY4ODRcdTY4ODdcIiw3LFwiXHU2ODkwXHU2ODkxXHU2ODkyXHU2ODk0XHU2ODk1XHU2ODk2XHU2ODk4XCIsOSxcIlx1NjhBM1x1NjhBNFx1NjhBNVx1NjhBOVx1NjhBQVx1NjhBQlx1NjhBQ1x1NjhBRVx1NjhCMVx1NjhCMlx1NjhCNFx1NjhCNlx1NjhCN1x1NjhCOFwiXSxcbltcIjk3ODBcIixcIlx1NjhCOVwiLDYsXCJcdTY4QzFcdTY4QzNcIiw1LFwiXHU2OENBXHU2OENDXHU2OENFXHU2OENGXHU2OEQwXHU2OEQxXHU2OEQzXHU2OEQ0XHU2OEQ2XHU2OEQ3XHU2OEQ5XHU2OERCXCIsNCxcIlx1NjhFMVx1NjhFMlx1NjhFNFwiLDksXCJcdTY4RUZcdTY4RjJcdTY4RjNcdTY4RjRcdTY4RjZcdTY4RjdcdTY4RjhcdTY4RkJcdTY4RkRcdTY4RkVcdTY4RkZcdTY5MDBcdTY5MDJcdTY5MDNcdTY5MDRcdTY5MDZcIiw0LFwiXHU2OTBDXHU2OTBGXHU2OTExXHU2OTEzXCIsMTEsXCJcdTY5MjFcdTY5MjJcdTY5MjNcdTY5MjVcIiw3LFwiXHU2OTJFXHU2OTJGXHU2OTMxXHU2OTMyXHU2OTMzXHU2OTM1XHU2OTM2XHU2OTM3XHU2OTM4XHU2OTNBXHU2OTNCXHU2OTNDXHU2OTNFXHU2OTQwXHU2OTQxXHU2OTQzXCIsMTYsXCJcdTY5NTVcdTY5NTZcdTY5NThcdTY5NTlcdTY5NUJcdTY5NUNcdTY5NUZcIl0sXG5bXCI5ODQwXCIsXCJcdTY5NjFcdTY5NjJcdTY5NjRcdTY5NjVcdTY5NjdcdTY5NjhcdTY5NjlcdTY5NkFcdTY5NkNcdTY5NkRcdTY5NkZcdTY5NzBcdTY5NzJcIiw0LFwiXHU2OTdBXHU2OTdCXHU2OTdEXHU2OTdFXHU2OTdGXHU2OTgxXHU2OTgzXHU2OTg1XHU2OThBXHU2OThCXHU2OThDXHU2OThFXCIsNSxcIlx1Njk5Nlx1Njk5N1x1Njk5OVx1Njk5QVx1Njk5RFwiLDksXCJcdTY5QTlcdTY5QUFcdTY5QUNcdTY5QUVcdTY5QUZcdTY5QjBcdTY5QjJcdTY5QjNcdTY5QjVcdTY5QjZcdTY5QjhcdTY5QjlcdTY5QkFcdTY5QkNcdTY5QkRcIl0sXG5bXCI5ODgwXCIsXCJcdTY5QkVcdTY5QkZcdTY5QzBcdTY5QzJcIiw3LFwiXHU2OUNCXHU2OUNEXHU2OUNGXHU2OUQxXHU2OUQyXHU2OUQzXHU2OUQ1XCIsNSxcIlx1NjlEQ1x1NjlERFx1NjlERVx1NjlFMVwiLDExLFwiXHU2OUVFXHU2OUVGXHU2OUYwXHU2OUYxXHU2OUYzXCIsOSxcIlx1NjlGRVx1NkEwMFwiLDksXCJcdTZBMEJcIiwxMSxcIlx1NkExOVwiLDUsXCJcdTZBMjBcdTZBMjJcIiw1LFwiXHU2QTI5XHU2QTJCXHU2QTJDXHU2QTJEXHU2QTJFXHU2QTMwXHU2QTMyXHU2QTMzXHU2QTM0XHU2QTM2XCIsNixcIlx1NkEzRlwiLDQsXCJcdTZBNDVcdTZBNDZcdTZBNDhcIiw3LFwiXHU2QTUxXCIsNixcIlx1NkE1QVwiXSxcbltcIjk5NDBcIixcIlx1NkE1Q1wiLDQsXCJcdTZBNjJcdTZBNjNcdTZBNjRcdTZBNjZcIiwxMCxcIlx1NkE3MlwiLDYsXCJcdTZBN0FcdTZBN0JcdTZBN0RcdTZBN0VcdTZBN0ZcdTZBODFcdTZBODJcdTZBODNcdTZBODVcIiw4LFwiXHU2QThGXHU2QTkyXCIsNCxcIlx1NkE5OFwiLDcsXCJcdTZBQTFcIiw1XSxcbltcIjk5ODBcIixcIlx1NkFBN1x1NkFBOFx1NkFBQVx1NkFBRFwiLDExNCxcIlx1NkIyNVx1NkIyNlx1NkIyOFwiLDZdLFxuW1wiOWE0MFwiLFwiXHU2QjJGXHU2QjMwXHU2QjMxXHU2QjMzXHU2QjM0XHU2QjM1XHU2QjM2XHU2QjM4XHU2QjNCXHU2QjNDXHU2QjNEXHU2QjNGXHU2QjQwXHU2QjQxXHU2QjQyXHU2QjQ0XHU2QjQ1XHU2QjQ4XHU2QjRBXHU2QjRCXHU2QjREXCIsMTEsXCJcdTZCNUFcIiw3LFwiXHU2QjY4XHU2QjY5XHU2QjZCXCIsMTMsXCJcdTZCN0FcdTZCN0RcdTZCN0VcdTZCN0ZcdTZCODBcdTZCODVcdTZCODhcIl0sXG5bXCI5YTgwXCIsXCJcdTZCOENcdTZCOEVcdTZCOEZcdTZCOTBcdTZCOTFcdTZCOTRcdTZCOTVcdTZCOTdcdTZCOThcdTZCOTlcdTZCOUNcIiw0LFwiXHU2QkEyXCIsNyxcIlx1NkJBQlwiLDcsXCJcdTZCQjZcdTZCQjhcIiw2LFwiXHU2QkMwXHU2QkMzXHU2QkM0XHU2QkM2XCIsNCxcIlx1NkJDQ1x1NkJDRVx1NkJEMFx1NkJEMVx1NkJEOFx1NkJEQVx1NkJEQ1wiLDQsXCJcdTZCRTJcIiw3LFwiXHU2QkVDXHU2QkVEXHU2QkVFXHU2QkYwXHU2QkYxXHU2QkYyXHU2QkY0XHU2QkY2XHU2QkY3XHU2QkY4XHU2QkZBXHU2QkZCXHU2QkZDXHU2QkZFXCIsNixcIlx1NkMwOFwiLDQsXCJcdTZDMEVcdTZDMTJcdTZDMTdcdTZDMUNcdTZDMURcdTZDMUVcdTZDMjBcdTZDMjNcdTZDMjVcdTZDMkJcdTZDMkNcdTZDMkRcdTZDMzFcdTZDMzNcdTZDMzZcdTZDMzdcdTZDMzlcdTZDM0FcdTZDM0JcdTZDM0NcdTZDM0VcdTZDM0ZcdTZDNDNcdTZDNDRcdTZDNDVcdTZDNDhcdTZDNEJcIiw0LFwiXHU2QzUxXHU2QzUyXHU2QzUzXHU2QzU2XHU2QzU4XCJdLFxuW1wiOWI0MFwiLFwiXHU2QzU5XHU2QzVBXHU2QzYyXHU2QzYzXHU2QzY1XHU2QzY2XHU2QzY3XHU2QzZCXCIsNCxcIlx1NkM3MVx1NkM3M1x1NkM3NVx1NkM3N1x1NkM3OFx1NkM3QVx1NkM3Qlx1NkM3Q1x1NkM3Rlx1NkM4MFx1NkM4NFx1NkM4N1x1NkM4QVx1NkM4Qlx1NkM4RFx1NkM4RVx1NkM5MVx1NkM5Mlx1NkM5NVx1NkM5Nlx1NkM5N1x1NkM5OFx1NkM5QVx1NkM5Q1x1NkM5RFx1NkM5RVx1NkNBMFx1NkNBMlx1NkNBOFx1NkNBQ1x1NkNBRlx1NkNCMFx1NkNCNFx1NkNCNVx1NkNCNlx1NkNCN1x1NkNCQVx1NkNDMFx1NkNDMVx1NkNDMlx1NkNDM1x1NkNDNlx1NkNDN1x1NkNDOFx1NkNDQlx1NkNDRFx1NkNDRVx1NkNDRlx1NkNEMVx1NkNEMlx1NkNEOFwiXSxcbltcIjliODBcIixcIlx1NkNEOVx1NkNEQVx1NkNEQ1x1NkNERFx1NkNERlx1NkNFNFx1NkNFNlx1NkNFN1x1NkNFOVx1NkNFQ1x1NkNFRFx1NkNGMlx1NkNGNFx1NkNGOVx1NkNGRlx1NkQwMFx1NkQwMlx1NkQwM1x1NkQwNVx1NkQwNlx1NkQwOFx1NkQwOVx1NkQwQVx1NkQwRFx1NkQwRlx1NkQxMFx1NkQxMVx1NkQxM1x1NkQxNFx1NkQxNVx1NkQxNlx1NkQxOFx1NkQxQ1x1NkQxRFx1NkQxRlwiLDUsXCJcdTZEMjZcdTZEMjhcdTZEMjlcdTZEMkNcdTZEMkRcdTZEMkZcdTZEMzBcdTZEMzRcdTZEMzZcdTZEMzdcdTZEMzhcdTZEM0FcdTZEM0ZcdTZENDBcdTZENDJcdTZENDRcdTZENDlcdTZENENcdTZENTBcdTZENTVcdTZENTZcdTZENTdcdTZENThcdTZENUJcdTZENURcdTZENUZcdTZENjFcdTZENjJcdTZENjRcdTZENjVcdTZENjdcdTZENjhcdTZENkJcdTZENkNcdTZENkRcdTZENzBcdTZENzFcdTZENzJcdTZENzNcdTZENzVcdTZENzZcdTZENzlcdTZEN0FcdTZEN0JcdTZEN0RcIiw0LFwiXHU2RDgzXHU2RDg0XHU2RDg2XHU2RDg3XHU2RDhBXHU2RDhCXHU2RDhEXHU2RDhGXHU2RDkwXHU2RDkyXHU2RDk2XCIsNCxcIlx1NkQ5Q1x1NkRBMlx1NkRBNVx1NkRBQ1x1NkRBRFx1NkRCMFx1NkRCMVx1NkRCM1x1NkRCNFx1NkRCNlx1NkRCN1x1NkRCOVwiLDUsXCJcdTZEQzFcdTZEQzJcdTZEQzNcdTZEQzhcdTZEQzlcdTZEQ0FcIl0sXG5bXCI5YzQwXCIsXCJcdTZEQ0RcdTZEQ0VcdTZEQ0ZcdTZERDBcdTZERDJcdTZERDNcdTZERDRcdTZERDVcdTZERDdcdTZEREFcdTZEREJcdTZERENcdTZEREZcdTZERTJcdTZERTNcdTZERTVcdTZERTdcdTZERThcdTZERTlcdTZERUFcdTZERURcdTZERUZcdTZERjBcdTZERjJcdTZERjRcdTZERjVcdTZERjZcdTZERjhcdTZERkFcdTZERkRcIiw3LFwiXHU2RTA2XHU2RTA3XHU2RTA4XHU2RTA5XHU2RTBCXHU2RTBGXHU2RTEyXHU2RTEzXHU2RTE1XHU2RTE4XHU2RTE5XHU2RTFCXHU2RTFDXHU2RTFFXHU2RTFGXHU2RTIyXHU2RTI2XHU2RTI3XHU2RTI4XHU2RTJBXHU2RTJDXHU2RTJFXHU2RTMwXHU2RTMxXHU2RTMzXHU2RTM1XCJdLFxuW1wiOWM4MFwiLFwiXHU2RTM2XHU2RTM3XHU2RTM5XHU2RTNCXCIsNyxcIlx1NkU0NVwiLDcsXCJcdTZFNEZcdTZFNTBcdTZFNTFcdTZFNTJcdTZFNTVcdTZFNTdcdTZFNTlcdTZFNUFcdTZFNUNcdTZFNURcdTZFNUVcdTZFNjBcIiwxMCxcIlx1NkU2Q1x1NkU2RFx1NkU2RlwiLDE0LFwiXHU2RTgwXHU2RTgxXHU2RTgyXHU2RTg0XHU2RTg3XHU2RTg4XHU2RThBXCIsNCxcIlx1NkU5MVwiLDYsXCJcdTZFOTlcdTZFOUFcdTZFOUJcdTZFOURcdTZFOUVcdTZFQTBcdTZFQTFcdTZFQTNcdTZFQTRcdTZFQTZcdTZFQThcdTZFQTlcdTZFQUJcdTZFQUNcdTZFQURcdTZFQUVcdTZFQjBcdTZFQjNcdTZFQjVcdTZFQjhcdTZFQjlcdTZFQkNcdTZFQkVcdTZFQkZcdTZFQzBcdTZFQzNcdTZFQzRcdTZFQzVcdTZFQzZcdTZFQzhcdTZFQzlcdTZFQ0FcdTZFQ0NcdTZFQ0RcdTZFQ0VcdTZFRDBcdTZFRDJcdTZFRDZcdTZFRDhcdTZFRDlcdTZFREJcdTZFRENcdTZFRERcdTZFRTNcdTZFRTdcdTZFRUFcIiw1XSxcbltcIjlkNDBcIixcIlx1NkVGMFx1NkVGMVx1NkVGMlx1NkVGM1x1NkVGNVx1NkVGNlx1NkVGN1x1NkVGOFx1NkVGQVwiLDcsXCJcdTZGMDNcdTZGMDRcdTZGMDVcdTZGMDdcdTZGMDhcdTZGMEFcIiw0LFwiXHU2RjEwXHU2RjExXHU2RjEyXHU2RjE2XCIsOSxcIlx1NkYyMVx1NkYyMlx1NkYyM1x1NkYyNVx1NkYyNlx1NkYyN1x1NkYyOFx1NkYyQ1x1NkYyRVx1NkYzMFx1NkYzMlx1NkYzNFx1NkYzNVx1NkYzN1wiLDYsXCJcdTZGM0ZcdTZGNDBcdTZGNDFcdTZGNDJcIl0sXG5bXCI5ZDgwXCIsXCJcdTZGNDNcdTZGNDRcdTZGNDVcdTZGNDhcdTZGNDlcdTZGNEFcdTZGNENcdTZGNEVcIiw5LFwiXHU2RjU5XHU2RjVBXHU2RjVCXHU2RjVEXHU2RjVGXHU2RjYwXHU2RjYxXHU2RjYzXHU2RjY0XHU2RjY1XHU2RjY3XCIsNSxcIlx1NkY2Rlx1NkY3MFx1NkY3MVx1NkY3M1x1NkY3NVx1NkY3Nlx1NkY3N1x1NkY3OVx1NkY3Qlx1NkY3RFwiLDYsXCJcdTZGODVcdTZGODZcdTZGODdcdTZGOEFcdTZGOEJcdTZGOEZcIiwxMixcIlx1NkY5RFx1NkY5RVx1NkY5Rlx1NkZBMFx1NkZBMlwiLDQsXCJcdTZGQThcIiwxMCxcIlx1NkZCNFx1NkZCNVx1NkZCN1x1NkZCOFx1NkZCQVwiLDUsXCJcdTZGQzFcdTZGQzNcIiw1LFwiXHU2RkNBXCIsNixcIlx1NkZEM1wiLDEwLFwiXHU2RkRGXHU2RkUyXHU2RkUzXHU2RkU0XHU2RkU1XCJdLFxuW1wiOWU0MFwiLFwiXHU2RkU2XCIsNyxcIlx1NkZGMFwiLDMyLFwiXHU3MDEyXCIsNyxcIlx1NzAxQ1wiLDYsXCJcdTcwMjRcIiw2XSxcbltcIjllODBcIixcIlx1NzAyQlwiLDksXCJcdTcwMzZcdTcwMzdcdTcwMzhcdTcwM0FcIiwxNyxcIlx1NzA0RFx1NzA0RVx1NzA1MFwiLDEzLFwiXHU3MDVGXCIsMTEsXCJcdTcwNkVcdTcwNzFcdTcwNzJcdTcwNzNcdTcwNzRcdTcwNzdcdTcwNzlcdTcwN0FcdTcwN0JcdTcwN0RcdTcwODFcdTcwODJcdTcwODNcdTcwODRcdTcwODZcdTcwODdcdTcwODhcdTcwOEJcdTcwOENcdTcwOERcdTcwOEZcdTcwOTBcdTcwOTFcdTcwOTNcdTcwOTdcdTcwOThcdTcwOUFcdTcwOUJcdTcwOUVcIiwxMixcIlx1NzBCMFx1NzBCMlx1NzBCNFx1NzBCNVx1NzBCNlx1NzBCQVx1NzBCRVx1NzBCRlx1NzBDNFx1NzBDNVx1NzBDNlx1NzBDN1x1NzBDOVx1NzBDQlwiLDEyLFwiXHU3MERBXCJdLFxuW1wiOWY0MFwiLFwiXHU3MERDXHU3MEREXHU3MERFXHU3MEUwXHU3MEUxXHU3MEUyXHU3MEUzXHU3MEU1XHU3MEVBXHU3MEVFXHU3MEYwXCIsNixcIlx1NzBGOFx1NzBGQVx1NzBGQlx1NzBGQ1x1NzBGRVwiLDEwLFwiXHU3MTBCXCIsNCxcIlx1NzExMVx1NzExMlx1NzExNFx1NzExN1x1NzExQlwiLDEwLFwiXHU3MTI3XCIsNyxcIlx1NzEzMlx1NzEzM1x1NzEzNFwiXSxcbltcIjlmODBcIixcIlx1NzEzNVx1NzEzN1wiLDEzLFwiXHU3MTQ2XHU3MTQ3XHU3MTQ4XHU3MTQ5XHU3MTRCXHU3MTREXHU3MTRGXCIsMTIsXCJcdTcxNURcdTcxNUZcIiw0LFwiXHU3MTY1XHU3MTY5XCIsNCxcIlx1NzE2Rlx1NzE3MFx1NzE3MVx1NzE3NFx1NzE3NVx1NzE3Nlx1NzE3N1x1NzE3OVx1NzE3Qlx1NzE3Q1x1NzE3RVwiLDUsXCJcdTcxODVcIiw0LFwiXHU3MThCXHU3MThDXHU3MThEXHU3MThFXHU3MTkwXHU3MTkxXHU3MTkyXHU3MTkzXHU3MTk1XHU3MTk2XHU3MTk3XHU3MTlBXCIsNCxcIlx1NzFBMVwiLDYsXCJcdTcxQTlcdTcxQUFcdTcxQUJcdTcxQURcIiw1LFwiXHU3MUI0XHU3MUI2XHU3MUI3XHU3MUI4XHU3MUJBXCIsOCxcIlx1NzFDNFwiLDksXCJcdTcxQ0ZcIiw0XSxcbltcImEwNDBcIixcIlx1NzFENlwiLDksXCJcdTcxRTFcdTcxRTJcdTcxRTNcdTcxRTRcdTcxRTZcdTcxRThcIiw1LFwiXHU3MUVGXCIsOSxcIlx1NzFGQVwiLDExLFwiXHU3MjA3XCIsMTldLFxuW1wiYTA4MFwiLFwiXHU3MjFCXHU3MjFDXHU3MjFFXCIsOSxcIlx1NzIyOVx1NzIyQlx1NzIyRFx1NzIyRVx1NzIyRlx1NzIzMlx1NzIzM1x1NzIzNFx1NzIzQVx1NzIzQ1x1NzIzRVx1NzI0MFwiLDYsXCJcdTcyNDlcdTcyNEFcdTcyNEJcdTcyNEVcdTcyNEZcdTcyNTBcdTcyNTFcdTcyNTNcdTcyNTRcdTcyNTVcdTcyNTdcdTcyNThcdTcyNUFcdTcyNUNcdTcyNUVcdTcyNjBcdTcyNjNcdTcyNjRcdTcyNjVcdTcyNjhcdTcyNkFcdTcyNkJcdTcyNkNcdTcyNkRcdTcyNzBcdTcyNzFcdTcyNzNcdTcyNzRcdTcyNzZcdTcyNzdcdTcyNzhcdTcyN0JcdTcyN0NcdTcyN0RcdTcyODJcdTcyODNcdTcyODVcIiw0LFwiXHU3MjhDXHU3MjhFXHU3MjkwXHU3MjkxXHU3MjkzXCIsMTEsXCJcdTcyQTBcIiwxMSxcIlx1NzJBRVx1NzJCMVx1NzJCMlx1NzJCM1x1NzJCNVx1NzJCQVwiLDYsXCJcdTcyQzVcdTcyQzZcdTcyQzdcdTcyQzlcdTcyQ0FcdTcyQ0JcdTcyQ0NcdTcyQ0ZcdTcyRDFcdTcyRDNcdTcyRDRcdTcyRDVcdTcyRDZcdTcyRDhcdTcyREFcdTcyREJcIl0sXG5bXCJhMWExXCIsXCJcdTMwMDBcdTMwMDFcdTMwMDJcdTAwQjdcdTAyQzlcdTAyQzdcdTAwQThcdTMwMDNcdTMwMDVcdTIwMTRcdUZGNUVcdTIwMTZcdTIwMjZcdTIwMThcdTIwMTlcdTIwMUNcdTIwMURcdTMwMTRcdTMwMTVcdTMwMDhcIiw3LFwiXHUzMDE2XHUzMDE3XHUzMDEwXHUzMDExXHUwMEIxXHUwMEQ3XHUwMEY3XHUyMjM2XHUyMjI3XHUyMjI4XHUyMjExXHUyMjBGXHUyMjJBXHUyMjI5XHUyMjA4XHUyMjM3XHUyMjFBXHUyMkE1XHUyMjI1XHUyMjIwXHUyMzEyXHUyMjk5XHUyMjJCXHUyMjJFXHUyMjYxXHUyMjRDXHUyMjQ4XHUyMjNEXHUyMjFEXHUyMjYwXHUyMjZFXHUyMjZGXHUyMjY0XHUyMjY1XHUyMjFFXHUyMjM1XHUyMjM0XHUyNjQyXHUyNjQwXHUwMEIwXHUyMDMyXHUyMDMzXHUyMTAzXHVGRjA0XHUwMEE0XHVGRkUwXHVGRkUxXHUyMDMwXHUwMEE3XHUyMTE2XHUyNjA2XHUyNjA1XHUyNUNCXHUyNUNGXHUyNUNFXHUyNUM3XHUyNUM2XHUyNUExXHUyNUEwXHUyNUIzXHUyNUIyXHUyMDNCXHUyMTkyXHUyMTkwXHUyMTkxXHUyMTkzXHUzMDEzXCJdLFxuW1wiYTJhMVwiLFwiXHUyMTcwXCIsOV0sXG5bXCJhMmIxXCIsXCJcdTI0ODhcIiwxOSxcIlx1MjQ3NFwiLDE5LFwiXHUyNDYwXCIsOV0sXG5bXCJhMmU1XCIsXCJcdTMyMjBcIiw5XSxcbltcImEyZjFcIixcIlx1MjE2MFwiLDExXSxcbltcImEzYTFcIixcIlx1RkYwMVx1RkYwMlx1RkYwM1x1RkZFNVx1RkYwNVwiLDg4LFwiXHVGRkUzXCJdLFxuW1wiYTRhMVwiLFwiXHUzMDQxXCIsODJdLFxuW1wiYTVhMVwiLFwiXHUzMEExXCIsODVdLFxuW1wiYTZhMVwiLFwiXHUwMzkxXCIsMTYsXCJcdTAzQTNcIiw2XSxcbltcImE2YzFcIixcIlx1MDNCMVwiLDE2LFwiXHUwM0MzXCIsNl0sXG5bXCJhNmUwXCIsXCJcdUZFMzVcdUZFMzZcdUZFMzlcdUZFM0FcdUZFM0ZcdUZFNDBcdUZFM0RcdUZFM0VcdUZFNDFcdUZFNDJcdUZFNDNcdUZFNDRcIl0sXG5bXCJhNmVlXCIsXCJcdUZFM0JcdUZFM0NcdUZFMzdcdUZFMzhcdUZFMzFcIl0sXG5bXCJhNmY0XCIsXCJcdUZFMzNcdUZFMzRcIl0sXG5bXCJhN2ExXCIsXCJcdTA0MTBcIiw1LFwiXHUwNDAxXHUwNDE2XCIsMjVdLFxuW1wiYTdkMVwiLFwiXHUwNDMwXCIsNSxcIlx1MDQ1MVx1MDQzNlwiLDI1XSxcbltcImE4NDBcIixcIlx1MDJDQVx1MDJDQlx1MDJEOVx1MjAxM1x1MjAxNVx1MjAyNVx1MjAzNVx1MjEwNVx1MjEwOVx1MjE5Nlx1MjE5N1x1MjE5OFx1MjE5OVx1MjIxNVx1MjIxRlx1MjIyM1x1MjI1Mlx1MjI2Nlx1MjI2N1x1MjJCRlx1MjU1MFwiLDM1LFwiXHUyNTgxXCIsNl0sXG5bXCJhODgwXCIsXCJcdTI1ODhcIiw3LFwiXHUyNTkzXHUyNTk0XHUyNTk1XHUyNUJDXHUyNUJEXHUyNUUyXHUyNUUzXHUyNUU0XHUyNUU1XHUyNjA5XHUyMjk1XHUzMDEyXHUzMDFEXHUzMDFFXCJdLFxuW1wiYThhMVwiLFwiXHUwMTAxXHUwMEUxXHUwMUNFXHUwMEUwXHUwMTEzXHUwMEU5XHUwMTFCXHUwMEU4XHUwMTJCXHUwMEVEXHUwMUQwXHUwMEVDXHUwMTREXHUwMEYzXHUwMUQyXHUwMEYyXHUwMTZCXHUwMEZBXHUwMUQ0XHUwMEY5XHUwMUQ2XHUwMUQ4XHUwMURBXHUwMURDXHUwMEZDXHUwMEVBXHUwMjUxXCJdLFxuW1wiYThiZFwiLFwiXHUwMTQ0XHUwMTQ4XCJdLFxuW1wiYThjMFwiLFwiXHUwMjYxXCJdLFxuW1wiYThjNVwiLFwiXHUzMTA1XCIsMzZdLFxuW1wiYTk0MFwiLFwiXHUzMDIxXCIsOCxcIlx1MzJBM1x1MzM4RVx1MzM4Rlx1MzM5Q1x1MzM5RFx1MzM5RVx1MzNBMVx1MzNDNFx1MzNDRVx1MzNEMVx1MzNEMlx1MzNENVx1RkUzMFx1RkZFMlx1RkZFNFwiXSxcbltcImE5NTlcIixcIlx1MjEyMVx1MzIzMVwiXSxcbltcImE5NWNcIixcIlx1MjAxMFwiXSxcbltcImE5NjBcIixcIlx1MzBGQ1x1MzA5Qlx1MzA5Q1x1MzBGRFx1MzBGRVx1MzAwNlx1MzA5RFx1MzA5RVx1RkU0OVwiLDksXCJcdUZFNTRcdUZFNTVcdUZFNTZcdUZFNTdcdUZFNTlcIiw4XSxcbltcImE5ODBcIixcIlx1RkU2MlwiLDQsXCJcdUZFNjhcdUZFNjlcdUZFNkFcdUZFNkJcIl0sXG5bXCJhOTk2XCIsXCJcdTMwMDdcIl0sXG5bXCJhOWE0XCIsXCJcdTI1MDBcIiw3NV0sXG5bXCJhYTQwXCIsXCJcdTcyRENcdTcyRERcdTcyREZcdTcyRTJcIiw1LFwiXHU3MkVBXHU3MkVCXHU3MkY1XHU3MkY2XHU3MkY5XHU3MkZEXHU3MkZFXHU3MkZGXHU3MzAwXHU3MzAyXHU3MzA0XCIsNSxcIlx1NzMwQlx1NzMwQ1x1NzMwRFx1NzMwRlx1NzMxMFx1NzMxMVx1NzMxMlx1NzMxNFx1NzMxOFx1NzMxOVx1NzMxQVx1NzMxRlx1NzMyMFx1NzMyM1x1NzMyNFx1NzMyNlx1NzMyN1x1NzMyOFx1NzMyRFx1NzMyRlx1NzMzMFx1NzMzMlx1NzMzM1x1NzMzNVx1NzMzNlx1NzMzQVx1NzMzQlx1NzMzQ1x1NzMzRFx1NzM0MFwiLDhdLFxuW1wiYWE4MFwiLFwiXHU3MzQ5XHU3MzRBXHU3MzRCXHU3MzRDXHU3MzRFXHU3MzRGXHU3MzUxXHU3MzUzXHU3MzU0XHU3MzU1XHU3MzU2XHU3MzU4XCIsNyxcIlx1NzM2MVwiLDEwLFwiXHU3MzZFXHU3MzcwXHU3MzcxXCJdLFxuW1wiYWI0MFwiLFwiXHU3MzcyXCIsMTEsXCJcdTczN0ZcIiw0LFwiXHU3Mzg1XHU3Mzg2XHU3Mzg4XHU3MzhBXHU3MzhDXHU3MzhEXHU3MzhGXHU3MzkwXHU3MzkyXHU3MzkzXHU3Mzk0XHU3Mzk1XHU3Mzk3XHU3Mzk4XHU3Mzk5XHU3MzlBXHU3MzlDXHU3MzlEXHU3MzlFXHU3M0EwXHU3M0ExXHU3M0EzXCIsNSxcIlx1NzNBQVx1NzNBQ1x1NzNBRFx1NzNCMVx1NzNCNFx1NzNCNVx1NzNCNlx1NzNCOFx1NzNCOVx1NzNCQ1x1NzNCRFx1NzNCRVx1NzNCRlx1NzNDMVx1NzNDM1wiLDRdLFxuW1wiYWI4MFwiLFwiXHU3M0NCXHU3M0NDXHU3M0NFXHU3M0QyXCIsNixcIlx1NzNEQVx1NzNEQlx1NzNEQ1x1NzNERFx1NzNERlx1NzNFMVx1NzNFMlx1NzNFM1x1NzNFNFx1NzNFNlx1NzNFOFx1NzNFQVx1NzNFQlx1NzNFQ1x1NzNFRVx1NzNFRlx1NzNGMFx1NzNGMVx1NzNGM1wiLDRdLFxuW1wiYWM0MFwiLFwiXHU3M0Y4XCIsMTAsXCJcdTc0MDRcdTc0MDdcdTc0MDhcdTc0MEJcdTc0MENcdTc0MERcdTc0MEVcdTc0MTFcIiw4LFwiXHU3NDFDXCIsNSxcIlx1NzQyM1x1NzQyNFx1NzQyN1x1NzQyOVx1NzQyQlx1NzQyRFx1NzQyRlx1NzQzMVx1NzQzMlx1NzQzN1wiLDQsXCJcdTc0M0RcdTc0M0VcdTc0M0ZcdTc0NDBcdTc0NDJcIiwxMV0sXG5bXCJhYzgwXCIsXCJcdTc0NEVcIiw2LFwiXHU3NDU2XHU3NDU4XHU3NDVEXHU3NDYwXCIsMTIsXCJcdTc0NkVcdTc0NkZcdTc0NzFcIiw0LFwiXHU3NDc4XHU3NDc5XHU3NDdBXCJdLFxuW1wiYWQ0MFwiLFwiXHU3NDdCXHU3NDdDXHU3NDdEXHU3NDdGXHU3NDgyXHU3NDg0XHU3NDg1XHU3NDg2XHU3NDg4XHU3NDg5XHU3NDhBXHU3NDhDXHU3NDhEXHU3NDhGXHU3NDkxXCIsMTAsXCJcdTc0OURcdTc0OUZcIiw3LFwiXHU3NEFBXCIsMTUsXCJcdTc0QkJcIiwxMl0sXG5bXCJhZDgwXCIsXCJcdTc0QzhcIiw5LFwiXHU3NEQzXCIsOCxcIlx1NzRERFx1NzRERlx1NzRFMVx1NzRFNVx1NzRFN1wiLDYsXCJcdTc0RjBcdTc0RjFcdTc0RjJcIl0sXG5bXCJhZTQwXCIsXCJcdTc0RjNcdTc0RjVcdTc0RjhcIiw2LFwiXHU3NTAwXHU3NTAxXHU3NTAyXHU3NTAzXHU3NTA1XCIsNyxcIlx1NzUwRVx1NzUxMFx1NzUxMlx1NzUxNFx1NzUxNVx1NzUxNlx1NzUxN1x1NzUxQlx1NzUxRFx1NzUxRVx1NzUyMFwiLDQsXCJcdTc1MjZcdTc1MjdcdTc1MkFcdTc1MkVcdTc1MzRcdTc1MzZcdTc1MzlcdTc1M0NcdTc1M0RcdTc1M0ZcdTc1NDFcdTc1NDJcdTc1NDNcdTc1NDRcdTc1NDZcdTc1NDdcdTc1NDlcdTc1NEFcdTc1NERcdTc1NTBcdTc1NTFcdTc1NTJcdTc1NTNcdTc1NTVcdTc1NTZcdTc1NTdcdTc1NThcIl0sXG5bXCJhZTgwXCIsXCJcdTc1NURcIiw3LFwiXHU3NTY3XHU3NTY4XHU3NTY5XHU3NTZCXCIsNixcIlx1NzU3M1x1NzU3NVx1NzU3Nlx1NzU3N1x1NzU3QVwiLDQsXCJcdTc1ODBcdTc1ODFcdTc1ODJcdTc1ODRcdTc1ODVcdTc1ODdcIl0sXG5bXCJhZjQwXCIsXCJcdTc1ODhcdTc1ODlcdTc1OEFcdTc1OENcdTc1OERcdTc1OEVcdTc1OTBcdTc1OTNcdTc1OTVcdTc1OThcdTc1OUJcdTc1OUNcdTc1OUVcdTc1QTJcdTc1QTZcIiw0LFwiXHU3NUFEXHU3NUI2XHU3NUI3XHU3NUJBXHU3NUJCXHU3NUJGXHU3NUMwXHU3NUMxXHU3NUM2XHU3NUNCXHU3NUNDXHU3NUNFXHU3NUNGXHU3NUQwXHU3NUQxXHU3NUQzXHU3NUQ3XHU3NUQ5XHU3NURBXHU3NURDXHU3NUREXHU3NURGXHU3NUUwXHU3NUUxXHU3NUU1XHU3NUU5XHU3NUVDXHU3NUVEXHU3NUVFXHU3NUVGXHU3NUYyXHU3NUYzXHU3NUY1XHU3NUY2XHU3NUY3XHU3NUY4XHU3NUZBXHU3NUZCXHU3NUZEXHU3NUZFXHU3NjAyXHU3NjA0XHU3NjA2XHU3NjA3XCJdLFxuW1wiYWY4MFwiLFwiXHU3NjA4XHU3NjA5XHU3NjBCXHU3NjBEXHU3NjBFXHU3NjBGXHU3NjExXHU3NjEyXHU3NjEzXHU3NjE0XHU3NjE2XHU3NjFBXHU3NjFDXHU3NjFEXHU3NjFFXHU3NjIxXHU3NjIzXHU3NjI3XHU3NjI4XHU3NjJDXHU3NjJFXHU3NjJGXHU3NjMxXHU3NjMyXHU3NjM2XHU3NjM3XHU3NjM5XHU3NjNBXHU3NjNCXHU3NjNEXHU3NjQxXHU3NjQyXHU3NjQ0XCJdLFxuW1wiYjA0MFwiLFwiXHU3NjQ1XCIsNixcIlx1NzY0RVwiLDUsXCJcdTc2NTVcdTc2NTdcIiw0LFwiXHU3NjVEXHU3NjVGXHU3NjYwXHU3NjYxXHU3NjYyXHU3NjY0XCIsNixcIlx1NzY2Q1x1NzY2RFx1NzY2RVx1NzY3MFwiLDcsXCJcdTc2NzlcdTc2N0FcdTc2N0NcdTc2N0ZcdTc2ODBcdTc2ODFcdTc2ODNcdTc2ODVcdTc2ODlcdTc2OEFcdTc2OENcdTc2OERcdTc2OEZcdTc2OTBcdTc2OTJcdTc2OTRcdTc2OTVcdTc2OTdcdTc2OThcdTc2OUFcdTc2OUJcIl0sXG5bXCJiMDgwXCIsXCJcdTc2OUNcIiw3LFwiXHU3NkE1XCIsOCxcIlx1NzZBRlx1NzZCMFx1NzZCM1x1NzZCNVwiLDksXCJcdTc2QzBcdTc2QzFcdTc2QzNcdTU1NEFcdTk2M0ZcdTU3QzNcdTYzMjhcdTU0Q0VcdTU1MDlcdTU0QzBcdTc2OTFcdTc2NENcdTg1M0NcdTc3RUVcdTgyN0VcdTc4OERcdTcyMzFcdTk2OThcdTk3OERcdTZDMjhcdTVCODlcdTRGRkFcdTYzMDlcdTY2OTdcdTVDQjhcdTgwRkFcdTY4NDhcdTgwQUVcdTY2MDJcdTc2Q0VcdTUxRjlcdTY1NTZcdTcxQUNcdTdGRjFcdTg4ODRcdTUwQjJcdTU5NjVcdTYxQ0FcdTZGQjNcdTgyQURcdTYzNENcdTYyNTJcdTUzRURcdTU0MjdcdTdCMDZcdTUxNkJcdTc1QTRcdTVERjRcdTYyRDRcdThEQ0JcdTk3NzZcdTYyOEFcdTgwMTlcdTU3NURcdTk3MzhcdTdGNjJcdTcyMzhcdTc2N0RcdTY3Q0ZcdTc2N0VcdTY0NDZcdTRGNzBcdThEMjVcdTYyRENcdTdBMTdcdTY1OTFcdTczRURcdTY0MkNcdTYyNzNcdTgyMkNcdTk4ODFcdTY3N0ZcdTcyNDhcdTYyNkVcdTYyQ0NcdTRGMzRcdTc0RTNcdTUzNEFcdTUyOUVcdTdFQ0FcdTkwQTZcdTVFMkVcdTY4ODZcdTY5OUNcdTgxODBcdTdFRDFcdTY4RDJcdTc4QzVcdTg2OENcdTk1NTFcdTUwOERcdThDMjRcdTgyREVcdTgwREVcdTUzMDVcdTg5MTJcdTUyNjVcIl0sXG5bXCJiMTQwXCIsXCJcdTc2QzRcdTc2QzdcdTc2QzlcdTc2Q0JcdTc2Q0NcdTc2RDNcdTc2RDVcdTc2RDlcdTc2REFcdTc2RENcdTc2RERcdTc2REVcdTc2RTBcIiw0LFwiXHU3NkU2XCIsNyxcIlx1NzZGMFx1NzZGM1x1NzZGNVx1NzZGNlx1NzZGN1x1NzZGQVx1NzZGQlx1NzZGRFx1NzZGRlx1NzcwMFx1NzcwMlx1NzcwM1x1NzcwNVx1NzcwNlx1NzcwQVx1NzcwQ1x1NzcwRVwiLDEwLFwiXHU3NzFCXHU3NzFDXHU3NzFEXHU3NzFFXHU3NzIxXHU3NzIzXHU3NzI0XHU3NzI1XHU3NzI3XHU3NzJBXHU3NzJCXCJdLFxuW1wiYjE4MFwiLFwiXHU3NzJDXHU3NzJFXHU3NzMwXCIsNCxcIlx1NzczOVx1NzczQlx1NzczRFx1NzczRVx1NzczRlx1Nzc0Mlx1Nzc0NFx1Nzc0NVx1Nzc0Nlx1Nzc0OFwiLDcsXCJcdTc3NTJcIiw3LFwiXHU3NzVDXHU4NTg0XHU5NkY5XHU0RkREXHU1ODIxXHU5OTcxXHU1QjlEXHU2MkIxXHU2MkE1XHU2NkI0XHU4Qzc5XHU5QzhEXHU3MjA2XHU2NzZGXHU3ODkxXHU2MEIyXHU1MzUxXHU1MzE3XHU4Rjg4XHU4MENDXHU4RDFEXHU5NEExXHU1MDBEXHU3MkM4XHU1OTA3XHU2MEVCXHU3MTE5XHU4OEFCXHU1OTU0XHU4MkVGXHU2NzJDXHU3QjI4XHU1RDI5XHU3RUY3XHU3NTJEXHU2Q0Y1XHU4RTY2XHU4RkY4XHU5MDNDXHU5RjNCXHU2QkQ0XHU5MTE5XHU3QjE0XHU1RjdDXHU3OEE3XHU4NEQ2XHU4NTNEXHU2QkQ1XHU2QkQ5XHU2QkQ2XHU1RTAxXHU1RTg3XHU3NUY5XHU5NUVEXHU2NTVEXHU1RjBBXHU1RkM1XHU4RjlGXHU1OEMxXHU4MUMyXHU5MDdGXHU5NjVCXHU5N0FEXHU4RkI5XHU3RjE2XHU4RDJDXHU2MjQxXHU0RkJGXHU1M0Q4XHU1MzVFXHU4RkE4XHU4RkE5XHU4RkFCXHU5MDREXHU2ODA3XHU1RjZBXHU4MTk4XHU4ODY4XHU5Q0Q2XHU2MThCXHU1MjJCXHU3NjJBXHU1RjZDXHU2NThDXHU2RkQyXHU2RUU4XHU1QkJFXHU2NDQ4XHU1MTc1XHU1MUIwXHU2N0M0XHU0RTE5XHU3OUM5XHU5OTdDXHU3MEIzXCJdLFxuW1wiYjI0MFwiLFwiXHU3NzVEXHU3NzVFXHU3NzVGXHU3NzYwXHU3NzY0XHU3NzY3XHU3NzY5XHU3NzZBXHU3NzZEXCIsMTEsXCJcdTc3N0FcdTc3N0JcdTc3N0NcdTc3ODFcdTc3ODJcdTc3ODNcdTc3ODZcIiw1LFwiXHU3NzhGXHU3NzkwXHU3NzkzXCIsMTEsXCJcdTc3QTFcdTc3QTNcdTc3QTRcdTc3QTZcdTc3QThcdTc3QUJcdTc3QURcdTc3QUVcdTc3QUZcdTc3QjFcdTc3QjJcdTc3QjRcdTc3QjZcIiw0XSxcbltcImIyODBcIixcIlx1NzdCQ1x1NzdCRVx1NzdDMFwiLDEyLFwiXHU3N0NFXCIsOCxcIlx1NzdEOFx1NzdEOVx1NzdEQVx1NzdERFwiLDQsXCJcdTc3RTRcdTc1QzVcdTVFNzZcdTczQkJcdTgzRTBcdTY0QURcdTYyRThcdTk0QjVcdTZDRTJcdTUzNUFcdTUyQzNcdTY0MEZcdTk0QzJcdTdCOTRcdTRGMkZcdTVFMUJcdTgyMzZcdTgxMTZcdTgxOEFcdTZFMjRcdTZDQ0FcdTlBNzNcdTYzNTVcdTUzNUNcdTU0RkFcdTg4NjVcdTU3RTBcdTRFMERcdTVFMDNcdTZCNjVcdTdDM0ZcdTkwRThcdTYwMTZcdTY0RTZcdTczMUNcdTg4QzFcdTY3NTBcdTYyNERcdThEMjJcdTc3NkNcdThFMjlcdTkxQzdcdTVGNjlcdTgzRENcdTg1MjFcdTk5MTBcdTUzQzJcdTg2OTVcdTZCOEJcdTYwRURcdTYwRThcdTcwN0ZcdTgyQ0RcdTgyMzFcdTRFRDNcdTZDQTdcdTg1Q0ZcdTY0Q0RcdTdDRDlcdTY5RkRcdTY2RjlcdTgzNDlcdTUzOTVcdTdCNTZcdTRGQTdcdTUxOENcdTZENEJcdTVDNDJcdThFNkRcdTYzRDJcdTUzQzlcdTgzMkNcdTgzMzZcdTY3RTVcdTc4QjRcdTY0M0RcdTVCREZcdTVDOTRcdTVERUVcdThCRTdcdTYyQzZcdTY3RjRcdThDN0FcdTY0MDBcdTYzQkFcdTg3NDlcdTk5OEJcdThDMTdcdTdGMjBcdTk0RjJcdTRFQTdcdTk2MTBcdTk4QTRcdTY2MENcdTczMTZcIl0sXG5bXCJiMzQwXCIsXCJcdTc3RTZcdTc3RThcdTc3RUFcdTc3RUZcdTc3RjBcdTc3RjFcdTc3RjJcdTc3RjRcdTc3RjVcdTc3RjdcdTc3RjlcdTc3RkFcdTc3RkJcdTc3RkNcdTc4MDNcIiw1LFwiXHU3ODBBXHU3ODBCXHU3ODBFXHU3ODBGXHU3ODEwXHU3ODEzXHU3ODE1XHU3ODE5XHU3ODFCXHU3ODFFXHU3ODIwXHU3ODIxXHU3ODIyXHU3ODI0XHU3ODI4XHU3ODJBXHU3ODJCXHU3ODJFXHU3ODJGXHU3ODMxXHU3ODMyXHU3ODMzXHU3ODM1XHU3ODM2XHU3ODNEXHU3ODNGXHU3ODQxXHU3ODQyXHU3ODQzXHU3ODQ0XHU3ODQ2XHU3ODQ4XHU3ODQ5XHU3ODRBXHU3ODRCXHU3ODREXHU3ODRGXHU3ODUxXHU3ODUzXHU3ODU0XHU3ODU4XHU3ODU5XHU3ODVBXCJdLFxuW1wiYjM4MFwiLFwiXHU3ODVCXHU3ODVDXHU3ODVFXCIsMTEsXCJcdTc4NkZcIiw3LFwiXHU3ODc4XHU3ODc5XHU3ODdBXHU3ODdCXHU3ODdEXCIsNixcIlx1NTczQVx1NUMxRFx1NUUzOFx1OTU3Rlx1NTA3Rlx1ODBBMFx1NTM4Mlx1NjU1RVx1NzU0NVx1NTUzMVx1NTAyMVx1OEQ4NVx1NjI4NFx1OTQ5RVx1NjcxRFx1NTYzMlx1NkY2RVx1NURFMlx1NTQzNVx1NzA5Mlx1OEY2Nlx1NjI2Rlx1NjRBNFx1NjNBM1x1NUY3Qlx1NkY4OFx1OTBGNFx1ODFFM1x1OEZCMFx1NUMxOFx1NjY2OFx1NUZGMVx1NkM4OVx1OTY0OFx1OEQ4MVx1ODg2Q1x1NjQ5MVx1NzlGMFx1NTdDRVx1NkE1OVx1NjIxMFx1NTQ0OFx1NEU1OFx1N0EwQlx1NjBFOVx1NkY4NFx1OEJEQVx1NjI3Rlx1OTAxRVx1OUE4Qlx1NzlFNFx1NTQwM1x1NzVGNFx1NjMwMVx1NTMxOVx1NkM2MFx1OEZERlx1NUYxQlx1OUE3MFx1ODAzQlx1OUY3Rlx1NEY4OFx1NUMzQVx1OEQ2NFx1N0ZDNVx1NjVBNVx1NzBCRFx1NTE0NVx1NTFCMlx1ODY2Qlx1NUQwN1x1NUJBMFx1NjJCRFx1OTE2Q1x1NzU3NFx1OEUwQ1x1N0EyMFx1NjEwMVx1N0I3OVx1NEVDN1x1N0VGOFx1Nzc4NVx1NEUxMVx1ODFFRFx1NTIxRFx1NTFGQVx1NkE3MVx1NTNBOFx1OEU4N1x1OTUwNFx1OTZDRlx1NkVDMVx1OTY2NFx1Njk1QVwiXSxcbltcImI0NDBcIixcIlx1Nzg4NFx1Nzg4NVx1Nzg4Nlx1Nzg4OFx1Nzg4QVx1Nzg4Qlx1Nzg4Rlx1Nzg5MFx1Nzg5Mlx1Nzg5NFx1Nzg5NVx1Nzg5Nlx1Nzg5OVx1Nzg5RFx1Nzg5RVx1NzhBMFx1NzhBMlx1NzhBNFx1NzhBNlx1NzhBOFwiLDcsXCJcdTc4QjVcdTc4QjZcdTc4QjdcdTc4QjhcdTc4QkFcdTc4QkJcdTc4QkNcdTc4QkRcdTc4QkZcdTc4QzBcdTc4QzJcdTc4QzNcdTc4QzRcdTc4QzZcdTc4QzdcdTc4QzhcdTc4Q0NcdTc4Q0RcdTc4Q0VcdTc4Q0ZcdTc4RDFcdTc4RDJcdTc4RDNcdTc4RDZcdTc4RDdcdTc4RDhcdTc4REFcIiw5XSxcbltcImI0ODBcIixcIlx1NzhFNFx1NzhFNVx1NzhFNlx1NzhFN1x1NzhFOVx1NzhFQVx1NzhFQlx1NzhFRFwiLDQsXCJcdTc4RjNcdTc4RjVcdTc4RjZcdTc4RjhcdTc4RjlcdTc4RkJcIiw1LFwiXHU3OTAyXHU3OTAzXHU3OTA0XHU3OTA2XCIsNixcIlx1Nzg0MFx1NTBBOFx1NzdEN1x1NjQxMFx1ODlFNlx1NTkwNFx1NjNFM1x1NURERFx1N0E3Rlx1NjkzRFx1NEYyMFx1ODIzOVx1NTU5OFx1NEUzMlx1NzVBRVx1N0E5N1x1NUU2Mlx1NUU4QVx1OTVFRlx1NTIxQlx1NTQzOVx1NzA4QVx1NjM3Nlx1OTUyNFx1NTc4Mlx1NjYyNVx1NjkzRlx1OTE4N1x1NTUwN1x1NkRGM1x1N0VBRlx1ODgyMlx1NjIzM1x1N0VGMFx1NzVCNVx1ODMyOFx1NzhDMVx1OTZDQ1x1OEY5RVx1NjE0OFx1NzRGN1x1OEJDRFx1NkI2NFx1NTIzQVx1OEQ1MFx1NkIyMVx1ODA2QVx1ODQ3MVx1NTZGMVx1NTMwNlx1NEVDRVx1NEUxQlx1NTFEMVx1N0M5N1x1OTE4Qlx1N0MwN1x1NEZDM1x1OEU3Rlx1N0JFMVx1N0E5Q1x1NjQ2N1x1NUQxNFx1NTBBQ1x1ODEwNlx1NzYwMVx1N0NCOVx1NkRFQ1x1N0ZFMFx1Njc1MVx1NUI1OFx1NUJGOFx1NzhDQlx1NjRBRVx1NjQxM1x1NjNBQVx1NjMyQlx1OTUxOVx1NjQyRFx1OEZCRVx1N0I1NFx1NzYyOVx1NjI1M1x1NTkyN1x1NTQ0Nlx1NkI3OVx1NTBBM1x1NjIzNFx1NUUyNlx1NkI4Nlx1NEVFM1x1OEQzN1x1ODg4Qlx1NUY4NVx1OTAyRVwiXSxcbltcImI1NDBcIixcIlx1NzkwRFwiLDUsXCJcdTc5MTRcIiw5LFwiXHU3OTFGXCIsNCxcIlx1NzkyNVwiLDE0LFwiXHU3OTM1XCIsNCxcIlx1NzkzRFx1NzkzRlx1Nzk0Mlx1Nzk0M1x1Nzk0NFx1Nzk0NVx1Nzk0N1x1Nzk0QVwiLDgsXCJcdTc5NTRcdTc5NTVcdTc5NThcdTc5NTlcdTc5NjFcdTc5NjNcIl0sXG5bXCJiNTgwXCIsXCJcdTc5NjRcdTc5NjZcdTc5NjlcdTc5NkFcdTc5NkJcdTc5NkNcdTc5NkVcdTc5NzBcIiw2LFwiXHU3OTc5XHU3OTdCXCIsNCxcIlx1Nzk4Mlx1Nzk4M1x1Nzk4Nlx1Nzk4N1x1Nzk4OFx1Nzk4OVx1Nzk4Qlx1Nzk4Q1x1Nzk4RFx1Nzk4RVx1Nzk5MFx1Nzk5MVx1Nzk5Mlx1NjAyMFx1ODAzRFx1NjJDNVx1NEUzOVx1NTM1NVx1OTBGOFx1NjNCOFx1ODBDNlx1NjVFNlx1NkMyRVx1NEY0Nlx1NjBFRVx1NkRFMVx1OEJERVx1NUYzOVx1ODZDQlx1NUY1M1x1NjMyMVx1NTE1QVx1ODM2MVx1Njg2M1x1NTIwMFx1NjM2M1x1OEU0OFx1NTAxMlx1NUM5Qlx1Nzk3N1x1NUJGQ1x1NTIzMFx1N0EzQlx1NjBCQ1x1OTA1M1x1NzZEN1x1NUZCN1x1NUY5N1x1NzY4NFx1OEU2Q1x1NzA2Rlx1NzY3Qlx1N0I0OVx1NzdBQVx1NTFGM1x1OTA5M1x1NTgyNFx1NEY0RVx1NkVGNFx1OEZFQVx1NjU0Q1x1N0IxQlx1NzJDNFx1NkRBNFx1N0ZERlx1NUFFMVx1NjJCNVx1NUU5NVx1NTczMFx1ODQ4Mlx1N0IyQ1x1NUUxRFx1NUYxRlx1OTAxMlx1N0YxNFx1OThBMFx1NjM4Mlx1NkVDN1x1Nzg5OFx1NzBCOVx1NTE3OFx1OTc1Qlx1NTdBQlx1NzUzNVx1NEY0M1x1NzUzOFx1NUU5N1x1NjBFNlx1NTk2MFx1NkRDMFx1NkJCRlx1Nzg4OVx1NTNGQ1x1OTZENVx1NTFDQlx1NTIwMVx1NjM4OVx1NTQwQVx1OTQ5M1x1OEMwM1x1OERDQ1x1NzIzOVx1Nzg5Rlx1ODc3Nlx1OEZFRFx1OEMwRFx1NTNFMFwiXSxcbltcImI2NDBcIixcIlx1Nzk5M1wiLDYsXCJcdTc5OUJcIiwxMSxcIlx1NzlBOFwiLDEwLFwiXHU3OUI0XCIsNCxcIlx1NzlCQ1x1NzlCRlx1NzlDMlx1NzlDNFx1NzlDNVx1NzlDN1x1NzlDOFx1NzlDQVx1NzlDQ1x1NzlDRVx1NzlDRlx1NzlEMFx1NzlEM1x1NzlENFx1NzlENlx1NzlEN1x1NzlEOVwiLDUsXCJcdTc5RTBcdTc5RTFcdTc5RTJcdTc5RTVcdTc5RThcdTc5RUFcIl0sXG5bXCJiNjgwXCIsXCJcdTc5RUNcdTc5RUVcdTc5RjFcIiw2LFwiXHU3OUY5XHU3OUZBXHU3OUZDXHU3OUZFXHU3OUZGXHU3QTAxXHU3QTA0XHU3QTA1XHU3QTA3XHU3QTA4XHU3QTA5XHU3QTBBXHU3QTBDXHU3QTBGXCIsNCxcIlx1N0ExNVx1N0ExNlx1N0ExOFx1N0ExOVx1N0ExQlx1N0ExQ1x1NEUwMVx1NzZFRlx1NTNFRVx1OTQ4OVx1OTg3Nlx1OUYwRVx1OTUyRFx1NUI5QVx1OEJBMlx1NEUyMlx1NEUxQ1x1NTFBQ1x1ODQ2M1x1NjFDMlx1NTJBOFx1NjgwQlx1NEY5N1x1NjA2Qlx1NTFCQlx1NkQxRVx1NTE1Q1x1NjI5Nlx1NjU5N1x1OTY2MVx1OEM0Nlx1OTAxN1x1NzVEOFx1OTBGRFx1Nzc2M1x1NkJEMlx1NzI4QVx1NzJFQ1x1OEJGQlx1NTgzNVx1Nzc3OVx1OEQ0Q1x1Njc1Q1x1OTU0MFx1ODA5QVx1NUVBNlx1NkUyMVx1NTk5Mlx1N0FFRlx1NzdFRFx1OTUzQlx1NkJCNVx1NjVBRFx1N0YwRVx1NTgwNlx1NTE1MVx1OTYxRlx1NUJGOVx1NThBOVx1NTQyOFx1OEU3Mlx1NjU2Nlx1OTg3Rlx1NTZFNFx1OTQ5RFx1NzZGRVx1OTA0MVx1NjM4N1x1NTRDNlx1NTkxQVx1NTkzQVx1NTc5Qlx1OEVCMlx1NjczNVx1OERGQVx1ODIzNVx1NTI0MVx1NjBGMFx1NTgxNVx1ODZGRVx1NUNFOFx1OUU0NVx1NEZDNFx1OTg5RFx1OEJCOVx1NUEyNVx1NjA3Nlx1NTM4NFx1NjI3Q1x1OTA0Rlx1OTEwMlx1OTk3Rlx1NjA2OVx1ODAwQ1x1NTEzRlx1ODAzM1x1NUMxNFx1OTk3NVx1NkQzMVx1NEU4Q1wiXSxcbltcImI3NDBcIixcIlx1N0ExRFx1N0ExRlx1N0EyMVx1N0EyMlx1N0EyNFwiLDE0LFwiXHU3QTM0XHU3QTM1XHU3QTM2XHU3QTM4XHU3QTNBXHU3QTNFXHU3QTQwXCIsNSxcIlx1N0E0N1wiLDksXCJcdTdBNTJcIiw0LFwiXHU3QTU4XCIsMTZdLFxuW1wiYjc4MFwiLFwiXHU3QTY5XCIsNixcIlx1N0E3MVx1N0E3Mlx1N0E3M1x1N0E3NVx1N0E3Qlx1N0E3Q1x1N0E3RFx1N0E3RVx1N0E4Mlx1N0E4NVx1N0E4N1x1N0E4OVx1N0E4QVx1N0E4Qlx1N0E4Q1x1N0E4RVx1N0E4Rlx1N0E5MFx1N0E5M1x1N0E5NFx1N0E5OVx1N0E5QVx1N0E5Qlx1N0E5RVx1N0FBMVx1N0FBMlx1OEQzMFx1NTNEMVx1N0Y1QVx1N0I0Rlx1NEYxMFx1NEU0Rlx1OTYwMFx1NkNENVx1NzNEMFx1ODVFOVx1NUUwNlx1NzU2QVx1N0ZGQlx1NkEwQVx1NzdGRVx1OTQ5Mlx1N0U0MVx1NTFFMVx1NzBFNlx1NTNDRFx1OEZENFx1ODMwM1x1OEQyOVx1NzJBRlx1OTk2RFx1NkNEQlx1NTc0QVx1ODJCM1x1NjVCOVx1ODBBQVx1NjIzRlx1OTYzMlx1NTlBOFx1NEVGRlx1OEJCRlx1N0VCQVx1NjUzRVx1ODNGMlx1OTc1RVx1NTU2MVx1OThERVx1ODBBNVx1NTMyQVx1OEJGRFx1NTQyMFx1ODBCQVx1NUU5Rlx1NkNCOFx1OEQzOVx1ODJBQ1x1OTE1QVx1NTQyOVx1NkMxQlx1NTIwNlx1N0VCN1x1NTc1Rlx1NzExQVx1NkM3RVx1N0M4OVx1NTk0Qlx1NEVGRFx1NUZGRlx1NjEyNFx1N0NBQVx1NEUzMFx1NUMwMVx1NjdBQlx1ODcwMlx1NUNGMFx1OTUwQlx1OThDRVx1NzVBRlx1NzBGRFx1OTAyMlx1NTFBRlx1N0YxRFx1OEJCRFx1NTk0OVx1NTFFNFx1NEY1Qlx1NTQyNlx1NTkyQlx1NjU3N1x1ODBBNFx1NUI3NVx1NjI3Nlx1NjJDMlx1OEY5MFx1NUU0NVx1NkMxRlx1N0IyNlx1NEYwRlx1NEZEOFx1NjcwRFwiXSxcbltcImI4NDBcIixcIlx1N0FBM1x1N0FBNFx1N0FBN1x1N0FBOVx1N0FBQVx1N0FBQlx1N0FBRVwiLDQsXCJcdTdBQjRcIiwxMCxcIlx1N0FDMFwiLDEwLFwiXHU3QUNDXCIsOSxcIlx1N0FEN1x1N0FEOFx1N0FEQVx1N0FEQlx1N0FEQ1x1N0FERFx1N0FFMVx1N0FFMlx1N0FFNFx1N0FFN1wiLDUsXCJcdTdBRUVcdTdBRjBcdTdBRjFcdTdBRjJcdTdBRjNcIl0sXG5bXCJiODgwXCIsXCJcdTdBRjRcIiw0LFwiXHU3QUZCXHU3QUZDXHU3QUZFXHU3QjAwXHU3QjAxXHU3QjAyXHU3QjA1XHU3QjA3XHU3QjA5XHU3QjBDXHU3QjBEXHU3QjBFXHU3QjEwXHU3QjEyXHU3QjEzXHU3QjE2XHU3QjE3XHU3QjE4XHU3QjFBXHU3QjFDXHU3QjFEXHU3QjFGXHU3QjIxXHU3QjIyXHU3QjIzXHU3QjI3XHU3QjI5XHU3QjJEXHU2RDZFXHU2REFBXHU3OThGXHU4OEIxXHU1RjE3XHU3NTJCXHU2MjlBXHU4Rjg1XHU0RkVGXHU5MURDXHU2NUE3XHU4MTJGXHU4MTUxXHU1RTlDXHU4MTUwXHU4RDc0XHU1MjZGXHU4OTg2XHU4RDRCXHU1OTBEXHU1MDg1XHU0RUQ4XHU5NjFDXHU3MjM2XHU4MTc5XHU4RDFGXHU1QkNDXHU4QkEzXHU5NjQ0XHU1OTg3XHU3RjFBXHU1NDkwXHU1Njc2XHU1NjBFXHU4QkU1XHU2NTM5XHU2OTgyXHU5NDk5XHU3NkQ2XHU2RTg5XHU1RTcyXHU3NTE4XHU2NzQ2XHU2N0QxXHU3QUZGXHU4MDlEXHU4RDc2XHU2MTFGXHU3OUM2XHU2NTYyXHU4RDYzXHU1MTg4XHU1MjFBXHU5NEEyXHU3RjM4XHU4MDlCXHU3RUIyXHU1Qzk3XHU2RTJGXHU2NzYwXHU3QkQ5XHU3NjhCXHU5QUQ4XHU4MThGXHU3Rjk0XHU3Q0Q1XHU2NDFFXHU5NTUwXHU3QTNGXHU1NDRBXHU1NEU1XHU2QjRDXHU2NDAxXHU2MjA4XHU5RTNEXHU4MEYzXHU3NTk5XHU1MjcyXHU5NzY5XHU4NDVCXHU2ODNDXHU4NkU0XHU5NjAxXHU5Njk0XHU5NEVDXHU0RTJBXHU1NDA0XHU3RUQ5XHU2ODM5XHU4RERGXHU4MDE1XHU2NkY0XHU1RTlBXHU3RkI5XCJdLFxuW1wiYjk0MFwiLFwiXHU3QjJGXHU3QjMwXHU3QjMyXHU3QjM0XHU3QjM1XHU3QjM2XHU3QjM3XHU3QjM5XHU3QjNCXHU3QjNEXHU3QjNGXCIsNSxcIlx1N0I0Nlx1N0I0OFx1N0I0QVx1N0I0RFx1N0I0RVx1N0I1M1x1N0I1NVx1N0I1N1x1N0I1OVx1N0I1Q1x1N0I1RVx1N0I1Rlx1N0I2MVx1N0I2M1wiLDEwLFwiXHU3QjZGXHU3QjcwXHU3QjczXHU3Qjc0XHU3Qjc2XHU3Qjc4XHU3QjdBXHU3QjdDXHU3QjdEXHU3QjdGXHU3QjgxXHU3QjgyXHU3QjgzXHU3Qjg0XHU3Qjg2XCIsNixcIlx1N0I4RVx1N0I4RlwiXSxcbltcImI5ODBcIixcIlx1N0I5MVx1N0I5Mlx1N0I5M1x1N0I5Nlx1N0I5OFx1N0I5OVx1N0I5QVx1N0I5Qlx1N0I5RVx1N0I5Rlx1N0JBMFx1N0JBM1x1N0JBNFx1N0JBNVx1N0JBRVx1N0JBRlx1N0JCMFx1N0JCMlx1N0JCM1x1N0JCNVx1N0JCNlx1N0JCN1x1N0JCOVwiLDcsXCJcdTdCQzJcdTdCQzNcdTdCQzRcdTU3QzJcdTgwM0ZcdTY4OTdcdTVERTVcdTY1M0JcdTUyOUZcdTYwNkRcdTlGOUFcdTRGOUJcdThFQUNcdTUxNkNcdTVCQUJcdTVGMTNcdTVERTlcdTZDNUVcdTYyRjFcdThEMjFcdTUxNzFcdTk0QTlcdTUyRkVcdTZDOUZcdTgyREZcdTcyRDdcdTU3QTJcdTY3ODRcdThEMkRcdTU5MUZcdThGOUNcdTgzQzdcdTU0OTVcdTdCOERcdTRGMzBcdTZDQkRcdTVCNjRcdTU5RDFcdTlGMTNcdTUzRTRcdTg2Q0FcdTlBQThcdThDMzdcdTgwQTFcdTY1NDVcdTk4N0VcdTU2RkFcdTk2QzdcdTUyMkVcdTc0RENcdTUyNTBcdTVCRTFcdTYzMDJcdTg5MDJcdTRFNTZcdTYyRDBcdTYwMkFcdTY4RkFcdTUxNzNcdTVCOThcdTUxQTBcdTg5QzJcdTdCQTFcdTk5ODZcdTdGNTBcdTYwRUZcdTcwNENcdThEMkZcdTUxNDlcdTVFN0ZcdTkwMUJcdTc0NzBcdTg5QzRcdTU3MkRcdTc4NDVcdTVGNTJcdTlGOUZcdTk1RkFcdThGNjhcdTlCM0NcdThCRTFcdTc2NzhcdTY4NDJcdTY3RENcdThERUFcdThEMzVcdTUyM0RcdThGOEFcdTZFREFcdTY4Q0RcdTk1MDVcdTkwRURcdTU2RkRcdTY3OUNcdTg4RjlcdThGQzdcdTU0QzhcIl0sXG5bXCJiYTQwXCIsXCJcdTdCQzVcdTdCQzhcdTdCQzlcdTdCQ0FcdTdCQ0JcdTdCQ0RcdTdCQ0VcdTdCQ0ZcdTdCRDBcdTdCRDJcdTdCRDRcIiw0LFwiXHU3QkRCXHU3QkRDXHU3QkRFXHU3QkRGXHU3QkUwXHU3QkUyXHU3QkUzXHU3QkU0XHU3QkU3XHU3QkU4XHU3QkU5XHU3QkVCXHU3QkVDXHU3QkVEXHU3QkVGXHU3QkYwXHU3QkYyXCIsNCxcIlx1N0JGOFx1N0JGOVx1N0JGQVx1N0JGQlx1N0JGRFx1N0JGRlwiLDcsXCJcdTdDMDhcdTdDMDlcdTdDMEFcdTdDMERcdTdDMEVcdTdDMTBcIiw1LFwiXHU3QzE3XHU3QzE4XHU3QzE5XCJdLFxuW1wiYmE4MFwiLFwiXHU3QzFBXCIsNCxcIlx1N0MyMFwiLDUsXCJcdTdDMjhcdTdDMjlcdTdDMkJcIiwxMixcIlx1N0MzOVwiLDUsXCJcdTdDNDJcdTlBQjhcdTVCNjlcdTZENzdcdTZDMjZcdTRFQTVcdTVCQjNcdTlBODdcdTkxNjNcdTYxQThcdTkwQUZcdTk3RTlcdTU0MkJcdTZEQjVcdTVCRDJcdTUxRkRcdTU1OEFcdTdGNTVcdTdGRjBcdTY0QkNcdTYzNERcdTY1RjFcdTYxQkVcdTYwOERcdTcxMEFcdTZDNTdcdTZDNDlcdTU5MkZcdTY3NkRcdTgyMkFcdTU4RDVcdTU2OEVcdThDNkFcdTZCRUJcdTkwRERcdTU5N0RcdTgwMTdcdTUzRjdcdTZENjlcdTU0NzVcdTU1OURcdTgzNzdcdTgzQ0ZcdTY4MzhcdTc5QkVcdTU0OENcdTRGNTVcdTU0MDhcdTc2RDJcdThDODlcdTk2MDJcdTZDQjNcdTZEQjhcdThENkJcdTg5MTBcdTlFNjRcdThEM0FcdTU2M0ZcdTlFRDFcdTc1RDVcdTVGODhcdTcyRTBcdTYwNjhcdTU0RkNcdTRFQThcdTZBMkFcdTg4NjFcdTYwNTJcdThGNzBcdTU0QzRcdTcwRDhcdTg2NzlcdTlFM0ZcdTZEMkFcdTVCOEZcdTVGMThcdTdFQTJcdTU1ODlcdTRGQUZcdTczMzRcdTU0M0NcdTUzOUFcdTUwMTlcdTU0MEVcdTU0N0NcdTRFNEVcdTVGRkRcdTc0NUFcdTU4RjZcdTg0NkJcdTgwRTFcdTg3NzRcdTcyRDBcdTdDQ0FcdTZFNTZcIl0sXG5bXCJiYjQwXCIsXCJcdTdDNDNcIiw5LFwiXHU3QzRFXCIsMzYsXCJcdTdDNzVcIiw1LFwiXHU3QzdFXCIsOV0sXG5bXCJiYjgwXCIsXCJcdTdDODhcdTdDOEFcIiw2LFwiXHU3QzkzXHU3Qzk0XHU3Qzk2XHU3Qzk5XHU3QzlBXHU3QzlCXHU3Q0EwXHU3Q0ExXHU3Q0EzXHU3Q0E2XHU3Q0E3XHU3Q0E4XHU3Q0E5XHU3Q0FCXHU3Q0FDXHU3Q0FEXHU3Q0FGXHU3Q0IwXHU3Q0I0XCIsNCxcIlx1N0NCQVx1N0NCQlx1NUYyN1x1ODY0RVx1NTUyQ1x1NjJBNFx1NEU5Mlx1NkNBQVx1NjIzN1x1ODJCMVx1NTREN1x1NTM0RVx1NzMzRVx1NkVEMVx1NzUzQlx1NTIxMlx1NTMxNlx1OEJERFx1NjlEMFx1NUY4QVx1NjAwMFx1NkRFRVx1NTc0Rlx1NkIyMlx1NzNBRlx1Njg1M1x1OEZEOFx1N0YxM1x1NjM2Mlx1NjBBM1x1NTUyNFx1NzVFQVx1OEM2Mlx1NzExNVx1NkRBM1x1NUJBNlx1NUU3Qlx1ODM1Mlx1NjE0Q1x1OUVDNFx1NzhGQVx1ODc1N1x1N0MyN1x1NzY4N1x1NTFGMFx1NjBGNlx1NzE0Q1x1NjY0M1x1NUU0Q1x1NjA0RFx1OEMwRVx1NzA3MFx1NjMyNVx1OEY4OVx1NUZCRFx1NjA2Mlx1ODZENFx1NTZERVx1NkJDMVx1NjA5NFx1NjE2N1x1NTM0OVx1NjBFMFx1NjY2Nlx1OEQzRlx1NzlGRFx1NEYxQVx1NzBFOVx1NkM0N1x1OEJCM1x1OEJGMlx1N0VEOFx1ODM2NFx1NjYwRlx1NUE1QVx1OUI0Mlx1NkQ1MVx1NkRGN1x1OEM0MVx1NkQzQlx1NEYxOVx1NzA2Qlx1ODNCN1x1NjIxNlx1NjBEMVx1OTcwRFx1OEQyN1x1Nzk3OFx1NTFGQlx1NTczRVx1NTdGQVx1NjczQVx1NzU3OFx1N0EzRFx1NzlFRlx1N0I5NVwiXSxcbltcImJjNDBcIixcIlx1N0NCRlx1N0NDMFx1N0NDMlx1N0NDM1x1N0NDNFx1N0NDNlx1N0NDOVx1N0NDQlx1N0NDRVwiLDYsXCJcdTdDRDhcdTdDREFcdTdDREJcdTdDRERcdTdDREVcdTdDRTFcIiw2LFwiXHU3Q0U5XCIsNSxcIlx1N0NGMFwiLDcsXCJcdTdDRjlcdTdDRkFcdTdDRkNcIiwxMyxcIlx1N0QwQlwiLDVdLFxuW1wiYmM4MFwiLFwiXHU3RDExXCIsMTQsXCJcdTdEMjFcdTdEMjNcdTdEMjRcdTdEMjVcdTdEMjZcdTdEMjhcdTdEMjlcdTdEMkFcdTdEMkNcdTdEMkRcdTdEMkVcdTdEMzBcIiw2LFwiXHU4MDhDXHU5OTY1XHU4RkY5XHU2RkMwXHU4QkE1XHU5RTIxXHU1OUVDXHU3RUU5XHU3RjA5XHU1NDA5XHU2NzgxXHU2OEQ4XHU4RjkxXHU3QzREXHU5NkM2XHU1M0NBXHU2MDI1XHU3NUJFXHU2QzcyXHU1MzczXHU1QUM5XHU3RUE3XHU2MzI0XHU1MUUwXHU4MTBBXHU1REYxXHU4NERGXHU2MjgwXHU1MTgwXHU1QjYzXHU0RjBFXHU3OTZEXHU1MjQyXHU2MEI4XHU2RDRFXHU1QkM0XHU1QkMyXHU4QkExXHU4QkIwXHU2NUUyXHU1RkNDXHU5NjQ1XHU1OTkzXHU3RUU3XHU3RUFBXHU1NjA5XHU2N0I3XHU1OTM5XHU0RjczXHU1QkI2XHU1MkEwXHU4MzVBXHU5ODhBXHU4RDNFXHU3NTMyXHU5NEJFXHU1MDQ3XHU3QTNDXHU0RUY3XHU2N0I2XHU5QTdFXHU1QUMxXHU2QjdDXHU3NkQxXHU1NzVBXHU1QzE2XHU3QjNBXHU5NUY0XHU3MTRFXHU1MTdDXHU4MEE5XHU4MjcwXHU1OTc4XHU3RjA0XHU4MzI3XHU2OEMwXHU2N0VDXHU3OEIxXHU3ODc3XHU2MkUzXHU2MzYxXHU3QjgwXHU0RkVEXHU1MjZBXHU1MUNGXHU4MzUwXHU2OURCXHU5Mjc0XHU4REY1XHU4RDMxXHU4OUMxXHU5NTJFXHU3QkFEXHU0RUY2XCJdLFxuW1wiYmQ0MFwiLFwiXHU3RDM3XCIsNTQsXCJcdTdENkZcIiw3XSxcbltcImJkODBcIixcIlx1N0Q3OFwiLDMyLFwiXHU1MDY1XHU4MjMwXHU1MjUxXHU5OTZGXHU2RTEwXHU2RTg1XHU2REE3XHU1RUZBXHU1MEY1XHU1OURDXHU1QzA2XHU2RDQ2XHU2QzVGXHU3NTg2XHU4NDhCXHU2ODY4XHU1OTU2XHU4QkIyXHU1MzIwXHU5MTcxXHU5NjREXHU4NTQ5XHU2OTEyXHU3OTAxXHU3MTI2XHU4MEY2XHU0RUE0XHU5MENBXHU2RDQ3XHU5QTg0XHU1QTA3XHU1NkJDXHU2NDA1XHU5NEYwXHU3N0VCXHU0RkE1XHU4MTFBXHU3MkUxXHU4OUQyXHU5OTdBXHU3RjM0XHU3RURFXHU1MjdGXHU2NTU5XHU5MTc1XHU4RjdGXHU4RjgzXHU1M0VCXHU3QTk2XHU2M0VEXHU2M0E1XHU3Njg2XHU3OUY4XHU4ODU3XHU5NjM2XHU2MjJBXHU1MkFCXHU4MjgyXHU2ODU0XHU2NzcwXHU2Mzc3XHU3NzZCXHU3QUVEXHU2RDAxXHU3RUQzXHU4OUUzXHU1OUQwXHU2MjEyXHU4NUM5XHU4MkE1XHU3NTRDXHU1MDFGXHU0RUNCXHU3NUE1XHU4QkVCXHU1QzRBXHU1REZFXHU3QjRCXHU2NUE0XHU5MUQxXHU0RUNBXHU2RDI1XHU4OTVGXHU3RDI3XHU5NTI2XHU0RUM1XHU4QzI4XHU4RkRCXHU5NzczXHU2NjRCXHU3OTgxXHU4RkQxXHU3MEVDXHU2RDc4XCJdLFxuW1wiYmU0MFwiLFwiXHU3RDk5XCIsMTIsXCJcdTdEQTdcIiw2LFwiXHU3REFGXCIsNDJdLFxuW1wiYmU4MFwiLFwiXHU3RERBXCIsMzIsXCJcdTVDM0RcdTUyQjJcdTgzNDZcdTUxNjJcdTgzMEVcdTc3NUJcdTY2NzZcdTlDQjhcdTRFQUNcdTYwQ0FcdTdDQkVcdTdDQjNcdTdFQ0ZcdTRFOTVcdThCNjZcdTY2NkZcdTk4ODhcdTk3NTlcdTU4ODNcdTY1NkNcdTk1NUNcdTVGODRcdTc1QzlcdTk3NTZcdTdBREZcdTdBREVcdTUxQzBcdTcwQUZcdTdBOThcdTYzRUFcdTdBNzZcdTdFQTBcdTczOTZcdTk3RURcdTRFNDVcdTcwNzhcdTRFNURcdTkxNTJcdTUzQTlcdTY1NTFcdTY1RTdcdTgxRkNcdTgyMDVcdTU0OEVcdTVDMzFcdTc1OUFcdTk3QTBcdTYyRDhcdTcyRDlcdTc1QkRcdTVDNDVcdTlBNzlcdTgzQ0FcdTVDNDBcdTU0ODBcdTc3RTlcdTRFM0VcdTZDQUVcdTgwNUFcdTYyRDJcdTYzNkVcdTVERThcdTUxNzdcdThERERcdThFMUVcdTk1MkZcdTRGRjFcdTUzRTVcdTYwRTdcdTcwQUNcdTUyNjdcdTYzNTBcdTlFNDNcdTVBMUZcdTUwMjZcdTc3MzdcdTUzNzdcdTdFRTJcdTY0ODVcdTY1MkJcdTYyODlcdTYzOThcdTUwMTRcdTcyMzVcdTg5QzlcdTUxQjNcdThCQzBcdTdFRERcdTU3NDdcdTgzQ0NcdTk0QTdcdTUxOUJcdTU0MUJcdTVDRkJcIl0sXG5bXCJiZjQwXCIsXCJcdTdERkJcIiw2Ml0sXG5bXCJiZjgwXCIsXCJcdTdFM0FcdTdFM0NcIiw0LFwiXHU3RTQyXCIsNCxcIlx1N0U0OFwiLDIxLFwiXHU0RkNBXHU3QUUzXHU2RDVBXHU5MEUxXHU5QThGXHU1NTgwXHU1NDk2XHU1MzYxXHU1NEFGXHU1RjAwXHU2M0U5XHU2OTc3XHU1MUVGXHU2MTY4XHU1MjBBXHU1ODJBXHU1MkQ4XHU1NzRFXHU3ODBEXHU3NzBCXHU1RUI3XHU2MTc3XHU3Q0UwXHU2MjVCXHU2Mjk3XHU0RUEyXHU3MDk1XHU4MDAzXHU2MkY3XHU3MEU0XHU5NzYwXHU1Nzc3XHU4MkRCXHU2N0VGXHU2OEY1XHU3OEQ1XHU5ODk3XHU3OUQxXHU1OEYzXHU1NEIzXHU1M0VGXHU2RTM0XHU1MTRCXHU1MjNCXHU1QkEyXHU4QkZFXHU4MEFGXHU1NTQzXHU1N0E2XHU2MDczXHU1NzUxXHU1NDJEXHU3QTdBXHU2MDUwXHU1QjU0XHU2M0E3XHU2MkEwXHU1M0UzXHU2MjYzXHU1QkM3XHU2N0FGXHU1NEVEXHU3QTlGXHU4MkU2XHU5MTc3XHU1RTkzXHU4OEU0XHU1OTM4XHU1N0FFXHU2MzBFXHU4REU4XHU4MEVGXHU1NzU3XHU3Qjc3XHU0RkE5XHU1RkVCXHU1QkJEXHU2QjNFXHU1MzIxXHU3QjUwXHU3MkMyXHU2ODQ2XHU3N0ZGXHU3NzM2XHU2NUY3XHU1MUI1XHU0RThGXHU3NkQ0XHU1Q0JGXHU3QUE1XHU4NDc1XHU1OTRFXHU5QjQxXHU1MDgwXCJdLFxuW1wiYzA0MFwiLFwiXHU3RTVFXCIsMzUsXCJcdTdFODNcIiwyMyxcIlx1N0U5Q1x1N0U5RFx1N0U5RVwiXSxcbltcImMwODBcIixcIlx1N0VBRVx1N0VCNFx1N0VCQlx1N0VCQ1x1N0VENlx1N0VFNFx1N0VFQ1x1N0VGOVx1N0YwQVx1N0YxMFx1N0YxRVx1N0YzN1x1N0YzOVx1N0YzQlwiLDYsXCJcdTdGNDNcdTdGNDZcIiw5LFwiXHU3RjUyXHU3RjUzXHU5OTg4XHU2MTI3XHU2RTgzXHU1NzY0XHU2NjA2XHU2MzQ2XHU1NkYwXHU2MkVDXHU2MjY5XHU1RUQzXHU5NjE0XHU1NzgzXHU2MkM5XHU1NTg3XHU4NzIxXHU4MTRBXHU4RkEzXHU1NTY2XHU4M0IxXHU2NzY1XHU4RDU2XHU4NEREXHU1QTZBXHU2ODBGXHU2MkU2XHU3QkVFXHU5NjExXHU1MTcwXHU2RjlDXHU4QzMwXHU2M0ZEXHU4OUM4XHU2MUQyXHU3RjA2XHU3MEMyXHU2RUU1XHU3NDA1XHU2OTk0XHU3MkZDXHU1RUNBXHU5MENFXHU2NzE3XHU2RDZBXHU2MzVFXHU1MkIzXHU3MjYyXHU4MDAxXHU0RjZDXHU1OUU1XHU5MTZBXHU3MEQ5XHU2RDlEXHU1MkQyXHU0RTUwXHU5NkY3XHU5NTZEXHU4NTdFXHU3OENBXHU3RDJGXHU1MTIxXHU1NzkyXHU2NEMyXHU4MDhCXHU3QzdCXHU2Q0VBXHU2OEYxXHU2OTVFXHU1MUI3XHU1Mzk4XHU2OEE4XHU3MjgxXHU5RUNFXHU3QkYxXHU3MkY4XHU3OUJCXHU2RjEzXHU3NDA2XHU2NzRFXHU5MUNDXHU5Q0E0XHU3OTNDXHU4Mzg5XHU4MzU0XHU1NDBGXHU2ODE3XHU0RTNEXHU1Mzg5XHU1MkIxXHU3ODNFXHU1Mzg2XHU1MjI5XHU1MDg4XHU0RjhCXHU0RkQwXCJdLFxuW1wiYzE0MFwiLFwiXHU3RjU2XHU3RjU5XHU3RjVCXHU3RjVDXHU3RjVEXHU3RjVFXHU3RjYwXHU3RjYzXCIsNCxcIlx1N0Y2Qlx1N0Y2Q1x1N0Y2RFx1N0Y2Rlx1N0Y3MFx1N0Y3M1x1N0Y3NVx1N0Y3Nlx1N0Y3N1x1N0Y3OFx1N0Y3QVx1N0Y3Qlx1N0Y3Q1x1N0Y3RFx1N0Y3Rlx1N0Y4MFx1N0Y4MlwiLDcsXCJcdTdGOEJcdTdGOERcdTdGOEZcIiw0LFwiXHU3Rjk1XCIsNCxcIlx1N0Y5Qlx1N0Y5Q1x1N0ZBMFx1N0ZBMlx1N0ZBM1x1N0ZBNVx1N0ZBNlx1N0ZBOFwiLDYsXCJcdTdGQjFcIl0sXG5bXCJjMTgwXCIsXCJcdTdGQjNcIiw0LFwiXHU3RkJBXHU3RkJCXHU3RkJFXHU3RkMwXHU3RkMyXHU3RkMzXHU3RkM0XHU3RkM2XHU3RkM3XHU3RkM4XHU3RkM5XHU3RkNCXHU3RkNEXHU3RkNGXCIsNCxcIlx1N0ZENlx1N0ZEN1x1N0ZEOVwiLDUsXCJcdTdGRTJcdTdGRTNcdTc1RTJcdTdBQ0JcdTdDOTJcdTZDQTVcdTk2QjZcdTUyOUJcdTc0ODNcdTU0RTlcdTRGRTlcdTgwNTRcdTgzQjJcdThGREVcdTk1NzBcdTVFQzlcdTYwMUNcdTZEOUZcdTVFMThcdTY1NUJcdTgxMzhcdTk0RkVcdTYwNEJcdTcwQkNcdTdFQzNcdTdDQUVcdTUxQzlcdTY4ODFcdTdDQjFcdTgyNkZcdTRFMjRcdThGODZcdTkxQ0ZcdTY2N0VcdTRFQUVcdThDMDVcdTY0QTlcdTgwNEFcdTUwREFcdTc1OTdcdTcxQ0VcdTVCRTVcdThGQkRcdTZGNjZcdTRFODZcdTY0ODJcdTk1NjNcdTVFRDZcdTY1OTlcdTUyMTdcdTg4QzJcdTcwQzhcdTUyQTNcdTczMEVcdTc0MzNcdTY3OTdcdTc4RjdcdTk3MTZcdTRFMzRcdTkwQkJcdTlDREVcdTZEQ0JcdTUxREJcdThENDFcdTU0MURcdTYyQ0VcdTczQjJcdTgzRjFcdTk2RjZcdTlGODRcdTk0QzNcdTRGMzZcdTdGOUFcdTUxQ0NcdTcwNzVcdTk2NzVcdTVDQURcdTk4ODZcdTUzRTZcdTRFRTRcdTZFOUNcdTc0MDlcdTY5QjRcdTc4NkJcdTk5OEZcdTc1NTlcdTUyMThcdTc2MjRcdTZENDFcdTY3RjNcdTUxNkRcdTlGOTlcdTgwNEJcdTU0OTlcdTdCM0NcdTdBQkZcIl0sXG5bXCJjMjQwXCIsXCJcdTdGRTRcdTdGRTdcdTdGRThcdTdGRUFcdTdGRUJcdTdGRUNcdTdGRURcdTdGRUZcdTdGRjJcdTdGRjRcIiw2LFwiXHU3RkZEXHU3RkZFXHU3RkZGXHU4MDAyXHU4MDA3XHU4MDA4XHU4MDA5XHU4MDBBXHU4MDBFXHU4MDBGXHU4MDExXHU4MDEzXHU4MDFBXHU4MDFCXHU4MDFEXHU4MDFFXHU4MDFGXHU4MDIxXHU4MDIzXHU4MDI0XHU4MDJCXCIsNSxcIlx1ODAzMlx1ODAzNFx1ODAzOVx1ODAzQVx1ODAzQ1x1ODAzRVx1ODA0MFx1ODA0MVx1ODA0NFx1ODA0NVx1ODA0N1x1ODA0OFx1ODA0OVx1ODA0RVx1ODA0Rlx1ODA1MFx1ODA1MVx1ODA1M1x1ODA1NVx1ODA1Nlx1ODA1N1wiXSxcbltcImMyODBcIixcIlx1ODA1OVx1ODA1QlwiLDEzLFwiXHU4MDZCXCIsNSxcIlx1ODA3MlwiLDExLFwiXHU5Njg2XHU1Nzg0XHU2MkUyXHU5NjQ3XHU2OTdDXHU1QTA0XHU2NDAyXHU3QkQzXHU2RjBGXHU5NjRCXHU4MkE2XHU1MzYyXHU5ODg1XHU1RTkwXHU3MDg5XHU2M0IzXHU1MzY0XHU4NjRGXHU5QzgxXHU5RTkzXHU3ODhDXHU5NzMyXHU4REVGXHU4RDQyXHU5RTdGXHU2RjVFXHU3OTg0XHU1RjU1XHU5NjQ2XHU2MjJFXHU5QTc0XHU1NDE1XHU5NEREXHU0RkEzXHU2NUM1XHU1QzY1XHU1QzYxXHU3RjE1XHU4NjUxXHU2QzJGXHU1RjhCXHU3Mzg3XHU2RUU0XHU3RUZGXHU1Q0U2XHU2MzFCXHU1QjZBXHU2RUU2XHU1Mzc1XHU0RTcxXHU2M0EwXHU3NTY1XHU2MkExXHU4RjZFXHU0RjI2XHU0RUQxXHU2Q0E2XHU3RUI2XHU4QkJBXHU4NDFEXHU4N0JBXHU3RjU3XHU5MDNCXHU5NTIzXHU3QkE5XHU5QUExXHU4OEY4XHU4NDNEXHU2RDFCXHU5QTg2XHU3RURDXHU1OTg4XHU5RUJCXHU3MzlCXHU3ODAxXHU4NjgyXHU5QTZDXHU5QTgyXHU1NjFCXHU1NDE3XHU1N0NCXHU0RTcwXHU5RUE2XHU1MzU2XHU4RkM4XHU4MTA5XHU3NzkyXHU5OTkyXHU4NkVFXHU2RUUxXHU4NTEzXHU2NkZDXHU2MTYyXHU2RjJCXCJdLFxuW1wiYzM0MFwiLFwiXHU4MDdFXHU4MDgxXHU4MDgyXHU4MDg1XHU4MDg4XHU4MDhBXHU4MDhEXCIsNSxcIlx1ODA5NFx1ODA5NVx1ODA5N1x1ODA5OVx1ODA5RVx1ODBBM1x1ODBBNlx1ODBBN1x1ODBBOFx1ODBBQ1x1ODBCMFx1ODBCM1x1ODBCNVx1ODBCNlx1ODBCOFx1ODBCOVx1ODBCQlx1ODBDNVx1ODBDN1wiLDQsXCJcdTgwQ0ZcIiw2LFwiXHU4MEQ4XHU4MERGXHU4MEUwXHU4MEUyXHU4MEUzXHU4MEU2XHU4MEVFXHU4MEY1XHU4MEY3XHU4MEY5XHU4MEZCXHU4MEZFXHU4MEZGXHU4MTAwXHU4MTAxXHU4MTAzXHU4MTA0XHU4MTA1XHU4MTA3XHU4MTA4XHU4MTBCXCJdLFxuW1wiYzM4MFwiLFwiXHU4MTBDXHU4MTE1XHU4MTE3XHU4MTE5XHU4MTFCXHU4MTFDXHU4MTFEXHU4MTFGXCIsMTIsXCJcdTgxMkRcdTgxMkVcdTgxMzBcdTgxMzNcdTgxMzRcdTgxMzVcdTgxMzdcdTgxMzlcIiw0LFwiXHU4MTNGXHU4QzI5XHU4MjkyXHU4MzJCXHU3NkYyXHU2QzEzXHU1RkQ5XHU4M0JEXHU3MzJCXHU4MzA1XHU5NTFBXHU2QkRCXHU3N0RCXHU5NEM2XHU1MzZGXHU4MzAyXHU1MTkyXHU1RTNEXHU4QzhDXHU4RDM4XHU0RTQ4XHU3M0FCXHU2NzlBXHU2ODg1XHU5MTc2XHU5NzA5XHU3MTY0XHU2Q0ExXHU3NzA5XHU1QTkyXHU5NTQxXHU2QkNGXHU3RjhFXHU2NjI3XHU1QkQwXHU1OUI5XHU1QTlBXHU5NUU4XHU5NUY3XHU0RUVDXHU4NDBDXHU4NDk5XHU2QUFDXHU3NkRGXHU5NTMwXHU3MzFCXHU2OEE2XHU1QjVGXHU3NzJGXHU5MTlBXHU5NzYxXHU3Q0RDXHU4RkY3XHU4QzFDXHU1RjI1XHU3QzczXHU3OUQ4XHU4OUM1XHU2Q0NDXHU4NzFDXHU1QkM2XHU1RTQyXHU2OEM5XHU3NzIwXHU3RUY1XHU1MTk1XHU1MTREXHU1MkM5XHU1QTI5XHU3RjA1XHU5NzYyXHU4MkQ3XHU2M0NGXHU3Nzg0XHU4NUQwXHU3OUQyXHU2RTNBXHU1RTk5XHU1OTk5XHU4NTExXHU3MDZEXHU2QzExXHU2MkJGXHU3NkJGXHU2NTRGXHU2MEFGXHU5NUZEXHU2NjBFXHU4NzlGXHU5RTIzXHU5NEVEXHU1NDBEXHU1NDdEXHU4QzJDXHU2NDc4XCJdLFxuW1wiYzQ0MFwiLFwiXHU4MTQwXCIsNSxcIlx1ODE0N1x1ODE0OVx1ODE0RFx1ODE0RVx1ODE0Rlx1ODE1Mlx1ODE1Nlx1ODE1N1x1ODE1OFx1ODE1QlwiLDQsXCJcdTgxNjFcdTgxNjJcdTgxNjNcdTgxNjRcdTgxNjZcdTgxNjhcdTgxNkFcdTgxNkJcdTgxNkNcdTgxNkZcdTgxNzJcdTgxNzNcdTgxNzVcdTgxNzZcdTgxNzdcdTgxNzhcdTgxODFcdTgxODNcIiw0LFwiXHU4MTg5XHU4MThCXHU4MThDXHU4MThEXHU4MThFXHU4MTkwXHU4MTkyXCIsNSxcIlx1ODE5OVx1ODE5QVx1ODE5RVwiLDQsXCJcdTgxQTRcdTgxQTVcIl0sXG5bXCJjNDgwXCIsXCJcdTgxQTdcdTgxQTlcdTgxQUJcIiw3LFwiXHU4MUI0XCIsNSxcIlx1ODFCQ1x1ODFCRFx1ODFCRVx1ODFCRlx1ODFDNFx1ODFDNVx1ODFDN1x1ODFDOFx1ODFDOVx1ODFDQlx1ODFDRFwiLDYsXCJcdTY0NzlcdTg2MTFcdTZBMjFcdTgxOUNcdTc4RThcdTY0NjlcdTlCNTRcdTYyQjlcdTY3MkJcdTgzQUJcdTU4QThcdTlFRDhcdTZDQUJcdTZGMjBcdTVCREVcdTk2NENcdThDMEJcdTcyNUZcdTY3RDBcdTYyQzdcdTcyNjFcdTRFQTlcdTU5QzZcdTZCQ0RcdTU4OTNcdTY2QUVcdTVFNTVcdTUyREZcdTYxNTVcdTY3MjhcdTc2RUVcdTc3NjZcdTcyNjdcdTdBNDZcdTYyRkZcdTU0RUFcdTU0NTBcdTk0QTBcdTkwQTNcdTVBMUNcdTdFQjNcdTZDMTZcdTRFNDNcdTU5NzZcdTgwMTBcdTU5NDhcdTUzNTdcdTc1MzdcdTk2QkVcdTU2Q0FcdTYzMjBcdTgxMTFcdTYwN0NcdTk1RjlcdTZERDZcdTU0NjJcdTk5ODFcdTUxODVcdTVBRTlcdTgwRkRcdTU5QUVcdTk3MTNcdTUwMkFcdTZDRTVcdTVDM0NcdTYyREZcdTRGNjBcdTUzM0ZcdTgxN0JcdTkwMDZcdTZFQkFcdTg1MkJcdTYyQzhcdTVFNzRcdTc4QkVcdTY0QjVcdTYzN0JcdTVGRjVcdTVBMThcdTkxN0ZcdTlFMUZcdTVDM0ZcdTYzNEZcdTgwNDJcdTVCN0RcdTU1NkVcdTk1NEFcdTk1NERcdTZEODVcdTYwQThcdTY3RTBcdTcyREVcdTUxRERcdTVCODFcIl0sXG5bXCJjNTQwXCIsXCJcdTgxRDRcIiwxNCxcIlx1ODFFNFx1ODFFNVx1ODFFNlx1ODFFOFx1ODFFOVx1ODFFQlx1ODFFRVwiLDQsXCJcdTgxRjVcIiw1LFwiXHU4MUZEXHU4MUZGXHU4MjAzXHU4MjA3XCIsNCxcIlx1ODIwRVx1ODIwRlx1ODIxMVx1ODIxM1x1ODIxNVwiLDUsXCJcdTgyMURcdTgyMjBcdTgyMjRcdTgyMjVcdTgyMjZcdTgyMjdcdTgyMjlcdTgyMkVcdTgyMzJcdTgyM0FcdTgyM0NcdTgyM0RcdTgyM0ZcIl0sXG5bXCJjNTgwXCIsXCJcdTgyNDBcdTgyNDFcdTgyNDJcdTgyNDNcdTgyNDVcdTgyNDZcdTgyNDhcdTgyNEFcdTgyNENcdTgyNERcdTgyNEVcdTgyNTBcIiw3LFwiXHU4MjU5XHU4MjVCXHU4MjVDXHU4MjVEXHU4MjVFXHU4MjYwXCIsNyxcIlx1ODI2OVx1NjJFN1x1NkNERVx1NzI1Qlx1NjI2RFx1OTRBRVx1N0VCRFx1ODExM1x1NkQ1M1x1NTE5Q1x1NUYwNFx1NTk3NFx1NTJBQVx1NjAxMlx1NTk3M1x1NjY5Nlx1ODY1MFx1NzU5Rlx1NjMyQVx1NjFFNlx1N0NFRlx1OEJGQVx1NTRFNlx1NkIyN1x1OUUyNVx1NkJCNFx1ODVENVx1NTQ1NVx1NTA3Nlx1NkNBNFx1NTU2QVx1OERCNFx1NzIyQ1x1NUUxNVx1NjAxNVx1NzQzNlx1NjJDRFx1NjM5Mlx1NzI0Q1x1NUY5OFx1NkU0M1x1NkQzRVx1NjUwMFx1NkY1OFx1NzZEOFx1NzhEMFx1NzZGQ1x1NzU1NFx1NTIyNFx1NTNEQlx1NEU1M1x1NUU5RVx1NjVDMVx1ODAyQVx1ODBENlx1NjI5Qlx1NTQ4Nlx1NTIyOFx1NzBBRVx1ODg4RFx1OEREMVx1NkNFMVx1NTQ3OFx1ODBEQVx1NTdGOVx1ODhGNFx1OEQ1NFx1OTY2QVx1OTE0RFx1NEY2OVx1NkM5Qlx1NTVCN1x1NzZDNlx1NzgzMFx1NjJBOFx1NzBGOVx1NkY4RVx1NUY2RFx1ODRFQ1x1NjhEQVx1Nzg3Q1x1N0JGN1x1ODFBOFx1NjcwQlx1OUU0Rlx1NjM2N1x1NzhCMFx1NTc2Rlx1NzgxMlx1OTczOVx1NjI3OVx1NjJBQlx1NTI4OFx1NzQzNVx1NkJEN1wiXSxcbltcImM2NDBcIixcIlx1ODI2QVx1ODI2Qlx1ODI2Q1x1ODI2RFx1ODI3MVx1ODI3NVx1ODI3Nlx1ODI3N1x1ODI3OFx1ODI3Qlx1ODI3Q1x1ODI4MFx1ODI4MVx1ODI4M1x1ODI4NVx1ODI4Nlx1ODI4N1x1ODI4OVx1ODI4Q1x1ODI5MFx1ODI5M1x1ODI5NFx1ODI5NVx1ODI5Nlx1ODI5QVx1ODI5Qlx1ODI5RVx1ODJBMFx1ODJBMlx1ODJBM1x1ODJBN1x1ODJCMlx1ODJCNVx1ODJCNlx1ODJCQVx1ODJCQlx1ODJCQ1x1ODJCRlx1ODJDMFx1ODJDMlx1ODJDM1x1ODJDNVx1ODJDNlx1ODJDOVx1ODJEMFx1ODJENlx1ODJEOVx1ODJEQVx1ODJERFx1ODJFMlx1ODJFN1x1ODJFOFx1ODJFOVx1ODJFQVx1ODJFQ1x1ODJFRFx1ODJFRVx1ODJGMFx1ODJGMlx1ODJGM1x1ODJGNVx1ODJGNlx1ODJGOFwiXSxcbltcImM2ODBcIixcIlx1ODJGQVx1ODJGQ1wiLDQsXCJcdTgzMEFcdTgzMEJcdTgzMERcdTgzMTBcdTgzMTJcdTgzMTNcdTgzMTZcdTgzMThcdTgzMTlcdTgzMURcIiw5LFwiXHU4MzI5XHU4MzJBXHU4MzJFXHU4MzMwXHU4MzMyXHU4MzM3XHU4MzNCXHU4MzNEXHU1NTY0XHU4MTNFXHU3NUIyXHU3NkFFXHU1MzM5XHU3NURFXHU1MEZCXHU1QzQxXHU4QjZDXHU3QkM3XHU1MDRGXHU3MjQ3XHU5QTk3XHU5OEQ4XHU2RjAyXHU3NEUyXHU3OTY4XHU2NDg3XHU3N0E1XHU2MkZDXHU5ODkxXHU4RDJCXHU1NEMxXHU4MDU4XHU0RTUyXHU1NzZBXHU4MkY5XHU4NDBEXHU1RTczXHU1MUVEXHU3NEY2XHU4QkM0XHU1QzRGXHU1NzYxXHU2Q0ZDXHU5ODg3XHU1QTQ2XHU3ODM0XHU5QjQ0XHU4RkVCXHU3Qzk1XHU1MjU2XHU2MjUxXHU5NEZBXHU0RUM2XHU4Mzg2XHU4NDYxXHU4M0U5XHU4NEIyXHU1N0Q0XHU2NzM0XHU1NzAzXHU2NjZFXHU2RDY2XHU4QzMxXHU2NkREXHU3MDExXHU2NzFGXHU2QjNBXHU2ODE2XHU2MjFBXHU1OUJCXHU0RTAzXHU1MUM0XHU2RjA2XHU2N0QyXHU2QzhGXHU1MTc2XHU2OENCXHU1OTQ3XHU2QjY3XHU3NTY2XHU1RDBFXHU4MTEwXHU5RjUwXHU2NUQ3XHU3OTQ4XHU3OTQxXHU5QTkxXHU4RDc3XHU1QzgyXHU0RTVFXHU0RjAxXHU1NDJGXHU1OTUxXHU3ODBDXHU1NjY4XHU2QzE0XHU4RkM0XHU1RjAzXHU2QzdEXHU2Q0UzXHU4QkFCXHU2MzkwXCJdLFxuW1wiYzc0MFwiLFwiXHU4MzNFXHU4MzNGXHU4MzQxXHU4MzQyXHU4MzQ0XHU4MzQ1XHU4MzQ4XHU4MzRBXCIsNCxcIlx1ODM1M1x1ODM1NVwiLDQsXCJcdTgzNURcdTgzNjJcdTgzNzBcIiw2LFwiXHU4Mzc5XHU4MzdBXHU4MzdFXCIsNixcIlx1ODM4N1x1ODM4OFx1ODM4QVx1ODM4Qlx1ODM4Q1x1ODM4RFx1ODM4Rlx1ODM5MFx1ODM5MVx1ODM5NFx1ODM5NVx1ODM5Nlx1ODM5N1x1ODM5OVx1ODM5QVx1ODM5RFx1ODM5Rlx1ODNBMVwiLDYsXCJcdTgzQUNcdTgzQURcdTgzQUVcIl0sXG5bXCJjNzgwXCIsXCJcdTgzQUZcdTgzQjVcdTgzQkJcdTgzQkVcdTgzQkZcdTgzQzJcdTgzQzNcdTgzQzRcdTgzQzZcdTgzQzhcdTgzQzlcdTgzQ0JcdTgzQ0RcdTgzQ0VcdTgzRDBcdTgzRDFcdTgzRDJcdTgzRDNcdTgzRDVcdTgzRDdcdTgzRDlcdTgzREFcdTgzREJcdTgzREVcdTgzRTJcdTgzRTNcdTgzRTRcdTgzRTZcdTgzRTdcdTgzRThcdTgzRUJcdTgzRUNcdTgzRURcdTYwNzBcdTZEM0RcdTcyNzVcdTYyNjZcdTk0OEVcdTk0QzVcdTUzNDNcdThGQzFcdTdCN0VcdTRFREZcdThDMjZcdTRFN0VcdTlFRDRcdTk0QjFcdTk0QjNcdTUyNERcdTZGNUNcdTkwNjNcdTZENDVcdThDMzRcdTU4MTFcdTVENENcdTZCMjBcdTZCNDlcdTY3QUFcdTU0NUJcdTgxNTRcdTdGOENcdTU4OTlcdTg1MzdcdTVGM0FcdTYyQTJcdTZBNDdcdTk1MzlcdTY1NzJcdTYwODRcdTY4NjVcdTc3QTdcdTRFNTRcdTRGQThcdTVERTdcdTk3OThcdTY0QUNcdTdGRDhcdTVDRURcdTRGQ0ZcdTdBOERcdTUyMDdcdTgzMDRcdTRFMTRcdTYwMkZcdTdBODNcdTk0QTZcdTRGQjVcdTRFQjJcdTc5RTZcdTc0MzRcdTUyRTRcdTgyQjlcdTY0RDJcdTc5QkRcdTVCRERcdTZDODFcdTk3NTJcdThGN0JcdTZDMjJcdTUwM0VcdTUzN0ZcdTZFMDVcdTY0Q0VcdTY2NzRcdTZDMzBcdTYwQzVcdTk4NzdcdThCRjdcdTVFODZcdTc0M0NcdTdBNzdcdTc5Q0JcdTRFMThcdTkwQjFcdTc0MDNcdTZDNDJcdTU2REFcdTkxNEJcdTZDQzVcdThEOEJcdTUzM0FcdTg2QzZcdTY2RjJcdThFQUZcdTVDNDhcdTlBNzFcdTZFMjBcIl0sXG5bXCJjODQwXCIsXCJcdTgzRUVcdTgzRUZcdTgzRjNcIiw0LFwiXHU4M0ZBXHU4M0ZCXHU4M0ZDXHU4M0ZFXHU4M0ZGXHU4NDAwXHU4NDAyXHU4NDA1XHU4NDA3XHU4NDA4XHU4NDA5XHU4NDBBXHU4NDEwXHU4NDEyXCIsNSxcIlx1ODQxOVx1ODQxQVx1ODQxQlx1ODQxRVwiLDUsXCJcdTg0MjlcIiw3LFwiXHU4NDMyXCIsNSxcIlx1ODQzOVx1ODQzQVx1ODQzQlx1ODQzRVwiLDcsXCJcdTg0NDdcdTg0NDhcdTg0NDlcIl0sXG5bXCJjODgwXCIsXCJcdTg0NEFcIiw2LFwiXHU4NDUyXCIsNCxcIlx1ODQ1OFx1ODQ1RFx1ODQ1RVx1ODQ1Rlx1ODQ2MFx1ODQ2Mlx1ODQ2NFwiLDQsXCJcdTg0NkFcdTg0NkVcdTg0NkZcdTg0NzBcdTg0NzJcdTg0NzRcdTg0NzdcdTg0NzlcdTg0N0JcdTg0N0NcdTUzRDZcdTVBMzZcdTlGOEJcdThEQTNcdTUzQkJcdTU3MDhcdTk4QTdcdTY3NDNcdTkxOUJcdTZDQzlcdTUxNjhcdTc1Q0FcdTYyRjNcdTcyQUNcdTUyMzhcdTUyOURcdTdGM0FcdTcwOTRcdTc2MzhcdTUzNzRcdTlFNEFcdTY5QjdcdTc4NkVcdTk2QzBcdTg4RDlcdTdGQTRcdTcxMzZcdTcxQzNcdTUxODlcdTY3RDNcdTc0RTRcdTU4RTRcdTY1MThcdTU2QjdcdThCQTlcdTk5NzZcdTYyNzBcdTdFRDVcdTYwRjlcdTcwRURcdTU4RUNcdTRFQzFcdTRFQkFcdTVGQ0RcdTk3RTdcdTRFRkJcdThCQTRcdTUyMDNcdTU5OEFcdTdFQUJcdTYyNTRcdTRFQ0RcdTY1RTVcdTYyMEVcdTgzMzhcdTg0QzlcdTgzNjNcdTg3OERcdTcxOTRcdTZFQjZcdTVCQjlcdTdFRDJcdTUxOTdcdTYzQzlcdTY3RDRcdTgwODlcdTgzMzlcdTg4MTVcdTUxMTJcdTVCN0FcdTU5ODJcdThGQjFcdTRFNzNcdTZDNURcdTUxNjVcdTg5MjVcdThGNkZcdTk2MkVcdTg1NEFcdTc0NUVcdTk1MTBcdTk1RjBcdTZEQTZcdTgyRTVcdTVGMzFcdTY0OTJcdTZEMTJcdTg0MjhcdTgxNkVcdTlDQzNcdTU4NUVcdThENUJcdTRFMDlcdTUzQzFcIl0sXG5bXCJjOTQwXCIsXCJcdTg0N0RcIiw0LFwiXHU4NDgzXHU4NDg0XHU4NDg1XHU4NDg2XHU4NDhBXHU4NDhEXHU4NDhGXCIsNyxcIlx1ODQ5OFx1ODQ5QVx1ODQ5Qlx1ODQ5RFx1ODQ5RVx1ODQ5Rlx1ODRBMFx1ODRBMlwiLDEyLFwiXHU4NEIwXHU4NEIxXHU4NEIzXHU4NEI1XHU4NEI2XHU4NEI3XHU4NEJCXHU4NEJDXHU4NEJFXHU4NEMwXHU4NEMyXHU4NEMzXHU4NEM1XHU4NEM2XHU4NEM3XHU4NEM4XHU4NENCXHU4NENDXHU4NENFXHU4NENGXHU4NEQyXHU4NEQ0XHU4NEQ1XHU4NEQ3XCJdLFxuW1wiYzk4MFwiLFwiXHU4NEQ4XCIsNCxcIlx1ODRERVx1ODRFMVx1ODRFMlx1ODRFNFx1ODRFN1wiLDQsXCJcdTg0RURcdTg0RUVcdTg0RUZcdTg0RjFcIiwxMCxcIlx1ODRGRFx1ODRGRVx1ODUwMFx1ODUwMVx1ODUwMlx1NEYxRVx1NjU2M1x1Njg1MVx1NTVEM1x1NEUyN1x1NjQxNFx1OUE5QVx1NjI2Qlx1NUFDMlx1NzQ1Rlx1ODI3Mlx1NkRBOVx1NjhFRVx1NTBFN1x1ODM4RVx1NzgwMlx1Njc0MFx1NTIzOVx1NkM5OVx1N0VCMVx1NTBCQlx1NTU2NVx1NzE1RVx1N0I1Qlx1NjY1Mlx1NzNDQVx1ODJFQlx1Njc0OVx1NUM3MVx1NTIyMFx1NzE3RFx1ODg2Qlx1OTVFQVx1OTY1NVx1NjRDNVx1OEQ2MVx1ODFCM1x1NTU4NFx1NkM1NVx1NjI0N1x1N0YyRVx1NTg5Mlx1NEYyNFx1NTU0Nlx1OEQ0Rlx1NjY0Q1x1NEUwQVx1NUMxQVx1ODhGM1x1NjhBMlx1NjM0RVx1N0EwRFx1NzBFN1x1ODI4RFx1NTJGQVx1OTdGNlx1NUMxMVx1NTRFOFx1OTBCNVx1N0VDRFx1NTk2Mlx1OEQ0QVx1ODZDN1x1ODIwQ1x1ODIwRFx1OEQ2Nlx1NjQ0NFx1NUMwNFx1NjE1MVx1NkQ4OVx1NzkzRVx1OEJCRVx1NzgzN1x1NzUzM1x1NTQ3Qlx1NEYzOFx1OEVBQlx1NkRGMVx1NUEyMFx1N0VDNVx1Nzk1RVx1NkM4OFx1NUJBMVx1NUE3Nlx1NzUxQVx1ODBCRVx1NjE0RVx1NkUxN1x1NThGMFx1NzUxRlx1NzUyNVx1NzI3Mlx1NTM0N1x1N0VGM1wiXSxcbltcImNhNDBcIixcIlx1ODUwM1wiLDgsXCJcdTg1MERcdTg1MEVcdTg1MEZcdTg1MTBcdTg1MTJcdTg1MTRcdTg1MTVcdTg1MTZcdTg1MThcdTg1MTlcdTg1MUJcdTg1MUNcdTg1MURcdTg1MUVcdTg1MjBcdTg1MjJcIiw4LFwiXHU4NTJEXCIsOSxcIlx1ODUzRVwiLDQsXCJcdTg1NDRcdTg1NDVcdTg1NDZcdTg1NDdcdTg1NEJcIiwxMF0sXG5bXCJjYTgwXCIsXCJcdTg1NTdcdTg1NThcdTg1NUFcdTg1NUJcdTg1NUNcdTg1NURcdTg1NUZcIiw0LFwiXHU4NTY1XHU4NTY2XHU4NTY3XHU4NTY5XCIsOCxcIlx1ODU3M1x1ODU3NVx1ODU3Nlx1ODU3N1x1ODU3OFx1ODU3Q1x1ODU3RFx1ODU3Rlx1ODU4MFx1ODU4MVx1NzcwMVx1NzZEQlx1NTI2OVx1ODBEQ1x1NTcyM1x1NUUwOFx1NTkzMVx1NzJFRVx1NjVCRFx1NkU3Rlx1OEJEN1x1NUMzOFx1ODY3MVx1NTM0MVx1NzdGM1x1NjJGRVx1NjVGNlx1NEVDMFx1OThERlx1ODY4MFx1NUI5RVx1OEJDNlx1NTNGMlx1NzdFMlx1NEY3Rlx1NUM0RVx1OUE3Nlx1NTlDQlx1NUYwRlx1NzkzQVx1NThFQlx1NEUxNlx1NjdGRlx1NEU4Qlx1NjJFRFx1OEE5M1x1OTAxRFx1NTJCRlx1NjYyRlx1NTVEQ1x1NTY2Q1x1OTAwMlx1NEVENVx1NEY4RFx1OTFDQVx1OTk3MFx1NkMwRlx1NUUwMlx1NjA0M1x1NUJBNFx1ODlDNlx1OEJENVx1NjUzNlx1NjI0Qlx1OTk5Nlx1NUI4OFx1NUJGRlx1NjM4OFx1NTUyRVx1NTNEN1x1NzYyNlx1NTE3RFx1ODUyQ1x1NjdBMlx1NjhCM1x1NkI4QVx1NjI5Mlx1OEY5M1x1NTNENFx1ODIxMlx1NkREMVx1NzU4Rlx1NEU2Nlx1OEQ0RVx1NUI3MFx1NzE5Rlx1ODVBRlx1NjY5MVx1NjZEOVx1N0Y3Mlx1ODcwMFx1OUVDRFx1OUYyMFx1NUM1RVx1NjcyRlx1OEZGMFx1NjgxMVx1Njc1Rlx1NjIwRFx1N0FENlx1NTg4NVx1NUVCNlx1NjU3MFx1NkYzMVwiXSxcbltcImNiNDBcIixcIlx1ODU4Mlx1ODU4M1x1ODU4Nlx1ODU4OFwiLDYsXCJcdTg1OTBcIiwxMCxcIlx1ODU5RFwiLDYsXCJcdTg1QTVcdTg1QTZcdTg1QTdcdTg1QTlcdTg1QUJcdTg1QUNcdTg1QURcdTg1QjFcIiw1LFwiXHU4NUI4XHU4NUJBXCIsNixcIlx1ODVDMlwiLDYsXCJcdTg1Q0FcIiw0LFwiXHU4NUQxXHU4NUQyXCJdLFxuW1wiY2I4MFwiLFwiXHU4NUQ0XHU4NUQ2XCIsNSxcIlx1ODVERFwiLDYsXCJcdTg1RTVcdTg1RTZcdTg1RTdcdTg1RThcdTg1RUFcIiwxNCxcIlx1NjA1NVx1NTIzN1x1ODAwRFx1NjQ1NFx1ODg3MFx1NzUyOVx1NUUwNVx1NjgxM1x1NjJGNFx1OTcxQ1x1NTNDQ1x1NzIzRFx1OEMwMVx1NkMzNFx1Nzc2MVx1N0EwRVx1NTQyRVx1NzdBQ1x1OTg3QVx1ODIxQ1x1OEJGNFx1Nzg1NVx1NjcxNFx1NzBDMVx1NjVBRlx1NjQ5NVx1NTYzNlx1NjAxRFx1NzlDMVx1NTNGOFx1NEUxRFx1NkI3Qlx1ODA4Nlx1NUJGQVx1NTVFM1x1NTZEQlx1NEYzQVx1NEYzQ1x1OTk3Mlx1NURGM1x1Njc3RVx1ODAzOFx1NjAwMlx1OTg4Mlx1OTAwMVx1NUI4Qlx1OEJCQ1x1OEJGNVx1NjQxQ1x1ODI1OFx1NjRERVx1NTVGRFx1ODJDRlx1OTE2NVx1NEZEN1x1N0QyMFx1OTAxRlx1N0M5Rlx1NTBGM1x1NTg1MVx1NkVBRlx1NUJCRlx1OEJDOVx1ODA4M1x1OTE3OFx1ODQ5Q1x1N0I5N1x1ODY3RFx1OTY4Qlx1OTY4Rlx1N0VFNVx1OUFEM1x1Nzg4RVx1NUM4MVx1N0E1N1x1OTA0Mlx1OTZBN1x1Nzk1Rlx1NUI1OVx1NjM1Rlx1N0IwQlx1ODREMVx1NjhBRFx1NTUwNlx1N0YyOVx1NzQxMFx1N0QyMlx1OTUwMVx1NjI0MFx1NTg0Q1x1NEVENlx1NUI4M1x1NTk3OVx1NTg1NFwiXSxcbltcImNjNDBcIixcIlx1ODVGOVx1ODVGQVx1ODVGQ1x1ODVGRFx1ODVGRVx1ODYwMFwiLDQsXCJcdTg2MDZcIiwxMCxcIlx1ODYxMlx1ODYxM1x1ODYxNFx1ODYxNVx1ODYxN1wiLDE1LFwiXHU4NjI4XHU4NjJBXCIsMTMsXCJcdTg2MzlcdTg2M0FcdTg2M0JcdTg2M0RcdTg2M0VcdTg2M0ZcdTg2NDBcIl0sXG5bXCJjYzgwXCIsXCJcdTg2NDFcIiwxMSxcIlx1ODY1Mlx1ODY1M1x1ODY1NVwiLDQsXCJcdTg2NUJcdTg2NUNcdTg2NURcdTg2NUZcdTg2NjBcdTg2NjFcdTg2NjNcIiw3LFwiXHU3MzZEXHU2MzFFXHU4RTRCXHU4RTBGXHU4MENFXHU4MkQ0XHU2MkFDXHU1M0YwXHU2Q0YwXHU5MTVFXHU1OTJBXHU2MDAxXHU2QzcwXHU1NzREXHU2NDRBXHU4RDJBXHU3NjJCXHU2RUU5XHU1NzVCXHU2QTgwXHU3NUYwXHU2RjZEXHU4QzJEXHU4QzA4XHU1NzY2XHU2QkVGXHU4ODkyXHU3OEIzXHU2M0EyXHU1M0Y5XHU3MEFEXHU2QzY0XHU1ODU4XHU2NDJBXHU1ODAyXHU2OEUwXHU4MTlCXHU1NTEwXHU3Q0Q2XHU1MDE4XHU4RUJBXHU2RENDXHU4RDlGXHU3MEVCXHU2MzhGXHU2RDlCXHU2RUQ0XHU3RUU2XHU4NDA0XHU2ODQzXHU5MDAzXHU2REQ4XHU5Njc2XHU4QkE4XHU1OTU3XHU3Mjc5XHU4NUU0XHU4MTdFXHU3NUJDXHU4QThBXHU2OEFGXHU1MjU0XHU4RTIyXHU5NTExXHU2M0QwXHU5ODk4XHU4RTQ0XHU1NTdDXHU0RjUzXHU2NkZGXHU1NjhGXHU2MEQ1XHU2RDk1XHU1MjQzXHU1QzQ5XHU1OTI5XHU2REZCXHU1ODZCXHU3NTMwXHU3NTFDXHU2MDZDXHU4MjE0XHU4MTQ2XHU2MzExXHU2NzYxXHU4RkUyXHU3NzNBXHU4REYzXHU4RDM0XHU5NEMxXHU1RTE2XHU1Mzg1XHU1NDJDXHU3MEMzXCJdLFxuW1wiY2Q0MFwiLFwiXHU4NjZEXHU4NjZGXHU4NjcwXHU4NjcyXCIsNixcIlx1ODY4M1wiLDYsXCJcdTg2OEVcIiw0LFwiXHU4Njk0XHU4Njk2XCIsNSxcIlx1ODY5RVwiLDQsXCJcdTg2QTVcdTg2QTZcdTg2QUJcdTg2QURcdTg2QUVcdTg2QjJcdTg2QjNcdTg2QjdcdTg2QjhcdTg2QjlcdTg2QkJcIiw0LFwiXHU4NkMxXHU4NkMyXHU4NkMzXHU4NkM1XHU4NkM4XHU4NkNDXHU4NkNEXHU4NkQyXHU4NkQzXHU4NkQ1XHU4NkQ2XHU4NkQ3XHU4NkRBXHU4NkRDXCJdLFxuW1wiY2Q4MFwiLFwiXHU4NkREXHU4NkUwXHU4NkUxXHU4NkUyXHU4NkUzXHU4NkU1XHU4NkU2XHU4NkU3XHU4NkU4XHU4NkVBXHU4NkVCXHU4NkVDXHU4NkVGXHU4NkY1XHU4NkY2XHU4NkY3XHU4NkZBXHU4NkZCXHU4NkZDXHU4NkZEXHU4NkZGXHU4NzAxXHU4NzA0XHU4NzA1XHU4NzA2XHU4NzBCXHU4NzBDXHU4NzBFXHU4NzBGXHU4NzEwXHU4NzExXHU4NzE0XHU4NzE2XHU2QzQwXHU1RUY3XHU1MDVDXHU0RUFEXHU1RUFEXHU2MzNBXHU4MjQ3XHU5MDFBXHU2ODUwXHU5MTZFXHU3N0IzXHU1NDBDXHU5NERDXHU1RjY0XHU3QUU1XHU2ODc2XHU2MzQ1XHU3QjUyXHU3RURGXHU3NURCXHU1MDc3XHU2Mjk1XHU1OTM0XHU5MDBGXHU1MUY4XHU3OUMzXHU3QTgxXHU1NkZFXHU1RjkyXHU5MDE0XHU2RDgyXHU1QzYwXHU1NzFGXHU1NDEwXHU1MTU0XHU2RTREXHU1NkUyXHU2M0E4XHU5ODkzXHU4MTdGXHU4NzE1XHU4OTJBXHU5MDAwXHU1NDFFXHU1QzZGXHU4MUMwXHU2MkQ2XHU2MjU4XHU4MTMxXHU5RTM1XHU5NjQwXHU5QTZFXHU5QTdDXHU2OTJEXHU1OUE1XHU2MkQzXHU1NTNFXHU2MzE2XHU1NEM3XHU4NkQ5XHU2RDNDXHU1QTAzXHU3NEU2XHU4ODlDXHU2QjZBXHU1OTE2XHU4QzRDXHU1RjJGXHU2RTdFXHU3M0E5XHU5ODdEXHU0RTM4XHU3MEY3XHU1QjhDXHU3ODk3XHU2MzNEXHU2NjVBXHU3Njk2XHU2MENCXHU1QjlCXHU1QTQ5XHU0RTA3XHU4MTU1XHU2QzZBXHU3MzhCXHU0RUExXHU2Nzg5XHU3RjUxXHU1RjgwXHU2NUZBXHU2NzFCXHU1RkQ4XHU1OTg0XHU1QTAxXCJdLFxuW1wiY2U0MFwiLFwiXHU4NzE5XHU4NzFCXHU4NzFEXHU4NzFGXHU4NzIwXHU4NzI0XHU4NzI2XHU4NzI3XHU4NzI4XHU4NzJBXHU4NzJCXHU4NzJDXHU4NzJEXHU4NzJGXHU4NzMwXHU4NzMyXHU4NzMzXHU4NzM1XHU4NzM2XHU4NzM4XHU4NzM5XHU4NzNBXHU4NzNDXHU4NzNEXHU4NzQwXCIsNixcIlx1ODc0QVx1ODc0Qlx1ODc0RFx1ODc0Rlx1ODc1MFx1ODc1MVx1ODc1Mlx1ODc1NFx1ODc1NVx1ODc1Nlx1ODc1OFx1ODc1QVwiLDUsXCJcdTg3NjFcdTg3NjJcdTg3NjZcIiw3LFwiXHU4NzZGXHU4NzcxXHU4NzcyXHU4NzczXHU4Nzc1XCJdLFxuW1wiY2U4MFwiLFwiXHU4Nzc3XHU4Nzc4XHU4Nzc5XHU4NzdBXHU4NzdGXHU4NzgwXHU4NzgxXHU4Nzg0XHU4Nzg2XHU4Nzg3XHU4Nzg5XHU4NzhBXHU4NzhDXHU4NzhFXCIsNCxcIlx1ODc5NFx1ODc5NVx1ODc5Nlx1ODc5OFwiLDYsXCJcdTg3QTBcIiw0LFwiXHU1RENEXHU1RkFFXHU1MzcxXHU5N0U2XHU4RkREXHU2ODQ1XHU1NkY0XHU1NTJGXHU2MERGXHU0RTNBXHU2RjREXHU3RUY0XHU4MkM3XHU4NDBFXHU1OUQ0XHU0RjFGXHU0RjJBXHU1QzNFXHU3RUFDXHU2NzJBXHU4NTFBXHU1NDczXHU3NTRGXHU4MEMzXHU1NTgyXHU5QjRGXHU0RjREXHU2RTJEXHU4QzEzXHU1QzA5XHU2MTcwXHU1MzZCXHU3NjFGXHU2RTI5XHU4NjhBXHU2NTg3XHU5NUZCXHU3RUI5XHU1NDNCXHU3QTMzXHU3RDBBXHU5NUVFXHU1NUUxXHU3RkMxXHU3NEVFXHU2MzFEXHU4NzE3XHU2REExXHU3QTlEXHU2MjExXHU2NUExXHU1MzY3XHU2M0UxXHU2QzgzXHU1REVCXHU1NDVDXHU5NEE4XHU0RTRDXHU2QzYxXHU4QkVDXHU1QzRCXHU2NUUwXHU4MjlDXHU2OEE3XHU1NDNFXHU1NDM0XHU2QkNCXHU2QjY2XHU0RTk0XHU2MzQyXHU1MzQ4XHU4MjFFXHU0RjBEXHU0RkFFXHU1NzVFXHU2MjBBXHU5NkZFXHU2NjY0XHU3MjY5XHU1MkZGXHU1MkExXHU2MDlGXHU4QkVGXHU2NjE0XHU3MTk5XHU2NzkwXHU4OTdGXHU3ODUyXHU3N0ZEXHU2NjcwXHU1NjNCXHU1NDM4XHU5NTIxXHU3MjdBXCJdLFxuW1wiY2Y0MFwiLFwiXHU4N0E1XHU4N0E2XHU4N0E3XHU4N0E5XHU4N0FBXHU4N0FFXHU4N0IwXHU4N0IxXHU4N0IyXHU4N0I0XHU4N0I2XHU4N0I3XHU4N0I4XHU4N0I5XHU4N0JCXHU4N0JDXHU4N0JFXHU4N0JGXHU4N0MxXCIsNCxcIlx1ODdDN1x1ODdDOFx1ODdDOVx1ODdDQ1wiLDQsXCJcdTg3RDRcIiw2LFwiXHU4N0RDXHU4N0REXHU4N0RFXHU4N0RGXHU4N0UxXHU4N0UyXHU4N0UzXHU4N0U0XHU4N0U2XHU4N0U3XHU4N0U4XHU4N0U5XHU4N0VCXHU4N0VDXHU4N0VEXHU4N0VGXCIsOV0sXG5bXCJjZjgwXCIsXCJcdTg3RkFcdTg3RkJcdTg3RkNcdTg3RkRcdTg3RkZcdTg4MDBcdTg4MDFcdTg4MDJcdTg4MDRcIiw1LFwiXHU4ODBCXCIsNyxcIlx1ODgxNFx1ODgxN1x1ODgxOFx1ODgxOVx1ODgxQVx1ODgxQ1wiLDQsXCJcdTg4MjNcdTdBMDBcdTYwNkZcdTVFMENcdTYwODlcdTgxOURcdTU5MTVcdTYwRENcdTcxODRcdTcwRUZcdTZFQUFcdTZDNTBcdTcyODBcdTZBODRcdTg4QURcdTVFMkRcdTRFNjBcdTVBQjNcdTU1OUNcdTk0RTNcdTZEMTdcdTdDRkJcdTk2OTlcdTYyMEZcdTdFQzZcdTc3OEVcdTg2N0VcdTUzMjNcdTk3MUVcdThGOTZcdTY2ODdcdTVDRTFcdTRGQTBcdTcyRURcdTRFMEJcdTUzQTZcdTU5MEZcdTU0MTNcdTYzODBcdTk1MjhcdTUxNDhcdTRFRDlcdTlDOUNcdTdFQTRcdTU0QjhcdThEMjRcdTg4NTRcdTgyMzdcdTk1RjJcdTZEOEVcdTVGMjZcdTVBQ0NcdTY2M0VcdTk2NjlcdTczQjBcdTczMkVcdTUzQkZcdTgxN0FcdTk5ODVcdTdGQTFcdTVCQUFcdTk2NzdcdTk2NTBcdTdFQkZcdTc2RjhcdTUzQTJcdTk1NzZcdTk5OTlcdTdCQjFcdTg5NDRcdTZFNThcdTRFNjFcdTdGRDRcdTc5NjVcdThCRTZcdTYwRjNcdTU0Q0RcdTRFQUJcdTk4NzlcdTVERjdcdTZBNjFcdTUwQ0ZcdTU0MTFcdThDNjFcdTg0MjdcdTc4NURcdTk3MDRcdTUyNEFcdTU0RUVcdTU2QTNcdTk1MDBcdTZEODhcdTVCQjVcdTZEQzZcdTY2NTNcIl0sXG5bXCJkMDQwXCIsXCJcdTg4MjRcIiwxMyxcIlx1ODgzM1wiLDUsXCJcdTg4M0FcdTg4M0JcdTg4M0RcdTg4M0VcdTg4M0ZcdTg4NDFcdTg4NDJcdTg4NDNcdTg4NDZcIiw1LFwiXHU4ODRFXCIsNSxcIlx1ODg1NVx1ODg1Nlx1ODg1OFx1ODg1QVwiLDYsXCJcdTg4NjZcdTg4NjdcdTg4NkFcdTg4NkRcdTg4NkZcdTg4NzFcdTg4NzNcdTg4NzRcdTg4NzVcdTg4NzZcdTg4NzhcdTg4NzlcdTg4N0FcIl0sXG5bXCJkMDgwXCIsXCJcdTg4N0JcdTg4N0NcdTg4ODBcdTg4ODNcdTg4ODZcdTg4ODdcdTg4ODlcdTg4OEFcdTg4OENcdTg4OEVcdTg4OEZcdTg4OTBcdTg4OTFcdTg4OTNcdTg4OTRcdTg4OTVcdTg4OTdcIiw0LFwiXHU4ODlEXCIsNCxcIlx1ODhBM1x1ODhBNVwiLDUsXCJcdTVDMEZcdTVCNURcdTY4MjFcdTgwOTZcdTU1NzhcdTdCMTFcdTY1NDhcdTY5NTRcdTRFOUJcdTZCNDdcdTg3NEVcdTk3OEJcdTUzNEZcdTYzMUZcdTY0M0FcdTkwQUFcdTY1OUNcdTgwQzFcdThDMTBcdTUxOTlcdTY4QjBcdTUzNzhcdTg3RjlcdTYxQzhcdTZDQzRcdTZDRkJcdThDMjJcdTVDNTFcdTg1QUFcdTgyQUZcdTk1MENcdTZCMjNcdThGOUJcdTY1QjBcdTVGRkJcdTVGQzNcdTRGRTFcdTg4NDVcdTY2MUZcdTgxNjVcdTczMjlcdTYwRkFcdTUxNzRcdTUyMTFcdTU3OEJcdTVGNjJcdTkwQTJcdTg4NENcdTkxOTJcdTVFNzhcdTY3NEZcdTYwMjdcdTU5RDNcdTUxNDRcdTUxRjZcdTgwRjhcdTUzMDhcdTZDNzlcdTk2QzRcdTcxOEFcdTRGMTFcdTRGRUVcdTdGOUVcdTY3M0RcdTU1QzVcdTk1MDhcdTc5QzBcdTg4OTZcdTdFRTNcdTU4OUZcdTYyMENcdTk3MDBcdTg2NUFcdTU2MThcdTk4N0JcdTVGOTBcdThCQjhcdTg0QzRcdTkxNTdcdTUzRDlcdTY1RURcdTVFOEZcdTc1NUNcdTYwNjRcdTdENkVcdTVBN0ZcdTdFRUFcdTdFRURcdThGNjlcdTU1QTdcdTVCQTNcdTYwQUNcdTY1Q0JcdTczODRcIl0sXG5bXCJkMTQwXCIsXCJcdTg4QUNcdTg4QUVcdTg4QUZcdTg4QjBcdTg4QjJcIiw0LFwiXHU4OEI4XHU4OEI5XHU4OEJBXHU4OEJCXHU4OEJEXHU4OEJFXHU4OEJGXHU4OEMwXHU4OEMzXHU4OEM0XHU4OEM3XHU4OEM4XHU4OENBXHU4OENCXHU4OENDXHU4OENEXHU4OENGXHU4OEQwXHU4OEQxXHU4OEQzXHU4OEQ2XHU4OEQ3XHU4OERBXCIsNCxcIlx1ODhFMFx1ODhFMVx1ODhFNlx1ODhFN1x1ODhFOVwiLDYsXCJcdTg4RjJcdTg4RjVcdTg4RjZcdTg4RjdcdTg4RkFcdTg4RkJcdTg4RkRcdTg4RkZcdTg5MDBcdTg5MDFcdTg5MDNcIiw1XSxcbltcImQxODBcIixcIlx1ODkwOVx1ODkwQlwiLDQsXCJcdTg5MTFcdTg5MTRcIiw0LFwiXHU4OTFDXCIsNCxcIlx1ODkyMlx1ODkyM1x1ODkyNFx1ODkyNlx1ODkyN1x1ODkyOFx1ODkyOVx1ODkyQ1x1ODkyRFx1ODkyRVx1ODkyRlx1ODkzMVx1ODkzMlx1ODkzM1x1ODkzNVx1ODkzN1x1OTAwOVx1NzY2M1x1NzcyOVx1N0VEQVx1OTc3NFx1ODU5Qlx1NUI2Nlx1N0E3NFx1OTZFQVx1ODg0MFx1NTJDQlx1NzE4Rlx1NUZBQVx1NjVFQ1x1OEJFMlx1NUJGQlx1OUE2Rlx1NURFMVx1NkI4OVx1NkM1Qlx1OEJBRFx1OEJBRlx1OTAwQVx1OEZDNVx1NTM4Qlx1NjJCQ1x1OUUyNlx1OUUyRFx1NTQ0MFx1NEUyQlx1ODJCRFx1NzI1OVx1ODY5Q1x1NUQxNlx1ODg1OVx1NkRBRlx1OTZDNVx1NTREMVx1NEU5QVx1OEJCNlx1NzEwOVx1NTRCRFx1OTYwOVx1NzBERlx1NkRGOVx1NzZEMFx1NEUyNVx1NzgxNFx1ODcxMlx1NUNBOVx1NUVGNlx1OEEwMFx1OTg5Q1x1OTYwRVx1NzA4RVx1NkNCRlx1NTk0NFx1NjNBOVx1NzczQ1x1ODg0RFx1NkYxNFx1ODI3M1x1NTgzMFx1NzFENVx1NTM4Q1x1NzgxQVx1OTZDMVx1NTUwMVx1NUY2Nlx1NzEzMFx1NUJCNFx1OEMxQVx1OUE4Q1x1NkI4M1x1NTkyRVx1OUUyRlx1NzlFN1x1Njc2OFx1NjI2Q1x1NEY2Rlx1NzVBMVx1N0Y4QVx1NkQwQlx1OTYzM1x1NkMyN1x1NEVGMFx1NzVEMlx1NTE3Qlx1NjgzN1x1NkYzRVx1OTA4MFx1ODE3MFx1NTk5Nlx1NzQ3NlwiXSxcbltcImQyNDBcIixcIlx1ODkzOFwiLDgsXCJcdTg5NDJcdTg5NDNcdTg5NDVcIiwyNCxcIlx1ODk2MFwiLDUsXCJcdTg5NjdcIiwxOSxcIlx1ODk3Q1wiXSxcbltcImQyODBcIixcIlx1ODk3RFx1ODk3RVx1ODk4MFx1ODk4Mlx1ODk4NFx1ODk4NVx1ODk4N1wiLDI2LFwiXHU2NDQ3XHU1QzI3XHU5MDY1XHU3QTkxXHU4QzIzXHU1OURBXHU1NEFDXHU4MjAwXHU4MzZGXHU4OTgxXHU4MDAwXHU2OTMwXHU1NjRFXHU4MDM2XHU3MjM3XHU5MUNFXHU1MUI2XHU0RTVGXHU5ODc1XHU2Mzk2XHU0RTFBXHU1M0Y2XHU2NkYzXHU4MTRCXHU1OTFDXHU2REIyXHU0RTAwXHU1OEY5XHU1MzNCXHU2M0Q2XHU5NEYxXHU0RjlEXHU0RjBBXHU4ODYzXHU5ODkwXHU1OTM3XHU5MDU3XHU3OUZCXHU0RUVBXHU4MEYwXHU3NTkxXHU2QzgyXHU1QjlDXHU1OUU4XHU1RjVEXHU2OTA1XHU4NjgxXHU1MDFBXHU1REYyXHU0RTU5XHU3N0UzXHU0RUU1XHU4MjdBXHU2MjkxXHU2NjEzXHU5MDkxXHU1Qzc5XHU0RUJGXHU1Rjc5XHU4MUM2XHU5MDM4XHU4MDg0XHU3NUFCXHU0RUE2XHU4OEQ0XHU2MTBGXHU2QkM1XHU1RkM2XHU0RTQ5XHU3NkNBXHU2RUEyXHU4QkUzXHU4QkFFXHU4QzBBXHU4QkQxXHU1RjAyXHU3RkZDXHU3RkNDXHU3RUNFXHU4MzM1XHU4MzZCXHU1NkUwXHU2QkI3XHU5N0YzXHU5NjM0XHU1OUZCXHU1NDFGXHU5NEY2XHU2REVCXHU1QkM1XHU5OTZFXHU1QzM5XHU1RjE1XHU5NjkwXCJdLFxuW1wiZDM0MFwiLFwiXHU4OUEyXCIsMzAsXCJcdTg5QzNcdTg5Q0RcdTg5RDNcdTg5RDRcdTg5RDVcdTg5RDdcdTg5RDhcdTg5RDlcdTg5REJcdTg5RERcdTg5REZcdTg5RTBcdTg5RTFcdTg5RTJcdTg5RTRcdTg5RTdcdTg5RThcdTg5RTlcdTg5RUFcdTg5RUNcdTg5RURcdTg5RUVcdTg5RjBcdTg5RjFcdTg5RjJcdTg5RjRcIiw2XSxcbltcImQzODBcIixcIlx1ODlGQlwiLDQsXCJcdThBMDFcIiw1LFwiXHU4QTA4XCIsMjEsXCJcdTUzNzBcdTgyRjFcdTZBMzFcdTVBNzRcdTlFNzBcdTVFOTRcdTdGMjhcdTgzQjlcdTg0MjRcdTg0MjVcdTgzNjdcdTg3NDdcdThGQ0VcdThENjJcdTc2QzhcdTVGNzFcdTk4OTZcdTc4NkNcdTY2MjBcdTU0REZcdTYyRTVcdTRGNjNcdTgxQzNcdTc1QzhcdTVFQjhcdTk2Q0RcdThFMEFcdTg2RjlcdTU0OEZcdTZDRjNcdTZEOENcdTZDMzhcdTYwN0ZcdTUyQzdcdTc1MjhcdTVFN0RcdTRGMThcdTYwQTBcdTVGRTdcdTVDMjRcdTc1MzFcdTkwQUVcdTk0QzBcdTcyQjlcdTZDQjlcdTZFMzhcdTkxNDlcdTY3MDlcdTUzQ0JcdTUzRjNcdTRGNTFcdTkxQzlcdThCRjFcdTUzQzhcdTVFN0NcdThGQzJcdTZERTRcdTRFOEVcdTc2QzJcdTY5ODZcdTg2NUVcdTYxMUFcdTgyMDZcdTRGNTlcdTRGREVcdTkwM0VcdTlDN0NcdTYxMDlcdTZFMURcdTZFMTRcdTk2ODVcdTRFODhcdTVBMzFcdTk2RThcdTRFMEVcdTVDN0ZcdTc5QjlcdTVCODdcdThCRURcdTdGQkRcdTczODlcdTU3REZcdTgyOEJcdTkwQzFcdTU0MDFcdTkwNDdcdTU1QkJcdTVDRUFcdTVGQTFcdTYxMDhcdTZCMzJcdTcyRjFcdTgwQjJcdThBODlcIl0sXG5bXCJkNDQwXCIsXCJcdThBMUVcIiwzMSxcIlx1OEEzRlwiLDgsXCJcdThBNDlcIiwyMV0sXG5bXCJkNDgwXCIsXCJcdThBNUZcIiwyNSxcIlx1OEE3QVwiLDYsXCJcdTZENzRcdTVCRDNcdTg4RDVcdTk4ODRcdThDNkJcdTlBNkRcdTlFMzNcdTZFMEFcdTUxQTRcdTUxNDNcdTU3QTNcdTg4ODFcdTUzOUZcdTYzRjRcdThGOTVcdTU2RURcdTU0NThcdTU3MDZcdTczM0ZcdTZFOTBcdTdGMThcdThGRENcdTgyRDFcdTYxM0ZcdTYwMjhcdTk2NjJcdTY2RjBcdTdFQTZcdThEOEFcdThEQzNcdTk0QTVcdTVDQjNcdTdDQTRcdTY3MDhcdTYwQTZcdTk2MDVcdTgwMThcdTRFOTFcdTkwRTdcdTUzMDBcdTk2NjhcdTUxNDFcdThGRDBcdTg1NzRcdTkxNURcdTY2NTVcdTk3RjVcdTVCNTVcdTUzMURcdTc4MzhcdTY3NDJcdTY4M0RcdTU0QzlcdTcwN0VcdTVCQjBcdThGN0RcdTUxOERcdTU3MjhcdTU0QjFcdTY1MTJcdTY2ODJcdThENUVcdThENDNcdTgxMEZcdTg0NkNcdTkwNkRcdTdDREZcdTUxRkZcdTg1RkJcdTY3QTNcdTY1RTlcdTZGQTFcdTg2QTRcdThFODFcdTU2NkFcdTkwMjBcdTc2ODJcdTcwNzZcdTcxRTVcdThEMjNcdTYyRTlcdTUyMTlcdTZDRkRcdThEM0NcdTYwMEVcdTU4OUVcdTYxOEVcdTY2RkVcdThENjBcdTYyNEVcdTU1QjNcdTZFMjNcdTY3MkRcdThGNjdcIl0sXG5bXCJkNTQwXCIsXCJcdThBODFcIiw3LFwiXHU4QThCXCIsNyxcIlx1OEE5NFwiLDQ2XSxcbltcImQ1ODBcIixcIlx1OEFDM1wiLDMyLFwiXHU5NEUxXHU5NUY4XHU3NzI4XHU2ODA1XHU2OUE4XHU1NDhCXHU0RTREXHU3MEI4XHU4QkM4XHU2NDU4XHU2NThCXHU1Qjg1XHU3QTg0XHU1MDNBXHU1QkU4XHU3N0JCXHU2QkUxXHU4QTc5XHU3Qzk4XHU2Q0JFXHU3NkNGXHU2NUE5XHU4Rjk3XHU1RDJEXHU1QzU1XHU4NjM4XHU2ODA4XHU1MzYwXHU2MjE4XHU3QUQ5XHU2RTVCXHU3RUZEXHU2QTFGXHU3QUUwXHU1RjcwXHU2RjMzXHU1RjIwXHU2MzhDXHU2REE4XHU2NzU2XHU0RTA4XHU1RTEwXHU4RDI2XHU0RUQ3XHU4MEMwXHU3NjM0XHU5NjlDXHU2MkRCXHU2NjJEXHU2MjdFXHU2Q0JDXHU4RDc1XHU3MTY3XHU3RjY5XHU1MTQ2XHU4MDg3XHU1M0VDXHU5MDZFXHU2Mjk4XHU1NEYyXHU4NkYwXHU4Rjk5XHU4MDA1XHU5NTE3XHU4NTE3XHU4RkQ5XHU2RDU5XHU3M0NEXHU2NTlGXHU3NzFGXHU3NTA0XHU3ODI3XHU4MUZCXHU4RDFFXHU5NDg4XHU0RkE2XHU2Nzk1XHU3NUI5XHU4QkNBXHU5NzA3XHU2MzJGXHU5NTQ3XHU5NjM1XHU4NEI4XHU2MzIzXHU3NzQxXHU1RjgxXHU3MkYwXHU0RTg5XHU2MDE0XHU2NTc0XHU2MkVGXHU2QjYzXHU2NTNGXCJdLFxuW1wiZDY0MFwiLFwiXHU4QUU0XCIsMzQsXCJcdThCMDhcIiwyN10sXG5bXCJkNjgwXCIsXCJcdThCMjRcdThCMjVcdThCMjdcIiwzMCxcIlx1NUUyN1x1NzVDN1x1OTBEMVx1OEJDMVx1ODI5RFx1Njc5RFx1NjUyRlx1NTQzMVx1ODcxOFx1NzdFNVx1ODBBMlx1ODEwMlx1NkM0MVx1NEU0Qlx1N0VDN1x1ODA0Q1x1NzZGNFx1NjkwRFx1NkI5Nlx1NjI2N1x1NTAzQ1x1NEY4NFx1NTc0MFx1NjMwN1x1NkI2Mlx1OERCRVx1NTNFQVx1NjVFOFx1N0VCOFx1NUZEN1x1NjMxQVx1NjNCN1x1ODFGM1x1ODFGNFx1N0Y2RVx1NUUxQ1x1NUNEOVx1NTIzNlx1NjY3QVx1NzlFOVx1N0ExQVx1OEQyOFx1NzA5OVx1NzVENFx1NkVERVx1NkNCQlx1N0E5Mlx1NEUyRFx1NzZDNVx1NUZFMFx1OTQ5Rlx1ODg3N1x1N0VDOFx1NzlDRFx1ODBCRlx1OTFDRFx1NEVGMlx1NEYxN1x1ODIxRlx1NTQ2OFx1NURERVx1NkQzMlx1OEJDQ1x1N0NBNVx1OEY3NFx1ODA5OFx1NUUxQVx1NTQ5Mlx1NzZCMVx1NUI5OVx1NjYzQ1x1OUFBNFx1NzNFMFx1NjgyQVx1ODZEQlx1NjczMVx1NzMyQVx1OEJGOFx1OEJEQlx1OTAxMFx1N0FGOVx1NzBEQlx1NzE2RVx1NjJDNFx1NzdBOVx1NTYzMVx1NEUzQlx1ODQ1N1x1NjdGMVx1NTJBOVx1ODZDMFx1OEQyRVx1OTRGOFx1N0I1MVwiXSxcbltcImQ3NDBcIixcIlx1OEI0NlwiLDMxLFwiXHU4QjY3XCIsNCxcIlx1OEI2RFwiLDI1XSxcbltcImQ3ODBcIixcIlx1OEI4N1wiLDI0LFwiXHU4QkFDXHU4QkIxXHU4QkJCXHU4QkM3XHU4QkQwXHU4QkVBXHU4QzA5XHU4QzFFXHU0RjRGXHU2Q0U4XHU3OTVEXHU5QTdCXHU2MjkzXHU3MjJBXHU2MkZEXHU0RTEzXHU3ODE2XHU4RjZDXHU2NEIwXHU4RDVBXHU3QkM2XHU2ODY5XHU1RTg0XHU4OEM1XHU1OTg2XHU2NDlFXHU1OEVFXHU3MkI2XHU2OTBFXHU5NTI1XHU4RkZEXHU4RDU4XHU1NzYwXHU3RjAwXHU4QzA2XHU1MUM2XHU2MzQ5XHU2MkQ5XHU1MzUzXHU2ODRDXHU3NDIyXHU4MzAxXHU5MTRDXHU1NTQ0XHU3NzQwXHU3MDdDXHU2RDRBXHU1MTc5XHU1NEE4XHU4RDQ0XHU1OUZGXHU2RUNCXHU2REM0XHU1QjVDXHU3RDJCXHU0RUQ0XHU3QzdEXHU2RUQzXHU1QjUwXHU4MUVBXHU2RTBEXHU1QjU3XHU5QjAzXHU2OEQ1XHU4RTJBXHU1Qjk3XHU3RUZDXHU2MDNCXHU3RUI1XHU5MEI5XHU4RDcwXHU1OTRGXHU2M0NEXHU3OURGXHU4REIzXHU1MzUyXHU2NUNGXHU3OTU2XHU4QkM1XHU5NjNCXHU3RUM0XHU5NEJCXHU3RTgyXHU1NjM0XHU5MTg5XHU2NzAwXHU3RjZBXHU1QzBBXHU5MDc1XHU2NjI4XHU1REU2XHU0RjUwXHU2N0RFXHU1MDVBXHU0RjVDXHU1NzUwXHU1RUE3XCJdLFxuW1wiZDg0MFwiLFwiXHU4QzM4XCIsOCxcIlx1OEM0Mlx1OEM0M1x1OEM0NFx1OEM0NVx1OEM0OFx1OEM0QVx1OEM0Qlx1OEM0RFwiLDcsXCJcdThDNTZcdThDNTdcdThDNThcdThDNTlcdThDNUJcIiw1LFwiXHU4QzYzXCIsNixcIlx1OEM2Q1wiLDYsXCJcdThDNzRcdThDNzVcdThDNzZcdThDNzdcdThDN0JcIiw2LFwiXHU4QzgzXHU4Qzg0XHU4Qzg2XHU4Qzg3XCJdLFxuW1wiZDg4MFwiLFwiXHU4Qzg4XHU4QzhCXHU4QzhEXCIsNixcIlx1OEM5NVx1OEM5Nlx1OEM5N1x1OEM5OVwiLDIwLFwiXHU0RThEXHU0RTBDXHU1MTQwXHU0RTEwXHU1RUZGXHU1MzQ1XHU0RTE1XHU0RTk4XHU0RTFFXHU5QjMyXHU1QjZDXHU1NjY5XHU0RTI4XHU3OUJBXHU0RTNGXHU1MzE1XHU0RTQ3XHU1OTJEXHU3MjNCXHU1MzZFXHU2QzEwXHU1NkRGXHU4MEU0XHU5OTk3XHU2QkQzXHU3NzdFXHU5RjE3XHU0RTM2XHU0RTlGXHU5RjEwXHU0RTVDXHU0RTY5XHU0RTkzXHU4Mjg4XHU1QjVCXHU1NTZDXHU1NjBGXHU0RUM0XHU1MzhEXHU1MzlEXHU1M0EzXHU1M0E1XHU1M0FFXHU5NzY1XHU4RDVEXHU1MzFBXHU1M0Y1XHU1MzI2XHU1MzJFXHU1MzNFXHU4RDVDXHU1MzY2XHU1MzYzXHU1MjAyXHU1MjA4XHU1MjBFXHU1MjJEXHU1MjMzXHU1MjNGXHU1MjQwXHU1MjRDXHU1MjVFXHU1MjYxXHU1MjVDXHU4NEFGXHU1MjdEXHU1MjgyXHU1MjgxXHU1MjkwXHU1MjkzXHU1MTgyXHU3RjU0XHU0RUJCXHU0RUMzXHU0RUM5XHU0RUMyXHU0RUU4XHU0RUUxXHU0RUVCXHU0RURFXHU0RjFCXHU0RUYzXHU0RjIyXHU0RjY0XHU0RUY1XHU0RjI1XHU0RjI3XHU0RjA5XHU0RjJCXHU0RjVFXHU0RjY3XHU2NTM4XHU0RjVBXHU0RjVEXCJdLFxuW1wiZDk0MFwiLFwiXHU4Q0FFXCIsNjJdLFxuW1wiZDk4MFwiLFwiXHU4Q0VEXCIsMzIsXCJcdTRGNUZcdTRGNTdcdTRGMzJcdTRGM0RcdTRGNzZcdTRGNzRcdTRGOTFcdTRGODlcdTRGODNcdTRGOEZcdTRGN0VcdTRGN0JcdTRGQUFcdTRGN0NcdTRGQUNcdTRGOTRcdTRGRTZcdTRGRThcdTRGRUFcdTRGQzVcdTRGREFcdTRGRTNcdTRGRENcdTRGRDFcdTRGREZcdTRGRjhcdTUwMjlcdTUwNENcdTRGRjNcdTUwMkNcdTUwMEZcdTUwMkVcdTUwMkRcdTRGRkVcdTUwMUNcdTUwMENcdTUwMjVcdTUwMjhcdTUwN0VcdTUwNDNcdTUwNTVcdTUwNDhcdTUwNEVcdTUwNkNcdTUwN0JcdTUwQTVcdTUwQTdcdTUwQTlcdTUwQkFcdTUwRDZcdTUxMDZcdTUwRURcdTUwRUNcdTUwRTZcdTUwRUVcdTUxMDdcdTUxMEJcdTRFRERcdTZDM0RcdTRGNThcdTRGNjVcdTRGQ0VcdTlGQTBcdTZDNDZcdTdDNzRcdTUxNkVcdTVERkRcdTlFQzlcdTk5OThcdTUxODFcdTU5MTRcdTUyRjlcdTUzMERcdThBMDdcdTUzMTBcdTUxRUJcdTU5MTlcdTUxNTVcdTRFQTBcdTUxNTZcdTRFQjNcdTg4NkVcdTg4QTRcdTRFQjVcdTgxMTRcdTg4RDJcdTc5ODBcdTVCMzRcdTg4MDNcdTdGQjhcdTUxQUJcdTUxQjFcdTUxQkRcdTUxQkNcIl0sXG5bXCJkYTQwXCIsXCJcdThEMEVcIiwxNCxcIlx1OEQyMFx1OEQ1MVx1OEQ1Mlx1OEQ1N1x1OEQ1Rlx1OEQ2NVx1OEQ2OFx1OEQ2OVx1OEQ2QVx1OEQ2Q1x1OEQ2RVx1OEQ2Rlx1OEQ3MVx1OEQ3Mlx1OEQ3OFwiLDgsXCJcdThEODJcdThEODNcdThEODZcdThEODdcdThEODhcdThEODlcdThEOENcIiw0LFwiXHU4RDkyXHU4RDkzXHU4RDk1XCIsOSxcIlx1OERBMFx1OERBMVwiXSxcbltcImRhODBcIixcIlx1OERBMlx1OERBNFwiLDEyLFwiXHU4REIyXHU4REI2XHU4REI3XHU4REI5XHU4REJCXHU4REJEXHU4REMwXHU4REMxXHU4REMyXHU4REM1XHU4REM3XHU4REM4XHU4REM5XHU4RENBXHU4RENEXHU4REQwXHU4REQyXHU4REQzXHU4REQ0XHU1MUM3XHU1MTk2XHU1MUEyXHU1MUE1XHU4QkEwXHU4QkE2XHU4QkE3XHU4QkFBXHU4QkI0XHU4QkI1XHU4QkI3XHU4QkMyXHU4QkMzXHU4QkNCXHU4QkNGXHU4QkNFXHU4QkQyXHU4QkQzXHU4QkQ0XHU4QkQ2XHU4QkQ4XHU4QkQ5XHU4QkRDXHU4QkRGXHU4QkUwXHU4QkU0XHU4QkU4XHU4QkU5XHU4QkVFXHU4QkYwXHU4QkYzXHU4QkY2XHU4QkY5XHU4QkZDXHU4QkZGXHU4QzAwXHU4QzAyXHU4QzA0XHU4QzA3XHU4QzBDXHU4QzBGXHU4QzExXHU4QzEyXHU4QzE0XHU4QzE1XHU4QzE2XHU4QzE5XHU4QzFCXHU4QzE4XHU4QzFEXHU4QzFGXHU4QzIwXHU4QzIxXHU4QzI1XHU4QzI3XHU4QzJBXHU4QzJCXHU4QzJFXHU4QzJGXHU4QzMyXHU4QzMzXHU4QzM1XHU4QzM2XHU1MzY5XHU1MzdBXHU5NjFEXHU5NjIyXHU5NjIxXHU5NjMxXHU5NjJBXHU5NjNEXHU5NjNDXHU5NjQyXHU5NjQ5XHU5NjU0XHU5NjVGXHU5NjY3XHU5NjZDXHU5NjcyXHU5Njc0XHU5Njg4XHU5NjhEXHU5Njk3XHU5NkIwXHU5MDk3XHU5MDlCXHU5MDlEXHU5MDk5XHU5MEFDXHU5MEExXHU5MEI0XHU5MEIzXHU5MEI2XHU5MEJBXCJdLFxuW1wiZGI0MFwiLFwiXHU4REQ1XHU4REQ4XHU4REQ5XHU4RERDXHU4REUwXHU4REUxXHU4REUyXHU4REU1XHU4REU2XHU4REU3XHU4REU5XHU4REVEXHU4REVFXHU4REYwXHU4REYxXHU4REYyXHU4REY0XHU4REY2XHU4REZDXHU4REZFXCIsNixcIlx1OEUwNlx1OEUwN1x1OEUwOFx1OEUwQlx1OEUwRFx1OEUwRVx1OEUxMFx1OEUxMVx1OEUxMlx1OEUxM1x1OEUxNVwiLDcsXCJcdThFMjBcdThFMjFcdThFMjRcIiw0LFwiXHU4RTJCXHU4RTJEXHU4RTMwXHU4RTMyXHU4RTMzXHU4RTM0XHU4RTM2XHU4RTM3XHU4RTM4XHU4RTNCXHU4RTNDXHU4RTNFXCJdLFxuW1wiZGI4MFwiLFwiXHU4RTNGXHU4RTQzXHU4RTQ1XHU4RTQ2XHU4RTRDXCIsNCxcIlx1OEU1M1wiLDUsXCJcdThFNUFcIiwxMSxcIlx1OEU2N1x1OEU2OFx1OEU2QVx1OEU2Qlx1OEU2RVx1OEU3MVx1OTBCOFx1OTBCMFx1OTBDRlx1OTBDNVx1OTBCRVx1OTBEMFx1OTBDNFx1OTBDN1x1OTBEM1x1OTBFNlx1OTBFMlx1OTBEQ1x1OTBEN1x1OTBEQlx1OTBFQlx1OTBFRlx1OTBGRVx1OTEwNFx1OTEyMlx1OTExRVx1OTEyM1x1OTEzMVx1OTEyRlx1OTEzOVx1OTE0M1x1OTE0Nlx1NTIwRFx1NTk0Mlx1NTJBMlx1NTJBQ1x1NTJBRFx1NTJCRVx1NTRGRlx1NTJEMFx1NTJENlx1NTJGMFx1NTNERlx1NzFFRVx1NzdDRFx1NUVGNFx1NTFGNVx1NTFGQ1x1OUIyRlx1NTNCNlx1NUYwMVx1NzU1QVx1NURFRlx1NTc0Q1x1NTdBOVx1NTdBMVx1NTg3RVx1NThCQ1x1NThDNVx1NThEMVx1NTcyOVx1NTcyQ1x1NTcyQVx1NTczM1x1NTczOVx1NTcyRVx1NTcyRlx1NTc1Q1x1NTczQlx1NTc0Mlx1NTc2OVx1NTc4NVx1NTc2Qlx1NTc4Nlx1NTc3Q1x1NTc3Qlx1NTc2OFx1NTc2RFx1NTc3Nlx1NTc3M1x1NTdBRFx1NTdBNFx1NTc4Q1x1NTdCMlx1NTdDRlx1NTdBN1x1NTdCNFx1NTc5M1x1NTdBMFx1NTdENVx1NTdEOFx1NTdEQVx1NTdEOVx1NTdEMlx1NTdCOFx1NTdGNFx1NTdFRlx1NTdGOFx1NTdFNFx1NTdERFwiXSxcbltcImRjNDBcIixcIlx1OEU3M1x1OEU3NVx1OEU3N1wiLDQsXCJcdThFN0RcdThFN0VcdThFODBcdThFODJcdThFODNcdThFODRcdThFODZcdThFODhcIiw2LFwiXHU4RTkxXHU4RTkyXHU4RTkzXHU4RTk1XCIsNixcIlx1OEU5RFx1OEU5RlwiLDExLFwiXHU4RUFEXHU4RUFFXHU4RUIwXHU4RUIxXHU4RUIzXCIsNixcIlx1OEVCQlwiLDddLFxuW1wiZGM4MFwiLFwiXHU4RUMzXCIsMTAsXCJcdThFQ0ZcIiwyMSxcIlx1NTgwQlx1NTgwRFx1NTdGRFx1NTdFRFx1NTgwMFx1NTgxRVx1NTgxOVx1NTg0NFx1NTgyMFx1NTg2NVx1NTg2Q1x1NTg4MVx1NTg4OVx1NTg5QVx1NTg4MFx1OTlBOFx1OUYxOVx1NjFGRlx1ODI3OVx1ODI3RFx1ODI3Rlx1ODI4Rlx1ODI4QVx1ODJBOFx1ODI4NFx1ODI4RVx1ODI5MVx1ODI5N1x1ODI5OVx1ODJBQlx1ODJCOFx1ODJCRVx1ODJCMFx1ODJDOFx1ODJDQVx1ODJFM1x1ODI5OFx1ODJCN1x1ODJBRVx1ODJDQlx1ODJDQ1x1ODJDMVx1ODJBOVx1ODJCNFx1ODJBMVx1ODJBQVx1ODI5Rlx1ODJDNFx1ODJDRVx1ODJBNFx1ODJFMVx1ODMwOVx1ODJGN1x1ODJFNFx1ODMwRlx1ODMwN1x1ODJEQ1x1ODJGNFx1ODJEMlx1ODJEOFx1ODMwQ1x1ODJGQlx1ODJEM1x1ODMxMVx1ODMxQVx1ODMwNlx1ODMxNFx1ODMxNVx1ODJFMFx1ODJENVx1ODMxQ1x1ODM1MVx1ODM1Qlx1ODM1Q1x1ODMwOFx1ODM5Mlx1ODMzQ1x1ODMzNFx1ODMzMVx1ODM5Qlx1ODM1RVx1ODMyRlx1ODM0Rlx1ODM0N1x1ODM0M1x1ODM1Rlx1ODM0MFx1ODMxN1x1ODM2MFx1ODMyRFx1ODMzQVx1ODMzM1x1ODM2Nlx1ODM2NVwiXSxcbltcImRkNDBcIixcIlx1OEVFNVwiLDYyXSxcbltcImRkODBcIixcIlx1OEYyNFwiLDMyLFwiXHU4MzY4XHU4MzFCXHU4MzY5XHU4MzZDXHU4MzZBXHU4MzZEXHU4MzZFXHU4M0IwXHU4Mzc4XHU4M0IzXHU4M0I0XHU4M0EwXHU4M0FBXHU4MzkzXHU4MzlDXHU4Mzg1XHU4MzdDXHU4M0I2XHU4M0E5XHU4MzdEXHU4M0I4XHU4MzdCXHU4Mzk4XHU4MzlFXHU4M0E4XHU4M0JBXHU4M0JDXHU4M0MxXHU4NDAxXHU4M0U1XHU4M0Q4XHU1ODA3XHU4NDE4XHU4NDBCXHU4M0REXHU4M0ZEXHU4M0Q2XHU4NDFDXHU4NDM4XHU4NDExXHU4NDA2XHU4M0Q0XHU4M0RGXHU4NDBGXHU4NDAzXHU4M0Y4XHU4M0Y5XHU4M0VBXHU4M0M1XHU4M0MwXHU4NDI2XHU4M0YwXHU4M0UxXHU4NDVDXHU4NDUxXHU4NDVBXHU4NDU5XHU4NDczXHU4NDg3XHU4NDg4XHU4NDdBXHU4NDg5XHU4NDc4XHU4NDNDXHU4NDQ2XHU4NDY5XHU4NDc2XHU4NDhDXHU4NDhFXHU4NDMxXHU4NDZEXHU4NEMxXHU4NENEXHU4NEQwXHU4NEU2XHU4NEJEXHU4NEQzXHU4NENBXHU4NEJGXHU4NEJBXHU4NEUwXHU4NEExXHU4NEI5XHU4NEI0XHU4NDk3XHU4NEU1XHU4NEUzXHU4NTBDXHU3NTBEXHU4NTM4XHU4NEYwXHU4NTM5XHU4NTFGXHU4NTNBXCJdLFxuW1wiZGU0MFwiLFwiXHU4RjQ1XCIsMzIsXCJcdThGNkFcdThGODBcdThGOENcdThGOTJcdThGOURcdThGQTBcdThGQTFcdThGQTJcdThGQTRcdThGQTVcdThGQTZcdThGQTdcdThGQUFcdThGQUNcdThGQURcdThGQUVcdThGQUZcdThGQjJcdThGQjNcdThGQjRcdThGQjVcdThGQjdcdThGQjhcdThGQkFcdThGQkJcdThGQkNcdThGQkZcdThGQzBcdThGQzNcdThGQzZcIl0sXG5bXCJkZTgwXCIsXCJcdThGQzlcIiw0LFwiXHU4RkNGXHU4RkQyXHU4RkQ2XHU4RkQ3XHU4RkRBXHU4RkUwXHU4RkUxXHU4RkUzXHU4RkU3XHU4RkVDXHU4RkVGXHU4RkYxXHU4RkYyXHU4RkY0XHU4RkY1XHU4RkY2XHU4RkZBXHU4RkZCXHU4RkZDXHU4RkZFXHU4RkZGXHU5MDA3XHU5MDA4XHU5MDBDXHU5MDBFXHU5MDEzXHU5MDE1XHU5MDE4XHU4NTU2XHU4NTNCXHU4NEZGXHU4NEZDXHU4NTU5XHU4NTQ4XHU4NTY4XHU4NTY0XHU4NTVFXHU4NTdBXHU3N0EyXHU4NTQzXHU4NTcyXHU4NTdCXHU4NUE0XHU4NUE4XHU4NTg3XHU4NThGXHU4NTc5XHU4NUFFXHU4NTlDXHU4NTg1XHU4NUI5XHU4NUI3XHU4NUIwXHU4NUQzXHU4NUMxXHU4NURDXHU4NUZGXHU4NjI3XHU4NjA1XHU4NjI5XHU4NjE2XHU4NjNDXHU1RUZFXHU1RjA4XHU1OTNDXHU1OTQxXHU4MDM3XHU1OTU1XHU1OTVBXHU1OTU4XHU1MzBGXHU1QzIyXHU1QzI1XHU1QzJDXHU1QzM0XHU2MjRDXHU2MjZBXHU2MjlGXHU2MkJCXHU2MkNBXHU2MkRBXHU2MkQ3XHU2MkVFXHU2MzIyXHU2MkY2XHU2MzM5XHU2MzRCXHU2MzQzXHU2M0FEXHU2M0Y2XHU2MzcxXHU2MzdBXHU2MzhFXHU2M0I0XHU2MzZEXHU2M0FDXHU2MzhBXHU2MzY5XHU2M0FFXHU2M0JDXHU2M0YyXHU2M0Y4XHU2M0UwXHU2M0ZGXHU2M0M0XHU2M0RFXHU2M0NFXHU2NDUyXHU2M0M2XHU2M0JFXHU2NDQ1XHU2NDQxXHU2NDBCXHU2NDFCXHU2NDIwXHU2NDBDXHU2NDI2XHU2NDIxXHU2NDVFXHU2NDg0XHU2NDZEXHU2NDk2XCJdLFxuW1wiZGY0MFwiLFwiXHU5MDE5XHU5MDFDXHU5MDIzXHU5MDI0XHU5MDI1XHU5MDI3XCIsNSxcIlx1OTAzMFwiLDQsXCJcdTkwMzdcdTkwMzlcdTkwM0FcdTkwM0RcdTkwM0ZcdTkwNDBcdTkwNDNcdTkwNDVcdTkwNDZcdTkwNDhcIiw0LFwiXHU5MDRFXHU5MDU0XHU5MDU1XHU5MDU2XHU5MDU5XHU5MDVBXHU5MDVDXCIsNSxcIlx1OTA2NFx1OTA2Nlx1OTA2N1x1OTA2OVx1OTA2QVx1OTA2Qlx1OTA2Q1x1OTA2RlwiLDQsXCJcdTkwNzZcIiw2LFwiXHU5MDdFXHU5MDgxXCJdLFxuW1wiZGY4MFwiLFwiXHU5MDg0XHU5MDg1XHU5MDg2XHU5MDg3XHU5MDg5XHU5MDhBXHU5MDhDXCIsNCxcIlx1OTA5Mlx1OTA5NFx1OTA5Nlx1OTA5OFx1OTA5QVx1OTA5Q1x1OTA5RVx1OTA5Rlx1OTBBMFx1OTBBNFx1OTBBNVx1OTBBN1x1OTBBOFx1OTBBOVx1OTBBQlx1OTBBRFx1OTBCMlx1OTBCN1x1OTBCQ1x1OTBCRFx1OTBCRlx1OTBDMFx1NjQ3QVx1NjRCN1x1NjRCOFx1NjQ5OVx1NjRCQVx1NjRDMFx1NjREMFx1NjREN1x1NjRFNFx1NjRFMlx1NjUwOVx1NjUyNVx1NjUyRVx1NUYwQlx1NUZEMlx1NzUxOVx1NUYxMVx1NTM1Rlx1NTNGMVx1NTNGRFx1NTNFOVx1NTNFOFx1NTNGQlx1NTQxMlx1NTQxNlx1NTQwNlx1NTQ0Qlx1NTQ1Mlx1NTQ1M1x1NTQ1NFx1NTQ1Nlx1NTQ0M1x1NTQyMVx1NTQ1N1x1NTQ1OVx1NTQyM1x1NTQzMlx1NTQ4Mlx1NTQ5NFx1NTQ3N1x1NTQ3MVx1NTQ2NFx1NTQ5QVx1NTQ5Qlx1NTQ4NFx1NTQ3Nlx1NTQ2Nlx1NTQ5RFx1NTREMFx1NTRBRFx1NTRDMlx1NTRCNFx1NTREMlx1NTRBN1x1NTRBNlx1NTREM1x1NTRENFx1NTQ3Mlx1NTRBM1x1NTRENVx1NTRCQlx1NTRCRlx1NTRDQ1x1NTREOVx1NTREQVx1NTREQ1x1NTRBOVx1NTRBQVx1NTRBNFx1NTRERFx1NTRDRlx1NTRERVx1NTUxQlx1NTRFN1x1NTUyMFx1NTRGRFx1NTUxNFx1NTRGM1x1NTUyMlx1NTUyM1x1NTUwRlx1NTUxMVx1NTUyN1x1NTUyQVx1NTU2N1x1NTU4Rlx1NTVCNVx1NTU0OVx1NTU2RFx1NTU0MVx1NTU1NVx1NTUzRlx1NTU1MFx1NTUzQ1wiXSxcbltcImUwNDBcIixcIlx1OTBDMlx1OTBDM1x1OTBDNlx1OTBDOFx1OTBDOVx1OTBDQlx1OTBDQ1x1OTBDRFx1OTBEMlx1OTBENFx1OTBENVx1OTBENlx1OTBEOFx1OTBEOVx1OTBEQVx1OTBERVx1OTBERlx1OTBFMFx1OTBFM1x1OTBFNFx1OTBFNVx1OTBFOVx1OTBFQVx1OTBFQ1x1OTBFRVx1OTBGMFx1OTBGMVx1OTBGMlx1OTBGM1x1OTBGNVx1OTBGNlx1OTBGN1x1OTBGOVx1OTBGQVx1OTBGQlx1OTBGQ1x1OTBGRlx1OTEwMFx1OTEwMVx1OTEwM1x1OTEwNVwiLDE5LFwiXHU5MTFBXHU5MTFCXHU5MTFDXCJdLFxuW1wiZTA4MFwiLFwiXHU5MTFEXHU5MTFGXHU5MTIwXHU5MTIxXHU5MTI0XCIsMTAsXCJcdTkxMzBcdTkxMzJcIiw2LFwiXHU5MTNBXCIsOCxcIlx1OTE0NFx1NTUzN1x1NTU1Nlx1NTU3NVx1NTU3Nlx1NTU3N1x1NTUzM1x1NTUzMFx1NTU1Q1x1NTU4Qlx1NTVEMlx1NTU4M1x1NTVCMVx1NTVCOVx1NTU4OFx1NTU4MVx1NTU5Rlx1NTU3RVx1NTVENlx1NTU5MVx1NTU3Qlx1NTVERlx1NTVCRFx1NTVCRVx1NTU5NFx1NTU5OVx1NTVFQVx1NTVGN1x1NTVDOVx1NTYxRlx1NTVEMVx1NTVFQlx1NTVFQ1x1NTVENFx1NTVFNlx1NTVERFx1NTVDNFx1NTVFRlx1NTVFNVx1NTVGMlx1NTVGM1x1NTVDQ1x1NTVDRFx1NTVFOFx1NTVGNVx1NTVFNFx1OEY5NFx1NTYxRVx1NTYwOFx1NTYwQ1x1NTYwMVx1NTYyNFx1NTYyM1x1NTVGRVx1NTYwMFx1NTYyN1x1NTYyRFx1NTY1OFx1NTYzOVx1NTY1N1x1NTYyQ1x1NTY0RFx1NTY2Mlx1NTY1OVx1NTY1Q1x1NTY0Q1x1NTY1NFx1NTY4Nlx1NTY2NFx1NTY3MVx1NTY2Qlx1NTY3Qlx1NTY3Q1x1NTY4NVx1NTY5M1x1NTZBRlx1NTZENFx1NTZEN1x1NTZERFx1NTZFMVx1NTZGNVx1NTZFQlx1NTZGOVx1NTZGRlx1NTcwNFx1NTcwQVx1NTcwOVx1NTcxQ1x1NUUwRlx1NUUxOVx1NUUxNFx1NUUxMVx1NUUzMVx1NUUzQlx1NUUzQ1wiXSxcbltcImUxNDBcIixcIlx1OTE0NVx1OTE0N1x1OTE0OFx1OTE1MVx1OTE1M1x1OTE1NFx1OTE1NVx1OTE1Nlx1OTE1OFx1OTE1OVx1OTE1Qlx1OTE1Q1x1OTE1Rlx1OTE2MFx1OTE2Nlx1OTE2N1x1OTE2OFx1OTE2Qlx1OTE2RFx1OTE3M1x1OTE3QVx1OTE3Qlx1OTE3Q1x1OTE4MFwiLDQsXCJcdTkxODZcdTkxODhcdTkxOEFcdTkxOEVcdTkxOEZcdTkxOTNcIiw2LFwiXHU5MTlDXCIsNSxcIlx1OTFBNFwiLDUsXCJcdTkxQUJcdTkxQUNcdTkxQjBcdTkxQjFcdTkxQjJcdTkxQjNcdTkxQjZcdTkxQjdcdTkxQjhcdTkxQjlcdTkxQkJcIl0sXG5bXCJlMTgwXCIsXCJcdTkxQkNcIiwxMCxcIlx1OTFDOFx1OTFDQlx1OTFEMFx1OTFEMlwiLDksXCJcdTkxRERcIiw4LFwiXHU1RTM3XHU1RTQ0XHU1RTU0XHU1RTVCXHU1RTVFXHU1RTYxXHU1QzhDXHU1QzdBXHU1QzhEXHU1QzkwXHU1Qzk2XHU1Qzg4XHU1Qzk4XHU1Qzk5XHU1QzkxXHU1QzlBXHU1QzlDXHU1Q0I1XHU1Q0EyXHU1Q0JEXHU1Q0FDXHU1Q0FCXHU1Q0IxXHU1Q0EzXHU1Q0MxXHU1Q0I3XHU1Q0M0XHU1Q0QyXHU1Q0U0XHU1Q0NCXHU1Q0U1XHU1RDAyXHU1RDAzXHU1RDI3XHU1RDI2XHU1RDJFXHU1RDI0XHU1RDFFXHU1RDA2XHU1RDFCXHU1RDU4XHU1RDNFXHU1RDM0XHU1RDNEXHU1RDZDXHU1RDVCXHU1RDZGXHU1RDVEXHU1RDZCXHU1RDRCXHU1RDRBXHU1RDY5XHU1RDc0XHU1RDgyXHU1RDk5XHU1RDlEXHU4QzczXHU1REI3XHU1REM1XHU1RjczXHU1Rjc3XHU1RjgyXHU1Rjg3XHU1Rjg5XHU1RjhDXHU1Rjk1XHU1Rjk5XHU1RjlDXHU1RkE4XHU1RkFEXHU1RkI1XHU1RkJDXHU4ODYyXHU1RjYxXHU3MkFEXHU3MkIwXHU3MkI0XHU3MkI3XHU3MkI4XHU3MkMzXHU3MkMxXHU3MkNFXHU3MkNEXHU3MkQyXHU3MkU4XHU3MkVGXHU3MkU5XHU3MkYyXHU3MkY0XHU3MkY3XHU3MzAxXHU3MkYzXHU3MzAzXHU3MkZBXCJdLFxuW1wiZTI0MFwiLFwiXHU5MUU2XCIsNjJdLFxuW1wiZTI4MFwiLFwiXHU5MjI1XCIsMzIsXCJcdTcyRkJcdTczMTdcdTczMTNcdTczMjFcdTczMEFcdTczMUVcdTczMURcdTczMTVcdTczMjJcdTczMzlcdTczMjVcdTczMkNcdTczMzhcdTczMzFcdTczNTBcdTczNERcdTczNTdcdTczNjBcdTczNkNcdTczNkZcdTczN0VcdTgyMUJcdTU5MjVcdTk4RTdcdTU5MjRcdTU5MDJcdTk5NjNcdTk5NjdcIiw1LFwiXHU5OTc0XHU5OTc3XHU5OTdEXHU5OTgwXHU5OTg0XHU5OTg3XHU5OThBXHU5OThEXHU5OTkwXHU5OTkxXHU5OTkzXHU5OTk0XHU5OTk1XHU1RTgwXHU1RTkxXHU1RThCXHU1RTk2XHU1RUE1XHU1RUEwXHU1RUI5XHU1RUI1XHU1RUJFXHU1RUIzXHU4RDUzXHU1RUQyXHU1RUQxXHU1RURCXHU1RUU4XHU1RUVBXHU4MUJBXHU1RkM0XHU1RkM5XHU1RkQ2XHU1RkNGXHU2MDAzXHU1RkVFXHU2MDA0XHU1RkUxXHU1RkU0XHU1RkZFXHU2MDA1XHU2MDA2XHU1RkVBXHU1RkVEXHU1RkY4XHU2MDE5XHU2MDM1XHU2MDI2XHU2MDFCXHU2MDBGXHU2MDBEXHU2MDI5XHU2MDJCXHU2MDBBXHU2MDNGXHU2MDIxXHU2MDc4XHU2MDc5XHU2MDdCXHU2MDdBXHU2MDQyXCJdLFxuW1wiZTM0MFwiLFwiXHU5MjQ2XCIsNDUsXCJcdTkyNzVcIiwxNl0sXG5bXCJlMzgwXCIsXCJcdTkyODZcIiw3LFwiXHU5MjhGXCIsMjQsXCJcdTYwNkFcdTYwN0RcdTYwOTZcdTYwOUFcdTYwQURcdTYwOURcdTYwODNcdTYwOTJcdTYwOENcdTYwOUJcdTYwRUNcdTYwQkJcdTYwQjFcdTYwRERcdTYwRDhcdTYwQzZcdTYwREFcdTYwQjRcdTYxMjBcdTYxMjZcdTYxMTVcdTYxMjNcdTYwRjRcdTYxMDBcdTYxMEVcdTYxMkJcdTYxNEFcdTYxNzVcdTYxQUNcdTYxOTRcdTYxQTdcdTYxQjdcdTYxRDRcdTYxRjVcdTVGRERcdTk2QjNcdTk1RTlcdTk1RUJcdTk1RjFcdTk1RjNcdTk1RjVcdTk1RjZcdTk1RkNcdTk1RkVcdTk2MDNcdTk2MDRcdTk2MDZcdTk2MDhcdTk2MEFcdTk2MEJcdTk2MENcdTk2MERcdTk2MEZcdTk2MTJcdTk2MTVcdTk2MTZcdTk2MTdcdTk2MTlcdTk2MUFcdTRFMkNcdTcyM0ZcdTYyMTVcdTZDMzVcdTZDNTRcdTZDNUNcdTZDNEFcdTZDQTNcdTZDODVcdTZDOTBcdTZDOTRcdTZDOENcdTZDNjhcdTZDNjlcdTZDNzRcdTZDNzZcdTZDODZcdTZDQTlcdTZDRDBcdTZDRDRcdTZDQURcdTZDRjdcdTZDRjhcdTZDRjFcdTZDRDdcdTZDQjJcdTZDRTBcdTZDRDZcdTZDRkFcdTZDRUJcdTZDRUVcdTZDQjFcdTZDRDNcdTZDRUZcdTZDRkVcIl0sXG5bXCJlNDQwXCIsXCJcdTkyQThcIiw1LFwiXHU5MkFGXCIsMjQsXCJcdTkyQzlcIiwzMV0sXG5bXCJlNDgwXCIsXCJcdTkyRTlcIiwzMixcIlx1NkQzOVx1NkQyN1x1NkQwQ1x1NkQ0M1x1NkQ0OFx1NkQwN1x1NkQwNFx1NkQxOVx1NkQwRVx1NkQyQlx1NkQ0RFx1NkQyRVx1NkQzNVx1NkQxQVx1NkQ0Rlx1NkQ1Mlx1NkQ1NFx1NkQzM1x1NkQ5MVx1NkQ2Rlx1NkQ5RVx1NkRBMFx1NkQ1RVx1NkQ5M1x1NkQ5NFx1NkQ1Q1x1NkQ2MFx1NkQ3Q1x1NkQ2M1x1NkUxQVx1NkRDN1x1NkRDNVx1NkRERVx1NkUwRVx1NkRCRlx1NkRFMFx1NkUxMVx1NkRFNlx1NkRERFx1NkREOVx1NkUxNlx1NkRBQlx1NkUwQ1x1NkRBRVx1NkUyQlx1NkU2RVx1NkU0RVx1NkU2Qlx1NkVCMlx1NkU1Rlx1NkU4Nlx1NkU1M1x1NkU1NFx1NkUzMlx1NkUyNVx1NkU0NFx1NkVERlx1NkVCMVx1NkU5OFx1NkVFMFx1NkYyRFx1NkVFMlx1NkVBNVx1NkVBN1x1NkVCRFx1NkVCQlx1NkVCN1x1NkVEN1x1NkVCNFx1NkVDRlx1NkU4Rlx1NkVDMlx1NkU5Rlx1NkY2Mlx1NkY0Nlx1NkY0N1x1NkYyNFx1NkYxNVx1NkVGOVx1NkYyRlx1NkYzNlx1NkY0Qlx1NkY3NFx1NkYyQVx1NkYwOVx1NkYyOVx1NkY4OVx1NkY4RFx1NkY4Q1x1NkY3OFx1NkY3Mlx1NkY3Q1x1NkY3QVx1NkZEMVwiXSxcbltcImU1NDBcIixcIlx1OTMwQVwiLDUxLFwiXHU5MzNGXCIsMTBdLFxuW1wiZTU4MFwiLFwiXHU5MzRBXCIsMzEsXCJcdTkzNkJcdTZGQzlcdTZGQTdcdTZGQjlcdTZGQjZcdTZGQzJcdTZGRTFcdTZGRUVcdTZGREVcdTZGRTBcdTZGRUZcdTcwMUFcdTcwMjNcdTcwMUJcdTcwMzlcdTcwMzVcdTcwNEZcdTcwNUVcdTVCODBcdTVCODRcdTVCOTVcdTVCOTNcdTVCQTVcdTVCQjhcdTc1MkZcdTlBOUVcdTY0MzRcdTVCRTRcdTVCRUVcdTg5MzBcdTVCRjBcdThFNDdcdThCMDdcdThGQjZcdThGRDNcdThGRDVcdThGRTVcdThGRUVcdThGRTRcdThGRTlcdThGRTZcdThGRjNcdThGRThcdTkwMDVcdTkwMDRcdTkwMEJcdTkwMjZcdTkwMTFcdTkwMERcdTkwMTZcdTkwMjFcdTkwMzVcdTkwMzZcdTkwMkRcdTkwMkZcdTkwNDRcdTkwNTFcdTkwNTJcdTkwNTBcdTkwNjhcdTkwNThcdTkwNjJcdTkwNUJcdTY2QjlcdTkwNzRcdTkwN0RcdTkwODJcdTkwODhcdTkwODNcdTkwOEJcdTVGNTBcdTVGNTdcdTVGNTZcdTVGNThcdTVDM0JcdTU0QUJcdTVDNTBcdTVDNTlcdTVCNzFcdTVDNjNcdTVDNjZcdTdGQkNcdTVGMkFcdTVGMjlcdTVGMkRcdTgyNzRcdTVGM0NcdTlCM0JcdTVDNkVcdTU5ODFcdTU5ODNcdTU5OERcdTU5QTlcdTU5QUFcdTU5QTNcIl0sXG5bXCJlNjQwXCIsXCJcdTkzNkNcIiwzNCxcIlx1OTM5MFwiLDI3XSxcbltcImU2ODBcIixcIlx1OTNBQ1wiLDI5LFwiXHU5M0NCXHU5M0NDXHU5M0NEXHU1OTk3XHU1OUNBXHU1OUFCXHU1OTlFXHU1OUE0XHU1OUQyXHU1OUIyXHU1OUFGXHU1OUQ3XHU1OUJFXHU1QTA1XHU1QTA2XHU1OUREXHU1QTA4XHU1OUUzXHU1OUQ4XHU1OUY5XHU1QTBDXHU1QTA5XHU1QTMyXHU1QTM0XHU1QTExXHU1QTIzXHU1QTEzXHU1QTQwXHU1QTY3XHU1QTRBXHU1QTU1XHU1QTNDXHU1QTYyXHU1QTc1XHU4MEVDXHU1QUFBXHU1QTlCXHU1QTc3XHU1QTdBXHU1QUJFXHU1QUVCXHU1QUIyXHU1QUQyXHU1QUQ0XHU1QUI4XHU1QUUwXHU1QUUzXHU1QUYxXHU1QUQ2XHU1QUU2XHU1QUQ4XHU1QURDXHU1QjA5XHU1QjE3XHU1QjE2XHU1QjMyXHU1QjM3XHU1QjQwXHU1QzE1XHU1QzFDXHU1QjVBXHU1QjY1XHU1QjczXHU1QjUxXHU1QjUzXHU1QjYyXHU5QTc1XHU5QTc3XHU5QTc4XHU5QTdBXHU5QTdGXHU5QTdEXHU5QTgwXHU5QTgxXHU5QTg1XHU5QTg4XHU5QThBXHU5QTkwXHU5QTkyXHU5QTkzXHU5QTk2XHU5QTk4XHU5QTlCXHU5QTlDXHU5QTlEXHU5QTlGXHU5QUEwXHU5QUEyXHU5QUEzXHU5QUE1XHU5QUE3XHU3RTlGXHU3RUExXHU3RUEzXHU3RUE1XHU3RUE4XHU3RUE5XCJdLFxuW1wiZTc0MFwiLFwiXHU5M0NFXCIsNyxcIlx1OTNEN1wiLDU0XSxcbltcImU3ODBcIixcIlx1OTQwRVwiLDMyLFwiXHU3RUFEXHU3RUIwXHU3RUJFXHU3RUMwXHU3RUMxXHU3RUMyXHU3RUM5XHU3RUNCXHU3RUNDXHU3RUQwXHU3RUQ0XHU3RUQ3XHU3RURCXHU3RUUwXHU3RUUxXHU3RUU4XHU3RUVCXHU3RUVFXHU3RUVGXHU3RUYxXHU3RUYyXHU3RjBEXHU3RUY2XHU3RUZBXHU3RUZCXHU3RUZFXHU3RjAxXHU3RjAyXHU3RjAzXHU3RjA3XHU3RjA4XHU3RjBCXHU3RjBDXHU3RjBGXHU3RjExXHU3RjEyXHU3RjE3XHU3RjE5XHU3RjFDXHU3RjFCXHU3RjFGXHU3RjIxXCIsNixcIlx1N0YyQVx1N0YyQlx1N0YyQ1x1N0YyRFx1N0YyRlwiLDQsXCJcdTdGMzVcdTVFN0FcdTc1N0ZcdTVEREJcdTc1M0VcdTkwOTVcdTczOEVcdTczOTFcdTczQUVcdTczQTJcdTczOUZcdTczQ0ZcdTczQzJcdTczRDFcdTczQjdcdTczQjNcdTczQzBcdTczQzlcdTczQzhcdTczRTVcdTczRDlcdTk4N0NcdTc0MEFcdTczRTlcdTczRTdcdTczREVcdTczQkFcdTczRjJcdTc0MEZcdTc0MkFcdTc0NUJcdTc0MjZcdTc0MjVcdTc0MjhcdTc0MzBcdTc0MkVcdTc0MkNcIl0sXG5bXCJlODQwXCIsXCJcdTk0MkZcIiwxNCxcIlx1OTQzRlwiLDQzLFwiXHU5NDZDXHU5NDZEXHU5NDZFXHU5NDZGXCJdLFxuW1wiZTg4MFwiLFwiXHU5NDcwXCIsMjAsXCJcdTk0OTFcdTk0OTZcdTk0OThcdTk0QzdcdTk0Q0ZcdTk0RDNcdTk0RDRcdTk0REFcdTk0RTZcdTk0RkJcdTk1MUNcdTk1MjBcdTc0MUJcdTc0MUFcdTc0NDFcdTc0NUNcdTc0NTdcdTc0NTVcdTc0NTlcdTc0NzdcdTc0NkRcdTc0N0VcdTc0OUNcdTc0OEVcdTc0ODBcdTc0ODFcdTc0ODdcdTc0OEJcdTc0OUVcdTc0QThcdTc0QTlcdTc0OTBcdTc0QTdcdTc0RDJcdTc0QkFcdTk3RUFcdTk3RUJcdTk3RUNcdTY3NENcdTY3NTNcdTY3NUVcdTY3NDhcdTY3NjlcdTY3QTVcdTY3ODdcdTY3NkFcdTY3NzNcdTY3OThcdTY3QTdcdTY3NzVcdTY3QThcdTY3OUVcdTY3QURcdTY3OEJcdTY3NzdcdTY3N0NcdTY3RjBcdTY4MDlcdTY3RDhcdTY4MEFcdTY3RTlcdTY3QjBcdTY4MENcdTY3RDlcdTY3QjVcdTY3REFcdTY3QjNcdTY3RERcdTY4MDBcdTY3QzNcdTY3QjhcdTY3RTJcdTY4MEVcdTY3QzFcdTY3RkRcdTY4MzJcdTY4MzNcdTY4NjBcdTY4NjFcdTY4NEVcdTY4NjJcdTY4NDRcdTY4NjRcdTY4ODNcdTY4MURcdTY4NTVcdTY4NjZcdTY4NDFcdTY4NjdcdTY4NDBcdTY4M0VcdTY4NEFcdTY4NDlcdTY4MjlcdTY4QjVcdTY4OEZcdTY4NzRcdTY4NzdcdTY4OTNcdTY4NkJcdTY4QzJcdTY5NkVcdTY4RkNcdTY5MUZcdTY5MjBcdTY4RjlcIl0sXG5bXCJlOTQwXCIsXCJcdTk1MjdcdTk1MzNcdTk1M0RcdTk1NDNcdTk1NDhcdTk1NEJcdTk1NTVcdTk1NUFcdTk1NjBcdTk1NkVcdTk1NzRcdTk1NzVcdTk1NzdcIiw3LFwiXHU5NTgwXCIsNDJdLFxuW1wiZTk4MFwiLFwiXHU5NUFCXCIsMzIsXCJcdTY5MjRcdTY4RjBcdTY5MEJcdTY5MDFcdTY5NTdcdTY4RTNcdTY5MTBcdTY5NzFcdTY5MzlcdTY5NjBcdTY5NDJcdTY5NURcdTY5ODRcdTY5NkJcdTY5ODBcdTY5OThcdTY5NzhcdTY5MzRcdTY5Q0NcdTY5ODdcdTY5ODhcdTY5Q0VcdTY5ODlcdTY5NjZcdTY5NjNcdTY5NzlcdTY5OUJcdTY5QTdcdTY5QkJcdTY5QUJcdTY5QURcdTY5RDRcdTY5QjFcdTY5QzFcdTY5Q0FcdTY5REZcdTY5OTVcdTY5RTBcdTY5OERcdTY5RkZcdTZBMkZcdTY5RURcdTZBMTdcdTZBMThcdTZBNjVcdTY5RjJcdTZBNDRcdTZBM0VcdTZBQTBcdTZBNTBcdTZBNUJcdTZBMzVcdTZBOEVcdTZBNzlcdTZBM0RcdTZBMjhcdTZBNThcdTZBN0NcdTZBOTFcdTZBOTBcdTZBQTlcdTZBOTdcdTZBQUJcdTczMzdcdTczNTJcdTZCODFcdTZCODJcdTZCODdcdTZCODRcdTZCOTJcdTZCOTNcdTZCOERcdTZCOUFcdTZCOUJcdTZCQTFcdTZCQUFcdThGNkJcdThGNkRcdThGNzFcdThGNzJcdThGNzNcdThGNzVcdThGNzZcdThGNzhcdThGNzdcdThGNzlcdThGN0FcdThGN0NcdThGN0VcdThGODFcdThGODJcdThGODRcdThGODdcdThGOEJcIl0sXG5bXCJlYTQwXCIsXCJcdTk1Q0NcIiwyNyxcIlx1OTVFQ1x1OTVGRlx1OTYwN1x1OTYxM1x1OTYxOFx1OTYxQlx1OTYxRVx1OTYyMFx1OTYyM1wiLDYsXCJcdTk2MkJcdTk2MkNcdTk2MkRcdTk2MkZcdTk2MzBcdTk2MzdcdTk2MzhcdTk2MzlcdTk2M0FcdTk2M0VcdTk2NDFcdTk2NDNcdTk2NEFcdTk2NEVcdTk2NEZcdTk2NTFcdTk2NTJcdTk2NTNcdTk2NTZcdTk2NTdcIl0sXG5bXCJlYTgwXCIsXCJcdTk2NThcdTk2NTlcdTk2NUFcdTk2NUNcdTk2NURcdTk2NUVcdTk2NjBcdTk2NjNcdTk2NjVcdTk2NjZcdTk2NkJcdTk2NkRcIiw0LFwiXHU5NjczXHU5Njc4XCIsMTIsXCJcdTk2ODdcdTk2ODlcdTk2OEFcdThGOERcdThGOEVcdThGOEZcdThGOThcdThGOUFcdThFQ0VcdTYyMEJcdTYyMTdcdTYyMUJcdTYyMUZcdTYyMjJcdTYyMjFcdTYyMjVcdTYyMjRcdTYyMkNcdTgxRTdcdTc0RUZcdTc0RjRcdTc0RkZcdTc1MEZcdTc1MTFcdTc1MTNcdTY1MzRcdTY1RUVcdTY1RUZcdTY1RjBcdTY2MEFcdTY2MTlcdTY3NzJcdTY2MDNcdTY2MTVcdTY2MDBcdTcwODVcdTY2RjdcdTY2MURcdTY2MzRcdTY2MzFcdTY2MzZcdTY2MzVcdTgwMDZcdTY2NUZcdTY2NTRcdTY2NDFcdTY2NEZcdTY2NTZcdTY2NjFcdTY2NTdcdTY2NzdcdTY2ODRcdTY2OENcdTY2QTdcdTY2OURcdTY2QkVcdTY2REJcdTY2RENcdTY2RTZcdTY2RTlcdThEMzJcdThEMzNcdThEMzZcdThEM0JcdThEM0RcdThENDBcdThENDVcdThENDZcdThENDhcdThENDlcdThENDdcdThENERcdThENTVcdThENTlcdTg5QzdcdTg5Q0FcdTg5Q0JcdTg5Q0NcdTg5Q0VcdTg5Q0ZcdTg5RDBcdTg5RDFcdTcyNkVcdTcyOUZcdTcyNURcdTcyNjZcdTcyNkZcdTcyN0VcdTcyN0ZcdTcyODRcdTcyOEJcdTcyOERcdTcyOEZcdTcyOTJcdTYzMDhcdTYzMzJcdTYzQjBcIl0sXG5bXCJlYjQwXCIsXCJcdTk2OENcdTk2OEVcdTk2OTFcdTk2OTJcdTk2OTNcdTk2OTVcdTk2OTZcdTk2OUFcdTk2OUJcdTk2OURcIiw5LFwiXHU5NkE4XCIsNyxcIlx1OTZCMVx1OTZCMlx1OTZCNFx1OTZCNVx1OTZCN1x1OTZCOFx1OTZCQVx1OTZCQlx1OTZCRlx1OTZDMlx1OTZDM1x1OTZDOFx1OTZDQVx1OTZDQlx1OTZEMFx1OTZEMVx1OTZEM1x1OTZENFx1OTZENlwiLDksXCJcdTk2RTFcIiw2LFwiXHU5NkVCXCJdLFxuW1wiZWI4MFwiLFwiXHU5NkVDXHU5NkVEXHU5NkVFXHU5NkYwXHU5NkYxXHU5NkYyXHU5NkY0XHU5NkY1XHU5NkY4XHU5NkZBXHU5NkZCXHU5NkZDXHU5NkZEXHU5NkZGXHU5NzAyXHU5NzAzXHU5NzA1XHU5NzBBXHU5NzBCXHU5NzBDXHU5NzEwXHU5NzExXHU5NzEyXHU5NzE0XHU5NzE1XHU5NzE3XCIsNCxcIlx1OTcxRFx1OTcxRlx1OTcyMFx1NjQzRlx1NjREOFx1ODAwNFx1NkJFQVx1NkJGM1x1NkJGRFx1NkJGNVx1NkJGOVx1NkMwNVx1NkMwN1x1NkMwNlx1NkMwRFx1NkMxNVx1NkMxOFx1NkMxOVx1NkMxQVx1NkMyMVx1NkMyOVx1NkMyNFx1NkMyQVx1NkMzMlx1NjUzNVx1NjU1NVx1NjU2Qlx1NzI0RFx1NzI1Mlx1NzI1Nlx1NzIzMFx1ODY2Mlx1NTIxNlx1ODA5Rlx1ODA5Q1x1ODA5M1x1ODBCQ1x1NjcwQVx1ODBCRFx1ODBCMVx1ODBBQlx1ODBBRFx1ODBCNFx1ODBCN1x1ODBFN1x1ODBFOFx1ODBFOVx1ODBFQVx1ODBEQlx1ODBDMlx1ODBDNFx1ODBEOVx1ODBDRFx1ODBEN1x1NjcxMFx1ODBERFx1ODBFQlx1ODBGMVx1ODBGNFx1ODBFRFx1ODEwRFx1ODEwRVx1ODBGMlx1ODBGQ1x1NjcxNVx1ODExMlx1OEM1QVx1ODEzNlx1ODExRVx1ODEyQ1x1ODExOFx1ODEzMlx1ODE0OFx1ODE0Q1x1ODE1M1x1ODE3NFx1ODE1OVx1ODE1QVx1ODE3MVx1ODE2MFx1ODE2OVx1ODE3Q1x1ODE3RFx1ODE2RFx1ODE2N1x1NTg0RFx1NUFCNVx1ODE4OFx1ODE4Mlx1ODE5MVx1NkVENVx1ODFBM1x1ODFBQVx1ODFDQ1x1NjcyNlx1ODFDQVx1ODFCQlwiXSxcbltcImVjNDBcIixcIlx1OTcyMVwiLDgsXCJcdTk3MkJcdTk3MkNcdTk3MkVcdTk3MkZcdTk3MzFcdTk3MzNcIiw0LFwiXHU5NzNBXHU5NzNCXHU5NzNDXHU5NzNEXHU5NzNGXCIsMTgsXCJcdTk3NTRcdTk3NTVcdTk3NTdcdTk3NThcdTk3NUFcdTk3NUNcdTk3NURcdTk3NUZcdTk3NjNcdTk3NjRcdTk3NjZcdTk3NjdcdTk3NjhcdTk3NkFcIiw3XSxcbltcImVjODBcIixcIlx1OTc3Mlx1OTc3NVx1OTc3N1wiLDQsXCJcdTk3N0RcIiw3LFwiXHU5Nzg2XCIsNCxcIlx1OTc4Q1x1OTc4RVx1OTc4Rlx1OTc5MFx1OTc5M1x1OTc5NVx1OTc5Nlx1OTc5N1x1OTc5OVwiLDQsXCJcdTgxQzFcdTgxQTZcdTZCMjRcdTZCMzdcdTZCMzlcdTZCNDNcdTZCNDZcdTZCNTlcdTk4RDFcdTk4RDJcdTk4RDNcdTk4RDVcdTk4RDlcdTk4REFcdTZCQjNcdTVGNDBcdTZCQzJcdTg5RjNcdTY1OTBcdTlGNTFcdTY1OTNcdTY1QkNcdTY1QzZcdTY1QzRcdTY1QzNcdTY1Q0NcdTY1Q0VcdTY1RDJcdTY1RDZcdTcwODBcdTcwOUNcdTcwOTZcdTcwOURcdTcwQkJcdTcwQzBcdTcwQjdcdTcwQUJcdTcwQjFcdTcwRThcdTcwQ0FcdTcxMTBcdTcxMTNcdTcxMTZcdTcxMkZcdTcxMzFcdTcxNzNcdTcxNUNcdTcxNjhcdTcxNDVcdTcxNzJcdTcxNEFcdTcxNzhcdTcxN0FcdTcxOThcdTcxQjNcdTcxQjVcdTcxQThcdTcxQTBcdTcxRTBcdTcxRDRcdTcxRTdcdTcxRjlcdTcyMURcdTcyMjhcdTcwNkNcdTcxMThcdTcxNjZcdTcxQjlcdTYyM0VcdTYyM0RcdTYyNDNcdTYyNDhcdTYyNDlcdTc5M0JcdTc5NDBcdTc5NDZcdTc5NDlcdTc5NUJcdTc5NUNcdTc5NTNcdTc5NUFcdTc5NjJcdTc5NTdcdTc5NjBcdTc5NkZcdTc5NjdcdTc5N0FcdTc5ODVcdTc5OEFcdTc5OUFcdTc5QTdcdTc5QjNcdTVGRDFcdTVGRDBcIl0sXG5bXCJlZDQwXCIsXCJcdTk3OUVcdTk3OUZcdTk3QTFcdTk3QTJcdTk3QTRcIiw2LFwiXHU5N0FDXHU5N0FFXHU5N0IwXHU5N0IxXHU5N0IzXHU5N0I1XCIsNDZdLFxuW1wiZWQ4MFwiLFwiXHU5N0U0XHU5N0U1XHU5N0U4XHU5N0VFXCIsNCxcIlx1OTdGNFx1OTdGN1wiLDIzLFwiXHU2MDNDXHU2MDVEXHU2MDVBXHU2MDY3XHU2MDQxXHU2MDU5XHU2MDYzXHU2MEFCXHU2MTA2XHU2MTBEXHU2MTVEXHU2MUE5XHU2MTlEXHU2MUNCXHU2MUQxXHU2MjA2XHU4MDgwXHU4MDdGXHU2QzkzXHU2Q0Y2XHU2REZDXHU3N0Y2XHU3N0Y4XHU3ODAwXHU3ODA5XHU3ODE3XHU3ODE4XHU3ODExXHU2NUFCXHU3ODJEXHU3ODFDXHU3ODFEXHU3ODM5XHU3ODNBXHU3ODNCXHU3ODFGXHU3ODNDXHU3ODI1XHU3ODJDXHU3ODIzXHU3ODI5XHU3ODRFXHU3ODZEXHU3ODU2XHU3ODU3XHU3ODI2XHU3ODUwXHU3ODQ3XHU3ODRDXHU3ODZBXHU3ODlCXHU3ODkzXHU3ODlBXHU3ODg3XHU3ODlDXHU3OEExXHU3OEEzXHU3OEIyXHU3OEI5XHU3OEE1XHU3OEQ0XHU3OEQ5XHU3OEM5XHU3OEVDXHU3OEYyXHU3OTA1XHU3OEY0XHU3OTEzXHU3OTI0XHU3OTFFXHU3OTM0XHU5RjlCXHU5RUY5XHU5RUZCXHU5RUZDXHU3NkYxXHU3NzA0XHU3NzBEXHU3NkY5XHU3NzA3XHU3NzA4XHU3NzFBXHU3NzIyXHU3NzE5XHU3NzJEXHU3NzI2XHU3NzM1XHU3NzM4XHU3NzUwXHU3NzUxXHU3NzQ3XHU3NzQzXHU3NzVBXHU3NzY4XCJdLFxuW1wiZWU0MFwiLFwiXHU5ODBGXCIsNjJdLFxuW1wiZWU4MFwiLFwiXHU5ODRFXCIsMzIsXCJcdTc3NjJcdTc3NjVcdTc3N0ZcdTc3OERcdTc3N0RcdTc3ODBcdTc3OENcdTc3OTFcdTc3OUZcdTc3QTBcdTc3QjBcdTc3QjVcdTc3QkRcdTc1M0FcdTc1NDBcdTc1NEVcdTc1NEJcdTc1NDhcdTc1NUJcdTc1NzJcdTc1NzlcdTc1ODNcdTdGNThcdTdGNjFcdTdGNUZcdThBNDhcdTdGNjhcdTdGNzRcdTdGNzFcdTdGNzlcdTdGODFcdTdGN0VcdTc2Q0RcdTc2RTVcdTg4MzJcdTk0ODVcdTk0ODZcdTk0ODdcdTk0OEJcdTk0OEFcdTk0OENcdTk0OERcdTk0OEZcdTk0OTBcdTk0OTRcdTk0OTdcdTk0OTVcdTk0OUFcdTk0OUJcdTk0OUNcdTk0QTNcdTk0QTRcdTk0QUJcdTk0QUFcdTk0QURcdTk0QUNcdTk0QUZcdTk0QjBcdTk0QjJcdTk0QjRcdTk0QjZcIiw0LFwiXHU5NEJDXHU5NEJEXHU5NEJGXHU5NEM0XHU5NEM4XCIsNixcIlx1OTREMFx1OTREMVx1OTREMlx1OTRENVx1OTRENlx1OTREN1x1OTREOVx1OTREOFx1OTREQlx1OTRERVx1OTRERlx1OTRFMFx1OTRFMlx1OTRFNFx1OTRFNVx1OTRFN1x1OTRFOFx1OTRFQVwiXSxcbltcImVmNDBcIixcIlx1OTg2RlwiLDUsXCJcdTk4OEJcdTk4OEVcdTk4OTJcdTk4OTVcdTk4OTlcdTk4QTNcdTk4QThcIiwzNyxcIlx1OThDRlx1OThEMFx1OThENFx1OThENlx1OThEN1x1OThEQlx1OThEQ1x1OThERFx1OThFMFwiLDRdLFxuW1wiZWY4MFwiLFwiXHU5OEU1XHU5OEU2XHU5OEU5XCIsMzAsXCJcdTk0RTlcdTk0RUJcdTk0RUVcdTk0RUZcdTk0RjNcdTk0RjRcdTk0RjVcdTk0RjdcdTk0RjlcdTk0RkNcdTk0RkRcdTk0RkZcdTk1MDNcdTk1MDJcdTk1MDZcdTk1MDdcdTk1MDlcdTk1MEFcdTk1MERcdTk1MEVcdTk1MEZcdTk1MTJcIiw0LFwiXHU5NTE4XHU5NTFCXHU5NTFEXHU5NTFFXHU5NTFGXHU5NTIyXHU5NTJBXHU5NTJCXHU5NTI5XHU5NTJDXHU5NTMxXHU5NTMyXHU5NTM0XHU5NTM2XHU5NTM3XHU5NTM4XHU5NTNDXHU5NTNFXHU5NTNGXHU5NTQyXHU5NTM1XHU5NTQ0XHU5NTQ1XHU5NTQ2XHU5NTQ5XHU5NTRDXHU5NTRFXHU5NTRGXHU5NTUyXHU5NTUzXHU5NTU0XHU5NTU2XHU5NTU3XHU5NTU4XHU5NTU5XHU5NTVCXHU5NTVFXHU5NTVGXHU5NTVEXHU5NTYxXHU5NTYyXHU5NTY0XCIsOCxcIlx1OTU2Rlx1OTU3MVx1OTU3Mlx1OTU3M1x1OTUzQVx1NzdFN1x1NzdFQ1x1OTZDOVx1NzlENVx1NzlFRFx1NzlFM1x1NzlFQlx1N0EwNlx1NUQ0N1x1N0EwM1x1N0EwMlx1N0ExRVx1N0ExNFwiXSxcbltcImYwNDBcIixcIlx1OTkwOFwiLDQsXCJcdTk5MEVcdTk5MEZcdTk5MTFcIiwyOCxcIlx1OTkyRlwiLDI2XSxcbltcImYwODBcIixcIlx1OTk0QVwiLDksXCJcdTk5NTZcIiwxMixcIlx1OTk2NFx1OTk2Nlx1OTk3M1x1OTk3OFx1OTk3OVx1OTk3Qlx1OTk3RVx1OTk4Mlx1OTk4M1x1OTk4OVx1N0EzOVx1N0EzN1x1N0E1MVx1OUVDRlx1OTlBNVx1N0E3MFx1NzY4OFx1NzY4RVx1NzY5M1x1NzY5OVx1NzZBNFx1NzRERVx1NzRFMFx1NzUyQ1x1OUUyMFx1OUUyMlx1OUUyOFwiLDQsXCJcdTlFMzJcdTlFMzFcdTlFMzZcdTlFMzhcdTlFMzdcdTlFMzlcdTlFM0FcdTlFM0VcdTlFNDFcdTlFNDJcdTlFNDRcdTlFNDZcdTlFNDdcdTlFNDhcdTlFNDlcdTlFNEJcdTlFNENcdTlFNEVcdTlFNTFcdTlFNTVcdTlFNTdcdTlFNUFcdTlFNUJcdTlFNUNcdTlFNUVcdTlFNjNcdTlFNjZcIiw2LFwiXHU5RTcxXHU5RTZEXHU5RTczXHU3NTkyXHU3NTk0XHU3NTk2XHU3NUEwXHU3NTlEXHU3NUFDXHU3NUEzXHU3NUIzXHU3NUI0XHU3NUI4XHU3NUM0XHU3NUIxXHU3NUIwXHU3NUMzXHU3NUMyXHU3NUQ2XHU3NUNEXHU3NUUzXHU3NUU4XHU3NUU2XHU3NUU0XHU3NUVCXHU3NUU3XHU3NjAzXHU3NUYxXHU3NUZDXHU3NUZGXHU3NjEwXHU3NjAwXHU3NjA1XHU3NjBDXHU3NjE3XHU3NjBBXHU3NjI1XHU3NjE4XHU3NjE1XHU3NjE5XCJdLFxuW1wiZjE0MFwiLFwiXHU5OThDXHU5OThFXHU5OTlBXCIsMTAsXCJcdTk5QTZcdTk5QTdcdTk5QTlcIiw0N10sXG5bXCJmMTgwXCIsXCJcdTk5RDlcIiwzMixcIlx1NzYxQlx1NzYzQ1x1NzYyMlx1NzYyMFx1NzY0MFx1NzYyRFx1NzYzMFx1NzYzRlx1NzYzNVx1NzY0M1x1NzYzRVx1NzYzM1x1NzY0RFx1NzY1RVx1NzY1NFx1NzY1Q1x1NzY1Nlx1NzY2Qlx1NzY2Rlx1N0ZDQVx1N0FFNlx1N0E3OFx1N0E3OVx1N0E4MFx1N0E4Nlx1N0E4OFx1N0E5NVx1N0FBNlx1N0FBMFx1N0FBQ1x1N0FBOFx1N0FBRFx1N0FCM1x1ODg2NFx1ODg2OVx1ODg3Mlx1ODg3RFx1ODg3Rlx1ODg4Mlx1ODhBMlx1ODhDNlx1ODhCN1x1ODhCQ1x1ODhDOVx1ODhFMlx1ODhDRVx1ODhFM1x1ODhFNVx1ODhGMVx1ODkxQVx1ODhGQ1x1ODhFOFx1ODhGRVx1ODhGMFx1ODkyMVx1ODkxOVx1ODkxM1x1ODkxQlx1ODkwQVx1ODkzNFx1ODkyQlx1ODkzNlx1ODk0MVx1ODk2Nlx1ODk3Qlx1NzU4Qlx1ODBFNVx1NzZCMlx1NzZCNFx1NzdEQ1x1ODAxMlx1ODAxNFx1ODAxNlx1ODAxQ1x1ODAyMFx1ODAyMlx1ODAyNVx1ODAyNlx1ODAyN1x1ODAyOVx1ODAyOFx1ODAzMVx1ODAwQlx1ODAzNVx1ODA0M1x1ODA0Nlx1ODA0RFx1ODA1Mlx1ODA2OVx1ODA3MVx1ODk4M1x1OTg3OFx1OTg4MFx1OTg4M1wiXSxcbltcImYyNDBcIixcIlx1OTlGQVwiLDYyXSxcbltcImYyODBcIixcIlx1OUEzOVwiLDMyLFwiXHU5ODg5XHU5ODhDXHU5ODhEXHU5ODhGXHU5ODk0XHU5ODlBXHU5ODlCXHU5ODlFXHU5ODlGXHU5OEExXHU5OEEyXHU5OEE1XHU5OEE2XHU4NjREXHU4NjU0XHU4NjZDXHU4NjZFXHU4NjdGXHU4NjdBXHU4NjdDXHU4NjdCXHU4NkE4XHU4NjhEXHU4NjhCXHU4NkFDXHU4NjlEXHU4NkE3XHU4NkEzXHU4NkFBXHU4NjkzXHU4NkE5XHU4NkI2XHU4NkM0XHU4NkI1XHU4NkNFXHU4NkIwXHU4NkJBXHU4NkIxXHU4NkFGXHU4NkM5XHU4NkNGXHU4NkI0XHU4NkU5XHU4NkYxXHU4NkYyXHU4NkVEXHU4NkYzXHU4NkQwXHU4NzEzXHU4NkRFXHU4NkY0XHU4NkRGXHU4NkQ4XHU4NkQxXHU4NzAzXHU4NzA3XHU4NkY4XHU4NzA4XHU4NzBBXHU4NzBEXHU4NzA5XHU4NzIzXHU4NzNCXHU4NzFFXHU4NzI1XHU4NzJFXHU4NzFBXHU4NzNFXHU4NzQ4XHU4NzM0XHU4NzMxXHU4NzI5XHU4NzM3XHU4NzNGXHU4NzgyXHU4NzIyXHU4NzdEXHU4NzdFXHU4NzdCXHU4NzYwXHU4NzcwXHU4NzRDXHU4NzZFXHU4NzhCXHU4NzUzXHU4NzYzXHU4NzdDXHU4NzY0XHU4NzU5XHU4NzY1XHU4NzkzXHU4N0FGXHU4N0E4XHU4N0QyXCJdLFxuW1wiZjM0MFwiLFwiXHU5QTVBXCIsMTcsXCJcdTlBNzJcdTlBODNcdTlBODlcdTlBOERcdTlBOEVcdTlBOTRcdTlBOTVcdTlBOTlcdTlBQTZcdTlBQTlcIiw2LFwiXHU5QUIyXHU5QUIzXHU5QUI0XHU5QUI1XHU5QUI5XHU5QUJCXHU5QUJEXHU5QUJFXHU5QUJGXHU5QUMzXHU5QUM0XHU5QUM2XCIsNCxcIlx1OUFDRFx1OUFDRVx1OUFDRlx1OUFEMFx1OUFEMlx1OUFENFx1OUFENVx1OUFENlx1OUFEN1x1OUFEOVx1OUFEQVx1OUFEQlx1OUFEQ1wiXSxcbltcImYzODBcIixcIlx1OUFERFx1OUFERVx1OUFFMFx1OUFFMlx1OUFFM1x1OUFFNFx1OUFFNVx1OUFFN1x1OUFFOFx1OUFFOVx1OUFFQVx1OUFFQ1x1OUFFRVx1OUFGMFwiLDgsXCJcdTlBRkFcdTlBRkNcIiw2LFwiXHU5QjA0XHU5QjA1XHU5QjA2XHU4N0M2XHU4Nzg4XHU4Nzg1XHU4N0FEXHU4Nzk3XHU4NzgzXHU4N0FCXHU4N0U1XHU4N0FDXHU4N0I1XHU4N0IzXHU4N0NCXHU4N0QzXHU4N0JEXHU4N0QxXHU4N0MwXHU4N0NBXHU4N0RCXHU4N0VBXHU4N0UwXHU4N0VFXHU4ODE2XHU4ODEzXHU4N0ZFXHU4ODBBXHU4ODFCXHU4ODIxXHU4ODM5XHU4ODNDXHU3RjM2XHU3RjQyXHU3RjQ0XHU3RjQ1XHU4MjEwXHU3QUZBXHU3QUZEXHU3QjA4XHU3QjAzXHU3QjA0XHU3QjE1XHU3QjBBXHU3QjJCXHU3QjBGXHU3QjQ3XHU3QjM4XHU3QjJBXHU3QjE5XHU3QjJFXHU3QjMxXHU3QjIwXHU3QjI1XHU3QjI0XHU3QjMzXHU3QjNFXHU3QjFFXHU3QjU4XHU3QjVBXHU3QjQ1XHU3Qjc1XHU3QjRDXHU3QjVEXHU3QjYwXHU3QjZFXHU3QjdCXHU3QjYyXHU3QjcyXHU3QjcxXHU3QjkwXHU3QkE2XHU3QkE3XHU3QkI4XHU3QkFDXHU3QjlEXHU3QkE4XHU3Qjg1XHU3QkFBXHU3QjlDXHU3QkEyXHU3QkFCXHU3QkI0XHU3QkQxXHU3QkMxXHU3QkNDXHU3QkREXHU3QkRBXHU3QkU1XHU3QkU2XHU3QkVBXHU3QzBDXHU3QkZFXHU3QkZDXHU3QzBGXHU3QzE2XHU3QzBCXCJdLFxuW1wiZjQ0MFwiLFwiXHU5QjA3XHU5QjA5XCIsNSxcIlx1OUIxMFx1OUIxMVx1OUIxMlx1OUIxNFwiLDEwLFwiXHU5QjIwXHU5QjIxXHU5QjIyXHU5QjI0XCIsMTAsXCJcdTlCMzBcdTlCMzFcdTlCMzNcIiw3LFwiXHU5QjNEXHU5QjNFXHU5QjNGXHU5QjQwXHU5QjQ2XHU5QjRBXHU5QjRCXHU5QjRDXHU5QjRFXHU5QjUwXHU5QjUyXHU5QjUzXHU5QjU1XCIsNV0sXG5bXCJmNDgwXCIsXCJcdTlCNUJcIiwzMixcIlx1N0MxRlx1N0MyQVx1N0MyNlx1N0MzOFx1N0M0MVx1N0M0MFx1ODFGRVx1ODIwMVx1ODIwMlx1ODIwNFx1ODFFQ1x1ODg0NFx1ODIyMVx1ODIyMlx1ODIyM1x1ODIyRFx1ODIyRlx1ODIyOFx1ODIyQlx1ODIzOFx1ODIzQlx1ODIzM1x1ODIzNFx1ODIzRVx1ODI0NFx1ODI0OVx1ODI0Qlx1ODI0Rlx1ODI1QVx1ODI1Rlx1ODI2OFx1ODg3RVx1ODg4NVx1ODg4OFx1ODhEOFx1ODhERlx1ODk1RVx1N0Y5RFx1N0Y5Rlx1N0ZBN1x1N0ZBRlx1N0ZCMFx1N0ZCMlx1N0M3Q1x1NjU0OVx1N0M5MVx1N0M5RFx1N0M5Q1x1N0M5RVx1N0NBMlx1N0NCMlx1N0NCQ1x1N0NCRFx1N0NDMVx1N0NDN1x1N0NDQ1x1N0NDRFx1N0NDOFx1N0NDNVx1N0NEN1x1N0NFOFx1ODI2RVx1NjZBOFx1N0ZCRlx1N0ZDRVx1N0ZENVx1N0ZFNVx1N0ZFMVx1N0ZFNlx1N0ZFOVx1N0ZFRVx1N0ZGM1x1N0NGOFx1N0Q3N1x1N0RBNlx1N0RBRVx1N0U0N1x1N0U5Qlx1OUVCOFx1OUVCNFx1OEQ3M1x1OEQ4NFx1OEQ5NFx1OEQ5MVx1OERCMVx1OEQ2N1x1OEQ2RFx1OEM0N1x1OEM0OVx1OTE0QVx1OTE1MFx1OTE0RVx1OTE0Rlx1OTE2NFwiXSxcbltcImY1NDBcIixcIlx1OUI3Q1wiLDYyXSxcbltcImY1ODBcIixcIlx1OUJCQlwiLDMyLFwiXHU5MTYyXHU5MTYxXHU5MTcwXHU5MTY5XHU5MTZGXHU5MTdEXHU5MTdFXHU5MTcyXHU5MTc0XHU5MTc5XHU5MThDXHU5MTg1XHU5MTkwXHU5MThEXHU5MTkxXHU5MUEyXHU5MUEzXHU5MUFBXHU5MUFEXHU5MUFFXHU5MUFGXHU5MUI1XHU5MUI0XHU5MUJBXHU4QzU1XHU5RTdFXHU4REI4XHU4REVCXHU4RTA1XHU4RTU5XHU4RTY5XHU4REI1XHU4REJGXHU4REJDXHU4REJBXHU4REM0XHU4REQ2XHU4REQ3XHU4RERBXHU4RERFXHU4RENFXHU4RENGXHU4RERCXHU4REM2XHU4REVDXHU4REY3XHU4REY4XHU4REUzXHU4REY5XHU4REZCXHU4REU0XHU4RTA5XHU4REZEXHU4RTE0XHU4RTFEXHU4RTFGXHU4RTJDXHU4RTJFXHU4RTIzXHU4RTJGXHU4RTNBXHU4RTQwXHU4RTM5XHU4RTM1XHU4RTNEXHU4RTMxXHU4RTQ5XHU4RTQxXHU4RTQyXHU4RTUxXHU4RTUyXHU4RTRBXHU4RTcwXHU4RTc2XHU4RTdDXHU4RTZGXHU4RTc0XHU4RTg1XHU4RThGXHU4RTk0XHU4RTkwXHU4RTlDXHU4RTlFXHU4Qzc4XHU4QzgyXHU4QzhBXHU4Qzg1XHU4Qzk4XHU4Qzk0XHU2NTlCXHU4OUQ2XHU4OURFXHU4OURBXHU4OURDXCJdLFxuW1wiZjY0MFwiLFwiXHU5QkRDXCIsNjJdLFxuW1wiZjY4MFwiLFwiXHU5QzFCXCIsMzIsXCJcdTg5RTVcdTg5RUJcdTg5RUZcdThBM0VcdThCMjZcdTk3NTNcdTk2RTlcdTk2RjNcdTk2RUZcdTk3MDZcdTk3MDFcdTk3MDhcdTk3MEZcdTk3MEVcdTk3MkFcdTk3MkRcdTk3MzBcdTk3M0VcdTlGODBcdTlGODNcdTlGODVcIiw1LFwiXHU5RjhDXHU5RUZFXHU5RjBCXHU5RjBEXHU5NkI5XHU5NkJDXHU5NkJEXHU5NkNFXHU5NkQyXHU3N0JGXHU5NkUwXHU5MjhFXHU5MkFFXHU5MkM4XHU5MzNFXHU5MzZBXHU5M0NBXHU5MzhGXHU5NDNFXHU5NDZCXHU5QzdGXHU5QzgyXHU5Qzg1XHU5Qzg2XHU5Qzg3XHU5Qzg4XHU3QTIzXHU5QzhCXHU5QzhFXHU5QzkwXHU5QzkxXHU5QzkyXHU5Qzk0XHU5Qzk1XHU5QzlBXHU5QzlCXHU5QzlFXCIsNSxcIlx1OUNBNVwiLDQsXCJcdTlDQUJcdTlDQURcdTlDQUVcdTlDQjBcIiw3LFwiXHU5Q0JBXHU5Q0JCXHU5Q0JDXHU5Q0JEXHU5Q0M0XHU5Q0M1XHU5Q0M2XHU5Q0M3XHU5Q0NBXHU5Q0NCXCJdLFxuW1wiZjc0MFwiLFwiXHU5QzNDXCIsNjJdLFxuW1wiZjc4MFwiLFwiXHU5QzdCXHU5QzdEXHU5QzdFXHU5QzgwXHU5QzgzXHU5Qzg0XHU5Qzg5XHU5QzhBXHU5QzhDXHU5QzhGXHU5QzkzXHU5Qzk2XHU5Qzk3XHU5Qzk4XHU5Qzk5XHU5QzlEXHU5Q0FBXHU5Q0FDXHU5Q0FGXHU5Q0I5XHU5Q0JFXCIsNCxcIlx1OUNDOFx1OUNDOVx1OUNEMVx1OUNEMlx1OUNEQVx1OUNEQlx1OUNFMFx1OUNFMVx1OUNDQ1wiLDQsXCJcdTlDRDNcdTlDRDRcdTlDRDVcdTlDRDdcdTlDRDhcdTlDRDlcdTlDRENcdTlDRERcdTlDREZcdTlDRTJcdTk3N0NcdTk3ODVcdTk3OTFcdTk3OTJcdTk3OTRcdTk3QUZcdTk3QUJcdTk3QTNcdTk3QjJcdTk3QjRcdTlBQjFcdTlBQjBcdTlBQjdcdTlFNThcdTlBQjZcdTlBQkFcdTlBQkNcdTlBQzFcdTlBQzBcdTlBQzVcdTlBQzJcdTlBQ0JcdTlBQ0NcdTlBRDFcdTlCNDVcdTlCNDNcdTlCNDdcdTlCNDlcdTlCNDhcdTlCNERcdTlCNTFcdTk4RThcdTk5MERcdTk5MkVcdTk5NTVcdTk5NTRcdTlBREZcdTlBRTFcdTlBRTZcdTlBRUZcdTlBRUJcdTlBRkJcdTlBRURcdTlBRjlcdTlCMDhcdTlCMEZcdTlCMTNcdTlCMUZcdTlCMjNcdTlFQkRcdTlFQkVcdTdFM0JcdTlFODJcdTlFODdcdTlFODhcdTlFOEJcdTlFOTJcdTkzRDZcdTlFOURcdTlFOUZcdTlFREJcdTlFRENcdTlFRERcdTlFRTBcdTlFREZcdTlFRTJcdTlFRTlcdTlFRTdcdTlFRTVcdTlFRUFcdTlFRUZcdTlGMjJcdTlGMkNcdTlGMkZcdTlGMzlcdTlGMzdcdTlGM0RcdTlGM0VcdTlGNDRcIl0sXG5bXCJmODQwXCIsXCJcdTlDRTNcIiw2Ml0sXG5bXCJmODgwXCIsXCJcdTlEMjJcIiwzMl0sXG5bXCJmOTQwXCIsXCJcdTlENDNcIiw2Ml0sXG5bXCJmOTgwXCIsXCJcdTlEODJcIiwzMl0sXG5bXCJmYTQwXCIsXCJcdTlEQTNcIiw2Ml0sXG5bXCJmYTgwXCIsXCJcdTlERTJcIiwzMl0sXG5bXCJmYjQwXCIsXCJcdTlFMDNcIiwyNyxcIlx1OUUyNFx1OUUyN1x1OUUyRVx1OUUzMFx1OUUzNFx1OUUzQlx1OUUzQ1x1OUU0MFx1OUU0RFx1OUU1MFx1OUU1Mlx1OUU1M1x1OUU1NFx1OUU1Nlx1OUU1OVx1OUU1RFx1OUU1Rlx1OUU2MFx1OUU2MVx1OUU2Mlx1OUU2NVx1OUU2RVx1OUU2Rlx1OUU3Mlx1OUU3NFwiLDksXCJcdTlFODBcIl0sXG5bXCJmYjgwXCIsXCJcdTlFODFcdTlFODNcdTlFODRcdTlFODVcdTlFODZcdTlFODlcdTlFOEFcdTlFOENcIiw1LFwiXHU5RTk0XCIsOCxcIlx1OUU5RVx1OUVBMFwiLDUsXCJcdTlFQTdcdTlFQThcdTlFQTlcdTlFQUFcIl0sXG5bXCJmYzQwXCIsXCJcdTlFQUJcIiw4LFwiXHU5RUI1XHU5RUI2XHU5RUI3XHU5RUI5XHU5RUJBXHU5RUJDXHU5RUJGXCIsNCxcIlx1OUVDNVx1OUVDNlx1OUVDN1x1OUVDOFx1OUVDQVx1OUVDQlx1OUVDQ1x1OUVEMFx1OUVEMlx1OUVEM1x1OUVENVx1OUVENlx1OUVEN1x1OUVEOVx1OUVEQVx1OUVERVx1OUVFMVx1OUVFM1x1OUVFNFx1OUVFNlx1OUVFOFx1OUVFQlx1OUVFQ1x1OUVFRFx1OUVFRVx1OUVGMFwiLDgsXCJcdTlFRkFcdTlFRkRcdTlFRkZcIiw2XSxcbltcImZjODBcIixcIlx1OUYwNlwiLDQsXCJcdTlGMENcdTlGMEZcdTlGMTFcdTlGMTJcdTlGMTRcdTlGMTVcdTlGMTZcdTlGMThcdTlGMUFcIiw1LFwiXHU5RjIxXHU5RjIzXCIsOCxcIlx1OUYyRFx1OUYyRVx1OUYzMFx1OUYzMVwiXSxcbltcImZkNDBcIixcIlx1OUYzMlwiLDQsXCJcdTlGMzhcdTlGM0FcdTlGM0NcdTlGM0ZcIiw0LFwiXHU5RjQ1XCIsMTAsXCJcdTlGNTJcIiwzOF0sXG5bXCJmZDgwXCIsXCJcdTlGNzlcIiw1LFwiXHU5RjgxXHU5RjgyXHU5RjhEXCIsMTEsXCJcdTlGOUNcdTlGOURcdTlGOUVcdTlGQTFcIiw0LFwiXHVGOTJDXHVGOTc5XHVGOTk1XHVGOUU3XHVGOUYxXCJdLFxuW1wiZmU0MFwiLFwiXHVGQTBDXHVGQTBEXHVGQTBFXHVGQTBGXHVGQTExXHVGQTEzXHVGQTE0XHVGQTE4XHVGQTFGXHVGQTIwXHVGQTIxXHVGQTIzXHVGQTI0XHVGQTI3XHVGQTI4XHVGQTI5XCJdXG5dXG4iLCAiW1xuW1wiYTE0MFwiLFwiXHVFNEM2XCIsNjJdLFxuW1wiYTE4MFwiLFwiXHVFNTA1XCIsMzJdLFxuW1wiYTI0MFwiLFwiXHVFNTI2XCIsNjJdLFxuW1wiYTI4MFwiLFwiXHVFNTY1XCIsMzJdLFxuW1wiYTJhYlwiLFwiXHVFNzY2XCIsNV0sXG5bXCJhMmUzXCIsXCJcdTIwQUNcdUU3NkRcIl0sXG5bXCJhMmVmXCIsXCJcdUU3NkVcdUU3NkZcIl0sXG5bXCJhMmZkXCIsXCJcdUU3NzBcdUU3NzFcIl0sXG5bXCJhMzQwXCIsXCJcdUU1ODZcIiw2Ml0sXG5bXCJhMzgwXCIsXCJcdUU1QzVcIiwzMSxcIlx1MzAwMFwiXSxcbltcImE0NDBcIixcIlx1RTVFNlwiLDYyXSxcbltcImE0ODBcIixcIlx1RTYyNVwiLDMyXSxcbltcImE0ZjRcIixcIlx1RTc3MlwiLDEwXSxcbltcImE1NDBcIixcIlx1RTY0NlwiLDYyXSxcbltcImE1ODBcIixcIlx1RTY4NVwiLDMyXSxcbltcImE1ZjdcIixcIlx1RTc3RFwiLDddLFxuW1wiYTY0MFwiLFwiXHVFNkE2XCIsNjJdLFxuW1wiYTY4MFwiLFwiXHVFNkU1XCIsMzJdLFxuW1wiYTZiOVwiLFwiXHVFNzg1XCIsN10sXG5bXCJhNmQ5XCIsXCJcdUU3OERcIiw2XSxcbltcImE2ZWNcIixcIlx1RTc5NFx1RTc5NVwiXSxcbltcImE2ZjNcIixcIlx1RTc5NlwiXSxcbltcImE2ZjZcIixcIlx1RTc5N1wiLDhdLFxuW1wiYTc0MFwiLFwiXHVFNzA2XCIsNjJdLFxuW1wiYTc4MFwiLFwiXHVFNzQ1XCIsMzJdLFxuW1wiYTdjMlwiLFwiXHVFN0EwXCIsMTRdLFxuW1wiYTdmMlwiLFwiXHVFN0FGXCIsMTJdLFxuW1wiYTg5NlwiLFwiXHVFN0JDXCIsMTBdLFxuW1wiYThiY1wiLFwiXHVFN0M3XCJdLFxuW1wiYThiZlwiLFwiXHUwMUY5XCJdLFxuW1wiYThjMVwiLFwiXHVFN0M5XHVFN0NBXHVFN0NCXHVFN0NDXCJdLFxuW1wiYThlYVwiLFwiXHVFN0NEXCIsMjBdLFxuW1wiYTk1OFwiLFwiXHVFN0UyXCJdLFxuW1wiYTk1YlwiLFwiXHVFN0UzXCJdLFxuW1wiYTk1ZFwiLFwiXHVFN0U0XHVFN0U1XHVFN0U2XCJdLFxuW1wiYTk4OVwiLFwiXHUzMDNFXHUyRkYwXCIsMTFdLFxuW1wiYTk5N1wiLFwiXHVFN0Y0XCIsMTJdLFxuW1wiYTlmMFwiLFwiXHVFODAxXCIsMTRdLFxuW1wiYWFhMVwiLFwiXHVFMDAwXCIsOTNdLFxuW1wiYWJhMVwiLFwiXHVFMDVFXCIsOTNdLFxuW1wiYWNhMVwiLFwiXHVFMEJDXCIsOTNdLFxuW1wiYWRhMVwiLFwiXHVFMTFBXCIsOTNdLFxuW1wiYWVhMVwiLFwiXHVFMTc4XCIsOTNdLFxuW1wiYWZhMVwiLFwiXHVFMUQ2XCIsOTNdLFxuW1wiZDdmYVwiLFwiXHVFODEwXCIsNF0sXG5bXCJmOGExXCIsXCJcdUUyMzRcIiw5M10sXG5bXCJmOWExXCIsXCJcdUUyOTJcIiw5M10sXG5bXCJmYWExXCIsXCJcdUUyRjBcIiw5M10sXG5bXCJmYmExXCIsXCJcdUUzNEVcIiw5M10sXG5bXCJmY2ExXCIsXCJcdUUzQUNcIiw5M10sXG5bXCJmZGExXCIsXCJcdUU0MEFcIiw5M10sXG5bXCJmZTUwXCIsXCJcdTJFODFcdUU4MTZcdUU4MTdcdUU4MThcdTJFODRcdTM0NzNcdTM0NDdcdTJFODhcdTJFOEJcdUU4MUVcdTM1OUVcdTM2MUFcdTM2MEVcdTJFOENcdTJFOTdcdTM5NkVcdTM5MThcdUU4MjZcdTM5Q0ZcdTM5REZcdTNBNzNcdTM5RDBcdUU4MkJcdUU4MkNcdTNCNEVcdTNDNkVcdTNDRTBcdTJFQTdcdUU4MzFcdUU4MzJcdTJFQUFcdTQwNTZcdTQxNUZcdTJFQUVcdTQzMzdcdTJFQjNcdTJFQjZcdTJFQjdcdUU4M0JcdTQzQjFcdTQzQUNcdTJFQkJcdTQzRERcdTQ0RDZcdTQ2NjFcdTQ2NENcdUU4NDNcIl0sXG5bXCJmZTgwXCIsXCJcdTQ3MjNcdTQ3MjlcdTQ3N0NcdTQ3OERcdTJFQ0FcdTQ5NDdcdTQ5N0FcdTQ5N0RcdTQ5ODJcdTQ5ODNcdTQ5ODVcdTQ5ODZcdTQ5OUZcdTQ5OUJcdTQ5QjdcdTQ5QjZcdUU4NTRcdUU4NTVcdTRDQTNcdTRDOUZcdTRDQTBcdTRDQTFcdTRDNzdcdTRDQTJcdTREMTNcIiw2LFwiXHU0REFFXHVFODY0XHVFNDY4XCIsOTNdXG5dXG4iLCAie1widUNoYXJzXCI6WzEyOCwxNjUsMTY5LDE3OCwxODQsMjE2LDIyNiwyMzUsMjM4LDI0NCwyNDgsMjUxLDI1MywyNTgsMjc2LDI4NCwzMDAsMzI1LDMyOSwzMzQsMzY0LDQ2Myw0NjUsNDY3LDQ2OSw0NzEsNDczLDQ3NSw0NzcsNTA2LDU5NCw2MTAsNzEyLDcxNiw3MzAsOTMwLDkzOCw5NjIsOTcwLDEwMjYsMTEwNCwxMTA2LDgyMDksODIxNSw4MjE4LDgyMjIsODIzMSw4MjQxLDgyNDQsODI0Niw4MjUyLDgzNjUsODQ1Miw4NDU0LDg0NTgsODQ3MSw4NDgyLDg1NTYsODU3MCw4NTk2LDg2MDIsODcxMyw4NzIwLDg3MjIsODcyNiw4NzMxLDg3MzcsODc0MCw4NzQyLDg3NDgsODc1MSw4NzYwLDg3NjYsODc3Nyw4NzgxLDg3ODcsODgwMiw4ODA4LDg4MTYsODg1NCw4ODU4LDg4NzAsODg5Niw4OTc5LDkzMjIsOTM3Miw5NTQ4LDk1ODgsOTYxNiw5NjIyLDk2MzQsOTY1Miw5NjYyLDk2NzIsOTY3Niw5NjgwLDk3MDIsOTczNSw5NzM4LDk3OTMsOTc5NSwxMTkwNiwxMTkwOSwxMTkxMywxMTkxNywxMTkyOCwxMTk0NCwxMTk0NywxMTk1MSwxMTk1NiwxMTk2MCwxMTk2NCwxMTk3OSwxMjI4NCwxMjI5MiwxMjMxMiwxMjMxOSwxMjMzMCwxMjM1MSwxMjQzNiwxMjQ0NywxMjUzNSwxMjU0MywxMjU4NiwxMjg0MiwxMjg1MCwxMjk2NCwxMzIwMCwxMzIxNSwxMzIxOCwxMzI1MywxMzI2MywxMzI2NywxMzI3MCwxMzM4NCwxMzQyOCwxMzcyNywxMzgzOSwxMzg1MSwxNDYxNywxNDcwMywxNDgwMSwxNDgxNiwxNDk2NCwxNTE4MywxNTQ3MSwxNTU4NSwxNjQ3MSwxNjczNiwxNzIwOCwxNzMyNSwxNzMzMCwxNzM3NCwxNzYyMywxNzk5NywxODAxOCwxODIxMiwxODIxOCwxODMwMSwxODMxOCwxODc2MCwxODgxMSwxODgxNCwxODgyMCwxODgyMywxODg0NCwxODg0OCwxODg3MiwxOTU3NiwxOTYyMCwxOTczOCwxOTg4Nyw0MDg3MCw1OTI0NCw1OTMzNiw1OTM2Nyw1OTQxMyw1OTQxNyw1OTQyMyw1OTQzMSw1OTQzNyw1OTQ0Myw1OTQ1Miw1OTQ2MCw1OTQ3OCw1OTQ5Myw2Mzc4OSw2Mzg2Niw2Mzg5NCw2Mzk3Niw2Mzk4Niw2NDAxNiw2NDAxOCw2NDAyMSw2NDAyNSw2NDAzNCw2NDAzNyw2NDA0Miw2NTA3NCw2NTA5Myw2NTEwNyw2NTExMiw2NTEyNyw2NTEzMiw2NTM3NSw2NTUxMCw2NTUzNl0sXCJnYkNoYXJzXCI6WzAsMzYsMzgsNDUsNTAsODEsODksOTUsOTYsMTAwLDEwMywxMDQsMTA1LDEwOSwxMjYsMTMzLDE0OCwxNzIsMTc1LDE3OSwyMDgsMzA2LDMwNywzMDgsMzA5LDMxMCwzMTEsMzEyLDMxMywzNDEsNDI4LDQ0Myw1NDQsNTQ1LDU1OCw3NDEsNzQyLDc0OSw3NTAsODA1LDgxOSw4MjAsNzkyMiw3OTI0LDc5MjUsNzkyNyw3OTM0LDc5NDMsNzk0NCw3OTQ1LDc5NTAsODA2Miw4MTQ4LDgxNDksODE1Miw4MTY0LDgxNzQsODIzNiw4MjQwLDgyNjIsODI2NCw4Mzc0LDgzODAsODM4MSw4Mzg0LDgzODgsODM5MCw4MzkyLDgzOTMsODM5NCw4Mzk2LDg0MDEsODQwNiw4NDE2LDg0MTksODQyNCw4NDM3LDg0MzksODQ0NSw4NDgyLDg0ODUsODQ5Niw4NTIxLDg2MDMsODkzNiw4OTQ2LDkwNDYsOTA1MCw5MDYzLDkwNjYsOTA3Niw5MDkyLDkxMDAsOTEwOCw5MTExLDkxMTMsOTEzMSw5MTYyLDkxNjQsOTIxOCw5MjE5LDExMzI5LDExMzMxLDExMzM0LDExMzM2LDExMzQ2LDExMzYxLDExMzYzLDExMzY2LDExMzcwLDExMzcyLDExMzc1LDExMzg5LDExNjgyLDExNjg2LDExNjg3LDExNjkyLDExNjk0LDExNzE0LDExNzE2LDExNzIzLDExNzI1LDExNzMwLDExNzM2LDExOTgyLDExOTg5LDEyMTAyLDEyMzM2LDEyMzQ4LDEyMzUwLDEyMzg0LDEyMzkzLDEyMzk1LDEyMzk3LDEyNTEwLDEyNTUzLDEyODUxLDEyOTYyLDEyOTczLDEzNzM4LDEzODIzLDEzOTE5LDEzOTMzLDE0MDgwLDE0Mjk4LDE0NTg1LDE0Njk4LDE1NTgzLDE1ODQ3LDE2MzE4LDE2NDM0LDE2NDM4LDE2NDgxLDE2NzI5LDE3MTAyLDE3MTIyLDE3MzE1LDE3MzIwLDE3NDAyLDE3NDE4LDE3ODU5LDE3OTA5LDE3OTExLDE3OTE1LDE3OTE2LDE3OTM2LDE3OTM5LDE3OTYxLDE4NjY0LDE4NzAzLDE4ODE0LDE4OTYyLDE5MDQzLDMzNDY5LDMzNDcwLDMzNDcxLDMzNDg0LDMzNDg1LDMzNDkwLDMzNDk3LDMzNTAxLDMzNTA1LDMzNTEzLDMzNTIwLDMzNTM2LDMzNTUwLDM3ODQ1LDM3OTIxLDM3OTQ4LDM4MDI5LDM4MDM4LDM4MDY0LDM4MDY1LDM4MDY2LDM4MDY5LDM4MDc1LDM4MDc2LDM4MDc4LDM5MTA4LDM5MTA5LDM5MTEzLDM5MTE0LDM5MTE1LDM5MTE2LDM5MjY1LDM5Mzk0LDE4OTAwMF19IiwgIltcbltcIjBcIixcIlxcdTAwMDBcIiwxMjddLFxuW1wiODE0MVwiLFwiXHVBQzAyXHVBQzAzXHVBQzA1XHVBQzA2XHVBQzBCXCIsNCxcIlx1QUMxOFx1QUMxRVx1QUMxRlx1QUMyMVx1QUMyMlx1QUMyM1x1QUMyNVwiLDYsXCJcdUFDMkVcdUFDMzJcdUFDMzNcdUFDMzRcIl0sXG5bXCI4MTYxXCIsXCJcdUFDMzVcdUFDMzZcdUFDMzdcdUFDM0FcdUFDM0JcdUFDM0RcdUFDM0VcdUFDM0ZcdUFDNDFcIiw5LFwiXHVBQzRDXHVBQzRFXCIsNSxcIlx1QUM1NVwiXSxcbltcIjgxODFcIixcIlx1QUM1Nlx1QUM1N1x1QUM1OVx1QUM1QVx1QUM1Qlx1QUM1RFwiLDE4LFwiXHVBQzcyXHVBQzczXHVBQzc1XHVBQzc2XHVBQzc5XHVBQzdCXCIsNCxcIlx1QUM4Mlx1QUM4N1x1QUM4OFx1QUM4RFx1QUM4RVx1QUM4Rlx1QUM5MVx1QUM5Mlx1QUM5M1x1QUM5NVwiLDYsXCJcdUFDOUVcdUFDQTJcIiw1LFwiXHVBQ0FCXHVBQ0FEXHVBQ0FFXHVBQ0IxXCIsNixcIlx1QUNCQVx1QUNCRVx1QUNCRlx1QUNDMFx1QUNDMlx1QUNDM1x1QUNDNVx1QUNDNlx1QUNDN1x1QUNDOVx1QUNDQVx1QUNDQlx1QUNDRFwiLDcsXCJcdUFDRDZcdUFDRDhcIiw3LFwiXHVBQ0UyXHVBQ0UzXHVBQ0U1XHVBQ0U2XHVBQ0U5XHVBQ0VCXHVBQ0VEXHVBQ0VFXHVBQ0YyXHVBQ0Y0XHVBQ0Y3XCIsNCxcIlx1QUNGRVx1QUNGRlx1QUQwMVx1QUQwMlx1QUQwM1x1QUQwNVx1QUQwN1wiLDQsXCJcdUFEMEVcdUFEMTBcdUFEMTJcdUFEMTNcIl0sXG5bXCI4MjQxXCIsXCJcdUFEMTRcdUFEMTVcdUFEMTZcdUFEMTdcdUFEMTlcdUFEMUFcdUFEMUJcdUFEMURcdUFEMUVcdUFEMUZcdUFEMjFcIiw3LFwiXHVBRDJBXHVBRDJCXHVBRDJFXCIsNV0sXG5bXCI4MjYxXCIsXCJcdUFEMzZcdUFEMzdcdUFEMzlcdUFEM0FcdUFEM0JcdUFEM0RcIiw2LFwiXHVBRDQ2XHVBRDQ4XHVBRDRBXCIsNSxcIlx1QUQ1MVx1QUQ1Mlx1QUQ1M1x1QUQ1NVx1QUQ1Nlx1QUQ1N1wiXSxcbltcIjgyODFcIixcIlx1QUQ1OVwiLDcsXCJcdUFENjJcdUFENjRcIiw3LFwiXHVBRDZFXHVBRDZGXHVBRDcxXHVBRDcyXHVBRDc3XHVBRDc4XHVBRDc5XHVBRDdBXHVBRDdFXHVBRDgwXHVBRDgzXCIsNCxcIlx1QUQ4QVx1QUQ4Qlx1QUQ4RFx1QUQ4RVx1QUQ4Rlx1QUQ5MVwiLDEwLFwiXHVBRDlFXCIsNSxcIlx1QURBNVwiLDE3LFwiXHVBREI4XCIsNyxcIlx1QURDMlx1QURDM1x1QURDNVx1QURDNlx1QURDN1x1QURDOVwiLDYsXCJcdUFERDJcdUFERDRcIiw3LFwiXHVBREREXHVBRERFXHVBRERGXHVBREUxXHVBREUyXHVBREUzXHVBREU1XCIsMThdLFxuW1wiODM0MVwiLFwiXHVBREZBXHVBREZCXHVBREZEXHVBREZFXHVBRTAyXCIsNSxcIlx1QUUwQVx1QUUwQ1x1QUUwRVwiLDUsXCJcdUFFMTVcIiw3XSxcbltcIjgzNjFcIixcIlx1QUUxRFwiLDE4LFwiXHVBRTMyXHVBRTMzXHVBRTM1XHVBRTM2XHVBRTM5XHVBRTNCXHVBRTNDXCJdLFxuW1wiODM4MVwiLFwiXHVBRTNEXHVBRTNFXHVBRTNGXHVBRTQyXHVBRTQ0XHVBRTQ3XHVBRTQ4XHVBRTQ5XHVBRTRCXHVBRTRGXHVBRTUxXHVBRTUyXHVBRTUzXHVBRTU1XHVBRTU3XCIsNCxcIlx1QUU1RVx1QUU2Mlx1QUU2M1x1QUU2NFx1QUU2Nlx1QUU2N1x1QUU2QVx1QUU2Qlx1QUU2RFx1QUU2RVx1QUU2Rlx1QUU3MVwiLDYsXCJcdUFFN0FcdUFFN0VcIiw1LFwiXHVBRTg2XCIsNSxcIlx1QUU4RFwiLDQ2LFwiXHVBRUJGXHVBRUMxXHVBRUMyXHVBRUMzXHVBRUM1XCIsNixcIlx1QUVDRVx1QUVEMlwiLDUsXCJcdUFFREFcdUFFREJcdUFFRERcIiw4XSxcbltcIjg0NDFcIixcIlx1QUVFNlx1QUVFN1x1QUVFOVx1QUVFQVx1QUVFQ1x1QUVFRVwiLDUsXCJcdUFFRjVcdUFFRjZcdUFFRjdcdUFFRjlcdUFFRkFcdUFFRkJcdUFFRkRcIiw4XSxcbltcIjg0NjFcIixcIlx1QUYwNlx1QUYwOVx1QUYwQVx1QUYwQlx1QUYwQ1x1QUYwRVx1QUYwRlx1QUYxMVwiLDE4XSxcbltcIjg0ODFcIixcIlx1QUYyNFwiLDcsXCJcdUFGMkVcdUFGMkZcdUFGMzFcdUFGMzNcdUFGMzVcIiw2LFwiXHVBRjNFXHVBRjQwXHVBRjQ0XHVBRjQ1XHVBRjQ2XHVBRjQ3XHVBRjRBXCIsNSxcIlx1QUY1MVwiLDEwLFwiXHVBRjVFXCIsNSxcIlx1QUY2NlwiLDE4LFwiXHVBRjdBXCIsNSxcIlx1QUY4MVx1QUY4Mlx1QUY4M1x1QUY4NVx1QUY4Nlx1QUY4N1x1QUY4OVwiLDYsXCJcdUFGOTJcdUFGOTNcdUFGOTRcdUFGOTZcIiw1LFwiXHVBRjlEXCIsMjYsXCJcdUFGQkFcdUFGQkJcdUFGQkRcdUFGQkVcIl0sXG5bXCI4NTQxXCIsXCJcdUFGQkZcdUFGQzFcIiw1LFwiXHVBRkNBXHVBRkNDXHVBRkNGXCIsNCxcIlx1QUZENVwiLDYsXCJcdUFGRERcIiw0XSxcbltcIjg1NjFcIixcIlx1QUZFMlwiLDUsXCJcdUFGRUFcIiw1LFwiXHVBRkYyXHVBRkYzXHVBRkY1XHVBRkY2XHVBRkY3XHVBRkY5XCIsNixcIlx1QjAwMlx1QjAwM1wiXSxcbltcIjg1ODFcIixcIlx1QjAwNVwiLDYsXCJcdUIwMERcdUIwMEVcdUIwMEZcdUIwMTFcdUIwMTJcdUIwMTNcdUIwMTVcIiw2LFwiXHVCMDFFXCIsOSxcIlx1QjAyOVwiLDI2LFwiXHVCMDQ2XHVCMDQ3XHVCMDQ5XHVCMDRCXHVCMDREXHVCMDRGXHVCMDUwXHVCMDUxXHVCMDUyXHVCMDU2XHVCMDU4XHVCMDVBXHVCMDVCXHVCMDVDXHVCMDVFXCIsMjksXCJcdUIwN0VcdUIwN0ZcdUIwODFcdUIwODJcdUIwODNcdUIwODVcIiw2LFwiXHVCMDhFXHVCMDkwXHVCMDkyXCIsNSxcIlx1QjA5Qlx1QjA5RFx1QjA5RVx1QjBBM1x1QjBBNFwiXSxcbltcIjg2NDFcIixcIlx1QjBBNVx1QjBBNlx1QjBBN1x1QjBBQVx1QjBCMFx1QjBCMlx1QjBCNlx1QjBCN1x1QjBCOVx1QjBCQVx1QjBCQlx1QjBCRFwiLDYsXCJcdUIwQzZcdUIwQ0FcIiw1LFwiXHVCMEQyXCJdLFxuW1wiODY2MVwiLFwiXHVCMEQzXHVCMEQ1XHVCMEQ2XHVCMEQ3XHVCMEQ5XCIsNixcIlx1QjBFMVx1QjBFMlx1QjBFM1x1QjBFNFx1QjBFNlwiLDEwXSxcbltcIjg2ODFcIixcIlx1QjBGMVwiLDIyLFwiXHVCMTBBXHVCMTBEXHVCMTBFXHVCMTBGXHVCMTExXHVCMTE0XHVCMTE1XHVCMTE2XHVCMTE3XHVCMTFBXHVCMTFFXCIsNCxcIlx1QjEyNlx1QjEyN1x1QjEyOVx1QjEyQVx1QjEyQlx1QjEyRFwiLDYsXCJcdUIxMzZcdUIxM0FcIiw1LFwiXHVCMTQyXHVCMTQzXHVCMTQ1XHVCMTQ2XHVCMTQ3XHVCMTQ5XCIsNixcIlx1QjE1Mlx1QjE1M1x1QjE1Nlx1QjE1N1x1QjE1OVx1QjE1QVx1QjE1Qlx1QjE1RFx1QjE1RVx1QjE1Rlx1QjE2MVwiLDIyLFwiXHVCMTdBXHVCMTdCXHVCMTdEXHVCMTdFXHVCMTdGXHVCMTgxXHVCMTgzXCIsNCxcIlx1QjE4QVx1QjE4Q1x1QjE4RVx1QjE4Rlx1QjE5MFx1QjE5MVx1QjE5NVx1QjE5Nlx1QjE5N1x1QjE5OVx1QjE5QVx1QjE5Qlx1QjE5RFwiXSxcbltcIjg3NDFcIixcIlx1QjE5RVwiLDksXCJcdUIxQTlcIiwxNV0sXG5bXCI4NzYxXCIsXCJcdUIxQjlcIiwxOCxcIlx1QjFDRFx1QjFDRVx1QjFDRlx1QjFEMVx1QjFEMlx1QjFEM1x1QjFENVwiXSxcbltcIjg3ODFcIixcIlx1QjFENlwiLDUsXCJcdUIxREVcdUIxRTBcIiw3LFwiXHVCMUVBXHVCMUVCXHVCMUVEXHVCMUVFXHVCMUVGXHVCMUYxXCIsNyxcIlx1QjFGQVx1QjFGQ1x1QjFGRVwiLDUsXCJcdUIyMDZcdUIyMDdcdUIyMDlcdUIyMEFcdUIyMERcIiw2LFwiXHVCMjE2XHVCMjE4XHVCMjFBXCIsNSxcIlx1QjIyMVwiLDE4LFwiXHVCMjM1XCIsNixcIlx1QjIzRFwiLDI2LFwiXHVCMjU5XHVCMjVBXHVCMjVCXHVCMjVEXHVCMjVFXHVCMjVGXHVCMjYxXCIsNixcIlx1QjI2QVwiLDRdLFxuW1wiODg0MVwiLFwiXHVCMjZGXCIsNCxcIlx1QjI3NlwiLDUsXCJcdUIyN0RcIiw2LFwiXHVCMjg2XHVCMjg3XHVCMjg4XHVCMjhBXCIsNF0sXG5bXCI4ODYxXCIsXCJcdUIyOEZcdUIyOTJcdUIyOTNcdUIyOTVcdUIyOTZcdUIyOTdcdUIyOUJcIiw0LFwiXHVCMkEyXHVCMkE0XHVCMkE3XHVCMkE4XHVCMkE5XHVCMkFCXHVCMkFEXHVCMkFFXHVCMkFGXHVCMkIxXHVCMkIyXHVCMkIzXHVCMkI1XHVCMkI2XHVCMkI3XCJdLFxuW1wiODg4MVwiLFwiXHVCMkI4XCIsMTUsXCJcdUIyQ0FcdUIyQ0JcdUIyQ0RcdUIyQ0VcdUIyQ0ZcdUIyRDFcdUIyRDNcIiw0LFwiXHVCMkRBXHVCMkRDXHVCMkRFXHVCMkRGXHVCMkUwXHVCMkUxXHVCMkUzXHVCMkU3XHVCMkU5XHVCMkVBXHVCMkYwXHVCMkYxXHVCMkYyXHVCMkY2XHVCMkZDXHVCMkZEXHVCMkZFXHVCMzAyXHVCMzAzXHVCMzA1XHVCMzA2XHVCMzA3XHVCMzA5XCIsNixcIlx1QjMxMlx1QjMxNlwiLDUsXCJcdUIzMURcIiw1NCxcIlx1QjM1N1x1QjM1OVx1QjM1QVx1QjM1RFx1QjM2MFx1QjM2MVx1QjM2Mlx1QjM2M1wiXSxcbltcIjg5NDFcIixcIlx1QjM2Nlx1QjM2OFx1QjM2QVx1QjM2Q1x1QjM2RFx1QjM2Rlx1QjM3Mlx1QjM3M1x1QjM3NVx1QjM3Nlx1QjM3N1x1QjM3OVwiLDYsXCJcdUIzODJcdUIzODZcIiw1LFwiXHVCMzhEXCJdLFxuW1wiODk2MVwiLFwiXHVCMzhFXHVCMzhGXHVCMzkxXHVCMzkyXHVCMzkzXHVCMzk1XCIsMTAsXCJcdUIzQTJcIiw1LFwiXHVCM0E5XHVCM0FBXHVCM0FCXHVCM0FEXCJdLFxuW1wiODk4MVwiLFwiXHVCM0FFXCIsMjEsXCJcdUIzQzZcdUIzQzdcdUIzQzlcdUIzQ0FcdUIzQ0RcdUIzQ0ZcdUIzRDFcdUIzRDJcdUIzRDNcdUIzRDZcdUIzRDhcdUIzREFcdUIzRENcdUIzREVcdUIzREZcdUIzRTFcdUIzRTJcdUIzRTNcdUIzRTVcdUIzRTZcdUIzRTdcdUIzRTlcIiwxOCxcIlx1QjNGRFwiLDE4LFwiXHVCNDExXCIsNixcIlx1QjQxOVx1QjQxQVx1QjQxQlx1QjQxRFx1QjQxRVx1QjQxRlx1QjQyMVwiLDYsXCJcdUI0MkFcdUI0MkNcIiw3LFwiXHVCNDM1XCIsMTVdLFxuW1wiOGE0MVwiLFwiXHVCNDQ1XCIsMTAsXCJcdUI0NTJcdUI0NTNcdUI0NTVcdUI0NTZcdUI0NTdcdUI0NTlcIiw2LFwiXHVCNDYyXHVCNDY0XHVCNDY2XCJdLFxuW1wiOGE2MVwiLFwiXHVCNDY3XCIsNCxcIlx1QjQ2RFwiLDE4LFwiXHVCNDgxXHVCNDgyXCJdLFxuW1wiOGE4MVwiLFwiXHVCNDgzXCIsNCxcIlx1QjQ4OVwiLDE5LFwiXHVCNDlFXCIsNSxcIlx1QjRBNVx1QjRBNlx1QjRBN1x1QjRBOVx1QjRBQVx1QjRBQlx1QjRBRFwiLDcsXCJcdUI0QjZcdUI0QjhcdUI0QkFcIiw1LFwiXHVCNEMxXHVCNEMyXHVCNEMzXHVCNEM1XHVCNEM2XHVCNEM3XHVCNEM5XCIsNixcIlx1QjREMVx1QjREMlx1QjREM1x1QjRENFx1QjRENlwiLDUsXCJcdUI0REVcdUI0REZcdUI0RTFcdUI0RTJcdUI0RTVcdUI0RTdcIiw0LFwiXHVCNEVFXHVCNEYwXHVCNEYyXCIsNSxcIlx1QjRGOVwiLDI2LFwiXHVCNTE2XHVCNTE3XHVCNTE5XHVCNTFBXHVCNTFEXCJdLFxuW1wiOGI0MVwiLFwiXHVCNTFFXCIsNSxcIlx1QjUyNlx1QjUyQlwiLDQsXCJcdUI1MzJcdUI1MzNcdUI1MzVcdUI1MzZcdUI1MzdcdUI1MzlcIiw2LFwiXHVCNTQyXHVCNTQ2XCJdLFxuW1wiOGI2MVwiLFwiXHVCNTQ3XHVCNTQ4XHVCNTQ5XHVCNTRBXHVCNTRFXHVCNTRGXHVCNTUxXHVCNTUyXHVCNTUzXHVCNTU1XCIsNixcIlx1QjU1RVx1QjU2MlwiLDhdLFxuW1wiOGI4MVwiLFwiXHVCNTZCXCIsNTIsXCJcdUI1QTJcdUI1QTNcdUI1QTVcdUI1QTZcdUI1QTdcdUI1QTlcdUI1QUNcdUI1QURcdUI1QUVcdUI1QUZcdUI1QjJcdUI1QjZcIiw0LFwiXHVCNUJFXHVCNUJGXHVCNUMxXHVCNUMyXHVCNUMzXHVCNUM1XCIsNixcIlx1QjVDRVx1QjVEMlwiLDUsXCJcdUI1RDlcIiwxOCxcIlx1QjVFRFwiLDE4XSxcbltcIjhjNDFcIixcIlx1QjYwMFwiLDE1LFwiXHVCNjEyXHVCNjEzXHVCNjE1XHVCNjE2XHVCNjE3XHVCNjE5XCIsNF0sXG5bXCI4YzYxXCIsXCJcdUI2MUVcIiw2LFwiXHVCNjI2XCIsNSxcIlx1QjYyRFwiLDYsXCJcdUI2MzVcIiw1XSxcbltcIjhjODFcIixcIlx1QjYzQlwiLDEyLFwiXHVCNjQ5XCIsMjYsXCJcdUI2NjVcdUI2NjZcdUI2NjdcdUI2NjlcIiw1MCxcIlx1QjY5RVx1QjY5Rlx1QjZBMVx1QjZBMlx1QjZBM1x1QjZBNVwiLDUsXCJcdUI2QURcdUI2QUVcdUI2QUZcdUI2QjBcdUI2QjJcIiwxNl0sXG5bXCI4ZDQxXCIsXCJcdUI2QzNcIiwxNixcIlx1QjZENVwiLDhdLFxuW1wiOGQ2MVwiLFwiXHVCNkRFXCIsMTcsXCJcdUI2RjFcdUI2RjJcdUI2RjNcdUI2RjVcdUI2RjZcdUI2RjdcdUI2RjlcdUI2RkFcIl0sXG5bXCI4ZDgxXCIsXCJcdUI2RkJcIiw0LFwiXHVCNzAyXHVCNzAzXHVCNzA0XHVCNzA2XCIsMzMsXCJcdUI3MkFcdUI3MkJcdUI3MkRcdUI3MkVcdUI3MzFcIiw2LFwiXHVCNzNBXHVCNzNDXCIsNyxcIlx1Qjc0NVx1Qjc0Nlx1Qjc0N1x1Qjc0OVx1Qjc0QVx1Qjc0Qlx1Qjc0RFwiLDYsXCJcdUI3NTZcIiw5LFwiXHVCNzYxXHVCNzYyXHVCNzYzXHVCNzY1XHVCNzY2XHVCNzY3XHVCNzY5XCIsNixcIlx1Qjc3Mlx1Qjc3NFx1Qjc3NlwiLDUsXCJcdUI3N0VcdUI3N0ZcdUI3ODFcdUI3ODJcdUI3ODNcdUI3ODVcIiw2LFwiXHVCNzhFXHVCNzkzXHVCNzk0XHVCNzk1XHVCNzlBXHVCNzlCXHVCNzlEXHVCNzlFXCJdLFxuW1wiOGU0MVwiLFwiXHVCNzlGXHVCN0ExXCIsNixcIlx1QjdBQVx1QjdBRVwiLDUsXCJcdUI3QjZcdUI3QjdcdUI3QjlcIiw4XSxcbltcIjhlNjFcIixcIlx1QjdDMlwiLDQsXCJcdUI3QzhcdUI3Q0FcIiwxOV0sXG5bXCI4ZTgxXCIsXCJcdUI3REVcIiwxMyxcIlx1QjdFRVx1QjdFRlx1QjdGMVx1QjdGMlx1QjdGM1x1QjdGNVwiLDYsXCJcdUI3RkVcdUI4MDJcIiw0LFwiXHVCODBBXHVCODBCXHVCODBEXHVCODBFXHVCODBGXHVCODExXCIsNixcIlx1QjgxQVx1QjgxQ1x1QjgxRVwiLDUsXCJcdUI4MjZcdUI4MjdcdUI4MjlcdUI4MkFcdUI4MkJcdUI4MkRcIiw2LFwiXHVCODM2XHVCODNBXCIsNSxcIlx1Qjg0MVx1Qjg0Mlx1Qjg0M1x1Qjg0NVwiLDExLFwiXHVCODUyXHVCODU0XCIsNyxcIlx1Qjg1RVx1Qjg1Rlx1Qjg2MVx1Qjg2Mlx1Qjg2M1x1Qjg2NVwiLDYsXCJcdUI4NkVcdUI4NzBcdUI4NzJcIiw1LFwiXHVCODc5XHVCODdBXHVCODdCXHVCODdEXCIsN10sXG5bXCI4ZjQxXCIsXCJcdUI4ODVcIiw3LFwiXHVCODhFXCIsMTddLFxuW1wiOGY2MVwiLFwiXHVCOEEwXCIsNyxcIlx1QjhBOVwiLDYsXCJcdUI4QjFcdUI4QjJcdUI4QjNcdUI4QjVcdUI4QjZcdUI4QjdcdUI4QjlcIiw0XSxcbltcIjhmODFcIixcIlx1QjhCRVx1QjhCRlx1QjhDMlx1QjhDNFx1QjhDNlwiLDUsXCJcdUI4Q0RcdUI4Q0VcdUI4Q0ZcdUI4RDFcdUI4RDJcdUI4RDNcdUI4RDVcIiw3LFwiXHVCOERFXHVCOEUwXHVCOEUyXCIsNSxcIlx1QjhFQVx1QjhFQlx1QjhFRFx1QjhFRVx1QjhFRlx1QjhGMVwiLDYsXCJcdUI4RkFcdUI4RkNcdUI4RkVcIiw1LFwiXHVCOTA1XCIsMTgsXCJcdUI5MTlcIiw2LFwiXHVCOTIxXCIsMjYsXCJcdUI5M0VcdUI5M0ZcdUI5NDFcdUI5NDJcdUI5NDNcdUI5NDVcIiw2LFwiXHVCOTREXHVCOTRFXHVCOTUwXHVCOTUyXCIsNV0sXG5bXCI5MDQxXCIsXCJcdUI5NUFcdUI5NUJcdUI5NURcdUI5NUVcdUI5NUZcdUI5NjFcIiw2LFwiXHVCOTZBXHVCOTZDXHVCOTZFXCIsNSxcIlx1Qjk3Nlx1Qjk3N1x1Qjk3OVx1Qjk3QVx1Qjk3Qlx1Qjk3RFwiXSxcbltcIjkwNjFcIixcIlx1Qjk3RVwiLDUsXCJcdUI5ODZcdUI5ODhcdUI5OEJcdUI5OENcdUI5OEZcIiwxNV0sXG5bXCI5MDgxXCIsXCJcdUI5OUZcIiwxMixcIlx1QjlBRVx1QjlBRlx1QjlCMVx1QjlCMlx1QjlCM1x1QjlCNVwiLDYsXCJcdUI5QkVcdUI5QzBcdUI5QzJcIiw1LFwiXHVCOUNBXHVCOUNCXHVCOUNEXHVCOUQzXCIsNCxcIlx1QjlEQVx1QjlEQ1x1QjlERlx1QjlFMFx1QjlFMlx1QjlFNlx1QjlFN1x1QjlFOVx1QjlFQVx1QjlFQlx1QjlFRFwiLDYsXCJcdUI5RjZcdUI5RkJcIiw0LFwiXHVCQTAyXCIsNSxcIlx1QkEwOVwiLDExLFwiXHVCQTE2XCIsMzMsXCJcdUJBM0FcdUJBM0JcdUJBM0RcdUJBM0VcdUJBM0ZcdUJBNDFcdUJBNDNcdUJBNDRcdUJBNDVcdUJBNDZcIl0sXG5bXCI5MTQxXCIsXCJcdUJBNDdcdUJBNEFcdUJBNENcdUJBNEZcdUJBNTBcdUJBNTFcdUJBNTJcdUJBNTZcdUJBNTdcdUJBNTlcdUJBNUFcdUJBNUJcdUJBNURcIiw2LFwiXHVCQTY2XHVCQTZBXCIsNV0sXG5bXCI5MTYxXCIsXCJcdUJBNzJcdUJBNzNcdUJBNzVcdUJBNzZcdUJBNzdcdUJBNzlcIiw5LFwiXHVCQTg2XHVCQTg4XHVCQTg5XHVCQThBXHVCQThCXHVCQThEXCIsNV0sXG5bXCI5MTgxXCIsXCJcdUJBOTNcIiwyMCxcIlx1QkFBQVx1QkFBRFx1QkFBRVx1QkFBRlx1QkFCMVx1QkFCM1wiLDQsXCJcdUJBQkFcdUJBQkNcdUJBQkVcIiw1LFwiXHVCQUM1XHVCQUM2XHVCQUM3XHVCQUM5XCIsMTQsXCJcdUJBREFcIiwzMyxcIlx1QkFGRFx1QkFGRVx1QkFGRlx1QkIwMVx1QkIwMlx1QkIwM1x1QkIwNVwiLDcsXCJcdUJCMEVcdUJCMTBcdUJCMTJcIiw1LFwiXHVCQjE5XHVCQjFBXHVCQjFCXHVCQjFEXHVCQjFFXHVCQjFGXHVCQjIxXCIsNl0sXG5bXCI5MjQxXCIsXCJcdUJCMjhcdUJCMkFcdUJCMkNcIiw3LFwiXHVCQjM3XHVCQjM5XHVCQjNBXHVCQjNGXCIsNCxcIlx1QkI0Nlx1QkI0OFx1QkI0QVx1QkI0Qlx1QkI0Q1x1QkI0RVx1QkI1MVx1QkI1MlwiXSxcbltcIjkyNjFcIixcIlx1QkI1M1x1QkI1NVx1QkI1Nlx1QkI1N1x1QkI1OVwiLDcsXCJcdUJCNjJcdUJCNjRcIiw3LFwiXHVCQjZEXCIsNF0sXG5bXCI5MjgxXCIsXCJcdUJCNzJcIiwyMSxcIlx1QkI4OVx1QkI4QVx1QkI4Qlx1QkI4RFx1QkI4RVx1QkI4Rlx1QkI5MVwiLDE4LFwiXHVCQkE1XHVCQkE2XHVCQkE3XHVCQkE5XHVCQkFBXHVCQkFCXHVCQkFEXCIsNixcIlx1QkJCNVx1QkJCNlx1QkJCOFwiLDcsXCJcdUJCQzFcdUJCQzJcdUJCQzNcdUJCQzVcdUJCQzZcdUJCQzdcdUJCQzlcIiw2LFwiXHVCQkQxXHVCQkQyXHVCQkQ0XCIsMzUsXCJcdUJCRkFcdUJCRkJcdUJCRkRcdUJCRkVcdUJDMDFcIl0sXG5bXCI5MzQxXCIsXCJcdUJDMDNcIiw0LFwiXHVCQzBBXHVCQzBFXHVCQzEwXHVCQzEyXHVCQzEzXHVCQzE5XHVCQzFBXHVCQzIwXHVCQzIxXHVCQzIyXHVCQzIzXHVCQzI2XHVCQzI4XHVCQzJBXHVCQzJCXHVCQzJDXHVCQzJFXHVCQzJGXHVCQzMyXHVCQzMzXHVCQzM1XCJdLFxuW1wiOTM2MVwiLFwiXHVCQzM2XHVCQzM3XHVCQzM5XCIsNixcIlx1QkM0Mlx1QkM0Nlx1QkM0N1x1QkM0OFx1QkM0QVx1QkM0Qlx1QkM0RVx1QkM0Rlx1QkM1MVwiLDhdLFxuW1wiOTM4MVwiLFwiXHVCQzVBXHVCQzVCXHVCQzVDXHVCQzVFXCIsMzcsXCJcdUJDODZcdUJDODdcdUJDODlcdUJDOEFcdUJDOERcdUJDOEZcIiw0LFwiXHVCQzk2XHVCQzk4XHVCQzlCXCIsNCxcIlx1QkNBMlx1QkNBM1x1QkNBNVx1QkNBNlx1QkNBOVwiLDYsXCJcdUJDQjJcdUJDQjZcIiw1LFwiXHVCQ0JFXHVCQ0JGXHVCQ0MxXHVCQ0MyXHVCQ0MzXHVCQ0M1XCIsNyxcIlx1QkNDRVx1QkNEMlx1QkNEM1x1QkNENFx1QkNENlx1QkNEN1x1QkNEOVx1QkNEQVx1QkNEQlx1QkNERFwiLDIyLFwiXHVCQ0Y3XHVCQ0Y5XHVCQ0ZBXHVCQ0ZCXHVCQ0ZEXCJdLFxuW1wiOTQ0MVwiLFwiXHVCQ0ZFXCIsNSxcIlx1QkQwNlx1QkQwOFx1QkQwQVwiLDUsXCJcdUJEMTFcdUJEMTJcdUJEMTNcdUJEMTVcIiw4XSxcbltcIjk0NjFcIixcIlx1QkQxRVwiLDUsXCJcdUJEMjVcIiw2LFwiXHVCRDJEXCIsMTJdLFxuW1wiOTQ4MVwiLFwiXHVCRDNBXCIsNSxcIlx1QkQ0MVwiLDYsXCJcdUJENEFcdUJENEJcdUJENERcdUJENEVcdUJENEZcdUJENTFcIiw2LFwiXHVCRDVBXCIsOSxcIlx1QkQ2NVx1QkQ2Nlx1QkQ2N1x1QkQ2OVwiLDIyLFwiXHVCRDgyXHVCRDgzXHVCRDg1XHVCRDg2XHVCRDhCXCIsNCxcIlx1QkQ5Mlx1QkQ5NFx1QkQ5Nlx1QkQ5N1x1QkQ5OFx1QkQ5Qlx1QkQ5RFwiLDYsXCJcdUJEQTVcIiwxMCxcIlx1QkRCMVwiLDYsXCJcdUJEQjlcIiwyNF0sXG5bXCI5NTQxXCIsXCJcdUJERDJcdUJERDNcdUJERDZcdUJERDdcdUJERDlcdUJEREFcdUJEREJcdUJERERcIiwxMSxcIlx1QkRFQVwiLDUsXCJcdUJERjFcIl0sXG5bXCI5NTYxXCIsXCJcdUJERjJcdUJERjNcdUJERjVcdUJERjZcdUJERjdcdUJERjlcIiw2LFwiXHVCRTAxXHVCRTAyXHVCRTA0XHVCRTA2XCIsNSxcIlx1QkUwRVx1QkUwRlx1QkUxMVx1QkUxMlx1QkUxM1wiXSxcbltcIjk1ODFcIixcIlx1QkUxNVwiLDYsXCJcdUJFMUVcdUJFMjBcIiwzNSxcIlx1QkU0Nlx1QkU0N1x1QkU0OVx1QkU0QVx1QkU0Qlx1QkU0RFx1QkU0RlwiLDQsXCJcdUJFNTZcdUJFNThcdUJFNUNcdUJFNURcdUJFNUVcdUJFNUZcdUJFNjJcdUJFNjNcdUJFNjVcdUJFNjZcdUJFNjdcdUJFNjlcdUJFNkJcIiw0LFwiXHVCRTcyXHVCRTc2XCIsNCxcIlx1QkU3RVx1QkU3Rlx1QkU4MVx1QkU4Mlx1QkU4M1x1QkU4NVwiLDYsXCJcdUJFOEVcdUJFOTJcIiw1LFwiXHVCRTlBXCIsMTMsXCJcdUJFQTlcIiwxNF0sXG5bXCI5NjQxXCIsXCJcdUJFQjhcIiwyMyxcIlx1QkVEMlx1QkVEM1wiXSxcbltcIjk2NjFcIixcIlx1QkVENVx1QkVENlx1QkVEOVwiLDYsXCJcdUJFRTFcdUJFRTJcdUJFRTZcIiw1LFwiXHVCRUVEXCIsOF0sXG5bXCI5NjgxXCIsXCJcdUJFRjZcIiwxMCxcIlx1QkYwMlwiLDUsXCJcdUJGMEFcIiwxMyxcIlx1QkYxQVx1QkYxRVwiLDMzLFwiXHVCRjQyXHVCRjQzXHVCRjQ1XHVCRjQ2XHVCRjQ3XHVCRjQ5XCIsNixcIlx1QkY1Mlx1QkY1M1x1QkY1NFx1QkY1NlwiLDQ0XSxcbltcIjk3NDFcIixcIlx1QkY4M1wiLDE2LFwiXHVCRjk1XCIsOF0sXG5bXCI5NzYxXCIsXCJcdUJGOUVcIiwxNyxcIlx1QkZCMVwiLDddLFxuW1wiOTc4MVwiLFwiXHVCRkI5XCIsMTEsXCJcdUJGQzZcIiw1LFwiXHVCRkNFXHVCRkNGXHVCRkQxXHVCRkQyXHVCRkQzXHVCRkQ1XCIsNixcIlx1QkZERFx1QkZERVx1QkZFMFx1QkZFMlwiLDg5LFwiXHVDMDNEXHVDMDNFXHVDMDNGXCJdLFxuW1wiOTg0MVwiLFwiXHVDMDQwXCIsMTYsXCJcdUMwNTJcIiw1LFwiXHVDMDU5XHVDMDVBXHVDMDVCXCJdLFxuW1wiOTg2MVwiLFwiXHVDMDVEXHVDMDVFXHVDMDVGXHVDMDYxXCIsNixcIlx1QzA2QVwiLDE1XSxcbltcIjk4ODFcIixcIlx1QzA3QVwiLDIxLFwiXHVDMDkyXHVDMDkzXHVDMDk1XHVDMDk2XHVDMDk3XHVDMDk5XCIsNixcIlx1QzBBMlx1QzBBNFx1QzBBNlwiLDUsXCJcdUMwQUVcdUMwQjFcdUMwQjJcdUMwQjdcIiw0LFwiXHVDMEJFXHVDMEMyXHVDMEMzXHVDMEM0XHVDMEM2XHVDMEM3XHVDMENBXHVDMENCXHVDMENEXHVDMENFXHVDMENGXHVDMEQxXCIsNixcIlx1QzBEQVx1QzBERVwiLDUsXCJcdUMwRTZcdUMwRTdcdUMwRTlcdUMwRUFcdUMwRUJcdUMwRURcIiw2LFwiXHVDMEY2XHVDMEY4XHVDMEZBXCIsNSxcIlx1QzEwMVx1QzEwMlx1QzEwM1x1QzEwNVx1QzEwNlx1QzEwN1x1QzEwOVwiLDYsXCJcdUMxMTFcdUMxMTJcdUMxMTNcdUMxMTRcdUMxMTZcIiw1LFwiXHVDMTIxXHVDMTIyXHVDMTI1XHVDMTI4XHVDMTI5XHVDMTJBXHVDMTJCXHVDMTJFXCJdLFxuW1wiOTk0MVwiLFwiXHVDMTMyXHVDMTMzXHVDMTM0XHVDMTM1XHVDMTM3XHVDMTNBXHVDMTNCXHVDMTNEXHVDMTNFXHVDMTNGXHVDMTQxXCIsNixcIlx1QzE0QVx1QzE0RVwiLDUsXCJcdUMxNTZcdUMxNTdcIl0sXG5bXCI5OTYxXCIsXCJcdUMxNTlcdUMxNUFcdUMxNUJcdUMxNURcIiw2LFwiXHVDMTY2XHVDMTZBXCIsNSxcIlx1QzE3MVx1QzE3Mlx1QzE3M1x1QzE3NVx1QzE3Nlx1QzE3N1x1QzE3OVx1QzE3QVx1QzE3QlwiXSxcbltcIjk5ODFcIixcIlx1QzE3Q1wiLDgsXCJcdUMxODZcIiw1LFwiXHVDMThGXHVDMTkxXHVDMTkyXHVDMTkzXHVDMTk1XHVDMTk3XCIsNCxcIlx1QzE5RVx1QzFBMFx1QzFBMlx1QzFBM1x1QzFBNFx1QzFBNlx1QzFBN1x1QzFBQVx1QzFBQlx1QzFBRFx1QzFBRVx1QzFBRlx1QzFCMVwiLDExLFwiXHVDMUJFXCIsNSxcIlx1QzFDNVx1QzFDNlx1QzFDN1x1QzFDOVx1QzFDQVx1QzFDQlx1QzFDRFwiLDYsXCJcdUMxRDVcdUMxRDZcdUMxRDlcIiw2LFwiXHVDMUUxXHVDMUUyXHVDMUUzXHVDMUU1XHVDMUU2XHVDMUU3XHVDMUU5XCIsNixcIlx1QzFGMlx1QzFGNFwiLDcsXCJcdUMxRkVcdUMxRkZcdUMyMDFcdUMyMDJcdUMyMDNcdUMyMDVcIiw2LFwiXHVDMjBFXHVDMjEwXHVDMjEyXCIsNSxcIlx1QzIxQVx1QzIxQlx1QzIxRFx1QzIxRVx1QzIyMVx1QzIyMlx1QzIyM1wiXSxcbltcIjlhNDFcIixcIlx1QzIyNFx1QzIyNVx1QzIyNlx1QzIyN1x1QzIyQVx1QzIyQ1x1QzIyRVx1QzIzMFx1QzIzM1x1QzIzNVwiLDE2XSxcbltcIjlhNjFcIixcIlx1QzI0Nlx1QzI0N1x1QzI0OVwiLDYsXCJcdUMyNTJcdUMyNTNcdUMyNTVcdUMyNTZcdUMyNTdcdUMyNTlcIiw2LFwiXHVDMjYxXHVDMjYyXHVDMjYzXHVDMjY0XHVDMjY2XCJdLFxuW1wiOWE4MVwiLFwiXHVDMjY3XCIsNCxcIlx1QzI2RVx1QzI2Rlx1QzI3MVx1QzI3Mlx1QzI3M1x1QzI3NVwiLDYsXCJcdUMyN0VcdUMyODBcdUMyODJcIiw1LFwiXHVDMjhBXCIsNSxcIlx1QzI5MVwiLDYsXCJcdUMyOTlcdUMyOUFcdUMyOUNcdUMyOUVcIiw1LFwiXHVDMkE2XHVDMkE3XHVDMkE5XHVDMkFBXHVDMkFCXHVDMkFFXCIsNSxcIlx1QzJCNlx1QzJCOFx1QzJCQVwiLDMzLFwiXHVDMkRFXHVDMkRGXHVDMkUxXHVDMkUyXHVDMkU1XCIsNSxcIlx1QzJFRVx1QzJGMFx1QzJGMlx1QzJGM1x1QzJGNFx1QzJGNVx1QzJGN1x1QzJGQVx1QzJGRFx1QzJGRVx1QzJGRlx1QzMwMVwiLDYsXCJcdUMzMEFcdUMzMEJcdUMzMEVcdUMzMEZcIl0sXG5bXCI5YjQxXCIsXCJcdUMzMTBcdUMzMTFcdUMzMTJcdUMzMTZcdUMzMTdcdUMzMTlcdUMzMUFcdUMzMUJcdUMzMURcIiw2LFwiXHVDMzI2XHVDMzI3XHVDMzJBXCIsOF0sXG5bXCI5YjYxXCIsXCJcdUMzMzNcIiwxNyxcIlx1QzM0NlwiLDddLFxuW1wiOWI4MVwiLFwiXHVDMzRFXCIsMjUsXCJcdUMzNkFcdUMzNkJcdUMzNkRcdUMzNkVcdUMzNkZcdUMzNzFcdUMzNzNcIiw0LFwiXHVDMzdBXHVDMzdCXHVDMzdFXCIsNSxcIlx1QzM4NVx1QzM4Nlx1QzM4N1x1QzM4OVx1QzM4QVx1QzM4Qlx1QzM4RFwiLDUwLFwiXHVDM0MxXCIsMjIsXCJcdUMzREFcIl0sXG5bXCI5YzQxXCIsXCJcdUMzREJcdUMzRERcdUMzREVcdUMzRTFcdUMzRTNcIiw0LFwiXHVDM0VBXHVDM0VCXHVDM0VDXHVDM0VFXCIsNSxcIlx1QzNGNlx1QzNGN1x1QzNGOVwiLDVdLFxuW1wiOWM2MVwiLFwiXHVDM0ZGXCIsOCxcIlx1QzQwOVwiLDYsXCJcdUM0MTFcIiw5XSxcbltcIjljODFcIixcIlx1QzQxQlwiLDgsXCJcdUM0MjVcIiw2LFwiXHVDNDJEXHVDNDJFXHVDNDJGXHVDNDMxXHVDNDMyXHVDNDMzXHVDNDM1XCIsNixcIlx1QzQzRVwiLDksXCJcdUM0NDlcIiwyNixcIlx1QzQ2Nlx1QzQ2N1x1QzQ2OVx1QzQ2QVx1QzQ2Qlx1QzQ2RFwiLDYsXCJcdUM0NzZcdUM0NzdcdUM0NzhcdUM0N0FcIiw1LFwiXHVDNDgxXCIsMTgsXCJcdUM0OTVcIiw2LFwiXHVDNDlEXCIsMTJdLFxuW1wiOWQ0MVwiLFwiXHVDNEFBXCIsMTMsXCJcdUM0QjlcdUM0QkFcdUM0QkJcdUM0QkRcIiw4XSxcbltcIjlkNjFcIixcIlx1QzRDNlwiLDI1XSxcbltcIjlkODFcIixcIlx1QzRFMFwiLDgsXCJcdUM0RUFcIiw1LFwiXHVDNEYyXHVDNEYzXHVDNEY1XHVDNEY2XHVDNEY3XHVDNEY5XHVDNEZCXHVDNEZDXHVDNEZEXHVDNEZFXHVDNTAyXCIsOSxcIlx1QzUwRFx1QzUwRVx1QzUwRlx1QzUxMVx1QzUxMlx1QzUxM1x1QzUxNVwiLDYsXCJcdUM1MURcIiwxMCxcIlx1QzUyQVx1QzUyQlx1QzUyRFx1QzUyRVx1QzUyRlx1QzUzMVwiLDYsXCJcdUM1M0FcdUM1M0NcdUM1M0VcIiw1LFwiXHVDNTQ2XHVDNTQ3XHVDNTRCXHVDNTRGXHVDNTUwXHVDNTUxXHVDNTUyXHVDNTU2XHVDNTVBXHVDNTVCXHVDNTVDXHVDNTVGXHVDNTYyXHVDNTYzXHVDNTY1XHVDNTY2XHVDNTY3XHVDNTY5XCIsNixcIlx1QzU3Mlx1QzU3NlwiLDUsXCJcdUM1N0VcdUM1N0ZcdUM1ODFcdUM1ODJcdUM1ODNcdUM1ODVcdUM1ODZcdUM1ODhcdUM1ODlcdUM1OEFcdUM1OEJcdUM1OEVcdUM1OTBcdUM1OTJcdUM1OTNcdUM1OTRcIl0sXG5bXCI5ZTQxXCIsXCJcdUM1OTZcdUM1OTlcdUM1OUFcdUM1OUJcdUM1OURcdUM1OUVcdUM1OUZcdUM1QTFcIiw3LFwiXHVDNUFBXCIsOSxcIlx1QzVCNlwiXSxcbltcIjllNjFcIixcIlx1QzVCN1x1QzVCQVx1QzVCRlwiLDQsXCJcdUM1Q0JcdUM1Q0RcdUM1Q0ZcdUM1RDJcdUM1RDNcdUM1RDVcdUM1RDZcdUM1RDdcdUM1RDlcIiw2LFwiXHVDNUUyXHVDNUU0XHVDNUU2XHVDNUU3XCJdLFxuW1wiOWU4MVwiLFwiXHVDNUU4XHVDNUU5XHVDNUVBXHVDNUVCXHVDNUVGXHVDNUYxXHVDNUYyXHVDNUYzXHVDNUY1XHVDNUY4XHVDNUY5XHVDNUZBXHVDNUZCXHVDNjAyXHVDNjAzXHVDNjA0XHVDNjA5XHVDNjBBXHVDNjBCXHVDNjBEXHVDNjBFXHVDNjBGXHVDNjExXCIsNixcIlx1QzYxQVx1QzYxRFwiLDYsXCJcdUM2MjZcdUM2MjdcdUM2MjlcdUM2MkFcdUM2MkJcdUM2MkZcdUM2MzFcdUM2MzJcdUM2MzZcdUM2MzhcdUM2M0FcdUM2M0NcdUM2M0RcdUM2M0VcdUM2M0ZcdUM2NDJcdUM2NDNcdUM2NDVcdUM2NDZcdUM2NDdcdUM2NDlcIiw2LFwiXHVDNjUyXHVDNjU2XCIsNSxcIlx1QzY1RVx1QzY1Rlx1QzY2MVwiLDEwLFwiXHVDNjZEXHVDNjZFXHVDNjcwXHVDNjcyXCIsNSxcIlx1QzY3QVx1QzY3Qlx1QzY3RFx1QzY3RVx1QzY3Rlx1QzY4MVwiLDYsXCJcdUM2OEFcdUM2OENcdUM2OEVcIiw1LFwiXHVDNjk2XHVDNjk3XHVDNjk5XHVDNjlBXHVDNjlCXHVDNjlEXCIsNixcIlx1QzZBNlwiXSxcbltcIjlmNDFcIixcIlx1QzZBOFx1QzZBQVwiLDUsXCJcdUM2QjJcdUM2QjNcdUM2QjVcdUM2QjZcdUM2QjdcdUM2QkJcIiw0LFwiXHVDNkMyXHVDNkM0XHVDNkM2XCIsNSxcIlx1QzZDRVwiXSxcbltcIjlmNjFcIixcIlx1QzZDRlx1QzZEMVx1QzZEMlx1QzZEM1x1QzZENVwiLDYsXCJcdUM2REVcdUM2REZcdUM2RTJcIiw1LFwiXHVDNkVBXHVDNkVCXHVDNkVEXHVDNkVFXHVDNkVGXHVDNkYxXHVDNkYyXCJdLFxuW1wiOWY4MVwiLFwiXHVDNkYzXCIsNCxcIlx1QzZGQVx1QzZGQlx1QzZGQ1x1QzZGRVwiLDUsXCJcdUM3MDZcdUM3MDdcdUM3MDlcdUM3MEFcdUM3MEJcdUM3MERcIiw2LFwiXHVDNzE2XHVDNzE4XHVDNzFBXCIsNSxcIlx1QzcyMlx1QzcyM1x1QzcyNVx1QzcyNlx1QzcyN1x1QzcyOVwiLDYsXCJcdUM3MzJcdUM3MzRcdUM3MzZcdUM3MzhcdUM3MzlcdUM3M0FcdUM3M0JcdUM3M0VcdUM3M0ZcdUM3NDFcdUM3NDJcdUM3NDNcdUM3NDVcIiw0LFwiXHVDNzRCXHVDNzRFXHVDNzUwXHVDNzU5XHVDNzVBXHVDNzVCXHVDNzVEXHVDNzVFXHVDNzVGXHVDNzYxXCIsNixcIlx1Qzc2OVx1Qzc2QVx1Qzc2Q1wiLDcsXCJcdUM3NzZcdUM3NzdcdUM3NzlcdUM3N0FcdUM3N0JcdUM3N0ZcdUM3ODBcdUM3ODFcdUM3ODJcdUM3ODZcdUM3OEJcdUM3OENcdUM3OERcdUM3OEZcdUM3OTJcdUM3OTNcdUM3OTVcdUM3OTlcdUM3OUJcIiw0LFwiXHVDN0EyXHVDN0E3XCIsNCxcIlx1QzdBRVx1QzdBRlx1QzdCMVx1QzdCMlx1QzdCM1x1QzdCNVx1QzdCNlx1QzdCN1wiXSxcbltcImEwNDFcIixcIlx1QzdCOFx1QzdCOVx1QzdCQVx1QzdCQlx1QzdCRVx1QzdDMlwiLDUsXCJcdUM3Q0FcdUM3Q0JcdUM3Q0RcdUM3Q0ZcdUM3RDFcIiw2LFwiXHVDN0Q5XHVDN0RBXHVDN0RCXHVDN0RDXCJdLFxuW1wiYTA2MVwiLFwiXHVDN0RFXCIsNSxcIlx1QzdFNVx1QzdFNlx1QzdFN1x1QzdFOVx1QzdFQVx1QzdFQlx1QzdFRFwiLDEzXSxcbltcImEwODFcIixcIlx1QzdGQlwiLDQsXCJcdUM4MDJcdUM4MDNcdUM4MDVcdUM4MDZcdUM4MDdcdUM4MDlcdUM4MEJcIiw0LFwiXHVDODEyXHVDODE0XHVDODE3XCIsNCxcIlx1QzgxRVx1QzgxRlx1QzgyMVx1QzgyMlx1QzgyM1x1QzgyNVwiLDYsXCJcdUM4MkVcdUM4MzBcdUM4MzJcIiw1LFwiXHVDODM5XHVDODNBXHVDODNCXHVDODNEXHVDODNFXHVDODNGXHVDODQxXCIsNixcIlx1Qzg0QVx1Qzg0Qlx1Qzg0RVwiLDUsXCJcdUM4NTVcIiwyNixcIlx1Qzg3Mlx1Qzg3M1x1Qzg3NVx1Qzg3Nlx1Qzg3N1x1Qzg3OVx1Qzg3QlwiLDQsXCJcdUM4ODJcdUM4ODRcdUM4ODhcdUM4ODlcdUM4OEFcdUM4OEVcIiw1LFwiXHVDODk1XCIsNyxcIlx1Qzg5RVx1QzhBMFx1QzhBMlx1QzhBM1x1QzhBNFwiXSxcbltcImExNDFcIixcIlx1QzhBNVx1QzhBNlx1QzhBN1x1QzhBOVwiLDE4LFwiXHVDOEJFXHVDOEJGXHVDOEMwXHVDOEMxXCJdLFxuW1wiYTE2MVwiLFwiXHVDOEMyXHVDOEMzXHVDOEM1XHVDOEM2XHVDOEM3XHVDOEM5XHVDOENBXHVDOENCXHVDOENEXCIsNixcIlx1QzhENlx1QzhEOFx1QzhEQVwiLDUsXCJcdUM4RTJcdUM4RTNcdUM4RTVcIl0sXG5bXCJhMTgxXCIsXCJcdUM4RTZcIiwxNCxcIlx1QzhGNlwiLDUsXCJcdUM4RkVcdUM4RkZcdUM5MDFcdUM5MDJcdUM5MDNcdUM5MDdcIiw0LFwiXHVDOTBFXHUzMDAwXHUzMDAxXHUzMDAyXHUwMEI3XHUyMDI1XHUyMDI2XHUwMEE4XHUzMDAzXHUwMEFEXHUyMDE1XHUyMjI1XHVGRjNDXHUyMjNDXHUyMDE4XHUyMDE5XHUyMDFDXHUyMDFEXHUzMDE0XHUzMDE1XHUzMDA4XCIsOSxcIlx1MDBCMVx1MDBEN1x1MDBGN1x1MjI2MFx1MjI2NFx1MjI2NVx1MjIxRVx1MjIzNFx1MDBCMFx1MjAzMlx1MjAzM1x1MjEwM1x1MjEyQlx1RkZFMFx1RkZFMVx1RkZFNVx1MjY0Mlx1MjY0MFx1MjIyMFx1MjJBNVx1MjMxMlx1MjIwMlx1MjIwN1x1MjI2MVx1MjI1Mlx1MDBBN1x1MjAzQlx1MjYwNlx1MjYwNVx1MjVDQlx1MjVDRlx1MjVDRVx1MjVDN1x1MjVDNlx1MjVBMVx1MjVBMFx1MjVCM1x1MjVCMlx1MjVCRFx1MjVCQ1x1MjE5Mlx1MjE5MFx1MjE5MVx1MjE5M1x1MjE5NFx1MzAxM1x1MjI2QVx1MjI2Qlx1MjIxQVx1MjIzRFx1MjIxRFx1MjIzNVx1MjIyQlx1MjIyQ1x1MjIwOFx1MjIwQlx1MjI4Nlx1MjI4N1x1MjI4Mlx1MjI4M1x1MjIyQVx1MjIyOVx1MjIyN1x1MjIyOFx1RkZFMlwiXSxcbltcImEyNDFcIixcIlx1QzkxMFx1QzkxMlwiLDUsXCJcdUM5MTlcIiwxOF0sXG5bXCJhMjYxXCIsXCJcdUM5MkRcIiw2LFwiXHVDOTM1XCIsMThdLFxuW1wiYTI4MVwiLFwiXHVDOTQ4XCIsNyxcIlx1Qzk1Mlx1Qzk1M1x1Qzk1NVx1Qzk1Nlx1Qzk1N1x1Qzk1OVwiLDYsXCJcdUM5NjJcdUM5NjRcIiw3LFwiXHVDOTZEXHVDOTZFXHVDOTZGXHUyMUQyXHUyMUQ0XHUyMjAwXHUyMjAzXHUwMEI0XHVGRjVFXHUwMkM3XHUwMkQ4XHUwMkREXHUwMkRBXHUwMkQ5XHUwMEI4XHUwMkRCXHUwMEExXHUwMEJGXHUwMkQwXHUyMjJFXHUyMjExXHUyMjBGXHUwMEE0XHUyMTA5XHUyMDMwXHUyNUMxXHUyNUMwXHUyNUI3XHUyNUI2XHUyNjY0XHUyNjYwXHUyNjYxXHUyNjY1XHUyNjY3XHUyNjYzXHUyMjk5XHUyNUM4XHUyNUEzXHUyNUQwXHUyNUQxXHUyNTkyXHUyNUE0XHUyNUE1XHUyNUE4XHUyNUE3XHUyNUE2XHUyNUE5XHUyNjY4XHUyNjBGXHUyNjBFXHUyNjFDXHUyNjFFXHUwMEI2XHUyMDIwXHUyMDIxXHUyMTk1XHUyMTk3XHUyMTk5XHUyMTk2XHUyMTk4XHUyNjZEXHUyNjY5XHUyNjZBXHUyNjZDXHUzMjdGXHUzMjFDXHUyMTE2XHUzM0M3XHUyMTIyXHUzM0MyXHUzM0Q4XHUyMTIxXHUyMEFDXHUwMEFFXCJdLFxuW1wiYTM0MVwiLFwiXHVDOTcxXHVDOTcyXHVDOTczXHVDOTc1XCIsNixcIlx1Qzk3RFwiLDEwLFwiXHVDOThBXHVDOThCXHVDOThEXHVDOThFXHVDOThGXCJdLFxuW1wiYTM2MVwiLFwiXHVDOTkxXCIsNixcIlx1Qzk5QVx1Qzk5Q1x1Qzk5RVwiLDE2XSxcbltcImEzODFcIixcIlx1QzlBRlwiLDE2LFwiXHVDOUMyXHVDOUMzXHVDOUM1XHVDOUM2XHVDOUM5XHVDOUNCXCIsNCxcIlx1QzlEMlx1QzlENFx1QzlEN1x1QzlEOFx1QzlEQlx1RkYwMVwiLDU4LFwiXHVGRkU2XHVGRjNEXCIsMzIsXCJcdUZGRTNcIl0sXG5bXCJhNDQxXCIsXCJcdUM5REVcdUM5REZcdUM5RTFcdUM5RTNcdUM5RTVcdUM5RTZcdUM5RThcdUM5RTlcdUM5RUFcdUM5RUJcdUM5RUVcdUM5RjJcIiw1LFwiXHVDOUZBXHVDOUZCXHVDOUZEXHVDOUZFXHVDOUZGXHVDQTAxXHVDQTAyXHVDQTAzXHVDQTA0XCJdLFxuW1wiYTQ2MVwiLFwiXHVDQTA1XHVDQTA2XHVDQTA3XHVDQTBBXHVDQTBFXCIsNSxcIlx1Q0ExNVx1Q0ExNlx1Q0ExN1x1Q0ExOVwiLDEyXSxcbltcImE0ODFcIixcIlx1Q0EyNlx1Q0EyN1x1Q0EyOFx1Q0EyQVwiLDI4LFwiXHUzMTMxXCIsOTNdLFxuW1wiYTU0MVwiLFwiXHVDQTQ3XCIsNCxcIlx1Q0E0RVx1Q0E0Rlx1Q0E1MVx1Q0E1Mlx1Q0E1M1x1Q0E1NVwiLDYsXCJcdUNBNUVcdUNBNjJcIiw1LFwiXHVDQTY5XHVDQTZBXCJdLFxuW1wiYTU2MVwiLFwiXHVDQTZCXCIsMTcsXCJcdUNBN0VcIiw1LFwiXHVDQTg1XHVDQTg2XCJdLFxuW1wiYTU4MVwiLFwiXHVDQTg3XCIsMTYsXCJcdUNBOTlcIiwxNCxcIlx1MjE3MFwiLDldLFxuW1wiYTViMFwiLFwiXHUyMTYwXCIsOV0sXG5bXCJhNWMxXCIsXCJcdTAzOTFcIiwxNixcIlx1MDNBM1wiLDZdLFxuW1wiYTVlMVwiLFwiXHUwM0IxXCIsMTYsXCJcdTAzQzNcIiw2XSxcbltcImE2NDFcIixcIlx1Q0FBOFwiLDE5LFwiXHVDQUJFXHVDQUJGXHVDQUMxXHVDQUMyXHVDQUMzXHVDQUM1XCJdLFxuW1wiYTY2MVwiLFwiXHVDQUM2XCIsNSxcIlx1Q0FDRVx1Q0FEMFx1Q0FEMlx1Q0FENFx1Q0FENVx1Q0FENlx1Q0FEN1x1Q0FEQVwiLDUsXCJcdUNBRTFcIiw2XSxcbltcImE2ODFcIixcIlx1Q0FFOFx1Q0FFOVx1Q0FFQVx1Q0FFQlx1Q0FFRFwiLDYsXCJcdUNBRjVcIiwxOCxcIlx1Q0IwOVx1Q0IwQVx1MjUwMFx1MjUwMlx1MjUwQ1x1MjUxMFx1MjUxOFx1MjUxNFx1MjUxQ1x1MjUyQ1x1MjUyNFx1MjUzNFx1MjUzQ1x1MjUwMVx1MjUwM1x1MjUwRlx1MjUxM1x1MjUxQlx1MjUxN1x1MjUyM1x1MjUzM1x1MjUyQlx1MjUzQlx1MjU0Qlx1MjUyMFx1MjUyRlx1MjUyOFx1MjUzN1x1MjUzRlx1MjUxRFx1MjUzMFx1MjUyNVx1MjUzOFx1MjU0Mlx1MjUxMlx1MjUxMVx1MjUxQVx1MjUxOVx1MjUxNlx1MjUxNVx1MjUwRVx1MjUwRFx1MjUxRVx1MjUxRlx1MjUyMVx1MjUyMlx1MjUyNlx1MjUyN1x1MjUyOVx1MjUyQVx1MjUyRFx1MjUyRVx1MjUzMVx1MjUzMlx1MjUzNVx1MjUzNlx1MjUzOVx1MjUzQVx1MjUzRFx1MjUzRVx1MjU0MFx1MjU0MVx1MjU0M1wiLDddLFxuW1wiYTc0MVwiLFwiXHVDQjBCXCIsNCxcIlx1Q0IxMVx1Q0IxMlx1Q0IxM1x1Q0IxNVx1Q0IxNlx1Q0IxN1x1Q0IxOVwiLDYsXCJcdUNCMjJcIiw3XSxcbltcImE3NjFcIixcIlx1Q0IyQVwiLDIyLFwiXHVDQjQyXHVDQjQzXHVDQjQ0XCJdLFxuW1wiYTc4MVwiLFwiXHVDQjQ1XHVDQjQ2XHVDQjQ3XHVDQjRBXHVDQjRCXHVDQjREXHVDQjRFXHVDQjRGXHVDQjUxXCIsNixcIlx1Q0I1QVx1Q0I1Qlx1Q0I1Q1x1Q0I1RVwiLDUsXCJcdUNCNjVcIiw3LFwiXHUzMzk1XHUzMzk2XHUzMzk3XHUyMTEzXHUzMzk4XHUzM0M0XHUzM0EzXHUzM0E0XHUzM0E1XHUzM0E2XHUzMzk5XCIsOSxcIlx1MzNDQVx1MzM4RFx1MzM4RVx1MzM4Rlx1MzNDRlx1MzM4OFx1MzM4OVx1MzNDOFx1MzNBN1x1MzNBOFx1MzNCMFwiLDksXCJcdTMzODBcIiw0LFwiXHUzM0JBXCIsNSxcIlx1MzM5MFwiLDQsXCJcdTIxMjZcdTMzQzBcdTMzQzFcdTMzOEFcdTMzOEJcdTMzOENcdTMzRDZcdTMzQzVcdTMzQURcdTMzQUVcdTMzQUZcdTMzREJcdTMzQTlcdTMzQUFcdTMzQUJcdTMzQUNcdTMzRERcdTMzRDBcdTMzRDNcdTMzQzNcdTMzQzlcdTMzRENcdTMzQzZcIl0sXG5bXCJhODQxXCIsXCJcdUNCNkRcIiwxMCxcIlx1Q0I3QVwiLDE0XSxcbltcImE4NjFcIixcIlx1Q0I4OVwiLDE4LFwiXHVDQjlEXCIsNl0sXG5bXCJhODgxXCIsXCJcdUNCQTRcIiwxOSxcIlx1Q0JCOVwiLDExLFwiXHUwMEM2XHUwMEQwXHUwMEFBXHUwMTI2XCJdLFxuW1wiYThhNlwiLFwiXHUwMTMyXCJdLFxuW1wiYThhOFwiLFwiXHUwMTNGXHUwMTQxXHUwMEQ4XHUwMTUyXHUwMEJBXHUwMERFXHUwMTY2XHUwMTRBXCJdLFxuW1wiYThiMVwiLFwiXHUzMjYwXCIsMjcsXCJcdTI0RDBcIiwyNSxcIlx1MjQ2MFwiLDE0LFwiXHUwMEJEXHUyMTUzXHUyMTU0XHUwMEJDXHUwMEJFXHUyMTVCXHUyMTVDXHUyMTVEXHUyMTVFXCJdLFxuW1wiYTk0MVwiLFwiXHVDQkM1XCIsMTQsXCJcdUNCRDVcIiwxMF0sXG5bXCJhOTYxXCIsXCJcdUNCRTBcdUNCRTFcdUNCRTJcdUNCRTNcdUNCRTVcdUNCRTZcdUNCRThcdUNCRUFcIiwxOF0sXG5bXCJhOTgxXCIsXCJcdUNCRkRcIiwxNCxcIlx1Q0MwRVx1Q0MwRlx1Q0MxMVx1Q0MxMlx1Q0MxM1x1Q0MxNVwiLDYsXCJcdUNDMUVcdUNDMUZcdUNDMjBcdUNDMjNcdUNDMjRcdTAwRTZcdTAxMTFcdTAwRjBcdTAxMjdcdTAxMzFcdTAxMzNcdTAxMzhcdTAxNDBcdTAxNDJcdTAwRjhcdTAxNTNcdTAwREZcdTAwRkVcdTAxNjdcdTAxNEJcdTAxNDlcdTMyMDBcIiwyNyxcIlx1MjQ5Q1wiLDI1LFwiXHUyNDc0XCIsMTQsXCJcdTAwQjlcdTAwQjJcdTAwQjNcdTIwNzRcdTIwN0ZcdTIwODFcdTIwODJcdTIwODNcdTIwODRcIl0sXG5bXCJhYTQxXCIsXCJcdUNDMjVcdUNDMjZcdUNDMkFcdUNDMkJcdUNDMkRcdUNDMkZcdUNDMzFcIiw2LFwiXHVDQzNBXHVDQzNGXCIsNCxcIlx1Q0M0Nlx1Q0M0N1x1Q0M0OVx1Q0M0QVx1Q0M0Qlx1Q0M0RFx1Q0M0RVwiXSxcbltcImFhNjFcIixcIlx1Q0M0RlwiLDQsXCJcdUNDNTZcdUNDNUFcIiw1LFwiXHVDQzYxXHVDQzYyXHVDQzYzXHVDQzY1XHVDQzY3XHVDQzY5XCIsNixcIlx1Q0M3MVx1Q0M3MlwiXSxcbltcImFhODFcIixcIlx1Q0M3M1x1Q0M3NFx1Q0M3NlwiLDI5LFwiXHUzMDQxXCIsODJdLFxuW1wiYWI0MVwiLFwiXHVDQzk0XHVDQzk1XHVDQzk2XHVDQzk3XHVDQzlBXHVDQzlCXHVDQzlEXHVDQzlFXHVDQzlGXHVDQ0ExXCIsNixcIlx1Q0NBQVx1Q0NBRVwiLDUsXCJcdUNDQjZcdUNDQjdcdUNDQjlcIl0sXG5bXCJhYjYxXCIsXCJcdUNDQkFcdUNDQkJcdUNDQkRcIiw2LFwiXHVDQ0M2XHVDQ0M4XHVDQ0NBXCIsNSxcIlx1Q0NEMVx1Q0NEMlx1Q0NEM1x1Q0NENVwiLDVdLFxuW1wiYWI4MVwiLFwiXHVDQ0RCXCIsOCxcIlx1Q0NFNVwiLDYsXCJcdUNDRURcdUNDRUVcdUNDRUZcdUNDRjFcIiwxMixcIlx1MzBBMVwiLDg1XSxcbltcImFjNDFcIixcIlx1Q0NGRVx1Q0NGRlx1Q0QwMFx1Q0QwMlwiLDUsXCJcdUNEMEFcdUNEMEJcdUNEMERcdUNEMEVcdUNEMEZcdUNEMTFcIiw2LFwiXHVDRDFBXHVDRDFDXHVDRDFFXHVDRDFGXHVDRDIwXCJdLFxuW1wiYWM2MVwiLFwiXHVDRDIxXHVDRDIyXHVDRDIzXHVDRDI1XHVDRDI2XHVDRDI3XHVDRDI5XHVDRDJBXHVDRDJCXHVDRDJEXCIsMTEsXCJcdUNEM0FcIiw0XSxcbltcImFjODFcIixcIlx1Q0QzRlwiLDI4LFwiXHVDRDVEXHVDRDVFXHVDRDVGXHUwNDEwXCIsNSxcIlx1MDQwMVx1MDQxNlwiLDI1XSxcbltcImFjZDFcIixcIlx1MDQzMFwiLDUsXCJcdTA0NTFcdTA0MzZcIiwyNV0sXG5bXCJhZDQxXCIsXCJcdUNENjFcdUNENjJcdUNENjNcdUNENjVcIiw2LFwiXHVDRDZFXHVDRDcwXHVDRDcyXCIsNSxcIlx1Q0Q3OVwiLDddLFxuW1wiYWQ2MVwiLFwiXHVDRDgxXCIsNixcIlx1Q0Q4OVwiLDEwLFwiXHVDRDk2XHVDRDk3XHVDRDk5XHVDRDlBXHVDRDlCXHVDRDlEXHVDRDlFXHVDRDlGXCJdLFxuW1wiYWQ4MVwiLFwiXHVDREEwXHVDREExXHVDREEyXHVDREEzXHVDREE2XHVDREE4XHVDREFBXCIsNSxcIlx1Q0RCMVwiLDE4LFwiXHVDREM1XCJdLFxuW1wiYWU0MVwiLFwiXHVDREM2XCIsNSxcIlx1Q0RDRFx1Q0RDRVx1Q0RDRlx1Q0REMVwiLDE2XSxcbltcImFlNjFcIixcIlx1Q0RFMlwiLDUsXCJcdUNERTlcdUNERUFcdUNERUJcdUNERURcdUNERUVcdUNERUZcdUNERjFcIiw2LFwiXHVDREZBXHVDREZDXHVDREZFXCIsNF0sXG5bXCJhZTgxXCIsXCJcdUNFMDNcdUNFMDVcdUNFMDZcdUNFMDdcdUNFMDlcdUNFMEFcdUNFMEJcdUNFMERcIiw2LFwiXHVDRTE1XHVDRTE2XHVDRTE3XHVDRTE4XHVDRTFBXCIsNSxcIlx1Q0UyMlx1Q0UyM1x1Q0UyNVx1Q0UyNlx1Q0UyN1x1Q0UyOVx1Q0UyQVx1Q0UyQlwiXSxcbltcImFmNDFcIixcIlx1Q0UyQ1x1Q0UyRFx1Q0UyRVx1Q0UyRlx1Q0UzMlx1Q0UzNFx1Q0UzNlwiLDE5XSxcbltcImFmNjFcIixcIlx1Q0U0QVwiLDEzLFwiXHVDRTVBXHVDRTVCXHVDRTVEXHVDRTVFXHVDRTYyXCIsNSxcIlx1Q0U2QVx1Q0U2Q1wiXSxcbltcImFmODFcIixcIlx1Q0U2RVwiLDUsXCJcdUNFNzZcdUNFNzdcdUNFNzlcdUNFN0FcdUNFN0JcdUNFN0RcIiw2LFwiXHVDRTg2XHVDRTg4XHVDRThBXCIsNSxcIlx1Q0U5Mlx1Q0U5M1x1Q0U5NVx1Q0U5Nlx1Q0U5N1x1Q0U5OVwiXSxcbltcImIwNDFcIixcIlx1Q0U5QVwiLDUsXCJcdUNFQTJcdUNFQTZcIiw1LFwiXHVDRUFFXCIsMTJdLFxuW1wiYjA2MVwiLFwiXHVDRUJCXCIsNSxcIlx1Q0VDMlwiLDE5XSxcbltcImIwODFcIixcIlx1Q0VENlwiLDEzLFwiXHVDRUU2XHVDRUU3XHVDRUU5XHVDRUVBXHVDRUVEXCIsNixcIlx1Q0VGNlx1Q0VGQVwiLDUsXCJcdUFDMDBcdUFDMDFcdUFDMDRcdUFDMDdcdUFDMDhcdUFDMDlcdUFDMEFcdUFDMTBcIiw3LFwiXHVBQzE5XCIsNCxcIlx1QUMyMFx1QUMyNFx1QUMyQ1x1QUMyRFx1QUMyRlx1QUMzMFx1QUMzMVx1QUMzOFx1QUMzOVx1QUMzQ1x1QUM0MFx1QUM0Qlx1QUM0RFx1QUM1NFx1QUM1OFx1QUM1Q1x1QUM3MFx1QUM3MVx1QUM3NFx1QUM3N1x1QUM3OFx1QUM3QVx1QUM4MFx1QUM4MVx1QUM4M1x1QUM4NFx1QUM4NVx1QUM4Nlx1QUM4OVx1QUM4QVx1QUM4Qlx1QUM4Q1x1QUM5MFx1QUM5NFx1QUM5Q1x1QUM5RFx1QUM5Rlx1QUNBMFx1QUNBMVx1QUNBOFx1QUNBOVx1QUNBQVx1QUNBQ1x1QUNBRlx1QUNCMFx1QUNCOFx1QUNCOVx1QUNCQlx1QUNCQ1x1QUNCRFx1QUNDMVx1QUNDNFx1QUNDOFx1QUNDQ1x1QUNENVx1QUNEN1x1QUNFMFx1QUNFMVx1QUNFNFx1QUNFN1x1QUNFOFx1QUNFQVx1QUNFQ1x1QUNFRlx1QUNGMFx1QUNGMVx1QUNGM1x1QUNGNVx1QUNGNlx1QUNGQ1x1QUNGRFx1QUQwMFx1QUQwNFx1QUQwNlwiXSxcbltcImIxNDFcIixcIlx1Q0YwMlx1Q0YwM1x1Q0YwNVx1Q0YwNlx1Q0YwN1x1Q0YwOVwiLDYsXCJcdUNGMTJcdUNGMTRcdUNGMTZcIiw1LFwiXHVDRjFEXHVDRjFFXHVDRjFGXHVDRjIxXHVDRjIyXHVDRjIzXCJdLFxuW1wiYjE2MVwiLFwiXHVDRjI1XCIsNixcIlx1Q0YyRVx1Q0YzMlwiLDUsXCJcdUNGMzlcIiwxMV0sXG5bXCJiMTgxXCIsXCJcdUNGNDVcIiwxNCxcIlx1Q0Y1Nlx1Q0Y1N1x1Q0Y1OVx1Q0Y1QVx1Q0Y1Qlx1Q0Y1RFwiLDYsXCJcdUNGNjZcdUNGNjhcdUNGNkFcdUNGNkJcdUNGNkNcdUFEMENcdUFEMERcdUFEMEZcdUFEMTFcdUFEMThcdUFEMUNcdUFEMjBcdUFEMjlcdUFEMkNcdUFEMkRcdUFEMzRcdUFEMzVcdUFEMzhcdUFEM0NcdUFENDRcdUFENDVcdUFENDdcdUFENDlcdUFENTBcdUFENTRcdUFENThcdUFENjFcdUFENjNcdUFENkNcdUFENkRcdUFENzBcdUFENzNcdUFENzRcdUFENzVcdUFENzZcdUFEN0JcdUFEN0NcdUFEN0RcdUFEN0ZcdUFEODFcdUFEODJcdUFEODhcdUFEODlcdUFEOENcdUFEOTBcdUFEOUNcdUFEOURcdUFEQTRcdUFEQjdcdUFEQzBcdUFEQzFcdUFEQzRcdUFEQzhcdUFERDBcdUFERDFcdUFERDNcdUFERENcdUFERTBcdUFERTRcdUFERjhcdUFERjlcdUFERkNcdUFERkZcdUFFMDBcdUFFMDFcdUFFMDhcdUFFMDlcdUFFMEJcdUFFMERcdUFFMTRcdUFFMzBcdUFFMzFcdUFFMzRcdUFFMzdcdUFFMzhcdUFFM0FcdUFFNDBcdUFFNDFcdUFFNDNcdUFFNDVcdUFFNDZcdUFFNEFcdUFFNENcdUFFNERcdUFFNEVcdUFFNTBcdUFFNTRcdUFFNTZcdUFFNUNcdUFFNURcdUFFNUZcdUFFNjBcdUFFNjFcdUFFNjVcdUFFNjhcdUFFNjlcdUFFNkNcdUFFNzBcdUFFNzhcIl0sXG5bXCJiMjQxXCIsXCJcdUNGNkRcdUNGNkVcdUNGNkZcdUNGNzJcdUNGNzNcdUNGNzVcdUNGNzZcdUNGNzdcdUNGNzlcIiw2LFwiXHVDRjgxXHVDRjgyXHVDRjgzXHVDRjg0XHVDRjg2XCIsNSxcIlx1Q0Y4RFwiXSxcbltcImIyNjFcIixcIlx1Q0Y4RVwiLDE4LFwiXHVDRkEyXCIsNSxcIlx1Q0ZBOVwiXSxcbltcImIyODFcIixcIlx1Q0ZBQVwiLDUsXCJcdUNGQjFcIiwxOCxcIlx1Q0ZDNVwiLDYsXCJcdUFFNzlcdUFFN0JcdUFFN0NcdUFFN0RcdUFFODRcdUFFODVcdUFFOENcdUFFQkNcdUFFQkRcdUFFQkVcdUFFQzBcdUFFQzRcdUFFQ0NcdUFFQ0RcdUFFQ0ZcdUFFRDBcdUFFRDFcdUFFRDhcdUFFRDlcdUFFRENcdUFFRThcdUFFRUJcdUFFRURcdUFFRjRcdUFFRjhcdUFFRkNcdUFGMDdcdUFGMDhcdUFGMERcdUFGMTBcdUFGMkNcdUFGMkRcdUFGMzBcdUFGMzJcdUFGMzRcdUFGM0NcdUFGM0RcdUFGM0ZcdUFGNDFcdUFGNDJcdUFGNDNcdUFGNDhcdUFGNDlcdUFGNTBcdUFGNUNcdUFGNURcdUFGNjRcdUFGNjVcdUFGNzlcdUFGODBcdUFGODRcdUFGODhcdUFGOTBcdUFGOTFcdUFGOTVcdUFGOUNcdUFGQjhcdUFGQjlcdUFGQkNcdUFGQzBcdUFGQzdcdUFGQzhcdUFGQzlcdUFGQ0JcdUFGQ0RcdUFGQ0VcdUFGRDRcdUFGRENcdUFGRThcdUFGRTlcdUFGRjBcdUFGRjFcdUFGRjRcdUFGRjhcdUIwMDBcdUIwMDFcdUIwMDRcdUIwMENcdUIwMTBcdUIwMTRcdUIwMUNcdUIwMURcdUIwMjhcdUIwNDRcdUIwNDVcdUIwNDhcdUIwNEFcdUIwNENcdUIwNEVcdUIwNTNcdUIwNTRcdUIwNTVcdUIwNTdcdUIwNTlcIl0sXG5bXCJiMzQxXCIsXCJcdUNGQ0NcIiwxOSxcIlx1Q0ZFMlx1Q0ZFM1x1Q0ZFNVx1Q0ZFNlx1Q0ZFN1x1Q0ZFOVwiXSxcbltcImIzNjFcIixcIlx1Q0ZFQVwiLDUsXCJcdUNGRjJcdUNGRjRcdUNGRjZcIiw1LFwiXHVDRkZEXHVDRkZFXHVDRkZGXHVEMDAxXHVEMDAyXHVEMDAzXHVEMDA1XCIsNV0sXG5bXCJiMzgxXCIsXCJcdUQwMEJcIiw1LFwiXHVEMDEyXCIsNSxcIlx1RDAxOVwiLDE5LFwiXHVCMDVEXHVCMDdDXHVCMDdEXHVCMDgwXHVCMDg0XHVCMDhDXHVCMDhEXHVCMDhGXHVCMDkxXHVCMDk4XHVCMDk5XHVCMDlBXHVCMDlDXHVCMDlGXHVCMEEwXHVCMEExXHVCMEEyXHVCMEE4XHVCMEE5XHVCMEFCXCIsNCxcIlx1QjBCMVx1QjBCM1x1QjBCNFx1QjBCNVx1QjBCOFx1QjBCQ1x1QjBDNFx1QjBDNVx1QjBDN1x1QjBDOFx1QjBDOVx1QjBEMFx1QjBEMVx1QjBENFx1QjBEOFx1QjBFMFx1QjBFNVx1QjEwOFx1QjEwOVx1QjEwQlx1QjEwQ1x1QjExMFx1QjExMlx1QjExM1x1QjExOFx1QjExOVx1QjExQlx1QjExQ1x1QjExRFx1QjEyM1x1QjEyNFx1QjEyNVx1QjEyOFx1QjEyQ1x1QjEzNFx1QjEzNVx1QjEzN1x1QjEzOFx1QjEzOVx1QjE0MFx1QjE0MVx1QjE0NFx1QjE0OFx1QjE1MFx1QjE1MVx1QjE1NFx1QjE1NVx1QjE1OFx1QjE1Q1x1QjE2MFx1QjE3OFx1QjE3OVx1QjE3Q1x1QjE4MFx1QjE4Mlx1QjE4OFx1QjE4OVx1QjE4Qlx1QjE4RFx1QjE5Mlx1QjE5M1x1QjE5NFx1QjE5OFx1QjE5Q1x1QjFBOFx1QjFDQ1x1QjFEMFx1QjFENFx1QjFEQ1x1QjFERFwiXSxcbltcImI0NDFcIixcIlx1RDAyRVwiLDUsXCJcdUQwMzZcdUQwMzdcdUQwMzlcdUQwM0FcdUQwM0JcdUQwM0RcIiw2LFwiXHVEMDQ2XHVEMDQ4XHVEMDRBXCIsNV0sXG5bXCJiNDYxXCIsXCJcdUQwNTFcdUQwNTJcdUQwNTNcdUQwNTVcdUQwNTZcdUQwNTdcdUQwNTlcIiw2LFwiXHVEMDYxXCIsMTAsXCJcdUQwNkVcdUQwNkZcIl0sXG5bXCJiNDgxXCIsXCJcdUQwNzFcdUQwNzJcdUQwNzNcdUQwNzVcIiw2LFwiXHVEMDdFXHVEMDdGXHVEMDgwXHVEMDgyXCIsMTgsXCJcdUIxREZcdUIxRThcdUIxRTlcdUIxRUNcdUIxRjBcdUIxRjlcdUIxRkJcdUIxRkRcdUIyMDRcdUIyMDVcdUIyMDhcdUIyMEJcdUIyMENcdUIyMTRcdUIyMTVcdUIyMTdcdUIyMTlcdUIyMjBcdUIyMzRcdUIyM0NcdUIyNThcdUIyNUNcdUIyNjBcdUIyNjhcdUIyNjlcdUIyNzRcdUIyNzVcdUIyN0NcdUIyODRcdUIyODVcdUIyODlcdUIyOTBcdUIyOTFcdUIyOTRcdUIyOThcdUIyOTlcdUIyOUFcdUIyQTBcdUIyQTFcdUIyQTNcdUIyQTVcdUIyQTZcdUIyQUFcdUIyQUNcdUIyQjBcdUIyQjRcdUIyQzhcdUIyQzlcdUIyQ0NcdUIyRDBcdUIyRDJcdUIyRDhcdUIyRDlcdUIyREJcdUIyRERcdUIyRTJcdUIyRTRcdUIyRTVcdUIyRTZcdUIyRThcdUIyRUJcIiw0LFwiXHVCMkYzXHVCMkY0XHVCMkY1XHVCMkY3XCIsNCxcIlx1QjJGRlx1QjMwMFx1QjMwMVx1QjMwNFx1QjMwOFx1QjMxMFx1QjMxMVx1QjMxM1x1QjMxNFx1QjMxNVx1QjMxQ1x1QjM1NFx1QjM1NVx1QjM1Nlx1QjM1OFx1QjM1Qlx1QjM1Q1x1QjM1RVx1QjM1Rlx1QjM2NFx1QjM2NVwiXSxcbltcImI1NDFcIixcIlx1RDA5NVwiLDE0LFwiXHVEMEE2XHVEMEE3XHVEMEE5XHVEMEFBXHVEMEFCXHVEMEFEXCIsNV0sXG5bXCJiNTYxXCIsXCJcdUQwQjNcdUQwQjZcdUQwQjhcdUQwQkFcIiw1LFwiXHVEMEMyXHVEMEMzXHVEMEM1XHVEMEM2XHVEMEM3XHVEMENBXCIsNSxcIlx1RDBEMlx1RDBENlwiLDRdLFxuW1wiYjU4MVwiLFwiXHVEMERCXHVEMERFXHVEMERGXHVEMEUxXHVEMEUyXHVEMEUzXHVEMEU1XCIsNixcIlx1RDBFRVx1RDBGMlwiLDUsXCJcdUQwRjlcIiwxMSxcIlx1QjM2N1x1QjM2OVx1QjM2Qlx1QjM2RVx1QjM3MFx1QjM3MVx1QjM3NFx1QjM3OFx1QjM4MFx1QjM4MVx1QjM4M1x1QjM4NFx1QjM4NVx1QjM4Q1x1QjM5MFx1QjM5NFx1QjNBMFx1QjNBMVx1QjNBOFx1QjNBQ1x1QjNDNFx1QjNDNVx1QjNDOFx1QjNDQlx1QjNDQ1x1QjNDRVx1QjNEMFx1QjNENFx1QjNENVx1QjNEN1x1QjNEOVx1QjNEQlx1QjNERFx1QjNFMFx1QjNFNFx1QjNFOFx1QjNGQ1x1QjQxMFx1QjQxOFx1QjQxQ1x1QjQyMFx1QjQyOFx1QjQyOVx1QjQyQlx1QjQzNFx1QjQ1MFx1QjQ1MVx1QjQ1NFx1QjQ1OFx1QjQ2MFx1QjQ2MVx1QjQ2M1x1QjQ2NVx1QjQ2Q1x1QjQ4MFx1QjQ4OFx1QjQ5RFx1QjRBNFx1QjRBOFx1QjRBQ1x1QjRCNVx1QjRCN1x1QjRCOVx1QjRDMFx1QjRDNFx1QjRDOFx1QjREMFx1QjRENVx1QjREQ1x1QjRERFx1QjRFMFx1QjRFM1x1QjRFNFx1QjRFNlx1QjRFQ1x1QjRFRFx1QjRFRlx1QjRGMVx1QjRGOFx1QjUxNFx1QjUxNVx1QjUxOFx1QjUxQlx1QjUxQ1x1QjUyNFx1QjUyNVx1QjUyN1x1QjUyOFx1QjUyOVx1QjUyQVx1QjUzMFx1QjUzMVx1QjUzNFx1QjUzOFwiXSxcbltcImI2NDFcIixcIlx1RDEwNVwiLDcsXCJcdUQxMEVcIiwxN10sXG5bXCJiNjYxXCIsXCJcdUQxMjBcIiwxNSxcIlx1RDEzMlx1RDEzM1x1RDEzNVx1RDEzNlx1RDEzN1x1RDEzOVx1RDEzQlx1RDEzQ1x1RDEzRFx1RDEzRVwiXSxcbltcImI2ODFcIixcIlx1RDEzRlx1RDE0Mlx1RDE0NlwiLDUsXCJcdUQxNEVcdUQxNEZcdUQxNTFcdUQxNTJcdUQxNTNcdUQxNTVcIiw2LFwiXHVEMTVFXHVEMTYwXHVEMTYyXCIsNSxcIlx1RDE2OVx1RDE2QVx1RDE2Qlx1RDE2RFx1QjU0MFx1QjU0MVx1QjU0M1x1QjU0NFx1QjU0NVx1QjU0Qlx1QjU0Q1x1QjU0RFx1QjU1MFx1QjU1NFx1QjU1Q1x1QjU1RFx1QjU1Rlx1QjU2MFx1QjU2MVx1QjVBMFx1QjVBMVx1QjVBNFx1QjVBOFx1QjVBQVx1QjVBQlx1QjVCMFx1QjVCMVx1QjVCM1x1QjVCNFx1QjVCNVx1QjVCQlx1QjVCQ1x1QjVCRFx1QjVDMFx1QjVDNFx1QjVDQ1x1QjVDRFx1QjVDRlx1QjVEMFx1QjVEMVx1QjVEOFx1QjVFQ1x1QjYxMFx1QjYxMVx1QjYxNFx1QjYxOFx1QjYyNVx1QjYyQ1x1QjYzNFx1QjY0OFx1QjY2NFx1QjY2OFx1QjY5Q1x1QjY5RFx1QjZBMFx1QjZBNFx1QjZBQlx1QjZBQ1x1QjZCMVx1QjZENFx1QjZGMFx1QjZGNFx1QjZGOFx1QjcwMFx1QjcwMVx1QjcwNVx1QjcyOFx1QjcyOVx1QjcyQ1x1QjcyRlx1QjczMFx1QjczOFx1QjczOVx1QjczQlx1Qjc0NFx1Qjc0OFx1Qjc0Q1x1Qjc1NFx1Qjc1NVx1Qjc2MFx1Qjc2NFx1Qjc2OFx1Qjc3MFx1Qjc3MVx1Qjc3M1x1Qjc3NVx1Qjc3Q1x1Qjc3RFx1Qjc4MFx1Qjc4NFx1Qjc4Q1x1Qjc4RFx1Qjc4Rlx1Qjc5MFx1Qjc5MVx1Qjc5Mlx1Qjc5Nlx1Qjc5N1wiXSxcbltcImI3NDFcIixcIlx1RDE2RVwiLDEzLFwiXHVEMTdEXCIsNixcIlx1RDE4NVx1RDE4Nlx1RDE4N1x1RDE4OVx1RDE4QVwiXSxcbltcImI3NjFcIixcIlx1RDE4QlwiLDIwLFwiXHVEMUEyXHVEMUEzXHVEMUE1XHVEMUE2XHVEMUE3XCJdLFxuW1wiYjc4MVwiLFwiXHVEMUE5XCIsNixcIlx1RDFCMlx1RDFCNFx1RDFCNlx1RDFCN1x1RDFCOFx1RDFCOVx1RDFCQlx1RDFCRFx1RDFCRVx1RDFCRlx1RDFDMVwiLDE0LFwiXHVCNzk4XHVCNzk5XHVCNzlDXHVCN0EwXHVCN0E4XHVCN0E5XHVCN0FCXHVCN0FDXHVCN0FEXHVCN0I0XHVCN0I1XHVCN0I4XHVCN0M3XHVCN0M5XHVCN0VDXHVCN0VEXHVCN0YwXHVCN0Y0XHVCN0ZDXHVCN0ZEXHVCN0ZGXHVCODAwXHVCODAxXHVCODA3XHVCODA4XHVCODA5XHVCODBDXHVCODEwXHVCODE4XHVCODE5XHVCODFCXHVCODFEXHVCODI0XHVCODI1XHVCODI4XHVCODJDXHVCODM0XHVCODM1XHVCODM3XHVCODM4XHVCODM5XHVCODQwXHVCODQ0XHVCODUxXHVCODUzXHVCODVDXHVCODVEXHVCODYwXHVCODY0XHVCODZDXHVCODZEXHVCODZGXHVCODcxXHVCODc4XHVCODdDXHVCODhEXHVCOEE4XHVCOEIwXHVCOEI0XHVCOEI4XHVCOEMwXHVCOEMxXHVCOEMzXHVCOEM1XHVCOENDXHVCOEQwXHVCOEQ0XHVCOEREXHVCOERGXHVCOEUxXHVCOEU4XHVCOEU5XHVCOEVDXHVCOEYwXHVCOEY4XHVCOEY5XHVCOEZCXHVCOEZEXHVCOTA0XHVCOTE4XHVCOTIwXHVCOTNDXHVCOTNEXHVCOTQwXHVCOTQ0XHVCOTRDXHVCOTRGXHVCOTUxXHVCOTU4XHVCOTU5XHVCOTVDXHVCOTYwXHVCOTY4XHVCOTY5XCJdLFxuW1wiYjg0MVwiLFwiXHVEMUQwXCIsNyxcIlx1RDFEOVwiLDE3XSxcbltcImI4NjFcIixcIlx1RDFFQlwiLDgsXCJcdUQxRjVcdUQxRjZcdUQxRjdcdUQxRjlcIiwxM10sXG5bXCJiODgxXCIsXCJcdUQyMDhcdUQyMEFcIiw1LFwiXHVEMjExXCIsMjQsXCJcdUI5NkJcdUI5NkRcdUI5NzRcdUI5NzVcdUI5NzhcdUI5N0NcdUI5ODRcdUI5ODVcdUI5ODdcdUI5ODlcdUI5OEFcdUI5OERcdUI5OEVcdUI5QUNcdUI5QURcdUI5QjBcdUI5QjRcdUI5QkNcdUI5QkRcdUI5QkZcdUI5QzFcdUI5QzhcdUI5QzlcdUI5Q0NcdUI5Q0VcIiw0LFwiXHVCOUQ4XHVCOUQ5XHVCOURCXHVCOUREXHVCOURFXHVCOUUxXHVCOUUzXHVCOUU0XHVCOUU1XHVCOUU4XHVCOUVDXHVCOUY0XHVCOUY1XHVCOUY3XHVCOUY4XHVCOUY5XHVCOUZBXHVCQTAwXHVCQTAxXHVCQTA4XHVCQTE1XHVCQTM4XHVCQTM5XHVCQTNDXHVCQTQwXHVCQTQyXHVCQTQ4XHVCQTQ5XHVCQTRCXHVCQTREXHVCQTRFXHVCQTUzXHVCQTU0XHVCQTU1XHVCQTU4XHVCQTVDXHVCQTY0XHVCQTY1XHVCQTY3XHVCQTY4XHVCQTY5XHVCQTcwXHVCQTcxXHVCQTc0XHVCQTc4XHVCQTgzXHVCQTg0XHVCQTg1XHVCQTg3XHVCQThDXHVCQUE4XHVCQUE5XHVCQUFCXHVCQUFDXHVCQUIwXHVCQUIyXHVCQUI4XHVCQUI5XHVCQUJCXHVCQUJEXHVCQUM0XHVCQUM4XHVCQUQ4XHVCQUQ5XHVCQUZDXCJdLFxuW1wiYjk0MVwiLFwiXHVEMjJBXHVEMjJCXHVEMjJFXHVEMjJGXHVEMjMxXHVEMjMyXHVEMjMzXHVEMjM1XCIsNixcIlx1RDIzRVx1RDI0MFx1RDI0MlwiLDUsXCJcdUQyNDlcdUQyNEFcdUQyNEJcdUQyNENcIl0sXG5bXCJiOTYxXCIsXCJcdUQyNERcIiwxNCxcIlx1RDI1RFwiLDYsXCJcdUQyNjVcdUQyNjZcdUQyNjdcdUQyNjhcIl0sXG5bXCJiOTgxXCIsXCJcdUQyNjlcIiwyMixcIlx1RDI4Mlx1RDI4M1x1RDI4NVx1RDI4Nlx1RDI4N1x1RDI4OVx1RDI4QVx1RDI4Qlx1RDI4Q1x1QkIwMFx1QkIwNFx1QkIwRFx1QkIwRlx1QkIxMVx1QkIxOFx1QkIxQ1x1QkIyMFx1QkIyOVx1QkIyQlx1QkIzNFx1QkIzNVx1QkIzNlx1QkIzOFx1QkIzQlx1QkIzQ1x1QkIzRFx1QkIzRVx1QkI0NFx1QkI0NVx1QkI0N1x1QkI0OVx1QkI0RFx1QkI0Rlx1QkI1MFx1QkI1NFx1QkI1OFx1QkI2MVx1QkI2M1x1QkI2Q1x1QkI4OFx1QkI4Q1x1QkI5MFx1QkJBNFx1QkJBOFx1QkJBQ1x1QkJCNFx1QkJCN1x1QkJDMFx1QkJDNFx1QkJDOFx1QkJEMFx1QkJEM1x1QkJGOFx1QkJGOVx1QkJGQ1x1QkJGRlx1QkMwMFx1QkMwMlx1QkMwOFx1QkMwOVx1QkMwQlx1QkMwQ1x1QkMwRFx1QkMwRlx1QkMxMVx1QkMxNFwiLDQsXCJcdUJDMUJcIiw0LFwiXHVCQzI0XHVCQzI1XHVCQzI3XHVCQzI5XHVCQzJEXHVCQzMwXHVCQzMxXHVCQzM0XHVCQzM4XHVCQzQwXHVCQzQxXHVCQzQzXHVCQzQ0XHVCQzQ1XHVCQzQ5XHVCQzRDXHVCQzREXHVCQzUwXHVCQzVEXHVCQzg0XHVCQzg1XHVCQzg4XHVCQzhCXHVCQzhDXHVCQzhFXHVCQzk0XHVCQzk1XHVCQzk3XCJdLFxuW1wiYmE0MVwiLFwiXHVEMjhEXHVEMjhFXHVEMjhGXHVEMjkyXHVEMjkzXHVEMjk0XHVEMjk2XCIsNSxcIlx1RDI5RFx1RDI5RVx1RDI5Rlx1RDJBMVx1RDJBMlx1RDJBM1x1RDJBNVwiLDYsXCJcdUQyQURcIl0sXG5bXCJiYTYxXCIsXCJcdUQyQUVcdUQyQUZcdUQyQjBcdUQyQjJcIiw1LFwiXHVEMkJBXHVEMkJCXHVEMkJEXHVEMkJFXHVEMkMxXHVEMkMzXCIsNCxcIlx1RDJDQVx1RDJDQ1wiLDVdLFxuW1wiYmE4MVwiLFwiXHVEMkQyXHVEMkQzXHVEMkQ1XHVEMkQ2XHVEMkQ3XHVEMkQ5XHVEMkRBXHVEMkRCXHVEMkREXCIsNixcIlx1RDJFNlwiLDksXCJcdUQyRjJcdUQyRjNcdUQyRjVcdUQyRjZcdUQyRjdcdUQyRjlcdUQyRkFcdUJDOTlcdUJDOUFcdUJDQTBcdUJDQTFcdUJDQTRcdUJDQTdcdUJDQThcdUJDQjBcdUJDQjFcdUJDQjNcdUJDQjRcdUJDQjVcdUJDQkNcdUJDQkRcdUJDQzBcdUJDQzRcdUJDQ0RcdUJDQ0ZcdUJDRDBcdUJDRDFcdUJDRDVcdUJDRDhcdUJDRENcdUJDRjRcdUJDRjVcdUJDRjZcdUJDRjhcdUJDRkNcdUJEMDRcdUJEMDVcdUJEMDdcdUJEMDlcdUJEMTBcdUJEMTRcdUJEMjRcdUJEMkNcdUJENDBcdUJENDhcdUJENDlcdUJENENcdUJENTBcdUJENThcdUJENTlcdUJENjRcdUJENjhcdUJEODBcdUJEODFcdUJEODRcdUJEODdcdUJEODhcdUJEODlcdUJEOEFcdUJEOTBcdUJEOTFcdUJEOTNcdUJEOTVcdUJEOTlcdUJEOUFcdUJEOUNcdUJEQTRcdUJEQjBcdUJEQjhcdUJERDRcdUJERDVcdUJERDhcdUJERENcdUJERTlcdUJERjBcdUJERjRcdUJERjhcdUJFMDBcdUJFMDNcdUJFMDVcdUJFMENcdUJFMERcdUJFMTBcdUJFMTRcdUJFMUNcdUJFMURcdUJFMUZcdUJFNDRcdUJFNDVcdUJFNDhcdUJFNENcdUJFNEVcdUJFNTRcdUJFNTVcdUJFNTdcdUJFNTlcdUJFNUFcdUJFNUJcdUJFNjBcdUJFNjFcdUJFNjRcIl0sXG5bXCJiYjQxXCIsXCJcdUQyRkJcIiw0LFwiXHVEMzAyXHVEMzA0XHVEMzA2XCIsNSxcIlx1RDMwRlx1RDMxMVx1RDMxMlx1RDMxM1x1RDMxNVx1RDMxN1wiLDQsXCJcdUQzMUVcdUQzMjJcdUQzMjNcIl0sXG5bXCJiYjYxXCIsXCJcdUQzMjRcdUQzMjZcdUQzMjdcdUQzMkFcdUQzMkJcdUQzMkRcdUQzMkVcdUQzMkZcdUQzMzFcIiw2LFwiXHVEMzNBXHVEMzNFXCIsNSxcIlx1RDM0Nlx1RDM0N1x1RDM0OFx1RDM0OVwiXSxcbltcImJiODFcIixcIlx1RDM0QVwiLDMxLFwiXHVCRTY4XHVCRTZBXHVCRTcwXHVCRTcxXHVCRTczXHVCRTc0XHVCRTc1XHVCRTdCXHVCRTdDXHVCRTdEXHVCRTgwXHVCRTg0XHVCRThDXHVCRThEXHVCRThGXHVCRTkwXHVCRTkxXHVCRTk4XHVCRTk5XHVCRUE4XHVCRUQwXHVCRUQxXHVCRUQ0XHVCRUQ3XHVCRUQ4XHVCRUUwXHVCRUUzXHVCRUU0XHVCRUU1XHVCRUVDXHVCRjAxXHVCRjA4XHVCRjA5XHVCRjE4XHVCRjE5XHVCRjFCXHVCRjFDXHVCRjFEXHVCRjQwXHVCRjQxXHVCRjQ0XHVCRjQ4XHVCRjUwXHVCRjUxXHVCRjU1XHVCRjk0XHVCRkIwXHVCRkM1XHVCRkNDXHVCRkNEXHVCRkQwXHVCRkQ0XHVCRkRDXHVCRkRGXHVCRkUxXHVDMDNDXHVDMDUxXHVDMDU4XHVDMDVDXHVDMDYwXHVDMDY4XHVDMDY5XHVDMDkwXHVDMDkxXHVDMDk0XHVDMDk4XHVDMEEwXHVDMEExXHVDMEEzXHVDMEE1XHVDMEFDXHVDMEFEXHVDMEFGXHVDMEIwXHVDMEIzXHVDMEI0XHVDMEI1XHVDMEI2XHVDMEJDXHVDMEJEXHVDMEJGXHVDMEMwXHVDMEMxXHVDMEM1XHVDMEM4XHVDMEM5XHVDMENDXHVDMEQwXHVDMEQ4XHVDMEQ5XHVDMERCXHVDMERDXHVDMEREXHVDMEU0XCJdLFxuW1wiYmM0MVwiLFwiXHVEMzZBXCIsMTcsXCJcdUQzN0VcdUQzN0ZcdUQzODFcdUQzODJcdUQzODNcdUQzODVcdUQzODZcdUQzODdcIl0sXG5bXCJiYzYxXCIsXCJcdUQzODhcdUQzODlcdUQzOEFcdUQzOEJcdUQzOEVcdUQzOTJcIiw1LFwiXHVEMzlBXHVEMzlCXHVEMzlEXHVEMzlFXHVEMzlGXHVEM0ExXCIsNixcIlx1RDNBQVx1RDNBQ1x1RDNBRVwiXSxcbltcImJjODFcIixcIlx1RDNBRlwiLDQsXCJcdUQzQjVcdUQzQjZcdUQzQjdcdUQzQjlcdUQzQkFcdUQzQkJcdUQzQkRcIiw2LFwiXHVEM0M2XHVEM0M3XHVEM0NBXCIsNSxcIlx1RDNEMVwiLDUsXCJcdUMwRTVcdUMwRThcdUMwRUNcdUMwRjRcdUMwRjVcdUMwRjdcdUMwRjlcdUMxMDBcdUMxMDRcdUMxMDhcdUMxMTBcdUMxMTVcdUMxMUNcIiw0LFwiXHVDMTIzXHVDMTI0XHVDMTI2XHVDMTI3XHVDMTJDXHVDMTJEXHVDMTJGXHVDMTMwXHVDMTMxXHVDMTM2XHVDMTM4XHVDMTM5XHVDMTNDXHVDMTQwXHVDMTQ4XHVDMTQ5XHVDMTRCXHVDMTRDXHVDMTREXHVDMTU0XHVDMTU1XHVDMTU4XHVDMTVDXHVDMTY0XHVDMTY1XHVDMTY3XHVDMTY4XHVDMTY5XHVDMTcwXHVDMTc0XHVDMTc4XHVDMTg1XHVDMThDXHVDMThEXHVDMThFXHVDMTkwXHVDMTk0XHVDMTk2XHVDMTlDXHVDMTlEXHVDMTlGXHVDMUExXHVDMUE1XHVDMUE4XHVDMUE5XHVDMUFDXHVDMUIwXHVDMUJEXHVDMUM0XHVDMUM4XHVDMUNDXHVDMUQ0XHVDMUQ3XHVDMUQ4XHVDMUUwXHVDMUU0XHVDMUU4XHVDMUYwXHVDMUYxXHVDMUYzXHVDMUZDXHVDMUZEXHVDMjAwXHVDMjA0XHVDMjBDXHVDMjBEXHVDMjBGXHVDMjExXHVDMjE4XHVDMjE5XHVDMjFDXHVDMjFGXHVDMjIwXHVDMjI4XHVDMjI5XHVDMjJCXHVDMjJEXCJdLFxuW1wiYmQ0MVwiLFwiXHVEM0Q3XHVEM0Q5XCIsNyxcIlx1RDNFMlx1RDNFNFwiLDcsXCJcdUQzRUVcdUQzRUZcdUQzRjFcdUQzRjJcdUQzRjNcdUQzRjVcdUQzRjZcdUQzRjdcIl0sXG5bXCJiZDYxXCIsXCJcdUQzRjhcdUQzRjlcdUQzRkFcdUQzRkJcdUQzRkVcdUQ0MDBcdUQ0MDJcIiw1LFwiXHVENDA5XCIsMTNdLFxuW1wiYmQ4MVwiLFwiXHVENDE3XCIsNSxcIlx1RDQxRVwiLDI1LFwiXHVDMjJGXHVDMjMxXHVDMjMyXHVDMjM0XHVDMjQ4XHVDMjUwXHVDMjUxXHVDMjU0XHVDMjU4XHVDMjYwXHVDMjY1XHVDMjZDXHVDMjZEXHVDMjcwXHVDMjc0XHVDMjdDXHVDMjdEXHVDMjdGXHVDMjgxXHVDMjg4XHVDMjg5XHVDMjkwXHVDMjk4XHVDMjlCXHVDMjlEXHVDMkE0XHVDMkE1XHVDMkE4XHVDMkFDXHVDMkFEXHVDMkI0XHVDMkI1XHVDMkI3XHVDMkI5XHVDMkRDXHVDMkREXHVDMkUwXHVDMkUzXHVDMkU0XHVDMkVCXHVDMkVDXHVDMkVEXHVDMkVGXHVDMkYxXHVDMkY2XHVDMkY4XHVDMkY5XHVDMkZCXHVDMkZDXHVDMzAwXHVDMzA4XHVDMzA5XHVDMzBDXHVDMzBEXHVDMzEzXHVDMzE0XHVDMzE1XHVDMzE4XHVDMzFDXHVDMzI0XHVDMzI1XHVDMzI4XHVDMzI5XHVDMzQ1XHVDMzY4XHVDMzY5XHVDMzZDXHVDMzcwXHVDMzcyXHVDMzc4XHVDMzc5XHVDMzdDXHVDMzdEXHVDMzg0XHVDMzg4XHVDMzhDXHVDM0MwXHVDM0Q4XHVDM0Q5XHVDM0RDXHVDM0RGXHVDM0UwXHVDM0UyXHVDM0U4XHVDM0U5XHVDM0VEXHVDM0Y0XHVDM0Y1XHVDM0Y4XHVDNDA4XHVDNDEwXHVDNDI0XHVDNDJDXHVDNDMwXCJdLFxuW1wiYmU0MVwiLFwiXHVENDM4XCIsNyxcIlx1RDQ0MVx1RDQ0Mlx1RDQ0M1x1RDQ0NVwiLDE0XSxcbltcImJlNjFcIixcIlx1RDQ1NFwiLDcsXCJcdUQ0NURcdUQ0NUVcdUQ0NUZcdUQ0NjFcdUQ0NjJcdUQ0NjNcdUQ0NjVcIiw3LFwiXHVENDZFXHVENDcwXHVENDcxXHVENDcyXCJdLFxuW1wiYmU4MVwiLFwiXHVENDczXCIsNCxcIlx1RDQ3QVx1RDQ3Qlx1RDQ3RFx1RDQ3RVx1RDQ4MVx1RDQ4M1wiLDQsXCJcdUQ0OEFcdUQ0OENcdUQ0OEVcIiw1LFwiXHVENDk1XCIsOCxcIlx1QzQzNFx1QzQzQ1x1QzQzRFx1QzQ0OFx1QzQ2NFx1QzQ2NVx1QzQ2OFx1QzQ2Q1x1QzQ3NFx1QzQ3NVx1QzQ3OVx1QzQ4MFx1QzQ5NFx1QzQ5Q1x1QzRCOFx1QzRCQ1x1QzRFOVx1QzRGMFx1QzRGMVx1QzRGNFx1QzRGOFx1QzRGQVx1QzRGRlx1QzUwMFx1QzUwMVx1QzUwQ1x1QzUxMFx1QzUxNFx1QzUxQ1x1QzUyOFx1QzUyOVx1QzUyQ1x1QzUzMFx1QzUzOFx1QzUzOVx1QzUzQlx1QzUzRFx1QzU0NFx1QzU0NVx1QzU0OFx1QzU0OVx1QzU0QVx1QzU0Q1x1QzU0RFx1QzU0RVx1QzU1M1x1QzU1NFx1QzU1NVx1QzU1N1x1QzU1OFx1QzU1OVx1QzU1RFx1QzU1RVx1QzU2MFx1QzU2MVx1QzU2NFx1QzU2OFx1QzU3MFx1QzU3MVx1QzU3M1x1QzU3NFx1QzU3NVx1QzU3Q1x1QzU3RFx1QzU4MFx1QzU4NFx1QzU4N1x1QzU4Q1x1QzU4RFx1QzU4Rlx1QzU5MVx1QzU5NVx1QzU5N1x1QzU5OFx1QzU5Q1x1QzVBMFx1QzVBOVx1QzVCNFx1QzVCNVx1QzVCOFx1QzVCOVx1QzVCQlx1QzVCQ1x1QzVCRFx1QzVCRVx1QzVDNFwiLDYsXCJcdUM1Q0NcdUM1Q0VcIl0sXG5bXCJiZjQxXCIsXCJcdUQ0OUVcIiwxMCxcIlx1RDRBQVwiLDE0XSxcbltcImJmNjFcIixcIlx1RDRCOVwiLDE4LFwiXHVENENEXHVENENFXHVENENGXHVENEQxXHVENEQyXHVENEQzXHVENEQ1XCJdLFxuW1wiYmY4MVwiLFwiXHVENEQ2XCIsNSxcIlx1RDRERFx1RDRERVx1RDRFMFwiLDcsXCJcdUQ0RTlcdUQ0RUFcdUQ0RUJcdUQ0RURcdUQ0RUVcdUQ0RUZcdUQ0RjFcIiw2LFwiXHVENEY5XHVENEZBXHVENEZDXHVDNUQwXHVDNUQxXHVDNUQ0XHVDNUQ4XHVDNUUwXHVDNUUxXHVDNUUzXHVDNUU1XHVDNUVDXHVDNUVEXHVDNUVFXHVDNUYwXHVDNUY0XHVDNUY2XHVDNUY3XHVDNUZDXCIsNSxcIlx1QzYwNVx1QzYwNlx1QzYwN1x1QzYwOFx1QzYwQ1x1QzYxMFx1QzYxOFx1QzYxOVx1QzYxQlx1QzYxQ1x1QzYyNFx1QzYyNVx1QzYyOFx1QzYyQ1x1QzYyRFx1QzYyRVx1QzYzMFx1QzYzM1x1QzYzNFx1QzYzNVx1QzYzN1x1QzYzOVx1QzYzQlx1QzY0MFx1QzY0MVx1QzY0NFx1QzY0OFx1QzY1MFx1QzY1MVx1QzY1M1x1QzY1NFx1QzY1NVx1QzY1Q1x1QzY1RFx1QzY2MFx1QzY2Q1x1QzY2Rlx1QzY3MVx1QzY3OFx1QzY3OVx1QzY3Q1x1QzY4MFx1QzY4OFx1QzY4OVx1QzY4Qlx1QzY4RFx1QzY5NFx1QzY5NVx1QzY5OFx1QzY5Q1x1QzZBNFx1QzZBNVx1QzZBN1x1QzZBOVx1QzZCMFx1QzZCMVx1QzZCNFx1QzZCOFx1QzZCOVx1QzZCQVx1QzZDMFx1QzZDMVx1QzZDM1x1QzZDNVx1QzZDQ1x1QzZDRFx1QzZEMFx1QzZENFx1QzZEQ1x1QzZERFx1QzZFMFx1QzZFMVx1QzZFOFwiXSxcbltcImMwNDFcIixcIlx1RDRGRVwiLDUsXCJcdUQ1MDVcdUQ1MDZcdUQ1MDdcdUQ1MDlcdUQ1MEFcdUQ1MEJcdUQ1MERcIiw2LFwiXHVENTE2XHVENTE4XCIsNV0sXG5bXCJjMDYxXCIsXCJcdUQ1MUVcIiwyNV0sXG5bXCJjMDgxXCIsXCJcdUQ1MzhcdUQ1MzlcdUQ1M0FcdUQ1M0JcdUQ1M0VcdUQ1M0ZcdUQ1NDFcdUQ1NDJcdUQ1NDNcdUQ1NDVcIiw2LFwiXHVENTRFXHVENTUwXHVENTUyXCIsNSxcIlx1RDU1QVx1RDU1Qlx1RDU1RFx1RDU1RVx1RDU1Rlx1RDU2MVx1RDU2Mlx1RDU2M1x1QzZFOVx1QzZFQ1x1QzZGMFx1QzZGOFx1QzZGOVx1QzZGRFx1QzcwNFx1QzcwNVx1QzcwOFx1QzcwQ1x1QzcxNFx1QzcxNVx1QzcxN1x1QzcxOVx1QzcyMFx1QzcyMVx1QzcyNFx1QzcyOFx1QzczMFx1QzczMVx1QzczM1x1QzczNVx1QzczN1x1QzczQ1x1QzczRFx1Qzc0MFx1Qzc0NFx1Qzc0QVx1Qzc0Q1x1Qzc0RFx1Qzc0Rlx1Qzc1MVwiLDcsXCJcdUM3NUNcdUM3NjBcdUM3NjhcdUM3NkJcdUM3NzRcdUM3NzVcdUM3NzhcdUM3N0NcdUM3N0RcdUM3N0VcdUM3ODNcdUM3ODRcdUM3ODVcdUM3ODdcdUM3ODhcdUM3ODlcdUM3OEFcdUM3OEVcdUM3OTBcdUM3OTFcdUM3OTRcdUM3OTZcdUM3OTdcdUM3OThcdUM3OUFcdUM3QTBcdUM3QTFcdUM3QTNcdUM3QTRcdUM3QTVcdUM3QTZcdUM3QUNcdUM3QURcdUM3QjBcdUM3QjRcdUM3QkNcdUM3QkRcdUM3QkZcdUM3QzBcdUM3QzFcdUM3QzhcdUM3QzlcdUM3Q0NcdUM3Q0VcdUM3RDBcdUM3RDhcdUM3RERcdUM3RTRcdUM3RThcdUM3RUNcdUM4MDBcdUM4MDFcdUM4MDRcdUM4MDhcdUM4MEFcIl0sXG5bXCJjMTQxXCIsXCJcdUQ1NjRcdUQ1NjZcdUQ1NjdcdUQ1NkFcdUQ1NkNcdUQ1NkVcIiw1LFwiXHVENTc2XHVENTc3XHVENTc5XHVENTdBXHVENTdCXHVENTdEXCIsNixcIlx1RDU4Nlx1RDU4QVx1RDU4QlwiXSxcbltcImMxNjFcIixcIlx1RDU4Q1x1RDU4RFx1RDU4RVx1RDU4Rlx1RDU5MVwiLDE5LFwiXHVENUE2XHVENUE3XCJdLFxuW1wiYzE4MVwiLFwiXHVENUE4XCIsMzEsXCJcdUM4MTBcdUM4MTFcdUM4MTNcdUM4MTVcdUM4MTZcdUM4MUNcdUM4MURcdUM4MjBcdUM4MjRcdUM4MkNcdUM4MkRcdUM4MkZcdUM4MzFcdUM4MzhcdUM4M0NcdUM4NDBcdUM4NDhcdUM4NDlcdUM4NENcdUM4NERcdUM4NTRcdUM4NzBcdUM4NzFcdUM4NzRcdUM4NzhcdUM4N0FcdUM4ODBcdUM4ODFcdUM4ODNcdUM4ODVcdUM4ODZcdUM4ODdcdUM4OEJcdUM4OENcdUM4OERcdUM4OTRcdUM4OURcdUM4OUZcdUM4QTFcdUM4QThcdUM4QkNcdUM4QkRcdUM4QzRcdUM4QzhcdUM4Q0NcdUM4RDRcdUM4RDVcdUM4RDdcdUM4RDlcdUM4RTBcdUM4RTFcdUM4RTRcdUM4RjVcdUM4RkNcdUM4RkRcdUM5MDBcdUM5MDRcdUM5MDVcdUM5MDZcdUM5MENcdUM5MERcdUM5MEZcdUM5MTFcdUM5MThcdUM5MkNcdUM5MzRcdUM5NTBcdUM5NTFcdUM5NTRcdUM5NThcdUM5NjBcdUM5NjFcdUM5NjNcdUM5NkNcdUM5NzBcdUM5NzRcdUM5N0NcdUM5ODhcdUM5ODlcdUM5OENcdUM5OTBcdUM5OThcdUM5OTlcdUM5OUJcdUM5OURcdUM5QzBcdUM5QzFcdUM5QzRcdUM5QzdcdUM5QzhcdUM5Q0FcdUM5RDBcdUM5RDFcdUM5RDNcIl0sXG5bXCJjMjQxXCIsXCJcdUQ1Q0FcdUQ1Q0JcdUQ1Q0RcdUQ1Q0VcdUQ1Q0ZcdUQ1RDFcdUQ1RDNcIiw0LFwiXHVENURBXHVENURDXHVENURFXCIsNSxcIlx1RDVFNlx1RDVFN1x1RDVFOVx1RDVFQVx1RDVFQlx1RDVFRFx1RDVFRVwiXSxcbltcImMyNjFcIixcIlx1RDVFRlwiLDQsXCJcdUQ1RjZcdUQ1RjhcdUQ1RkFcIiw1LFwiXHVENjAyXHVENjAzXHVENjA1XHVENjA2XHVENjA3XHVENjA5XCIsNixcIlx1RDYxMlwiXSxcbltcImMyODFcIixcIlx1RDYxNlwiLDUsXCJcdUQ2MURcdUQ2MUVcdUQ2MUZcdUQ2MjFcdUQ2MjJcdUQ2MjNcdUQ2MjVcIiw3LFwiXHVENjJFXCIsOSxcIlx1RDYzQVx1RDYzQlx1QzlENVx1QzlENlx1QzlEOVx1QzlEQVx1QzlEQ1x1QzlERFx1QzlFMFx1QzlFMlx1QzlFNFx1QzlFN1x1QzlFQ1x1QzlFRFx1QzlFRlx1QzlGMFx1QzlGMVx1QzlGOFx1QzlGOVx1QzlGQ1x1Q0EwMFx1Q0EwOFx1Q0EwOVx1Q0EwQlx1Q0EwQ1x1Q0EwRFx1Q0ExNFx1Q0ExOFx1Q0EyOVx1Q0E0Q1x1Q0E0RFx1Q0E1MFx1Q0E1NFx1Q0E1Q1x1Q0E1RFx1Q0E1Rlx1Q0E2MFx1Q0E2MVx1Q0E2OFx1Q0E3RFx1Q0E4NFx1Q0E5OFx1Q0FCQ1x1Q0FCRFx1Q0FDMFx1Q0FDNFx1Q0FDQ1x1Q0FDRFx1Q0FDRlx1Q0FEMVx1Q0FEM1x1Q0FEOFx1Q0FEOVx1Q0FFMFx1Q0FFQ1x1Q0FGNFx1Q0IwOFx1Q0IxMFx1Q0IxNFx1Q0IxOFx1Q0IyMFx1Q0IyMVx1Q0I0MVx1Q0I0OFx1Q0I0OVx1Q0I0Q1x1Q0I1MFx1Q0I1OFx1Q0I1OVx1Q0I1RFx1Q0I2NFx1Q0I3OFx1Q0I3OVx1Q0I5Q1x1Q0JCOFx1Q0JENFx1Q0JFNFx1Q0JFN1x1Q0JFOVx1Q0MwQ1x1Q0MwRFx1Q0MxMFx1Q0MxNFx1Q0MxQ1x1Q0MxRFx1Q0MyMVx1Q0MyMlx1Q0MyN1x1Q0MyOFx1Q0MyOVx1Q0MyQ1x1Q0MyRVx1Q0MzMFx1Q0MzOFx1Q0MzOVx1Q0MzQlwiXSxcbltcImMzNDFcIixcIlx1RDYzRFx1RDYzRVx1RDYzRlx1RDY0MVx1RDY0Mlx1RDY0M1x1RDY0NFx1RDY0Nlx1RDY0N1x1RDY0QVx1RDY0Q1x1RDY0RVx1RDY0Rlx1RDY1MFx1RDY1Mlx1RDY1M1x1RDY1Nlx1RDY1N1x1RDY1OVx1RDY1QVx1RDY1Qlx1RDY1RFwiLDRdLFxuW1wiYzM2MVwiLFwiXHVENjYyXCIsNCxcIlx1RDY2OFx1RDY2QVwiLDUsXCJcdUQ2NzJcdUQ2NzNcdUQ2NzVcIiwxMV0sXG5bXCJjMzgxXCIsXCJcdUQ2ODFcdUQ2ODJcdUQ2ODRcdUQ2ODZcIiw1LFwiXHVENjhFXHVENjhGXHVENjkxXHVENjkyXHVENjkzXHVENjk1XCIsNyxcIlx1RDY5RVx1RDZBMFx1RDZBMlwiLDUsXCJcdUQ2QTlcdUQ2QUFcdUNDM0NcdUNDM0RcdUNDM0VcdUNDNDRcdUNDNDVcdUNDNDhcdUNDNENcdUNDNTRcdUNDNTVcdUNDNTdcdUNDNThcdUNDNTlcdUNDNjBcdUNDNjRcdUNDNjZcdUNDNjhcdUNDNzBcdUNDNzVcdUNDOThcdUNDOTlcdUNDOUNcdUNDQTBcdUNDQThcdUNDQTlcdUNDQUJcdUNDQUNcdUNDQURcdUNDQjRcdUNDQjVcdUNDQjhcdUNDQkNcdUNDQzRcdUNDQzVcdUNDQzdcdUNDQzlcdUNDRDBcdUNDRDRcdUNDRTRcdUNDRUNcdUNDRjBcdUNEMDFcdUNEMDhcdUNEMDlcdUNEMENcdUNEMTBcdUNEMThcdUNEMTlcdUNEMUJcdUNEMURcdUNEMjRcdUNEMjhcdUNEMkNcdUNEMzlcdUNENUNcdUNENjBcdUNENjRcdUNENkNcdUNENkRcdUNENkZcdUNENzFcdUNENzhcdUNEODhcdUNEOTRcdUNEOTVcdUNEOThcdUNEOUNcdUNEQTRcdUNEQTVcdUNEQTdcdUNEQTlcdUNEQjBcdUNEQzRcdUNEQ0NcdUNERDBcdUNERThcdUNERUNcdUNERjBcdUNERjhcdUNERjlcdUNERkJcdUNERkRcdUNFMDRcdUNFMDhcdUNFMENcdUNFMTRcdUNFMTlcdUNFMjBcdUNFMjFcdUNFMjRcdUNFMjhcdUNFMzBcdUNFMzFcdUNFMzNcdUNFMzVcIl0sXG5bXCJjNDQxXCIsXCJcdUQ2QUJcdUQ2QURcdUQ2QUVcdUQ2QUZcdUQ2QjFcIiw3LFwiXHVENkJBXHVENkJDXCIsNyxcIlx1RDZDNlx1RDZDN1x1RDZDOVx1RDZDQVx1RDZDQlwiXSxcbltcImM0NjFcIixcIlx1RDZDRFx1RDZDRVx1RDZDRlx1RDZEMFx1RDZEMlx1RDZEM1x1RDZENVx1RDZENlx1RDZEOFx1RDZEQVwiLDUsXCJcdUQ2RTFcdUQ2RTJcdUQ2RTNcdUQ2RTVcdUQ2RTZcdUQ2RTdcdUQ2RTlcIiw0XSxcbltcImM0ODFcIixcIlx1RDZFRVx1RDZFRlx1RDZGMVx1RDZGMlx1RDZGM1x1RDZGNFx1RDZGNlwiLDUsXCJcdUQ2RkVcdUQ2RkZcdUQ3MDFcdUQ3MDJcdUQ3MDNcdUQ3MDVcIiwxMSxcIlx1RDcxMlx1RDcxM1x1RDcxNFx1Q0U1OFx1Q0U1OVx1Q0U1Q1x1Q0U1Rlx1Q0U2MFx1Q0U2MVx1Q0U2OFx1Q0U2OVx1Q0U2Qlx1Q0U2RFx1Q0U3NFx1Q0U3NVx1Q0U3OFx1Q0U3Q1x1Q0U4NFx1Q0U4NVx1Q0U4N1x1Q0U4OVx1Q0U5MFx1Q0U5MVx1Q0U5NFx1Q0U5OFx1Q0VBMFx1Q0VBMVx1Q0VBM1x1Q0VBNFx1Q0VBNVx1Q0VBQ1x1Q0VBRFx1Q0VDMVx1Q0VFNFx1Q0VFNVx1Q0VFOFx1Q0VFQlx1Q0VFQ1x1Q0VGNFx1Q0VGNVx1Q0VGN1x1Q0VGOFx1Q0VGOVx1Q0YwMFx1Q0YwMVx1Q0YwNFx1Q0YwOFx1Q0YxMFx1Q0YxMVx1Q0YxM1x1Q0YxNVx1Q0YxQ1x1Q0YyMFx1Q0YyNFx1Q0YyQ1x1Q0YyRFx1Q0YyRlx1Q0YzMFx1Q0YzMVx1Q0YzOFx1Q0Y1NFx1Q0Y1NVx1Q0Y1OFx1Q0Y1Q1x1Q0Y2NFx1Q0Y2NVx1Q0Y2N1x1Q0Y2OVx1Q0Y3MFx1Q0Y3MVx1Q0Y3NFx1Q0Y3OFx1Q0Y4MFx1Q0Y4NVx1Q0Y4Q1x1Q0ZBMVx1Q0ZBOFx1Q0ZCMFx1Q0ZDNFx1Q0ZFMFx1Q0ZFMVx1Q0ZFNFx1Q0ZFOFx1Q0ZGMFx1Q0ZGMVx1Q0ZGM1x1Q0ZGNVx1Q0ZGQ1x1RDAwMFx1RDAwNFx1RDAxMVx1RDAxOFx1RDAyRFx1RDAzNFx1RDAzNVx1RDAzOFx1RDAzQ1wiXSxcbltcImM1NDFcIixcIlx1RDcxNVx1RDcxNlx1RDcxN1x1RDcxQVx1RDcxQlx1RDcxRFx1RDcxRVx1RDcxRlx1RDcyMVwiLDYsXCJcdUQ3MkFcdUQ3MkNcdUQ3MkVcIiw1LFwiXHVENzM2XHVENzM3XHVENzM5XCJdLFxuW1wiYzU2MVwiLFwiXHVENzNBXHVENzNCXHVENzNEXCIsNixcIlx1RDc0NVx1RDc0Nlx1RDc0OFx1RDc0QVwiLDUsXCJcdUQ3NTJcdUQ3NTNcdUQ3NTVcdUQ3NUFcIiw0XSxcbltcImM1ODFcIixcIlx1RDc1Rlx1RDc2Mlx1RDc2NFx1RDc2Nlx1RDc2N1x1RDc2OFx1RDc2QVx1RDc2Qlx1RDc2RFx1RDc2RVx1RDc2Rlx1RDc3MVx1RDc3Mlx1RDc3M1x1RDc3NVwiLDYsXCJcdUQ3N0VcdUQ3N0ZcdUQ3ODBcdUQ3ODJcIiw1LFwiXHVENzhBXHVENzhCXHVEMDQ0XHVEMDQ1XHVEMDQ3XHVEMDQ5XHVEMDUwXHVEMDU0XHVEMDU4XHVEMDYwXHVEMDZDXHVEMDZEXHVEMDcwXHVEMDc0XHVEMDdDXHVEMDdEXHVEMDgxXHVEMEE0XHVEMEE1XHVEMEE4XHVEMEFDXHVEMEI0XHVEMEI1XHVEMEI3XHVEMEI5XHVEMEMwXHVEMEMxXHVEMEM0XHVEMEM4XHVEMEM5XHVEMEQwXHVEMEQxXHVEMEQzXHVEMEQ0XHVEMEQ1XHVEMERDXHVEMEREXHVEMEUwXHVEMEU0XHVEMEVDXHVEMEVEXHVEMEVGXHVEMEYwXHVEMEYxXHVEMEY4XHVEMTBEXHVEMTMwXHVEMTMxXHVEMTM0XHVEMTM4XHVEMTNBXHVEMTQwXHVEMTQxXHVEMTQzXHVEMTQ0XHVEMTQ1XHVEMTRDXHVEMTREXHVEMTUwXHVEMTU0XHVEMTVDXHVEMTVEXHVEMTVGXHVEMTYxXHVEMTY4XHVEMTZDXHVEMTdDXHVEMTg0XHVEMTg4XHVEMUEwXHVEMUExXHVEMUE0XHVEMUE4XHVEMUIwXHVEMUIxXHVEMUIzXHVEMUI1XHVEMUJBXHVEMUJDXHVEMUMwXHVEMUQ4XHVEMUY0XHVEMUY4XHVEMjA3XHVEMjA5XHVEMjEwXHVEMjJDXHVEMjJEXHVEMjMwXHVEMjM0XHVEMjNDXHVEMjNEXHVEMjNGXHVEMjQxXHVEMjQ4XHVEMjVDXCJdLFxuW1wiYzY0MVwiLFwiXHVENzhEXHVENzhFXHVENzhGXHVENzkxXCIsNixcIlx1RDc5QVx1RDc5Q1x1RDc5RVwiLDVdLFxuW1wiYzZhMVwiLFwiXHVEMjY0XHVEMjgwXHVEMjgxXHVEMjg0XHVEMjg4XHVEMjkwXHVEMjkxXHVEMjk1XHVEMjlDXHVEMkEwXHVEMkE0XHVEMkFDXHVEMkIxXHVEMkI4XHVEMkI5XHVEMkJDXHVEMkJGXHVEMkMwXHVEMkMyXHVEMkM4XHVEMkM5XHVEMkNCXHVEMkQ0XHVEMkQ4XHVEMkRDXHVEMkU0XHVEMkU1XHVEMkYwXHVEMkYxXHVEMkY0XHVEMkY4XHVEMzAwXHVEMzAxXHVEMzAzXHVEMzA1XHVEMzBDXHVEMzBEXHVEMzBFXHVEMzEwXHVEMzE0XHVEMzE2XHVEMzFDXHVEMzFEXHVEMzFGXHVEMzIwXHVEMzIxXHVEMzI1XHVEMzI4XHVEMzI5XHVEMzJDXHVEMzMwXHVEMzM4XHVEMzM5XHVEMzNCXHVEMzNDXHVEMzNEXHVEMzQ0XHVEMzQ1XHVEMzdDXHVEMzdEXHVEMzgwXHVEMzg0XHVEMzhDXHVEMzhEXHVEMzhGXHVEMzkwXHVEMzkxXHVEMzk4XHVEMzk5XHVEMzlDXHVEM0EwXHVEM0E4XHVEM0E5XHVEM0FCXHVEM0FEXHVEM0I0XHVEM0I4XHVEM0JDXHVEM0M0XHVEM0M1XHVEM0M4XHVEM0M5XHVEM0QwXHVEM0Q4XHVEM0UxXHVEM0UzXHVEM0VDXHVEM0VEXHVEM0YwXHVEM0Y0XHVEM0ZDXHVEM0ZEXHVEM0ZGXHVENDAxXCJdLFxuW1wiYzdhMVwiLFwiXHVENDA4XHVENDFEXHVENDQwXHVENDQ0XHVENDVDXHVENDYwXHVENDY0XHVENDZEXHVENDZGXHVENDc4XHVENDc5XHVENDdDXHVENDdGXHVENDgwXHVENDgyXHVENDg4XHVENDg5XHVENDhCXHVENDhEXHVENDk0XHVENEE5XHVENENDXHVENEQwXHVENEQ0XHVENERDXHVENERGXHVENEU4XHVENEVDXHVENEYwXHVENEY4XHVENEZCXHVENEZEXHVENTA0XHVENTA4XHVENTBDXHVENTE0XHVENTE1XHVENTE3XHVENTNDXHVENTNEXHVENTQwXHVENTQ0XHVENTRDXHVENTREXHVENTRGXHVENTUxXHVENTU4XHVENTU5XHVENTVDXHVENTYwXHVENTY1XHVENTY4XHVENTY5XHVENTZCXHVENTZEXHVENTc0XHVENTc1XHVENTc4XHVENTdDXHVENTg0XHVENTg1XHVENTg3XHVENTg4XHVENTg5XHVENTkwXHVENUE1XHVENUM4XHVENUM5XHVENUNDXHVENUQwXHVENUQyXHVENUQ4XHVENUQ5XHVENURCXHVENUREXHVENUU0XHVENUU1XHVENUU4XHVENUVDXHVENUY0XHVENUY1XHVENUY3XHVENUY5XHVENjAwXHVENjAxXHVENjA0XHVENjA4XHVENjEwXHVENjExXHVENjEzXHVENjE0XHVENjE1XHVENjFDXHVENjIwXCJdLFxuW1wiYzhhMVwiLFwiXHVENjI0XHVENjJEXHVENjM4XHVENjM5XHVENjNDXHVENjQwXHVENjQ1XHVENjQ4XHVENjQ5XHVENjRCXHVENjREXHVENjUxXHVENjU0XHVENjU1XHVENjU4XHVENjVDXHVENjY3XHVENjY5XHVENjcwXHVENjcxXHVENjc0XHVENjgzXHVENjg1XHVENjhDXHVENjhEXHVENjkwXHVENjk0XHVENjlEXHVENjlGXHVENkExXHVENkE4XHVENkFDXHVENkIwXHVENkI5XHVENkJCXHVENkM0XHVENkM1XHVENkM4XHVENkNDXHVENkQxXHVENkQ0XHVENkQ3XHVENkQ5XHVENkUwXHVENkU0XHVENkU4XHVENkYwXHVENkY1XHVENkZDXHVENkZEXHVENzAwXHVENzA0XHVENzExXHVENzE4XHVENzE5XHVENzFDXHVENzIwXHVENzI4XHVENzI5XHVENzJCXHVENzJEXHVENzM0XHVENzM1XHVENzM4XHVENzNDXHVENzQ0XHVENzQ3XHVENzQ5XHVENzUwXHVENzUxXHVENzU0XHVENzU2XHVENzU3XHVENzU4XHVENzU5XHVENzYwXHVENzYxXHVENzYzXHVENzY1XHVENzY5XHVENzZDXHVENzcwXHVENzc0XHVENzdDXHVENzdEXHVENzgxXHVENzg4XHVENzg5XHVENzhDXHVENzkwXHVENzk4XHVENzk5XHVENzlCXHVENzlEXCJdLFxuW1wiY2FhMVwiLFwiXHU0RjNEXHU0RjczXHU1MDQ3XHU1MEY5XHU1MkEwXHU1M0VGXHU1NDc1XHU1NEU1XHU1NjA5XHU1QUMxXHU1QkI2XHU2Njg3XHU2N0I2XHU2N0I3XHU2N0VGXHU2QjRDXHU3M0MyXHU3NUMyXHU3QTNDXHU4MkRCXHU4MzA0XHU4ODU3XHU4ODg4XHU4QTM2XHU4Q0M4XHU4RENGXHU4RUZCXHU4RkU2XHU5OUQ1XHU1MjNCXHU1Mzc0XHU1NDA0XHU2MDZBXHU2MTY0XHU2QkJDXHU3M0NGXHU4MTFBXHU4OUJBXHU4OUQyXHU5NUEzXHU0RjgzXHU1MjBBXHU1OEJFXHU1OTc4XHU1OUU2XHU1RTcyXHU1RTc5XHU2MUM3XHU2M0MwXHU2NzQ2XHU2N0VDXHU2ODdGXHU2Rjk3XHU3NjRFXHU3NzBCXHU3OEY1XHU3QTA4XHU3QUZGXHU3QzIxXHU4MDlEXHU4MjZFXHU4MjcxXHU4QUVCXHU5NTkzXHU0RTZCXHU1NTlEXHU2NkY3XHU2RTM0XHU3OEEzXHU3QUVEXHU4NDVCXHU4OTEwXHU4NzRFXHU5N0E4XHU1MkQ4XHU1NzRFXHU1ODJBXHU1RDRDXHU2MTFGXHU2MUJFXHU2MjIxXHU2NTYyXHU2N0QxXHU2QTQ0XHU2RTFCXHU3NTE4XHU3NUIzXHU3NkUzXHU3N0IwXHU3RDNBXHU5MEFGXHU5NDUxXHU5NDUyXHU5Rjk1XCJdLFxuW1wiY2JhMVwiLFwiXHU1MzIzXHU1Q0FDXHU3NTMyXHU4MERCXHU5MjQwXHU5NTk4XHU1MjVCXHU1ODA4XHU1OURDXHU1Q0ExXHU1RDE3XHU1RUI3XHU1RjNBXHU1RjRBXHU2MTc3XHU2QzVGXHU3NTdBXHU3NTg2XHU3Q0UwXHU3RDczXHU3REIxXHU3RjhDXHU4MTU0XHU4MjIxXHU4NTkxXHU4OTQxXHU4QjFCXHU5MkZDXHU5NjREXHU5QzQ3XHU0RUNCXHU0RUY3XHU1MDBCXHU1MUYxXHU1ODRGXHU2MTM3XHU2MTNFXHU2MTY4XHU2NTM5XHU2OUVBXHU2RjExXHU3NUE1XHU3Njg2XHU3NkQ2XHU3Qjg3XHU4MkE1XHU4NENCXHVGOTAwXHU5M0E3XHU5NThCXHU1NTgwXHU1QkEyXHU1NzUxXHVGOTAxXHU3Q0IzXHU3RkI5XHU5MUI1XHU1MDI4XHU1M0JCXHU1QzQ1XHU1REU4XHU2MkQyXHU2MzZFXHU2NERBXHU2NEU3XHU2RTIwXHU3MEFDXHU3OTVCXHU4REREXHU4RTFFXHVGOTAyXHU5MDdEXHU5MjQ1XHU5MkY4XHU0RTdFXHU0RUY2XHU1MDY1XHU1REZFXHU1RUZBXHU2MTA2XHU2OTU3XHU4MTcxXHU4NjU0XHU4RTQ3XHU5Mzc1XHU5QTJCXHU0RTVFXHU1MDkxXHU2NzcwXHU2ODQwXHU1MTA5XHU1MjhEXHU1MjkyXHU2QUEyXCJdLFxuW1wiY2NhMVwiLFwiXHU3N0JDXHU5MjEwXHU5RUQ0XHU1MkFCXHU2MDJGXHU4RkYyXHU1MDQ4XHU2MUE5XHU2M0VEXHU2NENBXHU2ODNDXHU2QTg0XHU2RkMwXHU4MTg4XHU4OUExXHU5Njk0XHU1ODA1XHU3MjdEXHU3MkFDXHU3NTA0XHU3RDc5XHU3RTZEXHU4MEE5XHU4OThCXHU4Qjc0XHU5MDYzXHU5RDUxXHU2Mjg5XHU2QzdBXHU2RjU0XHU3RDUwXHU3RjNBXHU4QTIzXHU1MTdDXHU2MTRBXHU3QjlEXHU4QjE5XHU5MjU3XHU5MzhDXHU0RUFDXHU0RkQzXHU1MDFFXHU1MEJFXHU1MTA2XHU1MkMxXHU1MkNEXHU1MzdGXHU1NzcwXHU1ODgzXHU1RTlBXHU1RjkxXHU2MTc2XHU2MUFDXHU2NENFXHU2NTZDXHU2NjZGXHU2NkJCXHU2NkY0XHU2ODk3XHU2RDg3XHU3MDg1XHU3MEYxXHU3NDlGXHU3NEE1XHU3NENBXHU3NUQ5XHU3ODZDXHU3OEVDXHU3QURGXHU3QUY2XHU3RDQ1XHU3RDkzXHU4MDE1XHU4MDNGXHU4MTFCXHU4Mzk2XHU4QjY2XHU4RjE1XHU5MDE1XHU5M0UxXHU5ODAzXHU5ODM4XHU5QTVBXHU5QkU4XHU0RkMyXHU1NTUzXHU1ODNBXHU1OTUxXHU1QjYzXHU1QzQ2XHU2MEI4XHU2MjEyXHU2ODQyXHU2OEIwXCJdLFxuW1wiY2RhMVwiLFwiXHU2OEU4XHU2RUFBXHU3NTRDXHU3Njc4XHU3OENFXHU3QTNEXHU3Q0ZCXHU3RTZCXHU3RTdDXHU4QTA4XHU4QUExXHU4QzNGXHU5NjhFXHU5REM0XHU1M0U0XHU1M0U5XHU1NDRBXHU1NDcxXHU1NkZBXHU1OUQxXHU1QjY0XHU1QzNCXHU1RUFCXHU2MkY3XHU2NTM3XHU2NTQ1XHU2NTcyXHU2NkEwXHU2N0FGXHU2OUMxXHU2Q0JEXHU3NUZDXHU3NjkwXHU3NzdFXHU3QTNGXHU3Rjk0XHU4MDAzXHU4MEExXHU4MThGXHU4MkU2XHU4MkZEXHU4M0YwXHU4NUMxXHU4ODMxXHU4OEI0XHU4QUE1XHVGOTAzXHU4RjlDXHU5MzJFXHU5NkM3XHU5ODY3XHU5QUQ4XHU5RjEzXHU1NEVEXHU2NTlCXHU2NkYyXHU2ODhGXHU3QTQwXHU4QzM3XHU5RDYwXHU1NkYwXHU1NzY0XHU1RDExXHU2NjA2XHU2OEIxXHU2OENEXHU2RUZFXHU3NDI4XHU4ODlFXHU5QkU0XHU2QzY4XHVGOTA0XHU5QUE4XHU0RjlCXHU1MTZDXHU1MTcxXHU1MjlGXHU1QjU0XHU1REU1XHU2MDUwXHU2MDZEXHU2MkYxXHU2M0E3XHU2NTNCXHU3M0Q5XHU3QTdBXHU4NkEzXHU4Q0EyXHU5NzhGXHU0RTMyXHU1QkUxXHU2MjA4XHU2NzlDXHU3NERDXCJdLFxuW1wiY2VhMVwiLFwiXHU3OUQxXHU4M0QzXHU4QTg3XHU4QUIyXHU4REU4XHU5MDRFXHU5MzRCXHU5ODQ2XHU1RUQzXHU2OUU4XHU4NUZGXHU5MEVEXHVGOTA1XHU1MUEwXHU1Qjk4XHU1QkVDXHU2MTYzXHU2OEZBXHU2QjNFXHU3MDRDXHU3NDJGXHU3NEQ4XHU3QkExXHU3RjUwXHU4M0M1XHU4OUMwXHU4Q0FCXHU5NURDXHU5OTI4XHU1MjJFXHU2MDVEXHU2MkVDXHU5MDAyXHU0RjhBXHU1MTQ5XHU1MzIxXHU1OEQ5XHU1RUUzXHU2NkUwXHU2RDM4XHU3MDlBXHU3MkMyXHU3M0Q2XHU3QjUwXHU4MEYxXHU5NDVCXHU1MzY2XHU2MzlCXHU3RjZCXHU0RTU2XHU1MDgwXHU1ODRBXHU1OERFXHU2MDJBXHU2MTI3XHU2MkQwXHU2OUQwXHU5QjQxXHU1QjhGXHU3RDE4XHU4MEIxXHU4RjVGXHU0RUE0XHU1MEQxXHU1NEFDXHU1NUFDXHU1QjBDXHU1REEwXHU1REU3XHU2NTJBXHU2NTRFXHU2ODIxXHU2QTRCXHU3MkUxXHU3NjhFXHU3N0VGXHU3RDVFXHU3RkY5XHU4MUEwXHU4NTRFXHU4NkRGXHU4RjAzXHU4RjRFXHU5MENBXHU5OTAzXHU5QTU1XHU5QkFCXHU0RTE4XHU0RTQ1XHU0RTVEXHU0RUM3XHU0RkYxXHU1MTc3XHU1MkZFXCJdLFxuW1wiY2ZhMVwiLFwiXHU1MzQwXHU1M0UzXHU1M0U1XHU1NDhFXHU1NjE0XHU1Nzc1XHU1N0EyXHU1QkM3XHU1RDg3XHU1RUQwXHU2MUZDXHU2MkQ4XHU2NTUxXHU2N0I4XHU2N0U5XHU2OUNCXHU2QjUwXHU2QkM2XHU2QkVDXHU2QzQyXHU2RTlEXHU3MDc4XHU3MkQ3XHU3Mzk2XHU3NDAzXHU3N0JGXHU3N0U5XHU3QTc2XHU3RDdGXHU4MDA5XHU4MUZDXHU4MjA1XHU4MjBBXHU4MkRGXHU4ODYyXHU4QjMzXHU4Q0ZDXHU4RUMwXHU5MDExXHU5MEIxXHU5MjY0XHU5MkI2XHU5OUQyXHU5QTQ1XHU5Q0U5XHU5REQ3XHU5RjlDXHU1NzBCXHU1QzQwXHU4M0NBXHU5N0EwXHU5N0FCXHU5RUI0XHU1NDFCXHU3QTk4XHU3RkE0XHU4OEQ5XHU4RUNEXHU5MEUxXHU1ODAwXHU1QzQ4XHU2Mzk4XHU3QTlGXHU1QkFFXHU1RjEzXHU3QTc5XHU3QUFFXHU4MjhFXHU4RUFDXHU1MDI2XHU1MjM4XHU1MkY4XHU1Mzc3XHU1NzA4XHU2MkYzXHU2MzcyXHU2QjBBXHU2REMzXHU3NzM3XHU1M0E1XHU3MzU3XHU4NTY4XHU4RTc2XHU5NUQ1XHU2NzNBXHU2QUMzXHU2RjcwXHU4QTZEXHU4RUNDXHU5OTRCXHVGOTA2XHU2Njc3XHU2Qjc4XHU4Q0I0XCJdLFxuW1wiZDBhMVwiLFwiXHU5QjNDXHVGOTA3XHU1M0VCXHU1NzJEXHU1OTRFXHU2M0M2XHU2OUZCXHU3M0VBXHU3ODQ1XHU3QUJBXHU3QUM1XHU3Q0ZFXHU4NDc1XHU4OThGXHU4RDczXHU5MDM1XHU5NUE4XHU1MkZCXHU1NzQ3XHU3NTQ3XHU3QjYwXHU4M0NDXHU5MjFFXHVGOTA4XHU2QTU4XHU1MTRCXHU1MjRCXHU1Mjg3XHU2MjFGXHU2OEQ4XHU2OTc1XHU5Njk5XHU1MEM1XHU1MkE0XHU1MkU0XHU2MUMzXHU2NUE0XHU2ODM5XHU2OUZGXHU3NDdFXHU3QjRCXHU4MkI5XHU4M0VCXHU4OUIyXHU4QjM5XHU4RkQxXHU5OTQ5XHVGOTA5XHU0RUNBXHU1OTk3XHU2NEQyXHU2NjExXHU2QThFXHU3NDM0XHU3OTgxXHU3OUJEXHU4MkE5XHU4ODdFXHU4ODdGXHU4OTVGXHVGOTBBXHU5MzI2XHU0RjBCXHU1M0NBXHU2MDI1XHU2MjcxXHU2QzcyXHU3RDFBXHU3RDY2XHU0RTk4XHU1MTYyXHU3N0RDXHU4MEFGXHU0RjAxXHU0RjBFXHU1MTc2XHU1MTgwXHU1NURDXHU1NjY4XHU1NzNCXHU1N0ZBXHU1N0ZDXHU1OTE0XHU1OTQ3XHU1OTkzXHU1QkM0XHU1QzkwXHU1RDBFXHU1REYxXHU1RTdFXHU1RkNDXHU2MjgwXHU2NUQ3XHU2NUUzXCJdLFxuW1wiZDFhMVwiLFwiXHU2NzFFXHU2NzFGXHU2NzVFXHU2OENCXHU2OEM0XHU2QTVGXHU2QjNBXHU2QzIzXHU2QzdEXHU2QzgyXHU2REM3XHU3Mzk4XHU3NDI2XHU3NDJBXHU3NDgyXHU3NEEzXHU3NTc4XHU3NTdGXHU3ODgxXHU3OEVGXHU3OTQxXHU3OTQ3XHU3OTQ4XHU3OTdBXHU3Qjk1XHU3RDAwXHU3REJBXHU3Rjg4XHU4MDA2XHU4MDJEXHU4MDhDXHU4QTE4XHU4QjRGXHU4QzQ4XHU4RDc3XHU5MzIxXHU5MzI0XHU5OEUyXHU5OTUxXHU5QTBFXHU5QTBGXHU5QTY1XHU5RTkyXHU3RENBXHU0Rjc2XHU1NDA5XHU2MkVFXHU2ODU0XHU5MUQxXHU1NUFCXHU1MTNBXHVGOTBCXHVGOTBDXHU1QTFDXHU2MUU2XHVGOTBEXHU2MkNGXHU2MkZGXHVGOTBFXCIsNSxcIlx1OTBBM1x1RjkxNFwiLDQsXCJcdThBRkVcdUY5MTlcdUY5MUFcdUY5MUJcdUY5MUNcdTY2OTZcdUY5MURcdTcxNTZcdUY5MUVcdUY5MUZcdTk2RTNcdUY5MjBcdTYzNEZcdTYzN0FcdTUzNTdcdUY5MjFcdTY3OEZcdTY5NjBcdTZFNzNcdUY5MjJcdTc1MzdcdUY5MjNcdUY5MjRcdUY5MjVcIl0sXG5bXCJkMmExXCIsXCJcdTdEMERcdUY5MjZcdUY5MjdcdTg4NzJcdTU2Q0FcdTVBMThcdUY5MjhcIiw0LFwiXHU0RTQzXHVGOTJEXHU1MTY3XHU1OTQ4XHU2N0YwXHU4MDEwXHVGOTJFXHU1OTczXHU1RTc0XHU2NDlBXHU3OUNBXHU1RkY1XHU2MDZDXHU2MkM4XHU2MzdCXHU1QkU3XHU1QkQ3XHU1MkFBXHVGOTJGXHU1OTc0XHU1RjI5XHU2MDEyXHVGOTMwXHVGOTMxXHVGOTMyXHU3NDU5XHVGOTMzXCIsNSxcIlx1OTlEMVx1RjkzOVwiLDEwLFwiXHU2RkMzXHVGOTQ0XHVGOTQ1XHU4MUJGXHU4RkIyXHU2MEYxXHVGOTQ2XHVGOTQ3XHU4MTY2XHVGOTQ4XHVGOTQ5XHU1QzNGXHVGOTRBXCIsNyxcIlx1NUFFOVx1OEEyNVx1Njc3Qlx1N0QxMFx1Rjk1MlwiLDUsXCJcdTgwRkRcdUY5NThcdUY5NTlcdTVDM0NcdTZDRTVcdTUzM0ZcdTZFQkFcdTU5MUFcdTgzMzZcIl0sXG5bXCJkM2ExXCIsXCJcdTRFMzlcdTRFQjZcdTRGNDZcdTU1QUVcdTU3MThcdTU4QzdcdTVGNTZcdTY1QjdcdTY1RTZcdTZBODBcdTZCQjVcdTZFNERcdTc3RURcdTdBRUZcdTdDMUVcdTdEREVcdTg2Q0JcdTg4OTJcdTkxMzJcdTkzNUJcdTY0QkJcdTZGQkVcdTczN0FcdTc1QjhcdTkwNTRcdTU1NTZcdTU3NERcdTYxQkFcdTY0RDRcdTY2QzdcdTZERTFcdTZFNUJcdTZGNkRcdTZGQjlcdTc1RjBcdTgwNDNcdTgxQkRcdTg1NDFcdTg5ODNcdThBQzdcdThCNUFcdTkzMUZcdTZDOTNcdTc1NTNcdTdCNTRcdThFMEZcdTkwNURcdTU1MTBcdTU4MDJcdTU4NThcdTVFNjJcdTYyMDdcdTY0OUVcdTY4RTBcdTc1NzZcdTdDRDZcdTg3QjNcdTlFRThcdTRFRTNcdTU3ODhcdTU3NkVcdTU5MjdcdTVDMERcdTVDQjFcdTVFMzZcdTVGODVcdTYyMzRcdTY0RTFcdTczQjNcdTgxRkFcdTg4OEJcdThDQjhcdTk2OEFcdTlFREJcdTVCODVcdTVGQjdcdTYwQjNcdTUwMTJcdTUyMDBcdTUyMzBcdTU3MTZcdTU4MzVcdTU4NTdcdTVDMEVcdTVDNjBcdTVDRjZcdTVEOEJcdTVFQTZcdTVGOTJcdTYwQkNcdTYzMTFcdTYzODlcdTY0MTdcdTY4NDNcIl0sXG5bXCJkNGExXCIsXCJcdTY4RjlcdTZBQzJcdTZERDhcdTZFMjFcdTZFRDRcdTZGRTRcdTcxRkVcdTc2RENcdTc3NzlcdTc5QjFcdTdBM0JcdTg0MDRcdTg5QTlcdThDRURcdThERjNcdThFNDhcdTkwMDNcdTkwMTRcdTkwNTNcdTkwRkRcdTkzNERcdTk2NzZcdTk3RENcdTZCRDJcdTcwMDZcdTcyNThcdTcyQTJcdTczNjhcdTc3NjNcdTc5QkZcdTdCRTRcdTdFOUJcdThCODBcdTU4QTlcdTYwQzdcdTY1NjZcdTY1RkRcdTY2QkVcdTZDOENcdTcxMUVcdTcxQzlcdThDNUFcdTk4MTNcdTRFNkRcdTdBODFcdTRFRERcdTUxQUNcdTUxQ0RcdTUyRDVcdTU0MENcdTYxQTdcdTY3NzFcdTY4NTBcdTY4REZcdTZEMUVcdTZGN0NcdTc1QkNcdTc3QjNcdTdBRTVcdTgwRjRcdTg0NjNcdTkyODVcdTUxNUNcdTY1OTdcdTY3NUNcdTY3OTNcdTc1RDhcdTdBQzdcdTgzNzNcdUY5NUFcdThDNDZcdTkwMTdcdTk4MkRcdTVDNkZcdTgxQzBcdTgyOUFcdTkwNDFcdTkwNkZcdTkyMERcdTVGOTdcdTVEOURcdTZBNTlcdTcxQzhcdTc2N0JcdTdCNDlcdTg1RTRcdThCMDRcdTkxMjdcdTlBMzBcdTU1ODdcdTYxRjZcdUY5NUJcdTc2NjlcdTdGODVcIl0sXG5bXCJkNWExXCIsXCJcdTg2M0ZcdTg3QkFcdTg4RjhcdTkwOEZcdUY5NUNcdTZEMUJcdTcwRDlcdTczREVcdTdENjFcdTg0M0RcdUY5NURcdTkxNkFcdTk5RjFcdUY5NUVcdTRFODJcdTUzNzVcdTZCMDRcdTZCMTJcdTcwM0VcdTcyMUJcdTg2MkRcdTlFMUVcdTUyNENcdThGQTNcdTVENTBcdTY0RTVcdTY1MkNcdTZCMTZcdTZGRUJcdTdDNDNcdTdFOUNcdTg1Q0RcdTg5NjRcdTg5QkRcdTYyQzlcdTgxRDhcdTg4MUZcdTVFQ0FcdTY3MTdcdTZENkFcdTcyRkNcdTc0MDVcdTc0NkZcdTg3ODJcdTkwREVcdTRGODZcdTVEMERcdTVGQTBcdTg0MEFcdTUxQjdcdTYzQTBcdTc1NjVcdTRFQUVcdTUwMDZcdTUxNjlcdTUxQzlcdTY4ODFcdTZBMTFcdTdDQUVcdTdDQjFcdTdDRTdcdTgyNkZcdThBRDJcdThGMUJcdTkxQ0ZcdTRGQjZcdTUxMzdcdTUyRjVcdTU0NDJcdTVFRUNcdTYxNkVcdTYyM0VcdTY1QzVcdTZBREFcdTZGRkVcdTc5MkFcdTg1RENcdTg4MjNcdTk1QURcdTlBNjJcdTlBNkFcdTlFOTdcdTlFQ0VcdTUyOUJcdTY2QzZcdTZCNzdcdTcwMURcdTc5MkJcdThGNjJcdTk3NDJcdTYxOTBcdTYyMDBcdTY1MjNcdTZGMjNcIl0sXG5bXCJkNmExXCIsXCJcdTcxNDlcdTc0ODlcdTdERjRcdTgwNkZcdTg0RUVcdThGMjZcdTkwMjNcdTkzNEFcdTUxQkRcdTUyMTdcdTUyQTNcdTZEMENcdTcwQzhcdTg4QzJcdTVFQzlcdTY1ODJcdTZCQUVcdTZGQzJcdTdDM0VcdTczNzVcdTRFRTRcdTRGMzZcdTU2RjlcdUY5NUZcdTVDQkFcdTVEQkFcdTYwMUNcdTczQjJcdTdCMkRcdTdGOUFcdTdGQ0VcdTgwNDZcdTkwMUVcdTkyMzRcdTk2RjZcdTk3NDhcdTk4MThcdTlGNjFcdTRGOEJcdTZGQTdcdTc5QUVcdTkxQjRcdTk2QjdcdTUyREVcdUY5NjBcdTY0ODhcdTY0QzRcdTZBRDNcdTZGNUVcdTcwMThcdTcyMTBcdTc2RTdcdTgwMDFcdTg2MDZcdTg2NUNcdThERUZcdThGMDVcdTk3MzJcdTlCNkZcdTlERkFcdTlFNzVcdTc4OENcdTc5N0ZcdTdEQTBcdTgzQzlcdTkzMDRcdTlFN0ZcdTlFOTNcdThBRDZcdTU4REZcdTVGMDRcdTY3MjdcdTcwMjdcdTc0Q0ZcdTdDNjBcdTgwN0VcdTUxMjFcdTcwMjhcdTcyNjJcdTc4Q0FcdThDQzJcdThDREFcdThDRjRcdTk2RjdcdTRFODZcdTUwREFcdTVCRUVcdTVFRDZcdTY1OTlcdTcxQ0VcdTc2NDJcdTc3QURcdTgwNEFcdTg0RkNcIl0sXG5bXCJkN2ExXCIsXCJcdTkwN0NcdTlCMjdcdTlGOERcdTU4RDhcdTVBNDFcdTVDNjJcdTZBMTNcdTZEREFcdTZGMEZcdTc2M0JcdTdEMkZcdTdFMzdcdTg1MUVcdTg5MzhcdTkzRTRcdTk2NEJcdTUyODlcdTY1RDJcdTY3RjNcdTY5QjRcdTZENDFcdTZFOUNcdTcwMEZcdTc0MDlcdTc0NjBcdTc1NTlcdTc2MjRcdTc4NkJcdThCMkNcdTk4NUVcdTUxNkRcdTYyMkVcdTk2NzhcdTRGOTZcdTUwMkJcdTVEMTlcdTZERUFcdTdEQjhcdThGMkFcdTVGOEJcdTYxNDRcdTY4MTdcdUY5NjFcdTk2ODZcdTUyRDJcdTgwOEJcdTUxRENcdTUxQ0NcdTY5NUVcdTdBMUNcdTdEQkVcdTgzRjFcdTk2NzVcdTRGREFcdTUyMjlcdTUzOThcdTU0MEZcdTU1MEVcdTVDNjVcdTYwQTdcdTY3NEVcdTY4QThcdTZENkNcdTcyODFcdTcyRjhcdTc0MDZcdTc0ODNcdUY5NjJcdTc1RTJcdTdDNkNcdTdGNzlcdTdGQjhcdTgzODlcdTg4Q0ZcdTg4RTFcdTkxQ0NcdTkxRDBcdTk2RTJcdTlCQzlcdTU0MURcdTZGN0VcdTcxRDBcdTc0OThcdTg1RkFcdThFQUFcdTk2QTNcdTlDNTdcdTlFOUZcdTY3OTdcdTZEQ0JcdTc0MzNcdTgxRThcdTk3MTZcdTc4MkNcIl0sXG5bXCJkOGExXCIsXCJcdTdBQ0JcdTdCMjBcdTdDOTJcdTY0NjlcdTc0NkFcdTc1RjJcdTc4QkNcdTc4RThcdTk5QUNcdTlCNTRcdTlFQkJcdTVCREVcdTVFNTVcdTZGMjBcdTgxOUNcdTgzQUJcdTkwODhcdTRFMDdcdTUzNERcdTVBMjlcdTVERDJcdTVGNEVcdTYxNjJcdTYzM0RcdTY2NjlcdTY2RkNcdTZFRkZcdTZGMkJcdTcwNjNcdTc3OUVcdTg0MkNcdTg1MTNcdTg4M0JcdThGMTNcdTk5NDVcdTlDM0JcdTU1MUNcdTYyQjlcdTY3MkJcdTZDQUJcdTgzMDlcdTg5NkFcdTk3N0FcdTRFQTFcdTU5ODRcdTVGRDhcdTVGRDlcdTY3MUJcdTdEQjJcdTdGNTRcdTgyOTJcdTgzMkJcdTgzQkRcdThGMUVcdTkwOTlcdTU3Q0JcdTU5QjlcdTVBOTJcdTVCRDBcdTY2MjdcdTY3OUFcdTY4ODVcdTZCQ0ZcdTcxNjRcdTdGNzVcdThDQjdcdThDRTNcdTkwODFcdTlCNDVcdTgxMDhcdThDOEFcdTk2NENcdTlBNDBcdTlFQTVcdTVCNUZcdTZDMTNcdTczMUJcdTc2RjJcdTc2REZcdTg0MENcdTUxQUFcdTg5OTNcdTUxNERcdTUxOTVcdTUyQzlcdTY4QzlcdTZDOTRcdTc3MDRcdTc3MjBcdTdEQkZcdTdERUNcdTk3NjJcdTlFQjVcdTZFQzVcIl0sXG5bXCJkOWExXCIsXCJcdTg1MTFcdTUxQTVcdTU0MERcdTU0N0RcdTY2MEVcdTY2OURcdTY5MjdcdTZFOUZcdTc2QkZcdTc3OTFcdTgzMTdcdTg0QzJcdTg3OUZcdTkxNjlcdTkyOThcdTlDRjRcdTg4ODJcdTRGQUVcdTUxOTJcdTUyREZcdTU5QzZcdTVFM0RcdTYxNTVcdTY0NzhcdTY0NzlcdTY2QUVcdTY3RDBcdTZBMjFcdTZCQ0RcdTZCREJcdTcyNUZcdTcyNjFcdTc0NDFcdTc3MzhcdTc3REJcdTgwMTdcdTgyQkNcdTgzMDVcdThCMDBcdThCMjhcdThDOENcdTY3MjhcdTZDOTBcdTcyNjdcdTc2RUVcdTc3NjZcdTdBNDZcdTlEQTlcdTZCN0ZcdTZDOTJcdTU5MjJcdTY3MjZcdTg0OTlcdTUzNkZcdTU4OTNcdTU5OTlcdTVFREZcdTYzQ0ZcdTY2MzRcdTY3NzNcdTZFM0FcdTczMkJcdTdBRDdcdTgyRDdcdTkzMjhcdTUyRDlcdTVERUJcdTYxQUVcdTYxQ0JcdTYyMEFcdTYyQzdcdTY0QUJcdTY1RTBcdTY5NTlcdTZCNjZcdTZCQ0JcdTcxMjFcdTczRjdcdTc1NURcdTdFNDZcdTgyMUVcdTgzMDJcdTg1NkFcdThBQTNcdThDQkZcdTk3MjdcdTlENjFcdTU4QThcdTlFRDhcdTUwMTFcdTUyMEVcdTU0M0JcdTU1NEZcdTY1ODdcIl0sXG5bXCJkYWExXCIsXCJcdTZDNzZcdTdEMEFcdTdEMEJcdTgwNUVcdTg2OEFcdTk1ODBcdTk2RUZcdTUyRkZcdTZDOTVcdTcyNjlcdTU0NzNcdTVBOUFcdTVDM0VcdTVENEJcdTVGNENcdTVGQUVcdTY3MkFcdTY4QjZcdTY5NjNcdTZFM0NcdTZFNDRcdTc3MDlcdTdDNzNcdTdGOEVcdTg1ODdcdThCMEVcdThGRjdcdTk3NjFcdTlFRjRcdTVDQjdcdTYwQjZcdTYxMERcdTYxQUJcdTY1NEZcdTY1RkJcdTY1RkNcdTZDMTFcdTZDRUZcdTczOUZcdTczQzlcdTdERTFcdTk1OTRcdTVCQzZcdTg3MUNcdThCMTBcdTUyNURcdTUzNUFcdTYyQ0RcdTY0MEZcdTY0QjJcdTY3MzRcdTZBMzhcdTZDQ0FcdTczQzBcdTc0OUVcdTdCOTRcdTdDOTVcdTdFMUJcdTgxOEFcdTgyMzZcdTg1ODRcdThGRUJcdTk2RjlcdTk5QzFcdTRGMzRcdTUzNEFcdTUzQ0RcdTUzREJcdTYyQ0NcdTY0MkNcdTY1MDBcdTY1OTFcdTY5QzNcdTZDRUVcdTZGNThcdTczRURcdTc1NTRcdTc2MjJcdTc2RTRcdTc2RkNcdTc4RDBcdTc4RkJcdTc5MkNcdTdENDZcdTgyMkNcdTg3RTBcdThGRDRcdTk4MTJcdTk4RUZcdTUyQzNcdTYyRDRcdTY0QTVcdTZFMjRcdTZGNTFcIl0sXG5bXCJkYmExXCIsXCJcdTc2N0NcdThEQ0JcdTkxQjFcdTkyNjJcdTlBRUVcdTlCNDNcdTUwMjNcdTUwOERcdTU3NEFcdTU5QThcdTVDMjhcdTVFNDdcdTVGNzdcdTYyM0ZcdTY1M0VcdTY1QjlcdTY1QzFcdTY2MDlcdTY3OEJcdTY5OUNcdTZFQzJcdTc4QzVcdTdEMjFcdTgwQUFcdTgxODBcdTgyMkJcdTgyQjNcdTg0QTFcdTg2OENcdThBMkFcdThCMTdcdTkwQTZcdTk2MzJcdTlGOTBcdTUwMERcdTRGRjNcdUY5NjNcdTU3RjlcdTVGOThcdTYyRENcdTYzOTJcdTY3NkZcdTZFNDNcdTcxMTlcdTc2QzNcdTgwQ0NcdTgwREFcdTg4RjRcdTg4RjVcdTg5MTlcdThDRTBcdThGMjlcdTkxNERcdTk2NkFcdTRGMkZcdTRGNzBcdTVFMUJcdTY3Q0ZcdTY4MjJcdTc2N0RcdTc2N0VcdTlCNDRcdTVFNjFcdTZBMEFcdTcxNjlcdTcxRDRcdTc1NkFcdUY5NjRcdTdFNDFcdTg1NDNcdTg1RTlcdTk4RENcdTRGMTBcdTdCNEZcdTdGNzBcdTk1QTVcdTUxRTFcdTVFMDZcdTY4QjVcdTZDM0VcdTZDNEVcdTZDREJcdTcyQUZcdTdCQzRcdTgzMDNcdTZDRDVcdTc0M0FcdTUwRkJcdTUyODhcdTU4QzFcdTY0RDhcdTZBOTdcdTc0QTdcdTc2NTZcIl0sXG5bXCJkY2ExXCIsXCJcdTc4QTdcdTg2MTdcdTk1RTJcdTk3MzlcdUY5NjVcdTUzNUVcdTVGMDFcdThCOEFcdThGQThcdThGQUZcdTkwOEFcdTUyMjVcdTc3QTVcdTlDNDlcdTlGMDhcdTRFMTlcdTUwMDJcdTUxNzVcdTVDNUJcdTVFNzdcdTY2MUVcdTY2M0FcdTY3QzRcdTY4QzVcdTcwQjNcdTc1MDFcdTc1QzVcdTc5QzlcdTdBRERcdThGMjdcdTk5MjBcdTlBMDhcdTRGRERcdTU4MjFcdTU4MzFcdTVCRjZcdTY2NkVcdTZCNjVcdTZEMTFcdTZFN0FcdTZGN0RcdTczRTRcdTc1MkJcdTgzRTlcdTg4RENcdTg5MTNcdThCNUNcdThGMTRcdTRGMEZcdTUwRDVcdTUzMTBcdTUzNUNcdTVCOTNcdTVGQTlcdTY3MERcdTc5OEZcdTgxNzlcdTgzMkZcdTg1MTRcdTg5MDdcdTg5ODZcdThGMzlcdThGM0JcdTk5QTVcdTlDMTJcdTY3MkNcdTRFNzZcdTRGRjhcdTU5NDlcdTVDMDFcdTVDRUZcdTVDRjBcdTYzNjdcdTY4RDJcdTcwRkRcdTcxQTJcdTc0MkJcdTdFMkJcdTg0RUNcdTg3MDJcdTkwMjJcdTkyRDJcdTlDRjNcdTRFMERcdTRFRDhcdTRGRUZcdTUwODVcdTUyNTZcdTUyNkZcdTU0MjZcdTU0OTBcdTU3RTBcdTU5MkJcdTVBNjZcIl0sXG5bXCJkZGExXCIsXCJcdTVCNUFcdTVCNzVcdTVCQ0NcdTVFOUNcdUY5NjZcdTYyNzZcdTY1NzdcdTY1QTdcdTZENkVcdTZFQTVcdTcyMzZcdTdCMjZcdTdDM0ZcdTdGMzZcdTgxNTBcdTgxNTFcdTgxOUFcdTgyNDBcdTgyOTlcdTgzQTlcdThBMDNcdThDQTBcdThDRTZcdThDRkJcdThENzRcdThEQkFcdTkwRThcdTkxRENcdTk2MUNcdTk2NDRcdTk5RDlcdTlDRTdcdTUzMTdcdTUyMDZcdTU0MjlcdTU2NzRcdTU4QjNcdTU5NTRcdTU5NkVcdTVGRkZcdTYxQTRcdTYyNkVcdTY2MTBcdTZDN0VcdTcxMUFcdTc2QzZcdTdDODlcdTdDREVcdTdEMUJcdTgyQUNcdThDQzFcdTk2RjBcdUY5NjdcdTRGNUJcdTVGMTdcdTVGN0ZcdTYyQzJcdTVEMjlcdTY3MEJcdTY4REFcdTc4N0NcdTdFNDNcdTlENkNcdTRFMTVcdTUwOTlcdTUzMTVcdTUzMkFcdTUzNTFcdTU5ODNcdTVBNjJcdTVFODdcdTYwQjJcdTYxOEFcdTYyNDlcdTYyNzlcdTY1OTBcdTY3ODdcdTY5QTdcdTZCRDRcdTZCRDZcdTZCRDdcdTZCRDhcdTZDQjhcdUY5NjhcdTc0MzVcdTc1RkFcdTc4MTJcdTc4OTFcdTc5RDVcdTc5RDhcdTdDODNcdTdEQ0JcdTdGRTFcdTgwQTVcIl0sXG5bXCJkZWExXCIsXCJcdTgxM0VcdTgxQzJcdTgzRjJcdTg3MUFcdTg4RThcdThBQjlcdThCNkNcdThDQkJcdTkxMTlcdTk3NUVcdTk4REJcdTlGM0JcdTU2QUNcdTVCMkFcdTVGNkNcdTY1OENcdTZBQjNcdTZCQUZcdTZENUNcdTZGRjFcdTcwMTVcdTcyNURcdTczQURcdThDQTdcdThDRDNcdTk4M0JcdTYxOTFcdTZDMzdcdTgwNThcdTlBMDFcdTRFNERcdTRFOEJcdTRFOUJcdTRFRDVcdTRGM0FcdTRGM0NcdTRGN0ZcdTRGREZcdTUwRkZcdTUzRjJcdTUzRjhcdTU1MDZcdTU1RTNcdTU2REJcdTU4RUJcdTU5NjJcdTVBMTFcdTVCRUJcdTVCRkFcdTVDMDRcdTVERjNcdTVFMkJcdTVGOTlcdTYwMURcdTYzNjhcdTY1OUNcdTY1QUZcdTY3RjZcdTY3RkJcdTY4QURcdTZCN0JcdTZDOTlcdTZDRDdcdTZFMjNcdTcwMDlcdTczNDVcdTc4MDJcdTc5M0VcdTc5NDBcdTc5NjBcdTc5QzFcdTdCRTlcdTdEMTdcdTdENzJcdTgwODZcdTgyMERcdTgzOEVcdTg0RDFcdTg2QzdcdTg4REZcdThBNTBcdThBNUVcdThCMURcdThDRENcdThENjZcdThGQURcdTkwQUFcdTk4RkNcdTk5REZcdTlFOURcdTUyNEFcdUY5NjlcdTY3MTRcdUY5NkFcIl0sXG5bXCJkZmExXCIsXCJcdTUwOThcdTUyMkFcdTVDNzFcdTY1NjNcdTZDNTVcdTczQ0FcdTc1MjNcdTc1OURcdTdCOTdcdTg0OUNcdTkxNzhcdTk3MzBcdTRFNzdcdTY0OTJcdTZCQkFcdTcxNUVcdTg1QTlcdTRFMDlcdUY5NkJcdTY3NDlcdTY4RUVcdTZFMTdcdTgyOUZcdTg1MThcdTg4NkJcdTYzRjdcdTZGODFcdTkyMTJcdTk4QUZcdTRFMEFcdTUwQjdcdTUwQ0ZcdTUxMUZcdTU1NDZcdTU1QUFcdTU2MTdcdTVCNDBcdTVDMTlcdTVDRTBcdTVFMzhcdTVFOEFcdTVFQTBcdTVFQzJcdTYwRjNcdTY4NTFcdTZBNjFcdTZFNThcdTcyM0RcdTcyNDBcdTcyQzBcdTc2RjhcdTc5NjVcdTdCQjFcdTdGRDRcdTg4RjNcdTg5RjRcdThBNzNcdThDNjFcdThDREVcdTk3MUNcdTU4NUVcdTc0QkRcdThDRkRcdTU1QzdcdUY5NkNcdTdBNjFcdTdEMjJcdTgyNzJcdTcyNzJcdTc1MUZcdTc1MjVcdUY5NkRcdTdCMTlcdTU4ODVcdTU4RkJcdTVEQkNcdTVFOEZcdTVFQjZcdTVGOTBcdTYwNTVcdTYyOTJcdTYzN0ZcdTY1NERcdTY2OTFcdTY2RDlcdTY2RjhcdTY4MTZcdTY4RjJcdTcyODBcdTc0NUVcdTdCNkVcdTdENkVcdTdERDZcdTdGNzJcIl0sXG5bXCJlMGExXCIsXCJcdTgwRTVcdTgyMTJcdTg1QUZcdTg5N0ZcdThBOTNcdTkwMURcdTkyRTRcdTlFQ0RcdTlGMjBcdTU5MTVcdTU5NkRcdTVFMkRcdTYwRENcdTY2MTRcdTY2NzNcdTY3OTBcdTZDNTBcdTZEQzVcdTZGNUZcdTc3RjNcdTc4QTlcdTg0QzZcdTkxQ0JcdTkzMkJcdTRFRDlcdTUwQ0FcdTUxNDhcdTU1ODRcdTVCMEJcdTVCQTNcdTYyNDdcdTY1N0VcdTY1Q0JcdTZFMzJcdTcxN0RcdTc0MDFcdTc0NDRcdTc0ODdcdTc0QkZcdTc2NkNcdTc5QUFcdTdEREFcdTdFNTVcdTdGQThcdTgxN0FcdTgxQjNcdTgyMzlcdTg2MUFcdTg3RUNcdThBNzVcdThERTNcdTkwNzhcdTkyOTFcdTk0MjVcdTk5NERcdTlCQUVcdTUzNjhcdTVDNTFcdTY5NTRcdTZDQzRcdTZEMjlcdTZFMkJcdTgyMENcdTg1OUJcdTg5M0JcdThBMkRcdThBQUFcdTk2RUFcdTlGNjdcdTUyNjFcdTY2QjlcdTZCQjJcdTdFOTZcdTg3RkVcdThEMERcdTk1ODNcdTk2NURcdTY1MURcdTZEODlcdTcxRUVcdUY5NkVcdTU3Q0VcdTU5RDNcdTVCQUNcdTYwMjdcdTYwRkFcdTYyMTBcdTY2MUZcdTY2NUZcdTczMjlcdTczRjlcdTc2REJcdTc3MDFcdTdCNkNcIl0sXG5bXCJlMWExXCIsXCJcdTgwNTZcdTgwNzJcdTgxNjVcdThBQTBcdTkxOTJcdTRFMTZcdTUyRTJcdTZCNzJcdTZEMTdcdTdBMDVcdTdCMzlcdTdEMzBcdUY5NkZcdThDQjBcdTUzRUNcdTU2MkZcdTU4NTFcdTVCQjVcdTVDMEZcdTVDMTFcdTVERTJcdTYyNDBcdTYzODNcdTY0MTRcdTY2MkRcdTY4QjNcdTZDQkNcdTZEODhcdTZFQUZcdTcwMUZcdTcwQTRcdTcxRDJcdTc1MjZcdTc1OEZcdTc1OEVcdTc2MTlcdTdCMTFcdTdCRTBcdTdDMkJcdTdEMjBcdTdEMzlcdTg1MkNcdTg1NkRcdTg2MDdcdThBMzRcdTkwMERcdTkwNjFcdTkwQjVcdTkyQjdcdTk3RjZcdTlBMzdcdTRGRDdcdTVDNkNcdTY3NUZcdTZEOTFcdTdDOUZcdTdFOENcdThCMTZcdThEMTZcdTkwMUZcdTVCNkJcdTVERkRcdTY0MERcdTg0QzBcdTkwNUNcdTk4RTFcdTczODdcdTVCOEJcdTYwOUFcdTY3N0VcdTZEREVcdThBMUZcdThBQTZcdTkwMDFcdTk4MENcdTUyMzdcdUY5NzBcdTcwNTFcdTc4OEVcdTkzOTZcdTg4NzBcdTkxRDdcdTRGRUVcdTUzRDdcdTU1RkRcdTU2REFcdTU3ODJcdTU4RkRcdTVBQzJcdTVCODhcdTVDQUJcdTVDQzBcdTVFMjVcdTYxMDFcIl0sXG5bXCJlMmExXCIsXCJcdTYyMERcdTYyNEJcdTYzODhcdTY0MUNcdTY1MzZcdTY1NzhcdTZBMzlcdTZCOEFcdTZDMzRcdTZEMTlcdTZGMzFcdTcxRTdcdTcyRTlcdTczNzhcdTc0MDdcdTc0QjJcdTc2MjZcdTc3NjFcdTc5QzBcdTdBNTdcdTdBRUFcdTdDQjlcdTdEOEZcdTdEQUNcdTdFNjFcdTdGOUVcdTgxMjlcdTgzMzFcdTg0OTBcdTg0REFcdTg1RUFcdTg4OTZcdThBQjBcdThCOTBcdThGMzhcdTkwNDJcdTkwODNcdTkxNkNcdTkyOTZcdTkyQjlcdTk2OEJcdTk2QTdcdTk2QThcdTk2RDZcdTk3MDBcdTk4MDhcdTk5OTZcdTlBRDNcdTlCMUFcdTUzRDRcdTU4N0VcdTU5MTlcdTVCNzBcdTVCQkZcdTZERDFcdTZGNUFcdTcxOUZcdTc0MjFcdTc0QjlcdTgwODVcdTgzRkRcdTVERTFcdTVGODdcdTVGQUFcdTYwNDJcdTY1RUNcdTY4MTJcdTY5NkZcdTZBNTNcdTZCODlcdTZEMzVcdTZERjNcdTczRTNcdTc2RkVcdTc3QUNcdTdCNERcdTdEMTRcdTgxMjNcdTgyMUNcdTgzNDBcdTg0RjRcdTg1NjNcdThBNjJcdThBQzRcdTkxODdcdTkzMUVcdTk4MDZcdTk5QjRcdTYyMENcdTg4NTNcdThGRjBcdTkyNjVcdTVEMDdcdTVEMjdcIl0sXG5bXCJlM2ExXCIsXCJcdTVENjlcdTc0NUZcdTgxOURcdTg3NjhcdTZGRDVcdTYyRkVcdTdGRDJcdTg5MzZcdTg5NzJcdTRFMUVcdTRFNThcdTUwRTdcdTUyRERcdTUzNDdcdTYyN0ZcdTY2MDdcdTdFNjlcdTg4MDVcdTk2NUVcdTRGOERcdTUzMTlcdTU2MzZcdTU5Q0JcdTVBQTRcdTVDMzhcdTVDNEVcdTVDNERcdTVFMDJcdTVGMTFcdTYwNDNcdTY1QkRcdTY2MkZcdTY2NDJcdTY3QkVcdTY3RjRcdTczMUNcdTc3RTJcdTc5M0FcdTdGQzVcdTg0OTRcdTg0Q0RcdTg5OTZcdThBNjZcdThBNjlcdThBRTFcdThDNTVcdThDN0FcdTU3RjRcdTVCRDRcdTVGMEZcdTYwNkZcdTYyRURcdTY5MERcdTZCOTZcdTZFNUNcdTcxODRcdTdCRDJcdTg3NTVcdThCNThcdThFRkVcdTk4REZcdTk4RkVcdTRGMzhcdTRGODFcdTRGRTFcdTU0N0JcdTVBMjBcdTVCQjhcdTYxM0NcdTY1QjBcdTY2NjhcdTcxRkNcdTc1MzNcdTc5NUVcdTdEMzNcdTgxNEVcdTgxRTNcdTgzOThcdTg1QUFcdTg1Q0VcdTg3MDNcdThBMEFcdThFQUJcdThGOUJcdUY5NzFcdThGQzVcdTU5MzFcdTVCQTRcdTVCRTZcdTYwODlcdTVCRTlcdTVDMEJcdTVGQzNcdTZDODFcIl0sXG5bXCJlNGExXCIsXCJcdUY5NzJcdTZERjFcdTcwMEJcdTc1MUFcdTgyQUZcdThBRjZcdTRFQzBcdTUzNDFcdUY5NzNcdTk2RDlcdTZDMEZcdTRFOUVcdTRGQzRcdTUxNTJcdTU1NUVcdTVBMjVcdTVDRThcdTYyMTFcdTcyNTlcdTgyQkRcdTgzQUFcdTg2RkVcdTg4NTlcdThBMURcdTk2M0ZcdTk2QzVcdTk5MTNcdTlEMDlcdTlENURcdTU4MEFcdTVDQjNcdTVEQkRcdTVFNDRcdTYwRTFcdTYxMTVcdTYzRTFcdTZBMDJcdTZFMjVcdTkxMDJcdTkzNTRcdTk4NEVcdTlDMTBcdTlGNzdcdTVCODlcdTVDQjhcdTYzMDlcdTY2NEZcdTY4NDhcdTc3M0NcdTk2QzFcdTk3OERcdTk4NTRcdTlCOUZcdTY1QTFcdThCMDFcdThFQ0JcdTk1QkNcdTU1MzVcdTVDQTlcdTVERDZcdTVFQjVcdTY2OTdcdTc2NENcdTgzRjRcdTk1QzdcdTU4RDNcdTYyQkNcdTcyQ0VcdTlEMjhcdTRFRjBcdTU5MkVcdTYwMEZcdTY2M0JcdTZCODNcdTc5RTdcdTlEMjZcdTUzOTNcdTU0QzBcdTU3QzNcdTVEMTZcdTYxMUJcdTY2RDZcdTZEQUZcdTc4OERcdTgyN0VcdTk2OThcdTk3NDRcdTUzODRcdTYyN0NcdTYzOTZcdTZEQjJcdTdFMEFcdTgxNEJcdTk4NERcIl0sXG5bXCJlNWExXCIsXCJcdTZBRkJcdTdGNENcdTlEQUZcdTlFMUFcdTRFNUZcdTUwM0JcdTUxQjZcdTU5MUNcdTYwRjlcdTYzRjZcdTY5MzBcdTcyM0FcdTgwMzZcdUY5NzRcdTkxQ0VcdTVGMzFcdUY5NzVcdUY5NzZcdTdEMDRcdTgyRTVcdTg0NkZcdTg0QkJcdTg1RTVcdThFOERcdUY5NzdcdTRGNkZcdUY5NzhcdUY5NzlcdTU4RTRcdTVCNDNcdTYwNTlcdTYzREFcdTY1MThcdTY1NkRcdTY2OThcdUY5N0FcdTY5NEFcdTZBMjNcdTZEMEJcdTcwMDFcdTcxNkNcdTc1RDJcdTc2MERcdTc5QjNcdTdBNzBcdUY5N0JcdTdGOEFcdUY5N0NcdTg5NDRcdUY5N0RcdThCOTNcdTkxQzBcdTk2N0RcdUY5N0VcdTk5MEFcdTU3MDRcdTVGQTFcdTY1QkNcdTZGMDFcdTc2MDBcdTc5QTZcdThBOUVcdTk5QURcdTlCNUFcdTlGNkNcdTUxMDRcdTYxQjZcdTYyOTFcdTZBOERcdTgxQzZcdTUwNDNcdTU4MzBcdTVGNjZcdTcxMDlcdThBMDBcdThBRkFcdTVCN0NcdTg2MTZcdTRGRkFcdTUxM0NcdTU2QjRcdTU5NDRcdTYzQTlcdTZERjlcdTVEQUFcdTY5NkRcdTUxODZcdTRFODhcdTRGNTlcdUY5N0ZcdUY5ODBcdUY5ODFcdTU5ODJcdUY5ODJcIl0sXG5bXCJlNmExXCIsXCJcdUY5ODNcdTZCNUZcdTZDNURcdUY5ODRcdTc0QjVcdTc5MTZcdUY5ODVcdTgyMDdcdTgyNDVcdTgzMzlcdThGM0ZcdThGNURcdUY5ODZcdTk5MThcdUY5ODdcdUY5ODhcdUY5ODlcdTRFQTZcdUY5OEFcdTU3REZcdTVGNzlcdTY2MTNcdUY5OEJcdUY5OENcdTc1QUJcdTdFNzlcdThCNkZcdUY5OERcdTkwMDZcdTlBNUJcdTU2QTVcdTU4MjdcdTU5RjhcdTVBMUZcdTVCQjRcdUY5OEVcdTVFRjZcdUY5OEZcdUY5OTBcdTYzNTBcdTYzM0JcdUY5OTFcdTY5M0RcdTZDODdcdTZDQkZcdTZEOEVcdTZEOTNcdTZERjVcdTZGMTRcdUY5OTJcdTcwREZcdTcxMzZcdTcxNTlcdUY5OTNcdTcxQzNcdTcxRDVcdUY5OTRcdTc4NEZcdTc4NkZcdUY5OTVcdTdCNzVcdTdERTNcdUY5OTZcdTdFMkZcdUY5OTdcdTg4NERcdThFREZcdUY5OThcdUY5OTlcdUY5OUFcdTkyNUJcdUY5OUJcdTlDRjZcdUY5OUNcdUY5OURcdUY5OUVcdTYwODVcdTZEODVcdUY5OUZcdTcxQjFcdUY5QTBcdUY5QTFcdTk1QjFcdTUzQURcdUY5QTJcdUY5QTNcdUY5QTRcdTY3RDNcdUY5QTVcdTcwOEVcdTcxMzBcdTc0MzBcdTgyNzZcdTgyRDJcIl0sXG5bXCJlN2ExXCIsXCJcdUY5QTZcdTk1QkJcdTlBRTVcdTlFN0RcdTY2QzRcdUY5QTdcdTcxQzFcdTg0NDlcdUY5QThcdUY5QTlcdTU4NEJcdUY5QUFcdUY5QUJcdTVEQjhcdTVGNzFcdUY5QUNcdTY2MjBcdTY2OEVcdTY5NzlcdTY5QUVcdTZDMzhcdTZDRjNcdTZFMzZcdTZGNDFcdTZGREFcdTcwMUJcdTcwMkZcdTcxNTBcdTcxREZcdTczNzBcdUY5QURcdTc0NUJcdUY5QUVcdTc0RDRcdTc2QzhcdTdBNEVcdTdFOTNcdUY5QUZcdUY5QjBcdTgyRjFcdThBNjBcdThGQ0VcdUY5QjFcdTkzNDhcdUY5QjJcdTk3MTlcdUY5QjNcdUY5QjRcdTRFNDJcdTUwMkFcdUY5QjVcdTUyMDhcdTUzRTFcdTY2RjNcdTZDNkRcdTZGQ0FcdTczMEFcdTc3N0ZcdTdBNjJcdTgyQUVcdTg1RERcdTg2MDJcdUY5QjZcdTg4RDRcdThBNjNcdThCN0RcdThDNkJcdUY5QjdcdTkyQjNcdUY5QjhcdTk3MTNcdTk4MTBcdTRFOTRcdTRGMERcdTRGQzlcdTUwQjJcdTUzNDhcdTU0M0VcdTU0MzNcdTU1REFcdTU4NjJcdTU4QkFcdTU5NjdcdTVBMUJcdTVCRTRcdTYwOUZcdUY5QjlcdTYxQ0FcdTY1NTZcdTY1RkZcdTY2NjRcdTY4QTdcdTZDNUFcdTZGQjNcIl0sXG5bXCJlOGExXCIsXCJcdTcwQ0ZcdTcxQUNcdTczNTJcdTdCN0RcdTg3MDhcdThBQTRcdTlDMzJcdTlGMDdcdTVDNEJcdTZDODNcdTczNDRcdTczODlcdTkyM0FcdTZFQUJcdTc0NjVcdTc2MUZcdTdBNjlcdTdFMTVcdTg2MEFcdTUxNDBcdTU4QzVcdTY0QzFcdTc0RUVcdTc1MTVcdTc2NzBcdTdGQzFcdTkwOTVcdTk2Q0RcdTk5NTRcdTZFMjZcdTc0RTZcdTdBQTlcdTdBQUFcdTgxRTVcdTg2RDlcdTg3NzhcdThBMUJcdTVBNDlcdTVCOENcdTVCOUJcdTY4QTFcdTY5MDBcdTZENjNcdTczQTlcdTc0MTNcdTc0MkNcdTc4OTdcdTdERTlcdTdGRUJcdTgxMThcdTgxNTVcdTgzOUVcdThDNENcdTk2MkVcdTk4MTFcdTY2RjBcdTVGODBcdTY1RkFcdTY3ODlcdTZDNkFcdTczOEJcdTUwMkRcdTVBMDNcdTZCNkFcdTc3RUVcdTU5MTZcdTVENkNcdTVEQ0RcdTczMjVcdTc1NEZcdUY5QkFcdUY5QkJcdTUwRTVcdTUxRjlcdTU4MkZcdTU5MkRcdTU5OTZcdTU5REFcdTVCRTVcdUY5QkNcdUY5QkRcdTVEQTJcdTYyRDdcdTY0MTZcdTY0OTNcdTY0RkVcdUY5QkVcdTY2RENcdUY5QkZcdTZBNDhcdUY5QzBcdTcxRkZcdTc0NjRcdUY5QzFcIl0sXG5bXCJlOWExXCIsXCJcdTdBODhcdTdBQUZcdTdFNDdcdTdFNUVcdTgwMDBcdTgxNzBcdUY5QzJcdTg3RUZcdTg5ODFcdThCMjBcdTkwNTlcdUY5QzNcdTkwODBcdTk5NTJcdTYxN0VcdTZCMzJcdTZENzRcdTdFMUZcdTg5MjVcdThGQjFcdTRGRDFcdTUwQURcdTUxOTdcdTUyQzdcdTU3QzdcdTU4ODlcdTVCQjlcdTVFQjhcdTYxNDJcdTY5OTVcdTZEOENcdTZFNjdcdTZFQjZcdTcxOTRcdTc0NjJcdTc1MjhcdTc1MkNcdTgwNzNcdTgzMzhcdTg0QzlcdThFMEFcdTkzOTRcdTkzREVcdUY5QzRcdTRFOEVcdTRGNTFcdTUwNzZcdTUxMkFcdTUzQzhcdTUzQ0JcdTUzRjNcdTVCODdcdTVCRDNcdTVDMjRcdTYxMUFcdTYxODJcdTY1RjRcdTcyNUJcdTczOTdcdTc0NDBcdTc2QzJcdTc5NTBcdTc5OTFcdTc5QjlcdTdEMDZcdTdGQkRcdTgyOEJcdTg1RDVcdTg2NUVcdThGQzJcdTkwNDdcdTkwRjVcdTkxRUFcdTk2ODVcdTk2RThcdTk2RTlcdTUyRDZcdTVGNjdcdTY1RURcdTY2MzFcdTY4MkZcdTcxNUNcdTdBMzZcdTkwQzFcdTk4MEFcdTRFOTFcdUY5QzVcdTZBNTJcdTZCOUVcdTZGOTBcdTcxODlcdTgwMThcdTgyQjhcdTg1NTNcIl0sXG5bXCJlYWExXCIsXCJcdTkwNEJcdTk2OTVcdTk2RjJcdTk3RkJcdTg1MUFcdTlCMzFcdTRFOTBcdTcxOEFcdTk2QzRcdTUxNDNcdTUzOUZcdTU0RTFcdTU3MTNcdTU3MTJcdTU3QTNcdTVBOUJcdTVBQzRcdTVCQzNcdTYwMjhcdTYxM0ZcdTYzRjRcdTZDODVcdTZEMzlcdTZFNzJcdTZFOTBcdTcyMzBcdTczM0ZcdTc0NTdcdTgyRDFcdTg4ODFcdThGNDVcdTkwNjBcdUY5QzZcdTk2NjJcdTk4NThcdTlEMUJcdTY3MDhcdThEOEFcdTkyNUVcdTRGNERcdTUwNDlcdTUwREVcdTUzNzFcdTU3MERcdTU5RDRcdTVBMDFcdTVDMDlcdTYxNzBcdTY2OTBcdTZFMkRcdTcyMzJcdTc0NEJcdTdERUZcdTgwQzNcdTg0MEVcdTg0NjZcdTg1M0ZcdTg3NUZcdTg4NUJcdTg5MThcdThCMDJcdTkwNTVcdTk3Q0JcdTlCNEZcdTRFNzNcdTRGOTFcdTUxMTJcdTUxNkFcdUY5QzdcdTU1MkZcdTU1QTlcdTVCN0FcdTVCQTVcdTVFN0NcdTVFN0RcdTVFQkVcdTYwQTBcdTYwREZcdTYxMDhcdTYxMDlcdTYzQzRcdTY1MzhcdTY3MDlcdUY5QzhcdTY3RDRcdTY3REFcdUY5QzlcdTY5NjFcdTY5NjJcdTZDQjlcdTZEMjdcdUY5Q0FcdTZFMzhcdUY5Q0JcIl0sXG5bXCJlYmExXCIsXCJcdTZGRTFcdTczMzZcdTczMzdcdUY5Q0NcdTc0NUNcdTc1MzFcdUY5Q0RcdTc2NTJcdUY5Q0VcdUY5Q0ZcdTdEQURcdTgxRkVcdTg0MzhcdTg4RDVcdThBOThcdThBREJcdThBRURcdThFMzBcdThFNDJcdTkwNEFcdTkwM0VcdTkwN0FcdTkxNDlcdTkxQzlcdTkzNkVcdUY5RDBcdUY5RDFcdTU4MDlcdUY5RDJcdTZCRDNcdTgwODlcdTgwQjJcdUY5RDNcdUY5RDRcdTUxNDFcdTU5NkJcdTVDMzlcdUY5RDVcdUY5RDZcdTZGNjRcdTczQTdcdTgwRTRcdThEMDdcdUY5RDdcdTkyMTdcdTk1OEZcdUY5RDhcdUY5RDlcdUY5REFcdUY5REJcdTgwN0ZcdTYyMEVcdTcwMUNcdTdENjhcdTg3OERcdUY5RENcdTU3QTBcdTYwNjlcdTYxNDdcdTZCQjdcdThBQkVcdTkyODBcdTk2QjFcdTRFNTlcdTU0MUZcdTZERUJcdTg1MkRcdTk2NzBcdTk3RjNcdTk4RUVcdTYzRDZcdTZDRTNcdTkwOTFcdTUxRERcdTYxQzlcdTgxQkFcdTlERjlcdTRGOURcdTUwMUFcdTUxMDBcdTVCOUNcdTYxMEZcdTYxRkZcdTY0RUNcdTY5MDVcdTZCQzVcdTc1OTFcdTc3RTNcdTdGQTlcdTgyNjRcdTg1OEZcdTg3RkJcdTg4NjNcdThBQkNcIl0sXG5bXCJlY2ExXCIsXCJcdThCNzBcdTkxQUJcdTRFOENcdTRFRTVcdTRGMEFcdUY5RERcdUY5REVcdTU5MzdcdTU5RThcdUY5REZcdTVERjJcdTVGMUJcdTVGNUJcdTYwMjFcdUY5RTBcdUY5RTFcdUY5RTJcdUY5RTNcdTcyM0VcdTczRTVcdUY5RTRcdTc1NzBcdTc1Q0RcdUY5RTVcdTc5RkJcdUY5RTZcdTgwMENcdTgwMzNcdTgwODRcdTgyRTFcdTgzNTFcdUY5RTdcdUY5RThcdThDQkRcdThDQjNcdTkwODdcdUY5RTlcdUY5RUFcdTk4RjRcdTk5MENcdUY5RUJcdUY5RUNcdTcwMzdcdTc2Q0FcdTdGQ0FcdTdGQ0NcdTdGRkNcdThCMUFcdTRFQkFcdTRFQzFcdTUyMDNcdTUzNzBcdUY5RURcdTU0QkRcdTU2RTBcdTU5RkJcdTVCQzVcdTVGMTVcdTVGQ0RcdTZFNkVcdUY5RUVcdUY5RUZcdTdENkFcdTgzMzVcdUY5RjBcdTg2OTNcdThBOERcdUY5RjFcdTk3NkRcdTk3NzdcdUY5RjJcdUY5RjNcdTRFMDBcdTRGNUFcdTRGN0VcdTU4RjlcdTY1RTVcdTZFQTJcdTkwMzhcdTkzQjBcdTk5QjlcdTRFRkJcdTU4RUNcdTU5OEFcdTU5RDlcdTYwNDFcdUY5RjRcdUY5RjVcdTdBMTRcdUY5RjZcdTgzNEZcdThDQzNcdTUxNjVcdTUzNDRcIl0sXG5bXCJlZGExXCIsXCJcdUY5RjdcdUY5RjhcdUY5RjlcdTRFQ0RcdTUyNjlcdTVCNTVcdTgyQkZcdTRFRDRcdTUyM0FcdTU0QThcdTU5QzlcdTU5RkZcdTVCNTBcdTVCNTdcdTVCNUNcdTYwNjNcdTYxNDhcdTZFQ0JcdTcwOTlcdTcxNkVcdTczODZcdTc0RjdcdTc1QjVcdTc4QzFcdTdEMkJcdTgwMDVcdTgxRUFcdTgzMjhcdTg1MTdcdTg1QzlcdThBRUVcdThDQzdcdTk2Q0NcdTRGNUNcdTUyRkFcdTU2QkNcdTY1QUJcdTY2MjhcdTcwN0NcdTcwQjhcdTcyMzVcdTdEQkRcdTgyOERcdTkxNENcdTk2QzBcdTlENzJcdTVCNzFcdTY4RTdcdTZCOThcdTZGN0FcdTc2REVcdTVDOTFcdTY2QUJcdTZGNUJcdTdCQjRcdTdDMkFcdTg4MzZcdTk2RENcdTRFMDhcdTRFRDdcdTUzMjBcdTU4MzRcdTU4QkJcdTU4RUZcdTU5NkNcdTVDMDdcdTVFMzNcdTVFODRcdTVGMzVcdTYzOENcdTY2QjJcdTY3NTZcdTZBMUZcdTZBQTNcdTZCMENcdTZGM0ZcdTcyNDZcdUY5RkFcdTczNTBcdTc0OEJcdTdBRTBcdTdDQTdcdTgxNzhcdTgxREZcdTgxRTdcdTgzOEFcdTg0NkNcdTg1MjNcdTg1OTRcdTg1Q0ZcdTg4RERcdThEMTNcdTkxQUNcdTk1NzdcIl0sXG5bXCJlZWExXCIsXCJcdTk2OUNcdTUxOERcdTU0QzlcdTU3MjhcdTVCQjBcdTYyNERcdTY3NTBcdTY4M0RcdTY4OTNcdTZFM0RcdTZFRDNcdTcwN0RcdTdFMjFcdTg4QzFcdThDQTFcdThGMDlcdTlGNEJcdTlGNEVcdTcyMkRcdTdCOEZcdThBQ0RcdTkzMUFcdTRGNDdcdTRGNEVcdTUxMzJcdTU0ODBcdTU5RDBcdTVFOTVcdTYyQjVcdTY3NzVcdTY5NkVcdTZBMTdcdTZDQUVcdTZFMUFcdTcyRDlcdTczMkFcdTc1QkRcdTdCQjhcdTdEMzVcdTgyRTdcdTgzRjlcdTg0NTdcdTg1RjdcdThBNUJcdThDQUZcdThFODdcdTkwMTlcdTkwQjhcdTk2Q0VcdTlGNUZcdTUyRTNcdTU0MEFcdTVBRTFcdTVCQzJcdTY0NThcdTY1NzVcdTZFRjRcdTcyQzRcdUY5RkJcdTc2ODRcdTdBNERcdTdCMUJcdTdDNERcdTdFM0VcdTdGREZcdTgzN0JcdThCMkJcdThDQ0FcdThENjRcdThERTFcdThFNUZcdThGRUFcdThGRjlcdTkwNjlcdTkzRDFcdTRGNDNcdTRGN0FcdTUwQjNcdTUxNjhcdTUxNzhcdTUyNERcdTUyNkFcdTU4NjFcdTU4N0NcdTU5NjBcdTVDMDhcdTVDNTVcdTVFREJcdTYwOUJcdTYyMzBcdTY4MTNcdTZCQkZcdTZDMDhcdTZGQjFcIl0sXG5bXCJlZmExXCIsXCJcdTcxNEVcdTc0MjBcdTc1MzBcdTc1MzhcdTc1NTFcdTc2NzJcdTdCNENcdTdCOEJcdTdCQURcdTdCQzZcdTdFOEZcdThBNkVcdThGM0VcdThGNDlcdTkyM0ZcdTkyOTNcdTkzMjJcdTk0MkJcdTk2RkJcdTk4NUFcdTk4NkJcdTk5MUVcdTUyMDdcdTYyMkFcdTYyOThcdTZENTlcdTc2NjRcdTdBQ0FcdTdCQzBcdTdENzZcdTUzNjBcdTVDQkVcdTVFOTdcdTZGMzhcdTcwQjlcdTdDOThcdTk3MTFcdTlCOEVcdTlFREVcdTYzQTVcdTY0N0FcdTg3NzZcdTRFMDFcdTRFOTVcdTRFQURcdTUwNUNcdTUwNzVcdTU0NDhcdTU5QzNcdTVCOUFcdTVFNDBcdTVFQURcdTVFRjdcdTVGODFcdTYwQzVcdTYzM0FcdTY1M0ZcdTY1NzRcdTY1Q0NcdTY2NzZcdTY2NzhcdTY3RkVcdTY5NjhcdTZBODlcdTZCNjNcdTZDNDBcdTZEQzBcdTZERThcdTZFMUZcdTZFNUVcdTcwMUVcdTcwQTFcdTczOEVcdTczRkRcdTc1M0FcdTc3NUJcdTc4ODdcdTc5OEVcdTdBMEJcdTdBN0RcdTdDQkVcdTdEOEVcdTgyNDdcdThBMDJcdThBRUFcdThDOUVcdTkxMkRcdTkxNEFcdTkxRDhcdTkyNjZcdTkyQ0NcdTkzMjBcdTk3MDZcdTk3NTZcIl0sXG5bXCJmMGExXCIsXCJcdTk3NUNcdTk4MDJcdTlGMEVcdTUyMzZcdTUyOTFcdTU1N0NcdTU4MjRcdTVFMURcdTVGMUZcdTYwOENcdTYzRDBcdTY4QUZcdTZGREZcdTc5NkRcdTdCMkNcdTgxQ0RcdTg1QkFcdTg4RkRcdThBRjhcdThFNDRcdTkxOERcdTk2NjRcdTk2OUJcdTk3M0RcdTk4NENcdTlGNEFcdTRGQ0VcdTUxNDZcdTUxQ0JcdTUyQTlcdTU2MzJcdTVGMTRcdTVGNkJcdTYzQUFcdTY0Q0RcdTY1RTlcdTY2NDFcdTY2RkFcdTY2RjlcdTY3MURcdTY4OURcdTY4RDdcdTY5RkRcdTZGMTVcdTZGNkVcdTcxNjdcdTcxRTVcdTcyMkFcdTc0QUFcdTc3M0FcdTc5NTZcdTc5NUFcdTc5REZcdTdBMjBcdTdBOTVcdTdDOTdcdTdDREZcdTdENDRcdTdFNzBcdTgwODdcdTg1RkJcdTg2QTRcdThBNTRcdThBQkZcdThEOTlcdThFODFcdTkwMjBcdTkwNkRcdTkxRTNcdTk2M0JcdTk2RDVcdTlDRTVcdTY1Q0ZcdTdDMDdcdThEQjNcdTkzQzNcdTVCNThcdTVDMEFcdTUzNTJcdTYyRDlcdTczMURcdTUwMjdcdTVCOTdcdTVGOUVcdTYwQjBcdTYxNkJcdTY4RDVcdTZERDlcdTc0MkVcdTdBMkVcdTdENDJcdTdEOUNcdTdFMzFcdTgxNkJcIl0sXG5bXCJmMWExXCIsXCJcdThFMkFcdThFMzVcdTkzN0VcdTk0MThcdTRGNTBcdTU3NTBcdTVERTZcdTVFQTdcdTYzMkJcdTdGNkFcdTRFM0JcdTRGNEZcdTRGOEZcdTUwNUFcdTU5RERcdTgwQzRcdTU0NkFcdTU0NjhcdTU1RkVcdTU5NEZcdTVCOTlcdTVEREVcdTVFREFcdTY2NURcdTY3MzFcdTY3RjFcdTY4MkFcdTZDRThcdTZEMzJcdTZFNEFcdTZGOERcdTcwQjdcdTczRTBcdTc1ODdcdTdDNENcdTdEMDJcdTdEMkNcdTdEQTJcdTgyMUZcdTg2REJcdThBM0JcdThBODVcdThENzBcdThFOEFcdThGMzNcdTkwMzFcdTkxNEVcdTkxNTJcdTk0NDRcdTk5RDBcdTdBRjlcdTdDQTVcdTRGQ0FcdTUxMDFcdTUxQzZcdTU3QzhcdTVCRUZcdTVDRkJcdTY2NTlcdTZBM0RcdTZENUFcdTZFOTZcdTZGRUNcdTcxMENcdTc1NkZcdTdBRTNcdTg4MjJcdTkwMjFcdTkwNzVcdTk2Q0JcdTk5RkZcdTgzMDFcdTRFMkRcdTRFRjJcdTg4NDZcdTkxQ0RcdTUzN0RcdTZBREJcdTY5NkJcdTZDNDFcdTg0N0FcdTU4OUVcdTYxOEVcdTY2RkVcdTYyRUZcdTcwRERcdTc1MTFcdTc1QzdcdTdFNTJcdTg0QjhcdThCNDlcdThEMDhcdTRFNEJcdTUzRUFcIl0sXG5bXCJmMmExXCIsXCJcdTU0QUJcdTU3MzBcdTU3NDBcdTVGRDdcdTYzMDFcdTYzMDdcdTY0NkZcdTY1MkZcdTY1RThcdTY2N0FcdTY3OURcdTY3QjNcdTZCNjJcdTZDNjBcdTZDOUFcdTZGMkNcdTc3RTVcdTc4MjVcdTc5NDlcdTc5NTdcdTdEMTlcdTgwQTJcdTgxMDJcdTgxRjNcdTgyOURcdTgyQjdcdTg3MThcdThBOENcdUY5RkNcdThEMDRcdThEQkVcdTkwNzJcdTc2RjRcdTdBMTlcdTdBMzdcdTdFNTRcdTgwNzdcdTU1MDdcdTU1RDRcdTU4NzVcdTYzMkZcdTY0MjJcdTY2NDlcdTY2NEJcdTY4NkRcdTY5OUJcdTZCODRcdTZEMjVcdTZFQjFcdTczQ0RcdTc0NjhcdTc0QTFcdTc1NUJcdTc1QjlcdTc2RTFcdTc3MUVcdTc3OEJcdTc5RTZcdTdFMDlcdTdFMURcdTgxRkJcdTg1MkZcdTg4OTdcdThBM0FcdThDRDFcdThFRUJcdThGQjBcdTkwMzJcdTkzQURcdTk2NjNcdTk2NzNcdTk3MDdcdTRGODRcdTUzRjFcdTU5RUFcdTVBQzlcdTVFMTlcdTY4NEVcdTc0QzZcdTc1QkVcdTc5RTlcdTdBOTJcdTgxQTNcdTg2RURcdThDRUFcdThEQ0NcdThGRURcdTY1OUZcdTY3MTVcdUY5RkRcdTU3RjdcdTZGNTdcdTdERERcdThGMkZcIl0sXG5bXCJmM2ExXCIsXCJcdTkzRjZcdTk2QzZcdTVGQjVcdTYxRjJcdTZGODRcdTRFMTRcdTRGOThcdTUwMUZcdTUzQzlcdTU1REZcdTVENkZcdTVERUVcdTZCMjFcdTZCNjRcdTc4Q0JcdTdCOUFcdUY5RkVcdThFNDlcdThFQ0FcdTkwNkVcdTYzNDlcdTY0M0VcdTc3NDBcdTdBODRcdTkzMkZcdTk0N0ZcdTlGNkFcdTY0QjBcdTZGQUZcdTcxRTZcdTc0QThcdTc0REFcdTdBQzRcdTdDMTJcdTdFODJcdTdDQjJcdTdFOThcdThCOUFcdThEMEFcdTk0N0RcdTk5MTBcdTk5NENcdTUyMzlcdTVCREZcdTY0RTZcdTY3MkRcdTdEMkVcdTUwRURcdTUzQzNcdTU4NzlcdTYxNThcdTYxNTlcdTYxRkFcdTY1QUNcdTdBRDlcdThCOTJcdThCOTZcdTUwMDlcdTUwMjFcdTUyNzVcdTU1MzFcdTVBM0NcdTVFRTBcdTVGNzBcdTYxMzRcdTY1NUVcdTY2MENcdTY2MzZcdTY2QTJcdTY5Q0RcdTZFQzRcdTZGMzJcdTczMTZcdTc2MjFcdTdBOTNcdTgxMzlcdTgyNTlcdTgzRDZcdTg0QkNcdTUwQjVcdTU3RjBcdTVCQzBcdTVCRThcdTVGNjlcdTYzQTFcdTc4MjZcdTdEQjVcdTgzRENcdTg1MjFcdTkxQzdcdTkxRjVcdTUxOEFcdTY3RjVcdTdCNTZcIl0sXG5bXCJmNGExXCIsXCJcdThDQUNcdTUxQzRcdTU5QkJcdTYwQkRcdTg2NTVcdTUwMUNcdUY5RkZcdTUyNTRcdTVDM0FcdTYxN0RcdTYyMUFcdTYyRDNcdTY0RjJcdTY1QTVcdTZFQ0NcdTc2MjBcdTgxMEFcdThFNjBcdTk2NUZcdTk2QkJcdTRFREZcdTUzNDNcdTU1OThcdTU5MjlcdTVERERcdTY0QzVcdTZDQzlcdTZERkFcdTczOTRcdTdBN0ZcdTgyMUJcdTg1QTZcdThDRTRcdThFMTBcdTkwNzdcdTkxRTdcdTk1RTFcdTk2MjFcdTk3QzZcdTUxRjhcdTU0RjJcdTU1ODZcdTVGQjlcdTY0QTRcdTZGODhcdTdEQjRcdThGMUZcdThGNERcdTk0MzVcdTUwQzlcdTVDMTZcdTZDQkVcdTZERkJcdTc1MUJcdTc3QkJcdTdDM0RcdTdDNjRcdThBNzlcdThBQzJcdTU4MUVcdTU5QkVcdTVFMTZcdTYzNzdcdTcyNTJcdTc1OEFcdTc3NkJcdThBRENcdThDQkNcdThGMTJcdTVFRjNcdTY2NzRcdTZERjhcdTgwN0RcdTgzQzFcdThBQ0JcdTk3NTFcdTlCRDZcdUZBMDBcdTUyNDNcdTY2RkZcdTZEOTVcdTZFRUZcdTdERTBcdThBRTZcdTkwMkVcdTkwNUVcdTlBRDRcdTUyMURcdTUyN0ZcdTU0RThcdTYxOTRcdTYyODRcdTYyREJcdTY4QTJcIl0sXG5bXCJmNWExXCIsXCJcdTY5MTJcdTY5NUFcdTZBMzVcdTcwOTJcdTcxMjZcdTc4NURcdTc5MDFcdTc5MEVcdTc5RDJcdTdBMERcdTgwOTZcdTgyNzhcdTgyRDVcdTgzNDlcdTg1NDlcdThDODJcdThEODVcdTkxNjJcdTkxOEJcdTkxQUVcdTRGQzNcdTU2RDFcdTcxRURcdTc3RDdcdTg3MDBcdTg5RjhcdTVCRjhcdTVGRDZcdTY3NTFcdTkwQThcdTUzRTJcdTU4NUFcdTVCRjVcdTYwQTRcdTYxODFcdTY0NjBcdTdFM0RcdTgwNzBcdTg1MjVcdTkyODNcdTY0QUVcdTUwQUNcdTVEMTRcdTY3MDBcdTU4OUNcdTYyQkRcdTYzQThcdTY5MEVcdTY5NzhcdTZBMUVcdTZFNkJcdTc2QkFcdTc5Q0JcdTgyQkJcdTg0MjlcdThBQ0ZcdThEQThcdThGRkRcdTkxMTJcdTkxNEJcdTkxOUNcdTkzMTBcdTkzMThcdTkzOUFcdTk2REJcdTlBMzZcdTlDMERcdTRFMTFcdTc1NUNcdTc5NURcdTdBRkFcdTdCNTFcdTdCQzlcdTdFMkVcdTg0QzRcdThFNTlcdThFNzRcdThFRjhcdTkwMTBcdTY2MjVcdTY5M0ZcdTc0NDNcdTUxRkFcdTY3MkVcdTlFRENcdTUxNDVcdTVGRTBcdTZDOTZcdTg3RjJcdTg4NURcdTg4NzdcdTYwQjRcdTgxQjVcdTg0MDNcIl0sXG5bXCJmNmExXCIsXCJcdThEMDVcdTUzRDZcdTU0MzlcdTU2MzRcdTVBMzZcdTVDMzFcdTcwOEFcdTdGRTBcdTgwNUFcdTgxMDZcdTgxRURcdThEQTNcdTkxODlcdTlBNUZcdTlERjJcdTUwNzRcdTRFQzRcdTUzQTBcdTYwRkJcdTZFMkNcdTVDNjRcdTRGODhcdTUwMjRcdTU1RTRcdTVDRDlcdTVFNUZcdTYwNjVcdTY4OTRcdTZDQkJcdTZEQzRcdTcxQkVcdTc1RDRcdTc1RjRcdTc2NjFcdTdBMUFcdTdBNDlcdTdEQzdcdTdERkJcdTdGNkVcdTgxRjRcdTg2QTlcdThGMUNcdTk2QzlcdTk5QjNcdTlGNTJcdTUyNDdcdTUyQzVcdTk4RURcdTg5QUFcdTRFMDNcdTY3RDJcdTZGMDZcdTRGQjVcdTVCRTJcdTY3OTVcdTZDODhcdTZENzhcdTc0MUJcdTc4MjdcdTkxRERcdTkzN0NcdTg3QzRcdTc5RTRcdTdBMzFcdTVGRUJcdTRFRDZcdTU0QTRcdTU1M0VcdTU4QUVcdTU5QTVcdTYwRjBcdTYyNTNcdTYyRDZcdTY3MzZcdTY5NTVcdTgyMzVcdTk2NDBcdTk5QjFcdTk5RERcdTUwMkNcdTUzNTNcdTU1NDRcdTU3N0NcdUZBMDFcdTYyNThcdUZBMDJcdTY0RTJcdTY2NkJcdTY3RERcdTZGQzFcdTZGRUZcdTc0MjJcdTc0MzhcdThBMTdcIl0sXG5bXCJmN2ExXCIsXCJcdTk0MzhcdTU0NTFcdTU2MDZcdTU3NjZcdTVGNDhcdTYxOUFcdTZCNEVcdTcwNThcdTcwQURcdTdEQkJcdThBOTVcdTU5NkFcdTgxMkJcdTYzQTJcdTc3MDhcdTgwM0RcdThDQUFcdTU4NTRcdTY0MkRcdTY5QkJcdTVCOTVcdTVFMTFcdTZFNkZcdUZBMDNcdTg1NjlcdTUxNENcdTUzRjBcdTU5MkFcdTYwMjBcdTYxNEJcdTZCODZcdTZDNzBcdTZDRjBcdTdCMUVcdTgwQ0VcdTgyRDRcdThEQzZcdTkwQjBcdTk4QjFcdUZBMDRcdTY0QzdcdTZGQTRcdTY0OTFcdTY1MDRcdTUxNEVcdTU0MTBcdTU3MUZcdThBMEVcdTYxNUZcdTY4NzZcdUZBMDVcdTc1REJcdTdCNTJcdTdENzFcdTkwMUFcdTU4MDZcdTY5Q0NcdTgxN0ZcdTg5MkFcdTkwMDBcdTk4MzlcdTUwNzhcdTU5NTdcdTU5QUNcdTYyOTVcdTkwMEZcdTlCMkFcdTYxNURcdTcyNzlcdTk1RDZcdTU3NjFcdTVBNDZcdTVERjRcdTYyOEFcdTY0QURcdTY0RkFcdTY3NzdcdTZDRTJcdTZEM0VcdTcyMkNcdTc0MzZcdTc4MzRcdTdGNzdcdTgyQURcdThEREJcdTk4MTdcdTUyMjRcdTU3NDJcdTY3N0ZcdTcyNDhcdTc0RTNcdThDQTlcdThGQTZcdTkyMTFcIl0sXG5bXCJmOGExXCIsXCJcdTk2MkFcdTUxNkJcdTUzRURcdTYzNENcdTRGNjlcdTU1MDRcdTYwOTZcdTY1NTdcdTZDOUJcdTZEN0ZcdTcyNENcdTcyRkRcdTdBMTdcdTg5ODdcdThDOURcdTVGNkRcdTZGOEVcdTcwRjlcdTgxQThcdTYxMEVcdTRGQkZcdTUwNEZcdTYyNDFcdTcyNDdcdTdCQzdcdTdERThcdTdGRTlcdTkwNERcdTk3QURcdTlBMTlcdThDQjZcdTU3NkFcdTVFNzNcdTY3QjBcdTg0MERcdThBNTVcdTU0MjBcdTVCMTZcdTVFNjNcdTVFRTJcdTVGMEFcdTY1ODNcdTgwQkFcdTg1M0RcdTk1ODlcdTk2NUJcdTRGNDhcdTUzMDVcdTUzMERcdTUzMEZcdTU0ODZcdTU0RkFcdTU3MDNcdTVFMDNcdTYwMTZcdTYyOUJcdTYyQjFcdTYzNTVcdUZBMDZcdTZDRTFcdTZENjZcdTc1QjFcdTc4MzJcdTgwREVcdTgxMkZcdTgyREVcdTg0NjFcdTg0QjJcdTg4OERcdTg5MTJcdTkwMEJcdTkyRUFcdTk4RkRcdTlCOTFcdTVFNDVcdTY2QjRcdTY2RERcdTcwMTFcdTcyMDZcdUZBMDdcdTRGRjVcdTUyN0RcdTVGNkFcdTYxNTNcdTY3NTNcdTZBMTlcdTZGMDJcdTc0RTJcdTc5NjhcdTg4NjhcdThDNzlcdTk4QzdcdTk4QzRcdTlBNDNcIl0sXG5bXCJmOWExXCIsXCJcdTU0QzFcdTdBMUZcdTY5NTNcdThBRjdcdThDNEFcdTk4QThcdTk5QUVcdTVGN0NcdTYyQUJcdTc1QjJcdTc2QUVcdTg4QUJcdTkwN0ZcdTk2NDJcdTUzMzlcdTVGM0NcdTVGQzVcdTZDQ0NcdTczQ0NcdTc1NjJcdTc1OEJcdTdCNDZcdTgyRkVcdTk5OURcdTRFNEZcdTkwM0NcdTRFMEJcdTRGNTVcdTUzQTZcdTU5MEZcdTVFQzhcdTY2MzBcdTZDQjNcdTc0NTVcdTgzNzdcdTg3NjZcdThDQzBcdTkwNTBcdTk3MUVcdTlDMTVcdTU4RDFcdTVCNzhcdTg2NTBcdThCMTRcdTlEQjRcdTVCRDJcdTYwNjhcdTYwOERcdTY1RjFcdTZDNTdcdTZGMjJcdTZGQTNcdTcwMUFcdTdGNTVcdTdGRjBcdTk1OTFcdTk1OTJcdTk2NTBcdTk3RDNcdTUyNzJcdThGNDRcdTUxRkRcdTU0MkJcdTU0QjhcdTU1NjNcdTU1OEFcdTZBQkJcdTZEQjVcdTdERDhcdTgyNjZcdTkyOUNcdTk2NzdcdTlFNzlcdTU0MDhcdTU0QzhcdTc2RDJcdTg2RTRcdTk1QTRcdTk1RDRcdTk2NUNcdTRFQTJcdTRGMDlcdTU5RUVcdTVBRTZcdTVERjdcdTYwNTJcdTYyOTdcdTY3NkRcdTY4NDFcdTZDODZcdTZFMkZcdTdGMzhcdTgwOUJcdTgyMkFcIl0sXG5bXCJmYWExXCIsXCJcdUZBMDhcdUZBMDlcdTk4MDVcdTRFQTVcdTUwNTVcdTU0QjNcdTU3OTNcdTU5NUFcdTVCNjlcdTVCQjNcdTYxQzhcdTY5NzdcdTZENzdcdTcwMjNcdTg3RjlcdTg5RTNcdThBNzJcdThBRTdcdTkwODJcdTk5RURcdTlBQjhcdTUyQkVcdTY4MzhcdTUwMTZcdTVFNzhcdTY3NEZcdTgzNDdcdTg4NENcdTRFQUJcdTU0MTFcdTU2QUVcdTczRTZcdTkxMTVcdTk3RkZcdTk5MDlcdTk5NTdcdTk5OTlcdTU2NTNcdTU4OUZcdTg2NUJcdThBMzFcdTYxQjJcdTZBRjZcdTczN0JcdThFRDJcdTZCNDdcdTk2QUFcdTlBNTdcdTU5NTVcdTcyMDBcdThENkJcdTk3NjlcdTRGRDRcdTVDRjRcdTVGMjZcdTYxRjhcdTY2NUJcdTZDRUJcdTcwQUJcdTczODRcdTczQjlcdTczRkVcdTc3MjlcdTc3NERcdTdENDNcdTdENjJcdTdFMjNcdTgyMzdcdTg4NTJcdUZBMEFcdThDRTJcdTkyNDlcdTk4NkZcdTVCNTFcdTdBNzRcdTg4NDBcdTk4MDFcdTVBQ0NcdTRGRTBcdTUzNTRcdTU5M0VcdTVDRkRcdTYzM0VcdTZENzlcdTcyRjlcdTgxMDVcdTgxMDdcdTgzQTJcdTkyQ0ZcdTk4MzBcdTRFQThcdTUxNDRcdTUyMTFcdTU3OEJcIl0sXG5bXCJmYmExXCIsXCJcdTVGNjJcdTZDQzJcdTZFQ0VcdTcwMDVcdTcwNTBcdTcwQUZcdTcxOTJcdTczRTlcdTc0NjlcdTgzNEFcdTg3QTJcdTg4NjFcdTkwMDhcdTkwQTJcdTkzQTNcdTk5QThcdTUxNkVcdTVGNTdcdTYwRTBcdTYxNjdcdTY2QjNcdTg1NTlcdThFNEFcdTkxQUZcdTk3OEJcdTRFNEVcdTRFOTJcdTU0N0NcdTU4RDVcdTU4RkFcdTU5N0RcdTVDQjVcdTVGMjdcdTYyMzZcdTYyNDhcdTY2MEFcdTY2NjdcdTZCRUJcdTZENjlcdTZEQ0ZcdTZFNTZcdTZFRjhcdTZGOTRcdTZGRTBcdTZGRTlcdTcwNURcdTcyRDBcdTc0MjVcdTc0NUFcdTc0RTBcdTc2OTNcdTc5NUNcdTdDQ0FcdTdFMUVcdTgwRTFcdTgyQTZcdTg0NkJcdTg0QkZcdTg2NEVcdTg2NUZcdTg3NzRcdThCNzdcdThDNkFcdTkzQUNcdTk4MDBcdTk4NjVcdTYwRDFcdTYyMTZcdTkxNzdcdTVBNUFcdTY2MEZcdTZERjdcdTZFM0VcdTc0M0ZcdTlCNDJcdTVGRkRcdTYwREFcdTdCMEZcdTU0QzRcdTVGMThcdTZDNUVcdTZDRDNcdTZEMkFcdTcwRDhcdTdEMDVcdTg2NzlcdThBMENcdTlEM0JcdTUzMTZcdTU0OENcdTVCMDVcdTZBM0FcdTcwNkJcdTc1NzVcIl0sXG5bXCJmY2ExXCIsXCJcdTc5OERcdTc5QkVcdTgyQjFcdTgzRUZcdThBNzFcdThCNDFcdThDQThcdTk3NzRcdUZBMEJcdTY0RjRcdTY1MkJcdTc4QkFcdTc4QkJcdTdBNkJcdTRFMzhcdTU1OUFcdTU5NTBcdTVCQTZcdTVFN0JcdTYwQTNcdTYzREJcdTZCNjFcdTY2NjVcdTY4NTNcdTZFMTlcdTcxNjVcdTc0QjBcdTdEMDhcdTkwODRcdTlBNjlcdTlDMjVcdTZEM0JcdTZFRDFcdTczM0VcdThDNDFcdTk1Q0FcdTUxRjBcdTVFNENcdTVGQThcdTYwNERcdTYwRjZcdTYxMzBcdTYxNENcdTY2NDNcdTY2NDRcdTY5QTVcdTZDQzFcdTZFNUZcdTZFQzlcdTZGNjJcdTcxNENcdTc0OUNcdTc2ODdcdTdCQzFcdTdDMjdcdTgzNTJcdTg3NTdcdTkwNTFcdTk2OERcdTlFQzNcdTUzMkZcdTU2REVcdTVFRkJcdTVGOEFcdTYwNjJcdTYwOTRcdTYxRjdcdTY2NjZcdTY3MDNcdTZBOUNcdTZERUVcdTZGQUVcdTcwNzBcdTczNkFcdTdFNkFcdTgxQkVcdTgzMzRcdTg2RDRcdThBQThcdThDQzRcdTUyODNcdTczNzJcdTVCOTZcdTZBNkJcdTk0MDRcdTU0RUVcdTU2ODZcdTVCNURcdTY1NDhcdTY1ODVcdTY2QzlcdTY4OUZcdTZEOERcdTZEQzZcIl0sXG5bXCJmZGExXCIsXCJcdTcyM0JcdTgwQjRcdTkxNzVcdTlBNERcdTRGQUZcdTUwMTlcdTUzOUFcdTU0MEVcdTU0M0NcdTU1ODlcdTU1QzVcdTVFM0ZcdTVGOENcdTY3M0RcdTcxNjZcdTczRERcdTkwMDVcdTUyREJcdTUyRjNcdTU4NjRcdTU4Q0VcdTcxMDRcdTcxOEZcdTcxRkJcdTg1QjBcdThBMTNcdTY2ODhcdTg1QThcdTU1QTdcdTY2ODRcdTcxNEFcdTg0MzFcdTUzNDlcdTU1OTlcdTZCQzFcdTVGNTlcdTVGQkRcdTYzRUVcdTY2ODlcdTcxNDdcdThBRjFcdThGMURcdTlFQkVcdTRGMTFcdTY0M0FcdTcwQ0JcdTc1NjZcdTg2NjdcdTYwNjRcdThCNEVcdTlERjhcdTUxNDdcdTUxRjZcdTUzMDhcdTZEMzZcdTgwRjhcdTlFRDFcdTY2MTVcdTZCMjNcdTcwOThcdTc1RDVcdTU0MDNcdTVDNzlcdTdEMDdcdThBMTZcdTZCMjBcdTZCM0RcdTZCNDZcdTU0MzhcdTYwNzBcdTZEM0RcdTdGRDVcdTgyMDhcdTUwRDZcdTUxREVcdTU1OUNcdTU2NkJcdTU2Q0RcdTU5RUNcdTVCMDlcdTVFMENcdTYxOTlcdTYxOThcdTYyMzFcdTY2NUVcdTY2RTZcdTcxOTlcdTcxQjlcdTcxQkFcdTcyQTdcdTc5QTdcdTdBMDBcdTdGQjJcdThBNzBcIl1cbl1cbiIsICJbXG5bXCIwXCIsXCJcXHUwMDAwXCIsMTI3XSxcbltcImExNDBcIixcIlx1MzAwMFx1RkYwQ1x1MzAwMVx1MzAwMlx1RkYwRVx1MjAyN1x1RkYxQlx1RkYxQVx1RkYxRlx1RkYwMVx1RkUzMFx1MjAyNlx1MjAyNVx1RkU1MFx1RkU1MVx1RkU1Mlx1MDBCN1x1RkU1NFx1RkU1NVx1RkU1Nlx1RkU1N1x1RkY1Q1x1MjAxM1x1RkUzMVx1MjAxNFx1RkUzM1x1MjU3NFx1RkUzNFx1RkU0Rlx1RkYwOFx1RkYwOVx1RkUzNVx1RkUzNlx1RkY1Qlx1RkY1RFx1RkUzN1x1RkUzOFx1MzAxNFx1MzAxNVx1RkUzOVx1RkUzQVx1MzAxMFx1MzAxMVx1RkUzQlx1RkUzQ1x1MzAwQVx1MzAwQlx1RkUzRFx1RkUzRVx1MzAwOFx1MzAwOVx1RkUzRlx1RkU0MFx1MzAwQ1x1MzAwRFx1RkU0MVx1RkU0Mlx1MzAwRVx1MzAwRlx1RkU0M1x1RkU0NFx1RkU1OVx1RkU1QVwiXSxcbltcImExYTFcIixcIlx1RkU1Qlx1RkU1Q1x1RkU1RFx1RkU1RVx1MjAxOFx1MjAxOVx1MjAxQ1x1MjAxRFx1MzAxRFx1MzAxRVx1MjAzNVx1MjAzMlx1RkYwM1x1RkYwNlx1RkYwQVx1MjAzQlx1MDBBN1x1MzAwM1x1MjVDQlx1MjVDRlx1MjVCM1x1MjVCMlx1MjVDRVx1MjYwNlx1MjYwNVx1MjVDN1x1MjVDNlx1MjVBMVx1MjVBMFx1MjVCRFx1MjVCQ1x1MzJBM1x1MjEwNVx1MDBBRlx1RkZFM1x1RkYzRlx1MDJDRFx1RkU0OVx1RkU0QVx1RkU0RFx1RkU0RVx1RkU0Qlx1RkU0Q1x1RkU1Rlx1RkU2MFx1RkU2MVx1RkYwQlx1RkYwRFx1MDBEN1x1MDBGN1x1MDBCMVx1MjIxQVx1RkYxQ1x1RkYxRVx1RkYxRFx1MjI2Nlx1MjI2N1x1MjI2MFx1MjIxRVx1MjI1Mlx1MjI2MVx1RkU2MlwiLDQsXCJcdUZGNUVcdTIyMjlcdTIyMkFcdTIyQTVcdTIyMjBcdTIyMUZcdTIyQkZcdTMzRDJcdTMzRDFcdTIyMkJcdTIyMkVcdTIyMzVcdTIyMzRcdTI2NDBcdTI2NDJcdTIyOTVcdTIyOTlcdTIxOTFcdTIxOTNcdTIxOTBcdTIxOTJcdTIxOTZcdTIxOTdcdTIxOTlcdTIxOThcdTIyMjVcdTIyMjNcdUZGMEZcIl0sXG5bXCJhMjQwXCIsXCJcdUZGM0NcdTIyMTVcdUZFNjhcdUZGMDRcdUZGRTVcdTMwMTJcdUZGRTBcdUZGRTFcdUZGMDVcdUZGMjBcdTIxMDNcdTIxMDlcdUZFNjlcdUZFNkFcdUZFNkJcdTMzRDVcdTMzOUNcdTMzOURcdTMzOUVcdTMzQ0VcdTMzQTFcdTMzOEVcdTMzOEZcdTMzQzRcdTAwQjBcdTUxNTlcdTUxNUJcdTUxNUVcdTUxNURcdTUxNjFcdTUxNjNcdTU1RTdcdTc0RTlcdTdDQ0VcdTI1ODFcIiw3LFwiXHUyNThGXHUyNThFXHUyNThEXHUyNThDXHUyNThCXHUyNThBXHUyNTg5XHUyNTNDXHUyNTM0XHUyNTJDXHUyNTI0XHUyNTFDXHUyNTk0XHUyNTAwXHUyNTAyXHUyNTk1XHUyNTBDXHUyNTEwXHUyNTE0XHUyNTE4XHUyNTZEXCJdLFxuW1wiYTJhMVwiLFwiXHUyNTZFXHUyNTcwXHUyNTZGXHUyNTUwXHUyNTVFXHUyNTZBXHUyNTYxXHUyNUUyXHUyNUUzXHUyNUU1XHUyNUU0XHUyNTcxXHUyNTcyXHUyNTczXHVGRjEwXCIsOSxcIlx1MjE2MFwiLDksXCJcdTMwMjFcIiw4LFwiXHU1MzQxXHU1MzQ0XHU1MzQ1XHVGRjIxXCIsMjUsXCJcdUZGNDFcIiwyMV0sXG5bXCJhMzQwXCIsXCJcdUZGNTdcdUZGNThcdUZGNTlcdUZGNUFcdTAzOTFcIiwxNixcIlx1MDNBM1wiLDYsXCJcdTAzQjFcIiwxNixcIlx1MDNDM1wiLDYsXCJcdTMxMDVcIiwxMF0sXG5bXCJhM2ExXCIsXCJcdTMxMTBcIiwyNSxcIlx1MDJEOVx1MDJDOVx1MDJDQVx1MDJDN1x1MDJDQlwiXSxcbltcImEzZTFcIixcIlx1MjBBQ1wiXSxcbltcImE0NDBcIixcIlx1NEUwMFx1NEU1OVx1NEUwMVx1NEUwM1x1NEU0M1x1NEU1RFx1NEU4Nlx1NEU4Q1x1NEVCQVx1NTEzRlx1NTE2NVx1NTE2Qlx1NTFFMFx1NTIwMFx1NTIwMVx1NTI5Qlx1NTMxNVx1NTM0MVx1NTM1Q1x1NTNDOFx1NEUwOVx1NEUwQlx1NEUwOFx1NEUwQVx1NEUyQlx1NEUzOFx1NTFFMVx1NEU0NVx1NEU0OFx1NEU1Rlx1NEU1RVx1NEU4RVx1NEVBMVx1NTE0MFx1NTIwM1x1NTJGQVx1NTM0M1x1NTNDOVx1NTNFM1x1NTcxRlx1NThFQlx1NTkxNVx1NTkyN1x1NTk3M1x1NUI1MFx1NUI1MVx1NUI1M1x1NUJGOFx1NUMwRlx1NUMyMlx1NUMzOFx1NUM3MVx1NURERFx1NURFNVx1NURGMVx1NURGMlx1NURGM1x1NURGRVx1NUU3Mlx1NUVGRVx1NUYwQlx1NUYxM1x1NjI0RFwiXSxcbltcImE0YTFcIixcIlx1NEUxMVx1NEUxMFx1NEUwRFx1NEUyRFx1NEUzMFx1NEUzOVx1NEU0Qlx1NUMzOVx1NEU4OFx1NEU5MVx1NEU5NVx1NEU5Mlx1NEU5NFx1NEVBMlx1NEVDMVx1NEVDMFx1NEVDM1x1NEVDNlx1NEVDN1x1NEVDRFx1NEVDQVx1NEVDQlx1NEVDNFx1NTE0M1x1NTE0MVx1NTE2N1x1NTE2RFx1NTE2RVx1NTE2Q1x1NTE5N1x1NTFGNlx1NTIwNlx1NTIwN1x1NTIwOFx1NTJGQlx1NTJGRVx1NTJGRlx1NTMxNlx1NTMzOVx1NTM0OFx1NTM0N1x1NTM0NVx1NTM1RVx1NTM4NFx1NTNDQlx1NTNDQVx1NTNDRFx1NThFQ1x1NTkyOVx1NTkyQlx1NTkyQVx1NTkyRFx1NUI1NFx1NUMxMVx1NUMyNFx1NUMzQVx1NUM2Rlx1NURGNFx1NUU3Qlx1NUVGRlx1NUYxNFx1NUYxNVx1NUZDM1x1NjIwOFx1NjIzNlx1NjI0Qlx1NjI0RVx1NjUyRlx1NjU4N1x1NjU5N1x1NjVBNFx1NjVCOVx1NjVFNVx1NjZGMFx1NjcwOFx1NjcyOFx1NkIyMFx1NkI2Mlx1NkI3OVx1NkJDQlx1NkJENFx1NkJEQlx1NkMwRlx1NkMzNFx1NzA2Qlx1NzIyQVx1NzIzNlx1NzIzQlx1NzI0N1x1NzI1OVx1NzI1Qlx1NzJBQ1x1NzM4Qlx1NEUxOVwiXSxcbltcImE1NDBcIixcIlx1NEUxNlx1NEUxNVx1NEUxNFx1NEUxOFx1NEUzQlx1NEU0RFx1NEU0Rlx1NEU0RVx1NEVFNVx1NEVEOFx1NEVENFx1NEVENVx1NEVENlx1NEVEN1x1NEVFM1x1NEVFNFx1NEVEOVx1NEVERVx1NTE0NVx1NTE0NFx1NTE4OVx1NTE4QVx1NTFBQ1x1NTFGOVx1NTFGQVx1NTFGOFx1NTIwQVx1NTJBMFx1NTI5Rlx1NTMwNVx1NTMwNlx1NTMxN1x1NTMxRFx1NEVERlx1NTM0QVx1NTM0OVx1NTM2MVx1NTM2MFx1NTM2Rlx1NTM2RVx1NTNCQlx1NTNFRlx1NTNFNFx1NTNGM1x1NTNFQ1x1NTNFRVx1NTNFOVx1NTNFOFx1NTNGQ1x1NTNGOFx1NTNGNVx1NTNFQlx1NTNFNlx1NTNFQVx1NTNGMlx1NTNGMVx1NTNGMFx1NTNFNVx1NTNFRFx1NTNGQlx1NTZEQlx1NTZEQVx1NTkxNlwiXSxcbltcImE1YTFcIixcIlx1NTkyRVx1NTkzMVx1NTk3NFx1NTk3Nlx1NUI1NVx1NUI4M1x1NUMzQ1x1NURFOFx1NURFN1x1NURFNlx1NUUwMlx1NUUwM1x1NUU3M1x1NUU3Q1x1NUYwMVx1NUYxOFx1NUYxN1x1NUZDNVx1NjIwQVx1NjI1M1x1NjI1NFx1NjI1Mlx1NjI1MVx1NjVBNVx1NjVFNlx1NjcyRVx1NjcyQ1x1NjcyQVx1NjcyQlx1NjcyRFx1NkI2M1x1NkJDRFx1NkMxMVx1NkMxMFx1NkMzOFx1NkM0MVx1NkM0MFx1NkMzRVx1NzJBRlx1NzM4NFx1NzM4OVx1NzREQ1x1NzRFNlx1NzUxOFx1NzUxRlx1NzUyOFx1NzUyOVx1NzUzMFx1NzUzMVx1NzUzMlx1NzUzM1x1NzU4Qlx1NzY3RFx1NzZBRVx1NzZCRlx1NzZFRVx1NzdEQlx1NzdFMlx1NzdGM1x1NzkzQVx1NzlCRVx1N0E3NFx1N0FDQlx1NEUxRVx1NEUxRlx1NEU1Mlx1NEU1M1x1NEU2OVx1NEU5OVx1NEVBNFx1NEVBNlx1NEVBNVx1NEVGRlx1NEYwOVx1NEYxOVx1NEYwQVx1NEYxNVx1NEYwRFx1NEYxMFx1NEYxMVx1NEYwRlx1NEVGMlx1NEVGNlx1NEVGQlx1NEVGMFx1NEVGM1x1NEVGRFx1NEYwMVx1NEYwQlx1NTE0OVx1NTE0N1x1NTE0Nlx1NTE0OFx1NTE2OFwiXSxcbltcImE2NDBcIixcIlx1NTE3MVx1NTE4RFx1NTFCMFx1NTIxN1x1NTIxMVx1NTIxMlx1NTIwRVx1NTIxNlx1NTJBM1x1NTMwOFx1NTMyMVx1NTMyMFx1NTM3MFx1NTM3MVx1NTQwOVx1NTQwRlx1NTQwQ1x1NTQwQVx1NTQxMFx1NTQwMVx1NTQwQlx1NTQwNFx1NTQxMVx1NTQwRFx1NTQwOFx1NTQwM1x1NTQwRVx1NTQwNlx1NTQxMlx1NTZFMFx1NTZERVx1NTZERFx1NTczM1x1NTczMFx1NTcyOFx1NTcyRFx1NTcyQ1x1NTcyRlx1NTcyOVx1NTkxOVx1NTkxQVx1NTkzN1x1NTkzOFx1NTk4NFx1NTk3OFx1NTk4M1x1NTk3RFx1NTk3OVx1NTk4Mlx1NTk4MVx1NUI1N1x1NUI1OFx1NUI4N1x1NUI4OFx1NUI4NVx1NUI4OVx1NUJGQVx1NUMxNlx1NUM3OVx1NURERVx1NUUwNlx1NUU3Nlx1NUU3NFwiXSxcbltcImE2YTFcIixcIlx1NUYwRlx1NUYxQlx1NUZEOVx1NUZENlx1NjIwRVx1NjIwQ1x1NjIwRFx1NjIxMFx1NjI2M1x1NjI1Qlx1NjI1OFx1NjUzNlx1NjVFOVx1NjVFOFx1NjVFQ1x1NjVFRFx1NjZGMlx1NjZGM1x1NjcwOVx1NjczRFx1NjczNFx1NjczMVx1NjczNVx1NkIyMVx1NkI2NFx1NkI3Qlx1NkMxNlx1NkM1RFx1NkM1N1x1NkM1OVx1NkM1Rlx1NkM2MFx1NkM1MFx1NkM1NVx1NkM2MVx1NkM1Qlx1NkM0RFx1NkM0RVx1NzA3MFx1NzI1Rlx1NzI1RFx1NzY3RVx1N0FGOVx1N0M3M1x1N0NGOFx1N0YzNlx1N0Y4QVx1N0ZCRFx1ODAwMVx1ODAwM1x1ODAwQ1x1ODAxMlx1ODAzM1x1ODA3Rlx1ODA4OVx1ODA4Qlx1ODA4Q1x1ODFFM1x1ODFFQVx1ODFGM1x1ODFGQ1x1ODIwQ1x1ODIxQlx1ODIxRlx1ODI2RVx1ODI3Mlx1ODI3RVx1ODY2Qlx1ODg0MFx1ODg0Q1x1ODg2M1x1ODk3Rlx1OTYyMVx1NEUzMlx1NEVBOFx1NEY0RFx1NEY0Rlx1NEY0N1x1NEY1N1x1NEY1RVx1NEYzNFx1NEY1Qlx1NEY1NVx1NEYzMFx1NEY1MFx1NEY1MVx1NEYzRFx1NEYzQVx1NEYzOFx1NEY0M1x1NEY1NFx1NEYzQ1x1NEY0Nlx1NEY2M1wiXSxcbltcImE3NDBcIixcIlx1NEY1Q1x1NEY2MFx1NEYyRlx1NEY0RVx1NEYzNlx1NEY1OVx1NEY1RFx1NEY0OFx1NEY1QVx1NTE0Q1x1NTE0Qlx1NTE0RFx1NTE3NVx1NTFCNlx1NTFCN1x1NTIyNVx1NTIyNFx1NTIyOVx1NTIyQVx1NTIyOFx1NTJBQlx1NTJBOVx1NTJBQVx1NTJBQ1x1NTMyM1x1NTM3M1x1NTM3NVx1NTQxRFx1NTQyRFx1NTQxRVx1NTQzRVx1NTQyNlx1NTQ0RVx1NTQyN1x1NTQ0Nlx1NTQ0M1x1NTQzM1x1NTQ0OFx1NTQ0Mlx1NTQxQlx1NTQyOVx1NTQ0QVx1NTQzOVx1NTQzQlx1NTQzOFx1NTQyRVx1NTQzNVx1NTQzNlx1NTQyMFx1NTQzQ1x1NTQ0MFx1NTQzMVx1NTQyQlx1NTQxRlx1NTQyQ1x1NTZFQVx1NTZGMFx1NTZFNFx1NTZFQlx1NTc0QVx1NTc1MVx1NTc0MFx1NTc0RFwiXSxcbltcImE3YTFcIixcIlx1NTc0N1x1NTc0RVx1NTczRVx1NTc1MFx1NTc0Rlx1NTczQlx1NThFRlx1NTkzRVx1NTk5RFx1NTk5Mlx1NTlBOFx1NTk5RVx1NTlBM1x1NTk5OVx1NTk5Nlx1NTk4RFx1NTlBNFx1NTk5M1x1NTk4QVx1NTlBNVx1NUI1RFx1NUI1Q1x1NUI1QVx1NUI1Qlx1NUI4Q1x1NUI4Qlx1NUI4Rlx1NUMyQ1x1NUM0MFx1NUM0MVx1NUMzRlx1NUMzRVx1NUM5MFx1NUM5MVx1NUM5NFx1NUM4Q1x1NURFQlx1NUUwQ1x1NUU4Rlx1NUU4N1x1NUU4QVx1NUVGN1x1NUYwNFx1NUYxRlx1NUY2NFx1NUY2Mlx1NUY3N1x1NUY3OVx1NUZEOFx1NUZDQ1x1NUZEN1x1NUZDRFx1NUZGMVx1NUZFQlx1NUZGOFx1NUZFQVx1NjIxMlx1NjIxMVx1NjI4NFx1NjI5N1x1NjI5Nlx1NjI4MFx1NjI3Nlx1NjI4OVx1NjI2RFx1NjI4QVx1NjI3Q1x1NjI3RVx1NjI3OVx1NjI3M1x1NjI5Mlx1NjI2Rlx1NjI5OFx1NjI2RVx1NjI5NVx1NjI5M1x1NjI5MVx1NjI4Nlx1NjUzOVx1NjUzQlx1NjUzOFx1NjVGMVx1NjZGNFx1Njc1Rlx1Njc0RVx1Njc0Rlx1Njc1MFx1Njc1MVx1Njc1Q1x1Njc1Nlx1Njc1RVx1Njc0OVx1Njc0Nlx1Njc2MFwiXSxcbltcImE4NDBcIixcIlx1Njc1M1x1Njc1N1x1NkI2NVx1NkJDRlx1NkM0Mlx1NkM1RVx1NkM5OVx1NkM4MVx1NkM4OFx1NkM4OVx1NkM4NVx1NkM5Qlx1NkM2QVx1NkM3QVx1NkM5MFx1NkM3MFx1NkM4Q1x1NkM2OFx1NkM5Nlx1NkM5Mlx1NkM3RFx1NkM4M1x1NkM3Mlx1NkM3RVx1NkM3NFx1NkM4Nlx1NkM3Nlx1NkM4RFx1NkM5NFx1NkM5OFx1NkM4Mlx1NzA3Nlx1NzA3Q1x1NzA3RFx1NzA3OFx1NzI2Mlx1NzI2MVx1NzI2MFx1NzJDNFx1NzJDMlx1NzM5Nlx1NzUyQ1x1NzUyQlx1NzUzN1x1NzUzOFx1NzY4Mlx1NzZFRlx1NzdFM1x1NzlDMVx1NzlDMFx1NzlCRlx1N0E3Nlx1N0NGQlx1N0Y1NVx1ODA5Nlx1ODA5M1x1ODA5RFx1ODA5OFx1ODA5Qlx1ODA5QVx1ODBCMlx1ODI2Rlx1ODI5MlwiXSxcbltcImE4YTFcIixcIlx1ODI4Qlx1ODI4RFx1ODk4Qlx1ODlEMlx1OEEwMFx1OEMzN1x1OEM0Nlx1OEM1NVx1OEM5RFx1OEQ2NFx1OEQ3MFx1OERCM1x1OEVBQlx1OEVDQVx1OEY5Qlx1OEZCMFx1OEZDMlx1OEZDNlx1OEZDNVx1OEZDNFx1NURFMVx1OTA5MVx1OTBBMlx1OTBBQVx1OTBBNlx1OTBBM1x1OTE0OVx1OTFDNlx1OTFDQ1x1OTYzMlx1OTYyRVx1OTYzMVx1OTYyQVx1OTYyQ1x1NEUyNlx1NEU1Nlx1NEU3M1x1NEU4Qlx1NEU5Qlx1NEU5RVx1NEVBQlx1NEVBQ1x1NEY2Rlx1NEY5RFx1NEY4RFx1NEY3M1x1NEY3Rlx1NEY2Q1x1NEY5Qlx1NEY4Qlx1NEY4Nlx1NEY4M1x1NEY3MFx1NEY3NVx1NEY4OFx1NEY2OVx1NEY3Qlx1NEY5Nlx1NEY3RVx1NEY4Rlx1NEY5MVx1NEY3QVx1NTE1NFx1NTE1Mlx1NTE1NVx1NTE2OVx1NTE3N1x1NTE3Nlx1NTE3OFx1NTFCRFx1NTFGRFx1NTIzQlx1NTIzOFx1NTIzN1x1NTIzQVx1NTIzMFx1NTIyRVx1NTIzNlx1NTI0MVx1NTJCRVx1NTJCQlx1NTM1Mlx1NTM1NFx1NTM1M1x1NTM1MVx1NTM2Nlx1NTM3N1x1NTM3OFx1NTM3OVx1NTNENlx1NTNENFx1NTNEN1x1NTQ3M1x1NTQ3NVwiXSxcbltcImE5NDBcIixcIlx1NTQ5Nlx1NTQ3OFx1NTQ5NVx1NTQ4MFx1NTQ3Qlx1NTQ3N1x1NTQ4NFx1NTQ5Mlx1NTQ4Nlx1NTQ3Q1x1NTQ5MFx1NTQ3MVx1NTQ3Nlx1NTQ4Q1x1NTQ5QVx1NTQ2Mlx1NTQ2OFx1NTQ4Qlx1NTQ3RFx1NTQ4RVx1NTZGQVx1NTc4M1x1NTc3N1x1NTc2QVx1NTc2OVx1NTc2MVx1NTc2Nlx1NTc2NFx1NTc3Q1x1NTkxQ1x1NTk0OVx1NTk0N1x1NTk0OFx1NTk0NFx1NTk1NFx1NTlCRVx1NTlCQlx1NTlENFx1NTlCOVx1NTlBRVx1NTlEMVx1NTlDNlx1NTlEMFx1NTlDRFx1NTlDQlx1NTlEM1x1NTlDQVx1NTlBRlx1NTlCM1x1NTlEMlx1NTlDNVx1NUI1Rlx1NUI2NFx1NUI2M1x1NUI5N1x1NUI5QVx1NUI5OFx1NUI5Q1x1NUI5OVx1NUI5Qlx1NUMxQVx1NUM0OFx1NUM0NVwiXSxcbltcImE5YTFcIixcIlx1NUM0Nlx1NUNCN1x1NUNBMVx1NUNCOFx1NUNBOVx1NUNBQlx1NUNCMVx1NUNCM1x1NUUxOFx1NUUxQVx1NUUxNlx1NUUxNVx1NUUxQlx1NUUxMVx1NUU3OFx1NUU5QVx1NUU5N1x1NUU5Q1x1NUU5NVx1NUU5Nlx1NUVGNlx1NUYyNlx1NUYyN1x1NUYyOVx1NUY4MFx1NUY4MVx1NUY3Rlx1NUY3Q1x1NUZERFx1NUZFMFx1NUZGRFx1NUZGNVx1NUZGRlx1NjAwRlx1NjAxNFx1NjAyRlx1NjAzNVx1NjAxNlx1NjAyQVx1NjAxNVx1NjAyMVx1NjAyN1x1NjAyOVx1NjAyQlx1NjAxQlx1NjIxNlx1NjIxNVx1NjIzRlx1NjIzRVx1NjI0MFx1NjI3Rlx1NjJDOVx1NjJDQ1x1NjJDNFx1NjJCRlx1NjJDMlx1NjJCOVx1NjJEMlx1NjJEQlx1NjJBQlx1NjJEM1x1NjJENFx1NjJDQlx1NjJDOFx1NjJBOFx1NjJCRFx1NjJCQ1x1NjJEMFx1NjJEOVx1NjJDN1x1NjJDRFx1NjJCNVx1NjJEQVx1NjJCMVx1NjJEOFx1NjJENlx1NjJEN1x1NjJDNlx1NjJBQ1x1NjJDRVx1NjUzRVx1NjVBN1x1NjVCQ1x1NjVGQVx1NjYxNFx1NjYxM1x1NjYwQ1x1NjYwNlx1NjYwMlx1NjYwRVx1NjYwMFx1NjYwRlx1NjYxNVx1NjYwQVwiXSxcbltcImFhNDBcIixcIlx1NjYwN1x1NjcwRFx1NjcwQlx1Njc2RFx1Njc4Qlx1Njc5NVx1Njc3MVx1Njc5Q1x1Njc3M1x1Njc3N1x1Njc4N1x1Njc5RFx1Njc5N1x1Njc2Rlx1Njc3MFx1Njc3Rlx1Njc4OVx1Njc3RVx1Njc5MFx1Njc3NVx1Njc5QVx1Njc5M1x1Njc3Q1x1Njc2QVx1Njc3Mlx1NkIyM1x1NkI2Nlx1NkI2N1x1NkI3Rlx1NkMxM1x1NkMxQlx1NkNFM1x1NkNFOFx1NkNGM1x1NkNCMVx1NkNDQ1x1NkNFNVx1NkNCM1x1NkNCRFx1NkNCRVx1NkNCQ1x1NkNFMlx1NkNBQlx1NkNENVx1NkNEM1x1NkNCOFx1NkNDNFx1NkNCOVx1NkNDMVx1NkNBRVx1NkNEN1x1NkNDNVx1NkNGMVx1NkNCRlx1NkNCQlx1NkNFMVx1NkNEQlx1NkNDQVx1NkNBQ1x1NkNFRlx1NkNEQ1x1NkNENlx1NkNFMFwiXSxcbltcImFhYTFcIixcIlx1NzA5NVx1NzA4RVx1NzA5Mlx1NzA4QVx1NzA5OVx1NzIyQ1x1NzIyRFx1NzIzOFx1NzI0OFx1NzI2N1x1NzI2OVx1NzJDMFx1NzJDRVx1NzJEOVx1NzJEN1x1NzJEMFx1NzNBOVx1NzNBOFx1NzM5Rlx1NzNBQlx1NzNBNVx1NzUzRFx1NzU5RFx1NzU5OVx1NzU5QVx1NzY4NFx1NzZDMlx1NzZGMlx1NzZGNFx1NzdFNVx1NzdGRFx1NzkzRVx1Nzk0MFx1Nzk0MVx1NzlDOVx1NzlDOFx1N0E3QVx1N0E3OVx1N0FGQVx1N0NGRVx1N0Y1NFx1N0Y4Q1x1N0Y4Qlx1ODAwNVx1ODBCQVx1ODBBNVx1ODBBMlx1ODBCMVx1ODBBMVx1ODBBQlx1ODBBOVx1ODBCNFx1ODBBQVx1ODBBRlx1ODFFNVx1ODFGRVx1ODIwRFx1ODJCM1x1ODI5RFx1ODI5OVx1ODJBRFx1ODJCRFx1ODI5Rlx1ODJCOVx1ODJCMVx1ODJBQ1x1ODJBNVx1ODJBRlx1ODJCOFx1ODJBM1x1ODJCMFx1ODJCRVx1ODJCN1x1ODY0RVx1ODY3MVx1NTIxRFx1ODg2OFx1OEVDQlx1OEZDRVx1OEZENFx1OEZEMVx1OTBCNVx1OTBCOFx1OTBCMVx1OTBCNlx1OTFDN1x1OTFEMVx1OTU3N1x1OTU4MFx1OTYxQ1x1OTY0MFx1OTYzRlx1OTYzQlx1OTY0NFwiXSxcbltcImFiNDBcIixcIlx1OTY0Mlx1OTZCOVx1OTZFOFx1OTc1Mlx1OTc1RVx1NEU5Rlx1NEVBRFx1NEVBRVx1NEZFMVx1NEZCNVx1NEZBRlx1NEZCRlx1NEZFMFx1NEZEMVx1NEZDRlx1NEZERFx1NEZDM1x1NEZCNlx1NEZEOFx1NEZERlx1NEZDQVx1NEZEN1x1NEZBRVx1NEZEMFx1NEZDNFx1NEZDMlx1NEZEQVx1NEZDRVx1NEZERVx1NEZCN1x1NTE1N1x1NTE5Mlx1NTE5MVx1NTFBMFx1NTI0RVx1NTI0M1x1NTI0QVx1NTI0RFx1NTI0Q1x1NTI0Qlx1NTI0N1x1NTJDN1x1NTJDOVx1NTJDM1x1NTJDMVx1NTMwRFx1NTM1N1x1NTM3Qlx1NTM5QVx1NTNEQlx1NTRBQ1x1NTRDMFx1NTRBOFx1NTRDRVx1NTRDOVx1NTRCOFx1NTRBNlx1NTRCM1x1NTRDN1x1NTRDMlx1NTRCRFx1NTRBQVx1NTRDMVwiXSxcbltcImFiYTFcIixcIlx1NTRDNFx1NTRDOFx1NTRBRlx1NTRBQlx1NTRCMVx1NTRCQlx1NTRBOVx1NTRBN1x1NTRCRlx1NTZGRlx1NTc4Mlx1NTc4Qlx1NTdBMFx1NTdBM1x1NTdBMlx1NTdDRVx1NTdBRVx1NTc5M1x1NTk1NVx1NTk1MVx1NTk0Rlx1NTk0RVx1NTk1MFx1NTlEQ1x1NTlEOFx1NTlGRlx1NTlFM1x1NTlFOFx1NUEwM1x1NTlFNVx1NTlFQVx1NTlEQVx1NTlFNlx1NUEwMVx1NTlGQlx1NUI2OVx1NUJBM1x1NUJBNlx1NUJBNFx1NUJBMlx1NUJBNVx1NUMwMVx1NUM0RVx1NUM0Rlx1NUM0RFx1NUM0Qlx1NUNEOVx1NUNEMlx1NURGN1x1NUUxRFx1NUUyNVx1NUUxRlx1NUU3RFx1NUVBMFx1NUVBNlx1NUVGQVx1NUYwOFx1NUYyRFx1NUY2NVx1NUY4OFx1NUY4NVx1NUY4QVx1NUY4Qlx1NUY4N1x1NUY4Q1x1NUY4OVx1NjAxMlx1NjAxRFx1NjAyMFx1NjAyNVx1NjAwRVx1NjAyOFx1NjA0RFx1NjA3MFx1NjA2OFx1NjA2Mlx1NjA0Nlx1NjA0M1x1NjA2Q1x1NjA2Qlx1NjA2QVx1NjA2NFx1NjI0MVx1NjJEQ1x1NjMxNlx1NjMwOVx1NjJGQ1x1NjJFRFx1NjMwMVx1NjJFRVx1NjJGRFx1NjMwN1x1NjJGMVx1NjJGN1wiXSxcbltcImFjNDBcIixcIlx1NjJFRlx1NjJFQ1x1NjJGRVx1NjJGNFx1NjMxMVx1NjMwMlx1NjUzRlx1NjU0NVx1NjVBQlx1NjVCRFx1NjVFMlx1NjYyNVx1NjYyRFx1NjYyMFx1NjYyN1x1NjYyRlx1NjYxRlx1NjYyOFx1NjYzMVx1NjYyNFx1NjZGN1x1NjdGRlx1NjdEM1x1NjdGMVx1NjdENFx1NjdEMFx1NjdFQ1x1NjdCNlx1NjdBRlx1NjdGNVx1NjdFOVx1NjdFRlx1NjdDNFx1NjdEMVx1NjdCNFx1NjdEQVx1NjdFNVx1NjdCOFx1NjdDRlx1NjdERVx1NjdGM1x1NjdCMFx1NjdEOVx1NjdFMlx1NjdERFx1NjdEMlx1NkI2QVx1NkI4M1x1NkI4Nlx1NkJCNVx1NkJEMlx1NkJEN1x1NkMxRlx1NkNDOVx1NkQwQlx1NkQzMlx1NkQyQVx1NkQ0MVx1NkQyNVx1NkQwQ1x1NkQzMVx1NkQxRVx1NkQxN1wiXSxcbltcImFjYTFcIixcIlx1NkQzQlx1NkQzRFx1NkQzRVx1NkQzNlx1NkQxQlx1NkNGNVx1NkQzOVx1NkQyN1x1NkQzOFx1NkQyOVx1NkQyRVx1NkQzNVx1NkQwRVx1NkQyQlx1NzBBQlx1NzBCQVx1NzBCM1x1NzBBQ1x1NzBBRlx1NzBBRFx1NzBCOFx1NzBBRVx1NzBBNFx1NzIzMFx1NzI3Mlx1NzI2Rlx1NzI3NFx1NzJFOVx1NzJFMFx1NzJFMVx1NzNCN1x1NzNDQVx1NzNCQlx1NzNCMlx1NzNDRFx1NzNDMFx1NzNCM1x1NzUxQVx1NzUyRFx1NzU0Rlx1NzU0Q1x1NzU0RVx1NzU0Qlx1NzVBQlx1NzVBNFx1NzVBNVx1NzVBMlx1NzVBM1x1NzY3OFx1NzY4Nlx1NzY4N1x1NzY4OFx1NzZDOFx1NzZDNlx1NzZDM1x1NzZDNVx1NzcwMVx1NzZGOVx1NzZGOFx1NzcwOVx1NzcwQlx1NzZGRVx1NzZGQ1x1NzcwN1x1NzdEQ1x1NzgwMlx1NzgxNFx1NzgwQ1x1NzgwRFx1Nzk0Nlx1Nzk0OVx1Nzk0OFx1Nzk0N1x1NzlCOVx1NzlCQVx1NzlEMVx1NzlEMlx1NzlDQlx1N0E3Rlx1N0E4MVx1N0FGRlx1N0FGRFx1N0M3RFx1N0QwMlx1N0QwNVx1N0QwMFx1N0QwOVx1N0QwN1x1N0QwNFx1N0QwNlx1N0YzOFx1N0Y4RVx1N0ZCRlx1ODAwNFwiXSxcbltcImFkNDBcIixcIlx1ODAxMFx1ODAwRFx1ODAxMVx1ODAzNlx1ODBENlx1ODBFNVx1ODBEQVx1ODBDM1x1ODBDNFx1ODBDQ1x1ODBFMVx1ODBEQlx1ODBDRVx1ODBERVx1ODBFNFx1ODBERFx1ODFGNFx1ODIyMlx1ODJFN1x1ODMwM1x1ODMwNVx1ODJFM1x1ODJEQlx1ODJFNlx1ODMwNFx1ODJFNVx1ODMwMlx1ODMwOVx1ODJEMlx1ODJEN1x1ODJGMVx1ODMwMVx1ODJEQ1x1ODJENFx1ODJEMVx1ODJERVx1ODJEM1x1ODJERlx1ODJFRlx1ODMwNlx1ODY1MFx1ODY3OVx1ODY3Qlx1ODY3QVx1ODg0RFx1ODg2Qlx1ODk4MVx1ODlENFx1OEEwOFx1OEEwMlx1OEEwM1x1OEM5RVx1OENBMFx1OEQ3NFx1OEQ3M1x1OERCNFx1OEVDRFx1OEVDQ1x1OEZGMFx1OEZFNlx1OEZFMlx1OEZFQVx1OEZFNVwiXSxcbltcImFkYTFcIixcIlx1OEZFRFx1OEZFQlx1OEZFNFx1OEZFOFx1OTBDQVx1OTBDRVx1OTBDMVx1OTBDM1x1OTE0Qlx1OTE0QVx1OTFDRFx1OTU4Mlx1OTY1MFx1OTY0Qlx1OTY0Q1x1OTY0RFx1OTc2Mlx1OTc2OVx1OTdDQlx1OTdFRFx1OTdGM1x1OTgwMVx1OThBOFx1OThEQlx1OThERlx1OTk5Nlx1OTk5OVx1NEU1OFx1NEVCM1x1NTAwQ1x1NTAwRFx1NTAyM1x1NEZFRlx1NTAyNlx1NTAyNVx1NEZGOFx1NTAyOVx1NTAxNlx1NTAwNlx1NTAzQ1x1NTAxRlx1NTAxQVx1NTAxMlx1NTAxMVx1NEZGQVx1NTAwMFx1NTAxNFx1NTAyOFx1NEZGMVx1NTAyMVx1NTAwQlx1NTAxOVx1NTAxOFx1NEZGM1x1NEZFRVx1NTAyRFx1NTAyQVx1NEZGRVx1NTAyQlx1NTAwOVx1NTE3Q1x1NTFBNFx1NTFBNVx1NTFBMlx1NTFDRFx1NTFDQ1x1NTFDNlx1NTFDQlx1NTI1Nlx1NTI1Q1x1NTI1NFx1NTI1Qlx1NTI1RFx1NTMyQVx1NTM3Rlx1NTM5Rlx1NTM5RFx1NTNERlx1NTRFOFx1NTUxMFx1NTUwMVx1NTUzN1x1NTRGQ1x1NTRFNVx1NTRGMlx1NTUwNlx1NTRGQVx1NTUxNFx1NTRFOVx1NTRFRFx1NTRFMVx1NTUwOVx1NTRFRVx1NTRFQVwiXSxcbltcImFlNDBcIixcIlx1NTRFNlx1NTUyN1x1NTUwN1x1NTRGRFx1NTUwRlx1NTcwM1x1NTcwNFx1NTdDMlx1NTdENFx1NTdDQlx1NTdDM1x1NTgwOVx1NTkwRlx1NTk1N1x1NTk1OFx1NTk1QVx1NUExMVx1NUExOFx1NUExQ1x1NUExRlx1NUExQlx1NUExM1x1NTlFQ1x1NUEyMFx1NUEyM1x1NUEyOVx1NUEyNVx1NUEwQ1x1NUEwOVx1NUI2Qlx1NUM1OFx1NUJCMFx1NUJCM1x1NUJCNlx1NUJCNFx1NUJBRVx1NUJCNVx1NUJCOVx1NUJCOFx1NUMwNFx1NUM1MVx1NUM1NVx1NUM1MFx1NUNFRFx1NUNGRFx1NUNGQlx1NUNFQVx1NUNFOFx1NUNGMFx1NUNGNlx1NUQwMVx1NUNGNFx1NURFRVx1NUUyRFx1NUUyQlx1NUVBQlx1NUVBRFx1NUVBN1x1NUYzMVx1NUY5Mlx1NUY5MVx1NUY5MFx1NjA1OVwiXSxcbltcImFlYTFcIixcIlx1NjA2M1x1NjA2NVx1NjA1MFx1NjA1NVx1NjA2RFx1NjA2OVx1NjA2Rlx1NjA4NFx1NjA5Rlx1NjA5QVx1NjA4RFx1NjA5NFx1NjA4Q1x1NjA4NVx1NjA5Nlx1NjI0N1x1NjJGM1x1NjMwOFx1NjJGRlx1NjM0RVx1NjMzRVx1NjMyRlx1NjM1NVx1NjM0Mlx1NjM0Nlx1NjM0Rlx1NjM0OVx1NjMzQVx1NjM1MFx1NjMzRFx1NjMyQVx1NjMyQlx1NjMyOFx1NjM0RFx1NjM0Q1x1NjU0OFx1NjU0OVx1NjU5OVx1NjVDMVx1NjVDNVx1NjY0Mlx1NjY0OVx1NjY0Rlx1NjY0M1x1NjY1Mlx1NjY0Q1x1NjY0NVx1NjY0MVx1NjZGOFx1NjcxNFx1NjcxNVx1NjcxN1x1NjgyMVx1NjgzOFx1Njg0OFx1Njg0Nlx1Njg1M1x1NjgzOVx1Njg0Mlx1Njg1NFx1NjgyOVx1NjhCM1x1NjgxN1x1Njg0Q1x1Njg1MVx1NjgzRFx1NjdGNFx1Njg1MFx1Njg0MFx1NjgzQ1x1Njg0M1x1NjgyQVx1Njg0NVx1NjgxM1x1NjgxOFx1Njg0MVx1NkI4QVx1NkI4OVx1NkJCN1x1NkMyM1x1NkMyN1x1NkMyOFx1NkMyNlx1NkMyNFx1NkNGMFx1NkQ2QVx1NkQ5NVx1NkQ4OFx1NkQ4N1x1NkQ2Nlx1NkQ3OFx1NkQ3N1x1NkQ1OVx1NkQ5M1wiXSxcbltcImFmNDBcIixcIlx1NkQ2Q1x1NkQ4OVx1NkQ2RVx1NkQ1QVx1NkQ3NFx1NkQ2OVx1NkQ4Q1x1NkQ4QVx1NkQ3OVx1NkQ4NVx1NkQ2NVx1NkQ5NFx1NzBDQVx1NzBEOFx1NzBFNFx1NzBEOVx1NzBDOFx1NzBDRlx1NzIzOVx1NzI3OVx1NzJGQ1x1NzJGOVx1NzJGRFx1NzJGOFx1NzJGN1x1NzM4Nlx1NzNFRFx1NzQwOVx1NzNFRVx1NzNFMFx1NzNFQVx1NzNERVx1NzU1NFx1NzU1RFx1NzU1Q1x1NzU1QVx1NzU1OVx1NzVCRVx1NzVDNVx1NzVDN1x1NzVCMlx1NzVCM1x1NzVCRFx1NzVCQ1x1NzVCOVx1NzVDMlx1NzVCOFx1NzY4Qlx1NzZCMFx1NzZDQVx1NzZDRFx1NzZDRVx1NzcyOVx1NzcxRlx1NzcyMFx1NzcyOFx1NzdFOVx1NzgzMFx1NzgyN1x1NzgzOFx1NzgxRFx1NzgzNFx1NzgzN1wiXSxcbltcImFmYTFcIixcIlx1NzgyNVx1NzgyRFx1NzgyMFx1NzgxRlx1NzgzMlx1Nzk1NVx1Nzk1MFx1Nzk2MFx1Nzk1Rlx1Nzk1Nlx1Nzk1RVx1Nzk1RFx1Nzk1N1x1Nzk1QVx1NzlFNFx1NzlFM1x1NzlFN1x1NzlERlx1NzlFNlx1NzlFOVx1NzlEOFx1N0E4NFx1N0E4OFx1N0FEOVx1N0IwNlx1N0IxMVx1N0M4OVx1N0QyMVx1N0QxN1x1N0QwQlx1N0QwQVx1N0QyMFx1N0QyMlx1N0QxNFx1N0QxMFx1N0QxNVx1N0QxQVx1N0QxQ1x1N0QwRFx1N0QxOVx1N0QxQlx1N0YzQVx1N0Y1Rlx1N0Y5NFx1N0ZDNVx1N0ZDMVx1ODAwNlx1ODAxOFx1ODAxNVx1ODAxOVx1ODAxN1x1ODAzRFx1ODAzRlx1ODBGMVx1ODEwMlx1ODBGMFx1ODEwNVx1ODBFRFx1ODBGNFx1ODEwNlx1ODBGOFx1ODBGM1x1ODEwOFx1ODBGRFx1ODEwQVx1ODBGQ1x1ODBFRlx1ODFFRFx1ODFFQ1x1ODIwMFx1ODIxMFx1ODIyQVx1ODIyQlx1ODIyOFx1ODIyQ1x1ODJCQlx1ODMyQlx1ODM1Mlx1ODM1NFx1ODM0QVx1ODMzOFx1ODM1MFx1ODM0OVx1ODMzNVx1ODMzNFx1ODM0Rlx1ODMzMlx1ODMzOVx1ODMzNlx1ODMxN1x1ODM0MFx1ODMzMVx1ODMyOFx1ODM0M1wiXSxcbltcImIwNDBcIixcIlx1ODY1NFx1ODY4QVx1ODZBQVx1ODY5M1x1ODZBNFx1ODZBOVx1ODY4Q1x1ODZBM1x1ODY5Q1x1ODg3MFx1ODg3N1x1ODg4MVx1ODg4Mlx1ODg3RFx1ODg3OVx1OEExOFx1OEExMFx1OEEwRVx1OEEwQ1x1OEExNVx1OEEwQVx1OEExN1x1OEExM1x1OEExNlx1OEEwRlx1OEExMVx1OEM0OFx1OEM3QVx1OEM3OVx1OENBMVx1OENBMlx1OEQ3N1x1OEVBQ1x1OEVEMlx1OEVENFx1OEVDRlx1OEZCMVx1OTAwMVx1OTAwNlx1OEZGN1x1OTAwMFx1OEZGQVx1OEZGNFx1OTAwM1x1OEZGRFx1OTAwNVx1OEZGOFx1OTA5NVx1OTBFMVx1OTBERFx1OTBFMlx1OTE1Mlx1OTE0RFx1OTE0Q1x1OTFEOFx1OTFERFx1OTFEN1x1OTFEQ1x1OTFEOVx1OTU4M1x1OTY2Mlx1OTY2M1x1OTY2MVwiXSxcbltcImIwYTFcIixcIlx1OTY1Qlx1OTY1RFx1OTY2NFx1OTY1OFx1OTY1RVx1OTZCQlx1OThFMlx1OTlBQ1x1OUFBOFx1OUFEOFx1OUIyNVx1OUIzMlx1OUIzQ1x1NEU3RVx1NTA3QVx1NTA3RFx1NTA1Q1x1NTA0N1x1NTA0M1x1NTA0Q1x1NTA1QVx1NTA0OVx1NTA2NVx1NTA3Nlx1NTA0RVx1NTA1NVx1NTA3NVx1NTA3NFx1NTA3N1x1NTA0Rlx1NTAwRlx1NTA2Rlx1NTA2RFx1NTE1Q1x1NTE5NVx1NTFGMFx1NTI2QVx1NTI2Rlx1NTJEMlx1NTJEOVx1NTJEOFx1NTJENVx1NTMxMFx1NTMwRlx1NTMxOVx1NTMzRlx1NTM0MFx1NTMzRVx1NTNDM1x1NjZGQ1x1NTU0Nlx1NTU2QVx1NTU2Nlx1NTU0NFx1NTU1RVx1NTU2MVx1NTU0M1x1NTU0QVx1NTUzMVx1NTU1Nlx1NTU0Rlx1NTU1NVx1NTUyRlx1NTU2NFx1NTUzOFx1NTUyRVx1NTU1Q1x1NTUyQ1x1NTU2M1x1NTUzM1x1NTU0MVx1NTU1N1x1NTcwOFx1NTcwQlx1NTcwOVx1NTdERlx1NTgwNVx1NTgwQVx1NTgwNlx1NTdFMFx1NTdFNFx1NTdGQVx1NTgwMlx1NTgzNVx1NTdGN1x1NTdGOVx1NTkyMFx1NTk2Mlx1NUEzNlx1NUE0MVx1NUE0OVx1NUE2Nlx1NUE2QVx1NUE0MFwiXSxcbltcImIxNDBcIixcIlx1NUEzQ1x1NUE2Mlx1NUE1QVx1NUE0Nlx1NUE0QVx1NUI3MFx1NUJDN1x1NUJDNVx1NUJDNFx1NUJDMlx1NUJCRlx1NUJDNlx1NUMwOVx1NUMwOFx1NUMwN1x1NUM2MFx1NUM1Q1x1NUM1RFx1NUQwN1x1NUQwNlx1NUQwRVx1NUQxQlx1NUQxNlx1NUQyMlx1NUQxMVx1NUQyOVx1NUQxNFx1NUQxOVx1NUQyNFx1NUQyN1x1NUQxN1x1NURFMlx1NUUzOFx1NUUzNlx1NUUzM1x1NUUzN1x1NUVCN1x1NUVCOFx1NUVCNlx1NUVCNVx1NUVCRVx1NUYzNVx1NUYzN1x1NUY1N1x1NUY2Q1x1NUY2OVx1NUY2Qlx1NUY5N1x1NUY5OVx1NUY5RVx1NUY5OFx1NUZBMVx1NUZBMFx1NUY5Q1x1NjA3Rlx1NjBBM1x1NjA4OVx1NjBBMFx1NjBBOFx1NjBDQlx1NjBCNFx1NjBFNlx1NjBCRFwiXSxcbltcImIxYTFcIixcIlx1NjBDNVx1NjBCQlx1NjBCNVx1NjBEQ1x1NjBCQ1x1NjBEOFx1NjBENVx1NjBDNlx1NjBERlx1NjBCOFx1NjBEQVx1NjBDN1x1NjIxQVx1NjIxQlx1NjI0OFx1NjNBMFx1NjNBN1x1NjM3Mlx1NjM5Nlx1NjNBMlx1NjNBNVx1NjM3N1x1NjM2N1x1NjM5OFx1NjNBQVx1NjM3MVx1NjNBOVx1NjM4OVx1NjM4M1x1NjM5Qlx1NjM2Qlx1NjNBOFx1NjM4NFx1NjM4OFx1NjM5OVx1NjNBMVx1NjNBQ1x1NjM5Mlx1NjM4Rlx1NjM4MFx1NjM3Qlx1NjM2OVx1NjM2OFx1NjM3QVx1NjU1RFx1NjU1Nlx1NjU1MVx1NjU1OVx1NjU1N1x1NTU1Rlx1NjU0Rlx1NjU1OFx1NjU1NVx1NjU1NFx1NjU5Q1x1NjU5Qlx1NjVBQ1x1NjVDRlx1NjVDQlx1NjVDQ1x1NjVDRVx1NjY1RFx1NjY1QVx1NjY2NFx1NjY2OFx1NjY2Nlx1NjY1RVx1NjZGOVx1NTJEN1x1NjcxQlx1Njg4MVx1NjhBRlx1NjhBMlx1Njg5M1x1NjhCNVx1Njg3Rlx1Njg3Nlx1NjhCMVx1NjhBN1x1Njg5N1x1NjhCMFx1Njg4M1x1NjhDNFx1NjhBRFx1Njg4Nlx1Njg4NVx1Njg5NFx1Njg5RFx1NjhBOFx1Njg5Rlx1NjhBMVx1Njg4Mlx1NkIzMlx1NkJCQVwiXSxcbltcImIyNDBcIixcIlx1NkJFQlx1NkJFQ1x1NkMyQlx1NkQ4RVx1NkRCQ1x1NkRGM1x1NkREOVx1NkRCMlx1NkRFMVx1NkRDQ1x1NkRFNFx1NkRGQlx1NkRGQVx1NkUwNVx1NkRDN1x1NkRDQlx1NkRBRlx1NkREMVx1NkRBRVx1NkRERVx1NkRGOVx1NkRCOFx1NkRGN1x1NkRGNVx1NkRDNVx1NkREMlx1NkUxQVx1NkRCNVx1NkREQVx1NkRFQlx1NkREOFx1NkRFQVx1NkRGMVx1NkRFRVx1NkRFOFx1NkRDNlx1NkRDNFx1NkRBQVx1NkRFQ1x1NkRCRlx1NkRFNlx1NzBGOVx1NzEwOVx1NzEwQVx1NzBGRFx1NzBFRlx1NzIzRFx1NzI3RFx1NzI4MVx1NzMxQ1x1NzMxQlx1NzMxNlx1NzMxM1x1NzMxOVx1NzM4N1x1NzQwNVx1NzQwQVx1NzQwM1x1NzQwNlx1NzNGRVx1NzQwRFx1NzRFMFx1NzRGNlwiXSxcbltcImIyYTFcIixcIlx1NzRGN1x1NzUxQ1x1NzUyMlx1NzU2NVx1NzU2Nlx1NzU2Mlx1NzU3MFx1NzU4Rlx1NzVENFx1NzVENVx1NzVCNVx1NzVDQVx1NzVDRFx1NzY4RVx1NzZENFx1NzZEMlx1NzZEQlx1NzczN1x1NzczRVx1NzczQ1x1NzczNlx1NzczOFx1NzczQVx1Nzg2Qlx1Nzg0M1x1Nzg0RVx1Nzk2NVx1Nzk2OFx1Nzk2RFx1NzlGQlx1N0E5Mlx1N0E5NVx1N0IyMFx1N0IyOFx1N0IxQlx1N0IyQ1x1N0IyNlx1N0IxOVx1N0IxRVx1N0IyRVx1N0M5Mlx1N0M5N1x1N0M5NVx1N0Q0Nlx1N0Q0M1x1N0Q3MVx1N0QyRVx1N0QzOVx1N0QzQ1x1N0Q0MFx1N0QzMFx1N0QzM1x1N0Q0NFx1N0QyRlx1N0Q0Mlx1N0QzMlx1N0QzMVx1N0YzRFx1N0Y5RVx1N0Y5QVx1N0ZDQ1x1N0ZDRVx1N0ZEMlx1ODAxQ1x1ODA0QVx1ODA0Nlx1ODEyRlx1ODExNlx1ODEyM1x1ODEyQlx1ODEyOVx1ODEzMFx1ODEyNFx1ODIwMlx1ODIzNVx1ODIzN1x1ODIzNlx1ODIzOVx1ODM4RVx1ODM5RVx1ODM5OFx1ODM3OFx1ODNBMlx1ODM5Nlx1ODNCRFx1ODNBQlx1ODM5Mlx1ODM4QVx1ODM5M1x1ODM4OVx1ODNBMFx1ODM3N1x1ODM3Qlx1ODM3Q1wiXSxcbltcImIzNDBcIixcIlx1ODM4Nlx1ODNBN1x1ODY1NVx1NUY2QVx1ODZDN1x1ODZDMFx1ODZCNlx1ODZDNFx1ODZCNVx1ODZDNlx1ODZDQlx1ODZCMVx1ODZBRlx1ODZDOVx1ODg1M1x1ODg5RVx1ODg4OFx1ODhBQlx1ODg5Mlx1ODg5Nlx1ODg4RFx1ODg4Qlx1ODk5M1x1ODk4Rlx1OEEyQVx1OEExRFx1OEEyM1x1OEEyNVx1OEEzMVx1OEEyRFx1OEExRlx1OEExQlx1OEEyMlx1OEM0OVx1OEM1QVx1OENBOVx1OENBQ1x1OENBQlx1OENBOFx1OENBQVx1OENBN1x1OEQ2N1x1OEQ2Nlx1OERCRVx1OERCQVx1OEVEQlx1OEVERlx1OTAxOVx1OTAwRFx1OTAxQVx1OTAxN1x1OTAyM1x1OTAxRlx1OTAxRFx1OTAxMFx1OTAxNVx1OTAxRVx1OTAyMFx1OTAwRlx1OTAyMlx1OTAxNlx1OTAxQlx1OTAxNFwiXSxcbltcImIzYTFcIixcIlx1OTBFOFx1OTBFRFx1OTBGRFx1OTE1N1x1OTFDRVx1OTFGNVx1OTFFNlx1OTFFM1x1OTFFN1x1OTFFRFx1OTFFOVx1OTU4OVx1OTY2QVx1OTY3NVx1OTY3M1x1OTY3OFx1OTY3MFx1OTY3NFx1OTY3Nlx1OTY3N1x1OTY2Q1x1OTZDMFx1OTZFQVx1OTZFOVx1N0FFMFx1N0FERlx1OTgwMlx1OTgwM1x1OUI1QVx1OUNFNVx1OUU3NVx1OUU3Rlx1OUVBNVx1OUVCQlx1NTBBMlx1NTA4RFx1NTA4NVx1NTA5OVx1NTA5MVx1NTA4MFx1NTA5Nlx1NTA5OFx1NTA5QVx1NjcwMFx1NTFGMVx1NTI3Mlx1NTI3NFx1NTI3NVx1NTI2OVx1NTJERVx1NTJERFx1NTJEQlx1NTM1QVx1NTNBNVx1NTU3Qlx1NTU4MFx1NTVBN1x1NTU3Q1x1NTU4QVx1NTU5RFx1NTU5OFx1NTU4Mlx1NTU5Q1x1NTVBQVx1NTU5NFx1NTU4N1x1NTU4Qlx1NTU4M1x1NTVCM1x1NTVBRVx1NTU5Rlx1NTUzRVx1NTVCMlx1NTU5QVx1NTVCQlx1NTVBQ1x1NTVCMVx1NTU3RVx1NTU4OVx1NTVBQlx1NTU5OVx1NTcwRFx1NTgyRlx1NTgyQVx1NTgzNFx1NTgyNFx1NTgzMFx1NTgzMVx1NTgyMVx1NTgxRFx1NTgyMFx1NThGOVx1NThGQVx1NTk2MFwiXSxcbltcImI0NDBcIixcIlx1NUE3N1x1NUE5QVx1NUE3Rlx1NUE5Mlx1NUE5Qlx1NUFBN1x1NUI3M1x1NUI3MVx1NUJEMlx1NUJDQ1x1NUJEM1x1NUJEMFx1NUMwQVx1NUMwQlx1NUMzMVx1NUQ0Q1x1NUQ1MFx1NUQzNFx1NUQ0N1x1NURGRFx1NUU0NVx1NUUzRFx1NUU0MFx1NUU0M1x1NUU3RVx1NUVDQVx1NUVDMVx1NUVDMlx1NUVDNFx1NUYzQ1x1NUY2RFx1NUZBOVx1NUZBQVx1NUZBOFx1NjBEMVx1NjBFMVx1NjBCMlx1NjBCNlx1NjBFMFx1NjExQ1x1NjEyM1x1NjBGQVx1NjExNVx1NjBGMFx1NjBGQlx1NjBGNFx1NjE2OFx1NjBGMVx1NjEwRVx1NjBGNlx1NjEwOVx1NjEwMFx1NjExMlx1NjIxRlx1NjI0OVx1NjNBM1x1NjM4Q1x1NjNDRlx1NjNDMFx1NjNFOVx1NjNDOVx1NjNDNlx1NjNDRFwiXSxcbltcImI0YTFcIixcIlx1NjNEMlx1NjNFM1x1NjNEMFx1NjNFMVx1NjNENlx1NjNFRFx1NjNFRVx1NjM3Nlx1NjNGNFx1NjNFQVx1NjNEQlx1NjQ1Mlx1NjNEQVx1NjNGOVx1NjU1RVx1NjU2Nlx1NjU2Mlx1NjU2M1x1NjU5MVx1NjU5MFx1NjVBRlx1NjY2RVx1NjY3MFx1NjY3NFx1NjY3Nlx1NjY2Rlx1NjY5MVx1NjY3QVx1NjY3RVx1NjY3N1x1NjZGRVx1NjZGRlx1NjcxRlx1NjcxRFx1NjhGQVx1NjhENVx1NjhFMFx1NjhEOFx1NjhEN1x1NjkwNVx1NjhERlx1NjhGNVx1NjhFRVx1NjhFN1x1NjhGOVx1NjhEMlx1NjhGMlx1NjhFM1x1NjhDQlx1NjhDRFx1NjkwRFx1NjkxMlx1NjkwRVx1NjhDOVx1NjhEQVx1Njk2RVx1NjhGQlx1NkIzRVx1NkIzQVx1NkIzRFx1NkI5OFx1NkI5Nlx1NkJCQ1x1NkJFRlx1NkMyRVx1NkMyRlx1NkMyQ1x1NkUyRlx1NkUzOFx1NkU1NFx1NkUyMVx1NkUzMlx1NkU2N1x1NkU0QVx1NkUyMFx1NkUyNVx1NkUyM1x1NkUxQlx1NkU1Qlx1NkU1OFx1NkUyNFx1NkU1Nlx1NkU2RVx1NkUyRFx1NkUyNlx1NkU2Rlx1NkUzNFx1NkU0RFx1NkUzQVx1NkUyQ1x1NkU0M1x1NkUxRFx1NkUzRVx1NkVDQlwiXSxcbltcImI1NDBcIixcIlx1NkU4OVx1NkUxOVx1NkU0RVx1NkU2M1x1NkU0NFx1NkU3Mlx1NkU2OVx1NkU1Rlx1NzExOVx1NzExQVx1NzEyNlx1NzEzMFx1NzEyMVx1NzEzNlx1NzE2RVx1NzExQ1x1NzI0Q1x1NzI4NFx1NzI4MFx1NzMzNlx1NzMyNVx1NzMzNFx1NzMyOVx1NzQzQVx1NzQyQVx1NzQzM1x1NzQyMlx1NzQyNVx1NzQzNVx1NzQzNlx1NzQzNFx1NzQyRlx1NzQxQlx1NzQyNlx1NzQyOFx1NzUyNVx1NzUyNlx1NzU2Qlx1NzU2QVx1NzVFMlx1NzVEQlx1NzVFM1x1NzVEOVx1NzVEOFx1NzVERVx1NzVFMFx1NzY3Qlx1NzY3Q1x1NzY5Nlx1NzY5M1x1NzZCNFx1NzZEQ1x1Nzc0Rlx1NzdFRFx1Nzg1RFx1Nzg2Q1x1Nzg2Rlx1N0EwRFx1N0EwOFx1N0EwQlx1N0EwNVx1N0EwMFx1N0E5OFwiXSxcbltcImI1YTFcIixcIlx1N0E5N1x1N0E5Nlx1N0FFNVx1N0FFM1x1N0I0OVx1N0I1Nlx1N0I0Nlx1N0I1MFx1N0I1Mlx1N0I1NFx1N0I0RFx1N0I0Qlx1N0I0Rlx1N0I1MVx1N0M5Rlx1N0NBNVx1N0Q1RVx1N0Q1MFx1N0Q2OFx1N0Q1NVx1N0QyQlx1N0Q2RVx1N0Q3Mlx1N0Q2MVx1N0Q2Nlx1N0Q2Mlx1N0Q3MFx1N0Q3M1x1NTU4NFx1N0ZENFx1N0ZENVx1ODAwQlx1ODA1Mlx1ODA4NVx1ODE1NVx1ODE1NFx1ODE0Qlx1ODE1MVx1ODE0RVx1ODEzOVx1ODE0Nlx1ODEzRVx1ODE0Q1x1ODE1M1x1ODE3NFx1ODIxMlx1ODIxQ1x1ODNFOVx1ODQwM1x1ODNGOFx1ODQwRFx1ODNFMFx1ODNDNVx1ODQwQlx1ODNDMVx1ODNFRlx1ODNGMVx1ODNGNFx1ODQ1N1x1ODQwQVx1ODNGMFx1ODQwQ1x1ODNDQ1x1ODNGRFx1ODNGMlx1ODNDQVx1ODQzOFx1ODQwRVx1ODQwNFx1ODNEQ1x1ODQwN1x1ODNENFx1ODNERlx1ODY1Qlx1ODZERlx1ODZEOVx1ODZFRFx1ODZENFx1ODZEQlx1ODZFNFx1ODZEMFx1ODZERVx1ODg1N1x1ODhDMVx1ODhDMlx1ODhCMVx1ODk4M1x1ODk5Nlx1OEEzQlx1OEE2MFx1OEE1NVx1OEE1RVx1OEEzQ1x1OEE0MVwiXSxcbltcImI2NDBcIixcIlx1OEE1NFx1OEE1Qlx1OEE1MFx1OEE0Nlx1OEEzNFx1OEEzQVx1OEEzNlx1OEE1Nlx1OEM2MVx1OEM4Mlx1OENBRlx1OENCQ1x1OENCM1x1OENCRFx1OENDMVx1OENCQlx1OENDMFx1OENCNFx1OENCN1x1OENCNlx1OENCRlx1OENCOFx1OEQ4QVx1OEQ4NVx1OEQ4MVx1OERDRVx1OERERFx1OERDQlx1OEREQVx1OEREMVx1OERDQ1x1OEREQlx1OERDNlx1OEVGQlx1OEVGOFx1OEVGQ1x1OEY5Q1x1OTAyRVx1OTAzNVx1OTAzMVx1OTAzOFx1OTAzMlx1OTAzNlx1OTEwMlx1OTBGNVx1OTEwOVx1OTBGRVx1OTE2M1x1OTE2NVx1OTFDRlx1OTIxNFx1OTIxNVx1OTIyM1x1OTIwOVx1OTIxRVx1OTIwRFx1OTIxMFx1OTIwN1x1OTIxMVx1OTU5NFx1OTU4Rlx1OTU4Qlx1OTU5MVwiXSxcbltcImI2YTFcIixcIlx1OTU5M1x1OTU5Mlx1OTU4RVx1OTY4QVx1OTY4RVx1OTY4Qlx1OTY3RFx1OTY4NVx1OTY4Nlx1OTY4RFx1OTY3Mlx1OTY4NFx1OTZDMVx1OTZDNVx1OTZDNFx1OTZDNlx1OTZDN1x1OTZFRlx1OTZGMlx1OTdDQ1x1OTgwNVx1OTgwNlx1OTgwOFx1OThFN1x1OThFQVx1OThFRlx1OThFOVx1OThGMlx1OThFRFx1OTlBRVx1OTlBRFx1OUVDM1x1OUVDRFx1OUVEMVx1NEU4Mlx1NTBBRFx1NTBCNVx1NTBCMlx1NTBCM1x1NTBDNVx1NTBCRVx1NTBBQ1x1NTBCN1x1NTBCQlx1NTBBRlx1NTBDN1x1NTI3Rlx1NTI3N1x1NTI3RFx1NTJERlx1NTJFNlx1NTJFNFx1NTJFMlx1NTJFM1x1NTMyRlx1NTVERlx1NTVFOFx1NTVEM1x1NTVFNlx1NTVDRVx1NTVEQ1x1NTVDN1x1NTVEMVx1NTVFM1x1NTVFNFx1NTVFRlx1NTVEQVx1NTVFMVx1NTVDNVx1NTVDNlx1NTVFNVx1NTVDOVx1NTcxMlx1NTcxM1x1NTg1RVx1NTg1MVx1NTg1OFx1NTg1N1x1NTg1QVx1NTg1NFx1NTg2Qlx1NTg0Q1x1NTg2RFx1NTg0QVx1NTg2Mlx1NTg1Mlx1NTg0Qlx1NTk2N1x1NUFDMVx1NUFDOVx1NUFDQ1x1NUFCRVx1NUFCRFx1NUFCQ1wiXSxcbltcImI3NDBcIixcIlx1NUFCM1x1NUFDMlx1NUFCMlx1NUQ2OVx1NUQ2Rlx1NUU0Q1x1NUU3OVx1NUVDOVx1NUVDOFx1NUYxMlx1NUY1OVx1NUZBQ1x1NUZBRVx1NjExQVx1NjEwRlx1NjE0OFx1NjExRlx1NjBGM1x1NjExQlx1NjBGOVx1NjEwMVx1NjEwOFx1NjE0RVx1NjE0Q1x1NjE0NFx1NjE0RFx1NjEzRVx1NjEzNFx1NjEyN1x1NjEwRFx1NjEwNlx1NjEzN1x1NjIyMVx1NjIyMlx1NjQxM1x1NjQzRVx1NjQxRVx1NjQyQVx1NjQyRFx1NjQzRFx1NjQyQ1x1NjQwRlx1NjQxQ1x1NjQxNFx1NjQwRFx1NjQzNlx1NjQxNlx1NjQxN1x1NjQwNlx1NjU2Q1x1NjU5Rlx1NjVCMFx1NjY5N1x1NjY4OVx1NjY4N1x1NjY4OFx1NjY5Nlx1NjY4NFx1NjY5OFx1NjY4RFx1NjcwM1x1Njk5NFx1Njk2RFwiXSxcbltcImI3YTFcIixcIlx1Njk1QVx1Njk3N1x1Njk2MFx1Njk1NFx1Njk3NVx1NjkzMFx1Njk4Mlx1Njk0QVx1Njk2OFx1Njk2Qlx1Njk1RVx1Njk1M1x1Njk3OVx1Njk4Nlx1Njk1RFx1Njk2M1x1Njk1Qlx1NkI0N1x1NkI3Mlx1NkJDMFx1NkJCRlx1NkJEM1x1NkJGRFx1NkVBMlx1NkVBRlx1NkVEM1x1NkVCNlx1NkVDMlx1NkU5MFx1NkU5RFx1NkVDN1x1NkVDNVx1NkVBNVx1NkU5OFx1NkVCQ1x1NkVCQVx1NkVBQlx1NkVEMVx1NkU5Nlx1NkU5Q1x1NkVDNFx1NkVENFx1NkVBQVx1NkVBN1x1NkVCNFx1NzE0RVx1NzE1OVx1NzE2OVx1NzE2NFx1NzE0OVx1NzE2N1x1NzE1Q1x1NzE2Q1x1NzE2Nlx1NzE0Q1x1NzE2NVx1NzE1RVx1NzE0Nlx1NzE2OFx1NzE1Nlx1NzIzQVx1NzI1Mlx1NzMzN1x1NzM0NVx1NzMzRlx1NzMzRVx1NzQ2Rlx1NzQ1QVx1NzQ1NVx1NzQ1Rlx1NzQ1RVx1NzQ0MVx1NzQzRlx1NzQ1OVx1NzQ1Qlx1NzQ1Q1x1NzU3Nlx1NzU3OFx1NzYwMFx1NzVGMFx1NzYwMVx1NzVGMlx1NzVGMVx1NzVGQVx1NzVGRlx1NzVGNFx1NzVGM1x1NzZERVx1NzZERlx1Nzc1Qlx1Nzc2Qlx1Nzc2Nlx1Nzc1RVx1Nzc2M1wiXSxcbltcImI4NDBcIixcIlx1Nzc3OVx1Nzc2QVx1Nzc2Q1x1Nzc1Q1x1Nzc2NVx1Nzc2OFx1Nzc2Mlx1NzdFRVx1Nzg4RVx1NzhCMFx1Nzg5N1x1Nzg5OFx1Nzg4Q1x1Nzg4OVx1Nzg3Q1x1Nzg5MVx1Nzg5M1x1Nzg3Rlx1Nzk3QVx1Nzk3Rlx1Nzk4MVx1ODQyQ1x1NzlCRFx1N0ExQ1x1N0ExQVx1N0EyMFx1N0ExNFx1N0ExRlx1N0ExRVx1N0E5Rlx1N0FBMFx1N0I3N1x1N0JDMFx1N0I2MFx1N0I2RVx1N0I2N1x1N0NCMVx1N0NCM1x1N0NCNVx1N0Q5M1x1N0Q3OVx1N0Q5MVx1N0Q4MVx1N0Q4Rlx1N0Q1Qlx1N0Y2RVx1N0Y2OVx1N0Y2QVx1N0Y3Mlx1N0ZBOVx1N0ZBOFx1N0ZBNFx1ODA1Nlx1ODA1OFx1ODA4Nlx1ODA4NFx1ODE3MVx1ODE3MFx1ODE3OFx1ODE2NVx1ODE2RVx1ODE3M1x1ODE2QlwiXSxcbltcImI4YTFcIixcIlx1ODE3OVx1ODE3QVx1ODE2Nlx1ODIwNVx1ODI0N1x1ODQ4Mlx1ODQ3N1x1ODQzRFx1ODQzMVx1ODQ3NVx1ODQ2Nlx1ODQ2Qlx1ODQ0OVx1ODQ2Q1x1ODQ1Qlx1ODQzQ1x1ODQzNVx1ODQ2MVx1ODQ2M1x1ODQ2OVx1ODQ2RFx1ODQ0Nlx1ODY1RVx1ODY1Q1x1ODY1Rlx1ODZGOVx1ODcxM1x1ODcwOFx1ODcwN1x1ODcwMFx1ODZGRVx1ODZGQlx1ODcwMlx1ODcwM1x1ODcwNlx1ODcwQVx1ODg1OVx1ODhERlx1ODhENFx1ODhEOVx1ODhEQ1x1ODhEOFx1ODhERFx1ODhFMVx1ODhDQVx1ODhENVx1ODhEMlx1ODk5Q1x1ODlFM1x1OEE2Qlx1OEE3Mlx1OEE3M1x1OEE2Nlx1OEE2OVx1OEE3MFx1OEE4N1x1OEE3Q1x1OEE2M1x1OEFBMFx1OEE3MVx1OEE4NVx1OEE2RFx1OEE2Mlx1OEE2RVx1OEE2Q1x1OEE3OVx1OEE3Qlx1OEEzRVx1OEE2OFx1OEM2Mlx1OEM4QVx1OEM4OVx1OENDQVx1OENDN1x1OENDOFx1OENDNFx1OENCMlx1OENDM1x1OENDMlx1OENDNVx1OERFMVx1OERERlx1OERFOFx1OERFRlx1OERGM1x1OERGQVx1OERFQVx1OERFNFx1OERFNlx1OEVCMlx1OEYwM1x1OEYwOVx1OEVGRVx1OEYwQVwiXSxcbltcImI5NDBcIixcIlx1OEY5Rlx1OEZCMlx1OTA0Qlx1OTA0QVx1OTA1M1x1OTA0Mlx1OTA1NFx1OTAzQ1x1OTA1NVx1OTA1MFx1OTA0N1x1OTA0Rlx1OTA0RVx1OTA0RFx1OTA1MVx1OTAzRVx1OTA0MVx1OTExMlx1OTExN1x1OTE2Q1x1OTE2QVx1OTE2OVx1OTFDOVx1OTIzN1x1OTI1N1x1OTIzOFx1OTIzRFx1OTI0MFx1OTIzRVx1OTI1Qlx1OTI0Qlx1OTI2NFx1OTI1MVx1OTIzNFx1OTI0OVx1OTI0RFx1OTI0NVx1OTIzOVx1OTIzRlx1OTI1QVx1OTU5OFx1OTY5OFx1OTY5NFx1OTY5NVx1OTZDRFx1OTZDQlx1OTZDOVx1OTZDQVx1OTZGN1x1OTZGQlx1OTZGOVx1OTZGNlx1OTc1Nlx1OTc3NFx1OTc3Nlx1OTgxMFx1OTgxMVx1OTgxM1x1OTgwQVx1OTgxMlx1OTgwQ1x1OThGQ1x1OThGNFwiXSxcbltcImI5YTFcIixcIlx1OThGRFx1OThGRVx1OTlCM1x1OTlCMVx1OTlCNFx1OUFFMVx1OUNFOVx1OUU4Mlx1OUYwRVx1OUYxM1x1OUYyMFx1NTBFN1x1NTBFRVx1NTBFNVx1NTBENlx1NTBFRFx1NTBEQVx1NTBENVx1NTBDRlx1NTBEMVx1NTBGMVx1NTBDRVx1NTBFOVx1NTE2Mlx1NTFGM1x1NTI4M1x1NTI4Mlx1NTMzMVx1NTNBRFx1NTVGRVx1NTYwMFx1NTYxQlx1NTYxN1x1NTVGRFx1NTYxNFx1NTYwNlx1NTYwOVx1NTYwRFx1NTYwRVx1NTVGN1x1NTYxNlx1NTYxRlx1NTYwOFx1NTYxMFx1NTVGNlx1NTcxOFx1NTcxNlx1NTg3NVx1NTg3RVx1NTg4M1x1NTg5M1x1NTg4QVx1NTg3OVx1NTg4NVx1NTg3RFx1NThGRFx1NTkyNVx1NTkyMlx1NTkyNFx1NTk2QVx1NTk2OVx1NUFFMVx1NUFFNlx1NUFFOVx1NUFEN1x1NUFENlx1NUFEOFx1NUFFM1x1NUI3NVx1NUJERVx1NUJFN1x1NUJFMVx1NUJFNVx1NUJFNlx1NUJFOFx1NUJFMlx1NUJFNFx1NUJERlx1NUMwRFx1NUM2Mlx1NUQ4NFx1NUQ4N1x1NUU1Qlx1NUU2M1x1NUU1NVx1NUU1N1x1NUU1NFx1NUVEM1x1NUVENlx1NUYwQVx1NUY0Nlx1NUY3MFx1NUZCOVx1NjE0N1wiXSxcbltcImJhNDBcIixcIlx1NjEzRlx1NjE0Qlx1NjE3N1x1NjE2Mlx1NjE2M1x1NjE1Rlx1NjE1QVx1NjE1OFx1NjE3NVx1NjIyQVx1NjQ4N1x1NjQ1OFx1NjQ1NFx1NjRBNFx1NjQ3OFx1NjQ1Rlx1NjQ3QVx1NjQ1MVx1NjQ2N1x1NjQzNFx1NjQ2RFx1NjQ3Qlx1NjU3Mlx1NjVBMVx1NjVEN1x1NjVENlx1NjZBMlx1NjZBOFx1NjY5RFx1Njk5Q1x1NjlBOFx1Njk5NVx1NjlDMVx1NjlBRVx1NjlEM1x1NjlDQlx1Njk5Qlx1NjlCN1x1NjlCQlx1NjlBQlx1NjlCNFx1NjlEMFx1NjlDRFx1NjlBRFx1NjlDQ1x1NjlBNlx1NjlDM1x1NjlBM1x1NkI0OVx1NkI0Q1x1NkMzM1x1NkYzM1x1NkYxNFx1NkVGRVx1NkYxM1x1NkVGNFx1NkYyOVx1NkYzRVx1NkYyMFx1NkYyQ1x1NkYwRlx1NkYwMlx1NkYyMlwiXSxcbltcImJhYTFcIixcIlx1NkVGRlx1NkVFRlx1NkYwNlx1NkYzMVx1NkYzOFx1NkYzMlx1NkYyM1x1NkYxNVx1NkYyQlx1NkYyRlx1NkY4OFx1NkYyQVx1NkVFQ1x1NkYwMVx1NkVGMlx1NkVDQ1x1NkVGN1x1NzE5NFx1NzE5OVx1NzE3RFx1NzE4QVx1NzE4NFx1NzE5Mlx1NzIzRVx1NzI5Mlx1NzI5Nlx1NzM0NFx1NzM1MFx1NzQ2NFx1NzQ2M1x1NzQ2QVx1NzQ3MFx1NzQ2RFx1NzUwNFx1NzU5MVx1NzYyN1x1NzYwRFx1NzYwQlx1NzYwOVx1NzYxM1x1NzZFMVx1NzZFM1x1Nzc4NFx1Nzc3RFx1Nzc3Rlx1Nzc2MVx1NzhDMVx1Nzg5Rlx1NzhBN1x1NzhCM1x1NzhBOVx1NzhBM1x1Nzk4RVx1Nzk4Rlx1Nzk4RFx1N0EyRVx1N0EzMVx1N0FBQVx1N0FBOVx1N0FFRFx1N0FFRlx1N0JBMVx1N0I5NVx1N0I4Qlx1N0I3NVx1N0I5N1x1N0I5RFx1N0I5NFx1N0I4Rlx1N0JCOFx1N0I4N1x1N0I4NFx1N0NCOVx1N0NCRFx1N0NCRVx1N0RCQlx1N0RCMFx1N0Q5Q1x1N0RCRFx1N0RCRVx1N0RBMFx1N0RDQVx1N0RCNFx1N0RCMlx1N0RCMVx1N0RCQVx1N0RBMlx1N0RCRlx1N0RCNVx1N0RCOFx1N0RBRFx1N0REMlx1N0RDN1x1N0RBQ1wiXSxcbltcImJiNDBcIixcIlx1N0Y3MFx1N0ZFMFx1N0ZFMVx1N0ZERlx1ODA1RVx1ODA1QVx1ODA4N1x1ODE1MFx1ODE4MFx1ODE4Rlx1ODE4OFx1ODE4QVx1ODE3Rlx1ODE4Mlx1ODFFN1x1ODFGQVx1ODIwN1x1ODIxNFx1ODIxRVx1ODI0Qlx1ODRDOVx1ODRCRlx1ODRDNlx1ODRDNFx1ODQ5OVx1ODQ5RVx1ODRCMlx1ODQ5Q1x1ODRDQlx1ODRCOFx1ODRDMFx1ODREM1x1ODQ5MFx1ODRCQ1x1ODREMVx1ODRDQVx1ODczRlx1ODcxQ1x1ODczQlx1ODcyMlx1ODcyNVx1ODczNFx1ODcxOFx1ODc1NVx1ODczN1x1ODcyOVx1ODhGM1x1ODkwMlx1ODhGNFx1ODhGOVx1ODhGOFx1ODhGRFx1ODhFOFx1ODkxQVx1ODhFRlx1OEFBNlx1OEE4Q1x1OEE5RVx1OEFBM1x1OEE4RFx1OEFBMVx1OEE5M1x1OEFBNFwiXSxcbltcImJiYTFcIixcIlx1OEFBQVx1OEFBNVx1OEFBOFx1OEE5OFx1OEE5MVx1OEE5QVx1OEFBN1x1OEM2QVx1OEM4RFx1OEM4Q1x1OENEM1x1OENEMVx1OENEMlx1OEQ2Qlx1OEQ5OVx1OEQ5NVx1OERGQ1x1OEYxNFx1OEYxMlx1OEYxNVx1OEYxM1x1OEZBM1x1OTA2MFx1OTA1OFx1OTA1Q1x1OTA2M1x1OTA1OVx1OTA1RVx1OTA2Mlx1OTA1RFx1OTA1Qlx1OTExOVx1OTExOFx1OTExRVx1OTE3NVx1OTE3OFx1OTE3N1x1OTE3NFx1OTI3OFx1OTI4MFx1OTI4NVx1OTI5OFx1OTI5Nlx1OTI3Qlx1OTI5M1x1OTI5Q1x1OTJBOFx1OTI3Q1x1OTI5MVx1OTVBMVx1OTVBOFx1OTVBOVx1OTVBM1x1OTVBNVx1OTVBNFx1OTY5OVx1OTY5Q1x1OTY5Qlx1OTZDQ1x1OTZEMlx1OTcwMFx1OTc3Q1x1OTc4NVx1OTdGNlx1OTgxN1x1OTgxOFx1OThBRlx1OThCMVx1OTkwM1x1OTkwNVx1OTkwQ1x1OTkwOVx1OTlDMVx1OUFBRlx1OUFCMFx1OUFFNlx1OUI0MVx1OUI0Mlx1OUNGNFx1OUNGNlx1OUNGM1x1OUVCQ1x1OUYzQlx1OUY0QVx1NTEwNFx1NTEwMFx1NTBGQlx1NTBGNVx1NTBGOVx1NTEwMlx1NTEwOFx1NTEwOVx1NTEwNVx1NTFEQ1wiXSxcbltcImJjNDBcIixcIlx1NTI4N1x1NTI4OFx1NTI4OVx1NTI4RFx1NTI4QVx1NTJGMFx1NTNCMlx1NTYyRVx1NTYzQlx1NTYzOVx1NTYzMlx1NTYzRlx1NTYzNFx1NTYyOVx1NTY1M1x1NTY0RVx1NTY1N1x1NTY3NFx1NTYzNlx1NTYyRlx1NTYzMFx1NTg4MFx1NTg5Rlx1NTg5RVx1NThCM1x1NTg5Q1x1NThBRVx1NThBOVx1NThBNlx1NTk2RFx1NUIwOVx1NUFGQlx1NUIwQlx1NUFGNVx1NUIwQ1x1NUIwOFx1NUJFRVx1NUJFQ1x1NUJFOVx1NUJFQlx1NUM2NFx1NUM2NVx1NUQ5RFx1NUQ5NFx1NUU2Mlx1NUU1Rlx1NUU2MVx1NUVFMlx1NUVEQVx1NUVERlx1NUVERFx1NUVFM1x1NUVFMFx1NUY0OFx1NUY3MVx1NUZCN1x1NUZCNVx1NjE3Nlx1NjE2N1x1NjE2RVx1NjE1RFx1NjE1NVx1NjE4MlwiXSxcbltcImJjYTFcIixcIlx1NjE3Q1x1NjE3MFx1NjE2Qlx1NjE3RVx1NjFBN1x1NjE5MFx1NjFBQlx1NjE4RVx1NjFBQ1x1NjE5QVx1NjFBNFx1NjE5NFx1NjFBRVx1NjIyRVx1NjQ2OVx1NjQ2Rlx1NjQ3OVx1NjQ5RVx1NjRCMlx1NjQ4OFx1NjQ5MFx1NjRCMFx1NjRBNVx1NjQ5M1x1NjQ5NVx1NjRBOVx1NjQ5Mlx1NjRBRVx1NjRBRFx1NjRBQlx1NjQ5QVx1NjRBQ1x1NjQ5OVx1NjRBMlx1NjRCM1x1NjU3NVx1NjU3N1x1NjU3OFx1NjZBRVx1NjZBQlx1NjZCNFx1NjZCMVx1NkEyM1x1NkExRlx1NjlFOFx1NkEwMVx1NkExRVx1NkExOVx1NjlGRFx1NkEyMVx1NkExM1x1NkEwQVx1NjlGM1x1NkEwMlx1NkEwNVx1NjlFRFx1NkExMVx1NkI1MFx1NkI0RVx1NkJBNFx1NkJDNVx1NkJDNlx1NkYzRlx1NkY3Q1x1NkY4NFx1NkY1MVx1NkY2Nlx1NkY1NFx1NkY4Nlx1NkY2RFx1NkY1Qlx1NkY3OFx1NkY2RVx1NkY4RVx1NkY3QVx1NkY3MFx1NkY2NFx1NkY5N1x1NkY1OFx1NkVENVx1NkY2Rlx1NkY2MFx1NkY1Rlx1NzE5Rlx1NzFBQ1x1NzFCMVx1NzFBOFx1NzI1Nlx1NzI5Qlx1NzM0RVx1NzM1N1x1NzQ2OVx1NzQ4Qlx1NzQ4M1wiXSxcbltcImJkNDBcIixcIlx1NzQ3RVx1NzQ4MFx1NzU3Rlx1NzYyMFx1NzYyOVx1NzYxRlx1NzYyNFx1NzYyNlx1NzYyMVx1NzYyMlx1NzY5QVx1NzZCQVx1NzZFNFx1Nzc4RVx1Nzc4N1x1Nzc4Q1x1Nzc5MVx1Nzc4Qlx1NzhDQlx1NzhDNVx1NzhCQVx1NzhDQVx1NzhCRVx1NzhENVx1NzhCQ1x1NzhEMFx1N0EzRlx1N0EzQ1x1N0E0MFx1N0EzRFx1N0EzN1x1N0EzQlx1N0FBRlx1N0FBRVx1N0JBRFx1N0JCMVx1N0JDNFx1N0JCNFx1N0JDNlx1N0JDN1x1N0JDMVx1N0JBMFx1N0JDQ1x1N0NDQVx1N0RFMFx1N0RGNFx1N0RFRlx1N0RGQlx1N0REOFx1N0RFQ1x1N0RERFx1N0RFOFx1N0RFM1x1N0REQVx1N0RERVx1N0RFOVx1N0Q5RVx1N0REOVx1N0RGMlx1N0RGOVx1N0Y3NVx1N0Y3N1x1N0ZBRlwiXSxcbltcImJkYTFcIixcIlx1N0ZFOVx1ODAyNlx1ODE5Qlx1ODE5Q1x1ODE5RFx1ODFBMFx1ODE5QVx1ODE5OFx1ODUxN1x1ODUzRFx1ODUxQVx1ODRFRVx1ODUyQ1x1ODUyRFx1ODUxM1x1ODUxMVx1ODUyM1x1ODUyMVx1ODUxNFx1ODRFQ1x1ODUyNVx1ODRGRlx1ODUwNlx1ODc4Mlx1ODc3NFx1ODc3Nlx1ODc2MFx1ODc2Nlx1ODc3OFx1ODc2OFx1ODc1OVx1ODc1N1x1ODc0Q1x1ODc1M1x1ODg1Qlx1ODg1RFx1ODkxMFx1ODkwN1x1ODkxMlx1ODkxM1x1ODkxNVx1ODkwQVx1OEFCQ1x1OEFEMlx1OEFDN1x1OEFDNFx1OEE5NVx1OEFDQlx1OEFGOFx1OEFCMlx1OEFDOVx1OEFDMlx1OEFCRlx1OEFCMFx1OEFENlx1OEFDRFx1OEFCNlx1OEFCOVx1OEFEQlx1OEM0Q1x1OEM0RVx1OEM2Q1x1OENFMFx1OENERVx1OENFNlx1OENFNFx1OENFQ1x1OENFRFx1OENFMlx1OENFM1x1OENEQ1x1OENFQVx1OENFMVx1OEQ2RFx1OEQ5Rlx1OERBM1x1OEUyQlx1OEUxMFx1OEUxRFx1OEUyMlx1OEUwRlx1OEUyOVx1OEUxRlx1OEUyMVx1OEUxRVx1OEVCQVx1OEYxRFx1OEYxQlx1OEYxRlx1OEYyOVx1OEYyNlx1OEYyQVx1OEYxQ1x1OEYxRVwiXSxcbltcImJlNDBcIixcIlx1OEYyNVx1OTA2OVx1OTA2RVx1OTA2OFx1OTA2RFx1OTA3N1x1OTEzMFx1OTEyRFx1OTEyN1x1OTEzMVx1OTE4N1x1OTE4OVx1OTE4Qlx1OTE4M1x1OTJDNVx1OTJCQlx1OTJCN1x1OTJFQVx1OTJBQ1x1OTJFNFx1OTJDMVx1OTJCM1x1OTJCQ1x1OTJEMlx1OTJDN1x1OTJGMFx1OTJCMlx1OTVBRFx1OTVCMVx1OTcwNFx1OTcwNlx1OTcwN1x1OTcwOVx1OTc2MFx1OTc4RFx1OTc4Qlx1OTc4Rlx1OTgyMVx1OTgyQlx1OTgxQ1x1OThCM1x1OTkwQVx1OTkxM1x1OTkxMlx1OTkxOFx1OTlERFx1OTlEMFx1OTlERlx1OTlEQlx1OTlEMVx1OTlENVx1OTlEMlx1OTlEOVx1OUFCN1x1OUFFRVx1OUFFRlx1OUIyN1x1OUI0NVx1OUI0NFx1OUI3N1x1OUI2Rlx1OUQwNlx1OUQwOVwiXSxcbltcImJlYTFcIixcIlx1OUQwM1x1OUVBOVx1OUVCRVx1OUVDRVx1NThBOFx1OUY1Mlx1NTExMlx1NTExOFx1NTExNFx1NTExMFx1NTExNVx1NTE4MFx1NTFBQVx1NTFERFx1NTI5MVx1NTI5M1x1NTJGM1x1NTY1OVx1NTY2Qlx1NTY3OVx1NTY2OVx1NTY2NFx1NTY3OFx1NTY2QVx1NTY2OFx1NTY2NVx1NTY3MVx1NTY2Rlx1NTY2Q1x1NTY2Mlx1NTY3Nlx1NThDMVx1NThCRVx1NThDN1x1NThDNVx1NTk2RVx1NUIxRFx1NUIzNFx1NUI3OFx1NUJGMFx1NUMwRVx1NUY0QVx1NjFCMlx1NjE5MVx1NjFBOVx1NjE4QVx1NjFDRFx1NjFCNlx1NjFCRVx1NjFDQVx1NjFDOFx1NjIzMFx1NjRDNVx1NjRDMVx1NjRDQlx1NjRCQlx1NjRCQ1x1NjREQVx1NjRDNFx1NjRDN1x1NjRDMlx1NjRDRFx1NjRCRlx1NjREMlx1NjRENFx1NjRCRVx1NjU3NFx1NjZDNlx1NjZDOVx1NjZCOVx1NjZDNFx1NjZDN1x1NjZCOFx1NkEzRFx1NkEzOFx1NkEzQVx1NkE1OVx1NkE2Qlx1NkE1OFx1NkEzOVx1NkE0NFx1NkE2Mlx1NkE2MVx1NkE0Qlx1NkE0N1x1NkEzNVx1NkE1Rlx1NkE0OFx1NkI1OVx1NkI3N1x1NkMwNVx1NkZDMlx1NkZCMVx1NkZBMVwiXSxcbltcImJmNDBcIixcIlx1NkZDM1x1NkZBNFx1NkZDMVx1NkZBN1x1NkZCM1x1NkZDMFx1NkZCOVx1NkZCNlx1NkZBNlx1NkZBMFx1NkZCNFx1NzFCRVx1NzFDOVx1NzFEMFx1NzFEMlx1NzFDOFx1NzFENVx1NzFCOVx1NzFDRVx1NzFEOVx1NzFEQ1x1NzFDM1x1NzFDNFx1NzM2OFx1NzQ5Q1x1NzRBM1x1NzQ5OFx1NzQ5Rlx1NzQ5RVx1NzRFMlx1NzUwQ1x1NzUwRFx1NzYzNFx1NzYzOFx1NzYzQVx1NzZFN1x1NzZFNVx1NzdBMFx1Nzc5RVx1Nzc5Rlx1NzdBNVx1NzhFOFx1NzhEQVx1NzhFQ1x1NzhFN1x1NzlBNlx1N0E0RFx1N0E0RVx1N0E0Nlx1N0E0Q1x1N0E0Qlx1N0FCQVx1N0JEOVx1N0MxMVx1N0JDOVx1N0JFNFx1N0JEQlx1N0JFMVx1N0JFOVx1N0JFNlx1N0NENVx1N0NENlx1N0UwQVwiXSxcbltcImJmYTFcIixcIlx1N0UxMVx1N0UwOFx1N0UxQlx1N0UyM1x1N0UxRVx1N0UxRFx1N0UwOVx1N0UxMFx1N0Y3OVx1N0ZCMlx1N0ZGMFx1N0ZGMVx1N0ZFRVx1ODAyOFx1ODFCM1x1ODFBOVx1ODFBOFx1ODFGQlx1ODIwOFx1ODI1OFx1ODI1OVx1ODU0QVx1ODU1OVx1ODU0OFx1ODU2OFx1ODU2OVx1ODU0M1x1ODU0OVx1ODU2RFx1ODU2QVx1ODU1RVx1ODc4M1x1ODc5Rlx1ODc5RVx1ODdBMlx1ODc4RFx1ODg2MVx1ODkyQVx1ODkzMlx1ODkyNVx1ODkyQlx1ODkyMVx1ODlBQVx1ODlBNlx1OEFFNlx1OEFGQVx1OEFFQlx1OEFGMVx1OEIwMFx1OEFEQ1x1OEFFN1x1OEFFRVx1OEFGRVx1OEIwMVx1OEIwMlx1OEFGN1x1OEFFRFx1OEFGM1x1OEFGNlx1OEFGQ1x1OEM2Qlx1OEM2RFx1OEM5M1x1OENGNFx1OEU0NFx1OEUzMVx1OEUzNFx1OEU0Mlx1OEUzOVx1OEUzNVx1OEYzQlx1OEYyRlx1OEYzOFx1OEYzM1x1OEZBOFx1OEZBNlx1OTA3NVx1OTA3NFx1OTA3OFx1OTA3Mlx1OTA3Q1x1OTA3QVx1OTEzNFx1OTE5Mlx1OTMyMFx1OTMzNlx1OTJGOFx1OTMzM1x1OTMyRlx1OTMyMlx1OTJGQ1x1OTMyQlx1OTMwNFx1OTMxQVwiXSxcbltcImMwNDBcIixcIlx1OTMxMFx1OTMyNlx1OTMyMVx1OTMxNVx1OTMyRVx1OTMxOVx1OTVCQlx1OTZBN1x1OTZBOFx1OTZBQVx1OTZENVx1OTcwRVx1OTcxMVx1OTcxNlx1OTcwRFx1OTcxM1x1OTcwRlx1OTc1Qlx1OTc1Q1x1OTc2Nlx1OTc5OFx1OTgzMFx1OTgzOFx1OTgzQlx1OTgzN1x1OTgyRFx1OTgzOVx1OTgyNFx1OTkxMFx1OTkyOFx1OTkxRVx1OTkxQlx1OTkyMVx1OTkxQVx1OTlFRFx1OTlFMlx1OTlGMVx1OUFCOFx1OUFCQ1x1OUFGQlx1OUFFRFx1OUIyOFx1OUI5MVx1OUQxNVx1OUQyM1x1OUQyNlx1OUQyOFx1OUQxMlx1OUQxQlx1OUVEOFx1OUVENFx1OUY4RFx1OUY5Q1x1NTEyQVx1NTExRlx1NTEyMVx1NTEzMlx1NTJGNVx1NTY4RVx1NTY4MFx1NTY5MFx1NTY4NVx1NTY4N1wiXSxcbltcImMwYTFcIixcIlx1NTY4Rlx1NThENVx1NThEM1x1NThEMVx1NThDRVx1NUIzMFx1NUIyQVx1NUIyNFx1NUI3QVx1NUMzN1x1NUM2OFx1NURCQ1x1NURCQVx1NURCRFx1NURCOFx1NUU2Qlx1NUY0Q1x1NUZCRFx1NjFDOVx1NjFDMlx1NjFDN1x1NjFFNlx1NjFDQlx1NjIzMlx1NjIzNFx1NjRDRVx1NjRDQVx1NjREOFx1NjRFMFx1NjRGMFx1NjRFNlx1NjRFQ1x1NjRGMVx1NjRFMlx1NjRFRFx1NjU4Mlx1NjU4M1x1NjZEOVx1NjZENlx1NkE4MFx1NkE5NFx1NkE4NFx1NkFBMlx1NkE5Q1x1NkFEQlx1NkFBM1x1NkE3RVx1NkE5N1x1NkE5MFx1NkFBMFx1NkI1Q1x1NkJBRVx1NkJEQVx1NkMwOFx1NkZEOFx1NkZGMVx1NkZERlx1NkZFMFx1NkZEQlx1NkZFNFx1NkZFQlx1NkZFRlx1NkY4MFx1NkZFQ1x1NkZFMVx1NkZFOVx1NkZENVx1NkZFRVx1NkZGMFx1NzFFN1x1NzFERlx1NzFFRVx1NzFFNlx1NzFFNVx1NzFFRFx1NzFFQ1x1NzFGNFx1NzFFMFx1NzIzNVx1NzI0Nlx1NzM3MFx1NzM3Mlx1NzRBOVx1NzRCMFx1NzRBNlx1NzRBOFx1NzY0Nlx1NzY0Mlx1NzY0Q1x1NzZFQVx1NzdCM1x1NzdBQVx1NzdCMFx1NzdBQ1wiXSxcbltcImMxNDBcIixcIlx1NzdBN1x1NzdBRFx1NzdFRlx1NzhGN1x1NzhGQVx1NzhGNFx1NzhFRlx1NzkwMVx1NzlBN1x1NzlBQVx1N0E1N1x1N0FCRlx1N0MwN1x1N0MwRFx1N0JGRVx1N0JGN1x1N0MwQ1x1N0JFMFx1N0NFMFx1N0NEQ1x1N0NERVx1N0NFMlx1N0NERlx1N0NEOVx1N0NERFx1N0UyRVx1N0UzRVx1N0U0Nlx1N0UzN1x1N0UzMlx1N0U0M1x1N0UyQlx1N0UzRFx1N0UzMVx1N0U0NVx1N0U0MVx1N0UzNFx1N0UzOVx1N0U0OFx1N0UzNVx1N0UzRlx1N0UyRlx1N0Y0NFx1N0ZGM1x1N0ZGQ1x1ODA3MVx1ODA3Mlx1ODA3MFx1ODA2Rlx1ODA3M1x1ODFDNlx1ODFDM1x1ODFCQVx1ODFDMlx1ODFDMFx1ODFCRlx1ODFCRFx1ODFDOVx1ODFCRVx1ODFFOFx1ODIwOVx1ODI3MVx1ODVBQVwiXSxcbltcImMxYTFcIixcIlx1ODU4NFx1ODU3RVx1ODU5Q1x1ODU5MVx1ODU5NFx1ODVBRlx1ODU5Qlx1ODU4N1x1ODVBOFx1ODU4QVx1ODY2N1x1ODdDMFx1ODdEMVx1ODdCM1x1ODdEMlx1ODdDNlx1ODdBQlx1ODdCQlx1ODdCQVx1ODdDOFx1ODdDQlx1ODkzQlx1ODkzNlx1ODk0NFx1ODkzOFx1ODkzRFx1ODlBQ1x1OEIwRVx1OEIxN1x1OEIxOVx1OEIxQlx1OEIwQVx1OEIyMFx1OEIxRFx1OEIwNFx1OEIxMFx1OEM0MVx1OEMzRlx1OEM3M1x1OENGQVx1OENGRFx1OENGQ1x1OENGOFx1OENGQlx1OERBOFx1OEU0OVx1OEU0Qlx1OEU0OFx1OEU0QVx1OEY0NFx1OEYzRVx1OEY0Mlx1OEY0NVx1OEYzRlx1OTA3Rlx1OTA3RFx1OTA4NFx1OTA4MVx1OTA4Mlx1OTA4MFx1OTEzOVx1OTFBM1x1OTE5RVx1OTE5Q1x1OTM0RFx1OTM4Mlx1OTMyOFx1OTM3NVx1OTM0QVx1OTM2NVx1OTM0Qlx1OTMxOFx1OTM3RVx1OTM2Q1x1OTM1Qlx1OTM3MFx1OTM1QVx1OTM1NFx1OTVDQVx1OTVDQlx1OTVDQ1x1OTVDOFx1OTVDNlx1OTZCMVx1OTZCOFx1OTZENlx1OTcxQ1x1OTcxRVx1OTdBMFx1OTdEM1x1OTg0Nlx1OThCNlx1OTkzNVx1OUEwMVwiXSxcbltcImMyNDBcIixcIlx1OTlGRlx1OUJBRVx1OUJBQlx1OUJBQVx1OUJBRFx1OUQzQlx1OUQzRlx1OUU4Qlx1OUVDRlx1OUVERVx1OUVEQ1x1OUVERFx1OUVEQlx1OUYzRVx1OUY0Qlx1NTNFMlx1NTY5NVx1NTZBRVx1NThEOVx1NThEOFx1NUIzOFx1NUY1RFx1NjFFM1x1NjIzM1x1NjRGNFx1NjRGMlx1NjRGRVx1NjUwNlx1NjRGQVx1NjRGQlx1NjRGN1x1NjVCN1x1NjZEQ1x1NjcyNlx1NkFCM1x1NkFBQ1x1NkFDM1x1NkFCQlx1NkFCOFx1NkFDMlx1NkFBRVx1NkFBRlx1NkI1Rlx1NkI3OFx1NkJBRlx1NzAwOVx1NzAwQlx1NkZGRVx1NzAwNlx1NkZGQVx1NzAxMVx1NzAwRlx1NzFGQlx1NzFGQ1x1NzFGRVx1NzFGOFx1NzM3N1x1NzM3NVx1NzRBN1x1NzRCRlx1NzUxNVx1NzY1Nlx1NzY1OFwiXSxcbltcImMyYTFcIixcIlx1NzY1Mlx1NzdCRFx1NzdCRlx1NzdCQlx1NzdCQ1x1NzkwRVx1NzlBRVx1N0E2MVx1N0E2Mlx1N0E2MFx1N0FDNFx1N0FDNVx1N0MyQlx1N0MyN1x1N0MyQVx1N0MxRVx1N0MyM1x1N0MyMVx1N0NFN1x1N0U1NFx1N0U1NVx1N0U1RVx1N0U1QVx1N0U2MVx1N0U1Mlx1N0U1OVx1N0Y0OFx1N0ZGOVx1N0ZGQlx1ODA3N1x1ODA3Nlx1ODFDRFx1ODFDRlx1ODIwQVx1ODVDRlx1ODVBOVx1ODVDRFx1ODVEMFx1ODVDOVx1ODVCMFx1ODVCQVx1ODVCOVx1ODVBNlx1ODdFRlx1ODdFQ1x1ODdGMlx1ODdFMFx1ODk4Nlx1ODlCMlx1ODlGNFx1OEIyOFx1OEIzOVx1OEIyQ1x1OEIyQlx1OEM1MFx1OEQwNVx1OEU1OVx1OEU2M1x1OEU2Nlx1OEU2NFx1OEU1Rlx1OEU1NVx1OEVDMFx1OEY0OVx1OEY0RFx1OTA4N1x1OTA4M1x1OTA4OFx1OTFBQlx1OTFBQ1x1OTFEMFx1OTM5NFx1OTM4QVx1OTM5Nlx1OTNBMlx1OTNCM1x1OTNBRVx1OTNBQ1x1OTNCMFx1OTM5OFx1OTM5QVx1OTM5N1x1OTVENFx1OTVENlx1OTVEMFx1OTVENVx1OTZFMlx1OTZEQ1x1OTZEOVx1OTZEQlx1OTZERVx1OTcyNFx1OTdBM1x1OTdBNlwiXSxcbltcImMzNDBcIixcIlx1OTdBRFx1OTdGOVx1OTg0RFx1OTg0Rlx1OTg0Q1x1OTg0RVx1OTg1M1x1OThCQVx1OTkzRVx1OTkzRlx1OTkzRFx1OTkyRVx1OTlBNVx1OUEwRVx1OUFDMVx1OUIwM1x1OUIwNlx1OUI0Rlx1OUI0RVx1OUI0RFx1OUJDQVx1OUJDOVx1OUJGRFx1OUJDOFx1OUJDMFx1OUQ1MVx1OUQ1RFx1OUQ2MFx1OUVFMFx1OUYxNVx1OUYyQ1x1NTEzM1x1NTZBNVx1NThERVx1NThERlx1NThFMlx1NUJGNVx1OUY5MFx1NUVFQ1x1NjFGMlx1NjFGN1x1NjFGNlx1NjFGNVx1NjUwMFx1NjUwRlx1NjZFMFx1NjZERFx1NkFFNVx1NkFERFx1NkFEQVx1NkFEM1x1NzAxQlx1NzAxRlx1NzAyOFx1NzAxQVx1NzAxRFx1NzAxNVx1NzAxOFx1NzIwNlx1NzIwRFx1NzI1OFx1NzJBMlx1NzM3OFwiXSxcbltcImMzYTFcIixcIlx1NzM3QVx1NzRCRFx1NzRDQVx1NzRFM1x1NzU4N1x1NzU4Nlx1NzY1Rlx1NzY2MVx1NzdDN1x1NzkxOVx1NzlCMVx1N0E2Qlx1N0E2OVx1N0MzRVx1N0MzRlx1N0MzOFx1N0MzRFx1N0MzN1x1N0M0MFx1N0U2Qlx1N0U2RFx1N0U3OVx1N0U2OVx1N0U2QVx1N0Y4NVx1N0U3M1x1N0ZCNlx1N0ZCOVx1N0ZCOFx1ODFEOFx1ODVFOVx1ODVERFx1ODVFQVx1ODVENVx1ODVFNFx1ODVFNVx1ODVGN1x1ODdGQlx1ODgwNVx1ODgwRFx1ODdGOVx1ODdGRVx1ODk2MFx1ODk1Rlx1ODk1Nlx1ODk1RVx1OEI0MVx1OEI1Q1x1OEI1OFx1OEI0OVx1OEI1QVx1OEI0RVx1OEI0Rlx1OEI0Nlx1OEI1OVx1OEQwOFx1OEQwQVx1OEU3Q1x1OEU3Mlx1OEU4N1x1OEU3Nlx1OEU2Q1x1OEU3QVx1OEU3NFx1OEY1NFx1OEY0RVx1OEZBRFx1OTA4QVx1OTA4Qlx1OTFCMVx1OTFBRVx1OTNFMVx1OTNEMVx1OTNERlx1OTNDM1x1OTNDOFx1OTNEQ1x1OTNERFx1OTNENlx1OTNFMlx1OTNDRFx1OTNEOFx1OTNFNFx1OTNEN1x1OTNFOFx1OTVEQ1x1OTZCNFx1OTZFM1x1OTcyQVx1OTcyN1x1OTc2MVx1OTdEQ1x1OTdGQlx1OTg1RVwiXSxcbltcImM0NDBcIixcIlx1OTg1OFx1OTg1Qlx1OThCQ1x1OTk0NVx1OTk0OVx1OUExNlx1OUExOVx1OUIwRFx1OUJFOFx1OUJFN1x1OUJENlx1OUJEQlx1OUQ4OVx1OUQ2MVx1OUQ3Mlx1OUQ2QVx1OUQ2Q1x1OUU5Mlx1OUU5N1x1OUU5M1x1OUVCNFx1NTJGOFx1NTZBOFx1NTZCN1x1NTZCNlx1NTZCNFx1NTZCQ1x1NThFNFx1NUI0MFx1NUI0M1x1NUI3RFx1NUJGNlx1NURDOVx1NjFGOFx1NjFGQVx1NjUxOFx1NjUxNFx1NjUxOVx1NjZFNlx1NjcyN1x1NkFFQ1x1NzAzRVx1NzAzMFx1NzAzMlx1NzIxMFx1NzM3Qlx1NzRDRlx1NzY2Mlx1NzY2NVx1NzkyNlx1NzkyQVx1NzkyQ1x1NzkyQlx1N0FDN1x1N0FGNlx1N0M0Q1x1N0M0M1x1N0M0RFx1N0NFRlx1N0NGMFx1OEZBRVx1N0U3RFx1N0U3Q1wiXSxcbltcImM0YTFcIixcIlx1N0U4Mlx1N0Y0Q1x1ODAwMFx1ODFEQVx1ODI2Nlx1ODVGQlx1ODVGOVx1ODYxMVx1ODVGQVx1ODYwNlx1ODYwQlx1ODYwN1x1ODYwQVx1ODgxNFx1ODgxNVx1ODk2NFx1ODlCQVx1ODlGOFx1OEI3MFx1OEI2Q1x1OEI2Nlx1OEI2Rlx1OEI1Rlx1OEI2Qlx1OEQwRlx1OEQwRFx1OEU4OVx1OEU4MVx1OEU4NVx1OEU4Mlx1OTFCNFx1OTFDQlx1OTQxOFx1OTQwM1x1OTNGRFx1OTVFMVx1OTczMFx1OThDNFx1OTk1Mlx1OTk1MVx1OTlBOFx1OUEyQlx1OUEzMFx1OUEzN1x1OUEzNVx1OUMxM1x1OUMwRFx1OUU3OVx1OUVCNVx1OUVFOFx1OUYyRlx1OUY1Rlx1OUY2M1x1OUY2MVx1NTEzN1x1NTEzOFx1NTZDMVx1NTZDMFx1NTZDMlx1NTkxNFx1NUM2Q1x1NURDRFx1NjFGQ1x1NjFGRVx1NjUxRFx1NjUxQ1x1NjU5NVx1NjZFOVx1NkFGQlx1NkIwNFx1NkFGQVx1NkJCMlx1NzA0Q1x1NzIxQlx1NzJBN1x1NzRENlx1NzRENFx1NzY2OVx1NzdEM1x1N0M1MFx1N0U4Rlx1N0U4Q1x1N0ZCQ1x1ODYxN1x1ODYyRFx1ODYxQVx1ODgyM1x1ODgyMlx1ODgyMVx1ODgxRlx1ODk2QVx1ODk2Q1x1ODlCRFx1OEI3NFwiXSxcbltcImM1NDBcIixcIlx1OEI3N1x1OEI3RFx1OEQxM1x1OEU4QVx1OEU4RFx1OEU4Qlx1OEY1Rlx1OEZBRlx1OTFCQVx1OTQyRVx1OTQzM1x1OTQzNVx1OTQzQVx1OTQzOFx1OTQzMlx1OTQyQlx1OTVFMlx1OTczOFx1OTczOVx1OTczMlx1OTdGRlx1OTg2N1x1OTg2NVx1OTk1N1x1OUE0NVx1OUE0M1x1OUE0MFx1OUEzRVx1OUFDRlx1OUI1NFx1OUI1MVx1OUMyRFx1OUMyNVx1OURBRlx1OURCNFx1OURDMlx1OURCOFx1OUU5RFx1OUVFRlx1OUYxOVx1OUY1Q1x1OUY2Nlx1OUY2N1x1NTEzQ1x1NTEzQlx1NTZDOFx1NTZDQVx1NTZDOVx1NUI3Rlx1NURENFx1NUREMlx1NUY0RVx1NjFGRlx1NjUyNFx1NkIwQVx1NkI2MVx1NzA1MVx1NzA1OFx1NzM4MFx1NzRFNFx1NzU4QVx1NzY2RVx1NzY2Q1wiXSxcbltcImM1YTFcIixcIlx1NzlCM1x1N0M2MFx1N0M1Rlx1ODA3RVx1ODA3RFx1ODFERlx1ODk3Mlx1ODk2Rlx1ODlGQ1x1OEI4MFx1OEQxNlx1OEQxN1x1OEU5MVx1OEU5M1x1OEY2MVx1OTE0OFx1OTQ0NFx1OTQ1MVx1OTQ1Mlx1OTczRFx1OTczRVx1OTdDM1x1OTdDMVx1OTg2Qlx1OTk1NVx1OUE1NVx1OUE0RFx1OUFEMlx1OUIxQVx1OUM0OVx1OUMzMVx1OUMzRVx1OUMzQlx1OUREM1x1OUREN1x1OUYzNFx1OUY2Q1x1OUY2QVx1OUY5NFx1NTZDQ1x1NURENlx1NjIwMFx1NjUyM1x1NjUyQlx1NjUyQVx1NjZFQ1x1NkIxMFx1NzREQVx1N0FDQVx1N0M2NFx1N0M2M1x1N0M2NVx1N0U5M1x1N0U5Nlx1N0U5NFx1ODFFMlx1ODYzOFx1ODYzRlx1ODgzMVx1OEI4QVx1OTA5MFx1OTA4Rlx1OTQ2M1x1OTQ2MFx1OTQ2NFx1OTc2OFx1OTg2Rlx1OTk1Q1x1OUE1QVx1OUE1Qlx1OUE1N1x1OUFEM1x1OUFENFx1OUFEMVx1OUM1NFx1OUM1N1x1OUM1Nlx1OURFNVx1OUU5Rlx1OUVGNFx1NTZEMVx1NThFOVx1NjUyQ1x1NzA1RVx1NzY3MVx1NzY3Mlx1NzdEN1x1N0Y1MFx1N0Y4OFx1ODgzNlx1ODgzOVx1ODg2Mlx1OEI5M1x1OEI5MlwiXSxcbltcImM2NDBcIixcIlx1OEI5Nlx1ODI3N1x1OEQxQlx1OTFDMFx1OTQ2QVx1OTc0Mlx1OTc0OFx1OTc0NFx1OTdDNlx1OTg3MFx1OUE1Rlx1OUIyMlx1OUI1OFx1OUM1Rlx1OURGOVx1OURGQVx1OUU3Q1x1OUU3RFx1OUYwN1x1OUY3N1x1OUY3Mlx1NUVGM1x1NkIxNlx1NzA2M1x1N0M2Q1x1N0M2RVx1ODgzQlx1ODlDMFx1OEVBMVx1OTFDMVx1OTQ3Mlx1OTQ3MFx1OTg3MVx1OTk1RVx1OUFENlx1OUIyM1x1OUVDQ1x1NzA2NFx1NzdEQVx1OEI5QVx1OTQ3N1x1OTdDOVx1OUE2Mlx1OUE2NVx1N0U5Q1x1OEI5Q1x1OEVBQVx1OTFDNVx1OTQ3RFx1OTQ3RVx1OTQ3Q1x1OUM3N1x1OUM3OFx1OUVGN1x1OEM1NFx1OTQ3Rlx1OUUxQVx1NzIyOFx1OUE2QVx1OUIzMVx1OUUxQlx1OUUxRVx1N0M3MlwiXSxcbltcImM5NDBcIixcIlx1NEU0Mlx1NEU1Q1x1NTFGNVx1NTMxQVx1NTM4Mlx1NEUwN1x1NEUwQ1x1NEU0N1x1NEU4RFx1NTZEN1x1RkEwQ1x1NUM2RVx1NUY3M1x1NEUwRlx1NTE4N1x1NEUwRVx1NEUyRVx1NEU5M1x1NEVDMlx1NEVDOVx1NEVDOFx1NTE5OFx1NTJGQ1x1NTM2Q1x1NTNCOVx1NTcyMFx1NTkwM1x1NTkyQ1x1NUMxMFx1NURGRlx1NjVFMVx1NkJCM1x1NkJDQ1x1NkMxNFx1NzIzRlx1NEUzMVx1NEUzQ1x1NEVFOFx1NEVEQ1x1NEVFOVx1NEVFMVx1NEVERFx1NEVEQVx1NTIwQ1x1NTMxQ1x1NTM0Q1x1NTcyMlx1NTcyM1x1NTkxN1x1NTkyRlx1NUI4MVx1NUI4NFx1NUMxMlx1NUMzQlx1NUM3NFx1NUM3M1x1NUUwNFx1NUU4MFx1NUU4Mlx1NUZDOVx1NjIwOVx1NjI1MFx1NkMxNVwiXSxcbltcImM5YTFcIixcIlx1NkMzNlx1NkM0M1x1NkMzRlx1NkMzQlx1NzJBRVx1NzJCMFx1NzM4QVx1NzlCOFx1ODA4QVx1OTYxRVx1NEYwRVx1NEYxOFx1NEYyQ1x1NEVGNVx1NEYxNFx1NEVGMVx1NEYwMFx1NEVGN1x1NEYwOFx1NEYxRFx1NEYwMlx1NEYwNVx1NEYyMlx1NEYxM1x1NEYwNFx1NEVGNFx1NEYxMlx1NTFCMVx1NTIxM1x1NTIwOVx1NTIxMFx1NTJBNlx1NTMyMlx1NTMxRlx1NTM0RFx1NTM4QVx1NTQwN1x1NTZFMVx1NTZERlx1NTcyRVx1NTcyQVx1NTczNFx1NTkzQ1x1NTk4MFx1NTk3Q1x1NTk4NVx1NTk3Qlx1NTk3RVx1NTk3N1x1NTk3Rlx1NUI1Nlx1NUMxNVx1NUMyNVx1NUM3Q1x1NUM3QVx1NUM3Qlx1NUM3RVx1NURERlx1NUU3NVx1NUU4NFx1NUYwMlx1NUYxQVx1NUY3NFx1NUZENVx1NUZENFx1NUZDRlx1NjI1Q1x1NjI1RVx1NjI2NFx1NjI2MVx1NjI2Nlx1NjI2Mlx1NjI1OVx1NjI2MFx1NjI1QVx1NjI2NVx1NjVFRlx1NjVFRVx1NjczRVx1NjczOVx1NjczOFx1NjczQlx1NjczQVx1NjczRlx1NjczQ1x1NjczM1x1NkMxOFx1NkM0Nlx1NkM1Mlx1NkM1Q1x1NkM0Rlx1NkM0QVx1NkM1NFx1NkM0QlwiXSxcbltcImNhNDBcIixcIlx1NkM0Q1x1NzA3MVx1NzI1RVx1NzJCNFx1NzJCNVx1NzM4RVx1NzUyQVx1NzY3Rlx1N0E3NVx1N0Y1MVx1ODI3OFx1ODI3Q1x1ODI4MFx1ODI3RFx1ODI3Rlx1ODY0RFx1ODk3RVx1OTA5OVx1OTA5N1x1OTA5OFx1OTA5Qlx1OTA5NFx1OTYyMlx1OTYyNFx1OTYyMFx1OTYyM1x1NEY1Nlx1NEYzQlx1NEY2Mlx1NEY0OVx1NEY1M1x1NEY2NFx1NEYzRVx1NEY2N1x1NEY1Mlx1NEY1Rlx1NEY0MVx1NEY1OFx1NEYyRFx1NEYzM1x1NEYzRlx1NEY2MVx1NTE4Rlx1NTFCOVx1NTIxQ1x1NTIxRVx1NTIyMVx1NTJBRFx1NTJBRVx1NTMwOVx1NTM2M1x1NTM3Mlx1NTM4RVx1NTM4Rlx1NTQzMFx1NTQzN1x1NTQyQVx1NTQ1NFx1NTQ0NVx1NTQxOVx1NTQxQ1x1NTQyNVx1NTQxOFwiXSxcbltcImNhYTFcIixcIlx1NTQzRFx1NTQ0Rlx1NTQ0MVx1NTQyOFx1NTQyNFx1NTQ0N1x1NTZFRVx1NTZFN1x1NTZFNVx1NTc0MVx1NTc0NVx1NTc0Q1x1NTc0OVx1NTc0Qlx1NTc1Mlx1NTkwNlx1NTk0MFx1NTlBNlx1NTk5OFx1NTlBMFx1NTk5N1x1NTk4RVx1NTlBMlx1NTk5MFx1NTk4Rlx1NTlBN1x1NTlBMVx1NUI4RVx1NUI5Mlx1NUMyOFx1NUMyQVx1NUM4RFx1NUM4Rlx1NUM4OFx1NUM4Qlx1NUM4OVx1NUM5Mlx1NUM4QVx1NUM4Nlx1NUM5M1x1NUM5NVx1NURFMFx1NUUwQVx1NUUwRVx1NUU4Qlx1NUU4OVx1NUU4Q1x1NUU4OFx1NUU4RFx1NUYwNVx1NUYxRFx1NUY3OFx1NUY3Nlx1NUZEMlx1NUZEMVx1NUZEMFx1NUZFRFx1NUZFOFx1NUZFRVx1NUZGM1x1NUZFMVx1NUZFNFx1NUZFM1x1NUZGQVx1NUZFRlx1NUZGN1x1NUZGQlx1NjAwMFx1NUZGNFx1NjIzQVx1NjI4M1x1NjI4Q1x1NjI4RVx1NjI4Rlx1NjI5NFx1NjI4N1x1NjI3MVx1NjI3Qlx1NjI3QVx1NjI3MFx1NjI4MVx1NjI4OFx1NjI3N1x1NjI3RFx1NjI3Mlx1NjI3NFx1NjUzN1x1NjVGMFx1NjVGNFx1NjVGM1x1NjVGMlx1NjVGNVx1Njc0NVx1Njc0N1wiXSxcbltcImNiNDBcIixcIlx1Njc1OVx1Njc1NVx1Njc0Q1x1Njc0OFx1Njc1RFx1Njc0RFx1Njc1QVx1Njc0Qlx1NkJEMFx1NkMxOVx1NkMxQVx1NkM3OFx1NkM2N1x1NkM2Qlx1NkM4NFx1NkM4Qlx1NkM4Rlx1NkM3MVx1NkM2Rlx1NkM2OVx1NkM5QVx1NkM2RFx1NkM4N1x1NkM5NVx1NkM5Q1x1NkM2Nlx1NkM3M1x1NkM2NVx1NkM3Qlx1NkM4RVx1NzA3NFx1NzA3QVx1NzI2M1x1NzJCRlx1NzJCRFx1NzJDM1x1NzJDNlx1NzJDMVx1NzJCQVx1NzJDNVx1NzM5NVx1NzM5N1x1NzM5M1x1NzM5NFx1NzM5Mlx1NzUzQVx1NzUzOVx1NzU5NFx1NzU5NVx1NzY4MVx1NzkzRFx1ODAzNFx1ODA5NVx1ODA5OVx1ODA5MFx1ODA5Mlx1ODA5Q1x1ODI5MFx1ODI4Rlx1ODI4NVx1ODI4RVx1ODI5MVx1ODI5M1wiXSxcbltcImNiYTFcIixcIlx1ODI4QVx1ODI4M1x1ODI4NFx1OEM3OFx1OEZDOVx1OEZCRlx1OTA5Rlx1OTBBMVx1OTBBNVx1OTA5RVx1OTBBN1x1OTBBMFx1OTYzMFx1OTYyOFx1OTYyRlx1OTYyRFx1NEUzM1x1NEY5OFx1NEY3Q1x1NEY4NVx1NEY3RFx1NEY4MFx1NEY4N1x1NEY3Nlx1NEY3NFx1NEY4OVx1NEY4NFx1NEY3N1x1NEY0Q1x1NEY5N1x1NEY2QVx1NEY5QVx1NEY3OVx1NEY4MVx1NEY3OFx1NEY5MFx1NEY5Q1x1NEY5NFx1NEY5RVx1NEY5Mlx1NEY4Mlx1NEY5NVx1NEY2Qlx1NEY2RVx1NTE5RVx1NTFCQ1x1NTFCRVx1NTIzNVx1NTIzMlx1NTIzM1x1NTI0Nlx1NTIzMVx1NTJCQ1x1NTMwQVx1NTMwQlx1NTMzQ1x1NTM5Mlx1NTM5NFx1NTQ4N1x1NTQ3Rlx1NTQ4MVx1NTQ5MVx1NTQ4Mlx1NTQ4OFx1NTQ2Qlx1NTQ3QVx1NTQ3RVx1NTQ2NVx1NTQ2Q1x1NTQ3NFx1NTQ2Nlx1NTQ4RFx1NTQ2Rlx1NTQ2MVx1NTQ2MFx1NTQ5OFx1NTQ2M1x1NTQ2N1x1NTQ2NFx1NTZGN1x1NTZGOVx1NTc2Rlx1NTc3Mlx1NTc2RFx1NTc2Qlx1NTc3MVx1NTc3MFx1NTc3Nlx1NTc4MFx1NTc3NVx1NTc3Qlx1NTc3M1x1NTc3NFx1NTc2MlwiXSxcbltcImNjNDBcIixcIlx1NTc2OFx1NTc3RFx1NTkwQ1x1NTk0NVx1NTlCNVx1NTlCQVx1NTlDRlx1NTlDRVx1NTlCMlx1NTlDQ1x1NTlDMVx1NTlCNlx1NTlCQ1x1NTlDM1x1NTlENlx1NTlCMVx1NTlCRFx1NTlDMFx1NTlDOFx1NTlCNFx1NTlDN1x1NUI2Mlx1NUI2NVx1NUI5M1x1NUI5NVx1NUM0NFx1NUM0N1x1NUNBRVx1NUNBNFx1NUNBMFx1NUNCNVx1NUNBRlx1NUNBOFx1NUNBQ1x1NUM5Rlx1NUNBM1x1NUNBRFx1NUNBMlx1NUNBQVx1NUNBN1x1NUM5RFx1NUNBNVx1NUNCNlx1NUNCMFx1NUNBNlx1NUUxN1x1NUUxNFx1NUUxOVx1NUYyOFx1NUYyMlx1NUYyM1x1NUYyNFx1NUY1NFx1NUY4Mlx1NUY3RVx1NUY3RFx1NUZERVx1NUZFNVx1NjAyRFx1NjAyNlx1NjAxOVx1NjAzMlx1NjAwQlwiXSxcbltcImNjYTFcIixcIlx1NjAzNFx1NjAwQVx1NjAxN1x1NjAzM1x1NjAxQVx1NjAxRVx1NjAyQ1x1NjAyMlx1NjAwRFx1NjAxMFx1NjAyRVx1NjAxM1x1NjAxMVx1NjAwQ1x1NjAwOVx1NjAxQ1x1NjIxNFx1NjIzRFx1NjJBRFx1NjJCNFx1NjJEMVx1NjJCRVx1NjJBQVx1NjJCNlx1NjJDQVx1NjJBRVx1NjJCM1x1NjJBRlx1NjJCQlx1NjJBOVx1NjJCMFx1NjJCOFx1NjUzRFx1NjVBOFx1NjVCQlx1NjYwOVx1NjVGQ1x1NjYwNFx1NjYxMlx1NjYwOFx1NjVGQlx1NjYwM1x1NjYwQlx1NjYwRFx1NjYwNVx1NjVGRFx1NjYxMVx1NjYxMFx1NjZGNlx1NjcwQVx1Njc4NVx1Njc2Q1x1Njc4RVx1Njc5Mlx1Njc3Nlx1Njc3Qlx1Njc5OFx1Njc4Nlx1Njc4NFx1Njc3NFx1Njc4RFx1Njc4Q1x1Njc3QVx1Njc5Rlx1Njc5MVx1Njc5OVx1Njc4M1x1Njc3RFx1Njc4MVx1Njc3OFx1Njc3OVx1Njc5NFx1NkIyNVx1NkI4MFx1NkI3RVx1NkJERVx1NkMxRFx1NkM5M1x1NkNFQ1x1NkNFQlx1NkNFRVx1NkNEOVx1NkNCNlx1NkNENFx1NkNBRFx1NkNFN1x1NkNCN1x1NkNEMFx1NkNDMlx1NkNCQVx1NkNDM1x1NkNDNlx1NkNFRFx1NkNGMlwiXSxcbltcImNkNDBcIixcIlx1NkNEMlx1NkNERFx1NkNCNFx1NkM4QVx1NkM5RFx1NkM4MFx1NkNERVx1NkNDMFx1NkQzMFx1NkNDRFx1NkNDN1x1NkNCMFx1NkNGOVx1NkNDRlx1NkNFOVx1NkNEMVx1NzA5NFx1NzA5OFx1NzA4NVx1NzA5M1x1NzA4Nlx1NzA4NFx1NzA5MVx1NzA5Nlx1NzA4Mlx1NzA5QVx1NzA4M1x1NzI2QVx1NzJENlx1NzJDQlx1NzJEOFx1NzJDOVx1NzJEQ1x1NzJEMlx1NzJENFx1NzJEQVx1NzJDQ1x1NzJEMVx1NzNBNFx1NzNBMVx1NzNBRFx1NzNBNlx1NzNBMlx1NzNBMFx1NzNBQ1x1NzM5RFx1NzRERFx1NzRFOFx1NzUzRlx1NzU0MFx1NzUzRVx1NzU4Q1x1NzU5OFx1NzZBRlx1NzZGM1x1NzZGMVx1NzZGMFx1NzZGNVx1NzdGOFx1NzdGQ1x1NzdGOVx1NzdGQlx1NzdGQVwiXSxcbltcImNkYTFcIixcIlx1NzdGN1x1Nzk0Mlx1NzkzRlx1NzlDNVx1N0E3OFx1N0E3Qlx1N0FGQlx1N0M3NVx1N0NGRFx1ODAzNVx1ODA4Rlx1ODBBRVx1ODBBM1x1ODBCOFx1ODBCNVx1ODBBRFx1ODIyMFx1ODJBMFx1ODJDMFx1ODJBQlx1ODI5QVx1ODI5OFx1ODI5Qlx1ODJCNVx1ODJBN1x1ODJBRVx1ODJCQ1x1ODI5RVx1ODJCQVx1ODJCNFx1ODJBOFx1ODJBMVx1ODJBOVx1ODJDMlx1ODJBNFx1ODJDM1x1ODJCNlx1ODJBMlx1ODY3MFx1ODY2Rlx1ODY2RFx1ODY2RVx1OEM1Nlx1OEZEMlx1OEZDQlx1OEZEM1x1OEZDRFx1OEZENlx1OEZENVx1OEZEN1x1OTBCMlx1OTBCNFx1OTBBRlx1OTBCM1x1OTBCMFx1OTYzOVx1OTYzRFx1OTYzQ1x1OTYzQVx1OTY0M1x1NEZDRFx1NEZDNVx1NEZEM1x1NEZCMlx1NEZDOVx1NEZDQlx1NEZDMVx1NEZENFx1NEZEQ1x1NEZEOVx1NEZCQlx1NEZCM1x1NEZEQlx1NEZDN1x1NEZENlx1NEZCQVx1NEZDMFx1NEZCOVx1NEZFQ1x1NTI0NFx1NTI0OVx1NTJDMFx1NTJDMlx1NTMzRFx1NTM3Q1x1NTM5N1x1NTM5Nlx1NTM5OVx1NTM5OFx1NTRCQVx1NTRBMVx1NTRBRFx1NTRBNVx1NTRDRlwiXSxcbltcImNlNDBcIixcIlx1NTRDM1x1ODMwRFx1NTRCN1x1NTRBRVx1NTRENlx1NTRCNlx1NTRDNVx1NTRDNlx1NTRBMFx1NTQ3MFx1NTRCQ1x1NTRBMlx1NTRCRVx1NTQ3Mlx1NTRERVx1NTRCMFx1NTdCNVx1NTc5RVx1NTc5Rlx1NTdBNFx1NTc4Q1x1NTc5N1x1NTc5RFx1NTc5Qlx1NTc5NFx1NTc5OFx1NTc4Rlx1NTc5OVx1NTdBNVx1NTc5QVx1NTc5NVx1NThGNFx1NTkwRFx1NTk1M1x1NTlFMVx1NTlERVx1NTlFRVx1NUEwMFx1NTlGMVx1NTlERFx1NTlGQVx1NTlGRFx1NTlGQ1x1NTlGNlx1NTlFNFx1NTlGMlx1NTlGN1x1NTlEQlx1NTlFOVx1NTlGM1x1NTlGNVx1NTlFMFx1NTlGRVx1NTlGNFx1NTlFRFx1NUJBOFx1NUM0Q1x1NUNEMFx1NUNEOFx1NUNDQ1x1NUNEN1x1NUNDQlx1NUNEQlwiXSxcbltcImNlYTFcIixcIlx1NUNERVx1NUNEQVx1NUNDOVx1NUNDN1x1NUNDQVx1NUNENlx1NUNEM1x1NUNENFx1NUNDRlx1NUNDOFx1NUNDNlx1NUNDRVx1NUNERlx1NUNGOFx1NURGOVx1NUUyMVx1NUUyMlx1NUUyM1x1NUUyMFx1NUUyNFx1NUVCMFx1NUVBNFx1NUVBMlx1NUU5Qlx1NUVBM1x1NUVBNVx1NUYwN1x1NUYyRVx1NUY1Nlx1NUY4Nlx1NjAzN1x1NjAzOVx1NjA1NFx1NjA3Mlx1NjA1RVx1NjA0NVx1NjA1M1x1NjA0N1x1NjA0OVx1NjA1Qlx1NjA0Q1x1NjA0MFx1NjA0Mlx1NjA1Rlx1NjAyNFx1NjA0NFx1NjA1OFx1NjA2Nlx1NjA2RVx1NjI0Mlx1NjI0M1x1NjJDRlx1NjMwRFx1NjMwQlx1NjJGNVx1NjMwRVx1NjMwM1x1NjJFQlx1NjJGOVx1NjMwRlx1NjMwQ1x1NjJGOFx1NjJGNlx1NjMwMFx1NjMxM1x1NjMxNFx1NjJGQVx1NjMxNVx1NjJGQlx1NjJGMFx1NjU0MVx1NjU0M1x1NjVBQVx1NjVCRlx1NjYzNlx1NjYyMVx1NjYzMlx1NjYzNVx1NjYxQ1x1NjYyNlx1NjYyMlx1NjYzM1x1NjYyQlx1NjYzQVx1NjYxRFx1NjYzNFx1NjYzOVx1NjYyRVx1NjcwRlx1NjcxMFx1NjdDMVx1NjdGMlx1NjdDOFx1NjdCQVwiXSxcbltcImNmNDBcIixcIlx1NjdEQ1x1NjdCQlx1NjdGOFx1NjdEOFx1NjdDMFx1NjdCN1x1NjdDNVx1NjdFQlx1NjdFNFx1NjdERlx1NjdCNVx1NjdDRFx1NjdCM1x1NjdGN1x1NjdGNlx1NjdFRVx1NjdFM1x1NjdDMlx1NjdCOVx1NjdDRVx1NjdFN1x1NjdGMFx1NjdCMlx1NjdGQ1x1NjdDNlx1NjdFRFx1NjdDQ1x1NjdBRVx1NjdFNlx1NjdEQlx1NjdGQVx1NjdDOVx1NjdDQVx1NjdDM1x1NjdFQVx1NjdDQlx1NkIyOFx1NkI4Mlx1NkI4NFx1NkJCNlx1NkJENlx1NkJEOFx1NkJFMFx1NkMyMFx1NkMyMVx1NkQyOFx1NkQzNFx1NkQyRFx1NkQxRlx1NkQzQ1x1NkQzRlx1NkQxMlx1NkQwQVx1NkNEQVx1NkQzM1x1NkQwNFx1NkQxOVx1NkQzQVx1NkQxQVx1NkQxMVx1NkQwMFx1NkQxRFx1NkQ0MlwiXSxcbltcImNmYTFcIixcIlx1NkQwMVx1NkQxOFx1NkQzN1x1NkQwM1x1NkQwRlx1NkQ0MFx1NkQwN1x1NkQyMFx1NkQyQ1x1NkQwOFx1NkQyMlx1NkQwOVx1NkQxMFx1NzBCN1x1NzA5Rlx1NzBCRVx1NzBCMVx1NzBCMFx1NzBBMVx1NzBCNFx1NzBCNVx1NzBBOVx1NzI0MVx1NzI0OVx1NzI0QVx1NzI2Q1x1NzI3MFx1NzI3M1x1NzI2RVx1NzJDQVx1NzJFNFx1NzJFOFx1NzJFQlx1NzJERlx1NzJFQVx1NzJFNlx1NzJFM1x1NzM4NVx1NzNDQ1x1NzNDMlx1NzNDOFx1NzNDNVx1NzNCOVx1NzNCNlx1NzNCNVx1NzNCNFx1NzNFQlx1NzNCRlx1NzNDN1x1NzNCRVx1NzNDM1x1NzNDNlx1NzNCOFx1NzNDQlx1NzRFQ1x1NzRFRVx1NzUyRVx1NzU0N1x1NzU0OFx1NzVBN1x1NzVBQVx1NzY3OVx1NzZDNFx1NzcwOFx1NzcwM1x1NzcwNFx1NzcwNVx1NzcwQVx1NzZGN1x1NzZGQlx1NzZGQVx1NzdFN1x1NzdFOFx1NzgwNlx1NzgxMVx1NzgxMlx1NzgwNVx1NzgxMFx1NzgwRlx1NzgwRVx1NzgwOVx1NzgwM1x1NzgxM1x1Nzk0QVx1Nzk0Q1x1Nzk0Qlx1Nzk0NVx1Nzk0NFx1NzlENVx1NzlDRFx1NzlDRlx1NzlENlx1NzlDRVx1N0E4MFwiXSxcbltcImQwNDBcIixcIlx1N0E3RVx1N0FEMVx1N0IwMFx1N0IwMVx1N0M3QVx1N0M3OFx1N0M3OVx1N0M3Rlx1N0M4MFx1N0M4MVx1N0QwM1x1N0QwOFx1N0QwMVx1N0Y1OFx1N0Y5MVx1N0Y4RFx1N0ZCRVx1ODAwN1x1ODAwRVx1ODAwRlx1ODAxNFx1ODAzN1x1ODBEOFx1ODBDN1x1ODBFMFx1ODBEMVx1ODBDOFx1ODBDMlx1ODBEMFx1ODBDNVx1ODBFM1x1ODBEOVx1ODBEQ1x1ODBDQVx1ODBENVx1ODBDOVx1ODBDRlx1ODBEN1x1ODBFNlx1ODBDRFx1ODFGRlx1ODIyMVx1ODI5NFx1ODJEOVx1ODJGRVx1ODJGOVx1ODMwN1x1ODJFOFx1ODMwMFx1ODJENVx1ODMzQVx1ODJFQlx1ODJENlx1ODJGNFx1ODJFQ1x1ODJFMVx1ODJGMlx1ODJGNVx1ODMwQ1x1ODJGQlx1ODJGNlx1ODJGMFx1ODJFQVwiXSxcbltcImQwYTFcIixcIlx1ODJFNFx1ODJFMFx1ODJGQVx1ODJGM1x1ODJFRFx1ODY3N1x1ODY3NFx1ODY3Q1x1ODY3M1x1ODg0MVx1ODg0RVx1ODg2N1x1ODg2QVx1ODg2OVx1ODlEM1x1OEEwNFx1OEEwN1x1OEQ3Mlx1OEZFM1x1OEZFMVx1OEZFRVx1OEZFMFx1OTBGMVx1OTBCRFx1OTBCRlx1OTBENVx1OTBDNVx1OTBCRVx1OTBDN1x1OTBDQlx1OTBDOFx1OTFENFx1OTFEM1x1OTY1NFx1OTY0Rlx1OTY1MVx1OTY1M1x1OTY0QVx1OTY0RVx1NTAxRVx1NTAwNVx1NTAwN1x1NTAxM1x1NTAyMlx1NTAzMFx1NTAxQlx1NEZGNVx1NEZGNFx1NTAzM1x1NTAzN1x1NTAyQ1x1NEZGNlx1NEZGN1x1NTAxN1x1NTAxQ1x1NTAyMFx1NTAyN1x1NTAzNVx1NTAyRlx1NTAzMVx1NTAwRVx1NTE1QVx1NTE5NFx1NTE5M1x1NTFDQVx1NTFDNFx1NTFDNVx1NTFDOFx1NTFDRVx1NTI2MVx1NTI1QVx1NTI1Mlx1NTI1RVx1NTI1Rlx1NTI1NVx1NTI2Mlx1NTJDRFx1NTMwRVx1NTM5RVx1NTUyNlx1NTRFMlx1NTUxN1x1NTUxMlx1NTRFN1x1NTRGM1x1NTRFNFx1NTUxQVx1NTRGRlx1NTUwNFx1NTUwOFx1NTRFQlx1NTUxMVx1NTUwNVx1NTRGMVwiXSxcbltcImQxNDBcIixcIlx1NTUwQVx1NTRGQlx1NTRGN1x1NTRGOFx1NTRFMFx1NTUwRVx1NTUwM1x1NTUwQlx1NTcwMVx1NTcwMlx1NTdDQ1x1NTgzMlx1NTdENVx1NTdEMlx1NTdCQVx1NTdDNlx1NTdCRFx1NTdCQ1x1NTdCOFx1NTdCNlx1NTdCRlx1NTdDN1x1NTdEMFx1NTdCOVx1NTdDMVx1NTkwRVx1NTk0QVx1NUExOVx1NUExNlx1NUEyRFx1NUEyRVx1NUExNVx1NUEwRlx1NUExN1x1NUEwQVx1NUExRVx1NUEzM1x1NUI2Q1x1NUJBN1x1NUJBRFx1NUJBQ1x1NUMwM1x1NUM1Nlx1NUM1NFx1NUNFQ1x1NUNGRlx1NUNFRVx1NUNGMVx1NUNGN1x1NUQwMFx1NUNGOVx1NUUyOVx1NUUyOFx1NUVBOFx1NUVBRVx1NUVBQVx1NUVBQ1x1NUYzM1x1NUYzMFx1NUY2N1x1NjA1RFx1NjA1QVx1NjA2N1wiXSxcbltcImQxYTFcIixcIlx1NjA0MVx1NjBBMlx1NjA4OFx1NjA4MFx1NjA5Mlx1NjA4MVx1NjA5RFx1NjA4M1x1NjA5NVx1NjA5Qlx1NjA5N1x1NjA4N1x1NjA5Q1x1NjA4RVx1NjIxOVx1NjI0Nlx1NjJGMlx1NjMxMFx1NjM1Nlx1NjMyQ1x1NjM0NFx1NjM0NVx1NjMzNlx1NjM0M1x1NjNFNFx1NjMzOVx1NjM0Qlx1NjM0QVx1NjMzQ1x1NjMyOVx1NjM0MVx1NjMzNFx1NjM1OFx1NjM1NFx1NjM1OVx1NjMyRFx1NjM0N1x1NjMzM1x1NjM1QVx1NjM1MVx1NjMzOFx1NjM1N1x1NjM0MFx1NjM0OFx1NjU0QVx1NjU0Nlx1NjVDNlx1NjVDM1x1NjVDNFx1NjVDMlx1NjY0QVx1NjY1Rlx1NjY0N1x1NjY1MVx1NjcxMlx1NjcxM1x1NjgxRlx1NjgxQVx1Njg0OVx1NjgzMlx1NjgzM1x1NjgzQlx1Njg0Qlx1Njg0Rlx1NjgxNlx1NjgzMVx1NjgxQ1x1NjgzNVx1NjgyQlx1NjgyRFx1NjgyRlx1Njg0RVx1Njg0NFx1NjgzNFx1NjgxRFx1NjgxMlx1NjgxNFx1NjgyNlx1NjgyOFx1NjgyRVx1Njg0RFx1NjgzQVx1NjgyNVx1NjgyMFx1NkIyQ1x1NkIyRlx1NkIyRFx1NkIzMVx1NkIzNFx1NkI2RFx1ODA4Mlx1NkI4OFx1NkJFNlx1NkJFNFwiXSxcbltcImQyNDBcIixcIlx1NkJFOFx1NkJFM1x1NkJFMlx1NkJFN1x1NkMyNVx1NkQ3QVx1NkQ2M1x1NkQ2NFx1NkQ3Nlx1NkQwRFx1NkQ2MVx1NkQ5Mlx1NkQ1OFx1NkQ2Mlx1NkQ2RFx1NkQ2Rlx1NkQ5MVx1NkQ4RFx1NkRFRlx1NkQ3Rlx1NkQ4Nlx1NkQ1RVx1NkQ2N1x1NkQ2MFx1NkQ5N1x1NkQ3MFx1NkQ3Q1x1NkQ1Rlx1NkQ4Mlx1NkQ5OFx1NkQyRlx1NkQ2OFx1NkQ4Qlx1NkQ3RVx1NkQ4MFx1NkQ4NFx1NkQxNlx1NkQ4M1x1NkQ3Qlx1NkQ3RFx1NkQ3NVx1NkQ5MFx1NzBEQ1x1NzBEM1x1NzBEMVx1NzBERFx1NzBDQlx1N0YzOVx1NzBFMlx1NzBEN1x1NzBEMlx1NzBERVx1NzBFMFx1NzBENFx1NzBDRFx1NzBDNVx1NzBDNlx1NzBDN1x1NzBEQVx1NzBDRVx1NzBFMVx1NzI0Mlx1NzI3OFwiXSxcbltcImQyYTFcIixcIlx1NzI3N1x1NzI3Nlx1NzMwMFx1NzJGQVx1NzJGNFx1NzJGRVx1NzJGNlx1NzJGM1x1NzJGQlx1NzMwMVx1NzNEM1x1NzNEOVx1NzNFNVx1NzNENlx1NzNCQ1x1NzNFN1x1NzNFM1x1NzNFOVx1NzNEQ1x1NzNEMlx1NzNEQlx1NzNENFx1NzNERFx1NzNEQVx1NzNEN1x1NzNEOFx1NzNFOFx1NzRERVx1NzRERlx1NzRGNFx1NzRGNVx1NzUyMVx1NzU1Qlx1NzU1Rlx1NzVCMFx1NzVDMVx1NzVCQlx1NzVDNFx1NzVDMFx1NzVCRlx1NzVCNlx1NzVCQVx1NzY4QVx1NzZDOVx1NzcxRFx1NzcxQlx1NzcxMFx1NzcxM1x1NzcxMlx1NzcyM1x1NzcxMVx1NzcxNVx1NzcxOVx1NzcxQVx1NzcyMlx1NzcyN1x1NzgyM1x1NzgyQ1x1NzgyMlx1NzgzNVx1NzgyRlx1NzgyOFx1NzgyRVx1NzgyQlx1NzgyMVx1NzgyOVx1NzgzM1x1NzgyQVx1NzgzMVx1Nzk1NFx1Nzk1Qlx1Nzk0Rlx1Nzk1Q1x1Nzk1M1x1Nzk1Mlx1Nzk1MVx1NzlFQlx1NzlFQ1x1NzlFMFx1NzlFRVx1NzlFRFx1NzlFQVx1NzlEQ1x1NzlERVx1NzlERFx1N0E4Nlx1N0E4OVx1N0E4NVx1N0E4Qlx1N0E4Q1x1N0E4QVx1N0E4N1x1N0FEOFx1N0IxMFwiXSxcbltcImQzNDBcIixcIlx1N0IwNFx1N0IxM1x1N0IwNVx1N0IwRlx1N0IwOFx1N0IwQVx1N0IwRVx1N0IwOVx1N0IxMlx1N0M4NFx1N0M5MVx1N0M4QVx1N0M4Q1x1N0M4OFx1N0M4RFx1N0M4NVx1N0QxRVx1N0QxRFx1N0QxMVx1N0QwRVx1N0QxOFx1N0QxNlx1N0QxM1x1N0QxRlx1N0QxMlx1N0QwRlx1N0QwQ1x1N0Y1Q1x1N0Y2MVx1N0Y1RVx1N0Y2MFx1N0Y1RFx1N0Y1Qlx1N0Y5Nlx1N0Y5Mlx1N0ZDM1x1N0ZDMlx1N0ZDMFx1ODAxNlx1ODAzRVx1ODAzOVx1ODBGQVx1ODBGMlx1ODBGOVx1ODBGNVx1ODEwMVx1ODBGQlx1ODEwMFx1ODIwMVx1ODIyRlx1ODIyNVx1ODMzM1x1ODMyRFx1ODM0NFx1ODMxOVx1ODM1MVx1ODMyNVx1ODM1Nlx1ODMzRlx1ODM0MVx1ODMyNlx1ODMxQ1x1ODMyMlwiXSxcbltcImQzYTFcIixcIlx1ODM0Mlx1ODM0RVx1ODMxQlx1ODMyQVx1ODMwOFx1ODMzQ1x1ODM0RFx1ODMxNlx1ODMyNFx1ODMyMFx1ODMzN1x1ODMyRlx1ODMyOVx1ODM0N1x1ODM0NVx1ODM0Q1x1ODM1M1x1ODMxRVx1ODMyQ1x1ODM0Qlx1ODMyN1x1ODM0OFx1ODY1M1x1ODY1Mlx1ODZBMlx1ODZBOFx1ODY5Nlx1ODY4RFx1ODY5MVx1ODY5RVx1ODY4N1x1ODY5N1x1ODY4Nlx1ODY4Qlx1ODY5QVx1ODY4NVx1ODZBNVx1ODY5OVx1ODZBMVx1ODZBN1x1ODY5NVx1ODY5OFx1ODY4RVx1ODY5RFx1ODY5MFx1ODY5NFx1ODg0M1x1ODg0NFx1ODg2RFx1ODg3NVx1ODg3Nlx1ODg3Mlx1ODg4MFx1ODg3MVx1ODg3Rlx1ODg2Rlx1ODg4M1x1ODg3RVx1ODg3NFx1ODg3Q1x1OEExMlx1OEM0N1x1OEM1N1x1OEM3Qlx1OENBNFx1OENBM1x1OEQ3Nlx1OEQ3OFx1OERCNVx1OERCN1x1OERCNlx1OEVEMVx1OEVEM1x1OEZGRVx1OEZGNVx1OTAwMlx1OEZGRlx1OEZGQlx1OTAwNFx1OEZGQ1x1OEZGNlx1OTBENlx1OTBFMFx1OTBEOVx1OTBEQVx1OTBFM1x1OTBERlx1OTBFNVx1OTBEOFx1OTBEQlx1OTBEN1x1OTBEQ1x1OTBFNFx1OTE1MFwiXSxcbltcImQ0NDBcIixcIlx1OTE0RVx1OTE0Rlx1OTFENVx1OTFFMlx1OTFEQVx1OTY1Q1x1OTY1Rlx1OTZCQ1x1OThFM1x1OUFERlx1OUIyRlx1NEU3Rlx1NTA3MFx1NTA2QVx1NTA2MVx1NTA1RVx1NTA2MFx1NTA1M1x1NTA0Qlx1NTA1RFx1NTA3Mlx1NTA0OFx1NTA0RFx1NTA0MVx1NTA1Qlx1NTA0QVx1NTA2Mlx1NTAxNVx1NTA0NVx1NTA1Rlx1NTA2OVx1NTA2Qlx1NTA2M1x1NTA2NFx1NTA0Nlx1NTA0MFx1NTA2RVx1NTA3M1x1NTA1N1x1NTA1MVx1NTFEMFx1NTI2Qlx1NTI2RFx1NTI2Q1x1NTI2RVx1NTJENlx1NTJEM1x1NTMyRFx1NTM5Q1x1NTU3NVx1NTU3Nlx1NTUzQ1x1NTU0RFx1NTU1MFx1NTUzNFx1NTUyQVx1NTU1MVx1NTU2Mlx1NTUzNlx1NTUzNVx1NTUzMFx1NTU1Mlx1NTU0NVwiXSxcbltcImQ0YTFcIixcIlx1NTUwQ1x1NTUzMlx1NTU2NVx1NTU0RVx1NTUzOVx1NTU0OFx1NTUyRFx1NTUzQlx1NTU0MFx1NTU0Qlx1NTcwQVx1NTcwN1x1NTdGQlx1NTgxNFx1NTdFMlx1NTdGNlx1NTdEQ1x1NTdGNFx1NTgwMFx1NTdFRFx1NTdGRFx1NTgwOFx1NTdGOFx1NTgwQlx1NTdGM1x1NTdDRlx1NTgwN1x1NTdFRVx1NTdFM1x1NTdGMlx1NTdFNVx1NTdFQ1x1NTdFMVx1NTgwRVx1NTdGQ1x1NTgxMFx1NTdFN1x1NTgwMVx1NTgwQ1x1NTdGMVx1NTdFOVx1NTdGMFx1NTgwRFx1NTgwNFx1NTk1Q1x1NUE2MFx1NUE1OFx1NUE1NVx1NUE2N1x1NUE1RVx1NUEzOFx1NUEzNVx1NUE2RFx1NUE1MFx1NUE1Rlx1NUE2NVx1NUE2Q1x1NUE1M1x1NUE2NFx1NUE1N1x1NUE0M1x1NUE1RFx1NUE1Mlx1NUE0NFx1NUE1Qlx1NUE0OFx1NUE4RVx1NUEzRVx1NUE0RFx1NUEzOVx1NUE0Q1x1NUE3MFx1NUE2OVx1NUE0N1x1NUE1MVx1NUE1Nlx1NUE0Mlx1NUE1Q1x1NUI3Mlx1NUI2RVx1NUJDMVx1NUJDMFx1NUM1OVx1NUQxRVx1NUQwQlx1NUQxRFx1NUQxQVx1NUQyMFx1NUQwQ1x1NUQyOFx1NUQwRFx1NUQyNlx1NUQyNVx1NUQwRlwiXSxcbltcImQ1NDBcIixcIlx1NUQzMFx1NUQxMlx1NUQyM1x1NUQxRlx1NUQyRVx1NUUzRVx1NUUzNFx1NUVCMVx1NUVCNFx1NUVCOVx1NUVCMlx1NUVCM1x1NUYzNlx1NUYzOFx1NUY5Qlx1NUY5Nlx1NUY5Rlx1NjA4QVx1NjA5MFx1NjA4Nlx1NjBCRVx1NjBCMFx1NjBCQVx1NjBEM1x1NjBENFx1NjBDRlx1NjBFNFx1NjBEOVx1NjBERFx1NjBDOFx1NjBCMVx1NjBEQlx1NjBCN1x1NjBDQVx1NjBCRlx1NjBDM1x1NjBDRFx1NjBDMFx1NjMzMlx1NjM2NVx1NjM4QVx1NjM4Mlx1NjM3RFx1NjNCRFx1NjM5RVx1NjNBRFx1NjM5RFx1NjM5N1x1NjNBQlx1NjM4RVx1NjM2Rlx1NjM4N1x1NjM5MFx1NjM2RVx1NjNBRlx1NjM3NVx1NjM5Q1x1NjM2RFx1NjNBRVx1NjM3Q1x1NjNBNFx1NjMzQlx1NjM5RlwiXSxcbltcImQ1YTFcIixcIlx1NjM3OFx1NjM4NVx1NjM4MVx1NjM5MVx1NjM4RFx1NjM3MFx1NjU1M1x1NjVDRFx1NjY2NVx1NjY2MVx1NjY1Qlx1NjY1OVx1NjY1Q1x1NjY2Mlx1NjcxOFx1Njg3OVx1Njg4N1x1Njg5MFx1Njg5Q1x1Njg2RFx1Njg2RVx1NjhBRVx1NjhBQlx1Njk1Nlx1Njg2Rlx1NjhBM1x1NjhBQ1x1NjhBOVx1Njg3NVx1Njg3NFx1NjhCMlx1Njg4Rlx1Njg3N1x1Njg5Mlx1Njg3Q1x1Njg2Qlx1Njg3Mlx1NjhBQVx1Njg4MFx1Njg3MVx1Njg3RVx1Njg5Qlx1Njg5Nlx1Njg4Qlx1NjhBMFx1Njg4OVx1NjhBNFx1Njg3OFx1Njg3Qlx1Njg5MVx1Njg4Q1x1Njg4QVx1Njg3RFx1NkIzNlx1NkIzM1x1NkIzN1x1NkIzOFx1NkI5MVx1NkI4Rlx1NkI4RFx1NkI4RVx1NkI4Q1x1NkMyQVx1NkRDMFx1NkRBQlx1NkRCNFx1NkRCM1x1NkU3NFx1NkRBQ1x1NkRFOVx1NkRFMlx1NkRCN1x1NkRGNlx1NkRENFx1NkUwMFx1NkRDOFx1NkRFMFx1NkRERlx1NkRENlx1NkRCRVx1NkRFNVx1NkREQ1x1NkRERFx1NkREQlx1NkRGNFx1NkRDQVx1NkRCRFx1NkRFRFx1NkRGMFx1NkRCQVx1NkRENVx1NkRDMlx1NkRDRlx1NkRDOVwiXSxcbltcImQ2NDBcIixcIlx1NkREMFx1NkRGMlx1NkREM1x1NkRGRFx1NkREN1x1NkRDRFx1NkRFM1x1NkRCQlx1NzBGQVx1NzEwRFx1NzBGN1x1NzExN1x1NzBGNFx1NzEwQ1x1NzBGMFx1NzEwNFx1NzBGM1x1NzExMFx1NzBGQ1x1NzBGRlx1NzEwNlx1NzExM1x1NzEwMFx1NzBGOFx1NzBGNlx1NzEwQlx1NzEwMlx1NzEwRVx1NzI3RVx1NzI3Qlx1NzI3Q1x1NzI3Rlx1NzMxRFx1NzMxN1x1NzMwN1x1NzMxMVx1NzMxOFx1NzMwQVx1NzMwOFx1NzJGRlx1NzMwRlx1NzMxRVx1NzM4OFx1NzNGNlx1NzNGOFx1NzNGNVx1NzQwNFx1NzQwMVx1NzNGRFx1NzQwN1x1NzQwMFx1NzNGQVx1NzNGQ1x1NzNGRlx1NzQwQ1x1NzQwQlx1NzNGNFx1NzQwOFx1NzU2NFx1NzU2M1x1NzVDRVx1NzVEMlx1NzVDRlwiXSxcbltcImQ2YTFcIixcIlx1NzVDQlx1NzVDQ1x1NzVEMVx1NzVEMFx1NzY4Rlx1NzY4OVx1NzZEM1x1NzczOVx1NzcyRlx1NzcyRFx1NzczMVx1NzczMlx1NzczNFx1NzczM1x1NzczRFx1NzcyNVx1NzczQlx1NzczNVx1Nzg0OFx1Nzg1Mlx1Nzg0OVx1Nzg0RFx1Nzg0QVx1Nzg0Q1x1NzgyNlx1Nzg0NVx1Nzg1MFx1Nzk2NFx1Nzk2N1x1Nzk2OVx1Nzk2QVx1Nzk2M1x1Nzk2Qlx1Nzk2MVx1NzlCQlx1NzlGQVx1NzlGOFx1NzlGNlx1NzlGN1x1N0E4Rlx1N0E5NFx1N0E5MFx1N0IzNVx1N0I0N1x1N0IzNFx1N0IyNVx1N0IzMFx1N0IyMlx1N0IyNFx1N0IzM1x1N0IxOFx1N0IyQVx1N0IxRFx1N0IzMVx1N0IyQlx1N0IyRFx1N0IyRlx1N0IzMlx1N0IzOFx1N0IxQVx1N0IyM1x1N0M5NFx1N0M5OFx1N0M5Nlx1N0NBM1x1N0QzNVx1N0QzRFx1N0QzOFx1N0QzNlx1N0QzQVx1N0Q0NVx1N0QyQ1x1N0QyOVx1N0Q0MVx1N0Q0N1x1N0QzRVx1N0QzRlx1N0Q0QVx1N0QzQlx1N0QyOFx1N0Y2M1x1N0Y5NVx1N0Y5Q1x1N0Y5RFx1N0Y5Qlx1N0ZDQVx1N0ZDQlx1N0ZDRFx1N0ZEMFx1N0ZEMVx1N0ZDN1x1N0ZDRlx1N0ZDOVx1ODAxRlwiXSxcbltcImQ3NDBcIixcIlx1ODAxRVx1ODAxQlx1ODA0N1x1ODA0M1x1ODA0OFx1ODExOFx1ODEyNVx1ODExOVx1ODExQlx1ODEyRFx1ODExRlx1ODEyQ1x1ODExRVx1ODEyMVx1ODExNVx1ODEyN1x1ODExRFx1ODEyMlx1ODIxMVx1ODIzOFx1ODIzM1x1ODIzQVx1ODIzNFx1ODIzMlx1ODI3NFx1ODM5MFx1ODNBM1x1ODNBOFx1ODM4RFx1ODM3QVx1ODM3M1x1ODNBNFx1ODM3NFx1ODM4Rlx1ODM4MVx1ODM5NVx1ODM5OVx1ODM3NVx1ODM5NFx1ODNBOVx1ODM3RFx1ODM4M1x1ODM4Q1x1ODM5RFx1ODM5Qlx1ODNBQVx1ODM4Qlx1ODM3RVx1ODNBNVx1ODNBRlx1ODM4OFx1ODM5N1x1ODNCMFx1ODM3Rlx1ODNBNlx1ODM4N1x1ODNBRVx1ODM3Nlx1ODM5QVx1ODY1OVx1ODY1Nlx1ODZCRlx1ODZCN1wiXSxcbltcImQ3YTFcIixcIlx1ODZDMlx1ODZDMVx1ODZDNVx1ODZCQVx1ODZCMFx1ODZDOFx1ODZCOVx1ODZCM1x1ODZCOFx1ODZDQ1x1ODZCNFx1ODZCQlx1ODZCQ1x1ODZDM1x1ODZCRFx1ODZCRVx1ODg1Mlx1ODg4OVx1ODg5NVx1ODhBOFx1ODhBMlx1ODhBQVx1ODg5QVx1ODg5MVx1ODhBMVx1ODg5Rlx1ODg5OFx1ODhBN1x1ODg5OVx1ODg5Qlx1ODg5N1x1ODhBNFx1ODhBQ1x1ODg4Q1x1ODg5M1x1ODg4RVx1ODk4Mlx1ODlENlx1ODlEOVx1ODlENVx1OEEzMFx1OEEyN1x1OEEyQ1x1OEExRVx1OEMzOVx1OEMzQlx1OEM1Q1x1OEM1RFx1OEM3RFx1OENBNVx1OEQ3RFx1OEQ3Qlx1OEQ3OVx1OERCQ1x1OERDMlx1OERCOVx1OERCRlx1OERDMVx1OEVEOFx1OEVERVx1OEVERFx1OEVEQ1x1OEVEN1x1OEVFMFx1OEVFMVx1OTAyNFx1OTAwQlx1OTAxMVx1OTAxQ1x1OTAwQ1x1OTAyMVx1OTBFRlx1OTBFQVx1OTBGMFx1OTBGNFx1OTBGMlx1OTBGM1x1OTBENFx1OTBFQlx1OTBFQ1x1OTBFOVx1OTE1Nlx1OTE1OFx1OTE1QVx1OTE1M1x1OTE1NVx1OTFFQ1x1OTFGNFx1OTFGMVx1OTFGM1x1OTFGOFx1OTFFNFx1OTFGOVx1OTFFQVwiXSxcbltcImQ4NDBcIixcIlx1OTFFQlx1OTFGN1x1OTFFOFx1OTFFRVx1OTU3QVx1OTU4Nlx1OTU4OFx1OTY3Q1x1OTY2RFx1OTY2Qlx1OTY3MVx1OTY2Rlx1OTZCRlx1OTc2QVx1OTgwNFx1OThFNVx1OTk5N1x1NTA5Qlx1NTA5NVx1NTA5NFx1NTA5RVx1NTA4Qlx1NTBBM1x1NTA4M1x1NTA4Q1x1NTA4RVx1NTA5RFx1NTA2OFx1NTA5Q1x1NTA5Mlx1NTA4Mlx1NTA4N1x1NTE1Rlx1NTFENFx1NTMxMlx1NTMxMVx1NTNBNFx1NTNBN1x1NTU5MVx1NTVBOFx1NTVBNVx1NTVBRFx1NTU3N1x1NTY0NVx1NTVBMlx1NTU5M1x1NTU4OFx1NTU4Rlx1NTVCNVx1NTU4MVx1NTVBM1x1NTU5Mlx1NTVBNFx1NTU3RFx1NTU4Q1x1NTVBNlx1NTU3Rlx1NTU5NVx1NTVBMVx1NTU4RVx1NTcwQ1x1NTgyOVx1NTgzN1wiXSxcbltcImQ4YTFcIixcIlx1NTgxOVx1NTgxRVx1NTgyN1x1NTgyM1x1NTgyOFx1NTdGNVx1NTg0OFx1NTgyNVx1NTgxQ1x1NTgxQlx1NTgzM1x1NTgzRlx1NTgzNlx1NTgyRVx1NTgzOVx1NTgzOFx1NTgyRFx1NTgyQ1x1NTgzQlx1NTk2MVx1NUFBRlx1NUE5NFx1NUE5Rlx1NUE3QVx1NUFBMlx1NUE5RVx1NUE3OFx1NUFBNlx1NUE3Q1x1NUFBNVx1NUFBQ1x1NUE5NVx1NUFBRVx1NUEzN1x1NUE4NFx1NUE4QVx1NUE5N1x1NUE4M1x1NUE4Qlx1NUFBOVx1NUE3Qlx1NUE3RFx1NUE4Q1x1NUE5Q1x1NUE4Rlx1NUE5M1x1NUE5RFx1NUJFQVx1NUJDRFx1NUJDQlx1NUJENFx1NUJEMVx1NUJDQVx1NUJDRVx1NUMwQ1x1NUMzMFx1NUQzN1x1NUQ0M1x1NUQ2Qlx1NUQ0MVx1NUQ0Qlx1NUQzRlx1NUQzNVx1NUQ1MVx1NUQ0RVx1NUQ1NVx1NUQzM1x1NUQzQVx1NUQ1Mlx1NUQzRFx1NUQzMVx1NUQ1OVx1NUQ0Mlx1NUQzOVx1NUQ0OVx1NUQzOFx1NUQzQ1x1NUQzMlx1NUQzNlx1NUQ0MFx1NUQ0NVx1NUU0NFx1NUU0MVx1NUY1OFx1NUZBNlx1NUZBNVx1NUZBQlx1NjBDOVx1NjBCOVx1NjBDQ1x1NjBFMlx1NjBDRVx1NjBDNFx1NjExNFwiXSxcbltcImQ5NDBcIixcIlx1NjBGMlx1NjEwQVx1NjExNlx1NjEwNVx1NjBGNVx1NjExM1x1NjBGOFx1NjBGQ1x1NjBGRVx1NjBDMVx1NjEwM1x1NjExOFx1NjExRFx1NjExMFx1NjBGRlx1NjEwNFx1NjEwQlx1NjI0QVx1NjM5NFx1NjNCMVx1NjNCMFx1NjNDRVx1NjNFNVx1NjNFOFx1NjNFRlx1NjNDM1x1NjQ5RFx1NjNGM1x1NjNDQVx1NjNFMFx1NjNGNlx1NjNENVx1NjNGMlx1NjNGNVx1NjQ2MVx1NjNERlx1NjNCRVx1NjNERFx1NjNEQ1x1NjNDNFx1NjNEOFx1NjNEM1x1NjNDMlx1NjNDN1x1NjNDQ1x1NjNDQlx1NjNDOFx1NjNGMFx1NjNEN1x1NjNEOVx1NjUzMlx1NjU2N1x1NjU2QVx1NjU2NFx1NjU1Q1x1NjU2OFx1NjU2NVx1NjU4Q1x1NjU5RFx1NjU5RVx1NjVBRVx1NjVEMFx1NjVEMlwiXSxcbltcImQ5YTFcIixcIlx1NjY3Q1x1NjY2Q1x1NjY3Qlx1NjY4MFx1NjY3MVx1NjY3OVx1NjY2QVx1NjY3Mlx1NjcwMVx1NjkwQ1x1NjhEM1x1NjkwNFx1NjhEQ1x1NjkyQVx1NjhFQ1x1NjhFQVx1NjhGMVx1NjkwRlx1NjhENlx1NjhGN1x1NjhFQlx1NjhFNFx1NjhGNlx1NjkxM1x1NjkxMFx1NjhGM1x1NjhFMVx1NjkwN1x1NjhDQ1x1NjkwOFx1Njk3MFx1NjhCNFx1NjkxMVx1NjhFRlx1NjhDNlx1NjkxNFx1NjhGOFx1NjhEMFx1NjhGRFx1NjhGQ1x1NjhFOFx1NjkwQlx1NjkwQVx1NjkxN1x1NjhDRVx1NjhDOFx1NjhERFx1NjhERVx1NjhFNlx1NjhGNFx1NjhEMVx1NjkwNlx1NjhENFx1NjhFOVx1NjkxNVx1NjkyNVx1NjhDN1x1NkIzOVx1NkIzQlx1NkIzRlx1NkIzQ1x1NkI5NFx1NkI5N1x1NkI5OVx1NkI5NVx1NkJCRFx1NkJGMFx1NkJGMlx1NkJGM1x1NkMzMFx1NkRGQ1x1NkU0Nlx1NkU0N1x1NkUxRlx1NkU0OVx1NkU4OFx1NkUzQ1x1NkUzRFx1NkU0NVx1NkU2Mlx1NkUyQlx1NkUzRlx1NkU0MVx1NkU1RFx1NkU3M1x1NkUxQ1x1NkUzM1x1NkU0Qlx1NkU0MFx1NkU1MVx1NkUzQlx1NkUwM1x1NkUyRVx1NkU1RVwiXSxcbltcImRhNDBcIixcIlx1NkU2OFx1NkU1Q1x1NkU2MVx1NkUzMVx1NkUyOFx1NkU2MFx1NkU3MVx1NkU2Qlx1NkUzOVx1NkUyMlx1NkUzMFx1NkU1M1x1NkU2NVx1NkUyN1x1NkU3OFx1NkU2NFx1NkU3N1x1NkU1NVx1NkU3OVx1NkU1Mlx1NkU2Nlx1NkUzNVx1NkUzNlx1NkU1QVx1NzEyMFx1NzExRVx1NzEyRlx1NzBGQlx1NzEyRVx1NzEzMVx1NzEyM1x1NzEyNVx1NzEyMlx1NzEzMlx1NzExRlx1NzEyOFx1NzEzQVx1NzExQlx1NzI0Qlx1NzI1QVx1NzI4OFx1NzI4OVx1NzI4Nlx1NzI4NVx1NzI4Qlx1NzMxMlx1NzMwQlx1NzMzMFx1NzMyMlx1NzMzMVx1NzMzM1x1NzMyN1x1NzMzMlx1NzMyRFx1NzMyNlx1NzMyM1x1NzMzNVx1NzMwQ1x1NzQyRVx1NzQyQ1x1NzQzMFx1NzQyQlx1NzQxNlwiXSxcbltcImRhYTFcIixcIlx1NzQxQVx1NzQyMVx1NzQyRFx1NzQzMVx1NzQyNFx1NzQyM1x1NzQxRFx1NzQyOVx1NzQyMFx1NzQzMlx1NzRGQlx1NzUyRlx1NzU2Rlx1NzU2Q1x1NzVFN1x1NzVEQVx1NzVFMVx1NzVFNlx1NzVERFx1NzVERlx1NzVFNFx1NzVEN1x1NzY5NVx1NzY5Mlx1NzZEQVx1Nzc0Nlx1Nzc0N1x1Nzc0NFx1Nzc0RFx1Nzc0NVx1Nzc0QVx1Nzc0RVx1Nzc0Qlx1Nzc0Q1x1NzdERVx1NzdFQ1x1Nzg2MFx1Nzg2NFx1Nzg2NVx1Nzg1Q1x1Nzg2RFx1Nzg3MVx1Nzg2QVx1Nzg2RVx1Nzg3MFx1Nzg2OVx1Nzg2OFx1Nzg1RVx1Nzg2Mlx1Nzk3NFx1Nzk3M1x1Nzk3Mlx1Nzk3MFx1N0EwMlx1N0EwQVx1N0EwM1x1N0EwQ1x1N0EwNFx1N0E5OVx1N0FFNlx1N0FFNFx1N0I0QVx1N0IzQlx1N0I0NFx1N0I0OFx1N0I0Q1x1N0I0RVx1N0I0MFx1N0I1OFx1N0I0NVx1N0NBMlx1N0M5RVx1N0NBOFx1N0NBMVx1N0Q1OFx1N0Q2Rlx1N0Q2M1x1N0Q1M1x1N0Q1Nlx1N0Q2N1x1N0Q2QVx1N0Q0Rlx1N0Q2RFx1N0Q1Q1x1N0Q2Qlx1N0Q1Mlx1N0Q1NFx1N0Q2OVx1N0Q1MVx1N0Q1Rlx1N0Q0RVx1N0YzRVx1N0YzRlx1N0Y2NVwiXSxcbltcImRiNDBcIixcIlx1N0Y2Nlx1N0ZBMlx1N0ZBMFx1N0ZBMVx1N0ZEN1x1ODA1MVx1ODA0Rlx1ODA1MFx1ODBGRVx1ODBENFx1ODE0M1x1ODE0QVx1ODE1Mlx1ODE0Rlx1ODE0N1x1ODEzRFx1ODE0RFx1ODEzQVx1ODFFNlx1ODFFRVx1ODFGN1x1ODFGOFx1ODFGOVx1ODIwNFx1ODIzQ1x1ODIzRFx1ODIzRlx1ODI3NVx1ODMzQlx1ODNDRlx1ODNGOVx1ODQyM1x1ODNDMFx1ODNFOFx1ODQxMlx1ODNFN1x1ODNFNFx1ODNGQ1x1ODNGNlx1ODQxMFx1ODNDNlx1ODNDOFx1ODNFQlx1ODNFM1x1ODNCRlx1ODQwMVx1ODNERFx1ODNFNVx1ODNEOFx1ODNGRlx1ODNFMVx1ODNDQlx1ODNDRVx1ODNENlx1ODNGNVx1ODNDOVx1ODQwOVx1ODQwRlx1ODNERVx1ODQxMVx1ODQwNlx1ODNDMlx1ODNGM1wiXSxcbltcImRiYTFcIixcIlx1ODNENVx1ODNGQVx1ODNDN1x1ODNEMVx1ODNFQVx1ODQxM1x1ODNDM1x1ODNFQ1x1ODNFRVx1ODNDNFx1ODNGQlx1ODNEN1x1ODNFMlx1ODQxQlx1ODNEQlx1ODNGRVx1ODZEOFx1ODZFMlx1ODZFNlx1ODZEM1x1ODZFM1x1ODZEQVx1ODZFQVx1ODZERFx1ODZFQlx1ODZEQ1x1ODZFQ1x1ODZFOVx1ODZEN1x1ODZFOFx1ODZEMVx1ODg0OFx1ODg1Nlx1ODg1NVx1ODhCQVx1ODhEN1x1ODhCOVx1ODhCOFx1ODhDMFx1ODhCRVx1ODhCNlx1ODhCQ1x1ODhCN1x1ODhCRFx1ODhCMlx1ODkwMVx1ODhDOVx1ODk5NVx1ODk5OFx1ODk5N1x1ODlERFx1ODlEQVx1ODlEQlx1OEE0RVx1OEE0RFx1OEEzOVx1OEE1OVx1OEE0MFx1OEE1N1x1OEE1OFx1OEE0NFx1OEE0NVx1OEE1Mlx1OEE0OFx1OEE1MVx1OEE0QVx1OEE0Q1x1OEE0Rlx1OEM1Rlx1OEM4MVx1OEM4MFx1OENCQVx1OENCRVx1OENCMFx1OENCOVx1OENCNVx1OEQ4NFx1OEQ4MFx1OEQ4OVx1OEREOFx1OEREM1x1OERDRFx1OERDN1x1OERENlx1OEREQ1x1OERDRlx1OERENVx1OEREOVx1OERDOFx1OEREN1x1OERDNVx1OEVFRlx1OEVGN1x1OEVGQVwiXSxcbltcImRjNDBcIixcIlx1OEVGOVx1OEVFNlx1OEVFRVx1OEVFNVx1OEVGNVx1OEVFN1x1OEVFOFx1OEVGNlx1OEVFQlx1OEVGMVx1OEVFQ1x1OEVGNFx1OEVFOVx1OTAyRFx1OTAzNFx1OTAyRlx1OTEwNlx1OTEyQ1x1OTEwNFx1OTBGRlx1OTBGQ1x1OTEwOFx1OTBGOVx1OTBGQlx1OTEwMVx1OTEwMFx1OTEwN1x1OTEwNVx1OTEwM1x1OTE2MVx1OTE2NFx1OTE1Rlx1OTE2Mlx1OTE2MFx1OTIwMVx1OTIwQVx1OTIyNVx1OTIwM1x1OTIxQVx1OTIyNlx1OTIwRlx1OTIwQ1x1OTIwMFx1OTIxMlx1OTFGRlx1OTFGRFx1OTIwNlx1OTIwNFx1OTIyN1x1OTIwMlx1OTIxQ1x1OTIyNFx1OTIxOVx1OTIxN1x1OTIwNVx1OTIxNlx1OTU3Qlx1OTU4RFx1OTU4Q1x1OTU5MFx1OTY4N1x1OTY3RVx1OTY4OFwiXSxcbltcImRjYTFcIixcIlx1OTY4OVx1OTY4M1x1OTY4MFx1OTZDMlx1OTZDOFx1OTZDM1x1OTZGMVx1OTZGMFx1OTc2Q1x1OTc3MFx1OTc2RVx1OTgwN1x1OThBOVx1OThFQlx1OUNFNlx1OUVGOVx1NEU4M1x1NEU4NFx1NEVCNlx1NTBCRFx1NTBCRlx1NTBDNlx1NTBBRVx1NTBDNFx1NTBDQVx1NTBCNFx1NTBDOFx1NTBDMlx1NTBCMFx1NTBDMVx1NTBCQVx1NTBCMVx1NTBDQlx1NTBDOVx1NTBCNlx1NTBCOFx1NTFEN1x1NTI3QVx1NTI3OFx1NTI3Qlx1NTI3Q1x1NTVDM1x1NTVEQlx1NTVDQ1x1NTVEMFx1NTVDQlx1NTVDQVx1NTVERFx1NTVDMFx1NTVENFx1NTVDNFx1NTVFOVx1NTVCRlx1NTVEMlx1NTU4RFx1NTVDRlx1NTVENVx1NTVFMlx1NTVENlx1NTVDOFx1NTVGMlx1NTVDRFx1NTVEOVx1NTVDMlx1NTcxNFx1NTg1M1x1NTg2OFx1NTg2NFx1NTg0Rlx1NTg0RFx1NTg0OVx1NTg2Rlx1NTg1NVx1NTg0RVx1NTg1RFx1NTg1OVx1NTg2NVx1NTg1Qlx1NTgzRFx1NTg2M1x1NTg3MVx1NThGQ1x1NUFDN1x1NUFDNFx1NUFDQlx1NUFCQVx1NUFCOFx1NUFCMVx1NUFCNVx1NUFCMFx1NUFCRlx1NUFDOFx1NUFCQlx1NUFDNlwiXSxcbltcImRkNDBcIixcIlx1NUFCN1x1NUFDMFx1NUFDQVx1NUFCNFx1NUFCNlx1NUFDRFx1NUFCOVx1NUE5MFx1NUJENlx1NUJEOFx1NUJEOVx1NUMxRlx1NUMzM1x1NUQ3MVx1NUQ2M1x1NUQ0QVx1NUQ2NVx1NUQ3Mlx1NUQ2Q1x1NUQ1RVx1NUQ2OFx1NUQ2N1x1NUQ2Mlx1NURGMFx1NUU0Rlx1NUU0RVx1NUU0QVx1NUU0RFx1NUU0Qlx1NUVDNVx1NUVDQ1x1NUVDNlx1NUVDQlx1NUVDN1x1NUY0MFx1NUZBRlx1NUZBRFx1NjBGN1x1NjE0OVx1NjE0QVx1NjEyQlx1NjE0NVx1NjEzNlx1NjEzMlx1NjEyRVx1NjE0Nlx1NjEyRlx1NjE0Rlx1NjEyOVx1NjE0MFx1NjIyMFx1OTE2OFx1NjIyM1x1NjIyNVx1NjIyNFx1NjNDNVx1NjNGMVx1NjNFQlx1NjQxMFx1NjQxMlx1NjQwOVx1NjQyMFx1NjQyNFwiXSxcbltcImRkYTFcIixcIlx1NjQzM1x1NjQ0M1x1NjQxRlx1NjQxNVx1NjQxOFx1NjQzOVx1NjQzN1x1NjQyMlx1NjQyM1x1NjQwQ1x1NjQyNlx1NjQzMFx1NjQyOFx1NjQ0MVx1NjQzNVx1NjQyRlx1NjQwQVx1NjQxQVx1NjQ0MFx1NjQyNVx1NjQyN1x1NjQwQlx1NjNFN1x1NjQxQlx1NjQyRVx1NjQyMVx1NjQwRVx1NjU2Rlx1NjU5Mlx1NjVEM1x1NjY4Nlx1NjY4Q1x1NjY5NVx1NjY5MFx1NjY4Qlx1NjY4QVx1NjY5OVx1NjY5NFx1NjY3OFx1NjcyMFx1Njk2Nlx1Njk1Rlx1NjkzOFx1Njk0RVx1Njk2Mlx1Njk3MVx1NjkzRlx1Njk0NVx1Njk2QVx1NjkzOVx1Njk0Mlx1Njk1N1x1Njk1OVx1Njk3QVx1Njk0OFx1Njk0OVx1NjkzNVx1Njk2Q1x1NjkzM1x1NjkzRFx1Njk2NVx1NjhGMFx1Njk3OFx1NjkzNFx1Njk2OVx1Njk0MFx1Njk2Rlx1Njk0NFx1Njk3Nlx1Njk1OFx1Njk0MVx1Njk3NFx1Njk0Q1x1NjkzQlx1Njk0Qlx1NjkzN1x1Njk1Q1x1Njk0Rlx1Njk1MVx1NjkzMlx1Njk1Mlx1NjkyRlx1Njk3Qlx1NjkzQ1x1NkI0Nlx1NkI0NVx1NkI0M1x1NkI0Mlx1NkI0OFx1NkI0MVx1NkI5Qlx1RkEwRFx1NkJGQlx1NkJGQ1wiXSxcbltcImRlNDBcIixcIlx1NkJGOVx1NkJGN1x1NkJGOFx1NkU5Qlx1NkVENlx1NkVDOFx1NkU4Rlx1NkVDMFx1NkU5Rlx1NkU5M1x1NkU5NFx1NkVBMFx1NkVCMVx1NkVCOVx1NkVDNlx1NkVEMlx1NkVCRFx1NkVDMVx1NkU5RVx1NkVDOVx1NkVCN1x1NkVCMFx1NkVDRFx1NkVBNlx1NkVDRlx1NkVCMlx1NkVCRVx1NkVDM1x1NkVEQ1x1NkVEOFx1NkU5OVx1NkU5Mlx1NkU4RVx1NkU4RFx1NkVBNFx1NkVBMVx1NkVCRlx1NkVCM1x1NkVEMFx1NkVDQVx1NkU5N1x1NkVBRVx1NkVBM1x1NzE0N1x1NzE1NFx1NzE1Mlx1NzE2M1x1NzE2MFx1NzE0MVx1NzE1RFx1NzE2Mlx1NzE3Mlx1NzE3OFx1NzE2QVx1NzE2MVx1NzE0Mlx1NzE1OFx1NzE0M1x1NzE0Qlx1NzE3MFx1NzE1Rlx1NzE1MFx1NzE1M1wiXSxcbltcImRlYTFcIixcIlx1NzE0NFx1NzE0RFx1NzE1QVx1NzI0Rlx1NzI4RFx1NzI4Q1x1NzI5MVx1NzI5MFx1NzI4RVx1NzMzQ1x1NzM0Mlx1NzMzQlx1NzMzQVx1NzM0MFx1NzM0QVx1NzM0OVx1NzQ0NFx1NzQ0QVx1NzQ0Qlx1NzQ1Mlx1NzQ1MVx1NzQ1N1x1NzQ0MFx1NzQ0Rlx1NzQ1MFx1NzQ0RVx1NzQ0Mlx1NzQ0Nlx1NzQ0RFx1NzQ1NFx1NzRFMVx1NzRGRlx1NzRGRVx1NzRGRFx1NzUxRFx1NzU3OVx1NzU3N1x1Njk4M1x1NzVFRlx1NzYwRlx1NzYwM1x1NzVGN1x1NzVGRVx1NzVGQ1x1NzVGOVx1NzVGOFx1NzYxMFx1NzVGQlx1NzVGNlx1NzVFRFx1NzVGNVx1NzVGRFx1NzY5OVx1NzZCNVx1NzZERFx1Nzc1NVx1Nzc1Rlx1Nzc2MFx1Nzc1Mlx1Nzc1Nlx1Nzc1QVx1Nzc2OVx1Nzc2N1x1Nzc1NFx1Nzc1OVx1Nzc2RFx1NzdFMFx1Nzg4N1x1Nzg5QVx1Nzg5NFx1Nzg4Rlx1Nzg4NFx1Nzg5NVx1Nzg4NVx1Nzg4Nlx1NzhBMVx1Nzg4M1x1Nzg3OVx1Nzg5OVx1Nzg4MFx1Nzg5Nlx1Nzg3Qlx1Nzk3Q1x1Nzk4Mlx1Nzk3RFx1Nzk3OVx1N0ExMVx1N0ExOFx1N0ExOVx1N0ExMlx1N0ExN1x1N0ExNVx1N0EyMlx1N0ExM1wiXSxcbltcImRmNDBcIixcIlx1N0ExQlx1N0ExMFx1N0FBM1x1N0FBMlx1N0E5RVx1N0FFQlx1N0I2Nlx1N0I2NFx1N0I2RFx1N0I3NFx1N0I2OVx1N0I3Mlx1N0I2NVx1N0I3M1x1N0I3MVx1N0I3MFx1N0I2MVx1N0I3OFx1N0I3Nlx1N0I2M1x1N0NCMlx1N0NCNFx1N0NBRlx1N0Q4OFx1N0Q4Nlx1N0Q4MFx1N0Q4RFx1N0Q3Rlx1N0Q4NVx1N0Q3QVx1N0Q4RVx1N0Q3Qlx1N0Q4M1x1N0Q3Q1x1N0Q4Q1x1N0Q5NFx1N0Q4NFx1N0Q3RFx1N0Q5Mlx1N0Y2RFx1N0Y2Qlx1N0Y2N1x1N0Y2OFx1N0Y2Q1x1N0ZBNlx1N0ZBNVx1N0ZBN1x1N0ZEQlx1N0ZEQ1x1ODAyMVx1ODE2NFx1ODE2MFx1ODE3N1x1ODE1Q1x1ODE2OVx1ODE1Qlx1ODE2Mlx1ODE3Mlx1NjcyMVx1ODE1RVx1ODE3Nlx1ODE2N1x1ODE2RlwiXSxcbltcImRmYTFcIixcIlx1ODE0NFx1ODE2MVx1ODIxRFx1ODI0OVx1ODI0NFx1ODI0MFx1ODI0Mlx1ODI0NVx1ODRGMVx1ODQzRlx1ODQ1Nlx1ODQ3Nlx1ODQ3OVx1ODQ4Rlx1ODQ4RFx1ODQ2NVx1ODQ1MVx1ODQ0MFx1ODQ4Nlx1ODQ2N1x1ODQzMFx1ODQ0RFx1ODQ3RFx1ODQ1QVx1ODQ1OVx1ODQ3NFx1ODQ3M1x1ODQ1RFx1ODUwN1x1ODQ1RVx1ODQzN1x1ODQzQVx1ODQzNFx1ODQ3QVx1ODQ0M1x1ODQ3OFx1ODQzMlx1ODQ0NVx1ODQyOVx1ODNEOVx1ODQ0Qlx1ODQyRlx1ODQ0Mlx1ODQyRFx1ODQ1Rlx1ODQ3MFx1ODQzOVx1ODQ0RVx1ODQ0Q1x1ODQ1Mlx1ODQ2Rlx1ODRDNVx1ODQ4RVx1ODQzQlx1ODQ0N1x1ODQzNlx1ODQzM1x1ODQ2OFx1ODQ3RVx1ODQ0NFx1ODQyQlx1ODQ2MFx1ODQ1NFx1ODQ2RVx1ODQ1MFx1ODcwQlx1ODcwNFx1ODZGN1x1ODcwQ1x1ODZGQVx1ODZENlx1ODZGNVx1ODc0RFx1ODZGOFx1ODcwRVx1ODcwOVx1ODcwMVx1ODZGNlx1ODcwRFx1ODcwNVx1ODhENlx1ODhDQlx1ODhDRFx1ODhDRVx1ODhERVx1ODhEQlx1ODhEQVx1ODhDQ1x1ODhEMFx1ODk4NVx1ODk5Qlx1ODlERlx1ODlFNVx1ODlFNFwiXSxcbltcImUwNDBcIixcIlx1ODlFMVx1ODlFMFx1ODlFMlx1ODlEQ1x1ODlFNlx1OEE3Nlx1OEE4Nlx1OEE3Rlx1OEE2MVx1OEEzRlx1OEE3N1x1OEE4Mlx1OEE4NFx1OEE3NVx1OEE4M1x1OEE4MVx1OEE3NFx1OEE3QVx1OEMzQ1x1OEM0Qlx1OEM0QVx1OEM2NVx1OEM2NFx1OEM2Nlx1OEM4Nlx1OEM4NFx1OEM4NVx1OENDQ1x1OEQ2OFx1OEQ2OVx1OEQ5MVx1OEQ4Q1x1OEQ4RVx1OEQ4Rlx1OEQ4RFx1OEQ5M1x1OEQ5NFx1OEQ5MFx1OEQ5Mlx1OERGMFx1OERFMFx1OERFQ1x1OERGMVx1OERFRVx1OEREMFx1OERFOVx1OERFM1x1OERFMlx1OERFN1x1OERGMlx1OERFQlx1OERGNFx1OEYwNlx1OEVGRlx1OEYwMVx1OEYwMFx1OEYwNVx1OEYwN1x1OEYwOFx1OEYwMlx1OEYwQlx1OTA1Mlx1OTAzRlwiXSxcbltcImUwYTFcIixcIlx1OTA0NFx1OTA0OVx1OTAzRFx1OTExMFx1OTEwRFx1OTEwRlx1OTExMVx1OTExNlx1OTExNFx1OTEwQlx1OTEwRVx1OTE2RVx1OTE2Rlx1OTI0OFx1OTI1Mlx1OTIzMFx1OTIzQVx1OTI2Nlx1OTIzM1x1OTI2NVx1OTI1RVx1OTI4M1x1OTIyRVx1OTI0QVx1OTI0Nlx1OTI2RFx1OTI2Q1x1OTI0Rlx1OTI2MFx1OTI2N1x1OTI2Rlx1OTIzNlx1OTI2MVx1OTI3MFx1OTIzMVx1OTI1NFx1OTI2M1x1OTI1MFx1OTI3Mlx1OTI0RVx1OTI1M1x1OTI0Q1x1OTI1Nlx1OTIzMlx1OTU5Rlx1OTU5Q1x1OTU5RVx1OTU5Qlx1OTY5Mlx1OTY5M1x1OTY5MVx1OTY5N1x1OTZDRVx1OTZGQVx1OTZGRFx1OTZGOFx1OTZGNVx1OTc3M1x1OTc3N1x1OTc3OFx1OTc3Mlx1OTgwRlx1OTgwRFx1OTgwRVx1OThBQ1x1OThGNlx1OThGOVx1OTlBRlx1OTlCMlx1OTlCMFx1OTlCNVx1OUFBRFx1OUFBQlx1OUI1Qlx1OUNFQVx1OUNFRFx1OUNFN1x1OUU4MFx1OUVGRFx1NTBFNlx1NTBENFx1NTBEN1x1NTBFOFx1NTBGM1x1NTBEQlx1NTBFQVx1NTBERFx1NTBFNFx1NTBEM1x1NTBFQ1x1NTBGMFx1NTBFRlx1NTBFM1x1NTBFMFwiXSxcbltcImUxNDBcIixcIlx1NTFEOFx1NTI4MFx1NTI4MVx1NTJFOVx1NTJFQlx1NTMzMFx1NTNBQ1x1NTYyN1x1NTYxNVx1NTYwQ1x1NTYxMlx1NTVGQ1x1NTYwRlx1NTYxQ1x1NTYwMVx1NTYxM1x1NTYwMlx1NTVGQVx1NTYxRFx1NTYwNFx1NTVGRlx1NTVGOVx1NTg4OVx1NTg3Q1x1NTg5MFx1NTg5OFx1NTg4Nlx1NTg4MVx1NTg3Rlx1NTg3NFx1NTg4Qlx1NTg3QVx1NTg4N1x1NTg5MVx1NTg4RVx1NTg3Nlx1NTg4Mlx1NTg4OFx1NTg3Qlx1NTg5NFx1NTg4Rlx1NThGRVx1NTk2Qlx1NUFEQ1x1NUFFRVx1NUFFNVx1NUFENVx1NUFFQVx1NUFEQVx1NUFFRFx1NUFFQlx1NUFGM1x1NUFFMlx1NUFFMFx1NUFEQlx1NUFFQ1x1NUFERVx1NUFERFx1NUFEOVx1NUFFOFx1NUFERlx1NUI3N1x1NUJFMFwiXSxcbltcImUxYTFcIixcIlx1NUJFM1x1NUM2M1x1NUQ4Mlx1NUQ4MFx1NUQ3RFx1NUQ4Nlx1NUQ3QVx1NUQ4MVx1NUQ3N1x1NUQ4QVx1NUQ4OVx1NUQ4OFx1NUQ3RVx1NUQ3Q1x1NUQ4RFx1NUQ3OVx1NUQ3Rlx1NUU1OFx1NUU1OVx1NUU1M1x1NUVEOFx1NUVEMVx1NUVEN1x1NUVDRVx1NUVEQ1x1NUVENVx1NUVEOVx1NUVEMlx1NUVENFx1NUY0NFx1NUY0M1x1NUY2Rlx1NUZCNlx1NjEyQ1x1NjEyOFx1NjE0MVx1NjE1RVx1NjE3MVx1NjE3M1x1NjE1Mlx1NjE1M1x1NjE3Mlx1NjE2Q1x1NjE4MFx1NjE3NFx1NjE1NFx1NjE3QVx1NjE1Qlx1NjE2NVx1NjEzQlx1NjE2QVx1NjE2MVx1NjE1Nlx1NjIyOVx1NjIyN1x1NjIyQlx1NjQyQlx1NjQ0RFx1NjQ1Qlx1NjQ1RFx1NjQ3NFx1NjQ3Nlx1NjQ3Mlx1NjQ3M1x1NjQ3RFx1NjQ3NVx1NjQ2Nlx1NjRBNlx1NjQ0RVx1NjQ4Mlx1NjQ1RVx1NjQ1Q1x1NjQ0Qlx1NjQ1M1x1NjQ2MFx1NjQ1MFx1NjQ3Rlx1NjQzRlx1NjQ2Q1x1NjQ2Qlx1NjQ1OVx1NjQ2NVx1NjQ3N1x1NjU3M1x1NjVBMFx1NjZBMVx1NjZBMFx1NjY5Rlx1NjcwNVx1NjcwNFx1NjcyMlx1NjlCMVx1NjlCNlx1NjlDOVwiXSxcbltcImUyNDBcIixcIlx1NjlBMFx1NjlDRVx1Njk5Nlx1NjlCMFx1NjlBQ1x1NjlCQ1x1Njk5MVx1Njk5OVx1Njk4RVx1NjlBN1x1Njk4RFx1NjlBOVx1NjlCRVx1NjlBRlx1NjlCRlx1NjlDNFx1NjlCRFx1NjlBNFx1NjlENFx1NjlCOVx1NjlDQVx1Njk5QVx1NjlDRlx1NjlCM1x1Njk5M1x1NjlBQVx1NjlBMVx1Njk5RVx1NjlEOVx1Njk5N1x1Njk5MFx1NjlDMlx1NjlCNVx1NjlBNVx1NjlDNlx1NkI0QVx1NkI0RFx1NkI0Qlx1NkI5RVx1NkI5Rlx1NkJBMFx1NkJDM1x1NkJDNFx1NkJGRVx1NkVDRVx1NkVGNVx1NkVGMVx1NkYwM1x1NkYyNVx1NkVGOFx1NkYzN1x1NkVGQlx1NkYyRVx1NkYwOVx1NkY0RVx1NkYxOVx1NkYxQVx1NkYyN1x1NkYxOFx1NkYzQlx1NkYxMlx1NkVFRFx1NkYwQVwiXSxcbltcImUyYTFcIixcIlx1NkYzNlx1NkY3M1x1NkVGOVx1NkVFRVx1NkYyRFx1NkY0MFx1NkYzMFx1NkYzQ1x1NkYzNVx1NkVFQlx1NkYwN1x1NkYwRVx1NkY0M1x1NkYwNVx1NkVGRFx1NkVGNlx1NkYzOVx1NkYxQ1x1NkVGQ1x1NkYzQVx1NkYxRlx1NkYwRFx1NkYxRVx1NkYwOFx1NkYyMVx1NzE4N1x1NzE5MFx1NzE4OVx1NzE4MFx1NzE4NVx1NzE4Mlx1NzE4Rlx1NzE3Qlx1NzE4Nlx1NzE4MVx1NzE5N1x1NzI0NFx1NzI1M1x1NzI5N1x1NzI5NVx1NzI5M1x1NzM0M1x1NzM0RFx1NzM1MVx1NzM0Q1x1NzQ2Mlx1NzQ3M1x1NzQ3MVx1NzQ3NVx1NzQ3Mlx1NzQ2N1x1NzQ2RVx1NzUwMFx1NzUwMlx1NzUwM1x1NzU3RFx1NzU5MFx1NzYxNlx1NzYwOFx1NzYwQ1x1NzYxNVx1NzYxMVx1NzYwQVx1NzYxNFx1NzZCOFx1Nzc4MVx1Nzc3Q1x1Nzc4NVx1Nzc4Mlx1Nzc2RVx1Nzc4MFx1Nzc2Rlx1Nzc3RVx1Nzc4M1x1NzhCMlx1NzhBQVx1NzhCNFx1NzhBRFx1NzhBOFx1Nzg3RVx1NzhBQlx1Nzg5RVx1NzhBNVx1NzhBMFx1NzhBQ1x1NzhBMlx1NzhBNFx1Nzk5OFx1Nzk4QVx1Nzk4Qlx1Nzk5Nlx1Nzk5NVx1Nzk5NFx1Nzk5M1wiXSxcbltcImUzNDBcIixcIlx1Nzk5N1x1Nzk4OFx1Nzk5Mlx1Nzk5MFx1N0EyQlx1N0E0QVx1N0EzMFx1N0EyRlx1N0EyOFx1N0EyNlx1N0FBOFx1N0FBQlx1N0FBQ1x1N0FFRVx1N0I4OFx1N0I5Q1x1N0I4QVx1N0I5MVx1N0I5MFx1N0I5Nlx1N0I4RFx1N0I4Q1x1N0I5Qlx1N0I4RVx1N0I4NVx1N0I5OFx1NTI4NFx1N0I5OVx1N0JBNFx1N0I4Mlx1N0NCQlx1N0NCRlx1N0NCQ1x1N0NCQVx1N0RBN1x1N0RCN1x1N0RDMlx1N0RBM1x1N0RBQVx1N0RDMVx1N0RDMFx1N0RDNVx1N0Q5RFx1N0RDRVx1N0RDNFx1N0RDNlx1N0RDQlx1N0RDQ1x1N0RBRlx1N0RCOVx1N0Q5Nlx1N0RCQ1x1N0Q5Rlx1N0RBNlx1N0RBRVx1N0RBOVx1N0RBMVx1N0RDOVx1N0Y3M1x1N0ZFMlx1N0ZFM1x1N0ZFNVx1N0ZERVwiXSxcbltcImUzYTFcIixcIlx1ODAyNFx1ODA1RFx1ODA1Q1x1ODE4OVx1ODE4Nlx1ODE4M1x1ODE4N1x1ODE4RFx1ODE4Q1x1ODE4Qlx1ODIxNVx1ODQ5N1x1ODRBNFx1ODRBMVx1ODQ5Rlx1ODRCQVx1ODRDRVx1ODRDMlx1ODRBQ1x1ODRBRVx1ODRBQlx1ODRCOVx1ODRCNFx1ODRDMVx1ODRDRFx1ODRBQVx1ODQ5QVx1ODRCMVx1ODREMFx1ODQ5RFx1ODRBN1x1ODRCQlx1ODRBMlx1ODQ5NFx1ODRDN1x1ODRDQ1x1ODQ5Qlx1ODRBOVx1ODRBRlx1ODRBOFx1ODRENlx1ODQ5OFx1ODRCNlx1ODRDRlx1ODRBMFx1ODREN1x1ODRENFx1ODREMlx1ODREQlx1ODRCMFx1ODQ5MVx1ODY2MVx1ODczM1x1ODcyM1x1ODcyOFx1ODc2Qlx1ODc0MFx1ODcyRVx1ODcxRVx1ODcyMVx1ODcxOVx1ODcxQlx1ODc0M1x1ODcyQ1x1ODc0MVx1ODczRVx1ODc0Nlx1ODcyMFx1ODczMlx1ODcyQVx1ODcyRFx1ODczQ1x1ODcxMlx1ODczQVx1ODczMVx1ODczNVx1ODc0Mlx1ODcyNlx1ODcyN1x1ODczOFx1ODcyNFx1ODcxQVx1ODczMFx1ODcxMVx1ODhGN1x1ODhFN1x1ODhGMVx1ODhGMlx1ODhGQVx1ODhGRVx1ODhFRVx1ODhGQ1x1ODhGNlx1ODhGQlwiXSxcbltcImU0NDBcIixcIlx1ODhGMFx1ODhFQ1x1ODhFQlx1ODk5RFx1ODlBMVx1ODk5Rlx1ODk5RVx1ODlFOVx1ODlFQlx1ODlFOFx1OEFBQlx1OEE5OVx1OEE4Qlx1OEE5Mlx1OEE4Rlx1OEE5Nlx1OEMzRFx1OEM2OFx1OEM2OVx1OENENVx1OENDRlx1OENEN1x1OEQ5Nlx1OEUwOVx1OEUwMlx1OERGRlx1OEUwRFx1OERGRFx1OEUwQVx1OEUwM1x1OEUwN1x1OEUwNlx1OEUwNVx1OERGRVx1OEUwMFx1OEUwNFx1OEYxMFx1OEYxMVx1OEYwRVx1OEYwRFx1OTEyM1x1OTExQ1x1OTEyMFx1OTEyMlx1OTExRlx1OTExRFx1OTExQVx1OTEyNFx1OTEyMVx1OTExQlx1OTE3QVx1OTE3Mlx1OTE3OVx1OTE3M1x1OTJBNVx1OTJBNFx1OTI3Nlx1OTI5Qlx1OTI3QVx1OTJBMFx1OTI5NFx1OTJBQVx1OTI4RFwiXSxcbltcImU0YTFcIixcIlx1OTJBNlx1OTI5QVx1OTJBQlx1OTI3OVx1OTI5N1x1OTI3Rlx1OTJBM1x1OTJFRVx1OTI4RVx1OTI4Mlx1OTI5NVx1OTJBMlx1OTI3RFx1OTI4OFx1OTJBMVx1OTI4QVx1OTI4Nlx1OTI4Q1x1OTI5OVx1OTJBN1x1OTI3RVx1OTI4N1x1OTJBOVx1OTI5RFx1OTI4Qlx1OTIyRFx1OTY5RVx1OTZBMVx1OTZGRlx1OTc1OFx1OTc3RFx1OTc3QVx1OTc3RVx1OTc4M1x1OTc4MFx1OTc4Mlx1OTc3Qlx1OTc4NFx1OTc4MVx1OTc3Rlx1OTdDRVx1OTdDRFx1OTgxNlx1OThBRFx1OThBRVx1OTkwMlx1OTkwMFx1OTkwN1x1OTk5RFx1OTk5Q1x1OTlDM1x1OTlCOVx1OTlCQlx1OTlCQVx1OTlDMlx1OTlCRFx1OTlDN1x1OUFCMVx1OUFFM1x1OUFFN1x1OUIzRVx1OUIzRlx1OUI2MFx1OUI2MVx1OUI1Rlx1OUNGMVx1OUNGMlx1OUNGNVx1OUVBN1x1NTBGRlx1NTEwM1x1NTEzMFx1NTBGOFx1NTEwNlx1NTEwN1x1NTBGNlx1NTBGRVx1NTEwQlx1NTEwQ1x1NTBGRFx1NTEwQVx1NTI4Qlx1NTI4Q1x1NTJGMVx1NTJFRlx1NTY0OFx1NTY0Mlx1NTY0Q1x1NTYzNVx1NTY0MVx1NTY0QVx1NTY0OVx1NTY0Nlx1NTY1OFwiXSxcbltcImU1NDBcIixcIlx1NTY1QVx1NTY0MFx1NTYzM1x1NTYzRFx1NTYyQ1x1NTYzRVx1NTYzOFx1NTYyQVx1NTYzQVx1NTcxQVx1NThBQlx1NTg5RFx1NThCMVx1NThBMFx1NThBM1x1NThBRlx1NThBQ1x1NThBNVx1NThBMVx1NThGRlx1NUFGRlx1NUFGNFx1NUFGRFx1NUFGN1x1NUFGNlx1NUIwM1x1NUFGOFx1NUIwMlx1NUFGOVx1NUIwMVx1NUIwN1x1NUIwNVx1NUIwRlx1NUM2N1x1NUQ5OVx1NUQ5N1x1NUQ5Rlx1NUQ5Mlx1NURBMlx1NUQ5M1x1NUQ5NVx1NURBMFx1NUQ5Q1x1NURBMVx1NUQ5QVx1NUQ5RVx1NUU2OVx1NUU1RFx1NUU2MFx1NUU1Q1x1N0RGM1x1NUVEQlx1NUVERVx1NUVFMVx1NUY0OVx1NUZCMlx1NjE4Qlx1NjE4M1x1NjE3OVx1NjFCMVx1NjFCMFx1NjFBMlx1NjE4OVwiXSxcbltcImU1YTFcIixcIlx1NjE5Qlx1NjE5M1x1NjFBRlx1NjFBRFx1NjE5Rlx1NjE5Mlx1NjFBQVx1NjFBMVx1NjE4RFx1NjE2Nlx1NjFCM1x1NjIyRFx1NjQ2RVx1NjQ3MFx1NjQ5Nlx1NjRBMFx1NjQ4NVx1NjQ5N1x1NjQ5Q1x1NjQ4Rlx1NjQ4Qlx1NjQ4QVx1NjQ4Q1x1NjRBM1x1NjQ5Rlx1NjQ2OFx1NjRCMVx1NjQ5OFx1NjU3Nlx1NjU3QVx1NjU3OVx1NjU3Qlx1NjVCMlx1NjVCM1x1NjZCNVx1NjZCMFx1NjZBOVx1NjZCMlx1NjZCN1x1NjZBQVx1NjZBRlx1NkEwMFx1NkEwNlx1NkExN1x1NjlFNVx1NjlGOFx1NkExNVx1NjlGMVx1NjlFNFx1NkEyMFx1NjlGRlx1NjlFQ1x1NjlFMlx1NkExQlx1NkExRFx1NjlGRVx1NkEyN1x1NjlGMlx1NjlFRVx1NkExNFx1NjlGN1x1NjlFN1x1NkE0MFx1NkEwOFx1NjlFNlx1NjlGQlx1NkEwRFx1NjlGQ1x1NjlFQlx1NkEwOVx1NkEwNFx1NkExOFx1NkEyNVx1NkEwRlx1NjlGNlx1NkEyNlx1NkEwN1x1NjlGNFx1NkExNlx1NkI1MVx1NkJBNVx1NkJBM1x1NkJBMlx1NkJBNlx1NkMwMVx1NkMwMFx1NkJGRlx1NkMwMlx1NkY0MVx1NkYyNlx1NkY3RVx1NkY4N1x1NkZDNlx1NkY5MlwiXSxcbltcImU2NDBcIixcIlx1NkY4RFx1NkY4OVx1NkY4Q1x1NkY2Mlx1NkY0Rlx1NkY4NVx1NkY1QVx1NkY5Nlx1NkY3Nlx1NkY2Q1x1NkY4Mlx1NkY1NVx1NkY3Mlx1NkY1Mlx1NkY1MFx1NkY1N1x1NkY5NFx1NkY5M1x1NkY1RFx1NkYwMFx1NkY2MVx1NkY2Qlx1NkY3RFx1NkY2N1x1NkY5MFx1NkY1M1x1NkY4Qlx1NkY2OVx1NkY3Rlx1NkY5NVx1NkY2M1x1NkY3N1x1NkY2QVx1NkY3Qlx1NzFCMlx1NzFBRlx1NzE5Qlx1NzFCMFx1NzFBMFx1NzE5QVx1NzFBOVx1NzFCNVx1NzE5RFx1NzFBNVx1NzE5RVx1NzFBNFx1NzFBMVx1NzFBQVx1NzE5Q1x1NzFBN1x1NzFCM1x1NzI5OFx1NzI5QVx1NzM1OFx1NzM1Mlx1NzM1RVx1NzM1Rlx1NzM2MFx1NzM1RFx1NzM1Qlx1NzM2MVx1NzM1QVx1NzM1OVwiXSxcbltcImU2YTFcIixcIlx1NzM2Mlx1NzQ4N1x1NzQ4OVx1NzQ4QVx1NzQ4Nlx1NzQ4MVx1NzQ3RFx1NzQ4NVx1NzQ4OFx1NzQ3Q1x1NzQ3OVx1NzUwOFx1NzUwN1x1NzU3RVx1NzYyNVx1NzYxRVx1NzYxOVx1NzYxRFx1NzYxQ1x1NzYyM1x1NzYxQVx1NzYyOFx1NzYxQlx1NzY5Q1x1NzY5RFx1NzY5RVx1NzY5Qlx1Nzc4RFx1Nzc4Rlx1Nzc4OVx1Nzc4OFx1NzhDRFx1NzhCQlx1NzhDRlx1NzhDQ1x1NzhEMVx1NzhDRVx1NzhENFx1NzhDOFx1NzhDM1x1NzhDNFx1NzhDOVx1Nzk5QVx1NzlBMVx1NzlBMFx1Nzk5Q1x1NzlBMlx1Nzk5Qlx1NkI3Nlx1N0EzOVx1N0FCMlx1N0FCNFx1N0FCM1x1N0JCN1x1N0JDQlx1N0JCRVx1N0JBQ1x1N0JDRVx1N0JBRlx1N0JCOVx1N0JDQVx1N0JCNVx1N0NDNVx1N0NDOFx1N0NDQ1x1N0NDQlx1N0RGN1x1N0REQlx1N0RFQVx1N0RFN1x1N0REN1x1N0RFMVx1N0UwM1x1N0RGQVx1N0RFNlx1N0RGNlx1N0RGMVx1N0RGMFx1N0RFRVx1N0RERlx1N0Y3Nlx1N0ZBQ1x1N0ZCMFx1N0ZBRFx1N0ZFRFx1N0ZFQlx1N0ZFQVx1N0ZFQ1x1N0ZFNlx1N0ZFOFx1ODA2NFx1ODA2N1x1ODFBM1x1ODE5RlwiXSxcbltcImU3NDBcIixcIlx1ODE5RVx1ODE5NVx1ODFBMlx1ODE5OVx1ODE5N1x1ODIxNlx1ODI0Rlx1ODI1M1x1ODI1Mlx1ODI1MFx1ODI0RVx1ODI1MVx1ODUyNFx1ODUzQlx1ODUwRlx1ODUwMFx1ODUyOVx1ODUwRVx1ODUwOVx1ODUwRFx1ODUxRlx1ODUwQVx1ODUyN1x1ODUxQ1x1ODRGQlx1ODUyQlx1ODRGQVx1ODUwOFx1ODUwQ1x1ODRGNFx1ODUyQVx1ODRGMlx1ODUxNVx1ODRGN1x1ODRFQlx1ODRGM1x1ODRGQ1x1ODUxMlx1ODRFQVx1ODRFOVx1ODUxNlx1ODRGRVx1ODUyOFx1ODUxRFx1ODUyRVx1ODUwMlx1ODRGRFx1ODUxRVx1ODRGNlx1ODUzMVx1ODUyNlx1ODRFN1x1ODRFOFx1ODRGMFx1ODRFRlx1ODRGOVx1ODUxOFx1ODUyMFx1ODUzMFx1ODUwQlx1ODUxOVx1ODUyRlx1ODY2MlwiXSxcbltcImU3YTFcIixcIlx1ODc1Nlx1ODc2M1x1ODc2NFx1ODc3N1x1ODdFMVx1ODc3M1x1ODc1OFx1ODc1NFx1ODc1Qlx1ODc1Mlx1ODc2MVx1ODc1QVx1ODc1MVx1ODc1RVx1ODc2RFx1ODc2QVx1ODc1MFx1ODc0RVx1ODc1Rlx1ODc1RFx1ODc2Rlx1ODc2Q1x1ODc3QVx1ODc2RVx1ODc1Q1x1ODc2NVx1ODc0Rlx1ODc3Qlx1ODc3NVx1ODc2Mlx1ODc2N1x1ODc2OVx1ODg1QVx1ODkwNVx1ODkwQ1x1ODkxNFx1ODkwQlx1ODkxN1x1ODkxOFx1ODkxOVx1ODkwNlx1ODkxNlx1ODkxMVx1ODkwRVx1ODkwOVx1ODlBMlx1ODlBNFx1ODlBM1x1ODlFRFx1ODlGMFx1ODlFQ1x1OEFDRlx1OEFDNlx1OEFCOFx1OEFEM1x1OEFEMVx1OEFENFx1OEFENVx1OEFCQlx1OEFEN1x1OEFCRVx1OEFDMFx1OEFDNVx1OEFEOFx1OEFDM1x1OEFCQVx1OEFCRFx1OEFEOVx1OEMzRVx1OEM0RFx1OEM4Rlx1OENFNVx1OENERlx1OENEOVx1OENFOFx1OENEQVx1OENERFx1OENFN1x1OERBMFx1OEQ5Q1x1OERBMVx1OEQ5Qlx1OEUyMFx1OEUyM1x1OEUyNVx1OEUyNFx1OEUyRVx1OEUxNVx1OEUxQlx1OEUxNlx1OEUxMVx1OEUxOVx1OEUyNlx1OEUyN1wiXSxcbltcImU4NDBcIixcIlx1OEUxNFx1OEUxMlx1OEUxOFx1OEUxM1x1OEUxQ1x1OEUxN1x1OEUxQVx1OEYyQ1x1OEYyNFx1OEYxOFx1OEYxQVx1OEYyMFx1OEYyM1x1OEYxNlx1OEYxN1x1OTA3M1x1OTA3MFx1OTA2Rlx1OTA2N1x1OTA2Qlx1OTEyRlx1OTEyQlx1OTEyOVx1OTEyQVx1OTEzMlx1OTEyNlx1OTEyRVx1OTE4NVx1OTE4Nlx1OTE4QVx1OTE4MVx1OTE4Mlx1OTE4NFx1OTE4MFx1OTJEMFx1OTJDM1x1OTJDNFx1OTJDMFx1OTJEOVx1OTJCNlx1OTJDRlx1OTJGMVx1OTJERlx1OTJEOFx1OTJFOVx1OTJEN1x1OTJERFx1OTJDQ1x1OTJFRlx1OTJDMlx1OTJFOFx1OTJDQVx1OTJDOFx1OTJDRVx1OTJFNlx1OTJDRFx1OTJENVx1OTJDOVx1OTJFMFx1OTJERVx1OTJFN1x1OTJEMVx1OTJEM1wiXSxcbltcImU4YTFcIixcIlx1OTJCNVx1OTJFMVx1OTJDNlx1OTJCNFx1OTU3Q1x1OTVBQ1x1OTVBQlx1OTVBRVx1OTVCMFx1OTZBNFx1OTZBMlx1OTZEM1x1OTcwNVx1OTcwOFx1OTcwMlx1OTc1QVx1OTc4QVx1OTc4RVx1OTc4OFx1OTdEMFx1OTdDRlx1OTgxRVx1OTgxRFx1OTgyNlx1OTgyOVx1OTgyOFx1OTgyMFx1OTgxQlx1OTgyN1x1OThCMlx1OTkwOFx1OThGQVx1OTkxMVx1OTkxNFx1OTkxNlx1OTkxN1x1OTkxNVx1OTlEQ1x1OTlDRFx1OTlDRlx1OTlEM1x1OTlENFx1OTlDRVx1OTlDOVx1OTlENlx1OTlEOFx1OTlDQlx1OTlEN1x1OTlDQ1x1OUFCM1x1OUFFQ1x1OUFFQlx1OUFGM1x1OUFGMlx1OUFGMVx1OUI0Nlx1OUI0M1x1OUI2N1x1OUI3NFx1OUI3MVx1OUI2Nlx1OUI3Nlx1OUI3NVx1OUI3MFx1OUI2OFx1OUI2NFx1OUI2Q1x1OUNGQ1x1OUNGQVx1OUNGRFx1OUNGRlx1OUNGN1x1OUQwN1x1OUQwMFx1OUNGOVx1OUNGQlx1OUQwOFx1OUQwNVx1OUQwNFx1OUU4M1x1OUVEM1x1OUYwRlx1OUYxMFx1NTExQ1x1NTExM1x1NTExN1x1NTExQVx1NTExMVx1NTFERVx1NTMzNFx1NTNFMVx1NTY3MFx1NTY2MFx1NTY2RVwiXSxcbltcImU5NDBcIixcIlx1NTY3M1x1NTY2Nlx1NTY2M1x1NTY2RFx1NTY3Mlx1NTY1RVx1NTY3N1x1NTcxQ1x1NTcxQlx1NThDOFx1NThCRFx1NThDOVx1NThCRlx1NThCQVx1NThDMlx1NThCQ1x1NThDNlx1NUIxN1x1NUIxOVx1NUIxQlx1NUIyMVx1NUIxNFx1NUIxM1x1NUIxMFx1NUIxNlx1NUIyOFx1NUIxQVx1NUIyMFx1NUIxRVx1NUJFRlx1NURBQ1x1NURCMVx1NURBOVx1NURBN1x1NURCNVx1NURCMFx1NURBRVx1NURBQVx1NURBOFx1NURCMlx1NURBRFx1NURBRlx1NURCNFx1NUU2N1x1NUU2OFx1NUU2Nlx1NUU2Rlx1NUVFOVx1NUVFN1x1NUVFNlx1NUVFOFx1NUVFNVx1NUY0Qlx1NUZCQ1x1NjE5RFx1NjFBOFx1NjE5Nlx1NjFDNVx1NjFCNFx1NjFDNlx1NjFDMVx1NjFDQ1x1NjFCQVwiXSxcbltcImU5YTFcIixcIlx1NjFCRlx1NjFCOFx1NjE4Q1x1NjREN1x1NjRENlx1NjREMFx1NjRDRlx1NjRDOVx1NjRCRFx1NjQ4OVx1NjRDM1x1NjREQlx1NjRGM1x1NjREOVx1NjUzM1x1NjU3Rlx1NjU3Q1x1NjVBMlx1NjZDOFx1NjZCRVx1NjZDMFx1NjZDQVx1NjZDQlx1NjZDRlx1NjZCRFx1NjZCQlx1NjZCQVx1NjZDQ1x1NjcyM1x1NkEzNFx1NkE2Nlx1NkE0OVx1NkE2N1x1NkEzMlx1NkE2OFx1NkEzRVx1NkE1RFx1NkE2RFx1NkE3Nlx1NkE1Qlx1NkE1MVx1NkEyOFx1NkE1QVx1NkEzQlx1NkEzRlx1NkE0MVx1NkE2QVx1NkE2NFx1NkE1MFx1NkE0Rlx1NkE1NFx1NkE2Rlx1NkE2OVx1NkE2MFx1NkEzQ1x1NkE1RVx1NkE1Nlx1NkE1NVx1NkE0RFx1NkE0RVx1NkE0Nlx1NkI1NVx1NkI1NFx1NkI1Nlx1NkJBN1x1NkJBQVx1NkJBQlx1NkJDOFx1NkJDN1x1NkMwNFx1NkMwM1x1NkMwNlx1NkZBRFx1NkZDQlx1NkZBM1x1NkZDN1x1NkZCQ1x1NkZDRVx1NkZDOFx1NkY1RVx1NkZDNFx1NkZCRFx1NkY5RVx1NkZDQVx1NkZBOFx1NzAwNFx1NkZBNVx1NkZBRVx1NkZCQVx1NkZBQ1x1NkZBQVx1NkZDRlx1NkZCRlx1NkZCOFwiXSxcbltcImVhNDBcIixcIlx1NkZBMlx1NkZDOVx1NkZBQlx1NkZDRFx1NkZBRlx1NkZCMlx1NkZCMFx1NzFDNVx1NzFDMlx1NzFCRlx1NzFCOFx1NzFENlx1NzFDMFx1NzFDMVx1NzFDQlx1NzFENFx1NzFDQVx1NzFDN1x1NzFDRlx1NzFCRFx1NzFEOFx1NzFCQ1x1NzFDNlx1NzFEQVx1NzFEQlx1NzI5RFx1NzI5RVx1NzM2OVx1NzM2Nlx1NzM2N1x1NzM2Q1x1NzM2NVx1NzM2Qlx1NzM2QVx1NzQ3Rlx1NzQ5QVx1NzRBMFx1NzQ5NFx1NzQ5Mlx1NzQ5NVx1NzRBMVx1NzUwQlx1NzU4MFx1NzYyRlx1NzYyRFx1NzYzMVx1NzYzRFx1NzYzM1x1NzYzQ1x1NzYzNVx1NzYzMlx1NzYzMFx1NzZCQlx1NzZFNlx1Nzc5QVx1Nzc5RFx1NzdBMVx1Nzc5Q1x1Nzc5Qlx1NzdBMlx1NzdBM1x1Nzc5NVx1Nzc5OVwiXSxcbltcImVhYTFcIixcIlx1Nzc5N1x1NzhERFx1NzhFOVx1NzhFNVx1NzhFQVx1NzhERVx1NzhFM1x1NzhEQlx1NzhFMVx1NzhFMlx1NzhFRFx1NzhERlx1NzhFMFx1NzlBNFx1N0E0NFx1N0E0OFx1N0E0N1x1N0FCNlx1N0FCOFx1N0FCNVx1N0FCMVx1N0FCN1x1N0JERVx1N0JFM1x1N0JFN1x1N0JERFx1N0JENVx1N0JFNVx1N0JEQVx1N0JFOFx1N0JGOVx1N0JENFx1N0JFQVx1N0JFMlx1N0JEQ1x1N0JFQlx1N0JEOFx1N0JERlx1N0NEMlx1N0NENFx1N0NEN1x1N0NEMFx1N0NEMVx1N0UxMlx1N0UyMVx1N0UxN1x1N0UwQ1x1N0UxRlx1N0UyMFx1N0UxM1x1N0UwRVx1N0UxQ1x1N0UxNVx1N0UxQVx1N0UyMlx1N0UwQlx1N0UwRlx1N0UxNlx1N0UwRFx1N0UxNFx1N0UyNVx1N0UyNFx1N0Y0M1x1N0Y3Qlx1N0Y3Q1x1N0Y3QVx1N0ZCMVx1N0ZFRlx1ODAyQVx1ODAyOVx1ODA2Q1x1ODFCMVx1ODFBNlx1ODFBRVx1ODFCOVx1ODFCNVx1ODFBQlx1ODFCMFx1ODFBQ1x1ODFCNFx1ODFCMlx1ODFCN1x1ODFBN1x1ODFGMlx1ODI1NVx1ODI1Nlx1ODI1N1x1ODU1Nlx1ODU0NVx1ODU2Qlx1ODU0RFx1ODU1M1x1ODU2MVx1ODU1OFwiXSxcbltcImViNDBcIixcIlx1ODU0MFx1ODU0Nlx1ODU2NFx1ODU0MVx1ODU2Mlx1ODU0NFx1ODU1MVx1ODU0N1x1ODU2M1x1ODUzRVx1ODU1Qlx1ODU3MVx1ODU0RVx1ODU2RVx1ODU3NVx1ODU1NVx1ODU2N1x1ODU2MFx1ODU4Q1x1ODU2Nlx1ODU1RFx1ODU1NFx1ODU2NVx1ODU2Q1x1ODY2M1x1ODY2NVx1ODY2NFx1ODc5Qlx1ODc4Rlx1ODc5N1x1ODc5M1x1ODc5Mlx1ODc4OFx1ODc4MVx1ODc5Nlx1ODc5OFx1ODc3OVx1ODc4N1x1ODdBM1x1ODc4NVx1ODc5MFx1ODc5MVx1ODc5RFx1ODc4NFx1ODc5NFx1ODc5Q1x1ODc5QVx1ODc4OVx1ODkxRVx1ODkyNlx1ODkzMFx1ODkyRFx1ODkyRVx1ODkyN1x1ODkzMVx1ODkyMlx1ODkyOVx1ODkyM1x1ODkyRlx1ODkyQ1x1ODkxRlx1ODlGMVx1OEFFMFwiXSxcbltcImViYTFcIixcIlx1OEFFMlx1OEFGMlx1OEFGNFx1OEFGNVx1OEFERFx1OEIxNFx1OEFFNFx1OEFERlx1OEFGMFx1OEFDOFx1OEFERVx1OEFFMVx1OEFFOFx1OEFGRlx1OEFFRlx1OEFGQlx1OEM5MVx1OEM5Mlx1OEM5MFx1OENGNVx1OENFRVx1OENGMVx1OENGMFx1OENGM1x1OEQ2Q1x1OEQ2RVx1OERBNVx1OERBN1x1OEUzM1x1OEUzRVx1OEUzOFx1OEU0MFx1OEU0NVx1OEUzNlx1OEUzQ1x1OEUzRFx1OEU0MVx1OEUzMFx1OEUzRlx1OEVCRFx1OEYzNlx1OEYyRVx1OEYzNVx1OEYzMlx1OEYzOVx1OEYzN1x1OEYzNFx1OTA3Nlx1OTA3OVx1OTA3Qlx1OTA4Nlx1OTBGQVx1OTEzM1x1OTEzNVx1OTEzNlx1OTE5M1x1OTE5MFx1OTE5MVx1OTE4RFx1OTE4Rlx1OTMyN1x1OTMxRVx1OTMwOFx1OTMxRlx1OTMwNlx1OTMwRlx1OTM3QVx1OTMzOFx1OTMzQ1x1OTMxQlx1OTMyM1x1OTMxMlx1OTMwMVx1OTM0Nlx1OTMyRFx1OTMwRVx1OTMwRFx1OTJDQlx1OTMxRFx1OTJGQVx1OTMyNVx1OTMxM1x1OTJGOVx1OTJGN1x1OTMzNFx1OTMwMlx1OTMyNFx1OTJGRlx1OTMyOVx1OTMzOVx1OTMzNVx1OTMyQVx1OTMxNFx1OTMwQ1wiXSxcbltcImVjNDBcIixcIlx1OTMwQlx1OTJGRVx1OTMwOVx1OTMwMFx1OTJGQlx1OTMxNlx1OTVCQ1x1OTVDRFx1OTVCRVx1OTVCOVx1OTVCQVx1OTVCNlx1OTVCRlx1OTVCNVx1OTVCRFx1OTZBOVx1OTZENFx1OTcwQlx1OTcxMlx1OTcxMFx1OTc5OVx1OTc5N1x1OTc5NFx1OTdGMFx1OTdGOFx1OTgzNVx1OTgyRlx1OTgzMlx1OTkyNFx1OTkxRlx1OTkyN1x1OTkyOVx1OTk5RVx1OTlFRVx1OTlFQ1x1OTlFNVx1OTlFNFx1OTlGMFx1OTlFM1x1OTlFQVx1OTlFOVx1OTlFN1x1OUFCOVx1OUFCRlx1OUFCNFx1OUFCQlx1OUFGNlx1OUFGQVx1OUFGOVx1OUFGN1x1OUIzM1x1OUI4MFx1OUI4NVx1OUI4N1x1OUI3Q1x1OUI3RVx1OUI3Qlx1OUI4Mlx1OUI5M1x1OUI5Mlx1OUI5MFx1OUI3QVx1OUI5NVwiXSxcbltcImVjYTFcIixcIlx1OUI3RFx1OUI4OFx1OUQyNVx1OUQxN1x1OUQyMFx1OUQxRVx1OUQxNFx1OUQyOVx1OUQxRFx1OUQxOFx1OUQyMlx1OUQxMFx1OUQxOVx1OUQxRlx1OUU4OFx1OUU4Nlx1OUU4N1x1OUVBRVx1OUVBRFx1OUVENVx1OUVENlx1OUVGQVx1OUYxMlx1OUYzRFx1NTEyNlx1NTEyNVx1NTEyMlx1NTEyNFx1NTEyMFx1NTEyOVx1NTJGNFx1NTY5M1x1NTY4Q1x1NTY4RFx1NTY4Nlx1NTY4NFx1NTY4M1x1NTY3RVx1NTY4Mlx1NTY3Rlx1NTY4MVx1NThENlx1NThENFx1NThDRlx1NThEMlx1NUIyRFx1NUIyNVx1NUIzMlx1NUIyM1x1NUIyQ1x1NUIyN1x1NUIyNlx1NUIyRlx1NUIyRVx1NUI3Qlx1NUJGMVx1NUJGMlx1NURCN1x1NUU2Q1x1NUU2QVx1NUZCRVx1NUZCQlx1NjFDM1x1NjFCNVx1NjFCQ1x1NjFFN1x1NjFFMFx1NjFFNVx1NjFFNFx1NjFFOFx1NjFERVx1NjRFRlx1NjRFOVx1NjRFM1x1NjRFQlx1NjRFNFx1NjRFOFx1NjU4MVx1NjU4MFx1NjVCNlx1NjVEQVx1NjZEMlx1NkE4RFx1NkE5Nlx1NkE4MVx1NkFBNVx1NkE4OVx1NkE5Rlx1NkE5Qlx1NkFBMVx1NkE5RVx1NkE4N1x1NkE5M1x1NkE4RVwiXSxcbltcImVkNDBcIixcIlx1NkE5NVx1NkE4M1x1NkFBOFx1NkFBNFx1NkE5MVx1NkE3Rlx1NkFBNlx1NkE5QVx1NkE4NVx1NkE4Q1x1NkE5Mlx1NkI1Qlx1NkJBRFx1NkMwOVx1NkZDQ1x1NkZBOVx1NkZGNFx1NkZENFx1NkZFM1x1NkZEQ1x1NkZFRFx1NkZFN1x1NkZFNlx1NkZERVx1NkZGMlx1NkZERFx1NkZFMlx1NkZFOFx1NzFFMVx1NzFGMVx1NzFFOFx1NzFGMlx1NzFFNFx1NzFGMFx1NzFFMlx1NzM3M1x1NzM2RVx1NzM2Rlx1NzQ5N1x1NzRCMlx1NzRBQlx1NzQ5MFx1NzRBQVx1NzRBRFx1NzRCMVx1NzRBNVx1NzRBRlx1NzUxMFx1NzUxMVx1NzUxMlx1NzUwRlx1NzU4NFx1NzY0M1x1NzY0OFx1NzY0OVx1NzY0N1x1NzZBNFx1NzZFOVx1NzdCNVx1NzdBQlx1NzdCMlx1NzdCN1x1NzdCNlwiXSxcbltcImVkYTFcIixcIlx1NzdCNFx1NzdCMVx1NzdBOFx1NzdGMFx1NzhGM1x1NzhGRFx1NzkwMlx1NzhGQlx1NzhGQ1x1NzhGMlx1NzkwNVx1NzhGOVx1NzhGRVx1NzkwNFx1NzlBQlx1NzlBOFx1N0E1Q1x1N0E1Qlx1N0E1Nlx1N0E1OFx1N0E1NFx1N0E1QVx1N0FCRVx1N0FDMFx1N0FDMVx1N0MwNVx1N0MwRlx1N0JGMlx1N0MwMFx1N0JGRlx1N0JGQlx1N0MwRVx1N0JGNFx1N0MwQlx1N0JGM1x1N0MwMlx1N0MwOVx1N0MwM1x1N0MwMVx1N0JGOFx1N0JGRFx1N0MwNlx1N0JGMFx1N0JGMVx1N0MxMFx1N0MwQVx1N0NFOFx1N0UyRFx1N0UzQ1x1N0U0Mlx1N0UzM1x1OTg0OFx1N0UzOFx1N0UyQVx1N0U0OVx1N0U0MFx1N0U0N1x1N0UyOVx1N0U0Q1x1N0UzMFx1N0UzQlx1N0UzNlx1N0U0NFx1N0UzQVx1N0Y0NVx1N0Y3Rlx1N0Y3RVx1N0Y3RFx1N0ZGNFx1N0ZGMlx1ODAyQ1x1ODFCQlx1ODFDNFx1ODFDQ1x1ODFDQVx1ODFDNVx1ODFDN1x1ODFCQ1x1ODFFOVx1ODI1Qlx1ODI1QVx1ODI1Q1x1ODU4M1x1ODU4MFx1ODU4Rlx1ODVBN1x1ODU5NVx1ODVBMFx1ODU4Qlx1ODVBM1x1ODU3Qlx1ODVBNFx1ODU5QVx1ODU5RVwiXSxcbltcImVlNDBcIixcIlx1ODU3N1x1ODU3Q1x1ODU4OVx1ODVBMVx1ODU3QVx1ODU3OFx1ODU1N1x1ODU4RVx1ODU5Nlx1ODU4Nlx1ODU4RFx1ODU5OVx1ODU5RFx1ODU4MVx1ODVBMlx1ODU4Mlx1ODU4OFx1ODU4NVx1ODU3OVx1ODU3Nlx1ODU5OFx1ODU5MFx1ODU5Rlx1ODY2OFx1ODdCRVx1ODdBQVx1ODdBRFx1ODdDNVx1ODdCMFx1ODdBQ1x1ODdCOVx1ODdCNVx1ODdCQ1x1ODdBRVx1ODdDOVx1ODdDM1x1ODdDMlx1ODdDQ1x1ODdCN1x1ODdBRlx1ODdDNFx1ODdDQVx1ODdCNFx1ODdCNlx1ODdCRlx1ODdCOFx1ODdCRFx1ODdERVx1ODdCMlx1ODkzNVx1ODkzM1x1ODkzQ1x1ODkzRVx1ODk0MVx1ODk1Mlx1ODkzN1x1ODk0Mlx1ODlBRFx1ODlBRlx1ODlBRVx1ODlGMlx1ODlGM1x1OEIxRVwiXSxcbltcImVlYTFcIixcIlx1OEIxOFx1OEIxNlx1OEIxMVx1OEIwNVx1OEIwQlx1OEIyMlx1OEIwRlx1OEIxMlx1OEIxNVx1OEIwN1x1OEIwRFx1OEIwOFx1OEIwNlx1OEIxQ1x1OEIxM1x1OEIxQVx1OEM0Rlx1OEM3MFx1OEM3Mlx1OEM3MVx1OEM2Rlx1OEM5NVx1OEM5NFx1OENGOVx1OEQ2Rlx1OEU0RVx1OEU0RFx1OEU1M1x1OEU1MFx1OEU0Q1x1OEU0N1x1OEY0M1x1OEY0MFx1OTA4NVx1OTA3RVx1OTEzOFx1OTE5QVx1OTFBMlx1OTE5Qlx1OTE5OVx1OTE5Rlx1OTFBMVx1OTE5RFx1OTFBMFx1OTNBMVx1OTM4M1x1OTNBRlx1OTM2NFx1OTM1Nlx1OTM0N1x1OTM3Q1x1OTM1OFx1OTM1Q1x1OTM3Nlx1OTM0OVx1OTM1MFx1OTM1MVx1OTM2MFx1OTM2RFx1OTM4Rlx1OTM0Q1x1OTM2QVx1OTM3OVx1OTM1N1x1OTM1NVx1OTM1Mlx1OTM0Rlx1OTM3MVx1OTM3N1x1OTM3Qlx1OTM2MVx1OTM1RVx1OTM2M1x1OTM2N1x1OTM4MFx1OTM0RVx1OTM1OVx1OTVDN1x1OTVDMFx1OTVDOVx1OTVDM1x1OTVDNVx1OTVCN1x1OTZBRVx1OTZCMFx1OTZBQ1x1OTcyMFx1OTcxRlx1OTcxOFx1OTcxRFx1OTcxOVx1OTc5QVx1OTdBMVx1OTc5Q1wiXSxcbltcImVmNDBcIixcIlx1OTc5RVx1OTc5RFx1OTdENVx1OTdENFx1OTdGMVx1OTg0MVx1OTg0NFx1OTg0QVx1OTg0OVx1OTg0NVx1OTg0M1x1OTkyNVx1OTkyQlx1OTkyQ1x1OTkyQVx1OTkzM1x1OTkzMlx1OTkyRlx1OTkyRFx1OTkzMVx1OTkzMFx1OTk5OFx1OTlBM1x1OTlBMVx1OUEwMlx1OTlGQVx1OTlGNFx1OTlGN1x1OTlGOVx1OTlGOFx1OTlGNlx1OTlGQlx1OTlGRFx1OTlGRVx1OTlGQ1x1OUEwM1x1OUFCRVx1OUFGRVx1OUFGRFx1OUIwMVx1OUFGQ1x1OUI0OFx1OUI5QVx1OUJBOFx1OUI5RVx1OUI5Qlx1OUJBNlx1OUJBMVx1OUJBNVx1OUJBNFx1OUI4Nlx1OUJBMlx1OUJBMFx1OUJBRlx1OUQzM1x1OUQ0MVx1OUQ2N1x1OUQzNlx1OUQyRVx1OUQyRlx1OUQzMVx1OUQzOFx1OUQzMFwiXSxcbltcImVmYTFcIixcIlx1OUQ0NVx1OUQ0Mlx1OUQ0M1x1OUQzRVx1OUQzN1x1OUQ0MFx1OUQzRFx1N0ZGNVx1OUQyRFx1OUU4QVx1OUU4OVx1OUU4RFx1OUVCMFx1OUVDOFx1OUVEQVx1OUVGQlx1OUVGRlx1OUYyNFx1OUYyM1x1OUYyMlx1OUY1NFx1OUZBMFx1NTEzMVx1NTEyRFx1NTEyRVx1NTY5OFx1NTY5Q1x1NTY5N1x1NTY5QVx1NTY5RFx1NTY5OVx1NTk3MFx1NUIzQ1x1NUM2OVx1NUM2QVx1NURDMFx1NUU2RFx1NUU2RVx1NjFEOFx1NjFERlx1NjFFRFx1NjFFRVx1NjFGMVx1NjFFQVx1NjFGMFx1NjFFQlx1NjFENlx1NjFFOVx1NjRGRlx1NjUwNFx1NjRGRFx1NjRGOFx1NjUwMVx1NjUwM1x1NjRGQ1x1NjU5NFx1NjVEQlx1NjZEQVx1NjZEQlx1NjZEOFx1NkFDNVx1NkFCOVx1NkFCRFx1NkFFMVx1NkFDNlx1NkFCQVx1NkFCNlx1NkFCN1x1NkFDN1x1NkFCNFx1NkFBRFx1NkI1RVx1NkJDOVx1NkMwQlx1NzAwN1x1NzAwQ1x1NzAwRFx1NzAwMVx1NzAwNVx1NzAxNFx1NzAwRVx1NkZGRlx1NzAwMFx1NkZGQlx1NzAyNlx1NkZGQ1x1NkZGN1x1NzAwQVx1NzIwMVx1NzFGRlx1NzFGOVx1NzIwM1x1NzFGRFx1NzM3NlwiXSxcbltcImYwNDBcIixcIlx1NzRCOFx1NzRDMFx1NzRCNVx1NzRDMVx1NzRCRVx1NzRCNlx1NzRCQlx1NzRDMlx1NzUxNFx1NzUxM1x1NzY1Q1x1NzY2NFx1NzY1OVx1NzY1MFx1NzY1M1x1NzY1N1x1NzY1QVx1NzZBNlx1NzZCRFx1NzZFQ1x1NzdDMlx1NzdCQVx1NzhGRlx1NzkwQ1x1NzkxM1x1NzkxNFx1NzkwOVx1NzkxMFx1NzkxMlx1NzkxMVx1NzlBRFx1NzlBQ1x1N0E1Rlx1N0MxQ1x1N0MyOVx1N0MxOVx1N0MyMFx1N0MxRlx1N0MyRFx1N0MxRFx1N0MyNlx1N0MyOFx1N0MyMlx1N0MyNVx1N0MzMFx1N0U1Q1x1N0U1MFx1N0U1Nlx1N0U2M1x1N0U1OFx1N0U2Mlx1N0U1Rlx1N0U1MVx1N0U2MFx1N0U1N1x1N0U1M1x1N0ZCNVx1N0ZCM1x1N0ZGN1x1N0ZGOFx1ODA3NVx1ODFEMVx1ODFEMlwiXSxcbltcImYwYTFcIixcIlx1ODFEMFx1ODI1Rlx1ODI1RVx1ODVCNFx1ODVDNlx1ODVDMFx1ODVDM1x1ODVDMlx1ODVCM1x1ODVCNVx1ODVCRFx1ODVDN1x1ODVDNFx1ODVCRlx1ODVDQlx1ODVDRVx1ODVDOFx1ODVDNVx1ODVCMVx1ODVCNlx1ODVEMlx1ODYyNFx1ODVCOFx1ODVCN1x1ODVCRVx1ODY2OVx1ODdFN1x1ODdFNlx1ODdFMlx1ODdEQlx1ODdFQlx1ODdFQVx1ODdFNVx1ODdERlx1ODdGM1x1ODdFNFx1ODdENFx1ODdEQ1x1ODdEM1x1ODdFRFx1ODdEOFx1ODdFM1x1ODdBNFx1ODdEN1x1ODdEOVx1ODgwMVx1ODdGNFx1ODdFOFx1ODdERFx1ODk1M1x1ODk0Qlx1ODk0Rlx1ODk0Q1x1ODk0Nlx1ODk1MFx1ODk1MVx1ODk0OVx1OEIyQVx1OEIyN1x1OEIyM1x1OEIzM1x1OEIzMFx1OEIzNVx1OEI0N1x1OEIyRlx1OEIzQ1x1OEIzRVx1OEIzMVx1OEIyNVx1OEIzN1x1OEIyNlx1OEIzNlx1OEIyRVx1OEIyNFx1OEIzQlx1OEIzRFx1OEIzQVx1OEM0Mlx1OEM3NVx1OEM5OVx1OEM5OFx1OEM5N1x1OENGRVx1OEQwNFx1OEQwMlx1OEQwMFx1OEU1Q1x1OEU2Mlx1OEU2MFx1OEU1N1x1OEU1Nlx1OEU1RVx1OEU2NVx1OEU2N1wiXSxcbltcImYxNDBcIixcIlx1OEU1Qlx1OEU1QVx1OEU2MVx1OEU1RFx1OEU2OVx1OEU1NFx1OEY0Nlx1OEY0N1x1OEY0OFx1OEY0Qlx1OTEyOFx1OTEzQVx1OTEzQlx1OTEzRVx1OTFBOFx1OTFBNVx1OTFBN1x1OTFBRlx1OTFBQVx1OTNCNVx1OTM4Q1x1OTM5Mlx1OTNCN1x1OTM5Qlx1OTM5RFx1OTM4OVx1OTNBN1x1OTM4RVx1OTNBQVx1OTM5RVx1OTNBNlx1OTM5NVx1OTM4OFx1OTM5OVx1OTM5Rlx1OTM4RFx1OTNCMVx1OTM5MVx1OTNCMlx1OTNBNFx1OTNBOFx1OTNCNFx1OTNBM1x1OTNBNVx1OTVEMlx1OTVEM1x1OTVEMVx1OTZCM1x1OTZEN1x1OTZEQVx1NURDMlx1OTZERlx1OTZEOFx1OTZERFx1OTcyM1x1OTcyMlx1OTcyNVx1OTdBQ1x1OTdBRVx1OTdBOFx1OTdBQlx1OTdBNFx1OTdBQVwiXSxcbltcImYxYTFcIixcIlx1OTdBMlx1OTdBNVx1OTdEN1x1OTdEOVx1OTdENlx1OTdEOFx1OTdGQVx1OTg1MFx1OTg1MVx1OTg1Mlx1OThCOFx1OTk0MVx1OTkzQ1x1OTkzQVx1OUEwRlx1OUEwQlx1OUEwOVx1OUEwRFx1OUEwNFx1OUExMVx1OUEwQVx1OUEwNVx1OUEwN1x1OUEwNlx1OUFDMFx1OUFEQ1x1OUIwOFx1OUIwNFx1OUIwNVx1OUIyOVx1OUIzNVx1OUI0QVx1OUI0Q1x1OUI0Qlx1OUJDN1x1OUJDNlx1OUJDM1x1OUJCRlx1OUJDMVx1OUJCNVx1OUJCOFx1OUJEM1x1OUJCNlx1OUJDNFx1OUJCOVx1OUJCRFx1OUQ1Q1x1OUQ1M1x1OUQ0Rlx1OUQ0QVx1OUQ1Qlx1OUQ0Qlx1OUQ1OVx1OUQ1Nlx1OUQ0Q1x1OUQ1N1x1OUQ1Mlx1OUQ1NFx1OUQ1Rlx1OUQ1OFx1OUQ1QVx1OUU4RVx1OUU4Q1x1OUVERlx1OUYwMVx1OUYwMFx1OUYxNlx1OUYyNVx1OUYyQlx1OUYyQVx1OUYyOVx1OUYyOFx1OUY0Q1x1OUY1NVx1NTEzNFx1NTEzNVx1NTI5Nlx1NTJGN1x1NTNCNFx1NTZBQlx1NTZBRFx1NTZBNlx1NTZBN1x1NTZBQVx1NTZBQ1x1NThEQVx1NThERFx1NThEQlx1NTkxMlx1NUIzRFx1NUIzRVx1NUIzRlx1NURDM1x1NUU3MFwiXSxcbltcImYyNDBcIixcIlx1NUZCRlx1NjFGQlx1NjUwN1x1NjUxMFx1NjUwRFx1NjUwOVx1NjUwQ1x1NjUwRVx1NjU4NFx1NjVERVx1NjVERFx1NjZERVx1NkFFN1x1NkFFMFx1NkFDQ1x1NkFEMVx1NkFEOVx1NkFDQlx1NkFERlx1NkFEQ1x1NkFEMFx1NkFFQlx1NkFDRlx1NkFDRFx1NkFERVx1NkI2MFx1NkJCMFx1NkMwQ1x1NzAxOVx1NzAyN1x1NzAyMFx1NzAxNlx1NzAyQlx1NzAyMVx1NzAyMlx1NzAyM1x1NzAyOVx1NzAxN1x1NzAyNFx1NzAxQ1x1NzAyQVx1NzIwQ1x1NzIwQVx1NzIwN1x1NzIwMlx1NzIwNVx1NzJBNVx1NzJBNlx1NzJBNFx1NzJBM1x1NzJBMVx1NzRDQlx1NzRDNVx1NzRCN1x1NzRDM1x1NzUxNlx1NzY2MFx1NzdDOVx1NzdDQVx1NzdDNFx1NzdGMVx1NzkxRFx1NzkxQlwiXSxcbltcImYyYTFcIixcIlx1NzkyMVx1NzkxQ1x1NzkxN1x1NzkxRVx1NzlCMFx1N0E2N1x1N0E2OFx1N0MzM1x1N0MzQ1x1N0MzOVx1N0MyQ1x1N0MzQlx1N0NFQ1x1N0NFQVx1N0U3Nlx1N0U3NVx1N0U3OFx1N0U3MFx1N0U3N1x1N0U2Rlx1N0U3QVx1N0U3Mlx1N0U3NFx1N0U2OFx1N0Y0Qlx1N0Y0QVx1N0Y4M1x1N0Y4Nlx1N0ZCN1x1N0ZGRFx1N0ZGRVx1ODA3OFx1ODFEN1x1ODFENVx1ODI2NFx1ODI2MVx1ODI2M1x1ODVFQlx1ODVGMVx1ODVFRFx1ODVEOVx1ODVFMVx1ODVFOFx1ODVEQVx1ODVEN1x1ODVFQ1x1ODVGMlx1ODVGOFx1ODVEOFx1ODVERlx1ODVFM1x1ODVEQ1x1ODVEMVx1ODVGMFx1ODVFNlx1ODVFRlx1ODVERVx1ODVFMlx1ODgwMFx1ODdGQVx1ODgwM1x1ODdGNlx1ODdGN1x1ODgwOVx1ODgwQ1x1ODgwQlx1ODgwNlx1ODdGQ1x1ODgwOFx1ODdGRlx1ODgwQVx1ODgwMlx1ODk2Mlx1ODk1QVx1ODk1Qlx1ODk1N1x1ODk2MVx1ODk1Q1x1ODk1OFx1ODk1RFx1ODk1OVx1ODk4OFx1ODlCN1x1ODlCNlx1ODlGNlx1OEI1MFx1OEI0OFx1OEI0QVx1OEI0MFx1OEI1M1x1OEI1Nlx1OEI1NFx1OEI0Qlx1OEI1NVwiXSxcbltcImYzNDBcIixcIlx1OEI1MVx1OEI0Mlx1OEI1Mlx1OEI1N1x1OEM0M1x1OEM3N1x1OEM3Nlx1OEM5QVx1OEQwNlx1OEQwN1x1OEQwOVx1OERBQ1x1OERBQVx1OERBRFx1OERBQlx1OEU2RFx1OEU3OFx1OEU3M1x1OEU2QVx1OEU2Rlx1OEU3Qlx1OEVDMlx1OEY1Mlx1OEY1MVx1OEY0Rlx1OEY1MFx1OEY1M1x1OEZCNFx1OTE0MFx1OTEzRlx1OTFCMFx1OTFBRFx1OTNERVx1OTNDN1x1OTNDRlx1OTNDMlx1OTNEQVx1OTNEMFx1OTNGOVx1OTNFQ1x1OTNDQ1x1OTNEOVx1OTNBOVx1OTNFNlx1OTNDQVx1OTNENFx1OTNFRVx1OTNFM1x1OTNENVx1OTNDNFx1OTNDRVx1OTNDMFx1OTNEMlx1OTNFN1x1OTU3RFx1OTVEQVx1OTVEQlx1OTZFMVx1OTcyOVx1OTcyQlx1OTcyQ1x1OTcyOFx1OTcyNlwiXSxcbltcImYzYTFcIixcIlx1OTdCM1x1OTdCN1x1OTdCNlx1OTdERFx1OTdERVx1OTdERlx1OTg1Q1x1OTg1OVx1OTg1RFx1OTg1N1x1OThCRlx1OThCRFx1OThCQlx1OThCRVx1OTk0OFx1OTk0N1x1OTk0M1x1OTlBNlx1OTlBN1x1OUExQVx1OUExNVx1OUEyNVx1OUExRFx1OUEyNFx1OUExQlx1OUEyMlx1OUEyMFx1OUEyN1x1OUEyM1x1OUExRVx1OUExQ1x1OUExNFx1OUFDMlx1OUIwQlx1OUIwQVx1OUIwRVx1OUIwQ1x1OUIzN1x1OUJFQVx1OUJFQlx1OUJFMFx1OUJERVx1OUJFNFx1OUJFNlx1OUJFMlx1OUJGMFx1OUJENFx1OUJEN1x1OUJFQ1x1OUJEQ1x1OUJEOVx1OUJFNVx1OUJENVx1OUJFMVx1OUJEQVx1OUQ3N1x1OUQ4MVx1OUQ4QVx1OUQ4NFx1OUQ4OFx1OUQ3MVx1OUQ4MFx1OUQ3OFx1OUQ4Nlx1OUQ4Qlx1OUQ4Q1x1OUQ3RFx1OUQ2Qlx1OUQ3NFx1OUQ3NVx1OUQ3MFx1OUQ2OVx1OUQ4NVx1OUQ3M1x1OUQ3Qlx1OUQ4Mlx1OUQ2Rlx1OUQ3OVx1OUQ3Rlx1OUQ4N1x1OUQ2OFx1OUU5NFx1OUU5MVx1OUVDMFx1OUVGQ1x1OUYyRFx1OUY0MFx1OUY0MVx1OUY0RFx1OUY1Nlx1OUY1N1x1OUY1OFx1NTMzN1x1NTZCMlwiXSxcbltcImY0NDBcIixcIlx1NTZCNVx1NTZCM1x1NThFM1x1NUI0NVx1NURDNlx1NURDN1x1NUVFRVx1NUVFRlx1NUZDMFx1NUZDMVx1NjFGOVx1NjUxN1x1NjUxNlx1NjUxNVx1NjUxM1x1NjVERlx1NjZFOFx1NjZFM1x1NjZFNFx1NkFGM1x1NkFGMFx1NkFFQVx1NkFFOFx1NkFGOVx1NkFGMVx1NkFFRVx1NkFFRlx1NzAzQ1x1NzAzNVx1NzAyRlx1NzAzN1x1NzAzNFx1NzAzMVx1NzA0Mlx1NzAzOFx1NzAzRlx1NzAzQVx1NzAzOVx1NzA0MFx1NzAzQlx1NzAzM1x1NzA0MVx1NzIxM1x1NzIxNFx1NzJBOFx1NzM3RFx1NzM3Q1x1NzRCQVx1NzZBQlx1NzZBQVx1NzZCRVx1NzZFRFx1NzdDQ1x1NzdDRVx1NzdDRlx1NzdDRFx1NzdGMlx1NzkyNVx1NzkyM1x1NzkyN1x1NzkyOFx1NzkyNFx1NzkyOVwiXSxcbltcImY0YTFcIixcIlx1NzlCMlx1N0E2RVx1N0E2Q1x1N0E2RFx1N0FGN1x1N0M0OVx1N0M0OFx1N0M0QVx1N0M0N1x1N0M0NVx1N0NFRVx1N0U3Qlx1N0U3RVx1N0U4MVx1N0U4MFx1N0ZCQVx1N0ZGRlx1ODA3OVx1ODFEQlx1ODFEOVx1ODIwQlx1ODI2OFx1ODI2OVx1ODYyMlx1ODVGRlx1ODYwMVx1ODVGRVx1ODYxQlx1ODYwMFx1ODVGNlx1ODYwNFx1ODYwOVx1ODYwNVx1ODYwQ1x1ODVGRFx1ODgxOVx1ODgxMFx1ODgxMVx1ODgxN1x1ODgxM1x1ODgxNlx1ODk2M1x1ODk2Nlx1ODlCOVx1ODlGN1x1OEI2MFx1OEI2QVx1OEI1RFx1OEI2OFx1OEI2M1x1OEI2NVx1OEI2N1x1OEI2RFx1OERBRVx1OEU4Nlx1OEU4OFx1OEU4NFx1OEY1OVx1OEY1Nlx1OEY1N1x1OEY1NVx1OEY1OFx1OEY1QVx1OTA4RFx1OTE0M1x1OTE0MVx1OTFCN1x1OTFCNVx1OTFCMlx1OTFCM1x1OTQwQlx1OTQxM1x1OTNGQlx1OTQyMFx1OTQwRlx1OTQxNFx1OTNGRVx1OTQxNVx1OTQxMFx1OTQyOFx1OTQxOVx1OTQwRFx1OTNGNVx1OTQwMFx1OTNGN1x1OTQwN1x1OTQwRVx1OTQxNlx1OTQxMlx1OTNGQVx1OTQwOVx1OTNGOFx1OTQwQVx1OTNGRlwiXSxcbltcImY1NDBcIixcIlx1OTNGQ1x1OTQwQ1x1OTNGNlx1OTQxMVx1OTQwNlx1OTVERVx1OTVFMFx1OTVERlx1OTcyRVx1OTcyRlx1OTdCOVx1OTdCQlx1OTdGRFx1OTdGRVx1OTg2MFx1OTg2Mlx1OTg2M1x1OTg1Rlx1OThDMVx1OThDMlx1OTk1MFx1OTk0RVx1OTk1OVx1OTk0Q1x1OTk0Qlx1OTk1M1x1OUEzMlx1OUEzNFx1OUEzMVx1OUEyQ1x1OUEyQVx1OUEzNlx1OUEyOVx1OUEyRVx1OUEzOFx1OUEyRFx1OUFDN1x1OUFDQVx1OUFDNlx1OUIxMFx1OUIxMlx1OUIxMVx1OUMwQlx1OUMwOFx1OUJGN1x1OUMwNVx1OUMxMlx1OUJGOFx1OUM0MFx1OUMwN1x1OUMwRVx1OUMwNlx1OUMxN1x1OUMxNFx1OUMwOVx1OUQ5Rlx1OUQ5OVx1OURBNFx1OUQ5RFx1OUQ5Mlx1OUQ5OFx1OUQ5MFx1OUQ5QlwiXSxcbltcImY1YTFcIixcIlx1OURBMFx1OUQ5NFx1OUQ5Q1x1OURBQVx1OUQ5N1x1OURBMVx1OUQ5QVx1OURBMlx1OURBOFx1OUQ5RVx1OURBM1x1OURCRlx1OURBOVx1OUQ5Nlx1OURBNlx1OURBN1x1OUU5OVx1OUU5Qlx1OUU5QVx1OUVFNVx1OUVFNFx1OUVFN1x1OUVFNlx1OUYzMFx1OUYyRVx1OUY1Qlx1OUY2MFx1OUY1RVx1OUY1RFx1OUY1OVx1OUY5MVx1NTEzQVx1NTEzOVx1NTI5OFx1NTI5N1x1NTZDM1x1NTZCRFx1NTZCRVx1NUI0OFx1NUI0N1x1NURDQlx1NURDRlx1NUVGMVx1NjFGRFx1NjUxQlx1NkIwMlx1NkFGQ1x1NkIwM1x1NkFGOFx1NkIwMFx1NzA0M1x1NzA0NFx1NzA0QVx1NzA0OFx1NzA0OVx1NzA0NVx1NzA0Nlx1NzIxRFx1NzIxQVx1NzIxOVx1NzM3RVx1NzUxN1x1NzY2QVx1NzdEMFx1NzkyRFx1NzkzMVx1NzkyRlx1N0M1NFx1N0M1M1x1N0NGMlx1N0U4QVx1N0U4N1x1N0U4OFx1N0U4Qlx1N0U4Nlx1N0U4RFx1N0Y0RFx1N0ZCQlx1ODAzMFx1ODFERFx1ODYxOFx1ODYyQVx1ODYyNlx1ODYxRlx1ODYyM1x1ODYxQ1x1ODYxOVx1ODYyN1x1ODYyRVx1ODYyMVx1ODYyMFx1ODYyOVx1ODYxRVx1ODYyNVwiXSxcbltcImY2NDBcIixcIlx1ODgyOVx1ODgxRFx1ODgxQlx1ODgyMFx1ODgyNFx1ODgxQ1x1ODgyQlx1ODg0QVx1ODk2RFx1ODk2OVx1ODk2RVx1ODk2Qlx1ODlGQVx1OEI3OVx1OEI3OFx1OEI0NVx1OEI3QVx1OEI3Qlx1OEQxMFx1OEQxNFx1OERBRlx1OEU4RVx1OEU4Q1x1OEY1RVx1OEY1Qlx1OEY1RFx1OTE0Nlx1OTE0NFx1OTE0NVx1OTFCOVx1OTQzRlx1OTQzQlx1OTQzNlx1OTQyOVx1OTQzRFx1OTQzQ1x1OTQzMFx1OTQzOVx1OTQyQVx1OTQzN1x1OTQyQ1x1OTQ0MFx1OTQzMVx1OTVFNVx1OTVFNFx1OTVFM1x1OTczNVx1OTczQVx1OTdCRlx1OTdFMVx1OTg2NFx1OThDOVx1OThDNlx1OThDMFx1OTk1OFx1OTk1Nlx1OUEzOVx1OUEzRFx1OUE0Nlx1OUE0NFx1OUE0Mlx1OUE0MVx1OUEzQVwiXSxcbltcImY2YTFcIixcIlx1OUEzRlx1OUFDRFx1OUIxNVx1OUIxN1x1OUIxOFx1OUIxNlx1OUIzQVx1OUI1Mlx1OUMyQlx1OUMxRFx1OUMxQ1x1OUMyQ1x1OUMyM1x1OUMyOFx1OUMyOVx1OUMyNFx1OUMyMVx1OURCN1x1OURCNlx1OURCQ1x1OURDMVx1OURDN1x1OURDQVx1OURDRlx1OURCRVx1OURDNVx1OURDM1x1OURCQlx1OURCNVx1OURDRVx1OURCOVx1OURCQVx1OURBQ1x1OURDOFx1OURCMVx1OURBRFx1OURDQ1x1OURCM1x1OURDRFx1OURCMlx1OUU3QVx1OUU5Q1x1OUVFQlx1OUVFRVx1OUVFRFx1OUYxQlx1OUYxOFx1OUYxQVx1OUYzMVx1OUY0RVx1OUY2NVx1OUY2NFx1OUY5Mlx1NEVCOVx1NTZDNlx1NTZDNVx1NTZDQlx1NTk3MVx1NUI0Qlx1NUI0Q1x1NURENVx1NUREMVx1NUVGMlx1NjUyMVx1NjUyMFx1NjUyNlx1NjUyMlx1NkIwQlx1NkIwOFx1NkIwOVx1NkMwRFx1NzA1NVx1NzA1Nlx1NzA1N1x1NzA1Mlx1NzIxRVx1NzIxRlx1NzJBOVx1NzM3Rlx1NzREOFx1NzRENVx1NzREOVx1NzREN1x1NzY2RFx1NzZBRFx1NzkzNVx1NzlCNFx1N0E3MFx1N0E3MVx1N0M1N1x1N0M1Q1x1N0M1OVx1N0M1Qlx1N0M1QVwiXSxcbltcImY3NDBcIixcIlx1N0NGNFx1N0NGMVx1N0U5MVx1N0Y0Rlx1N0Y4N1x1ODFERVx1ODI2Qlx1ODYzNFx1ODYzNVx1ODYzM1x1ODYyQ1x1ODYzMlx1ODYzNlx1ODgyQ1x1ODgyOFx1ODgyNlx1ODgyQVx1ODgyNVx1ODk3MVx1ODlCRlx1ODlCRVx1ODlGQlx1OEI3RVx1OEI4NFx1OEI4Mlx1OEI4Nlx1OEI4NVx1OEI3Rlx1OEQxNVx1OEU5NVx1OEU5NFx1OEU5QVx1OEU5Mlx1OEU5MFx1OEU5Nlx1OEU5N1x1OEY2MFx1OEY2Mlx1OTE0N1x1OTQ0Q1x1OTQ1MFx1OTQ0QVx1OTQ0Qlx1OTQ0Rlx1OTQ0N1x1OTQ0NVx1OTQ0OFx1OTQ0OVx1OTQ0Nlx1OTczRlx1OTdFM1x1OTg2QVx1OTg2OVx1OThDQlx1OTk1NFx1OTk1Qlx1OUE0RVx1OUE1M1x1OUE1NFx1OUE0Q1x1OUE0Rlx1OUE0OFx1OUE0QVwiXSxcbltcImY3YTFcIixcIlx1OUE0OVx1OUE1Mlx1OUE1MFx1OUFEMFx1OUIxOVx1OUIyQlx1OUIzQlx1OUI1Nlx1OUI1NVx1OUM0Nlx1OUM0OFx1OUMzRlx1OUM0NFx1OUMzOVx1OUMzM1x1OUM0MVx1OUMzQ1x1OUMzN1x1OUMzNFx1OUMzMlx1OUMzRFx1OUMzNlx1OUREQlx1OUREMlx1OURERVx1OUREQVx1OURDQlx1OUREMFx1OUREQ1x1OUREMVx1OURERlx1OURFOVx1OUREOVx1OUREOFx1OURENlx1OURGNVx1OURENVx1OURERFx1OUVCNlx1OUVGMFx1OUYzNVx1OUYzM1x1OUYzMlx1OUY0Mlx1OUY2Qlx1OUY5NVx1OUZBMlx1NTEzRFx1NTI5OVx1NThFOFx1NThFN1x1NTk3Mlx1NUI0RFx1NUREOFx1ODgyRlx1NUY0Rlx1NjIwMVx1NjIwM1x1NjIwNFx1NjUyOVx1NjUyNVx1NjU5Nlx1NjZFQlx1NkIxMVx1NkIxMlx1NkIwRlx1NkJDQVx1NzA1Qlx1NzA1QVx1NzIyMlx1NzM4Mlx1NzM4MVx1NzM4M1x1NzY3MFx1NzdENFx1N0M2N1x1N0M2Nlx1N0U5NVx1ODI2Q1x1ODYzQVx1ODY0MFx1ODYzOVx1ODYzQ1x1ODYzMVx1ODYzQlx1ODYzRVx1ODgzMFx1ODgzMlx1ODgyRVx1ODgzM1x1ODk3Nlx1ODk3NFx1ODk3M1x1ODlGRVwiXSxcbltcImY4NDBcIixcIlx1OEI4Q1x1OEI4RVx1OEI4Qlx1OEI4OFx1OEM0NVx1OEQxOVx1OEU5OFx1OEY2NFx1OEY2M1x1OTFCQ1x1OTQ2Mlx1OTQ1NVx1OTQ1RFx1OTQ1N1x1OTQ1RVx1OTdDNFx1OTdDNVx1OTgwMFx1OUE1Nlx1OUE1OVx1OUIxRVx1OUIxRlx1OUIyMFx1OUM1Mlx1OUM1OFx1OUM1MFx1OUM0QVx1OUM0RFx1OUM0Qlx1OUM1NVx1OUM1OVx1OUM0Q1x1OUM0RVx1OURGQlx1OURGN1x1OURFRlx1OURFM1x1OURFQlx1OURGOFx1OURFNFx1OURGNlx1OURFMVx1OURFRVx1OURFNlx1OURGMlx1OURGMFx1OURFMlx1OURFQ1x1OURGNFx1OURGM1x1OURFOFx1OURFRFx1OUVDMlx1OUVEMFx1OUVGMlx1OUVGM1x1OUYwNlx1OUYxQ1x1OUYzOFx1OUYzN1x1OUYzNlx1OUY0M1x1OUY0RlwiXSxcbltcImY4YTFcIixcIlx1OUY3MVx1OUY3MFx1OUY2RVx1OUY2Rlx1NTZEM1x1NTZDRFx1NUI0RVx1NUM2RFx1NjUyRFx1NjZFRFx1NjZFRVx1NkIxM1x1NzA1Rlx1NzA2MVx1NzA1RFx1NzA2MFx1NzIyM1x1NzREQlx1NzRFNVx1NzdENVx1NzkzOFx1NzlCN1x1NzlCNlx1N0M2QVx1N0U5N1x1N0Y4OVx1ODI2RFx1ODY0M1x1ODgzOFx1ODgzN1x1ODgzNVx1ODg0Qlx1OEI5NFx1OEI5NVx1OEU5RVx1OEU5Rlx1OEVBMFx1OEU5RFx1OTFCRVx1OTFCRFx1OTFDMlx1OTQ2Qlx1OTQ2OFx1OTQ2OVx1OTZFNVx1OTc0Nlx1OTc0M1x1OTc0N1x1OTdDN1x1OTdFNVx1OUE1RVx1OUFENVx1OUI1OVx1OUM2M1x1OUM2N1x1OUM2Nlx1OUM2Mlx1OUM1RVx1OUM2MFx1OUUwMlx1OURGRVx1OUUwN1x1OUUwM1x1OUUwNlx1OUUwNVx1OUUwMFx1OUUwMVx1OUUwOVx1OURGRlx1OURGRFx1OUUwNFx1OUVBMFx1OUYxRVx1OUY0Nlx1OUY3NFx1OUY3NVx1OUY3Nlx1NTZENFx1NjUyRVx1NjVCOFx1NkIxOFx1NkIxOVx1NkIxN1x1NkIxQVx1NzA2Mlx1NzIyNlx1NzJBQVx1NzdEOFx1NzdEOVx1NzkzOVx1N0M2OVx1N0M2Qlx1N0NGNlx1N0U5QVwiXSxcbltcImY5NDBcIixcIlx1N0U5OFx1N0U5Qlx1N0U5OVx1ODFFMFx1ODFFMVx1ODY0Nlx1ODY0N1x1ODY0OFx1ODk3OVx1ODk3QVx1ODk3Q1x1ODk3Qlx1ODlGRlx1OEI5OFx1OEI5OVx1OEVBNVx1OEVBNFx1OEVBM1x1OTQ2RVx1OTQ2RFx1OTQ2Rlx1OTQ3MVx1OTQ3M1x1OTc0OVx1OTg3Mlx1OTk1Rlx1OUM2OFx1OUM2RVx1OUM2RFx1OUUwQlx1OUUwRFx1OUUxMFx1OUUwRlx1OUUxMlx1OUUxMVx1OUVBMVx1OUVGNVx1OUYwOVx1OUY0N1x1OUY3OFx1OUY3Qlx1OUY3QVx1OUY3OVx1NTcxRVx1NzA2Nlx1N0M2Rlx1ODgzQ1x1OERCMlx1OEVBNlx1OTFDM1x1OTQ3NFx1OTQ3OFx1OTQ3Nlx1OTQ3NVx1OUE2MFx1OUM3NFx1OUM3M1x1OUM3MVx1OUM3NVx1OUUxNFx1OUUxM1x1OUVGNlx1OUYwQVwiXSxcbltcImY5YTFcIixcIlx1OUZBNFx1NzA2OFx1NzA2NVx1N0NGN1x1ODY2QVx1ODgzRVx1ODgzRFx1ODgzRlx1OEI5RVx1OEM5Q1x1OEVBOVx1OEVDOVx1OTc0Qlx1OTg3M1x1OTg3NFx1OThDQ1x1OTk2MVx1OTlBQlx1OUE2NFx1OUE2Nlx1OUE2N1x1OUIyNFx1OUUxNVx1OUUxN1x1OUY0OFx1NjIwN1x1NkIxRVx1NzIyN1x1ODY0Q1x1OEVBOFx1OTQ4Mlx1OTQ4MFx1OTQ4MVx1OUE2OVx1OUE2OFx1OUIyRVx1OUUxOVx1NzIyOVx1ODY0Qlx1OEI5Rlx1OTQ4M1x1OUM3OVx1OUVCN1x1NzY3NVx1OUE2Qlx1OUM3QVx1OUUxRFx1NzA2OVx1NzA2QVx1OUVBNFx1OUY3RVx1OUY0OVx1OUY5OFx1Nzg4MVx1OTJCOVx1ODhDRlx1NThCQlx1NjA1Mlx1N0NBN1x1NUFGQVx1MjU1NFx1MjU2Nlx1MjU1N1x1MjU2MFx1MjU2Q1x1MjU2M1x1MjU1QVx1MjU2OVx1MjU1RFx1MjU1Mlx1MjU2NFx1MjU1NVx1MjU1RVx1MjU2QVx1MjU2MVx1MjU1OFx1MjU2N1x1MjU1Qlx1MjU1M1x1MjU2NVx1MjU1Nlx1MjU1Rlx1MjU2Qlx1MjU2Mlx1MjU1OVx1MjU2OFx1MjU1Q1x1MjU1MVx1MjU1MFx1MjU2RFx1MjU2RVx1MjU3MFx1MjU2Rlx1MjU5M1wiXVxuXVxuIiwgIltcbltcIjg3NDBcIixcIlx1NDNGMFx1NEMzMlx1NDYwM1x1NDVBNlx1NDU3OFx1RDg1Q1x1REU2N1x1NEQ3N1x1NDVCM1x1RDg1Rlx1RENCMVx1NENFMlx1RDg1Rlx1RENDNVx1M0I5NVx1NDczNlx1NDc0NFx1NEM0N1x1NEM0MFx1RDg1MFx1REVCRlx1RDg0RFx1REUxN1x1RDg1Q1x1REY1Mlx1RDg1Qlx1REU4Qlx1RDg1Q1x1RENEMlx1NEM1N1x1RDg2OFx1REY1MVx1NDc0Rlx1NDVEQVx1NEM4NVx1RDg1Rlx1REM2Q1x1NEQwN1x1NEFBNFx1NDZBMVx1RDg1QVx1REYyM1x1NzIyNVx1RDg1Nlx1REU1NFx1RDg0Nlx1REU2M1x1RDg0Rlx1REUwNlx1RDg0Rlx1REY2MVx1NjY0RFx1NTZGQlwiXSxcbltcIjg3NjdcIixcIlx1N0Q5NVx1NTkxRFx1RDg2Mlx1REZCOVx1M0RGNFx1OTczNFx1RDg1RVx1REZFRlx1NUJEQlx1RDg0N1x1REQ1RVx1NUFBNFx1MzYyNVx1RDg2N1x1REVCMFx1NUFEMVx1NUJCN1x1NUNGQ1x1Njc2RVx1ODU5M1x1RDg2Nlx1REQ0NVx1NzQ2MVx1NzQ5RFx1Mzg3NVx1RDg0N1x1REQ1M1x1RDg0RFx1REU5RVx1RDg1OFx1REMyMVx1M0VFQ1wiXSxcbltcIjg3YTFcIixcIlx1RDg1Nlx1RENERVx1M0FGNVx1N0FGQ1x1OUY5N1x1RDg1MFx1REQ2MVx1RDg2Mlx1REQwRFx1RDg0Q1x1RERFQVx1RDg0Mlx1REU4QVx1RDg0Q1x1REU1RVx1NDMwQVx1ODQ4NFx1OUY5Nlx1OTQyRlx1NDkzMFx1ODYxM1x1NTg5Nlx1OTc0QVx1OTIxOFx1NzlEMFx1N0EzMlx1NjY2MFx1NkEyOVx1ODg5RFx1NzQ0Q1x1N0JDNVx1Njc4Mlx1N0EyQ1x1NTI0Rlx1OTA0Nlx1MzRFNlx1NzNDNFx1RDg1N1x1RERCOVx1NzRDNlx1OUZDN1x1NTdCM1x1NDkyRlx1NTQ0Q1x1NDEzMVx1RDg0RFx1REU4RVx1NTgxOFx1N0E3Mlx1RDg1RVx1REY2NVx1OEI4Rlx1NDZBRVx1RDg1Qlx1REU4OFx1NDE4MVx1RDg1N1x1REQ5OVx1N0JBRVx1RDg0OVx1RENCQ1x1OUZDOFx1RDg0OVx1RENDMVx1RDg0OVx1RENDOVx1RDg0OVx1RENDQ1x1OUZDOVx1ODUwNFx1RDg0RFx1RERCQlx1NDBCNFx1OUZDQVx1NDRFMVx1RDg2Qlx1RERGRlx1NjJDMVx1NzA2RVx1OUZDQlwiXSxcbltcIjg4NDBcIixcIlx1MzFDMFwiLDQsXCJcdUQ4NDBcdUREMENcdTMxQzVcdUQ4NDBcdURDRDFcdUQ4NDBcdURDQ0RcdTMxQzZcdTMxQzdcdUQ4NDBcdURDQ0JcdUQ4NDdcdURGRThcdTMxQzhcdUQ4NDBcdURDQ0FcdTMxQzlcdTMxQ0FcdTMxQ0JcdTMxQ0NcdUQ4NDBcdUREMEVcdTMxQ0RcdTMxQ0VcdTAxMDBcdTAwQzFcdTAxQ0RcdTAwQzBcdTAxMTJcdTAwQzlcdTAxMUFcdTAwQzhcdTAxNENcdTAwRDNcdTAxRDFcdTAwRDJcdTBGRkZcdTAwQ0FcdTAzMDRcdTFFQkVcdTBGRkZcdTAwQ0FcdTAzMENcdTFFQzBcdTAwQ0FcdTAxMDFcdTAwRTFcdTAxQ0VcdTAwRTBcdTAyNTFcdTAxMTNcdTAwRTlcdTAxMUJcdTAwRThcdTAxMkJcdTAwRURcdTAxRDBcdTAwRUNcdTAxNERcdTAwRjNcdTAxRDJcdTAwRjJcdTAxNkJcdTAwRkFcdTAxRDRcdTAwRjlcdTAxRDZcdTAxRDhcdTAxREFcIl0sXG5bXCI4OGExXCIsXCJcdTAxRENcdTAwRkNcdTBGRkZcdTAwRUFcdTAzMDRcdTFFQkZcdTBGRkZcdTAwRUFcdTAzMENcdTFFQzFcdTAwRUFcdTAyNjFcdTIzREFcdTIzREJcIl0sXG5bXCI4OTQwXCIsXCJcdUQ4NjhcdURGQTlcdUQ4NDRcdURENDVcIl0sXG5bXCI4OTQzXCIsXCJcdTY1MEFcIl0sXG5bXCI4OTQ2XCIsXCJcdTRFM0RcdTZFRERcdTlENEVcdTkxREZcIl0sXG5bXCI4OTRjXCIsXCJcdUQ4NURcdURGMzVcdTY0OTFcdTRGMUFcdTRGMjhcdTRGQThcdTUxNTZcdTUxNzRcdTUxOUNcdTUxRTRcdTUyQTFcdTUyQThcdTUzM0JcdTUzNEVcdTUzRDFcdTUzRDhcdTU2RTJcdTU4RjBcdTU5MDRcdTU5MDdcdTU5MzJcdTU5MzRcdTVCNjZcdTVCOUVcdTVCOUZcdTVDOUFcdTVFODZcdTYwM0JcdTY1ODlcdTY3RkVcdTY4MDRcdTY4NjVcdTZENEVcdTcwQkNcdTc1MzVcdTdFQTRcdTdFQUNcdTdFQkFcdTdFQzdcdTdFQ0ZcdTdFREZcdTdGMDZcdTdGMzdcdTgyN0FcdTgyQ0ZcdTgzNkZcdTg5QzZcdThCQkVcdThCRTJcdThGNjZcdThGNjdcdThGNkVcIl0sXG5bXCI4OWExXCIsXCJcdTc0MTFcdTdDRkNcdTdEQ0RcdTY5NDZcdTdBQzlcdTUyMjdcIl0sXG5bXCI4OWFiXCIsXCJcdTkxOENcdTc4QjhcdTkxNUVcdTgwQkNcIl0sXG5bXCI4OWIwXCIsXCJcdThEMEJcdTgwRjZcdUQ4NDJcdURERTdcIl0sXG5bXCI4OWI1XCIsXCJcdTgwOUZcdTlFQzdcdTRDQ0RcdTlEQzlcdTlFMENcdTRDM0VcdUQ4NjdcdURERjZcdUQ4NUNcdURDMEVcdTlFMEFcdUQ4NjhcdUREMzNcdTM1QzFcIl0sXG5bXCI4OWMxXCIsXCJcdTZFOUFcdTgyM0VcdTc1MTlcIl0sXG5bXCI4OWM1XCIsXCJcdTQ5MTFcdTlBNkNcdTlBOEZcdTlGOTlcdTc5ODdcdUQ4NjFcdURDNkNcdUQ4NDdcdUREQ0FcdUQ4NDFcdURERDBcdUQ4NEFcdURFRTZcdTRFMjRcdTRFODFcdTRFODBcdTRFODdcdTRFQkZcdTRFRUJcdTRGMzdcdTM0NENcdTRGQkRcdTNFNDhcdTUwMDNcdTUwODhcdTM0N0RcdTM0OTNcdTM0QTVcdTUxODZcdTU5MDVcdTUxREJcdTUxRkNcdTUyMDVcdTRFODlcdTUyNzlcdTUyOTBcdTUzMjdcdTM1QzdcdTUzQTlcdTM1NTFcdTUzQjBcdTM1NTNcdTUzQzJcdTU0MjNcdTM1NkRcdTM1NzJcdTM2ODFcdTU0OTNcdTU0QTNcdTU0QjRcdTU0QjlcdTU0RDBcdTU0RUZcdTU1MThcdTU1MjNcdTU1MjhcdTM1OThcdTU1M0ZcdTM1QTVcdTM1QkZcdTU1RDdcdTM1QzVcIl0sXG5bXCI4YTQwXCIsXCJcdUQ4NUZcdUREODRcdTU1MjVcIl0sXG5bXCI4YTQzXCIsXCJcdUQ4NDNcdURDNDJcdUQ4NDNcdUREMTVcdUQ4NTRcdUREMkJcdTU1OTBcdUQ4NEJcdURDQzZcdTM5RUNcdUQ4NDBcdURGNDFcdThFNDZcdUQ4NTNcdUREQjhcdUQ4NjVcdURDRTVcdTQwNTNcdUQ4NjBcdURDQkVcdTc3N0FcdUQ4NEJcdURDMzhcdTNBMzRcdTQ3RDVcdUQ4NjBcdURENURcdUQ4NUFcdURERjJcdUQ4NTNcdURERUFcdTY0RERcdUQ4NDNcdUREN0NcdUQ4NDNcdURGQjRcdUQ4NDNcdURDRDVcdUQ4NDRcdURDRjRcdTY0OERcdThFN0VcdUQ4NDNcdURFOTZcdUQ4NDNcdURDMEJcdUQ4NDNcdURGNjRcdUQ4NEJcdURDQTlcdUQ4NjBcdURFNTZcdUQ4NTFcdURDRDNcIl0sXG5bXCI4YTY0XCIsXCJcdUQ4NDNcdURENDZcdUQ4NjZcdURFNERcdUQ4NjBcdURDRTlcdTQ3RjRcdUQ4NTNcdURFQTdcdUQ4NEJcdURDQzJcdTlBQjJcdTNBNjdcdUQ4NjVcdURERjRcdTNGRURcdTM1MDZcdUQ4NTRcdURFQzdcdUQ4NjVcdURGRDRcdUQ4NUVcdURDQzhcdUQ4NEJcdURENDRcdTlENkVcdTk4MTVcIl0sXG5bXCI4YTc2XCIsXCJcdTQzRDlcdUQ4NThcdURDQTVcdTY0QjRcdTU0RTNcdUQ4NEJcdURENENcdUQ4NEFcdURGQ0FcdUQ4NDRcdURDNzdcdTM5RkJcdUQ4NDRcdURDNkZcIl0sXG5bXCI4YWExXCIsXCJcdUQ4NTlcdURFREFcdUQ4NTlcdURGMTZcdUQ4NUVcdUREQTBcdTY0RUFcdUQ4NTRcdURDNTJcdUQ4NDNcdURDNDNcdThFNjhcdUQ4NDhcdUREQTFcdUQ4NjJcdURGNENcdUQ4NDFcdURGMzFcIl0sXG5bXCI4YWFjXCIsXCJcdTQ4MEJcdUQ4NDBcdUREQTlcdTNGRkFcdTU4NzNcdUQ4NEJcdUREOERcIl0sXG5bXCI4YWIyXCIsXCJcdUQ4NTFcdUREQzhcdUQ4NDFcdURDRkNcdUQ4NThcdURDOTdcdUQ4NDNcdURGNENcdUQ4NDNcdUREOTZcdTU1NzlcdTQwQkJcdTQzQkFcIl0sXG5bXCI4YWJiXCIsXCJcdTRBQjRcdUQ4NEFcdURFNjZcdUQ4NDRcdURDOURcdTgxQUFcdTk4RjVcdUQ4NDNcdUREOUNcdTYzNzlcdTM5RkVcdUQ4NDlcdURGNzVcdThEQzBcdTU2QTFcdTY0N0NcdTNFNDNcIl0sXG5bXCI4YWM5XCIsXCJcdUQ4NjlcdURFMDFcdUQ4NDNcdURFMDlcdUQ4NEFcdURFQ0ZcdUQ4NEJcdURDQzlcIl0sXG5bXCI4YWNlXCIsXCJcdUQ4NDRcdURDQzhcdUQ4NEVcdUREQzJcdTM5OTJcdTNBMDZcdUQ4NjBcdURFOUJcdTM1NzhcdUQ4NTdcdURFNDlcdUQ4NDhcdURDQzdcdTU2NTJcdUQ4NDNcdURGMzFcdUQ4NEJcdURDQjJcdUQ4NjVcdURGMjBcdTM0QkNcdTZDM0RcdUQ4NTNcdURFM0JcIl0sXG5bXCI4YWRmXCIsXCJcdUQ4NURcdURENzRcdUQ4NEJcdURFOEJcdUQ4NDhcdURFMDhcdUQ4NjlcdURFNUJcdUQ4NjNcdURDQ0RcdUQ4NDNcdURFN0FcdUQ4NDNcdURDMzRcdUQ4NUFcdURDMUNcdTdGOTNcdUQ4NDRcdURDQ0ZcdUQ4NEFcdURDMDNcdUQ4NEFcdUREMzlcdTM1RkJcdUQ4NTRcdURERTNcdUQ4NDNcdURFOENcdUQ4NDNcdURGOERcdUQ4NDNcdURFQUFcdTNGOTNcdUQ4NDNcdURGMzBcdUQ4NDNcdURENDdcdUQ4NDRcdURENEZcdUQ4NDNcdURFNENcIl0sXG5bXCI4YWY2XCIsXCJcdUQ4NDNcdURFQUJcdUQ4NDJcdURGQTlcdUQ4NDNcdURENDhcdUQ4NDRcdURDQzBcdUQ4NDRcdUREM0RcdTNGRjlcdUQ4NDlcdURFOTZcdTY0MzJcdUQ4NDNcdURGQURcIl0sXG5bXCI4YjQwXCIsXCJcdUQ4NENcdURGRjRcdUQ4NURcdURFMzlcdUQ4NEFcdURGQ0VcdUQ4NDNcdUREN0VcdUQ4NDNcdUREN0ZcdUQ4NEJcdURDNTFcdUQ4NEJcdURDNTVcdTNBMThcdUQ4NDNcdURFOThcdUQ4NDRcdURDQzdcdUQ4NDNcdURGMkVcdUQ4NjlcdURFMzJcdUQ4NUFcdURGNTBcdUQ4NjNcdURDRDJcdUQ4NjNcdUREOTlcdUQ4NjNcdURDQ0FcdTk1QUFcdTU0Q0NcdTgyQzRcdTU1QjlcIl0sXG5bXCI4YjU1XCIsXCJcdUQ4NjdcdURFQzNcdTlDMjZcdTlBQjZcdUQ4NURcdURGNUVcdUQ4NEJcdURERUVcdTcxNDBcdTgxNkRcdTgwRUNcdTVDMUNcdUQ4NTlcdURENzJcdTgxMzRcdTM3OTdcdTUzNUZcdUQ4NjBcdURDQkRcdTkxQjZcdUQ4NDNcdURFRkFcdUQ4NDNcdURFMEZcdUQ4NDNcdURFNzdcdUQ4NDNcdURFRkJcdTM1RERcdUQ4NTNcdURERUJcdTM2MDlcdUQ4NDNcdURDRDZcdTU2QUZcdUQ4NDlcdURGQjVcdUQ4NDRcdURDQzlcdUQ4NDNcdURFMTBcdUQ4NDNcdURFNzhcdUQ4NDRcdURDNzhcdUQ4NDRcdURENDhcdUQ4NjBcdURFMDdcdUQ4NDVcdURDNTVcdUQ4NDNcdURFNzlcdUQ4NTNcdURFNTBcdUQ4NEJcdUREQTRcdTVBNTRcdUQ4NDRcdURDMURcdUQ4NDRcdURDMUVcdUQ4NDRcdURDRjVcdUQ4NDRcdURDRjZcdTU3OUNcdUQ4NDNcdURFMTFcIl0sXG5bXCI4YmExXCIsXCJcdUQ4NURcdURFOTRcdUQ4NjBcdURFQ0RcdUQ4NDNcdURGQjVcdUQ4NDNcdURFN0JcdUQ4NTRcdUREN0VcdTM3MDNcdUQ4NDNcdURGQjZcdUQ4NDRcdUREODBcdUQ4NTRcdURFRDhcdUQ4NjhcdURFQkRcdUQ4NTJcdUREREFcdUQ4NDZcdURDM0FcdUQ4NTBcdURENzdcdUQ4NjBcdURFN0NcdTU4OTlcdTUyNjhcdTM2MUFcdUQ4NTVcdURGM0RcdTdCQjJcdTVCNjhcdTQ4MDBcdTRCMkNcdTlGMjdcdTQ5RTdcdTlDMUZcdTlCOERcdUQ4NTZcdURGNzRcdUQ4NENcdUREM0RcdTU1RkJcdTM1RjJcdTU2ODlcdTRFMjhcdTU5MDJcdUQ4NDZcdURGQzFcdUQ4N0VcdURDNzhcdTk3NTFcdUQ4NDBcdURDODZcdTRFNUJcdTRFQkJcdTM1M0VcdTVDMjNcdTVGNTFcdTVGQzRcdTM4RkFcdTYyNENcdTY1MzVcdTZCN0FcdTZDMzVcdTZDM0FcdTcwNkNcdTcyMkJcdTRFMkNcdTcyQURcdUQ4NTJcdURDRTlcdTdGNTJcdTc5M0JcdTdDRjlcdTdGNTNcdUQ4NThcdURFNkFcdTM0QzFcIl0sXG5bXCI4YmRlXCIsXCJcdUQ4NThcdURGNEJcdTgwMDJcdTgwODBcdUQ4NTlcdURFMTJcdUQ4NUFcdURENTFcdTUzNURcdTg4NjRcdTg5QzFcdUQ4NUVcdURDQjJcdThCQTBcdThEMURcdTk0ODVcdTk1NzhcdTk1N0ZcdTk1RThcdUQ4NjNcdURFMEZcdTk3RTZcdTk4NzVcdTk4Q0VcdTk4REVcdTk5NjNcdUQ4NjZcdURDMTBcdTlDN0NcdTlFMUZcdTlFQzRcdTZCNkZcdUY5MDdcdTRFMzdcdUQ4NDBcdURDODdcdTk2MURcdTYyMzdcdTk0QTJcIl0sXG5bXCI4YzQwXCIsXCJcdTUwM0JcdTZERkVcdUQ4NjdcdURDNzNcdTlGQTZcdTNEQzlcdTg4OEZcdUQ4NTBcdURENEVcdTcwNzdcdTVDRjVcdTRCMjBcdUQ4NTRcdUREQ0RcdTM1NTlcdUQ4NTdcdUREMzBcdTYxMjJcdUQ4NjJcdURFMzJcdThGQTdcdTkxRjZcdTcxOTFcdTY3MTlcdTczQkFcdUQ4NENcdURFODFcdUQ4NjhcdUREMDdcdTNDOEJcdUQ4NDZcdUREODBcdTRCMTBcdTc4RTRcdTc0MDJcdTUxQUVcdUQ4NjFcdURGMEZcdTQwMDlcdTZBNjNcdUQ4NjhcdURFQkFcdTQyMjNcdTg2MEZcdUQ4NDJcdURFNkZcdTdBMkFcdUQ4NjZcdURENDdcdUQ4NjJcdURFRUFcdTk3NTVcdTcwNERcdTUzMjRcdUQ4NDhcdURDN0VcdTkzRjRcdTc2RDlcdUQ4NjJcdURERTNcdTlGQTdcdTc3RERcdTRFQTNcdTRGRjBcdTUwQkNcdTRFMkZcdTRGMTdcdTlGQThcdTU0MzRcdTdEOEJcdTU4OTJcdTU4RDBcdUQ4NDdcdUREQjZcdTVFOTJcdTVFOTlcdTVGQzJcdUQ4NDlcdURGMTJcdTY1OEJcIl0sXG5bXCI4Y2ExXCIsXCJcdUQ4NENcdURGRjlcdTY5MTlcdTZBNDNcdUQ4NEZcdURDNjNcdTZDRkZcIl0sXG5bXCI4Y2E3XCIsXCJcdTcyMDBcdUQ4NTFcdUREMDVcdTczOENcdTNFREJcdUQ4NTJcdURFMTNcdTVCMTVcdTc0QjlcdThCODNcdUQ4NTdcdURDQTRcdUQ4NTVcdURFOTVcdTdBOTNcdTdCRUNcdTdDQzNcdTdFNkNcdTgyRjhcdTg1OTdcdTlGQTlcdTg4OTBcdTlGQUFcdThFQjlcdTlGQUJcdThGQ0ZcdTg1NUZcdTk5RTBcdTkyMjFcdTlGQUNcdUQ4NjNcdUREQjlcdUQ4NDVcdURDM0ZcdTQwNzFcdTQyQTJcdTVBMUFcIl0sXG5bXCI4Y2M5XCIsXCJcdTk4NjhcdTY3NkJcdTQyNzZcdTU3M0RcIl0sXG5bXCI4Y2NlXCIsXCJcdTg1RDZcdUQ4NTJcdUREN0JcdTgyQkZcdUQ4NUNcdUREMERcdTRDODFcdUQ4NUJcdURENzRcdTVEN0JcdUQ4NUFcdURGMTVcdUQ4NUJcdURGQkVcdTlGQURcdTlGQUVcdTVCOTZcdTlGQUZcdTY2RTdcdTdFNUJcdTZFNTdcdTc5Q0FcdTNEODhcdTQ0QzNcdUQ4NENcdURFNTZcdUQ4NDlcdURGOTZcdTQzOUFcdTQ1MzZcIl0sXG5bXCI4Y2U2XCIsXCJcdTVDRDVcdUQ4NEVcdURGMUFcdThBRjlcdTVDNzhcdTNEMTJcdUQ4NERcdURENTFcdTVENzhcdTlGQjJcdTcxNTdcdTQ1NThcdUQ4NTBcdURDRUNcdUQ4NDdcdURFMjNcdTRDNzdcdTM5NzhcdTM0NEFcdUQ4NDBcdUREQTRcdUQ4NUJcdURDNDFcdThBQ0NcdTRGQjRcdUQ4NDBcdURFMzlcdTU5QkZcdTgxNkNcdTk4NTZcdUQ4NjZcdURDRkFcdTVGM0JcIl0sXG5bXCI4ZDQwXCIsXCJcdUQ4NDJcdURGOUZcIl0sXG5bXCI4ZDQyXCIsXCJcdUQ4NDhcdUREQzFcdUQ4NjJcdURENkRcdTQxMDJcdTQ2QkJcdUQ4NjRcdURDNzlcdTNGMDdcdTlGQjNcdUQ4NjhcdUREQjVcdTQwRjhcdTM3RDZcdTQ2RjdcdUQ4NUJcdURDNDZcdTQxN0NcdUQ4NjFcdURFQjJcdUQ4NUNcdURGRkZcdTQ1NkRcdTM4RDRcdUQ4NTVcdURDOUFcdTQ1NjFcdTQ1MUJcdTREODlcdTRDN0JcdTRENzZcdTQ1RUFcdTNGQzhcdUQ4NTJcdURGMEZcdTM2NjFcdTQ0REVcdTQ0QkRcdTQxRURcdTVEM0VcdTVENDhcdTVENTZcdTNERkNcdTM4MEZcdTVEQTRcdTVEQjlcdTM4MjBcdTM4MzhcdTVFNDJcdTVFQkRcdTVGMjVcdTVGODNcdTM5MDhcdTM5MTRcdTM5M0ZcdTM5NERcdTYwRDdcdTYxM0RcdTVDRTVcdTM5ODlcdTYxQjdcdTYxQjlcdTYxQ0ZcdTM5QjhcdTYyMkNcdTYyOTBcdTYyRTVcdTYzMThcdTM5RjhcdTU2QjFcIl0sXG5bXCI4ZGExXCIsXCJcdTNBMDNcdTYzRTJcdTYzRkJcdTY0MDdcdTY0NUFcdTNBNEJcdTY0QzBcdTVEMTVcdTU2MjFcdTlGOUZcdTNBOTdcdTY1ODZcdTNBQkRcdTY1RkZcdTY2NTNcdTNBRjJcdTY2OTJcdTNCMjJcdTY3MTZcdTNCNDJcdTY3QTRcdTY4MDBcdTNCNThcdTY4NEFcdTY4ODRcdTNCNzJcdTNCNzFcdTNCN0JcdTY5MDlcdTY5NDNcdTcyNUNcdTY5NjRcdTY5OUZcdTY5ODVcdTNCQkNcdTY5RDZcdTNCRERcdTZBNjVcdTZBNzRcdTZBNzFcdTZBODJcdTNCRUNcdTZBOTlcdTNCRjJcdTZBQUJcdTZBQjVcdTZBRDRcdTZBRjZcdTZCODFcdTZCQzFcdTZCRUFcdTZDNzVcdTZDQUFcdTNDQ0JcdTZEMDJcdTZEMDZcdTZEMjZcdTZEODFcdTNDRUZcdTZEQTRcdTZEQjFcdTZFMTVcdTZFMThcdTZFMjlcdTZFODZcdUQ4NjJcdUREQzBcdTZFQkJcdTZFRTJcdTZFREFcdTlGN0ZcdTZFRThcdTZFRTlcdTZGMjRcdTZGMzRcdTNENDZcdUQ4NEZcdURGNDFcdTZGODFcdTZGQkVcdTNENkFcdTNENzVcdTcxQjdcdTVDOTlcdTNEOEFcdTcwMkNcdTNEOTFcdTcwNTBcdTcwNTRcdTcwNkZcdTcwN0ZcdTcwODlcdUQ4NDBcdURGMjVcdTQzQzFcdTM1RjFcdUQ4NDNcdURFRDhcIl0sXG5bXCI4ZTQwXCIsXCJcdUQ4NEZcdURFRDdcdTU3QkVcdUQ4NUJcdURFRDNcdTcxM0VcdUQ4NTVcdURGRTBcdTM2NEVcdTY5QTJcdUQ4NjJcdURGRTlcdTVCNzRcdTdBNDlcdUQ4NTZcdURDRTFcdUQ4NjVcdURDRDlcdTdBNjVcdTdBN0RcdUQ4NTZcdUREQUNcdTdBQkJcdTdBQjBcdTdBQzJcdTdBQzNcdTcxRDFcdUQ4NTlcdURDOERcdTQxQ0FcdTdBREFcdTdBRERcdTdBRUFcdTQxRUZcdTU0QjJcdUQ4NTdcdURDMDFcdTdCMEJcdTdCNTVcdTdCMjlcdUQ4NTRcdURGMEVcdUQ4NTdcdURDRkVcdTdCQTJcdTdCNkZcdTgzOUNcdUQ4NTZcdURGQjRcdUQ4NUJcdURDN0ZcdTdCRDBcdTg0MjFcdTdCOTJcdTdCQjhcdUQ4NTdcdUREMjBcdTNEQURcdUQ4NTdcdURDNjVcdTg0OTJcdTdCRkFcdTdDMDZcdTdDMzVcdUQ4NTdcdURDQzFcdTdDNDRcdTdDODNcdUQ4NTJcdURDODJcdTdDQTZcdTY2N0RcdUQ4NTFcdURENzhcdTdDQzlcdTdDQzdcdTdDRTZcdTdDNzRcdTdDRjNcdTdDRjVcdTdDQ0VcIl0sXG5bXCI4ZWExXCIsXCJcdTdFNjdcdTQ1MURcdUQ4NUJcdURFNDRcdTdENURcdUQ4NUJcdURFRDZcdTc0OERcdTdEODlcdTdEQUJcdTcxMzVcdTdEQjNcdTdERDJcdUQ4NTBcdURDNTdcdUQ4NThcdURDMjlcdTdERTRcdTNEMTNcdTdERjVcdUQ4NDVcdURGRjlcdTdERTVcdUQ4NjBcdURGNkRcdTdFMURcdUQ4NThcdUREMjFcdUQ4NThcdURENUFcdTdFNkVcdTdFOTJcdTQzMkJcdTk0NkNcdTdFMjdcdTdGNDBcdTdGNDFcdTdGNDdcdTc5MzZcdUQ4NThcdURFRDBcdTk5RTFcdTdGOTdcdUQ4NThcdURGNTFcdTdGQTNcdUQ4NDVcdURFNjFcdUQ4NDBcdURDNjhcdTQ1NUNcdUQ4NERcdURGNjZcdTQ1MDNcdUQ4NjBcdURGM0FcdTdGRkFcdUQ4NTlcdURDODlcdTgwMDVcdTgwMDhcdTgwMURcdTgwMjhcdTgwMkZcdUQ4NjhcdURDODdcdUQ4NUJcdURDQzNcdTgwM0JcdTgwM0NcdTgwNjFcdUQ4NDlcdURGMTRcdTQ5ODlcdUQ4NTlcdURFMjZcdUQ4NEZcdURERTNcdUQ4NTlcdURFRThcdTY3MjVcdTgwQTdcdUQ4NjJcdURFNDhcdTgxMDdcdTgxMUFcdTU4QjBcdUQ4NDlcdURFRjZcdTZDN0ZcdUQ4NTlcdURDOThcdUQ4NTNcdURGQjhcdTY0RTdcdUQ4NDVcdURDOEFcdTgyMThcdUQ4NDZcdURDNUVcdTZBNTNcdUQ4NTJcdURFNjVcdUQ4NTJcdURFOTVcdTQ0N0FcdTgyMjlcdUQ4NDJcdURGMERcdUQ4NUFcdURFNTJcdUQ4NEZcdUREN0VcdTRGRjlcdUQ4NDVcdURDRkRcdTg0RTJcdTgzNjJcdUQ4NUFcdURGMEFcdUQ4NTJcdUREQTdcdUQ4NERcdUREMzBcdUQ4NDVcdURGNzNcdUQ4NEZcdURERjhcdTgyQUFcdTY5MUJcdUQ4N0VcdUREOTRcdTQxREJcIl0sXG5bXCI4ZjQwXCIsXCJcdTg1NEJcdTgyRDBcdTgzMUFcdUQ4NDNcdURFMTZcdUQ4NDVcdURGQjRcdTM2QzFcdUQ4NENcdUREN0RcdUQ4NERcdURENUFcdTgyN0JcdTgyRTJcdTgzMThcdUQ4NEZcdURFOEJcdUQ4NUJcdUREQTNcdUQ4NUFcdURGMDVcdUQ4NUFcdURGOTdcdUQ4NERcdUREQ0VcdTNEQkZcdTgzMURcdTU1RUNcdTgzODVcdTQ1MEJcdUQ4NUJcdUREQTVcdTgzQUNcdTgzQzFcdTgzRDNcdTM0N0VcdUQ4NUJcdURFRDRcdTZBNTdcdTg1NUFcdTM0OTZcdUQ4NUJcdURFNDJcdUQ4NEJcdURFRUZcdTg0NThcdUQ4NTZcdURGRTRcdTg0NzFcdTNERDNcdTQ0RTRcdTZBQTdcdTg0NEFcdUQ4NEZcdURDQjVcdTc5NThcdTg0QThcdUQ4NUFcdURGOTZcdUQ4NUJcdURFNzdcdUQ4NUJcdURFNDNcdTg0REVcdTg0MEZcdTgzOTFcdTQ0QTBcdTg0OTNcdTg0RTRcdUQ4NTdcdURDOTFcdTQyNDBcdUQ4NTdcdURDQzBcdTQ1NDNcdTg1MzRcdTVBRjJcdUQ4NUJcdURFOTlcdTQ1MjdcdTg1NzNcdTQ1MTZcdTY3QkZcdTg2MTZcIl0sXG5bXCI4ZmExXCIsXCJcdUQ4NjFcdURFMjVcdUQ4NjFcdURFM0JcdTg1QzFcdUQ4NUNcdURDODhcdTg2MDJcdUQ4NDVcdUREODJcdUQ4NUNcdURDQ0RcdUQ4N0VcdUREQjJcdTQ1NkFcdTg2MjhcdTM2NDhcdUQ4NDZcdURDQTJcdTUzRjdcdUQ4NUNcdURGOUFcdTg2N0VcdTg3NzFcdUQ4NjhcdURDRjhcdTg3RUVcdUQ4NEJcdURDMjdcdTg3QjFcdTg3REFcdTg4MEZcdTU2NjFcdTg2NkNcdTY4NTZcdTQ2MEZcdTg4NDVcdTg4NDZcdUQ4NURcdURERTBcdUQ4NEZcdUREQjlcdUQ4NURcdURERTRcdTg4NUVcdTg4OUNcdTQ2NUJcdTg4QjRcdTg4QjVcdTYzQzFcdTg4QzVcdTc3NzdcdUQ4NURcdURGMEZcdTg5ODdcdTg5OEFcdTg5QTZcdTg5QTlcdTg5QTdcdTg5QkNcdUQ4NjJcdURFMjVcdTg5RTdcdUQ4NUVcdUREMjRcdUQ4NUVcdURFQkRcdThBOUNcdTc3OTNcdTkxRkVcdThBOTBcdUQ4NUVcdURFNTlcdTdBRTlcdUQ4NUVcdURGM0FcdUQ4NEZcdURGOEZcdTQ3MTNcdUQ4NUVcdURGMzhcdTcxN0NcdThCMENcdThCMUZcdUQ4NTVcdURDMzBcdUQ4NTVcdURENjVcdThCM0ZcdThCNENcdThCNERcdThBQTlcdUQ4NTJcdURFN0FcdThCOTBcdThCOUJcdThBQUZcdUQ4NDVcdURFREZcdTQ2MTVcdTg4NEZcdThDOUJcdUQ4NUZcdURENTRcdUQ4NUZcdUREOEZcdUQ4N0VcdURERDRcdTM3MjVcdUQ4NUZcdURENTNcdThDRDZcdUQ4NUZcdUREOThcdUQ4NUZcdUREQkRcdThEMTJcdThEMDNcdUQ4NDZcdUREMTBcdThDREJcdTcwNUNcdThEMTFcdUQ4NTNcdURDQzlcdTNFRDBcdThENzdcIl0sXG5bXCI5MDQwXCIsXCJcdThEQTlcdUQ4NjBcdURDMDJcdUQ4NDRcdURDMTRcdUQ4NTJcdUREOEFcdTNCN0NcdUQ4NjBcdUREQkNcdUQ4NUNcdUREMENcdTdBRTdcdThFQURcdThFQjZcdThFQzNcdTkyRDRcdThGMTlcdThGMkRcdUQ4NjBcdURGNjVcdUQ4NjFcdURDMTJcdThGQTVcdTkzMDNcdUQ4NjhcdURFOUZcdUQ4NDJcdURFNTBcdThGQjNcdTQ5MkFcdUQ4NjJcdUREREVcdUQ4NjFcdUREM0RcdUQ4NEZcdUREQkJcdTVFRjhcdUQ4NENcdURFNjJcdThGRjlcdUQ4NjhcdURDMTRcdUQ4NjFcdURFQkNcdUQ4NjFcdUREMDFcdUQ4NDhcdURGMjVcdTM5ODBcdUQ4NUJcdURFRDdcdTkwMzdcdUQ4NjFcdUREM0NcdUQ4NUVcdURFQkVcdTkwNjFcdUQ4NjFcdURENkNcdUQ4NjFcdURFMEJcdTkwQThcdUQ4NjFcdURGMTNcdTkwQzRcdUQ4NjFcdURFRTZcdTkwQUVcdTkwRkRcdTkxNjdcdTNBRjBcdTkxQTlcdTkxQzRcdTdDQUNcdUQ4NjJcdUREMzNcdUQ4NDdcdURFODlcdTkyMEVcdTZDOUZcdTkyNDFcdTkyNjJcdUQ4NTVcdUREQjlcdTkyQjlcdUQ4NjJcdURFQzZcdUQ4NEZcdURDOUJcdUQ4NjJcdURGMENcdUQ4NTVcdUREREJcIl0sXG5bXCI5MGExXCIsXCJcdUQ4NDNcdUREMzFcdTkzMkNcdTkzNkJcdUQ4NjJcdURFRTFcdUQ4NjJcdURGRUJcdTcwOEZcdTVBQzNcdUQ4NjJcdURFRTJcdUQ4NjJcdURFRTVcdTQ5NjVcdTkyNDRcdUQ4NjJcdURGRUNcdUQ4NjNcdURDMzlcdUQ4NjJcdURGRkZcdTkzNzNcdTk0NUJcdThFQkNcdTk1ODVcdTk1QTZcdTk0MjZcdTk1QTBcdTZGRjZcdTQyQjlcdUQ4NDlcdURFN0FcdUQ4NjFcdURFRDhcdUQ4NDRcdURFN0NcdUQ4NEZcdURFMkVcdTQ5REZcdTZDMUNcdTk2N0JcdTk2OTZcdTQxNkNcdTk2QTNcdUQ4NUJcdURFRDVcdTYxREFcdTk2QjZcdTc4RjVcdUQ4NjJcdURFRTBcdTk2QkRcdTUzQ0NcdTQ5QTFcdUQ4NUJcdURDQjhcdUQ4NDBcdURFNzRcdUQ4NTlcdURDMTBcdUQ4NjRcdURDQUZcdUQ4NjRcdURDRTVcdUQ4NTJcdURFRDFcdUQ4NDZcdUREMTVcdUQ4NENcdURGMEFcdTk3MzFcdTg2NDJcdTk3MzZcdTRBMEZcdTQ1M0RcdTQ1ODVcdUQ4NTJcdURFRTlcdTcwNzVcdTVCNDFcdTk3MUJcdTk3NUNcdUQ4NjRcdURERDVcdTk3NTdcdTVCNEFcdUQ4NjRcdURERUJcdTk3NUZcdTk0MjVcdTUwRDBcdUQ4NENcdURDQjdcdUQ4NENcdURDQkNcdTk3ODlcdTk3OUZcdTk3QjFcdTk3QkVcdTk3QzBcdTk3RDJcdTk3RTBcdUQ4NTVcdURDNkNcdTk3RUVcdTc0MUNcdUQ4NjVcdURDMzNcdTk3RkZcdTk3RjVcdUQ4NjVcdURDMURcdUQ4NUVcdUREN0FcdTRBRDFcdTk4MzRcdTk4MzNcdTk4NEJcdTk4NjZcdTNCMEVcdUQ4NUNcdURENzVcdTNENTFcdUQ4NDFcdURFMzBcdUQ4NTBcdURENUNcIl0sXG5bXCI5MTQwXCIsXCJcdUQ4NTVcdURGMDZcdTk4Q0FcdTk4QjdcdTk4QzhcdTk4QzdcdTRBRkZcdUQ4NUJcdUREMjdcdUQ4NDVcdURFRDNcdTU1QjBcdTk4RTFcdTk4RTZcdTk4RUNcdTkzNzhcdTk5MzlcdUQ4NTJcdURFMjlcdTRCNzJcdUQ4NjZcdURDNTdcdUQ4NjZcdUREMDVcdTk5RjVcdTlBMENcdTlBM0JcdTlBMTBcdTlBNThcdUQ4NTVcdURGMjVcdTM2QzRcdUQ4NjRcdURDQjFcdUQ4NjZcdURGRDVcdTlBRTBcdTlBRTJcdUQ4NjZcdURGMDVcdTlBRjRcdTRDMEVcdTlCMTRcdTlCMkRcdUQ4NjFcdURFMDBcdTUwMzRcdTlCMzRcdUQ4NUFcdUREQThcdTM4QzNcdUQ4NENcdURDN0RcdTlCNTBcdTlCNDBcdUQ4NjdcdUREM0VcdTVBNDVcdUQ4NDZcdURDNjNcdTlCOEVcdUQ4NTBcdURFNEJcdTlDMDJcdTlCRkZcdTlDMENcdUQ4NjdcdURFNjhcdTlERDRcdUQ4NjdcdURGQjdcdUQ4NjhcdUREOTJcdUQ4NjhcdUREQUJcdUQ4NjhcdURDRTFcdUQ4NjhcdUREMjNcdUQ4NjhcdUREREZcdTlEN0VcdTlEODNcdUQ4NjhcdUREMzRcdTlFMEVcdTY4ODhcIl0sXG5bXCI5MWExXCIsXCJcdTlEQzRcdUQ4NDhcdURENUJcdUQ4NjhcdUREOTNcdUQ4NjhcdURFMjBcdUQ4NDZcdUREM0JcdUQ4NjhcdURFMzNcdTlEMzlcdUQ4NjhcdURDQjlcdUQ4NjhcdURFQjRcdTlFOTBcdTlFOTVcdTlFOUVcdTlFQTJcdTREMzRcdTlFQUFcdTlFQUZcdUQ4NTBcdURGNjRcdTlFQzFcdTNCNjBcdTM5RTVcdTNEMURcdTRGMzJcdTM3QkVcdUQ4NjNcdURDMkJcdTlGMDJcdTlGMDhcdTRCOTZcdTk0MjRcdUQ4NUJcdUREQTJcdTlGMTdcdTlGMTZcdTlGMzlcdTU2OUZcdTU2OEFcdTlGNDVcdTk5QjhcdUQ4NjRcdURDOEJcdTk3RjJcdTg0N0ZcdTlGNjJcdTlGNjlcdTdBRENcdTlGOEVcdTcyMTZcdTRCQkVcdUQ4NTJcdURENzVcdUQ4NTJcdUREQkJcdTcxNzdcdUQ4NTJcdURERjhcdUQ4NTBcdURGNDhcdUQ4NTJcdURFNTFcdTczOUVcdUQ4NjJcdURGREFcdUQ4NDZcdURDRkFcdTc5OUZcdUQ4NjJcdUREN0VcdUQ4NjNcdURFMzZcdTkzNjlcdTkzRjNcdUQ4NjJcdURFNDRcdTkyRUNcdTkzODFcdTkzQ0JcdUQ4NjJcdURENkNcdUQ4NTFcdURDQjlcdTcyMTdcdTNFRUJcdTc3NzJcdTdBNDNcdTcwRDBcdUQ4NTFcdURDNzNcdUQ4NTBcdURGRjhcdTcxN0VcdUQ4NDVcdURGRUZcdTcwQTNcdUQ4NDZcdURDQkVcdUQ4NERcdUREOTlcdTNFQzdcdUQ4NDZcdURDODVcdUQ4NTVcdURDMkZcdUQ4NDVcdURGRjhcdTM3MjJcdUQ4NDVcdURFRkJcdUQ4NDZcdURDMzlcdTM2RTFcdUQ4NDVcdURGNzRcdUQ4NDZcdURDRDFcdUQ4NTdcdURGNEJcdTM3MjNcdUQ4NDVcdURFQzBcdTU3NUJcdUQ4NTJcdURFMjVcdUQ4NDRcdURGRkVcdUQ4NDRcdURFQThcIl0sXG5bXCI5MjQwXCIsXCJcdUQ4NDRcdURGQzZcdUQ4NDVcdURDQjZcdTg1MDNcdUQ4NERcdURFQTZcdTg1MDNcdTg0NTVcdUQ4NTJcdUREOTRcdUQ4NUNcdURENjVcdUQ4NEZcdURFMzFcdUQ4NTVcdURENUNcdUQ4NEZcdURFRkJcdUQ4NUNcdURDNTJcdTQ0RjRcdUQ4NERcdURFRUVcdUQ4NjZcdUREOURcdUQ4NUJcdURGMjZcdTY3RjlcdTM3MzNcdTNDMTVcdTNERTdcdTU4NkNcdUQ4NDZcdUREMjJcdTY4MTBcdTQwNTdcdUQ4NERcdURGM0ZcdUQ4NTBcdURDRTFcdUQ4NTBcdURDOEJcdUQ4NTBcdUREMEZcdUQ4NUJcdURDMjFcdTU0Q0JcdTU2OUVcdUQ4NTlcdURFQjFcdTU2OTJcdUQ4NDNcdURGREZcdUQ4NDJcdURGQThcdUQ4NDNcdURFMERcdTkzQzZcdUQ4NjJcdURGMTNcdTkzOUNcdTRFRjhcdTUxMkJcdTM4MTlcdUQ4NTFcdURDMzZcdTRFQkNcdUQ4NDFcdURDNjVcdUQ4NDBcdURGN0ZcdTRGNEJcdTRGOEFcdUQ4NTVcdURFNTFcdTVBNjhcdUQ4NDBcdUREQUJcdUQ4NDBcdURGQ0JcdTM5OTlcdUQ4NDBcdURGMEFcdUQ4NDFcdURDMTRcdTM0MzVcdTRGMjlcdUQ4NDBcdURFQzBcdUQ4NjNcdURFQjNcdUQ4NDBcdURFNzVcdThBREFcdUQ4NDBcdURFMENcdTRFOThcIl0sXG5bXCI5MmExXCIsXCJcdTUwQ0RcdTUxMERcdTRGQTJcdTRGMDNcdUQ4NTJcdURFMEVcdUQ4NEZcdURFOEFcdTRGNDJcdTUwMkVcdTUwNkNcdTUwODFcdTRGQ0NcdTRGRTVcdTUwNThcdTUwRkNcdTUxNTlcdTUxNUJcdTUxNURcdTUxNUVcdTZFNzZcdUQ4NERcdUREOTVcdUQ4NEZcdURFMzlcdUQ4NEZcdURFQkZcdTZENzJcdUQ4NDZcdURDODRcdUQ4NEZcdURFODlcdTUxQThcdTUxQzNcdUQ4NDFcdURERTBcdTQ0RERcdUQ4NDFcdURDQTNcdUQ4NDFcdURDOTJcdUQ4NDFcdURDOTFcdThEN0FcdUQ4NjJcdURFOUNcdUQ4NDFcdURGMEVcdTUyNTlcdTUyQTRcdUQ4NDJcdURDNzNcdTUyRTFcdTkzNkVcdTQ2N0FcdTcxOENcdUQ4NTBcdURGOENcdUQ4NDNcdURDMjBcdUQ4NTJcdUREQUNcdUQ4NDRcdURDRTRcdTY5RDFcdUQ4NDNcdURFMURcdTc0NzlcdTNFREVcdTc0OTlcdTc0MTRcdTc0NTZcdTczOThcdTRCOEVcdUQ4NTJcdURFQkNcdUQ4NTBcdURDOERcdTUzRDBcdTM1ODRcdTcyMEZcdUQ4NTBcdURDQzlcdTU1QjRcdUQ4NDBcdURGNDVcdTU0Q0RcdUQ4NDJcdURGQzZcdTU3MURcdTkyNURcdTk2RjRcdTkzNjZcdTU3RERcdTU3OERcdTU3N0ZcdTM2M0VcdTU4Q0JcdTVBOTlcdUQ4NjJcdURFNDZcdUQ4NDVcdURFRkFcdUQ4NDVcdURGNkZcdUQ4NDVcdURGMTBcdTVBMkNcdTU5QjhcdTkyOEZcdTVBN0VcdTVBQ0ZcdTVBMTJcdUQ4NTZcdURENDZcdUQ4NDZcdURERjNcdUQ4NDZcdURDNjFcdUQ4NTBcdURFOTVcdTM2RjVcdTZEMDVcdTc0NDNcdTVBMjFcdUQ4NTdcdURFODNcIl0sXG5bXCI5MzQwXCIsXCJcdTVBODFcdUQ4NjJcdURGRDdcdUQ4NDFcdURDMTNcdTkzRTBcdTc0OENcdUQ4NDRcdURGMDNcdTcxMDVcdTQ5NzJcdTk0MDhcdUQ4NjJcdURERkJcdTkzQkRcdTM3QTBcdTVDMUVcdTVDOUVcdTVFNUVcdTVFNDhcdUQ4NDZcdUREOTZcdUQ4NDZcdUREN0NcdUQ4NEVcdURFRUVcdTVFQ0RcdTVCNEZcdUQ4NDZcdUREMDNcdUQ4NDZcdUREMDRcdTM3MDFcdUQ4NDZcdURDQTBcdTM2RERcdUQ4NDVcdURFRkVcdTM2RDNcdTgxMkFcdUQ4NjJcdURFNDdcdUQ4NDdcdUREQkFcdUQ4NERcdURDNzJcdUQ4NjJcdUREQThcdTVGMENcdTVGMEVcdUQ4NDZcdUREMjdcdUQ4NDVcdURGQUJcdTVBNkJcdUQ4NDVcdURGM0JcdTVCNDRcdTg2MTRcdUQ4NURcdURERkRcdTg4NjBcdTYwN0VcdUQ4NEFcdURDNjBcdUQ4NDlcdURFMkJcdTVGREJcdTNFQjhcdUQ4NDlcdUREQUZcdUQ4NDlcdUREQkVcdUQ4NjRcdURDODhcdUQ4NUJcdURGNzNcdTYxQzBcdUQ4NDBcdURDM0VcdUQ4NDBcdURDNDZcdUQ4NDlcdURFMUJcdTYxOTlcdTYxOThcdTYwNzVcdUQ4NEJcdURDOUJcdUQ4NEJcdUREMDdcdUQ4NTFcdURFRDRcdUQ4NjRcdURENERcIl0sXG5bXCI5M2ExXCIsXCJcdTY0NzFcdUQ4NTFcdURFNjVcdUQ4NEFcdURGNkFcdTNBMjlcdUQ4NEFcdURGMjJcdUQ4NERcdURDNTBcdUQ4NjZcdURDRUFcdUQ4NEJcdURFNzhcdTYzMzdcdUQ4NjlcdURDNUJcdTY0QjZcdTYzMzFcdTYzRDFcdUQ4NTJcdURERTNcdUQ4NEJcdURENjdcdTYyQTRcdUQ4NEJcdURDQTFcdTY0M0JcdTY1NkJcdTY5NzJcdTNCRjRcdUQ4NENcdURDOEVcdUQ4NENcdURFQURcdUQ4NTJcdUREODlcdUQ4NENcdURFQUJcdTU1MERcdUQ4NENcdURFRTBcdUQ4NDZcdURDRDlcdUQ4NjVcdURDM0ZcdTY2Q0VcdUQ4NENcdURFODlcdUQ4NENcdUREQjNcdTNBRTBcdTQxOTBcdUQ4NTVcdUREODRcdUQ4NjJcdURGMjJcdUQ4NTVcdUREOEZcdUQ4NDVcdURFRkNcdUQ4NTVcdURENUJcdUQ4NTVcdURDMjVcdTc4RUVcdUQ4NENcdUREMDNcdUQ4NDZcdURDMkFcdUQ4NENcdURFMzRcdTM0NjRcdUQ4NENcdURFMEZcdUQ4NENcdUREODJcdUQ4NTBcdURFQzlcdTY2OEVcdUQ4NUJcdUREMjRcdTY2NkJcdTRCOTNcdTY2MzBcdUQ4NUVcdURDNzBcdUQ4NDdcdURERUJcdTY2NjNcdUQ4NENcdURFRDJcdUQ4NENcdURFRTFcdTY2MUVcdUQ4NTZcdURDNzJcdTM4RDFcdUQ4NEVcdURDM0FcdUQ4NERcdURGQkNcdTNCOTlcdUQ4NERcdURGQTJcdUQ4NENcdURGRkVcdTc0RDBcdTNCOTZcdTY3OEZcdUQ4NTFcdURFMkFcdTY4QjZcdTY4MUVcdTNCQzRcdTZBQkVcdTM4NjNcdUQ4NERcdURGRDVcdUQ4NTFcdURDODdcdTZBMzNcdTZBNTJcdTZBQzlcdTZCMDVcdUQ4NDZcdUREMTJcdTY1MTFcdTY4OThcdTZBNENcdTNCRDdcdTZBN0FcdTZCNTdcdUQ4NEZcdURGQzBcdUQ4NEZcdURDOUFcdTkzQTBcdTkyRjJcdUQ4NjJcdURGRUFcdUQ4NjJcdURFQ0JcIl0sXG5bXCI5NDQwXCIsXCJcdTkyODlcdUQ4NjBcdURDMUVcdUQ4NjJcdURERENcdTk0NjdcdTZEQTVcdTZGMEJcdUQ4NTJcdURERUNcdTZENjdcdUQ4NEZcdURGN0ZcdTNEOEZcdTZFMDRcdUQ4NTBcdURDM0NcdTVBM0RcdTZFMEFcdTU4NDdcdTZEMjRcdTc4NDJcdTcxM0JcdUQ4NTBcdURGMUFcdUQ4NTBcdURFNzZcdTcwRjFcdTcyNTBcdTcyODdcdTcyOTRcdUQ4NTFcdURGOEZcdUQ4NTFcdURGMjVcdTUxNzlcdUQ4NTJcdURFQTRcdUQ4NDFcdURERUJcdTc0N0FcdUQ4NEZcdURFRjhcdUQ4NERcdURFNUZcdUQ4NTJcdURFNEFcdUQ4NTJcdUREMTdcdUQ4NTdcdURGRTFcdTNGMDZcdTNFQjFcdUQ4NTJcdURFREZcdUQ4NjNcdURDMjNcdUQ4NEZcdURGMzVcdTYwQTdcdTNFRjNcdTc0Q0NcdTc0M0NcdTkzODdcdTc0MzdcdTQ0OUZcdUQ4NUJcdURERUFcdTQ1NTFcdTc1ODNcdTNGNjNcdUQ4NTNcdURDRDlcdUQ4NTNcdUREMDZcdTNGNThcdTc1NTVcdTc2NzNcdUQ4NjlcdUREQzZcdTNCMTlcdTc0NjhcdUQ4NjJcdURFQ0NcdUQ4NTJcdUREQUJcdUQ4NTJcdUREOEVcdTNBRkJcIl0sXG5bXCI5NGExXCIsXCJcdTNEQ0RcdUQ4NTJcdURFNEVcdTNFRkZcdUQ4NTJcdUREQzVcdUQ4NTJcdURDRjNcdTkxRkFcdTU3MzJcdTkzNDJcdUQ4NjJcdURFRTNcdUQ4NDZcdURDNjRcdTUwREZcdUQ4NTRcdURFMjFcdUQ4NTRcdURERTdcdTc3NzhcdUQ4NENcdURFMzJcdTc3MEVcdTc3MEZcdTc3N0JcdUQ4NTFcdURFOTdcdUQ4NERcdURGODFcdTNBNUVcdUQ4NTJcdURDRjBcdTc0MzhcdTc0OUJcdTNFQkZcdUQ4NTJcdURFQkFcdUQ4NTJcdURFQzdcdTQwQzhcdUQ4NTJcdURFOTZcdUQ4NThcdUREQUVcdTkzMDdcdUQ4NTVcdUREODFcdTc4MUVcdTc4OERcdTc4ODhcdTc4RDJcdTczRDBcdTc5NTlcdUQ4NURcdURGNDFcdUQ4NTVcdURFRTNcdTQxMEVcdTc5OUJcdTg0OTZcdTc5QTVcdTZBMkRcdUQ4NEZcdURFRkFcdTdBM0FcdTc5RjRcdTQxNkVcdUQ4NDVcdURFRTZcdTQxMzJcdTkyMzVcdTc5RjFcdUQ4NDNcdURENENcdUQ4NTJcdUREOENcdUQ4NDBcdURFOTlcdUQ4NEZcdUREQkFcdUQ4NDVcdURGNkVcdTM1OTdcdTU1NkJcdTM1NzBcdTM2QUFcdUQ4NDBcdURERDRcdUQ4NDNcdURDMERcdTdBRTJcdTVBNTlcdUQ4NDlcdURFRjVcdUQ4NTZcdURFQUZcdUQ4NTZcdURFOUNcdTVBMERcdUQ4NDBcdURFNUJcdTc4RjBcdTVBMkFcdUQ4NTZcdURGQzZcdTdBRkVcdTQxRjlcdTdDNURcdTdDNkRcdTQyMTFcdUQ4NTZcdURGQjNcdUQ4NTdcdURFQkNcdUQ4NTdcdURFQTZcdTdDQ0RcdUQ4NTJcdURERjlcdUQ4NDVcdURGQjBcdTdDOEVcdTdDN0NcdTdDQUVcdTZBQjJcdTdERENcdTdFMDdcdTdERDNcdTdGNEVcdUQ4NThcdURFNjFcIl0sXG5bXCI5NTQwXCIsXCJcdUQ4NThcdURENUNcdUQ4NUVcdURGNDhcdTdEOTdcdUQ4NTdcdURFODJcdTQyNkFcdUQ4NUFcdURGNzVcdUQ4NDJcdUREMTZcdTY3RDZcdUQ4NDBcdURDNEVcdUQ4NERcdUREQ0ZcdTU3QzRcdUQ4NTlcdURDMTJcdUQ4NThcdURGRjhcdUQ4NTJcdURENjJcdTdGRERcdTdCMjdcdUQ4NDJcdURDMkNcdUQ4NTZcdURFRTlcdUQ4NTdcdURENDNcdTdCMENcdUQ4NTdcdURFMEVcdTk5RTZcdTg2NDVcdTlBNjNcdTZBMUNcdUQ4NERcdURDM0ZcdTM5RTJcdUQ4NTJcdURERjdcdUQ4NTlcdUREQURcdTlBMUZcdUQ4NTlcdUREQTBcdTg0ODBcdUQ4NUNcdUREMjdcdUQ4NUJcdURDRDFcdTQ0RUFcdTgxMzdcdTQ0MDJcdTgwQzZcdTgxMDlcdTgxNDJcdUQ4NTlcdURGQjRcdTk4QzNcdUQ4NUFcdURFNDJcdTgyNjJcdTgyNjVcdUQ4NUFcdURFNTFcdTg0NTNcdUQ4NUJcdUREQTdcdTg2MTBcdUQ4NUNcdURFMUJcdTVBODZcdTQxN0ZcdUQ4NDZcdURDNDBcdTVCMkJcdUQ4NDZcdURDQTFcdTVBRTRcdUQ4NDZcdURDRDhcdTg2QTBcdUQ4N0VcdUREQkNcdUQ4NEZcdUREOEZcdTg4MkRcdUQ4NURcdURDMjJcdTVBMDJcIl0sXG5bXCI5NWExXCIsXCJcdTg4NkVcdTRGNDVcdTg4ODdcdTg4QkZcdTg4RTZcdTg5NjVcdTg5NERcdUQ4NTVcdURFODNcdTg5NTRcdUQ4NURcdURGODVcdUQ4NURcdURGODRcdUQ4NjJcdURGRjVcdUQ4NjJcdURGRDlcdUQ4NjJcdURGOUNcdUQ4NjJcdURERjlcdTNFQURcdTg0QTNcdTQ2RjVcdTQ2Q0ZcdTM3RjJcdThBM0RcdThBMUNcdUQ4NjVcdURDNDhcdTVGNERcdTkyMkJcdUQ4NTBcdURFODRcdTY1RDRcdTcxMjlcdTcwQzRcdUQ4NDZcdURDNDVcdTlENkRcdThDOUZcdThDRTlcdUQ4NUZcdURERENcdTU5OUFcdTc3QzNcdTU5RjBcdTQzNkVcdTM2RDRcdThFMkFcdThFQTdcdUQ4NTNcdURDMDlcdThGMzBcdThGNEFcdTQyRjRcdTZDNThcdTZGQkJcdUQ4NDhcdURGMjFcdTQ4OUJcdTZGNzlcdTZFOEJcdUQ4NDVcdURGREFcdTlCRTlcdTM2QjVcdUQ4NTJcdUREMkZcdTkwQkJcdTkwOTdcdTU1NzFcdTQ5MDZcdTkxQkJcdTk0MDRcdUQ4NjJcdURFNEJcdTQwNjJcdUQ4NjJcdURFRkNcdTk0MjdcdUQ4NjNcdURDMURcdUQ4NjNcdURDM0JcdTg0RTVcdThBMkJcdTk1OTlcdTk1QTdcdTk1OTdcdTk1OTZcdUQ4NjNcdUREMzRcdTc0NDVcdTNFQzJcdUQ4NTJcdURDRkZcdUQ4NTJcdURFNDJcdUQ4NTBcdURGRUFcdTNFRTdcdUQ4NENcdURFMjVcdTk2OEZcdUQ4NjNcdURFRTdcdUQ4NjNcdURFNjZcdUQ4NjNcdURFNjVcdTNFQ0NcdUQ4NTJcdURERURcdUQ4NTJcdURFNzhcdUQ4NEZcdURGRUVcdTc0MTJcdTc0NkJcdTNFRkNcdTk3NDFcdUQ4NjRcdURDQjBcIl0sXG5bXCI5NjQwXCIsXCJcdTY4NDdcdTRBMURcdUQ4NjRcdURDOTNcdUQ4NTVcdURGREZcdTk3NURcdTkzNjhcdUQ4NjJcdUREODlcdUQ4NjNcdURDMjZcdUQ4NjJcdURGMkZcdUQ4NThcdURGQkVcdTkyQkFcdTVCMTFcdThCNjlcdTQ5M0NcdTczRjlcdUQ4NTBcdURFMUJcdTk3OUJcdTk3NzFcdTk5MzhcdUQ4NDNcdURGMjZcdTVEQzFcdUQ4NjJcdURGQzVcdUQ4NTJcdURFQjJcdTk4MUZcdUQ4NjVcdURDREFcdTkyRjZcdUQ4NjVcdURERDdcdTkxRTVcdTQ0QzBcdUQ4NjJcdURGNTBcdUQ4NTJcdURFNjdcdUQ4NjJcdURGNjRcdTk4RENcdUQ4NjJcdURFNDVcdTNGMDBcdTkyMkFcdTQ5MjVcdTg0MTRcdTk5M0JcdTk5NERcdUQ4NUVcdURGMDZcdTNERkRcdTk5OUJcdTRCNkZcdTk5QUFcdTlBNUNcdUQ4NjJcdURGNjVcdUQ4NTZcdURDQzhcdTZBOEZcdTlBMjFcdTVBRkVcdTlBMkZcdUQ4NjZcdURDRjFcdTRCOTBcdUQ4NjZcdURENDhcdTk5QkNcdTRCQkRcdTRCOTdcdTkzN0RcdTU4NzJcdUQ4NDRcdURGMDJcdTU4MjJcdUQ4NTJcdUREQjhcIl0sXG5bXCI5NmExXCIsXCJcdUQ4NDVcdURDRThcdTc4NDRcdUQ4NDlcdURGMUZcdUQ4NEZcdUREQjhcdTY4QzVcdTNEN0RcdTk0NThcdTM5MjdcdTYxNTBcdUQ4NDlcdURGODFcdUQ4NEFcdURENkJcdTYxMDdcdTlDNEZcdTlDNTNcdTlDN0JcdTlDMzVcdTlDMTBcdTlCN0ZcdTlCQ0ZcdUQ4NjdcdURFMkRcdTlCOUZcdUQ4NjhcdURERjVcdUQ4NjhcdURDRkVcdTlEMjFcdTRDQUVcdUQ4NTBcdUREMDRcdTlFMThcdTRDQjBcdTlEMENcdUQ4NjhcdUREQjRcdUQ4NjhcdURDRURcdUQ4NjhcdURDRjNcdUQ4NjZcdUREMkZcdTlEQTVcdTg0QkRcdUQ4NUJcdURFMTJcdUQ4NUJcdURGREZcdUQ4NUFcdURGODJcdTg1RkNcdTQ1MzNcdUQ4NUJcdUREQTRcdUQ4NUJcdURFODRcdUQ4NUJcdURERjBcdTg0MjBcdTg1RUVcdUQ4NUJcdURFMDBcdUQ4NERcdURGRDdcdUQ4NThcdURDNjRcdTc5RTJcdUQ4NERcdUREOUNcdUQ4NERcdURFNDBcdTQ5MkRcdUQ4NTJcdUREREVcdTNENjJcdTkzREJcdTkyQkVcdTkzNDhcdUQ4NDBcdURFQkZcdTc4QjlcdTkyNzdcdTk0NERcdTRGRTRcdTM0NDBcdTkwNjRcdUQ4NTVcdURENURcdTc4M0RcdTc4NTRcdTc4QjZcdTc4NEJcdUQ4NDVcdURGNTdcdUQ4NENcdUREQzlcdUQ4NTJcdURENDFcdTM2OUFcdTRGNzJcdTZGREFcdTZGRDlcdTcwMUVcdTcwMUVcdTU0MTRcdUQ4NTBcdUREQjVcdTU3QkJcdTU4RjNcdTU3OEFcdTlEMTZcdTU3RDdcdTcxMzRcdTM0QUZcdUQ4NTBcdUREQUNcdTcxRUJcdUQ4NUJcdURDNDBcdUQ4NTNcdURGOTdcdTVCMjhcdUQ4NDVcdURGQjVcdUQ4NjJcdURFNDlcIl0sXG5bXCI5NzQwXCIsXCJcdTYxMENcdTVBQ0VcdTVBMEJcdTQyQkNcdUQ4NTFcdURDODhcdTM3MkNcdTRCN0JcdUQ4NjJcdURERkNcdTkzQkJcdTkzQjhcdUQ4NDZcdURDRDZcdUQ4NDNcdURGMURcdTg0NzJcdUQ4NUJcdURDQzBcdUQ4NDVcdURDMTNcdUQ4NTBcdURFRkFcdUQ4NEJcdURDMjZcdUQ4NTBcdURGQzFcdTU5OTRcdUQ4NEZcdUREQjdcdUQ4NTlcdURGNDFcdTdEQThcdUQ4NThcdURENUJcdUQ4NThcdURDQTRcdUQ4NTJcdUREQjlcdUQ4NTJcdUREOEJcdUQ4NjJcdURERkFcdTkyRTVcdTczRTJcdTNFRTlcdTc0QjRcdUQ4NjJcdURGNjNcdUQ4NDZcdURDOUZcdTNFRTFcdUQ4NTJcdURFQjNcdTZBRDhcdTczRjNcdTczRkJcdTNFRDZcdUQ4NTJcdURFM0VcdUQ4NTJcdURFOTRcdUQ4NDVcdURGRDlcdUQ4NTJcdURFNjZcdUQ4NDBcdURGQTdcdUQ4NDVcdURDMjRcdUQ4NTJcdURERTVcdTc0NDhcdUQ4NTJcdUREMTZcdTcwQTVcdUQ4NTJcdURENzZcdTkyODRcdTczRTZcdTkzNUZcdUQ4NDFcdURDRkVcdTkzMzFcdUQ4NjJcdURFQ0VcdUQ4NjJcdURFMTZcdTkzODZcdUQ4NjJcdURGRTdcdUQ4NTVcdURERDVcdTQ5MzVcdUQ4NjJcdURFODJcdTcxNkJcIl0sXG5bXCI5N2ExXCIsXCJcdUQ4NTJcdURENDNcdUQ4NDNcdURDRkZcdTU2QTRcdUQ4NDFcdURFMUFcdUQ4NDJcdURGRUJcdUQ4NDNcdURDQjhcdTU1MDJcdTc5QzRcdUQ4NDVcdURGRkFcdTdERkVcdUQ4NDVcdURFQzJcdUQ4NTJcdURFNTBcdUQ4NDZcdURDNTJcdTQ1MkVcdTk0MDFcdTM3MEFcdUQ4NjJcdURFQzBcdUQ4NTJcdUREQURcdTU5QjBcdUQ4NDZcdURDQkZcdUQ4NDZcdURDODNcdUQ4NURcdURDODRcdTVBQTFcdTM2RTJcdUQ4NEZcdURENUJcdTM2QjBcdTkyNUZcdTVBNzlcdUQ4NjJcdURFODFcdUQ4NDZcdURDNjJcdTkzNzRcdTNDQ0RcdUQ4NDJcdURFQjRcdTRBOTZcdTM5OEFcdTUwRjRcdTNENjlcdTNENENcdUQ4NDRcdURGOUNcdTcxNzVcdTQyRkJcdUQ4NjBcdURFMThcdTZFMEZcdUQ4NjRcdURDRTRcdTQ0RUJcdTZENTdcdUQ4NUZcdURFNEZcdTcwNjdcdTZDQUZcdTNDRDZcdUQ4NEZcdURGRURcdUQ4NEZcdURFMkRcdTZFMDJcdTZGMENcdTNENkZcdUQ4NDBcdURGRjVcdTc1NTFcdTM2QkNcdTM0QzhcdTQ2ODBcdTNFREFcdTQ4NzFcdTU5QzRcdTkyNkVcdTQ5M0VcdThGNDFcdUQ4NjNcdURDMUNcdUQ4NUFcdURGQzBcdTU4MTJcdTU3QzhcdTM2RDZcdUQ4NDVcdURDNTJcdTcwRkVcdUQ4NTBcdURGNjJcdUQ4NTJcdURFNzFcdUQ4NEJcdURGRTNcdUQ4NDRcdURFQjBcdUQ4NDhcdURGQkRcdTY4QjlcdTY5NjdcdUQ4NDRcdURGOThcdUQ4NERcdURDRTVcdUQ4NUVcdURGRjRcdUQ4NERcdURFREZcdUQ4NjJcdURFODNcdUQ4NERcdURGRDZcdUQ4NENcdURGRkFcdUQ4NTNcdURDOUZcdTZBMUFcdUQ4NERcdURFQURcdUQ4NUJcdURDQjdcdTg0M0VcdTQ0REZcdTQ0Q0VcIl0sXG5bXCI5ODQwXCIsXCJcdUQ4NUJcdUREMjZcdUQ4NUJcdURENTFcdUQ4NUJcdURDODJcdUQ4NUJcdURGREVcdTZGMTdcdUQ4NUNcdUREMDlcdTgzM0RcdUQ4NDVcdURGM0FcdTgzRURcdUQ4NUJcdURDODBcdUQ4NUNcdURDNTNcdUQ4NDVcdURGREJcdTU5ODlcdTVBODJcdUQ4NDVcdURGQjNcdTVBNjFcdTVBNzFcdUQ4NDZcdUREMDVcdUQ4NTBcdURERkNcdTM3MkRcdTU5RUZcdUQ4NDVcdURGM0NcdTM2QzdcdTcxOEVcdTkzOTBcdTY2OUFcdUQ4NTBcdURFQTVcdTVBNkVcdTVBMkJcdUQ4NTBcdURFOTNcdTZBMkJcdUQ4NEZcdURFRjlcdUQ4NURcdURGMzZcdUQ4NTFcdURDNUJcdUQ4NTBcdURFQ0FcdTcxMURcdUQ4NTBcdURFNTlcdUQ4NjJcdURERTFcdTRGQjBcdUQ4NUJcdUREMjhcdTVDQzJcdUQ4NTFcdURDQ0VcdUQ4NUZcdURFNERcdUQ4NTBcdURGQkRcdTZBMENcdUQ4NTBcdURFNTZcdUQ4NDRcdURGMDRcdTcwQTZcdTcxMzNcdUQ4NTBcdURGRTlcdTNEQTVcdTZDREZcdUQ4N0VcdURDMjVcdUQ4NTJcdURFNEZcdTdFNjVcdTU5RUJcdTVEMkZcdTNERjNcdTVGNUNcdUQ4NTJcdURFNURcdUQ4NDVcdURGREZcdTdEQTRcdTg0MjZcIl0sXG5bXCI5OGExXCIsXCJcdTU0ODVcdUQ4NEVcdURFRkFcdUQ4NENcdURGMDBcdUQ4NDBcdURFMTRcdTU3N0VcdUQ4NDJcdURDRDVcdUQ4NDFcdURFMTlcdTNGRTVcdUQ4NDdcdURGOUVcdUQ4NjhcdURFQjZcdTcwMDNcdUQ4NjRcdURENUJcdTVENzBcdTczOEZcdTdDRDNcdUQ4NjJcdURFNTlcdUQ4NjVcdURDMjBcdTRGQzhcdTdGRTdcdTcyQ0RcdTczMTBcdUQ4NUVcdURFRjRcdTczMzhcdTczMzlcdUQ4NTVcdURFRjZcdTczNDFcdTczNDhcdTNFQTlcdUQ4NUVcdURGMThcdTkwNkNcdTcxRjVcdUQ4NTJcdURDRjJcdTczRTFcdTgxRjZcdTNFQ0FcdTc3MENcdTNFRDFcdTZDQTJcdTU2RkRcdTc0MTlcdTc0MUVcdTc0MUZcdTNFRTJcdTNFRjBcdTNFRjRcdTNFRkFcdTc0RDNcdTNGMEVcdTNGNTNcdTc1NDJcdTc1NkRcdTc1NzJcdTc1OERcdTNGN0NcdTc1QzhcdTc1RENcdTNGQzBcdTc2NERcdTNGRDdcdTc2NzRcdTNGRENcdTc2N0FcdUQ4NTNcdURGNUNcdTcxODhcdTU2MjNcdTg5ODBcdTU4NjlcdTQwMURcdTc3NDNcdTQwMzlcdTY3NjFcdTQwNDVcdTM1REJcdTc3OThcdTQwNkFcdTQwNkZcdTVDNUVcdTc3QkVcdTc3Q0JcdTU4RjJcdTc4MThcdTcwQjlcdTc4MUNcdTQwQThcdTc4MzlcdTc4NDdcdTc4NTFcdTc4NjZcdTg0NDhcdUQ4NTVcdUREMzVcdTc5MzNcdTY4MDNcdTc5MzJcdTQxMDNcIl0sXG5bXCI5OTQwXCIsXCJcdTQxMDlcdTc5OTFcdTc5OTlcdThGQkJcdTdBMDZcdThGQkNcdTQxNjdcdTdBOTFcdTQxQjJcdTdBQkNcdTgyNzlcdTQxQzRcdTdBQ0ZcdTdBREJcdTQxQ0ZcdTRFMjFcdTdCNjJcdTdCNkNcdTdCN0JcdTdDMTJcdTdDMUJcdTQyNjBcdTQyN0FcdTdDN0JcdTdDOUNcdTQyOENcdTdDQjhcdTQyOTRcdTdDRURcdThGOTNcdTcwQzBcdUQ4NDNcdURDQ0ZcdTdEQ0ZcdTdERDRcdTdERDBcdTdERkRcdTdGQUVcdTdGQjRcdTcyOUZcdTQzOTdcdTgwMjBcdTgwMjVcdTdCMzlcdTgwMkVcdTgwMzFcdTgwNTRcdTNEQ0NcdTU3QjRcdTcwQTBcdTgwQjdcdTgwRTlcdTQzRURcdTgxMENcdTczMkFcdTgxMEVcdTgxMTJcdTc1NjBcdTgxMTRcdTQ0MDFcdTNCMzlcdTgxNTZcdTgxNTlcdTgxNUFcIl0sXG5bXCI5OWExXCIsXCJcdTQ0MTNcdTU4M0FcdTgxN0NcdTgxODRcdTQ0MjVcdTgxOTNcdTQ0MkRcdTgxQTVcdTU3RUZcdTgxQzFcdTgxRTRcdTgyNTRcdTQ0OEZcdTgyQTZcdTgyNzZcdTgyQ0FcdTgyRDhcdTgyRkZcdTQ0QjBcdTgzNTdcdTk2NjlcdTY5OEFcdTg0MDVcdTcwRjVcdTg0NjRcdTYwRTNcdTg0ODhcdTQ1MDRcdTg0QkVcdTg0RTFcdTg0RjhcdTg1MTBcdTg1MzhcdTg1NTJcdTQ1M0JcdTg1NkZcdTg1NzBcdTg1RTBcdTQ1NzdcdTg2NzJcdTg2OTJcdTg2QjJcdTg2RUZcdTk2NDVcdTg3OEJcdTQ2MDZcdTQ2MTdcdTg4QUVcdTg4RkZcdTg5MjRcdTg5NDdcdTg5OTFcdUQ4NUVcdURENjdcdThBMjlcdThBMzhcdThBOTRcdThBQjRcdThDNTFcdThDRDRcdThDRjJcdThEMUNcdTQ3OThcdTU4NUZcdThEQzNcdTQ3RURcdTRFRUVcdThFM0FcdTU1RDhcdTU3NTRcdThFNzFcdTU1RjVcdThFQjBcdTQ4MzdcdThFQ0VcdThFRTJcdThFRTRcdThFRURcdThFRjJcdThGQjdcdThGQzFcdThGQ0FcdThGQ0NcdTkwMzNcdTk5QzRcdTQ4QURcdTk4RTBcdTkyMTNcdTQ5MUVcdTkyMjhcdTkyNThcdTkyNkJcdTkyQjFcdTkyQUVcdTkyQkZcIl0sXG5bXCI5YTQwXCIsXCJcdTkyRTNcdTkyRUJcdTkyRjNcdTkyRjRcdTkyRkRcdTkzNDNcdTkzODRcdTkzQURcdTQ5NDVcdTQ5NTFcdTlFQkZcdTk0MTdcdTUzMDFcdTk0MURcdTk0MkRcdTk0M0VcdTQ5NkFcdTk0NTRcdTk0NzlcdTk1MkRcdTk1QTJcdTQ5QTdcdTk1RjRcdTk2MzNcdTQ5RTVcdTY3QTBcdTRBMjRcdTk3NDBcdTRBMzVcdTk3QjJcdTk3QzJcdTU2NTRcdTRBRTRcdTYwRThcdTk4QjlcdTRCMTlcdTk4RjFcdTU4NDRcdTk5MEVcdTk5MTlcdTUxQjRcdTk5MUNcdTk5MzdcdTk5NDJcdTk5NURcdTk5NjJcdTRCNzBcdTk5QzVcdTRCOURcdTlBM0NcdTlCMEZcdTdBODNcdTlCNjlcdTlCODFcdTlCRERcdTlCRjFcdTlCRjRcdTRDNkRcdTlDMjBcdTM3NkZcdUQ4NDZcdURGQzJcdTlENDlcdTlDM0FcIl0sXG5bXCI5YWExXCIsXCJcdTlFRkVcdTU2NTBcdTlEOTNcdTlEQkRcdTlEQzBcdTlERkNcdTk0RjZcdThGQjZcdTlFN0JcdTlFQUNcdTlFQjFcdTlFQkRcdTlFQzZcdTk0RENcdTlFRTJcdTlFRjFcdTlFRjhcdTdBQzhcdTlGNDRcdUQ4NDBcdURDOTRcdUQ4NDBcdURFQjdcdUQ4NDBcdURGQTBcdTY5MUFcdTk0QzNcdTU5QUNcdUQ4NDFcdURDRDdcdTU4NDBcdTk0QzFcdTM3QjlcdUQ4NDFcdURERDVcdUQ4NDFcdURFMTVcdUQ4NDFcdURFNzZcdUQ4NDVcdURFQkFcdTU3NTdcdTcxNzNcdUQ4NDJcdURFQzJcdUQ4NDJcdURFQ0RcdUQ4NDJcdURGQkZcdTU0NkFcdUQ4N0VcdURDM0JcdUQ4NDJcdURGQ0JcdTU0OUVcdUQ4NDJcdURGRkJcdUQ4NDNcdURDM0JcdUQ4NDNcdURDNTNcdUQ4NDNcdURDNjVcdUQ4NDNcdURDN0NcdTYwRTdcdUQ4NDNcdURDOERcdTU2N0FcdUQ4NDNcdURDQjVcdUQ4NDNcdURDRERcdUQ4NDNcdURDRURcdUQ4NDNcdURENkZcdUQ4NDNcdUREQjJcdUQ4NDNcdUREQzhcdTY5NTVcdTlDMkZcdTg3QTVcdUQ4NDNcdURFMDRcdUQ4NDNcdURFMEVcdUQ4NDNcdURFRDdcdUQ4NDNcdURGOTBcdUQ4NDNcdURGMkRcdUQ4NDNcdURFNzNcdTVDMjBcdUQ4NDNcdURGQkNcdTVFMEJcdUQ4NDRcdURDNUNcdUQ4NDRcdURDNEZcdUQ4NDRcdURDNzZcdTY3MUVcdUQ4NDRcdURDN0JcdUQ4NDRcdURDODhcdUQ4NDRcdURDOTZcdTM2NDdcdUQ4NDRcdURDQkZcdUQ4NDRcdURDRDNcdUQ4NDRcdUREMkZcdUQ4NDRcdUREM0JcdTUzNjRcdTg0QURcdUQ4NDRcdURFRTNcdUQ4NDRcdURGNzVcdUQ4NDRcdURGMzZcdThCODFcdUQ4NDVcdURENzdcdUQ4NDVcdURFMTlcdUQ4NDVcdURGQzNcdUQ4NDVcdURGQzdcdTRFNzhcdTcwQkJcdUQ4NDZcdURDMkRcdUQ4NDZcdURENkFcIl0sXG5bXCI5YjQwXCIsXCJcdUQ4NDZcdURFMkRcdUQ4NDZcdURFNDVcdUQ4NDdcdURDMkFcdUQ4NDdcdURDNzBcdUQ4NDdcdURDQUNcdUQ4NDdcdURFQzhcdTYyQzNcdUQ4NDdcdURFRDVcdUQ4NDdcdURGMTVcdTcxOThcdTY4NTVcdUQ4NDhcdURDNDVcdTY5RTlcdTM2QzhcdUQ4NDhcdURFN0NcdUQ4NDhcdURGRDdcdUQ4NDhcdURGRkFcdUQ4NDlcdURGMkFcdUQ4NEFcdURDNzFcdUQ4NEFcdURENEZcdTgyRkRcdUQ4NEFcdURENjdcdUQ4NEFcdUREOTNcdUQ4NEFcdURFRDVcdTg5QTVcdUQ4NEFcdURFRThcdThGQTBcdUQ4NEFcdURGMEVcdTk3QjhcdUQ4NEFcdURGM0ZcdTk4NDdcdTlBQkRcdUQ4NEJcdURDNENcIl0sXG5bXCI5YjYyXCIsXCJcdUQ4NEJcdURDODhcdUQ4NEJcdURDQjdcdUQ4NTZcdURGRThcdUQ4NEJcdUREMDhcdUQ4NEJcdUREMTJcdUQ4NEJcdUREQjdcdUQ4NEJcdUREOTVcdUQ4NEJcdURFNDJcdUQ4NEJcdURGNzRcdUQ4NEJcdURGQ0NcdUQ4NENcdURDMzNcdUQ4NENcdURDNjZcdUQ4NENcdURGMUZcdUQ4NENcdURGREVcdTVGQjFcdTY2NDhcdTY2QkZcdUQ4NUVcdURFNzlcdUQ4NERcdURENjdcdUQ4NERcdURERjNcdTcyMDFcdUQ4NTJcdUREQkFcdTc3RDdcdUQ4NERcdURFMUFcdUQ4NERcdURGMTZcdTdFODdcdUQ4NDBcdURGNDZcdTU4QjVcdTY3MEVcIl0sXG5bXCI5YmExXCIsXCJcdTY5MThcdUQ4NEVcdURFQTdcdUQ4NURcdURFNTdcdUQ4NTdcdURGRTJcdUQ4NEZcdURFMTFcdUQ4NEZcdURFQjlcdUQ4NURcdURERkVcdUQ4NDhcdURDOUFcdTQ4RDBcdTRBQjhcdUQ4NTBcdUREMTlcdUQ4NjJcdURFOUFcdUQ4NTBcdURFRUVcdUQ4NTBcdURGMERcdUQ4NTBcdURDM0JcdUQ4NTBcdURGMzRcdUQ4NTBcdURGOTZcdUQ4NTJcdURFNDVcdUQ4NDFcdUREQ0FcdTUxRDJcdUQ4NDFcdURFMTFcdTU5OUZcdUQ4NDdcdURFQThcdTNCQkVcdUQ4NEZcdURDRkZcdUQ4NTFcdURDMDRcdUQ4NTFcdURDRDZcdTU3ODhcdUQ4NTFcdURFNzRcdTM5OUJcdUQ4NTFcdURGMkZcdUQ4NjFcdURERThcdUQ4NjZcdUREQzlcdTM3NjJcdUQ4NDhcdUREQzNcdThCNUVcdUQ4NjJcdURGNEVcdTk5RDZcdUQ4NTJcdURDMTJcdUQ4NTJcdURDRkJcdUQ4NTJcdURFMTVcdTcyMDlcdUQ4NTJcdURFQzBcdUQ4NDNcdURDNzhcdTU5NjVcdUQ4NTNcdURFQTVcdUQ4NTNcdURGODZcdUQ4NDFcdURGNzlcdThFREFcdUQ4NTRcdURDMkNcdTUyOEZcdTU3M0ZcdTcxNzFcdUQ4NTRcdURFOTlcdUQ4NTVcdURDMTlcdUQ4NEZcdURGNEFcdUQ4NTJcdURFQTdcdTU1QkNcdUQ4NTVcdURDNDZcdUQ4NTVcdURDNkVcdUQ4NUFcdURGNTJcdTkxRDRcdTM0NzNcdUQ4NTVcdUREM0ZcdUQ4NURcdURFMzJcdUQ4NTVcdURENUVcdTQ3MThcdUQ4NTVcdURENjJcdUQ4NTVcdURENjZcdUQ4NTVcdURGQzdcdUQ4NTJcdUREM0ZcdUQ4NTZcdURDNURcdTUwNjZcdTM0RkJcdUQ4NENcdURGQ0NcdTYwREVcdUQ4NTZcdUREMDNcdTQ3N0NcdUQ4NjJcdURENDhcdUQ4NTZcdURFQUVcdUQ4NTZcdURGODlcdUQ4NTdcdURDMDZcdUQ4NDdcdUREOTBcdTU3QTFcdTcxNTFcdTZGQjZcdUQ4NThcdUREMDJcdUQ4NUZcdURDMTJcdTkwNTZcdUQ4NThcdUREQjJcdUQ4NTNcdURGOUFcdThCNjJcdUQ4NTlcdURDMDJcdUQ4NTlcdURDNEFcIl0sXG5bXCI5YzQwXCIsXCJcdTVENUJcdUQ4NUFcdURGRjdcdThGMzZcdUQ4NTlcdURDODRcdUQ4NDZcdUREMUNcdThBRUFcdUQ4NTJcdURERjZcdUQ4NTlcdURDODhcdUQ4NEZcdURGRUZcdUQ4NTlcdUREMTJcdTRCQzBcdUQ4NTlcdUREQkZcdUQ4NTlcdURFQjVcdUQ4NDlcdURGMUJcdTk0NjVcdUQ4NTVcdURGRTFcdTYxOTVcdTVBMjdcdUQ4N0VcdURDQ0RcdTRGQkJcdTU2QjlcdUQ4NTFcdUREMjFcdUQ4NTlcdURFRkNcdTRFNkFcdUQ4NTJcdUREMzRcdTk2NTZcdTZEOEZcdUQ4NUJcdURDQkRcdTM2MThcdTg5NzdcdUQ4NTlcdURGOTlcdUQ4NUFcdURDNkVcdUQ4NTlcdURDMTFcdUQ4NUFcdURDNUVcdTcxREZcdUQ4NUFcdURDQzdcdTdCNDJcdUQ4NjRcdURDQzBcdUQ4NDJcdURFMTFcdUQ4NUFcdUREMjZcdTkxMDRcdUQ4NUFcdUREMzlcdTdBNDVcdTlERjBcdUQ4NUFcdURERkFcdTlBMjZcdUQ4NUFcdURFMkRcdTM2NUZcdUQ4NTlcdURDNjlcdUQ4NDBcdURDMjFcdTc5ODNcdUQ4NUFcdURFMzRcdUQ4NUFcdURGNUJcdTVEMkNcdUQ4NERcdUREMTlcdTgzQ0ZcdUQ4NUFcdURGOURcdTQ2RDBcdUQ4NUJcdURDQTRcdTc1M0JcdTg4NjVcdUQ4NUJcdUREQUVcdTU4QjZcIl0sXG5bXCI5Y2ExXCIsXCJcdTM3MUNcdUQ4NDlcdUREOERcdUQ4NUNcdURDNEJcdUQ4NUNcdUREQ0RcdTNDNTRcdUQ4NUNcdURFODBcdUQ4NUNcdURFODVcdTkyODFcdUQ4NDhcdUREN0FcdUQ4NUNcdURFOEJcdTkzMzBcdUQ4NUNcdURFRTZcdUQ4NTJcdURERDBcdTZDMzlcdTk0OUZcdUQ4NURcdURDNTBcdUQ4NDNcdURFRjhcdTg4MjdcdTg4RjVcdUQ4NEFcdUREMjZcdUQ4NjFcdURDNzNcdUQ4NDVcdURGQjFcdTZFQjhcdUQ4NTJcdURFMkFcdUQ4NDZcdURDMjBcdTM5QTRcdTM2QjlcdTVDMTBcdTc5RTNcdTQ1M0ZcdTY2QjZcdUQ4NjdcdURDQURcdUQ4NjZcdURDQTRcdTg5NDNcdUQ4NURcdURGQ0NcdUQ4NUVcdURDNThcdTU2RDZcdTQwREZcdUQ4NDVcdURFMEFcdTM5QTFcdUQ4NERcdURGMkZcdUQ4NjBcdURDRThcdUQ4NDRcdURGQzVcdTcxQURcdTgzNjZcdUQ4NUVcdURERERcdUQ4NjRcdUREQThcdTVBNjdcdTRDQjdcdUQ4NUNcdURDQUZcdUQ4NjJcdUREQUJcdUQ4NUVcdURERkRcdUQ4NUVcdURFMEFcdUQ4NUVcdURGMEJcdUQ4NUZcdURENjZcdUQ4NTBcdUREN0FcdTdCNDNcdTc5N0VcdUQ4NjBcdURDMDlcdTZGQjVcdUQ4NjhcdURFREZcdTZBMDNcdUQ4NjBcdURGMThcdTUzQTJcdUQ4NUJcdURFMDdcdTkzQkZcdTY4MzZcdTk3NURcdUQ4NjBcdURENkZcdUQ4NjBcdURDMjNcdUQ4NUFcdUREQjVcdUQ4NDRcdURGRURcdUQ4NENcdURFMkZcdUQ4NjBcdURDNDhcdTVEODVcdUQ4NjNcdURDMzBcdUQ4NjBcdURDODNcdTU3MTVcdTk4MjNcdUQ4NjJcdURENDlcdTVEQUJcdUQ4NTJcdUREODhcdTY1QkVcdTY5RDVcdTUzRDJcdUQ4NTJcdURFQTVcdUQ4NEZcdURGODFcdTNDMTFcdTY3MzZcdUQ4NjBcdURDOTBcdUQ4NjBcdURDRjRcdUQ4NjBcdUREMkVcdUQ4NDdcdURGQTFcdUQ4NjBcdURENEZcIl0sXG5bXCI5ZDQwXCIsXCJcdUQ4NjBcdUREODlcdUQ4NjBcdUREQUZcdUQ4NjBcdURFMUFcdUQ4NjBcdURGMDZcdUQ4NjBcdURGMkZcdUQ4NjBcdURGOEFcdTM1Q0FcdUQ4NjFcdURDNjhcdUQ4NjFcdURFQUFcdTQ4RkFcdTYzRTZcdUQ4NjJcdURENTZcdTc4MDhcdTkyNTVcdUQ4NjJcdUREQjhcdTQzRjJcdUQ4NjJcdURERTdcdTQzREZcdUQ4NjJcdURERThcdUQ4NjJcdURGNDZcdUQ4NjJcdURGRDRcdTU5RjhcdUQ4NjNcdURDMDlcdThGMEJcdUQ4NjNcdURGQzVcdUQ4NjRcdURDRUNcdTdCNTFcdUQ4NjRcdUREMTBcdUQ4NjRcdUREM0NcdTNERjdcdUQ4NjRcdURENUVcdUQ4NTJcdURFQ0FcdThGRDBcdTcyOEZcdTU2OEJcdUQ4NjVcdURDRTdcdUQ4NjVcdURERTlcdUQ4NjVcdUREQjBcdUQ4NjVcdUREQjhcdUQ4NjVcdURGMzJcdUQ4NjZcdURDRDFcdUQ4NjZcdURENDlcdUQ4NjZcdURENkFcdUQ4NjZcdUREQzNcdUQ4NjZcdURFMjhcdUQ4NjZcdURGMEVcdUQ4NjdcdURENUFcdUQ4NjdcdUREOUJcdTdFOUZcdUQ4NjdcdURFRjhcdUQ4NjdcdURGMjNcdTRDQTRcdTk1NDdcdUQ4NjhcdURFOTNcdTcxQTJcdUQ4NjhcdURFRkZcdTREOTFcdTkwMTJcdUQ4NjlcdUREQ0JcdTREOUNcdUQ4NDNcdURDOUNcdThGQkVcdTU1QzFcIl0sXG5bXCI5ZGExXCIsXCJcdThGQkFcdUQ4NDlcdURDQjBcdThGQjlcdUQ4NTJcdURFOTNcdTQ1MDlcdTdFN0ZcdTZGNTZcdTZBQjFcdTRFRUFcdTM0RTRcdUQ4NjJcdURGMkNcdUQ4NUVcdURDOURcdTM3M0FcdThFODBcdUQ4NDVcdURGRjVcdUQ4NjBcdURDMjRcdUQ4NjJcdURGNkNcdUQ4NjJcdURGOTlcdUQ4NUVcdURFM0VcdUQ4NTlcdURFQUZcdTNERUJcdUQ4NURcdURFNTVcdUQ4NEZcdURDQjdcdUQ4NTVcdURFMzVcdUQ4NTZcdURENTZcdTRFOUFcdUQ4NTdcdURFODFcdUQ4NThcdURFNThcdTU2QkZcdUQ4NDNcdURFNkRcdThFMEVcdTVCNkRcdUQ4NEZcdURFODhcdUQ4NTNcdURDOUVcdTYzREVcdTYyRDBcdUQ4NDVcdURGRjZcdUQ4NDZcdURDN0JcdTY1MzBcdTU2MkRcdUQ4NTdcdURDNEFcdTU0MUFcdUQ4NTRcdURGMTFcdTNEQzZcdUQ4NjdcdUREOThcdTRDN0RcdTU2MjJcdTU2MUVcdTdGNDlcdUQ4NTdcdURFRDhcdTU5NzVcdUQ4NEZcdURENDBcdTg3NzBcdTRFMUNcdUQ4NDNcdURGRUFcdUQ4NDNcdURENDlcdUQ4NERcdURFQkFcdTgxMTdcdTlENUVcdThEMThcdTc2M0JcdTlDNDVcdTc2NEVcdTc3QjlcdTkzNDVcdTU0MzJcdTgxNDhcdTgyRjdcdTU2MjVcdTgxMzJcdTg0MThcdTgwQkRcdTU1RUFcdTc5NjJcdTU2NDNcdTU0MTZcdUQ4NDNcdURFOURcdTM1Q0VcdTU2MDVcdTU1RjFcdTY2RjFcdUQ4NjBcdURFRTJcdTM2MkRcdTc1MzRcdTU1RjBcdTU1QkFcdTU0OTdcdTU1NzJcdUQ4NDNcdURDNDFcdUQ4NDNcdURDOTZcdTVFRDBcdUQ4NTRcdURENDhcdUQ4NDNcdURFNzZcdUQ4NEJcdURDNjJcIl0sXG5bXCI5ZTQwXCIsXCJcdUQ4NDNcdURFQTJcdTlFQUJcdTdENUFcdTU1REVcdUQ4NDRcdURDNzVcdTYyOURcdTk3NkRcdTU0OTRcdThDQ0RcdTcxRjZcdTkxNzZcdTYzRkNcdTYzQjlcdTYzRkVcdTU1NjlcdUQ4NEFcdURGNDNcdTlDNzJcdUQ4NEJcdURFQjNcdTUxOUFcdTM0REZcdUQ4NDNcdUREQTdcdTUxQTdcdTU0NERcdTU1MUVcdTU1MTNcdTc2NjZcdThFMkRcdUQ4NUFcdURDOEFcdTc1QjFcdTgwQjZcdTg4MDRcdTg3ODZcdTg4QzdcdTgxQjZcdTg0MUNcdUQ4NDRcdURDQzFcdTQ0RUNcdTczMDRcdUQ4NTFcdURGMDZcdTVCOTBcdTgzMEJcdUQ4NUFcdURDOTNcdTU2N0JcdUQ4NDlcdURFRjRcdUQ4NUZcdUREMkZcdUQ4NTBcdUREQTNcdUQ4NUZcdURENzNcdUQ4NUJcdURFRDBcdUQ4NUNcdURFQjZcdTkxNzBcdUQ4NDRcdURERDlcdTkyMDhcdUQ4NEZcdURDRkNcdUQ4NjlcdURFQTlcdUQ4NDNcdURFQUNcdUQ4NDNcdURFRjlcdTcyNjZcdUQ4NDdcdURDQTJcdTQ3NEVcdUQ4NTNcdURGQzJcdUQ4NUZcdURGRjlcdUQ4NDNcdURGRUJcdTQwRkFcIl0sXG5bXCI5ZWExXCIsXCJcdTlDNURcdTY1MUZcdUQ4NEJcdUREQTBcdTQ4RjNcdUQ4NTFcdURGRTBcdUQ4NjdcdUREN0NcdUQ4NDNcdURGRUNcdUQ4NDNcdURFMEFcdTYwNjJcdUQ4NURcdUREQTNcdUQ4NDNcdURGRURcIl0sXG5bXCI5ZWFkXCIsXCJcdUQ4NThcdURDNDhcdUQ4NDRcdUREODdcdTcxQTNcdTdFOEVcdTlENTBcdTRFMUFcdTRFMDRcdTM1NzdcdTVCMERcdTZDQjJcdTUzNjdcdTM2QUNcdTM5RENcdTUzN0RcdTM2QTVcdUQ4NTFcdURFMThcdTU4OUFcdUQ4NTJcdURGNkVcdTgyMkRcdTU0NEJcdTU3QUFcdUQ4NTZcdURFOTVcdUQ4NDJcdURENzlcIl0sXG5bXCI5ZWM1XCIsXCJcdTNBNTJcdUQ4NDlcdURDNjVcdTczNzRcdUQ4NjdcdURFQUNcdTREMDlcdTlCRURcdUQ4NEZcdURDRkVcdUQ4NjdcdURGMzBcdTRDNUJcdUQ4NTNcdURGQTlcdUQ4NjVcdUREOUVcdUQ4NjdcdURGREVcdTg0NUNcdUQ4NEZcdUREQjZcdUQ4NUNcdURFQjJcdUQ4NTlcdURGQjNcdUQ4NERcdURGMjBcdTYzMkVcdTdEMjVcdUQ4NEZcdURFRjdcdUQ4NEZcdURFMkNcdTNBMkFcdTkwMDhcdTUyQ0NcdTNFNzRcdTM2N0FcdTQ1RTlcdUQ4NDFcdURDOEVcdTc2NDBcdTVBRjBcdUQ4NDNcdURFQjZcdTc4N0FcdUQ4NUZcdURGMkVcdTU4QTdcdTQwQkZcdTU2N0NcdTlCOEJcdTVENzRcdTc2NTRcdUQ4NjlcdURDMzRcdTlFODVcdTRDRTFcdTc1RjlcdTM3RkJcdTYxMTlcdUQ4NENcdURDREFcdUQ4NTBcdURGRjJcIl0sXG5bXCI5ZWY1XCIsXCJcdTU2NURcdUQ4NDRcdURFQTlcdTU3QTdcdUQ4NTJcdURENjNcdUQ4NjdcdURFMDZcdTUyMzRcdUQ4NUNcdURDQUVcdTM1QURcdTZDNEFcdTlEN0NcIl0sXG5bXCI5ZjQwXCIsXCJcdTdDNTZcdTlCMzlcdTU3REVcdUQ4NDVcdURGNkNcdTVDNTNcdTY0RDNcdUQ4NjVcdURDRDBcdUQ4NThcdURGMzVcdUQ4NUNcdURENjRcdTg2QURcdUQ4NDNcdUREMjhcdUQ4NUJcdUREMjJcdUQ4NTJcdURFRTJcdUQ4NDNcdURENzFcIl0sXG5bXCI5ZjRmXCIsXCJcdTUxRkVcdUQ4NDdcdURGMEZcdTVEOEVcdTk3MDNcdUQ4NDdcdURERDFcdTlFODFcdTkwNENcdTdCMUZcdTlCMDJcdTVDRDFcdTdCQTNcdTYyNjhcdTYzMzVcdTlBRkZcdTdCQ0ZcdTlCMkFcdTdDN0VcdTlCMkVcdTdDNDJcdTdDODZcdTlDMTVcdTdCRkNcdTlCMDlcdTlGMTdcdTlDMUJcdUQ4NTJcdUREM0VcdTlGNUFcdTU1NzNcdTVCQzNcdTRGRkRcdTlFOThcdTRGRjJcdTUyNjBcdTNFMDZcdTUyRDFcdTU3NjdcdTUwNTZcdTU5QjdcdTVFMTJcdTk3QzhcdTlEQUJcdThGNUNcdTU0NjlcdTk3QjRcdTk5NDBcdTk3QkFcdTUzMkNcdTYxMzBcIl0sXG5bXCI5ZmExXCIsXCJcdTY5MkNcdTUzREFcdTlDMEFcdTlEMDJcdTRDM0JcdTk2NDFcdTY5ODBcdTUwQTZcdTc1NDZcdUQ4NDVcdURGNkRcdTk5REFcdTUyNzNcIl0sXG5bXCI5ZmFlXCIsXCJcdTkxNTlcdTk2ODFcdTkxNUNcIl0sXG5bXCI5ZmIyXCIsXCJcdTkxNTFcdUQ4NjNcdURFOTdcdTYzN0ZcdUQ4NUJcdUREMjNcdTZBQ0FcdTU2MTFcdTkxOEVcdTc1N0FcdTYyODVcdUQ4NDBcdURGRkNcdTczNEZcdTdDNzBcdUQ4NTdcdURDMjFcdUQ4NEZcdURDRkRcIl0sXG5bXCI5ZmMxXCIsXCJcdUQ4NTJcdUREMTlcdTc2RDZcdTlCOURcdTRFMkFcdUQ4NDNcdURDRDRcdTgzQkVcdTg4NDJcIl0sXG5bXCI5ZmM5XCIsXCJcdTVDNEFcdTY5QzBcdTUwRURcdTU3N0FcdTUyMUZcdTVERjVcdTRFQ0VcdTZDMzFcdUQ4NDBcdURERjJcdTRGMzlcdTU0OUNcdTU0REFcdTUyOUFcdThEODJcdTM1RkVcdTVGMENcdTM1RjNcIl0sXG5bXCI5ZmRiXCIsXCJcdTZCNTJcdTkxN0NcdTlGQTVcdTlCOTdcdTk4MkVcdTk4QjRcdTlBQkFcdTlFQThcdTlFODRcdTcxN0FcdTdCMTRcIl0sXG5bXCI5ZmU3XCIsXCJcdTZCRkFcdTg4MThcdTdGNzhcIl0sXG5bXCI5ZmViXCIsXCJcdTU2MjBcdUQ4NjlcdURFNEFcdThFNzdcdTlGNTNcIl0sXG5bXCI5ZmYwXCIsXCJcdThERDRcdThFNEZcdTlFMUNcdThFMDFcdTYyODJcdUQ4NjBcdURGN0RcdThFMjhcdThFNzVcdTdBRDNcdUQ4NTJcdURFNzdcdTdBM0VcdTc4RDhcdTZDRUFcdThBNjdcdTc2MDdcIl0sXG5bXCJhMDQwXCIsXCJcdUQ4NjJcdURFNUFcdTlGMjZcdTZDQ0VcdTg3RDZcdTc1QzNcdUQ4NjhcdURFQjJcdTc4NTNcdUQ4N0VcdURDNDBcdThEMENcdTcyRTJcdTczNzFcdThCMkRcdTczMDJcdTc0RjFcdThDRUJcdUQ4NTJcdURFQkJcdTg2MkZcdTVGQkFcdTg4QTBcdTQ0QjdcIl0sXG5bXCJhMDU1XCIsXCJcdUQ4NDZcdURDM0JcdUQ4NUJcdURFMDVcIl0sXG5bXCJhMDU4XCIsXCJcdThBN0VcdUQ4NDlcdUREMUJcIl0sXG5bXCJhMDViXCIsXCJcdTYwRkRcdTc2NjdcdTlBRDdcdTlENDRcdTkzNkVcdTlCOEZcdTg3RjVcIl0sXG5bXCJhMDYzXCIsXCJcdTg4MEZcdThDRjdcdTczMkNcdTk3MjFcdTlCQjBcdTM1RDZcdTcyQjJcdTRDMDdcdTdDNTFcdTk5NEFcdUQ4NThcdURENTlcdTYxNTlcdTRDMDRcdTlFOTZcdTYxN0RcIl0sXG5bXCJhMDczXCIsXCJcdTU3NUZcdTYxNkZcdTYyQTZcdTYyMzlcdTYyQ0VcdTNBNUNcdTYxRTJcdTUzQUFcdUQ4NENcdURGRjVcdTYzNjRcdTY4MDJcdTM1RDJcIl0sXG5bXCJhMGExXCIsXCJcdTVENTdcdUQ4NjJcdURGQzJcdThGREFcdUQ4NjNcdURFMzlcIl0sXG5bXCJhMGE2XCIsXCJcdTUwRDlcdUQ4NDdcdURENDZcdTc5MDZcdTUzMzJcdTk2MzhcdUQ4NDNcdURGM0JcdTQwNjVcIl0sXG5bXCJhMGFlXCIsXCJcdTc3RkVcIl0sXG5bXCJhMGIwXCIsXCJcdTdDQzJcdUQ4NTdcdURGMUFcdTdDREFcdTdBMkRcdTgwNjZcdTgwNjNcdTdENERcdTc1MDVcdTc0RjJcdTg5OTRcdTgyMUFcdTY3MENcdTgwNjJcdUQ4NURcdURDODZcdTgwNUJcdTc0RjBcdTgxMDNcdTc3MjRcdTg5ODlcdUQ4NTlcdURGQ0NcdTc1NTNcdUQ4NUJcdURFRDFcdTg3QTlcdTg3Q0VcdTgxQzhcdTg3OENcdThBNDlcdThDQURcdThCNDNcdTc3MkJcdTc0RjhcdTg0REFcdTM2MzVcdTY5QjJcdThEQTZcIl0sXG5bXCJhMGQ0XCIsXCJcdTg5QTlcdTc0NjhcdTZEQjlcdTg3QzFcdUQ4NTBcdURDMTFcdTc0RTdcdTNEREJcdTcxNzZcdTYwQTRcdTYxOUNcdTNDRDFcdTcxNjJcdTYwNzdcIl0sXG5bXCJhMGUyXCIsXCJcdTdGNzFcdUQ4NjJcdURGMkRcdTcyNTBcdTYwRTlcdTRCN0VcdTUyMjBcdTNDMThcdUQ4NEZcdURDQzdcdUQ4NTdcdURFRDdcdUQ4NURcdURFNTZcdUQ4NTVcdUREMzFcdUQ4NDZcdURENDRcdUQ4NDRcdURFRkVcdUQ4NjZcdUREMDNcdUQ4NUJcdURERENcdUQ4NUNcdURDQURcdTVDQzFcdUQ4NThcdUREQURcdUQ4NjJcdURFMEZcdUQ4NERcdURFNzdcdUQ4NDBcdURDRUVcdUQ4NUFcdURDNDZcdUQ4NTNcdURGMEVcdTQ1NjJcdTVCMUZcdUQ4NThcdURGNENcdTlGNTBcdTlFQTZcdUQ4NThcdURFNkJcIl0sXG5bXCJhM2MwXCIsXCJcdTI0MDBcIiwzMSxcIlx1MjQyMVwiXSxcbltcImM2YTFcIixcIlx1MjQ2MFwiLDksXCJcdTI0NzRcIiw5LFwiXHUyMTcwXCIsOSxcIlx1NEUzNlx1NEUzRlx1NEU4NVx1NEVBMFx1NTE4Mlx1NTE5Nlx1NTFBQlx1NTJGOVx1NTMzOFx1NTM2OVx1NTNCNlx1NTkwQVx1NUI4MFx1NUREQlx1MkYzM1x1NUU3Rlx1NUVGNFx1NUY1MFx1NUY2MVx1NjUzNFx1NjVFMFx1NzU5Mlx1NzY3Nlx1OEZCNVx1OTZCNlx1MDBBOFx1MDJDNlx1MzBGRFx1MzBGRVx1MzA5RFx1MzA5RVx1MzAwM1x1NEVERFx1MzAwNVx1MzAwNlx1MzAwN1x1MzBGQ1x1RkYzQlx1RkYzRFx1MjczRFx1MzA0MVwiLDIzXSxcbltcImM3NDBcIixcIlx1MzA1OVwiLDU4LFwiXHUzMEExXHUzMEEyXHUzMEEzXHUzMEE0XCJdLFxuW1wiYzdhMVwiLFwiXHUzMEE1XCIsODEsXCJcdTA0MTBcIiw1LFwiXHUwNDAxXHUwNDE2XCIsNF0sXG5bXCJjODQwXCIsXCJcdTA0MUJcIiwyNixcIlx1MDQ1MVx1MDQzNlwiLDI1LFwiXHUyMUU3XHUyMUI4XHUyMUI5XHUzMUNGXHVEODQwXHVEQ0NDXHU0RTVBXHVEODQwXHVEQzhBXHU1MjAyXHU0NDkxXCJdLFxuW1wiYzhhMVwiLFwiXHU5RkIwXHU1MTg4XHU5RkIxXHVEODVEXHVERTA3XCJdLFxuW1wiYzhjZFwiLFwiXHVGRkUyXHVGRkU0XHVGRjA3XHVGRjAyXHUzMjMxXHUyMTE2XHUyMTIxXHUzMDlCXHUzMDlDXHUyRTgwXHUyRTg0XHUyRTg2XHUyRTg3XHUyRTg4XHUyRThBXHUyRThDXHUyRThEXHUyRTk1XHUyRTlDXHUyRTlEXHUyRUE1XHUyRUE3XHUyRUFBXHUyRUFDXHUyRUFFXHUyRUI2XHUyRUJDXHUyRUJFXHUyRUM2XHUyRUNBXHUyRUNDXHUyRUNEXHUyRUNGXHUyRUQ2XHUyRUQ3XHUyRURFXHUyRUUzXCJdLFxuW1wiYzhmNVwiLFwiXHUwMjgzXHUwMjUwXHUwMjVCXHUwMjU0XHUwMjc1XHUwMTUzXHUwMEY4XHUwMTRCXHUwMjhBXHUwMjZBXCJdLFxuW1wiZjlmZVwiLFwiXHVGRkVEXCJdLFxuW1wiZmE0MFwiLFwiXHVEODQxXHVERDQ3XHU5MkRCXHVEODQxXHVERERGXHVEODRGXHVERkM1XHU4NTRDXHU0MkI1XHU3M0VGXHU1MUI1XHUzNjQ5XHVEODUyXHVERDQyXHVEODYyXHVEREU0XHU5MzQ0XHVEODQ2XHVERERCXHU4MkVFXHVEODRGXHVEQ0M4XHU3ODNDXHU2NzQ0XHU2MkRGXHVEODUyXHVERDMzXHVEODYyXHVEREFBXHVEODQwXHVERUEwXHVEODVBXHVERkIzXHVEODQ0XHVERjA1XHU0RkFCXHVEODQ5XHVEQ0VEXHU1MDA4XHVEODVCXHVERDI5XHVEODVFXHVERTg0XHVEODREXHVERTAwXHVEODUyXHVERUIxXHVEODQ5XHVERDEzXHU1MDI5XHVEODQwXHVERjdFXHU1RkE0XHVEODQwXHVERjgwXHVEODQwXHVERjQ3XHU2RURCXHVEODQxXHVEQzFGXHU1MDdEXHU1MTAxXHUzNDdBXHU1MTBFXHU5ODZDXHUzNzQzXHU4NDE2XHVEODUyXHVEREE0XHVEODQxXHVEQzg3XHU1MTYwXHVEODRDXHVERkI0XHU1MTZBXHVEODQyXHVERkZGXHVEODQ4XHVEQ0ZDXHVEODQwXHVERUU1XHVEODQ5XHVERDMwXHVEODQxXHVERDhFXHVEODRDXHVERTMzXHVEODQ2XHVERDgzXHU1QjgyXHU4NzdEXHVEODQxXHVEREIzXHVEODRGXHVEQzk5XHU1MUIyXHU1MUI4XCJdLFxuW1wiZmFhMVwiLFwiXHU5RDM0XHU1MUM5XHU1MUNGXHU1MUQxXHUzQ0RDXHU1MUQzXHVEODUyXHVERUE2XHU1MUIzXHU1MUUyXHU1MzQyXHU1MUVEXHU4M0NEXHU2OTNFXHVEODREXHVERjJEXHU1RjdCXHU1MjBCXHU1MjI2XHU1MjNDXHU1MkI1XHU1MjU3XHU1Mjk0XHU1MkI5XHU1MkM1XHU3QzE1XHU4NTQyXHU1MkUwXHU4NjBEXHVEODVBXHVERjEzXHU1MzA1XHVEODYyXHVERURFXHU1NTQ5XHU2RUQ5XHVEODRGXHVERjgwXHVEODQyXHVERDU0XHVEODRGXHVERkVDXHU1MzMzXHU1MzQ0XHVEODQyXHVERkUyXHU2Q0NCXHVEODQ1XHVERjI2XHU2ODFCXHU3M0Q1XHU2MDRBXHUzRUFBXHUzOENDXHVEODQ1XHVERUU4XHU3MUREXHU0NEEyXHU1MzZEXHU1Mzc0XHVEODYxXHVERUFCXHU1MzdFXHU1MzdGXHVEODQ1XHVERDk2XHVEODQ1XHVERTEzXHU3N0U2XHU1MzkzXHVEODYyXHVERTlCXHU1M0EwXHU1M0FCXHU1M0FFXHU3M0E3XHVEODU1XHVERjcyXHUzRjU5XHU3MzlDXHU1M0MxXHU1M0M1XHU2QzQ5XHU0RTQ5XHU1N0ZFXHU1M0Q5XHUzQUFCXHVEODQyXHVERjhGXHU1M0UwXHVEODRGXHVERkVCXHVEODRCXHVEREEzXHU1M0Y2XHVEODQzXHVEQzc3XHU1NDEzXHU3MDc5XHU1NTJCXHU2NjU3XHU2RDVCXHU1NDZEXHVEODVBXHVERjUzXHVEODQzXHVERDc0XHU1NTVEXHU1NDhGXHU1NEE0XHU0N0E2XHVEODQ1XHVERjBEXHVEODQzXHVERUREXHUzREI0XHVEODQzXHVERDREXCJdLFxuW1wiZmI0MFwiLFwiXHVEODYyXHVEREJDXHVEODQ5XHVERTk4XHU1NTQ3XHU0Q0VEXHU1NDJGXHU3NDE3XHU1NTg2XHU1NUE5XHU1NjA1XHVEODQ2XHVEQ0Q3XHVEODUwXHVEQzNBXHU0NTUyXHVEODUxXHVEQzM1XHU2NkIzXHVEODQ0XHVEQ0I0XHU1NjM3XHU2NkNEXHVEODRDXHVERThBXHU2NkE0XHU2NkFEXHU1NjREXHU1NjRGXHU3OEYxXHU1NkYxXHU5Nzg3XHU1M0ZFXHU1NzAwXHU1NkVGXHU1NkVEXHVEODYyXHVERjY2XHUzNjIzXHVEODQ0XHVERTRGXHU1NzQ2XHVEODUwXHVEREE1XHU2QzZFXHU3MDhCXHU1NzQyXHUzNkIxXHVEODVCXHVEQzdFXHU1N0U2XHVEODQ1XHVEQzE2XHU1ODAzXHVEODQ1XHVEQzU0XHVEODUwXHVERjYzXHU1ODI2XHVEODUyXHVERkY1XHU1ODVDXHU1OEFBXHUzNTYxXHU1OEUwXHU1OERDXHVEODQ0XHVERTNDXHU1OEZCXHU1QkZGXHU1NzQzXHVEODY4XHVERDUwXHVEODUwXHVERTc4XHU5M0QzXHUzNUExXHU1OTFGXHU2OEE2XHUzNkMzXHU2RTU5XCJdLFxuW1wiZmJhMVwiLFwiXHVEODQ1XHVERTNFXHU1QTI0XHU1NTUzXHVEODQ1XHVERTkyXHU4NTA1XHU1OUM5XHVEODQzXHVERDRFXHVEODVCXHVEQzgxXHVEODVCXHVERDJBXHVEODQ1XHVERkRDXHU1OUQ5XHVEODQ1XHVERkZCXHVEODQ1XHVERkIyXHVEODVCXHVEREE2XHU2RDcxXHVEODQ2XHVEQzI4XHVEODQ1XHVERUQ1XHU1OUY5XHVEODVCXHVERTQ1XHU1QUFCXHU1QTYzXHUzNkU2XHVEODUyXHVEREE5XHU1QTc3XHUzNzA4XHU1QTk2XHU3NDY1XHU1QUQzXHVEODVCXHVERkExXHVEODQ5XHVERDU0XHUzRDg1XHVEODQ2XHVERDExXHUzNzMyXHVEODQ1XHVERUI4XHU1RTgzXHU1MkQwXHU1Qjc2XHU2NTg4XHU1QjdDXHVEODVFXHVERTBFXHU0MDA0XHU0ODVEXHVEODQwXHVERTA0XHU1QkQ1XHU2MTYwXHVEODQ2XHVERTM0XHVEODU2XHVERENDXHVEODQxXHVEREE1XHU1QkYzXHU1QjlEXHU0RDEwXHU1QzA1XHVEODQ2XHVERjQ0XHU1QzEzXHU3M0NFXHU1QzE0XHVEODQ3XHVEQ0E1XHVEODVBXHVERjI4XHU1QzQ5XHU0OEREXHU1Qzg1XHU1Q0U5XHU1Q0VGXHU1RDhCXHVEODQ3XHVEREY5XHVEODQ3XHVERTM3XHU1RDEwXHU1RDE4XHU1RDQ2XHVEODQ3XHVERUE0XHU1Q0JBXHU1REQ3XHU4MkZDXHUzODJEXHVEODUyXHVERDAxXHVEODQ4XHVEQzQ5XHVEODQ4XHVERDczXHU4Mjg3XHUzODM2XHUzQkMyXHU1RTJFXHU2QThBXHU1RTc1XHU1RTdBXHVEODUxXHVEQ0JDXHVEODQzXHVEQ0QzXHU1M0E2XHU0RUI3XHU1RUQwXHU1M0E4XHVEODQ1XHVERjcxXHU1RTA5XHU1RUY0XHVEODYxXHVEQzgyXCJdLFxuW1wiZmM0MFwiLFwiXHU1RUY5XHU1RUZCXHUzOEEwXHU1RUZDXHU2ODNFXHU5NDFCXHU1RjBEXHVEODQwXHVEREMxXHVEODdFXHVEQzk0XHUzQURFXHU0OEFFXHVEODQ0XHVERjNBXHU1RjNBXHVEODVBXHVEQzg4XHVEODQ4XHVERkQwXHU1RjU4XHVEODQ5XHVEQzcxXHU1RjYzXHU5N0JEXHVEODVCXHVERTZFXHU1RjcyXHU5MzQwXHVEODYyXHVERTM2XHU1RkE3XHU1REI2XHUzRDVGXHVEODU0XHVERTUwXHVEODQ3XHVERjZBXHVEODVDXHVEQ0Y4XHVEODQ5XHVERTY4XHU5MUQ2XHVEODQwXHVERTlFXHVEODYyXHVERTI5XHU2MDMxXHU2Njg1XHVEODQ2XHVEQzc3XHUzOTYzXHUzREM3XHUzNjM5XHU1NzkwXHVEODQ5XHVERkI0XHU3OTcxXHUzRTQwXHU2MDlFXHU2MEE0XHU2MEIzXHVEODUyXHVERDgyXHVEODUyXHVERDhGXHVEODVFXHVERTUzXHU3NEE0XHU1MEUxXHU1QUEwXHU2MTY0XHU4NDI0XHU2MTQyXHVEODdFXHVEQ0E2XHVEODVCXHVERUQyXHU2MTgxXHU1MUY0XHVEODQxXHVERTU2XHU2MTg3XHU1QkFBXHVEODRGXHVERkI3XCJdLFxuW1wiZmNhMVwiLFwiXHVEODRBXHVEQzVGXHU2MUQzXHVEODYyXHVERjlEXHVEODY2XHVERDVEXHU2MUQwXHUzOTMyXHVEODRBXHVERDgwXHVEODRBXHVEQ0MxXHU2MDIzXHU2MTVDXHU2NTFFXHU2MzhCXHVEODQwXHVERDE4XHU2MkM1XHVEODQ1XHVERjcwXHU2MkQ1XHVEODRCXHVERTBEXHU2MzZDXHVEODUyXHVERERGXHUzQTE3XHU2NDM4XHU2M0Y4XHVEODQ0XHVERjhFXHVEODQ1XHVERkZDXHU2NDkwXHU2RjhBXHVEODRCXHVERTM2XHU5ODE0XHVEODUwXHVEQzhDXHVEODU1XHVERjFEXHU2NEUxXHU2NEU1XHU5NDdCXHUzQTY2XHU2NDNBXHUzQTU3XHU2NTREXHU2RjE2XHVEODUyXHVERTI4XHVEODUyXHVERTIzXHU2NTg1XHU2NTZEXHU2NTVGXHVEODRDXHVEQzdFXHU2NUI1XHVEODUyXHVERDQwXHU0QjM3XHU2NUQxXHU0MEQ4XHVEODQ2XHVEQzI5XHU2NUUwXHU2NUUzXHU1RkRGXHVEODREXHVEQzAwXHU2NjE4XHVEODRDXHVEREY3XHVEODRDXHVEREY4XHU2NjQ0XHVEODRDXHVEREE0XHVEODRDXHVEREE1XHU2NjRCXHVEODQzXHVERTc1XHU2NjY3XHVEODU0XHVEREU2XHU2NjczXHU2Njc0XHVEODQ3XHVERTNEXHVEODRDXHVERTMxXHVEODYxXHVEREY0XHVEODRDXHVEREM4XHVEODU0XHVERjEzXHU3N0M1XHVEODRBXHVEQ0Y3XHU5OUE0XHU2NzAyXHVEODUwXHVERjlDXHVEODUyXHVERTIxXHUzQjJCXHU2OUZBXHVEODREXHVERkMyXHU2NzVFXHU2NzY3XHU2NzYyXHVEODUwXHVERENEXHVEODY0XHVEQ0VEXHU2N0Q3XHU0NEU5XHU2ODIyXHU2RTUwXHU5MjNDXHU2ODAxXHVEODRDXHVERkU2XHVEODVCXHVEREEwXHU2ODVEXCJdLFxuW1wiZmQ0MFwiLFwiXHVEODREXHVEQzZGXHU2OUUxXHU2QTBCXHVEODYyXHVERURGXHU2OTczXHU2OEMzXHVEODREXHVERENEXHU2OTAxXHU2OTAwXHUzRDMyXHUzQTAxXHVEODREXHVERTNDXHUzQjgwXHU2N0FDXHU2OTYxXHVEODYyXHVERTRBXHU0MkZDXHU2OTM2XHU2OTk4XHUzQkExXHVEODQwXHVERkM5XHU4MzYzXHU1MDkwXHU2OUY5XHVEODREXHVERTU5XHVEODQ4XHVERDJBXHU2QTQ1XHVEODREXHVERjAzXHU2QTlEXHUzQkYzXHU2N0IxXHU2QUM4XHVEODY0XHVERDlDXHUzQzBEXHU2QjFEXHVEODQyXHVERDIzXHU2MERFXHU2QjM1XHU2Qjc0XHVEODQ5XHVERkNEXHU2RUI1XHVEODRFXHVERURCXHVEODQwXHVERkI1XHVEODQ2XHVERDU4XHUzNzQwXHU1NDIxXHVEODRFXHVERjVBXHU2QkUxXHVEODRGXHVERUZDXHU2QkRDXHU2QzM3XHVEODQ5XHVEQzhCXHVEODUyXHVEQ0YxXHVEODVBXHVERjUxXHU2QzVBXHU4MjI2XHU2Qzc5XHVEODRGXHVEREJDXHU0NEM1XHVEODRGXHVEREJEXHVEODUwXHVEREE0XHVEODUyXHVERDBDXHVEODUyXHVERDAwXCJdLFxuW1wiZmRhMVwiLFwiXHVEODRGXHVEQ0M5XHUzNkU1XHUzQ0VCXHVEODQzXHVERDMyXHU5QjgzXHVEODRDXHVEREY5XHVEODQ5XHVEQzkxXHU3RjhGXHU2ODM3XHVEODVCXHVERDI1XHVEODVCXHVEREExXHVEODVCXHVEREVCXHU2RDk2XHU2RDVDXHU2RTdDXHU2RjA0XHVEODUyXHVERDdGXHVEODUwXHVEQzg1XHVEODVCXHVERTcyXHU4NTMzXHVEODVCXHVERjc0XHU1MUM3XHU2QzlDXHU2RTFEXHU4NDJFXHVEODYyXHVERjIxXHU2RTJGXHVEODRGXHVERTJGXHU3NDUzXHVEODRGXHVERjgyXHU3OUNDXHU2RTRGXHU1QTkxXHVEODRDXHVEQzRCXHU2RkY4XHUzNzBEXHU2RjlEXHVEODRGXHVERTMwXHU2RUZBXHVEODQ1XHVEQzk3XHVEODUwXHVEQzNEXHU0NTU1XHU5M0YwXHU2RjQ0XHU2RjVDXHUzRDRFXHU2Rjc0XHVEODY0XHVERDcwXHUzRDNCXHU2RjlGXHVEODUwXHVERDQ0XHU2RkQzXHVEODUwXHVEQzkxXHVEODUwXHVERDU1XHVEODUwXHVEQzM5XHVEODRGXHVERkYwXHVEODRGXHVERkI0XHVEODUwXHVERDNGXHU1MURGXHVEODUwXHVERDU2XHVEODUwXHVERDU3XHVEODUwXHVERDQwXHVEODU4XHVEREREXHU3MDRCXHU3MDdFXHU3MEE3XHU3MDgxXHU3MENDXHU3MEQ1XHU3MEQ2XHU3MERGXHU0MTA0XHUzREU4XHU3MUI0XHU3MTk2XHVEODUwXHVERTc3XHU3MTJCXHU3MTQ1XHU1QTg4XHU3MTRBXHU3MTZFXHU1QzlDXHVEODUwXHVERjY1XHU3MTRGXHU5MzYyXHVEODUwXHVERUMxXHU3MTJDXHVEODUxXHVEQzVBXHVEODUyXHVERTI3XHVEODUyXHVERTIyXHU3MUJBXHVEODYyXHVERkU4XHU3MEJEXHU3MjBFXCJdLFxuW1wiZmU0MFwiLFwiXHU5NDQyXHU3MjE1XHU1OTExXHU5NDQzXHU3MjI0XHU5MzQxXHVEODU1XHVERTA1XHU3MjJFXHU3MjQwXHVEODUyXHVERDc0XHU2OEJEXHU3MjU1XHU3MjU3XHUzRTU1XHVEODRDXHVEQzQ0XHU2ODBEXHU2RjNEXHU3MjgyXHU3MzJBXHU3MzJCXHVEODUyXHVEQzIzXHVEODYyXHVEQzJCXHU0OEVEXHVEODYyXHVEQzA0XHU3MzI4XHU3MzJFXHU3M0NGXHU3M0FBXHVEODQzXHVEQzNBXHVEODVBXHVERTJFXHU3M0M5XHU3NDQ5XHVEODUwXHVEREUyXHVEODQ1XHVERUU3XHVEODUyXHVERTI0XHU2NjIzXHUzNkM1XHVEODUyXHVEREI3XHVEODUyXHVERDhEXHVEODUyXHVEREZCXHU3M0Y3XHU3NDE1XHU2OTAzXHVEODUyXHVERTI2XHU3NDM5XHVEODQxXHVEREMzXHUzRUQ3XHU3NDVDXHVEODRBXHVEQ0FEXHU3NDYwXHVEODYzXHVERUIyXHU3NDQ3XHU3M0U0XHU3NDc2XHU4M0I5XHU3NDZDXHUzNzMwXHU3NDc0XHU5M0YxXHU2QTJDXHU3NDgyXHU0OTUzXHVEODUyXHVERThDXCJdLFxuW1wiZmVhMVwiLFwiXHVEODUwXHVERDVGXHVEODUyXHVERTc5XHVEODYyXHVERjhGXHU1QjQ2XHVEODYzXHVEQzAzXHVEODQ2XHVEQzlFXHU3NEM4XHVEODQ2XHVERDg4XHU3NTBFXHU3NEU5XHU3NTFFXHVEODYzXHVERUQ5XHVEODQ2XHVERTRCXHU1QkQ3XHVEODYzXHVERUFDXHU5Mzg1XHU3NTREXHU3NTRBXHU3NTY3XHU3NTZFXHVEODUzXHVERjgyXHUzRjA0XHVEODUzXHVERDEzXHU3NThFXHU3NDVEXHU3NTlFXHU3NUI0XHU3NjAyXHU3NjJDXHU3NjUxXHU3NjRGXHU3NjZGXHU3Njc2XHVEODU4XHVERkY1XHU3NjkwXHU4MUVGXHUzN0Y4XHVEODVBXHVERDExXHVEODVBXHVERDBFXHU3NkExXHU3NkE1XHU3NkI3XHU3NkNDXHVEODVCXHVERjlGXHU4NDYyXHVEODU0XHVEQzlEXHVEODU0XHVERDdEXHVEODQ3XHVERTFDXHU3NzFFXHU3NzI2XHU3NzQwXHU2NEFGXHVEODU0XHVERTIwXHU3NzU4XHVEODRDXHVERUFDXHU3N0FGXHVEODYyXHVERDY0XHVEODYyXHVERDY4XHVEODQ1XHVERUMxXHU3N0Y0XHU3ODA5XHVEODQ0XHVERjc2XHVEODUyXHVERTEyXHU2OENBXHU3OEFGXHU3OEM3XHU3OEQzXHU5NkE1XHU3OTJFXHVEODU1XHVEREUwXHU3OEQ3XHU3OTM0XHU3OEIxXHVEODVEXHVERTBDXHU4RkI4XHU4ODg0XHVEODYyXHVERjJCXHVEODU4XHVEQzgzXHVEODQ5XHVERTFDXHU3OTg2XHU4OTAwXHU2OTAyXHU3OTgwXHVEODU2XHVEQzU3XHU3OTlEXHVEODVFXHVERjM5XHU3OTNDXHU3OUE5XHU2RTJBXHVEODVDXHVERDI2XHUzRUE4XHU3OUM2XHVEODY0XHVERDBEXHU3OUQ0XCJdXG5dXG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8vIERlc2NyaXB0aW9uIG9mIHN1cHBvcnRlZCBkb3VibGUgYnl0ZSBlbmNvZGluZ3MgYW5kIGFsaWFzZXMuXG4vLyBUYWJsZXMgYXJlIG5vdCByZXF1aXJlKCktZCB1bnRpbCB0aGV5IGFyZSBuZWVkZWQgdG8gc3BlZWQgdXAgbGlicmFyeSBsb2FkLlxuLy8gcmVxdWlyZSgpLXMgYXJlIGRpcmVjdCB0byBzdXBwb3J0IEJyb3dzZXJpZnkuXG5cbm1vZHVsZS5leHBvcnRzID0ge1xuICAgIFxuICAgIC8vID09IEphcGFuZXNlL1NoaWZ0SklTID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAvLyBBbGwgamFwYW5lc2UgZW5jb2RpbmdzIGFyZSBiYXNlZCBvbiBKSVMgWCBzZXQgb2Ygc3RhbmRhcmRzOlxuICAgIC8vIEpJUyBYIDAyMDEgLSBTaW5nbGUtYnl0ZSBlbmNvZGluZyBvZiBBU0NJSSArIFx1MDBBNSArIEthbmEgY2hhcnMgYXQgMHhBMS0weERGLlxuICAgIC8vIEpJUyBYIDAyMDggLSBNYWluIHNldCBvZiA2ODc5IGNoYXJhY3RlcnMsIHBsYWNlZCBpbiA5NHg5NCBwbGFuZSwgdG8gYmUgZW5jb2RlZCBieSAyIGJ5dGVzLiBcbiAgICAvLyAgICAgICAgICAgICAgSGFzIHNldmVyYWwgdmFyaWF0aW9ucyBpbiAxOTc4LCAxOTgzLCAxOTkwIGFuZCAxOTk3LlxuICAgIC8vIEpJUyBYIDAyMTIgLSBTdXBwbGVtZW50YXJ5IHBsYW5lIG9mIDYwNjcgY2hhcnMgaW4gOTR4OTQgcGxhbmUuIDE5OTAuIEVmZmVjdGl2ZWx5IGRlYWQuXG4gICAgLy8gSklTIFggMDIxMyAtIEV4dGVuc2lvbiBhbmQgbW9kZXJuIHJlcGxhY2VtZW50IG9mIDAyMDggYW5kIDAyMTIuIFRvdGFsIGNoYXJzOiAxMTIzMy5cbiAgICAvLyAgICAgICAgICAgICAgMiBwbGFuZXMsIGZpcnN0IGlzIHN1cGVyc2V0IG9mIDAyMDgsIHNlY29uZCAtIHJldmlzZWQgMDIxMi5cbiAgICAvLyAgICAgICAgICAgICAgSW50cm9kdWNlZCBpbiAyMDAwLCByZXZpc2VkIDIwMDQuIFNvbWUgY2hhcmFjdGVycyBhcmUgaW4gVW5pY29kZSBQbGFuZSAyICgweDJ4eHh4KVxuXG4gICAgLy8gQnl0ZSBlbmNvZGluZ3MgYXJlOlxuICAgIC8vICAqIFNoaWZ0X0pJUzogQ29tcGF0aWJsZSB3aXRoIDAyMDEsIHVzZXMgbm90IGRlZmluZWQgY2hhcnMgaW4gdG9wIGhhbGYgYXMgbGVhZCBieXRlcyBmb3IgZG91YmxlLWJ5dGVcbiAgICAvLyAgICAgICAgICAgICAgIGVuY29kaW5nIG9mIDAyMDguIExlYWQgYnl0ZSByYW5nZXM6IDB4ODEtMHg5RiwgMHhFMC0weEVGOyBUcmFpbCBieXRlIHJhbmdlczogMHg0MC0weDdFLCAweDgwLTB4OUUsIDB4OUYtMHhGQy5cbiAgICAvLyAgICAgICAgICAgICAgIFdpbmRvd3MgQ1A5MzIgaXMgYSBzdXBlcnNldCBvZiBTaGlmdF9KSVMuIFNvbWUgY29tcGFuaWVzIGFkZGVkIG1vcmUgY2hhcnMsIG5vdGFibHkgS0RESS5cbiAgICAvLyAgKiBFVUMtSlA6ICAgIFVwIHRvIDMgYnl0ZXMgcGVyIGNoYXJhY3Rlci4gVXNlZCBtb3N0bHkgb24gKm5peGVzLlxuICAgIC8vICAgICAgICAgICAgICAgMHgwMC0weDdGICAgICAgIC0gbG93ZXIgcGFydCBvZiAwMjAxXG4gICAgLy8gICAgICAgICAgICAgICAweDhFLCAweEExLTB4REYgLSB1cHBlciBwYXJ0IG9mIDAyMDFcbiAgICAvLyAgICAgICAgICAgICAgICgweEExLTB4RkUpeDIgICAtIDAyMDggcGxhbmUgKDk0eDk0KS5cbiAgICAvLyAgICAgICAgICAgICAgIDB4OEYsICgweEExLTB4RkUpeDIgLSAwMjEyIHBsYW5lICg5NHg5NCkuXG4gICAgLy8gICogSklTIFggMjA4OiA3LWJpdCwgZGlyZWN0IGVuY29kaW5nIG9mIDAyMDguIEJ5dGUgcmFuZ2VzOiAweDIxLTB4N0UgKDk0IHZhbHVlcykuIFVuY29tbW9uLlxuICAgIC8vICAgICAgICAgICAgICAgVXNlZCBhcy1pcyBpbiBJU08yMDIyIGZhbWlseS5cbiAgICAvLyAgKiBJU08yMDIyLUpQOiBTdGF0ZWZ1bCBlbmNvZGluZywgd2l0aCBlc2NhcGUgc2VxdWVuY2VzIHRvIHN3aXRjaCBiZXR3ZWVuIEFTQ0lJLCBcbiAgICAvLyAgICAgICAgICAgICAgICAwMjAxLTE5NzYgUm9tYW4sIDAyMDgtMTk3OCwgMDIwOC0xOTgzLlxuICAgIC8vICAqIElTTzIwMjItSlAtMTogQWRkcyBlc2Mgc2VxIGZvciAwMjEyLTE5OTAuXG4gICAgLy8gICogSVNPMjAyMi1KUC0yOiBBZGRzIGVzYyBzZXEgZm9yIEdCMjMxMy0xOTgwLCBLU1gxMDAxLTE5OTIsIElTTzg4NTktMSwgSVNPODg1OS03LlxuICAgIC8vICAqIElTTzIwMjItSlAtMzogQWRkcyBlc2Mgc2VxIGZvciAwMjAxLTE5NzYgS2FuYSBzZXQsIDAyMTMtMjAwMCBQbGFuZXMgMSwgMi5cbiAgICAvLyAgKiBJU08yMDIyLUpQLTIwMDQ6IEFkZHMgMDIxMy0yMDA0IFBsYW5lIDEuXG4gICAgLy9cbiAgICAvLyBBZnRlciBKSVMgWCAwMjEzIGFwcGVhcmVkLCBTaGlmdF9KSVMtMjAwNCwgRVVDLUpJU1gwMjEzIGFuZCBJU08yMDIyLUpQLTIwMDQgZm9sbG93ZWQsIHdpdGgganVzdCBjaGFuZ2luZyB0aGUgcGxhbmVzLlxuICAgIC8vXG4gICAgLy8gT3ZlcmFsbCwgaXQgc2VlbXMgdGhhdCBpdCdzIGEgbWVzcyA6KCBodHRwOi8vd3d3OC5wbGFsYS5vci5qcC90a3Vib3RhMS91bmljb2RlLXN5bWJvbHMtbWFwMi5odG1sXG5cbiAgICAnc2hpZnRqaXMnOiB7XG4gICAgICAgIHR5cGU6ICdfZGJjcycsXG4gICAgICAgIHRhYmxlOiBmdW5jdGlvbigpIHsgcmV0dXJuIHJlcXVpcmUoJy4vdGFibGVzL3NoaWZ0amlzLmpzb24nKSB9LFxuICAgICAgICBlbmNvZGVBZGQ6IHsnXFx1MDBhNSc6IDB4NUMsICdcXHUyMDNFJzogMHg3RX0sXG4gICAgICAgIGVuY29kZVNraXBWYWxzOiBbe2Zyb206IDB4RUQ0MCwgdG86IDB4Rjk0MH1dLFxuICAgIH0sXG4gICAgJ2Nzc2hpZnRqaXMnOiAnc2hpZnRqaXMnLFxuICAgICdtc2thbmppJzogJ3NoaWZ0amlzJyxcbiAgICAnc2ppcyc6ICdzaGlmdGppcycsXG4gICAgJ3dpbmRvd3MzMWonOiAnc2hpZnRqaXMnLFxuICAgICdtczMxaic6ICdzaGlmdGppcycsXG4gICAgJ3hzamlzJzogJ3NoaWZ0amlzJyxcbiAgICAnd2luZG93czkzMic6ICdzaGlmdGppcycsXG4gICAgJ21zOTMyJzogJ3NoaWZ0amlzJyxcbiAgICAnOTMyJzogJ3NoaWZ0amlzJyxcbiAgICAnY3A5MzInOiAnc2hpZnRqaXMnLFxuXG4gICAgJ2V1Y2pwJzoge1xuICAgICAgICB0eXBlOiAnX2RiY3MnLFxuICAgICAgICB0YWJsZTogZnVuY3Rpb24oKSB7IHJldHVybiByZXF1aXJlKCcuL3RhYmxlcy9ldWNqcC5qc29uJykgfSxcbiAgICAgICAgZW5jb2RlQWRkOiB7J1xcdTAwYTUnOiAweDVDLCAnXFx1MjAzRSc6IDB4N0V9LFxuICAgIH0sXG5cbiAgICAvLyBUT0RPOiBLRERJIGV4dGVuc2lvbiB0byBTaGlmdF9KSVNcbiAgICAvLyBUT0RPOiBJQk0gQ0NTSUQgOTQyID0gQ1A5MzIsIGJ1dCBGMC1GOSBjdXN0b20gY2hhcnMgYW5kIG90aGVyIGNoYXIgY2hhbmdlcy5cbiAgICAvLyBUT0RPOiBJQk0gQ0NTSUQgOTQzID0gU2hpZnRfSklTID0gQ1A5MzIgd2l0aCBvcmlnaW5hbCBTaGlmdF9KSVMgbG93ZXIgMTI4IGNoYXJzLlxuXG5cbiAgICAvLyA9PSBDaGluZXNlL0dCSyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gaHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HQktcbiAgICAvLyBXZSBtb3N0bHkgaW1wbGVtZW50IFczQyByZWNvbW1lbmRhdGlvbjogaHR0cHM6Ly93d3cudzMub3JnL1RSL2VuY29kaW5nLyNnYmstZW5jb2RlclxuXG4gICAgLy8gT2xkZXN0IEdCMjMxMiAoMTk4MSwgfjc2MDAgY2hhcnMpIGlzIGEgc3Vic2V0IG9mIENQOTM2XG4gICAgJ2diMjMxMic6ICdjcDkzNicsXG4gICAgJ2diMjMxMjgwJzogJ2NwOTM2JyxcbiAgICAnZ2IyMzEyMTk4MCc6ICdjcDkzNicsXG4gICAgJ2NzZ2IyMzEyJzogJ2NwOTM2JyxcbiAgICAnY3Npc281OGdiMjMxMjgwJzogJ2NwOTM2JyxcbiAgICAnZXVjY24nOiAnY3A5MzYnLFxuXG4gICAgLy8gTWljcm9zb2Z0J3MgQ1A5MzYgaXMgYSBzdWJzZXQgYW5kIGFwcHJveGltYXRpb24gb2YgR0JLLlxuICAgICd3aW5kb3dzOTM2JzogJ2NwOTM2JyxcbiAgICAnbXM5MzYnOiAnY3A5MzYnLFxuICAgICc5MzYnOiAnY3A5MzYnLFxuICAgICdjcDkzNic6IHtcbiAgICAgICAgdHlwZTogJ19kYmNzJyxcbiAgICAgICAgdGFibGU6IGZ1bmN0aW9uKCkgeyByZXR1cm4gcmVxdWlyZSgnLi90YWJsZXMvY3A5MzYuanNvbicpIH0sXG4gICAgfSxcblxuICAgIC8vIEdCSyAofjIyMDAwIGNoYXJzKSBpcyBhbiBleHRlbnNpb24gb2YgQ1A5MzYgdGhhdCBhZGRlZCB1c2VyLW1hcHBlZCBjaGFycyBhbmQgc29tZSBvdGhlci5cbiAgICAnZ2JrJzoge1xuICAgICAgICB0eXBlOiAnX2RiY3MnLFxuICAgICAgICB0YWJsZTogZnVuY3Rpb24oKSB7IHJldHVybiByZXF1aXJlKCcuL3RhYmxlcy9jcDkzNi5qc29uJykuY29uY2F0KHJlcXVpcmUoJy4vdGFibGVzL2diay1hZGRlZC5qc29uJykpIH0sXG4gICAgfSxcbiAgICAneGdiayc6ICdnYmsnLFxuICAgICdpc29pcjU4JzogJ2diaycsXG5cbiAgICAvLyBHQjE4MDMwIGlzIGFuIGFsZ29yaXRobWljIGV4dGVuc2lvbiBvZiBHQksuXG4gICAgLy8gTWFpbiBzb3VyY2U6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9lbmNvZGluZy8jZ2JrLWVuY29kZXJcbiAgICAvLyBodHRwOi8vaWN1LXByb2plY3Qub3JnL2RvY3MvcGFwZXJzL2diMTgwMzAuaHRtbFxuICAgIC8vIGh0dHA6Ly9zb3VyY2UuaWN1LXByb2plY3Qub3JnL3JlcG9zL2ljdS9kYXRhL3RydW5rL2NoYXJzZXQvZGF0YS94bWwvZ2ItMTgwMzAtMjAwMC54bWxcbiAgICAvLyBodHRwOi8vd3d3LmtobmdhaS5jb20vY2hpbmVzZS9jaGFybWFwL3RibGdiay5waHA/cGFnZT0wXG4gICAgJ2diMTgwMzAnOiB7XG4gICAgICAgIHR5cGU6ICdfZGJjcycsXG4gICAgICAgIHRhYmxlOiBmdW5jdGlvbigpIHsgcmV0dXJuIHJlcXVpcmUoJy4vdGFibGVzL2NwOTM2Lmpzb24nKS5jb25jYXQocmVxdWlyZSgnLi90YWJsZXMvZ2JrLWFkZGVkLmpzb24nKSkgfSxcbiAgICAgICAgZ2IxODAzMDogZnVuY3Rpb24oKSB7IHJldHVybiByZXF1aXJlKCcuL3RhYmxlcy9nYjE4MDMwLXJhbmdlcy5qc29uJykgfSxcbiAgICAgICAgZW5jb2RlU2tpcFZhbHM6IFsweDgwXSxcbiAgICAgICAgZW5jb2RlQWRkOiB7J1x1MjBBQyc6IDB4QTJFM30sXG4gICAgfSxcblxuICAgICdjaGluZXNlJzogJ2diMTgwMzAnLFxuXG5cbiAgICAvLyA9PSBLb3JlYW4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gRVVDLUtSLCBLU19DXzU2MDEgYW5kIEtTIFggMTAwMSBhcmUgZXhhY3RseSB0aGUgc2FtZS5cbiAgICAnd2luZG93czk0OSc6ICdjcDk0OScsXG4gICAgJ21zOTQ5JzogJ2NwOTQ5JyxcbiAgICAnOTQ5JzogJ2NwOTQ5JyxcbiAgICAnY3A5NDknOiB7XG4gICAgICAgIHR5cGU6ICdfZGJjcycsXG4gICAgICAgIHRhYmxlOiBmdW5jdGlvbigpIHsgcmV0dXJuIHJlcXVpcmUoJy4vdGFibGVzL2NwOTQ5Lmpzb24nKSB9LFxuICAgIH0sXG5cbiAgICAnY3NldWNrcic6ICdjcDk0OScsXG4gICAgJ2Nza3NjNTYwMTE5ODcnOiAnY3A5NDknLFxuICAgICdldWNrcic6ICdjcDk0OScsXG4gICAgJ2lzb2lyMTQ5JzogJ2NwOTQ5JyxcbiAgICAna29yZWFuJzogJ2NwOTQ5JyxcbiAgICAna3NjNTYwMTE5ODcnOiAnY3A5NDknLFxuICAgICdrc2M1NjAxMTk4OSc6ICdjcDk0OScsXG4gICAgJ2tzYzU2MDEnOiAnY3A5NDknLFxuXG5cbiAgICAvLyA9PSBCaWc1L1RhaXdhbi9Ib25nIEtvbmcgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgLy8gVGhlcmUgYXJlIGxvdHMgb2YgdGFibGVzIGZvciBCaWc1IGFuZCBjcDk1MC4gUGxlYXNlIHNlZSB0aGUgZm9sbG93aW5nIGxpbmtzIGZvciBoaXN0b3J5OlxuICAgIC8vIGh0dHA6Ly9tb3p0dy5vcmcvZG9jcy9iaWc1LyAgaHR0cDovL3d3dy5oYWlibGUuZGUvYnJ1bm8vY2hhcnNldHMvY29udmVyc2lvbi10YWJsZXMvQmlnNS5odG1sXG4gICAgLy8gVmFyaWF0aW9ucywgaW4gcm91Z2hseSBudW1iZXIgb2YgZGVmaW5lZCBjaGFyczpcbiAgICAvLyAgKiBXaW5kb3dzIENQIDk1MDogTWljcm9zb2Z0IHZhcmlhbnQgb2YgQmlnNS4gQ2Fub25pY2FsOiBodHRwOi8vd3d3LnVuaWNvZGUub3JnL1B1YmxpYy9NQVBQSU5HUy9WRU5ET1JTL01JQ1NGVC9XSU5ET1dTL0NQOTUwLlRYVFxuICAgIC8vICAqIFdpbmRvd3MgQ1AgOTUxOiBNaWNyb3NvZnQgdmFyaWFudCBvZiBCaWc1LUhLU0NTLTIwMDEuIFNlZW1zIHRvIGJlIG5ldmVyIHB1YmxpYy4gaHR0cDovL21lLmFiZWxjaGV1bmcub3JnL2FydGljbGVzL3Jlc2VhcmNoL3doYXQtaXMtY3A5NTEvXG4gICAgLy8gICogQmlnNS0yMDAzIChUYWl3YW4gc3RhbmRhcmQpIGFsbW9zdCBzdXBlcnNldCBvZiBjcDk1MC5cbiAgICAvLyAgKiBVbmljb2RlLWF0LW9uIChVQU8pIC8gTW96aWxsYSAxLjguIEZhbGxpbmcgb3V0IG9mIHVzZSBvbiB0aGUgV2ViLiBOb3Qgc3VwcG9ydGVkIGJ5IG90aGVyIGJyb3dzZXJzLlxuICAgIC8vICAqIEJpZzUtSEtTQ1MgKC0yMDAxLCAtMjAwNCwgLTIwMDgpLiBIb25nIEtvbmcgc3RhbmRhcmQuIFxuICAgIC8vICAgIG1hbnkgdW5pY29kZSBjb2RlIHBvaW50cyBtb3ZlZCBmcm9tIFBVQSB0byBTdXBwbGVtZW50YXJ5IHBsYW5lIChVKzJYWFhYKSBvdmVyIHRoZSB5ZWFycy5cbiAgICAvLyAgICBQbHVzLCBpdCBoYXMgNCBjb21iaW5pbmcgc2VxdWVuY2VzLlxuICAgIC8vICAgIFNlZW1zIHRoYXQgTW96aWxsYSByZWZ1c2VkIHRvIHN1cHBvcnQgaXQgZm9yIDEwIHlycy4gaHR0cHM6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYyNDMxIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTMxMDI5OVxuICAgIC8vICAgIGJlY2F1c2UgYmlnNS1oa3NjcyBpcyB0aGUgb25seSBlbmNvZGluZyB0byBpbmNsdWRlIGFzdHJhbCBjaGFyYWN0ZXJzIGluIG5vbi1hbGdvcml0aG1pYyB3YXkuXG4gICAgLy8gICAgSW1wbGVtZW50YXRpb25zIGFyZSBub3QgY29uc2lzdGVudCB3aXRoaW4gYnJvd3NlcnM7IHNvbWV0aW1lcyBsYWJlbGVkIGFzIGp1c3QgYmlnNS5cbiAgICAvLyAgICBNUyBJbnRlcm5ldCBFeHBsb3JlciBzd2l0Y2hlcyBmcm9tIGJpZzUgdG8gYmlnNS1oa3NjcyB3aGVuIGEgcGF0Y2ggYXBwbGllZC5cbiAgICAvLyAgICBHcmVhdCBkaXNjdXNzaW9uICYgcmVjYXAgb2Ygd2hhdCdzIGdvaW5nIG9uIGh0dHBzOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTkxMjQ3MCNjMzFcbiAgICAvLyAgICBJbiB0aGUgZW5jb2RlciwgaXQgbWlnaHQgbWFrZSBzZW5zZSB0byBzdXBwb3J0IGVuY29kaW5nIG9sZCBQVUEgbWFwcGluZ3MgdG8gQmlnNSBieXRlcyBzZXEtcy5cbiAgICAvLyAgICBPZmZpY2lhbCBzcGVjOiBodHRwOi8vd3d3Lm9nY2lvLmdvdi5oay9lbi9idXNpbmVzcy90ZWNoX3Byb21vdGlvbi9jY2xpL3Rlcm1zL2RvYy8yMDAzY21wXzIwMDgudHh0XG4gICAgLy8gICAgICAgICAgICAgICAgICAgaHR0cDovL3d3dy5vZ2Npby5nb3YuaGsvdGMvYnVzaW5lc3MvdGVjaF9wcm9tb3Rpb24vY2NsaS90ZXJtcy9kb2MvaGtzY3MtMjAwOC1iaWc1LWlzby50eHRcbiAgICAvLyBcbiAgICAvLyBDdXJyZW50IHVuZGVyc3RhbmRpbmcgb2YgaG93IHRvIGRlYWwgd2l0aCBCaWc1KC1IS1NDUykgaXMgaW4gdGhlIEVuY29kaW5nIFN0YW5kYXJkLCBodHRwOi8vZW5jb2Rpbmcuc3BlYy53aGF0d2cub3JnLyNiaWc1LWVuY29kZXJcbiAgICAvLyBVbmljb2RlIG1hcHBpbmcgKGh0dHA6Ly93d3cudW5pY29kZS5vcmcvUHVibGljL01BUFBJTkdTL09CU09MRVRFL0VBU1RBU0lBL09USEVSL0JJRzUuVFhUKSBpcyBzYWlkIHRvIGJlIHdyb25nLlxuXG4gICAgJ3dpbmRvd3M5NTAnOiAnY3A5NTAnLFxuICAgICdtczk1MCc6ICdjcDk1MCcsXG4gICAgJzk1MCc6ICdjcDk1MCcsXG4gICAgJ2NwOTUwJzoge1xuICAgICAgICB0eXBlOiAnX2RiY3MnLFxuICAgICAgICB0YWJsZTogZnVuY3Rpb24oKSB7IHJldHVybiByZXF1aXJlKCcuL3RhYmxlcy9jcDk1MC5qc29uJykgfSxcbiAgICB9LFxuXG4gICAgLy8gQmlnNSBoYXMgbWFueSB2YXJpYXRpb25zIGFuZCBpcyBhbiBleHRlbnNpb24gb2YgY3A5NTAuIFdlIHVzZSBFbmNvZGluZyBTdGFuZGFyZCdzIGFzIGEgY29uc2Vuc3VzLlxuICAgICdiaWc1JzogJ2JpZzVoa3NjcycsXG4gICAgJ2JpZzVoa3Njcyc6IHtcbiAgICAgICAgdHlwZTogJ19kYmNzJyxcbiAgICAgICAgdGFibGU6IGZ1bmN0aW9uKCkgeyByZXR1cm4gcmVxdWlyZSgnLi90YWJsZXMvY3A5NTAuanNvbicpLmNvbmNhdChyZXF1aXJlKCcuL3RhYmxlcy9iaWc1LWFkZGVkLmpzb24nKSkgfSxcbiAgICAgICAgZW5jb2RlU2tpcFZhbHM6IFsweGEyY2NdLFxuICAgIH0sXG5cbiAgICAnY25iaWc1JzogJ2JpZzVoa3NjcycsXG4gICAgJ2NzYmlnNSc6ICdiaWc1aGtzY3MnLFxuICAgICd4eGJpZzUnOiAnYmlnNWhrc2NzJyxcbn07XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG5cbi8vIFVwZGF0ZSB0aGlzIGFycmF5IGlmIHlvdSBhZGQvcmVuYW1lL3JlbW92ZSBmaWxlcyBpbiB0aGlzIGRpcmVjdG9yeS5cbi8vIFdlIHN1cHBvcnQgQnJvd3NlcmlmeSBieSBza2lwcGluZyBhdXRvbWF0aWMgbW9kdWxlIGRpc2NvdmVyeSBhbmQgcmVxdWlyaW5nIG1vZHVsZXMgZGlyZWN0bHkuXG52YXIgbW9kdWxlcyA9IFtcbiAgICByZXF1aXJlKFwiLi9pbnRlcm5hbFwiKSxcbiAgICByZXF1aXJlKFwiLi91dGYxNlwiKSxcbiAgICByZXF1aXJlKFwiLi91dGY3XCIpLFxuICAgIHJlcXVpcmUoXCIuL3NiY3MtY29kZWNcIiksXG4gICAgcmVxdWlyZShcIi4vc2Jjcy1kYXRhXCIpLFxuICAgIHJlcXVpcmUoXCIuL3NiY3MtZGF0YS1nZW5lcmF0ZWRcIiksXG4gICAgcmVxdWlyZShcIi4vZGJjcy1jb2RlY1wiKSxcbiAgICByZXF1aXJlKFwiLi9kYmNzLWRhdGFcIiksXG5dO1xuXG4vLyBQdXQgYWxsIGVuY29kaW5nL2FsaWFzL2NvZGVjIGRlZmluaXRpb25zIHRvIHNpbmdsZSBvYmplY3QgYW5kIGV4cG9ydCBpdC4gXG5mb3IgKHZhciBpID0gMDsgaSA8IG1vZHVsZXMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgbW9kdWxlID0gbW9kdWxlc1tpXTtcbiAgICBmb3IgKHZhciBlbmMgaW4gbW9kdWxlKVxuICAgICAgICBpZiAoT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZHVsZSwgZW5jKSlcbiAgICAgICAgICAgIGV4cG9ydHNbZW5jXSA9IG1vZHVsZVtlbmNdO1xufVxuIiwgIlwidXNlIHN0cmljdFwiO1xuXG52YXIgQnVmZmVyID0gcmVxdWlyZShcImJ1ZmZlclwiKS5CdWZmZXIsXG4gICAgVHJhbnNmb3JtID0gcmVxdWlyZShcInN0cmVhbVwiKS5UcmFuc2Zvcm07XG5cblxuLy8gPT0gRXhwb3J0cyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24oaWNvbnYpIHtcbiAgICBcbiAgICAvLyBBZGRpdGlvbmFsIFB1YmxpYyBBUEkuXG4gICAgaWNvbnYuZW5jb2RlU3RyZWFtID0gZnVuY3Rpb24gZW5jb2RlU3RyZWFtKGVuY29kaW5nLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBuZXcgSWNvbnZMaXRlRW5jb2RlclN0cmVhbShpY29udi5nZXRFbmNvZGVyKGVuY29kaW5nLCBvcHRpb25zKSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaWNvbnYuZGVjb2RlU3RyZWFtID0gZnVuY3Rpb24gZGVjb2RlU3RyZWFtKGVuY29kaW5nLCBvcHRpb25zKSB7XG4gICAgICAgIHJldHVybiBuZXcgSWNvbnZMaXRlRGVjb2RlclN0cmVhbShpY29udi5nZXREZWNvZGVyKGVuY29kaW5nLCBvcHRpb25zKSwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgaWNvbnYuc3VwcG9ydHNTdHJlYW1zID0gdHJ1ZTtcblxuXG4gICAgLy8gTm90IHB1Ymxpc2hlZCB5ZXQuXG4gICAgaWNvbnYuSWNvbnZMaXRlRW5jb2RlclN0cmVhbSA9IEljb252TGl0ZUVuY29kZXJTdHJlYW07XG4gICAgaWNvbnYuSWNvbnZMaXRlRGVjb2RlclN0cmVhbSA9IEljb252TGl0ZURlY29kZXJTdHJlYW07XG4gICAgaWNvbnYuX2NvbGxlY3QgPSBJY29udkxpdGVEZWNvZGVyU3RyZWFtLnByb3RvdHlwZS5jb2xsZWN0O1xufTtcblxuXG4vLyA9PSBFbmNvZGVyIHN0cmVhbSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5mdW5jdGlvbiBJY29udkxpdGVFbmNvZGVyU3RyZWFtKGNvbnYsIG9wdGlvbnMpIHtcbiAgICB0aGlzLmNvbnYgPSBjb252O1xuICAgIG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuICAgIG9wdGlvbnMuZGVjb2RlU3RyaW5ncyA9IGZhbHNlOyAvLyBXZSBhY2NlcHQgb25seSBzdHJpbmdzLCBzbyB3ZSBkb24ndCBuZWVkIHRvIGRlY29kZSB0aGVtLlxuICAgIFRyYW5zZm9ybS5jYWxsKHRoaXMsIG9wdGlvbnMpO1xufVxuXG5JY29udkxpdGVFbmNvZGVyU3RyZWFtLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoVHJhbnNmb3JtLnByb3RvdHlwZSwge1xuICAgIGNvbnN0cnVjdG9yOiB7IHZhbHVlOiBJY29udkxpdGVFbmNvZGVyU3RyZWFtIH1cbn0pO1xuXG5JY29udkxpdGVFbmNvZGVyU3RyZWFtLnByb3RvdHlwZS5fdHJhbnNmb3JtID0gZnVuY3Rpb24oY2h1bmssIGVuY29kaW5nLCBkb25lKSB7XG4gICAgaWYgKHR5cGVvZiBjaHVuayAhPSAnc3RyaW5nJylcbiAgICAgICAgcmV0dXJuIGRvbmUobmV3IEVycm9yKFwiSWNvbnYgZW5jb2Rpbmcgc3RyZWFtIG5lZWRzIHN0cmluZ3MgYXMgaXRzIGlucHV0LlwiKSk7XG4gICAgdHJ5IHtcbiAgICAgICAgdmFyIHJlcyA9IHRoaXMuY29udi53cml0ZShjaHVuayk7XG4gICAgICAgIGlmIChyZXMgJiYgcmVzLmxlbmd0aCkgdGhpcy5wdXNoKHJlcyk7XG4gICAgICAgIGRvbmUoKTtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgZG9uZShlKTtcbiAgICB9XG59XG5cbkljb252TGl0ZUVuY29kZXJTdHJlYW0ucHJvdG90eXBlLl9mbHVzaCA9IGZ1bmN0aW9uKGRvbmUpIHtcbiAgICB0cnkge1xuICAgICAgICB2YXIgcmVzID0gdGhpcy5jb252LmVuZCgpO1xuICAgICAgICBpZiAocmVzICYmIHJlcy5sZW5ndGgpIHRoaXMucHVzaChyZXMpO1xuICAgICAgICBkb25lKCk7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIGRvbmUoZSk7XG4gICAgfVxufVxuXG5JY29udkxpdGVFbmNvZGVyU3RyZWFtLnByb3RvdHlwZS5jb2xsZWN0ID0gZnVuY3Rpb24oY2IpIHtcbiAgICB2YXIgY2h1bmtzID0gW107XG4gICAgdGhpcy5vbignZXJyb3InLCBjYik7XG4gICAgdGhpcy5vbignZGF0YScsIGZ1bmN0aW9uKGNodW5rKSB7IGNodW5rcy5wdXNoKGNodW5rKTsgfSk7XG4gICAgdGhpcy5vbignZW5kJywgZnVuY3Rpb24oKSB7XG4gICAgICAgIGNiKG51bGwsIEJ1ZmZlci5jb25jYXQoY2h1bmtzKSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG59XG5cblxuLy8gPT0gRGVjb2RlciBzdHJlYW0gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuZnVuY3Rpb24gSWNvbnZMaXRlRGVjb2RlclN0cmVhbShjb252LCBvcHRpb25zKSB7XG4gICAgdGhpcy5jb252ID0gY29udjtcbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcbiAgICBvcHRpb25zLmVuY29kaW5nID0gdGhpcy5lbmNvZGluZyA9ICd1dGY4JzsgLy8gV2Ugb3V0cHV0IHN0cmluZ3MuXG4gICAgVHJhbnNmb3JtLmNhbGwodGhpcywgb3B0aW9ucyk7XG59XG5cbkljb252TGl0ZURlY29kZXJTdHJlYW0ucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShUcmFuc2Zvcm0ucHJvdG90eXBlLCB7XG4gICAgY29uc3RydWN0b3I6IHsgdmFsdWU6IEljb252TGl0ZURlY29kZXJTdHJlYW0gfVxufSk7XG5cbkljb252TGl0ZURlY29kZXJTdHJlYW0ucHJvdG90eXBlLl90cmFuc2Zvcm0gPSBmdW5jdGlvbihjaHVuaywgZW5jb2RpbmcsIGRvbmUpIHtcbiAgICBpZiAoIUJ1ZmZlci5pc0J1ZmZlcihjaHVuaykpXG4gICAgICAgIHJldHVybiBkb25lKG5ldyBFcnJvcihcIkljb252IGRlY29kaW5nIHN0cmVhbSBuZWVkcyBidWZmZXJzIGFzIGl0cyBpbnB1dC5cIikpO1xuICAgIHRyeSB7XG4gICAgICAgIHZhciByZXMgPSB0aGlzLmNvbnYud3JpdGUoY2h1bmspO1xuICAgICAgICBpZiAocmVzICYmIHJlcy5sZW5ndGgpIHRoaXMucHVzaChyZXMsIHRoaXMuZW5jb2RpbmcpO1xuICAgICAgICBkb25lKCk7XG4gICAgfVxuICAgIGNhdGNoIChlKSB7XG4gICAgICAgIGRvbmUoZSk7XG4gICAgfVxufVxuXG5JY29udkxpdGVEZWNvZGVyU3RyZWFtLnByb3RvdHlwZS5fZmx1c2ggPSBmdW5jdGlvbihkb25lKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgdmFyIHJlcyA9IHRoaXMuY29udi5lbmQoKTtcbiAgICAgICAgaWYgKHJlcyAmJiByZXMubGVuZ3RoKSB0aGlzLnB1c2gocmVzLCB0aGlzLmVuY29kaW5nKTsgICAgICAgICAgICAgICAgXG4gICAgICAgIGRvbmUoKTtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgICAgZG9uZShlKTtcbiAgICB9XG59XG5cbkljb252TGl0ZURlY29kZXJTdHJlYW0ucHJvdG90eXBlLmNvbGxlY3QgPSBmdW5jdGlvbihjYikge1xuICAgIHZhciByZXMgPSAnJztcbiAgICB0aGlzLm9uKCdlcnJvcicsIGNiKTtcbiAgICB0aGlzLm9uKCdkYXRhJywgZnVuY3Rpb24oY2h1bmspIHsgcmVzICs9IGNodW5rOyB9KTtcbiAgICB0aGlzLm9uKCdlbmQnLCBmdW5jdGlvbigpIHtcbiAgICAgICAgY2IobnVsbCwgcmVzKTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcztcbn1cblxuIiwgIlwidXNlIHN0cmljdFwiO1xudmFyIEJ1ZmZlciA9IHJlcXVpcmUoXCJidWZmZXJcIikuQnVmZmVyO1xuLy8gTm90ZTogbm90IHBvbHlmaWxsZWQgd2l0aCBzYWZlci1idWZmZXIgb24gYSBwdXJwb3NlLCBhcyBvdmVycmlkZXMgQnVmZmVyXG5cbi8vID09IEV4dGVuZCBOb2RlIHByaW1pdGl2ZXMgdG8gdXNlIGljb252LWxpdGUgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKGljb252KSB7XG4gICAgdmFyIG9yaWdpbmFsID0gdW5kZWZpbmVkOyAvLyBQbGFjZSB0byBrZWVwIG9yaWdpbmFsIG1ldGhvZHMuXG5cbiAgICAvLyBOb2RlIGF1dGhvcnMgcmV3cm90ZSBCdWZmZXIgaW50ZXJuYWxzIHRvIG1ha2UgaXQgY29tcGF0aWJsZSB3aXRoXG4gICAgLy8gVWludDhBcnJheSBhbmQgd2UgY2Fubm90IHBhdGNoIGtleSBmdW5jdGlvbnMgc2luY2UgdGhlbi5cbiAgICAvLyBOb3RlOiB0aGlzIGRvZXMgdXNlIG9sZGVyIEJ1ZmZlciBBUEkgb24gYSBwdXJwb3NlXG4gICAgaWNvbnYuc3VwcG9ydHNOb2RlRW5jb2RpbmdzRXh0ZW5zaW9uID0gIShCdWZmZXIuZnJvbSB8fCBuZXcgQnVmZmVyKDApIGluc3RhbmNlb2YgVWludDhBcnJheSk7XG5cbiAgICBpY29udi5leHRlbmROb2RlRW5jb2RpbmdzID0gZnVuY3Rpb24gZXh0ZW5kTm9kZUVuY29kaW5ncygpIHtcbiAgICAgICAgaWYgKG9yaWdpbmFsKSByZXR1cm47XG4gICAgICAgIG9yaWdpbmFsID0ge307XG5cbiAgICAgICAgaWYgKCFpY29udi5zdXBwb3J0c05vZGVFbmNvZGluZ3NFeHRlbnNpb24pIHtcbiAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJBQ1RJT04gTkVFREVEOiByZXF1aXJlKCdpY29udi1saXRlJykuZXh0ZW5kTm9kZUVuY29kaW5ncygpIGlzIG5vdCBzdXBwb3J0ZWQgaW4geW91ciB2ZXJzaW9uIG9mIE5vZGVcIik7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiU2VlIG1vcmUgaW5mbyBhdCBodHRwczovL2dpdGh1Yi5jb20vYXNodHVjaGtpbi9pY29udi1saXRlL3dpa2kvTm9kZS12NC1jb21wYXRpYmlsaXR5XCIpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIG5vZGVOYXRpdmVFbmNvZGluZ3MgPSB7XG4gICAgICAgICAgICAnaGV4JzogdHJ1ZSwgJ3V0ZjgnOiB0cnVlLCAndXRmLTgnOiB0cnVlLCAnYXNjaWknOiB0cnVlLCAnYmluYXJ5JzogdHJ1ZSwgXG4gICAgICAgICAgICAnYmFzZTY0JzogdHJ1ZSwgJ3VjczInOiB0cnVlLCAndWNzLTInOiB0cnVlLCAndXRmMTZsZSc6IHRydWUsICd1dGYtMTZsZSc6IHRydWUsXG4gICAgICAgIH07XG5cbiAgICAgICAgQnVmZmVyLmlzTmF0aXZlRW5jb2RpbmcgPSBmdW5jdGlvbihlbmMpIHtcbiAgICAgICAgICAgIHJldHVybiBlbmMgJiYgbm9kZU5hdGl2ZUVuY29kaW5nc1tlbmMudG9Mb3dlckNhc2UoKV07XG4gICAgICAgIH1cblxuICAgICAgICAvLyAtLSBTbG93QnVmZmVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIHZhciBTbG93QnVmZmVyID0gcmVxdWlyZSgnYnVmZmVyJykuU2xvd0J1ZmZlcjtcblxuICAgICAgICBvcmlnaW5hbC5TbG93QnVmZmVyVG9TdHJpbmcgPSBTbG93QnVmZmVyLnByb3RvdHlwZS50b1N0cmluZztcbiAgICAgICAgU2xvd0J1ZmZlci5wcm90b3R5cGUudG9TdHJpbmcgPSBmdW5jdGlvbihlbmNvZGluZywgc3RhcnQsIGVuZCkge1xuICAgICAgICAgICAgZW5jb2RpbmcgPSBTdHJpbmcoZW5jb2RpbmcgfHwgJ3V0ZjgnKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgICAgICAvLyBVc2UgbmF0aXZlIGNvbnZlcnNpb24gd2hlbiBwb3NzaWJsZVxuICAgICAgICAgICAgaWYgKEJ1ZmZlci5pc05hdGl2ZUVuY29kaW5nKGVuY29kaW5nKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWwuU2xvd0J1ZmZlclRvU3RyaW5nLmNhbGwodGhpcywgZW5jb2RpbmcsIHN0YXJ0LCBlbmQpO1xuXG4gICAgICAgICAgICAvLyBPdGhlcndpc2UsIHVzZSBvdXIgZGVjb2RpbmcgbWV0aG9kLlxuICAgICAgICAgICAgaWYgKHR5cGVvZiBzdGFydCA9PSAndW5kZWZpbmVkJykgc3RhcnQgPSAwO1xuICAgICAgICAgICAgaWYgKHR5cGVvZiBlbmQgPT0gJ3VuZGVmaW5lZCcpIGVuZCA9IHRoaXMubGVuZ3RoO1xuICAgICAgICAgICAgcmV0dXJuIGljb252LmRlY29kZSh0aGlzLnNsaWNlKHN0YXJ0LCBlbmQpLCBlbmNvZGluZyk7XG4gICAgICAgIH1cblxuICAgICAgICBvcmlnaW5hbC5TbG93QnVmZmVyV3JpdGUgPSBTbG93QnVmZmVyLnByb3RvdHlwZS53cml0ZTtcbiAgICAgICAgU2xvd0J1ZmZlci5wcm90b3R5cGUud3JpdGUgPSBmdW5jdGlvbihzdHJpbmcsIG9mZnNldCwgbGVuZ3RoLCBlbmNvZGluZykge1xuICAgICAgICAgICAgLy8gU3VwcG9ydCBib3RoIChzdHJpbmcsIG9mZnNldCwgbGVuZ3RoLCBlbmNvZGluZylcbiAgICAgICAgICAgIC8vIGFuZCB0aGUgbGVnYWN5IChzdHJpbmcsIGVuY29kaW5nLCBvZmZzZXQsIGxlbmd0aClcbiAgICAgICAgICAgIGlmIChpc0Zpbml0ZShvZmZzZXQpKSB7XG4gICAgICAgICAgICAgICAgaWYgKCFpc0Zpbml0ZShsZW5ndGgpKSB7XG4gICAgICAgICAgICAgICAgICAgIGVuY29kaW5nID0gbGVuZ3RoO1xuICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSB1bmRlZmluZWQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHsgIC8vIGxlZ2FjeVxuICAgICAgICAgICAgICAgIHZhciBzd2FwID0gZW5jb2Rpbmc7XG4gICAgICAgICAgICAgICAgZW5jb2RpbmcgPSBvZmZzZXQ7XG4gICAgICAgICAgICAgICAgb2Zmc2V0ID0gbGVuZ3RoO1xuICAgICAgICAgICAgICAgIGxlbmd0aCA9IHN3YXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG9mZnNldCA9ICtvZmZzZXQgfHwgMDtcbiAgICAgICAgICAgIHZhciByZW1haW5pbmcgPSB0aGlzLmxlbmd0aCAtIG9mZnNldDtcbiAgICAgICAgICAgIGlmICghbGVuZ3RoKSB7XG4gICAgICAgICAgICAgICAgbGVuZ3RoID0gcmVtYWluaW5nO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBsZW5ndGggPSArbGVuZ3RoO1xuICAgICAgICAgICAgICAgIGlmIChsZW5ndGggPiByZW1haW5pbmcpIHtcbiAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gcmVtYWluaW5nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVuY29kaW5nID0gU3RyaW5nKGVuY29kaW5nIHx8ICd1dGY4JykudG9Mb3dlckNhc2UoKTtcblxuICAgICAgICAgICAgLy8gVXNlIG5hdGl2ZSBjb252ZXJzaW9uIHdoZW4gcG9zc2libGVcbiAgICAgICAgICAgIGlmIChCdWZmZXIuaXNOYXRpdmVFbmNvZGluZyhlbmNvZGluZykpXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yaWdpbmFsLlNsb3dCdWZmZXJXcml0ZS5jYWxsKHRoaXMsIHN0cmluZywgb2Zmc2V0LCBsZW5ndGgsIGVuY29kaW5nKTtcblxuICAgICAgICAgICAgaWYgKHN0cmluZy5sZW5ndGggPiAwICYmIChsZW5ndGggPCAwIHx8IG9mZnNldCA8IDApKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKCdhdHRlbXB0IHRvIHdyaXRlIGJleW9uZCBidWZmZXIgYm91bmRzJyk7XG5cbiAgICAgICAgICAgIC8vIE90aGVyd2lzZSwgdXNlIG91ciBlbmNvZGluZyBtZXRob2QuXG4gICAgICAgICAgICB2YXIgYnVmID0gaWNvbnYuZW5jb2RlKHN0cmluZywgZW5jb2RpbmcpO1xuICAgICAgICAgICAgaWYgKGJ1Zi5sZW5ndGggPCBsZW5ndGgpIGxlbmd0aCA9IGJ1Zi5sZW5ndGg7XG4gICAgICAgICAgICBidWYuY29weSh0aGlzLCBvZmZzZXQsIDAsIGxlbmd0aCk7XG4gICAgICAgICAgICByZXR1cm4gbGVuZ3RoO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gLS0gQnVmZmVyIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgICAgIG9yaWdpbmFsLkJ1ZmZlcklzRW5jb2RpbmcgPSBCdWZmZXIuaXNFbmNvZGluZztcbiAgICAgICAgQnVmZmVyLmlzRW5jb2RpbmcgPSBmdW5jdGlvbihlbmNvZGluZykge1xuICAgICAgICAgICAgcmV0dXJuIEJ1ZmZlci5pc05hdGl2ZUVuY29kaW5nKGVuY29kaW5nKSB8fCBpY29udi5lbmNvZGluZ0V4aXN0cyhlbmNvZGluZyk7XG4gICAgICAgIH1cblxuICAgICAgICBvcmlnaW5hbC5CdWZmZXJCeXRlTGVuZ3RoID0gQnVmZmVyLmJ5dGVMZW5ndGg7XG4gICAgICAgIEJ1ZmZlci5ieXRlTGVuZ3RoID0gU2xvd0J1ZmZlci5ieXRlTGVuZ3RoID0gZnVuY3Rpb24oc3RyLCBlbmNvZGluZykge1xuICAgICAgICAgICAgZW5jb2RpbmcgPSBTdHJpbmcoZW5jb2RpbmcgfHwgJ3V0ZjgnKS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgICAgICAgICAvLyBVc2UgbmF0aXZlIGNvbnZlcnNpb24gd2hlbiBwb3NzaWJsZVxuICAgICAgICAgICAgaWYgKEJ1ZmZlci5pc05hdGl2ZUVuY29kaW5nKGVuY29kaW5nKSlcbiAgICAgICAgICAgICAgICByZXR1cm4gb3JpZ2luYWwuQnVmZmVyQnl0ZUxlbmd0aC5jYWxsKHRoaXMsIHN0ciwgZW5jb2RpbmcpO1xuXG4gICAgICAgICAgICAvLyBTbG93LCBJIGtub3csIGJ1dCB3ZSBkb24ndCBoYXZlIGEgYmV0dGVyIHdheSB5ZXQuXG4gICAgICAgICAgICByZXR1cm4gaWNvbnYuZW5jb2RlKHN0ciwgZW5jb2RpbmcpLmxlbmd0aDtcbiAgICAgICAgfVxuXG4gICAgICAgIG9yaWdpbmFsLkJ1ZmZlclRvU3RyaW5nID0gQnVmZmVyLnByb3RvdHlwZS50b1N0cmluZztcbiAgICAgICAgQnVmZmVyLnByb3RvdHlwZS50b1N0cmluZyA9IGZ1bmN0aW9uKGVuY29kaW5nLCBzdGFydCwgZW5kKSB7XG4gICAgICAgICAgICBlbmNvZGluZyA9IFN0cmluZyhlbmNvZGluZyB8fCAndXRmOCcpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICAgIC8vIFVzZSBuYXRpdmUgY29udmVyc2lvbiB3aGVuIHBvc3NpYmxlXG4gICAgICAgICAgICBpZiAoQnVmZmVyLmlzTmF0aXZlRW5jb2RpbmcoZW5jb2RpbmcpKVxuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbC5CdWZmZXJUb1N0cmluZy5jYWxsKHRoaXMsIGVuY29kaW5nLCBzdGFydCwgZW5kKTtcblxuICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCB1c2Ugb3VyIGRlY29kaW5nIG1ldGhvZC5cbiAgICAgICAgICAgIGlmICh0eXBlb2Ygc3RhcnQgPT0gJ3VuZGVmaW5lZCcpIHN0YXJ0ID0gMDtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgZW5kID09ICd1bmRlZmluZWQnKSBlbmQgPSB0aGlzLmxlbmd0aDtcbiAgICAgICAgICAgIHJldHVybiBpY29udi5kZWNvZGUodGhpcy5zbGljZShzdGFydCwgZW5kKSwgZW5jb2RpbmcpO1xuICAgICAgICB9XG5cbiAgICAgICAgb3JpZ2luYWwuQnVmZmVyV3JpdGUgPSBCdWZmZXIucHJvdG90eXBlLndyaXRlO1xuICAgICAgICBCdWZmZXIucHJvdG90eXBlLndyaXRlID0gZnVuY3Rpb24oc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCwgZW5jb2RpbmcpIHtcbiAgICAgICAgICAgIHZhciBfb2Zmc2V0ID0gb2Zmc2V0LCBfbGVuZ3RoID0gbGVuZ3RoLCBfZW5jb2RpbmcgPSBlbmNvZGluZztcbiAgICAgICAgICAgIC8vIFN1cHBvcnQgYm90aCAoc3RyaW5nLCBvZmZzZXQsIGxlbmd0aCwgZW5jb2RpbmcpXG4gICAgICAgICAgICAvLyBhbmQgdGhlIGxlZ2FjeSAoc3RyaW5nLCBlbmNvZGluZywgb2Zmc2V0LCBsZW5ndGgpXG4gICAgICAgICAgICBpZiAoaXNGaW5pdGUob2Zmc2V0KSkge1xuICAgICAgICAgICAgICAgIGlmICghaXNGaW5pdGUobGVuZ3RoKSkge1xuICAgICAgICAgICAgICAgICAgICBlbmNvZGluZyA9IGxlbmd0aDtcbiAgICAgICAgICAgICAgICAgICAgbGVuZ3RoID0gdW5kZWZpbmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7ICAvLyBsZWdhY3lcbiAgICAgICAgICAgICAgICB2YXIgc3dhcCA9IGVuY29kaW5nO1xuICAgICAgICAgICAgICAgIGVuY29kaW5nID0gb2Zmc2V0O1xuICAgICAgICAgICAgICAgIG9mZnNldCA9IGxlbmd0aDtcbiAgICAgICAgICAgICAgICBsZW5ndGggPSBzd2FwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBlbmNvZGluZyA9IFN0cmluZyhlbmNvZGluZyB8fCAndXRmOCcpLnRvTG93ZXJDYXNlKCk7XG5cbiAgICAgICAgICAgIC8vIFVzZSBuYXRpdmUgY29udmVyc2lvbiB3aGVuIHBvc3NpYmxlXG4gICAgICAgICAgICBpZiAoQnVmZmVyLmlzTmF0aXZlRW5jb2RpbmcoZW5jb2RpbmcpKVxuICAgICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbC5CdWZmZXJXcml0ZS5jYWxsKHRoaXMsIHN0cmluZywgX29mZnNldCwgX2xlbmd0aCwgX2VuY29kaW5nKTtcblxuICAgICAgICAgICAgb2Zmc2V0ID0gK29mZnNldCB8fCAwO1xuICAgICAgICAgICAgdmFyIHJlbWFpbmluZyA9IHRoaXMubGVuZ3RoIC0gb2Zmc2V0O1xuICAgICAgICAgICAgaWYgKCFsZW5ndGgpIHtcbiAgICAgICAgICAgICAgICBsZW5ndGggPSByZW1haW5pbmc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGxlbmd0aCA9ICtsZW5ndGg7XG4gICAgICAgICAgICAgICAgaWYgKGxlbmd0aCA+IHJlbWFpbmluZykge1xuICAgICAgICAgICAgICAgICAgICBsZW5ndGggPSByZW1haW5pbmc7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoc3RyaW5nLmxlbmd0aCA+IDAgJiYgKGxlbmd0aCA8IDAgfHwgb2Zmc2V0IDwgMCkpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IFJhbmdlRXJyb3IoJ2F0dGVtcHQgdG8gd3JpdGUgYmV5b25kIGJ1ZmZlciBib3VuZHMnKTtcblxuICAgICAgICAgICAgLy8gT3RoZXJ3aXNlLCB1c2Ugb3VyIGVuY29kaW5nIG1ldGhvZC5cbiAgICAgICAgICAgIHZhciBidWYgPSBpY29udi5lbmNvZGUoc3RyaW5nLCBlbmNvZGluZyk7XG4gICAgICAgICAgICBpZiAoYnVmLmxlbmd0aCA8IGxlbmd0aCkgbGVuZ3RoID0gYnVmLmxlbmd0aDtcbiAgICAgICAgICAgIGJ1Zi5jb3B5KHRoaXMsIG9mZnNldCwgMCwgbGVuZ3RoKTtcbiAgICAgICAgICAgIHJldHVybiBsZW5ndGg7XG5cbiAgICAgICAgICAgIC8vIFRPRE86IFNldCBfY2hhcnNXcml0dGVuLlxuICAgICAgICB9XG5cblxuICAgICAgICAvLyAtLSBSZWFkYWJsZSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgICAgIGlmIChpY29udi5zdXBwb3J0c1N0cmVhbXMpIHtcbiAgICAgICAgICAgIHZhciBSZWFkYWJsZSA9IHJlcXVpcmUoJ3N0cmVhbScpLlJlYWRhYmxlO1xuXG4gICAgICAgICAgICBvcmlnaW5hbC5SZWFkYWJsZVNldEVuY29kaW5nID0gUmVhZGFibGUucHJvdG90eXBlLnNldEVuY29kaW5nO1xuICAgICAgICAgICAgUmVhZGFibGUucHJvdG90eXBlLnNldEVuY29kaW5nID0gZnVuY3Rpb24gc2V0RW5jb2RpbmcoZW5jLCBvcHRpb25zKSB7XG4gICAgICAgICAgICAgICAgLy8gVXNlIG91ciBvd24gZGVjb2RlciwgaXQgaGFzIHRoZSBzYW1lIGludGVyZmFjZS5cbiAgICAgICAgICAgICAgICAvLyBXZSBjYW5ub3QgdXNlIG9yaWdpbmFsIGZ1bmN0aW9uIGFzIGl0IGRvZXNuJ3QgaGFuZGxlIEJPTS1zLlxuICAgICAgICAgICAgICAgIHRoaXMuX3JlYWRhYmxlU3RhdGUuZGVjb2RlciA9IGljb252LmdldERlY29kZXIoZW5jLCBvcHRpb25zKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9yZWFkYWJsZVN0YXRlLmVuY29kaW5nID0gZW5jO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBSZWFkYWJsZS5wcm90b3R5cGUuY29sbGVjdCA9IGljb252Ll9jb2xsZWN0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGljb252LWxpdGUgTm9kZSBwcmltaXRpdmUgZXh0ZW5zaW9ucy5cbiAgICBpY29udi51bmRvRXh0ZW5kTm9kZUVuY29kaW5ncyA9IGZ1bmN0aW9uIHVuZG9FeHRlbmROb2RlRW5jb2RpbmdzKCkge1xuICAgICAgICBpZiAoIWljb252LnN1cHBvcnRzTm9kZUVuY29kaW5nc0V4dGVuc2lvbilcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgaWYgKCFvcmlnaW5hbClcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcInJlcXVpcmUoJ2ljb252LWxpdGUnKS51bmRvRXh0ZW5kTm9kZUVuY29kaW5ncygpOiBOb3RoaW5nIHRvIHVuZG87IGV4dGVuZE5vZGVFbmNvZGluZ3MoKSBpcyBub3QgY2FsbGVkLlwiKVxuXG4gICAgICAgIGRlbGV0ZSBCdWZmZXIuaXNOYXRpdmVFbmNvZGluZztcblxuICAgICAgICB2YXIgU2xvd0J1ZmZlciA9IHJlcXVpcmUoJ2J1ZmZlcicpLlNsb3dCdWZmZXI7XG5cbiAgICAgICAgU2xvd0J1ZmZlci5wcm90b3R5cGUudG9TdHJpbmcgPSBvcmlnaW5hbC5TbG93QnVmZmVyVG9TdHJpbmc7XG4gICAgICAgIFNsb3dCdWZmZXIucHJvdG90eXBlLndyaXRlID0gb3JpZ2luYWwuU2xvd0J1ZmZlcldyaXRlO1xuXG4gICAgICAgIEJ1ZmZlci5pc0VuY29kaW5nID0gb3JpZ2luYWwuQnVmZmVySXNFbmNvZGluZztcbiAgICAgICAgQnVmZmVyLmJ5dGVMZW5ndGggPSBvcmlnaW5hbC5CdWZmZXJCeXRlTGVuZ3RoO1xuICAgICAgICBCdWZmZXIucHJvdG90eXBlLnRvU3RyaW5nID0gb3JpZ2luYWwuQnVmZmVyVG9TdHJpbmc7XG4gICAgICAgIEJ1ZmZlci5wcm90b3R5cGUud3JpdGUgPSBvcmlnaW5hbC5CdWZmZXJXcml0ZTtcblxuICAgICAgICBpZiAoaWNvbnYuc3VwcG9ydHNTdHJlYW1zKSB7XG4gICAgICAgICAgICB2YXIgUmVhZGFibGUgPSByZXF1aXJlKCdzdHJlYW0nKS5SZWFkYWJsZTtcblxuICAgICAgICAgICAgUmVhZGFibGUucHJvdG90eXBlLnNldEVuY29kaW5nID0gb3JpZ2luYWwuUmVhZGFibGVTZXRFbmNvZGluZztcbiAgICAgICAgICAgIGRlbGV0ZSBSZWFkYWJsZS5wcm90b3R5cGUuY29sbGVjdDtcbiAgICAgICAgfVxuXG4gICAgICAgIG9yaWdpbmFsID0gdW5kZWZpbmVkO1xuICAgIH1cbn1cbiIsICJcInVzZSBzdHJpY3RcIjtcblxuLy8gU29tZSBlbnZpcm9ubWVudHMgZG9uJ3QgaGF2ZSBnbG9iYWwgQnVmZmVyIChlLmcuIFJlYWN0IE5hdGl2ZSkuXG4vLyBTb2x1dGlvbiB3b3VsZCBiZSBpbnN0YWxsaW5nIG5wbSBtb2R1bGVzIFwiYnVmZmVyXCIgYW5kIFwic3RyZWFtXCIgZXhwbGljaXRseS5cbnZhciBCdWZmZXIgPSByZXF1aXJlKFwic2FmZXItYnVmZmVyXCIpLkJ1ZmZlcjtcblxudmFyIGJvbUhhbmRsaW5nID0gcmVxdWlyZShcIi4vYm9tLWhhbmRsaW5nXCIpLFxuICAgIGljb252ID0gbW9kdWxlLmV4cG9ydHM7XG5cbi8vIEFsbCBjb2RlY3MgYW5kIGFsaWFzZXMgYXJlIGtlcHQgaGVyZSwga2V5ZWQgYnkgZW5jb2RpbmcgbmFtZS9hbGlhcy5cbi8vIFRoZXkgYXJlIGxhenkgbG9hZGVkIGluIGBpY29udi5nZXRDb2RlY2AgZnJvbSBgZW5jb2RpbmdzL2luZGV4LmpzYC5cbmljb252LmVuY29kaW5ncyA9IG51bGw7XG5cbi8vIENoYXJhY3RlcnMgZW1pdHRlZCBpbiBjYXNlIG9mIGVycm9yLlxuaWNvbnYuZGVmYXVsdENoYXJVbmljb2RlID0gJ1x1RkZGRCc7XG5pY29udi5kZWZhdWx0Q2hhclNpbmdsZUJ5dGUgPSAnPyc7XG5cbi8vIFB1YmxpYyBBUEkuXG5pY29udi5lbmNvZGUgPSBmdW5jdGlvbiBlbmNvZGUoc3RyLCBlbmNvZGluZywgb3B0aW9ucykge1xuICAgIHN0ciA9IFwiXCIgKyAoc3RyIHx8IFwiXCIpOyAvLyBFbnN1cmUgc3RyaW5nLlxuXG4gICAgdmFyIGVuY29kZXIgPSBpY29udi5nZXRFbmNvZGVyKGVuY29kaW5nLCBvcHRpb25zKTtcblxuICAgIHZhciByZXMgPSBlbmNvZGVyLndyaXRlKHN0cik7XG4gICAgdmFyIHRyYWlsID0gZW5jb2Rlci5lbmQoKTtcbiAgICBcbiAgICByZXR1cm4gKHRyYWlsICYmIHRyYWlsLmxlbmd0aCA+IDApID8gQnVmZmVyLmNvbmNhdChbcmVzLCB0cmFpbF0pIDogcmVzO1xufVxuXG5pY29udi5kZWNvZGUgPSBmdW5jdGlvbiBkZWNvZGUoYnVmLCBlbmNvZGluZywgb3B0aW9ucykge1xuICAgIGlmICh0eXBlb2YgYnVmID09PSAnc3RyaW5nJykge1xuICAgICAgICBpZiAoIWljb252LnNraXBEZWNvZGVXYXJuaW5nKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKCdJY29udi1saXRlIHdhcm5pbmc6IGRlY29kZSgpLWluZyBzdHJpbmdzIGlzIGRlcHJlY2F0ZWQuIFJlZmVyIHRvIGh0dHBzOi8vZ2l0aHViLmNvbS9hc2h0dWNoa2luL2ljb252LWxpdGUvd2lraS9Vc2UtQnVmZmVycy13aGVuLWRlY29kaW5nJyk7XG4gICAgICAgICAgICBpY29udi5za2lwRGVjb2RlV2FybmluZyA9IHRydWU7XG4gICAgICAgIH1cblxuICAgICAgICBidWYgPSBCdWZmZXIuZnJvbShcIlwiICsgKGJ1ZiB8fCBcIlwiKSwgXCJiaW5hcnlcIik7IC8vIEVuc3VyZSBidWZmZXIuXG4gICAgfVxuXG4gICAgdmFyIGRlY29kZXIgPSBpY29udi5nZXREZWNvZGVyKGVuY29kaW5nLCBvcHRpb25zKTtcblxuICAgIHZhciByZXMgPSBkZWNvZGVyLndyaXRlKGJ1Zik7XG4gICAgdmFyIHRyYWlsID0gZGVjb2Rlci5lbmQoKTtcblxuICAgIHJldHVybiB0cmFpbCA/IChyZXMgKyB0cmFpbCkgOiByZXM7XG59XG5cbmljb252LmVuY29kaW5nRXhpc3RzID0gZnVuY3Rpb24gZW5jb2RpbmdFeGlzdHMoZW5jKSB7XG4gICAgdHJ5IHtcbiAgICAgICAgaWNvbnYuZ2V0Q29kZWMoZW5jKTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxufVxuXG4vLyBMZWdhY3kgYWxpYXNlcyB0byBjb252ZXJ0IGZ1bmN0aW9uc1xuaWNvbnYudG9FbmNvZGluZyA9IGljb252LmVuY29kZTtcbmljb252LmZyb21FbmNvZGluZyA9IGljb252LmRlY29kZTtcblxuLy8gU2VhcmNoIGZvciBhIGNvZGVjIGluIGljb252LmVuY29kaW5ncy4gQ2FjaGUgY29kZWMgZGF0YSBpbiBpY29udi5fY29kZWNEYXRhQ2FjaGUuXG5pY29udi5fY29kZWNEYXRhQ2FjaGUgPSB7fTtcbmljb252LmdldENvZGVjID0gZnVuY3Rpb24gZ2V0Q29kZWMoZW5jb2RpbmcpIHtcbiAgICBpZiAoIWljb252LmVuY29kaW5ncylcbiAgICAgICAgaWNvbnYuZW5jb2RpbmdzID0gcmVxdWlyZShcIi4uL2VuY29kaW5nc1wiKTsgLy8gTGF6eSBsb2FkIGFsbCBlbmNvZGluZyBkZWZpbml0aW9ucy5cbiAgICBcbiAgICAvLyBDYW5vbmljYWxpemUgZW5jb2RpbmcgbmFtZTogc3RyaXAgYWxsIG5vbi1hbHBoYW51bWVyaWMgY2hhcnMgYW5kIGFwcGVuZGVkIHllYXIuXG4gICAgdmFyIGVuYyA9IGljb252Ll9jYW5vbmljYWxpemVFbmNvZGluZyhlbmNvZGluZyk7XG5cbiAgICAvLyBUcmF2ZXJzZSBpY29udi5lbmNvZGluZ3MgdG8gZmluZCBhY3R1YWwgY29kZWMuXG4gICAgdmFyIGNvZGVjT3B0aW9ucyA9IHt9O1xuICAgIHdoaWxlICh0cnVlKSB7XG4gICAgICAgIHZhciBjb2RlYyA9IGljb252Ll9jb2RlY0RhdGFDYWNoZVtlbmNdO1xuICAgICAgICBpZiAoY29kZWMpXG4gICAgICAgICAgICByZXR1cm4gY29kZWM7XG5cbiAgICAgICAgdmFyIGNvZGVjRGVmID0gaWNvbnYuZW5jb2RpbmdzW2VuY107XG5cbiAgICAgICAgc3dpdGNoICh0eXBlb2YgY29kZWNEZWYpIHtcbiAgICAgICAgICAgIGNhc2UgXCJzdHJpbmdcIjogLy8gRGlyZWN0IGFsaWFzIHRvIG90aGVyIGVuY29kaW5nLlxuICAgICAgICAgICAgICAgIGVuYyA9IGNvZGVjRGVmO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlIFwib2JqZWN0XCI6IC8vIEFsaWFzIHdpdGggb3B0aW9ucy4gQ2FuIGJlIGxheWVyZWQuXG4gICAgICAgICAgICAgICAgZm9yICh2YXIga2V5IGluIGNvZGVjRGVmKVxuICAgICAgICAgICAgICAgICAgICBjb2RlY09wdGlvbnNba2V5XSA9IGNvZGVjRGVmW2tleV07XG5cbiAgICAgICAgICAgICAgICBpZiAoIWNvZGVjT3B0aW9ucy5lbmNvZGluZ05hbWUpXG4gICAgICAgICAgICAgICAgICAgIGNvZGVjT3B0aW9ucy5lbmNvZGluZ05hbWUgPSBlbmM7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgZW5jID0gY29kZWNEZWYudHlwZTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSBcImZ1bmN0aW9uXCI6IC8vIENvZGVjIGl0c2VsZi5cbiAgICAgICAgICAgICAgICBpZiAoIWNvZGVjT3B0aW9ucy5lbmNvZGluZ05hbWUpXG4gICAgICAgICAgICAgICAgICAgIGNvZGVjT3B0aW9ucy5lbmNvZGluZ05hbWUgPSBlbmM7XG5cbiAgICAgICAgICAgICAgICAvLyBUaGUgY29kZWMgZnVuY3Rpb24gbXVzdCBsb2FkIGFsbCB0YWJsZXMgYW5kIHJldHVybiBvYmplY3Qgd2l0aCAuZW5jb2RlciBhbmQgLmRlY29kZXIgbWV0aG9kcy5cbiAgICAgICAgICAgICAgICAvLyBJdCdsbCBiZSBjYWxsZWQgb25seSBvbmNlIChmb3IgZWFjaCBkaWZmZXJlbnQgb3B0aW9ucyBvYmplY3QpLlxuICAgICAgICAgICAgICAgIGNvZGVjID0gbmV3IGNvZGVjRGVmKGNvZGVjT3B0aW9ucywgaWNvbnYpO1xuXG4gICAgICAgICAgICAgICAgaWNvbnYuX2NvZGVjRGF0YUNhY2hlW2NvZGVjT3B0aW9ucy5lbmNvZGluZ05hbWVdID0gY29kZWM7IC8vIFNhdmUgaXQgdG8gYmUgcmV1c2VkIGxhdGVyLlxuICAgICAgICAgICAgICAgIHJldHVybiBjb2RlYztcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJFbmNvZGluZyBub3QgcmVjb2duaXplZDogJ1wiICsgZW5jb2RpbmcgKyBcIicgKHNlYXJjaGVkIGFzOiAnXCIrZW5jK1wiJylcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbmljb252Ll9jYW5vbmljYWxpemVFbmNvZGluZyA9IGZ1bmN0aW9uKGVuY29kaW5nKSB7XG4gICAgLy8gQ2Fub25pY2FsaXplIGVuY29kaW5nIG5hbWU6IHN0cmlwIGFsbCBub24tYWxwaGFudW1lcmljIGNoYXJzIGFuZCBhcHBlbmRlZCB5ZWFyLlxuICAgIHJldHVybiAoJycrZW5jb2RpbmcpLnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvOlxcZHs0fSR8W14wLTlhLXpdL2csIFwiXCIpO1xufVxuXG5pY29udi5nZXRFbmNvZGVyID0gZnVuY3Rpb24gZ2V0RW5jb2RlcihlbmNvZGluZywgb3B0aW9ucykge1xuICAgIHZhciBjb2RlYyA9IGljb252LmdldENvZGVjKGVuY29kaW5nKSxcbiAgICAgICAgZW5jb2RlciA9IG5ldyBjb2RlYy5lbmNvZGVyKG9wdGlvbnMsIGNvZGVjKTtcblxuICAgIGlmIChjb2RlYy5ib21Bd2FyZSAmJiBvcHRpb25zICYmIG9wdGlvbnMuYWRkQk9NKVxuICAgICAgICBlbmNvZGVyID0gbmV3IGJvbUhhbmRsaW5nLlByZXBlbmRCT00oZW5jb2Rlciwgb3B0aW9ucyk7XG5cbiAgICByZXR1cm4gZW5jb2Rlcjtcbn1cblxuaWNvbnYuZ2V0RGVjb2RlciA9IGZ1bmN0aW9uIGdldERlY29kZXIoZW5jb2RpbmcsIG9wdGlvbnMpIHtcbiAgICB2YXIgY29kZWMgPSBpY29udi5nZXRDb2RlYyhlbmNvZGluZyksXG4gICAgICAgIGRlY29kZXIgPSBuZXcgY29kZWMuZGVjb2RlcihvcHRpb25zLCBjb2RlYyk7XG5cbiAgICBpZiAoY29kZWMuYm9tQXdhcmUgJiYgIShvcHRpb25zICYmIG9wdGlvbnMuc3RyaXBCT00gPT09IGZhbHNlKSlcbiAgICAgICAgZGVjb2RlciA9IG5ldyBib21IYW5kbGluZy5TdHJpcEJPTShkZWNvZGVyLCBvcHRpb25zKTtcblxuICAgIHJldHVybiBkZWNvZGVyO1xufVxuXG5cbi8vIExvYWQgZXh0ZW5zaW9ucyBpbiBOb2RlLiBBbGwgb2YgdGhlbSBhcmUgb21pdHRlZCBpbiBCcm93c2VyaWZ5IGJ1aWxkIHZpYSAnYnJvd3NlcicgZmllbGQgaW4gcGFja2FnZS5qc29uLlxudmFyIG5vZGVWZXIgPSB0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiYgcHJvY2Vzcy52ZXJzaW9ucyAmJiBwcm9jZXNzLnZlcnNpb25zLm5vZGU7XG5pZiAobm9kZVZlcikge1xuXG4gICAgLy8gTG9hZCBzdHJlYW1pbmcgc3VwcG9ydCBpbiBOb2RlIHYwLjEwK1xuICAgIHZhciBub2RlVmVyQXJyID0gbm9kZVZlci5zcGxpdChcIi5cIikubWFwKE51bWJlcik7XG4gICAgaWYgKG5vZGVWZXJBcnJbMF0gPiAwIHx8IG5vZGVWZXJBcnJbMV0gPj0gMTApIHtcbiAgICAgICAgcmVxdWlyZShcIi4vc3RyZWFtc1wiKShpY29udik7XG4gICAgfVxuXG4gICAgLy8gTG9hZCBOb2RlIHByaW1pdGl2ZSBleHRlbnNpb25zLlxuICAgIHJlcXVpcmUoXCIuL2V4dGVuZC1ub2RlXCIpKGljb252KTtcbn1cblxuaWYgKFwiXHUwMTAwXCIgIT0gXCJcXHUwMTAwXCIpIHtcbiAgICBjb25zb2xlLmVycm9yKFwiaWNvbnYtbGl0ZSB3YXJuaW5nOiBqYXZhc2NyaXB0IGZpbGVzIHVzZSBlbmNvZGluZyBkaWZmZXJlbnQgZnJvbSB1dGYtOC4gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9hc2h0dWNoa2luL2ljb252LWxpdGUvd2lraS9KYXZhc2NyaXB0LXNvdXJjZS1maWxlLWVuY29kaW5ncyBmb3IgbW9yZSBpbmZvLlwiKTtcbn1cbiIsICIndXNlIHN0cmljdCc7XG52YXIgaXNXaW5kb3dzID0gcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJztcbnZhciB0cmFpbGluZ1NsYXNoUmUgPSBpc1dpbmRvd3MgPyAvW146XVxcXFwkLyA6IC8uXFwvJC87XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9ub2RlanMvbm9kZS9ibG9iLzNlN2ExNDM4MTQ5N2EzYjczZGRhNjhkMDViNTEzMDU2M2NkYWI0MjAvbGliL29zLmpzI0wyNS1MNDNcbm1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gKCkge1xuXHR2YXIgcGF0aDtcblxuXHRpZiAoaXNXaW5kb3dzKSB7XG5cdFx0cGF0aCA9IHByb2Nlc3MuZW52LlRFTVAgfHxcblx0XHRcdHByb2Nlc3MuZW52LlRNUCB8fFxuXHRcdFx0KHByb2Nlc3MuZW52LlN5c3RlbVJvb3QgfHwgcHJvY2Vzcy5lbnYud2luZGlyKSArICdcXFxcdGVtcCc7XG5cdH0gZWxzZSB7XG5cdFx0cGF0aCA9IHByb2Nlc3MuZW52LlRNUERJUiB8fFxuXHRcdFx0cHJvY2Vzcy5lbnYuVE1QIHx8XG5cdFx0XHRwcm9jZXNzLmVudi5URU1QIHx8XG5cdFx0XHQnL3RtcCc7XG5cdH1cblxuXHRpZiAodHJhaWxpbmdTbGFzaFJlLnRlc3QocGF0aCkpIHtcblx0XHRwYXRoID0gcGF0aC5zbGljZSgwLCAtMSk7XG5cdH1cblxuXHRyZXR1cm4gcGF0aDtcbn07XG4iLCAiLyohXG4gKiBUbXBcbiAqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTEtMjAxNyBLQVJBU1pJIElzdHZhbiA8Z2l0aHViQHNwYW0ucmFzemkuaHU+XG4gKlxuICogTUlUIExpY2Vuc2VkXG4gKi9cblxuLypcbiAqIE1vZHVsZSBkZXBlbmRlbmNpZXMuXG4gKi9cbmNvbnN0IGZzID0gcmVxdWlyZSgnZnMnKTtcbmNvbnN0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5jb25zdCBjcnlwdG8gPSByZXF1aXJlKCdjcnlwdG8nKTtcbmNvbnN0IG9zVG1wRGlyID0gcmVxdWlyZSgnb3MtdG1wZGlyJyk7XG5jb25zdCBfYyA9IHByb2Nlc3MuYmluZGluZygnY29uc3RhbnRzJyk7XG5cbi8qXG4gKiBUaGUgd29ya2luZyBpbm5lciB2YXJpYWJsZXMuXG4gKi9cbmNvbnN0XG4gIC8qKlxuICAgKiBUaGUgdGVtcG9yYXJ5IGRpcmVjdG9yeS5cbiAgICogQHR5cGUge3N0cmluZ31cbiAgICovXG4gIHRtcERpciA9IG9zVG1wRGlyKCksXG5cbiAgLy8gdGhlIHJhbmRvbSBjaGFyYWN0ZXJzIHRvIGNob29zZSBmcm9tXG4gIFJBTkRPTV9DSEFSUyA9ICcwMTIzNDU2Nzg5QUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eicsXG5cbiAgVEVNUExBVEVfUEFUVEVSTiA9IC9YWFhYWFgvLFxuXG4gIERFRkFVTFRfVFJJRVMgPSAzLFxuXG4gIENSRUFURV9GTEFHUyA9IChfYy5PX0NSRUFUIHx8IF9jLmZzLk9fQ1JFQVQpIHwgKF9jLk9fRVhDTCB8fCBfYy5mcy5PX0VYQ0wpIHwgKF9jLk9fUkRXUiB8fCBfYy5mcy5PX1JEV1IpLFxuXG4gIEVCQURGID0gX2MuRUJBREYgfHwgX2Mub3MuZXJybm8uRUJBREYsXG4gIEVOT0VOVCA9IF9jLkVOT0VOVCB8fCBfYy5vcy5lcnJuby5FTk9FTlQsXG5cbiAgRElSX01PREUgPSA0NDggLyogMG83MDAgKi8sXG4gIEZJTEVfTU9ERSA9IDM4NCAvKiAwbzYwMCAqLyxcblxuICAvLyB0aGlzIHdpbGwgaG9sZCB0aGUgb2JqZWN0cyBuZWVkIHRvIGJlIHJlbW92ZWQgb24gZXhpdFxuICBfcmVtb3ZlT2JqZWN0cyA9IFtdO1xuXG52YXJcbiAgX2dyYWNlZnVsQ2xlYW51cCA9IGZhbHNlLFxuICBfdW5jYXVnaHRFeGNlcHRpb24gPSBmYWxzZTtcblxuLyoqXG4gKiBSYW5kb20gbmFtZSBnZW5lcmF0b3IgYmFzZWQgb24gY3J5cHRvLlxuICogQWRhcHRlZCBmcm9tIGh0dHA6Ly9ibG9nLnRvbXBhd2xhay5vcmcvaG93LXRvLWdlbmVyYXRlLXJhbmRvbS12YWx1ZXMtbm9kZWpzLWphdmFzY3JpcHRcbiAqXG4gKiBAcGFyYW0ge251bWJlcn0gaG93TWFueVxuICogQHJldHVybnMge3N0cmluZ30gdGhlIGdlbmVyYXRlZCByYW5kb20gbmFtZVxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gX3JhbmRvbUNoYXJzKGhvd01hbnkpIHtcbiAgdmFyXG4gICAgdmFsdWUgPSBbXSxcbiAgICBybmQgPSBudWxsO1xuXG4gIC8vIG1ha2Ugc3VyZSB0aGF0IHdlIGRvIG5vdCBmYWlsIGJlY2F1c2Ugd2UgcmFuIG91dCBvZiBlbnRyb3B5XG4gIHRyeSB7XG4gICAgcm5kID0gY3J5cHRvLnJhbmRvbUJ5dGVzKGhvd01hbnkpO1xuICB9IGNhdGNoIChlKSB7XG4gICAgcm5kID0gY3J5cHRvLnBzZXVkb1JhbmRvbUJ5dGVzKGhvd01hbnkpO1xuICB9XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBob3dNYW55OyBpKyspIHtcbiAgICB2YWx1ZS5wdXNoKFJBTkRPTV9DSEFSU1tybmRbaV0gJSBSQU5ET01fQ0hBUlMubGVuZ3RoXSk7XG4gIH1cblxuICByZXR1cm4gdmFsdWUuam9pbignJyk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIGBvYmpgIHBhcmFtZXRlciBpcyBkZWZpbmVkIG9yIG5vdC5cbiAqXG4gKiBAcGFyYW0ge09iamVjdH0gb2JqXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gdHJ1ZSBpZiB0aGUgb2JqZWN0IGlzIHVuZGVmaW5lZFxuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gX2lzVW5kZWZpbmVkKG9iaikge1xuICByZXR1cm4gdHlwZW9mIG9iaiA9PT0gJ3VuZGVmaW5lZCc7XG59XG5cbi8qKlxuICogUGFyc2VzIHRoZSBmdW5jdGlvbiBhcmd1bWVudHMuXG4gKlxuICogVGhpcyBmdW5jdGlvbiBoZWxwcyB0byBoYXZlIG9wdGlvbmFsIGFyZ3VtZW50cy5cbiAqXG4gKiBAcGFyYW0geyhPcHRpb25zfEZ1bmN0aW9uKX0gb3B0aW9uc1xuICogQHBhcmFtIHtGdW5jdGlvbn0gY2FsbGJhY2tcbiAqIEByZXR1cm5zIHtBcnJheX0gcGFyc2VkIGFyZ3VtZW50c1xuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gX3BhcnNlQXJndW1lbnRzKG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gIGlmICh0eXBlb2Ygb3B0aW9ucyA9PSAnZnVuY3Rpb24nKSB7XG4gICAgcmV0dXJuIFtjYWxsYmFjayB8fCB7fSwgb3B0aW9uc107XG4gIH1cblxuICBpZiAoX2lzVW5kZWZpbmVkKG9wdGlvbnMpKSB7XG4gICAgcmV0dXJuIFt7fSwgY2FsbGJhY2tdO1xuICB9XG5cbiAgcmV0dXJuIFtvcHRpb25zLCBjYWxsYmFja107XG59XG5cbi8qKlxuICogR2VuZXJhdGVzIGEgbmV3IHRlbXBvcmFyeSBuYW1lLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzXG4gKiBAcmV0dXJucyB7c3RyaW5nfSB0aGUgbmV3IHJhbmRvbSBuYW1lIGFjY29yZGluZyB0byBvcHRzXG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBfZ2VuZXJhdGVUbXBOYW1lKG9wdHMpIHtcbiAgaWYgKG9wdHMubmFtZSkge1xuICAgIHJldHVybiBwYXRoLmpvaW4ob3B0cy5kaXIgfHwgdG1wRGlyLCBvcHRzLm5hbWUpO1xuICB9XG5cbiAgLy8gbWtzdGVtcHMgbGlrZSB0ZW1wbGF0ZVxuICBpZiAob3B0cy50ZW1wbGF0ZSkge1xuICAgIHJldHVybiBvcHRzLnRlbXBsYXRlLnJlcGxhY2UoVEVNUExBVEVfUEFUVEVSTiwgX3JhbmRvbUNoYXJzKDYpKTtcbiAgfVxuXG4gIC8vIHByZWZpeCBhbmQgcG9zdGZpeFxuICBjb25zdCBuYW1lID0gW1xuICAgIG9wdHMucHJlZml4IHx8ICd0bXAtJyxcbiAgICBwcm9jZXNzLnBpZCxcbiAgICBfcmFuZG9tQ2hhcnMoMTIpLFxuICAgIG9wdHMucG9zdGZpeCB8fCAnJ1xuICBdLmpvaW4oJycpO1xuXG4gIHJldHVybiBwYXRoLmpvaW4ob3B0cy5kaXIgfHwgdG1wRGlyLCBuYW1lKTtcbn1cblxuLyoqXG4gKiBHZXRzIGEgdGVtcG9yYXJ5IGZpbGUgbmFtZS5cbiAqXG4gKiBAcGFyYW0geyhPcHRpb25zfHRtcE5hbWVDYWxsYmFjayl9IG9wdGlvbnMgb3B0aW9ucyBvciBjYWxsYmFja1xuICogQHBhcmFtIHs/dG1wTmFtZUNhbGxiYWNrfSBjYWxsYmFjayB0aGUgY2FsbGJhY2sgZnVuY3Rpb25cbiAqL1xuZnVuY3Rpb24gdG1wTmFtZShvcHRpb25zLCBjYWxsYmFjaykge1xuICB2YXJcbiAgICBhcmdzID0gX3BhcnNlQXJndW1lbnRzKG9wdGlvbnMsIGNhbGxiYWNrKSxcbiAgICBvcHRzID0gYXJnc1swXSxcbiAgICBjYiA9IGFyZ3NbMV0sXG4gICAgdHJpZXMgPSBvcHRzLm5hbWUgPyAxIDogb3B0cy50cmllcyB8fCBERUZBVUxUX1RSSUVTO1xuXG4gIGlmIChpc05hTih0cmllcykgfHwgdHJpZXMgPCAwKVxuICAgIHJldHVybiBjYihuZXcgRXJyb3IoJ0ludmFsaWQgdHJpZXMnKSk7XG5cbiAgaWYgKG9wdHMudGVtcGxhdGUgJiYgIW9wdHMudGVtcGxhdGUubWF0Y2goVEVNUExBVEVfUEFUVEVSTikpXG4gICAgcmV0dXJuIGNiKG5ldyBFcnJvcignSW52YWxpZCB0ZW1wbGF0ZSBwcm92aWRlZCcpKTtcblxuICAoZnVuY3Rpb24gX2dldFVuaXF1ZU5hbWUoKSB7XG4gICAgY29uc3QgbmFtZSA9IF9nZW5lcmF0ZVRtcE5hbWUob3B0cyk7XG5cbiAgICAvLyBjaGVjayB3aGV0aGVyIHRoZSBwYXRoIGV4aXN0cyB0aGVuIHJldHJ5IGlmIG5lZWRlZFxuICAgIGZzLnN0YXQobmFtZSwgZnVuY3Rpb24gKGVycikge1xuICAgICAgaWYgKCFlcnIpIHtcbiAgICAgICAgaWYgKHRyaWVzLS0gPiAwKSByZXR1cm4gX2dldFVuaXF1ZU5hbWUoKTtcblxuICAgICAgICByZXR1cm4gY2IobmV3IEVycm9yKCdDb3VsZCBub3QgZ2V0IGEgdW5pcXVlIHRtcCBmaWxlbmFtZSwgbWF4IHRyaWVzIHJlYWNoZWQgJyArIG5hbWUpKTtcbiAgICAgIH1cblxuICAgICAgY2IobnVsbCwgbmFtZSk7XG4gICAgfSk7XG4gIH0oKSk7XG59XG5cbi8qKlxuICogU3luY2hyb25vdXMgdmVyc2lvbiBvZiB0bXBOYW1lLlxuICpcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRpb25zXG4gKiBAcmV0dXJucyB7c3RyaW5nfSB0aGUgZ2VuZXJhdGVkIHJhbmRvbSBuYW1lXG4gKiBAdGhyb3dzIHtFcnJvcn0gaWYgdGhlIG9wdGlvbnMgYXJlIGludmFsaWQgb3IgY291bGQgbm90IGdlbmVyYXRlIGEgZmlsZW5hbWVcbiAqL1xuZnVuY3Rpb24gdG1wTmFtZVN5bmMob3B0aW9ucykge1xuICB2YXJcbiAgICBhcmdzID0gX3BhcnNlQXJndW1lbnRzKG9wdGlvbnMpLFxuICAgIG9wdHMgPSBhcmdzWzBdLFxuICAgIHRyaWVzID0gb3B0cy5uYW1lID8gMSA6IG9wdHMudHJpZXMgfHwgREVGQVVMVF9UUklFUztcblxuICBpZiAoaXNOYU4odHJpZXMpIHx8IHRyaWVzIDwgMClcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdHJpZXMnKTtcblxuICBpZiAob3B0cy50ZW1wbGF0ZSAmJiAhb3B0cy50ZW1wbGF0ZS5tYXRjaChURU1QTEFURV9QQVRURVJOKSlcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgdGVtcGxhdGUgcHJvdmlkZWQnKTtcblxuICBkbyB7XG4gICAgY29uc3QgbmFtZSA9IF9nZW5lcmF0ZVRtcE5hbWUob3B0cyk7XG4gICAgdHJ5IHtcbiAgICAgIGZzLnN0YXRTeW5jKG5hbWUpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHJldHVybiBuYW1lO1xuICAgIH1cbiAgfSB3aGlsZSAodHJpZXMtLSA+IDApO1xuXG4gIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGdldCBhIHVuaXF1ZSB0bXAgZmlsZW5hbWUsIG1heCB0cmllcyByZWFjaGVkJyk7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbmQgb3BlbnMgYSB0ZW1wb3JhcnkgZmlsZS5cbiAqXG4gKiBAcGFyYW0geyhPcHRpb25zfGZpbGVDYWxsYmFjayl9IG9wdGlvbnMgdGhlIGNvbmZpZyBvcHRpb25zIG9yIHRoZSBjYWxsYmFjayBmdW5jdGlvblxuICogQHBhcmFtIHs/ZmlsZUNhbGxiYWNrfSBjYWxsYmFja1xuICovXG5mdW5jdGlvbiBmaWxlKG9wdGlvbnMsIGNhbGxiYWNrKSB7XG4gIHZhclxuICAgIGFyZ3MgPSBfcGFyc2VBcmd1bWVudHMob3B0aW9ucywgY2FsbGJhY2spLFxuICAgIG9wdHMgPSBhcmdzWzBdLFxuICAgIGNiID0gYXJnc1sxXTtcblxuICBvcHRzLnBvc3RmaXggPSAoX2lzVW5kZWZpbmVkKG9wdHMucG9zdGZpeCkpID8gJy50bXAnIDogb3B0cy5wb3N0Zml4O1xuXG4gIC8vIGdldHMgYSB0ZW1wb3JhcnkgZmlsZW5hbWVcbiAgdG1wTmFtZShvcHRzLCBmdW5jdGlvbiBfdG1wTmFtZUNyZWF0ZWQoZXJyLCBuYW1lKSB7XG4gICAgaWYgKGVycikgcmV0dXJuIGNiKGVycik7XG5cbiAgICAvLyBjcmVhdGUgYW5kIG9wZW4gdGhlIGZpbGVcbiAgICBmcy5vcGVuKG5hbWUsIENSRUFURV9GTEFHUywgb3B0cy5tb2RlIHx8IEZJTEVfTU9ERSwgZnVuY3Rpb24gX2ZpbGVDcmVhdGVkKGVyciwgZmQpIHtcbiAgICAgIGlmIChlcnIpIHJldHVybiBjYihlcnIpO1xuXG4gICAgICBpZiAob3B0cy5kaXNjYXJkRGVzY3JpcHRvcikge1xuICAgICAgICByZXR1cm4gZnMuY2xvc2UoZmQsIGZ1bmN0aW9uIF9kaXNjYXJkQ2FsbGJhY2soZXJyKSB7XG4gICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgLy8gTG93IHByb2JhYmlsaXR5LCBhbmQgdGhlIGZpbGUgZXhpc3RzLCBzbyB0aGlzIGNvdWxkIGJlXG4gICAgICAgICAgICAvLyBpZ25vcmVkLiAgSWYgaXQgaXNuJ3Qgd2UgY2VydGFpbmx5IG5lZWQgdG8gdW5saW5rIHRoZVxuICAgICAgICAgICAgLy8gZmlsZSwgYW5kIGlmIHRoYXQgZmFpbHMgdG9vIGl0cyBlcnJvciBpcyBtb3JlXG4gICAgICAgICAgICAvLyBpbXBvcnRhbnQuXG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBmcy51bmxpbmtTeW5jKG5hbWUpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICBpZiAoIWlzRU5PRU5UKGUpKSB7XG4gICAgICAgICAgICAgICAgZXJyID0gZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGNiKGVycik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNiKG51bGwsIG5hbWUsIHVuZGVmaW5lZCwgX3ByZXBhcmVUbXBGaWxlUmVtb3ZlQ2FsbGJhY2sobmFtZSwgLTEsIG9wdHMpKTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBpZiAob3B0cy5kZXRhY2hEZXNjcmlwdG9yKSB7XG4gICAgICAgIHJldHVybiBjYihudWxsLCBuYW1lLCBmZCwgX3ByZXBhcmVUbXBGaWxlUmVtb3ZlQ2FsbGJhY2sobmFtZSwgLTEsIG9wdHMpKTtcbiAgICAgIH1cbiAgICAgIGNiKG51bGwsIG5hbWUsIGZkLCBfcHJlcGFyZVRtcEZpbGVSZW1vdmVDYWxsYmFjayhuYW1lLCBmZCwgb3B0cykpO1xuICAgIH0pO1xuICB9KTtcbn1cblxuLyoqXG4gKiBTeW5jaHJvbm91cyB2ZXJzaW9uIG9mIGZpbGUuXG4gKlxuICogQHBhcmFtIHtPcHRpb25zfSBvcHRpb25zXG4gKiBAcmV0dXJucyB7RmlsZVN5bmNPYmplY3R9IG9iamVjdCBjb25zaXN0cyBvZiBuYW1lLCBmZCBhbmQgcmVtb3ZlQ2FsbGJhY2tcbiAqIEB0aHJvd3Mge0Vycm9yfSBpZiBjYW5ub3QgY3JlYXRlIGEgZmlsZVxuICovXG5mdW5jdGlvbiBmaWxlU3luYyhvcHRpb25zKSB7XG4gIHZhclxuICAgIGFyZ3MgPSBfcGFyc2VBcmd1bWVudHMob3B0aW9ucyksXG4gICAgb3B0cyA9IGFyZ3NbMF07XG5cbiAgb3B0cy5wb3N0Zml4ID0gb3B0cy5wb3N0Zml4IHx8ICcudG1wJztcblxuICBjb25zdCBkaXNjYXJkT3JEZXRhY2hEZXNjcmlwdG9yID0gb3B0cy5kaXNjYXJkRGVzY3JpcHRvciB8fCBvcHRzLmRldGFjaERlc2NyaXB0b3I7XG4gIGNvbnN0IG5hbWUgPSB0bXBOYW1lU3luYyhvcHRzKTtcbiAgdmFyIGZkID0gZnMub3BlblN5bmMobmFtZSwgQ1JFQVRFX0ZMQUdTLCBvcHRzLm1vZGUgfHwgRklMRV9NT0RFKTtcbiAgaWYgKG9wdHMuZGlzY2FyZERlc2NyaXB0b3IpIHtcbiAgICBmcy5jbG9zZVN5bmMoZmQpOyBcbiAgICBmZCA9IHVuZGVmaW5lZDtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbmFtZTogbmFtZSxcbiAgICBmZDogZmQsXG4gICAgcmVtb3ZlQ2FsbGJhY2s6IF9wcmVwYXJlVG1wRmlsZVJlbW92ZUNhbGxiYWNrKG5hbWUsIGRpc2NhcmRPckRldGFjaERlc2NyaXB0b3IgPyAtMSA6IGZkLCBvcHRzKVxuICB9O1xufVxuXG4vKipcbiAqIFJlbW92ZXMgZmlsZXMgYW5kIGZvbGRlcnMgaW4gYSBkaXJlY3RvcnkgcmVjdXJzaXZlbHkuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IHJvb3RcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIF9ybWRpclJlY3Vyc2l2ZVN5bmMocm9vdCkge1xuICBjb25zdCBkaXJzID0gW3Jvb3RdO1xuXG4gIGRvIHtcbiAgICB2YXJcbiAgICAgIGRpciA9IGRpcnMucG9wKCksXG4gICAgICBkZWZlcnJlZCA9IGZhbHNlLFxuICAgICAgZmlsZXMgPSBmcy5yZWFkZGlyU3luYyhkaXIpO1xuXG4gICAgZm9yICh2YXIgaSA9IDAsIGxlbmd0aCA9IGZpbGVzLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSsrKSB7XG4gICAgICB2YXJcbiAgICAgICAgZmlsZSA9IHBhdGguam9pbihkaXIsIGZpbGVzW2ldKSxcbiAgICAgICAgc3RhdCA9IGZzLmxzdGF0U3luYyhmaWxlKTsgLy8gbHN0YXQgc28gd2UgZG9uJ3QgcmVjdXJzZSBpbnRvIHN5bWxpbmtlZCBkaXJlY3Rvcmllc1xuXG4gICAgICBpZiAoc3RhdC5pc0RpcmVjdG9yeSgpKSB7XG4gICAgICAgIGlmICghZGVmZXJyZWQpIHtcbiAgICAgICAgICBkZWZlcnJlZCA9IHRydWU7XG4gICAgICAgICAgZGlycy5wdXNoKGRpcik7XG4gICAgICAgIH1cbiAgICAgICAgZGlycy5wdXNoKGZpbGUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZnMudW5saW5rU3luYyhmaWxlKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoIWRlZmVycmVkKSB7XG4gICAgICBmcy5ybWRpclN5bmMoZGlyKTtcbiAgICB9XG4gIH0gd2hpbGUgKGRpcnMubGVuZ3RoICE9PSAwKTtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeS5cbiAqXG4gKiBAcGFyYW0geyhPcHRpb25zfGRpckNhbGxiYWNrKX0gb3B0aW9ucyB0aGUgb3B0aW9ucyBvciB0aGUgY2FsbGJhY2sgZnVuY3Rpb25cbiAqIEBwYXJhbSB7P2RpckNhbGxiYWNrfSBjYWxsYmFja1xuICovXG5mdW5jdGlvbiBkaXIob3B0aW9ucywgY2FsbGJhY2spIHtcbiAgdmFyXG4gICAgYXJncyA9IF9wYXJzZUFyZ3VtZW50cyhvcHRpb25zLCBjYWxsYmFjayksXG4gICAgb3B0cyA9IGFyZ3NbMF0sXG4gICAgY2IgPSBhcmdzWzFdO1xuXG4gIC8vIGdldHMgYSB0ZW1wb3JhcnkgZmlsZW5hbWVcbiAgdG1wTmFtZShvcHRzLCBmdW5jdGlvbiBfdG1wTmFtZUNyZWF0ZWQoZXJyLCBuYW1lKSB7XG4gICAgaWYgKGVycikgcmV0dXJuIGNiKGVycik7XG5cbiAgICAvLyBjcmVhdGUgdGhlIGRpcmVjdG9yeVxuICAgIGZzLm1rZGlyKG5hbWUsIG9wdHMubW9kZSB8fCBESVJfTU9ERSwgZnVuY3Rpb24gX2RpckNyZWF0ZWQoZXJyKSB7XG4gICAgICBpZiAoZXJyKSByZXR1cm4gY2IoZXJyKTtcblxuICAgICAgY2IobnVsbCwgbmFtZSwgX3ByZXBhcmVUbXBEaXJSZW1vdmVDYWxsYmFjayhuYW1lLCBvcHRzKSk7XG4gICAgfSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIFN5bmNocm9ub3VzIHZlcnNpb24gb2YgZGlyLlxuICpcbiAqIEBwYXJhbSB7T3B0aW9uc30gb3B0aW9uc1xuICogQHJldHVybnMge0RpclN5bmNPYmplY3R9IG9iamVjdCBjb25zaXN0cyBvZiBuYW1lIGFuZCByZW1vdmVDYWxsYmFja1xuICogQHRocm93cyB7RXJyb3J9IGlmIGl0IGNhbm5vdCBjcmVhdGUgYSBkaXJlY3RvcnlcbiAqL1xuZnVuY3Rpb24gZGlyU3luYyhvcHRpb25zKSB7XG4gIHZhclxuICAgIGFyZ3MgPSBfcGFyc2VBcmd1bWVudHMob3B0aW9ucyksXG4gICAgb3B0cyA9IGFyZ3NbMF07XG5cbiAgY29uc3QgbmFtZSA9IHRtcE5hbWVTeW5jKG9wdHMpO1xuICBmcy5ta2RpclN5bmMobmFtZSwgb3B0cy5tb2RlIHx8IERJUl9NT0RFKTtcblxuICByZXR1cm4ge1xuICAgIG5hbWU6IG5hbWUsXG4gICAgcmVtb3ZlQ2FsbGJhY2s6IF9wcmVwYXJlVG1wRGlyUmVtb3ZlQ2FsbGJhY2sobmFtZSwgb3B0cylcbiAgfTtcbn1cblxuLyoqXG4gKiBQcmVwYXJlcyB0aGUgY2FsbGJhY2sgZm9yIHJlbW92YWwgb2YgdGhlIHRlbXBvcmFyeSBmaWxlLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIHRoZSBwYXRoIG9mIHRoZSBmaWxlXG4gKiBAcGFyYW0ge251bWJlcn0gZmQgZmlsZSBkZXNjcmlwdG9yXG4gKiBAcGFyYW0ge09iamVjdH0gb3B0c1xuICogQHJldHVybnMge2ZpbGVDYWxsYmFja31cbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIF9wcmVwYXJlVG1wRmlsZVJlbW92ZUNhbGxiYWNrKG5hbWUsIGZkLCBvcHRzKSB7XG4gIGNvbnN0IHJlbW92ZUNhbGxiYWNrID0gX3ByZXBhcmVSZW1vdmVDYWxsYmFjayhmdW5jdGlvbiBfcmVtb3ZlQ2FsbGJhY2soZmRQYXRoKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICgwIDw9IGZkUGF0aFswXSkge1xuICAgICAgICBmcy5jbG9zZVN5bmMoZmRQYXRoWzBdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgIC8vIHVuZGVyIHNvbWUgbm9kZS93aW5kb3dzIHJlbGF0ZWQgY2lyY3Vtc3RhbmNlcywgYSB0ZW1wb3JhcnkgZmlsZVxuICAgICAgLy8gbWF5IGhhdmUgbm90IGJlIGNyZWF0ZWQgYXMgZXhwZWN0ZWQgb3IgdGhlIGZpbGUgd2FzIGFscmVhZHkgY2xvc2VkXG4gICAgICAvLyBieSB0aGUgdXNlciwgaW4gd2hpY2ggY2FzZSB3ZSB3aWxsIHNpbXBseSBpZ25vcmUgdGhlIGVycm9yXG4gICAgICBpZiAoIWlzRUJBREYoZSkgJiYgIWlzRU5PRU5UKGUpKSB7XG4gICAgICAgIC8vIHJlcmFpc2UgYW55IHVuYW50aWNpcGF0ZWQgZXJyb3JcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGZzLnVubGlua1N5bmMoZmRQYXRoWzFdKTtcbiAgICB9XG4gICAgY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghaXNFTk9FTlQoZSkpIHtcbiAgICAgICAgLy8gcmVyYWlzZSBhbnkgdW5hbnRpY2lwYXRlZCBlcnJvclxuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH1cbiAgfSwgW2ZkLCBuYW1lXSk7XG5cbiAgaWYgKCFvcHRzLmtlZXApIHtcbiAgICBfcmVtb3ZlT2JqZWN0cy51bnNoaWZ0KHJlbW92ZUNhbGxiYWNrKTtcbiAgfVxuXG4gIHJldHVybiByZW1vdmVDYWxsYmFjaztcbn1cblxuLyoqXG4gKiBQcmVwYXJlcyB0aGUgY2FsbGJhY2sgZm9yIHJlbW92YWwgb2YgdGhlIHRlbXBvcmFyeSBkaXJlY3RvcnkuXG4gKlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7T2JqZWN0fSBvcHRzXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259IHRoZSBjYWxsYmFja1xuICogQHByaXZhdGVcbiAqL1xuZnVuY3Rpb24gX3ByZXBhcmVUbXBEaXJSZW1vdmVDYWxsYmFjayhuYW1lLCBvcHRzKSB7XG4gIGNvbnN0IHJlbW92ZUZ1bmN0aW9uID0gb3B0cy51bnNhZmVDbGVhbnVwID8gX3JtZGlyUmVjdXJzaXZlU3luYyA6IGZzLnJtZGlyU3luYy5iaW5kKGZzKTtcbiAgY29uc3QgcmVtb3ZlQ2FsbGJhY2sgPSBfcHJlcGFyZVJlbW92ZUNhbGxiYWNrKHJlbW92ZUZ1bmN0aW9uLCBuYW1lKTtcblxuICBpZiAoIW9wdHMua2VlcCkge1xuICAgIF9yZW1vdmVPYmplY3RzLnVuc2hpZnQocmVtb3ZlQ2FsbGJhY2spO1xuICB9XG5cbiAgcmV0dXJuIHJlbW92ZUNhbGxiYWNrO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBndWFyZGVkIGZ1bmN0aW9uIHdyYXBwaW5nIHRoZSByZW1vdmVGdW5jdGlvbiBjYWxsLlxuICpcbiAqIEBwYXJhbSB7RnVuY3Rpb259IHJlbW92ZUZ1bmN0aW9uXG4gKiBAcGFyYW0ge09iamVjdH0gYXJnXG4gKiBAcmV0dXJucyB7RnVuY3Rpb259XG4gKiBAcHJpdmF0ZVxuICovXG5mdW5jdGlvbiBfcHJlcGFyZVJlbW92ZUNhbGxiYWNrKHJlbW92ZUZ1bmN0aW9uLCBhcmcpIHtcbiAgdmFyIGNhbGxlZCA9IGZhbHNlO1xuXG4gIHJldHVybiBmdW5jdGlvbiBfY2xlYW51cENhbGxiYWNrKG5leHQpIHtcbiAgICBpZiAoIWNhbGxlZCkge1xuICAgICAgY29uc3QgaW5kZXggPSBfcmVtb3ZlT2JqZWN0cy5pbmRleE9mKF9jbGVhbnVwQ2FsbGJhY2spO1xuICAgICAgaWYgKGluZGV4ID49IDApIHtcbiAgICAgICAgX3JlbW92ZU9iamVjdHMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIH1cblxuICAgICAgY2FsbGVkID0gdHJ1ZTtcbiAgICAgIHJlbW92ZUZ1bmN0aW9uKGFyZyk7XG4gICAgfVxuXG4gICAgaWYgKG5leHQpIG5leHQobnVsbCk7XG4gIH07XG59XG5cbi8qKlxuICogVGhlIGdhcmJhZ2UgY29sbGVjdG9yLlxuICpcbiAqIEBwcml2YXRlXG4gKi9cbmZ1bmN0aW9uIF9nYXJiYWdlQ29sbGVjdG9yKCkge1xuICBpZiAoX3VuY2F1Z2h0RXhjZXB0aW9uICYmICFfZ3JhY2VmdWxDbGVhbnVwKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gdGhlIGZ1bmN0aW9uIGJlaW5nIGNhbGxlZCByZW1vdmVzIGl0c2VsZiBmcm9tIF9yZW1vdmVPYmplY3RzLFxuICAvLyBsb29wIHVudGlsIF9yZW1vdmVPYmplY3RzIGlzIGVtcHR5XG4gIHdoaWxlIChfcmVtb3ZlT2JqZWN0cy5sZW5ndGgpIHtcbiAgICB0cnkge1xuICAgICAgX3JlbW92ZU9iamVjdHNbMF0uY2FsbChudWxsKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICAvLyBhbHJlYWR5IHJlbW92ZWQ/XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogSGVscGVyIGZvciB0ZXN0aW5nIGFnYWluc3QgRUJBREYgdG8gY29tcGVuc2F0ZSBjaGFuZ2VzIG1hZGUgdG8gTm9kZSA3LnggdW5kZXIgV2luZG93cy5cbiAqL1xuZnVuY3Rpb24gaXNFQkFERihlcnJvcikge1xuICByZXR1cm4gaXNFeHBlY3RlZEVycm9yKGVycm9yLCAtRUJBREYsICdFQkFERicpO1xufVxuXG4vKipcbiAqIEhlbHBlciBmb3IgdGVzdGluZyBhZ2FpbnN0IEVOT0VOVCB0byBjb21wZW5zYXRlIGNoYW5nZXMgbWFkZSB0byBOb2RlIDcueCB1bmRlciBXaW5kb3dzLlxuICovXG5mdW5jdGlvbiBpc0VOT0VOVChlcnJvcikge1xuICByZXR1cm4gaXNFeHBlY3RlZEVycm9yKGVycm9yLCAtRU5PRU5ULCAnRU5PRU5UJyk7XG59XG5cbi8qKlxuICogSGVscGVyIHRvIGRldGVybWluZSB3aGV0aGVyIHRoZSBleHBlY3RlZCBlcnJvciBjb2RlIG1hdGNoZXMgdGhlIGFjdHVhbCBjb2RlIGFuZCBlcnJubyxcbiAqIHdoaWNoIHdpbGwgZGlmZmVyIGJldHdlZW4gdGhlIHN1cHBvcnRlZCBub2RlIHZlcnNpb25zLlxuICpcbiAqIC0gTm9kZSA+PSA3LjA6XG4gKiAgIGVycm9yLmNvZGUge1N0cmluZ31cbiAqICAgZXJyb3IuZXJybm8ge1N0cmluZ3xOdW1iZXJ9IGFueSBudW1lcmljYWwgdmFsdWUgd2lsbCBiZSBuZWdhdGVkXG4gKlxuICogLSBOb2RlID49IDYuMCA8IDcuMDpcbiAqICAgZXJyb3IuY29kZSB7U3RyaW5nfVxuICogICBlcnJvci5lcnJubyB7TnVtYmVyfSBuZWdhdGVkXG4gKlxuICogLSBOb2RlID49IDQuMCA8IDYuMDogaW50cm9kdWNlcyBTeXN0ZW1FcnJvclxuICogICBlcnJvci5jb2RlIHtTdHJpbmd9XG4gKiAgIGVycm9yLmVycm5vIHtOdW1iZXJ9IG5lZ2F0ZWRcbiAqXG4gKiAtIE5vZGUgPj0gMC4xMCA8IDQuMDpcbiAqICAgZXJyb3IuY29kZSB7TnVtYmVyfSBuZWdhdGVkXG4gKiAgIGVycm9yLmVycm5vIG4vYVxuICovXG5mdW5jdGlvbiBpc0V4cGVjdGVkRXJyb3IoZXJyb3IsIGNvZGUsIGVycm5vKSB7XG4gIHJldHVybiBlcnJvci5jb2RlID09IGNvZGUgfHwgZXJyb3IuY29kZSA9PSBlcnJubztcbn1cblxuLyoqXG4gKiBTZXRzIHRoZSBncmFjZWZ1bCBjbGVhbnVwLlxuICpcbiAqIEFsc28gcmVtb3ZlcyB0aGUgY3JlYXRlZCBmaWxlcyBhbmQgZGlyZWN0b3JpZXMgd2hlbiBhbiB1bmNhdWdodCBleGNlcHRpb24gb2NjdXJzLlxuICovXG5mdW5jdGlvbiBzZXRHcmFjZWZ1bENsZWFudXAoKSB7XG4gIF9ncmFjZWZ1bENsZWFudXAgPSB0cnVlO1xufVxuXG5jb25zdCB2ZXJzaW9uID0gcHJvY2Vzcy52ZXJzaW9ucy5ub2RlLnNwbGl0KCcuJykubWFwKGZ1bmN0aW9uICh2YWx1ZSkge1xuICByZXR1cm4gcGFyc2VJbnQodmFsdWUsIDEwKTtcbn0pO1xuXG5pZiAodmVyc2lvblswXSA9PT0gMCAmJiAodmVyc2lvblsxXSA8IDkgfHwgdmVyc2lvblsxXSA9PT0gOSAmJiB2ZXJzaW9uWzJdIDwgNSkpIHtcbiAgcHJvY2Vzcy5hZGRMaXN0ZW5lcigndW5jYXVnaHRFeGNlcHRpb24nLCBmdW5jdGlvbiBfdW5jYXVnaHRFeGNlcHRpb25UaHJvd24oZXJyKSB7XG4gICAgX3VuY2F1Z2h0RXhjZXB0aW9uID0gdHJ1ZTtcbiAgICBfZ2FyYmFnZUNvbGxlY3RvcigpO1xuXG4gICAgdGhyb3cgZXJyO1xuICB9KTtcbn1cblxucHJvY2Vzcy5hZGRMaXN0ZW5lcignZXhpdCcsIGZ1bmN0aW9uIF9leGl0KGNvZGUpIHtcbiAgaWYgKGNvZGUpIF91bmNhdWdodEV4Y2VwdGlvbiA9IHRydWU7XG4gIF9nYXJiYWdlQ29sbGVjdG9yKCk7XG59KTtcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIG9wdGlvbnMuXG4gKlxuICogQHR5cGVkZWYge09iamVjdH0gT3B0aW9uc1xuICogQHByb3BlcnR5IHs/bnVtYmVyfSB0cmllcyB0aGUgbnVtYmVyIG9mIHRyaWVzIGJlZm9yZSBnaXZlIHVwIHRoZSBuYW1lIGdlbmVyYXRpb25cbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gdGVtcGxhdGUgdGhlIFwibWtzdGVtcFwiIGxpa2UgZmlsZW5hbWUgdGVtcGxhdGVcbiAqIEBwcm9wZXJ0eSB7P3N0cmluZ30gbmFtZSBmaXggbmFtZVxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBkaXIgdGhlIHRtcCBkaXJlY3RvcnkgdG8gdXNlXG4gKiBAcHJvcGVydHkgez9zdHJpbmd9IHByZWZpeCBwcmVmaXggZm9yIHRoZSBnZW5lcmF0ZWQgbmFtZVxuICogQHByb3BlcnR5IHs/c3RyaW5nfSBwb3N0Zml4IHBvc3RmaXggZm9yIHRoZSBnZW5lcmF0ZWQgbmFtZVxuICovXG5cbi8qKlxuICogQHR5cGVkZWYge09iamVjdH0gRmlsZVN5bmNPYmplY3RcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lIHRoZSBuYW1lIG9mIHRoZSBmaWxlXG4gKiBAcHJvcGVydHkge3N0cmluZ30gZmQgdGhlIGZpbGUgZGVzY3JpcHRvclxuICogQHByb3BlcnR5IHtmaWxlQ2FsbGJhY2t9IHJlbW92ZUNhbGxiYWNrIHRoZSBjYWxsYmFjayBmdW5jdGlvbiB0byByZW1vdmUgdGhlIGZpbGVcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IERpclN5bmNPYmplY3RcbiAqIEBwcm9wZXJ0eSB7c3RyaW5nfSBuYW1lIHRoZSBuYW1lIG9mIHRoZSBkaXJlY3RvcnlcbiAqIEBwcm9wZXJ0eSB7ZmlsZUNhbGxiYWNrfSByZW1vdmVDYWxsYmFjayB0aGUgY2FsbGJhY2sgZnVuY3Rpb24gdG8gcmVtb3ZlIHRoZSBkaXJlY3RvcnlcbiAqL1xuXG4vKipcbiAqIEBjYWxsYmFjayB0bXBOYW1lQ2FsbGJhY2tcbiAqIEBwYXJhbSB7P0Vycm9yfSBlcnIgdGhlIGVycm9yIG9iamVjdCBpZiBhbnl0aGluZyBnb2VzIHdyb25nXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSB0aGUgdGVtcG9yYXJ5IGZpbGUgbmFtZVxuICovXG5cbi8qKlxuICogQGNhbGxiYWNrIGZpbGVDYWxsYmFja1xuICogQHBhcmFtIHs/RXJyb3J9IGVyciB0aGUgZXJyb3Igb2JqZWN0IGlmIGFueXRoaW5nIGdvZXMgd3JvbmdcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIHRoZSB0ZW1wb3JhcnkgZmlsZSBuYW1lXG4gKiBAcGFyYW0ge251bWJlcn0gZmQgdGhlIGZpbGUgZGVzY3JpcHRvclxuICogQHBhcmFtIHtjbGVhbnVwQ2FsbGJhY2t9IGZuIHRoZSBjbGVhbnVwIGNhbGxiYWNrIGZ1bmN0aW9uXG4gKi9cblxuLyoqXG4gKiBAY2FsbGJhY2sgZGlyQ2FsbGJhY2tcbiAqIEBwYXJhbSB7P0Vycm9yfSBlcnIgdGhlIGVycm9yIG9iamVjdCBpZiBhbnl0aGluZyBnb2VzIHdyb25nXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZSB0aGUgdGVtcG9yYXJ5IGZpbGUgbmFtZVxuICogQHBhcmFtIHtjbGVhbnVwQ2FsbGJhY2t9IGZuIHRoZSBjbGVhbnVwIGNhbGxiYWNrIGZ1bmN0aW9uXG4gKi9cblxuLyoqXG4gKiBSZW1vdmVzIHRoZSB0ZW1wb3JhcnkgY3JlYXRlZCBmaWxlIG9yIGRpcmVjdG9yeS5cbiAqXG4gKiBAY2FsbGJhY2sgY2xlYW51cENhbGxiYWNrXG4gKiBAcGFyYW0ge3NpbXBsZUNhbGxiYWNrfSBbbmV4dF0gZnVuY3Rpb24gdG8gY2FsbCBhZnRlciBlbnRyeSB3YXMgcmVtb3ZlZFxuICovXG5cbi8qKlxuICogQ2FsbGJhY2sgZnVuY3Rpb24gZm9yIGZ1bmN0aW9uIGNvbXBvc2l0aW9uLlxuICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3Jhc3ppL25vZGUtdG1wL2lzc3Vlcy81N3xyYXN6aS9ub2RlLXRtcCM1N31cbiAqXG4gKiBAY2FsbGJhY2sgc2ltcGxlQ2FsbGJhY2tcbiAqL1xuXG4vLyBleHBvcnRpbmcgYWxsIHRoZSBuZWVkZWQgbWV0aG9kc1xubW9kdWxlLmV4cG9ydHMudG1wZGlyID0gdG1wRGlyO1xuXG5tb2R1bGUuZXhwb3J0cy5kaXIgPSBkaXI7XG5tb2R1bGUuZXhwb3J0cy5kaXJTeW5jID0gZGlyU3luYztcblxubW9kdWxlLmV4cG9ydHMuZmlsZSA9IGZpbGU7XG5tb2R1bGUuZXhwb3J0cy5maWxlU3luYyA9IGZpbGVTeW5jO1xuXG5tb2R1bGUuZXhwb3J0cy50bXBOYW1lID0gdG1wTmFtZTtcbm1vZHVsZS5leHBvcnRzLnRtcE5hbWVTeW5jID0gdG1wTmFtZVN5bmM7XG5cbm1vZHVsZS5leHBvcnRzLnNldEdyYWNlZnVsQ2xlYW51cCA9IHNldEdyYWNlZnVsQ2xlYW51cDtcbiIsICJcInVzZSBzdHJpY3RcIjtcbi8qKipcbiAqIE5vZGUgRXh0ZXJuYWwgRWRpdG9yXG4gKlxuICogS2V2aW4gR3JhdmllciA8a2V2aW5AbXJrbWcuY29tPlxuICogTUlUIDIwMThcbiAqL1xudmFyIF9fZXh0ZW5kcyA9ICh0aGlzICYmIHRoaXMuX19leHRlbmRzKSB8fCAoZnVuY3Rpb24gKCkge1xuICAgIHZhciBleHRlbmRTdGF0aWNzID0gZnVuY3Rpb24gKGQsIGIpIHtcbiAgICAgICAgZXh0ZW5kU3RhdGljcyA9IE9iamVjdC5zZXRQcm90b3R5cGVPZiB8fFxuICAgICAgICAgICAgKHsgX19wcm90b19fOiBbXSB9IGluc3RhbmNlb2YgQXJyYXkgJiYgZnVuY3Rpb24gKGQsIGIpIHsgZC5fX3Byb3RvX18gPSBiOyB9KSB8fFxuICAgICAgICAgICAgZnVuY3Rpb24gKGQsIGIpIHsgZm9yICh2YXIgcCBpbiBiKSBpZiAoYi5oYXNPd25Qcm9wZXJ0eShwKSkgZFtwXSA9IGJbcF07IH07XG4gICAgICAgIHJldHVybiBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICAgIH07XG4gICAgcmV0dXJuIGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MoZCwgYik7XG4gICAgICAgIGZ1bmN0aW9uIF9fKCkgeyB0aGlzLmNvbnN0cnVjdG9yID0gZDsgfVxuICAgICAgICBkLnByb3RvdHlwZSA9IGIgPT09IG51bGwgPyBPYmplY3QuY3JlYXRlKGIpIDogKF9fLnByb3RvdHlwZSA9IGIucHJvdG90eXBlLCBuZXcgX18oKSk7XG4gICAgfTtcbn0pKCk7XG5PYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG52YXIgQ3JlYXRlRmlsZUVycm9yID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhDcmVhdGVGaWxlRXJyb3IsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gQ3JlYXRlRmlsZUVycm9yKG9yaWdpbmFsRXJyb3IpIHtcbiAgICAgICAgdmFyIF9uZXdUYXJnZXQgPSB0aGlzLmNvbnN0cnVjdG9yO1xuICAgICAgICB2YXIgX3RoaXMgPSBfc3VwZXIuY2FsbCh0aGlzLCBcIkZhaWxlZCB0byBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUgZm9yIGVkaXRvclwiKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5vcmlnaW5hbEVycm9yID0gb3JpZ2luYWxFcnJvcjtcbiAgICAgICAgdmFyIHByb3RvID0gX25ld1RhcmdldC5wcm90b3R5cGU7XG4gICAgICAgIGlmIChPYmplY3Quc2V0UHJvdG90eXBlT2YpIHtcbiAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihfdGhpcywgcHJvdG8pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgX3RoaXMuX19wcm90b19fID0gX25ld1RhcmdldC5wcm90b3R5cGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICByZXR1cm4gQ3JlYXRlRmlsZUVycm9yO1xufShFcnJvcikpO1xuZXhwb3J0cy5DcmVhdGVGaWxlRXJyb3IgPSBDcmVhdGVGaWxlRXJyb3I7XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG4vKioqXG4gKiBOb2RlIEV4dGVybmFsIEVkaXRvclxuICpcbiAqIEtldmluIEdyYXZpZXIgPGtldmluQG1ya21nLmNvbT5cbiAqIE1JVCAyMDE4XG4gKi9cbnZhciBfX2V4dGVuZHMgPSAodGhpcyAmJiB0aGlzLl9fZXh0ZW5kcykgfHwgKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcbiAgICAgICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcbiAgICAgICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKGIuaGFzT3duUHJvcGVydHkocCkpIGRbcF0gPSBiW3BdOyB9O1xuICAgICAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcbiAgICB9O1xuICAgIHJldHVybiBmdW5jdGlvbiAoZCwgYikge1xuICAgICAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICAgICAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cbiAgICAgICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xuICAgIH07XG59KSgpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xudmFyIExhdW5jaEVkaXRvckVycm9yID0gLyoqIEBjbGFzcyAqLyAoZnVuY3Rpb24gKF9zdXBlcikge1xuICAgIF9fZXh0ZW5kcyhMYXVuY2hFZGl0b3JFcnJvciwgX3N1cGVyKTtcbiAgICBmdW5jdGlvbiBMYXVuY2hFZGl0b3JFcnJvcihvcmlnaW5hbEVycm9yKSB7XG4gICAgICAgIHZhciBfbmV3VGFyZ2V0ID0gdGhpcy5jb25zdHJ1Y3RvcjtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgXCJGYWlsZWQgbGF1bmNoIGVkaXRvclwiKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5vcmlnaW5hbEVycm9yID0gb3JpZ2luYWxFcnJvcjtcbiAgICAgICAgdmFyIHByb3RvID0gX25ld1RhcmdldC5wcm90b3R5cGU7XG4gICAgICAgIGlmIChPYmplY3Quc2V0UHJvdG90eXBlT2YpIHtcbiAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihfdGhpcywgcHJvdG8pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgX3RoaXMuX19wcm90b19fID0gX25ld1RhcmdldC5wcm90b3R5cGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICByZXR1cm4gTGF1bmNoRWRpdG9yRXJyb3I7XG59KEVycm9yKSk7XG5leHBvcnRzLkxhdW5jaEVkaXRvckVycm9yID0gTGF1bmNoRWRpdG9yRXJyb3I7XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG4vKioqXG4gKiBOb2RlIEV4dGVybmFsIEVkaXRvclxuICpcbiAqIEtldmluIEdyYXZpZXIgPGtldmluQG1ya21nLmNvbT5cbiAqIE1JVCAyMDE4XG4gKi9cbnZhciBfX2V4dGVuZHMgPSAodGhpcyAmJiB0aGlzLl9fZXh0ZW5kcykgfHwgKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcbiAgICAgICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcbiAgICAgICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKGIuaGFzT3duUHJvcGVydHkocCkpIGRbcF0gPSBiW3BdOyB9O1xuICAgICAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcbiAgICB9O1xuICAgIHJldHVybiBmdW5jdGlvbiAoZCwgYikge1xuICAgICAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICAgICAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cbiAgICAgICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xuICAgIH07XG59KSgpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xudmFyIFJlYWRGaWxlRXJyb3IgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoX3N1cGVyKSB7XG4gICAgX19leHRlbmRzKFJlYWRGaWxlRXJyb3IsIF9zdXBlcik7XG4gICAgZnVuY3Rpb24gUmVhZEZpbGVFcnJvcihvcmlnaW5hbEVycm9yKSB7XG4gICAgICAgIHZhciBfbmV3VGFyZ2V0ID0gdGhpcy5jb25zdHJ1Y3RvcjtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgXCJGYWlsZWQgdG8gcmVhZCB0ZW1wb3JhcnkgZmlsZVwiKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5vcmlnaW5hbEVycm9yID0gb3JpZ2luYWxFcnJvcjtcbiAgICAgICAgdmFyIHByb3RvID0gX25ld1RhcmdldC5wcm90b3R5cGU7XG4gICAgICAgIGlmIChPYmplY3Quc2V0UHJvdG90eXBlT2YpIHtcbiAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihfdGhpcywgcHJvdG8pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgX3RoaXMuX19wcm90b19fID0gX25ld1RhcmdldC5wcm90b3R5cGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICByZXR1cm4gUmVhZEZpbGVFcnJvcjtcbn0oRXJyb3IpKTtcbmV4cG9ydHMuUmVhZEZpbGVFcnJvciA9IFJlYWRGaWxlRXJyb3I7XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG4vKioqXG4gKiBOb2RlIEV4dGVybmFsIEVkaXRvclxuICpcbiAqIEtldmluIEdyYXZpZXIgPGtldmluQG1ya21nLmNvbT5cbiAqIE1JVCAyMDE4XG4gKi9cbnZhciBfX2V4dGVuZHMgPSAodGhpcyAmJiB0aGlzLl9fZXh0ZW5kcykgfHwgKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgZXh0ZW5kU3RhdGljcyA9IGZ1bmN0aW9uIChkLCBiKSB7XG4gICAgICAgIGV4dGVuZFN0YXRpY3MgPSBPYmplY3Quc2V0UHJvdG90eXBlT2YgfHxcbiAgICAgICAgICAgICh7IF9fcHJvdG9fXzogW10gfSBpbnN0YW5jZW9mIEFycmF5ICYmIGZ1bmN0aW9uIChkLCBiKSB7IGQuX19wcm90b19fID0gYjsgfSkgfHxcbiAgICAgICAgICAgIGZ1bmN0aW9uIChkLCBiKSB7IGZvciAodmFyIHAgaW4gYikgaWYgKGIuaGFzT3duUHJvcGVydHkocCkpIGRbcF0gPSBiW3BdOyB9O1xuICAgICAgICByZXR1cm4gZXh0ZW5kU3RhdGljcyhkLCBiKTtcbiAgICB9O1xuICAgIHJldHVybiBmdW5jdGlvbiAoZCwgYikge1xuICAgICAgICBleHRlbmRTdGF0aWNzKGQsIGIpO1xuICAgICAgICBmdW5jdGlvbiBfXygpIHsgdGhpcy5jb25zdHJ1Y3RvciA9IGQ7IH1cbiAgICAgICAgZC5wcm90b3R5cGUgPSBiID09PSBudWxsID8gT2JqZWN0LmNyZWF0ZShiKSA6IChfXy5wcm90b3R5cGUgPSBiLnByb3RvdHlwZSwgbmV3IF9fKCkpO1xuICAgIH07XG59KSgpO1xuT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xudmFyIFJlbW92ZUZpbGVFcnJvciA9IC8qKiBAY2xhc3MgKi8gKGZ1bmN0aW9uIChfc3VwZXIpIHtcbiAgICBfX2V4dGVuZHMoUmVtb3ZlRmlsZUVycm9yLCBfc3VwZXIpO1xuICAgIGZ1bmN0aW9uIFJlbW92ZUZpbGVFcnJvcihvcmlnaW5hbEVycm9yKSB7XG4gICAgICAgIHZhciBfbmV3VGFyZ2V0ID0gdGhpcy5jb25zdHJ1Y3RvcjtcbiAgICAgICAgdmFyIF90aGlzID0gX3N1cGVyLmNhbGwodGhpcywgXCJGYWlsZWQgdG8gY2xlYW51cCB0ZW1wb3JhcnkgZmlsZVwiKSB8fCB0aGlzO1xuICAgICAgICBfdGhpcy5vcmlnaW5hbEVycm9yID0gb3JpZ2luYWxFcnJvcjtcbiAgICAgICAgdmFyIHByb3RvID0gX25ld1RhcmdldC5wcm90b3R5cGU7XG4gICAgICAgIGlmIChPYmplY3Quc2V0UHJvdG90eXBlT2YpIHtcbiAgICAgICAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZihfdGhpcywgcHJvdG8pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgX3RoaXMuX19wcm90b19fID0gX25ld1RhcmdldC5wcm90b3R5cGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIF90aGlzO1xuICAgIH1cbiAgICByZXR1cm4gUmVtb3ZlRmlsZUVycm9yO1xufShFcnJvcikpO1xuZXhwb3J0cy5SZW1vdmVGaWxlRXJyb3IgPSBSZW1vdmVGaWxlRXJyb3I7XG4iLCAiXCJ1c2Ugc3RyaWN0XCI7XG4vKioqXG4gKiBOb2RlIEV4dGVybmFsIEVkaXRvclxuICpcbiAqIEtldmluIEdyYXZpZXIgPGtldmluQG1ya21nLmNvbT5cbiAqIE1JVCAyMDE5XG4gKi9cbk9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbnZhciBjaGFyZGV0XzEgPSByZXF1aXJlKFwiY2hhcmRldFwiKTtcbnZhciBjaGlsZF9wcm9jZXNzXzEgPSByZXF1aXJlKFwiY2hpbGRfcHJvY2Vzc1wiKTtcbnZhciBmc18xID0gcmVxdWlyZShcImZzXCIpO1xudmFyIGljb252X2xpdGVfMSA9IHJlcXVpcmUoXCJpY29udi1saXRlXCIpO1xudmFyIHRtcF8xID0gcmVxdWlyZShcInRtcFwiKTtcbnZhciBDcmVhdGVGaWxlRXJyb3JfMSA9IHJlcXVpcmUoXCIuL2Vycm9ycy9DcmVhdGVGaWxlRXJyb3JcIik7XG5leHBvcnRzLkNyZWF0ZUZpbGVFcnJvciA9IENyZWF0ZUZpbGVFcnJvcl8xLkNyZWF0ZUZpbGVFcnJvcjtcbnZhciBMYXVuY2hFZGl0b3JFcnJvcl8xID0gcmVxdWlyZShcIi4vZXJyb3JzL0xhdW5jaEVkaXRvckVycm9yXCIpO1xuZXhwb3J0cy5MYXVuY2hFZGl0b3JFcnJvciA9IExhdW5jaEVkaXRvckVycm9yXzEuTGF1bmNoRWRpdG9yRXJyb3I7XG52YXIgUmVhZEZpbGVFcnJvcl8xID0gcmVxdWlyZShcIi4vZXJyb3JzL1JlYWRGaWxlRXJyb3JcIik7XG5leHBvcnRzLlJlYWRGaWxlRXJyb3IgPSBSZWFkRmlsZUVycm9yXzEuUmVhZEZpbGVFcnJvcjtcbnZhciBSZW1vdmVGaWxlRXJyb3JfMSA9IHJlcXVpcmUoXCIuL2Vycm9ycy9SZW1vdmVGaWxlRXJyb3JcIik7XG5leHBvcnRzLlJlbW92ZUZpbGVFcnJvciA9IFJlbW92ZUZpbGVFcnJvcl8xLlJlbW92ZUZpbGVFcnJvcjtcbmZ1bmN0aW9uIGVkaXQodGV4dCwgZmlsZU9wdGlvbnMpIHtcbiAgICBpZiAodGV4dCA9PT0gdm9pZCAwKSB7IHRleHQgPSBcIlwiOyB9XG4gICAgdmFyIGVkaXRvciA9IG5ldyBFeHRlcm5hbEVkaXRvcih0ZXh0LCBmaWxlT3B0aW9ucyk7XG4gICAgZWRpdG9yLnJ1bigpO1xuICAgIGVkaXRvci5jbGVhbnVwKCk7XG4gICAgcmV0dXJuIGVkaXRvci50ZXh0O1xufVxuZXhwb3J0cy5lZGl0ID0gZWRpdDtcbmZ1bmN0aW9uIGVkaXRBc3luYyh0ZXh0LCBjYWxsYmFjaywgZmlsZU9wdGlvbnMpIHtcbiAgICBpZiAodGV4dCA9PT0gdm9pZCAwKSB7IHRleHQgPSBcIlwiOyB9XG4gICAgdmFyIGVkaXRvciA9IG5ldyBFeHRlcm5hbEVkaXRvcih0ZXh0LCBmaWxlT3B0aW9ucyk7XG4gICAgZWRpdG9yLnJ1bkFzeW5jKGZ1bmN0aW9uIChlcnIsIHJlc3VsdCkge1xuICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICBzZXRJbW1lZGlhdGUoY2FsbGJhY2ssIGVyciwgbnVsbCk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIGVkaXRvci5jbGVhbnVwKCk7XG4gICAgICAgICAgICAgICAgc2V0SW1tZWRpYXRlKGNhbGxiYWNrLCBudWxsLCByZXN1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2F0Y2ggKGNsZWFudXBFcnJvcikge1xuICAgICAgICAgICAgICAgIHNldEltbWVkaWF0ZShjYWxsYmFjaywgY2xlYW51cEVycm9yLCBudWxsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xufVxuZXhwb3J0cy5lZGl0QXN5bmMgPSBlZGl0QXN5bmM7XG52YXIgRXh0ZXJuYWxFZGl0b3IgPSAvKiogQGNsYXNzICovIChmdW5jdGlvbiAoKSB7XG4gICAgZnVuY3Rpb24gRXh0ZXJuYWxFZGl0b3IodGV4dCwgZmlsZU9wdGlvbnMpIHtcbiAgICAgICAgaWYgKHRleHQgPT09IHZvaWQgMCkgeyB0ZXh0ID0gXCJcIjsgfVxuICAgICAgICB0aGlzLnRleHQgPSBcIlwiO1xuICAgICAgICB0aGlzLmZpbGVPcHRpb25zID0ge307XG4gICAgICAgIHRoaXMudGV4dCA9IHRleHQ7XG4gICAgICAgIGlmIChmaWxlT3B0aW9ucykge1xuICAgICAgICAgICAgdGhpcy5maWxlT3B0aW9ucyA9IGZpbGVPcHRpb25zO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGV0ZXJtaW5lRWRpdG9yKCk7XG4gICAgICAgIHRoaXMuY3JlYXRlVGVtcG9yYXJ5RmlsZSgpO1xuICAgIH1cbiAgICBFeHRlcm5hbEVkaXRvci5zcGxpdFN0cmluZ0J5U3BhY2UgPSBmdW5jdGlvbiAoc3RyKSB7XG4gICAgICAgIHZhciBwaWVjZXMgPSBbXTtcbiAgICAgICAgdmFyIGN1cnJlbnRTdHJpbmcgPSBcIlwiO1xuICAgICAgICBmb3IgKHZhciBzdHJJbmRleCA9IDA7IHN0ckluZGV4IDwgc3RyLmxlbmd0aDsgc3RySW5kZXgrKykge1xuICAgICAgICAgICAgdmFyIGN1cnJlbnRMZXR0ZXIgPSBzdHJbc3RySW5kZXhdO1xuICAgICAgICAgICAgaWYgKHN0ckluZGV4ID4gMCAmJiBjdXJyZW50TGV0dGVyID09PSBcIiBcIiAmJiBzdHJbc3RySW5kZXggLSAxXSAhPT0gXCJcXFxcXCIgJiYgY3VycmVudFN0cmluZy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcGllY2VzLnB1c2goY3VycmVudFN0cmluZyk7XG4gICAgICAgICAgICAgICAgY3VycmVudFN0cmluZyA9IFwiXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBlbHNlIHtcbiAgICAgICAgICAgICAgICBjdXJyZW50U3RyaW5nICs9IGN1cnJlbnRMZXR0ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGN1cnJlbnRTdHJpbmcubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgcGllY2VzLnB1c2goY3VycmVudFN0cmluZyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHBpZWNlcztcbiAgICB9O1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShFeHRlcm5hbEVkaXRvci5wcm90b3R5cGUsIFwidGVtcF9maWxlXCIsIHtcbiAgICAgICAgZ2V0OiBmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIkRFUFJFQ0FURUQ6IHRlbXBfZmlsZS4gVXNlIHRlbXBGaWxlIG1vdmluZyBmb3J3YXJkLlwiKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnRlbXBGaWxlO1xuICAgICAgICB9LFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9KTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoRXh0ZXJuYWxFZGl0b3IucHJvdG90eXBlLCBcImxhc3RfZXhpdF9zdGF0dXNcIiwge1xuICAgICAgICBnZXQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiREVQUkVDQVRFRDogbGFzdF9leGl0X3N0YXR1cy4gVXNlIGxhc3RFeGl0U3RhdHVzIG1vdmluZyBmb3J3YXJkLlwiKTtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmxhc3RFeGl0U3RhdHVzO1xuICAgICAgICB9LFxuICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICB9KTtcbiAgICBFeHRlcm5hbEVkaXRvci5wcm90b3R5cGUucnVuID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmxhdW5jaEVkaXRvcigpO1xuICAgICAgICB0aGlzLnJlYWRUZW1wb3JhcnlGaWxlKCk7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHQ7XG4gICAgfTtcbiAgICBFeHRlcm5hbEVkaXRvci5wcm90b3R5cGUucnVuQXN5bmMgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMubGF1bmNoRWRpdG9yQXN5bmMoZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgICAgICAgIF90aGlzLnJlYWRUZW1wb3JhcnlGaWxlKCk7XG4gICAgICAgICAgICAgICAgICAgIHNldEltbWVkaWF0ZShjYWxsYmFjaywgbnVsbCwgX3RoaXMudGV4dCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNhdGNoIChyZWFkRXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgc2V0SW1tZWRpYXRlKGNhbGxiYWNrLCByZWFkRXJyb3IsIG51bGwpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChsYXVuY2hFcnJvcikge1xuICAgICAgICAgICAgc2V0SW1tZWRpYXRlKGNhbGxiYWNrLCBsYXVuY2hFcnJvciwgbnVsbCk7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEV4dGVybmFsRWRpdG9yLnByb3RvdHlwZS5jbGVhbnVwID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLnJlbW92ZVRlbXBvcmFyeUZpbGUoKTtcbiAgICB9O1xuICAgIEV4dGVybmFsRWRpdG9yLnByb3RvdHlwZS5kZXRlcm1pbmVFZGl0b3IgPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHZhciBlZGl0b3IgPSBwcm9jZXNzLmVudi5WSVNVQUwgPyBwcm9jZXNzLmVudi5WSVNVQUwgOlxuICAgICAgICAgICAgcHJvY2Vzcy5lbnYuRURJVE9SID8gcHJvY2Vzcy5lbnYuRURJVE9SIDpcbiAgICAgICAgICAgICAgICAvXndpbi8udGVzdChwcm9jZXNzLnBsYXRmb3JtKSA/IFwibm90ZXBhZFwiIDpcbiAgICAgICAgICAgICAgICAgICAgXCJ2aW1cIjtcbiAgICAgICAgdmFyIGVkaXRvck9wdHMgPSBFeHRlcm5hbEVkaXRvci5zcGxpdFN0cmluZ0J5U3BhY2UoZWRpdG9yKS5tYXAoZnVuY3Rpb24gKHBpZWNlKSB7IHJldHVybiBwaWVjZS5yZXBsYWNlKFwiXFxcXCBcIiwgXCIgXCIpOyB9KTtcbiAgICAgICAgdmFyIGJpbiA9IGVkaXRvck9wdHMuc2hpZnQoKTtcbiAgICAgICAgdGhpcy5lZGl0b3IgPSB7IGFyZ3M6IGVkaXRvck9wdHMsIGJpbjogYmluIH07XG4gICAgfTtcbiAgICBFeHRlcm5hbEVkaXRvci5wcm90b3R5cGUuY3JlYXRlVGVtcG9yYXJ5RmlsZSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHRoaXMudGVtcEZpbGUgPSB0bXBfMS50bXBOYW1lU3luYyh0aGlzLmZpbGVPcHRpb25zKTtcbiAgICAgICAgICAgIHZhciBvcHQgPSB7IGVuY29kaW5nOiBcInV0ZjhcIiB9O1xuICAgICAgICAgICAgaWYgKHRoaXMuZmlsZU9wdGlvbnMuaGFzT3duUHJvcGVydHkoXCJtb2RlXCIpKSB7XG4gICAgICAgICAgICAgICAgb3B0Lm1vZGUgPSB0aGlzLmZpbGVPcHRpb25zLm1vZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBmc18xLndyaXRlRmlsZVN5bmModGhpcy50ZW1wRmlsZSwgdGhpcy50ZXh0LCBvcHQpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChjcmVhdGVGaWxlRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBDcmVhdGVGaWxlRXJyb3JfMS5DcmVhdGVGaWxlRXJyb3IoY3JlYXRlRmlsZUVycm9yKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgRXh0ZXJuYWxFZGl0b3IucHJvdG90eXBlLnJlYWRUZW1wb3JhcnlGaWxlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFyIHRlbXBGaWxlQnVmZmVyID0gZnNfMS5yZWFkRmlsZVN5bmModGhpcy50ZW1wRmlsZSk7XG4gICAgICAgICAgICBpZiAodGVtcEZpbGVCdWZmZXIubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gXCJcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgICAgIHZhciBlbmNvZGluZyA9IGNoYXJkZXRfMS5kZXRlY3QodGVtcEZpbGVCdWZmZXIpLnRvU3RyaW5nKCk7XG4gICAgICAgICAgICAgICAgaWYgKCFpY29udl9saXRlXzEuZW5jb2RpbmdFeGlzdHMoZW5jb2RpbmcpKSB7XG4gICAgICAgICAgICAgICAgICAgIC8vIFByb2JhYmx5IGEgYmFkIGlkZWEsIGJ1dCB3aWxsIGF0IGxlYXN0IHByZXZlbnQgY3Jhc2hpbmdcbiAgICAgICAgICAgICAgICAgICAgZW5jb2RpbmcgPSBcInV0ZjhcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgdGhpcy50ZXh0ID0gaWNvbnZfbGl0ZV8xLmRlY29kZSh0ZW1wRmlsZUJ1ZmZlciwgZW5jb2RpbmcpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChyZWFkRmlsZUVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgUmVhZEZpbGVFcnJvcl8xLlJlYWRGaWxlRXJyb3IocmVhZEZpbGVFcnJvcik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIEV4dGVybmFsRWRpdG9yLnByb3RvdHlwZS5yZW1vdmVUZW1wb3JhcnlGaWxlID0gZnVuY3Rpb24gKCkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgZnNfMS51bmxpbmtTeW5jKHRoaXMudGVtcEZpbGUpO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChyZW1vdmVGaWxlRXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBSZW1vdmVGaWxlRXJyb3JfMS5SZW1vdmVGaWxlRXJyb3IocmVtb3ZlRmlsZUVycm9yKTtcbiAgICAgICAgfVxuICAgIH07XG4gICAgRXh0ZXJuYWxFZGl0b3IucHJvdG90eXBlLmxhdW5jaEVkaXRvciA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBlZGl0b3JQcm9jZXNzID0gY2hpbGRfcHJvY2Vzc18xLnNwYXduU3luYyh0aGlzLmVkaXRvci5iaW4sIHRoaXMuZWRpdG9yLmFyZ3MuY29uY2F0KFt0aGlzLnRlbXBGaWxlXSksIHsgc3RkaW86IFwiaW5oZXJpdFwiIH0pO1xuICAgICAgICAgICAgdGhpcy5sYXN0RXhpdFN0YXR1cyA9IGVkaXRvclByb2Nlc3Muc3RhdHVzO1xuICAgICAgICB9XG4gICAgICAgIGNhdGNoIChsYXVuY2hFcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IExhdW5jaEVkaXRvckVycm9yXzEuTGF1bmNoRWRpdG9yRXJyb3IobGF1bmNoRXJyb3IpO1xuICAgICAgICB9XG4gICAgfTtcbiAgICBFeHRlcm5hbEVkaXRvci5wcm90b3R5cGUubGF1bmNoRWRpdG9yQXN5bmMgPSBmdW5jdGlvbiAoY2FsbGJhY2spIHtcbiAgICAgICAgdmFyIF90aGlzID0gdGhpcztcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHZhciBlZGl0b3JQcm9jZXNzID0gY2hpbGRfcHJvY2Vzc18xLnNwYXduKHRoaXMuZWRpdG9yLmJpbiwgdGhpcy5lZGl0b3IuYXJncy5jb25jYXQoW3RoaXMudGVtcEZpbGVdKSwgeyBzdGRpbzogXCJpbmhlcml0XCIgfSk7XG4gICAgICAgICAgICBlZGl0b3JQcm9jZXNzLm9uKFwiZXhpdFwiLCBmdW5jdGlvbiAoY29kZSkge1xuICAgICAgICAgICAgICAgIF90aGlzLmxhc3RFeGl0U3RhdHVzID0gY29kZTtcbiAgICAgICAgICAgICAgICBzZXRJbW1lZGlhdGUoY2FsbGJhY2spO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKGxhdW5jaEVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgTGF1bmNoRWRpdG9yRXJyb3JfMS5MYXVuY2hFZGl0b3JFcnJvcihsYXVuY2hFcnJvcik7XG4gICAgICAgIH1cbiAgICB9O1xuICAgIHJldHVybiBFeHRlcm5hbEVkaXRvcjtcbn0oKSk7XG5leHBvcnRzLkV4dGVybmFsRWRpdG9yID0gRXh0ZXJuYWxFZGl0b3I7XG4iLCAiY29uc3QgU3RyZWFtID0gcmVxdWlyZSgnc3RyZWFtJylcblxuY2xhc3MgTXV0ZVN0cmVhbSBleHRlbmRzIFN0cmVhbSB7XG4gICNpc1RUWSA9IG51bGxcblxuICBjb25zdHJ1Y3RvciAob3B0cyA9IHt9KSB7XG4gICAgc3VwZXIob3B0cylcbiAgICB0aGlzLndyaXRhYmxlID0gdGhpcy5yZWFkYWJsZSA9IHRydWVcbiAgICB0aGlzLm11dGVkID0gZmFsc2VcbiAgICB0aGlzLm9uKCdwaXBlJywgdGhpcy5fb25waXBlKVxuICAgIHRoaXMucmVwbGFjZSA9IG9wdHMucmVwbGFjZVxuXG4gICAgLy8gRm9yIHJlYWRsaW5lLXR5cGUgc2l0dWF0aW9uc1xuICAgIC8vIFRoaXMgbXVjaCBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lIGJlaW5nIHJlZHJhd24gYWZ0ZXIgYSBjdHJsIGNoYXJcbiAgICAvLyBpcyBzZWVuIChzdWNoIGFzIGJhY2tzcGFjZSkgd29uJ3QgYmUgcmVkcmF3biBhcyB0aGUgcmVwbGFjZW1lbnRcbiAgICB0aGlzLl9wcm9tcHQgPSBvcHRzLnByb21wdCB8fCBudWxsXG4gICAgdGhpcy5faGFkQ29udHJvbCA9IGZhbHNlXG4gIH1cblxuICAjZGVzdFNyYyAoa2V5LCBkZWYpIHtcbiAgICBpZiAodGhpcy5fZGVzdCkge1xuICAgICAgcmV0dXJuIHRoaXMuX2Rlc3Rba2V5XVxuICAgIH1cbiAgICBpZiAodGhpcy5fc3JjKSB7XG4gICAgICByZXR1cm4gdGhpcy5fc3JjW2tleV1cbiAgICB9XG4gICAgcmV0dXJuIGRlZlxuICB9XG5cbiAgI3Byb3h5IChtZXRob2QsIC4uLmFyZ3MpIHtcbiAgICBpZiAodHlwZW9mIHRoaXMuX2Rlc3Q/LlttZXRob2RdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLl9kZXN0W21ldGhvZF0oLi4uYXJncylcbiAgICB9XG4gICAgaWYgKHR5cGVvZiB0aGlzLl9zcmM/LlttZXRob2RdID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLl9zcmNbbWV0aG9kXSguLi5hcmdzKVxuICAgIH1cbiAgfVxuXG4gIGdldCBpc1RUWSAoKSB7XG4gICAgaWYgKHRoaXMuI2lzVFRZICE9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy4jaXNUVFlcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuI2Rlc3RTcmMoJ2lzVFRZJywgZmFsc2UpXG4gIH1cblxuICAvLyBiYXNpY2FsbHkganVzdCBnZXQgcmVwbGFjZSB0aGUgZ2V0dGVyL3NldHRlciB3aXRoIGEgcmVndWxhciB2YWx1ZVxuICBzZXQgaXNUVFkgKHZhbCkge1xuICAgIHRoaXMuI2lzVFRZID0gdmFsXG4gIH1cblxuICBnZXQgcm93cyAoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2Rlc3RTcmMoJ3Jvd3MnKVxuICB9XG5cbiAgZ2V0IGNvbHVtbnMgKCkge1xuICAgIHJldHVybiB0aGlzLiNkZXN0U3JjKCdjb2x1bW5zJylcbiAgfVxuXG4gIG11dGUgKCkge1xuICAgIHRoaXMubXV0ZWQgPSB0cnVlXG4gIH1cblxuICB1bm11dGUgKCkge1xuICAgIHRoaXMubXV0ZWQgPSBmYWxzZVxuICB9XG5cbiAgX29ucGlwZSAoc3JjKSB7XG4gICAgdGhpcy5fc3JjID0gc3JjXG4gIH1cblxuICBwaXBlIChkZXN0LCBvcHRpb25zKSB7XG4gICAgdGhpcy5fZGVzdCA9IGRlc3RcbiAgICByZXR1cm4gc3VwZXIucGlwZShkZXN0LCBvcHRpb25zKVxuICB9XG5cbiAgcGF1c2UgKCkge1xuICAgIGlmICh0aGlzLl9zcmMpIHtcbiAgICAgIHJldHVybiB0aGlzLl9zcmMucGF1c2UoKVxuICAgIH1cbiAgfVxuXG4gIHJlc3VtZSAoKSB7XG4gICAgaWYgKHRoaXMuX3NyYykge1xuICAgICAgcmV0dXJuIHRoaXMuX3NyYy5yZXN1bWUoKVxuICAgIH1cbiAgfVxuXG4gIHdyaXRlIChjKSB7XG4gICAgaWYgKHRoaXMubXV0ZWQpIHtcbiAgICAgIGlmICghdGhpcy5yZXBsYWNlKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29udHJvbC1yZWdleFxuICAgICAgaWYgKGMubWF0Y2goL15cXHUwMDFiLykpIHtcbiAgICAgICAgaWYgKGMuaW5kZXhPZih0aGlzLl9wcm9tcHQpID09PSAwKSB7XG4gICAgICAgICAgYyA9IGMuc2xpY2UodGhpcy5fcHJvbXB0Lmxlbmd0aClcbiAgICAgICAgICBjID0gYy5yZXBsYWNlKC8uL2csIHRoaXMucmVwbGFjZSlcbiAgICAgICAgICBjID0gdGhpcy5fcHJvbXB0ICsgY1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2hhZENvbnRyb2wgPSB0cnVlXG4gICAgICAgIHJldHVybiB0aGlzLmVtaXQoJ2RhdGEnLCBjKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuX3Byb21wdCAmJiB0aGlzLl9oYWRDb250cm9sICYmXG4gICAgICAgICAgYy5pbmRleE9mKHRoaXMuX3Byb21wdCkgPT09IDApIHtcbiAgICAgICAgICB0aGlzLl9oYWRDb250cm9sID0gZmFsc2VcbiAgICAgICAgICB0aGlzLmVtaXQoJ2RhdGEnLCB0aGlzLl9wcm9tcHQpXG4gICAgICAgICAgYyA9IGMuc2xpY2UodGhpcy5fcHJvbXB0Lmxlbmd0aClcbiAgICAgICAgfVxuICAgICAgICBjID0gYy50b1N0cmluZygpLnJlcGxhY2UoLy4vZywgdGhpcy5yZXBsYWNlKVxuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmVtaXQoJ2RhdGEnLCBjKVxuICB9XG5cbiAgZW5kIChjKSB7XG4gICAgaWYgKHRoaXMubXV0ZWQpIHtcbiAgICAgIGlmIChjICYmIHRoaXMucmVwbGFjZSkge1xuICAgICAgICBjID0gYy50b1N0cmluZygpLnJlcGxhY2UoLy4vZywgdGhpcy5yZXBsYWNlKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYyA9IG51bGxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGMpIHtcbiAgICAgIHRoaXMuZW1pdCgnZGF0YScsIGMpXG4gICAgfVxuICAgIHRoaXMuZW1pdCgnZW5kJylcbiAgfVxuXG4gIGRlc3Ryb3kgKC4uLmFyZ3MpIHtcbiAgICByZXR1cm4gdGhpcy4jcHJveHkoJ2Rlc3Ryb3knLCAuLi5hcmdzKVxuICB9XG5cbiAgZGVzdHJveVNvb24gKC4uLmFyZ3MpIHtcbiAgICByZXR1cm4gdGhpcy4jcHJveHkoJ2Rlc3Ryb3lTb29uJywgLi4uYXJncylcbiAgfVxuXG4gIGNsb3NlICguLi5hcmdzKSB7XG4gICAgcmV0dXJuIHRoaXMuI3Byb3h5KCdjbG9zZScsIC4uLmFyZ3MpXG4gIH1cbn1cblxubW9kdWxlLmV4cG9ydHMgPSBNdXRlU3RyZWFtXG4iLCAidmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2V4cG9ydCA9ICh0YXJnZXQsIGFsbCkgPT4ge1xuICBmb3IgKHZhciBuYW1lIGluIGFsbClcbiAgICBfX2RlZlByb3AodGFyZ2V0LCBuYW1lLCB7IGdldDogYWxsW25hbWVdLCBlbnVtZXJhYmxlOiB0cnVlIH0pO1xufTtcblxuLy8gc3JjL2RvY3VtZW50L3B1YmxpYy5qc1xudmFyIHB1YmxpY19leHBvcnRzID0ge307XG5fX2V4cG9ydChwdWJsaWNfZXhwb3J0cywge1xuICBidWlsZGVyczogKCkgPT4gYnVpbGRlcnMsXG4gIHByaW50ZXI6ICgpID0+IHByaW50ZXIsXG4gIHV0aWxzOiAoKSA9PiB1dGlsc1xufSk7XG5cbi8vIHNyYy9kb2N1bWVudC9jb25zdGFudHMuanNcbnZhciBET0NfVFlQRV9TVFJJTkcgPSBcInN0cmluZ1wiO1xudmFyIERPQ19UWVBFX0FSUkFZID0gXCJhcnJheVwiO1xudmFyIERPQ19UWVBFX0NVUlNPUiA9IFwiY3Vyc29yXCI7XG52YXIgRE9DX1RZUEVfSU5ERU5UID0gXCJpbmRlbnRcIjtcbnZhciBET0NfVFlQRV9BTElHTiA9IFwiYWxpZ25cIjtcbnZhciBET0NfVFlQRV9UUklNID0gXCJ0cmltXCI7XG52YXIgRE9DX1RZUEVfR1JPVVAgPSBcImdyb3VwXCI7XG52YXIgRE9DX1RZUEVfRklMTCA9IFwiZmlsbFwiO1xudmFyIERPQ19UWVBFX0lGX0JSRUFLID0gXCJpZi1icmVha1wiO1xudmFyIERPQ19UWVBFX0lOREVOVF9JRl9CUkVBSyA9IFwiaW5kZW50LWlmLWJyZWFrXCI7XG52YXIgRE9DX1RZUEVfTElORV9TVUZGSVggPSBcImxpbmUtc3VmZml4XCI7XG52YXIgRE9DX1RZUEVfTElORV9TVUZGSVhfQk9VTkRBUlkgPSBcImxpbmUtc3VmZml4LWJvdW5kYXJ5XCI7XG52YXIgRE9DX1RZUEVfTElORSA9IFwibGluZVwiO1xudmFyIERPQ19UWVBFX0xBQkVMID0gXCJsYWJlbFwiO1xudmFyIERPQ19UWVBFX0JSRUFLX1BBUkVOVCA9IFwiYnJlYWstcGFyZW50XCI7XG52YXIgVkFMSURfT0JKRUNUX0RPQ19UWVBFUyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KFtcbiAgRE9DX1RZUEVfQ1VSU09SLFxuICBET0NfVFlQRV9JTkRFTlQsXG4gIERPQ19UWVBFX0FMSUdOLFxuICBET0NfVFlQRV9UUklNLFxuICBET0NfVFlQRV9HUk9VUCxcbiAgRE9DX1RZUEVfRklMTCxcbiAgRE9DX1RZUEVfSUZfQlJFQUssXG4gIERPQ19UWVBFX0lOREVOVF9JRl9CUkVBSyxcbiAgRE9DX1RZUEVfTElORV9TVUZGSVgsXG4gIERPQ19UWVBFX0xJTkVfU1VGRklYX0JPVU5EQVJZLFxuICBET0NfVFlQRV9MSU5FLFxuICBET0NfVFlQRV9MQUJFTCxcbiAgRE9DX1RZUEVfQlJFQUtfUEFSRU5UXG5dKTtcblxuLy8gc3JjL2RvY3VtZW50L3V0aWxzL2dldC1kb2MtdHlwZS5qc1xuZnVuY3Rpb24gZ2V0RG9jVHlwZShkb2MpIHtcbiAgaWYgKHR5cGVvZiBkb2MgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gRE9DX1RZUEVfU1RSSU5HO1xuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KGRvYykpIHtcbiAgICByZXR1cm4gRE9DX1RZUEVfQVJSQVk7XG4gIH1cbiAgaWYgKCFkb2MpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgeyB0eXBlIH0gPSBkb2M7XG4gIGlmIChWQUxJRF9PQkpFQ1RfRE9DX1RZUEVTLmhhcyh0eXBlKSkge1xuICAgIHJldHVybiB0eXBlO1xuICB9XG59XG52YXIgZ2V0X2RvY190eXBlX2RlZmF1bHQgPSBnZXREb2NUeXBlO1xuXG4vLyBzcmMvZG9jdW1lbnQvaW52YWxpZC1kb2MtZXJyb3IuanNcbnZhciBkaXNqdW5jdGlvbkxpc3RGb3JtYXQgPSAobGlzdCkgPT4gbmV3IEludGwuTGlzdEZvcm1hdChcImVuLVVTXCIsIHsgdHlwZTogXCJkaXNqdW5jdGlvblwiIH0pLmZvcm1hdChsaXN0KTtcbmZ1bmN0aW9uIGdldERvY0Vycm9yTWVzc2FnZShkb2MpIHtcbiAgY29uc3QgdHlwZSA9IGRvYyA9PT0gbnVsbCA/IFwibnVsbFwiIDogdHlwZW9mIGRvYztcbiAgaWYgKHR5cGUgIT09IFwic3RyaW5nXCIgJiYgdHlwZSAhPT0gXCJvYmplY3RcIikge1xuICAgIHJldHVybiBgVW5leHBlY3RlZCBkb2MgJyR7dHlwZX0nLCBcbkV4cGVjdGVkIGl0IHRvIGJlICdzdHJpbmcnIG9yICdvYmplY3QnLmA7XG4gIH1cbiAgaWYgKGdldF9kb2NfdHlwZV9kZWZhdWx0KGRvYykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJkb2MgaXMgdmFsaWQuXCIpO1xuICB9XG4gIGNvbnN0IG9iamVjdFR5cGUgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZG9jKTtcbiAgaWYgKG9iamVjdFR5cGUgIT09IFwiW29iamVjdCBPYmplY3RdXCIpIHtcbiAgICByZXR1cm4gYFVuZXhwZWN0ZWQgZG9jICcke29iamVjdFR5cGV9Jy5gO1xuICB9XG4gIGNvbnN0IEVYUEVDVEVEX1RZUEVfVkFMVUVTID0gZGlzanVuY3Rpb25MaXN0Rm9ybWF0KFxuICAgIFsuLi5WQUxJRF9PQkpFQ1RfRE9DX1RZUEVTXS5tYXAoKHR5cGUyKSA9PiBgJyR7dHlwZTJ9J2ApXG4gICk7XG4gIHJldHVybiBgVW5leHBlY3RlZCBkb2MudHlwZSAnJHtkb2MudHlwZX0nLlxuRXhwZWN0ZWQgaXQgdG8gYmUgJHtFWFBFQ1RFRF9UWVBFX1ZBTFVFU30uYDtcbn1cbnZhciBJbnZhbGlkRG9jRXJyb3IgPSBjbGFzcyBleHRlbmRzIEVycm9yIHtcbiAgbmFtZSA9IFwiSW52YWxpZERvY0Vycm9yXCI7XG4gIGNvbnN0cnVjdG9yKGRvYykge1xuICAgIHN1cGVyKGdldERvY0Vycm9yTWVzc2FnZShkb2MpKTtcbiAgICB0aGlzLmRvYyA9IGRvYztcbiAgfVxufTtcbnZhciBpbnZhbGlkX2RvY19lcnJvcl9kZWZhdWx0ID0gSW52YWxpZERvY0Vycm9yO1xuXG4vLyBzcmMvZG9jdW1lbnQvdXRpbHMvdHJhdmVyc2UtZG9jLmpzXG52YXIgdHJhdmVyc2VEb2NPbkV4aXRTdGFja01hcmtlciA9IHt9O1xuZnVuY3Rpb24gdHJhdmVyc2VEb2MoZG9jLCBvbkVudGVyLCBvbkV4aXQsIHNob3VsZFRyYXZlcnNlQ29uZGl0aW9uYWxHcm91cHMpIHtcbiAgY29uc3QgZG9jc1N0YWNrID0gW2RvY107XG4gIHdoaWxlIChkb2NzU3RhY2subGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IGRvYzIgPSBkb2NzU3RhY2sucG9wKCk7XG4gICAgaWYgKGRvYzIgPT09IHRyYXZlcnNlRG9jT25FeGl0U3RhY2tNYXJrZXIpIHtcbiAgICAgIG9uRXhpdChkb2NzU3RhY2sucG9wKCkpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChvbkV4aXQpIHtcbiAgICAgIGRvY3NTdGFjay5wdXNoKGRvYzIsIHRyYXZlcnNlRG9jT25FeGl0U3RhY2tNYXJrZXIpO1xuICAgIH1cbiAgICBjb25zdCBkb2NUeXBlID0gZ2V0X2RvY190eXBlX2RlZmF1bHQoZG9jMik7XG4gICAgaWYgKCFkb2NUeXBlKSB7XG4gICAgICB0aHJvdyBuZXcgaW52YWxpZF9kb2NfZXJyb3JfZGVmYXVsdChkb2MyKTtcbiAgICB9XG4gICAgaWYgKChvbkVudGVyID09IG51bGwgPyB2b2lkIDAgOiBvbkVudGVyKGRvYzIpKSA9PT0gZmFsc2UpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBzd2l0Y2ggKGRvY1R5cGUpIHtcbiAgICAgIGNhc2UgRE9DX1RZUEVfQVJSQVk6XG4gICAgICBjYXNlIERPQ19UWVBFX0ZJTEw6IHtcbiAgICAgICAgY29uc3QgcGFydHMgPSBkb2NUeXBlID09PSBET0NfVFlQRV9BUlJBWSA/IGRvYzIgOiBkb2MyLnBhcnRzO1xuICAgICAgICBmb3IgKGxldCBpYyA9IHBhcnRzLmxlbmd0aCwgaSA9IGljIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgICBkb2NzU3RhY2sucHVzaChwYXJ0c1tpXSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIERPQ19UWVBFX0lGX0JSRUFLOlxuICAgICAgICBkb2NzU3RhY2sucHVzaChkb2MyLmZsYXRDb250ZW50cywgZG9jMi5icmVha0NvbnRlbnRzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPQ19UWVBFX0dST1VQOlxuICAgICAgICBpZiAoc2hvdWxkVHJhdmVyc2VDb25kaXRpb25hbEdyb3VwcyAmJiBkb2MyLmV4cGFuZGVkU3RhdGVzKSB7XG4gICAgICAgICAgZm9yIChsZXQgaWMgPSBkb2MyLmV4cGFuZGVkU3RhdGVzLmxlbmd0aCwgaSA9IGljIC0gMTsgaSA+PSAwOyAtLWkpIHtcbiAgICAgICAgICAgIGRvY3NTdGFjay5wdXNoKGRvYzIuZXhwYW5kZWRTdGF0ZXNbaV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBkb2NzU3RhY2sucHVzaChkb2MyLmNvbnRlbnRzKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRE9DX1RZUEVfQUxJR046XG4gICAgICBjYXNlIERPQ19UWVBFX0lOREVOVDpcbiAgICAgIGNhc2UgRE9DX1RZUEVfSU5ERU5UX0lGX0JSRUFLOlxuICAgICAgY2FzZSBET0NfVFlQRV9MQUJFTDpcbiAgICAgIGNhc2UgRE9DX1RZUEVfTElORV9TVUZGSVg6XG4gICAgICAgIGRvY3NTdGFjay5wdXNoKGRvYzIuY29udGVudHMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRE9DX1RZUEVfU1RSSU5HOlxuICAgICAgY2FzZSBET0NfVFlQRV9DVVJTT1I6XG4gICAgICBjYXNlIERPQ19UWVBFX1RSSU06XG4gICAgICBjYXNlIERPQ19UWVBFX0xJTkVfU1VGRklYX0JPVU5EQVJZOlxuICAgICAgY2FzZSBET0NfVFlQRV9MSU5FOlxuICAgICAgY2FzZSBET0NfVFlQRV9CUkVBS19QQVJFTlQ6XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IGludmFsaWRfZG9jX2Vycm9yX2RlZmF1bHQoZG9jMik7XG4gICAgfVxuICB9XG59XG52YXIgdHJhdmVyc2VfZG9jX2RlZmF1bHQgPSB0cmF2ZXJzZURvYztcblxuLy8gc3JjL2RvY3VtZW50L3V0aWxzL2Fzc2VydC1kb2MuanNcbnZhciBub29wID0gKCkgPT4ge1xufTtcbnZhciBhc3NlcnREb2MgPSB0cnVlID8gbm9vcCA6IGZ1bmN0aW9uKGRvYykge1xuICB0cmF2ZXJzZV9kb2NfZGVmYXVsdChkb2MsIChkb2MyKSA9PiB7XG4gICAgaWYgKGNoZWNrZWQuaGFzKGRvYzIpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZG9jMiAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgY2hlY2tlZC5hZGQoZG9jMik7XG4gICAgfVxuICB9KTtcbn07XG52YXIgYXNzZXJ0RG9jQXJyYXkgPSB0cnVlID8gbm9vcCA6IGZ1bmN0aW9uKGRvY3MsIG9wdGlvbmFsID0gZmFsc2UpIHtcbiAgaWYgKG9wdGlvbmFsICYmICFkb2NzKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGlmICghQXJyYXkuaXNBcnJheShkb2NzKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJVbmV4cGVjdGVkIGRvYyBhcnJheS5cIik7XG4gIH1cbiAgZm9yIChjb25zdCBkb2Mgb2YgZG9jcykge1xuICAgIGFzc2VydERvYyhkb2MpO1xuICB9XG59O1xuXG4vLyBzcmMvZG9jdW1lbnQvYnVpbGRlcnMuanNcbmZ1bmN0aW9uIGluZGVudChjb250ZW50cykge1xuICBhc3NlcnREb2MoY29udGVudHMpO1xuICByZXR1cm4geyB0eXBlOiBET0NfVFlQRV9JTkRFTlQsIGNvbnRlbnRzIH07XG59XG5mdW5jdGlvbiBhbGlnbih3aWR0aE9yU3RyaW5nLCBjb250ZW50cykge1xuICBhc3NlcnREb2MoY29udGVudHMpO1xuICByZXR1cm4geyB0eXBlOiBET0NfVFlQRV9BTElHTiwgY29udGVudHMsIG46IHdpZHRoT3JTdHJpbmcgfTtcbn1cbmZ1bmN0aW9uIGdyb3VwKGNvbnRlbnRzLCBvcHRzID0ge30pIHtcbiAgYXNzZXJ0RG9jKGNvbnRlbnRzKTtcbiAgYXNzZXJ0RG9jQXJyYXkoXG4gICAgb3B0cy5leHBhbmRlZFN0YXRlcyxcbiAgICAvKiBvcHRpb25hbCAqL1xuICAgIHRydWVcbiAgKTtcbiAgcmV0dXJuIHtcbiAgICB0eXBlOiBET0NfVFlQRV9HUk9VUCxcbiAgICBpZDogb3B0cy5pZCxcbiAgICBjb250ZW50cyxcbiAgICBicmVhazogQm9vbGVhbihvcHRzLnNob3VsZEJyZWFrKSxcbiAgICBleHBhbmRlZFN0YXRlczogb3B0cy5leHBhbmRlZFN0YXRlc1xuICB9O1xufVxuZnVuY3Rpb24gZGVkZW50VG9Sb290KGNvbnRlbnRzKSB7XG4gIHJldHVybiBhbGlnbihOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksIGNvbnRlbnRzKTtcbn1cbmZ1bmN0aW9uIG1hcmtBc1Jvb3QoY29udGVudHMpIHtcbiAgcmV0dXJuIGFsaWduKHsgdHlwZTogXCJyb290XCIgfSwgY29udGVudHMpO1xufVxuZnVuY3Rpb24gZGVkZW50KGNvbnRlbnRzKSB7XG4gIHJldHVybiBhbGlnbigtMSwgY29udGVudHMpO1xufVxuZnVuY3Rpb24gY29uZGl0aW9uYWxHcm91cChzdGF0ZXMsIG9wdHMpIHtcbiAgcmV0dXJuIGdyb3VwKHN0YXRlc1swXSwgeyAuLi5vcHRzLCBleHBhbmRlZFN0YXRlczogc3RhdGVzIH0pO1xufVxuZnVuY3Rpb24gZmlsbChwYXJ0cykge1xuICBhc3NlcnREb2NBcnJheShwYXJ0cyk7XG4gIHJldHVybiB7IHR5cGU6IERPQ19UWVBFX0ZJTEwsIHBhcnRzIH07XG59XG5mdW5jdGlvbiBpZkJyZWFrKGJyZWFrQ29udGVudHMsIGZsYXRDb250ZW50cyA9IFwiXCIsIG9wdHMgPSB7fSkge1xuICBhc3NlcnREb2MoYnJlYWtDb250ZW50cyk7XG4gIGlmIChmbGF0Q29udGVudHMgIT09IFwiXCIpIHtcbiAgICBhc3NlcnREb2MoZmxhdENvbnRlbnRzKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHR5cGU6IERPQ19UWVBFX0lGX0JSRUFLLFxuICAgIGJyZWFrQ29udGVudHMsXG4gICAgZmxhdENvbnRlbnRzLFxuICAgIGdyb3VwSWQ6IG9wdHMuZ3JvdXBJZFxuICB9O1xufVxuZnVuY3Rpb24gaW5kZW50SWZCcmVhayhjb250ZW50cywgb3B0cykge1xuICBhc3NlcnREb2MoY29udGVudHMpO1xuICByZXR1cm4ge1xuICAgIHR5cGU6IERPQ19UWVBFX0lOREVOVF9JRl9CUkVBSyxcbiAgICBjb250ZW50cyxcbiAgICBncm91cElkOiBvcHRzLmdyb3VwSWQsXG4gICAgbmVnYXRlOiBvcHRzLm5lZ2F0ZVxuICB9O1xufVxuZnVuY3Rpb24gbGluZVN1ZmZpeChjb250ZW50cykge1xuICBhc3NlcnREb2MoY29udGVudHMpO1xuICByZXR1cm4geyB0eXBlOiBET0NfVFlQRV9MSU5FX1NVRkZJWCwgY29udGVudHMgfTtcbn1cbnZhciBsaW5lU3VmZml4Qm91bmRhcnkgPSB7IHR5cGU6IERPQ19UWVBFX0xJTkVfU1VGRklYX0JPVU5EQVJZIH07XG52YXIgYnJlYWtQYXJlbnQgPSB7IHR5cGU6IERPQ19UWVBFX0JSRUFLX1BBUkVOVCB9O1xudmFyIHRyaW0gPSB7IHR5cGU6IERPQ19UWVBFX1RSSU0gfTtcbnZhciBoYXJkbGluZVdpdGhvdXRCcmVha1BhcmVudCA9IHsgdHlwZTogRE9DX1RZUEVfTElORSwgaGFyZDogdHJ1ZSB9O1xudmFyIGxpdGVyYWxsaW5lV2l0aG91dEJyZWFrUGFyZW50ID0ge1xuICB0eXBlOiBET0NfVFlQRV9MSU5FLFxuICBoYXJkOiB0cnVlLFxuICBsaXRlcmFsOiB0cnVlXG59O1xudmFyIGxpbmUgPSB7IHR5cGU6IERPQ19UWVBFX0xJTkUgfTtcbnZhciBzb2Z0bGluZSA9IHsgdHlwZTogRE9DX1RZUEVfTElORSwgc29mdDogdHJ1ZSB9O1xudmFyIGhhcmRsaW5lID0gW2hhcmRsaW5lV2l0aG91dEJyZWFrUGFyZW50LCBicmVha1BhcmVudF07XG52YXIgbGl0ZXJhbGxpbmUgPSBbbGl0ZXJhbGxpbmVXaXRob3V0QnJlYWtQYXJlbnQsIGJyZWFrUGFyZW50XTtcbnZhciBjdXJzb3IgPSB7IHR5cGU6IERPQ19UWVBFX0NVUlNPUiB9O1xuZnVuY3Rpb24gam9pbihzZXBhcmF0b3IsIGRvY3MpIHtcbiAgYXNzZXJ0RG9jKHNlcGFyYXRvcik7XG4gIGFzc2VydERvY0FycmF5KGRvY3MpO1xuICBjb25zdCBwYXJ0cyA9IFtdO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGRvY3MubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoaSAhPT0gMCkge1xuICAgICAgcGFydHMucHVzaChzZXBhcmF0b3IpO1xuICAgIH1cbiAgICBwYXJ0cy5wdXNoKGRvY3NbaV0pO1xuICB9XG4gIHJldHVybiBwYXJ0cztcbn1cbmZ1bmN0aW9uIGFkZEFsaWdubWVudFRvRG9jKGRvYywgc2l6ZSwgdGFiV2lkdGgpIHtcbiAgYXNzZXJ0RG9jKGRvYyk7XG4gIGxldCBhbGlnbmVkID0gZG9jO1xuICBpZiAoc2l6ZSA+IDApIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IE1hdGguZmxvb3Ioc2l6ZSAvIHRhYldpZHRoKTsgKytpKSB7XG4gICAgICBhbGlnbmVkID0gaW5kZW50KGFsaWduZWQpO1xuICAgIH1cbiAgICBhbGlnbmVkID0gYWxpZ24oc2l6ZSAlIHRhYldpZHRoLCBhbGlnbmVkKTtcbiAgICBhbGlnbmVkID0gYWxpZ24oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLCBhbGlnbmVkKTtcbiAgfVxuICByZXR1cm4gYWxpZ25lZDtcbn1cbmZ1bmN0aW9uIGxhYmVsKGxhYmVsMiwgY29udGVudHMpIHtcbiAgYXNzZXJ0RG9jKGNvbnRlbnRzKTtcbiAgcmV0dXJuIGxhYmVsMiA/IHsgdHlwZTogRE9DX1RZUEVfTEFCRUwsIGxhYmVsOiBsYWJlbDIsIGNvbnRlbnRzIH0gOiBjb250ZW50cztcbn1cblxuLy8gc2NyaXB0cy9idWlsZC9zaGltcy9hdC5qc1xudmFyIGF0ID0gKGlzT3B0aW9uYWxPYmplY3QsIG9iamVjdCwgaW5kZXgpID0+IHtcbiAgaWYgKGlzT3B0aW9uYWxPYmplY3QgJiYgKG9iamVjdCA9PT0gdm9pZCAwIHx8IG9iamVjdCA9PT0gbnVsbCkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKEFycmF5LmlzQXJyYXkob2JqZWN0KSB8fCB0eXBlb2Ygb2JqZWN0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIG9iamVjdFtpbmRleCA8IDAgPyBvYmplY3QubGVuZ3RoICsgaW5kZXggOiBpbmRleF07XG4gIH1cbiAgcmV0dXJuIG9iamVjdC5hdChpbmRleCk7XG59O1xudmFyIGF0X2RlZmF1bHQgPSBhdDtcblxuLy8gc2NyaXB0cy9idWlsZC9zaGltcy9zdHJpbmctcmVwbGFjZS1hbGwuanNcbnZhciBzdHJpbmdSZXBsYWNlQWxsID0gKGlzT3B0aW9uYWxPYmplY3QsIG9yaWdpbmFsLCBwYXR0ZXJuLCByZXBsYWNlbWVudCkgPT4ge1xuICBpZiAoaXNPcHRpb25hbE9iamVjdCAmJiAob3JpZ2luYWwgPT09IHZvaWQgMCB8fCBvcmlnaW5hbCA9PT0gbnVsbCkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKG9yaWdpbmFsLnJlcGxhY2VBbGwpIHtcbiAgICByZXR1cm4gb3JpZ2luYWwucmVwbGFjZUFsbChwYXR0ZXJuLCByZXBsYWNlbWVudCk7XG4gIH1cbiAgaWYgKHBhdHRlcm4uZ2xvYmFsKSB7XG4gICAgcmV0dXJuIG9yaWdpbmFsLnJlcGxhY2UocGF0dGVybiwgcmVwbGFjZW1lbnQpO1xuICB9XG4gIHJldHVybiBvcmlnaW5hbC5zcGxpdChwYXR0ZXJuKS5qb2luKHJlcGxhY2VtZW50KTtcbn07XG52YXIgc3RyaW5nX3JlcGxhY2VfYWxsX2RlZmF1bHQgPSBzdHJpbmdSZXBsYWNlQWxsO1xuXG4vLyBzcmMvY29tbW9uL2VuZC1vZi1saW5lLmpzXG5mdW5jdGlvbiBjb252ZXJ0RW5kT2ZMaW5lVG9DaGFycyh2YWx1ZSkge1xuICBzd2l0Y2ggKHZhbHVlKSB7XG4gICAgY2FzZSBcImNyXCI6XG4gICAgICByZXR1cm4gXCJcXHJcIjtcbiAgICBjYXNlIFwiY3JsZlwiOlxuICAgICAgcmV0dXJuIFwiXFxyXFxuXCI7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiBcIlxcblwiO1xuICB9XG59XG5cbi8vIG5vZGVfbW9kdWxlcy9lbW9qaS1yZWdleC9pbmRleC5tanNcbnZhciBlbW9qaV9yZWdleF9kZWZhdWx0ID0gKCkgPT4ge1xuICByZXR1cm4gL1sjKjAtOV1cXHVGRTBGP1xcdTIwRTN8W1xceEE5XFx4QUVcXHUyMDNDXFx1MjA0OVxcdTIxMjJcXHUyMTM5XFx1MjE5NC1cXHUyMTk5XFx1MjFBOVxcdTIxQUFcXHUyMzFBXFx1MjMxQlxcdTIzMjhcXHUyM0NGXFx1MjNFRC1cXHUyM0VGXFx1MjNGMVxcdTIzRjJcXHUyM0Y4LVxcdTIzRkFcXHUyNEMyXFx1MjVBQVxcdTI1QUJcXHUyNUI2XFx1MjVDMFxcdTI1RkJcXHUyNUZDXFx1MjVGRVxcdTI2MDAtXFx1MjYwNFxcdTI2MEVcXHUyNjExXFx1MjYxNFxcdTI2MTVcXHUyNjE4XFx1MjYyMFxcdTI2MjJcXHUyNjIzXFx1MjYyNlxcdTI2MkFcXHUyNjJFXFx1MjYyRlxcdTI2MzgtXFx1MjYzQVxcdTI2NDBcXHUyNjQyXFx1MjY0OC1cXHUyNjUzXFx1MjY1RlxcdTI2NjBcXHUyNjYzXFx1MjY2NVxcdTI2NjZcXHUyNjY4XFx1MjY3QlxcdTI2N0VcXHUyNjdGXFx1MjY5MlxcdTI2OTQtXFx1MjY5N1xcdTI2OTlcXHUyNjlCXFx1MjY5Q1xcdTI2QTBcXHUyNkE3XFx1MjZBQVxcdTI2QjBcXHUyNkIxXFx1MjZCRFxcdTI2QkVcXHUyNkM0XFx1MjZDOFxcdTI2Q0ZcXHUyNkQxXFx1MjZFOVxcdTI2RjAtXFx1MjZGNVxcdTI2RjdcXHUyNkY4XFx1MjZGQVxcdTI3MDJcXHUyNzA4XFx1MjcwOVxcdTI3MEZcXHUyNzEyXFx1MjcxNFxcdTI3MTZcXHUyNzFEXFx1MjcyMVxcdTI3MzNcXHUyNzM0XFx1Mjc0NFxcdTI3NDdcXHUyNzU3XFx1Mjc2M1xcdTI3QTFcXHUyOTM0XFx1MjkzNVxcdTJCMDUtXFx1MkIwN1xcdTJCMUJcXHUyQjFDXFx1MkI1NVxcdTMwMzBcXHUzMDNEXFx1MzI5N1xcdTMyOTldXFx1RkUwRj98W1xcdTI2MURcXHUyNzBDXFx1MjcwRF0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RkUwRik/fFtcXHUyNzBBXFx1MjcwQl0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xbXFx1MjNFOS1cXHUyM0VDXFx1MjNGMFxcdTIzRjNcXHUyNUZEXFx1MjY5M1xcdTI2QTFcXHUyNkFCXFx1MjZDNVxcdTI2Q0VcXHUyNkQ0XFx1MjZFQVxcdTI2RkRcXHUyNzA1XFx1MjcyOFxcdTI3NENcXHUyNzRFXFx1Mjc1My1cXHUyNzU1XFx1Mjc5NS1cXHUyNzk3XFx1MjdCMFxcdTI3QkZcXHUyQjUwXXxcXHUyNkQzXFx1RkUwRj8oPzpcXHUyMDBEXFx1RDgzRFxcdURDQTUpP3xcXHUyNkY5KD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUZFMEYpPyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xcXHUyNzY0XFx1RkUwRj8oPzpcXHUyMDBEKD86XFx1RDgzRFxcdUREMjV8XFx1RDgzRVxcdURFNzkpKT98XFx1RDgzQyg/OltcXHVEQzA0XFx1REQ3MFxcdURENzFcXHVERDdFXFx1REQ3RlxcdURFMDJcXHVERTM3XFx1REYyMVxcdURGMjQtXFx1REYyQ1xcdURGMzZcXHVERjdEXFx1REY5NlxcdURGOTdcXHVERjk5LVxcdURGOUJcXHVERjlFXFx1REY5RlxcdURGQ0RcXHVERkNFXFx1REZENC1cXHVERkRGXFx1REZGNVxcdURGRjddXFx1RkUwRj98W1xcdURGODVcXHVERkMyXFx1REZDN10oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xbXFx1REZDNFxcdURGQ0FdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98W1xcdURGQ0JcXHVERkNDXSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVGRTBGKT8oPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98W1xcdURDQ0ZcXHVERDhFXFx1REQ5MS1cXHVERDlBXFx1REUwMVxcdURFMUFcXHVERTJGXFx1REUzMi1cXHVERTM2XFx1REUzOC1cXHVERTNBXFx1REU1MFxcdURFNTFcXHVERjAwLVxcdURGMjBcXHVERjJELVxcdURGMzVcXHVERjM3LVxcdURGNDNcXHVERjQ1LVxcdURGNEFcXHVERjRDLVxcdURGN0NcXHVERjdFLVxcdURGODRcXHVERjg2LVxcdURGOTNcXHVERkEwLVxcdURGQzFcXHVERkM1XFx1REZDNlxcdURGQzhcXHVERkM5XFx1REZDRi1cXHVERkQzXFx1REZFMC1cXHVERkYwXFx1REZGOC1cXHVERkZGXXxcXHVEREU2XFx1RDgzQ1tcXHVEREU4LVxcdURERUNcXHVEREVFXFx1RERGMVxcdURERjJcXHVEREY0XFx1RERGNi1cXHVEREZBXFx1RERGQ1xcdURERkRcXHVEREZGXXxcXHVEREU3XFx1RDgzQ1tcXHVEREU2XFx1RERFN1xcdURERTktXFx1RERFRlxcdURERjEtXFx1RERGNFxcdURERjYtXFx1RERGOVxcdURERkJcXHVEREZDXFx1RERGRVxcdURERkZdfFxcdURERThcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFOVxcdURERUItXFx1RERFRVxcdURERjAtXFx1RERGN1xcdURERkEtXFx1RERGRl18XFx1RERFOVxcdUQ4M0NbXFx1RERFQVxcdURERUNcXHVEREVGXFx1RERGMFxcdURERjJcXHVEREY0XFx1RERGRl18XFx1RERFQVxcdUQ4M0NbXFx1RERFNlxcdURERThcXHVEREVBXFx1RERFQ1xcdURERURcXHVEREY3LVxcdURERkFdfFxcdURERUJcXHVEODNDW1xcdURERUUtXFx1RERGMFxcdURERjJcXHVEREY0XFx1RERGN118XFx1RERFQ1xcdUQ4M0NbXFx1RERFNlxcdURERTdcXHVEREU5LVxcdURERUVcXHVEREYxLVxcdURERjNcXHVEREY1LVxcdURERkFcXHVEREZDXFx1RERGRV18XFx1RERFRFxcdUQ4M0NbXFx1RERGMFxcdURERjJcXHVEREYzXFx1RERGN1xcdURERjlcXHVEREZBXXxcXHVEREVFXFx1RDgzQ1tcXHVEREU4LVxcdURERUFcXHVEREYxLVxcdURERjRcXHVEREY2LVxcdURERjldfFxcdURERUZcXHVEODNDW1xcdURERUFcXHVEREYyXFx1RERGNFxcdURERjVdfFxcdURERjBcXHVEODNDW1xcdURERUFcXHVEREVDLVxcdURERUVcXHVEREYyXFx1RERGM1xcdURERjVcXHVEREY3XFx1RERGQ1xcdURERkVcXHVEREZGXXxcXHVEREYxXFx1RDgzQ1tcXHVEREU2LVxcdURERThcXHVEREVFXFx1RERGMFxcdURERjctXFx1RERGQlxcdURERkVdfFxcdURERjJcXHVEODNDW1xcdURERTZcXHVEREU4LVxcdURERURcXHVEREYwLVxcdURERkZdfFxcdURERjNcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFQS1cXHVEREVDXFx1RERFRVxcdURERjFcXHVEREY0XFx1RERGNVxcdURERjdcXHVEREZBXFx1RERGRl18XFx1RERGNFxcdUQ4M0NcXHVEREYyfFxcdURERjVcXHVEODNDW1xcdURERTZcXHVEREVBLVxcdURERURcXHVEREYwLVxcdURERjNcXHVEREY3LVxcdURERjlcXHVEREZDXFx1RERGRV18XFx1RERGNlxcdUQ4M0NcXHVEREU2fFxcdURERjdcXHVEODNDW1xcdURERUFcXHVEREY0XFx1RERGOFxcdURERkFcXHVEREZDXXxcXHVEREY4XFx1RDgzQ1tcXHVEREU2LVxcdURERUFcXHVEREVDLVxcdURERjRcXHVEREY3LVxcdURERjlcXHVEREZCXFx1RERGRC1cXHVEREZGXXxcXHVEREY5XFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERTlcXHVEREVCLVxcdURERURcXHVEREVGLVxcdURERjRcXHVEREY3XFx1RERGOVxcdURERkJcXHVEREZDXFx1RERGRl18XFx1RERGQVxcdUQ4M0NbXFx1RERFNlxcdURERUNcXHVEREYyXFx1RERGM1xcdURERjhcXHVEREZFXFx1RERGRl18XFx1RERGQlxcdUQ4M0NbXFx1RERFNlxcdURERThcXHVEREVBXFx1RERFQ1xcdURERUVcXHVEREYzXFx1RERGQV18XFx1RERGQ1xcdUQ4M0NbXFx1RERFQlxcdURERjhdfFxcdURERkRcXHVEODNDXFx1RERGMHxcXHVEREZFXFx1RDgzQ1tcXHVEREVBXFx1RERGOV18XFx1RERGRlxcdUQ4M0NbXFx1RERFNlxcdURERjJcXHVEREZDXXxcXHVERjQ0KD86XFx1MjAwRFxcdUQ4M0RcXHVERkVCKT98XFx1REY0Qig/OlxcdTIwMERcXHVEODNEXFx1REZFOSk/fFxcdURGQzMoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pPyg/OlxcdTIwMEQoPzpbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98XFx1MjdBMVxcdUZFMEY/KSk/fFxcdURGRjNcXHVGRTBGPyg/OlxcdTIwMEQoPzpcXHUyNkE3XFx1RkUwRj98XFx1RDgzQ1xcdURGMDgpKT98XFx1REZGNCg/OlxcdTIwMERcXHUyNjIwXFx1RkUwRj98XFx1REI0MFxcdURDNjdcXHVEQjQwXFx1REM2MlxcdURCNDAoPzpcXHVEQzY1XFx1REI0MFxcdURDNkVcXHVEQjQwXFx1REM2N3xcXHVEQzczXFx1REI0MFxcdURDNjNcXHVEQjQwXFx1REM3NHxcXHVEQzc3XFx1REI0MFxcdURDNkNcXHVEQjQwXFx1REM3MylcXHVEQjQwXFx1REM3Rik/KXxcXHVEODNEKD86W1xcdURDM0ZcXHVEQ0ZEXFx1REQ0OVxcdURENEFcXHVERDZGXFx1REQ3MFxcdURENzNcXHVERDc2LVxcdURENzlcXHVERDg3XFx1REQ4QS1cXHVERDhEXFx1RERBNVxcdUREQThcXHVEREIxXFx1RERCMlxcdUREQkNcXHVEREMyLVxcdUREQzRcXHVEREQxLVxcdURERDNcXHVERERDLVxcdUREREVcXHVEREUxXFx1RERFM1xcdURERThcXHVEREVGXFx1RERGM1xcdURERkFcXHVERUNCXFx1REVDRC1cXHVERUNGXFx1REVFMC1cXHVERUU1XFx1REVFOVxcdURFRjBcXHVERUYzXVxcdUZFMEY/fFtcXHVEQzQyXFx1REM0M1xcdURDNDYtXFx1REM1MFxcdURDNjZcXHVEQzY3XFx1REM2Qi1cXHVEQzZEXFx1REM3MlxcdURDNzQtXFx1REM3NlxcdURDNzhcXHVEQzdDXFx1REM4M1xcdURDODVcXHVEQzhGXFx1REM5MVxcdURDQUFcXHVERDdBXFx1REQ5NVxcdUREOTZcXHVERTRDXFx1REU0RlxcdURFQzBcXHVERUNDXSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/fFtcXHVEQzZFXFx1REM3MFxcdURDNzFcXHVEQzczXFx1REM3N1xcdURDODFcXHVEQzgyXFx1REM4NlxcdURDODdcXHVERTQ1LVxcdURFNDdcXHVERTRCXFx1REU0RFxcdURFNEVcXHVERUEzXFx1REVCNFxcdURFQjVdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98W1xcdURENzRcXHVERDkwXSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVGRTBGKT98W1xcdURDMDAtXFx1REMwN1xcdURDMDktXFx1REMxNFxcdURDMTYtXFx1REMyNVxcdURDMjctXFx1REMzQVxcdURDM0MtXFx1REMzRVxcdURDNDBcXHVEQzQ0XFx1REM0NVxcdURDNTEtXFx1REM2NVxcdURDNkFcXHVEQzc5LVxcdURDN0JcXHVEQzdELVxcdURDODBcXHVEQzg0XFx1REM4OC1cXHVEQzhFXFx1REM5MFxcdURDOTItXFx1RENBOVxcdURDQUItXFx1RENGQ1xcdURDRkYtXFx1REQzRFxcdURENEItXFx1REQ0RVxcdURENTAtXFx1REQ2N1xcdUREQTRcXHVEREZCLVxcdURFMkRcXHVERTJGLVxcdURFMzRcXHVERTM3LVxcdURFNDFcXHVERTQzXFx1REU0NFxcdURFNDgtXFx1REU0QVxcdURFODAtXFx1REVBMlxcdURFQTQtXFx1REVCM1xcdURFQjctXFx1REVCRlxcdURFQzEtXFx1REVDNVxcdURFRDAtXFx1REVEMlxcdURFRDUtXFx1REVEN1xcdURFREMtXFx1REVERlxcdURFRUJcXHVERUVDXFx1REVGNC1cXHVERUZDXFx1REZFMC1cXHVERkVCXFx1REZGMF18XFx1REMwOCg/OlxcdTIwMERcXHUyQjFCKT98XFx1REMxNSg/OlxcdTIwMERcXHVEODNFXFx1RERCQSk/fFxcdURDMjYoPzpcXHUyMDBEKD86XFx1MkIxQnxcXHVEODNEXFx1REQyNSkpP3xcXHVEQzNCKD86XFx1MjAwRFxcdTI3NDRcXHVGRTBGPyk/fFxcdURDNDFcXHVGRTBGPyg/OlxcdTIwMERcXHVEODNEXFx1RERFOFxcdUZFMEY/KT98XFx1REM2OCg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9cXHVEQzY4fFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldXFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzY2KD86XFx1MjAwRFxcdUQ4M0RcXHVEQzY2KT98XFx1REM2Nyg/OlxcdTIwMERcXHVEODNEW1xcdURDNjZcXHVEQzY3XSk/KXxbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEQzY2KD86XFx1MjAwRFxcdUQ4M0RcXHVEQzY2KT98XFx1REM2Nyg/OlxcdTIwMERcXHVEODNEW1xcdURDNjZcXHVEQzY3XSk/KXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM10pKXxcXHVEODNDKD86XFx1REZGQig/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9cXHVEQzY4XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OFxcdUQ4M0NbXFx1REZGQy1cXHVERkZGXSkpKT98XFx1REZGQyg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9cXHVEQzY4XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OFxcdUQ4M0NbXFx1REZGQlxcdURGRkQtXFx1REZGRl0pKSk/fFxcdURGRkQoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkJcXHVERkZDXFx1REZGRVxcdURGRkZdKSkpP3xcXHVERkZFKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzhCXFx1MjAwRFxcdUQ4M0QpP1xcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4XFx1RDgzQ1tcXHVERkZCLVxcdURGRkRcXHVERkZGXSkpKT98XFx1REZGRig/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9cXHVEQzY4XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXSkpKT8pKT98XFx1REM2OSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9bXFx1REM2OFxcdURDNjldfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0QoPzpbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEQzY2KD86XFx1MjAwRFxcdUQ4M0RcXHVEQzY2KT98XFx1REM2Nyg/OlxcdTIwMERcXHVEODNEW1xcdURDNjZcXHVEQzY3XSk/fFxcdURDNjlcXHUyMDBEXFx1RDgzRCg/OlxcdURDNjYoPzpcXHUyMDBEXFx1RDgzRFxcdURDNjYpP3xcXHVEQzY3KD86XFx1MjAwRFxcdUQ4M0RbXFx1REM2NlxcdURDNjddKT8pKXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM10pKXxcXHVEODNDKD86XFx1REZGQig/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XXxcXHVEQzhCXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldKVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV1cXHVEODNDW1xcdURGRkMtXFx1REZGRl0pKSk/fFxcdURGRkMoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV18XFx1REM4QlxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldXFx1RDgzQ1tcXHVERkZCXFx1REZGRC1cXHVERkZGXSkpKT98XFx1REZGRCg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XXxcXHVEQzhCXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldKVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV1cXHVEODNDW1xcdURGRkJcXHVERkZDXFx1REZGRVxcdURGRkZdKSkpP3xcXHVERkZFKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldfFxcdURDOEJcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XVxcdUQ4M0NbXFx1REZGQi1cXHVERkZEXFx1REZGRl0pKSk/fFxcdURGRkYoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV18XFx1REM4QlxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldXFx1RDgzQ1tcXHVERkZCLVxcdURGRkVdKSkpPykpP3xcXHVEQzZGKD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFxcdURENzUoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RkUwRik/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFxcdURFMkUoPzpcXHUyMDBEXFx1RDgzRFxcdURDQTgpP3xcXHVERTM1KD86XFx1MjAwRFxcdUQ4M0RcXHVEQ0FCKT98XFx1REUzNig/OlxcdTIwMERcXHVEODNDXFx1REYyQlxcdUZFMEY/KT98XFx1REU0Mig/OlxcdTIwMERbXFx1MjE5NFxcdTIxOTVdXFx1RkUwRj8pP3xcXHVERUI2KD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEKD86W1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFxcdTI3QTFcXHVGRTBGPykpPyl8XFx1RDgzRSg/OltcXHVERDBDXFx1REQwRlxcdUREMTgtXFx1REQxRlxcdUREMzAtXFx1REQzNFxcdUREMzZcXHVERDc3XFx1RERCNVxcdUREQjZcXHVEREJCXFx1REREMlxcdURERDNcXHVEREQ1XFx1REVDMy1cXHVERUM1XFx1REVGMFxcdURFRjItXFx1REVGOF0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xbXFx1REQyNlxcdUREMzVcXHVERDM3LVxcdUREMzlcXHVERDNEXFx1REQzRVxcdUREQjhcXHVEREI5XFx1RERDRFxcdUREQ0ZcXHVEREQ0XFx1RERENi1cXHVEREREXSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERERFXFx1RERERl0oPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98W1xcdUREMERcXHVERDBFXFx1REQxMC1cXHVERDE3XFx1REQyMC1cXHVERDI1XFx1REQyNy1cXHVERDJGXFx1REQzQVxcdUREM0YtXFx1REQ0NVxcdURENDctXFx1REQ3NlxcdURENzgtXFx1RERCNFxcdUREQjdcXHVEREJBXFx1RERCQy1cXHVERENDXFx1REREMFxcdURERTAtXFx1RERGRlxcdURFNzAtXFx1REU3Q1xcdURFODAtXFx1REU4OVxcdURFOEYtXFx1REVDMlxcdURFQzZcXHVERUNFLVxcdURFRENcXHVERURGLVxcdURFRTldfFxcdUREM0MoPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/fFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/fFxcdUREQ0UoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pPyg/OlxcdTIwMEQoPzpbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98XFx1MjdBMVxcdUZFMEY/KSk/fFxcdURERDEoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxfFxcdURERDFcXHUyMDBEXFx1RDgzRVxcdURERDIoPzpcXHUyMDBEXFx1RDgzRVxcdURERDIpP3xcXHVEREQyKD86XFx1MjAwRFxcdUQ4M0VcXHVEREQyKT8pKXxcXHVEODNDKD86XFx1REZGQig/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMEQoPzpcXHVEODNEXFx1REM4QlxcdTIwMEQpP1xcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZDLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY4NFxcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRl0pKSk/fFxcdURGRkMoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQlxcdURGRkQtXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSkpKT98XFx1REZGRCg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMEQoPzpcXHVEODNEXFx1REM4QlxcdTIwMEQpP1xcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKSkpP3xcXHVERkZFKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCk/XFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRFxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY4NFxcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRl0pKSk/fFxcdURGRkYoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKSkpPykpP3xcXHVERUYxKD86XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEXFx1RDgzRVxcdURFRjJcXHVEODNDW1xcdURGRkMtXFx1REZGRl0pP3xcXHVERkZDKD86XFx1MjAwRFxcdUQ4M0VcXHVERUYyXFx1RDgzQ1tcXHVERkZCXFx1REZGRC1cXHVERkZGXSk/fFxcdURGRkQoPzpcXHUyMDBEXFx1RDgzRVxcdURFRjJcXHVEODNDW1xcdURGRkJcXHVERkZDXFx1REZGRVxcdURGRkZdKT98XFx1REZGRSg/OlxcdTIwMERcXHVEODNFXFx1REVGMlxcdUQ4M0NbXFx1REZGQi1cXHVERkZEXFx1REZGRl0pP3xcXHVERkZGKD86XFx1MjAwRFxcdUQ4M0VcXHVERUYyXFx1RDgzQ1tcXHVERkZCLVxcdURGRkVdKT8pKT8pL2c7XG59O1xuXG4vLyBub2RlX21vZHVsZXMvZ2V0LWVhc3QtYXNpYW4td2lkdGgvbG9va3VwLmpzXG5mdW5jdGlvbiBpc0Z1bGxXaWR0aCh4KSB7XG4gIHJldHVybiB4ID09PSAxMjI4OCB8fCB4ID49IDY1MjgxICYmIHggPD0gNjUzNzYgfHwgeCA+PSA2NTUwNCAmJiB4IDw9IDY1NTEwO1xufVxuZnVuY3Rpb24gaXNXaWRlKHgpIHtcbiAgcmV0dXJuIHggPj0gNDM1MiAmJiB4IDw9IDQ0NDcgfHwgeCA9PT0gODk4NiB8fCB4ID09PSA4OTg3IHx8IHggPT09IDkwMDEgfHwgeCA9PT0gOTAwMiB8fCB4ID49IDkxOTMgJiYgeCA8PSA5MTk2IHx8IHggPT09IDkyMDAgfHwgeCA9PT0gOTIwMyB8fCB4ID09PSA5NzI1IHx8IHggPT09IDk3MjYgfHwgeCA9PT0gOTc0OCB8fCB4ID09PSA5NzQ5IHx8IHggPj0gOTc3NiAmJiB4IDw9IDk3ODMgfHwgeCA+PSA5ODAwICYmIHggPD0gOTgxMSB8fCB4ID09PSA5ODU1IHx8IHggPj0gOTg2NiAmJiB4IDw9IDk4NzEgfHwgeCA9PT0gOTg3NSB8fCB4ID09PSA5ODg5IHx8IHggPT09IDk4OTggfHwgeCA9PT0gOTg5OSB8fCB4ID09PSA5OTE3IHx8IHggPT09IDk5MTggfHwgeCA9PT0gOTkyNCB8fCB4ID09PSA5OTI1IHx8IHggPT09IDk5MzQgfHwgeCA9PT0gOTk0MCB8fCB4ID09PSA5OTYyIHx8IHggPT09IDk5NzAgfHwgeCA9PT0gOTk3MSB8fCB4ID09PSA5OTczIHx8IHggPT09IDk5NzggfHwgeCA9PT0gOTk4MSB8fCB4ID09PSA5OTg5IHx8IHggPT09IDk5OTQgfHwgeCA9PT0gOTk5NSB8fCB4ID09PSAxMDAyNCB8fCB4ID09PSAxMDA2MCB8fCB4ID09PSAxMDA2MiB8fCB4ID49IDEwMDY3ICYmIHggPD0gMTAwNjkgfHwgeCA9PT0gMTAwNzEgfHwgeCA+PSAxMDEzMyAmJiB4IDw9IDEwMTM1IHx8IHggPT09IDEwMTYwIHx8IHggPT09IDEwMTc1IHx8IHggPT09IDExMDM1IHx8IHggPT09IDExMDM2IHx8IHggPT09IDExMDg4IHx8IHggPT09IDExMDkzIHx8IHggPj0gMTE5MDQgJiYgeCA8PSAxMTkyOSB8fCB4ID49IDExOTMxICYmIHggPD0gMTIwMTkgfHwgeCA+PSAxMjAzMiAmJiB4IDw9IDEyMjQ1IHx8IHggPj0gMTIyNzIgJiYgeCA8PSAxMjI4NyB8fCB4ID49IDEyMjg5ICYmIHggPD0gMTIzNTAgfHwgeCA+PSAxMjM1MyAmJiB4IDw9IDEyNDM4IHx8IHggPj0gMTI0NDEgJiYgeCA8PSAxMjU0MyB8fCB4ID49IDEyNTQ5ICYmIHggPD0gMTI1OTEgfHwgeCA+PSAxMjU5MyAmJiB4IDw9IDEyNjg2IHx8IHggPj0gMTI2ODggJiYgeCA8PSAxMjc3MyB8fCB4ID49IDEyNzgzICYmIHggPD0gMTI4MzAgfHwgeCA+PSAxMjgzMiAmJiB4IDw9IDEyODcxIHx8IHggPj0gMTI4ODAgJiYgeCA8PSA0MjEyNCB8fCB4ID49IDQyMTI4ICYmIHggPD0gNDIxODIgfHwgeCA+PSA0MzM2MCAmJiB4IDw9IDQzMzg4IHx8IHggPj0gNDQwMzIgJiYgeCA8PSA1NTIwMyB8fCB4ID49IDYzNzQ0ICYmIHggPD0gNjQyNTUgfHwgeCA+PSA2NTA0MCAmJiB4IDw9IDY1MDQ5IHx8IHggPj0gNjUwNzIgJiYgeCA8PSA2NTEwNiB8fCB4ID49IDY1MTA4ICYmIHggPD0gNjUxMjYgfHwgeCA+PSA2NTEyOCAmJiB4IDw9IDY1MTMxIHx8IHggPj0gOTQxNzYgJiYgeCA8PSA5NDE4MCB8fCB4ID09PSA5NDE5MiB8fCB4ID09PSA5NDE5MyB8fCB4ID49IDk0MjA4ICYmIHggPD0gMTAwMzQzIHx8IHggPj0gMTAwMzUyICYmIHggPD0gMTAxNTg5IHx8IHggPj0gMTAxNjMxICYmIHggPD0gMTAxNjQwIHx8IHggPj0gMTEwNTc2ICYmIHggPD0gMTEwNTc5IHx8IHggPj0gMTEwNTgxICYmIHggPD0gMTEwNTg3IHx8IHggPT09IDExMDU4OSB8fCB4ID09PSAxMTA1OTAgfHwgeCA+PSAxMTA1OTIgJiYgeCA8PSAxMTA4ODIgfHwgeCA9PT0gMTEwODk4IHx8IHggPj0gMTEwOTI4ICYmIHggPD0gMTEwOTMwIHx8IHggPT09IDExMDkzMyB8fCB4ID49IDExMDk0OCAmJiB4IDw9IDExMDk1MSB8fCB4ID49IDExMDk2MCAmJiB4IDw9IDExMTM1NSB8fCB4ID49IDExOTU1MiAmJiB4IDw9IDExOTYzOCB8fCB4ID49IDExOTY0OCAmJiB4IDw9IDExOTY3MCB8fCB4ID09PSAxMjY5ODAgfHwgeCA9PT0gMTI3MTgzIHx8IHggPT09IDEyNzM3NCB8fCB4ID49IDEyNzM3NyAmJiB4IDw9IDEyNzM4NiB8fCB4ID49IDEyNzQ4OCAmJiB4IDw9IDEyNzQ5MCB8fCB4ID49IDEyNzUwNCAmJiB4IDw9IDEyNzU0NyB8fCB4ID49IDEyNzU1MiAmJiB4IDw9IDEyNzU2MCB8fCB4ID09PSAxMjc1NjggfHwgeCA9PT0gMTI3NTY5IHx8IHggPj0gMTI3NTg0ICYmIHggPD0gMTI3NTg5IHx8IHggPj0gMTI3NzQ0ICYmIHggPD0gMTI3Nzc2IHx8IHggPj0gMTI3Nzg5ICYmIHggPD0gMTI3Nzk3IHx8IHggPj0gMTI3Nzk5ICYmIHggPD0gMTI3ODY4IHx8IHggPj0gMTI3ODcwICYmIHggPD0gMTI3ODkxIHx8IHggPj0gMTI3OTA0ICYmIHggPD0gMTI3OTQ2IHx8IHggPj0gMTI3OTUxICYmIHggPD0gMTI3OTU1IHx8IHggPj0gMTI3OTY4ICYmIHggPD0gMTI3OTg0IHx8IHggPT09IDEyNzk4OCB8fCB4ID49IDEyNzk5MiAmJiB4IDw9IDEyODA2MiB8fCB4ID09PSAxMjgwNjQgfHwgeCA+PSAxMjgwNjYgJiYgeCA8PSAxMjgyNTIgfHwgeCA+PSAxMjgyNTUgJiYgeCA8PSAxMjgzMTcgfHwgeCA+PSAxMjgzMzEgJiYgeCA8PSAxMjgzMzQgfHwgeCA+PSAxMjgzMzYgJiYgeCA8PSAxMjgzNTkgfHwgeCA9PT0gMTI4Mzc4IHx8IHggPT09IDEyODQwNSB8fCB4ID09PSAxMjg0MDYgfHwgeCA9PT0gMTI4NDIwIHx8IHggPj0gMTI4NTA3ICYmIHggPD0gMTI4NTkxIHx8IHggPj0gMTI4NjQwICYmIHggPD0gMTI4NzA5IHx8IHggPT09IDEyODcxNiB8fCB4ID49IDEyODcyMCAmJiB4IDw9IDEyODcyMiB8fCB4ID49IDEyODcyNSAmJiB4IDw9IDEyODcyNyB8fCB4ID49IDEyODczMiAmJiB4IDw9IDEyODczNSB8fCB4ID09PSAxMjg3NDcgfHwgeCA9PT0gMTI4NzQ4IHx8IHggPj0gMTI4NzU2ICYmIHggPD0gMTI4NzY0IHx8IHggPj0gMTI4OTkyICYmIHggPD0gMTI5MDAzIHx8IHggPT09IDEyOTAwOCB8fCB4ID49IDEyOTI5MiAmJiB4IDw9IDEyOTMzOCB8fCB4ID49IDEyOTM0MCAmJiB4IDw9IDEyOTM0OSB8fCB4ID49IDEyOTM1MSAmJiB4IDw9IDEyOTUzNSB8fCB4ID49IDEyOTY0OCAmJiB4IDw9IDEyOTY2MCB8fCB4ID49IDEyOTY2NCAmJiB4IDw9IDEyOTY3MyB8fCB4ID49IDEyOTY3OSAmJiB4IDw9IDEyOTczNCB8fCB4ID49IDEyOTc0MiAmJiB4IDw9IDEyOTc1NiB8fCB4ID49IDEyOTc1OSAmJiB4IDw9IDEyOTc2OSB8fCB4ID49IDEyOTc3NiAmJiB4IDw9IDEyOTc4NCB8fCB4ID49IDEzMTA3MiAmJiB4IDw9IDE5NjYwNSB8fCB4ID49IDE5NjYwOCAmJiB4IDw9IDI2MjE0MTtcbn1cblxuLy8gbm9kZV9tb2R1bGVzL2dldC1lYXN0LWFzaWFuLXdpZHRoL2luZGV4LmpzXG52YXIgX2lzTmFycm93V2lkdGggPSAoY29kZVBvaW50KSA9PiAhKGlzRnVsbFdpZHRoKGNvZGVQb2ludCkgfHwgaXNXaWRlKGNvZGVQb2ludCkpO1xuXG4vLyBzcmMvdXRpbHMvZ2V0LXN0cmluZy13aWR0aC5qc1xudmFyIG5vdEFzY2lpUmVnZXggPSAvW15cXHgyMC1cXHg3Rl0vdTtcbmZ1bmN0aW9uIGdldFN0cmluZ1dpZHRoKHRleHQpIHtcbiAgaWYgKCF0ZXh0KSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgaWYgKCFub3RBc2NpaVJlZ2V4LnRlc3QodGV4dCkpIHtcbiAgICByZXR1cm4gdGV4dC5sZW5ndGg7XG4gIH1cbiAgdGV4dCA9IHRleHQucmVwbGFjZShlbW9qaV9yZWdleF9kZWZhdWx0KCksIFwiICBcIik7XG4gIGxldCB3aWR0aCA9IDA7XG4gIGZvciAoY29uc3QgY2hhcmFjdGVyIG9mIHRleHQpIHtcbiAgICBjb25zdCBjb2RlUG9pbnQgPSBjaGFyYWN0ZXIuY29kZVBvaW50QXQoMCk7XG4gICAgaWYgKGNvZGVQb2ludCA8PSAzMSB8fCBjb2RlUG9pbnQgPj0gMTI3ICYmIGNvZGVQb2ludCA8PSAxNTkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBpZiAoY29kZVBvaW50ID49IDc2OCAmJiBjb2RlUG9pbnQgPD0gODc5KSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgd2lkdGggKz0gX2lzTmFycm93V2lkdGgoY29kZVBvaW50KSA/IDEgOiAyO1xuICB9XG4gIHJldHVybiB3aWR0aDtcbn1cbnZhciBnZXRfc3RyaW5nX3dpZHRoX2RlZmF1bHQgPSBnZXRTdHJpbmdXaWR0aDtcblxuLy8gc3JjL2RvY3VtZW50L3V0aWxzLmpzXG5mdW5jdGlvbiBtYXBEb2MoZG9jLCBjYikge1xuICBpZiAodHlwZW9mIGRvYyA9PT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiBjYihkb2MpO1xuICB9XG4gIGNvbnN0IG1hcHBlZCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gIHJldHVybiByZWMoZG9jKTtcbiAgZnVuY3Rpb24gcmVjKGRvYzIpIHtcbiAgICBpZiAobWFwcGVkLmhhcyhkb2MyKSkge1xuICAgICAgcmV0dXJuIG1hcHBlZC5nZXQoZG9jMik7XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IHByb2Nlc3MyKGRvYzIpO1xuICAgIG1hcHBlZC5zZXQoZG9jMiwgcmVzdWx0KTtcbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG4gIGZ1bmN0aW9uIHByb2Nlc3MyKGRvYzIpIHtcbiAgICBzd2l0Y2ggKGdldF9kb2NfdHlwZV9kZWZhdWx0KGRvYzIpKSB7XG4gICAgICBjYXNlIERPQ19UWVBFX0FSUkFZOlxuICAgICAgICByZXR1cm4gY2IoZG9jMi5tYXAocmVjKSk7XG4gICAgICBjYXNlIERPQ19UWVBFX0ZJTEw6XG4gICAgICAgIHJldHVybiBjYih7IC4uLmRvYzIsIHBhcnRzOiBkb2MyLnBhcnRzLm1hcChyZWMpIH0pO1xuICAgICAgY2FzZSBET0NfVFlQRV9JRl9CUkVBSzpcbiAgICAgICAgcmV0dXJuIGNiKHtcbiAgICAgICAgICAuLi5kb2MyLFxuICAgICAgICAgIGJyZWFrQ29udGVudHM6IHJlYyhkb2MyLmJyZWFrQ29udGVudHMpLFxuICAgICAgICAgIGZsYXRDb250ZW50czogcmVjKGRvYzIuZmxhdENvbnRlbnRzKVxuICAgICAgICB9KTtcbiAgICAgIGNhc2UgRE9DX1RZUEVfR1JPVVA6IHtcbiAgICAgICAgbGV0IHsgZXhwYW5kZWRTdGF0ZXMsIGNvbnRlbnRzIH0gPSBkb2MyO1xuICAgICAgICBpZiAoZXhwYW5kZWRTdGF0ZXMpIHtcbiAgICAgICAgICBleHBhbmRlZFN0YXRlcyA9IGV4cGFuZGVkU3RhdGVzLm1hcChyZWMpO1xuICAgICAgICAgIGNvbnRlbnRzID0gZXhwYW5kZWRTdGF0ZXNbMF07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29udGVudHMgPSByZWMoY29udGVudHMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBjYih7IC4uLmRvYzIsIGNvbnRlbnRzLCBleHBhbmRlZFN0YXRlcyB9KTtcbiAgICAgIH1cbiAgICAgIGNhc2UgRE9DX1RZUEVfQUxJR046XG4gICAgICBjYXNlIERPQ19UWVBFX0lOREVOVDpcbiAgICAgIGNhc2UgRE9DX1RZUEVfSU5ERU5UX0lGX0JSRUFLOlxuICAgICAgY2FzZSBET0NfVFlQRV9MQUJFTDpcbiAgICAgIGNhc2UgRE9DX1RZUEVfTElORV9TVUZGSVg6XG4gICAgICAgIHJldHVybiBjYih7IC4uLmRvYzIsIGNvbnRlbnRzOiByZWMoZG9jMi5jb250ZW50cykgfSk7XG4gICAgICBjYXNlIERPQ19UWVBFX1NUUklORzpcbiAgICAgIGNhc2UgRE9DX1RZUEVfQ1VSU09SOlxuICAgICAgY2FzZSBET0NfVFlQRV9UUklNOlxuICAgICAgY2FzZSBET0NfVFlQRV9MSU5FX1NVRkZJWF9CT1VOREFSWTpcbiAgICAgIGNhc2UgRE9DX1RZUEVfTElORTpcbiAgICAgIGNhc2UgRE9DX1RZUEVfQlJFQUtfUEFSRU5UOlxuICAgICAgICByZXR1cm4gY2IoZG9jMik7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgaW52YWxpZF9kb2NfZXJyb3JfZGVmYXVsdChkb2MyKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGZpbmRJbkRvYyhkb2MsIGZuLCBkZWZhdWx0VmFsdWUpIHtcbiAgbGV0IHJlc3VsdCA9IGRlZmF1bHRWYWx1ZTtcbiAgbGV0IHNob3VsZFNraXBGdXJ0aGVyUHJvY2Vzc2luZyA9IGZhbHNlO1xuICBmdW5jdGlvbiBmaW5kSW5Eb2NPbkVudGVyRm4oZG9jMikge1xuICAgIGlmIChzaG91bGRTa2lwRnVydGhlclByb2Nlc3NpbmcpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgbWF5YmVSZXN1bHQgPSBmbihkb2MyKTtcbiAgICBpZiAobWF5YmVSZXN1bHQgIT09IHZvaWQgMCkge1xuICAgICAgc2hvdWxkU2tpcEZ1cnRoZXJQcm9jZXNzaW5nID0gdHJ1ZTtcbiAgICAgIHJlc3VsdCA9IG1heWJlUmVzdWx0O1xuICAgIH1cbiAgfVxuICB0cmF2ZXJzZV9kb2NfZGVmYXVsdChkb2MsIGZpbmRJbkRvY09uRW50ZXJGbik7XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiB3aWxsQnJlYWtGbihkb2MpIHtcbiAgaWYgKGRvYy50eXBlID09PSBET0NfVFlQRV9HUk9VUCAmJiBkb2MuYnJlYWspIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAoZG9jLnR5cGUgPT09IERPQ19UWVBFX0xJTkUgJiYgZG9jLmhhcmQpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBpZiAoZG9jLnR5cGUgPT09IERPQ19UWVBFX0JSRUFLX1BBUkVOVCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5mdW5jdGlvbiB3aWxsQnJlYWsoZG9jKSB7XG4gIHJldHVybiBmaW5kSW5Eb2MoZG9jLCB3aWxsQnJlYWtGbiwgZmFsc2UpO1xufVxuZnVuY3Rpb24gYnJlYWtQYXJlbnRHcm91cChncm91cFN0YWNrKSB7XG4gIGlmIChncm91cFN0YWNrLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBwYXJlbnRHcm91cCA9IGF0X2RlZmF1bHQoXG4gICAgICAvKiBpc09wdGlvbmFsT2JqZWN0ICovXG4gICAgICBmYWxzZSxcbiAgICAgIGdyb3VwU3RhY2ssXG4gICAgICAtMVxuICAgICk7XG4gICAgaWYgKCFwYXJlbnRHcm91cC5leHBhbmRlZFN0YXRlcyAmJiAhcGFyZW50R3JvdXAuYnJlYWspIHtcbiAgICAgIHBhcmVudEdyb3VwLmJyZWFrID0gXCJwcm9wYWdhdGVkXCI7XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gcHJvcGFnYXRlQnJlYWtzKGRvYykge1xuICBjb25zdCBhbHJlYWR5VmlzaXRlZFNldCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KCk7XG4gIGNvbnN0IGdyb3VwU3RhY2sgPSBbXTtcbiAgZnVuY3Rpb24gcHJvcGFnYXRlQnJlYWtzT25FbnRlckZuKGRvYzIpIHtcbiAgICBpZiAoZG9jMi50eXBlID09PSBET0NfVFlQRV9CUkVBS19QQVJFTlQpIHtcbiAgICAgIGJyZWFrUGFyZW50R3JvdXAoZ3JvdXBTdGFjayk7XG4gICAgfVxuICAgIGlmIChkb2MyLnR5cGUgPT09IERPQ19UWVBFX0dST1VQKSB7XG4gICAgICBncm91cFN0YWNrLnB1c2goZG9jMik7XG4gICAgICBpZiAoYWxyZWFkeVZpc2l0ZWRTZXQuaGFzKGRvYzIpKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGFscmVhZHlWaXNpdGVkU2V0LmFkZChkb2MyKTtcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gcHJvcGFnYXRlQnJlYWtzT25FeGl0Rm4oZG9jMikge1xuICAgIGlmIChkb2MyLnR5cGUgPT09IERPQ19UWVBFX0dST1VQKSB7XG4gICAgICBjb25zdCBncm91cDIgPSBncm91cFN0YWNrLnBvcCgpO1xuICAgICAgaWYgKGdyb3VwMi5icmVhaykge1xuICAgICAgICBicmVha1BhcmVudEdyb3VwKGdyb3VwU3RhY2spO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICB0cmF2ZXJzZV9kb2NfZGVmYXVsdChcbiAgICBkb2MsXG4gICAgcHJvcGFnYXRlQnJlYWtzT25FbnRlckZuLFxuICAgIHByb3BhZ2F0ZUJyZWFrc09uRXhpdEZuLFxuICAgIC8qIHNob3VsZFRyYXZlcnNlQ29uZGl0aW9uYWxHcm91cHMgKi9cbiAgICB0cnVlXG4gICk7XG59XG5mdW5jdGlvbiByZW1vdmVMaW5lc0ZuKGRvYykge1xuICBpZiAoZG9jLnR5cGUgPT09IERPQ19UWVBFX0xJTkUgJiYgIWRvYy5oYXJkKSB7XG4gICAgcmV0dXJuIGRvYy5zb2Z0ID8gXCJcIiA6IFwiIFwiO1xuICB9XG4gIGlmIChkb2MudHlwZSA9PT0gRE9DX1RZUEVfSUZfQlJFQUspIHtcbiAgICByZXR1cm4gZG9jLmZsYXRDb250ZW50cztcbiAgfVxuICByZXR1cm4gZG9jO1xufVxuZnVuY3Rpb24gcmVtb3ZlTGluZXMoZG9jKSB7XG4gIHJldHVybiBtYXBEb2MoZG9jLCByZW1vdmVMaW5lc0ZuKTtcbn1cbmZ1bmN0aW9uIHN0cmlwVHJhaWxpbmdIYXJkbGluZUZyb21QYXJ0cyhwYXJ0cykge1xuICBwYXJ0cyA9IFsuLi5wYXJ0c107XG4gIHdoaWxlIChwYXJ0cy5sZW5ndGggPj0gMiAmJiBhdF9kZWZhdWx0KFxuICAgIC8qIGlzT3B0aW9uYWxPYmplY3QgKi9cbiAgICBmYWxzZSxcbiAgICBwYXJ0cyxcbiAgICAtMlxuICApLnR5cGUgPT09IERPQ19UWVBFX0xJTkUgJiYgYXRfZGVmYXVsdChcbiAgICAvKiBpc09wdGlvbmFsT2JqZWN0ICovXG4gICAgZmFsc2UsXG4gICAgcGFydHMsXG4gICAgLTFcbiAgKS50eXBlID09PSBET0NfVFlQRV9CUkVBS19QQVJFTlQpIHtcbiAgICBwYXJ0cy5sZW5ndGggLT0gMjtcbiAgfVxuICBpZiAocGFydHMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IGxhc3RQYXJ0ID0gc3RyaXBUcmFpbGluZ0hhcmRsaW5lRnJvbURvYyhhdF9kZWZhdWx0KFxuICAgICAgLyogaXNPcHRpb25hbE9iamVjdCAqL1xuICAgICAgZmFsc2UsXG4gICAgICBwYXJ0cyxcbiAgICAgIC0xXG4gICAgKSk7XG4gICAgcGFydHNbcGFydHMubGVuZ3RoIC0gMV0gPSBsYXN0UGFydDtcbiAgfVxuICByZXR1cm4gcGFydHM7XG59XG5mdW5jdGlvbiBzdHJpcFRyYWlsaW5nSGFyZGxpbmVGcm9tRG9jKGRvYykge1xuICBzd2l0Y2ggKGdldF9kb2NfdHlwZV9kZWZhdWx0KGRvYykpIHtcbiAgICBjYXNlIERPQ19UWVBFX0lOREVOVDpcbiAgICBjYXNlIERPQ19UWVBFX0lOREVOVF9JRl9CUkVBSzpcbiAgICBjYXNlIERPQ19UWVBFX0dST1VQOlxuICAgIGNhc2UgRE9DX1RZUEVfTElORV9TVUZGSVg6XG4gICAgY2FzZSBET0NfVFlQRV9MQUJFTDoge1xuICAgICAgY29uc3QgY29udGVudHMgPSBzdHJpcFRyYWlsaW5nSGFyZGxpbmVGcm9tRG9jKGRvYy5jb250ZW50cyk7XG4gICAgICByZXR1cm4geyAuLi5kb2MsIGNvbnRlbnRzIH07XG4gICAgfVxuICAgIGNhc2UgRE9DX1RZUEVfSUZfQlJFQUs6XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5kb2MsXG4gICAgICAgIGJyZWFrQ29udGVudHM6IHN0cmlwVHJhaWxpbmdIYXJkbGluZUZyb21Eb2MoZG9jLmJyZWFrQ29udGVudHMpLFxuICAgICAgICBmbGF0Q29udGVudHM6IHN0cmlwVHJhaWxpbmdIYXJkbGluZUZyb21Eb2MoZG9jLmZsYXRDb250ZW50cylcbiAgICAgIH07XG4gICAgY2FzZSBET0NfVFlQRV9GSUxMOlxuICAgICAgcmV0dXJuIHsgLi4uZG9jLCBwYXJ0czogc3RyaXBUcmFpbGluZ0hhcmRsaW5lRnJvbVBhcnRzKGRvYy5wYXJ0cykgfTtcbiAgICBjYXNlIERPQ19UWVBFX0FSUkFZOlxuICAgICAgcmV0dXJuIHN0cmlwVHJhaWxpbmdIYXJkbGluZUZyb21QYXJ0cyhkb2MpO1xuICAgIGNhc2UgRE9DX1RZUEVfU1RSSU5HOlxuICAgICAgcmV0dXJuIGRvYy5yZXBsYWNlKC9bXFxuXFxyXSokL3UsIFwiXCIpO1xuICAgIGNhc2UgRE9DX1RZUEVfQUxJR046XG4gICAgY2FzZSBET0NfVFlQRV9DVVJTT1I6XG4gICAgY2FzZSBET0NfVFlQRV9UUklNOlxuICAgIGNhc2UgRE9DX1RZUEVfTElORV9TVUZGSVhfQk9VTkRBUlk6XG4gICAgY2FzZSBET0NfVFlQRV9MSU5FOlxuICAgIGNhc2UgRE9DX1RZUEVfQlJFQUtfUEFSRU5UOlxuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBpbnZhbGlkX2RvY19lcnJvcl9kZWZhdWx0KGRvYyk7XG4gIH1cbiAgcmV0dXJuIGRvYztcbn1cbmZ1bmN0aW9uIHN0cmlwVHJhaWxpbmdIYXJkbGluZShkb2MpIHtcbiAgcmV0dXJuIHN0cmlwVHJhaWxpbmdIYXJkbGluZUZyb21Eb2MoY2xlYW5Eb2MoZG9jKSk7XG59XG5mdW5jdGlvbiBjbGVhbkRvY0ZuKGRvYykge1xuICBzd2l0Y2ggKGdldF9kb2NfdHlwZV9kZWZhdWx0KGRvYykpIHtcbiAgICBjYXNlIERPQ19UWVBFX0ZJTEw6XG4gICAgICBpZiAoZG9jLnBhcnRzLmV2ZXJ5KChwYXJ0KSA9PiBwYXJ0ID09PSBcIlwiKSkge1xuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRE9DX1RZUEVfR1JPVVA6XG4gICAgICBpZiAoIWRvYy5jb250ZW50cyAmJiAhZG9jLmlkICYmICFkb2MuYnJlYWsgJiYgIWRvYy5leHBhbmRlZFN0YXRlcykge1xuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgIH1cbiAgICAgIGlmIChkb2MuY29udGVudHMudHlwZSA9PT0gRE9DX1RZUEVfR1JPVVAgJiYgZG9jLmNvbnRlbnRzLmlkID09PSBkb2MuaWQgJiYgZG9jLmNvbnRlbnRzLmJyZWFrID09PSBkb2MuYnJlYWsgJiYgZG9jLmNvbnRlbnRzLmV4cGFuZGVkU3RhdGVzID09PSBkb2MuZXhwYW5kZWRTdGF0ZXMpIHtcbiAgICAgICAgcmV0dXJuIGRvYy5jb250ZW50cztcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgRE9DX1RZUEVfQUxJR046XG4gICAgY2FzZSBET0NfVFlQRV9JTkRFTlQ6XG4gICAgY2FzZSBET0NfVFlQRV9JTkRFTlRfSUZfQlJFQUs6XG4gICAgY2FzZSBET0NfVFlQRV9MSU5FX1NVRkZJWDpcbiAgICAgIGlmICghZG9jLmNvbnRlbnRzKSB7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBET0NfVFlQRV9JRl9CUkVBSzpcbiAgICAgIGlmICghZG9jLmZsYXRDb250ZW50cyAmJiAhZG9jLmJyZWFrQ29udGVudHMpIHtcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIERPQ19UWVBFX0FSUkFZOiB7XG4gICAgICBjb25zdCBwYXJ0cyA9IFtdO1xuICAgICAgZm9yIChjb25zdCBwYXJ0IG9mIGRvYykge1xuICAgICAgICBpZiAoIXBhcnQpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBbY3VycmVudFBhcnQsIC4uLnJlc3RQYXJ0c10gPSBBcnJheS5pc0FycmF5KHBhcnQpID8gcGFydCA6IFtwYXJ0XTtcbiAgICAgICAgaWYgKHR5cGVvZiBjdXJyZW50UGFydCA9PT0gXCJzdHJpbmdcIiAmJiB0eXBlb2YgYXRfZGVmYXVsdChcbiAgICAgICAgICAvKiBpc09wdGlvbmFsT2JqZWN0ICovXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgcGFydHMsXG4gICAgICAgICAgLTFcbiAgICAgICAgKSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgIHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdICs9IGN1cnJlbnRQYXJ0O1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHBhcnRzLnB1c2goY3VycmVudFBhcnQpO1xuICAgICAgICB9XG4gICAgICAgIHBhcnRzLnB1c2goLi4ucmVzdFBhcnRzKTtcbiAgICAgIH1cbiAgICAgIGlmIChwYXJ0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICB9XG4gICAgICBpZiAocGFydHMubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIHJldHVybiBwYXJ0c1swXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwYXJ0cztcbiAgICB9XG4gICAgY2FzZSBET0NfVFlQRV9TVFJJTkc6XG4gICAgY2FzZSBET0NfVFlQRV9DVVJTT1I6XG4gICAgY2FzZSBET0NfVFlQRV9UUklNOlxuICAgIGNhc2UgRE9DX1RZUEVfTElORV9TVUZGSVhfQk9VTkRBUlk6XG4gICAgY2FzZSBET0NfVFlQRV9MSU5FOlxuICAgIGNhc2UgRE9DX1RZUEVfTEFCRUw6XG4gICAgY2FzZSBET0NfVFlQRV9CUkVBS19QQVJFTlQ6XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IGludmFsaWRfZG9jX2Vycm9yX2RlZmF1bHQoZG9jKTtcbiAgfVxuICByZXR1cm4gZG9jO1xufVxuZnVuY3Rpb24gY2xlYW5Eb2MoZG9jKSB7XG4gIHJldHVybiBtYXBEb2MoZG9jLCAoY3VycmVudERvYykgPT4gY2xlYW5Eb2NGbihjdXJyZW50RG9jKSk7XG59XG5mdW5jdGlvbiByZXBsYWNlRW5kT2ZMaW5lKGRvYywgcmVwbGFjZW1lbnQgPSBsaXRlcmFsbGluZSkge1xuICByZXR1cm4gbWFwRG9jKFxuICAgIGRvYyxcbiAgICAoY3VycmVudERvYykgPT4gdHlwZW9mIGN1cnJlbnREb2MgPT09IFwic3RyaW5nXCIgPyBqb2luKHJlcGxhY2VtZW50LCBjdXJyZW50RG9jLnNwbGl0KFwiXFxuXCIpKSA6IGN1cnJlbnREb2NcbiAgKTtcbn1cbmZ1bmN0aW9uIGNhbkJyZWFrRm4oZG9jKSB7XG4gIGlmIChkb2MudHlwZSA9PT0gRE9DX1RZUEVfTElORSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG59XG5mdW5jdGlvbiBjYW5CcmVhayhkb2MpIHtcbiAgcmV0dXJuIGZpbmRJbkRvYyhkb2MsIGNhbkJyZWFrRm4sIGZhbHNlKTtcbn1cblxuLy8gc3JjL2RvY3VtZW50L3ByaW50ZXIuanNcbnZhciBNT0RFX0JSRUFLID0gU3ltYm9sKFwiTU9ERV9CUkVBS1wiKTtcbnZhciBNT0RFX0ZMQVQgPSBTeW1ib2woXCJNT0RFX0ZMQVRcIik7XG52YXIgQ1VSU09SX1BMQUNFSE9MREVSID0gU3ltYm9sKFwiY3Vyc29yXCIpO1xudmFyIERPQ19GSUxMX1BSSU5URURfTEVOR1RIID0gU3ltYm9sKFwiRE9DX0ZJTExfUFJJTlRFRF9MRU5HVEhcIik7XG5mdW5jdGlvbiByb290SW5kZW50KCkge1xuICByZXR1cm4geyB2YWx1ZTogXCJcIiwgbGVuZ3RoOiAwLCBxdWV1ZTogW10gfTtcbn1cbmZ1bmN0aW9uIG1ha2VJbmRlbnQoaW5kLCBvcHRpb25zKSB7XG4gIHJldHVybiBnZW5lcmF0ZUluZChpbmQsIHsgdHlwZTogXCJpbmRlbnRcIiB9LCBvcHRpb25zKTtcbn1cbmZ1bmN0aW9uIG1ha2VBbGlnbihpbmRlbnQyLCB3aWR0aE9yRG9jLCBvcHRpb25zKSB7XG4gIGlmICh3aWR0aE9yRG9jID09PSBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkpIHtcbiAgICByZXR1cm4gaW5kZW50Mi5yb290IHx8IHJvb3RJbmRlbnQoKTtcbiAgfVxuICBpZiAod2lkdGhPckRvYyA8IDApIHtcbiAgICByZXR1cm4gZ2VuZXJhdGVJbmQoaW5kZW50MiwgeyB0eXBlOiBcImRlZGVudFwiIH0sIG9wdGlvbnMpO1xuICB9XG4gIGlmICghd2lkdGhPckRvYykge1xuICAgIHJldHVybiBpbmRlbnQyO1xuICB9XG4gIGlmICh3aWR0aE9yRG9jLnR5cGUgPT09IFwicm9vdFwiKSB7XG4gICAgcmV0dXJuIHsgLi4uaW5kZW50Miwgcm9vdDogaW5kZW50MiB9O1xuICB9XG4gIGNvbnN0IGFsaWduVHlwZSA9IHR5cGVvZiB3aWR0aE9yRG9jID09PSBcInN0cmluZ1wiID8gXCJzdHJpbmdBbGlnblwiIDogXCJudW1iZXJBbGlnblwiO1xuICByZXR1cm4gZ2VuZXJhdGVJbmQoaW5kZW50MiwgeyB0eXBlOiBhbGlnblR5cGUsIG46IHdpZHRoT3JEb2MgfSwgb3B0aW9ucyk7XG59XG5mdW5jdGlvbiBnZW5lcmF0ZUluZChpbmQsIG5ld1BhcnQsIG9wdGlvbnMpIHtcbiAgY29uc3QgcXVldWUgPSBuZXdQYXJ0LnR5cGUgPT09IFwiZGVkZW50XCIgPyBpbmQucXVldWUuc2xpY2UoMCwgLTEpIDogWy4uLmluZC5xdWV1ZSwgbmV3UGFydF07XG4gIGxldCB2YWx1ZSA9IFwiXCI7XG4gIGxldCBsZW5ndGggPSAwO1xuICBsZXQgbGFzdFRhYnMgPSAwO1xuICBsZXQgbGFzdFNwYWNlcyA9IDA7XG4gIGZvciAoY29uc3QgcGFydCBvZiBxdWV1ZSkge1xuICAgIHN3aXRjaCAocGFydC50eXBlKSB7XG4gICAgICBjYXNlIFwiaW5kZW50XCI6XG4gICAgICAgIGZsdXNoKCk7XG4gICAgICAgIGlmIChvcHRpb25zLnVzZVRhYnMpIHtcbiAgICAgICAgICBhZGRUYWJzKDEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGFkZFNwYWNlcyhvcHRpb25zLnRhYldpZHRoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJzdHJpbmdBbGlnblwiOlxuICAgICAgICBmbHVzaCgpO1xuICAgICAgICB2YWx1ZSArPSBwYXJ0Lm47XG4gICAgICAgIGxlbmd0aCArPSBwYXJ0Lm4ubGVuZ3RoO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJudW1iZXJBbGlnblwiOlxuICAgICAgICBsYXN0VGFicyArPSAxO1xuICAgICAgICBsYXN0U3BhY2VzICs9IHBhcnQubjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgdHlwZSAnJHtwYXJ0LnR5cGV9J2ApO1xuICAgIH1cbiAgfVxuICBmbHVzaFNwYWNlcygpO1xuICByZXR1cm4geyAuLi5pbmQsIHZhbHVlLCBsZW5ndGgsIHF1ZXVlIH07XG4gIGZ1bmN0aW9uIGFkZFRhYnMoY291bnQpIHtcbiAgICB2YWx1ZSArPSBcIlx0XCIucmVwZWF0KGNvdW50KTtcbiAgICBsZW5ndGggKz0gb3B0aW9ucy50YWJXaWR0aCAqIGNvdW50O1xuICB9XG4gIGZ1bmN0aW9uIGFkZFNwYWNlcyhjb3VudCkge1xuICAgIHZhbHVlICs9IFwiIFwiLnJlcGVhdChjb3VudCk7XG4gICAgbGVuZ3RoICs9IGNvdW50O1xuICB9XG4gIGZ1bmN0aW9uIGZsdXNoKCkge1xuICAgIGlmIChvcHRpb25zLnVzZVRhYnMpIHtcbiAgICAgIGZsdXNoVGFicygpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmbHVzaFNwYWNlcygpO1xuICAgIH1cbiAgfVxuICBmdW5jdGlvbiBmbHVzaFRhYnMoKSB7XG4gICAgaWYgKGxhc3RUYWJzID4gMCkge1xuICAgICAgYWRkVGFicyhsYXN0VGFicyk7XG4gICAgfVxuICAgIHJlc2V0TGFzdCgpO1xuICB9XG4gIGZ1bmN0aW9uIGZsdXNoU3BhY2VzKCkge1xuICAgIGlmIChsYXN0U3BhY2VzID4gMCkge1xuICAgICAgYWRkU3BhY2VzKGxhc3RTcGFjZXMpO1xuICAgIH1cbiAgICByZXNldExhc3QoKTtcbiAgfVxuICBmdW5jdGlvbiByZXNldExhc3QoKSB7XG4gICAgbGFzdFRhYnMgPSAwO1xuICAgIGxhc3RTcGFjZXMgPSAwO1xuICB9XG59XG5mdW5jdGlvbiB0cmltMihvdXQpIHtcbiAgbGV0IHRyaW1Db3VudCA9IDA7XG4gIGxldCBjdXJzb3JDb3VudCA9IDA7XG4gIGxldCBvdXRJbmRleCA9IG91dC5sZW5ndGg7XG4gIG91dGVyOiB3aGlsZSAob3V0SW5kZXgtLSkge1xuICAgIGNvbnN0IGxhc3QgPSBvdXRbb3V0SW5kZXhdO1xuICAgIGlmIChsYXN0ID09PSBDVVJTT1JfUExBQ0VIT0xERVIpIHtcbiAgICAgIGN1cnNvckNvdW50Kys7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKGZhbHNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgdmFsdWUgaW4gdHJpbTogJyR7dHlwZW9mIGxhc3R9J2ApO1xuICAgIH1cbiAgICBmb3IgKGxldCBjaGFySW5kZXggPSBsYXN0Lmxlbmd0aCAtIDE7IGNoYXJJbmRleCA+PSAwOyBjaGFySW5kZXgtLSkge1xuICAgICAgY29uc3QgY2hhciA9IGxhc3RbY2hhckluZGV4XTtcbiAgICAgIGlmIChjaGFyID09PSBcIiBcIiB8fCBjaGFyID09PSBcIlx0XCIpIHtcbiAgICAgICAgdHJpbUNvdW50Kys7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBvdXRbb3V0SW5kZXhdID0gbGFzdC5zbGljZSgwLCBjaGFySW5kZXggKyAxKTtcbiAgICAgICAgYnJlYWsgb3V0ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmICh0cmltQ291bnQgPiAwIHx8IGN1cnNvckNvdW50ID4gMCkge1xuICAgIG91dC5sZW5ndGggPSBvdXRJbmRleCArIDE7XG4gICAgd2hpbGUgKGN1cnNvckNvdW50LS0gPiAwKSB7XG4gICAgICBvdXQucHVzaChDVVJTT1JfUExBQ0VIT0xERVIpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJpbUNvdW50O1xufVxuZnVuY3Rpb24gZml0cyhuZXh0LCByZXN0Q29tbWFuZHMsIHdpZHRoLCBoYXNMaW5lU3VmZml4LCBncm91cE1vZGVNYXAsIG11c3RCZUZsYXQpIHtcbiAgaWYgKHdpZHRoID09PSBOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFkpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICBsZXQgcmVzdElkeCA9IHJlc3RDb21tYW5kcy5sZW5ndGg7XG4gIGNvbnN0IGNtZHMgPSBbbmV4dF07XG4gIGNvbnN0IG91dCA9IFtdO1xuICB3aGlsZSAod2lkdGggPj0gMCkge1xuICAgIGlmIChjbWRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgaWYgKHJlc3RJZHggPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBjbWRzLnB1c2gocmVzdENvbW1hbmRzWy0tcmVzdElkeF0pO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IHsgbW9kZSwgZG9jIH0gPSBjbWRzLnBvcCgpO1xuICAgIGNvbnN0IGRvY1R5cGUgPSBnZXRfZG9jX3R5cGVfZGVmYXVsdChkb2MpO1xuICAgIHN3aXRjaCAoZG9jVHlwZSkge1xuICAgICAgY2FzZSBET0NfVFlQRV9TVFJJTkc6XG4gICAgICAgIG91dC5wdXNoKGRvYyk7XG4gICAgICAgIHdpZHRoIC09IGdldF9zdHJpbmdfd2lkdGhfZGVmYXVsdChkb2MpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRE9DX1RZUEVfQVJSQVk6XG4gICAgICBjYXNlIERPQ19UWVBFX0ZJTEw6IHtcbiAgICAgICAgY29uc3QgcGFydHMgPSBkb2NUeXBlID09PSBET0NfVFlQRV9BUlJBWSA/IGRvYyA6IGRvYy5wYXJ0cztcbiAgICAgICAgY29uc3QgZW5kID0gZG9jW0RPQ19GSUxMX1BSSU5URURfTEVOR1RIXSA/PyAwO1xuICAgICAgICBmb3IgKGxldCBpID0gcGFydHMubGVuZ3RoIC0gMTsgaSA+PSBlbmQ7IGktLSkge1xuICAgICAgICAgIGNtZHMucHVzaCh7IG1vZGUsIGRvYzogcGFydHNbaV0gfSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIERPQ19UWVBFX0lOREVOVDpcbiAgICAgIGNhc2UgRE9DX1RZUEVfQUxJR046XG4gICAgICBjYXNlIERPQ19UWVBFX0lOREVOVF9JRl9CUkVBSzpcbiAgICAgIGNhc2UgRE9DX1RZUEVfTEFCRUw6XG4gICAgICAgIGNtZHMucHVzaCh7IG1vZGUsIGRvYzogZG9jLmNvbnRlbnRzIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRE9DX1RZUEVfVFJJTTpcbiAgICAgICAgd2lkdGggKz0gdHJpbTIob3V0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPQ19UWVBFX0dST1VQOiB7XG4gICAgICAgIGlmIChtdXN0QmVGbGF0ICYmIGRvYy5icmVhaykge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBncm91cE1vZGUgPSBkb2MuYnJlYWsgPyBNT0RFX0JSRUFLIDogbW9kZTtcbiAgICAgICAgY29uc3QgY29udGVudHMgPSBkb2MuZXhwYW5kZWRTdGF0ZXMgJiYgZ3JvdXBNb2RlID09PSBNT0RFX0JSRUFLID8gYXRfZGVmYXVsdChcbiAgICAgICAgICAvKiBpc09wdGlvbmFsT2JqZWN0ICovXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgZG9jLmV4cGFuZGVkU3RhdGVzLFxuICAgICAgICAgIC0xXG4gICAgICAgICkgOiBkb2MuY29udGVudHM7XG4gICAgICAgIGNtZHMucHVzaCh7IG1vZGU6IGdyb3VwTW9kZSwgZG9jOiBjb250ZW50cyB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIERPQ19UWVBFX0lGX0JSRUFLOiB7XG4gICAgICAgIGNvbnN0IGdyb3VwTW9kZSA9IGRvYy5ncm91cElkID8gZ3JvdXBNb2RlTWFwW2RvYy5ncm91cElkXSB8fCBNT0RFX0ZMQVQgOiBtb2RlO1xuICAgICAgICBjb25zdCBjb250ZW50cyA9IGdyb3VwTW9kZSA9PT0gTU9ERV9CUkVBSyA/IGRvYy5icmVha0NvbnRlbnRzIDogZG9jLmZsYXRDb250ZW50cztcbiAgICAgICAgaWYgKGNvbnRlbnRzKSB7XG4gICAgICAgICAgY21kcy5wdXNoKHsgbW9kZSwgZG9jOiBjb250ZW50cyB9KTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgRE9DX1RZUEVfTElORTpcbiAgICAgICAgaWYgKG1vZGUgPT09IE1PREVfQlJFQUsgfHwgZG9jLmhhcmQpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWRvYy5zb2Z0KSB7XG4gICAgICAgICAgb3V0LnB1c2goXCIgXCIpO1xuICAgICAgICAgIHdpZHRoLS07XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPQ19UWVBFX0xJTkVfU1VGRklYOlxuICAgICAgICBoYXNMaW5lU3VmZml4ID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPQ19UWVBFX0xJTkVfU1VGRklYX0JPVU5EQVJZOlxuICAgICAgICBpZiAoaGFzTGluZVN1ZmZpeCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gcHJpbnREb2NUb1N0cmluZyhkb2MsIG9wdGlvbnMpIHtcbiAgY29uc3QgZ3JvdXBNb2RlTWFwID0ge307XG4gIGNvbnN0IHdpZHRoID0gb3B0aW9ucy5wcmludFdpZHRoO1xuICBjb25zdCBuZXdMaW5lID0gY29udmVydEVuZE9mTGluZVRvQ2hhcnMob3B0aW9ucy5lbmRPZkxpbmUpO1xuICBsZXQgcG9zID0gMDtcbiAgY29uc3QgY21kcyA9IFt7IGluZDogcm9vdEluZGVudCgpLCBtb2RlOiBNT0RFX0JSRUFLLCBkb2MgfV07XG4gIGNvbnN0IG91dCA9IFtdO1xuICBsZXQgc2hvdWxkUmVtZWFzdXJlID0gZmFsc2U7XG4gIGNvbnN0IGxpbmVTdWZmaXgyID0gW107XG4gIGxldCBwcmludGVkQ3Vyc29yQ291bnQgPSAwO1xuICBwcm9wYWdhdGVCcmVha3MoZG9jKTtcbiAgd2hpbGUgKGNtZHMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IHsgaW5kLCBtb2RlLCBkb2M6IGRvYzIgfSA9IGNtZHMucG9wKCk7XG4gICAgc3dpdGNoIChnZXRfZG9jX3R5cGVfZGVmYXVsdChkb2MyKSkge1xuICAgICAgY2FzZSBET0NfVFlQRV9TVFJJTkc6IHtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gbmV3TGluZSAhPT0gXCJcXG5cIiA/IHN0cmluZ19yZXBsYWNlX2FsbF9kZWZhdWx0KFxuICAgICAgICAgIC8qIGlzT3B0aW9uYWxPYmplY3QgKi9cbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICBkb2MyLFxuICAgICAgICAgIFwiXFxuXCIsXG4gICAgICAgICAgbmV3TGluZVxuICAgICAgICApIDogZG9jMjtcbiAgICAgICAgb3V0LnB1c2goZm9ybWF0dGVkKTtcbiAgICAgICAgaWYgKGNtZHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHBvcyArPSBnZXRfc3RyaW5nX3dpZHRoX2RlZmF1bHQoZm9ybWF0dGVkKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGNhc2UgRE9DX1RZUEVfQVJSQVk6XG4gICAgICAgIGZvciAobGV0IGkgPSBkb2MyLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgY21kcy5wdXNoKHsgaW5kLCBtb2RlLCBkb2M6IGRvYzJbaV0gfSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPQ19UWVBFX0NVUlNPUjpcbiAgICAgICAgaWYgKHByaW50ZWRDdXJzb3JDb3VudCA+PSAyKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiVGhlcmUgYXJlIHRvbyBtYW55ICdjdXJzb3InIGluIGRvYy5cIik7XG4gICAgICAgIH1cbiAgICAgICAgb3V0LnB1c2goQ1VSU09SX1BMQUNFSE9MREVSKTtcbiAgICAgICAgcHJpbnRlZEN1cnNvckNvdW50Kys7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET0NfVFlQRV9JTkRFTlQ6XG4gICAgICAgIGNtZHMucHVzaCh7IGluZDogbWFrZUluZGVudChpbmQsIG9wdGlvbnMpLCBtb2RlLCBkb2M6IGRvYzIuY29udGVudHMgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET0NfVFlQRV9BTElHTjpcbiAgICAgICAgY21kcy5wdXNoKHtcbiAgICAgICAgICBpbmQ6IG1ha2VBbGlnbihpbmQsIGRvYzIubiwgb3B0aW9ucyksXG4gICAgICAgICAgbW9kZSxcbiAgICAgICAgICBkb2M6IGRvYzIuY29udGVudHNcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET0NfVFlQRV9UUklNOlxuICAgICAgICBwb3MgLT0gdHJpbTIob3V0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPQ19UWVBFX0dST1VQOlxuICAgICAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgICBjYXNlIE1PREVfRkxBVDpcbiAgICAgICAgICAgIGlmICghc2hvdWxkUmVtZWFzdXJlKSB7XG4gICAgICAgICAgICAgIGNtZHMucHVzaCh7XG4gICAgICAgICAgICAgICAgaW5kLFxuICAgICAgICAgICAgICAgIG1vZGU6IGRvYzIuYnJlYWsgPyBNT0RFX0JSRUFLIDogTU9ERV9GTEFULFxuICAgICAgICAgICAgICAgIGRvYzogZG9jMi5jb250ZW50c1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgLy8gZmFsbHRocm91Z2hcbiAgICAgICAgICBjYXNlIE1PREVfQlJFQUs6IHtcbiAgICAgICAgICAgIHNob3VsZFJlbWVhc3VyZSA9IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgbmV4dCA9IHsgaW5kLCBtb2RlOiBNT0RFX0ZMQVQsIGRvYzogZG9jMi5jb250ZW50cyB9O1xuICAgICAgICAgICAgY29uc3QgcmVtID0gd2lkdGggLSBwb3M7XG4gICAgICAgICAgICBjb25zdCBoYXNMaW5lU3VmZml4ID0gbGluZVN1ZmZpeDIubGVuZ3RoID4gMDtcbiAgICAgICAgICAgIGlmICghZG9jMi5icmVhayAmJiBmaXRzKG5leHQsIGNtZHMsIHJlbSwgaGFzTGluZVN1ZmZpeCwgZ3JvdXBNb2RlTWFwKSkge1xuICAgICAgICAgICAgICBjbWRzLnB1c2gobmV4dCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBpZiAoZG9jMi5leHBhbmRlZFN0YXRlcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1vc3RFeHBhbmRlZCA9IGF0X2RlZmF1bHQoXG4gICAgICAgICAgICAgICAgICAvKiBpc09wdGlvbmFsT2JqZWN0ICovXG4gICAgICAgICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgICAgICAgIGRvYzIuZXhwYW5kZWRTdGF0ZXMsXG4gICAgICAgICAgICAgICAgICAtMVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgaWYgKGRvYzIuYnJlYWspIHtcbiAgICAgICAgICAgICAgICAgIGNtZHMucHVzaCh7IGluZCwgbW9kZTogTU9ERV9CUkVBSywgZG9jOiBtb3N0RXhwYW5kZWQgfSk7XG4gICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCBkb2MyLmV4cGFuZGVkU3RhdGVzLmxlbmd0aCArIDE7IGkrKykge1xuICAgICAgICAgICAgICAgICAgICBpZiAoaSA+PSBkb2MyLmV4cGFuZGVkU3RhdGVzLmxlbmd0aCkge1xuICAgICAgICAgICAgICAgICAgICAgIGNtZHMucHVzaCh7IGluZCwgbW9kZTogTU9ERV9CUkVBSywgZG9jOiBtb3N0RXhwYW5kZWQgfSk7XG4gICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc3RhdGUgPSBkb2MyLmV4cGFuZGVkU3RhdGVzW2ldO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNtZCA9IHsgaW5kLCBtb2RlOiBNT0RFX0ZMQVQsIGRvYzogc3RhdGUgfTtcbiAgICAgICAgICAgICAgICAgICAgICBpZiAoZml0cyhjbWQsIGNtZHMsIHJlbSwgaGFzTGluZVN1ZmZpeCwgZ3JvdXBNb2RlTWFwKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY21kcy5wdXNoKGNtZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgY21kcy5wdXNoKHsgaW5kLCBtb2RlOiBNT0RFX0JSRUFLLCBkb2M6IGRvYzIuY29udGVudHMgfSk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZG9jMi5pZCkge1xuICAgICAgICAgIGdyb3VwTW9kZU1hcFtkb2MyLmlkXSA9IGF0X2RlZmF1bHQoXG4gICAgICAgICAgICAvKiBpc09wdGlvbmFsT2JqZWN0ICovXG4gICAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICAgIGNtZHMsXG4gICAgICAgICAgICAtMVxuICAgICAgICAgICkubW9kZTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIC8vIEZpbGxzIGVhY2ggbGluZSB3aXRoIGFzIG11Y2ggY29kZSBhcyBwb3NzaWJsZSBiZWZvcmUgbW92aW5nIHRvIGEgbmV3XG4gICAgICAvLyBsaW5lIHdpdGggdGhlIHNhbWUgaW5kZW50YXRpb24uXG4gICAgICAvL1xuICAgICAgLy8gRXhwZWN0cyBkb2MucGFydHMgdG8gYmUgYW4gYXJyYXkgb2YgYWx0ZXJuYXRpbmcgY29udGVudCBhbmRcbiAgICAgIC8vIHdoaXRlc3BhY2UuIFRoZSB3aGl0ZXNwYWNlIGNvbnRhaW5zIHRoZSBsaW5lYnJlYWtzLlxuICAgICAgLy9cbiAgICAgIC8vIEZvciBleGFtcGxlOlxuICAgICAgLy8gICBbXCJJXCIsIGxpbmUsIFwibG92ZVwiLCBsaW5lLCBcIm1vbmtleXNcIl1cbiAgICAgIC8vIG9yXG4gICAgICAvLyAgIFt7IHR5cGU6IGdyb3VwLCAuLi4gfSwgc29mdGxpbmUsIHsgdHlwZTogZ3JvdXAsIC4uLiB9XVxuICAgICAgLy9cbiAgICAgIC8vIEl0IHVzZXMgdGhpcyBwYXJ0cyBzdHJ1Y3R1cmUgdG8gaGFuZGxlIHRocmVlIG1haW4gbGF5b3V0IGNhc2VzOlxuICAgICAgLy8gKiBUaGUgZmlyc3QgdHdvIGNvbnRlbnQgaXRlbXMgZml0IG9uIHRoZSBzYW1lIGxpbmUgd2l0aG91dFxuICAgICAgLy8gICBicmVha2luZ1xuICAgICAgLy8gICAtPiBvdXRwdXQgdGhlIGZpcnN0IGNvbnRlbnQgaXRlbSBhbmQgdGhlIHdoaXRlc3BhY2UgXCJmbGF0XCIuXG4gICAgICAvLyAqIE9ubHkgdGhlIGZpcnN0IGNvbnRlbnQgaXRlbSBmaXRzIG9uIHRoZSBsaW5lIHdpdGhvdXQgYnJlYWtpbmdcbiAgICAgIC8vICAgLT4gb3V0cHV0IHRoZSBmaXJzdCBjb250ZW50IGl0ZW0gXCJmbGF0XCIgYW5kIHRoZSB3aGl0ZXNwYWNlIHdpdGhcbiAgICAgIC8vICAgXCJicmVha1wiLlxuICAgICAgLy8gKiBOZWl0aGVyIGNvbnRlbnQgaXRlbSBmaXRzIG9uIHRoZSBsaW5lIHdpdGhvdXQgYnJlYWtpbmdcbiAgICAgIC8vICAgLT4gb3V0cHV0IHRoZSBmaXJzdCBjb250ZW50IGl0ZW0gYW5kIHRoZSB3aGl0ZXNwYWNlIHdpdGggXCJicmVha1wiLlxuICAgICAgY2FzZSBET0NfVFlQRV9GSUxMOiB7XG4gICAgICAgIGNvbnN0IHJlbSA9IHdpZHRoIC0gcG9zO1xuICAgICAgICBjb25zdCBvZmZzZXQgPSBkb2MyW0RPQ19GSUxMX1BSSU5URURfTEVOR1RIXSA/PyAwO1xuICAgICAgICBjb25zdCB7IHBhcnRzIH0gPSBkb2MyO1xuICAgICAgICBjb25zdCBsZW5ndGggPSBwYXJ0cy5sZW5ndGggLSBvZmZzZXQ7XG4gICAgICAgIGlmIChsZW5ndGggPT09IDApIHtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBjb250ZW50ID0gcGFydHNbb2Zmc2V0ICsgMF07XG4gICAgICAgIGNvbnN0IHdoaXRlc3BhY2UgPSBwYXJ0c1tvZmZzZXQgKyAxXTtcbiAgICAgICAgY29uc3QgY29udGVudEZsYXRDbWQgPSB7IGluZCwgbW9kZTogTU9ERV9GTEFULCBkb2M6IGNvbnRlbnQgfTtcbiAgICAgICAgY29uc3QgY29udGVudEJyZWFrQ21kID0geyBpbmQsIG1vZGU6IE1PREVfQlJFQUssIGRvYzogY29udGVudCB9O1xuICAgICAgICBjb25zdCBjb250ZW50Rml0cyA9IGZpdHMoXG4gICAgICAgICAgY29udGVudEZsYXRDbWQsXG4gICAgICAgICAgW10sXG4gICAgICAgICAgcmVtLFxuICAgICAgICAgIGxpbmVTdWZmaXgyLmxlbmd0aCA+IDAsXG4gICAgICAgICAgZ3JvdXBNb2RlTWFwLFxuICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIGlmIChjb250ZW50Rml0cykge1xuICAgICAgICAgICAgY21kcy5wdXNoKGNvbnRlbnRGbGF0Q21kKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY21kcy5wdXNoKGNvbnRlbnRCcmVha0NtZCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHdoaXRlc3BhY2VGbGF0Q21kID0geyBpbmQsIG1vZGU6IE1PREVfRkxBVCwgZG9jOiB3aGl0ZXNwYWNlIH07XG4gICAgICAgIGNvbnN0IHdoaXRlc3BhY2VCcmVha0NtZCA9IHsgaW5kLCBtb2RlOiBNT0RFX0JSRUFLLCBkb2M6IHdoaXRlc3BhY2UgfTtcbiAgICAgICAgaWYgKGxlbmd0aCA9PT0gMikge1xuICAgICAgICAgIGlmIChjb250ZW50Rml0cykge1xuICAgICAgICAgICAgY21kcy5wdXNoKHdoaXRlc3BhY2VGbGF0Q21kLCBjb250ZW50RmxhdENtZCk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNtZHMucHVzaCh3aGl0ZXNwYWNlQnJlYWtDbWQsIGNvbnRlbnRCcmVha0NtZCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHNlY29uZENvbnRlbnQgPSBwYXJ0c1tvZmZzZXQgKyAyXTtcbiAgICAgICAgY29uc3QgcmVtYWluaW5nQ21kID0ge1xuICAgICAgICAgIGluZCxcbiAgICAgICAgICBtb2RlLFxuICAgICAgICAgIGRvYzogeyAuLi5kb2MyLCBbRE9DX0ZJTExfUFJJTlRFRF9MRU5HVEhdOiBvZmZzZXQgKyAyIH1cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZmlyc3RBbmRTZWNvbmRDb250ZW50RmxhdENtZCA9IHtcbiAgICAgICAgICBpbmQsXG4gICAgICAgICAgbW9kZTogTU9ERV9GTEFULFxuICAgICAgICAgIGRvYzogW2NvbnRlbnQsIHdoaXRlc3BhY2UsIHNlY29uZENvbnRlbnRdXG4gICAgICAgIH07XG4gICAgICAgIGNvbnN0IGZpcnN0QW5kU2Vjb25kQ29udGVudEZpdHMgPSBmaXRzKFxuICAgICAgICAgIGZpcnN0QW5kU2Vjb25kQ29udGVudEZsYXRDbWQsXG4gICAgICAgICAgW10sXG4gICAgICAgICAgcmVtLFxuICAgICAgICAgIGxpbmVTdWZmaXgyLmxlbmd0aCA+IDAsXG4gICAgICAgICAgZ3JvdXBNb2RlTWFwLFxuICAgICAgICAgIHRydWVcbiAgICAgICAgKTtcbiAgICAgICAgaWYgKGZpcnN0QW5kU2Vjb25kQ29udGVudEZpdHMpIHtcbiAgICAgICAgICBjbWRzLnB1c2gocmVtYWluaW5nQ21kLCB3aGl0ZXNwYWNlRmxhdENtZCwgY29udGVudEZsYXRDbWQpO1xuICAgICAgICB9IGVsc2UgaWYgKGNvbnRlbnRGaXRzKSB7XG4gICAgICAgICAgY21kcy5wdXNoKHJlbWFpbmluZ0NtZCwgd2hpdGVzcGFjZUJyZWFrQ21kLCBjb250ZW50RmxhdENtZCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY21kcy5wdXNoKHJlbWFpbmluZ0NtZCwgd2hpdGVzcGFjZUJyZWFrQ21kLCBjb250ZW50QnJlYWtDbWQpO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBET0NfVFlQRV9JRl9CUkVBSzpcbiAgICAgIGNhc2UgRE9DX1RZUEVfSU5ERU5UX0lGX0JSRUFLOiB7XG4gICAgICAgIGNvbnN0IGdyb3VwTW9kZSA9IGRvYzIuZ3JvdXBJZCA/IGdyb3VwTW9kZU1hcFtkb2MyLmdyb3VwSWRdIDogbW9kZTtcbiAgICAgICAgaWYgKGdyb3VwTW9kZSA9PT0gTU9ERV9CUkVBSykge1xuICAgICAgICAgIGNvbnN0IGJyZWFrQ29udGVudHMgPSBkb2MyLnR5cGUgPT09IERPQ19UWVBFX0lGX0JSRUFLID8gZG9jMi5icmVha0NvbnRlbnRzIDogZG9jMi5uZWdhdGUgPyBkb2MyLmNvbnRlbnRzIDogaW5kZW50KGRvYzIuY29udGVudHMpO1xuICAgICAgICAgIGlmIChicmVha0NvbnRlbnRzKSB7XG4gICAgICAgICAgICBjbWRzLnB1c2goeyBpbmQsIG1vZGUsIGRvYzogYnJlYWtDb250ZW50cyB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGdyb3VwTW9kZSA9PT0gTU9ERV9GTEFUKSB7XG4gICAgICAgICAgY29uc3QgZmxhdENvbnRlbnRzID0gZG9jMi50eXBlID09PSBET0NfVFlQRV9JRl9CUkVBSyA/IGRvYzIuZmxhdENvbnRlbnRzIDogZG9jMi5uZWdhdGUgPyBpbmRlbnQoZG9jMi5jb250ZW50cykgOiBkb2MyLmNvbnRlbnRzO1xuICAgICAgICAgIGlmIChmbGF0Q29udGVudHMpIHtcbiAgICAgICAgICAgIGNtZHMucHVzaCh7IGluZCwgbW9kZSwgZG9jOiBmbGF0Q29udGVudHMgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBET0NfVFlQRV9MSU5FX1NVRkZJWDpcbiAgICAgICAgbGluZVN1ZmZpeDIucHVzaCh7IGluZCwgbW9kZSwgZG9jOiBkb2MyLmNvbnRlbnRzIH0pO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRE9DX1RZUEVfTElORV9TVUZGSVhfQk9VTkRBUlk6XG4gICAgICAgIGlmIChsaW5lU3VmZml4Mi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgY21kcy5wdXNoKHsgaW5kLCBtb2RlLCBkb2M6IGhhcmRsaW5lV2l0aG91dEJyZWFrUGFyZW50IH0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET0NfVFlQRV9MSU5FOlxuICAgICAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgICBjYXNlIE1PREVfRkxBVDpcbiAgICAgICAgICAgIGlmICghZG9jMi5oYXJkKSB7XG4gICAgICAgICAgICAgIGlmICghZG9jMi5zb2Z0KSB7XG4gICAgICAgICAgICAgICAgb3V0LnB1c2goXCIgXCIpO1xuICAgICAgICAgICAgICAgIHBvcyArPSAxO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2hvdWxkUmVtZWFzdXJlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAvLyBmYWxsdGhyb3VnaFxuICAgICAgICAgIGNhc2UgTU9ERV9CUkVBSzpcbiAgICAgICAgICAgIGlmIChsaW5lU3VmZml4Mi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIGNtZHMucHVzaCh7IGluZCwgbW9kZSwgZG9jOiBkb2MyIH0sIC4uLmxpbmVTdWZmaXgyLnJldmVyc2UoKSk7XG4gICAgICAgICAgICAgIGxpbmVTdWZmaXgyLmxlbmd0aCA9IDA7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRvYzIubGl0ZXJhbCkge1xuICAgICAgICAgICAgICBpZiAoaW5kLnJvb3QpIHtcbiAgICAgICAgICAgICAgICBvdXQucHVzaChuZXdMaW5lLCBpbmQucm9vdC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgcG9zID0gaW5kLnJvb3QubGVuZ3RoO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG91dC5wdXNoKG5ld0xpbmUpO1xuICAgICAgICAgICAgICAgIHBvcyA9IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHBvcyAtPSB0cmltMihvdXQpO1xuICAgICAgICAgICAgICBvdXQucHVzaChuZXdMaW5lICsgaW5kLnZhbHVlKTtcbiAgICAgICAgICAgICAgcG9zID0gaW5kLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET0NfVFlQRV9MQUJFTDpcbiAgICAgICAgY21kcy5wdXNoKHsgaW5kLCBtb2RlLCBkb2M6IGRvYzIuY29udGVudHMgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET0NfVFlQRV9CUkVBS19QQVJFTlQ6XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IGludmFsaWRfZG9jX2Vycm9yX2RlZmF1bHQoZG9jMik7XG4gICAgfVxuICAgIGlmIChjbWRzLmxlbmd0aCA9PT0gMCAmJiBsaW5lU3VmZml4Mi5sZW5ndGggPiAwKSB7XG4gICAgICBjbWRzLnB1c2goLi4ubGluZVN1ZmZpeDIucmV2ZXJzZSgpKTtcbiAgICAgIGxpbmVTdWZmaXgyLmxlbmd0aCA9IDA7XG4gICAgfVxuICB9XG4gIGNvbnN0IGN1cnNvclBsYWNlaG9sZGVySW5kZXggPSBvdXQuaW5kZXhPZihDVVJTT1JfUExBQ0VIT0xERVIpO1xuICBpZiAoY3Vyc29yUGxhY2Vob2xkZXJJbmRleCAhPT0gLTEpIHtcbiAgICBjb25zdCBvdGhlckN1cnNvclBsYWNlaG9sZGVySW5kZXggPSBvdXQuaW5kZXhPZihcbiAgICAgIENVUlNPUl9QTEFDRUhPTERFUixcbiAgICAgIGN1cnNvclBsYWNlaG9sZGVySW5kZXggKyAxXG4gICAgKTtcbiAgICBpZiAob3RoZXJDdXJzb3JQbGFjZWhvbGRlckluZGV4ID09PSAtMSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZm9ybWF0dGVkOiBvdXQuZmlsdGVyKChjaGFyKSA9PiBjaGFyICE9PSBDVVJTT1JfUExBQ0VIT0xERVIpLmpvaW4oXCJcIilcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IGJlZm9yZUN1cnNvciA9IG91dC5zbGljZSgwLCBjdXJzb3JQbGFjZWhvbGRlckluZGV4KS5qb2luKFwiXCIpO1xuICAgIGNvbnN0IGFyb3VuZEN1cnNvciA9IG91dC5zbGljZShjdXJzb3JQbGFjZWhvbGRlckluZGV4ICsgMSwgb3RoZXJDdXJzb3JQbGFjZWhvbGRlckluZGV4KS5qb2luKFwiXCIpO1xuICAgIGNvbnN0IGFmdGVyQ3Vyc29yID0gb3V0LnNsaWNlKG90aGVyQ3Vyc29yUGxhY2Vob2xkZXJJbmRleCArIDEpLmpvaW4oXCJcIik7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvcm1hdHRlZDogYmVmb3JlQ3Vyc29yICsgYXJvdW5kQ3Vyc29yICsgYWZ0ZXJDdXJzb3IsXG4gICAgICBjdXJzb3JOb2RlU3RhcnQ6IGJlZm9yZUN1cnNvci5sZW5ndGgsXG4gICAgICBjdXJzb3JOb2RlVGV4dDogYXJvdW5kQ3Vyc29yXG4gICAgfTtcbiAgfVxuICByZXR1cm4geyBmb3JtYXR0ZWQ6IG91dC5qb2luKFwiXCIpIH07XG59XG5cbi8vIHNyYy9kb2N1bWVudC9wdWJsaWMuanNcbnZhciBidWlsZGVycyA9IHtcbiAgam9pbixcbiAgbGluZSxcbiAgc29mdGxpbmUsXG4gIGhhcmRsaW5lLFxuICBsaXRlcmFsbGluZSxcbiAgZ3JvdXAsXG4gIGNvbmRpdGlvbmFsR3JvdXAsXG4gIGZpbGwsXG4gIGxpbmVTdWZmaXgsXG4gIGxpbmVTdWZmaXhCb3VuZGFyeSxcbiAgY3Vyc29yLFxuICBicmVha1BhcmVudCxcbiAgaWZCcmVhayxcbiAgdHJpbSxcbiAgaW5kZW50LFxuICBpbmRlbnRJZkJyZWFrLFxuICBhbGlnbixcbiAgYWRkQWxpZ25tZW50VG9Eb2MsXG4gIG1hcmtBc1Jvb3QsXG4gIGRlZGVudFRvUm9vdCxcbiAgZGVkZW50LFxuICBoYXJkbGluZVdpdGhvdXRCcmVha1BhcmVudCxcbiAgbGl0ZXJhbGxpbmVXaXRob3V0QnJlYWtQYXJlbnQsXG4gIGxhYmVsLFxuICAvLyBUT0RPOiBSZW1vdmUgdGhpcyBpbiB2NFxuICBjb25jYXQ6IChwYXJ0cykgPT4gcGFydHNcbn07XG52YXIgcHJpbnRlciA9IHsgcHJpbnREb2NUb1N0cmluZyB9O1xudmFyIHV0aWxzID0ge1xuICB3aWxsQnJlYWssXG4gIHRyYXZlcnNlRG9jOiB0cmF2ZXJzZV9kb2NfZGVmYXVsdCxcbiAgZmluZEluRG9jLFxuICBtYXBEb2MsXG4gIHJlbW92ZUxpbmVzLFxuICBzdHJpcFRyYWlsaW5nSGFyZGxpbmUsXG4gIHJlcGxhY2VFbmRPZkxpbmUsXG4gIGNhbkJyZWFrXG59O1xuXG4vLyB3aXRoLWRlZmF1bHQtZXhwb3J0OnNyYy9kb2N1bWVudC9wdWJsaWMuanNcbnZhciBwdWJsaWNfZGVmYXVsdCA9IHB1YmxpY19leHBvcnRzO1xuZXhwb3J0IHtcbiAgYnVpbGRlcnMsXG4gIHB1YmxpY19kZWZhdWx0IGFzIGRlZmF1bHQsXG4gIHByaW50ZXIsXG4gIHV0aWxzXG59O1xuIiwgInZhciBkaT1PYmplY3QuY3JlYXRlO3ZhciB3ZT1PYmplY3QuZGVmaW5lUHJvcGVydHk7dmFyIG1pPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7dmFyIHhpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzO3ZhciB5aT1PYmplY3QuZ2V0UHJvdG90eXBlT2YsZ2k9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgJGU9KGUsdCk9PigpPT4odHx8ZSgodD17ZXhwb3J0czp7fX0pLmV4cG9ydHMsdCksdC5leHBvcnRzKSx2aT0oZSx0KT0+e2Zvcih2YXIgaSBpbiB0KXdlKGUsaSx7Z2V0OnRbaV0sZW51bWVyYWJsZTohMH0pfSxiaT0oZSx0LGkscyk9PntpZih0JiZ0eXBlb2YgdD09XCJvYmplY3RcInx8dHlwZW9mIHQ9PVwiZnVuY3Rpb25cIilmb3IobGV0IHIgb2YgeGkodCkpIWdpLmNhbGwoZSxyKSYmciE9PWkmJndlKGUscix7Z2V0OigpPT50W3JdLGVudW1lcmFibGU6IShzPW1pKHQscikpfHxzLmVudW1lcmFibGV9KTtyZXR1cm4gZX07dmFyIGV0PShlLHQsaSk9PihpPWUhPW51bGw/ZGkoeWkoZSkpOnt9LGJpKHR8fCFlfHwhZS5fX2VzTW9kdWxlP3dlKGksXCJkZWZhdWx0XCIse3ZhbHVlOmUsZW51bWVyYWJsZTohMH0pOmksZSkpO3ZhciBHdD0kZSgoUXMscXQpPT57cXQuZXhwb3J0cz17fX0pO3ZhciBKZT0kZSgoWXMsR2UpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIG5zPUd0KCksb3M9L15bXFxkYS1mQS1GXSskLyx1cz0vXlxcZCskLyxKdD1uZXcgV2Vha01hcDtmdW5jdGlvbiBLdChlKXtlPWUuUGFyc2VyLmFjb3JufHxlO2xldCB0PUp0LmdldChlKTtpZighdCl7bGV0IGk9ZS50b2tUeXBlcyxzPWUuVG9rQ29udGV4dCxyPWUuVG9rZW5UeXBlLG49bmV3IHMoXCI8dGFnXCIsITEpLG89bmV3IHMoXCI8L3RhZ1wiLCExKSx1PW5ldyBzKFwiPHRhZz4uLi48L3RhZz5cIiwhMCwhMCkscD17dGNfb1RhZzpuLHRjX2NUYWc6byx0Y19leHByOnV9LGQ9e2pzeE5hbWU6bmV3IHIoXCJqc3hOYW1lXCIpLGpzeFRleHQ6bmV3IHIoXCJqc3hUZXh0XCIse2JlZm9yZUV4cHI6ITB9KSxqc3hUYWdTdGFydDpuZXcgcihcImpzeFRhZ1N0YXJ0XCIse3N0YXJ0c0V4cHI6ITB9KSxqc3hUYWdFbmQ6bmV3IHIoXCJqc3hUYWdFbmRcIil9O2QuanN4VGFnU3RhcnQudXBkYXRlQ29udGV4dD1mdW5jdGlvbigpe3RoaXMuY29udGV4dC5wdXNoKHUpLHRoaXMuY29udGV4dC5wdXNoKG4pLHRoaXMuZXhwckFsbG93ZWQ9ITF9LGQuanN4VGFnRW5kLnVwZGF0ZUNvbnRleHQ9ZnVuY3Rpb24oZil7bGV0IEM9dGhpcy5jb250ZXh0LnBvcCgpO0M9PT1uJiZmPT09aS5zbGFzaHx8Qz09PW8/KHRoaXMuY29udGV4dC5wb3AoKSx0aGlzLmV4cHJBbGxvd2VkPXRoaXMuY3VyQ29udGV4dCgpPT09dSk6dGhpcy5leHByQWxsb3dlZD0hMH0sdD17dG9rQ29udGV4dHM6cCx0b2tUeXBlczpkfSxKdC5zZXQoZSx0KX1yZXR1cm4gdH1mdW5jdGlvbiBuZShlKXtpZighZSlyZXR1cm4gZTtpZihlLnR5cGU9PT1cIkpTWElkZW50aWZpZXJcIilyZXR1cm4gZS5uYW1lO2lmKGUudHlwZT09PVwiSlNYTmFtZXNwYWNlZE5hbWVcIilyZXR1cm4gZS5uYW1lc3BhY2UubmFtZStcIjpcIitlLm5hbWUubmFtZTtpZihlLnR5cGU9PT1cIkpTWE1lbWJlckV4cHJlc3Npb25cIilyZXR1cm4gbmUoZS5vYmplY3QpK1wiLlwiK25lKGUucHJvcGVydHkpfUdlLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cmV0dXJuIGU9ZXx8e30sZnVuY3Rpb24odCl7cmV0dXJuIHBzKHthbGxvd05hbWVzcGFjZXM6ZS5hbGxvd05hbWVzcGFjZXMhPT0hMSxhbGxvd05hbWVzcGFjZWRPYmplY3RzOiEhZS5hbGxvd05hbWVzcGFjZWRPYmplY3RzfSx0KX19O09iamVjdC5kZWZpbmVQcm9wZXJ0eShHZS5leHBvcnRzLFwidG9rVHlwZXNcIix7Z2V0OmZ1bmN0aW9uKCl7cmV0dXJuIEt0KHZvaWQgMCkudG9rVHlwZXN9LGNvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiEwfSk7ZnVuY3Rpb24gcHMoZSx0KXtsZXQgaT10LmFjb3JufHx2b2lkIDAscz1LdChpKSxyPWkudG9rVHlwZXMsbj1zLnRva1R5cGVzLG89aS50b2tDb250ZXh0cyx1PXMudG9rQ29udGV4dHMudGNfb1RhZyxwPXMudG9rQ29udGV4dHMudGNfY1RhZyxkPXMudG9rQ29udGV4dHMudGNfZXhwcixmPWkuaXNOZXdMaW5lLEM9aS5pc0lkZW50aWZpZXJTdGFydCxCPWkuaXNJZGVudGlmaWVyQ2hhcjtyZXR1cm4gY2xhc3MgZXh0ZW5kcyB0e3N0YXRpYyBnZXQgYWNvcm5Kc3goKXtyZXR1cm4gc31qc3hfcmVhZFRva2VuKCl7bGV0IGg9XCJcIixtPXRoaXMucG9zO2Zvcig7Oyl7dGhpcy5wb3M+PXRoaXMuaW5wdXQubGVuZ3RoJiZ0aGlzLnJhaXNlKHRoaXMuc3RhcnQsXCJVbnRlcm1pbmF0ZWQgSlNYIGNvbnRlbnRzXCIpO2xldCB4PXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcyk7c3dpdGNoKHgpe2Nhc2UgNjA6Y2FzZSAxMjM6cmV0dXJuIHRoaXMucG9zPT09dGhpcy5zdGFydD94PT09NjAmJnRoaXMuZXhwckFsbG93ZWQ/KCsrdGhpcy5wb3MsdGhpcy5maW5pc2hUb2tlbihuLmpzeFRhZ1N0YXJ0KSk6dGhpcy5nZXRUb2tlbkZyb21Db2RlKHgpOihoKz10aGlzLmlucHV0LnNsaWNlKG0sdGhpcy5wb3MpLHRoaXMuZmluaXNoVG9rZW4obi5qc3hUZXh0LGgpKTtjYXNlIDM4OmgrPXRoaXMuaW5wdXQuc2xpY2UobSx0aGlzLnBvcyksaCs9dGhpcy5qc3hfcmVhZEVudGl0eSgpLG09dGhpcy5wb3M7YnJlYWs7Y2FzZSA2MjpjYXNlIDEyNTp0aGlzLnJhaXNlKHRoaXMucG9zLFwiVW5leHBlY3RlZCB0b2tlbiBgXCIrdGhpcy5pbnB1dFt0aGlzLnBvc10rXCJgLiBEaWQgeW91IG1lYW4gYFwiKyh4PT09NjI/XCImZ3Q7XCI6XCImcmJyYWNlO1wiKSsnYCBvciBge1wiJyt0aGlzLmlucHV0W3RoaXMucG9zXSsnXCJ9YD8nKTtkZWZhdWx0OmYoeCk/KGgrPXRoaXMuaW5wdXQuc2xpY2UobSx0aGlzLnBvcyksaCs9dGhpcy5qc3hfcmVhZE5ld0xpbmUoITApLG09dGhpcy5wb3MpOisrdGhpcy5wb3N9fX1qc3hfcmVhZE5ld0xpbmUoaCl7bGV0IG09dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMucG9zKSx4O3JldHVybisrdGhpcy5wb3MsbT09PTEzJiZ0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5wb3MpPT09MTA/KCsrdGhpcy5wb3MseD1oP2BcbmA6YFxcclxuYCk6eD1TdHJpbmcuZnJvbUNoYXJDb2RlKG0pLHRoaXMub3B0aW9ucy5sb2NhdGlvbnMmJigrK3RoaXMuY3VyTGluZSx0aGlzLmxpbmVTdGFydD10aGlzLnBvcykseH1qc3hfcmVhZFN0cmluZyhoKXtsZXQgbT1cIlwiLHg9Kyt0aGlzLnBvcztmb3IoOzspe3RoaXMucG9zPj10aGlzLmlucHV0Lmxlbmd0aCYmdGhpcy5yYWlzZSh0aGlzLnN0YXJ0LFwiVW50ZXJtaW5hdGVkIHN0cmluZyBjb25zdGFudFwiKTtsZXQgZz10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5wb3MpO2lmKGc9PT1oKWJyZWFrO2c9PT0zOD8obSs9dGhpcy5pbnB1dC5zbGljZSh4LHRoaXMucG9zKSxtKz10aGlzLmpzeF9yZWFkRW50aXR5KCkseD10aGlzLnBvcyk6ZihnKT8obSs9dGhpcy5pbnB1dC5zbGljZSh4LHRoaXMucG9zKSxtKz10aGlzLmpzeF9yZWFkTmV3TGluZSghMSkseD10aGlzLnBvcyk6Kyt0aGlzLnBvc31yZXR1cm4gbSs9dGhpcy5pbnB1dC5zbGljZSh4LHRoaXMucG9zKyspLHRoaXMuZmluaXNoVG9rZW4oci5zdHJpbmcsbSl9anN4X3JlYWRFbnRpdHkoKXtsZXQgaD1cIlwiLG09MCx4LGc9dGhpcy5pbnB1dFt0aGlzLnBvc107ZyE9PVwiJlwiJiZ0aGlzLnJhaXNlKHRoaXMucG9zLFwiRW50aXR5IG11c3Qgc3RhcnQgd2l0aCBhbiBhbXBlcnNhbmRcIik7bGV0IHc9Kyt0aGlzLnBvcztmb3IoO3RoaXMucG9zPHRoaXMuaW5wdXQubGVuZ3RoJiZtKys8MTA7KXtpZihnPXRoaXMuaW5wdXRbdGhpcy5wb3MrK10sZz09PVwiO1wiKXtoWzBdPT09XCIjXCI/aFsxXT09PVwieFwiPyhoPWguc3Vic3RyKDIpLG9zLnRlc3QoaCkmJih4PVN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQoaCwxNikpKSk6KGg9aC5zdWJzdHIoMSksdXMudGVzdChoKSYmKHg9U3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludChoLDEwKSkpKTp4PW5zW2hdO2JyZWFrfWgrPWd9cmV0dXJuIHh8fCh0aGlzLnBvcz13LFwiJlwiKX1qc3hfcmVhZFdvcmQoKXtsZXQgaCxtPXRoaXMucG9zO2RvIGg9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KCsrdGhpcy5wb3MpO3doaWxlKEIoaCl8fGg9PT00NSk7cmV0dXJuIHRoaXMuZmluaXNoVG9rZW4obi5qc3hOYW1lLHRoaXMuaW5wdXQuc2xpY2UobSx0aGlzLnBvcykpfWpzeF9wYXJzZUlkZW50aWZpZXIoKXtsZXQgaD10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLnR5cGU9PT1uLmpzeE5hbWU/aC5uYW1lPXRoaXMudmFsdWU6dGhpcy50eXBlLmtleXdvcmQ/aC5uYW1lPXRoaXMudHlwZS5rZXl3b3JkOnRoaXMudW5leHBlY3RlZCgpLHRoaXMubmV4dCgpLHRoaXMuZmluaXNoTm9kZShoLFwiSlNYSWRlbnRpZmllclwiKX1qc3hfcGFyc2VOYW1lc3BhY2VkTmFtZSgpe2xldCBoPXRoaXMuc3RhcnQsbT10aGlzLnN0YXJ0TG9jLHg9dGhpcy5qc3hfcGFyc2VJZGVudGlmaWVyKCk7aWYoIWUuYWxsb3dOYW1lc3BhY2VzfHwhdGhpcy5lYXQoci5jb2xvbikpcmV0dXJuIHg7dmFyIGc9dGhpcy5zdGFydE5vZGVBdChoLG0pO3JldHVybiBnLm5hbWVzcGFjZT14LGcubmFtZT10aGlzLmpzeF9wYXJzZUlkZW50aWZpZXIoKSx0aGlzLmZpbmlzaE5vZGUoZyxcIkpTWE5hbWVzcGFjZWROYW1lXCIpfWpzeF9wYXJzZUVsZW1lbnROYW1lKCl7aWYodGhpcy50eXBlPT09bi5qc3hUYWdFbmQpcmV0dXJuXCJcIjtsZXQgaD10aGlzLnN0YXJ0LG09dGhpcy5zdGFydExvYyx4PXRoaXMuanN4X3BhcnNlTmFtZXNwYWNlZE5hbWUoKTtmb3IodGhpcy50eXBlPT09ci5kb3QmJngudHlwZT09PVwiSlNYTmFtZXNwYWNlZE5hbWVcIiYmIWUuYWxsb3dOYW1lc3BhY2VkT2JqZWN0cyYmdGhpcy51bmV4cGVjdGVkKCk7dGhpcy5lYXQoci5kb3QpOyl7bGV0IGc9dGhpcy5zdGFydE5vZGVBdChoLG0pO2cub2JqZWN0PXgsZy5wcm9wZXJ0eT10aGlzLmpzeF9wYXJzZUlkZW50aWZpZXIoKSx4PXRoaXMuZmluaXNoTm9kZShnLFwiSlNYTWVtYmVyRXhwcmVzc2lvblwiKX1yZXR1cm4geH1qc3hfcGFyc2VBdHRyaWJ1dGVWYWx1ZSgpe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2Ugci5icmFjZUw6bGV0IGg9dGhpcy5qc3hfcGFyc2VFeHByZXNzaW9uQ29udGFpbmVyKCk7cmV0dXJuIGguZXhwcmVzc2lvbi50eXBlPT09XCJKU1hFbXB0eUV4cHJlc3Npb25cIiYmdGhpcy5yYWlzZShoLnN0YXJ0LFwiSlNYIGF0dHJpYnV0ZXMgbXVzdCBvbmx5IGJlIGFzc2lnbmVkIGEgbm9uLWVtcHR5IGV4cHJlc3Npb25cIiksaDtjYXNlIG4uanN4VGFnU3RhcnQ6Y2FzZSByLnN0cmluZzpyZXR1cm4gdGhpcy5wYXJzZUV4cHJBdG9tKCk7ZGVmYXVsdDp0aGlzLnJhaXNlKHRoaXMuc3RhcnQsXCJKU1ggdmFsdWUgc2hvdWxkIGJlIGVpdGhlciBhbiBleHByZXNzaW9uIG9yIGEgcXVvdGVkIEpTWCB0ZXh0XCIpfX1qc3hfcGFyc2VFbXB0eUV4cHJlc3Npb24oKXtsZXQgaD10aGlzLnN0YXJ0Tm9kZUF0KHRoaXMubGFzdFRva0VuZCx0aGlzLmxhc3RUb2tFbmRMb2MpO3JldHVybiB0aGlzLmZpbmlzaE5vZGVBdChoLFwiSlNYRW1wdHlFeHByZXNzaW9uXCIsdGhpcy5zdGFydCx0aGlzLnN0YXJ0TG9jKX1qc3hfcGFyc2VFeHByZXNzaW9uQ29udGFpbmVyKCl7bGV0IGg9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdGhpcy5uZXh0KCksaC5leHByZXNzaW9uPXRoaXMudHlwZT09PXIuYnJhY2VSP3RoaXMuanN4X3BhcnNlRW1wdHlFeHByZXNzaW9uKCk6dGhpcy5wYXJzZUV4cHJlc3Npb24oKSx0aGlzLmV4cGVjdChyLmJyYWNlUiksdGhpcy5maW5pc2hOb2RlKGgsXCJKU1hFeHByZXNzaW9uQ29udGFpbmVyXCIpfWpzeF9wYXJzZUF0dHJpYnV0ZSgpe2xldCBoPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIHRoaXMuZWF0KHIuYnJhY2VMKT8odGhpcy5leHBlY3Qoci5lbGxpcHNpcyksaC5hcmd1bWVudD10aGlzLnBhcnNlTWF5YmVBc3NpZ24oKSx0aGlzLmV4cGVjdChyLmJyYWNlUiksdGhpcy5maW5pc2hOb2RlKGgsXCJKU1hTcHJlYWRBdHRyaWJ1dGVcIikpOihoLm5hbWU9dGhpcy5qc3hfcGFyc2VOYW1lc3BhY2VkTmFtZSgpLGgudmFsdWU9dGhpcy5lYXQoci5lcSk/dGhpcy5qc3hfcGFyc2VBdHRyaWJ1dGVWYWx1ZSgpOm51bGwsdGhpcy5maW5pc2hOb2RlKGgsXCJKU1hBdHRyaWJ1dGVcIikpfWpzeF9wYXJzZU9wZW5pbmdFbGVtZW50QXQoaCxtKXtsZXQgeD10aGlzLnN0YXJ0Tm9kZUF0KGgsbSk7eC5hdHRyaWJ1dGVzPVtdO2xldCBnPXRoaXMuanN4X3BhcnNlRWxlbWVudE5hbWUoKTtmb3IoZyYmKHgubmFtZT1nKTt0aGlzLnR5cGUhPT1yLnNsYXNoJiZ0aGlzLnR5cGUhPT1uLmpzeFRhZ0VuZDspeC5hdHRyaWJ1dGVzLnB1c2godGhpcy5qc3hfcGFyc2VBdHRyaWJ1dGUoKSk7cmV0dXJuIHguc2VsZkNsb3Npbmc9dGhpcy5lYXQoci5zbGFzaCksdGhpcy5leHBlY3Qobi5qc3hUYWdFbmQpLHRoaXMuZmluaXNoTm9kZSh4LGc/XCJKU1hPcGVuaW5nRWxlbWVudFwiOlwiSlNYT3BlbmluZ0ZyYWdtZW50XCIpfWpzeF9wYXJzZUNsb3NpbmdFbGVtZW50QXQoaCxtKXtsZXQgeD10aGlzLnN0YXJ0Tm9kZUF0KGgsbSksZz10aGlzLmpzeF9wYXJzZUVsZW1lbnROYW1lKCk7cmV0dXJuIGcmJih4Lm5hbWU9ZyksdGhpcy5leHBlY3Qobi5qc3hUYWdFbmQpLHRoaXMuZmluaXNoTm9kZSh4LGc/XCJKU1hDbG9zaW5nRWxlbWVudFwiOlwiSlNYQ2xvc2luZ0ZyYWdtZW50XCIpfWpzeF9wYXJzZUVsZW1lbnRBdChoLG0pe2xldCB4PXRoaXMuc3RhcnROb2RlQXQoaCxtKSxnPVtdLHc9dGhpcy5qc3hfcGFyc2VPcGVuaW5nRWxlbWVudEF0KGgsbSksaGU9bnVsbDtpZighdy5zZWxmQ2xvc2luZyl7ZTpmb3IoOzspc3dpdGNoKHRoaXMudHlwZSl7Y2FzZSBuLmpzeFRhZ1N0YXJ0OmlmKGg9dGhpcy5zdGFydCxtPXRoaXMuc3RhcnRMb2MsdGhpcy5uZXh0KCksdGhpcy5lYXQoci5zbGFzaCkpe2hlPXRoaXMuanN4X3BhcnNlQ2xvc2luZ0VsZW1lbnRBdChoLG0pO2JyZWFrIGV9Zy5wdXNoKHRoaXMuanN4X3BhcnNlRWxlbWVudEF0KGgsbSkpO2JyZWFrO2Nhc2Ugbi5qc3hUZXh0OmcucHVzaCh0aGlzLnBhcnNlRXhwckF0b20oKSk7YnJlYWs7Y2FzZSByLmJyYWNlTDpnLnB1c2godGhpcy5qc3hfcGFyc2VFeHByZXNzaW9uQ29udGFpbmVyKCkpO2JyZWFrO2RlZmF1bHQ6dGhpcy51bmV4cGVjdGVkKCl9bmUoaGUubmFtZSkhPT1uZSh3Lm5hbWUpJiZ0aGlzLnJhaXNlKGhlLnN0YXJ0LFwiRXhwZWN0ZWQgY29ycmVzcG9uZGluZyBKU1ggY2xvc2luZyB0YWcgZm9yIDxcIituZSh3Lm5hbWUpK1wiPlwiKX1sZXQgRWU9dy5uYW1lP1wiRWxlbWVudFwiOlwiRnJhZ21lbnRcIjtyZXR1cm4geFtcIm9wZW5pbmdcIitFZV09dyx4W1wiY2xvc2luZ1wiK0VlXT1oZSx4LmNoaWxkcmVuPWcsdGhpcy50eXBlPT09ci5yZWxhdGlvbmFsJiZ0aGlzLnZhbHVlPT09XCI8XCImJnRoaXMucmFpc2UodGhpcy5zdGFydCxcIkFkamFjZW50IEpTWCBlbGVtZW50cyBtdXN0IGJlIHdyYXBwZWQgaW4gYW4gZW5jbG9zaW5nIHRhZ1wiKSx0aGlzLmZpbmlzaE5vZGUoeCxcIkpTWFwiK0VlKX1qc3hfcGFyc2VUZXh0KCl7bGV0IGg9dGhpcy5wYXJzZUxpdGVyYWwodGhpcy52YWx1ZSk7cmV0dXJuIGgudHlwZT1cIkpTWFRleHRcIixofWpzeF9wYXJzZUVsZW1lbnQoKXtsZXQgaD10aGlzLnN0YXJ0LG09dGhpcy5zdGFydExvYztyZXR1cm4gdGhpcy5uZXh0KCksdGhpcy5qc3hfcGFyc2VFbGVtZW50QXQoaCxtKX1wYXJzZUV4cHJBdG9tKGgpe3JldHVybiB0aGlzLnR5cGU9PT1uLmpzeFRleHQ/dGhpcy5qc3hfcGFyc2VUZXh0KCk6dGhpcy50eXBlPT09bi5qc3hUYWdTdGFydD90aGlzLmpzeF9wYXJzZUVsZW1lbnQoKTpzdXBlci5wYXJzZUV4cHJBdG9tKGgpfXJlYWRUb2tlbihoKXtsZXQgbT10aGlzLmN1ckNvbnRleHQoKTtpZihtPT09ZClyZXR1cm4gdGhpcy5qc3hfcmVhZFRva2VuKCk7aWYobT09PXV8fG09PT1wKXtpZihDKGgpKXJldHVybiB0aGlzLmpzeF9yZWFkV29yZCgpO2lmKGg9PTYyKXJldHVybisrdGhpcy5wb3MsdGhpcy5maW5pc2hUb2tlbihuLmpzeFRhZ0VuZCk7aWYoKGg9PT0zNHx8aD09PTM5KSYmbT09dSlyZXR1cm4gdGhpcy5qc3hfcmVhZFN0cmluZyhoKX1yZXR1cm4gaD09PTYwJiZ0aGlzLmV4cHJBbGxvd2VkJiZ0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5wb3MrMSkhPT0zMz8oKyt0aGlzLnBvcyx0aGlzLmZpbmlzaFRva2VuKG4uanN4VGFnU3RhcnQpKTpzdXBlci5yZWFkVG9rZW4oaCl9dXBkYXRlQ29udGV4dChoKXtpZih0aGlzLnR5cGU9PXIuYnJhY2VMKXt2YXIgbT10aGlzLmN1ckNvbnRleHQoKTttPT11P3RoaXMuY29udGV4dC5wdXNoKG8uYl9leHByKTptPT1kP3RoaXMuY29udGV4dC5wdXNoKG8uYl90bXBsKTpzdXBlci51cGRhdGVDb250ZXh0KGgpLHRoaXMuZXhwckFsbG93ZWQ9ITB9ZWxzZSBpZih0aGlzLnR5cGU9PT1yLnNsYXNoJiZoPT09bi5qc3hUYWdTdGFydCl0aGlzLmNvbnRleHQubGVuZ3RoLT0yLHRoaXMuY29udGV4dC5wdXNoKHApLHRoaXMuZXhwckFsbG93ZWQ9ITE7ZWxzZSByZXR1cm4gc3VwZXIudXBkYXRlQ29udGV4dChoKX19fX0pO3ZhciBaZT17fTt2aShaZSx7cGFyc2VyczooKT0+enN9KTt2YXIgU2k9WzUwOSwwLDIyNywwLDE1MCw0LDI5NCw5LDEzNjgsMiwyLDEsNiwzLDQxLDIsNSwwLDE2NiwxLDU3NCwzLDksOSw3LDksMzIsNCwzMTgsMSw4MCwzLDcxLDEwLDUwLDMsMTIzLDIsNTQsMTQsMzIsMTAsMywxLDExLDMsNDYsMTAsOCwwLDQ2LDksNywyLDM3LDEzLDIsOSw2LDEsNDUsMCwxMywyLDQ5LDEzLDksMywyLDExLDgzLDExLDcsMCwzLDAsMTU4LDExLDYsOSw3LDMsNTYsMSwyLDYsMywxLDMsMiwxMCwwLDExLDEsMyw2LDQsNCw2OCw4LDIsMCwzLDAsMiwzLDIsNCwyLDAsMTUsMSw4MywxNywxMCw5LDUsMCw4MiwxOSwxMyw5LDIxNCw2LDMsOCwyOCwxLDgzLDE2LDE2LDksODIsMTIsOSw5LDcsMTksNTgsMTQsNSw5LDI0MywxNCwxNjYsOSw3MSw1LDIsMSwzLDMsMiwwLDIsMSwxMyw5LDEyMCw2LDMsNiw0LDAsMjksOSw0MSw2LDIsMyw5LDAsMTAsMTAsNDcsMTUsMzQzLDksNTQsNywyLDcsMTcsOSw1NywyMSwyLDEzLDEyMyw1LDQsMCwyLDEsMiw2LDIsMCw5LDksNDksNCwyLDEsMiw0LDksOSwzMzAsMywxMCwxLDIsMCw0OSw2LDQsNCwxNCwxMCw1MzUwLDAsNywxNCwxMTQ2NSwyNywyMzQzLDksODcsOSwzOSw0LDYwLDYsMjYsOSw1MzUsOSw0NzAsMCwyLDU0LDgsMyw4MiwwLDEyLDEsMTk2MjgsMSw0MTc4LDksNTE5LDQ1LDMsMjIsNTQzLDQsNCw1LDksNywzLDYsMzEsMywxNDksMiwxNDE4LDQ5LDUxMyw1NCw1LDQ5LDksMCwxNSwwLDIzLDQsMiwxNCwxMzYxLDYsMiwxNiwzLDYsMiwxLDIsNCwxMDEsMCwxNjEsNiwxMCw5LDM1NywwLDYyLDEzLDQ5OSwxMywyNDUsMSwyLDksNzI2LDYsMTEwLDYsNiw5LDQ3NTksOSw3ODc3MTksMjM5XSxudD1bMCwxMSwyLDI1LDIsMTgsMiwxLDIsMTQsMywxMywzNSwxMjIsNzAsNTIsMjY4LDI4LDQsNDgsNDgsMzEsMTQsMjksNiwzNywxMSwyOSwzLDM1LDUsNywyLDQsNDMsMTU3LDE5LDM1LDUsMzUsNSwzOSw5LDUxLDEzLDEwLDIsMTQsMiw2LDIsMSwyLDEwLDIsMTQsMiw2LDIsMSw0LDUxLDEzLDMxMCwxMCwyMSwxMSw3LDI1LDUsMiw0MSwyLDgsNzAsNSwzLDAsMiw0MywyLDEsNCwwLDMsMjIsMTEsMjIsMTAsMzAsNjYsMTgsMiwxLDExLDIxLDExLDI1LDcxLDU1LDcsMSw2NSwwLDE2LDMsMiwyLDIsMjgsNDMsMjgsNCwyOCwzNiw3LDIsMjcsMjgsNTMsMTEsMjEsMTEsMTgsMTQsMTcsMTExLDcyLDU2LDUwLDE0LDUwLDE0LDM1LDM5LDI3LDEwLDIyLDI1MSw0MSw3LDEsMTcsMiw2MCwyOCwxMSwwLDksMjEsNDMsMTcsNDcsMjAsMjgsMjIsMTMsNTIsNTgsMSwzLDAsMTQsNDQsMzMsMjQsMjcsMzUsMzAsMCwzLDAsOSwzNCw0LDAsMTMsNDcsMTUsMywyMiwwLDIsMCwzNiwxNywyLDI0LDIwLDEsNjQsNiwyLDAsMiwzLDIsMTQsMiw5LDgsNDYsMzksNywzLDEsMywyMSwyLDYsMiwxLDIsNCw0LDAsMTksMCwxMyw0LDMxLDksMiwwLDMsMCwyLDM3LDIsMCwyNiwwLDIsMCw0NSw1MiwxOSwzLDIxLDIsMzEsNDcsMjEsMSwyLDAsMTg1LDQ2LDQyLDMsMzcsNDcsMjEsMCw2MCw0MiwxNCwwLDcyLDI2LDM4LDYsMTg2LDQzLDExNyw2MywzMiw3LDMsMCwzLDcsMiwxLDIsMjMsMTYsMCwyLDAsOTUsNywzLDM4LDE3LDAsMiwwLDI5LDAsMTEsMzksOCwwLDIyLDAsMTIsNDUsMjAsMCwxOSw3MiwyMDAsMzIsMzIsOCwyLDM2LDE4LDAsNTAsMjksMTEzLDYsMiwxLDIsMzcsMjIsMCwyNiw1LDIsMSwyLDMxLDE1LDAsMzI4LDE4LDE2LDAsMiwxMiwyLDMzLDEyNSwwLDgwLDkyMSwxMDMsMTEwLDE4LDE5NSwyNjM3LDk2LDE2LDEwNzEsMTgsNSwyNiwzOTk0LDYsNTgyLDY4NDIsMjksMTc2Myw1NjgsOCwzMCwxOCw3OCwxOCwyOSwxOSw0NywxNywzLDMyLDIwLDYsMTgsNDMzLDQ0LDIxMiw2MywxMjksNzQsNiwwLDY3LDEyLDY1LDEsMiwwLDI5LDYxMzUsOSwxMjM3LDQyLDksODkzNiwzLDIsNiwyLDEsMiwyOTAsMTYsMCwzMCwyLDMsMCwxNSwzLDksMzk1LDIzMDksMTA2LDYsMTIsNCw4LDgsOSw1OTkxLDg0LDIsNzAsMiwxLDMsMCwzLDEsMywzLDIsMTEsMiwwLDIsNiwyLDY0LDIsMywzLDcsMiw2LDIsMjcsMiwzLDIsNCwyLDAsNCw2LDIsMzM5LDMsMjQsMiwyNCwyLDMwLDIsMjQsMiwzMCwyLDI0LDIsMzAsMiwyNCwyLDMwLDIsMjQsMiw3LDE4NDUsMzAsNyw1LDI2Miw2MSwxNDcsNDQsMTEsNiwxNywwLDMyMiwyOSwxOSw0Myw0ODUsMjcsMjI5LDI5LDMsMCw0OTYsNiwyLDMsMiwxLDIsMTQsMiwxOTYsNjAsNjcsOCwwLDEyMDUsMywyLDI2LDIsMSwyLDAsMywwLDIsOSwyLDMsMiwwLDIsMCw3LDAsNSwwLDIsMCwyLDAsMiwyLDIsMSwyLDAsMywwLDIsMCwyLDAsMiwwLDIsMCwyLDEsMiwwLDMsMywyLDYsMiwzLDIsMywyLDAsMiw5LDIsMTYsNiwyLDIsNCwyLDE2LDQ0MjEsNDI3MTksMzMsNDE1Myw3LDIyMSwzLDU3NjEsMTUsNzQ3MiwxNiw2MjEsMjQ2Nyw1NDEsMTUwNyw0OTM4LDYsNDE5MV0sQ2k9XCJcXHUyMDBDXFx1MjAwRFxceEI3XFx1MDMwMC1cXHUwMzZGXFx1MDM4N1xcdTA0ODMtXFx1MDQ4N1xcdTA1OTEtXFx1MDVCRFxcdTA1QkZcXHUwNUMxXFx1MDVDMlxcdTA1QzRcXHUwNUM1XFx1MDVDN1xcdTA2MTAtXFx1MDYxQVxcdTA2NEItXFx1MDY2OVxcdTA2NzBcXHUwNkQ2LVxcdTA2RENcXHUwNkRGLVxcdTA2RTRcXHUwNkU3XFx1MDZFOFxcdTA2RUEtXFx1MDZFRFxcdTA2RjAtXFx1MDZGOVxcdTA3MTFcXHUwNzMwLVxcdTA3NEFcXHUwN0E2LVxcdTA3QjBcXHUwN0MwLVxcdTA3QzlcXHUwN0VCLVxcdTA3RjNcXHUwN0ZEXFx1MDgxNi1cXHUwODE5XFx1MDgxQi1cXHUwODIzXFx1MDgyNS1cXHUwODI3XFx1MDgyOS1cXHUwODJEXFx1MDg1OS1cXHUwODVCXFx1MDg5Ny1cXHUwODlGXFx1MDhDQS1cXHUwOEUxXFx1MDhFMy1cXHUwOTAzXFx1MDkzQS1cXHUwOTNDXFx1MDkzRS1cXHUwOTRGXFx1MDk1MS1cXHUwOTU3XFx1MDk2MlxcdTA5NjNcXHUwOTY2LVxcdTA5NkZcXHUwOTgxLVxcdTA5ODNcXHUwOUJDXFx1MDlCRS1cXHUwOUM0XFx1MDlDN1xcdTA5QzhcXHUwOUNCLVxcdTA5Q0RcXHUwOUQ3XFx1MDlFMlxcdTA5RTNcXHUwOUU2LVxcdTA5RUZcXHUwOUZFXFx1MEEwMS1cXHUwQTAzXFx1MEEzQ1xcdTBBM0UtXFx1MEE0MlxcdTBBNDdcXHUwQTQ4XFx1MEE0Qi1cXHUwQTREXFx1MEE1MVxcdTBBNjYtXFx1MEE3MVxcdTBBNzVcXHUwQTgxLVxcdTBBODNcXHUwQUJDXFx1MEFCRS1cXHUwQUM1XFx1MEFDNy1cXHUwQUM5XFx1MEFDQi1cXHUwQUNEXFx1MEFFMlxcdTBBRTNcXHUwQUU2LVxcdTBBRUZcXHUwQUZBLVxcdTBBRkZcXHUwQjAxLVxcdTBCMDNcXHUwQjNDXFx1MEIzRS1cXHUwQjQ0XFx1MEI0N1xcdTBCNDhcXHUwQjRCLVxcdTBCNERcXHUwQjU1LVxcdTBCNTdcXHUwQjYyXFx1MEI2M1xcdTBCNjYtXFx1MEI2RlxcdTBCODJcXHUwQkJFLVxcdTBCQzJcXHUwQkM2LVxcdTBCQzhcXHUwQkNBLVxcdTBCQ0RcXHUwQkQ3XFx1MEJFNi1cXHUwQkVGXFx1MEMwMC1cXHUwQzA0XFx1MEMzQ1xcdTBDM0UtXFx1MEM0NFxcdTBDNDYtXFx1MEM0OFxcdTBDNEEtXFx1MEM0RFxcdTBDNTVcXHUwQzU2XFx1MEM2MlxcdTBDNjNcXHUwQzY2LVxcdTBDNkZcXHUwQzgxLVxcdTBDODNcXHUwQ0JDXFx1MENCRS1cXHUwQ0M0XFx1MENDNi1cXHUwQ0M4XFx1MENDQS1cXHUwQ0NEXFx1MENENVxcdTBDRDZcXHUwQ0UyXFx1MENFM1xcdTBDRTYtXFx1MENFRlxcdTBDRjNcXHUwRDAwLVxcdTBEMDNcXHUwRDNCXFx1MEQzQ1xcdTBEM0UtXFx1MEQ0NFxcdTBENDYtXFx1MEQ0OFxcdTBENEEtXFx1MEQ0RFxcdTBENTdcXHUwRDYyXFx1MEQ2M1xcdTBENjYtXFx1MEQ2RlxcdTBEODEtXFx1MEQ4M1xcdTBEQ0FcXHUwRENGLVxcdTBERDRcXHUwREQ2XFx1MEREOC1cXHUwRERGXFx1MERFNi1cXHUwREVGXFx1MERGMlxcdTBERjNcXHUwRTMxXFx1MEUzNC1cXHUwRTNBXFx1MEU0Ny1cXHUwRTRFXFx1MEU1MC1cXHUwRTU5XFx1MEVCMVxcdTBFQjQtXFx1MEVCQ1xcdTBFQzgtXFx1MEVDRVxcdTBFRDAtXFx1MEVEOVxcdTBGMThcXHUwRjE5XFx1MEYyMC1cXHUwRjI5XFx1MEYzNVxcdTBGMzdcXHUwRjM5XFx1MEYzRVxcdTBGM0ZcXHUwRjcxLVxcdTBGODRcXHUwRjg2XFx1MEY4N1xcdTBGOEQtXFx1MEY5N1xcdTBGOTktXFx1MEZCQ1xcdTBGQzZcXHUxMDJCLVxcdTEwM0VcXHUxMDQwLVxcdTEwNDlcXHUxMDU2LVxcdTEwNTlcXHUxMDVFLVxcdTEwNjBcXHUxMDYyLVxcdTEwNjRcXHUxMDY3LVxcdTEwNkRcXHUxMDcxLVxcdTEwNzRcXHUxMDgyLVxcdTEwOERcXHUxMDhGLVxcdTEwOURcXHUxMzVELVxcdTEzNUZcXHUxMzY5LVxcdTEzNzFcXHUxNzEyLVxcdTE3MTVcXHUxNzMyLVxcdTE3MzRcXHUxNzUyXFx1MTc1M1xcdTE3NzJcXHUxNzczXFx1MTdCNC1cXHUxN0QzXFx1MTdERFxcdTE3RTAtXFx1MTdFOVxcdTE4MEItXFx1MTgwRFxcdTE4MEYtXFx1MTgxOVxcdTE4QTlcXHUxOTIwLVxcdTE5MkJcXHUxOTMwLVxcdTE5M0JcXHUxOTQ2LVxcdTE5NEZcXHUxOUQwLVxcdTE5REFcXHUxQTE3LVxcdTFBMUJcXHUxQTU1LVxcdTFBNUVcXHUxQTYwLVxcdTFBN0NcXHUxQTdGLVxcdTFBODlcXHUxQTkwLVxcdTFBOTlcXHUxQUIwLVxcdTFBQkRcXHUxQUJGLVxcdTFBQ0VcXHUxQjAwLVxcdTFCMDRcXHUxQjM0LVxcdTFCNDRcXHUxQjUwLVxcdTFCNTlcXHUxQjZCLVxcdTFCNzNcXHUxQjgwLVxcdTFCODJcXHUxQkExLVxcdTFCQURcXHUxQkIwLVxcdTFCQjlcXHUxQkU2LVxcdTFCRjNcXHUxQzI0LVxcdTFDMzdcXHUxQzQwLVxcdTFDNDlcXHUxQzUwLVxcdTFDNTlcXHUxQ0QwLVxcdTFDRDJcXHUxQ0Q0LVxcdTFDRThcXHUxQ0VEXFx1MUNGNFxcdTFDRjctXFx1MUNGOVxcdTFEQzAtXFx1MURGRlxcdTIwMENcXHUyMDBEXFx1MjAzRlxcdTIwNDBcXHUyMDU0XFx1MjBEMC1cXHUyMERDXFx1MjBFMVxcdTIwRTUtXFx1MjBGMFxcdTJDRUYtXFx1MkNGMVxcdTJEN0ZcXHUyREUwLVxcdTJERkZcXHUzMDJBLVxcdTMwMkZcXHUzMDk5XFx1MzA5QVxcdTMwRkJcXHVBNjIwLVxcdUE2MjlcXHVBNjZGXFx1QTY3NC1cXHVBNjdEXFx1QTY5RVxcdUE2OUZcXHVBNkYwXFx1QTZGMVxcdUE4MDJcXHVBODA2XFx1QTgwQlxcdUE4MjMtXFx1QTgyN1xcdUE4MkNcXHVBODgwXFx1QTg4MVxcdUE4QjQtXFx1QThDNVxcdUE4RDAtXFx1QThEOVxcdUE4RTAtXFx1QThGMVxcdUE4RkYtXFx1QTkwOVxcdUE5MjYtXFx1QTkyRFxcdUE5NDctXFx1QTk1M1xcdUE5ODAtXFx1QTk4M1xcdUE5QjMtXFx1QTlDMFxcdUE5RDAtXFx1QTlEOVxcdUE5RTVcXHVBOUYwLVxcdUE5RjlcXHVBQTI5LVxcdUFBMzZcXHVBQTQzXFx1QUE0Q1xcdUFBNERcXHVBQTUwLVxcdUFBNTlcXHVBQTdCLVxcdUFBN0RcXHVBQUIwXFx1QUFCMi1cXHVBQUI0XFx1QUFCN1xcdUFBQjhcXHVBQUJFXFx1QUFCRlxcdUFBQzFcXHVBQUVCLVxcdUFBRUZcXHVBQUY1XFx1QUFGNlxcdUFCRTMtXFx1QUJFQVxcdUFCRUNcXHVBQkVEXFx1QUJGMC1cXHVBQkY5XFx1RkIxRVxcdUZFMDAtXFx1RkUwRlxcdUZFMjAtXFx1RkUyRlxcdUZFMzNcXHVGRTM0XFx1RkU0RC1cXHVGRTRGXFx1RkYxMC1cXHVGRjE5XFx1RkYzRlxcdUZGNjVcIixvdD1cIlxceEFBXFx4QjVcXHhCQVxceEMwLVxceEQ2XFx4RDgtXFx4RjZcXHhGOC1cXHUwMkMxXFx1MDJDNi1cXHUwMkQxXFx1MDJFMC1cXHUwMkU0XFx1MDJFQ1xcdTAyRUVcXHUwMzcwLVxcdTAzNzRcXHUwMzc2XFx1MDM3N1xcdTAzN0EtXFx1MDM3RFxcdTAzN0ZcXHUwMzg2XFx1MDM4OC1cXHUwMzhBXFx1MDM4Q1xcdTAzOEUtXFx1MDNBMVxcdTAzQTMtXFx1MDNGNVxcdTAzRjctXFx1MDQ4MVxcdTA0OEEtXFx1MDUyRlxcdTA1MzEtXFx1MDU1NlxcdTA1NTlcXHUwNTYwLVxcdTA1ODhcXHUwNUQwLVxcdTA1RUFcXHUwNUVGLVxcdTA1RjJcXHUwNjIwLVxcdTA2NEFcXHUwNjZFXFx1MDY2RlxcdTA2NzEtXFx1MDZEM1xcdTA2RDVcXHUwNkU1XFx1MDZFNlxcdTA2RUVcXHUwNkVGXFx1MDZGQS1cXHUwNkZDXFx1MDZGRlxcdTA3MTBcXHUwNzEyLVxcdTA3MkZcXHUwNzRELVxcdTA3QTVcXHUwN0IxXFx1MDdDQS1cXHUwN0VBXFx1MDdGNFxcdTA3RjVcXHUwN0ZBXFx1MDgwMC1cXHUwODE1XFx1MDgxQVxcdTA4MjRcXHUwODI4XFx1MDg0MC1cXHUwODU4XFx1MDg2MC1cXHUwODZBXFx1MDg3MC1cXHUwODg3XFx1MDg4OS1cXHUwODhFXFx1MDhBMC1cXHUwOEM5XFx1MDkwNC1cXHUwOTM5XFx1MDkzRFxcdTA5NTBcXHUwOTU4LVxcdTA5NjFcXHUwOTcxLVxcdTA5ODBcXHUwOTg1LVxcdTA5OENcXHUwOThGXFx1MDk5MFxcdTA5OTMtXFx1MDlBOFxcdTA5QUEtXFx1MDlCMFxcdTA5QjJcXHUwOUI2LVxcdTA5QjlcXHUwOUJEXFx1MDlDRVxcdTA5RENcXHUwOUREXFx1MDlERi1cXHUwOUUxXFx1MDlGMFxcdTA5RjFcXHUwOUZDXFx1MEEwNS1cXHUwQTBBXFx1MEEwRlxcdTBBMTBcXHUwQTEzLVxcdTBBMjhcXHUwQTJBLVxcdTBBMzBcXHUwQTMyXFx1MEEzM1xcdTBBMzVcXHUwQTM2XFx1MEEzOFxcdTBBMzlcXHUwQTU5LVxcdTBBNUNcXHUwQTVFXFx1MEE3Mi1cXHUwQTc0XFx1MEE4NS1cXHUwQThEXFx1MEE4Ri1cXHUwQTkxXFx1MEE5My1cXHUwQUE4XFx1MEFBQS1cXHUwQUIwXFx1MEFCMlxcdTBBQjNcXHUwQUI1LVxcdTBBQjlcXHUwQUJEXFx1MEFEMFxcdTBBRTBcXHUwQUUxXFx1MEFGOVxcdTBCMDUtXFx1MEIwQ1xcdTBCMEZcXHUwQjEwXFx1MEIxMy1cXHUwQjI4XFx1MEIyQS1cXHUwQjMwXFx1MEIzMlxcdTBCMzNcXHUwQjM1LVxcdTBCMzlcXHUwQjNEXFx1MEI1Q1xcdTBCNURcXHUwQjVGLVxcdTBCNjFcXHUwQjcxXFx1MEI4M1xcdTBCODUtXFx1MEI4QVxcdTBCOEUtXFx1MEI5MFxcdTBCOTItXFx1MEI5NVxcdTBCOTlcXHUwQjlBXFx1MEI5Q1xcdTBCOUVcXHUwQjlGXFx1MEJBM1xcdTBCQTRcXHUwQkE4LVxcdTBCQUFcXHUwQkFFLVxcdTBCQjlcXHUwQkQwXFx1MEMwNS1cXHUwQzBDXFx1MEMwRS1cXHUwQzEwXFx1MEMxMi1cXHUwQzI4XFx1MEMyQS1cXHUwQzM5XFx1MEMzRFxcdTBDNTgtXFx1MEM1QVxcdTBDNURcXHUwQzYwXFx1MEM2MVxcdTBDODBcXHUwQzg1LVxcdTBDOENcXHUwQzhFLVxcdTBDOTBcXHUwQzkyLVxcdTBDQThcXHUwQ0FBLVxcdTBDQjNcXHUwQ0I1LVxcdTBDQjlcXHUwQ0JEXFx1MENERFxcdTBDREVcXHUwQ0UwXFx1MENFMVxcdTBDRjFcXHUwQ0YyXFx1MEQwNC1cXHUwRDBDXFx1MEQwRS1cXHUwRDEwXFx1MEQxMi1cXHUwRDNBXFx1MEQzRFxcdTBENEVcXHUwRDU0LVxcdTBENTZcXHUwRDVGLVxcdTBENjFcXHUwRDdBLVxcdTBEN0ZcXHUwRDg1LVxcdTBEOTZcXHUwRDlBLVxcdTBEQjFcXHUwREIzLVxcdTBEQkJcXHUwREJEXFx1MERDMC1cXHUwREM2XFx1MEUwMS1cXHUwRTMwXFx1MEUzMlxcdTBFMzNcXHUwRTQwLVxcdTBFNDZcXHUwRTgxXFx1MEU4MlxcdTBFODRcXHUwRTg2LVxcdTBFOEFcXHUwRThDLVxcdTBFQTNcXHUwRUE1XFx1MEVBNy1cXHUwRUIwXFx1MEVCMlxcdTBFQjNcXHUwRUJEXFx1MEVDMC1cXHUwRUM0XFx1MEVDNlxcdTBFREMtXFx1MEVERlxcdTBGMDBcXHUwRjQwLVxcdTBGNDdcXHUwRjQ5LVxcdTBGNkNcXHUwRjg4LVxcdTBGOENcXHUxMDAwLVxcdTEwMkFcXHUxMDNGXFx1MTA1MC1cXHUxMDU1XFx1MTA1QS1cXHUxMDVEXFx1MTA2MVxcdTEwNjVcXHUxMDY2XFx1MTA2RS1cXHUxMDcwXFx1MTA3NS1cXHUxMDgxXFx1MTA4RVxcdTEwQTAtXFx1MTBDNVxcdTEwQzdcXHUxMENEXFx1MTBEMC1cXHUxMEZBXFx1MTBGQy1cXHUxMjQ4XFx1MTI0QS1cXHUxMjREXFx1MTI1MC1cXHUxMjU2XFx1MTI1OFxcdTEyNUEtXFx1MTI1RFxcdTEyNjAtXFx1MTI4OFxcdTEyOEEtXFx1MTI4RFxcdTEyOTAtXFx1MTJCMFxcdTEyQjItXFx1MTJCNVxcdTEyQjgtXFx1MTJCRVxcdTEyQzBcXHUxMkMyLVxcdTEyQzVcXHUxMkM4LVxcdTEyRDZcXHUxMkQ4LVxcdTEzMTBcXHUxMzEyLVxcdTEzMTVcXHUxMzE4LVxcdTEzNUFcXHUxMzgwLVxcdTEzOEZcXHUxM0EwLVxcdTEzRjVcXHUxM0Y4LVxcdTEzRkRcXHUxNDAxLVxcdTE2NkNcXHUxNjZGLVxcdTE2N0ZcXHUxNjgxLVxcdTE2OUFcXHUxNkEwLVxcdTE2RUFcXHUxNkVFLVxcdTE2RjhcXHUxNzAwLVxcdTE3MTFcXHUxNzFGLVxcdTE3MzFcXHUxNzQwLVxcdTE3NTFcXHUxNzYwLVxcdTE3NkNcXHUxNzZFLVxcdTE3NzBcXHUxNzgwLVxcdTE3QjNcXHUxN0Q3XFx1MTdEQ1xcdTE4MjAtXFx1MTg3OFxcdTE4ODAtXFx1MThBOFxcdTE4QUFcXHUxOEIwLVxcdTE4RjVcXHUxOTAwLVxcdTE5MUVcXHUxOTUwLVxcdTE5NkRcXHUxOTcwLVxcdTE5NzRcXHUxOTgwLVxcdTE5QUJcXHUxOUIwLVxcdTE5QzlcXHUxQTAwLVxcdTFBMTZcXHUxQTIwLVxcdTFBNTRcXHUxQUE3XFx1MUIwNS1cXHUxQjMzXFx1MUI0NS1cXHUxQjRDXFx1MUI4My1cXHUxQkEwXFx1MUJBRVxcdTFCQUZcXHUxQkJBLVxcdTFCRTVcXHUxQzAwLVxcdTFDMjNcXHUxQzRELVxcdTFDNEZcXHUxQzVBLVxcdTFDN0RcXHUxQzgwLVxcdTFDOEFcXHUxQzkwLVxcdTFDQkFcXHUxQ0JELVxcdTFDQkZcXHUxQ0U5LVxcdTFDRUNcXHUxQ0VFLVxcdTFDRjNcXHUxQ0Y1XFx1MUNGNlxcdTFDRkFcXHUxRDAwLVxcdTFEQkZcXHUxRTAwLVxcdTFGMTVcXHUxRjE4LVxcdTFGMURcXHUxRjIwLVxcdTFGNDVcXHUxRjQ4LVxcdTFGNERcXHUxRjUwLVxcdTFGNTdcXHUxRjU5XFx1MUY1QlxcdTFGNURcXHUxRjVGLVxcdTFGN0RcXHUxRjgwLVxcdTFGQjRcXHUxRkI2LVxcdTFGQkNcXHUxRkJFXFx1MUZDMi1cXHUxRkM0XFx1MUZDNi1cXHUxRkNDXFx1MUZEMC1cXHUxRkQzXFx1MUZENi1cXHUxRkRCXFx1MUZFMC1cXHUxRkVDXFx1MUZGMi1cXHUxRkY0XFx1MUZGNi1cXHUxRkZDXFx1MjA3MVxcdTIwN0ZcXHUyMDkwLVxcdTIwOUNcXHUyMTAyXFx1MjEwN1xcdTIxMEEtXFx1MjExM1xcdTIxMTVcXHUyMTE4LVxcdTIxMURcXHUyMTI0XFx1MjEyNlxcdTIxMjhcXHUyMTJBLVxcdTIxMzlcXHUyMTNDLVxcdTIxM0ZcXHUyMTQ1LVxcdTIxNDlcXHUyMTRFXFx1MjE2MC1cXHUyMTg4XFx1MkMwMC1cXHUyQ0U0XFx1MkNFQi1cXHUyQ0VFXFx1MkNGMlxcdTJDRjNcXHUyRDAwLVxcdTJEMjVcXHUyRDI3XFx1MkQyRFxcdTJEMzAtXFx1MkQ2N1xcdTJENkZcXHUyRDgwLVxcdTJEOTZcXHUyREEwLVxcdTJEQTZcXHUyREE4LVxcdTJEQUVcXHUyREIwLVxcdTJEQjZcXHUyREI4LVxcdTJEQkVcXHUyREMwLVxcdTJEQzZcXHUyREM4LVxcdTJEQ0VcXHUyREQwLVxcdTJERDZcXHUyREQ4LVxcdTJEREVcXHUzMDA1LVxcdTMwMDdcXHUzMDIxLVxcdTMwMjlcXHUzMDMxLVxcdTMwMzVcXHUzMDM4LVxcdTMwM0NcXHUzMDQxLVxcdTMwOTZcXHUzMDlCLVxcdTMwOUZcXHUzMEExLVxcdTMwRkFcXHUzMEZDLVxcdTMwRkZcXHUzMTA1LVxcdTMxMkZcXHUzMTMxLVxcdTMxOEVcXHUzMUEwLVxcdTMxQkZcXHUzMUYwLVxcdTMxRkZcXHUzNDAwLVxcdTREQkZcXHU0RTAwLVxcdUE0OENcXHVBNEQwLVxcdUE0RkRcXHVBNTAwLVxcdUE2MENcXHVBNjEwLVxcdUE2MUZcXHVBNjJBXFx1QTYyQlxcdUE2NDAtXFx1QTY2RVxcdUE2N0YtXFx1QTY5RFxcdUE2QTAtXFx1QTZFRlxcdUE3MTctXFx1QTcxRlxcdUE3MjItXFx1QTc4OFxcdUE3OEItXFx1QTdDRFxcdUE3RDBcXHVBN0QxXFx1QTdEM1xcdUE3RDUtXFx1QTdEQ1xcdUE3RjItXFx1QTgwMVxcdUE4MDMtXFx1QTgwNVxcdUE4MDctXFx1QTgwQVxcdUE4MEMtXFx1QTgyMlxcdUE4NDAtXFx1QTg3M1xcdUE4ODItXFx1QThCM1xcdUE4RjItXFx1QThGN1xcdUE4RkJcXHVBOEZEXFx1QThGRVxcdUE5MEEtXFx1QTkyNVxcdUE5MzAtXFx1QTk0NlxcdUE5NjAtXFx1QTk3Q1xcdUE5ODQtXFx1QTlCMlxcdUE5Q0ZcXHVBOUUwLVxcdUE5RTRcXHVBOUU2LVxcdUE5RUZcXHVBOUZBLVxcdUE5RkVcXHVBQTAwLVxcdUFBMjhcXHVBQTQwLVxcdUFBNDJcXHVBQTQ0LVxcdUFBNEJcXHVBQTYwLVxcdUFBNzZcXHVBQTdBXFx1QUE3RS1cXHVBQUFGXFx1QUFCMVxcdUFBQjVcXHVBQUI2XFx1QUFCOS1cXHVBQUJEXFx1QUFDMFxcdUFBQzJcXHVBQURCLVxcdUFBRERcXHVBQUUwLVxcdUFBRUFcXHVBQUYyLVxcdUFBRjRcXHVBQjAxLVxcdUFCMDZcXHVBQjA5LVxcdUFCMEVcXHVBQjExLVxcdUFCMTZcXHVBQjIwLVxcdUFCMjZcXHVBQjI4LVxcdUFCMkVcXHVBQjMwLVxcdUFCNUFcXHVBQjVDLVxcdUFCNjlcXHVBQjcwLVxcdUFCRTJcXHVBQzAwLVxcdUQ3QTNcXHVEN0IwLVxcdUQ3QzZcXHVEN0NCLVxcdUQ3RkJcXHVGOTAwLVxcdUZBNkRcXHVGQTcwLVxcdUZBRDlcXHVGQjAwLVxcdUZCMDZcXHVGQjEzLVxcdUZCMTdcXHVGQjFEXFx1RkIxRi1cXHVGQjI4XFx1RkIyQS1cXHVGQjM2XFx1RkIzOC1cXHVGQjNDXFx1RkIzRVxcdUZCNDBcXHVGQjQxXFx1RkI0M1xcdUZCNDRcXHVGQjQ2LVxcdUZCQjFcXHVGQkQzLVxcdUZEM0RcXHVGRDUwLVxcdUZEOEZcXHVGRDkyLVxcdUZEQzdcXHVGREYwLVxcdUZERkJcXHVGRTcwLVxcdUZFNzRcXHVGRTc2LVxcdUZFRkNcXHVGRjIxLVxcdUZGM0FcXHVGRjQxLVxcdUZGNUFcXHVGRjY2LVxcdUZGQkVcXHVGRkMyLVxcdUZGQzdcXHVGRkNBLVxcdUZGQ0ZcXHVGRkQyLVxcdUZGRDdcXHVGRkRBLVxcdUZGRENcIixBZT17MzpcImFic3RyYWN0IGJvb2xlYW4gYnl0ZSBjaGFyIGNsYXNzIGRvdWJsZSBlbnVtIGV4cG9ydCBleHRlbmRzIGZpbmFsIGZsb2F0IGdvdG8gaW1wbGVtZW50cyBpbXBvcnQgaW50IGludGVyZmFjZSBsb25nIG5hdGl2ZSBwYWNrYWdlIHByaXZhdGUgcHJvdGVjdGVkIHB1YmxpYyBzaG9ydCBzdGF0aWMgc3VwZXIgc3luY2hyb25pemVkIHRocm93cyB0cmFuc2llbnQgdm9sYXRpbGVcIiw1OlwiY2xhc3MgZW51bSBleHRlbmRzIHN1cGVyIGNvbnN0IGV4cG9ydCBpbXBvcnRcIiw2OlwiZW51bVwiLHN0cmljdDpcImltcGxlbWVudHMgaW50ZXJmYWNlIGxldCBwYWNrYWdlIHByaXZhdGUgcHJvdGVjdGVkIHB1YmxpYyBzdGF0aWMgeWllbGRcIixzdHJpY3RCaW5kOlwiZXZhbCBhcmd1bWVudHNcIn0sUGU9XCJicmVhayBjYXNlIGNhdGNoIGNvbnRpbnVlIGRlYnVnZ2VyIGRlZmF1bHQgZG8gZWxzZSBmaW5hbGx5IGZvciBmdW5jdGlvbiBpZiByZXR1cm4gc3dpdGNoIHRocm93IHRyeSB2YXIgd2hpbGUgd2l0aCBudWxsIHRydWUgZmFsc2UgaW5zdGFuY2VvZiB0eXBlb2Ygdm9pZCBkZWxldGUgbmV3IGluIHRoaXNcIixfaT17NTpQZSxcIjVtb2R1bGVcIjpQZStcIiBleHBvcnQgaW1wb3J0XCIsNjpQZStcIiBjb25zdCBjbGFzcyBleHRlbmRzIGV4cG9ydCBpbXBvcnQgc3VwZXJcIn0sVGk9L15pbihzdGFuY2VvZik/JC8sa2k9bmV3IFJlZ0V4cChcIltcIitvdCtcIl1cIiksRWk9bmV3IFJlZ0V4cChcIltcIitvdCtDaStcIl1cIik7ZnVuY3Rpb24gTmUoZSx0KXtmb3IodmFyIGk9NjU1MzYscz0wO3M8dC5sZW5ndGg7cys9Mil7aWYoaSs9dFtzXSxpPmUpcmV0dXJuITE7aWYoaSs9dFtzKzFdLGk+PWUpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gTShlLHQpe3JldHVybiBlPDY1P2U9PT0zNjplPDkxPyEwOmU8OTc/ZT09PTk1OmU8MTIzPyEwOmU8PTY1NTM1P2U+PTE3MCYma2kudGVzdChTdHJpbmcuZnJvbUNoYXJDb2RlKGUpKTp0PT09ITE/ITE6TmUoZSxudCl9ZnVuY3Rpb24gSChlLHQpe3JldHVybiBlPDQ4P2U9PT0zNjplPDU4PyEwOmU8NjU/ITE6ZTw5MT8hMDplPDk3P2U9PT05NTplPDEyMz8hMDplPD02NTUzNT9lPj0xNzAmJkVpLnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZShlKSk6dD09PSExPyExOk5lKGUsbnQpfHxOZShlLFNpKX12YXIgUz1mdW5jdGlvbih0LGkpe2k9PT12b2lkIDAmJihpPXt9KSx0aGlzLmxhYmVsPXQsdGhpcy5rZXl3b3JkPWkua2V5d29yZCx0aGlzLmJlZm9yZUV4cHI9ISFpLmJlZm9yZUV4cHIsdGhpcy5zdGFydHNFeHByPSEhaS5zdGFydHNFeHByLHRoaXMuaXNMb29wPSEhaS5pc0xvb3AsdGhpcy5pc0Fzc2lnbj0hIWkuaXNBc3NpZ24sdGhpcy5wcmVmaXg9ISFpLnByZWZpeCx0aGlzLnBvc3RmaXg9ISFpLnBvc3RmaXgsdGhpcy5iaW5vcD1pLmJpbm9wfHxudWxsLHRoaXMudXBkYXRlQ29udGV4dD1udWxsfTtmdW5jdGlvbiBQKGUsdCl7cmV0dXJuIG5ldyBTKGUse2JlZm9yZUV4cHI6ITAsYmlub3A6dH0pfXZhciBJPXtiZWZvcmVFeHByOiEwfSxBPXtzdGFydHNFeHByOiEwfSxPZT17fTtmdW5jdGlvbiBiKGUsdCl7cmV0dXJuIHQ9PT12b2lkIDAmJih0PXt9KSx0LmtleXdvcmQ9ZSxPZVtlXT1uZXcgUyhlLHQpfXZhciBhPXtudW06bmV3IFMoXCJudW1cIixBKSxyZWdleHA6bmV3IFMoXCJyZWdleHBcIixBKSxzdHJpbmc6bmV3IFMoXCJzdHJpbmdcIixBKSxuYW1lOm5ldyBTKFwibmFtZVwiLEEpLHByaXZhdGVJZDpuZXcgUyhcInByaXZhdGVJZFwiLEEpLGVvZjpuZXcgUyhcImVvZlwiKSxicmFja2V0TDpuZXcgUyhcIltcIix7YmVmb3JlRXhwcjohMCxzdGFydHNFeHByOiEwfSksYnJhY2tldFI6bmV3IFMoXCJdXCIpLGJyYWNlTDpuZXcgUyhcIntcIix7YmVmb3JlRXhwcjohMCxzdGFydHNFeHByOiEwfSksYnJhY2VSOm5ldyBTKFwifVwiKSxwYXJlbkw6bmV3IFMoXCIoXCIse2JlZm9yZUV4cHI6ITAsc3RhcnRzRXhwcjohMH0pLHBhcmVuUjpuZXcgUyhcIilcIiksY29tbWE6bmV3IFMoXCIsXCIsSSksc2VtaTpuZXcgUyhcIjtcIixJKSxjb2xvbjpuZXcgUyhcIjpcIixJKSxkb3Q6bmV3IFMoXCIuXCIpLHF1ZXN0aW9uOm5ldyBTKFwiP1wiLEkpLHF1ZXN0aW9uRG90Om5ldyBTKFwiPy5cIiksYXJyb3c6bmV3IFMoXCI9PlwiLEkpLHRlbXBsYXRlOm5ldyBTKFwidGVtcGxhdGVcIiksaW52YWxpZFRlbXBsYXRlOm5ldyBTKFwiaW52YWxpZFRlbXBsYXRlXCIpLGVsbGlwc2lzOm5ldyBTKFwiLi4uXCIsSSksYmFja1F1b3RlOm5ldyBTKFwiYFwiLEEpLGRvbGxhckJyYWNlTDpuZXcgUyhcIiR7XCIse2JlZm9yZUV4cHI6ITAsc3RhcnRzRXhwcjohMH0pLGVxOm5ldyBTKFwiPVwiLHtiZWZvcmVFeHByOiEwLGlzQXNzaWduOiEwfSksYXNzaWduOm5ldyBTKFwiXz1cIix7YmVmb3JlRXhwcjohMCxpc0Fzc2lnbjohMH0pLGluY0RlYzpuZXcgUyhcIisrLy0tXCIse3ByZWZpeDohMCxwb3N0Zml4OiEwLHN0YXJ0c0V4cHI6ITB9KSxwcmVmaXg6bmV3IFMoXCIhL35cIix7YmVmb3JlRXhwcjohMCxwcmVmaXg6ITAsc3RhcnRzRXhwcjohMH0pLGxvZ2ljYWxPUjpQKFwifHxcIiwxKSxsb2dpY2FsQU5EOlAoXCImJlwiLDIpLGJpdHdpc2VPUjpQKFwifFwiLDMpLGJpdHdpc2VYT1I6UChcIl5cIiw0KSxiaXR3aXNlQU5EOlAoXCImXCIsNSksZXF1YWxpdHk6UChcIj09LyE9Lz09PS8hPT1cIiw2KSxyZWxhdGlvbmFsOlAoXCI8Lz4vPD0vPj1cIiw3KSxiaXRTaGlmdDpQKFwiPDwvPj4vPj4+XCIsOCkscGx1c01pbjpuZXcgUyhcIisvLVwiLHtiZWZvcmVFeHByOiEwLGJpbm9wOjkscHJlZml4OiEwLHN0YXJ0c0V4cHI6ITB9KSxtb2R1bG86UChcIiVcIiwxMCksc3RhcjpQKFwiKlwiLDEwKSxzbGFzaDpQKFwiL1wiLDEwKSxzdGFyc3RhcjpuZXcgUyhcIioqXCIse2JlZm9yZUV4cHI6ITB9KSxjb2FsZXNjZTpQKFwiPz9cIiwxKSxfYnJlYWs6YihcImJyZWFrXCIpLF9jYXNlOmIoXCJjYXNlXCIsSSksX2NhdGNoOmIoXCJjYXRjaFwiKSxfY29udGludWU6YihcImNvbnRpbnVlXCIpLF9kZWJ1Z2dlcjpiKFwiZGVidWdnZXJcIiksX2RlZmF1bHQ6YihcImRlZmF1bHRcIixJKSxfZG86YihcImRvXCIse2lzTG9vcDohMCxiZWZvcmVFeHByOiEwfSksX2Vsc2U6YihcImVsc2VcIixJKSxfZmluYWxseTpiKFwiZmluYWxseVwiKSxfZm9yOmIoXCJmb3JcIix7aXNMb29wOiEwfSksX2Z1bmN0aW9uOmIoXCJmdW5jdGlvblwiLEEpLF9pZjpiKFwiaWZcIiksX3JldHVybjpiKFwicmV0dXJuXCIsSSksX3N3aXRjaDpiKFwic3dpdGNoXCIpLF90aHJvdzpiKFwidGhyb3dcIixJKSxfdHJ5OmIoXCJ0cnlcIiksX3ZhcjpiKFwidmFyXCIpLF9jb25zdDpiKFwiY29uc3RcIiksX3doaWxlOmIoXCJ3aGlsZVwiLHtpc0xvb3A6ITB9KSxfd2l0aDpiKFwid2l0aFwiKSxfbmV3OmIoXCJuZXdcIix7YmVmb3JlRXhwcjohMCxzdGFydHNFeHByOiEwfSksX3RoaXM6YihcInRoaXNcIixBKSxfc3VwZXI6YihcInN1cGVyXCIsQSksX2NsYXNzOmIoXCJjbGFzc1wiLEEpLF9leHRlbmRzOmIoXCJleHRlbmRzXCIsSSksX2V4cG9ydDpiKFwiZXhwb3J0XCIpLF9pbXBvcnQ6YihcImltcG9ydFwiLEEpLF9udWxsOmIoXCJudWxsXCIsQSksX3RydWU6YihcInRydWVcIixBKSxfZmFsc2U6YihcImZhbHNlXCIsQSksX2luOmIoXCJpblwiLHtiZWZvcmVFeHByOiEwLGJpbm9wOjd9KSxfaW5zdGFuY2VvZjpiKFwiaW5zdGFuY2VvZlwiLHtiZWZvcmVFeHByOiEwLGJpbm9wOjd9KSxfdHlwZW9mOmIoXCJ0eXBlb2ZcIix7YmVmb3JlRXhwcjohMCxwcmVmaXg6ITAsc3RhcnRzRXhwcjohMH0pLF92b2lkOmIoXCJ2b2lkXCIse2JlZm9yZUV4cHI6ITAscHJlZml4OiEwLHN0YXJ0c0V4cHI6ITB9KSxfZGVsZXRlOmIoXCJkZWxldGVcIix7YmVmb3JlRXhwcjohMCxwcmVmaXg6ITAsc3RhcnRzRXhwcjohMH0pfSxMPS9cXHJcXG4/fFxcbnxcXHUyMDI4fFxcdTIwMjkvLHdpPW5ldyBSZWdFeHAoTC5zb3VyY2UsXCJnXCIpO2Z1bmN0aW9uIFEoZSl7cmV0dXJuIGU9PT0xMHx8ZT09PTEzfHxlPT09ODIzMnx8ZT09PTgyMzN9ZnVuY3Rpb24gdXQoZSx0LGkpe2k9PT12b2lkIDAmJihpPWUubGVuZ3RoKTtmb3IodmFyIHM9dDtzPGk7cysrKXt2YXIgcj1lLmNoYXJDb2RlQXQocyk7aWYoUShyKSlyZXR1cm4gczxpLTEmJnI9PT0xMyYmZS5jaGFyQ29kZUF0KHMrMSk9PT0xMD9zKzI6cysxfXJldHVybi0xfXZhciBwdD0vW1xcdTE2ODBcXHUyMDAwLVxcdTIwMGFcXHUyMDJmXFx1MjA1ZlxcdTMwMDBcXHVmZWZmXS8sTj0vKD86XFxzfFxcL1xcLy4qfFxcL1xcKlteXSo/XFwqXFwvKSovZyxodD1PYmplY3QucHJvdG90eXBlLEFpPWh0Lmhhc093blByb3BlcnR5LFBpPWh0LnRvU3RyaW5nLFk9T2JqZWN0Lmhhc093bnx8ZnVuY3Rpb24oZSx0KXtyZXR1cm4gQWkuY2FsbChlLHQpfSx0dD1BcnJheS5pc0FycmF5fHxmdW5jdGlvbihlKXtyZXR1cm4gUGkuY2FsbChlKT09PVwiW29iamVjdCBBcnJheV1cIn0saXQ9T2JqZWN0LmNyZWF0ZShudWxsKTtmdW5jdGlvbiBLKGUpe3JldHVybiBpdFtlXXx8KGl0W2VdPW5ldyBSZWdFeHAoXCJeKD86XCIrZS5yZXBsYWNlKC8gL2csXCJ8XCIpK1wiKSRcIikpfWZ1bmN0aW9uIFUoZSl7cmV0dXJuIGU8PTY1NTM1P1N0cmluZy5mcm9tQ2hhckNvZGUoZSk6KGUtPTY1NTM2LFN0cmluZy5mcm9tQ2hhckNvZGUoKGU+PjEwKSs1NTI5NiwoZSYxMDIzKSs1NjMyMCkpfXZhciBJaT0vKD86W1xcdUQ4MDAtXFx1REJGRl0oPyFbXFx1REMwMC1cXHVERkZGXSl8KD86W15cXHVEODAwLVxcdURCRkZdfF4pW1xcdURDMDAtXFx1REZGRl0pLyxpZT1mdW5jdGlvbih0LGkpe3RoaXMubGluZT10LHRoaXMuY29sdW1uPWl9O2llLnByb3RvdHlwZS5vZmZzZXQ9ZnVuY3Rpb24odCl7cmV0dXJuIG5ldyBpZSh0aGlzLmxpbmUsdGhpcy5jb2x1bW4rdCl9O3ZhciB4ZT1mdW5jdGlvbih0LGkscyl7dGhpcy5zdGFydD1pLHRoaXMuZW5kPXMsdC5zb3VyY2VGaWxlIT09bnVsbCYmKHRoaXMuc291cmNlPXQuc291cmNlRmlsZSl9O2Z1bmN0aW9uIGN0KGUsdCl7Zm9yKHZhciBpPTEscz0wOzspe3ZhciByPXV0KGUscyx0KTtpZihyPDApcmV0dXJuIG5ldyBpZShpLHQtcyk7KytpLHM9cn19dmFyIFZlPXtlY21hVmVyc2lvbjpudWxsLHNvdXJjZVR5cGU6XCJzY3JpcHRcIixvbkluc2VydGVkU2VtaWNvbG9uOm51bGwsb25UcmFpbGluZ0NvbW1hOm51bGwsYWxsb3dSZXNlcnZlZDpudWxsLGFsbG93UmV0dXJuT3V0c2lkZUZ1bmN0aW9uOiExLGFsbG93SW1wb3J0RXhwb3J0RXZlcnl3aGVyZTohMSxhbGxvd0F3YWl0T3V0c2lkZUZ1bmN0aW9uOm51bGwsYWxsb3dTdXBlck91dHNpZGVNZXRob2Q6bnVsbCxhbGxvd0hhc2hCYW5nOiExLGNoZWNrUHJpdmF0ZUZpZWxkczohMCxsb2NhdGlvbnM6ITEsb25Ub2tlbjpudWxsLG9uQ29tbWVudDpudWxsLHJhbmdlczohMSxwcm9ncmFtOm51bGwsc291cmNlRmlsZTpudWxsLGRpcmVjdFNvdXJjZUZpbGU6bnVsbCxwcmVzZXJ2ZVBhcmVuczohMX0sc3Q9ITE7ZnVuY3Rpb24gTmkoZSl7dmFyIHQ9e307Zm9yKHZhciBpIGluIFZlKXRbaV09ZSYmWShlLGkpP2VbaV06VmVbaV07aWYodC5lY21hVmVyc2lvbj09PVwibGF0ZXN0XCI/dC5lY21hVmVyc2lvbj0xZTg6dC5lY21hVmVyc2lvbj09bnVsbD8oIXN0JiZ0eXBlb2YgY29uc29sZT09XCJvYmplY3RcIiYmY29uc29sZS53YXJuJiYoc3Q9ITAsY29uc29sZS53YXJuKGBTaW5jZSBBY29ybiA4LjAuMCwgb3B0aW9ucy5lY21hVmVyc2lvbiBpcyByZXF1aXJlZC5cbkRlZmF1bHRpbmcgdG8gMjAyMCwgYnV0IHRoaXMgd2lsbCBzdG9wIHdvcmtpbmcgaW4gdGhlIGZ1dHVyZS5gKSksdC5lY21hVmVyc2lvbj0xMSk6dC5lY21hVmVyc2lvbj49MjAxNSYmKHQuZWNtYVZlcnNpb24tPTIwMDkpLHQuYWxsb3dSZXNlcnZlZD09bnVsbCYmKHQuYWxsb3dSZXNlcnZlZD10LmVjbWFWZXJzaW9uPDUpLCghZXx8ZS5hbGxvd0hhc2hCYW5nPT1udWxsKSYmKHQuYWxsb3dIYXNoQmFuZz10LmVjbWFWZXJzaW9uPj0xNCksdHQodC5vblRva2VuKSl7dmFyIHM9dC5vblRva2VuO3Qub25Ub2tlbj1mdW5jdGlvbihyKXtyZXR1cm4gcy5wdXNoKHIpfX1yZXR1cm4gdHQodC5vbkNvbW1lbnQpJiYodC5vbkNvbW1lbnQ9VmkodCx0Lm9uQ29tbWVudCkpLHR9ZnVuY3Rpb24gVmkoZSx0KXtyZXR1cm4gZnVuY3Rpb24oaSxzLHIsbixvLHUpe3ZhciBwPXt0eXBlOmk/XCJCbG9ja1wiOlwiTGluZVwiLHZhbHVlOnMsc3RhcnQ6cixlbmQ6bn07ZS5sb2NhdGlvbnMmJihwLmxvYz1uZXcgeGUodGhpcyxvLHUpKSxlLnJhbmdlcyYmKHAucmFuZ2U9W3Isbl0pLHQucHVzaChwKX19dmFyIHNlPTEsWj0yLEJlPTQsbHQ9OCxmdD0xNixkdD0zMixEZT02NCxtdD0xMjgscmU9MjU2LEZlPXNlfFp8cmU7ZnVuY3Rpb24gamUoZSx0KXtyZXR1cm4gWnwoZT9CZTowKXwodD9sdDowKX12YXIgbGU9MCxNZT0xLEc9Mix4dD0zLHl0PTQsZ3Q9NSxUPWZ1bmN0aW9uKHQsaSxzKXt0aGlzLm9wdGlvbnM9dD1OaSh0KSx0aGlzLnNvdXJjZUZpbGU9dC5zb3VyY2VGaWxlLHRoaXMua2V5d29yZHM9SyhfaVt0LmVjbWFWZXJzaW9uPj02PzY6dC5zb3VyY2VUeXBlPT09XCJtb2R1bGVcIj9cIjVtb2R1bGVcIjo1XSk7dmFyIHI9XCJcIjt0LmFsbG93UmVzZXJ2ZWQhPT0hMCYmKHI9QWVbdC5lY21hVmVyc2lvbj49Nj82OnQuZWNtYVZlcnNpb249PT01PzU6M10sdC5zb3VyY2VUeXBlPT09XCJtb2R1bGVcIiYmKHIrPVwiIGF3YWl0XCIpKSx0aGlzLnJlc2VydmVkV29yZHM9SyhyKTt2YXIgbj0ocj9yK1wiIFwiOlwiXCIpK0FlLnN0cmljdDt0aGlzLnJlc2VydmVkV29yZHNTdHJpY3Q9SyhuKSx0aGlzLnJlc2VydmVkV29yZHNTdHJpY3RCaW5kPUsobitcIiBcIitBZS5zdHJpY3RCaW5kKSx0aGlzLmlucHV0PVN0cmluZyhpKSx0aGlzLmNvbnRhaW5zRXNjPSExLHM/KHRoaXMucG9zPXMsdGhpcy5saW5lU3RhcnQ9dGhpcy5pbnB1dC5sYXN0SW5kZXhPZihgXG5gLHMtMSkrMSx0aGlzLmN1ckxpbmU9dGhpcy5pbnB1dC5zbGljZSgwLHRoaXMubGluZVN0YXJ0KS5zcGxpdChMKS5sZW5ndGgpOih0aGlzLnBvcz10aGlzLmxpbmVTdGFydD0wLHRoaXMuY3VyTGluZT0xKSx0aGlzLnR5cGU9YS5lb2YsdGhpcy52YWx1ZT1udWxsLHRoaXMuc3RhcnQ9dGhpcy5lbmQ9dGhpcy5wb3MsdGhpcy5zdGFydExvYz10aGlzLmVuZExvYz10aGlzLmN1clBvc2l0aW9uKCksdGhpcy5sYXN0VG9rRW5kTG9jPXRoaXMubGFzdFRva1N0YXJ0TG9jPW51bGwsdGhpcy5sYXN0VG9rU3RhcnQ9dGhpcy5sYXN0VG9rRW5kPXRoaXMucG9zLHRoaXMuY29udGV4dD10aGlzLmluaXRpYWxDb250ZXh0KCksdGhpcy5leHByQWxsb3dlZD0hMCx0aGlzLmluTW9kdWxlPXQuc291cmNlVHlwZT09PVwibW9kdWxlXCIsdGhpcy5zdHJpY3Q9dGhpcy5pbk1vZHVsZXx8dGhpcy5zdHJpY3REaXJlY3RpdmUodGhpcy5wb3MpLHRoaXMucG90ZW50aWFsQXJyb3dBdD0tMSx0aGlzLnBvdGVudGlhbEFycm93SW5Gb3JBd2FpdD0hMSx0aGlzLnlpZWxkUG9zPXRoaXMuYXdhaXRQb3M9dGhpcy5hd2FpdElkZW50UG9zPTAsdGhpcy5sYWJlbHM9W10sdGhpcy51bmRlZmluZWRFeHBvcnRzPU9iamVjdC5jcmVhdGUobnVsbCksdGhpcy5wb3M9PT0wJiZ0LmFsbG93SGFzaEJhbmcmJnRoaXMuaW5wdXQuc2xpY2UoMCwyKT09PVwiIyFcIiYmdGhpcy5za2lwTGluZUNvbW1lbnQoMiksdGhpcy5zY29wZVN0YWNrPVtdLHRoaXMuZW50ZXJTY29wZShzZSksdGhpcy5yZWdleHBTdGF0ZT1udWxsLHRoaXMucHJpdmF0ZU5hbWVTdGFjaz1bXX0sRj17aW5GdW5jdGlvbjp7Y29uZmlndXJhYmxlOiEwfSxpbkdlbmVyYXRvcjp7Y29uZmlndXJhYmxlOiEwfSxpbkFzeW5jOntjb25maWd1cmFibGU6ITB9LGNhbkF3YWl0Ontjb25maWd1cmFibGU6ITB9LGFsbG93U3VwZXI6e2NvbmZpZ3VyYWJsZTohMH0sYWxsb3dEaXJlY3RTdXBlcjp7Y29uZmlndXJhYmxlOiEwfSx0cmVhdEZ1bmN0aW9uc0FzVmFyOntjb25maWd1cmFibGU6ITB9LGFsbG93TmV3RG90VGFyZ2V0Ontjb25maWd1cmFibGU6ITB9LGluQ2xhc3NTdGF0aWNCbG9jazp7Y29uZmlndXJhYmxlOiEwfX07VC5wcm90b3R5cGUucGFyc2U9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLm9wdGlvbnMucHJvZ3JhbXx8dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdGhpcy5uZXh0VG9rZW4oKSx0aGlzLnBhcnNlVG9wTGV2ZWwodCl9O0YuaW5GdW5jdGlvbi5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5jdXJyZW50VmFyU2NvcGUoKS5mbGFncyZaKT4wfTtGLmluR2VuZXJhdG9yLmdldD1mdW5jdGlvbigpe3JldHVybih0aGlzLmN1cnJlbnRWYXJTY29wZSgpLmZsYWdzJmx0KT4wJiYhdGhpcy5jdXJyZW50VmFyU2NvcGUoKS5pbkNsYXNzRmllbGRJbml0fTtGLmluQXN5bmMuZ2V0PWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMuY3VycmVudFZhclNjb3BlKCkuZmxhZ3MmQmUpPjAmJiF0aGlzLmN1cnJlbnRWYXJTY29wZSgpLmluQ2xhc3NGaWVsZEluaXR9O0YuY2FuQXdhaXQuZ2V0PWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMuc2NvcGVTdGFjay5sZW5ndGgtMTtlPj0wO2UtLSl7dmFyIHQ9dGhpcy5zY29wZVN0YWNrW2VdO2lmKHQuaW5DbGFzc0ZpZWxkSW5pdHx8dC5mbGFncyZyZSlyZXR1cm4hMTtpZih0LmZsYWdzJlopcmV0dXJuKHQuZmxhZ3MmQmUpPjB9cmV0dXJuIHRoaXMuaW5Nb2R1bGUmJnRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49MTN8fHRoaXMub3B0aW9ucy5hbGxvd0F3YWl0T3V0c2lkZUZ1bmN0aW9ufTtGLmFsbG93U3VwZXIuZ2V0PWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5jdXJyZW50VGhpc1Njb3BlKCksdD1lLmZsYWdzLGk9ZS5pbkNsYXNzRmllbGRJbml0O3JldHVybih0JkRlKT4wfHxpfHx0aGlzLm9wdGlvbnMuYWxsb3dTdXBlck91dHNpZGVNZXRob2R9O0YuYWxsb3dEaXJlY3RTdXBlci5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5jdXJyZW50VGhpc1Njb3BlKCkuZmxhZ3MmbXQpPjB9O0YudHJlYXRGdW5jdGlvbnNBc1Zhci5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50cmVhdEZ1bmN0aW9uc0FzVmFySW5TY29wZSh0aGlzLmN1cnJlbnRTY29wZSgpKX07Ri5hbGxvd05ld0RvdFRhcmdldC5nZXQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmN1cnJlbnRUaGlzU2NvcGUoKSx0PWUuZmxhZ3MsaT1lLmluQ2xhc3NGaWVsZEluaXQ7cmV0dXJuKHQmKFp8cmUpKT4wfHxpfTtGLmluQ2xhc3NTdGF0aWNCbG9jay5nZXQ9ZnVuY3Rpb24oKXtyZXR1cm4odGhpcy5jdXJyZW50VmFyU2NvcGUoKS5mbGFncyZyZSk+MH07VC5leHRlbmQ9ZnVuY3Rpb24oKXtmb3IodmFyIHQ9W10saT1hcmd1bWVudHMubGVuZ3RoO2ktLTspdFtpXT1hcmd1bWVudHNbaV07Zm9yKHZhciBzPXRoaXMscj0wO3I8dC5sZW5ndGg7cisrKXM9dFtyXShzKTtyZXR1cm4gc307VC5wYXJzZT1mdW5jdGlvbih0LGkpe3JldHVybiBuZXcgdGhpcyhpLHQpLnBhcnNlKCl9O1QucGFyc2VFeHByZXNzaW9uQXQ9ZnVuY3Rpb24odCxpLHMpe3ZhciByPW5ldyB0aGlzKHMsdCxpKTtyZXR1cm4gci5uZXh0VG9rZW4oKSxyLnBhcnNlRXhwcmVzc2lvbigpfTtULnRva2VuaXplcj1mdW5jdGlvbih0LGkpe3JldHVybiBuZXcgdGhpcyhpLHQpfTtPYmplY3QuZGVmaW5lUHJvcGVydGllcyhULnByb3RvdHlwZSxGKTt2YXIgaz1ULnByb3RvdHlwZSxMaT0vXig/OicoKD86XFxcXFteXXxbXidcXFxcXSkqPyknfFwiKCg/OlxcXFxbXl18W15cIlxcXFxdKSo/KVwiKS87ay5zdHJpY3REaXJlY3RpdmU9ZnVuY3Rpb24oZSl7aWYodGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPDUpcmV0dXJuITE7Zm9yKDs7KXtOLmxhc3RJbmRleD1lLGUrPU4uZXhlYyh0aGlzLmlucHV0KVswXS5sZW5ndGg7dmFyIHQ9TGkuZXhlYyh0aGlzLmlucHV0LnNsaWNlKGUpKTtpZighdClyZXR1cm4hMTtpZigodFsxXXx8dFsyXSk9PT1cInVzZSBzdHJpY3RcIil7Ti5sYXN0SW5kZXg9ZSt0WzBdLmxlbmd0aDt2YXIgaT1OLmV4ZWModGhpcy5pbnB1dCkscz1pLmluZGV4K2lbMF0ubGVuZ3RoLHI9dGhpcy5pbnB1dC5jaGFyQXQocyk7cmV0dXJuIHI9PT1cIjtcInx8cj09PVwifVwifHxMLnRlc3QoaVswXSkmJiEoL1soYC5bK1xcLS8qJTw+PSw/XiZdLy50ZXN0KHIpfHxyPT09XCIhXCImJnRoaXMuaW5wdXQuY2hhckF0KHMrMSk9PT1cIj1cIil9ZSs9dFswXS5sZW5ndGgsTi5sYXN0SW5kZXg9ZSxlKz1OLmV4ZWModGhpcy5pbnB1dClbMF0ubGVuZ3RoLHRoaXMuaW5wdXRbZV09PT1cIjtcIiYmZSsrfX07ay5lYXQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMudHlwZT09PWU/KHRoaXMubmV4dCgpLCEwKTohMX07ay5pc0NvbnRleHR1YWw9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMudHlwZT09PWEubmFtZSYmdGhpcy52YWx1ZT09PWUmJiF0aGlzLmNvbnRhaW5zRXNjfTtrLmVhdENvbnRleHR1YWw9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuaXNDb250ZXh0dWFsKGUpPyh0aGlzLm5leHQoKSwhMCk6ITF9O2suZXhwZWN0Q29udGV4dHVhbD1mdW5jdGlvbihlKXt0aGlzLmVhdENvbnRleHR1YWwoZSl8fHRoaXMudW5leHBlY3RlZCgpfTtrLmNhbkluc2VydFNlbWljb2xvbj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnR5cGU9PT1hLmVvZnx8dGhpcy50eXBlPT09YS5icmFjZVJ8fEwudGVzdCh0aGlzLmlucHV0LnNsaWNlKHRoaXMubGFzdFRva0VuZCx0aGlzLnN0YXJ0KSl9O2suaW5zZXJ0U2VtaWNvbG9uPWZ1bmN0aW9uKCl7aWYodGhpcy5jYW5JbnNlcnRTZW1pY29sb24oKSlyZXR1cm4gdGhpcy5vcHRpb25zLm9uSW5zZXJ0ZWRTZW1pY29sb24mJnRoaXMub3B0aW9ucy5vbkluc2VydGVkU2VtaWNvbG9uKHRoaXMubGFzdFRva0VuZCx0aGlzLmxhc3RUb2tFbmRMb2MpLCEwfTtrLnNlbWljb2xvbj1mdW5jdGlvbigpeyF0aGlzLmVhdChhLnNlbWkpJiYhdGhpcy5pbnNlcnRTZW1pY29sb24oKSYmdGhpcy51bmV4cGVjdGVkKCl9O2suYWZ0ZXJUcmFpbGluZ0NvbW1hPWZ1bmN0aW9uKGUsdCl7aWYodGhpcy50eXBlPT09ZSlyZXR1cm4gdGhpcy5vcHRpb25zLm9uVHJhaWxpbmdDb21tYSYmdGhpcy5vcHRpb25zLm9uVHJhaWxpbmdDb21tYSh0aGlzLmxhc3RUb2tTdGFydCx0aGlzLmxhc3RUb2tTdGFydExvYyksdHx8dGhpcy5uZXh0KCksITB9O2suZXhwZWN0PWZ1bmN0aW9uKGUpe3RoaXMuZWF0KGUpfHx0aGlzLnVuZXhwZWN0ZWQoKX07ay51bmV4cGVjdGVkPWZ1bmN0aW9uKGUpe3RoaXMucmFpc2UoZT8/dGhpcy5zdGFydCxcIlVuZXhwZWN0ZWQgdG9rZW5cIil9O3ZhciB5ZT1mdW5jdGlvbigpe3RoaXMuc2hvcnRoYW5kQXNzaWduPXRoaXMudHJhaWxpbmdDb21tYT10aGlzLnBhcmVudGhlc2l6ZWRBc3NpZ249dGhpcy5wYXJlbnRoZXNpemVkQmluZD10aGlzLmRvdWJsZVByb3RvPS0xfTtrLmNoZWNrUGF0dGVybkVycm9ycz1mdW5jdGlvbihlLHQpe2lmKGUpe2UudHJhaWxpbmdDb21tYT4tMSYmdGhpcy5yYWlzZVJlY292ZXJhYmxlKGUudHJhaWxpbmdDb21tYSxcIkNvbW1hIGlzIG5vdCBwZXJtaXR0ZWQgYWZ0ZXIgdGhlIHJlc3QgZWxlbWVudFwiKTt2YXIgaT10P2UucGFyZW50aGVzaXplZEFzc2lnbjplLnBhcmVudGhlc2l6ZWRCaW5kO2k+LTEmJnRoaXMucmFpc2VSZWNvdmVyYWJsZShpLHQ/XCJBc3NpZ25pbmcgdG8gcnZhbHVlXCI6XCJQYXJlbnRoZXNpemVkIHBhdHRlcm5cIil9fTtrLmNoZWNrRXhwcmVzc2lvbkVycm9ycz1mdW5jdGlvbihlLHQpe2lmKCFlKXJldHVybiExO3ZhciBpPWUuc2hvcnRoYW5kQXNzaWduLHM9ZS5kb3VibGVQcm90bztpZighdClyZXR1cm4gaT49MHx8cz49MDtpPj0wJiZ0aGlzLnJhaXNlKGksXCJTaG9ydGhhbmQgcHJvcGVydHkgYXNzaWdubWVudHMgYXJlIHZhbGlkIG9ubHkgaW4gZGVzdHJ1Y3R1cmluZyBwYXR0ZXJuc1wiKSxzPj0wJiZ0aGlzLnJhaXNlUmVjb3ZlcmFibGUocyxcIlJlZGVmaW5pdGlvbiBvZiBfX3Byb3RvX18gcHJvcGVydHlcIil9O2suY2hlY2tZaWVsZEF3YWl0SW5EZWZhdWx0UGFyYW1zPWZ1bmN0aW9uKCl7dGhpcy55aWVsZFBvcyYmKCF0aGlzLmF3YWl0UG9zfHx0aGlzLnlpZWxkUG9zPHRoaXMuYXdhaXRQb3MpJiZ0aGlzLnJhaXNlKHRoaXMueWllbGRQb3MsXCJZaWVsZCBleHByZXNzaW9uIGNhbm5vdCBiZSBhIGRlZmF1bHQgdmFsdWVcIiksdGhpcy5hd2FpdFBvcyYmdGhpcy5yYWlzZSh0aGlzLmF3YWl0UG9zLFwiQXdhaXQgZXhwcmVzc2lvbiBjYW5ub3QgYmUgYSBkZWZhdWx0IHZhbHVlXCIpfTtrLmlzU2ltcGxlQXNzaWduVGFyZ2V0PWZ1bmN0aW9uKGUpe3JldHVybiBlLnR5cGU9PT1cIlBhcmVudGhlc2l6ZWRFeHByZXNzaW9uXCI/dGhpcy5pc1NpbXBsZUFzc2lnblRhcmdldChlLmV4cHJlc3Npb24pOmUudHlwZT09PVwiSWRlbnRpZmllclwifHxlLnR5cGU9PT1cIk1lbWJlckV4cHJlc3Npb25cIn07dmFyIGw9VC5wcm90b3R5cGU7bC5wYXJzZVRvcExldmVsPWZ1bmN0aW9uKGUpe3ZhciB0PU9iamVjdC5jcmVhdGUobnVsbCk7Zm9yKGUuYm9keXx8KGUuYm9keT1bXSk7dGhpcy50eXBlIT09YS5lb2Y7KXt2YXIgaT10aGlzLnBhcnNlU3RhdGVtZW50KG51bGwsITAsdCk7ZS5ib2R5LnB1c2goaSl9aWYodGhpcy5pbk1vZHVsZSlmb3IodmFyIHM9MCxyPU9iamVjdC5rZXlzKHRoaXMudW5kZWZpbmVkRXhwb3J0cyk7czxyLmxlbmd0aDtzKz0xKXt2YXIgbj1yW3NdO3RoaXMucmFpc2VSZWNvdmVyYWJsZSh0aGlzLnVuZGVmaW5lZEV4cG9ydHNbbl0uc3RhcnQsXCJFeHBvcnQgJ1wiK24rXCInIGlzIG5vdCBkZWZpbmVkXCIpfXJldHVybiB0aGlzLmFkYXB0RGlyZWN0aXZlUHJvbG9ndWUoZS5ib2R5KSx0aGlzLm5leHQoKSxlLnNvdXJjZVR5cGU9dGhpcy5vcHRpb25zLnNvdXJjZVR5cGUsdGhpcy5maW5pc2hOb2RlKGUsXCJQcm9ncmFtXCIpfTt2YXIgVWU9e2tpbmQ6XCJsb29wXCJ9LFJpPXtraW5kOlwic3dpdGNoXCJ9O2wuaXNMZXQ9ZnVuY3Rpb24oZSl7aWYodGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPDZ8fCF0aGlzLmlzQ29udGV4dHVhbChcImxldFwiKSlyZXR1cm4hMTtOLmxhc3RJbmRleD10aGlzLnBvczt2YXIgdD1OLmV4ZWModGhpcy5pbnB1dCksaT10aGlzLnBvcyt0WzBdLmxlbmd0aCxzPXRoaXMuaW5wdXQuY2hhckNvZGVBdChpKTtpZihzPT09OTF8fHM9PT05MilyZXR1cm4hMDtpZihlKXJldHVybiExO2lmKHM9PT0xMjN8fHM+NTUyOTUmJnM8NTYzMjApcmV0dXJuITA7aWYoTShzLCEwKSl7Zm9yKHZhciByPWkrMTtIKHM9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHIpLCEwKTspKytyO2lmKHM9PT05Mnx8cz41NTI5NSYmczw1NjMyMClyZXR1cm4hMDt2YXIgbj10aGlzLmlucHV0LnNsaWNlKGkscik7aWYoIVRpLnRlc3QobikpcmV0dXJuITB9cmV0dXJuITF9O2wuaXNBc3luY0Z1bmN0aW9uPWZ1bmN0aW9uKCl7aWYodGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPDh8fCF0aGlzLmlzQ29udGV4dHVhbChcImFzeW5jXCIpKXJldHVybiExO04ubGFzdEluZGV4PXRoaXMucG9zO3ZhciBlPU4uZXhlYyh0aGlzLmlucHV0KSx0PXRoaXMucG9zK2VbMF0ubGVuZ3RoLGk7cmV0dXJuIUwudGVzdCh0aGlzLmlucHV0LnNsaWNlKHRoaXMucG9zLHQpKSYmdGhpcy5pbnB1dC5zbGljZSh0LHQrOCk9PT1cImZ1bmN0aW9uXCImJih0Kzg9PT10aGlzLmlucHV0Lmxlbmd0aHx8IShIKGk9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHQrOCkpfHxpPjU1Mjk1JiZpPDU2MzIwKSl9O2wucGFyc2VTdGF0ZW1lbnQ9ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXMudHlwZSxyPXRoaXMuc3RhcnROb2RlKCksbjtzd2l0Y2godGhpcy5pc0xldChlKSYmKHM9YS5fdmFyLG49XCJsZXRcIikscyl7Y2FzZSBhLl9icmVhazpjYXNlIGEuX2NvbnRpbnVlOnJldHVybiB0aGlzLnBhcnNlQnJlYWtDb250aW51ZVN0YXRlbWVudChyLHMua2V5d29yZCk7Y2FzZSBhLl9kZWJ1Z2dlcjpyZXR1cm4gdGhpcy5wYXJzZURlYnVnZ2VyU3RhdGVtZW50KHIpO2Nhc2UgYS5fZG86cmV0dXJuIHRoaXMucGFyc2VEb1N0YXRlbWVudChyKTtjYXNlIGEuX2ZvcjpyZXR1cm4gdGhpcy5wYXJzZUZvclN0YXRlbWVudChyKTtjYXNlIGEuX2Z1bmN0aW9uOnJldHVybiBlJiYodGhpcy5zdHJpY3R8fGUhPT1cImlmXCImJmUhPT1cImxhYmVsXCIpJiZ0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTYmJnRoaXMudW5leHBlY3RlZCgpLHRoaXMucGFyc2VGdW5jdGlvblN0YXRlbWVudChyLCExLCFlKTtjYXNlIGEuX2NsYXNzOnJldHVybiBlJiZ0aGlzLnVuZXhwZWN0ZWQoKSx0aGlzLnBhcnNlQ2xhc3MociwhMCk7Y2FzZSBhLl9pZjpyZXR1cm4gdGhpcy5wYXJzZUlmU3RhdGVtZW50KHIpO2Nhc2UgYS5fcmV0dXJuOnJldHVybiB0aGlzLnBhcnNlUmV0dXJuU3RhdGVtZW50KHIpO2Nhc2UgYS5fc3dpdGNoOnJldHVybiB0aGlzLnBhcnNlU3dpdGNoU3RhdGVtZW50KHIpO2Nhc2UgYS5fdGhyb3c6cmV0dXJuIHRoaXMucGFyc2VUaHJvd1N0YXRlbWVudChyKTtjYXNlIGEuX3RyeTpyZXR1cm4gdGhpcy5wYXJzZVRyeVN0YXRlbWVudChyKTtjYXNlIGEuX2NvbnN0OmNhc2UgYS5fdmFyOnJldHVybiBuPW58fHRoaXMudmFsdWUsZSYmbiE9PVwidmFyXCImJnRoaXMudW5leHBlY3RlZCgpLHRoaXMucGFyc2VWYXJTdGF0ZW1lbnQocixuKTtjYXNlIGEuX3doaWxlOnJldHVybiB0aGlzLnBhcnNlV2hpbGVTdGF0ZW1lbnQocik7Y2FzZSBhLl93aXRoOnJldHVybiB0aGlzLnBhcnNlV2l0aFN0YXRlbWVudChyKTtjYXNlIGEuYnJhY2VMOnJldHVybiB0aGlzLnBhcnNlQmxvY2soITAscik7Y2FzZSBhLnNlbWk6cmV0dXJuIHRoaXMucGFyc2VFbXB0eVN0YXRlbWVudChyKTtjYXNlIGEuX2V4cG9ydDpjYXNlIGEuX2ltcG9ydDppZih0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+MTAmJnM9PT1hLl9pbXBvcnQpe04ubGFzdEluZGV4PXRoaXMucG9zO3ZhciBvPU4uZXhlYyh0aGlzLmlucHV0KSx1PXRoaXMucG9zK29bMF0ubGVuZ3RoLHA9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHUpO2lmKHA9PT00MHx8cD09PTQ2KXJldHVybiB0aGlzLnBhcnNlRXhwcmVzc2lvblN0YXRlbWVudChyLHRoaXMucGFyc2VFeHByZXNzaW9uKCkpfXJldHVybiB0aGlzLm9wdGlvbnMuYWxsb3dJbXBvcnRFeHBvcnRFdmVyeXdoZXJlfHwodHx8dGhpcy5yYWlzZSh0aGlzLnN0YXJ0LFwiJ2ltcG9ydCcgYW5kICdleHBvcnQnIG1heSBvbmx5IGFwcGVhciBhdCB0aGUgdG9wIGxldmVsXCIpLHRoaXMuaW5Nb2R1bGV8fHRoaXMucmFpc2UodGhpcy5zdGFydCxcIidpbXBvcnQnIGFuZCAnZXhwb3J0JyBtYXkgYXBwZWFyIG9ubHkgd2l0aCAnc291cmNlVHlwZTogbW9kdWxlJ1wiKSkscz09PWEuX2ltcG9ydD90aGlzLnBhcnNlSW1wb3J0KHIpOnRoaXMucGFyc2VFeHBvcnQocixpKTtkZWZhdWx0OmlmKHRoaXMuaXNBc3luY0Z1bmN0aW9uKCkpcmV0dXJuIGUmJnRoaXMudW5leHBlY3RlZCgpLHRoaXMubmV4dCgpLHRoaXMucGFyc2VGdW5jdGlvblN0YXRlbWVudChyLCEwLCFlKTt2YXIgZD10aGlzLnZhbHVlLGY9dGhpcy5wYXJzZUV4cHJlc3Npb24oKTtyZXR1cm4gcz09PWEubmFtZSYmZi50eXBlPT09XCJJZGVudGlmaWVyXCImJnRoaXMuZWF0KGEuY29sb24pP3RoaXMucGFyc2VMYWJlbGVkU3RhdGVtZW50KHIsZCxmLGUpOnRoaXMucGFyc2VFeHByZXNzaW9uU3RhdGVtZW50KHIsZil9fTtsLnBhcnNlQnJlYWtDb250aW51ZVN0YXRlbWVudD1mdW5jdGlvbihlLHQpe3ZhciBpPXQ9PT1cImJyZWFrXCI7dGhpcy5uZXh0KCksdGhpcy5lYXQoYS5zZW1pKXx8dGhpcy5pbnNlcnRTZW1pY29sb24oKT9lLmxhYmVsPW51bGw6dGhpcy50eXBlIT09YS5uYW1lP3RoaXMudW5leHBlY3RlZCgpOihlLmxhYmVsPXRoaXMucGFyc2VJZGVudCgpLHRoaXMuc2VtaWNvbG9uKCkpO2Zvcih2YXIgcz0wO3M8dGhpcy5sYWJlbHMubGVuZ3RoOysrcyl7dmFyIHI9dGhpcy5sYWJlbHNbc107aWYoKGUubGFiZWw9PW51bGx8fHIubmFtZT09PWUubGFiZWwubmFtZSkmJihyLmtpbmQhPW51bGwmJihpfHxyLmtpbmQ9PT1cImxvb3BcIil8fGUubGFiZWwmJmkpKWJyZWFrfXJldHVybiBzPT09dGhpcy5sYWJlbHMubGVuZ3RoJiZ0aGlzLnJhaXNlKGUuc3RhcnQsXCJVbnN5bnRhY3RpYyBcIit0KSx0aGlzLmZpbmlzaE5vZGUoZSxpP1wiQnJlYWtTdGF0ZW1lbnRcIjpcIkNvbnRpbnVlU3RhdGVtZW50XCIpfTtsLnBhcnNlRGVidWdnZXJTdGF0ZW1lbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMuc2VtaWNvbG9uKCksdGhpcy5maW5pc2hOb2RlKGUsXCJEZWJ1Z2dlclN0YXRlbWVudFwiKX07bC5wYXJzZURvU3RhdGVtZW50PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm5leHQoKSx0aGlzLmxhYmVscy5wdXNoKFVlKSxlLmJvZHk9dGhpcy5wYXJzZVN0YXRlbWVudChcImRvXCIpLHRoaXMubGFiZWxzLnBvcCgpLHRoaXMuZXhwZWN0KGEuX3doaWxlKSxlLnRlc3Q9dGhpcy5wYXJzZVBhcmVuRXhwcmVzc2lvbigpLHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49Nj90aGlzLmVhdChhLnNlbWkpOnRoaXMuc2VtaWNvbG9uKCksdGhpcy5maW5pc2hOb2RlKGUsXCJEb1doaWxlU3RhdGVtZW50XCIpfTtsLnBhcnNlRm9yU3RhdGVtZW50PWZ1bmN0aW9uKGUpe3RoaXMubmV4dCgpO3ZhciB0PXRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49OSYmdGhpcy5jYW5Bd2FpdCYmdGhpcy5lYXRDb250ZXh0dWFsKFwiYXdhaXRcIik/dGhpcy5sYXN0VG9rU3RhcnQ6LTE7aWYodGhpcy5sYWJlbHMucHVzaChVZSksdGhpcy5lbnRlclNjb3BlKDApLHRoaXMuZXhwZWN0KGEucGFyZW5MKSx0aGlzLnR5cGU9PT1hLnNlbWkpcmV0dXJuIHQ+LTEmJnRoaXMudW5leHBlY3RlZCh0KSx0aGlzLnBhcnNlRm9yKGUsbnVsbCk7dmFyIGk9dGhpcy5pc0xldCgpO2lmKHRoaXMudHlwZT09PWEuX3Zhcnx8dGhpcy50eXBlPT09YS5fY29uc3R8fGkpe3ZhciBzPXRoaXMuc3RhcnROb2RlKCkscj1pP1wibGV0XCI6dGhpcy52YWx1ZTtyZXR1cm4gdGhpcy5uZXh0KCksdGhpcy5wYXJzZVZhcihzLCEwLHIpLHRoaXMuZmluaXNoTm9kZShzLFwiVmFyaWFibGVEZWNsYXJhdGlvblwiKSwodGhpcy50eXBlPT09YS5faW58fHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49NiYmdGhpcy5pc0NvbnRleHR1YWwoXCJvZlwiKSkmJnMuZGVjbGFyYXRpb25zLmxlbmd0aD09PTE/KHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49OSYmKHRoaXMudHlwZT09PWEuX2luP3Q+LTEmJnRoaXMudW5leHBlY3RlZCh0KTplLmF3YWl0PXQ+LTEpLHRoaXMucGFyc2VGb3JJbihlLHMpKToodD4tMSYmdGhpcy51bmV4cGVjdGVkKHQpLHRoaXMucGFyc2VGb3IoZSxzKSl9dmFyIG49dGhpcy5pc0NvbnRleHR1YWwoXCJsZXRcIiksbz0hMSx1PXRoaXMuY29udGFpbnNFc2MscD1uZXcgeWUsZD10aGlzLnN0YXJ0LGY9dD4tMT90aGlzLnBhcnNlRXhwclN1YnNjcmlwdHMocCxcImF3YWl0XCIpOnRoaXMucGFyc2VFeHByZXNzaW9uKCEwLHApO3JldHVybiB0aGlzLnR5cGU9PT1hLl9pbnx8KG89dGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj02JiZ0aGlzLmlzQ29udGV4dHVhbChcIm9mXCIpKT8odD4tMT8odGhpcy50eXBlPT09YS5faW4mJnRoaXMudW5leHBlY3RlZCh0KSxlLmF3YWl0PSEwKTpvJiZ0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTgmJihmLnN0YXJ0PT09ZCYmIXUmJmYudHlwZT09PVwiSWRlbnRpZmllclwiJiZmLm5hbWU9PT1cImFzeW5jXCI/dGhpcy51bmV4cGVjdGVkKCk6dGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj05JiYoZS5hd2FpdD0hMSkpLG4mJm8mJnRoaXMucmFpc2UoZi5zdGFydCxcIlRoZSBsZWZ0LWhhbmQgc2lkZSBvZiBhIGZvci1vZiBsb29wIG1heSBub3Qgc3RhcnQgd2l0aCAnbGV0Jy5cIiksdGhpcy50b0Fzc2lnbmFibGUoZiwhMSxwKSx0aGlzLmNoZWNrTFZhbFBhdHRlcm4oZiksdGhpcy5wYXJzZUZvckluKGUsZikpOih0aGlzLmNoZWNrRXhwcmVzc2lvbkVycm9ycyhwLCEwKSx0Pi0xJiZ0aGlzLnVuZXhwZWN0ZWQodCksdGhpcy5wYXJzZUZvcihlLGYpKX07bC5wYXJzZUZ1bmN0aW9uU3RhdGVtZW50PWZ1bmN0aW9uKGUsdCxpKXtyZXR1cm4gdGhpcy5uZXh0KCksdGhpcy5wYXJzZUZ1bmN0aW9uKGUsdGV8KGk/MDpMZSksITEsdCl9O2wucGFyc2VJZlN0YXRlbWVudD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5uZXh0KCksZS50ZXN0PXRoaXMucGFyc2VQYXJlbkV4cHJlc3Npb24oKSxlLmNvbnNlcXVlbnQ9dGhpcy5wYXJzZVN0YXRlbWVudChcImlmXCIpLGUuYWx0ZXJuYXRlPXRoaXMuZWF0KGEuX2Vsc2UpP3RoaXMucGFyc2VTdGF0ZW1lbnQoXCJpZlwiKTpudWxsLHRoaXMuZmluaXNoTm9kZShlLFwiSWZTdGF0ZW1lbnRcIil9O2wucGFyc2VSZXR1cm5TdGF0ZW1lbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIXRoaXMuaW5GdW5jdGlvbiYmIXRoaXMub3B0aW9ucy5hbGxvd1JldHVybk91dHNpZGVGdW5jdGlvbiYmdGhpcy5yYWlzZSh0aGlzLnN0YXJ0LFwiJ3JldHVybicgb3V0c2lkZSBvZiBmdW5jdGlvblwiKSx0aGlzLm5leHQoKSx0aGlzLmVhdChhLnNlbWkpfHx0aGlzLmluc2VydFNlbWljb2xvbigpP2UuYXJndW1lbnQ9bnVsbDooZS5hcmd1bWVudD10aGlzLnBhcnNlRXhwcmVzc2lvbigpLHRoaXMuc2VtaWNvbG9uKCkpLHRoaXMuZmluaXNoTm9kZShlLFwiUmV0dXJuU3RhdGVtZW50XCIpfTtsLnBhcnNlU3dpdGNoU3RhdGVtZW50PWZ1bmN0aW9uKGUpe3RoaXMubmV4dCgpLGUuZGlzY3JpbWluYW50PXRoaXMucGFyc2VQYXJlbkV4cHJlc3Npb24oKSxlLmNhc2VzPVtdLHRoaXMuZXhwZWN0KGEuYnJhY2VMKSx0aGlzLmxhYmVscy5wdXNoKFJpKSx0aGlzLmVudGVyU2NvcGUoMCk7Zm9yKHZhciB0LGk9ITE7dGhpcy50eXBlIT09YS5icmFjZVI7KWlmKHRoaXMudHlwZT09PWEuX2Nhc2V8fHRoaXMudHlwZT09PWEuX2RlZmF1bHQpe3ZhciBzPXRoaXMudHlwZT09PWEuX2Nhc2U7dCYmdGhpcy5maW5pc2hOb2RlKHQsXCJTd2l0Y2hDYXNlXCIpLGUuY2FzZXMucHVzaCh0PXRoaXMuc3RhcnROb2RlKCkpLHQuY29uc2VxdWVudD1bXSx0aGlzLm5leHQoKSxzP3QudGVzdD10aGlzLnBhcnNlRXhwcmVzc2lvbigpOihpJiZ0aGlzLnJhaXNlUmVjb3ZlcmFibGUodGhpcy5sYXN0VG9rU3RhcnQsXCJNdWx0aXBsZSBkZWZhdWx0IGNsYXVzZXNcIiksaT0hMCx0LnRlc3Q9bnVsbCksdGhpcy5leHBlY3QoYS5jb2xvbil9ZWxzZSB0fHx0aGlzLnVuZXhwZWN0ZWQoKSx0LmNvbnNlcXVlbnQucHVzaCh0aGlzLnBhcnNlU3RhdGVtZW50KG51bGwpKTtyZXR1cm4gdGhpcy5leGl0U2NvcGUoKSx0JiZ0aGlzLmZpbmlzaE5vZGUodCxcIlN3aXRjaENhc2VcIiksdGhpcy5uZXh0KCksdGhpcy5sYWJlbHMucG9wKCksdGhpcy5maW5pc2hOb2RlKGUsXCJTd2l0Y2hTdGF0ZW1lbnRcIil9O2wucGFyc2VUaHJvd1N0YXRlbWVudD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5uZXh0KCksTC50ZXN0KHRoaXMuaW5wdXQuc2xpY2UodGhpcy5sYXN0VG9rRW5kLHRoaXMuc3RhcnQpKSYmdGhpcy5yYWlzZSh0aGlzLmxhc3RUb2tFbmQsXCJJbGxlZ2FsIG5ld2xpbmUgYWZ0ZXIgdGhyb3dcIiksZS5hcmd1bWVudD10aGlzLnBhcnNlRXhwcmVzc2lvbigpLHRoaXMuc2VtaWNvbG9uKCksdGhpcy5maW5pc2hOb2RlKGUsXCJUaHJvd1N0YXRlbWVudFwiKX07dmFyIE9pPVtdO2wucGFyc2VDYXRjaENsYXVzZVBhcmFtPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5wYXJzZUJpbmRpbmdBdG9tKCksdD1lLnR5cGU9PT1cIklkZW50aWZpZXJcIjtyZXR1cm4gdGhpcy5lbnRlclNjb3BlKHQ/ZHQ6MCksdGhpcy5jaGVja0xWYWxQYXR0ZXJuKGUsdD95dDpHKSx0aGlzLmV4cGVjdChhLnBhcmVuUiksZX07bC5wYXJzZVRyeVN0YXRlbWVudD1mdW5jdGlvbihlKXtpZih0aGlzLm5leHQoKSxlLmJsb2NrPXRoaXMucGFyc2VCbG9jaygpLGUuaGFuZGxlcj1udWxsLHRoaXMudHlwZT09PWEuX2NhdGNoKXt2YXIgdD10aGlzLnN0YXJ0Tm9kZSgpO3RoaXMubmV4dCgpLHRoaXMuZWF0KGEucGFyZW5MKT90LnBhcmFtPXRoaXMucGFyc2VDYXRjaENsYXVzZVBhcmFtKCk6KHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbjwxMCYmdGhpcy51bmV4cGVjdGVkKCksdC5wYXJhbT1udWxsLHRoaXMuZW50ZXJTY29wZSgwKSksdC5ib2R5PXRoaXMucGFyc2VCbG9jayghMSksdGhpcy5leGl0U2NvcGUoKSxlLmhhbmRsZXI9dGhpcy5maW5pc2hOb2RlKHQsXCJDYXRjaENsYXVzZVwiKX1yZXR1cm4gZS5maW5hbGl6ZXI9dGhpcy5lYXQoYS5fZmluYWxseSk/dGhpcy5wYXJzZUJsb2NrKCk6bnVsbCwhZS5oYW5kbGVyJiYhZS5maW5hbGl6ZXImJnRoaXMucmFpc2UoZS5zdGFydCxcIk1pc3NpbmcgY2F0Y2ggb3IgZmluYWxseSBjbGF1c2VcIiksdGhpcy5maW5pc2hOb2RlKGUsXCJUcnlTdGF0ZW1lbnRcIil9O2wucGFyc2VWYXJTdGF0ZW1lbnQ9ZnVuY3Rpb24oZSx0LGkpe3JldHVybiB0aGlzLm5leHQoKSx0aGlzLnBhcnNlVmFyKGUsITEsdCxpKSx0aGlzLnNlbWljb2xvbigpLHRoaXMuZmluaXNoTm9kZShlLFwiVmFyaWFibGVEZWNsYXJhdGlvblwiKX07bC5wYXJzZVdoaWxlU3RhdGVtZW50PWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm5leHQoKSxlLnRlc3Q9dGhpcy5wYXJzZVBhcmVuRXhwcmVzc2lvbigpLHRoaXMubGFiZWxzLnB1c2goVWUpLGUuYm9keT10aGlzLnBhcnNlU3RhdGVtZW50KFwid2hpbGVcIiksdGhpcy5sYWJlbHMucG9wKCksdGhpcy5maW5pc2hOb2RlKGUsXCJXaGlsZVN0YXRlbWVudFwiKX07bC5wYXJzZVdpdGhTdGF0ZW1lbnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMuc3RyaWN0JiZ0aGlzLnJhaXNlKHRoaXMuc3RhcnQsXCInd2l0aCcgaW4gc3RyaWN0IG1vZGVcIiksdGhpcy5uZXh0KCksZS5vYmplY3Q9dGhpcy5wYXJzZVBhcmVuRXhwcmVzc2lvbigpLGUuYm9keT10aGlzLnBhcnNlU3RhdGVtZW50KFwid2l0aFwiKSx0aGlzLmZpbmlzaE5vZGUoZSxcIldpdGhTdGF0ZW1lbnRcIil9O2wucGFyc2VFbXB0eVN0YXRlbWVudD1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5uZXh0KCksdGhpcy5maW5pc2hOb2RlKGUsXCJFbXB0eVN0YXRlbWVudFwiKX07bC5wYXJzZUxhYmVsZWRTdGF0ZW1lbnQ9ZnVuY3Rpb24oZSx0LGkscyl7Zm9yKHZhciByPTAsbj10aGlzLmxhYmVscztyPG4ubGVuZ3RoO3IrPTEpe3ZhciBvPW5bcl07by5uYW1lPT09dCYmdGhpcy5yYWlzZShpLnN0YXJ0LFwiTGFiZWwgJ1wiK3QrXCInIGlzIGFscmVhZHkgZGVjbGFyZWRcIil9Zm9yKHZhciB1PXRoaXMudHlwZS5pc0xvb3A/XCJsb29wXCI6dGhpcy50eXBlPT09YS5fc3dpdGNoP1wic3dpdGNoXCI6bnVsbCxwPXRoaXMubGFiZWxzLmxlbmd0aC0xO3A+PTA7cC0tKXt2YXIgZD10aGlzLmxhYmVsc1twXTtpZihkLnN0YXRlbWVudFN0YXJ0PT09ZS5zdGFydClkLnN0YXRlbWVudFN0YXJ0PXRoaXMuc3RhcnQsZC5raW5kPXU7ZWxzZSBicmVha31yZXR1cm4gdGhpcy5sYWJlbHMucHVzaCh7bmFtZTp0LGtpbmQ6dSxzdGF0ZW1lbnRTdGFydDp0aGlzLnN0YXJ0fSksZS5ib2R5PXRoaXMucGFyc2VTdGF0ZW1lbnQocz9zLmluZGV4T2YoXCJsYWJlbFwiKT09PS0xP3MrXCJsYWJlbFwiOnM6XCJsYWJlbFwiKSx0aGlzLmxhYmVscy5wb3AoKSxlLmxhYmVsPWksdGhpcy5maW5pc2hOb2RlKGUsXCJMYWJlbGVkU3RhdGVtZW50XCIpfTtsLnBhcnNlRXhwcmVzc2lvblN0YXRlbWVudD1mdW5jdGlvbihlLHQpe3JldHVybiBlLmV4cHJlc3Npb249dCx0aGlzLnNlbWljb2xvbigpLHRoaXMuZmluaXNoTm9kZShlLFwiRXhwcmVzc2lvblN0YXRlbWVudFwiKX07bC5wYXJzZUJsb2NrPWZ1bmN0aW9uKGUsdCxpKXtmb3IoZT09PXZvaWQgMCYmKGU9ITApLHQ9PT12b2lkIDAmJih0PXRoaXMuc3RhcnROb2RlKCkpLHQuYm9keT1bXSx0aGlzLmV4cGVjdChhLmJyYWNlTCksZSYmdGhpcy5lbnRlclNjb3BlKDApO3RoaXMudHlwZSE9PWEuYnJhY2VSOyl7dmFyIHM9dGhpcy5wYXJzZVN0YXRlbWVudChudWxsKTt0LmJvZHkucHVzaChzKX1yZXR1cm4gaSYmKHRoaXMuc3RyaWN0PSExKSx0aGlzLm5leHQoKSxlJiZ0aGlzLmV4aXRTY29wZSgpLHRoaXMuZmluaXNoTm9kZSh0LFwiQmxvY2tTdGF0ZW1lbnRcIil9O2wucGFyc2VGb3I9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5pbml0PXQsdGhpcy5leHBlY3QoYS5zZW1pKSxlLnRlc3Q9dGhpcy50eXBlPT09YS5zZW1pP251bGw6dGhpcy5wYXJzZUV4cHJlc3Npb24oKSx0aGlzLmV4cGVjdChhLnNlbWkpLGUudXBkYXRlPXRoaXMudHlwZT09PWEucGFyZW5SP251bGw6dGhpcy5wYXJzZUV4cHJlc3Npb24oKSx0aGlzLmV4cGVjdChhLnBhcmVuUiksZS5ib2R5PXRoaXMucGFyc2VTdGF0ZW1lbnQoXCJmb3JcIiksdGhpcy5leGl0U2NvcGUoKSx0aGlzLmxhYmVscy5wb3AoKSx0aGlzLmZpbmlzaE5vZGUoZSxcIkZvclN0YXRlbWVudFwiKX07bC5wYXJzZUZvckluPWZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy50eXBlPT09YS5faW47cmV0dXJuIHRoaXMubmV4dCgpLHQudHlwZT09PVwiVmFyaWFibGVEZWNsYXJhdGlvblwiJiZ0LmRlY2xhcmF0aW9uc1swXS5pbml0IT1udWxsJiYoIWl8fHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbjw4fHx0aGlzLnN0cmljdHx8dC5raW5kIT09XCJ2YXJcInx8dC5kZWNsYXJhdGlvbnNbMF0uaWQudHlwZSE9PVwiSWRlbnRpZmllclwiKSYmdGhpcy5yYWlzZSh0LnN0YXJ0LChpP1wiZm9yLWluXCI6XCJmb3Itb2ZcIikrXCIgbG9vcCB2YXJpYWJsZSBkZWNsYXJhdGlvbiBtYXkgbm90IGhhdmUgYW4gaW5pdGlhbGl6ZXJcIiksZS5sZWZ0PXQsZS5yaWdodD1pP3RoaXMucGFyc2VFeHByZXNzaW9uKCk6dGhpcy5wYXJzZU1heWJlQXNzaWduKCksdGhpcy5leHBlY3QoYS5wYXJlblIpLGUuYm9keT10aGlzLnBhcnNlU3RhdGVtZW50KFwiZm9yXCIpLHRoaXMuZXhpdFNjb3BlKCksdGhpcy5sYWJlbHMucG9wKCksdGhpcy5maW5pc2hOb2RlKGUsaT9cIkZvckluU3RhdGVtZW50XCI6XCJGb3JPZlN0YXRlbWVudFwiKX07bC5wYXJzZVZhcj1mdW5jdGlvbihlLHQsaSxzKXtmb3IoZS5kZWNsYXJhdGlvbnM9W10sZS5raW5kPWk7Oyl7dmFyIHI9dGhpcy5zdGFydE5vZGUoKTtpZih0aGlzLnBhcnNlVmFySWQocixpKSx0aGlzLmVhdChhLmVxKT9yLmluaXQ9dGhpcy5wYXJzZU1heWJlQXNzaWduKHQpOiFzJiZpPT09XCJjb25zdFwiJiYhKHRoaXMudHlwZT09PWEuX2lufHx0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTYmJnRoaXMuaXNDb250ZXh0dWFsKFwib2ZcIikpP3RoaXMudW5leHBlY3RlZCgpOiFzJiZyLmlkLnR5cGUhPT1cIklkZW50aWZpZXJcIiYmISh0JiYodGhpcy50eXBlPT09YS5faW58fHRoaXMuaXNDb250ZXh0dWFsKFwib2ZcIikpKT90aGlzLnJhaXNlKHRoaXMubGFzdFRva0VuZCxcIkNvbXBsZXggYmluZGluZyBwYXR0ZXJucyByZXF1aXJlIGFuIGluaXRpYWxpemF0aW9uIHZhbHVlXCIpOnIuaW5pdD1udWxsLGUuZGVjbGFyYXRpb25zLnB1c2godGhpcy5maW5pc2hOb2RlKHIsXCJWYXJpYWJsZURlY2xhcmF0b3JcIikpLCF0aGlzLmVhdChhLmNvbW1hKSlicmVha31yZXR1cm4gZX07bC5wYXJzZVZhcklkPWZ1bmN0aW9uKGUsdCl7ZS5pZD10aGlzLnBhcnNlQmluZGluZ0F0b20oKSx0aGlzLmNoZWNrTFZhbFBhdHRlcm4oZS5pZCx0PT09XCJ2YXJcIj9NZTpHLCExKX07dmFyIHRlPTEsTGU9Mix2dD00O2wucGFyc2VGdW5jdGlvbj1mdW5jdGlvbihlLHQsaSxzLHIpe3RoaXMuaW5pdEZ1bmN0aW9uKGUpLCh0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTl8fHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49NiYmIXMpJiYodGhpcy50eXBlPT09YS5zdGFyJiZ0JkxlJiZ0aGlzLnVuZXhwZWN0ZWQoKSxlLmdlbmVyYXRvcj10aGlzLmVhdChhLnN0YXIpKSx0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTgmJihlLmFzeW5jPSEhcyksdCZ0ZSYmKGUuaWQ9dCZ2dCYmdGhpcy50eXBlIT09YS5uYW1lP251bGw6dGhpcy5wYXJzZUlkZW50KCksZS5pZCYmISh0JkxlKSYmdGhpcy5jaGVja0xWYWxTaW1wbGUoZS5pZCx0aGlzLnN0cmljdHx8ZS5nZW5lcmF0b3J8fGUuYXN5bmM/dGhpcy50cmVhdEZ1bmN0aW9uc0FzVmFyP01lOkc6eHQpKTt2YXIgbj10aGlzLnlpZWxkUG9zLG89dGhpcy5hd2FpdFBvcyx1PXRoaXMuYXdhaXRJZGVudFBvcztyZXR1cm4gdGhpcy55aWVsZFBvcz0wLHRoaXMuYXdhaXRQb3M9MCx0aGlzLmF3YWl0SWRlbnRQb3M9MCx0aGlzLmVudGVyU2NvcGUoamUoZS5hc3luYyxlLmdlbmVyYXRvcikpLHQmdGV8fChlLmlkPXRoaXMudHlwZT09PWEubmFtZT90aGlzLnBhcnNlSWRlbnQoKTpudWxsKSx0aGlzLnBhcnNlRnVuY3Rpb25QYXJhbXMoZSksdGhpcy5wYXJzZUZ1bmN0aW9uQm9keShlLGksITEsciksdGhpcy55aWVsZFBvcz1uLHRoaXMuYXdhaXRQb3M9byx0aGlzLmF3YWl0SWRlbnRQb3M9dSx0aGlzLmZpbmlzaE5vZGUoZSx0JnRlP1wiRnVuY3Rpb25EZWNsYXJhdGlvblwiOlwiRnVuY3Rpb25FeHByZXNzaW9uXCIpfTtsLnBhcnNlRnVuY3Rpb25QYXJhbXM9ZnVuY3Rpb24oZSl7dGhpcy5leHBlY3QoYS5wYXJlbkwpLGUucGFyYW1zPXRoaXMucGFyc2VCaW5kaW5nTGlzdChhLnBhcmVuUiwhMSx0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTgpLHRoaXMuY2hlY2tZaWVsZEF3YWl0SW5EZWZhdWx0UGFyYW1zKCl9O2wucGFyc2VDbGFzcz1mdW5jdGlvbihlLHQpe3RoaXMubmV4dCgpO3ZhciBpPXRoaXMuc3RyaWN0O3RoaXMuc3RyaWN0PSEwLHRoaXMucGFyc2VDbGFzc0lkKGUsdCksdGhpcy5wYXJzZUNsYXNzU3VwZXIoZSk7dmFyIHM9dGhpcy5lbnRlckNsYXNzQm9keSgpLHI9dGhpcy5zdGFydE5vZGUoKSxuPSExO2ZvcihyLmJvZHk9W10sdGhpcy5leHBlY3QoYS5icmFjZUwpO3RoaXMudHlwZSE9PWEuYnJhY2VSOyl7dmFyIG89dGhpcy5wYXJzZUNsYXNzRWxlbWVudChlLnN1cGVyQ2xhc3MhPT1udWxsKTtvJiYoci5ib2R5LnB1c2gobyksby50eXBlPT09XCJNZXRob2REZWZpbml0aW9uXCImJm8ua2luZD09PVwiY29uc3RydWN0b3JcIj8obiYmdGhpcy5yYWlzZVJlY292ZXJhYmxlKG8uc3RhcnQsXCJEdXBsaWNhdGUgY29uc3RydWN0b3IgaW4gdGhlIHNhbWUgY2xhc3NcIiksbj0hMCk6by5rZXkmJm8ua2V5LnR5cGU9PT1cIlByaXZhdGVJZGVudGlmaWVyXCImJkJpKHMsbykmJnRoaXMucmFpc2VSZWNvdmVyYWJsZShvLmtleS5zdGFydCxcIklkZW50aWZpZXIgJyNcIitvLmtleS5uYW1lK1wiJyBoYXMgYWxyZWFkeSBiZWVuIGRlY2xhcmVkXCIpKX1yZXR1cm4gdGhpcy5zdHJpY3Q9aSx0aGlzLm5leHQoKSxlLmJvZHk9dGhpcy5maW5pc2hOb2RlKHIsXCJDbGFzc0JvZHlcIiksdGhpcy5leGl0Q2xhc3NCb2R5KCksdGhpcy5maW5pc2hOb2RlKGUsdD9cIkNsYXNzRGVjbGFyYXRpb25cIjpcIkNsYXNzRXhwcmVzc2lvblwiKX07bC5wYXJzZUNsYXNzRWxlbWVudD1mdW5jdGlvbihlKXtpZih0aGlzLmVhdChhLnNlbWkpKXJldHVybiBudWxsO3ZhciB0PXRoaXMub3B0aW9ucy5lY21hVmVyc2lvbixpPXRoaXMuc3RhcnROb2RlKCkscz1cIlwiLHI9ITEsbj0hMSxvPVwibWV0aG9kXCIsdT0hMTtpZih0aGlzLmVhdENvbnRleHR1YWwoXCJzdGF0aWNcIikpe2lmKHQ+PTEzJiZ0aGlzLmVhdChhLmJyYWNlTCkpcmV0dXJuIHRoaXMucGFyc2VDbGFzc1N0YXRpY0Jsb2NrKGkpLGk7dGhpcy5pc0NsYXNzRWxlbWVudE5hbWVTdGFydCgpfHx0aGlzLnR5cGU9PT1hLnN0YXI/dT0hMDpzPVwic3RhdGljXCJ9aWYoaS5zdGF0aWM9dSwhcyYmdD49OCYmdGhpcy5lYXRDb250ZXh0dWFsKFwiYXN5bmNcIikmJigodGhpcy5pc0NsYXNzRWxlbWVudE5hbWVTdGFydCgpfHx0aGlzLnR5cGU9PT1hLnN0YXIpJiYhdGhpcy5jYW5JbnNlcnRTZW1pY29sb24oKT9uPSEwOnM9XCJhc3luY1wiKSwhcyYmKHQ+PTl8fCFuKSYmdGhpcy5lYXQoYS5zdGFyKSYmKHI9ITApLCFzJiYhbiYmIXIpe3ZhciBwPXRoaXMudmFsdWU7KHRoaXMuZWF0Q29udGV4dHVhbChcImdldFwiKXx8dGhpcy5lYXRDb250ZXh0dWFsKFwic2V0XCIpKSYmKHRoaXMuaXNDbGFzc0VsZW1lbnROYW1lU3RhcnQoKT9vPXA6cz1wKX1pZihzPyhpLmNvbXB1dGVkPSExLGkua2V5PXRoaXMuc3RhcnROb2RlQXQodGhpcy5sYXN0VG9rU3RhcnQsdGhpcy5sYXN0VG9rU3RhcnRMb2MpLGkua2V5Lm5hbWU9cyx0aGlzLmZpbmlzaE5vZGUoaS5rZXksXCJJZGVudGlmaWVyXCIpKTp0aGlzLnBhcnNlQ2xhc3NFbGVtZW50TmFtZShpKSx0PDEzfHx0aGlzLnR5cGU9PT1hLnBhcmVuTHx8byE9PVwibWV0aG9kXCJ8fHJ8fG4pe3ZhciBkPSFpLnN0YXRpYyYmZmUoaSxcImNvbnN0cnVjdG9yXCIpLGY9ZCYmZTtkJiZvIT09XCJtZXRob2RcIiYmdGhpcy5yYWlzZShpLmtleS5zdGFydCxcIkNvbnN0cnVjdG9yIGNhbid0IGhhdmUgZ2V0L3NldCBtb2RpZmllclwiKSxpLmtpbmQ9ZD9cImNvbnN0cnVjdG9yXCI6byx0aGlzLnBhcnNlQ2xhc3NNZXRob2QoaSxyLG4sZil9ZWxzZSB0aGlzLnBhcnNlQ2xhc3NGaWVsZChpKTtyZXR1cm4gaX07bC5pc0NsYXNzRWxlbWVudE5hbWVTdGFydD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnR5cGU9PT1hLm5hbWV8fHRoaXMudHlwZT09PWEucHJpdmF0ZUlkfHx0aGlzLnR5cGU9PT1hLm51bXx8dGhpcy50eXBlPT09YS5zdHJpbmd8fHRoaXMudHlwZT09PWEuYnJhY2tldEx8fHRoaXMudHlwZS5rZXl3b3JkfTtsLnBhcnNlQ2xhc3NFbGVtZW50TmFtZT1mdW5jdGlvbihlKXt0aGlzLnR5cGU9PT1hLnByaXZhdGVJZD8odGhpcy52YWx1ZT09PVwiY29uc3RydWN0b3JcIiYmdGhpcy5yYWlzZSh0aGlzLnN0YXJ0LFwiQ2xhc3NlcyBjYW4ndCBoYXZlIGFuIGVsZW1lbnQgbmFtZWQgJyNjb25zdHJ1Y3RvcidcIiksZS5jb21wdXRlZD0hMSxlLmtleT10aGlzLnBhcnNlUHJpdmF0ZUlkZW50KCkpOnRoaXMucGFyc2VQcm9wZXJ0eU5hbWUoZSl9O2wucGFyc2VDbGFzc01ldGhvZD1mdW5jdGlvbihlLHQsaSxzKXt2YXIgcj1lLmtleTtlLmtpbmQ9PT1cImNvbnN0cnVjdG9yXCI/KHQmJnRoaXMucmFpc2Uoci5zdGFydCxcIkNvbnN0cnVjdG9yIGNhbid0IGJlIGEgZ2VuZXJhdG9yXCIpLGkmJnRoaXMucmFpc2Uoci5zdGFydCxcIkNvbnN0cnVjdG9yIGNhbid0IGJlIGFuIGFzeW5jIG1ldGhvZFwiKSk6ZS5zdGF0aWMmJmZlKGUsXCJwcm90b3R5cGVcIikmJnRoaXMucmFpc2Uoci5zdGFydCxcIkNsYXNzZXMgbWF5IG5vdCBoYXZlIGEgc3RhdGljIHByb3BlcnR5IG5hbWVkIHByb3RvdHlwZVwiKTt2YXIgbj1lLnZhbHVlPXRoaXMucGFyc2VNZXRob2QodCxpLHMpO3JldHVybiBlLmtpbmQ9PT1cImdldFwiJiZuLnBhcmFtcy5sZW5ndGghPT0wJiZ0aGlzLnJhaXNlUmVjb3ZlcmFibGUobi5zdGFydCxcImdldHRlciBzaG91bGQgaGF2ZSBubyBwYXJhbXNcIiksZS5raW5kPT09XCJzZXRcIiYmbi5wYXJhbXMubGVuZ3RoIT09MSYmdGhpcy5yYWlzZVJlY292ZXJhYmxlKG4uc3RhcnQsXCJzZXR0ZXIgc2hvdWxkIGhhdmUgZXhhY3RseSBvbmUgcGFyYW1cIiksZS5raW5kPT09XCJzZXRcIiYmbi5wYXJhbXNbMF0udHlwZT09PVwiUmVzdEVsZW1lbnRcIiYmdGhpcy5yYWlzZVJlY292ZXJhYmxlKG4ucGFyYW1zWzBdLnN0YXJ0LFwiU2V0dGVyIGNhbm5vdCB1c2UgcmVzdCBwYXJhbXNcIiksdGhpcy5maW5pc2hOb2RlKGUsXCJNZXRob2REZWZpbml0aW9uXCIpfTtsLnBhcnNlQ2xhc3NGaWVsZD1mdW5jdGlvbihlKXtpZihmZShlLFwiY29uc3RydWN0b3JcIik/dGhpcy5yYWlzZShlLmtleS5zdGFydCxcIkNsYXNzZXMgY2FuJ3QgaGF2ZSBhIGZpZWxkIG5hbWVkICdjb25zdHJ1Y3RvcidcIik6ZS5zdGF0aWMmJmZlKGUsXCJwcm90b3R5cGVcIikmJnRoaXMucmFpc2UoZS5rZXkuc3RhcnQsXCJDbGFzc2VzIGNhbid0IGhhdmUgYSBzdGF0aWMgZmllbGQgbmFtZWQgJ3Byb3RvdHlwZSdcIiksdGhpcy5lYXQoYS5lcSkpe3ZhciB0PXRoaXMuY3VycmVudFRoaXNTY29wZSgpLGk9dC5pbkNsYXNzRmllbGRJbml0O3QuaW5DbGFzc0ZpZWxkSW5pdD0hMCxlLnZhbHVlPXRoaXMucGFyc2VNYXliZUFzc2lnbigpLHQuaW5DbGFzc0ZpZWxkSW5pdD1pfWVsc2UgZS52YWx1ZT1udWxsO3JldHVybiB0aGlzLnNlbWljb2xvbigpLHRoaXMuZmluaXNoTm9kZShlLFwiUHJvcGVydHlEZWZpbml0aW9uXCIpfTtsLnBhcnNlQ2xhc3NTdGF0aWNCbG9jaz1mdW5jdGlvbihlKXtlLmJvZHk9W107dmFyIHQ9dGhpcy5sYWJlbHM7Zm9yKHRoaXMubGFiZWxzPVtdLHRoaXMuZW50ZXJTY29wZShyZXxEZSk7dGhpcy50eXBlIT09YS5icmFjZVI7KXt2YXIgaT10aGlzLnBhcnNlU3RhdGVtZW50KG51bGwpO2UuYm9keS5wdXNoKGkpfXJldHVybiB0aGlzLm5leHQoKSx0aGlzLmV4aXRTY29wZSgpLHRoaXMubGFiZWxzPXQsdGhpcy5maW5pc2hOb2RlKGUsXCJTdGF0aWNCbG9ja1wiKX07bC5wYXJzZUNsYXNzSWQ9ZnVuY3Rpb24oZSx0KXt0aGlzLnR5cGU9PT1hLm5hbWU/KGUuaWQ9dGhpcy5wYXJzZUlkZW50KCksdCYmdGhpcy5jaGVja0xWYWxTaW1wbGUoZS5pZCxHLCExKSk6KHQ9PT0hMCYmdGhpcy51bmV4cGVjdGVkKCksZS5pZD1udWxsKX07bC5wYXJzZUNsYXNzU3VwZXI9ZnVuY3Rpb24oZSl7ZS5zdXBlckNsYXNzPXRoaXMuZWF0KGEuX2V4dGVuZHMpP3RoaXMucGFyc2VFeHByU3Vic2NyaXB0cyhudWxsLCExKTpudWxsfTtsLmVudGVyQ2xhc3NCb2R5PWZ1bmN0aW9uKCl7dmFyIGU9e2RlY2xhcmVkOk9iamVjdC5jcmVhdGUobnVsbCksdXNlZDpbXX07cmV0dXJuIHRoaXMucHJpdmF0ZU5hbWVTdGFjay5wdXNoKGUpLGUuZGVjbGFyZWR9O2wuZXhpdENsYXNzQm9keT1mdW5jdGlvbigpe3ZhciBlPXRoaXMucHJpdmF0ZU5hbWVTdGFjay5wb3AoKSx0PWUuZGVjbGFyZWQsaT1lLnVzZWQ7aWYodGhpcy5vcHRpb25zLmNoZWNrUHJpdmF0ZUZpZWxkcylmb3IodmFyIHM9dGhpcy5wcml2YXRlTmFtZVN0YWNrLmxlbmd0aCxyPXM9PT0wP251bGw6dGhpcy5wcml2YXRlTmFtZVN0YWNrW3MtMV0sbj0wO248aS5sZW5ndGg7KytuKXt2YXIgbz1pW25dO1kodCxvLm5hbWUpfHwocj9yLnVzZWQucHVzaChvKTp0aGlzLnJhaXNlUmVjb3ZlcmFibGUoby5zdGFydCxcIlByaXZhdGUgZmllbGQgJyNcIitvLm5hbWUrXCInIG11c3QgYmUgZGVjbGFyZWQgaW4gYW4gZW5jbG9zaW5nIGNsYXNzXCIpKX19O2Z1bmN0aW9uIEJpKGUsdCl7dmFyIGk9dC5rZXkubmFtZSxzPWVbaV0scj1cInRydWVcIjtyZXR1cm4gdC50eXBlPT09XCJNZXRob2REZWZpbml0aW9uXCImJih0LmtpbmQ9PT1cImdldFwifHx0LmtpbmQ9PT1cInNldFwiKSYmKHI9KHQuc3RhdGljP1wic1wiOlwiaVwiKSt0LmtpbmQpLHM9PT1cImlnZXRcIiYmcj09PVwiaXNldFwifHxzPT09XCJpc2V0XCImJnI9PT1cImlnZXRcInx8cz09PVwic2dldFwiJiZyPT09XCJzc2V0XCJ8fHM9PT1cInNzZXRcIiYmcj09PVwic2dldFwiPyhlW2ldPVwidHJ1ZVwiLCExKTpzPyEwOihlW2ldPXIsITEpfWZ1bmN0aW9uIGZlKGUsdCl7dmFyIGk9ZS5jb21wdXRlZCxzPWUua2V5O3JldHVybiFpJiYocy50eXBlPT09XCJJZGVudGlmaWVyXCImJnMubmFtZT09PXR8fHMudHlwZT09PVwiTGl0ZXJhbFwiJiZzLnZhbHVlPT09dCl9bC5wYXJzZUV4cG9ydEFsbERlY2xhcmF0aW9uPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49MTEmJih0aGlzLmVhdENvbnRleHR1YWwoXCJhc1wiKT8oZS5leHBvcnRlZD10aGlzLnBhcnNlTW9kdWxlRXhwb3J0TmFtZSgpLHRoaXMuY2hlY2tFeHBvcnQodCxlLmV4cG9ydGVkLHRoaXMubGFzdFRva1N0YXJ0KSk6ZS5leHBvcnRlZD1udWxsKSx0aGlzLmV4cGVjdENvbnRleHR1YWwoXCJmcm9tXCIpLHRoaXMudHlwZSE9PWEuc3RyaW5nJiZ0aGlzLnVuZXhwZWN0ZWQoKSxlLnNvdXJjZT10aGlzLnBhcnNlRXhwckF0b20oKSx0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTE2JiYoZS5hdHRyaWJ1dGVzPXRoaXMucGFyc2VXaXRoQ2xhdXNlKCkpLHRoaXMuc2VtaWNvbG9uKCksdGhpcy5maW5pc2hOb2RlKGUsXCJFeHBvcnRBbGxEZWNsYXJhdGlvblwiKX07bC5wYXJzZUV4cG9ydD1mdW5jdGlvbihlLHQpe2lmKHRoaXMubmV4dCgpLHRoaXMuZWF0KGEuc3RhcikpcmV0dXJuIHRoaXMucGFyc2VFeHBvcnRBbGxEZWNsYXJhdGlvbihlLHQpO2lmKHRoaXMuZWF0KGEuX2RlZmF1bHQpKXJldHVybiB0aGlzLmNoZWNrRXhwb3J0KHQsXCJkZWZhdWx0XCIsdGhpcy5sYXN0VG9rU3RhcnQpLGUuZGVjbGFyYXRpb249dGhpcy5wYXJzZUV4cG9ydERlZmF1bHREZWNsYXJhdGlvbigpLHRoaXMuZmluaXNoTm9kZShlLFwiRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXCIpO2lmKHRoaXMuc2hvdWxkUGFyc2VFeHBvcnRTdGF0ZW1lbnQoKSllLmRlY2xhcmF0aW9uPXRoaXMucGFyc2VFeHBvcnREZWNsYXJhdGlvbihlKSxlLmRlY2xhcmF0aW9uLnR5cGU9PT1cIlZhcmlhYmxlRGVjbGFyYXRpb25cIj90aGlzLmNoZWNrVmFyaWFibGVFeHBvcnQodCxlLmRlY2xhcmF0aW9uLmRlY2xhcmF0aW9ucyk6dGhpcy5jaGVja0V4cG9ydCh0LGUuZGVjbGFyYXRpb24uaWQsZS5kZWNsYXJhdGlvbi5pZC5zdGFydCksZS5zcGVjaWZpZXJzPVtdLGUuc291cmNlPW51bGw7ZWxzZXtpZihlLmRlY2xhcmF0aW9uPW51bGwsZS5zcGVjaWZpZXJzPXRoaXMucGFyc2VFeHBvcnRTcGVjaWZpZXJzKHQpLHRoaXMuZWF0Q29udGV4dHVhbChcImZyb21cIikpdGhpcy50eXBlIT09YS5zdHJpbmcmJnRoaXMudW5leHBlY3RlZCgpLGUuc291cmNlPXRoaXMucGFyc2VFeHByQXRvbSgpLHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49MTYmJihlLmF0dHJpYnV0ZXM9dGhpcy5wYXJzZVdpdGhDbGF1c2UoKSk7ZWxzZXtmb3IodmFyIGk9MCxzPWUuc3BlY2lmaWVycztpPHMubGVuZ3RoO2krPTEpe3ZhciByPXNbaV07dGhpcy5jaGVja1VucmVzZXJ2ZWQoci5sb2NhbCksdGhpcy5jaGVja0xvY2FsRXhwb3J0KHIubG9jYWwpLHIubG9jYWwudHlwZT09PVwiTGl0ZXJhbFwiJiZ0aGlzLnJhaXNlKHIubG9jYWwuc3RhcnQsXCJBIHN0cmluZyBsaXRlcmFsIGNhbm5vdCBiZSB1c2VkIGFzIGFuIGV4cG9ydGVkIGJpbmRpbmcgd2l0aG91dCBgZnJvbWAuXCIpfWUuc291cmNlPW51bGx9dGhpcy5zZW1pY29sb24oKX1yZXR1cm4gdGhpcy5maW5pc2hOb2RlKGUsXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIpfTtsLnBhcnNlRXhwb3J0RGVjbGFyYXRpb249ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucGFyc2VTdGF0ZW1lbnQobnVsbCl9O2wucGFyc2VFeHBvcnREZWZhdWx0RGVjbGFyYXRpb249ZnVuY3Rpb24oKXt2YXIgZTtpZih0aGlzLnR5cGU9PT1hLl9mdW5jdGlvbnx8KGU9dGhpcy5pc0FzeW5jRnVuY3Rpb24oKSkpe3ZhciB0PXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIHRoaXMubmV4dCgpLGUmJnRoaXMubmV4dCgpLHRoaXMucGFyc2VGdW5jdGlvbih0LHRlfHZ0LCExLGUpfWVsc2UgaWYodGhpcy50eXBlPT09YS5fY2xhc3Mpe3ZhciBpPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIHRoaXMucGFyc2VDbGFzcyhpLFwibnVsbGFibGVJRFwiKX1lbHNle3ZhciBzPXRoaXMucGFyc2VNYXliZUFzc2lnbigpO3JldHVybiB0aGlzLnNlbWljb2xvbigpLHN9fTtsLmNoZWNrRXhwb3J0PWZ1bmN0aW9uKGUsdCxpKXtlJiYodHlwZW9mIHQhPVwic3RyaW5nXCImJih0PXQudHlwZT09PVwiSWRlbnRpZmllclwiP3QubmFtZTp0LnZhbHVlKSxZKGUsdCkmJnRoaXMucmFpc2VSZWNvdmVyYWJsZShpLFwiRHVwbGljYXRlIGV4cG9ydCAnXCIrdCtcIidcIiksZVt0XT0hMCl9O2wuY2hlY2tQYXR0ZXJuRXhwb3J0PWZ1bmN0aW9uKGUsdCl7dmFyIGk9dC50eXBlO2lmKGk9PT1cIklkZW50aWZpZXJcIil0aGlzLmNoZWNrRXhwb3J0KGUsdCx0LnN0YXJ0KTtlbHNlIGlmKGk9PT1cIk9iamVjdFBhdHRlcm5cIilmb3IodmFyIHM9MCxyPXQucHJvcGVydGllcztzPHIubGVuZ3RoO3MrPTEpe3ZhciBuPXJbc107dGhpcy5jaGVja1BhdHRlcm5FeHBvcnQoZSxuKX1lbHNlIGlmKGk9PT1cIkFycmF5UGF0dGVyblwiKWZvcih2YXIgbz0wLHU9dC5lbGVtZW50cztvPHUubGVuZ3RoO28rPTEpe3ZhciBwPXVbb107cCYmdGhpcy5jaGVja1BhdHRlcm5FeHBvcnQoZSxwKX1lbHNlIGk9PT1cIlByb3BlcnR5XCI/dGhpcy5jaGVja1BhdHRlcm5FeHBvcnQoZSx0LnZhbHVlKTppPT09XCJBc3NpZ25tZW50UGF0dGVyblwiP3RoaXMuY2hlY2tQYXR0ZXJuRXhwb3J0KGUsdC5sZWZ0KTppPT09XCJSZXN0RWxlbWVudFwiJiZ0aGlzLmNoZWNrUGF0dGVybkV4cG9ydChlLHQuYXJndW1lbnQpfTtsLmNoZWNrVmFyaWFibGVFeHBvcnQ9ZnVuY3Rpb24oZSx0KXtpZihlKWZvcih2YXIgaT0wLHM9dDtpPHMubGVuZ3RoO2krPTEpe3ZhciByPXNbaV07dGhpcy5jaGVja1BhdHRlcm5FeHBvcnQoZSxyLmlkKX19O2wuc2hvdWxkUGFyc2VFeHBvcnRTdGF0ZW1lbnQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy50eXBlLmtleXdvcmQ9PT1cInZhclwifHx0aGlzLnR5cGUua2V5d29yZD09PVwiY29uc3RcInx8dGhpcy50eXBlLmtleXdvcmQ9PT1cImNsYXNzXCJ8fHRoaXMudHlwZS5rZXl3b3JkPT09XCJmdW5jdGlvblwifHx0aGlzLmlzTGV0KCl8fHRoaXMuaXNBc3luY0Z1bmN0aW9uKCl9O2wucGFyc2VFeHBvcnRTcGVjaWZpZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdC5sb2NhbD10aGlzLnBhcnNlTW9kdWxlRXhwb3J0TmFtZSgpLHQuZXhwb3J0ZWQ9dGhpcy5lYXRDb250ZXh0dWFsKFwiYXNcIik/dGhpcy5wYXJzZU1vZHVsZUV4cG9ydE5hbWUoKTp0LmxvY2FsLHRoaXMuY2hlY2tFeHBvcnQoZSx0LmV4cG9ydGVkLHQuZXhwb3J0ZWQuc3RhcnQpLHRoaXMuZmluaXNoTm9kZSh0LFwiRXhwb3J0U3BlY2lmaWVyXCIpfTtsLnBhcnNlRXhwb3J0U3BlY2lmaWVycz1mdW5jdGlvbihlKXt2YXIgdD1bXSxpPSEwO2Zvcih0aGlzLmV4cGVjdChhLmJyYWNlTCk7IXRoaXMuZWF0KGEuYnJhY2VSKTspe2lmKGkpaT0hMTtlbHNlIGlmKHRoaXMuZXhwZWN0KGEuY29tbWEpLHRoaXMuYWZ0ZXJUcmFpbGluZ0NvbW1hKGEuYnJhY2VSKSlicmVhazt0LnB1c2godGhpcy5wYXJzZUV4cG9ydFNwZWNpZmllcihlKSl9cmV0dXJuIHR9O2wucGFyc2VJbXBvcnQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMudHlwZT09PWEuc3RyaW5nPyhlLnNwZWNpZmllcnM9T2ksZS5zb3VyY2U9dGhpcy5wYXJzZUV4cHJBdG9tKCkpOihlLnNwZWNpZmllcnM9dGhpcy5wYXJzZUltcG9ydFNwZWNpZmllcnMoKSx0aGlzLmV4cGVjdENvbnRleHR1YWwoXCJmcm9tXCIpLGUuc291cmNlPXRoaXMudHlwZT09PWEuc3RyaW5nP3RoaXMucGFyc2VFeHByQXRvbSgpOnRoaXMudW5leHBlY3RlZCgpKSx0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTE2JiYoZS5hdHRyaWJ1dGVzPXRoaXMucGFyc2VXaXRoQ2xhdXNlKCkpLHRoaXMuc2VtaWNvbG9uKCksdGhpcy5maW5pc2hOb2RlKGUsXCJJbXBvcnREZWNsYXJhdGlvblwiKX07bC5wYXJzZUltcG9ydFNwZWNpZmllcj1mdW5jdGlvbigpe3ZhciBlPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIGUuaW1wb3J0ZWQ9dGhpcy5wYXJzZU1vZHVsZUV4cG9ydE5hbWUoKSx0aGlzLmVhdENvbnRleHR1YWwoXCJhc1wiKT9lLmxvY2FsPXRoaXMucGFyc2VJZGVudCgpOih0aGlzLmNoZWNrVW5yZXNlcnZlZChlLmltcG9ydGVkKSxlLmxvY2FsPWUuaW1wb3J0ZWQpLHRoaXMuY2hlY2tMVmFsU2ltcGxlKGUubG9jYWwsRyksdGhpcy5maW5pc2hOb2RlKGUsXCJJbXBvcnRTcGVjaWZpZXJcIil9O2wucGFyc2VJbXBvcnREZWZhdWx0U3BlY2lmaWVyPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gZS5sb2NhbD10aGlzLnBhcnNlSWRlbnQoKSx0aGlzLmNoZWNrTFZhbFNpbXBsZShlLmxvY2FsLEcpLHRoaXMuZmluaXNoTm9kZShlLFwiSW1wb3J0RGVmYXVsdFNwZWNpZmllclwiKX07bC5wYXJzZUltcG9ydE5hbWVzcGFjZVNwZWNpZmllcj1mdW5jdGlvbigpe3ZhciBlPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMuZXhwZWN0Q29udGV4dHVhbChcImFzXCIpLGUubG9jYWw9dGhpcy5wYXJzZUlkZW50KCksdGhpcy5jaGVja0xWYWxTaW1wbGUoZS5sb2NhbCxHKSx0aGlzLmZpbmlzaE5vZGUoZSxcIkltcG9ydE5hbWVzcGFjZVNwZWNpZmllclwiKX07bC5wYXJzZUltcG9ydFNwZWNpZmllcnM9ZnVuY3Rpb24oKXt2YXIgZT1bXSx0PSEwO2lmKHRoaXMudHlwZT09PWEubmFtZSYmKGUucHVzaCh0aGlzLnBhcnNlSW1wb3J0RGVmYXVsdFNwZWNpZmllcigpKSwhdGhpcy5lYXQoYS5jb21tYSkpKXJldHVybiBlO2lmKHRoaXMudHlwZT09PWEuc3RhcilyZXR1cm4gZS5wdXNoKHRoaXMucGFyc2VJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXIoKSksZTtmb3IodGhpcy5leHBlY3QoYS5icmFjZUwpOyF0aGlzLmVhdChhLmJyYWNlUik7KXtpZih0KXQ9ITE7ZWxzZSBpZih0aGlzLmV4cGVjdChhLmNvbW1hKSx0aGlzLmFmdGVyVHJhaWxpbmdDb21tYShhLmJyYWNlUikpYnJlYWs7ZS5wdXNoKHRoaXMucGFyc2VJbXBvcnRTcGVjaWZpZXIoKSl9cmV0dXJuIGV9O2wucGFyc2VXaXRoQ2xhdXNlPWZ1bmN0aW9uKCl7dmFyIGU9W107aWYoIXRoaXMuZWF0KGEuX3dpdGgpKXJldHVybiBlO3RoaXMuZXhwZWN0KGEuYnJhY2VMKTtmb3IodmFyIHQ9e30saT0hMDshdGhpcy5lYXQoYS5icmFjZVIpOyl7aWYoaSlpPSExO2Vsc2UgaWYodGhpcy5leHBlY3QoYS5jb21tYSksdGhpcy5hZnRlclRyYWlsaW5nQ29tbWEoYS5icmFjZVIpKWJyZWFrO3ZhciBzPXRoaXMucGFyc2VJbXBvcnRBdHRyaWJ1dGUoKSxyPXMua2V5LnR5cGU9PT1cIklkZW50aWZpZXJcIj9zLmtleS5uYW1lOnMua2V5LnZhbHVlO1kodCxyKSYmdGhpcy5yYWlzZVJlY292ZXJhYmxlKHMua2V5LnN0YXJ0LFwiRHVwbGljYXRlIGF0dHJpYnV0ZSBrZXkgJ1wiK3IrXCInXCIpLHRbcl09ITAsZS5wdXNoKHMpfXJldHVybiBlfTtsLnBhcnNlSW1wb3J0QXR0cmlidXRlPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gZS5rZXk9dGhpcy50eXBlPT09YS5zdHJpbmc/dGhpcy5wYXJzZUV4cHJBdG9tKCk6dGhpcy5wYXJzZUlkZW50KHRoaXMub3B0aW9ucy5hbGxvd1Jlc2VydmVkIT09XCJuZXZlclwiKSx0aGlzLmV4cGVjdChhLmNvbG9uKSx0aGlzLnR5cGUhPT1hLnN0cmluZyYmdGhpcy51bmV4cGVjdGVkKCksZS52YWx1ZT10aGlzLnBhcnNlRXhwckF0b20oKSx0aGlzLmZpbmlzaE5vZGUoZSxcIkltcG9ydEF0dHJpYnV0ZVwiKX07bC5wYXJzZU1vZHVsZUV4cG9ydE5hbWU9ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTEzJiZ0aGlzLnR5cGU9PT1hLnN0cmluZyl7dmFyIGU9dGhpcy5wYXJzZUxpdGVyYWwodGhpcy52YWx1ZSk7cmV0dXJuIElpLnRlc3QoZS52YWx1ZSkmJnRoaXMucmFpc2UoZS5zdGFydCxcIkFuIGV4cG9ydCBuYW1lIGNhbm5vdCBpbmNsdWRlIGEgbG9uZSBzdXJyb2dhdGUuXCIpLGV9cmV0dXJuIHRoaXMucGFyc2VJZGVudCghMCl9O2wuYWRhcHREaXJlY3RpdmVQcm9sb2d1ZT1mdW5jdGlvbihlKXtmb3IodmFyIHQ9MDt0PGUubGVuZ3RoJiZ0aGlzLmlzRGlyZWN0aXZlQ2FuZGlkYXRlKGVbdF0pOysrdCllW3RdLmRpcmVjdGl2ZT1lW3RdLmV4cHJlc3Npb24ucmF3LnNsaWNlKDEsLTEpfTtsLmlzRGlyZWN0aXZlQ2FuZGlkYXRlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTUmJmUudHlwZT09PVwiRXhwcmVzc2lvblN0YXRlbWVudFwiJiZlLmV4cHJlc3Npb24udHlwZT09PVwiTGl0ZXJhbFwiJiZ0eXBlb2YgZS5leHByZXNzaW9uLnZhbHVlPT1cInN0cmluZ1wiJiYodGhpcy5pbnB1dFtlLnN0YXJ0XT09PSdcIid8fHRoaXMuaW5wdXRbZS5zdGFydF09PT1cIidcIil9O3ZhciBSPVQucHJvdG90eXBlO1IudG9Bc3NpZ25hYmxlPWZ1bmN0aW9uKGUsdCxpKXtpZih0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTYmJmUpc3dpdGNoKGUudHlwZSl7Y2FzZVwiSWRlbnRpZmllclwiOnRoaXMuaW5Bc3luYyYmZS5uYW1lPT09XCJhd2FpdFwiJiZ0aGlzLnJhaXNlKGUuc3RhcnQsXCJDYW5ub3QgdXNlICdhd2FpdCcgYXMgaWRlbnRpZmllciBpbnNpZGUgYW4gYXN5bmMgZnVuY3Rpb25cIik7YnJlYWs7Y2FzZVwiT2JqZWN0UGF0dGVyblwiOmNhc2VcIkFycmF5UGF0dGVyblwiOmNhc2VcIkFzc2lnbm1lbnRQYXR0ZXJuXCI6Y2FzZVwiUmVzdEVsZW1lbnRcIjpicmVhaztjYXNlXCJPYmplY3RFeHByZXNzaW9uXCI6ZS50eXBlPVwiT2JqZWN0UGF0dGVyblwiLGkmJnRoaXMuY2hlY2tQYXR0ZXJuRXJyb3JzKGksITApO2Zvcih2YXIgcz0wLHI9ZS5wcm9wZXJ0aWVzO3M8ci5sZW5ndGg7cys9MSl7dmFyIG49cltzXTt0aGlzLnRvQXNzaWduYWJsZShuLHQpLG4udHlwZT09PVwiUmVzdEVsZW1lbnRcIiYmKG4uYXJndW1lbnQudHlwZT09PVwiQXJyYXlQYXR0ZXJuXCJ8fG4uYXJndW1lbnQudHlwZT09PVwiT2JqZWN0UGF0dGVyblwiKSYmdGhpcy5yYWlzZShuLmFyZ3VtZW50LnN0YXJ0LFwiVW5leHBlY3RlZCB0b2tlblwiKX1icmVhaztjYXNlXCJQcm9wZXJ0eVwiOmUua2luZCE9PVwiaW5pdFwiJiZ0aGlzLnJhaXNlKGUua2V5LnN0YXJ0LFwiT2JqZWN0IHBhdHRlcm4gY2FuJ3QgY29udGFpbiBnZXR0ZXIgb3Igc2V0dGVyXCIpLHRoaXMudG9Bc3NpZ25hYmxlKGUudmFsdWUsdCk7YnJlYWs7Y2FzZVwiQXJyYXlFeHByZXNzaW9uXCI6ZS50eXBlPVwiQXJyYXlQYXR0ZXJuXCIsaSYmdGhpcy5jaGVja1BhdHRlcm5FcnJvcnMoaSwhMCksdGhpcy50b0Fzc2lnbmFibGVMaXN0KGUuZWxlbWVudHMsdCk7YnJlYWs7Y2FzZVwiU3ByZWFkRWxlbWVudFwiOmUudHlwZT1cIlJlc3RFbGVtZW50XCIsdGhpcy50b0Fzc2lnbmFibGUoZS5hcmd1bWVudCx0KSxlLmFyZ3VtZW50LnR5cGU9PT1cIkFzc2lnbm1lbnRQYXR0ZXJuXCImJnRoaXMucmFpc2UoZS5hcmd1bWVudC5zdGFydCxcIlJlc3QgZWxlbWVudHMgY2Fubm90IGhhdmUgYSBkZWZhdWx0IHZhbHVlXCIpO2JyZWFrO2Nhc2VcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCI6ZS5vcGVyYXRvciE9PVwiPVwiJiZ0aGlzLnJhaXNlKGUubGVmdC5lbmQsXCJPbmx5ICc9JyBvcGVyYXRvciBjYW4gYmUgdXNlZCBmb3Igc3BlY2lmeWluZyBkZWZhdWx0IHZhbHVlLlwiKSxlLnR5cGU9XCJBc3NpZ25tZW50UGF0dGVyblwiLGRlbGV0ZSBlLm9wZXJhdG9yLHRoaXMudG9Bc3NpZ25hYmxlKGUubGVmdCx0KTticmVhaztjYXNlXCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiOnRoaXMudG9Bc3NpZ25hYmxlKGUuZXhwcmVzc2lvbix0LGkpO2JyZWFrO2Nhc2VcIkNoYWluRXhwcmVzc2lvblwiOnRoaXMucmFpc2VSZWNvdmVyYWJsZShlLnN0YXJ0LFwiT3B0aW9uYWwgY2hhaW5pbmcgY2Fubm90IGFwcGVhciBpbiBsZWZ0LWhhbmQgc2lkZVwiKTticmVhaztjYXNlXCJNZW1iZXJFeHByZXNzaW9uXCI6aWYoIXQpYnJlYWs7ZGVmYXVsdDp0aGlzLnJhaXNlKGUuc3RhcnQsXCJBc3NpZ25pbmcgdG8gcnZhbHVlXCIpfWVsc2UgaSYmdGhpcy5jaGVja1BhdHRlcm5FcnJvcnMoaSwhMCk7cmV0dXJuIGV9O1IudG9Bc3NpZ25hYmxlTGlzdD1mdW5jdGlvbihlLHQpe2Zvcih2YXIgaT1lLmxlbmd0aCxzPTA7czxpO3MrKyl7dmFyIHI9ZVtzXTtyJiZ0aGlzLnRvQXNzaWduYWJsZShyLHQpfWlmKGkpe3ZhciBuPWVbaS0xXTt0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb249PT02JiZ0JiZuJiZuLnR5cGU9PT1cIlJlc3RFbGVtZW50XCImJm4uYXJndW1lbnQudHlwZSE9PVwiSWRlbnRpZmllclwiJiZ0aGlzLnVuZXhwZWN0ZWQobi5hcmd1bWVudC5zdGFydCl9cmV0dXJuIGV9O1IucGFyc2VTcHJlYWQ9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdGhpcy5uZXh0KCksdC5hcmd1bWVudD10aGlzLnBhcnNlTWF5YmVBc3NpZ24oITEsZSksdGhpcy5maW5pc2hOb2RlKHQsXCJTcHJlYWRFbGVtZW50XCIpfTtSLnBhcnNlUmVzdEJpbmRpbmc9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLm5leHQoKSx0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb249PT02JiZ0aGlzLnR5cGUhPT1hLm5hbWUmJnRoaXMudW5leHBlY3RlZCgpLGUuYXJndW1lbnQ9dGhpcy5wYXJzZUJpbmRpbmdBdG9tKCksdGhpcy5maW5pc2hOb2RlKGUsXCJSZXN0RWxlbWVudFwiKX07Ui5wYXJzZUJpbmRpbmdBdG9tPWZ1bmN0aW9uKCl7aWYodGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj02KXN3aXRjaCh0aGlzLnR5cGUpe2Nhc2UgYS5icmFja2V0TDp2YXIgZT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLm5leHQoKSxlLmVsZW1lbnRzPXRoaXMucGFyc2VCaW5kaW5nTGlzdChhLmJyYWNrZXRSLCEwLCEwKSx0aGlzLmZpbmlzaE5vZGUoZSxcIkFycmF5UGF0dGVyblwiKTtjYXNlIGEuYnJhY2VMOnJldHVybiB0aGlzLnBhcnNlT2JqKCEwKX1yZXR1cm4gdGhpcy5wYXJzZUlkZW50KCl9O1IucGFyc2VCaW5kaW5nTGlzdD1mdW5jdGlvbihlLHQsaSxzKXtmb3IodmFyIHI9W10sbj0hMDshdGhpcy5lYXQoZSk7KWlmKG4/bj0hMTp0aGlzLmV4cGVjdChhLmNvbW1hKSx0JiZ0aGlzLnR5cGU9PT1hLmNvbW1hKXIucHVzaChudWxsKTtlbHNle2lmKGkmJnRoaXMuYWZ0ZXJUcmFpbGluZ0NvbW1hKGUpKWJyZWFrO2lmKHRoaXMudHlwZT09PWEuZWxsaXBzaXMpe3ZhciBvPXRoaXMucGFyc2VSZXN0QmluZGluZygpO3RoaXMucGFyc2VCaW5kaW5nTGlzdEl0ZW0obyksci5wdXNoKG8pLHRoaXMudHlwZT09PWEuY29tbWEmJnRoaXMucmFpc2VSZWNvdmVyYWJsZSh0aGlzLnN0YXJ0LFwiQ29tbWEgaXMgbm90IHBlcm1pdHRlZCBhZnRlciB0aGUgcmVzdCBlbGVtZW50XCIpLHRoaXMuZXhwZWN0KGUpO2JyZWFrfWVsc2Ugci5wdXNoKHRoaXMucGFyc2VBc3NpZ25hYmxlTGlzdEl0ZW0ocykpfXJldHVybiByfTtSLnBhcnNlQXNzaWduYWJsZUxpc3RJdGVtPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucGFyc2VNYXliZURlZmF1bHQodGhpcy5zdGFydCx0aGlzLnN0YXJ0TG9jKTtyZXR1cm4gdGhpcy5wYXJzZUJpbmRpbmdMaXN0SXRlbSh0KSx0fTtSLnBhcnNlQmluZGluZ0xpc3RJdGVtPWZ1bmN0aW9uKGUpe3JldHVybiBlfTtSLnBhcnNlTWF5YmVEZWZhdWx0PWZ1bmN0aW9uKGUsdCxpKXtpZihpPWl8fHRoaXMucGFyc2VCaW5kaW5nQXRvbSgpLHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbjw2fHwhdGhpcy5lYXQoYS5lcSkpcmV0dXJuIGk7dmFyIHM9dGhpcy5zdGFydE5vZGVBdChlLHQpO3JldHVybiBzLmxlZnQ9aSxzLnJpZ2h0PXRoaXMucGFyc2VNYXliZUFzc2lnbigpLHRoaXMuZmluaXNoTm9kZShzLFwiQXNzaWdubWVudFBhdHRlcm5cIil9O1IuY2hlY2tMVmFsU2ltcGxlPWZ1bmN0aW9uKGUsdCxpKXt0PT09dm9pZCAwJiYodD1sZSk7dmFyIHM9dCE9PWxlO3N3aXRjaChlLnR5cGUpe2Nhc2VcIklkZW50aWZpZXJcIjp0aGlzLnN0cmljdCYmdGhpcy5yZXNlcnZlZFdvcmRzU3RyaWN0QmluZC50ZXN0KGUubmFtZSkmJnRoaXMucmFpc2VSZWNvdmVyYWJsZShlLnN0YXJ0LChzP1wiQmluZGluZyBcIjpcIkFzc2lnbmluZyB0byBcIikrZS5uYW1lK1wiIGluIHN0cmljdCBtb2RlXCIpLHMmJih0PT09RyYmZS5uYW1lPT09XCJsZXRcIiYmdGhpcy5yYWlzZVJlY292ZXJhYmxlKGUuc3RhcnQsXCJsZXQgaXMgZGlzYWxsb3dlZCBhcyBhIGxleGljYWxseSBib3VuZCBuYW1lXCIpLGkmJihZKGksZS5uYW1lKSYmdGhpcy5yYWlzZVJlY292ZXJhYmxlKGUuc3RhcnQsXCJBcmd1bWVudCBuYW1lIGNsYXNoXCIpLGlbZS5uYW1lXT0hMCksdCE9PWd0JiZ0aGlzLmRlY2xhcmVOYW1lKGUubmFtZSx0LGUuc3RhcnQpKTticmVhaztjYXNlXCJDaGFpbkV4cHJlc3Npb25cIjp0aGlzLnJhaXNlUmVjb3ZlcmFibGUoZS5zdGFydCxcIk9wdGlvbmFsIGNoYWluaW5nIGNhbm5vdCBhcHBlYXIgaW4gbGVmdC1oYW5kIHNpZGVcIik7YnJlYWs7Y2FzZVwiTWVtYmVyRXhwcmVzc2lvblwiOnMmJnRoaXMucmFpc2VSZWNvdmVyYWJsZShlLnN0YXJ0LFwiQmluZGluZyBtZW1iZXIgZXhwcmVzc2lvblwiKTticmVhaztjYXNlXCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiOnJldHVybiBzJiZ0aGlzLnJhaXNlUmVjb3ZlcmFibGUoZS5zdGFydCxcIkJpbmRpbmcgcGFyZW50aGVzaXplZCBleHByZXNzaW9uXCIpLHRoaXMuY2hlY2tMVmFsU2ltcGxlKGUuZXhwcmVzc2lvbix0LGkpO2RlZmF1bHQ6dGhpcy5yYWlzZShlLnN0YXJ0LChzP1wiQmluZGluZ1wiOlwiQXNzaWduaW5nIHRvXCIpK1wiIHJ2YWx1ZVwiKX19O1IuY2hlY2tMVmFsUGF0dGVybj1mdW5jdGlvbihlLHQsaSl7c3dpdGNoKHQ9PT12b2lkIDAmJih0PWxlKSxlLnR5cGUpe2Nhc2VcIk9iamVjdFBhdHRlcm5cIjpmb3IodmFyIHM9MCxyPWUucHJvcGVydGllcztzPHIubGVuZ3RoO3MrPTEpe3ZhciBuPXJbc107dGhpcy5jaGVja0xWYWxJbm5lclBhdHRlcm4obix0LGkpfWJyZWFrO2Nhc2VcIkFycmF5UGF0dGVyblwiOmZvcih2YXIgbz0wLHU9ZS5lbGVtZW50cztvPHUubGVuZ3RoO28rPTEpe3ZhciBwPXVbb107cCYmdGhpcy5jaGVja0xWYWxJbm5lclBhdHRlcm4ocCx0LGkpfWJyZWFrO2RlZmF1bHQ6dGhpcy5jaGVja0xWYWxTaW1wbGUoZSx0LGkpfX07Ui5jaGVja0xWYWxJbm5lclBhdHRlcm49ZnVuY3Rpb24oZSx0LGkpe3N3aXRjaCh0PT09dm9pZCAwJiYodD1sZSksZS50eXBlKXtjYXNlXCJQcm9wZXJ0eVwiOnRoaXMuY2hlY2tMVmFsSW5uZXJQYXR0ZXJuKGUudmFsdWUsdCxpKTticmVhaztjYXNlXCJBc3NpZ25tZW50UGF0dGVyblwiOnRoaXMuY2hlY2tMVmFsUGF0dGVybihlLmxlZnQsdCxpKTticmVhaztjYXNlXCJSZXN0RWxlbWVudFwiOnRoaXMuY2hlY2tMVmFsUGF0dGVybihlLmFyZ3VtZW50LHQsaSk7YnJlYWs7ZGVmYXVsdDp0aGlzLmNoZWNrTFZhbFBhdHRlcm4oZSx0LGkpfX07dmFyIEQ9ZnVuY3Rpb24odCxpLHMscixuKXt0aGlzLnRva2VuPXQsdGhpcy5pc0V4cHI9ISFpLHRoaXMucHJlc2VydmVTcGFjZT0hIXMsdGhpcy5vdmVycmlkZT1yLHRoaXMuZ2VuZXJhdG9yPSEhbn0sXz17Yl9zdGF0Om5ldyBEKFwie1wiLCExKSxiX2V4cHI6bmV3IEQoXCJ7XCIsITApLGJfdG1wbDpuZXcgRChcIiR7XCIsITEpLHBfc3RhdDpuZXcgRChcIihcIiwhMSkscF9leHByOm5ldyBEKFwiKFwiLCEwKSxxX3RtcGw6bmV3IEQoXCJgXCIsITAsITAsZnVuY3Rpb24oZSl7cmV0dXJuIGUudHJ5UmVhZFRlbXBsYXRlVG9rZW4oKX0pLGZfc3RhdDpuZXcgRChcImZ1bmN0aW9uXCIsITEpLGZfZXhwcjpuZXcgRChcImZ1bmN0aW9uXCIsITApLGZfZXhwcl9nZW46bmV3IEQoXCJmdW5jdGlvblwiLCEwLCExLG51bGwsITApLGZfZ2VuOm5ldyBEKFwiZnVuY3Rpb25cIiwhMSwhMSxudWxsLCEwKX0sJD1ULnByb3RvdHlwZTskLmluaXRpYWxDb250ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuW18uYl9zdGF0XX07JC5jdXJDb250ZXh0PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29udGV4dFt0aGlzLmNvbnRleHQubGVuZ3RoLTFdfTskLmJyYWNlSXNCbG9jaz1mdW5jdGlvbihlKXt2YXIgdD10aGlzLmN1ckNvbnRleHQoKTtyZXR1cm4gdD09PV8uZl9leHByfHx0PT09Xy5mX3N0YXQ/ITA6ZT09PWEuY29sb24mJih0PT09Xy5iX3N0YXR8fHQ9PT1fLmJfZXhwcik/IXQuaXNFeHByOmU9PT1hLl9yZXR1cm58fGU9PT1hLm5hbWUmJnRoaXMuZXhwckFsbG93ZWQ/TC50ZXN0KHRoaXMuaW5wdXQuc2xpY2UodGhpcy5sYXN0VG9rRW5kLHRoaXMuc3RhcnQpKTplPT09YS5fZWxzZXx8ZT09PWEuc2VtaXx8ZT09PWEuZW9mfHxlPT09YS5wYXJlblJ8fGU9PT1hLmFycm93PyEwOmU9PT1hLmJyYWNlTD90PT09Xy5iX3N0YXQ6ZT09PWEuX3Zhcnx8ZT09PWEuX2NvbnN0fHxlPT09YS5uYW1lPyExOiF0aGlzLmV4cHJBbGxvd2VkfTskLmluR2VuZXJhdG9yQ29udGV4dD1mdW5jdGlvbigpe2Zvcih2YXIgZT10aGlzLmNvbnRleHQubGVuZ3RoLTE7ZT49MTtlLS0pe3ZhciB0PXRoaXMuY29udGV4dFtlXTtpZih0LnRva2VuPT09XCJmdW5jdGlvblwiKXJldHVybiB0LmdlbmVyYXRvcn1yZXR1cm4hMX07JC51cGRhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3ZhciB0LGk9dGhpcy50eXBlO2kua2V5d29yZCYmZT09PWEuZG90P3RoaXMuZXhwckFsbG93ZWQ9ITE6KHQ9aS51cGRhdGVDb250ZXh0KT90LmNhbGwodGhpcyxlKTp0aGlzLmV4cHJBbGxvd2VkPWkuYmVmb3JlRXhwcn07JC5vdmVycmlkZUNvbnRleHQ9ZnVuY3Rpb24oZSl7dGhpcy5jdXJDb250ZXh0KCkhPT1lJiYodGhpcy5jb250ZXh0W3RoaXMuY29udGV4dC5sZW5ndGgtMV09ZSl9O2EucGFyZW5SLnVwZGF0ZUNvbnRleHQ9YS5icmFjZVIudXBkYXRlQ29udGV4dD1mdW5jdGlvbigpe2lmKHRoaXMuY29udGV4dC5sZW5ndGg9PT0xKXt0aGlzLmV4cHJBbGxvd2VkPSEwO3JldHVybn12YXIgZT10aGlzLmNvbnRleHQucG9wKCk7ZT09PV8uYl9zdGF0JiZ0aGlzLmN1ckNvbnRleHQoKS50b2tlbj09PVwiZnVuY3Rpb25cIiYmKGU9dGhpcy5jb250ZXh0LnBvcCgpKSx0aGlzLmV4cHJBbGxvd2VkPSFlLmlzRXhwcn07YS5icmFjZUwudXBkYXRlQ29udGV4dD1mdW5jdGlvbihlKXt0aGlzLmNvbnRleHQucHVzaCh0aGlzLmJyYWNlSXNCbG9jayhlKT9fLmJfc3RhdDpfLmJfZXhwciksdGhpcy5leHByQWxsb3dlZD0hMH07YS5kb2xsYXJCcmFjZUwudXBkYXRlQ29udGV4dD1mdW5jdGlvbigpe3RoaXMuY29udGV4dC5wdXNoKF8uYl90bXBsKSx0aGlzLmV4cHJBbGxvd2VkPSEwfTthLnBhcmVuTC51cGRhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe3ZhciB0PWU9PT1hLl9pZnx8ZT09PWEuX2Zvcnx8ZT09PWEuX3dpdGh8fGU9PT1hLl93aGlsZTt0aGlzLmNvbnRleHQucHVzaCh0P18ucF9zdGF0Ol8ucF9leHByKSx0aGlzLmV4cHJBbGxvd2VkPSEwfTthLmluY0RlYy51cGRhdGVDb250ZXh0PWZ1bmN0aW9uKCl7fTthLl9mdW5jdGlvbi51cGRhdGVDb250ZXh0PWEuX2NsYXNzLnVwZGF0ZUNvbnRleHQ9ZnVuY3Rpb24oZSl7ZS5iZWZvcmVFeHByJiZlIT09YS5fZWxzZSYmIShlPT09YS5zZW1pJiZ0aGlzLmN1ckNvbnRleHQoKSE9PV8ucF9zdGF0KSYmIShlPT09YS5fcmV0dXJuJiZMLnRlc3QodGhpcy5pbnB1dC5zbGljZSh0aGlzLmxhc3RUb2tFbmQsdGhpcy5zdGFydCkpKSYmISgoZT09PWEuY29sb258fGU9PT1hLmJyYWNlTCkmJnRoaXMuY3VyQ29udGV4dCgpPT09Xy5iX3N0YXQpP3RoaXMuY29udGV4dC5wdXNoKF8uZl9leHByKTp0aGlzLmNvbnRleHQucHVzaChfLmZfc3RhdCksdGhpcy5leHByQWxsb3dlZD0hMX07YS5jb2xvbi51cGRhdGVDb250ZXh0PWZ1bmN0aW9uKCl7dGhpcy5jdXJDb250ZXh0KCkudG9rZW49PT1cImZ1bmN0aW9uXCImJnRoaXMuY29udGV4dC5wb3AoKSx0aGlzLmV4cHJBbGxvd2VkPSEwfTthLmJhY2tRdW90ZS51cGRhdGVDb250ZXh0PWZ1bmN0aW9uKCl7dGhpcy5jdXJDb250ZXh0KCk9PT1fLnFfdG1wbD90aGlzLmNvbnRleHQucG9wKCk6dGhpcy5jb250ZXh0LnB1c2goXy5xX3RtcGwpLHRoaXMuZXhwckFsbG93ZWQ9ITF9O2Euc3Rhci51cGRhdGVDb250ZXh0PWZ1bmN0aW9uKGUpe2lmKGU9PT1hLl9mdW5jdGlvbil7dmFyIHQ9dGhpcy5jb250ZXh0Lmxlbmd0aC0xO3RoaXMuY29udGV4dFt0XT09PV8uZl9leHByP3RoaXMuY29udGV4dFt0XT1fLmZfZXhwcl9nZW46dGhpcy5jb250ZXh0W3RdPV8uZl9nZW59dGhpcy5leHByQWxsb3dlZD0hMH07YS5uYW1lLnVwZGF0ZUNvbnRleHQ9ZnVuY3Rpb24oZSl7dmFyIHQ9ITE7dGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj02JiZlIT09YS5kb3QmJih0aGlzLnZhbHVlPT09XCJvZlwiJiYhdGhpcy5leHByQWxsb3dlZHx8dGhpcy52YWx1ZT09PVwieWllbGRcIiYmdGhpcy5pbkdlbmVyYXRvckNvbnRleHQoKSkmJih0PSEwKSx0aGlzLmV4cHJBbGxvd2VkPXR9O3ZhciB5PVQucHJvdG90eXBlO3kuY2hlY2tQcm9wQ2xhc2g9ZnVuY3Rpb24oZSx0LGkpe2lmKCEodGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj05JiZlLnR5cGU9PT1cIlNwcmVhZEVsZW1lbnRcIikmJiEodGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj02JiYoZS5jb21wdXRlZHx8ZS5tZXRob2R8fGUuc2hvcnRoYW5kKSkpe3ZhciBzPWUua2V5LHI7c3dpdGNoKHMudHlwZSl7Y2FzZVwiSWRlbnRpZmllclwiOnI9cy5uYW1lO2JyZWFrO2Nhc2VcIkxpdGVyYWxcIjpyPVN0cmluZyhzLnZhbHVlKTticmVhaztkZWZhdWx0OnJldHVybn12YXIgbj1lLmtpbmQ7aWYodGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj02KXtyPT09XCJfX3Byb3RvX19cIiYmbj09PVwiaW5pdFwiJiYodC5wcm90byYmKGk/aS5kb3VibGVQcm90bzwwJiYoaS5kb3VibGVQcm90bz1zLnN0YXJ0KTp0aGlzLnJhaXNlUmVjb3ZlcmFibGUocy5zdGFydCxcIlJlZGVmaW5pdGlvbiBvZiBfX3Byb3RvX18gcHJvcGVydHlcIikpLHQucHJvdG89ITApO3JldHVybn1yPVwiJFwiK3I7dmFyIG89dFtyXTtpZihvKXt2YXIgdTtuPT09XCJpbml0XCI/dT10aGlzLnN0cmljdCYmby5pbml0fHxvLmdldHx8by5zZXQ6dT1vLmluaXR8fG9bbl0sdSYmdGhpcy5yYWlzZVJlY292ZXJhYmxlKHMuc3RhcnQsXCJSZWRlZmluaXRpb24gb2YgcHJvcGVydHlcIil9ZWxzZSBvPXRbcl09e2luaXQ6ITEsZ2V0OiExLHNldDohMX07b1tuXT0hMH19O3kucGFyc2VFeHByZXNzaW9uPWZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5zdGFydCxzPXRoaXMuc3RhcnRMb2Mscj10aGlzLnBhcnNlTWF5YmVBc3NpZ24oZSx0KTtpZih0aGlzLnR5cGU9PT1hLmNvbW1hKXt2YXIgbj10aGlzLnN0YXJ0Tm9kZUF0KGkscyk7Zm9yKG4uZXhwcmVzc2lvbnM9W3JdO3RoaXMuZWF0KGEuY29tbWEpOyluLmV4cHJlc3Npb25zLnB1c2godGhpcy5wYXJzZU1heWJlQXNzaWduKGUsdCkpO3JldHVybiB0aGlzLmZpbmlzaE5vZGUobixcIlNlcXVlbmNlRXhwcmVzc2lvblwiKX1yZXR1cm4gcn07eS5wYXJzZU1heWJlQXNzaWduPWZ1bmN0aW9uKGUsdCxpKXtpZih0aGlzLmlzQ29udGV4dHVhbChcInlpZWxkXCIpKXtpZih0aGlzLmluR2VuZXJhdG9yKXJldHVybiB0aGlzLnBhcnNlWWllbGQoZSk7dGhpcy5leHByQWxsb3dlZD0hMX12YXIgcz0hMSxyPS0xLG49LTEsbz0tMTt0PyhyPXQucGFyZW50aGVzaXplZEFzc2lnbixuPXQudHJhaWxpbmdDb21tYSxvPXQuZG91YmxlUHJvdG8sdC5wYXJlbnRoZXNpemVkQXNzaWduPXQudHJhaWxpbmdDb21tYT0tMSk6KHQ9bmV3IHllLHM9ITApO3ZhciB1PXRoaXMuc3RhcnQscD10aGlzLnN0YXJ0TG9jOyh0aGlzLnR5cGU9PT1hLnBhcmVuTHx8dGhpcy50eXBlPT09YS5uYW1lKSYmKHRoaXMucG90ZW50aWFsQXJyb3dBdD10aGlzLnN0YXJ0LHRoaXMucG90ZW50aWFsQXJyb3dJbkZvckF3YWl0PWU9PT1cImF3YWl0XCIpO3ZhciBkPXRoaXMucGFyc2VNYXliZUNvbmRpdGlvbmFsKGUsdCk7aWYoaSYmKGQ9aS5jYWxsKHRoaXMsZCx1LHApKSx0aGlzLnR5cGUuaXNBc3NpZ24pe3ZhciBmPXRoaXMuc3RhcnROb2RlQXQodSxwKTtyZXR1cm4gZi5vcGVyYXRvcj10aGlzLnZhbHVlLHRoaXMudHlwZT09PWEuZXEmJihkPXRoaXMudG9Bc3NpZ25hYmxlKGQsITEsdCkpLHN8fCh0LnBhcmVudGhlc2l6ZWRBc3NpZ249dC50cmFpbGluZ0NvbW1hPXQuZG91YmxlUHJvdG89LTEpLHQuc2hvcnRoYW5kQXNzaWduPj1kLnN0YXJ0JiYodC5zaG9ydGhhbmRBc3NpZ249LTEpLHRoaXMudHlwZT09PWEuZXE/dGhpcy5jaGVja0xWYWxQYXR0ZXJuKGQpOnRoaXMuY2hlY2tMVmFsU2ltcGxlKGQpLGYubGVmdD1kLHRoaXMubmV4dCgpLGYucmlnaHQ9dGhpcy5wYXJzZU1heWJlQXNzaWduKGUpLG8+LTEmJih0LmRvdWJsZVByb3RvPW8pLHRoaXMuZmluaXNoTm9kZShmLFwiQXNzaWdubWVudEV4cHJlc3Npb25cIil9ZWxzZSBzJiZ0aGlzLmNoZWNrRXhwcmVzc2lvbkVycm9ycyh0LCEwKTtyZXR1cm4gcj4tMSYmKHQucGFyZW50aGVzaXplZEFzc2lnbj1yKSxuPi0xJiYodC50cmFpbGluZ0NvbW1hPW4pLGR9O3kucGFyc2VNYXliZUNvbmRpdGlvbmFsPWZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5zdGFydCxzPXRoaXMuc3RhcnRMb2Mscj10aGlzLnBhcnNlRXhwck9wcyhlLHQpO2lmKHRoaXMuY2hlY2tFeHByZXNzaW9uRXJyb3JzKHQpKXJldHVybiByO2lmKHRoaXMuZWF0KGEucXVlc3Rpb24pKXt2YXIgbj10aGlzLnN0YXJ0Tm9kZUF0KGkscyk7cmV0dXJuIG4udGVzdD1yLG4uY29uc2VxdWVudD10aGlzLnBhcnNlTWF5YmVBc3NpZ24oKSx0aGlzLmV4cGVjdChhLmNvbG9uKSxuLmFsdGVybmF0ZT10aGlzLnBhcnNlTWF5YmVBc3NpZ24oZSksdGhpcy5maW5pc2hOb2RlKG4sXCJDb25kaXRpb25hbEV4cHJlc3Npb25cIil9cmV0dXJuIHJ9O3kucGFyc2VFeHByT3BzPWZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5zdGFydCxzPXRoaXMuc3RhcnRMb2Mscj10aGlzLnBhcnNlTWF5YmVVbmFyeSh0LCExLCExLGUpO3JldHVybiB0aGlzLmNoZWNrRXhwcmVzc2lvbkVycm9ycyh0KXx8ci5zdGFydD09PWkmJnIudHlwZT09PVwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIj9yOnRoaXMucGFyc2VFeHByT3AocixpLHMsLTEsZSl9O3kucGFyc2VFeHByT3A9ZnVuY3Rpb24oZSx0LGkscyxyKXt2YXIgbj10aGlzLnR5cGUuYmlub3A7aWYobiE9bnVsbCYmKCFyfHx0aGlzLnR5cGUhPT1hLl9pbikmJm4+cyl7dmFyIG89dGhpcy50eXBlPT09YS5sb2dpY2FsT1J8fHRoaXMudHlwZT09PWEubG9naWNhbEFORCx1PXRoaXMudHlwZT09PWEuY29hbGVzY2U7dSYmKG49YS5sb2dpY2FsQU5ELmJpbm9wKTt2YXIgcD10aGlzLnZhbHVlO3RoaXMubmV4dCgpO3ZhciBkPXRoaXMuc3RhcnQsZj10aGlzLnN0YXJ0TG9jLEM9dGhpcy5wYXJzZUV4cHJPcCh0aGlzLnBhcnNlTWF5YmVVbmFyeShudWxsLCExLCExLHIpLGQsZixuLHIpLEI9dGhpcy5idWlsZEJpbmFyeSh0LGksZSxDLHAsb3x8dSk7cmV0dXJuKG8mJnRoaXMudHlwZT09PWEuY29hbGVzY2V8fHUmJih0aGlzLnR5cGU9PT1hLmxvZ2ljYWxPUnx8dGhpcy50eXBlPT09YS5sb2dpY2FsQU5EKSkmJnRoaXMucmFpc2VSZWNvdmVyYWJsZSh0aGlzLnN0YXJ0LFwiTG9naWNhbCBleHByZXNzaW9ucyBhbmQgY29hbGVzY2UgZXhwcmVzc2lvbnMgY2Fubm90IGJlIG1peGVkLiBXcmFwIGVpdGhlciBieSBwYXJlbnRoZXNlc1wiKSx0aGlzLnBhcnNlRXhwck9wKEIsdCxpLHMscil9cmV0dXJuIGV9O3kuYnVpbGRCaW5hcnk9ZnVuY3Rpb24oZSx0LGkscyxyLG4pe3MudHlwZT09PVwiUHJpdmF0ZUlkZW50aWZpZXJcIiYmdGhpcy5yYWlzZShzLnN0YXJ0LFwiUHJpdmF0ZSBpZGVudGlmaWVyIGNhbiBvbmx5IGJlIGxlZnQgc2lkZSBvZiBiaW5hcnkgZXhwcmVzc2lvblwiKTt2YXIgbz10aGlzLnN0YXJ0Tm9kZUF0KGUsdCk7cmV0dXJuIG8ubGVmdD1pLG8ub3BlcmF0b3I9cixvLnJpZ2h0PXMsdGhpcy5maW5pc2hOb2RlKG8sbj9cIkxvZ2ljYWxFeHByZXNzaW9uXCI6XCJCaW5hcnlFeHByZXNzaW9uXCIpfTt5LnBhcnNlTWF5YmVVbmFyeT1mdW5jdGlvbihlLHQsaSxzKXt2YXIgcj10aGlzLnN0YXJ0LG49dGhpcy5zdGFydExvYyxvO2lmKHRoaXMuaXNDb250ZXh0dWFsKFwiYXdhaXRcIikmJnRoaXMuY2FuQXdhaXQpbz10aGlzLnBhcnNlQXdhaXQocyksdD0hMDtlbHNlIGlmKHRoaXMudHlwZS5wcmVmaXgpe3ZhciB1PXRoaXMuc3RhcnROb2RlKCkscD10aGlzLnR5cGU9PT1hLmluY0RlYzt1Lm9wZXJhdG9yPXRoaXMudmFsdWUsdS5wcmVmaXg9ITAsdGhpcy5uZXh0KCksdS5hcmd1bWVudD10aGlzLnBhcnNlTWF5YmVVbmFyeShudWxsLCEwLHAscyksdGhpcy5jaGVja0V4cHJlc3Npb25FcnJvcnMoZSwhMCkscD90aGlzLmNoZWNrTFZhbFNpbXBsZSh1LmFyZ3VtZW50KTp0aGlzLnN0cmljdCYmdS5vcGVyYXRvcj09PVwiZGVsZXRlXCImJmJ0KHUuYXJndW1lbnQpP3RoaXMucmFpc2VSZWNvdmVyYWJsZSh1LnN0YXJ0LFwiRGVsZXRpbmcgbG9jYWwgdmFyaWFibGUgaW4gc3RyaWN0IG1vZGVcIik6dS5vcGVyYXRvcj09PVwiZGVsZXRlXCImJlJlKHUuYXJndW1lbnQpP3RoaXMucmFpc2VSZWNvdmVyYWJsZSh1LnN0YXJ0LFwiUHJpdmF0ZSBmaWVsZHMgY2FuIG5vdCBiZSBkZWxldGVkXCIpOnQ9ITAsbz10aGlzLmZpbmlzaE5vZGUodSxwP1wiVXBkYXRlRXhwcmVzc2lvblwiOlwiVW5hcnlFeHByZXNzaW9uXCIpfWVsc2UgaWYoIXQmJnRoaXMudHlwZT09PWEucHJpdmF0ZUlkKShzfHx0aGlzLnByaXZhdGVOYW1lU3RhY2subGVuZ3RoPT09MCkmJnRoaXMub3B0aW9ucy5jaGVja1ByaXZhdGVGaWVsZHMmJnRoaXMudW5leHBlY3RlZCgpLG89dGhpcy5wYXJzZVByaXZhdGVJZGVudCgpLHRoaXMudHlwZSE9PWEuX2luJiZ0aGlzLnVuZXhwZWN0ZWQoKTtlbHNle2lmKG89dGhpcy5wYXJzZUV4cHJTdWJzY3JpcHRzKGUscyksdGhpcy5jaGVja0V4cHJlc3Npb25FcnJvcnMoZSkpcmV0dXJuIG87Zm9yKDt0aGlzLnR5cGUucG9zdGZpeCYmIXRoaXMuY2FuSW5zZXJ0U2VtaWNvbG9uKCk7KXt2YXIgZD10aGlzLnN0YXJ0Tm9kZUF0KHIsbik7ZC5vcGVyYXRvcj10aGlzLnZhbHVlLGQucHJlZml4PSExLGQuYXJndW1lbnQ9byx0aGlzLmNoZWNrTFZhbFNpbXBsZShvKSx0aGlzLm5leHQoKSxvPXRoaXMuZmluaXNoTm9kZShkLFwiVXBkYXRlRXhwcmVzc2lvblwiKX19aWYoIWkmJnRoaXMuZWF0KGEuc3RhcnN0YXIpKWlmKHQpdGhpcy51bmV4cGVjdGVkKHRoaXMubGFzdFRva1N0YXJ0KTtlbHNlIHJldHVybiB0aGlzLmJ1aWxkQmluYXJ5KHIsbixvLHRoaXMucGFyc2VNYXliZVVuYXJ5KG51bGwsITEsITEscyksXCIqKlwiLCExKTtlbHNlIHJldHVybiBvfTtmdW5jdGlvbiBidChlKXtyZXR1cm4gZS50eXBlPT09XCJJZGVudGlmaWVyXCJ8fGUudHlwZT09PVwiUGFyZW50aGVzaXplZEV4cHJlc3Npb25cIiYmYnQoZS5leHByZXNzaW9uKX1mdW5jdGlvbiBSZShlKXtyZXR1cm4gZS50eXBlPT09XCJNZW1iZXJFeHByZXNzaW9uXCImJmUucHJvcGVydHkudHlwZT09PVwiUHJpdmF0ZUlkZW50aWZpZXJcInx8ZS50eXBlPT09XCJDaGFpbkV4cHJlc3Npb25cIiYmUmUoZS5leHByZXNzaW9uKXx8ZS50eXBlPT09XCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiJiZSZShlLmV4cHJlc3Npb24pfXkucGFyc2VFeHByU3Vic2NyaXB0cz1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMuc3RhcnQscz10aGlzLnN0YXJ0TG9jLHI9dGhpcy5wYXJzZUV4cHJBdG9tKGUsdCk7aWYoci50eXBlPT09XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiJiZ0aGlzLmlucHV0LnNsaWNlKHRoaXMubGFzdFRva1N0YXJ0LHRoaXMubGFzdFRva0VuZCkhPT1cIilcIilyZXR1cm4gcjt2YXIgbj10aGlzLnBhcnNlU3Vic2NyaXB0cyhyLGkscywhMSx0KTtyZXR1cm4gZSYmbi50eXBlPT09XCJNZW1iZXJFeHByZXNzaW9uXCImJihlLnBhcmVudGhlc2l6ZWRBc3NpZ24+PW4uc3RhcnQmJihlLnBhcmVudGhlc2l6ZWRBc3NpZ249LTEpLGUucGFyZW50aGVzaXplZEJpbmQ+PW4uc3RhcnQmJihlLnBhcmVudGhlc2l6ZWRCaW5kPS0xKSxlLnRyYWlsaW5nQ29tbWE+PW4uc3RhcnQmJihlLnRyYWlsaW5nQ29tbWE9LTEpKSxufTt5LnBhcnNlU3Vic2NyaXB0cz1mdW5jdGlvbihlLHQsaSxzLHIpe2Zvcih2YXIgbj10aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTgmJmUudHlwZT09PVwiSWRlbnRpZmllclwiJiZlLm5hbWU9PT1cImFzeW5jXCImJnRoaXMubGFzdFRva0VuZD09PWUuZW5kJiYhdGhpcy5jYW5JbnNlcnRTZW1pY29sb24oKSYmZS5lbmQtZS5zdGFydD09PTUmJnRoaXMucG90ZW50aWFsQXJyb3dBdD09PWUuc3RhcnQsbz0hMTs7KXt2YXIgdT10aGlzLnBhcnNlU3Vic2NyaXB0KGUsdCxpLHMsbixvLHIpO2lmKHUub3B0aW9uYWwmJihvPSEwKSx1PT09ZXx8dS50eXBlPT09XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiKXtpZihvKXt2YXIgcD10aGlzLnN0YXJ0Tm9kZUF0KHQsaSk7cC5leHByZXNzaW9uPXUsdT10aGlzLmZpbmlzaE5vZGUocCxcIkNoYWluRXhwcmVzc2lvblwiKX1yZXR1cm4gdX1lPXV9fTt5LnNob3VsZFBhcnNlQXN5bmNBcnJvdz1mdW5jdGlvbigpe3JldHVybiF0aGlzLmNhbkluc2VydFNlbWljb2xvbigpJiZ0aGlzLmVhdChhLmFycm93KX07eS5wYXJzZVN1YnNjcmlwdEFzeW5jQXJyb3c9ZnVuY3Rpb24oZSx0LGkscyl7cmV0dXJuIHRoaXMucGFyc2VBcnJvd0V4cHJlc3Npb24odGhpcy5zdGFydE5vZGVBdChlLHQpLGksITAscyl9O3kucGFyc2VTdWJzY3JpcHQ9ZnVuY3Rpb24oZSx0LGkscyxyLG4sbyl7dmFyIHU9dGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj0xMSxwPXUmJnRoaXMuZWF0KGEucXVlc3Rpb25Eb3QpO3MmJnAmJnRoaXMucmFpc2UodGhpcy5sYXN0VG9rU3RhcnQsXCJPcHRpb25hbCBjaGFpbmluZyBjYW5ub3QgYXBwZWFyIGluIHRoZSBjYWxsZWUgb2YgbmV3IGV4cHJlc3Npb25zXCIpO3ZhciBkPXRoaXMuZWF0KGEuYnJhY2tldEwpO2lmKGR8fHAmJnRoaXMudHlwZSE9PWEucGFyZW5MJiZ0aGlzLnR5cGUhPT1hLmJhY2tRdW90ZXx8dGhpcy5lYXQoYS5kb3QpKXt2YXIgZj10aGlzLnN0YXJ0Tm9kZUF0KHQsaSk7Zi5vYmplY3Q9ZSxkPyhmLnByb3BlcnR5PXRoaXMucGFyc2VFeHByZXNzaW9uKCksdGhpcy5leHBlY3QoYS5icmFja2V0UikpOnRoaXMudHlwZT09PWEucHJpdmF0ZUlkJiZlLnR5cGUhPT1cIlN1cGVyXCI/Zi5wcm9wZXJ0eT10aGlzLnBhcnNlUHJpdmF0ZUlkZW50KCk6Zi5wcm9wZXJ0eT10aGlzLnBhcnNlSWRlbnQodGhpcy5vcHRpb25zLmFsbG93UmVzZXJ2ZWQhPT1cIm5ldmVyXCIpLGYuY29tcHV0ZWQ9ISFkLHUmJihmLm9wdGlvbmFsPXApLGU9dGhpcy5maW5pc2hOb2RlKGYsXCJNZW1iZXJFeHByZXNzaW9uXCIpfWVsc2UgaWYoIXMmJnRoaXMuZWF0KGEucGFyZW5MKSl7dmFyIEM9bmV3IHllLEI9dGhpcy55aWVsZFBvcyxoPXRoaXMuYXdhaXRQb3MsbT10aGlzLmF3YWl0SWRlbnRQb3M7dGhpcy55aWVsZFBvcz0wLHRoaXMuYXdhaXRQb3M9MCx0aGlzLmF3YWl0SWRlbnRQb3M9MDt2YXIgeD10aGlzLnBhcnNlRXhwckxpc3QoYS5wYXJlblIsdGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj04LCExLEMpO2lmKHImJiFwJiZ0aGlzLnNob3VsZFBhcnNlQXN5bmNBcnJvdygpKXJldHVybiB0aGlzLmNoZWNrUGF0dGVybkVycm9ycyhDLCExKSx0aGlzLmNoZWNrWWllbGRBd2FpdEluRGVmYXVsdFBhcmFtcygpLHRoaXMuYXdhaXRJZGVudFBvcz4wJiZ0aGlzLnJhaXNlKHRoaXMuYXdhaXRJZGVudFBvcyxcIkNhbm5vdCB1c2UgJ2F3YWl0JyBhcyBpZGVudGlmaWVyIGluc2lkZSBhbiBhc3luYyBmdW5jdGlvblwiKSx0aGlzLnlpZWxkUG9zPUIsdGhpcy5hd2FpdFBvcz1oLHRoaXMuYXdhaXRJZGVudFBvcz1tLHRoaXMucGFyc2VTdWJzY3JpcHRBc3luY0Fycm93KHQsaSx4LG8pO3RoaXMuY2hlY2tFeHByZXNzaW9uRXJyb3JzKEMsITApLHRoaXMueWllbGRQb3M9Qnx8dGhpcy55aWVsZFBvcyx0aGlzLmF3YWl0UG9zPWh8fHRoaXMuYXdhaXRQb3MsdGhpcy5hd2FpdElkZW50UG9zPW18fHRoaXMuYXdhaXRJZGVudFBvczt2YXIgZz10aGlzLnN0YXJ0Tm9kZUF0KHQsaSk7Zy5jYWxsZWU9ZSxnLmFyZ3VtZW50cz14LHUmJihnLm9wdGlvbmFsPXApLGU9dGhpcy5maW5pc2hOb2RlKGcsXCJDYWxsRXhwcmVzc2lvblwiKX1lbHNlIGlmKHRoaXMudHlwZT09PWEuYmFja1F1b3RlKXsocHx8bikmJnRoaXMucmFpc2UodGhpcy5zdGFydCxcIk9wdGlvbmFsIGNoYWluaW5nIGNhbm5vdCBhcHBlYXIgaW4gdGhlIHRhZyBvZiB0YWdnZWQgdGVtcGxhdGUgZXhwcmVzc2lvbnNcIik7dmFyIHc9dGhpcy5zdGFydE5vZGVBdCh0LGkpO3cudGFnPWUsdy5xdWFzaT10aGlzLnBhcnNlVGVtcGxhdGUoe2lzVGFnZ2VkOiEwfSksZT10aGlzLmZpbmlzaE5vZGUodyxcIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvblwiKX1yZXR1cm4gZX07eS5wYXJzZUV4cHJBdG9tPWZ1bmN0aW9uKGUsdCxpKXt0aGlzLnR5cGU9PT1hLnNsYXNoJiZ0aGlzLnJlYWRSZWdleHAoKTt2YXIgcyxyPXRoaXMucG90ZW50aWFsQXJyb3dBdD09PXRoaXMuc3RhcnQ7c3dpdGNoKHRoaXMudHlwZSl7Y2FzZSBhLl9zdXBlcjpyZXR1cm4gdGhpcy5hbGxvd1N1cGVyfHx0aGlzLnJhaXNlKHRoaXMuc3RhcnQsXCInc3VwZXInIGtleXdvcmQgb3V0c2lkZSBhIG1ldGhvZFwiKSxzPXRoaXMuc3RhcnROb2RlKCksdGhpcy5uZXh0KCksdGhpcy50eXBlPT09YS5wYXJlbkwmJiF0aGlzLmFsbG93RGlyZWN0U3VwZXImJnRoaXMucmFpc2Uocy5zdGFydCxcInN1cGVyKCkgY2FsbCBvdXRzaWRlIGNvbnN0cnVjdG9yIG9mIGEgc3ViY2xhc3NcIiksdGhpcy50eXBlIT09YS5kb3QmJnRoaXMudHlwZSE9PWEuYnJhY2tldEwmJnRoaXMudHlwZSE9PWEucGFyZW5MJiZ0aGlzLnVuZXhwZWN0ZWQoKSx0aGlzLmZpbmlzaE5vZGUocyxcIlN1cGVyXCIpO2Nhc2UgYS5fdGhpczpyZXR1cm4gcz10aGlzLnN0YXJ0Tm9kZSgpLHRoaXMubmV4dCgpLHRoaXMuZmluaXNoTm9kZShzLFwiVGhpc0V4cHJlc3Npb25cIik7Y2FzZSBhLm5hbWU6dmFyIG49dGhpcy5zdGFydCxvPXRoaXMuc3RhcnRMb2MsdT10aGlzLmNvbnRhaW5zRXNjLHA9dGhpcy5wYXJzZUlkZW50KCExKTtpZih0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTgmJiF1JiZwLm5hbWU9PT1cImFzeW5jXCImJiF0aGlzLmNhbkluc2VydFNlbWljb2xvbigpJiZ0aGlzLmVhdChhLl9mdW5jdGlvbikpcmV0dXJuIHRoaXMub3ZlcnJpZGVDb250ZXh0KF8uZl9leHByKSx0aGlzLnBhcnNlRnVuY3Rpb24odGhpcy5zdGFydE5vZGVBdChuLG8pLDAsITEsITAsdCk7aWYociYmIXRoaXMuY2FuSW5zZXJ0U2VtaWNvbG9uKCkpe2lmKHRoaXMuZWF0KGEuYXJyb3cpKXJldHVybiB0aGlzLnBhcnNlQXJyb3dFeHByZXNzaW9uKHRoaXMuc3RhcnROb2RlQXQobixvKSxbcF0sITEsdCk7aWYodGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj04JiZwLm5hbWU9PT1cImFzeW5jXCImJnRoaXMudHlwZT09PWEubmFtZSYmIXUmJighdGhpcy5wb3RlbnRpYWxBcnJvd0luRm9yQXdhaXR8fHRoaXMudmFsdWUhPT1cIm9mXCJ8fHRoaXMuY29udGFpbnNFc2MpKXJldHVybiBwPXRoaXMucGFyc2VJZGVudCghMSksKHRoaXMuY2FuSW5zZXJ0U2VtaWNvbG9uKCl8fCF0aGlzLmVhdChhLmFycm93KSkmJnRoaXMudW5leHBlY3RlZCgpLHRoaXMucGFyc2VBcnJvd0V4cHJlc3Npb24odGhpcy5zdGFydE5vZGVBdChuLG8pLFtwXSwhMCx0KX1yZXR1cm4gcDtjYXNlIGEucmVnZXhwOnZhciBkPXRoaXMudmFsdWU7cmV0dXJuIHM9dGhpcy5wYXJzZUxpdGVyYWwoZC52YWx1ZSkscy5yZWdleD17cGF0dGVybjpkLnBhdHRlcm4sZmxhZ3M6ZC5mbGFnc30scztjYXNlIGEubnVtOmNhc2UgYS5zdHJpbmc6cmV0dXJuIHRoaXMucGFyc2VMaXRlcmFsKHRoaXMudmFsdWUpO2Nhc2UgYS5fbnVsbDpjYXNlIGEuX3RydWU6Y2FzZSBhLl9mYWxzZTpyZXR1cm4gcz10aGlzLnN0YXJ0Tm9kZSgpLHMudmFsdWU9dGhpcy50eXBlPT09YS5fbnVsbD9udWxsOnRoaXMudHlwZT09PWEuX3RydWUscy5yYXc9dGhpcy50eXBlLmtleXdvcmQsdGhpcy5uZXh0KCksdGhpcy5maW5pc2hOb2RlKHMsXCJMaXRlcmFsXCIpO2Nhc2UgYS5wYXJlbkw6dmFyIGY9dGhpcy5zdGFydCxDPXRoaXMucGFyc2VQYXJlbkFuZERpc3Rpbmd1aXNoRXhwcmVzc2lvbihyLHQpO3JldHVybiBlJiYoZS5wYXJlbnRoZXNpemVkQXNzaWduPDAmJiF0aGlzLmlzU2ltcGxlQXNzaWduVGFyZ2V0KEMpJiYoZS5wYXJlbnRoZXNpemVkQXNzaWduPWYpLGUucGFyZW50aGVzaXplZEJpbmQ8MCYmKGUucGFyZW50aGVzaXplZEJpbmQ9ZikpLEM7Y2FzZSBhLmJyYWNrZXRMOnJldHVybiBzPXRoaXMuc3RhcnROb2RlKCksdGhpcy5uZXh0KCkscy5lbGVtZW50cz10aGlzLnBhcnNlRXhwckxpc3QoYS5icmFja2V0UiwhMCwhMCxlKSx0aGlzLmZpbmlzaE5vZGUocyxcIkFycmF5RXhwcmVzc2lvblwiKTtjYXNlIGEuYnJhY2VMOnJldHVybiB0aGlzLm92ZXJyaWRlQ29udGV4dChfLmJfZXhwciksdGhpcy5wYXJzZU9iaighMSxlKTtjYXNlIGEuX2Z1bmN0aW9uOnJldHVybiBzPXRoaXMuc3RhcnROb2RlKCksdGhpcy5uZXh0KCksdGhpcy5wYXJzZUZ1bmN0aW9uKHMsMCk7Y2FzZSBhLl9jbGFzczpyZXR1cm4gdGhpcy5wYXJzZUNsYXNzKHRoaXMuc3RhcnROb2RlKCksITEpO2Nhc2UgYS5fbmV3OnJldHVybiB0aGlzLnBhcnNlTmV3KCk7Y2FzZSBhLmJhY2tRdW90ZTpyZXR1cm4gdGhpcy5wYXJzZVRlbXBsYXRlKCk7Y2FzZSBhLl9pbXBvcnQ6cmV0dXJuIHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49MTE/dGhpcy5wYXJzZUV4cHJJbXBvcnQoaSk6dGhpcy51bmV4cGVjdGVkKCk7ZGVmYXVsdDpyZXR1cm4gdGhpcy5wYXJzZUV4cHJBdG9tRGVmYXVsdCgpfX07eS5wYXJzZUV4cHJBdG9tRGVmYXVsdD1mdW5jdGlvbigpe3RoaXMudW5leHBlY3RlZCgpfTt5LnBhcnNlRXhwckltcG9ydD1mdW5jdGlvbihlKXt2YXIgdD10aGlzLnN0YXJ0Tm9kZSgpO2lmKHRoaXMuY29udGFpbnNFc2MmJnRoaXMucmFpc2VSZWNvdmVyYWJsZSh0aGlzLnN0YXJ0LFwiRXNjYXBlIHNlcXVlbmNlIGluIGtleXdvcmQgaW1wb3J0XCIpLHRoaXMubmV4dCgpLHRoaXMudHlwZT09PWEucGFyZW5MJiYhZSlyZXR1cm4gdGhpcy5wYXJzZUR5bmFtaWNJbXBvcnQodCk7aWYodGhpcy50eXBlPT09YS5kb3Qpe3ZhciBpPXRoaXMuc3RhcnROb2RlQXQodC5zdGFydCx0LmxvYyYmdC5sb2Muc3RhcnQpO3JldHVybiBpLm5hbWU9XCJpbXBvcnRcIix0Lm1ldGE9dGhpcy5maW5pc2hOb2RlKGksXCJJZGVudGlmaWVyXCIpLHRoaXMucGFyc2VJbXBvcnRNZXRhKHQpfWVsc2UgdGhpcy51bmV4cGVjdGVkKCl9O3kucGFyc2VEeW5hbWljSW1wb3J0PWZ1bmN0aW9uKGUpe2lmKHRoaXMubmV4dCgpLGUuc291cmNlPXRoaXMucGFyc2VNYXliZUFzc2lnbigpLHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49MTYpdGhpcy5lYXQoYS5wYXJlblIpP2Uub3B0aW9ucz1udWxsOih0aGlzLmV4cGVjdChhLmNvbW1hKSx0aGlzLmFmdGVyVHJhaWxpbmdDb21tYShhLnBhcmVuUik/ZS5vcHRpb25zPW51bGw6KGUub3B0aW9ucz10aGlzLnBhcnNlTWF5YmVBc3NpZ24oKSx0aGlzLmVhdChhLnBhcmVuUil8fCh0aGlzLmV4cGVjdChhLmNvbW1hKSx0aGlzLmFmdGVyVHJhaWxpbmdDb21tYShhLnBhcmVuUil8fHRoaXMudW5leHBlY3RlZCgpKSkpO2Vsc2UgaWYoIXRoaXMuZWF0KGEucGFyZW5SKSl7dmFyIHQ9dGhpcy5zdGFydDt0aGlzLmVhdChhLmNvbW1hKSYmdGhpcy5lYXQoYS5wYXJlblIpP3RoaXMucmFpc2VSZWNvdmVyYWJsZSh0LFwiVHJhaWxpbmcgY29tbWEgaXMgbm90IGFsbG93ZWQgaW4gaW1wb3J0KClcIik6dGhpcy51bmV4cGVjdGVkKHQpfXJldHVybiB0aGlzLmZpbmlzaE5vZGUoZSxcIkltcG9ydEV4cHJlc3Npb25cIil9O3kucGFyc2VJbXBvcnRNZXRhPWZ1bmN0aW9uKGUpe3RoaXMubmV4dCgpO3ZhciB0PXRoaXMuY29udGFpbnNFc2M7cmV0dXJuIGUucHJvcGVydHk9dGhpcy5wYXJzZUlkZW50KCEwKSxlLnByb3BlcnR5Lm5hbWUhPT1cIm1ldGFcIiYmdGhpcy5yYWlzZVJlY292ZXJhYmxlKGUucHJvcGVydHkuc3RhcnQsXCJUaGUgb25seSB2YWxpZCBtZXRhIHByb3BlcnR5IGZvciBpbXBvcnQgaXMgJ2ltcG9ydC5tZXRhJ1wiKSx0JiZ0aGlzLnJhaXNlUmVjb3ZlcmFibGUoZS5zdGFydCxcIidpbXBvcnQubWV0YScgbXVzdCBub3QgY29udGFpbiBlc2NhcGVkIGNoYXJhY3RlcnNcIiksdGhpcy5vcHRpb25zLnNvdXJjZVR5cGUhPT1cIm1vZHVsZVwiJiYhdGhpcy5vcHRpb25zLmFsbG93SW1wb3J0RXhwb3J0RXZlcnl3aGVyZSYmdGhpcy5yYWlzZVJlY292ZXJhYmxlKGUuc3RhcnQsXCJDYW5ub3QgdXNlICdpbXBvcnQubWV0YScgb3V0c2lkZSBhIG1vZHVsZVwiKSx0aGlzLmZpbmlzaE5vZGUoZSxcIk1ldGFQcm9wZXJ0eVwiKX07eS5wYXJzZUxpdGVyYWw9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdC52YWx1ZT1lLHQucmF3PXRoaXMuaW5wdXQuc2xpY2UodGhpcy5zdGFydCx0aGlzLmVuZCksdC5yYXcuY2hhckNvZGVBdCh0LnJhdy5sZW5ndGgtMSk9PT0xMTAmJih0LmJpZ2ludD10LnJhdy5zbGljZSgwLC0xKS5yZXBsYWNlKC9fL2csXCJcIikpLHRoaXMubmV4dCgpLHRoaXMuZmluaXNoTm9kZSh0LFwiTGl0ZXJhbFwiKX07eS5wYXJzZVBhcmVuRXhwcmVzc2lvbj1mdW5jdGlvbigpe3RoaXMuZXhwZWN0KGEucGFyZW5MKTt2YXIgZT10aGlzLnBhcnNlRXhwcmVzc2lvbigpO3JldHVybiB0aGlzLmV4cGVjdChhLnBhcmVuUiksZX07eS5zaG91bGRQYXJzZUFycm93PWZ1bmN0aW9uKGUpe3JldHVybiF0aGlzLmNhbkluc2VydFNlbWljb2xvbigpfTt5LnBhcnNlUGFyZW5BbmREaXN0aW5ndWlzaEV4cHJlc3Npb249ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzLnN0YXJ0LHM9dGhpcy5zdGFydExvYyxyLG49dGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj04O2lmKHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49Nil7dGhpcy5uZXh0KCk7dmFyIG89dGhpcy5zdGFydCx1PXRoaXMuc3RhcnRMb2MscD1bXSxkPSEwLGY9ITEsQz1uZXcgeWUsQj10aGlzLnlpZWxkUG9zLGg9dGhpcy5hd2FpdFBvcyxtO2Zvcih0aGlzLnlpZWxkUG9zPTAsdGhpcy5hd2FpdFBvcz0wO3RoaXMudHlwZSE9PWEucGFyZW5SOylpZihkP2Q9ITE6dGhpcy5leHBlY3QoYS5jb21tYSksbiYmdGhpcy5hZnRlclRyYWlsaW5nQ29tbWEoYS5wYXJlblIsITApKXtmPSEwO2JyZWFrfWVsc2UgaWYodGhpcy50eXBlPT09YS5lbGxpcHNpcyl7bT10aGlzLnN0YXJ0LHAucHVzaCh0aGlzLnBhcnNlUGFyZW5JdGVtKHRoaXMucGFyc2VSZXN0QmluZGluZygpKSksdGhpcy50eXBlPT09YS5jb21tYSYmdGhpcy5yYWlzZVJlY292ZXJhYmxlKHRoaXMuc3RhcnQsXCJDb21tYSBpcyBub3QgcGVybWl0dGVkIGFmdGVyIHRoZSByZXN0IGVsZW1lbnRcIik7YnJlYWt9ZWxzZSBwLnB1c2godGhpcy5wYXJzZU1heWJlQXNzaWduKCExLEMsdGhpcy5wYXJzZVBhcmVuSXRlbSkpO3ZhciB4PXRoaXMubGFzdFRva0VuZCxnPXRoaXMubGFzdFRva0VuZExvYztpZih0aGlzLmV4cGVjdChhLnBhcmVuUiksZSYmdGhpcy5zaG91bGRQYXJzZUFycm93KHApJiZ0aGlzLmVhdChhLmFycm93KSlyZXR1cm4gdGhpcy5jaGVja1BhdHRlcm5FcnJvcnMoQywhMSksdGhpcy5jaGVja1lpZWxkQXdhaXRJbkRlZmF1bHRQYXJhbXMoKSx0aGlzLnlpZWxkUG9zPUIsdGhpcy5hd2FpdFBvcz1oLHRoaXMucGFyc2VQYXJlbkFycm93TGlzdChpLHMscCx0KTsoIXAubGVuZ3RofHxmKSYmdGhpcy51bmV4cGVjdGVkKHRoaXMubGFzdFRva1N0YXJ0KSxtJiZ0aGlzLnVuZXhwZWN0ZWQobSksdGhpcy5jaGVja0V4cHJlc3Npb25FcnJvcnMoQywhMCksdGhpcy55aWVsZFBvcz1CfHx0aGlzLnlpZWxkUG9zLHRoaXMuYXdhaXRQb3M9aHx8dGhpcy5hd2FpdFBvcyxwLmxlbmd0aD4xPyhyPXRoaXMuc3RhcnROb2RlQXQobyx1KSxyLmV4cHJlc3Npb25zPXAsdGhpcy5maW5pc2hOb2RlQXQocixcIlNlcXVlbmNlRXhwcmVzc2lvblwiLHgsZykpOnI9cFswXX1lbHNlIHI9dGhpcy5wYXJzZVBhcmVuRXhwcmVzc2lvbigpO2lmKHRoaXMub3B0aW9ucy5wcmVzZXJ2ZVBhcmVucyl7dmFyIHc9dGhpcy5zdGFydE5vZGVBdChpLHMpO3JldHVybiB3LmV4cHJlc3Npb249cix0aGlzLmZpbmlzaE5vZGUodyxcIlBhcmVudGhlc2l6ZWRFeHByZXNzaW9uXCIpfWVsc2UgcmV0dXJuIHJ9O3kucGFyc2VQYXJlbkl0ZW09ZnVuY3Rpb24oZSl7cmV0dXJuIGV9O3kucGFyc2VQYXJlbkFycm93TGlzdD1mdW5jdGlvbihlLHQsaSxzKXtyZXR1cm4gdGhpcy5wYXJzZUFycm93RXhwcmVzc2lvbih0aGlzLnN0YXJ0Tm9kZUF0KGUsdCksaSwhMSxzKX07dmFyIERpPVtdO3kucGFyc2VOZXc9ZnVuY3Rpb24oKXt0aGlzLmNvbnRhaW5zRXNjJiZ0aGlzLnJhaXNlUmVjb3ZlcmFibGUodGhpcy5zdGFydCxcIkVzY2FwZSBzZXF1ZW5jZSBpbiBrZXl3b3JkIG5ld1wiKTt2YXIgZT10aGlzLnN0YXJ0Tm9kZSgpO2lmKHRoaXMubmV4dCgpLHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49NiYmdGhpcy50eXBlPT09YS5kb3Qpe3ZhciB0PXRoaXMuc3RhcnROb2RlQXQoZS5zdGFydCxlLmxvYyYmZS5sb2Muc3RhcnQpO3QubmFtZT1cIm5ld1wiLGUubWV0YT10aGlzLmZpbmlzaE5vZGUodCxcIklkZW50aWZpZXJcIiksdGhpcy5uZXh0KCk7dmFyIGk9dGhpcy5jb250YWluc0VzYztyZXR1cm4gZS5wcm9wZXJ0eT10aGlzLnBhcnNlSWRlbnQoITApLGUucHJvcGVydHkubmFtZSE9PVwidGFyZ2V0XCImJnRoaXMucmFpc2VSZWNvdmVyYWJsZShlLnByb3BlcnR5LnN0YXJ0LFwiVGhlIG9ubHkgdmFsaWQgbWV0YSBwcm9wZXJ0eSBmb3IgbmV3IGlzICduZXcudGFyZ2V0J1wiKSxpJiZ0aGlzLnJhaXNlUmVjb3ZlcmFibGUoZS5zdGFydCxcIiduZXcudGFyZ2V0JyBtdXN0IG5vdCBjb250YWluIGVzY2FwZWQgY2hhcmFjdGVyc1wiKSx0aGlzLmFsbG93TmV3RG90VGFyZ2V0fHx0aGlzLnJhaXNlUmVjb3ZlcmFibGUoZS5zdGFydCxcIiduZXcudGFyZ2V0JyBjYW4gb25seSBiZSB1c2VkIGluIGZ1bmN0aW9ucyBhbmQgY2xhc3Mgc3RhdGljIGJsb2NrXCIpLHRoaXMuZmluaXNoTm9kZShlLFwiTWV0YVByb3BlcnR5XCIpfXZhciBzPXRoaXMuc3RhcnQscj10aGlzLnN0YXJ0TG9jO3JldHVybiBlLmNhbGxlZT10aGlzLnBhcnNlU3Vic2NyaXB0cyh0aGlzLnBhcnNlRXhwckF0b20obnVsbCwhMSwhMCkscyxyLCEwLCExKSx0aGlzLmVhdChhLnBhcmVuTCk/ZS5hcmd1bWVudHM9dGhpcy5wYXJzZUV4cHJMaXN0KGEucGFyZW5SLHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49OCwhMSk6ZS5hcmd1bWVudHM9RGksdGhpcy5maW5pc2hOb2RlKGUsXCJOZXdFeHByZXNzaW9uXCIpfTt5LnBhcnNlVGVtcGxhdGVFbGVtZW50PWZ1bmN0aW9uKGUpe3ZhciB0PWUuaXNUYWdnZWQsaT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLnR5cGU9PT1hLmludmFsaWRUZW1wbGF0ZT8odHx8dGhpcy5yYWlzZVJlY292ZXJhYmxlKHRoaXMuc3RhcnQsXCJCYWQgZXNjYXBlIHNlcXVlbmNlIGluIHVudGFnZ2VkIHRlbXBsYXRlIGxpdGVyYWxcIiksaS52YWx1ZT17cmF3OnRoaXMudmFsdWUucmVwbGFjZSgvXFxyXFxuPy9nLGBcbmApLGNvb2tlZDpudWxsfSk6aS52YWx1ZT17cmF3OnRoaXMuaW5wdXQuc2xpY2UodGhpcy5zdGFydCx0aGlzLmVuZCkucmVwbGFjZSgvXFxyXFxuPy9nLGBcbmApLGNvb2tlZDp0aGlzLnZhbHVlfSx0aGlzLm5leHQoKSxpLnRhaWw9dGhpcy50eXBlPT09YS5iYWNrUXVvdGUsdGhpcy5maW5pc2hOb2RlKGksXCJUZW1wbGF0ZUVsZW1lbnRcIil9O3kucGFyc2VUZW1wbGF0ZT1mdW5jdGlvbihlKXtlPT09dm9pZCAwJiYoZT17fSk7dmFyIHQ9ZS5pc1RhZ2dlZDt0PT09dm9pZCAwJiYodD0hMSk7dmFyIGk9dGhpcy5zdGFydE5vZGUoKTt0aGlzLm5leHQoKSxpLmV4cHJlc3Npb25zPVtdO3ZhciBzPXRoaXMucGFyc2VUZW1wbGF0ZUVsZW1lbnQoe2lzVGFnZ2VkOnR9KTtmb3IoaS5xdWFzaXM9W3NdOyFzLnRhaWw7KXRoaXMudHlwZT09PWEuZW9mJiZ0aGlzLnJhaXNlKHRoaXMucG9zLFwiVW50ZXJtaW5hdGVkIHRlbXBsYXRlIGxpdGVyYWxcIiksdGhpcy5leHBlY3QoYS5kb2xsYXJCcmFjZUwpLGkuZXhwcmVzc2lvbnMucHVzaCh0aGlzLnBhcnNlRXhwcmVzc2lvbigpKSx0aGlzLmV4cGVjdChhLmJyYWNlUiksaS5xdWFzaXMucHVzaChzPXRoaXMucGFyc2VUZW1wbGF0ZUVsZW1lbnQoe2lzVGFnZ2VkOnR9KSk7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMuZmluaXNoTm9kZShpLFwiVGVtcGxhdGVMaXRlcmFsXCIpfTt5LmlzQXN5bmNQcm9wPWZ1bmN0aW9uKGUpe3JldHVybiFlLmNvbXB1dGVkJiZlLmtleS50eXBlPT09XCJJZGVudGlmaWVyXCImJmUua2V5Lm5hbWU9PT1cImFzeW5jXCImJih0aGlzLnR5cGU9PT1hLm5hbWV8fHRoaXMudHlwZT09PWEubnVtfHx0aGlzLnR5cGU9PT1hLnN0cmluZ3x8dGhpcy50eXBlPT09YS5icmFja2V0THx8dGhpcy50eXBlLmtleXdvcmR8fHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49OSYmdGhpcy50eXBlPT09YS5zdGFyKSYmIUwudGVzdCh0aGlzLmlucHV0LnNsaWNlKHRoaXMubGFzdFRva0VuZCx0aGlzLnN0YXJ0KSl9O3kucGFyc2VPYmo9ZnVuY3Rpb24oZSx0KXt2YXIgaT10aGlzLnN0YXJ0Tm9kZSgpLHM9ITAscj17fTtmb3IoaS5wcm9wZXJ0aWVzPVtdLHRoaXMubmV4dCgpOyF0aGlzLmVhdChhLmJyYWNlUik7KXtpZihzKXM9ITE7ZWxzZSBpZih0aGlzLmV4cGVjdChhLmNvbW1hKSx0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTUmJnRoaXMuYWZ0ZXJUcmFpbGluZ0NvbW1hKGEuYnJhY2VSKSlicmVhazt2YXIgbj10aGlzLnBhcnNlUHJvcGVydHkoZSx0KTtlfHx0aGlzLmNoZWNrUHJvcENsYXNoKG4scix0KSxpLnByb3BlcnRpZXMucHVzaChuKX1yZXR1cm4gdGhpcy5maW5pc2hOb2RlKGksZT9cIk9iamVjdFBhdHRlcm5cIjpcIk9iamVjdEV4cHJlc3Npb25cIil9O3kucGFyc2VQcm9wZXJ0eT1mdW5jdGlvbihlLHQpe3ZhciBpPXRoaXMuc3RhcnROb2RlKCkscyxyLG4sbztpZih0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTkmJnRoaXMuZWF0KGEuZWxsaXBzaXMpKXJldHVybiBlPyhpLmFyZ3VtZW50PXRoaXMucGFyc2VJZGVudCghMSksdGhpcy50eXBlPT09YS5jb21tYSYmdGhpcy5yYWlzZVJlY292ZXJhYmxlKHRoaXMuc3RhcnQsXCJDb21tYSBpcyBub3QgcGVybWl0dGVkIGFmdGVyIHRoZSByZXN0IGVsZW1lbnRcIiksdGhpcy5maW5pc2hOb2RlKGksXCJSZXN0RWxlbWVudFwiKSk6KGkuYXJndW1lbnQ9dGhpcy5wYXJzZU1heWJlQXNzaWduKCExLHQpLHRoaXMudHlwZT09PWEuY29tbWEmJnQmJnQudHJhaWxpbmdDb21tYTwwJiYodC50cmFpbGluZ0NvbW1hPXRoaXMuc3RhcnQpLHRoaXMuZmluaXNoTm9kZShpLFwiU3ByZWFkRWxlbWVudFwiKSk7dGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj02JiYoaS5tZXRob2Q9ITEsaS5zaG9ydGhhbmQ9ITEsKGV8fHQpJiYobj10aGlzLnN0YXJ0LG89dGhpcy5zdGFydExvYyksZXx8KHM9dGhpcy5lYXQoYS5zdGFyKSkpO3ZhciB1PXRoaXMuY29udGFpbnNFc2M7cmV0dXJuIHRoaXMucGFyc2VQcm9wZXJ0eU5hbWUoaSksIWUmJiF1JiZ0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTgmJiFzJiZ0aGlzLmlzQXN5bmNQcm9wKGkpPyhyPSEwLHM9dGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj05JiZ0aGlzLmVhdChhLnN0YXIpLHRoaXMucGFyc2VQcm9wZXJ0eU5hbWUoaSkpOnI9ITEsdGhpcy5wYXJzZVByb3BlcnR5VmFsdWUoaSxlLHMscixuLG8sdCx1KSx0aGlzLmZpbmlzaE5vZGUoaSxcIlByb3BlcnR5XCIpfTt5LnBhcnNlR2V0dGVyU2V0dGVyPWZ1bmN0aW9uKGUpe2Uua2luZD1lLmtleS5uYW1lLHRoaXMucGFyc2VQcm9wZXJ0eU5hbWUoZSksZS52YWx1ZT10aGlzLnBhcnNlTWV0aG9kKCExKTt2YXIgdD1lLmtpbmQ9PT1cImdldFwiPzA6MTtpZihlLnZhbHVlLnBhcmFtcy5sZW5ndGghPT10KXt2YXIgaT1lLnZhbHVlLnN0YXJ0O2Uua2luZD09PVwiZ2V0XCI/dGhpcy5yYWlzZVJlY292ZXJhYmxlKGksXCJnZXR0ZXIgc2hvdWxkIGhhdmUgbm8gcGFyYW1zXCIpOnRoaXMucmFpc2VSZWNvdmVyYWJsZShpLFwic2V0dGVyIHNob3VsZCBoYXZlIGV4YWN0bHkgb25lIHBhcmFtXCIpfWVsc2UgZS5raW5kPT09XCJzZXRcIiYmZS52YWx1ZS5wYXJhbXNbMF0udHlwZT09PVwiUmVzdEVsZW1lbnRcIiYmdGhpcy5yYWlzZVJlY292ZXJhYmxlKGUudmFsdWUucGFyYW1zWzBdLnN0YXJ0LFwiU2V0dGVyIGNhbm5vdCB1c2UgcmVzdCBwYXJhbXNcIil9O3kucGFyc2VQcm9wZXJ0eVZhbHVlPWZ1bmN0aW9uKGUsdCxpLHMscixuLG8sdSl7KGl8fHMpJiZ0aGlzLnR5cGU9PT1hLmNvbG9uJiZ0aGlzLnVuZXhwZWN0ZWQoKSx0aGlzLmVhdChhLmNvbG9uKT8oZS52YWx1ZT10P3RoaXMucGFyc2VNYXliZURlZmF1bHQodGhpcy5zdGFydCx0aGlzLnN0YXJ0TG9jKTp0aGlzLnBhcnNlTWF5YmVBc3NpZ24oITEsbyksZS5raW5kPVwiaW5pdFwiKTp0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTYmJnRoaXMudHlwZT09PWEucGFyZW5MPyh0JiZ0aGlzLnVuZXhwZWN0ZWQoKSxlLmtpbmQ9XCJpbml0XCIsZS5tZXRob2Q9ITAsZS52YWx1ZT10aGlzLnBhcnNlTWV0aG9kKGkscykpOiF0JiYhdSYmdGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj01JiYhZS5jb21wdXRlZCYmZS5rZXkudHlwZT09PVwiSWRlbnRpZmllclwiJiYoZS5rZXkubmFtZT09PVwiZ2V0XCJ8fGUua2V5Lm5hbWU9PT1cInNldFwiKSYmdGhpcy50eXBlIT09YS5jb21tYSYmdGhpcy50eXBlIT09YS5icmFjZVImJnRoaXMudHlwZSE9PWEuZXE/KChpfHxzKSYmdGhpcy51bmV4cGVjdGVkKCksdGhpcy5wYXJzZUdldHRlclNldHRlcihlKSk6dGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj02JiYhZS5jb21wdXRlZCYmZS5rZXkudHlwZT09PVwiSWRlbnRpZmllclwiPygoaXx8cykmJnRoaXMudW5leHBlY3RlZCgpLHRoaXMuY2hlY2tVbnJlc2VydmVkKGUua2V5KSxlLmtleS5uYW1lPT09XCJhd2FpdFwiJiYhdGhpcy5hd2FpdElkZW50UG9zJiYodGhpcy5hd2FpdElkZW50UG9zPXIpLGUua2luZD1cImluaXRcIix0P2UudmFsdWU9dGhpcy5wYXJzZU1heWJlRGVmYXVsdChyLG4sdGhpcy5jb3B5Tm9kZShlLmtleSkpOnRoaXMudHlwZT09PWEuZXEmJm8/KG8uc2hvcnRoYW5kQXNzaWduPDAmJihvLnNob3J0aGFuZEFzc2lnbj10aGlzLnN0YXJ0KSxlLnZhbHVlPXRoaXMucGFyc2VNYXliZURlZmF1bHQocixuLHRoaXMuY29weU5vZGUoZS5rZXkpKSk6ZS52YWx1ZT10aGlzLmNvcHlOb2RlKGUua2V5KSxlLnNob3J0aGFuZD0hMCk6dGhpcy51bmV4cGVjdGVkKCl9O3kucGFyc2VQcm9wZXJ0eU5hbWU9ZnVuY3Rpb24oZSl7aWYodGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj02KXtpZih0aGlzLmVhdChhLmJyYWNrZXRMKSlyZXR1cm4gZS5jb21wdXRlZD0hMCxlLmtleT10aGlzLnBhcnNlTWF5YmVBc3NpZ24oKSx0aGlzLmV4cGVjdChhLmJyYWNrZXRSKSxlLmtleTtlLmNvbXB1dGVkPSExfXJldHVybiBlLmtleT10aGlzLnR5cGU9PT1hLm51bXx8dGhpcy50eXBlPT09YS5zdHJpbmc/dGhpcy5wYXJzZUV4cHJBdG9tKCk6dGhpcy5wYXJzZUlkZW50KHRoaXMub3B0aW9ucy5hbGxvd1Jlc2VydmVkIT09XCJuZXZlclwiKX07eS5pbml0RnVuY3Rpb249ZnVuY3Rpb24oZSl7ZS5pZD1udWxsLHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49NiYmKGUuZ2VuZXJhdG9yPWUuZXhwcmVzc2lvbj0hMSksdGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj04JiYoZS5hc3luYz0hMSl9O3kucGFyc2VNZXRob2Q9ZnVuY3Rpb24oZSx0LGkpe3ZhciBzPXRoaXMuc3RhcnROb2RlKCkscj10aGlzLnlpZWxkUG9zLG49dGhpcy5hd2FpdFBvcyxvPXRoaXMuYXdhaXRJZGVudFBvcztyZXR1cm4gdGhpcy5pbml0RnVuY3Rpb24ocyksdGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj02JiYocy5nZW5lcmF0b3I9ZSksdGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj04JiYocy5hc3luYz0hIXQpLHRoaXMueWllbGRQb3M9MCx0aGlzLmF3YWl0UG9zPTAsdGhpcy5hd2FpdElkZW50UG9zPTAsdGhpcy5lbnRlclNjb3BlKGplKHQscy5nZW5lcmF0b3IpfERlfChpP210OjApKSx0aGlzLmV4cGVjdChhLnBhcmVuTCkscy5wYXJhbXM9dGhpcy5wYXJzZUJpbmRpbmdMaXN0KGEucGFyZW5SLCExLHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49OCksdGhpcy5jaGVja1lpZWxkQXdhaXRJbkRlZmF1bHRQYXJhbXMoKSx0aGlzLnBhcnNlRnVuY3Rpb25Cb2R5KHMsITEsITAsITEpLHRoaXMueWllbGRQb3M9cix0aGlzLmF3YWl0UG9zPW4sdGhpcy5hd2FpdElkZW50UG9zPW8sdGhpcy5maW5pc2hOb2RlKHMsXCJGdW5jdGlvbkV4cHJlc3Npb25cIil9O3kucGFyc2VBcnJvd0V4cHJlc3Npb249ZnVuY3Rpb24oZSx0LGkscyl7dmFyIHI9dGhpcy55aWVsZFBvcyxuPXRoaXMuYXdhaXRQb3Msbz10aGlzLmF3YWl0SWRlbnRQb3M7cmV0dXJuIHRoaXMuZW50ZXJTY29wZShqZShpLCExKXxmdCksdGhpcy5pbml0RnVuY3Rpb24oZSksdGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj04JiYoZS5hc3luYz0hIWkpLHRoaXMueWllbGRQb3M9MCx0aGlzLmF3YWl0UG9zPTAsdGhpcy5hd2FpdElkZW50UG9zPTAsZS5wYXJhbXM9dGhpcy50b0Fzc2lnbmFibGVMaXN0KHQsITApLHRoaXMucGFyc2VGdW5jdGlvbkJvZHkoZSwhMCwhMSxzKSx0aGlzLnlpZWxkUG9zPXIsdGhpcy5hd2FpdFBvcz1uLHRoaXMuYXdhaXRJZGVudFBvcz1vLHRoaXMuZmluaXNoTm9kZShlLFwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIil9O3kucGFyc2VGdW5jdGlvbkJvZHk9ZnVuY3Rpb24oZSx0LGkscyl7dmFyIHI9dCYmdGhpcy50eXBlIT09YS5icmFjZUwsbj10aGlzLnN0cmljdCxvPSExO2lmKHIpZS5ib2R5PXRoaXMucGFyc2VNYXliZUFzc2lnbihzKSxlLmV4cHJlc3Npb249ITAsdGhpcy5jaGVja1BhcmFtcyhlLCExKTtlbHNle3ZhciB1PXRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49NyYmIXRoaXMuaXNTaW1wbGVQYXJhbUxpc3QoZS5wYXJhbXMpOyghbnx8dSkmJihvPXRoaXMuc3RyaWN0RGlyZWN0aXZlKHRoaXMuZW5kKSxvJiZ1JiZ0aGlzLnJhaXNlUmVjb3ZlcmFibGUoZS5zdGFydCxcIklsbGVnYWwgJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSBpbiBmdW5jdGlvbiB3aXRoIG5vbi1zaW1wbGUgcGFyYW1ldGVyIGxpc3RcIikpO3ZhciBwPXRoaXMubGFiZWxzO3RoaXMubGFiZWxzPVtdLG8mJih0aGlzLnN0cmljdD0hMCksdGhpcy5jaGVja1BhcmFtcyhlLCFuJiYhbyYmIXQmJiFpJiZ0aGlzLmlzU2ltcGxlUGFyYW1MaXN0KGUucGFyYW1zKSksdGhpcy5zdHJpY3QmJmUuaWQmJnRoaXMuY2hlY2tMVmFsU2ltcGxlKGUuaWQsZ3QpLGUuYm9keT10aGlzLnBhcnNlQmxvY2soITEsdm9pZCAwLG8mJiFuKSxlLmV4cHJlc3Npb249ITEsdGhpcy5hZGFwdERpcmVjdGl2ZVByb2xvZ3VlKGUuYm9keS5ib2R5KSx0aGlzLmxhYmVscz1wfXRoaXMuZXhpdFNjb3BlKCl9O3kuaXNTaW1wbGVQYXJhbUxpc3Q9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTAsaT1lO3Q8aS5sZW5ndGg7dCs9MSl7dmFyIHM9aVt0XTtpZihzLnR5cGUhPT1cIklkZW50aWZpZXJcIilyZXR1cm4hMX1yZXR1cm4hMH07eS5jaGVja1BhcmFtcz1mdW5jdGlvbihlLHQpe2Zvcih2YXIgaT1PYmplY3QuY3JlYXRlKG51bGwpLHM9MCxyPWUucGFyYW1zO3M8ci5sZW5ndGg7cys9MSl7dmFyIG49cltzXTt0aGlzLmNoZWNrTFZhbElubmVyUGF0dGVybihuLE1lLHQ/bnVsbDppKX19O3kucGFyc2VFeHByTGlzdD1mdW5jdGlvbihlLHQsaSxzKXtmb3IodmFyIHI9W10sbj0hMDshdGhpcy5lYXQoZSk7KXtpZihuKW49ITE7ZWxzZSBpZih0aGlzLmV4cGVjdChhLmNvbW1hKSx0JiZ0aGlzLmFmdGVyVHJhaWxpbmdDb21tYShlKSlicmVhazt2YXIgbz12b2lkIDA7aSYmdGhpcy50eXBlPT09YS5jb21tYT9vPW51bGw6dGhpcy50eXBlPT09YS5lbGxpcHNpcz8obz10aGlzLnBhcnNlU3ByZWFkKHMpLHMmJnRoaXMudHlwZT09PWEuY29tbWEmJnMudHJhaWxpbmdDb21tYTwwJiYocy50cmFpbGluZ0NvbW1hPXRoaXMuc3RhcnQpKTpvPXRoaXMucGFyc2VNYXliZUFzc2lnbighMSxzKSxyLnB1c2gobyl9cmV0dXJuIHJ9O3kuY2hlY2tVbnJlc2VydmVkPWZ1bmN0aW9uKGUpe3ZhciB0PWUuc3RhcnQsaT1lLmVuZCxzPWUubmFtZTtpZih0aGlzLmluR2VuZXJhdG9yJiZzPT09XCJ5aWVsZFwiJiZ0aGlzLnJhaXNlUmVjb3ZlcmFibGUodCxcIkNhbm5vdCB1c2UgJ3lpZWxkJyBhcyBpZGVudGlmaWVyIGluc2lkZSBhIGdlbmVyYXRvclwiKSx0aGlzLmluQXN5bmMmJnM9PT1cImF3YWl0XCImJnRoaXMucmFpc2VSZWNvdmVyYWJsZSh0LFwiQ2Fubm90IHVzZSAnYXdhaXQnIGFzIGlkZW50aWZpZXIgaW5zaWRlIGFuIGFzeW5jIGZ1bmN0aW9uXCIpLHRoaXMuY3VycmVudFRoaXNTY29wZSgpLmluQ2xhc3NGaWVsZEluaXQmJnM9PT1cImFyZ3VtZW50c1wiJiZ0aGlzLnJhaXNlUmVjb3ZlcmFibGUodCxcIkNhbm5vdCB1c2UgJ2FyZ3VtZW50cycgaW4gY2xhc3MgZmllbGQgaW5pdGlhbGl6ZXJcIiksdGhpcy5pbkNsYXNzU3RhdGljQmxvY2smJihzPT09XCJhcmd1bWVudHNcInx8cz09PVwiYXdhaXRcIikmJnRoaXMucmFpc2UodCxcIkNhbm5vdCB1c2UgXCIrcytcIiBpbiBjbGFzcyBzdGF0aWMgaW5pdGlhbGl6YXRpb24gYmxvY2tcIiksdGhpcy5rZXl3b3Jkcy50ZXN0KHMpJiZ0aGlzLnJhaXNlKHQsXCJVbmV4cGVjdGVkIGtleXdvcmQgJ1wiK3MrXCInXCIpLCEodGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPDYmJnRoaXMuaW5wdXQuc2xpY2UodCxpKS5pbmRleE9mKFwiXFxcXFwiKSE9PS0xKSl7dmFyIHI9dGhpcy5zdHJpY3Q/dGhpcy5yZXNlcnZlZFdvcmRzU3RyaWN0OnRoaXMucmVzZXJ2ZWRXb3JkcztyLnRlc3QocykmJighdGhpcy5pbkFzeW5jJiZzPT09XCJhd2FpdFwiJiZ0aGlzLnJhaXNlUmVjb3ZlcmFibGUodCxcIkNhbm5vdCB1c2Uga2V5d29yZCAnYXdhaXQnIG91dHNpZGUgYW4gYXN5bmMgZnVuY3Rpb25cIiksdGhpcy5yYWlzZVJlY292ZXJhYmxlKHQsXCJUaGUga2V5d29yZCAnXCIrcytcIicgaXMgcmVzZXJ2ZWRcIikpfX07eS5wYXJzZUlkZW50PWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucGFyc2VJZGVudE5vZGUoKTtyZXR1cm4gdGhpcy5uZXh0KCEhZSksdGhpcy5maW5pc2hOb2RlKHQsXCJJZGVudGlmaWVyXCIpLGV8fCh0aGlzLmNoZWNrVW5yZXNlcnZlZCh0KSx0Lm5hbWU9PT1cImF3YWl0XCImJiF0aGlzLmF3YWl0SWRlbnRQb3MmJih0aGlzLmF3YWl0SWRlbnRQb3M9dC5zdGFydCkpLHR9O3kucGFyc2VJZGVudE5vZGU9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLnR5cGU9PT1hLm5hbWU/ZS5uYW1lPXRoaXMudmFsdWU6dGhpcy50eXBlLmtleXdvcmQ/KGUubmFtZT10aGlzLnR5cGUua2V5d29yZCwoZS5uYW1lPT09XCJjbGFzc1wifHxlLm5hbWU9PT1cImZ1bmN0aW9uXCIpJiYodGhpcy5sYXN0VG9rRW5kIT09dGhpcy5sYXN0VG9rU3RhcnQrMXx8dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMubGFzdFRva1N0YXJ0KSE9PTQ2KSYmdGhpcy5jb250ZXh0LnBvcCgpLHRoaXMudHlwZT1hLm5hbWUpOnRoaXMudW5leHBlY3RlZCgpLGV9O3kucGFyc2VQcml2YXRlSWRlbnQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLnR5cGU9PT1hLnByaXZhdGVJZD9lLm5hbWU9dGhpcy52YWx1ZTp0aGlzLnVuZXhwZWN0ZWQoKSx0aGlzLm5leHQoKSx0aGlzLmZpbmlzaE5vZGUoZSxcIlByaXZhdGVJZGVudGlmaWVyXCIpLHRoaXMub3B0aW9ucy5jaGVja1ByaXZhdGVGaWVsZHMmJih0aGlzLnByaXZhdGVOYW1lU3RhY2subGVuZ3RoPT09MD90aGlzLnJhaXNlKGUuc3RhcnQsXCJQcml2YXRlIGZpZWxkICcjXCIrZS5uYW1lK1wiJyBtdXN0IGJlIGRlY2xhcmVkIGluIGFuIGVuY2xvc2luZyBjbGFzc1wiKTp0aGlzLnByaXZhdGVOYW1lU3RhY2tbdGhpcy5wcml2YXRlTmFtZVN0YWNrLmxlbmd0aC0xXS51c2VkLnB1c2goZSkpLGV9O3kucGFyc2VZaWVsZD1mdW5jdGlvbihlKXt0aGlzLnlpZWxkUG9zfHwodGhpcy55aWVsZFBvcz10aGlzLnN0YXJ0KTt2YXIgdD10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLm5leHQoKSx0aGlzLnR5cGU9PT1hLnNlbWl8fHRoaXMuY2FuSW5zZXJ0U2VtaWNvbG9uKCl8fHRoaXMudHlwZSE9PWEuc3RhciYmIXRoaXMudHlwZS5zdGFydHNFeHByPyh0LmRlbGVnYXRlPSExLHQuYXJndW1lbnQ9bnVsbCk6KHQuZGVsZWdhdGU9dGhpcy5lYXQoYS5zdGFyKSx0LmFyZ3VtZW50PXRoaXMucGFyc2VNYXliZUFzc2lnbihlKSksdGhpcy5maW5pc2hOb2RlKHQsXCJZaWVsZEV4cHJlc3Npb25cIil9O3kucGFyc2VBd2FpdD1mdW5jdGlvbihlKXt0aGlzLmF3YWl0UG9zfHwodGhpcy5hd2FpdFBvcz10aGlzLnN0YXJ0KTt2YXIgdD10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLm5leHQoKSx0LmFyZ3VtZW50PXRoaXMucGFyc2VNYXliZVVuYXJ5KG51bGwsITAsITEsZSksdGhpcy5maW5pc2hOb2RlKHQsXCJBd2FpdEV4cHJlc3Npb25cIil9O3ZhciBkZT1ULnByb3RvdHlwZTtkZS5yYWlzZT1mdW5jdGlvbihlLHQpe3ZhciBpPWN0KHRoaXMuaW5wdXQsZSk7dCs9XCIgKFwiK2kubGluZStcIjpcIitpLmNvbHVtbitcIilcIjt2YXIgcz1uZXcgU3ludGF4RXJyb3IodCk7dGhyb3cgcy5wb3M9ZSxzLmxvYz1pLHMucmFpc2VkQXQ9dGhpcy5wb3Msc307ZGUucmFpc2VSZWNvdmVyYWJsZT1kZS5yYWlzZTtkZS5jdXJQb3NpdGlvbj1mdW5jdGlvbigpe2lmKHRoaXMub3B0aW9ucy5sb2NhdGlvbnMpcmV0dXJuIG5ldyBpZSh0aGlzLmN1ckxpbmUsdGhpcy5wb3MtdGhpcy5saW5lU3RhcnQpfTt2YXIgVz1ULnByb3RvdHlwZSxGaT1mdW5jdGlvbih0KXt0aGlzLmZsYWdzPXQsdGhpcy52YXI9W10sdGhpcy5sZXhpY2FsPVtdLHRoaXMuZnVuY3Rpb25zPVtdLHRoaXMuaW5DbGFzc0ZpZWxkSW5pdD0hMX07Vy5lbnRlclNjb3BlPWZ1bmN0aW9uKGUpe3RoaXMuc2NvcGVTdGFjay5wdXNoKG5ldyBGaShlKSl9O1cuZXhpdFNjb3BlPWZ1bmN0aW9uKCl7dGhpcy5zY29wZVN0YWNrLnBvcCgpfTtXLnRyZWF0RnVuY3Rpb25zQXNWYXJJblNjb3BlPWZ1bmN0aW9uKGUpe3JldHVybiBlLmZsYWdzJlp8fCF0aGlzLmluTW9kdWxlJiZlLmZsYWdzJnNlfTtXLmRlY2xhcmVOYW1lPWZ1bmN0aW9uKGUsdCxpKXt2YXIgcz0hMTtpZih0PT09Ryl7dmFyIHI9dGhpcy5jdXJyZW50U2NvcGUoKTtzPXIubGV4aWNhbC5pbmRleE9mKGUpPi0xfHxyLmZ1bmN0aW9ucy5pbmRleE9mKGUpPi0xfHxyLnZhci5pbmRleE9mKGUpPi0xLHIubGV4aWNhbC5wdXNoKGUpLHRoaXMuaW5Nb2R1bGUmJnIuZmxhZ3Mmc2UmJmRlbGV0ZSB0aGlzLnVuZGVmaW5lZEV4cG9ydHNbZV19ZWxzZSBpZih0PT09eXQpe3ZhciBuPXRoaXMuY3VycmVudFNjb3BlKCk7bi5sZXhpY2FsLnB1c2goZSl9ZWxzZSBpZih0PT09eHQpe3ZhciBvPXRoaXMuY3VycmVudFNjb3BlKCk7dGhpcy50cmVhdEZ1bmN0aW9uc0FzVmFyP3M9by5sZXhpY2FsLmluZGV4T2YoZSk+LTE6cz1vLmxleGljYWwuaW5kZXhPZihlKT4tMXx8by52YXIuaW5kZXhPZihlKT4tMSxvLmZ1bmN0aW9ucy5wdXNoKGUpfWVsc2UgZm9yKHZhciB1PXRoaXMuc2NvcGVTdGFjay5sZW5ndGgtMTt1Pj0wOy0tdSl7dmFyIHA9dGhpcy5zY29wZVN0YWNrW3VdO2lmKHAubGV4aWNhbC5pbmRleE9mKGUpPi0xJiYhKHAuZmxhZ3MmZHQmJnAubGV4aWNhbFswXT09PWUpfHwhdGhpcy50cmVhdEZ1bmN0aW9uc0FzVmFySW5TY29wZShwKSYmcC5mdW5jdGlvbnMuaW5kZXhPZihlKT4tMSl7cz0hMDticmVha31pZihwLnZhci5wdXNoKGUpLHRoaXMuaW5Nb2R1bGUmJnAuZmxhZ3Mmc2UmJmRlbGV0ZSB0aGlzLnVuZGVmaW5lZEV4cG9ydHNbZV0scC5mbGFncyZGZSlicmVha31zJiZ0aGlzLnJhaXNlUmVjb3ZlcmFibGUoaSxcIklkZW50aWZpZXIgJ1wiK2UrXCInIGhhcyBhbHJlYWR5IGJlZW4gZGVjbGFyZWRcIil9O1cuY2hlY2tMb2NhbEV4cG9ydD1mdW5jdGlvbihlKXt0aGlzLnNjb3BlU3RhY2tbMF0ubGV4aWNhbC5pbmRleE9mKGUubmFtZSk9PT0tMSYmdGhpcy5zY29wZVN0YWNrWzBdLnZhci5pbmRleE9mKGUubmFtZSk9PT0tMSYmKHRoaXMudW5kZWZpbmVkRXhwb3J0c1tlLm5hbWVdPWUpfTtXLmN1cnJlbnRTY29wZT1mdW5jdGlvbigpe3JldHVybiB0aGlzLnNjb3BlU3RhY2tbdGhpcy5zY29wZVN0YWNrLmxlbmd0aC0xXX07Vy5jdXJyZW50VmFyU2NvcGU9ZnVuY3Rpb24oKXtmb3IodmFyIGU9dGhpcy5zY29wZVN0YWNrLmxlbmd0aC0xOztlLS0pe3ZhciB0PXRoaXMuc2NvcGVTdGFja1tlXTtpZih0LmZsYWdzJkZlKXJldHVybiB0fX07Vy5jdXJyZW50VGhpc1Njb3BlPWZ1bmN0aW9uKCl7Zm9yKHZhciBlPXRoaXMuc2NvcGVTdGFjay5sZW5ndGgtMTs7ZS0tKXt2YXIgdD10aGlzLnNjb3BlU3RhY2tbZV07aWYodC5mbGFncyZGZSYmISh0LmZsYWdzJmZ0KSlyZXR1cm4gdH19O3ZhciBnZT1mdW5jdGlvbih0LGkscyl7dGhpcy50eXBlPVwiXCIsdGhpcy5zdGFydD1pLHRoaXMuZW5kPTAsdC5vcHRpb25zLmxvY2F0aW9ucyYmKHRoaXMubG9jPW5ldyB4ZSh0LHMpKSx0Lm9wdGlvbnMuZGlyZWN0U291cmNlRmlsZSYmKHRoaXMuc291cmNlRmlsZT10Lm9wdGlvbnMuZGlyZWN0U291cmNlRmlsZSksdC5vcHRpb25zLnJhbmdlcyYmKHRoaXMucmFuZ2U9W2ksMF0pfSxhZT1ULnByb3RvdHlwZTthZS5zdGFydE5vZGU9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGdlKHRoaXMsdGhpcy5zdGFydCx0aGlzLnN0YXJ0TG9jKX07YWUuc3RhcnROb2RlQXQ9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gbmV3IGdlKHRoaXMsZSx0KX07ZnVuY3Rpb24gU3QoZSx0LGkscyl7cmV0dXJuIGUudHlwZT10LGUuZW5kPWksdGhpcy5vcHRpb25zLmxvY2F0aW9ucyYmKGUubG9jLmVuZD1zKSx0aGlzLm9wdGlvbnMucmFuZ2VzJiYoZS5yYW5nZVsxXT1pKSxlfWFlLmZpbmlzaE5vZGU9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gU3QuY2FsbCh0aGlzLGUsdCx0aGlzLmxhc3RUb2tFbmQsdGhpcy5sYXN0VG9rRW5kTG9jKX07YWUuZmluaXNoTm9kZUF0PWZ1bmN0aW9uKGUsdCxpLHMpe3JldHVybiBTdC5jYWxsKHRoaXMsZSx0LGkscyl9O2FlLmNvcHlOb2RlPWZ1bmN0aW9uKGUpe3ZhciB0PW5ldyBnZSh0aGlzLGUuc3RhcnQsdGhpcy5zdGFydExvYyk7Zm9yKHZhciBpIGluIGUpdFtpXT1lW2ldO3JldHVybiB0fTt2YXIgamk9XCJHYXJhIEdhcmF5IEd1a2ggR3VydW5nX0toZW1hIEhya3QgS2F0YWthbmFfT3JfSGlyYWdhbmEgS2F3aSBLaXJhdF9SYWkgS3JhaSBOYWdfTXVuZGFyaSBOYWdtIE9sX09uYWwgT25hbyBTdW51IFN1bnV3YXIgVG9kaHJpIFRvZHIgVHVsdV9UaWdhbGFyaSBUdXRnIFVua25vd24gWnp6elwiLEN0PVwiQVNDSUkgQVNDSUlfSGV4X0RpZ2l0IEFIZXggQWxwaGFiZXRpYyBBbHBoYSBBbnkgQXNzaWduZWQgQmlkaV9Db250cm9sIEJpZGlfQyBCaWRpX01pcnJvcmVkIEJpZGlfTSBDYXNlX0lnbm9yYWJsZSBDSSBDYXNlZCBDaGFuZ2VzX1doZW5fQ2FzZWZvbGRlZCBDV0NGIENoYW5nZXNfV2hlbl9DYXNlbWFwcGVkIENXQ00gQ2hhbmdlc19XaGVuX0xvd2VyY2FzZWQgQ1dMIENoYW5nZXNfV2hlbl9ORktDX0Nhc2Vmb2xkZWQgQ1dLQ0YgQ2hhbmdlc19XaGVuX1RpdGxlY2FzZWQgQ1dUIENoYW5nZXNfV2hlbl9VcHBlcmNhc2VkIENXVSBEYXNoIERlZmF1bHRfSWdub3JhYmxlX0NvZGVfUG9pbnQgREkgRGVwcmVjYXRlZCBEZXAgRGlhY3JpdGljIERpYSBFbW9qaSBFbW9qaV9Db21wb25lbnQgRW1vamlfTW9kaWZpZXIgRW1vamlfTW9kaWZpZXJfQmFzZSBFbW9qaV9QcmVzZW50YXRpb24gRXh0ZW5kZXIgRXh0IEdyYXBoZW1lX0Jhc2UgR3JfQmFzZSBHcmFwaGVtZV9FeHRlbmQgR3JfRXh0IEhleF9EaWdpdCBIZXggSURTX0JpbmFyeV9PcGVyYXRvciBJRFNCIElEU19UcmluYXJ5X09wZXJhdG9yIElEU1QgSURfQ29udGludWUgSURDIElEX1N0YXJ0IElEUyBJZGVvZ3JhcGhpYyBJZGVvIEpvaW5fQ29udHJvbCBKb2luX0MgTG9naWNhbF9PcmRlcl9FeGNlcHRpb24gTE9FIExvd2VyY2FzZSBMb3dlciBNYXRoIE5vbmNoYXJhY3Rlcl9Db2RlX1BvaW50IE5DaGFyIFBhdHRlcm5fU3ludGF4IFBhdF9TeW4gUGF0dGVybl9XaGl0ZV9TcGFjZSBQYXRfV1MgUXVvdGF0aW9uX01hcmsgUU1hcmsgUmFkaWNhbCBSZWdpb25hbF9JbmRpY2F0b3IgUkkgU2VudGVuY2VfVGVybWluYWwgU1Rlcm0gU29mdF9Eb3R0ZWQgU0QgVGVybWluYWxfUHVuY3R1YXRpb24gVGVybSBVbmlmaWVkX0lkZW9ncmFwaCBVSWRlbyBVcHBlcmNhc2UgVXBwZXIgVmFyaWF0aW9uX1NlbGVjdG9yIFZTIFdoaXRlX1NwYWNlIHNwYWNlIFhJRF9Db250aW51ZSBYSURDIFhJRF9TdGFydCBYSURTXCIsX3Q9Q3QrXCIgRXh0ZW5kZWRfUGljdG9ncmFwaGljXCIsVHQ9X3Qsa3Q9VHQrXCIgRUJhc2UgRUNvbXAgRU1vZCBFUHJlcyBFeHRQaWN0XCIsRXQ9a3QsTWk9RXQsVWk9ezk6Q3QsMTA6X3QsMTE6VHQsMTI6a3QsMTM6RXQsMTQ6TWl9LHFpPVwiQmFzaWNfRW1vamkgRW1vamlfS2V5Y2FwX1NlcXVlbmNlIFJHSV9FbW9qaV9Nb2RpZmllcl9TZXF1ZW5jZSBSR0lfRW1vamlfRmxhZ19TZXF1ZW5jZSBSR0lfRW1vamlfVGFnX1NlcXVlbmNlIFJHSV9FbW9qaV9aV0pfU2VxdWVuY2UgUkdJX0Vtb2ppXCIsR2k9ezk6XCJcIiwxMDpcIlwiLDExOlwiXCIsMTI6XCJcIiwxMzpcIlwiLDE0OnFpfSxydD1cIkNhc2VkX0xldHRlciBMQyBDbG9zZV9QdW5jdHVhdGlvbiBQZSBDb25uZWN0b3JfUHVuY3R1YXRpb24gUGMgQ29udHJvbCBDYyBjbnRybCBDdXJyZW5jeV9TeW1ib2wgU2MgRGFzaF9QdW5jdHVhdGlvbiBQZCBEZWNpbWFsX051bWJlciBOZCBkaWdpdCBFbmNsb3NpbmdfTWFyayBNZSBGaW5hbF9QdW5jdHVhdGlvbiBQZiBGb3JtYXQgQ2YgSW5pdGlhbF9QdW5jdHVhdGlvbiBQaSBMZXR0ZXIgTCBMZXR0ZXJfTnVtYmVyIE5sIExpbmVfU2VwYXJhdG9yIFpsIExvd2VyY2FzZV9MZXR0ZXIgTGwgTWFyayBNIENvbWJpbmluZ19NYXJrIE1hdGhfU3ltYm9sIFNtIE1vZGlmaWVyX0xldHRlciBMbSBNb2RpZmllcl9TeW1ib2wgU2sgTm9uc3BhY2luZ19NYXJrIE1uIE51bWJlciBOIE9wZW5fUHVuY3R1YXRpb24gUHMgT3RoZXIgQyBPdGhlcl9MZXR0ZXIgTG8gT3RoZXJfTnVtYmVyIE5vIE90aGVyX1B1bmN0dWF0aW9uIFBvIE90aGVyX1N5bWJvbCBTbyBQYXJhZ3JhcGhfU2VwYXJhdG9yIFpwIFByaXZhdGVfVXNlIENvIFB1bmN0dWF0aW9uIFAgcHVuY3QgU2VwYXJhdG9yIFogU3BhY2VfU2VwYXJhdG9yIFpzIFNwYWNpbmdfTWFyayBNYyBTdXJyb2dhdGUgQ3MgU3ltYm9sIFMgVGl0bGVjYXNlX0xldHRlciBMdCBVbmFzc2lnbmVkIENuIFVwcGVyY2FzZV9MZXR0ZXIgTHVcIix3dD1cIkFkbGFtIEFkbG0gQWhvbSBBbmF0b2xpYW5fSGllcm9nbHlwaHMgSGx1dyBBcmFiaWMgQXJhYiBBcm1lbmlhbiBBcm1uIEF2ZXN0YW4gQXZzdCBCYWxpbmVzZSBCYWxpIEJhbXVtIEJhbXUgQmFzc2FfVmFoIEJhc3MgQmF0YWsgQmF0ayBCZW5nYWxpIEJlbmcgQmhhaWtzdWtpIEJoa3MgQm9wb21vZm8gQm9wbyBCcmFobWkgQnJhaCBCcmFpbGxlIEJyYWkgQnVnaW5lc2UgQnVnaSBCdWhpZCBCdWhkIENhbmFkaWFuX0Fib3JpZ2luYWwgQ2FucyBDYXJpYW4gQ2FyaSBDYXVjYXNpYW5fQWxiYW5pYW4gQWdoYiBDaGFrbWEgQ2FrbSBDaGFtIENoYW0gQ2hlcm9rZWUgQ2hlciBDb21tb24gWnl5eSBDb3B0aWMgQ29wdCBRYWFjIEN1bmVpZm9ybSBYc3V4IEN5cHJpb3QgQ3BydCBDeXJpbGxpYyBDeXJsIERlc2VyZXQgRHNydCBEZXZhbmFnYXJpIERldmEgRHVwbG95YW4gRHVwbCBFZ3lwdGlhbl9IaWVyb2dseXBocyBFZ3lwIEVsYmFzYW4gRWxiYSBFdGhpb3BpYyBFdGhpIEdlb3JnaWFuIEdlb3IgR2xhZ29saXRpYyBHbGFnIEdvdGhpYyBHb3RoIEdyYW50aGEgR3JhbiBHcmVlayBHcmVrIEd1amFyYXRpIEd1anIgR3VybXVraGkgR3VydSBIYW4gSGFuaSBIYW5ndWwgSGFuZyBIYW51bm9vIEhhbm8gSGF0cmFuIEhhdHIgSGVicmV3IEhlYnIgSGlyYWdhbmEgSGlyYSBJbXBlcmlhbF9BcmFtYWljIEFybWkgSW5oZXJpdGVkIFppbmggUWFhaSBJbnNjcmlwdGlvbmFsX1BhaGxhdmkgUGhsaSBJbnNjcmlwdGlvbmFsX1BhcnRoaWFuIFBydGkgSmF2YW5lc2UgSmF2YSBLYWl0aGkgS3RoaSBLYW5uYWRhIEtuZGEgS2F0YWthbmEgS2FuYSBLYXlhaF9MaSBLYWxpIEtoYXJvc2h0aGkgS2hhciBLaG1lciBLaG1yIEtob2praSBLaG9qIEtodWRhd2FkaSBTaW5kIExhbyBMYW9vIExhdGluIExhdG4gTGVwY2hhIExlcGMgTGltYnUgTGltYiBMaW5lYXJfQSBMaW5hIExpbmVhcl9CIExpbmIgTGlzdSBMaXN1IEx5Y2lhbiBMeWNpIEx5ZGlhbiBMeWRpIE1haGFqYW5pIE1haGogTWFsYXlhbGFtIE1seW0gTWFuZGFpYyBNYW5kIE1hbmljaGFlYW4gTWFuaSBNYXJjaGVuIE1hcmMgTWFzYXJhbV9Hb25kaSBHb25tIE1lZXRlaV9NYXllayBNdGVpIE1lbmRlX0tpa2FrdWkgTWVuZCBNZXJvaXRpY19DdXJzaXZlIE1lcmMgTWVyb2l0aWNfSGllcm9nbHlwaHMgTWVybyBNaWFvIFBscmQgTW9kaSBNb25nb2xpYW4gTW9uZyBNcm8gTXJvbyBNdWx0YW5pIE11bHQgTXlhbm1hciBNeW1yIE5hYmF0YWVhbiBOYmF0IE5ld19UYWlfTHVlIFRhbHUgTmV3YSBOZXdhIE5rbyBOa29vIE51c2h1IE5zaHUgT2doYW0gT2dhbSBPbF9DaGlraSBPbGNrIE9sZF9IdW5nYXJpYW4gSHVuZyBPbGRfSXRhbGljIEl0YWwgT2xkX05vcnRoX0FyYWJpYW4gTmFyYiBPbGRfUGVybWljIFBlcm0gT2xkX1BlcnNpYW4gWHBlbyBPbGRfU291dGhfQXJhYmlhbiBTYXJiIE9sZF9UdXJraWMgT3JraCBPcml5YSBPcnlhIE9zYWdlIE9zZ2UgT3NtYW55YSBPc21hIFBhaGF3aF9IbW9uZyBIbW5nIFBhbG15cmVuZSBQYWxtIFBhdV9DaW5fSGF1IFBhdWMgUGhhZ3NfUGEgUGhhZyBQaG9lbmljaWFuIFBobnggUHNhbHRlcl9QYWhsYXZpIFBobHAgUmVqYW5nIFJqbmcgUnVuaWMgUnVuciBTYW1hcml0YW4gU2FtciBTYXVyYXNodHJhIFNhdXIgU2hhcmFkYSBTaHJkIFNoYXZpYW4gU2hhdyBTaWRkaGFtIFNpZGQgU2lnbldyaXRpbmcgU2dudyBTaW5oYWxhIFNpbmggU29yYV9Tb21wZW5nIFNvcmEgU295b21ibyBTb3lvIFN1bmRhbmVzZSBTdW5kIFN5bG90aV9OYWdyaSBTeWxvIFN5cmlhYyBTeXJjIFRhZ2Fsb2cgVGdsZyBUYWdiYW53YSBUYWdiIFRhaV9MZSBUYWxlIFRhaV9UaGFtIExhbmEgVGFpX1ZpZXQgVGF2dCBUYWtyaSBUYWtyIFRhbWlsIFRhbWwgVGFuZ3V0IFRhbmcgVGVsdWd1IFRlbHUgVGhhYW5hIFRoYWEgVGhhaSBUaGFpIFRpYmV0YW4gVGlidCBUaWZpbmFnaCBUZm5nIFRpcmh1dGEgVGlyaCBVZ2FyaXRpYyBVZ2FyIFZhaSBWYWlpIFdhcmFuZ19DaXRpIFdhcmEgWWkgWWlpaSBaYW5hYmF6YXJfU3F1YXJlIFphbmJcIixBdD13dCtcIiBEb2dyYSBEb2dyIEd1bmphbGFfR29uZGkgR29uZyBIYW5pZmlfUm9oaW5neWEgUm9oZyBNYWthc2FyIE1ha2EgTWVkZWZhaWRyaW4gTWVkZiBPbGRfU29nZGlhbiBTb2dvIFNvZ2RpYW4gU29nZFwiLFB0PUF0K1wiIEVseW1haWMgRWx5bSBOYW5kaW5hZ2FyaSBOYW5kIE55aWFrZW5nX1B1YWNodWVfSG1vbmcgSG1ucCBXYW5jaG8gV2Nob1wiLEl0PVB0K1wiIENob3Jhc21pYW4gQ2hycyBEaWFrIERpdmVzX0FrdXJ1IEtoaXRhbl9TbWFsbF9TY3JpcHQgS2l0cyBZZXppIFllemlkaVwiLE50PUl0K1wiIEN5cHJvX01pbm9hbiBDcG1uIE9sZF9VeWdodXIgT3VnciBUYW5nc2EgVG5zYSBUb3RvIFZpdGhrdXFpIFZpdGhcIixKaT1OdCtcIiBcIitqaSxLaT17OTp3dCwxMDpBdCwxMTpQdCwxMjpJdCwxMzpOdCwxNDpKaX0sVnQ9e307ZnVuY3Rpb24gV2koZSl7dmFyIHQ9VnRbZV09e2JpbmFyeTpLKFVpW2VdK1wiIFwiK3J0KSxiaW5hcnlPZlN0cmluZ3M6SyhHaVtlXSksbm9uQmluYXJ5OntHZW5lcmFsX0NhdGVnb3J5OksocnQpLFNjcmlwdDpLKEtpW2VdKX19O3Qubm9uQmluYXJ5LlNjcmlwdF9FeHRlbnNpb25zPXQubm9uQmluYXJ5LlNjcmlwdCx0Lm5vbkJpbmFyeS5nYz10Lm5vbkJpbmFyeS5HZW5lcmFsX0NhdGVnb3J5LHQubm9uQmluYXJ5LnNjPXQubm9uQmluYXJ5LlNjcmlwdCx0Lm5vbkJpbmFyeS5zY3g9dC5ub25CaW5hcnkuU2NyaXB0X0V4dGVuc2lvbnN9Zm9yKGNlPTAsSWU9WzksMTAsMTEsMTIsMTMsMTRdO2NlPEllLmxlbmd0aDtjZSs9MSlhdD1JZVtjZV0sV2koYXQpO3ZhciBhdCxjZSxJZSxjPVQucHJvdG90eXBlLG1lPWZ1bmN0aW9uKHQsaSl7dGhpcy5wYXJlbnQ9dCx0aGlzLmJhc2U9aXx8dGhpc307bWUucHJvdG90eXBlLnNlcGFyYXRlZEZyb209ZnVuY3Rpb24odCl7Zm9yKHZhciBpPXRoaXM7aTtpPWkucGFyZW50KWZvcih2YXIgcz10O3M7cz1zLnBhcmVudClpZihpLmJhc2U9PT1zLmJhc2UmJmkhPT1zKXJldHVybiEwO3JldHVybiExfTttZS5wcm90b3R5cGUuc2libGluZz1mdW5jdGlvbigpe3JldHVybiBuZXcgbWUodGhpcy5wYXJlbnQsdGhpcy5iYXNlKX07dmFyIGo9ZnVuY3Rpb24odCl7dGhpcy5wYXJzZXI9dCx0aGlzLnZhbGlkRmxhZ3M9XCJnaW1cIisodC5vcHRpb25zLmVjbWFWZXJzaW9uPj02P1widXlcIjpcIlwiKSsodC5vcHRpb25zLmVjbWFWZXJzaW9uPj05P1wic1wiOlwiXCIpKyh0Lm9wdGlvbnMuZWNtYVZlcnNpb24+PTEzP1wiZFwiOlwiXCIpKyh0Lm9wdGlvbnMuZWNtYVZlcnNpb24+PTE1P1widlwiOlwiXCIpLHRoaXMudW5pY29kZVByb3BlcnRpZXM9VnRbdC5vcHRpb25zLmVjbWFWZXJzaW9uPj0xND8xNDp0Lm9wdGlvbnMuZWNtYVZlcnNpb25dLHRoaXMuc291cmNlPVwiXCIsdGhpcy5mbGFncz1cIlwiLHRoaXMuc3RhcnQ9MCx0aGlzLnN3aXRjaFU9ITEsdGhpcy5zd2l0Y2hWPSExLHRoaXMuc3dpdGNoTj0hMSx0aGlzLnBvcz0wLHRoaXMubGFzdEludFZhbHVlPTAsdGhpcy5sYXN0U3RyaW5nVmFsdWU9XCJcIix0aGlzLmxhc3RBc3NlcnRpb25Jc1F1YW50aWZpYWJsZT0hMSx0aGlzLm51bUNhcHR1cmluZ1BhcmVucz0wLHRoaXMubWF4QmFja1JlZmVyZW5jZT0wLHRoaXMuZ3JvdXBOYW1lcz1PYmplY3QuY3JlYXRlKG51bGwpLHRoaXMuYmFja1JlZmVyZW5jZU5hbWVzPVtdLHRoaXMuYnJhbmNoSUQ9bnVsbH07ai5wcm90b3R5cGUucmVzZXQ9ZnVuY3Rpb24odCxpLHMpe3ZhciByPXMuaW5kZXhPZihcInZcIikhPT0tMSxuPXMuaW5kZXhPZihcInVcIikhPT0tMTt0aGlzLnN0YXJ0PXR8MCx0aGlzLnNvdXJjZT1pK1wiXCIsdGhpcy5mbGFncz1zLHImJnRoaXMucGFyc2VyLm9wdGlvbnMuZWNtYVZlcnNpb24+PTE1Pyh0aGlzLnN3aXRjaFU9ITAsdGhpcy5zd2l0Y2hWPSEwLHRoaXMuc3dpdGNoTj0hMCk6KHRoaXMuc3dpdGNoVT1uJiZ0aGlzLnBhcnNlci5vcHRpb25zLmVjbWFWZXJzaW9uPj02LHRoaXMuc3dpdGNoVj0hMSx0aGlzLnN3aXRjaE49biYmdGhpcy5wYXJzZXIub3B0aW9ucy5lY21hVmVyc2lvbj49OSl9O2oucHJvdG90eXBlLnJhaXNlPWZ1bmN0aW9uKHQpe3RoaXMucGFyc2VyLnJhaXNlUmVjb3ZlcmFibGUodGhpcy5zdGFydCxcIkludmFsaWQgcmVndWxhciBleHByZXNzaW9uOiAvXCIrdGhpcy5zb3VyY2UrXCIvOiBcIit0KX07ai5wcm90b3R5cGUuYXQ9ZnVuY3Rpb24odCxpKXtpPT09dm9pZCAwJiYoaT0hMSk7dmFyIHM9dGhpcy5zb3VyY2Uscj1zLmxlbmd0aDtpZih0Pj1yKXJldHVybi0xO3ZhciBuPXMuY2hhckNvZGVBdCh0KTtpZighKGl8fHRoaXMuc3dpdGNoVSl8fG48PTU1Mjk1fHxuPj01NzM0NHx8dCsxPj1yKXJldHVybiBuO3ZhciBvPXMuY2hhckNvZGVBdCh0KzEpO3JldHVybiBvPj01NjMyMCYmbzw9NTczNDM/KG48PDEwKStvLTU2NjEzODg4Om59O2oucHJvdG90eXBlLm5leHRJbmRleD1mdW5jdGlvbih0LGkpe2k9PT12b2lkIDAmJihpPSExKTt2YXIgcz10aGlzLnNvdXJjZSxyPXMubGVuZ3RoO2lmKHQ+PXIpcmV0dXJuIHI7dmFyIG49cy5jaGFyQ29kZUF0KHQpLG87cmV0dXJuIShpfHx0aGlzLnN3aXRjaFUpfHxuPD01NTI5NXx8bj49NTczNDR8fHQrMT49cnx8KG89cy5jaGFyQ29kZUF0KHQrMSkpPDU2MzIwfHxvPjU3MzQzP3QrMTp0KzJ9O2oucHJvdG90eXBlLmN1cnJlbnQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT12b2lkIDAmJih0PSExKSx0aGlzLmF0KHRoaXMucG9zLHQpfTtqLnByb3RvdHlwZS5sb29rYWhlYWQ9ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PT12b2lkIDAmJih0PSExKSx0aGlzLmF0KHRoaXMubmV4dEluZGV4KHRoaXMucG9zLHQpLHQpfTtqLnByb3RvdHlwZS5hZHZhbmNlPWZ1bmN0aW9uKHQpe3Q9PT12b2lkIDAmJih0PSExKSx0aGlzLnBvcz10aGlzLm5leHRJbmRleCh0aGlzLnBvcyx0KX07ai5wcm90b3R5cGUuZWF0PWZ1bmN0aW9uKHQsaSl7cmV0dXJuIGk9PT12b2lkIDAmJihpPSExKSx0aGlzLmN1cnJlbnQoaSk9PT10Pyh0aGlzLmFkdmFuY2UoaSksITApOiExfTtqLnByb3RvdHlwZS5lYXRDaGFycz1mdW5jdGlvbih0LGkpe2k9PT12b2lkIDAmJihpPSExKTtmb3IodmFyIHM9dGhpcy5wb3Mscj0wLG49dDtyPG4ubGVuZ3RoO3IrPTEpe3ZhciBvPW5bcl0sdT10aGlzLmF0KHMsaSk7aWYodT09PS0xfHx1IT09bylyZXR1cm4hMTtzPXRoaXMubmV4dEluZGV4KHMsaSl9cmV0dXJuIHRoaXMucG9zPXMsITB9O2MudmFsaWRhdGVSZWdFeHBGbGFncz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9ZS52YWxpZEZsYWdzLGk9ZS5mbGFncyxzPSExLHI9ITEsbj0wO248aS5sZW5ndGg7bisrKXt2YXIgbz1pLmNoYXJBdChuKTt0LmluZGV4T2Yobyk9PT0tMSYmdGhpcy5yYWlzZShlLnN0YXJ0LFwiSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb24gZmxhZ1wiKSxpLmluZGV4T2YobyxuKzEpPi0xJiZ0aGlzLnJhaXNlKGUuc3RhcnQsXCJEdXBsaWNhdGUgcmVndWxhciBleHByZXNzaW9uIGZsYWdcIiksbz09PVwidVwiJiYocz0hMCksbz09PVwidlwiJiYocj0hMCl9dGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj0xNSYmcyYmciYmdGhpcy5yYWlzZShlLnN0YXJ0LFwiSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb24gZmxhZ1wiKX07ZnVuY3Rpb24gWGkoZSl7Zm9yKHZhciB0IGluIGUpcmV0dXJuITA7cmV0dXJuITF9Yy52YWxpZGF0ZVJlZ0V4cFBhdHRlcm49ZnVuY3Rpb24oZSl7dGhpcy5yZWdleHBfcGF0dGVybihlKSwhZS5zd2l0Y2hOJiZ0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTkmJlhpKGUuZ3JvdXBOYW1lcykmJihlLnN3aXRjaE49ITAsdGhpcy5yZWdleHBfcGF0dGVybihlKSl9O2MucmVnZXhwX3BhdHRlcm49ZnVuY3Rpb24oZSl7ZS5wb3M9MCxlLmxhc3RJbnRWYWx1ZT0wLGUubGFzdFN0cmluZ1ZhbHVlPVwiXCIsZS5sYXN0QXNzZXJ0aW9uSXNRdWFudGlmaWFibGU9ITEsZS5udW1DYXB0dXJpbmdQYXJlbnM9MCxlLm1heEJhY2tSZWZlcmVuY2U9MCxlLmdyb3VwTmFtZXM9T2JqZWN0LmNyZWF0ZShudWxsKSxlLmJhY2tSZWZlcmVuY2VOYW1lcy5sZW5ndGg9MCxlLmJyYW5jaElEPW51bGwsdGhpcy5yZWdleHBfZGlzanVuY3Rpb24oZSksZS5wb3MhPT1lLnNvdXJjZS5sZW5ndGgmJihlLmVhdCg0MSkmJmUucmFpc2UoXCJVbm1hdGNoZWQgJyknXCIpLChlLmVhdCg5Myl8fGUuZWF0KDEyNSkpJiZlLnJhaXNlKFwiTG9uZSBxdWFudGlmaWVyIGJyYWNrZXRzXCIpKSxlLm1heEJhY2tSZWZlcmVuY2U+ZS5udW1DYXB0dXJpbmdQYXJlbnMmJmUucmFpc2UoXCJJbnZhbGlkIGVzY2FwZVwiKTtmb3IodmFyIHQ9MCxpPWUuYmFja1JlZmVyZW5jZU5hbWVzO3Q8aS5sZW5ndGg7dCs9MSl7dmFyIHM9aVt0XTtlLmdyb3VwTmFtZXNbc118fGUucmFpc2UoXCJJbnZhbGlkIG5hbWVkIGNhcHR1cmUgcmVmZXJlbmNlZFwiKX19O2MucmVnZXhwX2Rpc2p1bmN0aW9uPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49MTY7Zm9yKHQmJihlLmJyYW5jaElEPW5ldyBtZShlLmJyYW5jaElELG51bGwpKSx0aGlzLnJlZ2V4cF9hbHRlcm5hdGl2ZShlKTtlLmVhdCgxMjQpOyl0JiYoZS5icmFuY2hJRD1lLmJyYW5jaElELnNpYmxpbmcoKSksdGhpcy5yZWdleHBfYWx0ZXJuYXRpdmUoZSk7dCYmKGUuYnJhbmNoSUQ9ZS5icmFuY2hJRC5wYXJlbnQpLHRoaXMucmVnZXhwX2VhdFF1YW50aWZpZXIoZSwhMCkmJmUucmFpc2UoXCJOb3RoaW5nIHRvIHJlcGVhdFwiKSxlLmVhdCgxMjMpJiZlLnJhaXNlKFwiTG9uZSBxdWFudGlmaWVyIGJyYWNrZXRzXCIpfTtjLnJlZ2V4cF9hbHRlcm5hdGl2ZT1mdW5jdGlvbihlKXtmb3IoO2UucG9zPGUuc291cmNlLmxlbmd0aCYmdGhpcy5yZWdleHBfZWF0VGVybShlKTspO307Yy5yZWdleHBfZWF0VGVybT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5yZWdleHBfZWF0QXNzZXJ0aW9uKGUpPyhlLmxhc3RBc3NlcnRpb25Jc1F1YW50aWZpYWJsZSYmdGhpcy5yZWdleHBfZWF0UXVhbnRpZmllcihlKSYmZS5zd2l0Y2hVJiZlLnJhaXNlKFwiSW52YWxpZCBxdWFudGlmaWVyXCIpLCEwKTooZS5zd2l0Y2hVP3RoaXMucmVnZXhwX2VhdEF0b20oZSk6dGhpcy5yZWdleHBfZWF0RXh0ZW5kZWRBdG9tKGUpKT8odGhpcy5yZWdleHBfZWF0UXVhbnRpZmllcihlKSwhMCk6ITF9O2MucmVnZXhwX2VhdEFzc2VydGlvbj1mdW5jdGlvbihlKXt2YXIgdD1lLnBvcztpZihlLmxhc3RBc3NlcnRpb25Jc1F1YW50aWZpYWJsZT0hMSxlLmVhdCg5NCl8fGUuZWF0KDM2KSlyZXR1cm4hMDtpZihlLmVhdCg5Mikpe2lmKGUuZWF0KDY2KXx8ZS5lYXQoOTgpKXJldHVybiEwO2UucG9zPXR9aWYoZS5lYXQoNDApJiZlLmVhdCg2Mykpe3ZhciBpPSExO2lmKHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49OSYmKGk9ZS5lYXQoNjApKSxlLmVhdCg2MSl8fGUuZWF0KDMzKSlyZXR1cm4gdGhpcy5yZWdleHBfZGlzanVuY3Rpb24oZSksZS5lYXQoNDEpfHxlLnJhaXNlKFwiVW50ZXJtaW5hdGVkIGdyb3VwXCIpLGUubGFzdEFzc2VydGlvbklzUXVhbnRpZmlhYmxlPSFpLCEwfXJldHVybiBlLnBvcz10LCExfTtjLnJlZ2V4cF9lYXRRdWFudGlmaWVyPWZ1bmN0aW9uKGUsdCl7cmV0dXJuIHQ9PT12b2lkIDAmJih0PSExKSx0aGlzLnJlZ2V4cF9lYXRRdWFudGlmaWVyUHJlZml4KGUsdCk/KGUuZWF0KDYzKSwhMCk6ITF9O2MucmVnZXhwX2VhdFF1YW50aWZpZXJQcmVmaXg9ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZS5lYXQoNDIpfHxlLmVhdCg0Myl8fGUuZWF0KDYzKXx8dGhpcy5yZWdleHBfZWF0QnJhY2VkUXVhbnRpZmllcihlLHQpfTtjLnJlZ2V4cF9lYXRCcmFjZWRRdWFudGlmaWVyPWZ1bmN0aW9uKGUsdCl7dmFyIGk9ZS5wb3M7aWYoZS5lYXQoMTIzKSl7dmFyIHM9MCxyPS0xO2lmKHRoaXMucmVnZXhwX2VhdERlY2ltYWxEaWdpdHMoZSkmJihzPWUubGFzdEludFZhbHVlLGUuZWF0KDQ0KSYmdGhpcy5yZWdleHBfZWF0RGVjaW1hbERpZ2l0cyhlKSYmKHI9ZS5sYXN0SW50VmFsdWUpLGUuZWF0KDEyNSkpKXJldHVybiByIT09LTEmJnI8cyYmIXQmJmUucmFpc2UoXCJudW1iZXJzIG91dCBvZiBvcmRlciBpbiB7fSBxdWFudGlmaWVyXCIpLCEwO2Uuc3dpdGNoVSYmIXQmJmUucmFpc2UoXCJJbmNvbXBsZXRlIHF1YW50aWZpZXJcIiksZS5wb3M9aX1yZXR1cm4hMX07Yy5yZWdleHBfZWF0QXRvbT1mdW5jdGlvbihlKXtyZXR1cm4gdGhpcy5yZWdleHBfZWF0UGF0dGVybkNoYXJhY3RlcnMoZSl8fGUuZWF0KDQ2KXx8dGhpcy5yZWdleHBfZWF0UmV2ZXJzZVNvbGlkdXNBdG9tRXNjYXBlKGUpfHx0aGlzLnJlZ2V4cF9lYXRDaGFyYWN0ZXJDbGFzcyhlKXx8dGhpcy5yZWdleHBfZWF0VW5jYXB0dXJpbmdHcm91cChlKXx8dGhpcy5yZWdleHBfZWF0Q2FwdHVyaW5nR3JvdXAoZSl9O2MucmVnZXhwX2VhdFJldmVyc2VTb2xpZHVzQXRvbUVzY2FwZT1mdW5jdGlvbihlKXt2YXIgdD1lLnBvcztpZihlLmVhdCg5Mikpe2lmKHRoaXMucmVnZXhwX2VhdEF0b21Fc2NhcGUoZSkpcmV0dXJuITA7ZS5wb3M9dH1yZXR1cm4hMX07Yy5yZWdleHBfZWF0VW5jYXB0dXJpbmdHcm91cD1mdW5jdGlvbihlKXt2YXIgdD1lLnBvcztpZihlLmVhdCg0MCkpe2lmKGUuZWF0KDYzKSl7aWYodGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj0xNil7dmFyIGk9dGhpcy5yZWdleHBfZWF0TW9kaWZpZXJzKGUpLHM9ZS5lYXQoNDUpO2lmKGl8fHMpe2Zvcih2YXIgcj0wO3I8aS5sZW5ndGg7cisrKXt2YXIgbj1pLmNoYXJBdChyKTtpLmluZGV4T2YobixyKzEpPi0xJiZlLnJhaXNlKFwiRHVwbGljYXRlIHJlZ3VsYXIgZXhwcmVzc2lvbiBtb2RpZmllcnNcIil9aWYocyl7dmFyIG89dGhpcy5yZWdleHBfZWF0TW9kaWZpZXJzKGUpOyFpJiYhbyYmZS5jdXJyZW50KCk9PT01OCYmZS5yYWlzZShcIkludmFsaWQgcmVndWxhciBleHByZXNzaW9uIG1vZGlmaWVyc1wiKTtmb3IodmFyIHU9MDt1PG8ubGVuZ3RoO3UrKyl7dmFyIHA9by5jaGFyQXQodSk7KG8uaW5kZXhPZihwLHUrMSk+LTF8fGkuaW5kZXhPZihwKT4tMSkmJmUucmFpc2UoXCJEdXBsaWNhdGUgcmVndWxhciBleHByZXNzaW9uIG1vZGlmaWVyc1wiKX19fX1pZihlLmVhdCg1OCkpe2lmKHRoaXMucmVnZXhwX2Rpc2p1bmN0aW9uKGUpLGUuZWF0KDQxKSlyZXR1cm4hMDtlLnJhaXNlKFwiVW50ZXJtaW5hdGVkIGdyb3VwXCIpfX1lLnBvcz10fXJldHVybiExfTtjLnJlZ2V4cF9lYXRDYXB0dXJpbmdHcm91cD1mdW5jdGlvbihlKXtpZihlLmVhdCg0MCkpe2lmKHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49OT90aGlzLnJlZ2V4cF9ncm91cFNwZWNpZmllcihlKTplLmN1cnJlbnQoKT09PTYzJiZlLnJhaXNlKFwiSW52YWxpZCBncm91cFwiKSx0aGlzLnJlZ2V4cF9kaXNqdW5jdGlvbihlKSxlLmVhdCg0MSkpcmV0dXJuIGUubnVtQ2FwdHVyaW5nUGFyZW5zKz0xLCEwO2UucmFpc2UoXCJVbnRlcm1pbmF0ZWQgZ3JvdXBcIil9cmV0dXJuITF9O2MucmVnZXhwX2VhdE1vZGlmaWVycz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9XCJcIixpPTA7KGk9ZS5jdXJyZW50KCkpIT09LTEmJnppKGkpOyl0Kz1VKGkpLGUuYWR2YW5jZSgpO3JldHVybiB0fTtmdW5jdGlvbiB6aShlKXtyZXR1cm4gZT09PTEwNXx8ZT09PTEwOXx8ZT09PTExNX1jLnJlZ2V4cF9lYXRFeHRlbmRlZEF0b209ZnVuY3Rpb24oZSl7cmV0dXJuIGUuZWF0KDQ2KXx8dGhpcy5yZWdleHBfZWF0UmV2ZXJzZVNvbGlkdXNBdG9tRXNjYXBlKGUpfHx0aGlzLnJlZ2V4cF9lYXRDaGFyYWN0ZXJDbGFzcyhlKXx8dGhpcy5yZWdleHBfZWF0VW5jYXB0dXJpbmdHcm91cChlKXx8dGhpcy5yZWdleHBfZWF0Q2FwdHVyaW5nR3JvdXAoZSl8fHRoaXMucmVnZXhwX2VhdEludmFsaWRCcmFjZWRRdWFudGlmaWVyKGUpfHx0aGlzLnJlZ2V4cF9lYXRFeHRlbmRlZFBhdHRlcm5DaGFyYWN0ZXIoZSl9O2MucmVnZXhwX2VhdEludmFsaWRCcmFjZWRRdWFudGlmaWVyPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJlZ2V4cF9lYXRCcmFjZWRRdWFudGlmaWVyKGUsITApJiZlLnJhaXNlKFwiTm90aGluZyB0byByZXBlYXRcIiksITF9O2MucmVnZXhwX2VhdFN5bnRheENoYXJhY3Rlcj1mdW5jdGlvbihlKXt2YXIgdD1lLmN1cnJlbnQoKTtyZXR1cm4gTHQodCk/KGUubGFzdEludFZhbHVlPXQsZS5hZHZhbmNlKCksITApOiExfTtmdW5jdGlvbiBMdChlKXtyZXR1cm4gZT09PTM2fHxlPj00MCYmZTw9NDN8fGU9PT00Nnx8ZT09PTYzfHxlPj05MSYmZTw9OTR8fGU+PTEyMyYmZTw9MTI1fWMucmVnZXhwX2VhdFBhdHRlcm5DaGFyYWN0ZXJzPWZ1bmN0aW9uKGUpe2Zvcih2YXIgdD1lLnBvcyxpPTA7KGk9ZS5jdXJyZW50KCkpIT09LTEmJiFMdChpKTspZS5hZHZhbmNlKCk7cmV0dXJuIGUucG9zIT09dH07Yy5yZWdleHBfZWF0RXh0ZW5kZWRQYXR0ZXJuQ2hhcmFjdGVyPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY3VycmVudCgpO3JldHVybiB0IT09LTEmJnQhPT0zNiYmISh0Pj00MCYmdDw9NDMpJiZ0IT09NDYmJnQhPT02MyYmdCE9PTkxJiZ0IT09OTQmJnQhPT0xMjQ/KGUuYWR2YW5jZSgpLCEwKTohMX07Yy5yZWdleHBfZ3JvdXBTcGVjaWZpZXI9ZnVuY3Rpb24oZSl7aWYoZS5lYXQoNjMpKXt0aGlzLnJlZ2V4cF9lYXRHcm91cE5hbWUoZSl8fGUucmFpc2UoXCJJbnZhbGlkIGdyb3VwXCIpO3ZhciB0PXRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49MTYsaT1lLmdyb3VwTmFtZXNbZS5sYXN0U3RyaW5nVmFsdWVdO2lmKGkpaWYodClmb3IodmFyIHM9MCxyPWk7czxyLmxlbmd0aDtzKz0xKXt2YXIgbj1yW3NdO24uc2VwYXJhdGVkRnJvbShlLmJyYW5jaElEKXx8ZS5yYWlzZShcIkR1cGxpY2F0ZSBjYXB0dXJlIGdyb3VwIG5hbWVcIil9ZWxzZSBlLnJhaXNlKFwiRHVwbGljYXRlIGNhcHR1cmUgZ3JvdXAgbmFtZVwiKTt0PyhpfHwoZS5ncm91cE5hbWVzW2UubGFzdFN0cmluZ1ZhbHVlXT1bXSkpLnB1c2goZS5icmFuY2hJRCk6ZS5ncm91cE5hbWVzW2UubGFzdFN0cmluZ1ZhbHVlXT0hMH19O2MucmVnZXhwX2VhdEdyb3VwTmFtZT1mdW5jdGlvbihlKXtpZihlLmxhc3RTdHJpbmdWYWx1ZT1cIlwiLGUuZWF0KDYwKSl7aWYodGhpcy5yZWdleHBfZWF0UmVnRXhwSWRlbnRpZmllck5hbWUoZSkmJmUuZWF0KDYyKSlyZXR1cm4hMDtlLnJhaXNlKFwiSW52YWxpZCBjYXB0dXJlIGdyb3VwIG5hbWVcIil9cmV0dXJuITF9O2MucmVnZXhwX2VhdFJlZ0V4cElkZW50aWZpZXJOYW1lPWZ1bmN0aW9uKGUpe2lmKGUubGFzdFN0cmluZ1ZhbHVlPVwiXCIsdGhpcy5yZWdleHBfZWF0UmVnRXhwSWRlbnRpZmllclN0YXJ0KGUpKXtmb3IoZS5sYXN0U3RyaW5nVmFsdWUrPVUoZS5sYXN0SW50VmFsdWUpO3RoaXMucmVnZXhwX2VhdFJlZ0V4cElkZW50aWZpZXJQYXJ0KGUpOyllLmxhc3RTdHJpbmdWYWx1ZSs9VShlLmxhc3RJbnRWYWx1ZSk7cmV0dXJuITB9cmV0dXJuITF9O2MucmVnZXhwX2VhdFJlZ0V4cElkZW50aWZpZXJTdGFydD1mdW5jdGlvbihlKXt2YXIgdD1lLnBvcyxpPXRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49MTEscz1lLmN1cnJlbnQoaSk7cmV0dXJuIGUuYWR2YW5jZShpKSxzPT09OTImJnRoaXMucmVnZXhwX2VhdFJlZ0V4cFVuaWNvZGVFc2NhcGVTZXF1ZW5jZShlLGkpJiYocz1lLmxhc3RJbnRWYWx1ZSksSGkocyk/KGUubGFzdEludFZhbHVlPXMsITApOihlLnBvcz10LCExKX07ZnVuY3Rpb24gSGkoZSl7cmV0dXJuIE0oZSwhMCl8fGU9PT0zNnx8ZT09PTk1fWMucmVnZXhwX2VhdFJlZ0V4cElkZW50aWZpZXJQYXJ0PWZ1bmN0aW9uKGUpe3ZhciB0PWUucG9zLGk9dGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj0xMSxzPWUuY3VycmVudChpKTtyZXR1cm4gZS5hZHZhbmNlKGkpLHM9PT05MiYmdGhpcy5yZWdleHBfZWF0UmVnRXhwVW5pY29kZUVzY2FwZVNlcXVlbmNlKGUsaSkmJihzPWUubGFzdEludFZhbHVlKSxRaShzKT8oZS5sYXN0SW50VmFsdWU9cywhMCk6KGUucG9zPXQsITEpfTtmdW5jdGlvbiBRaShlKXtyZXR1cm4gSChlLCEwKXx8ZT09PTM2fHxlPT09OTV8fGU9PT04MjA0fHxlPT09ODIwNX1jLnJlZ2V4cF9lYXRBdG9tRXNjYXBlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJlZ2V4cF9lYXRCYWNrUmVmZXJlbmNlKGUpfHx0aGlzLnJlZ2V4cF9lYXRDaGFyYWN0ZXJDbGFzc0VzY2FwZShlKXx8dGhpcy5yZWdleHBfZWF0Q2hhcmFjdGVyRXNjYXBlKGUpfHxlLnN3aXRjaE4mJnRoaXMucmVnZXhwX2VhdEtHcm91cE5hbWUoZSk/ITA6KGUuc3dpdGNoVSYmKGUuY3VycmVudCgpPT09OTkmJmUucmFpc2UoXCJJbnZhbGlkIHVuaWNvZGUgZXNjYXBlXCIpLGUucmFpc2UoXCJJbnZhbGlkIGVzY2FwZVwiKSksITEpfTtjLnJlZ2V4cF9lYXRCYWNrUmVmZXJlbmNlPWZ1bmN0aW9uKGUpe3ZhciB0PWUucG9zO2lmKHRoaXMucmVnZXhwX2VhdERlY2ltYWxFc2NhcGUoZSkpe3ZhciBpPWUubGFzdEludFZhbHVlO2lmKGUuc3dpdGNoVSlyZXR1cm4gaT5lLm1heEJhY2tSZWZlcmVuY2UmJihlLm1heEJhY2tSZWZlcmVuY2U9aSksITA7aWYoaTw9ZS5udW1DYXB0dXJpbmdQYXJlbnMpcmV0dXJuITA7ZS5wb3M9dH1yZXR1cm4hMX07Yy5yZWdleHBfZWF0S0dyb3VwTmFtZT1mdW5jdGlvbihlKXtpZihlLmVhdCgxMDcpKXtpZih0aGlzLnJlZ2V4cF9lYXRHcm91cE5hbWUoZSkpcmV0dXJuIGUuYmFja1JlZmVyZW5jZU5hbWVzLnB1c2goZS5sYXN0U3RyaW5nVmFsdWUpLCEwO2UucmFpc2UoXCJJbnZhbGlkIG5hbWVkIHJlZmVyZW5jZVwiKX1yZXR1cm4hMX07Yy5yZWdleHBfZWF0Q2hhcmFjdGVyRXNjYXBlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJlZ2V4cF9lYXRDb250cm9sRXNjYXBlKGUpfHx0aGlzLnJlZ2V4cF9lYXRDQ29udHJvbExldHRlcihlKXx8dGhpcy5yZWdleHBfZWF0WmVybyhlKXx8dGhpcy5yZWdleHBfZWF0SGV4RXNjYXBlU2VxdWVuY2UoZSl8fHRoaXMucmVnZXhwX2VhdFJlZ0V4cFVuaWNvZGVFc2NhcGVTZXF1ZW5jZShlLCExKXx8IWUuc3dpdGNoVSYmdGhpcy5yZWdleHBfZWF0TGVnYWN5T2N0YWxFc2NhcGVTZXF1ZW5jZShlKXx8dGhpcy5yZWdleHBfZWF0SWRlbnRpdHlFc2NhcGUoZSl9O2MucmVnZXhwX2VhdENDb250cm9sTGV0dGVyPWZ1bmN0aW9uKGUpe3ZhciB0PWUucG9zO2lmKGUuZWF0KDk5KSl7aWYodGhpcy5yZWdleHBfZWF0Q29udHJvbExldHRlcihlKSlyZXR1cm4hMDtlLnBvcz10fXJldHVybiExfTtjLnJlZ2V4cF9lYXRaZXJvPWZ1bmN0aW9uKGUpe3JldHVybiBlLmN1cnJlbnQoKT09PTQ4JiYhdmUoZS5sb29rYWhlYWQoKSk/KGUubGFzdEludFZhbHVlPTAsZS5hZHZhbmNlKCksITApOiExfTtjLnJlZ2V4cF9lYXRDb250cm9sRXNjYXBlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY3VycmVudCgpO3JldHVybiB0PT09MTE2PyhlLmxhc3RJbnRWYWx1ZT05LGUuYWR2YW5jZSgpLCEwKTp0PT09MTEwPyhlLmxhc3RJbnRWYWx1ZT0xMCxlLmFkdmFuY2UoKSwhMCk6dD09PTExOD8oZS5sYXN0SW50VmFsdWU9MTEsZS5hZHZhbmNlKCksITApOnQ9PT0xMDI/KGUubGFzdEludFZhbHVlPTEyLGUuYWR2YW5jZSgpLCEwKTp0PT09MTE0PyhlLmxhc3RJbnRWYWx1ZT0xMyxlLmFkdmFuY2UoKSwhMCk6ITF9O2MucmVnZXhwX2VhdENvbnRyb2xMZXR0ZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jdXJyZW50KCk7cmV0dXJuIFJ0KHQpPyhlLmxhc3RJbnRWYWx1ZT10JTMyLGUuYWR2YW5jZSgpLCEwKTohMX07ZnVuY3Rpb24gUnQoZSl7cmV0dXJuIGU+PTY1JiZlPD05MHx8ZT49OTcmJmU8PTEyMn1jLnJlZ2V4cF9lYXRSZWdFeHBVbmljb2RlRXNjYXBlU2VxdWVuY2U9ZnVuY3Rpb24oZSx0KXt0PT09dm9pZCAwJiYodD0hMSk7dmFyIGk9ZS5wb3Mscz10fHxlLnN3aXRjaFU7aWYoZS5lYXQoMTE3KSl7aWYodGhpcy5yZWdleHBfZWF0Rml4ZWRIZXhEaWdpdHMoZSw0KSl7dmFyIHI9ZS5sYXN0SW50VmFsdWU7aWYocyYmcj49NTUyOTYmJnI8PTU2MzE5KXt2YXIgbj1lLnBvcztpZihlLmVhdCg5MikmJmUuZWF0KDExNykmJnRoaXMucmVnZXhwX2VhdEZpeGVkSGV4RGlnaXRzKGUsNCkpe3ZhciBvPWUubGFzdEludFZhbHVlO2lmKG8+PTU2MzIwJiZvPD01NzM0MylyZXR1cm4gZS5sYXN0SW50VmFsdWU9KHItNTUyOTYpKjEwMjQrKG8tNTYzMjApKzY1NTM2LCEwfWUucG9zPW4sZS5sYXN0SW50VmFsdWU9cn1yZXR1cm4hMH1pZihzJiZlLmVhdCgxMjMpJiZ0aGlzLnJlZ2V4cF9lYXRIZXhEaWdpdHMoZSkmJmUuZWF0KDEyNSkmJllpKGUubGFzdEludFZhbHVlKSlyZXR1cm4hMDtzJiZlLnJhaXNlKFwiSW52YWxpZCB1bmljb2RlIGVzY2FwZVwiKSxlLnBvcz1pfXJldHVybiExfTtmdW5jdGlvbiBZaShlKXtyZXR1cm4gZT49MCYmZTw9MTExNDExMX1jLnJlZ2V4cF9lYXRJZGVudGl0eUVzY2FwZT1mdW5jdGlvbihlKXtpZihlLnN3aXRjaFUpcmV0dXJuIHRoaXMucmVnZXhwX2VhdFN5bnRheENoYXJhY3RlcihlKT8hMDplLmVhdCg0Nyk/KGUubGFzdEludFZhbHVlPTQ3LCEwKTohMTt2YXIgdD1lLmN1cnJlbnQoKTtyZXR1cm4gdCE9PTk5JiYoIWUuc3dpdGNoTnx8dCE9PTEwNyk/KGUubGFzdEludFZhbHVlPXQsZS5hZHZhbmNlKCksITApOiExfTtjLnJlZ2V4cF9lYXREZWNpbWFsRXNjYXBlPWZ1bmN0aW9uKGUpe2UubGFzdEludFZhbHVlPTA7dmFyIHQ9ZS5jdXJyZW50KCk7aWYodD49NDkmJnQ8PTU3KXtkbyBlLmxhc3RJbnRWYWx1ZT0xMCplLmxhc3RJbnRWYWx1ZSsodC00OCksZS5hZHZhbmNlKCk7d2hpbGUoKHQ9ZS5jdXJyZW50KCkpPj00OCYmdDw9NTcpO3JldHVybiEwfXJldHVybiExfTt2YXIgT3Q9MCxxPTEsVj0yO2MucmVnZXhwX2VhdENoYXJhY3RlckNsYXNzRXNjYXBlPWZ1bmN0aW9uKGUpe3ZhciB0PWUuY3VycmVudCgpO2lmKFppKHQpKXJldHVybiBlLmxhc3RJbnRWYWx1ZT0tMSxlLmFkdmFuY2UoKSxxO3ZhciBpPSExO2lmKGUuc3dpdGNoVSYmdGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj05JiYoKGk9dD09PTgwKXx8dD09PTExMikpe2UubGFzdEludFZhbHVlPS0xLGUuYWR2YW5jZSgpO3ZhciBzO2lmKGUuZWF0KDEyMykmJihzPXRoaXMucmVnZXhwX2VhdFVuaWNvZGVQcm9wZXJ0eVZhbHVlRXhwcmVzc2lvbihlKSkmJmUuZWF0KDEyNSkpcmV0dXJuIGkmJnM9PT1WJiZlLnJhaXNlKFwiSW52YWxpZCBwcm9wZXJ0eSBuYW1lXCIpLHM7ZS5yYWlzZShcIkludmFsaWQgcHJvcGVydHkgbmFtZVwiKX1yZXR1cm4gT3R9O2Z1bmN0aW9uIFppKGUpe3JldHVybiBlPT09MTAwfHxlPT09Njh8fGU9PT0xMTV8fGU9PT04M3x8ZT09PTExOXx8ZT09PTg3fWMucmVnZXhwX2VhdFVuaWNvZGVQcm9wZXJ0eVZhbHVlRXhwcmVzc2lvbj1mdW5jdGlvbihlKXt2YXIgdD1lLnBvcztpZih0aGlzLnJlZ2V4cF9lYXRVbmljb2RlUHJvcGVydHlOYW1lKGUpJiZlLmVhdCg2MSkpe3ZhciBpPWUubGFzdFN0cmluZ1ZhbHVlO2lmKHRoaXMucmVnZXhwX2VhdFVuaWNvZGVQcm9wZXJ0eVZhbHVlKGUpKXt2YXIgcz1lLmxhc3RTdHJpbmdWYWx1ZTtyZXR1cm4gdGhpcy5yZWdleHBfdmFsaWRhdGVVbmljb2RlUHJvcGVydHlOYW1lQW5kVmFsdWUoZSxpLHMpLHF9fWlmKGUucG9zPXQsdGhpcy5yZWdleHBfZWF0TG9uZVVuaWNvZGVQcm9wZXJ0eU5hbWVPclZhbHVlKGUpKXt2YXIgcj1lLmxhc3RTdHJpbmdWYWx1ZTtyZXR1cm4gdGhpcy5yZWdleHBfdmFsaWRhdGVVbmljb2RlUHJvcGVydHlOYW1lT3JWYWx1ZShlLHIpfXJldHVybiBPdH07Yy5yZWdleHBfdmFsaWRhdGVVbmljb2RlUHJvcGVydHlOYW1lQW5kVmFsdWU9ZnVuY3Rpb24oZSx0LGkpe1koZS51bmljb2RlUHJvcGVydGllcy5ub25CaW5hcnksdCl8fGUucmFpc2UoXCJJbnZhbGlkIHByb3BlcnR5IG5hbWVcIiksZS51bmljb2RlUHJvcGVydGllcy5ub25CaW5hcnlbdF0udGVzdChpKXx8ZS5yYWlzZShcIkludmFsaWQgcHJvcGVydHkgdmFsdWVcIil9O2MucmVnZXhwX3ZhbGlkYXRlVW5pY29kZVByb3BlcnR5TmFtZU9yVmFsdWU9ZnVuY3Rpb24oZSx0KXtpZihlLnVuaWNvZGVQcm9wZXJ0aWVzLmJpbmFyeS50ZXN0KHQpKXJldHVybiBxO2lmKGUuc3dpdGNoViYmZS51bmljb2RlUHJvcGVydGllcy5iaW5hcnlPZlN0cmluZ3MudGVzdCh0KSlyZXR1cm4gVjtlLnJhaXNlKFwiSW52YWxpZCBwcm9wZXJ0eSBuYW1lXCIpfTtjLnJlZ2V4cF9lYXRVbmljb2RlUHJvcGVydHlOYW1lPWZ1bmN0aW9uKGUpe3ZhciB0PTA7Zm9yKGUubGFzdFN0cmluZ1ZhbHVlPVwiXCI7QnQodD1lLmN1cnJlbnQoKSk7KWUubGFzdFN0cmluZ1ZhbHVlKz1VKHQpLGUuYWR2YW5jZSgpO3JldHVybiBlLmxhc3RTdHJpbmdWYWx1ZSE9PVwiXCJ9O2Z1bmN0aW9uIEJ0KGUpe3JldHVybiBSdChlKXx8ZT09PTk1fWMucmVnZXhwX2VhdFVuaWNvZGVQcm9wZXJ0eVZhbHVlPWZ1bmN0aW9uKGUpe3ZhciB0PTA7Zm9yKGUubGFzdFN0cmluZ1ZhbHVlPVwiXCI7JGkodD1lLmN1cnJlbnQoKSk7KWUubGFzdFN0cmluZ1ZhbHVlKz1VKHQpLGUuYWR2YW5jZSgpO3JldHVybiBlLmxhc3RTdHJpbmdWYWx1ZSE9PVwiXCJ9O2Z1bmN0aW9uICRpKGUpe3JldHVybiBCdChlKXx8dmUoZSl9Yy5yZWdleHBfZWF0TG9uZVVuaWNvZGVQcm9wZXJ0eU5hbWVPclZhbHVlPWZ1bmN0aW9uKGUpe3JldHVybiB0aGlzLnJlZ2V4cF9lYXRVbmljb2RlUHJvcGVydHlWYWx1ZShlKX07Yy5yZWdleHBfZWF0Q2hhcmFjdGVyQ2xhc3M9ZnVuY3Rpb24oZSl7aWYoZS5lYXQoOTEpKXt2YXIgdD1lLmVhdCg5NCksaT10aGlzLnJlZ2V4cF9jbGFzc0NvbnRlbnRzKGUpO3JldHVybiBlLmVhdCg5Myl8fGUucmFpc2UoXCJVbnRlcm1pbmF0ZWQgY2hhcmFjdGVyIGNsYXNzXCIpLHQmJmk9PT1WJiZlLnJhaXNlKFwiTmVnYXRlZCBjaGFyYWN0ZXIgY2xhc3MgbWF5IGNvbnRhaW4gc3RyaW5nc1wiKSwhMH1yZXR1cm4hMX07Yy5yZWdleHBfY2xhc3NDb250ZW50cz1mdW5jdGlvbihlKXtyZXR1cm4gZS5jdXJyZW50KCk9PT05Mz9xOmUuc3dpdGNoVj90aGlzLnJlZ2V4cF9jbGFzc1NldEV4cHJlc3Npb24oZSk6KHRoaXMucmVnZXhwX25vbkVtcHR5Q2xhc3NSYW5nZXMoZSkscSl9O2MucmVnZXhwX25vbkVtcHR5Q2xhc3NSYW5nZXM9ZnVuY3Rpb24oZSl7Zm9yKDt0aGlzLnJlZ2V4cF9lYXRDbGFzc0F0b20oZSk7KXt2YXIgdD1lLmxhc3RJbnRWYWx1ZTtpZihlLmVhdCg0NSkmJnRoaXMucmVnZXhwX2VhdENsYXNzQXRvbShlKSl7dmFyIGk9ZS5sYXN0SW50VmFsdWU7ZS5zd2l0Y2hVJiYodD09PS0xfHxpPT09LTEpJiZlLnJhaXNlKFwiSW52YWxpZCBjaGFyYWN0ZXIgY2xhc3NcIiksdCE9PS0xJiZpIT09LTEmJnQ+aSYmZS5yYWlzZShcIlJhbmdlIG91dCBvZiBvcmRlciBpbiBjaGFyYWN0ZXIgY2xhc3NcIil9fX07Yy5yZWdleHBfZWF0Q2xhc3NBdG9tPWZ1bmN0aW9uKGUpe3ZhciB0PWUucG9zO2lmKGUuZWF0KDkyKSl7aWYodGhpcy5yZWdleHBfZWF0Q2xhc3NFc2NhcGUoZSkpcmV0dXJuITA7aWYoZS5zd2l0Y2hVKXt2YXIgaT1lLmN1cnJlbnQoKTsoaT09PTk5fHxqdChpKSkmJmUucmFpc2UoXCJJbnZhbGlkIGNsYXNzIGVzY2FwZVwiKSxlLnJhaXNlKFwiSW52YWxpZCBlc2NhcGVcIil9ZS5wb3M9dH12YXIgcz1lLmN1cnJlbnQoKTtyZXR1cm4gcyE9PTkzPyhlLmxhc3RJbnRWYWx1ZT1zLGUuYWR2YW5jZSgpLCEwKTohMX07Yy5yZWdleHBfZWF0Q2xhc3NFc2NhcGU9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wb3M7aWYoZS5lYXQoOTgpKXJldHVybiBlLmxhc3RJbnRWYWx1ZT04LCEwO2lmKGUuc3dpdGNoVSYmZS5lYXQoNDUpKXJldHVybiBlLmxhc3RJbnRWYWx1ZT00NSwhMDtpZighZS5zd2l0Y2hVJiZlLmVhdCg5OSkpe2lmKHRoaXMucmVnZXhwX2VhdENsYXNzQ29udHJvbExldHRlcihlKSlyZXR1cm4hMDtlLnBvcz10fXJldHVybiB0aGlzLnJlZ2V4cF9lYXRDaGFyYWN0ZXJDbGFzc0VzY2FwZShlKXx8dGhpcy5yZWdleHBfZWF0Q2hhcmFjdGVyRXNjYXBlKGUpfTtjLnJlZ2V4cF9jbGFzc1NldEV4cHJlc3Npb249ZnVuY3Rpb24oZSl7dmFyIHQ9cSxpO2lmKCF0aGlzLnJlZ2V4cF9lYXRDbGFzc1NldFJhbmdlKGUpKWlmKGk9dGhpcy5yZWdleHBfZWF0Q2xhc3NTZXRPcGVyYW5kKGUpKXtpPT09ViYmKHQ9Vik7Zm9yKHZhciBzPWUucG9zO2UuZWF0Q2hhcnMoWzM4LDM4XSk7KXtpZihlLmN1cnJlbnQoKSE9PTM4JiYoaT10aGlzLnJlZ2V4cF9lYXRDbGFzc1NldE9wZXJhbmQoZSkpKXtpIT09ViYmKHQ9cSk7Y29udGludWV9ZS5yYWlzZShcIkludmFsaWQgY2hhcmFjdGVyIGluIGNoYXJhY3RlciBjbGFzc1wiKX1pZihzIT09ZS5wb3MpcmV0dXJuIHQ7Zm9yKDtlLmVhdENoYXJzKFs0NSw0NV0pOyl0aGlzLnJlZ2V4cF9lYXRDbGFzc1NldE9wZXJhbmQoZSl8fGUucmFpc2UoXCJJbnZhbGlkIGNoYXJhY3RlciBpbiBjaGFyYWN0ZXIgY2xhc3NcIik7aWYocyE9PWUucG9zKXJldHVybiB0fWVsc2UgZS5yYWlzZShcIkludmFsaWQgY2hhcmFjdGVyIGluIGNoYXJhY3RlciBjbGFzc1wiKTtmb3IoOzspaWYoIXRoaXMucmVnZXhwX2VhdENsYXNzU2V0UmFuZ2UoZSkpe2lmKGk9dGhpcy5yZWdleHBfZWF0Q2xhc3NTZXRPcGVyYW5kKGUpLCFpKXJldHVybiB0O2k9PT1WJiYodD1WKX19O2MucmVnZXhwX2VhdENsYXNzU2V0UmFuZ2U9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wb3M7aWYodGhpcy5yZWdleHBfZWF0Q2xhc3NTZXRDaGFyYWN0ZXIoZSkpe3ZhciBpPWUubGFzdEludFZhbHVlO2lmKGUuZWF0KDQ1KSYmdGhpcy5yZWdleHBfZWF0Q2xhc3NTZXRDaGFyYWN0ZXIoZSkpe3ZhciBzPWUubGFzdEludFZhbHVlO3JldHVybiBpIT09LTEmJnMhPT0tMSYmaT5zJiZlLnJhaXNlKFwiUmFuZ2Ugb3V0IG9mIG9yZGVyIGluIGNoYXJhY3RlciBjbGFzc1wiKSwhMH1lLnBvcz10fXJldHVybiExfTtjLnJlZ2V4cF9lYXRDbGFzc1NldE9wZXJhbmQ9ZnVuY3Rpb24oZSl7cmV0dXJuIHRoaXMucmVnZXhwX2VhdENsYXNzU2V0Q2hhcmFjdGVyKGUpP3E6dGhpcy5yZWdleHBfZWF0Q2xhc3NTdHJpbmdEaXNqdW5jdGlvbihlKXx8dGhpcy5yZWdleHBfZWF0TmVzdGVkQ2xhc3MoZSl9O2MucmVnZXhwX2VhdE5lc3RlZENsYXNzPWZ1bmN0aW9uKGUpe3ZhciB0PWUucG9zO2lmKGUuZWF0KDkxKSl7dmFyIGk9ZS5lYXQoOTQpLHM9dGhpcy5yZWdleHBfY2xhc3NDb250ZW50cyhlKTtpZihlLmVhdCg5MykpcmV0dXJuIGkmJnM9PT1WJiZlLnJhaXNlKFwiTmVnYXRlZCBjaGFyYWN0ZXIgY2xhc3MgbWF5IGNvbnRhaW4gc3RyaW5nc1wiKSxzO2UucG9zPXR9aWYoZS5lYXQoOTIpKXt2YXIgcj10aGlzLnJlZ2V4cF9lYXRDaGFyYWN0ZXJDbGFzc0VzY2FwZShlKTtpZihyKXJldHVybiByO2UucG9zPXR9cmV0dXJuIG51bGx9O2MucmVnZXhwX2VhdENsYXNzU3RyaW5nRGlzanVuY3Rpb249ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wb3M7aWYoZS5lYXRDaGFycyhbOTIsMTEzXSkpe2lmKGUuZWF0KDEyMykpe3ZhciBpPXRoaXMucmVnZXhwX2NsYXNzU3RyaW5nRGlzanVuY3Rpb25Db250ZW50cyhlKTtpZihlLmVhdCgxMjUpKXJldHVybiBpfWVsc2UgZS5yYWlzZShcIkludmFsaWQgZXNjYXBlXCIpO2UucG9zPXR9cmV0dXJuIG51bGx9O2MucmVnZXhwX2NsYXNzU3RyaW5nRGlzanVuY3Rpb25Db250ZW50cz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9dGhpcy5yZWdleHBfY2xhc3NTdHJpbmcoZSk7ZS5lYXQoMTI0KTspdGhpcy5yZWdleHBfY2xhc3NTdHJpbmcoZSk9PT1WJiYodD1WKTtyZXR1cm4gdH07Yy5yZWdleHBfY2xhc3NTdHJpbmc9ZnVuY3Rpb24oZSl7Zm9yKHZhciB0PTA7dGhpcy5yZWdleHBfZWF0Q2xhc3NTZXRDaGFyYWN0ZXIoZSk7KXQrKztyZXR1cm4gdD09PTE/cTpWfTtjLnJlZ2V4cF9lYXRDbGFzc1NldENoYXJhY3Rlcj1mdW5jdGlvbihlKXt2YXIgdD1lLnBvcztpZihlLmVhdCg5MikpcmV0dXJuIHRoaXMucmVnZXhwX2VhdENoYXJhY3RlckVzY2FwZShlKXx8dGhpcy5yZWdleHBfZWF0Q2xhc3NTZXRSZXNlcnZlZFB1bmN0dWF0b3IoZSk/ITA6ZS5lYXQoOTgpPyhlLmxhc3RJbnRWYWx1ZT04LCEwKTooZS5wb3M9dCwhMSk7dmFyIGk9ZS5jdXJyZW50KCk7cmV0dXJuIGk8MHx8aT09PWUubG9va2FoZWFkKCkmJmVzKGkpfHx0cyhpKT8hMTooZS5hZHZhbmNlKCksZS5sYXN0SW50VmFsdWU9aSwhMCl9O2Z1bmN0aW9uIGVzKGUpe3JldHVybiBlPT09MzN8fGU+PTM1JiZlPD0zOHx8ZT49NDImJmU8PTQ0fHxlPT09NDZ8fGU+PTU4JiZlPD02NHx8ZT09PTk0fHxlPT09OTZ8fGU9PT0xMjZ9ZnVuY3Rpb24gdHMoZSl7cmV0dXJuIGU9PT00MHx8ZT09PTQxfHxlPT09NDV8fGU9PT00N3x8ZT49OTEmJmU8PTkzfHxlPj0xMjMmJmU8PTEyNX1jLnJlZ2V4cF9lYXRDbGFzc1NldFJlc2VydmVkUHVuY3R1YXRvcj1mdW5jdGlvbihlKXt2YXIgdD1lLmN1cnJlbnQoKTtyZXR1cm4gaXModCk/KGUubGFzdEludFZhbHVlPXQsZS5hZHZhbmNlKCksITApOiExfTtmdW5jdGlvbiBpcyhlKXtyZXR1cm4gZT09PTMzfHxlPT09MzV8fGU9PT0zN3x8ZT09PTM4fHxlPT09NDR8fGU9PT00NXx8ZT49NTgmJmU8PTYyfHxlPT09NjR8fGU9PT05Nnx8ZT09PTEyNn1jLnJlZ2V4cF9lYXRDbGFzc0NvbnRyb2xMZXR0ZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5jdXJyZW50KCk7cmV0dXJuIHZlKHQpfHx0PT09OTU/KGUubGFzdEludFZhbHVlPXQlMzIsZS5hZHZhbmNlKCksITApOiExfTtjLnJlZ2V4cF9lYXRIZXhFc2NhcGVTZXF1ZW5jZT1mdW5jdGlvbihlKXt2YXIgdD1lLnBvcztpZihlLmVhdCgxMjApKXtpZih0aGlzLnJlZ2V4cF9lYXRGaXhlZEhleERpZ2l0cyhlLDIpKXJldHVybiEwO2Uuc3dpdGNoVSYmZS5yYWlzZShcIkludmFsaWQgZXNjYXBlXCIpLGUucG9zPXR9cmV0dXJuITF9O2MucmVnZXhwX2VhdERlY2ltYWxEaWdpdHM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wb3MsaT0wO2ZvcihlLmxhc3RJbnRWYWx1ZT0wO3ZlKGk9ZS5jdXJyZW50KCkpOyllLmxhc3RJbnRWYWx1ZT0xMCplLmxhc3RJbnRWYWx1ZSsoaS00OCksZS5hZHZhbmNlKCk7cmV0dXJuIGUucG9zIT09dH07ZnVuY3Rpb24gdmUoZSl7cmV0dXJuIGU+PTQ4JiZlPD01N31jLnJlZ2V4cF9lYXRIZXhEaWdpdHM9ZnVuY3Rpb24oZSl7dmFyIHQ9ZS5wb3MsaT0wO2ZvcihlLmxhc3RJbnRWYWx1ZT0wO0R0KGk9ZS5jdXJyZW50KCkpOyllLmxhc3RJbnRWYWx1ZT0xNiplLmxhc3RJbnRWYWx1ZStGdChpKSxlLmFkdmFuY2UoKTtyZXR1cm4gZS5wb3MhPT10fTtmdW5jdGlvbiBEdChlKXtyZXR1cm4gZT49NDgmJmU8PTU3fHxlPj02NSYmZTw9NzB8fGU+PTk3JiZlPD0xMDJ9ZnVuY3Rpb24gRnQoZSl7cmV0dXJuIGU+PTY1JiZlPD03MD8xMCsoZS02NSk6ZT49OTcmJmU8PTEwMj8xMCsoZS05Nyk6ZS00OH1jLnJlZ2V4cF9lYXRMZWdhY3lPY3RhbEVzY2FwZVNlcXVlbmNlPWZ1bmN0aW9uKGUpe2lmKHRoaXMucmVnZXhwX2VhdE9jdGFsRGlnaXQoZSkpe3ZhciB0PWUubGFzdEludFZhbHVlO2lmKHRoaXMucmVnZXhwX2VhdE9jdGFsRGlnaXQoZSkpe3ZhciBpPWUubGFzdEludFZhbHVlO3Q8PTMmJnRoaXMucmVnZXhwX2VhdE9jdGFsRGlnaXQoZSk/ZS5sYXN0SW50VmFsdWU9dCo2NCtpKjgrZS5sYXN0SW50VmFsdWU6ZS5sYXN0SW50VmFsdWU9dCo4K2l9ZWxzZSBlLmxhc3RJbnRWYWx1ZT10O3JldHVybiEwfXJldHVybiExfTtjLnJlZ2V4cF9lYXRPY3RhbERpZ2l0PWZ1bmN0aW9uKGUpe3ZhciB0PWUuY3VycmVudCgpO3JldHVybiBqdCh0KT8oZS5sYXN0SW50VmFsdWU9dC00OCxlLmFkdmFuY2UoKSwhMCk6KGUubGFzdEludFZhbHVlPTAsITEpfTtmdW5jdGlvbiBqdChlKXtyZXR1cm4gZT49NDgmJmU8PTU1fWMucmVnZXhwX2VhdEZpeGVkSGV4RGlnaXRzPWZ1bmN0aW9uKGUsdCl7dmFyIGk9ZS5wb3M7ZS5sYXN0SW50VmFsdWU9MDtmb3IodmFyIHM9MDtzPHQ7KytzKXt2YXIgcj1lLmN1cnJlbnQoKTtpZighRHQocikpcmV0dXJuIGUucG9zPWksITE7ZS5sYXN0SW50VmFsdWU9MTYqZS5sYXN0SW50VmFsdWUrRnQociksZS5hZHZhbmNlKCl9cmV0dXJuITB9O3ZhciBxZT1mdW5jdGlvbih0KXt0aGlzLnR5cGU9dC50eXBlLHRoaXMudmFsdWU9dC52YWx1ZSx0aGlzLnN0YXJ0PXQuc3RhcnQsdGhpcy5lbmQ9dC5lbmQsdC5vcHRpb25zLmxvY2F0aW9ucyYmKHRoaXMubG9jPW5ldyB4ZSh0LHQuc3RhcnRMb2MsdC5lbmRMb2MpKSx0Lm9wdGlvbnMucmFuZ2VzJiYodGhpcy5yYW5nZT1bdC5zdGFydCx0LmVuZF0pfSx2PVQucHJvdG90eXBlO3YubmV4dD1mdW5jdGlvbihlKXshZSYmdGhpcy50eXBlLmtleXdvcmQmJnRoaXMuY29udGFpbnNFc2MmJnRoaXMucmFpc2VSZWNvdmVyYWJsZSh0aGlzLnN0YXJ0LFwiRXNjYXBlIHNlcXVlbmNlIGluIGtleXdvcmQgXCIrdGhpcy50eXBlLmtleXdvcmQpLHRoaXMub3B0aW9ucy5vblRva2VuJiZ0aGlzLm9wdGlvbnMub25Ub2tlbihuZXcgcWUodGhpcykpLHRoaXMubGFzdFRva0VuZD10aGlzLmVuZCx0aGlzLmxhc3RUb2tTdGFydD10aGlzLnN0YXJ0LHRoaXMubGFzdFRva0VuZExvYz10aGlzLmVuZExvYyx0aGlzLmxhc3RUb2tTdGFydExvYz10aGlzLnN0YXJ0TG9jLHRoaXMubmV4dFRva2VuKCl9O3YuZ2V0VG9rZW49ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5uZXh0KCksbmV3IHFlKHRoaXMpfTt0eXBlb2YgU3ltYm9sPFwidVwiJiYodltTeW1ib2wuaXRlcmF0b3JdPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcztyZXR1cm57bmV4dDpmdW5jdGlvbigpe3ZhciB0PWUuZ2V0VG9rZW4oKTtyZXR1cm57ZG9uZTp0LnR5cGU9PT1hLmVvZix2YWx1ZTp0fX19fSk7di5uZXh0VG9rZW49ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmN1ckNvbnRleHQoKTtpZigoIWV8fCFlLnByZXNlcnZlU3BhY2UpJiZ0aGlzLnNraXBTcGFjZSgpLHRoaXMuc3RhcnQ9dGhpcy5wb3MsdGhpcy5vcHRpb25zLmxvY2F0aW9ucyYmKHRoaXMuc3RhcnRMb2M9dGhpcy5jdXJQb3NpdGlvbigpKSx0aGlzLnBvcz49dGhpcy5pbnB1dC5sZW5ndGgpcmV0dXJuIHRoaXMuZmluaXNoVG9rZW4oYS5lb2YpO2lmKGUub3ZlcnJpZGUpcmV0dXJuIGUub3ZlcnJpZGUodGhpcyk7dGhpcy5yZWFkVG9rZW4odGhpcy5mdWxsQ2hhckNvZGVBdFBvcygpKX07di5yZWFkVG9rZW49ZnVuY3Rpb24oZSl7cmV0dXJuIE0oZSx0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTYpfHxlPT09OTI/dGhpcy5yZWFkV29yZCgpOnRoaXMuZ2V0VG9rZW5Gcm9tQ29kZShlKX07di5mdWxsQ2hhckNvZGVBdFBvcz1mdW5jdGlvbigpe3ZhciBlPXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcyk7aWYoZTw9NTUyOTV8fGU+PTU2MzIwKXJldHVybiBlO3ZhciB0PXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcysxKTtyZXR1cm4gdDw9NTYzMTl8fHQ+PTU3MzQ0P2U6KGU8PDEwKSt0LTU2NjEzODg4fTt2LnNraXBCbG9ja0NvbW1lbnQ9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLm9wdGlvbnMub25Db21tZW50JiZ0aGlzLmN1clBvc2l0aW9uKCksdD10aGlzLnBvcyxpPXRoaXMuaW5wdXQuaW5kZXhPZihcIiovXCIsdGhpcy5wb3MrPTIpO2lmKGk9PT0tMSYmdGhpcy5yYWlzZSh0aGlzLnBvcy0yLFwiVW50ZXJtaW5hdGVkIGNvbW1lbnRcIiksdGhpcy5wb3M9aSsyLHRoaXMub3B0aW9ucy5sb2NhdGlvbnMpZm9yKHZhciBzPXZvaWQgMCxyPXQ7KHM9dXQodGhpcy5pbnB1dCxyLHRoaXMucG9zKSk+LTE7KSsrdGhpcy5jdXJMaW5lLHI9dGhpcy5saW5lU3RhcnQ9czt0aGlzLm9wdGlvbnMub25Db21tZW50JiZ0aGlzLm9wdGlvbnMub25Db21tZW50KCEwLHRoaXMuaW5wdXQuc2xpY2UodCsyLGkpLHQsdGhpcy5wb3MsZSx0aGlzLmN1clBvc2l0aW9uKCkpfTt2LnNraXBMaW5lQ29tbWVudD1mdW5jdGlvbihlKXtmb3IodmFyIHQ9dGhpcy5wb3MsaT10aGlzLm9wdGlvbnMub25Db21tZW50JiZ0aGlzLmN1clBvc2l0aW9uKCkscz10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5wb3MrPWUpO3RoaXMucG9zPHRoaXMuaW5wdXQubGVuZ3RoJiYhUShzKTspcz10aGlzLmlucHV0LmNoYXJDb2RlQXQoKyt0aGlzLnBvcyk7dGhpcy5vcHRpb25zLm9uQ29tbWVudCYmdGhpcy5vcHRpb25zLm9uQ29tbWVudCghMSx0aGlzLmlucHV0LnNsaWNlKHQrZSx0aGlzLnBvcyksdCx0aGlzLnBvcyxpLHRoaXMuY3VyUG9zaXRpb24oKSl9O3Yuc2tpcFNwYWNlPWZ1bmN0aW9uKCl7ZTpmb3IoO3RoaXMucG9zPHRoaXMuaW5wdXQubGVuZ3RoOyl7dmFyIGU9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMucG9zKTtzd2l0Y2goZSl7Y2FzZSAzMjpjYXNlIDE2MDorK3RoaXMucG9zO2JyZWFrO2Nhc2UgMTM6dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMucG9zKzEpPT09MTAmJisrdGhpcy5wb3M7Y2FzZSAxMDpjYXNlIDgyMzI6Y2FzZSA4MjMzOisrdGhpcy5wb3MsdGhpcy5vcHRpb25zLmxvY2F0aW9ucyYmKCsrdGhpcy5jdXJMaW5lLHRoaXMubGluZVN0YXJ0PXRoaXMucG9zKTticmVhaztjYXNlIDQ3OnN3aXRjaCh0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5wb3MrMSkpe2Nhc2UgNDI6dGhpcy5za2lwQmxvY2tDb21tZW50KCk7YnJlYWs7Y2FzZSA0Nzp0aGlzLnNraXBMaW5lQ29tbWVudCgyKTticmVhaztkZWZhdWx0OmJyZWFrIGV9YnJlYWs7ZGVmYXVsdDppZihlPjgmJmU8MTR8fGU+PTU3NjAmJnB0LnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZShlKSkpKyt0aGlzLnBvcztlbHNlIGJyZWFrIGV9fX07di5maW5pc2hUb2tlbj1mdW5jdGlvbihlLHQpe3RoaXMuZW5kPXRoaXMucG9zLHRoaXMub3B0aW9ucy5sb2NhdGlvbnMmJih0aGlzLmVuZExvYz10aGlzLmN1clBvc2l0aW9uKCkpO3ZhciBpPXRoaXMudHlwZTt0aGlzLnR5cGU9ZSx0aGlzLnZhbHVlPXQsdGhpcy51cGRhdGVDb250ZXh0KGkpfTt2LnJlYWRUb2tlbl9kb3Q9ZnVuY3Rpb24oKXt2YXIgZT10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5wb3MrMSk7aWYoZT49NDgmJmU8PTU3KXJldHVybiB0aGlzLnJlYWROdW1iZXIoITApO3ZhciB0PXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcysyKTtyZXR1cm4gdGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj02JiZlPT09NDYmJnQ9PT00Nj8odGhpcy5wb3MrPTMsdGhpcy5maW5pc2hUb2tlbihhLmVsbGlwc2lzKSk6KCsrdGhpcy5wb3MsdGhpcy5maW5pc2hUb2tlbihhLmRvdCkpfTt2LnJlYWRUb2tlbl9zbGFzaD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcysxKTtyZXR1cm4gdGhpcy5leHByQWxsb3dlZD8oKyt0aGlzLnBvcyx0aGlzLnJlYWRSZWdleHAoKSk6ZT09PTYxP3RoaXMuZmluaXNoT3AoYS5hc3NpZ24sMik6dGhpcy5maW5pc2hPcChhLnNsYXNoLDEpfTt2LnJlYWRUb2tlbl9tdWx0X21vZHVsb19leHA9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMucG9zKzEpLGk9MSxzPWU9PT00Mj9hLnN0YXI6YS5tb2R1bG87cmV0dXJuIHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbj49NyYmZT09PTQyJiZ0PT09NDImJigrK2kscz1hLnN0YXJzdGFyLHQ9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMucG9zKzIpKSx0PT09NjE/dGhpcy5maW5pc2hPcChhLmFzc2lnbixpKzEpOnRoaXMuZmluaXNoT3AocyxpKX07di5yZWFkVG9rZW5fcGlwZV9hbXA9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMucG9zKzEpO2lmKHQ9PT1lKXtpZih0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTEyKXt2YXIgaT10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5wb3MrMik7aWYoaT09PTYxKXJldHVybiB0aGlzLmZpbmlzaE9wKGEuYXNzaWduLDMpfXJldHVybiB0aGlzLmZpbmlzaE9wKGU9PT0xMjQ/YS5sb2dpY2FsT1I6YS5sb2dpY2FsQU5ELDIpfXJldHVybiB0PT09NjE/dGhpcy5maW5pc2hPcChhLmFzc2lnbiwyKTp0aGlzLmZpbmlzaE9wKGU9PT0xMjQ/YS5iaXR3aXNlT1I6YS5iaXR3aXNlQU5ELDEpfTt2LnJlYWRUb2tlbl9jYXJldD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcysxKTtyZXR1cm4gZT09PTYxP3RoaXMuZmluaXNoT3AoYS5hc3NpZ24sMik6dGhpcy5maW5pc2hPcChhLmJpdHdpc2VYT1IsMSl9O3YucmVhZFRva2VuX3BsdXNfbWluPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcysxKTtyZXR1cm4gdD09PWU/dD09PTQ1JiYhdGhpcy5pbk1vZHVsZSYmdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMucG9zKzIpPT09NjImJih0aGlzLmxhc3RUb2tFbmQ9PT0wfHxMLnRlc3QodGhpcy5pbnB1dC5zbGljZSh0aGlzLmxhc3RUb2tFbmQsdGhpcy5wb3MpKSk/KHRoaXMuc2tpcExpbmVDb21tZW50KDMpLHRoaXMuc2tpcFNwYWNlKCksdGhpcy5uZXh0VG9rZW4oKSk6dGhpcy5maW5pc2hPcChhLmluY0RlYywyKTp0PT09NjE/dGhpcy5maW5pc2hPcChhLmFzc2lnbiwyKTp0aGlzLmZpbmlzaE9wKGEucGx1c01pbiwxKX07di5yZWFkVG9rZW5fbHRfZ3Q9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMucG9zKzEpLGk9MTtyZXR1cm4gdD09PWU/KGk9ZT09PTYyJiZ0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5wb3MrMik9PT02Mj8zOjIsdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMucG9zK2kpPT09NjE/dGhpcy5maW5pc2hPcChhLmFzc2lnbixpKzEpOnRoaXMuZmluaXNoT3AoYS5iaXRTaGlmdCxpKSk6dD09PTMzJiZlPT09NjAmJiF0aGlzLmluTW9kdWxlJiZ0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5wb3MrMik9PT00NSYmdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMucG9zKzMpPT09NDU/KHRoaXMuc2tpcExpbmVDb21tZW50KDQpLHRoaXMuc2tpcFNwYWNlKCksdGhpcy5uZXh0VG9rZW4oKSk6KHQ9PT02MSYmKGk9MiksdGhpcy5maW5pc2hPcChhLnJlbGF0aW9uYWwsaSkpfTt2LnJlYWRUb2tlbl9lcV9leGNsPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcysxKTtyZXR1cm4gdD09PTYxP3RoaXMuZmluaXNoT3AoYS5lcXVhbGl0eSx0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5wb3MrMik9PT02MT8zOjIpOmU9PT02MSYmdD09PTYyJiZ0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTY/KHRoaXMucG9zKz0yLHRoaXMuZmluaXNoVG9rZW4oYS5hcnJvdykpOnRoaXMuZmluaXNoT3AoZT09PTYxP2EuZXE6YS5wcmVmaXgsMSl9O3YucmVhZFRva2VuX3F1ZXN0aW9uPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uO2lmKGU+PTExKXt2YXIgdD10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5wb3MrMSk7aWYodD09PTQ2KXt2YXIgaT10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5wb3MrMik7aWYoaTw0OHx8aT41NylyZXR1cm4gdGhpcy5maW5pc2hPcChhLnF1ZXN0aW9uRG90LDIpfWlmKHQ9PT02Myl7aWYoZT49MTIpe3ZhciBzPXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcysyKTtpZihzPT09NjEpcmV0dXJuIHRoaXMuZmluaXNoT3AoYS5hc3NpZ24sMyl9cmV0dXJuIHRoaXMuZmluaXNoT3AoYS5jb2FsZXNjZSwyKX19cmV0dXJuIHRoaXMuZmluaXNoT3AoYS5xdWVzdGlvbiwxKX07di5yZWFkVG9rZW5fbnVtYmVyU2lnbj1mdW5jdGlvbigpe3ZhciBlPXRoaXMub3B0aW9ucy5lY21hVmVyc2lvbix0PTM1O2lmKGU+PTEzJiYoKyt0aGlzLnBvcyx0PXRoaXMuZnVsbENoYXJDb2RlQXRQb3MoKSxNKHQsITApfHx0PT09OTIpKXJldHVybiB0aGlzLmZpbmlzaFRva2VuKGEucHJpdmF0ZUlkLHRoaXMucmVhZFdvcmQxKCkpO3RoaXMucmFpc2UodGhpcy5wb3MsXCJVbmV4cGVjdGVkIGNoYXJhY3RlciAnXCIrVSh0KStcIidcIil9O3YuZ2V0VG9rZW5Gcm9tQ29kZT1mdW5jdGlvbihlKXtzd2l0Y2goZSl7Y2FzZSA0NjpyZXR1cm4gdGhpcy5yZWFkVG9rZW5fZG90KCk7Y2FzZSA0MDpyZXR1cm4rK3RoaXMucG9zLHRoaXMuZmluaXNoVG9rZW4oYS5wYXJlbkwpO2Nhc2UgNDE6cmV0dXJuKyt0aGlzLnBvcyx0aGlzLmZpbmlzaFRva2VuKGEucGFyZW5SKTtjYXNlIDU5OnJldHVybisrdGhpcy5wb3MsdGhpcy5maW5pc2hUb2tlbihhLnNlbWkpO2Nhc2UgNDQ6cmV0dXJuKyt0aGlzLnBvcyx0aGlzLmZpbmlzaFRva2VuKGEuY29tbWEpO2Nhc2UgOTE6cmV0dXJuKyt0aGlzLnBvcyx0aGlzLmZpbmlzaFRva2VuKGEuYnJhY2tldEwpO2Nhc2UgOTM6cmV0dXJuKyt0aGlzLnBvcyx0aGlzLmZpbmlzaFRva2VuKGEuYnJhY2tldFIpO2Nhc2UgMTIzOnJldHVybisrdGhpcy5wb3MsdGhpcy5maW5pc2hUb2tlbihhLmJyYWNlTCk7Y2FzZSAxMjU6cmV0dXJuKyt0aGlzLnBvcyx0aGlzLmZpbmlzaFRva2VuKGEuYnJhY2VSKTtjYXNlIDU4OnJldHVybisrdGhpcy5wb3MsdGhpcy5maW5pc2hUb2tlbihhLmNvbG9uKTtjYXNlIDk2OmlmKHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbjw2KWJyZWFrO3JldHVybisrdGhpcy5wb3MsdGhpcy5maW5pc2hUb2tlbihhLmJhY2tRdW90ZSk7Y2FzZSA0ODp2YXIgdD10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5wb3MrMSk7aWYodD09PTEyMHx8dD09PTg4KXJldHVybiB0aGlzLnJlYWRSYWRpeE51bWJlcigxNik7aWYodGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj02KXtpZih0PT09MTExfHx0PT09NzkpcmV0dXJuIHRoaXMucmVhZFJhZGl4TnVtYmVyKDgpO2lmKHQ9PT05OHx8dD09PTY2KXJldHVybiB0aGlzLnJlYWRSYWRpeE51bWJlcigyKX1jYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpjYXNlIDUyOmNhc2UgNTM6Y2FzZSA1NDpjYXNlIDU1OmNhc2UgNTY6Y2FzZSA1NzpyZXR1cm4gdGhpcy5yZWFkTnVtYmVyKCExKTtjYXNlIDM0OmNhc2UgMzk6cmV0dXJuIHRoaXMucmVhZFN0cmluZyhlKTtjYXNlIDQ3OnJldHVybiB0aGlzLnJlYWRUb2tlbl9zbGFzaCgpO2Nhc2UgMzc6Y2FzZSA0MjpyZXR1cm4gdGhpcy5yZWFkVG9rZW5fbXVsdF9tb2R1bG9fZXhwKGUpO2Nhc2UgMTI0OmNhc2UgMzg6cmV0dXJuIHRoaXMucmVhZFRva2VuX3BpcGVfYW1wKGUpO2Nhc2UgOTQ6cmV0dXJuIHRoaXMucmVhZFRva2VuX2NhcmV0KCk7Y2FzZSA0MzpjYXNlIDQ1OnJldHVybiB0aGlzLnJlYWRUb2tlbl9wbHVzX21pbihlKTtjYXNlIDYwOmNhc2UgNjI6cmV0dXJuIHRoaXMucmVhZFRva2VuX2x0X2d0KGUpO2Nhc2UgNjE6Y2FzZSAzMzpyZXR1cm4gdGhpcy5yZWFkVG9rZW5fZXFfZXhjbChlKTtjYXNlIDYzOnJldHVybiB0aGlzLnJlYWRUb2tlbl9xdWVzdGlvbigpO2Nhc2UgMTI2OnJldHVybiB0aGlzLmZpbmlzaE9wKGEucHJlZml4LDEpO2Nhc2UgMzU6cmV0dXJuIHRoaXMucmVhZFRva2VuX251bWJlclNpZ24oKX10aGlzLnJhaXNlKHRoaXMucG9zLFwiVW5leHBlY3RlZCBjaGFyYWN0ZXIgJ1wiK1UoZSkrXCInXCIpfTt2LmZpbmlzaE9wPWZ1bmN0aW9uKGUsdCl7dmFyIGk9dGhpcy5pbnB1dC5zbGljZSh0aGlzLnBvcyx0aGlzLnBvcyt0KTtyZXR1cm4gdGhpcy5wb3MrPXQsdGhpcy5maW5pc2hUb2tlbihlLGkpfTt2LnJlYWRSZWdleHA9ZnVuY3Rpb24oKXtmb3IodmFyIGUsdCxpPXRoaXMucG9zOzspe3RoaXMucG9zPj10aGlzLmlucHV0Lmxlbmd0aCYmdGhpcy5yYWlzZShpLFwiVW50ZXJtaW5hdGVkIHJlZ3VsYXIgZXhwcmVzc2lvblwiKTt2YXIgcz10aGlzLmlucHV0LmNoYXJBdCh0aGlzLnBvcyk7aWYoTC50ZXN0KHMpJiZ0aGlzLnJhaXNlKGksXCJVbnRlcm1pbmF0ZWQgcmVndWxhciBleHByZXNzaW9uXCIpLGUpZT0hMTtlbHNle2lmKHM9PT1cIltcIil0PSEwO2Vsc2UgaWYocz09PVwiXVwiJiZ0KXQ9ITE7ZWxzZSBpZihzPT09XCIvXCImJiF0KWJyZWFrO2U9cz09PVwiXFxcXFwifSsrdGhpcy5wb3N9dmFyIHI9dGhpcy5pbnB1dC5zbGljZShpLHRoaXMucG9zKTsrK3RoaXMucG9zO3ZhciBuPXRoaXMucG9zLG89dGhpcy5yZWFkV29yZDEoKTt0aGlzLmNvbnRhaW5zRXNjJiZ0aGlzLnVuZXhwZWN0ZWQobik7dmFyIHU9dGhpcy5yZWdleHBTdGF0ZXx8KHRoaXMucmVnZXhwU3RhdGU9bmV3IGoodGhpcykpO3UucmVzZXQoaSxyLG8pLHRoaXMudmFsaWRhdGVSZWdFeHBGbGFncyh1KSx0aGlzLnZhbGlkYXRlUmVnRXhwUGF0dGVybih1KTt2YXIgcD1udWxsO3RyeXtwPW5ldyBSZWdFeHAocixvKX1jYXRjaHt9cmV0dXJuIHRoaXMuZmluaXNoVG9rZW4oYS5yZWdleHAse3BhdHRlcm46cixmbGFnczpvLHZhbHVlOnB9KX07di5yZWFkSW50PWZ1bmN0aW9uKGUsdCxpKXtmb3IodmFyIHM9dGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj0xMiYmdD09PXZvaWQgMCxyPWkmJnRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcyk9PT00OCxuPXRoaXMucG9zLG89MCx1PTAscD0wLGQ9dD8/MS8wO3A8ZDsrK3AsKyt0aGlzLnBvcyl7dmFyIGY9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMucG9zKSxDPXZvaWQgMDtpZihzJiZmPT09OTUpe3ImJnRoaXMucmFpc2VSZWNvdmVyYWJsZSh0aGlzLnBvcyxcIk51bWVyaWMgc2VwYXJhdG9yIGlzIG5vdCBhbGxvd2VkIGluIGxlZ2FjeSBvY3RhbCBudW1lcmljIGxpdGVyYWxzXCIpLHU9PT05NSYmdGhpcy5yYWlzZVJlY292ZXJhYmxlKHRoaXMucG9zLFwiTnVtZXJpYyBzZXBhcmF0b3IgbXVzdCBiZSBleGFjdGx5IG9uZSB1bmRlcnNjb3JlXCIpLHA9PT0wJiZ0aGlzLnJhaXNlUmVjb3ZlcmFibGUodGhpcy5wb3MsXCJOdW1lcmljIHNlcGFyYXRvciBpcyBub3QgYWxsb3dlZCBhdCB0aGUgZmlyc3Qgb2YgZGlnaXRzXCIpLHU9Zjtjb250aW51ZX1pZihmPj05Nz9DPWYtOTcrMTA6Zj49NjU/Qz1mLTY1KzEwOmY+PTQ4JiZmPD01Nz9DPWYtNDg6Qz0xLzAsQz49ZSlicmVhazt1PWYsbz1vKmUrQ31yZXR1cm4gcyYmdT09PTk1JiZ0aGlzLnJhaXNlUmVjb3ZlcmFibGUodGhpcy5wb3MtMSxcIk51bWVyaWMgc2VwYXJhdG9yIGlzIG5vdCBhbGxvd2VkIGF0IHRoZSBsYXN0IG9mIGRpZ2l0c1wiKSx0aGlzLnBvcz09PW58fHQhPW51bGwmJnRoaXMucG9zLW4hPT10P251bGw6b307ZnVuY3Rpb24gc3MoZSx0KXtyZXR1cm4gdD9wYXJzZUludChlLDgpOnBhcnNlRmxvYXQoZS5yZXBsYWNlKC9fL2csXCJcIikpfWZ1bmN0aW9uIE10KGUpe3JldHVybiB0eXBlb2YgQmlnSW50IT1cImZ1bmN0aW9uXCI/bnVsbDpCaWdJbnQoZS5yZXBsYWNlKC9fL2csXCJcIikpfXYucmVhZFJhZGl4TnVtYmVyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucG9zO3RoaXMucG9zKz0yO3ZhciBpPXRoaXMucmVhZEludChlKTtyZXR1cm4gaT09bnVsbCYmdGhpcy5yYWlzZSh0aGlzLnN0YXJ0KzIsXCJFeHBlY3RlZCBudW1iZXIgaW4gcmFkaXggXCIrZSksdGhpcy5vcHRpb25zLmVjbWFWZXJzaW9uPj0xMSYmdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMucG9zKT09PTExMD8oaT1NdCh0aGlzLmlucHV0LnNsaWNlKHQsdGhpcy5wb3MpKSwrK3RoaXMucG9zKTpNKHRoaXMuZnVsbENoYXJDb2RlQXRQb3MoKSkmJnRoaXMucmFpc2UodGhpcy5wb3MsXCJJZGVudGlmaWVyIGRpcmVjdGx5IGFmdGVyIG51bWJlclwiKSx0aGlzLmZpbmlzaFRva2VuKGEubnVtLGkpfTt2LnJlYWROdW1iZXI9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5wb3M7IWUmJnRoaXMucmVhZEludCgxMCx2b2lkIDAsITApPT09bnVsbCYmdGhpcy5yYWlzZSh0LFwiSW52YWxpZCBudW1iZXJcIik7dmFyIGk9dGhpcy5wb3MtdD49MiYmdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHQpPT09NDg7aSYmdGhpcy5zdHJpY3QmJnRoaXMucmFpc2UodCxcIkludmFsaWQgbnVtYmVyXCIpO3ZhciBzPXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcyk7aWYoIWkmJiFlJiZ0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTExJiZzPT09MTEwKXt2YXIgcj1NdCh0aGlzLmlucHV0LnNsaWNlKHQsdGhpcy5wb3MpKTtyZXR1cm4rK3RoaXMucG9zLE0odGhpcy5mdWxsQ2hhckNvZGVBdFBvcygpKSYmdGhpcy5yYWlzZSh0aGlzLnBvcyxcIklkZW50aWZpZXIgZGlyZWN0bHkgYWZ0ZXIgbnVtYmVyXCIpLHRoaXMuZmluaXNoVG9rZW4oYS5udW0scil9aSYmL1s4OV0vLnRlc3QodGhpcy5pbnB1dC5zbGljZSh0LHRoaXMucG9zKSkmJihpPSExKSxzPT09NDYmJiFpJiYoKyt0aGlzLnBvcyx0aGlzLnJlYWRJbnQoMTApLHM9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMucG9zKSksKHM9PT02OXx8cz09PTEwMSkmJiFpJiYocz10aGlzLmlucHV0LmNoYXJDb2RlQXQoKyt0aGlzLnBvcyksKHM9PT00M3x8cz09PTQ1KSYmKyt0aGlzLnBvcyx0aGlzLnJlYWRJbnQoMTApPT09bnVsbCYmdGhpcy5yYWlzZSh0LFwiSW52YWxpZCBudW1iZXJcIikpLE0odGhpcy5mdWxsQ2hhckNvZGVBdFBvcygpKSYmdGhpcy5yYWlzZSh0aGlzLnBvcyxcIklkZW50aWZpZXIgZGlyZWN0bHkgYWZ0ZXIgbnVtYmVyXCIpO3ZhciBuPXNzKHRoaXMuaW5wdXQuc2xpY2UodCx0aGlzLnBvcyksaSk7cmV0dXJuIHRoaXMuZmluaXNoVG9rZW4oYS5udW0sbil9O3YucmVhZENvZGVQb2ludD1mdW5jdGlvbigpe3ZhciBlPXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcyksdDtpZihlPT09MTIzKXt0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb248NiYmdGhpcy51bmV4cGVjdGVkKCk7dmFyIGk9Kyt0aGlzLnBvczt0PXRoaXMucmVhZEhleENoYXIodGhpcy5pbnB1dC5pbmRleE9mKFwifVwiLHRoaXMucG9zKS10aGlzLnBvcyksKyt0aGlzLnBvcyx0PjExMTQxMTEmJnRoaXMuaW52YWxpZFN0cmluZ1Rva2VuKGksXCJDb2RlIHBvaW50IG91dCBvZiBib3VuZHNcIil9ZWxzZSB0PXRoaXMucmVhZEhleENoYXIoNCk7cmV0dXJuIHR9O3YucmVhZFN0cmluZz1mdW5jdGlvbihlKXtmb3IodmFyIHQ9XCJcIixpPSsrdGhpcy5wb3M7Oyl7dGhpcy5wb3M+PXRoaXMuaW5wdXQubGVuZ3RoJiZ0aGlzLnJhaXNlKHRoaXMuc3RhcnQsXCJVbnRlcm1pbmF0ZWQgc3RyaW5nIGNvbnN0YW50XCIpO3ZhciBzPXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcyk7aWYocz09PWUpYnJlYWs7cz09PTkyPyh0Kz10aGlzLmlucHV0LnNsaWNlKGksdGhpcy5wb3MpLHQrPXRoaXMucmVhZEVzY2FwZWRDaGFyKCExKSxpPXRoaXMucG9zKTpzPT09ODIzMnx8cz09PTgyMzM/KHRoaXMub3B0aW9ucy5lY21hVmVyc2lvbjwxMCYmdGhpcy5yYWlzZSh0aGlzLnN0YXJ0LFwiVW50ZXJtaW5hdGVkIHN0cmluZyBjb25zdGFudFwiKSwrK3RoaXMucG9zLHRoaXMub3B0aW9ucy5sb2NhdGlvbnMmJih0aGlzLmN1ckxpbmUrKyx0aGlzLmxpbmVTdGFydD10aGlzLnBvcykpOihRKHMpJiZ0aGlzLnJhaXNlKHRoaXMuc3RhcnQsXCJVbnRlcm1pbmF0ZWQgc3RyaW5nIGNvbnN0YW50XCIpLCsrdGhpcy5wb3MpfXJldHVybiB0Kz10aGlzLmlucHV0LnNsaWNlKGksdGhpcy5wb3MrKyksdGhpcy5maW5pc2hUb2tlbihhLnN0cmluZyx0KX07dmFyIFV0PXt9O3YudHJ5UmVhZFRlbXBsYXRlVG9rZW49ZnVuY3Rpb24oKXt0aGlzLmluVGVtcGxhdGVFbGVtZW50PSEwO3RyeXt0aGlzLnJlYWRUbXBsVG9rZW4oKX1jYXRjaChlKXtpZihlPT09VXQpdGhpcy5yZWFkSW52YWxpZFRlbXBsYXRlVG9rZW4oKTtlbHNlIHRocm93IGV9dGhpcy5pblRlbXBsYXRlRWxlbWVudD0hMX07di5pbnZhbGlkU3RyaW5nVG9rZW49ZnVuY3Rpb24oZSx0KXtpZih0aGlzLmluVGVtcGxhdGVFbGVtZW50JiZ0aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTkpdGhyb3cgVXQ7dGhpcy5yYWlzZShlLHQpfTt2LnJlYWRUbXBsVG9rZW49ZnVuY3Rpb24oKXtmb3IodmFyIGU9XCJcIix0PXRoaXMucG9zOzspe3RoaXMucG9zPj10aGlzLmlucHV0Lmxlbmd0aCYmdGhpcy5yYWlzZSh0aGlzLnN0YXJ0LFwiVW50ZXJtaW5hdGVkIHRlbXBsYXRlXCIpO3ZhciBpPXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcyk7aWYoaT09PTk2fHxpPT09MzYmJnRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcysxKT09PTEyMylyZXR1cm4gdGhpcy5wb3M9PT10aGlzLnN0YXJ0JiYodGhpcy50eXBlPT09YS50ZW1wbGF0ZXx8dGhpcy50eXBlPT09YS5pbnZhbGlkVGVtcGxhdGUpP2k9PT0zNj8odGhpcy5wb3MrPTIsdGhpcy5maW5pc2hUb2tlbihhLmRvbGxhckJyYWNlTCkpOigrK3RoaXMucG9zLHRoaXMuZmluaXNoVG9rZW4oYS5iYWNrUXVvdGUpKTooZSs9dGhpcy5pbnB1dC5zbGljZSh0LHRoaXMucG9zKSx0aGlzLmZpbmlzaFRva2VuKGEudGVtcGxhdGUsZSkpO2lmKGk9PT05MillKz10aGlzLmlucHV0LnNsaWNlKHQsdGhpcy5wb3MpLGUrPXRoaXMucmVhZEVzY2FwZWRDaGFyKCEwKSx0PXRoaXMucG9zO2Vsc2UgaWYoUShpKSl7c3dpdGNoKGUrPXRoaXMuaW5wdXQuc2xpY2UodCx0aGlzLnBvcyksKyt0aGlzLnBvcyxpKXtjYXNlIDEzOnRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcyk9PT0xMCYmKyt0aGlzLnBvcztjYXNlIDEwOmUrPWBcbmA7YnJlYWs7ZGVmYXVsdDplKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpO2JyZWFrfXRoaXMub3B0aW9ucy5sb2NhdGlvbnMmJigrK3RoaXMuY3VyTGluZSx0aGlzLmxpbmVTdGFydD10aGlzLnBvcyksdD10aGlzLnBvc31lbHNlKyt0aGlzLnBvc319O3YucmVhZEludmFsaWRUZW1wbGF0ZVRva2VuPWZ1bmN0aW9uKCl7Zm9yKDt0aGlzLnBvczx0aGlzLmlucHV0Lmxlbmd0aDt0aGlzLnBvcysrKXN3aXRjaCh0aGlzLmlucHV0W3RoaXMucG9zXSl7Y2FzZVwiXFxcXFwiOisrdGhpcy5wb3M7YnJlYWs7Y2FzZVwiJFwiOmlmKHRoaXMuaW5wdXRbdGhpcy5wb3MrMV0hPT1cIntcIilicmVhaztjYXNlXCJgXCI6cmV0dXJuIHRoaXMuZmluaXNoVG9rZW4oYS5pbnZhbGlkVGVtcGxhdGUsdGhpcy5pbnB1dC5zbGljZSh0aGlzLnN0YXJ0LHRoaXMucG9zKSk7Y2FzZVwiXFxyXCI6dGhpcy5pbnB1dFt0aGlzLnBvcysxXT09PWBcbmAmJisrdGhpcy5wb3M7Y2FzZWBcbmA6Y2FzZVwiXFx1MjAyOFwiOmNhc2VcIlxcdTIwMjlcIjorK3RoaXMuY3VyTGluZSx0aGlzLmxpbmVTdGFydD10aGlzLnBvcysxO2JyZWFrfXRoaXMucmFpc2UodGhpcy5zdGFydCxcIlVudGVybWluYXRlZCB0ZW1wbGF0ZVwiKX07di5yZWFkRXNjYXBlZENoYXI9ZnVuY3Rpb24oZSl7dmFyIHQ9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KCsrdGhpcy5wb3MpO3N3aXRjaCgrK3RoaXMucG9zLHQpe2Nhc2UgMTEwOnJldHVybmBcbmA7Y2FzZSAxMTQ6cmV0dXJuXCJcXHJcIjtjYXNlIDEyMDpyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZSh0aGlzLnJlYWRIZXhDaGFyKDIpKTtjYXNlIDExNzpyZXR1cm4gVSh0aGlzLnJlYWRDb2RlUG9pbnQoKSk7Y2FzZSAxMTY6cmV0dXJuXCJcdFwiO2Nhc2UgOTg6cmV0dXJuXCJcXGJcIjtjYXNlIDExODpyZXR1cm5cIlxcdlwiO2Nhc2UgMTAyOnJldHVyblwiXFxmXCI7Y2FzZSAxMzp0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5wb3MpPT09MTAmJisrdGhpcy5wb3M7Y2FzZSAxMDpyZXR1cm4gdGhpcy5vcHRpb25zLmxvY2F0aW9ucyYmKHRoaXMubGluZVN0YXJ0PXRoaXMucG9zLCsrdGhpcy5jdXJMaW5lKSxcIlwiO2Nhc2UgNTY6Y2FzZSA1NzppZih0aGlzLnN0cmljdCYmdGhpcy5pbnZhbGlkU3RyaW5nVG9rZW4odGhpcy5wb3MtMSxcIkludmFsaWQgZXNjYXBlIHNlcXVlbmNlXCIpLGUpe3ZhciBpPXRoaXMucG9zLTE7dGhpcy5pbnZhbGlkU3RyaW5nVG9rZW4oaSxcIkludmFsaWQgZXNjYXBlIHNlcXVlbmNlIGluIHRlbXBsYXRlIHN0cmluZ1wiKX1kZWZhdWx0OmlmKHQ+PTQ4JiZ0PD01NSl7dmFyIHM9dGhpcy5pbnB1dC5zdWJzdHIodGhpcy5wb3MtMSwzKS5tYXRjaCgvXlswLTddKy8pWzBdLHI9cGFyc2VJbnQocyw4KTtyZXR1cm4gcj4yNTUmJihzPXMuc2xpY2UoMCwtMSkscj1wYXJzZUludChzLDgpKSx0aGlzLnBvcys9cy5sZW5ndGgtMSx0PXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnBvcyksKHMhPT1cIjBcInx8dD09PTU2fHx0PT09NTcpJiYodGhpcy5zdHJpY3R8fGUpJiZ0aGlzLmludmFsaWRTdHJpbmdUb2tlbih0aGlzLnBvcy0xLXMubGVuZ3RoLGU/XCJPY3RhbCBsaXRlcmFsIGluIHRlbXBsYXRlIHN0cmluZ1wiOlwiT2N0YWwgbGl0ZXJhbCBpbiBzdHJpY3QgbW9kZVwiKSxTdHJpbmcuZnJvbUNoYXJDb2RlKHIpfXJldHVybiBRKHQpPyh0aGlzLm9wdGlvbnMubG9jYXRpb25zJiYodGhpcy5saW5lU3RhcnQ9dGhpcy5wb3MsKyt0aGlzLmN1ckxpbmUpLFwiXCIpOlN0cmluZy5mcm9tQ2hhckNvZGUodCl9fTt2LnJlYWRIZXhDaGFyPWZ1bmN0aW9uKGUpe3ZhciB0PXRoaXMucG9zLGk9dGhpcy5yZWFkSW50KDE2LGUpO3JldHVybiBpPT09bnVsbCYmdGhpcy5pbnZhbGlkU3RyaW5nVG9rZW4odCxcIkJhZCBjaGFyYWN0ZXIgZXNjYXBlIHNlcXVlbmNlXCIpLGl9O3YucmVhZFdvcmQxPWZ1bmN0aW9uKCl7dGhpcy5jb250YWluc0VzYz0hMTtmb3IodmFyIGU9XCJcIix0PSEwLGk9dGhpcy5wb3Mscz10aGlzLm9wdGlvbnMuZWNtYVZlcnNpb24+PTY7dGhpcy5wb3M8dGhpcy5pbnB1dC5sZW5ndGg7KXt2YXIgcj10aGlzLmZ1bGxDaGFyQ29kZUF0UG9zKCk7aWYoSChyLHMpKXRoaXMucG9zKz1yPD02NTUzNT8xOjI7ZWxzZSBpZihyPT09OTIpe3RoaXMuY29udGFpbnNFc2M9ITAsZSs9dGhpcy5pbnB1dC5zbGljZShpLHRoaXMucG9zKTt2YXIgbj10aGlzLnBvczt0aGlzLmlucHV0LmNoYXJDb2RlQXQoKyt0aGlzLnBvcykhPT0xMTcmJnRoaXMuaW52YWxpZFN0cmluZ1Rva2VuKHRoaXMucG9zLFwiRXhwZWN0aW5nIFVuaWNvZGUgZXNjYXBlIHNlcXVlbmNlIFxcXFx1WFhYWFwiKSwrK3RoaXMucG9zO3ZhciBvPXRoaXMucmVhZENvZGVQb2ludCgpOyh0P006SCkobyxzKXx8dGhpcy5pbnZhbGlkU3RyaW5nVG9rZW4obixcIkludmFsaWQgVW5pY29kZSBlc2NhcGVcIiksZSs9VShvKSxpPXRoaXMucG9zfWVsc2UgYnJlYWs7dD0hMX1yZXR1cm4gZSt0aGlzLmlucHV0LnNsaWNlKGksdGhpcy5wb3MpfTt2LnJlYWRXb3JkPWZ1bmN0aW9uKCl7dmFyIGU9dGhpcy5yZWFkV29yZDEoKSx0PWEubmFtZTtyZXR1cm4gdGhpcy5rZXl3b3Jkcy50ZXN0KGUpJiYodD1PZVtlXSksdGhpcy5maW5pc2hUb2tlbih0LGUpfTt2YXIgcnM9XCI4LjE0LjBcIjtULmFjb3JuPXtQYXJzZXI6VCx2ZXJzaW9uOnJzLGRlZmF1bHRPcHRpb25zOlZlLFBvc2l0aW9uOmllLFNvdXJjZUxvY2F0aW9uOnhlLGdldExpbmVJbmZvOmN0LE5vZGU6Z2UsVG9rZW5UeXBlOlMsdG9rVHlwZXM6YSxrZXl3b3JkVHlwZXM6T2UsVG9rQ29udGV4dDpELHRva0NvbnRleHRzOl8saXNJZGVudGlmaWVyQ2hhcjpILGlzSWRlbnRpZmllclN0YXJ0Ok0sVG9rZW46cWUsaXNOZXdMaW5lOlEsbGluZUJyZWFrOkwsbGluZUJyZWFrRzp3aSxub25BU0NJSXdoaXRlc3BhY2U6cHR9O3ZhciBuaT1ldChKZSgpLDEpO2Z1bmN0aW9uIGhzKGUsdCl7bGV0IGk9bmV3IFN5bnRheEVycm9yKGUrXCIgKFwiK3QubG9jLnN0YXJ0LmxpbmUrXCI6XCIrdC5sb2Muc3RhcnQuY29sdW1uK1wiKVwiKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihpLHQpfXZhciBiZT1ocztmdW5jdGlvbiBjcyhlKXtsZXQgdD1bXTtmb3IobGV0IGkgb2YgZSl0cnl7cmV0dXJuIGkoKX1jYXRjaChzKXt0LnB1c2gocyl9dGhyb3cgT2JqZWN0LmFzc2lnbihuZXcgRXJyb3IoXCJBbGwgY29tYmluYXRpb25zIGZhaWxlZFwiKSx7ZXJyb3JzOnR9KX12YXIgU2U9Y3M7dmFyIGxzPShlLHQsaSk9PntpZighKGUmJnQ9PW51bGwpKXJldHVybiBBcnJheS5pc0FycmF5KHQpfHx0eXBlb2YgdD09XCJzdHJpbmdcIj90W2k8MD90Lmxlbmd0aCtpOmldOnQuYXQoaSl9LFg9bHM7ZnVuY3Rpb24gZnMoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSkmJmUubGVuZ3RoPjB9dmFyIFd0PWZzO2Z1bmN0aW9uIE8oZSl7dmFyIHMscixuO2xldCB0PSgocz1lLnJhbmdlKT09bnVsbD92b2lkIDA6c1swXSk/P2Uuc3RhcnQsaT0obj0oKHI9ZS5kZWNsYXJhdGlvbik9PW51bGw/dm9pZCAwOnIuZGVjb3JhdG9ycyk/P2UuZGVjb3JhdG9ycyk9PW51bGw/dm9pZCAwOm5bMF07cmV0dXJuIGk/TWF0aC5taW4oTyhpKSx0KTp0fWZ1bmN0aW9uIEooZSl7dmFyIHQ7cmV0dXJuKCh0PWUucmFuZ2UpPT1udWxsP3ZvaWQgMDp0WzFdKT8/ZS5lbmR9ZnVuY3Rpb24gZHMoZSl7bGV0IHQ9bmV3IFNldChlKTtyZXR1cm4gaT0+dC5oYXMoaT09bnVsbD92b2lkIDA6aS50eXBlKX12YXIgWHQ9ZHM7dmFyIG1zPVh0KFtcIkJsb2NrXCIsXCJDb21tZW50QmxvY2tcIixcIk11bHRpTGluZVwiXSksb2U9bXM7ZnVuY3Rpb24geHMoZSl7bGV0IHQ9YCoke2UudmFsdWV9KmAuc3BsaXQoYFxuYCk7cmV0dXJuIHQubGVuZ3RoPjEmJnQuZXZlcnkoaT0+aS50cmltU3RhcnQoKVswXT09PVwiKlwiKX12YXIgS2U9eHM7ZnVuY3Rpb24geXMoZSl7cmV0dXJuIG9lKGUpJiZlLnZhbHVlWzBdPT09XCIqXCImJi9AKD86dHlwZXxzYXRpc2ZpZXMpXFxiL3UudGVzdChlLnZhbHVlKX12YXIgenQ9eXM7dmFyIHVlPW51bGw7ZnVuY3Rpb24gcGUoZSl7aWYodWUhPT1udWxsJiZ0eXBlb2YgdWUucHJvcGVydHkpe2xldCB0PXVlO3JldHVybiB1ZT1wZS5wcm90b3R5cGU9bnVsbCx0fXJldHVybiB1ZT1wZS5wcm90b3R5cGU9ZT8/T2JqZWN0LmNyZWF0ZShudWxsKSxuZXcgcGV9dmFyIGdzPTEwO2ZvcihsZXQgZT0wO2U8PWdzO2UrKylwZSgpO2Z1bmN0aW9uIFdlKGUpe3JldHVybiBwZShlKX1mdW5jdGlvbiB2cyhlLHQ9XCJ0eXBlXCIpe1dlKGUpO2Z1bmN0aW9uIGkocyl7bGV0IHI9c1t0XSxuPWVbcl07aWYoIUFycmF5LmlzQXJyYXkobikpdGhyb3cgT2JqZWN0LmFzc2lnbihuZXcgRXJyb3IoYE1pc3NpbmcgdmlzaXRvciBrZXlzIGZvciAnJHtyfScuYCkse25vZGU6c30pO3JldHVybiBufXJldHVybiBpfXZhciBIdD12czt2YXIgUXQ9e0FycmF5RXhwcmVzc2lvbjpbXCJlbGVtZW50c1wiXSxBc3NpZ25tZW50RXhwcmVzc2lvbjpbXCJsZWZ0XCIsXCJyaWdodFwiXSxCaW5hcnlFeHByZXNzaW9uOltcImxlZnRcIixcInJpZ2h0XCJdLEludGVycHJldGVyRGlyZWN0aXZlOltdLERpcmVjdGl2ZTpbXCJ2YWx1ZVwiXSxEaXJlY3RpdmVMaXRlcmFsOltdLEJsb2NrU3RhdGVtZW50OltcImRpcmVjdGl2ZXNcIixcImJvZHlcIl0sQnJlYWtTdGF0ZW1lbnQ6W1wibGFiZWxcIl0sQ2FsbEV4cHJlc3Npb246W1wiY2FsbGVlXCIsXCJhcmd1bWVudHNcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJ0eXBlQXJndW1lbnRzXCJdLENhdGNoQ2xhdXNlOltcInBhcmFtXCIsXCJib2R5XCJdLENvbmRpdGlvbmFsRXhwcmVzc2lvbjpbXCJ0ZXN0XCIsXCJjb25zZXF1ZW50XCIsXCJhbHRlcm5hdGVcIl0sQ29udGludWVTdGF0ZW1lbnQ6W1wibGFiZWxcIl0sRGVidWdnZXJTdGF0ZW1lbnQ6W10sRG9XaGlsZVN0YXRlbWVudDpbXCJib2R5XCIsXCJ0ZXN0XCJdLEVtcHR5U3RhdGVtZW50OltdLEV4cHJlc3Npb25TdGF0ZW1lbnQ6W1wiZXhwcmVzc2lvblwiXSxGaWxlOltcInByb2dyYW1cIl0sRm9ySW5TdGF0ZW1lbnQ6W1wibGVmdFwiLFwicmlnaHRcIixcImJvZHlcIl0sRm9yU3RhdGVtZW50OltcImluaXRcIixcInRlc3RcIixcInVwZGF0ZVwiLFwiYm9keVwiXSxGdW5jdGlvbkRlY2xhcmF0aW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCIsXCJwcmVkaWNhdGVcIl0sRnVuY3Rpb25FeHByZXNzaW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCJdLElkZW50aWZpZXI6W1widHlwZUFubm90YXRpb25cIixcImRlY29yYXRvcnNcIl0sSWZTdGF0ZW1lbnQ6W1widGVzdFwiLFwiY29uc2VxdWVudFwiLFwiYWx0ZXJuYXRlXCJdLExhYmVsZWRTdGF0ZW1lbnQ6W1wibGFiZWxcIixcImJvZHlcIl0sU3RyaW5nTGl0ZXJhbDpbXSxOdW1lcmljTGl0ZXJhbDpbXSxOdWxsTGl0ZXJhbDpbXSxCb29sZWFuTGl0ZXJhbDpbXSxSZWdFeHBMaXRlcmFsOltdLExvZ2ljYWxFeHByZXNzaW9uOltcImxlZnRcIixcInJpZ2h0XCJdLE1lbWJlckV4cHJlc3Npb246W1wib2JqZWN0XCIsXCJwcm9wZXJ0eVwiXSxOZXdFeHByZXNzaW9uOltcImNhbGxlZVwiLFwiYXJndW1lbnRzXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxQcm9ncmFtOltcImRpcmVjdGl2ZXNcIixcImJvZHlcIl0sT2JqZWN0RXhwcmVzc2lvbjpbXCJwcm9wZXJ0aWVzXCJdLE9iamVjdE1ldGhvZDpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcImJvZHlcIl0sT2JqZWN0UHJvcGVydHk6W1wia2V5XCIsXCJ2YWx1ZVwiLFwiZGVjb3JhdG9yc1wiXSxSZXN0RWxlbWVudDpbXCJhcmd1bWVudFwiLFwidHlwZUFubm90YXRpb25cIixcImRlY29yYXRvcnNcIl0sUmV0dXJuU3RhdGVtZW50OltcImFyZ3VtZW50XCJdLFNlcXVlbmNlRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uc1wiXSxQYXJlbnRoZXNpemVkRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCJdLFN3aXRjaENhc2U6W1widGVzdFwiLFwiY29uc2VxdWVudFwiXSxTd2l0Y2hTdGF0ZW1lbnQ6W1wiZGlzY3JpbWluYW50XCIsXCJjYXNlc1wiXSxUaGlzRXhwcmVzc2lvbjpbXSxUaHJvd1N0YXRlbWVudDpbXCJhcmd1bWVudFwiXSxUcnlTdGF0ZW1lbnQ6W1wiYmxvY2tcIixcImhhbmRsZXJcIixcImZpbmFsaXplclwiXSxVbmFyeUV4cHJlc3Npb246W1wiYXJndW1lbnRcIl0sVXBkYXRlRXhwcmVzc2lvbjpbXCJhcmd1bWVudFwiXSxWYXJpYWJsZURlY2xhcmF0aW9uOltcImRlY2xhcmF0aW9uc1wiXSxWYXJpYWJsZURlY2xhcmF0b3I6W1wiaWRcIixcImluaXRcIl0sV2hpbGVTdGF0ZW1lbnQ6W1widGVzdFwiLFwiYm9keVwiXSxXaXRoU3RhdGVtZW50OltcIm9iamVjdFwiLFwiYm9keVwiXSxBc3NpZ25tZW50UGF0dGVybjpbXCJsZWZ0XCIsXCJyaWdodFwiLFwiZGVjb3JhdG9yc1wiLFwidHlwZUFubm90YXRpb25cIl0sQXJyYXlQYXR0ZXJuOltcImVsZW1lbnRzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwiZGVjb3JhdG9yc1wiXSxBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbjpbXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCIsXCJwcmVkaWNhdGVcIl0sQ2xhc3NCb2R5OltcImJvZHlcIl0sQ2xhc3NFeHByZXNzaW9uOltcImRlY29yYXRvcnNcIixcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwic3VwZXJDbGFzc1wiLFwic3VwZXJUeXBlUGFyYW1ldGVyc1wiLFwibWl4aW5zXCIsXCJpbXBsZW1lbnRzXCIsXCJib2R5XCIsXCJzdXBlclR5cGVBcmd1bWVudHNcIl0sQ2xhc3NEZWNsYXJhdGlvbjpbXCJkZWNvcmF0b3JzXCIsXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInN1cGVyQ2xhc3NcIixcInN1cGVyVHlwZVBhcmFtZXRlcnNcIixcIm1peGluc1wiLFwiaW1wbGVtZW50c1wiLFwiYm9keVwiLFwic3VwZXJUeXBlQXJndW1lbnRzXCJdLEV4cG9ydEFsbERlY2xhcmF0aW9uOltcInNvdXJjZVwiLFwiYXR0cmlidXRlc1wiLFwiZXhwb3J0ZWRcIl0sRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uOltcImRlY2xhcmF0aW9uXCJdLEV4cG9ydE5hbWVkRGVjbGFyYXRpb246W1wiZGVjbGFyYXRpb25cIixcInNwZWNpZmllcnNcIixcInNvdXJjZVwiLFwiYXR0cmlidXRlc1wiXSxFeHBvcnRTcGVjaWZpZXI6W1wibG9jYWxcIixcImV4cG9ydGVkXCJdLEZvck9mU3RhdGVtZW50OltcImxlZnRcIixcInJpZ2h0XCIsXCJib2R5XCJdLEltcG9ydERlY2xhcmF0aW9uOltcInNwZWNpZmllcnNcIixcInNvdXJjZVwiLFwiYXR0cmlidXRlc1wiXSxJbXBvcnREZWZhdWx0U3BlY2lmaWVyOltcImxvY2FsXCJdLEltcG9ydE5hbWVzcGFjZVNwZWNpZmllcjpbXCJsb2NhbFwiXSxJbXBvcnRTcGVjaWZpZXI6W1wiaW1wb3J0ZWRcIixcImxvY2FsXCJdLEltcG9ydEV4cHJlc3Npb246W1wic291cmNlXCIsXCJvcHRpb25zXCJdLE1ldGFQcm9wZXJ0eTpbXCJtZXRhXCIsXCJwcm9wZXJ0eVwiXSxDbGFzc01ldGhvZDpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcImJvZHlcIl0sT2JqZWN0UGF0dGVybjpbXCJwcm9wZXJ0aWVzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwiZGVjb3JhdG9yc1wiXSxTcHJlYWRFbGVtZW50OltcImFyZ3VtZW50XCJdLFN1cGVyOltdLFRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvbjpbXCJ0YWdcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJxdWFzaVwiLFwidHlwZUFyZ3VtZW50c1wiXSxUZW1wbGF0ZUVsZW1lbnQ6W10sVGVtcGxhdGVMaXRlcmFsOltcInF1YXNpc1wiLFwiZXhwcmVzc2lvbnNcIl0sWWllbGRFeHByZXNzaW9uOltcImFyZ3VtZW50XCJdLEF3YWl0RXhwcmVzc2lvbjpbXCJhcmd1bWVudFwiXSxCaWdJbnRMaXRlcmFsOltdLEV4cG9ydE5hbWVzcGFjZVNwZWNpZmllcjpbXCJleHBvcnRlZFwiXSxPcHRpb25hbE1lbWJlckV4cHJlc3Npb246W1wib2JqZWN0XCIsXCJwcm9wZXJ0eVwiXSxPcHRpb25hbENhbGxFeHByZXNzaW9uOltcImNhbGxlZVwiLFwiYXJndW1lbnRzXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxDbGFzc1Byb3BlcnR5OltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIixcInZhbHVlXCIsXCJ2YXJpYW5jZVwiXSxDbGFzc0FjY2Vzc29yUHJvcGVydHk6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwidmFsdWVcIl0sQ2xhc3NQcml2YXRlUHJvcGVydHk6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwidmFsdWVcIixcInZhcmlhbmNlXCJdLENsYXNzUHJpdmF0ZU1ldGhvZDpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcImJvZHlcIl0sUHJpdmF0ZU5hbWU6W1wiaWRcIl0sU3RhdGljQmxvY2s6W1wiYm9keVwiXSxBbnlUeXBlQW5ub3RhdGlvbjpbXSxBcnJheVR5cGVBbm5vdGF0aW9uOltcImVsZW1lbnRUeXBlXCJdLEJvb2xlYW5UeXBlQW5ub3RhdGlvbjpbXSxCb29sZWFuTGl0ZXJhbFR5cGVBbm5vdGF0aW9uOltdLE51bGxMaXRlcmFsVHlwZUFubm90YXRpb246W10sQ2xhc3NJbXBsZW1lbnRzOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiXSxEZWNsYXJlQ2xhc3M6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJleHRlbmRzXCIsXCJtaXhpbnNcIixcImltcGxlbWVudHNcIixcImJvZHlcIl0sRGVjbGFyZUZ1bmN0aW9uOltcImlkXCIsXCJwcmVkaWNhdGVcIl0sRGVjbGFyZUludGVyZmFjZTpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcImV4dGVuZHNcIixcImJvZHlcIl0sRGVjbGFyZU1vZHVsZTpbXCJpZFwiLFwiYm9keVwiXSxEZWNsYXJlTW9kdWxlRXhwb3J0czpbXCJ0eXBlQW5ub3RhdGlvblwiXSxEZWNsYXJlVHlwZUFsaWFzOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicmlnaHRcIl0sRGVjbGFyZU9wYXF1ZVR5cGU6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJzdXBlcnR5cGVcIl0sRGVjbGFyZVZhcmlhYmxlOltcImlkXCJdLERlY2xhcmVFeHBvcnREZWNsYXJhdGlvbjpbXCJkZWNsYXJhdGlvblwiLFwic3BlY2lmaWVyc1wiLFwic291cmNlXCIsXCJhdHRyaWJ1dGVzXCJdLERlY2xhcmVFeHBvcnRBbGxEZWNsYXJhdGlvbjpbXCJzb3VyY2VcIixcImF0dHJpYnV0ZXNcIl0sRGVjbGFyZWRQcmVkaWNhdGU6W1widmFsdWVcIl0sRXhpc3RzVHlwZUFubm90YXRpb246W10sRnVuY3Rpb25UeXBlQW5ub3RhdGlvbjpbXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXN0XCIsXCJyZXR1cm5UeXBlXCIsXCJ0aGlzXCJdLEZ1bmN0aW9uVHlwZVBhcmFtOltcIm5hbWVcIixcInR5cGVBbm5vdGF0aW9uXCJdLEdlbmVyaWNUeXBlQW5ub3RhdGlvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIl0sSW5mZXJyZWRQcmVkaWNhdGU6W10sSW50ZXJmYWNlRXh0ZW5kczpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIl0sSW50ZXJmYWNlRGVjbGFyYXRpb246W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJleHRlbmRzXCIsXCJib2R5XCJdLEludGVyZmFjZVR5cGVBbm5vdGF0aW9uOltcImV4dGVuZHNcIixcImJvZHlcIl0sSW50ZXJzZWN0aW9uVHlwZUFubm90YXRpb246W1widHlwZXNcIl0sTWl4ZWRUeXBlQW5ub3RhdGlvbjpbXSxFbXB0eVR5cGVBbm5vdGF0aW9uOltdLE51bGxhYmxlVHlwZUFubm90YXRpb246W1widHlwZUFubm90YXRpb25cIl0sTnVtYmVyTGl0ZXJhbFR5cGVBbm5vdGF0aW9uOltdLE51bWJlclR5cGVBbm5vdGF0aW9uOltdLE9iamVjdFR5cGVBbm5vdGF0aW9uOltcInByb3BlcnRpZXNcIixcImluZGV4ZXJzXCIsXCJjYWxsUHJvcGVydGllc1wiLFwiaW50ZXJuYWxTbG90c1wiXSxPYmplY3RUeXBlSW50ZXJuYWxTbG90OltcImlkXCIsXCJ2YWx1ZVwiXSxPYmplY3RUeXBlQ2FsbFByb3BlcnR5OltcInZhbHVlXCJdLE9iamVjdFR5cGVJbmRleGVyOltcInZhcmlhbmNlXCIsXCJpZFwiLFwia2V5XCIsXCJ2YWx1ZVwiXSxPYmplY3RUeXBlUHJvcGVydHk6W1wia2V5XCIsXCJ2YWx1ZVwiLFwidmFyaWFuY2VcIl0sT2JqZWN0VHlwZVNwcmVhZFByb3BlcnR5OltcImFyZ3VtZW50XCJdLE9wYXF1ZVR5cGU6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJzdXBlcnR5cGVcIixcImltcGx0eXBlXCJdLFF1YWxpZmllZFR5cGVJZGVudGlmaWVyOltcInF1YWxpZmljYXRpb25cIixcImlkXCJdLFN0cmluZ0xpdGVyYWxUeXBlQW5ub3RhdGlvbjpbXSxTdHJpbmdUeXBlQW5ub3RhdGlvbjpbXSxTeW1ib2xUeXBlQW5ub3RhdGlvbjpbXSxUaGlzVHlwZUFubm90YXRpb246W10sVHVwbGVUeXBlQW5ub3RhdGlvbjpbXCJ0eXBlc1wiLFwiZWxlbWVudFR5cGVzXCJdLFR5cGVvZlR5cGVBbm5vdGF0aW9uOltcImFyZ3VtZW50XCIsXCJ0eXBlQXJndW1lbnRzXCJdLFR5cGVBbGlhczpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInJpZ2h0XCJdLFR5cGVBbm5vdGF0aW9uOltcInR5cGVBbm5vdGF0aW9uXCJdLFR5cGVDYXN0RXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUeXBlUGFyYW1ldGVyOltcImJvdW5kXCIsXCJkZWZhdWx0XCIsXCJ2YXJpYW5jZVwiXSxUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb246W1wicGFyYW1zXCJdLFR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uOltcInBhcmFtc1wiXSxVbmlvblR5cGVBbm5vdGF0aW9uOltcInR5cGVzXCJdLFZhcmlhbmNlOltdLFZvaWRUeXBlQW5ub3RhdGlvbjpbXSxFbnVtRGVjbGFyYXRpb246W1wiaWRcIixcImJvZHlcIl0sRW51bUJvb2xlYW5Cb2R5OltcIm1lbWJlcnNcIl0sRW51bU51bWJlckJvZHk6W1wibWVtYmVyc1wiXSxFbnVtU3RyaW5nQm9keTpbXCJtZW1iZXJzXCJdLEVudW1TeW1ib2xCb2R5OltcIm1lbWJlcnNcIl0sRW51bUJvb2xlYW5NZW1iZXI6W1wiaWRcIixcImluaXRcIl0sRW51bU51bWJlck1lbWJlcjpbXCJpZFwiLFwiaW5pdFwiXSxFbnVtU3RyaW5nTWVtYmVyOltcImlkXCIsXCJpbml0XCJdLEVudW1EZWZhdWx0ZWRNZW1iZXI6W1wiaWRcIl0sSW5kZXhlZEFjY2Vzc1R5cGU6W1wib2JqZWN0VHlwZVwiLFwiaW5kZXhUeXBlXCJdLE9wdGlvbmFsSW5kZXhlZEFjY2Vzc1R5cGU6W1wib2JqZWN0VHlwZVwiLFwiaW5kZXhUeXBlXCJdLEpTWEF0dHJpYnV0ZTpbXCJuYW1lXCIsXCJ2YWx1ZVwiXSxKU1hDbG9zaW5nRWxlbWVudDpbXCJuYW1lXCJdLEpTWEVsZW1lbnQ6W1wib3BlbmluZ0VsZW1lbnRcIixcImNoaWxkcmVuXCIsXCJjbG9zaW5nRWxlbWVudFwiXSxKU1hFbXB0eUV4cHJlc3Npb246W10sSlNYRXhwcmVzc2lvbkNvbnRhaW5lcjpbXCJleHByZXNzaW9uXCJdLEpTWFNwcmVhZENoaWxkOltcImV4cHJlc3Npb25cIl0sSlNYSWRlbnRpZmllcjpbXSxKU1hNZW1iZXJFeHByZXNzaW9uOltcIm9iamVjdFwiLFwicHJvcGVydHlcIl0sSlNYTmFtZXNwYWNlZE5hbWU6W1wibmFtZXNwYWNlXCIsXCJuYW1lXCJdLEpTWE9wZW5pbmdFbGVtZW50OltcIm5hbWVcIixcImF0dHJpYnV0ZXNcIixcInR5cGVBcmd1bWVudHNcIixcInR5cGVQYXJhbWV0ZXJzXCJdLEpTWFNwcmVhZEF0dHJpYnV0ZTpbXCJhcmd1bWVudFwiXSxKU1hUZXh0OltdLEpTWEZyYWdtZW50OltcIm9wZW5pbmdGcmFnbWVudFwiLFwiY2hpbGRyZW5cIixcImNsb3NpbmdGcmFnbWVudFwiXSxKU1hPcGVuaW5nRnJhZ21lbnQ6W10sSlNYQ2xvc2luZ0ZyYWdtZW50OltdLE5vb3A6W10sUGxhY2Vob2xkZXI6W10sVjhJbnRyaW5zaWNJZGVudGlmaWVyOltdLEFyZ3VtZW50UGxhY2Vob2xkZXI6W10sQmluZEV4cHJlc3Npb246W1wib2JqZWN0XCIsXCJjYWxsZWVcIl0sSW1wb3J0QXR0cmlidXRlOltcImtleVwiLFwidmFsdWVcIl0sRGVjb3JhdG9yOltcImV4cHJlc3Npb25cIl0sRG9FeHByZXNzaW9uOltcImJvZHlcIl0sRXhwb3J0RGVmYXVsdFNwZWNpZmllcjpbXCJleHBvcnRlZFwiXSxSZWNvcmRFeHByZXNzaW9uOltcInByb3BlcnRpZXNcIl0sVHVwbGVFeHByZXNzaW9uOltcImVsZW1lbnRzXCJdLE1vZHVsZUV4cHJlc3Npb246W1wiYm9keVwiXSxUb3BpY1JlZmVyZW5jZTpbXSxQaXBlbGluZVRvcGljRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCJdLFBpcGVsaW5lQmFyZUZ1bmN0aW9uOltcImNhbGxlZVwiXSxQaXBlbGluZVByaW1hcnlUb3BpY1JlZmVyZW5jZTpbXSxUU1BhcmFtZXRlclByb3BlcnR5OltcInBhcmFtZXRlclwiLFwiZGVjb3JhdG9yc1wiXSxUU0RlY2xhcmVGdW5jdGlvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiLFwiYm9keVwiXSxUU0RlY2xhcmVNZXRob2Q6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCJdLFRTUXVhbGlmaWVkTmFtZTpbXCJsZWZ0XCIsXCJyaWdodFwiXSxUU0NhbGxTaWduYXR1cmVEZWNsYXJhdGlvbjpbXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1ldGVyc1wiLFwidHlwZUFubm90YXRpb25cIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiXSxUU0NvbnN0cnVjdFNpZ25hdHVyZURlY2xhcmF0aW9uOltcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbWV0ZXJzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCJdLFRTUHJvcGVydHlTaWduYXR1cmU6W1wia2V5XCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUU01ldGhvZFNpZ25hdHVyZTpbXCJrZXlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbWV0ZXJzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCJdLFRTSW5kZXhTaWduYXR1cmU6W1wicGFyYW1ldGVyc1wiLFwidHlwZUFubm90YXRpb25cIl0sVFNBbnlLZXl3b3JkOltdLFRTQm9vbGVhbktleXdvcmQ6W10sVFNCaWdJbnRLZXl3b3JkOltdLFRTSW50cmluc2ljS2V5d29yZDpbXSxUU05ldmVyS2V5d29yZDpbXSxUU051bGxLZXl3b3JkOltdLFRTTnVtYmVyS2V5d29yZDpbXSxUU09iamVjdEtleXdvcmQ6W10sVFNTdHJpbmdLZXl3b3JkOltdLFRTU3ltYm9sS2V5d29yZDpbXSxUU1VuZGVmaW5lZEtleXdvcmQ6W10sVFNVbmtub3duS2V5d29yZDpbXSxUU1ZvaWRLZXl3b3JkOltdLFRTVGhpc1R5cGU6W10sVFNGdW5jdGlvblR5cGU6W1widHlwZVBhcmFtZXRlcnNcIixcInBhcmFtZXRlcnNcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIl0sVFNDb25zdHJ1Y3RvclR5cGU6W1widHlwZVBhcmFtZXRlcnNcIixcInBhcmFtZXRlcnNcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIl0sVFNUeXBlUmVmZXJlbmNlOltcInR5cGVOYW1lXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxUU1R5cGVQcmVkaWNhdGU6W1wicGFyYW1ldGVyTmFtZVwiLFwidHlwZUFubm90YXRpb25cIl0sVFNUeXBlUXVlcnk6W1wiZXhwck5hbWVcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJ0eXBlQXJndW1lbnRzXCJdLFRTVHlwZUxpdGVyYWw6W1wibWVtYmVyc1wiXSxUU0FycmF5VHlwZTpbXCJlbGVtZW50VHlwZVwiXSxUU1R1cGxlVHlwZTpbXCJlbGVtZW50VHlwZXNcIl0sVFNPcHRpb25hbFR5cGU6W1widHlwZUFubm90YXRpb25cIl0sVFNSZXN0VHlwZTpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUU05hbWVkVHVwbGVNZW1iZXI6W1wibGFiZWxcIixcImVsZW1lbnRUeXBlXCJdLFRTVW5pb25UeXBlOltcInR5cGVzXCJdLFRTSW50ZXJzZWN0aW9uVHlwZTpbXCJ0eXBlc1wiXSxUU0NvbmRpdGlvbmFsVHlwZTpbXCJjaGVja1R5cGVcIixcImV4dGVuZHNUeXBlXCIsXCJ0cnVlVHlwZVwiLFwiZmFsc2VUeXBlXCJdLFRTSW5mZXJUeXBlOltcInR5cGVQYXJhbWV0ZXJcIl0sVFNQYXJlbnRoZXNpemVkVHlwZTpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUU1R5cGVPcGVyYXRvcjpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUU0luZGV4ZWRBY2Nlc3NUeXBlOltcIm9iamVjdFR5cGVcIixcImluZGV4VHlwZVwiXSxUU01hcHBlZFR5cGU6W1widHlwZVBhcmFtZXRlclwiLFwibmFtZVR5cGVcIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTTGl0ZXJhbFR5cGU6W1wibGl0ZXJhbFwiXSxUU0V4cHJlc3Npb25XaXRoVHlwZUFyZ3VtZW50czpbXCJleHByZXNzaW9uXCIsXCJ0eXBlUGFyYW1ldGVyc1wiXSxUU0ludGVyZmFjZURlY2xhcmF0aW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwiZXh0ZW5kc1wiLFwiYm9keVwiXSxUU0ludGVyZmFjZUJvZHk6W1wiYm9keVwiXSxUU1R5cGVBbGlhc0RlY2xhcmF0aW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFubm90YXRpb25cIl0sVFNJbnN0YW50aWF0aW9uRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxUU0FzRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUU1NhdGlzZmllc0V4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwidHlwZUFubm90YXRpb25cIl0sVFNUeXBlQXNzZXJ0aW9uOltcInR5cGVBbm5vdGF0aW9uXCIsXCJleHByZXNzaW9uXCJdLFRTRW51bURlY2xhcmF0aW9uOltcImlkXCIsXCJtZW1iZXJzXCJdLFRTRW51bU1lbWJlcjpbXCJpZFwiLFwiaW5pdGlhbGl6ZXJcIl0sVFNNb2R1bGVEZWNsYXJhdGlvbjpbXCJpZFwiLFwiYm9keVwiXSxUU01vZHVsZUJsb2NrOltcImJvZHlcIl0sVFNJbXBvcnRUeXBlOltcImFyZ3VtZW50XCIsXCJxdWFsaWZpZXJcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJ0eXBlQXJndW1lbnRzXCJdLFRTSW1wb3J0RXF1YWxzRGVjbGFyYXRpb246W1wiaWRcIixcIm1vZHVsZVJlZmVyZW5jZVwiXSxUU0V4dGVybmFsTW9kdWxlUmVmZXJlbmNlOltcImV4cHJlc3Npb25cIl0sVFNOb25OdWxsRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCJdLFRTRXhwb3J0QXNzaWdubWVudDpbXCJleHByZXNzaW9uXCJdLFRTTmFtZXNwYWNlRXhwb3J0RGVjbGFyYXRpb246W1wiaWRcIl0sVFNUeXBlQW5ub3RhdGlvbjpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUU1R5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uOltcInBhcmFtc1wiXSxUU1R5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvbjpbXCJwYXJhbXNcIl0sVFNUeXBlUGFyYW1ldGVyOltcImNvbnN0cmFpbnRcIixcImRlZmF1bHRcIixcIm5hbWVcIl0sQ2hhaW5FeHByZXNzaW9uOltcImV4cHJlc3Npb25cIl0sRXhwZXJpbWVudGFsUmVzdFByb3BlcnR5OltcImFyZ3VtZW50XCJdLEV4cGVyaW1lbnRhbFNwcmVhZFByb3BlcnR5OltcImFyZ3VtZW50XCJdLExpdGVyYWw6W10sTWV0aG9kRGVmaW5pdGlvbjpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInZhbHVlXCJdLFByaXZhdGVJZGVudGlmaWVyOltdLFByb3BlcnR5OltcImtleVwiLFwidmFsdWVcIl0sUHJvcGVydHlEZWZpbml0aW9uOltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIixcInZhbHVlXCIsXCJ2YXJpYW5jZVwiXSxBY2Nlc3NvclByb3BlcnR5OltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIixcInZhbHVlXCJdLFRTQWJzdHJhY3RBY2Nlc3NvclByb3BlcnR5OltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIl0sVFNBYnN0cmFjdEtleXdvcmQ6W10sVFNBYnN0cmFjdE1ldGhvZERlZmluaXRpb246W1wia2V5XCIsXCJ2YWx1ZVwiXSxUU0Fic3RyYWN0UHJvcGVydHlEZWZpbml0aW9uOltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIl0sVFNBc3luY0tleXdvcmQ6W10sVFNDbGFzc0ltcGxlbWVudHM6W1wiZXhwcmVzc2lvblwiLFwidHlwZUFyZ3VtZW50c1wiLFwidHlwZVBhcmFtZXRlcnNcIl0sVFNEZWNsYXJlS2V5d29yZDpbXSxUU0VtcHR5Qm9keUZ1bmN0aW9uRXhwcmVzc2lvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiXSxUU0VudW1Cb2R5OltcIm1lbWJlcnNcIl0sVFNFeHBvcnRLZXl3b3JkOltdLFRTSW50ZXJmYWNlSGVyaXRhZ2U6W1wiZXhwcmVzc2lvblwiLFwidHlwZUFyZ3VtZW50c1wiLFwidHlwZVBhcmFtZXRlcnNcIl0sVFNQcml2YXRlS2V5d29yZDpbXSxUU1Byb3RlY3RlZEtleXdvcmQ6W10sVFNQdWJsaWNLZXl3b3JkOltdLFRTUmVhZG9ubHlLZXl3b3JkOltdLFRTU3RhdGljS2V5d29yZDpbXSxUU1RlbXBsYXRlTGl0ZXJhbFR5cGU6W1wicXVhc2lzXCIsXCJ0eXBlc1wiXSxBc0NvbnN0RXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCJdLEFzRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxCaWdJbnRMaXRlcmFsVHlwZUFubm90YXRpb246W10sQmlnSW50VHlwZUFubm90YXRpb246W10sQ29tcG9uZW50RGVjbGFyYXRpb246W1wiaWRcIixcInBhcmFtc1wiLFwiYm9keVwiLFwidHlwZVBhcmFtZXRlcnNcIixcInJlbmRlcnNUeXBlXCJdLENvbXBvbmVudFBhcmFtZXRlcjpbXCJuYW1lXCIsXCJsb2NhbFwiXSxDb21wb25lbnRUeXBlQW5ub3RhdGlvbjpbXCJwYXJhbXNcIixcInJlc3RcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJyZW5kZXJzVHlwZVwiXSxDb21wb25lbnRUeXBlUGFyYW1ldGVyOltcIm5hbWVcIixcInR5cGVBbm5vdGF0aW9uXCJdLENvbmRpdGlvbmFsVHlwZUFubm90YXRpb246W1wiY2hlY2tUeXBlXCIsXCJleHRlbmRzVHlwZVwiLFwidHJ1ZVR5cGVcIixcImZhbHNlVHlwZVwiXSxEZWNsYXJlQ29tcG9uZW50OltcImlkXCIsXCJwYXJhbXNcIixcInJlc3RcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJyZW5kZXJzVHlwZVwiXSxEZWNsYXJlRW51bTpbXCJpZFwiLFwiYm9keVwiXSxEZWNsYXJlSG9vazpbXCJpZFwiXSxEZWNsYXJlTmFtZXNwYWNlOltcImlkXCIsXCJib2R5XCJdLEVudW1CaWdJbnRCb2R5OltcIm1lbWJlcnNcIl0sRW51bUJpZ0ludE1lbWJlcjpbXCJpZFwiLFwiaW5pdFwiXSxIb29rRGVjbGFyYXRpb246W1wiaWRcIixcInBhcmFtc1wiLFwiYm9keVwiLFwidHlwZVBhcmFtZXRlcnNcIixcInJldHVyblR5cGVcIl0sSG9va1R5cGVBbm5vdGF0aW9uOltcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiLFwicmVzdFwiLFwidHlwZVBhcmFtZXRlcnNcIl0sSW5mZXJUeXBlQW5ub3RhdGlvbjpbXCJ0eXBlUGFyYW1ldGVyXCJdLEtleW9mVHlwZUFubm90YXRpb246W1wiYXJndW1lbnRcIl0sT2JqZWN0VHlwZU1hcHBlZFR5cGVQcm9wZXJ0eTpbXCJrZXlUcGFyYW1cIixcInByb3BUeXBlXCIsXCJzb3VyY2VUeXBlXCIsXCJ2YXJpYW5jZVwiXSxRdWFsaWZpZWRUeXBlb2ZJZGVudGlmaWVyOltcInF1YWxpZmljYXRpb25cIixcImlkXCJdLFR1cGxlVHlwZUxhYmVsZWRFbGVtZW50OltcImxhYmVsXCIsXCJlbGVtZW50VHlwZVwiLFwidmFyaWFuY2VcIl0sVHVwbGVUeXBlU3ByZWFkRWxlbWVudDpbXCJsYWJlbFwiLFwidHlwZUFubm90YXRpb25cIl0sVHlwZU9wZXJhdG9yOltcInR5cGVBbm5vdGF0aW9uXCJdLFR5cGVQcmVkaWNhdGU6W1wicGFyYW1ldGVyTmFtZVwiLFwidHlwZUFubm90YXRpb25cIixcImFzc2VydHNcIl0sTkdSb290OltcIm5vZGVcIl0sTkdQaXBlRXhwcmVzc2lvbjpbXCJsZWZ0XCIsXCJyaWdodFwiLFwiYXJndW1lbnRzXCJdLE5HQ2hhaW5lZEV4cHJlc3Npb246W1wiZXhwcmVzc2lvbnNcIl0sTkdFbXB0eUV4cHJlc3Npb246W10sTkdNaWNyb3N5bnRheDpbXCJib2R5XCJdLE5HTWljcm9zeW50YXhLZXk6W10sTkdNaWNyb3N5bnRheEV4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwiYWxpYXNcIl0sTkdNaWNyb3N5bnRheEtleWVkRXhwcmVzc2lvbjpbXCJrZXlcIixcImV4cHJlc3Npb25cIl0sTkdNaWNyb3N5bnRheExldDpbXCJrZXlcIixcInZhbHVlXCJdLE5HTWljcm9zeW50YXhBczpbXCJrZXlcIixcImFsaWFzXCJdLEpzRXhwcmVzc2lvblJvb3Q6W1wibm9kZVwiXSxKc29uUm9vdDpbXCJub2RlXCJdLFRTSlNEb2NBbGxUeXBlOltdLFRTSlNEb2NVbmtub3duVHlwZTpbXSxUU0pTRG9jTnVsbGFibGVUeXBlOltcInR5cGVBbm5vdGF0aW9uXCJdLFRTSlNEb2NOb25OdWxsYWJsZVR5cGU6W1widHlwZUFubm90YXRpb25cIl0sTmV2ZXJUeXBlQW5ub3RhdGlvbjpbXSxVbmRlZmluZWRUeXBlQW5ub3RhdGlvbjpbXSxVbmtub3duVHlwZUFubm90YXRpb246W10sU2F0aXNmaWVzRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlQW5ub3RhdGlvblwiXX07dmFyIGJzPUh0KFF0KSxZdD1icztmdW5jdGlvbiBYZShlLHQpe2lmKCEoZSE9PW51bGwmJnR5cGVvZiBlPT1cIm9iamVjdFwiKSlyZXR1cm4gZTtpZihBcnJheS5pc0FycmF5KGUpKXtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKyllW3NdPVhlKGVbc10sdCk7cmV0dXJuIGV9bGV0IGk9WXQoZSk7Zm9yKGxldCBzPTA7czxpLmxlbmd0aDtzKyspZVtpW3NdXT1YZShlW2lbc11dLHQpO3JldHVybiB0KGUpfHxlfXZhciBDZT1YZTtmdW5jdGlvbiBTcyhlLHQpe2xldHtwYXJzZXI6aSx0ZXh0OnN9PXQ7aWYoZS50eXBlPT09XCJGaWxlXCImJmUucHJvZ3JhbS5pbnRlcnByZXRlcil7bGV0e3Byb2dyYW06e2ludGVycHJldGVyOnJ9LGNvbW1lbnRzOm59PWU7ZGVsZXRlIGUucHJvZ3JhbS5pbnRlcnByZXRlcixuLnVuc2hpZnQocil9aWYoaT09PVwiYmFiZWxcIil7bGV0IHI9bmV3IFNldDtlPUNlKGUsbj0+e3ZhciBvOyhvPW4ubGVhZGluZ0NvbW1lbnRzKSE9bnVsbCYmby5zb21lKHp0KSYmci5hZGQoTyhuKSl9KSxlPUNlKGUsbj0+e2lmKG4udHlwZT09PVwiUGFyZW50aGVzaXplZEV4cHJlc3Npb25cIil7bGV0e2V4cHJlc3Npb246b309bjtpZihvLnR5cGU9PT1cIlR5cGVDYXN0RXhwcmVzc2lvblwiKXJldHVybiBvLnJhbmdlPVsuLi5uLnJhbmdlXSxvO2xldCB1PU8obik7aWYoIXIuaGFzKHUpKXJldHVybiBvLmV4dHJhPXsuLi5vLmV4dHJhLHBhcmVudGhlc2l6ZWQ6ITB9LG99fSl9aWYoZT1DZShlLHI9Pntzd2l0Y2goci50eXBlKXtjYXNlXCJMb2dpY2FsRXhwcmVzc2lvblwiOmlmKFp0KHIpKXJldHVybiB6ZShyKTticmVhaztjYXNlXCJWYXJpYWJsZURlY2xhcmF0aW9uXCI6e2xldCBuPVgoITEsci5kZWNsYXJhdGlvbnMsLTEpO24hPW51bGwmJm4uaW5pdCYmc1tKKG4pXSE9PVwiO1wiJiYoci5yYW5nZT1bTyhyKSxKKG4pXSk7YnJlYWt9Y2FzZVwiVFNQYXJlbnRoZXNpemVkVHlwZVwiOnJldHVybiByLnR5cGVBbm5vdGF0aW9uO2Nhc2VcIlRTVHlwZVBhcmFtZXRlclwiOmlmKHR5cGVvZiByLm5hbWU9PVwic3RyaW5nXCIpe2xldCBuPU8ocik7ci5uYW1lPXt0eXBlOlwiSWRlbnRpZmllclwiLG5hbWU6ci5uYW1lLHJhbmdlOltuLG4rci5uYW1lLmxlbmd0aF19fWJyZWFrO2Nhc2VcIlRvcGljUmVmZXJlbmNlXCI6ZS5leHRyYT17Li4uZS5leHRyYSxfX2lzVXNpbmdIYWNrUGlwZWxpbmU6ITB9O2JyZWFrO2Nhc2VcIlRTVW5pb25UeXBlXCI6Y2FzZVwiVFNJbnRlcnNlY3Rpb25UeXBlXCI6aWYoci50eXBlcy5sZW5ndGg9PT0xKXJldHVybiByLnR5cGVzWzBdO2JyZWFrfX0pLFd0KGUuY29tbWVudHMpKXtsZXQgcj1YKCExLGUuY29tbWVudHMsLTEpO2ZvcihsZXQgbj1lLmNvbW1lbnRzLmxlbmd0aC0yO24+PTA7bi0tKXtsZXQgbz1lLmNvbW1lbnRzW25dO0oobyk9PT1PKHIpJiZvZShvKSYmb2UocikmJktlKG8pJiZLZShyKSYmKGUuY29tbWVudHMuc3BsaWNlKG4rMSwxKSxvLnZhbHVlKz1cIiovLypcIityLnZhbHVlLG8ucmFuZ2U9W08obyksSihyKV0pLHI9b319cmV0dXJuIGUudHlwZT09PVwiUHJvZ3JhbVwiJiYoZS5yYW5nZT1bMCxzLmxlbmd0aF0pLGV9ZnVuY3Rpb24gWnQoZSl7cmV0dXJuIGUudHlwZT09PVwiTG9naWNhbEV4cHJlc3Npb25cIiYmZS5yaWdodC50eXBlPT09XCJMb2dpY2FsRXhwcmVzc2lvblwiJiZlLm9wZXJhdG9yPT09ZS5yaWdodC5vcGVyYXRvcn1mdW5jdGlvbiB6ZShlKXtyZXR1cm4gWnQoZSk/emUoe3R5cGU6XCJMb2dpY2FsRXhwcmVzc2lvblwiLG9wZXJhdG9yOmUub3BlcmF0b3IsbGVmdDp6ZSh7dHlwZTpcIkxvZ2ljYWxFeHByZXNzaW9uXCIsb3BlcmF0b3I6ZS5vcGVyYXRvcixsZWZ0OmUubGVmdCxyaWdodDplLnJpZ2h0LmxlZnQscmFuZ2U6W08oZS5sZWZ0KSxKKGUucmlnaHQubGVmdCldfSkscmlnaHQ6ZS5yaWdodC5yaWdodCxyYW5nZTpbTyhlKSxKKGUpXX0pOmV9dmFyIF9lPVNzO3ZhciBDcz0oZSx0LGkscyk9PntpZighKGUmJnQ9PW51bGwpKXJldHVybiB0LnJlcGxhY2VBbGw/dC5yZXBsYWNlQWxsKGkscyk6aS5nbG9iYWw/dC5yZXBsYWNlKGkscyk6dC5zcGxpdChpKS5qb2luKHMpfSxlZT1Dczt2YXIgX3M9L1xcKlxcLyQvLFRzPS9eXFwvXFwqXFwqPy8sa3M9L15cXHMqKFxcL1xcKlxcKj8oLnxcXHI/XFxuKSo/XFwqXFwvKS8sRXM9LyhefFxccyspXFwvXFwvKFteXFxuXFxyXSopL2csJHQ9L14oXFxyP1xcbikrLyx3cz0vKD86XnxcXHI/XFxuKSAqKEBbXlxcblxccl0qPykgKlxccj9cXG4gKig/IVteXFxuXFxyQF0qXFwvXFwvW15dKikoW15cXHNAXVteXFxuXFxyQF0rPykgKlxccj9cXG4vZyxlaT0vKD86XnxcXHI/XFxuKSAqQChcXFMrKSAqKFteXFxuXFxyXSopL2csQXM9LyhcXHI/XFxufF4pICpcXCogPy9nLFBzPVtdO2Z1bmN0aW9uIHRpKGUpe2xldCB0PWUubWF0Y2goa3MpO3JldHVybiB0P3RbMF0udHJpbVN0YXJ0KCk6XCJcIn1mdW5jdGlvbiBpaShlKXtsZXQgdD1gXG5gO2U9ZWUoITEsZS5yZXBsYWNlKFRzLFwiXCIpLnJlcGxhY2UoX3MsXCJcIiksQXMsXCIkMVwiKTtsZXQgaT1cIlwiO2Zvcig7aSE9PWU7KWk9ZSxlPWVlKCExLGUsd3MsYCR7dH0kMSAkMiR7dH1gKTtlPWUucmVwbGFjZSgkdCxcIlwiKS50cmltRW5kKCk7bGV0IHM9T2JqZWN0LmNyZWF0ZShudWxsKSxyPWVlKCExLGUsZWksXCJcIikucmVwbGFjZSgkdCxcIlwiKS50cmltRW5kKCksbjtmb3IoO249ZWkuZXhlYyhlKTspe2xldCBvPWVlKCExLG5bMl0sRXMsXCJcIik7aWYodHlwZW9mIHNbblsxXV09PVwic3RyaW5nXCJ8fEFycmF5LmlzQXJyYXkoc1tuWzFdXSkpe2xldCB1PXNbblsxXV07c1tuWzFdXT1bLi4uUHMsLi4uQXJyYXkuaXNBcnJheSh1KT91Olt1XSxvXX1lbHNlIHNbblsxXV09b31yZXR1cm57Y29tbWVudHM6cixwcmFnbWFzOnN9fWZ1bmN0aW9uIElzKGUpe2lmKCFlLnN0YXJ0c1dpdGgoXCIjIVwiKSlyZXR1cm5cIlwiO2xldCB0PWUuaW5kZXhPZihgXG5gKTtyZXR1cm4gdD09PS0xP2U6ZS5zbGljZSgwLHQpfXZhciBzaT1JcztmdW5jdGlvbiBOcyhlKXtsZXQgdD1zaShlKTt0JiYoZT1lLnNsaWNlKHQubGVuZ3RoKzEpKTtsZXQgaT10aShlKSx7cHJhZ21hczpzLGNvbW1lbnRzOnJ9PWlpKGkpO3JldHVybntzaGViYW5nOnQsdGV4dDplLHByYWdtYXM6cyxjb21tZW50czpyfX1mdW5jdGlvbiByaShlKXtsZXR7cHJhZ21hczp0fT1OcyhlKTtyZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsXCJwcmV0dGllclwiKXx8T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQsXCJmb3JtYXRcIil9ZnVuY3Rpb24gVnMoZSl7cmV0dXJuIGU9dHlwZW9mIGU9PVwiZnVuY3Rpb25cIj97cGFyc2U6ZX06ZSx7YXN0Rm9ybWF0OlwiZXN0cmVlXCIsaGFzUHJhZ21hOnJpLGxvY1N0YXJ0Ok8sbG9jRW5kOkosLi4uZX19dmFyIFRlPVZzO2Z1bmN0aW9uIExzKGUpe2xldHtmaWxlcGF0aDp0fT1lO2lmKHQpe2lmKHQ9dC50b0xvd2VyQ2FzZSgpLHQuZW5kc1dpdGgoXCIuY2pzXCIpfHx0LmVuZHNXaXRoKFwiLmN0c1wiKSlyZXR1cm5cInNjcmlwdFwiO2lmKHQuZW5kc1dpdGgoXCIubWpzXCIpfHx0LmVuZHNXaXRoKFwiLm10c1wiKSlyZXR1cm5cIm1vZHVsZVwifX12YXIga2U9THM7dmFyIFJzPXtlY21hVmVyc2lvbjpcImxhdGVzdFwiLGFsbG93UmV0dXJuT3V0c2lkZUZ1bmN0aW9uOiEwLGFsbG93U3VwZXJPdXRzaWRlTWV0aG9kOiEwLGxvY2F0aW9uczohMCxyYW5nZXM6ITB9O2Z1bmN0aW9uIE9zKGUpe2xldHttZXNzYWdlOnQsbG9jOml9PWU7aWYoIWkpcmV0dXJuIGU7bGV0e2xpbmU6cyxjb2x1bW46cn09aTtyZXR1cm4gYmUodC5yZXBsYWNlKC8gXFwoXFxkKzpcXGQrXFwpJC91LFwiXCIpLHtsb2M6e3N0YXJ0OntsaW5lOnMsY29sdW1uOnIrMX19LGNhdXNlOmV9KX12YXIgYWksQnM9KCk9PihhaT8/KGFpPVQuZXh0ZW5kKCgwLG5pLmRlZmF1bHQpKCkpKSxhaSk7ZnVuY3Rpb24gRHMoZSx0KXtsZXQgaT1CcygpLHM9W10scj1bXSxuPWkucGFyc2UoZSx7Li4uUnMsc291cmNlVHlwZTp0LGFsbG93SW1wb3J0RXhwb3J0RXZlcnl3aGVyZTp0PT09XCJtb2R1bGVcIixvbkNvbW1lbnQ6cyxvblRva2VuOnJ9KTtyZXR1cm4gbi5jb21tZW50cz1zLG4udG9rZW5zPXIsbn1mdW5jdGlvbiBGcyhlLHQ9e30pe2xldCBpPWtlKHQpLHM9KGk/W2ldOltcIm1vZHVsZVwiLFwic2NyaXB0XCJdKS5tYXAobj0+KCk9PkRzKGUsbikpLHI7dHJ5e3I9U2Uocyl9Y2F0Y2goe2Vycm9yczpbbl19KXt0aHJvdyBPcyhuKX1yZXR1cm4gX2Uocix7dGV4dDplfSl9dmFyIG9pPVRlKEZzKTt2YXIgY2k9ZXQoSmUoKSwxKTt2YXIgRT17Qm9vbGVhbjpcIkJvb2xlYW5cIixFT0Y6XCI8ZW5kPlwiLElkZW50aWZpZXI6XCJJZGVudGlmaWVyXCIsUHJpdmF0ZUlkZW50aWZpZXI6XCJQcml2YXRlSWRlbnRpZmllclwiLEtleXdvcmQ6XCJLZXl3b3JkXCIsTnVsbDpcIk51bGxcIixOdW1lcmljOlwiTnVtZXJpY1wiLFB1bmN0dWF0b3I6XCJQdW5jdHVhdG9yXCIsU3RyaW5nOlwiU3RyaW5nXCIsUmVndWxhckV4cHJlc3Npb246XCJSZWd1bGFyRXhwcmVzc2lvblwiLFRlbXBsYXRlOlwiVGVtcGxhdGVcIixKU1hJZGVudGlmaWVyOlwiSlNYSWRlbnRpZmllclwiLEpTWFRleHQ6XCJKU1hUZXh0XCJ9O2Z1bmN0aW9uIGpzKGUsdCl7bGV0IGk9ZVswXSxzPVgoITEsZSwtMSkscj17dHlwZTpFLlRlbXBsYXRlLHZhbHVlOnQuc2xpY2UoaS5zdGFydCxzLmVuZCl9O3JldHVybiBpLmxvYyYmKHIubG9jPXtzdGFydDppLmxvYy5zdGFydCxlbmQ6cy5sb2MuZW5kfSksaS5yYW5nZSYmKHIuc3RhcnQ9aS5yYW5nZVswXSxyLmVuZD1zLnJhbmdlWzFdLHIucmFuZ2U9W3Iuc3RhcnQsci5lbmRdKSxyfWZ1bmN0aW9uIEhlKGUsdCl7dGhpcy5fYWNvcm5Ub2tUeXBlcz1lLHRoaXMuX3Rva2Vucz1bXSx0aGlzLl9jdXJseUJyYWNlPW51bGwsdGhpcy5fY29kZT10fUhlLnByb3RvdHlwZT17Y29uc3RydWN0b3I6SGUsdHJhbnNsYXRlKGUsdCl7bGV0IGk9ZS50eXBlLHM9dGhpcy5fYWNvcm5Ub2tUeXBlcztpZihpPT09cy5uYW1lKWUudHlwZT1FLklkZW50aWZpZXIsZS52YWx1ZT09PVwic3RhdGljXCImJihlLnR5cGU9RS5LZXl3b3JkKSx0LmVjbWFWZXJzaW9uPjUmJihlLnZhbHVlPT09XCJ5aWVsZFwifHxlLnZhbHVlPT09XCJsZXRcIikmJihlLnR5cGU9RS5LZXl3b3JkKTtlbHNlIGlmKGk9PT1zLnByaXZhdGVJZCllLnR5cGU9RS5Qcml2YXRlSWRlbnRpZmllcjtlbHNlIGlmKGk9PT1zLnNlbWl8fGk9PT1zLmNvbW1hfHxpPT09cy5wYXJlbkx8fGk9PT1zLnBhcmVuUnx8aT09PXMuYnJhY2VMfHxpPT09cy5icmFjZVJ8fGk9PT1zLmRvdHx8aT09PXMuYnJhY2tldEx8fGk9PT1zLmNvbG9ufHxpPT09cy5xdWVzdGlvbnx8aT09PXMuYnJhY2tldFJ8fGk9PT1zLmVsbGlwc2lzfHxpPT09cy5hcnJvd3x8aT09PXMuanN4VGFnU3RhcnR8fGk9PT1zLmluY0RlY3x8aT09PXMuc3RhcnN0YXJ8fGk9PT1zLmpzeFRhZ0VuZHx8aT09PXMucHJlZml4fHxpPT09cy5xdWVzdGlvbkRvdHx8aS5iaW5vcCYmIWkua2V5d29yZHx8aS5pc0Fzc2lnbillLnR5cGU9RS5QdW5jdHVhdG9yLGUudmFsdWU9dGhpcy5fY29kZS5zbGljZShlLnN0YXJ0LGUuZW5kKTtlbHNlIGlmKGk9PT1zLmpzeE5hbWUpZS50eXBlPUUuSlNYSWRlbnRpZmllcjtlbHNlIGlmKGkubGFiZWw9PT1cImpzeFRleHRcInx8aT09PXMuanN4QXR0clZhbHVlVG9rZW4pZS50eXBlPUUuSlNYVGV4dDtlbHNlIGlmKGkua2V5d29yZClpLmtleXdvcmQ9PT1cInRydWVcInx8aS5rZXl3b3JkPT09XCJmYWxzZVwiP2UudHlwZT1FLkJvb2xlYW46aS5rZXl3b3JkPT09XCJudWxsXCI/ZS50eXBlPUUuTnVsbDplLnR5cGU9RS5LZXl3b3JkO2Vsc2UgaWYoaT09PXMubnVtKWUudHlwZT1FLk51bWVyaWMsZS52YWx1ZT10aGlzLl9jb2RlLnNsaWNlKGUuc3RhcnQsZS5lbmQpO2Vsc2UgaWYoaT09PXMuc3RyaW5nKXQuanN4QXR0clZhbHVlVG9rZW4/KHQuanN4QXR0clZhbHVlVG9rZW49ITEsZS50eXBlPUUuSlNYVGV4dCk6ZS50eXBlPUUuU3RyaW5nLGUudmFsdWU9dGhpcy5fY29kZS5zbGljZShlLnN0YXJ0LGUuZW5kKTtlbHNlIGlmKGk9PT1zLnJlZ2V4cCl7ZS50eXBlPUUuUmVndWxhckV4cHJlc3Npb247bGV0IHI9ZS52YWx1ZTtlLnJlZ2V4PXtmbGFnczpyLmZsYWdzLHBhdHRlcm46ci5wYXR0ZXJufSxlLnZhbHVlPWAvJHtyLnBhdHRlcm59LyR7ci5mbGFnc31gfXJldHVybiBlfSxvblRva2VuKGUsdCl7bGV0IGk9dGhpcy5fYWNvcm5Ub2tUeXBlcyxzPXQudG9rZW5zLHI9dGhpcy5fdG9rZW5zLG49KCk9PntzLnB1c2goanModGhpcy5fdG9rZW5zLHRoaXMuX2NvZGUpKSx0aGlzLl90b2tlbnM9W119O2lmKGUudHlwZT09PWkuZW9mKXt0aGlzLl9jdXJseUJyYWNlJiZzLnB1c2godGhpcy50cmFuc2xhdGUodGhpcy5fY3VybHlCcmFjZSx0KSk7cmV0dXJufWlmKGUudHlwZT09PWkuYmFja1F1b3RlKXt0aGlzLl9jdXJseUJyYWNlJiYocy5wdXNoKHRoaXMudHJhbnNsYXRlKHRoaXMuX2N1cmx5QnJhY2UsdCkpLHRoaXMuX2N1cmx5QnJhY2U9bnVsbCksci5wdXNoKGUpLHIubGVuZ3RoPjEmJm4oKTtyZXR1cm59aWYoZS50eXBlPT09aS5kb2xsYXJCcmFjZUwpe3IucHVzaChlKSxuKCk7cmV0dXJufWlmKGUudHlwZT09PWkuYnJhY2VSKXt0aGlzLl9jdXJseUJyYWNlJiZzLnB1c2godGhpcy50cmFuc2xhdGUodGhpcy5fY3VybHlCcmFjZSx0KSksdGhpcy5fY3VybHlCcmFjZT1lO3JldHVybn1pZihlLnR5cGU9PT1pLnRlbXBsYXRlfHxlLnR5cGU9PT1pLmludmFsaWRUZW1wbGF0ZSl7dGhpcy5fY3VybHlCcmFjZSYmKHIucHVzaCh0aGlzLl9jdXJseUJyYWNlKSx0aGlzLl9jdXJseUJyYWNlPW51bGwpLHIucHVzaChlKTtyZXR1cm59dGhpcy5fY3VybHlCcmFjZSYmKHMucHVzaCh0aGlzLnRyYW5zbGF0ZSh0aGlzLl9jdXJseUJyYWNlLHQpKSx0aGlzLl9jdXJseUJyYWNlPW51bGwpLHMucHVzaCh0aGlzLnRyYW5zbGF0ZShlLHQpKX19O3ZhciB1aT1IZTt2YXIgcGk9WzMsNSw2LDcsOCw5LDEwLDExLDEyLDEzLDE0LDE1LDE2XTtmdW5jdGlvbiBNcygpe3JldHVybiBYKCExLHBpLC0xKX1mdW5jdGlvbiBVcyhlPTUpe2xldCB0PWU9PT1cImxhdGVzdFwiP01zKCk6ZTtpZih0eXBlb2YgdCE9XCJudW1iZXJcIil0aHJvdyBuZXcgRXJyb3IoYGVjbWFWZXJzaW9uIG11c3QgYmUgYSBudW1iZXIgb3IgXCJsYXRlc3RcIi4gUmVjZWl2ZWQgdmFsdWUgb2YgdHlwZSAke3R5cGVvZiBlfSBpbnN0ZWFkLmApO2lmKHQ+PTIwMTUmJih0LT0yMDA5KSwhcGkuaW5jbHVkZXModCkpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCBlY21hVmVyc2lvbi5cIik7cmV0dXJuIHR9ZnVuY3Rpb24gcXMoZT1cInNjcmlwdFwiKXtpZihlPT09XCJzY3JpcHRcInx8ZT09PVwibW9kdWxlXCIpcmV0dXJuIGU7aWYoZT09PVwiY29tbW9uanNcIilyZXR1cm5cInNjcmlwdFwiO3Rocm93IG5ldyBFcnJvcihcIkludmFsaWQgc291cmNlVHlwZS5cIil9ZnVuY3Rpb24gaGkoZSl7bGV0IHQ9VXMoZS5lY21hVmVyc2lvbiksaT1xcyhlLnNvdXJjZVR5cGUpLHM9ZS5yYW5nZT09PSEwLHI9ZS5sb2M9PT0hMDtpZih0IT09MyYmZS5hbGxvd1Jlc2VydmVkKXRocm93IG5ldyBFcnJvcihcImBhbGxvd1Jlc2VydmVkYCBpcyBvbmx5IHN1cHBvcnRlZCB3aGVuIGVjbWFWZXJzaW9uIGlzIDNcIik7aWYodHlwZW9mIGUuYWxsb3dSZXNlcnZlZDxcInVcIiYmdHlwZW9mIGUuYWxsb3dSZXNlcnZlZCE9XCJib29sZWFuXCIpdGhyb3cgbmV3IEVycm9yKFwiYGFsbG93UmVzZXJ2ZWRgLCB3aGVuIHByZXNlbnQsIG11c3QgYmUgYHRydWVgIG9yIGBmYWxzZWBcIik7bGV0IG49dD09PTM/ZS5hbGxvd1Jlc2VydmVkfHxcIm5ldmVyXCI6ITEsbz1lLmVjbWFGZWF0dXJlc3x8e30sdT1lLnNvdXJjZVR5cGU9PT1cImNvbW1vbmpzXCJ8fCEhby5nbG9iYWxSZXR1cm47aWYoaT09PVwibW9kdWxlXCImJnQ8Nil0aHJvdyBuZXcgRXJyb3IoXCJzb3VyY2VUeXBlICdtb2R1bGUnIGlzIG5vdCBzdXBwb3J0ZWQgd2hlbiBlY21hVmVyc2lvbiA8IDIwMTUuIENvbnNpZGVyIGFkZGluZyBgeyBlY21hVmVyc2lvbjogMjAxNSB9YCB0byB0aGUgcGFyc2VyIG9wdGlvbnMuXCIpO3JldHVybiBPYmplY3QuYXNzaWduKHt9LGUse2VjbWFWZXJzaW9uOnQsc291cmNlVHlwZTppLHJhbmdlczpzLGxvY2F0aW9uczpyLGFsbG93UmVzZXJ2ZWQ6bixhbGxvd1JldHVybk91dHNpZGVGdW5jdGlvbjp1fSl9dmFyIHo9U3ltYm9sKFwiZXNwcmVlJ3MgaW50ZXJuYWwgc3RhdGVcIiksUWU9U3ltYm9sKFwiZXNwcmVlJ3MgZXNwcmltYUZpbmlzaE5vZGVcIik7ZnVuY3Rpb24gR3MoZSx0LGkscyxyLG4sbyl7bGV0IHU7ZT91PVwiQmxvY2tcIjpvLnNsaWNlKGksaSsyKT09PVwiIyFcIj91PVwiSGFzaGJhbmdcIjp1PVwiTGluZVwiO2xldCBwPXt0eXBlOnUsdmFsdWU6dH07cmV0dXJuIHR5cGVvZiBpPT1cIm51bWJlclwiJiYocC5zdGFydD1pLHAuZW5kPXMscC5yYW5nZT1baSxzXSksdHlwZW9mIHI9PVwib2JqZWN0XCImJihwLmxvYz17c3RhcnQ6cixlbmQ6bn0pLHB9dmFyIFllPSgpPT5lPT57bGV0IHQ9T2JqZWN0LmFzc2lnbih7fSxlLmFjb3JuLnRva1R5cGVzKTtyZXR1cm4gZS5hY29ybkpzeCYmT2JqZWN0LmFzc2lnbih0LGUuYWNvcm5Kc3gudG9rVHlwZXMpLGNsYXNzIGV4dGVuZHMgZXtjb25zdHJ1Y3RvcihzLHIpeyh0eXBlb2YgcyE9XCJvYmplY3RcInx8cz09PW51bGwpJiYocz17fSksdHlwZW9mIHIhPVwic3RyaW5nXCImJiEociBpbnN0YW5jZW9mIFN0cmluZykmJihyPVN0cmluZyhyKSk7bGV0IG49cy5zb3VyY2VUeXBlLG89aGkocyksdT1vLmVjbWFGZWF0dXJlc3x8e30scD1vLnRva2Vucz09PSEwP25ldyB1aSh0LHIpOm51bGwsZD17b3JpZ2luYWxTb3VyY2VUeXBlOm58fG8uc291cmNlVHlwZSx0b2tlbnM6cD9bXTpudWxsLGNvbW1lbnRzOm8uY29tbWVudD09PSEwP1tdOm51bGwsaW1wbGllZFN0cmljdDp1LmltcGxpZWRTdHJpY3Q9PT0hMCYmby5lY21hVmVyc2lvbj49NSxlY21hVmVyc2lvbjpvLmVjbWFWZXJzaW9uLGpzeEF0dHJWYWx1ZVRva2VuOiExLGxhc3RUb2tlbjpudWxsLHRlbXBsYXRlRWxlbWVudHM6W119O3N1cGVyKHtlY21hVmVyc2lvbjpvLmVjbWFWZXJzaW9uLHNvdXJjZVR5cGU6by5zb3VyY2VUeXBlLHJhbmdlczpvLnJhbmdlcyxsb2NhdGlvbnM6by5sb2NhdGlvbnMsYWxsb3dSZXNlcnZlZDpvLmFsbG93UmVzZXJ2ZWQsYWxsb3dSZXR1cm5PdXRzaWRlRnVuY3Rpb246by5hbGxvd1JldHVybk91dHNpZGVGdW5jdGlvbixvblRva2VuKGYpe3AmJnAub25Ub2tlbihmLGQpLGYudHlwZSE9PXQuZW9mJiYoZC5sYXN0VG9rZW49Zil9LG9uQ29tbWVudChmLEMsQixoLG0seCl7aWYoZC5jb21tZW50cyl7bGV0IGc9R3MoZixDLEIsaCxtLHgscik7ZC5jb21tZW50cy5wdXNoKGcpfX19LHIpLHRoaXNbel09ZH10b2tlbml6ZSgpe2RvIHRoaXMubmV4dCgpO3doaWxlKHRoaXMudHlwZSE9PXQuZW9mKTt0aGlzLm5leHQoKTtsZXQgcz10aGlzW3pdLHI9cy50b2tlbnM7cmV0dXJuIHMuY29tbWVudHMmJihyLmNvbW1lbnRzPXMuY29tbWVudHMpLHJ9ZmluaXNoTm9kZSguLi5zKXtsZXQgcj1zdXBlci5maW5pc2hOb2RlKC4uLnMpO3JldHVybiB0aGlzW1FlXShyKX1maW5pc2hOb2RlQXQoLi4ucyl7bGV0IHI9c3VwZXIuZmluaXNoTm9kZUF0KC4uLnMpO3JldHVybiB0aGlzW1FlXShyKX1wYXJzZSgpe2xldCBzPXRoaXNbel0scj1zdXBlci5wYXJzZSgpO2lmKHIuc291cmNlVHlwZT1zLm9yaWdpbmFsU291cmNlVHlwZSxzLmNvbW1lbnRzJiYoci5jb21tZW50cz1zLmNvbW1lbnRzKSxzLnRva2VucyYmKHIudG9rZW5zPXMudG9rZW5zKSxyLmJvZHkubGVuZ3RoKXtsZXRbbl09ci5ib2R5O3IucmFuZ2UmJihyLnJhbmdlWzBdPW4ucmFuZ2VbMF0pLHIubG9jJiYoci5sb2Muc3RhcnQ9bi5sb2Muc3RhcnQpLHIuc3RhcnQ9bi5zdGFydH1yZXR1cm4gcy5sYXN0VG9rZW4mJihyLnJhbmdlJiYoci5yYW5nZVsxXT1zLmxhc3RUb2tlbi5yYW5nZVsxXSksci5sb2MmJihyLmxvYy5lbmQ9cy5sYXN0VG9rZW4ubG9jLmVuZCksci5lbmQ9cy5sYXN0VG9rZW4uZW5kKSx0aGlzW3pdLnRlbXBsYXRlRWxlbWVudHMuZm9yRWFjaChuPT57bGV0IHU9bi50YWlsPzE6MjtuLnN0YXJ0Kz0tMSxuLmVuZCs9dSxuLnJhbmdlJiYobi5yYW5nZVswXSs9LTEsbi5yYW5nZVsxXSs9dSksbi5sb2MmJihuLmxvYy5zdGFydC5jb2x1bW4rPS0xLG4ubG9jLmVuZC5jb2x1bW4rPXUpfSkscn1wYXJzZVRvcExldmVsKHMpe3JldHVybiB0aGlzW3pdLmltcGxpZWRTdHJpY3QmJih0aGlzLnN0cmljdD0hMCksc3VwZXIucGFyc2VUb3BMZXZlbChzKX1yYWlzZShzLHIpe2xldCBuPWUuYWNvcm4uZ2V0TGluZUluZm8odGhpcy5pbnB1dCxzKSxvPW5ldyBTeW50YXhFcnJvcihyKTt0aHJvdyBvLmluZGV4PXMsby5saW5lTnVtYmVyPW4ubGluZSxvLmNvbHVtbj1uLmNvbHVtbisxLG99cmFpc2VSZWNvdmVyYWJsZShzLHIpe3RoaXMucmFpc2UocyxyKX11bmV4cGVjdGVkKHMpe2xldCByPVwiVW5leHBlY3RlZCB0b2tlblwiO2lmKHMhPW51bGwpe2lmKHRoaXMucG9zPXMsdGhpcy5vcHRpb25zLmxvY2F0aW9ucylmb3IoO3RoaXMucG9zPHRoaXMubGluZVN0YXJ0Oyl0aGlzLmxpbmVTdGFydD10aGlzLmlucHV0Lmxhc3RJbmRleE9mKGBcbmAsdGhpcy5saW5lU3RhcnQtMikrMSwtLXRoaXMuY3VyTGluZTt0aGlzLm5leHRUb2tlbigpfXRoaXMuZW5kPnRoaXMuc3RhcnQmJihyKz1gICR7dGhpcy5pbnB1dC5zbGljZSh0aGlzLnN0YXJ0LHRoaXMuZW5kKX1gKSx0aGlzLnJhaXNlKHRoaXMuc3RhcnQscil9anN4X3JlYWRTdHJpbmcocyl7bGV0IHI9c3VwZXIuanN4X3JlYWRTdHJpbmcocyk7cmV0dXJuIHRoaXMudHlwZT09PXQuc3RyaW5nJiYodGhpc1t6XS5qc3hBdHRyVmFsdWVUb2tlbj0hMCkscn1bUWVdKHMpe3JldHVybiBzLnR5cGU9PT1cIlRlbXBsYXRlRWxlbWVudFwiJiZ0aGlzW3pdLnRlbXBsYXRlRWxlbWVudHMucHVzaChzKSxzLnR5cGUuaW5jbHVkZXMoXCJGdW5jdGlvblwiKSYmIXMuZ2VuZXJhdG9yJiYocy5nZW5lcmF0b3I9ITEpLHN9fX07dmFyIEpzPXtfcmVndWxhcjpudWxsLF9qc3g6bnVsbCxnZXQgcmVndWxhcigpe3JldHVybiB0aGlzLl9yZWd1bGFyPT09bnVsbCYmKHRoaXMuX3JlZ3VsYXI9VC5leHRlbmQoWWUoKSkpLHRoaXMuX3JlZ3VsYXJ9LGdldCBqc3goKXtyZXR1cm4gdGhpcy5fanN4PT09bnVsbCYmKHRoaXMuX2pzeD1ULmV4dGVuZCgoMCxjaS5kZWZhdWx0KSgpLFllKCkpKSx0aGlzLl9qc3h9LGdldChlKXtyZXR1cm4hIShlJiZlLmVjbWFGZWF0dXJlcyYmZS5lY21hRmVhdHVyZXMuanN4KT90aGlzLmpzeDp0aGlzLnJlZ3VsYXJ9fTtmdW5jdGlvbiBsaShlLHQpe2xldCBpPUpzLmdldCh0KTtyZXR1cm4gbmV3IGkodCxlKS5wYXJzZSgpfXZhciBLcz17ZWNtYVZlcnNpb246XCJsYXRlc3RcIixyYW5nZTohMCxsb2M6ITAsY29tbWVudDohMCx0b2tlbnM6ITAsc291cmNlVHlwZTpcIm1vZHVsZVwiLGVjbWFGZWF0dXJlczp7anN4OiEwLGdsb2JhbFJldHVybjohMCxpbXBsaWVkU3RyaWN0OiExfX07ZnVuY3Rpb24gV3MoZSl7bGV0e21lc3NhZ2U6dCxsaW5lTnVtYmVyOmksY29sdW1uOnN9PWU7cmV0dXJuIHR5cGVvZiBpIT1cIm51bWJlclwiP2U6YmUodCx7bG9jOntzdGFydDp7bGluZTppLGNvbHVtbjpzfX0sY2F1c2U6ZX0pfWZ1bmN0aW9uIFhzKGUsdD17fSl7bGV0IGk9a2UodCkscz0oaT9baV06W1wibW9kdWxlXCIsXCJzY3JpcHRcIl0pLm1hcChuPT4oKT0+bGkoZSx7Li4uS3Msc291cmNlVHlwZTpufSkpLHI7dHJ5e3I9U2Uocyl9Y2F0Y2goe2Vycm9yczpbbl19KXt0aHJvdyBXcyhuKX1yZXR1cm4gX2Uocix7dGV4dDplfSl9dmFyIGZpPVRlKFhzKTt2YXIgenM9e2Fjb3JuOm9pLGVzcHJlZTpmaX07dmFyIENhPVplO2V4cG9ydHtDYSBhcyBkZWZhdWx0LHpzIGFzIHBhcnNlcnN9O1xuIiwgInZhciAkcz1PYmplY3QuZGVmaW5lUHJvcGVydHk7dmFyIFh0PXQ9Pnt0aHJvdyBUeXBlRXJyb3IodCl9O3ZhciBKdD0odCxlKT0+e2Zvcih2YXIgbiBpbiBlKSRzKHQsbix7Z2V0OmVbbl0sZW51bWVyYWJsZTohMH0pfTt2YXIgaXQ9KHQsZSxuKT0+ZS5oYXModCl8fFh0KFwiQ2Fubm90IFwiK24pO3ZhciBMPSh0LGUsbik9PihpdCh0LGUsXCJyZWFkIGZyb20gcHJpdmF0ZSBmaWVsZFwiKSxuP24uY2FsbCh0KTplLmdldCh0KSksVj0odCxlLG4pPT5lLmhhcyh0KT9YdChcIkNhbm5vdCBhZGQgdGhlIHNhbWUgcHJpdmF0ZSBtZW1iZXIgbW9yZSB0aGFuIG9uY2VcIik6ZSBpbnN0YW5jZW9mIFdlYWtTZXQ/ZS5hZGQodCk6ZS5zZXQodCxuKSxRPSh0LGUsbixzKT0+KGl0KHQsZSxcIndyaXRlIHRvIHByaXZhdGUgZmllbGRcIikscz9zLmNhbGwodCxuKTplLnNldCh0LG4pLG4pLGM9KHQsZSxuKT0+KGl0KHQsZSxcImFjY2VzcyBwcml2YXRlIG1ldGhvZFwiKSxuKTt2YXIgenQ9e307SnQoenQse3BhcnNlcnM6KCk9Pmp0fSk7dmFyIGp0PXt9O0p0KGp0LHtfX25nX2FjdGlvbjooKT0+VXIsX19uZ19iaW5kaW5nOigpPT5XcixfX25nX2RpcmVjdGl2ZTooKT0+anIsX19uZ19pbnRlcnBvbGF0aW9uOigpPT5xcn0pO3ZhciBHcj1uZXcgUmVnRXhwKGAoXFxcXDpub3RcXFxcKCl8KChbXFxcXC5cXFxcI10/KVstXFxcXHddKyl8KD86XFxcXFsoWy0uXFxcXHcqXFxcXFxcXFwkXSspKD86PShbXCInXT8pKFteXFxcXF1cIiddKilcXFxcNSk/XFxcXF0pfChcXFxcKSl8KFxcXFxzKixcXFxccyopYCxcImdcIik7dmFyIEt0OyhmdW5jdGlvbih0KXt0W3QuRW11bGF0ZWQ9MF09XCJFbXVsYXRlZFwiLHRbdC5Ob25lPTJdPVwiTm9uZVwiLHRbdC5TaGFkb3dEb209M109XCJTaGFkb3dEb21cIn0pKEt0fHwoS3Q9e30pKTt2YXIgWXQ7KGZ1bmN0aW9uKHQpe3RbdC5PblB1c2g9MF09XCJPblB1c2hcIix0W3QuRGVmYXVsdD0xXT1cIkRlZmF1bHRcIn0pKFl0fHwoWXQ9e30pKTt2YXIgUXQ7KGZ1bmN0aW9uKHQpe3RbdC5Ob25lPTBdPVwiTm9uZVwiLHRbdC5TaWduYWxCYXNlZD0xXT1cIlNpZ25hbEJhc2VkXCIsdFt0Lkhhc0RlY29yYXRvcklucHV0VHJhbnNmb3JtPTJdPVwiSGFzRGVjb3JhdG9ySW5wdXRUcmFuc2Zvcm1cIn0pKFF0fHwoUXQ9e30pKTt2YXIgQjsoZnVuY3Rpb24odCl7dFt0Lk5PTkU9MF09XCJOT05FXCIsdFt0LkhUTUw9MV09XCJIVE1MXCIsdFt0LlNUWUxFPTJdPVwiU1RZTEVcIix0W3QuU0NSSVBUPTNdPVwiU0NSSVBUXCIsdFt0LlVSTD00XT1cIlVSTFwiLHRbdC5SRVNPVVJDRV9VUkw9NV09XCJSRVNPVVJDRV9VUkxcIn0pKEJ8fChCPXt9KSk7dmFyIFp0OyhmdW5jdGlvbih0KXt0W3QuRXJyb3I9MF09XCJFcnJvclwiLHRbdC5XYXJuaW5nPTFdPVwiV2FybmluZ1wiLHRbdC5JZ25vcmU9Ml09XCJJZ25vcmVcIn0pKFp0fHwoWnQ9e30pKTt2YXIgZW47KGZ1bmN0aW9uKHQpe3RbdC5MaXR0bGU9MF09XCJMaXR0bGVcIix0W3QuQmlnPTFdPVwiQmlnXCJ9KShlbnx8KGVuPXt9KSk7dmFyIHRuOyhmdW5jdGlvbih0KXt0W3QuTm9uZT0wXT1cIk5vbmVcIix0W3QuQ29uc3Q9MV09XCJDb25zdFwifSkodG58fCh0bj17fSkpO3ZhciBubjsoZnVuY3Rpb24odCl7dFt0LkR5bmFtaWM9MF09XCJEeW5hbWljXCIsdFt0LkJvb2w9MV09XCJCb29sXCIsdFt0LlN0cmluZz0yXT1cIlN0cmluZ1wiLHRbdC5JbnQ9M109XCJJbnRcIix0W3QuTnVtYmVyPTRdPVwiTnVtYmVyXCIsdFt0LkZ1bmN0aW9uPTVdPVwiRnVuY3Rpb25cIix0W3QuSW5mZXJyZWQ9Nl09XCJJbmZlcnJlZFwiLHRbdC5Ob25lPTddPVwiTm9uZVwifSkobm58fChubj17fSkpO3ZhciBScz12b2lkIDA7dmFyIHNuOyhmdW5jdGlvbih0KXt0W3QuTWludXM9MF09XCJNaW51c1wiLHRbdC5QbHVzPTFdPVwiUGx1c1wifSkoc258fChzbj17fSkpO3ZhciBfOyhmdW5jdGlvbih0KXt0W3QuRXF1YWxzPTBdPVwiRXF1YWxzXCIsdFt0Lk5vdEVxdWFscz0xXT1cIk5vdEVxdWFsc1wiLHRbdC5JZGVudGljYWw9Ml09XCJJZGVudGljYWxcIix0W3QuTm90SWRlbnRpY2FsPTNdPVwiTm90SWRlbnRpY2FsXCIsdFt0Lk1pbnVzPTRdPVwiTWludXNcIix0W3QuUGx1cz01XT1cIlBsdXNcIix0W3QuRGl2aWRlPTZdPVwiRGl2aWRlXCIsdFt0Lk11bHRpcGx5PTddPVwiTXVsdGlwbHlcIix0W3QuTW9kdWxvPThdPVwiTW9kdWxvXCIsdFt0LkFuZD05XT1cIkFuZFwiLHRbdC5Pcj0xMF09XCJPclwiLHRbdC5CaXR3aXNlT3I9MTFdPVwiQml0d2lzZU9yXCIsdFt0LkJpdHdpc2VBbmQ9MTJdPVwiQml0d2lzZUFuZFwiLHRbdC5Mb3dlcj0xM109XCJMb3dlclwiLHRbdC5Mb3dlckVxdWFscz0xNF09XCJMb3dlckVxdWFsc1wiLHRbdC5CaWdnZXI9MTVdPVwiQmlnZ2VyXCIsdFt0LkJpZ2dlckVxdWFscz0xNl09XCJCaWdnZXJFcXVhbHNcIix0W3QuTnVsbGlzaENvYWxlc2NlPTE3XT1cIk51bGxpc2hDb2FsZXNjZVwifSkoX3x8KF89e30pKTtmdW5jdGlvbiBCcyh0LGUpe3JldHVybiB0PT1udWxsfHxlPT1udWxsP3Q9PWU6dC5pc0VxdWl2YWxlbnQoZSl9ZnVuY3Rpb24gRHModCxlLG4pe2xldCBzPXQubGVuZ3RoO2lmKHMhPT1lLmxlbmd0aClyZXR1cm4hMTtmb3IobGV0IHI9MDtyPHM7cisrKWlmKCFuKHRbcl0sZVtyXSkpcmV0dXJuITE7cmV0dXJuITB9ZnVuY3Rpb24gdHQodCxlKXtyZXR1cm4gRHModCxlLChuLHMpPT5uLmlzRXF1aXZhbGVudChzKSl9dmFyIGs9Y2xhc3N7dHlwZTtzb3VyY2VTcGFuO2NvbnN0cnVjdG9yKGUsbil7dGhpcy50eXBlPWV8fG51bGwsdGhpcy5zb3VyY2VTcGFuPW58fG51bGx9cHJvcChlLG4pe3JldHVybiBuZXcgZ3QodGhpcyxlLG51bGwsbil9a2V5KGUsbixzKXtyZXR1cm4gbmV3IHZ0KHRoaXMsZSxuLHMpfWNhbGxGbihlLG4scyl7cmV0dXJuIG5ldyBYZSh0aGlzLGUsbnVsbCxuLHMpfWluc3RhbnRpYXRlKGUsbixzKXtyZXR1cm4gbmV3IGZ0KHRoaXMsZSxuLHMpfWNvbmRpdGlvbmFsKGUsbj1udWxsLHMpe3JldHVybiBuZXcgbXQodGhpcyxlLG4sbnVsbCxzKX1lcXVhbHMoZSxuKXtyZXR1cm4gbmV3IEMoXy5FcXVhbHMsdGhpcyxlLG51bGwsbil9bm90RXF1YWxzKGUsbil7cmV0dXJuIG5ldyBDKF8uTm90RXF1YWxzLHRoaXMsZSxudWxsLG4pfWlkZW50aWNhbChlLG4pe3JldHVybiBuZXcgQyhfLklkZW50aWNhbCx0aGlzLGUsbnVsbCxuKX1ub3RJZGVudGljYWwoZSxuKXtyZXR1cm4gbmV3IEMoXy5Ob3RJZGVudGljYWwsdGhpcyxlLG51bGwsbil9bWludXMoZSxuKXtyZXR1cm4gbmV3IEMoXy5NaW51cyx0aGlzLGUsbnVsbCxuKX1wbHVzKGUsbil7cmV0dXJuIG5ldyBDKF8uUGx1cyx0aGlzLGUsbnVsbCxuKX1kaXZpZGUoZSxuKXtyZXR1cm4gbmV3IEMoXy5EaXZpZGUsdGhpcyxlLG51bGwsbil9bXVsdGlwbHkoZSxuKXtyZXR1cm4gbmV3IEMoXy5NdWx0aXBseSx0aGlzLGUsbnVsbCxuKX1tb2R1bG8oZSxuKXtyZXR1cm4gbmV3IEMoXy5Nb2R1bG8sdGhpcyxlLG51bGwsbil9YW5kKGUsbil7cmV0dXJuIG5ldyBDKF8uQW5kLHRoaXMsZSxudWxsLG4pfWJpdHdpc2VPcihlLG4scz0hMCl7cmV0dXJuIG5ldyBDKF8uQml0d2lzZU9yLHRoaXMsZSxudWxsLG4scyl9Yml0d2lzZUFuZChlLG4scz0hMCl7cmV0dXJuIG5ldyBDKF8uQml0d2lzZUFuZCx0aGlzLGUsbnVsbCxuLHMpfW9yKGUsbil7cmV0dXJuIG5ldyBDKF8uT3IsdGhpcyxlLG51bGwsbil9bG93ZXIoZSxuKXtyZXR1cm4gbmV3IEMoXy5Mb3dlcix0aGlzLGUsbnVsbCxuKX1sb3dlckVxdWFscyhlLG4pe3JldHVybiBuZXcgQyhfLkxvd2VyRXF1YWxzLHRoaXMsZSxudWxsLG4pfWJpZ2dlcihlLG4pe3JldHVybiBuZXcgQyhfLkJpZ2dlcix0aGlzLGUsbnVsbCxuKX1iaWdnZXJFcXVhbHMoZSxuKXtyZXR1cm4gbmV3IEMoXy5CaWdnZXJFcXVhbHMsdGhpcyxlLG51bGwsbil9aXNCbGFuayhlKXtyZXR1cm4gdGhpcy5lcXVhbHMoVFlQRURfTlVMTF9FWFBSLGUpfW51bGxpc2hDb2FsZXNjZShlLG4pe3JldHVybiBuZXcgQyhfLk51bGxpc2hDb2FsZXNjZSx0aGlzLGUsbnVsbCxuKX10b1N0bXQoKXtyZXR1cm4gbmV3IHh0KHRoaXMsbnVsbCl9fSxHZT1jbGFzcyB0IGV4dGVuZHMga3tuYW1lO2NvbnN0cnVjdG9yKGUsbixzKXtzdXBlcihuLHMpLHRoaXMubmFtZT1lfWlzRXF1aXZhbGVudChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHQmJnRoaXMubmFtZT09PWUubmFtZX1pc0NvbnN0YW50KCl7cmV0dXJuITF9dmlzaXRFeHByZXNzaW9uKGUsbil7cmV0dXJuIGUudmlzaXRSZWFkVmFyRXhwcih0aGlzLG4pfWNsb25lKCl7cmV0dXJuIG5ldyB0KHRoaXMubmFtZSx0aGlzLnR5cGUsdGhpcy5zb3VyY2VTcGFuKX1zZXQoZSl7cmV0dXJuIG5ldyB1dCh0aGlzLm5hbWUsZSxudWxsLHRoaXMuc291cmNlU3Bhbil9fSxjdD1jbGFzcyB0IGV4dGVuZHMga3tleHByO2NvbnN0cnVjdG9yKGUsbixzKXtzdXBlcihuLHMpLHRoaXMuZXhwcj1lfXZpc2l0RXhwcmVzc2lvbihlLG4pe3JldHVybiBlLnZpc2l0VHlwZW9mRXhwcih0aGlzLG4pfWlzRXF1aXZhbGVudChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHQmJmUuZXhwci5pc0VxdWl2YWxlbnQodGhpcy5leHByKX1pc0NvbnN0YW50KCl7cmV0dXJuIHRoaXMuZXhwci5pc0NvbnN0YW50KCl9Y2xvbmUoKXtyZXR1cm4gbmV3IHQodGhpcy5leHByLmNsb25lKCkpfX07dmFyIHV0PWNsYXNzIHQgZXh0ZW5kcyBre25hbWU7dmFsdWU7Y29uc3RydWN0b3IoZSxuLHMscil7c3VwZXIoc3x8bi50eXBlLHIpLHRoaXMubmFtZT1lLHRoaXMudmFsdWU9bn1pc0VxdWl2YWxlbnQoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiB0JiZ0aGlzLm5hbWU9PT1lLm5hbWUmJnRoaXMudmFsdWUuaXNFcXVpdmFsZW50KGUudmFsdWUpfWlzQ29uc3RhbnQoKXtyZXR1cm4hMX12aXNpdEV4cHJlc3Npb24oZSxuKXtyZXR1cm4gZS52aXNpdFdyaXRlVmFyRXhwcih0aGlzLG4pfWNsb25lKCl7cmV0dXJuIG5ldyB0KHRoaXMubmFtZSx0aGlzLnZhbHVlLmNsb25lKCksdGhpcy50eXBlLHRoaXMuc291cmNlU3Bhbil9dG9EZWNsU3RtdChlLG4pe3JldHVybiBuZXcgd3QodGhpcy5uYW1lLHRoaXMudmFsdWUsZSxuLHRoaXMuc291cmNlU3Bhbil9dG9Db25zdERlY2woKXtyZXR1cm4gdGhpcy50b0RlY2xTdG10KFJzLEVlLkZpbmFsKX19LHB0PWNsYXNzIHQgZXh0ZW5kcyBre3JlY2VpdmVyO2luZGV4O3ZhbHVlO2NvbnN0cnVjdG9yKGUsbixzLHIsbyl7c3VwZXIocnx8cy50eXBlLG8pLHRoaXMucmVjZWl2ZXI9ZSx0aGlzLmluZGV4PW4sdGhpcy52YWx1ZT1zfWlzRXF1aXZhbGVudChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHQmJnRoaXMucmVjZWl2ZXIuaXNFcXVpdmFsZW50KGUucmVjZWl2ZXIpJiZ0aGlzLmluZGV4LmlzRXF1aXZhbGVudChlLmluZGV4KSYmdGhpcy52YWx1ZS5pc0VxdWl2YWxlbnQoZS52YWx1ZSl9aXNDb25zdGFudCgpe3JldHVybiExfXZpc2l0RXhwcmVzc2lvbihlLG4pe3JldHVybiBlLnZpc2l0V3JpdGVLZXlFeHByKHRoaXMsbil9Y2xvbmUoKXtyZXR1cm4gbmV3IHQodGhpcy5yZWNlaXZlci5jbG9uZSgpLHRoaXMuaW5kZXguY2xvbmUoKSx0aGlzLnZhbHVlLmNsb25lKCksdGhpcy50eXBlLHRoaXMuc291cmNlU3Bhbil9fSxodD1jbGFzcyB0IGV4dGVuZHMga3tyZWNlaXZlcjtuYW1lO3ZhbHVlO2NvbnN0cnVjdG9yKGUsbixzLHIsbyl7c3VwZXIocnx8cy50eXBlLG8pLHRoaXMucmVjZWl2ZXI9ZSx0aGlzLm5hbWU9bix0aGlzLnZhbHVlPXN9aXNFcXVpdmFsZW50KGUpe3JldHVybiBlIGluc3RhbmNlb2YgdCYmdGhpcy5yZWNlaXZlci5pc0VxdWl2YWxlbnQoZS5yZWNlaXZlcikmJnRoaXMubmFtZT09PWUubmFtZSYmdGhpcy52YWx1ZS5pc0VxdWl2YWxlbnQoZS52YWx1ZSl9aXNDb25zdGFudCgpe3JldHVybiExfXZpc2l0RXhwcmVzc2lvbihlLG4pe3JldHVybiBlLnZpc2l0V3JpdGVQcm9wRXhwcih0aGlzLG4pfWNsb25lKCl7cmV0dXJuIG5ldyB0KHRoaXMucmVjZWl2ZXIuY2xvbmUoKSx0aGlzLm5hbWUsdGhpcy52YWx1ZS5jbG9uZSgpLHRoaXMudHlwZSx0aGlzLnNvdXJjZVNwYW4pfX0sWGU9Y2xhc3MgdCBleHRlbmRzIGt7Zm47YXJncztwdXJlO2NvbnN0cnVjdG9yKGUsbixzLHIsbz0hMSl7c3VwZXIocyxyKSx0aGlzLmZuPWUsdGhpcy5hcmdzPW4sdGhpcy5wdXJlPW99Z2V0IHJlY2VpdmVyKCl7cmV0dXJuIHRoaXMuZm59aXNFcXVpdmFsZW50KGUpe3JldHVybiBlIGluc3RhbmNlb2YgdCYmdGhpcy5mbi5pc0VxdWl2YWxlbnQoZS5mbikmJnR0KHRoaXMuYXJncyxlLmFyZ3MpJiZ0aGlzLnB1cmU9PT1lLnB1cmV9aXNDb25zdGFudCgpe3JldHVybiExfXZpc2l0RXhwcmVzc2lvbihlLG4pe3JldHVybiBlLnZpc2l0SW52b2tlRnVuY3Rpb25FeHByKHRoaXMsbil9Y2xvbmUoKXtyZXR1cm4gbmV3IHQodGhpcy5mbi5jbG9uZSgpLHRoaXMuYXJncy5tYXAoZT0+ZS5jbG9uZSgpKSx0aGlzLnR5cGUsdGhpcy5zb3VyY2VTcGFuLHRoaXMucHVyZSl9fTt2YXIgZnQ9Y2xhc3MgdCBleHRlbmRzIGt7Y2xhc3NFeHByO2FyZ3M7Y29uc3RydWN0b3IoZSxuLHMscil7c3VwZXIocyxyKSx0aGlzLmNsYXNzRXhwcj1lLHRoaXMuYXJncz1ufWlzRXF1aXZhbGVudChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHQmJnRoaXMuY2xhc3NFeHByLmlzRXF1aXZhbGVudChlLmNsYXNzRXhwcikmJnR0KHRoaXMuYXJncyxlLmFyZ3MpfWlzQ29uc3RhbnQoKXtyZXR1cm4hMX12aXNpdEV4cHJlc3Npb24oZSxuKXtyZXR1cm4gZS52aXNpdEluc3RhbnRpYXRlRXhwcih0aGlzLG4pfWNsb25lKCl7cmV0dXJuIG5ldyB0KHRoaXMuY2xhc3NFeHByLmNsb25lKCksdGhpcy5hcmdzLm1hcChlPT5lLmNsb25lKCkpLHRoaXMudHlwZSx0aGlzLnNvdXJjZVNwYW4pfX0sSmU9Y2xhc3MgdCBleHRlbmRzIGt7dmFsdWU7Y29uc3RydWN0b3IoZSxuLHMpe3N1cGVyKG4scyksdGhpcy52YWx1ZT1lfWlzRXF1aXZhbGVudChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHQmJnRoaXMudmFsdWU9PT1lLnZhbHVlfWlzQ29uc3RhbnQoKXtyZXR1cm4hMH12aXNpdEV4cHJlc3Npb24oZSxuKXtyZXR1cm4gZS52aXNpdExpdGVyYWxFeHByKHRoaXMsbil9Y2xvbmUoKXtyZXR1cm4gbmV3IHQodGhpcy52YWx1ZSx0aGlzLnR5cGUsdGhpcy5zb3VyY2VTcGFuKX19O3ZhciBkdD1jbGFzcyB0IGV4dGVuZHMga3t2YWx1ZTt0eXBlUGFyYW1zO2NvbnN0cnVjdG9yKGUsbixzPW51bGwscil7c3VwZXIobixyKSx0aGlzLnZhbHVlPWUsdGhpcy50eXBlUGFyYW1zPXN9aXNFcXVpdmFsZW50KGUpe3JldHVybiBlIGluc3RhbmNlb2YgdCYmdGhpcy52YWx1ZS5uYW1lPT09ZS52YWx1ZS5uYW1lJiZ0aGlzLnZhbHVlLm1vZHVsZU5hbWU9PT1lLnZhbHVlLm1vZHVsZU5hbWV9aXNDb25zdGFudCgpe3JldHVybiExfXZpc2l0RXhwcmVzc2lvbihlLG4pe3JldHVybiBlLnZpc2l0RXh0ZXJuYWxFeHByKHRoaXMsbil9Y2xvbmUoKXtyZXR1cm4gbmV3IHQodGhpcy52YWx1ZSx0aGlzLnR5cGUsdGhpcy50eXBlUGFyYW1zLHRoaXMuc291cmNlU3Bhbil9fTt2YXIgbXQ9Y2xhc3MgdCBleHRlbmRzIGt7Y29uZGl0aW9uO2ZhbHNlQ2FzZTt0cnVlQ2FzZTtjb25zdHJ1Y3RvcihlLG4scz1udWxsLHIsbyl7c3VwZXIocnx8bi50eXBlLG8pLHRoaXMuY29uZGl0aW9uPWUsdGhpcy5mYWxzZUNhc2U9cyx0aGlzLnRydWVDYXNlPW59aXNFcXVpdmFsZW50KGUpe3JldHVybiBlIGluc3RhbmNlb2YgdCYmdGhpcy5jb25kaXRpb24uaXNFcXVpdmFsZW50KGUuY29uZGl0aW9uKSYmdGhpcy50cnVlQ2FzZS5pc0VxdWl2YWxlbnQoZS50cnVlQ2FzZSkmJkJzKHRoaXMuZmFsc2VDYXNlLGUuZmFsc2VDYXNlKX1pc0NvbnN0YW50KCl7cmV0dXJuITF9dmlzaXRFeHByZXNzaW9uKGUsbil7cmV0dXJuIGUudmlzaXRDb25kaXRpb25hbEV4cHIodGhpcyxuKX1jbG9uZSgpe3ZhciBlO3JldHVybiBuZXcgdCh0aGlzLmNvbmRpdGlvbi5jbG9uZSgpLHRoaXMudHJ1ZUNhc2UuY2xvbmUoKSwoZT10aGlzLmZhbHNlQ2FzZSk9PW51bGw/dm9pZCAwOmUuY2xvbmUoKSx0aGlzLnR5cGUsdGhpcy5zb3VyY2VTcGFuKX19O3ZhciBDPWNsYXNzIHQgZXh0ZW5kcyBre29wZXJhdG9yO3JocztwYXJlbnM7bGhzO2NvbnN0cnVjdG9yKGUsbixzLHIsbyxhPSEwKXtzdXBlcihyfHxuLnR5cGUsbyksdGhpcy5vcGVyYXRvcj1lLHRoaXMucmhzPXMsdGhpcy5wYXJlbnM9YSx0aGlzLmxocz1ufWlzRXF1aXZhbGVudChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHQmJnRoaXMub3BlcmF0b3I9PT1lLm9wZXJhdG9yJiZ0aGlzLmxocy5pc0VxdWl2YWxlbnQoZS5saHMpJiZ0aGlzLnJocy5pc0VxdWl2YWxlbnQoZS5yaHMpfWlzQ29uc3RhbnQoKXtyZXR1cm4hMX12aXNpdEV4cHJlc3Npb24oZSxuKXtyZXR1cm4gZS52aXNpdEJpbmFyeU9wZXJhdG9yRXhwcih0aGlzLG4pfWNsb25lKCl7cmV0dXJuIG5ldyB0KHRoaXMub3BlcmF0b3IsdGhpcy5saHMuY2xvbmUoKSx0aGlzLnJocy5jbG9uZSgpLHRoaXMudHlwZSx0aGlzLnNvdXJjZVNwYW4sdGhpcy5wYXJlbnMpfX0sZ3Q9Y2xhc3MgdCBleHRlbmRzIGt7cmVjZWl2ZXI7bmFtZTtjb25zdHJ1Y3RvcihlLG4scyxyKXtzdXBlcihzLHIpLHRoaXMucmVjZWl2ZXI9ZSx0aGlzLm5hbWU9bn1nZXQgaW5kZXgoKXtyZXR1cm4gdGhpcy5uYW1lfWlzRXF1aXZhbGVudChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHQmJnRoaXMucmVjZWl2ZXIuaXNFcXVpdmFsZW50KGUucmVjZWl2ZXIpJiZ0aGlzLm5hbWU9PT1lLm5hbWV9aXNDb25zdGFudCgpe3JldHVybiExfXZpc2l0RXhwcmVzc2lvbihlLG4pe3JldHVybiBlLnZpc2l0UmVhZFByb3BFeHByKHRoaXMsbil9c2V0KGUpe3JldHVybiBuZXcgaHQodGhpcy5yZWNlaXZlcix0aGlzLm5hbWUsZSxudWxsLHRoaXMuc291cmNlU3Bhbil9Y2xvbmUoKXtyZXR1cm4gbmV3IHQodGhpcy5yZWNlaXZlci5jbG9uZSgpLHRoaXMubmFtZSx0aGlzLnR5cGUsdGhpcy5zb3VyY2VTcGFuKX19LHZ0PWNsYXNzIHQgZXh0ZW5kcyBre3JlY2VpdmVyO2luZGV4O2NvbnN0cnVjdG9yKGUsbixzLHIpe3N1cGVyKHMsciksdGhpcy5yZWNlaXZlcj1lLHRoaXMuaW5kZXg9bn1pc0VxdWl2YWxlbnQoZSl7cmV0dXJuIGUgaW5zdGFuY2VvZiB0JiZ0aGlzLnJlY2VpdmVyLmlzRXF1aXZhbGVudChlLnJlY2VpdmVyKSYmdGhpcy5pbmRleC5pc0VxdWl2YWxlbnQoZS5pbmRleCl9aXNDb25zdGFudCgpe3JldHVybiExfXZpc2l0RXhwcmVzc2lvbihlLG4pe3JldHVybiBlLnZpc2l0UmVhZEtleUV4cHIodGhpcyxuKX1zZXQoZSl7cmV0dXJuIG5ldyBwdCh0aGlzLnJlY2VpdmVyLHRoaXMuaW5kZXgsZSxudWxsLHRoaXMuc291cmNlU3Bhbil9Y2xvbmUoKXtyZXR1cm4gbmV3IHQodGhpcy5yZWNlaXZlci5jbG9uZSgpLHRoaXMuaW5kZXguY2xvbmUoKSx0aGlzLnR5cGUsdGhpcy5zb3VyY2VTcGFuKX19LEtlPWNsYXNzIHQgZXh0ZW5kcyBre2VudHJpZXM7Y29uc3RydWN0b3IoZSxuLHMpe3N1cGVyKG4scyksdGhpcy5lbnRyaWVzPWV9aXNDb25zdGFudCgpe3JldHVybiB0aGlzLmVudHJpZXMuZXZlcnkoZT0+ZS5pc0NvbnN0YW50KCkpfWlzRXF1aXZhbGVudChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHQmJnR0KHRoaXMuZW50cmllcyxlLmVudHJpZXMpfXZpc2l0RXhwcmVzc2lvbihlLG4pe3JldHVybiBlLnZpc2l0TGl0ZXJhbEFycmF5RXhwcih0aGlzLG4pfWNsb25lKCl7cmV0dXJuIG5ldyB0KHRoaXMuZW50cmllcy5tYXAoZT0+ZS5jbG9uZSgpKSx0aGlzLnR5cGUsdGhpcy5zb3VyY2VTcGFuKX19O3ZhciBZZT1jbGFzcyB0IGV4dGVuZHMga3tlbnRyaWVzO3ZhbHVlVHlwZT1udWxsO2NvbnN0cnVjdG9yKGUsbixzKXtzdXBlcihuLHMpLHRoaXMuZW50cmllcz1lLG4mJih0aGlzLnZhbHVlVHlwZT1uLnZhbHVlVHlwZSl9aXNFcXVpdmFsZW50KGUpe3JldHVybiBlIGluc3RhbmNlb2YgdCYmdHQodGhpcy5lbnRyaWVzLGUuZW50cmllcyl9aXNDb25zdGFudCgpe3JldHVybiB0aGlzLmVudHJpZXMuZXZlcnkoZT0+ZS52YWx1ZS5pc0NvbnN0YW50KCkpfXZpc2l0RXhwcmVzc2lvbihlLG4pe3JldHVybiBlLnZpc2l0TGl0ZXJhbE1hcEV4cHIodGhpcyxuKX1jbG9uZSgpe2xldCBlPXRoaXMuZW50cmllcy5tYXAobj0+bi5jbG9uZSgpKTtyZXR1cm4gbmV3IHQoZSx0aGlzLnR5cGUsdGhpcy5zb3VyY2VTcGFuKX19O3ZhciBFZTsoZnVuY3Rpb24odCl7dFt0Lk5vbmU9MF09XCJOb25lXCIsdFt0LkZpbmFsPTFdPVwiRmluYWxcIix0W3QuUHJpdmF0ZT0yXT1cIlByaXZhdGVcIix0W3QuRXhwb3J0ZWQ9NF09XCJFeHBvcnRlZFwiLHRbdC5TdGF0aWM9OF09XCJTdGF0aWNcIn0pKEVlfHwoRWU9e30pKTt2YXIgUWU9Y2xhc3N7bW9kaWZpZXJzO3NvdXJjZVNwYW47bGVhZGluZ0NvbW1lbnRzO2NvbnN0cnVjdG9yKGU9RWUuTm9uZSxuPW51bGwscyl7dGhpcy5tb2RpZmllcnM9ZSx0aGlzLnNvdXJjZVNwYW49bix0aGlzLmxlYWRpbmdDb21tZW50cz1zfWhhc01vZGlmaWVyKGUpe3JldHVybih0aGlzLm1vZGlmaWVycyZlKSE9PTB9YWRkTGVhZGluZ0NvbW1lbnQoZSl7dGhpcy5sZWFkaW5nQ29tbWVudHM9dGhpcy5sZWFkaW5nQ29tbWVudHM/P1tdLHRoaXMubGVhZGluZ0NvbW1lbnRzLnB1c2goZSl9fSx3dD1jbGFzcyB0IGV4dGVuZHMgUWV7bmFtZTt2YWx1ZTt0eXBlO2NvbnN0cnVjdG9yKGUsbixzLHIsbyxhKXtzdXBlcihyLG8sYSksdGhpcy5uYW1lPWUsdGhpcy52YWx1ZT1uLHRoaXMudHlwZT1zfHxuJiZuLnR5cGV8fG51bGx9aXNFcXVpdmFsZW50KGUpe3JldHVybiBlIGluc3RhbmNlb2YgdCYmdGhpcy5uYW1lPT09ZS5uYW1lJiYodGhpcy52YWx1ZT8hIWUudmFsdWUmJnRoaXMudmFsdWUuaXNFcXVpdmFsZW50KGUudmFsdWUpOiFlLnZhbHVlKX12aXNpdFN0YXRlbWVudChlLG4pe3JldHVybiBlLnZpc2l0RGVjbGFyZVZhclN0bXQodGhpcyxuKX19O3ZhciB4dD1jbGFzcyB0IGV4dGVuZHMgUWV7ZXhwcjtjb25zdHJ1Y3RvcihlLG4scyl7c3VwZXIoRWUuTm9uZSxuLHMpLHRoaXMuZXhwcj1lfWlzRXF1aXZhbGVudChlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIHQmJnRoaXMuZXhwci5pc0VxdWl2YWxlbnQoZS5leHByKX12aXNpdFN0YXRlbWVudChlLG4pe3JldHVybiBlLnZpc2l0RXhwcmVzc2lvblN0bXQodGhpcyxuKX19O2Z1bmN0aW9uIE9zKHQsZSxuKXtyZXR1cm4gbmV3IEdlKHQsZSxuKX12YXIgWHI9T3MoXCI8dW5rbm93bj5cIik7dmFyIHJuPWNsYXNzIHR7c3RhdGljIElOU1RBTkNFPW5ldyB0O2tleU9mKGUpe2lmKGUgaW5zdGFuY2VvZiBKZSYmdHlwZW9mIGUudmFsdWU9PVwic3RyaW5nXCIpcmV0dXJuYFwiJHtlLnZhbHVlfVwiYDtpZihlIGluc3RhbmNlb2YgSmUpcmV0dXJuIFN0cmluZyhlLnZhbHVlKTtpZihlIGluc3RhbmNlb2YgS2Upe2xldCBuPVtdO2ZvcihsZXQgcyBvZiBlLmVudHJpZXMpbi5wdXNoKHRoaXMua2V5T2YocykpO3JldHVybmBbJHtuLmpvaW4oXCIsXCIpfV1gfWVsc2UgaWYoZSBpbnN0YW5jZW9mIFllKXtsZXQgbj1bXTtmb3IobGV0IHMgb2YgZS5lbnRyaWVzKXtsZXQgcj1zLmtleTtzLnF1b3RlZCYmKHI9YFwiJHtyfVwiYCksbi5wdXNoKHIrXCI6XCIrdGhpcy5rZXlPZihzLnZhbHVlKSl9cmV0dXJuYHske24uam9pbihcIixcIil9fWB9ZWxzZXtpZihlIGluc3RhbmNlb2YgZHQpcmV0dXJuYGltcG9ydChcIiR7ZS52YWx1ZS5tb2R1bGVOYW1lfVwiLCAke2UudmFsdWUubmFtZX0pYDtpZihlIGluc3RhbmNlb2YgR2UpcmV0dXJuYHJlYWQoJHtlLm5hbWV9KWA7aWYoZSBpbnN0YW5jZW9mIGN0KXJldHVybmB0eXBlb2YoJHt0aGlzLmtleU9mKGUuZXhwcil9KWA7dGhyb3cgbmV3IEVycm9yKGAke3RoaXMuY29uc3RydWN0b3IubmFtZX0gZG9lcyBub3QgaGFuZGxlIGV4cHJlc3Npb25zIG9mIHR5cGUgJHtlLmNvbnN0cnVjdG9yLm5hbWV9YCl9fX07dmFyIGk9XCJAYW5ndWxhci9jb3JlXCIsUD1jbGFzc3tzdGF0aWMgTkVXX01FVEhPRD1cImZhY3RvcnlcIjtzdGF0aWMgVFJBTlNGT1JNX01FVEhPRD1cInRyYW5zZm9ybVwiO3N0YXRpYyBQQVRDSF9ERVBTPVwicGF0Y2hlZERlcHNcIjtzdGF0aWMgY29yZT17bmFtZTpudWxsLG1vZHVsZU5hbWU6aX07c3RhdGljIG5hbWVzcGFjZUhUTUw9e25hbWU6XCJcXHUwMjc1XFx1MDI3NW5hbWVzcGFjZUhUTUxcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBuYW1lc3BhY2VNYXRoTUw9e25hbWU6XCJcXHUwMjc1XFx1MDI3NW5hbWVzcGFjZU1hdGhNTFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIG5hbWVzcGFjZVNWRz17bmFtZTpcIlxcdTAyNzVcXHUwMjc1bmFtZXNwYWNlU1ZHXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZWxlbWVudD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZWxlbWVudFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGVsZW1lbnRTdGFydD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZWxlbWVudFN0YXJ0XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZWxlbWVudEVuZD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZWxlbWVudEVuZFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGFkdmFuY2U9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWFkdmFuY2VcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzeW50aGV0aWNIb3N0UHJvcGVydHk9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXN5bnRoZXRpY0hvc3RQcm9wZXJ0eVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHN5bnRoZXRpY0hvc3RMaXN0ZW5lcj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c3ludGhldGljSG9zdExpc3RlbmVyXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgYXR0cmlidXRlPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVhdHRyaWJ1dGVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBhdHRyaWJ1dGVJbnRlcnBvbGF0ZTE9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWF0dHJpYnV0ZUludGVycG9sYXRlMVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGF0dHJpYnV0ZUludGVycG9sYXRlMj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1YXR0cmlidXRlSW50ZXJwb2xhdGUyXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgYXR0cmlidXRlSW50ZXJwb2xhdGUzPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVhdHRyaWJ1dGVJbnRlcnBvbGF0ZTNcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBhdHRyaWJ1dGVJbnRlcnBvbGF0ZTQ9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWF0dHJpYnV0ZUludGVycG9sYXRlNFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGF0dHJpYnV0ZUludGVycG9sYXRlNT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1YXR0cmlidXRlSW50ZXJwb2xhdGU1XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgYXR0cmlidXRlSW50ZXJwb2xhdGU2PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVhdHRyaWJ1dGVJbnRlcnBvbGF0ZTZcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBhdHRyaWJ1dGVJbnRlcnBvbGF0ZTc9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWF0dHJpYnV0ZUludGVycG9sYXRlN1wiLG1vZHVsZU5hbWU6aX07c3RhdGljIGF0dHJpYnV0ZUludGVycG9sYXRlOD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1YXR0cmlidXRlSW50ZXJwb2xhdGU4XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgYXR0cmlidXRlSW50ZXJwb2xhdGVWPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVhdHRyaWJ1dGVJbnRlcnBvbGF0ZVZcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBjbGFzc1Byb3A9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWNsYXNzUHJvcFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGVsZW1lbnRDb250YWluZXJTdGFydD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZWxlbWVudENvbnRhaW5lclN0YXJ0XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZWxlbWVudENvbnRhaW5lckVuZD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZWxlbWVudENvbnRhaW5lckVuZFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGVsZW1lbnRDb250YWluZXI9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWVsZW1lbnRDb250YWluZXJcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzdHlsZU1hcD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c3R5bGVNYXBcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzdHlsZU1hcEludGVycG9sYXRlMT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c3R5bGVNYXBJbnRlcnBvbGF0ZTFcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzdHlsZU1hcEludGVycG9sYXRlMj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c3R5bGVNYXBJbnRlcnBvbGF0ZTJcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzdHlsZU1hcEludGVycG9sYXRlMz17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c3R5bGVNYXBJbnRlcnBvbGF0ZTNcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzdHlsZU1hcEludGVycG9sYXRlND17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c3R5bGVNYXBJbnRlcnBvbGF0ZTRcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzdHlsZU1hcEludGVycG9sYXRlNT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c3R5bGVNYXBJbnRlcnBvbGF0ZTVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzdHlsZU1hcEludGVycG9sYXRlNj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c3R5bGVNYXBJbnRlcnBvbGF0ZTZcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzdHlsZU1hcEludGVycG9sYXRlNz17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c3R5bGVNYXBJbnRlcnBvbGF0ZTdcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzdHlsZU1hcEludGVycG9sYXRlOD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c3R5bGVNYXBJbnRlcnBvbGF0ZThcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzdHlsZU1hcEludGVycG9sYXRlVj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c3R5bGVNYXBJbnRlcnBvbGF0ZVZcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBjbGFzc01hcD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1Y2xhc3NNYXBcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBjbGFzc01hcEludGVycG9sYXRlMT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1Y2xhc3NNYXBJbnRlcnBvbGF0ZTFcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBjbGFzc01hcEludGVycG9sYXRlMj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1Y2xhc3NNYXBJbnRlcnBvbGF0ZTJcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBjbGFzc01hcEludGVycG9sYXRlMz17bmFtZTpcIlxcdTAyNzVcXHUwMjc1Y2xhc3NNYXBJbnRlcnBvbGF0ZTNcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBjbGFzc01hcEludGVycG9sYXRlND17bmFtZTpcIlxcdTAyNzVcXHUwMjc1Y2xhc3NNYXBJbnRlcnBvbGF0ZTRcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBjbGFzc01hcEludGVycG9sYXRlNT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1Y2xhc3NNYXBJbnRlcnBvbGF0ZTVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBjbGFzc01hcEludGVycG9sYXRlNj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1Y2xhc3NNYXBJbnRlcnBvbGF0ZTZcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBjbGFzc01hcEludGVycG9sYXRlNz17bmFtZTpcIlxcdTAyNzVcXHUwMjc1Y2xhc3NNYXBJbnRlcnBvbGF0ZTdcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBjbGFzc01hcEludGVycG9sYXRlOD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1Y2xhc3NNYXBJbnRlcnBvbGF0ZThcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBjbGFzc01hcEludGVycG9sYXRlVj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1Y2xhc3NNYXBJbnRlcnBvbGF0ZVZcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzdHlsZVByb3A9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXN0eWxlUHJvcFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHN0eWxlUHJvcEludGVycG9sYXRlMT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c3R5bGVQcm9wSW50ZXJwb2xhdGUxXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgc3R5bGVQcm9wSW50ZXJwb2xhdGUyPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVzdHlsZVByb3BJbnRlcnBvbGF0ZTJcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzdHlsZVByb3BJbnRlcnBvbGF0ZTM9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXN0eWxlUHJvcEludGVycG9sYXRlM1wiLG1vZHVsZU5hbWU6aX07c3RhdGljIHN0eWxlUHJvcEludGVycG9sYXRlND17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c3R5bGVQcm9wSW50ZXJwb2xhdGU0XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgc3R5bGVQcm9wSW50ZXJwb2xhdGU1PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVzdHlsZVByb3BJbnRlcnBvbGF0ZTVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzdHlsZVByb3BJbnRlcnBvbGF0ZTY9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXN0eWxlUHJvcEludGVycG9sYXRlNlwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHN0eWxlUHJvcEludGVycG9sYXRlNz17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c3R5bGVQcm9wSW50ZXJwb2xhdGU3XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgc3R5bGVQcm9wSW50ZXJwb2xhdGU4PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVzdHlsZVByb3BJbnRlcnBvbGF0ZThcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzdHlsZVByb3BJbnRlcnBvbGF0ZVY9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXN0eWxlUHJvcEludGVycG9sYXRlVlwiLG1vZHVsZU5hbWU6aX07c3RhdGljIG5leHRDb250ZXh0PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVuZXh0Q29udGV4dFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHJlc2V0Vmlldz17bmFtZTpcIlxcdTAyNzVcXHUwMjc1cmVzZXRWaWV3XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgdGVtcGxhdGVDcmVhdGU9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXRlbXBsYXRlXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZGVmZXI9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWRlZmVyXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZGVmZXJXaGVuPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVkZWZlcldoZW5cIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWZlck9uSWRsZT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZGVmZXJPbklkbGVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWZlck9uSW1tZWRpYXRlPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVkZWZlck9uSW1tZWRpYXRlXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZGVmZXJPblRpbWVyPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVkZWZlck9uVGltZXJcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWZlck9uSG92ZXI9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWRlZmVyT25Ib3ZlclwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGRlZmVyT25JbnRlcmFjdGlvbj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZGVmZXJPbkludGVyYWN0aW9uXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZGVmZXJPblZpZXdwb3J0PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVkZWZlck9uVmlld3BvcnRcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWZlclByZWZldGNoV2hlbj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZGVmZXJQcmVmZXRjaFdoZW5cIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWZlclByZWZldGNoT25JZGxlPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVkZWZlclByZWZldGNoT25JZGxlXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZGVmZXJQcmVmZXRjaE9uSW1tZWRpYXRlPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVkZWZlclByZWZldGNoT25JbW1lZGlhdGVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWZlclByZWZldGNoT25UaW1lcj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZGVmZXJQcmVmZXRjaE9uVGltZXJcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWZlclByZWZldGNoT25Ib3Zlcj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZGVmZXJQcmVmZXRjaE9uSG92ZXJcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWZlclByZWZldGNoT25JbnRlcmFjdGlvbj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZGVmZXJQcmVmZXRjaE9uSW50ZXJhY3Rpb25cIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWZlclByZWZldGNoT25WaWV3cG9ydD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZGVmZXJQcmVmZXRjaE9uVmlld3BvcnRcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWZlckh5ZHJhdGVXaGVuPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVkZWZlckh5ZHJhdGVXaGVuXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZGVmZXJIeWRyYXRlTmV2ZXI9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWRlZmVySHlkcmF0ZU5ldmVyXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZGVmZXJIeWRyYXRlT25JZGxlPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVkZWZlckh5ZHJhdGVPbklkbGVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWZlckh5ZHJhdGVPbkltbWVkaWF0ZT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZGVmZXJIeWRyYXRlT25JbW1lZGlhdGVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWZlckh5ZHJhdGVPblRpbWVyPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVkZWZlckh5ZHJhdGVPblRpbWVyXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZGVmZXJIeWRyYXRlT25Ib3Zlcj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZGVmZXJIeWRyYXRlT25Ib3ZlclwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGRlZmVySHlkcmF0ZU9uSW50ZXJhY3Rpb249e25hbWU6XCJcXHUwMjc1XFx1MDI3NWRlZmVySHlkcmF0ZU9uSW50ZXJhY3Rpb25cIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWZlckh5ZHJhdGVPblZpZXdwb3J0PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVkZWZlckh5ZHJhdGVPblZpZXdwb3J0XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZGVmZXJFbmFibGVUaW1lclNjaGVkdWxpbmc9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWRlZmVyRW5hYmxlVGltZXJTY2hlZHVsaW5nXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgY29uZGl0aW9uYWw9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWNvbmRpdGlvbmFsXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcmVwZWF0ZXI9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXJlcGVhdGVyXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcmVwZWF0ZXJDcmVhdGU9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXJlcGVhdGVyQ3JlYXRlXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcmVwZWF0ZXJUcmFja0J5SW5kZXg9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXJlcGVhdGVyVHJhY2tCeUluZGV4XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcmVwZWF0ZXJUcmFja0J5SWRlbnRpdHk9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXJlcGVhdGVyVHJhY2tCeUlkZW50aXR5XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgY29tcG9uZW50SW5zdGFuY2U9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWNvbXBvbmVudEluc3RhbmNlXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgdGV4dD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1dGV4dFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGVuYWJsZUJpbmRpbmdzPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVlbmFibGVCaW5kaW5nc1wiLG1vZHVsZU5hbWU6aX07c3RhdGljIGRpc2FibGVCaW5kaW5ncz17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZGlzYWJsZUJpbmRpbmdzXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZ2V0Q3VycmVudFZpZXc9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWdldEN1cnJlbnRWaWV3XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgdGV4dEludGVycG9sYXRlPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzV0ZXh0SW50ZXJwb2xhdGVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyB0ZXh0SW50ZXJwb2xhdGUxPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzV0ZXh0SW50ZXJwb2xhdGUxXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgdGV4dEludGVycG9sYXRlMj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1dGV4dEludGVycG9sYXRlMlwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHRleHRJbnRlcnBvbGF0ZTM9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXRleHRJbnRlcnBvbGF0ZTNcIixtb2R1bGVOYW1lOml9O3N0YXRpYyB0ZXh0SW50ZXJwb2xhdGU0PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzV0ZXh0SW50ZXJwb2xhdGU0XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgdGV4dEludGVycG9sYXRlNT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1dGV4dEludGVycG9sYXRlNVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHRleHRJbnRlcnBvbGF0ZTY9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXRleHRJbnRlcnBvbGF0ZTZcIixtb2R1bGVOYW1lOml9O3N0YXRpYyB0ZXh0SW50ZXJwb2xhdGU3PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzV0ZXh0SW50ZXJwb2xhdGU3XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgdGV4dEludGVycG9sYXRlOD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1dGV4dEludGVycG9sYXRlOFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHRleHRJbnRlcnBvbGF0ZVY9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXRleHRJbnRlcnBvbGF0ZVZcIixtb2R1bGVOYW1lOml9O3N0YXRpYyByZXN0b3JlVmlldz17bmFtZTpcIlxcdTAyNzVcXHUwMjc1cmVzdG9yZVZpZXdcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBwdXJlRnVuY3Rpb24wPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwdXJlRnVuY3Rpb24wXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcHVyZUZ1bmN0aW9uMT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1cHVyZUZ1bmN0aW9uMVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHB1cmVGdW5jdGlvbjI9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXB1cmVGdW5jdGlvbjJcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBwdXJlRnVuY3Rpb24zPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwdXJlRnVuY3Rpb24zXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcHVyZUZ1bmN0aW9uND17bmFtZTpcIlxcdTAyNzVcXHUwMjc1cHVyZUZ1bmN0aW9uNFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHB1cmVGdW5jdGlvbjU9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXB1cmVGdW5jdGlvbjVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBwdXJlRnVuY3Rpb242PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwdXJlRnVuY3Rpb242XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcHVyZUZ1bmN0aW9uNz17bmFtZTpcIlxcdTAyNzVcXHUwMjc1cHVyZUZ1bmN0aW9uN1wiLG1vZHVsZU5hbWU6aX07c3RhdGljIHB1cmVGdW5jdGlvbjg9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXB1cmVGdW5jdGlvbjhcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBwdXJlRnVuY3Rpb25WPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwdXJlRnVuY3Rpb25WXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcGlwZUJpbmQxPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwaXBlQmluZDFcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBwaXBlQmluZDI9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXBpcGVCaW5kMlwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHBpcGVCaW5kMz17bmFtZTpcIlxcdTAyNzVcXHUwMjc1cGlwZUJpbmQzXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcGlwZUJpbmQ0PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwaXBlQmluZDRcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBwaXBlQmluZFY9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXBpcGVCaW5kVlwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGhvc3RQcm9wZXJ0eT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1aG9zdFByb3BlcnR5XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcHJvcGVydHk9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXByb3BlcnR5XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcHJvcGVydHlJbnRlcnBvbGF0ZT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1cHJvcGVydHlJbnRlcnBvbGF0ZVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHByb3BlcnR5SW50ZXJwb2xhdGUxPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwcm9wZXJ0eUludGVycG9sYXRlMVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHByb3BlcnR5SW50ZXJwb2xhdGUyPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwcm9wZXJ0eUludGVycG9sYXRlMlwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHByb3BlcnR5SW50ZXJwb2xhdGUzPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwcm9wZXJ0eUludGVycG9sYXRlM1wiLG1vZHVsZU5hbWU6aX07c3RhdGljIHByb3BlcnR5SW50ZXJwb2xhdGU0PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwcm9wZXJ0eUludGVycG9sYXRlNFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHByb3BlcnR5SW50ZXJwb2xhdGU1PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwcm9wZXJ0eUludGVycG9sYXRlNVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHByb3BlcnR5SW50ZXJwb2xhdGU2PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwcm9wZXJ0eUludGVycG9sYXRlNlwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHByb3BlcnR5SW50ZXJwb2xhdGU3PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwcm9wZXJ0eUludGVycG9sYXRlN1wiLG1vZHVsZU5hbWU6aX07c3RhdGljIHByb3BlcnR5SW50ZXJwb2xhdGU4PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwcm9wZXJ0eUludGVycG9sYXRlOFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHByb3BlcnR5SW50ZXJwb2xhdGVWPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwcm9wZXJ0eUludGVycG9sYXRlVlwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGkxOG49e25hbWU6XCJcXHUwMjc1XFx1MDI3NWkxOG5cIixtb2R1bGVOYW1lOml9O3N0YXRpYyBpMThuQXR0cmlidXRlcz17bmFtZTpcIlxcdTAyNzVcXHUwMjc1aTE4bkF0dHJpYnV0ZXNcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBpMThuRXhwPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVpMThuRXhwXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgaTE4blN0YXJ0PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVpMThuU3RhcnRcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBpMThuRW5kPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVpMThuRW5kXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgaTE4bkFwcGx5PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVpMThuQXBwbHlcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBpMThuUG9zdHByb2Nlc3M9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWkxOG5Qb3N0cHJvY2Vzc1wiLG1vZHVsZU5hbWU6aX07c3RhdGljIHBpcGU9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXBpcGVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBwcm9qZWN0aW9uPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVwcm9qZWN0aW9uXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcHJvamVjdGlvbkRlZj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1cHJvamVjdGlvbkRlZlwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHJlZmVyZW5jZT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1cmVmZXJlbmNlXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgaW5qZWN0PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVpbmplY3RcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBpbmplY3RBdHRyaWJ1dGU9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWluamVjdEF0dHJpYnV0ZVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGRpcmVjdGl2ZUluamVjdD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1ZGlyZWN0aXZlSW5qZWN0XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgaW52YWxpZEZhY3Rvcnk9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWludmFsaWRGYWN0b3J5XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgaW52YWxpZEZhY3RvcnlEZXA9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWludmFsaWRGYWN0b3J5RGVwXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgdGVtcGxhdGVSZWZFeHRyYWN0b3I9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXRlbXBsYXRlUmVmRXh0cmFjdG9yXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZm9yd2FyZFJlZj17bmFtZTpcImZvcndhcmRSZWZcIixtb2R1bGVOYW1lOml9O3N0YXRpYyByZXNvbHZlRm9yd2FyZFJlZj17bmFtZTpcInJlc29sdmVGb3J3YXJkUmVmXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcmVwbGFjZU1ldGFkYXRhPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVyZXBsYWNlTWV0YWRhdGFcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBcXHUwMjc1XFx1MDI3NWRlZmluZUluamVjdGFibGU9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWRlZmluZUluamVjdGFibGVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWNsYXJlSW5qZWN0YWJsZT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1bmdEZWNsYXJlSW5qZWN0YWJsZVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIEluamVjdGFibGVEZWNsYXJhdGlvbj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1SW5qZWN0YWJsZURlY2xhcmF0aW9uXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcmVzb2x2ZVdpbmRvdz17bmFtZTpcIlxcdTAyNzVcXHUwMjc1cmVzb2x2ZVdpbmRvd1wiLG1vZHVsZU5hbWU6aX07c3RhdGljIHJlc29sdmVEb2N1bWVudD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1cmVzb2x2ZURvY3VtZW50XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcmVzb2x2ZUJvZHk9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXJlc29sdmVCb2R5XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZ2V0Q29tcG9uZW50RGVwc0ZhY3Rvcnk9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWdldENvbXBvbmVudERlcHNGYWN0b3J5XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZGVmaW5lQ29tcG9uZW50PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVkZWZpbmVDb21wb25lbnRcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWNsYXJlQ29tcG9uZW50PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVuZ0RlY2xhcmVDb21wb25lbnRcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzZXRDb21wb25lbnRTY29wZT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c2V0Q29tcG9uZW50U2NvcGVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneT17bmFtZTpcIkNoYW5nZURldGVjdGlvblN0cmF0ZWd5XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgVmlld0VuY2Fwc3VsYXRpb249e25hbWU6XCJWaWV3RW5jYXBzdWxhdGlvblwiLG1vZHVsZU5hbWU6aX07c3RhdGljIENvbXBvbmVudERlY2xhcmF0aW9uPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVDb21wb25lbnREZWNsYXJhdGlvblwiLG1vZHVsZU5hbWU6aX07c3RhdGljIEZhY3RvcnlEZWNsYXJhdGlvbj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1RmFjdG9yeURlY2xhcmF0aW9uXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZGVjbGFyZUZhY3Rvcnk9e25hbWU6XCJcXHUwMjc1XFx1MDI3NW5nRGVjbGFyZUZhY3RvcnlcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBGYWN0b3J5VGFyZ2V0PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVGYWN0b3J5VGFyZ2V0XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZGVmaW5lRGlyZWN0aXZlPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVkZWZpbmVEaXJlY3RpdmVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWNsYXJlRGlyZWN0aXZlPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVuZ0RlY2xhcmVEaXJlY3RpdmVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBEaXJlY3RpdmVEZWNsYXJhdGlvbj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1RGlyZWN0aXZlRGVjbGFyYXRpb25cIixtb2R1bGVOYW1lOml9O3N0YXRpYyBJbmplY3RvckRlZj17bmFtZTpcIlxcdTAyNzVcXHUwMjc1SW5qZWN0b3JEZWZcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBJbmplY3RvckRlY2xhcmF0aW9uPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVJbmplY3RvckRlY2xhcmF0aW9uXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZGVmaW5lSW5qZWN0b3I9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWRlZmluZUluamVjdG9yXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZGVjbGFyZUluamVjdG9yPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVuZ0RlY2xhcmVJbmplY3RvclwiLG1vZHVsZU5hbWU6aX07c3RhdGljIE5nTW9kdWxlRGVjbGFyYXRpb249e25hbWU6XCJcXHUwMjc1XFx1MDI3NU5nTW9kdWxlRGVjbGFyYXRpb25cIixtb2R1bGVOYW1lOml9O3N0YXRpYyBNb2R1bGVXaXRoUHJvdmlkZXJzPXtuYW1lOlwiTW9kdWxlV2l0aFByb3ZpZGVyc1wiLG1vZHVsZU5hbWU6aX07c3RhdGljIGRlZmluZU5nTW9kdWxlPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVkZWZpbmVOZ01vZHVsZVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGRlY2xhcmVOZ01vZHVsZT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1bmdEZWNsYXJlTmdNb2R1bGVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzZXROZ01vZHVsZVNjb3BlPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVzZXROZ01vZHVsZVNjb3BlXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgcmVnaXN0ZXJOZ01vZHVsZVR5cGU9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXJlZ2lzdGVyTmdNb2R1bGVUeXBlXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgUGlwZURlY2xhcmF0aW9uPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVQaXBlRGVjbGFyYXRpb25cIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWZpbmVQaXBlPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVkZWZpbmVQaXBlXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZGVjbGFyZVBpcGU9e25hbWU6XCJcXHUwMjc1XFx1MDI3NW5nRGVjbGFyZVBpcGVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBkZWNsYXJlQ2xhc3NNZXRhZGF0YT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1bmdEZWNsYXJlQ2xhc3NNZXRhZGF0YVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGRlY2xhcmVDbGFzc01ldGFkYXRhQXN5bmM9e25hbWU6XCJcXHUwMjc1XFx1MDI3NW5nRGVjbGFyZUNsYXNzTWV0YWRhdGFBc3luY1wiLG1vZHVsZU5hbWU6aX07c3RhdGljIHNldENsYXNzTWV0YWRhdGE9e25hbWU6XCJcXHUwMjc1c2V0Q2xhc3NNZXRhZGF0YVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHNldENsYXNzTWV0YWRhdGFBc3luYz17bmFtZTpcIlxcdTAyNzVzZXRDbGFzc01ldGFkYXRhQXN5bmNcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzZXRDbGFzc0RlYnVnSW5mbz17bmFtZTpcIlxcdTAyNzVzZXRDbGFzc0RlYnVnSW5mb1wiLG1vZHVsZU5hbWU6aX07c3RhdGljIHF1ZXJ5UmVmcmVzaD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1cXVlcnlSZWZyZXNoXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgdmlld1F1ZXJ5PXtuYW1lOlwiXFx1MDI3NVxcdTAyNzV2aWV3UXVlcnlcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBsb2FkUXVlcnk9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWxvYWRRdWVyeVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGNvbnRlbnRRdWVyeT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1Y29udGVudFF1ZXJ5XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgdmlld1F1ZXJ5U2lnbmFsPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzV2aWV3UXVlcnlTaWduYWxcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBjb250ZW50UXVlcnlTaWduYWw9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWNvbnRlbnRRdWVyeVNpZ25hbFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHF1ZXJ5QWR2YW5jZT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1cXVlcnlBZHZhbmNlXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgdHdvV2F5UHJvcGVydHk9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXR3b1dheVByb3BlcnR5XCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgdHdvV2F5QmluZGluZ1NldD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1dHdvV2F5QmluZGluZ1NldFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHR3b1dheUxpc3RlbmVyPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzV0d29XYXlMaXN0ZW5lclwiLG1vZHVsZU5hbWU6aX07c3RhdGljIGRlY2xhcmVMZXQ9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWRlY2xhcmVMZXRcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzdG9yZUxldD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c3RvcmVMZXRcIixtb2R1bGVOYW1lOml9O3N0YXRpYyByZWFkQ29udGV4dExldD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1cmVhZENvbnRleHRMZXRcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBOZ09uQ2hhbmdlc0ZlYXR1cmU9e25hbWU6XCJcXHUwMjc1XFx1MDI3NU5nT25DaGFuZ2VzRmVhdHVyZVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIEluaGVyaXREZWZpbml0aW9uRmVhdHVyZT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1SW5oZXJpdERlZmluaXRpb25GZWF0dXJlXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgQ29weURlZmluaXRpb25GZWF0dXJlPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVDb3B5RGVmaW5pdGlvbkZlYXR1cmVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBQcm92aWRlcnNGZWF0dXJlPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVQcm92aWRlcnNGZWF0dXJlXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgSG9zdERpcmVjdGl2ZXNGZWF0dXJlPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzVIb3N0RGlyZWN0aXZlc0ZlYXR1cmVcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBJbnB1dFRyYW5zZm9ybXNGZWF0dXJlRmVhdHVyZT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1SW5wdXRUcmFuc2Zvcm1zRmVhdHVyZVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIEV4dGVybmFsU3R5bGVzRmVhdHVyZT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1RXh0ZXJuYWxTdHlsZXNGZWF0dXJlXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgbGlzdGVuZXI9e25hbWU6XCJcXHUwMjc1XFx1MDI3NWxpc3RlbmVyXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgZ2V0SW5oZXJpdGVkRmFjdG9yeT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1Z2V0SW5oZXJpdGVkRmFjdG9yeVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHNhbml0aXplSHRtbD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c2FuaXRpemVIdG1sXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgc2FuaXRpemVTdHlsZT17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c2FuaXRpemVTdHlsZVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHNhbml0aXplUmVzb3VyY2VVcmw9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXNhbml0aXplUmVzb3VyY2VVcmxcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzYW5pdGl6ZVNjcmlwdD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c2FuaXRpemVTY3JpcHRcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzYW5pdGl6ZVVybD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1c2FuaXRpemVVcmxcIixtb2R1bGVOYW1lOml9O3N0YXRpYyBzYW5pdGl6ZVVybE9yUmVzb3VyY2VVcmw9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXNhbml0aXplVXJsT3JSZXNvdXJjZVVybFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHRydXN0Q29uc3RhbnRIdG1sPXtuYW1lOlwiXFx1MDI3NVxcdTAyNzV0cnVzdENvbnN0YW50SHRtbFwiLG1vZHVsZU5hbWU6aX07c3RhdGljIHRydXN0Q29uc3RhbnRSZXNvdXJjZVVybD17bmFtZTpcIlxcdTAyNzVcXHUwMjc1dHJ1c3RDb25zdGFudFJlc291cmNlVXJsXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgdmFsaWRhdGVJZnJhbWVBdHRyaWJ1dGU9e25hbWU6XCJcXHUwMjc1XFx1MDI3NXZhbGlkYXRlSWZyYW1lQXR0cmlidXRlXCIsbW9kdWxlTmFtZTppfTtzdGF0aWMgSW5wdXRTaWduYWxCcmFuZFdyaXRlVHlwZT17bmFtZTpcIlxcdTAyNzVJTlBVVF9TSUdOQUxfQlJBTkRfV1JJVEVfVFlQRVwiLG1vZHVsZU5hbWU6aX07c3RhdGljIFVud3JhcERpcmVjdGl2ZVNpZ25hbElucHV0cz17bmFtZTpcIlxcdTAyNzVVbndyYXBEaXJlY3RpdmVTaWduYWxJbnB1dHNcIixtb2R1bGVOYW1lOml9O3N0YXRpYyB1bndyYXBXcml0YWJsZVNpZ25hbD17bmFtZTpcIlxcdTAyNzV1bndyYXBXcml0YWJsZVNpZ25hbFwiLG1vZHVsZU5hbWU6aX19O3ZhciBTdD1jbGFzc3tmdWxsO21ham9yO21pbm9yO3BhdGNoO2NvbnN0cnVjdG9yKGUpe3RoaXMuZnVsbD1lO2xldCBuPWUuc3BsaXQoXCIuXCIpO3RoaXMubWFqb3I9blswXSx0aGlzLm1pbm9yPW5bMV0sdGhpcy5wYXRjaD1uLnNsaWNlKDIpLmpvaW4oXCIuXCIpfX07dmFyIG9uOyhmdW5jdGlvbih0KXt0W3QuQ2xhc3M9MF09XCJDbGFzc1wiLHRbdC5GdW5jdGlvbj0xXT1cIkZ1bmN0aW9uXCJ9KShvbnx8KG9uPXt9KSk7dmFyIGFuOyhmdW5jdGlvbih0KXt0W3QuRGlyZWN0aXZlPTBdPVwiRGlyZWN0aXZlXCIsdFt0LkNvbXBvbmVudD0xXT1cIkNvbXBvbmVudFwiLHRbdC5JbmplY3RhYmxlPTJdPVwiSW5qZWN0YWJsZVwiLHRbdC5QaXBlPTNdPVwiUGlwZVwiLHRbdC5OZ01vZHVsZT00XT1cIk5nTW9kdWxlXCJ9KShhbnx8KGFuPXt9KSk7dmFyIHllPWNsYXNze2lucHV0O2VyckxvY2F0aW9uO2N0eExvY2F0aW9uO21lc3NhZ2U7Y29uc3RydWN0b3IoZSxuLHMscil7dGhpcy5pbnB1dD1uLHRoaXMuZXJyTG9jYXRpb249cyx0aGlzLmN0eExvY2F0aW9uPXIsdGhpcy5tZXNzYWdlPWBQYXJzZXIgRXJyb3I6ICR7ZX0gJHtzfSBbJHtufV0gaW4gJHtyfWB9fSxHPWNsYXNze3N0YXJ0O2VuZDtjb25zdHJ1Y3RvcihlLG4pe3RoaXMuc3RhcnQ9ZSx0aGlzLmVuZD1ufXRvQWJzb2x1dGUoZSl7cmV0dXJuIG5ldyBPKGUrdGhpcy5zdGFydCxlK3RoaXMuZW5kKX19LEU9Y2xhc3N7c3Bhbjtzb3VyY2VTcGFuO2NvbnN0cnVjdG9yKGUsbil7dGhpcy5zcGFuPWUsdGhpcy5zb3VyY2VTcGFuPW59dG9TdHJpbmcoKXtyZXR1cm5cIkFTVFwifX0sc2U9Y2xhc3MgZXh0ZW5kcyBFe25hbWVTcGFuO2NvbnN0cnVjdG9yKGUsbixzKXtzdXBlcihlLG4pLHRoaXMubmFtZVNwYW49c319LGI9Y2xhc3MgZXh0ZW5kcyBFe3Zpc2l0KGUsbj1udWxsKXt9fSxYPWNsYXNzIGV4dGVuZHMgRXt2aXNpdChlLG49bnVsbCl7cmV0dXJuIGUudmlzaXRJbXBsaWNpdFJlY2VpdmVyKHRoaXMsbil9fSxFdD1jbGFzcyBleHRlbmRzIFh7dmlzaXQoZSxuPW51bGwpe3ZhciBzO3JldHVybihzPWUudmlzaXRUaGlzUmVjZWl2ZXIpPT1udWxsP3ZvaWQgMDpzLmNhbGwoZSx0aGlzLG4pfX0sX2U9Y2xhc3MgZXh0ZW5kcyBFe2V4cHJlc3Npb25zO2NvbnN0cnVjdG9yKGUsbixzKXtzdXBlcihlLG4pLHRoaXMuZXhwcmVzc2lvbnM9c312aXNpdChlLG49bnVsbCl7cmV0dXJuIGUudmlzaXRDaGFpbih0aGlzLG4pfX0sQ2U9Y2xhc3MgZXh0ZW5kcyBFe2NvbmRpdGlvbjt0cnVlRXhwO2ZhbHNlRXhwO2NvbnN0cnVjdG9yKGUsbixzLHIsbyl7c3VwZXIoZSxuKSx0aGlzLmNvbmRpdGlvbj1zLHRoaXMudHJ1ZUV4cD1yLHRoaXMuZmFsc2VFeHA9b312aXNpdChlLG49bnVsbCl7cmV0dXJuIGUudmlzaXRDb25kaXRpb25hbCh0aGlzLG4pfX0scmU9Y2xhc3MgZXh0ZW5kcyBzZXtyZWNlaXZlcjtuYW1lO2NvbnN0cnVjdG9yKGUsbixzLHIsbyl7c3VwZXIoZSxuLHMpLHRoaXMucmVjZWl2ZXI9cix0aGlzLm5hbWU9b312aXNpdChlLG49bnVsbCl7cmV0dXJuIGUudmlzaXRQcm9wZXJ0eVJlYWQodGhpcyxuKX19LFRlPWNsYXNzIGV4dGVuZHMgc2V7cmVjZWl2ZXI7bmFtZTt2YWx1ZTtjb25zdHJ1Y3RvcihlLG4scyxyLG8sYSl7c3VwZXIoZSxuLHMpLHRoaXMucmVjZWl2ZXI9cix0aGlzLm5hbWU9byx0aGlzLnZhbHVlPWF9dmlzaXQoZSxuPW51bGwpe3JldHVybiBlLnZpc2l0UHJvcGVydHlXcml0ZSh0aGlzLG4pfX0saWU9Y2xhc3MgZXh0ZW5kcyBzZXtyZWNlaXZlcjtuYW1lO2NvbnN0cnVjdG9yKGUsbixzLHIsbyl7c3VwZXIoZSxuLHMpLHRoaXMucmVjZWl2ZXI9cix0aGlzLm5hbWU9b312aXNpdChlLG49bnVsbCl7cmV0dXJuIGUudmlzaXRTYWZlUHJvcGVydHlSZWFkKHRoaXMsbil9fSxrZT1jbGFzcyBleHRlbmRzIEV7cmVjZWl2ZXI7a2V5O2NvbnN0cnVjdG9yKGUsbixzLHIpe3N1cGVyKGUsbiksdGhpcy5yZWNlaXZlcj1zLHRoaXMua2V5PXJ9dmlzaXQoZSxuPW51bGwpe3JldHVybiBlLnZpc2l0S2V5ZWRSZWFkKHRoaXMsbil9fSxvZT1jbGFzcyBleHRlbmRzIEV7cmVjZWl2ZXI7a2V5O2NvbnN0cnVjdG9yKGUsbixzLHIpe3N1cGVyKGUsbiksdGhpcy5yZWNlaXZlcj1zLHRoaXMua2V5PXJ9dmlzaXQoZSxuPW51bGwpe3JldHVybiBlLnZpc2l0U2FmZUtleWVkUmVhZCh0aGlzLG4pfX0sSWU9Y2xhc3MgZXh0ZW5kcyBFe3JlY2VpdmVyO2tleTt2YWx1ZTtjb25zdHJ1Y3RvcihlLG4scyxyLG8pe3N1cGVyKGUsbiksdGhpcy5yZWNlaXZlcj1zLHRoaXMua2V5PXIsdGhpcy52YWx1ZT1vfXZpc2l0KGUsbj1udWxsKXtyZXR1cm4gZS52aXNpdEtleWVkV3JpdGUodGhpcyxuKX19LGJlPWNsYXNzIGV4dGVuZHMgc2V7ZXhwO25hbWU7YXJncztjb25zdHJ1Y3RvcihlLG4scyxyLG8sYSl7c3VwZXIoZSxuLGEpLHRoaXMuZXhwPXMsdGhpcy5uYW1lPXIsdGhpcy5hcmdzPW99dmlzaXQoZSxuPW51bGwpe3JldHVybiBlLnZpc2l0UGlwZSh0aGlzLG4pfX0sQT1jbGFzcyBleHRlbmRzIEV7dmFsdWU7Y29uc3RydWN0b3IoZSxuLHMpe3N1cGVyKGUsbiksdGhpcy52YWx1ZT1zfXZpc2l0KGUsbj1udWxsKXtyZXR1cm4gZS52aXNpdExpdGVyYWxQcmltaXRpdmUodGhpcyxuKX19LEFlPWNsYXNzIGV4dGVuZHMgRXtleHByZXNzaW9ucztjb25zdHJ1Y3RvcihlLG4scyl7c3VwZXIoZSxuKSx0aGlzLmV4cHJlc3Npb25zPXN9dmlzaXQoZSxuPW51bGwpe3JldHVybiBlLnZpc2l0TGl0ZXJhbEFycmF5KHRoaXMsbil9fSxOZT1jbGFzcyBleHRlbmRzIEV7a2V5czt2YWx1ZXM7Y29uc3RydWN0b3IoZSxuLHMscil7c3VwZXIoZSxuKSx0aGlzLmtleXM9cyx0aGlzLnZhbHVlcz1yfXZpc2l0KGUsbj1udWxsKXtyZXR1cm4gZS52aXNpdExpdGVyYWxNYXAodGhpcyxuKX19LFBlPWNsYXNzIGV4dGVuZHMgRXtzdHJpbmdzO2V4cHJlc3Npb25zO2NvbnN0cnVjdG9yKGUsbixzLHIpe3N1cGVyKGUsbiksdGhpcy5zdHJpbmdzPXMsdGhpcy5leHByZXNzaW9ucz1yfXZpc2l0KGUsbj1udWxsKXtyZXR1cm4gZS52aXNpdEludGVycG9sYXRpb24odGhpcyxuKX19LE49Y2xhc3MgZXh0ZW5kcyBFe29wZXJhdGlvbjtsZWZ0O3JpZ2h0O2NvbnN0cnVjdG9yKGUsbixzLHIsbyl7c3VwZXIoZSxuKSx0aGlzLm9wZXJhdGlvbj1zLHRoaXMubGVmdD1yLHRoaXMucmlnaHQ9b312aXNpdChlLG49bnVsbCl7cmV0dXJuIGUudmlzaXRCaW5hcnkodGhpcyxuKX19LGFlPWNsYXNzIHQgZXh0ZW5kcyBOe29wZXJhdG9yO2V4cHI7bGVmdD1udWxsO3JpZ2h0PW51bGw7b3BlcmF0aW9uPW51bGw7c3RhdGljIGNyZWF0ZU1pbnVzKGUsbixzKXtyZXR1cm4gbmV3IHQoZSxuLFwiLVwiLHMsXCItXCIsbmV3IEEoZSxuLDApLHMpfXN0YXRpYyBjcmVhdGVQbHVzKGUsbixzKXtyZXR1cm4gbmV3IHQoZSxuLFwiK1wiLHMsXCItXCIscyxuZXcgQShlLG4sMCkpfWNvbnN0cnVjdG9yKGUsbixzLHIsbyxhLGwpe3N1cGVyKGUsbixvLGEsbCksdGhpcy5vcGVyYXRvcj1zLHRoaXMuZXhwcj1yfXZpc2l0KGUsbj1udWxsKXtyZXR1cm4gZS52aXNpdFVuYXJ5IT09dm9pZCAwP2UudmlzaXRVbmFyeSh0aGlzLG4pOmUudmlzaXRCaW5hcnkodGhpcyxuKX19LExlPWNsYXNzIGV4dGVuZHMgRXtleHByZXNzaW9uO2NvbnN0cnVjdG9yKGUsbixzKXtzdXBlcihlLG4pLHRoaXMuZXhwcmVzc2lvbj1zfXZpc2l0KGUsbj1udWxsKXtyZXR1cm4gZS52aXNpdFByZWZpeE5vdCh0aGlzLG4pfX0sTWU9Y2xhc3MgZXh0ZW5kcyBFe2V4cHJlc3Npb247Y29uc3RydWN0b3IoZSxuLHMpe3N1cGVyKGUsbiksdGhpcy5leHByZXNzaW9uPXN9dmlzaXQoZSxuPW51bGwpe3JldHVybiBlLnZpc2l0VHlwZW9mRXhwcmVzaW9uKHRoaXMsbil9fSwkZT1jbGFzcyBleHRlbmRzIEV7ZXhwcmVzc2lvbjtjb25zdHJ1Y3RvcihlLG4scyl7c3VwZXIoZSxuKSx0aGlzLmV4cHJlc3Npb249c312aXNpdChlLG49bnVsbCl7cmV0dXJuIGUudmlzaXROb25OdWxsQXNzZXJ0KHRoaXMsbil9fSxSZT1jbGFzcyBleHRlbmRzIEV7cmVjZWl2ZXI7YXJnczthcmd1bWVudFNwYW47Y29uc3RydWN0b3IoZSxuLHMscixvKXtzdXBlcihlLG4pLHRoaXMucmVjZWl2ZXI9cyx0aGlzLmFyZ3M9cix0aGlzLmFyZ3VtZW50U3Bhbj1vfXZpc2l0KGUsbj1udWxsKXtyZXR1cm4gZS52aXNpdENhbGwodGhpcyxuKX19LGxlPWNsYXNzIGV4dGVuZHMgRXtyZWNlaXZlcjthcmdzO2FyZ3VtZW50U3Bhbjtjb25zdHJ1Y3RvcihlLG4scyxyLG8pe3N1cGVyKGUsbiksdGhpcy5yZWNlaXZlcj1zLHRoaXMuYXJncz1yLHRoaXMuYXJndW1lbnRTcGFuPW99dmlzaXQoZSxuPW51bGwpe3JldHVybiBlLnZpc2l0U2FmZUNhbGwodGhpcyxuKX19LE89Y2xhc3N7c3RhcnQ7ZW5kO2NvbnN0cnVjdG9yKGUsbil7dGhpcy5zdGFydD1lLHRoaXMuZW5kPW59fSxXPWNsYXNzIGV4dGVuZHMgRXthc3Q7c291cmNlO2xvY2F0aW9uO2Vycm9ycztjb25zdHJ1Y3RvcihlLG4scyxyLG8pe3N1cGVyKG5ldyBHKDAsbj09PW51bGw/MDpuLmxlbmd0aCksbmV3IE8ocixuPT09bnVsbD9yOnIrbi5sZW5ndGgpKSx0aGlzLmFzdD1lLHRoaXMuc291cmNlPW4sdGhpcy5sb2NhdGlvbj1zLHRoaXMuZXJyb3JzPW99dmlzaXQoZSxuPW51bGwpe3JldHVybiBlLnZpc2l0QVNUV2l0aFNvdXJjZT9lLnZpc2l0QVNUV2l0aFNvdXJjZSh0aGlzLG4pOnRoaXMuYXN0LnZpc2l0KGUsbil9dG9TdHJpbmcoKXtyZXR1cm5gJHt0aGlzLnNvdXJjZX0gaW4gJHt0aGlzLmxvY2F0aW9ufWB9fSxjZT1jbGFzc3tzb3VyY2VTcGFuO2tleTt2YWx1ZTtjb25zdHJ1Y3RvcihlLG4scyl7dGhpcy5zb3VyY2VTcGFuPWUsdGhpcy5rZXk9bix0aGlzLnZhbHVlPXN9fSxCZT1jbGFzc3tzb3VyY2VTcGFuO2tleTt2YWx1ZTtjb25zdHJ1Y3RvcihlLG4scyl7dGhpcy5zb3VyY2VTcGFuPWUsdGhpcy5rZXk9bix0aGlzLnZhbHVlPXN9fSx5dD1jbGFzc3t2aXNpdChlLG4pe2UudmlzaXQodGhpcyxuKX12aXNpdFVuYXJ5KGUsbil7dGhpcy52aXNpdChlLmV4cHIsbil9dmlzaXRCaW5hcnkoZSxuKXt0aGlzLnZpc2l0KGUubGVmdCxuKSx0aGlzLnZpc2l0KGUucmlnaHQsbil9dmlzaXRDaGFpbihlLG4pe3RoaXMudmlzaXRBbGwoZS5leHByZXNzaW9ucyxuKX12aXNpdENvbmRpdGlvbmFsKGUsbil7dGhpcy52aXNpdChlLmNvbmRpdGlvbixuKSx0aGlzLnZpc2l0KGUudHJ1ZUV4cCxuKSx0aGlzLnZpc2l0KGUuZmFsc2VFeHAsbil9dmlzaXRQaXBlKGUsbil7dGhpcy52aXNpdChlLmV4cCxuKSx0aGlzLnZpc2l0QWxsKGUuYXJncyxuKX12aXNpdEltcGxpY2l0UmVjZWl2ZXIoZSxuKXt9dmlzaXRUaGlzUmVjZWl2ZXIoZSxuKXt9dmlzaXRJbnRlcnBvbGF0aW9uKGUsbil7dGhpcy52aXNpdEFsbChlLmV4cHJlc3Npb25zLG4pfXZpc2l0S2V5ZWRSZWFkKGUsbil7dGhpcy52aXNpdChlLnJlY2VpdmVyLG4pLHRoaXMudmlzaXQoZS5rZXksbil9dmlzaXRLZXllZFdyaXRlKGUsbil7dGhpcy52aXNpdChlLnJlY2VpdmVyLG4pLHRoaXMudmlzaXQoZS5rZXksbiksdGhpcy52aXNpdChlLnZhbHVlLG4pfXZpc2l0TGl0ZXJhbEFycmF5KGUsbil7dGhpcy52aXNpdEFsbChlLmV4cHJlc3Npb25zLG4pfXZpc2l0TGl0ZXJhbE1hcChlLG4pe3RoaXMudmlzaXRBbGwoZS52YWx1ZXMsbil9dmlzaXRMaXRlcmFsUHJpbWl0aXZlKGUsbil7fXZpc2l0UHJlZml4Tm90KGUsbil7dGhpcy52aXNpdChlLmV4cHJlc3Npb24sbil9dmlzaXRUeXBlb2ZFeHByZXNpb24oZSxuKXt0aGlzLnZpc2l0KGUuZXhwcmVzc2lvbixuKX12aXNpdE5vbk51bGxBc3NlcnQoZSxuKXt0aGlzLnZpc2l0KGUuZXhwcmVzc2lvbixuKX12aXNpdFByb3BlcnR5UmVhZChlLG4pe3RoaXMudmlzaXQoZS5yZWNlaXZlcixuKX12aXNpdFByb3BlcnR5V3JpdGUoZSxuKXt0aGlzLnZpc2l0KGUucmVjZWl2ZXIsbiksdGhpcy52aXNpdChlLnZhbHVlLG4pfXZpc2l0U2FmZVByb3BlcnR5UmVhZChlLG4pe3RoaXMudmlzaXQoZS5yZWNlaXZlcixuKX12aXNpdFNhZmVLZXllZFJlYWQoZSxuKXt0aGlzLnZpc2l0KGUucmVjZWl2ZXIsbiksdGhpcy52aXNpdChlLmtleSxuKX12aXNpdENhbGwoZSxuKXt0aGlzLnZpc2l0KGUucmVjZWl2ZXIsbiksdGhpcy52aXNpdEFsbChlLmFyZ3Msbil9dmlzaXRTYWZlQ2FsbChlLG4pe3RoaXMudmlzaXQoZS5yZWNlaXZlcixuKSx0aGlzLnZpc2l0QWxsKGUuYXJncyxuKX12aXNpdEFsbChlLG4pe2ZvcihsZXQgcyBvZiBlKXRoaXMudmlzaXQocyxuKX19O3ZhciBsbjsoZnVuY3Rpb24odCl7dFt0LkRFRkFVTFQ9MF09XCJERUZBVUxUXCIsdFt0LkxJVEVSQUxfQVRUUj0xXT1cIkxJVEVSQUxfQVRUUlwiLHRbdC5BTklNQVRJT049Ml09XCJBTklNQVRJT05cIix0W3QuVFdPX1dBWT0zXT1cIlRXT19XQVlcIn0pKGxufHwobG49e30pKTt2YXIgY247KGZ1bmN0aW9uKHQpe3RbdC5SZWd1bGFyPTBdPVwiUmVndWxhclwiLHRbdC5BbmltYXRpb249MV09XCJBbmltYXRpb25cIix0W3QuVHdvV2F5PTJdPVwiVHdvV2F5XCJ9KShjbnx8KGNuPXt9KSk7dmFyIEg7KGZ1bmN0aW9uKHQpe3RbdC5Qcm9wZXJ0eT0wXT1cIlByb3BlcnR5XCIsdFt0LkF0dHJpYnV0ZT0xXT1cIkF0dHJpYnV0ZVwiLHRbdC5DbGFzcz0yXT1cIkNsYXNzXCIsdFt0LlN0eWxlPTNdPVwiU3R5bGVcIix0W3QuQW5pbWF0aW9uPTRdPVwiQW5pbWF0aW9uXCIsdFt0LlR3b1dheT01XT1cIlR3b1dheVwifSkoSHx8KEg9e30pKTt2YXIgdW47KGZ1bmN0aW9uKHQpe3RbdC5SQVdfVEVYVD0wXT1cIlJBV19URVhUXCIsdFt0LkVTQ0FQQUJMRV9SQVdfVEVYVD0xXT1cIkVTQ0FQQUJMRV9SQVdfVEVYVFwiLHRbdC5QQVJTQUJMRV9EQVRBPTJdPVwiUEFSU0FCTEVfREFUQVwifSkodW58fCh1bj17fSkpO3ZhciBGcz1bL0AvLC9eXFxzKiQvLC9bPD5dLywvXlt7fV0kLywvJigjfFthLXpdKS9pLC9eXFwvXFwvL107ZnVuY3Rpb24gVnModCxlKXtpZihlIT1udWxsJiYhKEFycmF5LmlzQXJyYXkoZSkmJmUubGVuZ3RoPT0yKSl0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkICcke3R9JyB0byBiZSBhbiBhcnJheSwgW3N0YXJ0LCBlbmRdLmApO2lmKGUhPW51bGwpe2xldCBuPWVbMF0scz1lWzFdO0ZzLmZvckVhY2gocj0+e2lmKHIudGVzdChuKXx8ci50ZXN0KHMpKXRocm93IG5ldyBFcnJvcihgWycke259JywgJyR7c30nXSBjb250YWlucyB1bnVzYWJsZSBpbnRlcnBvbGF0aW9uIHN5bWJvbC5gKX0pfX12YXIgX3Q9Y2xhc3MgdHtzdGFydDtlbmQ7c3RhdGljIGZyb21BcnJheShlKXtyZXR1cm4gZT8oVnMoXCJpbnRlcnBvbGF0aW9uXCIsZSksbmV3IHQoZVswXSxlWzFdKSk6Wn1jb25zdHJ1Y3RvcihlLG4pe3RoaXMuc3RhcnQ9ZSx0aGlzLmVuZD1ufX0sWj1uZXcgX3QoXCJ7e1wiLFwifX1cIik7dmFyIG90PTA7dmFyIFVuPTksSHM9MTAsVXM9MTEsV3M9MTIscXM9MTMsV249MzIsanM9MzMscW49MzQsenM9MzUsam49MzYsR3M9MzcscG49Mzgsem49MzksamU9NDAsbWU9NDEsWHM9NDIsR249NDMsZ2U9NDQsWG49NDUsZWU9NDYsQ3Q9NDcsdGU9NTgsdmU9NTksSnM9NjAscWU9NjEsS3M9NjIsaG49NjMsWXM9NDg7dmFyIFFzPTU3LEpuPTY1LFpzPTY5O3ZhciBLbj05MCx6ZT05MSxlcj05Mix3ZT05Myx0cj05NCxNdD05NSxZbj05Nzt2YXIgbnI9MTAxLHNyPTEwMixycj0xMTAsaXI9MTE0LG9yPTExNixhcj0xMTcsbHI9MTE4O3ZhciBRbj0xMjIsVHQ9MTIzLGZuPTEyNCx4ZT0xMjUsWm49MTYwO3ZhciBjcj05NjtmdW5jdGlvbiB1cih0KXtyZXR1cm4gdD49VW4mJnQ8PVdufHx0PT1abn1mdW5jdGlvbiBqKHQpe3JldHVybiBZczw9dCYmdDw9UXN9ZnVuY3Rpb24gcHIodCl7cmV0dXJuIHQ+PVluJiZ0PD1Rbnx8dD49Sm4mJnQ8PUtufWZ1bmN0aW9uIGRuKHQpe3JldHVybiB0PT09em58fHQ9PT1xbnx8dD09PWNyfXZhciBtbjsoZnVuY3Rpb24odCl7dFt0LldBUk5JTkc9MF09XCJXQVJOSU5HXCIsdFt0LkVSUk9SPTFdPVwiRVJST1JcIn0pKG1ufHwobW49e30pKTt2YXIgZ247KGZ1bmN0aW9uKHQpe3RbdC5JbmxpbmU9MF09XCJJbmxpbmVcIix0W3QuU2lkZUVmZmVjdD0xXT1cIlNpZGVFZmZlY3RcIix0W3QuT21pdD0yXT1cIk9taXRcIn0pKGdufHwoZ249e30pKTt2YXIgdm47KGZ1bmN0aW9uKHQpe3RbdC5HbG9iYWw9MF09XCJHbG9iYWxcIix0W3QuTG9jYWw9MV09XCJMb2NhbFwifSkodm58fCh2bj17fSkpO3ZhciB3bjsoZnVuY3Rpb24odCl7dFt0LkRpcmVjdGl2ZT0wXT1cIkRpcmVjdGl2ZVwiLHRbdC5QaXBlPTFdPVwiUGlwZVwiLHRbdC5OZ01vZHVsZT0yXT1cIk5nTW9kdWxlXCJ9KSh3bnx8KHduPXt9KSk7dmFyIGhyPVwiKDood2hlcmV8aXMpXFxcXCgpP1wiO3ZhciBlcz1cIi1zaGFkb3djc3Nob3N0XCIsdHM9XCItc2hhZG93Y3NzY29udGV4dFwiLCR0PVwiKD86XFxcXCgoKD86XFxcXChbXikoXSpcXFxcKXxbXikoXSopKz8pXFxcXCkpPyhbXix7XSopXCIsSnI9bmV3IFJlZ0V4cChlcyskdCxcImdpbVwiKSxLcj1uZXcgUmVnRXhwKGhyK1wiKFwiK3RzKyR0K1wiKVwiLFwiZ2ltXCIpLFlyPW5ldyBSZWdFeHAodHMrJHQsXCJpbVwiKSxmcj1lcytcIi1uby1jb21iaW5hdG9yXCIsUXI9bmV3IFJlZ0V4cChgJHtmcn0oPyFbXihdKlxcXFwpKWAsXCJnXCIpO3ZhciBucz1cIiVDT01NRU5UJVwiLFpyPW5ldyBSZWdFeHAobnMsXCJnXCIpO3ZhciBlaT1uZXcgUmVnRXhwKGAoXFxcXHMqKD86JHtuc31cXFxccyopKikoW147XFxcXHtcXFxcfV0rPykoXFxcXHMqKSgoPzp7JUJMT0NLJX0/XFxcXHMqOz8pfCg/OlxcXFxzKjspKWAsXCJnXCIpO3ZhciBkcj1cIiVDT01NQV9JTl9QTEFDRUhPTERFUiVcIixtcj1cIiVTRU1JX0lOX1BMQUNFSE9MREVSJVwiLGdyPVwiJUNPTE9OX0lOX1BMQUNFSE9MREVSJVwiLHRpPW5ldyBSZWdFeHAoZHIsXCJnXCIpLG5pPW5ldyBSZWdFeHAobXIsXCJnXCIpLHNpPW5ldyBSZWdFeHAoZ3IsXCJnXCIpO3ZhciBmOyhmdW5jdGlvbih0KXt0W3QuTGlzdEVuZD0wXT1cIkxpc3RFbmRcIix0W3QuU3RhdGVtZW50PTFdPVwiU3RhdGVtZW50XCIsdFt0LlZhcmlhYmxlPTJdPVwiVmFyaWFibGVcIix0W3QuRWxlbWVudFN0YXJ0PTNdPVwiRWxlbWVudFN0YXJ0XCIsdFt0LkVsZW1lbnQ9NF09XCJFbGVtZW50XCIsdFt0LlRlbXBsYXRlPTVdPVwiVGVtcGxhdGVcIix0W3QuRWxlbWVudEVuZD02XT1cIkVsZW1lbnRFbmRcIix0W3QuQ29udGFpbmVyU3RhcnQ9N109XCJDb250YWluZXJTdGFydFwiLHRbdC5Db250YWluZXI9OF09XCJDb250YWluZXJcIix0W3QuQ29udGFpbmVyRW5kPTldPVwiQ29udGFpbmVyRW5kXCIsdFt0LkRpc2FibGVCaW5kaW5ncz0xMF09XCJEaXNhYmxlQmluZGluZ3NcIix0W3QuQ29uZGl0aW9uYWw9MTFdPVwiQ29uZGl0aW9uYWxcIix0W3QuRW5hYmxlQmluZGluZ3M9MTJdPVwiRW5hYmxlQmluZGluZ3NcIix0W3QuVGV4dD0xM109XCJUZXh0XCIsdFt0Lkxpc3RlbmVyPTE0XT1cIkxpc3RlbmVyXCIsdFt0LkludGVycG9sYXRlVGV4dD0xNV09XCJJbnRlcnBvbGF0ZVRleHRcIix0W3QuQmluZGluZz0xNl09XCJCaW5kaW5nXCIsdFt0LlByb3BlcnR5PTE3XT1cIlByb3BlcnR5XCIsdFt0LlN0eWxlUHJvcD0xOF09XCJTdHlsZVByb3BcIix0W3QuQ2xhc3NQcm9wPTE5XT1cIkNsYXNzUHJvcFwiLHRbdC5TdHlsZU1hcD0yMF09XCJTdHlsZU1hcFwiLHRbdC5DbGFzc01hcD0yMV09XCJDbGFzc01hcFwiLHRbdC5BZHZhbmNlPTIyXT1cIkFkdmFuY2VcIix0W3QuUGlwZT0yM109XCJQaXBlXCIsdFt0LkF0dHJpYnV0ZT0yNF09XCJBdHRyaWJ1dGVcIix0W3QuRXh0cmFjdGVkQXR0cmlidXRlPTI1XT1cIkV4dHJhY3RlZEF0dHJpYnV0ZVwiLHRbdC5EZWZlcj0yNl09XCJEZWZlclwiLHRbdC5EZWZlck9uPTI3XT1cIkRlZmVyT25cIix0W3QuRGVmZXJXaGVuPTI4XT1cIkRlZmVyV2hlblwiLHRbdC5JMThuTWVzc2FnZT0yOV09XCJJMThuTWVzc2FnZVwiLHRbdC5Ib3N0UHJvcGVydHk9MzBdPVwiSG9zdFByb3BlcnR5XCIsdFt0Lk5hbWVzcGFjZT0zMV09XCJOYW1lc3BhY2VcIix0W3QuUHJvamVjdGlvbkRlZj0zMl09XCJQcm9qZWN0aW9uRGVmXCIsdFt0LlByb2plY3Rpb249MzNdPVwiUHJvamVjdGlvblwiLHRbdC5SZXBlYXRlckNyZWF0ZT0zNF09XCJSZXBlYXRlckNyZWF0ZVwiLHRbdC5SZXBlYXRlcj0zNV09XCJSZXBlYXRlclwiLHRbdC5Ud29XYXlQcm9wZXJ0eT0zNl09XCJUd29XYXlQcm9wZXJ0eVwiLHRbdC5Ud29XYXlMaXN0ZW5lcj0zN109XCJUd29XYXlMaXN0ZW5lclwiLHRbdC5EZWNsYXJlTGV0PTM4XT1cIkRlY2xhcmVMZXRcIix0W3QuU3RvcmVMZXQ9MzldPVwiU3RvcmVMZXRcIix0W3QuSTE4blN0YXJ0PTQwXT1cIkkxOG5TdGFydFwiLHRbdC5JMThuPTQxXT1cIkkxOG5cIix0W3QuSTE4bkVuZD00Ml09XCJJMThuRW5kXCIsdFt0LkkxOG5FeHByZXNzaW9uPTQzXT1cIkkxOG5FeHByZXNzaW9uXCIsdFt0LkkxOG5BcHBseT00NF09XCJJMThuQXBwbHlcIix0W3QuSWN1U3RhcnQ9NDVdPVwiSWN1U3RhcnRcIix0W3QuSWN1RW5kPTQ2XT1cIkljdUVuZFwiLHRbdC5JY3VQbGFjZWhvbGRlcj00N109XCJJY3VQbGFjZWhvbGRlclwiLHRbdC5JMThuQ29udGV4dD00OF09XCJJMThuQ29udGV4dFwiLHRbdC5JMThuQXR0cmlidXRlcz00OV09XCJJMThuQXR0cmlidXRlc1wifSkoZnx8KGY9e30pKTt2YXIgSjsoZnVuY3Rpb24odCl7dFt0LkxleGljYWxSZWFkPTBdPVwiTGV4aWNhbFJlYWRcIix0W3QuQ29udGV4dD0xXT1cIkNvbnRleHRcIix0W3QuVHJhY2tDb250ZXh0PTJdPVwiVHJhY2tDb250ZXh0XCIsdFt0LlJlYWRWYXJpYWJsZT0zXT1cIlJlYWRWYXJpYWJsZVwiLHRbdC5OZXh0Q29udGV4dD00XT1cIk5leHRDb250ZXh0XCIsdFt0LlJlZmVyZW5jZT01XT1cIlJlZmVyZW5jZVwiLHRbdC5TdG9yZUxldD02XT1cIlN0b3JlTGV0XCIsdFt0LkNvbnRleHRMZXRSZWZlcmVuY2U9N109XCJDb250ZXh0TGV0UmVmZXJlbmNlXCIsdFt0LkdldEN1cnJlbnRWaWV3PThdPVwiR2V0Q3VycmVudFZpZXdcIix0W3QuUmVzdG9yZVZpZXc9OV09XCJSZXN0b3JlVmlld1wiLHRbdC5SZXNldFZpZXc9MTBdPVwiUmVzZXRWaWV3XCIsdFt0LlB1cmVGdW5jdGlvbkV4cHI9MTFdPVwiUHVyZUZ1bmN0aW9uRXhwclwiLHRbdC5QdXJlRnVuY3Rpb25QYXJhbWV0ZXJFeHByPTEyXT1cIlB1cmVGdW5jdGlvblBhcmFtZXRlckV4cHJcIix0W3QuUGlwZUJpbmRpbmc9MTNdPVwiUGlwZUJpbmRpbmdcIix0W3QuUGlwZUJpbmRpbmdWYXJpYWRpYz0xNF09XCJQaXBlQmluZGluZ1ZhcmlhZGljXCIsdFt0LlNhZmVQcm9wZXJ0eVJlYWQ9MTVdPVwiU2FmZVByb3BlcnR5UmVhZFwiLHRbdC5TYWZlS2V5ZWRSZWFkPTE2XT1cIlNhZmVLZXllZFJlYWRcIix0W3QuU2FmZUludm9rZUZ1bmN0aW9uPTE3XT1cIlNhZmVJbnZva2VGdW5jdGlvblwiLHRbdC5TYWZlVGVybmFyeUV4cHI9MThdPVwiU2FmZVRlcm5hcnlFeHByXCIsdFt0LkVtcHR5RXhwcj0xOV09XCJFbXB0eUV4cHJcIix0W3QuQXNzaWduVGVtcG9yYXJ5RXhwcj0yMF09XCJBc3NpZ25UZW1wb3JhcnlFeHByXCIsdFt0LlJlYWRUZW1wb3JhcnlFeHByPTIxXT1cIlJlYWRUZW1wb3JhcnlFeHByXCIsdFt0LlNsb3RMaXRlcmFsRXhwcj0yMl09XCJTbG90TGl0ZXJhbEV4cHJcIix0W3QuQ29uZGl0aW9uYWxDYXNlPTIzXT1cIkNvbmRpdGlvbmFsQ2FzZVwiLHRbdC5Db25zdENvbGxlY3RlZD0yNF09XCJDb25zdENvbGxlY3RlZFwiLHRbdC5Ud29XYXlCaW5kaW5nU2V0PTI1XT1cIlR3b1dheUJpbmRpbmdTZXRcIn0pKEp8fChKPXt9KSk7dmFyIHhuOyhmdW5jdGlvbih0KXt0W3QuTm9uZT0wXT1cIk5vbmVcIix0W3QuQWx3YXlzSW5saW5lPTFdPVwiQWx3YXlzSW5saW5lXCJ9KSh4bnx8KHhuPXt9KSk7dmFyIFNuOyhmdW5jdGlvbih0KXt0W3QuQ29udGV4dD0wXT1cIkNvbnRleHRcIix0W3QuSWRlbnRpZmllcj0xXT1cIklkZW50aWZpZXJcIix0W3QuU2F2ZWRWaWV3PTJdPVwiU2F2ZWRWaWV3XCIsdFt0LkFsaWFzPTNdPVwiQWxpYXNcIn0pKFNufHwoU249e30pKTt2YXIgRW47KGZ1bmN0aW9uKHQpe3RbdC5Ob3JtYWw9MF09XCJOb3JtYWxcIix0W3QuVGVtcGxhdGVEZWZpbml0aW9uQnVpbGRlcj0xXT1cIlRlbXBsYXRlRGVmaW5pdGlvbkJ1aWxkZXJcIn0pKEVufHwoRW49e30pKTt2YXIgVTsoZnVuY3Rpb24odCl7dFt0LkF0dHJpYnV0ZT0wXT1cIkF0dHJpYnV0ZVwiLHRbdC5DbGFzc05hbWU9MV09XCJDbGFzc05hbWVcIix0W3QuU3R5bGVQcm9wZXJ0eT0yXT1cIlN0eWxlUHJvcGVydHlcIix0W3QuUHJvcGVydHk9M109XCJQcm9wZXJ0eVwiLHRbdC5UZW1wbGF0ZT00XT1cIlRlbXBsYXRlXCIsdFt0LkkxOG49NV09XCJJMThuXCIsdFt0LkFuaW1hdGlvbj02XT1cIkFuaW1hdGlvblwiLHRbdC5Ud29XYXlQcm9wZXJ0eT03XT1cIlR3b1dheVByb3BlcnR5XCJ9KShVfHwoVT17fSkpO3ZhciB5bjsoZnVuY3Rpb24odCl7dFt0LkNyZWF0aW9uPTBdPVwiQ3JlYXRpb25cIix0W3QuUG9zdHByb2NjZXNzaW5nPTFdPVwiUG9zdHByb2NjZXNzaW5nXCJ9KSh5bnx8KHluPXt9KSk7dmFyIF9uOyhmdW5jdGlvbih0KXt0W3QuSTE4blRleHQ9MF09XCJJMThuVGV4dFwiLHRbdC5JMThuQXR0cmlidXRlPTFdPVwiSTE4bkF0dHJpYnV0ZVwifSkoX258fChfbj17fSkpO3ZhciBDbjsoZnVuY3Rpb24odCl7dFt0Lk5vbmU9MF09XCJOb25lXCIsdFt0LkVsZW1lbnRUYWc9MV09XCJFbGVtZW50VGFnXCIsdFt0LlRlbXBsYXRlVGFnPTJdPVwiVGVtcGxhdGVUYWdcIix0W3QuT3BlblRhZz00XT1cIk9wZW5UYWdcIix0W3QuQ2xvc2VUYWc9OF09XCJDbG9zZVRhZ1wiLHRbdC5FeHByZXNzaW9uSW5kZXg9MTZdPVwiRXhwcmVzc2lvbkluZGV4XCJ9KShDbnx8KENuPXt9KSk7dmFyIFRuOyhmdW5jdGlvbih0KXt0W3QuSFRNTD0wXT1cIkhUTUxcIix0W3QuU1ZHPTFdPVwiU1ZHXCIsdFt0Lk1hdGg9Ml09XCJNYXRoXCJ9KShUbnx8KFRuPXt9KSk7dmFyIGtuOyhmdW5jdGlvbih0KXt0W3QuSWRsZT0wXT1cIklkbGVcIix0W3QuSW1tZWRpYXRlPTFdPVwiSW1tZWRpYXRlXCIsdFt0LlRpbWVyPTJdPVwiVGltZXJcIix0W3QuSG92ZXI9M109XCJIb3ZlclwiLHRbdC5JbnRlcmFjdGlvbj00XT1cIkludGVyYWN0aW9uXCIsdFt0LlZpZXdwb3J0PTVdPVwiVmlld3BvcnRcIix0W3QuTmV2ZXI9Nl09XCJOZXZlclwifSkoa258fChrbj17fSkpO3ZhciBJbjsoZnVuY3Rpb24odCl7dFt0LlJvb3RJMThuPTBdPVwiUm9vdEkxOG5cIix0W3QuSWN1PTFdPVwiSWN1XCIsdFt0LkF0dHI9Ml09XCJBdHRyXCJ9KShJbnx8KEluPXt9KSk7dmFyIGJuOyhmdW5jdGlvbih0KXt0W3QuTmdUZW1wbGF0ZT0wXT1cIk5nVGVtcGxhdGVcIix0W3QuU3RydWN0dXJhbD0xXT1cIlN0cnVjdHVyYWxcIix0W3QuQmxvY2s9Ml09XCJCbG9ja1wifSkoYm58fChibj17fSkpO3ZhciB2cj1TeW1ib2woXCJDb25zdW1lc1Nsb3RcIiksc3M9U3ltYm9sKFwiRGVwZW5kc09uU2xvdENvbnRleHRcIiksT2U9U3ltYm9sKFwiQ29uc3VtZXNWYXJzXCIpLFJ0PVN5bWJvbChcIlVzZXNWYXJPZmZzZXRcIikscmk9e1t2cl06ITAsbnVtU2xvdHNVc2VkOjF9LGlpPXtbc3NdOiEwfSxvaT17W09lXTohMH07dmFyIFplPWNsYXNze3N0cmluZ3M7ZXhwcmVzc2lvbnM7aTE4blBsYWNlaG9sZGVycztjb25zdHJ1Y3RvcihlLG4scyl7aWYodGhpcy5zdHJpbmdzPWUsdGhpcy5leHByZXNzaW9ucz1uLHRoaXMuaTE4blBsYWNlaG9sZGVycz1zLHMubGVuZ3RoIT09MCYmcy5sZW5ndGghPT1uLmxlbmd0aCl0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkICR7bi5sZW5ndGh9IHBsYWNlaG9sZGVycyB0byBtYXRjaCBpbnRlcnBvbGF0aW9uIGV4cHJlc3Npb24gY291bnQsIGJ1dCBnb3QgJHtzLmxlbmd0aH1gKX19O3ZhciBLPWNsYXNzIGV4dGVuZHMga3tjb25zdHJ1Y3RvcihlPW51bGwpe3N1cGVyKG51bGwsZSl9fTt2YXIgQW49Y2xhc3MgdCBleHRlbmRzIEt7dGFyZ2V0O3ZhbHVlO3NvdXJjZVNwYW47a2luZD1KLlN0b3JlTGV0O1tPZV09ITA7W3NzXT0hMDtjb25zdHJ1Y3RvcihlLG4scyl7c3VwZXIoKSx0aGlzLnRhcmdldD1lLHRoaXMudmFsdWU9bix0aGlzLnNvdXJjZVNwYW49c312aXNpdEV4cHJlc3Npb24oKXt9aXNFcXVpdmFsZW50KGUpe3JldHVybiBlIGluc3RhbmNlb2YgdCYmZS50YXJnZXQ9PT10aGlzLnRhcmdldCYmZS52YWx1ZS5pc0VxdWl2YWxlbnQodGhpcy52YWx1ZSl9aXNDb25zdGFudCgpe3JldHVybiExfXRyYW5zZm9ybUludGVybmFsRXhwcmVzc2lvbnMoZSxuKXt0aGlzLnZhbHVlPSh0aGlzLnZhbHVlLHZvaWQgMCl9Y2xvbmUoKXtyZXR1cm4gbmV3IHQodGhpcy50YXJnZXQsdGhpcy52YWx1ZSx0aGlzLnNvdXJjZVNwYW4pfX07dmFyIE5uPWNsYXNzIHQgZXh0ZW5kcyBLe2tpbmQ9Si5QdXJlRnVuY3Rpb25FeHByO1tPZV09ITA7W1J0XT0hMDt2YXJPZmZzZXQ9bnVsbDtib2R5O2FyZ3M7Zm49bnVsbDtjb25zdHJ1Y3RvcihlLG4pe3N1cGVyKCksdGhpcy5ib2R5PWUsdGhpcy5hcmdzPW59dmlzaXRFeHByZXNzaW9uKGUsbil7dmFyIHM7KHM9dGhpcy5ib2R5KT09bnVsbHx8cy52aXNpdEV4cHJlc3Npb24oZSxuKTtmb3IobGV0IHIgb2YgdGhpcy5hcmdzKXIudmlzaXRFeHByZXNzaW9uKGUsbil9aXNFcXVpdmFsZW50KGUpe3JldHVybiEoZSBpbnN0YW5jZW9mIHQpfHxlLmFyZ3MubGVuZ3RoIT09dGhpcy5hcmdzLmxlbmd0aD8hMTplLmJvZHkhPT1udWxsJiZ0aGlzLmJvZHkhPT1udWxsJiZlLmJvZHkuaXNFcXVpdmFsZW50KHRoaXMuYm9keSkmJmUuYXJncy5ldmVyeSgobixzKT0+bi5pc0VxdWl2YWxlbnQodGhpcy5hcmdzW3NdKSl9aXNDb25zdGFudCgpe3JldHVybiExfXRyYW5zZm9ybUludGVybmFsRXhwcmVzc2lvbnMoZSxuKXt0aGlzLmJvZHkhPT1udWxsP3RoaXMuYm9keT0odGhpcy5ib2R5LG58YnQuSW5DaGlsZE9wZXJhdGlvbix2b2lkIDApOnRoaXMuZm4hPT1udWxsJiYodGhpcy5mbj0odGhpcy5mbix2b2lkIDApKTtmb3IobGV0IHM9MDtzPHRoaXMuYXJncy5sZW5ndGg7cysrKXRoaXMuYXJnc1tzXT0odGhpcy5hcmdzW3NdLHZvaWQgMCl9Y2xvbmUoKXt2YXIgbixzO2xldCBlPW5ldyB0KCgobj10aGlzLmJvZHkpPT1udWxsP3ZvaWQgMDpuLmNsb25lKCkpPz9udWxsLHRoaXMuYXJncy5tYXAocj0+ci5jbG9uZSgpKSk7cmV0dXJuIGUuZm49KChzPXRoaXMuZm4pPT1udWxsP3ZvaWQgMDpzLmNsb25lKCkpPz9udWxsLGUudmFyT2Zmc2V0PXRoaXMudmFyT2Zmc2V0LGV9fTt2YXIga3Q9Y2xhc3MgdCBleHRlbmRzIEt7dGFyZ2V0O3RhcmdldFNsb3Q7bmFtZTthcmdzO2tpbmQ9Si5QaXBlQmluZGluZztbT2VdPSEwO1tSdF09ITA7dmFyT2Zmc2V0PW51bGw7Y29uc3RydWN0b3IoZSxuLHMscil7c3VwZXIoKSx0aGlzLnRhcmdldD1lLHRoaXMudGFyZ2V0U2xvdD1uLHRoaXMubmFtZT1zLHRoaXMuYXJncz1yfXZpc2l0RXhwcmVzc2lvbihlLG4pe2ZvcihsZXQgcyBvZiB0aGlzLmFyZ3Mpcy52aXNpdEV4cHJlc3Npb24oZSxuKX1pc0VxdWl2YWxlbnQoKXtyZXR1cm4hMX1pc0NvbnN0YW50KCl7cmV0dXJuITF9dHJhbnNmb3JtSW50ZXJuYWxFeHByZXNzaW9ucyhlLG4pe2ZvcihsZXQgcz0wO3M8dGhpcy5hcmdzLmxlbmd0aDtzKyspdGhpcy5hcmdzW3NdPSh0aGlzLmFyZ3Nbc10sdm9pZCAwKX1jbG9uZSgpe2xldCBlPW5ldyB0KHRoaXMudGFyZ2V0LHRoaXMudGFyZ2V0U2xvdCx0aGlzLm5hbWUsdGhpcy5hcmdzLm1hcChuPT5uLmNsb25lKCkpKTtyZXR1cm4gZS52YXJPZmZzZXQ9dGhpcy52YXJPZmZzZXQsZX19LFBuPWNsYXNzIHQgZXh0ZW5kcyBLe3RhcmdldDt0YXJnZXRTbG90O25hbWU7YXJncztudW1BcmdzO2tpbmQ9Si5QaXBlQmluZGluZ1ZhcmlhZGljO1tPZV09ITA7W1J0XT0hMDt2YXJPZmZzZXQ9bnVsbDtjb25zdHJ1Y3RvcihlLG4scyxyLG8pe3N1cGVyKCksdGhpcy50YXJnZXQ9ZSx0aGlzLnRhcmdldFNsb3Q9bix0aGlzLm5hbWU9cyx0aGlzLmFyZ3M9cix0aGlzLm51bUFyZ3M9b312aXNpdEV4cHJlc3Npb24oZSxuKXt0aGlzLmFyZ3MudmlzaXRFeHByZXNzaW9uKGUsbil9aXNFcXVpdmFsZW50KCl7cmV0dXJuITF9aXNDb25zdGFudCgpe3JldHVybiExfXRyYW5zZm9ybUludGVybmFsRXhwcmVzc2lvbnMoZSxuKXt0aGlzLmFyZ3M9KHRoaXMuYXJncyx2b2lkIDApfWNsb25lKCl7bGV0IGU9bmV3IHQodGhpcy50YXJnZXQsdGhpcy50YXJnZXRTbG90LHRoaXMubmFtZSx0aGlzLmFyZ3MuY2xvbmUoKSx0aGlzLm51bUFyZ3MpO3JldHVybiBlLnZhck9mZnNldD10aGlzLnZhck9mZnNldCxlfX07dmFyIEl0PWNsYXNzIHQgZXh0ZW5kcyBLe3JlY2VpdmVyO2FyZ3M7a2luZD1KLlNhZmVJbnZva2VGdW5jdGlvbjtjb25zdHJ1Y3RvcihlLG4pe3N1cGVyKCksdGhpcy5yZWNlaXZlcj1lLHRoaXMuYXJncz1ufXZpc2l0RXhwcmVzc2lvbihlLG4pe3RoaXMucmVjZWl2ZXIudmlzaXRFeHByZXNzaW9uKGUsbik7Zm9yKGxldCBzIG9mIHRoaXMuYXJncylzLnZpc2l0RXhwcmVzc2lvbihlLG4pfWlzRXF1aXZhbGVudCgpe3JldHVybiExfWlzQ29uc3RhbnQoKXtyZXR1cm4hMX10cmFuc2Zvcm1JbnRlcm5hbEV4cHJlc3Npb25zKGUsbil7dGhpcy5yZWNlaXZlcj0odGhpcy5yZWNlaXZlcix2b2lkIDApO2ZvcihsZXQgcz0wO3M8dGhpcy5hcmdzLmxlbmd0aDtzKyspdGhpcy5hcmdzW3NdPSh0aGlzLmFyZ3Nbc10sdm9pZCAwKX1jbG9uZSgpe3JldHVybiBuZXcgdCh0aGlzLnJlY2VpdmVyLmNsb25lKCksdGhpcy5hcmdzLm1hcChlPT5lLmNsb25lKCkpKX19O3ZhciBidDsoZnVuY3Rpb24odCl7dFt0Lk5vbmU9MF09XCJOb25lXCIsdFt0LkluQ2hpbGRPcGVyYXRpb249MV09XCJJbkNoaWxkT3BlcmF0aW9uXCJ9KShidHx8KGJ0PXt9KSk7dmFyIGFpPW5ldyBTZXQoW2YuRWxlbWVudCxmLkVsZW1lbnRTdGFydCxmLkNvbnRhaW5lcixmLkNvbnRhaW5lclN0YXJ0LGYuVGVtcGxhdGUsZi5SZXBlYXRlckNyZWF0ZV0pO3ZhciBMbjsoZnVuY3Rpb24odCl7dFt0LlRtcGw9MF09XCJUbXBsXCIsdFt0Lkhvc3Q9MV09XCJIb3N0XCIsdFt0LkJvdGg9Ml09XCJCb3RoXCJ9KShMbnx8KExuPXt9KSk7dmFyIGxpPU9iamVjdC5mcmVlemUoW10pO3ZhciBjaT1uZXcgTWFwKFtbZi5FbGVtZW50RW5kLFtmLkVsZW1lbnRTdGFydCxmLkVsZW1lbnRdXSxbZi5Db250YWluZXJFbmQsW2YuQ29udGFpbmVyU3RhcnQsZi5Db250YWluZXJdXSxbZi5JMThuRW5kLFtmLkkxOG5TdGFydCxmLkkxOG5dXV0pLHVpPW5ldyBTZXQoW2YuUGlwZV0pO3ZhciBwaT1bWGUsS2UsWWUsSXQsa3RdLm1hcCh0PT50LmNvbnN0cnVjdG9yLm5hbWUpO3ZhciB3cj17fSx4cj1cIlxcdUU1MDBcIjt3ci5uZ3NwPXhyO3ZhciBNbjsoZnVuY3Rpb24odCl7dC5IRVg9XCJoZXhhZGVjaW1hbFwiLHQuREVDPVwiZGVjaW1hbFwifSkoTW58fChNbj17fSkpO3ZhciBycz1gIFxcZlxuXFxyXHRcXHZcXHUxNjgwXFx1MTgwRVxcdTIwMDAtXFx1MjAwQVxcdTIwMjhcXHUyMDI5XFx1MjAyRlxcdTIwNUZcXHUzMDAwXFx1RkVGRmAsaGk9bmV3IFJlZ0V4cChgW14ke3JzfV1gKSxmaT1uZXcgUmVnRXhwKGBbJHtyc31dezIsfWAsXCJnXCIpO3ZhciBkOyhmdW5jdGlvbih0KXt0W3QuQ2hhcmFjdGVyPTBdPVwiQ2hhcmFjdGVyXCIsdFt0LklkZW50aWZpZXI9MV09XCJJZGVudGlmaWVyXCIsdFt0LlByaXZhdGVJZGVudGlmaWVyPTJdPVwiUHJpdmF0ZUlkZW50aWZpZXJcIix0W3QuS2V5d29yZD0zXT1cIktleXdvcmRcIix0W3QuU3RyaW5nPTRdPVwiU3RyaW5nXCIsdFt0Lk9wZXJhdG9yPTVdPVwiT3BlcmF0b3JcIix0W3QuTnVtYmVyPTZdPVwiTnVtYmVyXCIsdFt0LkVycm9yPTddPVwiRXJyb3JcIn0pKGR8fChkPXt9KSk7dmFyIFNyPVtcInZhclwiLFwibGV0XCIsXCJhc1wiLFwibnVsbFwiLFwidW5kZWZpbmVkXCIsXCJ0cnVlXCIsXCJmYWxzZVwiLFwiaWZcIixcImVsc2VcIixcInRoaXNcIixcInR5cGVvZlwiXSxEZT1jbGFzc3t0b2tlbml6ZShlKXtsZXQgbj1uZXcgQXQoZSkscz1bXSxyPW4uc2NhblRva2VuKCk7Zm9yKDtyIT1udWxsOylzLnB1c2gocikscj1uLnNjYW5Ub2tlbigpO3JldHVybiBzfX0sTT1jbGFzc3tpbmRleDtlbmQ7dHlwZTtudW1WYWx1ZTtzdHJWYWx1ZTtjb25zdHJ1Y3RvcihlLG4scyxyLG8pe3RoaXMuaW5kZXg9ZSx0aGlzLmVuZD1uLHRoaXMudHlwZT1zLHRoaXMubnVtVmFsdWU9cix0aGlzLnN0clZhbHVlPW99aXNDaGFyYWN0ZXIoZSl7cmV0dXJuIHRoaXMudHlwZT09ZC5DaGFyYWN0ZXImJnRoaXMubnVtVmFsdWU9PWV9aXNOdW1iZXIoKXtyZXR1cm4gdGhpcy50eXBlPT1kLk51bWJlcn1pc1N0cmluZygpe3JldHVybiB0aGlzLnR5cGU9PWQuU3RyaW5nfWlzT3BlcmF0b3IoZSl7cmV0dXJuIHRoaXMudHlwZT09ZC5PcGVyYXRvciYmdGhpcy5zdHJWYWx1ZT09ZX1pc0lkZW50aWZpZXIoKXtyZXR1cm4gdGhpcy50eXBlPT1kLklkZW50aWZpZXJ9aXNQcml2YXRlSWRlbnRpZmllcigpe3JldHVybiB0aGlzLnR5cGU9PWQuUHJpdmF0ZUlkZW50aWZpZXJ9aXNLZXl3b3JkKCl7cmV0dXJuIHRoaXMudHlwZT09ZC5LZXl3b3JkfWlzS2V5d29yZExldCgpe3JldHVybiB0aGlzLnR5cGU9PWQuS2V5d29yZCYmdGhpcy5zdHJWYWx1ZT09XCJsZXRcIn1pc0tleXdvcmRBcygpe3JldHVybiB0aGlzLnR5cGU9PWQuS2V5d29yZCYmdGhpcy5zdHJWYWx1ZT09XCJhc1wifWlzS2V5d29yZE51bGwoKXtyZXR1cm4gdGhpcy50eXBlPT1kLktleXdvcmQmJnRoaXMuc3RyVmFsdWU9PVwibnVsbFwifWlzS2V5d29yZFVuZGVmaW5lZCgpe3JldHVybiB0aGlzLnR5cGU9PWQuS2V5d29yZCYmdGhpcy5zdHJWYWx1ZT09XCJ1bmRlZmluZWRcIn1pc0tleXdvcmRUcnVlKCl7cmV0dXJuIHRoaXMudHlwZT09ZC5LZXl3b3JkJiZ0aGlzLnN0clZhbHVlPT1cInRydWVcIn1pc0tleXdvcmRGYWxzZSgpe3JldHVybiB0aGlzLnR5cGU9PWQuS2V5d29yZCYmdGhpcy5zdHJWYWx1ZT09XCJmYWxzZVwifWlzS2V5d29yZFRoaXMoKXtyZXR1cm4gdGhpcy50eXBlPT1kLktleXdvcmQmJnRoaXMuc3RyVmFsdWU9PVwidGhpc1wifWlzS2V5d29yZFR5cGVvZigpe3JldHVybiB0aGlzLnR5cGU9PT1kLktleXdvcmQmJnRoaXMuc3RyVmFsdWU9PT1cInR5cGVvZlwifWlzRXJyb3IoKXtyZXR1cm4gdGhpcy50eXBlPT1kLkVycm9yfXRvTnVtYmVyKCl7cmV0dXJuIHRoaXMudHlwZT09ZC5OdW1iZXI/dGhpcy5udW1WYWx1ZTotMX10b1N0cmluZygpe3N3aXRjaCh0aGlzLnR5cGUpe2Nhc2UgZC5DaGFyYWN0ZXI6Y2FzZSBkLklkZW50aWZpZXI6Y2FzZSBkLktleXdvcmQ6Y2FzZSBkLk9wZXJhdG9yOmNhc2UgZC5Qcml2YXRlSWRlbnRpZmllcjpjYXNlIGQuU3RyaW5nOmNhc2UgZC5FcnJvcjpyZXR1cm4gdGhpcy5zdHJWYWx1ZTtjYXNlIGQuTnVtYmVyOnJldHVybiB0aGlzLm51bVZhbHVlLnRvU3RyaW5nKCk7ZGVmYXVsdDpyZXR1cm4gbnVsbH19fTtmdW5jdGlvbiAkbih0LGUsbil7cmV0dXJuIG5ldyBNKHQsZSxkLkNoYXJhY3RlcixuLFN0cmluZy5mcm9tQ2hhckNvZGUobikpfWZ1bmN0aW9uIEVyKHQsZSxuKXtyZXR1cm4gbmV3IE0odCxlLGQuSWRlbnRpZmllciwwLG4pfWZ1bmN0aW9uIHlyKHQsZSxuKXtyZXR1cm4gbmV3IE0odCxlLGQuUHJpdmF0ZUlkZW50aWZpZXIsMCxuKX1mdW5jdGlvbiBfcih0LGUsbil7cmV0dXJuIG5ldyBNKHQsZSxkLktleXdvcmQsMCxuKX1mdW5jdGlvbiBhdCh0LGUsbil7cmV0dXJuIG5ldyBNKHQsZSxkLk9wZXJhdG9yLDAsbil9ZnVuY3Rpb24gQ3IodCxlLG4pe3JldHVybiBuZXcgTSh0LGUsZC5TdHJpbmcsMCxuKX1mdW5jdGlvbiBUcih0LGUsbil7cmV0dXJuIG5ldyBNKHQsZSxkLk51bWJlcixuLFwiXCIpfWZ1bmN0aW9uIGtyKHQsZSxuKXtyZXR1cm4gbmV3IE0odCxlLGQuRXJyb3IsMCxuKX12YXIgbHQ9bmV3IE0oLTEsLTEsZC5DaGFyYWN0ZXIsMCxcIlwiKSxBdD1jbGFzc3tpbnB1dDtsZW5ndGg7cGVlaz0wO2luZGV4PS0xO2NvbnN0cnVjdG9yKGUpe3RoaXMuaW5wdXQ9ZSx0aGlzLmxlbmd0aD1lLmxlbmd0aCx0aGlzLmFkdmFuY2UoKX1hZHZhbmNlKCl7dGhpcy5wZWVrPSsrdGhpcy5pbmRleD49dGhpcy5sZW5ndGg/b3Q6dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuaW5kZXgpfXNjYW5Ub2tlbigpe2xldCBlPXRoaXMuaW5wdXQsbj10aGlzLmxlbmd0aCxzPXRoaXMucGVlayxyPXRoaXMuaW5kZXg7Zm9yKDtzPD1XbjspaWYoKytyPj1uKXtzPW90O2JyZWFrfWVsc2Ugcz1lLmNoYXJDb2RlQXQocik7aWYodGhpcy5wZWVrPXMsdGhpcy5pbmRleD1yLHI+PW4pcmV0dXJuIG51bGw7aWYoUm4ocykpcmV0dXJuIHRoaXMuc2NhbklkZW50aWZpZXIoKTtpZihqKHMpKXJldHVybiB0aGlzLnNjYW5OdW1iZXIocik7bGV0IG89cjtzd2l0Y2gocyl7Y2FzZSBlZTpyZXR1cm4gdGhpcy5hZHZhbmNlKCksaih0aGlzLnBlZWspP3RoaXMuc2Nhbk51bWJlcihvKTokbihvLHRoaXMuaW5kZXgsZWUpO2Nhc2UgamU6Y2FzZSBtZTpjYXNlIFR0OmNhc2UgeGU6Y2FzZSB6ZTpjYXNlIHdlOmNhc2UgZ2U6Y2FzZSB0ZTpjYXNlIHZlOnJldHVybiB0aGlzLnNjYW5DaGFyYWN0ZXIobyxzKTtjYXNlIHpuOmNhc2UgcW46cmV0dXJuIHRoaXMuc2NhblN0cmluZygpO2Nhc2UgenM6cmV0dXJuIHRoaXMuc2NhblByaXZhdGVJZGVudGlmaWVyKCk7Y2FzZSBHbjpjYXNlIFhuOmNhc2UgWHM6Y2FzZSBDdDpjYXNlIEdzOmNhc2UgdHI6cmV0dXJuIHRoaXMuc2Nhbk9wZXJhdG9yKG8sU3RyaW5nLmZyb21DaGFyQ29kZShzKSk7Y2FzZSBobjpyZXR1cm4gdGhpcy5zY2FuUXVlc3Rpb24obyk7Y2FzZSBKczpjYXNlIEtzOnJldHVybiB0aGlzLnNjYW5Db21wbGV4T3BlcmF0b3IobyxTdHJpbmcuZnJvbUNoYXJDb2RlKHMpLHFlLFwiPVwiKTtjYXNlIGpzOmNhc2UgcWU6cmV0dXJuIHRoaXMuc2NhbkNvbXBsZXhPcGVyYXRvcihvLFN0cmluZy5mcm9tQ2hhckNvZGUocykscWUsXCI9XCIscWUsXCI9XCIpO2Nhc2UgcG46cmV0dXJuIHRoaXMuc2NhbkNvbXBsZXhPcGVyYXRvcihvLFwiJlwiLHBuLFwiJlwiKTtjYXNlIGZuOnJldHVybiB0aGlzLnNjYW5Db21wbGV4T3BlcmF0b3IobyxcInxcIixmbixcInxcIik7Y2FzZSBabjpmb3IoO3VyKHRoaXMucGVlayk7KXRoaXMuYWR2YW5jZSgpO3JldHVybiB0aGlzLnNjYW5Ub2tlbigpfXJldHVybiB0aGlzLmFkdmFuY2UoKSx0aGlzLmVycm9yKGBVbmV4cGVjdGVkIGNoYXJhY3RlciBbJHtTdHJpbmcuZnJvbUNoYXJDb2RlKHMpfV1gLDApfXNjYW5DaGFyYWN0ZXIoZSxuKXtyZXR1cm4gdGhpcy5hZHZhbmNlKCksJG4oZSx0aGlzLmluZGV4LG4pfXNjYW5PcGVyYXRvcihlLG4pe3JldHVybiB0aGlzLmFkdmFuY2UoKSxhdChlLHRoaXMuaW5kZXgsbil9c2NhbkNvbXBsZXhPcGVyYXRvcihlLG4scyxyLG8sYSl7dGhpcy5hZHZhbmNlKCk7bGV0IGw9bjtyZXR1cm4gdGhpcy5wZWVrPT1zJiYodGhpcy5hZHZhbmNlKCksbCs9ciksbyE9bnVsbCYmdGhpcy5wZWVrPT1vJiYodGhpcy5hZHZhbmNlKCksbCs9YSksYXQoZSx0aGlzLmluZGV4LGwpfXNjYW5JZGVudGlmaWVyKCl7bGV0IGU9dGhpcy5pbmRleDtmb3IodGhpcy5hZHZhbmNlKCk7Qm4odGhpcy5wZWVrKTspdGhpcy5hZHZhbmNlKCk7bGV0IG49dGhpcy5pbnB1dC5zdWJzdHJpbmcoZSx0aGlzLmluZGV4KTtyZXR1cm4gU3IuaW5kZXhPZihuKT4tMT9fcihlLHRoaXMuaW5kZXgsbik6RXIoZSx0aGlzLmluZGV4LG4pfXNjYW5Qcml2YXRlSWRlbnRpZmllcigpe2xldCBlPXRoaXMuaW5kZXg7aWYodGhpcy5hZHZhbmNlKCksIVJuKHRoaXMucGVlaykpcmV0dXJuIHRoaXMuZXJyb3IoXCJJbnZhbGlkIGNoYXJhY3RlciBbI11cIiwtMSk7Zm9yKDtCbih0aGlzLnBlZWspOyl0aGlzLmFkdmFuY2UoKTtsZXQgbj10aGlzLmlucHV0LnN1YnN0cmluZyhlLHRoaXMuaW5kZXgpO3JldHVybiB5cihlLHRoaXMuaW5kZXgsbil9c2Nhbk51bWJlcihlKXtsZXQgbj10aGlzLmluZGV4PT09ZSxzPSExO2Zvcih0aGlzLmFkdmFuY2UoKTs7KXtpZighaih0aGlzLnBlZWspKWlmKHRoaXMucGVlaz09PU10KXtpZighaih0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5pbmRleC0xKSl8fCFqKHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLmluZGV4KzEpKSlyZXR1cm4gdGhpcy5lcnJvcihcIkludmFsaWQgbnVtZXJpYyBzZXBhcmF0b3JcIiwwKTtzPSEwfWVsc2UgaWYodGhpcy5wZWVrPT09ZWUpbj0hMTtlbHNlIGlmKElyKHRoaXMucGVlaykpe2lmKHRoaXMuYWR2YW5jZSgpLGJyKHRoaXMucGVlaykmJnRoaXMuYWR2YW5jZSgpLCFqKHRoaXMucGVlaykpcmV0dXJuIHRoaXMuZXJyb3IoXCJJbnZhbGlkIGV4cG9uZW50XCIsLTEpO249ITF9ZWxzZSBicmVhazt0aGlzLmFkdmFuY2UoKX1sZXQgcj10aGlzLmlucHV0LnN1YnN0cmluZyhlLHRoaXMuaW5kZXgpO3MmJihyPXIucmVwbGFjZSgvXy9nLFwiXCIpKTtsZXQgbz1uP05yKHIpOnBhcnNlRmxvYXQocik7cmV0dXJuIFRyKGUsdGhpcy5pbmRleCxvKX1zY2FuU3RyaW5nKCl7bGV0IGU9dGhpcy5pbmRleCxuPXRoaXMucGVlazt0aGlzLmFkdmFuY2UoKTtsZXQgcz1cIlwiLHI9dGhpcy5pbmRleCxvPXRoaXMuaW5wdXQ7Zm9yKDt0aGlzLnBlZWshPW47KWlmKHRoaXMucGVlaz09ZXIpe3MrPW8uc3Vic3RyaW5nKHIsdGhpcy5pbmRleCk7bGV0IGw7aWYodGhpcy5hZHZhbmNlKCksdGhpcy5wZWVrPT1hcil7bGV0IHU9by5zdWJzdHJpbmcodGhpcy5pbmRleCsxLHRoaXMuaW5kZXgrNSk7aWYoL15bMC05YS1mXSskL2kudGVzdCh1KSlsPXBhcnNlSW50KHUsMTYpO2Vsc2UgcmV0dXJuIHRoaXMuZXJyb3IoYEludmFsaWQgdW5pY29kZSBlc2NhcGUgW1xcXFx1JHt1fV1gLDApO2ZvcihsZXQgaD0wO2g8NTtoKyspdGhpcy5hZHZhbmNlKCl9ZWxzZSBsPUFyKHRoaXMucGVlayksdGhpcy5hZHZhbmNlKCk7cys9U3RyaW5nLmZyb21DaGFyQ29kZShsKSxyPXRoaXMuaW5kZXh9ZWxzZXtpZih0aGlzLnBlZWs9PW90KXJldHVybiB0aGlzLmVycm9yKFwiVW50ZXJtaW5hdGVkIHF1b3RlXCIsMCk7dGhpcy5hZHZhbmNlKCl9bGV0IGE9by5zdWJzdHJpbmcocix0aGlzLmluZGV4KTtyZXR1cm4gdGhpcy5hZHZhbmNlKCksQ3IoZSx0aGlzLmluZGV4LHMrYSl9c2NhblF1ZXN0aW9uKGUpe3RoaXMuYWR2YW5jZSgpO2xldCBuPVwiP1wiO3JldHVybih0aGlzLnBlZWs9PT1obnx8dGhpcy5wZWVrPT09ZWUpJiYobis9dGhpcy5wZWVrPT09ZWU/XCIuXCI6XCI/XCIsdGhpcy5hZHZhbmNlKCkpLGF0KGUsdGhpcy5pbmRleCxuKX1lcnJvcihlLG4pe2xldCBzPXRoaXMuaW5kZXgrbjtyZXR1cm4ga3Iocyx0aGlzLmluZGV4LGBMZXhlciBFcnJvcjogJHtlfSBhdCBjb2x1bW4gJHtzfSBpbiBleHByZXNzaW9uIFske3RoaXMuaW5wdXR9XWApfX07ZnVuY3Rpb24gUm4odCl7cmV0dXJuIFluPD10JiZ0PD1Rbnx8Sm48PXQmJnQ8PUtufHx0PT1NdHx8dD09am59ZnVuY3Rpb24gQm4odCl7cmV0dXJuIHByKHQpfHxqKHQpfHx0PT1NdHx8dD09am59ZnVuY3Rpb24gSXIodCl7cmV0dXJuIHQ9PW5yfHx0PT1ac31mdW5jdGlvbiBicih0KXtyZXR1cm4gdD09WG58fHQ9PUdufWZ1bmN0aW9uIEFyKHQpe3N3aXRjaCh0KXtjYXNlIHJyOnJldHVybiBIcztjYXNlIHNyOnJldHVybiBXcztjYXNlIGlyOnJldHVybiBxcztjYXNlIG9yOnJldHVybiBVbjtjYXNlIGxyOnJldHVybiBVcztkZWZhdWx0OnJldHVybiB0fX1mdW5jdGlvbiBOcih0KXtsZXQgZT1wYXJzZUludCh0KTtpZihpc05hTihlKSl0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIGludGVnZXIgbGl0ZXJhbCB3aGVuIHBhcnNpbmcgXCIrdCk7cmV0dXJuIGV9dmFyIE50PWNsYXNze3N0cmluZ3M7ZXhwcmVzc2lvbnM7b2Zmc2V0cztjb25zdHJ1Y3RvcihlLG4scyl7dGhpcy5zdHJpbmdzPWUsdGhpcy5leHByZXNzaW9ucz1uLHRoaXMub2Zmc2V0cz1zfX0sUHQ9Y2xhc3N7dGVtcGxhdGVCaW5kaW5nczt3YXJuaW5ncztlcnJvcnM7Y29uc3RydWN0b3IoZSxuLHMpe3RoaXMudGVtcGxhdGVCaW5kaW5ncz1lLHRoaXMud2FybmluZ3M9bix0aGlzLmVycm9ycz1zfX0sdWU9Y2xhc3N7X2xleGVyO2Vycm9ycz1bXTtjb25zdHJ1Y3RvcihlKXt0aGlzLl9sZXhlcj1lfXBhcnNlQWN0aW9uKGUsbixzLHI9Wil7dGhpcy5fY2hlY2tOb0ludGVycG9sYXRpb24oZSxuLHIpO2xldCBvPXRoaXMuX3N0cmlwQ29tbWVudHMoZSksYT10aGlzLl9sZXhlci50b2tlbml6ZShvKSxsPW5ldyB6KGUsbixzLGEsMSx0aGlzLmVycm9ycywwKS5wYXJzZUNoYWluKCk7cmV0dXJuIG5ldyBXKGwsZSxuLHMsdGhpcy5lcnJvcnMpfXBhcnNlQmluZGluZyhlLG4scyxyPVope2xldCBvPXRoaXMuX3BhcnNlQmluZGluZ0FzdChlLG4scyxyKTtyZXR1cm4gbmV3IFcobyxlLG4scyx0aGlzLmVycm9ycyl9Y2hlY2tTaW1wbGVFeHByZXNzaW9uKGUpe2xldCBuPW5ldyBMdDtyZXR1cm4gZS52aXNpdChuKSxuLmVycm9yc31wYXJzZVNpbXBsZUJpbmRpbmcoZSxuLHMscj1aKXtsZXQgbz10aGlzLl9wYXJzZUJpbmRpbmdBc3QoZSxuLHMsciksYT10aGlzLmNoZWNrU2ltcGxlRXhwcmVzc2lvbihvKTtyZXR1cm4gYS5sZW5ndGg+MCYmdGhpcy5fcmVwb3J0RXJyb3IoYEhvc3QgYmluZGluZyBleHByZXNzaW9uIGNhbm5vdCBjb250YWluICR7YS5qb2luKFwiIFwiKX1gLGUsbiksbmV3IFcobyxlLG4scyx0aGlzLmVycm9ycyl9X3JlcG9ydEVycm9yKGUsbixzLHIpe3RoaXMuZXJyb3JzLnB1c2gobmV3IHllKGUsbixzLHIpKX1fcGFyc2VCaW5kaW5nQXN0KGUsbixzLHIpe3RoaXMuX2NoZWNrTm9JbnRlcnBvbGF0aW9uKGUsbixyKTtsZXQgbz10aGlzLl9zdHJpcENvbW1lbnRzKGUpLGE9dGhpcy5fbGV4ZXIudG9rZW5pemUobyk7cmV0dXJuIG5ldyB6KGUsbixzLGEsMCx0aGlzLmVycm9ycywwKS5wYXJzZUNoYWluKCl9cGFyc2VUZW1wbGF0ZUJpbmRpbmdzKGUsbixzLHIsbyl7bGV0IGE9dGhpcy5fbGV4ZXIudG9rZW5pemUobik7cmV0dXJuIG5ldyB6KG4scyxvLGEsMCx0aGlzLmVycm9ycywwKS5wYXJzZVRlbXBsYXRlQmluZGluZ3Moe3NvdXJjZTplLHNwYW46bmV3IE8ocixyK2UubGVuZ3RoKX0pfXBhcnNlSW50ZXJwb2xhdGlvbihlLG4scyxyLG89Wil7bGV0e3N0cmluZ3M6YSxleHByZXNzaW9uczpsLG9mZnNldHM6dX09dGhpcy5zcGxpdEludGVycG9sYXRpb24oZSxuLHIsbyk7aWYobC5sZW5ndGg9PT0wKXJldHVybiBudWxsO2xldCBoPVtdO2ZvcihsZXQgZz0wO2c8bC5sZW5ndGg7KytnKXtsZXQgUz1sW2ddLnRleHQsdz10aGlzLl9zdHJpcENvbW1lbnRzKFMpLHk9dGhpcy5fbGV4ZXIudG9rZW5pemUodyksVD1uZXcgeihlLG4scyx5LDAsdGhpcy5lcnJvcnMsdVtnXSkucGFyc2VDaGFpbigpO2gucHVzaChUKX1yZXR1cm4gdGhpcy5jcmVhdGVJbnRlcnBvbGF0aW9uQXN0KGEubWFwKGc9PmcudGV4dCksaCxlLG4scyl9cGFyc2VJbnRlcnBvbGF0aW9uRXhwcmVzc2lvbihlLG4scyl7bGV0IHI9dGhpcy5fc3RyaXBDb21tZW50cyhlKSxvPXRoaXMuX2xleGVyLnRva2VuaXplKHIpLGE9bmV3IHooZSxuLHMsbywwLHRoaXMuZXJyb3JzLDApLnBhcnNlQ2hhaW4oKSxsPVtcIlwiLFwiXCJdO3JldHVybiB0aGlzLmNyZWF0ZUludGVycG9sYXRpb25Bc3QobCxbYV0sZSxuLHMpfWNyZWF0ZUludGVycG9sYXRpb25Bc3QoZSxuLHMscixvKXtsZXQgYT1uZXcgRygwLHMubGVuZ3RoKSxsPW5ldyBQZShhLGEudG9BYnNvbHV0ZShvKSxlLG4pO3JldHVybiBuZXcgVyhsLHMscixvLHRoaXMuZXJyb3JzKX1zcGxpdEludGVycG9sYXRpb24oZSxuLHMscj1aKXtsZXQgbz1bXSxhPVtdLGw9W10sdT1zP1ByKHMpOm51bGwsaD0wLGc9ITEsUz0hMSx7c3RhcnQ6dyxlbmQ6eX09cjtmb3IoO2g8ZS5sZW5ndGg7KWlmKGcpe2xldCBUPWgsRj1UK3cubGVuZ3RoLGZlPXRoaXMuX2dldEludGVycG9sYXRpb25FbmRJbmRleChlLHksRik7aWYoZmU9PT0tMSl7Zz0hMSxTPSEwO2JyZWFrfWxldCBkZT1mZSt5Lmxlbmd0aCxxPWUuc3Vic3RyaW5nKEYsZmUpO3EudHJpbSgpLmxlbmd0aD09PTAmJnRoaXMuX3JlcG9ydEVycm9yKFwiQmxhbmsgZXhwcmVzc2lvbnMgYXJlIG5vdCBhbGxvd2VkIGluIGludGVycG9sYXRlZCBzdHJpbmdzXCIsZSxgYXQgY29sdW1uICR7aH0gaW5gLG4pLGEucHVzaCh7dGV4dDpxLHN0YXJ0OlQsZW5kOmRlfSk7bGV0IE1zPSgodT09bnVsbD92b2lkIDA6dS5nZXQoVCkpPz9UKSt3Lmxlbmd0aDtsLnB1c2goTXMpLGg9ZGUsZz0hMX1lbHNle2xldCBUPWg7aD1lLmluZGV4T2YodyxoKSxoPT09LTEmJihoPWUubGVuZ3RoKTtsZXQgRj1lLnN1YnN0cmluZyhULGgpO28ucHVzaCh7dGV4dDpGLHN0YXJ0OlQsZW5kOmh9KSxnPSEwfWlmKCFnKWlmKFMpe2xldCBUPW9bby5sZW5ndGgtMV07VC50ZXh0Kz1lLnN1YnN0cmluZyhoKSxULmVuZD1lLmxlbmd0aH1lbHNlIG8ucHVzaCh7dGV4dDplLnN1YnN0cmluZyhoKSxzdGFydDpoLGVuZDplLmxlbmd0aH0pO3JldHVybiBuZXcgTnQobyxhLGwpfXdyYXBMaXRlcmFsUHJpbWl0aXZlKGUsbixzKXtsZXQgcj1uZXcgRygwLGU9PW51bGw/MDplLmxlbmd0aCk7cmV0dXJuIG5ldyBXKG5ldyBBKHIsci50b0Fic29sdXRlKHMpLGUpLGUsbixzLHRoaXMuZXJyb3JzKX1fc3RyaXBDb21tZW50cyhlKXtsZXQgbj10aGlzLl9jb21tZW50U3RhcnQoZSk7cmV0dXJuIG4hPW51bGw/ZS5zdWJzdHJpbmcoMCxuKTplfV9jb21tZW50U3RhcnQoZSl7bGV0IG49bnVsbDtmb3IobGV0IHM9MDtzPGUubGVuZ3RoLTE7cysrKXtsZXQgcj1lLmNoYXJDb2RlQXQocyksbz1lLmNoYXJDb2RlQXQocysxKTtpZihyPT09Q3QmJm89PUN0JiZuPT1udWxsKXJldHVybiBzO249PT1yP249bnVsbDpuPT1udWxsJiZkbihyKSYmKG49cil9cmV0dXJuIG51bGx9X2NoZWNrTm9JbnRlcnBvbGF0aW9uKGUsbix7c3RhcnQ6cyxlbmQ6cn0pe2xldCBvPS0xLGE9LTE7Zm9yKGxldCBsIG9mIHRoaXMuX2ZvckVhY2hVbnF1b3RlZENoYXIoZSwwKSlpZihvPT09LTEpZS5zdGFydHNXaXRoKHMpJiYobz1sKTtlbHNlIGlmKGE9dGhpcy5fZ2V0SW50ZXJwb2xhdGlvbkVuZEluZGV4KGUscixsKSxhPi0xKWJyZWFrO28+LTEmJmE+LTEmJnRoaXMuX3JlcG9ydEVycm9yKGBHb3QgaW50ZXJwb2xhdGlvbiAoJHtzfSR7cn0pIHdoZXJlIGV4cHJlc3Npb24gd2FzIGV4cGVjdGVkYCxlLGBhdCBjb2x1bW4gJHtvfSBpbmAsbil9X2dldEludGVycG9sYXRpb25FbmRJbmRleChlLG4scyl7Zm9yKGxldCByIG9mIHRoaXMuX2ZvckVhY2hVbnF1b3RlZENoYXIoZSxzKSl7aWYoZS5zdGFydHNXaXRoKG4scikpcmV0dXJuIHI7aWYoZS5zdGFydHNXaXRoKFwiLy9cIixyKSlyZXR1cm4gZS5pbmRleE9mKG4scil9cmV0dXJuLTF9Kl9mb3JFYWNoVW5xdW90ZWRDaGFyKGUsbil7bGV0IHM9bnVsbCxyPTA7Zm9yKGxldCBvPW47bzxlLmxlbmd0aDtvKyspe2xldCBhPWVbb107ZG4oZS5jaGFyQ29kZUF0KG8pKSYmKHM9PT1udWxsfHxzPT09YSkmJnIlMj09PTA/cz1zPT09bnVsbD9hOm51bGw6cz09PW51bGwmJih5aWVsZCBvKSxyPWE9PT1cIlxcXFxcIj9yKzE6MH19fSxuZTsoZnVuY3Rpb24odCl7dFt0Lk5vbmU9MF09XCJOb25lXCIsdFt0LldyaXRhYmxlPTFdPVwiV3JpdGFibGVcIn0pKG5lfHwobmU9e30pKTt2YXIgej1jbGFzc3tpbnB1dDtsb2NhdGlvbjthYnNvbHV0ZU9mZnNldDt0b2tlbnM7cGFyc2VGbGFncztlcnJvcnM7b2Zmc2V0O3JwYXJlbnNFeHBlY3RlZD0wO3JicmFja2V0c0V4cGVjdGVkPTA7cmJyYWNlc0V4cGVjdGVkPTA7Y29udGV4dD1uZS5Ob25lO3NvdXJjZVNwYW5DYWNoZT1uZXcgTWFwO2luZGV4PTA7Y29uc3RydWN0b3IoZSxuLHMscixvLGEsbCl7dGhpcy5pbnB1dD1lLHRoaXMubG9jYXRpb249bix0aGlzLmFic29sdXRlT2Zmc2V0PXMsdGhpcy50b2tlbnM9cix0aGlzLnBhcnNlRmxhZ3M9byx0aGlzLmVycm9ycz1hLHRoaXMub2Zmc2V0PWx9cGVlayhlKXtsZXQgbj10aGlzLmluZGV4K2U7cmV0dXJuIG48dGhpcy50b2tlbnMubGVuZ3RoP3RoaXMudG9rZW5zW25dOmx0fWdldCBuZXh0KCl7cmV0dXJuIHRoaXMucGVlaygwKX1nZXQgYXRFT0YoKXtyZXR1cm4gdGhpcy5pbmRleD49dGhpcy50b2tlbnMubGVuZ3RofWdldCBpbnB1dEluZGV4KCl7cmV0dXJuIHRoaXMuYXRFT0Y/dGhpcy5jdXJyZW50RW5kSW5kZXg6dGhpcy5uZXh0LmluZGV4K3RoaXMub2Zmc2V0fWdldCBjdXJyZW50RW5kSW5kZXgoKXtyZXR1cm4gdGhpcy5pbmRleD4wP3RoaXMucGVlaygtMSkuZW5kK3RoaXMub2Zmc2V0OnRoaXMudG9rZW5zLmxlbmd0aD09PTA/dGhpcy5pbnB1dC5sZW5ndGgrdGhpcy5vZmZzZXQ6dGhpcy5uZXh0LmluZGV4K3RoaXMub2Zmc2V0fWdldCBjdXJyZW50QWJzb2x1dGVPZmZzZXQoKXtyZXR1cm4gdGhpcy5hYnNvbHV0ZU9mZnNldCt0aGlzLmlucHV0SW5kZXh9c3BhbihlLG4pe2xldCBzPXRoaXMuY3VycmVudEVuZEluZGV4O2lmKG4hPT12b2lkIDAmJm4+dGhpcy5jdXJyZW50RW5kSW5kZXgmJihzPW4pLGU+cyl7bGV0IHI9cztzPWUsZT1yfXJldHVybiBuZXcgRyhlLHMpfXNvdXJjZVNwYW4oZSxuKXtsZXQgcz1gJHtlfUAke3RoaXMuaW5wdXRJbmRleH06JHtufWA7cmV0dXJuIHRoaXMuc291cmNlU3BhbkNhY2hlLmhhcyhzKXx8dGhpcy5zb3VyY2VTcGFuQ2FjaGUuc2V0KHMsdGhpcy5zcGFuKGUsbikudG9BYnNvbHV0ZSh0aGlzLmFic29sdXRlT2Zmc2V0KSksdGhpcy5zb3VyY2VTcGFuQ2FjaGUuZ2V0KHMpfWFkdmFuY2UoKXt0aGlzLmluZGV4Kyt9d2l0aENvbnRleHQoZSxuKXt0aGlzLmNvbnRleHR8PWU7bGV0IHM9bigpO3JldHVybiB0aGlzLmNvbnRleHRePWUsc31jb25zdW1lT3B0aW9uYWxDaGFyYWN0ZXIoZSl7cmV0dXJuIHRoaXMubmV4dC5pc0NoYXJhY3RlcihlKT8odGhpcy5hZHZhbmNlKCksITApOiExfXBlZWtLZXl3b3JkTGV0KCl7cmV0dXJuIHRoaXMubmV4dC5pc0tleXdvcmRMZXQoKX1wZWVrS2V5d29yZEFzKCl7cmV0dXJuIHRoaXMubmV4dC5pc0tleXdvcmRBcygpfWV4cGVjdENoYXJhY3RlcihlKXt0aGlzLmNvbnN1bWVPcHRpb25hbENoYXJhY3RlcihlKXx8dGhpcy5lcnJvcihgTWlzc2luZyBleHBlY3RlZCAke1N0cmluZy5mcm9tQ2hhckNvZGUoZSl9YCl9Y29uc3VtZU9wdGlvbmFsT3BlcmF0b3IoZSl7cmV0dXJuIHRoaXMubmV4dC5pc09wZXJhdG9yKGUpPyh0aGlzLmFkdmFuY2UoKSwhMCk6ITF9ZXhwZWN0T3BlcmF0b3IoZSl7dGhpcy5jb25zdW1lT3B0aW9uYWxPcGVyYXRvcihlKXx8dGhpcy5lcnJvcihgTWlzc2luZyBleHBlY3RlZCBvcGVyYXRvciAke2V9YCl9cHJldHR5UHJpbnRUb2tlbihlKXtyZXR1cm4gZT09PWx0P1wiZW5kIG9mIGlucHV0XCI6YHRva2VuICR7ZX1gfWV4cGVjdElkZW50aWZpZXJPcktleXdvcmQoKXtsZXQgZT10aGlzLm5leHQ7cmV0dXJuIWUuaXNJZGVudGlmaWVyKCkmJiFlLmlzS2V5d29yZCgpPyhlLmlzUHJpdmF0ZUlkZW50aWZpZXIoKT90aGlzLl9yZXBvcnRFcnJvckZvclByaXZhdGVJZGVudGlmaWVyKGUsXCJleHBlY3RlZCBpZGVudGlmaWVyIG9yIGtleXdvcmRcIik6dGhpcy5lcnJvcihgVW5leHBlY3RlZCAke3RoaXMucHJldHR5UHJpbnRUb2tlbihlKX0sIGV4cGVjdGVkIGlkZW50aWZpZXIgb3Iga2V5d29yZGApLG51bGwpOih0aGlzLmFkdmFuY2UoKSxlLnRvU3RyaW5nKCkpfWV4cGVjdElkZW50aWZpZXJPcktleXdvcmRPclN0cmluZygpe2xldCBlPXRoaXMubmV4dDtyZXR1cm4hZS5pc0lkZW50aWZpZXIoKSYmIWUuaXNLZXl3b3JkKCkmJiFlLmlzU3RyaW5nKCk/KGUuaXNQcml2YXRlSWRlbnRpZmllcigpP3RoaXMuX3JlcG9ydEVycm9yRm9yUHJpdmF0ZUlkZW50aWZpZXIoZSxcImV4cGVjdGVkIGlkZW50aWZpZXIsIGtleXdvcmQgb3Igc3RyaW5nXCIpOnRoaXMuZXJyb3IoYFVuZXhwZWN0ZWQgJHt0aGlzLnByZXR0eVByaW50VG9rZW4oZSl9LCBleHBlY3RlZCBpZGVudGlmaWVyLCBrZXl3b3JkLCBvciBzdHJpbmdgKSxcIlwiKToodGhpcy5hZHZhbmNlKCksZS50b1N0cmluZygpKX1wYXJzZUNoYWluKCl7bGV0IGU9W10sbj10aGlzLmlucHV0SW5kZXg7Zm9yKDt0aGlzLmluZGV4PHRoaXMudG9rZW5zLmxlbmd0aDspe2xldCBzPXRoaXMucGFyc2VQaXBlKCk7aWYoZS5wdXNoKHMpLHRoaXMuY29uc3VtZU9wdGlvbmFsQ2hhcmFjdGVyKHZlKSlmb3IodGhpcy5wYXJzZUZsYWdzJjF8fHRoaXMuZXJyb3IoXCJCaW5kaW5nIGV4cHJlc3Npb24gY2Fubm90IGNvbnRhaW4gY2hhaW5lZCBleHByZXNzaW9uXCIpO3RoaXMuY29uc3VtZU9wdGlvbmFsQ2hhcmFjdGVyKHZlKTspO2Vsc2UgaWYodGhpcy5pbmRleDx0aGlzLnRva2Vucy5sZW5ndGgpe2xldCByPXRoaXMuaW5kZXg7aWYodGhpcy5lcnJvcihgVW5leHBlY3RlZCB0b2tlbiAnJHt0aGlzLm5leHR9J2ApLHRoaXMuaW5kZXg9PT1yKWJyZWFrfX1pZihlLmxlbmd0aD09PTApe2xldCBzPXRoaXMub2Zmc2V0LHI9dGhpcy5vZmZzZXQrdGhpcy5pbnB1dC5sZW5ndGg7cmV0dXJuIG5ldyBiKHRoaXMuc3BhbihzLHIpLHRoaXMuc291cmNlU3BhbihzLHIpKX1yZXR1cm4gZS5sZW5ndGg9PTE/ZVswXTpuZXcgX2UodGhpcy5zcGFuKG4pLHRoaXMuc291cmNlU3BhbihuKSxlKX1wYXJzZVBpcGUoKXtsZXQgZT10aGlzLmlucHV0SW5kZXgsbj10aGlzLnBhcnNlRXhwcmVzc2lvbigpO2lmKHRoaXMuY29uc3VtZU9wdGlvbmFsT3BlcmF0b3IoXCJ8XCIpKXt0aGlzLnBhcnNlRmxhZ3MmMSYmdGhpcy5lcnJvcihcIkNhbm5vdCBoYXZlIGEgcGlwZSBpbiBhbiBhY3Rpb24gZXhwcmVzc2lvblwiKTtkb3tsZXQgcz10aGlzLmlucHV0SW5kZXgscj10aGlzLmV4cGVjdElkZW50aWZpZXJPcktleXdvcmQoKSxvLGE7ciE9PW51bGw/bz10aGlzLnNvdXJjZVNwYW4ocyk6KHI9XCJcIixhPXRoaXMubmV4dC5pbmRleCE9PS0xP3RoaXMubmV4dC5pbmRleDp0aGlzLmlucHV0Lmxlbmd0aCt0aGlzLm9mZnNldCxvPW5ldyBHKGEsYSkudG9BYnNvbHV0ZSh0aGlzLmFic29sdXRlT2Zmc2V0KSk7bGV0IGw9W107Zm9yKDt0aGlzLmNvbnN1bWVPcHRpb25hbENoYXJhY3Rlcih0ZSk7KWwucHVzaCh0aGlzLnBhcnNlRXhwcmVzc2lvbigpKTtuPW5ldyBiZSh0aGlzLnNwYW4oZSksdGhpcy5zb3VyY2VTcGFuKGUsYSksbixyLGwsbyl9d2hpbGUodGhpcy5jb25zdW1lT3B0aW9uYWxPcGVyYXRvcihcInxcIikpfXJldHVybiBufXBhcnNlRXhwcmVzc2lvbigpe3JldHVybiB0aGlzLnBhcnNlQ29uZGl0aW9uYWwoKX1wYXJzZUNvbmRpdGlvbmFsKCl7bGV0IGU9dGhpcy5pbnB1dEluZGV4LG49dGhpcy5wYXJzZUxvZ2ljYWxPcigpO2lmKHRoaXMuY29uc3VtZU9wdGlvbmFsT3BlcmF0b3IoXCI/XCIpKXtsZXQgcz10aGlzLnBhcnNlUGlwZSgpLHI7aWYodGhpcy5jb25zdW1lT3B0aW9uYWxDaGFyYWN0ZXIodGUpKXI9dGhpcy5wYXJzZVBpcGUoKTtlbHNle2xldCBvPXRoaXMuaW5wdXRJbmRleCxhPXRoaXMuaW5wdXQuc3Vic3RyaW5nKGUsbyk7dGhpcy5lcnJvcihgQ29uZGl0aW9uYWwgZXhwcmVzc2lvbiAke2F9IHJlcXVpcmVzIGFsbCAzIGV4cHJlc3Npb25zYCkscj1uZXcgYih0aGlzLnNwYW4oZSksdGhpcy5zb3VyY2VTcGFuKGUpKX1yZXR1cm4gbmV3IENlKHRoaXMuc3BhbihlKSx0aGlzLnNvdXJjZVNwYW4oZSksbixzLHIpfWVsc2UgcmV0dXJuIG59cGFyc2VMb2dpY2FsT3IoKXtsZXQgZT10aGlzLmlucHV0SW5kZXgsbj10aGlzLnBhcnNlTG9naWNhbEFuZCgpO2Zvcig7dGhpcy5jb25zdW1lT3B0aW9uYWxPcGVyYXRvcihcInx8XCIpOyl7bGV0IHM9dGhpcy5wYXJzZUxvZ2ljYWxBbmQoKTtuPW5ldyBOKHRoaXMuc3BhbihlKSx0aGlzLnNvdXJjZVNwYW4oZSksXCJ8fFwiLG4scyl9cmV0dXJuIG59cGFyc2VMb2dpY2FsQW5kKCl7bGV0IGU9dGhpcy5pbnB1dEluZGV4LG49dGhpcy5wYXJzZU51bGxpc2hDb2FsZXNjaW5nKCk7Zm9yKDt0aGlzLmNvbnN1bWVPcHRpb25hbE9wZXJhdG9yKFwiJiZcIik7KXtsZXQgcz10aGlzLnBhcnNlTnVsbGlzaENvYWxlc2NpbmcoKTtuPW5ldyBOKHRoaXMuc3BhbihlKSx0aGlzLnNvdXJjZVNwYW4oZSksXCImJlwiLG4scyl9cmV0dXJuIG59cGFyc2VOdWxsaXNoQ29hbGVzY2luZygpe2xldCBlPXRoaXMuaW5wdXRJbmRleCxuPXRoaXMucGFyc2VFcXVhbGl0eSgpO2Zvcig7dGhpcy5jb25zdW1lT3B0aW9uYWxPcGVyYXRvcihcIj8/XCIpOyl7bGV0IHM9dGhpcy5wYXJzZUVxdWFsaXR5KCk7bj1uZXcgTih0aGlzLnNwYW4oZSksdGhpcy5zb3VyY2VTcGFuKGUpLFwiPz9cIixuLHMpfXJldHVybiBufXBhcnNlRXF1YWxpdHkoKXtsZXQgZT10aGlzLmlucHV0SW5kZXgsbj10aGlzLnBhcnNlUmVsYXRpb25hbCgpO2Zvcig7dGhpcy5uZXh0LnR5cGU9PWQuT3BlcmF0b3I7KXtsZXQgcz10aGlzLm5leHQuc3RyVmFsdWU7c3dpdGNoKHMpe2Nhc2VcIj09XCI6Y2FzZVwiPT09XCI6Y2FzZVwiIT1cIjpjYXNlXCIhPT1cIjp0aGlzLmFkdmFuY2UoKTtsZXQgcj10aGlzLnBhcnNlUmVsYXRpb25hbCgpO249bmV3IE4odGhpcy5zcGFuKGUpLHRoaXMuc291cmNlU3BhbihlKSxzLG4scik7Y29udGludWV9YnJlYWt9cmV0dXJuIG59cGFyc2VSZWxhdGlvbmFsKCl7bGV0IGU9dGhpcy5pbnB1dEluZGV4LG49dGhpcy5wYXJzZUFkZGl0aXZlKCk7Zm9yKDt0aGlzLm5leHQudHlwZT09ZC5PcGVyYXRvcjspe2xldCBzPXRoaXMubmV4dC5zdHJWYWx1ZTtzd2l0Y2gocyl7Y2FzZVwiPFwiOmNhc2VcIj5cIjpjYXNlXCI8PVwiOmNhc2VcIj49XCI6dGhpcy5hZHZhbmNlKCk7bGV0IHI9dGhpcy5wYXJzZUFkZGl0aXZlKCk7bj1uZXcgTih0aGlzLnNwYW4oZSksdGhpcy5zb3VyY2VTcGFuKGUpLHMsbixyKTtjb250aW51ZX1icmVha31yZXR1cm4gbn1wYXJzZUFkZGl0aXZlKCl7bGV0IGU9dGhpcy5pbnB1dEluZGV4LG49dGhpcy5wYXJzZU11bHRpcGxpY2F0aXZlKCk7Zm9yKDt0aGlzLm5leHQudHlwZT09ZC5PcGVyYXRvcjspe2xldCBzPXRoaXMubmV4dC5zdHJWYWx1ZTtzd2l0Y2gocyl7Y2FzZVwiK1wiOmNhc2VcIi1cIjp0aGlzLmFkdmFuY2UoKTtsZXQgcj10aGlzLnBhcnNlTXVsdGlwbGljYXRpdmUoKTtuPW5ldyBOKHRoaXMuc3BhbihlKSx0aGlzLnNvdXJjZVNwYW4oZSkscyxuLHIpO2NvbnRpbnVlfWJyZWFrfXJldHVybiBufXBhcnNlTXVsdGlwbGljYXRpdmUoKXtsZXQgZT10aGlzLmlucHV0SW5kZXgsbj10aGlzLnBhcnNlUHJlZml4KCk7Zm9yKDt0aGlzLm5leHQudHlwZT09ZC5PcGVyYXRvcjspe2xldCBzPXRoaXMubmV4dC5zdHJWYWx1ZTtzd2l0Y2gocyl7Y2FzZVwiKlwiOmNhc2VcIiVcIjpjYXNlXCIvXCI6dGhpcy5hZHZhbmNlKCk7bGV0IHI9dGhpcy5wYXJzZVByZWZpeCgpO249bmV3IE4odGhpcy5zcGFuKGUpLHRoaXMuc291cmNlU3BhbihlKSxzLG4scik7Y29udGludWV9YnJlYWt9cmV0dXJuIG59cGFyc2VQcmVmaXgoKXtpZih0aGlzLm5leHQudHlwZT09ZC5PcGVyYXRvcil7bGV0IGU9dGhpcy5pbnB1dEluZGV4LG49dGhpcy5uZXh0LnN0clZhbHVlLHM7c3dpdGNoKG4pe2Nhc2VcIitcIjpyZXR1cm4gdGhpcy5hZHZhbmNlKCkscz10aGlzLnBhcnNlUHJlZml4KCksYWUuY3JlYXRlUGx1cyh0aGlzLnNwYW4oZSksdGhpcy5zb3VyY2VTcGFuKGUpLHMpO2Nhc2VcIi1cIjpyZXR1cm4gdGhpcy5hZHZhbmNlKCkscz10aGlzLnBhcnNlUHJlZml4KCksYWUuY3JlYXRlTWludXModGhpcy5zcGFuKGUpLHRoaXMuc291cmNlU3BhbihlKSxzKTtjYXNlXCIhXCI6cmV0dXJuIHRoaXMuYWR2YW5jZSgpLHM9dGhpcy5wYXJzZVByZWZpeCgpLG5ldyBMZSh0aGlzLnNwYW4oZSksdGhpcy5zb3VyY2VTcGFuKGUpLHMpfX1lbHNlIGlmKHRoaXMubmV4dC5pc0tleXdvcmRUeXBlb2YoKSl7dGhpcy5hZHZhbmNlKCk7bGV0IGU9dGhpcy5pbnB1dEluZGV4LG49dGhpcy5wYXJzZVByZWZpeCgpO3JldHVybiBuZXcgTWUodGhpcy5zcGFuKGUpLHRoaXMuc291cmNlU3BhbihlKSxuKX1yZXR1cm4gdGhpcy5wYXJzZUNhbGxDaGFpbigpfXBhcnNlQ2FsbENoYWluKCl7bGV0IGU9dGhpcy5pbnB1dEluZGV4LG49dGhpcy5wYXJzZVByaW1hcnkoKTtmb3IoOzspaWYodGhpcy5jb25zdW1lT3B0aW9uYWxDaGFyYWN0ZXIoZWUpKW49dGhpcy5wYXJzZUFjY2Vzc01lbWJlcihuLGUsITEpO2Vsc2UgaWYodGhpcy5jb25zdW1lT3B0aW9uYWxPcGVyYXRvcihcIj8uXCIpKXRoaXMuY29uc3VtZU9wdGlvbmFsQ2hhcmFjdGVyKGplKT9uPXRoaXMucGFyc2VDYWxsKG4sZSwhMCk6bj10aGlzLmNvbnN1bWVPcHRpb25hbENoYXJhY3Rlcih6ZSk/dGhpcy5wYXJzZUtleWVkUmVhZE9yV3JpdGUobixlLCEwKTp0aGlzLnBhcnNlQWNjZXNzTWVtYmVyKG4sZSwhMCk7ZWxzZSBpZih0aGlzLmNvbnN1bWVPcHRpb25hbENoYXJhY3Rlcih6ZSkpbj10aGlzLnBhcnNlS2V5ZWRSZWFkT3JXcml0ZShuLGUsITEpO2Vsc2UgaWYodGhpcy5jb25zdW1lT3B0aW9uYWxDaGFyYWN0ZXIoamUpKW49dGhpcy5wYXJzZUNhbGwobixlLCExKTtlbHNlIGlmKHRoaXMuY29uc3VtZU9wdGlvbmFsT3BlcmF0b3IoXCIhXCIpKW49bmV3ICRlKHRoaXMuc3BhbihlKSx0aGlzLnNvdXJjZVNwYW4oZSksbik7ZWxzZSByZXR1cm4gbn1wYXJzZVByaW1hcnkoKXtsZXQgZT10aGlzLmlucHV0SW5kZXg7aWYodGhpcy5jb25zdW1lT3B0aW9uYWxDaGFyYWN0ZXIoamUpKXt0aGlzLnJwYXJlbnNFeHBlY3RlZCsrO2xldCBuPXRoaXMucGFyc2VQaXBlKCk7cmV0dXJuIHRoaXMucnBhcmVuc0V4cGVjdGVkLS0sdGhpcy5leHBlY3RDaGFyYWN0ZXIobWUpLG59ZWxzZXtpZih0aGlzLm5leHQuaXNLZXl3b3JkTnVsbCgpKXJldHVybiB0aGlzLmFkdmFuY2UoKSxuZXcgQSh0aGlzLnNwYW4oZSksdGhpcy5zb3VyY2VTcGFuKGUpLG51bGwpO2lmKHRoaXMubmV4dC5pc0tleXdvcmRVbmRlZmluZWQoKSlyZXR1cm4gdGhpcy5hZHZhbmNlKCksbmV3IEEodGhpcy5zcGFuKGUpLHRoaXMuc291cmNlU3BhbihlKSx2b2lkIDApO2lmKHRoaXMubmV4dC5pc0tleXdvcmRUcnVlKCkpcmV0dXJuIHRoaXMuYWR2YW5jZSgpLG5ldyBBKHRoaXMuc3BhbihlKSx0aGlzLnNvdXJjZVNwYW4oZSksITApO2lmKHRoaXMubmV4dC5pc0tleXdvcmRGYWxzZSgpKXJldHVybiB0aGlzLmFkdmFuY2UoKSxuZXcgQSh0aGlzLnNwYW4oZSksdGhpcy5zb3VyY2VTcGFuKGUpLCExKTtpZih0aGlzLm5leHQuaXNLZXl3b3JkVGhpcygpKXJldHVybiB0aGlzLmFkdmFuY2UoKSxuZXcgRXQodGhpcy5zcGFuKGUpLHRoaXMuc291cmNlU3BhbihlKSk7aWYodGhpcy5jb25zdW1lT3B0aW9uYWxDaGFyYWN0ZXIoemUpKXt0aGlzLnJicmFja2V0c0V4cGVjdGVkKys7bGV0IG49dGhpcy5wYXJzZUV4cHJlc3Npb25MaXN0KHdlKTtyZXR1cm4gdGhpcy5yYnJhY2tldHNFeHBlY3RlZC0tLHRoaXMuZXhwZWN0Q2hhcmFjdGVyKHdlKSxuZXcgQWUodGhpcy5zcGFuKGUpLHRoaXMuc291cmNlU3BhbihlKSxuKX1lbHNle2lmKHRoaXMubmV4dC5pc0NoYXJhY3RlcihUdCkpcmV0dXJuIHRoaXMucGFyc2VMaXRlcmFsTWFwKCk7aWYodGhpcy5uZXh0LmlzSWRlbnRpZmllcigpKXJldHVybiB0aGlzLnBhcnNlQWNjZXNzTWVtYmVyKG5ldyBYKHRoaXMuc3BhbihlKSx0aGlzLnNvdXJjZVNwYW4oZSkpLGUsITEpO2lmKHRoaXMubmV4dC5pc051bWJlcigpKXtsZXQgbj10aGlzLm5leHQudG9OdW1iZXIoKTtyZXR1cm4gdGhpcy5hZHZhbmNlKCksbmV3IEEodGhpcy5zcGFuKGUpLHRoaXMuc291cmNlU3BhbihlKSxuKX1lbHNlIGlmKHRoaXMubmV4dC5pc1N0cmluZygpKXtsZXQgbj10aGlzLm5leHQudG9TdHJpbmcoKTtyZXR1cm4gdGhpcy5hZHZhbmNlKCksbmV3IEEodGhpcy5zcGFuKGUpLHRoaXMuc291cmNlU3BhbihlKSxuKX1lbHNlIHJldHVybiB0aGlzLm5leHQuaXNQcml2YXRlSWRlbnRpZmllcigpPyh0aGlzLl9yZXBvcnRFcnJvckZvclByaXZhdGVJZGVudGlmaWVyKHRoaXMubmV4dCxudWxsKSxuZXcgYih0aGlzLnNwYW4oZSksdGhpcy5zb3VyY2VTcGFuKGUpKSk6dGhpcy5pbmRleD49dGhpcy50b2tlbnMubGVuZ3RoPyh0aGlzLmVycm9yKGBVbmV4cGVjdGVkIGVuZCBvZiBleHByZXNzaW9uOiAke3RoaXMuaW5wdXR9YCksbmV3IGIodGhpcy5zcGFuKGUpLHRoaXMuc291cmNlU3BhbihlKSkpOih0aGlzLmVycm9yKGBVbmV4cGVjdGVkIHRva2VuICR7dGhpcy5uZXh0fWApLG5ldyBiKHRoaXMuc3BhbihlKSx0aGlzLnNvdXJjZVNwYW4oZSkpKX19fXBhcnNlRXhwcmVzc2lvbkxpc3QoZSl7bGV0IG49W107ZG8gaWYoIXRoaXMubmV4dC5pc0NoYXJhY3RlcihlKSluLnB1c2godGhpcy5wYXJzZVBpcGUoKSk7ZWxzZSBicmVhazt3aGlsZSh0aGlzLmNvbnN1bWVPcHRpb25hbENoYXJhY3RlcihnZSkpO3JldHVybiBufXBhcnNlTGl0ZXJhbE1hcCgpe2xldCBlPVtdLG49W10scz10aGlzLmlucHV0SW5kZXg7aWYodGhpcy5leHBlY3RDaGFyYWN0ZXIoVHQpLCF0aGlzLmNvbnN1bWVPcHRpb25hbENoYXJhY3Rlcih4ZSkpe3RoaXMucmJyYWNlc0V4cGVjdGVkKys7ZG97bGV0IHI9dGhpcy5pbnB1dEluZGV4LG89dGhpcy5uZXh0LmlzU3RyaW5nKCksYT10aGlzLmV4cGVjdElkZW50aWZpZXJPcktleXdvcmRPclN0cmluZygpLGw9e2tleTphLHF1b3RlZDpvfTtpZihlLnB1c2gobCksbyl0aGlzLmV4cGVjdENoYXJhY3Rlcih0ZSksbi5wdXNoKHRoaXMucGFyc2VQaXBlKCkpO2Vsc2UgaWYodGhpcy5jb25zdW1lT3B0aW9uYWxDaGFyYWN0ZXIodGUpKW4ucHVzaCh0aGlzLnBhcnNlUGlwZSgpKTtlbHNle2wuaXNTaG9ydGhhbmRJbml0aWFsaXplZD0hMDtsZXQgdT10aGlzLnNwYW4ociksaD10aGlzLnNvdXJjZVNwYW4ocik7bi5wdXNoKG5ldyByZSh1LGgsaCxuZXcgWCh1LGgpLGEpKX19d2hpbGUodGhpcy5jb25zdW1lT3B0aW9uYWxDaGFyYWN0ZXIoZ2UpJiYhdGhpcy5uZXh0LmlzQ2hhcmFjdGVyKHhlKSk7dGhpcy5yYnJhY2VzRXhwZWN0ZWQtLSx0aGlzLmV4cGVjdENoYXJhY3Rlcih4ZSl9cmV0dXJuIG5ldyBOZSh0aGlzLnNwYW4ocyksdGhpcy5zb3VyY2VTcGFuKHMpLGUsbil9cGFyc2VBY2Nlc3NNZW1iZXIoZSxuLHMpe2xldCByPXRoaXMuaW5wdXRJbmRleCxvPXRoaXMud2l0aENvbnRleHQobmUuV3JpdGFibGUsKCk9PntsZXQgdT10aGlzLmV4cGVjdElkZW50aWZpZXJPcktleXdvcmQoKT8/XCJcIjtyZXR1cm4gdS5sZW5ndGg9PT0wJiZ0aGlzLmVycm9yKFwiRXhwZWN0ZWQgaWRlbnRpZmllciBmb3IgcHJvcGVydHkgYWNjZXNzXCIsZS5zcGFuLmVuZCksdX0pLGE9dGhpcy5zb3VyY2VTcGFuKHIpLGw7aWYocyl0aGlzLmNvbnN1bWVPcHRpb25hbE9wZXJhdG9yKFwiPVwiKT8odGhpcy5lcnJvcihcIlRoZSAnPy4nIG9wZXJhdG9yIGNhbm5vdCBiZSB1c2VkIGluIHRoZSBhc3NpZ25tZW50XCIpLGw9bmV3IGIodGhpcy5zcGFuKG4pLHRoaXMuc291cmNlU3BhbihuKSkpOmw9bmV3IGllKHRoaXMuc3BhbihuKSx0aGlzLnNvdXJjZVNwYW4obiksYSxlLG8pO2Vsc2UgaWYodGhpcy5jb25zdW1lT3B0aW9uYWxPcGVyYXRvcihcIj1cIikpe2lmKCEodGhpcy5wYXJzZUZsYWdzJjEpKXJldHVybiB0aGlzLmVycm9yKFwiQmluZGluZ3MgY2Fubm90IGNvbnRhaW4gYXNzaWdubWVudHNcIiksbmV3IGIodGhpcy5zcGFuKG4pLHRoaXMuc291cmNlU3BhbihuKSk7bGV0IHU9dGhpcy5wYXJzZUNvbmRpdGlvbmFsKCk7bD1uZXcgVGUodGhpcy5zcGFuKG4pLHRoaXMuc291cmNlU3BhbihuKSxhLGUsbyx1KX1lbHNlIGw9bmV3IHJlKHRoaXMuc3BhbihuKSx0aGlzLnNvdXJjZVNwYW4obiksYSxlLG8pO3JldHVybiBsfXBhcnNlQ2FsbChlLG4scyl7bGV0IHI9dGhpcy5pbnB1dEluZGV4O3RoaXMucnBhcmVuc0V4cGVjdGVkKys7bGV0IG89dGhpcy5wYXJzZUNhbGxBcmd1bWVudHMoKSxhPXRoaXMuc3BhbihyLHRoaXMuaW5wdXRJbmRleCkudG9BYnNvbHV0ZSh0aGlzLmFic29sdXRlT2Zmc2V0KTt0aGlzLmV4cGVjdENoYXJhY3RlcihtZSksdGhpcy5ycGFyZW5zRXhwZWN0ZWQtLTtsZXQgbD10aGlzLnNwYW4obiksdT10aGlzLnNvdXJjZVNwYW4obik7cmV0dXJuIHM/bmV3IGxlKGwsdSxlLG8sYSk6bmV3IFJlKGwsdSxlLG8sYSl9cGFyc2VDYWxsQXJndW1lbnRzKCl7aWYodGhpcy5uZXh0LmlzQ2hhcmFjdGVyKG1lKSlyZXR1cm5bXTtsZXQgZT1bXTtkbyBlLnB1c2godGhpcy5wYXJzZVBpcGUoKSk7d2hpbGUodGhpcy5jb25zdW1lT3B0aW9uYWxDaGFyYWN0ZXIoZ2UpKTtyZXR1cm4gZX1leHBlY3RUZW1wbGF0ZUJpbmRpbmdLZXkoKXtsZXQgZT1cIlwiLG49ITEscz10aGlzLmN1cnJlbnRBYnNvbHV0ZU9mZnNldDtkbyBlKz10aGlzLmV4cGVjdElkZW50aWZpZXJPcktleXdvcmRPclN0cmluZygpLG49dGhpcy5jb25zdW1lT3B0aW9uYWxPcGVyYXRvcihcIi1cIiksbiYmKGUrPVwiLVwiKTt3aGlsZShuKTtyZXR1cm57c291cmNlOmUsc3BhbjpuZXcgTyhzLHMrZS5sZW5ndGgpfX1wYXJzZVRlbXBsYXRlQmluZGluZ3MoZSl7bGV0IG49W107Zm9yKG4ucHVzaCguLi50aGlzLnBhcnNlRGlyZWN0aXZlS2V5d29yZEJpbmRpbmdzKGUpKTt0aGlzLmluZGV4PHRoaXMudG9rZW5zLmxlbmd0aDspe2xldCBzPXRoaXMucGFyc2VMZXRCaW5kaW5nKCk7aWYocyluLnB1c2gocyk7ZWxzZXtsZXQgcj10aGlzLmV4cGVjdFRlbXBsYXRlQmluZGluZ0tleSgpLG89dGhpcy5wYXJzZUFzQmluZGluZyhyKTtvP24ucHVzaChvKTooci5zb3VyY2U9ZS5zb3VyY2Urci5zb3VyY2UuY2hhckF0KDApLnRvVXBwZXJDYXNlKCkrci5zb3VyY2Uuc3Vic3RyaW5nKDEpLG4ucHVzaCguLi50aGlzLnBhcnNlRGlyZWN0aXZlS2V5d29yZEJpbmRpbmdzKHIpKSl9dGhpcy5jb25zdW1lU3RhdGVtZW50VGVybWluYXRvcigpfXJldHVybiBuZXcgUHQobixbXSx0aGlzLmVycm9ycyl9cGFyc2VLZXllZFJlYWRPcldyaXRlKGUsbixzKXtyZXR1cm4gdGhpcy53aXRoQ29udGV4dChuZS5Xcml0YWJsZSwoKT0+e3RoaXMucmJyYWNrZXRzRXhwZWN0ZWQrKztsZXQgcj10aGlzLnBhcnNlUGlwZSgpO2lmKHIgaW5zdGFuY2VvZiBiJiZ0aGlzLmVycm9yKFwiS2V5IGFjY2VzcyBjYW5ub3QgYmUgZW1wdHlcIiksdGhpcy5yYnJhY2tldHNFeHBlY3RlZC0tLHRoaXMuZXhwZWN0Q2hhcmFjdGVyKHdlKSx0aGlzLmNvbnN1bWVPcHRpb25hbE9wZXJhdG9yKFwiPVwiKSlpZihzKXRoaXMuZXJyb3IoXCJUaGUgJz8uJyBvcGVyYXRvciBjYW5ub3QgYmUgdXNlZCBpbiB0aGUgYXNzaWdubWVudFwiKTtlbHNle2xldCBvPXRoaXMucGFyc2VDb25kaXRpb25hbCgpO3JldHVybiBuZXcgSWUodGhpcy5zcGFuKG4pLHRoaXMuc291cmNlU3BhbihuKSxlLHIsbyl9ZWxzZSByZXR1cm4gcz9uZXcgb2UodGhpcy5zcGFuKG4pLHRoaXMuc291cmNlU3BhbihuKSxlLHIpOm5ldyBrZSh0aGlzLnNwYW4obiksdGhpcy5zb3VyY2VTcGFuKG4pLGUscik7cmV0dXJuIG5ldyBiKHRoaXMuc3BhbihuKSx0aGlzLnNvdXJjZVNwYW4obikpfSl9cGFyc2VEaXJlY3RpdmVLZXl3b3JkQmluZGluZ3MoZSl7bGV0IG49W107dGhpcy5jb25zdW1lT3B0aW9uYWxDaGFyYWN0ZXIodGUpO2xldCBzPXRoaXMuZ2V0RGlyZWN0aXZlQm91bmRUYXJnZXQoKSxyPXRoaXMuY3VycmVudEFic29sdXRlT2Zmc2V0LG89dGhpcy5wYXJzZUFzQmluZGluZyhlKTtvfHwodGhpcy5jb25zdW1lU3RhdGVtZW50VGVybWluYXRvcigpLHI9dGhpcy5jdXJyZW50QWJzb2x1dGVPZmZzZXQpO2xldCBhPW5ldyBPKGUuc3Bhbi5zdGFydCxyKTtyZXR1cm4gbi5wdXNoKG5ldyBCZShhLGUscykpLG8mJm4ucHVzaChvKSxufWdldERpcmVjdGl2ZUJvdW5kVGFyZ2V0KCl7aWYodGhpcy5uZXh0PT09bHR8fHRoaXMucGVla0tleXdvcmRBcygpfHx0aGlzLnBlZWtLZXl3b3JkTGV0KCkpcmV0dXJuIG51bGw7bGV0IGU9dGhpcy5wYXJzZVBpcGUoKSx7c3RhcnQ6bixlbmQ6c309ZS5zcGFuLHI9dGhpcy5pbnB1dC5zdWJzdHJpbmcobixzKTtyZXR1cm4gbmV3IFcoZSxyLHRoaXMubG9jYXRpb24sdGhpcy5hYnNvbHV0ZU9mZnNldCtuLHRoaXMuZXJyb3JzKX1wYXJzZUFzQmluZGluZyhlKXtpZighdGhpcy5wZWVrS2V5d29yZEFzKCkpcmV0dXJuIG51bGw7dGhpcy5hZHZhbmNlKCk7bGV0IG49dGhpcy5leHBlY3RUZW1wbGF0ZUJpbmRpbmdLZXkoKTt0aGlzLmNvbnN1bWVTdGF0ZW1lbnRUZXJtaW5hdG9yKCk7bGV0IHM9bmV3IE8oZS5zcGFuLnN0YXJ0LHRoaXMuY3VycmVudEFic29sdXRlT2Zmc2V0KTtyZXR1cm4gbmV3IGNlKHMsbixlKX1wYXJzZUxldEJpbmRpbmcoKXtpZighdGhpcy5wZWVrS2V5d29yZExldCgpKXJldHVybiBudWxsO2xldCBlPXRoaXMuY3VycmVudEFic29sdXRlT2Zmc2V0O3RoaXMuYWR2YW5jZSgpO2xldCBuPXRoaXMuZXhwZWN0VGVtcGxhdGVCaW5kaW5nS2V5KCkscz1udWxsO3RoaXMuY29uc3VtZU9wdGlvbmFsT3BlcmF0b3IoXCI9XCIpJiYocz10aGlzLmV4cGVjdFRlbXBsYXRlQmluZGluZ0tleSgpKSx0aGlzLmNvbnN1bWVTdGF0ZW1lbnRUZXJtaW5hdG9yKCk7bGV0IHI9bmV3IE8oZSx0aGlzLmN1cnJlbnRBYnNvbHV0ZU9mZnNldCk7cmV0dXJuIG5ldyBjZShyLG4scyl9Y29uc3VtZVN0YXRlbWVudFRlcm1pbmF0b3IoKXt0aGlzLmNvbnN1bWVPcHRpb25hbENoYXJhY3Rlcih2ZSl8fHRoaXMuY29uc3VtZU9wdGlvbmFsQ2hhcmFjdGVyKGdlKX1lcnJvcihlLG49bnVsbCl7dGhpcy5lcnJvcnMucHVzaChuZXcgeWUoZSx0aGlzLmlucHV0LHRoaXMubG9jYXRpb25UZXh0KG4pLHRoaXMubG9jYXRpb24pKSx0aGlzLnNraXAoKX1sb2NhdGlvblRleHQoZT1udWxsKXtyZXR1cm4gZT09bnVsbCYmKGU9dGhpcy5pbmRleCksZTx0aGlzLnRva2Vucy5sZW5ndGg/YGF0IGNvbHVtbiAke3RoaXMudG9rZW5zW2VdLmluZGV4KzF9IGluYDpcImF0IHRoZSBlbmQgb2YgdGhlIGV4cHJlc3Npb25cIn1fcmVwb3J0RXJyb3JGb3JQcml2YXRlSWRlbnRpZmllcihlLG4pe2xldCBzPWBQcml2YXRlIGlkZW50aWZpZXJzIGFyZSBub3Qgc3VwcG9ydGVkLiBVbmV4cGVjdGVkIHByaXZhdGUgaWRlbnRpZmllcjogJHtlfWA7biE9PW51bGwmJihzKz1gLCAke259YCksdGhpcy5lcnJvcihzKX1za2lwKCl7bGV0IGU9dGhpcy5uZXh0O2Zvcig7dGhpcy5pbmRleDx0aGlzLnRva2Vucy5sZW5ndGgmJiFlLmlzQ2hhcmFjdGVyKHZlKSYmIWUuaXNPcGVyYXRvcihcInxcIikmJih0aGlzLnJwYXJlbnNFeHBlY3RlZDw9MHx8IWUuaXNDaGFyYWN0ZXIobWUpKSYmKHRoaXMucmJyYWNlc0V4cGVjdGVkPD0wfHwhZS5pc0NoYXJhY3Rlcih4ZSkpJiYodGhpcy5yYnJhY2tldHNFeHBlY3RlZDw9MHx8IWUuaXNDaGFyYWN0ZXIod2UpKSYmKCEodGhpcy5jb250ZXh0Jm5lLldyaXRhYmxlKXx8IWUuaXNPcGVyYXRvcihcIj1cIikpOyl0aGlzLm5leHQuaXNFcnJvcigpJiZ0aGlzLmVycm9ycy5wdXNoKG5ldyB5ZSh0aGlzLm5leHQudG9TdHJpbmcoKSx0aGlzLmlucHV0LHRoaXMubG9jYXRpb25UZXh0KCksdGhpcy5sb2NhdGlvbikpLHRoaXMuYWR2YW5jZSgpLGU9dGhpcy5uZXh0fX0sTHQ9Y2xhc3MgZXh0ZW5kcyB5dHtlcnJvcnM9W107dmlzaXRQaXBlKCl7dGhpcy5lcnJvcnMucHVzaChcInBpcGVzXCIpfX07ZnVuY3Rpb24gUHIodCl7bGV0IGU9bmV3IE1hcCxuPTAscz0wLHI9MDtmb3IoO3I8dC5sZW5ndGg7KXtsZXQgbz10W3JdO2lmKG8udHlwZT09PTkpe2xldFthLGxdPW8ucGFydHM7bis9bC5sZW5ndGgscys9YS5sZW5ndGh9ZWxzZXtsZXQgYT1vLnBhcnRzLnJlZHVjZSgobCx1KT0+bCt1Lmxlbmd0aCwwKTtzKz1hLG4rPWF9ZS5zZXQocyxuKSxyKyt9cmV0dXJuIGV9dmFyIExyPW5ldyBNYXAoT2JqZWN0LmVudHJpZXMoe2NsYXNzOlwiY2xhc3NOYW1lXCIsZm9yOlwiaHRtbEZvclwiLGZvcm1hY3Rpb246XCJmb3JtQWN0aW9uXCIsaW5uZXJIdG1sOlwiaW5uZXJIVE1MXCIscmVhZG9ubHk6XCJyZWFkT25seVwiLHRhYmluZGV4OlwidGFiSW5kZXhcIn0pKSxkaT1BcnJheS5mcm9tKExyKS5yZWR1Y2UoKHQsW2Usbl0pPT4odC5zZXQoZSxuKSx0KSxuZXcgTWFwKTt2YXIgbWk9bmV3IHVlKG5ldyBEZSk7ZnVuY3Rpb24gRCh0KXtyZXR1cm4gZT0+ZS5raW5kPT09dH1mdW5jdGlvbiBTZSh0LGUpe3JldHVybiBuPT5uLmtpbmQ9PT10JiZlPT09bi5leHByZXNzaW9uIGluc3RhbmNlb2YgWmV9ZnVuY3Rpb24gTXIodCl7cmV0dXJuKHQua2luZD09PWYuUHJvcGVydHl8fHQua2luZD09PWYuVHdvV2F5UHJvcGVydHkpJiYhKHQuZXhwcmVzc2lvbiBpbnN0YW5jZW9mIFplKX12YXIgZ2k9W3t0ZXN0OkQoZi5TdHlsZU1hcCksdHJhbnNmb3JtOmV0fSx7dGVzdDpEKGYuQ2xhc3NNYXApLHRyYW5zZm9ybTpldH0se3Rlc3Q6RChmLlN0eWxlUHJvcCl9LHt0ZXN0OkQoZi5DbGFzc1Byb3ApfSx7dGVzdDpTZShmLkF0dHJpYnV0ZSwhMCl9LHt0ZXN0OlNlKGYuUHJvcGVydHksITApfSx7dGVzdDpNcn0se3Rlc3Q6U2UoZi5BdHRyaWJ1dGUsITEpfV0sdmk9W3t0ZXN0OlNlKGYuSG9zdFByb3BlcnR5LCEwKX0se3Rlc3Q6U2UoZi5Ib3N0UHJvcGVydHksITEpfSx7dGVzdDpEKGYuQXR0cmlidXRlKX0se3Rlc3Q6RChmLlN0eWxlTWFwKSx0cmFuc2Zvcm06ZXR9LHt0ZXN0OkQoZi5DbGFzc01hcCksdHJhbnNmb3JtOmV0fSx7dGVzdDpEKGYuU3R5bGVQcm9wKX0se3Rlc3Q6RChmLkNsYXNzUHJvcCl9XSx3aT1uZXcgU2V0KFtmLkxpc3RlbmVyLGYuVHdvV2F5TGlzdGVuZXIsZi5TdHlsZU1hcCxmLkNsYXNzTWFwLGYuU3R5bGVQcm9wLGYuQ2xhc3NQcm9wLGYuUHJvcGVydHksZi5Ud29XYXlQcm9wZXJ0eSxmLkhvc3RQcm9wZXJ0eSxmLkF0dHJpYnV0ZV0pO2Z1bmN0aW9uIGV0KHQpe3JldHVybiB0LnNsaWNlKHQubGVuZ3RoLTEpfXZhciB4aT1uZXcgTWFwKFtbXCJ3aW5kb3dcIixQLnJlc29sdmVXaW5kb3ddLFtcImRvY3VtZW50XCIsUC5yZXNvbHZlRG9jdW1lbnRdLFtcImJvZHlcIixQLnJlc29sdmVCb2R5XV0pO3ZhciBTaT1uZXcgTWFwKFtbQi5IVE1MLFAuc2FuaXRpemVIdG1sXSxbQi5SRVNPVVJDRV9VUkwsUC5zYW5pdGl6ZVJlc291cmNlVXJsXSxbQi5TQ1JJUFQsUC5zYW5pdGl6ZVNjcmlwdF0sW0IuU1RZTEUsUC5zYW5pdGl6ZVN0eWxlXSxbQi5VUkwsUC5zYW5pdGl6ZVVybF1dKSxFaT1uZXcgTWFwKFtbQi5IVE1MLFAudHJ1c3RDb25zdGFudEh0bWxdLFtCLlJFU09VUkNFX1VSTCxQLnRydXN0Q29uc3RhbnRSZXNvdXJjZVVybF1dKTt2YXIgRG47KGZ1bmN0aW9uKHQpe3RbdC5Ob25lPTBdPVwiTm9uZVwiLHRbdC5WaWV3Q29udGV4dFJlYWQ9MV09XCJWaWV3Q29udGV4dFJlYWRcIix0W3QuVmlld0NvbnRleHRXcml0ZT0yXT1cIlZpZXdDb250ZXh0V3JpdGVcIix0W3QuU2lkZUVmZmVjdGZ1bD00XT1cIlNpZGVFZmZlY3RmdWxcIn0pKERufHwoRG49e30pKTt2YXIgeWk9bmV3IE1hcChbW0guUHJvcGVydHksVS5Qcm9wZXJ0eV0sW0guVHdvV2F5LFUuVHdvV2F5UHJvcGVydHldLFtILkF0dHJpYnV0ZSxVLkF0dHJpYnV0ZV0sW0guQ2xhc3MsVS5DbGFzc05hbWVdLFtILlN0eWxlLFUuU3R5bGVQcm9wZXJ0eV0sW0guQW5pbWF0aW9uLFUuQW5pbWF0aW9uXV0pO3ZhciBfaT1TeW1ib2woXCJxdWVyeUFkdmFuY2VQbGFjZWhvbGRlclwiKTt2YXIgT247KGZ1bmN0aW9uKHQpe3RbdC5OR19DT05URU5UPTBdPVwiTkdfQ09OVEVOVFwiLHRbdC5TVFlMRT0xXT1cIlNUWUxFXCIsdFt0LlNUWUxFU0hFRVQ9Ml09XCJTVFlMRVNIRUVUXCIsdFt0LlNDUklQVD0zXT1cIlNDUklQVFwiLHRbdC5PVEhFUj00XT1cIk9USEVSXCJ9KShPbnx8KE9uPXt9KSk7dmFyIEZuOyhmdW5jdGlvbih0KXt0LklETEU9XCJpZGxlXCIsdC5USU1FUj1cInRpbWVyXCIsdC5JTlRFUkFDVElPTj1cImludGVyYWN0aW9uXCIsdC5JTU1FRElBVEU9XCJpbW1lZGlhdGVcIix0LkhPVkVSPVwiaG92ZXJcIix0LlZJRVdQT1JUPVwidmlld3BvcnRcIix0Lk5FVkVSPVwibmV2ZXJcIn0pKEZufHwoRm49e30pKTt2YXIgaXM9XCIlQ09NUCVcIixDaT1gX25naG9zdC0ke2lzfWAsVGk9YF9uZ2NvbnRlbnQtJHtpc31gO3ZhciBraT1uZXcgU3QoXCIxOS4wLjFcIik7dmFyIFZuOyhmdW5jdGlvbih0KXt0W3QuRXh0cmFjdD0wXT1cIkV4dHJhY3RcIix0W3QuTWVyZ2U9MV09XCJNZXJnZVwifSkoVm58fChWbj17fSkpO3ZhciBIbjsoZnVuY3Rpb24odCl7dFt0LkRpcmVjdGl2ZT0wXT1cIkRpcmVjdGl2ZVwiLHRbdC5Db21wb25lbnQ9MV09XCJDb21wb25lbnRcIix0W3QuSW5qZWN0YWJsZT0yXT1cIkluamVjdGFibGVcIix0W3QuUGlwZT0zXT1cIlBpcGVcIix0W3QuTmdNb2R1bGU9NF09XCJOZ01vZHVsZVwifSkoSG58fChIbj17fSkpO2Z1bmN0aW9uIG9zKHtzdGFydDp0LGVuZDplfSxuKXtsZXQgcz10LHI9ZTtmb3IoO3IhPT1zJiYvXFxzLy50ZXN0KG5bci0xXSk7KXItLTtmb3IoO3MhPT1yJiYvXFxzLy50ZXN0KG5bc10pOylzKys7cmV0dXJue3N0YXJ0OnMsZW5kOnJ9fWZ1bmN0aW9uIFJyKHtzdGFydDp0LGVuZDplfSxuKXtsZXQgcz10LHI9ZTtmb3IoO3IhPT1uLmxlbmd0aCYmL1xccy8udGVzdChuW3JdKTspcisrO2Zvcig7cyE9PTAmJi9cXHMvLnRlc3QobltzLTFdKTspcy0tO3JldHVybntzdGFydDpzLGVuZDpyfX1mdW5jdGlvbiBCcih0LGUpe3JldHVybiBlW3Quc3RhcnQtMV09PT1cIihcIiYmZVt0LmVuZF09PT1cIilcIj97c3RhcnQ6dC5zdGFydC0xLGVuZDp0LmVuZCsxfTp0fWZ1bmN0aW9uIGFzKHQsZSxuKXtsZXQgcz0wLHI9e3N0YXJ0OnQuc3RhcnQsZW5kOnQuZW5kfTtmb3IoOzspe2xldCBvPVJyKHIsZSksYT1CcihvLGUpO2lmKG8uc3RhcnQ9PT1hLnN0YXJ0JiZvLmVuZD09PWEuZW5kKWJyZWFrO3Iuc3RhcnQ9YS5zdGFydCxyLmVuZD1hLmVuZCxzKyt9cmV0dXJue2hhc1BhcmVuczoobj9zLTE6cykhPT0wLG91dGVyU3BhbjpvcyhuP3tzdGFydDpyLnN0YXJ0KzEsZW5kOnIuZW5kLTF9OnIsZSksaW5uZXJTcGFuOm9zKHQsZSl9fWZ1bmN0aW9uIGxzKHQpe3JldHVybiB0eXBlb2YgdD09XCJzdHJpbmdcIj9lPT5lPT09dDplPT50LnRlc3QoZSl9ZnVuY3Rpb24gY3ModCxlLG4pe2xldCBzPWxzKGUpO2ZvcihsZXQgcj1uO3I+PTA7ci0tKXtsZXQgbz10W3JdO2lmKHMobykpcmV0dXJuIHJ9dGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBmcm9udCBjaGFyICR7ZX0gZnJvbSBpbmRleCAke259IGluICR7SlNPTi5zdHJpbmdpZnkodCl9YCl9ZnVuY3Rpb24gdXModCxlLG4pe2xldCBzPWxzKGUpO2ZvcihsZXQgcj1uO3I8dC5sZW5ndGg7cisrKXtsZXQgbz10W3JdO2lmKHMobykpcmV0dXJuIHJ9dGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgZmluZCBjaGFyYWN0ZXIgJHtlfSBmcm9tIGluZGV4ICR7bn0gaW4gJHtKU09OLnN0cmluZ2lmeSh0KX1gKX1mdW5jdGlvbiBwcyh0KXtyZXR1cm4gdC5zbGljZSgwLDEpLnRvTG93ZXJDYXNlKCkrdC5zbGljZSgxKX1mdW5jdGlvbiBGZSh0KXtsZXR7c3RhcnQ6ZSxlbmQ6bn09dDtyZXR1cm57c3RhcnQ6ZSxlbmQ6bixyYW5nZTpbZSxuXX19dmFyIERyPXQ9PnVlLnByb3RvdHlwZS5fY29tbWVudFN0YXJ0KHQpO2Z1bmN0aW9uIE9yKHQsZSl7bGV0IG49ZT9Ecih0KTpudWxsO2lmKG49PT1udWxsKXJldHVybnt0ZXh0OnQsY29tbWVudHM6W119O2xldCBzPXt0eXBlOlwiQ29tbWVudExpbmVcIix2YWx1ZTp0LnNsaWNlKG4rMiksLi4uRmUoe3N0YXJ0Om4sZW5kOnQubGVuZ3RofSl9O3JldHVybnt0ZXh0OnQuc2xpY2UoMCxuKSxjb21tZW50czpbc119fWZ1bmN0aW9uIFZlKHQsZT0hMCl7cmV0dXJuIG49PntsZXQgcz1uZXcgRGUscj1uZXcgdWUocykse3RleHQ6byxjb21tZW50czphfT1PcihuLGUpLGw9dChvLHIpO2lmKGwuZXJyb3JzLmxlbmd0aCE9PTApe2xldFt7bWVzc2FnZTp1fV09bC5lcnJvcnM7dGhyb3cgbmV3IFN5bnRheEVycm9yKHUucmVwbGFjZSgvXlBhcnNlciBFcnJvcjogfCBhdCBjb2x1bW4gXFxkKyBpbiBbXl0qJC9nLFwiXCIpKX1yZXR1cm57cmVzdWx0OmwsY29tbWVudHM6YSx0ZXh0Om99fX12YXIgaHM9VmUoKHQsZSk9PmUucGFyc2VCaW5kaW5nKHQsXCJcIiwwKSksRnI9VmUoKHQsZSk9PmUucGFyc2VTaW1wbGVCaW5kaW5nKHQsXCJcIiwwKSksZnM9VmUoKHQsZSk9PmUucGFyc2VBY3Rpb24odCxcIlwiLDApKSxkcz1WZSgodCxlKT0+ZS5wYXJzZUludGVycG9sYXRpb25FeHByZXNzaW9uKHQsXCJcIiwwKSksbXM9VmUoKHQsZSk9PmUucGFyc2VUZW1wbGF0ZUJpbmRpbmdzKFwiXCIsdCxcIlwiLDAsMCksITEpO3ZhciBIcj0odCxlLG4pPT57aWYoISh0JiZlPT1udWxsKSlyZXR1cm4gQXJyYXkuaXNBcnJheShlKXx8dHlwZW9mIGU9PVwic3RyaW5nXCI/ZVtuPDA/ZS5sZW5ndGgrbjpuXTplLmF0KG4pfSxudD1Icjt2YXIgQnQ9Y2xhc3N7dGV4dDtjb25zdHJ1Y3RvcihlKXt0aGlzLnRleHQ9ZX1nZXRDaGFyYWN0ZXJJbmRleChlLG4pe3JldHVybiB1cyh0aGlzLnRleHQsZSxuKX1nZXRDaGFyYWN0ZXJMYXN0SW5kZXgoZSxuKXtyZXR1cm4gY3ModGhpcy50ZXh0LGUsbil9dHJhbnNmb3JtU3BhbihlLHtzdHJpcFNwYWNlczpuPSExLGhhc1BhcmVudFBhcmVuczpzPSExfT17fSl7aWYoIW4pcmV0dXJuIEZlKGUpO2xldHtvdXRlclNwYW46cixpbm5lclNwYW46byxoYXNQYXJlbnM6YX09YXMoZSx0aGlzLnRleHQscyksbD1GZShvKTtyZXR1cm4gYSYmKGwuZXh0cmE9e3BhcmVudGhlc2l6ZWQ6ITAscGFyZW5TdGFydDpyLnN0YXJ0LHBhcmVuRW5kOnIuZW5kfSksbH1jcmVhdGVOb2RlKGUse3N0cmlwU3BhY2VzOm49ITAsaGFzUGFyZW50UGFyZW5zOnM9ITF9PXt9KXtsZXR7dHlwZTpyLHN0YXJ0Om8sZW5kOmF9PWUsbD17Li4uZSwuLi50aGlzLnRyYW5zZm9ybVNwYW4oe3N0YXJ0Om8sZW5kOmF9LHtzdHJpcFNwYWNlczpuLGhhc1BhcmVudFBhcmVuczpzfSl9O3N3aXRjaChyKXtjYXNlXCJOdW1lcmljTGl0ZXJhbFwiOmNhc2VcIlN0cmluZ0xpdGVyYWxcIjp7bGV0IHU9dGhpcy50ZXh0LnNsaWNlKGwuc3RhcnQsbC5lbmQpLHt2YWx1ZTpofT1sO2wuZXh0cmE9ey4uLmwuZXh0cmEscmF3OnUscmF3VmFsdWU6aH07YnJlYWt9Y2FzZVwiT2JqZWN0UHJvcGVydHlcIjp7bGV0e3Nob3J0aGFuZDp1fT1sO3UmJihsLmV4dHJhPXsuLi5sLmV4dHJhLHNob3J0aGFuZDp1fSk7YnJlYWt9fXJldHVybiBsfX0sZ3M9QnQ7ZnVuY3Rpb24gT3QodCl7dmFyIGU7cmV0dXJuISEoKGU9dC5leHRyYSkhPW51bGwmJmUucGFyZW50aGVzaXplZCl9ZnVuY3Rpb24gJCh0KXtyZXR1cm4gT3QodCk/dC5leHRyYS5wYXJlblN0YXJ0OnQuc3RhcnR9ZnVuY3Rpb24gUih0KXtyZXR1cm4gT3QodCk/dC5leHRyYS5wYXJlbkVuZDp0LmVuZH1mdW5jdGlvbiB2cyh0KXtyZXR1cm4odC50eXBlPT09XCJPcHRpb25hbENhbGxFeHByZXNzaW9uXCJ8fHQudHlwZT09PVwiT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uXCIpJiYhT3QodCl9ZnVuY3Rpb24gd3ModCxlKXtsZXR7c3RhcnQ6bixlbmQ6c309dC5zb3VyY2VTcGFuO3JldHVybiBuPj1zfHwvXlxccyskLy50ZXN0KGUuc2xpY2UobixzKSl9dmFyIFdlLHBlLHAsdixIZSx4LER0LFVlPWNsYXNzIGV4dGVuZHMgZ3N7Y29uc3RydWN0b3IobixzKXtzdXBlcihzKTtWKHRoaXMscCk7Vih0aGlzLFdlKTtWKHRoaXMscGUpO1EodGhpcyxXZSxuKSxRKHRoaXMscGUscyl9Z2V0IG5vZGUoKXtyZXR1cm4gYyh0aGlzLHAseCkuY2FsbCh0aGlzLEwodGhpcyxXZSkpfXRyYW5zZm9ybU5vZGUobil7cmV0dXJuIGModGhpcyxwLER0KS5jYWxsKHRoaXMsbil9fTtXZT1uZXcgV2Vha01hcCxwZT1uZXcgV2Vha01hcCxwPW5ldyBXZWFrU2V0LHY9ZnVuY3Rpb24obix7c3RyaXBTcGFjZXM6cz0hMCxoYXNQYXJlbnRQYXJlbnM6cj0hMX09e30pe3JldHVybiB0aGlzLmNyZWF0ZU5vZGUobix7c3RyaXBTcGFjZXM6cyxoYXNQYXJlbnRQYXJlbnM6cn0pfSxIZT1mdW5jdGlvbihuLHMse2NvbXB1dGVkOnIsb3B0aW9uYWw6byxlbmQ6YT1SKHMpLGhhc1BhcmVudFBhcmVuczpsPSExfSl7aWYod3MobixMKHRoaXMscGUpKXx8bi5zb3VyY2VTcGFuLnN0YXJ0PT09cy5zdGFydClyZXR1cm4gcztsZXQgdT1jKHRoaXMscCx4KS5jYWxsKHRoaXMsbiksaD12cyh1KTtyZXR1cm4gYyh0aGlzLHAsdikuY2FsbCh0aGlzLHt0eXBlOm98fGg/XCJPcHRpb25hbE1lbWJlckV4cHJlc3Npb25cIjpcIk1lbWJlckV4cHJlc3Npb25cIixvYmplY3Q6dSxwcm9wZXJ0eTpzLGNvbXB1dGVkOnIsLi4ubz97b3B0aW9uYWw6ITB9Omg/e29wdGlvbmFsOiExfTp2b2lkIDAsc3RhcnQ6JCh1KSxlbmQ6YX0se2hhc1BhcmVudFBhcmVuczpsfSl9LHg9ZnVuY3Rpb24obixzPSExKXtyZXR1cm4gYyh0aGlzLHAsRHQpLmNhbGwodGhpcyxuLHMpfSxEdD1mdW5jdGlvbihuLHM9ITEpe2lmKG4gaW5zdGFuY2VvZiBQZSl7bGV0e2V4cHJlc3Npb25zOm99PW47aWYoby5sZW5ndGghPT0xKXRocm93IG5ldyBFcnJvcihcIlVuZXhwZWN0ZWQgJ0ludGVycG9sYXRpb24nXCIpO3JldHVybiBjKHRoaXMscCx4KS5jYWxsKHRoaXMsb1swXSl9aWYobiBpbnN0YW5jZW9mIGFlKXJldHVybiBjKHRoaXMscCx2KS5jYWxsKHRoaXMse3R5cGU6XCJVbmFyeUV4cHJlc3Npb25cIixwcmVmaXg6ITAsYXJndW1lbnQ6Yyh0aGlzLHAseCkuY2FsbCh0aGlzLG4uZXhwciksb3BlcmF0b3I6bi5vcGVyYXRvciwuLi5uLnNvdXJjZVNwYW59LHtoYXNQYXJlbnRQYXJlbnM6c30pO2lmKG4gaW5zdGFuY2VvZiBOKXtsZXR7bGVmdDpvLG9wZXJhdGlvbjphLHJpZ2h0Omx9PW4sdT1jKHRoaXMscCx4KS5jYWxsKHRoaXMsbyksaD1jKHRoaXMscCx4KS5jYWxsKHRoaXMsbCksZz0kKHUpLFM9UihoKSx3PXtsZWZ0OnUscmlnaHQ6aCxzdGFydDpnLGVuZDpTfTtyZXR1cm4gYT09PVwiJiZcInx8YT09PVwifHxcInx8YT09PVwiPz9cIj9jKHRoaXMscCx2KS5jYWxsKHRoaXMsey4uLncsdHlwZTpcIkxvZ2ljYWxFeHByZXNzaW9uXCIsb3BlcmF0b3I6YX0se2hhc1BhcmVudFBhcmVuczpzfSk6Yyh0aGlzLHAsdikuY2FsbCh0aGlzLHsuLi53LHR5cGU6XCJCaW5hcnlFeHByZXNzaW9uXCIsb3BlcmF0b3I6YX0se2hhc1BhcmVudFBhcmVuczpzfSl9aWYobiBpbnN0YW5jZW9mIGJlKXtsZXR7ZXhwOm8sbmFtZTphLGFyZ3M6bH09bix1PWModGhpcyxwLHgpLmNhbGwodGhpcyxvKSxoPSQodSksZz1SKHUpLFM9dGhpcy5nZXRDaGFyYWN0ZXJJbmRleCgvXFxTLyx0aGlzLmdldENoYXJhY3RlckluZGV4KFwifFwiLGcpKzEpLHc9Yyh0aGlzLHAsdikuY2FsbCh0aGlzLHt0eXBlOlwiSWRlbnRpZmllclwiLG5hbWU6YSxzdGFydDpTLGVuZDpTK2EubGVuZ3RofSkseT1sLm1hcChUPT5jKHRoaXMscCx4KS5jYWxsKHRoaXMsVCkpO3JldHVybiBjKHRoaXMscCx2KS5jYWxsKHRoaXMse3R5cGU6XCJOR1BpcGVFeHByZXNzaW9uXCIsbGVmdDp1LHJpZ2h0OncsYXJndW1lbnRzOnksc3RhcnQ6aCxlbmQ6Uih5Lmxlbmd0aD09PTA/dzpudCghMSx5LC0xKSl9LHtoYXNQYXJlbnRQYXJlbnM6c30pfWlmKG4gaW5zdGFuY2VvZiBfZSlyZXR1cm4gYyh0aGlzLHAsdikuY2FsbCh0aGlzLHt0eXBlOlwiTkdDaGFpbmVkRXhwcmVzc2lvblwiLGV4cHJlc3Npb25zOm4uZXhwcmVzc2lvbnMubWFwKG89PmModGhpcyxwLHgpLmNhbGwodGhpcyxvKSksLi4ubi5zb3VyY2VTcGFufSx7aGFzUGFyZW50UGFyZW5zOnN9KTtpZihuIGluc3RhbmNlb2YgQ2Upe2xldHtjb25kaXRpb246byx0cnVlRXhwOmEsZmFsc2VFeHA6bH09bix1PWModGhpcyxwLHgpLmNhbGwodGhpcyxvKSxoPWModGhpcyxwLHgpLmNhbGwodGhpcyxhKSxnPWModGhpcyxwLHgpLmNhbGwodGhpcyxsKTtyZXR1cm4gYyh0aGlzLHAsdikuY2FsbCh0aGlzLHt0eXBlOlwiQ29uZGl0aW9uYWxFeHByZXNzaW9uXCIsdGVzdDp1LGNvbnNlcXVlbnQ6aCxhbHRlcm5hdGU6ZyxzdGFydDokKHUpLGVuZDpSKGcpfSx7aGFzUGFyZW50UGFyZW5zOnN9KX1pZihuIGluc3RhbmNlb2YgYilyZXR1cm4gYyh0aGlzLHAsdikuY2FsbCh0aGlzLHt0eXBlOlwiTkdFbXB0eUV4cHJlc3Npb25cIiwuLi5uLnNvdXJjZVNwYW59LHtoYXNQYXJlbnRQYXJlbnM6c30pO2lmKG4gaW5zdGFuY2VvZiBYKXJldHVybiBjKHRoaXMscCx2KS5jYWxsKHRoaXMse3R5cGU6XCJUaGlzRXhwcmVzc2lvblwiLC4uLm4uc291cmNlU3Bhbn0se2hhc1BhcmVudFBhcmVuczpzfSk7aWYobiBpbnN0YW5jZW9mIGtlfHxuIGluc3RhbmNlb2Ygb2UpcmV0dXJuIGModGhpcyxwLEhlKS5jYWxsKHRoaXMsbi5yZWNlaXZlcixjKHRoaXMscCx4KS5jYWxsKHRoaXMsbi5rZXkpLHtjb21wdXRlZDohMCxvcHRpb25hbDpuIGluc3RhbmNlb2Ygb2UsZW5kOm4uc291cmNlU3Bhbi5lbmQsaGFzUGFyZW50UGFyZW5zOnN9KTtpZihuIGluc3RhbmNlb2YgQWUpcmV0dXJuIGModGhpcyxwLHYpLmNhbGwodGhpcyx7dHlwZTpcIkFycmF5RXhwcmVzc2lvblwiLGVsZW1lbnRzOm4uZXhwcmVzc2lvbnMubWFwKG89PmModGhpcyxwLHgpLmNhbGwodGhpcyxvKSksLi4ubi5zb3VyY2VTcGFufSx7aGFzUGFyZW50UGFyZW5zOnN9KTtpZihuIGluc3RhbmNlb2YgTmUpe2xldHtrZXlzOm8sdmFsdWVzOmF9PW4sbD1hLm1hcChoPT5jKHRoaXMscCx4KS5jYWxsKHRoaXMsaCkpLHU9by5tYXAoKHtrZXk6aCxxdW90ZWQ6Z30sUyk9PntsZXQgdz1sW1NdLHk9JCh3KSxUPVIodyksRj10aGlzLmdldENoYXJhY3RlckluZGV4KC9cXFMvLFM9PT0wP24uc291cmNlU3Bhbi5zdGFydCsxOnRoaXMuZ2V0Q2hhcmFjdGVySW5kZXgoXCIsXCIsUihsW1MtMV0pKSsxKSxmZT15PT09Rj9UOnRoaXMuZ2V0Q2hhcmFjdGVyTGFzdEluZGV4KC9cXFMvLHRoaXMuZ2V0Q2hhcmFjdGVyTGFzdEluZGV4KFwiOlwiLHktMSktMSkrMSxkZT17c3RhcnQ6RixlbmQ6ZmV9LHE9Zz9jKHRoaXMscCx2KS5jYWxsKHRoaXMse3R5cGU6XCJTdHJpbmdMaXRlcmFsXCIsdmFsdWU6aCwuLi5kZX0pOmModGhpcyxwLHYpLmNhbGwodGhpcyx7dHlwZTpcIklkZW50aWZpZXJcIixuYW1lOmgsLi4uZGV9KSxHdD1xLmVuZDxxLnN0YXJ0fHxGPT09eTtyZXR1cm4gYyh0aGlzLHAsdikuY2FsbCh0aGlzLHt0eXBlOlwiT2JqZWN0UHJvcGVydHlcIixrZXk6cSx2YWx1ZTp3LHNob3J0aGFuZDpHdCxjb21wdXRlZDohMSxzdGFydDokKHEpLGVuZDpUfSl9KTtyZXR1cm4gYyh0aGlzLHAsdikuY2FsbCh0aGlzLHt0eXBlOlwiT2JqZWN0RXhwcmVzc2lvblwiLHByb3BlcnRpZXM6dSwuLi5uLnNvdXJjZVNwYW59LHtoYXNQYXJlbnRQYXJlbnM6c30pfWlmKG4gaW5zdGFuY2VvZiBBKXtsZXR7dmFsdWU6b309bjtzd2l0Y2godHlwZW9mIG8pe2Nhc2VcImJvb2xlYW5cIjpyZXR1cm4gYyh0aGlzLHAsdikuY2FsbCh0aGlzLHt0eXBlOlwiQm9vbGVhbkxpdGVyYWxcIix2YWx1ZTpvLC4uLm4uc291cmNlU3Bhbn0se2hhc1BhcmVudFBhcmVuczpzfSk7Y2FzZVwibnVtYmVyXCI6cmV0dXJuIGModGhpcyxwLHYpLmNhbGwodGhpcyx7dHlwZTpcIk51bWVyaWNMaXRlcmFsXCIsdmFsdWU6bywuLi5uLnNvdXJjZVNwYW59LHtoYXNQYXJlbnRQYXJlbnM6c30pO2Nhc2VcIm9iamVjdFwiOnJldHVybiBjKHRoaXMscCx2KS5jYWxsKHRoaXMse3R5cGU6XCJOdWxsTGl0ZXJhbFwiLC4uLm4uc291cmNlU3Bhbn0se2hhc1BhcmVudFBhcmVuczpzfSk7Y2FzZVwic3RyaW5nXCI6cmV0dXJuIGModGhpcyxwLHYpLmNhbGwodGhpcyx7dHlwZTpcIlN0cmluZ0xpdGVyYWxcIix2YWx1ZTpvLC4uLm4uc291cmNlU3Bhbn0se2hhc1BhcmVudFBhcmVuczpzfSk7Y2FzZVwidW5kZWZpbmVkXCI6cmV0dXJuIGModGhpcyxwLHYpLmNhbGwodGhpcyx7dHlwZTpcIklkZW50aWZpZXJcIixuYW1lOlwidW5kZWZpbmVkXCIsLi4ubi5zb3VyY2VTcGFufSx7aGFzUGFyZW50UGFyZW5zOnN9KTtkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBMaXRlcmFsUHJpbWl0aXZlIHZhbHVlIHR5cGUgJHt0eXBlb2Ygb31gKX19aWYobiBpbnN0YW5jZW9mIFJlfHxuIGluc3RhbmNlb2YgbGUpe2xldCBvPW4gaW5zdGFuY2VvZiBsZSx7cmVjZWl2ZXI6YSxhcmdzOmx9PW4sdT1sLmxlbmd0aD09PTE/W2ModGhpcyxwLHgpLmNhbGwodGhpcyxsWzBdLCEwKV06bC5tYXAodz0+Yyh0aGlzLHAseCkuY2FsbCh0aGlzLHcpKSxoPWModGhpcyxwLHgpLmNhbGwodGhpcyxhKSxnPXZzKGgpLFM9b3x8Zz9cIk9wdGlvbmFsQ2FsbEV4cHJlc3Npb25cIjpcIkNhbGxFeHByZXNzaW9uXCI7cmV0dXJuIGModGhpcyxwLHYpLmNhbGwodGhpcyx7dHlwZTpTLGNhbGxlZTpoLGFyZ3VtZW50czp1LG9wdGlvbmFsOlM9PT1cIk9wdGlvbmFsQ2FsbEV4cHJlc3Npb25cIj9vOnZvaWQgMCxzdGFydDokKGgpLGVuZDpuLnNvdXJjZVNwYW4uZW5kfSx7aGFzUGFyZW50UGFyZW5zOnN9KX1pZihuIGluc3RhbmNlb2YgJGUpe2xldCBvPWModGhpcyxwLHgpLmNhbGwodGhpcyxuLmV4cHJlc3Npb24pO3JldHVybiBjKHRoaXMscCx2KS5jYWxsKHRoaXMse3R5cGU6XCJUU05vbk51bGxFeHByZXNzaW9uXCIsZXhwcmVzc2lvbjpvLHN0YXJ0OiQobyksZW5kOm4uc291cmNlU3Bhbi5lbmR9LHtoYXNQYXJlbnRQYXJlbnM6c30pfWxldCByPW4gaW5zdGFuY2VvZiBMZTtpZihyfHxuIGluc3RhbmNlb2YgTWUpe2xldCBvPWModGhpcyxwLHgpLmNhbGwodGhpcyxuLmV4cHJlc3Npb24pLGE9cj9cIiFcIjpcInR5cGVvZlwiLHtzdGFydDpsfT1uLnNvdXJjZVNwYW47aWYoIXIpe2xldCB1PXRoaXMudGV4dC5sYXN0SW5kZXhPZihhLGwpO2lmKHU9PT0tMSl0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBmaW5kIG9wZXJhdG9yICR7YX0gZnJvbSBpbmRleCAke2x9IGluICR7SlNPTi5zdHJpbmdpZnkodGhpcy50ZXh0KX1gKTtsPXV9cmV0dXJuIGModGhpcyxwLHYpLmNhbGwodGhpcyx7dHlwZTpcIlVuYXJ5RXhwcmVzc2lvblwiLHByZWZpeDohMCxvcGVyYXRvcjphLGFyZ3VtZW50Om8sc3RhcnQ6bCxlbmQ6UihvKX0se2hhc1BhcmVudFBhcmVuczpzfSl9aWYobiBpbnN0YW5jZW9mIHJlfHxuIGluc3RhbmNlb2YgaWUpe2xldHtyZWNlaXZlcjpvLG5hbWU6YX09bixsPXRoaXMuZ2V0Q2hhcmFjdGVyTGFzdEluZGV4KC9cXFMvLG4uc291cmNlU3Bhbi5lbmQtMSkrMSx1PWModGhpcyxwLHYpLmNhbGwodGhpcyx7dHlwZTpcIklkZW50aWZpZXJcIixuYW1lOmEsc3RhcnQ6bC1hLmxlbmd0aCxlbmQ6bH0sd3MobyxMKHRoaXMscGUpKT97aGFzUGFyZW50UGFyZW5zOnN9Ont9KTtyZXR1cm4gYyh0aGlzLHAsSGUpLmNhbGwodGhpcyxvLHUse2NvbXB1dGVkOiExLG9wdGlvbmFsOm4gaW5zdGFuY2VvZiBpZSxoYXNQYXJlbnRQYXJlbnM6c30pfWlmKG4gaW5zdGFuY2VvZiBJZSl7bGV0IG89Yyh0aGlzLHAseCkuY2FsbCh0aGlzLG4ua2V5KSxhPWModGhpcyxwLHgpLmNhbGwodGhpcyxuLnZhbHVlKSxsPWModGhpcyxwLEhlKS5jYWxsKHRoaXMsbi5yZWNlaXZlcixvLHtjb21wdXRlZDohMCxvcHRpb25hbDohMSxlbmQ6dGhpcy5nZXRDaGFyYWN0ZXJJbmRleChcIl1cIixSKG8pKSsxfSk7cmV0dXJuIGModGhpcyxwLHYpLmNhbGwodGhpcyx7dHlwZTpcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCIsbGVmdDpsLG9wZXJhdG9yOlwiPVwiLHJpZ2h0OmEsc3RhcnQ6JChsKSxlbmQ6UihhKX0se2hhc1BhcmVudFBhcmVuczpzfSl9aWYobiBpbnN0YW5jZW9mIFRlKXtsZXR7cmVjZWl2ZXI6byxuYW1lOmEsdmFsdWU6bH09bix1PWModGhpcyxwLHgpLmNhbGwodGhpcyxsKSxoPXRoaXMuZ2V0Q2hhcmFjdGVyTGFzdEluZGV4KC9cXFMvLHRoaXMuZ2V0Q2hhcmFjdGVyTGFzdEluZGV4KFwiPVwiLCQodSktMSktMSkrMSxnPWModGhpcyxwLHYpLmNhbGwodGhpcyx7dHlwZTpcIklkZW50aWZpZXJcIixuYW1lOmEsc3RhcnQ6aC1hLmxlbmd0aCxlbmQ6aH0pLFM9Yyh0aGlzLHAsSGUpLmNhbGwodGhpcyxvLGcse2NvbXB1dGVkOiExLG9wdGlvbmFsOiExfSk7cmV0dXJuIGModGhpcyxwLHYpLmNhbGwodGhpcyx7dHlwZTpcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCIsbGVmdDpTLG9wZXJhdG9yOlwiPVwiLHJpZ2h0OnUsc3RhcnQ6JChTKSxlbmQ6Uih1KX0se2hhc1BhcmVudFBhcmVuczpzfSl9dGhyb3cgT2JqZWN0LmFzc2lnbihuZXcgRXJyb3IoXCJVbmV4cGVjdGVkIG5vZGVcIikse25vZGU6bn0pfTtmdW5jdGlvbiB4cyh0LGUpe3JldHVybiBuZXcgVWUodCxlKS5ub2RlfWZ1bmN0aW9uIFNzKHQpe3JldHVybiB0IGluc3RhbmNlb2YgQmV9ZnVuY3Rpb24gRXModCl7cmV0dXJuIHQgaW5zdGFuY2VvZiBjZX12YXIgaGUsWSxtLHlzLEksVnQsSHQsVXQsX3MsQ3MsVHMsa3MsRnQ9Y2xhc3MgZXh0ZW5kcyBVZXtjb25zdHJ1Y3RvcihuLHMpe3N1cGVyKHZvaWQgMCxzKTtWKHRoaXMsbSk7Vih0aGlzLGhlKTtWKHRoaXMsWSk7USh0aGlzLGhlLG4pLFEodGhpcyxZLHMpO2ZvcihsZXQgciBvZiBuKWModGhpcyxtLF9zKS5jYWxsKHRoaXMscil9Z2V0IGV4cHJlc3Npb25zKCl7cmV0dXJuIGModGhpcyxtLFRzKS5jYWxsKHRoaXMpfX07aGU9bmV3IFdlYWtNYXAsWT1uZXcgV2Vha01hcCxtPW5ldyBXZWFrU2V0LHlzPWZ1bmN0aW9uKCl7cmV0dXJuIEwodGhpcyxoZSlbMF0ua2V5fSxJPWZ1bmN0aW9uKG4se3N0cmlwU3BhY2VzOnM9ITB9PXt9KXtyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKG4se3N0cmlwU3BhY2VzOnN9KX0sVnQ9ZnVuY3Rpb24obil7cmV0dXJuIHRoaXMudHJhbnNmb3JtTm9kZShuKX0sSHQ9ZnVuY3Rpb24obil7cmV0dXJuIHBzKG4uc2xpY2UoTCh0aGlzLG0seXMpLnNvdXJjZS5sZW5ndGgpKX0sVXQ9ZnVuY3Rpb24obil7bGV0IHM9TCh0aGlzLFkpO2lmKHNbbi5zdGFydF0hPT0nXCInJiZzW24uc3RhcnRdIT09XCInXCIpcmV0dXJuO2xldCByPXNbbi5zdGFydF0sbz0hMTtmb3IobGV0IGE9bi5zdGFydCsxO2E8cy5sZW5ndGg7YSsrKXN3aXRjaChzW2FdKXtjYXNlIHI6aWYoIW8pe24uZW5kPWErMTtyZXR1cm59ZGVmYXVsdDpvPSExO2JyZWFrO2Nhc2VcIlxcXFxcIjpvPSFvO2JyZWFrfX0sX3M9ZnVuY3Rpb24obil7Yyh0aGlzLG0sVXQpLmNhbGwodGhpcyxuLmtleS5zcGFuKSxFcyhuKSYmbi52YWx1ZSYmYyh0aGlzLG0sVXQpLmNhbGwodGhpcyxuLnZhbHVlLnNwYW4pfSxDcz1mdW5jdGlvbihuKXtpZighbi52YWx1ZXx8bi52YWx1ZS5zb3VyY2UpcmV0dXJuIG4udmFsdWU7bGV0IHM9dGhpcy5nZXRDaGFyYWN0ZXJJbmRleCgvXFxTLyxuLnNvdXJjZVNwYW4uc3RhcnQpO3JldHVybntzb3VyY2U6XCIkaW1wbGljaXRcIixzcGFuOntzdGFydDpzLGVuZDpzfX19LFRzPWZ1bmN0aW9uKCl7bGV0IG49TCh0aGlzLGhlKSxbc109bixyPUwodGhpcyxZKS5zbGljZShzLnNvdXJjZVNwYW4uc3RhcnQscy5zb3VyY2VTcGFuLmVuZCkudHJpbSgpLmxlbmd0aD09PTA/bi5zbGljZSgxKTpuLG89W10sYT1udWxsO2ZvcihsZXRbbCx1XW9mIHIuZW50cmllcygpKXtpZihhJiZTcyhhKSYmRXModSkmJnUudmFsdWUmJnUudmFsdWUuc291cmNlPT09YS5rZXkuc291cmNlKXtsZXQgaD1jKHRoaXMsbSxJKS5jYWxsKHRoaXMse3R5cGU6XCJOR01pY3Jvc3ludGF4S2V5XCIsbmFtZTp1LmtleS5zb3VyY2UsLi4udS5rZXkuc3Bhbn0pLGc9KHksVCk9Pih7Li4ueSwuLi50aGlzLnRyYW5zZm9ybVNwYW4oe3N0YXJ0Onkuc3RhcnQsZW5kOlR9KX0pLFM9eT0+KHsuLi5nKHksaC5lbmQpLGFsaWFzOmh9KSx3PW8ucG9wKCk7aWYody50eXBlPT09XCJOR01pY3Jvc3ludGF4RXhwcmVzc2lvblwiKW8ucHVzaChTKHcpKTtlbHNlIGlmKHcudHlwZT09PVwiTkdNaWNyb3N5bnRheEtleWVkRXhwcmVzc2lvblwiKXtsZXQgeT1TKHcuZXhwcmVzc2lvbik7by5wdXNoKGcoey4uLncsZXhwcmVzc2lvbjp5fSx5LmVuZCkpfWVsc2UgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHR5cGUgJHt3LnR5cGV9YCl9ZWxzZSBvLnB1c2goYyh0aGlzLG0sa3MpLmNhbGwodGhpcyx1LGwpKTthPXV9cmV0dXJuIGModGhpcyxtLEkpLmNhbGwodGhpcyx7dHlwZTpcIk5HTWljcm9zeW50YXhcIixib2R5Om8sLi4uby5sZW5ndGg9PT0wP25bMF0uc291cmNlU3Bhbjp7c3RhcnQ6b1swXS5zdGFydCxlbmQ6bnQoITEsbywtMSkuZW5kfX0pfSxrcz1mdW5jdGlvbihuLHMpe2lmKFNzKG4pKXtsZXR7a2V5OnIsdmFsdWU6b309bjtyZXR1cm4gbz9zPT09MD9jKHRoaXMsbSxJKS5jYWxsKHRoaXMse3R5cGU6XCJOR01pY3Jvc3ludGF4RXhwcmVzc2lvblwiLGV4cHJlc3Npb246Yyh0aGlzLG0sVnQpLmNhbGwodGhpcyxvLmFzdCksYWxpYXM6bnVsbCwuLi5vLnNvdXJjZVNwYW59KTpjKHRoaXMsbSxJKS5jYWxsKHRoaXMse3R5cGU6XCJOR01pY3Jvc3ludGF4S2V5ZWRFeHByZXNzaW9uXCIsa2V5OmModGhpcyxtLEkpLmNhbGwodGhpcyx7dHlwZTpcIk5HTWljcm9zeW50YXhLZXlcIixuYW1lOmModGhpcyxtLEh0KS5jYWxsKHRoaXMsci5zb3VyY2UpLC4uLnIuc3Bhbn0pLGV4cHJlc3Npb246Yyh0aGlzLG0sSSkuY2FsbCh0aGlzLHt0eXBlOlwiTkdNaWNyb3N5bnRheEV4cHJlc3Npb25cIixleHByZXNzaW9uOmModGhpcyxtLFZ0KS5jYWxsKHRoaXMsby5hc3QpLGFsaWFzOm51bGwsLi4uby5zb3VyY2VTcGFufSksc3RhcnQ6ci5zcGFuLnN0YXJ0LGVuZDpvLnNvdXJjZVNwYW4uZW5kfSk6Yyh0aGlzLG0sSSkuY2FsbCh0aGlzLHt0eXBlOlwiTkdNaWNyb3N5bnRheEtleVwiLG5hbWU6Yyh0aGlzLG0sSHQpLmNhbGwodGhpcyxyLnNvdXJjZSksLi4uci5zcGFufSl9ZWxzZXtsZXR7a2V5OnIsc291cmNlU3BhbjpvfT1uO2lmKC9ebGV0XFxzJC8udGVzdChMKHRoaXMsWSkuc2xpY2Uoby5zdGFydCxvLnN0YXJ0KzQpKSl7bGV0e3ZhbHVlOmx9PW47cmV0dXJuIGModGhpcyxtLEkpLmNhbGwodGhpcyx7dHlwZTpcIk5HTWljcm9zeW50YXhMZXRcIixrZXk6Yyh0aGlzLG0sSSkuY2FsbCh0aGlzLHt0eXBlOlwiTkdNaWNyb3N5bnRheEtleVwiLG5hbWU6ci5zb3VyY2UsLi4uci5zcGFufSksdmFsdWU6bD9jKHRoaXMsbSxJKS5jYWxsKHRoaXMse3R5cGU6XCJOR01pY3Jvc3ludGF4S2V5XCIsbmFtZTpsLnNvdXJjZSwuLi5sLnNwYW59KTpudWxsLHN0YXJ0Om8uc3RhcnQsZW5kOmw/bC5zcGFuLmVuZDpyLnNwYW4uZW5kfSl9ZWxzZXtsZXQgbD1jKHRoaXMsbSxDcykuY2FsbCh0aGlzLG4pO3JldHVybiBjKHRoaXMsbSxJKS5jYWxsKHRoaXMse3R5cGU6XCJOR01pY3Jvc3ludGF4QXNcIixrZXk6Yyh0aGlzLG0sSSkuY2FsbCh0aGlzLHt0eXBlOlwiTkdNaWNyb3N5bnRheEtleVwiLG5hbWU6bC5zb3VyY2UsLi4ubC5zcGFufSksYWxpYXM6Yyh0aGlzLG0sSSkuY2FsbCh0aGlzLHt0eXBlOlwiTkdNaWNyb3N5bnRheEtleVwiLG5hbWU6ci5zb3VyY2UsLi4uci5zcGFufSksc3RhcnQ6bC5zcGFuLnN0YXJ0LGVuZDpyLnNwYW4uZW5kfSl9fX07ZnVuY3Rpb24gSXModCxlKXtyZXR1cm4gbmV3IEZ0KHQsZSkuZXhwcmVzc2lvbnN9ZnVuY3Rpb24gc3Qoe3Jlc3VsdDp7YXN0OnR9LHRleHQ6ZSxjb21tZW50czpufSl7cmV0dXJuIE9iamVjdC5hc3NpZ24oeHModCxlKSx7Y29tbWVudHM6bn0pfWZ1bmN0aW9uIGJzKHtyZXN1bHQ6e3RlbXBsYXRlQmluZGluZ3M6dH0sdGV4dDplfSl7cmV0dXJuIElzKHQsZSl9dmFyIEFzPXQ9PnN0KGhzKHQpKTt2YXIgTnM9dD0+c3QoZHModCkpLFd0PXQ9PnN0KGZzKHQpKSxQcz10PT5icyhtcyh0KSk7ZnVuY3Rpb24gcXQodCl7dmFyIHMscixvO2xldCBlPSgocz10LnJhbmdlKT09bnVsbD92b2lkIDA6c1swXSk/P3Quc3RhcnQsbj0obz0oKHI9dC5kZWNsYXJhdGlvbik9PW51bGw/dm9pZCAwOnIuZGVjb3JhdG9ycyk/P3QuZGVjb3JhdG9ycyk9PW51bGw/dm9pZCAwOm9bMF07cmV0dXJuIG4/TWF0aC5taW4ocXQobiksZSk6ZX1mdW5jdGlvbiBMcyh0KXt2YXIgZTtyZXR1cm4oKGU9dC5yYW5nZSk9PW51bGw/dm9pZCAwOmVbMV0pPz90LmVuZH1mdW5jdGlvbiBydCh0KXtyZXR1cm57YXN0Rm9ybWF0OlwiZXN0cmVlXCIscGFyc2UoZSl7bGV0IG49dChlKTtyZXR1cm57dHlwZTpcIk5HUm9vdFwiLG5vZGU6dD09PVd0JiZuLnR5cGUhPT1cIk5HQ2hhaW5lZEV4cHJlc3Npb25cIj97Li4ubix0eXBlOlwiTkdDaGFpbmVkRXhwcmVzc2lvblwiLGV4cHJlc3Npb25zOltuXX06bn19LGxvY1N0YXJ0OnF0LGxvY0VuZDpMc319dmFyIFVyPXJ0KFd0KSxXcj1ydChBcykscXI9cnQoTnMpLGpyPXJ0KFBzKTt2YXIgWmk9enQ7ZXhwb3J0e1ppIGFzIGRlZmF1bHQsanQgYXMgcGFyc2Vyc307XG4iLCAidmFyIEJzPU9iamVjdC5jcmVhdGU7dmFyIFJlPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgUnM9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjt2YXIgVXM9T2JqZWN0LmdldE93blByb3BlcnR5TmFtZXM7dmFyIF9zPU9iamVjdC5nZXRQcm90b3R5cGVPZixqcz1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciAkcz0oYSx0KT0+KCk9Pih0fHxhKCh0PXtleHBvcnRzOnt9fSkuZXhwb3J0cyx0KSx0LmV4cG9ydHMpLHpzPShhLHQpPT57Zm9yKHZhciBlIGluIHQpUmUoYSxlLHtnZXQ6dFtlXSxlbnVtZXJhYmxlOiEwfSl9LFZzPShhLHQsZSxzKT0+e2lmKHQmJnR5cGVvZiB0PT1cIm9iamVjdFwifHx0eXBlb2YgdD09XCJmdW5jdGlvblwiKWZvcihsZXQgaSBvZiBVcyh0KSkhanMuY2FsbChhLGkpJiZpIT09ZSYmUmUoYSxpLHtnZXQ6KCk9PnRbaV0sZW51bWVyYWJsZTohKHM9UnModCxpKSl8fHMuZW51bWVyYWJsZX0pO3JldHVybiBhfTt2YXIgSXQ9KGEsdCxlKT0+KGU9YSE9bnVsbD9CcyhfcyhhKSk6e30sVnModHx8IWF8fCFhLl9fZXNNb2R1bGU/UmUoZSxcImRlZmF1bHRcIix7dmFsdWU6YSxlbnVtZXJhYmxlOiEwfSk6ZSxhKSk7dmFyIGd0PSRzKG1lPT57XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KG1lLFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pO2Z1bmN0aW9uIHFzKGEsdCl7aWYoYT09bnVsbClyZXR1cm57fTt2YXIgZT17fTtmb3IodmFyIHMgaW4gYSlpZih7fS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGEscykpe2lmKHQuaW5jbHVkZXMocykpY29udGludWU7ZVtzXT1hW3NdfXJldHVybiBlfXZhciBPPWNsYXNze2NvbnN0cnVjdG9yKHQsZSxzKXt0aGlzLmxpbmU9dm9pZCAwLHRoaXMuY29sdW1uPXZvaWQgMCx0aGlzLmluZGV4PXZvaWQgMCx0aGlzLmxpbmU9dCx0aGlzLmNvbHVtbj1lLHRoaXMuaW5kZXg9c319LFo9Y2xhc3N7Y29uc3RydWN0b3IodCxlKXt0aGlzLnN0YXJ0PXZvaWQgMCx0aGlzLmVuZD12b2lkIDAsdGhpcy5maWxlbmFtZT12b2lkIDAsdGhpcy5pZGVudGlmaWVyTmFtZT12b2lkIDAsdGhpcy5zdGFydD10LHRoaXMuZW5kPWV9fTtmdW5jdGlvbiB2KGEsdCl7bGV0e2xpbmU6ZSxjb2x1bW46cyxpbmRleDppfT1hO3JldHVybiBuZXcgTyhlLHMrdCxpK3QpfXZhciBOdD1cIkJBQkVMX1BBUlNFUl9TT1VSQ0VUWVBFX01PRFVMRV9SRVFVSVJFRFwiLEtzPXtJbXBvcnRNZXRhT3V0c2lkZU1vZHVsZTp7bWVzc2FnZTpgaW1wb3J0Lm1ldGEgbWF5IGFwcGVhciBvbmx5IHdpdGggJ3NvdXJjZVR5cGU6IFwibW9kdWxlXCInYCxjb2RlOk50fSxJbXBvcnRPdXRzaWRlTW9kdWxlOnttZXNzYWdlOmAnaW1wb3J0JyBhbmQgJ2V4cG9ydCcgbWF5IGFwcGVhciBvbmx5IHdpdGggJ3NvdXJjZVR5cGU6IFwibW9kdWxlXCInYCxjb2RlOk50fX0sa3Q9e0FycmF5UGF0dGVybjpcImFycmF5IGRlc3RydWN0dXJpbmcgcGF0dGVyblwiLEFzc2lnbm1lbnRFeHByZXNzaW9uOlwiYXNzaWdubWVudCBleHByZXNzaW9uXCIsQXNzaWdubWVudFBhdHRlcm46XCJhc3NpZ25tZW50IGV4cHJlc3Npb25cIixBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbjpcImFycm93IGZ1bmN0aW9uIGV4cHJlc3Npb25cIixDb25kaXRpb25hbEV4cHJlc3Npb246XCJjb25kaXRpb25hbCBleHByZXNzaW9uXCIsQ2F0Y2hDbGF1c2U6XCJjYXRjaCBjbGF1c2VcIixGb3JPZlN0YXRlbWVudDpcImZvci1vZiBzdGF0ZW1lbnRcIixGb3JJblN0YXRlbWVudDpcImZvci1pbiBzdGF0ZW1lbnRcIixGb3JTdGF0ZW1lbnQ6XCJmb3ItbG9vcFwiLEZvcm1hbFBhcmFtZXRlcnM6XCJmdW5jdGlvbiBwYXJhbWV0ZXIgbGlzdFwiLElkZW50aWZpZXI6XCJpZGVudGlmaWVyXCIsSW1wb3J0U3BlY2lmaWVyOlwiaW1wb3J0IHNwZWNpZmllclwiLEltcG9ydERlZmF1bHRTcGVjaWZpZXI6XCJpbXBvcnQgZGVmYXVsdCBzcGVjaWZpZXJcIixJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXI6XCJpbXBvcnQgbmFtZXNwYWNlIHNwZWNpZmllclwiLE9iamVjdFBhdHRlcm46XCJvYmplY3QgZGVzdHJ1Y3R1cmluZyBwYXR0ZXJuXCIsUGFyZW50aGVzaXplZEV4cHJlc3Npb246XCJwYXJlbnRoZXNpemVkIGV4cHJlc3Npb25cIixSZXN0RWxlbWVudDpcInJlc3QgZWxlbWVudFwiLFVwZGF0ZUV4cHJlc3Npb246e3RydWU6XCJwcmVmaXggb3BlcmF0aW9uXCIsZmFsc2U6XCJwb3N0Zml4IG9wZXJhdGlvblwifSxWYXJpYWJsZURlY2xhcmF0b3I6XCJ2YXJpYWJsZSBkZWNsYXJhdGlvblwiLFlpZWxkRXhwcmVzc2lvbjpcInlpZWxkIGV4cHJlc3Npb25cIn0sU2U9YT0+YS50eXBlPT09XCJVcGRhdGVFeHByZXNzaW9uXCI/a3QuVXBkYXRlRXhwcmVzc2lvbltgJHthLnByZWZpeH1gXTprdFthLnR5cGVdLEhzPXtBY2Nlc3NvcklzR2VuZXJhdG9yOih7a2luZDphfSk9PmBBICR7YX10ZXIgY2Fubm90IGJlIGEgZ2VuZXJhdG9yLmAsQXJndW1lbnRzSW5DbGFzczpcIidhcmd1bWVudHMnIGlzIG9ubHkgYWxsb3dlZCBpbiBmdW5jdGlvbnMgYW5kIGNsYXNzIG1ldGhvZHMuXCIsQXN5bmNGdW5jdGlvbkluU2luZ2xlU3RhdGVtZW50Q29udGV4dDpcIkFzeW5jIGZ1bmN0aW9ucyBjYW4gb25seSBiZSBkZWNsYXJlZCBhdCB0aGUgdG9wIGxldmVsIG9yIGluc2lkZSBhIGJsb2NrLlwiLEF3YWl0QmluZGluZ0lkZW50aWZpZXI6XCJDYW4gbm90IHVzZSAnYXdhaXQnIGFzIGlkZW50aWZpZXIgaW5zaWRlIGFuIGFzeW5jIGZ1bmN0aW9uLlwiLEF3YWl0QmluZGluZ0lkZW50aWZpZXJJblN0YXRpY0Jsb2NrOlwiQ2FuIG5vdCB1c2UgJ2F3YWl0JyBhcyBpZGVudGlmaWVyIGluc2lkZSBhIHN0YXRpYyBibG9jay5cIixBd2FpdEV4cHJlc3Npb25Gb3JtYWxQYXJhbWV0ZXI6XCInYXdhaXQnIGlzIG5vdCBhbGxvd2VkIGluIGFzeW5jIGZ1bmN0aW9uIHBhcmFtZXRlcnMuXCIsQXdhaXRVc2luZ05vdEluQXN5bmNDb250ZXh0OlwiJ2F3YWl0IHVzaW5nJyBpcyBvbmx5IGFsbG93ZWQgd2l0aGluIGFzeW5jIGZ1bmN0aW9ucyBhbmQgYXQgdGhlIHRvcCBsZXZlbHMgb2YgbW9kdWxlcy5cIixBd2FpdE5vdEluQXN5bmNDb250ZXh0OlwiJ2F3YWl0JyBpcyBvbmx5IGFsbG93ZWQgd2l0aGluIGFzeW5jIGZ1bmN0aW9ucyBhbmQgYXQgdGhlIHRvcCBsZXZlbHMgb2YgbW9kdWxlcy5cIixBd2FpdE5vdEluQXN5bmNGdW5jdGlvbjpcIidhd2FpdCcgaXMgb25seSBhbGxvd2VkIHdpdGhpbiBhc3luYyBmdW5jdGlvbnMuXCIsQmFkR2V0dGVyQXJpdHk6XCJBICdnZXQnIGFjY2Vzc29yIG11c3Qgbm90IGhhdmUgYW55IGZvcm1hbCBwYXJhbWV0ZXJzLlwiLEJhZFNldHRlckFyaXR5OlwiQSAnc2V0JyBhY2Nlc3NvciBtdXN0IGhhdmUgZXhhY3RseSBvbmUgZm9ybWFsIHBhcmFtZXRlci5cIixCYWRTZXR0ZXJSZXN0UGFyYW1ldGVyOlwiQSAnc2V0JyBhY2Nlc3NvciBmdW5jdGlvbiBhcmd1bWVudCBtdXN0IG5vdCBiZSBhIHJlc3QgcGFyYW1ldGVyLlwiLENvbnN0cnVjdG9yQ2xhc3NGaWVsZDpcIkNsYXNzZXMgbWF5IG5vdCBoYXZlIGEgZmllbGQgbmFtZWQgJ2NvbnN0cnVjdG9yJy5cIixDb25zdHJ1Y3RvckNsYXNzUHJpdmF0ZUZpZWxkOlwiQ2xhc3NlcyBtYXkgbm90IGhhdmUgYSBwcml2YXRlIGZpZWxkIG5hbWVkICcjY29uc3RydWN0b3InLlwiLENvbnN0cnVjdG9ySXNBY2Nlc3NvcjpcIkNsYXNzIGNvbnN0cnVjdG9yIG1heSBub3QgYmUgYW4gYWNjZXNzb3IuXCIsQ29uc3RydWN0b3JJc0FzeW5jOlwiQ29uc3RydWN0b3IgY2FuJ3QgYmUgYW4gYXN5bmMgZnVuY3Rpb24uXCIsQ29uc3RydWN0b3JJc0dlbmVyYXRvcjpcIkNvbnN0cnVjdG9yIGNhbid0IGJlIGEgZ2VuZXJhdG9yLlwiLERlY2xhcmF0aW9uTWlzc2luZ0luaXRpYWxpemVyOih7a2luZDphfSk9PmBNaXNzaW5nIGluaXRpYWxpemVyIGluICR7YX0gZGVjbGFyYXRpb24uYCxEZWNvcmF0b3JBcmd1bWVudHNPdXRzaWRlUGFyZW50aGVzZXM6XCJEZWNvcmF0b3IgYXJndW1lbnRzIG11c3QgYmUgbW92ZWQgaW5zaWRlIHBhcmVudGhlc2VzOiB1c2UgJ0AoZGVjb3JhdG9yKGFyZ3MpKScgaW5zdGVhZCBvZiAnQChkZWNvcmF0b3IpKGFyZ3MpJy5cIixEZWNvcmF0b3JCZWZvcmVFeHBvcnQ6XCJEZWNvcmF0b3JzIG11c3QgYmUgcGxhY2VkICpiZWZvcmUqIHRoZSAnZXhwb3J0JyBrZXl3b3JkLiBSZW1vdmUgdGhlICdkZWNvcmF0b3JzQmVmb3JlRXhwb3J0OiB0cnVlJyBvcHRpb24gdG8gdXNlIHRoZSAnZXhwb3J0IEBkZWNvcmF0b3IgY2xhc3Mge30nIHN5bnRheC5cIixEZWNvcmF0b3JzQmVmb3JlQWZ0ZXJFeHBvcnQ6XCJEZWNvcmF0b3JzIGNhbiBiZSBwbGFjZWQgKmVpdGhlciogYmVmb3JlIG9yIGFmdGVyIHRoZSAnZXhwb3J0JyBrZXl3b3JkLCBidXQgbm90IGluIGJvdGggbG9jYXRpb25zIGF0IHRoZSBzYW1lIHRpbWUuXCIsRGVjb3JhdG9yQ29uc3RydWN0b3I6XCJEZWNvcmF0b3JzIGNhbid0IGJlIHVzZWQgd2l0aCBhIGNvbnN0cnVjdG9yLiBEaWQgeW91IG1lYW4gJ0BkZWMgY2xhc3MgeyAuLi4gfSc/XCIsRGVjb3JhdG9yRXhwb3J0Q2xhc3M6XCJEZWNvcmF0b3JzIG11c3QgYmUgcGxhY2VkICphZnRlciogdGhlICdleHBvcnQnIGtleXdvcmQuIFJlbW92ZSB0aGUgJ2RlY29yYXRvcnNCZWZvcmVFeHBvcnQ6IGZhbHNlJyBvcHRpb24gdG8gdXNlIHRoZSAnQGRlY29yYXRvciBleHBvcnQgY2xhc3Mge30nIHN5bnRheC5cIixEZWNvcmF0b3JTZW1pY29sb246XCJEZWNvcmF0b3JzIG11c3Qgbm90IGJlIGZvbGxvd2VkIGJ5IGEgc2VtaWNvbG9uLlwiLERlY29yYXRvclN0YXRpY0Jsb2NrOlwiRGVjb3JhdG9ycyBjYW4ndCBiZSB1c2VkIHdpdGggYSBzdGF0aWMgYmxvY2suXCIsRGVmZXJJbXBvcnRSZXF1aXJlc05hbWVzcGFjZTonT25seSBgaW1wb3J0IGRlZmVyICogYXMgeCBmcm9tIFwiLi9tb2R1bGVcImAgaXMgdmFsaWQuJyxEZWxldGVQcml2YXRlRmllbGQ6XCJEZWxldGluZyBhIHByaXZhdGUgZmllbGQgaXMgbm90IGFsbG93ZWQuXCIsRGVzdHJ1Y3R1cmVOYW1lZEltcG9ydDpcIkVTMjAxNSBuYW1lZCBpbXBvcnRzIGRvIG5vdCBkZXN0cnVjdHVyZS4gVXNlIGFub3RoZXIgc3RhdGVtZW50IGZvciBkZXN0cnVjdHVyaW5nIGFmdGVyIHRoZSBpbXBvcnQuXCIsRHVwbGljYXRlQ29uc3RydWN0b3I6XCJEdXBsaWNhdGUgY29uc3RydWN0b3IgaW4gdGhlIHNhbWUgY2xhc3MuXCIsRHVwbGljYXRlRGVmYXVsdEV4cG9ydDpcIk9ubHkgb25lIGRlZmF1bHQgZXhwb3J0IGFsbG93ZWQgcGVyIG1vZHVsZS5cIixEdXBsaWNhdGVFeHBvcnQ6KHtleHBvcnROYW1lOmF9KT0+YFxcYCR7YX1cXGAgaGFzIGFscmVhZHkgYmVlbiBleHBvcnRlZC4gRXhwb3J0ZWQgaWRlbnRpZmllcnMgbXVzdCBiZSB1bmlxdWUuYCxEdXBsaWNhdGVQcm90bzpcIlJlZGVmaW5pdGlvbiBvZiBfX3Byb3RvX18gcHJvcGVydHkuXCIsRHVwbGljYXRlUmVnRXhwRmxhZ3M6XCJEdXBsaWNhdGUgcmVndWxhciBleHByZXNzaW9uIGZsYWcuXCIsRHluYW1pY0ltcG9ydFBoYXNlUmVxdWlyZXNJbXBvcnRFeHByZXNzaW9uczooe3BoYXNlOmF9KT0+YCdpbXBvcnQuJHthfSguLi4pJyBjYW4gb25seSBiZSBwYXJzZWQgd2hlbiB1c2luZyB0aGUgJ2NyZWF0ZUltcG9ydEV4cHJlc3Npb25zJyBvcHRpb24uYCxFbGVtZW50QWZ0ZXJSZXN0OlwiUmVzdCBlbGVtZW50IG11c3QgYmUgbGFzdCBlbGVtZW50LlwiLEVzY2FwZWRDaGFyTm90QW5JZGVudGlmaWVyOlwiSW52YWxpZCBVbmljb2RlIGVzY2FwZS5cIixFeHBvcnRCaW5kaW5nSXNTdHJpbmc6KHtsb2NhbE5hbWU6YSxleHBvcnROYW1lOnR9KT0+YEEgc3RyaW5nIGxpdGVyYWwgY2Fubm90IGJlIHVzZWQgYXMgYW4gZXhwb3J0ZWQgYmluZGluZyB3aXRob3V0IFxcYGZyb21cXGAuXG4tIERpZCB5b3UgbWVhbiBcXGBleHBvcnQgeyAnJHthfScgYXMgJyR7dH0nIH0gZnJvbSAnc29tZS1tb2R1bGUnXFxgP2AsRXhwb3J0RGVmYXVsdEZyb21Bc0lkZW50aWZpZXI6XCInZnJvbScgaXMgbm90IGFsbG93ZWQgYXMgYW4gaWRlbnRpZmllciBhZnRlciAnZXhwb3J0IGRlZmF1bHQnLlwiLEZvckluT2ZMb29wSW5pdGlhbGl6ZXI6KHt0eXBlOmF9KT0+YCcke2E9PT1cIkZvckluU3RhdGVtZW50XCI/XCJmb3ItaW5cIjpcImZvci1vZlwifScgbG9vcCB2YXJpYWJsZSBkZWNsYXJhdGlvbiBtYXkgbm90IGhhdmUgYW4gaW5pdGlhbGl6ZXIuYCxGb3JJblVzaW5nOlwiRm9yLWluIGxvb3AgbWF5IG5vdCBzdGFydCB3aXRoICd1c2luZycgZGVjbGFyYXRpb24uXCIsRm9yT2ZBc3luYzpcIlRoZSBsZWZ0LWhhbmQgc2lkZSBvZiBhIGZvci1vZiBsb29wIG1heSBub3QgYmUgJ2FzeW5jJy5cIixGb3JPZkxldDpcIlRoZSBsZWZ0LWhhbmQgc2lkZSBvZiBhIGZvci1vZiBsb29wIG1heSBub3Qgc3RhcnQgd2l0aCAnbGV0Jy5cIixHZW5lcmF0b3JJblNpbmdsZVN0YXRlbWVudENvbnRleHQ6XCJHZW5lcmF0b3JzIGNhbiBvbmx5IGJlIGRlY2xhcmVkIGF0IHRoZSB0b3AgbGV2ZWwgb3IgaW5zaWRlIGEgYmxvY2suXCIsSWxsZWdhbEJyZWFrQ29udGludWU6KHt0eXBlOmF9KT0+YFVuc3ludGFjdGljICR7YT09PVwiQnJlYWtTdGF0ZW1lbnRcIj9cImJyZWFrXCI6XCJjb250aW51ZVwifS5gLElsbGVnYWxMYW5ndWFnZU1vZGVEaXJlY3RpdmU6XCJJbGxlZ2FsICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmUgaW4gZnVuY3Rpb24gd2l0aCBub24tc2ltcGxlIHBhcmFtZXRlciBsaXN0LlwiLElsbGVnYWxSZXR1cm46XCIncmV0dXJuJyBvdXRzaWRlIG9mIGZ1bmN0aW9uLlwiLEltcG9ydEF0dHJpYnV0ZXNVc2VBc3NlcnQ6XCJUaGUgYGFzc2VydGAga2V5d29yZCBpbiBpbXBvcnQgYXR0cmlidXRlcyBpcyBkZXByZWNhdGVkIGFuZCBpdCBoYXMgYmVlbiByZXBsYWNlZCBieSB0aGUgYHdpdGhgIGtleXdvcmQuIFlvdSBjYW4gZW5hYmxlIHRoZSBgZGVwcmVjYXRlZEltcG9ydEFzc2VydGAgcGFyc2VyIHBsdWdpbiB0byBzdXBwcmVzcyB0aGlzIGVycm9yLlwiLEltcG9ydEJpbmRpbmdJc1N0cmluZzooe2ltcG9ydE5hbWU6YX0pPT5gQSBzdHJpbmcgbGl0ZXJhbCBjYW5ub3QgYmUgdXNlZCBhcyBhbiBpbXBvcnRlZCBiaW5kaW5nLlxuLSBEaWQgeW91IG1lYW4gXFxgaW1wb3J0IHsgXCIke2F9XCIgYXMgZm9vIH1cXGA/YCxJbXBvcnRDYWxsQXJpdHk6XCJgaW1wb3J0KClgIHJlcXVpcmVzIGV4YWN0bHkgb25lIG9yIHR3byBhcmd1bWVudHMuXCIsSW1wb3J0Q2FsbE5vdE5ld0V4cHJlc3Npb246XCJDYW5ub3QgdXNlIG5ldyB3aXRoIGltcG9ydCguLi4pLlwiLEltcG9ydENhbGxTcHJlYWRBcmd1bWVudDpcImAuLi5gIGlzIG5vdCBhbGxvd2VkIGluIGBpbXBvcnQoKWAuXCIsSW1wb3J0SlNPTkJpbmRpbmdOb3REZWZhdWx0OlwiQSBKU09OIG1vZHVsZSBjYW4gb25seSBiZSBpbXBvcnRlZCB3aXRoIGBkZWZhdWx0YC5cIixJbXBvcnRSZWZsZWN0aW9uSGFzQXNzZXJ0aW9uOlwiYGltcG9ydCBtb2R1bGUgeGAgY2Fubm90IGhhdmUgYXNzZXJ0aW9ucy5cIixJbXBvcnRSZWZsZWN0aW9uTm90QmluZGluZzonT25seSBgaW1wb3J0IG1vZHVsZSB4IGZyb20gXCIuL21vZHVsZVwiYCBpcyB2YWxpZC4nLEluY29tcGF0aWJsZVJlZ0V4cFVWRmxhZ3M6XCJUaGUgJ3UnIGFuZCAndicgcmVndWxhciBleHByZXNzaW9uIGZsYWdzIGNhbm5vdCBiZSBlbmFibGVkIGF0IHRoZSBzYW1lIHRpbWUuXCIsSW52YWxpZEJpZ0ludExpdGVyYWw6XCJJbnZhbGlkIEJpZ0ludExpdGVyYWwuXCIsSW52YWxpZENvZGVQb2ludDpcIkNvZGUgcG9pbnQgb3V0IG9mIGJvdW5kcy5cIixJbnZhbGlkQ292ZXJJbml0aWFsaXplZE5hbWU6XCJJbnZhbGlkIHNob3J0aGFuZCBwcm9wZXJ0eSBpbml0aWFsaXplci5cIixJbnZhbGlkRGVjaW1hbDpcIkludmFsaWQgZGVjaW1hbC5cIixJbnZhbGlkRGlnaXQ6KHtyYWRpeDphfSk9PmBFeHBlY3RlZCBudW1iZXIgaW4gcmFkaXggJHthfS5gLEludmFsaWRFc2NhcGVTZXF1ZW5jZTpcIkJhZCBjaGFyYWN0ZXIgZXNjYXBlIHNlcXVlbmNlLlwiLEludmFsaWRFc2NhcGVTZXF1ZW5jZVRlbXBsYXRlOlwiSW52YWxpZCBlc2NhcGUgc2VxdWVuY2UgaW4gdGVtcGxhdGUuXCIsSW52YWxpZEVzY2FwZWRSZXNlcnZlZFdvcmQ6KHtyZXNlcnZlZFdvcmQ6YX0pPT5gRXNjYXBlIHNlcXVlbmNlIGluIGtleXdvcmQgJHthfS5gLEludmFsaWRJZGVudGlmaWVyOih7aWRlbnRpZmllck5hbWU6YX0pPT5gSW52YWxpZCBpZGVudGlmaWVyICR7YX0uYCxJbnZhbGlkTGhzOih7YW5jZXN0b3I6YX0pPT5gSW52YWxpZCBsZWZ0LWhhbmQgc2lkZSBpbiAke1NlKGEpfS5gLEludmFsaWRMaHNCaW5kaW5nOih7YW5jZXN0b3I6YX0pPT5gQmluZGluZyBpbnZhbGlkIGxlZnQtaGFuZCBzaWRlIGluICR7U2UoYSl9LmAsSW52YWxpZExoc09wdGlvbmFsQ2hhaW5pbmc6KHthbmNlc3RvcjphfSk9PmBJbnZhbGlkIG9wdGlvbmFsIGNoYWluaW5nIGluIHRoZSBsZWZ0LWhhbmQgc2lkZSBvZiAke1NlKGEpfS5gLEludmFsaWROdW1iZXI6XCJJbnZhbGlkIG51bWJlci5cIixJbnZhbGlkT3JNaXNzaW5nRXhwb25lbnQ6XCJGbG9hdGluZy1wb2ludCBudW1iZXJzIHJlcXVpcmUgYSB2YWxpZCBleHBvbmVudCBhZnRlciB0aGUgJ2UnLlwiLEludmFsaWRPclVuZXhwZWN0ZWRUb2tlbjooe3VuZXhwZWN0ZWQ6YX0pPT5gVW5leHBlY3RlZCBjaGFyYWN0ZXIgJyR7YX0nLmAsSW52YWxpZFBhcmVudGhlc2l6ZWRBc3NpZ25tZW50OlwiSW52YWxpZCBwYXJlbnRoZXNpemVkIGFzc2lnbm1lbnQgcGF0dGVybi5cIixJbnZhbGlkUHJpdmF0ZUZpZWxkUmVzb2x1dGlvbjooe2lkZW50aWZpZXJOYW1lOmF9KT0+YFByaXZhdGUgbmFtZSAjJHthfSBpcyBub3QgZGVmaW5lZC5gLEludmFsaWRQcm9wZXJ0eUJpbmRpbmdQYXR0ZXJuOlwiQmluZGluZyBtZW1iZXIgZXhwcmVzc2lvbi5cIixJbnZhbGlkUmVjb3JkUHJvcGVydHk6XCJPbmx5IHByb3BlcnRpZXMgYW5kIHNwcmVhZCBlbGVtZW50cyBhcmUgYWxsb3dlZCBpbiByZWNvcmQgZGVmaW5pdGlvbnMuXCIsSW52YWxpZFJlc3RBc3NpZ25tZW50UGF0dGVybjpcIkludmFsaWQgcmVzdCBvcGVyYXRvcidzIGFyZ3VtZW50LlwiLExhYmVsUmVkZWNsYXJhdGlvbjooe2xhYmVsTmFtZTphfSk9PmBMYWJlbCAnJHthfScgaXMgYWxyZWFkeSBkZWNsYXJlZC5gLExldEluTGV4aWNhbEJpbmRpbmc6XCInbGV0JyBpcyBkaXNhbGxvd2VkIGFzIGEgbGV4aWNhbGx5IGJvdW5kIG5hbWUuXCIsTGluZVRlcm1pbmF0b3JCZWZvcmVBcnJvdzpcIk5vIGxpbmUgYnJlYWsgaXMgYWxsb3dlZCBiZWZvcmUgJz0+Jy5cIixNYWxmb3JtZWRSZWdFeHBGbGFnczpcIkludmFsaWQgcmVndWxhciBleHByZXNzaW9uIGZsYWcuXCIsTWlzc2luZ0NsYXNzTmFtZTpcIkEgY2xhc3MgbmFtZSBpcyByZXF1aXJlZC5cIixNaXNzaW5nRXFJbkFzc2lnbm1lbnQ6XCJPbmx5ICc9JyBvcGVyYXRvciBjYW4gYmUgdXNlZCBmb3Igc3BlY2lmeWluZyBkZWZhdWx0IHZhbHVlLlwiLE1pc3NpbmdTZW1pY29sb246XCJNaXNzaW5nIHNlbWljb2xvbi5cIixNaXNzaW5nUGx1Z2luOih7bWlzc2luZ1BsdWdpbjphfSk9PmBUaGlzIGV4cGVyaW1lbnRhbCBzeW50YXggcmVxdWlyZXMgZW5hYmxpbmcgdGhlIHBhcnNlciBwbHVnaW46ICR7YS5tYXAodD0+SlNPTi5zdHJpbmdpZnkodCkpLmpvaW4oXCIsIFwiKX0uYCxNaXNzaW5nT25lT2ZQbHVnaW5zOih7bWlzc2luZ1BsdWdpbjphfSk9PmBUaGlzIGV4cGVyaW1lbnRhbCBzeW50YXggcmVxdWlyZXMgZW5hYmxpbmcgb25lIG9mIHRoZSBmb2xsb3dpbmcgcGFyc2VyIHBsdWdpbihzKTogJHthLm1hcCh0PT5KU09OLnN0cmluZ2lmeSh0KSkuam9pbihcIiwgXCIpfS5gLE1pc3NpbmdVbmljb2RlRXNjYXBlOlwiRXhwZWN0aW5nIFVuaWNvZGUgZXNjYXBlIHNlcXVlbmNlIFxcXFx1WFhYWC5cIixNaXhpbmdDb2FsZXNjZVdpdGhMb2dpY2FsOlwiTnVsbGlzaCBjb2FsZXNjaW5nIG9wZXJhdG9yKD8/KSByZXF1aXJlcyBwYXJlbnMgd2hlbiBtaXhpbmcgd2l0aCBsb2dpY2FsIG9wZXJhdG9ycy5cIixNb2R1bGVBdHRyaWJ1dGVEaWZmZXJlbnRGcm9tVHlwZTpcIlRoZSBvbmx5IGFjY2VwdGVkIG1vZHVsZSBhdHRyaWJ1dGUgaXMgYHR5cGVgLlwiLE1vZHVsZUF0dHJpYnV0ZUludmFsaWRWYWx1ZTpcIk9ubHkgc3RyaW5nIGxpdGVyYWxzIGFyZSBhbGxvd2VkIGFzIG1vZHVsZSBhdHRyaWJ1dGUgdmFsdWVzLlwiLE1vZHVsZUF0dHJpYnV0ZXNXaXRoRHVwbGljYXRlS2V5czooe2tleTphfSk9PmBEdXBsaWNhdGUga2V5IFwiJHthfVwiIGlzIG5vdCBhbGxvd2VkIGluIG1vZHVsZSBhdHRyaWJ1dGVzLmAsTW9kdWxlRXhwb3J0TmFtZUhhc0xvbmVTdXJyb2dhdGU6KHtzdXJyb2dhdGVDaGFyQ29kZTphfSk9PmBBbiBleHBvcnQgbmFtZSBjYW5ub3QgaW5jbHVkZSBhIGxvbmUgc3Vycm9nYXRlLCBmb3VuZCAnXFxcXHUke2EudG9TdHJpbmcoMTYpfScuYCxNb2R1bGVFeHBvcnRVbmRlZmluZWQ6KHtsb2NhbE5hbWU6YX0pPT5gRXhwb3J0ICcke2F9JyBpcyBub3QgZGVmaW5lZC5gLE11bHRpcGxlRGVmYXVsdHNJblN3aXRjaDpcIk11bHRpcGxlIGRlZmF1bHQgY2xhdXNlcy5cIixOZXdsaW5lQWZ0ZXJUaHJvdzpcIklsbGVnYWwgbmV3bGluZSBhZnRlciB0aHJvdy5cIixOb0NhdGNoT3JGaW5hbGx5OlwiTWlzc2luZyBjYXRjaCBvciBmaW5hbGx5IGNsYXVzZS5cIixOdW1iZXJJZGVudGlmaWVyOlwiSWRlbnRpZmllciBkaXJlY3RseSBhZnRlciBudW1iZXIuXCIsTnVtZXJpY1NlcGFyYXRvckluRXNjYXBlU2VxdWVuY2U6XCJOdW1lcmljIHNlcGFyYXRvcnMgYXJlIG5vdCBhbGxvd2VkIGluc2lkZSB1bmljb2RlIGVzY2FwZSBzZXF1ZW5jZXMgb3IgaGV4IGVzY2FwZSBzZXF1ZW5jZXMuXCIsT2Jzb2xldGVBd2FpdFN0YXI6XCInYXdhaXQqJyBoYXMgYmVlbiByZW1vdmVkIGZyb20gdGhlIGFzeW5jIGZ1bmN0aW9ucyBwcm9wb3NhbC4gVXNlIFByb21pc2UuYWxsKCkgaW5zdGVhZC5cIixPcHRpb25hbENoYWluaW5nTm9OZXc6XCJDb25zdHJ1Y3RvcnMgaW4vYWZ0ZXIgYW4gT3B0aW9uYWwgQ2hhaW4gYXJlIG5vdCBhbGxvd2VkLlwiLE9wdGlvbmFsQ2hhaW5pbmdOb1RlbXBsYXRlOlwiVGFnZ2VkIFRlbXBsYXRlIExpdGVyYWxzIGFyZSBub3QgYWxsb3dlZCBpbiBvcHRpb25hbENoYWluLlwiLE92ZXJyaWRlT25Db25zdHJ1Y3RvcjpcIidvdmVycmlkZScgbW9kaWZpZXIgY2Fubm90IGFwcGVhciBvbiBhIGNvbnN0cnVjdG9yIGRlY2xhcmF0aW9uLlwiLFBhcmFtRHVwZTpcIkFyZ3VtZW50IG5hbWUgY2xhc2guXCIsUGF0dGVybkhhc0FjY2Vzc29yOlwiT2JqZWN0IHBhdHRlcm4gY2FuJ3QgY29udGFpbiBnZXR0ZXIgb3Igc2V0dGVyLlwiLFBhdHRlcm5IYXNNZXRob2Q6XCJPYmplY3QgcGF0dGVybiBjYW4ndCBjb250YWluIG1ldGhvZHMuXCIsUHJpdmF0ZUluRXhwZWN0ZWRJbjooe2lkZW50aWZpZXJOYW1lOmF9KT0+YFByaXZhdGUgbmFtZXMgYXJlIG9ubHkgYWxsb3dlZCBpbiBwcm9wZXJ0eSBhY2Nlc3NlcyAoXFxgb2JqLiMke2F9XFxgKSBvciBpbiBcXGBpblxcYCBleHByZXNzaW9ucyAoXFxgIyR7YX0gaW4gb2JqXFxgKS5gLFByaXZhdGVOYW1lUmVkZWNsYXJhdGlvbjooe2lkZW50aWZpZXJOYW1lOmF9KT0+YER1cGxpY2F0ZSBwcml2YXRlIG5hbWUgIyR7YX0uYCxSZWNvcmRFeHByZXNzaW9uQmFySW5jb3JyZWN0RW5kU3ludGF4VHlwZTpcIlJlY29yZCBleHByZXNzaW9ucyBlbmRpbmcgd2l0aCAnfH0nIGFyZSBvbmx5IGFsbG93ZWQgd2hlbiB0aGUgJ3N5bnRheFR5cGUnIG9wdGlvbiBvZiB0aGUgJ3JlY29yZEFuZFR1cGxlJyBwbHVnaW4gaXMgc2V0IHRvICdiYXInLlwiLFJlY29yZEV4cHJlc3Npb25CYXJJbmNvcnJlY3RTdGFydFN5bnRheFR5cGU6XCJSZWNvcmQgZXhwcmVzc2lvbnMgc3RhcnRpbmcgd2l0aCAne3wnIGFyZSBvbmx5IGFsbG93ZWQgd2hlbiB0aGUgJ3N5bnRheFR5cGUnIG9wdGlvbiBvZiB0aGUgJ3JlY29yZEFuZFR1cGxlJyBwbHVnaW4gaXMgc2V0IHRvICdiYXInLlwiLFJlY29yZEV4cHJlc3Npb25IYXNoSW5jb3JyZWN0U3RhcnRTeW50YXhUeXBlOlwiUmVjb3JkIGV4cHJlc3Npb25zIHN0YXJ0aW5nIHdpdGggJyN7JyBhcmUgb25seSBhbGxvd2VkIHdoZW4gdGhlICdzeW50YXhUeXBlJyBvcHRpb24gb2YgdGhlICdyZWNvcmRBbmRUdXBsZScgcGx1Z2luIGlzIHNldCB0byAnaGFzaCcuXCIsUmVjb3JkTm9Qcm90bzpcIidfX3Byb3RvX18nIGlzIG5vdCBhbGxvd2VkIGluIFJlY29yZCBleHByZXNzaW9ucy5cIixSZXN0VHJhaWxpbmdDb21tYTpcIlVuZXhwZWN0ZWQgdHJhaWxpbmcgY29tbWEgYWZ0ZXIgcmVzdCBlbGVtZW50LlwiLFNsb3BweUZ1bmN0aW9uOlwiSW4gbm9uLXN0cmljdCBtb2RlIGNvZGUsIGZ1bmN0aW9ucyBjYW4gb25seSBiZSBkZWNsYXJlZCBhdCB0b3AgbGV2ZWwgb3IgaW5zaWRlIGEgYmxvY2suXCIsU2xvcHB5RnVuY3Rpb25Bbm5leEI6XCJJbiBub24tc3RyaWN0IG1vZGUgY29kZSwgZnVuY3Rpb25zIGNhbiBvbmx5IGJlIGRlY2xhcmVkIGF0IHRvcCBsZXZlbCwgaW5zaWRlIGEgYmxvY2ssIG9yIGFzIHRoZSBib2R5IG9mIGFuIGlmIHN0YXRlbWVudC5cIixTb3VyY2VQaGFzZUltcG9ydFJlcXVpcmVzRGVmYXVsdDonT25seSBgaW1wb3J0IHNvdXJjZSB4IGZyb20gXCIuL21vZHVsZVwiYCBpcyB2YWxpZC4nLFN0YXRpY1Byb3RvdHlwZTpcIkNsYXNzZXMgbWF5IG5vdCBoYXZlIHN0YXRpYyBwcm9wZXJ0eSBuYW1lZCBwcm90b3R5cGUuXCIsU3VwZXJOb3RBbGxvd2VkOlwiYHN1cGVyKClgIGlzIG9ubHkgdmFsaWQgaW5zaWRlIGEgY2xhc3MgY29uc3RydWN0b3Igb2YgYSBzdWJjbGFzcy4gTWF5YmUgYSB0eXBvIGluIHRoZSBtZXRob2QgbmFtZSAoJ2NvbnN0cnVjdG9yJykgb3Igbm90IGV4dGVuZGluZyBhbm90aGVyIGNsYXNzP1wiLFN1cGVyUHJpdmF0ZUZpZWxkOlwiUHJpdmF0ZSBmaWVsZHMgY2FuJ3QgYmUgYWNjZXNzZWQgb24gc3VwZXIuXCIsVHJhaWxpbmdEZWNvcmF0b3I6XCJEZWNvcmF0b3JzIG11c3QgYmUgYXR0YWNoZWQgdG8gYSBjbGFzcyBlbGVtZW50LlwiLFR1cGxlRXhwcmVzc2lvbkJhckluY29ycmVjdEVuZFN5bnRheFR5cGU6XCJUdXBsZSBleHByZXNzaW9ucyBlbmRpbmcgd2l0aCAnfF0nIGFyZSBvbmx5IGFsbG93ZWQgd2hlbiB0aGUgJ3N5bnRheFR5cGUnIG9wdGlvbiBvZiB0aGUgJ3JlY29yZEFuZFR1cGxlJyBwbHVnaW4gaXMgc2V0IHRvICdiYXInLlwiLFR1cGxlRXhwcmVzc2lvbkJhckluY29ycmVjdFN0YXJ0U3ludGF4VHlwZTpcIlR1cGxlIGV4cHJlc3Npb25zIHN0YXJ0aW5nIHdpdGggJ1t8JyBhcmUgb25seSBhbGxvd2VkIHdoZW4gdGhlICdzeW50YXhUeXBlJyBvcHRpb24gb2YgdGhlICdyZWNvcmRBbmRUdXBsZScgcGx1Z2luIGlzIHNldCB0byAnYmFyJy5cIixUdXBsZUV4cHJlc3Npb25IYXNoSW5jb3JyZWN0U3RhcnRTeW50YXhUeXBlOlwiVHVwbGUgZXhwcmVzc2lvbnMgc3RhcnRpbmcgd2l0aCAnI1snIGFyZSBvbmx5IGFsbG93ZWQgd2hlbiB0aGUgJ3N5bnRheFR5cGUnIG9wdGlvbiBvZiB0aGUgJ3JlY29yZEFuZFR1cGxlJyBwbHVnaW4gaXMgc2V0IHRvICdoYXNoJy5cIixVbmV4cGVjdGVkQXJndW1lbnRQbGFjZWhvbGRlcjpcIlVuZXhwZWN0ZWQgYXJndW1lbnQgcGxhY2Vob2xkZXIuXCIsVW5leHBlY3RlZEF3YWl0QWZ0ZXJQaXBlbGluZUJvZHk6J1VuZXhwZWN0ZWQgXCJhd2FpdFwiIGFmdGVyIHBpcGVsaW5lIGJvZHk7IGF3YWl0IG11c3QgaGF2ZSBwYXJlbnRoZXNlcyBpbiBtaW5pbWFsIHByb3Bvc2FsLicsVW5leHBlY3RlZERpZ2l0QWZ0ZXJIYXNoOlwiVW5leHBlY3RlZCBkaWdpdCBhZnRlciBoYXNoIHRva2VuLlwiLFVuZXhwZWN0ZWRJbXBvcnRFeHBvcnQ6XCInaW1wb3J0JyBhbmQgJ2V4cG9ydCcgbWF5IG9ubHkgYXBwZWFyIGF0IHRoZSB0b3AgbGV2ZWwuXCIsVW5leHBlY3RlZEtleXdvcmQ6KHtrZXl3b3JkOmF9KT0+YFVuZXhwZWN0ZWQga2V5d29yZCAnJHthfScuYCxVbmV4cGVjdGVkTGVhZGluZ0RlY29yYXRvcjpcIkxlYWRpbmcgZGVjb3JhdG9ycyBtdXN0IGJlIGF0dGFjaGVkIHRvIGEgY2xhc3MgZGVjbGFyYXRpb24uXCIsVW5leHBlY3RlZExleGljYWxEZWNsYXJhdGlvbjpcIkxleGljYWwgZGVjbGFyYXRpb24gY2Fubm90IGFwcGVhciBpbiBhIHNpbmdsZS1zdGF0ZW1lbnQgY29udGV4dC5cIixVbmV4cGVjdGVkTmV3VGFyZ2V0OlwiYG5ldy50YXJnZXRgIGNhbiBvbmx5IGJlIHVzZWQgaW4gZnVuY3Rpb25zIG9yIGNsYXNzIHByb3BlcnRpZXMuXCIsVW5leHBlY3RlZE51bWVyaWNTZXBhcmF0b3I6XCJBIG51bWVyaWMgc2VwYXJhdG9yIGlzIG9ubHkgYWxsb3dlZCBiZXR3ZWVuIHR3byBkaWdpdHMuXCIsVW5leHBlY3RlZFByaXZhdGVGaWVsZDpcIlVuZXhwZWN0ZWQgcHJpdmF0ZSBuYW1lLlwiLFVuZXhwZWN0ZWRSZXNlcnZlZFdvcmQ6KHtyZXNlcnZlZFdvcmQ6YX0pPT5gVW5leHBlY3RlZCByZXNlcnZlZCB3b3JkICcke2F9Jy5gLFVuZXhwZWN0ZWRTdXBlcjpcIidzdXBlcicgaXMgb25seSBhbGxvd2VkIGluIG9iamVjdCBtZXRob2RzIGFuZCBjbGFzc2VzLlwiLFVuZXhwZWN0ZWRUb2tlbjooe2V4cGVjdGVkOmEsdW5leHBlY3RlZDp0fSk9PmBVbmV4cGVjdGVkIHRva2VuJHt0P2AgJyR7dH0nLmA6XCJcIn0ke2E/YCwgZXhwZWN0ZWQgXCIke2F9XCJgOlwiXCJ9YCxVbmV4cGVjdGVkVG9rZW5VbmFyeUV4cG9uZW50aWF0aW9uOlwiSWxsZWdhbCBleHByZXNzaW9uLiBXcmFwIGxlZnQgaGFuZCBzaWRlIG9yIGVudGlyZSBleHBvbmVudGlhdGlvbiBpbiBwYXJlbnRoZXNlcy5cIixVbmV4cGVjdGVkVXNpbmdEZWNsYXJhdGlvbjpcIlVzaW5nIGRlY2xhcmF0aW9uIGNhbm5vdCBhcHBlYXIgaW4gdGhlIHRvcCBsZXZlbCB3aGVuIHNvdXJjZSB0eXBlIGlzIGBzY3JpcHRgLlwiLFVuc3VwcG9ydGVkQmluZDpcIkJpbmRpbmcgc2hvdWxkIGJlIHBlcmZvcm1lZCBvbiBvYmplY3QgcHJvcGVydHkuXCIsVW5zdXBwb3J0ZWREZWNvcmF0b3JFeHBvcnQ6XCJBIGRlY29yYXRlZCBleHBvcnQgbXVzdCBleHBvcnQgYSBjbGFzcyBkZWNsYXJhdGlvbi5cIixVbnN1cHBvcnRlZERlZmF1bHRFeHBvcnQ6XCJPbmx5IGV4cHJlc3Npb25zLCBmdW5jdGlvbnMgb3IgY2xhc3NlcyBhcmUgYWxsb3dlZCBhcyB0aGUgYGRlZmF1bHRgIGV4cG9ydC5cIixVbnN1cHBvcnRlZEltcG9ydDpcImBpbXBvcnRgIGNhbiBvbmx5IGJlIHVzZWQgaW4gYGltcG9ydCgpYCBvciBgaW1wb3J0Lm1ldGFgLlwiLFVuc3VwcG9ydGVkTWV0YVByb3BlcnR5Oih7dGFyZ2V0OmEsb25seVZhbGlkUHJvcGVydHlOYW1lOnR9KT0+YFRoZSBvbmx5IHZhbGlkIG1ldGEgcHJvcGVydHkgZm9yICR7YX0gaXMgJHthfS4ke3R9LmAsVW5zdXBwb3J0ZWRQYXJhbWV0ZXJEZWNvcmF0b3I6XCJEZWNvcmF0b3JzIGNhbm5vdCBiZSB1c2VkIHRvIGRlY29yYXRlIHBhcmFtZXRlcnMuXCIsVW5zdXBwb3J0ZWRQcm9wZXJ0eURlY29yYXRvcjpcIkRlY29yYXRvcnMgY2Fubm90IGJlIHVzZWQgdG8gZGVjb3JhdGUgb2JqZWN0IGxpdGVyYWwgcHJvcGVydGllcy5cIixVbnN1cHBvcnRlZFN1cGVyOlwiJ3N1cGVyJyBjYW4gb25seSBiZSB1c2VkIHdpdGggZnVuY3Rpb24gY2FsbHMgKGkuZS4gc3VwZXIoKSkgb3IgaW4gcHJvcGVydHkgYWNjZXNzZXMgKGkuZS4gc3VwZXIucHJvcCBvciBzdXBlcltwcm9wXSkuXCIsVW50ZXJtaW5hdGVkQ29tbWVudDpcIlVudGVybWluYXRlZCBjb21tZW50LlwiLFVudGVybWluYXRlZFJlZ0V4cDpcIlVudGVybWluYXRlZCByZWd1bGFyIGV4cHJlc3Npb24uXCIsVW50ZXJtaW5hdGVkU3RyaW5nOlwiVW50ZXJtaW5hdGVkIHN0cmluZyBjb25zdGFudC5cIixVbnRlcm1pbmF0ZWRUZW1wbGF0ZTpcIlVudGVybWluYXRlZCB0ZW1wbGF0ZS5cIixVc2luZ0RlY2xhcmF0aW9uRXhwb3J0OlwiVXNpbmcgZGVjbGFyYXRpb24gY2Fubm90IGJlIGV4cG9ydGVkLlwiLFVzaW5nRGVjbGFyYXRpb25IYXNCaW5kaW5nUGF0dGVybjpcIlVzaW5nIGRlY2xhcmF0aW9uIGNhbm5vdCBoYXZlIGRlc3RydWN0dXJpbmcgcGF0dGVybnMuXCIsVmFyUmVkZWNsYXJhdGlvbjooe2lkZW50aWZpZXJOYW1lOmF9KT0+YElkZW50aWZpZXIgJyR7YX0nIGhhcyBhbHJlYWR5IGJlZW4gZGVjbGFyZWQuYCxZaWVsZEJpbmRpbmdJZGVudGlmaWVyOlwiQ2FuIG5vdCB1c2UgJ3lpZWxkJyBhcyBpZGVudGlmaWVyIGluc2lkZSBhIGdlbmVyYXRvci5cIixZaWVsZEluUGFyYW1ldGVyOlwiWWllbGQgZXhwcmVzc2lvbiBpcyBub3QgYWxsb3dlZCBpbiBmb3JtYWwgcGFyYW1ldGVycy5cIixaZXJvRGlnaXROdW1lcmljU2VwYXJhdG9yOlwiTnVtZXJpYyBzZXBhcmF0b3IgY2FuIG5vdCBiZSB1c2VkIGFmdGVyIGxlYWRpbmcgMC5cIn0sSnM9e1N0cmljdERlbGV0ZTpcIkRlbGV0aW5nIGxvY2FsIHZhcmlhYmxlIGluIHN0cmljdCBtb2RlLlwiLFN0cmljdEV2YWxBcmd1bWVudHM6KHtyZWZlcmVuY2VOYW1lOmF9KT0+YEFzc2lnbmluZyB0byAnJHthfScgaW4gc3RyaWN0IG1vZGUuYCxTdHJpY3RFdmFsQXJndW1lbnRzQmluZGluZzooe2JpbmRpbmdOYW1lOmF9KT0+YEJpbmRpbmcgJyR7YX0nIGluIHN0cmljdCBtb2RlLmAsU3RyaWN0RnVuY3Rpb246XCJJbiBzdHJpY3QgbW9kZSBjb2RlLCBmdW5jdGlvbnMgY2FuIG9ubHkgYmUgZGVjbGFyZWQgYXQgdG9wIGxldmVsIG9yIGluc2lkZSBhIGJsb2NrLlwiLFN0cmljdE51bWVyaWNFc2NhcGU6XCJUaGUgb25seSB2YWxpZCBudW1lcmljIGVzY2FwZSBpbiBzdHJpY3QgbW9kZSBpcyAnXFxcXDAnLlwiLFN0cmljdE9jdGFsTGl0ZXJhbDpcIkxlZ2FjeSBvY3RhbCBsaXRlcmFscyBhcmUgbm90IGFsbG93ZWQgaW4gc3RyaWN0IG1vZGUuXCIsU3RyaWN0V2l0aDpcIid3aXRoJyBpbiBzdHJpY3QgbW9kZS5cIn0sV3M9bmV3IFNldChbXCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiLFwiQXNzaWdubWVudEV4cHJlc3Npb25cIixcIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiLFwiWWllbGRFeHByZXNzaW9uXCJdKSxYcz17UGlwZUJvZHlJc1RpZ2h0ZXI6XCJVbmV4cGVjdGVkIHlpZWxkIGFmdGVyIHBpcGVsaW5lIGJvZHk7IGFueSB5aWVsZCBleHByZXNzaW9uIGFjdGluZyBhcyBIYWNrLXN0eWxlIHBpcGUgYm9keSBtdXN0IGJlIHBhcmVudGhlc2l6ZWQgZHVlIHRvIGl0cyBsb29zZSBvcGVyYXRvciBwcmVjZWRlbmNlLlwiLFBpcGVUb3BpY1JlcXVpcmVzSGFja1BpcGVzOidUb3BpYyByZWZlcmVuY2UgaXMgdXNlZCwgYnV0IHRoZSBwaXBlbGluZU9wZXJhdG9yIHBsdWdpbiB3YXMgbm90IHBhc3NlZCBhIFwicHJvcG9zYWxcIjogXCJoYWNrXCIgb3IgXCJzbWFydFwiIG9wdGlvbi4nLFBpcGVUb3BpY1VuYm91bmQ6XCJUb3BpYyByZWZlcmVuY2UgaXMgdW5ib3VuZDsgaXQgbXVzdCBiZSBpbnNpZGUgYSBwaXBlIGJvZHkuXCIsUGlwZVRvcGljVW5jb25maWd1cmVkVG9rZW46KHt0b2tlbjphfSk9PmBJbnZhbGlkIHRvcGljIHRva2VuICR7YX0uIEluIG9yZGVyIHRvIHVzZSAke2F9IGFzIGEgdG9waWMgcmVmZXJlbmNlLCB0aGUgcGlwZWxpbmVPcGVyYXRvciBwbHVnaW4gbXVzdCBiZSBjb25maWd1cmVkIHdpdGggeyBcInByb3Bvc2FsXCI6IFwiaGFja1wiLCBcInRvcGljVG9rZW5cIjogXCIke2F9XCIgfS5gLFBpcGVUb3BpY1VudXNlZDpcIkhhY2stc3R5bGUgcGlwZSBib2R5IGRvZXMgbm90IGNvbnRhaW4gYSB0b3BpYyByZWZlcmVuY2U7IEhhY2stc3R5bGUgcGlwZXMgbXVzdCB1c2UgdG9waWMgYXQgbGVhc3Qgb25jZS5cIixQaXBlVW5wYXJlbnRoZXNpemVkQm9keTooe3R5cGU6YX0pPT5gSGFjay1zdHlsZSBwaXBlIGJvZHkgY2Fubm90IGJlIGFuIHVucGFyZW50aGVzaXplZCAke1NlKHt0eXBlOmF9KX07IHBsZWFzZSB3cmFwIGl0IGluIHBhcmVudGhlc2VzLmAsUGlwZWxpbmVCb2R5Tm9BcnJvdzonVW5leHBlY3RlZCBhcnJvdyBcIj0+XCIgYWZ0ZXIgcGlwZWxpbmUgYm9keTsgYXJyb3cgZnVuY3Rpb24gaW4gcGlwZWxpbmUgYm9keSBtdXN0IGJlIHBhcmVudGhlc2l6ZWQuJyxQaXBlbGluZUJvZHlTZXF1ZW5jZUV4cHJlc3Npb246XCJQaXBlbGluZSBib2R5IG1heSBub3QgYmUgYSBjb21tYS1zZXBhcmF0ZWQgc2VxdWVuY2UgZXhwcmVzc2lvbi5cIixQaXBlbGluZUhlYWRTZXF1ZW5jZUV4cHJlc3Npb246XCJQaXBlbGluZSBoZWFkIHNob3VsZCBub3QgYmUgYSBjb21tYS1zZXBhcmF0ZWQgc2VxdWVuY2UgZXhwcmVzc2lvbi5cIixQaXBlbGluZVRvcGljVW51c2VkOlwiUGlwZWxpbmUgaXMgaW4gdG9waWMgc3R5bGUgYnV0IGRvZXMgbm90IHVzZSB0b3BpYyByZWZlcmVuY2UuXCIsUHJpbWFyeVRvcGljTm90QWxsb3dlZDpcIlRvcGljIHJlZmVyZW5jZSB3YXMgdXNlZCBpbiBhIGxleGljYWwgY29udGV4dCB3aXRob3V0IHRvcGljIGJpbmRpbmcuXCIsUHJpbWFyeVRvcGljUmVxdWlyZXNTbWFydFBpcGVsaW5lOidUb3BpYyByZWZlcmVuY2UgaXMgdXNlZCwgYnV0IHRoZSBwaXBlbGluZU9wZXJhdG9yIHBsdWdpbiB3YXMgbm90IHBhc3NlZCBhIFwicHJvcG9zYWxcIjogXCJoYWNrXCIgb3IgXCJzbWFydFwiIG9wdGlvbi4nfSxHcz1bXCJtZXNzYWdlXCJdO2Z1bmN0aW9uIHZ0KGEsdCxlKXtPYmplY3QuZGVmaW5lUHJvcGVydHkoYSx0LHtlbnVtZXJhYmxlOiExLGNvbmZpZ3VyYWJsZTohMCx2YWx1ZTplfSl9ZnVuY3Rpb24gWXMoe3RvTWVzc2FnZTphLGNvZGU6dCxyZWFzb25Db2RlOmUsc3ludGF4UGx1Z2luOnN9KXtsZXQgaT1lPT09XCJNaXNzaW5nUGx1Z2luXCJ8fGU9PT1cIk1pc3NpbmdPbmVPZlBsdWdpbnNcIjt7bGV0IHI9e0FjY2Vzc29yQ2Fubm90RGVjbGFyZVRoaXNQYXJhbWV0ZXI6XCJBY2Nlc29yQ2Fubm90RGVjbGFyZVRoaXNQYXJhbWV0ZXJcIixBY2Nlc3NvckNhbm5vdEhhdmVUeXBlUGFyYW1ldGVyczpcIkFjY2Vzb3JDYW5ub3RIYXZlVHlwZVBhcmFtZXRlcnNcIixDb25zdEluaXRpYWxpemVyTXVzdEJlU3RyaW5nT3JOdW1lcmljTGl0ZXJhbE9yTGl0ZXJhbEVudW1SZWZlcmVuY2U6XCJDb25zdEluaXRpYWlsaXplck11c3RCZVN0cmluZ09yTnVtZXJpY0xpdGVyYWxPckxpdGVyYWxFbnVtUmVmZXJlbmNlXCIsU2V0QWNjZXNzb3JDYW5ub3RIYXZlT3B0aW9uYWxQYXJhbWV0ZXI6XCJTZXRBY2Nlc29yQ2Fubm90SGF2ZU9wdGlvbmFsUGFyYW1ldGVyXCIsU2V0QWNjZXNzb3JDYW5ub3RIYXZlUmVzdFBhcmFtZXRlcjpcIlNldEFjY2Vzb3JDYW5ub3RIYXZlUmVzdFBhcmFtZXRlclwiLFNldEFjY2Vzc29yQ2Fubm90SGF2ZVJldHVyblR5cGU6XCJTZXRBY2Nlc29yQ2Fubm90SGF2ZVJldHVyblR5cGVcIn07cltlXSYmKGU9cltlXSl9cmV0dXJuIGZ1bmN0aW9uIHIobixvKXtsZXQgaD1uZXcgU3ludGF4RXJyb3I7cmV0dXJuIGguY29kZT10LGgucmVhc29uQ29kZT1lLGgubG9jPW4saC5wb3M9bi5pbmRleCxoLnN5bnRheFBsdWdpbj1zLGkmJihoLm1pc3NpbmdQbHVnaW49by5taXNzaW5nUGx1Z2luKSx2dChoLFwiY2xvbmVcIixmdW5jdGlvbihjPXt9KXt2YXIgdTtsZXR7bGluZTpmLGNvbHVtbjpkLGluZGV4Onh9PSh1PWMubG9jKSE9bnVsbD91Om47cmV0dXJuIHIobmV3IE8oZixkLHgpLE9iamVjdC5hc3NpZ24oe30sbyxjLmRldGFpbHMpKX0pLHZ0KGgsXCJkZXRhaWxzXCIsbyksT2JqZWN0LmRlZmluZVByb3BlcnR5KGgsXCJtZXNzYWdlXCIse2NvbmZpZ3VyYWJsZTohMCxnZXQoKXtsZXQgbD1gJHthKG8pfSAoJHtuLmxpbmV9OiR7bi5jb2x1bW59KWA7cmV0dXJuIHRoaXMubWVzc2FnZT1sLGx9LHNldChsKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxcIm1lc3NhZ2VcIix7dmFsdWU6bCx3cml0YWJsZTohMH0pfX0pLGh9fWZ1bmN0aW9uIFUoYSx0KXtpZihBcnJheS5pc0FycmF5KGEpKXJldHVybiBzPT5VKHMsYVswXSk7bGV0IGU9e307Zm9yKGxldCBzIG9mIE9iamVjdC5rZXlzKGEpKXtsZXQgaT1hW3NdLHI9dHlwZW9mIGk9PVwic3RyaW5nXCI/e21lc3NhZ2U6KCk9Pml9OnR5cGVvZiBpPT1cImZ1bmN0aW9uXCI/e21lc3NhZ2U6aX06aSx7bWVzc2FnZTpufT1yLG89cXMocixHcyksaD10eXBlb2Ygbj09XCJzdHJpbmdcIj8oKT0+bjpuO2Vbc109WXMoT2JqZWN0LmFzc2lnbih7Y29kZTpcIkJBQkVMX1BBUlNFUl9TWU5UQVhfRVJST1JcIixyZWFzb25Db2RlOnMsdG9NZXNzYWdlOmh9LHQ/e3N5bnRheFBsdWdpbjp0fTp7fSxvKSl9cmV0dXJuIGV9dmFyIHA9T2JqZWN0LmFzc2lnbih7fSxVKEtzKSxVKEhzKSxVKEpzKSxVYHBpcGVsaW5lT3BlcmF0b3JgKFhzKSkse2RlZmluZVByb3BlcnR5OlFzfT1PYmplY3QsTHQ9KGEsdCk9PnthJiZRcyhhLHQse2VudW1lcmFibGU6ITEsdmFsdWU6YVt0XX0pfTtmdW5jdGlvbiBuZShhKXtyZXR1cm4gTHQoYS5sb2Muc3RhcnQsXCJpbmRleFwiKSxMdChhLmxvYy5lbmQsXCJpbmRleFwiKSxhfXZhciBacz1hPT5jbGFzcyBleHRlbmRzIGF7cGFyc2UoKXtsZXQgZT1uZShzdXBlci5wYXJzZSgpKTtyZXR1cm4gdGhpcy5vcHRpb25zLnRva2VucyYmKGUudG9rZW5zPWUudG9rZW5zLm1hcChuZSkpLGV9cGFyc2VSZWdFeHBMaXRlcmFsKHtwYXR0ZXJuOmUsZmxhZ3M6c30pe2xldCBpPW51bGw7dHJ5e2k9bmV3IFJlZ0V4cChlLHMpfWNhdGNoe31sZXQgcj10aGlzLmVzdHJlZVBhcnNlTGl0ZXJhbChpKTtyZXR1cm4gci5yZWdleD17cGF0dGVybjplLGZsYWdzOnN9LHJ9cGFyc2VCaWdJbnRMaXRlcmFsKGUpe2xldCBzO3RyeXtzPUJpZ0ludChlKX1jYXRjaHtzPW51bGx9bGV0IGk9dGhpcy5lc3RyZWVQYXJzZUxpdGVyYWwocyk7cmV0dXJuIGkuYmlnaW50PVN0cmluZyhpLnZhbHVlfHxlKSxpfXBhcnNlRGVjaW1hbExpdGVyYWwoZSl7bGV0IGk9dGhpcy5lc3RyZWVQYXJzZUxpdGVyYWwobnVsbCk7cmV0dXJuIGkuZGVjaW1hbD1TdHJpbmcoaS52YWx1ZXx8ZSksaX1lc3RyZWVQYXJzZUxpdGVyYWwoZSl7cmV0dXJuIHRoaXMucGFyc2VMaXRlcmFsKGUsXCJMaXRlcmFsXCIpfXBhcnNlU3RyaW5nTGl0ZXJhbChlKXtyZXR1cm4gdGhpcy5lc3RyZWVQYXJzZUxpdGVyYWwoZSl9cGFyc2VOdW1lcmljTGl0ZXJhbChlKXtyZXR1cm4gdGhpcy5lc3RyZWVQYXJzZUxpdGVyYWwoZSl9cGFyc2VOdWxsTGl0ZXJhbCgpe3JldHVybiB0aGlzLmVzdHJlZVBhcnNlTGl0ZXJhbChudWxsKX1wYXJzZUJvb2xlYW5MaXRlcmFsKGUpe3JldHVybiB0aGlzLmVzdHJlZVBhcnNlTGl0ZXJhbChlKX1kaXJlY3RpdmVUb1N0bXQoZSl7bGV0IHM9ZS52YWx1ZTtkZWxldGUgZS52YWx1ZSxzLnR5cGU9XCJMaXRlcmFsXCIscy5yYXc9cy5leHRyYS5yYXcscy52YWx1ZT1zLmV4dHJhLmV4cHJlc3Npb25WYWx1ZTtsZXQgaT1lO3JldHVybiBpLnR5cGU9XCJFeHByZXNzaW9uU3RhdGVtZW50XCIsaS5leHByZXNzaW9uPXMsaS5kaXJlY3RpdmU9cy5leHRyYS5yYXdWYWx1ZSxkZWxldGUgcy5leHRyYSxpfWluaXRGdW5jdGlvbihlLHMpe3N1cGVyLmluaXRGdW5jdGlvbihlLHMpLGUuZXhwcmVzc2lvbj0hMX1jaGVja0RlY2xhcmF0aW9uKGUpe2UhPW51bGwmJnRoaXMuaXNPYmplY3RQcm9wZXJ0eShlKT90aGlzLmNoZWNrRGVjbGFyYXRpb24oZS52YWx1ZSk6c3VwZXIuY2hlY2tEZWNsYXJhdGlvbihlKX1nZXRPYmplY3RPckNsYXNzTWV0aG9kUGFyYW1zKGUpe3JldHVybiBlLnZhbHVlLnBhcmFtc31pc1ZhbGlkRGlyZWN0aXZlKGUpe3ZhciBzO3JldHVybiBlLnR5cGU9PT1cIkV4cHJlc3Npb25TdGF0ZW1lbnRcIiYmZS5leHByZXNzaW9uLnR5cGU9PT1cIkxpdGVyYWxcIiYmdHlwZW9mIGUuZXhwcmVzc2lvbi52YWx1ZT09XCJzdHJpbmdcIiYmISgocz1lLmV4cHJlc3Npb24uZXh0cmEpIT1udWxsJiZzLnBhcmVudGhlc2l6ZWQpfXBhcnNlQmxvY2tCb2R5KGUscyxpLHIsbil7c3VwZXIucGFyc2VCbG9ja0JvZHkoZSxzLGkscixuKTtsZXQgbz1lLmRpcmVjdGl2ZXMubWFwKGg9PnRoaXMuZGlyZWN0aXZlVG9TdG10KGgpKTtlLmJvZHk9by5jb25jYXQoZS5ib2R5KSxkZWxldGUgZS5kaXJlY3RpdmVzfXB1c2hDbGFzc01ldGhvZChlLHMsaSxyLG4sbyl7dGhpcy5wYXJzZU1ldGhvZChzLGkscixuLG8sXCJDbGFzc01ldGhvZFwiLCEwKSxzLnR5cGVQYXJhbWV0ZXJzJiYocy52YWx1ZS50eXBlUGFyYW1ldGVycz1zLnR5cGVQYXJhbWV0ZXJzLGRlbGV0ZSBzLnR5cGVQYXJhbWV0ZXJzKSxlLmJvZHkucHVzaChzKX1wYXJzZVByaXZhdGVOYW1lKCl7bGV0IGU9c3VwZXIucGFyc2VQcml2YXRlTmFtZSgpO3JldHVybiB0aGlzLmdldFBsdWdpbk9wdGlvbihcImVzdHJlZVwiLFwiY2xhc3NGZWF0dXJlc1wiKT90aGlzLmNvbnZlcnRQcml2YXRlTmFtZVRvUHJpdmF0ZUlkZW50aWZpZXIoZSk6ZX1jb252ZXJ0UHJpdmF0ZU5hbWVUb1ByaXZhdGVJZGVudGlmaWVyKGUpe2xldCBzPXN1cGVyLmdldFByaXZhdGVOYW1lU1YoZSk7cmV0dXJuIGU9ZSxkZWxldGUgZS5pZCxlLm5hbWU9cyxlLnR5cGU9XCJQcml2YXRlSWRlbnRpZmllclwiLGV9aXNQcml2YXRlTmFtZShlKXtyZXR1cm4gdGhpcy5nZXRQbHVnaW5PcHRpb24oXCJlc3RyZWVcIixcImNsYXNzRmVhdHVyZXNcIik/ZS50eXBlPT09XCJQcml2YXRlSWRlbnRpZmllclwiOnN1cGVyLmlzUHJpdmF0ZU5hbWUoZSl9Z2V0UHJpdmF0ZU5hbWVTVihlKXtyZXR1cm4gdGhpcy5nZXRQbHVnaW5PcHRpb24oXCJlc3RyZWVcIixcImNsYXNzRmVhdHVyZXNcIik/ZS5uYW1lOnN1cGVyLmdldFByaXZhdGVOYW1lU1YoZSl9cGFyc2VMaXRlcmFsKGUscyl7bGV0IGk9c3VwZXIucGFyc2VMaXRlcmFsKGUscyk7cmV0dXJuIGkucmF3PWkuZXh0cmEucmF3LGRlbGV0ZSBpLmV4dHJhLGl9cGFyc2VGdW5jdGlvbkJvZHkoZSxzLGk9ITEpe3N1cGVyLnBhcnNlRnVuY3Rpb25Cb2R5KGUscyxpKSxlLmV4cHJlc3Npb249ZS5ib2R5LnR5cGUhPT1cIkJsb2NrU3RhdGVtZW50XCJ9cGFyc2VNZXRob2QoZSxzLGkscixuLG8saD0hMSl7bGV0IGw9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gbC5raW5kPWUua2luZCxsPXN1cGVyLnBhcnNlTWV0aG9kKGwscyxpLHIsbixvLGgpLGwudHlwZT1cIkZ1bmN0aW9uRXhwcmVzc2lvblwiLGRlbGV0ZSBsLmtpbmQsZS52YWx1ZT1sLG89PT1cIkNsYXNzUHJpdmF0ZU1ldGhvZFwiJiYoZS5jb21wdXRlZD0hMSksdGhpcy5maW5pc2hOb2RlKGUsXCJNZXRob2REZWZpbml0aW9uXCIpfW5hbWVJc0NvbnN0cnVjdG9yKGUpe3JldHVybiBlLnR5cGU9PT1cIkxpdGVyYWxcIj9lLnZhbHVlPT09XCJjb25zdHJ1Y3RvclwiOnN1cGVyLm5hbWVJc0NvbnN0cnVjdG9yKGUpfXBhcnNlQ2xhc3NQcm9wZXJ0eSguLi5lKXtsZXQgcz1zdXBlci5wYXJzZUNsYXNzUHJvcGVydHkoLi4uZSk7cmV0dXJuIHRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwiZXN0cmVlXCIsXCJjbGFzc0ZlYXR1cmVzXCIpJiYocy50eXBlPVwiUHJvcGVydHlEZWZpbml0aW9uXCIpLHN9cGFyc2VDbGFzc1ByaXZhdGVQcm9wZXJ0eSguLi5lKXtsZXQgcz1zdXBlci5wYXJzZUNsYXNzUHJpdmF0ZVByb3BlcnR5KC4uLmUpO3JldHVybiB0aGlzLmdldFBsdWdpbk9wdGlvbihcImVzdHJlZVwiLFwiY2xhc3NGZWF0dXJlc1wiKSYmKHMudHlwZT1cIlByb3BlcnR5RGVmaW5pdGlvblwiLHMuY29tcHV0ZWQ9ITEpLHN9cGFyc2VPYmplY3RNZXRob2QoZSxzLGkscixuKXtsZXQgbz1zdXBlci5wYXJzZU9iamVjdE1ldGhvZChlLHMsaSxyLG4pO3JldHVybiBvJiYoby50eXBlPVwiUHJvcGVydHlcIixvLmtpbmQ9PT1cIm1ldGhvZFwiJiYoby5raW5kPVwiaW5pdFwiKSxvLnNob3J0aGFuZD0hMSksb31wYXJzZU9iamVjdFByb3BlcnR5KGUscyxpLHIpe2xldCBuPXN1cGVyLnBhcnNlT2JqZWN0UHJvcGVydHkoZSxzLGkscik7cmV0dXJuIG4mJihuLmtpbmQ9XCJpbml0XCIsbi50eXBlPVwiUHJvcGVydHlcIiksbn1pc1ZhbGlkTFZhbChlLHMsaSl7cmV0dXJuIGU9PT1cIlByb3BlcnR5XCI/XCJ2YWx1ZVwiOnN1cGVyLmlzVmFsaWRMVmFsKGUscyxpKX1pc0Fzc2lnbmFibGUoZSxzKXtyZXR1cm4gZSE9bnVsbCYmdGhpcy5pc09iamVjdFByb3BlcnR5KGUpP3RoaXMuaXNBc3NpZ25hYmxlKGUudmFsdWUscyk6c3VwZXIuaXNBc3NpZ25hYmxlKGUscyl9dG9Bc3NpZ25hYmxlKGUscz0hMSl7aWYoZSE9bnVsbCYmdGhpcy5pc09iamVjdFByb3BlcnR5KGUpKXtsZXR7a2V5OmksdmFsdWU6cn09ZTt0aGlzLmlzUHJpdmF0ZU5hbWUoaSkmJnRoaXMuY2xhc3NTY29wZS51c2VQcml2YXRlTmFtZSh0aGlzLmdldFByaXZhdGVOYW1lU1YoaSksaS5sb2Muc3RhcnQpLHRoaXMudG9Bc3NpZ25hYmxlKHIscyl9ZWxzZSBzdXBlci50b0Fzc2lnbmFibGUoZSxzKX10b0Fzc2lnbmFibGVPYmplY3RFeHByZXNzaW9uUHJvcChlLHMsaSl7ZS50eXBlPT09XCJQcm9wZXJ0eVwiJiYoZS5raW5kPT09XCJnZXRcInx8ZS5raW5kPT09XCJzZXRcIik/dGhpcy5yYWlzZShwLlBhdHRlcm5IYXNBY2Nlc3NvcixlLmtleSk6ZS50eXBlPT09XCJQcm9wZXJ0eVwiJiZlLm1ldGhvZD90aGlzLnJhaXNlKHAuUGF0dGVybkhhc01ldGhvZCxlLmtleSk6c3VwZXIudG9Bc3NpZ25hYmxlT2JqZWN0RXhwcmVzc2lvblByb3AoZSxzLGkpfWZpbmlzaENhbGxFeHByZXNzaW9uKGUscyl7bGV0IGk9c3VwZXIuZmluaXNoQ2FsbEV4cHJlc3Npb24oZSxzKTtpZihpLmNhbGxlZS50eXBlPT09XCJJbXBvcnRcIil7dmFyIHIsbjtpLnR5cGU9XCJJbXBvcnRFeHByZXNzaW9uXCIsaS5zb3VyY2U9aS5hcmd1bWVudHNbMF0saS5vcHRpb25zPShyPWkuYXJndW1lbnRzWzFdKSE9bnVsbD9yOm51bGwsaS5hdHRyaWJ1dGVzPShuPWkuYXJndW1lbnRzWzFdKSE9bnVsbD9uOm51bGwsZGVsZXRlIGkuYXJndW1lbnRzLGRlbGV0ZSBpLmNhbGxlZX1yZXR1cm4gaX10b1JlZmVyZW5jZWRBcmd1bWVudHMoZSl7ZS50eXBlIT09XCJJbXBvcnRFeHByZXNzaW9uXCImJnN1cGVyLnRvUmVmZXJlbmNlZEFyZ3VtZW50cyhlKX1wYXJzZUV4cG9ydChlLHMpe2xldCBpPXRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jLHI9c3VwZXIucGFyc2VFeHBvcnQoZSxzKTtzd2l0Y2goci50eXBlKXtjYXNlXCJFeHBvcnRBbGxEZWNsYXJhdGlvblwiOnIuZXhwb3J0ZWQ9bnVsbDticmVhaztjYXNlXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCI6ci5zcGVjaWZpZXJzLmxlbmd0aD09PTEmJnIuc3BlY2lmaWVyc1swXS50eXBlPT09XCJFeHBvcnROYW1lc3BhY2VTcGVjaWZpZXJcIiYmKHIudHlwZT1cIkV4cG9ydEFsbERlY2xhcmF0aW9uXCIsci5leHBvcnRlZD1yLnNwZWNpZmllcnNbMF0uZXhwb3J0ZWQsZGVsZXRlIHIuc3BlY2lmaWVycyk7Y2FzZVwiRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXCI6e3ZhciBuO2xldHtkZWNsYXJhdGlvbjpvfT1yOyhvPT1udWxsP3ZvaWQgMDpvLnR5cGUpPT09XCJDbGFzc0RlY2xhcmF0aW9uXCImJigobj1vLmRlY29yYXRvcnMpPT1udWxsP3ZvaWQgMDpuLmxlbmd0aCk+MCYmby5zdGFydD09PXIuc3RhcnQmJnRoaXMucmVzZXRTdGFydExvY2F0aW9uKHIsaSl9YnJlYWt9cmV0dXJuIHJ9cGFyc2VTdWJzY3JpcHQoZSxzLGkscil7bGV0IG49c3VwZXIucGFyc2VTdWJzY3JpcHQoZSxzLGkscik7aWYoci5vcHRpb25hbENoYWluTWVtYmVyKXtpZigobi50eXBlPT09XCJPcHRpb25hbE1lbWJlckV4cHJlc3Npb25cInx8bi50eXBlPT09XCJPcHRpb25hbENhbGxFeHByZXNzaW9uXCIpJiYobi50eXBlPW4udHlwZS5zdWJzdHJpbmcoOCkpLHIuc3RvcCl7bGV0IG89dGhpcy5zdGFydE5vZGVBdE5vZGUobik7cmV0dXJuIG8uZXhwcmVzc2lvbj1uLHRoaXMuZmluaXNoTm9kZShvLFwiQ2hhaW5FeHByZXNzaW9uXCIpfX1lbHNlKG4udHlwZT09PVwiTWVtYmVyRXhwcmVzc2lvblwifHxuLnR5cGU9PT1cIkNhbGxFeHByZXNzaW9uXCIpJiYobi5vcHRpb25hbD0hMSk7cmV0dXJuIG59aXNPcHRpb25hbE1lbWJlckV4cHJlc3Npb24oZSl7cmV0dXJuIGUudHlwZT09PVwiQ2hhaW5FeHByZXNzaW9uXCI/ZS5leHByZXNzaW9uLnR5cGU9PT1cIk1lbWJlckV4cHJlc3Npb25cIjpzdXBlci5pc09wdGlvbmFsTWVtYmVyRXhwcmVzc2lvbihlKX1oYXNQcm9wZXJ0eUFzUHJpdmF0ZU5hbWUoZSl7cmV0dXJuIGUudHlwZT09PVwiQ2hhaW5FeHByZXNzaW9uXCImJihlPWUuZXhwcmVzc2lvbiksc3VwZXIuaGFzUHJvcGVydHlBc1ByaXZhdGVOYW1lKGUpfWlzT2JqZWN0UHJvcGVydHkoZSl7cmV0dXJuIGUudHlwZT09PVwiUHJvcGVydHlcIiYmZS5raW5kPT09XCJpbml0XCImJiFlLm1ldGhvZH1pc09iamVjdE1ldGhvZChlKXtyZXR1cm4gZS50eXBlPT09XCJQcm9wZXJ0eVwiJiYoZS5tZXRob2R8fGUua2luZD09PVwiZ2V0XCJ8fGUua2luZD09PVwic2V0XCIpfWZpbmlzaE5vZGVBdChlLHMsaSl7cmV0dXJuIG5lKHN1cGVyLmZpbmlzaE5vZGVBdChlLHMsaSkpfXJlc2V0U3RhcnRMb2NhdGlvbihlLHMpe3N1cGVyLnJlc2V0U3RhcnRMb2NhdGlvbihlLHMpLG5lKGUpfXJlc2V0RW5kTG9jYXRpb24oZSxzPXRoaXMuc3RhdGUubGFzdFRva0VuZExvYyl7c3VwZXIucmVzZXRFbmRMb2NhdGlvbihlLHMpLG5lKGUpfX0sSj1jbGFzc3tjb25zdHJ1Y3Rvcih0LGUpe3RoaXMudG9rZW49dm9pZCAwLHRoaXMucHJlc2VydmVTcGFjZT12b2lkIDAsdGhpcy50b2tlbj10LHRoaXMucHJlc2VydmVTcGFjZT0hIWV9fSxFPXticmFjZTpuZXcgSihcIntcIiksal9vVGFnOm5ldyBKKFwiPHRhZ1wiKSxqX2NUYWc6bmV3IEooXCI8L3RhZ1wiKSxqX2V4cHI6bmV3IEooXCI8dGFnPi4uLjwvdGFnPlwiLCEwKX07RS50ZW1wbGF0ZT1uZXcgSihcImBcIiwhMCk7dmFyIGI9ITAsbT0hMCxVZT0hMCxvZT0hMCx6PSEwLGVpPSEwLEVlPWNsYXNze2NvbnN0cnVjdG9yKHQsZT17fSl7dGhpcy5sYWJlbD12b2lkIDAsdGhpcy5rZXl3b3JkPXZvaWQgMCx0aGlzLmJlZm9yZUV4cHI9dm9pZCAwLHRoaXMuc3RhcnRzRXhwcj12b2lkIDAsdGhpcy5yaWdodEFzc29jaWF0aXZlPXZvaWQgMCx0aGlzLmlzTG9vcD12b2lkIDAsdGhpcy5pc0Fzc2lnbj12b2lkIDAsdGhpcy5wcmVmaXg9dm9pZCAwLHRoaXMucG9zdGZpeD12b2lkIDAsdGhpcy5iaW5vcD12b2lkIDAsdGhpcy5sYWJlbD10LHRoaXMua2V5d29yZD1lLmtleXdvcmQsdGhpcy5iZWZvcmVFeHByPSEhZS5iZWZvcmVFeHByLHRoaXMuc3RhcnRzRXhwcj0hIWUuc3RhcnRzRXhwcix0aGlzLnJpZ2h0QXNzb2NpYXRpdmU9ISFlLnJpZ2h0QXNzb2NpYXRpdmUsdGhpcy5pc0xvb3A9ISFlLmlzTG9vcCx0aGlzLmlzQXNzaWduPSEhZS5pc0Fzc2lnbix0aGlzLnByZWZpeD0hIWUucHJlZml4LHRoaXMucG9zdGZpeD0hIWUucG9zdGZpeCx0aGlzLmJpbm9wPWUuYmlub3AhPW51bGw/ZS5iaW5vcDpudWxsLHRoaXMudXBkYXRlQ29udGV4dD1udWxsfX0sbHQ9bmV3IE1hcDtmdW5jdGlvbiBBKGEsdD17fSl7dC5rZXl3b3JkPWE7bGV0IGU9UChhLHQpO3JldHVybiBsdC5zZXQoYSxlKSxlfWZ1bmN0aW9uIGsoYSx0KXtyZXR1cm4gUChhLHtiZWZvcmVFeHByOmIsYmlub3A6dH0pfXZhciBwZT0tMSxCPVtdLGN0PVtdLHB0PVtdLHV0PVtdLGZ0PVtdLGR0PVtdO2Z1bmN0aW9uIFAoYSx0PXt9KXt2YXIgZSxzLGkscjtyZXR1cm4rK3BlLGN0LnB1c2goYSkscHQucHVzaCgoZT10LmJpbm9wKSE9bnVsbD9lOi0xKSx1dC5wdXNoKChzPXQuYmVmb3JlRXhwcikhPW51bGw/czohMSksZnQucHVzaCgoaT10LnN0YXJ0c0V4cHIpIT1udWxsP2k6ITEpLGR0LnB1c2goKHI9dC5wcmVmaXgpIT1udWxsP3I6ITEpLEIucHVzaChuZXcgRWUoYSx0KSkscGV9ZnVuY3Rpb24gVChhLHQ9e30pe3ZhciBlLHMsaSxyO3JldHVybisrcGUsbHQuc2V0KGEscGUpLGN0LnB1c2goYSkscHQucHVzaCgoZT10LmJpbm9wKSE9bnVsbD9lOi0xKSx1dC5wdXNoKChzPXQuYmVmb3JlRXhwcikhPW51bGw/czohMSksZnQucHVzaCgoaT10LnN0YXJ0c0V4cHIpIT1udWxsP2k6ITEpLGR0LnB1c2goKHI9dC5wcmVmaXgpIT1udWxsP3I6ITEpLEIucHVzaChuZXcgRWUoXCJuYW1lXCIsdCkpLHBlfXZhciB0aT17YnJhY2tldEw6UChcIltcIix7YmVmb3JlRXhwcjpiLHN0YXJ0c0V4cHI6bX0pLGJyYWNrZXRIYXNoTDpQKFwiI1tcIix7YmVmb3JlRXhwcjpiLHN0YXJ0c0V4cHI6bX0pLGJyYWNrZXRCYXJMOlAoXCJbfFwiLHtiZWZvcmVFeHByOmIsc3RhcnRzRXhwcjptfSksYnJhY2tldFI6UChcIl1cIiksYnJhY2tldEJhclI6UChcInxdXCIpLGJyYWNlTDpQKFwie1wiLHtiZWZvcmVFeHByOmIsc3RhcnRzRXhwcjptfSksYnJhY2VCYXJMOlAoXCJ7fFwiLHtiZWZvcmVFeHByOmIsc3RhcnRzRXhwcjptfSksYnJhY2VIYXNoTDpQKFwiI3tcIix7YmVmb3JlRXhwcjpiLHN0YXJ0c0V4cHI6bX0pLGJyYWNlUjpQKFwifVwiKSxicmFjZUJhclI6UChcInx9XCIpLHBhcmVuTDpQKFwiKFwiLHtiZWZvcmVFeHByOmIsc3RhcnRzRXhwcjptfSkscGFyZW5SOlAoXCIpXCIpLGNvbW1hOlAoXCIsXCIse2JlZm9yZUV4cHI6Yn0pLHNlbWk6UChcIjtcIix7YmVmb3JlRXhwcjpifSksY29sb246UChcIjpcIix7YmVmb3JlRXhwcjpifSksZG91YmxlQ29sb246UChcIjo6XCIse2JlZm9yZUV4cHI6Yn0pLGRvdDpQKFwiLlwiKSxxdWVzdGlvbjpQKFwiP1wiLHtiZWZvcmVFeHByOmJ9KSxxdWVzdGlvbkRvdDpQKFwiPy5cIiksYXJyb3c6UChcIj0+XCIse2JlZm9yZUV4cHI6Yn0pLHRlbXBsYXRlOlAoXCJ0ZW1wbGF0ZVwiKSxlbGxpcHNpczpQKFwiLi4uXCIse2JlZm9yZUV4cHI6Yn0pLGJhY2tRdW90ZTpQKFwiYFwiLHtzdGFydHNFeHByOm19KSxkb2xsYXJCcmFjZUw6UChcIiR7XCIse2JlZm9yZUV4cHI6YixzdGFydHNFeHByOm19KSx0ZW1wbGF0ZVRhaWw6UChcIi4uLmBcIix7c3RhcnRzRXhwcjptfSksdGVtcGxhdGVOb25UYWlsOlAoXCIuLi4ke1wiLHtiZWZvcmVFeHByOmIsc3RhcnRzRXhwcjptfSksYXQ6UChcIkBcIiksaGFzaDpQKFwiI1wiLHtzdGFydHNFeHByOm19KSxpbnRlcnByZXRlckRpcmVjdGl2ZTpQKFwiIyEuLi5cIiksZXE6UChcIj1cIix7YmVmb3JlRXhwcjpiLGlzQXNzaWduOm9lfSksYXNzaWduOlAoXCJfPVwiLHtiZWZvcmVFeHByOmIsaXNBc3NpZ246b2V9KSxzbGFzaEFzc2lnbjpQKFwiXz1cIix7YmVmb3JlRXhwcjpiLGlzQXNzaWduOm9lfSkseG9yQXNzaWduOlAoXCJfPVwiLHtiZWZvcmVFeHByOmIsaXNBc3NpZ246b2V9KSxtb2R1bG9Bc3NpZ246UChcIl89XCIse2JlZm9yZUV4cHI6Yixpc0Fzc2lnbjpvZX0pLGluY0RlYzpQKFwiKysvLS1cIix7cHJlZml4OnoscG9zdGZpeDplaSxzdGFydHNFeHByOm19KSxiYW5nOlAoXCIhXCIse2JlZm9yZUV4cHI6YixwcmVmaXg6eixzdGFydHNFeHByOm19KSx0aWxkZTpQKFwiflwiLHtiZWZvcmVFeHByOmIscHJlZml4Onosc3RhcnRzRXhwcjptfSksZG91YmxlQ2FyZXQ6UChcIl5eXCIse3N0YXJ0c0V4cHI6bX0pLGRvdWJsZUF0OlAoXCJAQFwiLHtzdGFydHNFeHByOm19KSxwaXBlbGluZTprKFwifD5cIiwwKSxudWxsaXNoQ29hbGVzY2luZzprKFwiPz9cIiwxKSxsb2dpY2FsT1I6ayhcInx8XCIsMSksbG9naWNhbEFORDprKFwiJiZcIiwyKSxiaXR3aXNlT1I6ayhcInxcIiwzKSxiaXR3aXNlWE9SOmsoXCJeXCIsNCksYml0d2lzZUFORDprKFwiJlwiLDUpLGVxdWFsaXR5OmsoXCI9PS8hPS89PT0vIT09XCIsNiksbHQ6ayhcIjwvPi88PS8+PVwiLDcpLGd0OmsoXCI8Lz4vPD0vPj1cIiw3KSxyZWxhdGlvbmFsOmsoXCI8Lz4vPD0vPj1cIiw3KSxiaXRTaGlmdDprKFwiPDwvPj4vPj4+XCIsOCksYml0U2hpZnRMOmsoXCI8PC8+Pi8+Pj5cIiw4KSxiaXRTaGlmdFI6ayhcIjw8Lz4+Lz4+PlwiLDgpLHBsdXNNaW46UChcIisvLVwiLHtiZWZvcmVFeHByOmIsYmlub3A6OSxwcmVmaXg6eixzdGFydHNFeHByOm19KSxtb2R1bG86UChcIiVcIix7Ymlub3A6MTAsc3RhcnRzRXhwcjptfSksc3RhcjpQKFwiKlwiLHtiaW5vcDoxMH0pLHNsYXNoOmsoXCIvXCIsMTApLGV4cG9uZW50OlAoXCIqKlwiLHtiZWZvcmVFeHByOmIsYmlub3A6MTEscmlnaHRBc3NvY2lhdGl2ZTohMH0pLF9pbjpBKFwiaW5cIix7YmVmb3JlRXhwcjpiLGJpbm9wOjd9KSxfaW5zdGFuY2VvZjpBKFwiaW5zdGFuY2VvZlwiLHtiZWZvcmVFeHByOmIsYmlub3A6N30pLF9icmVhazpBKFwiYnJlYWtcIiksX2Nhc2U6QShcImNhc2VcIix7YmVmb3JlRXhwcjpifSksX2NhdGNoOkEoXCJjYXRjaFwiKSxfY29udGludWU6QShcImNvbnRpbnVlXCIpLF9kZWJ1Z2dlcjpBKFwiZGVidWdnZXJcIiksX2RlZmF1bHQ6QShcImRlZmF1bHRcIix7YmVmb3JlRXhwcjpifSksX2Vsc2U6QShcImVsc2VcIix7YmVmb3JlRXhwcjpifSksX2ZpbmFsbHk6QShcImZpbmFsbHlcIiksX2Z1bmN0aW9uOkEoXCJmdW5jdGlvblwiLHtzdGFydHNFeHByOm19KSxfaWY6QShcImlmXCIpLF9yZXR1cm46QShcInJldHVyblwiLHtiZWZvcmVFeHByOmJ9KSxfc3dpdGNoOkEoXCJzd2l0Y2hcIiksX3Rocm93OkEoXCJ0aHJvd1wiLHtiZWZvcmVFeHByOmIscHJlZml4Onosc3RhcnRzRXhwcjptfSksX3RyeTpBKFwidHJ5XCIpLF92YXI6QShcInZhclwiKSxfY29uc3Q6QShcImNvbnN0XCIpLF93aXRoOkEoXCJ3aXRoXCIpLF9uZXc6QShcIm5ld1wiLHtiZWZvcmVFeHByOmIsc3RhcnRzRXhwcjptfSksX3RoaXM6QShcInRoaXNcIix7c3RhcnRzRXhwcjptfSksX3N1cGVyOkEoXCJzdXBlclwiLHtzdGFydHNFeHByOm19KSxfY2xhc3M6QShcImNsYXNzXCIse3N0YXJ0c0V4cHI6bX0pLF9leHRlbmRzOkEoXCJleHRlbmRzXCIse2JlZm9yZUV4cHI6Yn0pLF9leHBvcnQ6QShcImV4cG9ydFwiKSxfaW1wb3J0OkEoXCJpbXBvcnRcIix7c3RhcnRzRXhwcjptfSksX251bGw6QShcIm51bGxcIix7c3RhcnRzRXhwcjptfSksX3RydWU6QShcInRydWVcIix7c3RhcnRzRXhwcjptfSksX2ZhbHNlOkEoXCJmYWxzZVwiLHtzdGFydHNFeHByOm19KSxfdHlwZW9mOkEoXCJ0eXBlb2ZcIix7YmVmb3JlRXhwcjpiLHByZWZpeDp6LHN0YXJ0c0V4cHI6bX0pLF92b2lkOkEoXCJ2b2lkXCIse2JlZm9yZUV4cHI6YixwcmVmaXg6eixzdGFydHNFeHByOm19KSxfZGVsZXRlOkEoXCJkZWxldGVcIix7YmVmb3JlRXhwcjpiLHByZWZpeDp6LHN0YXJ0c0V4cHI6bX0pLF9kbzpBKFwiZG9cIix7aXNMb29wOlVlLGJlZm9yZUV4cHI6Yn0pLF9mb3I6QShcImZvclwiLHtpc0xvb3A6VWV9KSxfd2hpbGU6QShcIndoaWxlXCIse2lzTG9vcDpVZX0pLF9hczpUKFwiYXNcIix7c3RhcnRzRXhwcjptfSksX2Fzc2VydDpUKFwiYXNzZXJ0XCIse3N0YXJ0c0V4cHI6bX0pLF9hc3luYzpUKFwiYXN5bmNcIix7c3RhcnRzRXhwcjptfSksX2F3YWl0OlQoXCJhd2FpdFwiLHtzdGFydHNFeHByOm19KSxfZGVmZXI6VChcImRlZmVyXCIse3N0YXJ0c0V4cHI6bX0pLF9mcm9tOlQoXCJmcm9tXCIse3N0YXJ0c0V4cHI6bX0pLF9nZXQ6VChcImdldFwiLHtzdGFydHNFeHByOm19KSxfbGV0OlQoXCJsZXRcIix7c3RhcnRzRXhwcjptfSksX21ldGE6VChcIm1ldGFcIix7c3RhcnRzRXhwcjptfSksX29mOlQoXCJvZlwiLHtzdGFydHNFeHByOm19KSxfc2VudDpUKFwic2VudFwiLHtzdGFydHNFeHByOm19KSxfc2V0OlQoXCJzZXRcIix7c3RhcnRzRXhwcjptfSksX3NvdXJjZTpUKFwic291cmNlXCIse3N0YXJ0c0V4cHI6bX0pLF9zdGF0aWM6VChcInN0YXRpY1wiLHtzdGFydHNFeHByOm19KSxfdXNpbmc6VChcInVzaW5nXCIse3N0YXJ0c0V4cHI6bX0pLF95aWVsZDpUKFwieWllbGRcIix7c3RhcnRzRXhwcjptfSksX2Fzc2VydHM6VChcImFzc2VydHNcIix7c3RhcnRzRXhwcjptfSksX2NoZWNrczpUKFwiY2hlY2tzXCIse3N0YXJ0c0V4cHI6bX0pLF9leHBvcnRzOlQoXCJleHBvcnRzXCIse3N0YXJ0c0V4cHI6bX0pLF9nbG9iYWw6VChcImdsb2JhbFwiLHtzdGFydHNFeHByOm19KSxfaW1wbGVtZW50czpUKFwiaW1wbGVtZW50c1wiLHtzdGFydHNFeHByOm19KSxfaW50cmluc2ljOlQoXCJpbnRyaW5zaWNcIix7c3RhcnRzRXhwcjptfSksX2luZmVyOlQoXCJpbmZlclwiLHtzdGFydHNFeHByOm19KSxfaXM6VChcImlzXCIse3N0YXJ0c0V4cHI6bX0pLF9taXhpbnM6VChcIm1peGluc1wiLHtzdGFydHNFeHByOm19KSxfcHJvdG86VChcInByb3RvXCIse3N0YXJ0c0V4cHI6bX0pLF9yZXF1aXJlOlQoXCJyZXF1aXJlXCIse3N0YXJ0c0V4cHI6bX0pLF9zYXRpc2ZpZXM6VChcInNhdGlzZmllc1wiLHtzdGFydHNFeHByOm19KSxfa2V5b2Y6VChcImtleW9mXCIse3N0YXJ0c0V4cHI6bX0pLF9yZWFkb25seTpUKFwicmVhZG9ubHlcIix7c3RhcnRzRXhwcjptfSksX3VuaXF1ZTpUKFwidW5pcXVlXCIse3N0YXJ0c0V4cHI6bX0pLF9hYnN0cmFjdDpUKFwiYWJzdHJhY3RcIix7c3RhcnRzRXhwcjptfSksX2RlY2xhcmU6VChcImRlY2xhcmVcIix7c3RhcnRzRXhwcjptfSksX2VudW06VChcImVudW1cIix7c3RhcnRzRXhwcjptfSksX21vZHVsZTpUKFwibW9kdWxlXCIse3N0YXJ0c0V4cHI6bX0pLF9uYW1lc3BhY2U6VChcIm5hbWVzcGFjZVwiLHtzdGFydHNFeHByOm19KSxfaW50ZXJmYWNlOlQoXCJpbnRlcmZhY2VcIix7c3RhcnRzRXhwcjptfSksX3R5cGU6VChcInR5cGVcIix7c3RhcnRzRXhwcjptfSksX29wYXF1ZTpUKFwib3BhcXVlXCIse3N0YXJ0c0V4cHI6bX0pLG5hbWU6UChcIm5hbWVcIix7c3RhcnRzRXhwcjptfSkscGxhY2Vob2xkZXI6UChcIiUlXCIse3N0YXJ0c0V4cHI6ITB9KSxzdHJpbmc6UChcInN0cmluZ1wiLHtzdGFydHNFeHByOm19KSxudW06UChcIm51bVwiLHtzdGFydHNFeHByOm19KSxiaWdpbnQ6UChcImJpZ2ludFwiLHtzdGFydHNFeHByOm19KSxkZWNpbWFsOlAoXCJkZWNpbWFsXCIse3N0YXJ0c0V4cHI6bX0pLHJlZ2V4cDpQKFwicmVnZXhwXCIse3N0YXJ0c0V4cHI6bX0pLHByaXZhdGVOYW1lOlAoXCIjbmFtZVwiLHtzdGFydHNFeHByOm19KSxlb2Y6UChcImVvZlwiKSxqc3hOYW1lOlAoXCJqc3hOYW1lXCIpLGpzeFRleHQ6UChcImpzeFRleHRcIix7YmVmb3JlRXhwcjohMH0pLGpzeFRhZ1N0YXJ0OlAoXCJqc3hUYWdTdGFydFwiLHtzdGFydHNFeHByOiEwfSksanN4VGFnRW5kOlAoXCJqc3hUYWdFbmRcIil9O2Z1bmN0aW9uIEMoYSl7cmV0dXJuIGE+PTkzJiZhPD0xMzN9ZnVuY3Rpb24gc2koYSl7cmV0dXJuIGE8PTkyfWZ1bmN0aW9uIEQoYSl7cmV0dXJuIGE+PTU4JiZhPD0xMzN9ZnVuY3Rpb24gVnQoYSl7cmV0dXJuIGE+PTU4JiZhPD0xMzd9ZnVuY3Rpb24gaWkoYSl7cmV0dXJuIHV0W2FdfWZ1bmN0aW9uIFZlKGEpe3JldHVybiBmdFthXX1mdW5jdGlvbiByaShhKXtyZXR1cm4gYT49MjkmJmE8PTMzfWZ1bmN0aW9uIER0KGEpe3JldHVybiBhPj0xMjkmJmE8PTEzMX1mdW5jdGlvbiBhaShhKXtyZXR1cm4gYT49OTAmJmE8PTkyfWZ1bmN0aW9uIG10KGEpe3JldHVybiBhPj01OCYmYTw9OTJ9ZnVuY3Rpb24gbmkoYSl7cmV0dXJuIGE+PTM5JiZhPD01OX1mdW5jdGlvbiBvaShhKXtyZXR1cm4gYT09PTM0fWZ1bmN0aW9uIGhpKGEpe3JldHVybiBkdFthXX1mdW5jdGlvbiBsaShhKXtyZXR1cm4gYT49MTIxJiZhPD0xMjN9ZnVuY3Rpb24gY2koYSl7cmV0dXJuIGE+PTEyNCYmYTw9MTMwfWZ1bmN0aW9uIHEoYSl7cmV0dXJuIGN0W2FdfWZ1bmN0aW9uIHdlKGEpe3JldHVybiBwdFthXX1mdW5jdGlvbiBwaShhKXtyZXR1cm4gYT09PTU3fWZ1bmN0aW9uIEllKGEpe3JldHVybiBhPj0yNCYmYTw9MjV9ZnVuY3Rpb24gRihhKXtyZXR1cm4gQlthXX1CWzhdLnVwZGF0ZUNvbnRleHQ9YT0+e2EucG9wKCl9LEJbNV0udXBkYXRlQ29udGV4dD1CWzddLnVwZGF0ZUNvbnRleHQ9QlsyM10udXBkYXRlQ29udGV4dD1hPT57YS5wdXNoKEUuYnJhY2UpfSxCWzIyXS51cGRhdGVDb250ZXh0PWE9PnthW2EubGVuZ3RoLTFdPT09RS50ZW1wbGF0ZT9hLnBvcCgpOmEucHVzaChFLnRlbXBsYXRlKX0sQlsxNDNdLnVwZGF0ZUNvbnRleHQ9YT0+e2EucHVzaChFLmpfZXhwcixFLmpfb1RhZyl9O3ZhciB5dD1cIlxceEFBXFx4QjVcXHhCQVxceEMwLVxceEQ2XFx4RDgtXFx4RjZcXHhGOC1cXHUwMkMxXFx1MDJDNi1cXHUwMkQxXFx1MDJFMC1cXHUwMkU0XFx1MDJFQ1xcdTAyRUVcXHUwMzcwLVxcdTAzNzRcXHUwMzc2XFx1MDM3N1xcdTAzN0EtXFx1MDM3RFxcdTAzN0ZcXHUwMzg2XFx1MDM4OC1cXHUwMzhBXFx1MDM4Q1xcdTAzOEUtXFx1MDNBMVxcdTAzQTMtXFx1MDNGNVxcdTAzRjctXFx1MDQ4MVxcdTA0OEEtXFx1MDUyRlxcdTA1MzEtXFx1MDU1NlxcdTA1NTlcXHUwNTYwLVxcdTA1ODhcXHUwNUQwLVxcdTA1RUFcXHUwNUVGLVxcdTA1RjJcXHUwNjIwLVxcdTA2NEFcXHUwNjZFXFx1MDY2RlxcdTA2NzEtXFx1MDZEM1xcdTA2RDVcXHUwNkU1XFx1MDZFNlxcdTA2RUVcXHUwNkVGXFx1MDZGQS1cXHUwNkZDXFx1MDZGRlxcdTA3MTBcXHUwNzEyLVxcdTA3MkZcXHUwNzRELVxcdTA3QTVcXHUwN0IxXFx1MDdDQS1cXHUwN0VBXFx1MDdGNFxcdTA3RjVcXHUwN0ZBXFx1MDgwMC1cXHUwODE1XFx1MDgxQVxcdTA4MjRcXHUwODI4XFx1MDg0MC1cXHUwODU4XFx1MDg2MC1cXHUwODZBXFx1MDg3MC1cXHUwODg3XFx1MDg4OS1cXHUwODhFXFx1MDhBMC1cXHUwOEM5XFx1MDkwNC1cXHUwOTM5XFx1MDkzRFxcdTA5NTBcXHUwOTU4LVxcdTA5NjFcXHUwOTcxLVxcdTA5ODBcXHUwOTg1LVxcdTA5OENcXHUwOThGXFx1MDk5MFxcdTA5OTMtXFx1MDlBOFxcdTA5QUEtXFx1MDlCMFxcdTA5QjJcXHUwOUI2LVxcdTA5QjlcXHUwOUJEXFx1MDlDRVxcdTA5RENcXHUwOUREXFx1MDlERi1cXHUwOUUxXFx1MDlGMFxcdTA5RjFcXHUwOUZDXFx1MEEwNS1cXHUwQTBBXFx1MEEwRlxcdTBBMTBcXHUwQTEzLVxcdTBBMjhcXHUwQTJBLVxcdTBBMzBcXHUwQTMyXFx1MEEzM1xcdTBBMzVcXHUwQTM2XFx1MEEzOFxcdTBBMzlcXHUwQTU5LVxcdTBBNUNcXHUwQTVFXFx1MEE3Mi1cXHUwQTc0XFx1MEE4NS1cXHUwQThEXFx1MEE4Ri1cXHUwQTkxXFx1MEE5My1cXHUwQUE4XFx1MEFBQS1cXHUwQUIwXFx1MEFCMlxcdTBBQjNcXHUwQUI1LVxcdTBBQjlcXHUwQUJEXFx1MEFEMFxcdTBBRTBcXHUwQUUxXFx1MEFGOVxcdTBCMDUtXFx1MEIwQ1xcdTBCMEZcXHUwQjEwXFx1MEIxMy1cXHUwQjI4XFx1MEIyQS1cXHUwQjMwXFx1MEIzMlxcdTBCMzNcXHUwQjM1LVxcdTBCMzlcXHUwQjNEXFx1MEI1Q1xcdTBCNURcXHUwQjVGLVxcdTBCNjFcXHUwQjcxXFx1MEI4M1xcdTBCODUtXFx1MEI4QVxcdTBCOEUtXFx1MEI5MFxcdTBCOTItXFx1MEI5NVxcdTBCOTlcXHUwQjlBXFx1MEI5Q1xcdTBCOUVcXHUwQjlGXFx1MEJBM1xcdTBCQTRcXHUwQkE4LVxcdTBCQUFcXHUwQkFFLVxcdTBCQjlcXHUwQkQwXFx1MEMwNS1cXHUwQzBDXFx1MEMwRS1cXHUwQzEwXFx1MEMxMi1cXHUwQzI4XFx1MEMyQS1cXHUwQzM5XFx1MEMzRFxcdTBDNTgtXFx1MEM1QVxcdTBDNURcXHUwQzYwXFx1MEM2MVxcdTBDODBcXHUwQzg1LVxcdTBDOENcXHUwQzhFLVxcdTBDOTBcXHUwQzkyLVxcdTBDQThcXHUwQ0FBLVxcdTBDQjNcXHUwQ0I1LVxcdTBDQjlcXHUwQ0JEXFx1MENERFxcdTBDREVcXHUwQ0UwXFx1MENFMVxcdTBDRjFcXHUwQ0YyXFx1MEQwNC1cXHUwRDBDXFx1MEQwRS1cXHUwRDEwXFx1MEQxMi1cXHUwRDNBXFx1MEQzRFxcdTBENEVcXHUwRDU0LVxcdTBENTZcXHUwRDVGLVxcdTBENjFcXHUwRDdBLVxcdTBEN0ZcXHUwRDg1LVxcdTBEOTZcXHUwRDlBLVxcdTBEQjFcXHUwREIzLVxcdTBEQkJcXHUwREJEXFx1MERDMC1cXHUwREM2XFx1MEUwMS1cXHUwRTMwXFx1MEUzMlxcdTBFMzNcXHUwRTQwLVxcdTBFNDZcXHUwRTgxXFx1MEU4MlxcdTBFODRcXHUwRTg2LVxcdTBFOEFcXHUwRThDLVxcdTBFQTNcXHUwRUE1XFx1MEVBNy1cXHUwRUIwXFx1MEVCMlxcdTBFQjNcXHUwRUJEXFx1MEVDMC1cXHUwRUM0XFx1MEVDNlxcdTBFREMtXFx1MEVERlxcdTBGMDBcXHUwRjQwLVxcdTBGNDdcXHUwRjQ5LVxcdTBGNkNcXHUwRjg4LVxcdTBGOENcXHUxMDAwLVxcdTEwMkFcXHUxMDNGXFx1MTA1MC1cXHUxMDU1XFx1MTA1QS1cXHUxMDVEXFx1MTA2MVxcdTEwNjVcXHUxMDY2XFx1MTA2RS1cXHUxMDcwXFx1MTA3NS1cXHUxMDgxXFx1MTA4RVxcdTEwQTAtXFx1MTBDNVxcdTEwQzdcXHUxMENEXFx1MTBEMC1cXHUxMEZBXFx1MTBGQy1cXHUxMjQ4XFx1MTI0QS1cXHUxMjREXFx1MTI1MC1cXHUxMjU2XFx1MTI1OFxcdTEyNUEtXFx1MTI1RFxcdTEyNjAtXFx1MTI4OFxcdTEyOEEtXFx1MTI4RFxcdTEyOTAtXFx1MTJCMFxcdTEyQjItXFx1MTJCNVxcdTEyQjgtXFx1MTJCRVxcdTEyQzBcXHUxMkMyLVxcdTEyQzVcXHUxMkM4LVxcdTEyRDZcXHUxMkQ4LVxcdTEzMTBcXHUxMzEyLVxcdTEzMTVcXHUxMzE4LVxcdTEzNUFcXHUxMzgwLVxcdTEzOEZcXHUxM0EwLVxcdTEzRjVcXHUxM0Y4LVxcdTEzRkRcXHUxNDAxLVxcdTE2NkNcXHUxNjZGLVxcdTE2N0ZcXHUxNjgxLVxcdTE2OUFcXHUxNkEwLVxcdTE2RUFcXHUxNkVFLVxcdTE2RjhcXHUxNzAwLVxcdTE3MTFcXHUxNzFGLVxcdTE3MzFcXHUxNzQwLVxcdTE3NTFcXHUxNzYwLVxcdTE3NkNcXHUxNzZFLVxcdTE3NzBcXHUxNzgwLVxcdTE3QjNcXHUxN0Q3XFx1MTdEQ1xcdTE4MjAtXFx1MTg3OFxcdTE4ODAtXFx1MThBOFxcdTE4QUFcXHUxOEIwLVxcdTE4RjVcXHUxOTAwLVxcdTE5MUVcXHUxOTUwLVxcdTE5NkRcXHUxOTcwLVxcdTE5NzRcXHUxOTgwLVxcdTE5QUJcXHUxOUIwLVxcdTE5QzlcXHUxQTAwLVxcdTFBMTZcXHUxQTIwLVxcdTFBNTRcXHUxQUE3XFx1MUIwNS1cXHUxQjMzXFx1MUI0NS1cXHUxQjRDXFx1MUI4My1cXHUxQkEwXFx1MUJBRVxcdTFCQUZcXHUxQkJBLVxcdTFCRTVcXHUxQzAwLVxcdTFDMjNcXHUxQzRELVxcdTFDNEZcXHUxQzVBLVxcdTFDN0RcXHUxQzgwLVxcdTFDOEFcXHUxQzkwLVxcdTFDQkFcXHUxQ0JELVxcdTFDQkZcXHUxQ0U5LVxcdTFDRUNcXHUxQ0VFLVxcdTFDRjNcXHUxQ0Y1XFx1MUNGNlxcdTFDRkFcXHUxRDAwLVxcdTFEQkZcXHUxRTAwLVxcdTFGMTVcXHUxRjE4LVxcdTFGMURcXHUxRjIwLVxcdTFGNDVcXHUxRjQ4LVxcdTFGNERcXHUxRjUwLVxcdTFGNTdcXHUxRjU5XFx1MUY1QlxcdTFGNURcXHUxRjVGLVxcdTFGN0RcXHUxRjgwLVxcdTFGQjRcXHUxRkI2LVxcdTFGQkNcXHUxRkJFXFx1MUZDMi1cXHUxRkM0XFx1MUZDNi1cXHUxRkNDXFx1MUZEMC1cXHUxRkQzXFx1MUZENi1cXHUxRkRCXFx1MUZFMC1cXHUxRkVDXFx1MUZGMi1cXHUxRkY0XFx1MUZGNi1cXHUxRkZDXFx1MjA3MVxcdTIwN0ZcXHUyMDkwLVxcdTIwOUNcXHUyMTAyXFx1MjEwN1xcdTIxMEEtXFx1MjExM1xcdTIxMTVcXHUyMTE4LVxcdTIxMURcXHUyMTI0XFx1MjEyNlxcdTIxMjhcXHUyMTJBLVxcdTIxMzlcXHUyMTNDLVxcdTIxM0ZcXHUyMTQ1LVxcdTIxNDlcXHUyMTRFXFx1MjE2MC1cXHUyMTg4XFx1MkMwMC1cXHUyQ0U0XFx1MkNFQi1cXHUyQ0VFXFx1MkNGMlxcdTJDRjNcXHUyRDAwLVxcdTJEMjVcXHUyRDI3XFx1MkQyRFxcdTJEMzAtXFx1MkQ2N1xcdTJENkZcXHUyRDgwLVxcdTJEOTZcXHUyREEwLVxcdTJEQTZcXHUyREE4LVxcdTJEQUVcXHUyREIwLVxcdTJEQjZcXHUyREI4LVxcdTJEQkVcXHUyREMwLVxcdTJEQzZcXHUyREM4LVxcdTJEQ0VcXHUyREQwLVxcdTJERDZcXHUyREQ4LVxcdTJEREVcXHUzMDA1LVxcdTMwMDdcXHUzMDIxLVxcdTMwMjlcXHUzMDMxLVxcdTMwMzVcXHUzMDM4LVxcdTMwM0NcXHUzMDQxLVxcdTMwOTZcXHUzMDlCLVxcdTMwOUZcXHUzMEExLVxcdTMwRkFcXHUzMEZDLVxcdTMwRkZcXHUzMTA1LVxcdTMxMkZcXHUzMTMxLVxcdTMxOEVcXHUzMUEwLVxcdTMxQkZcXHUzMUYwLVxcdTMxRkZcXHUzNDAwLVxcdTREQkZcXHU0RTAwLVxcdUE0OENcXHVBNEQwLVxcdUE0RkRcXHVBNTAwLVxcdUE2MENcXHVBNjEwLVxcdUE2MUZcXHVBNjJBXFx1QTYyQlxcdUE2NDAtXFx1QTY2RVxcdUE2N0YtXFx1QTY5RFxcdUE2QTAtXFx1QTZFRlxcdUE3MTctXFx1QTcxRlxcdUE3MjItXFx1QTc4OFxcdUE3OEItXFx1QTdDRFxcdUE3RDBcXHVBN0QxXFx1QTdEM1xcdUE3RDUtXFx1QTdEQ1xcdUE3RjItXFx1QTgwMVxcdUE4MDMtXFx1QTgwNVxcdUE4MDctXFx1QTgwQVxcdUE4MEMtXFx1QTgyMlxcdUE4NDAtXFx1QTg3M1xcdUE4ODItXFx1QThCM1xcdUE4RjItXFx1QThGN1xcdUE4RkJcXHVBOEZEXFx1QThGRVxcdUE5MEEtXFx1QTkyNVxcdUE5MzAtXFx1QTk0NlxcdUE5NjAtXFx1QTk3Q1xcdUE5ODQtXFx1QTlCMlxcdUE5Q0ZcXHVBOUUwLVxcdUE5RTRcXHVBOUU2LVxcdUE5RUZcXHVBOUZBLVxcdUE5RkVcXHVBQTAwLVxcdUFBMjhcXHVBQTQwLVxcdUFBNDJcXHVBQTQ0LVxcdUFBNEJcXHVBQTYwLVxcdUFBNzZcXHVBQTdBXFx1QUE3RS1cXHVBQUFGXFx1QUFCMVxcdUFBQjVcXHVBQUI2XFx1QUFCOS1cXHVBQUJEXFx1QUFDMFxcdUFBQzJcXHVBQURCLVxcdUFBRERcXHVBQUUwLVxcdUFBRUFcXHVBQUYyLVxcdUFBRjRcXHVBQjAxLVxcdUFCMDZcXHVBQjA5LVxcdUFCMEVcXHVBQjExLVxcdUFCMTZcXHVBQjIwLVxcdUFCMjZcXHVBQjI4LVxcdUFCMkVcXHVBQjMwLVxcdUFCNUFcXHVBQjVDLVxcdUFCNjlcXHVBQjcwLVxcdUFCRTJcXHVBQzAwLVxcdUQ3QTNcXHVEN0IwLVxcdUQ3QzZcXHVEN0NCLVxcdUQ3RkJcXHVGOTAwLVxcdUZBNkRcXHVGQTcwLVxcdUZBRDlcXHVGQjAwLVxcdUZCMDZcXHVGQjEzLVxcdUZCMTdcXHVGQjFEXFx1RkIxRi1cXHVGQjI4XFx1RkIyQS1cXHVGQjM2XFx1RkIzOC1cXHVGQjNDXFx1RkIzRVxcdUZCNDBcXHVGQjQxXFx1RkI0M1xcdUZCNDRcXHVGQjQ2LVxcdUZCQjFcXHVGQkQzLVxcdUZEM0RcXHVGRDUwLVxcdUZEOEZcXHVGRDkyLVxcdUZEQzdcXHVGREYwLVxcdUZERkJcXHVGRTcwLVxcdUZFNzRcXHVGRTc2LVxcdUZFRkNcXHVGRjIxLVxcdUZGM0FcXHVGRjQxLVxcdUZGNUFcXHVGRjY2LVxcdUZGQkVcXHVGRkMyLVxcdUZGQzdcXHVGRkNBLVxcdUZGQ0ZcXHVGRkQyLVxcdUZGRDdcXHVGRkRBLVxcdUZGRENcIixxdD1cIlxceEI3XFx1MDMwMC1cXHUwMzZGXFx1MDM4N1xcdTA0ODMtXFx1MDQ4N1xcdTA1OTEtXFx1MDVCRFxcdTA1QkZcXHUwNUMxXFx1MDVDMlxcdTA1QzRcXHUwNUM1XFx1MDVDN1xcdTA2MTAtXFx1MDYxQVxcdTA2NEItXFx1MDY2OVxcdTA2NzBcXHUwNkQ2LVxcdTA2RENcXHUwNkRGLVxcdTA2RTRcXHUwNkU3XFx1MDZFOFxcdTA2RUEtXFx1MDZFRFxcdTA2RjAtXFx1MDZGOVxcdTA3MTFcXHUwNzMwLVxcdTA3NEFcXHUwN0E2LVxcdTA3QjBcXHUwN0MwLVxcdTA3QzlcXHUwN0VCLVxcdTA3RjNcXHUwN0ZEXFx1MDgxNi1cXHUwODE5XFx1MDgxQi1cXHUwODIzXFx1MDgyNS1cXHUwODI3XFx1MDgyOS1cXHUwODJEXFx1MDg1OS1cXHUwODVCXFx1MDg5Ny1cXHUwODlGXFx1MDhDQS1cXHUwOEUxXFx1MDhFMy1cXHUwOTAzXFx1MDkzQS1cXHUwOTNDXFx1MDkzRS1cXHUwOTRGXFx1MDk1MS1cXHUwOTU3XFx1MDk2MlxcdTA5NjNcXHUwOTY2LVxcdTA5NkZcXHUwOTgxLVxcdTA5ODNcXHUwOUJDXFx1MDlCRS1cXHUwOUM0XFx1MDlDN1xcdTA5QzhcXHUwOUNCLVxcdTA5Q0RcXHUwOUQ3XFx1MDlFMlxcdTA5RTNcXHUwOUU2LVxcdTA5RUZcXHUwOUZFXFx1MEEwMS1cXHUwQTAzXFx1MEEzQ1xcdTBBM0UtXFx1MEE0MlxcdTBBNDdcXHUwQTQ4XFx1MEE0Qi1cXHUwQTREXFx1MEE1MVxcdTBBNjYtXFx1MEE3MVxcdTBBNzVcXHUwQTgxLVxcdTBBODNcXHUwQUJDXFx1MEFCRS1cXHUwQUM1XFx1MEFDNy1cXHUwQUM5XFx1MEFDQi1cXHUwQUNEXFx1MEFFMlxcdTBBRTNcXHUwQUU2LVxcdTBBRUZcXHUwQUZBLVxcdTBBRkZcXHUwQjAxLVxcdTBCMDNcXHUwQjNDXFx1MEIzRS1cXHUwQjQ0XFx1MEI0N1xcdTBCNDhcXHUwQjRCLVxcdTBCNERcXHUwQjU1LVxcdTBCNTdcXHUwQjYyXFx1MEI2M1xcdTBCNjYtXFx1MEI2RlxcdTBCODJcXHUwQkJFLVxcdTBCQzJcXHUwQkM2LVxcdTBCQzhcXHUwQkNBLVxcdTBCQ0RcXHUwQkQ3XFx1MEJFNi1cXHUwQkVGXFx1MEMwMC1cXHUwQzA0XFx1MEMzQ1xcdTBDM0UtXFx1MEM0NFxcdTBDNDYtXFx1MEM0OFxcdTBDNEEtXFx1MEM0RFxcdTBDNTVcXHUwQzU2XFx1MEM2MlxcdTBDNjNcXHUwQzY2LVxcdTBDNkZcXHUwQzgxLVxcdTBDODNcXHUwQ0JDXFx1MENCRS1cXHUwQ0M0XFx1MENDNi1cXHUwQ0M4XFx1MENDQS1cXHUwQ0NEXFx1MENENVxcdTBDRDZcXHUwQ0UyXFx1MENFM1xcdTBDRTYtXFx1MENFRlxcdTBDRjNcXHUwRDAwLVxcdTBEMDNcXHUwRDNCXFx1MEQzQ1xcdTBEM0UtXFx1MEQ0NFxcdTBENDYtXFx1MEQ0OFxcdTBENEEtXFx1MEQ0RFxcdTBENTdcXHUwRDYyXFx1MEQ2M1xcdTBENjYtXFx1MEQ2RlxcdTBEODEtXFx1MEQ4M1xcdTBEQ0FcXHUwRENGLVxcdTBERDRcXHUwREQ2XFx1MEREOC1cXHUwRERGXFx1MERFNi1cXHUwREVGXFx1MERGMlxcdTBERjNcXHUwRTMxXFx1MEUzNC1cXHUwRTNBXFx1MEU0Ny1cXHUwRTRFXFx1MEU1MC1cXHUwRTU5XFx1MEVCMVxcdTBFQjQtXFx1MEVCQ1xcdTBFQzgtXFx1MEVDRVxcdTBFRDAtXFx1MEVEOVxcdTBGMThcXHUwRjE5XFx1MEYyMC1cXHUwRjI5XFx1MEYzNVxcdTBGMzdcXHUwRjM5XFx1MEYzRVxcdTBGM0ZcXHUwRjcxLVxcdTBGODRcXHUwRjg2XFx1MEY4N1xcdTBGOEQtXFx1MEY5N1xcdTBGOTktXFx1MEZCQ1xcdTBGQzZcXHUxMDJCLVxcdTEwM0VcXHUxMDQwLVxcdTEwNDlcXHUxMDU2LVxcdTEwNTlcXHUxMDVFLVxcdTEwNjBcXHUxMDYyLVxcdTEwNjRcXHUxMDY3LVxcdTEwNkRcXHUxMDcxLVxcdTEwNzRcXHUxMDgyLVxcdTEwOERcXHUxMDhGLVxcdTEwOURcXHUxMzVELVxcdTEzNUZcXHUxMzY5LVxcdTEzNzFcXHUxNzEyLVxcdTE3MTVcXHUxNzMyLVxcdTE3MzRcXHUxNzUyXFx1MTc1M1xcdTE3NzJcXHUxNzczXFx1MTdCNC1cXHUxN0QzXFx1MTdERFxcdTE3RTAtXFx1MTdFOVxcdTE4MEItXFx1MTgwRFxcdTE4MEYtXFx1MTgxOVxcdTE4QTlcXHUxOTIwLVxcdTE5MkJcXHUxOTMwLVxcdTE5M0JcXHUxOTQ2LVxcdTE5NEZcXHUxOUQwLVxcdTE5REFcXHUxQTE3LVxcdTFBMUJcXHUxQTU1LVxcdTFBNUVcXHUxQTYwLVxcdTFBN0NcXHUxQTdGLVxcdTFBODlcXHUxQTkwLVxcdTFBOTlcXHUxQUIwLVxcdTFBQkRcXHUxQUJGLVxcdTFBQ0VcXHUxQjAwLVxcdTFCMDRcXHUxQjM0LVxcdTFCNDRcXHUxQjUwLVxcdTFCNTlcXHUxQjZCLVxcdTFCNzNcXHUxQjgwLVxcdTFCODJcXHUxQkExLVxcdTFCQURcXHUxQkIwLVxcdTFCQjlcXHUxQkU2LVxcdTFCRjNcXHUxQzI0LVxcdTFDMzdcXHUxQzQwLVxcdTFDNDlcXHUxQzUwLVxcdTFDNTlcXHUxQ0QwLVxcdTFDRDJcXHUxQ0Q0LVxcdTFDRThcXHUxQ0VEXFx1MUNGNFxcdTFDRjctXFx1MUNGOVxcdTFEQzAtXFx1MURGRlxcdTIwMENcXHUyMDBEXFx1MjAzRlxcdTIwNDBcXHUyMDU0XFx1MjBEMC1cXHUyMERDXFx1MjBFMVxcdTIwRTUtXFx1MjBGMFxcdTJDRUYtXFx1MkNGMVxcdTJEN0ZcXHUyREUwLVxcdTJERkZcXHUzMDJBLVxcdTMwMkZcXHUzMDk5XFx1MzA5QVxcdTMwRkJcXHVBNjIwLVxcdUE2MjlcXHVBNjZGXFx1QTY3NC1cXHVBNjdEXFx1QTY5RVxcdUE2OUZcXHVBNkYwXFx1QTZGMVxcdUE4MDJcXHVBODA2XFx1QTgwQlxcdUE4MjMtXFx1QTgyN1xcdUE4MkNcXHVBODgwXFx1QTg4MVxcdUE4QjQtXFx1QThDNVxcdUE4RDAtXFx1QThEOVxcdUE4RTAtXFx1QThGMVxcdUE4RkYtXFx1QTkwOVxcdUE5MjYtXFx1QTkyRFxcdUE5NDctXFx1QTk1M1xcdUE5ODAtXFx1QTk4M1xcdUE5QjMtXFx1QTlDMFxcdUE5RDAtXFx1QTlEOVxcdUE5RTVcXHVBOUYwLVxcdUE5RjlcXHVBQTI5LVxcdUFBMzZcXHVBQTQzXFx1QUE0Q1xcdUFBNERcXHVBQTUwLVxcdUFBNTlcXHVBQTdCLVxcdUFBN0RcXHVBQUIwXFx1QUFCMi1cXHVBQUI0XFx1QUFCN1xcdUFBQjhcXHVBQUJFXFx1QUFCRlxcdUFBQzFcXHVBQUVCLVxcdUFBRUZcXHVBQUY1XFx1QUFGNlxcdUFCRTMtXFx1QUJFQVxcdUFCRUNcXHVBQkVEXFx1QUJGMC1cXHVBQkY5XFx1RkIxRVxcdUZFMDAtXFx1RkUwRlxcdUZFMjAtXFx1RkUyRlxcdUZFMzNcXHVGRTM0XFx1RkU0RC1cXHVGRTRGXFx1RkYxMC1cXHVGRjE5XFx1RkYzRlxcdUZGNjVcIix1aT1uZXcgUmVnRXhwKFwiW1wiK3l0K1wiXVwiKSxmaT1uZXcgUmVnRXhwKFwiW1wiK3l0K3F0K1wiXVwiKTt5dD1xdD1udWxsO3ZhciBLdD1bMCwxMSwyLDI1LDIsMTgsMiwxLDIsMTQsMywxMywzNSwxMjIsNzAsNTIsMjY4LDI4LDQsNDgsNDgsMzEsMTQsMjksNiwzNywxMSwyOSwzLDM1LDUsNywyLDQsNDMsMTU3LDE5LDM1LDUsMzUsNSwzOSw5LDUxLDEzLDEwLDIsMTQsMiw2LDIsMSwyLDEwLDIsMTQsMiw2LDIsMSw0LDUxLDEzLDMxMCwxMCwyMSwxMSw3LDI1LDUsMiw0MSwyLDgsNzAsNSwzLDAsMiw0MywyLDEsNCwwLDMsMjIsMTEsMjIsMTAsMzAsNjYsMTgsMiwxLDExLDIxLDExLDI1LDcxLDU1LDcsMSw2NSwwLDE2LDMsMiwyLDIsMjgsNDMsMjgsNCwyOCwzNiw3LDIsMjcsMjgsNTMsMTEsMjEsMTEsMTgsMTQsMTcsMTExLDcyLDU2LDUwLDE0LDUwLDE0LDM1LDM5LDI3LDEwLDIyLDI1MSw0MSw3LDEsMTcsMiw2MCwyOCwxMSwwLDksMjEsNDMsMTcsNDcsMjAsMjgsMjIsMTMsNTIsNTgsMSwzLDAsMTQsNDQsMzMsMjQsMjcsMzUsMzAsMCwzLDAsOSwzNCw0LDAsMTMsNDcsMTUsMywyMiwwLDIsMCwzNiwxNywyLDI0LDIwLDEsNjQsNiwyLDAsMiwzLDIsMTQsMiw5LDgsNDYsMzksNywzLDEsMywyMSwyLDYsMiwxLDIsNCw0LDAsMTksMCwxMyw0LDMxLDksMiwwLDMsMCwyLDM3LDIsMCwyNiwwLDIsMCw0NSw1MiwxOSwzLDIxLDIsMzEsNDcsMjEsMSwyLDAsMTg1LDQ2LDQyLDMsMzcsNDcsMjEsMCw2MCw0MiwxNCwwLDcyLDI2LDM4LDYsMTg2LDQzLDExNyw2MywzMiw3LDMsMCwzLDcsMiwxLDIsMjMsMTYsMCwyLDAsOTUsNywzLDM4LDE3LDAsMiwwLDI5LDAsMTEsMzksOCwwLDIyLDAsMTIsNDUsMjAsMCwxOSw3MiwyMDAsMzIsMzIsOCwyLDM2LDE4LDAsNTAsMjksMTEzLDYsMiwxLDIsMzcsMjIsMCwyNiw1LDIsMSwyLDMxLDE1LDAsMzI4LDE4LDE2LDAsMiwxMiwyLDMzLDEyNSwwLDgwLDkyMSwxMDMsMTEwLDE4LDE5NSwyNjM3LDk2LDE2LDEwNzEsMTgsNSwyNiwzOTk0LDYsNTgyLDY4NDIsMjksMTc2Myw1NjgsOCwzMCwxOCw3OCwxOCwyOSwxOSw0NywxNywzLDMyLDIwLDYsMTgsNDMzLDQ0LDIxMiw2MywxMjksNzQsNiwwLDY3LDEyLDY1LDEsMiwwLDI5LDYxMzUsOSwxMjM3LDQyLDksODkzNiwzLDIsNiwyLDEsMiwyOTAsMTYsMCwzMCwyLDMsMCwxNSwzLDksMzk1LDIzMDksMTA2LDYsMTIsNCw4LDgsOSw1OTkxLDg0LDIsNzAsMiwxLDMsMCwzLDEsMywzLDIsMTEsMiwwLDIsNiwyLDY0LDIsMywzLDcsMiw2LDIsMjcsMiwzLDIsNCwyLDAsNCw2LDIsMzM5LDMsMjQsMiwyNCwyLDMwLDIsMjQsMiwzMCwyLDI0LDIsMzAsMiwyNCwyLDMwLDIsMjQsMiw3LDE4NDUsMzAsNyw1LDI2Miw2MSwxNDcsNDQsMTEsNiwxNywwLDMyMiwyOSwxOSw0Myw0ODUsMjcsMjI5LDI5LDMsMCw0OTYsNiwyLDMsMiwxLDIsMTQsMiwxOTYsNjAsNjcsOCwwLDEyMDUsMywyLDI2LDIsMSwyLDAsMywwLDIsOSwyLDMsMiwwLDIsMCw3LDAsNSwwLDIsMCwyLDAsMiwyLDIsMSwyLDAsMywwLDIsMCwyLDAsMiwwLDIsMCwyLDEsMiwwLDMsMywyLDYsMiwzLDIsMywyLDAsMiw5LDIsMTYsNiwyLDIsNCwyLDE2LDQ0MjEsNDI3MTksMzMsNDE1Myw3LDIyMSwzLDU3NjEsMTUsNzQ3MiwxNiw2MjEsMjQ2Nyw1NDEsMTUwNyw0OTM4LDYsNDE5MV0sZGk9WzUwOSwwLDIyNywwLDE1MCw0LDI5NCw5LDEzNjgsMiwyLDEsNiwzLDQxLDIsNSwwLDE2NiwxLDU3NCwzLDksOSw3LDksMzIsNCwzMTgsMSw4MCwzLDcxLDEwLDUwLDMsMTIzLDIsNTQsMTQsMzIsMTAsMywxLDExLDMsNDYsMTAsOCwwLDQ2LDksNywyLDM3LDEzLDIsOSw2LDEsNDUsMCwxMywyLDQ5LDEzLDksMywyLDExLDgzLDExLDcsMCwzLDAsMTU4LDExLDYsOSw3LDMsNTYsMSwyLDYsMywxLDMsMiwxMCwwLDExLDEsMyw2LDQsNCw2OCw4LDIsMCwzLDAsMiwzLDIsNCwyLDAsMTUsMSw4MywxNywxMCw5LDUsMCw4MiwxOSwxMyw5LDIxNCw2LDMsOCwyOCwxLDgzLDE2LDE2LDksODIsMTIsOSw5LDcsMTksNTgsMTQsNSw5LDI0MywxNCwxNjYsOSw3MSw1LDIsMSwzLDMsMiwwLDIsMSwxMyw5LDEyMCw2LDMsNiw0LDAsMjksOSw0MSw2LDIsMyw5LDAsMTAsMTAsNDcsMTUsMzQzLDksNTQsNywyLDcsMTcsOSw1NywyMSwyLDEzLDEyMyw1LDQsMCwyLDEsMiw2LDIsMCw5LDksNDksNCwyLDEsMiw0LDksOSwzMzAsMywxMCwxLDIsMCw0OSw2LDQsNCwxNCwxMCw1MzUwLDAsNywxNCwxMTQ2NSwyNywyMzQzLDksODcsOSwzOSw0LDYwLDYsMjYsOSw1MzUsOSw0NzAsMCwyLDU0LDgsMyw4MiwwLDEyLDEsMTk2MjgsMSw0MTc4LDksNTE5LDQ1LDMsMjIsNTQzLDQsNCw1LDksNywzLDYsMzEsMywxNDksMiwxNDE4LDQ5LDUxMyw1NCw1LDQ5LDksMCwxNSwwLDIzLDQsMiwxNCwxMzYxLDYsMiwxNiwzLDYsMiwxLDIsNCwxMDEsMCwxNjEsNiwxMCw5LDM1NywwLDYyLDEzLDQ5OSwxMywyNDUsMSwyLDksNzI2LDYsMTEwLDYsNiw5LDQ3NTksOSw3ODc3MTksMjM5XTtmdW5jdGlvbiBxZShhLHQpe2xldCBlPTY1NTM2O2ZvcihsZXQgcz0wLGk9dC5sZW5ndGg7czxpO3MrPTIpe2lmKGUrPXRbc10sZT5hKXJldHVybiExO2lmKGUrPXRbcysxXSxlPj1hKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIFIoYSl7cmV0dXJuIGE8NjU/YT09PTM2OmE8PTkwPyEwOmE8OTc/YT09PTk1OmE8PTEyMj8hMDphPD02NTUzNT9hPj0xNzAmJnVpLnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZShhKSk6cWUoYSxLdCl9ZnVuY3Rpb24gRyhhKXtyZXR1cm4gYTw0OD9hPT09MzY6YTw1OD8hMDphPDY1PyExOmE8PTkwPyEwOmE8OTc/YT09PTk1OmE8PTEyMj8hMDphPD02NTUzNT9hPj0xNzAmJmZpLnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZShhKSk6cWUoYSxLdCl8fHFlKGEsZGkpfXZhciB4dD17a2V5d29yZDpbXCJicmVha1wiLFwiY2FzZVwiLFwiY2F0Y2hcIixcImNvbnRpbnVlXCIsXCJkZWJ1Z2dlclwiLFwiZGVmYXVsdFwiLFwiZG9cIixcImVsc2VcIixcImZpbmFsbHlcIixcImZvclwiLFwiZnVuY3Rpb25cIixcImlmXCIsXCJyZXR1cm5cIixcInN3aXRjaFwiLFwidGhyb3dcIixcInRyeVwiLFwidmFyXCIsXCJjb25zdFwiLFwid2hpbGVcIixcIndpdGhcIixcIm5ld1wiLFwidGhpc1wiLFwic3VwZXJcIixcImNsYXNzXCIsXCJleHRlbmRzXCIsXCJleHBvcnRcIixcImltcG9ydFwiLFwibnVsbFwiLFwidHJ1ZVwiLFwiZmFsc2VcIixcImluXCIsXCJpbnN0YW5jZW9mXCIsXCJ0eXBlb2ZcIixcInZvaWRcIixcImRlbGV0ZVwiXSxzdHJpY3Q6W1wiaW1wbGVtZW50c1wiLFwiaW50ZXJmYWNlXCIsXCJsZXRcIixcInBhY2thZ2VcIixcInByaXZhdGVcIixcInByb3RlY3RlZFwiLFwicHVibGljXCIsXCJzdGF0aWNcIixcInlpZWxkXCJdLHN0cmljdEJpbmQ6W1wiZXZhbFwiLFwiYXJndW1lbnRzXCJdfSxtaT1uZXcgU2V0KHh0LmtleXdvcmQpLHlpPW5ldyBTZXQoeHQuc3RyaWN0KSx4aT1uZXcgU2V0KHh0LnN0cmljdEJpbmQpO2Z1bmN0aW9uIEh0KGEsdCl7cmV0dXJuIHQmJmE9PT1cImF3YWl0XCJ8fGE9PT1cImVudW1cIn1mdW5jdGlvbiBKdChhLHQpe3JldHVybiBIdChhLHQpfHx5aS5oYXMoYSl9ZnVuY3Rpb24gV3QoYSl7cmV0dXJuIHhpLmhhcyhhKX1mdW5jdGlvbiBYdChhLHQpe3JldHVybiBKdChhLHQpfHxXdChhKX1mdW5jdGlvbiBQaShhKXtyZXR1cm4gbWkuaGFzKGEpfWZ1bmN0aW9uIGdpKGEsdCxlKXtyZXR1cm4gYT09PTY0JiZ0PT09NjQmJlIoZSl9dmFyIFRpPW5ldyBTZXQoW1wiYnJlYWtcIixcImNhc2VcIixcImNhdGNoXCIsXCJjb250aW51ZVwiLFwiZGVidWdnZXJcIixcImRlZmF1bHRcIixcImRvXCIsXCJlbHNlXCIsXCJmaW5hbGx5XCIsXCJmb3JcIixcImZ1bmN0aW9uXCIsXCJpZlwiLFwicmV0dXJuXCIsXCJzd2l0Y2hcIixcInRocm93XCIsXCJ0cnlcIixcInZhclwiLFwiY29uc3RcIixcIndoaWxlXCIsXCJ3aXRoXCIsXCJuZXdcIixcInRoaXNcIixcInN1cGVyXCIsXCJjbGFzc1wiLFwiZXh0ZW5kc1wiLFwiZXhwb3J0XCIsXCJpbXBvcnRcIixcIm51bGxcIixcInRydWVcIixcImZhbHNlXCIsXCJpblwiLFwiaW5zdGFuY2VvZlwiLFwidHlwZW9mXCIsXCJ2b2lkXCIsXCJkZWxldGVcIixcImltcGxlbWVudHNcIixcImludGVyZmFjZVwiLFwibGV0XCIsXCJwYWNrYWdlXCIsXCJwcml2YXRlXCIsXCJwcm90ZWN0ZWRcIixcInB1YmxpY1wiLFwic3RhdGljXCIsXCJ5aWVsZFwiLFwiZXZhbFwiLFwiYXJndW1lbnRzXCIsXCJlbnVtXCIsXCJhd2FpdFwiXSk7ZnVuY3Rpb24gYmkoYSl7cmV0dXJuIFRpLmhhcyhhKX12YXIgdWU9Y2xhc3N7Y29uc3RydWN0b3IodCl7dGhpcy5mbGFncz0wLHRoaXMubmFtZXM9bmV3IE1hcCx0aGlzLmZpcnN0TGV4aWNhbE5hbWU9XCJcIix0aGlzLmZsYWdzPXR9fSxmZT1jbGFzc3tjb25zdHJ1Y3Rvcih0LGUpe3RoaXMucGFyc2VyPXZvaWQgMCx0aGlzLnNjb3BlU3RhY2s9W10sdGhpcy5pbk1vZHVsZT12b2lkIDAsdGhpcy51bmRlZmluZWRFeHBvcnRzPW5ldyBNYXAsdGhpcy5wYXJzZXI9dCx0aGlzLmluTW9kdWxlPWV9Z2V0IGluVG9wTGV2ZWwoKXtyZXR1cm4odGhpcy5jdXJyZW50U2NvcGUoKS5mbGFncyYxKT4wfWdldCBpbkZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMuY3VycmVudFZhclNjb3BlRmxhZ3MoKSYyKT4wfWdldCBhbGxvd1N1cGVyKCl7cmV0dXJuKHRoaXMuY3VycmVudFRoaXNTY29wZUZsYWdzKCkmMTYpPjB9Z2V0IGFsbG93RGlyZWN0U3VwZXIoKXtyZXR1cm4odGhpcy5jdXJyZW50VGhpc1Njb3BlRmxhZ3MoKSYzMik+MH1nZXQgaW5DbGFzcygpe3JldHVybih0aGlzLmN1cnJlbnRUaGlzU2NvcGVGbGFncygpJjY0KT4wfWdldCBpbkNsYXNzQW5kTm90SW5Ob25BcnJvd0Z1bmN0aW9uKCl7bGV0IHQ9dGhpcy5jdXJyZW50VGhpc1Njb3BlRmxhZ3MoKTtyZXR1cm4odCY2NCk+MCYmKHQmMik9PT0wfWdldCBpblN0YXRpY0Jsb2NrKCl7Zm9yKGxldCB0PXRoaXMuc2NvcGVTdGFjay5sZW5ndGgtMTs7dC0tKXtsZXR7ZmxhZ3M6ZX09dGhpcy5zY29wZVN0YWNrW3RdO2lmKGUmMTI4KXJldHVybiEwO2lmKGUmNDUxKXJldHVybiExfX1nZXQgaW5Ob25BcnJvd0Z1bmN0aW9uKCl7cmV0dXJuKHRoaXMuY3VycmVudFRoaXNTY29wZUZsYWdzKCkmMik+MH1nZXQgdHJlYXRGdW5jdGlvbnNBc1Zhcigpe3JldHVybiB0aGlzLnRyZWF0RnVuY3Rpb25zQXNWYXJJblNjb3BlKHRoaXMuY3VycmVudFNjb3BlKCkpfWNyZWF0ZVNjb3BlKHQpe3JldHVybiBuZXcgdWUodCl9ZW50ZXIodCl7dGhpcy5zY29wZVN0YWNrLnB1c2godGhpcy5jcmVhdGVTY29wZSh0KSl9ZXhpdCgpe3JldHVybiB0aGlzLnNjb3BlU3RhY2sucG9wKCkuZmxhZ3N9dHJlYXRGdW5jdGlvbnNBc1ZhckluU2NvcGUodCl7cmV0dXJuISEodC5mbGFncyYxMzB8fCF0aGlzLnBhcnNlci5pbk1vZHVsZSYmdC5mbGFncyYxKX1kZWNsYXJlTmFtZSh0LGUscyl7bGV0IGk9dGhpcy5jdXJyZW50U2NvcGUoKTtpZihlJjh8fGUmMTYpe3RoaXMuY2hlY2tSZWRlY2xhcmF0aW9uSW5TY29wZShpLHQsZSxzKTtsZXQgcj1pLm5hbWVzLmdldCh0KXx8MDtlJjE2P3I9cnw0OihpLmZpcnN0TGV4aWNhbE5hbWV8fChpLmZpcnN0TGV4aWNhbE5hbWU9dCkscj1yfDIpLGkubmFtZXMuc2V0KHQsciksZSY4JiZ0aGlzLm1heWJlRXhwb3J0RGVmaW5lZChpLHQpfWVsc2UgaWYoZSY0KWZvcihsZXQgcj10aGlzLnNjb3BlU3RhY2subGVuZ3RoLTE7cj49MCYmKGk9dGhpcy5zY29wZVN0YWNrW3JdLHRoaXMuY2hlY2tSZWRlY2xhcmF0aW9uSW5TY29wZShpLHQsZSxzKSxpLm5hbWVzLnNldCh0LChpLm5hbWVzLmdldCh0KXx8MCl8MSksdGhpcy5tYXliZUV4cG9ydERlZmluZWQoaSx0KSwhKGkuZmxhZ3MmMzg3KSk7LS1yKTt0aGlzLnBhcnNlci5pbk1vZHVsZSYmaS5mbGFncyYxJiZ0aGlzLnVuZGVmaW5lZEV4cG9ydHMuZGVsZXRlKHQpfW1heWJlRXhwb3J0RGVmaW5lZCh0LGUpe3RoaXMucGFyc2VyLmluTW9kdWxlJiZ0LmZsYWdzJjEmJnRoaXMudW5kZWZpbmVkRXhwb3J0cy5kZWxldGUoZSl9Y2hlY2tSZWRlY2xhcmF0aW9uSW5TY29wZSh0LGUscyxpKXt0aGlzLmlzUmVkZWNsYXJlZEluU2NvcGUodCxlLHMpJiZ0aGlzLnBhcnNlci5yYWlzZShwLlZhclJlZGVjbGFyYXRpb24saSx7aWRlbnRpZmllck5hbWU6ZX0pfWlzUmVkZWNsYXJlZEluU2NvcGUodCxlLHMpe2lmKCEocyYxKSlyZXR1cm4hMTtpZihzJjgpcmV0dXJuIHQubmFtZXMuaGFzKGUpO2xldCBpPXQubmFtZXMuZ2V0KGUpO3JldHVybiBzJjE2PyhpJjIpPjB8fCF0aGlzLnRyZWF0RnVuY3Rpb25zQXNWYXJJblNjb3BlKHQpJiYoaSYxKT4wOihpJjIpPjAmJiEodC5mbGFncyY4JiZ0LmZpcnN0TGV4aWNhbE5hbWU9PT1lKXx8IXRoaXMudHJlYXRGdW5jdGlvbnNBc1ZhckluU2NvcGUodCkmJihpJjQpPjB9Y2hlY2tMb2NhbEV4cG9ydCh0KXtsZXR7bmFtZTplfT10O3RoaXMuc2NvcGVTdGFja1swXS5uYW1lcy5oYXMoZSl8fHRoaXMudW5kZWZpbmVkRXhwb3J0cy5zZXQoZSx0LmxvYy5zdGFydCl9Y3VycmVudFNjb3BlKCl7cmV0dXJuIHRoaXMuc2NvcGVTdGFja1t0aGlzLnNjb3BlU3RhY2subGVuZ3RoLTFdfWN1cnJlbnRWYXJTY29wZUZsYWdzKCl7Zm9yKGxldCB0PXRoaXMuc2NvcGVTdGFjay5sZW5ndGgtMTs7dC0tKXtsZXR7ZmxhZ3M6ZX09dGhpcy5zY29wZVN0YWNrW3RdO2lmKGUmMzg3KXJldHVybiBlfX1jdXJyZW50VGhpc1Njb3BlRmxhZ3MoKXtmb3IobGV0IHQ9dGhpcy5zY29wZVN0YWNrLmxlbmd0aC0xOzt0LS0pe2xldHtmbGFnczplfT10aGlzLnNjb3BlU3RhY2tbdF07aWYoZSY0NTEmJiEoZSY0KSlyZXR1cm4gZX19fSxLZT1jbGFzcyBleHRlbmRzIHVle2NvbnN0cnVjdG9yKC4uLnQpe3N1cGVyKC4uLnQpLHRoaXMuZGVjbGFyZUZ1bmN0aW9ucz1uZXcgU2V0fX0sSGU9Y2xhc3MgZXh0ZW5kcyBmZXtjcmVhdGVTY29wZSh0KXtyZXR1cm4gbmV3IEtlKHQpfWRlY2xhcmVOYW1lKHQsZSxzKXtsZXQgaT10aGlzLmN1cnJlbnRTY29wZSgpO2lmKGUmMjA0OCl7dGhpcy5jaGVja1JlZGVjbGFyYXRpb25JblNjb3BlKGksdCxlLHMpLHRoaXMubWF5YmVFeHBvcnREZWZpbmVkKGksdCksaS5kZWNsYXJlRnVuY3Rpb25zLmFkZCh0KTtyZXR1cm59c3VwZXIuZGVjbGFyZU5hbWUodCxlLHMpfWlzUmVkZWNsYXJlZEluU2NvcGUodCxlLHMpe2lmKHN1cGVyLmlzUmVkZWNsYXJlZEluU2NvcGUodCxlLHMpKXJldHVybiEwO2lmKHMmMjA0OCYmIXQuZGVjbGFyZUZ1bmN0aW9ucy5oYXMoZSkpe2xldCBpPXQubmFtZXMuZ2V0KGUpO3JldHVybihpJjQpPjB8fChpJjIpPjB9cmV0dXJuITF9Y2hlY2tMb2NhbEV4cG9ydCh0KXt0aGlzLnNjb3BlU3RhY2tbMF0uZGVjbGFyZUZ1bmN0aW9ucy5oYXModC5uYW1lKXx8c3VwZXIuY2hlY2tMb2NhbEV4cG9ydCh0KX19LEplPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5zYXdVbmFtYmlndW91c0VTTT0hMSx0aGlzLmFtYmlndW91c1NjcmlwdERpZmZlcmVudEFzdD0hMX1zb3VyY2VUb09mZnNldFBvcyh0KXtyZXR1cm4gdCt0aGlzLnN0YXJ0SW5kZXh9b2Zmc2V0VG9Tb3VyY2VQb3ModCl7cmV0dXJuIHQtdGhpcy5zdGFydEluZGV4fWhhc1BsdWdpbih0KXtpZih0eXBlb2YgdD09XCJzdHJpbmdcIilyZXR1cm4gdGhpcy5wbHVnaW5zLmhhcyh0KTt7bGV0W2Usc109dDtpZighdGhpcy5oYXNQbHVnaW4oZSkpcmV0dXJuITE7bGV0IGk9dGhpcy5wbHVnaW5zLmdldChlKTtmb3IobGV0IHIgb2YgT2JqZWN0LmtleXMocykpaWYoKGk9PW51bGw/dm9pZCAwOmlbcl0pIT09c1tyXSlyZXR1cm4hMTtyZXR1cm4hMH19Z2V0UGx1Z2luT3B0aW9uKHQsZSl7dmFyIHM7cmV0dXJuKHM9dGhpcy5wbHVnaW5zLmdldCh0KSk9PW51bGw/dm9pZCAwOnNbZV19fTtmdW5jdGlvbiBHdChhLHQpe2EudHJhaWxpbmdDb21tZW50cz09PXZvaWQgMD9hLnRyYWlsaW5nQ29tbWVudHM9dDphLnRyYWlsaW5nQ29tbWVudHMudW5zaGlmdCguLi50KX1mdW5jdGlvbiBBaShhLHQpe2EubGVhZGluZ0NvbW1lbnRzPT09dm9pZCAwP2EubGVhZGluZ0NvbW1lbnRzPXQ6YS5sZWFkaW5nQ29tbWVudHMudW5zaGlmdCguLi50KX1mdW5jdGlvbiBkZShhLHQpe2EuaW5uZXJDb21tZW50cz09PXZvaWQgMD9hLmlubmVyQ29tbWVudHM9dDphLmlubmVyQ29tbWVudHMudW5zaGlmdCguLi50KX1mdW5jdGlvbiBoZShhLHQsZSl7bGV0IHM9bnVsbCxpPXQubGVuZ3RoO2Zvcig7cz09PW51bGwmJmk+MDspcz10Wy0taV07cz09PW51bGx8fHMuc3RhcnQ+ZS5zdGFydD9kZShhLGUuY29tbWVudHMpOkd0KHMsZS5jb21tZW50cyl9dmFyIFdlPWNsYXNzIGV4dGVuZHMgSmV7YWRkQ29tbWVudCh0KXt0aGlzLmZpbGVuYW1lJiYodC5sb2MuZmlsZW5hbWU9dGhpcy5maWxlbmFtZSk7bGV0e2NvbW1lbnRzTGVuOmV9PXRoaXMuc3RhdGU7dGhpcy5jb21tZW50cy5sZW5ndGghPT1lJiYodGhpcy5jb21tZW50cy5sZW5ndGg9ZSksdGhpcy5jb21tZW50cy5wdXNoKHQpLHRoaXMuc3RhdGUuY29tbWVudHNMZW4rK31wcm9jZXNzQ29tbWVudCh0KXtsZXR7Y29tbWVudFN0YWNrOmV9PXRoaXMuc3RhdGUscz1lLmxlbmd0aDtpZihzPT09MClyZXR1cm47bGV0IGk9cy0xLHI9ZVtpXTtyLnN0YXJ0PT09dC5lbmQmJihyLmxlYWRpbmdOb2RlPXQsaS0tKTtsZXR7c3RhcnQ6bn09dDtmb3IoO2k+PTA7aS0tKXtsZXQgbz1lW2ldLGg9by5lbmQ7aWYoaD5uKW8uY29udGFpbmluZ05vZGU9dCx0aGlzLmZpbmFsaXplQ29tbWVudChvKSxlLnNwbGljZShpLDEpO2Vsc2V7aD09PW4mJihvLnRyYWlsaW5nTm9kZT10KTticmVha319fWZpbmFsaXplQ29tbWVudCh0KXtsZXR7Y29tbWVudHM6ZX09dDtpZih0LmxlYWRpbmdOb2RlIT09bnVsbHx8dC50cmFpbGluZ05vZGUhPT1udWxsKXQubGVhZGluZ05vZGUhPT1udWxsJiZHdCh0LmxlYWRpbmdOb2RlLGUpLHQudHJhaWxpbmdOb2RlIT09bnVsbCYmQWkodC50cmFpbGluZ05vZGUsZSk7ZWxzZXtsZXR7Y29udGFpbmluZ05vZGU6cyxzdGFydDppfT10O2lmKHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLm9mZnNldFRvU291cmNlUG9zKGkpLTEpPT09NDQpc3dpdGNoKHMudHlwZSl7Y2FzZVwiT2JqZWN0RXhwcmVzc2lvblwiOmNhc2VcIk9iamVjdFBhdHRlcm5cIjpjYXNlXCJSZWNvcmRFeHByZXNzaW9uXCI6aGUocyxzLnByb3BlcnRpZXMsdCk7YnJlYWs7Y2FzZVwiQ2FsbEV4cHJlc3Npb25cIjpjYXNlXCJPcHRpb25hbENhbGxFeHByZXNzaW9uXCI6aGUocyxzLmFyZ3VtZW50cyx0KTticmVhaztjYXNlXCJGdW5jdGlvbkRlY2xhcmF0aW9uXCI6Y2FzZVwiRnVuY3Rpb25FeHByZXNzaW9uXCI6Y2FzZVwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIjpjYXNlXCJPYmplY3RNZXRob2RcIjpjYXNlXCJDbGFzc01ldGhvZFwiOmNhc2VcIkNsYXNzUHJpdmF0ZU1ldGhvZFwiOmhlKHMscy5wYXJhbXMsdCk7YnJlYWs7Y2FzZVwiQXJyYXlFeHByZXNzaW9uXCI6Y2FzZVwiQXJyYXlQYXR0ZXJuXCI6Y2FzZVwiVHVwbGVFeHByZXNzaW9uXCI6aGUocyxzLmVsZW1lbnRzLHQpO2JyZWFrO2Nhc2VcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIjpjYXNlXCJJbXBvcnREZWNsYXJhdGlvblwiOmhlKHMscy5zcGVjaWZpZXJzLHQpO2JyZWFrO2RlZmF1bHQ6ZGUocyxlKX1lbHNlIGRlKHMsZSl9fWZpbmFsaXplUmVtYWluaW5nQ29tbWVudHMoKXtsZXR7Y29tbWVudFN0YWNrOnR9PXRoaXMuc3RhdGU7Zm9yKGxldCBlPXQubGVuZ3RoLTE7ZT49MDtlLS0pdGhpcy5maW5hbGl6ZUNvbW1lbnQodFtlXSk7dGhpcy5zdGF0ZS5jb21tZW50U3RhY2s9W119cmVzZXRQcmV2aW91c05vZGVUcmFpbGluZ0NvbW1lbnRzKHQpe2xldHtjb21tZW50U3RhY2s6ZX09dGhpcy5zdGF0ZSx7bGVuZ3RoOnN9PWU7aWYocz09PTApcmV0dXJuO2xldCBpPWVbcy0xXTtpLmxlYWRpbmdOb2RlPT09dCYmKGkubGVhZGluZ05vZGU9bnVsbCl9cmVzZXRQcmV2aW91c0lkZW50aWZpZXJMZWFkaW5nQ29tbWVudHModCl7bGV0e2NvbW1lbnRTdGFjazplfT10aGlzLnN0YXRlLHtsZW5ndGg6c309ZTtzIT09MCYmKGVbcy0xXS50cmFpbGluZ05vZGU9PT10P2Vbcy0xXS50cmFpbGluZ05vZGU9bnVsbDpzPj0yJiZlW3MtMl0udHJhaWxpbmdOb2RlPT09dCYmKGVbcy0yXS50cmFpbGluZ05vZGU9bnVsbCkpfXRha2VTdXJyb3VuZGluZ0NvbW1lbnRzKHQsZSxzKXtsZXR7Y29tbWVudFN0YWNrOml9PXRoaXMuc3RhdGUscj1pLmxlbmd0aDtpZihyPT09MClyZXR1cm47bGV0IG49ci0xO2Zvcig7bj49MDtuLS0pe2xldCBvPWlbbl0saD1vLmVuZDtpZihvLnN0YXJ0PT09cylvLmxlYWRpbmdOb2RlPXQ7ZWxzZSBpZihoPT09ZSlvLnRyYWlsaW5nTm9kZT10O2Vsc2UgaWYoaDxlKWJyZWFrfX19LFNpPS9cXHJcXG58W1xcclxcblxcdTIwMjhcXHUyMDI5XS8sYmU9bmV3IFJlZ0V4cChTaS5zb3VyY2UsXCJnXCIpO2Z1bmN0aW9uIFkoYSl7c3dpdGNoKGEpe2Nhc2UgMTA6Y2FzZSAxMzpjYXNlIDgyMzI6Y2FzZSA4MjMzOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIE10KGEsdCxlKXtmb3IobGV0IHM9dDtzPGU7cysrKWlmKFkoYS5jaGFyQ29kZUF0KHMpKSlyZXR1cm4hMDtyZXR1cm4hMX12YXIgX2U9Lyg/Olxcc3xcXC9cXC8uKnxcXC9cXCpbXl0qP1xcKlxcLykqL2csamU9Lyg/OlteXFxTXFxuXFxyXFx1MjAyOFxcdTIwMjldfFxcL1xcLy4qfFxcL1xcKi4qP1xcKlxcLykqL2c7ZnVuY3Rpb24gd2koYSl7c3dpdGNoKGEpe2Nhc2UgOTpjYXNlIDExOmNhc2UgMTI6Y2FzZSAzMjpjYXNlIDE2MDpjYXNlIDU3NjA6Y2FzZSA4MTkyOmNhc2UgODE5MzpjYXNlIDgxOTQ6Y2FzZSA4MTk1OmNhc2UgODE5NjpjYXNlIDgxOTc6Y2FzZSA4MTk4OmNhc2UgODE5OTpjYXNlIDgyMDA6Y2FzZSA4MjAxOmNhc2UgODIwMjpjYXNlIDgyMzk6Y2FzZSA4Mjg3OmNhc2UgMTIyODg6Y2FzZSA2NTI3OTpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX12YXIgWGU9Y2xhc3MgYXtjb25zdHJ1Y3Rvcigpe3RoaXMuZmxhZ3M9MTAyNCx0aGlzLnN0YXJ0SW5kZXg9dm9pZCAwLHRoaXMuY3VyTGluZT12b2lkIDAsdGhpcy5saW5lU3RhcnQ9dm9pZCAwLHRoaXMuc3RhcnRMb2M9dm9pZCAwLHRoaXMuZW5kTG9jPXZvaWQgMCx0aGlzLmVycm9ycz1bXSx0aGlzLnBvdGVudGlhbEFycm93QXQ9LTEsdGhpcy5ub0Fycm93QXQ9W10sdGhpcy5ub0Fycm93UGFyYW1zQ29udmVyc2lvbkF0PVtdLHRoaXMudG9waWNDb250ZXh0PXttYXhOdW1PZlJlc29sdmFibGVUb3BpY3M6MCxtYXhUb3BpY0luZGV4Om51bGx9LHRoaXMubGFiZWxzPVtdLHRoaXMuY29tbWVudHNMZW49MCx0aGlzLmNvbW1lbnRTdGFjaz1bXSx0aGlzLnBvcz0wLHRoaXMudHlwZT0xNDAsdGhpcy52YWx1ZT1udWxsLHRoaXMuc3RhcnQ9MCx0aGlzLmVuZD0wLHRoaXMubGFzdFRva0VuZExvYz1udWxsLHRoaXMubGFzdFRva1N0YXJ0TG9jPW51bGwsdGhpcy5jb250ZXh0PVtFLmJyYWNlXSx0aGlzLmZpcnN0SW52YWxpZFRlbXBsYXRlRXNjYXBlUG9zPW51bGwsdGhpcy5zdHJpY3RFcnJvcnM9bmV3IE1hcCx0aGlzLnRva2Vuc0xlbmd0aD0wfWdldCBzdHJpY3QoKXtyZXR1cm4odGhpcy5mbGFncyYxKT4wfXNldCBzdHJpY3QodCl7dD90aGlzLmZsYWdzfD0xOnRoaXMuZmxhZ3MmPS0yfWluaXQoe3N0cmljdE1vZGU6dCxzb3VyY2VUeXBlOmUsc3RhcnRJbmRleDpzLHN0YXJ0TGluZTppLHN0YXJ0Q29sdW1uOnJ9KXt0aGlzLnN0cmljdD10PT09ITE/ITE6dD09PSEwPyEwOmU9PT1cIm1vZHVsZVwiLHRoaXMuc3RhcnRJbmRleD1zLHRoaXMuY3VyTGluZT1pLHRoaXMubGluZVN0YXJ0PS1yLHRoaXMuc3RhcnRMb2M9dGhpcy5lbmRMb2M9bmV3IE8oaSxyLHMpfWdldCBtYXliZUluQXJyb3dQYXJhbWV0ZXJzKCl7cmV0dXJuKHRoaXMuZmxhZ3MmMik+MH1zZXQgbWF5YmVJbkFycm93UGFyYW1ldGVycyh0KXt0P3RoaXMuZmxhZ3N8PTI6dGhpcy5mbGFncyY9LTN9Z2V0IGluVHlwZSgpe3JldHVybih0aGlzLmZsYWdzJjQpPjB9c2V0IGluVHlwZSh0KXt0P3RoaXMuZmxhZ3N8PTQ6dGhpcy5mbGFncyY9LTV9Z2V0IG5vQW5vbkZ1bmN0aW9uVHlwZSgpe3JldHVybih0aGlzLmZsYWdzJjgpPjB9c2V0IG5vQW5vbkZ1bmN0aW9uVHlwZSh0KXt0P3RoaXMuZmxhZ3N8PTg6dGhpcy5mbGFncyY9LTl9Z2V0IGhhc0Zsb3dDb21tZW50KCl7cmV0dXJuKHRoaXMuZmxhZ3MmMTYpPjB9c2V0IGhhc0Zsb3dDb21tZW50KHQpe3Q/dGhpcy5mbGFnc3w9MTY6dGhpcy5mbGFncyY9LTE3fWdldCBpc0FtYmllbnRDb250ZXh0KCl7cmV0dXJuKHRoaXMuZmxhZ3MmMzIpPjB9c2V0IGlzQW1iaWVudENvbnRleHQodCl7dD90aGlzLmZsYWdzfD0zMjp0aGlzLmZsYWdzJj0tMzN9Z2V0IGluQWJzdHJhY3RDbGFzcygpe3JldHVybih0aGlzLmZsYWdzJjY0KT4wfXNldCBpbkFic3RyYWN0Q2xhc3ModCl7dD90aGlzLmZsYWdzfD02NDp0aGlzLmZsYWdzJj0tNjV9Z2V0IGluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dCgpe3JldHVybih0aGlzLmZsYWdzJjEyOCk+MH1zZXQgaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0KHQpe3Q/dGhpcy5mbGFnc3w9MTI4OnRoaXMuZmxhZ3MmPS0xMjl9Z2V0IHNvbG9Bd2FpdCgpe3JldHVybih0aGlzLmZsYWdzJjI1Nik+MH1zZXQgc29sb0F3YWl0KHQpe3Q/dGhpcy5mbGFnc3w9MjU2OnRoaXMuZmxhZ3MmPS0yNTd9Z2V0IGluRlNoYXJwUGlwZWxpbmVEaXJlY3RCb2R5KCl7cmV0dXJuKHRoaXMuZmxhZ3MmNTEyKT4wfXNldCBpbkZTaGFycFBpcGVsaW5lRGlyZWN0Qm9keSh0KXt0P3RoaXMuZmxhZ3N8PTUxMjp0aGlzLmZsYWdzJj0tNTEzfWdldCBjYW5TdGFydEpTWEVsZW1lbnQoKXtyZXR1cm4odGhpcy5mbGFncyYxMDI0KT4wfXNldCBjYW5TdGFydEpTWEVsZW1lbnQodCl7dD90aGlzLmZsYWdzfD0xMDI0OnRoaXMuZmxhZ3MmPS0xMDI1fWdldCBjb250YWluc0VzYygpe3JldHVybih0aGlzLmZsYWdzJjIwNDgpPjB9c2V0IGNvbnRhaW5zRXNjKHQpe3Q/dGhpcy5mbGFnc3w9MjA0ODp0aGlzLmZsYWdzJj0tMjA0OX1nZXQgaGFzVG9wTGV2ZWxBd2FpdCgpe3JldHVybih0aGlzLmZsYWdzJjQwOTYpPjB9c2V0IGhhc1RvcExldmVsQXdhaXQodCl7dD90aGlzLmZsYWdzfD00MDk2OnRoaXMuZmxhZ3MmPS00MDk3fWN1clBvc2l0aW9uKCl7cmV0dXJuIG5ldyBPKHRoaXMuY3VyTGluZSx0aGlzLnBvcy10aGlzLmxpbmVTdGFydCx0aGlzLnBvcyt0aGlzLnN0YXJ0SW5kZXgpfWNsb25lKCl7bGV0IHQ9bmV3IGE7cmV0dXJuIHQuZmxhZ3M9dGhpcy5mbGFncyx0LnN0YXJ0SW5kZXg9dGhpcy5zdGFydEluZGV4LHQuY3VyTGluZT10aGlzLmN1ckxpbmUsdC5saW5lU3RhcnQ9dGhpcy5saW5lU3RhcnQsdC5zdGFydExvYz10aGlzLnN0YXJ0TG9jLHQuZW5kTG9jPXRoaXMuZW5kTG9jLHQuZXJyb3JzPXRoaXMuZXJyb3JzLnNsaWNlKCksdC5wb3RlbnRpYWxBcnJvd0F0PXRoaXMucG90ZW50aWFsQXJyb3dBdCx0Lm5vQXJyb3dBdD10aGlzLm5vQXJyb3dBdC5zbGljZSgpLHQubm9BcnJvd1BhcmFtc0NvbnZlcnNpb25BdD10aGlzLm5vQXJyb3dQYXJhbXNDb252ZXJzaW9uQXQuc2xpY2UoKSx0LnRvcGljQ29udGV4dD10aGlzLnRvcGljQ29udGV4dCx0LmxhYmVscz10aGlzLmxhYmVscy5zbGljZSgpLHQuY29tbWVudHNMZW49dGhpcy5jb21tZW50c0xlbix0LmNvbW1lbnRTdGFjaz10aGlzLmNvbW1lbnRTdGFjay5zbGljZSgpLHQucG9zPXRoaXMucG9zLHQudHlwZT10aGlzLnR5cGUsdC52YWx1ZT10aGlzLnZhbHVlLHQuc3RhcnQ9dGhpcy5zdGFydCx0LmVuZD10aGlzLmVuZCx0Lmxhc3RUb2tFbmRMb2M9dGhpcy5sYXN0VG9rRW5kTG9jLHQubGFzdFRva1N0YXJ0TG9jPXRoaXMubGFzdFRva1N0YXJ0TG9jLHQuY29udGV4dD10aGlzLmNvbnRleHQuc2xpY2UoKSx0LmZpcnN0SW52YWxpZFRlbXBsYXRlRXNjYXBlUG9zPXRoaXMuZmlyc3RJbnZhbGlkVGVtcGxhdGVFc2NhcGVQb3MsdC5zdHJpY3RFcnJvcnM9dGhpcy5zdHJpY3RFcnJvcnMsdC50b2tlbnNMZW5ndGg9dGhpcy50b2tlbnNMZW5ndGgsdH19LENpPWZ1bmN0aW9uKHQpe3JldHVybiB0Pj00OCYmdDw9NTd9LE90PXtkZWNCaW5PY3Q6bmV3IFNldChbNDYsNjYsNjksNzksOTUsOTgsMTAxLDExMV0pLGhleDpuZXcgU2V0KFs0Niw4OCw5NSwxMjBdKX0sQWU9e2JpbjphPT5hPT09NDh8fGE9PT00OSxvY3Q6YT0+YT49NDgmJmE8PTU1LGRlYzphPT5hPj00OCYmYTw9NTcsaGV4OmE9PmE+PTQ4JiZhPD01N3x8YT49NjUmJmE8PTcwfHxhPj05NyYmYTw9MTAyfTtmdW5jdGlvbiBGdChhLHQsZSxzLGkscil7bGV0IG49ZSxvPXMsaD1pLGw9XCJcIixjPW51bGwsdT1lLHtsZW5ndGg6Zn09dDtmb3IoOzspe2lmKGU+PWYpe3IudW50ZXJtaW5hdGVkKG4sbyxoKSxsKz10LnNsaWNlKHUsZSk7YnJlYWt9bGV0IGQ9dC5jaGFyQ29kZUF0KGUpO2lmKEVpKGEsZCx0LGUpKXtsKz10LnNsaWNlKHUsZSk7YnJlYWt9aWYoZD09PTkyKXtsKz10LnNsaWNlKHUsZSk7bGV0IHg9SWkodCxlLHMsaSxhPT09XCJ0ZW1wbGF0ZVwiLHIpO3guY2g9PT1udWxsJiYhYz9jPXtwb3M6ZSxsaW5lU3RhcnQ6cyxjdXJMaW5lOml9OmwrPXguY2gse3BvczplLGxpbmVTdGFydDpzLGN1ckxpbmU6aX09eCx1PWV9ZWxzZSBkPT09ODIzMnx8ZD09PTgyMzM/KCsrZSwrK2kscz1lKTpkPT09MTB8fGQ9PT0xMz9hPT09XCJ0ZW1wbGF0ZVwiPyhsKz10LnNsaWNlKHUsZSkrYFxuYCwrK2UsZD09PTEzJiZ0LmNoYXJDb2RlQXQoZSk9PT0xMCYmKytlLCsraSx1PXM9ZSk6ci51bnRlcm1pbmF0ZWQobixvLGgpOisrZX1yZXR1cm57cG9zOmUsc3RyOmwsZmlyc3RJbnZhbGlkTG9jOmMsbGluZVN0YXJ0OnMsY3VyTGluZTppLGNvbnRhaW5zSW52YWxpZDohIWN9fWZ1bmN0aW9uIEVpKGEsdCxlLHMpe3JldHVybiBhPT09XCJ0ZW1wbGF0ZVwiP3Q9PT05Nnx8dD09PTM2JiZlLmNoYXJDb2RlQXQocysxKT09PTEyMzp0PT09KGE9PT1cImRvdWJsZVwiPzM0OjM5KX1mdW5jdGlvbiBJaShhLHQsZSxzLGkscil7bGV0IG49IWk7dCsrO2xldCBvPWw9Pih7cG9zOnQsY2g6bCxsaW5lU3RhcnQ6ZSxjdXJMaW5lOnN9KSxoPWEuY2hhckNvZGVBdCh0KyspO3N3aXRjaChoKXtjYXNlIDExMDpyZXR1cm4gbyhgXG5gKTtjYXNlIDExNDpyZXR1cm4gbyhcIlxcclwiKTtjYXNlIDEyMDp7bGV0IGw7cmV0dXJue2NvZGU6bCxwb3M6dH09R2UoYSx0LGUscywyLCExLG4sciksbyhsPT09bnVsbD9udWxsOlN0cmluZy5mcm9tQ2hhckNvZGUobCkpfWNhc2UgMTE3OntsZXQgbDtyZXR1cm57Y29kZTpsLHBvczp0fT1RdChhLHQsZSxzLG4sciksbyhsPT09bnVsbD9udWxsOlN0cmluZy5mcm9tQ29kZVBvaW50KGwpKX1jYXNlIDExNjpyZXR1cm4gbyhcIlx0XCIpO2Nhc2UgOTg6cmV0dXJuIG8oXCJcXGJcIik7Y2FzZSAxMTg6cmV0dXJuIG8oXCJcXHZcIik7Y2FzZSAxMDI6cmV0dXJuIG8oXCJcXGZcIik7Y2FzZSAxMzphLmNoYXJDb2RlQXQodCk9PT0xMCYmKyt0O2Nhc2UgMTA6ZT10LCsrcztjYXNlIDgyMzI6Y2FzZSA4MjMzOnJldHVybiBvKFwiXCIpO2Nhc2UgNTY6Y2FzZSA1NzppZihpKXJldHVybiBvKG51bGwpO3Iuc3RyaWN0TnVtZXJpY0VzY2FwZSh0LTEsZSxzKTtkZWZhdWx0OmlmKGg+PTQ4JiZoPD01NSl7bGV0IGw9dC0xLHU9L15bMC03XSsvLmV4ZWMoYS5zbGljZShsLHQrMikpWzBdLGY9cGFyc2VJbnQodSw4KTtmPjI1NSYmKHU9dS5zbGljZSgwLC0xKSxmPXBhcnNlSW50KHUsOCkpLHQrPXUubGVuZ3RoLTE7bGV0IGQ9YS5jaGFyQ29kZUF0KHQpO2lmKHUhPT1cIjBcInx8ZD09PTU2fHxkPT09NTcpe2lmKGkpcmV0dXJuIG8obnVsbCk7ci5zdHJpY3ROdW1lcmljRXNjYXBlKGwsZSxzKX1yZXR1cm4gbyhTdHJpbmcuZnJvbUNoYXJDb2RlKGYpKX1yZXR1cm4gbyhTdHJpbmcuZnJvbUNoYXJDb2RlKGgpKX19ZnVuY3Rpb24gR2UoYSx0LGUscyxpLHIsbixvKXtsZXQgaD10LGw7cmV0dXJue246bCxwb3M6dH09WXQoYSx0LGUscywxNixpLHIsITEsbywhbiksbD09PW51bGwmJihuP28uaW52YWxpZEVzY2FwZVNlcXVlbmNlKGgsZSxzKTp0PWgtMSkse2NvZGU6bCxwb3M6dH19ZnVuY3Rpb24gWXQoYSx0LGUscyxpLHIsbixvLGgsbCl7bGV0IGM9dCx1PWk9PT0xNj9PdC5oZXg6T3QuZGVjQmluT2N0LGY9aT09PTE2P0FlLmhleDppPT09MTA/QWUuZGVjOmk9PT04P0FlLm9jdDpBZS5iaW4sZD0hMSx4PTA7Zm9yKGxldCBTPTAsTj1yPz8xLzA7UzxOOysrUyl7bGV0IHc9YS5jaGFyQ29kZUF0KHQpLEk7aWYodz09PTk1JiZvIT09XCJiYWlsXCIpe2xldCBUZT1hLmNoYXJDb2RlQXQodC0xKSxhZT1hLmNoYXJDb2RlQXQodCsxKTtpZihvKXtpZihOdW1iZXIuaXNOYU4oYWUpfHwhZihhZSl8fHUuaGFzKFRlKXx8dS5oYXMoYWUpKXtpZihsKXJldHVybntuOm51bGwscG9zOnR9O2gudW5leHBlY3RlZE51bWVyaWNTZXBhcmF0b3IodCxlLHMpfX1lbHNle2lmKGwpcmV0dXJue246bnVsbCxwb3M6dH07aC5udW1lcmljU2VwYXJhdG9ySW5Fc2NhcGVTZXF1ZW5jZSh0LGUscyl9Kyt0O2NvbnRpbnVlfWlmKHc+PTk3P0k9dy05NysxMDp3Pj02NT9JPXctNjUrMTA6Q2kodyk/ST13LTQ4Okk9MS8wLEk+PWkpe2lmKEk8PTkmJmwpcmV0dXJue246bnVsbCxwb3M6dH07aWYoSTw9OSYmaC5pbnZhbGlkRGlnaXQodCxlLHMsaSkpST0wO2Vsc2UgaWYobilJPTAsZD0hMDtlbHNlIGJyZWFrfSsrdCx4PXgqaStJfXJldHVybiB0PT09Y3x8ciE9bnVsbCYmdC1jIT09cnx8ZD97bjpudWxsLHBvczp0fTp7bjp4LHBvczp0fX1mdW5jdGlvbiBRdChhLHQsZSxzLGkscil7bGV0IG49YS5jaGFyQ29kZUF0KHQpLG87aWYobj09PTEyMyl7aWYoKyt0LHtjb2RlOm8scG9zOnR9PUdlKGEsdCxlLHMsYS5pbmRleE9mKFwifVwiLHQpLXQsITAsaSxyKSwrK3QsbyE9PW51bGwmJm8+MTExNDExMSlpZihpKXIuaW52YWxpZENvZGVQb2ludCh0LGUscyk7ZWxzZSByZXR1cm57Y29kZTpudWxsLHBvczp0fX1lbHNlKHtjb2RlOm8scG9zOnR9PUdlKGEsdCxlLHMsNCwhMSxpLHIpKTtyZXR1cm57Y29kZTpvLHBvczp0fX1mdW5jdGlvbiBsZShhLHQsZSl7cmV0dXJuIG5ldyBPKGUsYS10LGEpfXZhciBOaT1uZXcgU2V0KFsxMDMsMTA5LDExNSwxMDUsMTIxLDExNywxMDAsMTE4XSksTT1jbGFzc3tjb25zdHJ1Y3Rvcih0KXtsZXQgZT10LnN0YXJ0SW5kZXh8fDA7dGhpcy50eXBlPXQudHlwZSx0aGlzLnZhbHVlPXQudmFsdWUsdGhpcy5zdGFydD1lK3Quc3RhcnQsdGhpcy5lbmQ9ZSt0LmVuZCx0aGlzLmxvYz1uZXcgWih0LnN0YXJ0TG9jLHQuZW5kTG9jKX19LFllPWNsYXNzIGV4dGVuZHMgV2V7Y29uc3RydWN0b3IodCxlKXtzdXBlcigpLHRoaXMuaXNMb29rYWhlYWQ9dm9pZCAwLHRoaXMudG9rZW5zPVtdLHRoaXMuZXJyb3JIYW5kbGVyc19yZWFkSW50PXtpbnZhbGlkRGlnaXQ6KHMsaSxyLG4pPT50aGlzLm9wdGlvbnMuZXJyb3JSZWNvdmVyeT8odGhpcy5yYWlzZShwLkludmFsaWREaWdpdCxsZShzLGkscikse3JhZGl4Om59KSwhMCk6ITEsbnVtZXJpY1NlcGFyYXRvckluRXNjYXBlU2VxdWVuY2U6dGhpcy5lcnJvckJ1aWxkZXIocC5OdW1lcmljU2VwYXJhdG9ySW5Fc2NhcGVTZXF1ZW5jZSksdW5leHBlY3RlZE51bWVyaWNTZXBhcmF0b3I6dGhpcy5lcnJvckJ1aWxkZXIocC5VbmV4cGVjdGVkTnVtZXJpY1NlcGFyYXRvcil9LHRoaXMuZXJyb3JIYW5kbGVyc19yZWFkQ29kZVBvaW50PU9iamVjdC5hc3NpZ24oe30sdGhpcy5lcnJvckhhbmRsZXJzX3JlYWRJbnQse2ludmFsaWRFc2NhcGVTZXF1ZW5jZTp0aGlzLmVycm9yQnVpbGRlcihwLkludmFsaWRFc2NhcGVTZXF1ZW5jZSksaW52YWxpZENvZGVQb2ludDp0aGlzLmVycm9yQnVpbGRlcihwLkludmFsaWRDb2RlUG9pbnQpfSksdGhpcy5lcnJvckhhbmRsZXJzX3JlYWRTdHJpbmdDb250ZW50c19zdHJpbmc9T2JqZWN0LmFzc2lnbih7fSx0aGlzLmVycm9ySGFuZGxlcnNfcmVhZENvZGVQb2ludCx7c3RyaWN0TnVtZXJpY0VzY2FwZToocyxpLHIpPT57dGhpcy5yZWNvcmRTdHJpY3RNb2RlRXJyb3JzKHAuU3RyaWN0TnVtZXJpY0VzY2FwZSxsZShzLGkscikpfSx1bnRlcm1pbmF0ZWQ6KHMsaSxyKT0+e3Rocm93IHRoaXMucmFpc2UocC5VbnRlcm1pbmF0ZWRTdHJpbmcsbGUocy0xLGkscikpfX0pLHRoaXMuZXJyb3JIYW5kbGVyc19yZWFkU3RyaW5nQ29udGVudHNfdGVtcGxhdGU9T2JqZWN0LmFzc2lnbih7fSx0aGlzLmVycm9ySGFuZGxlcnNfcmVhZENvZGVQb2ludCx7c3RyaWN0TnVtZXJpY0VzY2FwZTp0aGlzLmVycm9yQnVpbGRlcihwLlN0cmljdE51bWVyaWNFc2NhcGUpLHVudGVybWluYXRlZDoocyxpLHIpPT57dGhyb3cgdGhpcy5yYWlzZShwLlVudGVybWluYXRlZFRlbXBsYXRlLGxlKHMsaSxyKSl9fSksdGhpcy5zdGF0ZT1uZXcgWGUsdGhpcy5zdGF0ZS5pbml0KHQpLHRoaXMuaW5wdXQ9ZSx0aGlzLmxlbmd0aD1lLmxlbmd0aCx0aGlzLmNvbW1lbnRzPVtdLHRoaXMuaXNMb29rYWhlYWQ9ITF9cHVzaFRva2VuKHQpe3RoaXMudG9rZW5zLmxlbmd0aD10aGlzLnN0YXRlLnRva2Vuc0xlbmd0aCx0aGlzLnRva2Vucy5wdXNoKHQpLCsrdGhpcy5zdGF0ZS50b2tlbnNMZW5ndGh9bmV4dCgpe3RoaXMuY2hlY2tLZXl3b3JkRXNjYXBlcygpLHRoaXMub3B0aW9ucy50b2tlbnMmJnRoaXMucHVzaFRva2VuKG5ldyBNKHRoaXMuc3RhdGUpKSx0aGlzLnN0YXRlLmxhc3RUb2tFbmRMb2M9dGhpcy5zdGF0ZS5lbmRMb2MsdGhpcy5zdGF0ZS5sYXN0VG9rU3RhcnRMb2M9dGhpcy5zdGF0ZS5zdGFydExvYyx0aGlzLm5leHRUb2tlbigpfWVhdCh0KXtyZXR1cm4gdGhpcy5tYXRjaCh0KT8odGhpcy5uZXh0KCksITApOiExfW1hdGNoKHQpe3JldHVybiB0aGlzLnN0YXRlLnR5cGU9PT10fWNyZWF0ZUxvb2thaGVhZFN0YXRlKHQpe3JldHVybntwb3M6dC5wb3MsdmFsdWU6bnVsbCx0eXBlOnQudHlwZSxzdGFydDp0LnN0YXJ0LGVuZDp0LmVuZCxjb250ZXh0Olt0aGlzLmN1ckNvbnRleHQoKV0saW5UeXBlOnQuaW5UeXBlLHN0YXJ0TG9jOnQuc3RhcnRMb2MsbGFzdFRva0VuZExvYzp0Lmxhc3RUb2tFbmRMb2MsY3VyTGluZTp0LmN1ckxpbmUsbGluZVN0YXJ0OnQubGluZVN0YXJ0LGN1clBvc2l0aW9uOnQuY3VyUG9zaXRpb259fWxvb2thaGVhZCgpe2xldCB0PXRoaXMuc3RhdGU7dGhpcy5zdGF0ZT10aGlzLmNyZWF0ZUxvb2thaGVhZFN0YXRlKHQpLHRoaXMuaXNMb29rYWhlYWQ9ITAsdGhpcy5uZXh0VG9rZW4oKSx0aGlzLmlzTG9va2FoZWFkPSExO2xldCBlPXRoaXMuc3RhdGU7cmV0dXJuIHRoaXMuc3RhdGU9dCxlfW5leHRUb2tlblN0YXJ0KCl7cmV0dXJuIHRoaXMubmV4dFRva2VuU3RhcnRTaW5jZSh0aGlzLnN0YXRlLnBvcyl9bmV4dFRva2VuU3RhcnRTaW5jZSh0KXtyZXR1cm4gX2UubGFzdEluZGV4PXQsX2UudGVzdCh0aGlzLmlucHV0KT9fZS5sYXN0SW5kZXg6dH1sb29rYWhlYWRDaGFyQ29kZSgpe3JldHVybiB0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5uZXh0VG9rZW5TdGFydCgpKX1uZXh0VG9rZW5JbkxpbmVTdGFydCgpe3JldHVybiB0aGlzLm5leHRUb2tlbkluTGluZVN0YXJ0U2luY2UodGhpcy5zdGF0ZS5wb3MpfW5leHRUb2tlbkluTGluZVN0YXJ0U2luY2UodCl7cmV0dXJuIGplLmxhc3RJbmRleD10LGplLnRlc3QodGhpcy5pbnB1dCk/amUubGFzdEluZGV4OnR9bG9va2FoZWFkSW5MaW5lQ2hhckNvZGUoKXtyZXR1cm4gdGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMubmV4dFRva2VuSW5MaW5lU3RhcnQoKSl9Y29kZVBvaW50QXRQb3ModCl7bGV0IGU9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHQpO2lmKChlJjY0NTEyKT09PTU1Mjk2JiYrK3Q8dGhpcy5pbnB1dC5sZW5ndGgpe2xldCBzPXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0KTsocyY2NDUxMik9PT01NjMyMCYmKGU9NjU1MzYrKChlJjEwMjMpPDwxMCkrKHMmMTAyMykpfXJldHVybiBlfXNldFN0cmljdCh0KXt0aGlzLnN0YXRlLnN0cmljdD10LHQmJih0aGlzLnN0YXRlLnN0cmljdEVycm9ycy5mb3JFYWNoKChbZSxzXSk9PnRoaXMucmFpc2UoZSxzKSksdGhpcy5zdGF0ZS5zdHJpY3RFcnJvcnMuY2xlYXIoKSl9Y3VyQ29udGV4dCgpe3JldHVybiB0aGlzLnN0YXRlLmNvbnRleHRbdGhpcy5zdGF0ZS5jb250ZXh0Lmxlbmd0aC0xXX1uZXh0VG9rZW4oKXtpZih0aGlzLnNraXBTcGFjZSgpLHRoaXMuc3RhdGUuc3RhcnQ9dGhpcy5zdGF0ZS5wb3MsdGhpcy5pc0xvb2thaGVhZHx8KHRoaXMuc3RhdGUuc3RhcnRMb2M9dGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpKSx0aGlzLnN0YXRlLnBvcz49dGhpcy5sZW5ndGgpe3RoaXMuZmluaXNoVG9rZW4oMTQwKTtyZXR1cm59dGhpcy5nZXRUb2tlbkZyb21Db2RlKHRoaXMuY29kZVBvaW50QXRQb3ModGhpcy5zdGF0ZS5wb3MpKX1za2lwQmxvY2tDb21tZW50KHQpe2xldCBlO3RoaXMuaXNMb29rYWhlYWR8fChlPXRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSk7bGV0IHM9dGhpcy5zdGF0ZS5wb3MsaT10aGlzLmlucHV0LmluZGV4T2YodCxzKzIpO2lmKGk9PT0tMSl0aHJvdyB0aGlzLnJhaXNlKHAuVW50ZXJtaW5hdGVkQ29tbWVudCx0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCkpO2Zvcih0aGlzLnN0YXRlLnBvcz1pK3QubGVuZ3RoLGJlLmxhc3RJbmRleD1zKzI7YmUudGVzdCh0aGlzLmlucHV0KSYmYmUubGFzdEluZGV4PD1pOykrK3RoaXMuc3RhdGUuY3VyTGluZSx0aGlzLnN0YXRlLmxpbmVTdGFydD1iZS5sYXN0SW5kZXg7aWYodGhpcy5pc0xvb2thaGVhZClyZXR1cm47bGV0IHI9e3R5cGU6XCJDb21tZW50QmxvY2tcIix2YWx1ZTp0aGlzLmlucHV0LnNsaWNlKHMrMixpKSxzdGFydDp0aGlzLnNvdXJjZVRvT2Zmc2V0UG9zKHMpLGVuZDp0aGlzLnNvdXJjZVRvT2Zmc2V0UG9zKGkrdC5sZW5ndGgpLGxvYzpuZXcgWihlLHRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSl9O3JldHVybiB0aGlzLm9wdGlvbnMudG9rZW5zJiZ0aGlzLnB1c2hUb2tlbihyKSxyfXNraXBMaW5lQ29tbWVudCh0KXtsZXQgZT10aGlzLnN0YXRlLnBvcyxzO3RoaXMuaXNMb29rYWhlYWR8fChzPXRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSk7bGV0IGk9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zKz10KTtpZih0aGlzLnN0YXRlLnBvczx0aGlzLmxlbmd0aClmb3IoOyFZKGkpJiYrK3RoaXMuc3RhdGUucG9zPHRoaXMubGVuZ3RoOylpPXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyk7aWYodGhpcy5pc0xvb2thaGVhZClyZXR1cm47bGV0IHI9dGhpcy5zdGF0ZS5wb3Msbz17dHlwZTpcIkNvbW1lbnRMaW5lXCIsdmFsdWU6dGhpcy5pbnB1dC5zbGljZShlK3Qsciksc3RhcnQ6dGhpcy5zb3VyY2VUb09mZnNldFBvcyhlKSxlbmQ6dGhpcy5zb3VyY2VUb09mZnNldFBvcyhyKSxsb2M6bmV3IFoocyx0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCkpfTtyZXR1cm4gdGhpcy5vcHRpb25zLnRva2VucyYmdGhpcy5wdXNoVG9rZW4obyksb31za2lwU3BhY2UoKXtsZXQgdD10aGlzLnN0YXRlLnBvcyxlPVtdO2U6Zm9yKDt0aGlzLnN0YXRlLnBvczx0aGlzLmxlbmd0aDspe2xldCBzPXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyk7c3dpdGNoKHMpe2Nhc2UgMzI6Y2FzZSAxNjA6Y2FzZSA5OisrdGhpcy5zdGF0ZS5wb3M7YnJlYWs7Y2FzZSAxMzp0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MrMSk9PT0xMCYmKyt0aGlzLnN0YXRlLnBvcztjYXNlIDEwOmNhc2UgODIzMjpjYXNlIDgyMzM6Kyt0aGlzLnN0YXRlLnBvcywrK3RoaXMuc3RhdGUuY3VyTGluZSx0aGlzLnN0YXRlLmxpbmVTdGFydD10aGlzLnN0YXRlLnBvczticmVhaztjYXNlIDQ3OnN3aXRjaCh0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MrMSkpe2Nhc2UgNDI6e2xldCBpPXRoaXMuc2tpcEJsb2NrQ29tbWVudChcIiovXCIpO2khPT12b2lkIDAmJih0aGlzLmFkZENvbW1lbnQoaSksdGhpcy5vcHRpb25zLmF0dGFjaENvbW1lbnQmJmUucHVzaChpKSk7YnJlYWt9Y2FzZSA0Nzp7bGV0IGk9dGhpcy5za2lwTGluZUNvbW1lbnQoMik7aSE9PXZvaWQgMCYmKHRoaXMuYWRkQ29tbWVudChpKSx0aGlzLm9wdGlvbnMuYXR0YWNoQ29tbWVudCYmZS5wdXNoKGkpKTticmVha31kZWZhdWx0OmJyZWFrIGV9YnJlYWs7ZGVmYXVsdDppZih3aShzKSkrK3RoaXMuc3RhdGUucG9zO2Vsc2UgaWYocz09PTQ1JiYhdGhpcy5pbk1vZHVsZSYmdGhpcy5vcHRpb25zLmFubmV4Qil7bGV0IGk9dGhpcy5zdGF0ZS5wb3M7aWYodGhpcy5pbnB1dC5jaGFyQ29kZUF0KGkrMSk9PT00NSYmdGhpcy5pbnB1dC5jaGFyQ29kZUF0KGkrMik9PT02MiYmKHQ9PT0wfHx0aGlzLnN0YXRlLmxpbmVTdGFydD50KSl7bGV0IHI9dGhpcy5za2lwTGluZUNvbW1lbnQoMyk7ciE9PXZvaWQgMCYmKHRoaXMuYWRkQ29tbWVudChyKSx0aGlzLm9wdGlvbnMuYXR0YWNoQ29tbWVudCYmZS5wdXNoKHIpKX1lbHNlIGJyZWFrIGV9ZWxzZSBpZihzPT09NjAmJiF0aGlzLmluTW9kdWxlJiZ0aGlzLm9wdGlvbnMuYW5uZXhCKXtsZXQgaT10aGlzLnN0YXRlLnBvcztpZih0aGlzLmlucHV0LmNoYXJDb2RlQXQoaSsxKT09PTMzJiZ0aGlzLmlucHV0LmNoYXJDb2RlQXQoaSsyKT09PTQ1JiZ0aGlzLmlucHV0LmNoYXJDb2RlQXQoaSszKT09PTQ1KXtsZXQgcj10aGlzLnNraXBMaW5lQ29tbWVudCg0KTtyIT09dm9pZCAwJiYodGhpcy5hZGRDb21tZW50KHIpLHRoaXMub3B0aW9ucy5hdHRhY2hDb21tZW50JiZlLnB1c2gocikpfWVsc2UgYnJlYWsgZX1lbHNlIGJyZWFrIGV9fWlmKGUubGVuZ3RoPjApe2xldCBzPXRoaXMuc3RhdGUucG9zLGk9e3N0YXJ0OnRoaXMuc291cmNlVG9PZmZzZXRQb3ModCksZW5kOnRoaXMuc291cmNlVG9PZmZzZXRQb3MocyksY29tbWVudHM6ZSxsZWFkaW5nTm9kZTpudWxsLHRyYWlsaW5nTm9kZTpudWxsLGNvbnRhaW5pbmdOb2RlOm51bGx9O3RoaXMuc3RhdGUuY29tbWVudFN0YWNrLnB1c2goaSl9fWZpbmlzaFRva2VuKHQsZSl7dGhpcy5zdGF0ZS5lbmQ9dGhpcy5zdGF0ZS5wb3MsdGhpcy5zdGF0ZS5lbmRMb2M9dGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpO2xldCBzPXRoaXMuc3RhdGUudHlwZTt0aGlzLnN0YXRlLnR5cGU9dCx0aGlzLnN0YXRlLnZhbHVlPWUsdGhpcy5pc0xvb2thaGVhZHx8dGhpcy51cGRhdGVDb250ZXh0KHMpfXJlcGxhY2VUb2tlbih0KXt0aGlzLnN0YXRlLnR5cGU9dCx0aGlzLnVwZGF0ZUNvbnRleHQoKX1yZWFkVG9rZW5fbnVtYmVyU2lnbigpe2lmKHRoaXMuc3RhdGUucG9zPT09MCYmdGhpcy5yZWFkVG9rZW5faW50ZXJwcmV0ZXIoKSlyZXR1cm47bGV0IHQ9dGhpcy5zdGF0ZS5wb3MrMSxlPXRoaXMuY29kZVBvaW50QXRQb3ModCk7aWYoZT49NDgmJmU8PTU3KXRocm93IHRoaXMucmFpc2UocC5VbmV4cGVjdGVkRGlnaXRBZnRlckhhc2gsdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpKTtpZihlPT09MTIzfHxlPT09OTEmJnRoaXMuaGFzUGx1Z2luKFwicmVjb3JkQW5kVHVwbGVcIikpe2lmKHRoaXMuZXhwZWN0UGx1Z2luKFwicmVjb3JkQW5kVHVwbGVcIiksdGhpcy5nZXRQbHVnaW5PcHRpb24oXCJyZWNvcmRBbmRUdXBsZVwiLFwic3ludGF4VHlwZVwiKT09PVwiYmFyXCIpdGhyb3cgdGhpcy5yYWlzZShlPT09MTIzP3AuUmVjb3JkRXhwcmVzc2lvbkhhc2hJbmNvcnJlY3RTdGFydFN5bnRheFR5cGU6cC5UdXBsZUV4cHJlc3Npb25IYXNoSW5jb3JyZWN0U3RhcnRTeW50YXhUeXBlLHRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSk7dGhpcy5zdGF0ZS5wb3MrPTIsZT09PTEyMz90aGlzLmZpbmlzaFRva2VuKDcpOnRoaXMuZmluaXNoVG9rZW4oMSl9ZWxzZSBSKGUpPygrK3RoaXMuc3RhdGUucG9zLHRoaXMuZmluaXNoVG9rZW4oMTM5LHRoaXMucmVhZFdvcmQxKGUpKSk6ZT09PTkyPygrK3RoaXMuc3RhdGUucG9zLHRoaXMuZmluaXNoVG9rZW4oMTM5LHRoaXMucmVhZFdvcmQxKCkpKTp0aGlzLmZpbmlzaE9wKDI3LDEpfXJlYWRUb2tlbl9kb3QoKXtsZXQgdD10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MrMSk7aWYodD49NDgmJnQ8PTU3KXt0aGlzLnJlYWROdW1iZXIoITApO3JldHVybn10PT09NDYmJnRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcysyKT09PTQ2Pyh0aGlzLnN0YXRlLnBvcys9Myx0aGlzLmZpbmlzaFRva2VuKDIxKSk6KCsrdGhpcy5zdGF0ZS5wb3MsdGhpcy5maW5pc2hUb2tlbigxNikpfXJlYWRUb2tlbl9zbGFzaCgpe3RoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcysxKT09PTYxP3RoaXMuZmluaXNoT3AoMzEsMik6dGhpcy5maW5pc2hPcCg1NiwxKX1yZWFkVG9rZW5faW50ZXJwcmV0ZXIoKXtpZih0aGlzLnN0YXRlLnBvcyE9PTB8fHRoaXMubGVuZ3RoPDIpcmV0dXJuITE7bGV0IHQ9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zKzEpO2lmKHQhPT0zMylyZXR1cm4hMTtsZXQgZT10aGlzLnN0YXRlLnBvcztmb3IodGhpcy5zdGF0ZS5wb3MrPTE7IVkodCkmJisrdGhpcy5zdGF0ZS5wb3M8dGhpcy5sZW5ndGg7KXQ9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zKTtsZXQgcz10aGlzLmlucHV0LnNsaWNlKGUrMix0aGlzLnN0YXRlLnBvcyk7cmV0dXJuIHRoaXMuZmluaXNoVG9rZW4oMjgscyksITB9cmVhZFRva2VuX211bHRfbW9kdWxvKHQpe2xldCBlPXQ9PT00Mj81NTo1NCxzPTEsaT10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MrMSk7dD09PTQyJiZpPT09NDImJihzKyssaT10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MrMiksZT01NyksaT09PTYxJiYhdGhpcy5zdGF0ZS5pblR5cGUmJihzKyssZT10PT09Mzc/MzM6MzApLHRoaXMuZmluaXNoT3AoZSxzKX1yZWFkVG9rZW5fcGlwZV9hbXAodCl7bGV0IGU9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zKzEpO2lmKGU9PT10KXt0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MrMik9PT02MT90aGlzLmZpbmlzaE9wKDMwLDMpOnRoaXMuZmluaXNoT3AodD09PTEyND80MTo0MiwyKTtyZXR1cm59aWYodD09PTEyNCl7aWYoZT09PTYyKXt0aGlzLmZpbmlzaE9wKDM5LDIpO3JldHVybn1pZih0aGlzLmhhc1BsdWdpbihcInJlY29yZEFuZFR1cGxlXCIpJiZlPT09MTI1KXtpZih0aGlzLmdldFBsdWdpbk9wdGlvbihcInJlY29yZEFuZFR1cGxlXCIsXCJzeW50YXhUeXBlXCIpIT09XCJiYXJcIil0aHJvdyB0aGlzLnJhaXNlKHAuUmVjb3JkRXhwcmVzc2lvbkJhckluY29ycmVjdEVuZFN5bnRheFR5cGUsdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpKTt0aGlzLnN0YXRlLnBvcys9Mix0aGlzLmZpbmlzaFRva2VuKDkpO3JldHVybn1pZih0aGlzLmhhc1BsdWdpbihcInJlY29yZEFuZFR1cGxlXCIpJiZlPT09OTMpe2lmKHRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwicmVjb3JkQW5kVHVwbGVcIixcInN5bnRheFR5cGVcIikhPT1cImJhclwiKXRocm93IHRoaXMucmFpc2UocC5UdXBsZUV4cHJlc3Npb25CYXJJbmNvcnJlY3RFbmRTeW50YXhUeXBlLHRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSk7dGhpcy5zdGF0ZS5wb3MrPTIsdGhpcy5maW5pc2hUb2tlbig0KTtyZXR1cm59fWlmKGU9PT02MSl7dGhpcy5maW5pc2hPcCgzMCwyKTtyZXR1cm59dGhpcy5maW5pc2hPcCh0PT09MTI0PzQzOjQ1LDEpfXJlYWRUb2tlbl9jYXJldCgpe2xldCB0PXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcysxKTt0PT09NjEmJiF0aGlzLnN0YXRlLmluVHlwZT90aGlzLmZpbmlzaE9wKDMyLDIpOnQ9PT05NCYmdGhpcy5oYXNQbHVnaW4oW1wicGlwZWxpbmVPcGVyYXRvclwiLHtwcm9wb3NhbDpcImhhY2tcIix0b3BpY1Rva2VuOlwiXl5cIn1dKT8odGhpcy5maW5pc2hPcCgzNywyKSx0aGlzLmlucHV0LmNvZGVQb2ludEF0KHRoaXMuc3RhdGUucG9zKT09PTk0JiZ0aGlzLnVuZXhwZWN0ZWQoKSk6dGhpcy5maW5pc2hPcCg0NCwxKX1yZWFkVG9rZW5fYXRTaWduKCl7dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zKzEpPT09NjQmJnRoaXMuaGFzUGx1Z2luKFtcInBpcGVsaW5lT3BlcmF0b3JcIix7cHJvcG9zYWw6XCJoYWNrXCIsdG9waWNUb2tlbjpcIkBAXCJ9XSk/dGhpcy5maW5pc2hPcCgzOCwyKTp0aGlzLmZpbmlzaE9wKDI2LDEpfXJlYWRUb2tlbl9wbHVzX21pbih0KXtsZXQgZT10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MrMSk7aWYoZT09PXQpe3RoaXMuZmluaXNoT3AoMzQsMik7cmV0dXJufWU9PT02MT90aGlzLmZpbmlzaE9wKDMwLDIpOnRoaXMuZmluaXNoT3AoNTMsMSl9cmVhZFRva2VuX2x0KCl7bGV0e3Bvczp0fT10aGlzLnN0YXRlLGU9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHQrMSk7aWYoZT09PTYwKXtpZih0aGlzLmlucHV0LmNoYXJDb2RlQXQodCsyKT09PTYxKXt0aGlzLmZpbmlzaE9wKDMwLDMpO3JldHVybn10aGlzLmZpbmlzaE9wKDUxLDIpO3JldHVybn1pZihlPT09NjEpe3RoaXMuZmluaXNoT3AoNDksMik7cmV0dXJufXRoaXMuZmluaXNoT3AoNDcsMSl9cmVhZFRva2VuX2d0KCl7bGV0e3Bvczp0fT10aGlzLnN0YXRlLGU9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHQrMSk7aWYoZT09PTYyKXtsZXQgcz10aGlzLmlucHV0LmNoYXJDb2RlQXQodCsyKT09PTYyPzM6MjtpZih0aGlzLmlucHV0LmNoYXJDb2RlQXQodCtzKT09PTYxKXt0aGlzLmZpbmlzaE9wKDMwLHMrMSk7cmV0dXJufXRoaXMuZmluaXNoT3AoNTIscyk7cmV0dXJufWlmKGU9PT02MSl7dGhpcy5maW5pc2hPcCg0OSwyKTtyZXR1cm59dGhpcy5maW5pc2hPcCg0OCwxKX1yZWFkVG9rZW5fZXFfZXhjbCh0KXtsZXQgZT10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MrMSk7aWYoZT09PTYxKXt0aGlzLmZpbmlzaE9wKDQ2LHRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcysyKT09PTYxPzM6Mik7cmV0dXJufWlmKHQ9PT02MSYmZT09PTYyKXt0aGlzLnN0YXRlLnBvcys9Mix0aGlzLmZpbmlzaFRva2VuKDE5KTtyZXR1cm59dGhpcy5maW5pc2hPcCh0PT09NjE/Mjk6MzUsMSl9cmVhZFRva2VuX3F1ZXN0aW9uKCl7bGV0IHQ9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zKzEpLGU9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zKzIpO3Q9PT02Mz9lPT09NjE/dGhpcy5maW5pc2hPcCgzMCwzKTp0aGlzLmZpbmlzaE9wKDQwLDIpOnQ9PT00NiYmIShlPj00OCYmZTw9NTcpPyh0aGlzLnN0YXRlLnBvcys9Mix0aGlzLmZpbmlzaFRva2VuKDE4KSk6KCsrdGhpcy5zdGF0ZS5wb3MsdGhpcy5maW5pc2hUb2tlbigxNykpfWdldFRva2VuRnJvbUNvZGUodCl7c3dpdGNoKHQpe2Nhc2UgNDY6dGhpcy5yZWFkVG9rZW5fZG90KCk7cmV0dXJuO2Nhc2UgNDA6Kyt0aGlzLnN0YXRlLnBvcyx0aGlzLmZpbmlzaFRva2VuKDEwKTtyZXR1cm47Y2FzZSA0MTorK3RoaXMuc3RhdGUucG9zLHRoaXMuZmluaXNoVG9rZW4oMTEpO3JldHVybjtjYXNlIDU5OisrdGhpcy5zdGF0ZS5wb3MsdGhpcy5maW5pc2hUb2tlbigxMyk7cmV0dXJuO2Nhc2UgNDQ6Kyt0aGlzLnN0YXRlLnBvcyx0aGlzLmZpbmlzaFRva2VuKDEyKTtyZXR1cm47Y2FzZSA5MTppZih0aGlzLmhhc1BsdWdpbihcInJlY29yZEFuZFR1cGxlXCIpJiZ0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MrMSk9PT0xMjQpe2lmKHRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwicmVjb3JkQW5kVHVwbGVcIixcInN5bnRheFR5cGVcIikhPT1cImJhclwiKXRocm93IHRoaXMucmFpc2UocC5UdXBsZUV4cHJlc3Npb25CYXJJbmNvcnJlY3RTdGFydFN5bnRheFR5cGUsdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpKTt0aGlzLnN0YXRlLnBvcys9Mix0aGlzLmZpbmlzaFRva2VuKDIpfWVsc2UrK3RoaXMuc3RhdGUucG9zLHRoaXMuZmluaXNoVG9rZW4oMCk7cmV0dXJuO2Nhc2UgOTM6Kyt0aGlzLnN0YXRlLnBvcyx0aGlzLmZpbmlzaFRva2VuKDMpO3JldHVybjtjYXNlIDEyMzppZih0aGlzLmhhc1BsdWdpbihcInJlY29yZEFuZFR1cGxlXCIpJiZ0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MrMSk9PT0xMjQpe2lmKHRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwicmVjb3JkQW5kVHVwbGVcIixcInN5bnRheFR5cGVcIikhPT1cImJhclwiKXRocm93IHRoaXMucmFpc2UocC5SZWNvcmRFeHByZXNzaW9uQmFySW5jb3JyZWN0U3RhcnRTeW50YXhUeXBlLHRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSk7dGhpcy5zdGF0ZS5wb3MrPTIsdGhpcy5maW5pc2hUb2tlbig2KX1lbHNlKyt0aGlzLnN0YXRlLnBvcyx0aGlzLmZpbmlzaFRva2VuKDUpO3JldHVybjtjYXNlIDEyNTorK3RoaXMuc3RhdGUucG9zLHRoaXMuZmluaXNoVG9rZW4oOCk7cmV0dXJuO2Nhc2UgNTg6dGhpcy5oYXNQbHVnaW4oXCJmdW5jdGlvbkJpbmRcIikmJnRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcysxKT09PTU4P3RoaXMuZmluaXNoT3AoMTUsMik6KCsrdGhpcy5zdGF0ZS5wb3MsdGhpcy5maW5pc2hUb2tlbigxNCkpO3JldHVybjtjYXNlIDYzOnRoaXMucmVhZFRva2VuX3F1ZXN0aW9uKCk7cmV0dXJuO2Nhc2UgOTY6dGhpcy5yZWFkVGVtcGxhdGVUb2tlbigpO3JldHVybjtjYXNlIDQ4OntsZXQgZT10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MrMSk7aWYoZT09PTEyMHx8ZT09PTg4KXt0aGlzLnJlYWRSYWRpeE51bWJlcigxNik7cmV0dXJufWlmKGU9PT0xMTF8fGU9PT03OSl7dGhpcy5yZWFkUmFkaXhOdW1iZXIoOCk7cmV0dXJufWlmKGU9PT05OHx8ZT09PTY2KXt0aGlzLnJlYWRSYWRpeE51bWJlcigyKTtyZXR1cm59fWNhc2UgNDk6Y2FzZSA1MDpjYXNlIDUxOmNhc2UgNTI6Y2FzZSA1MzpjYXNlIDU0OmNhc2UgNTU6Y2FzZSA1NjpjYXNlIDU3OnRoaXMucmVhZE51bWJlcighMSk7cmV0dXJuO2Nhc2UgMzQ6Y2FzZSAzOTp0aGlzLnJlYWRTdHJpbmcodCk7cmV0dXJuO2Nhc2UgNDc6dGhpcy5yZWFkVG9rZW5fc2xhc2goKTtyZXR1cm47Y2FzZSAzNzpjYXNlIDQyOnRoaXMucmVhZFRva2VuX211bHRfbW9kdWxvKHQpO3JldHVybjtjYXNlIDEyNDpjYXNlIDM4OnRoaXMucmVhZFRva2VuX3BpcGVfYW1wKHQpO3JldHVybjtjYXNlIDk0OnRoaXMucmVhZFRva2VuX2NhcmV0KCk7cmV0dXJuO2Nhc2UgNDM6Y2FzZSA0NTp0aGlzLnJlYWRUb2tlbl9wbHVzX21pbih0KTtyZXR1cm47Y2FzZSA2MDp0aGlzLnJlYWRUb2tlbl9sdCgpO3JldHVybjtjYXNlIDYyOnRoaXMucmVhZFRva2VuX2d0KCk7cmV0dXJuO2Nhc2UgNjE6Y2FzZSAzMzp0aGlzLnJlYWRUb2tlbl9lcV9leGNsKHQpO3JldHVybjtjYXNlIDEyNjp0aGlzLmZpbmlzaE9wKDM2LDEpO3JldHVybjtjYXNlIDY0OnRoaXMucmVhZFRva2VuX2F0U2lnbigpO3JldHVybjtjYXNlIDM1OnRoaXMucmVhZFRva2VuX251bWJlclNpZ24oKTtyZXR1cm47Y2FzZSA5Mjp0aGlzLnJlYWRXb3JkKCk7cmV0dXJuO2RlZmF1bHQ6aWYoUih0KSl7dGhpcy5yZWFkV29yZCh0KTtyZXR1cm59fXRocm93IHRoaXMucmFpc2UocC5JbnZhbGlkT3JVbmV4cGVjdGVkVG9rZW4sdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpLHt1bmV4cGVjdGVkOlN0cmluZy5mcm9tQ29kZVBvaW50KHQpfSl9ZmluaXNoT3AodCxlKXtsZXQgcz10aGlzLmlucHV0LnNsaWNlKHRoaXMuc3RhdGUucG9zLHRoaXMuc3RhdGUucG9zK2UpO3RoaXMuc3RhdGUucG9zKz1lLHRoaXMuZmluaXNoVG9rZW4odCxzKX1yZWFkUmVnZXhwKCl7bGV0IHQ9dGhpcy5zdGF0ZS5zdGFydExvYyxlPXRoaXMuc3RhdGUuc3RhcnQrMSxzLGkse3BvczpyfT10aGlzLnN0YXRlO2Zvcig7Oysrcil7aWYocj49dGhpcy5sZW5ndGgpdGhyb3cgdGhpcy5yYWlzZShwLlVudGVybWluYXRlZFJlZ0V4cCx2KHQsMSkpO2xldCBsPXRoaXMuaW5wdXQuY2hhckNvZGVBdChyKTtpZihZKGwpKXRocm93IHRoaXMucmFpc2UocC5VbnRlcm1pbmF0ZWRSZWdFeHAsdih0LDEpKTtpZihzKXM9ITE7ZWxzZXtpZihsPT09OTEpaT0hMDtlbHNlIGlmKGw9PT05MyYmaSlpPSExO2Vsc2UgaWYobD09PTQ3JiYhaSlicmVhaztzPWw9PT05Mn19bGV0IG49dGhpcy5pbnB1dC5zbGljZShlLHIpOysrcjtsZXQgbz1cIlwiLGg9KCk9PnYodCxyKzItZSk7Zm9yKDtyPHRoaXMubGVuZ3RoOyl7bGV0IGw9dGhpcy5jb2RlUG9pbnRBdFBvcyhyKSxjPVN0cmluZy5mcm9tQ2hhckNvZGUobCk7aWYoTmkuaGFzKGwpKWw9PT0xMTg/by5pbmNsdWRlcyhcInVcIikmJnRoaXMucmFpc2UocC5JbmNvbXBhdGlibGVSZWdFeHBVVkZsYWdzLGgoKSk6bD09PTExNyYmby5pbmNsdWRlcyhcInZcIikmJnRoaXMucmFpc2UocC5JbmNvbXBhdGlibGVSZWdFeHBVVkZsYWdzLGgoKSksby5pbmNsdWRlcyhjKSYmdGhpcy5yYWlzZShwLkR1cGxpY2F0ZVJlZ0V4cEZsYWdzLGgoKSk7ZWxzZSBpZihHKGwpfHxsPT09OTIpdGhpcy5yYWlzZShwLk1hbGZvcm1lZFJlZ0V4cEZsYWdzLGgoKSk7ZWxzZSBicmVhazsrK3Isbys9Y310aGlzLnN0YXRlLnBvcz1yLHRoaXMuZmluaXNoVG9rZW4oMTM4LHtwYXR0ZXJuOm4sZmxhZ3M6b30pfXJlYWRJbnQodCxlLHM9ITEsaT0hMCl7bGV0e246cixwb3M6bn09WXQodGhpcy5pbnB1dCx0aGlzLnN0YXRlLnBvcyx0aGlzLnN0YXRlLmxpbmVTdGFydCx0aGlzLnN0YXRlLmN1ckxpbmUsdCxlLHMsaSx0aGlzLmVycm9ySGFuZGxlcnNfcmVhZEludCwhMSk7cmV0dXJuIHRoaXMuc3RhdGUucG9zPW4scn1yZWFkUmFkaXhOdW1iZXIodCl7bGV0IGU9dGhpcy5zdGF0ZS5wb3Mscz10aGlzLnN0YXRlLmN1clBvc2l0aW9uKCksaT0hMTt0aGlzLnN0YXRlLnBvcys9MjtsZXQgcj10aGlzLnJlYWRJbnQodCk7cj09bnVsbCYmdGhpcy5yYWlzZShwLkludmFsaWREaWdpdCx2KHMsMikse3JhZGl4OnR9KTtsZXQgbj10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MpO2lmKG49PT0xMTApKyt0aGlzLnN0YXRlLnBvcyxpPSEwO2Vsc2UgaWYobj09PTEwOSl0aHJvdyB0aGlzLnJhaXNlKHAuSW52YWxpZERlY2ltYWwscyk7aWYoUih0aGlzLmNvZGVQb2ludEF0UG9zKHRoaXMuc3RhdGUucG9zKSkpdGhyb3cgdGhpcy5yYWlzZShwLk51bWJlcklkZW50aWZpZXIsdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpKTtpZihpKXtsZXQgbz10aGlzLmlucHV0LnNsaWNlKGUsdGhpcy5zdGF0ZS5wb3MpLnJlcGxhY2UoL1tfbl0vZyxcIlwiKTt0aGlzLmZpbmlzaFRva2VuKDEzNixvKTtyZXR1cm59dGhpcy5maW5pc2hUb2tlbigxMzUscil9cmVhZE51bWJlcih0KXtsZXQgZT10aGlzLnN0YXRlLnBvcyxzPXRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSxpPSExLHI9ITEsbj0hMSxvPSExOyF0JiZ0aGlzLnJlYWRJbnQoMTApPT09bnVsbCYmdGhpcy5yYWlzZShwLkludmFsaWROdW1iZXIsdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpKTtsZXQgaD10aGlzLnN0YXRlLnBvcy1lPj0yJiZ0aGlzLmlucHV0LmNoYXJDb2RlQXQoZSk9PT00ODtpZihoKXtsZXQgZD10aGlzLmlucHV0LnNsaWNlKGUsdGhpcy5zdGF0ZS5wb3MpO2lmKHRoaXMucmVjb3JkU3RyaWN0TW9kZUVycm9ycyhwLlN0cmljdE9jdGFsTGl0ZXJhbCxzKSwhdGhpcy5zdGF0ZS5zdHJpY3Qpe2xldCB4PWQuaW5kZXhPZihcIl9cIik7eD4wJiZ0aGlzLnJhaXNlKHAuWmVyb0RpZ2l0TnVtZXJpY1NlcGFyYXRvcix2KHMseCkpfW89aCYmIS9bODldLy50ZXN0KGQpfWxldCBsPXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyk7aWYobD09PTQ2JiYhbyYmKCsrdGhpcy5zdGF0ZS5wb3MsdGhpcy5yZWFkSW50KDEwKSxpPSEwLGw9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zKSksKGw9PT02OXx8bD09PTEwMSkmJiFvJiYobD10aGlzLmlucHV0LmNoYXJDb2RlQXQoKyt0aGlzLnN0YXRlLnBvcyksKGw9PT00M3x8bD09PTQ1KSYmKyt0aGlzLnN0YXRlLnBvcyx0aGlzLnJlYWRJbnQoMTApPT09bnVsbCYmdGhpcy5yYWlzZShwLkludmFsaWRPck1pc3NpbmdFeHBvbmVudCxzKSxpPSEwLG49ITAsbD10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MpKSxsPT09MTEwJiYoKGl8fGgpJiZ0aGlzLnJhaXNlKHAuSW52YWxpZEJpZ0ludExpdGVyYWwscyksKyt0aGlzLnN0YXRlLnBvcyxyPSEwKSxsPT09MTA5KXt0aGlzLmV4cGVjdFBsdWdpbihcImRlY2ltYWxcIix0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCkpLChufHxoKSYmdGhpcy5yYWlzZShwLkludmFsaWREZWNpbWFsLHMpLCsrdGhpcy5zdGF0ZS5wb3M7dmFyIGM9ITB9aWYoUih0aGlzLmNvZGVQb2ludEF0UG9zKHRoaXMuc3RhdGUucG9zKSkpdGhyb3cgdGhpcy5yYWlzZShwLk51bWJlcklkZW50aWZpZXIsdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpKTtsZXQgdT10aGlzLmlucHV0LnNsaWNlKGUsdGhpcy5zdGF0ZS5wb3MpLnJlcGxhY2UoL1tfbW5dL2csXCJcIik7aWYocil7dGhpcy5maW5pc2hUb2tlbigxMzYsdSk7cmV0dXJufWlmKGMpe3RoaXMuZmluaXNoVG9rZW4oMTM3LHUpO3JldHVybn1sZXQgZj1vP3BhcnNlSW50KHUsOCk6cGFyc2VGbG9hdCh1KTt0aGlzLmZpbmlzaFRva2VuKDEzNSxmKX1yZWFkQ29kZVBvaW50KHQpe2xldHtjb2RlOmUscG9zOnN9PVF0KHRoaXMuaW5wdXQsdGhpcy5zdGF0ZS5wb3MsdGhpcy5zdGF0ZS5saW5lU3RhcnQsdGhpcy5zdGF0ZS5jdXJMaW5lLHQsdGhpcy5lcnJvckhhbmRsZXJzX3JlYWRDb2RlUG9pbnQpO3JldHVybiB0aGlzLnN0YXRlLnBvcz1zLGV9cmVhZFN0cmluZyh0KXtsZXR7c3RyOmUscG9zOnMsY3VyTGluZTppLGxpbmVTdGFydDpyfT1GdCh0PT09MzQ/XCJkb3VibGVcIjpcInNpbmdsZVwiLHRoaXMuaW5wdXQsdGhpcy5zdGF0ZS5wb3MrMSx0aGlzLnN0YXRlLmxpbmVTdGFydCx0aGlzLnN0YXRlLmN1ckxpbmUsdGhpcy5lcnJvckhhbmRsZXJzX3JlYWRTdHJpbmdDb250ZW50c19zdHJpbmcpO3RoaXMuc3RhdGUucG9zPXMrMSx0aGlzLnN0YXRlLmxpbmVTdGFydD1yLHRoaXMuc3RhdGUuY3VyTGluZT1pLHRoaXMuZmluaXNoVG9rZW4oMTM0LGUpfXJlYWRUZW1wbGF0ZUNvbnRpbnVhdGlvbigpe3RoaXMubWF0Y2goOCl8fHRoaXMudW5leHBlY3RlZChudWxsLDgpLHRoaXMuc3RhdGUucG9zLS0sdGhpcy5yZWFkVGVtcGxhdGVUb2tlbigpfXJlYWRUZW1wbGF0ZVRva2VuKCl7bGV0IHQ9dGhpcy5pbnB1dFt0aGlzLnN0YXRlLnBvc10se3N0cjplLGZpcnN0SW52YWxpZExvYzpzLHBvczppLGN1ckxpbmU6cixsaW5lU3RhcnQ6bn09RnQoXCJ0ZW1wbGF0ZVwiLHRoaXMuaW5wdXQsdGhpcy5zdGF0ZS5wb3MrMSx0aGlzLnN0YXRlLmxpbmVTdGFydCx0aGlzLnN0YXRlLmN1ckxpbmUsdGhpcy5lcnJvckhhbmRsZXJzX3JlYWRTdHJpbmdDb250ZW50c190ZW1wbGF0ZSk7dGhpcy5zdGF0ZS5wb3M9aSsxLHRoaXMuc3RhdGUubGluZVN0YXJ0PW4sdGhpcy5zdGF0ZS5jdXJMaW5lPXIscyYmKHRoaXMuc3RhdGUuZmlyc3RJbnZhbGlkVGVtcGxhdGVFc2NhcGVQb3M9bmV3IE8ocy5jdXJMaW5lLHMucG9zLXMubGluZVN0YXJ0LHRoaXMuc291cmNlVG9PZmZzZXRQb3Mocy5wb3MpKSksdGhpcy5pbnB1dC5jb2RlUG9pbnRBdChpKT09PTk2P3RoaXMuZmluaXNoVG9rZW4oMjQscz9udWxsOnQrZStcImBcIik6KHRoaXMuc3RhdGUucG9zKyssdGhpcy5maW5pc2hUb2tlbigyNSxzP251bGw6dCtlK1wiJHtcIikpfXJlY29yZFN0cmljdE1vZGVFcnJvcnModCxlKXtsZXQgcz1lLmluZGV4O3RoaXMuc3RhdGUuc3RyaWN0JiYhdGhpcy5zdGF0ZS5zdHJpY3RFcnJvcnMuaGFzKHMpP3RoaXMucmFpc2UodCxlKTp0aGlzLnN0YXRlLnN0cmljdEVycm9ycy5zZXQocyxbdCxlXSl9cmVhZFdvcmQxKHQpe3RoaXMuc3RhdGUuY29udGFpbnNFc2M9ITE7bGV0IGU9XCJcIixzPXRoaXMuc3RhdGUucG9zLGk9dGhpcy5zdGF0ZS5wb3M7Zm9yKHQhPT12b2lkIDAmJih0aGlzLnN0YXRlLnBvcys9dDw9NjU1MzU/MToyKTt0aGlzLnN0YXRlLnBvczx0aGlzLmxlbmd0aDspe2xldCByPXRoaXMuY29kZVBvaW50QXRQb3ModGhpcy5zdGF0ZS5wb3MpO2lmKEcocikpdGhpcy5zdGF0ZS5wb3MrPXI8PTY1NTM1PzE6MjtlbHNlIGlmKHI9PT05Mil7dGhpcy5zdGF0ZS5jb250YWluc0VzYz0hMCxlKz10aGlzLmlucHV0LnNsaWNlKGksdGhpcy5zdGF0ZS5wb3MpO2xldCBuPXRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSxvPXRoaXMuc3RhdGUucG9zPT09cz9SOkc7aWYodGhpcy5pbnB1dC5jaGFyQ29kZUF0KCsrdGhpcy5zdGF0ZS5wb3MpIT09MTE3KXt0aGlzLnJhaXNlKHAuTWlzc2luZ1VuaWNvZGVFc2NhcGUsdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpKSxpPXRoaXMuc3RhdGUucG9zLTE7Y29udGludWV9Kyt0aGlzLnN0YXRlLnBvcztsZXQgaD10aGlzLnJlYWRDb2RlUG9pbnQoITApO2ghPT1udWxsJiYobyhoKXx8dGhpcy5yYWlzZShwLkVzY2FwZWRDaGFyTm90QW5JZGVudGlmaWVyLG4pLGUrPVN0cmluZy5mcm9tQ29kZVBvaW50KGgpKSxpPXRoaXMuc3RhdGUucG9zfWVsc2UgYnJlYWt9cmV0dXJuIGUrdGhpcy5pbnB1dC5zbGljZShpLHRoaXMuc3RhdGUucG9zKX1yZWFkV29yZCh0KXtsZXQgZT10aGlzLnJlYWRXb3JkMSh0KSxzPWx0LmdldChlKTtzIT09dm9pZCAwP3RoaXMuZmluaXNoVG9rZW4ocyxxKHMpKTp0aGlzLmZpbmlzaFRva2VuKDEzMixlKX1jaGVja0tleXdvcmRFc2NhcGVzKCl7bGV0e3R5cGU6dH09dGhpcy5zdGF0ZTttdCh0KSYmdGhpcy5zdGF0ZS5jb250YWluc0VzYyYmdGhpcy5yYWlzZShwLkludmFsaWRFc2NhcGVkUmVzZXJ2ZWRXb3JkLHRoaXMuc3RhdGUuc3RhcnRMb2Mse3Jlc2VydmVkV29yZDpxKHQpfSl9cmFpc2UodCxlLHM9e30pe2xldCBpPWUgaW5zdGFuY2VvZiBPP2U6ZS5sb2Muc3RhcnQscj10KGkscyk7aWYoIXRoaXMub3B0aW9ucy5lcnJvclJlY292ZXJ5KXRocm93IHI7cmV0dXJuIHRoaXMuaXNMb29rYWhlYWR8fHRoaXMuc3RhdGUuZXJyb3JzLnB1c2gocikscn1yYWlzZU92ZXJ3cml0ZSh0LGUscz17fSl7bGV0IGk9ZSBpbnN0YW5jZW9mIE8/ZTplLmxvYy5zdGFydCxyPWkuaW5kZXgsbj10aGlzLnN0YXRlLmVycm9ycztmb3IobGV0IG89bi5sZW5ndGgtMTtvPj0wO28tLSl7bGV0IGg9bltvXTtpZihoLmxvYy5pbmRleD09PXIpcmV0dXJuIG5bb109dChpLHMpO2lmKGgubG9jLmluZGV4PHIpYnJlYWt9cmV0dXJuIHRoaXMucmFpc2UodCxlLHMpfXVwZGF0ZUNvbnRleHQodCl7fXVuZXhwZWN0ZWQodCxlKXt0aHJvdyB0aGlzLnJhaXNlKHAuVW5leHBlY3RlZFRva2VuLHQ/P3RoaXMuc3RhdGUuc3RhcnRMb2Mse2V4cGVjdGVkOmU/cShlKTpudWxsfSl9ZXhwZWN0UGx1Z2luKHQsZSl7aWYodGhpcy5oYXNQbHVnaW4odCkpcmV0dXJuITA7dGhyb3cgdGhpcy5yYWlzZShwLk1pc3NpbmdQbHVnaW4sZT8/dGhpcy5zdGF0ZS5zdGFydExvYyx7bWlzc2luZ1BsdWdpbjpbdF19KX1leHBlY3RPbmVQbHVnaW4odCl7aWYoIXQuc29tZShlPT50aGlzLmhhc1BsdWdpbihlKSkpdGhyb3cgdGhpcy5yYWlzZShwLk1pc3NpbmdPbmVPZlBsdWdpbnMsdGhpcy5zdGF0ZS5zdGFydExvYyx7bWlzc2luZ1BsdWdpbjp0fSl9ZXJyb3JCdWlsZGVyKHQpe3JldHVybihlLHMsaSk9Pnt0aGlzLnJhaXNlKHQsbGUoZSxzLGkpKX19fSxRZT1jbGFzc3tjb25zdHJ1Y3Rvcigpe3RoaXMucHJpdmF0ZU5hbWVzPW5ldyBTZXQsdGhpcy5sb25lQWNjZXNzb3JzPW5ldyBNYXAsdGhpcy51bmRlZmluZWRQcml2YXRlTmFtZXM9bmV3IE1hcH19LFplPWNsYXNze2NvbnN0cnVjdG9yKHQpe3RoaXMucGFyc2VyPXZvaWQgMCx0aGlzLnN0YWNrPVtdLHRoaXMudW5kZWZpbmVkUHJpdmF0ZU5hbWVzPW5ldyBNYXAsdGhpcy5wYXJzZXI9dH1jdXJyZW50KCl7cmV0dXJuIHRoaXMuc3RhY2tbdGhpcy5zdGFjay5sZW5ndGgtMV19ZW50ZXIoKXt0aGlzLnN0YWNrLnB1c2gobmV3IFFlKX1leGl0KCl7bGV0IHQ9dGhpcy5zdGFjay5wb3AoKSxlPXRoaXMuY3VycmVudCgpO2ZvcihsZXRbcyxpXW9mIEFycmF5LmZyb20odC51bmRlZmluZWRQcml2YXRlTmFtZXMpKWU/ZS51bmRlZmluZWRQcml2YXRlTmFtZXMuaGFzKHMpfHxlLnVuZGVmaW5lZFByaXZhdGVOYW1lcy5zZXQocyxpKTp0aGlzLnBhcnNlci5yYWlzZShwLkludmFsaWRQcml2YXRlRmllbGRSZXNvbHV0aW9uLGkse2lkZW50aWZpZXJOYW1lOnN9KX1kZWNsYXJlUHJpdmF0ZU5hbWUodCxlLHMpe2xldHtwcml2YXRlTmFtZXM6aSxsb25lQWNjZXNzb3JzOnIsdW5kZWZpbmVkUHJpdmF0ZU5hbWVzOm59PXRoaXMuY3VycmVudCgpLG89aS5oYXModCk7aWYoZSYzKXtsZXQgaD1vJiZyLmdldCh0KTtpZihoKXtsZXQgbD1oJjQsYz1lJjQsdT1oJjMsZj1lJjM7bz11PT09Znx8bCE9PWMsb3x8ci5kZWxldGUodCl9ZWxzZSBvfHxyLnNldCh0LGUpfW8mJnRoaXMucGFyc2VyLnJhaXNlKHAuUHJpdmF0ZU5hbWVSZWRlY2xhcmF0aW9uLHMse2lkZW50aWZpZXJOYW1lOnR9KSxpLmFkZCh0KSxuLmRlbGV0ZSh0KX11c2VQcml2YXRlTmFtZSh0LGUpe2xldCBzO2ZvcihzIG9mIHRoaXMuc3RhY2spaWYocy5wcml2YXRlTmFtZXMuaGFzKHQpKXJldHVybjtzP3MudW5kZWZpbmVkUHJpdmF0ZU5hbWVzLnNldCh0LGUpOnRoaXMucGFyc2VyLnJhaXNlKHAuSW52YWxpZFByaXZhdGVGaWVsZFJlc29sdXRpb24sZSx7aWRlbnRpZmllck5hbWU6dH0pfX0sZWU9Y2xhc3N7Y29uc3RydWN0b3IodD0wKXt0aGlzLnR5cGU9dH1jYW5CZUFycm93UGFyYW1ldGVyRGVjbGFyYXRpb24oKXtyZXR1cm4gdGhpcy50eXBlPT09Mnx8dGhpcy50eXBlPT09MX1pc0NlcnRhaW5seVBhcmFtZXRlckRlY2xhcmF0aW9uKCl7cmV0dXJuIHRoaXMudHlwZT09PTN9fSxOZT1jbGFzcyBleHRlbmRzIGVle2NvbnN0cnVjdG9yKHQpe3N1cGVyKHQpLHRoaXMuZGVjbGFyYXRpb25FcnJvcnM9bmV3IE1hcH1yZWNvcmREZWNsYXJhdGlvbkVycm9yKHQsZSl7bGV0IHM9ZS5pbmRleDt0aGlzLmRlY2xhcmF0aW9uRXJyb3JzLnNldChzLFt0LGVdKX1jbGVhckRlY2xhcmF0aW9uRXJyb3IodCl7dGhpcy5kZWNsYXJhdGlvbkVycm9ycy5kZWxldGUodCl9aXRlcmF0ZUVycm9ycyh0KXt0aGlzLmRlY2xhcmF0aW9uRXJyb3JzLmZvckVhY2godCl9fSxldD1jbGFzc3tjb25zdHJ1Y3Rvcih0KXt0aGlzLnBhcnNlcj12b2lkIDAsdGhpcy5zdGFjaz1bbmV3IGVlXSx0aGlzLnBhcnNlcj10fWVudGVyKHQpe3RoaXMuc3RhY2sucHVzaCh0KX1leGl0KCl7dGhpcy5zdGFjay5wb3AoKX1yZWNvcmRQYXJhbWV0ZXJJbml0aWFsaXplckVycm9yKHQsZSl7bGV0IHM9ZS5sb2Muc3RhcnQse3N0YWNrOml9PXRoaXMscj1pLmxlbmd0aC0xLG49aVtyXTtmb3IoOyFuLmlzQ2VydGFpbmx5UGFyYW1ldGVyRGVjbGFyYXRpb24oKTspe2lmKG4uY2FuQmVBcnJvd1BhcmFtZXRlckRlY2xhcmF0aW9uKCkpbi5yZWNvcmREZWNsYXJhdGlvbkVycm9yKHQscyk7ZWxzZSByZXR1cm47bj1pWy0tcl19dGhpcy5wYXJzZXIucmFpc2UodCxzKX1yZWNvcmRBcnJvd1BhcmFtZXRlckJpbmRpbmdFcnJvcih0LGUpe2xldHtzdGFjazpzfT10aGlzLGk9c1tzLmxlbmd0aC0xXSxyPWUubG9jLnN0YXJ0O2lmKGkuaXNDZXJ0YWlubHlQYXJhbWV0ZXJEZWNsYXJhdGlvbigpKXRoaXMucGFyc2VyLnJhaXNlKHQscik7ZWxzZSBpZihpLmNhbkJlQXJyb3dQYXJhbWV0ZXJEZWNsYXJhdGlvbigpKWkucmVjb3JkRGVjbGFyYXRpb25FcnJvcih0LHIpO2Vsc2UgcmV0dXJufXJlY29yZEFzeW5jQXJyb3dQYXJhbWV0ZXJzRXJyb3IodCl7bGV0e3N0YWNrOmV9PXRoaXMscz1lLmxlbmd0aC0xLGk9ZVtzXTtmb3IoO2kuY2FuQmVBcnJvd1BhcmFtZXRlckRlY2xhcmF0aW9uKCk7KWkudHlwZT09PTImJmkucmVjb3JkRGVjbGFyYXRpb25FcnJvcihwLkF3YWl0QmluZGluZ0lkZW50aWZpZXIsdCksaT1lWy0tc119dmFsaWRhdGVBc1BhdHRlcm4oKXtsZXR7c3RhY2s6dH09dGhpcyxlPXRbdC5sZW5ndGgtMV07ZS5jYW5CZUFycm93UGFyYW1ldGVyRGVjbGFyYXRpb24oKSYmZS5pdGVyYXRlRXJyb3JzKChbcyxpXSk9Pnt0aGlzLnBhcnNlci5yYWlzZShzLGkpO2xldCByPXQubGVuZ3RoLTIsbj10W3JdO2Zvcig7bi5jYW5CZUFycm93UGFyYW1ldGVyRGVjbGFyYXRpb24oKTspbi5jbGVhckRlY2xhcmF0aW9uRXJyb3IoaS5pbmRleCksbj10Wy0tcl19KX19O2Z1bmN0aW9uIGtpKCl7cmV0dXJuIG5ldyBlZSgzKX1mdW5jdGlvbiB2aSgpe3JldHVybiBuZXcgTmUoMSl9ZnVuY3Rpb24gTGkoKXtyZXR1cm4gbmV3IE5lKDIpfWZ1bmN0aW9uIFp0KCl7cmV0dXJuIG5ldyBlZX12YXIgdHQ9Y2xhc3N7Y29uc3RydWN0b3IoKXt0aGlzLnN0YWNrcz1bXX1lbnRlcih0KXt0aGlzLnN0YWNrcy5wdXNoKHQpfWV4aXQoKXt0aGlzLnN0YWNrcy5wb3AoKX1jdXJyZW50RmxhZ3MoKXtyZXR1cm4gdGhpcy5zdGFja3NbdGhpcy5zdGFja3MubGVuZ3RoLTFdfWdldCBoYXNBd2FpdCgpe3JldHVybih0aGlzLmN1cnJlbnRGbGFncygpJjIpPjB9Z2V0IGhhc1lpZWxkKCl7cmV0dXJuKHRoaXMuY3VycmVudEZsYWdzKCkmMSk+MH1nZXQgaGFzUmV0dXJuKCl7cmV0dXJuKHRoaXMuY3VycmVudEZsYWdzKCkmNCk+MH1nZXQgaGFzSW4oKXtyZXR1cm4odGhpcy5jdXJyZW50RmxhZ3MoKSY4KT4wfX07ZnVuY3Rpb24gQ2UoYSx0KXtyZXR1cm4oYT8yOjApfCh0PzE6MCl9dmFyIHN0PWNsYXNzIGV4dGVuZHMgWWV7YWRkRXh0cmEodCxlLHMsaT0hMCl7aWYoIXQpcmV0dXJuO2xldHtleHRyYTpyfT10O3I9PW51bGwmJihyPXt9LHQuZXh0cmE9ciksaT9yW2VdPXM6T2JqZWN0LmRlZmluZVByb3BlcnR5KHIsZSx7ZW51bWVyYWJsZTppLHZhbHVlOnN9KX1pc0NvbnRleHR1YWwodCl7cmV0dXJuIHRoaXMuc3RhdGUudHlwZT09PXQmJiF0aGlzLnN0YXRlLmNvbnRhaW5zRXNjfWlzVW5wYXJzZWRDb250ZXh0dWFsKHQsZSl7bGV0IHM9dCtlLmxlbmd0aDtpZih0aGlzLmlucHV0LnNsaWNlKHQscyk9PT1lKXtsZXQgaT10aGlzLmlucHV0LmNoYXJDb2RlQXQocyk7cmV0dXJuIShHKGkpfHwoaSY2NDUxMik9PT01NTI5Nil9cmV0dXJuITF9aXNMb29rYWhlYWRDb250ZXh0dWFsKHQpe2xldCBlPXRoaXMubmV4dFRva2VuU3RhcnQoKTtyZXR1cm4gdGhpcy5pc1VucGFyc2VkQ29udGV4dHVhbChlLHQpfWVhdENvbnRleHR1YWwodCl7cmV0dXJuIHRoaXMuaXNDb250ZXh0dWFsKHQpPyh0aGlzLm5leHQoKSwhMCk6ITF9ZXhwZWN0Q29udGV4dHVhbCh0LGUpe2lmKCF0aGlzLmVhdENvbnRleHR1YWwodCkpe2lmKGUhPW51bGwpdGhyb3cgdGhpcy5yYWlzZShlLHRoaXMuc3RhdGUuc3RhcnRMb2MpO3RoaXMudW5leHBlY3RlZChudWxsLHQpfX1jYW5JbnNlcnRTZW1pY29sb24oKXtyZXR1cm4gdGhpcy5tYXRjaCgxNDApfHx0aGlzLm1hdGNoKDgpfHx0aGlzLmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpfWhhc1ByZWNlZGluZ0xpbmVCcmVhaygpe3JldHVybiBNdCh0aGlzLmlucHV0LHRoaXMub2Zmc2V0VG9Tb3VyY2VQb3ModGhpcy5zdGF0ZS5sYXN0VG9rRW5kTG9jLmluZGV4KSx0aGlzLnN0YXRlLnN0YXJ0KX1oYXNGb2xsb3dpbmdMaW5lQnJlYWsoKXtyZXR1cm4gTXQodGhpcy5pbnB1dCx0aGlzLnN0YXRlLmVuZCx0aGlzLm5leHRUb2tlblN0YXJ0KCkpfWlzTGluZVRlcm1pbmF0b3IoKXtyZXR1cm4gdGhpcy5lYXQoMTMpfHx0aGlzLmNhbkluc2VydFNlbWljb2xvbigpfXNlbWljb2xvbih0PSEwKXsodD90aGlzLmlzTGluZVRlcm1pbmF0b3IoKTp0aGlzLmVhdCgxMykpfHx0aGlzLnJhaXNlKHAuTWlzc2luZ1NlbWljb2xvbix0aGlzLnN0YXRlLmxhc3RUb2tFbmRMb2MpfWV4cGVjdCh0LGUpe3RoaXMuZWF0KHQpfHx0aGlzLnVuZXhwZWN0ZWQoZSx0KX10cnlQYXJzZSh0LGU9dGhpcy5zdGF0ZS5jbG9uZSgpKXtsZXQgcz17bm9kZTpudWxsfTt0cnl7bGV0IGk9dCgocj1udWxsKT0+e3Rocm93IHMubm9kZT1yLHN9KTtpZih0aGlzLnN0YXRlLmVycm9ycy5sZW5ndGg+ZS5lcnJvcnMubGVuZ3RoKXtsZXQgcj10aGlzLnN0YXRlO3JldHVybiB0aGlzLnN0YXRlPWUsdGhpcy5zdGF0ZS50b2tlbnNMZW5ndGg9ci50b2tlbnNMZW5ndGgse25vZGU6aSxlcnJvcjpyLmVycm9yc1tlLmVycm9ycy5sZW5ndGhdLHRocm93bjohMSxhYm9ydGVkOiExLGZhaWxTdGF0ZTpyfX1yZXR1cm57bm9kZTppLGVycm9yOm51bGwsdGhyb3duOiExLGFib3J0ZWQ6ITEsZmFpbFN0YXRlOm51bGx9fWNhdGNoKGkpe2xldCByPXRoaXMuc3RhdGU7aWYodGhpcy5zdGF0ZT1lLGkgaW5zdGFuY2VvZiBTeW50YXhFcnJvcilyZXR1cm57bm9kZTpudWxsLGVycm9yOmksdGhyb3duOiEwLGFib3J0ZWQ6ITEsZmFpbFN0YXRlOnJ9O2lmKGk9PT1zKXJldHVybntub2RlOnMubm9kZSxlcnJvcjpudWxsLHRocm93bjohMSxhYm9ydGVkOiEwLGZhaWxTdGF0ZTpyfTt0aHJvdyBpfX1jaGVja0V4cHJlc3Npb25FcnJvcnModCxlKXtpZighdClyZXR1cm4hMTtsZXR7c2hvcnRoYW5kQXNzaWduTG9jOnMsZG91YmxlUHJvdG9Mb2M6aSxwcml2YXRlS2V5TG9jOnIsb3B0aW9uYWxQYXJhbWV0ZXJzTG9jOm59PXQsbz0hIXN8fCEhaXx8ISFufHwhIXI7aWYoIWUpcmV0dXJuIG87cyE9bnVsbCYmdGhpcy5yYWlzZShwLkludmFsaWRDb3ZlckluaXRpYWxpemVkTmFtZSxzKSxpIT1udWxsJiZ0aGlzLnJhaXNlKHAuRHVwbGljYXRlUHJvdG8saSksciE9bnVsbCYmdGhpcy5yYWlzZShwLlVuZXhwZWN0ZWRQcml2YXRlRmllbGQsciksbiE9bnVsbCYmdGhpcy51bmV4cGVjdGVkKG4pfWlzTGl0ZXJhbFByb3BlcnR5TmFtZSgpe3JldHVybiBWdCh0aGlzLnN0YXRlLnR5cGUpfWlzUHJpdmF0ZU5hbWUodCl7cmV0dXJuIHQudHlwZT09PVwiUHJpdmF0ZU5hbWVcIn1nZXRQcml2YXRlTmFtZVNWKHQpe3JldHVybiB0LmlkLm5hbWV9aGFzUHJvcGVydHlBc1ByaXZhdGVOYW1lKHQpe3JldHVybih0LnR5cGU9PT1cIk1lbWJlckV4cHJlc3Npb25cInx8dC50eXBlPT09XCJPcHRpb25hbE1lbWJlckV4cHJlc3Npb25cIikmJnRoaXMuaXNQcml2YXRlTmFtZSh0LnByb3BlcnR5KX1pc09iamVjdFByb3BlcnR5KHQpe3JldHVybiB0LnR5cGU9PT1cIk9iamVjdFByb3BlcnR5XCJ9aXNPYmplY3RNZXRob2QodCl7cmV0dXJuIHQudHlwZT09PVwiT2JqZWN0TWV0aG9kXCJ9aW5pdGlhbGl6ZVNjb3Blcyh0PXRoaXMub3B0aW9ucy5zb3VyY2VUeXBlPT09XCJtb2R1bGVcIil7bGV0IGU9dGhpcy5zdGF0ZS5sYWJlbHM7dGhpcy5zdGF0ZS5sYWJlbHM9W107bGV0IHM9dGhpcy5leHBvcnRlZElkZW50aWZpZXJzO3RoaXMuZXhwb3J0ZWRJZGVudGlmaWVycz1uZXcgU2V0O2xldCBpPXRoaXMuaW5Nb2R1bGU7dGhpcy5pbk1vZHVsZT10O2xldCByPXRoaXMuc2NvcGUsbj10aGlzLmdldFNjb3BlSGFuZGxlcigpO3RoaXMuc2NvcGU9bmV3IG4odGhpcyx0KTtsZXQgbz10aGlzLnByb2RQYXJhbTt0aGlzLnByb2RQYXJhbT1uZXcgdHQ7bGV0IGg9dGhpcy5jbGFzc1Njb3BlO3RoaXMuY2xhc3NTY29wZT1uZXcgWmUodGhpcyk7bGV0IGw9dGhpcy5leHByZXNzaW9uU2NvcGU7cmV0dXJuIHRoaXMuZXhwcmVzc2lvblNjb3BlPW5ldyBldCh0aGlzKSwoKT0+e3RoaXMuc3RhdGUubGFiZWxzPWUsdGhpcy5leHBvcnRlZElkZW50aWZpZXJzPXMsdGhpcy5pbk1vZHVsZT1pLHRoaXMuc2NvcGU9cix0aGlzLnByb2RQYXJhbT1vLHRoaXMuY2xhc3NTY29wZT1oLHRoaXMuZXhwcmVzc2lvblNjb3BlPWx9fWVudGVySW5pdGlhbFNjb3Blcygpe2xldCB0PTA7dGhpcy5pbk1vZHVsZSYmKHR8PTIpLHRoaXMuc2NvcGUuZW50ZXIoMSksdGhpcy5wcm9kUGFyYW0uZW50ZXIodCl9Y2hlY2tEZXN0cnVjdHVyaW5nUHJpdmF0ZSh0KXtsZXR7cHJpdmF0ZUtleUxvYzplfT10O2UhPT1udWxsJiZ0aGlzLmV4cGVjdFBsdWdpbihcImRlc3RydWN0dXJpbmdQcml2YXRlXCIsZSl9fSxRPWNsYXNze2NvbnN0cnVjdG9yKCl7dGhpcy5zaG9ydGhhbmRBc3NpZ25Mb2M9bnVsbCx0aGlzLmRvdWJsZVByb3RvTG9jPW51bGwsdGhpcy5wcml2YXRlS2V5TG9jPW51bGwsdGhpcy5vcHRpb25hbFBhcmFtZXRlcnNMb2M9bnVsbH19LHRlPWNsYXNze2NvbnN0cnVjdG9yKHQsZSxzKXt0aGlzLnR5cGU9XCJcIix0aGlzLnN0YXJ0PWUsdGhpcy5lbmQ9MCx0aGlzLmxvYz1uZXcgWihzKSx0IT1udWxsJiZ0Lm9wdGlvbnMucmFuZ2VzJiYodGhpcy5yYW5nZT1bZSwwXSksdCE9bnVsbCYmdC5maWxlbmFtZSYmKHRoaXMubG9jLmZpbGVuYW1lPXQuZmlsZW5hbWUpfX0sUHQ9dGUucHJvdG90eXBlO1B0Ll9fY2xvbmU9ZnVuY3Rpb24oKXtsZXQgYT1uZXcgdGUodm9pZCAwLHRoaXMuc3RhcnQsdGhpcy5sb2Muc3RhcnQpLHQ9T2JqZWN0LmtleXModGhpcyk7Zm9yKGxldCBlPTAscz10Lmxlbmd0aDtlPHM7ZSsrKXtsZXQgaT10W2VdO2khPT1cImxlYWRpbmdDb21tZW50c1wiJiZpIT09XCJ0cmFpbGluZ0NvbW1lbnRzXCImJmkhPT1cImlubmVyQ29tbWVudHNcIiYmKGFbaV09dGhpc1tpXSl9cmV0dXJuIGF9O2Z1bmN0aW9uIERpKGEpe3JldHVybiBfKGEpfWZ1bmN0aW9uIF8oYSl7bGV0e3R5cGU6dCxzdGFydDplLGVuZDpzLGxvYzppLHJhbmdlOnIsZXh0cmE6bixuYW1lOm99PWEsaD1PYmplY3QuY3JlYXRlKFB0KTtyZXR1cm4gaC50eXBlPXQsaC5zdGFydD1lLGguZW5kPXMsaC5sb2M9aSxoLnJhbmdlPXIsaC5leHRyYT1uLGgubmFtZT1vLHQ9PT1cIlBsYWNlaG9sZGVyXCImJihoLmV4cGVjdGVkTm9kZT1hLmV4cGVjdGVkTm9kZSksaH1mdW5jdGlvbiBNaShhKXtsZXR7dHlwZTp0LHN0YXJ0OmUsZW5kOnMsbG9jOmkscmFuZ2U6cixleHRyYTpufT1hO2lmKHQ9PT1cIlBsYWNlaG9sZGVyXCIpcmV0dXJuIERpKGEpO2xldCBvPU9iamVjdC5jcmVhdGUoUHQpO3JldHVybiBvLnR5cGU9dCxvLnN0YXJ0PWUsby5lbmQ9cyxvLmxvYz1pLG8ucmFuZ2U9cixhLnJhdyE9PXZvaWQgMD9vLnJhdz1hLnJhdzpvLmV4dHJhPW4sby52YWx1ZT1hLnZhbHVlLG99dmFyIGl0PWNsYXNzIGV4dGVuZHMgc3R7c3RhcnROb2RlKCl7bGV0IHQ9dGhpcy5zdGF0ZS5zdGFydExvYztyZXR1cm4gbmV3IHRlKHRoaXMsdC5pbmRleCx0KX1zdGFydE5vZGVBdCh0KXtyZXR1cm4gbmV3IHRlKHRoaXMsdC5pbmRleCx0KX1zdGFydE5vZGVBdE5vZGUodCl7cmV0dXJuIHRoaXMuc3RhcnROb2RlQXQodC5sb2Muc3RhcnQpfWZpbmlzaE5vZGUodCxlKXtyZXR1cm4gdGhpcy5maW5pc2hOb2RlQXQodCxlLHRoaXMuc3RhdGUubGFzdFRva0VuZExvYyl9ZmluaXNoTm9kZUF0KHQsZSxzKXtyZXR1cm4gdC50eXBlPWUsdC5lbmQ9cy5pbmRleCx0LmxvYy5lbmQ9cyx0aGlzLm9wdGlvbnMucmFuZ2VzJiYodC5yYW5nZVsxXT1zLmluZGV4KSx0aGlzLm9wdGlvbnMuYXR0YWNoQ29tbWVudCYmdGhpcy5wcm9jZXNzQ29tbWVudCh0KSx0fXJlc2V0U3RhcnRMb2NhdGlvbih0LGUpe3Quc3RhcnQ9ZS5pbmRleCx0LmxvYy5zdGFydD1lLHRoaXMub3B0aW9ucy5yYW5nZXMmJih0LnJhbmdlWzBdPWUuaW5kZXgpfXJlc2V0RW5kTG9jYXRpb24odCxlPXRoaXMuc3RhdGUubGFzdFRva0VuZExvYyl7dC5lbmQ9ZS5pbmRleCx0LmxvYy5lbmQ9ZSx0aGlzLm9wdGlvbnMucmFuZ2VzJiYodC5yYW5nZVsxXT1lLmluZGV4KX1yZXNldFN0YXJ0TG9jYXRpb25Gcm9tTm9kZSh0LGUpe3RoaXMucmVzZXRTdGFydExvY2F0aW9uKHQsZS5sb2Muc3RhcnQpfX0sT2k9bmV3IFNldChbXCJfXCIsXCJhbnlcIixcImJvb2xcIixcImJvb2xlYW5cIixcImVtcHR5XCIsXCJleHRlbmRzXCIsXCJmYWxzZVwiLFwiaW50ZXJmYWNlXCIsXCJtaXhlZFwiLFwibnVsbFwiLFwibnVtYmVyXCIsXCJzdGF0aWNcIixcInN0cmluZ1wiLFwidHJ1ZVwiLFwidHlwZW9mXCIsXCJ2b2lkXCJdKSxnPVVgZmxvd2Aoe0FtYmlndW91c0NvbmRpdGlvbmFsQXJyb3c6XCJBbWJpZ3VvdXMgZXhwcmVzc2lvbjogd3JhcCB0aGUgYXJyb3cgZnVuY3Rpb25zIGluIHBhcmVudGhlc2VzIHRvIGRpc2FtYmlndWF0ZS5cIixBbWJpZ3VvdXNEZWNsYXJlTW9kdWxlS2luZDpcIkZvdW5kIGJvdGggYGRlY2xhcmUgbW9kdWxlLmV4cG9ydHNgIGFuZCBgZGVjbGFyZSBleHBvcnRgIGluIHRoZSBzYW1lIG1vZHVsZS4gTW9kdWxlcyBjYW4gb25seSBoYXZlIDEgc2luY2UgdGhleSBhcmUgZWl0aGVyIGFuIEVTIG1vZHVsZSBvciB0aGV5IGFyZSBhIENvbW1vbkpTIG1vZHVsZS5cIixBc3NpZ25SZXNlcnZlZFR5cGU6KHtyZXNlcnZlZFR5cGU6YX0pPT5gQ2Fubm90IG92ZXJ3cml0ZSByZXNlcnZlZCB0eXBlICR7YX0uYCxEZWNsYXJlQ2xhc3NFbGVtZW50OlwiVGhlIGBkZWNsYXJlYCBtb2RpZmllciBjYW4gb25seSBhcHBlYXIgb24gY2xhc3MgZmllbGRzLlwiLERlY2xhcmVDbGFzc0ZpZWxkSW5pdGlhbGl6ZXI6XCJJbml0aWFsaXplcnMgYXJlIG5vdCBhbGxvd2VkIGluIGZpZWxkcyB3aXRoIHRoZSBgZGVjbGFyZWAgbW9kaWZpZXIuXCIsRHVwbGljYXRlRGVjbGFyZU1vZHVsZUV4cG9ydHM6XCJEdXBsaWNhdGUgYGRlY2xhcmUgbW9kdWxlLmV4cG9ydHNgIHN0YXRlbWVudC5cIixFbnVtQm9vbGVhbk1lbWJlck5vdEluaXRpYWxpemVkOih7bWVtYmVyTmFtZTphLGVudW1OYW1lOnR9KT0+YEJvb2xlYW4gZW51bSBtZW1iZXJzIG5lZWQgdG8gYmUgaW5pdGlhbGl6ZWQuIFVzZSBlaXRoZXIgXFxgJHthfSA9IHRydWUsXFxgIG9yIFxcYCR7YX0gPSBmYWxzZSxcXGAgaW4gZW51bSBcXGAke3R9XFxgLmAsRW51bUR1cGxpY2F0ZU1lbWJlck5hbWU6KHttZW1iZXJOYW1lOmEsZW51bU5hbWU6dH0pPT5gRW51bSBtZW1iZXIgbmFtZXMgbmVlZCB0byBiZSB1bmlxdWUsIGJ1dCB0aGUgbmFtZSBcXGAke2F9XFxgIGhhcyBhbHJlYWR5IGJlZW4gdXNlZCBiZWZvcmUgaW4gZW51bSBcXGAke3R9XFxgLmAsRW51bUluY29uc2lzdGVudE1lbWJlclZhbHVlczooe2VudW1OYW1lOmF9KT0+YEVudW0gXFxgJHthfVxcYCBoYXMgaW5jb25zaXN0ZW50IG1lbWJlciBpbml0aWFsaXplcnMuIEVpdGhlciB1c2Ugbm8gaW5pdGlhbGl6ZXJzLCBvciBjb25zaXN0ZW50bHkgdXNlIGxpdGVyYWxzIChlaXRoZXIgYm9vbGVhbnMsIG51bWJlcnMsIG9yIHN0cmluZ3MpIGZvciBhbGwgbWVtYmVyIGluaXRpYWxpemVycy5gLEVudW1JbnZhbGlkRXhwbGljaXRUeXBlOih7aW52YWxpZEVudW1UeXBlOmEsZW51bU5hbWU6dH0pPT5gRW51bSB0eXBlIFxcYCR7YX1cXGAgaXMgbm90IHZhbGlkLiBVc2Ugb25lIG9mIFxcYGJvb2xlYW5cXGAsIFxcYG51bWJlclxcYCwgXFxgc3RyaW5nXFxgLCBvciBcXGBzeW1ib2xcXGAgaW4gZW51bSBcXGAke3R9XFxgLmAsRW51bUludmFsaWRFeHBsaWNpdFR5cGVVbmtub3duU3VwcGxpZWQ6KHtlbnVtTmFtZTphfSk9PmBTdXBwbGllZCBlbnVtIHR5cGUgaXMgbm90IHZhbGlkLiBVc2Ugb25lIG9mIFxcYGJvb2xlYW5cXGAsIFxcYG51bWJlclxcYCwgXFxgc3RyaW5nXFxgLCBvciBcXGBzeW1ib2xcXGAgaW4gZW51bSBcXGAke2F9XFxgLmAsRW51bUludmFsaWRNZW1iZXJJbml0aWFsaXplclByaW1hcnlUeXBlOih7ZW51bU5hbWU6YSxtZW1iZXJOYW1lOnQsZXhwbGljaXRUeXBlOmV9KT0+YEVudW0gXFxgJHthfVxcYCBoYXMgdHlwZSBcXGAke2V9XFxgLCBzbyB0aGUgaW5pdGlhbGl6ZXIgb2YgXFxgJHt0fVxcYCBuZWVkcyB0byBiZSBhICR7ZX0gbGl0ZXJhbC5gLEVudW1JbnZhbGlkTWVtYmVySW5pdGlhbGl6ZXJTeW1ib2xUeXBlOih7ZW51bU5hbWU6YSxtZW1iZXJOYW1lOnR9KT0+YFN5bWJvbCBlbnVtIG1lbWJlcnMgY2Fubm90IGJlIGluaXRpYWxpemVkLiBVc2UgXFxgJHt0fSxcXGAgaW4gZW51bSBcXGAke2F9XFxgLmAsRW51bUludmFsaWRNZW1iZXJJbml0aWFsaXplclVua25vd25UeXBlOih7ZW51bU5hbWU6YSxtZW1iZXJOYW1lOnR9KT0+YFRoZSBlbnVtIG1lbWJlciBpbml0aWFsaXplciBmb3IgXFxgJHt0fVxcYCBuZWVkcyB0byBiZSBhIGxpdGVyYWwgKGVpdGhlciBhIGJvb2xlYW4sIG51bWJlciwgb3Igc3RyaW5nKSBpbiBlbnVtIFxcYCR7YX1cXGAuYCxFbnVtSW52YWxpZE1lbWJlck5hbWU6KHtlbnVtTmFtZTphLG1lbWJlck5hbWU6dCxzdWdnZXN0aW9uOmV9KT0+YEVudW0gbWVtYmVyIG5hbWVzIGNhbm5vdCBzdGFydCB3aXRoIGxvd2VyY2FzZSAnYScgdGhyb3VnaCAneicuIEluc3RlYWQgb2YgdXNpbmcgXFxgJHt0fVxcYCwgY29uc2lkZXIgdXNpbmcgXFxgJHtlfVxcYCwgaW4gZW51bSBcXGAke2F9XFxgLmAsRW51bU51bWJlck1lbWJlck5vdEluaXRpYWxpemVkOih7ZW51bU5hbWU6YSxtZW1iZXJOYW1lOnR9KT0+YE51bWJlciBlbnVtIG1lbWJlcnMgbmVlZCB0byBiZSBpbml0aWFsaXplZCwgZS5nLiBcXGAke3R9ID0gMVxcYCBpbiBlbnVtIFxcYCR7YX1cXGAuYCxFbnVtU3RyaW5nTWVtYmVySW5jb25zaXN0ZW50bHlJbml0aWFsaXplZDooe2VudW1OYW1lOmF9KT0+YFN0cmluZyBlbnVtIG1lbWJlcnMgbmVlZCB0byBjb25zaXN0ZW50bHkgZWl0aGVyIGFsbCB1c2UgaW5pdGlhbGl6ZXJzLCBvciB1c2Ugbm8gaW5pdGlhbGl6ZXJzLCBpbiBlbnVtIFxcYCR7YX1cXGAuYCxHZXR0ZXJNYXlOb3RIYXZlVGhpc1BhcmFtOlwiQSBnZXR0ZXIgY2Fubm90IGhhdmUgYSBgdGhpc2AgcGFyYW1ldGVyLlwiLEltcG9ydFJlZmxlY3Rpb25IYXNJbXBvcnRUeXBlOlwiQW4gYGltcG9ydCBtb2R1bGVgIGRlY2xhcmF0aW9uIGNhbiBub3QgdXNlIGB0eXBlYCBvciBgdHlwZW9mYCBrZXl3b3JkLlwiLEltcG9ydFR5cGVTaG9ydGhhbmRPbmx5SW5QdXJlSW1wb3J0OlwiVGhlIGB0eXBlYCBhbmQgYHR5cGVvZmAga2V5d29yZHMgb24gbmFtZWQgaW1wb3J0cyBjYW4gb25seSBiZSB1c2VkIG9uIHJlZ3VsYXIgYGltcG9ydGAgc3RhdGVtZW50cy4gSXQgY2Fubm90IGJlIHVzZWQgd2l0aCBgaW1wb3J0IHR5cGVgIG9yIGBpbXBvcnQgdHlwZW9mYCBzdGF0ZW1lbnRzLlwiLEluZXhhY3RJbnNpZGVFeGFjdDpcIkV4cGxpY2l0IGluZXhhY3Qgc3ludGF4IGNhbm5vdCBhcHBlYXIgaW5zaWRlIGFuIGV4cGxpY2l0IGV4YWN0IG9iamVjdCB0eXBlLlwiLEluZXhhY3RJbnNpZGVOb25PYmplY3Q6XCJFeHBsaWNpdCBpbmV4YWN0IHN5bnRheCBjYW5ub3QgYXBwZWFyIGluIGNsYXNzIG9yIGludGVyZmFjZSBkZWZpbml0aW9ucy5cIixJbmV4YWN0VmFyaWFuY2U6XCJFeHBsaWNpdCBpbmV4YWN0IHN5bnRheCBjYW5ub3QgaGF2ZSB2YXJpYW5jZS5cIixJbnZhbGlkTm9uVHlwZUltcG9ydEluRGVjbGFyZU1vZHVsZTpcIkltcG9ydHMgd2l0aGluIGEgYGRlY2xhcmUgbW9kdWxlYCBib2R5IG11c3QgYWx3YXlzIGJlIGBpbXBvcnQgdHlwZWAgb3IgYGltcG9ydCB0eXBlb2ZgLlwiLE1pc3NpbmdUeXBlUGFyYW1EZWZhdWx0OlwiVHlwZSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24gbmVlZHMgYSBkZWZhdWx0LCBzaW5jZSBhIHByZWNlZGluZyB0eXBlIHBhcmFtZXRlciBkZWNsYXJhdGlvbiBoYXMgYSBkZWZhdWx0LlwiLE5lc3RlZERlY2xhcmVNb2R1bGU6XCJgZGVjbGFyZSBtb2R1bGVgIGNhbm5vdCBiZSB1c2VkIGluc2lkZSBhbm90aGVyIGBkZWNsYXJlIG1vZHVsZWAuXCIsTmVzdGVkRmxvd0NvbW1lbnQ6XCJDYW5ub3QgaGF2ZSBhIGZsb3cgY29tbWVudCBpbnNpZGUgYW5vdGhlciBmbG93IGNvbW1lbnQuXCIsUGF0dGVybklzT3B0aW9uYWw6T2JqZWN0LmFzc2lnbih7bWVzc2FnZTpcIkEgYmluZGluZyBwYXR0ZXJuIHBhcmFtZXRlciBjYW5ub3QgYmUgb3B0aW9uYWwgaW4gYW4gaW1wbGVtZW50YXRpb24gc2lnbmF0dXJlLlwifSx7cmVhc29uQ29kZTpcIk9wdGlvbmFsQmluZGluZ1BhdHRlcm5cIn0pLFNldHRlck1heU5vdEhhdmVUaGlzUGFyYW06XCJBIHNldHRlciBjYW5ub3QgaGF2ZSBhIGB0aGlzYCBwYXJhbWV0ZXIuXCIsU3ByZWFkVmFyaWFuY2U6XCJTcHJlYWQgcHJvcGVydGllcyBjYW5ub3QgaGF2ZSB2YXJpYW5jZS5cIixUaGlzUGFyYW1Bbm5vdGF0aW9uUmVxdWlyZWQ6XCJBIHR5cGUgYW5ub3RhdGlvbiBpcyByZXF1aXJlZCBmb3IgdGhlIGB0aGlzYCBwYXJhbWV0ZXIuXCIsVGhpc1BhcmFtQmFubmVkSW5Db25zdHJ1Y3RvcjpcIkNvbnN0cnVjdG9ycyBjYW5ub3QgaGF2ZSBhIGB0aGlzYCBwYXJhbWV0ZXI7IGNvbnN0cnVjdG9ycyBkb24ndCBiaW5kIGB0aGlzYCBsaWtlIG90aGVyIGZ1bmN0aW9ucy5cIixUaGlzUGFyYW1NYXlOb3RCZU9wdGlvbmFsOlwiVGhlIGB0aGlzYCBwYXJhbWV0ZXIgY2Fubm90IGJlIG9wdGlvbmFsLlwiLFRoaXNQYXJhbU11c3RCZUZpcnN0OlwiVGhlIGB0aGlzYCBwYXJhbWV0ZXIgbXVzdCBiZSB0aGUgZmlyc3QgZnVuY3Rpb24gcGFyYW1ldGVyLlwiLFRoaXNQYXJhbU5vRGVmYXVsdDpcIlRoZSBgdGhpc2AgcGFyYW1ldGVyIG1heSBub3QgaGF2ZSBhIGRlZmF1bHQgdmFsdWUuXCIsVHlwZUJlZm9yZUluaXRpYWxpemVyOlwiVHlwZSBhbm5vdGF0aW9ucyBtdXN0IGNvbWUgYmVmb3JlIGRlZmF1bHQgYXNzaWdubWVudHMsIGUuZy4gaW5zdGVhZCBvZiBgYWdlID0gMjU6IG51bWJlcmAgdXNlIGBhZ2U6IG51bWJlciA9IDI1YC5cIixUeXBlQ2FzdEluUGF0dGVybjpcIlRoZSB0eXBlIGNhc3QgZXhwcmVzc2lvbiBpcyBleHBlY3RlZCB0byBiZSB3cmFwcGVkIHdpdGggcGFyZW50aGVzaXMuXCIsVW5leHBlY3RlZEV4cGxpY2l0SW5leGFjdEluT2JqZWN0OlwiRXhwbGljaXQgaW5leGFjdCBzeW50YXggbXVzdCBhcHBlYXIgYXQgdGhlIGVuZCBvZiBhbiBpbmV4YWN0IG9iamVjdC5cIixVbmV4cGVjdGVkUmVzZXJ2ZWRUeXBlOih7cmVzZXJ2ZWRUeXBlOmF9KT0+YFVuZXhwZWN0ZWQgcmVzZXJ2ZWQgdHlwZSAke2F9LmAsVW5leHBlY3RlZFJlc2VydmVkVW5kZXJzY29yZTpcImBfYCBpcyBvbmx5IGFsbG93ZWQgYXMgYSB0eXBlIGFyZ3VtZW50IHRvIGNhbGwgb3IgbmV3LlwiLFVuZXhwZWN0ZWRTcGFjZUJldHdlZW5Nb2R1bG9DaGVja3M6XCJTcGFjZXMgYmV0d2VlbiBgJWAgYW5kIGBjaGVja3NgIGFyZSBub3QgYWxsb3dlZCBoZXJlLlwiLFVuZXhwZWN0ZWRTcHJlYWRUeXBlOlwiU3ByZWFkIG9wZXJhdG9yIGNhbm5vdCBhcHBlYXIgaW4gY2xhc3Mgb3IgaW50ZXJmYWNlIGRlZmluaXRpb25zLlwiLFVuZXhwZWN0ZWRTdWJ0cmFjdGlvbk9wZXJhbmQ6J1VuZXhwZWN0ZWQgdG9rZW4sIGV4cGVjdGVkIFwibnVtYmVyXCIgb3IgXCJiaWdpbnRcIi4nLFVuZXhwZWN0ZWRUb2tlbkFmdGVyVHlwZVBhcmFtZXRlcjpcIkV4cGVjdGVkIGFuIGFycm93IGZ1bmN0aW9uIGFmdGVyIHRoaXMgdHlwZSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24uXCIsVW5leHBlY3RlZFR5cGVQYXJhbWV0ZXJCZWZvcmVBc3luY0Fycm93RnVuY3Rpb246XCJUeXBlIHBhcmFtZXRlcnMgbXVzdCBjb21lIGFmdGVyIHRoZSBhc3luYyBrZXl3b3JkLCBlLmcuIGluc3RlYWQgb2YgYDxUPiBhc3luYyAoKSA9PiB7fWAsIHVzZSBgYXN5bmMgPFQ+KCkgPT4ge31gLlwiLFVuc3VwcG9ydGVkRGVjbGFyZUV4cG9ydEtpbmQ6KHt1bnN1cHBvcnRlZEV4cG9ydEtpbmQ6YSxzdWdnZXN0aW9uOnR9KT0+YFxcYGRlY2xhcmUgZXhwb3J0ICR7YX1cXGAgaXMgbm90IHN1cHBvcnRlZC4gVXNlIFxcYCR7dH1cXGAgaW5zdGVhZC5gLFVuc3VwcG9ydGVkU3RhdGVtZW50SW5EZWNsYXJlTW9kdWxlOlwiT25seSBkZWNsYXJlcyBhbmQgdHlwZSBpbXBvcnRzIGFyZSBhbGxvd2VkIGluc2lkZSBkZWNsYXJlIG1vZHVsZS5cIixVbnRlcm1pbmF0ZWRGbG93Q29tbWVudDpcIlVudGVybWluYXRlZCBmbG93LWNvbW1lbnQuXCJ9KTtmdW5jdGlvbiBGaShhKXtyZXR1cm4gYS50eXBlPT09XCJEZWNsYXJlRXhwb3J0QWxsRGVjbGFyYXRpb25cInx8YS50eXBlPT09XCJEZWNsYXJlRXhwb3J0RGVjbGFyYXRpb25cIiYmKCFhLmRlY2xhcmF0aW9ufHxhLmRlY2xhcmF0aW9uLnR5cGUhPT1cIlR5cGVBbGlhc1wiJiZhLmRlY2xhcmF0aW9uLnR5cGUhPT1cIkludGVyZmFjZURlY2xhcmF0aW9uXCIpfWZ1bmN0aW9uIEJ0KGEpe3JldHVybiBhLmltcG9ydEtpbmQ9PT1cInR5cGVcInx8YS5pbXBvcnRLaW5kPT09XCJ0eXBlb2ZcIn12YXIgQmk9e2NvbnN0OlwiZGVjbGFyZSBleHBvcnQgdmFyXCIsbGV0OlwiZGVjbGFyZSBleHBvcnQgdmFyXCIsdHlwZTpcImV4cG9ydCB0eXBlXCIsaW50ZXJmYWNlOlwiZXhwb3J0IGludGVyZmFjZVwifTtmdW5jdGlvbiBSaShhLHQpe2xldCBlPVtdLHM9W107Zm9yKGxldCBpPTA7aTxhLmxlbmd0aDtpKyspKHQoYVtpXSxpLGEpP2U6cykucHVzaChhW2ldKTtyZXR1cm5bZSxzXX12YXIgVWk9L1xcKj9cXHMqQCgoPzpubyk/ZmxvdylcXGIvLF9pPWE9PmNsYXNzIGV4dGVuZHMgYXtjb25zdHJ1Y3RvciguLi5lKXtzdXBlciguLi5lKSx0aGlzLmZsb3dQcmFnbWE9dm9pZCAwfWdldFNjb3BlSGFuZGxlcigpe3JldHVybiBIZX1zaG91bGRQYXJzZVR5cGVzKCl7cmV0dXJuIHRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwiZmxvd1wiLFwiYWxsXCIpfHx0aGlzLmZsb3dQcmFnbWE9PT1cImZsb3dcIn1maW5pc2hUb2tlbihlLHMpe2UhPT0xMzQmJmUhPT0xMyYmZSE9PTI4JiZ0aGlzLmZsb3dQcmFnbWE9PT12b2lkIDAmJih0aGlzLmZsb3dQcmFnbWE9bnVsbCksc3VwZXIuZmluaXNoVG9rZW4oZSxzKX1hZGRDb21tZW50KGUpe2lmKHRoaXMuZmxvd1ByYWdtYT09PXZvaWQgMCl7bGV0IHM9VWkuZXhlYyhlLnZhbHVlKTtpZihzKWlmKHNbMV09PT1cImZsb3dcIil0aGlzLmZsb3dQcmFnbWE9XCJmbG93XCI7ZWxzZSBpZihzWzFdPT09XCJub2Zsb3dcIil0aGlzLmZsb3dQcmFnbWE9XCJub2Zsb3dcIjtlbHNlIHRocm93IG5ldyBFcnJvcihcIlVuZXhwZWN0ZWQgZmxvdyBwcmFnbWFcIil9c3VwZXIuYWRkQ29tbWVudChlKX1mbG93UGFyc2VUeXBlSW5pdGlhbGlzZXIoZSl7bGV0IHM9dGhpcy5zdGF0ZS5pblR5cGU7dGhpcy5zdGF0ZS5pblR5cGU9ITAsdGhpcy5leHBlY3QoZXx8MTQpO2xldCBpPXRoaXMuZmxvd1BhcnNlVHlwZSgpO3JldHVybiB0aGlzLnN0YXRlLmluVHlwZT1zLGl9Zmxvd1BhcnNlUHJlZGljYXRlKCl7bGV0IGU9dGhpcy5zdGFydE5vZGUoKSxzPXRoaXMuc3RhdGUuc3RhcnRMb2M7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMuZXhwZWN0Q29udGV4dHVhbCgxMTApLHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jLmluZGV4PnMuaW5kZXgrMSYmdGhpcy5yYWlzZShnLlVuZXhwZWN0ZWRTcGFjZUJldHdlZW5Nb2R1bG9DaGVja3MscyksdGhpcy5lYXQoMTApPyhlLnZhbHVlPXN1cGVyLnBhcnNlRXhwcmVzc2lvbigpLHRoaXMuZXhwZWN0KDExKSx0aGlzLmZpbmlzaE5vZGUoZSxcIkRlY2xhcmVkUHJlZGljYXRlXCIpKTp0aGlzLmZpbmlzaE5vZGUoZSxcIkluZmVycmVkUHJlZGljYXRlXCIpfWZsb3dQYXJzZVR5cGVBbmRQcmVkaWNhdGVJbml0aWFsaXNlcigpe2xldCBlPXRoaXMuc3RhdGUuaW5UeXBlO3RoaXMuc3RhdGUuaW5UeXBlPSEwLHRoaXMuZXhwZWN0KDE0KTtsZXQgcz1udWxsLGk9bnVsbDtyZXR1cm4gdGhpcy5tYXRjaCg1NCk/KHRoaXMuc3RhdGUuaW5UeXBlPWUsaT10aGlzLmZsb3dQYXJzZVByZWRpY2F0ZSgpKToocz10aGlzLmZsb3dQYXJzZVR5cGUoKSx0aGlzLnN0YXRlLmluVHlwZT1lLHRoaXMubWF0Y2goNTQpJiYoaT10aGlzLmZsb3dQYXJzZVByZWRpY2F0ZSgpKSksW3MsaV19Zmxvd1BhcnNlRGVjbGFyZUNsYXNzKGUpe3JldHVybiB0aGlzLm5leHQoKSx0aGlzLmZsb3dQYXJzZUludGVyZmFjZWlzaChlLCEwKSx0aGlzLmZpbmlzaE5vZGUoZSxcIkRlY2xhcmVDbGFzc1wiKX1mbG93UGFyc2VEZWNsYXJlRnVuY3Rpb24oZSl7dGhpcy5uZXh0KCk7bGV0IHM9ZS5pZD10aGlzLnBhcnNlSWRlbnRpZmllcigpLGk9dGhpcy5zdGFydE5vZGUoKSxyPXRoaXMuc3RhcnROb2RlKCk7dGhpcy5tYXRjaCg0Nyk/aS50eXBlUGFyYW1ldGVycz10aGlzLmZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvbigpOmkudHlwZVBhcmFtZXRlcnM9bnVsbCx0aGlzLmV4cGVjdCgxMCk7bGV0IG49dGhpcy5mbG93UGFyc2VGdW5jdGlvblR5cGVQYXJhbXMoKTtyZXR1cm4gaS5wYXJhbXM9bi5wYXJhbXMsaS5yZXN0PW4ucmVzdCxpLnRoaXM9bi5fdGhpcyx0aGlzLmV4cGVjdCgxMSksW2kucmV0dXJuVHlwZSxlLnByZWRpY2F0ZV09dGhpcy5mbG93UGFyc2VUeXBlQW5kUHJlZGljYXRlSW5pdGlhbGlzZXIoKSxyLnR5cGVBbm5vdGF0aW9uPXRoaXMuZmluaXNoTm9kZShpLFwiRnVuY3Rpb25UeXBlQW5ub3RhdGlvblwiKSxzLnR5cGVBbm5vdGF0aW9uPXRoaXMuZmluaXNoTm9kZShyLFwiVHlwZUFubm90YXRpb25cIiksdGhpcy5yZXNldEVuZExvY2F0aW9uKHMpLHRoaXMuc2VtaWNvbG9uKCksdGhpcy5zY29wZS5kZWNsYXJlTmFtZShlLmlkLm5hbWUsMjA0OCxlLmlkLmxvYy5zdGFydCksdGhpcy5maW5pc2hOb2RlKGUsXCJEZWNsYXJlRnVuY3Rpb25cIil9Zmxvd1BhcnNlRGVjbGFyZShlLHMpe2lmKHRoaXMubWF0Y2goODApKXJldHVybiB0aGlzLmZsb3dQYXJzZURlY2xhcmVDbGFzcyhlKTtpZih0aGlzLm1hdGNoKDY4KSlyZXR1cm4gdGhpcy5mbG93UGFyc2VEZWNsYXJlRnVuY3Rpb24oZSk7aWYodGhpcy5tYXRjaCg3NCkpcmV0dXJuIHRoaXMuZmxvd1BhcnNlRGVjbGFyZVZhcmlhYmxlKGUpO2lmKHRoaXMuZWF0Q29udGV4dHVhbCgxMjcpKXJldHVybiB0aGlzLm1hdGNoKDE2KT90aGlzLmZsb3dQYXJzZURlY2xhcmVNb2R1bGVFeHBvcnRzKGUpOihzJiZ0aGlzLnJhaXNlKGcuTmVzdGVkRGVjbGFyZU1vZHVsZSx0aGlzLnN0YXRlLmxhc3RUb2tTdGFydExvYyksdGhpcy5mbG93UGFyc2VEZWNsYXJlTW9kdWxlKGUpKTtpZih0aGlzLmlzQ29udGV4dHVhbCgxMzApKXJldHVybiB0aGlzLmZsb3dQYXJzZURlY2xhcmVUeXBlQWxpYXMoZSk7aWYodGhpcy5pc0NvbnRleHR1YWwoMTMxKSlyZXR1cm4gdGhpcy5mbG93UGFyc2VEZWNsYXJlT3BhcXVlVHlwZShlKTtpZih0aGlzLmlzQ29udGV4dHVhbCgxMjkpKXJldHVybiB0aGlzLmZsb3dQYXJzZURlY2xhcmVJbnRlcmZhY2UoZSk7aWYodGhpcy5tYXRjaCg4MikpcmV0dXJuIHRoaXMuZmxvd1BhcnNlRGVjbGFyZUV4cG9ydERlY2xhcmF0aW9uKGUscyk7dGhpcy51bmV4cGVjdGVkKCl9Zmxvd1BhcnNlRGVjbGFyZVZhcmlhYmxlKGUpe3JldHVybiB0aGlzLm5leHQoKSxlLmlkPXRoaXMuZmxvd1BhcnNlVHlwZUFubm90YXRhYmxlSWRlbnRpZmllcighMCksdGhpcy5zY29wZS5kZWNsYXJlTmFtZShlLmlkLm5hbWUsNSxlLmlkLmxvYy5zdGFydCksdGhpcy5zZW1pY29sb24oKSx0aGlzLmZpbmlzaE5vZGUoZSxcIkRlY2xhcmVWYXJpYWJsZVwiKX1mbG93UGFyc2VEZWNsYXJlTW9kdWxlKGUpe3RoaXMuc2NvcGUuZW50ZXIoMCksdGhpcy5tYXRjaCgxMzQpP2UuaWQ9c3VwZXIucGFyc2VFeHByQXRvbSgpOmUuaWQ9dGhpcy5wYXJzZUlkZW50aWZpZXIoKTtsZXQgcz1lLmJvZHk9dGhpcy5zdGFydE5vZGUoKSxpPXMuYm9keT1bXTtmb3IodGhpcy5leHBlY3QoNSk7IXRoaXMubWF0Y2goOCk7KXtsZXQgbz10aGlzLnN0YXJ0Tm9kZSgpO3RoaXMubWF0Y2goODMpPyh0aGlzLm5leHQoKSwhdGhpcy5pc0NvbnRleHR1YWwoMTMwKSYmIXRoaXMubWF0Y2goODcpJiZ0aGlzLnJhaXNlKGcuSW52YWxpZE5vblR5cGVJbXBvcnRJbkRlY2xhcmVNb2R1bGUsdGhpcy5zdGF0ZS5sYXN0VG9rU3RhcnRMb2MpLHN1cGVyLnBhcnNlSW1wb3J0KG8pKToodGhpcy5leHBlY3RDb250ZXh0dWFsKDEyNSxnLlVuc3VwcG9ydGVkU3RhdGVtZW50SW5EZWNsYXJlTW9kdWxlKSxvPXRoaXMuZmxvd1BhcnNlRGVjbGFyZShvLCEwKSksaS5wdXNoKG8pfXRoaXMuc2NvcGUuZXhpdCgpLHRoaXMuZXhwZWN0KDgpLHRoaXMuZmluaXNoTm9kZShzLFwiQmxvY2tTdGF0ZW1lbnRcIik7bGV0IHI9bnVsbCxuPSExO3JldHVybiBpLmZvckVhY2gobz0+e0ZpKG8pPyhyPT09XCJDb21tb25KU1wiJiZ0aGlzLnJhaXNlKGcuQW1iaWd1b3VzRGVjbGFyZU1vZHVsZUtpbmQsbykscj1cIkVTXCIpOm8udHlwZT09PVwiRGVjbGFyZU1vZHVsZUV4cG9ydHNcIiYmKG4mJnRoaXMucmFpc2UoZy5EdXBsaWNhdGVEZWNsYXJlTW9kdWxlRXhwb3J0cyxvKSxyPT09XCJFU1wiJiZ0aGlzLnJhaXNlKGcuQW1iaWd1b3VzRGVjbGFyZU1vZHVsZUtpbmQsbykscj1cIkNvbW1vbkpTXCIsbj0hMCl9KSxlLmtpbmQ9cnx8XCJDb21tb25KU1wiLHRoaXMuZmluaXNoTm9kZShlLFwiRGVjbGFyZU1vZHVsZVwiKX1mbG93UGFyc2VEZWNsYXJlRXhwb3J0RGVjbGFyYXRpb24oZSxzKXtpZih0aGlzLmV4cGVjdCg4MiksdGhpcy5lYXQoNjUpKXJldHVybiB0aGlzLm1hdGNoKDY4KXx8dGhpcy5tYXRjaCg4MCk/ZS5kZWNsYXJhdGlvbj10aGlzLmZsb3dQYXJzZURlY2xhcmUodGhpcy5zdGFydE5vZGUoKSk6KGUuZGVjbGFyYXRpb249dGhpcy5mbG93UGFyc2VUeXBlKCksdGhpcy5zZW1pY29sb24oKSksZS5kZWZhdWx0PSEwLHRoaXMuZmluaXNoTm9kZShlLFwiRGVjbGFyZUV4cG9ydERlY2xhcmF0aW9uXCIpO2lmKHRoaXMubWF0Y2goNzUpfHx0aGlzLmlzTGV0KCl8fCh0aGlzLmlzQ29udGV4dHVhbCgxMzApfHx0aGlzLmlzQ29udGV4dHVhbCgxMjkpKSYmIXMpe2xldCBpPXRoaXMuc3RhdGUudmFsdWU7dGhyb3cgdGhpcy5yYWlzZShnLlVuc3VwcG9ydGVkRGVjbGFyZUV4cG9ydEtpbmQsdGhpcy5zdGF0ZS5zdGFydExvYyx7dW5zdXBwb3J0ZWRFeHBvcnRLaW5kOmksc3VnZ2VzdGlvbjpCaVtpXX0pfWlmKHRoaXMubWF0Y2goNzQpfHx0aGlzLm1hdGNoKDY4KXx8dGhpcy5tYXRjaCg4MCl8fHRoaXMuaXNDb250ZXh0dWFsKDEzMSkpcmV0dXJuIGUuZGVjbGFyYXRpb249dGhpcy5mbG93UGFyc2VEZWNsYXJlKHRoaXMuc3RhcnROb2RlKCkpLGUuZGVmYXVsdD0hMSx0aGlzLmZpbmlzaE5vZGUoZSxcIkRlY2xhcmVFeHBvcnREZWNsYXJhdGlvblwiKTtpZih0aGlzLm1hdGNoKDU1KXx8dGhpcy5tYXRjaCg1KXx8dGhpcy5pc0NvbnRleHR1YWwoMTI5KXx8dGhpcy5pc0NvbnRleHR1YWwoMTMwKXx8dGhpcy5pc0NvbnRleHR1YWwoMTMxKSlyZXR1cm4gZT10aGlzLnBhcnNlRXhwb3J0KGUsbnVsbCksZS50eXBlPT09XCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCImJihlLnR5cGU9XCJFeHBvcnREZWNsYXJhdGlvblwiLGUuZGVmYXVsdD0hMSxkZWxldGUgZS5leHBvcnRLaW5kKSxlLnR5cGU9XCJEZWNsYXJlXCIrZS50eXBlLGU7dGhpcy51bmV4cGVjdGVkKCl9Zmxvd1BhcnNlRGVjbGFyZU1vZHVsZUV4cG9ydHMoZSl7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMuZXhwZWN0Q29udGV4dHVhbCgxMTEpLGUudHlwZUFubm90YXRpb249dGhpcy5mbG93UGFyc2VUeXBlQW5ub3RhdGlvbigpLHRoaXMuc2VtaWNvbG9uKCksdGhpcy5maW5pc2hOb2RlKGUsXCJEZWNsYXJlTW9kdWxlRXhwb3J0c1wiKX1mbG93UGFyc2VEZWNsYXJlVHlwZUFsaWFzKGUpe3RoaXMubmV4dCgpO2xldCBzPXRoaXMuZmxvd1BhcnNlVHlwZUFsaWFzKGUpO3JldHVybiBzLnR5cGU9XCJEZWNsYXJlVHlwZUFsaWFzXCIsc31mbG93UGFyc2VEZWNsYXJlT3BhcXVlVHlwZShlKXt0aGlzLm5leHQoKTtsZXQgcz10aGlzLmZsb3dQYXJzZU9wYXF1ZVR5cGUoZSwhMCk7cmV0dXJuIHMudHlwZT1cIkRlY2xhcmVPcGFxdWVUeXBlXCIsc31mbG93UGFyc2VEZWNsYXJlSW50ZXJmYWNlKGUpe3JldHVybiB0aGlzLm5leHQoKSx0aGlzLmZsb3dQYXJzZUludGVyZmFjZWlzaChlLCExKSx0aGlzLmZpbmlzaE5vZGUoZSxcIkRlY2xhcmVJbnRlcmZhY2VcIil9Zmxvd1BhcnNlSW50ZXJmYWNlaXNoKGUscyl7aWYoZS5pZD10aGlzLmZsb3dQYXJzZVJlc3RyaWN0ZWRJZGVudGlmaWVyKCFzLCEwKSx0aGlzLnNjb3BlLmRlY2xhcmVOYW1lKGUuaWQubmFtZSxzPzE3OjgyMDEsZS5pZC5sb2Muc3RhcnQpLHRoaXMubWF0Y2goNDcpP2UudHlwZVBhcmFtZXRlcnM9dGhpcy5mbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTplLnR5cGVQYXJhbWV0ZXJzPW51bGwsZS5leHRlbmRzPVtdLHRoaXMuZWF0KDgxKSlkbyBlLmV4dGVuZHMucHVzaCh0aGlzLmZsb3dQYXJzZUludGVyZmFjZUV4dGVuZHMoKSk7d2hpbGUoIXMmJnRoaXMuZWF0KDEyKSk7aWYocyl7aWYoZS5pbXBsZW1lbnRzPVtdLGUubWl4aW5zPVtdLHRoaXMuZWF0Q29udGV4dHVhbCgxMTcpKWRvIGUubWl4aW5zLnB1c2godGhpcy5mbG93UGFyc2VJbnRlcmZhY2VFeHRlbmRzKCkpO3doaWxlKHRoaXMuZWF0KDEyKSk7aWYodGhpcy5lYXRDb250ZXh0dWFsKDExMykpZG8gZS5pbXBsZW1lbnRzLnB1c2godGhpcy5mbG93UGFyc2VJbnRlcmZhY2VFeHRlbmRzKCkpO3doaWxlKHRoaXMuZWF0KDEyKSl9ZS5ib2R5PXRoaXMuZmxvd1BhcnNlT2JqZWN0VHlwZSh7YWxsb3dTdGF0aWM6cyxhbGxvd0V4YWN0OiExLGFsbG93U3ByZWFkOiExLGFsbG93UHJvdG86cyxhbGxvd0luZXhhY3Q6ITF9KX1mbG93UGFyc2VJbnRlcmZhY2VFeHRlbmRzKCl7bGV0IGU9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gZS5pZD10aGlzLmZsb3dQYXJzZVF1YWxpZmllZFR5cGVJZGVudGlmaWVyKCksdGhpcy5tYXRjaCg0Nyk/ZS50eXBlUGFyYW1ldGVycz10aGlzLmZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKCk6ZS50eXBlUGFyYW1ldGVycz1udWxsLHRoaXMuZmluaXNoTm9kZShlLFwiSW50ZXJmYWNlRXh0ZW5kc1wiKX1mbG93UGFyc2VJbnRlcmZhY2UoZSl7cmV0dXJuIHRoaXMuZmxvd1BhcnNlSW50ZXJmYWNlaXNoKGUsITEpLHRoaXMuZmluaXNoTm9kZShlLFwiSW50ZXJmYWNlRGVjbGFyYXRpb25cIil9Y2hlY2tOb3RVbmRlcnNjb3JlKGUpe2U9PT1cIl9cIiYmdGhpcy5yYWlzZShnLlVuZXhwZWN0ZWRSZXNlcnZlZFVuZGVyc2NvcmUsdGhpcy5zdGF0ZS5zdGFydExvYyl9Y2hlY2tSZXNlcnZlZFR5cGUoZSxzLGkpe09pLmhhcyhlKSYmdGhpcy5yYWlzZShpP2cuQXNzaWduUmVzZXJ2ZWRUeXBlOmcuVW5leHBlY3RlZFJlc2VydmVkVHlwZSxzLHtyZXNlcnZlZFR5cGU6ZX0pfWZsb3dQYXJzZVJlc3RyaWN0ZWRJZGVudGlmaWVyKGUscyl7cmV0dXJuIHRoaXMuY2hlY2tSZXNlcnZlZFR5cGUodGhpcy5zdGF0ZS52YWx1ZSx0aGlzLnN0YXRlLnN0YXJ0TG9jLHMpLHRoaXMucGFyc2VJZGVudGlmaWVyKGUpfWZsb3dQYXJzZVR5cGVBbGlhcyhlKXtyZXR1cm4gZS5pZD10aGlzLmZsb3dQYXJzZVJlc3RyaWN0ZWRJZGVudGlmaWVyKCExLCEwKSx0aGlzLnNjb3BlLmRlY2xhcmVOYW1lKGUuaWQubmFtZSw4MjAxLGUuaWQubG9jLnN0YXJ0KSx0aGlzLm1hdGNoKDQ3KT9lLnR5cGVQYXJhbWV0ZXJzPXRoaXMuZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCk6ZS50eXBlUGFyYW1ldGVycz1udWxsLGUucmlnaHQ9dGhpcy5mbG93UGFyc2VUeXBlSW5pdGlhbGlzZXIoMjkpLHRoaXMuc2VtaWNvbG9uKCksdGhpcy5maW5pc2hOb2RlKGUsXCJUeXBlQWxpYXNcIil9Zmxvd1BhcnNlT3BhcXVlVHlwZShlLHMpe3JldHVybiB0aGlzLmV4cGVjdENvbnRleHR1YWwoMTMwKSxlLmlkPXRoaXMuZmxvd1BhcnNlUmVzdHJpY3RlZElkZW50aWZpZXIoITAsITApLHRoaXMuc2NvcGUuZGVjbGFyZU5hbWUoZS5pZC5uYW1lLDgyMDEsZS5pZC5sb2Muc3RhcnQpLHRoaXMubWF0Y2goNDcpP2UudHlwZVBhcmFtZXRlcnM9dGhpcy5mbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTplLnR5cGVQYXJhbWV0ZXJzPW51bGwsZS5zdXBlcnR5cGU9bnVsbCx0aGlzLm1hdGNoKDE0KSYmKGUuc3VwZXJ0eXBlPXRoaXMuZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKDE0KSksZS5pbXBsdHlwZT1udWxsLHN8fChlLmltcGx0eXBlPXRoaXMuZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKDI5KSksdGhpcy5zZW1pY29sb24oKSx0aGlzLmZpbmlzaE5vZGUoZSxcIk9wYXF1ZVR5cGVcIil9Zmxvd1BhcnNlVHlwZVBhcmFtZXRlcihlPSExKXtsZXQgcz10aGlzLnN0YXRlLnN0YXJ0TG9jLGk9dGhpcy5zdGFydE5vZGUoKSxyPXRoaXMuZmxvd1BhcnNlVmFyaWFuY2UoKSxuPXRoaXMuZmxvd1BhcnNlVHlwZUFubm90YXRhYmxlSWRlbnRpZmllcigpO3JldHVybiBpLm5hbWU9bi5uYW1lLGkudmFyaWFuY2U9cixpLmJvdW5kPW4udHlwZUFubm90YXRpb24sdGhpcy5tYXRjaCgyOSk/KHRoaXMuZWF0KDI5KSxpLmRlZmF1bHQ9dGhpcy5mbG93UGFyc2VUeXBlKCkpOmUmJnRoaXMucmFpc2UoZy5NaXNzaW5nVHlwZVBhcmFtRGVmYXVsdCxzKSx0aGlzLmZpbmlzaE5vZGUoaSxcIlR5cGVQYXJhbWV0ZXJcIil9Zmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCl7bGV0IGU9dGhpcy5zdGF0ZS5pblR5cGUscz10aGlzLnN0YXJ0Tm9kZSgpO3MucGFyYW1zPVtdLHRoaXMuc3RhdGUuaW5UeXBlPSEwLHRoaXMubWF0Y2goNDcpfHx0aGlzLm1hdGNoKDE0Myk/dGhpcy5uZXh0KCk6dGhpcy51bmV4cGVjdGVkKCk7bGV0IGk9ITE7ZG97bGV0IHI9dGhpcy5mbG93UGFyc2VUeXBlUGFyYW1ldGVyKGkpO3MucGFyYW1zLnB1c2gociksci5kZWZhdWx0JiYoaT0hMCksdGhpcy5tYXRjaCg0OCl8fHRoaXMuZXhwZWN0KDEyKX13aGlsZSghdGhpcy5tYXRjaCg0OCkpO3JldHVybiB0aGlzLmV4cGVjdCg0OCksdGhpcy5zdGF0ZS5pblR5cGU9ZSx0aGlzLmZpbmlzaE5vZGUocyxcIlR5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvblwiKX1mbG93UGFyc2VUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbigpe2xldCBlPXRoaXMuc3RhcnROb2RlKCkscz10aGlzLnN0YXRlLmluVHlwZTtlLnBhcmFtcz1bXSx0aGlzLnN0YXRlLmluVHlwZT0hMCx0aGlzLmV4cGVjdCg0Nyk7bGV0IGk9dGhpcy5zdGF0ZS5ub0Fub25GdW5jdGlvblR5cGU7Zm9yKHRoaXMuc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlPSExOyF0aGlzLm1hdGNoKDQ4KTspZS5wYXJhbXMucHVzaCh0aGlzLmZsb3dQYXJzZVR5cGUoKSksdGhpcy5tYXRjaCg0OCl8fHRoaXMuZXhwZWN0KDEyKTtyZXR1cm4gdGhpcy5zdGF0ZS5ub0Fub25GdW5jdGlvblR5cGU9aSx0aGlzLmV4cGVjdCg0OCksdGhpcy5zdGF0ZS5pblR5cGU9cyx0aGlzLmZpbmlzaE5vZGUoZSxcIlR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uXCIpfWZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uQ2FsbE9yTmV3KCl7bGV0IGU9dGhpcy5zdGFydE5vZGUoKSxzPXRoaXMuc3RhdGUuaW5UeXBlO2ZvcihlLnBhcmFtcz1bXSx0aGlzLnN0YXRlLmluVHlwZT0hMCx0aGlzLmV4cGVjdCg0Nyk7IXRoaXMubWF0Y2goNDgpOyllLnBhcmFtcy5wdXNoKHRoaXMuZmxvd1BhcnNlVHlwZU9ySW1wbGljaXRJbnN0YW50aWF0aW9uKCkpLHRoaXMubWF0Y2goNDgpfHx0aGlzLmV4cGVjdCgxMik7cmV0dXJuIHRoaXMuZXhwZWN0KDQ4KSx0aGlzLnN0YXRlLmluVHlwZT1zLHRoaXMuZmluaXNoTm9kZShlLFwiVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb25cIil9Zmxvd1BhcnNlSW50ZXJmYWNlVHlwZSgpe2xldCBlPXRoaXMuc3RhcnROb2RlKCk7aWYodGhpcy5leHBlY3RDb250ZXh0dWFsKDEyOSksZS5leHRlbmRzPVtdLHRoaXMuZWF0KDgxKSlkbyBlLmV4dGVuZHMucHVzaCh0aGlzLmZsb3dQYXJzZUludGVyZmFjZUV4dGVuZHMoKSk7d2hpbGUodGhpcy5lYXQoMTIpKTtyZXR1cm4gZS5ib2R5PXRoaXMuZmxvd1BhcnNlT2JqZWN0VHlwZSh7YWxsb3dTdGF0aWM6ITEsYWxsb3dFeGFjdDohMSxhbGxvd1NwcmVhZDohMSxhbGxvd1Byb3RvOiExLGFsbG93SW5leGFjdDohMX0pLHRoaXMuZmluaXNoTm9kZShlLFwiSW50ZXJmYWNlVHlwZUFubm90YXRpb25cIil9Zmxvd1BhcnNlT2JqZWN0UHJvcGVydHlLZXkoKXtyZXR1cm4gdGhpcy5tYXRjaCgxMzUpfHx0aGlzLm1hdGNoKDEzNCk/c3VwZXIucGFyc2VFeHByQXRvbSgpOnRoaXMucGFyc2VJZGVudGlmaWVyKCEwKX1mbG93UGFyc2VPYmplY3RUeXBlSW5kZXhlcihlLHMsaSl7cmV0dXJuIGUuc3RhdGljPXMsdGhpcy5sb29rYWhlYWQoKS50eXBlPT09MTQ/KGUuaWQ9dGhpcy5mbG93UGFyc2VPYmplY3RQcm9wZXJ0eUtleSgpLGUua2V5PXRoaXMuZmxvd1BhcnNlVHlwZUluaXRpYWxpc2VyKCkpOihlLmlkPW51bGwsZS5rZXk9dGhpcy5mbG93UGFyc2VUeXBlKCkpLHRoaXMuZXhwZWN0KDMpLGUudmFsdWU9dGhpcy5mbG93UGFyc2VUeXBlSW5pdGlhbGlzZXIoKSxlLnZhcmlhbmNlPWksdGhpcy5maW5pc2hOb2RlKGUsXCJPYmplY3RUeXBlSW5kZXhlclwiKX1mbG93UGFyc2VPYmplY3RUeXBlSW50ZXJuYWxTbG90KGUscyl7cmV0dXJuIGUuc3RhdGljPXMsZS5pZD10aGlzLmZsb3dQYXJzZU9iamVjdFByb3BlcnR5S2V5KCksdGhpcy5leHBlY3QoMyksdGhpcy5leHBlY3QoMyksdGhpcy5tYXRjaCg0Nyl8fHRoaXMubWF0Y2goMTApPyhlLm1ldGhvZD0hMCxlLm9wdGlvbmFsPSExLGUudmFsdWU9dGhpcy5mbG93UGFyc2VPYmplY3RUeXBlTWV0aG9kaXNoKHRoaXMuc3RhcnROb2RlQXQoZS5sb2Muc3RhcnQpKSk6KGUubWV0aG9kPSExLHRoaXMuZWF0KDE3KSYmKGUub3B0aW9uYWw9ITApLGUudmFsdWU9dGhpcy5mbG93UGFyc2VUeXBlSW5pdGlhbGlzZXIoKSksdGhpcy5maW5pc2hOb2RlKGUsXCJPYmplY3RUeXBlSW50ZXJuYWxTbG90XCIpfWZsb3dQYXJzZU9iamVjdFR5cGVNZXRob2Rpc2goZSl7Zm9yKGUucGFyYW1zPVtdLGUucmVzdD1udWxsLGUudHlwZVBhcmFtZXRlcnM9bnVsbCxlLnRoaXM9bnVsbCx0aGlzLm1hdGNoKDQ3KSYmKGUudHlwZVBhcmFtZXRlcnM9dGhpcy5mbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKSksdGhpcy5leHBlY3QoMTApLHRoaXMubWF0Y2goNzgpJiYoZS50aGlzPXRoaXMuZmxvd1BhcnNlRnVuY3Rpb25UeXBlUGFyYW0oITApLGUudGhpcy5uYW1lPW51bGwsdGhpcy5tYXRjaCgxMSl8fHRoaXMuZXhwZWN0KDEyKSk7IXRoaXMubWF0Y2goMTEpJiYhdGhpcy5tYXRjaCgyMSk7KWUucGFyYW1zLnB1c2godGhpcy5mbG93UGFyc2VGdW5jdGlvblR5cGVQYXJhbSghMSkpLHRoaXMubWF0Y2goMTEpfHx0aGlzLmV4cGVjdCgxMik7cmV0dXJuIHRoaXMuZWF0KDIxKSYmKGUucmVzdD10aGlzLmZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtKCExKSksdGhpcy5leHBlY3QoMTEpLGUucmV0dXJuVHlwZT10aGlzLmZsb3dQYXJzZVR5cGVJbml0aWFsaXNlcigpLHRoaXMuZmluaXNoTm9kZShlLFwiRnVuY3Rpb25UeXBlQW5ub3RhdGlvblwiKX1mbG93UGFyc2VPYmplY3RUeXBlQ2FsbFByb3BlcnR5KGUscyl7bGV0IGk9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gZS5zdGF0aWM9cyxlLnZhbHVlPXRoaXMuZmxvd1BhcnNlT2JqZWN0VHlwZU1ldGhvZGlzaChpKSx0aGlzLmZpbmlzaE5vZGUoZSxcIk9iamVjdFR5cGVDYWxsUHJvcGVydHlcIil9Zmxvd1BhcnNlT2JqZWN0VHlwZSh7YWxsb3dTdGF0aWM6ZSxhbGxvd0V4YWN0OnMsYWxsb3dTcHJlYWQ6aSxhbGxvd1Byb3RvOnIsYWxsb3dJbmV4YWN0Om59KXtsZXQgbz10aGlzLnN0YXRlLmluVHlwZTt0aGlzLnN0YXRlLmluVHlwZT0hMDtsZXQgaD10aGlzLnN0YXJ0Tm9kZSgpO2guY2FsbFByb3BlcnRpZXM9W10saC5wcm9wZXJ0aWVzPVtdLGguaW5kZXhlcnM9W10saC5pbnRlcm5hbFNsb3RzPVtdO2xldCBsLGMsdT0hMTtmb3IocyYmdGhpcy5tYXRjaCg2KT8odGhpcy5leHBlY3QoNiksbD05LGM9ITApOih0aGlzLmV4cGVjdCg1KSxsPTgsYz0hMSksaC5leGFjdD1jOyF0aGlzLm1hdGNoKGwpOyl7bGV0IGQ9ITEseD1udWxsLFM9bnVsbCxOPXRoaXMuc3RhcnROb2RlKCk7aWYociYmdGhpcy5pc0NvbnRleHR1YWwoMTE4KSl7bGV0IEk9dGhpcy5sb29rYWhlYWQoKTtJLnR5cGUhPT0xNCYmSS50eXBlIT09MTcmJih0aGlzLm5leHQoKSx4PXRoaXMuc3RhdGUuc3RhcnRMb2MsZT0hMSl9aWYoZSYmdGhpcy5pc0NvbnRleHR1YWwoMTA2KSl7bGV0IEk9dGhpcy5sb29rYWhlYWQoKTtJLnR5cGUhPT0xNCYmSS50eXBlIT09MTcmJih0aGlzLm5leHQoKSxkPSEwKX1sZXQgdz10aGlzLmZsb3dQYXJzZVZhcmlhbmNlKCk7aWYodGhpcy5lYXQoMCkpeCE9bnVsbCYmdGhpcy51bmV4cGVjdGVkKHgpLHRoaXMuZWF0KDApPyh3JiZ0aGlzLnVuZXhwZWN0ZWQody5sb2Muc3RhcnQpLGguaW50ZXJuYWxTbG90cy5wdXNoKHRoaXMuZmxvd1BhcnNlT2JqZWN0VHlwZUludGVybmFsU2xvdChOLGQpKSk6aC5pbmRleGVycy5wdXNoKHRoaXMuZmxvd1BhcnNlT2JqZWN0VHlwZUluZGV4ZXIoTixkLHcpKTtlbHNlIGlmKHRoaXMubWF0Y2goMTApfHx0aGlzLm1hdGNoKDQ3KSl4IT1udWxsJiZ0aGlzLnVuZXhwZWN0ZWQoeCksdyYmdGhpcy51bmV4cGVjdGVkKHcubG9jLnN0YXJ0KSxoLmNhbGxQcm9wZXJ0aWVzLnB1c2godGhpcy5mbG93UGFyc2VPYmplY3RUeXBlQ2FsbFByb3BlcnR5KE4sZCkpO2Vsc2V7bGV0IEk9XCJpbml0XCI7aWYodGhpcy5pc0NvbnRleHR1YWwoOTkpfHx0aGlzLmlzQ29udGV4dHVhbCgxMDQpKXtsZXQgYWU9dGhpcy5sb29rYWhlYWQoKTtWdChhZS50eXBlKSYmKEk9dGhpcy5zdGF0ZS52YWx1ZSx0aGlzLm5leHQoKSl9bGV0IFRlPXRoaXMuZmxvd1BhcnNlT2JqZWN0VHlwZVByb3BlcnR5KE4sZCx4LHcsSSxpLG4/PyFjKTtUZT09PW51bGw/KHU9ITAsUz10aGlzLnN0YXRlLmxhc3RUb2tTdGFydExvYyk6aC5wcm9wZXJ0aWVzLnB1c2goVGUpfXRoaXMuZmxvd09iamVjdFR5cGVTZW1pY29sb24oKSxTJiYhdGhpcy5tYXRjaCg4KSYmIXRoaXMubWF0Y2goOSkmJnRoaXMucmFpc2UoZy5VbmV4cGVjdGVkRXhwbGljaXRJbmV4YWN0SW5PYmplY3QsUyl9dGhpcy5leHBlY3QobCksaSYmKGguaW5leGFjdD11KTtsZXQgZj10aGlzLmZpbmlzaE5vZGUoaCxcIk9iamVjdFR5cGVBbm5vdGF0aW9uXCIpO3JldHVybiB0aGlzLnN0YXRlLmluVHlwZT1vLGZ9Zmxvd1BhcnNlT2JqZWN0VHlwZVByb3BlcnR5KGUscyxpLHIsbixvLGgpe2lmKHRoaXMuZWF0KDIxKSlyZXR1cm4gdGhpcy5tYXRjaCgxMil8fHRoaXMubWF0Y2goMTMpfHx0aGlzLm1hdGNoKDgpfHx0aGlzLm1hdGNoKDkpPyhvP2h8fHRoaXMucmFpc2UoZy5JbmV4YWN0SW5zaWRlRXhhY3QsdGhpcy5zdGF0ZS5sYXN0VG9rU3RhcnRMb2MpOnRoaXMucmFpc2UoZy5JbmV4YWN0SW5zaWRlTm9uT2JqZWN0LHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jKSxyJiZ0aGlzLnJhaXNlKGcuSW5leGFjdFZhcmlhbmNlLHIpLG51bGwpOihvfHx0aGlzLnJhaXNlKGcuVW5leHBlY3RlZFNwcmVhZFR5cGUsdGhpcy5zdGF0ZS5sYXN0VG9rU3RhcnRMb2MpLGkhPW51bGwmJnRoaXMudW5leHBlY3RlZChpKSxyJiZ0aGlzLnJhaXNlKGcuU3ByZWFkVmFyaWFuY2UsciksZS5hcmd1bWVudD10aGlzLmZsb3dQYXJzZVR5cGUoKSx0aGlzLmZpbmlzaE5vZGUoZSxcIk9iamVjdFR5cGVTcHJlYWRQcm9wZXJ0eVwiKSk7e2Uua2V5PXRoaXMuZmxvd1BhcnNlT2JqZWN0UHJvcGVydHlLZXkoKSxlLnN0YXRpYz1zLGUucHJvdG89aSE9bnVsbCxlLmtpbmQ9bjtsZXQgbD0hMTtyZXR1cm4gdGhpcy5tYXRjaCg0Nyl8fHRoaXMubWF0Y2goMTApPyhlLm1ldGhvZD0hMCxpIT1udWxsJiZ0aGlzLnVuZXhwZWN0ZWQoaSksciYmdGhpcy51bmV4cGVjdGVkKHIubG9jLnN0YXJ0KSxlLnZhbHVlPXRoaXMuZmxvd1BhcnNlT2JqZWN0VHlwZU1ldGhvZGlzaCh0aGlzLnN0YXJ0Tm9kZUF0KGUubG9jLnN0YXJ0KSksKG49PT1cImdldFwifHxuPT09XCJzZXRcIikmJnRoaXMuZmxvd0NoZWNrR2V0dGVyU2V0dGVyUGFyYW1zKGUpLCFvJiZlLmtleS5uYW1lPT09XCJjb25zdHJ1Y3RvclwiJiZlLnZhbHVlLnRoaXMmJnRoaXMucmFpc2UoZy5UaGlzUGFyYW1CYW5uZWRJbkNvbnN0cnVjdG9yLGUudmFsdWUudGhpcykpOihuIT09XCJpbml0XCImJnRoaXMudW5leHBlY3RlZCgpLGUubWV0aG9kPSExLHRoaXMuZWF0KDE3KSYmKGw9ITApLGUudmFsdWU9dGhpcy5mbG93UGFyc2VUeXBlSW5pdGlhbGlzZXIoKSxlLnZhcmlhbmNlPXIpLGUub3B0aW9uYWw9bCx0aGlzLmZpbmlzaE5vZGUoZSxcIk9iamVjdFR5cGVQcm9wZXJ0eVwiKX19Zmxvd0NoZWNrR2V0dGVyU2V0dGVyUGFyYW1zKGUpe2xldCBzPWUua2luZD09PVwiZ2V0XCI/MDoxLGk9ZS52YWx1ZS5wYXJhbXMubGVuZ3RoKyhlLnZhbHVlLnJlc3Q/MTowKTtlLnZhbHVlLnRoaXMmJnRoaXMucmFpc2UoZS5raW5kPT09XCJnZXRcIj9nLkdldHRlck1heU5vdEhhdmVUaGlzUGFyYW06Zy5TZXR0ZXJNYXlOb3RIYXZlVGhpc1BhcmFtLGUudmFsdWUudGhpcyksaSE9PXMmJnRoaXMucmFpc2UoZS5raW5kPT09XCJnZXRcIj9wLkJhZEdldHRlckFyaXR5OnAuQmFkU2V0dGVyQXJpdHksZSksZS5raW5kPT09XCJzZXRcIiYmZS52YWx1ZS5yZXN0JiZ0aGlzLnJhaXNlKHAuQmFkU2V0dGVyUmVzdFBhcmFtZXRlcixlKX1mbG93T2JqZWN0VHlwZVNlbWljb2xvbigpeyF0aGlzLmVhdCgxMykmJiF0aGlzLmVhdCgxMikmJiF0aGlzLm1hdGNoKDgpJiYhdGhpcy5tYXRjaCg5KSYmdGhpcy51bmV4cGVjdGVkKCl9Zmxvd1BhcnNlUXVhbGlmaWVkVHlwZUlkZW50aWZpZXIoZSxzKXt2YXIgaTsoaT1lKSE9bnVsbHx8KGU9dGhpcy5zdGF0ZS5zdGFydExvYyk7bGV0IHI9c3x8dGhpcy5mbG93UGFyc2VSZXN0cmljdGVkSWRlbnRpZmllcighMCk7Zm9yKDt0aGlzLmVhdCgxNik7KXtsZXQgbj10aGlzLnN0YXJ0Tm9kZUF0KGUpO24ucXVhbGlmaWNhdGlvbj1yLG4uaWQ9dGhpcy5mbG93UGFyc2VSZXN0cmljdGVkSWRlbnRpZmllcighMCkscj10aGlzLmZpbmlzaE5vZGUobixcIlF1YWxpZmllZFR5cGVJZGVudGlmaWVyXCIpfXJldHVybiByfWZsb3dQYXJzZUdlbmVyaWNUeXBlKGUscyl7bGV0IGk9dGhpcy5zdGFydE5vZGVBdChlKTtyZXR1cm4gaS50eXBlUGFyYW1ldGVycz1udWxsLGkuaWQ9dGhpcy5mbG93UGFyc2VRdWFsaWZpZWRUeXBlSWRlbnRpZmllcihlLHMpLHRoaXMubWF0Y2goNDcpJiYoaS50eXBlUGFyYW1ldGVycz10aGlzLmZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKCkpLHRoaXMuZmluaXNoTm9kZShpLFwiR2VuZXJpY1R5cGVBbm5vdGF0aW9uXCIpfWZsb3dQYXJzZVR5cGVvZlR5cGUoKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLmV4cGVjdCg4NyksZS5hcmd1bWVudD10aGlzLmZsb3dQYXJzZVByaW1hcnlUeXBlKCksdGhpcy5maW5pc2hOb2RlKGUsXCJUeXBlb2ZUeXBlQW5ub3RhdGlvblwiKX1mbG93UGFyc2VUdXBsZVR5cGUoKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpO2ZvcihlLnR5cGVzPVtdLHRoaXMuZXhwZWN0KDApO3RoaXMuc3RhdGUucG9zPHRoaXMubGVuZ3RoJiYhdGhpcy5tYXRjaCgzKSYmKGUudHlwZXMucHVzaCh0aGlzLmZsb3dQYXJzZVR5cGUoKSksIXRoaXMubWF0Y2goMykpOyl0aGlzLmV4cGVjdCgxMik7cmV0dXJuIHRoaXMuZXhwZWN0KDMpLHRoaXMuZmluaXNoTm9kZShlLFwiVHVwbGVUeXBlQW5ub3RhdGlvblwiKX1mbG93UGFyc2VGdW5jdGlvblR5cGVQYXJhbShlKXtsZXQgcz1udWxsLGk9ITEscj1udWxsLG49dGhpcy5zdGFydE5vZGUoKSxvPXRoaXMubG9va2FoZWFkKCksaD10aGlzLnN0YXRlLnR5cGU9PT03ODtyZXR1cm4gby50eXBlPT09MTR8fG8udHlwZT09PTE3PyhoJiYhZSYmdGhpcy5yYWlzZShnLlRoaXNQYXJhbU11c3RCZUZpcnN0LG4pLHM9dGhpcy5wYXJzZUlkZW50aWZpZXIoaCksdGhpcy5lYXQoMTcpJiYoaT0hMCxoJiZ0aGlzLnJhaXNlKGcuVGhpc1BhcmFtTWF5Tm90QmVPcHRpb25hbCxuKSkscj10aGlzLmZsb3dQYXJzZVR5cGVJbml0aWFsaXNlcigpKTpyPXRoaXMuZmxvd1BhcnNlVHlwZSgpLG4ubmFtZT1zLG4ub3B0aW9uYWw9aSxuLnR5cGVBbm5vdGF0aW9uPXIsdGhpcy5maW5pc2hOb2RlKG4sXCJGdW5jdGlvblR5cGVQYXJhbVwiKX1yZWludGVycHJldFR5cGVBc0Z1bmN0aW9uVHlwZVBhcmFtKGUpe2xldCBzPXRoaXMuc3RhcnROb2RlQXQoZS5sb2Muc3RhcnQpO3JldHVybiBzLm5hbWU9bnVsbCxzLm9wdGlvbmFsPSExLHMudHlwZUFubm90YXRpb249ZSx0aGlzLmZpbmlzaE5vZGUocyxcIkZ1bmN0aW9uVHlwZVBhcmFtXCIpfWZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtcyhlPVtdKXtsZXQgcz1udWxsLGk9bnVsbDtmb3IodGhpcy5tYXRjaCg3OCkmJihpPXRoaXMuZmxvd1BhcnNlRnVuY3Rpb25UeXBlUGFyYW0oITApLGkubmFtZT1udWxsLHRoaXMubWF0Y2goMTEpfHx0aGlzLmV4cGVjdCgxMikpOyF0aGlzLm1hdGNoKDExKSYmIXRoaXMubWF0Y2goMjEpOyllLnB1c2godGhpcy5mbG93UGFyc2VGdW5jdGlvblR5cGVQYXJhbSghMSkpLHRoaXMubWF0Y2goMTEpfHx0aGlzLmV4cGVjdCgxMik7cmV0dXJuIHRoaXMuZWF0KDIxKSYmKHM9dGhpcy5mbG93UGFyc2VGdW5jdGlvblR5cGVQYXJhbSghMSkpLHtwYXJhbXM6ZSxyZXN0OnMsX3RoaXM6aX19Zmxvd0lkZW50VG9UeXBlQW5ub3RhdGlvbihlLHMsaSl7c3dpdGNoKGkubmFtZSl7Y2FzZVwiYW55XCI6cmV0dXJuIHRoaXMuZmluaXNoTm9kZShzLFwiQW55VHlwZUFubm90YXRpb25cIik7Y2FzZVwiYm9vbFwiOmNhc2VcImJvb2xlYW5cIjpyZXR1cm4gdGhpcy5maW5pc2hOb2RlKHMsXCJCb29sZWFuVHlwZUFubm90YXRpb25cIik7Y2FzZVwibWl4ZWRcIjpyZXR1cm4gdGhpcy5maW5pc2hOb2RlKHMsXCJNaXhlZFR5cGVBbm5vdGF0aW9uXCIpO2Nhc2VcImVtcHR5XCI6cmV0dXJuIHRoaXMuZmluaXNoTm9kZShzLFwiRW1wdHlUeXBlQW5ub3RhdGlvblwiKTtjYXNlXCJudW1iZXJcIjpyZXR1cm4gdGhpcy5maW5pc2hOb2RlKHMsXCJOdW1iZXJUeXBlQW5ub3RhdGlvblwiKTtjYXNlXCJzdHJpbmdcIjpyZXR1cm4gdGhpcy5maW5pc2hOb2RlKHMsXCJTdHJpbmdUeXBlQW5ub3RhdGlvblwiKTtjYXNlXCJzeW1ib2xcIjpyZXR1cm4gdGhpcy5maW5pc2hOb2RlKHMsXCJTeW1ib2xUeXBlQW5ub3RhdGlvblwiKTtkZWZhdWx0OnJldHVybiB0aGlzLmNoZWNrTm90VW5kZXJzY29yZShpLm5hbWUpLHRoaXMuZmxvd1BhcnNlR2VuZXJpY1R5cGUoZSxpKX19Zmxvd1BhcnNlUHJpbWFyeVR5cGUoKXtsZXQgZT10aGlzLnN0YXRlLnN0YXJ0TG9jLHM9dGhpcy5zdGFydE5vZGUoKSxpLHIsbj0hMSxvPXRoaXMuc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlO3N3aXRjaCh0aGlzLnN0YXRlLnR5cGUpe2Nhc2UgNTpyZXR1cm4gdGhpcy5mbG93UGFyc2VPYmplY3RUeXBlKHthbGxvd1N0YXRpYzohMSxhbGxvd0V4YWN0OiExLGFsbG93U3ByZWFkOiEwLGFsbG93UHJvdG86ITEsYWxsb3dJbmV4YWN0OiEwfSk7Y2FzZSA2OnJldHVybiB0aGlzLmZsb3dQYXJzZU9iamVjdFR5cGUoe2FsbG93U3RhdGljOiExLGFsbG93RXhhY3Q6ITAsYWxsb3dTcHJlYWQ6ITAsYWxsb3dQcm90bzohMSxhbGxvd0luZXhhY3Q6ITF9KTtjYXNlIDA6cmV0dXJuIHRoaXMuc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlPSExLHI9dGhpcy5mbG93UGFyc2VUdXBsZVR5cGUoKSx0aGlzLnN0YXRlLm5vQW5vbkZ1bmN0aW9uVHlwZT1vLHI7Y2FzZSA0Nzp7bGV0IGg9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gaC50eXBlUGFyYW1ldGVycz10aGlzLmZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvbigpLHRoaXMuZXhwZWN0KDEwKSxpPXRoaXMuZmxvd1BhcnNlRnVuY3Rpb25UeXBlUGFyYW1zKCksaC5wYXJhbXM9aS5wYXJhbXMsaC5yZXN0PWkucmVzdCxoLnRoaXM9aS5fdGhpcyx0aGlzLmV4cGVjdCgxMSksdGhpcy5leHBlY3QoMTkpLGgucmV0dXJuVHlwZT10aGlzLmZsb3dQYXJzZVR5cGUoKSx0aGlzLmZpbmlzaE5vZGUoaCxcIkZ1bmN0aW9uVHlwZUFubm90YXRpb25cIil9Y2FzZSAxMDp7bGV0IGg9dGhpcy5zdGFydE5vZGUoKTtpZih0aGlzLm5leHQoKSwhdGhpcy5tYXRjaCgxMSkmJiF0aGlzLm1hdGNoKDIxKSlpZihDKHRoaXMuc3RhdGUudHlwZSl8fHRoaXMubWF0Y2goNzgpKXtsZXQgbD10aGlzLmxvb2thaGVhZCgpLnR5cGU7bj1sIT09MTcmJmwhPT0xNH1lbHNlIG49ITA7aWYobil7aWYodGhpcy5zdGF0ZS5ub0Fub25GdW5jdGlvblR5cGU9ITEscj10aGlzLmZsb3dQYXJzZVR5cGUoKSx0aGlzLnN0YXRlLm5vQW5vbkZ1bmN0aW9uVHlwZT1vLHRoaXMuc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlfHwhKHRoaXMubWF0Y2goMTIpfHx0aGlzLm1hdGNoKDExKSYmdGhpcy5sb29rYWhlYWQoKS50eXBlPT09MTkpKXJldHVybiB0aGlzLmV4cGVjdCgxMSkscjt0aGlzLmVhdCgxMil9cmV0dXJuIHI/aT10aGlzLmZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtcyhbdGhpcy5yZWludGVycHJldFR5cGVBc0Z1bmN0aW9uVHlwZVBhcmFtKHIpXSk6aT10aGlzLmZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtcygpLGgucGFyYW1zPWkucGFyYW1zLGgucmVzdD1pLnJlc3QsaC50aGlzPWkuX3RoaXMsdGhpcy5leHBlY3QoMTEpLHRoaXMuZXhwZWN0KDE5KSxoLnJldHVyblR5cGU9dGhpcy5mbG93UGFyc2VUeXBlKCksaC50eXBlUGFyYW1ldGVycz1udWxsLHRoaXMuZmluaXNoTm9kZShoLFwiRnVuY3Rpb25UeXBlQW5ub3RhdGlvblwiKX1jYXNlIDEzNDpyZXR1cm4gdGhpcy5wYXJzZUxpdGVyYWwodGhpcy5zdGF0ZS52YWx1ZSxcIlN0cmluZ0xpdGVyYWxUeXBlQW5ub3RhdGlvblwiKTtjYXNlIDg1OmNhc2UgODY6cmV0dXJuIHMudmFsdWU9dGhpcy5tYXRjaCg4NSksdGhpcy5uZXh0KCksdGhpcy5maW5pc2hOb2RlKHMsXCJCb29sZWFuTGl0ZXJhbFR5cGVBbm5vdGF0aW9uXCIpO2Nhc2UgNTM6aWYodGhpcy5zdGF0ZS52YWx1ZT09PVwiLVwiKXtpZih0aGlzLm5leHQoKSx0aGlzLm1hdGNoKDEzNSkpcmV0dXJuIHRoaXMucGFyc2VMaXRlcmFsQXROb2RlKC10aGlzLnN0YXRlLnZhbHVlLFwiTnVtYmVyTGl0ZXJhbFR5cGVBbm5vdGF0aW9uXCIscyk7aWYodGhpcy5tYXRjaCgxMzYpKXJldHVybiB0aGlzLnBhcnNlTGl0ZXJhbEF0Tm9kZSgtdGhpcy5zdGF0ZS52YWx1ZSxcIkJpZ0ludExpdGVyYWxUeXBlQW5ub3RhdGlvblwiLHMpO3Rocm93IHRoaXMucmFpc2UoZy5VbmV4cGVjdGVkU3VidHJhY3Rpb25PcGVyYW5kLHRoaXMuc3RhdGUuc3RhcnRMb2MpfXRoaXMudW5leHBlY3RlZCgpO3JldHVybjtjYXNlIDEzNTpyZXR1cm4gdGhpcy5wYXJzZUxpdGVyYWwodGhpcy5zdGF0ZS52YWx1ZSxcIk51bWJlckxpdGVyYWxUeXBlQW5ub3RhdGlvblwiKTtjYXNlIDEzNjpyZXR1cm4gdGhpcy5wYXJzZUxpdGVyYWwodGhpcy5zdGF0ZS52YWx1ZSxcIkJpZ0ludExpdGVyYWxUeXBlQW5ub3RhdGlvblwiKTtjYXNlIDg4OnJldHVybiB0aGlzLm5leHQoKSx0aGlzLmZpbmlzaE5vZGUocyxcIlZvaWRUeXBlQW5ub3RhdGlvblwiKTtjYXNlIDg0OnJldHVybiB0aGlzLm5leHQoKSx0aGlzLmZpbmlzaE5vZGUocyxcIk51bGxMaXRlcmFsVHlwZUFubm90YXRpb25cIik7Y2FzZSA3ODpyZXR1cm4gdGhpcy5uZXh0KCksdGhpcy5maW5pc2hOb2RlKHMsXCJUaGlzVHlwZUFubm90YXRpb25cIik7Y2FzZSA1NTpyZXR1cm4gdGhpcy5uZXh0KCksdGhpcy5maW5pc2hOb2RlKHMsXCJFeGlzdHNUeXBlQW5ub3RhdGlvblwiKTtjYXNlIDg3OnJldHVybiB0aGlzLmZsb3dQYXJzZVR5cGVvZlR5cGUoKTtkZWZhdWx0OmlmKG10KHRoaXMuc3RhdGUudHlwZSkpe2xldCBoPXEodGhpcy5zdGF0ZS50eXBlKTtyZXR1cm4gdGhpcy5uZXh0KCksc3VwZXIuY3JlYXRlSWRlbnRpZmllcihzLGgpfWVsc2UgaWYoQyh0aGlzLnN0YXRlLnR5cGUpKXJldHVybiB0aGlzLmlzQ29udGV4dHVhbCgxMjkpP3RoaXMuZmxvd1BhcnNlSW50ZXJmYWNlVHlwZSgpOnRoaXMuZmxvd0lkZW50VG9UeXBlQW5ub3RhdGlvbihlLHMsdGhpcy5wYXJzZUlkZW50aWZpZXIoKSl9dGhpcy51bmV4cGVjdGVkKCl9Zmxvd1BhcnNlUG9zdGZpeFR5cGUoKXtsZXQgZT10aGlzLnN0YXRlLnN0YXJ0TG9jLHM9dGhpcy5mbG93UGFyc2VQcmltYXJ5VHlwZSgpLGk9ITE7Zm9yKDsodGhpcy5tYXRjaCgwKXx8dGhpcy5tYXRjaCgxOCkpJiYhdGhpcy5jYW5JbnNlcnRTZW1pY29sb24oKTspe2xldCByPXRoaXMuc3RhcnROb2RlQXQoZSksbj10aGlzLmVhdCgxOCk7aT1pfHxuLHRoaXMuZXhwZWN0KDApLCFuJiZ0aGlzLm1hdGNoKDMpPyhyLmVsZW1lbnRUeXBlPXMsdGhpcy5uZXh0KCkscz10aGlzLmZpbmlzaE5vZGUocixcIkFycmF5VHlwZUFubm90YXRpb25cIikpOihyLm9iamVjdFR5cGU9cyxyLmluZGV4VHlwZT10aGlzLmZsb3dQYXJzZVR5cGUoKSx0aGlzLmV4cGVjdCgzKSxpPyhyLm9wdGlvbmFsPW4scz10aGlzLmZpbmlzaE5vZGUocixcIk9wdGlvbmFsSW5kZXhlZEFjY2Vzc1R5cGVcIikpOnM9dGhpcy5maW5pc2hOb2RlKHIsXCJJbmRleGVkQWNjZXNzVHlwZVwiKSl9cmV0dXJuIHN9Zmxvd1BhcnNlUHJlZml4VHlwZSgpe2xldCBlPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIHRoaXMuZWF0KDE3KT8oZS50eXBlQW5ub3RhdGlvbj10aGlzLmZsb3dQYXJzZVByZWZpeFR5cGUoKSx0aGlzLmZpbmlzaE5vZGUoZSxcIk51bGxhYmxlVHlwZUFubm90YXRpb25cIikpOnRoaXMuZmxvd1BhcnNlUG9zdGZpeFR5cGUoKX1mbG93UGFyc2VBbm9uRnVuY3Rpb25XaXRob3V0UGFyZW5zKCl7bGV0IGU9dGhpcy5mbG93UGFyc2VQcmVmaXhUeXBlKCk7aWYoIXRoaXMuc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlJiZ0aGlzLmVhdCgxOSkpe2xldCBzPXRoaXMuc3RhcnROb2RlQXQoZS5sb2Muc3RhcnQpO3JldHVybiBzLnBhcmFtcz1bdGhpcy5yZWludGVycHJldFR5cGVBc0Z1bmN0aW9uVHlwZVBhcmFtKGUpXSxzLnJlc3Q9bnVsbCxzLnRoaXM9bnVsbCxzLnJldHVyblR5cGU9dGhpcy5mbG93UGFyc2VUeXBlKCkscy50eXBlUGFyYW1ldGVycz1udWxsLHRoaXMuZmluaXNoTm9kZShzLFwiRnVuY3Rpb25UeXBlQW5ub3RhdGlvblwiKX1yZXR1cm4gZX1mbG93UGFyc2VJbnRlcnNlY3Rpb25UeXBlKCl7bGV0IGU9dGhpcy5zdGFydE5vZGUoKTt0aGlzLmVhdCg0NSk7bGV0IHM9dGhpcy5mbG93UGFyc2VBbm9uRnVuY3Rpb25XaXRob3V0UGFyZW5zKCk7Zm9yKGUudHlwZXM9W3NdO3RoaXMuZWF0KDQ1KTspZS50eXBlcy5wdXNoKHRoaXMuZmxvd1BhcnNlQW5vbkZ1bmN0aW9uV2l0aG91dFBhcmVucygpKTtyZXR1cm4gZS50eXBlcy5sZW5ndGg9PT0xP3M6dGhpcy5maW5pc2hOb2RlKGUsXCJJbnRlcnNlY3Rpb25UeXBlQW5ub3RhdGlvblwiKX1mbG93UGFyc2VVbmlvblR5cGUoKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpO3RoaXMuZWF0KDQzKTtsZXQgcz10aGlzLmZsb3dQYXJzZUludGVyc2VjdGlvblR5cGUoKTtmb3IoZS50eXBlcz1bc107dGhpcy5lYXQoNDMpOyllLnR5cGVzLnB1c2godGhpcy5mbG93UGFyc2VJbnRlcnNlY3Rpb25UeXBlKCkpO3JldHVybiBlLnR5cGVzLmxlbmd0aD09PTE/czp0aGlzLmZpbmlzaE5vZGUoZSxcIlVuaW9uVHlwZUFubm90YXRpb25cIil9Zmxvd1BhcnNlVHlwZSgpe2xldCBlPXRoaXMuc3RhdGUuaW5UeXBlO3RoaXMuc3RhdGUuaW5UeXBlPSEwO2xldCBzPXRoaXMuZmxvd1BhcnNlVW5pb25UeXBlKCk7cmV0dXJuIHRoaXMuc3RhdGUuaW5UeXBlPWUsc31mbG93UGFyc2VUeXBlT3JJbXBsaWNpdEluc3RhbnRpYXRpb24oKXtpZih0aGlzLnN0YXRlLnR5cGU9PT0xMzImJnRoaXMuc3RhdGUudmFsdWU9PT1cIl9cIil7bGV0IGU9dGhpcy5zdGF0ZS5zdGFydExvYyxzPXRoaXMucGFyc2VJZGVudGlmaWVyKCk7cmV0dXJuIHRoaXMuZmxvd1BhcnNlR2VuZXJpY1R5cGUoZSxzKX1lbHNlIHJldHVybiB0aGlzLmZsb3dQYXJzZVR5cGUoKX1mbG93UGFyc2VUeXBlQW5ub3RhdGlvbigpe2xldCBlPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIGUudHlwZUFubm90YXRpb249dGhpcy5mbG93UGFyc2VUeXBlSW5pdGlhbGlzZXIoKSx0aGlzLmZpbmlzaE5vZGUoZSxcIlR5cGVBbm5vdGF0aW9uXCIpfWZsb3dQYXJzZVR5cGVBbm5vdGF0YWJsZUlkZW50aWZpZXIoZSl7bGV0IHM9ZT90aGlzLnBhcnNlSWRlbnRpZmllcigpOnRoaXMuZmxvd1BhcnNlUmVzdHJpY3RlZElkZW50aWZpZXIoKTtyZXR1cm4gdGhpcy5tYXRjaCgxNCkmJihzLnR5cGVBbm5vdGF0aW9uPXRoaXMuZmxvd1BhcnNlVHlwZUFubm90YXRpb24oKSx0aGlzLnJlc2V0RW5kTG9jYXRpb24ocykpLHN9dHlwZUNhc3RUb1BhcmFtZXRlcihlKXtyZXR1cm4gZS5leHByZXNzaW9uLnR5cGVBbm5vdGF0aW9uPWUudHlwZUFubm90YXRpb24sdGhpcy5yZXNldEVuZExvY2F0aW9uKGUuZXhwcmVzc2lvbixlLnR5cGVBbm5vdGF0aW9uLmxvYy5lbmQpLGUuZXhwcmVzc2lvbn1mbG93UGFyc2VWYXJpYW5jZSgpe2xldCBlPW51bGw7cmV0dXJuIHRoaXMubWF0Y2goNTMpPyhlPXRoaXMuc3RhcnROb2RlKCksdGhpcy5zdGF0ZS52YWx1ZT09PVwiK1wiP2Uua2luZD1cInBsdXNcIjplLmtpbmQ9XCJtaW51c1wiLHRoaXMubmV4dCgpLHRoaXMuZmluaXNoTm9kZShlLFwiVmFyaWFuY2VcIikpOmV9cGFyc2VGdW5jdGlvbkJvZHkoZSxzLGk9ITEpe2lmKHMpe3RoaXMuZm9yd2FyZE5vQXJyb3dQYXJhbXNDb252ZXJzaW9uQXQoZSwoKT0+c3VwZXIucGFyc2VGdW5jdGlvbkJvZHkoZSwhMCxpKSk7cmV0dXJufXN1cGVyLnBhcnNlRnVuY3Rpb25Cb2R5KGUsITEsaSl9cGFyc2VGdW5jdGlvbkJvZHlBbmRGaW5pc2goZSxzLGk9ITEpe2lmKHRoaXMubWF0Y2goMTQpKXtsZXQgcj10aGlzLnN0YXJ0Tm9kZSgpO1tyLnR5cGVBbm5vdGF0aW9uLGUucHJlZGljYXRlXT10aGlzLmZsb3dQYXJzZVR5cGVBbmRQcmVkaWNhdGVJbml0aWFsaXNlcigpLGUucmV0dXJuVHlwZT1yLnR5cGVBbm5vdGF0aW9uP3RoaXMuZmluaXNoTm9kZShyLFwiVHlwZUFubm90YXRpb25cIik6bnVsbH1yZXR1cm4gc3VwZXIucGFyc2VGdW5jdGlvbkJvZHlBbmRGaW5pc2goZSxzLGkpfXBhcnNlU3RhdGVtZW50TGlrZShlKXtpZih0aGlzLnN0YXRlLnN0cmljdCYmdGhpcy5pc0NvbnRleHR1YWwoMTI5KSl7bGV0IGk9dGhpcy5sb29rYWhlYWQoKTtpZihEKGkudHlwZSkpe2xldCByPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMuZmxvd1BhcnNlSW50ZXJmYWNlKHIpfX1lbHNlIGlmKHRoaXMuaXNDb250ZXh0dWFsKDEyNikpe2xldCBpPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMuZmxvd1BhcnNlRW51bURlY2xhcmF0aW9uKGkpfWxldCBzPXN1cGVyLnBhcnNlU3RhdGVtZW50TGlrZShlKTtyZXR1cm4gdGhpcy5mbG93UHJhZ21hPT09dm9pZCAwJiYhdGhpcy5pc1ZhbGlkRGlyZWN0aXZlKHMpJiYodGhpcy5mbG93UHJhZ21hPW51bGwpLHN9cGFyc2VFeHByZXNzaW9uU3RhdGVtZW50KGUscyxpKXtpZihzLnR5cGU9PT1cIklkZW50aWZpZXJcIil7aWYocy5uYW1lPT09XCJkZWNsYXJlXCIpe2lmKHRoaXMubWF0Y2goODApfHxDKHRoaXMuc3RhdGUudHlwZSl8fHRoaXMubWF0Y2goNjgpfHx0aGlzLm1hdGNoKDc0KXx8dGhpcy5tYXRjaCg4MikpcmV0dXJuIHRoaXMuZmxvd1BhcnNlRGVjbGFyZShlKX1lbHNlIGlmKEModGhpcy5zdGF0ZS50eXBlKSl7aWYocy5uYW1lPT09XCJpbnRlcmZhY2VcIilyZXR1cm4gdGhpcy5mbG93UGFyc2VJbnRlcmZhY2UoZSk7aWYocy5uYW1lPT09XCJ0eXBlXCIpcmV0dXJuIHRoaXMuZmxvd1BhcnNlVHlwZUFsaWFzKGUpO2lmKHMubmFtZT09PVwib3BhcXVlXCIpcmV0dXJuIHRoaXMuZmxvd1BhcnNlT3BhcXVlVHlwZShlLCExKX19cmV0dXJuIHN1cGVyLnBhcnNlRXhwcmVzc2lvblN0YXRlbWVudChlLHMsaSl9c2hvdWxkUGFyc2VFeHBvcnREZWNsYXJhdGlvbigpe2xldHt0eXBlOmV9PXRoaXMuc3RhdGU7cmV0dXJuIGU9PT0xMjZ8fER0KGUpPyF0aGlzLnN0YXRlLmNvbnRhaW5zRXNjOnN1cGVyLnNob3VsZFBhcnNlRXhwb3J0RGVjbGFyYXRpb24oKX1pc0V4cG9ydERlZmF1bHRTcGVjaWZpZXIoKXtsZXR7dHlwZTplfT10aGlzLnN0YXRlO3JldHVybiBlPT09MTI2fHxEdChlKT90aGlzLnN0YXRlLmNvbnRhaW5zRXNjOnN1cGVyLmlzRXhwb3J0RGVmYXVsdFNwZWNpZmllcigpfXBhcnNlRXhwb3J0RGVmYXVsdEV4cHJlc3Npb24oKXtpZih0aGlzLmlzQ29udGV4dHVhbCgxMjYpKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLm5leHQoKSx0aGlzLmZsb3dQYXJzZUVudW1EZWNsYXJhdGlvbihlKX1yZXR1cm4gc3VwZXIucGFyc2VFeHBvcnREZWZhdWx0RXhwcmVzc2lvbigpfXBhcnNlQ29uZGl0aW9uYWwoZSxzLGkpe2lmKCF0aGlzLm1hdGNoKDE3KSlyZXR1cm4gZTtpZih0aGlzLnN0YXRlLm1heWJlSW5BcnJvd1BhcmFtZXRlcnMpe2xldCBmPXRoaXMubG9va2FoZWFkQ2hhckNvZGUoKTtpZihmPT09NDR8fGY9PT02MXx8Zj09PTU4fHxmPT09NDEpcmV0dXJuIHRoaXMuc2V0T3B0aW9uYWxQYXJhbWV0ZXJzRXJyb3IoaSksZX10aGlzLmV4cGVjdCgxNyk7bGV0IHI9dGhpcy5zdGF0ZS5jbG9uZSgpLG49dGhpcy5zdGF0ZS5ub0Fycm93QXQsbz10aGlzLnN0YXJ0Tm9kZUF0KHMpLHtjb25zZXF1ZW50OmgsZmFpbGVkOmx9PXRoaXMudHJ5UGFyc2VDb25kaXRpb25hbENvbnNlcXVlbnQoKSxbYyx1XT10aGlzLmdldEFycm93TGlrZUV4cHJlc3Npb25zKGgpO2lmKGx8fHUubGVuZ3RoPjApe2xldCBmPVsuLi5uXTtpZih1Lmxlbmd0aD4wKXt0aGlzLnN0YXRlPXIsdGhpcy5zdGF0ZS5ub0Fycm93QXQ9Zjtmb3IobGV0IGQ9MDtkPHUubGVuZ3RoO2QrKylmLnB1c2godVtkXS5zdGFydCk7KHtjb25zZXF1ZW50OmgsZmFpbGVkOmx9PXRoaXMudHJ5UGFyc2VDb25kaXRpb25hbENvbnNlcXVlbnQoKSksW2MsdV09dGhpcy5nZXRBcnJvd0xpa2VFeHByZXNzaW9ucyhoKX1sJiZjLmxlbmd0aD4xJiZ0aGlzLnJhaXNlKGcuQW1iaWd1b3VzQ29uZGl0aW9uYWxBcnJvdyxyLnN0YXJ0TG9jKSxsJiZjLmxlbmd0aD09PTEmJih0aGlzLnN0YXRlPXIsZi5wdXNoKGNbMF0uc3RhcnQpLHRoaXMuc3RhdGUubm9BcnJvd0F0PWYse2NvbnNlcXVlbnQ6aCxmYWlsZWQ6bH09dGhpcy50cnlQYXJzZUNvbmRpdGlvbmFsQ29uc2VxdWVudCgpKX1yZXR1cm4gdGhpcy5nZXRBcnJvd0xpa2VFeHByZXNzaW9ucyhoLCEwKSx0aGlzLnN0YXRlLm5vQXJyb3dBdD1uLHRoaXMuZXhwZWN0KDE0KSxvLnRlc3Q9ZSxvLmNvbnNlcXVlbnQ9aCxvLmFsdGVybmF0ZT10aGlzLmZvcndhcmROb0Fycm93UGFyYW1zQ29udmVyc2lvbkF0KG8sKCk9PnRoaXMucGFyc2VNYXliZUFzc2lnbih2b2lkIDAsdm9pZCAwKSksdGhpcy5maW5pc2hOb2RlKG8sXCJDb25kaXRpb25hbEV4cHJlc3Npb25cIil9dHJ5UGFyc2VDb25kaXRpb25hbENvbnNlcXVlbnQoKXt0aGlzLnN0YXRlLm5vQXJyb3dQYXJhbXNDb252ZXJzaW9uQXQucHVzaCh0aGlzLnN0YXRlLnN0YXJ0KTtsZXQgZT10aGlzLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKCkscz0hdGhpcy5tYXRjaCgxNCk7cmV0dXJuIHRoaXMuc3RhdGUubm9BcnJvd1BhcmFtc0NvbnZlcnNpb25BdC5wb3AoKSx7Y29uc2VxdWVudDplLGZhaWxlZDpzfX1nZXRBcnJvd0xpa2VFeHByZXNzaW9ucyhlLHMpe2xldCBpPVtlXSxyPVtdO2Zvcig7aS5sZW5ndGghPT0wOyl7bGV0IG49aS5wb3AoKTtuLnR5cGU9PT1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCImJm4uYm9keS50eXBlIT09XCJCbG9ja1N0YXRlbWVudFwiPyhuLnR5cGVQYXJhbWV0ZXJzfHwhbi5yZXR1cm5UeXBlP3RoaXMuZmluaXNoQXJyb3dWYWxpZGF0aW9uKG4pOnIucHVzaChuKSxpLnB1c2gobi5ib2R5KSk6bi50eXBlPT09XCJDb25kaXRpb25hbEV4cHJlc3Npb25cIiYmKGkucHVzaChuLmNvbnNlcXVlbnQpLGkucHVzaChuLmFsdGVybmF0ZSkpfXJldHVybiBzPyhyLmZvckVhY2gobj0+dGhpcy5maW5pc2hBcnJvd1ZhbGlkYXRpb24obikpLFtyLFtdXSk6UmkocixuPT5uLnBhcmFtcy5ldmVyeShvPT50aGlzLmlzQXNzaWduYWJsZShvLCEwKSkpfWZpbmlzaEFycm93VmFsaWRhdGlvbihlKXt2YXIgczt0aGlzLnRvQXNzaWduYWJsZUxpc3QoZS5wYXJhbXMsKHM9ZS5leHRyYSk9PW51bGw/dm9pZCAwOnMudHJhaWxpbmdDb21tYUxvYywhMSksdGhpcy5zY29wZS5lbnRlcig2KSxzdXBlci5jaGVja1BhcmFtcyhlLCExLCEwKSx0aGlzLnNjb3BlLmV4aXQoKX1mb3J3YXJkTm9BcnJvd1BhcmFtc0NvbnZlcnNpb25BdChlLHMpe2xldCBpO3JldHVybiB0aGlzLnN0YXRlLm5vQXJyb3dQYXJhbXNDb252ZXJzaW9uQXQuaW5jbHVkZXModGhpcy5vZmZzZXRUb1NvdXJjZVBvcyhlLnN0YXJ0KSk/KHRoaXMuc3RhdGUubm9BcnJvd1BhcmFtc0NvbnZlcnNpb25BdC5wdXNoKHRoaXMuc3RhdGUuc3RhcnQpLGk9cygpLHRoaXMuc3RhdGUubm9BcnJvd1BhcmFtc0NvbnZlcnNpb25BdC5wb3AoKSk6aT1zKCksaX1wYXJzZVBhcmVuSXRlbShlLHMpe2xldCBpPXN1cGVyLnBhcnNlUGFyZW5JdGVtKGUscyk7aWYodGhpcy5lYXQoMTcpJiYoaS5vcHRpb25hbD0hMCx0aGlzLnJlc2V0RW5kTG9jYXRpb24oZSkpLHRoaXMubWF0Y2goMTQpKXtsZXQgcj10aGlzLnN0YXJ0Tm9kZUF0KHMpO3JldHVybiByLmV4cHJlc3Npb249aSxyLnR5cGVBbm5vdGF0aW9uPXRoaXMuZmxvd1BhcnNlVHlwZUFubm90YXRpb24oKSx0aGlzLmZpbmlzaE5vZGUocixcIlR5cGVDYXN0RXhwcmVzc2lvblwiKX1yZXR1cm4gaX1hc3NlcnRNb2R1bGVOb2RlQWxsb3dlZChlKXtlLnR5cGU9PT1cIkltcG9ydERlY2xhcmF0aW9uXCImJihlLmltcG9ydEtpbmQ9PT1cInR5cGVcInx8ZS5pbXBvcnRLaW5kPT09XCJ0eXBlb2ZcIil8fGUudHlwZT09PVwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiJiZlLmV4cG9ydEtpbmQ9PT1cInR5cGVcInx8ZS50eXBlPT09XCJFeHBvcnRBbGxEZWNsYXJhdGlvblwiJiZlLmV4cG9ydEtpbmQ9PT1cInR5cGVcInx8c3VwZXIuYXNzZXJ0TW9kdWxlTm9kZUFsbG93ZWQoZSl9cGFyc2VFeHBvcnREZWNsYXJhdGlvbihlKXtpZih0aGlzLmlzQ29udGV4dHVhbCgxMzApKXtlLmV4cG9ydEtpbmQ9XCJ0eXBlXCI7bGV0IHM9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdGhpcy5uZXh0KCksdGhpcy5tYXRjaCg1KT8oZS5zcGVjaWZpZXJzPXRoaXMucGFyc2VFeHBvcnRTcGVjaWZpZXJzKCEwKSxzdXBlci5wYXJzZUV4cG9ydEZyb20oZSksbnVsbCk6dGhpcy5mbG93UGFyc2VUeXBlQWxpYXMocyl9ZWxzZSBpZih0aGlzLmlzQ29udGV4dHVhbCgxMzEpKXtlLmV4cG9ydEtpbmQ9XCJ0eXBlXCI7bGV0IHM9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdGhpcy5uZXh0KCksdGhpcy5mbG93UGFyc2VPcGFxdWVUeXBlKHMsITEpfWVsc2UgaWYodGhpcy5pc0NvbnRleHR1YWwoMTI5KSl7ZS5leHBvcnRLaW5kPVwidHlwZVwiO2xldCBzPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMuZmxvd1BhcnNlSW50ZXJmYWNlKHMpfWVsc2UgaWYodGhpcy5pc0NvbnRleHR1YWwoMTI2KSl7ZS5leHBvcnRLaW5kPVwidmFsdWVcIjtsZXQgcz10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLm5leHQoKSx0aGlzLmZsb3dQYXJzZUVudW1EZWNsYXJhdGlvbihzKX1lbHNlIHJldHVybiBzdXBlci5wYXJzZUV4cG9ydERlY2xhcmF0aW9uKGUpfWVhdEV4cG9ydFN0YXIoZSl7cmV0dXJuIHN1cGVyLmVhdEV4cG9ydFN0YXIoZSk/ITA6dGhpcy5pc0NvbnRleHR1YWwoMTMwKSYmdGhpcy5sb29rYWhlYWQoKS50eXBlPT09NTU/KGUuZXhwb3J0S2luZD1cInR5cGVcIix0aGlzLm5leHQoKSx0aGlzLm5leHQoKSwhMCk6ITF9bWF5YmVQYXJzZUV4cG9ydE5hbWVzcGFjZVNwZWNpZmllcihlKXtsZXR7c3RhcnRMb2M6c309dGhpcy5zdGF0ZSxpPXN1cGVyLm1heWJlUGFyc2VFeHBvcnROYW1lc3BhY2VTcGVjaWZpZXIoZSk7cmV0dXJuIGkmJmUuZXhwb3J0S2luZD09PVwidHlwZVwiJiZ0aGlzLnVuZXhwZWN0ZWQocyksaX1wYXJzZUNsYXNzSWQoZSxzLGkpe3N1cGVyLnBhcnNlQ2xhc3NJZChlLHMsaSksdGhpcy5tYXRjaCg0NykmJihlLnR5cGVQYXJhbWV0ZXJzPXRoaXMuZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCkpfXBhcnNlQ2xhc3NNZW1iZXIoZSxzLGkpe2xldHtzdGFydExvYzpyfT10aGlzLnN0YXRlO2lmKHRoaXMuaXNDb250ZXh0dWFsKDEyNSkpe2lmKHN1cGVyLnBhcnNlQ2xhc3NNZW1iZXJGcm9tTW9kaWZpZXIoZSxzKSlyZXR1cm47cy5kZWNsYXJlPSEwfXN1cGVyLnBhcnNlQ2xhc3NNZW1iZXIoZSxzLGkpLHMuZGVjbGFyZSYmKHMudHlwZSE9PVwiQ2xhc3NQcm9wZXJ0eVwiJiZzLnR5cGUhPT1cIkNsYXNzUHJpdmF0ZVByb3BlcnR5XCImJnMudHlwZSE9PVwiUHJvcGVydHlEZWZpbml0aW9uXCI/dGhpcy5yYWlzZShnLkRlY2xhcmVDbGFzc0VsZW1lbnQscik6cy52YWx1ZSYmdGhpcy5yYWlzZShnLkRlY2xhcmVDbGFzc0ZpZWxkSW5pdGlhbGl6ZXIscy52YWx1ZSkpfWlzSXRlcmF0b3IoZSl7cmV0dXJuIGU9PT1cIml0ZXJhdG9yXCJ8fGU9PT1cImFzeW5jSXRlcmF0b3JcIn1yZWFkSXRlcmF0b3IoKXtsZXQgZT1zdXBlci5yZWFkV29yZDEoKSxzPVwiQEBcIitlOyghdGhpcy5pc0l0ZXJhdG9yKGUpfHwhdGhpcy5zdGF0ZS5pblR5cGUpJiZ0aGlzLnJhaXNlKHAuSW52YWxpZElkZW50aWZpZXIsdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpLHtpZGVudGlmaWVyTmFtZTpzfSksdGhpcy5maW5pc2hUb2tlbigxMzIscyl9Z2V0VG9rZW5Gcm9tQ29kZShlKXtsZXQgcz10aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MrMSk7ZT09PTEyMyYmcz09PTEyND90aGlzLmZpbmlzaE9wKDYsMik6dGhpcy5zdGF0ZS5pblR5cGUmJihlPT09NjJ8fGU9PT02MCk/dGhpcy5maW5pc2hPcChlPT09NjI/NDg6NDcsMSk6dGhpcy5zdGF0ZS5pblR5cGUmJmU9PT02Mz9zPT09NDY/dGhpcy5maW5pc2hPcCgxOCwyKTp0aGlzLmZpbmlzaE9wKDE3LDEpOmdpKGUscyx0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MrMikpPyh0aGlzLnN0YXRlLnBvcys9Mix0aGlzLnJlYWRJdGVyYXRvcigpKTpzdXBlci5nZXRUb2tlbkZyb21Db2RlKGUpfWlzQXNzaWduYWJsZShlLHMpe3JldHVybiBlLnR5cGU9PT1cIlR5cGVDYXN0RXhwcmVzc2lvblwiP3RoaXMuaXNBc3NpZ25hYmxlKGUuZXhwcmVzc2lvbixzKTpzdXBlci5pc0Fzc2lnbmFibGUoZSxzKX10b0Fzc2lnbmFibGUoZSxzPSExKXshcyYmZS50eXBlPT09XCJBc3NpZ25tZW50RXhwcmVzc2lvblwiJiZlLmxlZnQudHlwZT09PVwiVHlwZUNhc3RFeHByZXNzaW9uXCImJihlLmxlZnQ9dGhpcy50eXBlQ2FzdFRvUGFyYW1ldGVyKGUubGVmdCkpLHN1cGVyLnRvQXNzaWduYWJsZShlLHMpfXRvQXNzaWduYWJsZUxpc3QoZSxzLGkpe2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKXtsZXQgbj1lW3JdOyhuPT1udWxsP3ZvaWQgMDpuLnR5cGUpPT09XCJUeXBlQ2FzdEV4cHJlc3Npb25cIiYmKGVbcl09dGhpcy50eXBlQ2FzdFRvUGFyYW1ldGVyKG4pKX1zdXBlci50b0Fzc2lnbmFibGVMaXN0KGUscyxpKX10b1JlZmVyZW5jZWRMaXN0KGUscyl7Zm9yKGxldCByPTA7cjxlLmxlbmd0aDtyKyspe3ZhciBpO2xldCBuPWVbcl07biYmbi50eXBlPT09XCJUeXBlQ2FzdEV4cHJlc3Npb25cIiYmISgoaT1uLmV4dHJhKSE9bnVsbCYmaS5wYXJlbnRoZXNpemVkKSYmKGUubGVuZ3RoPjF8fCFzKSYmdGhpcy5yYWlzZShnLlR5cGVDYXN0SW5QYXR0ZXJuLG4udHlwZUFubm90YXRpb24pfXJldHVybiBlfXBhcnNlQXJyYXlMaWtlKGUscyxpLHIpe2xldCBuPXN1cGVyLnBhcnNlQXJyYXlMaWtlKGUscyxpLHIpO3JldHVybiBzJiYhdGhpcy5zdGF0ZS5tYXliZUluQXJyb3dQYXJhbWV0ZXJzJiZ0aGlzLnRvUmVmZXJlbmNlZExpc3Qobi5lbGVtZW50cyksbn1pc1ZhbGlkTFZhbChlLHMsaSl7cmV0dXJuIGU9PT1cIlR5cGVDYXN0RXhwcmVzc2lvblwifHxzdXBlci5pc1ZhbGlkTFZhbChlLHMsaSl9cGFyc2VDbGFzc1Byb3BlcnR5KGUpe3JldHVybiB0aGlzLm1hdGNoKDE0KSYmKGUudHlwZUFubm90YXRpb249dGhpcy5mbG93UGFyc2VUeXBlQW5ub3RhdGlvbigpKSxzdXBlci5wYXJzZUNsYXNzUHJvcGVydHkoZSl9cGFyc2VDbGFzc1ByaXZhdGVQcm9wZXJ0eShlKXtyZXR1cm4gdGhpcy5tYXRjaCgxNCkmJihlLnR5cGVBbm5vdGF0aW9uPXRoaXMuZmxvd1BhcnNlVHlwZUFubm90YXRpb24oKSksc3VwZXIucGFyc2VDbGFzc1ByaXZhdGVQcm9wZXJ0eShlKX1pc0NsYXNzTWV0aG9kKCl7cmV0dXJuIHRoaXMubWF0Y2goNDcpfHxzdXBlci5pc0NsYXNzTWV0aG9kKCl9aXNDbGFzc1Byb3BlcnR5KCl7cmV0dXJuIHRoaXMubWF0Y2goMTQpfHxzdXBlci5pc0NsYXNzUHJvcGVydHkoKX1pc05vbnN0YXRpY0NvbnN0cnVjdG9yKGUpe3JldHVybiF0aGlzLm1hdGNoKDE0KSYmc3VwZXIuaXNOb25zdGF0aWNDb25zdHJ1Y3RvcihlKX1wdXNoQ2xhc3NNZXRob2QoZSxzLGkscixuLG8pe2lmKHMudmFyaWFuY2UmJnRoaXMudW5leHBlY3RlZChzLnZhcmlhbmNlLmxvYy5zdGFydCksZGVsZXRlIHMudmFyaWFuY2UsdGhpcy5tYXRjaCg0NykmJihzLnR5cGVQYXJhbWV0ZXJzPXRoaXMuZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCkpLHN1cGVyLnB1c2hDbGFzc01ldGhvZChlLHMsaSxyLG4sbykscy5wYXJhbXMmJm4pe2xldCBoPXMucGFyYW1zO2gubGVuZ3RoPjAmJnRoaXMuaXNUaGlzUGFyYW0oaFswXSkmJnRoaXMucmFpc2UoZy5UaGlzUGFyYW1CYW5uZWRJbkNvbnN0cnVjdG9yLHMpfWVsc2UgaWYocy50eXBlPT09XCJNZXRob2REZWZpbml0aW9uXCImJm4mJnMudmFsdWUucGFyYW1zKXtsZXQgaD1zLnZhbHVlLnBhcmFtcztoLmxlbmd0aD4wJiZ0aGlzLmlzVGhpc1BhcmFtKGhbMF0pJiZ0aGlzLnJhaXNlKGcuVGhpc1BhcmFtQmFubmVkSW5Db25zdHJ1Y3RvcixzKX19cHVzaENsYXNzUHJpdmF0ZU1ldGhvZChlLHMsaSxyKXtzLnZhcmlhbmNlJiZ0aGlzLnVuZXhwZWN0ZWQocy52YXJpYW5jZS5sb2Muc3RhcnQpLGRlbGV0ZSBzLnZhcmlhbmNlLHRoaXMubWF0Y2goNDcpJiYocy50eXBlUGFyYW1ldGVycz10aGlzLmZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvbigpKSxzdXBlci5wdXNoQ2xhc3NQcml2YXRlTWV0aG9kKGUscyxpLHIpfXBhcnNlQ2xhc3NTdXBlcihlKXtpZihzdXBlci5wYXJzZUNsYXNzU3VwZXIoZSksZS5zdXBlckNsYXNzJiZ0aGlzLm1hdGNoKDQ3KSYmKGUuc3VwZXJUeXBlUGFyYW1ldGVycz10aGlzLmZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKCkpLHRoaXMuaXNDb250ZXh0dWFsKDExMykpe3RoaXMubmV4dCgpO2xldCBzPWUuaW1wbGVtZW50cz1bXTtkb3tsZXQgaT10aGlzLnN0YXJ0Tm9kZSgpO2kuaWQ9dGhpcy5mbG93UGFyc2VSZXN0cmljdGVkSWRlbnRpZmllcighMCksdGhpcy5tYXRjaCg0Nyk/aS50eXBlUGFyYW1ldGVycz10aGlzLmZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKCk6aS50eXBlUGFyYW1ldGVycz1udWxsLHMucHVzaCh0aGlzLmZpbmlzaE5vZGUoaSxcIkNsYXNzSW1wbGVtZW50c1wiKSl9d2hpbGUodGhpcy5lYXQoMTIpKX19Y2hlY2tHZXR0ZXJTZXR0ZXJQYXJhbXMoZSl7c3VwZXIuY2hlY2tHZXR0ZXJTZXR0ZXJQYXJhbXMoZSk7bGV0IHM9dGhpcy5nZXRPYmplY3RPckNsYXNzTWV0aG9kUGFyYW1zKGUpO2lmKHMubGVuZ3RoPjApe2xldCBpPXNbMF07dGhpcy5pc1RoaXNQYXJhbShpKSYmZS5raW5kPT09XCJnZXRcIj90aGlzLnJhaXNlKGcuR2V0dGVyTWF5Tm90SGF2ZVRoaXNQYXJhbSxpKTp0aGlzLmlzVGhpc1BhcmFtKGkpJiZ0aGlzLnJhaXNlKGcuU2V0dGVyTWF5Tm90SGF2ZVRoaXNQYXJhbSxpKX19cGFyc2VQcm9wZXJ0eU5hbWVQcmVmaXhPcGVyYXRvcihlKXtlLnZhcmlhbmNlPXRoaXMuZmxvd1BhcnNlVmFyaWFuY2UoKX1wYXJzZU9ialByb3BWYWx1ZShlLHMsaSxyLG4sbyxoKXtlLnZhcmlhbmNlJiZ0aGlzLnVuZXhwZWN0ZWQoZS52YXJpYW5jZS5sb2Muc3RhcnQpLGRlbGV0ZSBlLnZhcmlhbmNlO2xldCBsO3RoaXMubWF0Y2goNDcpJiYhbyYmKGw9dGhpcy5mbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKSx0aGlzLm1hdGNoKDEwKXx8dGhpcy51bmV4cGVjdGVkKCkpO2xldCBjPXN1cGVyLnBhcnNlT2JqUHJvcFZhbHVlKGUscyxpLHIsbixvLGgpO3JldHVybiBsJiYoKGMudmFsdWV8fGMpLnR5cGVQYXJhbWV0ZXJzPWwpLGN9cGFyc2VGdW5jdGlvblBhcmFtVHlwZShlKXtyZXR1cm4gdGhpcy5lYXQoMTcpJiYoZS50eXBlIT09XCJJZGVudGlmaWVyXCImJnRoaXMucmFpc2UoZy5QYXR0ZXJuSXNPcHRpb25hbCxlKSx0aGlzLmlzVGhpc1BhcmFtKGUpJiZ0aGlzLnJhaXNlKGcuVGhpc1BhcmFtTWF5Tm90QmVPcHRpb25hbCxlKSxlLm9wdGlvbmFsPSEwKSx0aGlzLm1hdGNoKDE0KT9lLnR5cGVBbm5vdGF0aW9uPXRoaXMuZmxvd1BhcnNlVHlwZUFubm90YXRpb24oKTp0aGlzLmlzVGhpc1BhcmFtKGUpJiZ0aGlzLnJhaXNlKGcuVGhpc1BhcmFtQW5ub3RhdGlvblJlcXVpcmVkLGUpLHRoaXMubWF0Y2goMjkpJiZ0aGlzLmlzVGhpc1BhcmFtKGUpJiZ0aGlzLnJhaXNlKGcuVGhpc1BhcmFtTm9EZWZhdWx0LGUpLHRoaXMucmVzZXRFbmRMb2NhdGlvbihlKSxlfXBhcnNlTWF5YmVEZWZhdWx0KGUscyl7bGV0IGk9c3VwZXIucGFyc2VNYXliZURlZmF1bHQoZSxzKTtyZXR1cm4gaS50eXBlPT09XCJBc3NpZ25tZW50UGF0dGVyblwiJiZpLnR5cGVBbm5vdGF0aW9uJiZpLnJpZ2h0LnN0YXJ0PGkudHlwZUFubm90YXRpb24uc3RhcnQmJnRoaXMucmFpc2UoZy5UeXBlQmVmb3JlSW5pdGlhbGl6ZXIsaS50eXBlQW5ub3RhdGlvbiksaX1jaGVja0ltcG9ydFJlZmxlY3Rpb24oZSl7c3VwZXIuY2hlY2tJbXBvcnRSZWZsZWN0aW9uKGUpLGUubW9kdWxlJiZlLmltcG9ydEtpbmQhPT1cInZhbHVlXCImJnRoaXMucmFpc2UoZy5JbXBvcnRSZWZsZWN0aW9uSGFzSW1wb3J0VHlwZSxlLnNwZWNpZmllcnNbMF0ubG9jLnN0YXJ0KX1wYXJzZUltcG9ydFNwZWNpZmllckxvY2FsKGUscyxpKXtzLmxvY2FsPUJ0KGUpP3RoaXMuZmxvd1BhcnNlUmVzdHJpY3RlZElkZW50aWZpZXIoITAsITApOnRoaXMucGFyc2VJZGVudGlmaWVyKCksZS5zcGVjaWZpZXJzLnB1c2godGhpcy5maW5pc2hJbXBvcnRTcGVjaWZpZXIocyxpKSl9aXNQb3RlbnRpYWxJbXBvcnRQaGFzZShlKXtpZihzdXBlci5pc1BvdGVudGlhbEltcG9ydFBoYXNlKGUpKXJldHVybiEwO2lmKHRoaXMuaXNDb250ZXh0dWFsKDEzMCkpe2lmKCFlKXJldHVybiEwO2xldCBzPXRoaXMubG9va2FoZWFkQ2hhckNvZGUoKTtyZXR1cm4gcz09PTEyM3x8cz09PTQyfXJldHVybiFlJiZ0aGlzLmlzQ29udGV4dHVhbCg4Nyl9YXBwbHlJbXBvcnRQaGFzZShlLHMsaSxyKXtpZihzdXBlci5hcHBseUltcG9ydFBoYXNlKGUscyxpLHIpLHMpe2lmKCFpJiZ0aGlzLm1hdGNoKDY1KSlyZXR1cm47ZS5leHBvcnRLaW5kPWk9PT1cInR5cGVcIj9pOlwidmFsdWVcIn1lbHNlIGk9PT1cInR5cGVcIiYmdGhpcy5tYXRjaCg1NSkmJnRoaXMudW5leHBlY3RlZCgpLGUuaW1wb3J0S2luZD1pPT09XCJ0eXBlXCJ8fGk9PT1cInR5cGVvZlwiP2k6XCJ2YWx1ZVwifXBhcnNlSW1wb3J0U3BlY2lmaWVyKGUscyxpLHIsbil7bGV0IG89ZS5pbXBvcnRlZCxoPW51bGw7by50eXBlPT09XCJJZGVudGlmaWVyXCImJihvLm5hbWU9PT1cInR5cGVcIj9oPVwidHlwZVwiOm8ubmFtZT09PVwidHlwZW9mXCImJihoPVwidHlwZW9mXCIpKTtsZXQgbD0hMTtpZih0aGlzLmlzQ29udGV4dHVhbCg5MykmJiF0aGlzLmlzTG9va2FoZWFkQ29udGV4dHVhbChcImFzXCIpKXtsZXQgdT10aGlzLnBhcnNlSWRlbnRpZmllcighMCk7aCE9PW51bGwmJiFEKHRoaXMuc3RhdGUudHlwZSk/KGUuaW1wb3J0ZWQ9dSxlLmltcG9ydEtpbmQ9aCxlLmxvY2FsPV8odSkpOihlLmltcG9ydGVkPW8sZS5pbXBvcnRLaW5kPW51bGwsZS5sb2NhbD10aGlzLnBhcnNlSWRlbnRpZmllcigpKX1lbHNle2lmKGghPT1udWxsJiZEKHRoaXMuc3RhdGUudHlwZSkpZS5pbXBvcnRlZD10aGlzLnBhcnNlSWRlbnRpZmllcighMCksZS5pbXBvcnRLaW5kPWg7ZWxzZXtpZihzKXRocm93IHRoaXMucmFpc2UocC5JbXBvcnRCaW5kaW5nSXNTdHJpbmcsZSx7aW1wb3J0TmFtZTpvLnZhbHVlfSk7ZS5pbXBvcnRlZD1vLGUuaW1wb3J0S2luZD1udWxsfXRoaXMuZWF0Q29udGV4dHVhbCg5Myk/ZS5sb2NhbD10aGlzLnBhcnNlSWRlbnRpZmllcigpOihsPSEwLGUubG9jYWw9XyhlLmltcG9ydGVkKSl9bGV0IGM9QnQoZSk7cmV0dXJuIGkmJmMmJnRoaXMucmFpc2UoZy5JbXBvcnRUeXBlU2hvcnRoYW5kT25seUluUHVyZUltcG9ydCxlKSwoaXx8YykmJnRoaXMuY2hlY2tSZXNlcnZlZFR5cGUoZS5sb2NhbC5uYW1lLGUubG9jYWwubG9jLnN0YXJ0LCEwKSxsJiYhaSYmIWMmJnRoaXMuY2hlY2tSZXNlcnZlZFdvcmQoZS5sb2NhbC5uYW1lLGUubG9jLnN0YXJ0LCEwLCEwKSx0aGlzLmZpbmlzaEltcG9ydFNwZWNpZmllcihlLFwiSW1wb3J0U3BlY2lmaWVyXCIpfXBhcnNlQmluZGluZ0F0b20oKXtzd2l0Y2godGhpcy5zdGF0ZS50eXBlKXtjYXNlIDc4OnJldHVybiB0aGlzLnBhcnNlSWRlbnRpZmllcighMCk7ZGVmYXVsdDpyZXR1cm4gc3VwZXIucGFyc2VCaW5kaW5nQXRvbSgpfX1wYXJzZUZ1bmN0aW9uUGFyYW1zKGUscyl7bGV0IGk9ZS5raW5kO2khPT1cImdldFwiJiZpIT09XCJzZXRcIiYmdGhpcy5tYXRjaCg0NykmJihlLnR5cGVQYXJhbWV0ZXJzPXRoaXMuZmxvd1BhcnNlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKCkpLHN1cGVyLnBhcnNlRnVuY3Rpb25QYXJhbXMoZSxzKX1wYXJzZVZhcklkKGUscyl7c3VwZXIucGFyc2VWYXJJZChlLHMpLHRoaXMubWF0Y2goMTQpJiYoZS5pZC50eXBlQW5ub3RhdGlvbj10aGlzLmZsb3dQYXJzZVR5cGVBbm5vdGF0aW9uKCksdGhpcy5yZXNldEVuZExvY2F0aW9uKGUuaWQpKX1wYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24oZSxzKXtpZih0aGlzLm1hdGNoKDE0KSl7bGV0IGk9dGhpcy5zdGF0ZS5ub0Fub25GdW5jdGlvblR5cGU7dGhpcy5zdGF0ZS5ub0Fub25GdW5jdGlvblR5cGU9ITAsZS5yZXR1cm5UeXBlPXRoaXMuZmxvd1BhcnNlVHlwZUFubm90YXRpb24oKSx0aGlzLnN0YXRlLm5vQW5vbkZ1bmN0aW9uVHlwZT1pfXJldHVybiBzdXBlci5wYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24oZSxzKX1zaG91bGRQYXJzZUFzeW5jQXJyb3coKXtyZXR1cm4gdGhpcy5tYXRjaCgxNCl8fHN1cGVyLnNob3VsZFBhcnNlQXN5bmNBcnJvdygpfXBhcnNlTWF5YmVBc3NpZ24oZSxzKXt2YXIgaTtsZXQgcj1udWxsLG47aWYodGhpcy5oYXNQbHVnaW4oXCJqc3hcIikmJih0aGlzLm1hdGNoKDE0Myl8fHRoaXMubWF0Y2goNDcpKSl7aWYocj10aGlzLnN0YXRlLmNsb25lKCksbj10aGlzLnRyeVBhcnNlKCgpPT5zdXBlci5wYXJzZU1heWJlQXNzaWduKGUscyksciksIW4uZXJyb3IpcmV0dXJuIG4ubm9kZTtsZXR7Y29udGV4dDpsfT10aGlzLnN0YXRlLGM9bFtsLmxlbmd0aC0xXTsoYz09PUUual9vVGFnfHxjPT09RS5qX2V4cHIpJiZsLnBvcCgpfWlmKChpPW4pIT1udWxsJiZpLmVycm9yfHx0aGlzLm1hdGNoKDQ3KSl7dmFyIG8saDtyPXJ8fHRoaXMuc3RhdGUuY2xvbmUoKTtsZXQgbCxjPXRoaXMudHJ5UGFyc2UoZj0+e3ZhciBkO2w9dGhpcy5mbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24oKTtsZXQgeD10aGlzLmZvcndhcmROb0Fycm93UGFyYW1zQ29udmVyc2lvbkF0KGwsKCk9PntsZXQgTj1zdXBlci5wYXJzZU1heWJlQXNzaWduKGUscyk7cmV0dXJuIHRoaXMucmVzZXRTdGFydExvY2F0aW9uRnJvbU5vZGUoTixsKSxOfSk7KGQ9eC5leHRyYSkhPW51bGwmJmQucGFyZW50aGVzaXplZCYmZigpO2xldCBTPXRoaXMubWF5YmVVbndyYXBUeXBlQ2FzdEV4cHJlc3Npb24oeCk7cmV0dXJuIFMudHlwZSE9PVwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIiYmZigpLFMudHlwZVBhcmFtZXRlcnM9bCx0aGlzLnJlc2V0U3RhcnRMb2NhdGlvbkZyb21Ob2RlKFMsbCkseH0sciksdT1udWxsO2lmKGMubm9kZSYmdGhpcy5tYXliZVVud3JhcFR5cGVDYXN0RXhwcmVzc2lvbihjLm5vZGUpLnR5cGU9PT1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCIpe2lmKCFjLmVycm9yJiYhYy5hYm9ydGVkKXJldHVybiBjLm5vZGUuYXN5bmMmJnRoaXMucmFpc2UoZy5VbmV4cGVjdGVkVHlwZVBhcmFtZXRlckJlZm9yZUFzeW5jQXJyb3dGdW5jdGlvbixsKSxjLm5vZGU7dT1jLm5vZGV9aWYoKG89bikhPW51bGwmJm8ubm9kZSlyZXR1cm4gdGhpcy5zdGF0ZT1uLmZhaWxTdGF0ZSxuLm5vZGU7aWYodSlyZXR1cm4gdGhpcy5zdGF0ZT1jLmZhaWxTdGF0ZSx1O3Rocm93KGg9bikhPW51bGwmJmgudGhyb3duP24uZXJyb3I6Yy50aHJvd24/Yy5lcnJvcjp0aGlzLnJhaXNlKGcuVW5leHBlY3RlZFRva2VuQWZ0ZXJUeXBlUGFyYW1ldGVyLGwpfXJldHVybiBzdXBlci5wYXJzZU1heWJlQXNzaWduKGUscyl9cGFyc2VBcnJvdyhlKXtpZih0aGlzLm1hdGNoKDE0KSl7bGV0IHM9dGhpcy50cnlQYXJzZSgoKT0+e2xldCBpPXRoaXMuc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlO3RoaXMuc3RhdGUubm9Bbm9uRnVuY3Rpb25UeXBlPSEwO2xldCByPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuW3IudHlwZUFubm90YXRpb24sZS5wcmVkaWNhdGVdPXRoaXMuZmxvd1BhcnNlVHlwZUFuZFByZWRpY2F0ZUluaXRpYWxpc2VyKCksdGhpcy5zdGF0ZS5ub0Fub25GdW5jdGlvblR5cGU9aSx0aGlzLmNhbkluc2VydFNlbWljb2xvbigpJiZ0aGlzLnVuZXhwZWN0ZWQoKSx0aGlzLm1hdGNoKDE5KXx8dGhpcy51bmV4cGVjdGVkKCkscn0pO2lmKHMudGhyb3duKXJldHVybiBudWxsO3MuZXJyb3ImJih0aGlzLnN0YXRlPXMuZmFpbFN0YXRlKSxlLnJldHVyblR5cGU9cy5ub2RlLnR5cGVBbm5vdGF0aW9uP3RoaXMuZmluaXNoTm9kZShzLm5vZGUsXCJUeXBlQW5ub3RhdGlvblwiKTpudWxsfXJldHVybiBzdXBlci5wYXJzZUFycm93KGUpfXNob3VsZFBhcnNlQXJyb3coZSl7cmV0dXJuIHRoaXMubWF0Y2goMTQpfHxzdXBlci5zaG91bGRQYXJzZUFycm93KGUpfXNldEFycm93RnVuY3Rpb25QYXJhbWV0ZXJzKGUscyl7dGhpcy5zdGF0ZS5ub0Fycm93UGFyYW1zQ29udmVyc2lvbkF0LmluY2x1ZGVzKHRoaXMub2Zmc2V0VG9Tb3VyY2VQb3MoZS5zdGFydCkpP2UucGFyYW1zPXM6c3VwZXIuc2V0QXJyb3dGdW5jdGlvblBhcmFtZXRlcnMoZSxzKX1jaGVja1BhcmFtcyhlLHMsaSxyPSEwKXtpZighKGkmJnRoaXMuc3RhdGUubm9BcnJvd1BhcmFtc0NvbnZlcnNpb25BdC5pbmNsdWRlcyh0aGlzLm9mZnNldFRvU291cmNlUG9zKGUuc3RhcnQpKSkpe2ZvcihsZXQgbj0wO248ZS5wYXJhbXMubGVuZ3RoO24rKyl0aGlzLmlzVGhpc1BhcmFtKGUucGFyYW1zW25dKSYmbj4wJiZ0aGlzLnJhaXNlKGcuVGhpc1BhcmFtTXVzdEJlRmlyc3QsZS5wYXJhbXNbbl0pO3N1cGVyLmNoZWNrUGFyYW1zKGUscyxpLHIpfX1wYXJzZVBhcmVuQW5kRGlzdGluZ3Vpc2hFeHByZXNzaW9uKGUpe3JldHVybiBzdXBlci5wYXJzZVBhcmVuQW5kRGlzdGluZ3Vpc2hFeHByZXNzaW9uKGUmJiF0aGlzLnN0YXRlLm5vQXJyb3dBdC5pbmNsdWRlcyh0aGlzLnNvdXJjZVRvT2Zmc2V0UG9zKHRoaXMuc3RhdGUuc3RhcnQpKSl9cGFyc2VTdWJzY3JpcHRzKGUscyxpKXtpZihlLnR5cGU9PT1cIklkZW50aWZpZXJcIiYmZS5uYW1lPT09XCJhc3luY1wiJiZ0aGlzLnN0YXRlLm5vQXJyb3dBdC5pbmNsdWRlcyhzLmluZGV4KSl7dGhpcy5uZXh0KCk7bGV0IHI9dGhpcy5zdGFydE5vZGVBdChzKTtyLmNhbGxlZT1lLHIuYXJndW1lbnRzPXN1cGVyLnBhcnNlQ2FsbEV4cHJlc3Npb25Bcmd1bWVudHMoMTEpLGU9dGhpcy5maW5pc2hOb2RlKHIsXCJDYWxsRXhwcmVzc2lvblwiKX1lbHNlIGlmKGUudHlwZT09PVwiSWRlbnRpZmllclwiJiZlLm5hbWU9PT1cImFzeW5jXCImJnRoaXMubWF0Y2goNDcpKXtsZXQgcj10aGlzLnN0YXRlLmNsb25lKCksbj10aGlzLnRyeVBhcnNlKGg9PnRoaXMucGFyc2VBc3luY0Fycm93V2l0aFR5cGVQYXJhbWV0ZXJzKHMpfHxoKCkscik7aWYoIW4uZXJyb3ImJiFuLmFib3J0ZWQpcmV0dXJuIG4ubm9kZTtsZXQgbz10aGlzLnRyeVBhcnNlKCgpPT5zdXBlci5wYXJzZVN1YnNjcmlwdHMoZSxzLGkpLHIpO2lmKG8ubm9kZSYmIW8uZXJyb3IpcmV0dXJuIG8ubm9kZTtpZihuLm5vZGUpcmV0dXJuIHRoaXMuc3RhdGU9bi5mYWlsU3RhdGUsbi5ub2RlO2lmKG8ubm9kZSlyZXR1cm4gdGhpcy5zdGF0ZT1vLmZhaWxTdGF0ZSxvLm5vZGU7dGhyb3cgbi5lcnJvcnx8by5lcnJvcn1yZXR1cm4gc3VwZXIucGFyc2VTdWJzY3JpcHRzKGUscyxpKX1wYXJzZVN1YnNjcmlwdChlLHMsaSxyKXtpZih0aGlzLm1hdGNoKDE4KSYmdGhpcy5pc0xvb2thaGVhZFRva2VuX2x0KCkpe2lmKHIub3B0aW9uYWxDaGFpbk1lbWJlcj0hMCxpKXJldHVybiByLnN0b3A9ITAsZTt0aGlzLm5leHQoKTtsZXQgbj10aGlzLnN0YXJ0Tm9kZUF0KHMpO3JldHVybiBuLmNhbGxlZT1lLG4udHlwZUFyZ3VtZW50cz10aGlzLmZsb3dQYXJzZVR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKCksdGhpcy5leHBlY3QoMTApLG4uYXJndW1lbnRzPXRoaXMucGFyc2VDYWxsRXhwcmVzc2lvbkFyZ3VtZW50cygxMSksbi5vcHRpb25hbD0hMCx0aGlzLmZpbmlzaENhbGxFeHByZXNzaW9uKG4sITApfWVsc2UgaWYoIWkmJnRoaXMuc2hvdWxkUGFyc2VUeXBlcygpJiZ0aGlzLm1hdGNoKDQ3KSl7bGV0IG49dGhpcy5zdGFydE5vZGVBdChzKTtuLmNhbGxlZT1lO2xldCBvPXRoaXMudHJ5UGFyc2UoKCk9PihuLnR5cGVBcmd1bWVudHM9dGhpcy5mbG93UGFyc2VUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbkNhbGxPck5ldygpLHRoaXMuZXhwZWN0KDEwKSxuLmFyZ3VtZW50cz1zdXBlci5wYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKDExKSxyLm9wdGlvbmFsQ2hhaW5NZW1iZXImJihuLm9wdGlvbmFsPSExKSx0aGlzLmZpbmlzaENhbGxFeHByZXNzaW9uKG4sci5vcHRpb25hbENoYWluTWVtYmVyKSkpO2lmKG8ubm9kZSlyZXR1cm4gby5lcnJvciYmKHRoaXMuc3RhdGU9by5mYWlsU3RhdGUpLG8ubm9kZX1yZXR1cm4gc3VwZXIucGFyc2VTdWJzY3JpcHQoZSxzLGkscil9cGFyc2VOZXdDYWxsZWUoZSl7c3VwZXIucGFyc2VOZXdDYWxsZWUoZSk7bGV0IHM9bnVsbDt0aGlzLnNob3VsZFBhcnNlVHlwZXMoKSYmdGhpcy5tYXRjaCg0NykmJihzPXRoaXMudHJ5UGFyc2UoKCk9PnRoaXMuZmxvd1BhcnNlVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb25DYWxsT3JOZXcoKSkubm9kZSksZS50eXBlQXJndW1lbnRzPXN9cGFyc2VBc3luY0Fycm93V2l0aFR5cGVQYXJhbWV0ZXJzKGUpe2xldCBzPXRoaXMuc3RhcnROb2RlQXQoZSk7aWYodGhpcy5wYXJzZUZ1bmN0aW9uUGFyYW1zKHMsITEpLCEhdGhpcy5wYXJzZUFycm93KHMpKXJldHVybiBzdXBlci5wYXJzZUFycm93RXhwcmVzc2lvbihzLHZvaWQgMCwhMCl9cmVhZFRva2VuX211bHRfbW9kdWxvKGUpe2xldCBzPXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcysxKTtpZihlPT09NDImJnM9PT00NyYmdGhpcy5zdGF0ZS5oYXNGbG93Q29tbWVudCl7dGhpcy5zdGF0ZS5oYXNGbG93Q29tbWVudD0hMSx0aGlzLnN0YXRlLnBvcys9Mix0aGlzLm5leHRUb2tlbigpO3JldHVybn1zdXBlci5yZWFkVG9rZW5fbXVsdF9tb2R1bG8oZSl9cmVhZFRva2VuX3BpcGVfYW1wKGUpe2xldCBzPXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcysxKTtpZihlPT09MTI0JiZzPT09MTI1KXt0aGlzLmZpbmlzaE9wKDksMik7cmV0dXJufXN1cGVyLnJlYWRUb2tlbl9waXBlX2FtcChlKX1wYXJzZVRvcExldmVsKGUscyl7bGV0IGk9c3VwZXIucGFyc2VUb3BMZXZlbChlLHMpO3JldHVybiB0aGlzLnN0YXRlLmhhc0Zsb3dDb21tZW50JiZ0aGlzLnJhaXNlKGcuVW50ZXJtaW5hdGVkRmxvd0NvbW1lbnQsdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpKSxpfXNraXBCbG9ja0NvbW1lbnQoKXtpZih0aGlzLmhhc1BsdWdpbihcImZsb3dDb21tZW50c1wiKSYmdGhpcy5za2lwRmxvd0NvbW1lbnQoKSl7aWYodGhpcy5zdGF0ZS5oYXNGbG93Q29tbWVudCl0aHJvdyB0aGlzLnJhaXNlKGcuTmVzdGVkRmxvd0NvbW1lbnQsdGhpcy5zdGF0ZS5zdGFydExvYyk7dGhpcy5oYXNGbG93Q29tbWVudENvbXBsZXRpb24oKTtsZXQgZT10aGlzLnNraXBGbG93Q29tbWVudCgpO2UmJih0aGlzLnN0YXRlLnBvcys9ZSx0aGlzLnN0YXRlLmhhc0Zsb3dDb21tZW50PSEwKTtyZXR1cm59cmV0dXJuIHN1cGVyLnNraXBCbG9ja0NvbW1lbnQodGhpcy5zdGF0ZS5oYXNGbG93Q29tbWVudD9cIiotL1wiOlwiKi9cIil9c2tpcEZsb3dDb21tZW50KCl7bGV0e3BvczplfT10aGlzLnN0YXRlLHM9Mjtmb3IoO1szMiw5XS5pbmNsdWRlcyh0aGlzLmlucHV0LmNoYXJDb2RlQXQoZStzKSk7KXMrKztsZXQgaT10aGlzLmlucHV0LmNoYXJDb2RlQXQocytlKSxyPXRoaXMuaW5wdXQuY2hhckNvZGVBdChzK2UrMSk7cmV0dXJuIGk9PT01OCYmcj09PTU4P3MrMjp0aGlzLmlucHV0LnNsaWNlKHMrZSxzK2UrMTIpPT09XCJmbG93LWluY2x1ZGVcIj9zKzEyOmk9PT01OCYmciE9PTU4P3M6ITF9aGFzRmxvd0NvbW1lbnRDb21wbGV0aW9uKCl7aWYodGhpcy5pbnB1dC5pbmRleE9mKFwiKi9cIix0aGlzLnN0YXRlLnBvcyk9PT0tMSl0aHJvdyB0aGlzLnJhaXNlKHAuVW50ZXJtaW5hdGVkQ29tbWVudCx0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCkpfWZsb3dFbnVtRXJyb3JCb29sZWFuTWVtYmVyTm90SW5pdGlhbGl6ZWQoZSx7ZW51bU5hbWU6cyxtZW1iZXJOYW1lOml9KXt0aGlzLnJhaXNlKGcuRW51bUJvb2xlYW5NZW1iZXJOb3RJbml0aWFsaXplZCxlLHttZW1iZXJOYW1lOmksZW51bU5hbWU6c30pfWZsb3dFbnVtRXJyb3JJbnZhbGlkTWVtYmVySW5pdGlhbGl6ZXIoZSxzKXtyZXR1cm4gdGhpcy5yYWlzZShzLmV4cGxpY2l0VHlwZT9zLmV4cGxpY2l0VHlwZT09PVwic3ltYm9sXCI/Zy5FbnVtSW52YWxpZE1lbWJlckluaXRpYWxpemVyU3ltYm9sVHlwZTpnLkVudW1JbnZhbGlkTWVtYmVySW5pdGlhbGl6ZXJQcmltYXJ5VHlwZTpnLkVudW1JbnZhbGlkTWVtYmVySW5pdGlhbGl6ZXJVbmtub3duVHlwZSxlLHMpfWZsb3dFbnVtRXJyb3JOdW1iZXJNZW1iZXJOb3RJbml0aWFsaXplZChlLHMpe3RoaXMucmFpc2UoZy5FbnVtTnVtYmVyTWVtYmVyTm90SW5pdGlhbGl6ZWQsZSxzKX1mbG93RW51bUVycm9yU3RyaW5nTWVtYmVySW5jb25zaXN0ZW50bHlJbml0aWFsaXplZChlLHMpe3RoaXMucmFpc2UoZy5FbnVtU3RyaW5nTWVtYmVySW5jb25zaXN0ZW50bHlJbml0aWFsaXplZCxlLHMpfWZsb3dFbnVtTWVtYmVySW5pdCgpe2xldCBlPXRoaXMuc3RhdGUuc3RhcnRMb2Mscz0oKT0+dGhpcy5tYXRjaCgxMil8fHRoaXMubWF0Y2goOCk7c3dpdGNoKHRoaXMuc3RhdGUudHlwZSl7Y2FzZSAxMzU6e2xldCBpPXRoaXMucGFyc2VOdW1lcmljTGl0ZXJhbCh0aGlzLnN0YXRlLnZhbHVlKTtyZXR1cm4gcygpP3t0eXBlOlwibnVtYmVyXCIsbG9jOmkubG9jLnN0YXJ0LHZhbHVlOml9Ont0eXBlOlwiaW52YWxpZFwiLGxvYzplfX1jYXNlIDEzNDp7bGV0IGk9dGhpcy5wYXJzZVN0cmluZ0xpdGVyYWwodGhpcy5zdGF0ZS52YWx1ZSk7cmV0dXJuIHMoKT97dHlwZTpcInN0cmluZ1wiLGxvYzppLmxvYy5zdGFydCx2YWx1ZTppfTp7dHlwZTpcImludmFsaWRcIixsb2M6ZX19Y2FzZSA4NTpjYXNlIDg2OntsZXQgaT10aGlzLnBhcnNlQm9vbGVhbkxpdGVyYWwodGhpcy5tYXRjaCg4NSkpO3JldHVybiBzKCk/e3R5cGU6XCJib29sZWFuXCIsbG9jOmkubG9jLnN0YXJ0LHZhbHVlOml9Ont0eXBlOlwiaW52YWxpZFwiLGxvYzplfX1kZWZhdWx0OnJldHVybnt0eXBlOlwiaW52YWxpZFwiLGxvYzplfX19Zmxvd0VudW1NZW1iZXJSYXcoKXtsZXQgZT10aGlzLnN0YXRlLnN0YXJ0TG9jLHM9dGhpcy5wYXJzZUlkZW50aWZpZXIoITApLGk9dGhpcy5lYXQoMjkpP3RoaXMuZmxvd0VudW1NZW1iZXJJbml0KCk6e3R5cGU6XCJub25lXCIsbG9jOmV9O3JldHVybntpZDpzLGluaXQ6aX19Zmxvd0VudW1DaGVja0V4cGxpY2l0VHlwZU1pc21hdGNoKGUscyxpKXtsZXR7ZXhwbGljaXRUeXBlOnJ9PXM7ciE9PW51bGwmJnIhPT1pJiZ0aGlzLmZsb3dFbnVtRXJyb3JJbnZhbGlkTWVtYmVySW5pdGlhbGl6ZXIoZSxzKX1mbG93RW51bU1lbWJlcnMoe2VudW1OYW1lOmUsZXhwbGljaXRUeXBlOnN9KXtsZXQgaT1uZXcgU2V0LHI9e2Jvb2xlYW5NZW1iZXJzOltdLG51bWJlck1lbWJlcnM6W10sc3RyaW5nTWVtYmVyczpbXSxkZWZhdWx0ZWRNZW1iZXJzOltdfSxuPSExO2Zvcig7IXRoaXMubWF0Y2goOCk7KXtpZih0aGlzLmVhdCgyMSkpe249ITA7YnJlYWt9bGV0IG89dGhpcy5zdGFydE5vZGUoKSx7aWQ6aCxpbml0Omx9PXRoaXMuZmxvd0VudW1NZW1iZXJSYXcoKSxjPWgubmFtZTtpZihjPT09XCJcIiljb250aW51ZTsvXlthLXpdLy50ZXN0KGMpJiZ0aGlzLnJhaXNlKGcuRW51bUludmFsaWRNZW1iZXJOYW1lLGgse21lbWJlck5hbWU6YyxzdWdnZXN0aW9uOmNbMF0udG9VcHBlckNhc2UoKStjLnNsaWNlKDEpLGVudW1OYW1lOmV9KSxpLmhhcyhjKSYmdGhpcy5yYWlzZShnLkVudW1EdXBsaWNhdGVNZW1iZXJOYW1lLGgse21lbWJlck5hbWU6YyxlbnVtTmFtZTplfSksaS5hZGQoYyk7bGV0IHU9e2VudW1OYW1lOmUsZXhwbGljaXRUeXBlOnMsbWVtYmVyTmFtZTpjfTtzd2l0Y2goby5pZD1oLGwudHlwZSl7Y2FzZVwiYm9vbGVhblwiOnt0aGlzLmZsb3dFbnVtQ2hlY2tFeHBsaWNpdFR5cGVNaXNtYXRjaChsLmxvYyx1LFwiYm9vbGVhblwiKSxvLmluaXQ9bC52YWx1ZSxyLmJvb2xlYW5NZW1iZXJzLnB1c2godGhpcy5maW5pc2hOb2RlKG8sXCJFbnVtQm9vbGVhbk1lbWJlclwiKSk7YnJlYWt9Y2FzZVwibnVtYmVyXCI6e3RoaXMuZmxvd0VudW1DaGVja0V4cGxpY2l0VHlwZU1pc21hdGNoKGwubG9jLHUsXCJudW1iZXJcIiksby5pbml0PWwudmFsdWUsci5udW1iZXJNZW1iZXJzLnB1c2godGhpcy5maW5pc2hOb2RlKG8sXCJFbnVtTnVtYmVyTWVtYmVyXCIpKTticmVha31jYXNlXCJzdHJpbmdcIjp7dGhpcy5mbG93RW51bUNoZWNrRXhwbGljaXRUeXBlTWlzbWF0Y2gobC5sb2MsdSxcInN0cmluZ1wiKSxvLmluaXQ9bC52YWx1ZSxyLnN0cmluZ01lbWJlcnMucHVzaCh0aGlzLmZpbmlzaE5vZGUobyxcIkVudW1TdHJpbmdNZW1iZXJcIikpO2JyZWFrfWNhc2VcImludmFsaWRcIjp0aHJvdyB0aGlzLmZsb3dFbnVtRXJyb3JJbnZhbGlkTWVtYmVySW5pdGlhbGl6ZXIobC5sb2MsdSk7Y2FzZVwibm9uZVwiOnN3aXRjaChzKXtjYXNlXCJib29sZWFuXCI6dGhpcy5mbG93RW51bUVycm9yQm9vbGVhbk1lbWJlck5vdEluaXRpYWxpemVkKGwubG9jLHUpO2JyZWFrO2Nhc2VcIm51bWJlclwiOnRoaXMuZmxvd0VudW1FcnJvck51bWJlck1lbWJlck5vdEluaXRpYWxpemVkKGwubG9jLHUpO2JyZWFrO2RlZmF1bHQ6ci5kZWZhdWx0ZWRNZW1iZXJzLnB1c2godGhpcy5maW5pc2hOb2RlKG8sXCJFbnVtRGVmYXVsdGVkTWVtYmVyXCIpKX19dGhpcy5tYXRjaCg4KXx8dGhpcy5leHBlY3QoMTIpfXJldHVybnttZW1iZXJzOnIsaGFzVW5rbm93bk1lbWJlcnM6bn19Zmxvd0VudW1TdHJpbmdNZW1iZXJzKGUscyx7ZW51bU5hbWU6aX0pe2lmKGUubGVuZ3RoPT09MClyZXR1cm4gcztpZihzLmxlbmd0aD09PTApcmV0dXJuIGU7aWYocy5sZW5ndGg+ZS5sZW5ndGgpe2ZvcihsZXQgciBvZiBlKXRoaXMuZmxvd0VudW1FcnJvclN0cmluZ01lbWJlckluY29uc2lzdGVudGx5SW5pdGlhbGl6ZWQocix7ZW51bU5hbWU6aX0pO3JldHVybiBzfWVsc2V7Zm9yKGxldCByIG9mIHMpdGhpcy5mbG93RW51bUVycm9yU3RyaW5nTWVtYmVySW5jb25zaXN0ZW50bHlJbml0aWFsaXplZChyLHtlbnVtTmFtZTppfSk7cmV0dXJuIGV9fWZsb3dFbnVtUGFyc2VFeHBsaWNpdFR5cGUoe2VudW1OYW1lOmV9KXtpZighdGhpcy5lYXRDb250ZXh0dWFsKDEwMikpcmV0dXJuIG51bGw7aWYoIUModGhpcy5zdGF0ZS50eXBlKSl0aHJvdyB0aGlzLnJhaXNlKGcuRW51bUludmFsaWRFeHBsaWNpdFR5cGVVbmtub3duU3VwcGxpZWQsdGhpcy5zdGF0ZS5zdGFydExvYyx7ZW51bU5hbWU6ZX0pO2xldHt2YWx1ZTpzfT10aGlzLnN0YXRlO3JldHVybiB0aGlzLm5leHQoKSxzIT09XCJib29sZWFuXCImJnMhPT1cIm51bWJlclwiJiZzIT09XCJzdHJpbmdcIiYmcyE9PVwic3ltYm9sXCImJnRoaXMucmFpc2UoZy5FbnVtSW52YWxpZEV4cGxpY2l0VHlwZSx0aGlzLnN0YXRlLnN0YXJ0TG9jLHtlbnVtTmFtZTplLGludmFsaWRFbnVtVHlwZTpzfSksc31mbG93RW51bUJvZHkoZSxzKXtsZXQgaT1zLm5hbWUscj1zLmxvYy5zdGFydCxuPXRoaXMuZmxvd0VudW1QYXJzZUV4cGxpY2l0VHlwZSh7ZW51bU5hbWU6aX0pO3RoaXMuZXhwZWN0KDUpO2xldHttZW1iZXJzOm8saGFzVW5rbm93bk1lbWJlcnM6aH09dGhpcy5mbG93RW51bU1lbWJlcnMoe2VudW1OYW1lOmksZXhwbGljaXRUeXBlOm59KTtzd2l0Y2goZS5oYXNVbmtub3duTWVtYmVycz1oLG4pe2Nhc2VcImJvb2xlYW5cIjpyZXR1cm4gZS5leHBsaWNpdFR5cGU9ITAsZS5tZW1iZXJzPW8uYm9vbGVhbk1lbWJlcnMsdGhpcy5leHBlY3QoOCksdGhpcy5maW5pc2hOb2RlKGUsXCJFbnVtQm9vbGVhbkJvZHlcIik7Y2FzZVwibnVtYmVyXCI6cmV0dXJuIGUuZXhwbGljaXRUeXBlPSEwLGUubWVtYmVycz1vLm51bWJlck1lbWJlcnMsdGhpcy5leHBlY3QoOCksdGhpcy5maW5pc2hOb2RlKGUsXCJFbnVtTnVtYmVyQm9keVwiKTtjYXNlXCJzdHJpbmdcIjpyZXR1cm4gZS5leHBsaWNpdFR5cGU9ITAsZS5tZW1iZXJzPXRoaXMuZmxvd0VudW1TdHJpbmdNZW1iZXJzKG8uc3RyaW5nTWVtYmVycyxvLmRlZmF1bHRlZE1lbWJlcnMse2VudW1OYW1lOml9KSx0aGlzLmV4cGVjdCg4KSx0aGlzLmZpbmlzaE5vZGUoZSxcIkVudW1TdHJpbmdCb2R5XCIpO2Nhc2VcInN5bWJvbFwiOnJldHVybiBlLm1lbWJlcnM9by5kZWZhdWx0ZWRNZW1iZXJzLHRoaXMuZXhwZWN0KDgpLHRoaXMuZmluaXNoTm9kZShlLFwiRW51bVN5bWJvbEJvZHlcIik7ZGVmYXVsdDp7bGV0IGw9KCk9PihlLm1lbWJlcnM9W10sdGhpcy5leHBlY3QoOCksdGhpcy5maW5pc2hOb2RlKGUsXCJFbnVtU3RyaW5nQm9keVwiKSk7ZS5leHBsaWNpdFR5cGU9ITE7bGV0IGM9by5ib29sZWFuTWVtYmVycy5sZW5ndGgsdT1vLm51bWJlck1lbWJlcnMubGVuZ3RoLGY9by5zdHJpbmdNZW1iZXJzLmxlbmd0aCxkPW8uZGVmYXVsdGVkTWVtYmVycy5sZW5ndGg7aWYoIWMmJiF1JiYhZiYmIWQpcmV0dXJuIGwoKTtpZighYyYmIXUpcmV0dXJuIGUubWVtYmVycz10aGlzLmZsb3dFbnVtU3RyaW5nTWVtYmVycyhvLnN0cmluZ01lbWJlcnMsby5kZWZhdWx0ZWRNZW1iZXJzLHtlbnVtTmFtZTppfSksdGhpcy5leHBlY3QoOCksdGhpcy5maW5pc2hOb2RlKGUsXCJFbnVtU3RyaW5nQm9keVwiKTtpZighdSYmIWYmJmM+PWQpe2ZvcihsZXQgeCBvZiBvLmRlZmF1bHRlZE1lbWJlcnMpdGhpcy5mbG93RW51bUVycm9yQm9vbGVhbk1lbWJlck5vdEluaXRpYWxpemVkKHgubG9jLnN0YXJ0LHtlbnVtTmFtZTppLG1lbWJlck5hbWU6eC5pZC5uYW1lfSk7cmV0dXJuIGUubWVtYmVycz1vLmJvb2xlYW5NZW1iZXJzLHRoaXMuZXhwZWN0KDgpLHRoaXMuZmluaXNoTm9kZShlLFwiRW51bUJvb2xlYW5Cb2R5XCIpfWVsc2UgaWYoIWMmJiFmJiZ1Pj1kKXtmb3IobGV0IHggb2Ygby5kZWZhdWx0ZWRNZW1iZXJzKXRoaXMuZmxvd0VudW1FcnJvck51bWJlck1lbWJlck5vdEluaXRpYWxpemVkKHgubG9jLnN0YXJ0LHtlbnVtTmFtZTppLG1lbWJlck5hbWU6eC5pZC5uYW1lfSk7cmV0dXJuIGUubWVtYmVycz1vLm51bWJlck1lbWJlcnMsdGhpcy5leHBlY3QoOCksdGhpcy5maW5pc2hOb2RlKGUsXCJFbnVtTnVtYmVyQm9keVwiKX1lbHNlIHJldHVybiB0aGlzLnJhaXNlKGcuRW51bUluY29uc2lzdGVudE1lbWJlclZhbHVlcyxyLHtlbnVtTmFtZTppfSksbCgpfX19Zmxvd1BhcnNlRW51bURlY2xhcmF0aW9uKGUpe2xldCBzPXRoaXMucGFyc2VJZGVudGlmaWVyKCk7cmV0dXJuIGUuaWQ9cyxlLmJvZHk9dGhpcy5mbG93RW51bUJvZHkodGhpcy5zdGFydE5vZGUoKSxzKSx0aGlzLmZpbmlzaE5vZGUoZSxcIkVudW1EZWNsYXJhdGlvblwiKX1pc0xvb2thaGVhZFRva2VuX2x0KCl7bGV0IGU9dGhpcy5uZXh0VG9rZW5TdGFydCgpO2lmKHRoaXMuaW5wdXQuY2hhckNvZGVBdChlKT09PTYwKXtsZXQgcz10aGlzLmlucHV0LmNoYXJDb2RlQXQoZSsxKTtyZXR1cm4gcyE9PTYwJiZzIT09NjF9cmV0dXJuITF9bWF5YmVVbndyYXBUeXBlQ2FzdEV4cHJlc3Npb24oZSl7cmV0dXJuIGUudHlwZT09PVwiVHlwZUNhc3RFeHByZXNzaW9uXCI/ZS5leHByZXNzaW9uOmV9fSxIPVVganN4YCh7QXR0cmlidXRlSXNFbXB0eTpcIkpTWCBhdHRyaWJ1dGVzIG11c3Qgb25seSBiZSBhc3NpZ25lZCBhIG5vbi1lbXB0eSBleHByZXNzaW9uLlwiLE1pc3NpbmdDbG9zaW5nVGFnRWxlbWVudDooe29wZW5pbmdUYWdOYW1lOmF9KT0+YEV4cGVjdGVkIGNvcnJlc3BvbmRpbmcgSlNYIGNsb3NpbmcgdGFnIGZvciA8JHthfT4uYCxNaXNzaW5nQ2xvc2luZ1RhZ0ZyYWdtZW50OlwiRXhwZWN0ZWQgY29ycmVzcG9uZGluZyBKU1ggY2xvc2luZyB0YWcgZm9yIDw+LlwiLFVuZXhwZWN0ZWRTZXF1ZW5jZUV4cHJlc3Npb246XCJTZXF1ZW5jZSBleHByZXNzaW9ucyBjYW5ub3QgYmUgZGlyZWN0bHkgbmVzdGVkIGluc2lkZSBKU1guIERpZCB5b3UgbWVhbiB0byB3cmFwIGl0IGluIHBhcmVudGhlc2VzICguLi4pP1wiLFVuZXhwZWN0ZWRUb2tlbjooe3VuZXhwZWN0ZWQ6YSxIVE1MRW50aXR5OnR9KT0+YFVuZXhwZWN0ZWQgdG9rZW4gXFxgJHthfVxcYC4gRGlkIHlvdSBtZWFuIFxcYCR7dH1cXGAgb3IgXFxgeycke2F9J31cXGA/YCxVbnN1cHBvcnRlZEpzeFZhbHVlOlwiSlNYIHZhbHVlIHNob3VsZCBiZSBlaXRoZXIgYW4gZXhwcmVzc2lvbiBvciBhIHF1b3RlZCBKU1ggdGV4dC5cIixVbnRlcm1pbmF0ZWRKc3hDb250ZW50OlwiVW50ZXJtaW5hdGVkIEpTWCBjb250ZW50cy5cIixVbndyYXBwZWRBZGphY2VudEpTWEVsZW1lbnRzOlwiQWRqYWNlbnQgSlNYIGVsZW1lbnRzIG11c3QgYmUgd3JhcHBlZCBpbiBhbiBlbmNsb3NpbmcgdGFnLiBEaWQgeW91IHdhbnQgYSBKU1ggZnJhZ21lbnQgPD4uLi48Lz4/XCJ9KTtmdW5jdGlvbiBWKGEpe3JldHVybiBhP2EudHlwZT09PVwiSlNYT3BlbmluZ0ZyYWdtZW50XCJ8fGEudHlwZT09PVwiSlNYQ2xvc2luZ0ZyYWdtZW50XCI6ITF9ZnVuY3Rpb24gWChhKXtpZihhLnR5cGU9PT1cIkpTWElkZW50aWZpZXJcIilyZXR1cm4gYS5uYW1lO2lmKGEudHlwZT09PVwiSlNYTmFtZXNwYWNlZE5hbWVcIilyZXR1cm4gYS5uYW1lc3BhY2UubmFtZStcIjpcIithLm5hbWUubmFtZTtpZihhLnR5cGU9PT1cIkpTWE1lbWJlckV4cHJlc3Npb25cIilyZXR1cm4gWChhLm9iamVjdCkrXCIuXCIrWChhLnByb3BlcnR5KTt0aHJvdyBuZXcgRXJyb3IoXCJOb2RlIGhhZCB1bmV4cGVjdGVkIHR5cGU6IFwiK2EudHlwZSl9dmFyIGppPWE9PmNsYXNzIGV4dGVuZHMgYXtqc3hSZWFkVG9rZW4oKXtsZXQgZT1cIlwiLHM9dGhpcy5zdGF0ZS5wb3M7Zm9yKDs7KXtpZih0aGlzLnN0YXRlLnBvcz49dGhpcy5sZW5ndGgpdGhyb3cgdGhpcy5yYWlzZShILlVudGVybWluYXRlZEpzeENvbnRlbnQsdGhpcy5zdGF0ZS5zdGFydExvYyk7bGV0IGk9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zKTtzd2l0Y2goaSl7Y2FzZSA2MDpjYXNlIDEyMzppZih0aGlzLnN0YXRlLnBvcz09PXRoaXMuc3RhdGUuc3RhcnQpe2k9PT02MCYmdGhpcy5zdGF0ZS5jYW5TdGFydEpTWEVsZW1lbnQ/KCsrdGhpcy5zdGF0ZS5wb3MsdGhpcy5maW5pc2hUb2tlbigxNDMpKTpzdXBlci5nZXRUb2tlbkZyb21Db2RlKGkpO3JldHVybn1lKz10aGlzLmlucHV0LnNsaWNlKHMsdGhpcy5zdGF0ZS5wb3MpLHRoaXMuZmluaXNoVG9rZW4oMTQyLGUpO3JldHVybjtjYXNlIDM4OmUrPXRoaXMuaW5wdXQuc2xpY2Uocyx0aGlzLnN0YXRlLnBvcyksZSs9dGhpcy5qc3hSZWFkRW50aXR5KCkscz10aGlzLnN0YXRlLnBvczticmVhaztjYXNlIDYyOmNhc2UgMTI1OmRlZmF1bHQ6WShpKT8oZSs9dGhpcy5pbnB1dC5zbGljZShzLHRoaXMuc3RhdGUucG9zKSxlKz10aGlzLmpzeFJlYWROZXdMaW5lKCEwKSxzPXRoaXMuc3RhdGUucG9zKTorK3RoaXMuc3RhdGUucG9zfX19anN4UmVhZE5ld0xpbmUoZSl7bGV0IHM9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMuc3RhdGUucG9zKSxpO3JldHVybisrdGhpcy5zdGF0ZS5wb3Mscz09PTEzJiZ0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MpPT09MTA/KCsrdGhpcy5zdGF0ZS5wb3MsaT1lP2BcbmA6YFxcclxuYCk6aT1TdHJpbmcuZnJvbUNoYXJDb2RlKHMpLCsrdGhpcy5zdGF0ZS5jdXJMaW5lLHRoaXMuc3RhdGUubGluZVN0YXJ0PXRoaXMuc3RhdGUucG9zLGl9anN4UmVhZFN0cmluZyhlKXtsZXQgcz1cIlwiLGk9Kyt0aGlzLnN0YXRlLnBvcztmb3IoOzspe2lmKHRoaXMuc3RhdGUucG9zPj10aGlzLmxlbmd0aCl0aHJvdyB0aGlzLnJhaXNlKHAuVW50ZXJtaW5hdGVkU3RyaW5nLHRoaXMuc3RhdGUuc3RhcnRMb2MpO2xldCByPXRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcyk7aWYocj09PWUpYnJlYWs7cj09PTM4PyhzKz10aGlzLmlucHV0LnNsaWNlKGksdGhpcy5zdGF0ZS5wb3MpLHMrPXRoaXMuanN4UmVhZEVudGl0eSgpLGk9dGhpcy5zdGF0ZS5wb3MpOlkocik/KHMrPXRoaXMuaW5wdXQuc2xpY2UoaSx0aGlzLnN0YXRlLnBvcykscys9dGhpcy5qc3hSZWFkTmV3TGluZSghMSksaT10aGlzLnN0YXRlLnBvcyk6Kyt0aGlzLnN0YXRlLnBvc31zKz10aGlzLmlucHV0LnNsaWNlKGksdGhpcy5zdGF0ZS5wb3MrKyksdGhpcy5maW5pc2hUb2tlbigxMzQscyl9anN4UmVhZEVudGl0eSgpe2xldCBlPSsrdGhpcy5zdGF0ZS5wb3M7aWYodGhpcy5jb2RlUG9pbnRBdFBvcyh0aGlzLnN0YXRlLnBvcyk9PT0zNSl7Kyt0aGlzLnN0YXRlLnBvcztsZXQgcz0xMDt0aGlzLmNvZGVQb2ludEF0UG9zKHRoaXMuc3RhdGUucG9zKT09PTEyMCYmKHM9MTYsKyt0aGlzLnN0YXRlLnBvcyk7bGV0IGk9dGhpcy5yZWFkSW50KHMsdm9pZCAwLCExLFwiYmFpbFwiKTtpZihpIT09bnVsbCYmdGhpcy5jb2RlUG9pbnRBdFBvcyh0aGlzLnN0YXRlLnBvcyk9PT01OSlyZXR1cm4rK3RoaXMuc3RhdGUucG9zLFN0cmluZy5mcm9tQ29kZVBvaW50KGkpfWVsc2V7bGV0IHM9MCxpPSExO2Zvcig7cysrPDEwJiZ0aGlzLnN0YXRlLnBvczx0aGlzLmxlbmd0aCYmIShpPXRoaXMuY29kZVBvaW50QXRQb3ModGhpcy5zdGF0ZS5wb3MpPT09NTkpOykrK3RoaXMuc3RhdGUucG9zO2lmKGkpe2xldCByPXRoaXMuaW5wdXQuc2xpY2UoZSx0aGlzLnN0YXRlLnBvcyksbj12b2lkIDA7aWYoKyt0aGlzLnN0YXRlLnBvcyxuKXJldHVybiBufX1yZXR1cm4gdGhpcy5zdGF0ZS5wb3M9ZSxcIiZcIn1qc3hSZWFkV29yZCgpe2xldCBlLHM9dGhpcy5zdGF0ZS5wb3M7ZG8gZT10aGlzLmlucHV0LmNoYXJDb2RlQXQoKyt0aGlzLnN0YXRlLnBvcyk7d2hpbGUoRyhlKXx8ZT09PTQ1KTt0aGlzLmZpbmlzaFRva2VuKDE0MSx0aGlzLmlucHV0LnNsaWNlKHMsdGhpcy5zdGF0ZS5wb3MpKX1qc3hQYXJzZUlkZW50aWZpZXIoKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLm1hdGNoKDE0MSk/ZS5uYW1lPXRoaXMuc3RhdGUudmFsdWU6bXQodGhpcy5zdGF0ZS50eXBlKT9lLm5hbWU9cSh0aGlzLnN0YXRlLnR5cGUpOnRoaXMudW5leHBlY3RlZCgpLHRoaXMubmV4dCgpLHRoaXMuZmluaXNoTm9kZShlLFwiSlNYSWRlbnRpZmllclwiKX1qc3hQYXJzZU5hbWVzcGFjZWROYW1lKCl7bGV0IGU9dGhpcy5zdGF0ZS5zdGFydExvYyxzPXRoaXMuanN4UGFyc2VJZGVudGlmaWVyKCk7aWYoIXRoaXMuZWF0KDE0KSlyZXR1cm4gcztsZXQgaT10aGlzLnN0YXJ0Tm9kZUF0KGUpO3JldHVybiBpLm5hbWVzcGFjZT1zLGkubmFtZT10aGlzLmpzeFBhcnNlSWRlbnRpZmllcigpLHRoaXMuZmluaXNoTm9kZShpLFwiSlNYTmFtZXNwYWNlZE5hbWVcIil9anN4UGFyc2VFbGVtZW50TmFtZSgpe2xldCBlPXRoaXMuc3RhdGUuc3RhcnRMb2Mscz10aGlzLmpzeFBhcnNlTmFtZXNwYWNlZE5hbWUoKTtpZihzLnR5cGU9PT1cIkpTWE5hbWVzcGFjZWROYW1lXCIpcmV0dXJuIHM7Zm9yKDt0aGlzLmVhdCgxNik7KXtsZXQgaT10aGlzLnN0YXJ0Tm9kZUF0KGUpO2kub2JqZWN0PXMsaS5wcm9wZXJ0eT10aGlzLmpzeFBhcnNlSWRlbnRpZmllcigpLHM9dGhpcy5maW5pc2hOb2RlKGksXCJKU1hNZW1iZXJFeHByZXNzaW9uXCIpfXJldHVybiBzfWpzeFBhcnNlQXR0cmlidXRlVmFsdWUoKXtsZXQgZTtzd2l0Y2godGhpcy5zdGF0ZS50eXBlKXtjYXNlIDU6cmV0dXJuIGU9dGhpcy5zdGFydE5vZGUoKSx0aGlzLnNldENvbnRleHQoRS5icmFjZSksdGhpcy5uZXh0KCksZT10aGlzLmpzeFBhcnNlRXhwcmVzc2lvbkNvbnRhaW5lcihlLEUual9vVGFnKSxlLmV4cHJlc3Npb24udHlwZT09PVwiSlNYRW1wdHlFeHByZXNzaW9uXCImJnRoaXMucmFpc2UoSC5BdHRyaWJ1dGVJc0VtcHR5LGUpLGU7Y2FzZSAxNDM6Y2FzZSAxMzQ6cmV0dXJuIHRoaXMucGFyc2VFeHByQXRvbSgpO2RlZmF1bHQ6dGhyb3cgdGhpcy5yYWlzZShILlVuc3VwcG9ydGVkSnN4VmFsdWUsdGhpcy5zdGF0ZS5zdGFydExvYyl9fWpzeFBhcnNlRW1wdHlFeHByZXNzaW9uKCl7bGV0IGU9dGhpcy5zdGFydE5vZGVBdCh0aGlzLnN0YXRlLmxhc3RUb2tFbmRMb2MpO3JldHVybiB0aGlzLmZpbmlzaE5vZGVBdChlLFwiSlNYRW1wdHlFeHByZXNzaW9uXCIsdGhpcy5zdGF0ZS5zdGFydExvYyl9anN4UGFyc2VTcHJlYWRDaGlsZChlKXtyZXR1cm4gdGhpcy5uZXh0KCksZS5leHByZXNzaW9uPXRoaXMucGFyc2VFeHByZXNzaW9uKCksdGhpcy5zZXRDb250ZXh0KEUual9leHByKSx0aGlzLnN0YXRlLmNhblN0YXJ0SlNYRWxlbWVudD0hMCx0aGlzLmV4cGVjdCg4KSx0aGlzLmZpbmlzaE5vZGUoZSxcIkpTWFNwcmVhZENoaWxkXCIpfWpzeFBhcnNlRXhwcmVzc2lvbkNvbnRhaW5lcihlLHMpe2lmKHRoaXMubWF0Y2goOCkpZS5leHByZXNzaW9uPXRoaXMuanN4UGFyc2VFbXB0eUV4cHJlc3Npb24oKTtlbHNle2xldCBpPXRoaXMucGFyc2VFeHByZXNzaW9uKCk7ZS5leHByZXNzaW9uPWl9cmV0dXJuIHRoaXMuc2V0Q29udGV4dChzKSx0aGlzLnN0YXRlLmNhblN0YXJ0SlNYRWxlbWVudD0hMCx0aGlzLmV4cGVjdCg4KSx0aGlzLmZpbmlzaE5vZGUoZSxcIkpTWEV4cHJlc3Npb25Db250YWluZXJcIil9anN4UGFyc2VBdHRyaWJ1dGUoKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLm1hdGNoKDUpPyh0aGlzLnNldENvbnRleHQoRS5icmFjZSksdGhpcy5uZXh0KCksdGhpcy5leHBlY3QoMjEpLGUuYXJndW1lbnQ9dGhpcy5wYXJzZU1heWJlQXNzaWduQWxsb3dJbigpLHRoaXMuc2V0Q29udGV4dChFLmpfb1RhZyksdGhpcy5zdGF0ZS5jYW5TdGFydEpTWEVsZW1lbnQ9ITAsdGhpcy5leHBlY3QoOCksdGhpcy5maW5pc2hOb2RlKGUsXCJKU1hTcHJlYWRBdHRyaWJ1dGVcIikpOihlLm5hbWU9dGhpcy5qc3hQYXJzZU5hbWVzcGFjZWROYW1lKCksZS52YWx1ZT10aGlzLmVhdCgyOSk/dGhpcy5qc3hQYXJzZUF0dHJpYnV0ZVZhbHVlKCk6bnVsbCx0aGlzLmZpbmlzaE5vZGUoZSxcIkpTWEF0dHJpYnV0ZVwiKSl9anN4UGFyc2VPcGVuaW5nRWxlbWVudEF0KGUpe2xldCBzPXRoaXMuc3RhcnROb2RlQXQoZSk7cmV0dXJuIHRoaXMuZWF0KDE0NCk/dGhpcy5maW5pc2hOb2RlKHMsXCJKU1hPcGVuaW5nRnJhZ21lbnRcIik6KHMubmFtZT10aGlzLmpzeFBhcnNlRWxlbWVudE5hbWUoKSx0aGlzLmpzeFBhcnNlT3BlbmluZ0VsZW1lbnRBZnRlck5hbWUocykpfWpzeFBhcnNlT3BlbmluZ0VsZW1lbnRBZnRlck5hbWUoZSl7bGV0IHM9W107Zm9yKDshdGhpcy5tYXRjaCg1NikmJiF0aGlzLm1hdGNoKDE0NCk7KXMucHVzaCh0aGlzLmpzeFBhcnNlQXR0cmlidXRlKCkpO3JldHVybiBlLmF0dHJpYnV0ZXM9cyxlLnNlbGZDbG9zaW5nPXRoaXMuZWF0KDU2KSx0aGlzLmV4cGVjdCgxNDQpLHRoaXMuZmluaXNoTm9kZShlLFwiSlNYT3BlbmluZ0VsZW1lbnRcIil9anN4UGFyc2VDbG9zaW5nRWxlbWVudEF0KGUpe2xldCBzPXRoaXMuc3RhcnROb2RlQXQoZSk7cmV0dXJuIHRoaXMuZWF0KDE0NCk/dGhpcy5maW5pc2hOb2RlKHMsXCJKU1hDbG9zaW5nRnJhZ21lbnRcIik6KHMubmFtZT10aGlzLmpzeFBhcnNlRWxlbWVudE5hbWUoKSx0aGlzLmV4cGVjdCgxNDQpLHRoaXMuZmluaXNoTm9kZShzLFwiSlNYQ2xvc2luZ0VsZW1lbnRcIikpfWpzeFBhcnNlRWxlbWVudEF0KGUpe2xldCBzPXRoaXMuc3RhcnROb2RlQXQoZSksaT1bXSxyPXRoaXMuanN4UGFyc2VPcGVuaW5nRWxlbWVudEF0KGUpLG49bnVsbDtpZighci5zZWxmQ2xvc2luZyl7ZTpmb3IoOzspc3dpdGNoKHRoaXMuc3RhdGUudHlwZSl7Y2FzZSAxNDM6aWYoZT10aGlzLnN0YXRlLnN0YXJ0TG9jLHRoaXMubmV4dCgpLHRoaXMuZWF0KDU2KSl7bj10aGlzLmpzeFBhcnNlQ2xvc2luZ0VsZW1lbnRBdChlKTticmVhayBlfWkucHVzaCh0aGlzLmpzeFBhcnNlRWxlbWVudEF0KGUpKTticmVhaztjYXNlIDE0MjppLnB1c2godGhpcy5wYXJzZUxpdGVyYWwodGhpcy5zdGF0ZS52YWx1ZSxcIkpTWFRleHRcIikpO2JyZWFrO2Nhc2UgNTp7bGV0IG89dGhpcy5zdGFydE5vZGUoKTt0aGlzLnNldENvbnRleHQoRS5icmFjZSksdGhpcy5uZXh0KCksdGhpcy5tYXRjaCgyMSk/aS5wdXNoKHRoaXMuanN4UGFyc2VTcHJlYWRDaGlsZChvKSk6aS5wdXNoKHRoaXMuanN4UGFyc2VFeHByZXNzaW9uQ29udGFpbmVyKG8sRS5qX2V4cHIpKTticmVha31kZWZhdWx0OnRoaXMudW5leHBlY3RlZCgpfVYocikmJiFWKG4pJiZuIT09bnVsbD90aGlzLnJhaXNlKEguTWlzc2luZ0Nsb3NpbmdUYWdGcmFnbWVudCxuKTohVihyKSYmVihuKT90aGlzLnJhaXNlKEguTWlzc2luZ0Nsb3NpbmdUYWdFbGVtZW50LG4se29wZW5pbmdUYWdOYW1lOlgoci5uYW1lKX0pOiFWKHIpJiYhVihuKSYmWChuLm5hbWUpIT09WChyLm5hbWUpJiZ0aGlzLnJhaXNlKEguTWlzc2luZ0Nsb3NpbmdUYWdFbGVtZW50LG4se29wZW5pbmdUYWdOYW1lOlgoci5uYW1lKX0pfWlmKFYocik/KHMub3BlbmluZ0ZyYWdtZW50PXIscy5jbG9zaW5nRnJhZ21lbnQ9bik6KHMub3BlbmluZ0VsZW1lbnQ9cixzLmNsb3NpbmdFbGVtZW50PW4pLHMuY2hpbGRyZW49aSx0aGlzLm1hdGNoKDQ3KSl0aHJvdyB0aGlzLnJhaXNlKEguVW53cmFwcGVkQWRqYWNlbnRKU1hFbGVtZW50cyx0aGlzLnN0YXRlLnN0YXJ0TG9jKTtyZXR1cm4gVihyKT90aGlzLmZpbmlzaE5vZGUocyxcIkpTWEZyYWdtZW50XCIpOnRoaXMuZmluaXNoTm9kZShzLFwiSlNYRWxlbWVudFwiKX1qc3hQYXJzZUVsZW1lbnQoKXtsZXQgZT10aGlzLnN0YXRlLnN0YXJ0TG9jO3JldHVybiB0aGlzLm5leHQoKSx0aGlzLmpzeFBhcnNlRWxlbWVudEF0KGUpfXNldENvbnRleHQoZSl7bGV0e2NvbnRleHQ6c309dGhpcy5zdGF0ZTtzW3MubGVuZ3RoLTFdPWV9cGFyc2VFeHByQXRvbShlKXtyZXR1cm4gdGhpcy5tYXRjaCgxNDMpP3RoaXMuanN4UGFyc2VFbGVtZW50KCk6dGhpcy5tYXRjaCg0NykmJnRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcykhPT0zMz8odGhpcy5yZXBsYWNlVG9rZW4oMTQzKSx0aGlzLmpzeFBhcnNlRWxlbWVudCgpKTpzdXBlci5wYXJzZUV4cHJBdG9tKGUpfXNraXBTcGFjZSgpe3RoaXMuY3VyQ29udGV4dCgpLnByZXNlcnZlU3BhY2V8fHN1cGVyLnNraXBTcGFjZSgpfWdldFRva2VuRnJvbUNvZGUoZSl7bGV0IHM9dGhpcy5jdXJDb250ZXh0KCk7aWYocz09PUUual9leHByKXt0aGlzLmpzeFJlYWRUb2tlbigpO3JldHVybn1pZihzPT09RS5qX29UYWd8fHM9PT1FLmpfY1RhZyl7aWYoUihlKSl7dGhpcy5qc3hSZWFkV29yZCgpO3JldHVybn1pZihlPT09NjIpeysrdGhpcy5zdGF0ZS5wb3MsdGhpcy5maW5pc2hUb2tlbigxNDQpO3JldHVybn1pZigoZT09PTM0fHxlPT09MzkpJiZzPT09RS5qX29UYWcpe3RoaXMuanN4UmVhZFN0cmluZyhlKTtyZXR1cm59fWlmKGU9PT02MCYmdGhpcy5zdGF0ZS5jYW5TdGFydEpTWEVsZW1lbnQmJnRoaXMuaW5wdXQuY2hhckNvZGVBdCh0aGlzLnN0YXRlLnBvcysxKSE9PTMzKXsrK3RoaXMuc3RhdGUucG9zLHRoaXMuZmluaXNoVG9rZW4oMTQzKTtyZXR1cm59c3VwZXIuZ2V0VG9rZW5Gcm9tQ29kZShlKX11cGRhdGVDb250ZXh0KGUpe2xldHtjb250ZXh0OnMsdHlwZTppfT10aGlzLnN0YXRlO2lmKGk9PT01NiYmZT09PTE0MylzLnNwbGljZSgtMiwyLEUual9jVGFnKSx0aGlzLnN0YXRlLmNhblN0YXJ0SlNYRWxlbWVudD0hMTtlbHNlIGlmKGk9PT0xNDMpcy5wdXNoKEUual9vVGFnKTtlbHNlIGlmKGk9PT0xNDQpe2xldCByPXNbcy5sZW5ndGgtMV07cj09PUUual9vVGFnJiZlPT09NTZ8fHI9PT1FLmpfY1RhZz8ocy5wb3AoKSx0aGlzLnN0YXRlLmNhblN0YXJ0SlNYRWxlbWVudD1zW3MubGVuZ3RoLTFdPT09RS5qX2V4cHIpOih0aGlzLnNldENvbnRleHQoRS5qX2V4cHIpLHRoaXMuc3RhdGUuY2FuU3RhcnRKU1hFbGVtZW50PSEwKX1lbHNlIHRoaXMuc3RhdGUuY2FuU3RhcnRKU1hFbGVtZW50PWlpKGkpfX0scnQ9Y2xhc3MgZXh0ZW5kcyB1ZXtjb25zdHJ1Y3RvciguLi50KXtzdXBlciguLi50KSx0aGlzLnRzTmFtZXM9bmV3IE1hcH19LGF0PWNsYXNzIGV4dGVuZHMgZmV7Y29uc3RydWN0b3IoLi4udCl7c3VwZXIoLi4udCksdGhpcy5pbXBvcnRzU3RhY2s9W119Y3JlYXRlU2NvcGUodCl7cmV0dXJuIHRoaXMuaW1wb3J0c1N0YWNrLnB1c2gobmV3IFNldCksbmV3IHJ0KHQpfWVudGVyKHQpe3Q9PT0yNTYmJnRoaXMuaW1wb3J0c1N0YWNrLnB1c2gobmV3IFNldCksc3VwZXIuZW50ZXIodCl9ZXhpdCgpe2xldCB0PXN1cGVyLmV4aXQoKTtyZXR1cm4gdD09PTI1NiYmdGhpcy5pbXBvcnRzU3RhY2sucG9wKCksdH1oYXNJbXBvcnQodCxlKXtsZXQgcz10aGlzLmltcG9ydHNTdGFjay5sZW5ndGg7aWYodGhpcy5pbXBvcnRzU3RhY2tbcy0xXS5oYXModCkpcmV0dXJuITA7aWYoIWUmJnM+MSl7Zm9yKGxldCBpPTA7aTxzLTE7aSsrKWlmKHRoaXMuaW1wb3J0c1N0YWNrW2ldLmhhcyh0KSlyZXR1cm4hMH1yZXR1cm4hMX1kZWNsYXJlTmFtZSh0LGUscyl7aWYoZSY0MDk2KXt0aGlzLmhhc0ltcG9ydCh0LCEwKSYmdGhpcy5wYXJzZXIucmFpc2UocC5WYXJSZWRlY2xhcmF0aW9uLHMse2lkZW50aWZpZXJOYW1lOnR9KSx0aGlzLmltcG9ydHNTdGFja1t0aGlzLmltcG9ydHNTdGFjay5sZW5ndGgtMV0uYWRkKHQpO3JldHVybn1sZXQgaT10aGlzLmN1cnJlbnRTY29wZSgpLHI9aS50c05hbWVzLmdldCh0KXx8MDtpZihlJjEwMjQpe3RoaXMubWF5YmVFeHBvcnREZWZpbmVkKGksdCksaS50c05hbWVzLnNldCh0LHJ8MTYpO3JldHVybn1zdXBlci5kZWNsYXJlTmFtZSh0LGUscyksZSYyJiYoZSYxfHwodGhpcy5jaGVja1JlZGVjbGFyYXRpb25JblNjb3BlKGksdCxlLHMpLHRoaXMubWF5YmVFeHBvcnREZWZpbmVkKGksdCkpLHI9cnwxKSxlJjI1NiYmKHI9cnwyKSxlJjUxMiYmKHI9cnw0KSxlJjEyOCYmKHI9cnw4KSxyJiZpLnRzTmFtZXMuc2V0KHQscil9aXNSZWRlY2xhcmVkSW5TY29wZSh0LGUscyl7bGV0IGk9dC50c05hbWVzLmdldChlKTtpZigoaSYyKT4wKXtpZihzJjI1Nil7bGV0IHI9ISEocyY1MTIpLG49KGkmNCk+MDtyZXR1cm4gciE9PW59cmV0dXJuITB9cmV0dXJuIHMmMTI4JiYoaSY4KT4wP3QubmFtZXMuZ2V0KGUpJjI/ISEocyYxKTohMTpzJjImJihpJjEpPjA/ITA6c3VwZXIuaXNSZWRlY2xhcmVkSW5TY29wZSh0LGUscyl9Y2hlY2tMb2NhbEV4cG9ydCh0KXtsZXR7bmFtZTplfT10O2lmKHRoaXMuaGFzSW1wb3J0KGUpKXJldHVybjtsZXQgcz10aGlzLnNjb3BlU3RhY2subGVuZ3RoO2ZvcihsZXQgaT1zLTE7aT49MDtpLS0pe2xldCBuPXRoaXMuc2NvcGVTdGFja1tpXS50c05hbWVzLmdldChlKTtpZigobiYxKT4wfHwobiYxNik+MClyZXR1cm59c3VwZXIuY2hlY2tMb2NhbEV4cG9ydCh0KX19LGVzPWE9PmEudHlwZT09PVwiUGFyZW50aGVzaXplZEV4cHJlc3Npb25cIj9lcyhhLmV4cHJlc3Npb24pOmEsbnQ9Y2xhc3MgZXh0ZW5kcyBpdHt0b0Fzc2lnbmFibGUodCxlPSExKXt2YXIgcyxpO2xldCByO3N3aXRjaCgodC50eXBlPT09XCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwifHwocz10LmV4dHJhKSE9bnVsbCYmcy5wYXJlbnRoZXNpemVkKSYmKHI9ZXModCksZT9yLnR5cGU9PT1cIklkZW50aWZpZXJcIj90aGlzLmV4cHJlc3Npb25TY29wZS5yZWNvcmRBcnJvd1BhcmFtZXRlckJpbmRpbmdFcnJvcihwLkludmFsaWRQYXJlbnRoZXNpemVkQXNzaWdubWVudCx0KTpyLnR5cGUhPT1cIk1lbWJlckV4cHJlc3Npb25cIiYmIXRoaXMuaXNPcHRpb25hbE1lbWJlckV4cHJlc3Npb24ocikmJnRoaXMucmFpc2UocC5JbnZhbGlkUGFyZW50aGVzaXplZEFzc2lnbm1lbnQsdCk6dGhpcy5yYWlzZShwLkludmFsaWRQYXJlbnRoZXNpemVkQXNzaWdubWVudCx0KSksdC50eXBlKXtjYXNlXCJJZGVudGlmaWVyXCI6Y2FzZVwiT2JqZWN0UGF0dGVyblwiOmNhc2VcIkFycmF5UGF0dGVyblwiOmNhc2VcIkFzc2lnbm1lbnRQYXR0ZXJuXCI6Y2FzZVwiUmVzdEVsZW1lbnRcIjpicmVhaztjYXNlXCJPYmplY3RFeHByZXNzaW9uXCI6dC50eXBlPVwiT2JqZWN0UGF0dGVyblwiO2ZvcihsZXQgbz0wLGg9dC5wcm9wZXJ0aWVzLmxlbmd0aCxsPWgtMTtvPGg7bysrKXt2YXIgbjtsZXQgYz10LnByb3BlcnRpZXNbb10sdT1vPT09bDt0aGlzLnRvQXNzaWduYWJsZU9iamVjdEV4cHJlc3Npb25Qcm9wKGMsdSxlKSx1JiZjLnR5cGU9PT1cIlJlc3RFbGVtZW50XCImJihuPXQuZXh0cmEpIT1udWxsJiZuLnRyYWlsaW5nQ29tbWFMb2MmJnRoaXMucmFpc2UocC5SZXN0VHJhaWxpbmdDb21tYSx0LmV4dHJhLnRyYWlsaW5nQ29tbWFMb2MpfWJyZWFrO2Nhc2VcIk9iamVjdFByb3BlcnR5XCI6e2xldHtrZXk6byx2YWx1ZTpofT10O3RoaXMuaXNQcml2YXRlTmFtZShvKSYmdGhpcy5jbGFzc1Njb3BlLnVzZVByaXZhdGVOYW1lKHRoaXMuZ2V0UHJpdmF0ZU5hbWVTVihvKSxvLmxvYy5zdGFydCksdGhpcy50b0Fzc2lnbmFibGUoaCxlKTticmVha31jYXNlXCJTcHJlYWRFbGVtZW50XCI6dGhyb3cgbmV3IEVycm9yKFwiSW50ZXJuYWwgQGJhYmVsL3BhcnNlciBlcnJvciAodGhpcyBpcyBhIGJ1ZywgcGxlYXNlIHJlcG9ydCBpdCkuIFNwcmVhZEVsZW1lbnQgc2hvdWxkIGJlIGNvbnZlcnRlZCBieSAudG9Bc3NpZ25hYmxlJ3MgY2FsbGVyLlwiKTtjYXNlXCJBcnJheUV4cHJlc3Npb25cIjp0LnR5cGU9XCJBcnJheVBhdHRlcm5cIix0aGlzLnRvQXNzaWduYWJsZUxpc3QodC5lbGVtZW50cywoaT10LmV4dHJhKT09bnVsbD92b2lkIDA6aS50cmFpbGluZ0NvbW1hTG9jLGUpO2JyZWFrO2Nhc2VcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCI6dC5vcGVyYXRvciE9PVwiPVwiJiZ0aGlzLnJhaXNlKHAuTWlzc2luZ0VxSW5Bc3NpZ25tZW50LHQubGVmdC5sb2MuZW5kKSx0LnR5cGU9XCJBc3NpZ25tZW50UGF0dGVyblwiLGRlbGV0ZSB0Lm9wZXJhdG9yLHRoaXMudG9Bc3NpZ25hYmxlKHQubGVmdCxlKTticmVhaztjYXNlXCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiOnRoaXMudG9Bc3NpZ25hYmxlKHIsZSk7YnJlYWt9fXRvQXNzaWduYWJsZU9iamVjdEV4cHJlc3Npb25Qcm9wKHQsZSxzKXtpZih0LnR5cGU9PT1cIk9iamVjdE1ldGhvZFwiKXRoaXMucmFpc2UodC5raW5kPT09XCJnZXRcInx8dC5raW5kPT09XCJzZXRcIj9wLlBhdHRlcm5IYXNBY2Nlc3NvcjpwLlBhdHRlcm5IYXNNZXRob2QsdC5rZXkpO2Vsc2UgaWYodC50eXBlPT09XCJTcHJlYWRFbGVtZW50XCIpe3QudHlwZT1cIlJlc3RFbGVtZW50XCI7bGV0IGk9dC5hcmd1bWVudDt0aGlzLmNoZWNrVG9SZXN0Q29udmVyc2lvbihpLCExKSx0aGlzLnRvQXNzaWduYWJsZShpLHMpLGV8fHRoaXMucmFpc2UocC5SZXN0VHJhaWxpbmdDb21tYSx0KX1lbHNlIHRoaXMudG9Bc3NpZ25hYmxlKHQscyl9dG9Bc3NpZ25hYmxlTGlzdCh0LGUscyl7bGV0IGk9dC5sZW5ndGgtMTtmb3IobGV0IHI9MDtyPD1pO3IrKyl7bGV0IG49dFtyXTtpZihuKXtpZihuLnR5cGU9PT1cIlNwcmVhZEVsZW1lbnRcIil7bi50eXBlPVwiUmVzdEVsZW1lbnRcIjtsZXQgbz1uLmFyZ3VtZW50O3RoaXMuY2hlY2tUb1Jlc3RDb252ZXJzaW9uKG8sITApLHRoaXMudG9Bc3NpZ25hYmxlKG8scyl9ZWxzZSB0aGlzLnRvQXNzaWduYWJsZShuLHMpO24udHlwZT09PVwiUmVzdEVsZW1lbnRcIiYmKHI8aT90aGlzLnJhaXNlKHAuUmVzdFRyYWlsaW5nQ29tbWEsbik6ZSYmdGhpcy5yYWlzZShwLlJlc3RUcmFpbGluZ0NvbW1hLGUpKX19fWlzQXNzaWduYWJsZSh0LGUpe3N3aXRjaCh0LnR5cGUpe2Nhc2VcIklkZW50aWZpZXJcIjpjYXNlXCJPYmplY3RQYXR0ZXJuXCI6Y2FzZVwiQXJyYXlQYXR0ZXJuXCI6Y2FzZVwiQXNzaWdubWVudFBhdHRlcm5cIjpjYXNlXCJSZXN0RWxlbWVudFwiOnJldHVybiEwO2Nhc2VcIk9iamVjdEV4cHJlc3Npb25cIjp7bGV0IHM9dC5wcm9wZXJ0aWVzLmxlbmd0aC0xO3JldHVybiB0LnByb3BlcnRpZXMuZXZlcnkoKGkscik9PmkudHlwZSE9PVwiT2JqZWN0TWV0aG9kXCImJihyPT09c3x8aS50eXBlIT09XCJTcHJlYWRFbGVtZW50XCIpJiZ0aGlzLmlzQXNzaWduYWJsZShpKSl9Y2FzZVwiT2JqZWN0UHJvcGVydHlcIjpyZXR1cm4gdGhpcy5pc0Fzc2lnbmFibGUodC52YWx1ZSk7Y2FzZVwiU3ByZWFkRWxlbWVudFwiOnJldHVybiB0aGlzLmlzQXNzaWduYWJsZSh0LmFyZ3VtZW50KTtjYXNlXCJBcnJheUV4cHJlc3Npb25cIjpyZXR1cm4gdC5lbGVtZW50cy5ldmVyeShzPT5zPT09bnVsbHx8dGhpcy5pc0Fzc2lnbmFibGUocykpO2Nhc2VcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCI6cmV0dXJuIHQub3BlcmF0b3I9PT1cIj1cIjtjYXNlXCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiOnJldHVybiB0aGlzLmlzQXNzaWduYWJsZSh0LmV4cHJlc3Npb24pO2Nhc2VcIk1lbWJlckV4cHJlc3Npb25cIjpjYXNlXCJPcHRpb25hbE1lbWJlckV4cHJlc3Npb25cIjpyZXR1cm4hZTtkZWZhdWx0OnJldHVybiExfX10b1JlZmVyZW5jZWRMaXN0KHQsZSl7cmV0dXJuIHR9dG9SZWZlcmVuY2VkTGlzdERlZXAodCxlKXt0aGlzLnRvUmVmZXJlbmNlZExpc3QodCxlKTtmb3IobGV0IHMgb2YgdCkocz09bnVsbD92b2lkIDA6cy50eXBlKT09PVwiQXJyYXlFeHByZXNzaW9uXCImJnRoaXMudG9SZWZlcmVuY2VkTGlzdERlZXAocy5lbGVtZW50cyl9cGFyc2VTcHJlYWQodCl7bGV0IGU9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdGhpcy5uZXh0KCksZS5hcmd1bWVudD10aGlzLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKHQsdm9pZCAwKSx0aGlzLmZpbmlzaE5vZGUoZSxcIlNwcmVhZEVsZW1lbnRcIil9cGFyc2VSZXN0QmluZGluZygpe2xldCB0PXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIHRoaXMubmV4dCgpLHQuYXJndW1lbnQ9dGhpcy5wYXJzZUJpbmRpbmdBdG9tKCksdGhpcy5maW5pc2hOb2RlKHQsXCJSZXN0RWxlbWVudFwiKX1wYXJzZUJpbmRpbmdBdG9tKCl7c3dpdGNoKHRoaXMuc3RhdGUudHlwZSl7Y2FzZSAwOntsZXQgdD10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLm5leHQoKSx0LmVsZW1lbnRzPXRoaXMucGFyc2VCaW5kaW5nTGlzdCgzLDkzLDEpLHRoaXMuZmluaXNoTm9kZSh0LFwiQXJyYXlQYXR0ZXJuXCIpfWNhc2UgNTpyZXR1cm4gdGhpcy5wYXJzZU9iamVjdExpa2UoOCwhMCl9cmV0dXJuIHRoaXMucGFyc2VJZGVudGlmaWVyKCl9cGFyc2VCaW5kaW5nTGlzdCh0LGUscyl7bGV0IGk9cyYxLHI9W10sbj0hMDtmb3IoOyF0aGlzLmVhdCh0KTspaWYobj9uPSExOnRoaXMuZXhwZWN0KDEyKSxpJiZ0aGlzLm1hdGNoKDEyKSlyLnB1c2gobnVsbCk7ZWxzZXtpZih0aGlzLmVhdCh0KSlicmVhaztpZih0aGlzLm1hdGNoKDIxKSl7bGV0IG89dGhpcy5wYXJzZVJlc3RCaW5kaW5nKCk7aWYoKHRoaXMuaGFzUGx1Z2luKFwiZmxvd1wiKXx8cyYyKSYmKG89dGhpcy5wYXJzZUZ1bmN0aW9uUGFyYW1UeXBlKG8pKSxyLnB1c2gobyksIXRoaXMuY2hlY2tDb21tYUFmdGVyUmVzdChlKSl7dGhpcy5leHBlY3QodCk7YnJlYWt9fWVsc2V7bGV0IG89W107Zm9yKHRoaXMubWF0Y2goMjYpJiZ0aGlzLmhhc1BsdWdpbihcImRlY29yYXRvcnNcIikmJnRoaXMucmFpc2UocC5VbnN1cHBvcnRlZFBhcmFtZXRlckRlY29yYXRvcix0aGlzLnN0YXRlLnN0YXJ0TG9jKTt0aGlzLm1hdGNoKDI2KTspby5wdXNoKHRoaXMucGFyc2VEZWNvcmF0b3IoKSk7ci5wdXNoKHRoaXMucGFyc2VBc3NpZ25hYmxlTGlzdEl0ZW0ocyxvKSl9fXJldHVybiByfXBhcnNlQmluZGluZ1Jlc3RQcm9wZXJ0eSh0KXtyZXR1cm4gdGhpcy5uZXh0KCksdC5hcmd1bWVudD10aGlzLnBhcnNlSWRlbnRpZmllcigpLHRoaXMuY2hlY2tDb21tYUFmdGVyUmVzdCgxMjUpLHRoaXMuZmluaXNoTm9kZSh0LFwiUmVzdEVsZW1lbnRcIil9cGFyc2VCaW5kaW5nUHJvcGVydHkoKXtsZXR7dHlwZTp0LHN0YXJ0TG9jOmV9PXRoaXMuc3RhdGU7aWYodD09PTIxKXJldHVybiB0aGlzLnBhcnNlQmluZGluZ1Jlc3RQcm9wZXJ0eSh0aGlzLnN0YXJ0Tm9kZSgpKTtsZXQgcz10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0PT09MTM5Pyh0aGlzLmV4cGVjdFBsdWdpbihcImRlc3RydWN0dXJpbmdQcml2YXRlXCIsZSksdGhpcy5jbGFzc1Njb3BlLnVzZVByaXZhdGVOYW1lKHRoaXMuc3RhdGUudmFsdWUsZSkscy5rZXk9dGhpcy5wYXJzZVByaXZhdGVOYW1lKCkpOnRoaXMucGFyc2VQcm9wZXJ0eU5hbWUocykscy5tZXRob2Q9ITEsdGhpcy5wYXJzZU9ialByb3BWYWx1ZShzLGUsITEsITEsITAsITEpfXBhcnNlQXNzaWduYWJsZUxpc3RJdGVtKHQsZSl7bGV0IHM9dGhpcy5wYXJzZU1heWJlRGVmYXVsdCgpOyh0aGlzLmhhc1BsdWdpbihcImZsb3dcIil8fHQmMikmJnRoaXMucGFyc2VGdW5jdGlvblBhcmFtVHlwZShzKTtsZXQgaT10aGlzLnBhcnNlTWF5YmVEZWZhdWx0KHMubG9jLnN0YXJ0LHMpO3JldHVybiBlLmxlbmd0aCYmKHMuZGVjb3JhdG9ycz1lKSxpfXBhcnNlRnVuY3Rpb25QYXJhbVR5cGUodCl7cmV0dXJuIHR9cGFyc2VNYXliZURlZmF1bHQodCxlKXt2YXIgcyxpO2lmKChzPXQpIT1udWxsfHwodD10aGlzLnN0YXRlLnN0YXJ0TG9jKSxlPShpPWUpIT1udWxsP2k6dGhpcy5wYXJzZUJpbmRpbmdBdG9tKCksIXRoaXMuZWF0KDI5KSlyZXR1cm4gZTtsZXQgcj10aGlzLnN0YXJ0Tm9kZUF0KHQpO3JldHVybiByLmxlZnQ9ZSxyLnJpZ2h0PXRoaXMucGFyc2VNYXliZUFzc2lnbkFsbG93SW4oKSx0aGlzLmZpbmlzaE5vZGUocixcIkFzc2lnbm1lbnRQYXR0ZXJuXCIpfWlzVmFsaWRMVmFsKHQsZSxzKXtzd2l0Y2godCl7Y2FzZVwiQXNzaWdubWVudFBhdHRlcm5cIjpyZXR1cm5cImxlZnRcIjtjYXNlXCJSZXN0RWxlbWVudFwiOnJldHVyblwiYXJndW1lbnRcIjtjYXNlXCJPYmplY3RQcm9wZXJ0eVwiOnJldHVyblwidmFsdWVcIjtjYXNlXCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiOnJldHVyblwiZXhwcmVzc2lvblwiO2Nhc2VcIkFycmF5UGF0dGVyblwiOnJldHVyblwiZWxlbWVudHNcIjtjYXNlXCJPYmplY3RQYXR0ZXJuXCI6cmV0dXJuXCJwcm9wZXJ0aWVzXCJ9cmV0dXJuITF9aXNPcHRpb25hbE1lbWJlckV4cHJlc3Npb24odCl7cmV0dXJuIHQudHlwZT09PVwiT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uXCJ9Y2hlY2tMVmFsKHQsZSxzPTY0LGk9ITEscj0hMSxuPSExKXt2YXIgbztsZXQgaD10LnR5cGU7aWYodGhpcy5pc09iamVjdE1ldGhvZCh0KSlyZXR1cm47bGV0IGw9dGhpcy5pc09wdGlvbmFsTWVtYmVyRXhwcmVzc2lvbih0KTtpZihsfHxoPT09XCJNZW1iZXJFeHByZXNzaW9uXCIpe2wmJih0aGlzLmV4cGVjdFBsdWdpbihcIm9wdGlvbmFsQ2hhaW5pbmdBc3NpZ25cIix0LmxvYy5zdGFydCksZS50eXBlIT09XCJBc3NpZ25tZW50RXhwcmVzc2lvblwiJiZ0aGlzLnJhaXNlKHAuSW52YWxpZExoc09wdGlvbmFsQ2hhaW5pbmcsdCx7YW5jZXN0b3I6ZX0pKSxzIT09NjQmJnRoaXMucmFpc2UocC5JbnZhbGlkUHJvcGVydHlCaW5kaW5nUGF0dGVybix0KTtyZXR1cm59aWYoaD09PVwiSWRlbnRpZmllclwiKXt0aGlzLmNoZWNrSWRlbnRpZmllcih0LHMscik7bGV0e25hbWU6U309dDtpJiYoaS5oYXMoUyk/dGhpcy5yYWlzZShwLlBhcmFtRHVwZSx0KTppLmFkZChTKSk7cmV0dXJufWxldCBjPXRoaXMuaXNWYWxpZExWYWwoaCwhKG58fChvPXQuZXh0cmEpIT1udWxsJiZvLnBhcmVudGhlc2l6ZWQpJiZlLnR5cGU9PT1cIkFzc2lnbm1lbnRFeHByZXNzaW9uXCIscyk7aWYoYz09PSEwKXJldHVybjtpZihjPT09ITEpe2xldCBTPXM9PT02ND9wLkludmFsaWRMaHM6cC5JbnZhbGlkTGhzQmluZGluZzt0aGlzLnJhaXNlKFMsdCx7YW5jZXN0b3I6ZX0pO3JldHVybn1sZXQgdSxmO3R5cGVvZiBjPT1cInN0cmluZ1wiPyh1PWMsZj1oPT09XCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiKTpbdSxmXT1jO2xldCBkPWg9PT1cIkFycmF5UGF0dGVyblwifHxoPT09XCJPYmplY3RQYXR0ZXJuXCI/e3R5cGU6aH06ZSx4PXRbdV07aWYoQXJyYXkuaXNBcnJheSh4KSlmb3IobGV0IFMgb2YgeClTJiZ0aGlzLmNoZWNrTFZhbChTLGQscyxpLHIsZik7ZWxzZSB4JiZ0aGlzLmNoZWNrTFZhbCh4LGQscyxpLHIsZil9Y2hlY2tJZGVudGlmaWVyKHQsZSxzPSExKXt0aGlzLnN0YXRlLnN0cmljdCYmKHM/WHQodC5uYW1lLHRoaXMuaW5Nb2R1bGUpOld0KHQubmFtZSkpJiYoZT09PTY0P3RoaXMucmFpc2UocC5TdHJpY3RFdmFsQXJndW1lbnRzLHQse3JlZmVyZW5jZU5hbWU6dC5uYW1lfSk6dGhpcy5yYWlzZShwLlN0cmljdEV2YWxBcmd1bWVudHNCaW5kaW5nLHQse2JpbmRpbmdOYW1lOnQubmFtZX0pKSxlJjgxOTImJnQubmFtZT09PVwibGV0XCImJnRoaXMucmFpc2UocC5MZXRJbkxleGljYWxCaW5kaW5nLHQpLGUmNjR8fHRoaXMuZGVjbGFyZU5hbWVGcm9tSWRlbnRpZmllcih0LGUpfWRlY2xhcmVOYW1lRnJvbUlkZW50aWZpZXIodCxlKXt0aGlzLnNjb3BlLmRlY2xhcmVOYW1lKHQubmFtZSxlLHQubG9jLnN0YXJ0KX1jaGVja1RvUmVzdENvbnZlcnNpb24odCxlKXtzd2l0Y2godC50eXBlKXtjYXNlXCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiOnRoaXMuY2hlY2tUb1Jlc3RDb252ZXJzaW9uKHQuZXhwcmVzc2lvbixlKTticmVhaztjYXNlXCJJZGVudGlmaWVyXCI6Y2FzZVwiTWVtYmVyRXhwcmVzc2lvblwiOmJyZWFrO2Nhc2VcIkFycmF5RXhwcmVzc2lvblwiOmNhc2VcIk9iamVjdEV4cHJlc3Npb25cIjppZihlKWJyZWFrO2RlZmF1bHQ6dGhpcy5yYWlzZShwLkludmFsaWRSZXN0QXNzaWdubWVudFBhdHRlcm4sdCl9fWNoZWNrQ29tbWFBZnRlclJlc3QodCl7cmV0dXJuIHRoaXMubWF0Y2goMTIpPyh0aGlzLnJhaXNlKHRoaXMubG9va2FoZWFkQ2hhckNvZGUoKT09PXQ/cC5SZXN0VHJhaWxpbmdDb21tYTpwLkVsZW1lbnRBZnRlclJlc3QsdGhpcy5zdGF0ZS5zdGFydExvYyksITApOiExfX07ZnVuY3Rpb24gJGkoYSl7aWYoYT09bnVsbCl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgJHthfSB2YWx1ZS5gKTtyZXR1cm4gYX1mdW5jdGlvbiBSdChhKXtpZighYSl0aHJvdyBuZXcgRXJyb3IoXCJBc3NlcnQgZmFpbFwiKX12YXIgeT1VYHR5cGVzY3JpcHRgKHtBYnN0cmFjdE1ldGhvZEhhc0ltcGxlbWVudGF0aW9uOih7bWV0aG9kTmFtZTphfSk9PmBNZXRob2QgJyR7YX0nIGNhbm5vdCBoYXZlIGFuIGltcGxlbWVudGF0aW9uIGJlY2F1c2UgaXQgaXMgbWFya2VkIGFic3RyYWN0LmAsQWJzdHJhY3RQcm9wZXJ0eUhhc0luaXRpYWxpemVyOih7cHJvcGVydHlOYW1lOmF9KT0+YFByb3BlcnR5ICcke2F9JyBjYW5ub3QgaGF2ZSBhbiBpbml0aWFsaXplciBiZWNhdXNlIGl0IGlzIG1hcmtlZCBhYnN0cmFjdC5gLEFjY2Vzc29yQ2Fubm90QmVPcHRpb25hbDpcIkFuICdhY2Nlc3NvcicgcHJvcGVydHkgY2Fubm90IGJlIGRlY2xhcmVkIG9wdGlvbmFsLlwiLEFjY2Vzc29yQ2Fubm90RGVjbGFyZVRoaXNQYXJhbWV0ZXI6XCInZ2V0JyBhbmQgJ3NldCcgYWNjZXNzb3JzIGNhbm5vdCBkZWNsYXJlICd0aGlzJyBwYXJhbWV0ZXJzLlwiLEFjY2Vzc29yQ2Fubm90SGF2ZVR5cGVQYXJhbWV0ZXJzOlwiQW4gYWNjZXNzb3IgY2Fubm90IGhhdmUgdHlwZSBwYXJhbWV0ZXJzLlwiLENsYXNzTWV0aG9kSGFzRGVjbGFyZTpcIkNsYXNzIG1ldGhvZHMgY2Fubm90IGhhdmUgdGhlICdkZWNsYXJlJyBtb2RpZmllci5cIixDbGFzc01ldGhvZEhhc1JlYWRvbmx5OlwiQ2xhc3MgbWV0aG9kcyBjYW5ub3QgaGF2ZSB0aGUgJ3JlYWRvbmx5JyBtb2RpZmllci5cIixDb25zdEluaXRpYWxpemVyTXVzdEJlU3RyaW5nT3JOdW1lcmljTGl0ZXJhbE9yTGl0ZXJhbEVudW1SZWZlcmVuY2U6XCJBICdjb25zdCcgaW5pdGlhbGl6ZXIgaW4gYW4gYW1iaWVudCBjb250ZXh0IG11c3QgYmUgYSBzdHJpbmcgb3IgbnVtZXJpYyBsaXRlcmFsIG9yIGxpdGVyYWwgZW51bSByZWZlcmVuY2UuXCIsQ29uc3RydWN0b3JIYXNUeXBlUGFyYW1ldGVyczpcIlR5cGUgcGFyYW1ldGVycyBjYW5ub3QgYXBwZWFyIG9uIGEgY29uc3RydWN0b3IgZGVjbGFyYXRpb24uXCIsRGVjbGFyZUFjY2Vzc29yOih7a2luZDphfSk9PmAnZGVjbGFyZScgaXMgbm90IGFsbG93ZWQgaW4gJHthfXRlcnMuYCxEZWNsYXJlQ2xhc3NGaWVsZEhhc0luaXRpYWxpemVyOlwiSW5pdGlhbGl6ZXJzIGFyZSBub3QgYWxsb3dlZCBpbiBhbWJpZW50IGNvbnRleHRzLlwiLERlY2xhcmVGdW5jdGlvbkhhc0ltcGxlbWVudGF0aW9uOlwiQW4gaW1wbGVtZW50YXRpb24gY2Fubm90IGJlIGRlY2xhcmVkIGluIGFtYmllbnQgY29udGV4dHMuXCIsRHVwbGljYXRlQWNjZXNzaWJpbGl0eU1vZGlmaWVyOih7bW9kaWZpZXI6YX0pPT5cIkFjY2Vzc2liaWxpdHkgbW9kaWZpZXIgYWxyZWFkeSBzZWVuLlwiLER1cGxpY2F0ZU1vZGlmaWVyOih7bW9kaWZpZXI6YX0pPT5gRHVwbGljYXRlIG1vZGlmaWVyOiAnJHthfScuYCxFbXB0eUhlcml0YWdlQ2xhdXNlVHlwZTooe3Rva2VuOmF9KT0+YCcke2F9JyBsaXN0IGNhbm5vdCBiZSBlbXB0eS5gLEVtcHR5VHlwZUFyZ3VtZW50czpcIlR5cGUgYXJndW1lbnQgbGlzdCBjYW5ub3QgYmUgZW1wdHkuXCIsRW1wdHlUeXBlUGFyYW1ldGVyczpcIlR5cGUgcGFyYW1ldGVyIGxpc3QgY2Fubm90IGJlIGVtcHR5LlwiLEV4cGVjdGVkQW1iaWVudEFmdGVyRXhwb3J0RGVjbGFyZTpcIidleHBvcnQgZGVjbGFyZScgbXVzdCBiZSBmb2xsb3dlZCBieSBhbiBhbWJpZW50IGRlY2xhcmF0aW9uLlwiLEltcG9ydEFsaWFzSGFzSW1wb3J0VHlwZTpcIkFuIGltcG9ydCBhbGlhcyBjYW4gbm90IHVzZSAnaW1wb3J0IHR5cGUnLlwiLEltcG9ydFJlZmxlY3Rpb25IYXNJbXBvcnRUeXBlOlwiQW4gYGltcG9ydCBtb2R1bGVgIGRlY2xhcmF0aW9uIGNhbiBub3QgdXNlIGB0eXBlYCBtb2RpZmllclwiLEluY29tcGF0aWJsZU1vZGlmaWVyczooe21vZGlmaWVyczphfSk9PmAnJHthWzBdfScgbW9kaWZpZXIgY2Fubm90IGJlIHVzZWQgd2l0aCAnJHthWzFdfScgbW9kaWZpZXIuYCxJbmRleFNpZ25hdHVyZUhhc0Fic3RyYWN0OlwiSW5kZXggc2lnbmF0dXJlcyBjYW5ub3QgaGF2ZSB0aGUgJ2Fic3RyYWN0JyBtb2RpZmllci5cIixJbmRleFNpZ25hdHVyZUhhc0FjY2Vzc2liaWxpdHk6KHttb2RpZmllcjphfSk9PmBJbmRleCBzaWduYXR1cmVzIGNhbm5vdCBoYXZlIGFuIGFjY2Vzc2liaWxpdHkgbW9kaWZpZXIgKCcke2F9JykuYCxJbmRleFNpZ25hdHVyZUhhc0RlY2xhcmU6XCJJbmRleCBzaWduYXR1cmVzIGNhbm5vdCBoYXZlIHRoZSAnZGVjbGFyZScgbW9kaWZpZXIuXCIsSW5kZXhTaWduYXR1cmVIYXNPdmVycmlkZTpcIidvdmVycmlkZScgbW9kaWZpZXIgY2Fubm90IGFwcGVhciBvbiBhbiBpbmRleCBzaWduYXR1cmUuXCIsSW5kZXhTaWduYXR1cmVIYXNTdGF0aWM6XCJJbmRleCBzaWduYXR1cmVzIGNhbm5vdCBoYXZlIHRoZSAnc3RhdGljJyBtb2RpZmllci5cIixJbml0aWFsaXplck5vdEFsbG93ZWRJbkFtYmllbnRDb250ZXh0OlwiSW5pdGlhbGl6ZXJzIGFyZSBub3QgYWxsb3dlZCBpbiBhbWJpZW50IGNvbnRleHRzLlwiLEludmFsaWRNb2RpZmllck9uVHlwZU1lbWJlcjooe21vZGlmaWVyOmF9KT0+YCcke2F9JyBtb2RpZmllciBjYW5ub3QgYXBwZWFyIG9uIGEgdHlwZSBtZW1iZXIuYCxJbnZhbGlkTW9kaWZpZXJPblR5cGVQYXJhbWV0ZXI6KHttb2RpZmllcjphfSk9PmAnJHthfScgbW9kaWZpZXIgY2Fubm90IGFwcGVhciBvbiBhIHR5cGUgcGFyYW1ldGVyLmAsSW52YWxpZE1vZGlmaWVyT25UeXBlUGFyYW1ldGVyUG9zaXRpb25zOih7bW9kaWZpZXI6YX0pPT5gJyR7YX0nIG1vZGlmaWVyIGNhbiBvbmx5IGFwcGVhciBvbiBhIHR5cGUgcGFyYW1ldGVyIG9mIGEgY2xhc3MsIGludGVyZmFjZSBvciB0eXBlIGFsaWFzLmAsSW52YWxpZE1vZGlmaWVyc09yZGVyOih7b3JkZXJlZE1vZGlmaWVyczphfSk9PmAnJHthWzBdfScgbW9kaWZpZXIgbXVzdCBwcmVjZWRlICcke2FbMV19JyBtb2RpZmllci5gLEludmFsaWRQcm9wZXJ0eUFjY2Vzc0FmdGVySW5zdGFudGlhdGlvbkV4cHJlc3Npb246XCJJbnZhbGlkIHByb3BlcnR5IGFjY2VzcyBhZnRlciBhbiBpbnN0YW50aWF0aW9uIGV4cHJlc3Npb24uIFlvdSBjYW4gZWl0aGVyIHdyYXAgdGhlIGluc3RhbnRpYXRpb24gZXhwcmVzc2lvbiBpbiBwYXJlbnRoZXNlcywgb3IgZGVsZXRlIHRoZSB0eXBlIGFyZ3VtZW50cy5cIixJbnZhbGlkVHVwbGVNZW1iZXJMYWJlbDpcIlR1cGxlIG1lbWJlcnMgbXVzdCBiZSBsYWJlbGVkIHdpdGggYSBzaW1wbGUgaWRlbnRpZmllci5cIixNaXNzaW5nSW50ZXJmYWNlTmFtZTpcIidpbnRlcmZhY2UnIGRlY2xhcmF0aW9ucyBtdXN0IGJlIGZvbGxvd2VkIGJ5IGFuIGlkZW50aWZpZXIuXCIsTm9uQWJzdHJhY3RDbGFzc0hhc0Fic3RyYWN0TWV0aG9kOlwiQWJzdHJhY3QgbWV0aG9kcyBjYW4gb25seSBhcHBlYXIgd2l0aGluIGFuIGFic3RyYWN0IGNsYXNzLlwiLE5vbkNsYXNzTWV0aG9kUHJvcGVydHlIYXNBYnN0cmFjdE1vZGlmZXI6XCInYWJzdHJhY3QnIG1vZGlmaWVyIGNhbiBvbmx5IGFwcGVhciBvbiBhIGNsYXNzLCBtZXRob2QsIG9yIHByb3BlcnR5IGRlY2xhcmF0aW9uLlwiLE9wdGlvbmFsVHlwZUJlZm9yZVJlcXVpcmVkOlwiQSByZXF1aXJlZCBlbGVtZW50IGNhbm5vdCBmb2xsb3cgYW4gb3B0aW9uYWwgZWxlbWVudC5cIixPdmVycmlkZU5vdEluU3ViQ2xhc3M6XCJUaGlzIG1lbWJlciBjYW5ub3QgaGF2ZSBhbiAnb3ZlcnJpZGUnIG1vZGlmaWVyIGJlY2F1c2UgaXRzIGNvbnRhaW5pbmcgY2xhc3MgZG9lcyBub3QgZXh0ZW5kIGFub3RoZXIgY2xhc3MuXCIsUGF0dGVybklzT3B0aW9uYWw6XCJBIGJpbmRpbmcgcGF0dGVybiBwYXJhbWV0ZXIgY2Fubm90IGJlIG9wdGlvbmFsIGluIGFuIGltcGxlbWVudGF0aW9uIHNpZ25hdHVyZS5cIixQcml2YXRlRWxlbWVudEhhc0Fic3RyYWN0OlwiUHJpdmF0ZSBlbGVtZW50cyBjYW5ub3QgaGF2ZSB0aGUgJ2Fic3RyYWN0JyBtb2RpZmllci5cIixQcml2YXRlRWxlbWVudEhhc0FjY2Vzc2liaWxpdHk6KHttb2RpZmllcjphfSk9PmBQcml2YXRlIGVsZW1lbnRzIGNhbm5vdCBoYXZlIGFuIGFjY2Vzc2liaWxpdHkgbW9kaWZpZXIgKCcke2F9JykuYCxSZWFkb25seUZvck1ldGhvZFNpZ25hdHVyZTpcIidyZWFkb25seScgbW9kaWZpZXIgY2FuIG9ubHkgYXBwZWFyIG9uIGEgcHJvcGVydHkgZGVjbGFyYXRpb24gb3IgaW5kZXggc2lnbmF0dXJlLlwiLFJlc2VydmVkQXJyb3dUeXBlUGFyYW06XCJUaGlzIHN5bnRheCBpcyByZXNlcnZlZCBpbiBmaWxlcyB3aXRoIHRoZSAubXRzIG9yIC5jdHMgZXh0ZW5zaW9uLiBBZGQgYSB0cmFpbGluZyBjb21tYSwgYXMgaW4gYDxULD4oKSA9PiAuLi5gLlwiLFJlc2VydmVkVHlwZUFzc2VydGlvbjpcIlRoaXMgc3ludGF4IGlzIHJlc2VydmVkIGluIGZpbGVzIHdpdGggdGhlIC5tdHMgb3IgLmN0cyBleHRlbnNpb24uIFVzZSBhbiBgYXNgIGV4cHJlc3Npb24gaW5zdGVhZC5cIixTZXRBY2Nlc3NvckNhbm5vdEhhdmVPcHRpb25hbFBhcmFtZXRlcjpcIkEgJ3NldCcgYWNjZXNzb3IgY2Fubm90IGhhdmUgYW4gb3B0aW9uYWwgcGFyYW1ldGVyLlwiLFNldEFjY2Vzc29yQ2Fubm90SGF2ZVJlc3RQYXJhbWV0ZXI6XCJBICdzZXQnIGFjY2Vzc29yIGNhbm5vdCBoYXZlIHJlc3QgcGFyYW1ldGVyLlwiLFNldEFjY2Vzc29yQ2Fubm90SGF2ZVJldHVyblR5cGU6XCJBICdzZXQnIGFjY2Vzc29yIGNhbm5vdCBoYXZlIGEgcmV0dXJuIHR5cGUgYW5ub3RhdGlvbi5cIixTaW5nbGVUeXBlUGFyYW1ldGVyV2l0aG91dFRyYWlsaW5nQ29tbWE6KHt0eXBlUGFyYW1ldGVyTmFtZTphfSk9PmBTaW5nbGUgdHlwZSBwYXJhbWV0ZXIgJHthfSBzaG91bGQgaGF2ZSBhIHRyYWlsaW5nIGNvbW1hLiBFeGFtcGxlIHVzYWdlOiA8JHthfSw+LmAsU3RhdGljQmxvY2tDYW5ub3RIYXZlTW9kaWZpZXI6XCJTdGF0aWMgY2xhc3MgYmxvY2tzIGNhbm5vdCBoYXZlIGFueSBtb2RpZmllci5cIixUdXBsZU9wdGlvbmFsQWZ0ZXJUeXBlOlwiQSBsYWJlbGVkIHR1cGxlIG9wdGlvbmFsIGVsZW1lbnQgbXVzdCBiZSBkZWNsYXJlZCB1c2luZyBhIHF1ZXN0aW9uIG1hcmsgYWZ0ZXIgdGhlIG5hbWUgYW5kIGJlZm9yZSB0aGUgY29sb24gKGBuYW1lPzogdHlwZWApLCByYXRoZXIgdGhhbiBhZnRlciB0aGUgdHlwZSAoYG5hbWU6IHR5cGU/YCkuXCIsVHlwZUFubm90YXRpb25BZnRlckFzc2lnbjpcIlR5cGUgYW5ub3RhdGlvbnMgbXVzdCBjb21lIGJlZm9yZSBkZWZhdWx0IGFzc2lnbm1lbnRzLCBlLmcuIGluc3RlYWQgb2YgYGFnZSA9IDI1OiBudW1iZXJgIHVzZSBgYWdlOiBudW1iZXIgPSAyNWAuXCIsVHlwZUltcG9ydENhbm5vdFNwZWNpZnlEZWZhdWx0QW5kTmFtZWQ6XCJBIHR5cGUtb25seSBpbXBvcnQgY2FuIHNwZWNpZnkgYSBkZWZhdWx0IGltcG9ydCBvciBuYW1lZCBiaW5kaW5ncywgYnV0IG5vdCBib3RoLlwiLFR5cGVNb2RpZmllcklzVXNlZEluVHlwZUV4cG9ydHM6XCJUaGUgJ3R5cGUnIG1vZGlmaWVyIGNhbm5vdCBiZSB1c2VkIG9uIGEgbmFtZWQgZXhwb3J0IHdoZW4gJ2V4cG9ydCB0eXBlJyBpcyB1c2VkIG9uIGl0cyBleHBvcnQgc3RhdGVtZW50LlwiLFR5cGVNb2RpZmllcklzVXNlZEluVHlwZUltcG9ydHM6XCJUaGUgJ3R5cGUnIG1vZGlmaWVyIGNhbm5vdCBiZSB1c2VkIG9uIGEgbmFtZWQgaW1wb3J0IHdoZW4gJ2ltcG9ydCB0eXBlJyBpcyB1c2VkIG9uIGl0cyBpbXBvcnQgc3RhdGVtZW50LlwiLFVuZXhwZWN0ZWRQYXJhbWV0ZXJNb2RpZmllcjpcIkEgcGFyYW1ldGVyIHByb3BlcnR5IGlzIG9ubHkgYWxsb3dlZCBpbiBhIGNvbnN0cnVjdG9yIGltcGxlbWVudGF0aW9uLlwiLFVuZXhwZWN0ZWRSZWFkb25seTpcIidyZWFkb25seScgdHlwZSBtb2RpZmllciBpcyBvbmx5IHBlcm1pdHRlZCBvbiBhcnJheSBhbmQgdHVwbGUgbGl0ZXJhbCB0eXBlcy5cIixVbmV4cGVjdGVkVHlwZUFubm90YXRpb246XCJEaWQgbm90IGV4cGVjdCBhIHR5cGUgYW5ub3RhdGlvbiBoZXJlLlwiLFVuZXhwZWN0ZWRUeXBlQ2FzdEluUGFyYW1ldGVyOlwiVW5leHBlY3RlZCB0eXBlIGNhc3QgaW4gcGFyYW1ldGVyIHBvc2l0aW9uLlwiLFVuc3VwcG9ydGVkSW1wb3J0VHlwZUFyZ3VtZW50OlwiQXJndW1lbnQgaW4gYSB0eXBlIGltcG9ydCBtdXN0IGJlIGEgc3RyaW5nIGxpdGVyYWwuXCIsVW5zdXBwb3J0ZWRQYXJhbWV0ZXJQcm9wZXJ0eUtpbmQ6XCJBIHBhcmFtZXRlciBwcm9wZXJ0eSBtYXkgbm90IGJlIGRlY2xhcmVkIHVzaW5nIGEgYmluZGluZyBwYXR0ZXJuLlwiLFVuc3VwcG9ydGVkU2lnbmF0dXJlUGFyYW1ldGVyS2luZDooe3R5cGU6YX0pPT5gTmFtZSBpbiBhIHNpZ25hdHVyZSBtdXN0IGJlIGFuIElkZW50aWZpZXIsIE9iamVjdFBhdHRlcm4gb3IgQXJyYXlQYXR0ZXJuLCBpbnN0ZWFkIGdvdCAke2F9LmB9KTtmdW5jdGlvbiB6aShhKXtzd2l0Y2goYSl7Y2FzZVwiYW55XCI6cmV0dXJuXCJUU0FueUtleXdvcmRcIjtjYXNlXCJib29sZWFuXCI6cmV0dXJuXCJUU0Jvb2xlYW5LZXl3b3JkXCI7Y2FzZVwiYmlnaW50XCI6cmV0dXJuXCJUU0JpZ0ludEtleXdvcmRcIjtjYXNlXCJuZXZlclwiOnJldHVyblwiVFNOZXZlcktleXdvcmRcIjtjYXNlXCJudW1iZXJcIjpyZXR1cm5cIlRTTnVtYmVyS2V5d29yZFwiO2Nhc2VcIm9iamVjdFwiOnJldHVyblwiVFNPYmplY3RLZXl3b3JkXCI7Y2FzZVwic3RyaW5nXCI6cmV0dXJuXCJUU1N0cmluZ0tleXdvcmRcIjtjYXNlXCJzeW1ib2xcIjpyZXR1cm5cIlRTU3ltYm9sS2V5d29yZFwiO2Nhc2VcInVuZGVmaW5lZFwiOnJldHVyblwiVFNVbmRlZmluZWRLZXl3b3JkXCI7Y2FzZVwidW5rbm93blwiOnJldHVyblwiVFNVbmtub3duS2V5d29yZFwiO2RlZmF1bHQ6cmV0dXJufX1mdW5jdGlvbiBVdChhKXtyZXR1cm4gYT09PVwicHJpdmF0ZVwifHxhPT09XCJwdWJsaWNcInx8YT09PVwicHJvdGVjdGVkXCJ9ZnVuY3Rpb24gVmkoYSl7cmV0dXJuIGE9PT1cImluXCJ8fGE9PT1cIm91dFwifXZhciBxaT1hPT5jbGFzcyBleHRlbmRzIGF7Y29uc3RydWN0b3IoLi4uZSl7c3VwZXIoLi4uZSksdGhpcy50c1BhcnNlSW5PdXRNb2RpZmllcnM9dGhpcy50c1BhcnNlTW9kaWZpZXJzLmJpbmQodGhpcyx7YWxsb3dlZE1vZGlmaWVyczpbXCJpblwiLFwib3V0XCJdLGRpc2FsbG93ZWRNb2RpZmllcnM6W1wiY29uc3RcIixcInB1YmxpY1wiLFwicHJpdmF0ZVwiLFwicHJvdGVjdGVkXCIsXCJyZWFkb25seVwiLFwiZGVjbGFyZVwiLFwiYWJzdHJhY3RcIixcIm92ZXJyaWRlXCJdLGVycm9yVGVtcGxhdGU6eS5JbnZhbGlkTW9kaWZpZXJPblR5cGVQYXJhbWV0ZXJ9KSx0aGlzLnRzUGFyc2VDb25zdE1vZGlmaWVyPXRoaXMudHNQYXJzZU1vZGlmaWVycy5iaW5kKHRoaXMse2FsbG93ZWRNb2RpZmllcnM6W1wiY29uc3RcIl0sZGlzYWxsb3dlZE1vZGlmaWVyczpbXCJpblwiLFwib3V0XCJdLGVycm9yVGVtcGxhdGU6eS5JbnZhbGlkTW9kaWZpZXJPblR5cGVQYXJhbWV0ZXJQb3NpdGlvbnN9KSx0aGlzLnRzUGFyc2VJbk91dENvbnN0TW9kaWZpZXJzPXRoaXMudHNQYXJzZU1vZGlmaWVycy5iaW5kKHRoaXMse2FsbG93ZWRNb2RpZmllcnM6W1wiaW5cIixcIm91dFwiLFwiY29uc3RcIl0sZGlzYWxsb3dlZE1vZGlmaWVyczpbXCJwdWJsaWNcIixcInByaXZhdGVcIixcInByb3RlY3RlZFwiLFwicmVhZG9ubHlcIixcImRlY2xhcmVcIixcImFic3RyYWN0XCIsXCJvdmVycmlkZVwiXSxlcnJvclRlbXBsYXRlOnkuSW52YWxpZE1vZGlmaWVyT25UeXBlUGFyYW1ldGVyfSl9Z2V0U2NvcGVIYW5kbGVyKCl7cmV0dXJuIGF0fXRzSXNJZGVudGlmaWVyKCl7cmV0dXJuIEModGhpcy5zdGF0ZS50eXBlKX10c1Rva2VuQ2FuRm9sbG93TW9kaWZpZXIoKXtyZXR1cm4gdGhpcy5tYXRjaCgwKXx8dGhpcy5tYXRjaCg1KXx8dGhpcy5tYXRjaCg1NSl8fHRoaXMubWF0Y2goMjEpfHx0aGlzLm1hdGNoKDEzOSl8fHRoaXMuaXNMaXRlcmFsUHJvcGVydHlOYW1lKCl9dHNOZXh0VG9rZW5PblNhbWVMaW5lQW5kQ2FuRm9sbG93TW9kaWZpZXIoKXtyZXR1cm4gdGhpcy5uZXh0KCksdGhpcy5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKT8hMTp0aGlzLnRzVG9rZW5DYW5Gb2xsb3dNb2RpZmllcigpfXRzTmV4dFRva2VuQ2FuRm9sbG93TW9kaWZpZXIoKXtyZXR1cm4gdGhpcy5tYXRjaCgxMDYpPyh0aGlzLm5leHQoKSx0aGlzLnRzVG9rZW5DYW5Gb2xsb3dNb2RpZmllcigpKTp0aGlzLnRzTmV4dFRva2VuT25TYW1lTGluZUFuZENhbkZvbGxvd01vZGlmaWVyKCl9dHNQYXJzZU1vZGlmaWVyKGUscyl7aWYoIUModGhpcy5zdGF0ZS50eXBlKSYmdGhpcy5zdGF0ZS50eXBlIT09NTgmJnRoaXMuc3RhdGUudHlwZSE9PTc1KXJldHVybjtsZXQgaT10aGlzLnN0YXRlLnZhbHVlO2lmKGUuaW5jbHVkZXMoaSkpe2lmKHMmJnRoaXMudHNJc1N0YXJ0T2ZTdGF0aWNCbG9ja3MoKSlyZXR1cm47aWYodGhpcy50c1RyeVBhcnNlKHRoaXMudHNOZXh0VG9rZW5DYW5Gb2xsb3dNb2RpZmllci5iaW5kKHRoaXMpKSlyZXR1cm4gaX19dHNQYXJzZU1vZGlmaWVycyh7YWxsb3dlZE1vZGlmaWVyczplLGRpc2FsbG93ZWRNb2RpZmllcnM6cyxzdG9wT25TdGFydE9mQ2xhc3NTdGF0aWNCbG9jazppLGVycm9yVGVtcGxhdGU6cj15LkludmFsaWRNb2RpZmllck9uVHlwZU1lbWJlcn0sbil7bGV0IG89KGwsYyx1LGYpPT57Yz09PXUmJm5bZl0mJnRoaXMucmFpc2UoeS5JbnZhbGlkTW9kaWZpZXJzT3JkZXIsbCx7b3JkZXJlZE1vZGlmaWVyczpbdSxmXX0pfSxoPShsLGMsdSxmKT0+eyhuW3VdJiZjPT09Znx8bltmXSYmYz09PXUpJiZ0aGlzLnJhaXNlKHkuSW5jb21wYXRpYmxlTW9kaWZpZXJzLGwse21vZGlmaWVyczpbdSxmXX0pfTtmb3IoOzspe2xldHtzdGFydExvYzpsfT10aGlzLnN0YXRlLGM9dGhpcy50c1BhcnNlTW9kaWZpZXIoZS5jb25jYXQocz8/W10pLGkpO2lmKCFjKWJyZWFrO1V0KGMpP24uYWNjZXNzaWJpbGl0eT90aGlzLnJhaXNlKHkuRHVwbGljYXRlQWNjZXNzaWJpbGl0eU1vZGlmaWVyLGwse21vZGlmaWVyOmN9KToobyhsLGMsYyxcIm92ZXJyaWRlXCIpLG8obCxjLGMsXCJzdGF0aWNcIiksbyhsLGMsYyxcInJlYWRvbmx5XCIpLG4uYWNjZXNzaWJpbGl0eT1jKTpWaShjKT8obltjXSYmdGhpcy5yYWlzZSh5LkR1cGxpY2F0ZU1vZGlmaWVyLGwse21vZGlmaWVyOmN9KSxuW2NdPSEwLG8obCxjLFwiaW5cIixcIm91dFwiKSk6KGhhc093blByb3BlcnR5LmNhbGwobixjKT90aGlzLnJhaXNlKHkuRHVwbGljYXRlTW9kaWZpZXIsbCx7bW9kaWZpZXI6Y30pOihvKGwsYyxcInN0YXRpY1wiLFwicmVhZG9ubHlcIiksbyhsLGMsXCJzdGF0aWNcIixcIm92ZXJyaWRlXCIpLG8obCxjLFwib3ZlcnJpZGVcIixcInJlYWRvbmx5XCIpLG8obCxjLFwiYWJzdHJhY3RcIixcIm92ZXJyaWRlXCIpLGgobCxjLFwiZGVjbGFyZVwiLFwib3ZlcnJpZGVcIiksaChsLGMsXCJzdGF0aWNcIixcImFic3RyYWN0XCIpKSxuW2NdPSEwKSxzIT1udWxsJiZzLmluY2x1ZGVzKGMpJiZ0aGlzLnJhaXNlKHIsbCx7bW9kaWZpZXI6Y30pfX10c0lzTGlzdFRlcm1pbmF0b3IoZSl7c3dpdGNoKGUpe2Nhc2VcIkVudW1NZW1iZXJzXCI6Y2FzZVwiVHlwZU1lbWJlcnNcIjpyZXR1cm4gdGhpcy5tYXRjaCg4KTtjYXNlXCJIZXJpdGFnZUNsYXVzZUVsZW1lbnRcIjpyZXR1cm4gdGhpcy5tYXRjaCg1KTtjYXNlXCJUdXBsZUVsZW1lbnRUeXBlc1wiOnJldHVybiB0aGlzLm1hdGNoKDMpO2Nhc2VcIlR5cGVQYXJhbWV0ZXJzT3JBcmd1bWVudHNcIjpyZXR1cm4gdGhpcy5tYXRjaCg0OCl9fXRzUGFyc2VMaXN0KGUscyl7bGV0IGk9W107Zm9yKDshdGhpcy50c0lzTGlzdFRlcm1pbmF0b3IoZSk7KWkucHVzaChzKCkpO3JldHVybiBpfXRzUGFyc2VEZWxpbWl0ZWRMaXN0KGUscyxpKXtyZXR1cm4gJGkodGhpcy50c1BhcnNlRGVsaW1pdGVkTGlzdFdvcmtlcihlLHMsITAsaSkpfXRzUGFyc2VEZWxpbWl0ZWRMaXN0V29ya2VyKGUscyxpLHIpe2xldCBuPVtdLG89LTE7Zm9yKDshdGhpcy50c0lzTGlzdFRlcm1pbmF0b3IoZSk7KXtvPS0xO2xldCBoPXMoKTtpZihoPT1udWxsKXJldHVybjtpZihuLnB1c2goaCksdGhpcy5lYXQoMTIpKXtvPXRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jLmluZGV4O2NvbnRpbnVlfWlmKHRoaXMudHNJc0xpc3RUZXJtaW5hdG9yKGUpKWJyZWFrO2kmJnRoaXMuZXhwZWN0KDEyKTtyZXR1cm59cmV0dXJuIHImJihyLnZhbHVlPW8pLG59dHNQYXJzZUJyYWNrZXRlZExpc3QoZSxzLGkscixuKXtyfHwoaT90aGlzLmV4cGVjdCgwKTp0aGlzLmV4cGVjdCg0NykpO2xldCBvPXRoaXMudHNQYXJzZURlbGltaXRlZExpc3QoZSxzLG4pO3JldHVybiBpP3RoaXMuZXhwZWN0KDMpOnRoaXMuZXhwZWN0KDQ4KSxvfXRzUGFyc2VJbXBvcnRUeXBlKCl7bGV0IGU9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdGhpcy5leHBlY3QoODMpLHRoaXMuZXhwZWN0KDEwKSx0aGlzLm1hdGNoKDEzNCl8fHRoaXMucmFpc2UoeS5VbnN1cHBvcnRlZEltcG9ydFR5cGVBcmd1bWVudCx0aGlzLnN0YXRlLnN0YXJ0TG9jKSxlLmFyZ3VtZW50PXN1cGVyLnBhcnNlRXhwckF0b20oKSx0aGlzLmVhdCgxMikmJiF0aGlzLm1hdGNoKDExKT8oZS5vcHRpb25zPXN1cGVyLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKCksdGhpcy5lYXQoMTIpKTplLm9wdGlvbnM9bnVsbCx0aGlzLmV4cGVjdCgxMSksdGhpcy5lYXQoMTYpJiYoZS5xdWFsaWZpZXI9dGhpcy50c1BhcnNlRW50aXR5TmFtZSgpKSx0aGlzLm1hdGNoKDQ3KSYmKGUudHlwZVBhcmFtZXRlcnM9dGhpcy50c1BhcnNlVHlwZUFyZ3VtZW50cygpKSx0aGlzLmZpbmlzaE5vZGUoZSxcIlRTSW1wb3J0VHlwZVwiKX10c1BhcnNlRW50aXR5TmFtZShlPSEwKXtsZXQgcz10aGlzLnBhcnNlSWRlbnRpZmllcihlKTtmb3IoO3RoaXMuZWF0KDE2KTspe2xldCBpPXRoaXMuc3RhcnROb2RlQXROb2RlKHMpO2kubGVmdD1zLGkucmlnaHQ9dGhpcy5wYXJzZUlkZW50aWZpZXIoZSkscz10aGlzLmZpbmlzaE5vZGUoaSxcIlRTUXVhbGlmaWVkTmFtZVwiKX1yZXR1cm4gc310c1BhcnNlVHlwZVJlZmVyZW5jZSgpe2xldCBlPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIGUudHlwZU5hbWU9dGhpcy50c1BhcnNlRW50aXR5TmFtZSgpLCF0aGlzLmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpJiZ0aGlzLm1hdGNoKDQ3KSYmKGUudHlwZVBhcmFtZXRlcnM9dGhpcy50c1BhcnNlVHlwZUFyZ3VtZW50cygpKSx0aGlzLmZpbmlzaE5vZGUoZSxcIlRTVHlwZVJlZmVyZW5jZVwiKX10c1BhcnNlVGhpc1R5cGVQcmVkaWNhdGUoZSl7dGhpcy5uZXh0KCk7bGV0IHM9dGhpcy5zdGFydE5vZGVBdE5vZGUoZSk7cmV0dXJuIHMucGFyYW1ldGVyTmFtZT1lLHMudHlwZUFubm90YXRpb249dGhpcy50c1BhcnNlVHlwZUFubm90YXRpb24oITEpLHMuYXNzZXJ0cz0hMSx0aGlzLmZpbmlzaE5vZGUocyxcIlRTVHlwZVByZWRpY2F0ZVwiKX10c1BhcnNlVGhpc1R5cGVOb2RlKCl7bGV0IGU9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdGhpcy5uZXh0KCksdGhpcy5maW5pc2hOb2RlKGUsXCJUU1RoaXNUeXBlXCIpfXRzUGFyc2VUeXBlUXVlcnkoKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLmV4cGVjdCg4NyksdGhpcy5tYXRjaCg4Myk/ZS5leHByTmFtZT10aGlzLnRzUGFyc2VJbXBvcnRUeXBlKCk6ZS5leHByTmFtZT10aGlzLnRzUGFyc2VFbnRpdHlOYW1lKCksIXRoaXMuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkmJnRoaXMubWF0Y2goNDcpJiYoZS50eXBlUGFyYW1ldGVycz10aGlzLnRzUGFyc2VUeXBlQXJndW1lbnRzKCkpLHRoaXMuZmluaXNoTm9kZShlLFwiVFNUeXBlUXVlcnlcIil9dHNQYXJzZVR5cGVQYXJhbWV0ZXIoZSl7bGV0IHM9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gZShzKSxzLm5hbWU9dGhpcy50c1BhcnNlVHlwZVBhcmFtZXRlck5hbWUoKSxzLmNvbnN0cmFpbnQ9dGhpcy50c0VhdFRoZW5QYXJzZVR5cGUoODEpLHMuZGVmYXVsdD10aGlzLnRzRWF0VGhlblBhcnNlVHlwZSgyOSksdGhpcy5maW5pc2hOb2RlKHMsXCJUU1R5cGVQYXJhbWV0ZXJcIil9dHNUcnlQYXJzZVR5cGVQYXJhbWV0ZXJzKGUpe2lmKHRoaXMubWF0Y2goNDcpKXJldHVybiB0aGlzLnRzUGFyc2VUeXBlUGFyYW1ldGVycyhlKX10c1BhcnNlVHlwZVBhcmFtZXRlcnMoZSl7bGV0IHM9dGhpcy5zdGFydE5vZGUoKTt0aGlzLm1hdGNoKDQ3KXx8dGhpcy5tYXRjaCgxNDMpP3RoaXMubmV4dCgpOnRoaXMudW5leHBlY3RlZCgpO2xldCBpPXt2YWx1ZTotMX07cmV0dXJuIHMucGFyYW1zPXRoaXMudHNQYXJzZUJyYWNrZXRlZExpc3QoXCJUeXBlUGFyYW1ldGVyc09yQXJndW1lbnRzXCIsdGhpcy50c1BhcnNlVHlwZVBhcmFtZXRlci5iaW5kKHRoaXMsZSksITEsITAsaSkscy5wYXJhbXMubGVuZ3RoPT09MCYmdGhpcy5yYWlzZSh5LkVtcHR5VHlwZVBhcmFtZXRlcnMscyksaS52YWx1ZSE9PS0xJiZ0aGlzLmFkZEV4dHJhKHMsXCJ0cmFpbGluZ0NvbW1hXCIsaS52YWx1ZSksdGhpcy5maW5pc2hOb2RlKHMsXCJUU1R5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvblwiKX10c0ZpbGxTaWduYXR1cmUoZSxzKXtsZXQgaT1lPT09MTkscj1cInBhcmFtZXRlcnNcIixuPVwidHlwZUFubm90YXRpb25cIjtzLnR5cGVQYXJhbWV0ZXJzPXRoaXMudHNUcnlQYXJzZVR5cGVQYXJhbWV0ZXJzKHRoaXMudHNQYXJzZUNvbnN0TW9kaWZpZXIpLHRoaXMuZXhwZWN0KDEwKSxzW3JdPXRoaXMudHNQYXJzZUJpbmRpbmdMaXN0Rm9yU2lnbmF0dXJlKCksaT9zW25dPXRoaXMudHNQYXJzZVR5cGVPclR5cGVQcmVkaWNhdGVBbm5vdGF0aW9uKGUpOnRoaXMubWF0Y2goZSkmJihzW25dPXRoaXMudHNQYXJzZVR5cGVPclR5cGVQcmVkaWNhdGVBbm5vdGF0aW9uKGUpKX10c1BhcnNlQmluZGluZ0xpc3RGb3JTaWduYXR1cmUoKXtsZXQgZT1zdXBlci5wYXJzZUJpbmRpbmdMaXN0KDExLDQxLDIpO2ZvcihsZXQgcyBvZiBlKXtsZXR7dHlwZTppfT1zOyhpPT09XCJBc3NpZ25tZW50UGF0dGVyblwifHxpPT09XCJUU1BhcmFtZXRlclByb3BlcnR5XCIpJiZ0aGlzLnJhaXNlKHkuVW5zdXBwb3J0ZWRTaWduYXR1cmVQYXJhbWV0ZXJLaW5kLHMse3R5cGU6aX0pfXJldHVybiBlfXRzUGFyc2VUeXBlTWVtYmVyU2VtaWNvbG9uKCl7IXRoaXMuZWF0KDEyKSYmIXRoaXMuaXNMaW5lVGVybWluYXRvcigpJiZ0aGlzLmV4cGVjdCgxMyl9dHNQYXJzZVNpZ25hdHVyZU1lbWJlcihlLHMpe3JldHVybiB0aGlzLnRzRmlsbFNpZ25hdHVyZSgxNCxzKSx0aGlzLnRzUGFyc2VUeXBlTWVtYmVyU2VtaWNvbG9uKCksdGhpcy5maW5pc2hOb2RlKHMsZSl9dHNJc1VuYW1iaWd1b3VzbHlJbmRleFNpZ25hdHVyZSgpe3JldHVybiB0aGlzLm5leHQoKSxDKHRoaXMuc3RhdGUudHlwZSk/KHRoaXMubmV4dCgpLHRoaXMubWF0Y2goMTQpKTohMX10c1RyeVBhcnNlSW5kZXhTaWduYXR1cmUoZSl7aWYoISh0aGlzLm1hdGNoKDApJiZ0aGlzLnRzTG9va0FoZWFkKHRoaXMudHNJc1VuYW1iaWd1b3VzbHlJbmRleFNpZ25hdHVyZS5iaW5kKHRoaXMpKSkpcmV0dXJuO3RoaXMuZXhwZWN0KDApO2xldCBzPXRoaXMucGFyc2VJZGVudGlmaWVyKCk7cy50eXBlQW5ub3RhdGlvbj10aGlzLnRzUGFyc2VUeXBlQW5ub3RhdGlvbigpLHRoaXMucmVzZXRFbmRMb2NhdGlvbihzKSx0aGlzLmV4cGVjdCgzKSxlLnBhcmFtZXRlcnM9W3NdO2xldCBpPXRoaXMudHNUcnlQYXJzZVR5cGVBbm5vdGF0aW9uKCk7cmV0dXJuIGkmJihlLnR5cGVBbm5vdGF0aW9uPWkpLHRoaXMudHNQYXJzZVR5cGVNZW1iZXJTZW1pY29sb24oKSx0aGlzLmZpbmlzaE5vZGUoZSxcIlRTSW5kZXhTaWduYXR1cmVcIil9dHNQYXJzZVByb3BlcnR5T3JNZXRob2RTaWduYXR1cmUoZSxzKXt0aGlzLmVhdCgxNykmJihlLm9wdGlvbmFsPSEwKTtsZXQgaT1lO2lmKHRoaXMubWF0Y2goMTApfHx0aGlzLm1hdGNoKDQ3KSl7cyYmdGhpcy5yYWlzZSh5LlJlYWRvbmx5Rm9yTWV0aG9kU2lnbmF0dXJlLGUpO2xldCByPWk7ci5raW5kJiZ0aGlzLm1hdGNoKDQ3KSYmdGhpcy5yYWlzZSh5LkFjY2Vzc29yQ2Fubm90SGF2ZVR5cGVQYXJhbWV0ZXJzLHRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSksdGhpcy50c0ZpbGxTaWduYXR1cmUoMTQsciksdGhpcy50c1BhcnNlVHlwZU1lbWJlclNlbWljb2xvbigpO2xldCBuPVwicGFyYW1ldGVyc1wiLG89XCJ0eXBlQW5ub3RhdGlvblwiO2lmKHIua2luZD09PVwiZ2V0XCIpcltuXS5sZW5ndGg+MCYmKHRoaXMucmFpc2UocC5CYWRHZXR0ZXJBcml0eSx0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCkpLHRoaXMuaXNUaGlzUGFyYW0ocltuXVswXSkmJnRoaXMucmFpc2UoeS5BY2Nlc3NvckNhbm5vdERlY2xhcmVUaGlzUGFyYW1ldGVyLHRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSkpO2Vsc2UgaWYoci5raW5kPT09XCJzZXRcIil7aWYocltuXS5sZW5ndGghPT0xKXRoaXMucmFpc2UocC5CYWRTZXR0ZXJBcml0eSx0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCkpO2Vsc2V7bGV0IGg9cltuXVswXTt0aGlzLmlzVGhpc1BhcmFtKGgpJiZ0aGlzLnJhaXNlKHkuQWNjZXNzb3JDYW5ub3REZWNsYXJlVGhpc1BhcmFtZXRlcix0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCkpLGgudHlwZT09PVwiSWRlbnRpZmllclwiJiZoLm9wdGlvbmFsJiZ0aGlzLnJhaXNlKHkuU2V0QWNjZXNzb3JDYW5ub3RIYXZlT3B0aW9uYWxQYXJhbWV0ZXIsdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpKSxoLnR5cGU9PT1cIlJlc3RFbGVtZW50XCImJnRoaXMucmFpc2UoeS5TZXRBY2Nlc3NvckNhbm5vdEhhdmVSZXN0UGFyYW1ldGVyLHRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSl9cltvXSYmdGhpcy5yYWlzZSh5LlNldEFjY2Vzc29yQ2Fubm90SGF2ZVJldHVyblR5cGUscltvXSl9ZWxzZSByLmtpbmQ9XCJtZXRob2RcIjtyZXR1cm4gdGhpcy5maW5pc2hOb2RlKHIsXCJUU01ldGhvZFNpZ25hdHVyZVwiKX1lbHNle2xldCByPWk7cyYmKHIucmVhZG9ubHk9ITApO2xldCBuPXRoaXMudHNUcnlQYXJzZVR5cGVBbm5vdGF0aW9uKCk7cmV0dXJuIG4mJihyLnR5cGVBbm5vdGF0aW9uPW4pLHRoaXMudHNQYXJzZVR5cGVNZW1iZXJTZW1pY29sb24oKSx0aGlzLmZpbmlzaE5vZGUocixcIlRTUHJvcGVydHlTaWduYXR1cmVcIil9fXRzUGFyc2VUeXBlTWVtYmVyKCl7bGV0IGU9dGhpcy5zdGFydE5vZGUoKTtpZih0aGlzLm1hdGNoKDEwKXx8dGhpcy5tYXRjaCg0NykpcmV0dXJuIHRoaXMudHNQYXJzZVNpZ25hdHVyZU1lbWJlcihcIlRTQ2FsbFNpZ25hdHVyZURlY2xhcmF0aW9uXCIsZSk7aWYodGhpcy5tYXRjaCg3Nykpe2xldCBpPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMubWF0Y2goMTApfHx0aGlzLm1hdGNoKDQ3KT90aGlzLnRzUGFyc2VTaWduYXR1cmVNZW1iZXIoXCJUU0NvbnN0cnVjdFNpZ25hdHVyZURlY2xhcmF0aW9uXCIsZSk6KGUua2V5PXRoaXMuY3JlYXRlSWRlbnRpZmllcihpLFwibmV3XCIpLHRoaXMudHNQYXJzZVByb3BlcnR5T3JNZXRob2RTaWduYXR1cmUoZSwhMSkpfXRoaXMudHNQYXJzZU1vZGlmaWVycyh7YWxsb3dlZE1vZGlmaWVyczpbXCJyZWFkb25seVwiXSxkaXNhbGxvd2VkTW9kaWZpZXJzOltcImRlY2xhcmVcIixcImFic3RyYWN0XCIsXCJwcml2YXRlXCIsXCJwcm90ZWN0ZWRcIixcInB1YmxpY1wiLFwic3RhdGljXCIsXCJvdmVycmlkZVwiXX0sZSk7bGV0IHM9dGhpcy50c1RyeVBhcnNlSW5kZXhTaWduYXR1cmUoZSk7cmV0dXJuIHN8fChzdXBlci5wYXJzZVByb3BlcnR5TmFtZShlKSwhZS5jb21wdXRlZCYmZS5rZXkudHlwZT09PVwiSWRlbnRpZmllclwiJiYoZS5rZXkubmFtZT09PVwiZ2V0XCJ8fGUua2V5Lm5hbWU9PT1cInNldFwiKSYmdGhpcy50c1Rva2VuQ2FuRm9sbG93TW9kaWZpZXIoKSYmKGUua2luZD1lLmtleS5uYW1lLHN1cGVyLnBhcnNlUHJvcGVydHlOYW1lKGUpKSx0aGlzLnRzUGFyc2VQcm9wZXJ0eU9yTWV0aG9kU2lnbmF0dXJlKGUsISFlLnJlYWRvbmx5KSl9dHNQYXJzZVR5cGVMaXRlcmFsKCl7bGV0IGU9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gZS5tZW1iZXJzPXRoaXMudHNQYXJzZU9iamVjdFR5cGVNZW1iZXJzKCksdGhpcy5maW5pc2hOb2RlKGUsXCJUU1R5cGVMaXRlcmFsXCIpfXRzUGFyc2VPYmplY3RUeXBlTWVtYmVycygpe3RoaXMuZXhwZWN0KDUpO2xldCBlPXRoaXMudHNQYXJzZUxpc3QoXCJUeXBlTWVtYmVyc1wiLHRoaXMudHNQYXJzZVR5cGVNZW1iZXIuYmluZCh0aGlzKSk7cmV0dXJuIHRoaXMuZXhwZWN0KDgpLGV9dHNJc1N0YXJ0T2ZNYXBwZWRUeXBlKCl7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMuZWF0KDUzKT90aGlzLmlzQ29udGV4dHVhbCgxMjIpOih0aGlzLmlzQ29udGV4dHVhbCgxMjIpJiZ0aGlzLm5leHQoKSwhdGhpcy5tYXRjaCgwKXx8KHRoaXMubmV4dCgpLCF0aGlzLnRzSXNJZGVudGlmaWVyKCkpPyExOih0aGlzLm5leHQoKSx0aGlzLm1hdGNoKDU4KSkpfXRzUGFyc2VNYXBwZWRUeXBlKCl7bGV0IGU9dGhpcy5zdGFydE5vZGUoKTt0aGlzLmV4cGVjdCg1KSx0aGlzLm1hdGNoKDUzKT8oZS5yZWFkb25seT10aGlzLnN0YXRlLnZhbHVlLHRoaXMubmV4dCgpLHRoaXMuZXhwZWN0Q29udGV4dHVhbCgxMjIpKTp0aGlzLmVhdENvbnRleHR1YWwoMTIyKSYmKGUucmVhZG9ubHk9ITApLHRoaXMuZXhwZWN0KDApO3tsZXQgcz10aGlzLnN0YXJ0Tm9kZSgpO3MubmFtZT10aGlzLnRzUGFyc2VUeXBlUGFyYW1ldGVyTmFtZSgpLHMuY29uc3RyYWludD10aGlzLnRzRXhwZWN0VGhlblBhcnNlVHlwZSg1OCksZS50eXBlUGFyYW1ldGVyPXRoaXMuZmluaXNoTm9kZShzLFwiVFNUeXBlUGFyYW1ldGVyXCIpfXJldHVybiBlLm5hbWVUeXBlPXRoaXMuZWF0Q29udGV4dHVhbCg5Myk/dGhpcy50c1BhcnNlVHlwZSgpOm51bGwsdGhpcy5leHBlY3QoMyksdGhpcy5tYXRjaCg1Myk/KGUub3B0aW9uYWw9dGhpcy5zdGF0ZS52YWx1ZSx0aGlzLm5leHQoKSx0aGlzLmV4cGVjdCgxNykpOnRoaXMuZWF0KDE3KSYmKGUub3B0aW9uYWw9ITApLGUudHlwZUFubm90YXRpb249dGhpcy50c1RyeVBhcnNlVHlwZSgpLHRoaXMuc2VtaWNvbG9uKCksdGhpcy5leHBlY3QoOCksdGhpcy5maW5pc2hOb2RlKGUsXCJUU01hcHBlZFR5cGVcIil9dHNQYXJzZVR1cGxlVHlwZSgpe2xldCBlPXRoaXMuc3RhcnROb2RlKCk7ZS5lbGVtZW50VHlwZXM9dGhpcy50c1BhcnNlQnJhY2tldGVkTGlzdChcIlR1cGxlRWxlbWVudFR5cGVzXCIsdGhpcy50c1BhcnNlVHVwbGVFbGVtZW50VHlwZS5iaW5kKHRoaXMpLCEwLCExKTtsZXQgcz0hMTtyZXR1cm4gZS5lbGVtZW50VHlwZXMuZm9yRWFjaChpPT57bGV0e3R5cGU6cn09aTtzJiZyIT09XCJUU1Jlc3RUeXBlXCImJnIhPT1cIlRTT3B0aW9uYWxUeXBlXCImJiEocj09PVwiVFNOYW1lZFR1cGxlTWVtYmVyXCImJmkub3B0aW9uYWwpJiZ0aGlzLnJhaXNlKHkuT3B0aW9uYWxUeXBlQmVmb3JlUmVxdWlyZWQsaSksc3x8KHM9cj09PVwiVFNOYW1lZFR1cGxlTWVtYmVyXCImJmkub3B0aW9uYWx8fHI9PT1cIlRTT3B0aW9uYWxUeXBlXCIpfSksdGhpcy5maW5pc2hOb2RlKGUsXCJUU1R1cGxlVHlwZVwiKX10c1BhcnNlVHVwbGVFbGVtZW50VHlwZSgpe2xldHtzdGFydExvYzplfT10aGlzLnN0YXRlLHM9dGhpcy5lYXQoMjEpLGkscixuLG8sbD1EKHRoaXMuc3RhdGUudHlwZSk/dGhpcy5sb29rYWhlYWRDaGFyQ29kZSgpOm51bGw7aWYobD09PTU4KWk9ITAsbj0hMSxyPXRoaXMucGFyc2VJZGVudGlmaWVyKCEwKSx0aGlzLmV4cGVjdCgxNCksbz10aGlzLnRzUGFyc2VUeXBlKCk7ZWxzZSBpZihsPT09NjMpe249ITA7bGV0IGM9dGhpcy5zdGF0ZS5zdGFydExvYyx1PXRoaXMuc3RhdGUudmFsdWUsZj10aGlzLnRzUGFyc2VOb25BcnJheVR5cGUoKTt0aGlzLmxvb2thaGVhZENoYXJDb2RlKCk9PT01OD8oaT0hMCxyPXRoaXMuY3JlYXRlSWRlbnRpZmllcih0aGlzLnN0YXJ0Tm9kZUF0KGMpLHUpLHRoaXMuZXhwZWN0KDE3KSx0aGlzLmV4cGVjdCgxNCksbz10aGlzLnRzUGFyc2VUeXBlKCkpOihpPSExLG89Zix0aGlzLmV4cGVjdCgxNykpfWVsc2Ugbz10aGlzLnRzUGFyc2VUeXBlKCksbj10aGlzLmVhdCgxNyksaT10aGlzLmVhdCgxNCk7aWYoaSl7bGV0IGM7cj8oYz10aGlzLnN0YXJ0Tm9kZUF0Tm9kZShyKSxjLm9wdGlvbmFsPW4sYy5sYWJlbD1yLGMuZWxlbWVudFR5cGU9byx0aGlzLmVhdCgxNykmJihjLm9wdGlvbmFsPSEwLHRoaXMucmFpc2UoeS5UdXBsZU9wdGlvbmFsQWZ0ZXJUeXBlLHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jKSkpOihjPXRoaXMuc3RhcnROb2RlQXROb2RlKG8pLGMub3B0aW9uYWw9bix0aGlzLnJhaXNlKHkuSW52YWxpZFR1cGxlTWVtYmVyTGFiZWwsbyksYy5sYWJlbD1vLGMuZWxlbWVudFR5cGU9dGhpcy50c1BhcnNlVHlwZSgpKSxvPXRoaXMuZmluaXNoTm9kZShjLFwiVFNOYW1lZFR1cGxlTWVtYmVyXCIpfWVsc2UgaWYobil7bGV0IGM9dGhpcy5zdGFydE5vZGVBdE5vZGUobyk7Yy50eXBlQW5ub3RhdGlvbj1vLG89dGhpcy5maW5pc2hOb2RlKGMsXCJUU09wdGlvbmFsVHlwZVwiKX1pZihzKXtsZXQgYz10aGlzLnN0YXJ0Tm9kZUF0KGUpO2MudHlwZUFubm90YXRpb249byxvPXRoaXMuZmluaXNoTm9kZShjLFwiVFNSZXN0VHlwZVwiKX1yZXR1cm4gb310c1BhcnNlUGFyZW50aGVzaXplZFR5cGUoKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLmV4cGVjdCgxMCksZS50eXBlQW5ub3RhdGlvbj10aGlzLnRzUGFyc2VUeXBlKCksdGhpcy5leHBlY3QoMTEpLHRoaXMuZmluaXNoTm9kZShlLFwiVFNQYXJlbnRoZXNpemVkVHlwZVwiKX10c1BhcnNlRnVuY3Rpb25PckNvbnN0cnVjdG9yVHlwZShlLHMpe2xldCBpPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIGU9PT1cIlRTQ29uc3RydWN0b3JUeXBlXCImJihpLmFic3RyYWN0PSEhcyxzJiZ0aGlzLm5leHQoKSx0aGlzLm5leHQoKSksdGhpcy50c0luQWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dCgoKT0+dGhpcy50c0ZpbGxTaWduYXR1cmUoMTksaSkpLHRoaXMuZmluaXNoTm9kZShpLGUpfXRzUGFyc2VMaXRlcmFsVHlwZU5vZGUoKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpO3N3aXRjaCh0aGlzLnN0YXRlLnR5cGUpe2Nhc2UgMTM1OmNhc2UgMTM2OmNhc2UgMTM0OmNhc2UgODU6Y2FzZSA4NjplLmxpdGVyYWw9c3VwZXIucGFyc2VFeHByQXRvbSgpO2JyZWFrO2RlZmF1bHQ6dGhpcy51bmV4cGVjdGVkKCl9cmV0dXJuIHRoaXMuZmluaXNoTm9kZShlLFwiVFNMaXRlcmFsVHlwZVwiKX10c1BhcnNlVGVtcGxhdGVMaXRlcmFsVHlwZSgpe2xldCBlPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIGUubGl0ZXJhbD1zdXBlci5wYXJzZVRlbXBsYXRlKCExKSx0aGlzLmZpbmlzaE5vZGUoZSxcIlRTTGl0ZXJhbFR5cGVcIil9cGFyc2VUZW1wbGF0ZVN1YnN0aXR1dGlvbigpe3JldHVybiB0aGlzLnN0YXRlLmluVHlwZT90aGlzLnRzUGFyc2VUeXBlKCk6c3VwZXIucGFyc2VUZW1wbGF0ZVN1YnN0aXR1dGlvbigpfXRzUGFyc2VUaGlzVHlwZU9yVGhpc1R5cGVQcmVkaWNhdGUoKXtsZXQgZT10aGlzLnRzUGFyc2VUaGlzVHlwZU5vZGUoKTtyZXR1cm4gdGhpcy5pc0NvbnRleHR1YWwoMTE2KSYmIXRoaXMuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCk/dGhpcy50c1BhcnNlVGhpc1R5cGVQcmVkaWNhdGUoZSk6ZX10c1BhcnNlTm9uQXJyYXlUeXBlKCl7c3dpdGNoKHRoaXMuc3RhdGUudHlwZSl7Y2FzZSAxMzQ6Y2FzZSAxMzU6Y2FzZSAxMzY6Y2FzZSA4NTpjYXNlIDg2OnJldHVybiB0aGlzLnRzUGFyc2VMaXRlcmFsVHlwZU5vZGUoKTtjYXNlIDUzOmlmKHRoaXMuc3RhdGUudmFsdWU9PT1cIi1cIil7bGV0IGU9dGhpcy5zdGFydE5vZGUoKSxzPXRoaXMubG9va2FoZWFkKCk7cmV0dXJuIHMudHlwZSE9PTEzNSYmcy50eXBlIT09MTM2JiZ0aGlzLnVuZXhwZWN0ZWQoKSxlLmxpdGVyYWw9dGhpcy5wYXJzZU1heWJlVW5hcnkoKSx0aGlzLmZpbmlzaE5vZGUoZSxcIlRTTGl0ZXJhbFR5cGVcIil9YnJlYWs7Y2FzZSA3ODpyZXR1cm4gdGhpcy50c1BhcnNlVGhpc1R5cGVPclRoaXNUeXBlUHJlZGljYXRlKCk7Y2FzZSA4NzpyZXR1cm4gdGhpcy50c1BhcnNlVHlwZVF1ZXJ5KCk7Y2FzZSA4MzpyZXR1cm4gdGhpcy50c1BhcnNlSW1wb3J0VHlwZSgpO2Nhc2UgNTpyZXR1cm4gdGhpcy50c0xvb2tBaGVhZCh0aGlzLnRzSXNTdGFydE9mTWFwcGVkVHlwZS5iaW5kKHRoaXMpKT90aGlzLnRzUGFyc2VNYXBwZWRUeXBlKCk6dGhpcy50c1BhcnNlVHlwZUxpdGVyYWwoKTtjYXNlIDA6cmV0dXJuIHRoaXMudHNQYXJzZVR1cGxlVHlwZSgpO2Nhc2UgMTA6cmV0dXJuIHRoaXMudHNQYXJzZVBhcmVudGhlc2l6ZWRUeXBlKCk7Y2FzZSAyNTpjYXNlIDI0OnJldHVybiB0aGlzLnRzUGFyc2VUZW1wbGF0ZUxpdGVyYWxUeXBlKCk7ZGVmYXVsdDp7bGV0e3R5cGU6ZX09dGhpcy5zdGF0ZTtpZihDKGUpfHxlPT09ODh8fGU9PT04NCl7bGV0IHM9ZT09PTg4P1wiVFNWb2lkS2V5d29yZFwiOmU9PT04ND9cIlRTTnVsbEtleXdvcmRcIjp6aSh0aGlzLnN0YXRlLnZhbHVlKTtpZihzIT09dm9pZCAwJiZ0aGlzLmxvb2thaGVhZENoYXJDb2RlKCkhPT00Nil7bGV0IGk9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdGhpcy5uZXh0KCksdGhpcy5maW5pc2hOb2RlKGkscyl9cmV0dXJuIHRoaXMudHNQYXJzZVR5cGVSZWZlcmVuY2UoKX19fXRoaXMudW5leHBlY3RlZCgpfXRzUGFyc2VBcnJheVR5cGVPckhpZ2hlcigpe2xldCBlPXRoaXMudHNQYXJzZU5vbkFycmF5VHlwZSgpO2Zvcig7IXRoaXMuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkmJnRoaXMuZWF0KDApOylpZih0aGlzLm1hdGNoKDMpKXtsZXQgcz10aGlzLnN0YXJ0Tm9kZUF0Tm9kZShlKTtzLmVsZW1lbnRUeXBlPWUsdGhpcy5leHBlY3QoMyksZT10aGlzLmZpbmlzaE5vZGUocyxcIlRTQXJyYXlUeXBlXCIpfWVsc2V7bGV0IHM9dGhpcy5zdGFydE5vZGVBdE5vZGUoZSk7cy5vYmplY3RUeXBlPWUscy5pbmRleFR5cGU9dGhpcy50c1BhcnNlVHlwZSgpLHRoaXMuZXhwZWN0KDMpLGU9dGhpcy5maW5pc2hOb2RlKHMsXCJUU0luZGV4ZWRBY2Nlc3NUeXBlXCIpfXJldHVybiBlfXRzUGFyc2VUeXBlT3BlcmF0b3IoKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpLHM9dGhpcy5zdGF0ZS52YWx1ZTtyZXR1cm4gdGhpcy5uZXh0KCksZS5vcGVyYXRvcj1zLGUudHlwZUFubm90YXRpb249dGhpcy50c1BhcnNlVHlwZU9wZXJhdG9yT3JIaWdoZXIoKSxzPT09XCJyZWFkb25seVwiJiZ0aGlzLnRzQ2hlY2tUeXBlQW5ub3RhdGlvbkZvclJlYWRPbmx5KGUpLHRoaXMuZmluaXNoTm9kZShlLFwiVFNUeXBlT3BlcmF0b3JcIil9dHNDaGVja1R5cGVBbm5vdGF0aW9uRm9yUmVhZE9ubHkoZSl7c3dpdGNoKGUudHlwZUFubm90YXRpb24udHlwZSl7Y2FzZVwiVFNUdXBsZVR5cGVcIjpjYXNlXCJUU0FycmF5VHlwZVwiOnJldHVybjtkZWZhdWx0OnRoaXMucmFpc2UoeS5VbmV4cGVjdGVkUmVhZG9ubHksZSl9fXRzUGFyc2VJbmZlclR5cGUoKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpO3RoaXMuZXhwZWN0Q29udGV4dHVhbCgxMTUpO2xldCBzPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIHMubmFtZT10aGlzLnRzUGFyc2VUeXBlUGFyYW1ldGVyTmFtZSgpLHMuY29uc3RyYWludD10aGlzLnRzVHJ5UGFyc2UoKCk9PnRoaXMudHNQYXJzZUNvbnN0cmFpbnRGb3JJbmZlclR5cGUoKSksZS50eXBlUGFyYW1ldGVyPXRoaXMuZmluaXNoTm9kZShzLFwiVFNUeXBlUGFyYW1ldGVyXCIpLHRoaXMuZmluaXNoTm9kZShlLFwiVFNJbmZlclR5cGVcIil9dHNQYXJzZUNvbnN0cmFpbnRGb3JJbmZlclR5cGUoKXtpZih0aGlzLmVhdCg4MSkpe2xldCBlPXRoaXMudHNJbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQoKCk9PnRoaXMudHNQYXJzZVR5cGUoKSk7aWYodGhpcy5zdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHR8fCF0aGlzLm1hdGNoKDE3KSlyZXR1cm4gZX19dHNQYXJzZVR5cGVPcGVyYXRvck9ySGlnaGVyKCl7cmV0dXJuIGxpKHRoaXMuc3RhdGUudHlwZSkmJiF0aGlzLnN0YXRlLmNvbnRhaW5zRXNjP3RoaXMudHNQYXJzZVR5cGVPcGVyYXRvcigpOnRoaXMuaXNDb250ZXh0dWFsKDExNSk/dGhpcy50c1BhcnNlSW5mZXJUeXBlKCk6dGhpcy50c0luQWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dCgoKT0+dGhpcy50c1BhcnNlQXJyYXlUeXBlT3JIaWdoZXIoKSl9dHNQYXJzZVVuaW9uT3JJbnRlcnNlY3Rpb25UeXBlKGUscyxpKXtsZXQgcj10aGlzLnN0YXJ0Tm9kZSgpLG49dGhpcy5lYXQoaSksbz1bXTtkbyBvLnB1c2gocygpKTt3aGlsZSh0aGlzLmVhdChpKSk7cmV0dXJuIG8ubGVuZ3RoPT09MSYmIW4/b1swXTooci50eXBlcz1vLHRoaXMuZmluaXNoTm9kZShyLGUpKX10c1BhcnNlSW50ZXJzZWN0aW9uVHlwZU9ySGlnaGVyKCl7cmV0dXJuIHRoaXMudHNQYXJzZVVuaW9uT3JJbnRlcnNlY3Rpb25UeXBlKFwiVFNJbnRlcnNlY3Rpb25UeXBlXCIsdGhpcy50c1BhcnNlVHlwZU9wZXJhdG9yT3JIaWdoZXIuYmluZCh0aGlzKSw0NSl9dHNQYXJzZVVuaW9uVHlwZU9ySGlnaGVyKCl7cmV0dXJuIHRoaXMudHNQYXJzZVVuaW9uT3JJbnRlcnNlY3Rpb25UeXBlKFwiVFNVbmlvblR5cGVcIix0aGlzLnRzUGFyc2VJbnRlcnNlY3Rpb25UeXBlT3JIaWdoZXIuYmluZCh0aGlzKSw0Myl9dHNJc1N0YXJ0T2ZGdW5jdGlvblR5cGUoKXtyZXR1cm4gdGhpcy5tYXRjaCg0Nyk/ITA6dGhpcy5tYXRjaCgxMCkmJnRoaXMudHNMb29rQWhlYWQodGhpcy50c0lzVW5hbWJpZ3VvdXNseVN0YXJ0T2ZGdW5jdGlvblR5cGUuYmluZCh0aGlzKSl9dHNTa2lwUGFyYW1ldGVyU3RhcnQoKXtpZihDKHRoaXMuc3RhdGUudHlwZSl8fHRoaXMubWF0Y2goNzgpKXJldHVybiB0aGlzLm5leHQoKSwhMDtpZih0aGlzLm1hdGNoKDUpKXtsZXR7ZXJyb3JzOmV9PXRoaXMuc3RhdGUscz1lLmxlbmd0aDt0cnl7cmV0dXJuIHRoaXMucGFyc2VPYmplY3RMaWtlKDgsITApLGUubGVuZ3RoPT09c31jYXRjaHtyZXR1cm4hMX19aWYodGhpcy5tYXRjaCgwKSl7dGhpcy5uZXh0KCk7bGV0e2Vycm9yczplfT10aGlzLnN0YXRlLHM9ZS5sZW5ndGg7dHJ5e3JldHVybiBzdXBlci5wYXJzZUJpbmRpbmdMaXN0KDMsOTMsMSksZS5sZW5ndGg9PT1zfWNhdGNoe3JldHVybiExfX1yZXR1cm4hMX10c0lzVW5hbWJpZ3VvdXNseVN0YXJ0T2ZGdW5jdGlvblR5cGUoKXtyZXR1cm4gdGhpcy5uZXh0KCksISEodGhpcy5tYXRjaCgxMSl8fHRoaXMubWF0Y2goMjEpfHx0aGlzLnRzU2tpcFBhcmFtZXRlclN0YXJ0KCkmJih0aGlzLm1hdGNoKDE0KXx8dGhpcy5tYXRjaCgxMil8fHRoaXMubWF0Y2goMTcpfHx0aGlzLm1hdGNoKDI5KXx8dGhpcy5tYXRjaCgxMSkmJih0aGlzLm5leHQoKSx0aGlzLm1hdGNoKDE5KSkpKX10c1BhcnNlVHlwZU9yVHlwZVByZWRpY2F0ZUFubm90YXRpb24oZSl7cmV0dXJuIHRoaXMudHNJblR5cGUoKCk9PntsZXQgcz10aGlzLnN0YXJ0Tm9kZSgpO3RoaXMuZXhwZWN0KGUpO2xldCBpPXRoaXMuc3RhcnROb2RlKCkscj0hIXRoaXMudHNUcnlQYXJzZSh0aGlzLnRzUGFyc2VUeXBlUHJlZGljYXRlQXNzZXJ0cy5iaW5kKHRoaXMpKTtpZihyJiZ0aGlzLm1hdGNoKDc4KSl7bGV0IGg9dGhpcy50c1BhcnNlVGhpc1R5cGVPclRoaXNUeXBlUHJlZGljYXRlKCk7cmV0dXJuIGgudHlwZT09PVwiVFNUaGlzVHlwZVwiPyhpLnBhcmFtZXRlck5hbWU9aCxpLmFzc2VydHM9ITAsaS50eXBlQW5ub3RhdGlvbj1udWxsLGg9dGhpcy5maW5pc2hOb2RlKGksXCJUU1R5cGVQcmVkaWNhdGVcIikpOih0aGlzLnJlc2V0U3RhcnRMb2NhdGlvbkZyb21Ob2RlKGgsaSksaC5hc3NlcnRzPSEwKSxzLnR5cGVBbm5vdGF0aW9uPWgsdGhpcy5maW5pc2hOb2RlKHMsXCJUU1R5cGVBbm5vdGF0aW9uXCIpfWxldCBuPXRoaXMudHNJc0lkZW50aWZpZXIoKSYmdGhpcy50c1RyeVBhcnNlKHRoaXMudHNQYXJzZVR5cGVQcmVkaWNhdGVQcmVmaXguYmluZCh0aGlzKSk7aWYoIW4pcmV0dXJuIHI/KGkucGFyYW1ldGVyTmFtZT10aGlzLnBhcnNlSWRlbnRpZmllcigpLGkuYXNzZXJ0cz1yLGkudHlwZUFubm90YXRpb249bnVsbCxzLnR5cGVBbm5vdGF0aW9uPXRoaXMuZmluaXNoTm9kZShpLFwiVFNUeXBlUHJlZGljYXRlXCIpLHRoaXMuZmluaXNoTm9kZShzLFwiVFNUeXBlQW5ub3RhdGlvblwiKSk6dGhpcy50c1BhcnNlVHlwZUFubm90YXRpb24oITEscyk7bGV0IG89dGhpcy50c1BhcnNlVHlwZUFubm90YXRpb24oITEpO3JldHVybiBpLnBhcmFtZXRlck5hbWU9bixpLnR5cGVBbm5vdGF0aW9uPW8saS5hc3NlcnRzPXIscy50eXBlQW5ub3RhdGlvbj10aGlzLmZpbmlzaE5vZGUoaSxcIlRTVHlwZVByZWRpY2F0ZVwiKSx0aGlzLmZpbmlzaE5vZGUocyxcIlRTVHlwZUFubm90YXRpb25cIil9KX10c1RyeVBhcnNlVHlwZU9yVHlwZVByZWRpY2F0ZUFubm90YXRpb24oKXtpZih0aGlzLm1hdGNoKDE0KSlyZXR1cm4gdGhpcy50c1BhcnNlVHlwZU9yVHlwZVByZWRpY2F0ZUFubm90YXRpb24oMTQpfXRzVHJ5UGFyc2VUeXBlQW5ub3RhdGlvbigpe2lmKHRoaXMubWF0Y2goMTQpKXJldHVybiB0aGlzLnRzUGFyc2VUeXBlQW5ub3RhdGlvbigpfXRzVHJ5UGFyc2VUeXBlKCl7cmV0dXJuIHRoaXMudHNFYXRUaGVuUGFyc2VUeXBlKDE0KX10c1BhcnNlVHlwZVByZWRpY2F0ZVByZWZpeCgpe2xldCBlPXRoaXMucGFyc2VJZGVudGlmaWVyKCk7aWYodGhpcy5pc0NvbnRleHR1YWwoMTE2KSYmIXRoaXMuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpcmV0dXJuIHRoaXMubmV4dCgpLGV9dHNQYXJzZVR5cGVQcmVkaWNhdGVBc3NlcnRzKCl7aWYodGhpcy5zdGF0ZS50eXBlIT09MTA5KXJldHVybiExO2xldCBlPXRoaXMuc3RhdGUuY29udGFpbnNFc2M7cmV0dXJuIHRoaXMubmV4dCgpLCFDKHRoaXMuc3RhdGUudHlwZSkmJiF0aGlzLm1hdGNoKDc4KT8hMTooZSYmdGhpcy5yYWlzZShwLkludmFsaWRFc2NhcGVkUmVzZXJ2ZWRXb3JkLHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jLHtyZXNlcnZlZFdvcmQ6XCJhc3NlcnRzXCJ9KSwhMCl9dHNQYXJzZVR5cGVBbm5vdGF0aW9uKGU9ITAscz10aGlzLnN0YXJ0Tm9kZSgpKXtyZXR1cm4gdGhpcy50c0luVHlwZSgoKT0+e2UmJnRoaXMuZXhwZWN0KDE0KSxzLnR5cGVBbm5vdGF0aW9uPXRoaXMudHNQYXJzZVR5cGUoKX0pLHRoaXMuZmluaXNoTm9kZShzLFwiVFNUeXBlQW5ub3RhdGlvblwiKX10c1BhcnNlVHlwZSgpe1J0KHRoaXMuc3RhdGUuaW5UeXBlKTtsZXQgZT10aGlzLnRzUGFyc2VOb25Db25kaXRpb25hbFR5cGUoKTtpZih0aGlzLnN0YXRlLmluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dHx8dGhpcy5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKXx8IXRoaXMuZWF0KDgxKSlyZXR1cm4gZTtsZXQgcz10aGlzLnN0YXJ0Tm9kZUF0Tm9kZShlKTtyZXR1cm4gcy5jaGVja1R5cGU9ZSxzLmV4dGVuZHNUeXBlPXRoaXMudHNJbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQoKCk9PnRoaXMudHNQYXJzZU5vbkNvbmRpdGlvbmFsVHlwZSgpKSx0aGlzLmV4cGVjdCgxNykscy50cnVlVHlwZT10aGlzLnRzSW5BbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0KCgpPT50aGlzLnRzUGFyc2VUeXBlKCkpLHRoaXMuZXhwZWN0KDE0KSxzLmZhbHNlVHlwZT10aGlzLnRzSW5BbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0KCgpPT50aGlzLnRzUGFyc2VUeXBlKCkpLHRoaXMuZmluaXNoTm9kZShzLFwiVFNDb25kaXRpb25hbFR5cGVcIil9aXNBYnN0cmFjdENvbnN0cnVjdG9yU2lnbmF0dXJlKCl7cmV0dXJuIHRoaXMuaXNDb250ZXh0dWFsKDEyNCkmJnRoaXMubG9va2FoZWFkKCkudHlwZT09PTc3fXRzUGFyc2VOb25Db25kaXRpb25hbFR5cGUoKXtyZXR1cm4gdGhpcy50c0lzU3RhcnRPZkZ1bmN0aW9uVHlwZSgpP3RoaXMudHNQYXJzZUZ1bmN0aW9uT3JDb25zdHJ1Y3RvclR5cGUoXCJUU0Z1bmN0aW9uVHlwZVwiKTp0aGlzLm1hdGNoKDc3KT90aGlzLnRzUGFyc2VGdW5jdGlvbk9yQ29uc3RydWN0b3JUeXBlKFwiVFNDb25zdHJ1Y3RvclR5cGVcIik6dGhpcy5pc0Fic3RyYWN0Q29uc3RydWN0b3JTaWduYXR1cmUoKT90aGlzLnRzUGFyc2VGdW5jdGlvbk9yQ29uc3RydWN0b3JUeXBlKFwiVFNDb25zdHJ1Y3RvclR5cGVcIiwhMCk6dGhpcy50c1BhcnNlVW5pb25UeXBlT3JIaWdoZXIoKX10c1BhcnNlVHlwZUFzc2VydGlvbigpe3RoaXMuZ2V0UGx1Z2luT3B0aW9uKFwidHlwZXNjcmlwdFwiLFwiZGlzYWxsb3dBbWJpZ3VvdXNKU1hMaWtlXCIpJiZ0aGlzLnJhaXNlKHkuUmVzZXJ2ZWRUeXBlQXNzZXJ0aW9uLHRoaXMuc3RhdGUuc3RhcnRMb2MpO2xldCBlPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIGUudHlwZUFubm90YXRpb249dGhpcy50c0luVHlwZSgoKT0+KHRoaXMubmV4dCgpLHRoaXMubWF0Y2goNzUpP3RoaXMudHNQYXJzZVR5cGVSZWZlcmVuY2UoKTp0aGlzLnRzUGFyc2VUeXBlKCkpKSx0aGlzLmV4cGVjdCg0OCksZS5leHByZXNzaW9uPXRoaXMucGFyc2VNYXliZVVuYXJ5KCksdGhpcy5maW5pc2hOb2RlKGUsXCJUU1R5cGVBc3NlcnRpb25cIil9dHNQYXJzZUhlcml0YWdlQ2xhdXNlKGUpe2xldCBzPXRoaXMuc3RhdGUuc3RhcnRMb2MsaT10aGlzLnRzUGFyc2VEZWxpbWl0ZWRMaXN0KFwiSGVyaXRhZ2VDbGF1c2VFbGVtZW50XCIsKCk9PntsZXQgcj10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiByLmV4cHJlc3Npb249dGhpcy50c1BhcnNlRW50aXR5TmFtZSgpLHRoaXMubWF0Y2goNDcpJiYoci50eXBlUGFyYW1ldGVycz10aGlzLnRzUGFyc2VUeXBlQXJndW1lbnRzKCkpLHRoaXMuZmluaXNoTm9kZShyLFwiVFNFeHByZXNzaW9uV2l0aFR5cGVBcmd1bWVudHNcIil9KTtyZXR1cm4gaS5sZW5ndGh8fHRoaXMucmFpc2UoeS5FbXB0eUhlcml0YWdlQ2xhdXNlVHlwZSxzLHt0b2tlbjplfSksaX10c1BhcnNlSW50ZXJmYWNlRGVjbGFyYXRpb24oZSxzPXt9KXtpZih0aGlzLmhhc0ZvbGxvd2luZ0xpbmVCcmVhaygpKXJldHVybiBudWxsO3RoaXMuZXhwZWN0Q29udGV4dHVhbCgxMjkpLHMuZGVjbGFyZSYmKGUuZGVjbGFyZT0hMCksQyh0aGlzLnN0YXRlLnR5cGUpPyhlLmlkPXRoaXMucGFyc2VJZGVudGlmaWVyKCksdGhpcy5jaGVja0lkZW50aWZpZXIoZS5pZCwxMzApKTooZS5pZD1udWxsLHRoaXMucmFpc2UoeS5NaXNzaW5nSW50ZXJmYWNlTmFtZSx0aGlzLnN0YXRlLnN0YXJ0TG9jKSksZS50eXBlUGFyYW1ldGVycz10aGlzLnRzVHJ5UGFyc2VUeXBlUGFyYW1ldGVycyh0aGlzLnRzUGFyc2VJbk91dENvbnN0TW9kaWZpZXJzKSx0aGlzLmVhdCg4MSkmJihlLmV4dGVuZHM9dGhpcy50c1BhcnNlSGVyaXRhZ2VDbGF1c2UoXCJleHRlbmRzXCIpKTtsZXQgaT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiBpLmJvZHk9dGhpcy50c0luVHlwZSh0aGlzLnRzUGFyc2VPYmplY3RUeXBlTWVtYmVycy5iaW5kKHRoaXMpKSxlLmJvZHk9dGhpcy5maW5pc2hOb2RlKGksXCJUU0ludGVyZmFjZUJvZHlcIiksdGhpcy5maW5pc2hOb2RlKGUsXCJUU0ludGVyZmFjZURlY2xhcmF0aW9uXCIpfXRzUGFyc2VUeXBlQWxpYXNEZWNsYXJhdGlvbihlKXtyZXR1cm4gZS5pZD10aGlzLnBhcnNlSWRlbnRpZmllcigpLHRoaXMuY2hlY2tJZGVudGlmaWVyKGUuaWQsMiksZS50eXBlQW5ub3RhdGlvbj10aGlzLnRzSW5UeXBlKCgpPT57aWYoZS50eXBlUGFyYW1ldGVycz10aGlzLnRzVHJ5UGFyc2VUeXBlUGFyYW1ldGVycyh0aGlzLnRzUGFyc2VJbk91dE1vZGlmaWVycyksdGhpcy5leHBlY3QoMjkpLHRoaXMuaXNDb250ZXh0dWFsKDExNCkmJnRoaXMubG9va2FoZWFkKCkudHlwZSE9PTE2KXtsZXQgcz10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLm5leHQoKSx0aGlzLmZpbmlzaE5vZGUocyxcIlRTSW50cmluc2ljS2V5d29yZFwiKX1yZXR1cm4gdGhpcy50c1BhcnNlVHlwZSgpfSksdGhpcy5zZW1pY29sb24oKSx0aGlzLmZpbmlzaE5vZGUoZSxcIlRTVHlwZUFsaWFzRGVjbGFyYXRpb25cIil9dHNJbk5vQ29udGV4dChlKXtsZXQgcz10aGlzLnN0YXRlLmNvbnRleHQ7dGhpcy5zdGF0ZS5jb250ZXh0PVtzWzBdXTt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e3RoaXMuc3RhdGUuY29udGV4dD1zfX10c0luVHlwZShlKXtsZXQgcz10aGlzLnN0YXRlLmluVHlwZTt0aGlzLnN0YXRlLmluVHlwZT0hMDt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e3RoaXMuc3RhdGUuaW5UeXBlPXN9fXRzSW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0KGUpe2xldCBzPXRoaXMuc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0O3RoaXMuc3RhdGUuaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0PSEwO3RyeXtyZXR1cm4gZSgpfWZpbmFsbHl7dGhpcy5zdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQ9c319dHNJbkFsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQoZSl7bGV0IHM9dGhpcy5zdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQ7dGhpcy5zdGF0ZS5pbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQ9ITE7dHJ5e3JldHVybiBlKCl9ZmluYWxseXt0aGlzLnN0YXRlLmluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dD1zfX10c0VhdFRoZW5QYXJzZVR5cGUoZSl7aWYodGhpcy5tYXRjaChlKSlyZXR1cm4gdGhpcy50c05leHRUaGVuUGFyc2VUeXBlKCl9dHNFeHBlY3RUaGVuUGFyc2VUeXBlKGUpe3JldHVybiB0aGlzLnRzSW5UeXBlKCgpPT4odGhpcy5leHBlY3QoZSksdGhpcy50c1BhcnNlVHlwZSgpKSl9dHNOZXh0VGhlblBhcnNlVHlwZSgpe3JldHVybiB0aGlzLnRzSW5UeXBlKCgpPT4odGhpcy5uZXh0KCksdGhpcy50c1BhcnNlVHlwZSgpKSl9dHNQYXJzZUVudW1NZW1iZXIoKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiBlLmlkPXRoaXMubWF0Y2goMTM0KT9zdXBlci5wYXJzZVN0cmluZ0xpdGVyYWwodGhpcy5zdGF0ZS52YWx1ZSk6dGhpcy5wYXJzZUlkZW50aWZpZXIoITApLHRoaXMuZWF0KDI5KSYmKGUuaW5pdGlhbGl6ZXI9c3VwZXIucGFyc2VNYXliZUFzc2lnbkFsbG93SW4oKSksdGhpcy5maW5pc2hOb2RlKGUsXCJUU0VudW1NZW1iZXJcIil9dHNQYXJzZUVudW1EZWNsYXJhdGlvbihlLHM9e30pe3JldHVybiBzLmNvbnN0JiYoZS5jb25zdD0hMCkscy5kZWNsYXJlJiYoZS5kZWNsYXJlPSEwKSx0aGlzLmV4cGVjdENvbnRleHR1YWwoMTI2KSxlLmlkPXRoaXMucGFyc2VJZGVudGlmaWVyKCksdGhpcy5jaGVja0lkZW50aWZpZXIoZS5pZCxlLmNvbnN0Pzg5NzE6ODQ1OSksdGhpcy5leHBlY3QoNSksZS5tZW1iZXJzPXRoaXMudHNQYXJzZURlbGltaXRlZExpc3QoXCJFbnVtTWVtYmVyc1wiLHRoaXMudHNQYXJzZUVudW1NZW1iZXIuYmluZCh0aGlzKSksdGhpcy5leHBlY3QoOCksdGhpcy5maW5pc2hOb2RlKGUsXCJUU0VudW1EZWNsYXJhdGlvblwiKX10c1BhcnNlTW9kdWxlQmxvY2soKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLnNjb3BlLmVudGVyKDApLHRoaXMuZXhwZWN0KDUpLHN1cGVyLnBhcnNlQmxvY2tPck1vZHVsZUJsb2NrQm9keShlLmJvZHk9W10sdm9pZCAwLCEwLDgpLHRoaXMuc2NvcGUuZXhpdCgpLHRoaXMuZmluaXNoTm9kZShlLFwiVFNNb2R1bGVCbG9ja1wiKX10c1BhcnNlTW9kdWxlT3JOYW1lc3BhY2VEZWNsYXJhdGlvbihlLHM9ITEpe2lmKGUuaWQ9dGhpcy5wYXJzZUlkZW50aWZpZXIoKSxzfHx0aGlzLmNoZWNrSWRlbnRpZmllcihlLmlkLDEwMjQpLHRoaXMuZWF0KDE2KSl7bGV0IGk9dGhpcy5zdGFydE5vZGUoKTt0aGlzLnRzUGFyc2VNb2R1bGVPck5hbWVzcGFjZURlY2xhcmF0aW9uKGksITApLGUuYm9keT1pfWVsc2UgdGhpcy5zY29wZS5lbnRlcigyNTYpLHRoaXMucHJvZFBhcmFtLmVudGVyKDApLGUuYm9keT10aGlzLnRzUGFyc2VNb2R1bGVCbG9jaygpLHRoaXMucHJvZFBhcmFtLmV4aXQoKSx0aGlzLnNjb3BlLmV4aXQoKTtyZXR1cm4gdGhpcy5maW5pc2hOb2RlKGUsXCJUU01vZHVsZURlY2xhcmF0aW9uXCIpfXRzUGFyc2VBbWJpZW50RXh0ZXJuYWxNb2R1bGVEZWNsYXJhdGlvbihlKXtyZXR1cm4gdGhpcy5pc0NvbnRleHR1YWwoMTEyKT8oZS5raW5kPVwiZ2xvYmFsXCIsZS5nbG9iYWw9ITAsZS5pZD10aGlzLnBhcnNlSWRlbnRpZmllcigpKTp0aGlzLm1hdGNoKDEzNCk/KGUua2luZD1cIm1vZHVsZVwiLGUuaWQ9c3VwZXIucGFyc2VTdHJpbmdMaXRlcmFsKHRoaXMuc3RhdGUudmFsdWUpKTp0aGlzLnVuZXhwZWN0ZWQoKSx0aGlzLm1hdGNoKDUpPyh0aGlzLnNjb3BlLmVudGVyKDI1NiksdGhpcy5wcm9kUGFyYW0uZW50ZXIoMCksZS5ib2R5PXRoaXMudHNQYXJzZU1vZHVsZUJsb2NrKCksdGhpcy5wcm9kUGFyYW0uZXhpdCgpLHRoaXMuc2NvcGUuZXhpdCgpKTp0aGlzLnNlbWljb2xvbigpLHRoaXMuZmluaXNoTm9kZShlLFwiVFNNb2R1bGVEZWNsYXJhdGlvblwiKX10c1BhcnNlSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24oZSxzLGkpe2UuaXNFeHBvcnQ9aXx8ITEsZS5pZD1zfHx0aGlzLnBhcnNlSWRlbnRpZmllcigpLHRoaXMuY2hlY2tJZGVudGlmaWVyKGUuaWQsNDA5NiksdGhpcy5leHBlY3QoMjkpO2xldCByPXRoaXMudHNQYXJzZU1vZHVsZVJlZmVyZW5jZSgpO3JldHVybiBlLmltcG9ydEtpbmQ9PT1cInR5cGVcIiYmci50eXBlIT09XCJUU0V4dGVybmFsTW9kdWxlUmVmZXJlbmNlXCImJnRoaXMucmFpc2UoeS5JbXBvcnRBbGlhc0hhc0ltcG9ydFR5cGUsciksZS5tb2R1bGVSZWZlcmVuY2U9cix0aGlzLnNlbWljb2xvbigpLHRoaXMuZmluaXNoTm9kZShlLFwiVFNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvblwiKX10c0lzRXh0ZXJuYWxNb2R1bGVSZWZlcmVuY2UoKXtyZXR1cm4gdGhpcy5pc0NvbnRleHR1YWwoMTE5KSYmdGhpcy5sb29rYWhlYWRDaGFyQ29kZSgpPT09NDB9dHNQYXJzZU1vZHVsZVJlZmVyZW5jZSgpe3JldHVybiB0aGlzLnRzSXNFeHRlcm5hbE1vZHVsZVJlZmVyZW5jZSgpP3RoaXMudHNQYXJzZUV4dGVybmFsTW9kdWxlUmVmZXJlbmNlKCk6dGhpcy50c1BhcnNlRW50aXR5TmFtZSghMSl9dHNQYXJzZUV4dGVybmFsTW9kdWxlUmVmZXJlbmNlKCl7bGV0IGU9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdGhpcy5leHBlY3RDb250ZXh0dWFsKDExOSksdGhpcy5leHBlY3QoMTApLHRoaXMubWF0Y2goMTM0KXx8dGhpcy51bmV4cGVjdGVkKCksZS5leHByZXNzaW9uPXN1cGVyLnBhcnNlRXhwckF0b20oKSx0aGlzLmV4cGVjdCgxMSksdGhpcy5zYXdVbmFtYmlndW91c0VTTT0hMCx0aGlzLmZpbmlzaE5vZGUoZSxcIlRTRXh0ZXJuYWxNb2R1bGVSZWZlcmVuY2VcIil9dHNMb29rQWhlYWQoZSl7bGV0IHM9dGhpcy5zdGF0ZS5jbG9uZSgpLGk9ZSgpO3JldHVybiB0aGlzLnN0YXRlPXMsaX10c1RyeVBhcnNlQW5kQ2F0Y2goZSl7bGV0IHM9dGhpcy50cnlQYXJzZShpPT5lKCl8fGkoKSk7aWYoIShzLmFib3J0ZWR8fCFzLm5vZGUpKXJldHVybiBzLmVycm9yJiYodGhpcy5zdGF0ZT1zLmZhaWxTdGF0ZSkscy5ub2RlfXRzVHJ5UGFyc2UoZSl7bGV0IHM9dGhpcy5zdGF0ZS5jbG9uZSgpLGk9ZSgpO2lmKGkhPT12b2lkIDAmJmkhPT0hMSlyZXR1cm4gaTt0aGlzLnN0YXRlPXN9dHNUcnlQYXJzZURlY2xhcmUoZSl7aWYodGhpcy5pc0xpbmVUZXJtaW5hdG9yKCkpcmV0dXJuO2xldCBzPXRoaXMuc3RhdGUudHlwZSxpO3JldHVybiB0aGlzLmlzQ29udGV4dHVhbCgxMDApJiYocz03NCxpPVwibGV0XCIpLHRoaXMudHNJbkFtYmllbnRDb250ZXh0KCgpPT57c3dpdGNoKHMpe2Nhc2UgNjg6cmV0dXJuIGUuZGVjbGFyZT0hMCxzdXBlci5wYXJzZUZ1bmN0aW9uU3RhdGVtZW50KGUsITEsITEpO2Nhc2UgODA6cmV0dXJuIGUuZGVjbGFyZT0hMCx0aGlzLnBhcnNlQ2xhc3MoZSwhMCwhMSk7Y2FzZSAxMjY6cmV0dXJuIHRoaXMudHNQYXJzZUVudW1EZWNsYXJhdGlvbihlLHtkZWNsYXJlOiEwfSk7Y2FzZSAxMTI6cmV0dXJuIHRoaXMudHNQYXJzZUFtYmllbnRFeHRlcm5hbE1vZHVsZURlY2xhcmF0aW9uKGUpO2Nhc2UgNzU6Y2FzZSA3NDpyZXR1cm4hdGhpcy5tYXRjaCg3NSl8fCF0aGlzLmlzTG9va2FoZWFkQ29udGV4dHVhbChcImVudW1cIik/KGUuZGVjbGFyZT0hMCx0aGlzLnBhcnNlVmFyU3RhdGVtZW50KGUsaXx8dGhpcy5zdGF0ZS52YWx1ZSwhMCkpOih0aGlzLmV4cGVjdCg3NSksdGhpcy50c1BhcnNlRW51bURlY2xhcmF0aW9uKGUse2NvbnN0OiEwLGRlY2xhcmU6ITB9KSk7Y2FzZSAxMjk6e2xldCByPXRoaXMudHNQYXJzZUludGVyZmFjZURlY2xhcmF0aW9uKGUse2RlY2xhcmU6ITB9KTtpZihyKXJldHVybiByfWRlZmF1bHQ6aWYoQyhzKSlyZXR1cm4gdGhpcy50c1BhcnNlRGVjbGFyYXRpb24oZSx0aGlzLnN0YXRlLnZhbHVlLCEwLG51bGwpfX0pfXRzVHJ5UGFyc2VFeHBvcnREZWNsYXJhdGlvbigpe3JldHVybiB0aGlzLnRzUGFyc2VEZWNsYXJhdGlvbih0aGlzLnN0YXJ0Tm9kZSgpLHRoaXMuc3RhdGUudmFsdWUsITAsbnVsbCl9dHNQYXJzZUV4cHJlc3Npb25TdGF0ZW1lbnQoZSxzLGkpe3N3aXRjaChzLm5hbWUpe2Nhc2VcImRlY2xhcmVcIjp7bGV0IHI9dGhpcy50c1RyeVBhcnNlRGVjbGFyZShlKTtyZXR1cm4gciYmKHIuZGVjbGFyZT0hMCkscn1jYXNlXCJnbG9iYWxcIjppZih0aGlzLm1hdGNoKDUpKXt0aGlzLnNjb3BlLmVudGVyKDI1NiksdGhpcy5wcm9kUGFyYW0uZW50ZXIoMCk7bGV0IHI9ZTtyZXR1cm4gci5raW5kPVwiZ2xvYmFsXCIsci5nbG9iYWw9ITAsci5pZD1zLHIuYm9keT10aGlzLnRzUGFyc2VNb2R1bGVCbG9jaygpLHRoaXMuc2NvcGUuZXhpdCgpLHRoaXMucHJvZFBhcmFtLmV4aXQoKSx0aGlzLmZpbmlzaE5vZGUocixcIlRTTW9kdWxlRGVjbGFyYXRpb25cIil9YnJlYWs7ZGVmYXVsdDpyZXR1cm4gdGhpcy50c1BhcnNlRGVjbGFyYXRpb24oZSxzLm5hbWUsITEsaSl9fXRzUGFyc2VEZWNsYXJhdGlvbihlLHMsaSxyKXtzd2l0Y2gocyl7Y2FzZVwiYWJzdHJhY3RcIjppZih0aGlzLnRzQ2hlY2tMaW5lVGVybWluYXRvcihpKSYmKHRoaXMubWF0Y2goODApfHxDKHRoaXMuc3RhdGUudHlwZSkpKXJldHVybiB0aGlzLnRzUGFyc2VBYnN0cmFjdERlY2xhcmF0aW9uKGUscik7YnJlYWs7Y2FzZVwibW9kdWxlXCI6aWYodGhpcy50c0NoZWNrTGluZVRlcm1pbmF0b3IoaSkpe2lmKHRoaXMubWF0Y2goMTM0KSlyZXR1cm4gdGhpcy50c1BhcnNlQW1iaWVudEV4dGVybmFsTW9kdWxlRGVjbGFyYXRpb24oZSk7aWYoQyh0aGlzLnN0YXRlLnR5cGUpKXJldHVybiBlLmtpbmQ9XCJtb2R1bGVcIix0aGlzLnRzUGFyc2VNb2R1bGVPck5hbWVzcGFjZURlY2xhcmF0aW9uKGUpfWJyZWFrO2Nhc2VcIm5hbWVzcGFjZVwiOmlmKHRoaXMudHNDaGVja0xpbmVUZXJtaW5hdG9yKGkpJiZDKHRoaXMuc3RhdGUudHlwZSkpcmV0dXJuIGUua2luZD1cIm5hbWVzcGFjZVwiLHRoaXMudHNQYXJzZU1vZHVsZU9yTmFtZXNwYWNlRGVjbGFyYXRpb24oZSk7YnJlYWs7Y2FzZVwidHlwZVwiOmlmKHRoaXMudHNDaGVja0xpbmVUZXJtaW5hdG9yKGkpJiZDKHRoaXMuc3RhdGUudHlwZSkpcmV0dXJuIHRoaXMudHNQYXJzZVR5cGVBbGlhc0RlY2xhcmF0aW9uKGUpO2JyZWFrfX10c0NoZWNrTGluZVRlcm1pbmF0b3IoZSl7cmV0dXJuIGU/dGhpcy5oYXNGb2xsb3dpbmdMaW5lQnJlYWsoKT8hMToodGhpcy5uZXh0KCksITApOiF0aGlzLmlzTGluZVRlcm1pbmF0b3IoKX10c1RyeVBhcnNlR2VuZXJpY0FzeW5jQXJyb3dGdW5jdGlvbihlKXtpZighdGhpcy5tYXRjaCg0NykpcmV0dXJuO2xldCBzPXRoaXMuc3RhdGUubWF5YmVJbkFycm93UGFyYW1ldGVyczt0aGlzLnN0YXRlLm1heWJlSW5BcnJvd1BhcmFtZXRlcnM9ITA7bGV0IGk9dGhpcy50c1RyeVBhcnNlQW5kQ2F0Y2goKCk9PntsZXQgcj10aGlzLnN0YXJ0Tm9kZUF0KGUpO3JldHVybiByLnR5cGVQYXJhbWV0ZXJzPXRoaXMudHNQYXJzZVR5cGVQYXJhbWV0ZXJzKHRoaXMudHNQYXJzZUNvbnN0TW9kaWZpZXIpLHN1cGVyLnBhcnNlRnVuY3Rpb25QYXJhbXMociksci5yZXR1cm5UeXBlPXRoaXMudHNUcnlQYXJzZVR5cGVPclR5cGVQcmVkaWNhdGVBbm5vdGF0aW9uKCksdGhpcy5leHBlY3QoMTkpLHJ9KTtpZih0aGlzLnN0YXRlLm1heWJlSW5BcnJvd1BhcmFtZXRlcnM9cywhIWkpcmV0dXJuIHN1cGVyLnBhcnNlQXJyb3dFeHByZXNzaW9uKGksbnVsbCwhMCl9dHNQYXJzZVR5cGVBcmd1bWVudHNJbkV4cHJlc3Npb24oKXtpZih0aGlzLnJlU2Nhbl9sdCgpPT09NDcpcmV0dXJuIHRoaXMudHNQYXJzZVR5cGVBcmd1bWVudHMoKX10c1BhcnNlVHlwZUFyZ3VtZW50cygpe2xldCBlPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIGUucGFyYW1zPXRoaXMudHNJblR5cGUoKCk9PnRoaXMudHNJbk5vQ29udGV4dCgoKT0+KHRoaXMuZXhwZWN0KDQ3KSx0aGlzLnRzUGFyc2VEZWxpbWl0ZWRMaXN0KFwiVHlwZVBhcmFtZXRlcnNPckFyZ3VtZW50c1wiLHRoaXMudHNQYXJzZVR5cGUuYmluZCh0aGlzKSkpKSksZS5wYXJhbXMubGVuZ3RoPT09MD90aGlzLnJhaXNlKHkuRW1wdHlUeXBlQXJndW1lbnRzLGUpOiF0aGlzLnN0YXRlLmluVHlwZSYmdGhpcy5jdXJDb250ZXh0KCk9PT1FLmJyYWNlJiZ0aGlzLnJlU2Nhbl9sdF9ndCgpLHRoaXMuZXhwZWN0KDQ4KSx0aGlzLmZpbmlzaE5vZGUoZSxcIlRTVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb25cIil9dHNJc0RlY2xhcmF0aW9uU3RhcnQoKXtyZXR1cm4gY2kodGhpcy5zdGF0ZS50eXBlKX1pc0V4cG9ydERlZmF1bHRTcGVjaWZpZXIoKXtyZXR1cm4gdGhpcy50c0lzRGVjbGFyYXRpb25TdGFydCgpPyExOnN1cGVyLmlzRXhwb3J0RGVmYXVsdFNwZWNpZmllcigpfXBhcnNlQXNzaWduYWJsZUxpc3RJdGVtKGUscyl7bGV0IGk9dGhpcy5zdGF0ZS5zdGFydExvYyxyPXt9O3RoaXMudHNQYXJzZU1vZGlmaWVycyh7YWxsb3dlZE1vZGlmaWVyczpbXCJwdWJsaWNcIixcInByaXZhdGVcIixcInByb3RlY3RlZFwiLFwib3ZlcnJpZGVcIixcInJlYWRvbmx5XCJdfSxyKTtsZXQgbj1yLmFjY2Vzc2liaWxpdHksbz1yLm92ZXJyaWRlLGg9ci5yZWFkb25seTshKGUmNCkmJihufHxofHxvKSYmdGhpcy5yYWlzZSh5LlVuZXhwZWN0ZWRQYXJhbWV0ZXJNb2RpZmllcixpKTtsZXQgbD10aGlzLnBhcnNlTWF5YmVEZWZhdWx0KCk7ZSYyJiZ0aGlzLnBhcnNlRnVuY3Rpb25QYXJhbVR5cGUobCk7bGV0IGM9dGhpcy5wYXJzZU1heWJlRGVmYXVsdChsLmxvYy5zdGFydCxsKTtpZihufHxofHxvKXtsZXQgdT10aGlzLnN0YXJ0Tm9kZUF0KGkpO3JldHVybiBzLmxlbmd0aCYmKHUuZGVjb3JhdG9ycz1zKSxuJiYodS5hY2Nlc3NpYmlsaXR5PW4pLGgmJih1LnJlYWRvbmx5PWgpLG8mJih1Lm92ZXJyaWRlPW8pLGMudHlwZSE9PVwiSWRlbnRpZmllclwiJiZjLnR5cGUhPT1cIkFzc2lnbm1lbnRQYXR0ZXJuXCImJnRoaXMucmFpc2UoeS5VbnN1cHBvcnRlZFBhcmFtZXRlclByb3BlcnR5S2luZCx1KSx1LnBhcmFtZXRlcj1jLHRoaXMuZmluaXNoTm9kZSh1LFwiVFNQYXJhbWV0ZXJQcm9wZXJ0eVwiKX1yZXR1cm4gcy5sZW5ndGgmJihsLmRlY29yYXRvcnM9cyksY31pc1NpbXBsZVBhcmFtZXRlcihlKXtyZXR1cm4gZS50eXBlPT09XCJUU1BhcmFtZXRlclByb3BlcnR5XCImJnN1cGVyLmlzU2ltcGxlUGFyYW1ldGVyKGUucGFyYW1ldGVyKXx8c3VwZXIuaXNTaW1wbGVQYXJhbWV0ZXIoZSl9dHNEaXNhbGxvd09wdGlvbmFsUGF0dGVybihlKXtmb3IobGV0IHMgb2YgZS5wYXJhbXMpcy50eXBlIT09XCJJZGVudGlmaWVyXCImJnMub3B0aW9uYWwmJiF0aGlzLnN0YXRlLmlzQW1iaWVudENvbnRleHQmJnRoaXMucmFpc2UoeS5QYXR0ZXJuSXNPcHRpb25hbCxzKX1zZXRBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycyhlLHMsaSl7c3VwZXIuc2V0QXJyb3dGdW5jdGlvblBhcmFtZXRlcnMoZSxzLGkpLHRoaXMudHNEaXNhbGxvd09wdGlvbmFsUGF0dGVybihlKX1wYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaChlLHMsaT0hMSl7dGhpcy5tYXRjaCgxNCkmJihlLnJldHVyblR5cGU9dGhpcy50c1BhcnNlVHlwZU9yVHlwZVByZWRpY2F0ZUFubm90YXRpb24oMTQpKTtsZXQgcj1zPT09XCJGdW5jdGlvbkRlY2xhcmF0aW9uXCI/XCJUU0RlY2xhcmVGdW5jdGlvblwiOnM9PT1cIkNsYXNzTWV0aG9kXCJ8fHM9PT1cIkNsYXNzUHJpdmF0ZU1ldGhvZFwiP1wiVFNEZWNsYXJlTWV0aG9kXCI6dm9pZCAwO3JldHVybiByJiYhdGhpcy5tYXRjaCg1KSYmdGhpcy5pc0xpbmVUZXJtaW5hdG9yKCk/dGhpcy5maW5pc2hOb2RlKGUscik6cj09PVwiVFNEZWNsYXJlRnVuY3Rpb25cIiYmdGhpcy5zdGF0ZS5pc0FtYmllbnRDb250ZXh0JiYodGhpcy5yYWlzZSh5LkRlY2xhcmVGdW5jdGlvbkhhc0ltcGxlbWVudGF0aW9uLGUpLGUuZGVjbGFyZSk/c3VwZXIucGFyc2VGdW5jdGlvbkJvZHlBbmRGaW5pc2goZSxyLGkpOih0aGlzLnRzRGlzYWxsb3dPcHRpb25hbFBhdHRlcm4oZSksc3VwZXIucGFyc2VGdW5jdGlvbkJvZHlBbmRGaW5pc2goZSxzLGkpKX1yZWdpc3RlckZ1bmN0aW9uU3RhdGVtZW50SWQoZSl7IWUuYm9keSYmZS5pZD90aGlzLmNoZWNrSWRlbnRpZmllcihlLmlkLDEwMjQpOnN1cGVyLnJlZ2lzdGVyRnVuY3Rpb25TdGF0ZW1lbnRJZChlKX10c0NoZWNrRm9ySW52YWxpZFR5cGVDYXN0cyhlKXtlLmZvckVhY2gocz0+eyhzPT1udWxsP3ZvaWQgMDpzLnR5cGUpPT09XCJUU1R5cGVDYXN0RXhwcmVzc2lvblwiJiZ0aGlzLnJhaXNlKHkuVW5leHBlY3RlZFR5cGVBbm5vdGF0aW9uLHMudHlwZUFubm90YXRpb24pfSl9dG9SZWZlcmVuY2VkTGlzdChlLHMpe3JldHVybiB0aGlzLnRzQ2hlY2tGb3JJbnZhbGlkVHlwZUNhc3RzKGUpLGV9cGFyc2VBcnJheUxpa2UoZSxzLGkscil7bGV0IG49c3VwZXIucGFyc2VBcnJheUxpa2UoZSxzLGkscik7cmV0dXJuIG4udHlwZT09PVwiQXJyYXlFeHByZXNzaW9uXCImJnRoaXMudHNDaGVja0ZvckludmFsaWRUeXBlQ2FzdHMobi5lbGVtZW50cyksbn1wYXJzZVN1YnNjcmlwdChlLHMsaSxyKXtpZighdGhpcy5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSYmdGhpcy5tYXRjaCgzNSkpe3RoaXMuc3RhdGUuY2FuU3RhcnRKU1hFbGVtZW50PSExLHRoaXMubmV4dCgpO2xldCBvPXRoaXMuc3RhcnROb2RlQXQocyk7cmV0dXJuIG8uZXhwcmVzc2lvbj1lLHRoaXMuZmluaXNoTm9kZShvLFwiVFNOb25OdWxsRXhwcmVzc2lvblwiKX1sZXQgbj0hMTtpZih0aGlzLm1hdGNoKDE4KSYmdGhpcy5sb29rYWhlYWRDaGFyQ29kZSgpPT09NjApe2lmKGkpcmV0dXJuIHIuc3RvcD0hMCxlO3Iub3B0aW9uYWxDaGFpbk1lbWJlcj1uPSEwLHRoaXMubmV4dCgpfWlmKHRoaXMubWF0Y2goNDcpfHx0aGlzLm1hdGNoKDUxKSl7bGV0IG8saD10aGlzLnRzVHJ5UGFyc2VBbmRDYXRjaCgoKT0+e2lmKCFpJiZ0aGlzLmF0UG9zc2libGVBc3luY0Fycm93KGUpKXtsZXQgZj10aGlzLnRzVHJ5UGFyc2VHZW5lcmljQXN5bmNBcnJvd0Z1bmN0aW9uKHMpO2lmKGYpcmV0dXJuIGZ9bGV0IGw9dGhpcy50c1BhcnNlVHlwZUFyZ3VtZW50c0luRXhwcmVzc2lvbigpO2lmKCFsKXJldHVybjtpZihuJiYhdGhpcy5tYXRjaCgxMCkpe289dGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpO3JldHVybn1pZihJZSh0aGlzLnN0YXRlLnR5cGUpKXtsZXQgZj1zdXBlci5wYXJzZVRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvbihlLHMscik7cmV0dXJuIGYudHlwZVBhcmFtZXRlcnM9bCxmfWlmKCFpJiZ0aGlzLmVhdCgxMCkpe2xldCBmPXRoaXMuc3RhcnROb2RlQXQocyk7cmV0dXJuIGYuY2FsbGVlPWUsZi5hcmd1bWVudHM9dGhpcy5wYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKDExKSx0aGlzLnRzQ2hlY2tGb3JJbnZhbGlkVHlwZUNhc3RzKGYuYXJndW1lbnRzKSxmLnR5cGVQYXJhbWV0ZXJzPWwsci5vcHRpb25hbENoYWluTWVtYmVyJiYoZi5vcHRpb25hbD1uKSx0aGlzLmZpbmlzaENhbGxFeHByZXNzaW9uKGYsci5vcHRpb25hbENoYWluTWVtYmVyKX1sZXQgYz10aGlzLnN0YXRlLnR5cGU7aWYoYz09PTQ4fHxjPT09NTJ8fGMhPT0xMCYmVmUoYykmJiF0aGlzLmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpKXJldHVybjtsZXQgdT10aGlzLnN0YXJ0Tm9kZUF0KHMpO3JldHVybiB1LmV4cHJlc3Npb249ZSx1LnR5cGVQYXJhbWV0ZXJzPWwsdGhpcy5maW5pc2hOb2RlKHUsXCJUU0luc3RhbnRpYXRpb25FeHByZXNzaW9uXCIpfSk7aWYobyYmdGhpcy51bmV4cGVjdGVkKG8sMTApLGgpcmV0dXJuIGgudHlwZT09PVwiVFNJbnN0YW50aWF0aW9uRXhwcmVzc2lvblwiJiYodGhpcy5tYXRjaCgxNil8fHRoaXMubWF0Y2goMTgpJiZ0aGlzLmxvb2thaGVhZENoYXJDb2RlKCkhPT00MCkmJnRoaXMucmFpc2UoeS5JbnZhbGlkUHJvcGVydHlBY2Nlc3NBZnRlckluc3RhbnRpYXRpb25FeHByZXNzaW9uLHRoaXMuc3RhdGUuc3RhcnRMb2MpLGh9cmV0dXJuIHN1cGVyLnBhcnNlU3Vic2NyaXB0KGUscyxpLHIpfXBhcnNlTmV3Q2FsbGVlKGUpe3ZhciBzO3N1cGVyLnBhcnNlTmV3Q2FsbGVlKGUpO2xldHtjYWxsZWU6aX09ZTtpLnR5cGU9PT1cIlRTSW5zdGFudGlhdGlvbkV4cHJlc3Npb25cIiYmISgocz1pLmV4dHJhKSE9bnVsbCYmcy5wYXJlbnRoZXNpemVkKSYmKGUudHlwZVBhcmFtZXRlcnM9aS50eXBlUGFyYW1ldGVycyxlLmNhbGxlZT1pLmV4cHJlc3Npb24pfXBhcnNlRXhwck9wKGUscyxpKXtsZXQgcjtpZih3ZSg1OCk+aSYmIXRoaXMuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkmJih0aGlzLmlzQ29udGV4dHVhbCg5Myl8fChyPXRoaXMuaXNDb250ZXh0dWFsKDEyMCkpKSl7bGV0IG49dGhpcy5zdGFydE5vZGVBdChzKTtyZXR1cm4gbi5leHByZXNzaW9uPWUsbi50eXBlQW5ub3RhdGlvbj10aGlzLnRzSW5UeXBlKCgpPT4odGhpcy5uZXh0KCksdGhpcy5tYXRjaCg3NSk/KHImJnRoaXMucmFpc2UocC5VbmV4cGVjdGVkS2V5d29yZCx0aGlzLnN0YXRlLnN0YXJ0TG9jLHtrZXl3b3JkOlwiY29uc3RcIn0pLHRoaXMudHNQYXJzZVR5cGVSZWZlcmVuY2UoKSk6dGhpcy50c1BhcnNlVHlwZSgpKSksdGhpcy5maW5pc2hOb2RlKG4scj9cIlRTU2F0aXNmaWVzRXhwcmVzc2lvblwiOlwiVFNBc0V4cHJlc3Npb25cIiksdGhpcy5yZVNjYW5fbHRfZ3QoKSx0aGlzLnBhcnNlRXhwck9wKG4scyxpKX1yZXR1cm4gc3VwZXIucGFyc2VFeHByT3AoZSxzLGkpfWNoZWNrUmVzZXJ2ZWRXb3JkKGUscyxpLHIpe3RoaXMuc3RhdGUuaXNBbWJpZW50Q29udGV4dHx8c3VwZXIuY2hlY2tSZXNlcnZlZFdvcmQoZSxzLGkscil9Y2hlY2tJbXBvcnRSZWZsZWN0aW9uKGUpe3N1cGVyLmNoZWNrSW1wb3J0UmVmbGVjdGlvbihlKSxlLm1vZHVsZSYmZS5pbXBvcnRLaW5kIT09XCJ2YWx1ZVwiJiZ0aGlzLnJhaXNlKHkuSW1wb3J0UmVmbGVjdGlvbkhhc0ltcG9ydFR5cGUsZS5zcGVjaWZpZXJzWzBdLmxvYy5zdGFydCl9Y2hlY2tEdXBsaWNhdGVFeHBvcnRzKCl7fWlzUG90ZW50aWFsSW1wb3J0UGhhc2UoZSl7aWYoc3VwZXIuaXNQb3RlbnRpYWxJbXBvcnRQaGFzZShlKSlyZXR1cm4hMDtpZih0aGlzLmlzQ29udGV4dHVhbCgxMzApKXtsZXQgcz10aGlzLmxvb2thaGVhZENoYXJDb2RlKCk7cmV0dXJuIGU/cz09PTEyM3x8cz09PTQyOnMhPT02MX1yZXR1cm4hZSYmdGhpcy5pc0NvbnRleHR1YWwoODcpfWFwcGx5SW1wb3J0UGhhc2UoZSxzLGkscil7c3VwZXIuYXBwbHlJbXBvcnRQaGFzZShlLHMsaSxyKSxzP2UuZXhwb3J0S2luZD1pPT09XCJ0eXBlXCI/XCJ0eXBlXCI6XCJ2YWx1ZVwiOmUuaW1wb3J0S2luZD1pPT09XCJ0eXBlXCJ8fGk9PT1cInR5cGVvZlwiP2k6XCJ2YWx1ZVwifXBhcnNlSW1wb3J0KGUpe2lmKHRoaXMubWF0Y2goMTM0KSlyZXR1cm4gZS5pbXBvcnRLaW5kPVwidmFsdWVcIixzdXBlci5wYXJzZUltcG9ydChlKTtsZXQgcztpZihDKHRoaXMuc3RhdGUudHlwZSkmJnRoaXMubG9va2FoZWFkQ2hhckNvZGUoKT09PTYxKXJldHVybiBlLmltcG9ydEtpbmQ9XCJ2YWx1ZVwiLHRoaXMudHNQYXJzZUltcG9ydEVxdWFsc0RlY2xhcmF0aW9uKGUpO2lmKHRoaXMuaXNDb250ZXh0dWFsKDEzMCkpe2xldCBpPXRoaXMucGFyc2VNYXliZUltcG9ydFBoYXNlKGUsITEpO2lmKHRoaXMubG9va2FoZWFkQ2hhckNvZGUoKT09PTYxKXJldHVybiB0aGlzLnRzUGFyc2VJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbihlLGkpO3M9c3VwZXIucGFyc2VJbXBvcnRTcGVjaWZpZXJzQW5kQWZ0ZXIoZSxpKX1lbHNlIHM9c3VwZXIucGFyc2VJbXBvcnQoZSk7cmV0dXJuIHMuaW1wb3J0S2luZD09PVwidHlwZVwiJiZzLnNwZWNpZmllcnMubGVuZ3RoPjEmJnMuc3BlY2lmaWVyc1swXS50eXBlPT09XCJJbXBvcnREZWZhdWx0U3BlY2lmaWVyXCImJnRoaXMucmFpc2UoeS5UeXBlSW1wb3J0Q2Fubm90U3BlY2lmeURlZmF1bHRBbmROYW1lZCxzKSxzfXBhcnNlRXhwb3J0KGUscyl7aWYodGhpcy5tYXRjaCg4Mykpe3RoaXMubmV4dCgpO2xldCBpPWUscj1udWxsO3JldHVybiB0aGlzLmlzQ29udGV4dHVhbCgxMzApJiZ0aGlzLmlzUG90ZW50aWFsSW1wb3J0UGhhc2UoITEpP3I9dGhpcy5wYXJzZU1heWJlSW1wb3J0UGhhc2UoaSwhMSk6aS5pbXBvcnRLaW5kPVwidmFsdWVcIix0aGlzLnRzUGFyc2VJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbihpLHIsITApfWVsc2UgaWYodGhpcy5lYXQoMjkpKXtsZXQgaT1lO3JldHVybiBpLmV4cHJlc3Npb249c3VwZXIucGFyc2VFeHByZXNzaW9uKCksdGhpcy5zZW1pY29sb24oKSx0aGlzLnNhd1VuYW1iaWd1b3VzRVNNPSEwLHRoaXMuZmluaXNoTm9kZShpLFwiVFNFeHBvcnRBc3NpZ25tZW50XCIpfWVsc2UgaWYodGhpcy5lYXRDb250ZXh0dWFsKDkzKSl7bGV0IGk9ZTtyZXR1cm4gdGhpcy5leHBlY3RDb250ZXh0dWFsKDEyOCksaS5pZD10aGlzLnBhcnNlSWRlbnRpZmllcigpLHRoaXMuc2VtaWNvbG9uKCksdGhpcy5maW5pc2hOb2RlKGksXCJUU05hbWVzcGFjZUV4cG9ydERlY2xhcmF0aW9uXCIpfWVsc2UgcmV0dXJuIHN1cGVyLnBhcnNlRXhwb3J0KGUscyl9aXNBYnN0cmFjdENsYXNzKCl7cmV0dXJuIHRoaXMuaXNDb250ZXh0dWFsKDEyNCkmJnRoaXMubG9va2FoZWFkKCkudHlwZT09PTgwfXBhcnNlRXhwb3J0RGVmYXVsdEV4cHJlc3Npb24oKXtpZih0aGlzLmlzQWJzdHJhY3RDbGFzcygpKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLm5leHQoKSxlLmFic3RyYWN0PSEwLHRoaXMucGFyc2VDbGFzcyhlLCEwLCEwKX1pZih0aGlzLm1hdGNoKDEyOSkpe2xldCBlPXRoaXMudHNQYXJzZUludGVyZmFjZURlY2xhcmF0aW9uKHRoaXMuc3RhcnROb2RlKCkpO2lmKGUpcmV0dXJuIGV9cmV0dXJuIHN1cGVyLnBhcnNlRXhwb3J0RGVmYXVsdEV4cHJlc3Npb24oKX1wYXJzZVZhclN0YXRlbWVudChlLHMsaT0hMSl7bGV0e2lzQW1iaWVudENvbnRleHQ6cn09dGhpcy5zdGF0ZSxuPXN1cGVyLnBhcnNlVmFyU3RhdGVtZW50KGUscyxpfHxyKTtpZighcilyZXR1cm4gbjtmb3IobGV0e2lkOm8saW5pdDpofW9mIG4uZGVjbGFyYXRpb25zKWgmJihzIT09XCJjb25zdFwifHxvLnR5cGVBbm5vdGF0aW9uP3RoaXMucmFpc2UoeS5Jbml0aWFsaXplck5vdEFsbG93ZWRJbkFtYmllbnRDb250ZXh0LGgpOkhpKGgsdGhpcy5oYXNQbHVnaW4oXCJlc3RyZWVcIikpfHx0aGlzLnJhaXNlKHkuQ29uc3RJbml0aWFsaXplck11c3RCZVN0cmluZ09yTnVtZXJpY0xpdGVyYWxPckxpdGVyYWxFbnVtUmVmZXJlbmNlLGgpKTtyZXR1cm4gbn1wYXJzZVN0YXRlbWVudENvbnRlbnQoZSxzKXtpZih0aGlzLm1hdGNoKDc1KSYmdGhpcy5pc0xvb2thaGVhZENvbnRleHR1YWwoXCJlbnVtXCIpKXtsZXQgaT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLmV4cGVjdCg3NSksdGhpcy50c1BhcnNlRW51bURlY2xhcmF0aW9uKGkse2NvbnN0OiEwfSl9aWYodGhpcy5pc0NvbnRleHR1YWwoMTI2KSlyZXR1cm4gdGhpcy50c1BhcnNlRW51bURlY2xhcmF0aW9uKHRoaXMuc3RhcnROb2RlKCkpO2lmKHRoaXMuaXNDb250ZXh0dWFsKDEyOSkpe2xldCBpPXRoaXMudHNQYXJzZUludGVyZmFjZURlY2xhcmF0aW9uKHRoaXMuc3RhcnROb2RlKCkpO2lmKGkpcmV0dXJuIGl9cmV0dXJuIHN1cGVyLnBhcnNlU3RhdGVtZW50Q29udGVudChlLHMpfXBhcnNlQWNjZXNzTW9kaWZpZXIoKXtyZXR1cm4gdGhpcy50c1BhcnNlTW9kaWZpZXIoW1wicHVibGljXCIsXCJwcm90ZWN0ZWRcIixcInByaXZhdGVcIl0pfXRzSGFzU29tZU1vZGlmaWVycyhlLHMpe3JldHVybiBzLnNvbWUoaT0+VXQoaSk/ZS5hY2Nlc3NpYmlsaXR5PT09aTohIWVbaV0pfXRzSXNTdGFydE9mU3RhdGljQmxvY2tzKCl7cmV0dXJuIHRoaXMuaXNDb250ZXh0dWFsKDEwNikmJnRoaXMubG9va2FoZWFkQ2hhckNvZGUoKT09PTEyM31wYXJzZUNsYXNzTWVtYmVyKGUscyxpKXtsZXQgcj1bXCJkZWNsYXJlXCIsXCJwcml2YXRlXCIsXCJwdWJsaWNcIixcInByb3RlY3RlZFwiLFwib3ZlcnJpZGVcIixcImFic3RyYWN0XCIsXCJyZWFkb25seVwiLFwic3RhdGljXCJdO3RoaXMudHNQYXJzZU1vZGlmaWVycyh7YWxsb3dlZE1vZGlmaWVyczpyLGRpc2FsbG93ZWRNb2RpZmllcnM6W1wiaW5cIixcIm91dFwiXSxzdG9wT25TdGFydE9mQ2xhc3NTdGF0aWNCbG9jazohMCxlcnJvclRlbXBsYXRlOnkuSW52YWxpZE1vZGlmaWVyT25UeXBlUGFyYW1ldGVyUG9zaXRpb25zfSxzKTtsZXQgbj0oKT0+e3RoaXMudHNJc1N0YXJ0T2ZTdGF0aWNCbG9ja3MoKT8odGhpcy5uZXh0KCksdGhpcy5uZXh0KCksdGhpcy50c0hhc1NvbWVNb2RpZmllcnMocyxyKSYmdGhpcy5yYWlzZSh5LlN0YXRpY0Jsb2NrQ2Fubm90SGF2ZU1vZGlmaWVyLHRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSksc3VwZXIucGFyc2VDbGFzc1N0YXRpY0Jsb2NrKGUscykpOnRoaXMucGFyc2VDbGFzc01lbWJlcldpdGhJc1N0YXRpYyhlLHMsaSwhIXMuc3RhdGljKX07cy5kZWNsYXJlP3RoaXMudHNJbkFtYmllbnRDb250ZXh0KG4pOm4oKX1wYXJzZUNsYXNzTWVtYmVyV2l0aElzU3RhdGljKGUscyxpLHIpe2xldCBuPXRoaXMudHNUcnlQYXJzZUluZGV4U2lnbmF0dXJlKHMpO2lmKG4pe2UuYm9keS5wdXNoKG4pLHMuYWJzdHJhY3QmJnRoaXMucmFpc2UoeS5JbmRleFNpZ25hdHVyZUhhc0Fic3RyYWN0LHMpLHMuYWNjZXNzaWJpbGl0eSYmdGhpcy5yYWlzZSh5LkluZGV4U2lnbmF0dXJlSGFzQWNjZXNzaWJpbGl0eSxzLHttb2RpZmllcjpzLmFjY2Vzc2liaWxpdHl9KSxzLmRlY2xhcmUmJnRoaXMucmFpc2UoeS5JbmRleFNpZ25hdHVyZUhhc0RlY2xhcmUscykscy5vdmVycmlkZSYmdGhpcy5yYWlzZSh5LkluZGV4U2lnbmF0dXJlSGFzT3ZlcnJpZGUscyk7cmV0dXJufSF0aGlzLnN0YXRlLmluQWJzdHJhY3RDbGFzcyYmcy5hYnN0cmFjdCYmdGhpcy5yYWlzZSh5Lk5vbkFic3RyYWN0Q2xhc3NIYXNBYnN0cmFjdE1ldGhvZCxzKSxzLm92ZXJyaWRlJiYoaS5oYWRTdXBlckNsYXNzfHx0aGlzLnJhaXNlKHkuT3ZlcnJpZGVOb3RJblN1YkNsYXNzLHMpKSxzdXBlci5wYXJzZUNsYXNzTWVtYmVyV2l0aElzU3RhdGljKGUscyxpLHIpfXBhcnNlUG9zdE1lbWJlck5hbWVNb2RpZmllcnMoZSl7dGhpcy5lYXQoMTcpJiYoZS5vcHRpb25hbD0hMCksZS5yZWFkb25seSYmdGhpcy5tYXRjaCgxMCkmJnRoaXMucmFpc2UoeS5DbGFzc01ldGhvZEhhc1JlYWRvbmx5LGUpLGUuZGVjbGFyZSYmdGhpcy5tYXRjaCgxMCkmJnRoaXMucmFpc2UoeS5DbGFzc01ldGhvZEhhc0RlY2xhcmUsZSl9cGFyc2VFeHByZXNzaW9uU3RhdGVtZW50KGUscyxpKXtyZXR1cm4ocy50eXBlPT09XCJJZGVudGlmaWVyXCI/dGhpcy50c1BhcnNlRXhwcmVzc2lvblN0YXRlbWVudChlLHMsaSk6dm9pZCAwKXx8c3VwZXIucGFyc2VFeHByZXNzaW9uU3RhdGVtZW50KGUscyxpKX1zaG91bGRQYXJzZUV4cG9ydERlY2xhcmF0aW9uKCl7cmV0dXJuIHRoaXMudHNJc0RlY2xhcmF0aW9uU3RhcnQoKT8hMDpzdXBlci5zaG91bGRQYXJzZUV4cG9ydERlY2xhcmF0aW9uKCl9cGFyc2VDb25kaXRpb25hbChlLHMsaSl7aWYoIXRoaXMuc3RhdGUubWF5YmVJbkFycm93UGFyYW1ldGVyc3x8IXRoaXMubWF0Y2goMTcpKXJldHVybiBzdXBlci5wYXJzZUNvbmRpdGlvbmFsKGUscyxpKTtsZXQgcj10aGlzLnRyeVBhcnNlKCgpPT5zdXBlci5wYXJzZUNvbmRpdGlvbmFsKGUscykpO3JldHVybiByLm5vZGU/KHIuZXJyb3ImJih0aGlzLnN0YXRlPXIuZmFpbFN0YXRlKSxyLm5vZGUpOihyLmVycm9yJiZzdXBlci5zZXRPcHRpb25hbFBhcmFtZXRlcnNFcnJvcihpLHIuZXJyb3IpLGUpfXBhcnNlUGFyZW5JdGVtKGUscyl7bGV0IGk9c3VwZXIucGFyc2VQYXJlbkl0ZW0oZSxzKTtpZih0aGlzLmVhdCgxNykmJihpLm9wdGlvbmFsPSEwLHRoaXMucmVzZXRFbmRMb2NhdGlvbihlKSksdGhpcy5tYXRjaCgxNCkpe2xldCByPXRoaXMuc3RhcnROb2RlQXQocyk7cmV0dXJuIHIuZXhwcmVzc2lvbj1lLHIudHlwZUFubm90YXRpb249dGhpcy50c1BhcnNlVHlwZUFubm90YXRpb24oKSx0aGlzLmZpbmlzaE5vZGUocixcIlRTVHlwZUNhc3RFeHByZXNzaW9uXCIpfXJldHVybiBlfXBhcnNlRXhwb3J0RGVjbGFyYXRpb24oZSl7aWYoIXRoaXMuc3RhdGUuaXNBbWJpZW50Q29udGV4dCYmdGhpcy5pc0NvbnRleHR1YWwoMTI1KSlyZXR1cm4gdGhpcy50c0luQW1iaWVudENvbnRleHQoKCk9PnRoaXMucGFyc2VFeHBvcnREZWNsYXJhdGlvbihlKSk7bGV0IHM9dGhpcy5zdGF0ZS5zdGFydExvYyxpPXRoaXMuZWF0Q29udGV4dHVhbCgxMjUpO2lmKGkmJih0aGlzLmlzQ29udGV4dHVhbCgxMjUpfHwhdGhpcy5zaG91bGRQYXJzZUV4cG9ydERlY2xhcmF0aW9uKCkpKXRocm93IHRoaXMucmFpc2UoeS5FeHBlY3RlZEFtYmllbnRBZnRlckV4cG9ydERlY2xhcmUsdGhpcy5zdGF0ZS5zdGFydExvYyk7bGV0IG49Qyh0aGlzLnN0YXRlLnR5cGUpJiZ0aGlzLnRzVHJ5UGFyc2VFeHBvcnREZWNsYXJhdGlvbigpfHxzdXBlci5wYXJzZUV4cG9ydERlY2xhcmF0aW9uKGUpO3JldHVybiBuPygobi50eXBlPT09XCJUU0ludGVyZmFjZURlY2xhcmF0aW9uXCJ8fG4udHlwZT09PVwiVFNUeXBlQWxpYXNEZWNsYXJhdGlvblwifHxpKSYmKGUuZXhwb3J0S2luZD1cInR5cGVcIiksaSYmKHRoaXMucmVzZXRTdGFydExvY2F0aW9uKG4scyksbi5kZWNsYXJlPSEwKSxuKTpudWxsfXBhcnNlQ2xhc3NJZChlLHMsaSxyKXtpZigoIXN8fGkpJiZ0aGlzLmlzQ29udGV4dHVhbCgxMTMpKXJldHVybjtzdXBlci5wYXJzZUNsYXNzSWQoZSxzLGksZS5kZWNsYXJlPzEwMjQ6ODMzMSk7bGV0IG49dGhpcy50c1RyeVBhcnNlVHlwZVBhcmFtZXRlcnModGhpcy50c1BhcnNlSW5PdXRDb25zdE1vZGlmaWVycyk7biYmKGUudHlwZVBhcmFtZXRlcnM9bil9cGFyc2VDbGFzc1Byb3BlcnR5QW5ub3RhdGlvbihlKXtlLm9wdGlvbmFsfHwodGhpcy5lYXQoMzUpP2UuZGVmaW5pdGU9ITA6dGhpcy5lYXQoMTcpJiYoZS5vcHRpb25hbD0hMCkpO2xldCBzPXRoaXMudHNUcnlQYXJzZVR5cGVBbm5vdGF0aW9uKCk7cyYmKGUudHlwZUFubm90YXRpb249cyl9cGFyc2VDbGFzc1Byb3BlcnR5KGUpe2lmKHRoaXMucGFyc2VDbGFzc1Byb3BlcnR5QW5ub3RhdGlvbihlKSx0aGlzLnN0YXRlLmlzQW1iaWVudENvbnRleHQmJiEoZS5yZWFkb25seSYmIWUudHlwZUFubm90YXRpb24pJiZ0aGlzLm1hdGNoKDI5KSYmdGhpcy5yYWlzZSh5LkRlY2xhcmVDbGFzc0ZpZWxkSGFzSW5pdGlhbGl6ZXIsdGhpcy5zdGF0ZS5zdGFydExvYyksZS5hYnN0cmFjdCYmdGhpcy5tYXRjaCgyOSkpe2xldHtrZXk6c309ZTt0aGlzLnJhaXNlKHkuQWJzdHJhY3RQcm9wZXJ0eUhhc0luaXRpYWxpemVyLHRoaXMuc3RhdGUuc3RhcnRMb2Mse3Byb3BlcnR5TmFtZTpzLnR5cGU9PT1cIklkZW50aWZpZXJcIiYmIWUuY29tcHV0ZWQ/cy5uYW1lOmBbJHt0aGlzLmlucHV0LnNsaWNlKHRoaXMub2Zmc2V0VG9Tb3VyY2VQb3Mocy5zdGFydCksdGhpcy5vZmZzZXRUb1NvdXJjZVBvcyhzLmVuZCkpfV1gfSl9cmV0dXJuIHN1cGVyLnBhcnNlQ2xhc3NQcm9wZXJ0eShlKX1wYXJzZUNsYXNzUHJpdmF0ZVByb3BlcnR5KGUpe3JldHVybiBlLmFic3RyYWN0JiZ0aGlzLnJhaXNlKHkuUHJpdmF0ZUVsZW1lbnRIYXNBYnN0cmFjdCxlKSxlLmFjY2Vzc2liaWxpdHkmJnRoaXMucmFpc2UoeS5Qcml2YXRlRWxlbWVudEhhc0FjY2Vzc2liaWxpdHksZSx7bW9kaWZpZXI6ZS5hY2Nlc3NpYmlsaXR5fSksdGhpcy5wYXJzZUNsYXNzUHJvcGVydHlBbm5vdGF0aW9uKGUpLHN1cGVyLnBhcnNlQ2xhc3NQcml2YXRlUHJvcGVydHkoZSl9cGFyc2VDbGFzc0FjY2Vzc29yUHJvcGVydHkoZSl7cmV0dXJuIHRoaXMucGFyc2VDbGFzc1Byb3BlcnR5QW5ub3RhdGlvbihlKSxlLm9wdGlvbmFsJiZ0aGlzLnJhaXNlKHkuQWNjZXNzb3JDYW5ub3RCZU9wdGlvbmFsLGUpLHN1cGVyLnBhcnNlQ2xhc3NBY2Nlc3NvclByb3BlcnR5KGUpfXB1c2hDbGFzc01ldGhvZChlLHMsaSxyLG4sbyl7bGV0IGg9dGhpcy50c1RyeVBhcnNlVHlwZVBhcmFtZXRlcnModGhpcy50c1BhcnNlQ29uc3RNb2RpZmllcik7aCYmbiYmdGhpcy5yYWlzZSh5LkNvbnN0cnVjdG9ySGFzVHlwZVBhcmFtZXRlcnMsaCk7bGV0e2RlY2xhcmU6bD0hMSxraW5kOmN9PXM7bCYmKGM9PT1cImdldFwifHxjPT09XCJzZXRcIikmJnRoaXMucmFpc2UoeS5EZWNsYXJlQWNjZXNzb3Iscyx7a2luZDpjfSksaCYmKHMudHlwZVBhcmFtZXRlcnM9aCksc3VwZXIucHVzaENsYXNzTWV0aG9kKGUscyxpLHIsbixvKX1wdXNoQ2xhc3NQcml2YXRlTWV0aG9kKGUscyxpLHIpe2xldCBuPXRoaXMudHNUcnlQYXJzZVR5cGVQYXJhbWV0ZXJzKHRoaXMudHNQYXJzZUNvbnN0TW9kaWZpZXIpO24mJihzLnR5cGVQYXJhbWV0ZXJzPW4pLHN1cGVyLnB1c2hDbGFzc1ByaXZhdGVNZXRob2QoZSxzLGkscil9ZGVjbGFyZUNsYXNzUHJpdmF0ZU1ldGhvZEluU2NvcGUoZSxzKXtlLnR5cGUhPT1cIlRTRGVjbGFyZU1ldGhvZFwiJiYoZS50eXBlPT09XCJNZXRob2REZWZpbml0aW9uXCImJiFoYXNPd25Qcm9wZXJ0eS5jYWxsKGUudmFsdWUsXCJib2R5XCIpfHxzdXBlci5kZWNsYXJlQ2xhc3NQcml2YXRlTWV0aG9kSW5TY29wZShlLHMpKX1wYXJzZUNsYXNzU3VwZXIoZSl7c3VwZXIucGFyc2VDbGFzc1N1cGVyKGUpLGUuc3VwZXJDbGFzcyYmKHRoaXMubWF0Y2goNDcpfHx0aGlzLm1hdGNoKDUxKSkmJihlLnN1cGVyVHlwZVBhcmFtZXRlcnM9dGhpcy50c1BhcnNlVHlwZUFyZ3VtZW50c0luRXhwcmVzc2lvbigpKSx0aGlzLmVhdENvbnRleHR1YWwoMTEzKSYmKGUuaW1wbGVtZW50cz10aGlzLnRzUGFyc2VIZXJpdGFnZUNsYXVzZShcImltcGxlbWVudHNcIikpfXBhcnNlT2JqUHJvcFZhbHVlKGUscyxpLHIsbixvLGgpe2xldCBsPXRoaXMudHNUcnlQYXJzZVR5cGVQYXJhbWV0ZXJzKHRoaXMudHNQYXJzZUNvbnN0TW9kaWZpZXIpO3JldHVybiBsJiYoZS50eXBlUGFyYW1ldGVycz1sKSxzdXBlci5wYXJzZU9ialByb3BWYWx1ZShlLHMsaSxyLG4sbyxoKX1wYXJzZUZ1bmN0aW9uUGFyYW1zKGUscyl7bGV0IGk9dGhpcy50c1RyeVBhcnNlVHlwZVBhcmFtZXRlcnModGhpcy50c1BhcnNlQ29uc3RNb2RpZmllcik7aSYmKGUudHlwZVBhcmFtZXRlcnM9aSksc3VwZXIucGFyc2VGdW5jdGlvblBhcmFtcyhlLHMpfXBhcnNlVmFySWQoZSxzKXtzdXBlci5wYXJzZVZhcklkKGUscyksZS5pZC50eXBlPT09XCJJZGVudGlmaWVyXCImJiF0aGlzLmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpJiZ0aGlzLmVhdCgzNSkmJihlLmRlZmluaXRlPSEwKTtsZXQgaT10aGlzLnRzVHJ5UGFyc2VUeXBlQW5ub3RhdGlvbigpO2kmJihlLmlkLnR5cGVBbm5vdGF0aW9uPWksdGhpcy5yZXNldEVuZExvY2F0aW9uKGUuaWQpKX1wYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24oZSxzKXtyZXR1cm4gdGhpcy5tYXRjaCgxNCkmJihlLnJldHVyblR5cGU9dGhpcy50c1BhcnNlVHlwZUFubm90YXRpb24oKSksc3VwZXIucGFyc2VBc3luY0Fycm93RnJvbUNhbGxFeHByZXNzaW9uKGUscyl9cGFyc2VNYXliZUFzc2lnbihlLHMpe3ZhciBpLHIsbixvLGg7bGV0IGwsYyx1O2lmKHRoaXMuaGFzUGx1Z2luKFwianN4XCIpJiYodGhpcy5tYXRjaCgxNDMpfHx0aGlzLm1hdGNoKDQ3KSkpe2lmKGw9dGhpcy5zdGF0ZS5jbG9uZSgpLGM9dGhpcy50cnlQYXJzZSgoKT0+c3VwZXIucGFyc2VNYXliZUFzc2lnbihlLHMpLGwpLCFjLmVycm9yKXJldHVybiBjLm5vZGU7bGV0e2NvbnRleHQ6eH09dGhpcy5zdGF0ZSxTPXhbeC5sZW5ndGgtMV07KFM9PT1FLmpfb1RhZ3x8Uz09PUUual9leHByKSYmeC5wb3AoKX1pZighKChpPWMpIT1udWxsJiZpLmVycm9yKSYmIXRoaXMubWF0Y2goNDcpKXJldHVybiBzdXBlci5wYXJzZU1heWJlQXNzaWduKGUscyk7KCFsfHxsPT09dGhpcy5zdGF0ZSkmJihsPXRoaXMuc3RhdGUuY2xvbmUoKSk7bGV0IGYsZD10aGlzLnRyeVBhcnNlKHg9Pnt2YXIgUyxOO2Y9dGhpcy50c1BhcnNlVHlwZVBhcmFtZXRlcnModGhpcy50c1BhcnNlQ29uc3RNb2RpZmllcik7bGV0IHc9c3VwZXIucGFyc2VNYXliZUFzc2lnbihlLHMpO3JldHVybih3LnR5cGUhPT1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCJ8fChTPXcuZXh0cmEpIT1udWxsJiZTLnBhcmVudGhlc2l6ZWQpJiZ4KCksKChOPWYpPT1udWxsP3ZvaWQgMDpOLnBhcmFtcy5sZW5ndGgpIT09MCYmdGhpcy5yZXNldFN0YXJ0TG9jYXRpb25Gcm9tTm9kZSh3LGYpLHcudHlwZVBhcmFtZXRlcnM9Zix3fSxsKTtpZighZC5lcnJvciYmIWQuYWJvcnRlZClyZXR1cm4gZiYmdGhpcy5yZXBvcnRSZXNlcnZlZEFycm93VHlwZVBhcmFtKGYpLGQubm9kZTtpZighYyYmKFJ0KCF0aGlzLmhhc1BsdWdpbihcImpzeFwiKSksdT10aGlzLnRyeVBhcnNlKCgpPT5zdXBlci5wYXJzZU1heWJlQXNzaWduKGUscyksbCksIXUuZXJyb3IpKXJldHVybiB1Lm5vZGU7aWYoKHI9YykhPW51bGwmJnIubm9kZSlyZXR1cm4gdGhpcy5zdGF0ZT1jLmZhaWxTdGF0ZSxjLm5vZGU7aWYoZC5ub2RlKXJldHVybiB0aGlzLnN0YXRlPWQuZmFpbFN0YXRlLGYmJnRoaXMucmVwb3J0UmVzZXJ2ZWRBcnJvd1R5cGVQYXJhbShmKSxkLm5vZGU7aWYoKG49dSkhPW51bGwmJm4ubm9kZSlyZXR1cm4gdGhpcy5zdGF0ZT11LmZhaWxTdGF0ZSx1Lm5vZGU7dGhyb3coKG89Yyk9PW51bGw/dm9pZCAwOm8uZXJyb3IpfHxkLmVycm9yfHwoKGg9dSk9PW51bGw/dm9pZCAwOmguZXJyb3IpfXJlcG9ydFJlc2VydmVkQXJyb3dUeXBlUGFyYW0oZSl7dmFyIHM7ZS5wYXJhbXMubGVuZ3RoPT09MSYmIWUucGFyYW1zWzBdLmNvbnN0cmFpbnQmJiEoKHM9ZS5leHRyYSkhPW51bGwmJnMudHJhaWxpbmdDb21tYSkmJnRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwidHlwZXNjcmlwdFwiLFwiZGlzYWxsb3dBbWJpZ3VvdXNKU1hMaWtlXCIpJiZ0aGlzLnJhaXNlKHkuUmVzZXJ2ZWRBcnJvd1R5cGVQYXJhbSxlKX1wYXJzZU1heWJlVW5hcnkoZSxzKXtyZXR1cm4hdGhpcy5oYXNQbHVnaW4oXCJqc3hcIikmJnRoaXMubWF0Y2goNDcpP3RoaXMudHNQYXJzZVR5cGVBc3NlcnRpb24oKTpzdXBlci5wYXJzZU1heWJlVW5hcnkoZSxzKX1wYXJzZUFycm93KGUpe2lmKHRoaXMubWF0Y2goMTQpKXtsZXQgcz10aGlzLnRyeVBhcnNlKGk9PntsZXQgcj10aGlzLnRzUGFyc2VUeXBlT3JUeXBlUHJlZGljYXRlQW5ub3RhdGlvbigxNCk7cmV0dXJuKHRoaXMuY2FuSW5zZXJ0U2VtaWNvbG9uKCl8fCF0aGlzLm1hdGNoKDE5KSkmJmkoKSxyfSk7aWYocy5hYm9ydGVkKXJldHVybjtzLnRocm93bnx8KHMuZXJyb3ImJih0aGlzLnN0YXRlPXMuZmFpbFN0YXRlKSxlLnJldHVyblR5cGU9cy5ub2RlKX1yZXR1cm4gc3VwZXIucGFyc2VBcnJvdyhlKX1wYXJzZUZ1bmN0aW9uUGFyYW1UeXBlKGUpe3RoaXMuZWF0KDE3KSYmKGUub3B0aW9uYWw9ITApO2xldCBzPXRoaXMudHNUcnlQYXJzZVR5cGVBbm5vdGF0aW9uKCk7cmV0dXJuIHMmJihlLnR5cGVBbm5vdGF0aW9uPXMpLHRoaXMucmVzZXRFbmRMb2NhdGlvbihlKSxlfWlzQXNzaWduYWJsZShlLHMpe3N3aXRjaChlLnR5cGUpe2Nhc2VcIlRTVHlwZUNhc3RFeHByZXNzaW9uXCI6cmV0dXJuIHRoaXMuaXNBc3NpZ25hYmxlKGUuZXhwcmVzc2lvbixzKTtjYXNlXCJUU1BhcmFtZXRlclByb3BlcnR5XCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4gc3VwZXIuaXNBc3NpZ25hYmxlKGUscyl9fXRvQXNzaWduYWJsZShlLHM9ITEpe3N3aXRjaChlLnR5cGUpe2Nhc2VcIlBhcmVudGhlc2l6ZWRFeHByZXNzaW9uXCI6dGhpcy50b0Fzc2lnbmFibGVQYXJlbnRoZXNpemVkRXhwcmVzc2lvbihlLHMpO2JyZWFrO2Nhc2VcIlRTQXNFeHByZXNzaW9uXCI6Y2FzZVwiVFNTYXRpc2ZpZXNFeHByZXNzaW9uXCI6Y2FzZVwiVFNOb25OdWxsRXhwcmVzc2lvblwiOmNhc2VcIlRTVHlwZUFzc2VydGlvblwiOnM/dGhpcy5leHByZXNzaW9uU2NvcGUucmVjb3JkQXJyb3dQYXJhbWV0ZXJCaW5kaW5nRXJyb3IoeS5VbmV4cGVjdGVkVHlwZUNhc3RJblBhcmFtZXRlcixlKTp0aGlzLnJhaXNlKHkuVW5leHBlY3RlZFR5cGVDYXN0SW5QYXJhbWV0ZXIsZSksdGhpcy50b0Fzc2lnbmFibGUoZS5leHByZXNzaW9uLHMpO2JyZWFrO2Nhc2VcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCI6IXMmJmUubGVmdC50eXBlPT09XCJUU1R5cGVDYXN0RXhwcmVzc2lvblwiJiYoZS5sZWZ0PXRoaXMudHlwZUNhc3RUb1BhcmFtZXRlcihlLmxlZnQpKTtkZWZhdWx0OnN1cGVyLnRvQXNzaWduYWJsZShlLHMpfX10b0Fzc2lnbmFibGVQYXJlbnRoZXNpemVkRXhwcmVzc2lvbihlLHMpe3N3aXRjaChlLmV4cHJlc3Npb24udHlwZSl7Y2FzZVwiVFNBc0V4cHJlc3Npb25cIjpjYXNlXCJUU1NhdGlzZmllc0V4cHJlc3Npb25cIjpjYXNlXCJUU05vbk51bGxFeHByZXNzaW9uXCI6Y2FzZVwiVFNUeXBlQXNzZXJ0aW9uXCI6Y2FzZVwiUGFyZW50aGVzaXplZEV4cHJlc3Npb25cIjp0aGlzLnRvQXNzaWduYWJsZShlLmV4cHJlc3Npb24scyk7YnJlYWs7ZGVmYXVsdDpzdXBlci50b0Fzc2lnbmFibGUoZSxzKX19Y2hlY2tUb1Jlc3RDb252ZXJzaW9uKGUscyl7c3dpdGNoKGUudHlwZSl7Y2FzZVwiVFNBc0V4cHJlc3Npb25cIjpjYXNlXCJUU1NhdGlzZmllc0V4cHJlc3Npb25cIjpjYXNlXCJUU1R5cGVBc3NlcnRpb25cIjpjYXNlXCJUU05vbk51bGxFeHByZXNzaW9uXCI6dGhpcy5jaGVja1RvUmVzdENvbnZlcnNpb24oZS5leHByZXNzaW9uLCExKTticmVhaztkZWZhdWx0OnN1cGVyLmNoZWNrVG9SZXN0Q29udmVyc2lvbihlLHMpfX1pc1ZhbGlkTFZhbChlLHMsaSl7c3dpdGNoKGUpe2Nhc2VcIlRTVHlwZUNhc3RFeHByZXNzaW9uXCI6cmV0dXJuITA7Y2FzZVwiVFNQYXJhbWV0ZXJQcm9wZXJ0eVwiOnJldHVyblwicGFyYW1ldGVyXCI7Y2FzZVwiVFNOb25OdWxsRXhwcmVzc2lvblwiOmNhc2VcIlRTSW5zdGFudGlhdGlvbkV4cHJlc3Npb25cIjpyZXR1cm5cImV4cHJlc3Npb25cIjtjYXNlXCJUU0FzRXhwcmVzc2lvblwiOmNhc2VcIlRTU2F0aXNmaWVzRXhwcmVzc2lvblwiOmNhc2VcIlRTVHlwZUFzc2VydGlvblwiOnJldHVybihpIT09NjR8fCFzKSYmW1wiZXhwcmVzc2lvblwiLCEwXTtkZWZhdWx0OnJldHVybiBzdXBlci5pc1ZhbGlkTFZhbChlLHMsaSl9fXBhcnNlQmluZGluZ0F0b20oKXtyZXR1cm4gdGhpcy5zdGF0ZS50eXBlPT09Nzg/dGhpcy5wYXJzZUlkZW50aWZpZXIoITApOnN1cGVyLnBhcnNlQmluZGluZ0F0b20oKX1wYXJzZU1heWJlRGVjb3JhdG9yQXJndW1lbnRzKGUpe2lmKHRoaXMubWF0Y2goNDcpfHx0aGlzLm1hdGNoKDUxKSl7bGV0IHM9dGhpcy50c1BhcnNlVHlwZUFyZ3VtZW50c0luRXhwcmVzc2lvbigpO2lmKHRoaXMubWF0Y2goMTApKXtsZXQgaT1zdXBlci5wYXJzZU1heWJlRGVjb3JhdG9yQXJndW1lbnRzKGUpO3JldHVybiBpLnR5cGVQYXJhbWV0ZXJzPXMsaX10aGlzLnVuZXhwZWN0ZWQobnVsbCwxMCl9cmV0dXJuIHN1cGVyLnBhcnNlTWF5YmVEZWNvcmF0b3JBcmd1bWVudHMoZSl9Y2hlY2tDb21tYUFmdGVyUmVzdChlKXtyZXR1cm4gdGhpcy5zdGF0ZS5pc0FtYmllbnRDb250ZXh0JiZ0aGlzLm1hdGNoKDEyKSYmdGhpcy5sb29rYWhlYWRDaGFyQ29kZSgpPT09ZT8odGhpcy5uZXh0KCksITEpOnN1cGVyLmNoZWNrQ29tbWFBZnRlclJlc3QoZSl9aXNDbGFzc01ldGhvZCgpe3JldHVybiB0aGlzLm1hdGNoKDQ3KXx8c3VwZXIuaXNDbGFzc01ldGhvZCgpfWlzQ2xhc3NQcm9wZXJ0eSgpe3JldHVybiB0aGlzLm1hdGNoKDM1KXx8dGhpcy5tYXRjaCgxNCl8fHN1cGVyLmlzQ2xhc3NQcm9wZXJ0eSgpfXBhcnNlTWF5YmVEZWZhdWx0KGUscyl7bGV0IGk9c3VwZXIucGFyc2VNYXliZURlZmF1bHQoZSxzKTtyZXR1cm4gaS50eXBlPT09XCJBc3NpZ25tZW50UGF0dGVyblwiJiZpLnR5cGVBbm5vdGF0aW9uJiZpLnJpZ2h0LnN0YXJ0PGkudHlwZUFubm90YXRpb24uc3RhcnQmJnRoaXMucmFpc2UoeS5UeXBlQW5ub3RhdGlvbkFmdGVyQXNzaWduLGkudHlwZUFubm90YXRpb24pLGl9Z2V0VG9rZW5Gcm9tQ29kZShlKXtpZih0aGlzLnN0YXRlLmluVHlwZSl7aWYoZT09PTYyKXt0aGlzLmZpbmlzaE9wKDQ4LDEpO3JldHVybn1pZihlPT09NjApe3RoaXMuZmluaXNoT3AoNDcsMSk7cmV0dXJufX1zdXBlci5nZXRUb2tlbkZyb21Db2RlKGUpfXJlU2Nhbl9sdF9ndCgpe2xldHt0eXBlOmV9PXRoaXMuc3RhdGU7ZT09PTQ3Pyh0aGlzLnN0YXRlLnBvcy09MSx0aGlzLnJlYWRUb2tlbl9sdCgpKTplPT09NDgmJih0aGlzLnN0YXRlLnBvcy09MSx0aGlzLnJlYWRUb2tlbl9ndCgpKX1yZVNjYW5fbHQoKXtsZXR7dHlwZTplfT10aGlzLnN0YXRlO3JldHVybiBlPT09NTE/KHRoaXMuc3RhdGUucG9zLT0yLHRoaXMuZmluaXNoT3AoNDcsMSksNDcpOmV9dG9Bc3NpZ25hYmxlTGlzdChlLHMsaSl7Zm9yKGxldCByPTA7cjxlLmxlbmd0aDtyKyspe2xldCBuPWVbcl07KG49PW51bGw/dm9pZCAwOm4udHlwZSk9PT1cIlRTVHlwZUNhc3RFeHByZXNzaW9uXCImJihlW3JdPXRoaXMudHlwZUNhc3RUb1BhcmFtZXRlcihuKSl9c3VwZXIudG9Bc3NpZ25hYmxlTGlzdChlLHMsaSl9dHlwZUNhc3RUb1BhcmFtZXRlcihlKXtyZXR1cm4gZS5leHByZXNzaW9uLnR5cGVBbm5vdGF0aW9uPWUudHlwZUFubm90YXRpb24sdGhpcy5yZXNldEVuZExvY2F0aW9uKGUuZXhwcmVzc2lvbixlLnR5cGVBbm5vdGF0aW9uLmxvYy5lbmQpLGUuZXhwcmVzc2lvbn1zaG91bGRQYXJzZUFycm93KGUpe3JldHVybiB0aGlzLm1hdGNoKDE0KT9lLmV2ZXJ5KHM9PnRoaXMuaXNBc3NpZ25hYmxlKHMsITApKTpzdXBlci5zaG91bGRQYXJzZUFycm93KGUpfXNob3VsZFBhcnNlQXN5bmNBcnJvdygpe3JldHVybiB0aGlzLm1hdGNoKDE0KXx8c3VwZXIuc2hvdWxkUGFyc2VBc3luY0Fycm93KCl9Y2FuSGF2ZUxlYWRpbmdEZWNvcmF0b3IoKXtyZXR1cm4gc3VwZXIuY2FuSGF2ZUxlYWRpbmdEZWNvcmF0b3IoKXx8dGhpcy5pc0Fic3RyYWN0Q2xhc3MoKX1qc3hQYXJzZU9wZW5pbmdFbGVtZW50QWZ0ZXJOYW1lKGUpe2lmKHRoaXMubWF0Y2goNDcpfHx0aGlzLm1hdGNoKDUxKSl7bGV0IHM9dGhpcy50c1RyeVBhcnNlQW5kQ2F0Y2goKCk9PnRoaXMudHNQYXJzZVR5cGVBcmd1bWVudHNJbkV4cHJlc3Npb24oKSk7cyYmKGUudHlwZVBhcmFtZXRlcnM9cyl9cmV0dXJuIHN1cGVyLmpzeFBhcnNlT3BlbmluZ0VsZW1lbnRBZnRlck5hbWUoZSl9Z2V0R2V0dGVyU2V0dGVyRXhwZWN0ZWRQYXJhbUNvdW50KGUpe2xldCBzPXN1cGVyLmdldEdldHRlclNldHRlckV4cGVjdGVkUGFyYW1Db3VudChlKSxyPXRoaXMuZ2V0T2JqZWN0T3JDbGFzc01ldGhvZFBhcmFtcyhlKVswXTtyZXR1cm4gciYmdGhpcy5pc1RoaXNQYXJhbShyKT9zKzE6c31wYXJzZUNhdGNoQ2xhdXNlUGFyYW0oKXtsZXQgZT1zdXBlci5wYXJzZUNhdGNoQ2xhdXNlUGFyYW0oKSxzPXRoaXMudHNUcnlQYXJzZVR5cGVBbm5vdGF0aW9uKCk7cmV0dXJuIHMmJihlLnR5cGVBbm5vdGF0aW9uPXMsdGhpcy5yZXNldEVuZExvY2F0aW9uKGUpKSxlfXRzSW5BbWJpZW50Q29udGV4dChlKXtsZXR7aXNBbWJpZW50Q29udGV4dDpzLHN0cmljdDppfT10aGlzLnN0YXRlO3RoaXMuc3RhdGUuaXNBbWJpZW50Q29udGV4dD0hMCx0aGlzLnN0YXRlLnN0cmljdD0hMTt0cnl7cmV0dXJuIGUoKX1maW5hbGx5e3RoaXMuc3RhdGUuaXNBbWJpZW50Q29udGV4dD1zLHRoaXMuc3RhdGUuc3RyaWN0PWl9fXBhcnNlQ2xhc3MoZSxzLGkpe2xldCByPXRoaXMuc3RhdGUuaW5BYnN0cmFjdENsYXNzO3RoaXMuc3RhdGUuaW5BYnN0cmFjdENsYXNzPSEhZS5hYnN0cmFjdDt0cnl7cmV0dXJuIHN1cGVyLnBhcnNlQ2xhc3MoZSxzLGkpfWZpbmFsbHl7dGhpcy5zdGF0ZS5pbkFic3RyYWN0Q2xhc3M9cn19dHNQYXJzZUFic3RyYWN0RGVjbGFyYXRpb24oZSxzKXtpZih0aGlzLm1hdGNoKDgwKSlyZXR1cm4gZS5hYnN0cmFjdD0hMCx0aGlzLm1heWJlVGFrZURlY29yYXRvcnMocyx0aGlzLnBhcnNlQ2xhc3MoZSwhMCwhMSkpO2lmKHRoaXMuaXNDb250ZXh0dWFsKDEyOSkpe2lmKCF0aGlzLmhhc0ZvbGxvd2luZ0xpbmVCcmVhaygpKXJldHVybiBlLmFic3RyYWN0PSEwLHRoaXMucmFpc2UoeS5Ob25DbGFzc01ldGhvZFByb3BlcnR5SGFzQWJzdHJhY3RNb2RpZmVyLGUpLHRoaXMudHNQYXJzZUludGVyZmFjZURlY2xhcmF0aW9uKGUpfWVsc2UgdGhpcy51bmV4cGVjdGVkKG51bGwsODApfXBhcnNlTWV0aG9kKGUscyxpLHIsbixvLGgpe2xldCBsPXN1cGVyLnBhcnNlTWV0aG9kKGUscyxpLHIsbixvLGgpO2lmKGwuYWJzdHJhY3QmJih0aGlzLmhhc1BsdWdpbihcImVzdHJlZVwiKT8hIWwudmFsdWUuYm9keTohIWwuYm9keSkpe2xldHtrZXk6dX09bDt0aGlzLnJhaXNlKHkuQWJzdHJhY3RNZXRob2RIYXNJbXBsZW1lbnRhdGlvbixsLHttZXRob2ROYW1lOnUudHlwZT09PVwiSWRlbnRpZmllclwiJiYhbC5jb21wdXRlZD91Lm5hbWU6YFske3RoaXMuaW5wdXQuc2xpY2UodGhpcy5vZmZzZXRUb1NvdXJjZVBvcyh1LnN0YXJ0KSx0aGlzLm9mZnNldFRvU291cmNlUG9zKHUuZW5kKSl9XWB9KX1yZXR1cm4gbH10c1BhcnNlVHlwZVBhcmFtZXRlck5hbWUoKXtyZXR1cm4gdGhpcy5wYXJzZUlkZW50aWZpZXIoKS5uYW1lfXNob3VsZFBhcnNlQXNBbWJpZW50Q29udGV4dCgpe3JldHVybiEhdGhpcy5nZXRQbHVnaW5PcHRpb24oXCJ0eXBlc2NyaXB0XCIsXCJkdHNcIil9cGFyc2UoKXtyZXR1cm4gdGhpcy5zaG91bGRQYXJzZUFzQW1iaWVudENvbnRleHQoKSYmKHRoaXMuc3RhdGUuaXNBbWJpZW50Q29udGV4dD0hMCksc3VwZXIucGFyc2UoKX1nZXRFeHByZXNzaW9uKCl7cmV0dXJuIHRoaXMuc2hvdWxkUGFyc2VBc0FtYmllbnRDb250ZXh0KCkmJih0aGlzLnN0YXRlLmlzQW1iaWVudENvbnRleHQ9ITApLHN1cGVyLmdldEV4cHJlc3Npb24oKX1wYXJzZUV4cG9ydFNwZWNpZmllcihlLHMsaSxyKXtyZXR1cm4hcyYmcj8odGhpcy5wYXJzZVR5cGVPbmx5SW1wb3J0RXhwb3J0U3BlY2lmaWVyKGUsITEsaSksdGhpcy5maW5pc2hOb2RlKGUsXCJFeHBvcnRTcGVjaWZpZXJcIikpOihlLmV4cG9ydEtpbmQ9XCJ2YWx1ZVwiLHN1cGVyLnBhcnNlRXhwb3J0U3BlY2lmaWVyKGUscyxpLHIpKX1wYXJzZUltcG9ydFNwZWNpZmllcihlLHMsaSxyLG4pe3JldHVybiFzJiZyPyh0aGlzLnBhcnNlVHlwZU9ubHlJbXBvcnRFeHBvcnRTcGVjaWZpZXIoZSwhMCxpKSx0aGlzLmZpbmlzaE5vZGUoZSxcIkltcG9ydFNwZWNpZmllclwiKSk6KGUuaW1wb3J0S2luZD1cInZhbHVlXCIsc3VwZXIucGFyc2VJbXBvcnRTcGVjaWZpZXIoZSxzLGkscixpPzQwOTg6NDA5NikpfXBhcnNlVHlwZU9ubHlJbXBvcnRFeHBvcnRTcGVjaWZpZXIoZSxzLGkpe2xldCByPXM/XCJpbXBvcnRlZFwiOlwibG9jYWxcIixuPXM/XCJsb2NhbFwiOlwiZXhwb3J0ZWRcIixvPWVbcl0saCxsPSExLGM9ITAsdT1vLmxvYy5zdGFydDtpZih0aGlzLmlzQ29udGV4dHVhbCg5Mykpe2xldCBkPXRoaXMucGFyc2VJZGVudGlmaWVyKCk7aWYodGhpcy5pc0NvbnRleHR1YWwoOTMpKXtsZXQgeD10aGlzLnBhcnNlSWRlbnRpZmllcigpO0QodGhpcy5zdGF0ZS50eXBlKT8obD0hMCxvPWQsaD1zP3RoaXMucGFyc2VJZGVudGlmaWVyKCk6dGhpcy5wYXJzZU1vZHVsZUV4cG9ydE5hbWUoKSxjPSExKTooaD14LGM9ITEpfWVsc2UgRCh0aGlzLnN0YXRlLnR5cGUpPyhjPSExLGg9cz90aGlzLnBhcnNlSWRlbnRpZmllcigpOnRoaXMucGFyc2VNb2R1bGVFeHBvcnROYW1lKCkpOihsPSEwLG89ZCl9ZWxzZSBEKHRoaXMuc3RhdGUudHlwZSkmJihsPSEwLHM/KG89dGhpcy5wYXJzZUlkZW50aWZpZXIoITApLHRoaXMuaXNDb250ZXh0dWFsKDkzKXx8dGhpcy5jaGVja1Jlc2VydmVkV29yZChvLm5hbWUsby5sb2Muc3RhcnQsITAsITApKTpvPXRoaXMucGFyc2VNb2R1bGVFeHBvcnROYW1lKCkpO2wmJmkmJnRoaXMucmFpc2Uocz95LlR5cGVNb2RpZmllcklzVXNlZEluVHlwZUltcG9ydHM6eS5UeXBlTW9kaWZpZXJJc1VzZWRJblR5cGVFeHBvcnRzLHUpLGVbcl09byxlW25dPWg7bGV0IGY9cz9cImltcG9ydEtpbmRcIjpcImV4cG9ydEtpbmRcIjtlW2ZdPWw/XCJ0eXBlXCI6XCJ2YWx1ZVwiLGMmJnRoaXMuZWF0Q29udGV4dHVhbCg5MykmJihlW25dPXM/dGhpcy5wYXJzZUlkZW50aWZpZXIoKTp0aGlzLnBhcnNlTW9kdWxlRXhwb3J0TmFtZSgpKSxlW25dfHwoZVtuXT1fKGVbcl0pKSxzJiZ0aGlzLmNoZWNrSWRlbnRpZmllcihlW25dLGw/NDA5ODo0MDk2KX19O2Z1bmN0aW9uIEtpKGEpe2lmKGEudHlwZSE9PVwiTWVtYmVyRXhwcmVzc2lvblwiKXJldHVybiExO2xldHtjb21wdXRlZDp0LHByb3BlcnR5OmV9PWE7cmV0dXJuIHQmJmUudHlwZSE9PVwiU3RyaW5nTGl0ZXJhbFwiJiYoZS50eXBlIT09XCJUZW1wbGF0ZUxpdGVyYWxcInx8ZS5leHByZXNzaW9ucy5sZW5ndGg+MCk/ITE6c3MoYS5vYmplY3QpfWZ1bmN0aW9uIEhpKGEsdCl7dmFyIGU7bGV0e3R5cGU6c309YTtpZigoZT1hLmV4dHJhKSE9bnVsbCYmZS5wYXJlbnRoZXNpemVkKXJldHVybiExO2lmKHQpe2lmKHM9PT1cIkxpdGVyYWxcIil7bGV0e3ZhbHVlOml9PWE7aWYodHlwZW9mIGk9PVwic3RyaW5nXCJ8fHR5cGVvZiBpPT1cImJvb2xlYW5cIilyZXR1cm4hMH19ZWxzZSBpZihzPT09XCJTdHJpbmdMaXRlcmFsXCJ8fHM9PT1cIkJvb2xlYW5MaXRlcmFsXCIpcmV0dXJuITA7cmV0dXJuISEodHMoYSx0KXx8SmkoYSx0KXx8cz09PVwiVGVtcGxhdGVMaXRlcmFsXCImJmEuZXhwcmVzc2lvbnMubGVuZ3RoPT09MHx8S2koYSkpfWZ1bmN0aW9uIHRzKGEsdCl7cmV0dXJuIHQ/YS50eXBlPT09XCJMaXRlcmFsXCImJih0eXBlb2YgYS52YWx1ZT09XCJudW1iZXJcInx8XCJiaWdpbnRcImluIGEpOmEudHlwZT09PVwiTnVtZXJpY0xpdGVyYWxcInx8YS50eXBlPT09XCJCaWdJbnRMaXRlcmFsXCJ9ZnVuY3Rpb24gSmkoYSx0KXtpZihhLnR5cGU9PT1cIlVuYXJ5RXhwcmVzc2lvblwiKXtsZXR7b3BlcmF0b3I6ZSxhcmd1bWVudDpzfT1hO2lmKGU9PT1cIi1cIiYmdHMocyx0KSlyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBzcyhhKXtyZXR1cm4gYS50eXBlPT09XCJJZGVudGlmaWVyXCI/ITA6YS50eXBlIT09XCJNZW1iZXJFeHByZXNzaW9uXCJ8fGEuY29tcHV0ZWQ/ITE6c3MoYS5vYmplY3QpfXZhciBfdD1VYHBsYWNlaG9sZGVyc2Aoe0NsYXNzTmFtZUlzUmVxdWlyZWQ6XCJBIGNsYXNzIG5hbWUgaXMgcmVxdWlyZWQuXCIsVW5leHBlY3RlZFNwYWNlOlwiVW5leHBlY3RlZCBzcGFjZSBpbiBwbGFjZWhvbGRlci5cIn0pLFdpPWE9PmNsYXNzIGV4dGVuZHMgYXtwYXJzZVBsYWNlaG9sZGVyKGUpe2lmKHRoaXMubWF0Y2goMTMzKSl7bGV0IHM9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdGhpcy5uZXh0KCksdGhpcy5hc3NlcnROb1NwYWNlKCkscy5uYW1lPXN1cGVyLnBhcnNlSWRlbnRpZmllcighMCksdGhpcy5hc3NlcnROb1NwYWNlKCksdGhpcy5leHBlY3QoMTMzKSx0aGlzLmZpbmlzaFBsYWNlaG9sZGVyKHMsZSl9fWZpbmlzaFBsYWNlaG9sZGVyKGUscyl7bGV0IGk9ZTtyZXR1cm4oIWkuZXhwZWN0ZWROb2RlfHwhaS50eXBlKSYmKGk9dGhpcy5maW5pc2hOb2RlKGksXCJQbGFjZWhvbGRlclwiKSksaS5leHBlY3RlZE5vZGU9cyxpfWdldFRva2VuRnJvbUNvZGUoZSl7ZT09PTM3JiZ0aGlzLmlucHV0LmNoYXJDb2RlQXQodGhpcy5zdGF0ZS5wb3MrMSk9PT0zNz90aGlzLmZpbmlzaE9wKDEzMywyKTpzdXBlci5nZXRUb2tlbkZyb21Db2RlKGUpfXBhcnNlRXhwckF0b20oZSl7cmV0dXJuIHRoaXMucGFyc2VQbGFjZWhvbGRlcihcIkV4cHJlc3Npb25cIil8fHN1cGVyLnBhcnNlRXhwckF0b20oZSl9cGFyc2VJZGVudGlmaWVyKGUpe3JldHVybiB0aGlzLnBhcnNlUGxhY2Vob2xkZXIoXCJJZGVudGlmaWVyXCIpfHxzdXBlci5wYXJzZUlkZW50aWZpZXIoZSl9Y2hlY2tSZXNlcnZlZFdvcmQoZSxzLGkscil7ZSE9PXZvaWQgMCYmc3VwZXIuY2hlY2tSZXNlcnZlZFdvcmQoZSxzLGkscil9cGFyc2VCaW5kaW5nQXRvbSgpe3JldHVybiB0aGlzLnBhcnNlUGxhY2Vob2xkZXIoXCJQYXR0ZXJuXCIpfHxzdXBlci5wYXJzZUJpbmRpbmdBdG9tKCl9aXNWYWxpZExWYWwoZSxzLGkpe3JldHVybiBlPT09XCJQbGFjZWhvbGRlclwifHxzdXBlci5pc1ZhbGlkTFZhbChlLHMsaSl9dG9Bc3NpZ25hYmxlKGUscyl7ZSYmZS50eXBlPT09XCJQbGFjZWhvbGRlclwiJiZlLmV4cGVjdGVkTm9kZT09PVwiRXhwcmVzc2lvblwiP2UuZXhwZWN0ZWROb2RlPVwiUGF0dGVyblwiOnN1cGVyLnRvQXNzaWduYWJsZShlLHMpfWNoU3RhcnRzQmluZGluZ0lkZW50aWZpZXIoZSxzKXtyZXR1cm4hIShzdXBlci5jaFN0YXJ0c0JpbmRpbmdJZGVudGlmaWVyKGUscyl8fHRoaXMubG9va2FoZWFkKCkudHlwZT09PTEzMyl9dmVyaWZ5QnJlYWtDb250aW51ZShlLHMpe2UubGFiZWwmJmUubGFiZWwudHlwZT09PVwiUGxhY2Vob2xkZXJcInx8c3VwZXIudmVyaWZ5QnJlYWtDb250aW51ZShlLHMpfXBhcnNlRXhwcmVzc2lvblN0YXRlbWVudChlLHMpe3ZhciBpO2lmKHMudHlwZSE9PVwiUGxhY2Vob2xkZXJcInx8KGk9cy5leHRyYSkhPW51bGwmJmkucGFyZW50aGVzaXplZClyZXR1cm4gc3VwZXIucGFyc2VFeHByZXNzaW9uU3RhdGVtZW50KGUscyk7aWYodGhpcy5tYXRjaCgxNCkpe2xldCBuPWU7cmV0dXJuIG4ubGFiZWw9dGhpcy5maW5pc2hQbGFjZWhvbGRlcihzLFwiSWRlbnRpZmllclwiKSx0aGlzLm5leHQoKSxuLmJvZHk9c3VwZXIucGFyc2VTdGF0ZW1lbnRPclNsb3BweUFubmV4QkZ1bmN0aW9uRGVjbGFyYXRpb24oKSx0aGlzLmZpbmlzaE5vZGUobixcIkxhYmVsZWRTdGF0ZW1lbnRcIil9dGhpcy5zZW1pY29sb24oKTtsZXQgcj1lO3JldHVybiByLm5hbWU9cy5uYW1lLHRoaXMuZmluaXNoUGxhY2Vob2xkZXIocixcIlN0YXRlbWVudFwiKX1wYXJzZUJsb2NrKGUscyxpKXtyZXR1cm4gdGhpcy5wYXJzZVBsYWNlaG9sZGVyKFwiQmxvY2tTdGF0ZW1lbnRcIil8fHN1cGVyLnBhcnNlQmxvY2soZSxzLGkpfXBhcnNlRnVuY3Rpb25JZChlKXtyZXR1cm4gdGhpcy5wYXJzZVBsYWNlaG9sZGVyKFwiSWRlbnRpZmllclwiKXx8c3VwZXIucGFyc2VGdW5jdGlvbklkKGUpfXBhcnNlQ2xhc3MoZSxzLGkpe2xldCByPXM/XCJDbGFzc0RlY2xhcmF0aW9uXCI6XCJDbGFzc0V4cHJlc3Npb25cIjt0aGlzLm5leHQoKTtsZXQgbj10aGlzLnN0YXRlLnN0cmljdCxvPXRoaXMucGFyc2VQbGFjZWhvbGRlcihcIklkZW50aWZpZXJcIik7aWYobylpZih0aGlzLm1hdGNoKDgxKXx8dGhpcy5tYXRjaCgxMzMpfHx0aGlzLm1hdGNoKDUpKWUuaWQ9bztlbHNle2lmKGl8fCFzKXJldHVybiBlLmlkPW51bGwsZS5ib2R5PXRoaXMuZmluaXNoUGxhY2Vob2xkZXIobyxcIkNsYXNzQm9keVwiKSx0aGlzLmZpbmlzaE5vZGUoZSxyKTt0aHJvdyB0aGlzLnJhaXNlKF90LkNsYXNzTmFtZUlzUmVxdWlyZWQsdGhpcy5zdGF0ZS5zdGFydExvYyl9ZWxzZSB0aGlzLnBhcnNlQ2xhc3NJZChlLHMsaSk7cmV0dXJuIHN1cGVyLnBhcnNlQ2xhc3NTdXBlcihlKSxlLmJvZHk9dGhpcy5wYXJzZVBsYWNlaG9sZGVyKFwiQ2xhc3NCb2R5XCIpfHxzdXBlci5wYXJzZUNsYXNzQm9keSghIWUuc3VwZXJDbGFzcyxuKSx0aGlzLmZpbmlzaE5vZGUoZSxyKX1wYXJzZUV4cG9ydChlLHMpe2xldCBpPXRoaXMucGFyc2VQbGFjZWhvbGRlcihcIklkZW50aWZpZXJcIik7aWYoIWkpcmV0dXJuIHN1cGVyLnBhcnNlRXhwb3J0KGUscyk7bGV0IHI9ZTtpZighdGhpcy5pc0NvbnRleHR1YWwoOTgpJiYhdGhpcy5tYXRjaCgxMikpcmV0dXJuIHIuc3BlY2lmaWVycz1bXSxyLnNvdXJjZT1udWxsLHIuZGVjbGFyYXRpb249dGhpcy5maW5pc2hQbGFjZWhvbGRlcihpLFwiRGVjbGFyYXRpb25cIiksdGhpcy5maW5pc2hOb2RlKHIsXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIpO3RoaXMuZXhwZWN0UGx1Z2luKFwiZXhwb3J0RGVmYXVsdEZyb21cIik7bGV0IG49dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gbi5leHBvcnRlZD1pLHIuc3BlY2lmaWVycz1bdGhpcy5maW5pc2hOb2RlKG4sXCJFeHBvcnREZWZhdWx0U3BlY2lmaWVyXCIpXSxzdXBlci5wYXJzZUV4cG9ydChyLHMpfWlzRXhwb3J0RGVmYXVsdFNwZWNpZmllcigpe2lmKHRoaXMubWF0Y2goNjUpKXtsZXQgZT10aGlzLm5leHRUb2tlblN0YXJ0KCk7aWYodGhpcy5pc1VucGFyc2VkQ29udGV4dHVhbChlLFwiZnJvbVwiKSYmdGhpcy5pbnB1dC5zdGFydHNXaXRoKHEoMTMzKSx0aGlzLm5leHRUb2tlblN0YXJ0U2luY2UoZSs0KSkpcmV0dXJuITB9cmV0dXJuIHN1cGVyLmlzRXhwb3J0RGVmYXVsdFNwZWNpZmllcigpfW1heWJlUGFyc2VFeHBvcnREZWZhdWx0U3BlY2lmaWVyKGUscyl7dmFyIGk7cmV0dXJuKGk9ZS5zcGVjaWZpZXJzKSE9bnVsbCYmaS5sZW5ndGg/ITA6c3VwZXIubWF5YmVQYXJzZUV4cG9ydERlZmF1bHRTcGVjaWZpZXIoZSxzKX1jaGVja0V4cG9ydChlKXtsZXR7c3BlY2lmaWVyczpzfT1lO3MhPW51bGwmJnMubGVuZ3RoJiYoZS5zcGVjaWZpZXJzPXMuZmlsdGVyKGk9PmkuZXhwb3J0ZWQudHlwZT09PVwiUGxhY2Vob2xkZXJcIikpLHN1cGVyLmNoZWNrRXhwb3J0KGUpLGUuc3BlY2lmaWVycz1zfXBhcnNlSW1wb3J0KGUpe2xldCBzPXRoaXMucGFyc2VQbGFjZWhvbGRlcihcIklkZW50aWZpZXJcIik7aWYoIXMpcmV0dXJuIHN1cGVyLnBhcnNlSW1wb3J0KGUpO2lmKGUuc3BlY2lmaWVycz1bXSwhdGhpcy5pc0NvbnRleHR1YWwoOTgpJiYhdGhpcy5tYXRjaCgxMikpcmV0dXJuIGUuc291cmNlPXRoaXMuZmluaXNoUGxhY2Vob2xkZXIocyxcIlN0cmluZ0xpdGVyYWxcIiksdGhpcy5zZW1pY29sb24oKSx0aGlzLmZpbmlzaE5vZGUoZSxcIkltcG9ydERlY2xhcmF0aW9uXCIpO2xldCBpPXRoaXMuc3RhcnROb2RlQXROb2RlKHMpO3JldHVybiBpLmxvY2FsPXMsZS5zcGVjaWZpZXJzLnB1c2godGhpcy5maW5pc2hOb2RlKGksXCJJbXBvcnREZWZhdWx0U3BlY2lmaWVyXCIpKSx0aGlzLmVhdCgxMikmJih0aGlzLm1heWJlUGFyc2VTdGFySW1wb3J0U3BlY2lmaWVyKGUpfHx0aGlzLnBhcnNlTmFtZWRJbXBvcnRTcGVjaWZpZXJzKGUpKSx0aGlzLmV4cGVjdENvbnRleHR1YWwoOTgpLGUuc291cmNlPXRoaXMucGFyc2VJbXBvcnRTb3VyY2UoKSx0aGlzLnNlbWljb2xvbigpLHRoaXMuZmluaXNoTm9kZShlLFwiSW1wb3J0RGVjbGFyYXRpb25cIil9cGFyc2VJbXBvcnRTb3VyY2UoKXtyZXR1cm4gdGhpcy5wYXJzZVBsYWNlaG9sZGVyKFwiU3RyaW5nTGl0ZXJhbFwiKXx8c3VwZXIucGFyc2VJbXBvcnRTb3VyY2UoKX1hc3NlcnROb1NwYWNlKCl7dGhpcy5zdGF0ZS5zdGFydD50aGlzLm9mZnNldFRvU291cmNlUG9zKHRoaXMuc3RhdGUubGFzdFRva0VuZExvYy5pbmRleCkmJnRoaXMucmFpc2UoX3QuVW5leHBlY3RlZFNwYWNlLHRoaXMuc3RhdGUubGFzdFRva0VuZExvYyl9fSxYaT1hPT5jbGFzcyBleHRlbmRzIGF7cGFyc2VWOEludHJpbnNpYygpe2lmKHRoaXMubWF0Y2goNTQpKXtsZXQgZT10aGlzLnN0YXRlLnN0YXJ0TG9jLHM9dGhpcy5zdGFydE5vZGUoKTtpZih0aGlzLm5leHQoKSxDKHRoaXMuc3RhdGUudHlwZSkpe2xldCBpPXRoaXMucGFyc2VJZGVudGlmaWVyTmFtZSgpLHI9dGhpcy5jcmVhdGVJZGVudGlmaWVyKHMsaSk7aWYoci50eXBlPVwiVjhJbnRyaW5zaWNJZGVudGlmaWVyXCIsdGhpcy5tYXRjaCgxMCkpcmV0dXJuIHJ9dGhpcy51bmV4cGVjdGVkKGUpfX1wYXJzZUV4cHJBdG9tKGUpe3JldHVybiB0aGlzLnBhcnNlVjhJbnRyaW5zaWMoKXx8c3VwZXIucGFyc2VFeHByQXRvbShlKX19LGp0PVtcIm1pbmltYWxcIixcImZzaGFycFwiLFwiaGFja1wiLFwic21hcnRcIl0sJHQ9W1wiXl5cIixcIkBAXCIsXCJeXCIsXCIlXCIsXCIjXCJdO2Z1bmN0aW9uIEdpKGEpe2lmKGEuaGFzKFwiZGVjb3JhdG9yc1wiKSl7aWYoYS5oYXMoXCJkZWNvcmF0b3JzLWxlZ2FjeVwiKSl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgdXNlIHRoZSBkZWNvcmF0b3JzIGFuZCBkZWNvcmF0b3JzLWxlZ2FjeSBwbHVnaW4gdG9nZXRoZXJcIik7bGV0IGU9YS5nZXQoXCJkZWNvcmF0b3JzXCIpLmRlY29yYXRvcnNCZWZvcmVFeHBvcnQ7aWYoZSE9bnVsbCYmdHlwZW9mIGUhPVwiYm9vbGVhblwiKXRocm93IG5ldyBFcnJvcihcIidkZWNvcmF0b3JzQmVmb3JlRXhwb3J0JyBtdXN0IGJlIGEgYm9vbGVhbiwgaWYgc3BlY2lmaWVkLlwiKTtsZXQgcz1hLmdldChcImRlY29yYXRvcnNcIikuYWxsb3dDYWxsUGFyZW50aGVzaXplZDtpZihzIT1udWxsJiZ0eXBlb2YgcyE9XCJib29sZWFuXCIpdGhyb3cgbmV3IEVycm9yKFwiJ2FsbG93Q2FsbFBhcmVudGhlc2l6ZWQnIG11c3QgYmUgYSBib29sZWFuLlwiKX1pZihhLmhhcyhcImZsb3dcIikmJmEuaGFzKFwidHlwZXNjcmlwdFwiKSl0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgY29tYmluZSBmbG93IGFuZCB0eXBlc2NyaXB0IHBsdWdpbnMuXCIpO2lmKGEuaGFzKFwicGxhY2Vob2xkZXJzXCIpJiZhLmhhcyhcInY4aW50cmluc2ljXCIpKXRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBjb21iaW5lIHBsYWNlaG9sZGVycyBhbmQgdjhpbnRyaW5zaWMgcGx1Z2lucy5cIik7aWYoYS5oYXMoXCJwaXBlbGluZU9wZXJhdG9yXCIpKXt2YXIgdDtsZXQgZT1hLmdldChcInBpcGVsaW5lT3BlcmF0b3JcIikucHJvcG9zYWw7aWYoIWp0LmluY2x1ZGVzKGUpKXtsZXQgaT1qdC5tYXAocj0+YFwiJHtyfVwiYCkuam9pbihcIiwgXCIpO3Rocm93IG5ldyBFcnJvcihgXCJwaXBlbGluZU9wZXJhdG9yXCIgcmVxdWlyZXMgXCJwcm9wb3NhbFwiIG9wdGlvbiB3aG9zZSB2YWx1ZSBtdXN0IGJlIG9uZSBvZjogJHtpfS5gKX1sZXQgcz0oKHQ9YS5nZXQoXCJyZWNvcmRBbmRUdXBsZVwiKSk9PW51bGw/dm9pZCAwOnQuc3ludGF4VHlwZSk9PT1cImhhc2hcIjtpZihlPT09XCJoYWNrXCIpe2lmKGEuaGFzKFwicGxhY2Vob2xkZXJzXCIpKXRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBjb21iaW5lIHBsYWNlaG9sZGVycyBwbHVnaW4gYW5kIEhhY2stc3R5bGUgcGlwZXMuXCIpO2lmKGEuaGFzKFwidjhpbnRyaW5zaWNcIikpdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGNvbWJpbmUgdjhpbnRyaW5zaWMgcGx1Z2luIGFuZCBIYWNrLXN0eWxlIHBpcGVzLlwiKTtsZXQgaT1hLmdldChcInBpcGVsaW5lT3BlcmF0b3JcIikudG9waWNUb2tlbjtpZighJHQuaW5jbHVkZXMoaSkpe2xldCByPSR0Lm1hcChuPT5gXCIke259XCJgKS5qb2luKFwiLCBcIik7dGhyb3cgbmV3IEVycm9yKGBcInBpcGVsaW5lT3BlcmF0b3JcIiBpbiBcInByb3Bvc2FsXCI6IFwiaGFja1wiIG1vZGUgYWxzbyByZXF1aXJlcyBhIFwidG9waWNUb2tlblwiIG9wdGlvbiB3aG9zZSB2YWx1ZSBtdXN0IGJlIG9uZSBvZjogJHtyfS5gKX1pZihpPT09XCIjXCImJnMpdGhyb3cgbmV3IEVycm9yKGBQbHVnaW4gY29uZmxpY3QgYmV0d2VlbiBcXGBbXCJwaXBlbGluZU9wZXJhdG9yXCIsIHsgcHJvcG9zYWw6IFwiaGFja1wiLCB0b3BpY1Rva2VuOiBcIiNcIiB9XVxcYCBhbmQgXFxgJHtKU09OLnN0cmluZ2lmeShbXCJyZWNvcmRBbmRUdXBsZVwiLGEuZ2V0KFwicmVjb3JkQW5kVHVwbGVcIildKX1cXGAuYCl9ZWxzZSBpZihlPT09XCJzbWFydFwiJiZzKXRocm93IG5ldyBFcnJvcihgUGx1Z2luIGNvbmZsaWN0IGJldHdlZW4gXFxgW1wicGlwZWxpbmVPcGVyYXRvclwiLCB7IHByb3Bvc2FsOiBcInNtYXJ0XCIgfV1cXGAgYW5kIFxcYCR7SlNPTi5zdHJpbmdpZnkoW1wicmVjb3JkQW5kVHVwbGVcIixhLmdldChcInJlY29yZEFuZFR1cGxlXCIpXSl9XFxgLmApfWlmKGEuaGFzKFwibW9kdWxlQXR0cmlidXRlc1wiKSl7aWYoYS5oYXMoXCJkZXByZWNhdGVkSW1wb3J0QXNzZXJ0XCIpfHxhLmhhcyhcImltcG9ydEFzc2VydGlvbnNcIikpdGhyb3cgbmV3IEVycm9yKFwiQ2Fubm90IGNvbWJpbmUgaW1wb3J0QXNzZXJ0aW9ucywgZGVwcmVjYXRlZEltcG9ydEFzc2VydCBhbmQgbW9kdWxlQXR0cmlidXRlcyBwbHVnaW5zLlwiKTtpZihhLmdldChcIm1vZHVsZUF0dHJpYnV0ZXNcIikudmVyc2lvbiE9PVwibWF5LTIwMjBcIil0aHJvdyBuZXcgRXJyb3IoXCJUaGUgJ21vZHVsZUF0dHJpYnV0ZXMnIHBsdWdpbiByZXF1aXJlcyBhICd2ZXJzaW9uJyBvcHRpb24sIHJlcHJlc2VudGluZyB0aGUgbGFzdCBwcm9wb3NhbCB1cGRhdGUuIEN1cnJlbnRseSwgdGhlIG9ubHkgc3VwcG9ydGVkIHZhbHVlIGlzICdtYXktMjAyMCcuXCIpfWlmKGEuaGFzKFwiaW1wb3J0QXNzZXJ0aW9uc1wiKSYmYS5oYXMoXCJkZXByZWNhdGVkSW1wb3J0QXNzZXJ0XCIpKXRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBjb21iaW5lIGltcG9ydEFzc2VydGlvbnMgYW5kIGRlcHJlY2F0ZWRJbXBvcnRBc3NlcnQgcGx1Z2lucy5cIik7aWYoIWEuaGFzKFwiZGVwcmVjYXRlZEltcG9ydEFzc2VydFwiKSYmYS5oYXMoXCJpbXBvcnRBdHRyaWJ1dGVzXCIpJiZhLmdldChcImltcG9ydEF0dHJpYnV0ZXNcIikuZGVwcmVjYXRlZEFzc2VydFN5bnRheCYmYS5zZXQoXCJkZXByZWNhdGVkSW1wb3J0QXNzZXJ0XCIse30pLGEuaGFzKFwicmVjb3JkQW5kVHVwbGVcIikpe2xldCBlPWEuZ2V0KFwicmVjb3JkQW5kVHVwbGVcIikuc3ludGF4VHlwZTtpZihlIT1udWxsKXtsZXQgcz1bXCJoYXNoXCIsXCJiYXJcIl07aWYoIXMuaW5jbHVkZXMoZSkpdGhyb3cgbmV3IEVycm9yKFwiVGhlICdzeW50YXhUeXBlJyBvcHRpb24gb2YgdGhlICdyZWNvcmRBbmRUdXBsZScgcGx1Z2luIG11c3QgYmUgb25lIG9mOiBcIitzLm1hcChpPT5gJyR7aX0nYCkuam9pbihcIiwgXCIpKX19aWYoYS5oYXMoXCJhc3luY0RvRXhwcmVzc2lvbnNcIikmJiFhLmhhcyhcImRvRXhwcmVzc2lvbnNcIikpe2xldCBlPW5ldyBFcnJvcihcIidhc3luY0RvRXhwcmVzc2lvbnMnIHJlcXVpcmVzICdkb0V4cHJlc3Npb25zJywgcGxlYXNlIGFkZCAnZG9FeHByZXNzaW9ucycgdG8gcGFyc2VyIHBsdWdpbnMuXCIpO3Rocm93IGUubWlzc2luZ1BsdWdpbnM9XCJkb0V4cHJlc3Npb25zXCIsZX1pZihhLmhhcyhcIm9wdGlvbmFsQ2hhaW5pbmdBc3NpZ25cIikmJmEuZ2V0KFwib3B0aW9uYWxDaGFpbmluZ0Fzc2lnblwiKS52ZXJzaW9uIT09XCIyMDIzLTA3XCIpdGhyb3cgbmV3IEVycm9yKFwiVGhlICdvcHRpb25hbENoYWluaW5nQXNzaWduJyBwbHVnaW4gcmVxdWlyZXMgYSAndmVyc2lvbicgb3B0aW9uLCByZXByZXNlbnRpbmcgdGhlIGxhc3QgcHJvcG9zYWwgdXBkYXRlLiBDdXJyZW50bHksIHRoZSBvbmx5IHN1cHBvcnRlZCB2YWx1ZSBpcyAnMjAyMy0wNycuXCIpfXZhciBpcz17ZXN0cmVlOlpzLGpzeDpqaSxmbG93Ol9pLHR5cGVzY3JpcHQ6cWksdjhpbnRyaW5zaWM6WGkscGxhY2Vob2xkZXJzOldpfSxZaT1PYmplY3Qua2V5cyhpcyk7ZnVuY3Rpb24gUWkoKXtyZXR1cm57c291cmNlVHlwZTpcInNjcmlwdFwiLHNvdXJjZUZpbGVuYW1lOnZvaWQgMCxzdGFydEluZGV4OjAsc3RhcnRDb2x1bW46MCxzdGFydExpbmU6MSxhbGxvd0F3YWl0T3V0c2lkZUZ1bmN0aW9uOiExLGFsbG93UmV0dXJuT3V0c2lkZUZ1bmN0aW9uOiExLGFsbG93TmV3VGFyZ2V0T3V0c2lkZUZ1bmN0aW9uOiExLGFsbG93SW1wb3J0RXhwb3J0RXZlcnl3aGVyZTohMSxhbGxvd1N1cGVyT3V0c2lkZU1ldGhvZDohMSxhbGxvd1VuZGVjbGFyZWRFeHBvcnRzOiExLHBsdWdpbnM6W10sc3RyaWN0TW9kZTpudWxsLHJhbmdlczohMSx0b2tlbnM6ITEsY3JlYXRlSW1wb3J0RXhwcmVzc2lvbnM6ITEsY3JlYXRlUGFyZW50aGVzaXplZEV4cHJlc3Npb25zOiExLGVycm9yUmVjb3Zlcnk6ITEsYXR0YWNoQ29tbWVudDohMCxhbm5leEI6ITB9fWZ1bmN0aW9uIFppKGEpe2xldCB0PVFpKCk7aWYoYT09bnVsbClyZXR1cm4gdDtpZihhLmFubmV4QiE9bnVsbCYmYS5hbm5leEIhPT0hMSl0aHJvdyBuZXcgRXJyb3IoXCJUaGUgYGFubmV4QmAgb3B0aW9uIGNhbiBvbmx5IGJlIHNldCB0byBgZmFsc2VgLlwiKTtmb3IobGV0IGUgb2YgT2JqZWN0LmtleXModCkpYVtlXSE9bnVsbCYmKHRbZV09YVtlXSk7aWYodC5zdGFydExpbmU9PT0xKWEuc3RhcnRJbmRleD09bnVsbCYmdC5zdGFydENvbHVtbj4wP3Quc3RhcnRJbmRleD10LnN0YXJ0Q29sdW1uOmEuc3RhcnRDb2x1bW49PW51bGwmJnQuc3RhcnRJbmRleD4wJiYodC5zdGFydENvbHVtbj10LnN0YXJ0SW5kZXgpO2Vsc2UgaWYoKGEuc3RhcnRDb2x1bW49PW51bGx8fGEuc3RhcnRJbmRleD09bnVsbCkmJmEuc3RhcnRJbmRleCE9bnVsbCl0aHJvdyBuZXcgRXJyb3IoXCJXaXRoIGEgYHN0YXJ0TGluZSA+IDFgIHlvdSBtdXN0IGFsc28gc3BlY2lmeSBgc3RhcnRJbmRleGAgYW5kIGBzdGFydENvbHVtbmAuXCIpO3JldHVybiB0fXZhciBvdD1jbGFzcyBleHRlbmRzIG50e2NoZWNrUHJvdG8odCxlLHMsaSl7aWYodC50eXBlPT09XCJTcHJlYWRFbGVtZW50XCJ8fHRoaXMuaXNPYmplY3RNZXRob2QodCl8fHQuY29tcHV0ZWR8fHQuc2hvcnRoYW5kKXJldHVybjtsZXQgcj10LmtleTtpZigoci50eXBlPT09XCJJZGVudGlmaWVyXCI/ci5uYW1lOnIudmFsdWUpPT09XCJfX3Byb3RvX19cIil7aWYoZSl7dGhpcy5yYWlzZShwLlJlY29yZE5vUHJvdG8scik7cmV0dXJufXMudXNlZCYmKGk/aS5kb3VibGVQcm90b0xvYz09PW51bGwmJihpLmRvdWJsZVByb3RvTG9jPXIubG9jLnN0YXJ0KTp0aGlzLnJhaXNlKHAuRHVwbGljYXRlUHJvdG8scikpLHMudXNlZD0hMH19c2hvdWxkRXhpdERlc2NlbmRpbmcodCxlKXtyZXR1cm4gdC50eXBlPT09XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiJiZ0aGlzLm9mZnNldFRvU291cmNlUG9zKHQuc3RhcnQpPT09ZX1nZXRFeHByZXNzaW9uKCl7dGhpcy5lbnRlckluaXRpYWxTY29wZXMoKSx0aGlzLm5leHRUb2tlbigpO2xldCB0PXRoaXMucGFyc2VFeHByZXNzaW9uKCk7cmV0dXJuIHRoaXMubWF0Y2goMTQwKXx8dGhpcy51bmV4cGVjdGVkKCksdGhpcy5maW5hbGl6ZVJlbWFpbmluZ0NvbW1lbnRzKCksdC5jb21tZW50cz10aGlzLmNvbW1lbnRzLHQuZXJyb3JzPXRoaXMuc3RhdGUuZXJyb3JzLHRoaXMub3B0aW9ucy50b2tlbnMmJih0LnRva2Vucz10aGlzLnRva2VucyksdH1wYXJzZUV4cHJlc3Npb24odCxlKXtyZXR1cm4gdD90aGlzLmRpc2FsbG93SW5BbmQoKCk9PnRoaXMucGFyc2VFeHByZXNzaW9uQmFzZShlKSk6dGhpcy5hbGxvd0luQW5kKCgpPT50aGlzLnBhcnNlRXhwcmVzc2lvbkJhc2UoZSkpfXBhcnNlRXhwcmVzc2lvbkJhc2UodCl7bGV0IGU9dGhpcy5zdGF0ZS5zdGFydExvYyxzPXRoaXMucGFyc2VNYXliZUFzc2lnbih0KTtpZih0aGlzLm1hdGNoKDEyKSl7bGV0IGk9dGhpcy5zdGFydE5vZGVBdChlKTtmb3IoaS5leHByZXNzaW9ucz1bc107dGhpcy5lYXQoMTIpOylpLmV4cHJlc3Npb25zLnB1c2godGhpcy5wYXJzZU1heWJlQXNzaWduKHQpKTtyZXR1cm4gdGhpcy50b1JlZmVyZW5jZWRMaXN0KGkuZXhwcmVzc2lvbnMpLHRoaXMuZmluaXNoTm9kZShpLFwiU2VxdWVuY2VFeHByZXNzaW9uXCIpfXJldHVybiBzfXBhcnNlTWF5YmVBc3NpZ25EaXNhbGxvd0luKHQsZSl7cmV0dXJuIHRoaXMuZGlzYWxsb3dJbkFuZCgoKT0+dGhpcy5wYXJzZU1heWJlQXNzaWduKHQsZSkpfXBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKHQsZSl7cmV0dXJuIHRoaXMuYWxsb3dJbkFuZCgoKT0+dGhpcy5wYXJzZU1heWJlQXNzaWduKHQsZSkpfXNldE9wdGlvbmFsUGFyYW1ldGVyc0Vycm9yKHQsZSl7dmFyIHM7dC5vcHRpb25hbFBhcmFtZXRlcnNMb2M9KHM9ZT09bnVsbD92b2lkIDA6ZS5sb2MpIT1udWxsP3M6dGhpcy5zdGF0ZS5zdGFydExvY31wYXJzZU1heWJlQXNzaWduKHQsZSl7bGV0IHM9dGhpcy5zdGF0ZS5zdGFydExvYztpZih0aGlzLmlzQ29udGV4dHVhbCgxMDgpJiZ0aGlzLnByb2RQYXJhbS5oYXNZaWVsZCl7bGV0IG89dGhpcy5wYXJzZVlpZWxkKCk7cmV0dXJuIGUmJihvPWUuY2FsbCh0aGlzLG8scykpLG99bGV0IGk7dD9pPSExOih0PW5ldyBRLGk9ITApO2xldHt0eXBlOnJ9PXRoaXMuc3RhdGU7KHI9PT0xMHx8QyhyKSkmJih0aGlzLnN0YXRlLnBvdGVudGlhbEFycm93QXQ9dGhpcy5zdGF0ZS5zdGFydCk7bGV0IG49dGhpcy5wYXJzZU1heWJlQ29uZGl0aW9uYWwodCk7aWYoZSYmKG49ZS5jYWxsKHRoaXMsbixzKSkscmkodGhpcy5zdGF0ZS50eXBlKSl7bGV0IG89dGhpcy5zdGFydE5vZGVBdChzKSxoPXRoaXMuc3RhdGUudmFsdWU7aWYoby5vcGVyYXRvcj1oLHRoaXMubWF0Y2goMjkpKXt0aGlzLnRvQXNzaWduYWJsZShuLCEwKSxvLmxlZnQ9bjtsZXQgbD1zLmluZGV4O3QuZG91YmxlUHJvdG9Mb2MhPW51bGwmJnQuZG91YmxlUHJvdG9Mb2MuaW5kZXg+PWwmJih0LmRvdWJsZVByb3RvTG9jPW51bGwpLHQuc2hvcnRoYW5kQXNzaWduTG9jIT1udWxsJiZ0LnNob3J0aGFuZEFzc2lnbkxvYy5pbmRleD49bCYmKHQuc2hvcnRoYW5kQXNzaWduTG9jPW51bGwpLHQucHJpdmF0ZUtleUxvYyE9bnVsbCYmdC5wcml2YXRlS2V5TG9jLmluZGV4Pj1sJiYodGhpcy5jaGVja0Rlc3RydWN0dXJpbmdQcml2YXRlKHQpLHQucHJpdmF0ZUtleUxvYz1udWxsKX1lbHNlIG8ubGVmdD1uO3JldHVybiB0aGlzLm5leHQoKSxvLnJpZ2h0PXRoaXMucGFyc2VNYXliZUFzc2lnbigpLHRoaXMuY2hlY2tMVmFsKG4sdGhpcy5maW5pc2hOb2RlKG8sXCJBc3NpZ25tZW50RXhwcmVzc2lvblwiKSksb31lbHNlIGkmJnRoaXMuY2hlY2tFeHByZXNzaW9uRXJyb3JzKHQsITApO3JldHVybiBufXBhcnNlTWF5YmVDb25kaXRpb25hbCh0KXtsZXQgZT10aGlzLnN0YXRlLnN0YXJ0TG9jLHM9dGhpcy5zdGF0ZS5wb3RlbnRpYWxBcnJvd0F0LGk9dGhpcy5wYXJzZUV4cHJPcHModCk7cmV0dXJuIHRoaXMuc2hvdWxkRXhpdERlc2NlbmRpbmcoaSxzKT9pOnRoaXMucGFyc2VDb25kaXRpb25hbChpLGUsdCl9cGFyc2VDb25kaXRpb25hbCh0LGUscyl7aWYodGhpcy5lYXQoMTcpKXtsZXQgaT10aGlzLnN0YXJ0Tm9kZUF0KGUpO3JldHVybiBpLnRlc3Q9dCxpLmNvbnNlcXVlbnQ9dGhpcy5wYXJzZU1heWJlQXNzaWduQWxsb3dJbigpLHRoaXMuZXhwZWN0KDE0KSxpLmFsdGVybmF0ZT10aGlzLnBhcnNlTWF5YmVBc3NpZ24oKSx0aGlzLmZpbmlzaE5vZGUoaSxcIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiKX1yZXR1cm4gdH1wYXJzZU1heWJlVW5hcnlPclByaXZhdGUodCl7cmV0dXJuIHRoaXMubWF0Y2goMTM5KT90aGlzLnBhcnNlUHJpdmF0ZU5hbWUoKTp0aGlzLnBhcnNlTWF5YmVVbmFyeSh0KX1wYXJzZUV4cHJPcHModCl7bGV0IGU9dGhpcy5zdGF0ZS5zdGFydExvYyxzPXRoaXMuc3RhdGUucG90ZW50aWFsQXJyb3dBdCxpPXRoaXMucGFyc2VNYXliZVVuYXJ5T3JQcml2YXRlKHQpO3JldHVybiB0aGlzLnNob3VsZEV4aXREZXNjZW5kaW5nKGkscyk/aTp0aGlzLnBhcnNlRXhwck9wKGksZSwtMSl9cGFyc2VFeHByT3AodCxlLHMpe2lmKHRoaXMuaXNQcml2YXRlTmFtZSh0KSl7bGV0IHI9dGhpcy5nZXRQcml2YXRlTmFtZVNWKHQpOyhzPj13ZSg1OCl8fCF0aGlzLnByb2RQYXJhbS5oYXNJbnx8IXRoaXMubWF0Y2goNTgpKSYmdGhpcy5yYWlzZShwLlByaXZhdGVJbkV4cGVjdGVkSW4sdCx7aWRlbnRpZmllck5hbWU6cn0pLHRoaXMuY2xhc3NTY29wZS51c2VQcml2YXRlTmFtZShyLHQubG9jLnN0YXJ0KX1sZXQgaT10aGlzLnN0YXRlLnR5cGU7aWYobmkoaSkmJih0aGlzLnByb2RQYXJhbS5oYXNJbnx8IXRoaXMubWF0Y2goNTgpKSl7bGV0IHI9d2UoaSk7aWYocj5zKXtpZihpPT09Mzkpe2lmKHRoaXMuZXhwZWN0UGx1Z2luKFwicGlwZWxpbmVPcGVyYXRvclwiKSx0aGlzLnN0YXRlLmluRlNoYXJwUGlwZWxpbmVEaXJlY3RCb2R5KXJldHVybiB0O3RoaXMuY2hlY2tQaXBlbGluZUF0SW5maXhPcGVyYXRvcih0LGUpfWxldCBuPXRoaXMuc3RhcnROb2RlQXQoZSk7bi5sZWZ0PXQsbi5vcGVyYXRvcj10aGlzLnN0YXRlLnZhbHVlO2xldCBvPWk9PT00MXx8aT09PTQyLGg9aT09PTQwO2lmKGgmJihyPXdlKDQyKSksdGhpcy5uZXh0KCksaT09PTM5JiZ0aGlzLmhhc1BsdWdpbihbXCJwaXBlbGluZU9wZXJhdG9yXCIse3Byb3Bvc2FsOlwibWluaW1hbFwifV0pJiZ0aGlzLnN0YXRlLnR5cGU9PT05NiYmdGhpcy5wcm9kUGFyYW0uaGFzQXdhaXQpdGhyb3cgdGhpcy5yYWlzZShwLlVuZXhwZWN0ZWRBd2FpdEFmdGVyUGlwZWxpbmVCb2R5LHRoaXMuc3RhdGUuc3RhcnRMb2MpO24ucmlnaHQ9dGhpcy5wYXJzZUV4cHJPcFJpZ2h0RXhwcihpLHIpO2xldCBsPXRoaXMuZmluaXNoTm9kZShuLG98fGg/XCJMb2dpY2FsRXhwcmVzc2lvblwiOlwiQmluYXJ5RXhwcmVzc2lvblwiKSxjPXRoaXMuc3RhdGUudHlwZTtpZihoJiYoYz09PTQxfHxjPT09NDIpfHxvJiZjPT09NDApdGhyb3cgdGhpcy5yYWlzZShwLk1peGluZ0NvYWxlc2NlV2l0aExvZ2ljYWwsdGhpcy5zdGF0ZS5zdGFydExvYyk7cmV0dXJuIHRoaXMucGFyc2VFeHByT3AobCxlLHMpfX1yZXR1cm4gdH1wYXJzZUV4cHJPcFJpZ2h0RXhwcih0LGUpe2xldCBzPXRoaXMuc3RhdGUuc3RhcnRMb2M7c3dpdGNoKHQpe2Nhc2UgMzk6c3dpdGNoKHRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwicGlwZWxpbmVPcGVyYXRvclwiLFwicHJvcG9zYWxcIikpe2Nhc2VcImhhY2tcIjpyZXR1cm4gdGhpcy53aXRoVG9waWNCaW5kaW5nQ29udGV4dCgoKT0+dGhpcy5wYXJzZUhhY2tQaXBlQm9keSgpKTtjYXNlXCJzbWFydFwiOnJldHVybiB0aGlzLndpdGhUb3BpY0JpbmRpbmdDb250ZXh0KCgpPT57aWYodGhpcy5wcm9kUGFyYW0uaGFzWWllbGQmJnRoaXMuaXNDb250ZXh0dWFsKDEwOCkpdGhyb3cgdGhpcy5yYWlzZShwLlBpcGVCb2R5SXNUaWdodGVyLHRoaXMuc3RhdGUuc3RhcnRMb2MpO3JldHVybiB0aGlzLnBhcnNlU21hcnRQaXBlbGluZUJvZHlJblN0eWxlKHRoaXMucGFyc2VFeHByT3BCYXNlUmlnaHRFeHByKHQsZSkscyl9KTtjYXNlXCJmc2hhcnBcIjpyZXR1cm4gdGhpcy53aXRoU29sb0F3YWl0UGVybWl0dGluZ0NvbnRleHQoKCk9PnRoaXMucGFyc2VGU2hhcnBQaXBlbGluZUJvZHkoZSkpfWRlZmF1bHQ6cmV0dXJuIHRoaXMucGFyc2VFeHByT3BCYXNlUmlnaHRFeHByKHQsZSl9fXBhcnNlRXhwck9wQmFzZVJpZ2h0RXhwcih0LGUpe2xldCBzPXRoaXMuc3RhdGUuc3RhcnRMb2M7cmV0dXJuIHRoaXMucGFyc2VFeHByT3AodGhpcy5wYXJzZU1heWJlVW5hcnlPclByaXZhdGUoKSxzLHBpKHQpP2UtMTplKX1wYXJzZUhhY2tQaXBlQm9keSgpe3ZhciB0O2xldHtzdGFydExvYzplfT10aGlzLnN0YXRlLHM9dGhpcy5wYXJzZU1heWJlQXNzaWduKCk7cmV0dXJuIFdzLmhhcyhzLnR5cGUpJiYhKCh0PXMuZXh0cmEpIT1udWxsJiZ0LnBhcmVudGhlc2l6ZWQpJiZ0aGlzLnJhaXNlKHAuUGlwZVVucGFyZW50aGVzaXplZEJvZHksZSx7dHlwZTpzLnR5cGV9KSx0aGlzLnRvcGljUmVmZXJlbmNlV2FzVXNlZEluQ3VycmVudENvbnRleHQoKXx8dGhpcy5yYWlzZShwLlBpcGVUb3BpY1VudXNlZCxlKSxzfWNoZWNrRXhwb25lbnRpYWxBZnRlclVuYXJ5KHQpe3RoaXMubWF0Y2goNTcpJiZ0aGlzLnJhaXNlKHAuVW5leHBlY3RlZFRva2VuVW5hcnlFeHBvbmVudGlhdGlvbix0LmFyZ3VtZW50KX1wYXJzZU1heWJlVW5hcnkodCxlKXtsZXQgcz10aGlzLnN0YXRlLnN0YXJ0TG9jLGk9dGhpcy5pc0NvbnRleHR1YWwoOTYpO2lmKGkmJnRoaXMucmVjb3JkQXdhaXRJZkFsbG93ZWQoKSl7dGhpcy5uZXh0KCk7bGV0IGg9dGhpcy5wYXJzZUF3YWl0KHMpO3JldHVybiBlfHx0aGlzLmNoZWNrRXhwb25lbnRpYWxBZnRlclVuYXJ5KGgpLGh9bGV0IHI9dGhpcy5tYXRjaCgzNCksbj10aGlzLnN0YXJ0Tm9kZSgpO2lmKGhpKHRoaXMuc3RhdGUudHlwZSkpe24ub3BlcmF0b3I9dGhpcy5zdGF0ZS52YWx1ZSxuLnByZWZpeD0hMCx0aGlzLm1hdGNoKDcyKSYmdGhpcy5leHBlY3RQbHVnaW4oXCJ0aHJvd0V4cHJlc3Npb25zXCIpO2xldCBoPXRoaXMubWF0Y2goODkpO2lmKHRoaXMubmV4dCgpLG4uYXJndW1lbnQ9dGhpcy5wYXJzZU1heWJlVW5hcnkobnVsbCwhMCksdGhpcy5jaGVja0V4cHJlc3Npb25FcnJvcnModCwhMCksdGhpcy5zdGF0ZS5zdHJpY3QmJmgpe2xldCBsPW4uYXJndW1lbnQ7bC50eXBlPT09XCJJZGVudGlmaWVyXCI/dGhpcy5yYWlzZShwLlN0cmljdERlbGV0ZSxuKTp0aGlzLmhhc1Byb3BlcnR5QXNQcml2YXRlTmFtZShsKSYmdGhpcy5yYWlzZShwLkRlbGV0ZVByaXZhdGVGaWVsZCxuKX1pZighcilyZXR1cm4gZXx8dGhpcy5jaGVja0V4cG9uZW50aWFsQWZ0ZXJVbmFyeShuKSx0aGlzLmZpbmlzaE5vZGUobixcIlVuYXJ5RXhwcmVzc2lvblwiKX1sZXQgbz10aGlzLnBhcnNlVXBkYXRlKG4scix0KTtpZihpKXtsZXR7dHlwZTpofT10aGlzLnN0YXRlO2lmKCh0aGlzLmhhc1BsdWdpbihcInY4aW50cmluc2ljXCIpP1ZlKGgpOlZlKGgpJiYhdGhpcy5tYXRjaCg1NCkpJiYhdGhpcy5pc0FtYmlndW91c0F3YWl0KCkpcmV0dXJuIHRoaXMucmFpc2VPdmVyd3JpdGUocC5Bd2FpdE5vdEluQXN5bmNDb250ZXh0LHMpLHRoaXMucGFyc2VBd2FpdChzKX1yZXR1cm4gb31wYXJzZVVwZGF0ZSh0LGUscyl7aWYoZSl7bGV0IG49dDtyZXR1cm4gdGhpcy5jaGVja0xWYWwobi5hcmd1bWVudCx0aGlzLmZpbmlzaE5vZGUobixcIlVwZGF0ZUV4cHJlc3Npb25cIikpLHR9bGV0IGk9dGhpcy5zdGF0ZS5zdGFydExvYyxyPXRoaXMucGFyc2VFeHByU3Vic2NyaXB0cyhzKTtpZih0aGlzLmNoZWNrRXhwcmVzc2lvbkVycm9ycyhzLCExKSlyZXR1cm4gcjtmb3IoO29pKHRoaXMuc3RhdGUudHlwZSkmJiF0aGlzLmNhbkluc2VydFNlbWljb2xvbigpOyl7bGV0IG49dGhpcy5zdGFydE5vZGVBdChpKTtuLm9wZXJhdG9yPXRoaXMuc3RhdGUudmFsdWUsbi5wcmVmaXg9ITEsbi5hcmd1bWVudD1yLHRoaXMubmV4dCgpLHRoaXMuY2hlY2tMVmFsKHIscj10aGlzLmZpbmlzaE5vZGUobixcIlVwZGF0ZUV4cHJlc3Npb25cIikpfXJldHVybiByfXBhcnNlRXhwclN1YnNjcmlwdHModCl7bGV0IGU9dGhpcy5zdGF0ZS5zdGFydExvYyxzPXRoaXMuc3RhdGUucG90ZW50aWFsQXJyb3dBdCxpPXRoaXMucGFyc2VFeHByQXRvbSh0KTtyZXR1cm4gdGhpcy5zaG91bGRFeGl0RGVzY2VuZGluZyhpLHMpP2k6dGhpcy5wYXJzZVN1YnNjcmlwdHMoaSxlKX1wYXJzZVN1YnNjcmlwdHModCxlLHMpe2xldCBpPXtvcHRpb25hbENoYWluTWVtYmVyOiExLG1heWJlQXN5bmNBcnJvdzp0aGlzLmF0UG9zc2libGVBc3luY0Fycm93KHQpLHN0b3A6ITF9O2RvIHQ9dGhpcy5wYXJzZVN1YnNjcmlwdCh0LGUscyxpKSxpLm1heWJlQXN5bmNBcnJvdz0hMTt3aGlsZSghaS5zdG9wKTtyZXR1cm4gdH1wYXJzZVN1YnNjcmlwdCh0LGUscyxpKXtsZXR7dHlwZTpyfT10aGlzLnN0YXRlO2lmKCFzJiZyPT09MTUpcmV0dXJuIHRoaXMucGFyc2VCaW5kKHQsZSxzLGkpO2lmKEllKHIpKXJldHVybiB0aGlzLnBhcnNlVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uKHQsZSxpKTtsZXQgbj0hMTtpZihyPT09MTgpe2lmKHMmJih0aGlzLnJhaXNlKHAuT3B0aW9uYWxDaGFpbmluZ05vTmV3LHRoaXMuc3RhdGUuc3RhcnRMb2MpLHRoaXMubG9va2FoZWFkQ2hhckNvZGUoKT09PTQwKSlyZXR1cm4gaS5zdG9wPSEwLHQ7aS5vcHRpb25hbENoYWluTWVtYmVyPW49ITAsdGhpcy5uZXh0KCl9aWYoIXMmJnRoaXMubWF0Y2goMTApKXJldHVybiB0aGlzLnBhcnNlQ292ZXJDYWxsQW5kQXN5bmNBcnJvd0hlYWQodCxlLGksbik7e2xldCBvPXRoaXMuZWF0KDApO3JldHVybiBvfHxufHx0aGlzLmVhdCgxNik/dGhpcy5wYXJzZU1lbWJlcih0LGUsaSxvLG4pOihpLnN0b3A9ITAsdCl9fXBhcnNlTWVtYmVyKHQsZSxzLGkscil7bGV0IG49dGhpcy5zdGFydE5vZGVBdChlKTtyZXR1cm4gbi5vYmplY3Q9dCxuLmNvbXB1dGVkPWksaT8obi5wcm9wZXJ0eT10aGlzLnBhcnNlRXhwcmVzc2lvbigpLHRoaXMuZXhwZWN0KDMpKTp0aGlzLm1hdGNoKDEzOSk/KHQudHlwZT09PVwiU3VwZXJcIiYmdGhpcy5yYWlzZShwLlN1cGVyUHJpdmF0ZUZpZWxkLGUpLHRoaXMuY2xhc3NTY29wZS51c2VQcml2YXRlTmFtZSh0aGlzLnN0YXRlLnZhbHVlLHRoaXMuc3RhdGUuc3RhcnRMb2MpLG4ucHJvcGVydHk9dGhpcy5wYXJzZVByaXZhdGVOYW1lKCkpOm4ucHJvcGVydHk9dGhpcy5wYXJzZUlkZW50aWZpZXIoITApLHMub3B0aW9uYWxDaGFpbk1lbWJlcj8obi5vcHRpb25hbD1yLHRoaXMuZmluaXNoTm9kZShuLFwiT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uXCIpKTp0aGlzLmZpbmlzaE5vZGUobixcIk1lbWJlckV4cHJlc3Npb25cIil9cGFyc2VCaW5kKHQsZSxzLGkpe2xldCByPXRoaXMuc3RhcnROb2RlQXQoZSk7cmV0dXJuIHIub2JqZWN0PXQsdGhpcy5uZXh0KCksci5jYWxsZWU9dGhpcy5wYXJzZU5vQ2FsbEV4cHIoKSxpLnN0b3A9ITAsdGhpcy5wYXJzZVN1YnNjcmlwdHModGhpcy5maW5pc2hOb2RlKHIsXCJCaW5kRXhwcmVzc2lvblwiKSxlLHMpfXBhcnNlQ292ZXJDYWxsQW5kQXN5bmNBcnJvd0hlYWQodCxlLHMsaSl7bGV0IHI9dGhpcy5zdGF0ZS5tYXliZUluQXJyb3dQYXJhbWV0ZXJzLG49bnVsbDt0aGlzLnN0YXRlLm1heWJlSW5BcnJvd1BhcmFtZXRlcnM9ITAsdGhpcy5uZXh0KCk7bGV0IG89dGhpcy5zdGFydE5vZGVBdChlKTtvLmNhbGxlZT10O2xldHttYXliZUFzeW5jQXJyb3c6aCxvcHRpb25hbENoYWluTWVtYmVyOmx9PXM7aCYmKHRoaXMuZXhwcmVzc2lvblNjb3BlLmVudGVyKExpKCkpLG49bmV3IFEpLGwmJihvLm9wdGlvbmFsPWkpLGk/by5hcmd1bWVudHM9dGhpcy5wYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKDExKTpvLmFyZ3VtZW50cz10aGlzLnBhcnNlQ2FsbEV4cHJlc3Npb25Bcmd1bWVudHMoMTEsdC50eXBlIT09XCJTdXBlclwiLG8sbik7bGV0IGM9dGhpcy5maW5pc2hDYWxsRXhwcmVzc2lvbihvLGwpO3JldHVybiBoJiZ0aGlzLnNob3VsZFBhcnNlQXN5bmNBcnJvdygpJiYhaT8ocy5zdG9wPSEwLHRoaXMuY2hlY2tEZXN0cnVjdHVyaW5nUHJpdmF0ZShuKSx0aGlzLmV4cHJlc3Npb25TY29wZS52YWxpZGF0ZUFzUGF0dGVybigpLHRoaXMuZXhwcmVzc2lvblNjb3BlLmV4aXQoKSxjPXRoaXMucGFyc2VBc3luY0Fycm93RnJvbUNhbGxFeHByZXNzaW9uKHRoaXMuc3RhcnROb2RlQXQoZSksYykpOihoJiYodGhpcy5jaGVja0V4cHJlc3Npb25FcnJvcnMobiwhMCksdGhpcy5leHByZXNzaW9uU2NvcGUuZXhpdCgpKSx0aGlzLnRvUmVmZXJlbmNlZEFyZ3VtZW50cyhjKSksdGhpcy5zdGF0ZS5tYXliZUluQXJyb3dQYXJhbWV0ZXJzPXIsY310b1JlZmVyZW5jZWRBcmd1bWVudHModCxlKXt0aGlzLnRvUmVmZXJlbmNlZExpc3REZWVwKHQuYXJndW1lbnRzLGUpfXBhcnNlVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uKHQsZSxzKXtsZXQgaT10aGlzLnN0YXJ0Tm9kZUF0KGUpO3JldHVybiBpLnRhZz10LGkucXVhc2k9dGhpcy5wYXJzZVRlbXBsYXRlKCEwKSxzLm9wdGlvbmFsQ2hhaW5NZW1iZXImJnRoaXMucmFpc2UocC5PcHRpb25hbENoYWluaW5nTm9UZW1wbGF0ZSxlKSx0aGlzLmZpbmlzaE5vZGUoaSxcIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvblwiKX1hdFBvc3NpYmxlQXN5bmNBcnJvdyh0KXtyZXR1cm4gdC50eXBlPT09XCJJZGVudGlmaWVyXCImJnQubmFtZT09PVwiYXN5bmNcIiYmdGhpcy5zdGF0ZS5sYXN0VG9rRW5kTG9jLmluZGV4PT09dC5lbmQmJiF0aGlzLmNhbkluc2VydFNlbWljb2xvbigpJiZ0LmVuZC10LnN0YXJ0PT09NSYmdGhpcy5vZmZzZXRUb1NvdXJjZVBvcyh0LnN0YXJ0KT09PXRoaXMuc3RhdGUucG90ZW50aWFsQXJyb3dBdH1maW5pc2hDYWxsRXhwcmVzc2lvbih0LGUpe2lmKHQuY2FsbGVlLnR5cGU9PT1cIkltcG9ydFwiKWlmKHQuYXJndW1lbnRzLmxlbmd0aD09PTB8fHQuYXJndW1lbnRzLmxlbmd0aD4yKXRoaXMucmFpc2UocC5JbXBvcnRDYWxsQXJpdHksdCk7ZWxzZSBmb3IobGV0IHMgb2YgdC5hcmd1bWVudHMpcy50eXBlPT09XCJTcHJlYWRFbGVtZW50XCImJnRoaXMucmFpc2UocC5JbXBvcnRDYWxsU3ByZWFkQXJndW1lbnQscyk7cmV0dXJuIHRoaXMuZmluaXNoTm9kZSh0LGU/XCJPcHRpb25hbENhbGxFeHByZXNzaW9uXCI6XCJDYWxsRXhwcmVzc2lvblwiKX1wYXJzZUNhbGxFeHByZXNzaW9uQXJndW1lbnRzKHQsZSxzLGkpe2xldCByPVtdLG49ITAsbz10aGlzLnN0YXRlLmluRlNoYXJwUGlwZWxpbmVEaXJlY3RCb2R5O2Zvcih0aGlzLnN0YXRlLmluRlNoYXJwUGlwZWxpbmVEaXJlY3RCb2R5PSExOyF0aGlzLmVhdCh0KTspe2lmKG4pbj0hMTtlbHNlIGlmKHRoaXMuZXhwZWN0KDEyKSx0aGlzLm1hdGNoKHQpKXtzJiZ0aGlzLmFkZFRyYWlsaW5nQ29tbWFFeHRyYVRvTm9kZShzKSx0aGlzLm5leHQoKTticmVha31yLnB1c2godGhpcy5wYXJzZUV4cHJMaXN0SXRlbSghMSxpLGUpKX1yZXR1cm4gdGhpcy5zdGF0ZS5pbkZTaGFycFBpcGVsaW5lRGlyZWN0Qm9keT1vLHJ9c2hvdWxkUGFyc2VBc3luY0Fycm93KCl7cmV0dXJuIHRoaXMubWF0Y2goMTkpJiYhdGhpcy5jYW5JbnNlcnRTZW1pY29sb24oKX1wYXJzZUFzeW5jQXJyb3dGcm9tQ2FsbEV4cHJlc3Npb24odCxlKXt2YXIgcztyZXR1cm4gdGhpcy5yZXNldFByZXZpb3VzTm9kZVRyYWlsaW5nQ29tbWVudHMoZSksdGhpcy5leHBlY3QoMTkpLHRoaXMucGFyc2VBcnJvd0V4cHJlc3Npb24odCxlLmFyZ3VtZW50cywhMCwocz1lLmV4dHJhKT09bnVsbD92b2lkIDA6cy50cmFpbGluZ0NvbW1hTG9jKSxlLmlubmVyQ29tbWVudHMmJmRlKHQsZS5pbm5lckNvbW1lbnRzKSxlLmNhbGxlZS50cmFpbGluZ0NvbW1lbnRzJiZkZSh0LGUuY2FsbGVlLnRyYWlsaW5nQ29tbWVudHMpLHR9cGFyc2VOb0NhbGxFeHByKCl7bGV0IHQ9dGhpcy5zdGF0ZS5zdGFydExvYztyZXR1cm4gdGhpcy5wYXJzZVN1YnNjcmlwdHModGhpcy5wYXJzZUV4cHJBdG9tKCksdCwhMCl9cGFyc2VFeHByQXRvbSh0KXtsZXQgZSxzPW51bGwse3R5cGU6aX09dGhpcy5zdGF0ZTtzd2l0Y2goaSl7Y2FzZSA3OTpyZXR1cm4gdGhpcy5wYXJzZVN1cGVyKCk7Y2FzZSA4MzpyZXR1cm4gZT10aGlzLnN0YXJ0Tm9kZSgpLHRoaXMubmV4dCgpLHRoaXMubWF0Y2goMTYpP3RoaXMucGFyc2VJbXBvcnRNZXRhUHJvcGVydHkoZSk6dGhpcy5tYXRjaCgxMCk/dGhpcy5vcHRpb25zLmNyZWF0ZUltcG9ydEV4cHJlc3Npb25zP3RoaXMucGFyc2VJbXBvcnRDYWxsKGUpOnRoaXMuZmluaXNoTm9kZShlLFwiSW1wb3J0XCIpOih0aGlzLnJhaXNlKHAuVW5zdXBwb3J0ZWRJbXBvcnQsdGhpcy5zdGF0ZS5sYXN0VG9rU3RhcnRMb2MpLHRoaXMuZmluaXNoTm9kZShlLFwiSW1wb3J0XCIpKTtjYXNlIDc4OnJldHVybiBlPXRoaXMuc3RhcnROb2RlKCksdGhpcy5uZXh0KCksdGhpcy5maW5pc2hOb2RlKGUsXCJUaGlzRXhwcmVzc2lvblwiKTtjYXNlIDkwOnJldHVybiB0aGlzLnBhcnNlRG8odGhpcy5zdGFydE5vZGUoKSwhMSk7Y2FzZSA1NjpjYXNlIDMxOnJldHVybiB0aGlzLnJlYWRSZWdleHAoKSx0aGlzLnBhcnNlUmVnRXhwTGl0ZXJhbCh0aGlzLnN0YXRlLnZhbHVlKTtjYXNlIDEzNTpyZXR1cm4gdGhpcy5wYXJzZU51bWVyaWNMaXRlcmFsKHRoaXMuc3RhdGUudmFsdWUpO2Nhc2UgMTM2OnJldHVybiB0aGlzLnBhcnNlQmlnSW50TGl0ZXJhbCh0aGlzLnN0YXRlLnZhbHVlKTtjYXNlIDEzNDpyZXR1cm4gdGhpcy5wYXJzZVN0cmluZ0xpdGVyYWwodGhpcy5zdGF0ZS52YWx1ZSk7Y2FzZSA4NDpyZXR1cm4gdGhpcy5wYXJzZU51bGxMaXRlcmFsKCk7Y2FzZSA4NTpyZXR1cm4gdGhpcy5wYXJzZUJvb2xlYW5MaXRlcmFsKCEwKTtjYXNlIDg2OnJldHVybiB0aGlzLnBhcnNlQm9vbGVhbkxpdGVyYWwoITEpO2Nhc2UgMTA6e2xldCByPXRoaXMuc3RhdGUucG90ZW50aWFsQXJyb3dBdD09PXRoaXMuc3RhdGUuc3RhcnQ7cmV0dXJuIHRoaXMucGFyc2VQYXJlbkFuZERpc3Rpbmd1aXNoRXhwcmVzc2lvbihyKX1jYXNlIDI6Y2FzZSAxOnJldHVybiB0aGlzLnBhcnNlQXJyYXlMaWtlKHRoaXMuc3RhdGUudHlwZT09PTI/NDozLCExLCEwKTtjYXNlIDA6cmV0dXJuIHRoaXMucGFyc2VBcnJheUxpa2UoMywhMCwhMSx0KTtjYXNlIDY6Y2FzZSA3OnJldHVybiB0aGlzLnBhcnNlT2JqZWN0TGlrZSh0aGlzLnN0YXRlLnR5cGU9PT02Pzk6OCwhMSwhMCk7Y2FzZSA1OnJldHVybiB0aGlzLnBhcnNlT2JqZWN0TGlrZSg4LCExLCExLHQpO2Nhc2UgNjg6cmV0dXJuIHRoaXMucGFyc2VGdW5jdGlvbk9yRnVuY3Rpb25TZW50KCk7Y2FzZSAyNjpzPXRoaXMucGFyc2VEZWNvcmF0b3JzKCk7Y2FzZSA4MDpyZXR1cm4gdGhpcy5wYXJzZUNsYXNzKHRoaXMubWF5YmVUYWtlRGVjb3JhdG9ycyhzLHRoaXMuc3RhcnROb2RlKCkpLCExKTtjYXNlIDc3OnJldHVybiB0aGlzLnBhcnNlTmV3T3JOZXdUYXJnZXQoKTtjYXNlIDI1OmNhc2UgMjQ6cmV0dXJuIHRoaXMucGFyc2VUZW1wbGF0ZSghMSk7Y2FzZSAxNTp7ZT10aGlzLnN0YXJ0Tm9kZSgpLHRoaXMubmV4dCgpLGUub2JqZWN0PW51bGw7bGV0IHI9ZS5jYWxsZWU9dGhpcy5wYXJzZU5vQ2FsbEV4cHIoKTtpZihyLnR5cGU9PT1cIk1lbWJlckV4cHJlc3Npb25cIilyZXR1cm4gdGhpcy5maW5pc2hOb2RlKGUsXCJCaW5kRXhwcmVzc2lvblwiKTt0aHJvdyB0aGlzLnJhaXNlKHAuVW5zdXBwb3J0ZWRCaW5kLHIpfWNhc2UgMTM5OnJldHVybiB0aGlzLnJhaXNlKHAuUHJpdmF0ZUluRXhwZWN0ZWRJbix0aGlzLnN0YXRlLnN0YXJ0TG9jLHtpZGVudGlmaWVyTmFtZTp0aGlzLnN0YXRlLnZhbHVlfSksdGhpcy5wYXJzZVByaXZhdGVOYW1lKCk7Y2FzZSAzMzpyZXR1cm4gdGhpcy5wYXJzZVRvcGljUmVmZXJlbmNlVGhlbkVxdWFsc1NpZ24oNTQsXCIlXCIpO2Nhc2UgMzI6cmV0dXJuIHRoaXMucGFyc2VUb3BpY1JlZmVyZW5jZVRoZW5FcXVhbHNTaWduKDQ0LFwiXlwiKTtjYXNlIDM3OmNhc2UgMzg6cmV0dXJuIHRoaXMucGFyc2VUb3BpY1JlZmVyZW5jZShcImhhY2tcIik7Y2FzZSA0NDpjYXNlIDU0OmNhc2UgMjc6e2xldCByPXRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwicGlwZWxpbmVPcGVyYXRvclwiLFwicHJvcG9zYWxcIik7aWYocilyZXR1cm4gdGhpcy5wYXJzZVRvcGljUmVmZXJlbmNlKHIpO3RoaXMudW5leHBlY3RlZCgpO2JyZWFrfWNhc2UgNDc6e2xldCByPXRoaXMuaW5wdXQuY29kZVBvaW50QXQodGhpcy5uZXh0VG9rZW5TdGFydCgpKTtSKHIpfHxyPT09NjI/dGhpcy5leHBlY3RPbmVQbHVnaW4oW1wianN4XCIsXCJmbG93XCIsXCJ0eXBlc2NyaXB0XCJdKTp0aGlzLnVuZXhwZWN0ZWQoKTticmVha31kZWZhdWx0OmlmKGk9PT0xMzcpcmV0dXJuIHRoaXMucGFyc2VEZWNpbWFsTGl0ZXJhbCh0aGlzLnN0YXRlLnZhbHVlKTtpZihDKGkpKXtpZih0aGlzLmlzQ29udGV4dHVhbCgxMjcpJiZ0aGlzLmxvb2thaGVhZEluTGluZUNoYXJDb2RlKCk9PT0xMjMpcmV0dXJuIHRoaXMucGFyc2VNb2R1bGVFeHByZXNzaW9uKCk7bGV0IHI9dGhpcy5zdGF0ZS5wb3RlbnRpYWxBcnJvd0F0PT09dGhpcy5zdGF0ZS5zdGFydCxuPXRoaXMuc3RhdGUuY29udGFpbnNFc2Msbz10aGlzLnBhcnNlSWRlbnRpZmllcigpO2lmKCFuJiZvLm5hbWU9PT1cImFzeW5jXCImJiF0aGlzLmNhbkluc2VydFNlbWljb2xvbigpKXtsZXR7dHlwZTpofT10aGlzLnN0YXRlO2lmKGg9PT02OClyZXR1cm4gdGhpcy5yZXNldFByZXZpb3VzTm9kZVRyYWlsaW5nQ29tbWVudHMobyksdGhpcy5uZXh0KCksdGhpcy5wYXJzZUFzeW5jRnVuY3Rpb25FeHByZXNzaW9uKHRoaXMuc3RhcnROb2RlQXROb2RlKG8pKTtpZihDKGgpKXJldHVybiB0aGlzLmxvb2thaGVhZENoYXJDb2RlKCk9PT02MT90aGlzLnBhcnNlQXN5bmNBcnJvd1VuYXJ5RnVuY3Rpb24odGhpcy5zdGFydE5vZGVBdE5vZGUobykpOm87aWYoaD09PTkwKXJldHVybiB0aGlzLnJlc2V0UHJldmlvdXNOb2RlVHJhaWxpbmdDb21tZW50cyhvKSx0aGlzLnBhcnNlRG8odGhpcy5zdGFydE5vZGVBdE5vZGUobyksITApfXJldHVybiByJiZ0aGlzLm1hdGNoKDE5KSYmIXRoaXMuY2FuSW5zZXJ0U2VtaWNvbG9uKCk/KHRoaXMubmV4dCgpLHRoaXMucGFyc2VBcnJvd0V4cHJlc3Npb24odGhpcy5zdGFydE5vZGVBdE5vZGUobyksW29dLCExKSk6b31lbHNlIHRoaXMudW5leHBlY3RlZCgpfX1wYXJzZVRvcGljUmVmZXJlbmNlVGhlbkVxdWFsc1NpZ24odCxlKXtsZXQgcz10aGlzLmdldFBsdWdpbk9wdGlvbihcInBpcGVsaW5lT3BlcmF0b3JcIixcInByb3Bvc2FsXCIpO2lmKHMpcmV0dXJuIHRoaXMuc3RhdGUudHlwZT10LHRoaXMuc3RhdGUudmFsdWU9ZSx0aGlzLnN0YXRlLnBvcy0tLHRoaXMuc3RhdGUuZW5kLS0sdGhpcy5zdGF0ZS5lbmRMb2M9dih0aGlzLnN0YXRlLmVuZExvYywtMSksdGhpcy5wYXJzZVRvcGljUmVmZXJlbmNlKHMpO3RoaXMudW5leHBlY3RlZCgpfXBhcnNlVG9waWNSZWZlcmVuY2UodCl7bGV0IGU9dGhpcy5zdGFydE5vZGUoKSxzPXRoaXMuc3RhdGUuc3RhcnRMb2MsaT10aGlzLnN0YXRlLnR5cGU7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMuZmluaXNoVG9waWNSZWZlcmVuY2UoZSxzLHQsaSl9ZmluaXNoVG9waWNSZWZlcmVuY2UodCxlLHMsaSl7aWYodGhpcy50ZXN0VG9waWNSZWZlcmVuY2VDb25maWd1cmF0aW9uKHMsZSxpKSl7bGV0IHI9cz09PVwic21hcnRcIj9cIlBpcGVsaW5lUHJpbWFyeVRvcGljUmVmZXJlbmNlXCI6XCJUb3BpY1JlZmVyZW5jZVwiO3JldHVybiB0aGlzLnRvcGljUmVmZXJlbmNlSXNBbGxvd2VkSW5DdXJyZW50Q29udGV4dCgpfHx0aGlzLnJhaXNlKHM9PT1cInNtYXJ0XCI/cC5QcmltYXJ5VG9waWNOb3RBbGxvd2VkOnAuUGlwZVRvcGljVW5ib3VuZCxlKSx0aGlzLnJlZ2lzdGVyVG9waWNSZWZlcmVuY2UoKSx0aGlzLmZpbmlzaE5vZGUodCxyKX1lbHNlIHRocm93IHRoaXMucmFpc2UocC5QaXBlVG9waWNVbmNvbmZpZ3VyZWRUb2tlbixlLHt0b2tlbjpxKGkpfSl9dGVzdFRvcGljUmVmZXJlbmNlQ29uZmlndXJhdGlvbih0LGUscyl7c3dpdGNoKHQpe2Nhc2VcImhhY2tcIjpyZXR1cm4gdGhpcy5oYXNQbHVnaW4oW1wicGlwZWxpbmVPcGVyYXRvclwiLHt0b3BpY1Rva2VuOnEocyl9XSk7Y2FzZVwic21hcnRcIjpyZXR1cm4gcz09PTI3O2RlZmF1bHQ6dGhyb3cgdGhpcy5yYWlzZShwLlBpcGVUb3BpY1JlcXVpcmVzSGFja1BpcGVzLGUpfX1wYXJzZUFzeW5jQXJyb3dVbmFyeUZ1bmN0aW9uKHQpe3RoaXMucHJvZFBhcmFtLmVudGVyKENlKCEwLHRoaXMucHJvZFBhcmFtLmhhc1lpZWxkKSk7bGV0IGU9W3RoaXMucGFyc2VJZGVudGlmaWVyKCldO3JldHVybiB0aGlzLnByb2RQYXJhbS5leGl0KCksdGhpcy5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSYmdGhpcy5yYWlzZShwLkxpbmVUZXJtaW5hdG9yQmVmb3JlQXJyb3csdGhpcy5zdGF0ZS5jdXJQb3NpdGlvbigpKSx0aGlzLmV4cGVjdCgxOSksdGhpcy5wYXJzZUFycm93RXhwcmVzc2lvbih0LGUsITApfXBhcnNlRG8odCxlKXt0aGlzLmV4cGVjdFBsdWdpbihcImRvRXhwcmVzc2lvbnNcIiksZSYmdGhpcy5leHBlY3RQbHVnaW4oXCJhc3luY0RvRXhwcmVzc2lvbnNcIiksdC5hc3luYz1lLHRoaXMubmV4dCgpO2xldCBzPXRoaXMuc3RhdGUubGFiZWxzO3JldHVybiB0aGlzLnN0YXRlLmxhYmVscz1bXSxlPyh0aGlzLnByb2RQYXJhbS5lbnRlcigyKSx0LmJvZHk9dGhpcy5wYXJzZUJsb2NrKCksdGhpcy5wcm9kUGFyYW0uZXhpdCgpKTp0LmJvZHk9dGhpcy5wYXJzZUJsb2NrKCksdGhpcy5zdGF0ZS5sYWJlbHM9cyx0aGlzLmZpbmlzaE5vZGUodCxcIkRvRXhwcmVzc2lvblwiKX1wYXJzZVN1cGVyKCl7bGV0IHQ9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdGhpcy5uZXh0KCksdGhpcy5tYXRjaCgxMCkmJiF0aGlzLnNjb3BlLmFsbG93RGlyZWN0U3VwZXImJiF0aGlzLm9wdGlvbnMuYWxsb3dTdXBlck91dHNpZGVNZXRob2Q/dGhpcy5yYWlzZShwLlN1cGVyTm90QWxsb3dlZCx0KTohdGhpcy5zY29wZS5hbGxvd1N1cGVyJiYhdGhpcy5vcHRpb25zLmFsbG93U3VwZXJPdXRzaWRlTWV0aG9kJiZ0aGlzLnJhaXNlKHAuVW5leHBlY3RlZFN1cGVyLHQpLCF0aGlzLm1hdGNoKDEwKSYmIXRoaXMubWF0Y2goMCkmJiF0aGlzLm1hdGNoKDE2KSYmdGhpcy5yYWlzZShwLlVuc3VwcG9ydGVkU3VwZXIsdCksdGhpcy5maW5pc2hOb2RlKHQsXCJTdXBlclwiKX1wYXJzZVByaXZhdGVOYW1lKCl7bGV0IHQ9dGhpcy5zdGFydE5vZGUoKSxlPXRoaXMuc3RhcnROb2RlQXQodih0aGlzLnN0YXRlLnN0YXJ0TG9jLDEpKSxzPXRoaXMuc3RhdGUudmFsdWU7cmV0dXJuIHRoaXMubmV4dCgpLHQuaWQ9dGhpcy5jcmVhdGVJZGVudGlmaWVyKGUscyksdGhpcy5maW5pc2hOb2RlKHQsXCJQcml2YXRlTmFtZVwiKX1wYXJzZUZ1bmN0aW9uT3JGdW5jdGlvblNlbnQoKXtsZXQgdD10aGlzLnN0YXJ0Tm9kZSgpO2lmKHRoaXMubmV4dCgpLHRoaXMucHJvZFBhcmFtLmhhc1lpZWxkJiZ0aGlzLm1hdGNoKDE2KSl7bGV0IGU9dGhpcy5jcmVhdGVJZGVudGlmaWVyKHRoaXMuc3RhcnROb2RlQXROb2RlKHQpLFwiZnVuY3Rpb25cIik7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMubWF0Y2goMTAzKT90aGlzLmV4cGVjdFBsdWdpbihcImZ1bmN0aW9uU2VudFwiKTp0aGlzLmhhc1BsdWdpbihcImZ1bmN0aW9uU2VudFwiKXx8dGhpcy51bmV4cGVjdGVkKCksdGhpcy5wYXJzZU1ldGFQcm9wZXJ0eSh0LGUsXCJzZW50XCIpfXJldHVybiB0aGlzLnBhcnNlRnVuY3Rpb24odCl9cGFyc2VNZXRhUHJvcGVydHkodCxlLHMpe3QubWV0YT1lO2xldCBpPXRoaXMuc3RhdGUuY29udGFpbnNFc2M7cmV0dXJuIHQucHJvcGVydHk9dGhpcy5wYXJzZUlkZW50aWZpZXIoITApLCh0LnByb3BlcnR5Lm5hbWUhPT1zfHxpKSYmdGhpcy5yYWlzZShwLlVuc3VwcG9ydGVkTWV0YVByb3BlcnR5LHQucHJvcGVydHkse3RhcmdldDplLm5hbWUsb25seVZhbGlkUHJvcGVydHlOYW1lOnN9KSx0aGlzLmZpbmlzaE5vZGUodCxcIk1ldGFQcm9wZXJ0eVwiKX1wYXJzZUltcG9ydE1ldGFQcm9wZXJ0eSh0KXtsZXQgZT10aGlzLmNyZWF0ZUlkZW50aWZpZXIodGhpcy5zdGFydE5vZGVBdE5vZGUodCksXCJpbXBvcnRcIik7aWYodGhpcy5uZXh0KCksdGhpcy5pc0NvbnRleHR1YWwoMTAxKSl0aGlzLmluTW9kdWxlfHx0aGlzLnJhaXNlKHAuSW1wb3J0TWV0YU91dHNpZGVNb2R1bGUsZSksdGhpcy5zYXdVbmFtYmlndW91c0VTTT0hMDtlbHNlIGlmKHRoaXMuaXNDb250ZXh0dWFsKDEwNSl8fHRoaXMuaXNDb250ZXh0dWFsKDk3KSl7bGV0IHM9dGhpcy5pc0NvbnRleHR1YWwoMTA1KTtpZihzfHx0aGlzLnVuZXhwZWN0ZWQoKSx0aGlzLmV4cGVjdFBsdWdpbihzP1wic291cmNlUGhhc2VJbXBvcnRzXCI6XCJkZWZlcnJlZEltcG9ydEV2YWx1YXRpb25cIiksIXRoaXMub3B0aW9ucy5jcmVhdGVJbXBvcnRFeHByZXNzaW9ucyl0aHJvdyB0aGlzLnJhaXNlKHAuRHluYW1pY0ltcG9ydFBoYXNlUmVxdWlyZXNJbXBvcnRFeHByZXNzaW9ucyx0aGlzLnN0YXRlLnN0YXJ0TG9jLHtwaGFzZTp0aGlzLnN0YXRlLnZhbHVlfSk7cmV0dXJuIHRoaXMubmV4dCgpLHQucGhhc2U9cz9cInNvdXJjZVwiOlwiZGVmZXJcIix0aGlzLnBhcnNlSW1wb3J0Q2FsbCh0KX1yZXR1cm4gdGhpcy5wYXJzZU1ldGFQcm9wZXJ0eSh0LGUsXCJtZXRhXCIpfXBhcnNlTGl0ZXJhbEF0Tm9kZSh0LGUscyl7cmV0dXJuIHRoaXMuYWRkRXh0cmEocyxcInJhd1ZhbHVlXCIsdCksdGhpcy5hZGRFeHRyYShzLFwicmF3XCIsdGhpcy5pbnB1dC5zbGljZSh0aGlzLm9mZnNldFRvU291cmNlUG9zKHMuc3RhcnQpLHRoaXMuc3RhdGUuZW5kKSkscy52YWx1ZT10LHRoaXMubmV4dCgpLHRoaXMuZmluaXNoTm9kZShzLGUpfXBhcnNlTGl0ZXJhbCh0LGUpe2xldCBzPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIHRoaXMucGFyc2VMaXRlcmFsQXROb2RlKHQsZSxzKX1wYXJzZVN0cmluZ0xpdGVyYWwodCl7cmV0dXJuIHRoaXMucGFyc2VMaXRlcmFsKHQsXCJTdHJpbmdMaXRlcmFsXCIpfXBhcnNlTnVtZXJpY0xpdGVyYWwodCl7cmV0dXJuIHRoaXMucGFyc2VMaXRlcmFsKHQsXCJOdW1lcmljTGl0ZXJhbFwiKX1wYXJzZUJpZ0ludExpdGVyYWwodCl7cmV0dXJuIHRoaXMucGFyc2VMaXRlcmFsKHQsXCJCaWdJbnRMaXRlcmFsXCIpfXBhcnNlRGVjaW1hbExpdGVyYWwodCl7cmV0dXJuIHRoaXMucGFyc2VMaXRlcmFsKHQsXCJEZWNpbWFsTGl0ZXJhbFwiKX1wYXJzZVJlZ0V4cExpdGVyYWwodCl7bGV0IGU9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdGhpcy5hZGRFeHRyYShlLFwicmF3XCIsdGhpcy5pbnB1dC5zbGljZSh0aGlzLm9mZnNldFRvU291cmNlUG9zKGUuc3RhcnQpLHRoaXMuc3RhdGUuZW5kKSksZS5wYXR0ZXJuPXQucGF0dGVybixlLmZsYWdzPXQuZmxhZ3MsdGhpcy5uZXh0KCksdGhpcy5maW5pc2hOb2RlKGUsXCJSZWdFeHBMaXRlcmFsXCIpfXBhcnNlQm9vbGVhbkxpdGVyYWwodCl7bGV0IGU9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gZS52YWx1ZT10LHRoaXMubmV4dCgpLHRoaXMuZmluaXNoTm9kZShlLFwiQm9vbGVhbkxpdGVyYWxcIil9cGFyc2VOdWxsTGl0ZXJhbCgpe2xldCB0PXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMuZmluaXNoTm9kZSh0LFwiTnVsbExpdGVyYWxcIil9cGFyc2VQYXJlbkFuZERpc3Rpbmd1aXNoRXhwcmVzc2lvbih0KXtsZXQgZT10aGlzLnN0YXRlLnN0YXJ0TG9jLHM7dGhpcy5uZXh0KCksdGhpcy5leHByZXNzaW9uU2NvcGUuZW50ZXIodmkoKSk7bGV0IGk9dGhpcy5zdGF0ZS5tYXliZUluQXJyb3dQYXJhbWV0ZXJzLHI9dGhpcy5zdGF0ZS5pbkZTaGFycFBpcGVsaW5lRGlyZWN0Qm9keTt0aGlzLnN0YXRlLm1heWJlSW5BcnJvd1BhcmFtZXRlcnM9ITAsdGhpcy5zdGF0ZS5pbkZTaGFycFBpcGVsaW5lRGlyZWN0Qm9keT0hMTtsZXQgbj10aGlzLnN0YXRlLnN0YXJ0TG9jLG89W10saD1uZXcgUSxsPSEwLGMsdTtmb3IoOyF0aGlzLm1hdGNoKDExKTspe2lmKGwpbD0hMTtlbHNlIGlmKHRoaXMuZXhwZWN0KDEyLGgub3B0aW9uYWxQYXJhbWV0ZXJzTG9jPT09bnVsbD9udWxsOmgub3B0aW9uYWxQYXJhbWV0ZXJzTG9jKSx0aGlzLm1hdGNoKDExKSl7dT10aGlzLnN0YXRlLnN0YXJ0TG9jO2JyZWFrfWlmKHRoaXMubWF0Y2goMjEpKXtsZXQgeD10aGlzLnN0YXRlLnN0YXJ0TG9jO2lmKGM9dGhpcy5zdGF0ZS5zdGFydExvYyxvLnB1c2godGhpcy5wYXJzZVBhcmVuSXRlbSh0aGlzLnBhcnNlUmVzdEJpbmRpbmcoKSx4KSksIXRoaXMuY2hlY2tDb21tYUFmdGVyUmVzdCg0MSkpYnJlYWt9ZWxzZSBvLnB1c2godGhpcy5wYXJzZU1heWJlQXNzaWduQWxsb3dJbihoLHRoaXMucGFyc2VQYXJlbkl0ZW0pKX1sZXQgZj10aGlzLnN0YXRlLmxhc3RUb2tFbmRMb2M7dGhpcy5leHBlY3QoMTEpLHRoaXMuc3RhdGUubWF5YmVJbkFycm93UGFyYW1ldGVycz1pLHRoaXMuc3RhdGUuaW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHk9cjtsZXQgZD10aGlzLnN0YXJ0Tm9kZUF0KGUpO3JldHVybiB0JiZ0aGlzLnNob3VsZFBhcnNlQXJyb3cobykmJihkPXRoaXMucGFyc2VBcnJvdyhkKSk/KHRoaXMuY2hlY2tEZXN0cnVjdHVyaW5nUHJpdmF0ZShoKSx0aGlzLmV4cHJlc3Npb25TY29wZS52YWxpZGF0ZUFzUGF0dGVybigpLHRoaXMuZXhwcmVzc2lvblNjb3BlLmV4aXQoKSx0aGlzLnBhcnNlQXJyb3dFeHByZXNzaW9uKGQsbywhMSksZCk6KHRoaXMuZXhwcmVzc2lvblNjb3BlLmV4aXQoKSxvLmxlbmd0aHx8dGhpcy51bmV4cGVjdGVkKHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jKSx1JiZ0aGlzLnVuZXhwZWN0ZWQodSksYyYmdGhpcy51bmV4cGVjdGVkKGMpLHRoaXMuY2hlY2tFeHByZXNzaW9uRXJyb3JzKGgsITApLHRoaXMudG9SZWZlcmVuY2VkTGlzdERlZXAobywhMCksby5sZW5ndGg+MT8ocz10aGlzLnN0YXJ0Tm9kZUF0KG4pLHMuZXhwcmVzc2lvbnM9byx0aGlzLmZpbmlzaE5vZGUocyxcIlNlcXVlbmNlRXhwcmVzc2lvblwiKSx0aGlzLnJlc2V0RW5kTG9jYXRpb24ocyxmKSk6cz1vWzBdLHRoaXMud3JhcFBhcmVudGhlc2lzKGUscykpfXdyYXBQYXJlbnRoZXNpcyh0LGUpe2lmKCF0aGlzLm9wdGlvbnMuY3JlYXRlUGFyZW50aGVzaXplZEV4cHJlc3Npb25zKXJldHVybiB0aGlzLmFkZEV4dHJhKGUsXCJwYXJlbnRoZXNpemVkXCIsITApLHRoaXMuYWRkRXh0cmEoZSxcInBhcmVuU3RhcnRcIix0LmluZGV4KSx0aGlzLnRha2VTdXJyb3VuZGluZ0NvbW1lbnRzKGUsdC5pbmRleCx0aGlzLnN0YXRlLmxhc3RUb2tFbmRMb2MuaW5kZXgpLGU7bGV0IHM9dGhpcy5zdGFydE5vZGVBdCh0KTtyZXR1cm4gcy5leHByZXNzaW9uPWUsdGhpcy5maW5pc2hOb2RlKHMsXCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiKX1zaG91bGRQYXJzZUFycm93KHQpe3JldHVybiF0aGlzLmNhbkluc2VydFNlbWljb2xvbigpfXBhcnNlQXJyb3codCl7aWYodGhpcy5lYXQoMTkpKXJldHVybiB0fXBhcnNlUGFyZW5JdGVtKHQsZSl7cmV0dXJuIHR9cGFyc2VOZXdPck5ld1RhcmdldCgpe2xldCB0PXRoaXMuc3RhcnROb2RlKCk7aWYodGhpcy5uZXh0KCksdGhpcy5tYXRjaCgxNikpe2xldCBlPXRoaXMuY3JlYXRlSWRlbnRpZmllcih0aGlzLnN0YXJ0Tm9kZUF0Tm9kZSh0KSxcIm5ld1wiKTt0aGlzLm5leHQoKTtsZXQgcz10aGlzLnBhcnNlTWV0YVByb3BlcnR5KHQsZSxcInRhcmdldFwiKTtyZXR1cm4hdGhpcy5zY29wZS5pbk5vbkFycm93RnVuY3Rpb24mJiF0aGlzLnNjb3BlLmluQ2xhc3MmJiF0aGlzLm9wdGlvbnMuYWxsb3dOZXdUYXJnZXRPdXRzaWRlRnVuY3Rpb24mJnRoaXMucmFpc2UocC5VbmV4cGVjdGVkTmV3VGFyZ2V0LHMpLHN9cmV0dXJuIHRoaXMucGFyc2VOZXcodCl9cGFyc2VOZXcodCl7aWYodGhpcy5wYXJzZU5ld0NhbGxlZSh0KSx0aGlzLmVhdCgxMCkpe2xldCBlPXRoaXMucGFyc2VFeHByTGlzdCgxMSk7dGhpcy50b1JlZmVyZW5jZWRMaXN0KGUpLHQuYXJndW1lbnRzPWV9ZWxzZSB0LmFyZ3VtZW50cz1bXTtyZXR1cm4gdGhpcy5maW5pc2hOb2RlKHQsXCJOZXdFeHByZXNzaW9uXCIpfXBhcnNlTmV3Q2FsbGVlKHQpe2xldCBlPXRoaXMubWF0Y2goODMpLHM9dGhpcy5wYXJzZU5vQ2FsbEV4cHIoKTt0LmNhbGxlZT1zLGUmJihzLnR5cGU9PT1cIkltcG9ydFwifHxzLnR5cGU9PT1cIkltcG9ydEV4cHJlc3Npb25cIikmJnRoaXMucmFpc2UocC5JbXBvcnRDYWxsTm90TmV3RXhwcmVzc2lvbixzKX1wYXJzZVRlbXBsYXRlRWxlbWVudCh0KXtsZXR7c3RhcnQ6ZSxzdGFydExvYzpzLGVuZDppLHZhbHVlOnJ9PXRoaXMuc3RhdGUsbj1lKzEsbz10aGlzLnN0YXJ0Tm9kZUF0KHYocywxKSk7cj09PW51bGwmJih0fHx0aGlzLnJhaXNlKHAuSW52YWxpZEVzY2FwZVNlcXVlbmNlVGVtcGxhdGUsdih0aGlzLnN0YXRlLmZpcnN0SW52YWxpZFRlbXBsYXRlRXNjYXBlUG9zLDEpKSk7bGV0IGg9dGhpcy5tYXRjaCgyNCksbD1oPy0xOi0yLGM9aStsO28udmFsdWU9e3Jhdzp0aGlzLmlucHV0LnNsaWNlKG4sYykucmVwbGFjZSgvXFxyXFxuPy9nLGBcbmApLGNvb2tlZDpyPT09bnVsbD9udWxsOnIuc2xpY2UoMSxsKX0sby50YWlsPWgsdGhpcy5uZXh0KCk7bGV0IHU9dGhpcy5maW5pc2hOb2RlKG8sXCJUZW1wbGF0ZUVsZW1lbnRcIik7cmV0dXJuIHRoaXMucmVzZXRFbmRMb2NhdGlvbih1LHYodGhpcy5zdGF0ZS5sYXN0VG9rRW5kTG9jLGwpKSx1fXBhcnNlVGVtcGxhdGUodCl7bGV0IGU9dGhpcy5zdGFydE5vZGUoKSxzPXRoaXMucGFyc2VUZW1wbGF0ZUVsZW1lbnQodCksaT1bc10scj1bXTtmb3IoOyFzLnRhaWw7KXIucHVzaCh0aGlzLnBhcnNlVGVtcGxhdGVTdWJzdGl0dXRpb24oKSksdGhpcy5yZWFkVGVtcGxhdGVDb250aW51YXRpb24oKSxpLnB1c2gocz10aGlzLnBhcnNlVGVtcGxhdGVFbGVtZW50KHQpKTtyZXR1cm4gZS5leHByZXNzaW9ucz1yLGUucXVhc2lzPWksdGhpcy5maW5pc2hOb2RlKGUsXCJUZW1wbGF0ZUxpdGVyYWxcIil9cGFyc2VUZW1wbGF0ZVN1YnN0aXR1dGlvbigpe3JldHVybiB0aGlzLnBhcnNlRXhwcmVzc2lvbigpfXBhcnNlT2JqZWN0TGlrZSh0LGUscyxpKXtzJiZ0aGlzLmV4cGVjdFBsdWdpbihcInJlY29yZEFuZFR1cGxlXCIpO2xldCByPXRoaXMuc3RhdGUuaW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHk7dGhpcy5zdGF0ZS5pbkZTaGFycFBpcGVsaW5lRGlyZWN0Qm9keT0hMTtsZXQgbj1PYmplY3QuY3JlYXRlKG51bGwpLG89ITAsaD10aGlzLnN0YXJ0Tm9kZSgpO2ZvcihoLnByb3BlcnRpZXM9W10sdGhpcy5uZXh0KCk7IXRoaXMubWF0Y2godCk7KXtpZihvKW89ITE7ZWxzZSBpZih0aGlzLmV4cGVjdCgxMiksdGhpcy5tYXRjaCh0KSl7dGhpcy5hZGRUcmFpbGluZ0NvbW1hRXh0cmFUb05vZGUoaCk7YnJlYWt9bGV0IGM7ZT9jPXRoaXMucGFyc2VCaW5kaW5nUHJvcGVydHkoKTooYz10aGlzLnBhcnNlUHJvcGVydHlEZWZpbml0aW9uKGkpLHRoaXMuY2hlY2tQcm90byhjLHMsbixpKSkscyYmIXRoaXMuaXNPYmplY3RQcm9wZXJ0eShjKSYmYy50eXBlIT09XCJTcHJlYWRFbGVtZW50XCImJnRoaXMucmFpc2UocC5JbnZhbGlkUmVjb3JkUHJvcGVydHksYyksYy5zaG9ydGhhbmQmJnRoaXMuYWRkRXh0cmEoYyxcInNob3J0aGFuZFwiLCEwKSxoLnByb3BlcnRpZXMucHVzaChjKX10aGlzLm5leHQoKSx0aGlzLnN0YXRlLmluRlNoYXJwUGlwZWxpbmVEaXJlY3RCb2R5PXI7bGV0IGw9XCJPYmplY3RFeHByZXNzaW9uXCI7cmV0dXJuIGU/bD1cIk9iamVjdFBhdHRlcm5cIjpzJiYobD1cIlJlY29yZEV4cHJlc3Npb25cIiksdGhpcy5maW5pc2hOb2RlKGgsbCl9YWRkVHJhaWxpbmdDb21tYUV4dHJhVG9Ob2RlKHQpe3RoaXMuYWRkRXh0cmEodCxcInRyYWlsaW5nQ29tbWFcIix0aGlzLnN0YXRlLmxhc3RUb2tTdGFydExvYy5pbmRleCksdGhpcy5hZGRFeHRyYSh0LFwidHJhaWxpbmdDb21tYUxvY1wiLHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jLCExKX1tYXliZUFzeW5jT3JBY2Nlc3NvclByb3AodCl7cmV0dXJuIXQuY29tcHV0ZWQmJnQua2V5LnR5cGU9PT1cIklkZW50aWZpZXJcIiYmKHRoaXMuaXNMaXRlcmFsUHJvcGVydHlOYW1lKCl8fHRoaXMubWF0Y2goMCl8fHRoaXMubWF0Y2goNTUpKX1wYXJzZVByb3BlcnR5RGVmaW5pdGlvbih0KXtsZXQgZT1bXTtpZih0aGlzLm1hdGNoKDI2KSlmb3IodGhpcy5oYXNQbHVnaW4oXCJkZWNvcmF0b3JzXCIpJiZ0aGlzLnJhaXNlKHAuVW5zdXBwb3J0ZWRQcm9wZXJ0eURlY29yYXRvcix0aGlzLnN0YXRlLnN0YXJ0TG9jKTt0aGlzLm1hdGNoKDI2KTspZS5wdXNoKHRoaXMucGFyc2VEZWNvcmF0b3IoKSk7bGV0IHM9dGhpcy5zdGFydE5vZGUoKSxpPSExLHI9ITEsbjtpZih0aGlzLm1hdGNoKDIxKSlyZXR1cm4gZS5sZW5ndGgmJnRoaXMudW5leHBlY3RlZCgpLHRoaXMucGFyc2VTcHJlYWQoKTtlLmxlbmd0aCYmKHMuZGVjb3JhdG9ycz1lLGU9W10pLHMubWV0aG9kPSExLHQmJihuPXRoaXMuc3RhdGUuc3RhcnRMb2MpO2xldCBvPXRoaXMuZWF0KDU1KTt0aGlzLnBhcnNlUHJvcGVydHlOYW1lUHJlZml4T3BlcmF0b3Iocyk7bGV0IGg9dGhpcy5zdGF0ZS5jb250YWluc0VzYztpZih0aGlzLnBhcnNlUHJvcGVydHlOYW1lKHMsdCksIW8mJiFoJiZ0aGlzLm1heWJlQXN5bmNPckFjY2Vzc29yUHJvcChzKSl7bGV0e2tleTpsfT1zLGM9bC5uYW1lO2M9PT1cImFzeW5jXCImJiF0aGlzLmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpJiYoaT0hMCx0aGlzLnJlc2V0UHJldmlvdXNOb2RlVHJhaWxpbmdDb21tZW50cyhsKSxvPXRoaXMuZWF0KDU1KSx0aGlzLnBhcnNlUHJvcGVydHlOYW1lKHMpKSwoYz09PVwiZ2V0XCJ8fGM9PT1cInNldFwiKSYmKHI9ITAsdGhpcy5yZXNldFByZXZpb3VzTm9kZVRyYWlsaW5nQ29tbWVudHMobCkscy5raW5kPWMsdGhpcy5tYXRjaCg1NSkmJihvPSEwLHRoaXMucmFpc2UocC5BY2Nlc3NvcklzR2VuZXJhdG9yLHRoaXMuc3RhdGUuY3VyUG9zaXRpb24oKSx7a2luZDpjfSksdGhpcy5uZXh0KCkpLHRoaXMucGFyc2VQcm9wZXJ0eU5hbWUocykpfXJldHVybiB0aGlzLnBhcnNlT2JqUHJvcFZhbHVlKHMsbixvLGksITEscix0KX1nZXRHZXR0ZXJTZXR0ZXJFeHBlY3RlZFBhcmFtQ291bnQodCl7cmV0dXJuIHQua2luZD09PVwiZ2V0XCI/MDoxfWdldE9iamVjdE9yQ2xhc3NNZXRob2RQYXJhbXModCl7cmV0dXJuIHQucGFyYW1zfWNoZWNrR2V0dGVyU2V0dGVyUGFyYW1zKHQpe3ZhciBlO2xldCBzPXRoaXMuZ2V0R2V0dGVyU2V0dGVyRXhwZWN0ZWRQYXJhbUNvdW50KHQpLGk9dGhpcy5nZXRPYmplY3RPckNsYXNzTWV0aG9kUGFyYW1zKHQpO2kubGVuZ3RoIT09cyYmdGhpcy5yYWlzZSh0LmtpbmQ9PT1cImdldFwiP3AuQmFkR2V0dGVyQXJpdHk6cC5CYWRTZXR0ZXJBcml0eSx0KSx0LmtpbmQ9PT1cInNldFwiJiYoKGU9aVtpLmxlbmd0aC0xXSk9PW51bGw/dm9pZCAwOmUudHlwZSk9PT1cIlJlc3RFbGVtZW50XCImJnRoaXMucmFpc2UocC5CYWRTZXR0ZXJSZXN0UGFyYW1ldGVyLHQpfXBhcnNlT2JqZWN0TWV0aG9kKHQsZSxzLGkscil7aWYocil7bGV0IG49dGhpcy5wYXJzZU1ldGhvZCh0LGUsITEsITEsITEsXCJPYmplY3RNZXRob2RcIik7cmV0dXJuIHRoaXMuY2hlY2tHZXR0ZXJTZXR0ZXJQYXJhbXMobiksbn1pZihzfHxlfHx0aGlzLm1hdGNoKDEwKSlyZXR1cm4gaSYmdGhpcy51bmV4cGVjdGVkKCksdC5raW5kPVwibWV0aG9kXCIsdC5tZXRob2Q9ITAsdGhpcy5wYXJzZU1ldGhvZCh0LGUscywhMSwhMSxcIk9iamVjdE1ldGhvZFwiKX1wYXJzZU9iamVjdFByb3BlcnR5KHQsZSxzLGkpe2lmKHQuc2hvcnRoYW5kPSExLHRoaXMuZWF0KDE0KSlyZXR1cm4gdC52YWx1ZT1zP3RoaXMucGFyc2VNYXliZURlZmF1bHQodGhpcy5zdGF0ZS5zdGFydExvYyk6dGhpcy5wYXJzZU1heWJlQXNzaWduQWxsb3dJbihpKSx0aGlzLmZpbmlzaE5vZGUodCxcIk9iamVjdFByb3BlcnR5XCIpO2lmKCF0LmNvbXB1dGVkJiZ0LmtleS50eXBlPT09XCJJZGVudGlmaWVyXCIpe2lmKHRoaXMuY2hlY2tSZXNlcnZlZFdvcmQodC5rZXkubmFtZSx0LmtleS5sb2Muc3RhcnQsITAsITEpLHMpdC52YWx1ZT10aGlzLnBhcnNlTWF5YmVEZWZhdWx0KGUsXyh0LmtleSkpO2Vsc2UgaWYodGhpcy5tYXRjaCgyOSkpe2xldCByPXRoaXMuc3RhdGUuc3RhcnRMb2M7aSE9bnVsbD9pLnNob3J0aGFuZEFzc2lnbkxvYz09PW51bGwmJihpLnNob3J0aGFuZEFzc2lnbkxvYz1yKTp0aGlzLnJhaXNlKHAuSW52YWxpZENvdmVySW5pdGlhbGl6ZWROYW1lLHIpLHQudmFsdWU9dGhpcy5wYXJzZU1heWJlRGVmYXVsdChlLF8odC5rZXkpKX1lbHNlIHQudmFsdWU9Xyh0LmtleSk7cmV0dXJuIHQuc2hvcnRoYW5kPSEwLHRoaXMuZmluaXNoTm9kZSh0LFwiT2JqZWN0UHJvcGVydHlcIil9fXBhcnNlT2JqUHJvcFZhbHVlKHQsZSxzLGkscixuLG8pe2xldCBoPXRoaXMucGFyc2VPYmplY3RNZXRob2QodCxzLGkscixuKXx8dGhpcy5wYXJzZU9iamVjdFByb3BlcnR5KHQsZSxyLG8pO3JldHVybiBofHx0aGlzLnVuZXhwZWN0ZWQoKSxofXBhcnNlUHJvcGVydHlOYW1lKHQsZSl7aWYodGhpcy5lYXQoMCkpdC5jb21wdXRlZD0hMCx0LmtleT10aGlzLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKCksdGhpcy5leHBlY3QoMyk7ZWxzZXtsZXR7dHlwZTpzLHZhbHVlOml9PXRoaXMuc3RhdGUscjtpZihEKHMpKXI9dGhpcy5wYXJzZUlkZW50aWZpZXIoITApO2Vsc2Ugc3dpdGNoKHMpe2Nhc2UgMTM1OnI9dGhpcy5wYXJzZU51bWVyaWNMaXRlcmFsKGkpO2JyZWFrO2Nhc2UgMTM0OnI9dGhpcy5wYXJzZVN0cmluZ0xpdGVyYWwoaSk7YnJlYWs7Y2FzZSAxMzY6cj10aGlzLnBhcnNlQmlnSW50TGl0ZXJhbChpKTticmVhaztjYXNlIDEzOTp7bGV0IG49dGhpcy5zdGF0ZS5zdGFydExvYztlIT1udWxsP2UucHJpdmF0ZUtleUxvYz09PW51bGwmJihlLnByaXZhdGVLZXlMb2M9bik6dGhpcy5yYWlzZShwLlVuZXhwZWN0ZWRQcml2YXRlRmllbGQsbikscj10aGlzLnBhcnNlUHJpdmF0ZU5hbWUoKTticmVha31kZWZhdWx0OmlmKHM9PT0xMzcpe3I9dGhpcy5wYXJzZURlY2ltYWxMaXRlcmFsKGkpO2JyZWFrfXRoaXMudW5leHBlY3RlZCgpfXQua2V5PXIscyE9PTEzOSYmKHQuY29tcHV0ZWQ9ITEpfX1pbml0RnVuY3Rpb24odCxlKXt0LmlkPW51bGwsdC5nZW5lcmF0b3I9ITEsdC5hc3luYz1lfXBhcnNlTWV0aG9kKHQsZSxzLGkscixuLG89ITEpe3RoaXMuaW5pdEZ1bmN0aW9uKHQscyksdC5nZW5lcmF0b3I9ZSx0aGlzLnNjb3BlLmVudGVyKDE4fChvPzY0OjApfChyPzMyOjApKSx0aGlzLnByb2RQYXJhbS5lbnRlcihDZShzLHQuZ2VuZXJhdG9yKSksdGhpcy5wYXJzZUZ1bmN0aW9uUGFyYW1zKHQsaSk7bGV0IGg9dGhpcy5wYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaCh0LG4sITApO3JldHVybiB0aGlzLnByb2RQYXJhbS5leGl0KCksdGhpcy5zY29wZS5leGl0KCksaH1wYXJzZUFycmF5TGlrZSh0LGUscyxpKXtzJiZ0aGlzLmV4cGVjdFBsdWdpbihcInJlY29yZEFuZFR1cGxlXCIpO2xldCByPXRoaXMuc3RhdGUuaW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHk7dGhpcy5zdGF0ZS5pbkZTaGFycFBpcGVsaW5lRGlyZWN0Qm9keT0hMTtsZXQgbj10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLm5leHQoKSxuLmVsZW1lbnRzPXRoaXMucGFyc2VFeHByTGlzdCh0LCFzLGksbiksdGhpcy5zdGF0ZS5pbkZTaGFycFBpcGVsaW5lRGlyZWN0Qm9keT1yLHRoaXMuZmluaXNoTm9kZShuLHM/XCJUdXBsZUV4cHJlc3Npb25cIjpcIkFycmF5RXhwcmVzc2lvblwiKX1wYXJzZUFycm93RXhwcmVzc2lvbih0LGUscyxpKXt0aGlzLnNjb3BlLmVudGVyKDYpO2xldCByPUNlKHMsITEpOyF0aGlzLm1hdGNoKDUpJiZ0aGlzLnByb2RQYXJhbS5oYXNJbiYmKHJ8PTgpLHRoaXMucHJvZFBhcmFtLmVudGVyKHIpLHRoaXMuaW5pdEZ1bmN0aW9uKHQscyk7bGV0IG49dGhpcy5zdGF0ZS5tYXliZUluQXJyb3dQYXJhbWV0ZXJzO3JldHVybiBlJiYodGhpcy5zdGF0ZS5tYXliZUluQXJyb3dQYXJhbWV0ZXJzPSEwLHRoaXMuc2V0QXJyb3dGdW5jdGlvblBhcmFtZXRlcnModCxlLGkpKSx0aGlzLnN0YXRlLm1heWJlSW5BcnJvd1BhcmFtZXRlcnM9ITEsdGhpcy5wYXJzZUZ1bmN0aW9uQm9keSh0LCEwKSx0aGlzLnByb2RQYXJhbS5leGl0KCksdGhpcy5zY29wZS5leGl0KCksdGhpcy5zdGF0ZS5tYXliZUluQXJyb3dQYXJhbWV0ZXJzPW4sdGhpcy5maW5pc2hOb2RlKHQsXCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiKX1zZXRBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycyh0LGUscyl7dGhpcy50b0Fzc2lnbmFibGVMaXN0KGUscywhMSksdC5wYXJhbXM9ZX1wYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaCh0LGUscz0hMSl7cmV0dXJuIHRoaXMucGFyc2VGdW5jdGlvbkJvZHkodCwhMSxzKSx0aGlzLmZpbmlzaE5vZGUodCxlKX1wYXJzZUZ1bmN0aW9uQm9keSh0LGUscz0hMSl7bGV0IGk9ZSYmIXRoaXMubWF0Y2goNSk7aWYodGhpcy5leHByZXNzaW9uU2NvcGUuZW50ZXIoWnQoKSksaSl0LmJvZHk9dGhpcy5wYXJzZU1heWJlQXNzaWduKCksdGhpcy5jaGVja1BhcmFtcyh0LCExLGUsITEpO2Vsc2V7bGV0IHI9dGhpcy5zdGF0ZS5zdHJpY3Qsbj10aGlzLnN0YXRlLmxhYmVsczt0aGlzLnN0YXRlLmxhYmVscz1bXSx0aGlzLnByb2RQYXJhbS5lbnRlcih0aGlzLnByb2RQYXJhbS5jdXJyZW50RmxhZ3MoKXw0KSx0LmJvZHk9dGhpcy5wYXJzZUJsb2NrKCEwLCExLG89PntsZXQgaD0hdGhpcy5pc1NpbXBsZVBhcmFtTGlzdCh0LnBhcmFtcyk7byYmaCYmdGhpcy5yYWlzZShwLklsbGVnYWxMYW5ndWFnZU1vZGVEaXJlY3RpdmUsKHQua2luZD09PVwibWV0aG9kXCJ8fHQua2luZD09PVwiY29uc3RydWN0b3JcIikmJnQua2V5P3Qua2V5LmxvYy5lbmQ6dCk7bGV0IGw9IXImJnRoaXMuc3RhdGUuc3RyaWN0O3RoaXMuY2hlY2tQYXJhbXModCwhdGhpcy5zdGF0ZS5zdHJpY3QmJiFlJiYhcyYmIWgsZSxsKSx0aGlzLnN0YXRlLnN0cmljdCYmdC5pZCYmdGhpcy5jaGVja0lkZW50aWZpZXIodC5pZCw2NSxsKX0pLHRoaXMucHJvZFBhcmFtLmV4aXQoKSx0aGlzLnN0YXRlLmxhYmVscz1ufXRoaXMuZXhwcmVzc2lvblNjb3BlLmV4aXQoKX1pc1NpbXBsZVBhcmFtZXRlcih0KXtyZXR1cm4gdC50eXBlPT09XCJJZGVudGlmaWVyXCJ9aXNTaW1wbGVQYXJhbUxpc3QodCl7Zm9yKGxldCBlPTAscz10Lmxlbmd0aDtlPHM7ZSsrKWlmKCF0aGlzLmlzU2ltcGxlUGFyYW1ldGVyKHRbZV0pKXJldHVybiExO3JldHVybiEwfWNoZWNrUGFyYW1zKHQsZSxzLGk9ITApe2xldCByPSFlJiZuZXcgU2V0LG49e3R5cGU6XCJGb3JtYWxQYXJhbWV0ZXJzXCJ9O2ZvcihsZXQgbyBvZiB0LnBhcmFtcyl0aGlzLmNoZWNrTFZhbChvLG4sNSxyLGkpfXBhcnNlRXhwckxpc3QodCxlLHMsaSl7bGV0IHI9W10sbj0hMDtmb3IoOyF0aGlzLmVhdCh0KTspe2lmKG4pbj0hMTtlbHNlIGlmKHRoaXMuZXhwZWN0KDEyKSx0aGlzLm1hdGNoKHQpKXtpJiZ0aGlzLmFkZFRyYWlsaW5nQ29tbWFFeHRyYVRvTm9kZShpKSx0aGlzLm5leHQoKTticmVha31yLnB1c2godGhpcy5wYXJzZUV4cHJMaXN0SXRlbShlLHMpKX1yZXR1cm4gcn1wYXJzZUV4cHJMaXN0SXRlbSh0LGUscyl7bGV0IGk7aWYodGhpcy5tYXRjaCgxMikpdHx8dGhpcy5yYWlzZShwLlVuZXhwZWN0ZWRUb2tlbix0aGlzLnN0YXRlLmN1clBvc2l0aW9uKCkse3VuZXhwZWN0ZWQ6XCIsXCJ9KSxpPW51bGw7ZWxzZSBpZih0aGlzLm1hdGNoKDIxKSl7bGV0IHI9dGhpcy5zdGF0ZS5zdGFydExvYztpPXRoaXMucGFyc2VQYXJlbkl0ZW0odGhpcy5wYXJzZVNwcmVhZChlKSxyKX1lbHNlIGlmKHRoaXMubWF0Y2goMTcpKXt0aGlzLmV4cGVjdFBsdWdpbihcInBhcnRpYWxBcHBsaWNhdGlvblwiKSxzfHx0aGlzLnJhaXNlKHAuVW5leHBlY3RlZEFyZ3VtZW50UGxhY2Vob2xkZXIsdGhpcy5zdGF0ZS5zdGFydExvYyk7bGV0IHI9dGhpcy5zdGFydE5vZGUoKTt0aGlzLm5leHQoKSxpPXRoaXMuZmluaXNoTm9kZShyLFwiQXJndW1lbnRQbGFjZWhvbGRlclwiKX1lbHNlIGk9dGhpcy5wYXJzZU1heWJlQXNzaWduQWxsb3dJbihlLHRoaXMucGFyc2VQYXJlbkl0ZW0pO3JldHVybiBpfXBhcnNlSWRlbnRpZmllcih0KXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpLHM9dGhpcy5wYXJzZUlkZW50aWZpZXJOYW1lKHQpO3JldHVybiB0aGlzLmNyZWF0ZUlkZW50aWZpZXIoZSxzKX1jcmVhdGVJZGVudGlmaWVyKHQsZSl7cmV0dXJuIHQubmFtZT1lLHQubG9jLmlkZW50aWZpZXJOYW1lPWUsdGhpcy5maW5pc2hOb2RlKHQsXCJJZGVudGlmaWVyXCIpfXBhcnNlSWRlbnRpZmllck5hbWUodCl7bGV0IGUse3N0YXJ0TG9jOnMsdHlwZTppfT10aGlzLnN0YXRlO0QoaSk/ZT10aGlzLnN0YXRlLnZhbHVlOnRoaXMudW5leHBlY3RlZCgpO2xldCByPXNpKGkpO3JldHVybiB0P3ImJnRoaXMucmVwbGFjZVRva2VuKDEzMik6dGhpcy5jaGVja1Jlc2VydmVkV29yZChlLHMsciwhMSksdGhpcy5uZXh0KCksZX1jaGVja1Jlc2VydmVkV29yZCh0LGUscyxpKXtpZih0Lmxlbmd0aD4xMHx8IWJpKHQpKXJldHVybjtpZihzJiZQaSh0KSl7dGhpcy5yYWlzZShwLlVuZXhwZWN0ZWRLZXl3b3JkLGUse2tleXdvcmQ6dH0pO3JldHVybn1pZigodGhpcy5zdGF0ZS5zdHJpY3Q/aT9YdDpKdDpIdCkodCx0aGlzLmluTW9kdWxlKSl7dGhpcy5yYWlzZShwLlVuZXhwZWN0ZWRSZXNlcnZlZFdvcmQsZSx7cmVzZXJ2ZWRXb3JkOnR9KTtyZXR1cm59ZWxzZSBpZih0PT09XCJ5aWVsZFwiKXtpZih0aGlzLnByb2RQYXJhbS5oYXNZaWVsZCl7dGhpcy5yYWlzZShwLllpZWxkQmluZGluZ0lkZW50aWZpZXIsZSk7cmV0dXJufX1lbHNlIGlmKHQ9PT1cImF3YWl0XCIpe2lmKHRoaXMucHJvZFBhcmFtLmhhc0F3YWl0KXt0aGlzLnJhaXNlKHAuQXdhaXRCaW5kaW5nSWRlbnRpZmllcixlKTtyZXR1cm59aWYodGhpcy5zY29wZS5pblN0YXRpY0Jsb2NrKXt0aGlzLnJhaXNlKHAuQXdhaXRCaW5kaW5nSWRlbnRpZmllckluU3RhdGljQmxvY2ssZSk7cmV0dXJufXRoaXMuZXhwcmVzc2lvblNjb3BlLnJlY29yZEFzeW5jQXJyb3dQYXJhbWV0ZXJzRXJyb3IoZSl9ZWxzZSBpZih0PT09XCJhcmd1bWVudHNcIiYmdGhpcy5zY29wZS5pbkNsYXNzQW5kTm90SW5Ob25BcnJvd0Z1bmN0aW9uKXt0aGlzLnJhaXNlKHAuQXJndW1lbnRzSW5DbGFzcyxlKTtyZXR1cm59fXJlY29yZEF3YWl0SWZBbGxvd2VkKCl7bGV0IHQ9dGhpcy5wcm9kUGFyYW0uaGFzQXdhaXR8fHRoaXMub3B0aW9ucy5hbGxvd0F3YWl0T3V0c2lkZUZ1bmN0aW9uJiYhdGhpcy5zY29wZS5pbkZ1bmN0aW9uO3JldHVybiB0JiYhdGhpcy5zY29wZS5pbkZ1bmN0aW9uJiYodGhpcy5zdGF0ZS5oYXNUb3BMZXZlbEF3YWl0PSEwKSx0fXBhcnNlQXdhaXQodCl7bGV0IGU9dGhpcy5zdGFydE5vZGVBdCh0KTtyZXR1cm4gdGhpcy5leHByZXNzaW9uU2NvcGUucmVjb3JkUGFyYW1ldGVySW5pdGlhbGl6ZXJFcnJvcihwLkF3YWl0RXhwcmVzc2lvbkZvcm1hbFBhcmFtZXRlcixlKSx0aGlzLmVhdCg1NSkmJnRoaXMucmFpc2UocC5PYnNvbGV0ZUF3YWl0U3RhcixlKSwhdGhpcy5zY29wZS5pbkZ1bmN0aW9uJiYhdGhpcy5vcHRpb25zLmFsbG93QXdhaXRPdXRzaWRlRnVuY3Rpb24mJih0aGlzLmlzQW1iaWd1b3VzQXdhaXQoKT90aGlzLmFtYmlndW91c1NjcmlwdERpZmZlcmVudEFzdD0hMDp0aGlzLnNhd1VuYW1iaWd1b3VzRVNNPSEwKSx0aGlzLnN0YXRlLnNvbG9Bd2FpdHx8KGUuYXJndW1lbnQ9dGhpcy5wYXJzZU1heWJlVW5hcnkobnVsbCwhMCkpLHRoaXMuZmluaXNoTm9kZShlLFwiQXdhaXRFeHByZXNzaW9uXCIpfWlzQW1iaWd1b3VzQXdhaXQoKXtpZih0aGlzLmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpKXJldHVybiEwO2xldHt0eXBlOnR9PXRoaXMuc3RhdGU7cmV0dXJuIHQ9PT01M3x8dD09PTEwfHx0PT09MHx8SWUodCl8fHQ9PT0xMDImJiF0aGlzLnN0YXRlLmNvbnRhaW5zRXNjfHx0PT09MTM4fHx0PT09NTZ8fHRoaXMuaGFzUGx1Z2luKFwidjhpbnRyaW5zaWNcIikmJnQ9PT01NH1wYXJzZVlpZWxkKCl7bGV0IHQ9dGhpcy5zdGFydE5vZGUoKTt0aGlzLmV4cHJlc3Npb25TY29wZS5yZWNvcmRQYXJhbWV0ZXJJbml0aWFsaXplckVycm9yKHAuWWllbGRJblBhcmFtZXRlcix0KSx0aGlzLm5leHQoKTtsZXQgZT0hMSxzPW51bGw7aWYoIXRoaXMuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpc3dpdGNoKGU9dGhpcy5lYXQoNTUpLHRoaXMuc3RhdGUudHlwZSl7Y2FzZSAxMzpjYXNlIDE0MDpjYXNlIDg6Y2FzZSAxMTpjYXNlIDM6Y2FzZSA5OmNhc2UgMTQ6Y2FzZSAxMjppZighZSlicmVhaztkZWZhdWx0OnM9dGhpcy5wYXJzZU1heWJlQXNzaWduKCl9cmV0dXJuIHQuZGVsZWdhdGU9ZSx0LmFyZ3VtZW50PXMsdGhpcy5maW5pc2hOb2RlKHQsXCJZaWVsZEV4cHJlc3Npb25cIil9cGFyc2VJbXBvcnRDYWxsKHQpe2lmKHRoaXMubmV4dCgpLHQuc291cmNlPXRoaXMucGFyc2VNYXliZUFzc2lnbkFsbG93SW4oKSx0Lm9wdGlvbnM9bnVsbCx0aGlzLmVhdCgxMikmJiF0aGlzLm1hdGNoKDExKSYmKHQub3B0aW9ucz10aGlzLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKCksdGhpcy5lYXQoMTIpJiYhdGhpcy5tYXRjaCgxMSkpKXtkbyB0aGlzLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKCk7d2hpbGUodGhpcy5lYXQoMTIpJiYhdGhpcy5tYXRjaCgxMSkpO3RoaXMucmFpc2UocC5JbXBvcnRDYWxsQXJpdHksdCl9cmV0dXJuIHRoaXMuZXhwZWN0KDExKSx0aGlzLmZpbmlzaE5vZGUodCxcIkltcG9ydEV4cHJlc3Npb25cIil9Y2hlY2tQaXBlbGluZUF0SW5maXhPcGVyYXRvcih0LGUpe3RoaXMuaGFzUGx1Z2luKFtcInBpcGVsaW5lT3BlcmF0b3JcIix7cHJvcG9zYWw6XCJzbWFydFwifV0pJiZ0LnR5cGU9PT1cIlNlcXVlbmNlRXhwcmVzc2lvblwiJiZ0aGlzLnJhaXNlKHAuUGlwZWxpbmVIZWFkU2VxdWVuY2VFeHByZXNzaW9uLGUpfXBhcnNlU21hcnRQaXBlbGluZUJvZHlJblN0eWxlKHQsZSl7aWYodGhpcy5pc1NpbXBsZVJlZmVyZW5jZSh0KSl7bGV0IHM9dGhpcy5zdGFydE5vZGVBdChlKTtyZXR1cm4gcy5jYWxsZWU9dCx0aGlzLmZpbmlzaE5vZGUocyxcIlBpcGVsaW5lQmFyZUZ1bmN0aW9uXCIpfWVsc2V7bGV0IHM9dGhpcy5zdGFydE5vZGVBdChlKTtyZXR1cm4gdGhpcy5jaGVja1NtYXJ0UGlwZVRvcGljQm9keUVhcmx5RXJyb3JzKGUpLHMuZXhwcmVzc2lvbj10LHRoaXMuZmluaXNoTm9kZShzLFwiUGlwZWxpbmVUb3BpY0V4cHJlc3Npb25cIil9fWlzU2ltcGxlUmVmZXJlbmNlKHQpe3N3aXRjaCh0LnR5cGUpe2Nhc2VcIk1lbWJlckV4cHJlc3Npb25cIjpyZXR1cm4hdC5jb21wdXRlZCYmdGhpcy5pc1NpbXBsZVJlZmVyZW5jZSh0Lm9iamVjdCk7Y2FzZVwiSWRlbnRpZmllclwiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWNoZWNrU21hcnRQaXBlVG9waWNCb2R5RWFybHlFcnJvcnModCl7aWYodGhpcy5tYXRjaCgxOSkpdGhyb3cgdGhpcy5yYWlzZShwLlBpcGVsaW5lQm9keU5vQXJyb3csdGhpcy5zdGF0ZS5zdGFydExvYyk7dGhpcy50b3BpY1JlZmVyZW5jZVdhc1VzZWRJbkN1cnJlbnRDb250ZXh0KCl8fHRoaXMucmFpc2UocC5QaXBlbGluZVRvcGljVW51c2VkLHQpfXdpdGhUb3BpY0JpbmRpbmdDb250ZXh0KHQpe2xldCBlPXRoaXMuc3RhdGUudG9waWNDb250ZXh0O3RoaXMuc3RhdGUudG9waWNDb250ZXh0PXttYXhOdW1PZlJlc29sdmFibGVUb3BpY3M6MSxtYXhUb3BpY0luZGV4Om51bGx9O3RyeXtyZXR1cm4gdCgpfWZpbmFsbHl7dGhpcy5zdGF0ZS50b3BpY0NvbnRleHQ9ZX19d2l0aFNtYXJ0TWl4VG9waWNGb3JiaWRkaW5nQ29udGV4dCh0KXtpZih0aGlzLmhhc1BsdWdpbihbXCJwaXBlbGluZU9wZXJhdG9yXCIse3Byb3Bvc2FsOlwic21hcnRcIn1dKSl7bGV0IGU9dGhpcy5zdGF0ZS50b3BpY0NvbnRleHQ7dGhpcy5zdGF0ZS50b3BpY0NvbnRleHQ9e21heE51bU9mUmVzb2x2YWJsZVRvcGljczowLG1heFRvcGljSW5kZXg6bnVsbH07dHJ5e3JldHVybiB0KCl9ZmluYWxseXt0aGlzLnN0YXRlLnRvcGljQ29udGV4dD1lfX1lbHNlIHJldHVybiB0KCl9d2l0aFNvbG9Bd2FpdFBlcm1pdHRpbmdDb250ZXh0KHQpe2xldCBlPXRoaXMuc3RhdGUuc29sb0F3YWl0O3RoaXMuc3RhdGUuc29sb0F3YWl0PSEwO3RyeXtyZXR1cm4gdCgpfWZpbmFsbHl7dGhpcy5zdGF0ZS5zb2xvQXdhaXQ9ZX19YWxsb3dJbkFuZCh0KXtsZXQgZT10aGlzLnByb2RQYXJhbS5jdXJyZW50RmxhZ3MoKTtpZig4Jn5lKXt0aGlzLnByb2RQYXJhbS5lbnRlcihlfDgpO3RyeXtyZXR1cm4gdCgpfWZpbmFsbHl7dGhpcy5wcm9kUGFyYW0uZXhpdCgpfX1yZXR1cm4gdCgpfWRpc2FsbG93SW5BbmQodCl7bGV0IGU9dGhpcy5wcm9kUGFyYW0uY3VycmVudEZsYWdzKCk7aWYoOCZlKXt0aGlzLnByb2RQYXJhbS5lbnRlcihlJi05KTt0cnl7cmV0dXJuIHQoKX1maW5hbGx5e3RoaXMucHJvZFBhcmFtLmV4aXQoKX19cmV0dXJuIHQoKX1yZWdpc3RlclRvcGljUmVmZXJlbmNlKCl7dGhpcy5zdGF0ZS50b3BpY0NvbnRleHQubWF4VG9waWNJbmRleD0wfXRvcGljUmVmZXJlbmNlSXNBbGxvd2VkSW5DdXJyZW50Q29udGV4dCgpe3JldHVybiB0aGlzLnN0YXRlLnRvcGljQ29udGV4dC5tYXhOdW1PZlJlc29sdmFibGVUb3BpY3M+PTF9dG9waWNSZWZlcmVuY2VXYXNVc2VkSW5DdXJyZW50Q29udGV4dCgpe3JldHVybiB0aGlzLnN0YXRlLnRvcGljQ29udGV4dC5tYXhUb3BpY0luZGV4IT1udWxsJiZ0aGlzLnN0YXRlLnRvcGljQ29udGV4dC5tYXhUb3BpY0luZGV4Pj0wfXBhcnNlRlNoYXJwUGlwZWxpbmVCb2R5KHQpe2xldCBlPXRoaXMuc3RhdGUuc3RhcnRMb2M7dGhpcy5zdGF0ZS5wb3RlbnRpYWxBcnJvd0F0PXRoaXMuc3RhdGUuc3RhcnQ7bGV0IHM9dGhpcy5zdGF0ZS5pbkZTaGFycFBpcGVsaW5lRGlyZWN0Qm9keTt0aGlzLnN0YXRlLmluRlNoYXJwUGlwZWxpbmVEaXJlY3RCb2R5PSEwO2xldCBpPXRoaXMucGFyc2VFeHByT3AodGhpcy5wYXJzZU1heWJlVW5hcnlPclByaXZhdGUoKSxlLHQpO3JldHVybiB0aGlzLnN0YXRlLmluRlNoYXJwUGlwZWxpbmVEaXJlY3RCb2R5PXMsaX1wYXJzZU1vZHVsZUV4cHJlc3Npb24oKXt0aGlzLmV4cGVjdFBsdWdpbihcIm1vZHVsZUJsb2Nrc1wiKTtsZXQgdD10aGlzLnN0YXJ0Tm9kZSgpO3RoaXMubmV4dCgpLHRoaXMubWF0Y2goNSl8fHRoaXMudW5leHBlY3RlZChudWxsLDUpO2xldCBlPXRoaXMuc3RhcnROb2RlQXQodGhpcy5zdGF0ZS5lbmRMb2MpO3RoaXMubmV4dCgpO2xldCBzPXRoaXMuaW5pdGlhbGl6ZVNjb3BlcyghMCk7dGhpcy5lbnRlckluaXRpYWxTY29wZXMoKTt0cnl7dC5ib2R5PXRoaXMucGFyc2VQcm9ncmFtKGUsOCxcIm1vZHVsZVwiKX1maW5hbGx5e3MoKX1yZXR1cm4gdGhpcy5maW5pc2hOb2RlKHQsXCJNb2R1bGVFeHByZXNzaW9uXCIpfXBhcnNlUHJvcGVydHlOYW1lUHJlZml4T3BlcmF0b3IodCl7fX0sJGU9e2tpbmQ6MX0sZXI9e2tpbmQ6Mn0sdHI9L1tcXHVEODAwLVxcdURGRkZdL3UsemU9L2luKD86c3RhbmNlb2YpPy95O2Z1bmN0aW9uIHNyKGEsdCxlKXtmb3IobGV0IHM9MDtzPGEubGVuZ3RoO3MrKyl7bGV0IGk9YVtzXSx7dHlwZTpyfT1pO2lmKHR5cGVvZiByPT1cIm51bWJlclwiKXt7aWYocj09PTEzOSl7bGV0e2xvYzpuLHN0YXJ0Om8sdmFsdWU6aCxlbmQ6bH09aSxjPW8rMSx1PXYobi5zdGFydCwxKTthLnNwbGljZShzLDEsbmV3IE0oe3R5cGU6RigyNyksdmFsdWU6XCIjXCIsc3RhcnQ6byxlbmQ6YyxzdGFydExvYzpuLnN0YXJ0LGVuZExvYzp1fSksbmV3IE0oe3R5cGU6RigxMzIpLHZhbHVlOmgsc3RhcnQ6YyxlbmQ6bCxzdGFydExvYzp1LGVuZExvYzpuLmVuZH0pKSxzKys7Y29udGludWV9aWYoSWUocikpe2xldHtsb2M6bixzdGFydDpvLHZhbHVlOmgsZW5kOmx9PWksYz1vKzEsdT12KG4uc3RhcnQsMSksZjt0LmNoYXJDb2RlQXQoby1lKT09PTk2P2Y9bmV3IE0oe3R5cGU6RigyMiksdmFsdWU6XCJgXCIsc3RhcnQ6byxlbmQ6YyxzdGFydExvYzpuLnN0YXJ0LGVuZExvYzp1fSk6Zj1uZXcgTSh7dHlwZTpGKDgpLHZhbHVlOlwifVwiLHN0YXJ0Om8sZW5kOmMsc3RhcnRMb2M6bi5zdGFydCxlbmRMb2M6dX0pO2xldCBkLHgsUyxOO3I9PT0yND8oeD1sLTEsUz12KG4uZW5kLC0xKSxkPWg9PT1udWxsP251bGw6aC5zbGljZSgxLC0xKSxOPW5ldyBNKHt0eXBlOkYoMjIpLHZhbHVlOlwiYFwiLHN0YXJ0OngsZW5kOmwsc3RhcnRMb2M6UyxlbmRMb2M6bi5lbmR9KSk6KHg9bC0yLFM9dihuLmVuZCwtMiksZD1oPT09bnVsbD9udWxsOmguc2xpY2UoMSwtMiksTj1uZXcgTSh7dHlwZTpGKDIzKSx2YWx1ZTpcIiR7XCIsc3RhcnQ6eCxlbmQ6bCxzdGFydExvYzpTLGVuZExvYzpuLmVuZH0pKSxhLnNwbGljZShzLDEsZixuZXcgTSh7dHlwZTpGKDIwKSx2YWx1ZTpkLHN0YXJ0OmMsZW5kOngsc3RhcnRMb2M6dSxlbmRMb2M6U30pLE4pLHMrPTI7Y29udGludWV9fWkudHlwZT1GKHIpfX1yZXR1cm4gYX12YXIgaHQ9Y2xhc3MgZXh0ZW5kcyBvdHtwYXJzZVRvcExldmVsKHQsZSl7cmV0dXJuIHQucHJvZ3JhbT10aGlzLnBhcnNlUHJvZ3JhbShlKSx0LmNvbW1lbnRzPXRoaXMuY29tbWVudHMsdGhpcy5vcHRpb25zLnRva2VucyYmKHQudG9rZW5zPXNyKHRoaXMudG9rZW5zLHRoaXMuaW5wdXQsdGhpcy5zdGFydEluZGV4KSksdGhpcy5maW5pc2hOb2RlKHQsXCJGaWxlXCIpfXBhcnNlUHJvZ3JhbSh0LGU9MTQwLHM9dGhpcy5vcHRpb25zLnNvdXJjZVR5cGUpe2lmKHQuc291cmNlVHlwZT1zLHQuaW50ZXJwcmV0ZXI9dGhpcy5wYXJzZUludGVycHJldGVyRGlyZWN0aXZlKCksdGhpcy5wYXJzZUJsb2NrQm9keSh0LCEwLCEwLGUpLHRoaXMuaW5Nb2R1bGUpe2lmKCF0aGlzLm9wdGlvbnMuYWxsb3dVbmRlY2xhcmVkRXhwb3J0cyYmdGhpcy5zY29wZS51bmRlZmluZWRFeHBvcnRzLnNpemU+MClmb3IobGV0W3Isbl1vZiBBcnJheS5mcm9tKHRoaXMuc2NvcGUudW5kZWZpbmVkRXhwb3J0cykpdGhpcy5yYWlzZShwLk1vZHVsZUV4cG9ydFVuZGVmaW5lZCxuLHtsb2NhbE5hbWU6cn0pO3RoaXMuYWRkRXh0cmEodCxcInRvcExldmVsQXdhaXRcIix0aGlzLnN0YXRlLmhhc1RvcExldmVsQXdhaXQpfWxldCBpO3JldHVybiBlPT09MTQwP2k9dGhpcy5maW5pc2hOb2RlKHQsXCJQcm9ncmFtXCIpOmk9dGhpcy5maW5pc2hOb2RlQXQodCxcIlByb2dyYW1cIix2KHRoaXMuc3RhdGUuc3RhcnRMb2MsLTEpKSxpfXN0bXRUb0RpcmVjdGl2ZSh0KXtsZXQgZT10O2UudHlwZT1cIkRpcmVjdGl2ZVwiLGUudmFsdWU9ZS5leHByZXNzaW9uLGRlbGV0ZSBlLmV4cHJlc3Npb247bGV0IHM9ZS52YWx1ZSxpPXMudmFsdWUscj10aGlzLmlucHV0LnNsaWNlKHRoaXMub2Zmc2V0VG9Tb3VyY2VQb3Mocy5zdGFydCksdGhpcy5vZmZzZXRUb1NvdXJjZVBvcyhzLmVuZCkpLG49cy52YWx1ZT1yLnNsaWNlKDEsLTEpO3JldHVybiB0aGlzLmFkZEV4dHJhKHMsXCJyYXdcIixyKSx0aGlzLmFkZEV4dHJhKHMsXCJyYXdWYWx1ZVwiLG4pLHRoaXMuYWRkRXh0cmEocyxcImV4cHJlc3Npb25WYWx1ZVwiLGkpLHMudHlwZT1cIkRpcmVjdGl2ZUxpdGVyYWxcIixlfXBhcnNlSW50ZXJwcmV0ZXJEaXJlY3RpdmUoKXtpZighdGhpcy5tYXRjaCgyOCkpcmV0dXJuIG51bGw7bGV0IHQ9dGhpcy5zdGFydE5vZGUoKTtyZXR1cm4gdC52YWx1ZT10aGlzLnN0YXRlLnZhbHVlLHRoaXMubmV4dCgpLHRoaXMuZmluaXNoTm9kZSh0LFwiSW50ZXJwcmV0ZXJEaXJlY3RpdmVcIil9aXNMZXQoKXtyZXR1cm4gdGhpcy5pc0NvbnRleHR1YWwoMTAwKT90aGlzLmhhc0ZvbGxvd2luZ0JpbmRpbmdBdG9tKCk6ITF9Y2hTdGFydHNCaW5kaW5nSWRlbnRpZmllcih0LGUpe2lmKFIodCkpe2lmKHplLmxhc3RJbmRleD1lLHplLnRlc3QodGhpcy5pbnB1dCkpe2xldCBzPXRoaXMuY29kZVBvaW50QXRQb3MoemUubGFzdEluZGV4KTtpZighRyhzKSYmcyE9PTkyKXJldHVybiExfXJldHVybiEwfWVsc2UgcmV0dXJuIHQ9PT05Mn1jaFN0YXJ0c0JpbmRpbmdQYXR0ZXJuKHQpe3JldHVybiB0PT09OTF8fHQ9PT0xMjN9aGFzRm9sbG93aW5nQmluZGluZ0F0b20oKXtsZXQgdD10aGlzLm5leHRUb2tlblN0YXJ0KCksZT10aGlzLmNvZGVQb2ludEF0UG9zKHQpO3JldHVybiB0aGlzLmNoU3RhcnRzQmluZGluZ1BhdHRlcm4oZSl8fHRoaXMuY2hTdGFydHNCaW5kaW5nSWRlbnRpZmllcihlLHQpfWhhc0luTGluZUZvbGxvd2luZ0JpbmRpbmdJZGVudGlmaWVyT3JCcmFjZSgpe2xldCB0PXRoaXMubmV4dFRva2VuSW5MaW5lU3RhcnQoKSxlPXRoaXMuY29kZVBvaW50QXRQb3ModCk7cmV0dXJuIGU9PT0xMjN8fHRoaXMuY2hTdGFydHNCaW5kaW5nSWRlbnRpZmllcihlLHQpfXN0YXJ0c1VzaW5nRm9yT2YoKXtsZXR7dHlwZTp0LGNvbnRhaW5zRXNjOmV9PXRoaXMubG9va2FoZWFkKCk7aWYodD09PTEwMiYmIWUpcmV0dXJuITE7aWYoQyh0KSYmIXRoaXMuaGFzRm9sbG93aW5nTGluZUJyZWFrKCkpcmV0dXJuIHRoaXMuZXhwZWN0UGx1Z2luKFwiZXhwbGljaXRSZXNvdXJjZU1hbmFnZW1lbnRcIiksITB9c3RhcnRzQXdhaXRVc2luZygpe2xldCB0PXRoaXMubmV4dFRva2VuSW5MaW5lU3RhcnQoKTtpZih0aGlzLmlzVW5wYXJzZWRDb250ZXh0dWFsKHQsXCJ1c2luZ1wiKSl7dD10aGlzLm5leHRUb2tlbkluTGluZVN0YXJ0U2luY2UodCs1KTtsZXQgZT10aGlzLmNvZGVQb2ludEF0UG9zKHQpO2lmKHRoaXMuY2hTdGFydHNCaW5kaW5nSWRlbnRpZmllcihlLHQpKXJldHVybiB0aGlzLmV4cGVjdFBsdWdpbihcImV4cGxpY2l0UmVzb3VyY2VNYW5hZ2VtZW50XCIpLCEwfXJldHVybiExfXBhcnNlTW9kdWxlSXRlbSgpe3JldHVybiB0aGlzLnBhcnNlU3RhdGVtZW50TGlrZSgxNSl9cGFyc2VTdGF0ZW1lbnRMaXN0SXRlbSgpe3JldHVybiB0aGlzLnBhcnNlU3RhdGVtZW50TGlrZSg2fCghdGhpcy5vcHRpb25zLmFubmV4Qnx8dGhpcy5zdGF0ZS5zdHJpY3Q/MDo4KSl9cGFyc2VTdGF0ZW1lbnRPclNsb3BweUFubmV4QkZ1bmN0aW9uRGVjbGFyYXRpb24odD0hMSl7bGV0IGU9MDtyZXR1cm4gdGhpcy5vcHRpb25zLmFubmV4QiYmIXRoaXMuc3RhdGUuc3RyaWN0JiYoZXw9NCx0JiYoZXw9OCkpLHRoaXMucGFyc2VTdGF0ZW1lbnRMaWtlKGUpfXBhcnNlU3RhdGVtZW50KCl7cmV0dXJuIHRoaXMucGFyc2VTdGF0ZW1lbnRMaWtlKDApfXBhcnNlU3RhdGVtZW50TGlrZSh0KXtsZXQgZT1udWxsO3JldHVybiB0aGlzLm1hdGNoKDI2KSYmKGU9dGhpcy5wYXJzZURlY29yYXRvcnMoITApKSx0aGlzLnBhcnNlU3RhdGVtZW50Q29udGVudCh0LGUpfXBhcnNlU3RhdGVtZW50Q29udGVudCh0LGUpe2xldCBzPXRoaXMuc3RhdGUudHlwZSxpPXRoaXMuc3RhcnROb2RlKCkscj0hISh0JjIpLG49ISEodCY0KSxvPXQmMTtzd2l0Y2gocyl7Y2FzZSA2MDpyZXR1cm4gdGhpcy5wYXJzZUJyZWFrQ29udGludWVTdGF0ZW1lbnQoaSwhMCk7Y2FzZSA2MzpyZXR1cm4gdGhpcy5wYXJzZUJyZWFrQ29udGludWVTdGF0ZW1lbnQoaSwhMSk7Y2FzZSA2NDpyZXR1cm4gdGhpcy5wYXJzZURlYnVnZ2VyU3RhdGVtZW50KGkpO2Nhc2UgOTA6cmV0dXJuIHRoaXMucGFyc2VEb1doaWxlU3RhdGVtZW50KGkpO2Nhc2UgOTE6cmV0dXJuIHRoaXMucGFyc2VGb3JTdGF0ZW1lbnQoaSk7Y2FzZSA2ODppZih0aGlzLmxvb2thaGVhZENoYXJDb2RlKCk9PT00NilicmVhaztyZXR1cm4gbnx8dGhpcy5yYWlzZSh0aGlzLnN0YXRlLnN0cmljdD9wLlN0cmljdEZ1bmN0aW9uOnRoaXMub3B0aW9ucy5hbm5leEI/cC5TbG9wcHlGdW5jdGlvbkFubmV4QjpwLlNsb3BweUZ1bmN0aW9uLHRoaXMuc3RhdGUuc3RhcnRMb2MpLHRoaXMucGFyc2VGdW5jdGlvblN0YXRlbWVudChpLCExLCFyJiZuKTtjYXNlIDgwOnJldHVybiByfHx0aGlzLnVuZXhwZWN0ZWQoKSx0aGlzLnBhcnNlQ2xhc3ModGhpcy5tYXliZVRha2VEZWNvcmF0b3JzKGUsaSksITApO2Nhc2UgNjk6cmV0dXJuIHRoaXMucGFyc2VJZlN0YXRlbWVudChpKTtjYXNlIDcwOnJldHVybiB0aGlzLnBhcnNlUmV0dXJuU3RhdGVtZW50KGkpO2Nhc2UgNzE6cmV0dXJuIHRoaXMucGFyc2VTd2l0Y2hTdGF0ZW1lbnQoaSk7Y2FzZSA3MjpyZXR1cm4gdGhpcy5wYXJzZVRocm93U3RhdGVtZW50KGkpO2Nhc2UgNzM6cmV0dXJuIHRoaXMucGFyc2VUcnlTdGF0ZW1lbnQoaSk7Y2FzZSA5NjppZighdGhpcy5zdGF0ZS5jb250YWluc0VzYyYmdGhpcy5zdGFydHNBd2FpdFVzaW5nKCkpcmV0dXJuIHRoaXMucmVjb3JkQXdhaXRJZkFsbG93ZWQoKT9yfHx0aGlzLnJhaXNlKHAuVW5leHBlY3RlZExleGljYWxEZWNsYXJhdGlvbixpKTp0aGlzLnJhaXNlKHAuQXdhaXRVc2luZ05vdEluQXN5bmNDb250ZXh0LGkpLHRoaXMubmV4dCgpLHRoaXMucGFyc2VWYXJTdGF0ZW1lbnQoaSxcImF3YWl0IHVzaW5nXCIpO2JyZWFrO2Nhc2UgMTA3OmlmKHRoaXMuc3RhdGUuY29udGFpbnNFc2N8fCF0aGlzLmhhc0luTGluZUZvbGxvd2luZ0JpbmRpbmdJZGVudGlmaWVyT3JCcmFjZSgpKWJyZWFrO3JldHVybiB0aGlzLmV4cGVjdFBsdWdpbihcImV4cGxpY2l0UmVzb3VyY2VNYW5hZ2VtZW50XCIpLCF0aGlzLnNjb3BlLmluTW9kdWxlJiZ0aGlzLnNjb3BlLmluVG9wTGV2ZWw/dGhpcy5yYWlzZShwLlVuZXhwZWN0ZWRVc2luZ0RlY2xhcmF0aW9uLHRoaXMuc3RhdGUuc3RhcnRMb2MpOnJ8fHRoaXMucmFpc2UocC5VbmV4cGVjdGVkTGV4aWNhbERlY2xhcmF0aW9uLHRoaXMuc3RhdGUuc3RhcnRMb2MpLHRoaXMucGFyc2VWYXJTdGF0ZW1lbnQoaSxcInVzaW5nXCIpO2Nhc2UgMTAwOntpZih0aGlzLnN0YXRlLmNvbnRhaW5zRXNjKWJyZWFrO2xldCBjPXRoaXMubmV4dFRva2VuU3RhcnQoKSx1PXRoaXMuY29kZVBvaW50QXRQb3MoYyk7aWYodSE9PTkxJiYoIXImJnRoaXMuaGFzRm9sbG93aW5nTGluZUJyZWFrKCl8fCF0aGlzLmNoU3RhcnRzQmluZGluZ0lkZW50aWZpZXIodSxjKSYmdSE9PTEyMykpYnJlYWt9Y2FzZSA3NTpyfHx0aGlzLnJhaXNlKHAuVW5leHBlY3RlZExleGljYWxEZWNsYXJhdGlvbix0aGlzLnN0YXRlLnN0YXJ0TG9jKTtjYXNlIDc0OntsZXQgYz10aGlzLnN0YXRlLnZhbHVlO3JldHVybiB0aGlzLnBhcnNlVmFyU3RhdGVtZW50KGksYyl9Y2FzZSA5MjpyZXR1cm4gdGhpcy5wYXJzZVdoaWxlU3RhdGVtZW50KGkpO2Nhc2UgNzY6cmV0dXJuIHRoaXMucGFyc2VXaXRoU3RhdGVtZW50KGkpO2Nhc2UgNTpyZXR1cm4gdGhpcy5wYXJzZUJsb2NrKCk7Y2FzZSAxMzpyZXR1cm4gdGhpcy5wYXJzZUVtcHR5U3RhdGVtZW50KGkpO2Nhc2UgODM6e2xldCBjPXRoaXMubG9va2FoZWFkQ2hhckNvZGUoKTtpZihjPT09NDB8fGM9PT00NilicmVha31jYXNlIDgyOnshdGhpcy5vcHRpb25zLmFsbG93SW1wb3J0RXhwb3J0RXZlcnl3aGVyZSYmIW8mJnRoaXMucmFpc2UocC5VbmV4cGVjdGVkSW1wb3J0RXhwb3J0LHRoaXMuc3RhdGUuc3RhcnRMb2MpLHRoaXMubmV4dCgpO2xldCBjO3JldHVybiBzPT09ODM/KGM9dGhpcy5wYXJzZUltcG9ydChpKSxjLnR5cGU9PT1cIkltcG9ydERlY2xhcmF0aW9uXCImJighYy5pbXBvcnRLaW5kfHxjLmltcG9ydEtpbmQ9PT1cInZhbHVlXCIpJiYodGhpcy5zYXdVbmFtYmlndW91c0VTTT0hMCkpOihjPXRoaXMucGFyc2VFeHBvcnQoaSxlKSwoYy50eXBlPT09XCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCImJighYy5leHBvcnRLaW5kfHxjLmV4cG9ydEtpbmQ9PT1cInZhbHVlXCIpfHxjLnR5cGU9PT1cIkV4cG9ydEFsbERlY2xhcmF0aW9uXCImJighYy5leHBvcnRLaW5kfHxjLmV4cG9ydEtpbmQ9PT1cInZhbHVlXCIpfHxjLnR5cGU9PT1cIkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblwiKSYmKHRoaXMuc2F3VW5hbWJpZ3VvdXNFU009ITApKSx0aGlzLmFzc2VydE1vZHVsZU5vZGVBbGxvd2VkKGMpLGN9ZGVmYXVsdDppZih0aGlzLmlzQXN5bmNGdW5jdGlvbigpKXJldHVybiByfHx0aGlzLnJhaXNlKHAuQXN5bmNGdW5jdGlvbkluU2luZ2xlU3RhdGVtZW50Q29udGV4dCx0aGlzLnN0YXRlLnN0YXJ0TG9jKSx0aGlzLm5leHQoKSx0aGlzLnBhcnNlRnVuY3Rpb25TdGF0ZW1lbnQoaSwhMCwhciYmbil9bGV0IGg9dGhpcy5zdGF0ZS52YWx1ZSxsPXRoaXMucGFyc2VFeHByZXNzaW9uKCk7cmV0dXJuIEMocykmJmwudHlwZT09PVwiSWRlbnRpZmllclwiJiZ0aGlzLmVhdCgxNCk/dGhpcy5wYXJzZUxhYmVsZWRTdGF0ZW1lbnQoaSxoLGwsdCk6dGhpcy5wYXJzZUV4cHJlc3Npb25TdGF0ZW1lbnQoaSxsLGUpfWFzc2VydE1vZHVsZU5vZGVBbGxvd2VkKHQpeyF0aGlzLm9wdGlvbnMuYWxsb3dJbXBvcnRFeHBvcnRFdmVyeXdoZXJlJiYhdGhpcy5pbk1vZHVsZSYmdGhpcy5yYWlzZShwLkltcG9ydE91dHNpZGVNb2R1bGUsdCl9ZGVjb3JhdG9yc0VuYWJsZWRCZWZvcmVFeHBvcnQoKXtyZXR1cm4gdGhpcy5oYXNQbHVnaW4oXCJkZWNvcmF0b3JzLWxlZ2FjeVwiKT8hMDp0aGlzLmhhc1BsdWdpbihcImRlY29yYXRvcnNcIikmJnRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwiZGVjb3JhdG9yc1wiLFwiZGVjb3JhdG9yc0JlZm9yZUV4cG9ydFwiKSE9PSExfW1heWJlVGFrZURlY29yYXRvcnModCxlLHMpe3JldHVybiB0JiYoZS5kZWNvcmF0b3JzJiZlLmRlY29yYXRvcnMubGVuZ3RoPjA/KHR5cGVvZiB0aGlzLmdldFBsdWdpbk9wdGlvbihcImRlY29yYXRvcnNcIixcImRlY29yYXRvcnNCZWZvcmVFeHBvcnRcIikhPVwiYm9vbGVhblwiJiZ0aGlzLnJhaXNlKHAuRGVjb3JhdG9yc0JlZm9yZUFmdGVyRXhwb3J0LGUuZGVjb3JhdG9yc1swXSksZS5kZWNvcmF0b3JzLnVuc2hpZnQoLi4udCkpOmUuZGVjb3JhdG9ycz10LHRoaXMucmVzZXRTdGFydExvY2F0aW9uRnJvbU5vZGUoZSx0WzBdKSxzJiZ0aGlzLnJlc2V0U3RhcnRMb2NhdGlvbkZyb21Ob2RlKHMsZSkpLGV9Y2FuSGF2ZUxlYWRpbmdEZWNvcmF0b3IoKXtyZXR1cm4gdGhpcy5tYXRjaCg4MCl9cGFyc2VEZWNvcmF0b3JzKHQpe2xldCBlPVtdO2RvIGUucHVzaCh0aGlzLnBhcnNlRGVjb3JhdG9yKCkpO3doaWxlKHRoaXMubWF0Y2goMjYpKTtpZih0aGlzLm1hdGNoKDgyKSl0fHx0aGlzLnVuZXhwZWN0ZWQoKSx0aGlzLmRlY29yYXRvcnNFbmFibGVkQmVmb3JlRXhwb3J0KCl8fHRoaXMucmFpc2UocC5EZWNvcmF0b3JFeHBvcnRDbGFzcyx0aGlzLnN0YXRlLnN0YXJ0TG9jKTtlbHNlIGlmKCF0aGlzLmNhbkhhdmVMZWFkaW5nRGVjb3JhdG9yKCkpdGhyb3cgdGhpcy5yYWlzZShwLlVuZXhwZWN0ZWRMZWFkaW5nRGVjb3JhdG9yLHRoaXMuc3RhdGUuc3RhcnRMb2MpO3JldHVybiBlfXBhcnNlRGVjb3JhdG9yKCl7dGhpcy5leHBlY3RPbmVQbHVnaW4oW1wiZGVjb3JhdG9yc1wiLFwiZGVjb3JhdG9ycy1sZWdhY3lcIl0pO2xldCB0PXRoaXMuc3RhcnROb2RlKCk7aWYodGhpcy5uZXh0KCksdGhpcy5oYXNQbHVnaW4oXCJkZWNvcmF0b3JzXCIpKXtsZXQgZT10aGlzLnN0YXRlLnN0YXJ0TG9jLHM7aWYodGhpcy5tYXRjaCgxMCkpe2xldCBpPXRoaXMuc3RhdGUuc3RhcnRMb2M7dGhpcy5uZXh0KCkscz10aGlzLnBhcnNlRXhwcmVzc2lvbigpLHRoaXMuZXhwZWN0KDExKSxzPXRoaXMud3JhcFBhcmVudGhlc2lzKGkscyk7bGV0IHI9dGhpcy5zdGF0ZS5zdGFydExvYzt0LmV4cHJlc3Npb249dGhpcy5wYXJzZU1heWJlRGVjb3JhdG9yQXJndW1lbnRzKHMpLHRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwiZGVjb3JhdG9yc1wiLFwiYWxsb3dDYWxsUGFyZW50aGVzaXplZFwiKT09PSExJiZ0LmV4cHJlc3Npb24hPT1zJiZ0aGlzLnJhaXNlKHAuRGVjb3JhdG9yQXJndW1lbnRzT3V0c2lkZVBhcmVudGhlc2VzLHIpfWVsc2V7Zm9yKHM9dGhpcy5wYXJzZUlkZW50aWZpZXIoITEpO3RoaXMuZWF0KDE2KTspe2xldCBpPXRoaXMuc3RhcnROb2RlQXQoZSk7aS5vYmplY3Q9cyx0aGlzLm1hdGNoKDEzOSk/KHRoaXMuY2xhc3NTY29wZS51c2VQcml2YXRlTmFtZSh0aGlzLnN0YXRlLnZhbHVlLHRoaXMuc3RhdGUuc3RhcnRMb2MpLGkucHJvcGVydHk9dGhpcy5wYXJzZVByaXZhdGVOYW1lKCkpOmkucHJvcGVydHk9dGhpcy5wYXJzZUlkZW50aWZpZXIoITApLGkuY29tcHV0ZWQ9ITEscz10aGlzLmZpbmlzaE5vZGUoaSxcIk1lbWJlckV4cHJlc3Npb25cIil9dC5leHByZXNzaW9uPXRoaXMucGFyc2VNYXliZURlY29yYXRvckFyZ3VtZW50cyhzKX19ZWxzZSB0LmV4cHJlc3Npb249dGhpcy5wYXJzZUV4cHJTdWJzY3JpcHRzKCk7cmV0dXJuIHRoaXMuZmluaXNoTm9kZSh0LFwiRGVjb3JhdG9yXCIpfXBhcnNlTWF5YmVEZWNvcmF0b3JBcmd1bWVudHModCl7aWYodGhpcy5lYXQoMTApKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZUF0Tm9kZSh0KTtyZXR1cm4gZS5jYWxsZWU9dCxlLmFyZ3VtZW50cz10aGlzLnBhcnNlQ2FsbEV4cHJlc3Npb25Bcmd1bWVudHMoMTEpLHRoaXMudG9SZWZlcmVuY2VkTGlzdChlLmFyZ3VtZW50cyksdGhpcy5maW5pc2hOb2RlKGUsXCJDYWxsRXhwcmVzc2lvblwiKX1yZXR1cm4gdH1wYXJzZUJyZWFrQ29udGludWVTdGF0ZW1lbnQodCxlKXtyZXR1cm4gdGhpcy5uZXh0KCksdGhpcy5pc0xpbmVUZXJtaW5hdG9yKCk/dC5sYWJlbD1udWxsOih0LmxhYmVsPXRoaXMucGFyc2VJZGVudGlmaWVyKCksdGhpcy5zZW1pY29sb24oKSksdGhpcy52ZXJpZnlCcmVha0NvbnRpbnVlKHQsZSksdGhpcy5maW5pc2hOb2RlKHQsZT9cIkJyZWFrU3RhdGVtZW50XCI6XCJDb250aW51ZVN0YXRlbWVudFwiKX12ZXJpZnlCcmVha0NvbnRpbnVlKHQsZSl7bGV0IHM7Zm9yKHM9MDtzPHRoaXMuc3RhdGUubGFiZWxzLmxlbmd0aDsrK3Mpe2xldCBpPXRoaXMuc3RhdGUubGFiZWxzW3NdO2lmKCh0LmxhYmVsPT1udWxsfHxpLm5hbWU9PT10LmxhYmVsLm5hbWUpJiYoaS5raW5kIT1udWxsJiYoZXx8aS5raW5kPT09MSl8fHQubGFiZWwmJmUpKWJyZWFrfWlmKHM9PT10aGlzLnN0YXRlLmxhYmVscy5sZW5ndGgpe2xldCBpPWU/XCJCcmVha1N0YXRlbWVudFwiOlwiQ29udGludWVTdGF0ZW1lbnRcIjt0aGlzLnJhaXNlKHAuSWxsZWdhbEJyZWFrQ29udGludWUsdCx7dHlwZTppfSl9fXBhcnNlRGVidWdnZXJTdGF0ZW1lbnQodCl7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMuc2VtaWNvbG9uKCksdGhpcy5maW5pc2hOb2RlKHQsXCJEZWJ1Z2dlclN0YXRlbWVudFwiKX1wYXJzZUhlYWRlckV4cHJlc3Npb24oKXt0aGlzLmV4cGVjdCgxMCk7bGV0IHQ9dGhpcy5wYXJzZUV4cHJlc3Npb24oKTtyZXR1cm4gdGhpcy5leHBlY3QoMTEpLHR9cGFyc2VEb1doaWxlU3RhdGVtZW50KHQpe3JldHVybiB0aGlzLm5leHQoKSx0aGlzLnN0YXRlLmxhYmVscy5wdXNoKCRlKSx0LmJvZHk9dGhpcy53aXRoU21hcnRNaXhUb3BpY0ZvcmJpZGRpbmdDb250ZXh0KCgpPT50aGlzLnBhcnNlU3RhdGVtZW50KCkpLHRoaXMuc3RhdGUubGFiZWxzLnBvcCgpLHRoaXMuZXhwZWN0KDkyKSx0LnRlc3Q9dGhpcy5wYXJzZUhlYWRlckV4cHJlc3Npb24oKSx0aGlzLmVhdCgxMyksdGhpcy5maW5pc2hOb2RlKHQsXCJEb1doaWxlU3RhdGVtZW50XCIpfXBhcnNlRm9yU3RhdGVtZW50KHQpe3RoaXMubmV4dCgpLHRoaXMuc3RhdGUubGFiZWxzLnB1c2goJGUpO2xldCBlPW51bGw7aWYodGhpcy5pc0NvbnRleHR1YWwoOTYpJiZ0aGlzLnJlY29yZEF3YWl0SWZBbGxvd2VkKCkmJihlPXRoaXMuc3RhdGUuc3RhcnRMb2MsdGhpcy5uZXh0KCkpLHRoaXMuc2NvcGUuZW50ZXIoMCksdGhpcy5leHBlY3QoMTApLHRoaXMubWF0Y2goMTMpKXJldHVybiBlIT09bnVsbCYmdGhpcy51bmV4cGVjdGVkKGUpLHRoaXMucGFyc2VGb3IodCxudWxsKTtsZXQgcz10aGlzLmlzQ29udGV4dHVhbCgxMDApO3tsZXQgaD10aGlzLmlzQ29udGV4dHVhbCg5NikmJnRoaXMuc3RhcnRzQXdhaXRVc2luZygpLGw9aHx8dGhpcy5pc0NvbnRleHR1YWwoMTA3KSYmdGhpcy5zdGFydHNVc2luZ0Zvck9mKCksYz1zJiZ0aGlzLmhhc0ZvbGxvd2luZ0JpbmRpbmdBdG9tKCl8fGw7aWYodGhpcy5tYXRjaCg3NCl8fHRoaXMubWF0Y2goNzUpfHxjKXtsZXQgdT10aGlzLnN0YXJ0Tm9kZSgpLGY7aD8oZj1cImF3YWl0IHVzaW5nXCIsdGhpcy5yZWNvcmRBd2FpdElmQWxsb3dlZCgpfHx0aGlzLnJhaXNlKHAuQXdhaXRVc2luZ05vdEluQXN5bmNDb250ZXh0LHRoaXMuc3RhdGUuc3RhcnRMb2MpLHRoaXMubmV4dCgpKTpmPXRoaXMuc3RhdGUudmFsdWUsdGhpcy5uZXh0KCksdGhpcy5wYXJzZVZhcih1LCEwLGYpO2xldCBkPXRoaXMuZmluaXNoTm9kZSh1LFwiVmFyaWFibGVEZWNsYXJhdGlvblwiKSx4PXRoaXMubWF0Y2goNTgpO3JldHVybiB4JiZsJiZ0aGlzLnJhaXNlKHAuRm9ySW5Vc2luZyxkKSwoeHx8dGhpcy5pc0NvbnRleHR1YWwoMTAyKSkmJmQuZGVjbGFyYXRpb25zLmxlbmd0aD09PTE/dGhpcy5wYXJzZUZvckluKHQsZCxlKTooZSE9PW51bGwmJnRoaXMudW5leHBlY3RlZChlKSx0aGlzLnBhcnNlRm9yKHQsZCkpfX1sZXQgaT10aGlzLmlzQ29udGV4dHVhbCg5NSkscj1uZXcgUSxuPXRoaXMucGFyc2VFeHByZXNzaW9uKCEwLHIpLG89dGhpcy5pc0NvbnRleHR1YWwoMTAyKTtpZihvJiYocyYmdGhpcy5yYWlzZShwLkZvck9mTGV0LG4pLGU9PT1udWxsJiZpJiZuLnR5cGU9PT1cIklkZW50aWZpZXJcIiYmdGhpcy5yYWlzZShwLkZvck9mQXN5bmMsbikpLG98fHRoaXMubWF0Y2goNTgpKXt0aGlzLmNoZWNrRGVzdHJ1Y3R1cmluZ1ByaXZhdGUociksdGhpcy50b0Fzc2lnbmFibGUobiwhMCk7bGV0IGg9bz9cIkZvck9mU3RhdGVtZW50XCI6XCJGb3JJblN0YXRlbWVudFwiO3JldHVybiB0aGlzLmNoZWNrTFZhbChuLHt0eXBlOmh9KSx0aGlzLnBhcnNlRm9ySW4odCxuLGUpfWVsc2UgdGhpcy5jaGVja0V4cHJlc3Npb25FcnJvcnMociwhMCk7cmV0dXJuIGUhPT1udWxsJiZ0aGlzLnVuZXhwZWN0ZWQoZSksdGhpcy5wYXJzZUZvcih0LG4pfXBhcnNlRnVuY3Rpb25TdGF0ZW1lbnQodCxlLHMpe3JldHVybiB0aGlzLm5leHQoKSx0aGlzLnBhcnNlRnVuY3Rpb24odCwxfChzPzI6MCl8KGU/ODowKSl9cGFyc2VJZlN0YXRlbWVudCh0KXtyZXR1cm4gdGhpcy5uZXh0KCksdC50ZXN0PXRoaXMucGFyc2VIZWFkZXJFeHByZXNzaW9uKCksdC5jb25zZXF1ZW50PXRoaXMucGFyc2VTdGF0ZW1lbnRPclNsb3BweUFubmV4QkZ1bmN0aW9uRGVjbGFyYXRpb24oKSx0LmFsdGVybmF0ZT10aGlzLmVhdCg2Nik/dGhpcy5wYXJzZVN0YXRlbWVudE9yU2xvcHB5QW5uZXhCRnVuY3Rpb25EZWNsYXJhdGlvbigpOm51bGwsdGhpcy5maW5pc2hOb2RlKHQsXCJJZlN0YXRlbWVudFwiKX1wYXJzZVJldHVyblN0YXRlbWVudCh0KXtyZXR1cm4hdGhpcy5wcm9kUGFyYW0uaGFzUmV0dXJuJiYhdGhpcy5vcHRpb25zLmFsbG93UmV0dXJuT3V0c2lkZUZ1bmN0aW9uJiZ0aGlzLnJhaXNlKHAuSWxsZWdhbFJldHVybix0aGlzLnN0YXRlLnN0YXJ0TG9jKSx0aGlzLm5leHQoKSx0aGlzLmlzTGluZVRlcm1pbmF0b3IoKT90LmFyZ3VtZW50PW51bGw6KHQuYXJndW1lbnQ9dGhpcy5wYXJzZUV4cHJlc3Npb24oKSx0aGlzLnNlbWljb2xvbigpKSx0aGlzLmZpbmlzaE5vZGUodCxcIlJldHVyblN0YXRlbWVudFwiKX1wYXJzZVN3aXRjaFN0YXRlbWVudCh0KXt0aGlzLm5leHQoKSx0LmRpc2NyaW1pbmFudD10aGlzLnBhcnNlSGVhZGVyRXhwcmVzc2lvbigpO2xldCBlPXQuY2FzZXM9W107dGhpcy5leHBlY3QoNSksdGhpcy5zdGF0ZS5sYWJlbHMucHVzaChlciksdGhpcy5zY29wZS5lbnRlcigwKTtsZXQgcztmb3IobGV0IGk7IXRoaXMubWF0Y2goOCk7KWlmKHRoaXMubWF0Y2goNjEpfHx0aGlzLm1hdGNoKDY1KSl7bGV0IHI9dGhpcy5tYXRjaCg2MSk7cyYmdGhpcy5maW5pc2hOb2RlKHMsXCJTd2l0Y2hDYXNlXCIpLGUucHVzaChzPXRoaXMuc3RhcnROb2RlKCkpLHMuY29uc2VxdWVudD1bXSx0aGlzLm5leHQoKSxyP3MudGVzdD10aGlzLnBhcnNlRXhwcmVzc2lvbigpOihpJiZ0aGlzLnJhaXNlKHAuTXVsdGlwbGVEZWZhdWx0c0luU3dpdGNoLHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jKSxpPSEwLHMudGVzdD1udWxsKSx0aGlzLmV4cGVjdCgxNCl9ZWxzZSBzP3MuY29uc2VxdWVudC5wdXNoKHRoaXMucGFyc2VTdGF0ZW1lbnRMaXN0SXRlbSgpKTp0aGlzLnVuZXhwZWN0ZWQoKTtyZXR1cm4gdGhpcy5zY29wZS5leGl0KCkscyYmdGhpcy5maW5pc2hOb2RlKHMsXCJTd2l0Y2hDYXNlXCIpLHRoaXMubmV4dCgpLHRoaXMuc3RhdGUubGFiZWxzLnBvcCgpLHRoaXMuZmluaXNoTm9kZSh0LFwiU3dpdGNoU3RhdGVtZW50XCIpfXBhcnNlVGhyb3dTdGF0ZW1lbnQodCl7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkmJnRoaXMucmFpc2UocC5OZXdsaW5lQWZ0ZXJUaHJvdyx0aGlzLnN0YXRlLmxhc3RUb2tFbmRMb2MpLHQuYXJndW1lbnQ9dGhpcy5wYXJzZUV4cHJlc3Npb24oKSx0aGlzLnNlbWljb2xvbigpLHRoaXMuZmluaXNoTm9kZSh0LFwiVGhyb3dTdGF0ZW1lbnRcIil9cGFyc2VDYXRjaENsYXVzZVBhcmFtKCl7bGV0IHQ9dGhpcy5wYXJzZUJpbmRpbmdBdG9tKCk7cmV0dXJuIHRoaXMuc2NvcGUuZW50ZXIodGhpcy5vcHRpb25zLmFubmV4QiYmdC50eXBlPT09XCJJZGVudGlmaWVyXCI/ODowKSx0aGlzLmNoZWNrTFZhbCh0LHt0eXBlOlwiQ2F0Y2hDbGF1c2VcIn0sOSksdH1wYXJzZVRyeVN0YXRlbWVudCh0KXtpZih0aGlzLm5leHQoKSx0LmJsb2NrPXRoaXMucGFyc2VCbG9jaygpLHQuaGFuZGxlcj1udWxsLHRoaXMubWF0Y2goNjIpKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpO3RoaXMubmV4dCgpLHRoaXMubWF0Y2goMTApPyh0aGlzLmV4cGVjdCgxMCksZS5wYXJhbT10aGlzLnBhcnNlQ2F0Y2hDbGF1c2VQYXJhbSgpLHRoaXMuZXhwZWN0KDExKSk6KGUucGFyYW09bnVsbCx0aGlzLnNjb3BlLmVudGVyKDApKSxlLmJvZHk9dGhpcy53aXRoU21hcnRNaXhUb3BpY0ZvcmJpZGRpbmdDb250ZXh0KCgpPT50aGlzLnBhcnNlQmxvY2soITEsITEpKSx0aGlzLnNjb3BlLmV4aXQoKSx0LmhhbmRsZXI9dGhpcy5maW5pc2hOb2RlKGUsXCJDYXRjaENsYXVzZVwiKX1yZXR1cm4gdC5maW5hbGl6ZXI9dGhpcy5lYXQoNjcpP3RoaXMucGFyc2VCbG9jaygpOm51bGwsIXQuaGFuZGxlciYmIXQuZmluYWxpemVyJiZ0aGlzLnJhaXNlKHAuTm9DYXRjaE9yRmluYWxseSx0KSx0aGlzLmZpbmlzaE5vZGUodCxcIlRyeVN0YXRlbWVudFwiKX1wYXJzZVZhclN0YXRlbWVudCh0LGUscz0hMSl7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMucGFyc2VWYXIodCwhMSxlLHMpLHRoaXMuc2VtaWNvbG9uKCksdGhpcy5maW5pc2hOb2RlKHQsXCJWYXJpYWJsZURlY2xhcmF0aW9uXCIpfXBhcnNlV2hpbGVTdGF0ZW1lbnQodCl7cmV0dXJuIHRoaXMubmV4dCgpLHQudGVzdD10aGlzLnBhcnNlSGVhZGVyRXhwcmVzc2lvbigpLHRoaXMuc3RhdGUubGFiZWxzLnB1c2goJGUpLHQuYm9keT10aGlzLndpdGhTbWFydE1peFRvcGljRm9yYmlkZGluZ0NvbnRleHQoKCk9PnRoaXMucGFyc2VTdGF0ZW1lbnQoKSksdGhpcy5zdGF0ZS5sYWJlbHMucG9wKCksdGhpcy5maW5pc2hOb2RlKHQsXCJXaGlsZVN0YXRlbWVudFwiKX1wYXJzZVdpdGhTdGF0ZW1lbnQodCl7cmV0dXJuIHRoaXMuc3RhdGUuc3RyaWN0JiZ0aGlzLnJhaXNlKHAuU3RyaWN0V2l0aCx0aGlzLnN0YXRlLnN0YXJ0TG9jKSx0aGlzLm5leHQoKSx0Lm9iamVjdD10aGlzLnBhcnNlSGVhZGVyRXhwcmVzc2lvbigpLHQuYm9keT10aGlzLndpdGhTbWFydE1peFRvcGljRm9yYmlkZGluZ0NvbnRleHQoKCk9PnRoaXMucGFyc2VTdGF0ZW1lbnQoKSksdGhpcy5maW5pc2hOb2RlKHQsXCJXaXRoU3RhdGVtZW50XCIpfXBhcnNlRW1wdHlTdGF0ZW1lbnQodCl7cmV0dXJuIHRoaXMubmV4dCgpLHRoaXMuZmluaXNoTm9kZSh0LFwiRW1wdHlTdGF0ZW1lbnRcIil9cGFyc2VMYWJlbGVkU3RhdGVtZW50KHQsZSxzLGkpe2ZvcihsZXQgbiBvZiB0aGlzLnN0YXRlLmxhYmVscyluLm5hbWU9PT1lJiZ0aGlzLnJhaXNlKHAuTGFiZWxSZWRlY2xhcmF0aW9uLHMse2xhYmVsTmFtZTplfSk7bGV0IHI9YWkodGhpcy5zdGF0ZS50eXBlKT8xOnRoaXMubWF0Y2goNzEpPzI6bnVsbDtmb3IobGV0IG49dGhpcy5zdGF0ZS5sYWJlbHMubGVuZ3RoLTE7bj49MDtuLS0pe2xldCBvPXRoaXMuc3RhdGUubGFiZWxzW25dO2lmKG8uc3RhdGVtZW50U3RhcnQ9PT10LnN0YXJ0KW8uc3RhdGVtZW50U3RhcnQ9dGhpcy5zb3VyY2VUb09mZnNldFBvcyh0aGlzLnN0YXRlLnN0YXJ0KSxvLmtpbmQ9cjtlbHNlIGJyZWFrfXJldHVybiB0aGlzLnN0YXRlLmxhYmVscy5wdXNoKHtuYW1lOmUsa2luZDpyLHN0YXRlbWVudFN0YXJ0OnRoaXMuc291cmNlVG9PZmZzZXRQb3ModGhpcy5zdGF0ZS5zdGFydCl9KSx0LmJvZHk9aSY4P3RoaXMucGFyc2VTdGF0ZW1lbnRPclNsb3BweUFubmV4QkZ1bmN0aW9uRGVjbGFyYXRpb24oITApOnRoaXMucGFyc2VTdGF0ZW1lbnQoKSx0aGlzLnN0YXRlLmxhYmVscy5wb3AoKSx0LmxhYmVsPXMsdGhpcy5maW5pc2hOb2RlKHQsXCJMYWJlbGVkU3RhdGVtZW50XCIpfXBhcnNlRXhwcmVzc2lvblN0YXRlbWVudCh0LGUscyl7cmV0dXJuIHQuZXhwcmVzc2lvbj1lLHRoaXMuc2VtaWNvbG9uKCksdGhpcy5maW5pc2hOb2RlKHQsXCJFeHByZXNzaW9uU3RhdGVtZW50XCIpfXBhcnNlQmxvY2sodD0hMSxlPSEwLHMpe2xldCBpPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIHQmJnRoaXMuc3RhdGUuc3RyaWN0RXJyb3JzLmNsZWFyKCksdGhpcy5leHBlY3QoNSksZSYmdGhpcy5zY29wZS5lbnRlcigwKSx0aGlzLnBhcnNlQmxvY2tCb2R5KGksdCwhMSw4LHMpLGUmJnRoaXMuc2NvcGUuZXhpdCgpLHRoaXMuZmluaXNoTm9kZShpLFwiQmxvY2tTdGF0ZW1lbnRcIil9aXNWYWxpZERpcmVjdGl2ZSh0KXtyZXR1cm4gdC50eXBlPT09XCJFeHByZXNzaW9uU3RhdGVtZW50XCImJnQuZXhwcmVzc2lvbi50eXBlPT09XCJTdHJpbmdMaXRlcmFsXCImJiF0LmV4cHJlc3Npb24uZXh0cmEucGFyZW50aGVzaXplZH1wYXJzZUJsb2NrQm9keSh0LGUscyxpLHIpe2xldCBuPXQuYm9keT1bXSxvPXQuZGlyZWN0aXZlcz1bXTt0aGlzLnBhcnNlQmxvY2tPck1vZHVsZUJsb2NrQm9keShuLGU/bzp2b2lkIDAscyxpLHIpfXBhcnNlQmxvY2tPck1vZHVsZUJsb2NrQm9keSh0LGUscyxpLHIpe2xldCBuPXRoaXMuc3RhdGUuc3RyaWN0LG89ITEsaD0hMTtmb3IoOyF0aGlzLm1hdGNoKGkpOyl7bGV0IGw9cz90aGlzLnBhcnNlTW9kdWxlSXRlbSgpOnRoaXMucGFyc2VTdGF0ZW1lbnRMaXN0SXRlbSgpO2lmKGUmJiFoKXtpZih0aGlzLmlzVmFsaWREaXJlY3RpdmUobCkpe2xldCBjPXRoaXMuc3RtdFRvRGlyZWN0aXZlKGwpO2UucHVzaChjKSwhbyYmYy52YWx1ZS52YWx1ZT09PVwidXNlIHN0cmljdFwiJiYobz0hMCx0aGlzLnNldFN0cmljdCghMCkpO2NvbnRpbnVlfWg9ITAsdGhpcy5zdGF0ZS5zdHJpY3RFcnJvcnMuY2xlYXIoKX10LnB1c2gobCl9cj09bnVsbHx8ci5jYWxsKHRoaXMsbyksbnx8dGhpcy5zZXRTdHJpY3QoITEpLHRoaXMubmV4dCgpfXBhcnNlRm9yKHQsZSl7cmV0dXJuIHQuaW5pdD1lLHRoaXMuc2VtaWNvbG9uKCExKSx0LnRlc3Q9dGhpcy5tYXRjaCgxMyk/bnVsbDp0aGlzLnBhcnNlRXhwcmVzc2lvbigpLHRoaXMuc2VtaWNvbG9uKCExKSx0LnVwZGF0ZT10aGlzLm1hdGNoKDExKT9udWxsOnRoaXMucGFyc2VFeHByZXNzaW9uKCksdGhpcy5leHBlY3QoMTEpLHQuYm9keT10aGlzLndpdGhTbWFydE1peFRvcGljRm9yYmlkZGluZ0NvbnRleHQoKCk9PnRoaXMucGFyc2VTdGF0ZW1lbnQoKSksdGhpcy5zY29wZS5leGl0KCksdGhpcy5zdGF0ZS5sYWJlbHMucG9wKCksdGhpcy5maW5pc2hOb2RlKHQsXCJGb3JTdGF0ZW1lbnRcIil9cGFyc2VGb3JJbih0LGUscyl7bGV0IGk9dGhpcy5tYXRjaCg1OCk7cmV0dXJuIHRoaXMubmV4dCgpLGk/cyE9PW51bGwmJnRoaXMudW5leHBlY3RlZChzKTp0LmF3YWl0PXMhPT1udWxsLGUudHlwZT09PVwiVmFyaWFibGVEZWNsYXJhdGlvblwiJiZlLmRlY2xhcmF0aW9uc1swXS5pbml0IT1udWxsJiYoIWl8fCF0aGlzLm9wdGlvbnMuYW5uZXhCfHx0aGlzLnN0YXRlLnN0cmljdHx8ZS5raW5kIT09XCJ2YXJcInx8ZS5kZWNsYXJhdGlvbnNbMF0uaWQudHlwZSE9PVwiSWRlbnRpZmllclwiKSYmdGhpcy5yYWlzZShwLkZvckluT2ZMb29wSW5pdGlhbGl6ZXIsZSx7dHlwZTppP1wiRm9ySW5TdGF0ZW1lbnRcIjpcIkZvck9mU3RhdGVtZW50XCJ9KSxlLnR5cGU9PT1cIkFzc2lnbm1lbnRQYXR0ZXJuXCImJnRoaXMucmFpc2UocC5JbnZhbGlkTGhzLGUse2FuY2VzdG9yOnt0eXBlOlwiRm9yU3RhdGVtZW50XCJ9fSksdC5sZWZ0PWUsdC5yaWdodD1pP3RoaXMucGFyc2VFeHByZXNzaW9uKCk6dGhpcy5wYXJzZU1heWJlQXNzaWduQWxsb3dJbigpLHRoaXMuZXhwZWN0KDExKSx0LmJvZHk9dGhpcy53aXRoU21hcnRNaXhUb3BpY0ZvcmJpZGRpbmdDb250ZXh0KCgpPT50aGlzLnBhcnNlU3RhdGVtZW50KCkpLHRoaXMuc2NvcGUuZXhpdCgpLHRoaXMuc3RhdGUubGFiZWxzLnBvcCgpLHRoaXMuZmluaXNoTm9kZSh0LGk/XCJGb3JJblN0YXRlbWVudFwiOlwiRm9yT2ZTdGF0ZW1lbnRcIil9cGFyc2VWYXIodCxlLHMsaT0hMSl7bGV0IHI9dC5kZWNsYXJhdGlvbnM9W107Zm9yKHQua2luZD1zOzspe2xldCBuPXRoaXMuc3RhcnROb2RlKCk7aWYodGhpcy5wYXJzZVZhcklkKG4scyksbi5pbml0PXRoaXMuZWF0KDI5KT9lP3RoaXMucGFyc2VNYXliZUFzc2lnbkRpc2FsbG93SW4oKTp0aGlzLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKCk6bnVsbCxuLmluaXQ9PT1udWxsJiYhaSYmKG4uaWQudHlwZSE9PVwiSWRlbnRpZmllclwiJiYhKGUmJih0aGlzLm1hdGNoKDU4KXx8dGhpcy5pc0NvbnRleHR1YWwoMTAyKSkpP3RoaXMucmFpc2UocC5EZWNsYXJhdGlvbk1pc3NpbmdJbml0aWFsaXplcix0aGlzLnN0YXRlLmxhc3RUb2tFbmRMb2Mse2tpbmQ6XCJkZXN0cnVjdHVyaW5nXCJ9KToocz09PVwiY29uc3RcInx8cz09PVwidXNpbmdcInx8cz09PVwiYXdhaXQgdXNpbmdcIikmJiEodGhpcy5tYXRjaCg1OCl8fHRoaXMuaXNDb250ZXh0dWFsKDEwMikpJiZ0aGlzLnJhaXNlKHAuRGVjbGFyYXRpb25NaXNzaW5nSW5pdGlhbGl6ZXIsdGhpcy5zdGF0ZS5sYXN0VG9rRW5kTG9jLHtraW5kOnN9KSksci5wdXNoKHRoaXMuZmluaXNoTm9kZShuLFwiVmFyaWFibGVEZWNsYXJhdG9yXCIpKSwhdGhpcy5lYXQoMTIpKWJyZWFrfXJldHVybiB0fXBhcnNlVmFySWQodCxlKXtsZXQgcz10aGlzLnBhcnNlQmluZGluZ0F0b20oKTsoZT09PVwidXNpbmdcInx8ZT09PVwiYXdhaXQgdXNpbmdcIikmJihzLnR5cGU9PT1cIkFycmF5UGF0dGVyblwifHxzLnR5cGU9PT1cIk9iamVjdFBhdHRlcm5cIikmJnRoaXMucmFpc2UocC5Vc2luZ0RlY2xhcmF0aW9uSGFzQmluZGluZ1BhdHRlcm4scy5sb2Muc3RhcnQpLHRoaXMuY2hlY2tMVmFsKHMse3R5cGU6XCJWYXJpYWJsZURlY2xhcmF0b3JcIn0sZT09PVwidmFyXCI/NTo4MjAxKSx0LmlkPXN9cGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbih0KXtyZXR1cm4gdGhpcy5wYXJzZUZ1bmN0aW9uKHQsOCl9cGFyc2VGdW5jdGlvbih0LGU9MCl7bGV0IHM9ZSYyLGk9ISEoZSYxKSxyPWkmJiEoZSY0KSxuPSEhKGUmOCk7dGhpcy5pbml0RnVuY3Rpb24odCxuKSx0aGlzLm1hdGNoKDU1KSYmKHMmJnRoaXMucmFpc2UocC5HZW5lcmF0b3JJblNpbmdsZVN0YXRlbWVudENvbnRleHQsdGhpcy5zdGF0ZS5zdGFydExvYyksdGhpcy5uZXh0KCksdC5nZW5lcmF0b3I9ITApLGkmJih0LmlkPXRoaXMucGFyc2VGdW5jdGlvbklkKHIpKTtsZXQgbz10aGlzLnN0YXRlLm1heWJlSW5BcnJvd1BhcmFtZXRlcnM7cmV0dXJuIHRoaXMuc3RhdGUubWF5YmVJbkFycm93UGFyYW1ldGVycz0hMSx0aGlzLnNjb3BlLmVudGVyKDIpLHRoaXMucHJvZFBhcmFtLmVudGVyKENlKG4sdC5nZW5lcmF0b3IpKSxpfHwodC5pZD10aGlzLnBhcnNlRnVuY3Rpb25JZCgpKSx0aGlzLnBhcnNlRnVuY3Rpb25QYXJhbXModCwhMSksdGhpcy53aXRoU21hcnRNaXhUb3BpY0ZvcmJpZGRpbmdDb250ZXh0KCgpPT57dGhpcy5wYXJzZUZ1bmN0aW9uQm9keUFuZEZpbmlzaCh0LGk/XCJGdW5jdGlvbkRlY2xhcmF0aW9uXCI6XCJGdW5jdGlvbkV4cHJlc3Npb25cIil9KSx0aGlzLnByb2RQYXJhbS5leGl0KCksdGhpcy5zY29wZS5leGl0KCksaSYmIXMmJnRoaXMucmVnaXN0ZXJGdW5jdGlvblN0YXRlbWVudElkKHQpLHRoaXMuc3RhdGUubWF5YmVJbkFycm93UGFyYW1ldGVycz1vLHR9cGFyc2VGdW5jdGlvbklkKHQpe3JldHVybiB0fHxDKHRoaXMuc3RhdGUudHlwZSk/dGhpcy5wYXJzZUlkZW50aWZpZXIoKTpudWxsfXBhcnNlRnVuY3Rpb25QYXJhbXModCxlKXt0aGlzLmV4cGVjdCgxMCksdGhpcy5leHByZXNzaW9uU2NvcGUuZW50ZXIoa2koKSksdC5wYXJhbXM9dGhpcy5wYXJzZUJpbmRpbmdMaXN0KDExLDQxLDJ8KGU/NDowKSksdGhpcy5leHByZXNzaW9uU2NvcGUuZXhpdCgpfXJlZ2lzdGVyRnVuY3Rpb25TdGF0ZW1lbnRJZCh0KXt0LmlkJiZ0aGlzLnNjb3BlLmRlY2xhcmVOYW1lKHQuaWQubmFtZSwhdGhpcy5vcHRpb25zLmFubmV4Qnx8dGhpcy5zdGF0ZS5zdHJpY3R8fHQuZ2VuZXJhdG9yfHx0LmFzeW5jP3RoaXMuc2NvcGUudHJlYXRGdW5jdGlvbnNBc1Zhcj81OjgyMDE6MTcsdC5pZC5sb2Muc3RhcnQpfXBhcnNlQ2xhc3ModCxlLHMpe3RoaXMubmV4dCgpO2xldCBpPXRoaXMuc3RhdGUuc3RyaWN0O3JldHVybiB0aGlzLnN0YXRlLnN0cmljdD0hMCx0aGlzLnBhcnNlQ2xhc3NJZCh0LGUscyksdGhpcy5wYXJzZUNsYXNzU3VwZXIodCksdC5ib2R5PXRoaXMucGFyc2VDbGFzc0JvZHkoISF0LnN1cGVyQ2xhc3MsaSksdGhpcy5maW5pc2hOb2RlKHQsZT9cIkNsYXNzRGVjbGFyYXRpb25cIjpcIkNsYXNzRXhwcmVzc2lvblwiKX1pc0NsYXNzUHJvcGVydHkoKXtyZXR1cm4gdGhpcy5tYXRjaCgyOSl8fHRoaXMubWF0Y2goMTMpfHx0aGlzLm1hdGNoKDgpfWlzQ2xhc3NNZXRob2QoKXtyZXR1cm4gdGhpcy5tYXRjaCgxMCl9bmFtZUlzQ29uc3RydWN0b3IodCl7cmV0dXJuIHQudHlwZT09PVwiSWRlbnRpZmllclwiJiZ0Lm5hbWU9PT1cImNvbnN0cnVjdG9yXCJ8fHQudHlwZT09PVwiU3RyaW5nTGl0ZXJhbFwiJiZ0LnZhbHVlPT09XCJjb25zdHJ1Y3RvclwifWlzTm9uc3RhdGljQ29uc3RydWN0b3IodCl7cmV0dXJuIXQuY29tcHV0ZWQmJiF0LnN0YXRpYyYmdGhpcy5uYW1lSXNDb25zdHJ1Y3Rvcih0LmtleSl9cGFyc2VDbGFzc0JvZHkodCxlKXt0aGlzLmNsYXNzU2NvcGUuZW50ZXIoKTtsZXQgcz17aGFkQ29uc3RydWN0b3I6ITEsaGFkU3VwZXJDbGFzczp0fSxpPVtdLHI9dGhpcy5zdGFydE5vZGUoKTtpZihyLmJvZHk9W10sdGhpcy5leHBlY3QoNSksdGhpcy53aXRoU21hcnRNaXhUb3BpY0ZvcmJpZGRpbmdDb250ZXh0KCgpPT57Zm9yKDshdGhpcy5tYXRjaCg4KTspe2lmKHRoaXMuZWF0KDEzKSl7aWYoaS5sZW5ndGg+MCl0aHJvdyB0aGlzLnJhaXNlKHAuRGVjb3JhdG9yU2VtaWNvbG9uLHRoaXMuc3RhdGUubGFzdFRva0VuZExvYyk7Y29udGludWV9aWYodGhpcy5tYXRjaCgyNikpe2kucHVzaCh0aGlzLnBhcnNlRGVjb3JhdG9yKCkpO2NvbnRpbnVlfWxldCBuPXRoaXMuc3RhcnROb2RlKCk7aS5sZW5ndGgmJihuLmRlY29yYXRvcnM9aSx0aGlzLnJlc2V0U3RhcnRMb2NhdGlvbkZyb21Ob2RlKG4saVswXSksaT1bXSksdGhpcy5wYXJzZUNsYXNzTWVtYmVyKHIsbixzKSxuLmtpbmQ9PT1cImNvbnN0cnVjdG9yXCImJm4uZGVjb3JhdG9ycyYmbi5kZWNvcmF0b3JzLmxlbmd0aD4wJiZ0aGlzLnJhaXNlKHAuRGVjb3JhdG9yQ29uc3RydWN0b3Isbil9fSksdGhpcy5zdGF0ZS5zdHJpY3Q9ZSx0aGlzLm5leHQoKSxpLmxlbmd0aCl0aHJvdyB0aGlzLnJhaXNlKHAuVHJhaWxpbmdEZWNvcmF0b3IsdGhpcy5zdGF0ZS5zdGFydExvYyk7cmV0dXJuIHRoaXMuY2xhc3NTY29wZS5leGl0KCksdGhpcy5maW5pc2hOb2RlKHIsXCJDbGFzc0JvZHlcIil9cGFyc2VDbGFzc01lbWJlckZyb21Nb2RpZmllcih0LGUpe2xldCBzPXRoaXMucGFyc2VJZGVudGlmaWVyKCEwKTtpZih0aGlzLmlzQ2xhc3NNZXRob2QoKSl7bGV0IGk9ZTtyZXR1cm4gaS5raW5kPVwibWV0aG9kXCIsaS5jb21wdXRlZD0hMSxpLmtleT1zLGkuc3RhdGljPSExLHRoaXMucHVzaENsYXNzTWV0aG9kKHQsaSwhMSwhMSwhMSwhMSksITB9ZWxzZSBpZih0aGlzLmlzQ2xhc3NQcm9wZXJ0eSgpKXtsZXQgaT1lO3JldHVybiBpLmNvbXB1dGVkPSExLGkua2V5PXMsaS5zdGF0aWM9ITEsdC5ib2R5LnB1c2godGhpcy5wYXJzZUNsYXNzUHJvcGVydHkoaSkpLCEwfXJldHVybiB0aGlzLnJlc2V0UHJldmlvdXNOb2RlVHJhaWxpbmdDb21tZW50cyhzKSwhMX1wYXJzZUNsYXNzTWVtYmVyKHQsZSxzKXtsZXQgaT10aGlzLmlzQ29udGV4dHVhbCgxMDYpO2lmKGkpe2lmKHRoaXMucGFyc2VDbGFzc01lbWJlckZyb21Nb2RpZmllcih0LGUpKXJldHVybjtpZih0aGlzLmVhdCg1KSl7dGhpcy5wYXJzZUNsYXNzU3RhdGljQmxvY2sodCxlKTtyZXR1cm59fXRoaXMucGFyc2VDbGFzc01lbWJlcldpdGhJc1N0YXRpYyh0LGUscyxpKX1wYXJzZUNsYXNzTWVtYmVyV2l0aElzU3RhdGljKHQsZSxzLGkpe2xldCByPWUsbj1lLG89ZSxoPWUsbD1lLGM9cix1PXI7aWYoZS5zdGF0aWM9aSx0aGlzLnBhcnNlUHJvcGVydHlOYW1lUHJlZml4T3BlcmF0b3IoZSksdGhpcy5lYXQoNTUpKXtjLmtpbmQ9XCJtZXRob2RcIjtsZXQgdz10aGlzLm1hdGNoKDEzOSk7aWYodGhpcy5wYXJzZUNsYXNzRWxlbWVudE5hbWUoYyksdyl7dGhpcy5wdXNoQ2xhc3NQcml2YXRlTWV0aG9kKHQsbiwhMCwhMSk7cmV0dXJufXRoaXMuaXNOb25zdGF0aWNDb25zdHJ1Y3RvcihyKSYmdGhpcy5yYWlzZShwLkNvbnN0cnVjdG9ySXNHZW5lcmF0b3Isci5rZXkpLHRoaXMucHVzaENsYXNzTWV0aG9kKHQsciwhMCwhMSwhMSwhMSk7cmV0dXJufWxldCBmPSF0aGlzLnN0YXRlLmNvbnRhaW5zRXNjJiZDKHRoaXMuc3RhdGUudHlwZSksZD10aGlzLnBhcnNlQ2xhc3NFbGVtZW50TmFtZShlKSx4PWY/ZC5uYW1lOm51bGwsUz10aGlzLmlzUHJpdmF0ZU5hbWUoZCksTj10aGlzLnN0YXRlLnN0YXJ0TG9jO2lmKHRoaXMucGFyc2VQb3N0TWVtYmVyTmFtZU1vZGlmaWVycyh1KSx0aGlzLmlzQ2xhc3NNZXRob2QoKSl7aWYoYy5raW5kPVwibWV0aG9kXCIsUyl7dGhpcy5wdXNoQ2xhc3NQcml2YXRlTWV0aG9kKHQsbiwhMSwhMSk7cmV0dXJufWxldCB3PXRoaXMuaXNOb25zdGF0aWNDb25zdHJ1Y3RvcihyKSxJPSExO3cmJihyLmtpbmQ9XCJjb25zdHJ1Y3RvclwiLHMuaGFkQ29uc3RydWN0b3ImJiF0aGlzLmhhc1BsdWdpbihcInR5cGVzY3JpcHRcIikmJnRoaXMucmFpc2UocC5EdXBsaWNhdGVDb25zdHJ1Y3RvcixkKSx3JiZ0aGlzLmhhc1BsdWdpbihcInR5cGVzY3JpcHRcIikmJmUub3ZlcnJpZGUmJnRoaXMucmFpc2UocC5PdmVycmlkZU9uQ29uc3RydWN0b3IsZCkscy5oYWRDb25zdHJ1Y3Rvcj0hMCxJPXMuaGFkU3VwZXJDbGFzcyksdGhpcy5wdXNoQ2xhc3NNZXRob2QodCxyLCExLCExLHcsSSl9ZWxzZSBpZih0aGlzLmlzQ2xhc3NQcm9wZXJ0eSgpKVM/dGhpcy5wdXNoQ2xhc3NQcml2YXRlUHJvcGVydHkodCxoKTp0aGlzLnB1c2hDbGFzc1Byb3BlcnR5KHQsbyk7ZWxzZSBpZih4PT09XCJhc3luY1wiJiYhdGhpcy5pc0xpbmVUZXJtaW5hdG9yKCkpe3RoaXMucmVzZXRQcmV2aW91c05vZGVUcmFpbGluZ0NvbW1lbnRzKGQpO2xldCB3PXRoaXMuZWF0KDU1KTt1Lm9wdGlvbmFsJiZ0aGlzLnVuZXhwZWN0ZWQoTiksYy5raW5kPVwibWV0aG9kXCI7bGV0IEk9dGhpcy5tYXRjaCgxMzkpO3RoaXMucGFyc2VDbGFzc0VsZW1lbnROYW1lKGMpLHRoaXMucGFyc2VQb3N0TWVtYmVyTmFtZU1vZGlmaWVycyh1KSxJP3RoaXMucHVzaENsYXNzUHJpdmF0ZU1ldGhvZCh0LG4sdywhMCk6KHRoaXMuaXNOb25zdGF0aWNDb25zdHJ1Y3RvcihyKSYmdGhpcy5yYWlzZShwLkNvbnN0cnVjdG9ySXNBc3luYyxyLmtleSksdGhpcy5wdXNoQ2xhc3NNZXRob2QodCxyLHcsITAsITEsITEpKX1lbHNlIGlmKCh4PT09XCJnZXRcInx8eD09PVwic2V0XCIpJiYhKHRoaXMubWF0Y2goNTUpJiZ0aGlzLmlzTGluZVRlcm1pbmF0b3IoKSkpe3RoaXMucmVzZXRQcmV2aW91c05vZGVUcmFpbGluZ0NvbW1lbnRzKGQpLGMua2luZD14O2xldCB3PXRoaXMubWF0Y2goMTM5KTt0aGlzLnBhcnNlQ2xhc3NFbGVtZW50TmFtZShyKSx3P3RoaXMucHVzaENsYXNzUHJpdmF0ZU1ldGhvZCh0LG4sITEsITEpOih0aGlzLmlzTm9uc3RhdGljQ29uc3RydWN0b3IocikmJnRoaXMucmFpc2UocC5Db25zdHJ1Y3RvcklzQWNjZXNzb3Isci5rZXkpLHRoaXMucHVzaENsYXNzTWV0aG9kKHQsciwhMSwhMSwhMSwhMSkpLHRoaXMuY2hlY2tHZXR0ZXJTZXR0ZXJQYXJhbXMocil9ZWxzZSBpZih4PT09XCJhY2Nlc3NvclwiJiYhdGhpcy5pc0xpbmVUZXJtaW5hdG9yKCkpe3RoaXMuZXhwZWN0UGx1Z2luKFwiZGVjb3JhdG9yQXV0b0FjY2Vzc29yc1wiKSx0aGlzLnJlc2V0UHJldmlvdXNOb2RlVHJhaWxpbmdDb21tZW50cyhkKTtsZXQgdz10aGlzLm1hdGNoKDEzOSk7dGhpcy5wYXJzZUNsYXNzRWxlbWVudE5hbWUobyksdGhpcy5wdXNoQ2xhc3NBY2Nlc3NvclByb3BlcnR5KHQsbCx3KX1lbHNlIHRoaXMuaXNMaW5lVGVybWluYXRvcigpP1M/dGhpcy5wdXNoQ2xhc3NQcml2YXRlUHJvcGVydHkodCxoKTp0aGlzLnB1c2hDbGFzc1Byb3BlcnR5KHQsbyk6dGhpcy51bmV4cGVjdGVkKCl9cGFyc2VDbGFzc0VsZW1lbnROYW1lKHQpe2xldHt0eXBlOmUsdmFsdWU6c309dGhpcy5zdGF0ZTtpZigoZT09PTEzMnx8ZT09PTEzNCkmJnQuc3RhdGljJiZzPT09XCJwcm90b3R5cGVcIiYmdGhpcy5yYWlzZShwLlN0YXRpY1Byb3RvdHlwZSx0aGlzLnN0YXRlLnN0YXJ0TG9jKSxlPT09MTM5KXtzPT09XCJjb25zdHJ1Y3RvclwiJiZ0aGlzLnJhaXNlKHAuQ29uc3RydWN0b3JDbGFzc1ByaXZhdGVGaWVsZCx0aGlzLnN0YXRlLnN0YXJ0TG9jKTtsZXQgaT10aGlzLnBhcnNlUHJpdmF0ZU5hbWUoKTtyZXR1cm4gdC5rZXk9aSxpfXJldHVybiB0aGlzLnBhcnNlUHJvcGVydHlOYW1lKHQpLHQua2V5fXBhcnNlQ2xhc3NTdGF0aWNCbG9jayh0LGUpe3ZhciBzO3RoaXMuc2NvcGUuZW50ZXIoMjA4KTtsZXQgaT10aGlzLnN0YXRlLmxhYmVsczt0aGlzLnN0YXRlLmxhYmVscz1bXSx0aGlzLnByb2RQYXJhbS5lbnRlcigwKTtsZXQgcj1lLmJvZHk9W107dGhpcy5wYXJzZUJsb2NrT3JNb2R1bGVCbG9ja0JvZHkocix2b2lkIDAsITEsOCksdGhpcy5wcm9kUGFyYW0uZXhpdCgpLHRoaXMuc2NvcGUuZXhpdCgpLHRoaXMuc3RhdGUubGFiZWxzPWksdC5ib2R5LnB1c2godGhpcy5maW5pc2hOb2RlKGUsXCJTdGF0aWNCbG9ja1wiKSksKHM9ZS5kZWNvcmF0b3JzKSE9bnVsbCYmcy5sZW5ndGgmJnRoaXMucmFpc2UocC5EZWNvcmF0b3JTdGF0aWNCbG9jayxlKX1wdXNoQ2xhc3NQcm9wZXJ0eSh0LGUpeyFlLmNvbXB1dGVkJiZ0aGlzLm5hbWVJc0NvbnN0cnVjdG9yKGUua2V5KSYmdGhpcy5yYWlzZShwLkNvbnN0cnVjdG9yQ2xhc3NGaWVsZCxlLmtleSksdC5ib2R5LnB1c2godGhpcy5wYXJzZUNsYXNzUHJvcGVydHkoZSkpfXB1c2hDbGFzc1ByaXZhdGVQcm9wZXJ0eSh0LGUpe2xldCBzPXRoaXMucGFyc2VDbGFzc1ByaXZhdGVQcm9wZXJ0eShlKTt0LmJvZHkucHVzaChzKSx0aGlzLmNsYXNzU2NvcGUuZGVjbGFyZVByaXZhdGVOYW1lKHRoaXMuZ2V0UHJpdmF0ZU5hbWVTVihzLmtleSksMCxzLmtleS5sb2Muc3RhcnQpfXB1c2hDbGFzc0FjY2Vzc29yUHJvcGVydHkodCxlLHMpeyFzJiYhZS5jb21wdXRlZCYmdGhpcy5uYW1lSXNDb25zdHJ1Y3RvcihlLmtleSkmJnRoaXMucmFpc2UocC5Db25zdHJ1Y3RvckNsYXNzRmllbGQsZS5rZXkpO2xldCBpPXRoaXMucGFyc2VDbGFzc0FjY2Vzc29yUHJvcGVydHkoZSk7dC5ib2R5LnB1c2goaSkscyYmdGhpcy5jbGFzc1Njb3BlLmRlY2xhcmVQcml2YXRlTmFtZSh0aGlzLmdldFByaXZhdGVOYW1lU1YoaS5rZXkpLDAsaS5rZXkubG9jLnN0YXJ0KX1wdXNoQ2xhc3NNZXRob2QodCxlLHMsaSxyLG4pe3QuYm9keS5wdXNoKHRoaXMucGFyc2VNZXRob2QoZSxzLGkscixuLFwiQ2xhc3NNZXRob2RcIiwhMCkpfXB1c2hDbGFzc1ByaXZhdGVNZXRob2QodCxlLHMsaSl7bGV0IHI9dGhpcy5wYXJzZU1ldGhvZChlLHMsaSwhMSwhMSxcIkNsYXNzUHJpdmF0ZU1ldGhvZFwiLCEwKTt0LmJvZHkucHVzaChyKTtsZXQgbj1yLmtpbmQ9PT1cImdldFwiP3Iuc3RhdGljPzY6MjpyLmtpbmQ9PT1cInNldFwiP3Iuc3RhdGljPzU6MTowO3RoaXMuZGVjbGFyZUNsYXNzUHJpdmF0ZU1ldGhvZEluU2NvcGUocixuKX1kZWNsYXJlQ2xhc3NQcml2YXRlTWV0aG9kSW5TY29wZSh0LGUpe3RoaXMuY2xhc3NTY29wZS5kZWNsYXJlUHJpdmF0ZU5hbWUodGhpcy5nZXRQcml2YXRlTmFtZVNWKHQua2V5KSxlLHQua2V5LmxvYy5zdGFydCl9cGFyc2VQb3N0TWVtYmVyTmFtZU1vZGlmaWVycyh0KXt9cGFyc2VDbGFzc1ByaXZhdGVQcm9wZXJ0eSh0KXtyZXR1cm4gdGhpcy5wYXJzZUluaXRpYWxpemVyKHQpLHRoaXMuc2VtaWNvbG9uKCksdGhpcy5maW5pc2hOb2RlKHQsXCJDbGFzc1ByaXZhdGVQcm9wZXJ0eVwiKX1wYXJzZUNsYXNzUHJvcGVydHkodCl7cmV0dXJuIHRoaXMucGFyc2VJbml0aWFsaXplcih0KSx0aGlzLnNlbWljb2xvbigpLHRoaXMuZmluaXNoTm9kZSh0LFwiQ2xhc3NQcm9wZXJ0eVwiKX1wYXJzZUNsYXNzQWNjZXNzb3JQcm9wZXJ0eSh0KXtyZXR1cm4gdGhpcy5wYXJzZUluaXRpYWxpemVyKHQpLHRoaXMuc2VtaWNvbG9uKCksdGhpcy5maW5pc2hOb2RlKHQsXCJDbGFzc0FjY2Vzc29yUHJvcGVydHlcIil9cGFyc2VJbml0aWFsaXplcih0KXt0aGlzLnNjb3BlLmVudGVyKDgwKSx0aGlzLmV4cHJlc3Npb25TY29wZS5lbnRlcihadCgpKSx0aGlzLnByb2RQYXJhbS5lbnRlcigwKSx0LnZhbHVlPXRoaXMuZWF0KDI5KT90aGlzLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKCk6bnVsbCx0aGlzLmV4cHJlc3Npb25TY29wZS5leGl0KCksdGhpcy5wcm9kUGFyYW0uZXhpdCgpLHRoaXMuc2NvcGUuZXhpdCgpfXBhcnNlQ2xhc3NJZCh0LGUscyxpPTgzMzEpe2lmKEModGhpcy5zdGF0ZS50eXBlKSl0LmlkPXRoaXMucGFyc2VJZGVudGlmaWVyKCksZSYmdGhpcy5kZWNsYXJlTmFtZUZyb21JZGVudGlmaWVyKHQuaWQsaSk7ZWxzZSBpZihzfHwhZSl0LmlkPW51bGw7ZWxzZSB0aHJvdyB0aGlzLnJhaXNlKHAuTWlzc2luZ0NsYXNzTmFtZSx0aGlzLnN0YXRlLnN0YXJ0TG9jKX1wYXJzZUNsYXNzU3VwZXIodCl7dC5zdXBlckNsYXNzPXRoaXMuZWF0KDgxKT90aGlzLnBhcnNlRXhwclN1YnNjcmlwdHMoKTpudWxsfXBhcnNlRXhwb3J0KHQsZSl7bGV0IHM9dGhpcy5wYXJzZU1heWJlSW1wb3J0UGhhc2UodCwhMCksaT10aGlzLm1heWJlUGFyc2VFeHBvcnREZWZhdWx0U3BlY2lmaWVyKHQscykscj0haXx8dGhpcy5lYXQoMTIpLG49ciYmdGhpcy5lYXRFeHBvcnRTdGFyKHQpLG89biYmdGhpcy5tYXliZVBhcnNlRXhwb3J0TmFtZXNwYWNlU3BlY2lmaWVyKHQpLGg9ciYmKCFvfHx0aGlzLmVhdCgxMikpLGw9aXx8bjtpZihuJiYhbyl7aWYoaSYmdGhpcy51bmV4cGVjdGVkKCksZSl0aHJvdyB0aGlzLnJhaXNlKHAuVW5zdXBwb3J0ZWREZWNvcmF0b3JFeHBvcnQsdCk7cmV0dXJuIHRoaXMucGFyc2VFeHBvcnRGcm9tKHQsITApLHRoaXMuZmluaXNoTm9kZSh0LFwiRXhwb3J0QWxsRGVjbGFyYXRpb25cIil9bGV0IGM9dGhpcy5tYXliZVBhcnNlRXhwb3J0TmFtZWRTcGVjaWZpZXJzKHQpO2kmJnImJiFuJiYhYyYmdGhpcy51bmV4cGVjdGVkKG51bGwsNSksbyYmaCYmdGhpcy51bmV4cGVjdGVkKG51bGwsOTgpO2xldCB1O2lmKGx8fGMpe2lmKHU9ITEsZSl0aHJvdyB0aGlzLnJhaXNlKHAuVW5zdXBwb3J0ZWREZWNvcmF0b3JFeHBvcnQsdCk7dGhpcy5wYXJzZUV4cG9ydEZyb20odCxsKX1lbHNlIHU9dGhpcy5tYXliZVBhcnNlRXhwb3J0RGVjbGFyYXRpb24odCk7aWYobHx8Y3x8dSl7dmFyIGY7bGV0IGQ9dDtpZih0aGlzLmNoZWNrRXhwb3J0KGQsITAsITEsISFkLnNvdXJjZSksKChmPWQuZGVjbGFyYXRpb24pPT1udWxsP3ZvaWQgMDpmLnR5cGUpPT09XCJDbGFzc0RlY2xhcmF0aW9uXCIpdGhpcy5tYXliZVRha2VEZWNvcmF0b3JzKGUsZC5kZWNsYXJhdGlvbixkKTtlbHNlIGlmKGUpdGhyb3cgdGhpcy5yYWlzZShwLlVuc3VwcG9ydGVkRGVjb3JhdG9yRXhwb3J0LHQpO3JldHVybiB0aGlzLmZpbmlzaE5vZGUoZCxcIkV4cG9ydE5hbWVkRGVjbGFyYXRpb25cIil9aWYodGhpcy5lYXQoNjUpKXtsZXQgZD10LHg9dGhpcy5wYXJzZUV4cG9ydERlZmF1bHRFeHByZXNzaW9uKCk7aWYoZC5kZWNsYXJhdGlvbj14LHgudHlwZT09PVwiQ2xhc3NEZWNsYXJhdGlvblwiKXRoaXMubWF5YmVUYWtlRGVjb3JhdG9ycyhlLHgsZCk7ZWxzZSBpZihlKXRocm93IHRoaXMucmFpc2UocC5VbnN1cHBvcnRlZERlY29yYXRvckV4cG9ydCx0KTtyZXR1cm4gdGhpcy5jaGVja0V4cG9ydChkLCEwLCEwKSx0aGlzLmZpbmlzaE5vZGUoZCxcIkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblwiKX10aGlzLnVuZXhwZWN0ZWQobnVsbCw1KX1lYXRFeHBvcnRTdGFyKHQpe3JldHVybiB0aGlzLmVhdCg1NSl9bWF5YmVQYXJzZUV4cG9ydERlZmF1bHRTcGVjaWZpZXIodCxlKXtpZihlfHx0aGlzLmlzRXhwb3J0RGVmYXVsdFNwZWNpZmllcigpKXt0aGlzLmV4cGVjdFBsdWdpbihcImV4cG9ydERlZmF1bHRGcm9tXCIsZT09bnVsbD92b2lkIDA6ZS5sb2Muc3RhcnQpO2xldCBzPWV8fHRoaXMucGFyc2VJZGVudGlmaWVyKCEwKSxpPXRoaXMuc3RhcnROb2RlQXROb2RlKHMpO3JldHVybiBpLmV4cG9ydGVkPXMsdC5zcGVjaWZpZXJzPVt0aGlzLmZpbmlzaE5vZGUoaSxcIkV4cG9ydERlZmF1bHRTcGVjaWZpZXJcIildLCEwfXJldHVybiExfW1heWJlUGFyc2VFeHBvcnROYW1lc3BhY2VTcGVjaWZpZXIodCl7aWYodGhpcy5pc0NvbnRleHR1YWwoOTMpKXt2YXIgZSxzOyhzPShlPXQpLnNwZWNpZmllcnMpIT1udWxsfHwoZS5zcGVjaWZpZXJzPVtdKTtsZXQgaT10aGlzLnN0YXJ0Tm9kZUF0KHRoaXMuc3RhdGUubGFzdFRva1N0YXJ0TG9jKTtyZXR1cm4gdGhpcy5uZXh0KCksaS5leHBvcnRlZD10aGlzLnBhcnNlTW9kdWxlRXhwb3J0TmFtZSgpLHQuc3BlY2lmaWVycy5wdXNoKHRoaXMuZmluaXNoTm9kZShpLFwiRXhwb3J0TmFtZXNwYWNlU3BlY2lmaWVyXCIpKSwhMH1yZXR1cm4hMX1tYXliZVBhcnNlRXhwb3J0TmFtZWRTcGVjaWZpZXJzKHQpe2lmKHRoaXMubWF0Y2goNSkpe2xldCBlPXQ7ZS5zcGVjaWZpZXJzfHwoZS5zcGVjaWZpZXJzPVtdKTtsZXQgcz1lLmV4cG9ydEtpbmQ9PT1cInR5cGVcIjtyZXR1cm4gZS5zcGVjaWZpZXJzLnB1c2goLi4udGhpcy5wYXJzZUV4cG9ydFNwZWNpZmllcnMocykpLGUuc291cmNlPW51bGwsZS5kZWNsYXJhdGlvbj1udWxsLHRoaXMuaGFzUGx1Z2luKFwiaW1wb3J0QXNzZXJ0aW9uc1wiKSYmKGUuYXNzZXJ0aW9ucz1bXSksITB9cmV0dXJuITF9bWF5YmVQYXJzZUV4cG9ydERlY2xhcmF0aW9uKHQpe3JldHVybiB0aGlzLnNob3VsZFBhcnNlRXhwb3J0RGVjbGFyYXRpb24oKT8odC5zcGVjaWZpZXJzPVtdLHQuc291cmNlPW51bGwsdGhpcy5oYXNQbHVnaW4oXCJpbXBvcnRBc3NlcnRpb25zXCIpJiYodC5hc3NlcnRpb25zPVtdKSx0LmRlY2xhcmF0aW9uPXRoaXMucGFyc2VFeHBvcnREZWNsYXJhdGlvbih0KSwhMCk6ITF9aXNBc3luY0Z1bmN0aW9uKCl7aWYoIXRoaXMuaXNDb250ZXh0dWFsKDk1KSlyZXR1cm4hMTtsZXQgdD10aGlzLm5leHRUb2tlbkluTGluZVN0YXJ0KCk7cmV0dXJuIHRoaXMuaXNVbnBhcnNlZENvbnRleHR1YWwodCxcImZ1bmN0aW9uXCIpfXBhcnNlRXhwb3J0RGVmYXVsdEV4cHJlc3Npb24oKXtsZXQgdD10aGlzLnN0YXJ0Tm9kZSgpO2lmKHRoaXMubWF0Y2goNjgpKXJldHVybiB0aGlzLm5leHQoKSx0aGlzLnBhcnNlRnVuY3Rpb24odCw1KTtpZih0aGlzLmlzQXN5bmNGdW5jdGlvbigpKXJldHVybiB0aGlzLm5leHQoKSx0aGlzLm5leHQoKSx0aGlzLnBhcnNlRnVuY3Rpb24odCwxMyk7aWYodGhpcy5tYXRjaCg4MCkpcmV0dXJuIHRoaXMucGFyc2VDbGFzcyh0LCEwLCEwKTtpZih0aGlzLm1hdGNoKDI2KSlyZXR1cm4gdGhpcy5oYXNQbHVnaW4oXCJkZWNvcmF0b3JzXCIpJiZ0aGlzLmdldFBsdWdpbk9wdGlvbihcImRlY29yYXRvcnNcIixcImRlY29yYXRvcnNCZWZvcmVFeHBvcnRcIik9PT0hMCYmdGhpcy5yYWlzZShwLkRlY29yYXRvckJlZm9yZUV4cG9ydCx0aGlzLnN0YXRlLnN0YXJ0TG9jKSx0aGlzLnBhcnNlQ2xhc3ModGhpcy5tYXliZVRha2VEZWNvcmF0b3JzKHRoaXMucGFyc2VEZWNvcmF0b3JzKCExKSx0aGlzLnN0YXJ0Tm9kZSgpKSwhMCwhMCk7aWYodGhpcy5tYXRjaCg3NSl8fHRoaXMubWF0Y2goNzQpfHx0aGlzLmlzTGV0KCkpdGhyb3cgdGhpcy5yYWlzZShwLlVuc3VwcG9ydGVkRGVmYXVsdEV4cG9ydCx0aGlzLnN0YXRlLnN0YXJ0TG9jKTtsZXQgZT10aGlzLnBhcnNlTWF5YmVBc3NpZ25BbGxvd0luKCk7cmV0dXJuIHRoaXMuc2VtaWNvbG9uKCksZX1wYXJzZUV4cG9ydERlY2xhcmF0aW9uKHQpe3JldHVybiB0aGlzLm1hdGNoKDgwKT90aGlzLnBhcnNlQ2xhc3ModGhpcy5zdGFydE5vZGUoKSwhMCwhMSk6dGhpcy5wYXJzZVN0YXRlbWVudExpc3RJdGVtKCl9aXNFeHBvcnREZWZhdWx0U3BlY2lmaWVyKCl7bGV0e3R5cGU6dH09dGhpcy5zdGF0ZTtpZihDKHQpKXtpZih0PT09OTUmJiF0aGlzLnN0YXRlLmNvbnRhaW5zRXNjfHx0PT09MTAwKXJldHVybiExO2lmKCh0PT09MTMwfHx0PT09MTI5KSYmIXRoaXMuc3RhdGUuY29udGFpbnNFc2Mpe2xldHt0eXBlOml9PXRoaXMubG9va2FoZWFkKCk7aWYoQyhpKSYmaSE9PTk4fHxpPT09NSlyZXR1cm4gdGhpcy5leHBlY3RPbmVQbHVnaW4oW1wiZmxvd1wiLFwidHlwZXNjcmlwdFwiXSksITF9fWVsc2UgaWYoIXRoaXMubWF0Y2goNjUpKXJldHVybiExO2xldCBlPXRoaXMubmV4dFRva2VuU3RhcnQoKSxzPXRoaXMuaXNVbnBhcnNlZENvbnRleHR1YWwoZSxcImZyb21cIik7aWYodGhpcy5pbnB1dC5jaGFyQ29kZUF0KGUpPT09NDR8fEModGhpcy5zdGF0ZS50eXBlKSYmcylyZXR1cm4hMDtpZih0aGlzLm1hdGNoKDY1KSYmcyl7bGV0IGk9dGhpcy5pbnB1dC5jaGFyQ29kZUF0KHRoaXMubmV4dFRva2VuU3RhcnRTaW5jZShlKzQpKTtyZXR1cm4gaT09PTM0fHxpPT09Mzl9cmV0dXJuITF9cGFyc2VFeHBvcnRGcm9tKHQsZSl7dGhpcy5lYXRDb250ZXh0dWFsKDk4KT8odC5zb3VyY2U9dGhpcy5wYXJzZUltcG9ydFNvdXJjZSgpLHRoaXMuY2hlY2tFeHBvcnQodCksdGhpcy5tYXliZVBhcnNlSW1wb3J0QXR0cmlidXRlcyh0KSx0aGlzLmNoZWNrSlNPTk1vZHVsZUltcG9ydCh0KSk6ZSYmdGhpcy51bmV4cGVjdGVkKCksdGhpcy5zZW1pY29sb24oKX1zaG91bGRQYXJzZUV4cG9ydERlY2xhcmF0aW9uKCl7bGV0e3R5cGU6dH09dGhpcy5zdGF0ZTtyZXR1cm4gdD09PTI2JiYodGhpcy5leHBlY3RPbmVQbHVnaW4oW1wiZGVjb3JhdG9yc1wiLFwiZGVjb3JhdG9ycy1sZWdhY3lcIl0pLHRoaXMuaGFzUGx1Z2luKFwiZGVjb3JhdG9yc1wiKSk/KHRoaXMuZ2V0UGx1Z2luT3B0aW9uKFwiZGVjb3JhdG9yc1wiLFwiZGVjb3JhdG9yc0JlZm9yZUV4cG9ydFwiKT09PSEwJiZ0aGlzLnJhaXNlKHAuRGVjb3JhdG9yQmVmb3JlRXhwb3J0LHRoaXMuc3RhdGUuc3RhcnRMb2MpLCEwKTp0aGlzLmlzQ29udGV4dHVhbCgxMDcpPyh0aGlzLnJhaXNlKHAuVXNpbmdEZWNsYXJhdGlvbkV4cG9ydCx0aGlzLnN0YXRlLnN0YXJ0TG9jKSwhMCk6dGhpcy5pc0NvbnRleHR1YWwoOTYpJiZ0aGlzLnN0YXJ0c0F3YWl0VXNpbmcoKT8odGhpcy5yYWlzZShwLlVzaW5nRGVjbGFyYXRpb25FeHBvcnQsdGhpcy5zdGF0ZS5zdGFydExvYyksITApOnQ9PT03NHx8dD09PTc1fHx0PT09Njh8fHQ9PT04MHx8dGhpcy5pc0xldCgpfHx0aGlzLmlzQXN5bmNGdW5jdGlvbigpfWNoZWNrRXhwb3J0KHQsZSxzLGkpe2lmKGUpe3ZhciByO2lmKHMpe2lmKHRoaXMuY2hlY2tEdXBsaWNhdGVFeHBvcnRzKHQsXCJkZWZhdWx0XCIpLHRoaXMuaGFzUGx1Z2luKFwiZXhwb3J0RGVmYXVsdEZyb21cIikpe3ZhciBuO2xldCBvPXQuZGVjbGFyYXRpb247by50eXBlPT09XCJJZGVudGlmaWVyXCImJm8ubmFtZT09PVwiZnJvbVwiJiZvLmVuZC1vLnN0YXJ0PT09NCYmISgobj1vLmV4dHJhKSE9bnVsbCYmbi5wYXJlbnRoZXNpemVkKSYmdGhpcy5yYWlzZShwLkV4cG9ydERlZmF1bHRGcm9tQXNJZGVudGlmaWVyLG8pfX1lbHNlIGlmKChyPXQuc3BlY2lmaWVycykhPW51bGwmJnIubGVuZ3RoKWZvcihsZXQgbyBvZiB0LnNwZWNpZmllcnMpe2xldHtleHBvcnRlZDpofT1vLGw9aC50eXBlPT09XCJJZGVudGlmaWVyXCI/aC5uYW1lOmgudmFsdWU7aWYodGhpcy5jaGVja0R1cGxpY2F0ZUV4cG9ydHMobyxsKSwhaSYmby5sb2NhbCl7bGV0e2xvY2FsOmN9PW87Yy50eXBlIT09XCJJZGVudGlmaWVyXCI/dGhpcy5yYWlzZShwLkV4cG9ydEJpbmRpbmdJc1N0cmluZyxvLHtsb2NhbE5hbWU6Yy52YWx1ZSxleHBvcnROYW1lOmx9KToodGhpcy5jaGVja1Jlc2VydmVkV29yZChjLm5hbWUsYy5sb2Muc3RhcnQsITAsITEpLHRoaXMuc2NvcGUuY2hlY2tMb2NhbEV4cG9ydChjKSl9fWVsc2UgaWYodC5kZWNsYXJhdGlvbil7bGV0IG89dC5kZWNsYXJhdGlvbjtpZihvLnR5cGU9PT1cIkZ1bmN0aW9uRGVjbGFyYXRpb25cInx8by50eXBlPT09XCJDbGFzc0RlY2xhcmF0aW9uXCIpe2xldHtpZDpofT1vO2lmKCFoKXRocm93IG5ldyBFcnJvcihcIkFzc2VydGlvbiBmYWlsdXJlXCIpO3RoaXMuY2hlY2tEdXBsaWNhdGVFeHBvcnRzKHQsaC5uYW1lKX1lbHNlIGlmKG8udHlwZT09PVwiVmFyaWFibGVEZWNsYXJhdGlvblwiKWZvcihsZXQgaCBvZiBvLmRlY2xhcmF0aW9ucyl0aGlzLmNoZWNrRGVjbGFyYXRpb24oaC5pZCl9fX1jaGVja0RlY2xhcmF0aW9uKHQpe2lmKHQudHlwZT09PVwiSWRlbnRpZmllclwiKXRoaXMuY2hlY2tEdXBsaWNhdGVFeHBvcnRzKHQsdC5uYW1lKTtlbHNlIGlmKHQudHlwZT09PVwiT2JqZWN0UGF0dGVyblwiKWZvcihsZXQgZSBvZiB0LnByb3BlcnRpZXMpdGhpcy5jaGVja0RlY2xhcmF0aW9uKGUpO2Vsc2UgaWYodC50eXBlPT09XCJBcnJheVBhdHRlcm5cIilmb3IobGV0IGUgb2YgdC5lbGVtZW50cyllJiZ0aGlzLmNoZWNrRGVjbGFyYXRpb24oZSk7ZWxzZSB0LnR5cGU9PT1cIk9iamVjdFByb3BlcnR5XCI/dGhpcy5jaGVja0RlY2xhcmF0aW9uKHQudmFsdWUpOnQudHlwZT09PVwiUmVzdEVsZW1lbnRcIj90aGlzLmNoZWNrRGVjbGFyYXRpb24odC5hcmd1bWVudCk6dC50eXBlPT09XCJBc3NpZ25tZW50UGF0dGVyblwiJiZ0aGlzLmNoZWNrRGVjbGFyYXRpb24odC5sZWZ0KX1jaGVja0R1cGxpY2F0ZUV4cG9ydHModCxlKXt0aGlzLmV4cG9ydGVkSWRlbnRpZmllcnMuaGFzKGUpJiYoZT09PVwiZGVmYXVsdFwiP3RoaXMucmFpc2UocC5EdXBsaWNhdGVEZWZhdWx0RXhwb3J0LHQpOnRoaXMucmFpc2UocC5EdXBsaWNhdGVFeHBvcnQsdCx7ZXhwb3J0TmFtZTplfSkpLHRoaXMuZXhwb3J0ZWRJZGVudGlmaWVycy5hZGQoZSl9cGFyc2VFeHBvcnRTcGVjaWZpZXJzKHQpe2xldCBlPVtdLHM9ITA7Zm9yKHRoaXMuZXhwZWN0KDUpOyF0aGlzLmVhdCg4KTspe2lmKHMpcz0hMTtlbHNlIGlmKHRoaXMuZXhwZWN0KDEyKSx0aGlzLmVhdCg4KSlicmVhaztsZXQgaT10aGlzLmlzQ29udGV4dHVhbCgxMzApLHI9dGhpcy5tYXRjaCgxMzQpLG49dGhpcy5zdGFydE5vZGUoKTtuLmxvY2FsPXRoaXMucGFyc2VNb2R1bGVFeHBvcnROYW1lKCksZS5wdXNoKHRoaXMucGFyc2VFeHBvcnRTcGVjaWZpZXIobixyLHQsaSkpfXJldHVybiBlfXBhcnNlRXhwb3J0U3BlY2lmaWVyKHQsZSxzLGkpe3JldHVybiB0aGlzLmVhdENvbnRleHR1YWwoOTMpP3QuZXhwb3J0ZWQ9dGhpcy5wYXJzZU1vZHVsZUV4cG9ydE5hbWUoKTplP3QuZXhwb3J0ZWQ9TWkodC5sb2NhbCk6dC5leHBvcnRlZHx8KHQuZXhwb3J0ZWQ9Xyh0LmxvY2FsKSksdGhpcy5maW5pc2hOb2RlKHQsXCJFeHBvcnRTcGVjaWZpZXJcIil9cGFyc2VNb2R1bGVFeHBvcnROYW1lKCl7aWYodGhpcy5tYXRjaCgxMzQpKXtsZXQgdD10aGlzLnBhcnNlU3RyaW5nTGl0ZXJhbCh0aGlzLnN0YXRlLnZhbHVlKSxlPXRyLmV4ZWModC52YWx1ZSk7cmV0dXJuIGUmJnRoaXMucmFpc2UocC5Nb2R1bGVFeHBvcnROYW1lSGFzTG9uZVN1cnJvZ2F0ZSx0LHtzdXJyb2dhdGVDaGFyQ29kZTplWzBdLmNoYXJDb2RlQXQoMCl9KSx0fXJldHVybiB0aGlzLnBhcnNlSWRlbnRpZmllcighMCl9aXNKU09OTW9kdWxlSW1wb3J0KHQpe3JldHVybiB0LmFzc2VydGlvbnMhPW51bGw/dC5hc3NlcnRpb25zLnNvbWUoKHtrZXk6ZSx2YWx1ZTpzfSk9PnMudmFsdWU9PT1cImpzb25cIiYmKGUudHlwZT09PVwiSWRlbnRpZmllclwiP2UubmFtZT09PVwidHlwZVwiOmUudmFsdWU9PT1cInR5cGVcIikpOiExfWNoZWNrSW1wb3J0UmVmbGVjdGlvbih0KXtsZXR7c3BlY2lmaWVyczplfT10LHM9ZS5sZW5ndGg9PT0xP2VbMF0udHlwZTpudWxsO2lmKHQucGhhc2U9PT1cInNvdXJjZVwiKXMhPT1cIkltcG9ydERlZmF1bHRTcGVjaWZpZXJcIiYmdGhpcy5yYWlzZShwLlNvdXJjZVBoYXNlSW1wb3J0UmVxdWlyZXNEZWZhdWx0LGVbMF0ubG9jLnN0YXJ0KTtlbHNlIGlmKHQucGhhc2U9PT1cImRlZmVyXCIpcyE9PVwiSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyXCImJnRoaXMucmFpc2UocC5EZWZlckltcG9ydFJlcXVpcmVzTmFtZXNwYWNlLGVbMF0ubG9jLnN0YXJ0KTtlbHNlIGlmKHQubW9kdWxlKXt2YXIgaTtzIT09XCJJbXBvcnREZWZhdWx0U3BlY2lmaWVyXCImJnRoaXMucmFpc2UocC5JbXBvcnRSZWZsZWN0aW9uTm90QmluZGluZyxlWzBdLmxvYy5zdGFydCksKChpPXQuYXNzZXJ0aW9ucyk9PW51bGw/dm9pZCAwOmkubGVuZ3RoKT4wJiZ0aGlzLnJhaXNlKHAuSW1wb3J0UmVmbGVjdGlvbkhhc0Fzc2VydGlvbixlWzBdLmxvYy5zdGFydCl9fWNoZWNrSlNPTk1vZHVsZUltcG9ydCh0KXtpZih0aGlzLmlzSlNPTk1vZHVsZUltcG9ydCh0KSYmdC50eXBlIT09XCJFeHBvcnRBbGxEZWNsYXJhdGlvblwiKXtsZXR7c3BlY2lmaWVyczplfT10O2lmKGUhPW51bGwpe2xldCBzPWUuZmluZChpPT57bGV0IHI7aWYoaS50eXBlPT09XCJFeHBvcnRTcGVjaWZpZXJcIj9yPWkubG9jYWw6aS50eXBlPT09XCJJbXBvcnRTcGVjaWZpZXJcIiYmKHI9aS5pbXBvcnRlZCksciE9PXZvaWQgMClyZXR1cm4gci50eXBlPT09XCJJZGVudGlmaWVyXCI/ci5uYW1lIT09XCJkZWZhdWx0XCI6ci52YWx1ZSE9PVwiZGVmYXVsdFwifSk7cyE9PXZvaWQgMCYmdGhpcy5yYWlzZShwLkltcG9ydEpTT05CaW5kaW5nTm90RGVmYXVsdCxzLmxvYy5zdGFydCl9fX1pc1BvdGVudGlhbEltcG9ydFBoYXNlKHQpe3JldHVybiB0PyExOnRoaXMuaXNDb250ZXh0dWFsKDEwNSl8fHRoaXMuaXNDb250ZXh0dWFsKDk3KXx8dGhpcy5pc0NvbnRleHR1YWwoMTI3KX1hcHBseUltcG9ydFBoYXNlKHQsZSxzLGkpe2V8fChzPT09XCJtb2R1bGVcIj8odGhpcy5leHBlY3RQbHVnaW4oXCJpbXBvcnRSZWZsZWN0aW9uXCIsaSksdC5tb2R1bGU9ITApOnRoaXMuaGFzUGx1Z2luKFwiaW1wb3J0UmVmbGVjdGlvblwiKSYmKHQubW9kdWxlPSExKSxzPT09XCJzb3VyY2VcIj8odGhpcy5leHBlY3RQbHVnaW4oXCJzb3VyY2VQaGFzZUltcG9ydHNcIixpKSx0LnBoYXNlPVwic291cmNlXCIpOnM9PT1cImRlZmVyXCI/KHRoaXMuZXhwZWN0UGx1Z2luKFwiZGVmZXJyZWRJbXBvcnRFdmFsdWF0aW9uXCIsaSksdC5waGFzZT1cImRlZmVyXCIpOnRoaXMuaGFzUGx1Z2luKFwic291cmNlUGhhc2VJbXBvcnRzXCIpJiYodC5waGFzZT1udWxsKSl9cGFyc2VNYXliZUltcG9ydFBoYXNlKHQsZSl7aWYoIXRoaXMuaXNQb3RlbnRpYWxJbXBvcnRQaGFzZShlKSlyZXR1cm4gdGhpcy5hcHBseUltcG9ydFBoYXNlKHQsZSxudWxsKSxudWxsO2xldCBzPXRoaXMucGFyc2VJZGVudGlmaWVyKCEwKSx7dHlwZTppfT10aGlzLnN0YXRlO3JldHVybihEKGkpP2khPT05OHx8dGhpcy5sb29rYWhlYWRDaGFyQ29kZSgpPT09MTAyOmkhPT0xMik/KHRoaXMucmVzZXRQcmV2aW91c0lkZW50aWZpZXJMZWFkaW5nQ29tbWVudHMocyksdGhpcy5hcHBseUltcG9ydFBoYXNlKHQsZSxzLm5hbWUscy5sb2Muc3RhcnQpLG51bGwpOih0aGlzLmFwcGx5SW1wb3J0UGhhc2UodCxlLG51bGwpLHMpfWlzUHJlY2VkaW5nSWRJbXBvcnRQaGFzZSh0KXtsZXR7dHlwZTplfT10aGlzLnN0YXRlO3JldHVybiBDKGUpP2UhPT05OHx8dGhpcy5sb29rYWhlYWRDaGFyQ29kZSgpPT09MTAyOmUhPT0xMn1wYXJzZUltcG9ydCh0KXtyZXR1cm4gdGhpcy5tYXRjaCgxMzQpP3RoaXMucGFyc2VJbXBvcnRTb3VyY2VBbmRBdHRyaWJ1dGVzKHQpOnRoaXMucGFyc2VJbXBvcnRTcGVjaWZpZXJzQW5kQWZ0ZXIodCx0aGlzLnBhcnNlTWF5YmVJbXBvcnRQaGFzZSh0LCExKSl9cGFyc2VJbXBvcnRTcGVjaWZpZXJzQW5kQWZ0ZXIodCxlKXt0LnNwZWNpZmllcnM9W107bGV0IGk9IXRoaXMubWF5YmVQYXJzZURlZmF1bHRJbXBvcnRTcGVjaWZpZXIodCxlKXx8dGhpcy5lYXQoMTIpLHI9aSYmdGhpcy5tYXliZVBhcnNlU3RhckltcG9ydFNwZWNpZmllcih0KTtyZXR1cm4gaSYmIXImJnRoaXMucGFyc2VOYW1lZEltcG9ydFNwZWNpZmllcnModCksdGhpcy5leHBlY3RDb250ZXh0dWFsKDk4KSx0aGlzLnBhcnNlSW1wb3J0U291cmNlQW5kQXR0cmlidXRlcyh0KX1wYXJzZUltcG9ydFNvdXJjZUFuZEF0dHJpYnV0ZXModCl7dmFyIGU7cmV0dXJuKGU9dC5zcGVjaWZpZXJzKSE9bnVsbHx8KHQuc3BlY2lmaWVycz1bXSksdC5zb3VyY2U9dGhpcy5wYXJzZUltcG9ydFNvdXJjZSgpLHRoaXMubWF5YmVQYXJzZUltcG9ydEF0dHJpYnV0ZXModCksdGhpcy5jaGVja0ltcG9ydFJlZmxlY3Rpb24odCksdGhpcy5jaGVja0pTT05Nb2R1bGVJbXBvcnQodCksdGhpcy5zZW1pY29sb24oKSx0aGlzLmZpbmlzaE5vZGUodCxcIkltcG9ydERlY2xhcmF0aW9uXCIpfXBhcnNlSW1wb3J0U291cmNlKCl7cmV0dXJuIHRoaXMubWF0Y2goMTM0KXx8dGhpcy51bmV4cGVjdGVkKCksdGhpcy5wYXJzZUV4cHJBdG9tKCl9cGFyc2VJbXBvcnRTcGVjaWZpZXJMb2NhbCh0LGUscyl7ZS5sb2NhbD10aGlzLnBhcnNlSWRlbnRpZmllcigpLHQuc3BlY2lmaWVycy5wdXNoKHRoaXMuZmluaXNoSW1wb3J0U3BlY2lmaWVyKGUscykpfWZpbmlzaEltcG9ydFNwZWNpZmllcih0LGUscz04MjAxKXtyZXR1cm4gdGhpcy5jaGVja0xWYWwodC5sb2NhbCx7dHlwZTplfSxzKSx0aGlzLmZpbmlzaE5vZGUodCxlKX1wYXJzZUltcG9ydEF0dHJpYnV0ZXMoKXt0aGlzLmV4cGVjdCg1KTtsZXQgdD1bXSxlPW5ldyBTZXQ7ZG97aWYodGhpcy5tYXRjaCg4KSlicmVhaztsZXQgcz10aGlzLnN0YXJ0Tm9kZSgpLGk9dGhpcy5zdGF0ZS52YWx1ZTtpZihlLmhhcyhpKSYmdGhpcy5yYWlzZShwLk1vZHVsZUF0dHJpYnV0ZXNXaXRoRHVwbGljYXRlS2V5cyx0aGlzLnN0YXRlLnN0YXJ0TG9jLHtrZXk6aX0pLGUuYWRkKGkpLHRoaXMubWF0Y2goMTM0KT9zLmtleT10aGlzLnBhcnNlU3RyaW5nTGl0ZXJhbChpKTpzLmtleT10aGlzLnBhcnNlSWRlbnRpZmllcighMCksdGhpcy5leHBlY3QoMTQpLCF0aGlzLm1hdGNoKDEzNCkpdGhyb3cgdGhpcy5yYWlzZShwLk1vZHVsZUF0dHJpYnV0ZUludmFsaWRWYWx1ZSx0aGlzLnN0YXRlLnN0YXJ0TG9jKTtzLnZhbHVlPXRoaXMucGFyc2VTdHJpbmdMaXRlcmFsKHRoaXMuc3RhdGUudmFsdWUpLHQucHVzaCh0aGlzLmZpbmlzaE5vZGUocyxcIkltcG9ydEF0dHJpYnV0ZVwiKSl9d2hpbGUodGhpcy5lYXQoMTIpKTtyZXR1cm4gdGhpcy5leHBlY3QoOCksdH1wYXJzZU1vZHVsZUF0dHJpYnV0ZXMoKXtsZXQgdD1bXSxlPW5ldyBTZXQ7ZG97bGV0IHM9dGhpcy5zdGFydE5vZGUoKTtpZihzLmtleT10aGlzLnBhcnNlSWRlbnRpZmllcighMCkscy5rZXkubmFtZSE9PVwidHlwZVwiJiZ0aGlzLnJhaXNlKHAuTW9kdWxlQXR0cmlidXRlRGlmZmVyZW50RnJvbVR5cGUscy5rZXkpLGUuaGFzKHMua2V5Lm5hbWUpJiZ0aGlzLnJhaXNlKHAuTW9kdWxlQXR0cmlidXRlc1dpdGhEdXBsaWNhdGVLZXlzLHMua2V5LHtrZXk6cy5rZXkubmFtZX0pLGUuYWRkKHMua2V5Lm5hbWUpLHRoaXMuZXhwZWN0KDE0KSwhdGhpcy5tYXRjaCgxMzQpKXRocm93IHRoaXMucmFpc2UocC5Nb2R1bGVBdHRyaWJ1dGVJbnZhbGlkVmFsdWUsdGhpcy5zdGF0ZS5zdGFydExvYyk7cy52YWx1ZT10aGlzLnBhcnNlU3RyaW5nTGl0ZXJhbCh0aGlzLnN0YXRlLnZhbHVlKSx0LnB1c2godGhpcy5maW5pc2hOb2RlKHMsXCJJbXBvcnRBdHRyaWJ1dGVcIikpfXdoaWxlKHRoaXMuZWF0KDEyKSk7cmV0dXJuIHR9bWF5YmVQYXJzZUltcG9ydEF0dHJpYnV0ZXModCl7bGV0IGU7dmFyIHM9ITE7aWYodGhpcy5tYXRjaCg3Nikpe2lmKHRoaXMuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkmJnRoaXMubG9va2FoZWFkQ2hhckNvZGUoKT09PTQwKXJldHVybjt0aGlzLm5leHQoKSx0aGlzLmhhc1BsdWdpbihcIm1vZHVsZUF0dHJpYnV0ZXNcIik/ZT10aGlzLnBhcnNlTW9kdWxlQXR0cmlidXRlcygpOmU9dGhpcy5wYXJzZUltcG9ydEF0dHJpYnV0ZXMoKSxzPSEwfWVsc2UgdGhpcy5pc0NvbnRleHR1YWwoOTQpJiYhdGhpcy5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKT8oIXRoaXMuaGFzUGx1Z2luKFwiZGVwcmVjYXRlZEltcG9ydEFzc2VydFwiKSYmIXRoaXMuaGFzUGx1Z2luKFwiaW1wb3J0QXNzZXJ0aW9uc1wiKSYmdGhpcy5yYWlzZShwLkltcG9ydEF0dHJpYnV0ZXNVc2VBc3NlcnQsdGhpcy5zdGF0ZS5zdGFydExvYyksdGhpcy5oYXNQbHVnaW4oXCJpbXBvcnRBc3NlcnRpb25zXCIpfHx0aGlzLmFkZEV4dHJhKHQsXCJkZXByZWNhdGVkQXNzZXJ0U3ludGF4XCIsITApLHRoaXMubmV4dCgpLGU9dGhpcy5wYXJzZUltcG9ydEF0dHJpYnV0ZXMoKSk6ZT1bXTshcyYmdGhpcy5oYXNQbHVnaW4oXCJpbXBvcnRBc3NlcnRpb25zXCIpP3QuYXNzZXJ0aW9ucz1lOnQuYXR0cmlidXRlcz1lfW1heWJlUGFyc2VEZWZhdWx0SW1wb3J0U3BlY2lmaWVyKHQsZSl7aWYoZSl7bGV0IHM9dGhpcy5zdGFydE5vZGVBdE5vZGUoZSk7cmV0dXJuIHMubG9jYWw9ZSx0LnNwZWNpZmllcnMucHVzaCh0aGlzLmZpbmlzaEltcG9ydFNwZWNpZmllcihzLFwiSW1wb3J0RGVmYXVsdFNwZWNpZmllclwiKSksITB9ZWxzZSBpZihEKHRoaXMuc3RhdGUudHlwZSkpcmV0dXJuIHRoaXMucGFyc2VJbXBvcnRTcGVjaWZpZXJMb2NhbCh0LHRoaXMuc3RhcnROb2RlKCksXCJJbXBvcnREZWZhdWx0U3BlY2lmaWVyXCIpLCEwO3JldHVybiExfW1heWJlUGFyc2VTdGFySW1wb3J0U3BlY2lmaWVyKHQpe2lmKHRoaXMubWF0Y2goNTUpKXtsZXQgZT10aGlzLnN0YXJ0Tm9kZSgpO3JldHVybiB0aGlzLm5leHQoKSx0aGlzLmV4cGVjdENvbnRleHR1YWwoOTMpLHRoaXMucGFyc2VJbXBvcnRTcGVjaWZpZXJMb2NhbCh0LGUsXCJJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXJcIiksITB9cmV0dXJuITF9cGFyc2VOYW1lZEltcG9ydFNwZWNpZmllcnModCl7bGV0IGU9ITA7Zm9yKHRoaXMuZXhwZWN0KDUpOyF0aGlzLmVhdCg4KTspe2lmKGUpZT0hMTtlbHNle2lmKHRoaXMuZWF0KDE0KSl0aHJvdyB0aGlzLnJhaXNlKHAuRGVzdHJ1Y3R1cmVOYW1lZEltcG9ydCx0aGlzLnN0YXRlLnN0YXJ0TG9jKTtpZih0aGlzLmV4cGVjdCgxMiksdGhpcy5lYXQoOCkpYnJlYWt9bGV0IHM9dGhpcy5zdGFydE5vZGUoKSxpPXRoaXMubWF0Y2goMTM0KSxyPXRoaXMuaXNDb250ZXh0dWFsKDEzMCk7cy5pbXBvcnRlZD10aGlzLnBhcnNlTW9kdWxlRXhwb3J0TmFtZSgpO2xldCBuPXRoaXMucGFyc2VJbXBvcnRTcGVjaWZpZXIocyxpLHQuaW1wb3J0S2luZD09PVwidHlwZVwifHx0LmltcG9ydEtpbmQ9PT1cInR5cGVvZlwiLHIsdm9pZCAwKTt0LnNwZWNpZmllcnMucHVzaChuKX19cGFyc2VJbXBvcnRTcGVjaWZpZXIodCxlLHMsaSxyKXtpZih0aGlzLmVhdENvbnRleHR1YWwoOTMpKXQubG9jYWw9dGhpcy5wYXJzZUlkZW50aWZpZXIoKTtlbHNle2xldHtpbXBvcnRlZDpufT10O2lmKGUpdGhyb3cgdGhpcy5yYWlzZShwLkltcG9ydEJpbmRpbmdJc1N0cmluZyx0LHtpbXBvcnROYW1lOm4udmFsdWV9KTt0aGlzLmNoZWNrUmVzZXJ2ZWRXb3JkKG4ubmFtZSx0LmxvYy5zdGFydCwhMCwhMCksdC5sb2NhbHx8KHQubG9jYWw9XyhuKSl9cmV0dXJuIHRoaXMuZmluaXNoSW1wb3J0U3BlY2lmaWVyKHQsXCJJbXBvcnRTcGVjaWZpZXJcIixyKX1pc1RoaXNQYXJhbSh0KXtyZXR1cm4gdC50eXBlPT09XCJJZGVudGlmaWVyXCImJnQubmFtZT09PVwidGhpc1wifX0sa2U9Y2xhc3MgZXh0ZW5kcyBodHtjb25zdHJ1Y3Rvcih0LGUscyl7dD1aaSh0KSxzdXBlcih0LGUpLHRoaXMub3B0aW9ucz10LHRoaXMuaW5pdGlhbGl6ZVNjb3BlcygpLHRoaXMucGx1Z2lucz1zLHRoaXMuZmlsZW5hbWU9dC5zb3VyY2VGaWxlbmFtZSx0aGlzLnN0YXJ0SW5kZXg9dC5zdGFydEluZGV4fWdldFNjb3BlSGFuZGxlcigpe3JldHVybiBmZX1wYXJzZSgpe3RoaXMuZW50ZXJJbml0aWFsU2NvcGVzKCk7bGV0IHQ9dGhpcy5zdGFydE5vZGUoKSxlPXRoaXMuc3RhcnROb2RlKCk7cmV0dXJuIHRoaXMubmV4dFRva2VuKCksdC5lcnJvcnM9bnVsbCx0aGlzLnBhcnNlVG9wTGV2ZWwodCxlKSx0LmVycm9ycz10aGlzLnN0YXRlLmVycm9ycyx0LmNvbW1lbnRzLmxlbmd0aD10aGlzLnN0YXRlLmNvbW1lbnRzTGVuLHR9fTtmdW5jdGlvbiBpcihhLHQpe3ZhciBlO2lmKCgoZT10KT09bnVsbD92b2lkIDA6ZS5zb3VyY2VUeXBlKT09PVwidW5hbWJpZ3VvdXNcIil7dD1PYmplY3QuYXNzaWduKHt9LHQpO3RyeXt0LnNvdXJjZVR5cGU9XCJtb2R1bGVcIjtsZXQgcz1jZSh0LGEpLGk9cy5wYXJzZSgpO2lmKHMuc2F3VW5hbWJpZ3VvdXNFU00pcmV0dXJuIGk7aWYocy5hbWJpZ3VvdXNTY3JpcHREaWZmZXJlbnRBc3QpdHJ5e3JldHVybiB0LnNvdXJjZVR5cGU9XCJzY3JpcHRcIixjZSh0LGEpLnBhcnNlKCl9Y2F0Y2h7fWVsc2UgaS5wcm9ncmFtLnNvdXJjZVR5cGU9XCJzY3JpcHRcIjtyZXR1cm4gaX1jYXRjaChzKXt0cnl7cmV0dXJuIHQuc291cmNlVHlwZT1cInNjcmlwdFwiLGNlKHQsYSkucGFyc2UoKX1jYXRjaHt9dGhyb3cgc319ZWxzZSByZXR1cm4gY2UodCxhKS5wYXJzZSgpfWZ1bmN0aW9uIHJyKGEsdCl7bGV0IGU9Y2UodCxhKTtyZXR1cm4gZS5vcHRpb25zLnN0cmljdE1vZGUmJihlLnN0YXRlLnN0cmljdD0hMCksZS5nZXRFeHByZXNzaW9uKCl9ZnVuY3Rpb24gYXIoYSl7bGV0IHQ9e307Zm9yKGxldCBlIG9mIE9iamVjdC5rZXlzKGEpKXRbZV09RihhW2VdKTtyZXR1cm4gdH12YXIgbnI9YXIodGkpO2Z1bmN0aW9uIGNlKGEsdCl7bGV0IGU9a2Uscz1uZXcgTWFwO2lmKGEhPW51bGwmJmEucGx1Z2lucyl7Zm9yKGxldCBpIG9mIGEucGx1Z2lucyl7bGV0IHIsbjt0eXBlb2YgaT09XCJzdHJpbmdcIj9yPWk6W3Isbl09aSxzLmhhcyhyKXx8cy5zZXQocixufHx7fSl9R2kocyksZT1vcihzKX1yZXR1cm4gbmV3IGUoYSx0LHMpfXZhciB6dD1uZXcgTWFwO2Z1bmN0aW9uIG9yKGEpe2xldCB0PVtdO2ZvcihsZXQgaSBvZiBZaSlhLmhhcyhpKSYmdC5wdXNoKGkpO2xldCBlPXQuam9pbihcInxcIikscz16dC5nZXQoZSk7aWYoIXMpe3M9a2U7Zm9yKGxldCBpIG9mIHQpcz1pc1tpXShzKTt6dC5zZXQoZSxzKX1yZXR1cm4gc31tZS5wYXJzZT1pcjttZS5wYXJzZUV4cHJlc3Npb249cnI7bWUudG9rVHlwZXM9bnJ9KTt2YXIgRXQ9e307enMoRXQse3BhcnNlcnM6KCk9PkhyfSk7dmFyIEJlPUl0KGd0KCksMSk7ZnVuY3Rpb24gdmUoYSl7cmV0dXJuKHQsZSxzKT0+e2xldCBpPSEhKHMhPW51bGwmJnMuYmFja3dhcmRzKTtpZihlPT09ITEpcmV0dXJuITE7bGV0e2xlbmd0aDpyfT10LG49ZTtmb3IoO24+PTAmJm48cjspe2xldCBvPXQuY2hhckF0KG4pO2lmKGEgaW5zdGFuY2VvZiBSZWdFeHApe2lmKCFhLnRlc3QobykpcmV0dXJuIG59ZWxzZSBpZighYS5pbmNsdWRlcyhvKSlyZXR1cm4gbjtpP24tLTpuKyt9cmV0dXJuIG49PT0tMXx8bj09PXI/bjohMX19dmFyIHRhPXZlKC9cXHMvdSkscnM9dmUoXCIgXHRcIiksc2E9dmUoXCIsOyBcdFwiKSxhcz12ZSgvW15cXG5cXHJdL3UpO2Z1bmN0aW9uIGhyKGEsdCl7aWYodD09PSExKXJldHVybiExO2lmKGEuY2hhckF0KHQpPT09XCIvXCImJmEuY2hhckF0KHQrMSk9PT1cIipcIil7Zm9yKGxldCBlPXQrMjtlPGEubGVuZ3RoOysrZSlpZihhLmNoYXJBdChlKT09PVwiKlwiJiZhLmNoYXJBdChlKzEpPT09XCIvXCIpcmV0dXJuIGUrMn1yZXR1cm4gdH12YXIgbnM9aHI7ZnVuY3Rpb24gbHIoYSx0LGUpe2xldCBzPSEhKGUhPW51bGwmJmUuYmFja3dhcmRzKTtpZih0PT09ITEpcmV0dXJuITE7bGV0IGk9YS5jaGFyQXQodCk7aWYocyl7aWYoYS5jaGFyQXQodC0xKT09PVwiXFxyXCImJmk9PT1gXG5gKXJldHVybiB0LTI7aWYoaT09PWBcbmB8fGk9PT1cIlxcclwifHxpPT09XCJcXHUyMDI4XCJ8fGk9PT1cIlxcdTIwMjlcIilyZXR1cm4gdC0xfWVsc2V7aWYoaT09PVwiXFxyXCImJmEuY2hhckF0KHQrMSk9PT1gXG5gKXJldHVybiB0KzI7aWYoaT09PWBcbmB8fGk9PT1cIlxcclwifHxpPT09XCJcXHUyMDI4XCJ8fGk9PT1cIlxcdTIwMjlcIilyZXR1cm4gdCsxfXJldHVybiB0fXZhciBvcz1scjtmdW5jdGlvbiBjcihhLHQpe3JldHVybiB0PT09ITE/ITE6YS5jaGFyQXQodCk9PT1cIi9cIiYmYS5jaGFyQXQodCsxKT09PVwiL1wiP2FzKGEsdCk6dH12YXIgaHM9Y3I7ZnVuY3Rpb24gcHIoYSx0KXtsZXQgZT1udWxsLHM9dDtmb3IoO3MhPT1lOyllPXMscz1ycyhhLHMpLHM9bnMoYSxzKSxzPWhzKGEscykscz1vcyhhLHMpO3JldHVybiBzfXZhciBscz1wcjtmdW5jdGlvbiB1cihhKXtsZXQgdD1bXTtmb3IobGV0IGUgb2YgYSl0cnl7cmV0dXJuIGUoKX1jYXRjaChzKXt0LnB1c2gocyl9dGhyb3cgT2JqZWN0LmFzc2lnbihuZXcgRXJyb3IoXCJBbGwgY29tYmluYXRpb25zIGZhaWxlZFwiKSx7ZXJyb3JzOnR9KX12YXIgY3M9dXI7ZnVuY3Rpb24gZnIoYSl7aWYoIWEuc3RhcnRzV2l0aChcIiMhXCIpKXJldHVyblwiXCI7bGV0IHQ9YS5pbmRleE9mKGBcbmApO3JldHVybiB0PT09LTE/YTphLnNsaWNlKDAsdCl9dmFyIExlPWZyO3ZhciBkcj0oYSx0LGUpPT57aWYoIShhJiZ0PT1udWxsKSlyZXR1cm4gQXJyYXkuaXNBcnJheSh0KXx8dHlwZW9mIHQ9PVwic3RyaW5nXCI/dFtlPDA/dC5sZW5ndGgrZTplXTp0LmF0KGUpfSxUdD1kcjtmdW5jdGlvbiBtcihhKXtyZXR1cm4gQXJyYXkuaXNBcnJheShhKSYmYS5sZW5ndGg+MH12YXIgeWU9bXI7ZnVuY3Rpb24gTChhKXt2YXIgcyxpLHI7bGV0IHQ9KChzPWEucmFuZ2UpPT1udWxsP3ZvaWQgMDpzWzBdKT8/YS5zdGFydCxlPShyPSgoaT1hLmRlY2xhcmF0aW9uKT09bnVsbD92b2lkIDA6aS5kZWNvcmF0b3JzKT8/YS5kZWNvcmF0b3JzKT09bnVsbD92b2lkIDA6clswXTtyZXR1cm4gZT9NYXRoLm1pbihMKGUpLHQpOnR9ZnVuY3Rpb24gaihhKXt2YXIgdDtyZXR1cm4oKHQ9YS5yYW5nZSk9PW51bGw/dm9pZCAwOnRbMV0pPz9hLmVuZH1mdW5jdGlvbiB5cihhKXtsZXQgdD1uZXcgU2V0KGEpO3JldHVybiBlPT50LmhhcyhlPT1udWxsP3ZvaWQgMDplLnR5cGUpfXZhciBwcz15cjt2YXIgeHI9cHMoW1wiQmxvY2tcIixcIkNvbW1lbnRCbG9ja1wiLFwiTXVsdGlMaW5lXCJdKSx4ZT14cjtmdW5jdGlvbiBQcihhKXtsZXQgdD1gKiR7YS52YWx1ZX0qYC5zcGxpdChgXG5gKTtyZXR1cm4gdC5sZW5ndGg+MSYmdC5ldmVyeShlPT5lLnRyaW1TdGFydCgpWzBdPT09XCIqXCIpfXZhciBidD1QcjtmdW5jdGlvbiBncihhKXtyZXR1cm4geGUoYSkmJmEudmFsdWVbMF09PT1cIipcIiYmL0AoPzp0eXBlfHNhdGlzZmllcylcXGIvdS50ZXN0KGEudmFsdWUpfXZhciB1cz1ncjt2YXIgUGU9bnVsbDtmdW5jdGlvbiBnZShhKXtpZihQZSE9PW51bGwmJnR5cGVvZiBQZS5wcm9wZXJ0eSl7bGV0IHQ9UGU7cmV0dXJuIFBlPWdlLnByb3RvdHlwZT1udWxsLHR9cmV0dXJuIFBlPWdlLnByb3RvdHlwZT1hPz9PYmplY3QuY3JlYXRlKG51bGwpLG5ldyBnZX12YXIgVHI9MTA7Zm9yKGxldCBhPTA7YTw9VHI7YSsrKWdlKCk7ZnVuY3Rpb24gQXQoYSl7cmV0dXJuIGdlKGEpfWZ1bmN0aW9uIGJyKGEsdD1cInR5cGVcIil7QXQoYSk7ZnVuY3Rpb24gZShzKXtsZXQgaT1zW3RdLHI9YVtpXTtpZighQXJyYXkuaXNBcnJheShyKSl0aHJvdyBPYmplY3QuYXNzaWduKG5ldyBFcnJvcihgTWlzc2luZyB2aXNpdG9yIGtleXMgZm9yICcke2l9Jy5gKSx7bm9kZTpzfSk7cmV0dXJuIHJ9cmV0dXJuIGV9dmFyIGZzPWJyO3ZhciBkcz17QXJyYXlFeHByZXNzaW9uOltcImVsZW1lbnRzXCJdLEFzc2lnbm1lbnRFeHByZXNzaW9uOltcImxlZnRcIixcInJpZ2h0XCJdLEJpbmFyeUV4cHJlc3Npb246W1wibGVmdFwiLFwicmlnaHRcIl0sSW50ZXJwcmV0ZXJEaXJlY3RpdmU6W10sRGlyZWN0aXZlOltcInZhbHVlXCJdLERpcmVjdGl2ZUxpdGVyYWw6W10sQmxvY2tTdGF0ZW1lbnQ6W1wiZGlyZWN0aXZlc1wiLFwiYm9keVwiXSxCcmVha1N0YXRlbWVudDpbXCJsYWJlbFwiXSxDYWxsRXhwcmVzc2lvbjpbXCJjYWxsZWVcIixcImFyZ3VtZW50c1wiLFwidHlwZVBhcmFtZXRlcnNcIixcInR5cGVBcmd1bWVudHNcIl0sQ2F0Y2hDbGF1c2U6W1wicGFyYW1cIixcImJvZHlcIl0sQ29uZGl0aW9uYWxFeHByZXNzaW9uOltcInRlc3RcIixcImNvbnNlcXVlbnRcIixcImFsdGVybmF0ZVwiXSxDb250aW51ZVN0YXRlbWVudDpbXCJsYWJlbFwiXSxEZWJ1Z2dlclN0YXRlbWVudDpbXSxEb1doaWxlU3RhdGVtZW50OltcImJvZHlcIixcInRlc3RcIl0sRW1wdHlTdGF0ZW1lbnQ6W10sRXhwcmVzc2lvblN0YXRlbWVudDpbXCJleHByZXNzaW9uXCJdLEZpbGU6W1wicHJvZ3JhbVwiXSxGb3JJblN0YXRlbWVudDpbXCJsZWZ0XCIsXCJyaWdodFwiLFwiYm9keVwiXSxGb3JTdGF0ZW1lbnQ6W1wiaW5pdFwiLFwidGVzdFwiLFwidXBkYXRlXCIsXCJib2R5XCJdLEZ1bmN0aW9uRGVjbGFyYXRpb246W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcImJvZHlcIixcInByZWRpY2F0ZVwiXSxGdW5jdGlvbkV4cHJlc3Npb246W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcImJvZHlcIl0sSWRlbnRpZmllcjpbXCJ0eXBlQW5ub3RhdGlvblwiLFwiZGVjb3JhdG9yc1wiXSxJZlN0YXRlbWVudDpbXCJ0ZXN0XCIsXCJjb25zZXF1ZW50XCIsXCJhbHRlcm5hdGVcIl0sTGFiZWxlZFN0YXRlbWVudDpbXCJsYWJlbFwiLFwiYm9keVwiXSxTdHJpbmdMaXRlcmFsOltdLE51bWVyaWNMaXRlcmFsOltdLE51bGxMaXRlcmFsOltdLEJvb2xlYW5MaXRlcmFsOltdLFJlZ0V4cExpdGVyYWw6W10sTG9naWNhbEV4cHJlc3Npb246W1wibGVmdFwiLFwicmlnaHRcIl0sTWVtYmVyRXhwcmVzc2lvbjpbXCJvYmplY3RcIixcInByb3BlcnR5XCJdLE5ld0V4cHJlc3Npb246W1wiY2FsbGVlXCIsXCJhcmd1bWVudHNcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJ0eXBlQXJndW1lbnRzXCJdLFByb2dyYW06W1wiZGlyZWN0aXZlc1wiLFwiYm9keVwiXSxPYmplY3RFeHByZXNzaW9uOltcInByb3BlcnRpZXNcIl0sT2JqZWN0TWV0aG9kOltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiLFwiYm9keVwiXSxPYmplY3RQcm9wZXJ0eTpbXCJrZXlcIixcInZhbHVlXCIsXCJkZWNvcmF0b3JzXCJdLFJlc3RFbGVtZW50OltcImFyZ3VtZW50XCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwiZGVjb3JhdG9yc1wiXSxSZXR1cm5TdGF0ZW1lbnQ6W1wiYXJndW1lbnRcIl0sU2VxdWVuY2VFeHByZXNzaW9uOltcImV4cHJlc3Npb25zXCJdLFBhcmVudGhlc2l6ZWRFeHByZXNzaW9uOltcImV4cHJlc3Npb25cIl0sU3dpdGNoQ2FzZTpbXCJ0ZXN0XCIsXCJjb25zZXF1ZW50XCJdLFN3aXRjaFN0YXRlbWVudDpbXCJkaXNjcmltaW5hbnRcIixcImNhc2VzXCJdLFRoaXNFeHByZXNzaW9uOltdLFRocm93U3RhdGVtZW50OltcImFyZ3VtZW50XCJdLFRyeVN0YXRlbWVudDpbXCJibG9ja1wiLFwiaGFuZGxlclwiLFwiZmluYWxpemVyXCJdLFVuYXJ5RXhwcmVzc2lvbjpbXCJhcmd1bWVudFwiXSxVcGRhdGVFeHByZXNzaW9uOltcImFyZ3VtZW50XCJdLFZhcmlhYmxlRGVjbGFyYXRpb246W1wiZGVjbGFyYXRpb25zXCJdLFZhcmlhYmxlRGVjbGFyYXRvcjpbXCJpZFwiLFwiaW5pdFwiXSxXaGlsZVN0YXRlbWVudDpbXCJ0ZXN0XCIsXCJib2R5XCJdLFdpdGhTdGF0ZW1lbnQ6W1wib2JqZWN0XCIsXCJib2R5XCJdLEFzc2lnbm1lbnRQYXR0ZXJuOltcImxlZnRcIixcInJpZ2h0XCIsXCJkZWNvcmF0b3JzXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxBcnJheVBhdHRlcm46W1wiZWxlbWVudHNcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJkZWNvcmF0b3JzXCJdLEFycm93RnVuY3Rpb25FeHByZXNzaW9uOltcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcImJvZHlcIixcInByZWRpY2F0ZVwiXSxDbGFzc0JvZHk6W1wiYm9keVwiXSxDbGFzc0V4cHJlc3Npb246W1wiZGVjb3JhdG9yc1wiLFwiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJzdXBlckNsYXNzXCIsXCJzdXBlclR5cGVQYXJhbWV0ZXJzXCIsXCJtaXhpbnNcIixcImltcGxlbWVudHNcIixcImJvZHlcIixcInN1cGVyVHlwZUFyZ3VtZW50c1wiXSxDbGFzc0RlY2xhcmF0aW9uOltcImRlY29yYXRvcnNcIixcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwic3VwZXJDbGFzc1wiLFwic3VwZXJUeXBlUGFyYW1ldGVyc1wiLFwibWl4aW5zXCIsXCJpbXBsZW1lbnRzXCIsXCJib2R5XCIsXCJzdXBlclR5cGVBcmd1bWVudHNcIl0sRXhwb3J0QWxsRGVjbGFyYXRpb246W1wic291cmNlXCIsXCJhdHRyaWJ1dGVzXCIsXCJleHBvcnRlZFwiXSxFeHBvcnREZWZhdWx0RGVjbGFyYXRpb246W1wiZGVjbGFyYXRpb25cIl0sRXhwb3J0TmFtZWREZWNsYXJhdGlvbjpbXCJkZWNsYXJhdGlvblwiLFwic3BlY2lmaWVyc1wiLFwic291cmNlXCIsXCJhdHRyaWJ1dGVzXCJdLEV4cG9ydFNwZWNpZmllcjpbXCJsb2NhbFwiLFwiZXhwb3J0ZWRcIl0sRm9yT2ZTdGF0ZW1lbnQ6W1wibGVmdFwiLFwicmlnaHRcIixcImJvZHlcIl0sSW1wb3J0RGVjbGFyYXRpb246W1wic3BlY2lmaWVyc1wiLFwic291cmNlXCIsXCJhdHRyaWJ1dGVzXCJdLEltcG9ydERlZmF1bHRTcGVjaWZpZXI6W1wibG9jYWxcIl0sSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyOltcImxvY2FsXCJdLEltcG9ydFNwZWNpZmllcjpbXCJpbXBvcnRlZFwiLFwibG9jYWxcIl0sSW1wb3J0RXhwcmVzc2lvbjpbXCJzb3VyY2VcIixcIm9wdGlvbnNcIl0sTWV0YVByb3BlcnR5OltcIm1ldGFcIixcInByb3BlcnR5XCJdLENsYXNzTWV0aG9kOltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiLFwiYm9keVwiXSxPYmplY3RQYXR0ZXJuOltcInByb3BlcnRpZXNcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJkZWNvcmF0b3JzXCJdLFNwcmVhZEVsZW1lbnQ6W1wiYXJndW1lbnRcIl0sU3VwZXI6W10sVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uOltcInRhZ1wiLFwidHlwZVBhcmFtZXRlcnNcIixcInF1YXNpXCIsXCJ0eXBlQXJndW1lbnRzXCJdLFRlbXBsYXRlRWxlbWVudDpbXSxUZW1wbGF0ZUxpdGVyYWw6W1wicXVhc2lzXCIsXCJleHByZXNzaW9uc1wiXSxZaWVsZEV4cHJlc3Npb246W1wiYXJndW1lbnRcIl0sQXdhaXRFeHByZXNzaW9uOltcImFyZ3VtZW50XCJdLEJpZ0ludExpdGVyYWw6W10sRXhwb3J0TmFtZXNwYWNlU3BlY2lmaWVyOltcImV4cG9ydGVkXCJdLE9wdGlvbmFsTWVtYmVyRXhwcmVzc2lvbjpbXCJvYmplY3RcIixcInByb3BlcnR5XCJdLE9wdGlvbmFsQ2FsbEV4cHJlc3Npb246W1wiY2FsbGVlXCIsXCJhcmd1bWVudHNcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJ0eXBlQXJndW1lbnRzXCJdLENsYXNzUHJvcGVydHk6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwidmFsdWVcIixcInZhcmlhbmNlXCJdLENsYXNzQWNjZXNzb3JQcm9wZXJ0eTpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJ2YWx1ZVwiXSxDbGFzc1ByaXZhdGVQcm9wZXJ0eTpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJ2YWx1ZVwiLFwidmFyaWFuY2VcIl0sQ2xhc3NQcml2YXRlTWV0aG9kOltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiLFwiYm9keVwiXSxQcml2YXRlTmFtZTpbXCJpZFwiXSxTdGF0aWNCbG9jazpbXCJib2R5XCJdLEFueVR5cGVBbm5vdGF0aW9uOltdLEFycmF5VHlwZUFubm90YXRpb246W1wiZWxlbWVudFR5cGVcIl0sQm9vbGVhblR5cGVBbm5vdGF0aW9uOltdLEJvb2xlYW5MaXRlcmFsVHlwZUFubm90YXRpb246W10sTnVsbExpdGVyYWxUeXBlQW5ub3RhdGlvbjpbXSxDbGFzc0ltcGxlbWVudHM6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCJdLERlY2xhcmVDbGFzczpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcImV4dGVuZHNcIixcIm1peGluc1wiLFwiaW1wbGVtZW50c1wiLFwiYm9keVwiXSxEZWNsYXJlRnVuY3Rpb246W1wiaWRcIixcInByZWRpY2F0ZVwiXSxEZWNsYXJlSW50ZXJmYWNlOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwiZXh0ZW5kc1wiLFwiYm9keVwiXSxEZWNsYXJlTW9kdWxlOltcImlkXCIsXCJib2R5XCJdLERlY2xhcmVNb2R1bGVFeHBvcnRzOltcInR5cGVBbm5vdGF0aW9uXCJdLERlY2xhcmVUeXBlQWxpYXM6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJyaWdodFwiXSxEZWNsYXJlT3BhcXVlVHlwZTpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInN1cGVydHlwZVwiXSxEZWNsYXJlVmFyaWFibGU6W1wiaWRcIl0sRGVjbGFyZUV4cG9ydERlY2xhcmF0aW9uOltcImRlY2xhcmF0aW9uXCIsXCJzcGVjaWZpZXJzXCIsXCJzb3VyY2VcIixcImF0dHJpYnV0ZXNcIl0sRGVjbGFyZUV4cG9ydEFsbERlY2xhcmF0aW9uOltcInNvdXJjZVwiLFwiYXR0cmlidXRlc1wiXSxEZWNsYXJlZFByZWRpY2F0ZTpbXCJ2YWx1ZVwiXSxFeGlzdHNUeXBlQW5ub3RhdGlvbjpbXSxGdW5jdGlvblR5cGVBbm5vdGF0aW9uOltcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJlc3RcIixcInJldHVyblR5cGVcIixcInRoaXNcIl0sRnVuY3Rpb25UeXBlUGFyYW06W1wibmFtZVwiLFwidHlwZUFubm90YXRpb25cIl0sR2VuZXJpY1R5cGVBbm5vdGF0aW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiXSxJbmZlcnJlZFByZWRpY2F0ZTpbXSxJbnRlcmZhY2VFeHRlbmRzOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiXSxJbnRlcmZhY2VEZWNsYXJhdGlvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcImV4dGVuZHNcIixcImJvZHlcIl0sSW50ZXJmYWNlVHlwZUFubm90YXRpb246W1wiZXh0ZW5kc1wiLFwiYm9keVwiXSxJbnRlcnNlY3Rpb25UeXBlQW5ub3RhdGlvbjpbXCJ0eXBlc1wiXSxNaXhlZFR5cGVBbm5vdGF0aW9uOltdLEVtcHR5VHlwZUFubm90YXRpb246W10sTnVsbGFibGVUeXBlQW5ub3RhdGlvbjpbXCJ0eXBlQW5ub3RhdGlvblwiXSxOdW1iZXJMaXRlcmFsVHlwZUFubm90YXRpb246W10sTnVtYmVyVHlwZUFubm90YXRpb246W10sT2JqZWN0VHlwZUFubm90YXRpb246W1wicHJvcGVydGllc1wiLFwiaW5kZXhlcnNcIixcImNhbGxQcm9wZXJ0aWVzXCIsXCJpbnRlcm5hbFNsb3RzXCJdLE9iamVjdFR5cGVJbnRlcm5hbFNsb3Q6W1wiaWRcIixcInZhbHVlXCJdLE9iamVjdFR5cGVDYWxsUHJvcGVydHk6W1widmFsdWVcIl0sT2JqZWN0VHlwZUluZGV4ZXI6W1widmFyaWFuY2VcIixcImlkXCIsXCJrZXlcIixcInZhbHVlXCJdLE9iamVjdFR5cGVQcm9wZXJ0eTpbXCJrZXlcIixcInZhbHVlXCIsXCJ2YXJpYW5jZVwiXSxPYmplY3RUeXBlU3ByZWFkUHJvcGVydHk6W1wiYXJndW1lbnRcIl0sT3BhcXVlVHlwZTpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInN1cGVydHlwZVwiLFwiaW1wbHR5cGVcIl0sUXVhbGlmaWVkVHlwZUlkZW50aWZpZXI6W1wicXVhbGlmaWNhdGlvblwiLFwiaWRcIl0sU3RyaW5nTGl0ZXJhbFR5cGVBbm5vdGF0aW9uOltdLFN0cmluZ1R5cGVBbm5vdGF0aW9uOltdLFN5bWJvbFR5cGVBbm5vdGF0aW9uOltdLFRoaXNUeXBlQW5ub3RhdGlvbjpbXSxUdXBsZVR5cGVBbm5vdGF0aW9uOltcInR5cGVzXCIsXCJlbGVtZW50VHlwZXNcIl0sVHlwZW9mVHlwZUFubm90YXRpb246W1wiYXJndW1lbnRcIixcInR5cGVBcmd1bWVudHNcIl0sVHlwZUFsaWFzOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicmlnaHRcIl0sVHlwZUFubm90YXRpb246W1widHlwZUFubm90YXRpb25cIl0sVHlwZUNhc3RFeHByZXNzaW9uOltcImV4cHJlc3Npb25cIixcInR5cGVBbm5vdGF0aW9uXCJdLFR5cGVQYXJhbWV0ZXI6W1wiYm91bmRcIixcImRlZmF1bHRcIixcInZhcmlhbmNlXCJdLFR5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvbjpbXCJwYXJhbXNcIl0sVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb246W1wicGFyYW1zXCJdLFVuaW9uVHlwZUFubm90YXRpb246W1widHlwZXNcIl0sVmFyaWFuY2U6W10sVm9pZFR5cGVBbm5vdGF0aW9uOltdLEVudW1EZWNsYXJhdGlvbjpbXCJpZFwiLFwiYm9keVwiXSxFbnVtQm9vbGVhbkJvZHk6W1wibWVtYmVyc1wiXSxFbnVtTnVtYmVyQm9keTpbXCJtZW1iZXJzXCJdLEVudW1TdHJpbmdCb2R5OltcIm1lbWJlcnNcIl0sRW51bVN5bWJvbEJvZHk6W1wibWVtYmVyc1wiXSxFbnVtQm9vbGVhbk1lbWJlcjpbXCJpZFwiLFwiaW5pdFwiXSxFbnVtTnVtYmVyTWVtYmVyOltcImlkXCIsXCJpbml0XCJdLEVudW1TdHJpbmdNZW1iZXI6W1wiaWRcIixcImluaXRcIl0sRW51bURlZmF1bHRlZE1lbWJlcjpbXCJpZFwiXSxJbmRleGVkQWNjZXNzVHlwZTpbXCJvYmplY3RUeXBlXCIsXCJpbmRleFR5cGVcIl0sT3B0aW9uYWxJbmRleGVkQWNjZXNzVHlwZTpbXCJvYmplY3RUeXBlXCIsXCJpbmRleFR5cGVcIl0sSlNYQXR0cmlidXRlOltcIm5hbWVcIixcInZhbHVlXCJdLEpTWENsb3NpbmdFbGVtZW50OltcIm5hbWVcIl0sSlNYRWxlbWVudDpbXCJvcGVuaW5nRWxlbWVudFwiLFwiY2hpbGRyZW5cIixcImNsb3NpbmdFbGVtZW50XCJdLEpTWEVtcHR5RXhwcmVzc2lvbjpbXSxKU1hFeHByZXNzaW9uQ29udGFpbmVyOltcImV4cHJlc3Npb25cIl0sSlNYU3ByZWFkQ2hpbGQ6W1wiZXhwcmVzc2lvblwiXSxKU1hJZGVudGlmaWVyOltdLEpTWE1lbWJlckV4cHJlc3Npb246W1wib2JqZWN0XCIsXCJwcm9wZXJ0eVwiXSxKU1hOYW1lc3BhY2VkTmFtZTpbXCJuYW1lc3BhY2VcIixcIm5hbWVcIl0sSlNYT3BlbmluZ0VsZW1lbnQ6W1wibmFtZVwiLFwiYXR0cmlidXRlc1wiLFwidHlwZUFyZ3VtZW50c1wiLFwidHlwZVBhcmFtZXRlcnNcIl0sSlNYU3ByZWFkQXR0cmlidXRlOltcImFyZ3VtZW50XCJdLEpTWFRleHQ6W10sSlNYRnJhZ21lbnQ6W1wib3BlbmluZ0ZyYWdtZW50XCIsXCJjaGlsZHJlblwiLFwiY2xvc2luZ0ZyYWdtZW50XCJdLEpTWE9wZW5pbmdGcmFnbWVudDpbXSxKU1hDbG9zaW5nRnJhZ21lbnQ6W10sTm9vcDpbXSxQbGFjZWhvbGRlcjpbXSxWOEludHJpbnNpY0lkZW50aWZpZXI6W10sQXJndW1lbnRQbGFjZWhvbGRlcjpbXSxCaW5kRXhwcmVzc2lvbjpbXCJvYmplY3RcIixcImNhbGxlZVwiXSxJbXBvcnRBdHRyaWJ1dGU6W1wia2V5XCIsXCJ2YWx1ZVwiXSxEZWNvcmF0b3I6W1wiZXhwcmVzc2lvblwiXSxEb0V4cHJlc3Npb246W1wiYm9keVwiXSxFeHBvcnREZWZhdWx0U3BlY2lmaWVyOltcImV4cG9ydGVkXCJdLFJlY29yZEV4cHJlc3Npb246W1wicHJvcGVydGllc1wiXSxUdXBsZUV4cHJlc3Npb246W1wiZWxlbWVudHNcIl0sTW9kdWxlRXhwcmVzc2lvbjpbXCJib2R5XCJdLFRvcGljUmVmZXJlbmNlOltdLFBpcGVsaW5lVG9waWNFeHByZXNzaW9uOltcImV4cHJlc3Npb25cIl0sUGlwZWxpbmVCYXJlRnVuY3Rpb246W1wiY2FsbGVlXCJdLFBpcGVsaW5lUHJpbWFyeVRvcGljUmVmZXJlbmNlOltdLFRTUGFyYW1ldGVyUHJvcGVydHk6W1wicGFyYW1ldGVyXCIsXCJkZWNvcmF0b3JzXCJdLFRTRGVjbGFyZUZ1bmN0aW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCJdLFRTRGVjbGFyZU1ldGhvZDpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIl0sVFNRdWFsaWZpZWROYW1lOltcImxlZnRcIixcInJpZ2h0XCJdLFRTQ2FsbFNpZ25hdHVyZURlY2xhcmF0aW9uOltcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbWV0ZXJzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCJdLFRTQ29uc3RydWN0U2lnbmF0dXJlRGVjbGFyYXRpb246W1widHlwZVBhcmFtZXRlcnNcIixcInBhcmFtZXRlcnNcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIl0sVFNQcm9wZXJ0eVNpZ25hdHVyZTpbXCJrZXlcIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTTWV0aG9kU2lnbmF0dXJlOltcImtleVwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtZXRlcnNcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIl0sVFNJbmRleFNpZ25hdHVyZTpbXCJwYXJhbWV0ZXJzXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUU0FueUtleXdvcmQ6W10sVFNCb29sZWFuS2V5d29yZDpbXSxUU0JpZ0ludEtleXdvcmQ6W10sVFNJbnRyaW5zaWNLZXl3b3JkOltdLFRTTmV2ZXJLZXl3b3JkOltdLFRTTnVsbEtleXdvcmQ6W10sVFNOdW1iZXJLZXl3b3JkOltdLFRTT2JqZWN0S2V5d29yZDpbXSxUU1N0cmluZ0tleXdvcmQ6W10sVFNTeW1ib2xLZXl3b3JkOltdLFRTVW5kZWZpbmVkS2V5d29yZDpbXSxUU1Vua25vd25LZXl3b3JkOltdLFRTVm9pZEtleXdvcmQ6W10sVFNUaGlzVHlwZTpbXSxUU0Z1bmN0aW9uVHlwZTpbXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1ldGVyc1wiLFwidHlwZUFubm90YXRpb25cIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiXSxUU0NvbnN0cnVjdG9yVHlwZTpbXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1ldGVyc1wiLFwidHlwZUFubm90YXRpb25cIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiXSxUU1R5cGVSZWZlcmVuY2U6W1widHlwZU5hbWVcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJ0eXBlQXJndW1lbnRzXCJdLFRTVHlwZVByZWRpY2F0ZTpbXCJwYXJhbWV0ZXJOYW1lXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUU1R5cGVRdWVyeTpbXCJleHByTmFtZVwiLFwidHlwZVBhcmFtZXRlcnNcIixcInR5cGVBcmd1bWVudHNcIl0sVFNUeXBlTGl0ZXJhbDpbXCJtZW1iZXJzXCJdLFRTQXJyYXlUeXBlOltcImVsZW1lbnRUeXBlXCJdLFRTVHVwbGVUeXBlOltcImVsZW1lbnRUeXBlc1wiXSxUU09wdGlvbmFsVHlwZTpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUU1Jlc3RUeXBlOltcInR5cGVBbm5vdGF0aW9uXCJdLFRTTmFtZWRUdXBsZU1lbWJlcjpbXCJsYWJlbFwiLFwiZWxlbWVudFR5cGVcIl0sVFNVbmlvblR5cGU6W1widHlwZXNcIl0sVFNJbnRlcnNlY3Rpb25UeXBlOltcInR5cGVzXCJdLFRTQ29uZGl0aW9uYWxUeXBlOltcImNoZWNrVHlwZVwiLFwiZXh0ZW5kc1R5cGVcIixcInRydWVUeXBlXCIsXCJmYWxzZVR5cGVcIl0sVFNJbmZlclR5cGU6W1widHlwZVBhcmFtZXRlclwiXSxUU1BhcmVudGhlc2l6ZWRUeXBlOltcInR5cGVBbm5vdGF0aW9uXCJdLFRTVHlwZU9wZXJhdG9yOltcInR5cGVBbm5vdGF0aW9uXCJdLFRTSW5kZXhlZEFjY2Vzc1R5cGU6W1wib2JqZWN0VHlwZVwiLFwiaW5kZXhUeXBlXCJdLFRTTWFwcGVkVHlwZTpbXCJ0eXBlUGFyYW1ldGVyXCIsXCJuYW1lVHlwZVwiLFwidHlwZUFubm90YXRpb25cIl0sVFNMaXRlcmFsVHlwZTpbXCJsaXRlcmFsXCJdLFRTRXhwcmVzc2lvbldpdGhUeXBlQXJndW1lbnRzOltcImV4cHJlc3Npb25cIixcInR5cGVQYXJhbWV0ZXJzXCJdLFRTSW50ZXJmYWNlRGVjbGFyYXRpb246W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJleHRlbmRzXCIsXCJib2R5XCJdLFRTSW50ZXJmYWNlQm9keTpbXCJib2R5XCJdLFRTVHlwZUFsaWFzRGVjbGFyYXRpb246W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUU0luc3RhbnRpYXRpb25FeHByZXNzaW9uOltcImV4cHJlc3Npb25cIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJ0eXBlQXJndW1lbnRzXCJdLFRTQXNFeHByZXNzaW9uOltcImV4cHJlc3Npb25cIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTU2F0aXNmaWVzRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUU1R5cGVBc3NlcnRpb246W1widHlwZUFubm90YXRpb25cIixcImV4cHJlc3Npb25cIl0sVFNFbnVtRGVjbGFyYXRpb246W1wiaWRcIixcIm1lbWJlcnNcIl0sVFNFbnVtTWVtYmVyOltcImlkXCIsXCJpbml0aWFsaXplclwiXSxUU01vZHVsZURlY2xhcmF0aW9uOltcImlkXCIsXCJib2R5XCJdLFRTTW9kdWxlQmxvY2s6W1wiYm9keVwiXSxUU0ltcG9ydFR5cGU6W1wiYXJndW1lbnRcIixcInF1YWxpZmllclwiLFwidHlwZVBhcmFtZXRlcnNcIixcInR5cGVBcmd1bWVudHNcIl0sVFNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbjpbXCJpZFwiLFwibW9kdWxlUmVmZXJlbmNlXCJdLFRTRXh0ZXJuYWxNb2R1bGVSZWZlcmVuY2U6W1wiZXhwcmVzc2lvblwiXSxUU05vbk51bGxFeHByZXNzaW9uOltcImV4cHJlc3Npb25cIl0sVFNFeHBvcnRBc3NpZ25tZW50OltcImV4cHJlc3Npb25cIl0sVFNOYW1lc3BhY2VFeHBvcnREZWNsYXJhdGlvbjpbXCJpZFwiXSxUU1R5cGVBbm5vdGF0aW9uOltcInR5cGVBbm5vdGF0aW9uXCJdLFRTVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb246W1wicGFyYW1zXCJdLFRTVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uOltcInBhcmFtc1wiXSxUU1R5cGVQYXJhbWV0ZXI6W1wiY29uc3RyYWludFwiLFwiZGVmYXVsdFwiLFwibmFtZVwiXSxDaGFpbkV4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiXSxFeHBlcmltZW50YWxSZXN0UHJvcGVydHk6W1wiYXJndW1lbnRcIl0sRXhwZXJpbWVudGFsU3ByZWFkUHJvcGVydHk6W1wiYXJndW1lbnRcIl0sTGl0ZXJhbDpbXSxNZXRob2REZWZpbml0aW9uOltcImRlY29yYXRvcnNcIixcImtleVwiLFwidmFsdWVcIl0sUHJpdmF0ZUlkZW50aWZpZXI6W10sUHJvcGVydHk6W1wia2V5XCIsXCJ2YWx1ZVwiXSxQcm9wZXJ0eURlZmluaXRpb246W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwidmFsdWVcIixcInZhcmlhbmNlXCJdLEFjY2Vzc29yUHJvcGVydHk6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwidmFsdWVcIl0sVFNBYnN0cmFjdEFjY2Vzc29yUHJvcGVydHk6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUU0Fic3RyYWN0S2V5d29yZDpbXSxUU0Fic3RyYWN0TWV0aG9kRGVmaW5pdGlvbjpbXCJrZXlcIixcInZhbHVlXCJdLFRTQWJzdHJhY3RQcm9wZXJ0eURlZmluaXRpb246W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUU0FzeW5jS2V5d29yZDpbXSxUU0NsYXNzSW1wbGVtZW50czpbXCJleHByZXNzaW9uXCIsXCJ0eXBlQXJndW1lbnRzXCIsXCJ0eXBlUGFyYW1ldGVyc1wiXSxUU0RlY2xhcmVLZXl3b3JkOltdLFRTRW1wdHlCb2R5RnVuY3Rpb25FeHByZXNzaW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCJdLFRTRW51bUJvZHk6W1wibWVtYmVyc1wiXSxUU0V4cG9ydEtleXdvcmQ6W10sVFNJbnRlcmZhY2VIZXJpdGFnZTpbXCJleHByZXNzaW9uXCIsXCJ0eXBlQXJndW1lbnRzXCIsXCJ0eXBlUGFyYW1ldGVyc1wiXSxUU1ByaXZhdGVLZXl3b3JkOltdLFRTUHJvdGVjdGVkS2V5d29yZDpbXSxUU1B1YmxpY0tleXdvcmQ6W10sVFNSZWFkb25seUtleXdvcmQ6W10sVFNTdGF0aWNLZXl3b3JkOltdLFRTVGVtcGxhdGVMaXRlcmFsVHlwZTpbXCJxdWFzaXNcIixcInR5cGVzXCJdLEFzQ29uc3RFeHByZXNzaW9uOltcImV4cHJlc3Npb25cIl0sQXNFeHByZXNzaW9uOltcImV4cHJlc3Npb25cIixcInR5cGVBbm5vdGF0aW9uXCJdLEJpZ0ludExpdGVyYWxUeXBlQW5ub3RhdGlvbjpbXSxCaWdJbnRUeXBlQW5ub3RhdGlvbjpbXSxDb21wb25lbnREZWNsYXJhdGlvbjpbXCJpZFwiLFwicGFyYW1zXCIsXCJib2R5XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicmVuZGVyc1R5cGVcIl0sQ29tcG9uZW50UGFyYW1ldGVyOltcIm5hbWVcIixcImxvY2FsXCJdLENvbXBvbmVudFR5cGVBbm5vdGF0aW9uOltcInBhcmFtc1wiLFwicmVzdFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInJlbmRlcnNUeXBlXCJdLENvbXBvbmVudFR5cGVQYXJhbWV0ZXI6W1wibmFtZVwiLFwidHlwZUFubm90YXRpb25cIl0sQ29uZGl0aW9uYWxUeXBlQW5ub3RhdGlvbjpbXCJjaGVja1R5cGVcIixcImV4dGVuZHNUeXBlXCIsXCJ0cnVlVHlwZVwiLFwiZmFsc2VUeXBlXCJdLERlY2xhcmVDb21wb25lbnQ6W1wiaWRcIixcInBhcmFtc1wiLFwicmVzdFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInJlbmRlcnNUeXBlXCJdLERlY2xhcmVFbnVtOltcImlkXCIsXCJib2R5XCJdLERlY2xhcmVIb29rOltcImlkXCJdLERlY2xhcmVOYW1lc3BhY2U6W1wiaWRcIixcImJvZHlcIl0sRW51bUJpZ0ludEJvZHk6W1wibWVtYmVyc1wiXSxFbnVtQmlnSW50TWVtYmVyOltcImlkXCIsXCJpbml0XCJdLEhvb2tEZWNsYXJhdGlvbjpbXCJpZFwiLFwicGFyYW1zXCIsXCJib2R5XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicmV0dXJuVHlwZVwiXSxIb29rVHlwZUFubm90YXRpb246W1wicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJyZXN0XCIsXCJ0eXBlUGFyYW1ldGVyc1wiXSxJbmZlclR5cGVBbm5vdGF0aW9uOltcInR5cGVQYXJhbWV0ZXJcIl0sS2V5b2ZUeXBlQW5ub3RhdGlvbjpbXCJhcmd1bWVudFwiXSxPYmplY3RUeXBlTWFwcGVkVHlwZVByb3BlcnR5OltcImtleVRwYXJhbVwiLFwicHJvcFR5cGVcIixcInNvdXJjZVR5cGVcIixcInZhcmlhbmNlXCJdLFF1YWxpZmllZFR5cGVvZklkZW50aWZpZXI6W1wicXVhbGlmaWNhdGlvblwiLFwiaWRcIl0sVHVwbGVUeXBlTGFiZWxlZEVsZW1lbnQ6W1wibGFiZWxcIixcImVsZW1lbnRUeXBlXCIsXCJ2YXJpYW5jZVwiXSxUdXBsZVR5cGVTcHJlYWRFbGVtZW50OltcImxhYmVsXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUeXBlT3BlcmF0b3I6W1widHlwZUFubm90YXRpb25cIl0sVHlwZVByZWRpY2F0ZTpbXCJwYXJhbWV0ZXJOYW1lXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwiYXNzZXJ0c1wiXSxOR1Jvb3Q6W1wibm9kZVwiXSxOR1BpcGVFeHByZXNzaW9uOltcImxlZnRcIixcInJpZ2h0XCIsXCJhcmd1bWVudHNcIl0sTkdDaGFpbmVkRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uc1wiXSxOR0VtcHR5RXhwcmVzc2lvbjpbXSxOR01pY3Jvc3ludGF4OltcImJvZHlcIl0sTkdNaWNyb3N5bnRheEtleTpbXSxOR01pY3Jvc3ludGF4RXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJhbGlhc1wiXSxOR01pY3Jvc3ludGF4S2V5ZWRFeHByZXNzaW9uOltcImtleVwiLFwiZXhwcmVzc2lvblwiXSxOR01pY3Jvc3ludGF4TGV0OltcImtleVwiLFwidmFsdWVcIl0sTkdNaWNyb3N5bnRheEFzOltcImtleVwiLFwiYWxpYXNcIl0sSnNFeHByZXNzaW9uUm9vdDpbXCJub2RlXCJdLEpzb25Sb290OltcIm5vZGVcIl0sVFNKU0RvY0FsbFR5cGU6W10sVFNKU0RvY1Vua25vd25UeXBlOltdLFRTSlNEb2NOdWxsYWJsZVR5cGU6W1widHlwZUFubm90YXRpb25cIl0sVFNKU0RvY05vbk51bGxhYmxlVHlwZTpbXCJ0eXBlQW5ub3RhdGlvblwiXSxOZXZlclR5cGVBbm5vdGF0aW9uOltdLFVuZGVmaW5lZFR5cGVBbm5vdGF0aW9uOltdLFVua25vd25UeXBlQW5ub3RhdGlvbjpbXSxTYXRpc2ZpZXNFeHByZXNzaW9uOltcImV4cHJlc3Npb25cIixcInR5cGVBbm5vdGF0aW9uXCJdfTt2YXIgQXI9ZnMoZHMpLG1zPUFyO2Z1bmN0aW9uIFN0KGEsdCl7aWYoIShhIT09bnVsbCYmdHlwZW9mIGE9PVwib2JqZWN0XCIpKXJldHVybiBhO2lmKEFycmF5LmlzQXJyYXkoYSkpe2ZvcihsZXQgcz0wO3M8YS5sZW5ndGg7cysrKWFbc109U3QoYVtzXSx0KTtyZXR1cm4gYX1sZXQgZT1tcyhhKTtmb3IobGV0IHM9MDtzPGUubGVuZ3RoO3MrKylhW2Vbc11dPVN0KGFbZVtzXV0sdCk7cmV0dXJuIHQoYSl8fGF9dmFyIERlPVN0O2Z1bmN0aW9uIFNyKGEsdCl7bGV0e3BhcnNlcjplLHRleHQ6c309dDtpZihhLnR5cGU9PT1cIkZpbGVcIiYmYS5wcm9ncmFtLmludGVycHJldGVyKXtsZXR7cHJvZ3JhbTp7aW50ZXJwcmV0ZXI6aX0sY29tbWVudHM6cn09YTtkZWxldGUgYS5wcm9ncmFtLmludGVycHJldGVyLHIudW5zaGlmdChpKX1pZihlPT09XCJiYWJlbFwiKXtsZXQgaT1uZXcgU2V0O2E9RGUoYSxyPT57dmFyIG47KG49ci5sZWFkaW5nQ29tbWVudHMpIT1udWxsJiZuLnNvbWUodXMpJiZpLmFkZChMKHIpKX0pLGE9RGUoYSxyPT57aWYoci50eXBlPT09XCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiKXtsZXR7ZXhwcmVzc2lvbjpufT1yO2lmKG4udHlwZT09PVwiVHlwZUNhc3RFeHByZXNzaW9uXCIpcmV0dXJuIG4ucmFuZ2U9Wy4uLnIucmFuZ2VdLG47bGV0IG89TChyKTtpZighaS5oYXMobykpcmV0dXJuIG4uZXh0cmE9ey4uLm4uZXh0cmEscGFyZW50aGVzaXplZDohMH0sbn19KX1pZihhPURlKGEsaT0+e3N3aXRjaChpLnR5cGUpe2Nhc2VcIkxvZ2ljYWxFeHByZXNzaW9uXCI6aWYoeXMoaSkpcmV0dXJuIHd0KGkpO2JyZWFrO2Nhc2VcIlZhcmlhYmxlRGVjbGFyYXRpb25cIjp7bGV0IHI9VHQoITEsaS5kZWNsYXJhdGlvbnMsLTEpO3IhPW51bGwmJnIuaW5pdCYmc1tqKHIpXSE9PVwiO1wiJiYoaS5yYW5nZT1bTChpKSxqKHIpXSk7YnJlYWt9Y2FzZVwiVFNQYXJlbnRoZXNpemVkVHlwZVwiOnJldHVybiBpLnR5cGVBbm5vdGF0aW9uO2Nhc2VcIlRTVHlwZVBhcmFtZXRlclwiOmlmKHR5cGVvZiBpLm5hbWU9PVwic3RyaW5nXCIpe2xldCByPUwoaSk7aS5uYW1lPXt0eXBlOlwiSWRlbnRpZmllclwiLG5hbWU6aS5uYW1lLHJhbmdlOltyLHIraS5uYW1lLmxlbmd0aF19fWJyZWFrO2Nhc2VcIlRvcGljUmVmZXJlbmNlXCI6YS5leHRyYT17Li4uYS5leHRyYSxfX2lzVXNpbmdIYWNrUGlwZWxpbmU6ITB9O2JyZWFrO2Nhc2VcIlRTVW5pb25UeXBlXCI6Y2FzZVwiVFNJbnRlcnNlY3Rpb25UeXBlXCI6aWYoaS50eXBlcy5sZW5ndGg9PT0xKXJldHVybiBpLnR5cGVzWzBdO2JyZWFrfX0pLHllKGEuY29tbWVudHMpKXtsZXQgaT1UdCghMSxhLmNvbW1lbnRzLC0xKTtmb3IobGV0IHI9YS5jb21tZW50cy5sZW5ndGgtMjtyPj0wO3ItLSl7bGV0IG49YS5jb21tZW50c1tyXTtqKG4pPT09TChpKSYmeGUobikmJnhlKGkpJiZidChuKSYmYnQoaSkmJihhLmNvbW1lbnRzLnNwbGljZShyKzEsMSksbi52YWx1ZSs9XCIqLy8qXCIraS52YWx1ZSxuLnJhbmdlPVtMKG4pLGooaSldKSxpPW59fXJldHVybiBhLnR5cGU9PT1cIlByb2dyYW1cIiYmKGEucmFuZ2U9WzAscy5sZW5ndGhdKSxhfWZ1bmN0aW9uIHlzKGEpe3JldHVybiBhLnR5cGU9PT1cIkxvZ2ljYWxFeHByZXNzaW9uXCImJmEucmlnaHQudHlwZT09PVwiTG9naWNhbEV4cHJlc3Npb25cIiYmYS5vcGVyYXRvcj09PWEucmlnaHQub3BlcmF0b3J9ZnVuY3Rpb24gd3QoYSl7cmV0dXJuIHlzKGEpP3d0KHt0eXBlOlwiTG9naWNhbEV4cHJlc3Npb25cIixvcGVyYXRvcjphLm9wZXJhdG9yLGxlZnQ6d3Qoe3R5cGU6XCJMb2dpY2FsRXhwcmVzc2lvblwiLG9wZXJhdG9yOmEub3BlcmF0b3IsbGVmdDphLmxlZnQscmlnaHQ6YS5yaWdodC5sZWZ0LHJhbmdlOltMKGEubGVmdCksaihhLnJpZ2h0LmxlZnQpXX0pLHJpZ2h0OmEucmlnaHQucmlnaHQscmFuZ2U6W0woYSksaihhKV19KTphfXZhciB4cz1TcjtmdW5jdGlvbiB3cihhLHQpe2xldCBlPW5ldyBTeW50YXhFcnJvcihhK1wiIChcIit0LmxvYy5zdGFydC5saW5lK1wiOlwiK3QubG9jLnN0YXJ0LmNvbHVtbitcIilcIik7cmV0dXJuIE9iamVjdC5hc3NpZ24oZSx0KX12YXIgTWU9d3I7ZnVuY3Rpb24gQ3IoYSl7bGV0e21lc3NhZ2U6dCxsb2M6e2xpbmU6ZSxjb2x1bW46c30scmVhc29uQ29kZTppfT1hLHI9YTsoaT09PVwiTWlzc2luZ1BsdWdpblwifHxpPT09XCJNaXNzaW5nT25lT2ZQbHVnaW5zXCIpJiYodD1cIlVuZXhwZWN0ZWQgdG9rZW4uXCIscj12b2lkIDApO2xldCBuPWAgKCR7ZX06JHtzfSlgO3JldHVybiB0LmVuZHNXaXRoKG4pJiYodD10LnNsaWNlKDAsLW4ubGVuZ3RoKSksTWUodCx7bG9jOntzdGFydDp7bGluZTplLGNvbHVtbjpzKzF9fSxjYXVzZTpyfSl9dmFyIE9lPUNyO3ZhciBFcj0oYSx0LGUscyk9PntpZighKGEmJnQ9PW51bGwpKXJldHVybiB0LnJlcGxhY2VBbGw/dC5yZXBsYWNlQWxsKGUscyk6ZS5nbG9iYWw/dC5yZXBsYWNlKGUscyk6dC5zcGxpdChlKS5qb2luKHMpfSxzZT1Fcjt2YXIgSXI9L1xcKlxcLyQvLE5yPS9eXFwvXFwqXFwqPy8sa3I9L15cXHMqKFxcL1xcKlxcKj8oLnxcXHI/XFxuKSo/XFwqXFwvKS8sdnI9LyhefFxccyspXFwvXFwvKFteXFxuXFxyXSopL2csUHM9L14oXFxyP1xcbikrLyxMcj0vKD86XnxcXHI/XFxuKSAqKEBbXlxcblxccl0qPykgKlxccj9cXG4gKig/IVteXFxuXFxyQF0qXFwvXFwvW15dKikoW15cXHNAXVteXFxuXFxyQF0rPykgKlxccj9cXG4vZyxncz0vKD86XnxcXHI/XFxuKSAqQChcXFMrKSAqKFteXFxuXFxyXSopL2csRHI9LyhcXHI/XFxufF4pICpcXCogPy9nLE1yPVtdO2Z1bmN0aW9uIFRzKGEpe2xldCB0PWEubWF0Y2goa3IpO3JldHVybiB0P3RbMF0udHJpbVN0YXJ0KCk6XCJcIn1mdW5jdGlvbiBicyhhKXtsZXQgdD1gXG5gO2E9c2UoITEsYS5yZXBsYWNlKE5yLFwiXCIpLnJlcGxhY2UoSXIsXCJcIiksRHIsXCIkMVwiKTtsZXQgZT1cIlwiO2Zvcig7ZSE9PWE7KWU9YSxhPXNlKCExLGEsTHIsYCR7dH0kMSAkMiR7dH1gKTthPWEucmVwbGFjZShQcyxcIlwiKS50cmltRW5kKCk7bGV0IHM9T2JqZWN0LmNyZWF0ZShudWxsKSxpPXNlKCExLGEsZ3MsXCJcIikucmVwbGFjZShQcyxcIlwiKS50cmltRW5kKCkscjtmb3IoO3I9Z3MuZXhlYyhhKTspe2xldCBuPXNlKCExLHJbMl0sdnIsXCJcIik7aWYodHlwZW9mIHNbclsxXV09PVwic3RyaW5nXCJ8fEFycmF5LmlzQXJyYXkoc1tyWzFdXSkpe2xldCBvPXNbclsxXV07c1tyWzFdXT1bLi4uTXIsLi4uQXJyYXkuaXNBcnJheShvKT9vOltvXSxuXX1lbHNlIHNbclsxXV09bn1yZXR1cm57Y29tbWVudHM6aSxwcmFnbWFzOnN9fWZ1bmN0aW9uIE9yKGEpe2xldCB0PUxlKGEpO3QmJihhPWEuc2xpY2UodC5sZW5ndGgrMSkpO2xldCBlPVRzKGEpLHtwcmFnbWFzOnMsY29tbWVudHM6aX09YnMoZSk7cmV0dXJue3NoZWJhbmc6dCx0ZXh0OmEscHJhZ21hczpzLGNvbW1lbnRzOml9fWZ1bmN0aW9uIEFzKGEpe2xldHtwcmFnbWFzOnR9PU9yKGEpO3JldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxcInByZXR0aWVyXCIpfHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxcImZvcm1hdFwiKX1mdW5jdGlvbiBGcihhKXtyZXR1cm4gYT10eXBlb2YgYT09XCJmdW5jdGlvblwiP3twYXJzZTphfTphLHthc3RGb3JtYXQ6XCJlc3RyZWVcIixoYXNQcmFnbWE6QXMsbG9jU3RhcnQ6TCxsb2NFbmQ6aiwuLi5hfX12YXIgVz1GcjtmdW5jdGlvbiBCcihhKXtsZXR7ZmlsZXBhdGg6dH09YTtpZih0KXtpZih0PXQudG9Mb3dlckNhc2UoKSx0LmVuZHNXaXRoKFwiLmNqc1wiKXx8dC5lbmRzV2l0aChcIi5jdHNcIikpcmV0dXJuXCJzY3JpcHRcIjtpZih0LmVuZHNXaXRoKFwiLm1qc1wiKXx8dC5lbmRzV2l0aChcIi5tdHNcIikpcmV0dXJuXCJtb2R1bGVcIn19dmFyIFNzPUJyO2Z1bmN0aW9uIFJyKGEsdCl7bGV0e3R5cGU6ZT1cIkpzRXhwcmVzc2lvblJvb3RcIixyb290TWFya2VyOnMsdGV4dDppfT10LHt0b2tlbnM6cixjb21tZW50czpufT1hO3JldHVybiBkZWxldGUgYS50b2tlbnMsZGVsZXRlIGEuY29tbWVudHMse3Rva2VuczpyLGNvbW1lbnRzOm4sdHlwZTplLG5vZGU6YSxyYW5nZTpbMCxpLmxlbmd0aF0scm9vdE1hcmtlcjpzfX12YXIgRmU9UnI7dmFyIGllPWE9PlcoenIoYSkpLFVyPXtzb3VyY2VUeXBlOlwibW9kdWxlXCIsYWxsb3dJbXBvcnRFeHBvcnRFdmVyeXdoZXJlOiEwLGFsbG93UmV0dXJuT3V0c2lkZUZ1bmN0aW9uOiEwLGFsbG93TmV3VGFyZ2V0T3V0c2lkZUZ1bmN0aW9uOiEwLGFsbG93U3VwZXJPdXRzaWRlTWV0aG9kOiEwLGFsbG93VW5kZWNsYXJlZEV4cG9ydHM6ITAsZXJyb3JSZWNvdmVyeTohMCxjcmVhdGVQYXJlbnRoZXNpemVkRXhwcmVzc2lvbnM6ITAsY3JlYXRlSW1wb3J0RXhwcmVzc2lvbnM6ITAscGx1Z2luczpbXCJkb0V4cHJlc3Npb25zXCIsXCJleHBvcnREZWZhdWx0RnJvbVwiLFwiZnVuY3Rpb25CaW5kXCIsXCJmdW5jdGlvblNlbnRcIixcInRocm93RXhwcmVzc2lvbnNcIixcInBhcnRpYWxBcHBsaWNhdGlvblwiLFwiZGVjb3JhdG9yc1wiLFwibW9kdWxlQmxvY2tzXCIsXCJhc3luY0RvRXhwcmVzc2lvbnNcIixcImRlc3RydWN0dXJpbmdQcml2YXRlXCIsXCJkZWNvcmF0b3JBdXRvQWNjZXNzb3JzXCIsXCJleHBsaWNpdFJlc291cmNlTWFuYWdlbWVudFwiLFwic291cmNlUGhhc2VJbXBvcnRzXCIsXCJkZWZlcnJlZEltcG9ydEV2YWx1YXRpb25cIixbXCJvcHRpb25hbENoYWluaW5nQXNzaWduXCIse3ZlcnNpb246XCIyMDIzLTA3XCJ9XSxcInJlY29yZEFuZFR1cGxlXCJdLHRva2VuczohMCxyYW5nZXM6ITB9LHdzPVwidjhpbnRyaW5zaWNcIixDcz1bW1wicGlwZWxpbmVPcGVyYXRvclwiLHtwcm9wb3NhbDpcImhhY2tcIix0b3BpY1Rva2VuOlwiJVwifV0sW1wicGlwZWxpbmVPcGVyYXRvclwiLHtwcm9wb3NhbDpcImZzaGFycFwifV1dLCQ9KGEsdD1Vcik9Pih7Li4udCxwbHVnaW5zOlsuLi50LnBsdWdpbnMsLi4uYV19KSxfcj0vQCg/Om5vKT9mbG93XFxiL3U7ZnVuY3Rpb24ganIoYSx0KXt2YXIgaTtpZigoaT10LmZpbGVwYXRoKSE9bnVsbCYmaS5lbmRzV2l0aChcIi5qcy5mbG93XCIpKXJldHVybiEwO2xldCBlPUxlKGEpO2UmJihhPWEuc2xpY2UoZS5sZW5ndGgpKTtsZXQgcz1scyhhLDApO3JldHVybiBzIT09ITEmJihhPWEuc2xpY2UoMCxzKSksX3IudGVzdChhKX1mdW5jdGlvbiAkcihhLHQsZSl7bGV0IHM9YSh0LGUpLGk9cy5lcnJvcnMuZmluZChyPT4hVnIuaGFzKHIucmVhc29uQ29kZSkpO2lmKGkpdGhyb3cgaTtyZXR1cm4gc31mdW5jdGlvbiB6cih7aXNFeHByZXNzaW9uOmE9ITEsb3B0aW9uc0NvbWJpbmF0aW9uczp0fSl7cmV0dXJuKGUscz17fSk9PntpZigocy5wYXJzZXI9PT1cImJhYmVsXCJ8fHMucGFyc2VyPT09XCJfX2JhYmVsX2VzdHJlZVwiKSYmanIoZSxzKSlyZXR1cm4gcy5wYXJzZXI9XCJiYWJlbC1mbG93XCIsTHMucGFyc2UoZSxzKTtsZXQgaT10OyhzLl9fYmFiZWxTb3VyY2VUeXBlPz9TcyhzKSk9PT1cInNjcmlwdFwiJiYoaT1pLm1hcChsPT4oey4uLmwsc291cmNlVHlwZTpcInNjcmlwdFwifSkpKTtsZXQgbj0vJVtBLVpdL3UudGVzdChlKTtlLmluY2x1ZGVzKFwifD5cIik/aT0obj9bLi4uQ3Msd3NdOkNzKS5mbGF0TWFwKGM9PmkubWFwKHU9PiQoW2NdLHUpKSk6biYmKGk9aS5tYXAobD0+JChbd3NdLGwpKSk7bGV0IG89YT9CZS5wYXJzZUV4cHJlc3Npb246QmUucGFyc2UsaDt0cnl7aD1jcyhpLm1hcChsPT4oKT0+JHIobyxlLGwpKSl9Y2F0Y2goe2Vycm9yczpbbF19KXt0aHJvdyBPZShsKX1yZXR1cm4gYSYmKGg9RmUoaCx7dGV4dDplLHJvb3RNYXJrZXI6cy5yb290TWFya2VyfSkpLHhzKGgse3BhcnNlcjpcImJhYmVsXCIsdGV4dDplfSl9fXZhciBWcj1uZXcgU2V0KFtcIlN0cmljdE51bWVyaWNFc2NhcGVcIixcIlN0cmljdFdpdGhcIixcIlN0cmljdE9jdGFsTGl0ZXJhbFwiLFwiU3RyaWN0RGVsZXRlXCIsXCJTdHJpY3RFdmFsQXJndW1lbnRzXCIsXCJTdHJpY3RFdmFsQXJndW1lbnRzQmluZGluZ1wiLFwiU3RyaWN0RnVuY3Rpb25cIixcIkZvckluT2ZMb29wSW5pdGlhbGl6ZXJcIixcIkVtcHR5VHlwZUFyZ3VtZW50c1wiLFwiRW1wdHlUeXBlUGFyYW1ldGVyc1wiLFwiQ29uc3RydWN0b3JIYXNUeXBlUGFyYW1ldGVyc1wiLFwiVW5zdXBwb3J0ZWRQYXJhbWV0ZXJQcm9wZXJ0eUtpbmRcIixcIkRlY29yYXRvckV4cG9ydENsYXNzXCIsXCJQYXJhbUR1cGVcIixcIkludmFsaWREZWNpbWFsXCIsXCJSZXN0VHJhaWxpbmdDb21tYVwiLFwiVW5zdXBwb3J0ZWRQYXJhbWV0ZXJEZWNvcmF0b3JcIixcIlVudGVybWluYXRlZEpzeENvbnRlbnRcIixcIlVuZXhwZWN0ZWRSZXNlcnZlZFdvcmRcIixcIk1vZHVsZUF0dHJpYnV0ZXNXaXRoRHVwbGljYXRlS2V5c1wiLFwiTGluZVRlcm1pbmF0b3JCZWZvcmVBcnJvd1wiLFwiSW52YWxpZEVzY2FwZVNlcXVlbmNlVGVtcGxhdGVcIixcIk5vbkFic3RyYWN0Q2xhc3NIYXNBYnN0cmFjdE1ldGhvZFwiLFwiT3B0aW9uYWxUeXBlQmVmb3JlUmVxdWlyZWRcIixcIlBhdHRlcm5Jc09wdGlvbmFsXCIsXCJPcHRpb25hbEJpbmRpbmdQYXR0ZXJuXCIsXCJEZWNsYXJlQ2xhc3NGaWVsZEhhc0luaXRpYWxpemVyXCIsXCJUeXBlSW1wb3J0Q2Fubm90U3BlY2lmeURlZmF1bHRBbmROYW1lZFwiLFwiQ29uc3RydWN0b3JDbGFzc0ZpZWxkXCIsXCJWYXJSZWRlY2xhcmF0aW9uXCIsXCJJbnZhbGlkUHJpdmF0ZUZpZWxkUmVzb2x1dGlvblwiLFwiRHVwbGljYXRlRXhwb3J0XCIsXCJJbXBvcnRBdHRyaWJ1dGVzVXNlQXNzZXJ0XCJdKSx2cz1bJChbXCJqc3hcIl0pXSxFcz1pZSh7b3B0aW9uc0NvbWJpbmF0aW9uczp2c30pLElzPWllKHtvcHRpb25zQ29tYmluYXRpb25zOlskKFtcImpzeFwiLFwidHlwZXNjcmlwdFwiXSksJChbXCJ0eXBlc2NyaXB0XCJdKV19KSxOcz1pZSh7aXNFeHByZXNzaW9uOiEwLG9wdGlvbnNDb21iaW5hdGlvbnM6WyQoW1wianN4XCJdKV19KSxrcz1pZSh7aXNFeHByZXNzaW9uOiEwLG9wdGlvbnNDb21iaW5hdGlvbnM6WyQoW1widHlwZXNjcmlwdFwiXSldfSksTHM9aWUoe29wdGlvbnNDb21iaW5hdGlvbnM6WyQoW1wianN4XCIsW1wiZmxvd1wiLHthbGw6ITB9XSxcImZsb3dDb21tZW50c1wiXSldfSkscXI9aWUoe29wdGlvbnNDb21iaW5hdGlvbnM6dnMubWFwKGE9PiQoW1wiZXN0cmVlXCJdLGEpKX0pLERzPXtiYWJlbDpFcyxcImJhYmVsLWZsb3dcIjpMcyxcImJhYmVsLXRzXCI6SXMsX19qc19leHByZXNzaW9uOk5zLF9fdHNfZXhwcmVzc2lvbjprcyxfX3Z1ZV9leHByZXNzaW9uOk5zLF9fdnVlX3RzX2V4cHJlc3Npb246a3MsX192dWVfZXZlbnRfYmluZGluZzpFcyxfX3Z1ZV90c19ldmVudF9iaW5kaW5nOklzLF9fYmFiZWxfZXN0cmVlOnFyfTt2YXIgTXM9SXQoZ3QoKSwxKTtmdW5jdGlvbiBPcyhhPXt9KXtsZXR7YWxsb3dDb21tZW50czp0PSEwfT1hO3JldHVybiBmdW5jdGlvbihzKXtsZXQgaTt0cnl7aT0oMCxNcy5wYXJzZUV4cHJlc3Npb24pKHMse3Rva2VuczohMCxyYW5nZXM6ITAsYXR0YWNoQ29tbWVudDohMX0pfWNhdGNoKHIpe3Rocm93IE9lKHIpfWlmKCF0JiZ5ZShpLmNvbW1lbnRzKSl0aHJvdyBLKGkuY29tbWVudHNbMF0sXCJDb21tZW50XCIpO3JldHVybiByZShpKSxGZShpLHt0eXBlOlwiSnNvblJvb3RcIix0ZXh0OnN9KX19ZnVuY3Rpb24gSyhhLHQpe2xldFtlLHNdPVthLmxvYy5zdGFydCxhLmxvYy5lbmRdLm1hcCgoe2xpbmU6aSxjb2x1bW46cn0pPT4oe2xpbmU6aSxjb2x1bW46cisxfSkpO3JldHVybiBNZShgJHt0fSBpcyBub3QgYWxsb3dlZCBpbiBKU09OLmAse2xvYzp7c3RhcnQ6ZSxlbmQ6c319KX1mdW5jdGlvbiByZShhKXtzd2l0Y2goYS50eXBlKXtjYXNlXCJBcnJheUV4cHJlc3Npb25cIjpmb3IobGV0IHQgb2YgYS5lbGVtZW50cyl0IT09bnVsbCYmcmUodCk7cmV0dXJuO2Nhc2VcIk9iamVjdEV4cHJlc3Npb25cIjpmb3IobGV0IHQgb2YgYS5wcm9wZXJ0aWVzKXJlKHQpO3JldHVybjtjYXNlXCJPYmplY3RQcm9wZXJ0eVwiOmlmKGEuY29tcHV0ZWQpdGhyb3cgSyhhLmtleSxcIkNvbXB1dGVkIGtleVwiKTtpZihhLnNob3J0aGFuZCl0aHJvdyBLKGEua2V5LFwiU2hvcnRoYW5kIHByb3BlcnR5XCIpO2Eua2V5LnR5cGUhPT1cIklkZW50aWZpZXJcIiYmcmUoYS5rZXkpLHJlKGEudmFsdWUpO3JldHVybjtjYXNlXCJVbmFyeUV4cHJlc3Npb25cIjp7bGV0e29wZXJhdG9yOnQsYXJndW1lbnQ6ZX09YTtpZih0IT09XCIrXCImJnQhPT1cIi1cIil0aHJvdyBLKGEsYE9wZXJhdG9yICcke2Eub3BlcmF0b3J9J2ApO2lmKGUudHlwZT09PVwiTnVtZXJpY0xpdGVyYWxcInx8ZS50eXBlPT09XCJJZGVudGlmaWVyXCImJihlLm5hbWU9PT1cIkluZmluaXR5XCJ8fGUubmFtZT09PVwiTmFOXCIpKXJldHVybjt0aHJvdyBLKGUsYE9wZXJhdG9yICcke3R9JyBiZWZvcmUgJyR7ZS50eXBlfSdgKX1jYXNlXCJJZGVudGlmaWVyXCI6aWYoYS5uYW1lIT09XCJJbmZpbml0eVwiJiZhLm5hbWUhPT1cIk5hTlwiJiZhLm5hbWUhPT1cInVuZGVmaW5lZFwiKXRocm93IEsoYSxgSWRlbnRpZmllciAnJHthLm5hbWV9J2ApO3JldHVybjtjYXNlXCJUZW1wbGF0ZUxpdGVyYWxcIjppZih5ZShhLmV4cHJlc3Npb25zKSl0aHJvdyBLKGEuZXhwcmVzc2lvbnNbMF0sXCInVGVtcGxhdGVMaXRlcmFsJyB3aXRoIGV4cHJlc3Npb25cIik7Zm9yKGxldCB0IG9mIGEucXVhc2lzKXJlKHQpO3JldHVybjtjYXNlXCJOdWxsTGl0ZXJhbFwiOmNhc2VcIkJvb2xlYW5MaXRlcmFsXCI6Y2FzZVwiTnVtZXJpY0xpdGVyYWxcIjpjYXNlXCJTdHJpbmdMaXRlcmFsXCI6Y2FzZVwiVGVtcGxhdGVFbGVtZW50XCI6cmV0dXJuO2RlZmF1bHQ6dGhyb3cgSyhhLGAnJHthLnR5cGV9J2ApfX12YXIgQ3Q9T3MoKSxLcj17anNvbjpXKHtwYXJzZTpDdCxoYXNQcmFnbWEoKXtyZXR1cm4hMH19KSxqc29uNTpXKEN0KSxqc29uYzpXKEN0KSxcImpzb24tc3RyaW5naWZ5XCI6Vyh7cGFyc2U6T3Moe2FsbG93Q29tbWVudHM6ITF9KSxhc3RGb3JtYXQ6XCJlc3RyZWUtanNvblwifSl9LEZzPUtyO3ZhciBIcj17Li4uRHMsLi4uRnN9O3ZhciBDbj1FdDtleHBvcnR7Q24gYXMgZGVmYXVsdCxIciBhcyBwYXJzZXJzfTtcbiIsICJ2YXIgWGE9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciBKcz1lPT57dGhyb3cgVHlwZUVycm9yKGUpfTt2YXIgQXI9KGUsdCk9Pntmb3IodmFyIHIgaW4gdClYYShlLHIse2dldDp0W3JdLGVudW1lcmFibGU6ITB9KX07dmFyIHFzPShlLHQscik9PnQuaGFzKGUpfHxKcyhcIkNhbm5vdCBcIityKTt2YXIgcHQ9KGUsdCxyKT0+KHFzKGUsdCxcInJlYWQgZnJvbSBwcml2YXRlIGZpZWxkXCIpLHI/ci5jYWxsKGUpOnQuZ2V0KGUpKSxXcz0oZSx0LHIpPT50LmhhcyhlKT9KcyhcIkNhbm5vdCBhZGQgdGhlIHNhbWUgcHJpdmF0ZSBtZW1iZXIgbW9yZSB0aGFuIG9uY2VcIik6dCBpbnN0YW5jZW9mIFdlYWtTZXQ/dC5hZGQoZSk6dC5zZXQoZSxyKSxHcz0oZSx0LHIsbik9PihxcyhlLHQsXCJ3cml0ZSB0byBwcml2YXRlIGZpZWxkXCIpLG4/bi5jYWxsKGUscik6dC5zZXQoZSxyKSxyKTt2YXIgX3M9e307QXIoX3Mse2xhbmd1YWdlczooKT0+b20sb3B0aW9uczooKT0+SmEscHJpbnRlcnM6KCk9PmFtfSk7dmFyIFVzPVt7bGluZ3Vpc3RMYW5ndWFnZUlkOjE4MyxuYW1lOlwiSmF2YVNjcmlwdFwiLHR5cGU6XCJwcm9ncmFtbWluZ1wiLHRtU2NvcGU6XCJzb3VyY2UuanNcIixhY2VNb2RlOlwiamF2YXNjcmlwdFwiLGNvZGVtaXJyb3JNb2RlOlwiamF2YXNjcmlwdFwiLGNvZGVtaXJyb3JNaW1lVHlwZTpcInRleHQvamF2YXNjcmlwdFwiLGNvbG9yOlwiI2YxZTA1YVwiLGFsaWFzZXM6W1wianNcIixcIm5vZGVcIl0sZXh0ZW5zaW9uczpbXCIuanNcIixcIi5fanNcIixcIi5ib25lc1wiLFwiLmNqc1wiLFwiLmVzXCIsXCIuZXM2XCIsXCIuZnJhZ1wiLFwiLmdzXCIsXCIuamFrZVwiLFwiLmphdmFzY3JpcHRcIixcIi5qc2JcIixcIi5qc2NhZFwiLFwiLmpzZmxcIixcIi5qc2xpYlwiLFwiLmpzbVwiLFwiLmpzcHJlXCIsXCIuanNzXCIsXCIubWpzXCIsXCIubmpzXCIsXCIucGFjXCIsXCIuc2pzXCIsXCIuc3Nqc1wiLFwiLnhzanNcIixcIi54c2pzbGliXCIsXCIud3hzXCJdLGZpbGVuYW1lczpbXCJKYWtlZmlsZVwiXSxpbnRlcnByZXRlcnM6W1wiY2hha3JhXCIsXCJkOFwiLFwiZ2pzXCIsXCJqc1wiLFwibm9kZVwiLFwibm9kZWpzXCIsXCJxanNcIixcInJoaW5vXCIsXCJ2OFwiLFwidjgtc2hlbGxcIixcInp4XCJdLHBhcnNlcnM6W1wiYmFiZWxcIixcImFjb3JuXCIsXCJlc3ByZWVcIixcIm1lcml5YWhcIixcImJhYmVsLWZsb3dcIixcImJhYmVsLXRzXCIsXCJmbG93XCIsXCJ0eXBlc2NyaXB0XCJdLHZzY29kZUxhbmd1YWdlSWRzOltcImphdmFzY3JpcHRcIixcIm1vbmdvXCJdfSx7bGluZ3Vpc3RMYW5ndWFnZUlkOjE4MyxuYW1lOlwiRmxvd1wiLHR5cGU6XCJwcm9ncmFtbWluZ1wiLHRtU2NvcGU6XCJzb3VyY2UuanNcIixhY2VNb2RlOlwiamF2YXNjcmlwdFwiLGNvZGVtaXJyb3JNb2RlOlwiamF2YXNjcmlwdFwiLGNvZGVtaXJyb3JNaW1lVHlwZTpcInRleHQvamF2YXNjcmlwdFwiLGNvbG9yOlwiI2YxZTA1YVwiLGFsaWFzZXM6W10sZXh0ZW5zaW9uczpbXCIuanMuZmxvd1wiXSxmaWxlbmFtZXM6W10saW50ZXJwcmV0ZXJzOltcImNoYWtyYVwiLFwiZDhcIixcImdqc1wiLFwianNcIixcIm5vZGVcIixcIm5vZGVqc1wiLFwicWpzXCIsXCJyaGlub1wiLFwidjhcIixcInY4LXNoZWxsXCJdLHBhcnNlcnM6W1wiZmxvd1wiLFwiYmFiZWwtZmxvd1wiXSx2c2NvZGVMYW5ndWFnZUlkczpbXCJqYXZhc2NyaXB0XCJdfSx7bGluZ3Vpc3RMYW5ndWFnZUlkOjE4MyxuYW1lOlwiSlNYXCIsdHlwZTpcInByb2dyYW1taW5nXCIsdG1TY29wZTpcInNvdXJjZS5qcy5qc3hcIixhY2VNb2RlOlwiamF2YXNjcmlwdFwiLGNvZGVtaXJyb3JNb2RlOlwianN4XCIsY29kZW1pcnJvck1pbWVUeXBlOlwidGV4dC9qc3hcIixjb2xvcjp2b2lkIDAsYWxpYXNlczp2b2lkIDAsZXh0ZW5zaW9uczpbXCIuanN4XCJdLGZpbGVuYW1lczp2b2lkIDAsaW50ZXJwcmV0ZXJzOnZvaWQgMCxwYXJzZXJzOltcImJhYmVsXCIsXCJiYWJlbC1mbG93XCIsXCJiYWJlbC10c1wiLFwiZmxvd1wiLFwidHlwZXNjcmlwdFwiLFwiZXNwcmVlXCIsXCJtZXJpeWFoXCJdLHZzY29kZUxhbmd1YWdlSWRzOltcImphdmFzY3JpcHRyZWFjdFwiXSxncm91cDpcIkphdmFTY3JpcHRcIn0se2xpbmd1aXN0TGFuZ3VhZ2VJZDozNzgsbmFtZTpcIlR5cGVTY3JpcHRcIix0eXBlOlwicHJvZ3JhbW1pbmdcIixjb2xvcjpcIiMzMTc4YzZcIixhbGlhc2VzOltcInRzXCJdLGludGVycHJldGVyczpbXCJkZW5vXCIsXCJ0cy1ub2RlXCJdLGV4dGVuc2lvbnM6W1wiLnRzXCIsXCIuY3RzXCIsXCIubXRzXCJdLHRtU2NvcGU6XCJzb3VyY2UudHNcIixhY2VNb2RlOlwidHlwZXNjcmlwdFwiLGNvZGVtaXJyb3JNb2RlOlwiamF2YXNjcmlwdFwiLGNvZGVtaXJyb3JNaW1lVHlwZTpcImFwcGxpY2F0aW9uL3R5cGVzY3JpcHRcIixwYXJzZXJzOltcInR5cGVzY3JpcHRcIixcImJhYmVsLXRzXCJdLHZzY29kZUxhbmd1YWdlSWRzOltcInR5cGVzY3JpcHRcIl19LHtsaW5ndWlzdExhbmd1YWdlSWQ6OTQ5MDE5MjQsbmFtZTpcIlRTWFwiLHR5cGU6XCJwcm9ncmFtbWluZ1wiLGNvbG9yOlwiIzMxNzhjNlwiLGdyb3VwOlwiVHlwZVNjcmlwdFwiLGV4dGVuc2lvbnM6W1wiLnRzeFwiXSx0bVNjb3BlOlwic291cmNlLnRzeFwiLGFjZU1vZGU6XCJqYXZhc2NyaXB0XCIsY29kZW1pcnJvck1vZGU6XCJqc3hcIixjb2RlbWlycm9yTWltZVR5cGU6XCJ0ZXh0L2pzeFwiLHBhcnNlcnM6W1widHlwZXNjcmlwdFwiLFwiYmFiZWwtdHNcIl0sdnNjb2RlTGFuZ3VhZ2VJZHM6W1widHlwZXNjcmlwdHJlYWN0XCJdfV07dmFyIHdzPXt9O0FyKHdzLHtjYW5BdHRhY2hDb21tZW50OigpPT5BcCxlbWJlZDooKT0+WnUsZXhwZXJpbWVudGFsRmVhdHVyZXM6KCk9PnRtLGdldENvbW1lbnRDaGlsZE5vZGVzOigpPT5UcCxnZXRWaXNpdG9yS2V5czooKT0+Z3IsaGFuZGxlQ29tbWVudHM6KCk9PiRuLGluc2VydFByYWdtYTooKT0+Y2ksaXNCbG9ja0NvbW1lbnQ6KCk9PmVlLGlzR2FwOigpPT5kcCxtYXNzYWdlQXN0Tm9kZTooKT0+QXUscHJpbnQ6KCk9Pk9hLHByaW50Q29tbWVudDooKT0+a3Usd2lsbFByaW50T3duQ29tbWVudHM6KCk9PktufSk7dmFyIFlhPShlLHQscixuKT0+e2lmKCEoZSYmdD09bnVsbCkpcmV0dXJuIHQucmVwbGFjZUFsbD90LnJlcGxhY2VBbGwocixuKTpyLmdsb2JhbD90LnJlcGxhY2UocixuKTp0LnNwbGl0KHIpLmpvaW4obil9LFk9WWE7dmFyIEhhPShlLHQscik9PntpZighKGUmJnQ9PW51bGwpKXJldHVybiBBcnJheS5pc0FycmF5KHQpfHx0eXBlb2YgdD09XCJzdHJpbmdcIj90W3I8MD90Lmxlbmd0aCtyOnJdOnQuYXQocil9LF89SGE7ZnVuY3Rpb24gTmEoZSl7cmV0dXJuIGUhPT1udWxsJiZ0eXBlb2YgZT09XCJvYmplY3RcIn12YXIgWHM9TmE7ZnVuY3Rpb24qVmEoZSx0KXtsZXR7Z2V0VmlzaXRvcktleXM6cixmaWx0ZXI6bj0oKT0+ITB9PXQscz11PT5Ycyh1KSYmbih1KTtmb3IobGV0IHUgb2YgcihlKSl7bGV0IGk9ZVt1XTtpZihBcnJheS5pc0FycmF5KGkpKWZvcihsZXQgYSBvZiBpKXMoYSkmJih5aWVsZCBhKTtlbHNlIHMoaSkmJih5aWVsZCBpKX19ZnVuY3Rpb24qJGEoZSx0KXtsZXQgcj1bZV07Zm9yKGxldCBuPTA7bjxyLmxlbmd0aDtuKyspe2xldCBzPXJbbl07Zm9yKGxldCB1IG9mIFZhKHMsdCkpeWllbGQgdSxyLnB1c2godSl9fWZ1bmN0aW9uIFlzKGUse2dldFZpc2l0b3JLZXlzOnQscHJlZGljYXRlOnJ9KXtmb3IobGV0IG4gb2YgJGEoZSx7Z2V0VmlzaXRvcktleXM6dH0pKWlmKHIobikpcmV0dXJuITA7cmV0dXJuITF9dmFyIEhzPSgpPT4vWyMqMC05XVxcdUZFMEY/XFx1MjBFM3xbXFx4QTlcXHhBRVxcdTIwM0NcXHUyMDQ5XFx1MjEyMlxcdTIxMzlcXHUyMTk0LVxcdTIxOTlcXHUyMUE5XFx1MjFBQVxcdTIzMUFcXHUyMzFCXFx1MjMyOFxcdTIzQ0ZcXHUyM0VELVxcdTIzRUZcXHUyM0YxXFx1MjNGMlxcdTIzRjgtXFx1MjNGQVxcdTI0QzJcXHUyNUFBXFx1MjVBQlxcdTI1QjZcXHUyNUMwXFx1MjVGQlxcdTI1RkNcXHUyNUZFXFx1MjYwMC1cXHUyNjA0XFx1MjYwRVxcdTI2MTFcXHUyNjE0XFx1MjYxNVxcdTI2MThcXHUyNjIwXFx1MjYyMlxcdTI2MjNcXHUyNjI2XFx1MjYyQVxcdTI2MkVcXHUyNjJGXFx1MjYzOC1cXHUyNjNBXFx1MjY0MFxcdTI2NDJcXHUyNjQ4LVxcdTI2NTNcXHUyNjVGXFx1MjY2MFxcdTI2NjNcXHUyNjY1XFx1MjY2NlxcdTI2NjhcXHUyNjdCXFx1MjY3RVxcdTI2N0ZcXHUyNjkyXFx1MjY5NC1cXHUyNjk3XFx1MjY5OVxcdTI2OUJcXHUyNjlDXFx1MjZBMFxcdTI2QTdcXHUyNkFBXFx1MjZCMFxcdTI2QjFcXHUyNkJEXFx1MjZCRVxcdTI2QzRcXHUyNkM4XFx1MjZDRlxcdTI2RDFcXHUyNkU5XFx1MjZGMC1cXHUyNkY1XFx1MjZGN1xcdTI2RjhcXHUyNkZBXFx1MjcwMlxcdTI3MDhcXHUyNzA5XFx1MjcwRlxcdTI3MTJcXHUyNzE0XFx1MjcxNlxcdTI3MURcXHUyNzIxXFx1MjczM1xcdTI3MzRcXHUyNzQ0XFx1Mjc0N1xcdTI3NTdcXHUyNzYzXFx1MjdBMVxcdTI5MzRcXHUyOTM1XFx1MkIwNS1cXHUyQjA3XFx1MkIxQlxcdTJCMUNcXHUyQjU1XFx1MzAzMFxcdTMwM0RcXHUzMjk3XFx1MzI5OV1cXHVGRTBGP3xbXFx1MjYxRFxcdTI3MENcXHUyNzBEXSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVGRTBGKT98W1xcdTI3MEFcXHUyNzBCXSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/fFtcXHUyM0U5LVxcdTIzRUNcXHUyM0YwXFx1MjNGM1xcdTI1RkRcXHUyNjkzXFx1MjZBMVxcdTI2QUJcXHUyNkM1XFx1MjZDRVxcdTI2RDRcXHUyNkVBXFx1MjZGRFxcdTI3MDVcXHUyNzI4XFx1Mjc0Q1xcdTI3NEVcXHUyNzUzLVxcdTI3NTVcXHUyNzk1LVxcdTI3OTdcXHUyN0IwXFx1MjdCRlxcdTJCNTBdfFxcdTI2RDNcXHVGRTBGPyg/OlxcdTIwMERcXHVEODNEXFx1RENBNSk/fFxcdTI2RjkoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RkUwRik/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFxcdTI3NjRcXHVGRTBGPyg/OlxcdTIwMEQoPzpcXHVEODNEXFx1REQyNXxcXHVEODNFXFx1REU3OSkpP3xcXHVEODNDKD86W1xcdURDMDRcXHVERDcwXFx1REQ3MVxcdUREN0VcXHVERDdGXFx1REUwMlxcdURFMzdcXHVERjIxXFx1REYyNC1cXHVERjJDXFx1REYzNlxcdURGN0RcXHVERjk2XFx1REY5N1xcdURGOTktXFx1REY5QlxcdURGOUVcXHVERjlGXFx1REZDRFxcdURGQ0VcXHVERkQ0LVxcdURGREZcXHVERkY1XFx1REZGN11cXHVGRTBGP3xbXFx1REY4NVxcdURGQzJcXHVERkM3XSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/fFtcXHVERkM0XFx1REZDQV0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pPyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xbXFx1REZDQlxcdURGQ0NdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUZFMEYpPyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xbXFx1RENDRlxcdUREOEVcXHVERDkxLVxcdUREOUFcXHVERTAxXFx1REUxQVxcdURFMkZcXHVERTMyLVxcdURFMzZcXHVERTM4LVxcdURFM0FcXHVERTUwXFx1REU1MVxcdURGMDAtXFx1REYyMFxcdURGMkQtXFx1REYzNVxcdURGMzctXFx1REY0M1xcdURGNDUtXFx1REY0QVxcdURGNEMtXFx1REY3Q1xcdURGN0UtXFx1REY4NFxcdURGODYtXFx1REY5M1xcdURGQTAtXFx1REZDMVxcdURGQzVcXHVERkM2XFx1REZDOFxcdURGQzlcXHVERkNGLVxcdURGRDNcXHVERkUwLVxcdURGRjBcXHVERkY4LVxcdURGRkZdfFxcdURERTZcXHVEODNDW1xcdURERTgtXFx1RERFQ1xcdURERUVcXHVEREYxXFx1RERGMlxcdURERjRcXHVEREY2LVxcdURERkFcXHVEREZDXFx1RERGRFxcdURERkZdfFxcdURERTdcXHVEODNDW1xcdURERTZcXHVEREU3XFx1RERFOS1cXHVEREVGXFx1RERGMS1cXHVEREY0XFx1RERGNi1cXHVEREY5XFx1RERGQlxcdURERkNcXHVEREZFXFx1RERGRl18XFx1RERFOFxcdUQ4M0NbXFx1RERFNlxcdURERThcXHVEREU5XFx1RERFQi1cXHVEREVFXFx1RERGMC1cXHVEREY3XFx1RERGQS1cXHVEREZGXXxcXHVEREU5XFx1RDgzQ1tcXHVEREVBXFx1RERFQ1xcdURERUZcXHVEREYwXFx1RERGMlxcdURERjRcXHVEREZGXXxcXHVEREVBXFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERUFcXHVEREVDXFx1RERFRFxcdURERjctXFx1RERGQV18XFx1RERFQlxcdUQ4M0NbXFx1RERFRS1cXHVEREYwXFx1RERGMlxcdURERjRcXHVEREY3XXxcXHVEREVDXFx1RDgzQ1tcXHVEREU2XFx1RERFN1xcdURERTktXFx1RERFRVxcdURERjEtXFx1RERGM1xcdURERjUtXFx1RERGQVxcdURERkNcXHVEREZFXXxcXHVEREVEXFx1RDgzQ1tcXHVEREYwXFx1RERGMlxcdURERjNcXHVEREY3XFx1RERGOVxcdURERkFdfFxcdURERUVcXHVEODNDW1xcdURERTgtXFx1RERFQVxcdURERjEtXFx1RERGNFxcdURERjYtXFx1RERGOV18XFx1RERFRlxcdUQ4M0NbXFx1RERFQVxcdURERjJcXHVEREY0XFx1RERGNV18XFx1RERGMFxcdUQ4M0NbXFx1RERFQVxcdURERUMtXFx1RERFRVxcdURERjJcXHVEREYzXFx1RERGNVxcdURERjdcXHVEREZDXFx1RERGRVxcdURERkZdfFxcdURERjFcXHVEODNDW1xcdURERTYtXFx1RERFOFxcdURERUVcXHVEREYwXFx1RERGNy1cXHVEREZCXFx1RERGRV18XFx1RERGMlxcdUQ4M0NbXFx1RERFNlxcdURERTgtXFx1RERFRFxcdURERjAtXFx1RERGRl18XFx1RERGM1xcdUQ4M0NbXFx1RERFNlxcdURERThcXHVEREVBLVxcdURERUNcXHVEREVFXFx1RERGMVxcdURERjRcXHVEREY1XFx1RERGN1xcdURERkFcXHVEREZGXXxcXHVEREY0XFx1RDgzQ1xcdURERjJ8XFx1RERGNVxcdUQ4M0NbXFx1RERFNlxcdURERUEtXFx1RERFRFxcdURERjAtXFx1RERGM1xcdURERjctXFx1RERGOVxcdURERkNcXHVEREZFXXxcXHVEREY2XFx1RDgzQ1xcdURERTZ8XFx1RERGN1xcdUQ4M0NbXFx1RERFQVxcdURERjRcXHVEREY4XFx1RERGQVxcdURERkNdfFxcdURERjhcXHVEODNDW1xcdURERTYtXFx1RERFQVxcdURERUMtXFx1RERGNFxcdURERjctXFx1RERGOVxcdURERkJcXHVEREZELVxcdURERkZdfFxcdURERjlcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFOVxcdURERUItXFx1RERFRFxcdURERUYtXFx1RERGNFxcdURERjdcXHVEREY5XFx1RERGQlxcdURERkNcXHVEREZGXXxcXHVEREZBXFx1RDgzQ1tcXHVEREU2XFx1RERFQ1xcdURERjJcXHVEREYzXFx1RERGOFxcdURERkVcXHVEREZGXXxcXHVEREZCXFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERUFcXHVEREVDXFx1RERFRVxcdURERjNcXHVEREZBXXxcXHVEREZDXFx1RDgzQ1tcXHVEREVCXFx1RERGOF18XFx1RERGRFxcdUQ4M0NcXHVEREYwfFxcdURERkVcXHVEODNDW1xcdURERUFcXHVEREY5XXxcXHVEREZGXFx1RDgzQ1tcXHVEREU2XFx1RERGMlxcdURERkNdfFxcdURGNDQoPzpcXHUyMDBEXFx1RDgzRFxcdURGRUIpP3xcXHVERjRCKD86XFx1MjAwRFxcdUQ4M0RcXHVERkU5KT98XFx1REZDMyg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRCg/OltcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xcXHUyN0ExXFx1RkUwRj8pKT98XFx1REZGM1xcdUZFMEY/KD86XFx1MjAwRCg/OlxcdTI2QTdcXHVGRTBGP3xcXHVEODNDXFx1REYwOCkpP3xcXHVERkY0KD86XFx1MjAwRFxcdTI2MjBcXHVGRTBGP3xcXHVEQjQwXFx1REM2N1xcdURCNDBcXHVEQzYyXFx1REI0MCg/OlxcdURDNjVcXHVEQjQwXFx1REM2RVxcdURCNDBcXHVEQzY3fFxcdURDNzNcXHVEQjQwXFx1REM2M1xcdURCNDBcXHVEQzc0fFxcdURDNzdcXHVEQjQwXFx1REM2Q1xcdURCNDBcXHVEQzczKVxcdURCNDBcXHVEQzdGKT8pfFxcdUQ4M0QoPzpbXFx1REMzRlxcdURDRkRcXHVERDQ5XFx1REQ0QVxcdURENkZcXHVERDcwXFx1REQ3M1xcdURENzYtXFx1REQ3OVxcdUREODdcXHVERDhBLVxcdUREOERcXHVEREE1XFx1RERBOFxcdUREQjFcXHVEREIyXFx1RERCQ1xcdUREQzItXFx1RERDNFxcdURERDEtXFx1REREM1xcdUREREMtXFx1RERERVxcdURERTFcXHVEREUzXFx1RERFOFxcdURERUZcXHVEREYzXFx1RERGQVxcdURFQ0JcXHVERUNELVxcdURFQ0ZcXHVERUUwLVxcdURFRTVcXHVERUU5XFx1REVGMFxcdURFRjNdXFx1RkUwRj98W1xcdURDNDJcXHVEQzQzXFx1REM0Ni1cXHVEQzUwXFx1REM2NlxcdURDNjdcXHVEQzZCLVxcdURDNkRcXHVEQzcyXFx1REM3NC1cXHVEQzc2XFx1REM3OFxcdURDN0NcXHVEQzgzXFx1REM4NVxcdURDOEZcXHVEQzkxXFx1RENBQVxcdUREN0FcXHVERDk1XFx1REQ5NlxcdURFNENcXHVERTRGXFx1REVDMFxcdURFQ0NdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdURDNkVcXHVEQzcwXFx1REM3MVxcdURDNzNcXHVEQzc3XFx1REM4MVxcdURDODJcXHVEQzg2XFx1REM4N1xcdURFNDUtXFx1REU0N1xcdURFNEJcXHVERTREXFx1REU0RVxcdURFQTNcXHVERUI0XFx1REVCNV0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pPyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xbXFx1REQ3NFxcdUREOTBdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUZFMEYpP3xbXFx1REMwMC1cXHVEQzA3XFx1REMwOS1cXHVEQzE0XFx1REMxNi1cXHVEQzI1XFx1REMyNy1cXHVEQzNBXFx1REMzQy1cXHVEQzNFXFx1REM0MFxcdURDNDRcXHVEQzQ1XFx1REM1MS1cXHVEQzY1XFx1REM2QVxcdURDNzktXFx1REM3QlxcdURDN0QtXFx1REM4MFxcdURDODRcXHVEQzg4LVxcdURDOEVcXHVEQzkwXFx1REM5Mi1cXHVEQ0E5XFx1RENBQi1cXHVEQ0ZDXFx1RENGRi1cXHVERDNEXFx1REQ0Qi1cXHVERDRFXFx1REQ1MC1cXHVERDY3XFx1RERBNFxcdURERkItXFx1REUyRFxcdURFMkYtXFx1REUzNFxcdURFMzctXFx1REU0MVxcdURFNDNcXHVERTQ0XFx1REU0OC1cXHVERTRBXFx1REU4MC1cXHVERUEyXFx1REVBNC1cXHVERUIzXFx1REVCNy1cXHVERUJGXFx1REVDMS1cXHVERUM1XFx1REVEMC1cXHVERUQyXFx1REVENS1cXHVERUQ3XFx1REVEQy1cXHVERURGXFx1REVFQlxcdURFRUNcXHVERUY0LVxcdURFRkNcXHVERkUwLVxcdURGRUJcXHVERkYwXXxcXHVEQzA4KD86XFx1MjAwRFxcdTJCMUIpP3xcXHVEQzE1KD86XFx1MjAwRFxcdUQ4M0VcXHVEREJBKT98XFx1REMyNig/OlxcdTIwMEQoPzpcXHUyQjFCfFxcdUQ4M0RcXHVERDI1KSk/fFxcdURDM0IoPzpcXHUyMDBEXFx1Mjc0NFxcdUZFMEY/KT98XFx1REM0MVxcdUZFMEY/KD86XFx1MjAwRFxcdUQ4M0RcXHVEREU4XFx1RkUwRj8pP3xcXHVEQzY4KD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzhCXFx1MjAwRFxcdUQ4M0QpP1xcdURDNjh8XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV1cXHUyMDBEXFx1RDgzRCg/OlxcdURDNjYoPzpcXHUyMDBEXFx1RDgzRFxcdURDNjYpP3xcXHVEQzY3KD86XFx1MjAwRFxcdUQ4M0RbXFx1REM2NlxcdURDNjddKT8pfFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdURDNjYoPzpcXHUyMDBEXFx1RDgzRFxcdURDNjYpP3xcXHVEQzY3KD86XFx1MjAwRFxcdUQ4M0RbXFx1REM2NlxcdURDNjddKT8pfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXSkpfFxcdUQ4M0MoPzpcXHVERkZCKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzhCXFx1MjAwRFxcdUQ4M0QpP1xcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4XFx1RDgzQ1tcXHVERkZDLVxcdURGRkZdKSkpP3xcXHVERkZDKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzhCXFx1MjAwRFxcdUQ4M0QpP1xcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4XFx1RDgzQ1tcXHVERkZCXFx1REZGRC1cXHVERkZGXSkpKT98XFx1REZGRCg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9cXHVEQzY4XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OFxcdUQ4M0NbXFx1REZGQlxcdURGRkNcXHVERkZFXFx1REZGRl0pKSk/fFxcdURGRkUoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRFxcdURGRkZdKSkpP3xcXHVERkZGKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzhCXFx1MjAwRFxcdUQ4M0QpP1xcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4XFx1RDgzQ1tcXHVERkZCLVxcdURGRkVdKSkpPykpP3xcXHVEQzY5KD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzhCXFx1MjAwRFxcdUQ4M0QpP1tcXHVEQzY4XFx1REM2OV18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRCg/OltcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdURDNjYoPzpcXHUyMDBEXFx1RDgzRFxcdURDNjYpP3xcXHVEQzY3KD86XFx1MjAwRFxcdUQ4M0RbXFx1REM2NlxcdURDNjddKT98XFx1REM2OVxcdTIwMERcXHVEODNEKD86XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pPykpfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXSkpfFxcdUQ4M0MoPzpcXHVERkZCKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldfFxcdURDOEJcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XVxcdUQ4M0NbXFx1REZGQy1cXHVERkZGXSkpKT98XFx1REZGQyg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XXxcXHVEQzhCXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldKVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV1cXHVEODNDW1xcdURGRkJcXHVERkZELVxcdURGRkZdKSkpP3xcXHVERkZEKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldfFxcdURDOEJcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XVxcdUQ4M0NbXFx1REZGQlxcdURGRkNcXHVERkZFXFx1REZGRl0pKSk/fFxcdURGRkUoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV18XFx1REM4QlxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldXFx1RDgzQ1tcXHVERkZCLVxcdURGRkRcXHVERkZGXSkpKT98XFx1REZGRig/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XXxcXHVEQzhCXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldKVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV1cXHVEODNDW1xcdURGRkItXFx1REZGRV0pKSk/KSk/fFxcdURDNkYoPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98XFx1REQ3NSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVGRTBGKT8oPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98XFx1REUyRSg/OlxcdTIwMERcXHVEODNEXFx1RENBOCk/fFxcdURFMzUoPzpcXHUyMDBEXFx1RDgzRFxcdURDQUIpP3xcXHVERTM2KD86XFx1MjAwRFxcdUQ4M0NcXHVERjJCXFx1RkUwRj8pP3xcXHVERTQyKD86XFx1MjAwRFtcXHUyMTk0XFx1MjE5NV1cXHVGRTBGPyk/fFxcdURFQjYoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pPyg/OlxcdTIwMEQoPzpbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98XFx1MjdBMVxcdUZFMEY/KSk/KXxcXHVEODNFKD86W1xcdUREMENcXHVERDBGXFx1REQxOC1cXHVERDFGXFx1REQzMC1cXHVERDM0XFx1REQzNlxcdURENzdcXHVEREI1XFx1RERCNlxcdUREQkJcXHVEREQyXFx1REREM1xcdURERDVcXHVERUMzLVxcdURFQzVcXHVERUYwXFx1REVGMi1cXHVERUY4XSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/fFtcXHVERDI2XFx1REQzNVxcdUREMzctXFx1REQzOVxcdUREM0RcXHVERDNFXFx1RERCOFxcdUREQjlcXHVERENEXFx1RERDRlxcdURERDRcXHVEREQ2LVxcdURERERdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98W1xcdUREREVcXHVERERGXSg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xbXFx1REQwRFxcdUREMEVcXHVERDEwLVxcdUREMTdcXHVERDIwLVxcdUREMjVcXHVERDI3LVxcdUREMkZcXHVERDNBXFx1REQzRi1cXHVERDQ1XFx1REQ0Ny1cXHVERDc2XFx1REQ3OC1cXHVEREI0XFx1RERCN1xcdUREQkFcXHVEREJDLVxcdUREQ0NcXHVEREQwXFx1RERFMC1cXHVEREZGXFx1REU3MC1cXHVERTdDXFx1REU4MC1cXHVERTg5XFx1REU4Ri1cXHVERUMyXFx1REVDNlxcdURFQ0UtXFx1REVEQ1xcdURFREYtXFx1REVFOV18XFx1REQzQyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj98XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98XFx1RERDRSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRCg/OltcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xcXHUyN0ExXFx1RkUwRj8pKT98XFx1REREMSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY4NFxcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDF8XFx1REREMVxcdTIwMERcXHVEODNFXFx1REREMig/OlxcdTIwMERcXHVEODNFXFx1REREMik/fFxcdURERDIoPzpcXHUyMDBEXFx1RDgzRVxcdURERDIpPykpfFxcdUQ4M0MoPzpcXHVERkZCKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCk/XFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkMtXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSkpKT98XFx1REZGQyg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMEQoPzpcXHVEODNEXFx1REM4QlxcdTIwMEQpP1xcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCXFx1REZGRC1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKSkpP3xcXHVERkZEKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCk/XFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkJcXHVERkZDXFx1REZGRVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY4NFxcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRl0pKSk/fFxcdURGRkUoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZEXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSkpKT98XFx1REZGRig/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMEQoPzpcXHVEODNEXFx1REM4QlxcdTIwMEQpP1xcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkVdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY4NFxcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRl0pKSk/KSk/fFxcdURFRjEoPzpcXHVEODNDKD86XFx1REZGQig/OlxcdTIwMERcXHVEODNFXFx1REVGMlxcdUQ4M0NbXFx1REZGQy1cXHVERkZGXSk/fFxcdURGRkMoPzpcXHUyMDBEXFx1RDgzRVxcdURFRjJcXHVEODNDW1xcdURGRkJcXHVERkZELVxcdURGRkZdKT98XFx1REZGRCg/OlxcdTIwMERcXHVEODNFXFx1REVGMlxcdUQ4M0NbXFx1REZGQlxcdURGRkNcXHVERkZFXFx1REZGRl0pP3xcXHVERkZFKD86XFx1MjAwRFxcdUQ4M0VcXHVERUYyXFx1RDgzQ1tcXHVERkZCLVxcdURGRkRcXHVERkZGXSk/fFxcdURGRkYoPzpcXHUyMDBEXFx1RDgzRVxcdURFRjJcXHVEODNDW1xcdURGRkItXFx1REZGRV0pPykpPykvZztmdW5jdGlvbiBOcyhlKXtyZXR1cm4gZT09PTEyMjg4fHxlPj02NTI4MSYmZTw9NjUzNzZ8fGU+PTY1NTA0JiZlPD02NTUxMH1mdW5jdGlvbiBWcyhlKXtyZXR1cm4gZT49NDM1MiYmZTw9NDQ0N3x8ZT09PTg5ODZ8fGU9PT04OTg3fHxlPT09OTAwMXx8ZT09PTkwMDJ8fGU+PTkxOTMmJmU8PTkxOTZ8fGU9PT05MjAwfHxlPT09OTIwM3x8ZT09PTk3MjV8fGU9PT05NzI2fHxlPT09OTc0OHx8ZT09PTk3NDl8fGU+PTk3NzYmJmU8PTk3ODN8fGU+PTk4MDAmJmU8PTk4MTF8fGU9PT05ODU1fHxlPj05ODY2JiZlPD05ODcxfHxlPT09OTg3NXx8ZT09PTk4ODl8fGU9PT05ODk4fHxlPT09OTg5OXx8ZT09PTk5MTd8fGU9PT05OTE4fHxlPT09OTkyNHx8ZT09PTk5MjV8fGU9PT05OTM0fHxlPT09OTk0MHx8ZT09PTk5NjJ8fGU9PT05OTcwfHxlPT09OTk3MXx8ZT09PTk5NzN8fGU9PT05OTc4fHxlPT09OTk4MXx8ZT09PTk5ODl8fGU9PT05OTk0fHxlPT09OTk5NXx8ZT09PTEwMDI0fHxlPT09MTAwNjB8fGU9PT0xMDA2Mnx8ZT49MTAwNjcmJmU8PTEwMDY5fHxlPT09MTAwNzF8fGU+PTEwMTMzJiZlPD0xMDEzNXx8ZT09PTEwMTYwfHxlPT09MTAxNzV8fGU9PT0xMTAzNXx8ZT09PTExMDM2fHxlPT09MTEwODh8fGU9PT0xMTA5M3x8ZT49MTE5MDQmJmU8PTExOTI5fHxlPj0xMTkzMSYmZTw9MTIwMTl8fGU+PTEyMDMyJiZlPD0xMjI0NXx8ZT49MTIyNzImJmU8PTEyMjg3fHxlPj0xMjI4OSYmZTw9MTIzNTB8fGU+PTEyMzUzJiZlPD0xMjQzOHx8ZT49MTI0NDEmJmU8PTEyNTQzfHxlPj0xMjU0OSYmZTw9MTI1OTF8fGU+PTEyNTkzJiZlPD0xMjY4Nnx8ZT49MTI2ODgmJmU8PTEyNzczfHxlPj0xMjc4MyYmZTw9MTI4MzB8fGU+PTEyODMyJiZlPD0xMjg3MXx8ZT49MTI4ODAmJmU8PTQyMTI0fHxlPj00MjEyOCYmZTw9NDIxODJ8fGU+PTQzMzYwJiZlPD00MzM4OHx8ZT49NDQwMzImJmU8PTU1MjAzfHxlPj02Mzc0NCYmZTw9NjQyNTV8fGU+PTY1MDQwJiZlPD02NTA0OXx8ZT49NjUwNzImJmU8PTY1MTA2fHxlPj02NTEwOCYmZTw9NjUxMjZ8fGU+PTY1MTI4JiZlPD02NTEzMXx8ZT49OTQxNzYmJmU8PTk0MTgwfHxlPT09OTQxOTJ8fGU9PT05NDE5M3x8ZT49OTQyMDgmJmU8PTEwMDM0M3x8ZT49MTAwMzUyJiZlPD0xMDE1ODl8fGU+PTEwMTYzMSYmZTw9MTAxNjQwfHxlPj0xMTA1NzYmJmU8PTExMDU3OXx8ZT49MTEwNTgxJiZlPD0xMTA1ODd8fGU9PT0xMTA1ODl8fGU9PT0xMTA1OTB8fGU+PTExMDU5MiYmZTw9MTEwODgyfHxlPT09MTEwODk4fHxlPj0xMTA5MjgmJmU8PTExMDkzMHx8ZT09PTExMDkzM3x8ZT49MTEwOTQ4JiZlPD0xMTA5NTF8fGU+PTExMDk2MCYmZTw9MTExMzU1fHxlPj0xMTk1NTImJmU8PTExOTYzOHx8ZT49MTE5NjQ4JiZlPD0xMTk2NzB8fGU9PT0xMjY5ODB8fGU9PT0xMjcxODN8fGU9PT0xMjczNzR8fGU+PTEyNzM3NyYmZTw9MTI3Mzg2fHxlPj0xMjc0ODgmJmU8PTEyNzQ5MHx8ZT49MTI3NTA0JiZlPD0xMjc1NDd8fGU+PTEyNzU1MiYmZTw9MTI3NTYwfHxlPT09MTI3NTY4fHxlPT09MTI3NTY5fHxlPj0xMjc1ODQmJmU8PTEyNzU4OXx8ZT49MTI3NzQ0JiZlPD0xMjc3NzZ8fGU+PTEyNzc4OSYmZTw9MTI3Nzk3fHxlPj0xMjc3OTkmJmU8PTEyNzg2OHx8ZT49MTI3ODcwJiZlPD0xMjc4OTF8fGU+PTEyNzkwNCYmZTw9MTI3OTQ2fHxlPj0xMjc5NTEmJmU8PTEyNzk1NXx8ZT49MTI3OTY4JiZlPD0xMjc5ODR8fGU9PT0xMjc5ODh8fGU+PTEyNzk5MiYmZTw9MTI4MDYyfHxlPT09MTI4MDY0fHxlPj0xMjgwNjYmJmU8PTEyODI1Mnx8ZT49MTI4MjU1JiZlPD0xMjgzMTd8fGU+PTEyODMzMSYmZTw9MTI4MzM0fHxlPj0xMjgzMzYmJmU8PTEyODM1OXx8ZT09PTEyODM3OHx8ZT09PTEyODQwNXx8ZT09PTEyODQwNnx8ZT09PTEyODQyMHx8ZT49MTI4NTA3JiZlPD0xMjg1OTF8fGU+PTEyODY0MCYmZTw9MTI4NzA5fHxlPT09MTI4NzE2fHxlPj0xMjg3MjAmJmU8PTEyODcyMnx8ZT49MTI4NzI1JiZlPD0xMjg3Mjd8fGU+PTEyODczMiYmZTw9MTI4NzM1fHxlPT09MTI4NzQ3fHxlPT09MTI4NzQ4fHxlPj0xMjg3NTYmJmU8PTEyODc2NHx8ZT49MTI4OTkyJiZlPD0xMjkwMDN8fGU9PT0xMjkwMDh8fGU+PTEyOTI5MiYmZTw9MTI5MzM4fHxlPj0xMjkzNDAmJmU8PTEyOTM0OXx8ZT49MTI5MzUxJiZlPD0xMjk1MzV8fGU+PTEyOTY0OCYmZTw9MTI5NjYwfHxlPj0xMjk2NjQmJmU8PTEyOTY3M3x8ZT49MTI5Njc5JiZlPD0xMjk3MzR8fGU+PTEyOTc0MiYmZTw9MTI5NzU2fHxlPj0xMjk3NTkmJmU8PTEyOTc2OXx8ZT49MTI5Nzc2JiZlPD0xMjk3ODR8fGU+PTEzMTA3MiYmZTw9MTk2NjA1fHxlPj0xOTY2MDgmJmU8PTI2MjE0MX12YXIgJHM9ZT0+IShOcyhlKXx8VnMoZSkpO3ZhciBLYT0vW15cXHgyMC1cXHg3Rl0vdTtmdW5jdGlvbiBRYShlKXtpZighZSlyZXR1cm4gMDtpZighS2EudGVzdChlKSlyZXR1cm4gZS5sZW5ndGg7ZT1lLnJlcGxhY2UoSHMoKSxcIiAgXCIpO2xldCB0PTA7Zm9yKGxldCByIG9mIGUpe2xldCBuPXIuY29kZVBvaW50QXQoMCk7bjw9MzF8fG4+PTEyNyYmbjw9MTU5fHxuPj03NjgmJm48PTg3OXx8KHQrPSRzKG4pPzE6Mil9cmV0dXJuIHR9dmFyIHplPVFhO2Z1bmN0aW9uIFRyKGUpe3JldHVybih0LHIsbik9PntsZXQgcz0hIShuIT1udWxsJiZuLmJhY2t3YXJkcyk7aWYocj09PSExKXJldHVybiExO2xldHtsZW5ndGg6dX09dCxpPXI7Zm9yKDtpPj0wJiZpPHU7KXtsZXQgYT10LmNoYXJBdChpKTtpZihlIGluc3RhbmNlb2YgUmVnRXhwKXtpZighZS50ZXN0KGEpKXJldHVybiBpfWVsc2UgaWYoIWUuaW5jbHVkZXMoYSkpcmV0dXJuIGk7cz9pLS06aSsrfXJldHVybiBpPT09LTF8fGk9PT11P2k6ITF9fXZhciBCbT1UcigvXFxzL3UpLFdlPVRyKFwiIFx0XCIpLEtzPVRyKFwiLDsgXHRcIiksUXM9VHIoL1teXFxuXFxyXS91KTtmdW5jdGlvbiB6YShlLHQscil7bGV0IG49ISEociE9bnVsbCYmci5iYWNrd2FyZHMpO2lmKHQ9PT0hMSlyZXR1cm4hMTtsZXQgcz1lLmNoYXJBdCh0KTtpZihuKXtpZihlLmNoYXJBdCh0LTEpPT09XCJcXHJcIiYmcz09PWBcbmApcmV0dXJuIHQtMjtpZihzPT09YFxuYHx8cz09PVwiXFxyXCJ8fHM9PT1cIlxcdTIwMjhcInx8cz09PVwiXFx1MjAyOVwiKXJldHVybiB0LTF9ZWxzZXtpZihzPT09XCJcXHJcIiYmZS5jaGFyQXQodCsxKT09PWBcbmApcmV0dXJuIHQrMjtpZihzPT09YFxuYHx8cz09PVwiXFxyXCJ8fHM9PT1cIlxcdTIwMjhcInx8cz09PVwiXFx1MjAyOVwiKXJldHVybiB0KzF9cmV0dXJuIHR9dmFyIEdlPXphO2Z1bmN0aW9uIFphKGUsdCxyPXt9KXtsZXQgbj1XZShlLHIuYmFja3dhcmRzP3QtMTp0LHIpLHM9R2UoZSxuLHIpO3JldHVybiBuIT09c312YXIgWj1aYTtmdW5jdGlvbiBlbyhlLHQpe2lmKHQ9PT0hMSlyZXR1cm4hMTtpZihlLmNoYXJBdCh0KT09PVwiL1wiJiZlLmNoYXJBdCh0KzEpPT09XCIqXCIpe2ZvcihsZXQgcj10KzI7cjxlLmxlbmd0aDsrK3IpaWYoZS5jaGFyQXQocik9PT1cIipcIiYmZS5jaGFyQXQocisxKT09PVwiL1wiKXJldHVybiByKzJ9cmV0dXJuIHR9dmFyIE90PWVvO2Z1bmN0aW9uIHRvKGUsdCl7cmV0dXJuIHQ9PT0hMT8hMTplLmNoYXJBdCh0KT09PVwiL1wiJiZlLmNoYXJBdCh0KzEpPT09XCIvXCI/UXMoZSx0KTp0fXZhciBfdD10bztmdW5jdGlvbiBybyhlLHQpe2xldCByPW51bGwsbj10O2Zvcig7biE9PXI7KXI9bixuPUtzKGUsbiksbj1PdChlLG4pLG49V2UoZSxuKTtyZXR1cm4gbj1fdChlLG4pLG49R2UoZSxuKSxuIT09ITEmJlooZSxuKX12YXIganQ9cm87ZnVuY3Rpb24gbm8oZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSkmJmUubGVuZ3RoPjB9dmFyIE89bm87dmFyIHpzPW5ldyBQcm94eSgoKT0+e30se2dldDooKT0+enN9KSx2dD16czt2YXIgZHI9XCInXCIsWnM9J1wiJztmdW5jdGlvbiBzbyhlLHQpe2xldCByPXQ9PT0hMHx8dD09PWRyP2RyOlpzLG49cj09PWRyP1pzOmRyLHM9MCx1PTA7Zm9yKGxldCBpIG9mIGUpaT09PXI/cysrOmk9PT1uJiZ1Kys7cmV0dXJuIHM+dT9uOnJ9dmFyIHhyPXNvO2Z1bmN0aW9uIHVvKGUsdCxyKXtsZXQgbj10PT09J1wiJz9cIidcIjonXCInLHU9WSghMSxlLC9cXFxcKC4pfChbXCInXSkvZ3N1LChpLGEscCk9PmE9PT1uP2E6cD09PXQ/XCJcXFxcXCIrcDpwfHwociYmL15bXlxcblxcclwiJzAtN1xcXFxiZm5ydC12eFxcdTIwMjhcXHUyMDI5XSQvdS50ZXN0KGEpP2E6XCJcXFxcXCIrYSkpO3JldHVybiB0K3UrdH12YXIgZXU9dW87ZnVuY3Rpb24gaW8oZSx0KXt2dCgvXig/PHF1b3RlPltcIiddKS4qXFxrPHF1b3RlPiQvc3UudGVzdChlKSk7bGV0IHI9ZS5zbGljZSgxLC0xKSxuPXQucGFyc2VyPT09XCJqc29uXCJ8fHQucGFyc2VyPT09XCJqc29uY1wifHx0LnBhcnNlcj09PVwianNvbjVcIiYmdC5xdW90ZVByb3BzPT09XCJwcmVzZXJ2ZVwiJiYhdC5zaW5nbGVRdW90ZT8nXCInOnQuX19pc0luSHRtbEF0dHJpYnV0ZT9cIidcIjp4cihyLHQuc2luZ2xlUXVvdGUpO3JldHVybiBlLmNoYXJBdCgwKT09PW4/ZTpldShyLG4sITEpfXZhciBaZT1pbztmdW5jdGlvbiBxKGUpe3ZhciBuLHMsdTtsZXQgdD0oKG49ZS5yYW5nZSk9PW51bGw/dm9pZCAwOm5bMF0pPz9lLnN0YXJ0LHI9KHU9KChzPWUuZGVjbGFyYXRpb24pPT1udWxsP3ZvaWQgMDpzLmRlY29yYXRvcnMpPz9lLmRlY29yYXRvcnMpPT1udWxsP3ZvaWQgMDp1WzBdO3JldHVybiByP01hdGgubWluKHEociksdCk6dH1mdW5jdGlvbiBrKGUpe3ZhciB0O3JldHVybigodD1lLnJhbmdlKT09bnVsbD92b2lkIDA6dFsxXSk/P2UuZW5kfWZ1bmN0aW9uIEJ0KGUsdCl7bGV0IHI9cShlKTtyZXR1cm4gTnVtYmVyLmlzSW50ZWdlcihyKSYmcj09PXEodCl9ZnVuY3Rpb24gYW8oZSx0KXtsZXQgcj1rKGUpO3JldHVybiBOdW1iZXIuaXNJbnRlZ2VyKHIpJiZyPT09ayh0KX1mdW5jdGlvbiB0dShlLHQpe3JldHVybiBCdChlLHQpJiZhbyhlLHQpfXZhciBadD1udWxsO2Z1bmN0aW9uIGVyKGUpe2lmKFp0IT09bnVsbCYmdHlwZW9mIFp0LnByb3BlcnR5KXtsZXQgdD1adDtyZXR1cm4gWnQ9ZXIucHJvdG90eXBlPW51bGwsdH1yZXR1cm4gWnQ9ZXIucHJvdG90eXBlPWU/P09iamVjdC5jcmVhdGUobnVsbCksbmV3IGVyfXZhciBvbz0xMDtmb3IobGV0IGU9MDtlPD1vbztlKyspZXIoKTtmdW5jdGlvbiBJbihlKXtyZXR1cm4gZXIoZSl9ZnVuY3Rpb24gcG8oZSx0PVwidHlwZVwiKXtJbihlKTtmdW5jdGlvbiByKG4pe2xldCBzPW5bdF0sdT1lW3NdO2lmKCFBcnJheS5pc0FycmF5KHUpKXRocm93IE9iamVjdC5hc3NpZ24obmV3IEVycm9yKGBNaXNzaW5nIHZpc2l0b3Iga2V5cyBmb3IgJyR7c30nLmApLHtub2RlOm59KTtyZXR1cm4gdX1yZXR1cm4gcn12YXIgaHI9cG87dmFyIHJ1PXtBcnJheUV4cHJlc3Npb246W1wiZWxlbWVudHNcIl0sQXNzaWdubWVudEV4cHJlc3Npb246W1wibGVmdFwiLFwicmlnaHRcIl0sQmluYXJ5RXhwcmVzc2lvbjpbXCJsZWZ0XCIsXCJyaWdodFwiXSxJbnRlcnByZXRlckRpcmVjdGl2ZTpbXSxEaXJlY3RpdmU6W1widmFsdWVcIl0sRGlyZWN0aXZlTGl0ZXJhbDpbXSxCbG9ja1N0YXRlbWVudDpbXCJkaXJlY3RpdmVzXCIsXCJib2R5XCJdLEJyZWFrU3RhdGVtZW50OltcImxhYmVsXCJdLENhbGxFeHByZXNzaW9uOltcImNhbGxlZVwiLFwiYXJndW1lbnRzXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxDYXRjaENsYXVzZTpbXCJwYXJhbVwiLFwiYm9keVwiXSxDb25kaXRpb25hbEV4cHJlc3Npb246W1widGVzdFwiLFwiY29uc2VxdWVudFwiLFwiYWx0ZXJuYXRlXCJdLENvbnRpbnVlU3RhdGVtZW50OltcImxhYmVsXCJdLERlYnVnZ2VyU3RhdGVtZW50OltdLERvV2hpbGVTdGF0ZW1lbnQ6W1wiYm9keVwiLFwidGVzdFwiXSxFbXB0eVN0YXRlbWVudDpbXSxFeHByZXNzaW9uU3RhdGVtZW50OltcImV4cHJlc3Npb25cIl0sRmlsZTpbXCJwcm9ncmFtXCJdLEZvckluU3RhdGVtZW50OltcImxlZnRcIixcInJpZ2h0XCIsXCJib2R5XCJdLEZvclN0YXRlbWVudDpbXCJpbml0XCIsXCJ0ZXN0XCIsXCJ1cGRhdGVcIixcImJvZHlcIl0sRnVuY3Rpb25EZWNsYXJhdGlvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiLFwiYm9keVwiLFwicHJlZGljYXRlXCJdLEZ1bmN0aW9uRXhwcmVzc2lvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiLFwiYm9keVwiXSxJZGVudGlmaWVyOltcInR5cGVBbm5vdGF0aW9uXCIsXCJkZWNvcmF0b3JzXCJdLElmU3RhdGVtZW50OltcInRlc3RcIixcImNvbnNlcXVlbnRcIixcImFsdGVybmF0ZVwiXSxMYWJlbGVkU3RhdGVtZW50OltcImxhYmVsXCIsXCJib2R5XCJdLFN0cmluZ0xpdGVyYWw6W10sTnVtZXJpY0xpdGVyYWw6W10sTnVsbExpdGVyYWw6W10sQm9vbGVhbkxpdGVyYWw6W10sUmVnRXhwTGl0ZXJhbDpbXSxMb2dpY2FsRXhwcmVzc2lvbjpbXCJsZWZ0XCIsXCJyaWdodFwiXSxNZW1iZXJFeHByZXNzaW9uOltcIm9iamVjdFwiLFwicHJvcGVydHlcIl0sTmV3RXhwcmVzc2lvbjpbXCJjYWxsZWVcIixcImFyZ3VtZW50c1wiLFwidHlwZVBhcmFtZXRlcnNcIixcInR5cGVBcmd1bWVudHNcIl0sUHJvZ3JhbTpbXCJkaXJlY3RpdmVzXCIsXCJib2R5XCJdLE9iamVjdEV4cHJlc3Npb246W1wicHJvcGVydGllc1wiXSxPYmplY3RNZXRob2Q6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCJdLE9iamVjdFByb3BlcnR5OltcImtleVwiLFwidmFsdWVcIixcImRlY29yYXRvcnNcIl0sUmVzdEVsZW1lbnQ6W1wiYXJndW1lbnRcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJkZWNvcmF0b3JzXCJdLFJldHVyblN0YXRlbWVudDpbXCJhcmd1bWVudFwiXSxTZXF1ZW5jZUV4cHJlc3Npb246W1wiZXhwcmVzc2lvbnNcIl0sUGFyZW50aGVzaXplZEV4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiXSxTd2l0Y2hDYXNlOltcInRlc3RcIixcImNvbnNlcXVlbnRcIl0sU3dpdGNoU3RhdGVtZW50OltcImRpc2NyaW1pbmFudFwiLFwiY2FzZXNcIl0sVGhpc0V4cHJlc3Npb246W10sVGhyb3dTdGF0ZW1lbnQ6W1wiYXJndW1lbnRcIl0sVHJ5U3RhdGVtZW50OltcImJsb2NrXCIsXCJoYW5kbGVyXCIsXCJmaW5hbGl6ZXJcIl0sVW5hcnlFeHByZXNzaW9uOltcImFyZ3VtZW50XCJdLFVwZGF0ZUV4cHJlc3Npb246W1wiYXJndW1lbnRcIl0sVmFyaWFibGVEZWNsYXJhdGlvbjpbXCJkZWNsYXJhdGlvbnNcIl0sVmFyaWFibGVEZWNsYXJhdG9yOltcImlkXCIsXCJpbml0XCJdLFdoaWxlU3RhdGVtZW50OltcInRlc3RcIixcImJvZHlcIl0sV2l0aFN0YXRlbWVudDpbXCJvYmplY3RcIixcImJvZHlcIl0sQXNzaWdubWVudFBhdHRlcm46W1wibGVmdFwiLFwicmlnaHRcIixcImRlY29yYXRvcnNcIixcInR5cGVBbm5vdGF0aW9uXCJdLEFycmF5UGF0dGVybjpbXCJlbGVtZW50c1wiLFwidHlwZUFubm90YXRpb25cIixcImRlY29yYXRvcnNcIl0sQXJyb3dGdW5jdGlvbkV4cHJlc3Npb246W1widHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiLFwiYm9keVwiLFwicHJlZGljYXRlXCJdLENsYXNzQm9keTpbXCJib2R5XCJdLENsYXNzRXhwcmVzc2lvbjpbXCJkZWNvcmF0b3JzXCIsXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInN1cGVyQ2xhc3NcIixcInN1cGVyVHlwZVBhcmFtZXRlcnNcIixcIm1peGluc1wiLFwiaW1wbGVtZW50c1wiLFwiYm9keVwiLFwic3VwZXJUeXBlQXJndW1lbnRzXCJdLENsYXNzRGVjbGFyYXRpb246W1wiZGVjb3JhdG9yc1wiLFwiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJzdXBlckNsYXNzXCIsXCJzdXBlclR5cGVQYXJhbWV0ZXJzXCIsXCJtaXhpbnNcIixcImltcGxlbWVudHNcIixcImJvZHlcIixcInN1cGVyVHlwZUFyZ3VtZW50c1wiXSxFeHBvcnRBbGxEZWNsYXJhdGlvbjpbXCJzb3VyY2VcIixcImF0dHJpYnV0ZXNcIixcImV4cG9ydGVkXCJdLEV4cG9ydERlZmF1bHREZWNsYXJhdGlvbjpbXCJkZWNsYXJhdGlvblwiXSxFeHBvcnROYW1lZERlY2xhcmF0aW9uOltcImRlY2xhcmF0aW9uXCIsXCJzcGVjaWZpZXJzXCIsXCJzb3VyY2VcIixcImF0dHJpYnV0ZXNcIl0sRXhwb3J0U3BlY2lmaWVyOltcImxvY2FsXCIsXCJleHBvcnRlZFwiXSxGb3JPZlN0YXRlbWVudDpbXCJsZWZ0XCIsXCJyaWdodFwiLFwiYm9keVwiXSxJbXBvcnREZWNsYXJhdGlvbjpbXCJzcGVjaWZpZXJzXCIsXCJzb3VyY2VcIixcImF0dHJpYnV0ZXNcIl0sSW1wb3J0RGVmYXVsdFNwZWNpZmllcjpbXCJsb2NhbFwiXSxJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXI6W1wibG9jYWxcIl0sSW1wb3J0U3BlY2lmaWVyOltcImltcG9ydGVkXCIsXCJsb2NhbFwiXSxJbXBvcnRFeHByZXNzaW9uOltcInNvdXJjZVwiLFwib3B0aW9uc1wiXSxNZXRhUHJvcGVydHk6W1wibWV0YVwiLFwicHJvcGVydHlcIl0sQ2xhc3NNZXRob2Q6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCJdLE9iamVjdFBhdHRlcm46W1wicHJvcGVydGllc1wiLFwidHlwZUFubm90YXRpb25cIixcImRlY29yYXRvcnNcIl0sU3ByZWFkRWxlbWVudDpbXCJhcmd1bWVudFwiXSxTdXBlcjpbXSxUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb246W1widGFnXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicXVhc2lcIixcInR5cGVBcmd1bWVudHNcIl0sVGVtcGxhdGVFbGVtZW50OltdLFRlbXBsYXRlTGl0ZXJhbDpbXCJxdWFzaXNcIixcImV4cHJlc3Npb25zXCJdLFlpZWxkRXhwcmVzc2lvbjpbXCJhcmd1bWVudFwiXSxBd2FpdEV4cHJlc3Npb246W1wiYXJndW1lbnRcIl0sQmlnSW50TGl0ZXJhbDpbXSxFeHBvcnROYW1lc3BhY2VTcGVjaWZpZXI6W1wiZXhwb3J0ZWRcIl0sT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uOltcIm9iamVjdFwiLFwicHJvcGVydHlcIl0sT3B0aW9uYWxDYWxsRXhwcmVzc2lvbjpbXCJjYWxsZWVcIixcImFyZ3VtZW50c1wiLFwidHlwZVBhcmFtZXRlcnNcIixcInR5cGVBcmd1bWVudHNcIl0sQ2xhc3NQcm9wZXJ0eTpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJ2YWx1ZVwiLFwidmFyaWFuY2VcIl0sQ2xhc3NBY2Nlc3NvclByb3BlcnR5OltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIixcInZhbHVlXCJdLENsYXNzUHJpdmF0ZVByb3BlcnR5OltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIixcInZhbHVlXCIsXCJ2YXJpYW5jZVwiXSxDbGFzc1ByaXZhdGVNZXRob2Q6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCJdLFByaXZhdGVOYW1lOltcImlkXCJdLFN0YXRpY0Jsb2NrOltcImJvZHlcIl0sQW55VHlwZUFubm90YXRpb246W10sQXJyYXlUeXBlQW5ub3RhdGlvbjpbXCJlbGVtZW50VHlwZVwiXSxCb29sZWFuVHlwZUFubm90YXRpb246W10sQm9vbGVhbkxpdGVyYWxUeXBlQW5ub3RhdGlvbjpbXSxOdWxsTGl0ZXJhbFR5cGVBbm5vdGF0aW9uOltdLENsYXNzSW1wbGVtZW50czpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIl0sRGVjbGFyZUNsYXNzOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwiZXh0ZW5kc1wiLFwibWl4aW5zXCIsXCJpbXBsZW1lbnRzXCIsXCJib2R5XCJdLERlY2xhcmVGdW5jdGlvbjpbXCJpZFwiLFwicHJlZGljYXRlXCJdLERlY2xhcmVJbnRlcmZhY2U6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJleHRlbmRzXCIsXCJib2R5XCJdLERlY2xhcmVNb2R1bGU6W1wiaWRcIixcImJvZHlcIl0sRGVjbGFyZU1vZHVsZUV4cG9ydHM6W1widHlwZUFubm90YXRpb25cIl0sRGVjbGFyZVR5cGVBbGlhczpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInJpZ2h0XCJdLERlY2xhcmVPcGFxdWVUeXBlOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwic3VwZXJ0eXBlXCJdLERlY2xhcmVWYXJpYWJsZTpbXCJpZFwiXSxEZWNsYXJlRXhwb3J0RGVjbGFyYXRpb246W1wiZGVjbGFyYXRpb25cIixcInNwZWNpZmllcnNcIixcInNvdXJjZVwiLFwiYXR0cmlidXRlc1wiXSxEZWNsYXJlRXhwb3J0QWxsRGVjbGFyYXRpb246W1wic291cmNlXCIsXCJhdHRyaWJ1dGVzXCJdLERlY2xhcmVkUHJlZGljYXRlOltcInZhbHVlXCJdLEV4aXN0c1R5cGVBbm5vdGF0aW9uOltdLEZ1bmN0aW9uVHlwZUFubm90YXRpb246W1widHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmVzdFwiLFwicmV0dXJuVHlwZVwiLFwidGhpc1wiXSxGdW5jdGlvblR5cGVQYXJhbTpbXCJuYW1lXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxHZW5lcmljVHlwZUFubm90YXRpb246W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCJdLEluZmVycmVkUHJlZGljYXRlOltdLEludGVyZmFjZUV4dGVuZHM6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCJdLEludGVyZmFjZURlY2xhcmF0aW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwiZXh0ZW5kc1wiLFwiYm9keVwiXSxJbnRlcmZhY2VUeXBlQW5ub3RhdGlvbjpbXCJleHRlbmRzXCIsXCJib2R5XCJdLEludGVyc2VjdGlvblR5cGVBbm5vdGF0aW9uOltcInR5cGVzXCJdLE1peGVkVHlwZUFubm90YXRpb246W10sRW1wdHlUeXBlQW5ub3RhdGlvbjpbXSxOdWxsYWJsZVR5cGVBbm5vdGF0aW9uOltcInR5cGVBbm5vdGF0aW9uXCJdLE51bWJlckxpdGVyYWxUeXBlQW5ub3RhdGlvbjpbXSxOdW1iZXJUeXBlQW5ub3RhdGlvbjpbXSxPYmplY3RUeXBlQW5ub3RhdGlvbjpbXCJwcm9wZXJ0aWVzXCIsXCJpbmRleGVyc1wiLFwiY2FsbFByb3BlcnRpZXNcIixcImludGVybmFsU2xvdHNcIl0sT2JqZWN0VHlwZUludGVybmFsU2xvdDpbXCJpZFwiLFwidmFsdWVcIl0sT2JqZWN0VHlwZUNhbGxQcm9wZXJ0eTpbXCJ2YWx1ZVwiXSxPYmplY3RUeXBlSW5kZXhlcjpbXCJ2YXJpYW5jZVwiLFwiaWRcIixcImtleVwiLFwidmFsdWVcIl0sT2JqZWN0VHlwZVByb3BlcnR5OltcImtleVwiLFwidmFsdWVcIixcInZhcmlhbmNlXCJdLE9iamVjdFR5cGVTcHJlYWRQcm9wZXJ0eTpbXCJhcmd1bWVudFwiXSxPcGFxdWVUeXBlOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwic3VwZXJ0eXBlXCIsXCJpbXBsdHlwZVwiXSxRdWFsaWZpZWRUeXBlSWRlbnRpZmllcjpbXCJxdWFsaWZpY2F0aW9uXCIsXCJpZFwiXSxTdHJpbmdMaXRlcmFsVHlwZUFubm90YXRpb246W10sU3RyaW5nVHlwZUFubm90YXRpb246W10sU3ltYm9sVHlwZUFubm90YXRpb246W10sVGhpc1R5cGVBbm5vdGF0aW9uOltdLFR1cGxlVHlwZUFubm90YXRpb246W1widHlwZXNcIixcImVsZW1lbnRUeXBlc1wiXSxUeXBlb2ZUeXBlQW5ub3RhdGlvbjpbXCJhcmd1bWVudFwiLFwidHlwZUFyZ3VtZW50c1wiXSxUeXBlQWxpYXM6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJyaWdodFwiXSxUeXBlQW5ub3RhdGlvbjpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUeXBlQ2FzdEV4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwidHlwZUFubm90YXRpb25cIl0sVHlwZVBhcmFtZXRlcjpbXCJib3VuZFwiLFwiZGVmYXVsdFwiLFwidmFyaWFuY2VcIl0sVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uOltcInBhcmFtc1wiXSxUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbjpbXCJwYXJhbXNcIl0sVW5pb25UeXBlQW5ub3RhdGlvbjpbXCJ0eXBlc1wiXSxWYXJpYW5jZTpbXSxWb2lkVHlwZUFubm90YXRpb246W10sRW51bURlY2xhcmF0aW9uOltcImlkXCIsXCJib2R5XCJdLEVudW1Cb29sZWFuQm9keTpbXCJtZW1iZXJzXCJdLEVudW1OdW1iZXJCb2R5OltcIm1lbWJlcnNcIl0sRW51bVN0cmluZ0JvZHk6W1wibWVtYmVyc1wiXSxFbnVtU3ltYm9sQm9keTpbXCJtZW1iZXJzXCJdLEVudW1Cb29sZWFuTWVtYmVyOltcImlkXCIsXCJpbml0XCJdLEVudW1OdW1iZXJNZW1iZXI6W1wiaWRcIixcImluaXRcIl0sRW51bVN0cmluZ01lbWJlcjpbXCJpZFwiLFwiaW5pdFwiXSxFbnVtRGVmYXVsdGVkTWVtYmVyOltcImlkXCJdLEluZGV4ZWRBY2Nlc3NUeXBlOltcIm9iamVjdFR5cGVcIixcImluZGV4VHlwZVwiXSxPcHRpb25hbEluZGV4ZWRBY2Nlc3NUeXBlOltcIm9iamVjdFR5cGVcIixcImluZGV4VHlwZVwiXSxKU1hBdHRyaWJ1dGU6W1wibmFtZVwiLFwidmFsdWVcIl0sSlNYQ2xvc2luZ0VsZW1lbnQ6W1wibmFtZVwiXSxKU1hFbGVtZW50OltcIm9wZW5pbmdFbGVtZW50XCIsXCJjaGlsZHJlblwiLFwiY2xvc2luZ0VsZW1lbnRcIl0sSlNYRW1wdHlFeHByZXNzaW9uOltdLEpTWEV4cHJlc3Npb25Db250YWluZXI6W1wiZXhwcmVzc2lvblwiXSxKU1hTcHJlYWRDaGlsZDpbXCJleHByZXNzaW9uXCJdLEpTWElkZW50aWZpZXI6W10sSlNYTWVtYmVyRXhwcmVzc2lvbjpbXCJvYmplY3RcIixcInByb3BlcnR5XCJdLEpTWE5hbWVzcGFjZWROYW1lOltcIm5hbWVzcGFjZVwiLFwibmFtZVwiXSxKU1hPcGVuaW5nRWxlbWVudDpbXCJuYW1lXCIsXCJhdHRyaWJ1dGVzXCIsXCJ0eXBlQXJndW1lbnRzXCIsXCJ0eXBlUGFyYW1ldGVyc1wiXSxKU1hTcHJlYWRBdHRyaWJ1dGU6W1wiYXJndW1lbnRcIl0sSlNYVGV4dDpbXSxKU1hGcmFnbWVudDpbXCJvcGVuaW5nRnJhZ21lbnRcIixcImNoaWxkcmVuXCIsXCJjbG9zaW5nRnJhZ21lbnRcIl0sSlNYT3BlbmluZ0ZyYWdtZW50OltdLEpTWENsb3NpbmdGcmFnbWVudDpbXSxOb29wOltdLFBsYWNlaG9sZGVyOltdLFY4SW50cmluc2ljSWRlbnRpZmllcjpbXSxBcmd1bWVudFBsYWNlaG9sZGVyOltdLEJpbmRFeHByZXNzaW9uOltcIm9iamVjdFwiLFwiY2FsbGVlXCJdLEltcG9ydEF0dHJpYnV0ZTpbXCJrZXlcIixcInZhbHVlXCJdLERlY29yYXRvcjpbXCJleHByZXNzaW9uXCJdLERvRXhwcmVzc2lvbjpbXCJib2R5XCJdLEV4cG9ydERlZmF1bHRTcGVjaWZpZXI6W1wiZXhwb3J0ZWRcIl0sUmVjb3JkRXhwcmVzc2lvbjpbXCJwcm9wZXJ0aWVzXCJdLFR1cGxlRXhwcmVzc2lvbjpbXCJlbGVtZW50c1wiXSxNb2R1bGVFeHByZXNzaW9uOltcImJvZHlcIl0sVG9waWNSZWZlcmVuY2U6W10sUGlwZWxpbmVUb3BpY0V4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiXSxQaXBlbGluZUJhcmVGdW5jdGlvbjpbXCJjYWxsZWVcIl0sUGlwZWxpbmVQcmltYXJ5VG9waWNSZWZlcmVuY2U6W10sVFNQYXJhbWV0ZXJQcm9wZXJ0eTpbXCJwYXJhbWV0ZXJcIixcImRlY29yYXRvcnNcIl0sVFNEZWNsYXJlRnVuY3Rpb246W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcImJvZHlcIl0sVFNEZWNsYXJlTWV0aG9kOltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiXSxUU1F1YWxpZmllZE5hbWU6W1wibGVmdFwiLFwicmlnaHRcIl0sVFNDYWxsU2lnbmF0dXJlRGVjbGFyYXRpb246W1widHlwZVBhcmFtZXRlcnNcIixcInBhcmFtZXRlcnNcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIl0sVFNDb25zdHJ1Y3RTaWduYXR1cmVEZWNsYXJhdGlvbjpbXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1ldGVyc1wiLFwidHlwZUFubm90YXRpb25cIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiXSxUU1Byb3BlcnR5U2lnbmF0dXJlOltcImtleVwiLFwidHlwZUFubm90YXRpb25cIl0sVFNNZXRob2RTaWduYXR1cmU6W1wia2V5XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1ldGVyc1wiLFwidHlwZUFubm90YXRpb25cIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiXSxUU0luZGV4U2lnbmF0dXJlOltcInBhcmFtZXRlcnNcIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTQW55S2V5d29yZDpbXSxUU0Jvb2xlYW5LZXl3b3JkOltdLFRTQmlnSW50S2V5d29yZDpbXSxUU0ludHJpbnNpY0tleXdvcmQ6W10sVFNOZXZlcktleXdvcmQ6W10sVFNOdWxsS2V5d29yZDpbXSxUU051bWJlcktleXdvcmQ6W10sVFNPYmplY3RLZXl3b3JkOltdLFRTU3RyaW5nS2V5d29yZDpbXSxUU1N5bWJvbEtleXdvcmQ6W10sVFNVbmRlZmluZWRLZXl3b3JkOltdLFRTVW5rbm93bktleXdvcmQ6W10sVFNWb2lkS2V5d29yZDpbXSxUU1RoaXNUeXBlOltdLFRTRnVuY3Rpb25UeXBlOltcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbWV0ZXJzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCJdLFRTQ29uc3RydWN0b3JUeXBlOltcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbWV0ZXJzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCJdLFRTVHlwZVJlZmVyZW5jZTpbXCJ0eXBlTmFtZVwiLFwidHlwZVBhcmFtZXRlcnNcIixcInR5cGVBcmd1bWVudHNcIl0sVFNUeXBlUHJlZGljYXRlOltcInBhcmFtZXRlck5hbWVcIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTVHlwZVF1ZXJ5OltcImV4cHJOYW1lXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxUU1R5cGVMaXRlcmFsOltcIm1lbWJlcnNcIl0sVFNBcnJheVR5cGU6W1wiZWxlbWVudFR5cGVcIl0sVFNUdXBsZVR5cGU6W1wiZWxlbWVudFR5cGVzXCJdLFRTT3B0aW9uYWxUeXBlOltcInR5cGVBbm5vdGF0aW9uXCJdLFRTUmVzdFR5cGU6W1widHlwZUFubm90YXRpb25cIl0sVFNOYW1lZFR1cGxlTWVtYmVyOltcImxhYmVsXCIsXCJlbGVtZW50VHlwZVwiXSxUU1VuaW9uVHlwZTpbXCJ0eXBlc1wiXSxUU0ludGVyc2VjdGlvblR5cGU6W1widHlwZXNcIl0sVFNDb25kaXRpb25hbFR5cGU6W1wiY2hlY2tUeXBlXCIsXCJleHRlbmRzVHlwZVwiLFwidHJ1ZVR5cGVcIixcImZhbHNlVHlwZVwiXSxUU0luZmVyVHlwZTpbXCJ0eXBlUGFyYW1ldGVyXCJdLFRTUGFyZW50aGVzaXplZFR5cGU6W1widHlwZUFubm90YXRpb25cIl0sVFNUeXBlT3BlcmF0b3I6W1widHlwZUFubm90YXRpb25cIl0sVFNJbmRleGVkQWNjZXNzVHlwZTpbXCJvYmplY3RUeXBlXCIsXCJpbmRleFR5cGVcIl0sVFNNYXBwZWRUeXBlOltcInR5cGVQYXJhbWV0ZXJcIixcIm5hbWVUeXBlXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUU0xpdGVyYWxUeXBlOltcImxpdGVyYWxcIl0sVFNFeHByZXNzaW9uV2l0aFR5cGVBcmd1bWVudHM6W1wiZXhwcmVzc2lvblwiLFwidHlwZVBhcmFtZXRlcnNcIl0sVFNJbnRlcmZhY2VEZWNsYXJhdGlvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcImV4dGVuZHNcIixcImJvZHlcIl0sVFNJbnRlcmZhY2VCb2R5OltcImJvZHlcIl0sVFNUeXBlQWxpYXNEZWNsYXJhdGlvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTSW5zdGFudGlhdGlvbkV4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwidHlwZVBhcmFtZXRlcnNcIixcInR5cGVBcmd1bWVudHNcIl0sVFNBc0V4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwidHlwZUFubm90YXRpb25cIl0sVFNTYXRpc2ZpZXNFeHByZXNzaW9uOltcImV4cHJlc3Npb25cIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTVHlwZUFzc2VydGlvbjpbXCJ0eXBlQW5ub3RhdGlvblwiLFwiZXhwcmVzc2lvblwiXSxUU0VudW1EZWNsYXJhdGlvbjpbXCJpZFwiLFwibWVtYmVyc1wiXSxUU0VudW1NZW1iZXI6W1wiaWRcIixcImluaXRpYWxpemVyXCJdLFRTTW9kdWxlRGVjbGFyYXRpb246W1wiaWRcIixcImJvZHlcIl0sVFNNb2R1bGVCbG9jazpbXCJib2R5XCJdLFRTSW1wb3J0VHlwZTpbXCJhcmd1bWVudFwiLFwicXVhbGlmaWVyXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxUU0ltcG9ydEVxdWFsc0RlY2xhcmF0aW9uOltcImlkXCIsXCJtb2R1bGVSZWZlcmVuY2VcIl0sVFNFeHRlcm5hbE1vZHVsZVJlZmVyZW5jZTpbXCJleHByZXNzaW9uXCJdLFRTTm9uTnVsbEV4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiXSxUU0V4cG9ydEFzc2lnbm1lbnQ6W1wiZXhwcmVzc2lvblwiXSxUU05hbWVzcGFjZUV4cG9ydERlY2xhcmF0aW9uOltcImlkXCJdLFRTVHlwZUFubm90YXRpb246W1widHlwZUFubm90YXRpb25cIl0sVFNUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbjpbXCJwYXJhbXNcIl0sVFNUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb246W1wicGFyYW1zXCJdLFRTVHlwZVBhcmFtZXRlcjpbXCJjb25zdHJhaW50XCIsXCJkZWZhdWx0XCIsXCJuYW1lXCJdLENoYWluRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCJdLEV4cGVyaW1lbnRhbFJlc3RQcm9wZXJ0eTpbXCJhcmd1bWVudFwiXSxFeHBlcmltZW50YWxTcHJlYWRQcm9wZXJ0eTpbXCJhcmd1bWVudFwiXSxMaXRlcmFsOltdLE1ldGhvZERlZmluaXRpb246W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ2YWx1ZVwiXSxQcml2YXRlSWRlbnRpZmllcjpbXSxQcm9wZXJ0eTpbXCJrZXlcIixcInZhbHVlXCJdLFByb3BlcnR5RGVmaW5pdGlvbjpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJ2YWx1ZVwiLFwidmFyaWFuY2VcIl0sQWNjZXNzb3JQcm9wZXJ0eTpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJ2YWx1ZVwiXSxUU0Fic3RyYWN0QWNjZXNzb3JQcm9wZXJ0eTpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTQWJzdHJhY3RLZXl3b3JkOltdLFRTQWJzdHJhY3RNZXRob2REZWZpbml0aW9uOltcImtleVwiLFwidmFsdWVcIl0sVFNBYnN0cmFjdFByb3BlcnR5RGVmaW5pdGlvbjpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTQXN5bmNLZXl3b3JkOltdLFRTQ2xhc3NJbXBsZW1lbnRzOltcImV4cHJlc3Npb25cIixcInR5cGVBcmd1bWVudHNcIixcInR5cGVQYXJhbWV0ZXJzXCJdLFRTRGVjbGFyZUtleXdvcmQ6W10sVFNFbXB0eUJvZHlGdW5jdGlvbkV4cHJlc3Npb246W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIl0sVFNFbnVtQm9keTpbXCJtZW1iZXJzXCJdLFRTRXhwb3J0S2V5d29yZDpbXSxUU0ludGVyZmFjZUhlcml0YWdlOltcImV4cHJlc3Npb25cIixcInR5cGVBcmd1bWVudHNcIixcInR5cGVQYXJhbWV0ZXJzXCJdLFRTUHJpdmF0ZUtleXdvcmQ6W10sVFNQcm90ZWN0ZWRLZXl3b3JkOltdLFRTUHVibGljS2V5d29yZDpbXSxUU1JlYWRvbmx5S2V5d29yZDpbXSxUU1N0YXRpY0tleXdvcmQ6W10sVFNUZW1wbGF0ZUxpdGVyYWxUeXBlOltcInF1YXNpc1wiLFwidHlwZXNcIl0sQXNDb25zdEV4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiXSxBc0V4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwidHlwZUFubm90YXRpb25cIl0sQmlnSW50TGl0ZXJhbFR5cGVBbm5vdGF0aW9uOltdLEJpZ0ludFR5cGVBbm5vdGF0aW9uOltdLENvbXBvbmVudERlY2xhcmF0aW9uOltcImlkXCIsXCJwYXJhbXNcIixcImJvZHlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJyZW5kZXJzVHlwZVwiXSxDb21wb25lbnRQYXJhbWV0ZXI6W1wibmFtZVwiLFwibG9jYWxcIl0sQ29tcG9uZW50VHlwZUFubm90YXRpb246W1wicGFyYW1zXCIsXCJyZXN0XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicmVuZGVyc1R5cGVcIl0sQ29tcG9uZW50VHlwZVBhcmFtZXRlcjpbXCJuYW1lXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxDb25kaXRpb25hbFR5cGVBbm5vdGF0aW9uOltcImNoZWNrVHlwZVwiLFwiZXh0ZW5kc1R5cGVcIixcInRydWVUeXBlXCIsXCJmYWxzZVR5cGVcIl0sRGVjbGFyZUNvbXBvbmVudDpbXCJpZFwiLFwicGFyYW1zXCIsXCJyZXN0XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicmVuZGVyc1R5cGVcIl0sRGVjbGFyZUVudW06W1wiaWRcIixcImJvZHlcIl0sRGVjbGFyZUhvb2s6W1wiaWRcIl0sRGVjbGFyZU5hbWVzcGFjZTpbXCJpZFwiLFwiYm9keVwiXSxFbnVtQmlnSW50Qm9keTpbXCJtZW1iZXJzXCJdLEVudW1CaWdJbnRNZW1iZXI6W1wiaWRcIixcImluaXRcIl0sSG9va0RlY2xhcmF0aW9uOltcImlkXCIsXCJwYXJhbXNcIixcImJvZHlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJyZXR1cm5UeXBlXCJdLEhvb2tUeXBlQW5ub3RhdGlvbjpbXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcInJlc3RcIixcInR5cGVQYXJhbWV0ZXJzXCJdLEluZmVyVHlwZUFubm90YXRpb246W1widHlwZVBhcmFtZXRlclwiXSxLZXlvZlR5cGVBbm5vdGF0aW9uOltcImFyZ3VtZW50XCJdLE9iamVjdFR5cGVNYXBwZWRUeXBlUHJvcGVydHk6W1wia2V5VHBhcmFtXCIsXCJwcm9wVHlwZVwiLFwic291cmNlVHlwZVwiLFwidmFyaWFuY2VcIl0sUXVhbGlmaWVkVHlwZW9mSWRlbnRpZmllcjpbXCJxdWFsaWZpY2F0aW9uXCIsXCJpZFwiXSxUdXBsZVR5cGVMYWJlbGVkRWxlbWVudDpbXCJsYWJlbFwiLFwiZWxlbWVudFR5cGVcIixcInZhcmlhbmNlXCJdLFR1cGxlVHlwZVNwcmVhZEVsZW1lbnQ6W1wibGFiZWxcIixcInR5cGVBbm5vdGF0aW9uXCJdLFR5cGVPcGVyYXRvcjpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUeXBlUHJlZGljYXRlOltcInBhcmFtZXRlck5hbWVcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJhc3NlcnRzXCJdLE5HUm9vdDpbXCJub2RlXCJdLE5HUGlwZUV4cHJlc3Npb246W1wibGVmdFwiLFwicmlnaHRcIixcImFyZ3VtZW50c1wiXSxOR0NoYWluZWRFeHByZXNzaW9uOltcImV4cHJlc3Npb25zXCJdLE5HRW1wdHlFeHByZXNzaW9uOltdLE5HTWljcm9zeW50YXg6W1wiYm9keVwiXSxOR01pY3Jvc3ludGF4S2V5OltdLE5HTWljcm9zeW50YXhFeHByZXNzaW9uOltcImV4cHJlc3Npb25cIixcImFsaWFzXCJdLE5HTWljcm9zeW50YXhLZXllZEV4cHJlc3Npb246W1wia2V5XCIsXCJleHByZXNzaW9uXCJdLE5HTWljcm9zeW50YXhMZXQ6W1wia2V5XCIsXCJ2YWx1ZVwiXSxOR01pY3Jvc3ludGF4QXM6W1wia2V5XCIsXCJhbGlhc1wiXSxKc0V4cHJlc3Npb25Sb290OltcIm5vZGVcIl0sSnNvblJvb3Q6W1wibm9kZVwiXSxUU0pTRG9jQWxsVHlwZTpbXSxUU0pTRG9jVW5rbm93blR5cGU6W10sVFNKU0RvY051bGxhYmxlVHlwZTpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUU0pTRG9jTm9uTnVsbGFibGVUeXBlOltcInR5cGVBbm5vdGF0aW9uXCJdLE5ldmVyVHlwZUFubm90YXRpb246W10sVW5kZWZpbmVkVHlwZUFubm90YXRpb246W10sVW5rbm93blR5cGVBbm5vdGF0aW9uOltdLFNhdGlzZmllc0V4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwidHlwZUFubm90YXRpb25cIl19O3ZhciBjbz1ocihydSksZ3I9Y287ZnVuY3Rpb24gbG8oZSl7bGV0IHQ9bmV3IFNldChlKTtyZXR1cm4gcj0+dC5oYXMocj09bnVsbD92b2lkIDA6ci50eXBlKX12YXIgdj1sbzt2YXIgbW89dihbXCJCbG9ja1wiLFwiQ29tbWVudEJsb2NrXCIsXCJNdWx0aUxpbmVcIl0pLGVlPW1vO3ZhciB5bz12KFtcIkFueVR5cGVBbm5vdGF0aW9uXCIsXCJUaGlzVHlwZUFubm90YXRpb25cIixcIk51bWJlclR5cGVBbm5vdGF0aW9uXCIsXCJWb2lkVHlwZUFubm90YXRpb25cIixcIkJvb2xlYW5UeXBlQW5ub3RhdGlvblwiLFwiQmlnSW50VHlwZUFubm90YXRpb25cIixcIlN5bWJvbFR5cGVBbm5vdGF0aW9uXCIsXCJTdHJpbmdUeXBlQW5ub3RhdGlvblwiLFwiTmV2ZXJUeXBlQW5ub3RhdGlvblwiLFwiVW5kZWZpbmVkVHlwZUFubm90YXRpb25cIixcIlVua25vd25UeXBlQW5ub3RhdGlvblwiLFwiRW1wdHlUeXBlQW5ub3RhdGlvblwiLFwiTWl4ZWRUeXBlQW5ub3RhdGlvblwiXSksU3I9eW87ZnVuY3Rpb24gRG8oZSx0KXtsZXQgcj10LnNwbGl0KFwiLlwiKTtmb3IobGV0IG49ci5sZW5ndGgtMTtuPj0wO24tLSl7bGV0IHM9cltuXTtpZihuPT09MClyZXR1cm4gZS50eXBlPT09XCJJZGVudGlmaWVyXCImJmUubmFtZT09PXM7aWYoZS50eXBlIT09XCJNZW1iZXJFeHByZXNzaW9uXCJ8fGUub3B0aW9uYWx8fGUuY29tcHV0ZWR8fGUucHJvcGVydHkudHlwZSE9PVwiSWRlbnRpZmllclwifHxlLnByb3BlcnR5Lm5hbWUhPT1zKXJldHVybiExO2U9ZS5vYmplY3R9fWZ1bmN0aW9uIGZvKGUsdCl7cmV0dXJuIHQuc29tZShyPT5EbyhlLHIpKX12YXIgbnU9Zm87ZnVuY3Rpb24gRW8oe3R5cGU6ZX0pe3JldHVybiBlLnN0YXJ0c1dpdGgoXCJUU1wiKSYmZS5lbmRzV2l0aChcIktleXdvcmRcIil9dmFyIEJyPUVvO2Z1bmN0aW9uIHJyKGUsdCl7cmV0dXJuIHQoZSl8fFlzKGUse2dldFZpc2l0b3JLZXlzOmdyLHByZWRpY2F0ZTp0fSl9ZnVuY3Rpb24gUnQoZSl7cmV0dXJuIGUudHlwZT09PVwiQXNzaWdubWVudEV4cHJlc3Npb25cInx8ZS50eXBlPT09XCJCaW5hcnlFeHByZXNzaW9uXCJ8fGUudHlwZT09PVwiTG9naWNhbEV4cHJlc3Npb25cInx8ZS50eXBlPT09XCJOR1BpcGVFeHByZXNzaW9uXCJ8fGUudHlwZT09PVwiQ29uZGl0aW9uYWxFeHByZXNzaW9uXCJ8fEwoZSl8fFcoZSl8fGUudHlwZT09PVwiU2VxdWVuY2VFeHByZXNzaW9uXCJ8fGUudHlwZT09PVwiVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uXCJ8fGUudHlwZT09PVwiQmluZEV4cHJlc3Npb25cInx8ZS50eXBlPT09XCJVcGRhdGVFeHByZXNzaW9uXCImJiFlLnByZWZpeHx8QWUoZSl8fGUudHlwZT09PVwiVFNOb25OdWxsRXhwcmVzc2lvblwifHxlLnR5cGU9PT1cIkNoYWluRXhwcmVzc2lvblwifWZ1bmN0aW9uIGl1KGUpe3JldHVybiBlLmV4cHJlc3Npb25zP2UuZXhwcmVzc2lvbnNbMF06ZS5sZWZ0Pz9lLnRlc3Q/P2UuY2FsbGVlPz9lLm9iamVjdD8/ZS50YWc/P2UuYXJndW1lbnQ/P2UuZXhwcmVzc2lvbn1mdW5jdGlvbiBQcihlKXtpZihlLmV4cHJlc3Npb25zKXJldHVybltcImV4cHJlc3Npb25zXCIsMF07aWYoZS5sZWZ0KXJldHVybltcImxlZnRcIl07aWYoZS50ZXN0KXJldHVybltcInRlc3RcIl07aWYoZS5vYmplY3QpcmV0dXJuW1wib2JqZWN0XCJdO2lmKGUuY2FsbGVlKXJldHVybltcImNhbGxlZVwiXTtpZihlLnRhZylyZXR1cm5bXCJ0YWdcIl07aWYoZS5hcmd1bWVudClyZXR1cm5bXCJhcmd1bWVudFwiXTtpZihlLmV4cHJlc3Npb24pcmV0dXJuW1wiZXhwcmVzc2lvblwiXTt0aHJvdyBuZXcgRXJyb3IoXCJVbmV4cGVjdGVkIG5vZGUgaGFzIG5vIGxlZnQgc2lkZS5cIil9dmFyIEN0PXYoW1wiTGluZVwiLFwiQ29tbWVudExpbmVcIixcIlNpbmdsZUxpbmVcIixcIkhhc2hiYW5nQ29tbWVudFwiLFwiSFRNTE9wZW5cIixcIkhUTUxDbG9zZVwiLFwiSGFzaGJhbmdcIixcIkludGVycHJldGVyRGlyZWN0aXZlXCJdKSxhdT12KFtcIkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblwiLFwiRGVjbGFyZUV4cG9ydERlY2xhcmF0aW9uXCIsXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIsXCJFeHBvcnRBbGxEZWNsYXJhdGlvblwiLFwiRGVjbGFyZUV4cG9ydEFsbERlY2xhcmF0aW9uXCJdKSxYPXYoW1wiQXJyYXlFeHByZXNzaW9uXCIsXCJUdXBsZUV4cHJlc3Npb25cIl0pLHNlPXYoW1wiT2JqZWN0RXhwcmVzc2lvblwiLFwiUmVjb3JkRXhwcmVzc2lvblwiXSk7ZnVuY3Rpb24gb3UoZSl7cmV0dXJuIGUudHlwZT09PVwiTG9naWNhbEV4cHJlc3Npb25cIiYmZS5vcGVyYXRvcj09PVwiPz9cIn1mdW5jdGlvbiBGZShlKXtyZXR1cm4gZS50eXBlPT09XCJOdW1lcmljTGl0ZXJhbFwifHxlLnR5cGU9PT1cIkxpdGVyYWxcIiYmdHlwZW9mIGUudmFsdWU9PVwibnVtYmVyXCJ9ZnVuY3Rpb24gam4oZSl7cmV0dXJuIGUudHlwZT09PVwiVW5hcnlFeHByZXNzaW9uXCImJihlLm9wZXJhdG9yPT09XCIrXCJ8fGUub3BlcmF0b3I9PT1cIi1cIikmJkZlKGUuYXJndW1lbnQpfWZ1bmN0aW9uIHRlKGUpe3JldHVybiEhKGUmJihlLnR5cGU9PT1cIlN0cmluZ0xpdGVyYWxcInx8ZS50eXBlPT09XCJMaXRlcmFsXCImJnR5cGVvZiBlLnZhbHVlPT1cInN0cmluZ1wiKSl9ZnVuY3Rpb24gdm4oZSl7cmV0dXJuIGUudHlwZT09PVwiUmVnRXhwTGl0ZXJhbFwifHxlLnR5cGU9PT1cIkxpdGVyYWxcIiYmISFlLnJlZ2V4fXZhciBrcj12KFtcIkxpdGVyYWxcIixcIkJvb2xlYW5MaXRlcmFsXCIsXCJCaWdJbnRMaXRlcmFsXCIsXCJEaXJlY3RpdmVMaXRlcmFsXCIsXCJOdWxsTGl0ZXJhbFwiLFwiTnVtZXJpY0xpdGVyYWxcIixcIlJlZ0V4cExpdGVyYWxcIixcIlN0cmluZ0xpdGVyYWxcIl0pLEZvPXYoW1wiSWRlbnRpZmllclwiLFwiVGhpc0V4cHJlc3Npb25cIixcIlN1cGVyXCIsXCJQcml2YXRlTmFtZVwiLFwiUHJpdmF0ZUlkZW50aWZpZXJcIl0pLHdlPXYoW1wiT2JqZWN0VHlwZUFubm90YXRpb25cIixcIlRTVHlwZUxpdGVyYWxcIixcIlRTTWFwcGVkVHlwZVwiXSksTXQ9dihbXCJGdW5jdGlvbkV4cHJlc3Npb25cIixcIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCJdKTtmdW5jdGlvbiBDbyhlKXtyZXR1cm4gZS50eXBlPT09XCJGdW5jdGlvbkV4cHJlc3Npb25cInx8ZS50eXBlPT09XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiJiZlLmJvZHkudHlwZT09PVwiQmxvY2tTdGF0ZW1lbnRcIn1mdW5jdGlvbiBMbihlKXtyZXR1cm4gTChlKSYmZS5jYWxsZWUudHlwZT09PVwiSWRlbnRpZmllclwiJiZbXCJhc3luY1wiLFwiaW5qZWN0XCIsXCJmYWtlQXN5bmNcIixcIndhaXRGb3JBc3luY1wiXS5pbmNsdWRlcyhlLmNhbGxlZS5uYW1lKX12YXIgSD12KFtcIkpTWEVsZW1lbnRcIixcIkpTWEZyYWdtZW50XCJdKTtmdW5jdGlvbiBidChlKXtyZXR1cm4gZS5tZXRob2QmJmUua2luZD09PVwiaW5pdFwifHxlLmtpbmQ9PT1cImdldFwifHxlLmtpbmQ9PT1cInNldFwifWZ1bmN0aW9uIElyKGUpe3JldHVybihlLnR5cGU9PT1cIk9iamVjdFR5cGVQcm9wZXJ0eVwifHxlLnR5cGU9PT1cIk9iamVjdFR5cGVJbnRlcm5hbFNsb3RcIikmJiFlLnN0YXRpYyYmIWUubWV0aG9kJiZlLmtpbmQhPT1cImdldFwiJiZlLmtpbmQhPT1cInNldFwiJiZlLnZhbHVlLnR5cGU9PT1cIkZ1bmN0aW9uVHlwZUFubm90YXRpb25cIn1mdW5jdGlvbiBwdShlKXtyZXR1cm4oZS50eXBlPT09XCJUeXBlQW5ub3RhdGlvblwifHxlLnR5cGU9PT1cIlRTVHlwZUFubm90YXRpb25cIikmJmUudHlwZUFubm90YXRpb24udHlwZT09PVwiRnVuY3Rpb25UeXBlQW5ub3RhdGlvblwiJiYhZS5zdGF0aWMmJiFCdChlLGUudHlwZUFubm90YXRpb24pfXZhciBEZT12KFtcIkJpbmFyeUV4cHJlc3Npb25cIixcIkxvZ2ljYWxFeHByZXNzaW9uXCIsXCJOR1BpcGVFeHByZXNzaW9uXCJdKTtmdW5jdGlvbiBBdChlKXtyZXR1cm4gVyhlKXx8ZS50eXBlPT09XCJCaW5kRXhwcmVzc2lvblwiJiYhIWUub2JqZWN0fXZhciBBbz12KFtcIlRTVGhpc1R5cGVcIixcIk51bGxMaXRlcmFsVHlwZUFubm90YXRpb25cIixcIkJvb2xlYW5MaXRlcmFsVHlwZUFubm90YXRpb25cIixcIlN0cmluZ0xpdGVyYWxUeXBlQW5ub3RhdGlvblwiLFwiQmlnSW50TGl0ZXJhbFR5cGVBbm5vdGF0aW9uXCIsXCJOdW1iZXJMaXRlcmFsVHlwZUFubm90YXRpb25cIixcIlRTTGl0ZXJhbFR5cGVcIixcIlRTVGVtcGxhdGVMaXRlcmFsVHlwZVwiXSk7ZnVuY3Rpb24gSnQoZSl7cmV0dXJuIEJyKGUpfHxTcihlKXx8QW8oZSl8fChlLnR5cGU9PT1cIkdlbmVyaWNUeXBlQW5ub3RhdGlvblwifHxlLnR5cGU9PT1cIlRTVHlwZVJlZmVyZW5jZVwiKSYmIWUudHlwZVBhcmFtZXRlcnMmJiFlLnR5cGVBcmd1bWVudHN9ZnVuY3Rpb24gVG8oZSl7cmV0dXJuIGUudHlwZT09PVwiSWRlbnRpZmllclwiJiYoZS5uYW1lPT09XCJiZWZvcmVFYWNoXCJ8fGUubmFtZT09PVwiYmVmb3JlQWxsXCJ8fGUubmFtZT09PVwiYWZ0ZXJFYWNoXCJ8fGUubmFtZT09PVwiYWZ0ZXJBbGxcIil9dmFyIHhvPVtcIml0XCIsXCJpdC5vbmx5XCIsXCJpdC5za2lwXCIsXCJkZXNjcmliZVwiLFwiZGVzY3JpYmUub25seVwiLFwiZGVzY3JpYmUuc2tpcFwiLFwidGVzdFwiLFwidGVzdC5vbmx5XCIsXCJ0ZXN0LnNraXBcIixcInRlc3Quc3RlcFwiLFwidGVzdC5kZXNjcmliZVwiLFwidGVzdC5kZXNjcmliZS5vbmx5XCIsXCJ0ZXN0LmRlc2NyaWJlLnBhcmFsbGVsXCIsXCJ0ZXN0LmRlc2NyaWJlLnBhcmFsbGVsLm9ubHlcIixcInRlc3QuZGVzY3JpYmUuc2VyaWFsXCIsXCJ0ZXN0LmRlc2NyaWJlLnNlcmlhbC5vbmx5XCIsXCJza2lwXCIsXCJ4aXRcIixcInhkZXNjcmliZVwiLFwieHRlc3RcIixcImZpdFwiLFwiZmRlc2NyaWJlXCIsXCJmdGVzdFwiXTtmdW5jdGlvbiBobyhlKXtyZXR1cm4gbnUoZSx4byl9ZnVuY3Rpb24gUHQoZSx0KXtpZigoZT09bnVsbD92b2lkIDA6ZS50eXBlKSE9PVwiQ2FsbEV4cHJlc3Npb25cInx8ZS5vcHRpb25hbClyZXR1cm4hMTtsZXQgcj1vZShlKTtpZihyLmxlbmd0aD09PTEpe2lmKExuKGUpJiZQdCh0KSlyZXR1cm4gTXQoclswXSk7aWYoVG8oZS5jYWxsZWUpKXJldHVybiBMbihyWzBdKX1lbHNlIGlmKChyLmxlbmd0aD09PTJ8fHIubGVuZ3RoPT09MykmJihyWzBdLnR5cGU9PT1cIlRlbXBsYXRlTGl0ZXJhbFwifHx0ZShyWzBdKSkmJmhvKGUuY2FsbGVlKSlyZXR1cm4gclsyXSYmIUZlKHJbMl0pPyExOihyLmxlbmd0aD09PTI/TXQoclsxXSk6Q28oclsxXSkmJnooclsxXSkubGVuZ3RoPD0xKXx8TG4oclsxXSk7cmV0dXJuITF9dmFyIGN1PWU9PnQ9PigodD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwiQ2hhaW5FeHByZXNzaW9uXCImJih0PXQuZXhwcmVzc2lvbiksZSh0KSksTD1jdSh2KFtcIkNhbGxFeHByZXNzaW9uXCIsXCJPcHRpb25hbENhbGxFeHByZXNzaW9uXCJdKSksVz1jdSh2KFtcIk1lbWJlckV4cHJlc3Npb25cIixcIk9wdGlvbmFsTWVtYmVyRXhwcmVzc2lvblwiXSkpO2Z1bmN0aW9uIE1uKGUsdD01KXtyZXR1cm4gbHUoZSx0KTw9dH1mdW5jdGlvbiBsdShlLHQpe2xldCByPTA7Zm9yKGxldCBuIGluIGUpe2xldCBzPWVbbl07aWYocyYmdHlwZW9mIHM9PVwib2JqZWN0XCImJnR5cGVvZiBzLnR5cGU9PVwic3RyaW5nXCImJihyKysscis9bHUocyx0LXIpKSxyPnQpcmV0dXJuIHJ9cmV0dXJuIHJ9dmFyIGdvPS4yNTtmdW5jdGlvbiBucihlLHQpe2xldHtwcmludFdpZHRoOnJ9PXQ7aWYoZChlKSlyZXR1cm4hMTtsZXQgbj1yKmdvO2lmKGUudHlwZT09PVwiVGhpc0V4cHJlc3Npb25cInx8ZS50eXBlPT09XCJJZGVudGlmaWVyXCImJmUubmFtZS5sZW5ndGg8PW58fGpuKGUpJiYhZChlLmFyZ3VtZW50KSlyZXR1cm4hMDtsZXQgcz1lLnR5cGU9PT1cIkxpdGVyYWxcIiYmXCJyZWdleFwiaW4gZSYmZS5yZWdleC5wYXR0ZXJufHxlLnR5cGU9PT1cIlJlZ0V4cExpdGVyYWxcIiYmZS5wYXR0ZXJuO3JldHVybiBzP3MubGVuZ3RoPD1uOnRlKGUpP1plKGZlKGUpLHQpLmxlbmd0aDw9bjplLnR5cGU9PT1cIlRlbXBsYXRlTGl0ZXJhbFwiP2UuZXhwcmVzc2lvbnMubGVuZ3RoPT09MCYmZS5xdWFzaXNbMF0udmFsdWUucmF3Lmxlbmd0aDw9biYmIWUucXVhc2lzWzBdLnZhbHVlLnJhdy5pbmNsdWRlcyhgXG5gKTplLnR5cGU9PT1cIlVuYXJ5RXhwcmVzc2lvblwiP25yKGUuYXJndW1lbnQse3ByaW50V2lkdGg6cn0pOmUudHlwZT09PVwiQ2FsbEV4cHJlc3Npb25cIiYmZS5hcmd1bWVudHMubGVuZ3RoPT09MCYmZS5jYWxsZWUudHlwZT09PVwiSWRlbnRpZmllclwiP2UuY2FsbGVlLm5hbWUubGVuZ3RoPD1uLTI6a3IoZSl9ZnVuY3Rpb24gT2UoZSx0KXtyZXR1cm4gSCh0KT9rdCh0KTpkKHQsaC5MZWFkaW5nLHI9PlooZSxrKHIpKSl9ZnVuY3Rpb24gc3UoZSl7cmV0dXJuIGUucXVhc2lzLnNvbWUodD0+dC52YWx1ZS5yYXcuaW5jbHVkZXMoYFxuYCkpfWZ1bmN0aW9uIExyKGUsdCl7cmV0dXJuKGUudHlwZT09PVwiVGVtcGxhdGVMaXRlcmFsXCImJnN1KGUpfHxlLnR5cGU9PT1cIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvblwiJiZzdShlLnF1YXNpKSkmJiFaKHQscShlKSx7YmFja3dhcmRzOiEwfSl9ZnVuY3Rpb24gd3IoZSl7aWYoIWQoZSkpcmV0dXJuITE7bGV0IHQ9XyghMSxjdChlLGguRGFuZ2xpbmcpLC0xKTtyZXR1cm4gdCYmIWVlKHQpfWZ1bmN0aW9uIG11KGUpe2lmKGUubGVuZ3RoPD0xKXJldHVybiExO2xldCB0PTA7Zm9yKGxldCByIG9mIGUpaWYoTXQocikpe2lmKHQrPTEsdD4xKXJldHVybiEwfWVsc2UgaWYoTChyKSl7Zm9yKGxldCBuIG9mIG9lKHIpKWlmKE10KG4pKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIE9yKGUpe2xldHtub2RlOnQscGFyZW50OnIsa2V5Om59PWU7cmV0dXJuIG49PT1cImNhbGxlZVwiJiZMKHQpJiZMKHIpJiZyLmFyZ3VtZW50cy5sZW5ndGg+MCYmdC5hcmd1bWVudHMubGVuZ3RoPnIuYXJndW1lbnRzLmxlbmd0aH12YXIgU289bmV3IFNldChbXCIhXCIsXCItXCIsXCIrXCIsXCJ+XCJdKTtmdW5jdGlvbiBiZShlLHQ9Mil7aWYodDw9MClyZXR1cm4hMTtpZihlLnR5cGU9PT1cIkNoYWluRXhwcmVzc2lvblwifHxlLnR5cGU9PT1cIlRTTm9uTnVsbEV4cHJlc3Npb25cIilyZXR1cm4gYmUoZS5leHByZXNzaW9uLHQpO2xldCByPW49PmJlKG4sdC0xKTtpZih2bihlKSlyZXR1cm4gemUoZS5wYXR0ZXJuPz9lLnJlZ2V4LnBhdHRlcm4pPD01O2lmKGtyKGUpfHxGbyhlKXx8ZS50eXBlPT09XCJBcmd1bWVudFBsYWNlaG9sZGVyXCIpcmV0dXJuITA7aWYoZS50eXBlPT09XCJUZW1wbGF0ZUxpdGVyYWxcIilyZXR1cm4gZS5xdWFzaXMuZXZlcnkobj0+IW4udmFsdWUucmF3LmluY2x1ZGVzKGBcbmApKSYmZS5leHByZXNzaW9ucy5ldmVyeShyKTtpZihzZShlKSlyZXR1cm4gZS5wcm9wZXJ0aWVzLmV2ZXJ5KG49PiFuLmNvbXB1dGVkJiYobi5zaG9ydGhhbmR8fG4udmFsdWUmJnIobi52YWx1ZSkpKTtpZihYKGUpKXJldHVybiBlLmVsZW1lbnRzLmV2ZXJ5KG49Pm49PT1udWxsfHxyKG4pKTtpZihsdChlKSl7aWYoZS50eXBlPT09XCJJbXBvcnRFeHByZXNzaW9uXCJ8fGJlKGUuY2FsbGVlLHQpKXtsZXQgbj1vZShlKTtyZXR1cm4gbi5sZW5ndGg8PXQmJm4uZXZlcnkocil9cmV0dXJuITF9cmV0dXJuIFcoZSk/YmUoZS5vYmplY3QsdCkmJmJlKGUucHJvcGVydHksdCk6ZS50eXBlPT09XCJVbmFyeUV4cHJlc3Npb25cIiYmU28uaGFzKGUub3BlcmF0b3IpfHxlLnR5cGU9PT1cIlVwZGF0ZUV4cHJlc3Npb25cIj9iZShlLmFyZ3VtZW50LHQpOiExfWZ1bmN0aW9uIGZlKGUpe3ZhciB0O3JldHVybigodD1lLmV4dHJhKT09bnVsbD92b2lkIDA6dC5yYXcpPz9lLnJhd31mdW5jdGlvbiB5dShlKXtyZXR1cm4gZX1mdW5jdGlvbiBhZShlLHQ9XCJlczVcIil7cmV0dXJuIGUudHJhaWxpbmdDb21tYT09PVwiZXM1XCImJnQ9PT1cImVzNVwifHxlLnRyYWlsaW5nQ29tbWE9PT1cImFsbFwiJiYodD09PVwiYWxsXCJ8fHQ9PT1cImVzNVwiKX1mdW5jdGlvbiBpZShlLHQpe3N3aXRjaChlLnR5cGUpe2Nhc2VcIkJpbmFyeUV4cHJlc3Npb25cIjpjYXNlXCJMb2dpY2FsRXhwcmVzc2lvblwiOmNhc2VcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCI6Y2FzZVwiTkdQaXBlRXhwcmVzc2lvblwiOnJldHVybiBpZShlLmxlZnQsdCk7Y2FzZVwiTWVtYmVyRXhwcmVzc2lvblwiOmNhc2VcIk9wdGlvbmFsTWVtYmVyRXhwcmVzc2lvblwiOnJldHVybiBpZShlLm9iamVjdCx0KTtjYXNlXCJUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb25cIjpyZXR1cm4gZS50YWcudHlwZT09PVwiRnVuY3Rpb25FeHByZXNzaW9uXCI/ITE6aWUoZS50YWcsdCk7Y2FzZVwiQ2FsbEV4cHJlc3Npb25cIjpjYXNlXCJPcHRpb25hbENhbGxFeHByZXNzaW9uXCI6cmV0dXJuIGUuY2FsbGVlLnR5cGU9PT1cIkZ1bmN0aW9uRXhwcmVzc2lvblwiPyExOmllKGUuY2FsbGVlLHQpO2Nhc2VcIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiOnJldHVybiBpZShlLnRlc3QsdCk7Y2FzZVwiVXBkYXRlRXhwcmVzc2lvblwiOnJldHVybiFlLnByZWZpeCYmaWUoZS5hcmd1bWVudCx0KTtjYXNlXCJCaW5kRXhwcmVzc2lvblwiOnJldHVybiBlLm9iamVjdCYmaWUoZS5vYmplY3QsdCk7Y2FzZVwiU2VxdWVuY2VFeHByZXNzaW9uXCI6cmV0dXJuIGllKGUuZXhwcmVzc2lvbnNbMF0sdCk7Y2FzZVwiQ2hhaW5FeHByZXNzaW9uXCI6Y2FzZVwiVFNTYXRpc2ZpZXNFeHByZXNzaW9uXCI6Y2FzZVwiVFNBc0V4cHJlc3Npb25cIjpjYXNlXCJUU05vbk51bGxFeHByZXNzaW9uXCI6Y2FzZVwiQXNFeHByZXNzaW9uXCI6Y2FzZVwiQXNDb25zdEV4cHJlc3Npb25cIjpjYXNlXCJTYXRpc2ZpZXNFeHByZXNzaW9uXCI6cmV0dXJuIGllKGUuZXhwcmVzc2lvbix0KTtkZWZhdWx0OnJldHVybiB0KGUpfX12YXIgdXU9e1wiPT1cIjohMCxcIiE9XCI6ITAsXCI9PT1cIjohMCxcIiE9PVwiOiEwfSxicj17XCIqXCI6ITAsXCIvXCI6ITAsXCIlXCI6ITB9LF9uPXtcIj4+XCI6ITAsXCI+Pj5cIjohMCxcIjw8XCI6ITB9O2Z1bmN0aW9uIHNyKGUsdCl7cmV0dXJuISh0cih0KSE9PXRyKGUpfHxlPT09XCIqKlwifHx1dVtlXSYmdXVbdF18fHQ9PT1cIiVcIiYmYnJbZV18fGU9PT1cIiVcIiYmYnJbdF18fHQhPT1lJiZiclt0XSYmYnJbZV18fF9uW2VdJiZfblt0XSl9dmFyIEJvPW5ldyBNYXAoW1tcInw+XCJdLFtcIj8/XCJdLFtcInx8XCJdLFtcIiYmXCJdLFtcInxcIl0sW1wiXlwiXSxbXCImXCJdLFtcIj09XCIsXCI9PT1cIixcIiE9XCIsXCIhPT1cIl0sW1wiPFwiLFwiPlwiLFwiPD1cIixcIj49XCIsXCJpblwiLFwiaW5zdGFuY2VvZlwiXSxbXCI+PlwiLFwiPDxcIixcIj4+PlwiXSxbXCIrXCIsXCItXCJdLFtcIipcIixcIi9cIixcIiVcIl0sW1wiKipcIl1dLmZsYXRNYXAoKGUsdCk9PmUubWFwKHI9PltyLHRdKSkpO2Z1bmN0aW9uIHRyKGUpe3JldHVybiBCby5nZXQoZSl9ZnVuY3Rpb24gRHUoZSl7cmV0dXJuISFfbltlXXx8ZT09PVwifFwifHxlPT09XCJeXCJ8fGU9PT1cIiZcIn1mdW5jdGlvbiBmdShlKXt2YXIgcjtpZihlLnJlc3QpcmV0dXJuITA7bGV0IHQ9eihlKTtyZXR1cm4oKHI9XyghMSx0LC0xKSk9PW51bGw/dm9pZCAwOnIudHlwZSk9PT1cIlJlc3RFbGVtZW50XCJ9dmFyIHduPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIHooZSl7aWYod24uaGFzKGUpKXJldHVybiB3bi5nZXQoZSk7bGV0IHQ9W107cmV0dXJuIGUudGhpcyYmdC5wdXNoKGUudGhpcyksQXJyYXkuaXNBcnJheShlLnBhcmFtZXRlcnMpP3QucHVzaCguLi5lLnBhcmFtZXRlcnMpOkFycmF5LmlzQXJyYXkoZS5wYXJhbXMpJiZ0LnB1c2goLi4uZS5wYXJhbXMpLGUucmVzdCYmdC5wdXNoKGUucmVzdCksd24uc2V0KGUsdCksdH1mdW5jdGlvbiBFdShlLHQpe2xldHtub2RlOnJ9PWUsbj0wLHM9dT0+dCh1LG4rKyk7ci50aGlzJiZlLmNhbGwocyxcInRoaXNcIiksQXJyYXkuaXNBcnJheShyLnBhcmFtZXRlcnMpP2UuZWFjaChzLFwicGFyYW1ldGVyc1wiKTpBcnJheS5pc0FycmF5KHIucGFyYW1zKSYmZS5lYWNoKHMsXCJwYXJhbXNcIiksci5yZXN0JiZlLmNhbGwocyxcInJlc3RcIil9dmFyIE9uPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIG9lKGUpe2lmKE9uLmhhcyhlKSlyZXR1cm4gT24uZ2V0KGUpO2lmKGUudHlwZT09PVwiQ2hhaW5FeHByZXNzaW9uXCIpcmV0dXJuIG9lKGUuZXhwcmVzc2lvbik7bGV0IHQ9ZS5hcmd1bWVudHM7cmV0dXJuIGUudHlwZT09PVwiSW1wb3J0RXhwcmVzc2lvblwiJiYodD1bZS5zb3VyY2VdLGUub3B0aW9ucyYmdC5wdXNoKGUub3B0aW9ucykpLE9uLnNldChlLHQpLHR9ZnVuY3Rpb24gcXQoZSx0KXtsZXR7bm9kZTpyfT1lO2lmKHIudHlwZT09PVwiQ2hhaW5FeHByZXNzaW9uXCIpcmV0dXJuIGUuY2FsbCgoKT0+cXQoZSx0KSxcImV4cHJlc3Npb25cIik7ci50eXBlPT09XCJJbXBvcnRFeHByZXNzaW9uXCI/KGUuY2FsbChuPT50KG4sMCksXCJzb3VyY2VcIiksci5vcHRpb25zJiZlLmNhbGwobj0+dChuLDEpLFwib3B0aW9uc1wiKSk6ZS5lYWNoKHQsXCJhcmd1bWVudHNcIil9ZnVuY3Rpb24gUm4oZSx0KXtsZXQgcj1bXTtpZihlLnR5cGU9PT1cIkNoYWluRXhwcmVzc2lvblwiJiYoZT1lLmV4cHJlc3Npb24sci5wdXNoKFwiZXhwcmVzc2lvblwiKSksZS50eXBlPT09XCJJbXBvcnRFeHByZXNzaW9uXCIpe2lmKHQ9PT0wfHx0PT09KGUub3B0aW9ucz8tMjotMSkpcmV0dXJuWy4uLnIsXCJzb3VyY2VcIl07aWYoZS5vcHRpb25zJiYodD09PTF8fHQ9PT0tMSkpcmV0dXJuWy4uLnIsXCJvcHRpb25zXCJdO3Rocm93IG5ldyBSYW5nZUVycm9yKFwiSW52YWxpZCBhcmd1bWVudCBpbmRleFwiKX1pZih0PDAmJih0PWUuYXJndW1lbnRzLmxlbmd0aCt0KSx0PDB8fHQ+PWUuYXJndW1lbnRzLmxlbmd0aCl0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkludmFsaWQgYXJndW1lbnQgaW5kZXhcIik7cmV0dXJuWy4uLnIsXCJhcmd1bWVudHNcIix0XX1mdW5jdGlvbiB1cihlKXtyZXR1cm4gZS52YWx1ZS50cmltKCk9PT1cInByZXR0aWVyLWlnbm9yZVwiJiYhZS51bmlnbm9yZX1mdW5jdGlvbiBrdChlKXtyZXR1cm4oZT09bnVsbD92b2lkIDA6ZS5wcmV0dGllcklnbm9yZSl8fGQoZSxoLlByZXR0aWVySWdub3JlKX12YXIgaD17TGVhZGluZzoyLFRyYWlsaW5nOjQsRGFuZ2xpbmc6OCxCbG9jazoxNixMaW5lOjMyLFByZXR0aWVySWdub3JlOjY0LEZpcnN0OjEyOCxMYXN0OjI1Nn0sRnU9KGUsdCk9PntpZih0eXBlb2YgZT09XCJmdW5jdGlvblwiJiYodD1lLGU9MCksZXx8dClyZXR1cm4ocixuLHMpPT4hKGUmaC5MZWFkaW5nJiYhci5sZWFkaW5nfHxlJmguVHJhaWxpbmcmJiFyLnRyYWlsaW5nfHxlJmguRGFuZ2xpbmcmJihyLmxlYWRpbmd8fHIudHJhaWxpbmcpfHxlJmguQmxvY2smJiFlZShyKXx8ZSZoLkxpbmUmJiFDdChyKXx8ZSZoLkZpcnN0JiZuIT09MHx8ZSZoLkxhc3QmJm4hPT1zLmxlbmd0aC0xfHxlJmguUHJldHRpZXJJZ25vcmUmJiF1cihyKXx8dCYmIXQocikpfTtmdW5jdGlvbiBkKGUsdCxyKXtpZighTyhlPT1udWxsP3ZvaWQgMDplLmNvbW1lbnRzKSlyZXR1cm4hMTtsZXQgbj1GdSh0LHIpO3JldHVybiBuP2UuY29tbWVudHMuc29tZShuKTohMH1mdW5jdGlvbiBjdChlLHQscil7aWYoIUFycmF5LmlzQXJyYXkoZT09bnVsbD92b2lkIDA6ZS5jb21tZW50cykpcmV0dXJuW107bGV0IG49RnUodCxyKTtyZXR1cm4gbj9lLmNvbW1lbnRzLmZpbHRlcihuKTplLmNvbW1lbnRzfXZhciBwZT0oZSx7b3JpZ2luYWxUZXh0OnR9KT0+anQodCxrKGUpKTtmdW5jdGlvbiBsdChlKXtyZXR1cm4gTChlKXx8ZS50eXBlPT09XCJOZXdFeHByZXNzaW9uXCJ8fGUudHlwZT09PVwiSW1wb3J0RXhwcmVzc2lvblwifWZ1bmN0aW9uIENlKGUpe3JldHVybiBlJiYoZS50eXBlPT09XCJPYmplY3RQcm9wZXJ0eVwifHxlLnR5cGU9PT1cIlByb3BlcnR5XCImJiFidChlKSl9dmFyIEFlPXYoW1wiVFNBc0V4cHJlc3Npb25cIixcIlRTU2F0aXNmaWVzRXhwcmVzc2lvblwiLFwiQXNFeHByZXNzaW9uXCIsXCJBc0NvbnN0RXhwcmVzc2lvblwiLFwiU2F0aXNmaWVzRXhwcmVzc2lvblwiXSksVWU9dihbXCJVbmlvblR5cGVBbm5vdGF0aW9uXCIsXCJUU1VuaW9uVHlwZVwiXSksX3I9dihbXCJJbnRlcnNlY3Rpb25UeXBlQW5ub3RhdGlvblwiLFwiVFNJbnRlcnNlY3Rpb25UeXBlXCJdKTt2YXIgYm89bmV3IFNldChbXCJyYW5nZVwiLFwicmF3XCIsXCJjb21tZW50c1wiLFwibGVhZGluZ0NvbW1lbnRzXCIsXCJ0cmFpbGluZ0NvbW1lbnRzXCIsXCJpbm5lckNvbW1lbnRzXCIsXCJleHRyYVwiLFwic3RhcnRcIixcImVuZFwiLFwibG9jXCIsXCJmbGFnc1wiLFwiZXJyb3JzXCIsXCJ0b2tlbnNcIl0pLFd0PWU9Pntmb3IobGV0IHQgb2YgZS5xdWFzaXMpZGVsZXRlIHQudmFsdWV9O2Z1bmN0aW9uIEN1KGUsdCxyKXt2YXIgcyx1O2lmKGUudHlwZT09PVwiUHJvZ3JhbVwiJiZkZWxldGUgdC5zb3VyY2VUeXBlLChlLnR5cGU9PT1cIkJpZ0ludExpdGVyYWxcInx8ZS50eXBlPT09XCJCaWdJbnRMaXRlcmFsVHlwZUFubm90YXRpb25cIikmJmUudmFsdWUmJih0LnZhbHVlPWUudmFsdWUudG9Mb3dlckNhc2UoKSksKGUudHlwZT09PVwiQmlnSW50TGl0ZXJhbFwifHxlLnR5cGU9PT1cIkxpdGVyYWxcIikmJmUuYmlnaW50JiYodC5iaWdpbnQ9ZS5iaWdpbnQudG9Mb3dlckNhc2UoKSksZS50eXBlPT09XCJFbXB0eVN0YXRlbWVudFwifHxlLnR5cGU9PT1cIkpTWFRleHRcInx8ZS50eXBlPT09XCJKU1hFeHByZXNzaW9uQ29udGFpbmVyXCImJihlLmV4cHJlc3Npb24udHlwZT09PVwiTGl0ZXJhbFwifHxlLmV4cHJlc3Npb24udHlwZT09PVwiU3RyaW5nTGl0ZXJhbFwiKSYmZS5leHByZXNzaW9uLnZhbHVlPT09XCIgXCIpcmV0dXJuIG51bGw7aWYoKGUudHlwZT09PVwiUHJvcGVydHlcInx8ZS50eXBlPT09XCJPYmplY3RQcm9wZXJ0eVwifHxlLnR5cGU9PT1cIk1ldGhvZERlZmluaXRpb25cInx8ZS50eXBlPT09XCJDbGFzc1Byb3BlcnR5XCJ8fGUudHlwZT09PVwiQ2xhc3NNZXRob2RcInx8ZS50eXBlPT09XCJQcm9wZXJ0eURlZmluaXRpb25cInx8ZS50eXBlPT09XCJUU0RlY2xhcmVNZXRob2RcInx8ZS50eXBlPT09XCJUU1Byb3BlcnR5U2lnbmF0dXJlXCJ8fGUudHlwZT09PVwiT2JqZWN0VHlwZVByb3BlcnR5XCJ8fGUudHlwZT09PVwiSW1wb3J0QXR0cmlidXRlXCIpJiZlLmtleSYmIWUuY29tcHV0ZWQpe2xldHtrZXk6aX09ZTt0ZShpKXx8RmUoaSk/dC5rZXk9U3RyaW5nKGkudmFsdWUpOmkudHlwZT09PVwiSWRlbnRpZmllclwiJiYodC5rZXk9aS5uYW1lKX1pZihlLnR5cGU9PT1cIkpTWEVsZW1lbnRcIiYmZS5vcGVuaW5nRWxlbWVudC5uYW1lLm5hbWU9PT1cInN0eWxlXCImJmUub3BlbmluZ0VsZW1lbnQuYXR0cmlidXRlcy5zb21lKGk9PmkudHlwZT09PVwiSlNYQXR0cmlidXRlXCImJmkubmFtZS5uYW1lPT09XCJqc3hcIikpZm9yKGxldHt0eXBlOmksZXhwcmVzc2lvbjphfW9mIHQuY2hpbGRyZW4paT09PVwiSlNYRXhwcmVzc2lvbkNvbnRhaW5lclwiJiZhLnR5cGU9PT1cIlRlbXBsYXRlTGl0ZXJhbFwiJiZXdChhKTtlLnR5cGU9PT1cIkpTWEF0dHJpYnV0ZVwiJiZlLm5hbWUubmFtZT09PVwiY3NzXCImJmUudmFsdWUudHlwZT09PVwiSlNYRXhwcmVzc2lvbkNvbnRhaW5lclwiJiZlLnZhbHVlLmV4cHJlc3Npb24udHlwZT09PVwiVGVtcGxhdGVMaXRlcmFsXCImJld0KHQudmFsdWUuZXhwcmVzc2lvbiksZS50eXBlPT09XCJKU1hBdHRyaWJ1dGVcIiYmKChzPWUudmFsdWUpPT1udWxsP3ZvaWQgMDpzLnR5cGUpPT09XCJMaXRlcmFsXCImJi9bXCInXXwmcXVvdDt8JmFwb3M7L3UudGVzdChlLnZhbHVlLnZhbHVlKSYmKHQudmFsdWUudmFsdWU9WSghMSxlLnZhbHVlLnZhbHVlLC9bXCInXXwmcXVvdDt8JmFwb3M7L2d1LCdcIicpKTtsZXQgbj1lLmV4cHJlc3Npb258fGUuY2FsbGVlO2lmKGUudHlwZT09PVwiRGVjb3JhdG9yXCImJm4udHlwZT09PVwiQ2FsbEV4cHJlc3Npb25cIiYmbi5jYWxsZWUubmFtZT09PVwiQ29tcG9uZW50XCImJm4uYXJndW1lbnRzLmxlbmd0aD09PTEpe2xldCBpPWUuZXhwcmVzc2lvbi5hcmd1bWVudHNbMF0ucHJvcGVydGllcztmb3IobGV0W2EscF1vZiB0LmV4cHJlc3Npb24uYXJndW1lbnRzWzBdLnByb3BlcnRpZXMuZW50cmllcygpKXN3aXRjaChpW2FdLmtleS5uYW1lKXtjYXNlXCJzdHlsZXNcIjpYKHAudmFsdWUpJiZXdChwLnZhbHVlLmVsZW1lbnRzWzBdKTticmVhaztjYXNlXCJ0ZW1wbGF0ZVwiOnAudmFsdWUudHlwZT09PVwiVGVtcGxhdGVMaXRlcmFsXCImJld0KHAudmFsdWUpO2JyZWFrfX1lLnR5cGU9PT1cIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvblwiJiYoZS50YWcudHlwZT09PVwiTWVtYmVyRXhwcmVzc2lvblwifHxlLnRhZy50eXBlPT09XCJJZGVudGlmaWVyXCImJihlLnRhZy5uYW1lPT09XCJncWxcInx8ZS50YWcubmFtZT09PVwiZ3JhcGhxbFwifHxlLnRhZy5uYW1lPT09XCJjc3NcInx8ZS50YWcubmFtZT09PVwibWRcInx8ZS50YWcubmFtZT09PVwibWFya2Rvd25cInx8ZS50YWcubmFtZT09PVwiaHRtbFwiKXx8ZS50YWcudHlwZT09PVwiQ2FsbEV4cHJlc3Npb25cIikmJld0KHQucXVhc2kpLGUudHlwZT09PVwiVGVtcGxhdGVMaXRlcmFsXCImJigodT1lLmxlYWRpbmdDb21tZW50cykhPW51bGwmJnUuc29tZShhPT5lZShhKSYmW1wiR3JhcGhRTFwiLFwiSFRNTFwiXS5zb21lKHA9PmEudmFsdWU9PT1gICR7cH0gYCkpfHxyLnR5cGU9PT1cIkNhbGxFeHByZXNzaW9uXCImJnIuY2FsbGVlLm5hbWU9PT1cImdyYXBocWxcInx8IWUubGVhZGluZ0NvbW1lbnRzKSYmV3QodCksZS50eXBlPT09XCJDaGFpbkV4cHJlc3Npb25cIiYmZS5leHByZXNzaW9uLnR5cGU9PT1cIlRTTm9uTnVsbEV4cHJlc3Npb25cIiYmKHQudHlwZT1cIlRTTm9uTnVsbEV4cHJlc3Npb25cIix0LmV4cHJlc3Npb24udHlwZT1cIkNoYWluRXhwcmVzc2lvblwiKSxlLnR5cGU9PT1cIlRTTWFwcGVkVHlwZVwiJiYoZGVsZXRlIHQua2V5LGRlbGV0ZSB0LmNvbnN0cmFpbnQpLGUudHlwZT09PVwiVFNFbnVtRGVjbGFyYXRpb25cIiYmZGVsZXRlIHQuYm9keX1DdS5pZ25vcmVkUHJvcGVydGllcz1ibzt2YXIgQXU9Q3U7dmFyIGV0PVwic3RyaW5nXCIsX2U9XCJhcnJheVwiLHR0PVwiY3Vyc29yXCIsWGU9XCJpbmRlbnRcIixZZT1cImFsaWduXCIscnQ9XCJ0cmltXCIsbGU9XCJncm91cFwiLFBlPVwiZmlsbFwiLHhlPVwiaWYtYnJlYWtcIixIZT1cImluZGVudC1pZi1icmVha1wiLE5lPVwibGluZS1zdWZmaXhcIixWZT1cImxpbmUtc3VmZml4LWJvdW5kYXJ5XCIsbWU9XCJsaW5lXCIsamU9XCJsYWJlbFwiLHZlPVwiYnJlYWstcGFyZW50XCIsanI9bmV3IFNldChbdHQsWGUsWWUscnQsbGUsUGUseGUsSGUsTmUsVmUsbWUsamUsdmVdKTtmdW5jdGlvbiBQbyhlKXtpZih0eXBlb2YgZT09XCJzdHJpbmdcIilyZXR1cm4gZXQ7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gX2U7aWYoIWUpcmV0dXJuO2xldHt0eXBlOnR9PWU7aWYoanIuaGFzKHQpKXJldHVybiB0fXZhciBudD1Qbzt2YXIga289ZT0+bmV3IEludGwuTGlzdEZvcm1hdChcImVuLVVTXCIse3R5cGU6XCJkaXNqdW5jdGlvblwifSkuZm9ybWF0KGUpO2Z1bmN0aW9uIElvKGUpe2xldCB0PWU9PT1udWxsP1wibnVsbFwiOnR5cGVvZiBlO2lmKHQhPT1cInN0cmluZ1wiJiZ0IT09XCJvYmplY3RcIilyZXR1cm5gVW5leHBlY3RlZCBkb2MgJyR7dH0nLCBcbkV4cGVjdGVkIGl0IHRvIGJlICdzdHJpbmcnIG9yICdvYmplY3QnLmA7aWYobnQoZSkpdGhyb3cgbmV3IEVycm9yKFwiZG9jIGlzIHZhbGlkLlwiKTtsZXQgcj1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk7aWYociE9PVwiW29iamVjdCBPYmplY3RdXCIpcmV0dXJuYFVuZXhwZWN0ZWQgZG9jICcke3J9Jy5gO2xldCBuPWtvKFsuLi5qcl0ubWFwKHM9PmAnJHtzfSdgKSk7cmV0dXJuYFVuZXhwZWN0ZWQgZG9jLnR5cGUgJyR7ZS50eXBlfScuXG5FeHBlY3RlZCBpdCB0byBiZSAke259LmB9dmFyIEpuPWNsYXNzIGV4dGVuZHMgRXJyb3J7bmFtZT1cIkludmFsaWREb2NFcnJvclwiO2NvbnN0cnVjdG9yKHQpe3N1cGVyKElvKHQpKSx0aGlzLmRvYz10fX0sVHQ9Sm47dmFyIFR1PXt9O2Z1bmN0aW9uIExvKGUsdCxyLG4pe2xldCBzPVtlXTtmb3IoO3MubGVuZ3RoPjA7KXtsZXQgdT1zLnBvcCgpO2lmKHU9PT1UdSl7cihzLnBvcCgpKTtjb250aW51ZX1yJiZzLnB1c2godSxUdSk7bGV0IGk9bnQodSk7aWYoIWkpdGhyb3cgbmV3IFR0KHUpO2lmKCh0PT1udWxsP3ZvaWQgMDp0KHUpKSE9PSExKXN3aXRjaChpKXtjYXNlIF9lOmNhc2UgUGU6e2xldCBhPWk9PT1fZT91OnUucGFydHM7Zm9yKGxldCBwPWEubGVuZ3RoLG89cC0xO28+PTA7LS1vKXMucHVzaChhW29dKTticmVha31jYXNlIHhlOnMucHVzaCh1LmZsYXRDb250ZW50cyx1LmJyZWFrQ29udGVudHMpO2JyZWFrO2Nhc2UgbGU6aWYobiYmdS5leHBhbmRlZFN0YXRlcylmb3IobGV0IGE9dS5leHBhbmRlZFN0YXRlcy5sZW5ndGgscD1hLTE7cD49MDstLXApcy5wdXNoKHUuZXhwYW5kZWRTdGF0ZXNbcF0pO2Vsc2Ugcy5wdXNoKHUuY29udGVudHMpO2JyZWFrO2Nhc2UgWWU6Y2FzZSBYZTpjYXNlIEhlOmNhc2UgamU6Y2FzZSBOZTpzLnB1c2godS5jb250ZW50cyk7YnJlYWs7Y2FzZSBldDpjYXNlIHR0OmNhc2UgcnQ6Y2FzZSBWZTpjYXNlIG1lOmNhc2UgdmU6YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgVHQodSl9fX12YXIgcW49TG87dmFyIGR1PSgpPT57fSwkZT1kdSx2cj1kdTtmdW5jdGlvbiBmKGUpe3JldHVybiAkZShlKSx7dHlwZTpYZSxjb250ZW50czplfX1mdW5jdGlvbiBoZShlLHQpe3JldHVybiAkZSh0KSx7dHlwZTpZZSxjb250ZW50czp0LG46ZX19ZnVuY3Rpb24gbChlLHQ9e30pe3JldHVybiAkZShlKSx2cih0LmV4cGFuZGVkU3RhdGVzLCEwKSx7dHlwZTpsZSxpZDp0LmlkLGNvbnRlbnRzOmUsYnJlYWs6ISF0LnNob3VsZEJyZWFrLGV4cGFuZGVkU3RhdGVzOnQuZXhwYW5kZWRTdGF0ZXN9fWZ1bmN0aW9uIHh1KGUpe3JldHVybiBoZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksZSl9ZnVuY3Rpb24gTXIoZSl7cmV0dXJuIGhlKC0xLGUpfWZ1bmN0aW9uIEtlKGUsdCl7cmV0dXJuIGwoZVswXSx7Li4udCxleHBhbmRlZFN0YXRlczplfSl9ZnVuY3Rpb24gUnIoZSl7cmV0dXJuIHZyKGUpLHt0eXBlOlBlLHBhcnRzOmV9fWZ1bmN0aW9uIEIoZSx0PVwiXCIscj17fSl7cmV0dXJuICRlKGUpLHQhPT1cIlwiJiYkZSh0KSx7dHlwZTp4ZSxicmVha0NvbnRlbnRzOmUsZmxhdENvbnRlbnRzOnQsZ3JvdXBJZDpyLmdyb3VwSWR9fWZ1bmN0aW9uIGR0KGUsdCl7cmV0dXJuICRlKGUpLHt0eXBlOkhlLGNvbnRlbnRzOmUsZ3JvdXBJZDp0Lmdyb3VwSWQsbmVnYXRlOnQubmVnYXRlfX1mdW5jdGlvbiBXbihlKXtyZXR1cm4gJGUoZSkse3R5cGU6TmUsY29udGVudHM6ZX19dmFyIGtlPXt0eXBlOlZlfSxFZT17dHlwZTp2ZX07dmFyIEduPXt0eXBlOm1lLGhhcmQ6ITB9LHdvPXt0eXBlOm1lLGhhcmQ6ITAsbGl0ZXJhbDohMH0seD17dHlwZTptZX0sRT17dHlwZTptZSxzb2Z0OiEwfSxGPVtHbixFZV0sSnI9W3dvLEVlXSxpcj17dHlwZTp0dH07ZnVuY3Rpb24gYihlLHQpeyRlKGUpLHZyKHQpO2xldCByPVtdO2ZvcihsZXQgbj0wO248dC5sZW5ndGg7bisrKW4hPT0wJiZyLnB1c2goZSksci5wdXNoKHRbbl0pO3JldHVybiByfWZ1bmN0aW9uIGh1KGUsdCxyKXskZShlKTtsZXQgbj1lO2lmKHQ+MCl7Zm9yKGxldCBzPTA7czxNYXRoLmZsb29yKHQvcik7KytzKW49ZihuKTtuPWhlKHQlcixuKSxuPWhlKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSxuKX1yZXR1cm4gbn1mdW5jdGlvbiBzdChlLHQpe3JldHVybiAkZSh0KSxlP3t0eXBlOmplLGxhYmVsOmUsY29udGVudHM6dH06dH1mdW5jdGlvbiBtdChlLHQpe2lmKHR5cGVvZiBlPT1cInN0cmluZ1wiKXJldHVybiB0KGUpO2xldCByPW5ldyBNYXA7cmV0dXJuIG4oZSk7ZnVuY3Rpb24gbih1KXtpZihyLmhhcyh1KSlyZXR1cm4gci5nZXQodSk7bGV0IGk9cyh1KTtyZXR1cm4gci5zZXQodSxpKSxpfWZ1bmN0aW9uIHModSl7c3dpdGNoKG50KHUpKXtjYXNlIF9lOnJldHVybiB0KHUubWFwKG4pKTtjYXNlIFBlOnJldHVybiB0KHsuLi51LHBhcnRzOnUucGFydHMubWFwKG4pfSk7Y2FzZSB4ZTpyZXR1cm4gdCh7Li4udSxicmVha0NvbnRlbnRzOm4odS5icmVha0NvbnRlbnRzKSxmbGF0Q29udGVudHM6bih1LmZsYXRDb250ZW50cyl9KTtjYXNlIGxlOntsZXR7ZXhwYW5kZWRTdGF0ZXM6aSxjb250ZW50czphfT11O3JldHVybiBpPyhpPWkubWFwKG4pLGE9aVswXSk6YT1uKGEpLHQoey4uLnUsY29udGVudHM6YSxleHBhbmRlZFN0YXRlczppfSl9Y2FzZSBZZTpjYXNlIFhlOmNhc2UgSGU6Y2FzZSBqZTpjYXNlIE5lOnJldHVybiB0KHsuLi51LGNvbnRlbnRzOm4odS5jb250ZW50cyl9KTtjYXNlIGV0OmNhc2UgdHQ6Y2FzZSBydDpjYXNlIFZlOmNhc2UgbWU6Y2FzZSB2ZTpyZXR1cm4gdCh1KTtkZWZhdWx0OnRocm93IG5ldyBUdCh1KX19fWZ1bmN0aW9uIFN1KGUsdCxyKXtsZXQgbj1yLHM9ITE7ZnVuY3Rpb24gdShpKXtpZihzKXJldHVybiExO2xldCBhPXQoaSk7YSE9PXZvaWQgMCYmKHM9ITAsbj1hKX1yZXR1cm4gcW4oZSx1KSxufWZ1bmN0aW9uIE9vKGUpe2lmKGUudHlwZT09PWxlJiZlLmJyZWFrfHxlLnR5cGU9PT1tZSYmZS5oYXJkfHxlLnR5cGU9PT12ZSlyZXR1cm4hMH1mdW5jdGlvbiByZShlKXtyZXR1cm4gU3UoZSxPbywhMSl9ZnVuY3Rpb24gZ3UoZSl7aWYoZS5sZW5ndGg+MCl7bGV0IHQ9XyghMSxlLC0xKTshdC5leHBhbmRlZFN0YXRlcyYmIXQuYnJlYWsmJih0LmJyZWFrPVwicHJvcGFnYXRlZFwiKX1yZXR1cm4gbnVsbH1mdW5jdGlvbiBCdShlKXtsZXQgdD1uZXcgU2V0LHI9W107ZnVuY3Rpb24gbih1KXtpZih1LnR5cGU9PT12ZSYmZ3UociksdS50eXBlPT09bGUpe2lmKHIucHVzaCh1KSx0Lmhhcyh1KSlyZXR1cm4hMTt0LmFkZCh1KX19ZnVuY3Rpb24gcyh1KXt1LnR5cGU9PT1sZSYmci5wb3AoKS5icmVhayYmZ3Uocil9cW4oZSxuLHMsITApfWZ1bmN0aW9uIF9vKGUpe3JldHVybiBlLnR5cGU9PT1tZSYmIWUuaGFyZD9lLnNvZnQ/XCJcIjpcIiBcIjplLnR5cGU9PT14ZT9lLmZsYXRDb250ZW50czplfWZ1bmN0aW9uIGFyKGUpe3JldHVybiBtdChlLF9vKX1mdW5jdGlvbiBqbyhlKXtzd2l0Y2gobnQoZSkpe2Nhc2UgUGU6aWYoZS5wYXJ0cy5ldmVyeSh0PT50PT09XCJcIikpcmV0dXJuXCJcIjticmVhaztjYXNlIGxlOmlmKCFlLmNvbnRlbnRzJiYhZS5pZCYmIWUuYnJlYWsmJiFlLmV4cGFuZGVkU3RhdGVzKXJldHVyblwiXCI7aWYoZS5jb250ZW50cy50eXBlPT09bGUmJmUuY29udGVudHMuaWQ9PT1lLmlkJiZlLmNvbnRlbnRzLmJyZWFrPT09ZS5icmVhayYmZS5jb250ZW50cy5leHBhbmRlZFN0YXRlcz09PWUuZXhwYW5kZWRTdGF0ZXMpcmV0dXJuIGUuY29udGVudHM7YnJlYWs7Y2FzZSBZZTpjYXNlIFhlOmNhc2UgSGU6Y2FzZSBOZTppZighZS5jb250ZW50cylyZXR1cm5cIlwiO2JyZWFrO2Nhc2UgeGU6aWYoIWUuZmxhdENvbnRlbnRzJiYhZS5icmVha0NvbnRlbnRzKXJldHVyblwiXCI7YnJlYWs7Y2FzZSBfZTp7bGV0IHQ9W107Zm9yKGxldCByIG9mIGUpe2lmKCFyKWNvbnRpbnVlO2xldFtuLC4uLnNdPUFycmF5LmlzQXJyYXkocik/cjpbcl07dHlwZW9mIG49PVwic3RyaW5nXCImJnR5cGVvZiBfKCExLHQsLTEpPT1cInN0cmluZ1wiP3RbdC5sZW5ndGgtMV0rPW46dC5wdXNoKG4pLHQucHVzaCguLi5zKX1yZXR1cm4gdC5sZW5ndGg9PT0wP1wiXCI6dC5sZW5ndGg9PT0xP3RbMF06dH1jYXNlIGV0OmNhc2UgdHQ6Y2FzZSBydDpjYXNlIFZlOmNhc2UgbWU6Y2FzZSBqZTpjYXNlIHZlOmJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IFR0KGUpfXJldHVybiBlfWZ1bmN0aW9uIEd0KGUpe3JldHVybiBtdChlLHQ9PmpvKHQpKX1mdW5jdGlvbiBJZShlLHQ9SnIpe3JldHVybiBtdChlLHI9PnR5cGVvZiByPT1cInN0cmluZ1wiP2IodCxyLnNwbGl0KGBcbmApKTpyKX1mdW5jdGlvbiB2byhlKXtpZihlLnR5cGU9PT1tZSlyZXR1cm4hMH1mdW5jdGlvbiBidShlKXtyZXR1cm4gU3UoZSx2bywhMSl9ZnVuY3Rpb24gb3IoZSx0KXtyZXR1cm4gZS50eXBlPT09amU/ey4uLmUsY29udGVudHM6dChlLmNvbnRlbnRzKX06dChlKX1mdW5jdGlvbiBNbyhlKXtsZXQgdD1gKiR7ZS52YWx1ZX0qYC5zcGxpdChgXG5gKTtyZXR1cm4gdC5sZW5ndGg+MSYmdC5ldmVyeShyPT5yLnRyaW1TdGFydCgpWzBdPT09XCIqXCIpfXZhciBQdT1NbztmdW5jdGlvbiBrdShlLHQpe2xldCByPWUubm9kZTtpZihDdChyKSlyZXR1cm4gdC5vcmlnaW5hbFRleHQuc2xpY2UocShyKSxrKHIpKS50cmltRW5kKCk7aWYoZWUocikpcmV0dXJuIFB1KHIpP1JvKHIpOltcIi8qXCIsSWUoci52YWx1ZSksXCIqL1wiXTt0aHJvdyBuZXcgRXJyb3IoXCJOb3QgYSBjb21tZW50OiBcIitKU09OLnN0cmluZ2lmeShyKSl9ZnVuY3Rpb24gUm8oZSl7bGV0IHQ9ZS52YWx1ZS5zcGxpdChgXG5gKTtyZXR1cm5bXCIvKlwiLGIoRix0Lm1hcCgocixuKT0+bj09PTA/ci50cmltRW5kKCk6XCIgXCIrKG48dC5sZW5ndGgtMT9yLnRyaW0oKTpyLnRyaW1TdGFydCgpKSkpLFwiKi9cIl19dmFyICRuPXt9O0FyKCRuLHtlbmRPZkxpbmU6KCk9PllvLG93bkxpbmU6KCk9PlhvLHJlbWFpbmluZzooKT0+SG99KTtmdW5jdGlvbiBKbyhlKXtsZXQgdD1lLnR5cGV8fGUua2luZHx8XCIodW5rbm93biB0eXBlKVwiLHI9U3RyaW5nKGUubmFtZXx8ZS5pZCYmKHR5cGVvZiBlLmlkPT1cIm9iamVjdFwiP2UuaWQubmFtZTplLmlkKXx8ZS5rZXkmJih0eXBlb2YgZS5rZXk9PVwib2JqZWN0XCI/ZS5rZXkubmFtZTplLmtleSl8fGUudmFsdWUmJih0eXBlb2YgZS52YWx1ZT09XCJvYmplY3RcIj9cIlwiOlN0cmluZyhlLnZhbHVlKSl8fGUub3BlcmF0b3J8fFwiXCIpO3JldHVybiByLmxlbmd0aD4yMCYmKHI9ci5zbGljZSgwLDE5KStcIlxcdTIwMjZcIiksdCsocj9cIiBcIityOlwiXCIpfWZ1bmN0aW9uIFVuKGUsdCl7KGUuY29tbWVudHM/PyhlLmNvbW1lbnRzPVtdKSkucHVzaCh0KSx0LnByaW50ZWQ9ITEsdC5ub2RlRGVzY3JpcHRpb249Sm8oZSl9ZnVuY3Rpb24gY2UoZSx0KXt0LmxlYWRpbmc9ITAsdC50cmFpbGluZz0hMSxVbihlLHQpfWZ1bmN0aW9uIExlKGUsdCxyKXt0LmxlYWRpbmc9ITEsdC50cmFpbGluZz0hMSxyJiYodC5tYXJrZXI9ciksVW4oZSx0KX1mdW5jdGlvbiBWKGUsdCl7dC5sZWFkaW5nPSExLHQudHJhaWxpbmc9ITAsVW4oZSx0KX1mdW5jdGlvbiBxbyhlLHQpe2xldCByPW51bGwsbj10O2Zvcig7biE9PXI7KXI9bixuPVdlKGUsbiksbj1PdChlLG4pLG49X3QoZSxuKSxuPUdlKGUsbik7cmV0dXJuIG59dmFyIHV0PXFvO2Z1bmN0aW9uIFdvKGUsdCl7bGV0IHI9dXQoZSx0KTtyZXR1cm4gcj09PSExP1wiXCI6ZS5jaGFyQXQocil9dmFyIGdlPVdvO2Z1bmN0aW9uIEdvKGUsdCxyKXtmb3IobGV0IG49dDtuPHI7KytuKWlmKGUuY2hhckF0KG4pPT09YFxuYClyZXR1cm4hMDtyZXR1cm4hMX12YXIgVGU9R287ZnVuY3Rpb24gVW8oZSl7cmV0dXJuIGVlKGUpJiZlLnZhbHVlWzBdPT09XCIqXCImJi9AKD86dHlwZXxzYXRpc2ZpZXMpXFxiL3UudGVzdChlLnZhbHVlKX12YXIgSXU9VW87ZnVuY3Rpb24gWG8oZSl7cmV0dXJuW1J1LHd1LGp1LG5wLFZvLFluLEhuLEx1LE91LGFwLHVwLFZuLE11LG9wLF91LHZ1LE5uLCRvLEVwXS5zb21lKHQ9PnQoZSkpfWZ1bmN0aW9uIFlvKGUpe3JldHVybltObyxqdSx3dSxNdSxZbixIbixMdSxPdSx2dSxzcCxpcCxWbixscCxObixEcCxmcCxGcF0uc29tZSh0PT50KGUpKX1mdW5jdGlvbiBIbyhlKXtyZXR1cm5bUnUsWW4sSG4sS28scnAsX3UsVm4sdHAsZXAseXAsTm4sbXBdLnNvbWUodD0+dChlKSl9ZnVuY3Rpb24gSXQoZSx0KXtsZXQgcj0oZS5ib2R5fHxlLnByb3BlcnRpZXMpLmZpbmQoKHt0eXBlOm59KT0+biE9PVwiRW1wdHlTdGF0ZW1lbnRcIik7cj9jZShyLHQpOkxlKGUsdCl9ZnVuY3Rpb24gWG4oZSx0KXtlLnR5cGU9PT1cIkJsb2NrU3RhdGVtZW50XCI/SXQoZSx0KTpjZShlLHQpfWZ1bmN0aW9uIE5vKHtjb21tZW50OmUsZm9sbG93aW5nTm9kZTp0fSl7cmV0dXJuIHQmJkl1KGUpPyhjZSh0LGUpLCEwKTohMX1mdW5jdGlvbiBZbih7Y29tbWVudDplLHByZWNlZGluZ05vZGU6dCxlbmNsb3NpbmdOb2RlOnIsZm9sbG93aW5nTm9kZTpuLHRleHQ6c30pe2lmKChyPT1udWxsP3ZvaWQgMDpyLnR5cGUpIT09XCJJZlN0YXRlbWVudFwifHwhbilyZXR1cm4hMTtpZihnZShzLGsoZSkpPT09XCIpXCIpcmV0dXJuIFYodCxlKSwhMDtpZih0PT09ci5jb25zZXF1ZW50JiZuPT09ci5hbHRlcm5hdGUpe2xldCBpPXV0KHMsayhyLmNvbnNlcXVlbnQpKTtpZihxKGUpPGl8fHIuYWx0ZXJuYXRlLnR5cGU9PT1cIkJsb2NrU3RhdGVtZW50XCIpe2lmKHQudHlwZT09PVwiQmxvY2tTdGF0ZW1lbnRcIilWKHQsZSk7ZWxzZXtsZXQgYT1DdChlKXx8ZS5sb2Muc3RhcnQubGluZT09PWUubG9jLmVuZC5saW5lLHA9ZS5sb2Muc3RhcnQubGluZT09PXQubG9jLnN0YXJ0LmxpbmU7YSYmcD9WKHQsZSk6TGUocixlKX1yZXR1cm4hMH19cmV0dXJuIG4udHlwZT09PVwiQmxvY2tTdGF0ZW1lbnRcIj8oSXQobixlKSwhMCk6bi50eXBlPT09XCJJZlN0YXRlbWVudFwiPyhYbihuLmNvbnNlcXVlbnQsZSksITApOnIuY29uc2VxdWVudD09PW4/KGNlKG4sZSksITApOiExfWZ1bmN0aW9uIEhuKHtjb21tZW50OmUscHJlY2VkaW5nTm9kZTp0LGVuY2xvc2luZ05vZGU6cixmb2xsb3dpbmdOb2RlOm4sdGV4dDpzfSl7cmV0dXJuKHI9PW51bGw/dm9pZCAwOnIudHlwZSkhPT1cIldoaWxlU3RhdGVtZW50XCJ8fCFuPyExOmdlKHMsayhlKSk9PT1cIilcIj8oVih0LGUpLCEwKTpuLnR5cGU9PT1cIkJsb2NrU3RhdGVtZW50XCI/KEl0KG4sZSksITApOnIuYm9keT09PW4/KGNlKG4sZSksITApOiExfWZ1bmN0aW9uIEx1KHtjb21tZW50OmUscHJlY2VkaW5nTm9kZTp0LGVuY2xvc2luZ05vZGU6cixmb2xsb3dpbmdOb2RlOm59KXtyZXR1cm4ocj09bnVsbD92b2lkIDA6ci50eXBlKSE9PVwiVHJ5U3RhdGVtZW50XCImJihyPT1udWxsP3ZvaWQgMDpyLnR5cGUpIT09XCJDYXRjaENsYXVzZVwifHwhbj8hMTpyLnR5cGU9PT1cIkNhdGNoQ2xhdXNlXCImJnQ/KFYodCxlKSwhMCk6bi50eXBlPT09XCJCbG9ja1N0YXRlbWVudFwiPyhJdChuLGUpLCEwKTpuLnR5cGU9PT1cIlRyeVN0YXRlbWVudFwiPyhYbihuLmZpbmFsaXplcixlKSwhMCk6bi50eXBlPT09XCJDYXRjaENsYXVzZVwiPyhYbihuLmJvZHksZSksITApOiExfWZ1bmN0aW9uIFZvKHtjb21tZW50OmUsZW5jbG9zaW5nTm9kZTp0LGZvbGxvd2luZ05vZGU6cn0pe3JldHVybiBXKHQpJiYocj09bnVsbD92b2lkIDA6ci50eXBlKT09PVwiSWRlbnRpZmllclwiPyhjZSh0LGUpLCEwKTohMX1mdW5jdGlvbiAkbyh7Y29tbWVudDplLGVuY2xvc2luZ05vZGU6dCxmb2xsb3dpbmdOb2RlOnIsb3B0aW9uczpufSl7cmV0dXJuIW4uZXhwZXJpbWVudGFsVGVybmFyaWVzfHwhKCh0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJDb25kaXRpb25hbEV4cHJlc3Npb25cInx8KHQ9PW51bGw/dm9pZCAwOnQudHlwZSk9PT1cIkNvbmRpdGlvbmFsVHlwZUFubm90YXRpb25cInx8KHQ9PW51bGw/dm9pZCAwOnQudHlwZSk9PT1cIlRTQ29uZGl0aW9uYWxUeXBlXCIpPyExOihyPT1udWxsP3ZvaWQgMDpyLnR5cGUpPT09XCJDb25kaXRpb25hbEV4cHJlc3Npb25cInx8KHI9PW51bGw/dm9pZCAwOnIudHlwZSk9PT1cIkNvbmRpdGlvbmFsVHlwZUFubm90YXRpb25cInx8KHI9PW51bGw/dm9pZCAwOnIudHlwZSk9PT1cIlRTQ29uZGl0aW9uYWxUeXBlXCI/KExlKHQsZSksITApOiExfWZ1bmN0aW9uIHd1KHtjb21tZW50OmUscHJlY2VkaW5nTm9kZTp0LGVuY2xvc2luZ05vZGU6cixmb2xsb3dpbmdOb2RlOm4sdGV4dDpzLG9wdGlvbnM6dX0pe2xldCBpPXQmJiFUZShzLGsodCkscShlKSk7cmV0dXJuKCF0fHwhaSkmJigocj09bnVsbD92b2lkIDA6ci50eXBlKT09PVwiQ29uZGl0aW9uYWxFeHByZXNzaW9uXCJ8fChyPT1udWxsP3ZvaWQgMDpyLnR5cGUpPT09XCJDb25kaXRpb25hbFR5cGVBbm5vdGF0aW9uXCJ8fChyPT1udWxsP3ZvaWQgMDpyLnR5cGUpPT09XCJUU0NvbmRpdGlvbmFsVHlwZVwiKSYmbj91LmV4cGVyaW1lbnRhbFRlcm5hcmllcyYmci5hbHRlcm5hdGU9PT1uJiYhKGVlKGUpJiYhVGUodS5vcmlnaW5hbFRleHQscShlKSxrKGUpKSk/KExlKHIsZSksITApOihjZShuLGUpLCEwKTohMX1mdW5jdGlvbiBLbyh7Y29tbWVudDplLHByZWNlZGluZ05vZGU6dCxlbmNsb3NpbmdOb2RlOnJ9KXtyZXR1cm4gQ2UocikmJnIuc2hvcnRoYW5kJiZyLmtleT09PXQmJnIudmFsdWUudHlwZT09PVwiQXNzaWdubWVudFBhdHRlcm5cIj8oVihyLnZhbHVlLmxlZnQsZSksITApOiExfXZhciBRbz1uZXcgU2V0KFtcIkNsYXNzRGVjbGFyYXRpb25cIixcIkNsYXNzRXhwcmVzc2lvblwiLFwiRGVjbGFyZUNsYXNzXCIsXCJEZWNsYXJlSW50ZXJmYWNlXCIsXCJJbnRlcmZhY2VEZWNsYXJhdGlvblwiLFwiVFNJbnRlcmZhY2VEZWNsYXJhdGlvblwiXSk7ZnVuY3Rpb24gT3Uoe2NvbW1lbnQ6ZSxwcmVjZWRpbmdOb2RlOnQsZW5jbG9zaW5nTm9kZTpyLGZvbGxvd2luZ05vZGU6bn0pe2lmKFFvLmhhcyhyPT1udWxsP3ZvaWQgMDpyLnR5cGUpKXtpZihPKHIuZGVjb3JhdG9ycykmJihuPT1udWxsP3ZvaWQgMDpuLnR5cGUpIT09XCJEZWNvcmF0b3JcIilyZXR1cm4gVihfKCExLHIuZGVjb3JhdG9ycywtMSksZSksITA7aWYoci5ib2R5JiZuPT09ci5ib2R5KXJldHVybiBJdChyLmJvZHksZSksITA7aWYobil7aWYoci5zdXBlckNsYXNzJiZuPT09ci5zdXBlckNsYXNzJiZ0JiYodD09PXIuaWR8fHQ9PT1yLnR5cGVQYXJhbWV0ZXJzKSlyZXR1cm4gVih0LGUpLCEwO2ZvcihsZXQgcyBvZltcImltcGxlbWVudHNcIixcImV4dGVuZHNcIixcIm1peGluc1wiXSlpZihyW3NdJiZuPT09cltzXVswXSlyZXR1cm4gdCYmKHQ9PT1yLmlkfHx0PT09ci50eXBlUGFyYW1ldGVyc3x8dD09PXIuc3VwZXJDbGFzcyk/Vih0LGUpOkxlKHIsZSxzKSwhMH19cmV0dXJuITF9dmFyIHpvPW5ldyBTZXQoW1wiQ2xhc3NNZXRob2RcIixcIkNsYXNzUHJvcGVydHlcIixcIlByb3BlcnR5RGVmaW5pdGlvblwiLFwiVFNBYnN0cmFjdFByb3BlcnR5RGVmaW5pdGlvblwiLFwiVFNBYnN0cmFjdE1ldGhvZERlZmluaXRpb25cIixcIlRTRGVjbGFyZU1ldGhvZFwiLFwiTWV0aG9kRGVmaW5pdGlvblwiLFwiQ2xhc3NBY2Nlc3NvclByb3BlcnR5XCIsXCJBY2Nlc3NvclByb3BlcnR5XCIsXCJUU0Fic3RyYWN0QWNjZXNzb3JQcm9wZXJ0eVwiLFwiVFNQYXJhbWV0ZXJQcm9wZXJ0eVwiXSk7ZnVuY3Rpb24gX3Uoe2NvbW1lbnQ6ZSxwcmVjZWRpbmdOb2RlOnQsZW5jbG9zaW5nTm9kZTpyLHRleHQ6bn0pe3JldHVybiByJiZ0JiZnZShuLGsoZSkpPT09XCIoXCImJihyLnR5cGU9PT1cIlByb3BlcnR5XCJ8fHIudHlwZT09PVwiVFNEZWNsYXJlTWV0aG9kXCJ8fHIudHlwZT09PVwiVFNBYnN0cmFjdE1ldGhvZERlZmluaXRpb25cIikmJnQudHlwZT09PVwiSWRlbnRpZmllclwiJiZyLmtleT09PXQmJmdlKG4sayh0KSkhPT1cIjpcIj8oVih0LGUpLCEwKToodD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwiRGVjb3JhdG9yXCImJnpvLmhhcyhyPT1udWxsP3ZvaWQgMDpyLnR5cGUpJiYoQ3QoZSl8fGUucGxhY2VtZW50PT09XCJvd25MaW5lXCIpPyhWKHQsZSksITApOiExfXZhciBabz1uZXcgU2V0KFtcIkZ1bmN0aW9uRGVjbGFyYXRpb25cIixcIkZ1bmN0aW9uRXhwcmVzc2lvblwiLFwiQ2xhc3NNZXRob2RcIixcIk1ldGhvZERlZmluaXRpb25cIixcIk9iamVjdE1ldGhvZFwiXSk7ZnVuY3Rpb24gZXAoe2NvbW1lbnQ6ZSxwcmVjZWRpbmdOb2RlOnQsZW5jbG9zaW5nTm9kZTpyLHRleHQ6bn0pe3JldHVybiBnZShuLGsoZSkpIT09XCIoXCI/ITE6dCYmWm8uaGFzKHI9PW51bGw/dm9pZCAwOnIudHlwZSk/KFYodCxlKSwhMCk6ITF9ZnVuY3Rpb24gdHAoe2NvbW1lbnQ6ZSxlbmNsb3NpbmdOb2RlOnQsdGV4dDpyfSl7aWYoKHQ9PW51bGw/dm9pZCAwOnQudHlwZSkhPT1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCIpcmV0dXJuITE7bGV0IG49dXQocixrKGUpKTtyZXR1cm4gbiE9PSExJiZyLnNsaWNlKG4sbisyKT09PVwiPT5cIj8oTGUodCxlKSwhMCk6ITF9ZnVuY3Rpb24gcnAoe2NvbW1lbnQ6ZSxlbmNsb3NpbmdOb2RlOnQsdGV4dDpyfSl7cmV0dXJuIGdlKHIsayhlKSkhPT1cIilcIj8hMTp0JiYoSnUodCkmJnoodCkubGVuZ3RoPT09MHx8bHQodCkmJm9lKHQpLmxlbmd0aD09PTApPyhMZSh0LGUpLCEwKTooKHQ9PW51bGw/dm9pZCAwOnQudHlwZSk9PT1cIk1ldGhvZERlZmluaXRpb25cInx8KHQ9PW51bGw/dm9pZCAwOnQudHlwZSk9PT1cIlRTQWJzdHJhY3RNZXRob2REZWZpbml0aW9uXCIpJiZ6KHQudmFsdWUpLmxlbmd0aD09PTA/KExlKHQudmFsdWUsZSksITApOiExfWZ1bmN0aW9uIG5wKHtjb21tZW50OmUscHJlY2VkaW5nTm9kZTp0LGVuY2xvc2luZ05vZGU6cixmb2xsb3dpbmdOb2RlOm4sdGV4dDpzfSl7cmV0dXJuKHQ9PW51bGw/dm9pZCAwOnQudHlwZSk9PT1cIkNvbXBvbmVudFR5cGVQYXJhbWV0ZXJcIiYmKChyPT1udWxsP3ZvaWQgMDpyLnR5cGUpPT09XCJEZWNsYXJlQ29tcG9uZW50XCJ8fChyPT1udWxsP3ZvaWQgMDpyLnR5cGUpPT09XCJDb21wb25lbnRUeXBlQW5ub3RhdGlvblwiKSYmKG49PW51bGw/dm9pZCAwOm4udHlwZSkhPT1cIkNvbXBvbmVudFR5cGVQYXJhbWV0ZXJcIj8oVih0LGUpLCEwKTooKHQ9PW51bGw/dm9pZCAwOnQudHlwZSk9PT1cIkNvbXBvbmVudFBhcmFtZXRlclwifHwodD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwiUmVzdEVsZW1lbnRcIikmJihyPT1udWxsP3ZvaWQgMDpyLnR5cGUpPT09XCJDb21wb25lbnREZWNsYXJhdGlvblwiJiZnZShzLGsoZSkpPT09XCIpXCI/KFYodCxlKSwhMCk6ITF9ZnVuY3Rpb24ganUoe2NvbW1lbnQ6ZSxwcmVjZWRpbmdOb2RlOnQsZW5jbG9zaW5nTm9kZTpyLGZvbGxvd2luZ05vZGU6bix0ZXh0OnN9KXtyZXR1cm4odD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwiRnVuY3Rpb25UeXBlUGFyYW1cIiYmKHI9PW51bGw/dm9pZCAwOnIudHlwZSk9PT1cIkZ1bmN0aW9uVHlwZUFubm90YXRpb25cIiYmKG49PW51bGw/dm9pZCAwOm4udHlwZSkhPT1cIkZ1bmN0aW9uVHlwZVBhcmFtXCI/KFYodCxlKSwhMCk6KCh0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJJZGVudGlmaWVyXCJ8fCh0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJBc3NpZ25tZW50UGF0dGVyblwifHwodD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwiT2JqZWN0UGF0dGVyblwifHwodD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwiQXJyYXlQYXR0ZXJuXCJ8fCh0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJSZXN0RWxlbWVudFwifHwodD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwiVFNQYXJhbWV0ZXJQcm9wZXJ0eVwiKSYmSnUocikmJmdlKHMsayhlKSk9PT1cIilcIj8oVih0LGUpLCEwKTohZWUoZSkmJigocj09bnVsbD92b2lkIDA6ci50eXBlKT09PVwiRnVuY3Rpb25EZWNsYXJhdGlvblwifHwocj09bnVsbD92b2lkIDA6ci50eXBlKT09PVwiRnVuY3Rpb25FeHByZXNzaW9uXCJ8fChyPT1udWxsP3ZvaWQgMDpyLnR5cGUpPT09XCJPYmplY3RNZXRob2RcIikmJihuPT1udWxsP3ZvaWQgMDpuLnR5cGUpPT09XCJCbG9ja1N0YXRlbWVudFwiJiZyLmJvZHk9PT1uJiZ1dChzLGsoZSkpPT09cShuKT8oSXQobixlKSwhMCk6ITF9ZnVuY3Rpb24gdnUoe2NvbW1lbnQ6ZSxlbmNsb3NpbmdOb2RlOnR9KXtyZXR1cm4odD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwiTGFiZWxlZFN0YXRlbWVudFwiPyhjZSh0LGUpLCEwKTohMX1mdW5jdGlvbiBObih7Y29tbWVudDplLGVuY2xvc2luZ05vZGU6dH0pe3JldHVybigodD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwiQ29udGludWVTdGF0ZW1lbnRcInx8KHQ9PW51bGw/dm9pZCAwOnQudHlwZSk9PT1cIkJyZWFrU3RhdGVtZW50XCIpJiYhdC5sYWJlbD8oVih0LGUpLCEwKTohMX1mdW5jdGlvbiBzcCh7Y29tbWVudDplLHByZWNlZGluZ05vZGU6dCxlbmNsb3NpbmdOb2RlOnJ9KXtyZXR1cm4gTChyKSYmdCYmci5jYWxsZWU9PT10JiZyLmFyZ3VtZW50cy5sZW5ndGg+MD8oY2Uoci5hcmd1bWVudHNbMF0sZSksITApOiExfWZ1bmN0aW9uIHVwKHtjb21tZW50OmUscHJlY2VkaW5nTm9kZTp0LGVuY2xvc2luZ05vZGU6cixmb2xsb3dpbmdOb2RlOm59KXtyZXR1cm4gVWUocik/KHVyKGUpJiYobi5wcmV0dGllcklnbm9yZT0hMCxlLnVuaWdub3JlPSEwKSx0PyhWKHQsZSksITApOiExKTooVWUobikmJnVyKGUpJiYobi50eXBlc1swXS5wcmV0dGllcklnbm9yZT0hMCxlLnVuaWdub3JlPSEwKSwhMSl9ZnVuY3Rpb24gaXAoe2NvbW1lbnQ6ZSxlbmNsb3NpbmdOb2RlOnR9KXtyZXR1cm4gQ2UodCk/KGNlKHQsZSksITApOiExfWZ1bmN0aW9uIFZuKHtjb21tZW50OmUsZW5jbG9zaW5nTm9kZTp0LGFzdDpyLGlzTGFzdENvbW1lbnQ6bn0pe3ZhciBzO3JldHVybigocz1yPT1udWxsP3ZvaWQgMDpyLmJvZHkpPT1udWxsP3ZvaWQgMDpzLmxlbmd0aCk9PT0wPyhuP0xlKHIsZSk6Y2UocixlKSwhMCk6KHQ9PW51bGw/dm9pZCAwOnQudHlwZSk9PT1cIlByb2dyYW1cIiYmdC5ib2R5Lmxlbmd0aD09PTAmJiFPKHQuZGlyZWN0aXZlcyk/KG4/TGUodCxlKTpjZSh0LGUpLCEwKTohMX1mdW5jdGlvbiBhcCh7Y29tbWVudDplLGVuY2xvc2luZ05vZGU6dH0pe3JldHVybih0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJGb3JJblN0YXRlbWVudFwifHwodD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwiRm9yT2ZTdGF0ZW1lbnRcIj8oY2UodCxlKSwhMCk6ITF9ZnVuY3Rpb24gTXUoe2NvbW1lbnQ6ZSxwcmVjZWRpbmdOb2RlOnQsZW5jbG9zaW5nTm9kZTpyLHRleHQ6bn0pe2lmKChyPT1udWxsP3ZvaWQgMDpyLnR5cGUpPT09XCJJbXBvcnRTcGVjaWZpZXJcInx8KHI9PW51bGw/dm9pZCAwOnIudHlwZSk9PT1cIkV4cG9ydFNwZWNpZmllclwiKXJldHVybiBjZShyLGUpLCEwO2xldCBzPSh0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJJbXBvcnRTcGVjaWZpZXJcIiYmKHI9PW51bGw/dm9pZCAwOnIudHlwZSk9PT1cIkltcG9ydERlY2xhcmF0aW9uXCIsdT0odD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwiRXhwb3J0U3BlY2lmaWVyXCImJihyPT1udWxsP3ZvaWQgMDpyLnR5cGUpPT09XCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCI7cmV0dXJuKHN8fHUpJiZaKG4sayhlKSk/KFYodCxlKSwhMCk6ITF9ZnVuY3Rpb24gb3Aoe2NvbW1lbnQ6ZSxlbmNsb3NpbmdOb2RlOnR9KXtyZXR1cm4odD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwiQXNzaWdubWVudFBhdHRlcm5cIj8oY2UodCxlKSwhMCk6ITF9dmFyIHBwPW5ldyBTZXQoW1wiVmFyaWFibGVEZWNsYXJhdG9yXCIsXCJBc3NpZ25tZW50RXhwcmVzc2lvblwiLFwiVHlwZUFsaWFzXCIsXCJUU1R5cGVBbGlhc0RlY2xhcmF0aW9uXCJdKSxjcD1uZXcgU2V0KFtcIk9iamVjdEV4cHJlc3Npb25cIixcIlJlY29yZEV4cHJlc3Npb25cIixcIkFycmF5RXhwcmVzc2lvblwiLFwiVHVwbGVFeHByZXNzaW9uXCIsXCJUZW1wbGF0ZUxpdGVyYWxcIixcIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvblwiLFwiT2JqZWN0VHlwZUFubm90YXRpb25cIixcIlRTVHlwZUxpdGVyYWxcIl0pO2Z1bmN0aW9uIGxwKHtjb21tZW50OmUsZW5jbG9zaW5nTm9kZTp0LGZvbGxvd2luZ05vZGU6cn0pe3JldHVybiBwcC5oYXModD09bnVsbD92b2lkIDA6dC50eXBlKSYmciYmKGNwLmhhcyhyLnR5cGUpfHxlZShlKSk/KGNlKHIsZSksITApOiExfWZ1bmN0aW9uIG1wKHtjb21tZW50OmUsZW5jbG9zaW5nTm9kZTp0LGZvbGxvd2luZ05vZGU6cix0ZXh0Om59KXtyZXR1cm4hciYmKCh0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJUU01ldGhvZFNpZ25hdHVyZVwifHwodD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwiVFNEZWNsYXJlRnVuY3Rpb25cInx8KHQ9PW51bGw/dm9pZCAwOnQudHlwZSk9PT1cIlRTQWJzdHJhY3RNZXRob2REZWZpbml0aW9uXCIpJiZnZShuLGsoZSkpPT09XCI7XCI/KFYodCxlKSwhMCk6ITF9ZnVuY3Rpb24gUnUoe2NvbW1lbnQ6ZSxlbmNsb3NpbmdOb2RlOnQsZm9sbG93aW5nTm9kZTpyfSl7aWYodXIoZSkmJih0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJUU01hcHBlZFR5cGVcIiYmKHI9PW51bGw/dm9pZCAwOnIudHlwZSk9PT1cIlRTVHlwZVBhcmFtZXRlclwiJiZyLmNvbnN0cmFpbnQpcmV0dXJuIHQucHJldHRpZXJJZ25vcmU9ITAsZS51bmlnbm9yZT0hMCwhMH1mdW5jdGlvbiB5cCh7Y29tbWVudDplLHByZWNlZGluZ05vZGU6dCxlbmNsb3NpbmdOb2RlOnIsZm9sbG93aW5nTm9kZTpufSl7cmV0dXJuKHI9PW51bGw/dm9pZCAwOnIudHlwZSkhPT1cIlRTTWFwcGVkVHlwZVwiPyExOihuPT1udWxsP3ZvaWQgMDpuLnR5cGUpPT09XCJUU1R5cGVQYXJhbWV0ZXJcIiYmbi5uYW1lPyhjZShuLm5hbWUsZSksITApOih0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJUU1R5cGVQYXJhbWV0ZXJcIiYmdC5jb25zdHJhaW50PyhWKHQuY29uc3RyYWludCxlKSwhMCk6ITF9ZnVuY3Rpb24gRHAoe2NvbW1lbnQ6ZSxlbmNsb3NpbmdOb2RlOnQsZm9sbG93aW5nTm9kZTpyfSl7cmV0dXJuIXR8fHQudHlwZSE9PVwiU3dpdGNoQ2FzZVwifHx0LnRlc3R8fCFyfHxyIT09dC5jb25zZXF1ZW50WzBdPyExOihyLnR5cGU9PT1cIkJsb2NrU3RhdGVtZW50XCImJkN0KGUpP0l0KHIsZSk6TGUodCxlKSwhMCl9ZnVuY3Rpb24gZnAoe2NvbW1lbnQ6ZSxwcmVjZWRpbmdOb2RlOnQsZW5jbG9zaW5nTm9kZTpyLGZvbGxvd2luZ05vZGU6bn0pe3JldHVybiBVZSh0KSYmKChyLnR5cGU9PT1cIlRTQXJyYXlUeXBlXCJ8fHIudHlwZT09PVwiQXJyYXlUeXBlQW5ub3RhdGlvblwiKSYmIW58fF9yKHIpKT8oVihfKCExLHQudHlwZXMsLTEpLGUpLCEwKTohMX1mdW5jdGlvbiBFcCh7Y29tbWVudDplLGVuY2xvc2luZ05vZGU6dCxwcmVjZWRpbmdOb2RlOnIsZm9sbG93aW5nTm9kZTpufSl7aWYoKCh0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJPYmplY3RQYXR0ZXJuXCJ8fCh0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJBcnJheVBhdHRlcm5cIikmJihuPT1udWxsP3ZvaWQgMDpuLnR5cGUpPT09XCJUU1R5cGVBbm5vdGF0aW9uXCIpcmV0dXJuIHI/VihyLGUpOkxlKHQsZSksITB9ZnVuY3Rpb24gRnAoe2NvbW1lbnQ6ZSxwcmVjZWRpbmdOb2RlOnQsZW5jbG9zaW5nTm9kZTpyLGZvbGxvd2luZ05vZGU6bn0pe3ZhciBzO2lmKCFuJiYocj09bnVsbD92b2lkIDA6ci50eXBlKT09PVwiVW5hcnlFeHByZXNzaW9uXCImJigodD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwiTG9naWNhbEV4cHJlc3Npb25cInx8KHQ9PW51bGw/dm9pZCAwOnQudHlwZSk9PT1cIkJpbmFyeUV4cHJlc3Npb25cIikpe2xldCB1PSgocz1yLmFyZ3VtZW50LmxvYyk9PW51bGw/dm9pZCAwOnMuc3RhcnQubGluZSkhPT10LnJpZ2h0LmxvYy5zdGFydC5saW5lLGk9Q3QoZSl8fGUubG9jLnN0YXJ0LmxpbmU9PT1lLmxvYy5lbmQubGluZSxhPWUubG9jLnN0YXJ0LmxpbmU9PT10LnJpZ2h0LmxvYy5zdGFydC5saW5lO2lmKHUmJmkmJmEpcmV0dXJuIFYodC5yaWdodCxlKSwhMH1yZXR1cm4hMX12YXIgSnU9dihbXCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiLFwiRnVuY3Rpb25FeHByZXNzaW9uXCIsXCJGdW5jdGlvbkRlY2xhcmF0aW9uXCIsXCJPYmplY3RNZXRob2RcIixcIkNsYXNzTWV0aG9kXCIsXCJUU0RlY2xhcmVGdW5jdGlvblwiLFwiVFNDYWxsU2lnbmF0dXJlRGVjbGFyYXRpb25cIixcIlRTQ29uc3RydWN0U2lnbmF0dXJlRGVjbGFyYXRpb25cIixcIlRTTWV0aG9kU2lnbmF0dXJlXCIsXCJUU0NvbnN0cnVjdG9yVHlwZVwiLFwiVFNGdW5jdGlvblR5cGVcIixcIlRTRGVjbGFyZU1ldGhvZFwiXSk7dmFyIENwPW5ldyBTZXQoW1wiRW1wdHlTdGF0ZW1lbnRcIixcIlRlbXBsYXRlRWxlbWVudFwiLFwiVFNFbXB0eUJvZHlGdW5jdGlvbkV4cHJlc3Npb25cIixcIkNoYWluRXhwcmVzc2lvblwiXSk7ZnVuY3Rpb24gQXAoZSl7cmV0dXJuIUNwLmhhcyhlLnR5cGUpfWZ1bmN0aW9uIFRwKGUsdCl7dmFyIHI7aWYoKHQucGFyc2VyPT09XCJ0eXBlc2NyaXB0XCJ8fHQucGFyc2VyPT09XCJmbG93XCJ8fHQucGFyc2VyPT09XCJhY29yblwifHx0LnBhcnNlcj09PVwiZXNwcmVlXCJ8fHQucGFyc2VyPT09XCJtZXJpeWFoXCJ8fHQucGFyc2VyPT09XCJfX2JhYmVsX2VzdHJlZVwiKSYmZS50eXBlPT09XCJNZXRob2REZWZpbml0aW9uXCImJigocj1lLnZhbHVlKT09bnVsbD92b2lkIDA6ci50eXBlKT09PVwiRnVuY3Rpb25FeHByZXNzaW9uXCImJnooZS52YWx1ZSkubGVuZ3RoPT09MCYmIWUudmFsdWUucmV0dXJuVHlwZSYmIU8oZS52YWx1ZS50eXBlUGFyYW1ldGVycykmJmUudmFsdWUuYm9keSlyZXR1cm5bLi4uZS5kZWNvcmF0b3JzfHxbXSxlLmtleSxlLnZhbHVlLmJvZHldfWZ1bmN0aW9uIEtuKGUpe2xldHtub2RlOnQscGFyZW50OnJ9PWU7cmV0dXJuKEgodCl8fHImJihyLnR5cGU9PT1cIkpTWFNwcmVhZEF0dHJpYnV0ZVwifHxyLnR5cGU9PT1cIkpTWFNwcmVhZENoaWxkXCJ8fFVlKHIpfHwoci50eXBlPT09XCJDbGFzc0RlY2xhcmF0aW9uXCJ8fHIudHlwZT09PVwiQ2xhc3NFeHByZXNzaW9uXCIpJiZyLnN1cGVyQ2xhc3M9PT10KSkmJigha3QodCl8fFVlKHIpKX1mdW5jdGlvbiBkcChlLHtwYXJzZXI6dH0pe2lmKHQ9PT1cImZsb3dcInx8dD09PVwiYmFiZWwtZmxvd1wiKXJldHVybiBlPVkoITEsZSwvW1xccyhdL2d1LFwiXCIpLGU9PT1cIlwifHxlPT09XCIvKlwifHxlPT09XCIvKjo6XCJ9ZnVuY3Rpb24gcXUoZSl7c3dpdGNoKGUpe2Nhc2VcImNyXCI6cmV0dXJuXCJcXHJcIjtjYXNlXCJjcmxmXCI6cmV0dXJuYFxcclxuYDtkZWZhdWx0OnJldHVybmBcbmB9fXZhciBTZT1TeW1ib2woXCJNT0RFX0JSRUFLXCIpLGl0PVN5bWJvbChcIk1PREVfRkxBVFwiKSxVdD1TeW1ib2woXCJjdXJzb3JcIiksUW49U3ltYm9sKFwiRE9DX0ZJTExfUFJJTlRFRF9MRU5HVEhcIik7ZnVuY3Rpb24gV3UoKXtyZXR1cm57dmFsdWU6XCJcIixsZW5ndGg6MCxxdWV1ZTpbXX19ZnVuY3Rpb24geHAoZSx0KXtyZXR1cm4gem4oZSx7dHlwZTpcImluZGVudFwifSx0KX1mdW5jdGlvbiBocChlLHQscil7cmV0dXJuIHQ9PT1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk/ZS5yb290fHxXdSgpOnQ8MD96bihlLHt0eXBlOlwiZGVkZW50XCJ9LHIpOnQ/dC50eXBlPT09XCJyb290XCI/ey4uLmUscm9vdDplfTp6bihlLHt0eXBlOnR5cGVvZiB0PT1cInN0cmluZ1wiP1wic3RyaW5nQWxpZ25cIjpcIm51bWJlckFsaWduXCIsbjp0fSxyKTplfWZ1bmN0aW9uIHpuKGUsdCxyKXtsZXQgbj10LnR5cGU9PT1cImRlZGVudFwiP2UucXVldWUuc2xpY2UoMCwtMSk6Wy4uLmUucXVldWUsdF0scz1cIlwiLHU9MCxpPTAsYT0wO2ZvcihsZXQgYyBvZiBuKXN3aXRjaChjLnR5cGUpe2Nhc2VcImluZGVudFwiOm0oKSxyLnVzZVRhYnM/cCgxKTpvKHIudGFiV2lkdGgpO2JyZWFrO2Nhc2VcInN0cmluZ0FsaWduXCI6bSgpLHMrPWMubix1Kz1jLm4ubGVuZ3RoO2JyZWFrO2Nhc2VcIm51bWJlckFsaWduXCI6aSs9MSxhKz1jLm47YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgdHlwZSAnJHtjLnR5cGV9J2ApfXJldHVybiBEKCksey4uLmUsdmFsdWU6cyxsZW5ndGg6dSxxdWV1ZTpufTtmdW5jdGlvbiBwKGMpe3MrPVwiXHRcIi5yZXBlYXQoYyksdSs9ci50YWJXaWR0aCpjfWZ1bmN0aW9uIG8oYyl7cys9XCIgXCIucmVwZWF0KGMpLHUrPWN9ZnVuY3Rpb24gbSgpe3IudXNlVGFicz95KCk6RCgpfWZ1bmN0aW9uIHkoKXtpPjAmJnAoaSksQygpfWZ1bmN0aW9uIEQoKXthPjAmJm8oYSksQygpfWZ1bmN0aW9uIEMoKXtpPTAsYT0wfX1mdW5jdGlvbiBabihlKXtsZXQgdD0wLHI9MCxuPWUubGVuZ3RoO2U6Zm9yKDtuLS07KXtsZXQgcz1lW25dO2lmKHM9PT1VdCl7cisrO2NvbnRpbnVlfWZvcihsZXQgdT1zLmxlbmd0aC0xO3U+PTA7dS0tKXtsZXQgaT1zW3VdO2lmKGk9PT1cIiBcInx8aT09PVwiXHRcIil0Kys7ZWxzZXtlW25dPXMuc2xpY2UoMCx1KzEpO2JyZWFrIGV9fX1pZih0PjB8fHI+MClmb3IoZS5sZW5ndGg9bisxO3ItLSA+MDspZS5wdXNoKFV0KTtyZXR1cm4gdH1mdW5jdGlvbiBxcihlLHQscixuLHMsdSl7aWYocj09PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSlyZXR1cm4hMDtsZXQgaT10Lmxlbmd0aCxhPVtlXSxwPVtdO2Zvcig7cj49MDspe2lmKGEubGVuZ3RoPT09MCl7aWYoaT09PTApcmV0dXJuITA7YS5wdXNoKHRbLS1pXSk7Y29udGludWV9bGV0e21vZGU6byxkb2M6bX09YS5wb3AoKSx5PW50KG0pO3N3aXRjaCh5KXtjYXNlIGV0OnAucHVzaChtKSxyLT16ZShtKTticmVhaztjYXNlIF9lOmNhc2UgUGU6e2xldCBEPXk9PT1fZT9tOm0ucGFydHMsQz1tW1FuXT8/MDtmb3IobGV0IGM9RC5sZW5ndGgtMTtjPj1DO2MtLSlhLnB1c2goe21vZGU6byxkb2M6RFtjXX0pO2JyZWFrfWNhc2UgWGU6Y2FzZSBZZTpjYXNlIEhlOmNhc2UgamU6YS5wdXNoKHttb2RlOm8sZG9jOm0uY29udGVudHN9KTticmVhaztjYXNlIHJ0OnIrPVpuKHApO2JyZWFrO2Nhc2UgbGU6e2lmKHUmJm0uYnJlYWspcmV0dXJuITE7bGV0IEQ9bS5icmVhaz9TZTpvLEM9bS5leHBhbmRlZFN0YXRlcyYmRD09PVNlP18oITEsbS5leHBhbmRlZFN0YXRlcywtMSk6bS5jb250ZW50czthLnB1c2goe21vZGU6RCxkb2M6Q30pO2JyZWFrfWNhc2UgeGU6e2xldCBDPShtLmdyb3VwSWQ/c1ttLmdyb3VwSWRdfHxpdDpvKT09PVNlP20uYnJlYWtDb250ZW50czptLmZsYXRDb250ZW50cztDJiZhLnB1c2goe21vZGU6byxkb2M6Q30pO2JyZWFrfWNhc2UgbWU6aWYobz09PVNlfHxtLmhhcmQpcmV0dXJuITA7bS5zb2Z0fHwocC5wdXNoKFwiIFwiKSxyLS0pO2JyZWFrO2Nhc2UgTmU6bj0hMDticmVhaztjYXNlIFZlOmlmKG4pcmV0dXJuITE7YnJlYWt9fXJldHVybiExfWZ1bmN0aW9uIGVzKGUsdCl7bGV0IHI9e30sbj10LnByaW50V2lkdGgscz1xdSh0LmVuZE9mTGluZSksdT0wLGk9W3tpbmQ6V3UoKSxtb2RlOlNlLGRvYzplfV0sYT1bXSxwPSExLG89W10sbT0wO2ZvcihCdShlKTtpLmxlbmd0aD4wOyl7bGV0e2luZDpELG1vZGU6Qyxkb2M6Y309aS5wb3AoKTtzd2l0Y2gobnQoYykpe2Nhc2UgZXQ6e2xldCBBPXMhPT1gXG5gP1koITEsYyxgXG5gLHMpOmM7YS5wdXNoKEEpLGkubGVuZ3RoPjAmJih1Kz16ZShBKSk7YnJlYWt9Y2FzZSBfZTpmb3IobGV0IEE9Yy5sZW5ndGgtMTtBPj0wO0EtLSlpLnB1c2goe2luZDpELG1vZGU6Qyxkb2M6Y1tBXX0pO2JyZWFrO2Nhc2UgdHQ6aWYobT49Mil0aHJvdyBuZXcgRXJyb3IoXCJUaGVyZSBhcmUgdG9vIG1hbnkgJ2N1cnNvcicgaW4gZG9jLlwiKTthLnB1c2goVXQpLG0rKzticmVhaztjYXNlIFhlOmkucHVzaCh7aW5kOnhwKEQsdCksbW9kZTpDLGRvYzpjLmNvbnRlbnRzfSk7YnJlYWs7Y2FzZSBZZTppLnB1c2goe2luZDpocChELGMubix0KSxtb2RlOkMsZG9jOmMuY29udGVudHN9KTticmVhaztjYXNlIHJ0OnUtPVpuKGEpO2JyZWFrO2Nhc2UgbGU6c3dpdGNoKEMpe2Nhc2UgaXQ6aWYoIXApe2kucHVzaCh7aW5kOkQsbW9kZTpjLmJyZWFrP1NlOml0LGRvYzpjLmNvbnRlbnRzfSk7YnJlYWt9Y2FzZSBTZTp7cD0hMTtsZXQgQT17aW5kOkQsbW9kZTppdCxkb2M6Yy5jb250ZW50c30sVD1uLXUsUz1vLmxlbmd0aD4wO2lmKCFjLmJyZWFrJiZxcihBLGksVCxTLHIpKWkucHVzaChBKTtlbHNlIGlmKGMuZXhwYW5kZWRTdGF0ZXMpe2xldCBnPV8oITEsYy5leHBhbmRlZFN0YXRlcywtMSk7aWYoYy5icmVhayl7aS5wdXNoKHtpbmQ6RCxtb2RlOlNlLGRvYzpnfSk7YnJlYWt9ZWxzZSBmb3IobGV0IE09MTtNPGMuZXhwYW5kZWRTdGF0ZXMubGVuZ3RoKzE7TSsrKWlmKE0+PWMuZXhwYW5kZWRTdGF0ZXMubGVuZ3RoKXtpLnB1c2goe2luZDpELG1vZGU6U2UsZG9jOmd9KTticmVha31lbHNle2xldCBSPWMuZXhwYW5kZWRTdGF0ZXNbTV0saj17aW5kOkQsbW9kZTppdCxkb2M6Un07aWYocXIoaixpLFQsUyxyKSl7aS5wdXNoKGopO2JyZWFrfX19ZWxzZSBpLnB1c2goe2luZDpELG1vZGU6U2UsZG9jOmMuY29udGVudHN9KTticmVha319Yy5pZCYmKHJbYy5pZF09XyghMSxpLC0xKS5tb2RlKTticmVhaztjYXNlIFBlOntsZXQgQT1uLXUsVD1jW1FuXT8/MCx7cGFydHM6U309YyxnPVMubGVuZ3RoLVQ7aWYoZz09PTApYnJlYWs7bGV0IE09U1tUKzBdLFI9U1tUKzFdLGo9e2luZDpELG1vZGU6aXQsZG9jOk19LEk9e2luZDpELG1vZGU6U2UsZG9jOk19LFU9cXIoaixbXSxBLG8ubGVuZ3RoPjAsciwhMCk7aWYoZz09PTEpe1U/aS5wdXNoKGopOmkucHVzaChJKTticmVha31sZXQgUD17aW5kOkQsbW9kZTppdCxkb2M6Un0sRz17aW5kOkQsbW9kZTpTZSxkb2M6Un07aWYoZz09PTIpe1U/aS5wdXNoKFAsaik6aS5wdXNoKEcsSSk7YnJlYWt9bGV0IHVlPVNbVCsyXSxRPXtpbmQ6RCxtb2RlOkMsZG9jOnsuLi5jLFtRbl06VCsyfX07cXIoe2luZDpELG1vZGU6aXQsZG9jOltNLFIsdWVdfSxbXSxBLG8ubGVuZ3RoPjAsciwhMCk/aS5wdXNoKFEsUCxqKTpVP2kucHVzaChRLEcsaik6aS5wdXNoKFEsRyxJKTticmVha31jYXNlIHhlOmNhc2UgSGU6e2xldCBBPWMuZ3JvdXBJZD9yW2MuZ3JvdXBJZF06QztpZihBPT09U2Upe2xldCBUPWMudHlwZT09PXhlP2MuYnJlYWtDb250ZW50czpjLm5lZ2F0ZT9jLmNvbnRlbnRzOmYoYy5jb250ZW50cyk7VCYmaS5wdXNoKHtpbmQ6RCxtb2RlOkMsZG9jOlR9KX1pZihBPT09aXQpe2xldCBUPWMudHlwZT09PXhlP2MuZmxhdENvbnRlbnRzOmMubmVnYXRlP2YoYy5jb250ZW50cyk6Yy5jb250ZW50cztUJiZpLnB1c2goe2luZDpELG1vZGU6Qyxkb2M6VH0pfWJyZWFrfWNhc2UgTmU6by5wdXNoKHtpbmQ6RCxtb2RlOkMsZG9jOmMuY29udGVudHN9KTticmVhaztjYXNlIFZlOm8ubGVuZ3RoPjAmJmkucHVzaCh7aW5kOkQsbW9kZTpDLGRvYzpHbn0pO2JyZWFrO2Nhc2UgbWU6c3dpdGNoKEMpe2Nhc2UgaXQ6aWYoYy5oYXJkKXA9ITA7ZWxzZXtjLnNvZnR8fChhLnB1c2goXCIgXCIpLHUrPTEpO2JyZWFrfWNhc2UgU2U6aWYoby5sZW5ndGg+MCl7aS5wdXNoKHtpbmQ6RCxtb2RlOkMsZG9jOmN9LC4uLm8ucmV2ZXJzZSgpKSxvLmxlbmd0aD0wO2JyZWFrfWMubGl0ZXJhbD9ELnJvb3Q/KGEucHVzaChzLEQucm9vdC52YWx1ZSksdT1ELnJvb3QubGVuZ3RoKTooYS5wdXNoKHMpLHU9MCk6KHUtPVpuKGEpLGEucHVzaChzK0QudmFsdWUpLHU9RC5sZW5ndGgpO2JyZWFrfWJyZWFrO2Nhc2UgamU6aS5wdXNoKHtpbmQ6RCxtb2RlOkMsZG9jOmMuY29udGVudHN9KTticmVhaztjYXNlIHZlOmJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IFR0KGMpfWkubGVuZ3RoPT09MCYmby5sZW5ndGg+MCYmKGkucHVzaCguLi5vLnJldmVyc2UoKSksby5sZW5ndGg9MCl9bGV0IHk9YS5pbmRleE9mKFV0KTtpZih5IT09LTEpe2xldCBEPWEuaW5kZXhPZihVdCx5KzEpO2lmKEQ9PT0tMSlyZXR1cm57Zm9ybWF0dGVkOmEuZmlsdGVyKFQ9PlQhPT1VdCkuam9pbihcIlwiKX07bGV0IEM9YS5zbGljZSgwLHkpLmpvaW4oXCJcIiksYz1hLnNsaWNlKHkrMSxEKS5qb2luKFwiXCIpLEE9YS5zbGljZShEKzEpLmpvaW4oXCJcIik7cmV0dXJue2Zvcm1hdHRlZDpDK2MrQSxjdXJzb3JOb2RlU3RhcnQ6Qy5sZW5ndGgsY3Vyc29yTm9kZVRleHQ6Y319cmV0dXJue2Zvcm1hdHRlZDphLmpvaW4oXCJcIil9fWZ1bmN0aW9uIGdwKGUsdCxyPTApe2xldCBuPTA7Zm9yKGxldCBzPXI7czxlLmxlbmd0aDsrK3MpZVtzXT09PVwiXHRcIj9uPW4rdC1uJXQ6bisrO3JldHVybiBufXZhciBHdT1ncDtmdW5jdGlvbiBTcChlLHQpe2xldCByPWUubGFzdEluZGV4T2YoYFxuYCk7cmV0dXJuIHI9PT0tMT8wOkd1KGUuc2xpY2UocisxKS5tYXRjaCgvXltcXHQgXSovdSlbMF0sdCl9dmFyIFV1PVNwO2Z1bmN0aW9uIFdyKGUsdCxyKXtsZXR7bm9kZTpufT1lO2lmKG4udHlwZT09PVwiVGVtcGxhdGVMaXRlcmFsXCImJlBwKGUpKXtsZXQgbz1CcChlLHIsdCk7aWYobylyZXR1cm4gb31sZXQgdT1cImV4cHJlc3Npb25zXCI7bi50eXBlPT09XCJUU1RlbXBsYXRlTGl0ZXJhbFR5cGVcIiYmKHU9XCJ0eXBlc1wiKTtsZXQgaT1bXSxhPWUubWFwKHQsdSk7aS5wdXNoKGtlLFwiYFwiKTtsZXQgcD0wO3JldHVybiBlLmVhY2goKHtpbmRleDpvLG5vZGU6bX0pPT57aWYoaS5wdXNoKHQoKSksbS50YWlsKXJldHVybjtsZXR7dGFiV2lkdGg6eX09cixEPW0udmFsdWUucmF3LEM9RC5pbmNsdWRlcyhgXG5gKT9VdShELHkpOnA7cD1DO2xldCBjPWFbb10sQT1uW3VdW29dLFQ9VGUoci5vcmlnaW5hbFRleHQsayhtKSxxKG4ucXVhc2lzW28rMV0pKTtpZighVCl7bGV0IGc9ZXMoYyx7Li4ucixwcmludFdpZHRoOk51bWJlci5QT1NJVElWRV9JTkZJTklUWX0pLmZvcm1hdHRlZDtnLmluY2x1ZGVzKGBcbmApP1Q9ITA6Yz1nfVQmJihkKEEpfHxBLnR5cGU9PT1cIklkZW50aWZpZXJcInx8VyhBKXx8QS50eXBlPT09XCJDb25kaXRpb25hbEV4cHJlc3Npb25cInx8QS50eXBlPT09XCJTZXF1ZW5jZUV4cHJlc3Npb25cInx8QWUoQSl8fERlKEEpKSYmKGM9W2YoW0UsY10pLEVdKTtsZXQgUz1DPT09MCYmRC5lbmRzV2l0aChgXG5gKT9oZShOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksYyk6aHUoYyxDLHkpO2kucHVzaChsKFtcIiR7XCIsUyxrZSxcIn1cIl0pKX0sXCJxdWFzaXNcIiksaS5wdXNoKFwiYFwiKSxpfWZ1bmN0aW9uIFh1KGUsdCl7bGV0IHI9dChcInF1YXNpXCIpO3JldHVybiBzdChyLmxhYmVsJiZ7dGFnZ2VkOiEwLC4uLnIubGFiZWx9LFt0KFwidGFnXCIpLHQoZS5ub2RlLnR5cGVBcmd1bWVudHM/XCJ0eXBlQXJndW1lbnRzXCI6XCJ0eXBlUGFyYW1ldGVyc1wiKSxrZSxyXSl9ZnVuY3Rpb24gQnAoZSx0LHIpe2xldHtub2RlOm59PWUscz1uLnF1YXNpc1swXS52YWx1ZS5yYXcudHJpbSgpLnNwbGl0KC9cXHMqXFx8XFxzKi91KTtpZihzLmxlbmd0aD4xfHxzLnNvbWUodT0+dS5sZW5ndGg+MCkpe3QuX19pbkplc3RFYWNoPSEwO2xldCB1PWUubWFwKHIsXCJleHByZXNzaW9uc1wiKTt0Ll9faW5KZXN0RWFjaD0hMTtsZXQgaT1bXSxhPXUubWFwKEQ9PlwiJHtcIitlcyhELHsuLi50LHByaW50V2lkdGg6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLGVuZE9mTGluZTpcImxmXCJ9KS5mb3JtYXR0ZWQrXCJ9XCIpLHA9W3toYXNMaW5lQnJlYWs6ITEsY2VsbHM6W119XTtmb3IobGV0IEQ9MTtEPG4ucXVhc2lzLmxlbmd0aDtEKyspe2xldCBDPV8oITEscCwtMSksYz1hW0QtMV07Qy5jZWxscy5wdXNoKGMpLGMuaW5jbHVkZXMoYFxuYCkmJihDLmhhc0xpbmVCcmVhaz0hMCksbi5xdWFzaXNbRF0udmFsdWUucmF3LmluY2x1ZGVzKGBcbmApJiZwLnB1c2goe2hhc0xpbmVCcmVhazohMSxjZWxsczpbXX0pfWxldCBvPU1hdGgubWF4KHMubGVuZ3RoLC4uLnAubWFwKEQ9PkQuY2VsbHMubGVuZ3RoKSksbT1BcnJheS5mcm9tKHtsZW5ndGg6b30pLmZpbGwoMCkseT1be2NlbGxzOnN9LC4uLnAuZmlsdGVyKEQ9PkQuY2VsbHMubGVuZ3RoPjApXTtmb3IobGV0e2NlbGxzOkR9b2YgeS5maWx0ZXIoQz0+IUMuaGFzTGluZUJyZWFrKSlmb3IobGV0W0MsY11vZiBELmVudHJpZXMoKSltW0NdPU1hdGgubWF4KG1bQ10semUoYykpO3JldHVybiBpLnB1c2goa2UsXCJgXCIsZihbRixiKEYseS5tYXAoRD0+YihcIiB8IFwiLEQuY2VsbHMubWFwKChDLGMpPT5ELmhhc0xpbmVCcmVhaz9DOkMrXCIgXCIucmVwZWF0KG1bY10temUoQykpKSkpKV0pLEYsXCJgXCIpLGl9fWZ1bmN0aW9uIGJwKGUsdCl7bGV0e25vZGU6cn09ZSxuPXQoKTtyZXR1cm4gZChyKSYmKG49bChbZihbRSxuXSksRV0pKSxbXCIke1wiLG4sa2UsXCJ9XCJdfWZ1bmN0aW9uIFh0KGUsdCl7cmV0dXJuIGUubWFwKHI9PmJwKHIsdCksXCJleHByZXNzaW9uc1wiKX1mdW5jdGlvbiBHcihlLHQpe3JldHVybiBtdChlLHI9PnR5cGVvZiByPT1cInN0cmluZ1wiP3Q/WSghMSxyLC8oXFxcXCopYC9ndSxcIiQxJDFcXFxcYFwiKTp0cyhyKTpyKX1mdW5jdGlvbiB0cyhlKXtyZXR1cm4gWSghMSxlLC8oW1xcXFxgXXxcXCRcXHspL2d1LFN0cmluZy5yYXdgXFwkMWApfWZ1bmN0aW9uIFBwKHtub2RlOmUscGFyZW50OnR9KXtsZXQgcj0vXltmeF0/KD86ZGVzY3JpYmV8aXR8dGVzdCkkL3U7cmV0dXJuIHQudHlwZT09PVwiVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uXCImJnQucXVhc2k9PT1lJiZ0LnRhZy50eXBlPT09XCJNZW1iZXJFeHByZXNzaW9uXCImJnQudGFnLnByb3BlcnR5LnR5cGU9PT1cIklkZW50aWZpZXJcIiYmdC50YWcucHJvcGVydHkubmFtZT09PVwiZWFjaFwiJiYodC50YWcub2JqZWN0LnR5cGU9PT1cIklkZW50aWZpZXJcIiYmci50ZXN0KHQudGFnLm9iamVjdC5uYW1lKXx8dC50YWcub2JqZWN0LnR5cGU9PT1cIk1lbWJlckV4cHJlc3Npb25cIiYmdC50YWcub2JqZWN0LnByb3BlcnR5LnR5cGU9PT1cIklkZW50aWZpZXJcIiYmKHQudGFnLm9iamVjdC5wcm9wZXJ0eS5uYW1lPT09XCJvbmx5XCJ8fHQudGFnLm9iamVjdC5wcm9wZXJ0eS5uYW1lPT09XCJza2lwXCIpJiZ0LnRhZy5vYmplY3Qub2JqZWN0LnR5cGU9PT1cIklkZW50aWZpZXJcIiYmci50ZXN0KHQudGFnLm9iamVjdC5vYmplY3QubmFtZSkpfXZhciBucz1bKGUsdCk9PmUudHlwZT09PVwiT2JqZWN0RXhwcmVzc2lvblwiJiZ0PT09XCJwcm9wZXJ0aWVzXCIsKGUsdCk9PmUudHlwZT09PVwiQ2FsbEV4cHJlc3Npb25cIiYmZS5jYWxsZWUudHlwZT09PVwiSWRlbnRpZmllclwiJiZlLmNhbGxlZS5uYW1lPT09XCJDb21wb25lbnRcIiYmdD09PVwiYXJndW1lbnRzXCIsKGUsdCk9PmUudHlwZT09PVwiRGVjb3JhdG9yXCImJnQ9PT1cImV4cHJlc3Npb25cIl07ZnVuY3Rpb24gWXUoZSl7bGV0IHQ9bj0+bi50eXBlPT09XCJUZW1wbGF0ZUxpdGVyYWxcIixyPShuLHMpPT5DZShuKSYmIW4uY29tcHV0ZWQmJm4ua2V5LnR5cGU9PT1cIklkZW50aWZpZXJcIiYmbi5rZXkubmFtZT09PVwic3R5bGVzXCImJnM9PT1cInZhbHVlXCI7cmV0dXJuIGUubWF0Y2godCwobixzKT0+WChuKSYmcz09PVwiZWxlbWVudHNcIixyLC4uLm5zKXx8ZS5tYXRjaCh0LHIsLi4ubnMpfWZ1bmN0aW9uIEh1KGUpe3JldHVybiBlLm1hdGNoKHQ9PnQudHlwZT09PVwiVGVtcGxhdGVMaXRlcmFsXCIsKHQscik9PkNlKHQpJiYhdC5jb21wdXRlZCYmdC5rZXkudHlwZT09PVwiSWRlbnRpZmllclwiJiZ0LmtleS5uYW1lPT09XCJ0ZW1wbGF0ZVwiJiZyPT09XCJ2YWx1ZVwiLC4uLm5zKX1mdW5jdGlvbiBycyhlLHQpe3JldHVybiBkKGUsaC5CbG9ja3xoLkxlYWRpbmcsKHt2YWx1ZTpyfSk9PnI9PT1gICR7dH0gYCl9ZnVuY3Rpb24gVXIoe25vZGU6ZSxwYXJlbnQ6dH0scil7cmV0dXJuIHJzKGUscil8fGtwKHQpJiZycyh0LHIpfHx0LnR5cGU9PT1cIkV4cHJlc3Npb25TdGF0ZW1lbnRcIiYmcnModCxyKX1mdW5jdGlvbiBrcChlKXtyZXR1cm4gZS50eXBlPT09XCJBc0NvbnN0RXhwcmVzc2lvblwifHxlLnR5cGU9PT1cIlRTQXNFeHByZXNzaW9uXCImJmUudHlwZUFubm90YXRpb24udHlwZT09PVwiVFNUeXBlUmVmZXJlbmNlXCImJmUudHlwZUFubm90YXRpb24udHlwZU5hbWUudHlwZT09PVwiSWRlbnRpZmllclwiJiZlLnR5cGVBbm5vdGF0aW9uLnR5cGVOYW1lLm5hbWU9PT1cImNvbnN0XCJ9YXN5bmMgZnVuY3Rpb24gSXAoZSx0LHIpe2xldHtub2RlOm59PXIscz1uLnF1YXNpcy5tYXAobT0+bS52YWx1ZS5yYXcpLHU9MCxpPXMucmVkdWNlKChtLHksRCk9PkQ9PT0wP3k6bStcIkBwcmV0dGllci1wbGFjZWhvbGRlci1cIit1KysrXCItaWRcIit5LFwiXCIpLGE9YXdhaXQgZShpLHtwYXJzZXI6XCJzY3NzXCJ9KSxwPVh0KHIsdCksbz1McChhLHApO2lmKCFvKXRocm93IG5ldyBFcnJvcihcIkNvdWxkbid0IGluc2VydCBhbGwgdGhlIGV4cHJlc3Npb25zXCIpO3JldHVybltcImBcIixmKFtGLG9dKSxFLFwiYFwiXX1mdW5jdGlvbiBMcChlLHQpe2lmKCFPKHQpKXJldHVybiBlO2xldCByPTAsbj1tdChHdChlKSxzPT50eXBlb2YgcyE9XCJzdHJpbmdcInx8IXMuaW5jbHVkZXMoXCJAcHJldHRpZXItcGxhY2Vob2xkZXJcIik/czpzLnNwbGl0KC9AcHJldHRpZXItcGxhY2Vob2xkZXItKFxcZCspLWlkL3UpLm1hcCgodSxpKT0+aSUyPT09MD9JZSh1KToocisrLHRbdV0pKSk7cmV0dXJuIHQubGVuZ3RoPT09cj9uOm51bGx9ZnVuY3Rpb24gd3Aoe25vZGU6ZSxwYXJlbnQ6dCxncmFuZHBhcmVudDpyfSl7cmV0dXJuIHImJmUucXVhc2lzJiZ0LnR5cGU9PT1cIkpTWEV4cHJlc3Npb25Db250YWluZXJcIiYmci50eXBlPT09XCJKU1hFbGVtZW50XCImJnIub3BlbmluZ0VsZW1lbnQubmFtZS5uYW1lPT09XCJzdHlsZVwiJiZyLm9wZW5pbmdFbGVtZW50LmF0dHJpYnV0ZXMuc29tZShuPT5uLnR5cGU9PT1cIkpTWEF0dHJpYnV0ZVwiJiZuLm5hbWUubmFtZT09PVwianN4XCIpfHwodD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwiVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uXCImJnQudGFnLnR5cGU9PT1cIklkZW50aWZpZXJcIiYmdC50YWcubmFtZT09PVwiY3NzXCJ8fCh0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb25cIiYmdC50YWcudHlwZT09PVwiTWVtYmVyRXhwcmVzc2lvblwiJiZ0LnRhZy5vYmplY3QubmFtZT09PVwiY3NzXCImJih0LnRhZy5wcm9wZXJ0eS5uYW1lPT09XCJnbG9iYWxcInx8dC50YWcucHJvcGVydHkubmFtZT09PVwicmVzb2x2ZVwiKX1mdW5jdGlvbiBYcihlKXtyZXR1cm4gZS50eXBlPT09XCJJZGVudGlmaWVyXCImJmUubmFtZT09PVwic3R5bGVkXCJ9ZnVuY3Rpb24gTnUoZSl7cmV0dXJuL15bQS1aXS91LnRlc3QoZS5vYmplY3QubmFtZSkmJmUucHJvcGVydHkubmFtZT09PVwiZXh0ZW5kXCJ9ZnVuY3Rpb24gT3Aoe3BhcmVudDplfSl7aWYoIWV8fGUudHlwZSE9PVwiVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uXCIpcmV0dXJuITE7bGV0IHQ9ZS50YWcudHlwZT09PVwiUGFyZW50aGVzaXplZEV4cHJlc3Npb25cIj9lLnRhZy5leHByZXNzaW9uOmUudGFnO3N3aXRjaCh0LnR5cGUpe2Nhc2VcIk1lbWJlckV4cHJlc3Npb25cIjpyZXR1cm4gWHIodC5vYmplY3QpfHxOdSh0KTtjYXNlXCJDYWxsRXhwcmVzc2lvblwiOnJldHVybiBYcih0LmNhbGxlZSl8fHQuY2FsbGVlLnR5cGU9PT1cIk1lbWJlckV4cHJlc3Npb25cIiYmKHQuY2FsbGVlLm9iamVjdC50eXBlPT09XCJNZW1iZXJFeHByZXNzaW9uXCImJihYcih0LmNhbGxlZS5vYmplY3Qub2JqZWN0KXx8TnUodC5jYWxsZWUub2JqZWN0KSl8fHQuY2FsbGVlLm9iamVjdC50eXBlPT09XCJDYWxsRXhwcmVzc2lvblwiJiZYcih0LmNhbGxlZS5vYmplY3QuY2FsbGVlKSk7Y2FzZVwiSWRlbnRpZmllclwiOnJldHVybiB0Lm5hbWU9PT1cImNzc1wiO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIF9wKHtwYXJlbnQ6ZSxncmFuZHBhcmVudDp0fSl7cmV0dXJuKHQ9PW51bGw/dm9pZCAwOnQudHlwZSk9PT1cIkpTWEF0dHJpYnV0ZVwiJiZlLnR5cGU9PT1cIkpTWEV4cHJlc3Npb25Db250YWluZXJcIiYmdC5uYW1lLnR5cGU9PT1cIkpTWElkZW50aWZpZXJcIiYmdC5uYW1lLm5hbWU9PT1cImNzc1wifWZ1bmN0aW9uIGpwKGUpe2lmKHdwKGUpfHxPcChlKXx8X3AoZSl8fFl1KGUpKXJldHVybiBJcH12YXIgVnU9anA7YXN5bmMgZnVuY3Rpb24gdnAoZSx0LHIpe2xldHtub2RlOm59PXIscz1uLnF1YXNpcy5sZW5ndGgsdT1YdChyLHQpLGk9W107Zm9yKGxldCBhPTA7YTxzO2ErKyl7bGV0IHA9bi5xdWFzaXNbYV0sbz1hPT09MCxtPWE9PT1zLTEseT1wLnZhbHVlLmNvb2tlZCxEPXkuc3BsaXQoYFxuYCksQz1ELmxlbmd0aCxjPXVbYV0sQT1DPjImJkRbMF0udHJpbSgpPT09XCJcIiYmRFsxXS50cmltKCk9PT1cIlwiLFQ9Qz4yJiZEW0MtMV0udHJpbSgpPT09XCJcIiYmRFtDLTJdLnRyaW0oKT09PVwiXCIsUz1ELmV2ZXJ5KE09Pi9eXFxzKig/OiNbXlxcblxccl0qKT8kL3UudGVzdChNKSk7aWYoIW0mJi8jW15cXG5cXHJdKiQvdS50ZXN0KERbQy0xXSkpcmV0dXJuIG51bGw7bGV0IGc9bnVsbDtTP2c9TXAoRCk6Zz1hd2FpdCBlKHkse3BhcnNlcjpcImdyYXBocWxcIn0pLGc/KGc9R3IoZywhMSksIW8mJkEmJmkucHVzaChcIlwiKSxpLnB1c2goZyksIW0mJlQmJmkucHVzaChcIlwiKSk6IW8mJiFtJiZBJiZpLnB1c2goXCJcIiksYyYmaS5wdXNoKGMpfXJldHVybltcImBcIixmKFtGLGIoRixpKV0pLEYsXCJgXCJdfWZ1bmN0aW9uIE1wKGUpe2xldCB0PVtdLHI9ITEsbj1lLm1hcChzPT5zLnRyaW0oKSk7Zm9yKGxldFtzLHVdb2Ygbi5lbnRyaWVzKCkpdSE9PVwiXCImJihuW3MtMV09PT1cIlwiJiZyP3QucHVzaChbRix1XSk6dC5wdXNoKHUpLHI9ITApO3JldHVybiB0Lmxlbmd0aD09PTA/bnVsbDpiKEYsdCl9ZnVuY3Rpb24gUnAoe25vZGU6ZSxwYXJlbnQ6dH0pe3JldHVybiBVcih7bm9kZTplLHBhcmVudDp0fSxcIkdyYXBoUUxcIil8fHQmJih0LnR5cGU9PT1cIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvblwiJiYodC50YWcudHlwZT09PVwiTWVtYmVyRXhwcmVzc2lvblwiJiZ0LnRhZy5vYmplY3QubmFtZT09PVwiZ3JhcGhxbFwiJiZ0LnRhZy5wcm9wZXJ0eS5uYW1lPT09XCJleHBlcmltZW50YWxcInx8dC50YWcudHlwZT09PVwiSWRlbnRpZmllclwiJiYodC50YWcubmFtZT09PVwiZ3FsXCJ8fHQudGFnLm5hbWU9PT1cImdyYXBocWxcIikpfHx0LnR5cGU9PT1cIkNhbGxFeHByZXNzaW9uXCImJnQuY2FsbGVlLnR5cGU9PT1cIklkZW50aWZpZXJcIiYmdC5jYWxsZWUubmFtZT09PVwiZ3JhcGhxbFwiKX1mdW5jdGlvbiBKcChlKXtpZihScChlKSlyZXR1cm4gdnB9dmFyICR1PUpwO3ZhciBzcz0wO2FzeW5jIGZ1bmN0aW9uIEt1KGUsdCxyLG4scyl7bGV0e25vZGU6dX09bixpPXNzO3NzPXNzKzE+Pj4wO2xldCBhPVM9PmBQUkVUVElFUl9IVE1MX1BMQUNFSE9MREVSXyR7U31fJHtpfV9JTl9KU2AscD11LnF1YXNpcy5tYXAoKFMsZyxNKT0+Zz09PU0ubGVuZ3RoLTE/Uy52YWx1ZS5jb29rZWQ6Uy52YWx1ZS5jb29rZWQrYShnKSkuam9pbihcIlwiKSxvPVh0KG4sciksbT1uZXcgUmVnRXhwKGEoU3RyaW5nLnJhd2AoXFxkKylgKSxcImd1XCIpLHk9MCxEPWF3YWl0IHQocCx7cGFyc2VyOmUsX19vbkh0bWxSb290KFMpe3k9Uy5jaGlsZHJlbi5sZW5ndGh9fSksQz1tdChELFM9PntpZih0eXBlb2YgUyE9XCJzdHJpbmdcIilyZXR1cm4gUztsZXQgZz1bXSxNPVMuc3BsaXQobSk7Zm9yKGxldCBSPTA7UjxNLmxlbmd0aDtSKyspe2xldCBqPU1bUl07aWYoUiUyPT09MCl7aiYmKGo9dHMoaikscy5fX2VtYmVkZGVkSW5IdG1sJiYoaj1ZKCExLGosLzxcXC8oPz1zY3JpcHRcXGIpL2dpdSxTdHJpbmcucmF3YDxcXC9gKSksZy5wdXNoKGopKTtjb250aW51ZX1sZXQgST1OdW1iZXIoaik7Zy5wdXNoKG9bSV0pfXJldHVybiBnfSksYz0vXlxccy91LnRlc3QocCk/XCIgXCI6XCJcIixBPS9cXHMkL3UudGVzdChwKT9cIiBcIjpcIlwiLFQ9cy5odG1sV2hpdGVzcGFjZVNlbnNpdGl2aXR5PT09XCJpZ25vcmVcIj9GOmMmJkE/eDpudWxsO3JldHVybiBUP2woW1wiYFwiLGYoW1QsbChDKV0pLFQsXCJgXCJdKTpzdCh7aHVnOiExfSxsKFtcImBcIixjLHk+MT9mKGwoQykpOmwoQyksQSxcImBcIl0pKX1mdW5jdGlvbiBxcChlKXtyZXR1cm4gVXIoZSxcIkhUTUxcIil8fGUubWF0Y2godD0+dC50eXBlPT09XCJUZW1wbGF0ZUxpdGVyYWxcIiwodCxyKT0+dC50eXBlPT09XCJUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb25cIiYmdC50YWcudHlwZT09PVwiSWRlbnRpZmllclwiJiZ0LnRhZy5uYW1lPT09XCJodG1sXCImJnI9PT1cInF1YXNpXCIpfXZhciBXcD1LdS5iaW5kKHZvaWQgMCxcImh0bWxcIiksR3A9S3UuYmluZCh2b2lkIDAsXCJhbmd1bGFyXCIpO2Z1bmN0aW9uIFVwKGUpe2lmKHFwKGUpKXJldHVybiBXcDtpZihIdShlKSlyZXR1cm4gR3B9dmFyIFF1PVVwO2FzeW5jIGZ1bmN0aW9uIFhwKGUsdCxyKXtsZXR7bm9kZTpufT1yLHM9WSghMSxuLnF1YXNpc1swXS52YWx1ZS5yYXcsLygoPzpcXFxcXFxcXCkqKVxcXFxgL2d1LChwLG8pPT5cIlxcXFxcIi5yZXBlYXQoby5sZW5ndGgvMikrXCJgXCIpLHU9WXAocyksaT11IT09XCJcIjtpJiYocz1ZKCExLHMsbmV3IFJlZ0V4cChgXiR7dX1gLFwiZ211XCIpLFwiXCIpKTtsZXQgYT1Hcihhd2FpdCBlKHMse3BhcnNlcjpcIm1hcmtkb3duXCIsX19pbkpzVGVtcGxhdGU6ITB9KSwhMCk7cmV0dXJuW1wiYFwiLGk/ZihbRSxhXSk6W0pyLHh1KGEpXSxFLFwiYFwiXX1mdW5jdGlvbiBZcChlKXtsZXQgdD1lLm1hdGNoKC9eKFteXFxTXFxuXSopXFxTL211KTtyZXR1cm4gdD09PW51bGw/XCJcIjp0WzFdfWZ1bmN0aW9uIEhwKGUpe2lmKE5wKGUpKXJldHVybiBYcH1mdW5jdGlvbiBOcCh7bm9kZTplLHBhcmVudDp0fSl7cmV0dXJuKHQ9PW51bGw/dm9pZCAwOnQudHlwZSk9PT1cIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvblwiJiZlLnF1YXNpcy5sZW5ndGg9PT0xJiZ0LnRhZy50eXBlPT09XCJJZGVudGlmaWVyXCImJih0LnRhZy5uYW1lPT09XCJtZFwifHx0LnRhZy5uYW1lPT09XCJtYXJrZG93blwiKX12YXIgenU9SHA7ZnVuY3Rpb24gVnAoZSl7bGV0e25vZGU6dH09ZTtpZih0LnR5cGUhPT1cIlRlbXBsYXRlTGl0ZXJhbFwifHwkcCh0KSlyZXR1cm47bGV0IHI7Zm9yKGxldCBuIG9mW1Z1LCR1LFF1LHp1XSlpZihyPW4oZSksISFyKXJldHVybiB0LnF1YXNpcy5sZW5ndGg9PT0xJiZ0LnF1YXNpc1swXS52YWx1ZS5yYXcudHJpbSgpPT09XCJcIj9cImBgXCI6YXN5bmMoLi4ucyk9PntsZXQgdT1hd2FpdCByKC4uLnMpO3JldHVybiB1JiZzdCh7ZW1iZWQ6ITAsLi4udS5sYWJlbH0sdSl9fWZ1bmN0aW9uICRwKHtxdWFzaXM6ZX0pe3JldHVybiBlLnNvbWUoKHt2YWx1ZTp7Y29va2VkOnR9fSk9PnQ9PT1udWxsKX12YXIgWnU9VnA7dmFyIEtwPS9cXCpcXC8kLyxRcD0vXlxcL1xcKlxcKj8vLG5pPS9eXFxzKihcXC9cXCpcXCo/KC58XFxyP1xcbikqP1xcKlxcLykvLHpwPS8oXnxcXHMrKVxcL1xcLyhbXlxcblxccl0qKS9nLGVpPS9eKFxccj9cXG4pKy8sWnA9Lyg/Ol58XFxyP1xcbikgKihAW15cXG5cXHJdKj8pICpcXHI/XFxuICooPyFbXlxcblxcckBdKlxcL1xcL1teXSopKFteXFxzQF1bXlxcblxcckBdKz8pICpcXHI/XFxuL2csdGk9Lyg/Ol58XFxyP1xcbikgKkAoXFxTKykgKihbXlxcblxccl0qKS9nLGVjPS8oXFxyP1xcbnxeKSAqXFwqID8vZyxzaT1bXTtmdW5jdGlvbiB1aShlKXtsZXQgdD1lLm1hdGNoKG5pKTtyZXR1cm4gdD90WzBdLnRyaW1TdGFydCgpOlwiXCJ9ZnVuY3Rpb24gaWkoZSl7bGV0IHQ9ZS5tYXRjaChuaSkscj10PT1udWxsP3ZvaWQgMDp0WzBdO3JldHVybiByPT1udWxsP2U6ZS5zbGljZShyLmxlbmd0aCl9ZnVuY3Rpb24gYWkoZSl7bGV0IHQ9YFxuYDtlPVkoITEsZS5yZXBsYWNlKFFwLFwiXCIpLnJlcGxhY2UoS3AsXCJcIiksZWMsXCIkMVwiKTtsZXQgcj1cIlwiO2Zvcig7ciE9PWU7KXI9ZSxlPVkoITEsZSxacCxgJHt0fSQxICQyJHt0fWApO2U9ZS5yZXBsYWNlKGVpLFwiXCIpLnRyaW1FbmQoKTtsZXQgbj1PYmplY3QuY3JlYXRlKG51bGwpLHM9WSghMSxlLHRpLFwiXCIpLnJlcGxhY2UoZWksXCJcIikudHJpbUVuZCgpLHU7Zm9yKDt1PXRpLmV4ZWMoZSk7KXtsZXQgaT1ZKCExLHVbMl0senAsXCJcIik7aWYodHlwZW9mIG5bdVsxXV09PVwic3RyaW5nXCJ8fEFycmF5LmlzQXJyYXkoblt1WzFdXSkpe2xldCBhPW5bdVsxXV07blt1WzFdXT1bLi4uc2ksLi4uQXJyYXkuaXNBcnJheShhKT9hOlthXSxpXX1lbHNlIG5bdVsxXV09aX1yZXR1cm57Y29tbWVudHM6cyxwcmFnbWFzOm59fWZ1bmN0aW9uIG9pKHtjb21tZW50czplPVwiXCIscHJhZ21hczp0PXt9fSl7bGV0IHI9YFxuYCxuPVwiLyoqXCIscz1cIiAqXCIsdT1cIiAqL1wiLGk9T2JqZWN0LmtleXModCksYT1pLmZsYXRNYXAobz0+cmkobyx0W29dKSkubWFwKG89PmAke3N9ICR7b30ke3J9YCkuam9pbihcIlwiKTtpZighZSl7aWYoaS5sZW5ndGg9PT0wKXJldHVyblwiXCI7aWYoaS5sZW5ndGg9PT0xJiYhQXJyYXkuaXNBcnJheSh0W2lbMF1dKSl7bGV0IG89dFtpWzBdXTtyZXR1cm5gJHtufSAke3JpKGlbMF0sbylbMF19JHt1fWB9fWxldCBwPWUuc3BsaXQocikubWFwKG89PmAke3N9ICR7b31gKS5qb2luKHIpK3I7cmV0dXJuIG4rcisoZT9wOlwiXCIpKyhlJiZpLmxlbmd0aD4wP3MrcjpcIlwiKSthK3V9ZnVuY3Rpb24gcmkoZSx0KXtyZXR1cm5bLi4uc2ksLi4uQXJyYXkuaXNBcnJheSh0KT90Olt0XV0ubWFwKHI9PmBAJHtlfSAke3J9YC50cmltKCkpfWZ1bmN0aW9uIHRjKGUpe2lmKCFlLnN0YXJ0c1dpdGgoXCIjIVwiKSlyZXR1cm5cIlwiO2xldCB0PWUuaW5kZXhPZihgXG5gKTtyZXR1cm4gdD09PS0xP2U6ZS5zbGljZSgwLHQpfXZhciBwaT10YztmdW5jdGlvbiByYyhlKXtsZXQgdD1waShlKTt0JiYoZT1lLnNsaWNlKHQubGVuZ3RoKzEpKTtsZXQgcj11aShlKSx7cHJhZ21hczpuLGNvbW1lbnRzOnN9PWFpKHIpO3JldHVybntzaGViYW5nOnQsdGV4dDplLHByYWdtYXM6bixjb21tZW50czpzfX1mdW5jdGlvbiBjaShlKXtsZXR7c2hlYmFuZzp0LHRleHQ6cixwcmFnbWFzOm4sY29tbWVudHM6c309cmMoZSksdT1paShyKSxpPW9pKHtwcmFnbWFzOntmb3JtYXQ6XCJcIiwuLi5ufSxjb21tZW50czpzLnRyaW1TdGFydCgpfSk7cmV0dXJuKHQ/YCR7dH1cbmA6XCJcIikraSsodS5zdGFydHNXaXRoKGBcbmApP2BcbmA6YFxuXG5gKSt1fWZ1bmN0aW9uIG5jKGUsdCl7bGV0e29yaWdpbmFsVGV4dDpyLFtTeW1ib2wuZm9yKFwiY29tbWVudHNcIildOm4sbG9jU3RhcnQ6cyxsb2NFbmQ6dSxbU3ltYm9sLmZvcihcInByaW50ZWRDb21tZW50c1wiKV06aX09dCx7bm9kZTphfT1lLHA9cyhhKSxvPXUoYSk7Zm9yKGxldCBtIG9mIG4pcyhtKT49cCYmdShtKTw9byYmaS5hZGQobSk7cmV0dXJuIHIuc2xpY2UocCxvKX12YXIgbGk9bmM7ZnVuY3Rpb24gdXMoZSx0KXt2YXIgdSxpLGEscCxvLG0seSxELEM7aWYoZS5pc1Jvb3QpcmV0dXJuITE7bGV0e25vZGU6cixrZXk6bixwYXJlbnQ6c309ZTtpZih0Ll9faXNJbkh0bWxJbnRlcnBvbGF0aW9uJiYhdC5icmFja2V0U3BhY2luZyYmYWMocikmJnByKGUpKXJldHVybiEwO2lmKHNjKHIpKXJldHVybiExO2lmKHIudHlwZT09PVwiSWRlbnRpZmllclwiKXtpZigodT1yLmV4dHJhKSE9bnVsbCYmdS5wYXJlbnRoZXNpemVkJiYvXlBSRVRUSUVSX0hUTUxfUExBQ0VIT0xERVJfXFxkK19cXGQrX0lOX0pTJC91LnRlc3Qoci5uYW1lKXx8bj09PVwibGVmdFwiJiYoci5uYW1lPT09XCJhc3luY1wiJiYhcy5hd2FpdHx8ci5uYW1lPT09XCJsZXRcIikmJnMudHlwZT09PVwiRm9yT2ZTdGF0ZW1lbnRcIilyZXR1cm4hMDtpZihyLm5hbWU9PT1cImxldFwiKXtsZXQgYz0oaT1lLmZpbmRBbmNlc3RvcihBPT5BLnR5cGU9PT1cIkZvck9mU3RhdGVtZW50XCIpKT09bnVsbD92b2lkIDA6aS5sZWZ0O2lmKGMmJmllKGMsQT0+QT09PXIpKXJldHVybiEwfWlmKG49PT1cIm9iamVjdFwiJiZyLm5hbWU9PT1cImxldFwiJiZzLnR5cGU9PT1cIk1lbWJlckV4cHJlc3Npb25cIiYmcy5jb21wdXRlZCYmIXMub3B0aW9uYWwpe2xldCBjPWUuZmluZEFuY2VzdG9yKFQ9PlQudHlwZT09PVwiRXhwcmVzc2lvblN0YXRlbWVudFwifHxULnR5cGU9PT1cIkZvclN0YXRlbWVudFwifHxULnR5cGU9PT1cIkZvckluU3RhdGVtZW50XCIpLEE9Yz9jLnR5cGU9PT1cIkV4cHJlc3Npb25TdGF0ZW1lbnRcIj9jLmV4cHJlc3Npb246Yy50eXBlPT09XCJGb3JTdGF0ZW1lbnRcIj9jLmluaXQ6Yy5sZWZ0OnZvaWQgMDtpZihBJiZpZShBLFQ9PlQ9PT1yKSlyZXR1cm4hMH1pZihuPT09XCJleHByZXNzaW9uXCIpc3dpdGNoKHIubmFtZSl7Y2FzZVwiYXdhaXRcIjpjYXNlXCJpbnRlcmZhY2VcIjpjYXNlXCJtb2R1bGVcIjpjYXNlXCJ1c2luZ1wiOmNhc2VcInlpZWxkXCI6Y2FzZVwibGV0XCI6Y2FzZVwiY29tcG9uZW50XCI6Y2FzZVwiaG9va1wiOmNhc2VcInR5cGVcIjp7bGV0IGM9ZS5maW5kQW5jZXN0b3IoQT0+IUFlKEEpKTtpZihjIT09cyYmYy50eXBlPT09XCJFeHByZXNzaW9uU3RhdGVtZW50XCIpcmV0dXJuITB9fXJldHVybiExfWlmKHIudHlwZT09PVwiT2JqZWN0RXhwcmVzc2lvblwifHxyLnR5cGU9PT1cIkZ1bmN0aW9uRXhwcmVzc2lvblwifHxyLnR5cGU9PT1cIkNsYXNzRXhwcmVzc2lvblwifHxyLnR5cGU9PT1cIkRvRXhwcmVzc2lvblwiKXtsZXQgYz0oYT1lLmZpbmRBbmNlc3RvcihBPT5BLnR5cGU9PT1cIkV4cHJlc3Npb25TdGF0ZW1lbnRcIikpPT1udWxsP3ZvaWQgMDphLmV4cHJlc3Npb247aWYoYyYmaWUoYyxBPT5BPT09cikpcmV0dXJuITB9aWYoci50eXBlPT09XCJPYmplY3RFeHByZXNzaW9uXCIpe2xldCBjPShwPWUuZmluZEFuY2VzdG9yKEE9PkEudHlwZT09PVwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIikpPT1udWxsP3ZvaWQgMDpwLmJvZHk7aWYoYyYmYy50eXBlIT09XCJTZXF1ZW5jZUV4cHJlc3Npb25cIiYmYy50eXBlIT09XCJBc3NpZ25tZW50RXhwcmVzc2lvblwiJiZpZShjLEE9PkE9PT1yKSlyZXR1cm4hMH1zd2l0Y2gocy50eXBlKXtjYXNlXCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiOnJldHVybiExO2Nhc2VcIkNsYXNzRGVjbGFyYXRpb25cIjpjYXNlXCJDbGFzc0V4cHJlc3Npb25cIjppZihuPT09XCJzdXBlckNsYXNzXCImJihyLnR5cGU9PT1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCJ8fHIudHlwZT09PVwiQXNzaWdubWVudEV4cHJlc3Npb25cInx8ci50eXBlPT09XCJBd2FpdEV4cHJlc3Npb25cInx8ci50eXBlPT09XCJCaW5hcnlFeHByZXNzaW9uXCJ8fHIudHlwZT09PVwiQ29uZGl0aW9uYWxFeHByZXNzaW9uXCJ8fHIudHlwZT09PVwiTG9naWNhbEV4cHJlc3Npb25cInx8ci50eXBlPT09XCJOZXdFeHByZXNzaW9uXCJ8fHIudHlwZT09PVwiT2JqZWN0RXhwcmVzc2lvblwifHxyLnR5cGU9PT1cIlNlcXVlbmNlRXhwcmVzc2lvblwifHxyLnR5cGU9PT1cIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvblwifHxyLnR5cGU9PT1cIlVuYXJ5RXhwcmVzc2lvblwifHxyLnR5cGU9PT1cIlVwZGF0ZUV4cHJlc3Npb25cInx8ci50eXBlPT09XCJZaWVsZEV4cHJlc3Npb25cInx8ci50eXBlPT09XCJUU05vbk51bGxFeHByZXNzaW9uXCJ8fHIudHlwZT09PVwiQ2xhc3NFeHByZXNzaW9uXCImJk8oci5kZWNvcmF0b3JzKSkpcmV0dXJuITA7YnJlYWs7Y2FzZVwiRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXCI6cmV0dXJuIG1pKGUsdCl8fHIudHlwZT09PVwiU2VxdWVuY2VFeHByZXNzaW9uXCI7Y2FzZVwiRGVjb3JhdG9yXCI6aWYobj09PVwiZXhwcmVzc2lvblwiJiYhcGMocikpcmV0dXJuITA7YnJlYWs7Y2FzZVwiVHlwZUFubm90YXRpb25cIjppZihlLm1hdGNoKHZvaWQgMCx2b2lkIDAsKGMsQSk9PkE9PT1cInJldHVyblR5cGVcIiYmYy50eXBlPT09XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiKSYmaWMocikpcmV0dXJuITA7YnJlYWs7Y2FzZVwiQmluYXJ5RXhwcmVzc2lvblwiOmlmKG49PT1cImxlZnRcIiYmKHMub3BlcmF0b3I9PT1cImluXCJ8fHMub3BlcmF0b3I9PT1cImluc3RhbmNlb2ZcIikmJnIudHlwZT09PVwiVW5hcnlFeHByZXNzaW9uXCIpcmV0dXJuITA7YnJlYWs7Y2FzZVwiVmFyaWFibGVEZWNsYXJhdG9yXCI6aWYobj09PVwiaW5pdFwiJiZlLm1hdGNoKHZvaWQgMCx2b2lkIDAsKGMsQSk9PkE9PT1cImRlY2xhcmF0aW9uc1wiJiZjLnR5cGU9PT1cIlZhcmlhYmxlRGVjbGFyYXRpb25cIiwoYyxBKT0+QT09PVwibGVmdFwiJiZjLnR5cGU9PT1cIkZvckluU3RhdGVtZW50XCIpKXJldHVybiEwO2JyZWFrfXN3aXRjaChyLnR5cGUpe2Nhc2VcIlVwZGF0ZUV4cHJlc3Npb25cIjppZihzLnR5cGU9PT1cIlVuYXJ5RXhwcmVzc2lvblwiKXJldHVybiByLnByZWZpeCYmKHIub3BlcmF0b3I9PT1cIisrXCImJnMub3BlcmF0b3I9PT1cIitcInx8ci5vcGVyYXRvcj09PVwiLS1cIiYmcy5vcGVyYXRvcj09PVwiLVwiKTtjYXNlXCJVbmFyeUV4cHJlc3Npb25cIjpzd2l0Y2gocy50eXBlKXtjYXNlXCJVbmFyeUV4cHJlc3Npb25cIjpyZXR1cm4gci5vcGVyYXRvcj09PXMub3BlcmF0b3ImJihyLm9wZXJhdG9yPT09XCIrXCJ8fHIub3BlcmF0b3I9PT1cIi1cIik7Y2FzZVwiQmluZEV4cHJlc3Npb25cIjpyZXR1cm4hMDtjYXNlXCJNZW1iZXJFeHByZXNzaW9uXCI6Y2FzZVwiT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uXCI6cmV0dXJuIG49PT1cIm9iamVjdFwiO2Nhc2VcIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvblwiOnJldHVybiEwO2Nhc2VcIk5ld0V4cHJlc3Npb25cIjpjYXNlXCJDYWxsRXhwcmVzc2lvblwiOmNhc2VcIk9wdGlvbmFsQ2FsbEV4cHJlc3Npb25cIjpyZXR1cm4gbj09PVwiY2FsbGVlXCI7Y2FzZVwiQmluYXJ5RXhwcmVzc2lvblwiOnJldHVybiBuPT09XCJsZWZ0XCImJnMub3BlcmF0b3I9PT1cIioqXCI7Y2FzZVwiVFNOb25OdWxsRXhwcmVzc2lvblwiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9Y2FzZVwiQmluYXJ5RXhwcmVzc2lvblwiOmlmKHMudHlwZT09PVwiVXBkYXRlRXhwcmVzc2lvblwifHxyLm9wZXJhdG9yPT09XCJpblwiJiZ1YyhlKSlyZXR1cm4hMDtpZihyLm9wZXJhdG9yPT09XCJ8PlwiJiYoKG89ci5leHRyYSkhPW51bGwmJm8ucGFyZW50aGVzaXplZCkpe2xldCBjPWUuZ3JhbmRwYXJlbnQ7aWYoYy50eXBlPT09XCJCaW5hcnlFeHByZXNzaW9uXCImJmMub3BlcmF0b3I9PT1cInw+XCIpcmV0dXJuITB9Y2FzZVwiVFNUeXBlQXNzZXJ0aW9uXCI6Y2FzZVwiVFNBc0V4cHJlc3Npb25cIjpjYXNlXCJUU1NhdGlzZmllc0V4cHJlc3Npb25cIjpjYXNlXCJBc0V4cHJlc3Npb25cIjpjYXNlXCJBc0NvbnN0RXhwcmVzc2lvblwiOmNhc2VcIlNhdGlzZmllc0V4cHJlc3Npb25cIjpjYXNlXCJMb2dpY2FsRXhwcmVzc2lvblwiOnN3aXRjaChzLnR5cGUpe2Nhc2VcIlRTQXNFeHByZXNzaW9uXCI6Y2FzZVwiVFNTYXRpc2ZpZXNFeHByZXNzaW9uXCI6Y2FzZVwiQXNFeHByZXNzaW9uXCI6Y2FzZVwiQXNDb25zdEV4cHJlc3Npb25cIjpjYXNlXCJTYXRpc2ZpZXNFeHByZXNzaW9uXCI6cmV0dXJuIUFlKHIpO2Nhc2VcIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiOnJldHVybiBBZShyKXx8b3Uocik7Y2FzZVwiQ2FsbEV4cHJlc3Npb25cIjpjYXNlXCJOZXdFeHByZXNzaW9uXCI6Y2FzZVwiT3B0aW9uYWxDYWxsRXhwcmVzc2lvblwiOnJldHVybiBuPT09XCJjYWxsZWVcIjtjYXNlXCJDbGFzc0V4cHJlc3Npb25cIjpjYXNlXCJDbGFzc0RlY2xhcmF0aW9uXCI6cmV0dXJuIG49PT1cInN1cGVyQ2xhc3NcIjtjYXNlXCJUU1R5cGVBc3NlcnRpb25cIjpjYXNlXCJUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb25cIjpjYXNlXCJVbmFyeUV4cHJlc3Npb25cIjpjYXNlXCJKU1hTcHJlYWRBdHRyaWJ1dGVcIjpjYXNlXCJTcHJlYWRFbGVtZW50XCI6Y2FzZVwiQmluZEV4cHJlc3Npb25cIjpjYXNlXCJBd2FpdEV4cHJlc3Npb25cIjpjYXNlXCJUU05vbk51bGxFeHByZXNzaW9uXCI6Y2FzZVwiVXBkYXRlRXhwcmVzc2lvblwiOnJldHVybiEwO2Nhc2VcIk1lbWJlckV4cHJlc3Npb25cIjpjYXNlXCJPcHRpb25hbE1lbWJlckV4cHJlc3Npb25cIjpyZXR1cm4gbj09PVwib2JqZWN0XCI7Y2FzZVwiQXNzaWdubWVudEV4cHJlc3Npb25cIjpjYXNlXCJBc3NpZ25tZW50UGF0dGVyblwiOnJldHVybiBuPT09XCJsZWZ0XCImJihyLnR5cGU9PT1cIlRTVHlwZUFzc2VydGlvblwifHxBZShyKSk7Y2FzZVwiTG9naWNhbEV4cHJlc3Npb25cIjppZihyLnR5cGU9PT1cIkxvZ2ljYWxFeHByZXNzaW9uXCIpcmV0dXJuIHMub3BlcmF0b3IhPT1yLm9wZXJhdG9yO2Nhc2VcIkJpbmFyeUV4cHJlc3Npb25cIjp7bGV0e29wZXJhdG9yOmMsdHlwZTpBfT1yO2lmKCFjJiZBIT09XCJUU1R5cGVBc3NlcnRpb25cIilyZXR1cm4hMDtsZXQgVD10cihjKSxTPXMub3BlcmF0b3IsZz10cihTKTtyZXR1cm4gZz5UfHxuPT09XCJyaWdodFwiJiZnPT09VHx8Zz09PVQmJiFzcihTLGMpPyEwOmc8VCYmYz09PVwiJVwiP1M9PT1cIitcInx8Uz09PVwiLVwiOiEhRHUoUyl9ZGVmYXVsdDpyZXR1cm4hMX1jYXNlXCJTZXF1ZW5jZUV4cHJlc3Npb25cIjpzd2l0Y2gocy50eXBlKXtjYXNlXCJSZXR1cm5TdGF0ZW1lbnRcIjpyZXR1cm4hMTtjYXNlXCJGb3JTdGF0ZW1lbnRcIjpyZXR1cm4hMTtjYXNlXCJFeHByZXNzaW9uU3RhdGVtZW50XCI6cmV0dXJuIG4hPT1cImV4cHJlc3Npb25cIjtjYXNlXCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiOnJldHVybiBuIT09XCJib2R5XCI7ZGVmYXVsdDpyZXR1cm4hMH1jYXNlXCJZaWVsZEV4cHJlc3Npb25cIjppZihzLnR5cGU9PT1cIkF3YWl0RXhwcmVzc2lvblwifHxzLnR5cGU9PT1cIlRTVHlwZUFzc2VydGlvblwiKXJldHVybiEwO2Nhc2VcIkF3YWl0RXhwcmVzc2lvblwiOnN3aXRjaChzLnR5cGUpe2Nhc2VcIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvblwiOmNhc2VcIlVuYXJ5RXhwcmVzc2lvblwiOmNhc2VcIkxvZ2ljYWxFeHByZXNzaW9uXCI6Y2FzZVwiU3ByZWFkRWxlbWVudFwiOmNhc2VcIlRTQXNFeHByZXNzaW9uXCI6Y2FzZVwiVFNTYXRpc2ZpZXNFeHByZXNzaW9uXCI6Y2FzZVwiVFNOb25OdWxsRXhwcmVzc2lvblwiOmNhc2VcIkFzRXhwcmVzc2lvblwiOmNhc2VcIkFzQ29uc3RFeHByZXNzaW9uXCI6Y2FzZVwiU2F0aXNmaWVzRXhwcmVzc2lvblwiOmNhc2VcIkJpbmRFeHByZXNzaW9uXCI6cmV0dXJuITA7Y2FzZVwiTWVtYmVyRXhwcmVzc2lvblwiOmNhc2VcIk9wdGlvbmFsTWVtYmVyRXhwcmVzc2lvblwiOnJldHVybiBuPT09XCJvYmplY3RcIjtjYXNlXCJOZXdFeHByZXNzaW9uXCI6Y2FzZVwiQ2FsbEV4cHJlc3Npb25cIjpjYXNlXCJPcHRpb25hbENhbGxFeHByZXNzaW9uXCI6cmV0dXJuIG49PT1cImNhbGxlZVwiO2Nhc2VcIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiOnJldHVybiBuPT09XCJ0ZXN0XCI7Y2FzZVwiQmluYXJ5RXhwcmVzc2lvblwiOnJldHVybiEoIXIuYXJndW1lbnQmJnMub3BlcmF0b3I9PT1cInw+XCIpO2RlZmF1bHQ6cmV0dXJuITF9Y2FzZVwiVFNGdW5jdGlvblR5cGVcIjppZihlLm1hdGNoKGM9PmMudHlwZT09PVwiVFNGdW5jdGlvblR5cGVcIiwoYyxBKT0+QT09PVwidHlwZUFubm90YXRpb25cIiYmYy50eXBlPT09XCJUU1R5cGVBbm5vdGF0aW9uXCIsKGMsQSk9PkE9PT1cInJldHVyblR5cGVcIiYmYy50eXBlPT09XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiKSlyZXR1cm4hMDtjYXNlXCJUU0NvbmRpdGlvbmFsVHlwZVwiOmNhc2VcIlRTQ29uc3RydWN0b3JUeXBlXCI6aWYobj09PVwiZXh0ZW5kc1R5cGVcIiYmcy50eXBlPT09XCJUU0NvbmRpdGlvbmFsVHlwZVwiKXtpZihyLnR5cGU9PT1cIlRTQ29uZGl0aW9uYWxUeXBlXCIpcmV0dXJuITA7bGV0e3R5cGVBbm5vdGF0aW9uOmN9PXIucmV0dXJuVHlwZXx8ci50eXBlQW5ub3RhdGlvbjtpZihjLnR5cGU9PT1cIlRTVHlwZVByZWRpY2F0ZVwiJiZjLnR5cGVBbm5vdGF0aW9uJiYoYz1jLnR5cGVBbm5vdGF0aW9uLnR5cGVBbm5vdGF0aW9uKSxjLnR5cGU9PT1cIlRTSW5mZXJUeXBlXCImJmMudHlwZVBhcmFtZXRlci5jb25zdHJhaW50KXJldHVybiEwfWlmKG49PT1cImNoZWNrVHlwZVwiJiZzLnR5cGU9PT1cIlRTQ29uZGl0aW9uYWxUeXBlXCIpcmV0dXJuITA7Y2FzZVwiVFNVbmlvblR5cGVcIjpjYXNlXCJUU0ludGVyc2VjdGlvblR5cGVcIjppZigocy50eXBlPT09XCJUU1VuaW9uVHlwZVwifHxzLnR5cGU9PT1cIlRTSW50ZXJzZWN0aW9uVHlwZVwiKSYmcy50eXBlcy5sZW5ndGg+MSYmKCFyLnR5cGVzfHxyLnR5cGVzLmxlbmd0aD4xKSlyZXR1cm4hMDtjYXNlXCJUU0luZmVyVHlwZVwiOmlmKHIudHlwZT09PVwiVFNJbmZlclR5cGVcIil7aWYocy50eXBlPT09XCJUU1Jlc3RUeXBlXCIpcmV0dXJuITE7aWYobj09PVwidHlwZXNcIiYmKHMudHlwZT09PVwiVFNVbmlvblR5cGVcInx8cy50eXBlPT09XCJUU0ludGVyc2VjdGlvblR5cGVcIikmJnIudHlwZVBhcmFtZXRlci50eXBlPT09XCJUU1R5cGVQYXJhbWV0ZXJcIiYmci50eXBlUGFyYW1ldGVyLmNvbnN0cmFpbnQpcmV0dXJuITB9Y2FzZVwiVFNUeXBlT3BlcmF0b3JcIjpyZXR1cm4gcy50eXBlPT09XCJUU0FycmF5VHlwZVwifHxzLnR5cGU9PT1cIlRTT3B0aW9uYWxUeXBlXCJ8fHMudHlwZT09PVwiVFNSZXN0VHlwZVwifHxuPT09XCJvYmplY3RUeXBlXCImJnMudHlwZT09PVwiVFNJbmRleGVkQWNjZXNzVHlwZVwifHxzLnR5cGU9PT1cIlRTVHlwZU9wZXJhdG9yXCJ8fHMudHlwZT09PVwiVFNUeXBlQW5ub3RhdGlvblwiJiZlLmdyYW5kcGFyZW50LnR5cGUuc3RhcnRzV2l0aChcIlRTSlNEb2NcIik7Y2FzZVwiVFNUeXBlUXVlcnlcIjpyZXR1cm4gbj09PVwib2JqZWN0VHlwZVwiJiZzLnR5cGU9PT1cIlRTSW5kZXhlZEFjY2Vzc1R5cGVcInx8bj09PVwiZWxlbWVudFR5cGVcIiYmcy50eXBlPT09XCJUU0FycmF5VHlwZVwiO2Nhc2VcIlR5cGVPcGVyYXRvclwiOnJldHVybiBzLnR5cGU9PT1cIkFycmF5VHlwZUFubm90YXRpb25cInx8cy50eXBlPT09XCJOdWxsYWJsZVR5cGVBbm5vdGF0aW9uXCJ8fG49PT1cIm9iamVjdFR5cGVcIiYmKHMudHlwZT09PVwiSW5kZXhlZEFjY2Vzc1R5cGVcInx8cy50eXBlPT09XCJPcHRpb25hbEluZGV4ZWRBY2Nlc3NUeXBlXCIpfHxzLnR5cGU9PT1cIlR5cGVPcGVyYXRvclwiO2Nhc2VcIlR5cGVvZlR5cGVBbm5vdGF0aW9uXCI6cmV0dXJuIG49PT1cIm9iamVjdFR5cGVcIiYmKHMudHlwZT09PVwiSW5kZXhlZEFjY2Vzc1R5cGVcInx8cy50eXBlPT09XCJPcHRpb25hbEluZGV4ZWRBY2Nlc3NUeXBlXCIpfHxuPT09XCJlbGVtZW50VHlwZVwiJiZzLnR5cGU9PT1cIkFycmF5VHlwZUFubm90YXRpb25cIjtjYXNlXCJBcnJheVR5cGVBbm5vdGF0aW9uXCI6cmV0dXJuIHMudHlwZT09PVwiTnVsbGFibGVUeXBlQW5ub3RhdGlvblwiO2Nhc2VcIkludGVyc2VjdGlvblR5cGVBbm5vdGF0aW9uXCI6Y2FzZVwiVW5pb25UeXBlQW5ub3RhdGlvblwiOnJldHVybiBzLnR5cGU9PT1cIlR5cGVPcGVyYXRvclwifHxzLnR5cGU9PT1cIkFycmF5VHlwZUFubm90YXRpb25cInx8cy50eXBlPT09XCJOdWxsYWJsZVR5cGVBbm5vdGF0aW9uXCJ8fHMudHlwZT09PVwiSW50ZXJzZWN0aW9uVHlwZUFubm90YXRpb25cInx8cy50eXBlPT09XCJVbmlvblR5cGVBbm5vdGF0aW9uXCJ8fG49PT1cIm9iamVjdFR5cGVcIiYmKHMudHlwZT09PVwiSW5kZXhlZEFjY2Vzc1R5cGVcInx8cy50eXBlPT09XCJPcHRpb25hbEluZGV4ZWRBY2Nlc3NUeXBlXCIpO2Nhc2VcIkluZmVyVHlwZUFubm90YXRpb25cIjpjYXNlXCJOdWxsYWJsZVR5cGVBbm5vdGF0aW9uXCI6cmV0dXJuIHMudHlwZT09PVwiQXJyYXlUeXBlQW5ub3RhdGlvblwifHxuPT09XCJvYmplY3RUeXBlXCImJihzLnR5cGU9PT1cIkluZGV4ZWRBY2Nlc3NUeXBlXCJ8fHMudHlwZT09PVwiT3B0aW9uYWxJbmRleGVkQWNjZXNzVHlwZVwiKTtjYXNlXCJDb21wb25lbnRUeXBlQW5ub3RhdGlvblwiOmNhc2VcIkZ1bmN0aW9uVHlwZUFubm90YXRpb25cIjp7aWYoci50eXBlPT09XCJDb21wb25lbnRUeXBlQW5ub3RhdGlvblwiJiYoci5yZW5kZXJzVHlwZT09PW51bGx8fHIucmVuZGVyc1R5cGU9PT12b2lkIDApKXJldHVybiExO2lmKGUubWF0Y2godm9pZCAwLChBLFQpPT5UPT09XCJ0eXBlQW5ub3RhdGlvblwiJiZBLnR5cGU9PT1cIlR5cGVBbm5vdGF0aW9uXCIsKEEsVCk9PlQ9PT1cInJldHVyblR5cGVcIiYmQS50eXBlPT09XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiKXx8ZS5tYXRjaCh2b2lkIDAsKEEsVCk9PlQ9PT1cInR5cGVBbm5vdGF0aW9uXCImJkEudHlwZT09PVwiVHlwZVByZWRpY2F0ZVwiLChBLFQpPT5UPT09XCJ0eXBlQW5ub3RhdGlvblwiJiZBLnR5cGU9PT1cIlR5cGVBbm5vdGF0aW9uXCIsKEEsVCk9PlQ9PT1cInJldHVyblR5cGVcIiYmQS50eXBlPT09XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiKSlyZXR1cm4hMDtsZXQgYz1zLnR5cGU9PT1cIk51bGxhYmxlVHlwZUFubm90YXRpb25cIj9lLmdyYW5kcGFyZW50OnM7cmV0dXJuIGMudHlwZT09PVwiVW5pb25UeXBlQW5ub3RhdGlvblwifHxjLnR5cGU9PT1cIkludGVyc2VjdGlvblR5cGVBbm5vdGF0aW9uXCJ8fGMudHlwZT09PVwiQXJyYXlUeXBlQW5ub3RhdGlvblwifHxuPT09XCJvYmplY3RUeXBlXCImJihjLnR5cGU9PT1cIkluZGV4ZWRBY2Nlc3NUeXBlXCJ8fGMudHlwZT09PVwiT3B0aW9uYWxJbmRleGVkQWNjZXNzVHlwZVwiKXx8bj09PVwiY2hlY2tUeXBlXCImJnMudHlwZT09PVwiQ29uZGl0aW9uYWxUeXBlQW5ub3RhdGlvblwifHxuPT09XCJleHRlbmRzVHlwZVwiJiZzLnR5cGU9PT1cIkNvbmRpdGlvbmFsVHlwZUFubm90YXRpb25cIiYmKChtPXIucmV0dXJuVHlwZSk9PW51bGw/dm9pZCAwOm0udHlwZSk9PT1cIkluZmVyVHlwZUFubm90YXRpb25cIiYmKCh5PXIucmV0dXJuVHlwZSk9PW51bGw/dm9pZCAwOnkudHlwZVBhcmFtZXRlci5ib3VuZCl8fGMudHlwZT09PVwiTnVsbGFibGVUeXBlQW5ub3RhdGlvblwifHxzLnR5cGU9PT1cIkZ1bmN0aW9uVHlwZVBhcmFtXCImJnMubmFtZT09PW51bGwmJnoocikuc29tZShBPT57dmFyIFQ7cmV0dXJuKChUPUEudHlwZUFubm90YXRpb24pPT1udWxsP3ZvaWQgMDpULnR5cGUpPT09XCJOdWxsYWJsZVR5cGVBbm5vdGF0aW9uXCJ9KX1jYXNlXCJDb25kaXRpb25hbFR5cGVBbm5vdGF0aW9uXCI6aWYobj09PVwiZXh0ZW5kc1R5cGVcIiYmcy50eXBlPT09XCJDb25kaXRpb25hbFR5cGVBbm5vdGF0aW9uXCImJnIudHlwZT09PVwiQ29uZGl0aW9uYWxUeXBlQW5ub3RhdGlvblwifHxuPT09XCJjaGVja1R5cGVcIiYmcy50eXBlPT09XCJDb25kaXRpb25hbFR5cGVBbm5vdGF0aW9uXCIpcmV0dXJuITA7Y2FzZVwiT3B0aW9uYWxJbmRleGVkQWNjZXNzVHlwZVwiOnJldHVybiBuPT09XCJvYmplY3RUeXBlXCImJnMudHlwZT09PVwiSW5kZXhlZEFjY2Vzc1R5cGVcIjtjYXNlXCJTdHJpbmdMaXRlcmFsXCI6Y2FzZVwiTnVtZXJpY0xpdGVyYWxcIjpjYXNlXCJMaXRlcmFsXCI6aWYodHlwZW9mIHIudmFsdWU9PVwic3RyaW5nXCImJnMudHlwZT09PVwiRXhwcmVzc2lvblN0YXRlbWVudFwiJiYhcy5kaXJlY3RpdmUpe2xldCBjPWUuZ3JhbmRwYXJlbnQ7cmV0dXJuIGMudHlwZT09PVwiUHJvZ3JhbVwifHxjLnR5cGU9PT1cIkJsb2NrU3RhdGVtZW50XCJ9cmV0dXJuIG49PT1cIm9iamVjdFwiJiZzLnR5cGU9PT1cIk1lbWJlckV4cHJlc3Npb25cIiYmdHlwZW9mIHIudmFsdWU9PVwibnVtYmVyXCI7Y2FzZVwiQXNzaWdubWVudEV4cHJlc3Npb25cIjp7bGV0IGM9ZS5ncmFuZHBhcmVudDtyZXR1cm4gbj09PVwiYm9keVwiJiZzLnR5cGU9PT1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCI/ITA6bj09PVwia2V5XCImJihzLnR5cGU9PT1cIkNsYXNzUHJvcGVydHlcInx8cy50eXBlPT09XCJQcm9wZXJ0eURlZmluaXRpb25cIikmJnMuY29tcHV0ZWR8fChuPT09XCJpbml0XCJ8fG49PT1cInVwZGF0ZVwiKSYmcy50eXBlPT09XCJGb3JTdGF0ZW1lbnRcIj8hMTpzLnR5cGU9PT1cIkV4cHJlc3Npb25TdGF0ZW1lbnRcIj9yLmxlZnQudHlwZT09PVwiT2JqZWN0UGF0dGVyblwiOiEobj09PVwia2V5XCImJnMudHlwZT09PVwiVFNQcm9wZXJ0eVNpZ25hdHVyZVwifHxzLnR5cGU9PT1cIkFzc2lnbm1lbnRFeHByZXNzaW9uXCJ8fHMudHlwZT09PVwiU2VxdWVuY2VFeHByZXNzaW9uXCImJmMudHlwZT09PVwiRm9yU3RhdGVtZW50XCImJihjLmluaXQ9PT1zfHxjLnVwZGF0ZT09PXMpfHxuPT09XCJ2YWx1ZVwiJiZzLnR5cGU9PT1cIlByb3BlcnR5XCImJmMudHlwZT09PVwiT2JqZWN0UGF0dGVyblwiJiZjLnByb3BlcnRpZXMuaW5jbHVkZXMocyl8fHMudHlwZT09PVwiTkdDaGFpbmVkRXhwcmVzc2lvblwifHxuPT09XCJub2RlXCImJnMudHlwZT09PVwiSnNFeHByZXNzaW9uUm9vdFwiKX1jYXNlXCJDb25kaXRpb25hbEV4cHJlc3Npb25cIjpzd2l0Y2gocy50eXBlKXtjYXNlXCJUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb25cIjpjYXNlXCJVbmFyeUV4cHJlc3Npb25cIjpjYXNlXCJTcHJlYWRFbGVtZW50XCI6Y2FzZVwiQmluYXJ5RXhwcmVzc2lvblwiOmNhc2VcIkxvZ2ljYWxFeHByZXNzaW9uXCI6Y2FzZVwiTkdQaXBlRXhwcmVzc2lvblwiOmNhc2VcIkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblwiOmNhc2VcIkF3YWl0RXhwcmVzc2lvblwiOmNhc2VcIkpTWFNwcmVhZEF0dHJpYnV0ZVwiOmNhc2VcIlRTVHlwZUFzc2VydGlvblwiOmNhc2VcIlR5cGVDYXN0RXhwcmVzc2lvblwiOmNhc2VcIlRTQXNFeHByZXNzaW9uXCI6Y2FzZVwiVFNTYXRpc2ZpZXNFeHByZXNzaW9uXCI6Y2FzZVwiQXNFeHByZXNzaW9uXCI6Y2FzZVwiQXNDb25zdEV4cHJlc3Npb25cIjpjYXNlXCJTYXRpc2ZpZXNFeHByZXNzaW9uXCI6Y2FzZVwiVFNOb25OdWxsRXhwcmVzc2lvblwiOnJldHVybiEwO2Nhc2VcIk5ld0V4cHJlc3Npb25cIjpjYXNlXCJDYWxsRXhwcmVzc2lvblwiOmNhc2VcIk9wdGlvbmFsQ2FsbEV4cHJlc3Npb25cIjpyZXR1cm4gbj09PVwiY2FsbGVlXCI7Y2FzZVwiQ29uZGl0aW9uYWxFeHByZXNzaW9uXCI6cmV0dXJuIHQuZXhwZXJpbWVudGFsVGVybmFyaWVzPyExOm49PT1cInRlc3RcIjtjYXNlXCJNZW1iZXJFeHByZXNzaW9uXCI6Y2FzZVwiT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uXCI6cmV0dXJuIG49PT1cIm9iamVjdFwiO2RlZmF1bHQ6cmV0dXJuITF9Y2FzZVwiRnVuY3Rpb25FeHByZXNzaW9uXCI6c3dpdGNoKHMudHlwZSl7Y2FzZVwiTmV3RXhwcmVzc2lvblwiOmNhc2VcIkNhbGxFeHByZXNzaW9uXCI6Y2FzZVwiT3B0aW9uYWxDYWxsRXhwcmVzc2lvblwiOnJldHVybiBuPT09XCJjYWxsZWVcIjtjYXNlXCJUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb25cIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfWNhc2VcIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCI6c3dpdGNoKHMudHlwZSl7Y2FzZVwiQmluYXJ5RXhwcmVzc2lvblwiOnJldHVybiBzLm9wZXJhdG9yIT09XCJ8PlwifHwoKEQ9ci5leHRyYSk9PW51bGw/dm9pZCAwOkQucGFyZW50aGVzaXplZCk7Y2FzZVwiTmV3RXhwcmVzc2lvblwiOmNhc2VcIkNhbGxFeHByZXNzaW9uXCI6Y2FzZVwiT3B0aW9uYWxDYWxsRXhwcmVzc2lvblwiOnJldHVybiBuPT09XCJjYWxsZWVcIjtjYXNlXCJNZW1iZXJFeHByZXNzaW9uXCI6Y2FzZVwiT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uXCI6cmV0dXJuIG49PT1cIm9iamVjdFwiO2Nhc2VcIlRTQXNFeHByZXNzaW9uXCI6Y2FzZVwiVFNTYXRpc2ZpZXNFeHByZXNzaW9uXCI6Y2FzZVwiQXNFeHByZXNzaW9uXCI6Y2FzZVwiQXNDb25zdEV4cHJlc3Npb25cIjpjYXNlXCJTYXRpc2ZpZXNFeHByZXNzaW9uXCI6Y2FzZVwiVFNOb25OdWxsRXhwcmVzc2lvblwiOmNhc2VcIkJpbmRFeHByZXNzaW9uXCI6Y2FzZVwiVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uXCI6Y2FzZVwiVW5hcnlFeHByZXNzaW9uXCI6Y2FzZVwiTG9naWNhbEV4cHJlc3Npb25cIjpjYXNlXCJBd2FpdEV4cHJlc3Npb25cIjpjYXNlXCJUU1R5cGVBc3NlcnRpb25cIjpyZXR1cm4hMDtjYXNlXCJDb25kaXRpb25hbEV4cHJlc3Npb25cIjpyZXR1cm4gbj09PVwidGVzdFwiO2RlZmF1bHQ6cmV0dXJuITF9Y2FzZVwiQ2xhc3NFeHByZXNzaW9uXCI6c3dpdGNoKHMudHlwZSl7Y2FzZVwiTmV3RXhwcmVzc2lvblwiOnJldHVybiBuPT09XCJjYWxsZWVcIjtkZWZhdWx0OnJldHVybiExfWNhc2VcIk9wdGlvbmFsTWVtYmVyRXhwcmVzc2lvblwiOmNhc2VcIk9wdGlvbmFsQ2FsbEV4cHJlc3Npb25cIjpjYXNlXCJDYWxsRXhwcmVzc2lvblwiOmNhc2VcIk1lbWJlckV4cHJlc3Npb25cIjppZihvYyhlKSlyZXR1cm4hMDtjYXNlXCJUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb25cIjpjYXNlXCJUU05vbk51bGxFeHByZXNzaW9uXCI6aWYobj09PVwiY2FsbGVlXCImJihzLnR5cGU9PT1cIkJpbmRFeHByZXNzaW9uXCJ8fHMudHlwZT09PVwiTmV3RXhwcmVzc2lvblwiKSl7bGV0IGM9cjtmb3IoO2M7KXN3aXRjaChjLnR5cGUpe2Nhc2VcIkNhbGxFeHByZXNzaW9uXCI6Y2FzZVwiT3B0aW9uYWxDYWxsRXhwcmVzc2lvblwiOnJldHVybiEwO2Nhc2VcIk1lbWJlckV4cHJlc3Npb25cIjpjYXNlXCJPcHRpb25hbE1lbWJlckV4cHJlc3Npb25cIjpjYXNlXCJCaW5kRXhwcmVzc2lvblwiOmM9Yy5vYmplY3Q7YnJlYWs7Y2FzZVwiVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uXCI6Yz1jLnRhZzticmVhaztjYXNlXCJUU05vbk51bGxFeHByZXNzaW9uXCI6Yz1jLmV4cHJlc3Npb247YnJlYWs7ZGVmYXVsdDpyZXR1cm4hMX19cmV0dXJuITE7Y2FzZVwiQmluZEV4cHJlc3Npb25cIjpyZXR1cm4gbj09PVwiY2FsbGVlXCImJihzLnR5cGU9PT1cIkJpbmRFeHByZXNzaW9uXCJ8fHMudHlwZT09PVwiTmV3RXhwcmVzc2lvblwiKXx8bj09PVwib2JqZWN0XCImJlcocyk7Y2FzZVwiTkdQaXBlRXhwcmVzc2lvblwiOnJldHVybiEocy50eXBlPT09XCJOR1Jvb3RcInx8cy50eXBlPT09XCJOR01pY3Jvc3ludGF4RXhwcmVzc2lvblwifHxzLnR5cGU9PT1cIk9iamVjdFByb3BlcnR5XCImJiEoKEM9ci5leHRyYSkhPW51bGwmJkMucGFyZW50aGVzaXplZCl8fFgocyl8fG49PT1cImFyZ3VtZW50c1wiJiZMKHMpfHxuPT09XCJyaWdodFwiJiZzLnR5cGU9PT1cIk5HUGlwZUV4cHJlc3Npb25cInx8bj09PVwicHJvcGVydHlcIiYmcy50eXBlPT09XCJNZW1iZXJFeHByZXNzaW9uXCJ8fHMudHlwZT09PVwiQXNzaWdubWVudEV4cHJlc3Npb25cIik7Y2FzZVwiSlNYRnJhZ21lbnRcIjpjYXNlXCJKU1hFbGVtZW50XCI6cmV0dXJuIG49PT1cImNhbGxlZVwifHxuPT09XCJsZWZ0XCImJnMudHlwZT09PVwiQmluYXJ5RXhwcmVzc2lvblwiJiZzLm9wZXJhdG9yPT09XCI8XCJ8fCFYKHMpJiZzLnR5cGUhPT1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCImJnMudHlwZSE9PVwiQXNzaWdubWVudEV4cHJlc3Npb25cIiYmcy50eXBlIT09XCJBc3NpZ25tZW50UGF0dGVyblwiJiZzLnR5cGUhPT1cIkJpbmFyeUV4cHJlc3Npb25cIiYmcy50eXBlIT09XCJOZXdFeHByZXNzaW9uXCImJnMudHlwZSE9PVwiQ29uZGl0aW9uYWxFeHByZXNzaW9uXCImJnMudHlwZSE9PVwiRXhwcmVzc2lvblN0YXRlbWVudFwiJiZzLnR5cGUhPT1cIkpzRXhwcmVzc2lvblJvb3RcIiYmcy50eXBlIT09XCJKU1hBdHRyaWJ1dGVcIiYmcy50eXBlIT09XCJKU1hFbGVtZW50XCImJnMudHlwZSE9PVwiSlNYRXhwcmVzc2lvbkNvbnRhaW5lclwiJiZzLnR5cGUhPT1cIkpTWEZyYWdtZW50XCImJnMudHlwZSE9PVwiTG9naWNhbEV4cHJlc3Npb25cIiYmIUwocykmJiFDZShzKSYmcy50eXBlIT09XCJSZXR1cm5TdGF0ZW1lbnRcIiYmcy50eXBlIT09XCJUaHJvd1N0YXRlbWVudFwiJiZzLnR5cGUhPT1cIlR5cGVDYXN0RXhwcmVzc2lvblwiJiZzLnR5cGUhPT1cIlZhcmlhYmxlRGVjbGFyYXRvclwiJiZzLnR5cGUhPT1cIllpZWxkRXhwcmVzc2lvblwiO2Nhc2VcIlRTSW5zdGFudGlhdGlvbkV4cHJlc3Npb25cIjpyZXR1cm4gbj09PVwib2JqZWN0XCImJlcocyl9cmV0dXJuITF9dmFyIHNjPXYoW1wiQmxvY2tTdGF0ZW1lbnRcIixcIkJyZWFrU3RhdGVtZW50XCIsXCJDb21wb25lbnREZWNsYXJhdGlvblwiLFwiQ2xhc3NCb2R5XCIsXCJDbGFzc0RlY2xhcmF0aW9uXCIsXCJDbGFzc01ldGhvZFwiLFwiQ2xhc3NQcm9wZXJ0eVwiLFwiUHJvcGVydHlEZWZpbml0aW9uXCIsXCJDbGFzc1ByaXZhdGVQcm9wZXJ0eVwiLFwiQ29udGludWVTdGF0ZW1lbnRcIixcIkRlYnVnZ2VyU3RhdGVtZW50XCIsXCJEZWNsYXJlQ29tcG9uZW50XCIsXCJEZWNsYXJlQ2xhc3NcIixcIkRlY2xhcmVFeHBvcnRBbGxEZWNsYXJhdGlvblwiLFwiRGVjbGFyZUV4cG9ydERlY2xhcmF0aW9uXCIsXCJEZWNsYXJlRnVuY3Rpb25cIixcIkRlY2xhcmVIb29rXCIsXCJEZWNsYXJlSW50ZXJmYWNlXCIsXCJEZWNsYXJlTW9kdWxlXCIsXCJEZWNsYXJlTW9kdWxlRXhwb3J0c1wiLFwiRGVjbGFyZU5hbWVzcGFjZVwiLFwiRGVjbGFyZVZhcmlhYmxlXCIsXCJEZWNsYXJlRW51bVwiLFwiRG9XaGlsZVN0YXRlbWVudFwiLFwiRW51bURlY2xhcmF0aW9uXCIsXCJFeHBvcnRBbGxEZWNsYXJhdGlvblwiLFwiRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXCIsXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIsXCJFeHByZXNzaW9uU3RhdGVtZW50XCIsXCJGb3JJblN0YXRlbWVudFwiLFwiRm9yT2ZTdGF0ZW1lbnRcIixcIkZvclN0YXRlbWVudFwiLFwiRnVuY3Rpb25EZWNsYXJhdGlvblwiLFwiSG9va0RlY2xhcmF0aW9uXCIsXCJJZlN0YXRlbWVudFwiLFwiSW1wb3J0RGVjbGFyYXRpb25cIixcIkludGVyZmFjZURlY2xhcmF0aW9uXCIsXCJMYWJlbGVkU3RhdGVtZW50XCIsXCJNZXRob2REZWZpbml0aW9uXCIsXCJSZXR1cm5TdGF0ZW1lbnRcIixcIlN3aXRjaFN0YXRlbWVudFwiLFwiVGhyb3dTdGF0ZW1lbnRcIixcIlRyeVN0YXRlbWVudFwiLFwiVFNEZWNsYXJlRnVuY3Rpb25cIixcIlRTRW51bURlY2xhcmF0aW9uXCIsXCJUU0ltcG9ydEVxdWFsc0RlY2xhcmF0aW9uXCIsXCJUU0ludGVyZmFjZURlY2xhcmF0aW9uXCIsXCJUU01vZHVsZURlY2xhcmF0aW9uXCIsXCJUU05hbWVzcGFjZUV4cG9ydERlY2xhcmF0aW9uXCIsXCJUeXBlQWxpYXNcIixcIlZhcmlhYmxlRGVjbGFyYXRpb25cIixcIldoaWxlU3RhdGVtZW50XCIsXCJXaXRoU3RhdGVtZW50XCJdKTtmdW5jdGlvbiB1YyhlKXtsZXQgdD0wLHtub2RlOnJ9PWU7Zm9yKDtyOyl7bGV0IG49ZS5nZXRQYXJlbnROb2RlKHQrKyk7aWYoKG49PW51bGw/dm9pZCAwOm4udHlwZSk9PT1cIkZvclN0YXRlbWVudFwiJiZuLmluaXQ9PT1yKXJldHVybiEwO3I9bn1yZXR1cm4hMX1mdW5jdGlvbiBpYyhlKXtyZXR1cm4gcnIoZSx0PT50LnR5cGU9PT1cIk9iamVjdFR5cGVBbm5vdGF0aW9uXCImJnJyKHQscj0+ci50eXBlPT09XCJGdW5jdGlvblR5cGVBbm5vdGF0aW9uXCIpKX1mdW5jdGlvbiBhYyhlKXtyZXR1cm4gc2UoZSl9ZnVuY3Rpb24gcHIoZSl7bGV0e3BhcmVudDp0LGtleTpyfT1lO3N3aXRjaCh0LnR5cGUpe2Nhc2VcIk5HUGlwZUV4cHJlc3Npb25cIjppZihyPT09XCJhcmd1bWVudHNcIiYmZS5pc0xhc3QpcmV0dXJuIGUuY2FsbFBhcmVudChwcik7YnJlYWs7Y2FzZVwiT2JqZWN0UHJvcGVydHlcIjppZihyPT09XCJ2YWx1ZVwiKXJldHVybiBlLmNhbGxQYXJlbnQoKCk9PmUua2V5PT09XCJwcm9wZXJ0aWVzXCImJmUuaXNMYXN0KTticmVhaztjYXNlXCJCaW5hcnlFeHByZXNzaW9uXCI6Y2FzZVwiTG9naWNhbEV4cHJlc3Npb25cIjppZihyPT09XCJyaWdodFwiKXJldHVybiBlLmNhbGxQYXJlbnQocHIpO2JyZWFrO2Nhc2VcIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiOmlmKHI9PT1cImFsdGVybmF0ZVwiKXJldHVybiBlLmNhbGxQYXJlbnQocHIpO2JyZWFrO2Nhc2VcIlVuYXJ5RXhwcmVzc2lvblwiOmlmKHQucHJlZml4KXJldHVybiBlLmNhbGxQYXJlbnQocHIpO2JyZWFrfXJldHVybiExfWZ1bmN0aW9uIG1pKGUsdCl7bGV0e25vZGU6cixwYXJlbnQ6bn09ZTtyZXR1cm4gci50eXBlPT09XCJGdW5jdGlvbkV4cHJlc3Npb25cInx8ci50eXBlPT09XCJDbGFzc0V4cHJlc3Npb25cIj9uLnR5cGU9PT1cIkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblwifHwhdXMoZSx0KTohUnQocil8fG4udHlwZSE9PVwiRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXCImJnVzKGUsdCk/ITE6ZS5jYWxsKCgpPT5taShlLHQpLC4uLlByKHIpKX1mdW5jdGlvbiBvYyhlKXtyZXR1cm4hIShlLm1hdGNoKHZvaWQgMCwodCxyKT0+cj09PVwiZXhwcmVzc2lvblwiJiZ0LnR5cGU9PT1cIkNoYWluRXhwcmVzc2lvblwiLCh0LHIpPT5yPT09XCJ0YWdcIiYmdC50eXBlPT09XCJUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb25cIil8fGUubWF0Y2godD0+dC50eXBlPT09XCJPcHRpb25hbENhbGxFeHByZXNzaW9uXCJ8fHQudHlwZT09PVwiT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uXCIsKHQscik9PnI9PT1cInRhZ1wiJiZ0LnR5cGU9PT1cIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvblwiKXx8ZS5tYXRjaCh0PT50LnR5cGU9PT1cIk9wdGlvbmFsQ2FsbEV4cHJlc3Npb25cInx8dC50eXBlPT09XCJPcHRpb25hbE1lbWJlckV4cHJlc3Npb25cIiwodCxyKT0+cj09PVwiZXhwcmVzc2lvblwiJiZ0LnR5cGU9PT1cIlRTTm9uTnVsbEV4cHJlc3Npb25cIiwodCxyKT0+cj09PVwidGFnXCImJnQudHlwZT09PVwiVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uXCIpfHxlLm1hdGNoKHZvaWQgMCwodCxyKT0+cj09PVwiZXhwcmVzc2lvblwiJiZ0LnR5cGU9PT1cIkNoYWluRXhwcmVzc2lvblwiLCh0LHIpPT5yPT09XCJleHByZXNzaW9uXCImJnQudHlwZT09PVwiVFNOb25OdWxsRXhwcmVzc2lvblwiLCh0LHIpPT5yPT09XCJ0YWdcIiYmdC50eXBlPT09XCJUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb25cIil8fGUubWF0Y2godm9pZCAwLCh0LHIpPT5yPT09XCJleHByZXNzaW9uXCImJnQudHlwZT09PVwiVFNOb25OdWxsRXhwcmVzc2lvblwiLCh0LHIpPT5yPT09XCJleHByZXNzaW9uXCImJnQudHlwZT09PVwiQ2hhaW5FeHByZXNzaW9uXCIsKHQscik9PnI9PT1cInRhZ1wiJiZ0LnR5cGU9PT1cIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvblwiKXx8ZS5tYXRjaCh0PT50LnR5cGU9PT1cIk9wdGlvbmFsTWVtYmVyRXhwcmVzc2lvblwifHx0LnR5cGU9PT1cIk9wdGlvbmFsQ2FsbEV4cHJlc3Npb25cIiwodCxyKT0+cj09PVwib2JqZWN0XCImJnQudHlwZT09PVwiTWVtYmVyRXhwcmVzc2lvblwifHxyPT09XCJjYWxsZWVcIiYmKHQudHlwZT09PVwiQ2FsbEV4cHJlc3Npb25cInx8dC50eXBlPT09XCJOZXdFeHByZXNzaW9uXCIpKXx8ZS5tYXRjaCh0PT50LnR5cGU9PT1cIk9wdGlvbmFsTWVtYmVyRXhwcmVzc2lvblwifHx0LnR5cGU9PT1cIk9wdGlvbmFsQ2FsbEV4cHJlc3Npb25cIiwodCxyKT0+cj09PVwiZXhwcmVzc2lvblwiJiZ0LnR5cGU9PT1cIlRTTm9uTnVsbEV4cHJlc3Npb25cIiwodCxyKT0+cj09PVwib2JqZWN0XCImJnQudHlwZT09PVwiTWVtYmVyRXhwcmVzc2lvblwifHxyPT09XCJjYWxsZWVcIiYmdC50eXBlPT09XCJDYWxsRXhwcmVzc2lvblwiKXx8ZS5tYXRjaCh0PT50LnR5cGU9PT1cIkNhbGxFeHByZXNzaW9uXCJ8fHQudHlwZT09PVwiTWVtYmVyRXhwcmVzc2lvblwiLCh0LHIpPT5yPT09XCJleHByZXNzaW9uXCImJnQudHlwZT09PVwiQ2hhaW5FeHByZXNzaW9uXCIpJiYoZS5tYXRjaCh2b2lkIDAsdm9pZCAwLCh0LHIpPT5yPT09XCJjYWxsZWVcIiYmKHQudHlwZT09PVwiQ2FsbEV4cHJlc3Npb25cIiYmIXQub3B0aW9uYWx8fHQudHlwZT09PVwiTmV3RXhwcmVzc2lvblwiKXx8cj09PVwib2JqZWN0XCImJnQudHlwZT09PVwiTWVtYmVyRXhwcmVzc2lvblwiJiYhdC5vcHRpb25hbCl8fGUubWF0Y2godm9pZCAwLHZvaWQgMCwodCxyKT0+cj09PVwiZXhwcmVzc2lvblwiJiZ0LnR5cGU9PT1cIlRTTm9uTnVsbEV4cHJlc3Npb25cIiwodCxyKT0+cj09PVwib2JqZWN0XCImJnQudHlwZT09PVwiTWVtYmVyRXhwcmVzc2lvblwifHxyPT09XCJjYWxsZWVcIiYmdC50eXBlPT09XCJDYWxsRXhwcmVzc2lvblwiKSl8fGUubWF0Y2godD0+dC50eXBlPT09XCJDYWxsRXhwcmVzc2lvblwifHx0LnR5cGU9PT1cIk1lbWJlckV4cHJlc3Npb25cIiwodCxyKT0+cj09PVwiZXhwcmVzc2lvblwiJiZ0LnR5cGU9PT1cIlRTTm9uTnVsbEV4cHJlc3Npb25cIiwodCxyKT0+cj09PVwiZXhwcmVzc2lvblwiJiZ0LnR5cGU9PT1cIkNoYWluRXhwcmVzc2lvblwiLCh0LHIpPT5yPT09XCJvYmplY3RcIiYmdC50eXBlPT09XCJNZW1iZXJFeHByZXNzaW9uXCJ8fHI9PT1cImNhbGxlZVwiJiZ0LnR5cGU9PT1cIkNhbGxFeHByZXNzaW9uXCIpKX1mdW5jdGlvbiBpcyhlKXtyZXR1cm4gZS50eXBlPT09XCJJZGVudGlmaWVyXCI/ITA6VyhlKT8hZS5jb21wdXRlZCYmIWUub3B0aW9uYWwmJmUucHJvcGVydHkudHlwZT09PVwiSWRlbnRpZmllclwiJiZpcyhlLm9iamVjdCk6ITF9ZnVuY3Rpb24gcGMoZSl7cmV0dXJuIGUudHlwZT09PVwiQ2hhaW5FeHByZXNzaW9uXCImJihlPWUuZXhwcmVzc2lvbiksaXMoZSl8fEwoZSkmJiFlLm9wdGlvbmFsJiZpcyhlLmNhbGxlZSl9dmFyIEJlPXVzO2Z1bmN0aW9uIGNjKGUsdCl7bGV0IHI9dC0xO3I9V2UoZSxyLHtiYWNrd2FyZHM6ITB9KSxyPUdlKGUscix7YmFja3dhcmRzOiEwfSkscj1XZShlLHIse2JhY2t3YXJkczohMH0pO2xldCBuPUdlKGUscix7YmFja3dhcmRzOiEwfSk7cmV0dXJuIHIhPT1ufXZhciB5aT1jYzt2YXIgbGM9KCk9PiEwO2Z1bmN0aW9uIGFzKGUsdCl7bGV0IHI9ZS5ub2RlO3JldHVybiByLnByaW50ZWQ9ITAsdC5wcmludGVyLnByaW50Q29tbWVudChlLHQpfWZ1bmN0aW9uIG1jKGUsdCl7dmFyIG07bGV0IHI9ZS5ub2RlLG49W2FzKGUsdCldLHtwcmludGVyOnMsb3JpZ2luYWxUZXh0OnUsbG9jU3RhcnQ6aSxsb2NFbmQ6YX09dDtpZigobT1zLmlzQmxvY2tDb21tZW50KT09bnVsbD92b2lkIDA6bS5jYWxsKHMscikpe2xldCB5PVoodSxhKHIpKT9aKHUsaShyKSx7YmFja3dhcmRzOiEwfSk/Rjp4OlwiIFwiO24ucHVzaCh5KX1lbHNlIG4ucHVzaChGKTtsZXQgbz1HZSh1LFdlKHUsYShyKSkpO3JldHVybiBvIT09ITEmJloodSxvKSYmbi5wdXNoKEYpLG59ZnVuY3Rpb24geWMoZSx0LHIpe3ZhciBvO2xldCBuPWUubm9kZSxzPWFzKGUsdCkse3ByaW50ZXI6dSxvcmlnaW5hbFRleHQ6aSxsb2NTdGFydDphfT10LHA9KG89dS5pc0Jsb2NrQ29tbWVudCk9PW51bGw/dm9pZCAwOm8uY2FsbCh1LG4pO2lmKHIhPW51bGwmJnIuaGFzTGluZVN1ZmZpeCYmIShyIT1udWxsJiZyLmlzQmxvY2spfHxaKGksYShuKSx7YmFja3dhcmRzOiEwfSkpe2xldCBtPXlpKGksYShuKSk7cmV0dXJue2RvYzpXbihbRixtP0Y6XCJcIixzXSksaXNCbG9jazpwLGhhc0xpbmVTdWZmaXg6ITB9fXJldHVybiFwfHxyIT1udWxsJiZyLmhhc0xpbmVTdWZmaXg/e2RvYzpbV24oW1wiIFwiLHNdKSxFZV0saXNCbG9jazpwLGhhc0xpbmVTdWZmaXg6ITB9Ontkb2M6W1wiIFwiLHNdLGlzQmxvY2s6cCxoYXNMaW5lU3VmZml4OiExfX1mdW5jdGlvbiBKKGUsdCxyPXt9KXtsZXR7bm9kZTpufT1lO2lmKCFPKG49PW51bGw/dm9pZCAwOm4uY29tbWVudHMpKXJldHVyblwiXCI7bGV0e2luZGVudDpzPSExLG1hcmtlcjp1LGZpbHRlcjppPWxjfT1yLGE9W107aWYoZS5lYWNoKCh7bm9kZTpvfSk9PntvLmxlYWRpbmd8fG8udHJhaWxpbmd8fG8ubWFya2VyIT09dXx8IWkobyl8fGEucHVzaChhcyhlLHQpKX0sXCJjb21tZW50c1wiKSxhLmxlbmd0aD09PTApcmV0dXJuXCJcIjtsZXQgcD1iKEYsYSk7cmV0dXJuIHM/ZihbRixwXSk6cH1mdW5jdGlvbiBvcyhlLHQpe2xldCByPWUubm9kZTtpZighcilyZXR1cm57fTtsZXQgbj10W1N5bWJvbC5mb3IoXCJwcmludGVkQ29tbWVudHNcIildO2lmKChyLmNvbW1lbnRzfHxbXSkuZmlsdGVyKHA9PiFuLmhhcyhwKSkubGVuZ3RoPT09MClyZXR1cm57bGVhZGluZzpcIlwiLHRyYWlsaW5nOlwiXCJ9O2xldCB1PVtdLGk9W10sYTtyZXR1cm4gZS5lYWNoKCgpPT57bGV0IHA9ZS5ub2RlO2lmKG4hPW51bGwmJm4uaGFzKHApKXJldHVybjtsZXR7bGVhZGluZzpvLHRyYWlsaW5nOm19PXA7bz91LnB1c2gobWMoZSx0KSk6bSYmKGE9eWMoZSx0LGEpLGkucHVzaChhLmRvYykpfSxcImNvbW1lbnRzXCIpLHtsZWFkaW5nOnUsdHJhaWxpbmc6aX19ZnVuY3Rpb24geWUoZSx0LHIpe2xldHtsZWFkaW5nOm4sdHJhaWxpbmc6c309b3MoZSxyKTtyZXR1cm4hbiYmIXM/dDpvcih0LHU9PltuLHUsc10pfXZhciBwcz1jbGFzcyBleHRlbmRzIEVycm9ye25hbWU9XCJVbmV4cGVjdGVkTm9kZUVycm9yXCI7Y29uc3RydWN0b3IodCxyLG49XCJ0eXBlXCIpe3N1cGVyKGBVbmV4cGVjdGVkICR7cn0gbm9kZSAke259OiAke0pTT04uc3RyaW5naWZ5KHRbbl0pfS5gKSx0aGlzLm5vZGU9dH19LE1lPXBzO2Z1bmN0aW9uIGNzKGUpe2lmKHR5cGVvZiBlIT1cInN0cmluZ1wiKXRocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhIHN0cmluZ1wiKTtyZXR1cm4gZS5yZXBsYWNlKC9bfFxcXFx7fSgpW1xcXV4kKyo/Ll0vZyxcIlxcXFwkJlwiKS5yZXBsYWNlKC8tL2csXCJcXFxceDJkXCIpfXZhciBSZSxscz1jbGFzc3tjb25zdHJ1Y3Rvcih0KXtXcyh0aGlzLFJlKTtHcyh0aGlzLFJlLG5ldyBTZXQodCkpfWdldExlYWRpbmdXaGl0ZXNwYWNlQ291bnQodCl7bGV0IHI9cHQodGhpcyxSZSksbj0wO2ZvcihsZXQgcz0wO3M8dC5sZW5ndGgmJnIuaGFzKHQuY2hhckF0KHMpKTtzKyspbisrO3JldHVybiBufWdldFRyYWlsaW5nV2hpdGVzcGFjZUNvdW50KHQpe2xldCByPXB0KHRoaXMsUmUpLG49MDtmb3IobGV0IHM9dC5sZW5ndGgtMTtzPj0wJiZyLmhhcyh0LmNoYXJBdChzKSk7cy0tKW4rKztyZXR1cm4gbn1nZXRMZWFkaW5nV2hpdGVzcGFjZSh0KXtsZXQgcj10aGlzLmdldExlYWRpbmdXaGl0ZXNwYWNlQ291bnQodCk7cmV0dXJuIHQuc2xpY2UoMCxyKX1nZXRUcmFpbGluZ1doaXRlc3BhY2UodCl7bGV0IHI9dGhpcy5nZXRUcmFpbGluZ1doaXRlc3BhY2VDb3VudCh0KTtyZXR1cm4gdC5zbGljZSh0Lmxlbmd0aC1yKX1oYXNMZWFkaW5nV2hpdGVzcGFjZSh0KXtyZXR1cm4gcHQodGhpcyxSZSkuaGFzKHQuY2hhckF0KDApKX1oYXNUcmFpbGluZ1doaXRlc3BhY2UodCl7cmV0dXJuIHB0KHRoaXMsUmUpLmhhcyhfKCExLHQsLTEpKX10cmltU3RhcnQodCl7bGV0IHI9dGhpcy5nZXRMZWFkaW5nV2hpdGVzcGFjZUNvdW50KHQpO3JldHVybiB0LnNsaWNlKHIpfXRyaW1FbmQodCl7bGV0IHI9dGhpcy5nZXRUcmFpbGluZ1doaXRlc3BhY2VDb3VudCh0KTtyZXR1cm4gdC5zbGljZSgwLHQubGVuZ3RoLXIpfXRyaW0odCl7cmV0dXJuIHRoaXMudHJpbUVuZCh0aGlzLnRyaW1TdGFydCh0KSl9c3BsaXQodCxyPSExKXtsZXQgbj1gWyR7Y3MoWy4uLnB0KHRoaXMsUmUpXS5qb2luKFwiXCIpKX1dK2Ascz1uZXcgUmVnRXhwKHI/YCgke259KWA6bixcInVcIik7cmV0dXJuIHQuc3BsaXQocyl9aGFzV2hpdGVzcGFjZUNoYXJhY3Rlcih0KXtsZXQgcj1wdCh0aGlzLFJlKTtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbCh0LG49PnIuaGFzKG4pKX1oYXNOb25XaGl0ZXNwYWNlQ2hhcmFjdGVyKHQpe2xldCByPXB0KHRoaXMsUmUpO3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKHQsbj0+IXIuaGFzKG4pKX1pc1doaXRlc3BhY2VPbmx5KHQpe2xldCByPXB0KHRoaXMsUmUpO3JldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbCh0LG49PnIuaGFzKG4pKX19O1JlPW5ldyBXZWFrTWFwO3ZhciBEaT1sczt2YXIgWXI9bmV3IERpKGAgXG5cXHJcdGApLG1zPWU9PmU9PT1cIlwifHxlPT09eHx8ZT09PUZ8fGU9PT1FO2Z1bmN0aW9uIERjKGUsdCxyKXt2YXIgTSxSLGosSSxVO2xldHtub2RlOm59PWU7aWYobi50eXBlPT09XCJKU1hFbGVtZW50XCImJlBjKG4pKXJldHVybltyKFwib3BlbmluZ0VsZW1lbnRcIikscihcImNsb3NpbmdFbGVtZW50XCIpXTtsZXQgcz1uLnR5cGU9PT1cIkpTWEVsZW1lbnRcIj9yKFwib3BlbmluZ0VsZW1lbnRcIik6cihcIm9wZW5pbmdGcmFnbWVudFwiKSx1PW4udHlwZT09PVwiSlNYRWxlbWVudFwiP3IoXCJjbG9zaW5nRWxlbWVudFwiKTpyKFwiY2xvc2luZ0ZyYWdtZW50XCIpO2lmKG4uY2hpbGRyZW4ubGVuZ3RoPT09MSYmbi5jaGlsZHJlblswXS50eXBlPT09XCJKU1hFeHByZXNzaW9uQ29udGFpbmVyXCImJihuLmNoaWxkcmVuWzBdLmV4cHJlc3Npb24udHlwZT09PVwiVGVtcGxhdGVMaXRlcmFsXCJ8fG4uY2hpbGRyZW5bMF0uZXhwcmVzc2lvbi50eXBlPT09XCJUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb25cIikpcmV0dXJuW3MsLi4uZS5tYXAocixcImNoaWxkcmVuXCIpLHVdO24uY2hpbGRyZW49bi5jaGlsZHJlbi5tYXAoUD0+a2MoUCk/e3R5cGU6XCJKU1hUZXh0XCIsdmFsdWU6XCIgXCIscmF3OlwiIFwifTpQKTtsZXQgaT1uLmNoaWxkcmVuLnNvbWUoSCksYT1uLmNoaWxkcmVuLmZpbHRlcihQPT5QLnR5cGU9PT1cIkpTWEV4cHJlc3Npb25Db250YWluZXJcIikubGVuZ3RoPjEscD1uLnR5cGU9PT1cIkpTWEVsZW1lbnRcIiYmbi5vcGVuaW5nRWxlbWVudC5hdHRyaWJ1dGVzLmxlbmd0aD4xLG89cmUocyl8fGl8fHB8fGEsbT1lLnBhcmVudC5yb290TWFya2VyPT09XCJtZHhcIix5PXQuc2luZ2xlUXVvdGU/XCJ7JyAnfVwiOid7XCIgXCJ9JyxEPW0/XCIgXCI6QihbeSxFXSxcIiBcIiksQz0oKFI9KE09bi5vcGVuaW5nRWxlbWVudCk9PW51bGw/dm9pZCAwOk0ubmFtZSk9PW51bGw/dm9pZCAwOlIubmFtZSk9PT1cImZidFwiLGM9ZmMoZSx0LHIsRCxDKSxBPW4uY2hpbGRyZW4uc29tZShQPT5jcihQKSk7Zm9yKGxldCBQPWMubGVuZ3RoLTI7UD49MDtQLS0pe2xldCBHPWNbUF09PT1cIlwiJiZjW1ArMV09PT1cIlwiLHVlPWNbUF09PT1GJiZjW1ArMV09PT1cIlwiJiZjW1ArMl09PT1GLFE9KGNbUF09PT1FfHxjW1BdPT09RikmJmNbUCsxXT09PVwiXCImJmNbUCsyXT09PUQsZ3Q9Y1tQXT09PUQmJmNbUCsxXT09PVwiXCImJihjW1ArMl09PT1FfHxjW1ArMl09PT1GKSxGdD1jW1BdPT09RCYmY1tQKzFdPT09XCJcIiYmY1tQKzJdPT09RCx3PWNbUF09PT1FJiZjW1ArMV09PT1cIlwiJiZjW1ArMl09PT1GfHxjW1BdPT09RiYmY1tQKzFdPT09XCJcIiYmY1tQKzJdPT09RTt1ZSYmQXx8R3x8UXx8RnR8fHc/Yy5zcGxpY2UoUCwyKTpndCYmYy5zcGxpY2UoUCsxLDIpfWZvcig7Yy5sZW5ndGg+MCYmbXMoXyghMSxjLC0xKSk7KWMucG9wKCk7Zm9yKDtjLmxlbmd0aD4xJiZtcyhjWzBdKSYmbXMoY1sxXSk7KWMuc2hpZnQoKSxjLnNoaWZ0KCk7bGV0IFQ9W107Zm9yKGxldFtQLEddb2YgYy5lbnRyaWVzKCkpe2lmKEc9PT1EKXtpZihQPT09MSYmY1tQLTFdPT09XCJcIil7aWYoYy5sZW5ndGg9PT0yKXtULnB1c2goeSk7Y29udGludWV9VC5wdXNoKFt5LEZdKTtjb250aW51ZX1lbHNlIGlmKFA9PT1jLmxlbmd0aC0xKXtULnB1c2goeSk7Y29udGludWV9ZWxzZSBpZihjW1AtMV09PT1cIlwiJiZjW1AtMl09PT1GKXtULnB1c2goeSk7Y29udGludWV9fVQucHVzaChHKSxyZShHKSYmKG89ITApfWxldCBTPUE/UnIoVCk6bChULHtzaG91bGRCcmVhazohMH0pO2lmKCgoaj10LmN1cnNvck5vZGUpPT1udWxsP3ZvaWQgMDpqLnR5cGUpPT09XCJKU1hUZXh0XCImJm4uY2hpbGRyZW4uaW5jbHVkZXModC5jdXJzb3JOb2RlKT9TPVtpcixTLGlyXTooKEk9dC5ub2RlQmVmb3JlQ3Vyc29yKT09bnVsbD92b2lkIDA6SS50eXBlKT09PVwiSlNYVGV4dFwiJiZuLmNoaWxkcmVuLmluY2x1ZGVzKHQubm9kZUJlZm9yZUN1cnNvcik/Uz1baXIsU106KChVPXQubm9kZUFmdGVyQ3Vyc29yKT09bnVsbD92b2lkIDA6VS50eXBlKT09PVwiSlNYVGV4dFwiJiZuLmNoaWxkcmVuLmluY2x1ZGVzKHQubm9kZUFmdGVyQ3Vyc29yKSYmKFM9W1MsaXJdKSxtKXJldHVybiBTO2xldCBnPWwoW3MsZihbRixTXSksRix1XSk7cmV0dXJuIG8/ZzpLZShbbChbcywuLi5jLHVdKSxnXSl9ZnVuY3Rpb24gZmMoZSx0LHIsbixzKXtsZXQgdT1bXTtyZXR1cm4gZS5lYWNoKCh7bm9kZTppLG5leHQ6YX0pPT57aWYoaS50eXBlPT09XCJKU1hUZXh0XCIpe2xldCBwPWZlKGkpO2lmKGNyKGkpKXtsZXQgbz1Zci5zcGxpdChwLCEwKTtvWzBdPT09XCJcIiYmKHUucHVzaChcIlwiKSxvLnNoaWZ0KCksL1xcbi91LnRlc3Qob1swXSk/dS5wdXNoKEVpKHMsb1sxXSxpLGEpKTp1LnB1c2gobiksby5zaGlmdCgpKTtsZXQgbTtpZihfKCExLG8sLTEpPT09XCJcIiYmKG8ucG9wKCksbT1vLnBvcCgpKSxvLmxlbmd0aD09PTApcmV0dXJuO2ZvcihsZXRbeSxEXW9mIG8uZW50cmllcygpKXklMj09PTE/dS5wdXNoKHgpOnUucHVzaChEKTttIT09dm9pZCAwPy9cXG4vdS50ZXN0KG0pP3UucHVzaChFaShzLF8oITEsdSwtMSksaSxhKSk6dS5wdXNoKG4pOnUucHVzaChmaShzLF8oITEsdSwtMSksaSxhKSl9ZWxzZS9cXG4vdS50ZXN0KHApP3AubWF0Y2goL1xcbi9ndSkubGVuZ3RoPjEmJnUucHVzaChcIlwiLEYpOnUucHVzaChcIlwiLG4pfWVsc2V7bGV0IHA9cigpO2lmKHUucHVzaChwKSxhJiZjcihhKSl7bGV0IG09WXIudHJpbShmZShhKSksW3ldPVlyLnNwbGl0KG0pO3UucHVzaChmaShzLHksaSxhKSl9ZWxzZSB1LnB1c2goRil9fSxcImNoaWxkcmVuXCIpLHV9ZnVuY3Rpb24gZmkoZSx0LHIsbil7cmV0dXJuIGU/XCJcIjpyLnR5cGU9PT1cIkpTWEVsZW1lbnRcIiYmIXIuY2xvc2luZ0VsZW1lbnR8fChuPT1udWxsP3ZvaWQgMDpuLnR5cGUpPT09XCJKU1hFbGVtZW50XCImJiFuLmNsb3NpbmdFbGVtZW50P3QubGVuZ3RoPT09MT9FOkY6RX1mdW5jdGlvbiBFaShlLHQscixuKXtyZXR1cm4gZT9GOnQubGVuZ3RoPT09MT9yLnR5cGU9PT1cIkpTWEVsZW1lbnRcIiYmIXIuY2xvc2luZ0VsZW1lbnR8fChuPT1udWxsP3ZvaWQgMDpuLnR5cGUpPT09XCJKU1hFbGVtZW50XCImJiFuLmNsb3NpbmdFbGVtZW50P0Y6RTpGfXZhciBFYz1uZXcgU2V0KFtcIkFycmF5RXhwcmVzc2lvblwiLFwiVHVwbGVFeHByZXNzaW9uXCIsXCJKU1hBdHRyaWJ1dGVcIixcIkpTWEVsZW1lbnRcIixcIkpTWEV4cHJlc3Npb25Db250YWluZXJcIixcIkpTWEZyYWdtZW50XCIsXCJFeHByZXNzaW9uU3RhdGVtZW50XCIsXCJDYWxsRXhwcmVzc2lvblwiLFwiT3B0aW9uYWxDYWxsRXhwcmVzc2lvblwiLFwiQ29uZGl0aW9uYWxFeHByZXNzaW9uXCIsXCJKc0V4cHJlc3Npb25Sb290XCJdKTtmdW5jdGlvbiBGYyhlLHQscil7bGV0e3BhcmVudDpufT1lO2lmKEVjLmhhcyhuLnR5cGUpKXJldHVybiB0O2xldCBzPWUubWF0Y2godm9pZCAwLGk9PmkudHlwZT09PVwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIixMLGk9PmkudHlwZT09PVwiSlNYRXhwcmVzc2lvbkNvbnRhaW5lclwiKSx1PUJlKGUscik7cmV0dXJuIGwoW3U/XCJcIjpCKFwiKFwiKSxmKFtFLHRdKSxFLHU/XCJcIjpCKFwiKVwiKV0se3Nob3VsZEJyZWFrOnN9KX1mdW5jdGlvbiBDYyhlLHQscil7bGV0e25vZGU6bn09ZSxzPVtdO2lmKHMucHVzaChyKFwibmFtZVwiKSksbi52YWx1ZSl7bGV0IHU7aWYodGUobi52YWx1ZSkpe2xldCBpPWZlKG4udmFsdWUpLGE9WSghMSxZKCExLGkuc2xpY2UoMSwtMSksXCImYXBvcztcIixcIidcIiksXCImcXVvdDtcIiwnXCInKSxwPXhyKGEsdC5qc3hTaW5nbGVRdW90ZSk7YT1wPT09J1wiJz9ZKCExLGEsJ1wiJyxcIiZxdW90O1wiKTpZKCExLGEsXCInXCIsXCImYXBvcztcIiksdT1lLmNhbGwoKCk9PnllKGUsSWUocCthK3ApLHQpLFwidmFsdWVcIil9ZWxzZSB1PXIoXCJ2YWx1ZVwiKTtzLnB1c2goXCI9XCIsdSl9cmV0dXJuIHN9ZnVuY3Rpb24gQWMoZSx0LHIpe2xldHtub2RlOm59PWUscz0odSxpKT0+dS50eXBlPT09XCJKU1hFbXB0eUV4cHJlc3Npb25cInx8IWQodSkmJihYKHUpfHxzZSh1KXx8dS50eXBlPT09XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwifHx1LnR5cGU9PT1cIkF3YWl0RXhwcmVzc2lvblwiJiYocyh1LmFyZ3VtZW50LHUpfHx1LmFyZ3VtZW50LnR5cGU9PT1cIkpTWEVsZW1lbnRcIil8fEwodSl8fHUudHlwZT09PVwiQ2hhaW5FeHByZXNzaW9uXCImJkwodS5leHByZXNzaW9uKXx8dS50eXBlPT09XCJGdW5jdGlvbkV4cHJlc3Npb25cInx8dS50eXBlPT09XCJUZW1wbGF0ZUxpdGVyYWxcInx8dS50eXBlPT09XCJUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb25cInx8dS50eXBlPT09XCJEb0V4cHJlc3Npb25cInx8SChpKSYmKHUudHlwZT09PVwiQ29uZGl0aW9uYWxFeHByZXNzaW9uXCJ8fERlKHUpKSk7cmV0dXJuIHMobi5leHByZXNzaW9uLGUucGFyZW50KT9sKFtcIntcIixyKFwiZXhwcmVzc2lvblwiKSxrZSxcIn1cIl0pOmwoW1wie1wiLGYoW0UscihcImV4cHJlc3Npb25cIildKSxFLGtlLFwifVwiXSl9ZnVuY3Rpb24gVGMoZSx0LHIpe3ZhciBhLHA7bGV0e25vZGU6bn09ZSxzPWQobi5uYW1lKXx8ZChuLnR5cGVQYXJhbWV0ZXJzKXx8ZChuLnR5cGVBcmd1bWVudHMpO2lmKG4uc2VsZkNsb3NpbmcmJm4uYXR0cmlidXRlcy5sZW5ndGg9PT0wJiYhcylyZXR1cm5bXCI8XCIscihcIm5hbWVcIiksbi50eXBlQXJndW1lbnRzP3IoXCJ0eXBlQXJndW1lbnRzXCIpOnIoXCJ0eXBlUGFyYW1ldGVyc1wiKSxcIiAvPlwiXTtpZigoKGE9bi5hdHRyaWJ1dGVzKT09bnVsbD92b2lkIDA6YS5sZW5ndGgpPT09MSYmdGUobi5hdHRyaWJ1dGVzWzBdLnZhbHVlKSYmIW4uYXR0cmlidXRlc1swXS52YWx1ZS52YWx1ZS5pbmNsdWRlcyhgXG5gKSYmIXMmJiFkKG4uYXR0cmlidXRlc1swXSkpcmV0dXJuIGwoW1wiPFwiLHIoXCJuYW1lXCIpLG4udHlwZUFyZ3VtZW50cz9yKFwidHlwZUFyZ3VtZW50c1wiKTpyKFwidHlwZVBhcmFtZXRlcnNcIiksXCIgXCIsLi4uZS5tYXAocixcImF0dHJpYnV0ZXNcIiksbi5zZWxmQ2xvc2luZz9cIiAvPlwiOlwiPlwiXSk7bGV0IHU9KHA9bi5hdHRyaWJ1dGVzKT09bnVsbD92b2lkIDA6cC5zb21lKG89PnRlKG8udmFsdWUpJiZvLnZhbHVlLnZhbHVlLmluY2x1ZGVzKGBcbmApKSxpPXQuc2luZ2xlQXR0cmlidXRlUGVyTGluZSYmbi5hdHRyaWJ1dGVzLmxlbmd0aD4xP0Y6eDtyZXR1cm4gbChbXCI8XCIscihcIm5hbWVcIiksbi50eXBlQXJndW1lbnRzP3IoXCJ0eXBlQXJndW1lbnRzXCIpOnIoXCJ0eXBlUGFyYW1ldGVyc1wiKSxmKGUubWFwKCgpPT5baSxyKCldLFwiYXR0cmlidXRlc1wiKSksLi4uZGMobix0LHMpXSx7c2hvdWxkQnJlYWs6dX0pfWZ1bmN0aW9uIGRjKGUsdCxyKXtyZXR1cm4gZS5zZWxmQ2xvc2luZz9beCxcIi8+XCJdOnhjKGUsdCxyKT9bXCI+XCJdOltFLFwiPlwiXX1mdW5jdGlvbiB4YyhlLHQscil7bGV0IG49ZS5hdHRyaWJ1dGVzLmxlbmd0aD4wJiZkKF8oITEsZS5hdHRyaWJ1dGVzLC0xKSxoLlRyYWlsaW5nKTtyZXR1cm4gZS5hdHRyaWJ1dGVzLmxlbmd0aD09PTAmJiFyfHwodC5icmFja2V0U2FtZUxpbmV8fHQuanN4QnJhY2tldFNhbWVMaW5lKSYmKCFyfHxlLmF0dHJpYnV0ZXMubGVuZ3RoPjApJiYhbn1mdW5jdGlvbiBoYyhlLHQscil7bGV0e25vZGU6bn09ZSxzPVtdO3MucHVzaChcIjwvXCIpO2xldCB1PXIoXCJuYW1lXCIpO3JldHVybiBkKG4ubmFtZSxoLkxlYWRpbmd8aC5MaW5lKT9zLnB1c2goZihbRix1XSksRik6ZChuLm5hbWUsaC5MZWFkaW5nfGguQmxvY2spP3MucHVzaChcIiBcIix1KTpzLnB1c2godSkscy5wdXNoKFwiPlwiKSxzfWZ1bmN0aW9uIGdjKGUsdCl7bGV0e25vZGU6cn09ZSxuPWQocikscz1kKHIsaC5MaW5lKSx1PXIudHlwZT09PVwiSlNYT3BlbmluZ0ZyYWdtZW50XCI7cmV0dXJuW3U/XCI8XCI6XCI8L1wiLGYoW3M/RjpuJiYhdT9cIiBcIjpcIlwiLEooZSx0KV0pLHM/RjpcIlwiLFwiPlwiXX1mdW5jdGlvbiBTYyhlLHQscil7bGV0IG49eWUoZSxEYyhlLHQsciksdCk7cmV0dXJuIEZjKGUsbix0KX1mdW5jdGlvbiBCYyhlLHQpe2xldHtub2RlOnJ9PWUsbj1kKHIsaC5MaW5lKTtyZXR1cm5bSihlLHQse2luZGVudDpufSksbj9GOlwiXCJdfWZ1bmN0aW9uIGJjKGUsdCxyKXtsZXR7bm9kZTpufT1lO3JldHVybltcIntcIixlLmNhbGwoKHtub2RlOnN9KT0+e2xldCB1PVtcIi4uLlwiLHIoKV07cmV0dXJuIWQocyl8fCFLbihlKT91OltmKFtFLHllKGUsdSx0KV0pLEVdfSxuLnR5cGU9PT1cIkpTWFNwcmVhZEF0dHJpYnV0ZVwiP1wiYXJndW1lbnRcIjpcImV4cHJlc3Npb25cIiksXCJ9XCJdfWZ1bmN0aW9uIEZpKGUsdCxyKXtsZXR7bm9kZTpufT1lO2lmKG4udHlwZS5zdGFydHNXaXRoKFwiSlNYXCIpKXN3aXRjaChuLnR5cGUpe2Nhc2VcIkpTWEF0dHJpYnV0ZVwiOnJldHVybiBDYyhlLHQscik7Y2FzZVwiSlNYSWRlbnRpZmllclwiOnJldHVybiBuLm5hbWU7Y2FzZVwiSlNYTmFtZXNwYWNlZE5hbWVcIjpyZXR1cm4gYihcIjpcIixbcihcIm5hbWVzcGFjZVwiKSxyKFwibmFtZVwiKV0pO2Nhc2VcIkpTWE1lbWJlckV4cHJlc3Npb25cIjpyZXR1cm4gYihcIi5cIixbcihcIm9iamVjdFwiKSxyKFwicHJvcGVydHlcIildKTtjYXNlXCJKU1hTcHJlYWRBdHRyaWJ1dGVcIjpjYXNlXCJKU1hTcHJlYWRDaGlsZFwiOnJldHVybiBiYyhlLHQscik7Y2FzZVwiSlNYRXhwcmVzc2lvbkNvbnRhaW5lclwiOnJldHVybiBBYyhlLHQscik7Y2FzZVwiSlNYRnJhZ21lbnRcIjpjYXNlXCJKU1hFbGVtZW50XCI6cmV0dXJuIFNjKGUsdCxyKTtjYXNlXCJKU1hPcGVuaW5nRWxlbWVudFwiOnJldHVybiBUYyhlLHQscik7Y2FzZVwiSlNYQ2xvc2luZ0VsZW1lbnRcIjpyZXR1cm4gaGMoZSx0LHIpO2Nhc2VcIkpTWE9wZW5pbmdGcmFnbWVudFwiOmNhc2VcIkpTWENsb3NpbmdGcmFnbWVudFwiOnJldHVybiBnYyhlLHQpO2Nhc2VcIkpTWEVtcHR5RXhwcmVzc2lvblwiOnJldHVybiBCYyhlLHQpO2Nhc2VcIkpTWFRleHRcIjp0aHJvdyBuZXcgRXJyb3IoXCJKU1hUZXh0IHNob3VsZCBiZSBoYW5kbGVkIGJ5IEpTWEVsZW1lbnRcIik7ZGVmYXVsdDp0aHJvdyBuZXcgTWUobixcIkpTWFwiKX19ZnVuY3Rpb24gUGMoZSl7aWYoZS5jaGlsZHJlbi5sZW5ndGg9PT0wKXJldHVybiEwO2lmKGUuY2hpbGRyZW4ubGVuZ3RoPjEpcmV0dXJuITE7bGV0IHQ9ZS5jaGlsZHJlblswXTtyZXR1cm4gdC50eXBlPT09XCJKU1hUZXh0XCImJiFjcih0KX1mdW5jdGlvbiBjcihlKXtyZXR1cm4gZS50eXBlPT09XCJKU1hUZXh0XCImJihZci5oYXNOb25XaGl0ZXNwYWNlQ2hhcmFjdGVyKGZlKGUpKXx8IS9cXG4vdS50ZXN0KGZlKGUpKSl9ZnVuY3Rpb24ga2MoZSl7cmV0dXJuIGUudHlwZT09PVwiSlNYRXhwcmVzc2lvbkNvbnRhaW5lclwiJiZ0ZShlLmV4cHJlc3Npb24pJiZlLmV4cHJlc3Npb24udmFsdWU9PT1cIiBcIiYmIWQoZS5leHByZXNzaW9uKX1mdW5jdGlvbiBDaShlKXtsZXR7bm9kZTp0LHBhcmVudDpyfT1lO2lmKCFIKHQpfHwhSChyKSlyZXR1cm4hMTtsZXR7aW5kZXg6bixzaWJsaW5nczpzfT1lLHU7Zm9yKGxldCBpPW47aT4wO2ktLSl7bGV0IGE9c1tpLTFdO2lmKCEoYS50eXBlPT09XCJKU1hUZXh0XCImJiFjcihhKSkpe3U9YTticmVha319cmV0dXJuKHU9PW51bGw/dm9pZCAwOnUudHlwZSk9PT1cIkpTWEV4cHJlc3Npb25Db250YWluZXJcIiYmdS5leHByZXNzaW9uLnR5cGU9PT1cIkpTWEVtcHR5RXhwcmVzc2lvblwiJiZrdCh1LmV4cHJlc3Npb24pfWZ1bmN0aW9uIEljKGUpe3JldHVybiBrdChlLm5vZGUpfHxDaShlKX12YXIgSHI9SWM7dmFyIExjPTA7ZnVuY3Rpb24gTnIoZSx0LHIpe3ZhciBSO2xldHtub2RlOm4scGFyZW50OnMsZ3JhbmRwYXJlbnQ6dSxrZXk6aX09ZSxhPWkhPT1cImJvZHlcIiYmKHMudHlwZT09PVwiSWZTdGF0ZW1lbnRcInx8cy50eXBlPT09XCJXaGlsZVN0YXRlbWVudFwifHxzLnR5cGU9PT1cIlN3aXRjaFN0YXRlbWVudFwifHxzLnR5cGU9PT1cIkRvV2hpbGVTdGF0ZW1lbnRcIikscD1uLm9wZXJhdG9yPT09XCJ8PlwiJiYoKFI9ZS5yb290LmV4dHJhKT09bnVsbD92b2lkIDA6Ui5fX2lzVXNpbmdIYWNrUGlwZWxpbmUpLG89eXMoZSxyLHQsITEsYSk7aWYoYSlyZXR1cm4gbztpZihwKXJldHVybiBsKG8pO2lmKEwocykmJnMuY2FsbGVlPT09bnx8cy50eXBlPT09XCJVbmFyeUV4cHJlc3Npb25cInx8VyhzKSYmIXMuY29tcHV0ZWQpcmV0dXJuIGwoW2YoW0UsLi4ub10pLEVdKTtsZXQgbT1zLnR5cGU9PT1cIlJldHVyblN0YXRlbWVudFwifHxzLnR5cGU9PT1cIlRocm93U3RhdGVtZW50XCJ8fHMudHlwZT09PVwiSlNYRXhwcmVzc2lvbkNvbnRhaW5lclwiJiZ1LnR5cGU9PT1cIkpTWEF0dHJpYnV0ZVwifHxuLm9wZXJhdG9yIT09XCJ8XCImJnMudHlwZT09PVwiSnNFeHByZXNzaW9uUm9vdFwifHxuLnR5cGUhPT1cIk5HUGlwZUV4cHJlc3Npb25cIiYmKHMudHlwZT09PVwiTkdSb290XCImJnQucGFyc2VyPT09XCJfX25nX2JpbmRpbmdcInx8cy50eXBlPT09XCJOR01pY3Jvc3ludGF4RXhwcmVzc2lvblwiJiZ1LnR5cGU9PT1cIk5HTWljcm9zeW50YXhcIiYmdS5ib2R5Lmxlbmd0aD09PTEpfHxuPT09cy5ib2R5JiZzLnR5cGU9PT1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCJ8fG4hPT1zLmJvZHkmJnMudHlwZT09PVwiRm9yU3RhdGVtZW50XCJ8fHMudHlwZT09PVwiQ29uZGl0aW9uYWxFeHByZXNzaW9uXCImJnUudHlwZSE9PVwiUmV0dXJuU3RhdGVtZW50XCImJnUudHlwZSE9PVwiVGhyb3dTdGF0ZW1lbnRcIiYmIUwodSl8fHMudHlwZT09PVwiVGVtcGxhdGVMaXRlcmFsXCIseT1zLnR5cGU9PT1cIkFzc2lnbm1lbnRFeHByZXNzaW9uXCJ8fHMudHlwZT09PVwiVmFyaWFibGVEZWNsYXJhdG9yXCJ8fHMudHlwZT09PVwiQ2xhc3NQcm9wZXJ0eVwifHxzLnR5cGU9PT1cIlByb3BlcnR5RGVmaW5pdGlvblwifHxzLnR5cGU9PT1cIlRTQWJzdHJhY3RQcm9wZXJ0eURlZmluaXRpb25cInx8cy50eXBlPT09XCJDbGFzc1ByaXZhdGVQcm9wZXJ0eVwifHxDZShzKSxEPURlKG4ubGVmdCkmJnNyKG4ub3BlcmF0b3Isbi5sZWZ0Lm9wZXJhdG9yKTtpZihtfHxZdChuKSYmIUR8fCFZdChuKSYmeSlyZXR1cm4gbChvKTtpZihvLmxlbmd0aD09PTApcmV0dXJuXCJcIjtsZXQgQz1IKG4ucmlnaHQpLGM9by5maW5kSW5kZXgoaj0+dHlwZW9mIGohPVwic3RyaW5nXCImJiFBcnJheS5pc0FycmF5KGopJiZqLnR5cGU9PT1sZSksQT1vLnNsaWNlKDAsYz09PS0xPzE6YysxKSxUPW8uc2xpY2UoQS5sZW5ndGgsQz8tMTp2b2lkIDApLFM9U3ltYm9sKFwibG9naWNhbENoYWluLVwiKyArK0xjKSxnPWwoWy4uLkEsZihUKV0se2lkOlN9KTtpZighQylyZXR1cm4gZztsZXQgTT1fKCExLG8sLTEpO3JldHVybiBsKFtnLGR0KE0se2dyb3VwSWQ6U30pXSl9ZnVuY3Rpb24geXMoZSx0LHIsbixzKXt2YXIgQTtsZXR7bm9kZTp1fT1lO2lmKCFEZSh1KSlyZXR1cm5bbCh0KCkpXTtsZXQgaT1bXTtzcih1Lm9wZXJhdG9yLHUubGVmdC5vcGVyYXRvcik/aT1lLmNhbGwoVD0+eXMoVCx0LHIsITAscyksXCJsZWZ0XCIpOmkucHVzaChsKHQoXCJsZWZ0XCIpKSk7bGV0IGE9WXQodSkscD0odS5vcGVyYXRvcj09PVwifD5cInx8dS50eXBlPT09XCJOR1BpcGVFeHByZXNzaW9uXCJ8fHdjKGUscikpJiYhT2Uoci5vcmlnaW5hbFRleHQsdS5yaWdodCksbz11LnR5cGU9PT1cIk5HUGlwZUV4cHJlc3Npb25cIj9cInxcIjp1Lm9wZXJhdG9yLG09dS50eXBlPT09XCJOR1BpcGVFeHByZXNzaW9uXCImJnUuYXJndW1lbnRzLmxlbmd0aD4wP2woZihbRSxcIjogXCIsYihbeCxcIjogXCJdLGUubWFwKCgpPT5oZSgyLGwodCgpKSksXCJhcmd1bWVudHNcIikpXSkpOlwiXCIseTtpZihhKXk9W28sXCIgXCIsdChcInJpZ2h0XCIpLG1dO2Vsc2V7bGV0IFM9bz09PVwifD5cIiYmKChBPWUucm9vdC5leHRyYSk9PW51bGw/dm9pZCAwOkEuX19pc1VzaW5nSGFja1BpcGVsaW5lKT9lLmNhbGwoZz0+eXMoZyx0LHIsITAscyksXCJyaWdodFwiKTp0KFwicmlnaHRcIik7eT1bcD94OlwiXCIsbyxwP1wiIFwiOngsUyxtXX1sZXR7cGFyZW50OkR9PWUsQz1kKHUubGVmdCxoLlRyYWlsaW5nfGguTGluZSksYz1DfHwhKHMmJnUudHlwZT09PVwiTG9naWNhbEV4cHJlc3Npb25cIikmJkQudHlwZSE9PXUudHlwZSYmdS5sZWZ0LnR5cGUhPT11LnR5cGUmJnUucmlnaHQudHlwZSE9PXUudHlwZTtpZihpLnB1c2gocD9cIlwiOlwiIFwiLGM/bCh5LHtzaG91bGRCcmVhazpDfSk6eSksbiYmZCh1KSl7bGV0IFQ9R3QoeWUoZSxpLHIpKTtyZXR1cm4gVC50eXBlPT09UGU/VC5wYXJ0czpBcnJheS5pc0FycmF5KFQpP1Q6W1RdfXJldHVybiBpfWZ1bmN0aW9uIFl0KGUpe3JldHVybiBlLnR5cGUhPT1cIkxvZ2ljYWxFeHByZXNzaW9uXCI/ITE6ISEoc2UoZS5yaWdodCkmJmUucmlnaHQucHJvcGVydGllcy5sZW5ndGg+MHx8WChlLnJpZ2h0KSYmZS5yaWdodC5lbGVtZW50cy5sZW5ndGg+MHx8SChlLnJpZ2h0KSl9dmFyIEFpPWU9PmUudHlwZT09PVwiQmluYXJ5RXhwcmVzc2lvblwiJiZlLm9wZXJhdG9yPT09XCJ8XCI7ZnVuY3Rpb24gd2MoZSx0KXtyZXR1cm4odC5wYXJzZXI9PT1cIl9fdnVlX2V4cHJlc3Npb25cInx8dC5wYXJzZXI9PT1cIl9fdnVlX3RzX2V4cHJlc3Npb25cIikmJkFpKGUubm9kZSkmJiFlLmhhc0FuY2VzdG9yKHI9PiFBaShyKSYmci50eXBlIT09XCJKc0V4cHJlc3Npb25Sb290XCIpfWZ1bmN0aW9uIGRpKGUsdCxyKXtsZXR7bm9kZTpufT1lO2lmKG4udHlwZS5zdGFydHNXaXRoKFwiTkdcIikpc3dpdGNoKG4udHlwZSl7Y2FzZVwiTkdSb290XCI6cmV0dXJuW3IoXCJub2RlXCIpLGQobi5ub2RlKT9cIiAvL1wiK2N0KG4ubm9kZSlbMF0udmFsdWUudHJpbUVuZCgpOlwiXCJdO2Nhc2VcIk5HUGlwZUV4cHJlc3Npb25cIjpyZXR1cm4gTnIoZSx0LHIpO2Nhc2VcIk5HQ2hhaW5lZEV4cHJlc3Npb25cIjpyZXR1cm4gbChiKFtcIjtcIix4XSxlLm1hcCgoKT0+X2MoZSk/cigpOltcIihcIixyKCksXCIpXCJdLFwiZXhwcmVzc2lvbnNcIikpKTtjYXNlXCJOR0VtcHR5RXhwcmVzc2lvblwiOnJldHVyblwiXCI7Y2FzZVwiTkdNaWNyb3N5bnRheFwiOnJldHVybiBlLm1hcCgoKT0+W2UuaXNGaXJzdD9cIlwiOlRpKGUpP1wiIFwiOltcIjtcIix4XSxyKCldLFwiYm9keVwiKTtjYXNlXCJOR01pY3Jvc3ludGF4S2V5XCI6cmV0dXJuL15bJF9hLXpdW1xcdyRdKig/Oi1bJF9hLXpdW1xcdyRdKSokL2l1LnRlc3Qobi5uYW1lKT9uLm5hbWU6SlNPTi5zdHJpbmdpZnkobi5uYW1lKTtjYXNlXCJOR01pY3Jvc3ludGF4RXhwcmVzc2lvblwiOnJldHVybltyKFwiZXhwcmVzc2lvblwiKSxuLmFsaWFzPT09bnVsbD9cIlwiOltcIiBhcyBcIixyKFwiYWxpYXNcIildXTtjYXNlXCJOR01pY3Jvc3ludGF4S2V5ZWRFeHByZXNzaW9uXCI6e2xldHtpbmRleDpzLHBhcmVudDp1fT1lLGk9VGkoZSl8fChzPT09MSYmKG4ua2V5Lm5hbWU9PT1cInRoZW5cInx8bi5rZXkubmFtZT09PVwiZWxzZVwifHxuLmtleS5uYW1lPT09XCJhc1wiKXx8KHM9PT0yfHxzPT09MykmJihuLmtleS5uYW1lPT09XCJlbHNlXCImJnUuYm9keVtzLTFdLnR5cGU9PT1cIk5HTWljcm9zeW50YXhLZXllZEV4cHJlc3Npb25cIiYmdS5ib2R5W3MtMV0ua2V5Lm5hbWU9PT1cInRoZW5cInx8bi5rZXkubmFtZT09PVwidHJhY2tcIikpJiZ1LmJvZHlbMF0udHlwZT09PVwiTkdNaWNyb3N5bnRheEV4cHJlc3Npb25cIjtyZXR1cm5bcihcImtleVwiKSxpP1wiIFwiOlwiOiBcIixyKFwiZXhwcmVzc2lvblwiKV19Y2FzZVwiTkdNaWNyb3N5bnRheExldFwiOnJldHVybltcImxldCBcIixyKFwia2V5XCIpLG4udmFsdWU9PT1udWxsP1wiXCI6W1wiID0gXCIscihcInZhbHVlXCIpXV07Y2FzZVwiTkdNaWNyb3N5bnRheEFzXCI6cmV0dXJuW3IoXCJrZXlcIiksXCIgYXMgXCIscihcImFsaWFzXCIpXTtkZWZhdWx0OnRocm93IG5ldyBNZShuLFwiQW5ndWxhclwiKX19ZnVuY3Rpb24gVGkoe25vZGU6ZSxpbmRleDp0fSl7cmV0dXJuIGUudHlwZT09PVwiTkdNaWNyb3N5bnRheEtleWVkRXhwcmVzc2lvblwiJiZlLmtleS5uYW1lPT09XCJvZlwiJiZ0PT09MX12YXIgT2M9dihbXCJDYWxsRXhwcmVzc2lvblwiLFwiT3B0aW9uYWxDYWxsRXhwcmVzc2lvblwiLFwiQXNzaWdubWVudEV4cHJlc3Npb25cIl0pO2Z1bmN0aW9uIF9jKHtub2RlOmV9KXtyZXR1cm4gcnIoZSxPYyl9ZnVuY3Rpb24gRHMoZSx0LHIpe2xldHtub2RlOm59PWU7cmV0dXJuIGwoW2IoeCxlLm1hcChyLFwiZGVjb3JhdG9yc1wiKSksZ2kobix0KT9GOnhdKX1mdW5jdGlvbiB4aShlLHQscil7cmV0dXJuIFNpKGUubm9kZSk/W2IoRixlLm1hcChyLFwiZGVjbGFyYXRpb25cIixcImRlY29yYXRvcnNcIikpLEZdOlwiXCJ9ZnVuY3Rpb24gaGkoZSx0LHIpe2xldHtub2RlOm4scGFyZW50OnN9PWUse2RlY29yYXRvcnM6dX09bjtpZighTyh1KXx8U2kocyl8fEhyKGUpKXJldHVyblwiXCI7bGV0IGk9bi50eXBlPT09XCJDbGFzc0V4cHJlc3Npb25cInx8bi50eXBlPT09XCJDbGFzc0RlY2xhcmF0aW9uXCJ8fGdpKG4sdCk7cmV0dXJuW2Uua2V5PT09XCJkZWNsYXJhdGlvblwiJiZhdShzKT9GOmk/RWU6XCJcIixiKHgsZS5tYXAocixcImRlY29yYXRvcnNcIikpLHhdfWZ1bmN0aW9uIGdpKGUsdCl7cmV0dXJuIGUuZGVjb3JhdG9ycy5zb21lKHI9PloodC5vcmlnaW5hbFRleHQsayhyKSkpfWZ1bmN0aW9uIFNpKGUpe3ZhciByO2lmKGUudHlwZSE9PVwiRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXCImJmUudHlwZSE9PVwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiJiZlLnR5cGUhPT1cIkRlY2xhcmVFeHBvcnREZWNsYXJhdGlvblwiKXJldHVybiExO2xldCB0PShyPWUuZGVjbGFyYXRpb24pPT1udWxsP3ZvaWQgMDpyLmRlY29yYXRvcnM7cmV0dXJuIE8odCkmJkJ0KGUsdFswXSl9dmFyIHl0PWNsYXNzIGV4dGVuZHMgRXJyb3J7bmFtZT1cIkFyZ0V4cGFuc2lvbkJhaWxvdXRcIn07ZnVuY3Rpb24gamMoZSx0LHIpe2xldHtub2RlOm59PWUscz1vZShuKTtpZihzLmxlbmd0aD09PTApcmV0dXJuW1wiKFwiLEooZSx0KSxcIilcIl07bGV0IHU9cy5sZW5ndGgtMTtpZihSYyhzKSl7bGV0IHk9W1wiKFwiXTtyZXR1cm4gcXQoZSwoRCxDKT0+e3kucHVzaChyKCkpLEMhPT11JiZ5LnB1c2goXCIsIFwiKX0pLHkucHVzaChcIilcIikseX1sZXQgaT0hMSxhPVtdO3F0KGUsKHtub2RlOnl9LEQpPT57bGV0IEM9cigpO0Q9PT11fHwocGUoeSx0KT8oaT0hMCxDPVtDLFwiLFwiLEYsRl0pOkM9W0MsXCIsXCIseF0pLGEucHVzaChDKX0pO2xldCBwPSF0LnBhcnNlci5zdGFydHNXaXRoKFwiX19uZ19cIikmJm4udHlwZSE9PVwiSW1wb3J0RXhwcmVzc2lvblwiJiZhZSh0LFwiYWxsXCIpP1wiLFwiOlwiXCI7ZnVuY3Rpb24gbygpe3JldHVybiBsKFtcIihcIixmKFt4LC4uLmFdKSxwLHgsXCIpXCJdLHtzaG91bGRCcmVhazohMH0pfWlmKGl8fGUucGFyZW50LnR5cGUhPT1cIkRlY29yYXRvclwiJiZtdShzKSlyZXR1cm4gbygpO2lmKE1jKHMpKXtsZXQgeT1hLnNsaWNlKDEpO2lmKHkuc29tZShyZSkpcmV0dXJuIG8oKTtsZXQgRDt0cnl7RD1yKFJuKG4sMCkse2V4cGFuZEZpcnN0QXJnOiEwfSl9Y2F0Y2goQyl7aWYoQyBpbnN0YW5jZW9mIHl0KXJldHVybiBvKCk7dGhyb3cgQ31yZXR1cm4gcmUoRCk/W0VlLEtlKFtbXCIoXCIsbChELHtzaG91bGRCcmVhazohMH0pLFwiLCBcIiwuLi55LFwiKVwiXSxvKCldKV06S2UoW1tcIihcIixELFwiLCBcIiwuLi55LFwiKVwiXSxbXCIoXCIsbChELHtzaG91bGRCcmVhazohMH0pLFwiLCBcIiwuLi55LFwiKVwiXSxvKCldKX1pZih2YyhzLGEsdCkpe2xldCB5PWEuc2xpY2UoMCwtMSk7aWYoeS5zb21lKHJlKSlyZXR1cm4gbygpO2xldCBEO3RyeXtEPXIoUm4obiwtMSkse2V4cGFuZExhc3RBcmc6ITB9KX1jYXRjaChDKXtpZihDIGluc3RhbmNlb2YgeXQpcmV0dXJuIG8oKTt0aHJvdyBDfXJldHVybiByZShEKT9bRWUsS2UoW1tcIihcIiwuLi55LGwoRCx7c2hvdWxkQnJlYWs6ITB9KSxcIilcIl0sbygpXSldOktlKFtbXCIoXCIsLi4ueSxELFwiKVwiXSxbXCIoXCIsLi4ueSxsKEQse3Nob3VsZEJyZWFrOiEwfSksXCIpXCJdLG8oKV0pfWxldCBtPVtcIihcIixmKFtFLC4uLmFdKSxCKHApLEUsXCIpXCJdO3JldHVybiBPcihlKT9tOmwobSx7c2hvdWxkQnJlYWs6YS5zb21lKHJlKXx8aX0pfWZ1bmN0aW9uIGxyKGUsdD0hMSl7cmV0dXJuIHNlKGUpJiYoZS5wcm9wZXJ0aWVzLmxlbmd0aD4wfHxkKGUpKXx8WChlKSYmKGUuZWxlbWVudHMubGVuZ3RoPjB8fGQoZSkpfHxlLnR5cGU9PT1cIlRTVHlwZUFzc2VydGlvblwiJiZscihlLmV4cHJlc3Npb24pfHxBZShlKSYmbHIoZS5leHByZXNzaW9uKXx8ZS50eXBlPT09XCJGdW5jdGlvbkV4cHJlc3Npb25cInx8ZS50eXBlPT09XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiJiYoIWUucmV0dXJuVHlwZXx8IWUucmV0dXJuVHlwZS50eXBlQW5ub3RhdGlvbnx8ZS5yZXR1cm5UeXBlLnR5cGVBbm5vdGF0aW9uLnR5cGUhPT1cIlRTVHlwZVJlZmVyZW5jZVwifHxKYyhlLmJvZHkpKSYmKGUuYm9keS50eXBlPT09XCJCbG9ja1N0YXRlbWVudFwifHxlLmJvZHkudHlwZT09PVwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIiYmbHIoZS5ib2R5LCEwKXx8c2UoZS5ib2R5KXx8WChlLmJvZHkpfHwhdCYmKEwoZS5ib2R5KXx8ZS5ib2R5LnR5cGU9PT1cIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiKXx8SChlLmJvZHkpKXx8ZS50eXBlPT09XCJEb0V4cHJlc3Npb25cInx8ZS50eXBlPT09XCJNb2R1bGVFeHByZXNzaW9uXCJ9ZnVuY3Rpb24gdmMoZSx0LHIpe3ZhciB1LGk7bGV0IG49XyghMSxlLC0xKTtpZihlLmxlbmd0aD09PTEpe2xldCBhPV8oITEsdCwtMSk7aWYoKHU9YS5sYWJlbCkhPW51bGwmJnUuZW1iZWQmJigoaT1hLmxhYmVsKT09bnVsbD92b2lkIDA6aS5odWcpIT09ITEpcmV0dXJuITB9bGV0IHM9XyghMSxlLC0yKTtyZXR1cm4hZChuLGguTGVhZGluZykmJiFkKG4saC5UcmFpbGluZykmJmxyKG4pJiYoIXN8fHMudHlwZSE9PW4udHlwZSkmJihlLmxlbmd0aCE9PTJ8fHMudHlwZSE9PVwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cInx8IVgobikpJiYhKGUubGVuZ3RoPjEmJmZzKG4scikpfWZ1bmN0aW9uIE1jKGUpe2lmKGUubGVuZ3RoIT09MilyZXR1cm4hMTtsZXRbdCxyXT1lO3JldHVybiB0LnR5cGU9PT1cIk1vZHVsZUV4cHJlc3Npb25cIiYmcWMocik/ITA6IWQodCkmJih0LnR5cGU9PT1cIkZ1bmN0aW9uRXhwcmVzc2lvblwifHx0LnR5cGU9PT1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCImJnQuYm9keS50eXBlPT09XCJCbG9ja1N0YXRlbWVudFwiKSYmci50eXBlIT09XCJGdW5jdGlvbkV4cHJlc3Npb25cIiYmci50eXBlIT09XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiJiZyLnR5cGUhPT1cIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiJiZiaShyKSYmIWxyKHIpfWZ1bmN0aW9uIGJpKGUpe2lmKGUudHlwZT09PVwiUGFyZW50aGVzaXplZEV4cHJlc3Npb25cIilyZXR1cm4gYmkoZS5leHByZXNzaW9uKTtpZihBZShlKXx8ZS50eXBlPT09XCJUeXBlQ2FzdEV4cHJlc3Npb25cIil7bGV0e3R5cGVBbm5vdGF0aW9uOnR9PWU7aWYodC50eXBlPT09XCJUeXBlQW5ub3RhdGlvblwiJiYodD10LnR5cGVBbm5vdGF0aW9uKSx0LnR5cGU9PT1cIlRTQXJyYXlUeXBlXCImJih0PXQuZWxlbWVudFR5cGUsdC50eXBlPT09XCJUU0FycmF5VHlwZVwiJiYodD10LmVsZW1lbnRUeXBlKSksdC50eXBlPT09XCJHZW5lcmljVHlwZUFubm90YXRpb25cInx8dC50eXBlPT09XCJUU1R5cGVSZWZlcmVuY2VcIil7bGV0IHI9dC50eXBlQXJndW1lbnRzPz90LnR5cGVQYXJhbWV0ZXJzOyhyPT1udWxsP3ZvaWQgMDpyLnBhcmFtcy5sZW5ndGgpPT09MSYmKHQ9ci5wYXJhbXNbMF0pfXJldHVybiBKdCh0KSYmYmUoZS5leHByZXNzaW9uLDEpfXJldHVybiBsdChlKSYmb2UoZSkubGVuZ3RoPjE/ITE6RGUoZSk/YmUoZS5sZWZ0LDEpJiZiZShlLnJpZ2h0LDEpOnZuKGUpfHxiZShlKX1mdW5jdGlvbiBSYyhlKXtyZXR1cm4gZS5sZW5ndGg9PT0yP0JpKGUsMCk6ZS5sZW5ndGg9PT0zP2VbMF0udHlwZT09PVwiSWRlbnRpZmllclwiJiZCaShlLDEpOiExfWZ1bmN0aW9uIEJpKGUsdCl7bGV0IHI9ZVt0XSxuPWVbdCsxXTtyZXR1cm4gci50eXBlPT09XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiJiZ6KHIpLmxlbmd0aD09PTAmJnIuYm9keS50eXBlPT09XCJCbG9ja1N0YXRlbWVudFwiJiZuLnR5cGU9PT1cIkFycmF5RXhwcmVzc2lvblwiJiYhZS5zb21lKHM9PmQocykpfWZ1bmN0aW9uIEpjKGUpe3JldHVybiBlLnR5cGU9PT1cIkJsb2NrU3RhdGVtZW50XCImJihlLmJvZHkuc29tZSh0PT50LnR5cGUhPT1cIkVtcHR5U3RhdGVtZW50XCIpfHxkKGUsaC5EYW5nbGluZykpfWZ1bmN0aW9uIHFjKGUpe3JldHVybiBlLnR5cGU9PT1cIk9iamVjdEV4cHJlc3Npb25cIiYmZS5wcm9wZXJ0aWVzLmxlbmd0aD09PTEmJkNlKGUucHJvcGVydGllc1swXSkmJmUucHJvcGVydGllc1swXS5rZXkudHlwZT09PVwiSWRlbnRpZmllclwiJiZlLnByb3BlcnRpZXNbMF0ua2V5Lm5hbWU9PT1cInR5cGVcIiYmdGUoZS5wcm9wZXJ0aWVzWzBdLnZhbHVlKSYmZS5wcm9wZXJ0aWVzWzBdLnZhbHVlLnZhbHVlPT09XCJtb2R1bGVcIn12YXIgbXI9amM7dmFyIFdjPWU9PigoZS50eXBlPT09XCJDaGFpbkV4cHJlc3Npb25cInx8ZS50eXBlPT09XCJUU05vbk51bGxFeHByZXNzaW9uXCIpJiYoZT1lLmV4cHJlc3Npb24pLEwoZSkmJm9lKGUpLmxlbmd0aD4wKTtmdW5jdGlvbiBQaShlLHQscil7dmFyIG87bGV0IG49cihcIm9iamVjdFwiKSxzPUVzKGUsdCxyKSx7bm9kZTp1fT1lLGk9ZS5maW5kQW5jZXN0b3IobT0+IShXKG0pfHxtLnR5cGU9PT1cIlRTTm9uTnVsbEV4cHJlc3Npb25cIikpLGE9ZS5maW5kQW5jZXN0b3IobT0+IShtLnR5cGU9PT1cIkNoYWluRXhwcmVzc2lvblwifHxtLnR5cGU9PT1cIlRTTm9uTnVsbEV4cHJlc3Npb25cIikpLHA9aSYmKGkudHlwZT09PVwiTmV3RXhwcmVzc2lvblwifHxpLnR5cGU9PT1cIkJpbmRFeHByZXNzaW9uXCJ8fGkudHlwZT09PVwiQXNzaWdubWVudEV4cHJlc3Npb25cIiYmaS5sZWZ0LnR5cGUhPT1cIklkZW50aWZpZXJcIil8fHUuY29tcHV0ZWR8fHUub2JqZWN0LnR5cGU9PT1cIklkZW50aWZpZXJcIiYmdS5wcm9wZXJ0eS50eXBlPT09XCJJZGVudGlmaWVyXCImJiFXKGEpfHwoYS50eXBlPT09XCJBc3NpZ25tZW50RXhwcmVzc2lvblwifHxhLnR5cGU9PT1cIlZhcmlhYmxlRGVjbGFyYXRvclwiKSYmKFdjKHUub2JqZWN0KXx8KChvPW4ubGFiZWwpPT1udWxsP3ZvaWQgMDpvLm1lbWJlckNoYWluKSk7cmV0dXJuIHN0KG4ubGFiZWwsW24scD9zOmwoZihbRSxzXSkpXSl9ZnVuY3Rpb24gRXMoZSx0LHIpe2xldCBuPXIoXCJwcm9wZXJ0eVwiKSx7bm9kZTpzfT1lLHU9JChlKTtyZXR1cm4gcy5jb21wdXRlZD8hcy5wcm9wZXJ0eXx8RmUocy5wcm9wZXJ0eSk/W3UsXCJbXCIsbixcIl1cIl06bChbdSxcIltcIixmKFtFLG5dKSxFLFwiXVwiXSk6W3UsXCIuXCIsbl19ZnVuY3Rpb24ga2koZSx0LHIpe2lmKGUubm9kZS50eXBlPT09XCJDaGFpbkV4cHJlc3Npb25cIilyZXR1cm4gZS5jYWxsKCgpPT5raShlLHQsciksXCJleHByZXNzaW9uXCIpO2xldHtwYXJlbnQ6bn09ZSxzPSFufHxuLnR5cGU9PT1cIkV4cHJlc3Npb25TdGF0ZW1lbnRcIix1PVtdO2Z1bmN0aW9uIGkodyl7bGV0e29yaWdpbmFsVGV4dDpuZX09dCxkZT11dChuZSxrKHcpKTtyZXR1cm4gbmUuY2hhckF0KGRlKT09PVwiKVwiP2RlIT09ITEmJmp0KG5lLGRlKzEpOnBlKHcsdCl9ZnVuY3Rpb24gYSgpe2xldHtub2RlOnd9PWU7aWYody50eXBlPT09XCJDaGFpbkV4cHJlc3Npb25cIilyZXR1cm4gZS5jYWxsKGEsXCJleHByZXNzaW9uXCIpO2lmKEwodykmJihBdCh3LmNhbGxlZSl8fEwody5jYWxsZWUpKSl7bGV0IG5lPWkodyk7dS51bnNoaWZ0KHtub2RlOncsaGFzVHJhaWxpbmdFbXB0eUxpbmU6bmUscHJpbnRlZDpbeWUoZSxbJChlKSxRZShlLHQsciksbXIoZSx0LHIpXSx0KSxuZT9GOlwiXCJdfSksZS5jYWxsKGEsXCJjYWxsZWVcIil9ZWxzZSBBdCh3KT8odS51bnNoaWZ0KHtub2RlOncsbmVlZHNQYXJlbnM6QmUoZSx0KSxwcmludGVkOnllKGUsVyh3KT9FcyhlLHQscik6VnIoZSx0LHIpLHQpfSksZS5jYWxsKGEsXCJvYmplY3RcIikpOncudHlwZT09PVwiVFNOb25OdWxsRXhwcmVzc2lvblwiPyh1LnVuc2hpZnQoe25vZGU6dyxwcmludGVkOnllKGUsXCIhXCIsdCl9KSxlLmNhbGwoYSxcImV4cHJlc3Npb25cIikpOnUudW5zaGlmdCh7bm9kZTp3LHByaW50ZWQ6cigpfSl9bGV0e25vZGU6cH09ZTt1LnVuc2hpZnQoe25vZGU6cCxwcmludGVkOlskKGUpLFFlKGUsdCxyKSxtcihlLHQscildfSkscC5jYWxsZWUmJmUuY2FsbChhLFwiY2FsbGVlXCIpO2xldCBvPVtdLG09W3VbMF1dLHk9MTtmb3IoO3k8dS5sZW5ndGgmJih1W3ldLm5vZGUudHlwZT09PVwiVFNOb25OdWxsRXhwcmVzc2lvblwifHxMKHVbeV0ubm9kZSl8fFcodVt5XS5ub2RlKSYmdVt5XS5ub2RlLmNvbXB1dGVkJiZGZSh1W3ldLm5vZGUucHJvcGVydHkpKTsrK3kpbS5wdXNoKHVbeV0pO2lmKCFMKHVbMF0ubm9kZSkpZm9yKDt5KzE8dS5sZW5ndGgmJihBdCh1W3ldLm5vZGUpJiZBdCh1W3krMV0ubm9kZSkpOysreSltLnB1c2godVt5XSk7by5wdXNoKG0pLG09W107bGV0IEQ9ITE7Zm9yKDt5PHUubGVuZ3RoOysreSl7aWYoRCYmQXQodVt5XS5ub2RlKSl7aWYodVt5XS5ub2RlLmNvbXB1dGVkJiZGZSh1W3ldLm5vZGUucHJvcGVydHkpKXttLnB1c2godVt5XSk7Y29udGludWV9by5wdXNoKG0pLG09W10sRD0hMX0oTCh1W3ldLm5vZGUpfHx1W3ldLm5vZGUudHlwZT09PVwiSW1wb3J0RXhwcmVzc2lvblwiKSYmKEQ9ITApLG0ucHVzaCh1W3ldKSxkKHVbeV0ubm9kZSxoLlRyYWlsaW5nKSYmKG8ucHVzaChtKSxtPVtdLEQ9ITEpfW0ubGVuZ3RoPjAmJm8ucHVzaChtKTtmdW5jdGlvbiBDKHcpe3JldHVybi9eW0EtWl18XlskX10rJC91LnRlc3Qodyl9ZnVuY3Rpb24gYyh3KXtyZXR1cm4gdy5sZW5ndGg8PXQudGFiV2lkdGh9ZnVuY3Rpb24gQSh3KXt2YXIgb3Q7bGV0IG5lPShvdD13WzFdWzBdKT09bnVsbD92b2lkIDA6b3Qubm9kZS5jb21wdXRlZDtpZih3WzBdLmxlbmd0aD09PTEpe2xldCBTdD13WzBdWzBdLm5vZGU7cmV0dXJuIFN0LnR5cGU9PT1cIlRoaXNFeHByZXNzaW9uXCJ8fFN0LnR5cGU9PT1cIklkZW50aWZpZXJcIiYmKEMoU3QubmFtZSl8fHMmJmMoU3QubmFtZSl8fG5lKX1sZXQgZGU9XyghMSx3WzBdLC0xKS5ub2RlO3JldHVybiBXKGRlKSYmZGUucHJvcGVydHkudHlwZT09PVwiSWRlbnRpZmllclwiJiYoQyhkZS5wcm9wZXJ0eS5uYW1lKXx8bmUpfWxldCBUPW8ubGVuZ3RoPj0yJiYhZChvWzFdWzBdLm5vZGUpJiZBKG8pO2Z1bmN0aW9uIFModyl7bGV0IG5lPXcubWFwKGRlPT5kZS5wcmludGVkKTtyZXR1cm4gdy5sZW5ndGg+MCYmXyghMSx3LC0xKS5uZWVkc1BhcmVucz9bXCIoXCIsLi4ubmUsXCIpXCJdOm5lfWZ1bmN0aW9uIGcodyl7cmV0dXJuIHcubGVuZ3RoPT09MD9cIlwiOmYoW0YsYihGLHcubWFwKFMpKV0pfWxldCBNPW8ubWFwKFMpLFI9TSxqPVQ/MzoyLEk9by5mbGF0KCksVT1JLnNsaWNlKDEsLTEpLnNvbWUodz0+ZCh3Lm5vZGUsaC5MZWFkaW5nKSl8fEkuc2xpY2UoMCwtMSkuc29tZSh3PT5kKHcubm9kZSxoLlRyYWlsaW5nKSl8fG9bal0mJmQob1tqXVswXS5ub2RlLGguTGVhZGluZyk7aWYoby5sZW5ndGg8PWomJiFVJiYhby5zb21lKHc9Pl8oITEsdywtMSkuaGFzVHJhaWxpbmdFbXB0eUxpbmUpKXJldHVybiBPcihlKT9SOmwoUik7bGV0IFA9XyghMSxvW1Q/MTowXSwtMSkubm9kZSxHPSFMKFApJiZpKFApLHVlPVtTKG9bMF0pLFQ/by5zbGljZSgxLDIpLm1hcChTKTpcIlwiLEc/RjpcIlwiLGcoby5zbGljZShUPzI6MSkpXSxRPXUubWFwKCh7bm9kZTp3fSk9PncpLmZpbHRlcihMKTtmdW5jdGlvbiBndCgpe2xldCB3PV8oITEsXyghMSxvLC0xKSwtMSkubm9kZSxuZT1fKCExLE0sLTEpO3JldHVybiBMKHcpJiZyZShuZSkmJlEuc2xpY2UoMCwtMSkuc29tZShkZT0+ZGUuYXJndW1lbnRzLnNvbWUoTXQpKX1sZXQgRnQ7cmV0dXJuIFV8fFEubGVuZ3RoPjImJlEuc29tZSh3PT4hdy5hcmd1bWVudHMuZXZlcnkobmU9PmJlKG5lKSkpfHxNLnNsaWNlKDAsLTEpLnNvbWUocmUpfHxndCgpP0Z0PWwodWUpOkZ0PVtyZShSKXx8Rz9FZTpcIlwiLEtlKFtSLHVlXSldLHN0KHttZW1iZXJDaGFpbjohMH0sRnQpfXZhciBJaT1raTtmdW5jdGlvbiAkcihlLHQscil7dmFyIG07bGV0e25vZGU6bn09ZSxzPW4udHlwZT09PVwiTmV3RXhwcmVzc2lvblwiLHU9bi50eXBlPT09XCJJbXBvcnRFeHByZXNzaW9uXCIsaT0kKGUpLGE9b2UobikscD1hLmxlbmd0aD09PTEmJkxyKGFbMF0sdC5vcmlnaW5hbFRleHQpO2lmKHB8fEdjKGUpfHxQdChuLGUucGFyZW50KSl7bGV0IHk9W107aWYocXQoZSwoKT0+e3kucHVzaChyKCkpfSksIShwJiYoKG09eVswXS5sYWJlbCkhPW51bGwmJm0uZW1iZWQpKSlyZXR1cm5bcz9cIm5ldyBcIjpcIlwiLExpKGUsciksaSxRZShlLHQsciksXCIoXCIsYihcIiwgXCIseSksXCIpXCJdfWlmKCF1JiYhcyYmQXQobi5jYWxsZWUpJiYhZS5jYWxsKHk9PkJlKHksdCksXCJjYWxsZWVcIiwuLi5uLmNhbGxlZS50eXBlPT09XCJDaGFpbkV4cHJlc3Npb25cIj9bXCJleHByZXNzaW9uXCJdOltdKSlyZXR1cm4gSWkoZSx0LHIpO2xldCBvPVtzP1wibmV3IFwiOlwiXCIsTGkoZSxyKSxpLFFlKGUsdCxyKSxtcihlLHQscildO3JldHVybiB1fHxMKG4uY2FsbGVlKT9sKG8pOm99ZnVuY3Rpb24gTGkoZSx0KXtsZXR7bm9kZTpyfT1lO3JldHVybiByLnR5cGU9PT1cIkltcG9ydEV4cHJlc3Npb25cIj9gaW1wb3J0JHtyLnBoYXNlP2AuJHtyLnBoYXNlfWA6XCJcIn1gOnQoXCJjYWxsZWVcIil9ZnVuY3Rpb24gR2MoZSl7bGV0e25vZGU6dH09ZTtpZih0LnR5cGUhPT1cIkNhbGxFeHByZXNzaW9uXCJ8fHQub3B0aW9uYWx8fHQuY2FsbGVlLnR5cGUhPT1cIklkZW50aWZpZXJcIilyZXR1cm4hMTtsZXQgcj1vZSh0KTtyZXR1cm4gdC5jYWxsZWUubmFtZT09PVwicmVxdWlyZVwiP3IubGVuZ3RoPT09MSYmdGUoclswXSl8fHIubGVuZ3RoPjE6dC5jYWxsZWUubmFtZT09PVwiZGVmaW5lXCImJmUucGFyZW50LnR5cGU9PT1cIkV4cHJlc3Npb25TdGF0ZW1lbnRcIj9yLmxlbmd0aD09PTF8fHIubGVuZ3RoPT09MiYmclswXS50eXBlPT09XCJBcnJheUV4cHJlc3Npb25cInx8ci5sZW5ndGg9PT0zJiZ0ZShyWzBdKSYmclsxXS50eXBlPT09XCJBcnJheUV4cHJlc3Npb25cIjohMX1mdW5jdGlvbiB4dChlLHQscixuLHMsdSl7bGV0IGk9VWMoZSx0LHIsbix1KSxhPXU/cih1LHthc3NpZ25tZW50TGF5b3V0Oml9KTpcIlwiO3N3aXRjaChpKXtjYXNlXCJicmVhay1hZnRlci1vcGVyYXRvclwiOnJldHVybiBsKFtsKG4pLHMsbChmKFt4LGFdKSldKTtjYXNlXCJuZXZlci1icmVhay1hZnRlci1vcGVyYXRvclwiOnJldHVybiBsKFtsKG4pLHMsXCIgXCIsYV0pO2Nhc2VcImZsdWlkXCI6e2xldCBwPVN5bWJvbChcImFzc2lnbm1lbnRcIik7cmV0dXJuIGwoW2wobikscyxsKGYoeCkse2lkOnB9KSxrZSxkdChhLHtncm91cElkOnB9KV0pfWNhc2VcImJyZWFrLWxoc1wiOnJldHVybiBsKFtuLHMsXCIgXCIsbChhKV0pO2Nhc2VcImNoYWluXCI6cmV0dXJuW2wobikscyx4LGFdO2Nhc2VcImNoYWluLXRhaWxcIjpyZXR1cm5bbChuKSxzLGYoW3gsYV0pXTtjYXNlXCJjaGFpbi10YWlsLWFycm93LWNoYWluXCI6cmV0dXJuW2wobikscyxhXTtjYXNlXCJvbmx5LWxlZnRcIjpyZXR1cm4gbn19ZnVuY3Rpb24gT2koZSx0LHIpe2xldHtub2RlOm59PWU7cmV0dXJuIHh0KGUsdCxyLHIoXCJsZWZ0XCIpLFtcIiBcIixuLm9wZXJhdG9yXSxcInJpZ2h0XCIpfWZ1bmN0aW9uIF9pKGUsdCxyKXtyZXR1cm4geHQoZSx0LHIscihcImlkXCIpLFwiID1cIixcImluaXRcIil9ZnVuY3Rpb24gVWMoZSx0LHIsbixzKXtsZXR7bm9kZTp1fT1lLGk9dVtzXTtpZighaSlyZXR1cm5cIm9ubHktbGVmdFwiO2xldCBhPSFLcihpKTtpZihlLm1hdGNoKEtyLGppLEQ9PiFhfHxELnR5cGUhPT1cIkV4cHJlc3Npb25TdGF0ZW1lbnRcIiYmRC50eXBlIT09XCJWYXJpYWJsZURlY2xhcmF0aW9uXCIpKXJldHVybiBhP2kudHlwZT09PVwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIiYmaS5ib2R5LnR5cGU9PT1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCI/XCJjaGFpbi10YWlsLWFycm93LWNoYWluXCI6XCJjaGFpbi10YWlsXCI6XCJjaGFpblwiO2lmKCFhJiZLcihpLnJpZ2h0KXx8T2UodC5vcmlnaW5hbFRleHQsaSkpcmV0dXJuXCJicmVhay1hZnRlci1vcGVyYXRvclwiO2lmKHUudHlwZT09PVwiSW1wb3J0QXR0cmlidXRlXCJ8fGkudHlwZT09PVwiQ2FsbEV4cHJlc3Npb25cIiYmaS5jYWxsZWUubmFtZT09PVwicmVxdWlyZVwifHx0LnBhcnNlcj09PVwianNvbjVcInx8dC5wYXJzZXI9PT1cImpzb25jXCJ8fHQucGFyc2VyPT09XCJqc29uXCIpcmV0dXJuXCJuZXZlci1icmVhay1hZnRlci1vcGVyYXRvclwiO2xldCBtPWJ1KG4pO2lmKFljKHUpfHwkYyh1KXx8RnModSkmJm0pcmV0dXJuXCJicmVhay1saHNcIjtsZXQgeT1RYyh1LG4sdCk7cmV0dXJuIGUuY2FsbCgoKT0+WGMoZSx0LHIseSkscyk/XCJicmVhay1hZnRlci1vcGVyYXRvclwiOkhjKHUpP1wiYnJlYWstbGhzXCI6IW0mJih5fHxpLnR5cGU9PT1cIlRlbXBsYXRlTGl0ZXJhbFwifHxpLnR5cGU9PT1cIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvblwifHxpLnR5cGU9PT1cIkJvb2xlYW5MaXRlcmFsXCJ8fEZlKGkpfHxpLnR5cGU9PT1cIkNsYXNzRXhwcmVzc2lvblwiKT9cIm5ldmVyLWJyZWFrLWFmdGVyLW9wZXJhdG9yXCI6XCJmbHVpZFwifWZ1bmN0aW9uIFhjKGUsdCxyLG4pe2xldCBzPWUubm9kZTtpZihEZShzKSYmIVl0KHMpKXJldHVybiEwO3N3aXRjaChzLnR5cGUpe2Nhc2VcIlN0cmluZ0xpdGVyYWxUeXBlQW5ub3RhdGlvblwiOmNhc2VcIlNlcXVlbmNlRXhwcmVzc2lvblwiOnJldHVybiEwO2Nhc2VcIlRTQ29uZGl0aW9uYWxUeXBlXCI6Y2FzZVwiQ29uZGl0aW9uYWxUeXBlQW5ub3RhdGlvblwiOmlmKCF0LmV4cGVyaW1lbnRhbFRlcm5hcmllcyYmIWVsKHMpKWJyZWFrO3JldHVybiEwO2Nhc2VcIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiOntpZighdC5leHBlcmltZW50YWxUZXJuYXJpZXMpe2xldHt0ZXN0Om99PXM7cmV0dXJuIERlKG8pJiYhWXQobyl9bGV0e2NvbnNlcXVlbnQ6YSxhbHRlcm5hdGU6cH09cztyZXR1cm4gYS50eXBlPT09XCJDb25kaXRpb25hbEV4cHJlc3Npb25cInx8cC50eXBlPT09XCJDb25kaXRpb25hbEV4cHJlc3Npb25cIn1jYXNlXCJDbGFzc0V4cHJlc3Npb25cIjpyZXR1cm4gTyhzLmRlY29yYXRvcnMpfWlmKG4pcmV0dXJuITE7bGV0IHU9cyxpPVtdO2Zvcig7OylpZih1LnR5cGU9PT1cIlVuYXJ5RXhwcmVzc2lvblwifHx1LnR5cGU9PT1cIkF3YWl0RXhwcmVzc2lvblwifHx1LnR5cGU9PT1cIllpZWxkRXhwcmVzc2lvblwiJiZ1LmFyZ3VtZW50IT09bnVsbCl1PXUuYXJndW1lbnQsaS5wdXNoKFwiYXJndW1lbnRcIik7ZWxzZSBpZih1LnR5cGU9PT1cIlRTTm9uTnVsbEV4cHJlc3Npb25cIil1PXUuZXhwcmVzc2lvbixpLnB1c2goXCJleHByZXNzaW9uXCIpO2Vsc2UgYnJlYWs7cmV0dXJuISEodGUodSl8fGUuY2FsbCgoKT0+dmkoZSx0LHIpLC4uLmkpKX1mdW5jdGlvbiBZYyhlKXtpZihqaShlKSl7bGV0IHQ9ZS5sZWZ0fHxlLmlkO3JldHVybiB0LnR5cGU9PT1cIk9iamVjdFBhdHRlcm5cIiYmdC5wcm9wZXJ0aWVzLmxlbmd0aD4yJiZ0LnByb3BlcnRpZXMuc29tZShyPT57dmFyIG47cmV0dXJuIENlKHIpJiYoIXIuc2hvcnRoYW5kfHwoKG49ci52YWx1ZSk9PW51bGw/dm9pZCAwOm4udHlwZSk9PT1cIkFzc2lnbm1lbnRQYXR0ZXJuXCIpfSl9cmV0dXJuITF9ZnVuY3Rpb24gS3IoZSl7cmV0dXJuIGUudHlwZT09PVwiQXNzaWdubWVudEV4cHJlc3Npb25cIn1mdW5jdGlvbiBqaShlKXtyZXR1cm4gS3IoZSl8fGUudHlwZT09PVwiVmFyaWFibGVEZWNsYXJhdG9yXCJ9ZnVuY3Rpb24gSGMoZSl7bGV0IHQ9VmMoZSk7aWYoTyh0KSl7bGV0IHI9ZS50eXBlPT09XCJUU1R5cGVBbGlhc0RlY2xhcmF0aW9uXCI/XCJjb25zdHJhaW50XCI6XCJib3VuZFwiO2lmKHQubGVuZ3RoPjEmJnQuc29tZShuPT5uW3JdfHxuLmRlZmF1bHQpKXJldHVybiEwfXJldHVybiExfXZhciBOYz12KFtcIlRTVHlwZUFsaWFzRGVjbGFyYXRpb25cIixcIlR5cGVBbGlhc1wiXSk7ZnVuY3Rpb24gVmMoZSl7dmFyIHQ7aWYoTmMoZSkpcmV0dXJuKHQ9ZS50eXBlUGFyYW1ldGVycyk9PW51bGw/dm9pZCAwOnQucGFyYW1zfWZ1bmN0aW9uICRjKGUpe2lmKGUudHlwZSE9PVwiVmFyaWFibGVEZWNsYXJhdG9yXCIpcmV0dXJuITE7bGV0e3R5cGVBbm5vdGF0aW9uOnR9PWUuaWQ7aWYoIXR8fCF0LnR5cGVBbm5vdGF0aW9uKXJldHVybiExO2xldCByPXdpKHQudHlwZUFubm90YXRpb24pO3JldHVybiBPKHIpJiZyLmxlbmd0aD4xJiZyLnNvbWUobj0+Tyh3aShuKSl8fG4udHlwZT09PVwiVFNDb25kaXRpb25hbFR5cGVcIil9ZnVuY3Rpb24gRnMoZSl7dmFyIHQ7cmV0dXJuIGUudHlwZT09PVwiVmFyaWFibGVEZWNsYXJhdG9yXCImJigodD1lLmluaXQpPT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwifXZhciBLYz12KFtcIlRTVHlwZVJlZmVyZW5jZVwiLFwiR2VuZXJpY1R5cGVBbm5vdGF0aW9uXCJdKTtmdW5jdGlvbiB3aShlKXt2YXIgdDtpZihLYyhlKSlyZXR1cm4odD1lLnR5cGVBcmd1bWVudHM/P2UudHlwZVBhcmFtZXRlcnMpPT1udWxsP3ZvaWQgMDp0LnBhcmFtc31mdW5jdGlvbiB2aShlLHQscixuPSExKXt2YXIgaTtsZXR7bm9kZTpzfT1lLHU9KCk9PnZpKGUsdCxyLCEwKTtpZihzLnR5cGU9PT1cIkNoYWluRXhwcmVzc2lvblwifHxzLnR5cGU9PT1cIlRTTm9uTnVsbEV4cHJlc3Npb25cIilyZXR1cm4gZS5jYWxsKHUsXCJleHByZXNzaW9uXCIpO2lmKEwocykpe2lmKChpPSRyKGUsdCxyKS5sYWJlbCkhPW51bGwmJmkubWVtYmVyQ2hhaW4pcmV0dXJuITE7bGV0IHA9b2Uocyk7cmV0dXJuIShwLmxlbmd0aD09PTB8fHAubGVuZ3RoPT09MSYmbnIocFswXSx0KSl8fHpjKHMscik/ITE6ZS5jYWxsKHUsXCJjYWxsZWVcIil9cmV0dXJuIFcocyk/ZS5jYWxsKHUsXCJvYmplY3RcIik6biYmKHMudHlwZT09PVwiSWRlbnRpZmllclwifHxzLnR5cGU9PT1cIlRoaXNFeHByZXNzaW9uXCIpfWZ1bmN0aW9uIFFjKGUsdCxyKXtyZXR1cm4gQ2UoZSk/KHQ9R3QodCksdHlwZW9mIHQ9PVwic3RyaW5nXCImJnplKHQpPHIudGFiV2lkdGgrMyk6ITF9ZnVuY3Rpb24gemMoZSx0KXtsZXQgcj1aYyhlKTtpZihPKHIpKXtpZihyLmxlbmd0aD4xKXJldHVybiEwO2lmKHIubGVuZ3RoPT09MSl7bGV0IHM9clswXTtpZihVZShzKXx8X3Iocyl8fHMudHlwZT09PVwiVFNUeXBlTGl0ZXJhbFwifHxzLnR5cGU9PT1cIk9iamVjdFR5cGVBbm5vdGF0aW9uXCIpcmV0dXJuITB9bGV0IG49ZS50eXBlUGFyYW1ldGVycz9cInR5cGVQYXJhbWV0ZXJzXCI6XCJ0eXBlQXJndW1lbnRzXCI7aWYocmUodChuKSkpcmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gWmMoZSl7dmFyIHQ7cmV0dXJuKHQ9ZS50eXBlUGFyYW1ldGVycz8/ZS50eXBlQXJndW1lbnRzKT09bnVsbD92b2lkIDA6dC5wYXJhbXN9ZnVuY3Rpb24gZWwoZSl7ZnVuY3Rpb24gdChyKXtzd2l0Y2goci50eXBlKXtjYXNlXCJGdW5jdGlvblR5cGVBbm5vdGF0aW9uXCI6Y2FzZVwiR2VuZXJpY1R5cGVBbm5vdGF0aW9uXCI6Y2FzZVwiVFNGdW5jdGlvblR5cGVcIjpyZXR1cm4hIXIudHlwZVBhcmFtZXRlcnM7Y2FzZVwiVFNUeXBlUmVmZXJlbmNlXCI6cmV0dXJuISEoci50eXBlQXJndW1lbnRzPz9yLnR5cGVQYXJhbWV0ZXJzKTtkZWZhdWx0OnJldHVybiExfX1yZXR1cm4gdChlLmNoZWNrVHlwZSl8fHQoZS5leHRlbmRzVHlwZSl9ZnVuY3Rpb24gSmUoZSx0LHIsbixzKXtsZXQgdT1lLm5vZGUsaT16KHUpLGE9cz9RZShlLHIsdCk6XCJcIjtpZihpLmxlbmd0aD09PTApcmV0dXJuW2EsXCIoXCIsSihlLHIse2ZpbHRlcjpjPT5nZShyLm9yaWdpbmFsVGV4dCxrKGMpKT09PVwiKVwifSksXCIpXCJdO2xldHtwYXJlbnQ6cH09ZSxvPVB0KHApLG09Q3ModSkseT1bXTtpZihFdShlLChjLEEpPT57bGV0IFQ9QT09PWkubGVuZ3RoLTE7VCYmdS5yZXN0JiZ5LnB1c2goXCIuLi5cIikseS5wdXNoKHQoKSksIVQmJih5LnB1c2goXCIsXCIpLG98fG0/eS5wdXNoKFwiIFwiKTpwZShpW0FdLHIpP3kucHVzaChGLEYpOnkucHVzaCh4KSl9KSxuJiYhcmwoZSkpe2lmKHJlKGEpfHxyZSh5KSl0aHJvdyBuZXcgeXQ7cmV0dXJuIGwoW2FyKGEpLFwiKFwiLGFyKHkpLFwiKVwiXSl9bGV0IEQ9aS5ldmVyeShjPT4hTyhjLmRlY29yYXRvcnMpKTtyZXR1cm4gbSYmRD9bYSxcIihcIiwuLi55LFwiKVwiXTpvP1thLFwiKFwiLC4uLnksXCIpXCJdOihJcihwKXx8cHUocCl8fHAudHlwZT09PVwiVHlwZUFsaWFzXCJ8fHAudHlwZT09PVwiVW5pb25UeXBlQW5ub3RhdGlvblwifHxwLnR5cGU9PT1cIkludGVyc2VjdGlvblR5cGVBbm5vdGF0aW9uXCJ8fHAudHlwZT09PVwiRnVuY3Rpb25UeXBlQW5ub3RhdGlvblwiJiZwLnJldHVyblR5cGU9PT11KSYmaS5sZW5ndGg9PT0xJiZpWzBdLm5hbWU9PT1udWxsJiZ1LnRoaXMhPT1pWzBdJiZpWzBdLnR5cGVBbm5vdGF0aW9uJiZ1LnR5cGVQYXJhbWV0ZXJzPT09bnVsbCYmSnQoaVswXS50eXBlQW5ub3RhdGlvbikmJiF1LnJlc3Q/ci5hcnJvd1BhcmVucz09PVwiYWx3YXlzXCJ8fHUudHlwZT09PVwiSG9va1R5cGVBbm5vdGF0aW9uXCI/W1wiKFwiLC4uLnksXCIpXCJdOnk6W2EsXCIoXCIsZihbRSwuLi55XSksQighZnUodSkmJmFlKHIsXCJhbGxcIik/XCIsXCI6XCJcIiksRSxcIilcIl19ZnVuY3Rpb24gQ3MoZSl7aWYoIWUpcmV0dXJuITE7bGV0IHQ9eihlKTtpZih0Lmxlbmd0aCE9PTEpcmV0dXJuITE7bGV0W3JdPXQ7cmV0dXJuIWQocikmJihyLnR5cGU9PT1cIk9iamVjdFBhdHRlcm5cInx8ci50eXBlPT09XCJBcnJheVBhdHRlcm5cInx8ci50eXBlPT09XCJJZGVudGlmaWVyXCImJnIudHlwZUFubm90YXRpb24mJihyLnR5cGVBbm5vdGF0aW9uLnR5cGU9PT1cIlR5cGVBbm5vdGF0aW9uXCJ8fHIudHlwZUFubm90YXRpb24udHlwZT09PVwiVFNUeXBlQW5ub3RhdGlvblwiKSYmd2Uoci50eXBlQW5ub3RhdGlvbi50eXBlQW5ub3RhdGlvbil8fHIudHlwZT09PVwiRnVuY3Rpb25UeXBlUGFyYW1cIiYmd2Uoci50eXBlQW5ub3RhdGlvbikmJnIhPT1lLnJlc3R8fHIudHlwZT09PVwiQXNzaWdubWVudFBhdHRlcm5cIiYmKHIubGVmdC50eXBlPT09XCJPYmplY3RQYXR0ZXJuXCJ8fHIubGVmdC50eXBlPT09XCJBcnJheVBhdHRlcm5cIikmJihyLnJpZ2h0LnR5cGU9PT1cIklkZW50aWZpZXJcInx8c2Uoci5yaWdodCkmJnIucmlnaHQucHJvcGVydGllcy5sZW5ndGg9PT0wfHxYKHIucmlnaHQpJiZyLnJpZ2h0LmVsZW1lbnRzLmxlbmd0aD09PTApKX1mdW5jdGlvbiB0bChlKXtsZXQgdDtyZXR1cm4gZS5yZXR1cm5UeXBlPyh0PWUucmV0dXJuVHlwZSx0LnR5cGVBbm5vdGF0aW9uJiYodD10LnR5cGVBbm5vdGF0aW9uKSk6ZS50eXBlQW5ub3RhdGlvbiYmKHQ9ZS50eXBlQW5ub3RhdGlvbiksdH1mdW5jdGlvbiBhdChlLHQpe3ZhciBzO2xldCByPXRsKGUpO2lmKCFyKXJldHVybiExO2xldCBuPShzPWUudHlwZVBhcmFtZXRlcnMpPT1udWxsP3ZvaWQgMDpzLnBhcmFtcztpZihuKXtpZihuLmxlbmd0aD4xKXJldHVybiExO2lmKG4ubGVuZ3RoPT09MSl7bGV0IHU9blswXTtpZih1LmNvbnN0cmFpbnR8fHUuZGVmYXVsdClyZXR1cm4hMX19cmV0dXJuIHooZSkubGVuZ3RoPT09MSYmKHdlKHIpfHxyZSh0KSl9ZnVuY3Rpb24gcmwoZSl7cmV0dXJuIGUubWF0Y2godD0+dC50eXBlPT09XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiJiZ0LmJvZHkudHlwZT09PVwiQmxvY2tTdGF0ZW1lbnRcIiwodCxyKT0+e2lmKHQudHlwZT09PVwiQ2FsbEV4cHJlc3Npb25cIiYmcj09PVwiYXJndW1lbnRzXCImJnQuYXJndW1lbnRzLmxlbmd0aD09PTEmJnQuY2FsbGVlLnR5cGU9PT1cIkNhbGxFeHByZXNzaW9uXCIpe2xldCBuPXQuY2FsbGVlLmNhbGxlZTtyZXR1cm4gbi50eXBlPT09XCJJZGVudGlmaWVyXCJ8fG4udHlwZT09PVwiTWVtYmVyRXhwcmVzc2lvblwiJiYhbi5jb21wdXRlZCYmbi5vYmplY3QudHlwZT09PVwiSWRlbnRpZmllclwiJiZuLnByb3BlcnR5LnR5cGU9PT1cIklkZW50aWZpZXJcIn1yZXR1cm4hMX0sKHQscik9PnQudHlwZT09PVwiVmFyaWFibGVEZWNsYXJhdG9yXCImJnI9PT1cImluaXRcInx8dC50eXBlPT09XCJFeHBvcnREZWZhdWx0RGVjbGFyYXRpb25cIiYmcj09PVwiZGVjbGFyYXRpb25cInx8dC50eXBlPT09XCJUU0V4cG9ydEFzc2lnbm1lbnRcIiYmcj09PVwiZXhwcmVzc2lvblwifHx0LnR5cGU9PT1cIkFzc2lnbm1lbnRFeHByZXNzaW9uXCImJnI9PT1cInJpZ2h0XCImJnQubGVmdC50eXBlPT09XCJNZW1iZXJFeHByZXNzaW9uXCImJnQubGVmdC5vYmplY3QudHlwZT09PVwiSWRlbnRpZmllclwiJiZ0LmxlZnQub2JqZWN0Lm5hbWU9PT1cIm1vZHVsZVwiJiZ0LmxlZnQucHJvcGVydHkudHlwZT09PVwiSWRlbnRpZmllclwiJiZ0LmxlZnQucHJvcGVydHkubmFtZT09PVwiZXhwb3J0c1wiLHQ9PnQudHlwZSE9PVwiVmFyaWFibGVEZWNsYXJhdGlvblwifHx0LmtpbmQ9PT1cImNvbnN0XCImJnQuZGVjbGFyYXRpb25zLmxlbmd0aD09PTEpfWZ1bmN0aW9uIE1pKGUpe2xldCB0PXooZSk7cmV0dXJuIHQubGVuZ3RoPjEmJnQuc29tZShyPT5yLnR5cGU9PT1cIlRTUGFyYW1ldGVyUHJvcGVydHlcIil9dmFyIG5sPXYoW1wiVm9pZFR5cGVBbm5vdGF0aW9uXCIsXCJUU1ZvaWRLZXl3b3JkXCIsXCJOdWxsTGl0ZXJhbFR5cGVBbm5vdGF0aW9uXCIsXCJUU051bGxLZXl3b3JkXCJdKSxzbD12KFtcIk9iamVjdFR5cGVBbm5vdGF0aW9uXCIsXCJUU1R5cGVMaXRlcmFsXCIsXCJHZW5lcmljVHlwZUFubm90YXRpb25cIixcIlRTVHlwZVJlZmVyZW5jZVwiXSk7ZnVuY3Rpb24gdWwoZSl7bGV0e3R5cGVzOnR9PWU7aWYodC5zb21lKG49PmQobikpKXJldHVybiExO2xldCByPXQuZmluZChuPT5zbChuKSk7cmV0dXJuIHI/dC5ldmVyeShuPT5uPT09cnx8bmwobikpOiExfWZ1bmN0aW9uIEFzKGUpe3JldHVybiBKdChlKXx8d2UoZSk/ITA6VWUoZSk/dWwoZSk6ITF9ZnVuY3Rpb24gUmkoZSx0LHIpe2xldCBuPXQuc2VtaT9cIjtcIjpcIlwiLHtub2RlOnN9PWUsdT1bSyhlKSxcIm9wYXF1ZSB0eXBlIFwiLHIoXCJpZFwiKSxyKFwidHlwZVBhcmFtZXRlcnNcIildO3JldHVybiBzLnN1cGVydHlwZSYmdS5wdXNoKFwiOiBcIixyKFwic3VwZXJ0eXBlXCIpKSxzLmltcGx0eXBlJiZ1LnB1c2goXCIgPSBcIixyKFwiaW1wbHR5cGVcIikpLHUucHVzaChuKSx1fWZ1bmN0aW9uIFFyKGUsdCxyKXtsZXQgbj10LnNlbWk/XCI7XCI6XCJcIix7bm9kZTpzfT1lLHU9W0soZSldO3UucHVzaChcInR5cGUgXCIscihcImlkXCIpLHIoXCJ0eXBlUGFyYW1ldGVyc1wiKSk7bGV0IGk9cy50eXBlPT09XCJUU1R5cGVBbGlhc0RlY2xhcmF0aW9uXCI/XCJ0eXBlQW5ub3RhdGlvblwiOlwicmlnaHRcIjtyZXR1cm5beHQoZSx0LHIsdSxcIiA9XCIsaSksbl19ZnVuY3Rpb24genIoZSx0LHIpe2xldCBuPSExO3JldHVybiBsKGUubWFwKCh7aXNGaXJzdDpzLHByZXZpb3VzOnUsbm9kZTppLGluZGV4OmF9KT0+e2xldCBwPXIoKTtpZihzKXJldHVybiBwO2xldCBvPXdlKGkpLG09d2UodSk7cmV0dXJuIG0mJm8/W1wiICYgXCIsbj9mKHApOnBdOiFtJiYhbz9mKFtcIiAmXCIseCxwXSk6KGE+MSYmKG49ITApLFtcIiAmIFwiLGE+MT9mKHApOnBdKX0sXCJ0eXBlc1wiKSl9ZnVuY3Rpb24gWnIoZSx0LHIpe2xldHtub2RlOm59PWUse3BhcmVudDpzfT1lLHU9cy50eXBlIT09XCJUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvblwiJiYocy50eXBlIT09XCJUU0NvbmRpdGlvbmFsVHlwZVwifHwhdC5leHBlcmltZW50YWxUZXJuYXJpZXMpJiYocy50eXBlIT09XCJDb25kaXRpb25hbFR5cGVBbm5vdGF0aW9uXCJ8fCF0LmV4cGVyaW1lbnRhbFRlcm5hcmllcykmJnMudHlwZSE9PVwiVFNUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvblwiJiZzLnR5cGUhPT1cIkdlbmVyaWNUeXBlQW5ub3RhdGlvblwiJiZzLnR5cGUhPT1cIlRTVHlwZVJlZmVyZW5jZVwiJiZzLnR5cGUhPT1cIlRTVHlwZUFzc2VydGlvblwiJiZzLnR5cGUhPT1cIlR1cGxlVHlwZUFubm90YXRpb25cIiYmcy50eXBlIT09XCJUU1R1cGxlVHlwZVwiJiYhKHMudHlwZT09PVwiRnVuY3Rpb25UeXBlUGFyYW1cIiYmIXMubmFtZSYmZS5ncmFuZHBhcmVudC50aGlzIT09cykmJiEoKHMudHlwZT09PVwiVHlwZUFsaWFzXCJ8fHMudHlwZT09PVwiVmFyaWFibGVEZWNsYXJhdG9yXCJ8fHMudHlwZT09PVwiVFNUeXBlQWxpYXNEZWNsYXJhdGlvblwiKSYmT2UodC5vcmlnaW5hbFRleHQsbikpLGk9QXMobiksYT1lLm1hcChtPT57bGV0IHk9cigpO3JldHVybiBpfHwoeT1oZSgyLHkpKSx5ZShtLHksdCl9LFwidHlwZXNcIik7aWYoaSlyZXR1cm4gYihcIiB8IFwiLGEpO2xldCBwPXUmJiFPZSh0Lm9yaWdpbmFsVGV4dCxuKSxvPVtCKFtwP3g6XCJcIixcInwgXCJdKSxiKFt4LFwifCBcIl0sYSldO3JldHVybiBCZShlLHQpP2woW2YobyksRV0pOihzLnR5cGU9PT1cIlR1cGxlVHlwZUFubm90YXRpb25cInx8cy50eXBlPT09XCJUU1R1cGxlVHlwZVwiKSYmc1tzLnR5cGU9PT1cIlR1cGxlVHlwZUFubm90YXRpb25cIiYmcy50eXBlcz9cInR5cGVzXCI6XCJlbGVtZW50VHlwZXNcIl0ubGVuZ3RoPjE/bChbZihbQihbXCIoXCIsRV0pLG9dKSxFLEIoXCIpXCIpXSk6bCh1P2Yobyk6byl9ZnVuY3Rpb24gaWwoZSl7dmFyIG47bGV0e25vZGU6dCxwYXJlbnQ6cn09ZTtyZXR1cm4gdC50eXBlPT09XCJGdW5jdGlvblR5cGVBbm5vdGF0aW9uXCImJihJcihyKXx8ISgoci50eXBlPT09XCJPYmplY3RUeXBlUHJvcGVydHlcInx8ci50eXBlPT09XCJPYmplY3RUeXBlSW50ZXJuYWxTbG90XCIpJiYhci52YXJpYW5jZSYmIXIub3B0aW9uYWwmJkJ0KHIsdCl8fHIudHlwZT09PVwiT2JqZWN0VHlwZUNhbGxQcm9wZXJ0eVwifHwoKG49ZS5nZXRQYXJlbnROb2RlKDIpKT09bnVsbD92b2lkIDA6bi50eXBlKT09PVwiRGVjbGFyZUZ1bmN0aW9uXCIpKX1mdW5jdGlvbiBlbihlLHQscil7bGV0e25vZGU6bn09ZSxzPVtIdChlKV07KG4udHlwZT09PVwiVFNDb25zdHJ1Y3RvclR5cGVcInx8bi50eXBlPT09XCJUU0NvbnN0cnVjdFNpZ25hdHVyZURlY2xhcmF0aW9uXCIpJiZzLnB1c2goXCJuZXcgXCIpO2xldCB1PUplKGUscix0LCExLCEwKSxpPVtdO3JldHVybiBuLnR5cGU9PT1cIkZ1bmN0aW9uVHlwZUFubm90YXRpb25cIj9pLnB1c2goaWwoZSk/XCIgPT4gXCI6XCI6IFwiLHIoXCJyZXR1cm5UeXBlXCIpKTppLnB1c2goTihlLHIsbi5yZXR1cm5UeXBlP1wicmV0dXJuVHlwZVwiOlwidHlwZUFubm90YXRpb25cIikpLGF0KG4saSkmJih1PWwodSkpLHMucHVzaCh1LGkpLGwocyl9ZnVuY3Rpb24gdG4oZSx0LHIpe3JldHVybltyKFwib2JqZWN0VHlwZVwiKSwkKGUpLFwiW1wiLHIoXCJpbmRleFR5cGVcIiksXCJdXCJdfWZ1bmN0aW9uIHJuKGUsdCxyKXtyZXR1cm5bXCJpbmZlciBcIixyKFwidHlwZVBhcmFtZXRlclwiKV19ZnVuY3Rpb24gVHMoZSx0LHIpe2xldHtub2RlOm59PWU7cmV0dXJuW24ucG9zdGZpeD9cIlwiOnIsTihlLHQpLG4ucG9zdGZpeD9yOlwiXCJdfWZ1bmN0aW9uIG5uKGUsdCxyKXtsZXR7bm9kZTpufT1lO3JldHVybltcIi4uLlwiLC4uLm4udHlwZT09PVwiVHVwbGVUeXBlU3ByZWFkRWxlbWVudFwiJiZuLmxhYmVsP1tyKFwibGFiZWxcIiksXCI6IFwiXTpbXSxyKFwidHlwZUFubm90YXRpb25cIildfWZ1bmN0aW9uIHNuKGUsdCxyKXtsZXR7bm9kZTpufT1lO3JldHVybltuLnZhcmlhbmNlP3IoXCJ2YXJpYW5jZVwiKTpcIlwiLHIoXCJsYWJlbFwiKSxuLm9wdGlvbmFsP1wiP1wiOlwiXCIsXCI6IFwiLHIoXCJlbGVtZW50VHlwZVwiKV19dmFyIGFsPW5ldyBXZWFrU2V0O2Z1bmN0aW9uIE4oZSx0LHI9XCJ0eXBlQW5ub3RhdGlvblwiKXtsZXR7bm9kZTp7W3JdOm59fT1lO2lmKCFuKXJldHVyblwiXCI7bGV0IHM9ITE7aWYobi50eXBlPT09XCJUU1R5cGVBbm5vdGF0aW9uXCJ8fG4udHlwZT09PVwiVHlwZUFubm90YXRpb25cIil7bGV0IHU9ZS5jYWxsKEppLHIpOyh1PT09XCI9PlwifHx1PT09XCI6XCImJmQobixoLkxlYWRpbmcpKSYmKHM9ITApLGFsLmFkZChuKX1yZXR1cm4gcz9bXCIgXCIsdChyKV06dChyKX12YXIgSmk9ZT0+ZS5tYXRjaCh0PT50LnR5cGU9PT1cIlRTVHlwZUFubm90YXRpb25cIiwodCxyKT0+KHI9PT1cInJldHVyblR5cGVcInx8cj09PVwidHlwZUFubm90YXRpb25cIikmJih0LnR5cGU9PT1cIlRTRnVuY3Rpb25UeXBlXCJ8fHQudHlwZT09PVwiVFNDb25zdHJ1Y3RvclR5cGVcIikpP1wiPT5cIjplLm1hdGNoKHQ9PnQudHlwZT09PVwiVFNUeXBlQW5ub3RhdGlvblwiLCh0LHIpPT5yPT09XCJ0eXBlQW5ub3RhdGlvblwiJiYodC50eXBlPT09XCJUU0pTRG9jTnVsbGFibGVUeXBlXCJ8fHQudHlwZT09PVwiVFNKU0RvY05vbk51bGxhYmxlVHlwZVwifHx0LnR5cGU9PT1cIlRTVHlwZVByZWRpY2F0ZVwiKSl8fGUubWF0Y2godD0+dC50eXBlPT09XCJUeXBlQW5ub3RhdGlvblwiLCh0LHIpPT5yPT09XCJ0eXBlQW5ub3RhdGlvblwiJiZ0LnR5cGU9PT1cIklkZW50aWZpZXJcIiwodCxyKT0+cj09PVwiaWRcIiYmdC50eXBlPT09XCJEZWNsYXJlRnVuY3Rpb25cIil8fGUubWF0Y2godD0+dC50eXBlPT09XCJUeXBlQW5ub3RhdGlvblwiLCh0LHIpPT5yPT09XCJ0eXBlQW5ub3RhdGlvblwiJiZ0LnR5cGU9PT1cIklkZW50aWZpZXJcIiwodCxyKT0+cj09PVwiaWRcIiYmdC50eXBlPT09XCJEZWNsYXJlSG9va1wiKXx8ZS5tYXRjaCh0PT50LnR5cGU9PT1cIlR5cGVBbm5vdGF0aW9uXCIsKHQscik9PnI9PT1cImJvdW5kXCImJnQudHlwZT09PVwiVHlwZVBhcmFtZXRlclwiJiZ0LnVzZXNFeHRlbmRzQm91bmQpP1wiXCI6XCI6XCI7ZnVuY3Rpb24gdW4oZSx0LHIpe2xldCBuPUppKGUpO3JldHVybiBuP1tuLFwiIFwiLHIoXCJ0eXBlQW5ub3RhdGlvblwiKV06cihcInR5cGVBbm5vdGF0aW9uXCIpfWZ1bmN0aW9uIGFuKGUpe3JldHVybltlKFwiZWxlbWVudFR5cGVcIiksXCJbXVwiXX1mdW5jdGlvbiBvbih7bm9kZTplfSx0KXtsZXQgcj1lLnR5cGU9PT1cIlRTVHlwZVF1ZXJ5XCI/XCJleHByTmFtZVwiOlwiYXJndW1lbnRcIixuPWUudHlwZT09PVwiVHlwZW9mVHlwZUFubm90YXRpb25cInx8ZS50eXBlQXJndW1lbnRzP1widHlwZUFyZ3VtZW50c1wiOlwidHlwZVBhcmFtZXRlcnNcIjtyZXR1cm5bXCJ0eXBlb2YgXCIsdChyKSx0KG4pXX1mdW5jdGlvbiBwbihlLHQpe2xldHtub2RlOnJ9PWU7cmV0dXJuW3IudHlwZT09PVwiVFNUeXBlUHJlZGljYXRlXCImJnIuYXNzZXJ0cz9cImFzc2VydHMgXCI6ci50eXBlPT09XCJUeXBlUHJlZGljYXRlXCImJnIua2luZD9gJHtyLmtpbmR9IGA6XCJcIix0KFwicGFyYW1ldGVyTmFtZVwiKSxyLnR5cGVBbm5vdGF0aW9uP1tcIiBpcyBcIixOKGUsdCldOlwiXCJdfWZ1bmN0aW9uICQoZSl7bGV0e25vZGU6dH09ZTtyZXR1cm4hdC5vcHRpb25hbHx8dC50eXBlPT09XCJJZGVudGlmaWVyXCImJnQ9PT1lLnBhcmVudC5rZXk/XCJcIjpMKHQpfHxXKHQpJiZ0LmNvbXB1dGVkfHx0LnR5cGU9PT1cIk9wdGlvbmFsSW5kZXhlZEFjY2Vzc1R5cGVcIj9cIj8uXCI6XCI/XCJ9ZnVuY3Rpb24gY24oZSl7cmV0dXJuIGUubm9kZS5kZWZpbml0ZXx8ZS5tYXRjaCh2b2lkIDAsKHQscik9PnI9PT1cImlkXCImJnQudHlwZT09PVwiVmFyaWFibGVEZWNsYXJhdG9yXCImJnQuZGVmaW5pdGUpP1wiIVwiOlwiXCJ9dmFyIG9sPW5ldyBTZXQoW1wiRGVjbGFyZUNsYXNzXCIsXCJEZWNsYXJlQ29tcG9uZW50XCIsXCJEZWNsYXJlRnVuY3Rpb25cIixcIkRlY2xhcmVIb29rXCIsXCJEZWNsYXJlVmFyaWFibGVcIixcIkRlY2xhcmVFeHBvcnREZWNsYXJhdGlvblwiLFwiRGVjbGFyZUV4cG9ydEFsbERlY2xhcmF0aW9uXCIsXCJEZWNsYXJlT3BhcXVlVHlwZVwiLFwiRGVjbGFyZVR5cGVBbGlhc1wiLFwiRGVjbGFyZUVudW1cIixcIkRlY2xhcmVJbnRlcmZhY2VcIl0pO2Z1bmN0aW9uIEsoZSl7bGV0e25vZGU6dH09ZTtyZXR1cm4gdC5kZWNsYXJlfHxvbC5oYXModC50eXBlKSYmZS5wYXJlbnQudHlwZSE9PVwiRGVjbGFyZUV4cG9ydERlY2xhcmF0aW9uXCI/XCJkZWNsYXJlIFwiOlwiXCJ9dmFyIHBsPW5ldyBTZXQoW1wiVFNBYnN0cmFjdE1ldGhvZERlZmluaXRpb25cIixcIlRTQWJzdHJhY3RQcm9wZXJ0eURlZmluaXRpb25cIixcIlRTQWJzdHJhY3RBY2Nlc3NvclByb3BlcnR5XCJdKTtmdW5jdGlvbiBIdCh7bm9kZTplfSl7cmV0dXJuIGUuYWJzdHJhY3R8fHBsLmhhcyhlLnR5cGUpP1wiYWJzdHJhY3QgXCI6XCJcIn1mdW5jdGlvbiBRZShlLHQscil7bGV0IG49ZS5ub2RlO3JldHVybiBuLnR5cGVBcmd1bWVudHM/cihcInR5cGVBcmd1bWVudHNcIik6bi50eXBlUGFyYW1ldGVycz9yKFwidHlwZVBhcmFtZXRlcnNcIik6XCJcIn1mdW5jdGlvbiBWcihlLHQscil7cmV0dXJuW1wiOjpcIixyKFwiY2FsbGVlXCIpXX1mdW5jdGlvbiBEdChlLHQscil7cmV0dXJuIGUudHlwZT09PVwiRW1wdHlTdGF0ZW1lbnRcIj9cIjtcIjplLnR5cGU9PT1cIkJsb2NrU3RhdGVtZW50XCJ8fHI/W1wiIFwiLHRdOmYoW3gsdF0pfWZ1bmN0aW9uIGxuKGUsdCl7cmV0dXJuW1wiLi4uXCIsdChcImFyZ3VtZW50XCIpLE4oZSx0KV19ZnVuY3Rpb24gTnQoZSl7cmV0dXJuIGUuYWNjZXNzaWJpbGl0eT9lLmFjY2Vzc2liaWxpdHkrXCIgXCI6XCJcIn1mdW5jdGlvbiBjbChlLHQscixuKXtsZXR7bm9kZTpzfT1lLHU9cy5pbmV4YWN0P1wiLi4uXCI6XCJcIjtyZXR1cm4gZChzLGguRGFuZ2xpbmcpP2woW3IsdSxKKGUsdCx7aW5kZW50OiEwfSksRSxuXSk6W3IsdSxuXX1mdW5jdGlvbiBWdChlLHQscil7bGV0e25vZGU6bn09ZSxzPVtdLHU9bi50eXBlPT09XCJUdXBsZUV4cHJlc3Npb25cIj9cIiNbXCI6XCJbXCIsaT1cIl1cIixhPW4udHlwZT09PVwiVHVwbGVUeXBlQW5ub3RhdGlvblwiJiZuLnR5cGVzP1widHlwZXNcIjpuLnR5cGU9PT1cIlRTVHVwbGVUeXBlXCJ8fG4udHlwZT09PVwiVHVwbGVUeXBlQW5ub3RhdGlvblwiP1wiZWxlbWVudFR5cGVzXCI6XCJlbGVtZW50c1wiLHA9blthXTtpZihwLmxlbmd0aD09PTApcy5wdXNoKGNsKGUsdCx1LGkpKTtlbHNle2xldCBvPV8oITEscCwtMSksbT0obz09bnVsbD92b2lkIDA6by50eXBlKSE9PVwiUmVzdEVsZW1lbnRcIiYmIW4uaW5leGFjdCx5PW89PT1udWxsLEQ9U3ltYm9sKFwiYXJyYXlcIiksQz0hdC5fX2luSmVzdEVhY2gmJnAubGVuZ3RoPjEmJnAuZXZlcnkoKFQsUyxnKT0+e2xldCBNPVQ9PW51bGw/dm9pZCAwOlQudHlwZTtpZighWChUKSYmIXNlKFQpKXJldHVybiExO2xldCBSPWdbUysxXTtpZihSJiZNIT09Ui50eXBlKXJldHVybiExO2xldCBqPVgoVCk/XCJlbGVtZW50c1wiOlwicHJvcGVydGllc1wiO3JldHVybiBUW2pdJiZUW2pdLmxlbmd0aD4xfSksYz1mcyhuLHQpLEE9bT95P1wiLFwiOmFlKHQpP2M/QihcIixcIixcIlwiLHtncm91cElkOkR9KTpCKFwiLFwiKTpcIlwiOlwiXCI7cy5wdXNoKGwoW3UsZihbRSxjP21sKGUsdCxyLEEpOltsbChlLHQsYSxuLmluZXhhY3QsciksQV0sSihlLHQpXSksRSxpXSx7c2hvdWxkQnJlYWs6QyxpZDpEfSkpfXJldHVybiBzLnB1c2goJChlKSxOKGUscikpLHN9ZnVuY3Rpb24gZnMoZSx0KXtyZXR1cm4gWChlKSYmZS5lbGVtZW50cy5sZW5ndGg+MSYmZS5lbGVtZW50cy5ldmVyeShyPT5yJiYoRmUocil8fGpuKHIpJiYhZChyLmFyZ3VtZW50KSkmJiFkKHIsaC5UcmFpbGluZ3xoLkxpbmUsbj0+IVoodC5vcmlnaW5hbFRleHQscShuKSx7YmFja3dhcmRzOiEwfSkpKX1mdW5jdGlvbiBxaSh7bm9kZTplfSx7b3JpZ2luYWxUZXh0OnR9KXtsZXQgcj1zPT5PdCh0LF90KHQscykpLG49cz0+dFtzXT09PVwiLFwiP3M6bihyKHMrMSkpO3JldHVybiBqdCh0LG4oayhlKSkpfWZ1bmN0aW9uIGxsKGUsdCxyLG4scyl7bGV0IHU9W107cmV0dXJuIGUuZWFjaCgoe25vZGU6aSxpc0xhc3Q6YX0pPT57dS5wdXNoKGk/bChzKCkpOlwiXCIpLCghYXx8bikmJnUucHVzaChbXCIsXCIseCxpJiZxaShlLHQpP0U6XCJcIl0pfSxyKSxuJiZ1LnB1c2goXCIuLi5cIiksdX1mdW5jdGlvbiBtbChlLHQscixuKXtsZXQgcz1bXTtyZXR1cm4gZS5lYWNoKCh7aXNMYXN0OnUsbmV4dDppfSk9PntzLnB1c2goW3IoKSx1P246XCIsXCJdKSx1fHxzLnB1c2gocWkoZSx0KT9bRixGXTpkKGksaC5MZWFkaW5nfGguTGluZSk/Rjp4KX0sXCJlbGVtZW50c1wiKSxScihzKX12YXIgeWw9L15bXFwkQS1aX2EtelxceEFBXFx4QjVcXHhCQVxceEMwLVxceEQ2XFx4RDgtXFx4RjZcXHhGOC1cXHUwMkMxXFx1MDJDNi1cXHUwMkQxXFx1MDJFMC1cXHUwMkU0XFx1MDJFQ1xcdTAyRUVcXHUwMzcwLVxcdTAzNzRcXHUwMzc2XFx1MDM3N1xcdTAzN0EtXFx1MDM3RFxcdTAzN0ZcXHUwMzg2XFx1MDM4OC1cXHUwMzhBXFx1MDM4Q1xcdTAzOEUtXFx1MDNBMVxcdTAzQTMtXFx1MDNGNVxcdTAzRjctXFx1MDQ4MVxcdTA0OEEtXFx1MDUyRlxcdTA1MzEtXFx1MDU1NlxcdTA1NTlcXHUwNTYxLVxcdTA1ODdcXHUwNUQwLVxcdTA1RUFcXHUwNUYwLVxcdTA1RjJcXHUwNjIwLVxcdTA2NEFcXHUwNjZFXFx1MDY2RlxcdTA2NzEtXFx1MDZEM1xcdTA2RDVcXHUwNkU1XFx1MDZFNlxcdTA2RUVcXHUwNkVGXFx1MDZGQS1cXHUwNkZDXFx1MDZGRlxcdTA3MTBcXHUwNzEyLVxcdTA3MkZcXHUwNzRELVxcdTA3QTVcXHUwN0IxXFx1MDdDQS1cXHUwN0VBXFx1MDdGNFxcdTA3RjVcXHUwN0ZBXFx1MDgwMC1cXHUwODE1XFx1MDgxQVxcdTA4MjRcXHUwODI4XFx1MDg0MC1cXHUwODU4XFx1MDhBMC1cXHUwOEI0XFx1MDhCNi1cXHUwOEJEXFx1MDkwNC1cXHUwOTM5XFx1MDkzRFxcdTA5NTBcXHUwOTU4LVxcdTA5NjFcXHUwOTcxLVxcdTA5ODBcXHUwOTg1LVxcdTA5OENcXHUwOThGXFx1MDk5MFxcdTA5OTMtXFx1MDlBOFxcdTA5QUEtXFx1MDlCMFxcdTA5QjJcXHUwOUI2LVxcdTA5QjlcXHUwOUJEXFx1MDlDRVxcdTA5RENcXHUwOUREXFx1MDlERi1cXHUwOUUxXFx1MDlGMFxcdTA5RjFcXHUwQTA1LVxcdTBBMEFcXHUwQTBGXFx1MEExMFxcdTBBMTMtXFx1MEEyOFxcdTBBMkEtXFx1MEEzMFxcdTBBMzJcXHUwQTMzXFx1MEEzNVxcdTBBMzZcXHUwQTM4XFx1MEEzOVxcdTBBNTktXFx1MEE1Q1xcdTBBNUVcXHUwQTcyLVxcdTBBNzRcXHUwQTg1LVxcdTBBOERcXHUwQThGLVxcdTBBOTFcXHUwQTkzLVxcdTBBQThcXHUwQUFBLVxcdTBBQjBcXHUwQUIyXFx1MEFCM1xcdTBBQjUtXFx1MEFCOVxcdTBBQkRcXHUwQUQwXFx1MEFFMFxcdTBBRTFcXHUwQUY5XFx1MEIwNS1cXHUwQjBDXFx1MEIwRlxcdTBCMTBcXHUwQjEzLVxcdTBCMjhcXHUwQjJBLVxcdTBCMzBcXHUwQjMyXFx1MEIzM1xcdTBCMzUtXFx1MEIzOVxcdTBCM0RcXHUwQjVDXFx1MEI1RFxcdTBCNUYtXFx1MEI2MVxcdTBCNzFcXHUwQjgzXFx1MEI4NS1cXHUwQjhBXFx1MEI4RS1cXHUwQjkwXFx1MEI5Mi1cXHUwQjk1XFx1MEI5OVxcdTBCOUFcXHUwQjlDXFx1MEI5RVxcdTBCOUZcXHUwQkEzXFx1MEJBNFxcdTBCQTgtXFx1MEJBQVxcdTBCQUUtXFx1MEJCOVxcdTBCRDBcXHUwQzA1LVxcdTBDMENcXHUwQzBFLVxcdTBDMTBcXHUwQzEyLVxcdTBDMjhcXHUwQzJBLVxcdTBDMzlcXHUwQzNEXFx1MEM1OC1cXHUwQzVBXFx1MEM2MFxcdTBDNjFcXHUwQzgwXFx1MEM4NS1cXHUwQzhDXFx1MEM4RS1cXHUwQzkwXFx1MEM5Mi1cXHUwQ0E4XFx1MENBQS1cXHUwQ0IzXFx1MENCNS1cXHUwQ0I5XFx1MENCRFxcdTBDREVcXHUwQ0UwXFx1MENFMVxcdTBDRjFcXHUwQ0YyXFx1MEQwNS1cXHUwRDBDXFx1MEQwRS1cXHUwRDEwXFx1MEQxMi1cXHUwRDNBXFx1MEQzRFxcdTBENEVcXHUwRDU0LVxcdTBENTZcXHUwRDVGLVxcdTBENjFcXHUwRDdBLVxcdTBEN0ZcXHUwRDg1LVxcdTBEOTZcXHUwRDlBLVxcdTBEQjFcXHUwREIzLVxcdTBEQkJcXHUwREJEXFx1MERDMC1cXHUwREM2XFx1MEUwMS1cXHUwRTMwXFx1MEUzMlxcdTBFMzNcXHUwRTQwLVxcdTBFNDZcXHUwRTgxXFx1MEU4MlxcdTBFODRcXHUwRTg3XFx1MEU4OFxcdTBFOEFcXHUwRThEXFx1MEU5NC1cXHUwRTk3XFx1MEU5OS1cXHUwRTlGXFx1MEVBMS1cXHUwRUEzXFx1MEVBNVxcdTBFQTdcXHUwRUFBXFx1MEVBQlxcdTBFQUQtXFx1MEVCMFxcdTBFQjJcXHUwRUIzXFx1MEVCRFxcdTBFQzAtXFx1MEVDNFxcdTBFQzZcXHUwRURDLVxcdTBFREZcXHUwRjAwXFx1MEY0MC1cXHUwRjQ3XFx1MEY0OS1cXHUwRjZDXFx1MEY4OC1cXHUwRjhDXFx1MTAwMC1cXHUxMDJBXFx1MTAzRlxcdTEwNTAtXFx1MTA1NVxcdTEwNUEtXFx1MTA1RFxcdTEwNjFcXHUxMDY1XFx1MTA2NlxcdTEwNkUtXFx1MTA3MFxcdTEwNzUtXFx1MTA4MVxcdTEwOEVcXHUxMEEwLVxcdTEwQzVcXHUxMEM3XFx1MTBDRFxcdTEwRDAtXFx1MTBGQVxcdTEwRkMtXFx1MTI0OFxcdTEyNEEtXFx1MTI0RFxcdTEyNTAtXFx1MTI1NlxcdTEyNThcXHUxMjVBLVxcdTEyNURcXHUxMjYwLVxcdTEyODhcXHUxMjhBLVxcdTEyOERcXHUxMjkwLVxcdTEyQjBcXHUxMkIyLVxcdTEyQjVcXHUxMkI4LVxcdTEyQkVcXHUxMkMwXFx1MTJDMi1cXHUxMkM1XFx1MTJDOC1cXHUxMkQ2XFx1MTJEOC1cXHUxMzEwXFx1MTMxMi1cXHUxMzE1XFx1MTMxOC1cXHUxMzVBXFx1MTM4MC1cXHUxMzhGXFx1MTNBMC1cXHUxM0Y1XFx1MTNGOC1cXHUxM0ZEXFx1MTQwMS1cXHUxNjZDXFx1MTY2Ri1cXHUxNjdGXFx1MTY4MS1cXHUxNjlBXFx1MTZBMC1cXHUxNkVBXFx1MTZFRS1cXHUxNkY4XFx1MTcwMC1cXHUxNzBDXFx1MTcwRS1cXHUxNzExXFx1MTcyMC1cXHUxNzMxXFx1MTc0MC1cXHUxNzUxXFx1MTc2MC1cXHUxNzZDXFx1MTc2RS1cXHUxNzcwXFx1MTc4MC1cXHUxN0IzXFx1MTdEN1xcdTE3RENcXHUxODIwLVxcdTE4NzdcXHUxODgwLVxcdTE4ODRcXHUxODg3LVxcdTE4QThcXHUxOEFBXFx1MThCMC1cXHUxOEY1XFx1MTkwMC1cXHUxOTFFXFx1MTk1MC1cXHUxOTZEXFx1MTk3MC1cXHUxOTc0XFx1MTk4MC1cXHUxOUFCXFx1MTlCMC1cXHUxOUM5XFx1MUEwMC1cXHUxQTE2XFx1MUEyMC1cXHUxQTU0XFx1MUFBN1xcdTFCMDUtXFx1MUIzM1xcdTFCNDUtXFx1MUI0QlxcdTFCODMtXFx1MUJBMFxcdTFCQUVcXHUxQkFGXFx1MUJCQS1cXHUxQkU1XFx1MUMwMC1cXHUxQzIzXFx1MUM0RC1cXHUxQzRGXFx1MUM1QS1cXHUxQzdEXFx1MUM4MC1cXHUxQzg4XFx1MUNFOS1cXHUxQ0VDXFx1MUNFRS1cXHUxQ0YxXFx1MUNGNVxcdTFDRjZcXHUxRDAwLVxcdTFEQkZcXHUxRTAwLVxcdTFGMTVcXHUxRjE4LVxcdTFGMURcXHUxRjIwLVxcdTFGNDVcXHUxRjQ4LVxcdTFGNERcXHUxRjUwLVxcdTFGNTdcXHUxRjU5XFx1MUY1QlxcdTFGNURcXHUxRjVGLVxcdTFGN0RcXHUxRjgwLVxcdTFGQjRcXHUxRkI2LVxcdTFGQkNcXHUxRkJFXFx1MUZDMi1cXHUxRkM0XFx1MUZDNi1cXHUxRkNDXFx1MUZEMC1cXHUxRkQzXFx1MUZENi1cXHUxRkRCXFx1MUZFMC1cXHUxRkVDXFx1MUZGMi1cXHUxRkY0XFx1MUZGNi1cXHUxRkZDXFx1MjA3MVxcdTIwN0ZcXHUyMDkwLVxcdTIwOUNcXHUyMTAyXFx1MjEwN1xcdTIxMEEtXFx1MjExM1xcdTIxMTVcXHUyMTE5LVxcdTIxMURcXHUyMTI0XFx1MjEyNlxcdTIxMjhcXHUyMTJBLVxcdTIxMkRcXHUyMTJGLVxcdTIxMzlcXHUyMTNDLVxcdTIxM0ZcXHUyMTQ1LVxcdTIxNDlcXHUyMTRFXFx1MjE2MC1cXHUyMTg4XFx1MkMwMC1cXHUyQzJFXFx1MkMzMC1cXHUyQzVFXFx1MkM2MC1cXHUyQ0U0XFx1MkNFQi1cXHUyQ0VFXFx1MkNGMlxcdTJDRjNcXHUyRDAwLVxcdTJEMjVcXHUyRDI3XFx1MkQyRFxcdTJEMzAtXFx1MkQ2N1xcdTJENkZcXHUyRDgwLVxcdTJEOTZcXHUyREEwLVxcdTJEQTZcXHUyREE4LVxcdTJEQUVcXHUyREIwLVxcdTJEQjZcXHUyREI4LVxcdTJEQkVcXHUyREMwLVxcdTJEQzZcXHUyREM4LVxcdTJEQ0VcXHUyREQwLVxcdTJERDZcXHUyREQ4LVxcdTJEREVcXHUyRTJGXFx1MzAwNS1cXHUzMDA3XFx1MzAyMS1cXHUzMDI5XFx1MzAzMS1cXHUzMDM1XFx1MzAzOC1cXHUzMDNDXFx1MzA0MS1cXHUzMDk2XFx1MzA5RC1cXHUzMDlGXFx1MzBBMS1cXHUzMEZBXFx1MzBGQy1cXHUzMEZGXFx1MzEwNS1cXHUzMTJEXFx1MzEzMS1cXHUzMThFXFx1MzFBMC1cXHUzMUJBXFx1MzFGMC1cXHUzMUZGXFx1MzQwMC1cXHU0REI1XFx1NEUwMC1cXHU5RkQ1XFx1QTAwMC1cXHVBNDhDXFx1QTREMC1cXHVBNEZEXFx1QTUwMC1cXHVBNjBDXFx1QTYxMC1cXHVBNjFGXFx1QTYyQVxcdUE2MkJcXHVBNjQwLVxcdUE2NkVcXHVBNjdGLVxcdUE2OURcXHVBNkEwLVxcdUE2RUZcXHVBNzE3LVxcdUE3MUZcXHVBNzIyLVxcdUE3ODhcXHVBNzhCLVxcdUE3QUVcXHVBN0IwLVxcdUE3QjdcXHVBN0Y3LVxcdUE4MDFcXHVBODAzLVxcdUE4MDVcXHVBODA3LVxcdUE4MEFcXHVBODBDLVxcdUE4MjJcXHVBODQwLVxcdUE4NzNcXHVBODgyLVxcdUE4QjNcXHVBOEYyLVxcdUE4RjdcXHVBOEZCXFx1QThGRFxcdUE5MEEtXFx1QTkyNVxcdUE5MzAtXFx1QTk0NlxcdUE5NjAtXFx1QTk3Q1xcdUE5ODQtXFx1QTlCMlxcdUE5Q0ZcXHVBOUUwLVxcdUE5RTRcXHVBOUU2LVxcdUE5RUZcXHVBOUZBLVxcdUE5RkVcXHVBQTAwLVxcdUFBMjhcXHVBQTQwLVxcdUFBNDJcXHVBQTQ0LVxcdUFBNEJcXHVBQTYwLVxcdUFBNzZcXHVBQTdBXFx1QUE3RS1cXHVBQUFGXFx1QUFCMVxcdUFBQjVcXHVBQUI2XFx1QUFCOS1cXHVBQUJEXFx1QUFDMFxcdUFBQzJcXHVBQURCLVxcdUFBRERcXHVBQUUwLVxcdUFBRUFcXHVBQUYyLVxcdUFBRjRcXHVBQjAxLVxcdUFCMDZcXHVBQjA5LVxcdUFCMEVcXHVBQjExLVxcdUFCMTZcXHVBQjIwLVxcdUFCMjZcXHVBQjI4LVxcdUFCMkVcXHVBQjMwLVxcdUFCNUFcXHVBQjVDLVxcdUFCNjVcXHVBQjcwLVxcdUFCRTJcXHVBQzAwLVxcdUQ3QTNcXHVEN0IwLVxcdUQ3QzZcXHVEN0NCLVxcdUQ3RkJcXHVGOTAwLVxcdUZBNkRcXHVGQTcwLVxcdUZBRDlcXHVGQjAwLVxcdUZCMDZcXHVGQjEzLVxcdUZCMTdcXHVGQjFEXFx1RkIxRi1cXHVGQjI4XFx1RkIyQS1cXHVGQjM2XFx1RkIzOC1cXHVGQjNDXFx1RkIzRVxcdUZCNDBcXHVGQjQxXFx1RkI0M1xcdUZCNDRcXHVGQjQ2LVxcdUZCQjFcXHVGQkQzLVxcdUZEM0RcXHVGRDUwLVxcdUZEOEZcXHVGRDkyLVxcdUZEQzdcXHVGREYwLVxcdUZERkJcXHVGRTcwLVxcdUZFNzRcXHVGRTc2LVxcdUZFRkNcXHVGRjIxLVxcdUZGM0FcXHVGRjQxLVxcdUZGNUFcXHVGRjY2LVxcdUZGQkVcXHVGRkMyLVxcdUZGQzdcXHVGRkNBLVxcdUZGQ0ZcXHVGRkQyLVxcdUZGRDdcXHVGRkRBLVxcdUZGRENdW1xcJDAtOUEtWl9hLXpcXHhBQVxceEI1XFx4QkFcXHhDMC1cXHhENlxceEQ4LVxceEY2XFx4RjgtXFx1MDJDMVxcdTAyQzYtXFx1MDJEMVxcdTAyRTAtXFx1MDJFNFxcdTAyRUNcXHUwMkVFXFx1MDMwMC1cXHUwMzc0XFx1MDM3NlxcdTAzNzdcXHUwMzdBLVxcdTAzN0RcXHUwMzdGXFx1MDM4NlxcdTAzODgtXFx1MDM4QVxcdTAzOENcXHUwMzhFLVxcdTAzQTFcXHUwM0EzLVxcdTAzRjVcXHUwM0Y3LVxcdTA0ODFcXHUwNDgzLVxcdTA0ODdcXHUwNDhBLVxcdTA1MkZcXHUwNTMxLVxcdTA1NTZcXHUwNTU5XFx1MDU2MS1cXHUwNTg3XFx1MDU5MS1cXHUwNUJEXFx1MDVCRlxcdTA1QzFcXHUwNUMyXFx1MDVDNFxcdTA1QzVcXHUwNUM3XFx1MDVEMC1cXHUwNUVBXFx1MDVGMC1cXHUwNUYyXFx1MDYxMC1cXHUwNjFBXFx1MDYyMC1cXHUwNjY5XFx1MDY2RS1cXHUwNkQzXFx1MDZENS1cXHUwNkRDXFx1MDZERi1cXHUwNkU4XFx1MDZFQS1cXHUwNkZDXFx1MDZGRlxcdTA3MTAtXFx1MDc0QVxcdTA3NEQtXFx1MDdCMVxcdTA3QzAtXFx1MDdGNVxcdTA3RkFcXHUwODAwLVxcdTA4MkRcXHUwODQwLVxcdTA4NUJcXHUwOEEwLVxcdTA4QjRcXHUwOEI2LVxcdTA4QkRcXHUwOEQ0LVxcdTA4RTFcXHUwOEUzLVxcdTA5NjNcXHUwOTY2LVxcdTA5NkZcXHUwOTcxLVxcdTA5ODNcXHUwOTg1LVxcdTA5OENcXHUwOThGXFx1MDk5MFxcdTA5OTMtXFx1MDlBOFxcdTA5QUEtXFx1MDlCMFxcdTA5QjJcXHUwOUI2LVxcdTA5QjlcXHUwOUJDLVxcdTA5QzRcXHUwOUM3XFx1MDlDOFxcdTA5Q0ItXFx1MDlDRVxcdTA5RDdcXHUwOURDXFx1MDlERFxcdTA5REYtXFx1MDlFM1xcdTA5RTYtXFx1MDlGMVxcdTBBMDEtXFx1MEEwM1xcdTBBMDUtXFx1MEEwQVxcdTBBMEZcXHUwQTEwXFx1MEExMy1cXHUwQTI4XFx1MEEyQS1cXHUwQTMwXFx1MEEzMlxcdTBBMzNcXHUwQTM1XFx1MEEzNlxcdTBBMzhcXHUwQTM5XFx1MEEzQ1xcdTBBM0UtXFx1MEE0MlxcdTBBNDdcXHUwQTQ4XFx1MEE0Qi1cXHUwQTREXFx1MEE1MVxcdTBBNTktXFx1MEE1Q1xcdTBBNUVcXHUwQTY2LVxcdTBBNzVcXHUwQTgxLVxcdTBBODNcXHUwQTg1LVxcdTBBOERcXHUwQThGLVxcdTBBOTFcXHUwQTkzLVxcdTBBQThcXHUwQUFBLVxcdTBBQjBcXHUwQUIyXFx1MEFCM1xcdTBBQjUtXFx1MEFCOVxcdTBBQkMtXFx1MEFDNVxcdTBBQzctXFx1MEFDOVxcdTBBQ0ItXFx1MEFDRFxcdTBBRDBcXHUwQUUwLVxcdTBBRTNcXHUwQUU2LVxcdTBBRUZcXHUwQUY5XFx1MEIwMS1cXHUwQjAzXFx1MEIwNS1cXHUwQjBDXFx1MEIwRlxcdTBCMTBcXHUwQjEzLVxcdTBCMjhcXHUwQjJBLVxcdTBCMzBcXHUwQjMyXFx1MEIzM1xcdTBCMzUtXFx1MEIzOVxcdTBCM0MtXFx1MEI0NFxcdTBCNDdcXHUwQjQ4XFx1MEI0Qi1cXHUwQjREXFx1MEI1NlxcdTBCNTdcXHUwQjVDXFx1MEI1RFxcdTBCNUYtXFx1MEI2M1xcdTBCNjYtXFx1MEI2RlxcdTBCNzFcXHUwQjgyXFx1MEI4M1xcdTBCODUtXFx1MEI4QVxcdTBCOEUtXFx1MEI5MFxcdTBCOTItXFx1MEI5NVxcdTBCOTlcXHUwQjlBXFx1MEI5Q1xcdTBCOUVcXHUwQjlGXFx1MEJBM1xcdTBCQTRcXHUwQkE4LVxcdTBCQUFcXHUwQkFFLVxcdTBCQjlcXHUwQkJFLVxcdTBCQzJcXHUwQkM2LVxcdTBCQzhcXHUwQkNBLVxcdTBCQ0RcXHUwQkQwXFx1MEJEN1xcdTBCRTYtXFx1MEJFRlxcdTBDMDAtXFx1MEMwM1xcdTBDMDUtXFx1MEMwQ1xcdTBDMEUtXFx1MEMxMFxcdTBDMTItXFx1MEMyOFxcdTBDMkEtXFx1MEMzOVxcdTBDM0QtXFx1MEM0NFxcdTBDNDYtXFx1MEM0OFxcdTBDNEEtXFx1MEM0RFxcdTBDNTVcXHUwQzU2XFx1MEM1OC1cXHUwQzVBXFx1MEM2MC1cXHUwQzYzXFx1MEM2Ni1cXHUwQzZGXFx1MEM4MC1cXHUwQzgzXFx1MEM4NS1cXHUwQzhDXFx1MEM4RS1cXHUwQzkwXFx1MEM5Mi1cXHUwQ0E4XFx1MENBQS1cXHUwQ0IzXFx1MENCNS1cXHUwQ0I5XFx1MENCQy1cXHUwQ0M0XFx1MENDNi1cXHUwQ0M4XFx1MENDQS1cXHUwQ0NEXFx1MENENVxcdTBDRDZcXHUwQ0RFXFx1MENFMC1cXHUwQ0UzXFx1MENFNi1cXHUwQ0VGXFx1MENGMVxcdTBDRjJcXHUwRDAxLVxcdTBEMDNcXHUwRDA1LVxcdTBEMENcXHUwRDBFLVxcdTBEMTBcXHUwRDEyLVxcdTBEM0FcXHUwRDNELVxcdTBENDRcXHUwRDQ2LVxcdTBENDhcXHUwRDRBLVxcdTBENEVcXHUwRDU0LVxcdTBENTdcXHUwRDVGLVxcdTBENjNcXHUwRDY2LVxcdTBENkZcXHUwRDdBLVxcdTBEN0ZcXHUwRDgyXFx1MEQ4M1xcdTBEODUtXFx1MEQ5NlxcdTBEOUEtXFx1MERCMVxcdTBEQjMtXFx1MERCQlxcdTBEQkRcXHUwREMwLVxcdTBEQzZcXHUwRENBXFx1MERDRi1cXHUwREQ0XFx1MERENlxcdTBERDgtXFx1MERERlxcdTBERTYtXFx1MERFRlxcdTBERjJcXHUwREYzXFx1MEUwMS1cXHUwRTNBXFx1MEU0MC1cXHUwRTRFXFx1MEU1MC1cXHUwRTU5XFx1MEU4MVxcdTBFODJcXHUwRTg0XFx1MEU4N1xcdTBFODhcXHUwRThBXFx1MEU4RFxcdTBFOTQtXFx1MEU5N1xcdTBFOTktXFx1MEU5RlxcdTBFQTEtXFx1MEVBM1xcdTBFQTVcXHUwRUE3XFx1MEVBQVxcdTBFQUJcXHUwRUFELVxcdTBFQjlcXHUwRUJCLVxcdTBFQkRcXHUwRUMwLVxcdTBFQzRcXHUwRUM2XFx1MEVDOC1cXHUwRUNEXFx1MEVEMC1cXHUwRUQ5XFx1MEVEQy1cXHUwRURGXFx1MEYwMFxcdTBGMThcXHUwRjE5XFx1MEYyMC1cXHUwRjI5XFx1MEYzNVxcdTBGMzdcXHUwRjM5XFx1MEYzRS1cXHUwRjQ3XFx1MEY0OS1cXHUwRjZDXFx1MEY3MS1cXHUwRjg0XFx1MEY4Ni1cXHUwRjk3XFx1MEY5OS1cXHUwRkJDXFx1MEZDNlxcdTEwMDAtXFx1MTA0OVxcdTEwNTAtXFx1MTA5RFxcdTEwQTAtXFx1MTBDNVxcdTEwQzdcXHUxMENEXFx1MTBEMC1cXHUxMEZBXFx1MTBGQy1cXHUxMjQ4XFx1MTI0QS1cXHUxMjREXFx1MTI1MC1cXHUxMjU2XFx1MTI1OFxcdTEyNUEtXFx1MTI1RFxcdTEyNjAtXFx1MTI4OFxcdTEyOEEtXFx1MTI4RFxcdTEyOTAtXFx1MTJCMFxcdTEyQjItXFx1MTJCNVxcdTEyQjgtXFx1MTJCRVxcdTEyQzBcXHUxMkMyLVxcdTEyQzVcXHUxMkM4LVxcdTEyRDZcXHUxMkQ4LVxcdTEzMTBcXHUxMzEyLVxcdTEzMTVcXHUxMzE4LVxcdTEzNUFcXHUxMzVELVxcdTEzNUZcXHUxMzgwLVxcdTEzOEZcXHUxM0EwLVxcdTEzRjVcXHUxM0Y4LVxcdTEzRkRcXHUxNDAxLVxcdTE2NkNcXHUxNjZGLVxcdTE2N0ZcXHUxNjgxLVxcdTE2OUFcXHUxNkEwLVxcdTE2RUFcXHUxNkVFLVxcdTE2RjhcXHUxNzAwLVxcdTE3MENcXHUxNzBFLVxcdTE3MTRcXHUxNzIwLVxcdTE3MzRcXHUxNzQwLVxcdTE3NTNcXHUxNzYwLVxcdTE3NkNcXHUxNzZFLVxcdTE3NzBcXHUxNzcyXFx1MTc3M1xcdTE3ODAtXFx1MTdEM1xcdTE3RDdcXHUxN0RDXFx1MTdERFxcdTE3RTAtXFx1MTdFOVxcdTE4MEItXFx1MTgwRFxcdTE4MTAtXFx1MTgxOVxcdTE4MjAtXFx1MTg3N1xcdTE4ODAtXFx1MThBQVxcdTE4QjAtXFx1MThGNVxcdTE5MDAtXFx1MTkxRVxcdTE5MjAtXFx1MTkyQlxcdTE5MzAtXFx1MTkzQlxcdTE5NDYtXFx1MTk2RFxcdTE5NzAtXFx1MTk3NFxcdTE5ODAtXFx1MTlBQlxcdTE5QjAtXFx1MTlDOVxcdTE5RDAtXFx1MTlEOVxcdTFBMDAtXFx1MUExQlxcdTFBMjAtXFx1MUE1RVxcdTFBNjAtXFx1MUE3Q1xcdTFBN0YtXFx1MUE4OVxcdTFBOTAtXFx1MUE5OVxcdTFBQTdcXHUxQUIwLVxcdTFBQkRcXHUxQjAwLVxcdTFCNEJcXHUxQjUwLVxcdTFCNTlcXHUxQjZCLVxcdTFCNzNcXHUxQjgwLVxcdTFCRjNcXHUxQzAwLVxcdTFDMzdcXHUxQzQwLVxcdTFDNDlcXHUxQzRELVxcdTFDN0RcXHUxQzgwLVxcdTFDODhcXHUxQ0QwLVxcdTFDRDJcXHUxQ0Q0LVxcdTFDRjZcXHUxQ0Y4XFx1MUNGOVxcdTFEMDAtXFx1MURGNVxcdTFERkItXFx1MUYxNVxcdTFGMTgtXFx1MUYxRFxcdTFGMjAtXFx1MUY0NVxcdTFGNDgtXFx1MUY0RFxcdTFGNTAtXFx1MUY1N1xcdTFGNTlcXHUxRjVCXFx1MUY1RFxcdTFGNUYtXFx1MUY3RFxcdTFGODAtXFx1MUZCNFxcdTFGQjYtXFx1MUZCQ1xcdTFGQkVcXHUxRkMyLVxcdTFGQzRcXHUxRkM2LVxcdTFGQ0NcXHUxRkQwLVxcdTFGRDNcXHUxRkQ2LVxcdTFGREJcXHUxRkUwLVxcdTFGRUNcXHUxRkYyLVxcdTFGRjRcXHUxRkY2LVxcdTFGRkNcXHUyMDBDXFx1MjAwRFxcdTIwM0ZcXHUyMDQwXFx1MjA1NFxcdTIwNzFcXHUyMDdGXFx1MjA5MC1cXHUyMDlDXFx1MjBEMC1cXHUyMERDXFx1MjBFMVxcdTIwRTUtXFx1MjBGMFxcdTIxMDJcXHUyMTA3XFx1MjEwQS1cXHUyMTEzXFx1MjExNVxcdTIxMTktXFx1MjExRFxcdTIxMjRcXHUyMTI2XFx1MjEyOFxcdTIxMkEtXFx1MjEyRFxcdTIxMkYtXFx1MjEzOVxcdTIxM0MtXFx1MjEzRlxcdTIxNDUtXFx1MjE0OVxcdTIxNEVcXHUyMTYwLVxcdTIxODhcXHUyQzAwLVxcdTJDMkVcXHUyQzMwLVxcdTJDNUVcXHUyQzYwLVxcdTJDRTRcXHUyQ0VCLVxcdTJDRjNcXHUyRDAwLVxcdTJEMjVcXHUyRDI3XFx1MkQyRFxcdTJEMzAtXFx1MkQ2N1xcdTJENkZcXHUyRDdGLVxcdTJEOTZcXHUyREEwLVxcdTJEQTZcXHUyREE4LVxcdTJEQUVcXHUyREIwLVxcdTJEQjZcXHUyREI4LVxcdTJEQkVcXHUyREMwLVxcdTJEQzZcXHUyREM4LVxcdTJEQ0VcXHUyREQwLVxcdTJERDZcXHUyREQ4LVxcdTJEREVcXHUyREUwLVxcdTJERkZcXHUyRTJGXFx1MzAwNS1cXHUzMDA3XFx1MzAyMS1cXHUzMDJGXFx1MzAzMS1cXHUzMDM1XFx1MzAzOC1cXHUzMDNDXFx1MzA0MS1cXHUzMDk2XFx1MzA5OVxcdTMwOUFcXHUzMDlELVxcdTMwOUZcXHUzMEExLVxcdTMwRkFcXHUzMEZDLVxcdTMwRkZcXHUzMTA1LVxcdTMxMkRcXHUzMTMxLVxcdTMxOEVcXHUzMUEwLVxcdTMxQkFcXHUzMUYwLVxcdTMxRkZcXHUzNDAwLVxcdTREQjVcXHU0RTAwLVxcdTlGRDVcXHVBMDAwLVxcdUE0OENcXHVBNEQwLVxcdUE0RkRcXHVBNTAwLVxcdUE2MENcXHVBNjEwLVxcdUE2MkJcXHVBNjQwLVxcdUE2NkZcXHVBNjc0LVxcdUE2N0RcXHVBNjdGLVxcdUE2RjFcXHVBNzE3LVxcdUE3MUZcXHVBNzIyLVxcdUE3ODhcXHVBNzhCLVxcdUE3QUVcXHVBN0IwLVxcdUE3QjdcXHVBN0Y3LVxcdUE4MjdcXHVBODQwLVxcdUE4NzNcXHVBODgwLVxcdUE4QzVcXHVBOEQwLVxcdUE4RDlcXHVBOEUwLVxcdUE4RjdcXHVBOEZCXFx1QThGRFxcdUE5MDAtXFx1QTkyRFxcdUE5MzAtXFx1QTk1M1xcdUE5NjAtXFx1QTk3Q1xcdUE5ODAtXFx1QTlDMFxcdUE5Q0YtXFx1QTlEOVxcdUE5RTAtXFx1QTlGRVxcdUFBMDAtXFx1QUEzNlxcdUFBNDAtXFx1QUE0RFxcdUFBNTAtXFx1QUE1OVxcdUFBNjAtXFx1QUE3NlxcdUFBN0EtXFx1QUFDMlxcdUFBREItXFx1QUFERFxcdUFBRTAtXFx1QUFFRlxcdUFBRjItXFx1QUFGNlxcdUFCMDEtXFx1QUIwNlxcdUFCMDktXFx1QUIwRVxcdUFCMTEtXFx1QUIxNlxcdUFCMjAtXFx1QUIyNlxcdUFCMjgtXFx1QUIyRVxcdUFCMzAtXFx1QUI1QVxcdUFCNUMtXFx1QUI2NVxcdUFCNzAtXFx1QUJFQVxcdUFCRUNcXHVBQkVEXFx1QUJGMC1cXHVBQkY5XFx1QUMwMC1cXHVEN0EzXFx1RDdCMC1cXHVEN0M2XFx1RDdDQi1cXHVEN0ZCXFx1RjkwMC1cXHVGQTZEXFx1RkE3MC1cXHVGQUQ5XFx1RkIwMC1cXHVGQjA2XFx1RkIxMy1cXHVGQjE3XFx1RkIxRC1cXHVGQjI4XFx1RkIyQS1cXHVGQjM2XFx1RkIzOC1cXHVGQjNDXFx1RkIzRVxcdUZCNDBcXHVGQjQxXFx1RkI0M1xcdUZCNDRcXHVGQjQ2LVxcdUZCQjFcXHVGQkQzLVxcdUZEM0RcXHVGRDUwLVxcdUZEOEZcXHVGRDkyLVxcdUZEQzdcXHVGREYwLVxcdUZERkJcXHVGRTAwLVxcdUZFMEZcXHVGRTIwLVxcdUZFMkZcXHVGRTMzXFx1RkUzNFxcdUZFNEQtXFx1RkU0RlxcdUZFNzAtXFx1RkU3NFxcdUZFNzYtXFx1RkVGQ1xcdUZGMTAtXFx1RkYxOVxcdUZGMjEtXFx1RkYzQVxcdUZGM0ZcXHVGRjQxLVxcdUZGNUFcXHVGRjY2LVxcdUZGQkVcXHVGRkMyLVxcdUZGQzdcXHVGRkNBLVxcdUZGQ0ZcXHVGRkQyLVxcdUZGRDdcXHVGRkRBLVxcdUZGRENdKiQvLERsPWU9PnlsLnRlc3QoZSksV2k9RGw7ZnVuY3Rpb24gZmwoZSl7cmV0dXJuIGUubGVuZ3RoPT09MT9lOmUudG9Mb3dlckNhc2UoKS5yZXBsYWNlKC9eKFsrLV0/W1xcZC5dK2UpKD86XFwrfCgtKSk/MCooPz1cXGQpL3UsXCIkMSQyXCIpLnJlcGxhY2UoL14oWystXT9bXFxkLl0rKWVbKy1dPzArJC91LFwiJDFcIikucmVwbGFjZSgvXihbKy1dKT9cXC4vdSxcIiQxMC5cIikucmVwbGFjZSgvKFxcLlxcZCs/KTArKD89ZXwkKS91LFwiJDFcIikucmVwbGFjZSgvXFwuKD89ZXwkKS91LFwiXCIpfXZhciBmdD1mbDt2YXIgbW49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gVWkoZSl7cmV0dXJuL14oPzpcXGQrfFxcZCtcXC5cXGQrKSQvdS50ZXN0KGUpfWZ1bmN0aW9uIEdpKGUsdCl7cmV0dXJuIHQucGFyc2VyPT09XCJqc29uXCJ8fHQucGFyc2VyPT09XCJqc29uY1wifHwhdGUoZS5rZXkpfHxaZShmZShlLmtleSksdCkuc2xpY2UoMSwtMSkhPT1lLmtleS52YWx1ZT8hMTohIShXaShlLmtleS52YWx1ZSkmJiEodC5wYXJzZXI9PT1cImJhYmVsLXRzXCImJmUudHlwZT09PVwiQ2xhc3NQcm9wZXJ0eVwifHx0LnBhcnNlcj09PVwidHlwZXNjcmlwdFwiJiZlLnR5cGU9PT1cIlByb3BlcnR5RGVmaW5pdGlvblwiKXx8VWkoZS5rZXkudmFsdWUpJiZTdHJpbmcoTnVtYmVyKGUua2V5LnZhbHVlKSk9PT1lLmtleS52YWx1ZSYmZS50eXBlIT09XCJJbXBvcnRBdHRyaWJ1dGVcIiYmKHQucGFyc2VyPT09XCJiYWJlbFwifHx0LnBhcnNlcj09PVwiYWNvcm5cInx8dC5wYXJzZXI9PT1cImVzcHJlZVwifHx0LnBhcnNlcj09PVwibWVyaXlhaFwifHx0LnBhcnNlcj09PVwiX19iYWJlbF9lc3RyZWVcIikpfWZ1bmN0aW9uIEVsKGUsdCl7bGV0e2tleTpyfT1lLm5vZGU7cmV0dXJuKHIudHlwZT09PVwiSWRlbnRpZmllclwifHxGZShyKSYmVWkoZnQoZmUocikpKSYmU3RyaW5nKHIudmFsdWUpPT09ZnQoZmUocikpJiYhKHQucGFyc2VyPT09XCJ0eXBlc2NyaXB0XCJ8fHQucGFyc2VyPT09XCJiYWJlbC10c1wiKSkmJih0LnBhcnNlcj09PVwianNvblwifHx0LnBhcnNlcj09PVwianNvbmNcInx8dC5xdW90ZVByb3BzPT09XCJjb25zaXN0ZW50XCImJm1uLmdldChlLnBhcmVudCkpfWZ1bmN0aW9uIEV0KGUsdCxyKXtsZXR7bm9kZTpufT1lO2lmKG4uY29tcHV0ZWQpcmV0dXJuW1wiW1wiLHIoXCJrZXlcIiksXCJdXCJdO2xldHtwYXJlbnQ6c309ZSx7a2V5OnV9PW47aWYodC5xdW90ZVByb3BzPT09XCJjb25zaXN0ZW50XCImJiFtbi5oYXMocykpe2xldCBpPWUuc2libGluZ3Muc29tZShhPT4hYS5jb21wdXRlZCYmdGUoYS5rZXkpJiYhR2koYSx0KSk7bW4uc2V0KHMsaSl9aWYoRWwoZSx0KSl7bGV0IGk9WmUoSlNPTi5zdHJpbmdpZnkodS50eXBlPT09XCJJZGVudGlmaWVyXCI/dS5uYW1lOnUudmFsdWUudG9TdHJpbmcoKSksdCk7cmV0dXJuIGUuY2FsbChhPT55ZShhLGksdCksXCJrZXlcIil9cmV0dXJuIEdpKG4sdCkmJih0LnF1b3RlUHJvcHM9PT1cImFzLW5lZWRlZFwifHx0LnF1b3RlUHJvcHM9PT1cImNvbnNpc3RlbnRcIiYmIW1uLmdldChzKSk/ZS5jYWxsKGk9PnllKGksL15cXGQvdS50ZXN0KHUudmFsdWUpP2Z0KHUudmFsdWUpOnUudmFsdWUsdCksXCJrZXlcIik6cihcImtleVwiKX1mdW5jdGlvbiB5bihlLHQscil7bGV0e25vZGU6bn09ZTtyZXR1cm4gbi5zaG9ydGhhbmQ/cihcInZhbHVlXCIpOnh0KGUsdCxyLEV0KGUsdCxyKSxcIjpcIixcInZhbHVlXCIpfXZhciBGbD0oe25vZGU6ZSxrZXk6dCxwYXJlbnQ6cn0pPT50PT09XCJ2YWx1ZVwiJiZlLnR5cGU9PT1cIkZ1bmN0aW9uRXhwcmVzc2lvblwiJiYoci50eXBlPT09XCJPYmplY3RNZXRob2RcInx8ci50eXBlPT09XCJDbGFzc01ldGhvZFwifHxyLnR5cGU9PT1cIkNsYXNzUHJpdmF0ZU1ldGhvZFwifHxyLnR5cGU9PT1cIk1ldGhvZERlZmluaXRpb25cInx8ci50eXBlPT09XCJUU0Fic3RyYWN0TWV0aG9kRGVmaW5pdGlvblwifHxyLnR5cGU9PT1cIlRTRGVjbGFyZU1ldGhvZFwifHxyLnR5cGU9PT1cIlByb3BlcnR5XCImJmJ0KHIpKTtmdW5jdGlvbiBEbihlLHQscixuKXtpZihGbChlKSlyZXR1cm4gZm4oZSxyLHQpO2xldHtub2RlOnN9PWUsdT0hMTtpZigocy50eXBlPT09XCJGdW5jdGlvbkRlY2xhcmF0aW9uXCJ8fHMudHlwZT09PVwiRnVuY3Rpb25FeHByZXNzaW9uXCIpJiYobiE9bnVsbCYmbi5leHBhbmRMYXN0QXJnKSl7bGV0e3BhcmVudDptfT1lO0wobSkmJihvZShtKS5sZW5ndGg+MXx8eihzKS5ldmVyeSh5PT55LnR5cGU9PT1cIklkZW50aWZpZXJcIiYmIXkudHlwZUFubm90YXRpb24pKSYmKHU9ITApfWxldCBpPVtLKGUpLHMuYXN5bmM/XCJhc3luYyBcIjpcIlwiLGBmdW5jdGlvbiR7cy5nZW5lcmF0b3I/XCIqXCI6XCJcIn0gYCxzLmlkP3QoXCJpZFwiKTpcIlwiXSxhPUplKGUsdCxyLHUpLHA9JHQoZSx0KSxvPWF0KHMscCk7cmV0dXJuIGkucHVzaChRZShlLHIsdCksbChbbz9sKGEpOmEscF0pLHMuYm9keT9cIiBcIjpcIlwiLHQoXCJib2R5XCIpKSxyLnNlbWkmJihzLmRlY2xhcmV8fCFzLmJvZHkpJiZpLnB1c2goXCI7XCIpLGl9ZnVuY3Rpb24geXIoZSx0LHIpe2xldHtub2RlOm59PWUse2tpbmQ6c309bix1PW4udmFsdWV8fG4saT1bXTtyZXR1cm4hc3x8cz09PVwiaW5pdFwifHxzPT09XCJtZXRob2RcInx8cz09PVwiY29uc3RydWN0b3JcIj91LmFzeW5jJiZpLnB1c2goXCJhc3luYyBcIik6KHZ0Lm9rKHM9PT1cImdldFwifHxzPT09XCJzZXRcIiksaS5wdXNoKHMsXCIgXCIpKSx1LmdlbmVyYXRvciYmaS5wdXNoKFwiKlwiKSxpLnB1c2goRXQoZSx0LHIpLG4ub3B0aW9uYWx8fG4ua2V5Lm9wdGlvbmFsP1wiP1wiOlwiXCIsbj09PXU/Zm4oZSx0LHIpOnIoXCJ2YWx1ZVwiKSksaX1mdW5jdGlvbiBmbihlLHQscil7bGV0e25vZGU6bn09ZSxzPUplKGUscix0KSx1PSR0KGUsciksaT1NaShuKSxhPWF0KG4sdSkscD1bUWUoZSx0LHIpLGwoW2k/bChzLHtzaG91bGRCcmVhazohMH0pOmE/bChzKTpzLHVdKV07cmV0dXJuIG4uYm9keT9wLnB1c2goXCIgXCIscihcImJvZHlcIikpOnAucHVzaCh0LnNlbWk/XCI7XCI6XCJcIikscH1mdW5jdGlvbiBDbChlKXtsZXQgdD16KGUpO3JldHVybiB0Lmxlbmd0aD09PTEmJiFlLnR5cGVQYXJhbWV0ZXJzJiYhZChlLGguRGFuZ2xpbmcpJiZ0WzBdLnR5cGU9PT1cIklkZW50aWZpZXJcIiYmIXRbMF0udHlwZUFubm90YXRpb24mJiFkKHRbMF0pJiYhdFswXS5vcHRpb25hbCYmIWUucHJlZGljYXRlJiYhZS5yZXR1cm5UeXBlfWZ1bmN0aW9uIEVuKGUsdCl7aWYodC5hcnJvd1BhcmVucz09PVwiYWx3YXlzXCIpcmV0dXJuITE7aWYodC5hcnJvd1BhcmVucz09PVwiYXZvaWRcIil7bGV0e25vZGU6cn09ZTtyZXR1cm4gQ2wocil9cmV0dXJuITF9ZnVuY3Rpb24gJHQoZSx0KXtsZXR7bm9kZTpyfT1lLHM9W04oZSx0LFwicmV0dXJuVHlwZVwiKV07cmV0dXJuIHIucHJlZGljYXRlJiZzLnB1c2godChcInByZWRpY2F0ZVwiKSksc31mdW5jdGlvbiBYaShlLHQscil7bGV0e25vZGU6bn09ZSxzPXQuc2VtaT9cIjtcIjpcIlwiLHU9W107aWYobi5hcmd1bWVudCl7bGV0IHA9cihcImFyZ3VtZW50XCIpO0FsKHQsbi5hcmd1bWVudCk/cD1bXCIoXCIsZihbRixwXSksRixcIilcIl06KERlKG4uYXJndW1lbnQpfHxuLmFyZ3VtZW50LnR5cGU9PT1cIlNlcXVlbmNlRXhwcmVzc2lvblwifHx0LmV4cGVyaW1lbnRhbFRlcm5hcmllcyYmbi5hcmd1bWVudC50eXBlPT09XCJDb25kaXRpb25hbEV4cHJlc3Npb25cIiYmKG4uYXJndW1lbnQuY29uc2VxdWVudC50eXBlPT09XCJDb25kaXRpb25hbEV4cHJlc3Npb25cInx8bi5hcmd1bWVudC5hbHRlcm5hdGUudHlwZT09PVwiQ29uZGl0aW9uYWxFeHByZXNzaW9uXCIpKSYmKHA9bChbQihcIihcIiksZihbRSxwXSksRSxCKFwiKVwiKV0pKSx1LnB1c2goXCIgXCIscCl9bGV0IGk9ZChuLGguRGFuZ2xpbmcpLGE9cyYmaSYmZChuLGguTGFzdHxoLkxpbmUpO3JldHVybiBhJiZ1LnB1c2gocyksaSYmdS5wdXNoKFwiIFwiLEooZSx0KSksYXx8dS5wdXNoKHMpLHV9ZnVuY3Rpb24gWWkoZSx0LHIpe3JldHVybltcInJldHVyblwiLFhpKGUsdCxyKV19ZnVuY3Rpb24gSGkoZSx0LHIpe3JldHVybltcInRocm93XCIsWGkoZSx0LHIpXX1mdW5jdGlvbiBBbChlLHQpe2lmKE9lKGUub3JpZ2luYWxUZXh0LHQpfHxkKHQsaC5MZWFkaW5nLHI9PlRlKGUub3JpZ2luYWxUZXh0LHEociksayhyKSkpJiYhSCh0KSlyZXR1cm4hMDtpZihSdCh0KSl7bGV0IHI9dCxuO2Zvcig7bj1pdShyKTspaWYocj1uLE9lKGUub3JpZ2luYWxUZXh0LHIpKXJldHVybiEwfXJldHVybiExfXZhciBkcz1uZXcgV2Vha01hcDtmdW5jdGlvbiBOaShlKXtyZXR1cm4gZHMuaGFzKGUpfHxkcy5zZXQoZSxlLnR5cGU9PT1cIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiJiYhaWUoZSx0PT50LnR5cGU9PT1cIk9iamVjdEV4cHJlc3Npb25cIikpLGRzLmdldChlKX12YXIgVmk9ZT0+ZS50eXBlPT09XCJTZXF1ZW5jZUV4cHJlc3Npb25cIjtmdW5jdGlvbiAkaShlLHQscixuPXt9KXtsZXQgcz1bXSx1LGk9W10sYT0hMSxwPSFuLmV4cGFuZExhc3RBcmcmJmUubm9kZS5ib2R5LnR5cGU9PT1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCIsbzsoZnVuY3Rpb24gUygpe2xldHtub2RlOmd9PWUsTT1UbChlLHQscixuKTtpZihzLmxlbmd0aD09PTApcy5wdXNoKE0pO2Vsc2V7bGV0e2xlYWRpbmc6Uix0cmFpbGluZzpqfT1vcyhlLHQpO3MucHVzaChbUixNXSksaS51bnNoaWZ0KGopfXAmJihhfHwoYT1nLnJldHVyblR5cGUmJnooZykubGVuZ3RoPjB8fGcudHlwZVBhcmFtZXRlcnN8fHooZykuc29tZShSPT5SLnR5cGUhPT1cIklkZW50aWZpZXJcIikpKSwhcHx8Zy5ib2R5LnR5cGUhPT1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCI/KHU9cihcImJvZHlcIixuKSxvPWcuYm9keSk6ZS5jYWxsKFMsXCJib2R5XCIpfSkoKTtsZXQgbT0hT2UodC5vcmlnaW5hbFRleHQsbykmJihWaShvKXx8ZGwobyx1LHQpfHwhYSYmTmkobykpLHk9ZS5rZXk9PT1cImNhbGxlZVwiJiZsdChlLnBhcmVudCksRD1TeW1ib2woXCJhcnJvdy1jaGFpblwiKSxDPXhsKGUsbix7c2lnbmF0dXJlRG9jczpzLHNob3VsZEJyZWFrOmF9KSxjPSExLEE9ITEsVD0hMTtyZXR1cm4gcCYmKHl8fG4uYXNzaWdubWVudExheW91dCkmJihBPSEwLFQ9IWQoZS5ub2RlLGguTGVhZGluZyZoLkxpbmUpLGM9bi5hc3NpZ25tZW50TGF5b3V0PT09XCJjaGFpbi10YWlsLWFycm93LWNoYWluXCJ8fHkmJiFtKSx1PWhsKGUsdCxuLHtib2R5RG9jOnUsYm9keUNvbW1lbnRzOmksZnVuY3Rpb25Cb2R5Om8sc2hvdWxkUHV0Qm9keU9uU2FtZUxpbmU6bX0pLGwoW2woQT9mKFtUP0U6XCJcIixDXSk6Qyx7c2hvdWxkQnJlYWs6YyxpZDpEfSksXCIgPT5cIixwP2R0KHUse2dyb3VwSWQ6RH0pOmwodSkscCYmeT9CKEUsXCJcIix7Z3JvdXBJZDpEfSk6XCJcIl0pfWZ1bmN0aW9uIFRsKGUsdCxyLG4pe2xldHtub2RlOnN9PWUsdT1bXTtpZihzLmFzeW5jJiZ1LnB1c2goXCJhc3luYyBcIiksRW4oZSx0KSl1LnB1c2gocihbXCJwYXJhbXNcIiwwXSkpO2Vsc2V7bGV0IGE9bi5leHBhbmRMYXN0QXJnfHxuLmV4cGFuZEZpcnN0QXJnLHA9JHQoZSxyKTtpZihhKXtpZihyZShwKSl0aHJvdyBuZXcgeXQ7cD1sKGFyKHApKX11LnB1c2gobChbSmUoZSxyLHQsYSwhMCkscF0pKX1sZXQgaT1KKGUsdCx7ZmlsdGVyKGEpe2xldCBwPXV0KHQub3JpZ2luYWxUZXh0LGsoYSkpO3JldHVybiBwIT09ITEmJnQub3JpZ2luYWxUZXh0LnNsaWNlKHAscCsyKT09PVwiPT5cIn19KTtyZXR1cm4gaSYmdS5wdXNoKFwiIFwiLGkpLHV9ZnVuY3Rpb24gZGwoZSx0LHIpe3ZhciBuLHM7cmV0dXJuIFgoZSl8fHNlKGUpfHxlLnR5cGU9PT1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCJ8fGUudHlwZT09PVwiRG9FeHByZXNzaW9uXCJ8fGUudHlwZT09PVwiQmxvY2tTdGF0ZW1lbnRcInx8SChlKXx8KChuPXQubGFiZWwpPT1udWxsP3ZvaWQgMDpuLmh1ZykhPT0hMSYmKCgocz10LmxhYmVsKT09bnVsbD92b2lkIDA6cy5lbWJlZCl8fExyKGUsci5vcmlnaW5hbFRleHQpKX1mdW5jdGlvbiB4bChlLHQse3NpZ25hdHVyZURvY3M6cixzaG91bGRCcmVhazpufSl7aWYoci5sZW5ndGg9PT0xKXJldHVybiByWzBdO2xldHtwYXJlbnQ6cyxrZXk6dX09ZTtyZXR1cm4gdSE9PVwiY2FsbGVlXCImJmx0KHMpfHxEZShzKT9sKFtyWzBdLFwiID0+XCIsZihbeCxiKFtcIiA9PlwiLHhdLHIuc2xpY2UoMSkpXSldLHtzaG91bGRCcmVhazpufSk6dT09PVwiY2FsbGVlXCImJmx0KHMpfHx0LmFzc2lnbm1lbnRMYXlvdXQ/bChiKFtcIiA9PlwiLHhdLHIpLHtzaG91bGRCcmVhazpufSk6bChmKGIoW1wiID0+XCIseF0scikpLHtzaG91bGRCcmVhazpufSl9ZnVuY3Rpb24gaGwoZSx0LHIse2JvZHlEb2M6bixib2R5Q29tbWVudHM6cyxmdW5jdGlvbkJvZHk6dSxzaG91bGRQdXRCb2R5T25TYW1lTGluZTppfSl7bGV0e25vZGU6YSxwYXJlbnQ6cH09ZSxvPXIuZXhwYW5kTGFzdEFyZyYmYWUodCxcImFsbFwiKT9CKFwiLFwiKTpcIlwiLG09KHIuZXhwYW5kTGFzdEFyZ3x8cC50eXBlPT09XCJKU1hFeHByZXNzaW9uQ29udGFpbmVyXCIpJiYhZChhKT9FOlwiXCI7cmV0dXJuIGkmJk5pKHUpP1tcIiBcIixsKFtCKFwiXCIsXCIoXCIpLGYoW0Usbl0pLEIoXCJcIixcIilcIiksbyxtXSksc106KFZpKHUpJiYobj1sKFtcIihcIixmKFtFLG5dKSxFLFwiKVwiXSkpLGk/W1wiIFwiLG4sc106W2YoW3gsbixzXSksbyxtXSl9dmFyIGdsPShlLHQscik9PntpZighKGUmJnQ9PW51bGwpKXtpZih0LmZpbmRMYXN0KXJldHVybiB0LmZpbmRMYXN0KHIpO2ZvcihsZXQgbj10Lmxlbmd0aC0xO24+PTA7bi0tKXtsZXQgcz10W25dO2lmKHIocyxuLHQpKXJldHVybiBzfX19LEtpPWdsO2Z1bmN0aW9uIERyKGUsdCxyLG4pe2xldHtub2RlOnN9PWUsdT1bXSxpPUtpKCExLHNbbl0sYT0+YS50eXBlIT09XCJFbXB0eVN0YXRlbWVudFwiKTtyZXR1cm4gZS5lYWNoKCh7bm9kZTphfSk9PnthLnR5cGUhPT1cIkVtcHR5U3RhdGVtZW50XCImJih1LnB1c2gocigpKSxhIT09aSYmKHUucHVzaChGKSxwZShhLHQpJiZ1LnB1c2goRikpKX0sbiksdX1mdW5jdGlvbiBGbihlLHQscil7bGV0IG49U2woZSx0LHIpLHtub2RlOnMscGFyZW50OnV9PWU7aWYocy50eXBlPT09XCJQcm9ncmFtXCImJih1PT1udWxsP3ZvaWQgMDp1LnR5cGUpIT09XCJNb2R1bGVFeHByZXNzaW9uXCIpcmV0dXJuIG4/W24sRl06XCJcIjtsZXQgaT1bXTtpZihzLnR5cGU9PT1cIlN0YXRpY0Jsb2NrXCImJmkucHVzaChcInN0YXRpYyBcIiksaS5wdXNoKFwie1wiKSxuKWkucHVzaChmKFtGLG5dKSxGKTtlbHNle2xldCBhPWUuZ3JhbmRwYXJlbnQ7dS50eXBlPT09XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwifHx1LnR5cGU9PT1cIkZ1bmN0aW9uRXhwcmVzc2lvblwifHx1LnR5cGU9PT1cIkZ1bmN0aW9uRGVjbGFyYXRpb25cInx8dS50eXBlPT09XCJDb21wb25lbnREZWNsYXJhdGlvblwifHx1LnR5cGU9PT1cIkhvb2tEZWNsYXJhdGlvblwifHx1LnR5cGU9PT1cIk9iamVjdE1ldGhvZFwifHx1LnR5cGU9PT1cIkNsYXNzTWV0aG9kXCJ8fHUudHlwZT09PVwiQ2xhc3NQcml2YXRlTWV0aG9kXCJ8fHUudHlwZT09PVwiRm9yU3RhdGVtZW50XCJ8fHUudHlwZT09PVwiV2hpbGVTdGF0ZW1lbnRcInx8dS50eXBlPT09XCJEb1doaWxlU3RhdGVtZW50XCJ8fHUudHlwZT09PVwiRG9FeHByZXNzaW9uXCJ8fHUudHlwZT09PVwiTW9kdWxlRXhwcmVzc2lvblwifHx1LnR5cGU9PT1cIkNhdGNoQ2xhdXNlXCImJiFhLmZpbmFsaXplcnx8dS50eXBlPT09XCJUU01vZHVsZURlY2xhcmF0aW9uXCJ8fHMudHlwZT09PVwiU3RhdGljQmxvY2tcInx8aS5wdXNoKEYpfXJldHVybiBpLnB1c2goXCJ9XCIpLGl9ZnVuY3Rpb24gU2woZSx0LHIpe2xldHtub2RlOm59PWUscz1PKG4uZGlyZWN0aXZlcyksdT1uLmJvZHkuc29tZShwPT5wLnR5cGUhPT1cIkVtcHR5U3RhdGVtZW50XCIpLGk9ZChuLGguRGFuZ2xpbmcpO2lmKCFzJiYhdSYmIWkpcmV0dXJuXCJcIjtsZXQgYT1bXTtyZXR1cm4gcyYmKGEucHVzaChEcihlLHQscixcImRpcmVjdGl2ZXNcIikpLCh1fHxpKSYmKGEucHVzaChGKSxwZShfKCExLG4uZGlyZWN0aXZlcywtMSksdCkmJmEucHVzaChGKSkpLHUmJmEucHVzaChEcihlLHQscixcImJvZHlcIikpLGkmJmEucHVzaChKKGUsdCkpLGF9ZnVuY3Rpb24gQmwoZSl7bGV0IHQ9bmV3IFdlYWtNYXA7cmV0dXJuIGZ1bmN0aW9uKHIpe3JldHVybiB0LmhhcyhyKXx8dC5zZXQocixTeW1ib2woZSkpLHQuZ2V0KHIpfX12YXIgQ249Qmw7ZnVuY3Rpb24gYmwoZSl7c3dpdGNoKGUpe2Nhc2UgbnVsbDpyZXR1cm5cIlwiO2Nhc2VcIlBsdXNPcHRpb25hbFwiOnJldHVyblwiKz9cIjtjYXNlXCJNaW51c09wdGlvbmFsXCI6cmV0dXJuXCItP1wiO2Nhc2VcIk9wdGlvbmFsXCI6cmV0dXJuXCI/XCJ9fWZ1bmN0aW9uIFFpKGUsdCxyKXtsZXR7bm9kZTpufT1lO3JldHVybiBsKFtuLnZhcmlhbmNlP3IoXCJ2YXJpYW5jZVwiKTpcIlwiLFwiW1wiLGYoW3IoXCJrZXlUcGFyYW1cIiksXCIgaW4gXCIscihcInNvdXJjZVR5cGVcIildKSxcIl1cIixibChuLm9wdGlvbmFsKSxcIjogXCIscihcInByb3BUeXBlXCIpXSl9ZnVuY3Rpb24geHMoZSx0KXtyZXR1cm4gZT09PVwiK1wifHxlPT09XCItXCI/ZSt0OnR9ZnVuY3Rpb24gemkoZSx0LHIpe2xldHtub2RlOm59PWUscz1UZSh0Lm9yaWdpbmFsVGV4dCxxKG4pLHEobi50eXBlUGFyYW1ldGVyKSk7cmV0dXJuIGwoW1wie1wiLGYoW3QuYnJhY2tldFNwYWNpbmc/eDpFLGwoW3IoXCJ0eXBlUGFyYW1ldGVyXCIpLG4ub3B0aW9uYWw/eHMobi5vcHRpb25hbCxcIj9cIik6XCJcIixuLnR5cGVBbm5vdGF0aW9uP1wiOiBcIjpcIlwiLHIoXCJ0eXBlQW5ub3RhdGlvblwiKV0pLHQuc2VtaT9CKFwiO1wiKTpcIlwiXSksSihlLHQpLHQuYnJhY2tldFNwYWNpbmc/eDpFLFwifVwiXSx7c2hvdWxkQnJlYWs6c30pfXZhciBmcj1DbihcInR5cGVQYXJhbWV0ZXJzXCIpO2Z1bmN0aW9uIFBsKGUsdCxyKXtsZXR7bm9kZTpufT1lO3JldHVybiB6KG4pLmxlbmd0aD09PTEmJm4udHlwZS5zdGFydHNXaXRoKFwiVFNcIikmJiFuW3JdWzBdLmNvbnN0cmFpbnQmJmUucGFyZW50LnR5cGU9PT1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCImJiEodC5maWxlcGF0aCYmL1xcLnRzJC91LnRlc3QodC5maWxlcGF0aCkpfWZ1bmN0aW9uIEx0KGUsdCxyLG4pe2xldHtub2RlOnN9PWU7aWYoIXNbbl0pcmV0dXJuXCJcIjtpZighQXJyYXkuaXNBcnJheShzW25dKSlyZXR1cm4gcihuKTtsZXQgdT1QdChlLmdyYW5kcGFyZW50KSxpPWUubWF0Y2gobz0+IShvW25dLmxlbmd0aD09PTEmJndlKG9bbl1bMF0pKSx2b2lkIDAsKG8sbSk9Pm09PT1cInR5cGVBbm5vdGF0aW9uXCIsbz0+by50eXBlPT09XCJJZGVudGlmaWVyXCIsRnMpO2lmKHNbbl0ubGVuZ3RoPT09MHx8IWkmJih1fHxzW25dLmxlbmd0aD09PTEmJihzW25dWzBdLnR5cGU9PT1cIk51bGxhYmxlVHlwZUFubm90YXRpb25cInx8QXMoc1tuXVswXSkpKSlyZXR1cm5bXCI8XCIsYihcIiwgXCIsZS5tYXAocixuKSksa2woZSx0KSxcIj5cIl07bGV0IHA9cy50eXBlPT09XCJUU1R5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uXCI/XCJcIjpQbChlLHQsbik/XCIsXCI6YWUodCk/QihcIixcIik6XCJcIjtyZXR1cm4gbChbXCI8XCIsZihbRSxiKFtcIixcIix4XSxlLm1hcChyLG4pKV0pLHAsRSxcIj5cIl0se2lkOmZyKHMpfSl9ZnVuY3Rpb24ga2woZSx0KXtsZXR7bm9kZTpyfT1lO2lmKCFkKHIsaC5EYW5nbGluZykpcmV0dXJuXCJcIjtsZXQgbj0hZChyLGguTGluZSkscz1KKGUsdCx7aW5kZW50OiFufSk7cmV0dXJuIG4/czpbcyxGXX1mdW5jdGlvbiBBbihlLHQscil7bGV0e25vZGU6bixwYXJlbnQ6c309ZSx1PVtuLnR5cGU9PT1cIlRTVHlwZVBhcmFtZXRlclwiJiZuLmNvbnN0P1wiY29uc3QgXCI6XCJcIl0saT1uLnR5cGU9PT1cIlRTVHlwZVBhcmFtZXRlclwiP3IoXCJuYW1lXCIpOm4ubmFtZTtpZihzLnR5cGU9PT1cIlRTTWFwcGVkVHlwZVwiKXJldHVybiBzLnJlYWRvbmx5JiZ1LnB1c2goeHMocy5yZWFkb25seSxcInJlYWRvbmx5XCIpLFwiIFwiKSx1LnB1c2goXCJbXCIsaSksbi5jb25zdHJhaW50JiZ1LnB1c2goXCIgaW4gXCIscihcImNvbnN0cmFpbnRcIikpLHMubmFtZVR5cGUmJnUucHVzaChcIiBhcyBcIixlLmNhbGxQYXJlbnQoKCk9PnIoXCJuYW1lVHlwZVwiKSkpLHUucHVzaChcIl1cIiksdTtpZihuLnZhcmlhbmNlJiZ1LnB1c2gocihcInZhcmlhbmNlXCIpKSxuLmluJiZ1LnB1c2goXCJpbiBcIiksbi5vdXQmJnUucHVzaChcIm91dCBcIiksdS5wdXNoKGkpLG4uYm91bmQmJihuLnVzZXNFeHRlbmRzQm91bmQmJnUucHVzaChcIiBleHRlbmRzIFwiKSx1LnB1c2goTihlLHIsXCJib3VuZFwiKSkpLG4uY29uc3RyYWludCl7bGV0IGE9U3ltYm9sKFwiY29uc3RyYWludFwiKTt1LnB1c2goXCIgZXh0ZW5kc1wiLGwoZih4KSx7aWQ6YX0pLGtlLGR0KHIoXCJjb25zdHJhaW50XCIpLHtncm91cElkOmF9KSl9cmV0dXJuIG4uZGVmYXVsdCYmdS5wdXNoKFwiID0gXCIscihcImRlZmF1bHRcIikpLGwodSl9dmFyIFppPXYoW1wiQ2xhc3NQcm9wZXJ0eVwiLFwiUHJvcGVydHlEZWZpbml0aW9uXCIsXCJDbGFzc1ByaXZhdGVQcm9wZXJ0eVwiLFwiQ2xhc3NBY2Nlc3NvclByb3BlcnR5XCIsXCJBY2Nlc3NvclByb3BlcnR5XCIsXCJUU0Fic3RyYWN0UHJvcGVydHlEZWZpbml0aW9uXCIsXCJUU0Fic3RyYWN0QWNjZXNzb3JQcm9wZXJ0eVwiXSk7ZnVuY3Rpb24gVG4oZSx0LHIpe2xldHtub2RlOm59PWUscz1bSyhlKSxIdChlKSxcImNsYXNzXCJdLHU9ZChuLmlkLGguVHJhaWxpbmcpfHxkKG4udHlwZVBhcmFtZXRlcnMsaC5UcmFpbGluZyl8fGQobi5zdXBlckNsYXNzKXx8TyhuLmV4dGVuZHMpfHxPKG4ubWl4aW5zKXx8TyhuLmltcGxlbWVudHMpLGk9W10sYT1bXTtpZihuLmlkJiZpLnB1c2goXCIgXCIscihcImlkXCIpKSxpLnB1c2gocihcInR5cGVQYXJhbWV0ZXJzXCIpKSxuLnN1cGVyQ2xhc3Mpe2xldCBtPVtMbChlLHQscikscihuLnN1cGVyVHlwZUFyZ3VtZW50cz9cInN1cGVyVHlwZUFyZ3VtZW50c1wiOlwic3VwZXJUeXBlUGFyYW1ldGVyc1wiKV0seT1lLmNhbGwoRD0+W1wiZXh0ZW5kcyBcIix5ZShELG0sdCldLFwic3VwZXJDbGFzc1wiKTt1P2EucHVzaCh4LGwoeSkpOmEucHVzaChcIiBcIix5KX1lbHNlIGEucHVzaChocyhlLHQscixcImV4dGVuZHNcIikpO2EucHVzaChocyhlLHQscixcIm1peGluc1wiKSxocyhlLHQscixcImltcGxlbWVudHNcIikpO2xldCBwO2lmKHUpe2xldCBtO3JhKG4pP209Wy4uLmksZihhKV06bT1mKFsuLi5pLGFdKSxwPWVhKG4pLHMucHVzaChsKG0se2lkOnB9KSl9ZWxzZSBzLnB1c2goLi4uaSwuLi5hKTtsZXQgbz1uLmJvZHk7cmV0dXJuIHUmJk8oby5ib2R5KT9zLnB1c2goQihGLFwiIFwiLHtncm91cElkOnB9KSk6cy5wdXNoKFwiIFwiKSxzLnB1c2gocihcImJvZHlcIikpLHN9dmFyIGVhPUNuKFwiaGVyaXRhZ2VHcm91cFwiKTtmdW5jdGlvbiB0YShlKXtyZXR1cm4gQihGLFwiXCIse2dyb3VwSWQ6ZWEoZSl9KX1mdW5jdGlvbiBJbChlKXtyZXR1cm5bXCJleHRlbmRzXCIsXCJtaXhpbnNcIixcImltcGxlbWVudHNcIl0ucmVkdWNlKCh0LHIpPT50KyhBcnJheS5pc0FycmF5KGVbcl0pP2Vbcl0ubGVuZ3RoOjApLGUuc3VwZXJDbGFzcz8xOjApPjF9ZnVuY3Rpb24gcmEoZSl7cmV0dXJuIGUudHlwZVBhcmFtZXRlcnMmJiFkKGUudHlwZVBhcmFtZXRlcnMsaC5UcmFpbGluZ3xoLkxpbmUpJiYhSWwoZSl9ZnVuY3Rpb24gaHMoZSx0LHIsbil7bGV0e25vZGU6c309ZTtpZighTyhzW25dKSlyZXR1cm5cIlwiO2xldCB1PUooZSx0LHttYXJrZXI6bn0pO3JldHVybltyYShzKT9CKFwiIFwiLHgse2dyb3VwSWQ6ZnIocy50eXBlUGFyYW1ldGVycyl9KTp4LHUsdSYmRixuLGwoZihbeCxiKFtcIixcIix4XSxlLm1hcChyLG4pKV0pKV19ZnVuY3Rpb24gTGwoZSx0LHIpe2xldCBuPXIoXCJzdXBlckNsYXNzXCIpLHtwYXJlbnQ6c309ZTtyZXR1cm4gcy50eXBlPT09XCJBc3NpZ25tZW50RXhwcmVzc2lvblwiP2woQihbXCIoXCIsZihbRSxuXSksRSxcIilcIl0sbikpOm59ZnVuY3Rpb24gZG4oZSx0LHIpe2xldHtub2RlOm59PWUscz1bXTtyZXR1cm4gTyhuLmRlY29yYXRvcnMpJiZzLnB1c2goRHMoZSx0LHIpKSxzLnB1c2goTnQobikpLG4uc3RhdGljJiZzLnB1c2goXCJzdGF0aWMgXCIpLHMucHVzaChIdChlKSksbi5vdmVycmlkZSYmcy5wdXNoKFwib3ZlcnJpZGUgXCIpLHMucHVzaCh5cihlLHQscikpLHN9ZnVuY3Rpb24geG4oZSx0LHIpe2xldHtub2RlOm59PWUscz1bXSx1PXQuc2VtaT9cIjtcIjpcIlwiO08obi5kZWNvcmF0b3JzKSYmcy5wdXNoKERzKGUsdCxyKSkscy5wdXNoKEsoZSksTnQobikpLG4uc3RhdGljJiZzLnB1c2goXCJzdGF0aWMgXCIpLHMucHVzaChIdChlKSksbi5vdmVycmlkZSYmcy5wdXNoKFwib3ZlcnJpZGUgXCIpLG4ucmVhZG9ubHkmJnMucHVzaChcInJlYWRvbmx5IFwiKSxuLnZhcmlhbmNlJiZzLnB1c2gocihcInZhcmlhbmNlXCIpKSwobi50eXBlPT09XCJDbGFzc0FjY2Vzc29yUHJvcGVydHlcInx8bi50eXBlPT09XCJBY2Nlc3NvclByb3BlcnR5XCJ8fG4udHlwZT09PVwiVFNBYnN0cmFjdEFjY2Vzc29yUHJvcGVydHlcIikmJnMucHVzaChcImFjY2Vzc29yIFwiKSxzLnB1c2goRXQoZSx0LHIpLCQoZSksY24oZSksTihlLHIpKTtsZXQgaT1uLnR5cGU9PT1cIlRTQWJzdHJhY3RQcm9wZXJ0eURlZmluaXRpb25cInx8bi50eXBlPT09XCJUU0Fic3RyYWN0QWNjZXNzb3JQcm9wZXJ0eVwiO3JldHVyblt4dChlLHQscixzLFwiID1cIixpP3ZvaWQgMDpcInZhbHVlXCIpLHVdfWZ1bmN0aW9uIG5hKGUsdCxyKXtsZXR7bm9kZTpufT1lLHM9W107cmV0dXJuIGUuZWFjaCgoe25vZGU6dSxuZXh0OmksaXNMYXN0OmF9KT0+e3MucHVzaChyKCkpLCF0LnNlbWkmJlppKHUpJiZ3bCh1LGkpJiZzLnB1c2goXCI7XCIpLGF8fChzLnB1c2goRikscGUodSx0KSYmcy5wdXNoKEYpKX0sXCJib2R5XCIpLGQobixoLkRhbmdsaW5nKSYmcy5wdXNoKEooZSx0KSksW1wie1wiLHMubGVuZ3RoPjA/W2YoW0Ysc10pLEZdOlwiXCIsXCJ9XCJdfWZ1bmN0aW9uIHdsKGUsdCl7dmFyIHM7bGV0e3R5cGU6cixuYW1lOm59PWUua2V5O2lmKCFlLmNvbXB1dGVkJiZyPT09XCJJZGVudGlmaWVyXCImJihuPT09XCJzdGF0aWNcInx8bj09PVwiZ2V0XCJ8fG49PT1cInNldFwiKSYmIWUudmFsdWUmJiFlLnR5cGVBbm5vdGF0aW9uKXJldHVybiEwO2lmKCF0fHx0LnN0YXRpY3x8dC5hY2Nlc3NpYmlsaXR5fHx0LnJlYWRvbmx5KXJldHVybiExO2lmKCF0LmNvbXB1dGVkKXtsZXQgdT0ocz10LmtleSk9PW51bGw/dm9pZCAwOnMubmFtZTtpZih1PT09XCJpblwifHx1PT09XCJpbnN0YW5jZW9mXCIpcmV0dXJuITB9aWYoWmkodCkmJnQudmFyaWFuY2UmJiF0LnN0YXRpYyYmIXQuZGVjbGFyZSlyZXR1cm4hMDtzd2l0Y2godC50eXBlKXtjYXNlXCJDbGFzc1Byb3BlcnR5XCI6Y2FzZVwiUHJvcGVydHlEZWZpbml0aW9uXCI6Y2FzZVwiVFNBYnN0cmFjdFByb3BlcnR5RGVmaW5pdGlvblwiOnJldHVybiB0LmNvbXB1dGVkO2Nhc2VcIk1ldGhvZERlZmluaXRpb25cIjpjYXNlXCJUU0Fic3RyYWN0TWV0aG9kRGVmaW5pdGlvblwiOmNhc2VcIkNsYXNzTWV0aG9kXCI6Y2FzZVwiQ2xhc3NQcml2YXRlTWV0aG9kXCI6e2lmKCh0LnZhbHVlP3QudmFsdWUuYXN5bmM6dC5hc3luYyl8fHQua2luZD09PVwiZ2V0XCJ8fHQua2luZD09PVwic2V0XCIpcmV0dXJuITE7bGV0IGk9dC52YWx1ZT90LnZhbHVlLmdlbmVyYXRvcjp0LmdlbmVyYXRvcjtyZXR1cm4hISh0LmNvbXB1dGVkfHxpKX1jYXNlXCJUU0luZGV4U2lnbmF0dXJlXCI6cmV0dXJuITB9cmV0dXJuITF9dmFyIE9sPXYoW1wiVFNBc0V4cHJlc3Npb25cIixcIlRTVHlwZUFzc2VydGlvblwiLFwiVFNOb25OdWxsRXhwcmVzc2lvblwiLFwiVFNJbnN0YW50aWF0aW9uRXhwcmVzc2lvblwiLFwiVFNTYXRpc2ZpZXNFeHByZXNzaW9uXCJdKTtmdW5jdGlvbiBncyhlKXtyZXR1cm4gT2woZSk/Z3MoZS5leHByZXNzaW9uKTplfXZhciBzYT12KFtcIkZ1bmN0aW9uRXhwcmVzc2lvblwiLFwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIl0pO2Z1bmN0aW9uIHVhKGUpe3JldHVybiBlLnR5cGU9PT1cIk1lbWJlckV4cHJlc3Npb25cInx8ZS50eXBlPT09XCJPcHRpb25hbE1lbWJlckV4cHJlc3Npb25cInx8ZS50eXBlPT09XCJJZGVudGlmaWVyXCImJmUubmFtZSE9PVwidW5kZWZpbmVkXCJ9ZnVuY3Rpb24gaWEoZSx0KXtpZih0LnNlbWl8fFNzKGUsdCl8fEJzKGUsdCkpcmV0dXJuITE7bGV0e25vZGU6cixrZXk6bixwYXJlbnQ6c309ZTtyZXR1cm4hIShyLnR5cGU9PT1cIkV4cHJlc3Npb25TdGF0ZW1lbnRcIiYmKG49PT1cImJvZHlcIiYmKHMudHlwZT09PVwiUHJvZ3JhbVwifHxzLnR5cGU9PT1cIkJsb2NrU3RhdGVtZW50XCJ8fHMudHlwZT09PVwiU3RhdGljQmxvY2tcInx8cy50eXBlPT09XCJUU01vZHVsZUJsb2NrXCIpfHxuPT09XCJjb25zZXF1ZW50XCImJnMudHlwZT09PVwiU3dpdGNoQ2FzZVwiKSYmZS5jYWxsKCgpPT5hYShlLHQpLFwiZXhwcmVzc2lvblwiKSl9ZnVuY3Rpb24gYWEoZSx0KXtsZXR7bm9kZTpyfT1lO3N3aXRjaChyLnR5cGUpe2Nhc2VcIlBhcmVudGhlc2l6ZWRFeHByZXNzaW9uXCI6Y2FzZVwiVHlwZUNhc3RFeHByZXNzaW9uXCI6Y2FzZVwiQXJyYXlFeHByZXNzaW9uXCI6Y2FzZVwiQXJyYXlQYXR0ZXJuXCI6Y2FzZVwiVGVtcGxhdGVMaXRlcmFsXCI6Y2FzZVwiVGVtcGxhdGVFbGVtZW50XCI6Y2FzZVwiUmVnRXhwTGl0ZXJhbFwiOnJldHVybiEwO2Nhc2VcIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCI6aWYoIUVuKGUsdCkpcmV0dXJuITA7YnJlYWs7Y2FzZVwiVW5hcnlFeHByZXNzaW9uXCI6e2xldHtwcmVmaXg6bixvcGVyYXRvcjpzfT1yO2lmKG4mJihzPT09XCIrXCJ8fHM9PT1cIi1cIikpcmV0dXJuITA7YnJlYWt9Y2FzZVwiQmluZEV4cHJlc3Npb25cIjppZighci5vYmplY3QpcmV0dXJuITA7YnJlYWs7Y2FzZVwiTGl0ZXJhbFwiOmlmKHIucmVnZXgpcmV0dXJuITA7YnJlYWs7ZGVmYXVsdDppZihIKHIpKXJldHVybiEwfXJldHVybiBCZShlLHQpPyEwOlJ0KHIpP2UuY2FsbCgoKT0+YWEoZSx0KSwuLi5QcihyKSk6ITF9ZnVuY3Rpb24gU3Moe25vZGU6ZSxwYXJlbnQ6dH0scil7cmV0dXJuKHIucGFyZW50UGFyc2VyPT09XCJtYXJrZG93blwifHxyLnBhcmVudFBhcnNlcj09PVwibWR4XCIpJiZlLnR5cGU9PT1cIkV4cHJlc3Npb25TdGF0ZW1lbnRcIiYmSChlLmV4cHJlc3Npb24pJiZ0LnR5cGU9PT1cIlByb2dyYW1cIiYmdC5ib2R5Lmxlbmd0aD09PTF9ZnVuY3Rpb24gQnMoe25vZGU6ZSxwYXJlbnQ6dH0scil7cmV0dXJuKHIucGFyc2VyPT09XCJfX3Z1ZV9ldmVudF9iaW5kaW5nXCJ8fHIucGFyc2VyPT09XCJfX3Z1ZV90c19ldmVudF9iaW5kaW5nXCIpJiZlLnR5cGU9PT1cIkV4cHJlc3Npb25TdGF0ZW1lbnRcIiYmdC50eXBlPT09XCJQcm9ncmFtXCImJnQuYm9keS5sZW5ndGg9PT0xfWZ1bmN0aW9uIG9hKGUsdCxyKXtsZXQgbj1bcihcImV4cHJlc3Npb25cIildO2lmKEJzKGUsdCkpe2xldCBzPWdzKGUubm9kZS5leHByZXNzaW9uKTsoc2Eocyl8fHVhKHMpKSYmbi5wdXNoKFwiO1wiKX1lbHNlIFNzKGUsdCl8fHQuc2VtaSYmbi5wdXNoKFwiO1wiKTtyZXR1cm4gbn1mdW5jdGlvbiBwYShlLHQscil7aWYodC5fX2lzVnVlQmluZGluZ3N8fHQuX19pc1Z1ZUZvckJpbmRpbmdMZWZ0KXtsZXQgbj1lLm1hcChyLFwicHJvZ3JhbVwiLFwiYm9keVwiLDAsXCJwYXJhbXNcIik7aWYobi5sZW5ndGg9PT0xKXJldHVybiBuWzBdO2xldCBzPWIoW1wiLFwiLHhdLG4pO3JldHVybiB0Ll9faXNWdWVGb3JCaW5kaW5nTGVmdD9bXCIoXCIsZihbRSxsKHMpXSksRSxcIilcIl06c31pZih0Ll9faXNFbWJlZGRlZFR5cGVzY3JpcHRHZW5lcmljUGFyYW1ldGVycyl7bGV0IG49ZS5tYXAocixcInByb2dyYW1cIixcImJvZHlcIiwwLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiKTtyZXR1cm4gYihbXCIsXCIseF0sbil9fWZ1bmN0aW9uIG1hKGUsdCl7bGV0e25vZGU6cn09ZTtzd2l0Y2goci50eXBlKXtjYXNlXCJSZWdFeHBMaXRlcmFsXCI6cmV0dXJuIGNhKHIpO2Nhc2VcIkJpZ0ludExpdGVyYWxcIjpyZXR1cm4gaG4oci5leHRyYS5yYXcpO2Nhc2VcIk51bWVyaWNMaXRlcmFsXCI6cmV0dXJuIGZ0KHIuZXh0cmEucmF3KTtjYXNlXCJTdHJpbmdMaXRlcmFsXCI6cmV0dXJuIEllKFplKHIuZXh0cmEucmF3LHQpKTtjYXNlXCJOdWxsTGl0ZXJhbFwiOnJldHVyblwibnVsbFwiO2Nhc2VcIkJvb2xlYW5MaXRlcmFsXCI6cmV0dXJuIFN0cmluZyhyLnZhbHVlKTtjYXNlXCJEaXJlY3RpdmVMaXRlcmFsXCI6cmV0dXJuIGxhKHIuZXh0cmEucmF3LHQpO2Nhc2VcIkxpdGVyYWxcIjp7aWYoci5yZWdleClyZXR1cm4gY2Eoci5yZWdleCk7aWYoci5iaWdpbnQpcmV0dXJuIGhuKHIucmF3KTtsZXR7dmFsdWU6bn09cjtyZXR1cm4gdHlwZW9mIG49PVwibnVtYmVyXCI/ZnQoci5yYXcpOnR5cGVvZiBuPT1cInN0cmluZ1wiP19sKGUpP2xhKHIucmF3LHQpOkllKFplKHIucmF3LHQpKTpTdHJpbmcobil9fX1mdW5jdGlvbiBfbChlKXtpZihlLmtleSE9PVwiZXhwcmVzc2lvblwiKXJldHVybjtsZXR7cGFyZW50OnR9PWU7cmV0dXJuIHQudHlwZT09PVwiRXhwcmVzc2lvblN0YXRlbWVudFwiJiZ0LmRpcmVjdGl2ZX1mdW5jdGlvbiBobihlKXtyZXR1cm4gZS50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIGNhKHtwYXR0ZXJuOmUsZmxhZ3M6dH0pe3JldHVybiB0PVsuLi50XS5zb3J0KCkuam9pbihcIlwiKSxgLyR7ZX0vJHt0fWB9ZnVuY3Rpb24gbGEoZSx0KXtsZXQgcj1lLnNsaWNlKDEsLTEpO2lmKHIuaW5jbHVkZXMoJ1wiJyl8fHIuaW5jbHVkZXMoXCInXCIpKXJldHVybiBlO2xldCBuPXQuc2luZ2xlUXVvdGU/XCInXCI6J1wiJztyZXR1cm4gbityK259ZnVuY3Rpb24gamwoZSx0LHIpe2xldCBuPWUub3JpZ2luYWxUZXh0LnNsaWNlKHQscik7Zm9yKGxldCBzIG9mIGVbU3ltYm9sLmZvcihcImNvbW1lbnRzXCIpXSl7bGV0IHU9cShzKTtpZih1PnIpYnJlYWs7bGV0IGk9ayhzKTtpZihpPHQpY29udGludWU7bGV0IGE9aS11O249bi5zbGljZSgwLHUtdCkrXCIgXCIucmVwZWF0KGEpK24uc2xpY2UoaS10KX1yZXR1cm4gbn12YXIgYnM9amw7ZnVuY3Rpb24geWEoZSx0LHIpe2xldHtub2RlOm59PWU7cmV0dXJuW1wiaW1wb3J0XCIsbi5waGFzZT9gICR7bi5waGFzZX1gOlwiXCIsa3MobiksRWEoZSx0LHIpLGZhKGUsdCxyKSxDYShlLHQsciksdC5zZW1pP1wiO1wiOlwiXCJdfXZhciBEYT1lPT5lLnR5cGU9PT1cIkV4cG9ydERlZmF1bHREZWNsYXJhdGlvblwifHxlLnR5cGU9PT1cIkRlY2xhcmVFeHBvcnREZWNsYXJhdGlvblwiJiZlLmRlZmF1bHQ7ZnVuY3Rpb24gZ24oZSx0LHIpe2xldHtub2RlOm59PWUscz1beGkoZSx0LHIpLEsoZSksXCJleHBvcnRcIixEYShuKT9cIiBkZWZhdWx0XCI6XCJcIl0se2RlY2xhcmF0aW9uOnUsZXhwb3J0ZWQ6aX09bjtyZXR1cm4gZChuLGguRGFuZ2xpbmcpJiYocy5wdXNoKFwiIFwiLEooZSx0KSksd3IobikmJnMucHVzaChGKSksdT9zLnB1c2goXCIgXCIscihcImRlY2xhcmF0aW9uXCIpKToocy5wdXNoKFJsKG4pKSxuLnR5cGU9PT1cIkV4cG9ydEFsbERlY2xhcmF0aW9uXCJ8fG4udHlwZT09PVwiRGVjbGFyZUV4cG9ydEFsbERlY2xhcmF0aW9uXCI/KHMucHVzaChcIiAqXCIpLGkmJnMucHVzaChcIiBhcyBcIixyKFwiZXhwb3J0ZWRcIikpKTpzLnB1c2goRWEoZSx0LHIpKSxzLnB1c2goZmEoZSx0LHIpLENhKGUsdCxyKSkpLHMucHVzaChNbChuLHQpKSxzfXZhciB2bD12KFtcIkNsYXNzRGVjbGFyYXRpb25cIixcIkNvbXBvbmVudERlY2xhcmF0aW9uXCIsXCJGdW5jdGlvbkRlY2xhcmF0aW9uXCIsXCJUU0ludGVyZmFjZURlY2xhcmF0aW9uXCIsXCJEZWNsYXJlQ2xhc3NcIixcIkRlY2xhcmVDb21wb25lbnRcIixcIkRlY2xhcmVGdW5jdGlvblwiLFwiRGVjbGFyZUhvb2tcIixcIkhvb2tEZWNsYXJhdGlvblwiLFwiVFNEZWNsYXJlRnVuY3Rpb25cIixcIkVudW1EZWNsYXJhdGlvblwiXSk7ZnVuY3Rpb24gTWwoZSx0KXtyZXR1cm4gdC5zZW1pJiYoIWUuZGVjbGFyYXRpb258fERhKGUpJiYhdmwoZS5kZWNsYXJhdGlvbikpP1wiO1wiOlwiXCJ9ZnVuY3Rpb24gUHMoZSx0PSEwKXtyZXR1cm4gZSYmZSE9PVwidmFsdWVcIj9gJHt0P1wiIFwiOlwiXCJ9JHtlfSR7dD9cIlwiOlwiIFwifWA6XCJcIn1mdW5jdGlvbiBrcyhlLHQpe3JldHVybiBQcyhlLmltcG9ydEtpbmQsdCl9ZnVuY3Rpb24gUmwoZSl7cmV0dXJuIFBzKGUuZXhwb3J0S2luZCl9ZnVuY3Rpb24gZmEoZSx0LHIpe2xldHtub2RlOm59PWU7aWYoIW4uc291cmNlKXJldHVyblwiXCI7bGV0IHM9W107cmV0dXJuIEZhKG4sdCkmJnMucHVzaChcIiBmcm9tXCIpLHMucHVzaChcIiBcIixyKFwic291cmNlXCIpKSxzfWZ1bmN0aW9uIEVhKGUsdCxyKXtsZXR7bm9kZTpufT1lO2lmKCFGYShuLHQpKXJldHVyblwiXCI7bGV0IHM9W1wiIFwiXTtpZihPKG4uc3BlY2lmaWVycykpe2xldCB1PVtdLGk9W107ZS5lYWNoKCgpPT57bGV0IGE9ZS5ub2RlLnR5cGU7aWYoYT09PVwiRXhwb3J0TmFtZXNwYWNlU3BlY2lmaWVyXCJ8fGE9PT1cIkV4cG9ydERlZmF1bHRTcGVjaWZpZXJcInx8YT09PVwiSW1wb3J0TmFtZXNwYWNlU3BlY2lmaWVyXCJ8fGE9PT1cIkltcG9ydERlZmF1bHRTcGVjaWZpZXJcIil1LnB1c2gocigpKTtlbHNlIGlmKGE9PT1cIkV4cG9ydFNwZWNpZmllclwifHxhPT09XCJJbXBvcnRTcGVjaWZpZXJcIilpLnB1c2gocigpKTtlbHNlIHRocm93IG5ldyBNZShuLFwic3BlY2lmaWVyXCIpfSxcInNwZWNpZmllcnNcIikscy5wdXNoKGIoXCIsIFwiLHUpKSxpLmxlbmd0aD4wJiYodS5sZW5ndGg+MCYmcy5wdXNoKFwiLCBcIiksaS5sZW5ndGg+MXx8dS5sZW5ndGg+MHx8bi5zcGVjaWZpZXJzLnNvbWUocD0+ZChwKSk/cy5wdXNoKGwoW1wie1wiLGYoW3QuYnJhY2tldFNwYWNpbmc/eDpFLGIoW1wiLFwiLHhdLGkpXSksQihhZSh0KT9cIixcIjpcIlwiKSx0LmJyYWNrZXRTcGFjaW5nP3g6RSxcIn1cIl0pKTpzLnB1c2goW1wie1wiLHQuYnJhY2tldFNwYWNpbmc/XCIgXCI6XCJcIiwuLi5pLHQuYnJhY2tldFNwYWNpbmc/XCIgXCI6XCJcIixcIn1cIl0pKX1lbHNlIHMucHVzaChcInt9XCIpO3JldHVybiBzfWZ1bmN0aW9uIEZhKGUsdCl7cmV0dXJuIGUudHlwZSE9PVwiSW1wb3J0RGVjbGFyYXRpb25cInx8TyhlLnNwZWNpZmllcnMpfHxlLmltcG9ydEtpbmQ9PT1cInR5cGVcIj8hMDpicyh0LHEoZSkscShlLnNvdXJjZSkpLnRyaW1FbmQoKS5lbmRzV2l0aChcImZyb21cIil9ZnVuY3Rpb24gSmwoZSx0KXt2YXIgbixzO2lmKChuPWUuZXh0cmEpIT1udWxsJiZuLmRlcHJlY2F0ZWRBc3NlcnRTeW50YXgpcmV0dXJuXCJhc3NlcnRcIjtsZXQgcj1icyh0LGsoZS5zb3VyY2UpLChzPWUuYXR0cmlidXRlcykhPW51bGwmJnNbMF0/cShlLmF0dHJpYnV0ZXNbMF0pOmsoZSkpLnRyaW1TdGFydCgpO3JldHVybiByLnN0YXJ0c1dpdGgoXCJhc3NlcnRcIik/XCJhc3NlcnRcIjpyLnN0YXJ0c1dpdGgoXCJ3aXRoXCIpfHxPKGUuYXR0cmlidXRlcyk/XCJ3aXRoXCI6dm9pZCAwfWZ1bmN0aW9uIENhKGUsdCxyKXtsZXR7bm9kZTpufT1lO2lmKCFuLnNvdXJjZSlyZXR1cm5cIlwiO2xldCBzPUpsKG4sdCk7aWYoIXMpcmV0dXJuXCJcIjtsZXQgdT1bYCAke3N9IHtgXTtyZXR1cm4gTyhuLmF0dHJpYnV0ZXMpJiYodC5icmFja2V0U3BhY2luZyYmdS5wdXNoKFwiIFwiKSx1LnB1c2goYihcIiwgXCIsZS5tYXAocixcImF0dHJpYnV0ZXNcIikpKSx0LmJyYWNrZXRTcGFjaW5nJiZ1LnB1c2goXCIgXCIpKSx1LnB1c2goXCJ9XCIpLHV9ZnVuY3Rpb24gQWEoZSx0LHIpe2xldHtub2RlOm59PWUse3R5cGU6c309bix1PXMuc3RhcnRzV2l0aChcIkltcG9ydFwiKSxpPXU/XCJpbXBvcnRlZFwiOlwibG9jYWxcIixhPXU/XCJsb2NhbFwiOlwiZXhwb3J0ZWRcIixwPW5baV0sbz1uW2FdLG09XCJcIix5PVwiXCI7cmV0dXJuIHM9PT1cIkV4cG9ydE5hbWVzcGFjZVNwZWNpZmllclwifHxzPT09XCJJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXJcIj9tPVwiKlwiOnAmJihtPXIoaSkpLG8mJiFxbChuKSYmKHk9cihhKSksW1BzKHM9PT1cIkltcG9ydFNwZWNpZmllclwiP24uaW1wb3J0S2luZDpuLmV4cG9ydEtpbmQsITEpLG0sbSYmeT9cIiBhcyBcIjpcIlwiLHldfWZ1bmN0aW9uIHFsKGUpe2lmKGUudHlwZSE9PVwiSW1wb3J0U3BlY2lmaWVyXCImJmUudHlwZSE9PVwiRXhwb3J0U3BlY2lmaWVyXCIpcmV0dXJuITE7bGV0e2xvY2FsOnQsW2UudHlwZT09PVwiSW1wb3J0U3BlY2lmaWVyXCI/XCJpbXBvcnRlZFwiOlwiZXhwb3J0ZWRcIl06cn09ZTtpZih0LnR5cGUhPT1yLnR5cGV8fCF0dSh0LHIpKXJldHVybiExO2lmKHRlKHQpKXJldHVybiB0LnZhbHVlPT09ci52YWx1ZSYmZmUodCk9PT1mZShyKTtzd2l0Y2godC50eXBlKXtjYXNlXCJJZGVudGlmaWVyXCI6cmV0dXJuIHQubmFtZT09PXIubmFtZTtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBodChlLHQscil7dmFyIGo7bGV0IG49dC5zZW1pP1wiO1wiOlwiXCIse25vZGU6c309ZSx1PXMudHlwZT09PVwiT2JqZWN0VHlwZUFubm90YXRpb25cIixpPXMudHlwZT09PVwiVFNFbnVtRGVjbGFyYXRpb25cInx8cy50eXBlPT09XCJFbnVtQm9vbGVhbkJvZHlcInx8cy50eXBlPT09XCJFbnVtTnVtYmVyQm9keVwifHxzLnR5cGU9PT1cIkVudW1CaWdJbnRCb2R5XCJ8fHMudHlwZT09PVwiRW51bVN0cmluZ0JvZHlcInx8cy50eXBlPT09XCJFbnVtU3ltYm9sQm9keVwiLGE9W3MudHlwZT09PVwiVFNUeXBlTGl0ZXJhbFwifHxpP1wibWVtYmVyc1wiOnMudHlwZT09PVwiVFNJbnRlcmZhY2VCb2R5XCI/XCJib2R5XCI6XCJwcm9wZXJ0aWVzXCJdO3UmJmEucHVzaChcImluZGV4ZXJzXCIsXCJjYWxsUHJvcGVydGllc1wiLFwiaW50ZXJuYWxTbG90c1wiKTtsZXQgcD1hLmZsYXRNYXAoST0+ZS5tYXAoKHtub2RlOlV9KT0+KHtub2RlOlUscHJpbnRlZDpyKCksbG9jOnEoVSl9KSxJKSk7YS5sZW5ndGg+MSYmcC5zb3J0KChJLFUpPT5JLmxvYy1VLmxvYyk7bGV0e3BhcmVudDpvLGtleTptfT1lLHk9dSYmbT09PVwiYm9keVwiJiYoby50eXBlPT09XCJJbnRlcmZhY2VEZWNsYXJhdGlvblwifHxvLnR5cGU9PT1cIkRlY2xhcmVJbnRlcmZhY2VcInx8by50eXBlPT09XCJEZWNsYXJlQ2xhc3NcIiksRD1zLnR5cGU9PT1cIlRTSW50ZXJmYWNlQm9keVwifHxpfHx5fHxzLnR5cGU9PT1cIk9iamVjdFBhdHRlcm5cIiYmby50eXBlIT09XCJGdW5jdGlvbkRlY2xhcmF0aW9uXCImJm8udHlwZSE9PVwiRnVuY3Rpb25FeHByZXNzaW9uXCImJm8udHlwZSE9PVwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cIiYmby50eXBlIT09XCJPYmplY3RNZXRob2RcIiYmby50eXBlIT09XCJDbGFzc01ldGhvZFwiJiZvLnR5cGUhPT1cIkNsYXNzUHJpdmF0ZU1ldGhvZFwiJiZvLnR5cGUhPT1cIkFzc2lnbm1lbnRQYXR0ZXJuXCImJm8udHlwZSE9PVwiQ2F0Y2hDbGF1c2VcIiYmcy5wcm9wZXJ0aWVzLnNvbWUoST0+SS52YWx1ZSYmKEkudmFsdWUudHlwZT09PVwiT2JqZWN0UGF0dGVyblwifHxJLnZhbHVlLnR5cGU9PT1cIkFycmF5UGF0dGVyblwiKSl8fHMudHlwZSE9PVwiT2JqZWN0UGF0dGVyblwiJiZwLmxlbmd0aD4wJiZUZSh0Lm9yaWdpbmFsVGV4dCxxKHMpLHBbMF0ubG9jKSxDPXk/XCI7XCI6cy50eXBlPT09XCJUU0ludGVyZmFjZUJvZHlcInx8cy50eXBlPT09XCJUU1R5cGVMaXRlcmFsXCI/QihuLFwiO1wiKTpcIixcIixjPXMudHlwZT09PVwiUmVjb3JkRXhwcmVzc2lvblwiP1wiI3tcIjpzLmV4YWN0P1wie3xcIjpcIntcIixBPXMuZXhhY3Q/XCJ8fVwiOlwifVwiLFQ9W10sUz1wLm1hcChJPT57bGV0IFU9Wy4uLlQsbChJLnByaW50ZWQpXTtyZXR1cm4gVD1bQyx4XSwoSS5ub2RlLnR5cGU9PT1cIlRTUHJvcGVydHlTaWduYXR1cmVcInx8SS5ub2RlLnR5cGU9PT1cIlRTTWV0aG9kU2lnbmF0dXJlXCJ8fEkubm9kZS50eXBlPT09XCJUU0NvbnN0cnVjdFNpZ25hdHVyZURlY2xhcmF0aW9uXCJ8fEkubm9kZS50eXBlPT09XCJUU0NhbGxTaWduYXR1cmVEZWNsYXJhdGlvblwiKSYmZChJLm5vZGUsaC5QcmV0dGllcklnbm9yZSkmJlQuc2hpZnQoKSxwZShJLm5vZGUsdCkmJlQucHVzaChGKSxVfSk7aWYocy5pbmV4YWN0fHxzLmhhc1Vua25vd25NZW1iZXJzKXtsZXQgSTtpZihkKHMsaC5EYW5nbGluZykpe2xldCBVPWQocyxoLkxpbmUpO0k9W0ooZSx0KSxVfHxaKHQub3JpZ2luYWxUZXh0LGsoXyghMSxjdChzKSwtMSkpKT9GOngsXCIuLi5cIl19ZWxzZSBJPVtcIi4uLlwiXTtTLnB1c2goWy4uLlQsLi4uSV0pfWxldCBnPShqPV8oITEscCwtMSkpPT1udWxsP3ZvaWQgMDpqLm5vZGUsTT0hKHMuaW5leGFjdHx8cy5oYXNVbmtub3duTWVtYmVyc3x8ZyYmKGcudHlwZT09PVwiUmVzdEVsZW1lbnRcInx8KGcudHlwZT09PVwiVFNQcm9wZXJ0eVNpZ25hdHVyZVwifHxnLnR5cGU9PT1cIlRTQ2FsbFNpZ25hdHVyZURlY2xhcmF0aW9uXCJ8fGcudHlwZT09PVwiVFNNZXRob2RTaWduYXR1cmVcInx8Zy50eXBlPT09XCJUU0NvbnN0cnVjdFNpZ25hdHVyZURlY2xhcmF0aW9uXCIpJiZkKGcsaC5QcmV0dGllcklnbm9yZSkpKSxSO2lmKFMubGVuZ3RoPT09MCl7aWYoIWQocyxoLkRhbmdsaW5nKSlyZXR1cm5bYyxBLE4oZSxyKV07Uj1sKFtjLEooZSx0LHtpbmRlbnQ6ITB9KSxFLEEsJChlKSxOKGUscildKX1lbHNlIFI9W3kmJk8ocy5wcm9wZXJ0aWVzKT90YShvKTpcIlwiLGMsZihbdC5icmFja2V0U3BhY2luZz94OkUsLi4uU10pLEIoTSYmKEMhPT1cIixcInx8YWUodCkpP0M6XCJcIiksdC5icmFja2V0U3BhY2luZz94OkUsQSwkKGUpLE4oZSxyKV07cmV0dXJuIGUubWF0Y2goST0+SS50eXBlPT09XCJPYmplY3RQYXR0ZXJuXCImJiFPKEkuZGVjb3JhdG9ycyksSXMpfHx3ZShzKSYmKGUubWF0Y2godm9pZCAwLChJLFUpPT5VPT09XCJ0eXBlQW5ub3RhdGlvblwiLChJLFUpPT5VPT09XCJ0eXBlQW5ub3RhdGlvblwiLElzKXx8ZS5tYXRjaCh2b2lkIDAsKEksVSk9PkkudHlwZT09PVwiRnVuY3Rpb25UeXBlUGFyYW1cIiYmVT09PVwidHlwZUFubm90YXRpb25cIixJcykpfHwhRCYmZS5tYXRjaChJPT5JLnR5cGU9PT1cIk9iamVjdFBhdHRlcm5cIixJPT5JLnR5cGU9PT1cIkFzc2lnbm1lbnRFeHByZXNzaW9uXCJ8fEkudHlwZT09PVwiVmFyaWFibGVEZWNsYXJhdG9yXCIpP1I6bChSLHtzaG91bGRCcmVhazpEfSl9ZnVuY3Rpb24gSXMoZSx0KXtyZXR1cm4odD09PVwicGFyYW1zXCJ8fHQ9PT1cInBhcmFtZXRlcnNcInx8dD09PVwidGhpc1wifHx0PT09XCJyZXN0XCIpJiZDcyhlKX1mdW5jdGlvbiBXbChlKXtsZXQgdD1bZV07Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKyspe2xldCBuPXRbcl07Zm9yKGxldCBzIG9mW1widGVzdFwiLFwiY29uc2VxdWVudFwiLFwiYWx0ZXJuYXRlXCJdKXtsZXQgdT1uW3NdO2lmKEgodSkpcmV0dXJuITA7dS50eXBlPT09XCJDb25kaXRpb25hbEV4cHJlc3Npb25cIiYmdC5wdXNoKHUpfX1yZXR1cm4hMX1mdW5jdGlvbiBHbChlLHQscil7bGV0e25vZGU6bn09ZSxzPW4udHlwZT09PVwiQ29uZGl0aW9uYWxFeHByZXNzaW9uXCIsdT1zP1wiYWx0ZXJuYXRlXCI6XCJmYWxzZVR5cGVcIix7cGFyZW50Oml9PWUsYT1zP3IoXCJ0ZXN0XCIpOltyKFwiY2hlY2tUeXBlXCIpLFwiIFwiLFwiZXh0ZW5kc1wiLFwiIFwiLHIoXCJleHRlbmRzVHlwZVwiKV07cmV0dXJuIGkudHlwZT09PW4udHlwZSYmaVt1XT09PW4/aGUoMixhKTphfXZhciBVbD1uZXcgTWFwKFtbXCJBc3NpZ25tZW50RXhwcmVzc2lvblwiLFwicmlnaHRcIl0sW1wiVmFyaWFibGVEZWNsYXJhdG9yXCIsXCJpbml0XCJdLFtcIlJldHVyblN0YXRlbWVudFwiLFwiYXJndW1lbnRcIl0sW1wiVGhyb3dTdGF0ZW1lbnRcIixcImFyZ3VtZW50XCJdLFtcIlVuYXJ5RXhwcmVzc2lvblwiLFwiYXJndW1lbnRcIl0sW1wiWWllbGRFeHByZXNzaW9uXCIsXCJhcmd1bWVudFwiXSxbXCJBd2FpdEV4cHJlc3Npb25cIixcImFyZ3VtZW50XCJdXSk7ZnVuY3Rpb24gWGwoZSl7bGV0e25vZGU6dH09ZTtpZih0LnR5cGUhPT1cIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiKXJldHVybiExO2xldCByLG49dDtmb3IobGV0IHM9MDshcjtzKyspe2xldCB1PWUuZ2V0UGFyZW50Tm9kZShzKTtpZih1LnR5cGU9PT1cIkNoYWluRXhwcmVzc2lvblwiJiZ1LmV4cHJlc3Npb249PT1ufHxMKHUpJiZ1LmNhbGxlZT09PW58fFcodSkmJnUub2JqZWN0PT09bnx8dS50eXBlPT09XCJUU05vbk51bGxFeHByZXNzaW9uXCImJnUuZXhwcmVzc2lvbj09PW4pe249dTtjb250aW51ZX11LnR5cGU9PT1cIk5ld0V4cHJlc3Npb25cIiYmdS5jYWxsZWU9PT1ufHxBZSh1KSYmdS5leHByZXNzaW9uPT09bj8ocj1lLmdldFBhcmVudE5vZGUocysxKSxuPXUpOnI9dX1yZXR1cm4gbj09PXQ/ITE6cltVbC5nZXQoci50eXBlKV09PT1ufWZ1bmN0aW9uIFRhKGUsdCxyKXtsZXR7bm9kZTpufT1lLHM9bi50eXBlPT09XCJDb25kaXRpb25hbEV4cHJlc3Npb25cIix1PXM/XCJjb25zZXF1ZW50XCI6XCJ0cnVlVHlwZVwiLGk9cz9cImFsdGVybmF0ZVwiOlwiZmFsc2VUeXBlXCIsYT1zP1tcInRlc3RcIl06W1wiY2hlY2tUeXBlXCIsXCJleHRlbmRzVHlwZVwiXSxwPW5bdV0sbz1uW2ldLG09W10seT0hMSx7cGFyZW50OkR9PWUsQz1ELnR5cGU9PT1uLnR5cGUmJmEuc29tZShHPT5EW0ddPT09biksYz1ELnR5cGU9PT1uLnR5cGUmJiFDLEEsVCxTPTA7ZG8gVD1BfHxuLEE9ZS5nZXRQYXJlbnROb2RlKFMpLFMrKzt3aGlsZShBJiZBLnR5cGU9PT1uLnR5cGUmJmEuZXZlcnkoRz0+QVtHXSE9PVQpKTtsZXQgZz1BfHxELE09VDtpZihzJiYoSChuW2FbMF1dKXx8SChwKXx8SChvKXx8V2woTSkpKXt5PSEwLGM9ITA7bGV0IEc9UT0+W0IoXCIoXCIpLGYoW0UsUV0pLEUsQihcIilcIildLHVlPVE9PlEudHlwZT09PVwiTnVsbExpdGVyYWxcInx8US50eXBlPT09XCJMaXRlcmFsXCImJlEudmFsdWU9PT1udWxsfHxRLnR5cGU9PT1cIklkZW50aWZpZXJcIiYmUS5uYW1lPT09XCJ1bmRlZmluZWRcIjttLnB1c2goXCIgPyBcIix1ZShwKT9yKHUpOkcocih1KSksXCIgOiBcIixvLnR5cGU9PT1uLnR5cGV8fHVlKG8pP3IoaSk6RyhyKGkpKSl9ZWxzZXtsZXQgRz1RPT50LnVzZVRhYnM/ZihyKFEpKTpoZSgyLHIoUSkpLHVlPVt4LFwiPyBcIixwLnR5cGU9PT1uLnR5cGU/QihcIlwiLFwiKFwiKTpcIlwiLEcodSkscC50eXBlPT09bi50eXBlP0IoXCJcIixcIilcIik6XCJcIix4LFwiOiBcIixHKGkpXTttLnB1c2goRC50eXBlIT09bi50eXBlfHxEW2ldPT09bnx8Qz91ZTp0LnVzZVRhYnM/TXIoZih1ZSkpOmhlKE1hdGgubWF4KDAsdC50YWJXaWR0aC0yKSx1ZSkpfWxldCBSPVt1LGksLi4uYV0uc29tZShHPT5kKG5bR10sdWU9PmVlKHVlKSYmVGUodC5vcmlnaW5hbFRleHQscSh1ZSksayh1ZSkpKSksaj1HPT5EPT09Zz9sKEcse3Nob3VsZEJyZWFrOlJ9KTpSP1tHLEVlXTpHLEk9IXkmJihXKEQpfHxELnR5cGU9PT1cIk5HUGlwZUV4cHJlc3Npb25cIiYmRC5sZWZ0PT09bikmJiFELmNvbXB1dGVkLFU9WGwoZSksUD1qKFtHbChlLHQsciksYz9tOmYobSkscyYmSSYmIVU/RTpcIlwiXSk7cmV0dXJuIEN8fFU/bChbZihbRSxQXSksRV0pOlB9ZnVuY3Rpb24gWWwoZSx0KXtyZXR1cm4oVyh0KXx8dC50eXBlPT09XCJOR1BpcGVFeHByZXNzaW9uXCImJnQubGVmdD09PWUpJiYhdC5jb21wdXRlZH1mdW5jdGlvbiBIbChlLHQscixuKXtyZXR1cm5bLi4uZS5tYXAodT0+Y3QodSkpLGN0KHQpLGN0KHIpXS5mbGF0KCkuc29tZSh1PT5lZSh1KSYmVGUobi5vcmlnaW5hbFRleHQscSh1KSxrKHUpKSl9dmFyIE5sPW5ldyBNYXAoW1tcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCIsXCJyaWdodFwiXSxbXCJWYXJpYWJsZURlY2xhcmF0b3JcIixcImluaXRcIl0sW1wiUmV0dXJuU3RhdGVtZW50XCIsXCJhcmd1bWVudFwiXSxbXCJUaHJvd1N0YXRlbWVudFwiLFwiYXJndW1lbnRcIl0sW1wiVW5hcnlFeHByZXNzaW9uXCIsXCJhcmd1bWVudFwiXSxbXCJZaWVsZEV4cHJlc3Npb25cIixcImFyZ3VtZW50XCJdLFtcIkF3YWl0RXhwcmVzc2lvblwiLFwiYXJndW1lbnRcIl1dKTtmdW5jdGlvbiBWbChlKXtsZXR7bm9kZTp0fT1lO2lmKHQudHlwZSE9PVwiQ29uZGl0aW9uYWxFeHByZXNzaW9uXCIpcmV0dXJuITE7bGV0IHIsbj10O2ZvcihsZXQgcz0wOyFyO3MrKyl7bGV0IHU9ZS5nZXRQYXJlbnROb2RlKHMpO2lmKHUudHlwZT09PVwiQ2hhaW5FeHByZXNzaW9uXCImJnUuZXhwcmVzc2lvbj09PW58fEwodSkmJnUuY2FsbGVlPT09bnx8Vyh1KSYmdS5vYmplY3Q9PT1ufHx1LnR5cGU9PT1cIlRTTm9uTnVsbEV4cHJlc3Npb25cIiYmdS5leHByZXNzaW9uPT09bil7bj11O2NvbnRpbnVlfXUudHlwZT09PVwiTmV3RXhwcmVzc2lvblwiJiZ1LmNhbGxlZT09PW58fEFlKHUpJiZ1LmV4cHJlc3Npb249PT1uPyhyPWUuZ2V0UGFyZW50Tm9kZShzKzEpLG49dSk6cj11fXJldHVybiBuPT09dD8hMTpyW05sLmdldChyLnR5cGUpXT09PW59dmFyIExzPWU9PltCKFwiKFwiKSxmKFtFLGVdKSxFLEIoXCIpXCIpXTtmdW5jdGlvbiBLdChlLHQscixuKXtpZighdC5leHBlcmltZW50YWxUZXJuYXJpZXMpcmV0dXJuIFRhKGUsdCxyKTtsZXR7bm9kZTpzfT1lLHU9cy50eXBlPT09XCJDb25kaXRpb25hbEV4cHJlc3Npb25cIixpPXMudHlwZT09PVwiVFNDb25kaXRpb25hbFR5cGVcInx8cy50eXBlPT09XCJDb25kaXRpb25hbFR5cGVBbm5vdGF0aW9uXCIsYT11P1wiY29uc2VxdWVudFwiOlwidHJ1ZVR5cGVcIixwPXU/XCJhbHRlcm5hdGVcIjpcImZhbHNlVHlwZVwiLG89dT9bXCJ0ZXN0XCJdOltcImNoZWNrVHlwZVwiLFwiZXh0ZW5kc1R5cGVcIl0sbT1zW2FdLHk9c1twXSxEPW8ubWFwKHFlPT5zW3FlXSkse3BhcmVudDpDfT1lLGM9Qy50eXBlPT09cy50eXBlLEE9YyYmby5zb21lKHFlPT5DW3FlXT09PXMpLFQ9YyYmQ1twXT09PXMsUz1tLnR5cGU9PT1zLnR5cGUsZz15LnR5cGU9PT1zLnR5cGUsTT1nfHxULFI9dC50YWJXaWR0aD4yfHx0LnVzZVRhYnMsaixJLFU9MDtkbyBJPWp8fHMsaj1lLmdldFBhcmVudE5vZGUoVSksVSsrO3doaWxlKGomJmoudHlwZT09PXMudHlwZSYmby5ldmVyeShxZT0+altxZV0hPT1JKSk7bGV0IFA9anx8QyxHPW4mJm4uYXNzaWdubWVudExheW91dCYmbi5hc3NpZ25tZW50TGF5b3V0IT09XCJicmVhay1hZnRlci1vcGVyYXRvclwiJiYoQy50eXBlPT09XCJBc3NpZ25tZW50RXhwcmVzc2lvblwifHxDLnR5cGU9PT1cIlZhcmlhYmxlRGVjbGFyYXRvclwifHxDLnR5cGU9PT1cIkNsYXNzUHJvcGVydHlcInx8Qy50eXBlPT09XCJQcm9wZXJ0eURlZmluaXRpb25cInx8Qy50eXBlPT09XCJDbGFzc1ByaXZhdGVQcm9wZXJ0eVwifHxDLnR5cGU9PT1cIk9iamVjdFByb3BlcnR5XCJ8fEMudHlwZT09PVwiUHJvcGVydHlcIiksdWU9KEMudHlwZT09PVwiUmV0dXJuU3RhdGVtZW50XCJ8fEMudHlwZT09PVwiVGhyb3dTdGF0ZW1lbnRcIikmJiEoU3x8ZyksUT11JiZQLnR5cGU9PT1cIkpTWEV4cHJlc3Npb25Db250YWluZXJcIiYmZS5ncmFuZHBhcmVudC50eXBlIT09XCJKU1hBdHRyaWJ1dGVcIixndD1WbChlKSxGdD1ZbChzLEMpLHc9aSYmQmUoZSx0KSxuZT1SP3QudXNlVGFicz9cIlx0XCI6XCIgXCIucmVwZWF0KHQudGFiV2lkdGgtMSk6XCJcIixkZT1IbChELG0seSx0KXx8U3x8ZyxvdD0hTSYmIWMmJiFpJiYoUT9tLnR5cGU9PT1cIk51bGxMaXRlcmFsXCJ8fG0udHlwZT09PVwiTGl0ZXJhbFwiJiZtLnZhbHVlPT09bnVsbDpucihtLHQpJiZNbihzLnRlc3QsMykpLFN0PU18fFR8fGkmJiFjfHxjJiZ1JiZNbihzLnRlc3QsMSl8fG90LGpzPVtdOyFTJiZkKG0saC5EYW5nbGluZykmJmUuY2FsbChxZT0+e2pzLnB1c2goSihxZSx0KSxGKX0sXCJjb25zZXF1ZW50XCIpO2xldCBRdD1bXTtkKHMudGVzdCxoLkRhbmdsaW5nKSYmZS5jYWxsKHFlPT57UXQucHVzaChKKHFlLHQpKX0sXCJ0ZXN0XCIpLCFnJiZkKHksaC5EYW5nbGluZykmJmUuY2FsbChxZT0+e1F0LnB1c2goSihxZSx0KSl9LFwiYWx0ZXJuYXRlXCIpLGQocyxoLkRhbmdsaW5nKSYmUXQucHVzaChKKGUsdCkpO2xldCB2cz1TeW1ib2woXCJ0ZXN0XCIpLHFhPVN5bWJvbChcImNvbnNlcXVlbnRcIiksRnI9U3ltYm9sKFwidGVzdC1hbmQtY29uc2VxdWVudFwiKSxXYT11P1tMcyhyKFwidGVzdFwiKSkscy50ZXN0LnR5cGU9PT1cIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiP0VlOlwiXCJdOltyKFwiY2hlY2tUeXBlXCIpLFwiIFwiLFwiZXh0ZW5kc1wiLFwiIFwiLHMuZXh0ZW5kc1R5cGUudHlwZT09PVwiVFNDb25kaXRpb25hbFR5cGVcInx8cy5leHRlbmRzVHlwZS50eXBlPT09XCJDb25kaXRpb25hbFR5cGVBbm5vdGF0aW9uXCJ8fHMuZXh0ZW5kc1R5cGUudHlwZT09PVwiVFNNYXBwZWRUeXBlXCI/cihcImV4dGVuZHNUeXBlXCIpOmwoTHMocihcImV4dGVuZHNUeXBlXCIpKSldLE1zPWwoW1dhLFwiID9cIl0se2lkOnZzfSksR2E9cihhKSxDcj1mKFtTfHxRJiYoSChtKXx8Y3x8TSk/Rjp4LGpzLEdhXSksVWE9U3Q/bChbTXMsTT9DcjpCKENyLGwoQ3Ise2lkOnFhfSkse2dyb3VwSWQ6dnN9KV0se2lkOkZyfSk6W01zLENyXSxrbj1yKHApLFJzPW90P0Ioa24sTXIoTHMoa24pKSx7Z3JvdXBJZDpGcn0pOmtuLHp0PVtVYSxRdC5sZW5ndGg+MD9bZihbRixRdF0pLEZdOmc/RjpvdD9CKHgsXCIgXCIse2dyb3VwSWQ6RnJ9KTp4LFwiOlwiLGc/XCIgXCI6Uj9TdD9CKG5lLEIoTXx8b3Q/XCIgXCI6bmUsXCIgXCIpLHtncm91cElkOkZyfSk6QihuZSxcIiBcIik6XCIgXCIsZz9SczpsKFtmKFJzKSxRJiYhb3Q/RTpcIlwiXSksRnQmJiFndD9FOlwiXCIsZGU/RWU6XCJcIl07cmV0dXJuIEcmJiFkZT9sKGYoW0UsbCh6dCldKSk6R3x8dWU/bChmKHp0KSk6Z3R8fGkmJkE/bChbZihbRSx6dF0pLHc/RTpcIlwiXSk6Qz09PVA/bCh6dCk6enR9ZnVuY3Rpb24gZGEoZSx0LHIsbil7bGV0e25vZGU6c309ZTtpZihrcihzKSlyZXR1cm4gbWEoZSx0KTtsZXQgdT10LnNlbWk/XCI7XCI6XCJcIixpPVtdO3N3aXRjaChzLnR5cGUpe2Nhc2VcIkpzRXhwcmVzc2lvblJvb3RcIjpyZXR1cm4gcihcIm5vZGVcIik7Y2FzZVwiSnNvblJvb3RcIjpyZXR1cm5bcihcIm5vZGVcIiksRl07Y2FzZVwiRmlsZVwiOnJldHVybiBwYShlLHQscik/P3IoXCJwcm9ncmFtXCIpO2Nhc2VcIkVtcHR5U3RhdGVtZW50XCI6cmV0dXJuXCJcIjtjYXNlXCJFeHByZXNzaW9uU3RhdGVtZW50XCI6cmV0dXJuIG9hKGUsdCxyKTtjYXNlXCJDaGFpbkV4cHJlc3Npb25cIjpyZXR1cm4gcihcImV4cHJlc3Npb25cIik7Y2FzZVwiUGFyZW50aGVzaXplZEV4cHJlc3Npb25cIjpyZXR1cm4hZChzLmV4cHJlc3Npb24pJiYoc2Uocy5leHByZXNzaW9uKXx8WChzLmV4cHJlc3Npb24pKT9bXCIoXCIscihcImV4cHJlc3Npb25cIiksXCIpXCJdOmwoW1wiKFwiLGYoW0UscihcImV4cHJlc3Npb25cIildKSxFLFwiKVwiXSk7Y2FzZVwiQXNzaWdubWVudEV4cHJlc3Npb25cIjpyZXR1cm4gT2koZSx0LHIpO2Nhc2VcIlZhcmlhYmxlRGVjbGFyYXRvclwiOnJldHVybiBfaShlLHQscik7Y2FzZVwiQmluYXJ5RXhwcmVzc2lvblwiOmNhc2VcIkxvZ2ljYWxFeHByZXNzaW9uXCI6cmV0dXJuIE5yKGUsdCxyKTtjYXNlXCJBc3NpZ25tZW50UGF0dGVyblwiOnJldHVybltyKFwibGVmdFwiKSxcIiA9IFwiLHIoXCJyaWdodFwiKV07Y2FzZVwiT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uXCI6Y2FzZVwiTWVtYmVyRXhwcmVzc2lvblwiOnJldHVybiBQaShlLHQscik7Y2FzZVwiTWV0YVByb3BlcnR5XCI6cmV0dXJuW3IoXCJtZXRhXCIpLFwiLlwiLHIoXCJwcm9wZXJ0eVwiKV07Y2FzZVwiQmluZEV4cHJlc3Npb25cIjpyZXR1cm4gcy5vYmplY3QmJmkucHVzaChyKFwib2JqZWN0XCIpKSxpLnB1c2gobChmKFtFLFZyKGUsdCxyKV0pKSksaTtjYXNlXCJJZGVudGlmaWVyXCI6cmV0dXJuW3MubmFtZSwkKGUpLGNuKGUpLE4oZSxyKV07Y2FzZVwiVjhJbnRyaW5zaWNJZGVudGlmaWVyXCI6cmV0dXJuW1wiJVwiLHMubmFtZV07Y2FzZVwiU3ByZWFkRWxlbWVudFwiOmNhc2VcIlNwcmVhZEVsZW1lbnRQYXR0ZXJuXCI6Y2FzZVwiU3ByZWFkUHJvcGVydHlQYXR0ZXJuXCI6Y2FzZVwiUmVzdEVsZW1lbnRcIjpyZXR1cm4gbG4oZSxyKTtjYXNlXCJGdW5jdGlvbkRlY2xhcmF0aW9uXCI6Y2FzZVwiRnVuY3Rpb25FeHByZXNzaW9uXCI6cmV0dXJuIERuKGUscix0LG4pO2Nhc2VcIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCI6cmV0dXJuICRpKGUsdCxyLG4pO2Nhc2VcIllpZWxkRXhwcmVzc2lvblwiOnJldHVybiBpLnB1c2goXCJ5aWVsZFwiKSxzLmRlbGVnYXRlJiZpLnB1c2goXCIqXCIpLHMuYXJndW1lbnQmJmkucHVzaChcIiBcIixyKFwiYXJndW1lbnRcIikpLGk7Y2FzZVwiQXdhaXRFeHByZXNzaW9uXCI6aWYoaS5wdXNoKFwiYXdhaXRcIikscy5hcmd1bWVudCl7aS5wdXNoKFwiIFwiLHIoXCJhcmd1bWVudFwiKSk7bGV0e3BhcmVudDphfT1lO2lmKEwoYSkmJmEuY2FsbGVlPT09c3x8VyhhKSYmYS5vYmplY3Q9PT1zKXtpPVtmKFtFLC4uLmldKSxFXTtsZXQgcD1lLmZpbmRBbmNlc3RvcihvPT5vLnR5cGU9PT1cIkF3YWl0RXhwcmVzc2lvblwifHxvLnR5cGU9PT1cIkJsb2NrU3RhdGVtZW50XCIpO2lmKChwPT1udWxsP3ZvaWQgMDpwLnR5cGUpIT09XCJBd2FpdEV4cHJlc3Npb25cInx8IWllKHAuYXJndW1lbnQsbz0+bz09PXMpKXJldHVybiBsKGkpfX1yZXR1cm4gaTtjYXNlXCJFeHBvcnREZWZhdWx0RGVjbGFyYXRpb25cIjpjYXNlXCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCI6Y2FzZVwiRXhwb3J0QWxsRGVjbGFyYXRpb25cIjpyZXR1cm4gZ24oZSx0LHIpO2Nhc2VcIkltcG9ydERlY2xhcmF0aW9uXCI6cmV0dXJuIHlhKGUsdCxyKTtjYXNlXCJJbXBvcnRTcGVjaWZpZXJcIjpjYXNlXCJFeHBvcnRTcGVjaWZpZXJcIjpjYXNlXCJJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXJcIjpjYXNlXCJFeHBvcnROYW1lc3BhY2VTcGVjaWZpZXJcIjpjYXNlXCJJbXBvcnREZWZhdWx0U3BlY2lmaWVyXCI6Y2FzZVwiRXhwb3J0RGVmYXVsdFNwZWNpZmllclwiOnJldHVybiBBYShlLHQscik7Y2FzZVwiSW1wb3J0QXR0cmlidXRlXCI6cmV0dXJuIHluKGUsdCxyKTtjYXNlXCJQcm9ncmFtXCI6Y2FzZVwiQmxvY2tTdGF0ZW1lbnRcIjpjYXNlXCJTdGF0aWNCbG9ja1wiOnJldHVybiBGbihlLHQscik7Y2FzZVwiQ2xhc3NCb2R5XCI6cmV0dXJuIG5hKGUsdCxyKTtjYXNlXCJUaHJvd1N0YXRlbWVudFwiOnJldHVybiBIaShlLHQscik7Y2FzZVwiUmV0dXJuU3RhdGVtZW50XCI6cmV0dXJuIFlpKGUsdCxyKTtjYXNlXCJOZXdFeHByZXNzaW9uXCI6Y2FzZVwiSW1wb3J0RXhwcmVzc2lvblwiOmNhc2VcIk9wdGlvbmFsQ2FsbEV4cHJlc3Npb25cIjpjYXNlXCJDYWxsRXhwcmVzc2lvblwiOnJldHVybiAkcihlLHQscik7Y2FzZVwiT2JqZWN0RXhwcmVzc2lvblwiOmNhc2VcIk9iamVjdFBhdHRlcm5cIjpjYXNlXCJSZWNvcmRFeHByZXNzaW9uXCI6cmV0dXJuIGh0KGUsdCxyKTtjYXNlXCJQcm9wZXJ0eVwiOnJldHVybiBidChzKT95cihlLHQscik6eW4oZSx0LHIpO2Nhc2VcIk9iamVjdFByb3BlcnR5XCI6cmV0dXJuIHluKGUsdCxyKTtjYXNlXCJPYmplY3RNZXRob2RcIjpyZXR1cm4geXIoZSx0LHIpO2Nhc2VcIkRlY29yYXRvclwiOnJldHVybltcIkBcIixyKFwiZXhwcmVzc2lvblwiKV07Y2FzZVwiQXJyYXlFeHByZXNzaW9uXCI6Y2FzZVwiQXJyYXlQYXR0ZXJuXCI6Y2FzZVwiVHVwbGVFeHByZXNzaW9uXCI6cmV0dXJuIFZ0KGUsdCxyKTtjYXNlXCJTZXF1ZW5jZUV4cHJlc3Npb25cIjp7bGV0e3BhcmVudDphfT1lO2lmKGEudHlwZT09PVwiRXhwcmVzc2lvblN0YXRlbWVudFwifHxhLnR5cGU9PT1cIkZvclN0YXRlbWVudFwiKXtsZXQgcD1bXTtyZXR1cm4gZS5lYWNoKCh7aXNGaXJzdDpvfSk9PntvP3AucHVzaChyKCkpOnAucHVzaChcIixcIixmKFt4LHIoKV0pKX0sXCJleHByZXNzaW9uc1wiKSxsKHApfXJldHVybiBsKGIoW1wiLFwiLHhdLGUubWFwKHIsXCJleHByZXNzaW9uc1wiKSkpfWNhc2VcIlRoaXNFeHByZXNzaW9uXCI6cmV0dXJuXCJ0aGlzXCI7Y2FzZVwiU3VwZXJcIjpyZXR1cm5cInN1cGVyXCI7Y2FzZVwiRGlyZWN0aXZlXCI6cmV0dXJuW3IoXCJ2YWx1ZVwiKSx1XTtjYXNlXCJVbmFyeUV4cHJlc3Npb25cIjpyZXR1cm4gaS5wdXNoKHMub3BlcmF0b3IpLC9bYS16XSQvdS50ZXN0KHMub3BlcmF0b3IpJiZpLnB1c2goXCIgXCIpLGQocy5hcmd1bWVudCk/aS5wdXNoKGwoW1wiKFwiLGYoW0UscihcImFyZ3VtZW50XCIpXSksRSxcIilcIl0pKTppLnB1c2gocihcImFyZ3VtZW50XCIpKSxpO2Nhc2VcIlVwZGF0ZUV4cHJlc3Npb25cIjpyZXR1cm5bcy5wcmVmaXg/cy5vcGVyYXRvcjpcIlwiLHIoXCJhcmd1bWVudFwiKSxzLnByZWZpeD9cIlwiOnMub3BlcmF0b3JdO2Nhc2VcIkNvbmRpdGlvbmFsRXhwcmVzc2lvblwiOnJldHVybiBLdChlLHQscixuKTtjYXNlXCJWYXJpYWJsZURlY2xhcmF0aW9uXCI6e2xldCBhPWUubWFwKHIsXCJkZWNsYXJhdGlvbnNcIikscD1lLnBhcmVudCxvPXAudHlwZT09PVwiRm9yU3RhdGVtZW50XCJ8fHAudHlwZT09PVwiRm9ySW5TdGF0ZW1lbnRcInx8cC50eXBlPT09XCJGb3JPZlN0YXRlbWVudFwiLG09cy5kZWNsYXJhdGlvbnMuc29tZShEPT5ELmluaXQpLHk7cmV0dXJuIGEubGVuZ3RoPT09MSYmIWQocy5kZWNsYXJhdGlvbnNbMF0pP3k9YVswXTphLmxlbmd0aD4wJiYoeT1mKGFbMF0pKSxpPVtLKGUpLHMua2luZCx5P1tcIiBcIix5XTpcIlwiLGYoYS5zbGljZSgxKS5tYXAoRD0+W1wiLFwiLG0mJiFvP0Y6eCxEXSkpXSxvJiZwLmJvZHkhPT1zfHxpLnB1c2godSksbChpKX1jYXNlXCJXaXRoU3RhdGVtZW50XCI6cmV0dXJuIGwoW1wid2l0aCAoXCIscihcIm9iamVjdFwiKSxcIilcIixEdChzLmJvZHkscihcImJvZHlcIikpXSk7Y2FzZVwiSWZTdGF0ZW1lbnRcIjp7bGV0IGE9RHQocy5jb25zZXF1ZW50LHIoXCJjb25zZXF1ZW50XCIpKSxwPWwoW1wiaWYgKFwiLGwoW2YoW0UscihcInRlc3RcIildKSxFXSksXCIpXCIsYV0pO2lmKGkucHVzaChwKSxzLmFsdGVybmF0ZSl7bGV0IG89ZChzLmNvbnNlcXVlbnQsaC5UcmFpbGluZ3xoLkxpbmUpfHx3cihzKSxtPXMuY29uc2VxdWVudC50eXBlPT09XCJCbG9ja1N0YXRlbWVudFwiJiYhbztpLnB1c2gobT9cIiBcIjpGKSxkKHMsaC5EYW5nbGluZykmJmkucHVzaChKKGUsdCksbz9GOlwiIFwiKSxpLnB1c2goXCJlbHNlXCIsbChEdChzLmFsdGVybmF0ZSxyKFwiYWx0ZXJuYXRlXCIpLHMuYWx0ZXJuYXRlLnR5cGU9PT1cIklmU3RhdGVtZW50XCIpKSl9cmV0dXJuIGl9Y2FzZVwiRm9yU3RhdGVtZW50XCI6e2xldCBhPUR0KHMuYm9keSxyKFwiYm9keVwiKSkscD1KKGUsdCksbz1wP1twLEVdOlwiXCI7cmV0dXJuIXMuaW5pdCYmIXMudGVzdCYmIXMudXBkYXRlP1tvLGwoW1wiZm9yICg7OylcIixhXSldOltvLGwoW1wiZm9yIChcIixsKFtmKFtFLHIoXCJpbml0XCIpLFwiO1wiLHgscihcInRlc3RcIiksXCI7XCIseCxyKFwidXBkYXRlXCIpXSksRV0pLFwiKVwiLGFdKV19Y2FzZVwiV2hpbGVTdGF0ZW1lbnRcIjpyZXR1cm4gbChbXCJ3aGlsZSAoXCIsbChbZihbRSxyKFwidGVzdFwiKV0pLEVdKSxcIilcIixEdChzLmJvZHkscihcImJvZHlcIikpXSk7Y2FzZVwiRm9ySW5TdGF0ZW1lbnRcIjpyZXR1cm4gbChbXCJmb3IgKFwiLHIoXCJsZWZ0XCIpLFwiIGluIFwiLHIoXCJyaWdodFwiKSxcIilcIixEdChzLmJvZHkscihcImJvZHlcIikpXSk7Y2FzZVwiRm9yT2ZTdGF0ZW1lbnRcIjpyZXR1cm4gbChbXCJmb3JcIixzLmF3YWl0P1wiIGF3YWl0XCI6XCJcIixcIiAoXCIscihcImxlZnRcIiksXCIgb2YgXCIscihcInJpZ2h0XCIpLFwiKVwiLER0KHMuYm9keSxyKFwiYm9keVwiKSldKTtjYXNlXCJEb1doaWxlU3RhdGVtZW50XCI6e2xldCBhPUR0KHMuYm9keSxyKFwiYm9keVwiKSk7cmV0dXJuIGk9W2woW1wiZG9cIixhXSldLHMuYm9keS50eXBlPT09XCJCbG9ja1N0YXRlbWVudFwiP2kucHVzaChcIiBcIik6aS5wdXNoKEYpLGkucHVzaChcIndoaWxlIChcIixsKFtmKFtFLHIoXCJ0ZXN0XCIpXSksRV0pLFwiKVwiLHUpLGl9Y2FzZVwiRG9FeHByZXNzaW9uXCI6cmV0dXJuW3MuYXN5bmM/XCJhc3luYyBcIjpcIlwiLFwiZG8gXCIscihcImJvZHlcIildO2Nhc2VcIkJyZWFrU3RhdGVtZW50XCI6Y2FzZVwiQ29udGludWVTdGF0ZW1lbnRcIjpyZXR1cm4gaS5wdXNoKHMudHlwZT09PVwiQnJlYWtTdGF0ZW1lbnRcIj9cImJyZWFrXCI6XCJjb250aW51ZVwiKSxzLmxhYmVsJiZpLnB1c2goXCIgXCIscihcImxhYmVsXCIpKSxpLnB1c2godSksaTtjYXNlXCJMYWJlbGVkU3RhdGVtZW50XCI6cmV0dXJuIHMuYm9keS50eXBlPT09XCJFbXB0eVN0YXRlbWVudFwiP1tyKFwibGFiZWxcIiksXCI6O1wiXTpbcihcImxhYmVsXCIpLFwiOiBcIixyKFwiYm9keVwiKV07Y2FzZVwiVHJ5U3RhdGVtZW50XCI6cmV0dXJuW1widHJ5IFwiLHIoXCJibG9ja1wiKSxzLmhhbmRsZXI/W1wiIFwiLHIoXCJoYW5kbGVyXCIpXTpcIlwiLHMuZmluYWxpemVyP1tcIiBmaW5hbGx5IFwiLHIoXCJmaW5hbGl6ZXJcIildOlwiXCJdO2Nhc2VcIkNhdGNoQ2xhdXNlXCI6aWYocy5wYXJhbSl7bGV0IGE9ZChzLnBhcmFtLG89PiFlZShvKXx8by5sZWFkaW5nJiZaKHQub3JpZ2luYWxUZXh0LGsobykpfHxvLnRyYWlsaW5nJiZaKHQub3JpZ2luYWxUZXh0LHEobykse2JhY2t3YXJkczohMH0pKSxwPXIoXCJwYXJhbVwiKTtyZXR1cm5bXCJjYXRjaCBcIixhP1tcIihcIixmKFtFLHBdKSxFLFwiKSBcIl06W1wiKFwiLHAsXCIpIFwiXSxyKFwiYm9keVwiKV19cmV0dXJuW1wiY2F0Y2ggXCIscihcImJvZHlcIildO2Nhc2VcIlN3aXRjaFN0YXRlbWVudFwiOnJldHVybltsKFtcInN3aXRjaCAoXCIsZihbRSxyKFwiZGlzY3JpbWluYW50XCIpXSksRSxcIilcIl0pLFwiIHtcIixzLmNhc2VzLmxlbmd0aD4wP2YoW0YsYihGLGUubWFwKCh7bm9kZTphLGlzTGFzdDpwfSk9PltyKCksIXAmJnBlKGEsdCk/RjpcIlwiXSxcImNhc2VzXCIpKV0pOlwiXCIsRixcIn1cIl07Y2FzZVwiU3dpdGNoQ2FzZVwiOntzLnRlc3Q/aS5wdXNoKFwiY2FzZSBcIixyKFwidGVzdFwiKSxcIjpcIik6aS5wdXNoKFwiZGVmYXVsdDpcIiksZChzLGguRGFuZ2xpbmcpJiZpLnB1c2goXCIgXCIsSihlLHQpKTtsZXQgYT1zLmNvbnNlcXVlbnQuZmlsdGVyKHA9PnAudHlwZSE9PVwiRW1wdHlTdGF0ZW1lbnRcIik7aWYoYS5sZW5ndGg+MCl7bGV0IHA9RHIoZSx0LHIsXCJjb25zZXF1ZW50XCIpO2kucHVzaChhLmxlbmd0aD09PTEmJmFbMF0udHlwZT09PVwiQmxvY2tTdGF0ZW1lbnRcIj9bXCIgXCIscF06ZihbRixwXSkpfXJldHVybiBpfWNhc2VcIkRlYnVnZ2VyU3RhdGVtZW50XCI6cmV0dXJuW1wiZGVidWdnZXJcIix1XTtjYXNlXCJDbGFzc0RlY2xhcmF0aW9uXCI6Y2FzZVwiQ2xhc3NFeHByZXNzaW9uXCI6cmV0dXJuIFRuKGUsdCxyKTtjYXNlXCJDbGFzc01ldGhvZFwiOmNhc2VcIkNsYXNzUHJpdmF0ZU1ldGhvZFwiOmNhc2VcIk1ldGhvZERlZmluaXRpb25cIjpyZXR1cm4gZG4oZSx0LHIpO2Nhc2VcIkNsYXNzUHJvcGVydHlcIjpjYXNlXCJQcm9wZXJ0eURlZmluaXRpb25cIjpjYXNlXCJDbGFzc1ByaXZhdGVQcm9wZXJ0eVwiOmNhc2VcIkNsYXNzQWNjZXNzb3JQcm9wZXJ0eVwiOmNhc2VcIkFjY2Vzc29yUHJvcGVydHlcIjpyZXR1cm4geG4oZSx0LHIpO2Nhc2VcIlRlbXBsYXRlRWxlbWVudFwiOnJldHVybiBJZShzLnZhbHVlLnJhdyk7Y2FzZVwiVGVtcGxhdGVMaXRlcmFsXCI6cmV0dXJuIFdyKGUscix0KTtjYXNlXCJUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb25cIjpyZXR1cm4gWHUoZSxyKTtjYXNlXCJQcml2YXRlSWRlbnRpZmllclwiOnJldHVybltcIiNcIixzLm5hbWVdO2Nhc2VcIlByaXZhdGVOYW1lXCI6cmV0dXJuW1wiI1wiLHIoXCJpZFwiKV07Y2FzZVwiVG9waWNSZWZlcmVuY2VcIjpyZXR1cm5cIiVcIjtjYXNlXCJBcmd1bWVudFBsYWNlaG9sZGVyXCI6cmV0dXJuXCI/XCI7Y2FzZVwiTW9kdWxlRXhwcmVzc2lvblwiOnJldHVybltcIm1vZHVsZSBcIixyKFwiYm9keVwiKV07Y2FzZVwiSW50ZXJwcmV0ZXJEaXJlY3RpdmVcIjpkZWZhdWx0OnRocm93IG5ldyBNZShzLFwiRVNUcmVlXCIpfX1mdW5jdGlvbiBTbihlLHQscil7bGV0e3BhcmVudDpuLG5vZGU6cyxrZXk6dX09ZSxpPVtyKFwiZXhwcmVzc2lvblwiKV07c3dpdGNoKHMudHlwZSl7Y2FzZVwiQXNDb25zdEV4cHJlc3Npb25cIjppLnB1c2goXCIgYXMgY29uc3RcIik7YnJlYWs7Y2FzZVwiQXNFeHByZXNzaW9uXCI6Y2FzZVwiVFNBc0V4cHJlc3Npb25cIjppLnB1c2goXCIgYXMgXCIscihcInR5cGVBbm5vdGF0aW9uXCIpKTticmVhaztjYXNlXCJTYXRpc2ZpZXNFeHByZXNzaW9uXCI6Y2FzZVwiVFNTYXRpc2ZpZXNFeHByZXNzaW9uXCI6aS5wdXNoKFwiIHNhdGlzZmllcyBcIixyKFwidHlwZUFubm90YXRpb25cIikpO2JyZWFrfXJldHVybiB1PT09XCJjYWxsZWVcIiYmTChuKXx8dT09PVwib2JqZWN0XCImJlcobik/bChbZihbRSwuLi5pXSksRV0pOml9ZnVuY3Rpb24geGEoZSx0LHIpe2xldHtub2RlOm59PWUscz1bSyhlKSxcImNvbXBvbmVudFwiXTtuLmlkJiZzLnB1c2goXCIgXCIscihcImlkXCIpKSxzLnB1c2gocihcInR5cGVQYXJhbWV0ZXJzXCIpKTtsZXQgdT0kbChlLHIsdCk7cmV0dXJuIG4ucmVuZGVyc1R5cGU/cy5wdXNoKGwoW3UsXCIgXCIscihcInJlbmRlcnNUeXBlXCIpXSkpOnMucHVzaChsKFt1XSkpLG4uYm9keSYmcy5wdXNoKFwiIFwiLHIoXCJib2R5XCIpKSx0LnNlbWkmJm4udHlwZT09PVwiRGVjbGFyZUNvbXBvbmVudFwiJiZzLnB1c2goXCI7XCIpLHN9ZnVuY3Rpb24gJGwoZSx0LHIpe2xldHtub2RlOm59PWUscz1uLnBhcmFtcztpZihuLnJlc3QmJihzPVsuLi5zLG4ucmVzdF0pLHMubGVuZ3RoPT09MClyZXR1cm5bXCIoXCIsSihlLHIse2ZpbHRlcjppPT5nZShyLm9yaWdpbmFsVGV4dCxrKGkpKT09PVwiKVwifSksXCIpXCJdO2xldCB1PVtdO3JldHVybiBRbChlLChpLGEpPT57bGV0IHA9YT09PXMubGVuZ3RoLTE7cCYmbi5yZXN0JiZ1LnB1c2goXCIuLi5cIiksdS5wdXNoKHQoKSksIXAmJih1LnB1c2goXCIsXCIpLHBlKHNbYV0scik/dS5wdXNoKEYsRik6dS5wdXNoKHgpKX0pLFtcIihcIixmKFtFLC4uLnVdKSxCKGFlKHIsXCJhbGxcIikmJiFLbChuLHMpP1wiLFwiOlwiXCIpLEUsXCIpXCJdfWZ1bmN0aW9uIEtsKGUsdCl7dmFyIHI7cmV0dXJuIGUucmVzdHx8KChyPV8oITEsdCwtMSkpPT1udWxsP3ZvaWQgMDpyLnR5cGUpPT09XCJSZXN0RWxlbWVudFwifWZ1bmN0aW9uIFFsKGUsdCl7bGV0e25vZGU6cn09ZSxuPTAscz11PT50KHUsbisrKTtlLmVhY2gocyxcInBhcmFtc1wiKSxyLnJlc3QmJmUuY2FsbChzLFwicmVzdFwiKX1mdW5jdGlvbiBoYShlLHQscil7bGV0e25vZGU6bn09ZTtyZXR1cm4gbi5zaG9ydGhhbmQ/cihcImxvY2FsXCIpOltyKFwibmFtZVwiKSxcIiBhcyBcIixyKFwibG9jYWxcIildfWZ1bmN0aW9uIGdhKGUsdCxyKXtsZXR7bm9kZTpufT1lLHM9W107cmV0dXJuIG4ubmFtZSYmcy5wdXNoKHIoXCJuYW1lXCIpLG4ub3B0aW9uYWw/XCI/OiBcIjpcIjogXCIpLHMucHVzaChyKFwidHlwZUFubm90YXRpb25cIikpLHN9ZnVuY3Rpb24gU2EoZSx0LHIpe3JldHVybiBodChlLHIsdCl9ZnVuY3Rpb24gQm4oZSx0KXtsZXR7bm9kZTpyfT1lLG49dChcImlkXCIpO3IuY29tcHV0ZWQmJihuPVtcIltcIixuLFwiXVwiXSk7bGV0IHM9XCJcIjtyZXR1cm4gci5pbml0aWFsaXplciYmKHM9dChcImluaXRpYWxpemVyXCIpKSxyLmluaXQmJihzPXQoXCJpbml0XCIpKSxzP1tuLFwiID0gXCIsc106bn1mdW5jdGlvbiBCYShlLHQscil7bGV0e25vZGU6bn09ZSxzO2lmKG4udHlwZT09PVwiRW51bVN5bWJvbEJvZHlcInx8bi5leHBsaWNpdFR5cGUpc3dpdGNoKG4udHlwZSl7Y2FzZVwiRW51bUJvb2xlYW5Cb2R5XCI6cz1cImJvb2xlYW5cIjticmVhaztjYXNlXCJFbnVtTnVtYmVyQm9keVwiOnM9XCJudW1iZXJcIjticmVhaztjYXNlXCJFbnVtQmlnSW50Qm9keVwiOnM9XCJiaWdpbnRcIjticmVhaztjYXNlXCJFbnVtU3RyaW5nQm9keVwiOnM9XCJzdHJpbmdcIjticmVhaztjYXNlXCJFbnVtU3ltYm9sQm9keVwiOnM9XCJzeW1ib2xcIjticmVha31yZXR1cm5bcz9gb2YgJHtzfSBgOlwiXCIsU2EoZSx0LHIpXX1mdW5jdGlvbiBibihlLHQscil7bGV0e25vZGU6bn09ZTtyZXR1cm5bSyhlKSxuLmNvbnN0P1wiY29uc3QgXCI6XCJcIixcImVudW0gXCIsdChcImlkXCIpLFwiIFwiLG4udHlwZT09PVwiVFNFbnVtRGVjbGFyYXRpb25cIj9TYShlLHQscik6dChcImJvZHlcIildfWZ1bmN0aW9uIFBhKGUsdCxyKXtsZXR7bm9kZTpufT1lLHM9W1wiaG9va1wiXTtuLmlkJiZzLnB1c2goXCIgXCIscihcImlkXCIpKTtsZXQgdT1KZShlLHIsdCwhMSwhMCksaT0kdChlLHIpLGE9YXQobixpKTtyZXR1cm4gcy5wdXNoKGwoW2E/bCh1KTp1LGldKSxuLmJvZHk/XCIgXCI6XCJcIixyKFwiYm9keVwiKSksc31mdW5jdGlvbiBrYShlLHQscil7bGV0e25vZGU6bn09ZSxzPVtLKGUpLFwiaG9va1wiXTtyZXR1cm4gbi5pZCYmcy5wdXNoKFwiIFwiLHIoXCJpZFwiKSksdC5zZW1pJiZzLnB1c2goXCI7XCIpLHN9ZnVuY3Rpb24gYmEoZSl7dmFyIHI7bGV0e25vZGU6dH09ZTtyZXR1cm4gdC50eXBlPT09XCJIb29rVHlwZUFubm90YXRpb25cIiYmKChyPWUuZ2V0UGFyZW50Tm9kZSgyKSk9PW51bGw/dm9pZCAwOnIudHlwZSk9PT1cIkRlY2xhcmVIb29rXCJ9ZnVuY3Rpb24gSWEoZSx0LHIpe2xldHtub2RlOm59PWUscz1bXTtzLnB1c2goYmEoZSk/XCJcIjpcImhvb2sgXCIpO2xldCB1PUplKGUscix0LCExLCEwKSxpPVtdO3JldHVybiBpLnB1c2goYmEoZSk/XCI6IFwiOlwiID0+IFwiLHIoXCJyZXR1cm5UeXBlXCIpKSxhdChuLGkpJiYodT1sKHUpKSxzLnB1c2godSxpKSxsKHMpfWZ1bmN0aW9uIFBuKGUsdCxyKXtsZXR7bm9kZTpufT1lLHM9W0soZSksXCJpbnRlcmZhY2VcIl0sdT1bXSxpPVtdO24udHlwZSE9PVwiSW50ZXJmYWNlVHlwZUFubm90YXRpb25cIiYmdS5wdXNoKFwiIFwiLHIoXCJpZFwiKSxyKFwidHlwZVBhcmFtZXRlcnNcIikpO2xldCBhPW4udHlwZVBhcmFtZXRlcnMmJiFkKG4udHlwZVBhcmFtZXRlcnMsaC5UcmFpbGluZ3xoLkxpbmUpO3JldHVybiBPKG4uZXh0ZW5kcykmJmkucHVzaChhP0IoXCIgXCIseCx7Z3JvdXBJZDpmcihuLnR5cGVQYXJhbWV0ZXJzKX0pOngsXCJleHRlbmRzIFwiLChuLmV4dGVuZHMubGVuZ3RoPT09MT95dTpmKShiKFtcIixcIix4XSxlLm1hcChyLFwiZXh0ZW5kc1wiKSkpKSxkKG4uaWQsaC5UcmFpbGluZyl8fE8obi5leHRlbmRzKT9hP3MucHVzaChsKFsuLi51LGYoaSldKSk6cy5wdXNoKGwoZihbLi4udSwuLi5pXSkpKTpzLnB1c2goLi4udSwuLi5pKSxzLnB1c2goXCIgXCIscihcImJvZHlcIikpLGwocyl9ZnVuY3Rpb24gTGEoZSx0LHIpe2xldHtub2RlOm59PWU7aWYoU3IobikpcmV0dXJuIG4udHlwZS5zbGljZSgwLC0xNCkudG9Mb3dlckNhc2UoKTtsZXQgcz10LnNlbWk/XCI7XCI6XCJcIjtzd2l0Y2gobi50eXBlKXtjYXNlXCJDb21wb25lbnREZWNsYXJhdGlvblwiOmNhc2VcIkRlY2xhcmVDb21wb25lbnRcIjpjYXNlXCJDb21wb25lbnRUeXBlQW5ub3RhdGlvblwiOnJldHVybiB4YShlLHQscik7Y2FzZVwiQ29tcG9uZW50UGFyYW1ldGVyXCI6cmV0dXJuIGhhKGUsdCxyKTtjYXNlXCJDb21wb25lbnRUeXBlUGFyYW1ldGVyXCI6cmV0dXJuIGdhKGUsdCxyKTtjYXNlXCJIb29rRGVjbGFyYXRpb25cIjpyZXR1cm4gUGEoZSx0LHIpO2Nhc2VcIkRlY2xhcmVIb29rXCI6cmV0dXJuIGthKGUsdCxyKTtjYXNlXCJIb29rVHlwZUFubm90YXRpb25cIjpyZXR1cm4gSWEoZSx0LHIpO2Nhc2VcIkRlY2xhcmVDbGFzc1wiOnJldHVybiBUbihlLHQscik7Y2FzZVwiRGVjbGFyZUZ1bmN0aW9uXCI6cmV0dXJuW0soZSksXCJmdW5jdGlvbiBcIixyKFwiaWRcIikscihcInByZWRpY2F0ZVwiKSxzXTtjYXNlXCJEZWNsYXJlTW9kdWxlXCI6cmV0dXJuW1wiZGVjbGFyZSBtb2R1bGUgXCIscihcImlkXCIpLFwiIFwiLHIoXCJib2R5XCIpXTtjYXNlXCJEZWNsYXJlTW9kdWxlRXhwb3J0c1wiOnJldHVybltcImRlY2xhcmUgbW9kdWxlLmV4cG9ydHNcIixOKGUsciksc107Y2FzZVwiRGVjbGFyZU5hbWVzcGFjZVwiOnJldHVybltcImRlY2xhcmUgbmFtZXNwYWNlIFwiLHIoXCJpZFwiKSxcIiBcIixyKFwiYm9keVwiKV07Y2FzZVwiRGVjbGFyZVZhcmlhYmxlXCI6cmV0dXJuW0soZSksbi5raW5kPz9cInZhclwiLFwiIFwiLHIoXCJpZFwiKSxzXTtjYXNlXCJEZWNsYXJlRXhwb3J0RGVjbGFyYXRpb25cIjpjYXNlXCJEZWNsYXJlRXhwb3J0QWxsRGVjbGFyYXRpb25cIjpyZXR1cm4gZ24oZSx0LHIpO2Nhc2VcIkRlY2xhcmVPcGFxdWVUeXBlXCI6Y2FzZVwiT3BhcXVlVHlwZVwiOnJldHVybiBSaShlLHQscik7Y2FzZVwiRGVjbGFyZVR5cGVBbGlhc1wiOmNhc2VcIlR5cGVBbGlhc1wiOnJldHVybiBRcihlLHQscik7Y2FzZVwiSW50ZXJzZWN0aW9uVHlwZUFubm90YXRpb25cIjpyZXR1cm4genIoZSx0LHIpO2Nhc2VcIlVuaW9uVHlwZUFubm90YXRpb25cIjpyZXR1cm4gWnIoZSx0LHIpO2Nhc2VcIkNvbmRpdGlvbmFsVHlwZUFubm90YXRpb25cIjpyZXR1cm4gS3QoZSx0LHIpO2Nhc2VcIkluZmVyVHlwZUFubm90YXRpb25cIjpyZXR1cm4gcm4oZSx0LHIpO2Nhc2VcIkZ1bmN0aW9uVHlwZUFubm90YXRpb25cIjpyZXR1cm4gZW4oZSx0LHIpO2Nhc2VcIlR1cGxlVHlwZUFubm90YXRpb25cIjpyZXR1cm4gVnQoZSx0LHIpO2Nhc2VcIlR1cGxlVHlwZUxhYmVsZWRFbGVtZW50XCI6cmV0dXJuIHNuKGUsdCxyKTtjYXNlXCJUdXBsZVR5cGVTcHJlYWRFbGVtZW50XCI6cmV0dXJuIG5uKGUsdCxyKTtjYXNlXCJHZW5lcmljVHlwZUFubm90YXRpb25cIjpyZXR1cm5bcihcImlkXCIpLEx0KGUsdCxyLFwidHlwZVBhcmFtZXRlcnNcIildO2Nhc2VcIkluZGV4ZWRBY2Nlc3NUeXBlXCI6Y2FzZVwiT3B0aW9uYWxJbmRleGVkQWNjZXNzVHlwZVwiOnJldHVybiB0bihlLHQscik7Y2FzZVwiVHlwZUFubm90YXRpb25cIjpyZXR1cm4gdW4oZSx0LHIpO2Nhc2VcIlR5cGVQYXJhbWV0ZXJcIjpyZXR1cm4gQW4oZSx0LHIpO2Nhc2VcIlR5cGVvZlR5cGVBbm5vdGF0aW9uXCI6cmV0dXJuIG9uKGUscik7Y2FzZVwiRXhpc3RzVHlwZUFubm90YXRpb25cIjpyZXR1cm5cIipcIjtjYXNlXCJBcnJheVR5cGVBbm5vdGF0aW9uXCI6cmV0dXJuIGFuKHIpO2Nhc2VcIkRlY2xhcmVFbnVtXCI6Y2FzZVwiRW51bURlY2xhcmF0aW9uXCI6cmV0dXJuIGJuKGUscix0KTtjYXNlXCJFbnVtQm9vbGVhbkJvZHlcIjpjYXNlXCJFbnVtTnVtYmVyQm9keVwiOmNhc2VcIkVudW1CaWdJbnRCb2R5XCI6Y2FzZVwiRW51bVN0cmluZ0JvZHlcIjpjYXNlXCJFbnVtU3ltYm9sQm9keVwiOnJldHVybiBCYShlLHIsdCk7Y2FzZVwiRW51bUJvb2xlYW5NZW1iZXJcIjpjYXNlXCJFbnVtTnVtYmVyTWVtYmVyXCI6Y2FzZVwiRW51bUJpZ0ludE1lbWJlclwiOmNhc2VcIkVudW1TdHJpbmdNZW1iZXJcIjpjYXNlXCJFbnVtRGVmYXVsdGVkTWVtYmVyXCI6cmV0dXJuIEJuKGUscik7Y2FzZVwiRnVuY3Rpb25UeXBlUGFyYW1cIjp7bGV0IHU9bi5uYW1lP3IoXCJuYW1lXCIpOmUucGFyZW50LnRoaXM9PT1uP1widGhpc1wiOlwiXCI7cmV0dXJuW3UsJChlKSx1P1wiOiBcIjpcIlwiLHIoXCJ0eXBlQW5ub3RhdGlvblwiKV19Y2FzZVwiRGVjbGFyZUludGVyZmFjZVwiOmNhc2VcIkludGVyZmFjZURlY2xhcmF0aW9uXCI6Y2FzZVwiSW50ZXJmYWNlVHlwZUFubm90YXRpb25cIjpyZXR1cm4gUG4oZSx0LHIpO2Nhc2VcIkNsYXNzSW1wbGVtZW50c1wiOmNhc2VcIkludGVyZmFjZUV4dGVuZHNcIjpyZXR1cm5bcihcImlkXCIpLHIoXCJ0eXBlUGFyYW1ldGVyc1wiKV07Y2FzZVwiTnVsbGFibGVUeXBlQW5ub3RhdGlvblwiOnJldHVybltcIj9cIixyKFwidHlwZUFubm90YXRpb25cIildO2Nhc2VcIlZhcmlhbmNlXCI6e2xldHtraW5kOnV9PW47cmV0dXJuIHZ0Lm9rKHU9PT1cInBsdXNcInx8dT09PVwibWludXNcIiksdT09PVwicGx1c1wiP1wiK1wiOlwiLVwifWNhc2VcIktleW9mVHlwZUFubm90YXRpb25cIjpyZXR1cm5bXCJrZXlvZiBcIixyKFwiYXJndW1lbnRcIildO2Nhc2VcIk9iamVjdFR5cGVDYWxsUHJvcGVydHlcIjpyZXR1cm5bbi5zdGF0aWM/XCJzdGF0aWMgXCI6XCJcIixyKFwidmFsdWVcIildO2Nhc2VcIk9iamVjdFR5cGVNYXBwZWRUeXBlUHJvcGVydHlcIjpyZXR1cm4gUWkoZSx0LHIpO2Nhc2VcIk9iamVjdFR5cGVJbmRleGVyXCI6cmV0dXJuW24uc3RhdGljP1wic3RhdGljIFwiOlwiXCIsbi52YXJpYW5jZT9yKFwidmFyaWFuY2VcIik6XCJcIixcIltcIixyKFwiaWRcIiksbi5pZD9cIjogXCI6XCJcIixyKFwia2V5XCIpLFwiXTogXCIscihcInZhbHVlXCIpXTtjYXNlXCJPYmplY3RUeXBlUHJvcGVydHlcIjp7bGV0IHU9XCJcIjtyZXR1cm4gbi5wcm90bz91PVwicHJvdG8gXCI6bi5zdGF0aWMmJih1PVwic3RhdGljIFwiKSxbdSxuLmtpbmQhPT1cImluaXRcIj9uLmtpbmQrXCIgXCI6XCJcIixuLnZhcmlhbmNlP3IoXCJ2YXJpYW5jZVwiKTpcIlwiLEV0KGUsdCxyKSwkKGUpLGJ0KG4pP1wiXCI6XCI6IFwiLHIoXCJ2YWx1ZVwiKV19Y2FzZVwiT2JqZWN0VHlwZUFubm90YXRpb25cIjpyZXR1cm4gaHQoZSx0LHIpO2Nhc2VcIk9iamVjdFR5cGVJbnRlcm5hbFNsb3RcIjpyZXR1cm5bbi5zdGF0aWM/XCJzdGF0aWMgXCI6XCJcIixcIltbXCIscihcImlkXCIpLFwiXV1cIiwkKGUpLG4ubWV0aG9kP1wiXCI6XCI6IFwiLHIoXCJ2YWx1ZVwiKV07Y2FzZVwiT2JqZWN0VHlwZVNwcmVhZFByb3BlcnR5XCI6cmV0dXJuIGxuKGUscik7Y2FzZVwiUXVhbGlmaWVkVHlwZW9mSWRlbnRpZmllclwiOmNhc2VcIlF1YWxpZmllZFR5cGVJZGVudGlmaWVyXCI6cmV0dXJuW3IoXCJxdWFsaWZpY2F0aW9uXCIpLFwiLlwiLHIoXCJpZFwiKV07Y2FzZVwiTnVsbExpdGVyYWxUeXBlQW5ub3RhdGlvblwiOnJldHVyblwibnVsbFwiO2Nhc2VcIkJvb2xlYW5MaXRlcmFsVHlwZUFubm90YXRpb25cIjpyZXR1cm4gU3RyaW5nKG4udmFsdWUpO2Nhc2VcIlN0cmluZ0xpdGVyYWxUeXBlQW5ub3RhdGlvblwiOnJldHVybiBJZShaZShmZShuKSx0KSk7Y2FzZVwiTnVtYmVyTGl0ZXJhbFR5cGVBbm5vdGF0aW9uXCI6cmV0dXJuIGZ0KG4ucmF3Pz9uLmV4dHJhLnJhdyk7Y2FzZVwiQmlnSW50TGl0ZXJhbFR5cGVBbm5vdGF0aW9uXCI6cmV0dXJuIGhuKG4ucmF3Pz9uLmV4dHJhLnJhdyk7Y2FzZVwiVHlwZUNhc3RFeHByZXNzaW9uXCI6cmV0dXJuW1wiKFwiLHIoXCJleHByZXNzaW9uXCIpLE4oZSxyKSxcIilcIl07Y2FzZVwiVHlwZVByZWRpY2F0ZVwiOnJldHVybiBwbihlLHIpO2Nhc2VcIlR5cGVPcGVyYXRvclwiOnJldHVybltuLm9wZXJhdG9yLFwiIFwiLHIoXCJ0eXBlQW5ub3RhdGlvblwiKV07Y2FzZVwiVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uXCI6Y2FzZVwiVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb25cIjpyZXR1cm4gTHQoZSx0LHIsXCJwYXJhbXNcIik7Y2FzZVwiSW5mZXJyZWRQcmVkaWNhdGVcIjpjYXNlXCJEZWNsYXJlZFByZWRpY2F0ZVwiOnJldHVybltlLmtleT09PVwicHJlZGljYXRlXCImJmUucGFyZW50LnR5cGUhPT1cIkRlY2xhcmVGdW5jdGlvblwiJiYhZS5wYXJlbnQucmV0dXJuVHlwZT9cIjogXCI6XCIgXCIsXCIlY2hlY2tzXCIsLi4ubi50eXBlPT09XCJEZWNsYXJlZFByZWRpY2F0ZVwiP1tcIihcIixyKFwidmFsdWVcIiksXCIpXCJdOltdXTtjYXNlXCJBc0V4cHJlc3Npb25cIjpjYXNlXCJBc0NvbnN0RXhwcmVzc2lvblwiOmNhc2VcIlNhdGlzZmllc0V4cHJlc3Npb25cIjpyZXR1cm4gU24oZSx0LHIpfX1mdW5jdGlvbiB3YShlLHQscil7dmFyIGk7bGV0e25vZGU6bn09ZTtpZighbi50eXBlLnN0YXJ0c1dpdGgoXCJUU1wiKSlyZXR1cm47aWYoQnIobikpcmV0dXJuIG4udHlwZS5zbGljZSgyLC03KS50b0xvd2VyQ2FzZSgpO2xldCBzPXQuc2VtaT9cIjtcIjpcIlwiLHU9W107c3dpdGNoKG4udHlwZSl7Y2FzZVwiVFNUaGlzVHlwZVwiOnJldHVyblwidGhpc1wiO2Nhc2VcIlRTVHlwZUFzc2VydGlvblwiOntsZXQgYT0hKFgobi5leHByZXNzaW9uKXx8c2Uobi5leHByZXNzaW9uKSkscD1sKFtcIjxcIixmKFtFLHIoXCJ0eXBlQW5ub3RhdGlvblwiKV0pLEUsXCI+XCJdKSxvPVtCKFwiKFwiKSxmKFtFLHIoXCJleHByZXNzaW9uXCIpXSksRSxCKFwiKVwiKV07cmV0dXJuIGE/S2UoW1twLHIoXCJleHByZXNzaW9uXCIpXSxbcCxsKG8se3Nob3VsZEJyZWFrOiEwfSldLFtwLHIoXCJleHByZXNzaW9uXCIpXV0pOmwoW3AscihcImV4cHJlc3Npb25cIildKX1jYXNlXCJUU0RlY2xhcmVGdW5jdGlvblwiOnJldHVybiBEbihlLHIsdCk7Y2FzZVwiVFNFeHBvcnRBc3NpZ25tZW50XCI6cmV0dXJuW1wiZXhwb3J0ID0gXCIscihcImV4cHJlc3Npb25cIiksc107Y2FzZVwiVFNNb2R1bGVCbG9ja1wiOnJldHVybiBGbihlLHQscik7Y2FzZVwiVFNJbnRlcmZhY2VCb2R5XCI6Y2FzZVwiVFNUeXBlTGl0ZXJhbFwiOnJldHVybiBodChlLHQscik7Y2FzZVwiVFNUeXBlQWxpYXNEZWNsYXJhdGlvblwiOnJldHVybiBRcihlLHQscik7Y2FzZVwiVFNRdWFsaWZpZWROYW1lXCI6cmV0dXJuW3IoXCJsZWZ0XCIpLFwiLlwiLHIoXCJyaWdodFwiKV07Y2FzZVwiVFNBYnN0cmFjdE1ldGhvZERlZmluaXRpb25cIjpjYXNlXCJUU0RlY2xhcmVNZXRob2RcIjpyZXR1cm4gZG4oZSx0LHIpO2Nhc2VcIlRTQWJzdHJhY3RBY2Nlc3NvclByb3BlcnR5XCI6Y2FzZVwiVFNBYnN0cmFjdFByb3BlcnR5RGVmaW5pdGlvblwiOnJldHVybiB4bihlLHQscik7Y2FzZVwiVFNJbnRlcmZhY2VIZXJpdGFnZVwiOmNhc2VcIlRTQ2xhc3NJbXBsZW1lbnRzXCI6Y2FzZVwiVFNFeHByZXNzaW9uV2l0aFR5cGVBcmd1bWVudHNcIjpjYXNlXCJUU0luc3RhbnRpYXRpb25FeHByZXNzaW9uXCI6cmV0dXJuW3IoXCJleHByZXNzaW9uXCIpLHIobi50eXBlQXJndW1lbnRzP1widHlwZUFyZ3VtZW50c1wiOlwidHlwZVBhcmFtZXRlcnNcIildO2Nhc2VcIlRTVGVtcGxhdGVMaXRlcmFsVHlwZVwiOnJldHVybiBXcihlLHIsdCk7Y2FzZVwiVFNOYW1lZFR1cGxlTWVtYmVyXCI6cmV0dXJuIHNuKGUsdCxyKTtjYXNlXCJUU1Jlc3RUeXBlXCI6cmV0dXJuIG5uKGUsdCxyKTtjYXNlXCJUU09wdGlvbmFsVHlwZVwiOnJldHVybltyKFwidHlwZUFubm90YXRpb25cIiksXCI/XCJdO2Nhc2VcIlRTSW50ZXJmYWNlRGVjbGFyYXRpb25cIjpyZXR1cm4gUG4oZSx0LHIpO2Nhc2VcIlRTVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uXCI6Y2FzZVwiVFNUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvblwiOnJldHVybiBMdChlLHQscixcInBhcmFtc1wiKTtjYXNlXCJUU1R5cGVQYXJhbWV0ZXJcIjpyZXR1cm4gQW4oZSx0LHIpO2Nhc2VcIlRTQXNFeHByZXNzaW9uXCI6Y2FzZVwiVFNTYXRpc2ZpZXNFeHByZXNzaW9uXCI6cmV0dXJuIFNuKGUsdCxyKTtjYXNlXCJUU0FycmF5VHlwZVwiOnJldHVybiBhbihyKTtjYXNlXCJUU1Byb3BlcnR5U2lnbmF0dXJlXCI6cmV0dXJuW24ucmVhZG9ubHk/XCJyZWFkb25seSBcIjpcIlwiLEV0KGUsdCxyKSwkKGUpLE4oZSxyKV07Y2FzZVwiVFNQYXJhbWV0ZXJQcm9wZXJ0eVwiOnJldHVybltOdChuKSxuLnN0YXRpYz9cInN0YXRpYyBcIjpcIlwiLG4ub3ZlcnJpZGU/XCJvdmVycmlkZSBcIjpcIlwiLG4ucmVhZG9ubHk/XCJyZWFkb25seSBcIjpcIlwiLHIoXCJwYXJhbWV0ZXJcIildO2Nhc2VcIlRTVHlwZVF1ZXJ5XCI6cmV0dXJuIG9uKGUscik7Y2FzZVwiVFNJbmRleFNpZ25hdHVyZVwiOntsZXQgYT1uLnBhcmFtZXRlcnMubGVuZ3RoPjE/QihhZSh0KT9cIixcIjpcIlwiKTpcIlwiLHA9bChbZihbRSxiKFtcIiwgXCIsRV0sZS5tYXAocixcInBhcmFtZXRlcnNcIikpXSksYSxFXSksbz1lLnBhcmVudC50eXBlPT09XCJDbGFzc0JvZHlcIiYmZS5rZXk9PT1cImJvZHlcIjtyZXR1cm5bbyYmbi5zdGF0aWM/XCJzdGF0aWMgXCI6XCJcIixuLnJlYWRvbmx5P1wicmVhZG9ubHkgXCI6XCJcIixcIltcIixuLnBhcmFtZXRlcnM/cDpcIlwiLFwiXVwiLE4oZSxyKSxvP3M6XCJcIl19Y2FzZVwiVFNUeXBlUHJlZGljYXRlXCI6cmV0dXJuIHBuKGUscik7Y2FzZVwiVFNOb25OdWxsRXhwcmVzc2lvblwiOnJldHVybltyKFwiZXhwcmVzc2lvblwiKSxcIiFcIl07Y2FzZVwiVFNJbXBvcnRUeXBlXCI6cmV0dXJuW1wiaW1wb3J0KFwiLHIoXCJhcmd1bWVudFwiKSxcIilcIixuLnF1YWxpZmllcj9bXCIuXCIscihcInF1YWxpZmllclwiKV06XCJcIixMdChlLHQscixuLnR5cGVBcmd1bWVudHM/XCJ0eXBlQXJndW1lbnRzXCI6XCJ0eXBlUGFyYW1ldGVyc1wiKV07Y2FzZVwiVFNMaXRlcmFsVHlwZVwiOnJldHVybiByKFwibGl0ZXJhbFwiKTtjYXNlXCJUU0luZGV4ZWRBY2Nlc3NUeXBlXCI6cmV0dXJuIHRuKGUsdCxyKTtjYXNlXCJUU1R5cGVPcGVyYXRvclwiOnJldHVybltuLm9wZXJhdG9yLFwiIFwiLHIoXCJ0eXBlQW5ub3RhdGlvblwiKV07Y2FzZVwiVFNNYXBwZWRUeXBlXCI6cmV0dXJuIHppKGUsdCxyKTtjYXNlXCJUU01ldGhvZFNpZ25hdHVyZVwiOntsZXQgYT1uLmtpbmQmJm4ua2luZCE9PVwibWV0aG9kXCI/YCR7bi5raW5kfSBgOlwiXCI7dS5wdXNoKE50KG4pLGEsbi5jb21wdXRlZD9cIltcIjpcIlwiLHIoXCJrZXlcIiksbi5jb21wdXRlZD9cIl1cIjpcIlwiLCQoZSkpO2xldCBwPUplKGUscix0LCExLCEwKSxvPW4ucmV0dXJuVHlwZT9cInJldHVyblR5cGVcIjpcInR5cGVBbm5vdGF0aW9uXCIsbT1uW29dLHk9bT9OKGUscixvKTpcIlwiLEQ9YXQobix5KTtyZXR1cm4gdS5wdXNoKEQ/bChwKTpwKSxtJiZ1LnB1c2gobCh5KSksbCh1KX1jYXNlXCJUU05hbWVzcGFjZUV4cG9ydERlY2xhcmF0aW9uXCI6cmV0dXJuW1wiZXhwb3J0IGFzIG5hbWVzcGFjZSBcIixyKFwiaWRcIiksdC5zZW1pP1wiO1wiOlwiXCJdO2Nhc2VcIlRTRW51bURlY2xhcmF0aW9uXCI6cmV0dXJuIGJuKGUscix0KTtjYXNlXCJUU0VudW1NZW1iZXJcIjpyZXR1cm4gQm4oZSxyKTtjYXNlXCJUU0ltcG9ydEVxdWFsc0RlY2xhcmF0aW9uXCI6cmV0dXJuW24uaXNFeHBvcnQ/XCJleHBvcnQgXCI6XCJcIixcImltcG9ydCBcIixrcyhuLCExKSxyKFwiaWRcIiksXCIgPSBcIixyKFwibW9kdWxlUmVmZXJlbmNlXCIpLHQuc2VtaT9cIjtcIjpcIlwiXTtjYXNlXCJUU0V4dGVybmFsTW9kdWxlUmVmZXJlbmNlXCI6cmV0dXJuW1wicmVxdWlyZShcIixyKFwiZXhwcmVzc2lvblwiKSxcIilcIl07Y2FzZVwiVFNNb2R1bGVEZWNsYXJhdGlvblwiOntsZXR7cGFyZW50OmF9PWUscD1hLnR5cGU9PT1cIlRTTW9kdWxlRGVjbGFyYXRpb25cIixvPSgoaT1uLmJvZHkpPT1udWxsP3ZvaWQgMDppLnR5cGUpPT09XCJUU01vZHVsZURlY2xhcmF0aW9uXCI7cmV0dXJuIHA/dS5wdXNoKFwiLlwiKToodS5wdXNoKEsoZSkpLG4ua2luZCE9PVwiZ2xvYmFsXCImJnUucHVzaChuLmtpbmQsXCIgXCIpKSx1LnB1c2gocihcImlkXCIpKSxvP3UucHVzaChyKFwiYm9keVwiKSk6bi5ib2R5P3UucHVzaChcIiBcIixsKHIoXCJib2R5XCIpKSk6dS5wdXNoKHMpLHV9Y2FzZVwiVFNDb25kaXRpb25hbFR5cGVcIjpyZXR1cm4gS3QoZSx0LHIpO2Nhc2VcIlRTSW5mZXJUeXBlXCI6cmV0dXJuIHJuKGUsdCxyKTtjYXNlXCJUU0ludGVyc2VjdGlvblR5cGVcIjpyZXR1cm4genIoZSx0LHIpO2Nhc2VcIlRTVW5pb25UeXBlXCI6cmV0dXJuIFpyKGUsdCxyKTtjYXNlXCJUU0Z1bmN0aW9uVHlwZVwiOmNhc2VcIlRTQ2FsbFNpZ25hdHVyZURlY2xhcmF0aW9uXCI6Y2FzZVwiVFNDb25zdHJ1Y3RvclR5cGVcIjpjYXNlXCJUU0NvbnN0cnVjdFNpZ25hdHVyZURlY2xhcmF0aW9uXCI6cmV0dXJuIGVuKGUsdCxyKTtjYXNlXCJUU1R1cGxlVHlwZVwiOnJldHVybiBWdChlLHQscik7Y2FzZVwiVFNUeXBlUmVmZXJlbmNlXCI6cmV0dXJuW3IoXCJ0eXBlTmFtZVwiKSxMdChlLHQscixuLnR5cGVBcmd1bWVudHM/XCJ0eXBlQXJndW1lbnRzXCI6XCJ0eXBlUGFyYW1ldGVyc1wiKV07Y2FzZVwiVFNUeXBlQW5ub3RhdGlvblwiOnJldHVybiB1bihlLHQscik7Y2FzZVwiVFNFbXB0eUJvZHlGdW5jdGlvbkV4cHJlc3Npb25cIjpyZXR1cm4gZm4oZSx0LHIpO2Nhc2VcIlRTSlNEb2NBbGxUeXBlXCI6cmV0dXJuXCIqXCI7Y2FzZVwiVFNKU0RvY1Vua25vd25UeXBlXCI6cmV0dXJuXCI/XCI7Y2FzZVwiVFNKU0RvY051bGxhYmxlVHlwZVwiOnJldHVybiBUcyhlLHIsXCI/XCIpO2Nhc2VcIlRTSlNEb2NOb25OdWxsYWJsZVR5cGVcIjpyZXR1cm4gVHMoZSxyLFwiIVwiKTtjYXNlXCJUU1BhcmVudGhlc2l6ZWRUeXBlXCI6ZGVmYXVsdDp0aHJvdyBuZXcgTWUobixcIlR5cGVTY3JpcHRcIil9fWZ1bmN0aW9uIHpsKGUsdCxyLG4pe2lmKEhyKGUpKXJldHVybiBsaShlLHQpO2ZvcihsZXQgcyBvZltkaSxGaSxMYSx3YSxkYV0pe2xldCB1PXMoZSx0LHIsbik7aWYodSE9PXZvaWQgMClyZXR1cm4gdX19dmFyIFpsPXYoW1wiQ2xhc3NNZXRob2RcIixcIkNsYXNzUHJpdmF0ZU1ldGhvZFwiLFwiQ2xhc3NQcm9wZXJ0eVwiLFwiQ2xhc3NBY2Nlc3NvclByb3BlcnR5XCIsXCJBY2Nlc3NvclByb3BlcnR5XCIsXCJUU0Fic3RyYWN0QWNjZXNzb3JQcm9wZXJ0eVwiLFwiUHJvcGVydHlEZWZpbml0aW9uXCIsXCJUU0Fic3RyYWN0UHJvcGVydHlEZWZpbml0aW9uXCIsXCJDbGFzc1ByaXZhdGVQcm9wZXJ0eVwiLFwiTWV0aG9kRGVmaW5pdGlvblwiLFwiVFNBYnN0cmFjdE1ldGhvZERlZmluaXRpb25cIixcIlRTRGVjbGFyZU1ldGhvZFwiXSk7ZnVuY3Rpb24gZW0oZSx0LHIsbil7dmFyIHk7ZS5pc1Jvb3QmJigoeT10Ll9fb25IdG1sQmluZGluZ1Jvb3QpPT1udWxsfHx5LmNhbGwodCxlLm5vZGUsdCkpO2xldCBzPXpsKGUsdCxyLG4pO2lmKCFzKXJldHVyblwiXCI7bGV0e25vZGU6dX09ZTtpZihabCh1KSlyZXR1cm4gcztsZXQgaT1PKHUuZGVjb3JhdG9ycyksYT1oaShlLHQscikscD11LnR5cGU9PT1cIkNsYXNzRXhwcmVzc2lvblwiO2lmKGkmJiFwKXJldHVybiBvcihzLEQ9PmwoW2EsRF0pKTtsZXQgbz1CZShlLHQpLG09aWEoZSx0KTtyZXR1cm4hYSYmIW8mJiFtP3M6b3IocyxEPT5bbT9cIjtcIjpcIlwiLG8/XCIoXCI6XCJcIixvJiZwJiZpP1tmKFt4LGEsRF0pLHhdOlthLERdLG8/XCIpXCI6XCJcIl0pfXZhciBPYT1lbTt2YXIgdG09e2F2b2lkQXN0TXV0YXRpb246ITB9O3ZhciBfYT1be2xpbmd1aXN0TGFuZ3VhZ2VJZDoxNzQsbmFtZTpcIkpTT04uc3RyaW5naWZ5XCIsdHlwZTpcImRhdGFcIixjb2xvcjpcIiMyOTI5MjlcIix0bVNjb3BlOlwic291cmNlLmpzb25cIixhY2VNb2RlOlwianNvblwiLGNvZGVtaXJyb3JNb2RlOlwiamF2YXNjcmlwdFwiLGNvZGVtaXJyb3JNaW1lVHlwZTpcImFwcGxpY2F0aW9uL2pzb25cIixhbGlhc2VzOltcImdlb2pzb25cIixcImpzb25sXCIsXCJ0b3BvanNvblwiXSxleHRlbnNpb25zOltcIi5pbXBvcnRtYXBcIl0sZmlsZW5hbWVzOltcInBhY2thZ2UuanNvblwiLFwicGFja2FnZS1sb2NrLmpzb25cIixcImNvbXBvc2VyLmpzb25cIl0scGFyc2VyczpbXCJqc29uLXN0cmluZ2lmeVwiXSx2c2NvZGVMYW5ndWFnZUlkczpbXCJqc29uXCJdfSx7bGluZ3Vpc3RMYW5ndWFnZUlkOjE3NCxuYW1lOlwiSlNPTlwiLHR5cGU6XCJkYXRhXCIsY29sb3I6XCIjMjkyOTI5XCIsdG1TY29wZTpcInNvdXJjZS5qc29uXCIsYWNlTW9kZTpcImpzb25cIixjb2RlbWlycm9yTW9kZTpcImphdmFzY3JpcHRcIixjb2RlbWlycm9yTWltZVR5cGU6XCJhcHBsaWNhdGlvbi9qc29uXCIsYWxpYXNlczpbXCJnZW9qc29uXCIsXCJqc29ubFwiLFwidG9wb2pzb25cIl0sZXh0ZW5zaW9uczpbXCIuanNvblwiLFwiLjRERm9ybVwiLFwiLjREUHJvamVjdFwiLFwiLmF2c2NcIixcIi5nZW9qc29uXCIsXCIuZ2x0ZlwiLFwiLmhhclwiLFwiLmljZVwiLFwiLkpTT04tdG1MYW5ndWFnZVwiLFwiLm1jbWV0YVwiLFwiLnRmc3RhdGVcIixcIi50ZnN0YXRlLmJhY2t1cFwiLFwiLnRvcG9qc29uXCIsXCIud2ViYXBwXCIsXCIud2VibWFuaWZlc3RcIixcIi55eVwiLFwiLnl5cFwiXSxmaWxlbmFtZXM6W1wiLmFsbC1jb250cmlidXRvcnNyY1wiLFwiLmFyY2NvbmZpZ1wiLFwiLmF1dG8tY2hhbmdlbG9nXCIsXCIuYzhyY1wiLFwiLmh0bWxoaW50cmNcIixcIi5pbWdib3Rjb25maWdcIixcIi5ueWNyY1wiLFwiLnRlcm4tY29uZmlnXCIsXCIudGVybi1wcm9qZWN0XCIsXCIud2F0Y2htYW5jb25maWdcIixcIlBpcGZpbGUubG9ja1wiLFwiY29tcG9zZXIubG9ja1wiLFwiZmxha2UubG9ja1wiLFwibWNtb2QuaW5mb1wiLFwiLmJhYmVscmNcIixcIi5qc2NzcmNcIixcIi5qc2hpbnRyY1wiLFwiLmpzbGludHJjXCIsXCIuc3djcmNcIl0scGFyc2VyczpbXCJqc29uXCJdLHZzY29kZUxhbmd1YWdlSWRzOltcImpzb25cIl19LHtsaW5ndWlzdExhbmd1YWdlSWQ6NDIzLG5hbWU6XCJKU09OIHdpdGggQ29tbWVudHNcIix0eXBlOlwiZGF0YVwiLGNvbG9yOlwiIzI5MjkyOVwiLGdyb3VwOlwiSlNPTlwiLHRtU2NvcGU6XCJzb3VyY2UuanNcIixhY2VNb2RlOlwiamF2YXNjcmlwdFwiLGNvZGVtaXJyb3JNb2RlOlwiamF2YXNjcmlwdFwiLGNvZGVtaXJyb3JNaW1lVHlwZTpcInRleHQvamF2YXNjcmlwdFwiLGFsaWFzZXM6W1wianNvbmNcIl0sZXh0ZW5zaW9uczpbXCIuanNvbmNcIixcIi5jb2RlLXNuaXBwZXRzXCIsXCIuY29kZS13b3Jrc3BhY2VcIixcIi5zdWJsaW1lLWJ1aWxkXCIsXCIuc3VibGltZS1jb21tYW5kc1wiLFwiLnN1YmxpbWUtY29tcGxldGlvbnNcIixcIi5zdWJsaW1lLWtleW1hcFwiLFwiLnN1YmxpbWUtbWFjcm9cIixcIi5zdWJsaW1lLW1lbnVcIixcIi5zdWJsaW1lLW1vdXNlbWFwXCIsXCIuc3VibGltZS1wcm9qZWN0XCIsXCIuc3VibGltZS1zZXR0aW5nc1wiLFwiLnN1YmxpbWUtdGhlbWVcIixcIi5zdWJsaW1lLXdvcmtzcGFjZVwiLFwiLnN1YmxpbWVfbWV0cmljc1wiLFwiLnN1YmxpbWVfc2Vzc2lvblwiXSxmaWxlbmFtZXM6W10scGFyc2VyczpbXCJqc29uY1wiXSx2c2NvZGVMYW5ndWFnZUlkczpbXCJqc29uY1wiXX0se2xpbmd1aXN0TGFuZ3VhZ2VJZDoxNzUsbmFtZTpcIkpTT041XCIsdHlwZTpcImRhdGFcIixjb2xvcjpcIiMyNjdDQjlcIixleHRlbnNpb25zOltcIi5qc29uNVwiXSx0bVNjb3BlOlwic291cmNlLmpzXCIsYWNlTW9kZTpcImphdmFzY3JpcHRcIixjb2RlbWlycm9yTW9kZTpcImphdmFzY3JpcHRcIixjb2RlbWlycm9yTWltZVR5cGU6XCJhcHBsaWNhdGlvbi9qc29uXCIscGFyc2VyczpbXCJqc29uNVwiXSx2c2NvZGVMYW5ndWFnZUlkczpbXCJqc29uNVwiXX1dO3ZhciBPcz17fTtBcihPcyx7Z2V0VmlzaXRvcktleXM6KCk9PnZhLG1hc3NhZ2VBc3ROb2RlOigpPT5SYSxwcmludDooKT0+c219KTt2YXIgcm09e0pzb25Sb290OltcIm5vZGVcIl0sQXJyYXlFeHByZXNzaW9uOltcImVsZW1lbnRzXCJdLE9iamVjdEV4cHJlc3Npb246W1wicHJvcGVydGllc1wiXSxPYmplY3RQcm9wZXJ0eTpbXCJrZXlcIixcInZhbHVlXCJdLFVuYXJ5RXhwcmVzc2lvbjpbXCJhcmd1bWVudFwiXSxOdWxsTGl0ZXJhbDpbXSxCb29sZWFuTGl0ZXJhbDpbXSxTdHJpbmdMaXRlcmFsOltdLE51bWVyaWNMaXRlcmFsOltdLElkZW50aWZpZXI6W10sVGVtcGxhdGVMaXRlcmFsOltcInF1YXNpc1wiXSxUZW1wbGF0ZUVsZW1lbnQ6W119LGphPXJtO3ZhciBubT1ocihqYSksdmE9bm07ZnVuY3Rpb24gc20oZSx0LHIpe2xldHtub2RlOm59PWU7c3dpdGNoKG4udHlwZSl7Y2FzZVwiSnNvblJvb3RcIjpyZXR1cm5bcihcIm5vZGVcIiksRl07Y2FzZVwiQXJyYXlFeHByZXNzaW9uXCI6e2lmKG4uZWxlbWVudHMubGVuZ3RoPT09MClyZXR1cm5cIltdXCI7bGV0IHM9ZS5tYXAoKCk9PmUubm9kZT09PW51bGw/XCJudWxsXCI6cigpLFwiZWxlbWVudHNcIik7cmV0dXJuW1wiW1wiLGYoW0YsYihbXCIsXCIsRl0scyldKSxGLFwiXVwiXX1jYXNlXCJPYmplY3RFeHByZXNzaW9uXCI6cmV0dXJuIG4ucHJvcGVydGllcy5sZW5ndGg9PT0wP1wie31cIjpbXCJ7XCIsZihbRixiKFtcIixcIixGXSxlLm1hcChyLFwicHJvcGVydGllc1wiKSldKSxGLFwifVwiXTtjYXNlXCJPYmplY3RQcm9wZXJ0eVwiOnJldHVybltyKFwia2V5XCIpLFwiOiBcIixyKFwidmFsdWVcIildO2Nhc2VcIlVuYXJ5RXhwcmVzc2lvblwiOnJldHVybltuLm9wZXJhdG9yPT09XCIrXCI/XCJcIjpuLm9wZXJhdG9yLHIoXCJhcmd1bWVudFwiKV07Y2FzZVwiTnVsbExpdGVyYWxcIjpyZXR1cm5cIm51bGxcIjtjYXNlXCJCb29sZWFuTGl0ZXJhbFwiOnJldHVybiBuLnZhbHVlP1widHJ1ZVwiOlwiZmFsc2VcIjtjYXNlXCJTdHJpbmdMaXRlcmFsXCI6cmV0dXJuIEpTT04uc3RyaW5naWZ5KG4udmFsdWUpO2Nhc2VcIk51bWVyaWNMaXRlcmFsXCI6cmV0dXJuIE1hKGUpP0pTT04uc3RyaW5naWZ5KFN0cmluZyhuLnZhbHVlKSk6SlNPTi5zdHJpbmdpZnkobi52YWx1ZSk7Y2FzZVwiSWRlbnRpZmllclwiOnJldHVybiBNYShlKT9KU09OLnN0cmluZ2lmeShuLm5hbWUpOm4ubmFtZTtjYXNlXCJUZW1wbGF0ZUxpdGVyYWxcIjpyZXR1cm4gcihbXCJxdWFzaXNcIiwwXSk7Y2FzZVwiVGVtcGxhdGVFbGVtZW50XCI6cmV0dXJuIEpTT04uc3RyaW5naWZ5KG4udmFsdWUuY29va2VkKTtkZWZhdWx0OnRocm93IG5ldyBNZShuLFwiSlNPTlwiKX19ZnVuY3Rpb24gTWEoZSl7cmV0dXJuIGUua2V5PT09XCJrZXlcIiYmZS5wYXJlbnQudHlwZT09PVwiT2JqZWN0UHJvcGVydHlcIn12YXIgdW09bmV3IFNldChbXCJzdGFydFwiLFwiZW5kXCIsXCJleHRyYVwiLFwibG9jXCIsXCJjb21tZW50c1wiLFwibGVhZGluZ0NvbW1lbnRzXCIsXCJ0cmFpbGluZ0NvbW1lbnRzXCIsXCJpbm5lckNvbW1lbnRzXCIsXCJlcnJvcnNcIixcInJhbmdlXCIsXCJ0b2tlbnNcIl0pO2Z1bmN0aW9uIFJhKGUsdCl7bGV0e3R5cGU6cn09ZTtpZihyPT09XCJPYmplY3RQcm9wZXJ0eVwiKXtsZXR7a2V5Om59PWU7bi50eXBlPT09XCJJZGVudGlmaWVyXCI/dC5rZXk9e3R5cGU6XCJTdHJpbmdMaXRlcmFsXCIsdmFsdWU6bi5uYW1lfTpuLnR5cGU9PT1cIk51bWVyaWNMaXRlcmFsXCImJih0LmtleT17dHlwZTpcIlN0cmluZ0xpdGVyYWxcIix2YWx1ZTpTdHJpbmcobi52YWx1ZSl9KTtyZXR1cm59aWYocj09PVwiVW5hcnlFeHByZXNzaW9uXCImJmUub3BlcmF0b3I9PT1cIitcIilyZXR1cm4gdC5hcmd1bWVudDtpZihyPT09XCJBcnJheUV4cHJlc3Npb25cIil7Zm9yKGxldFtuLHNdb2YgZS5lbGVtZW50cy5lbnRyaWVzKCkpcz09PW51bGwmJnQuZWxlbWVudHMuc3BsaWNlKG4sMCx7dHlwZTpcIk51bGxMaXRlcmFsXCJ9KTtyZXR1cm59aWYocj09PVwiVGVtcGxhdGVMaXRlcmFsXCIpcmV0dXJue3R5cGU6XCJTdHJpbmdMaXRlcmFsXCIsdmFsdWU6ZS5xdWFzaXNbMF0udmFsdWUuY29va2VkfX1SYS5pZ25vcmVkUHJvcGVydGllcz11bTt2YXIgRXI9e2JyYWNrZXRTcGFjaW5nOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMCxkZXNjcmlwdGlvbjpcIlByaW50IHNwYWNlcyBiZXR3ZWVuIGJyYWNrZXRzLlwiLG9wcG9zaXRlRGVzY3JpcHRpb246XCJEbyBub3QgcHJpbnQgc3BhY2VzIGJldHdlZW4gYnJhY2tldHMuXCJ9LHNpbmdsZVF1b3RlOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMSxkZXNjcmlwdGlvbjpcIlVzZSBzaW5nbGUgcXVvdGVzIGluc3RlYWQgb2YgZG91YmxlIHF1b3Rlcy5cIn0scHJvc2VXcmFwOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJjaG9pY2VcIixkZWZhdWx0OlwicHJlc2VydmVcIixkZXNjcmlwdGlvbjpcIkhvdyB0byB3cmFwIHByb3NlLlwiLGNob2ljZXM6W3t2YWx1ZTpcImFsd2F5c1wiLGRlc2NyaXB0aW9uOlwiV3JhcCBwcm9zZSBpZiBpdCBleGNlZWRzIHRoZSBwcmludCB3aWR0aC5cIn0se3ZhbHVlOlwibmV2ZXJcIixkZXNjcmlwdGlvbjpcIkRvIG5vdCB3cmFwIHByb3NlLlwifSx7dmFsdWU6XCJwcmVzZXJ2ZVwiLGRlc2NyaXB0aW9uOlwiV3JhcCBwcm9zZSBhcy1pcy5cIn1dfSxicmFja2V0U2FtZUxpbmU6e2NhdGVnb3J5OlwiQ29tbW9uXCIsdHlwZTpcImJvb2xlYW5cIixkZWZhdWx0OiExLGRlc2NyaXB0aW9uOlwiUHV0ID4gb2Ygb3BlbmluZyB0YWdzIG9uIHRoZSBsYXN0IGxpbmUgaW5zdGVhZCBvZiBvbiBhIG5ldyBsaW5lLlwifSxzaW5nbGVBdHRyaWJ1dGVQZXJMaW5lOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMSxkZXNjcmlwdGlvbjpcIkVuZm9yY2Ugc2luZ2xlIGF0dHJpYnV0ZSBwZXIgbGluZSBpbiBIVE1MLCBWdWUgYW5kIEpTWC5cIn19O3ZhciB3dD1cIkphdmFTY3JpcHRcIixpbT17YXJyb3dQYXJlbnM6e2NhdGVnb3J5Ond0LHR5cGU6XCJjaG9pY2VcIixkZWZhdWx0OlwiYWx3YXlzXCIsZGVzY3JpcHRpb246XCJJbmNsdWRlIHBhcmVudGhlc2VzIGFyb3VuZCBhIHNvbGUgYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVyLlwiLGNob2ljZXM6W3t2YWx1ZTpcImFsd2F5c1wiLGRlc2NyaXB0aW9uOlwiQWx3YXlzIGluY2x1ZGUgcGFyZW5zLiBFeGFtcGxlOiBgKHgpID0+IHhgXCJ9LHt2YWx1ZTpcImF2b2lkXCIsZGVzY3JpcHRpb246XCJPbWl0IHBhcmVucyB3aGVuIHBvc3NpYmxlLiBFeGFtcGxlOiBgeCA9PiB4YFwifV19LGJyYWNrZXRTYW1lTGluZTpFci5icmFja2V0U2FtZUxpbmUsYnJhY2tldFNwYWNpbmc6RXIuYnJhY2tldFNwYWNpbmcsanN4QnJhY2tldFNhbWVMaW5lOntjYXRlZ29yeTp3dCx0eXBlOlwiYm9vbGVhblwiLGRlc2NyaXB0aW9uOlwiUHV0ID4gb24gdGhlIGxhc3QgbGluZSBpbnN0ZWFkIG9mIGF0IGEgbmV3IGxpbmUuXCIsZGVwcmVjYXRlZDpcIjIuNC4wXCJ9LHNlbWk6e2NhdGVnb3J5Ond0LHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMCxkZXNjcmlwdGlvbjpcIlByaW50IHNlbWljb2xvbnMuXCIsb3Bwb3NpdGVEZXNjcmlwdGlvbjpcIkRvIG5vdCBwcmludCBzZW1pY29sb25zLCBleGNlcHQgYXQgdGhlIGJlZ2lubmluZyBvZiBsaW5lcyB3aGljaCBtYXkgbmVlZCB0aGVtLlwifSxleHBlcmltZW50YWxUZXJuYXJpZXM6e2NhdGVnb3J5Ond0LHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMSxkZXNjcmlwdGlvbjpcIlVzZSBjdXJpb3VzIHRlcm5hcmllcywgd2l0aCB0aGUgcXVlc3Rpb24gbWFyayBhZnRlciB0aGUgY29uZGl0aW9uLlwiLG9wcG9zaXRlRGVzY3JpcHRpb246XCJEZWZhdWx0IGJlaGF2aW9yIG9mIHRlcm5hcmllczsga2VlcCBxdWVzdGlvbiBtYXJrcyBvbiB0aGUgc2FtZSBsaW5lIGFzIHRoZSBjb25zZXF1ZW50LlwifSxzaW5nbGVRdW90ZTpFci5zaW5nbGVRdW90ZSxqc3hTaW5nbGVRdW90ZTp7Y2F0ZWdvcnk6d3QsdHlwZTpcImJvb2xlYW5cIixkZWZhdWx0OiExLGRlc2NyaXB0aW9uOlwiVXNlIHNpbmdsZSBxdW90ZXMgaW4gSlNYLlwifSxxdW90ZVByb3BzOntjYXRlZ29yeTp3dCx0eXBlOlwiY2hvaWNlXCIsZGVmYXVsdDpcImFzLW5lZWRlZFwiLGRlc2NyaXB0aW9uOlwiQ2hhbmdlIHdoZW4gcHJvcGVydGllcyBpbiBvYmplY3RzIGFyZSBxdW90ZWQuXCIsY2hvaWNlczpbe3ZhbHVlOlwiYXMtbmVlZGVkXCIsZGVzY3JpcHRpb246XCJPbmx5IGFkZCBxdW90ZXMgYXJvdW5kIG9iamVjdCBwcm9wZXJ0aWVzIHdoZXJlIHJlcXVpcmVkLlwifSx7dmFsdWU6XCJjb25zaXN0ZW50XCIsZGVzY3JpcHRpb246XCJJZiBhdCBsZWFzdCBvbmUgcHJvcGVydHkgaW4gYW4gb2JqZWN0IHJlcXVpcmVzIHF1b3RlcywgcXVvdGUgYWxsIHByb3BlcnRpZXMuXCJ9LHt2YWx1ZTpcInByZXNlcnZlXCIsZGVzY3JpcHRpb246XCJSZXNwZWN0IHRoZSBpbnB1dCB1c2Ugb2YgcXVvdGVzIGluIG9iamVjdCBwcm9wZXJ0aWVzLlwifV19LHRyYWlsaW5nQ29tbWE6e2NhdGVnb3J5Ond0LHR5cGU6XCJjaG9pY2VcIixkZWZhdWx0OlwiYWxsXCIsZGVzY3JpcHRpb246XCJQcmludCB0cmFpbGluZyBjb21tYXMgd2hlcmV2ZXIgcG9zc2libGUgd2hlbiBtdWx0aS1saW5lLlwiLGNob2ljZXM6W3t2YWx1ZTpcImFsbFwiLGRlc2NyaXB0aW9uOlwiVHJhaWxpbmcgY29tbWFzIHdoZXJldmVyIHBvc3NpYmxlIChpbmNsdWRpbmcgZnVuY3Rpb24gYXJndW1lbnRzKS5cIn0se3ZhbHVlOlwiZXM1XCIsZGVzY3JpcHRpb246XCJUcmFpbGluZyBjb21tYXMgd2hlcmUgdmFsaWQgaW4gRVM1IChvYmplY3RzLCBhcnJheXMsIGV0Yy4pXCJ9LHt2YWx1ZTpcIm5vbmVcIixkZXNjcmlwdGlvbjpcIk5vIHRyYWlsaW5nIGNvbW1hcy5cIn1dfSxzaW5nbGVBdHRyaWJ1dGVQZXJMaW5lOkVyLnNpbmdsZUF0dHJpYnV0ZVBlckxpbmV9LEphPWltO3ZhciBhbT17ZXN0cmVlOndzLFwiZXN0cmVlLWpzb25cIjpPc30sb209Wy4uLlVzLC4uLl9hXTt2YXIgcng9X3M7ZXhwb3J0e3J4IGFzIGRlZmF1bHQsb20gYXMgbGFuZ3VhZ2VzLEphIGFzIG9wdGlvbnMsYW0gYXMgcHJpbnRlcnN9O1xuIiwgInZhciBqRTA9T2JqZWN0LmNyZWF0ZTt2YXIgaU89T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciBDRTA9T2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjt2YXIgT0UwPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzO3ZhciBERTA9T2JqZWN0LmdldFByb3RvdHlwZU9mLEZFMD1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O3ZhciBSRTA9KG8wLHZ4KT0+KCk9Pih2eHx8bzAoKHZ4PXtleHBvcnRzOnt9fSkuZXhwb3J0cyx2eCksdnguZXhwb3J0cyksSFk9KG8wLHZ4KT0+e2Zvcih2YXIgJHggaW4gdngpaU8obzAsJHgse2dldDp2eFskeF0sZW51bWVyYWJsZTohMH0pfSxMRTA9KG8wLHZ4LCR4LFByKT0+e2lmKHZ4JiZ0eXBlb2Ygdng9PVwib2JqZWN0XCJ8fHR5cGVvZiB2eD09XCJmdW5jdGlvblwiKWZvcihsZXQgbHIgb2YgT0UwKHZ4KSkhRkUwLmNhbGwobzAsbHIpJiZsciE9PSR4JiZpTyhvMCxscix7Z2V0OigpPT52eFtscl0sZW51bWVyYWJsZTohKFByPUNFMCh2eCxscikpfHxQci5lbnVtZXJhYmxlfSk7cmV0dXJuIG8wfTt2YXIgTUUwPShvMCx2eCwkeCk9PigkeD1vMCE9bnVsbD9qRTAoREUwKG8wKSk6e30sTEUwKHZ4fHwhbzB8fCFvMC5fX2VzTW9kdWxlP2lPKCR4LFwiZGVmYXVsdFwiLHt2YWx1ZTpvMCxlbnVtZXJhYmxlOiEwfSk6JHgsbzApKTt2YXIgWlk9UkUwKGZPPT57KGZ1bmN0aW9uKG8wKXt0eXBlb2YgZ2xvYmFsVGhpcyE9XCJvYmplY3RcIiYmKHRoaXM/dngoKToobzAuZGVmaW5lUHJvcGVydHkobzAucHJvdG90eXBlLFwiX1RfXCIse2NvbmZpZ3VyYWJsZTohMCxnZXQ6dnh9KSxfVF8pKTtmdW5jdGlvbiB2eCgpe3ZhciAkeD10aGlzfHxzZWxmOyR4Lmdsb2JhbFRoaXM9JHgsZGVsZXRlIG8wLnByb3RvdHlwZS5fVF99fSkoT2JqZWN0KTsoZnVuY3Rpb24obzApe1widXNlIHN0cmljdFwiO3ZhciB2eD1cImxvY1wiLCR4PTcwNDE2LFByPTY5NzQ4LGxyPTE2MyxJcj05MjE1OSxMMj00MzU4NyxuZT1cImxhYmVsZWRfc3RhdGVtZW50XCIsa089XCImPVwiLEtzPVwiaW50X29mX3N0cmluZ1wiLG5kPTExMDU5MSx1ZD05MjkwOSxGND0xMTU1OSxtTz1cInJlZ2V4cFwiLGlkPTQzMzAxLFI0PTExNzAzLGZkPTEyMjY1NCxKcz0yNTUsaE89XCIlbmlcIixjZD02ODI1MixkTz0yMzIsc2Q9NDI3ODUsTm49XCJkZWNsYXJlX3ZhcmlhYmxlXCIsTDQ9XCJ3aGlsZVwiLGFkPTY2OTM4LG9kPTcwMzAxLHZkPTEyNDkwNyxNND0xMjY1MTUseU89MjE4LGpuPVwicGF0dGVybl9pZGVudGlmaWVyXCIsbGQ9Njc2NDMsQ249XCJleHBvcnRfc291cmNlXCIscGQ9MjE2LGtkPTY0Mjc5LGdPPVwiT3V0X29mX21lbW9yeVwiLG1kPTExMzc4OCx3Tz1cImNvbW1lbnRzXCIsaGQ9MTI2NjI0LF9PPVwid2luMzJcIixPbj1cIm9iamVjdF9rZXlfYmlnaW50X2xpdGVyYWxcIixiTz0xODUscTQ9MTIzMjE0LFJvPVwiY29uc3RydWN0b3JcIixkZD02OTk1NSxEbj1cImltcG9ydF9kZWNsYXJhdGlvblwiLHlkPTY4NDM3LGdkPVwiRmFpbHVyZVwiLFU0PVwiVW5peC5Vbml4X2Vycm9yXCIsd2Q9NjQyNTUsX2Q9NDI1MzksYmQ9MTEwNTc5LEZuPVwiZXhwb3J0X2RlZmF1bHRfZGVjbGFyYXRpb25cIixSbj1cImpzeF9hdHRyaWJ1dGVfbmFtZVwiLEI0PTExNzI3LFRkPTQzMDAyLFg0PTEyNjUwMCxMbj1cImNvbXBvbmVudF9wYXJhbV9wYXR0ZXJuXCIsVE89XCJjb2xsZWN0X2NvbW1lbnRzX29wdFwiLE1uPVwibWF0Y2hfdW5hcnlfcGF0dGVyblwiLHFuPVwia2V5b2ZfdHlwZVwiLEVPPVwiSW52YWxpZCBiaW5hcnkvb2N0YWwgXCIsU089XCJyYW5nZVwiLEVkPTE3MCxHcz1cImZhbHNlXCIsU2Q9NDM3OTgsQU89XCIsIGNoYXJhY3RlcnMgXCIsVW49XCJvYmplY3RfdHlwZV9wcm9wZXJ0eV9nZXR0ZXJcIixBZD02NTU0NyxQZD0xMjY0NjcsSWQ9NjUwMDcsUE89XCJndWFyZFwiLE5kPTQyMjM3LGpkPTgzMTgsQ2Q9NzEyMTUsQm49XCJvYmplY3RfcHJvcGVydHlfdHlwZVwiLFhuPVwidHlwZV9hbGlhc1wiLE9kPTY3NzQyLFluPVwiZnVuY3Rpb25fYm9keVwiLERkPTY4MTExLFk0PTEyMDc0NSxGZD03MTk1OSx6ND00Mzg4MCxJTz1cIk1hdGNoX2ZhaWx1cmVcIix6bj1cInR5cGVfY2FzdFwiLHN0PTEwOSxXcz1cInZvaWRcIixSZD1cImdlbmVyYXRvclwiLExkPTEyNTEyNCxNZD0xMDE1ODksSzQ9OTQxNzksTk89XCI+Pj5cIixKND03MDQwNCxLbj1cIm9wdGlvbmFsX2luZGV4ZWRfYWNjZXNzX3R5cGVcIixqTz0zMTAseTE9XCJhcmd1bWVudFwiLEpuPVwib2JqZWN0X3Byb3BlcnR5XCIsR249XCJvYmplY3RfdHlwZV9wcm9wZXJ0eVwiLHFkPTY3MDA0LFVkPTQyNzgzLEJkPTY4ODUwLENPPVwiQFwiLFhkPTQzNzQxLFlkPTQzNDg3LEc0PVwib2JqZWN0XCIsT089XCJlbmRcIixXND0xMjY1NzEsemQ9NzE5NTYsRE89MjA4LEtkPTEyNjU2NixKZD02NzcwMixGTz1cIkVFWElTVFwiLFduPVwidGhpc19leHByZXNzaW9uXCIsR2Q9MjAzLFdkPTExNTA3LFZkPTExMzgwNyxWND0xMTk4OTMsJGQ9NDI3MzUsRmw9XCJyZXN0XCIsVm49XCJudWxsX2xpdGVyYWxcIixSbD1cInByb3RlY3RlZFwiLFFkPTQzNjE1LGwxPTgyMzEsSGQ9NjgxNDksWmQ9NzM3MjcseHk9NzIzNDgscnk9OTI5OTUsczM9MjI0LGV5PTExNjg2LHR5PTQzMDEzLCRuPVwiYXNzaWdubWVudF9wYXR0ZXJuXCIsbnk9MTIzMjksUW49XCJmdW5jdGlvbl90eXBlXCIsYTM9MTkyLEhuPVwianN4X2VsZW1lbnRfbmFtZVwiLHV5PTcwMDE4LFpuPVwiY2F0Y2hfY2xhdXNlX3BhdHRlcm5cIiwkND0xMjY1NDAseDc9XCJ0ZW1wbGF0ZV9saXRlcmFsXCIsaXk9MTIwNjU0LGZ5PTY4NDk3LGN5PTY3Njc5LHI3PVwicmVhZG9ubHlfdHlwZVwiLHN5PTY4NzM1LGF5PVwiPFwiLFE0PVwiOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XCIsb3k9NjY5MTUsUk89XCIhXCIsZTc9XCJvYmplY3RfdHlwZVwiLHZ5PTQzNzEyLEg0PTY0Mjk3LGx5PTE4Mzk2OSxweT00MzUwMyxreT02NzU5MSxMbz02NTI3OCxteT02NzY2OSx0Nz1cImZvcl9vZl9hc3NpZ25tZW50X3BhdHRlcm5cIixMbD1cImBcIixoeT0xMTUwMixuNz1cImNhdGNoX2JvZHlcIixMTz0yNTgsZHk9NDIxOTEsTWE9LTc0NDEwNjM0MCx5eT0xODIsTW89XCI6XCIsTU89XCJhIHN0cmluZ1wiLGd5PTY1NjYzLHd5PTY2OTc4LF95PTcxOTQ3LFo0PTQzNTE5LGJ5PTcxMDg2LFR5PTEyNTI1OCxFeT0xMjUzOCx1Nz1cImV4cHJlc3Npb25fb3Jfc3ByZWFkXCIscU89XCJQcmludGV4Yy5oYW5kbGVfdW5jYXVnaHRfZXhjZXB0aW9uXCIseHA9Njk5NTYscnA9MTIwMTIyLGVwPTI0NyxVTz0yMzEsU3k9XCIgOiBmbGFncyBPcGVuX3Jkb25seSBhbmQgT3Blbl93cm9ubHkgYXJlIG5vdCBjb21wYXRpYmxlXCIsaTc9XCJzdGF0ZW1lbnRfZm9ya19wb2ludFwiLEJPPTcxMCxYTz0tNjkyMDM4NDI5LFJlPVwic3RhdGljXCIsQXk9NTUyMDMsUHk9NjQzMjQsSXk9NjQxMTEsWU89XCIhPT1cIixOeT0xMjAxMzIsank9MTI0OTAzLE1sPVwiY2xhc3NcIix6Tz0yMjIsZjc9XCJwYXR0ZXJuX251bWJlcl9saXRlcmFsXCIsVnM9XCJraW5kXCIsQ3k9NzE5MDMsYzc9XCJ2YXJpYWJsZV9kZWNsYXJhdG9yXCIsczc9XCJ0eXBlb2ZfZXhwcmVzc2lvblwiLE95PTEyNjYyNyxEeT03MDA4NCxLTz0yMjgsdHA9NzA0ODAsYTc9XCJjbGFzc19wcml2YXRlX2ZpZWxkXCIsRnk9MjM5LG5wPTEyMDcxMyxadD02NTUzNSxvNz1cInByaXZhdGVfbmFtZVwiLFJ5PTQzMTM3LHY3PVwicmVtb3RlX2lkZW50aWZpZXJcIixMeT03MDE2MSxsNz1cImxhYmVsX2lkZW50aWZpZXJcIixNeT1cInNyYy9wYXJzZXIvc3RhdGVtZW50X3BhcnNlci5tbFwiLHF5PTgzMzUsVXk9MTk5MDMsQnk9NjQzMTAscW89XCJfXCIscDc9XCJmb3JfaW5pdF9kZWNsYXJhdGlvblwiLEpPPVwiaW5mZXJcIixYeT02NDQ2NixZeT00MzAxOCxHTz1cInRva2Vuc1wiLHp5PTkyNzM1LEt5PTY2OTU0LEp5PTY1NDczLEd5PTcwMjg1LGs3PVwic2VxdWVuY2VcIixXeT1cImNvbXBhcmU6IGZ1bmN0aW9uYWwgdmFsdWVcIixWeT02OTg5MCxxbD0xZTMsJHk9NjU0ODcsUXk9NDI2NTMsV089XCJcXFxcXFxcXFwiLFZPPVwiJT1cIixtNz1cIm1hdGNoX21lbWJlcl9wYXR0ZXJuX2Jhc2VcIixIeT03MjM2NyxoNz1cImZ1bmN0aW9uX3Jlc3RfcGFyYW1cIiwkTz1cIi9zdGF0aWMvXCIsWnk9MTI0OTExLHg5PTY1Mjc2LHVwPTEyNjU1OCxyOT0xMTQ5OCxRTz0xMzcsZDc9XCJleHBvcnRfZGVmYXVsdF9kZWNsYXJhdGlvbl9kZWNsXCIsZTk9XCJjYXNlc1wiLGlwPTEyNjYwMix5Nz1cImpzeF9jaGlsZFwiLExlPVwiY29udGludWVcIix0OT00Mjk2MixITz1cImltcG9ydEtpbmRcIixzMj0xMjIsbzM9XCJMaXRlcmFsXCIsZzc9XCJwYXR0ZXJuX29iamVjdF9wcm9wZXJ0eV9pZGVudGlmaWVyX2tleVwiLG45PTQyNTA4LHFhPVwiaW5cIix1OT01NTIzOCxpOT02NzA3MSxmOT03MDgzMSxjOT03MjE2MSxzOT02NzQ2MixaTz1cIjw8PVwiLGE5PTQzMDA5LG85PTY2MzgzLGZwPTY3ODI3LHY5PTcyMjAyLGw5PTY5ODM5LHA5PTY2Nzc1LHhEPVwiLT1cIixVbz04MjAyLGs5PTcwMTA1LG05PTEyMDUzOCx3Nz1cImZvcl9pbl9sZWZ0X2RlY2xhcmF0aW9uXCIsaDk9XCJyZW5kZXJzVHlwZVwiLGNwPTEyNjU2MyxkOT03MDcwOCxzcD0xMjY1MjMsckQ9MTY2LGVEPTIwMix5OT0xMTA5NTEsJHM9XCJjb21wb25lbnRcIixhcD0xMjY1NTIsZzk9NjY5NzcsdEQ9MjEzLF83PVwiZW51bV9tZW1iZXJfaWRlbnRpZmllclwiLG5EPTIxMCxiNz1cImVudW1fYmlnaW50X2JvZHlcIix1RD1cIj49XCIsdzk9MTI2NDk1LF85PVwic3BlY2lmaWVyc1wiLGlEPS04OCxiOT1cIj1cIixUOT02NTMzOCxVbD1cIm1lbWJlcnNcIixmRD0zMDksRTk9MTIzNTM1LFM5PTQzNzAyLEE5PTcyNzY3LEJvPVwiZ2V0XCIsUDk9MTI2NjMzLG9wPTEyNjUzNixJOT05NDA5OCxOOT1cInR5cGVzXCIsajk9MTEzNjYzLGNEPVwiSW50ZXJuYWwgRXJyb3I6IEZvdW5kIHByaXZhdGUgZmllbGQgaW4gb2JqZWN0IHByb3BzXCIsVDc9XCJqc3hfZWxlbWVudFwiLEM5PTcwMzY2LE85PTExMDk1OSx2cD0xMjA2NTUsc0Q9XCJ0cmFpbGluZ0NvbW1lbnRzXCIsdjM9MjQwMjksRDk9LTEwMCxCMT1cInlpZWxkXCIsRTc9XCJiaW5kaW5nX3BhdHRlcm5cIixhRD0yNzUsUzc9XCJ0eXBlb2ZfaWRlbnRpZmllclwiLG9EPVwiRU5PVEVNUFRZXCIsRjk9LTEwNCxscD0xMjY0NjgsUjk9MTI1NSxMOT0xMjA2MjgsQTc9XCJwYXR0ZXJuX29iamVjdF9wcm9wZXJ0eV9zdHJpbmdfbGl0ZXJhbF9rZXlcIixNOT04NTIxLHZEPVwibGVhZGluZ0NvbW1lbnRzXCIsbEQ9ODIwNCxVYT1cIkAgXCIscTk9NzAzMTksUXM9XCJsZWZ0XCIsVTk9MTg4LHBwPVwiY2FzZVwiLEI5PTE5OTY3LGtwPTQyNjIyLFg5PTQzNDkyLFk5PTExMzc3MCx6OT00Mjc3NCxLOT0xODMsbXA9ODQ2OCxQNz1cImNsYXNzX2ltcGxlbWVudHNcIixocD0xMjY1NzksbDM9XCJzdHJpbmdcIixKOT0yMTEsZTE9LTQ4LEc5PTY5OTI2LFc5PTEyMzIxMyxJNz1cImlmX2NvbnNlcXVlbnRfc3RhdGVtZW50XCIsVjk9MTI0OTI3LHAzPVwibnVtYmVyXCIsJDk9MTI2NTQ2LFE5PTY4MTE5LEg5PTcwNzI2LGRwPTcwNzUwLFo5PTY1NDg5LHBEPVwiU3ByZWFkRWxlbWVudFwiLGtEPVwiY2FsbGVlXCIsbUQ9MTkzLHhnPTcwNDkyLHJnPTcxOTM0LGhEPTE2NCxlZz0xMTA1ODAsdGc9MTIzMjAsZEQ9MzAwLHlwPVwiYW55XCIsdWU9XCIvXCIsTjc9XCJ0eXBlX2d1YXJkXCIsSTI9XCJib2R5XCIseUQ9MjcyLG5nPTE3OCxfZT1cInBhdHRlcm5cIixnRD1cImNvbW1lbnRfYm91bmRzXCIsd0Q9Mjk3LGo3PVwiYmluZGluZ190eXBlX2lkZW50aWZpZXJcIixncD0xODcsQzc9XCJwYXR0ZXJuX2FycmF5X3Jlc3RfZWxlbWVudF9wYXR0ZXJuXCIsd3A9XCJAXSlcIix1Zz0xMjU0MyxpZz0xMTYyMyxfRD1cInN0YXJ0XCIsZmc9Njc4NzEsaWU9XCJpbnRlcmZhY2VcIixjZz04NDQ5LHNnPTY3NjM3LGFnPTQyOTYxLF9wPTEyMDA4NSxvZz0xMjY0NjMsYkQ9XCJhbHRlcm5hdGVcIixURD0tMTA1MzM4MjM2Nix2Zz03MDE0MyxFRD1cIi0tXCIsbGc9NjgwMzEsTzc9XCJqc3hfZXhwcmVzc2lvblwiLEQ3PVwidHlwZV9pZGVudGlmaWVyX3JlZmVyZW5jZVwiLGJwPTExNjQ3LHBnPVwicHJvdG9cIixQdD1cImlkZW50aWZpZXJcIixrZz00MzY5NixJdD1cInJhd1wiLG1nPTEyNjUyOSxoZz0xMTU2NCxUcD0xMjY1NTcsZGc9NjQ5MTEsRXA9Njc1OTIseWc9NDM0OTMsZ2c9MjE1LHdnPTExMDU4OCxCbD00NjE4OTQ4NTcsX2c9OTI5MjcsYmc9Njc4NjEsVGc9MTE5OTgwLEVnPTQzMDQyLFNnPTY2OTY1LEFnPTY3MzkxLGszPVwiY29tcHV0ZWRcIixTRD1cInVucmVhY2hhYmxlIGpzeHRleHRcIixQZz03MTE2NyxJZz00MjU1OSxOZz03Mjk2NixBRD0zMDMsamc9MTgwLFBEPTE5NyxTcD02NDMxOSxBcD0xNjksSUQ9XCIqXCIsWG89MTI5LENnPTY2MzM1LFhsPVwibWV0YVwiLE9nPTQzMzg4LFBwPTk0MTc4LGF0PVwib3B0aW9uYWxcIixJcD1cInVua25vd25cIixEZz0xMjAxMjEsRmc9MTIzMTgwLE5wPTg0NjksUmc9NjgyMjAsTkQ9XCJ8XCIsTGc9NDMxODcsTWc9OTQyMDcscWc9MTI0ODk1LGpwPTEyMDUxMyxVZz00MjUyNyxZbz04Mjg2LEJnPTk0MTc3LFlsPVwidmFyXCIsRjc9XCJjb21wb25lbnRfdHlwZV9wYXJhbVwiLFhnPTY2NDIxLFlnPTkyOTkxLHpnPTY4NDE1LFI3PVwiY29tbWVudFwiLEw3PVwibWF0Y2hfcGF0dGVybl9hcnJheV9lbGVtZW50XCIsem89MjQ0LENwPVwiXlwiLEtnPTE3Mzc5MSxqRD0xMzYsSmc9NDI4OTAsR2c9XCJFTk9URElSXCIsV2c9XCI/P1wiLFZnPTQzNzExLCRnPTY2MzAzLFFnPTExMzgwMCxIZz00MjIzOSxaZz0xMjcwMyxNNz1cInZhcmlhbmNlX29wdFwiLHE3PVwiK1wiLENEPVwiPj4+PVwiLE9wPVwibWl4ZWRcIix4dz02NTYxMyxydz03MzAyOSxldz02ODE5MSxPRD1cIio9XCIsRHA9ODQ4Nyx0dz04NDc3LFU3PVwidG9wbGV2ZWxfc3RhdGVtZW50X2xpc3RcIixGcD1cIm5ldmVyXCIsUnA9XCJkb1wiLEJhPTEyNSxudz03MjI0OSxERD1cIlBlcnZhc2l2ZXMuZG9fYXRfZXhpdFwiLEZEPVwidmlzaXRfdHJhaWxpbmdfY29tbWVudFwiLEI3PVwianN4X2Nsb3NpbmdfZWxlbWVudFwiLFg3PVwianN4X25hbWVzcGFjZWRfbmFtZVwiLHV3PTEyNDkwOCxpdz0xMjY2NTEsWTc9XCJjb21wb25lbnRfZGVjbGFyYXRpb25cIixmdz0xNSx6Nz1cImludGVyZmFjZV90eXBlXCIsSzc9XCJmdW5jdGlvbl90eXBlX3JldHVybl9hbm5vdGF0aW9uXCIsY3c9NjQxMDksTHA9NjU1OTUsTXA9MTI2NTYwLHN3PTExMDkyNyxxcD02NTU5OCxVcD04NDg4LEhzPVwiYC5cIixSRD0xNzUsQnA9XCJwYWNrYWdlXCIsWHA9XCJlbHNlXCIsWXA9MTIwNzcxLGF3PTY4MDIzLExEPVwiZmQgXCIsS289ODIzOCx6cD04ODg5NjAzMzMsS3A9MTE5OTY1LG93PTQyNjU1LEo3PVwibWF0Y2hfb2JqZWN0X3BhdHRlcm5cIix2dz0xMTcxMCxsdz0xMTk5OTMsRzc9XCJib29sZWFuX2xpdGVyYWxcIixXNz1cInN0YXRlbWVudF9saXN0XCIsVjc9XCJmdW5jdGlvbl9wYXJhbVwiLCQ3PVwibWF0Y2hfYXNfcGF0dGVyblwiLFE3PVwicGF0dGVybl9vYmplY3RfcHJvcGVydHlfYmlnaW50X2xpdGVyYWxfa2V5XCIsSnA9Njk5NTkscHc9MTIwNDg1LE1EPTI0MCxrdz0xOTE0NTYsSDc9XCJkZWNsYXJlX2VudW1cIixHcD0xMjA1OTcsV3A9NzAyODEsWjc9XCJ0eXBlX2Fubm90YXRpb25cIix4dT1cInNwcmVhZF9lbGVtZW50XCIsVnA9MTI2NTQ0LG13PTEyMDA2OSxYYT1cImtleVwiLGh3PTQzNTgzLGR3PVwib3V0XCIseXc9YFxuYCxxRD1cIioqPVwiLHJ1PVwicGF0dGVybl9vYmplY3RfcHJvcGVydHlfcGF0dGVyblwiLGd3PVwiZVwiLHd3PTcyNzEyLFVEPVwiSW50ZXJuYWwgRXJyb3I6IEZvdW5kIG9iamVjdCBwcml2YXRlIHByb3BcIixfdz1cIkVOT0VOVFwiLGJ3PS00MixldT1cImpzeF9vcGVuaW5nX2F0dHJpYnV0ZVwiLFR3PTY3NjQ2LHR1PVwiY29tcG9uZW50X3R5cGVcIixFdz02NDI5NixTdz00Mzg4NyxCRD1cIkRpdmlzaW9uX2J5X3plcm9cIixYRD1cIkVudW1EZWZhdWx0ZWRNZW1iZXJcIixudT1cInR5cGVvZl9tZW1iZXJfaWRlbnRpZmllclwiLEF3PTQzNzkyLHV1PVwibWF0Y2hfbWVtYmVyX3BhdHRlcm5fcHJvcGVydHlcIixpdT1cImRlY2xhcmVfZXhwb3J0X2RlY2xhcmF0aW9uX2RlY2xcIixQdz05MzAyNixmdT1cInR5cGVfYW5ub3RhdGlvbl9oaW50XCIsSXc9NDI4ODcsTnc9NDM4ODEsanc9NDM3NjEsJHA9ODUyNixZRD0yODcsemw9MTE5LEN3PTQzODY2LE93PTcyODQ3LER3PTgzNDgsZmU9MTAxLEZ3PTk0MDI2LFFwPTcyMjcyLHpEPVwic3JjL3BhcnNlci9mbG93X2xleGVyLm1sXCIsUnc9MTIwNzQ0LEpvPTgxOTEsbTM9XCJpbXBsaWVzXCIsSHA9MjU1LFpwPTExNzExLGN1PVwibWF0Y2hfdW5hcnlfcGF0dGVybl9hcmd1bWVudFwiLEx3PTcxMjM1LHhrPTY4MTE2LHkyPTEwMCxzdT1cIm1hdGNoX2V4cHJlc3Npb25cIixhdT1cImVudW1fYm9keVwiLHJrPTExMTQxMTEsb3U9XCJhc3NpZ25tZW50XCIsTXc9NzE5NTUsZWs9NDMyNjAsdnU9XCJwYXR0ZXJuX2FycmF5X2VcIixxdz0xMjY1ODMsS0Q9XCJwcmVmaXhcIixsdT1cImNsYXNzX2JvZHlcIix0az1cInNob3J0aGFuZFwiLFV3PTE3MSxCdz02NjI1Nixuaz0tOTcsSkQ9XCIgPVwiLFh3PTk0MDMyLFl3PTQyNjA2LHp3PTcxODM5LHVrPTEyMDEzNCxLdz01NTI5MSxKdz05Mjg2MixHdz00MzAxOSxXdz0xMjY1NDMsaDM9XCJmdW5jdGlvblwiLFZ3PTExMTM1NSwkdz0xMTM4OSxRdz03MDc1MyxIdz00MzI0OSxadz02NDgyOSxpaz1cImxpbmVcIixwdT1cImZ1bmN0aW9uX2RlY2xhcmF0aW9uXCIsZms9XCJ1bmRlZmluZWRcIixHRD1cIihbXi9dKylcIix4Xz0xMTA5NDcscl89NzAwMDIsV0Q9XCJDeWd3aW5cIixrdT1cImFzX2V4cHJlc3Npb25cIixlXz0xMjU5MSxjaz02NDI4NSx0Xz0yMDQ4LG5fPTczMTEyLHNrPTEyNjU4OSxWRD0yMjUsYWs9NDMyNTksJEQ9MjY2LHVfPTcyODE3LG9rPTY0MzE4LFFEPTE3MixIRD0yMDksbXU9XCJtYXRjaF9iaW5kaW5nX3BhdHRlcm5cIixodT1cIiBcIixkdT1cImltcG9ydF9zb3VyY2VcIixLbD1cImRlbGV0ZVwiLFpEPVwiRW51bSBgXCIsdms9MTI2NTUzLGlfPTY3MDAxLEdvPVwiZGVmYXVsdFwiLGZfPTExNjMwLGNfPTIwNix5dT1cImVudW1fYmlnaW50X21lbWJlclwiLHNfPTY3NTA0LGxrPTY3NTkzLGFfPTExMzc5MSxvXz02OTU3MixndT1cInR5cGVvZl90eXBlXCIseEY9MjEyLHJGPVwiJWlcIix3dT1cImZ1bmN0aW9uX3RoaXNfcGFyYW1cIix2Xz03MjMyOSxZYT1cIjB4XCIsV289ODIzOSxsXz03NTA3NSxlRj0yNzcsdEY9NTczNDMsX3U9XCJwYXR0ZXJuX2JpZ2ludF9saXRlcmFsXCIscF89MTIzNDEsbkY9MjAxLFZvPVwiaG9va1wiLHVGPVwiOiBjbG9zZWRpciBmYWlsZWRcIixrXz00Mjk1OSxwaz0xMTk5NzAsbV89Mjc4LGhfPTQzNTYwLGlGPVwifHw9XCIsYnU9XCJtZW1iZXJfcHJpdmF0ZV9uYW1lXCIsZF89MTIwNTcwLFR1PVwib2JqZWN0X2tleV9pZGVudGlmaWVyXCIsa2s9MjIzLGZGPVwiTm90X2ZvdW5kXCIsY0Y9MjMwLEV1PVwianN4X2VsZW1lbnRfbmFtZV9tZW1iZXJfZXhwcmVzc2lvblwiLFN1PVwic3RyaW5nX2xpdGVyYWxcIix5Xz0xMjA1OTYsZ189NDM4MDcsd189Njk2ODcsX189NjM3NDMsbWs9NzIxOTIsQXU9XCJtZW1iZXJfcHJvcGVydHlcIixiXz00MzI2MixQdT1cImNsYXNzX2RlY2xhcmF0aW9uXCIsc0Y9XCJyZW5kZXJzKlwiLGFGPVwiJUxpXCIsVF89MTI2NTc4LEl1PVwianN4X2F0dHJpYnV0ZVwiLGQzPTI1NCxiZT1cImVtcHR5XCIsSmw9XCJsYWJlbFwiLE51PVwib2JqZWN0X2ludGVybmFsX3Nsb3RfcHJvcGVydHlfdHlwZVwiLGhrPTEyMDEzMyxFXz00MzM1OSxNZT1cInByZWRpY2F0ZVwiLG9GPVwiPz89XCIsU189NDM2OTcsQV89LTQzLGp1PVwiZGVmYXVsdF9vcHRcIix2Rj1cInRoZSBzdGFydCBvZiBhIHN0YXRlbWVudFwiLFBfPTY3ODI2LEN1PVwib2JqZWN0X1wiLE91PVwiY2xhc3NfZWxlbWVudFwiLGRrPTExNjMxLHlrPTcwODU1LER1PVwib3BhcXVlX3R5cGVcIixGdT1cIm51bWJlcl9saXRlcmFsXCIsbEY9XCIsIFwiLGdrPTgzMTksd2s9MTIwMDA0LF9rPTEzMyxSdT1cInR5cGVfcGFyYW1zXCIsTHU9XCJwYXR0ZXJuX29iamVjdF9yZXN0X3Byb3BlcnR5XCIsWDE9XCJpbXBvcnRcIixJXz03MmUzLE5fPTY3NDEzLGpfPTEyMzQzLENfPTcwMDgwLE11PVwiaW50ZXJzZWN0aW9uX3R5cGVcIixwMT0tMzYsT189NzAwMDUsYms9XCJwcm9wZXJ0aWVzXCIsRF89MTE2NzksRl89ODQ4MyxSXz0xMTA1ODcscEY9NDM1MjAscXU9XCJjb21wdXRlZF9rZXlcIixrRj0yMDcsVXU9XCJjbGFzc19pZGVudGlmaWVyXCIsTF89XCJJbnZhbGlkIG51bWJlciBcIixCdT1cImZ1bmN0aW9uX3BhcmFtX3BhdHRlcm5cIiwkbz0xMjI4OCxNXz0xMTM4MTcscV89NzA3MzAsVV89MTc4MjA3LFRrPTcxMjM2LG1GPTE2NyxYdT1cIm9iamVjdF9pbmRleGVyX3Byb3BlcnR5X3R5cGVcIixCXz02NDI4NixoRj1cIlR5cGVBbm5vdGF0aW9uXCIsZEY9MjIwLFl1PVwidHlwZV9pZGVudGlmaWVyXCIsenU9XCJzcHJlYWRfcHJvcGVydHlcIixLdT1cImpzeF9hdHRyaWJ1dGVfdmFsdWVfZXhwcmVzc2lvblwiLFhfPTEyNjUxOSxFaz03MDEwOCxTaz0xMjYsQWs9NDI5OTksemE9XCJwcm90b3R5cGVcIixZXz1cIiA6IGZsYWdzIE9wZW5fdGV4dCBhbmQgT3Blbl9iaW5hcnkgYXJlIG5vdCBjb21wYXRpYmxlXCIseUY9XCIqKlwiLFBrPTQzODIzLHpfPVwiOiBOb3QgYSBkaXJlY3RvcnlcIixKdT1cInJlbmRlcl90eXBlXCIsSWs9NzIzNDkseTM9XCJ0ZXN0XCIsS189NDM3NzYsSl89OTI4NzksR189MTEyNjMsZ0Y9MjQxLFdfPTkzMDUyLEd1PVwibnVsbGFibGVfdHlwZVwiLFZfPTQzNzA0LCRfPTY0MzIxLHdGPVwiUHJvcGVydHlcIixRXz03MjE5MSxfRj0xNjUsR2w9XCJpbnN0YW5jZW9mXCIsSF89NjkyNDcsYkY9MzAyLHFlPVwibmFtZVwiLE5rPTEyNjYzNCxaXz04NTE2LGprPVwidHlwZUFyZ3VtZW50c1wiLHhiPTcxMTI3LFd1PVwianN4X3NwcmVhZF9hdHRyaWJ1dGVcIixyYj02NjU1OSxlYj00NDAzMSx0Yj00MzY0NSx0MT04MjMzLG5iPTcxNDk0LHViPVwib3BhcXVlXCIsQ2s9NzI5NjcsaWI9NzAxMDYsVnU9XCJsb2dpY2FsXCIsVEY9XCJAWyVzID1AIFwiLFdsPVwiMG9cIixPaz0xMjY1NTQsZmI9NzEzNTEsRGs9ODQ4NCxjYj03MjI0MixGaz0xMjA2ODcsZzM9MjUyLHNiPTE4Mzk4MyxWbD1cIiVTXCIsJHU9XCJmdW5jdGlvbl90aGlzX3BhcmFtX3R5cGVcIixSaz1cImRlY29yYXRvcnNcIixhYj00MzI1NSxRdT1cImNhdGNoX2NsYXVzZVwiLFVlPVwiLVwiLG9iPTY3NzExLEVGPVwiOiBmaWxlIGRlc2NyaXB0b3IgYWxyZWFkeSBjbG9zZWRcIixMaz02NDMxMSxNaz0xMjA1MzksdmI9XCJhcmd1bWVudHNcIixxaz03MzA2MixsYj0xNzM4MjMscGI9NDIxMjQsa2I9NzIwOTUsbWI9MTI1MjU5LGhiPTQyOTY5LFVrPTcwMjgwLFNGPTEyNTIwLGRiPTY5NzQ5LHliPTcwMDY2LEh1PVwiYmluYXJ5XCIsWnU9XCJmb3JfaW5fc3RhdGVtZW50XCIsZ2I9NDMwMTAsQUY9XCJePVwiLHdiPTEyNjU3MCx4aT1cImZvcl9zdGF0ZW1lbnRcIixCaz0xMjY1ODQscmk9XCJmdW5jdGlvbl9yZXR1cm5fYW5ub3RhdGlvblwiLF9iPTcyMTQ0LGJiPTg1MDUsZWk9XCJjbGFzc19leHByZXNzaW9uXCIsVGI9MTIwMDc2LEViPTY5ODA3LFNiPTQwOTgxLEFiPS0yNDk3NjE5MSxQYj03Mjc2OCxJYj0xMjY1NTAsWGs9J1wiJyx0aT1cImNhbGxfdHlwZV9hcmdcIixQRj1cImZcIixRbz1cInRoaXNcIixZaz0xMjY2MjgsSUY9XCI9PT1cIixORj01NjMyMCxuaT1cImRlY2xhcmVfbW9kdWxlX2V4cG9ydHNcIixOYj0xMjA1MTIsdWk9MTA1LGpiPTExOTk3NCxDYj03MTQ1MCxPYj03MTk0MixEYj0xOTUsems9MTIwNjI5LGpGPVwiLz1cIixDRj1cIj4+XCIsaWk9XCJkZWNsYXJlX2ludGVyZmFjZVwiLE9GPTQwOTYsZmk9XCJwYXR0ZXJuX2FycmF5X3Jlc3RfZWxlbWVudFwiLEZiPTcxMzM4LEtrPTEyNjUyMCxjaT1cImFzX2NvbnN0X2V4cHJlc3Npb25cIixERj1cIlBvcHBpbmcgbGV4IG1vZGUgZnJvbSBlbXB0eSBzdGFja1wiLEZGPVwicmVuZGVycz9cIixSYj02ODQwNSxzaT1cIm1lbWJlclwiLGFpPVwiY2xhc3NfZXh0ZW5kc1wiLEhvPTEyMjg3LEprPTEyNjU5MCxMYj02NjM3NyxLYT1cImFzeW5jXCIsb2k9XCJwYXR0ZXJuX2FycmF5X2VsZW1lbnRcIix3Mz0yNDAsTWI9Njk4NjQsWm89XCJyZWFkb25seVwiLHFiPTcwNDYwLFViPTEyMDc3OSxCYj02NjM3OCx2aT1cIm5ld19cIixHaz0xMjY1NTEsbGk9XCJwYXR0ZXJuX29iamVjdF9yZXN0X3Byb3BlcnR5X3BhdHRlcm5cIixwaT1cImZvcl9zdGF0ZW1lbnRfaW5pdFwiLFhiPTQzNTk1LFJGPTI5MyxXaz02ODI5NixZYj0xMjA3MTIsemI9NjQyMTcsS2I9NjkyOTUsTEY9XCJ8fFwiLEpiPVwiO1wiLEdiPTcwNDYxLFdiPTY2OTM5LE1GPVwiY29sbGVjdF9jb21tZW50c1wiLFZiPTI3OSxraT1cImdlbmVyaWNfdHlwZVwiLCRiPTY4Mjk1LFFiPTQ0MDAyLFZrPTcyMTYyLG1pPVwib2JqZWN0X2NhbGxfcHJvcGVydHlfdHlwZVwiLCRrPTgzMDUsUWs9MTE5OTk1LEhrPVwid2l0aFwiLGhpPVwiY2xhc3NfcHJvcGVydHlcIixxRj1cInF1YWxpZmljYXRpb25cIixkaT1cImpzeF9hdHRyaWJ1dGVfbmFtZV9uYW1lc3BhY2VkXCIseWk9XCJpZl9zdGF0ZW1lbnRcIixnaT1cInR5cGVvZl9xdWFsaWZpZWRfaWRlbnRpZmllclwiLFVGPTIzOCxIYj02NTYxNSxCRj0xNzYsbjE9XCJleHByZXNzaW9uXCIsWms9MTI2NTU5LHdpPVwianN4X2F0dHJpYnV0ZV92YWx1ZVwiLF9pPVwiPDI+XCIsYmk9XCJjb21wb25lbnRfcGFyYW1cIix4OD1cIk1hcC5iYWxcIixyOD0xMzIsWmI9NzA0MTIseFQ9NzA0NDAsWEY9XCI8PFwiLGU4PVwiZmluYWxseVwiLFlGPVwidlwiLFRpPVwic3ludGF4X29wdFwiLEVpPVwibWV0YV9wcm9wZXJ0eVwiLHJUPTEyNDQ3LGVUPTY3NTE0LHQ4PTEyNDQ4LFNpPVwib2JqZWN0X21hcHBlZF90eXBlX3Byb3BlcnR5XCIseHY9XCJvcGVyYXRvclwiLHpGPVwiY2xvc2VkaXJcIixBaT1cInVuYXJ5X2V4cHJlc3Npb25cIix0VD0xMjY1ODgsblQ9NzA4NTEsUGk9XCJleHBvcnRfYmF0Y2hfc3BlY2lmaWVyXCIsXzM9XCJyZW5kZXJzXCIsS0Y9MjI2LHVUPTczMTExLEpGPTIyMSxaMD1cIlwiLGlUPTY2OTI3LGZUPTY0OTY3LGNUPVwiZWxlbWVudHNcIixzVD02NzY0MCxhVD00Mzc1NCxJaT1cImRlY2xhcmVfZXhwb3J0X2RlY2xhcmF0aW9uXCIsb1Q9LTI2MDY1NTU3LHZUPTY1ODU1LCRsPVwiYm9vbGVhblwiLFpzPVwidHlwZW9mXCIsbFQ9MTI0OTAyLEdGPTEzOSxwVD02NTYyOSxXRj0yMjQsa1Q9NDMxMjMsbjg9NzA0NDksbVQ9MTI3MzUsSzI9MTA3LHU4PTExNzE5LFZGPVwiIT1cIixOaT1cImNhbGxfdHlwZV9hcmdzXCIsYjM9XCJhc3NlcnRzXCIsSmE9LTQ2LGhUPVwibmFtZXNwYWNlXCIsamk9XCJtYXRjaF9wYXR0ZXJuXCIsQ2k9XCJmb3Jfb2Zfc3RhdGVtZW50X2xoc1wiLGk4PTEyNjUwNCxkVD02OTUwNSxmOD1cImZvclwiLHlUPTcyNzAzLGM4PTEyMDEyNyxzOD00MzQ3MSxnVD05MzA0NywkRj1cIlVuZGVmaW5lZF9yZWN1cnNpdmVfbW9kdWxlXCIsUUY9MjE0NzQ4MzY0NyxPaT1cInRlbXBsYXRlX2xpdGVyYWxfZWxlbWVudFwiLEhGPVwiVW5leHBlY3RlZCBcIix3VD0xMDE2MzEsX1Q9NjU0OTcsYTg9NjgxMjAsRGk9XCJpbXBvcnRfZGVmYXVsdF9zcGVjaWZpZXJcIix4bj1cImFycmF5XCIsWkY9XCJleHByZXNzaW9uc1wiLGJUPTExMDkzMCx4Uj0yMDQsRmk9XCJ3aGlsZV9cIixSaT1cImZ1bmN0aW9uX3Jlc3RfcGFyYW1fdHlwZVwiLEdhPTYzLFRUPTc3ODA4LHJSPVwiVW5leHBlY3RlZCB0b2tlbiBgXCIsbXI9MTE0LExpPVwicGF0dGVybl9vYmplY3RfcFwiLEVUPTY1MTQwLFNUPTEyMzE5MCxNaT1cInBhdHRlcm5fb2JqZWN0X3Byb3BlcnR5X251bWJlcl9saXRlcmFsX2tleVwiLFFsPVwiZW51bVwiLHFpPVwiY29uZGl0aW9uYWxfdHlwZVwiLFRlPTExMyxVaT1cImFycmF5X3R5cGVcIixlUj1cIm1pbnVzXCIsQVQ9NDM3OTAsQmk9XCJkb193aGlsZVwiLFBUPTExNTY3LElUPTExNjk0LEhsPTI1NixOVD0xMTk5NzYsWGk9XCJjb21wb25lbnRfYm9keVwiLGNlPTExMSxqVD0xNzc5NzYsdFI9LTU2LG84PTY3NjQ0LENUPTczNDM5LFpsPTk1MTkwMTU2MSxuUj1cIj9cIix1Uj1cIilcIix2OD00Mzg2NyxsOD02NTU3NSxPVD02OTQ0NSxpUj1cIkZ1bmN0aW9uVHlwZVBhcmFtXCIscDg9MTE5OTk2LERUPTY1MDE5LFlpPVwiY29uZGl0aW9uYWxcIixGVD0xMTUwNSxmUj0xMzUsUlQ9NzEyOTUsTFQ9MTI3OTksTVQ9NjczODIsemk9XCJ0eXBlX2d1YXJkX2Fubm90YXRpb25cIixLaT1cIm9iamVjdF9rZXlfY29tcHV0ZWRcIixybj0xMjMsSmk9XCJwYXR0ZXJuX29iamVjdF9wcm9wZXJ0eV9rZXlcIixxVD0xMTk4OTIsVVQ9Njc1MDUsQlQ9NjY5NjIsR2k9XCJ3aXRoX1wiLFhUPTQzMjczLFdpPVwiaW50ZXJmYWNlX2RlY2xhcmF0aW9uXCIsazg9XCJib29sXCIsWVQ9NzE5NDUselQ9XCJkZWNsYXJhdGlvblwiLEtUPTExNTE5LHg2PVwiPlwiLEpUPTY2NzcxLG04PVwifVwiLGNSPTg0NzIsR1Q9NDMwMTQsVmk9XCJkZWNsYXJlX2Z1bmN0aW9uXCIsQnI9MTI3LFdUPVwiUmVzdEVsZW1lbnRcIixzUj0xOTAsVlQ9ODQ2NyxhUj1cIm1vZHVsZVwiLGg4PTEyNjUyMixvUj1cIlN5c19ibG9ja2VkX2lvXCIsJGk9XCJqc3hfb3BlbmluZ19lbGVtZW50XCIsUWk9XCJvYmplY3Rfa2V5X251bWJlcl9saXRlcmFsXCIsdlI9XCJ8PVwiLGxSPVwibWl4aW5zXCIsJFQ9MjA1LHBSPTIxNyxkOD1cImlmXCIsa1I9XCIrPVwiLEhpPVwibWF0Y2hfb2JqZWN0X3BhdHRlcm5fcHJvcGVydHlfa2V5XCIsWmk9XCJtYXRjaF9yZXN0X3BhdHRlcm5cIix4Zj1cImV4cG9ydF9uYW1lZF9kZWNsYXJhdGlvbl9zcGVjaWZpZXJcIix5OD1cInRyeVwiLGc4PVwiX2JpZ2FycjAyXCIsUVQ9NzA0NzksZW49XCJyaWdodFwiLEhUPTI0NSxaVD0xMTcxOCxyZj1cInR1cGxlX2xhYmVsZWRfZWxlbWVudFwiLG1SPVwiVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb25cIix4RT1cIm1rZGlyXCIsckU9NzE5OTksZUU9ODcwNTMwNzc2LGhSPVwiQFtcIixkUj0tOTA4ODU2NjA5LHlSPTMzMTQxNjczMCx0RT0xMTY3MCxuRT02NjczNSx1RT00MzcwOSx3OD00MzY0MixpRT02NzAwMixmRT02OTM3NSxlZj1cImZ1bmN0aW9uX2JvZHlfYW55XCIsY0U9MTE5ODA3LGdSPVwiQXNzZXJ0X2ZhaWx1cmVcIix0Zj1cImZ1bmN0aW9uX2lkZW50aWZpZXJcIixzRT02NTQ3OSxyNj0xMzEscnY9XCJuZXdcIixuZj1cImZvcl9vZl9sZWZ0X2RlY2xhcmF0aW9uXCIsYUU9MTIwMDg0LG9FPTEwMDM0Myx2RT03MzAzMCxfOD03MDQ1Mix3Uj0xMzQsbEU9MjUzLHBFPTQyOTU0LF9SPTIyNyx1Zj1cImpzeF9tZW1iZXJfZXhwcmVzc2lvbl9vYmplY3RcIixmZj1cImNsYXNzX3Byb3BlcnR5X3ZhbHVlXCIsa0U9MTIwMTQ0LG1FPTY2OTk0LFQzPVwic2V0XCIsaEU9MTI2NDk4LGNmPVwidHVwbGVfZWxlbWVudFwiLHNmPVwiYXJnX2xpc3RcIixkRT02NTQ4MSx5RT04NTExLGdFPTQyOTY0LHdFPTExNDkyLEUzPS0yNSxiOD0xMjY1NTUsX0U9NzEwMzksYkU9XCJleHBvcnRLaW5kXCIsYWY9XCJwcm9ncmFtXCIsVEU9NzAxODcsYlI9MTczLE50PVwiYXNcIixTMz0xMjQsVFI9XCJ2aXNpdF9sZWFkaW5nX2NvbW1lbnRcIixFRT0xMTA1NzUsb2Y9XCJjbGFzc19cIixTRT03MjQ0MCxBRT02Nzg5NyxFUj0yMzUsUEU9ODU0MyxTUj0xNDEsdmY9MTIwLGxmPVwibWF0Y2hfb2JqZWN0X3BhdHRlcm5fcHJvcGVydHlcIixlNj0xMDI0LElFPTEwMTY0MCxBUj0xMDI3LFBSPTIzNixBMz0yNDYsSVI9XCIoXCIsTkU9NjY1MTEscGY9XCJyZWdleHBfbGl0ZXJhbFwiLGpFPTY1NTc0LENFPTQzNTEzLE9FPTQzNjk1LE5SPVwiJiZcIixUOD0xMTU1OCxERT02NjUwMyxGRT05MzA3MSxrZj1cInBhdHRlcm5fZXhwcmVzc2lvblwiLFJFPTY1MzgxLEU4PTEyNjUzOCxMRT0xMjI5MixtZj1cImltcG9ydF9uYW1lc3BhY2Vfc3BlY2lmaWVyXCIsaGY9XCJtYXRjaF9zdGF0ZW1lbnRfY2FzZVwiLE1FPTY3NTgzLHFFPTEyMDEzNyxVRT02OTYyMixCRT0xMjA3NzAsWEU9NzExMzEsZXY9ODI4NyxZRT0xMTA1OTAsekU9NjUxMzUsS0U9XCJGYXRhbCBlcnJvcjogZXhjZXB0aW9uIFwiLFAzPTExOCxKRT0xODEsUzg9MTE2ODcsazE9XCJjYW1saW50ZXJuYWxGb3JtYXQubWxcIixHRT03Mjk1OSxXRT0yNDksZGY9XCJ1bmlvbl90eXBlXCIsalI9ODIwNixWRT03MzA2NCwkRT03MDI3MSxRRT05MjcyOCxBOD02NTM0NCxQOD0xMTY5NSx5Zj1cImNsYXNzX2RlY29yYXRvclwiLEhFPVwidGhlIGVuZCBvZiBhbiBleHByZXNzaW9uIHN0YXRlbWVudCAoYDtgKVwiLFpFPTE3Nzk4Myx4Uz04NDU3LENSPTkzMSxyUz02NjQ5OSxlUz05NDE3NSxPUj1cIiNcIixEUj0xNTEsdFM9XCJJZGVudGlmaWVyXCIsZ2Y9XCJmb3JfaW5fc3RhdGVtZW50X2xoc1wiLHdmPVwicGF0dGVybl9zdHJpbmdfbGl0ZXJhbFwiLEk4PTcwMzAyLE44PTEyNjQ5NixuUz02NjQ2MSx1Uz04Mjk0MyxqOD04NDUwLGlTPTcyMjcxLGZTPTcwODUzLGNTPVwib2ZcIixGUj1cIlN0YWNrX292ZXJmbG93XCIsdDY9XCJoYXNVbmtub3duTWVtYmVyc1wiLG42PVwiYVwiLF9mPVwidmFyaWFibGVfZGVjbGFyYXRvcl9wYXR0ZXJuXCIsc1M9NzMwNjEsYVM9Nzc3MTEsQzg9NjQzMTcsb1M9NzMwOTcsYmY9XCJlbnVtX2RlY2xhcmF0aW9uXCIsdlM9NjY5NjYsTzg9MTg5LGxTPTExOTk2NCxUZj1cInR5cGVfcGFyYW1cIixqdD03ODIxNzY2NjQsRDg9NjU1MzUsUlI9LTEwLHBTPTY0NDMzLEY4PTQzODE1LFI4PTk0MDMxLEw4PTczMDY1LGtTPTY5OTU4LE04PVwicHJvcGVydHlcIixFZj1cImpzeF9jaGlsZHJlblwiLFNmPVwibWVtYmVyX3Byb3BlcnR5X2lkZW50aWZpZXJcIixtUz00MjUzNyx1Nj1cImNvbnN0XCIsaFM9NzAyNzgsQWY9XCJlbnVtX3N0cmluZ19tZW1iZXJcIixpNj1cImxvY2FsXCIsUGY9XCJqc3hfZWxlbWVudF9uYW1lX2lkZW50aWZpZXJcIixkUz02ODIyMyxxOD1cIlx1MDAwMVx1MDAwMlwiLHlTPTExOTk2NyxVOD0xMTk5OTQsZ1M9NjY5OTMsSWY9XCJqc3hfbWVtYmVyX2V4cHJlc3Npb25faWRlbnRpZmllclwiLEI4PVwiZXhwbGljaXRUeXBlXCIsd1M9Njc1ODksX1M9NjU1OTcsYlM9XCJleHBvcnRlZFwiLFRTPTk0MTExLEVTPTExMzc3NSxOZj1cIm9iamVjdF9zcHJlYWRfcHJvcGVydHlfdHlwZVwiLFNTPTY0ODQ3LGpmPVwiY29tcG9uZW50X2lkZW50aWZpZXJcIixDZj1cImNsYXNzX2ltcGxlbWVudHNfaW50ZXJmYWNlXCIsTFI9MTYyLE1SPTI0MyxBUz0xMjc4MyxxUj1gRmF0YWwgZXJyb3I6IGV4Y2VwdGlvbiAlc1xuYCxYOD0xMjAwOTMsZjY9XCJjb2x1bW5cIixPZj1cImNvbXBvbmVudF9yZXN0X3BhcmFtXCIsUFM9NzA0NTEsSVM9NzAzMTIsTlM9Njk5NjcsWTg9NzAyNzksalM9NjY0NjMsQ1M9OTI5NzUsejg9NzAyODYsRGY9XCJwYXR0ZXJuX29iamVjdF9wcm9wZXJ0eV9jb21wdXRlZF9rZXlcIixGZj1cIm9iamVjdF9rZXlfc3RyaW5nX2xpdGVyYWxcIixPUz1cImpzRXJyb3JcIixSZj1cInR5cGVfYXJnc1wiLERTPTgzMDQsVVI9XCI9PVwiLHR2PTExNSxMZj1cImRlY2xhcmVfY29tcG9uZW50XCIsRlM9MTIwMDkyLFJTPTQzNjM4LExTPTY2ODExLE1TPTQzMzM0LHFTPTY2ODYzLFVTPTc3ODIzLE1mPVwib3B0aW9uYWxfY2FsbFwiLEJTPTEyNjU2MixLOD03MDE2MixCZT0xMDQsWFM9NjY5NjMsbnY9XCJhd2FpdFwiLEo4PTcwMTA3LFkxPVwiMFwiLFlTPTcyMjUwLHpTPTg1MDcsQlI9MjkxLEtTPTEwMDM1MSxHOD1cIkFzc2lnbm1lbnRQYXR0ZXJuXCIscWY9XCJ0eXBlXCIsWFI9XCIldVwiLFVmPVwiZnVuY3Rpb25fZXhwcmVzc2lvbl9vcl9tZXRob2RcIixKUz00MzQ3MCxZUj0yNDIselI9XCJjYW1saW50ZXJuYWxNb2QubWxcIixCZj1cIm1hdGNoX29yX3BhdHRlcm5cIixHUz03Mjc1MCxXUz02OTQxNCxWUz02NTM3MCxYZj1cInN5bnRheFwiLEtSPTMyNzUyLCRTPTQyOTYzLEpSPVwiRW5kX29mX2ZpbGVcIixRUz0xMjI5NCxIUz04NDcxLEdSPVwiZWxlbWVudFR5cGVcIixaUz00Mzc4MixXUj1cIisrXCIseEE9NDM2NDEsckE9NzE5NDQsZUE9MTI2NjAxLHRBPTc4ODk0LG5BPS00NSx1dj1cIm51bGxcIixWUj0xNzcsJFI9XCJzYXRpc2ZpZXNcIix1QT0xMzEwNzEsWWY9XCJpbXBvcnRfc3BlY2lmaWVyXCIsemY9XCJjbGFzc19tZXRob2RcIixLZj1cInR5cGVfXCIsaUE9MTI2NTE0LGZBPTg0NTQsUVI9XCJpbmV4YWN0XCIsY0E9Njc4MDcsc0E9ODUyNSxhQT02NTQ3MCxvQT03MTM1MixKZj1cInR1cGxlX3NwcmVhZF9lbGVtZW50XCIsdkE9MjE5LGxBPVwiYWJzdHJhY3RcIixwQT03MzQ1OCxYZT1cInJldHVyblwiLGM2PTY1NTM2LFc4PTEyNjU0OCxHZj1cImFycmF5X2VsZW1lbnRcIixrQT0tMjUzMzEzMTk2LG1BPTE4NixWOD1cImNhdGNoXCIsV2Y9XCJpbmZlcl90eXBlXCIsaEE9MTIyOTUsSFI9XCJJbnZhbGlkIGxlZ2FjeSBvY3RhbCBcIixkQT02OTc2Mix5QT00MzMxMSxnQT02NTQzNyxWZj1cInZhcmlhYmxlX2RlY2xhcmF0aW9uXCIsWlI9LTY5NjUxMDI0MSwkZj1cImZ1bmN0aW9uX3BhcmFtc1wiLHhMPTMwNyx3QT02NDMxNiwkOD0xMTU2NSxyTD1cImluZmluaXR5XCIsX0E9XCJAXVwiLGJBPTY1OTA4LFFmPVwiZXh0ZW5kc1wiLFRBPTY2MjA0LEVBPTQzNzg0LFNBPTExNzQyLFE4PTEyNjUwMyxZZT1cImRlYnVnZ2VyXCIsQUE9NzA0NTcseGE9LTg2LHM2PTkxMjA2ODM2NixQQT02ODc4NixIOD1cImtleW9mXCIsWjg9Njk0MTUsSUE9MTI2ODYsdG49MTI3MzQzNjAwLEhmPVwiZGVjbGFyZV90eXBlX2FsaWFzXCIsZUw9XCJ0aGVcIix0TD0yMzMsWmY9XCJqc3hfZWxlbWVudF9uYW1lX25hbWVzcGFjZWRcIixOQT03MjI4MyxuTD0xNjEseGM9XCJmdW5jdGlvbl9wYXJhbV90eXBlXCIsQ3Q9MTI4LGpBPS02NzM5NTA5MzMseG09MTI2NTkxLHVMPVwiU3lzX2Vycm9yXCIsQ0E9NzQ2NDksT0E9NzQ4NjIsYTY9XCJpc1wiLERBPTQzNzM4LEZBPTY4NDc5LGlMPTE5NixybT03MDg1NCxyYz1cImVudW1fYm9vbGVhbl9tZW1iZXJcIixlYz1cIm1hdGNoX2V4cHJlc3Npb25fY2FzZVwiLGVtPTcyMTYzLFJBPTkyNzgzLGZMPTI4MSx0Yz1cImNvbXBvbmVudF9wYXJhbV9uYW1lXCIsTEE9Njg4NjMsbm49MzI3NjgsY0w9MjA0OCxNQT02NDI4NCxzTD1cIkB7XCIscUE9XCJcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcIix0bT04NDU1LG5jPVwidXBkYXRlX2V4cHJlc3Npb25cIixVQT02NTUwMCxvNj1cImZyb21cIixCQT02ODQ0NyxubT0xMjU5MixYQT05Mjc2NixhTD1cIj4+PVwiLHoxPTExMCxZQT02NjQzMSx6QT00MzU4Nix1Yz1cImpzeF9pZGVudGlmaWVyXCIsS0E9XCIgOiBmaWxlIGFscmVhZHkgZXhpc3RzXCIsTTI9MTI4LEpBPTcxOTU4LEdBPTY2NzE3LGljPVwiZW51bV9ib29sZWFuX2JvZHlcIixXQT02NDI2MixWcj1cImlkXCIsZmM9XCJjb21wb25lbnRfcmVuZGVyc19hbm5vdGF0aW9uXCIsVkE9NDI4ODgsJEE9ODU4NCxRQT03MzAwOCxjYz1cImVudW1fc3ltYm9sX2JvZHlcIixzYz1cImRlY2xhcmVfbmFtZXNwYWNlXCIsdW09NzI3MTMsSEE9NTUyMTUsYWM9XCJvYmplY3RfcHJvcGVydHlfdmFsdWVfdHlwZVwiLG9jPVwiZm9yX2luX2Fzc2lnbm1lbnRfcGF0dGVyblwiLGltPTg0ODUsWkE9NDMzOTUsb0w9MjI5LHJhPVwidHJ1ZVwiLHhQPTQzNzQzLHZjPVwiZW51bV9udW1iZXJfbWVtYmVyXCIsdkw9MjM0LHJQPTcyOTY5LGxMPVwiZXhwZWN0ZWQgKlwiLGcxPTEwMixwTD0yMDAsdjY9XCJzeW1ib2xcIixpdj1cInNvdXJjZVwiLGVQPTQzNzE0LGxjPVwianN4X2ZyYWdtZW50XCIscGM9XCJqc3hfYXR0cmlidXRlX25hbWVfaWRlbnRpZmllclwiLGw2PVwicHVibGljXCIsdFA9NDM0NDIsa2M9XCJwYXR0ZXJuX29iamVjdF9wcm9wZXJ0eVwiLG5QPTY1Nzg2LHVQPTcwNzgzLGlQPTQzNzEzLGZQPTcyMTYwLGtMPVwiKi0vXCIsbWM9XCJleHBvcnRfbmFtZWRfc3BlY2lmaWVyXCIsaGM9XCJhcnJvd19mdW5jdGlvblwiLGNQPTEyMjYyMyxmbT03MDAwNixtTD1cIiR7XCIsc1A9NDM4MTQsZGM9XCJnZW5lcmljX3F1YWxpZmllZF9pZGVudGlmaWVyX3R5cGVcIixoTD0xOTkseWM9XCJqc3hfc3ByZWFkX2NoaWxkXCIsY209ODQ4OSxwNj0xODQsZEw9MjA0NyxhUD02Njk1NSxnYz1cInRyeV9jYXRjaFwiLG9QPTcwNDk3LHlMPTIzNyx2UD02NzQzMSxsUD0xMjUxODMsZ0w9LTYwMjE2MjMxMCx1bj1cInBhcmFtc1wiLHBQPVwiY29uc2VxdWVudFwiLGtQPTY4MDI5LG1QPTY3ODI5LGhQPTY4MDk1LHdjPVwiZW51bV9zdHJpbmdfYm9keVwiLGRQPTkzODIzLHlQPTY4MzUxLGdQPTY1NDk1LF9jPVwiZGVjbGFyZV9tb2R1bGVcIixiYz1cImJvZHlfZXhwcmVzc2lvblwiLHdQPTY2MTc1LHdMPTE5MSxzbT03MDQ0MSxhbT02NTE0MSxvbT1cIiZcIixUYz1cInN1cGVyX2V4cHJlc3Npb25cIix2bT0xMjY1NjQsX1A9NzIxMDUsdlMwPVwiZnNcIix6ZT1cInRocm93XCIsYlA9NjgyODcsVFA9Njc4MzksV2E9MTE2LEVQPTExMDg4MixTUD02OTQwNCxBUD0xMjMxOTcsZnY9NjUyNzksSTM9XCJzcmMvcGFyc2VyL3R5cGVfcGFyc2VyLm1sXCIsUFA9NjgxMTUsX0w9MjU5LGxtPTEyNjU0NyxwbT0xMjY1NTYsSVA9NzMwNTUsRWM9XCJtZW1iZXJfcHJvcGVydHlfZXhwcmVzc2lvblwiLFNjPVwiZW51bV9kZWZhdWx0ZWRfbWVtYmVyXCIsTlA9NDMwNzEsalA9MTE3MjYsQWM9XCJjb21wb25lbnRfdHlwZV9yZXN0X3BhcmFtXCIsQ1A9Njg2MDcsUGM9XCJvYmplY3Rfa2V5XCIsYkw9MTYwLEsxPVwidmFyaWFuY2VcIixPUD03MDY1NSxEUD03MDQxNCxOMz1cInN1cGVyXCIsRlA9MTIzNTgzLFJQPTY1NTk0LGs2PVwibWV0aG9kXCIsTFA9NzM2NDgsbTY9MTIxLE1QPTkzOTUxLEljPVwicGF0dGVybl9hcnJheV9lbGVtZW50X3BhdHRlcm5cIixxUD00Mzc2NCxVUD00Mjk5MyxrbT0xMjAxNDUsQlA9NzQ4NzksWFA9MTY4LG1tPTg0ODYsWVA9NzIwMDEsTmM9XCJ0YWdnZWRfdGVtcGxhdGVcIixqYz1cIm1vZHVsZV9yZWZfbGl0ZXJhbFwiLHpQPTY1MzEyLGN2PVwiaW1wbGVtZW50c1wiLEtQPTQzNzAwLEpQPTEyMDAwMyxUTD1cIkludmFsaWRfYXJndW1lbnRcIixDYz0xNjc3NzIxNSxHUD04MzUyNixobT02OTc0NCxkbT0xMjMzNixPYz1cInN3aXRjaF9jYXNlXCIsRUw9LTYxLERjPVwib3B0aW9uYWxfbWVtYmVyXCIsV1A9NjQyNzQseW09NjQzMjIsZ209MTI2NTMwLFZQPTcxOTk4LHdtPTcyOTcwLCRQPTEzMzExLFFQPTczNjQ3LEhQPTEyMDA3NCxqMz1cImxldFwiLEZjPVwiZXhwcmVzc2lvbl9zdGF0ZW1lbnRcIixSYz1cImNvbXBvbmVudF90eXBlX3BhcmFtc1wiLFpQPTUxMix4ST02OTYzNCxyST02NzQ2MSxlST0xMjM2MjcsdEk9NjQ5MTMsU0w9XCJjaGlsZHJlblwiLEFMPVwiUHJvcGVydHlEZWZpbml0aW9uXCIsUEw9MTAyNixJTD1cIiVsaVwiLExjPVwiZGVjbGFyZV9jbGFzc1wiLG5JPTQzMjU4LE1jPVwiaW5kZXhlZF9hY2Nlc3NfdHlwZVwiLE5MPTE1Nyx1ST0xMjQ5MjYsZWE9MTEyLGlJPVwiYlwiLHFjPVwicHJlZGljYXRlX2V4cHJlc3Npb25cIixVYz1cImlmX2FsdGVybmF0ZV9zdGF0ZW1lbnRcIixoNj1cInByaXZhdGVcIixqTD0tNTk0OTUzNzM3LENMPTE0MCxmST1cIm5hblwiLGNJPTcyMTAzLF9tPTExNzM1LEJjPVwic3RhdGVtZW50XCIsc0k9XCJybWRpclwiLGJtPTY2NTEyLGFJPVwibWF0Y2hcIixPTD0xOTgsb0k9MTE3MzQsWGM9XCJpbXBvcnRfbmFtZWRfc3BlY2lmaWVyXCIsdkk9Njk1OTksbEk9Njg3OTkscEk9MTk0NTU5LFljPVwibWF0Y2hfYXJyYXlfcGF0dGVyblwiLERMPTE3NCx6Yz1cImZ1bmN0aW9uX1wiLEtjPVwiYmlnaW50X2xpdGVyYWxcIixuMj0yNDgsVG09Njc2MzgsRW09MTI2NTM5LGtJPTExNTU3LEZMPTIxNCxtST01NzYwLEtlPVwiYnJlYWtcIixmbj1cImJsb2NrXCIsSmM9XCJtYXRjaF9tZW1iZXJfcGF0dGVyblwiLGhJPTEyMzU2NSxkST02NjgxNSxnMj1cInZhbHVlXCIsUkw9MTAzOTEwMDY3Myx5ST02OTc0NixnST03MDQ0OCx3ST03NDc1MSxHYz1cImluaXRcIixfST02OTU1MSxTbT02NTU0OCxXYz1cImpzeF9tZW1iZXJfZXhwcmVzc2lvblwiLEFtPTY4MDk2LHN2PTEwOCxQbT0xMjY1MjEsYkk9NzE0ODcsVmM9XCJtYXRjaF9zdGF0ZW1lbnRcIixUST0xNzgyMDUsRUk9MTI1NDgsTEw9XCIgOiBpcyBhIGRpcmVjdG9yeVwiLGNuPVwiLlwiLFNJPTEyMzQ4LEMzPS04MzU5MjU5MTEsSjE9XCJ0eXBlUGFyYW1ldGVyc1wiLEFJPTY2ODU1LHUxPVwidHlwZUFubm90YXRpb25cIixhdj1cImJpZ2ludFwiLCRjPVwianN4X2F0dHJpYnV0ZV92YWx1ZV9saXRlcmFsXCIsUEk9MTk0LE1MPVwiVF9KU1hfVEVYVFwiLElJPTY4NDY2LEltPTEyNjUzNyxxTD02NzcxNDA2NyxOST02OTQ4NyxVTD0yNzEsTm09XCJleHBvcnRcIixqST00MzgyMixqbT0xMjY0OTksQ0k9NTUyNDIsUWM9XCJtZW1iZXJfdHlwZV9pZGVudGlmaWVyXCIsT0k9MTM4LERJPTcxNjc5LGQ2PTEzMCxGST0xMjQzOCxSST0xMTk5NjksQ209MTI1MzksTEk9MTE5OTcyLEJMPVwiLFwiLE1JPTcxNDIzLHFJPVwiaW5kZXggb3V0IG9mIGJvdW5kc1wiLEplPTEwNixPMz1cIiVkXCIsWEw9XCJUX1JFTkRFUlNfUVVFU1RJT05cIixPbT0xMjA1NzEsRG09XCJyZXR1cm5UeXBlXCIsVUk9Njk0MjMsRm09MTIwMDcwLFlMPVwiJVwiLHk2PTExNyx6TD0xNzksQkk9XCJFQkFERlwiLFhJPTkzNzU5LFJtPTY0MzI1LEhjPVwiY29tcG9uZW50X3BhcmFtc1wiLFlJPTY2NTE3LHpJPTY3NDIzLEtJPTYwNTg1NzY5NSxKST00MzUxOCxLTD0yNTEsWmM9XCJmb3Jfb2Zfc3RhdGVtZW50XCIsR0k9NzE5ODMsSkw9XCJ+XCIsV0k9MTI0NDIsR2U9XCJzd2l0Y2hcIixWST02NjIwNyxMbT0xMjY1MzUsR0w9XCImJj1cIiwkST02OTI4OSxRST03MTcyMyx4cz1cImdlbmVyaWNfaWRlbnRpZmllcl90eXBlXCIsSEk9MTI2NjE5LHJzPVwib2JqZWN0X3R5cGVfcHJvcGVydHlfc2V0dGVyXCIsWkk9NzA0MTgsV0w9XCI8PVwiLHhOPTEyNTI1MSxyTj0xMTcwMixlcz1cImVudW1fbnVtYmVyX2JvZHlcIixEMz0yNTAsZU49MTI0OTEwLHROPTY5Mjk3LG5OPTY3NDU1LHVOPTQyNTExLHRzPVwidHNfc2F0aXNmaWVzXCIsVkw9Mjg2LGlOPTY4MzI0LE1tPVwiYW4gaWRlbnRpZmllclwiLGZOPTEyNjUzNCxzbj0xMDMsY049MTIwMTI2LEYzPTQ0OTU0MDE5NyxnNj1cImRlY2xhcmVcIixzTj02ODg5OSxhTj0xMjY1MDIsbnM9XCJmdW5jdGlvbl9leHByZXNzaW9uXCIsJEw9MTQyLG9OPTEyMzEzNSx2Tj02Nzk2NyxsTj0xMjA0ODcscE49MTIwNjg2LHVzPVwiZXhwb3J0X25hbWVkX2RlY2xhcmF0aW9uXCIsa049NjYzNDgscW09MTE5OTgxLG1OPTEyMzUyLGlzPVwidHVwbGVfdHlwZVwiLGhOPTY4NjgwLFVtPVwidGFyZ2V0XCIsZnM9XCJjYWxsXCI7ZnVuY3Rpb24gZHooeCxyLGUsdCx1KXtpZih0PD1yKWZvcih2YXIgaT0xO2k8PXU7aSsrKWVbdCtpXT14W3IraV07ZWxzZSBmb3IodmFyIGk9dTtpPj0xO2ktLSllW3QraV09eFtyK2ldO3JldHVybiAwfWZ1bmN0aW9uIHl6KHgpe2Zvcih2YXIgcj1bMF07eCE9PTA7KXtmb3IodmFyIGU9eFsxXSx0PTE7dDxlLmxlbmd0aDt0Kyspci5wdXNoKGVbdF0pO3g9eFsyXX1yZXR1cm4gcn1mdW5jdGlvbiBneih4LHIsZSl7dmFyIHQ9bmV3IEFycmF5KGUrMSk7dFswXT0wO2Zvcih2YXIgdT0xLGk9cisxO3U8PWU7dSsrLGkrKyl0W3VdPXhbaV07cmV0dXJuIHR9ZnVuY3Rpb24gQm0oeCxyLGUpe3JldHVybiB4WzFdPT09cj8oeFsxXT1lLDEpOjB9ZnVuY3Rpb24gd3ooeCxyKXt2YXIgZT14WzFdO3JldHVybiB4WzFdKz1yLGV9ZnVuY3Rpb24gUjMoeCl7cmV0dXJuIHhbMV19ZnVuY3Rpb24gUUwoeCl7dmFyIHI9bzAucHJvY2VzcztpZihyJiZyLmVudiYmci5lbnZbeF0hPW51bGwpcmV0dXJuIHIuZW52W3hdO2lmKG8wLmpzb29fc3RhdGljX2VudiYmbzAuanNvb19zdGF0aWNfZW52W3hdKXJldHVybiBvMC5qc29vX3N0YXRpY19lbnZbeF19dmFyIGROPTA7KGZ1bmN0aW9uKCl7dmFyIHg9UUwoXCJPQ0FNTFJVTlBBUkFNXCIpO2lmKHghPT12b2lkIDApZm9yKHZhciByPXguc3BsaXQoQkwpLGU9MDtlPHIubGVuZ3RoO2UrKylpZihyW2VdPT1pSSl7ZE49MTticmVha31lbHNlIGlmKHJbZV0uc3RhcnRzV2l0aChcImI9XCIpKWROPStyW2VdLnNsaWNlKDIpO2Vsc2UgY29udGludWV9KSgpO3ZhciBHMT1bMF07ZnVuY3Rpb24gX3ooeCxyKXtyZXR1cm4oIXguanNfZXJyb3J8fHJ8fHhbMF09PW4yKSYmKHguanNfZXJyb3I9bmV3IG8wLkVycm9yKFwiSnMgZXhjZXB0aW9uIGNvbnRhaW5pbmcgYmFja3RyYWNlXCIpKSx4fWZ1bmN0aW9uIFcwKHgscil7cmV0dXJuIGROP196KHgscik6eH1mdW5jdGlvbiBieih4LHIpe3Rocm93IFcwKFswLHgscl0pfWZ1bmN0aW9uIGxTMCh4KXtyZXR1cm4geH1mdW5jdGlvbiB5Tih4LHIpe2J6KHgscil9ZnVuY3Rpb24gaTEoeCl7eU4oRzEuSW52YWxpZF9hcmd1bWVudCx4KX1mdW5jdGlvbiBITCh4KXtzd2l0Y2goeCl7Y2FzZSA3OmNhc2UgMTA6Y2FzZSAxMTpyZXR1cm4gMjtkZWZhdWx0OnJldHVybiAxfX1mdW5jdGlvbiBaTCh4LHIpe3ZhciBlO3N3aXRjaCh4KXtjYXNlIDA6ZT1GbG9hdDMyQXJyYXk7YnJlYWs7Y2FzZSAxOmU9RmxvYXQ2NEFycmF5O2JyZWFrO2Nhc2UgMjplPUludDhBcnJheTticmVhaztjYXNlIDM6ZT1VaW50OEFycmF5O2JyZWFrO2Nhc2UgNDplPUludDE2QXJyYXk7YnJlYWs7Y2FzZSA1OmU9VWludDE2QXJyYXk7YnJlYWs7Y2FzZSA2OmU9SW50MzJBcnJheTticmVhaztjYXNlIDc6ZT1JbnQzMkFycmF5O2JyZWFrO2Nhc2UgODplPUludDMyQXJyYXk7YnJlYWs7Y2FzZSA5OmU9SW50MzJBcnJheTticmVhaztjYXNlIDEwOmU9RmxvYXQzMkFycmF5O2JyZWFrO2Nhc2UgMTE6ZT1GbG9hdDY0QXJyYXk7YnJlYWs7Y2FzZSAxMjplPVVpbnQ4QXJyYXk7YnJlYWt9ZXx8aTEoXCJCaWdhcnJheS5jcmVhdGU6IHVuc3VwcG9ydGVkIGtpbmRcIik7dmFyIHQ9bmV3IGUocipITCh4KSk7cmV0dXJuIHR9ZnVuY3Rpb24gWG0oeCl7Zm9yKHZhciByPXgubGVuZ3RoLGU9MSx0PTA7dDxyO3QrKyl4W3RdPDAmJmkxKFwiQmlnYXJyYXkuY3JlYXRlOiBuZWdhdGl2ZSBkaW1lbnNpb25cIiksZT1lKnhbdF07cmV0dXJuIGV9dmFyIHhNPU1hdGgucG93KDIsLTI0KTtmdW5jdGlvbiByTSh4KXt0aHJvdyB4fWZ1bmN0aW9uIGVNKCl7ck0oRzEuRGl2aXNpb25fYnlfemVybyl9ZnVuY3Rpb24gZXIoeCxyLGUpe3RoaXMubG89eCZDYyx0aGlzLm1pPXImQ2MsdGhpcy5oaT1lJlp0fWVyLnByb3RvdHlwZS5jYW1sX2N1c3RvbT1cIl9qXCIsZXIucHJvdG90eXBlLmNvcHk9ZnVuY3Rpb24oKXtyZXR1cm4gbmV3IGVyKHRoaXMubG8sdGhpcy5taSx0aGlzLmhpKX0sZXIucHJvdG90eXBlLnVjb21wYXJlPWZ1bmN0aW9uKHgpe3JldHVybiB0aGlzLmhpPnguaGk/MTp0aGlzLmhpPHguaGk/LTE6dGhpcy5taT54Lm1pPzE6dGhpcy5taTx4Lm1pPy0xOnRoaXMubG8+eC5sbz8xOnRoaXMubG88eC5sbz8tMTowfSxlci5wcm90b3R5cGUuY29tcGFyZT1mdW5jdGlvbih4KXt2YXIgcj10aGlzLmhpPDwxNixlPXguaGk8PDE2O3JldHVybiByPmU/MTpyPGU/LTE6dGhpcy5taT54Lm1pPzE6dGhpcy5taTx4Lm1pPy0xOnRoaXMubG8+eC5sbz8xOnRoaXMubG88eC5sbz8tMTowfSxlci5wcm90b3R5cGUubmVnPWZ1bmN0aW9uKCl7dmFyIHg9LXRoaXMubG8scj0tdGhpcy5taSsoeD4+MjQpLGU9LXRoaXMuaGkrKHI+PjI0KTtyZXR1cm4gbmV3IGVyKHgscixlKX0sZXIucHJvdG90eXBlLmFkZD1mdW5jdGlvbih4KXt2YXIgcj10aGlzLmxvK3gubG8sZT10aGlzLm1pK3gubWkrKHI+PjI0KSx0PXRoaXMuaGkreC5oaSsoZT4+MjQpO3JldHVybiBuZXcgZXIocixlLHQpfSxlci5wcm90b3R5cGUuc3ViPWZ1bmN0aW9uKHgpe3ZhciByPXRoaXMubG8teC5sbyxlPXRoaXMubWkteC5taSsocj4+MjQpLHQ9dGhpcy5oaS14LmhpKyhlPj4yNCk7cmV0dXJuIG5ldyBlcihyLGUsdCl9LGVyLnByb3RvdHlwZS5tdWw9ZnVuY3Rpb24oeCl7dmFyIHI9dGhpcy5sbyp4LmxvLGU9KHIqeE18MCkrdGhpcy5taSp4LmxvK3RoaXMubG8qeC5taSx0PShlKnhNfDApK3RoaXMuaGkqeC5sbyt0aGlzLm1pKngubWkrdGhpcy5sbyp4LmhpO3JldHVybiBuZXcgZXIocixlLHQpfSxlci5wcm90b3R5cGUuaXNaZXJvPWZ1bmN0aW9uKCl7cmV0dXJuKHRoaXMubG98dGhpcy5taXx0aGlzLmhpKT09MH0sZXIucHJvdG90eXBlLmlzTmVnPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuaGk8PDE2PDB9LGVyLnByb3RvdHlwZS5hbmQ9ZnVuY3Rpb24oeCl7cmV0dXJuIG5ldyBlcih0aGlzLmxvJngubG8sdGhpcy5taSZ4Lm1pLHRoaXMuaGkmeC5oaSl9LGVyLnByb3RvdHlwZS5vcj1mdW5jdGlvbih4KXtyZXR1cm4gbmV3IGVyKHRoaXMubG98eC5sbyx0aGlzLm1pfHgubWksdGhpcy5oaXx4LmhpKX0sZXIucHJvdG90eXBlLnhvcj1mdW5jdGlvbih4KXtyZXR1cm4gbmV3IGVyKHRoaXMubG9eeC5sbyx0aGlzLm1pXngubWksdGhpcy5oaV54LmhpKX0sZXIucHJvdG90eXBlLnNoaWZ0X2xlZnQ9ZnVuY3Rpb24oeCl7cmV0dXJuIHg9eCY2Myx4PT0wP3RoaXM6eDwyND9uZXcgZXIodGhpcy5sbzw8eCx0aGlzLm1pPDx4fHRoaXMubG8+PjI0LXgsdGhpcy5oaTw8eHx0aGlzLm1pPj4yNC14KTp4PDQ4P25ldyBlcigwLHRoaXMubG88PHgtMjQsdGhpcy5taTw8eC0yNHx0aGlzLmxvPj40OC14KTpuZXcgZXIoMCwwLHRoaXMubG88PHgtNDgpfSxlci5wcm90b3R5cGUuc2hpZnRfcmlnaHRfdW5zaWduZWQ9ZnVuY3Rpb24oeCl7cmV0dXJuIHg9eCY2Myx4PT0wP3RoaXM6eDwyND9uZXcgZXIodGhpcy5sbz4+eHx0aGlzLm1pPDwyNC14LHRoaXMubWk+Pnh8dGhpcy5oaTw8MjQteCx0aGlzLmhpPj54KTp4PDQ4P25ldyBlcih0aGlzLm1pPj54LTI0fHRoaXMuaGk8PDQ4LXgsdGhpcy5oaT4+eC0yNCwwKTpuZXcgZXIodGhpcy5oaT4+eC00OCwwLDApfSxlci5wcm90b3R5cGUuc2hpZnRfcmlnaHQ9ZnVuY3Rpb24oeCl7aWYoeD14JjYzLHg9PTApcmV0dXJuIHRoaXM7dmFyIHI9dGhpcy5oaTw8MTY+PjE2O2lmKHg8MjQpcmV0dXJuIG5ldyBlcih0aGlzLmxvPj54fHRoaXMubWk8PDI0LXgsdGhpcy5taT4+eHxyPDwyNC14LHRoaXMuaGk8PDE2Pj54Pj4+MTYpO3ZhciBlPXRoaXMuaGk8PDE2Pj4zMTtyZXR1cm4geDw0OD9uZXcgZXIodGhpcy5taT4+eC0yNHx0aGlzLmhpPDw0OC14LHRoaXMuaGk8PDE2Pj54LTI0Pj4xNixlJlp0KTpuZXcgZXIodGhpcy5oaTw8MTY+PngtMzIsZSxlKX0sZXIucHJvdG90eXBlLmxzbDE9ZnVuY3Rpb24oKXt0aGlzLmhpPXRoaXMuaGk8PDF8dGhpcy5taT4+MjMsdGhpcy5taT0odGhpcy5taTw8MXx0aGlzLmxvPj4yMykmQ2MsdGhpcy5sbz10aGlzLmxvPDwxJkNjfSxlci5wcm90b3R5cGUubHNyMT1mdW5jdGlvbigpe3RoaXMubG89KHRoaXMubG8+Pj4xfHRoaXMubWk8PDIzKSZDYyx0aGlzLm1pPSh0aGlzLm1pPj4+MXx0aGlzLmhpPDwyMykmQ2MsdGhpcy5oaT10aGlzLmhpPj4+MX0sZXIucHJvdG90eXBlLnVkaXZtb2Q9ZnVuY3Rpb24oeCl7Zm9yKHZhciByPTAsZT10aGlzLmNvcHkoKSx0PXguY29weSgpLHU9bmV3IGVyKDAsMCwwKTtlLnVjb21wYXJlKHQpPjA7KXIrKyx0LmxzbDEoKTtmb3IoO3I+PTA7KXItLSx1LmxzbDEoKSxlLnVjb21wYXJlKHQpPj0wJiYodS5sbysrLGU9ZS5zdWIodCkpLHQubHNyMSgpO3JldHVybntxdW90aWVudDp1LG1vZHVsdXM6ZX19LGVyLnByb3RvdHlwZS5kaXY9ZnVuY3Rpb24oeCl7dmFyIHI9dGhpczt4LmlzWmVybygpJiZlTSgpO3ZhciBlPXIuaGleeC5oaTtyLmhpJm5uJiYocj1yLm5lZygpKSx4LmhpJm5uJiYoeD14Lm5lZygpKTt2YXIgdD1yLnVkaXZtb2QoeCkucXVvdGllbnQ7cmV0dXJuIGUmbm4mJih0PXQubmVnKCkpLHR9LGVyLnByb3RvdHlwZS5tb2Q9ZnVuY3Rpb24oeCl7dmFyIHI9dGhpczt4LmlzWmVybygpJiZlTSgpO3ZhciBlPXIuaGk7ci5oaSZubiYmKHI9ci5uZWcoKSkseC5oaSZubiYmKHg9eC5uZWcoKSk7dmFyIHQ9ci51ZGl2bW9kKHgpLm1vZHVsdXM7cmV0dXJuIGUmbm4mJih0PXQubmVnKCkpLHR9LGVyLnByb3RvdHlwZS50b0ludD1mdW5jdGlvbigpe3JldHVybiB0aGlzLmxvfHRoaXMubWk8PDI0fSxlci5wcm90b3R5cGUudG9GbG9hdD1mdW5jdGlvbigpe3JldHVybih0aGlzLmhpPDwxNikqTWF0aC5wb3coMiwzMikrdGhpcy5taSpNYXRoLnBvdygyLDI0KSt0aGlzLmxvfSxlci5wcm90b3R5cGUudG9BcnJheT1mdW5jdGlvbigpe3JldHVyblt0aGlzLmhpPj44LHRoaXMuaGkmSnMsdGhpcy5taT4+MTYsdGhpcy5taT4+OCZKcyx0aGlzLm1pJkpzLHRoaXMubG8+PjE2LHRoaXMubG8+PjgmSnMsdGhpcy5sbyZKc119LGVyLnByb3RvdHlwZS5sbzMyPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubG98KHRoaXMubWkmSnMpPDwyNH0sZXIucHJvdG90eXBlLmhpMzI9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5taT4+PjgmWnR8dGhpcy5oaTw8MTZ9O2Z1bmN0aW9uIFR6KHgscil7cmV0dXJuIG5ldyBlcih4JkNjLHg+Pj4yNCZKc3wociZadCk8PDgscj4+PjE2Jlp0KX1mdW5jdGlvbiBnTih4KXtyZXR1cm4geC5oaTMyKCl9ZnVuY3Rpb24gd04oeCl7cmV0dXJuIHgubG8zMigpfWZ1bmN0aW9uIHc2KCl7aTEocUkpfXZhciBFej1nODtmdW5jdGlvbiBWYSh4LHIsZSx0KXt0aGlzLmtpbmQ9eCx0aGlzLmxheW91dD1yLHRoaXMuZGltcz1lLHRoaXMuZGF0YT10fVZhLnByb3RvdHlwZS5jYW1sX2N1c3RvbT1FeixWYS5wcm90b3R5cGUub2Zmc2V0PWZ1bmN0aW9uKHgpe3ZhciByPTA7aWYodHlwZW9mIHg9PVwibnVtYmVyXCImJih4PVt4XSkseCBpbnN0YW5jZW9mIEFycmF5fHxpMShcImJpZ2FycmF5LmpzOiBpbnZhbGlkIG9mZnNldFwiKSx0aGlzLmRpbXMubGVuZ3RoIT14Lmxlbmd0aCYmaTEoXCJCaWdhcnJheS5nZXQvc2V0OiBiYWQgbnVtYmVyIG9mIGRpbWVuc2lvbnNcIiksdGhpcy5sYXlvdXQ9PTApZm9yKHZhciBlPTA7ZTx0aGlzLmRpbXMubGVuZ3RoO2UrKykoeFtlXTwwfHx4W2VdPj10aGlzLmRpbXNbZV0pJiZ3NigpLHI9cip0aGlzLmRpbXNbZV0reFtlXTtlbHNlIGZvcih2YXIgZT10aGlzLmRpbXMubGVuZ3RoLTE7ZT49MDtlLS0pKHhbZV08MXx8eFtlXT50aGlzLmRpbXNbZV0pJiZ3NigpLHI9cip0aGlzLmRpbXNbZV0rKHhbZV0tMSk7cmV0dXJuIHJ9LFZhLnByb3RvdHlwZS5nZXQ9ZnVuY3Rpb24oeCl7c3dpdGNoKHRoaXMua2luZCl7Y2FzZSA3OnZhciByPXRoaXMuZGF0YVt4KjIrMF0sZT10aGlzLmRhdGFbeCoyKzFdO3JldHVybiBUeihyLGUpO2Nhc2UgMTA6Y2FzZSAxMTp2YXIgdD10aGlzLmRhdGFbeCoyKzBdLHU9dGhpcy5kYXRhW3gqMisxXTtyZXR1cm5bZDMsdCx1XTtkZWZhdWx0OnJldHVybiB0aGlzLmRhdGFbeF19fSxWYS5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHgscil7c3dpdGNoKHRoaXMua2luZCl7Y2FzZSA3OnRoaXMuZGF0YVt4KjIrMF09d04ociksdGhpcy5kYXRhW3gqMisxXT1nTihyKTticmVhaztjYXNlIDEwOmNhc2UgMTE6dGhpcy5kYXRhW3gqMiswXT1yWzFdLHRoaXMuZGF0YVt4KjIrMV09clsyXTticmVhaztkZWZhdWx0OnRoaXMuZGF0YVt4XT1yO2JyZWFrfXJldHVybiAwfSxWYS5wcm90b3R5cGUuZmlsbD1mdW5jdGlvbih4KXtzd2l0Y2godGhpcy5raW5kKXtjYXNlIDc6dmFyIHI9d04oeCksZT1nTih4KTtpZihyPT1lKXRoaXMuZGF0YS5maWxsKHIpO2Vsc2UgZm9yKHZhciB0PTA7dDx0aGlzLmRhdGEubGVuZ3RoO3QrKyl0aGlzLmRhdGFbdF09dCUyPT0wP3I6ZTticmVhaztjYXNlIDEwOmNhc2UgMTE6dmFyIHU9eFsxXSxpPXhbMl07aWYodT09aSl0aGlzLmRhdGEuZmlsbCh1KTtlbHNlIGZvcih2YXIgdD0wO3Q8dGhpcy5kYXRhLmxlbmd0aDt0KyspdGhpcy5kYXRhW3RdPXQlMj09MD91Omk7YnJlYWs7ZGVmYXVsdDp0aGlzLmRhdGEuZmlsbCh4KTticmVha319LFZhLnByb3RvdHlwZS5jb21wYXJlPWZ1bmN0aW9uKHgscil7aWYodGhpcy5sYXlvdXQhPXgubGF5b3V0fHx0aGlzLmtpbmQhPXgua2luZCl7dmFyIGU9dGhpcy5raW5kfHRoaXMubGF5b3V0PDw4LHQ9eC5raW5kfHgubGF5b3V0PDw4O3JldHVybiB0LWV9aWYodGhpcy5kaW1zLmxlbmd0aCE9eC5kaW1zLmxlbmd0aClyZXR1cm4geC5kaW1zLmxlbmd0aC10aGlzLmRpbXMubGVuZ3RoO2Zvcih2YXIgdT0wO3U8dGhpcy5kaW1zLmxlbmd0aDt1KyspaWYodGhpcy5kaW1zW3VdIT14LmRpbXNbdV0pcmV0dXJuIHRoaXMuZGltc1t1XTx4LmRpbXNbdV0/LTE6MTtzd2l0Y2godGhpcy5raW5kKXtjYXNlIDA6Y2FzZSAxOmNhc2UgMTA6Y2FzZSAxMTpmb3IodmFyIGksYyx1PTA7dTx0aGlzLmRhdGEubGVuZ3RoO3UrKyl7aWYoaT10aGlzLmRhdGFbdV0sYz14LmRhdGFbdV0saTxjKXJldHVybi0xO2lmKGk+YylyZXR1cm4gMTtpZihpIT1jKXtpZighcilyZXR1cm4gTmFOO2lmKGk9PWkpcmV0dXJuIDE7aWYoYz09YylyZXR1cm4tMX19YnJlYWs7Y2FzZSA3OmZvcih2YXIgdT0wO3U8dGhpcy5kYXRhLmxlbmd0aDt1Kz0yKXtpZih0aGlzLmRhdGFbdSsxXTx4LmRhdGFbdSsxXSlyZXR1cm4tMTtpZih0aGlzLmRhdGFbdSsxXT54LmRhdGFbdSsxXSlyZXR1cm4gMTtpZih0aGlzLmRhdGFbdV0+Pj4wPHguZGF0YVt1XT4+PjApcmV0dXJuLTE7aWYodGhpcy5kYXRhW3VdPj4+MD54LmRhdGFbdV0+Pj4wKXJldHVybiAxfWJyZWFrO2Nhc2UgMjpjYXNlIDM6Y2FzZSA0OmNhc2UgNTpjYXNlIDY6Y2FzZSA4OmNhc2UgOTpjYXNlIDEyOmZvcih2YXIgdT0wO3U8dGhpcy5kYXRhLmxlbmd0aDt1Kyspe2lmKHRoaXMuZGF0YVt1XTx4LmRhdGFbdV0pcmV0dXJuLTE7aWYodGhpcy5kYXRhW3VdPnguZGF0YVt1XSlyZXR1cm4gMX1icmVha31yZXR1cm4gMH07ZnVuY3Rpb24gTDMoeCxyLGUsdCl7dGhpcy5raW5kPXgsdGhpcy5sYXlvdXQ9cix0aGlzLmRpbXM9ZSx0aGlzLmRhdGE9dH1MMy5wcm90b3R5cGU9bmV3IFZhLEwzLnByb3RvdHlwZS5vZmZzZXQ9ZnVuY3Rpb24oeCl7cmV0dXJuIHR5cGVvZiB4IT1cIm51bWJlclwiJiYoeCBpbnN0YW5jZW9mIEFycmF5JiZ4Lmxlbmd0aD09MT94PXhbMF06aTEoXCJNbF9CaWdhcnJheV9jXzFfMS5vZmZzZXRcIikpLCh4PDB8fHg+PXRoaXMuZGltc1swXSkmJnc2KCkseH0sTDMucHJvdG90eXBlLmdldD1mdW5jdGlvbih4KXtyZXR1cm4gdGhpcy5kYXRhW3hdfSxMMy5wcm90b3R5cGUuc2V0PWZ1bmN0aW9uKHgscil7cmV0dXJuIHRoaXMuZGF0YVt4XT1yLDB9LEwzLnByb3RvdHlwZS5maWxsPWZ1bmN0aW9uKHgpe3JldHVybiB0aGlzLmRhdGEuZmlsbCh4KSwwfTtmdW5jdGlvbiBfTih4LHIsZSx0KXt2YXIgdT1ITCh4KTtyZXR1cm4gWG0oZSkqdSE9dC5sZW5ndGgmJmkxKFwibGVuZ3RoIGRvZXNuJ3QgbWF0Y2ggZGltc1wiKSxyPT0wJiZlLmxlbmd0aD09MSYmdT09MT9uZXcgTDMoeCxyLGUsdCk6bmV3IFZhKHgscixlLHQpfWZ1bmN0aW9uIHRNKHgpe3JldHVybiB4LnNsaWNlKDEpfWZ1bmN0aW9uIFN6KHgscixlKXt2YXIgdD10TShlKSx1PVpMKHgsWG0odCkpO3JldHVybiBfTih4LHIsdCx1KX1mdW5jdGlvbiBfNih4LHIsZSl7cmV0dXJuIHguc2V0KHgub2Zmc2V0KHIpLGUpLDB9ZnVuY3Rpb24gYjYoeCxyLGUpe3ZhciB0PVN0cmluZy5mcm9tQ2hhckNvZGU7aWYocj09MCYmZTw9T0YmJmU9PXgubGVuZ3RoKXJldHVybiB0LmFwcGx5KG51bGwseCk7Zm9yKHZhciB1PVowOzA8ZTtyKz1lNixlLT1lNil1Kz10LmFwcGx5KG51bGwseC5zbGljZShyLHIrTWF0aC5taW4oZSxlNikpKTtyZXR1cm4gdX1mdW5jdGlvbiBZbSh4KXtmb3IodmFyIHI9bmV3IFVpbnQ4QXJyYXkoeC5sKSxlPXguYyx0PWUubGVuZ3RoLHU9MDt1PHQ7dSsrKXJbdV09ZS5jaGFyQ29kZUF0KHUpO2Zvcih0PXgubDt1PHQ7dSsrKXJbdV09MDtyZXR1cm4geC5jPXIseC50PTQscn1mdW5jdGlvbiB0YSh4LHIsZSx0LHUpe2lmKHU9PTApcmV0dXJuIDA7aWYodD09MCYmKHU+PWUubHx8ZS50PT0yJiZ1Pj1lLmMubGVuZ3RoKSllLmM9eC50PT00P2I2KHguYyxyLHUpOnI9PTAmJnguYy5sZW5ndGg9PXU/eC5jOnguYy5zdWJzdHIocix1KSxlLnQ9ZS5jLmxlbmd0aD09ZS5sPzA6MjtlbHNlIGlmKGUudD09MiYmdD09ZS5jLmxlbmd0aCllLmMrPXgudD09ND9iNih4LmMscix1KTpyPT0wJiZ4LmMubGVuZ3RoPT11P3guYzp4LmMuc3Vic3RyKHIsdSksZS50PWUuYy5sZW5ndGg9PWUubD8wOjI7ZWxzZXtlLnQhPTQmJlltKGUpO3ZhciBpPXguYyxjPWUuYztpZih4LnQ9PTQpaWYodDw9cilmb3IodmFyIHY9MDt2PHU7disrKWNbdCt2XT1pW3Irdl07ZWxzZSBmb3IodmFyIHY9dS0xO3Y+PTA7di0tKWNbdCt2XT1pW3Irdl07ZWxzZXtmb3IodmFyIGE9TWF0aC5taW4odSxpLmxlbmd0aC1yKSx2PTA7djxhO3YrKyljW3Qrdl09aS5jaGFyQ29kZUF0KHIrdik7Zm9yKDt2PHU7disrKWNbdCt2XT0wfX1yZXR1cm4gMH1mdW5jdGlvbiBNMyh4LHIpe2lmKHg9PTApcmV0dXJuIFowO2lmKHIucmVwZWF0KXJldHVybiByLnJlcGVhdCh4KTtmb3IodmFyIGU9WjAsdD0wOzspe2lmKHgmMSYmKGUrPXIpLHg+Pj0xLHg9PTApcmV0dXJuIGU7cis9cix0KyssdD09OSYmci5zbGljZSgwLDEpfX1mdW5jdGlvbiB6bSh4KXt4LnQ9PTI/eC5jKz1NMyh4LmwteC5jLmxlbmd0aCxcIlxcMFwiKTp4LmM9YjYoeC5jLDAseC5jLmxlbmd0aCkseC50PTB9ZnVuY3Rpb24gYk4oeCl7aWYoeC5sZW5ndGg8MjQpe2Zvcih2YXIgcj0wO3I8eC5sZW5ndGg7cisrKWlmKHguY2hhckNvZGVBdChyKT5CcilyZXR1cm4hMTtyZXR1cm4hMH1lbHNlIHJldHVybiEvW15cXHgwMC1cXHg3Zl0vLnRlc3QoeCl9ZnVuY3Rpb24gbk0oeCl7Zm9yKHZhciByPVowLGU9WjAsdCx1LGksYyx2PTAsYT14Lmxlbmd0aDt2PGE7disrKXtpZih1PXguY2hhckNvZGVBdCh2KSx1PEN0KXtmb3IodmFyIGw9disxO2w8YSYmKHU9eC5jaGFyQ29kZUF0KGwpKTxDdDtsKyspO2lmKGwtdj5aUD8oZS5zdWJzdHIoMCwxKSxyKz1lLGU9WjAscis9eC5zbGljZSh2LGwpKTplKz14LnNsaWNlKHYsbCksbD09YSlicmVhazt2PWx9Yz0xLCsrdjxhJiYoKGk9eC5jaGFyQ29kZUF0KHYpKSYtNjQpPT1NMiYmKHQ9aSsodTw8NiksdTxXRj8oYz10LTEyNDE2LGM8Q3QmJihjPTEpKTooYz0yLCsrdjxhJiYoKGk9eC5jaGFyQ29kZUF0KHYpKSYtNjQpPT1NMiYmKHQ9aSsodDw8NiksdTxNRD8oYz10LTkyNTgyNCwoYzxjTHx8Yz49NTUyOTUmJmM8NTczNDQpJiYoYz0yKSk6KGM9MywrK3Y8YSYmKChpPXguY2hhckNvZGVBdCh2KSkmLTY0KT09TTImJnU8MjQ1JiYoYz1pLTYzNDQ3MTY4Kyh0PDw2KSwoYzw2NTUzNnx8Yz4xMTE0MTExKSYmKGM9MykpKSkpKSxjPDQ/KHYtPWMsZSs9XCJcXHVGRkZEXCIpOmM+WnQ/ZSs9U3RyaW5nLmZyb21DaGFyQ29kZSg1NTIzMisoYz4+MTApLE5GKyhjJjEwMjMpKTplKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGMpLGUubGVuZ3RoPmU2JiYoZS5zdWJzdHIoMCwxKSxyKz1lLGU9WjApfXJldHVybiByK2V9ZnVuY3Rpb24gbmEoeCxyLGUpe3RoaXMudD14LHRoaXMuYz1yLHRoaXMubD1lfW5hLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3N3aXRjaCh0aGlzLnQpe2Nhc2UgOTpyZXR1cm4gdGhpcy5jO2RlZmF1bHQ6em0odGhpcyk7Y2FzZSAwOmlmKGJOKHRoaXMuYykpcmV0dXJuIHRoaXMudD05LHRoaXMuYzt0aGlzLnQ9ODtjYXNlIDg6cmV0dXJuIHRoaXMuY319LG5hLnByb3RvdHlwZS50b1V0ZjE2PWZ1bmN0aW9uKCl7dmFyIHg9dGhpcy50b1N0cmluZygpO3JldHVybiB0aGlzLnQ9PTk/eDpuTSh4KX0sbmEucHJvdG90eXBlLnNsaWNlPWZ1bmN0aW9uKCl7dmFyIHg9dGhpcy50PT00P3RoaXMuYy5zbGljZSgpOnRoaXMuYztyZXR1cm4gbmV3IG5hKHRoaXMudCx4LHRoaXMubCl9O2Z1bmN0aW9uIHVNKHgpe3JldHVybiBuZXcgbmEoMCx4LHgubGVuZ3RoKX1mdW5jdGlvbiBwUzAoeCl7cmV0dXJuIHh9ZnVuY3Rpb24gT3QoeCl7cmV0dXJuIHVNKHgpfWZ1bmN0aW9uIGNzKHgscixlLHQsdSl7cmV0dXJuIHRhKE90KHgpLHIsZSx0LHUpLDB9ZnVuY3Rpb24gcTMoeCl7cmV0dXJuIG5ldyBlcih4WzddPDwwfHhbNl08PDh8eFs1XTw8MTYseFs0XTw8MHx4WzNdPDw4fHhbMl08PDE2LHhbMV08PDB8eFswXTw8OCl9ZnVuY3Rpb24gc2UoeCxyKXtzd2l0Y2goeC50JjYpe2RlZmF1bHQ6aWYocj49eC5jLmxlbmd0aClyZXR1cm4gMDtjYXNlIDA6cmV0dXJuIHguYy5jaGFyQ29kZUF0KHIpO2Nhc2UgNDpyZXR1cm4geC5jW3JdfX1mdW5jdGlvbiBUTigpe2kxKHFJKX1mdW5jdGlvbiBBeih4LHIpe3I+Pj4wPj14LmwtNyYmVE4oKTtmb3IodmFyIGU9bmV3IEFycmF5KDgpLHQ9MDt0PDg7dCsrKWVbNy10XT1zZSh4LHIrdCk7cmV0dXJuIHEzKGUpfWZ1bmN0aW9uIFhyKHgscixlKXtpZihlJj1Kcyx4LnQhPTQpe2lmKHI9PXguYy5sZW5ndGgpcmV0dXJuIHguYys9U3RyaW5nLmZyb21DaGFyQ29kZShlKSxyKzE9PXgubCYmKHgudD0wKSwwO1ltKHgpfXJldHVybiB4LmNbcl09ZSwwfWZ1bmN0aW9uIHVhKHgscixlKXtyZXR1cm4gcj4+PjA+PXgubCYmVE4oKSxYcih4LHIsZSl9ZnVuY3Rpb24gVTMoeCl7cmV0dXJuIHgudG9BcnJheSgpfWZ1bmN0aW9uIFB6KHgscixlKXtyPj4+MD49eC5sLTcmJlROKCk7Zm9yKHZhciB0PVUzKGUpLHU9MDt1PDg7dSsrKVhyKHgscis3LXUsdFt1XSk7cmV0dXJuIDB9ZnVuY3Rpb24gc3MoeCxyKXt2YXIgZT14Lmw+PTA/eC5sOngubD14Lmxlbmd0aCx0PXIubGVuZ3RoLHU9ZS10O2lmKHU9PTApcmV0dXJuIHguYXBwbHkobnVsbCxyKTtpZih1PDApe3ZhciBpPXguYXBwbHkobnVsbCxyLnNsaWNlKDAsZSkpO3JldHVybiB0eXBlb2YgaSE9XCJmdW5jdGlvblwiP2k6c3MoaSxyLnNsaWNlKGUpKX1lbHNle3N3aXRjaCh1KXtjYXNlIDE6e3ZhciBpPWZ1bmN0aW9uKGEpe2Zvcih2YXIgbD1uZXcgQXJyYXkodCsxKSxtPTA7bTx0O20rKylsW21dPXJbbV07cmV0dXJuIGxbdF09YSx4LmFwcGx5KG51bGwsbCl9O2JyZWFrfWNhc2UgMjp7dmFyIGk9ZnVuY3Rpb24oYSxsKXtmb3IodmFyIG09bmV3IEFycmF5KHQrMiksaD0wO2g8dDtoKyspbVtoXT1yW2hdO3JldHVybiBtW3RdPWEsbVt0KzFdPWwseC5hcHBseShudWxsLG0pfTticmVha31kZWZhdWx0OnZhciBpPWZ1bmN0aW9uKCl7Zm9yKHZhciB2PWFyZ3VtZW50cy5sZW5ndGg9PTA/MTphcmd1bWVudHMubGVuZ3RoLGE9bmV3IEFycmF5KHIubGVuZ3RoK3YpLGw9MDtsPHIubGVuZ3RoO2wrKylhW2xdPXJbbF07Zm9yKHZhciBsPTA7bDxhcmd1bWVudHMubGVuZ3RoO2wrKylhW3IubGVuZ3RoK2xdPWFyZ3VtZW50c1tsXTtyZXR1cm4gc3MoeCxhKX19cmV0dXJuIGkubD11LGl9fWZ1bmN0aW9uIE4yKHgscil7cmV0dXJuIHI+Pj4wPj14Lmxlbmd0aC0xJiZ3NigpLHh9ZnVuY3Rpb24gSXooeCl7cmV0dXJuIGlzRmluaXRlKHgpP01hdGguYWJzKHgpPj0yMjI1MDczODU4NTA3MjAxNGUtMzI0PzA6eCE9MD8xOjI6aXNOYU4oeCk/NDozfWZ1bmN0aW9uIE56KHgpe3JldHVybiB4PT1IVD8xOjB9dmFyIGp6PU1hdGgubG9nMiYmTWF0aC5sb2cyKDExMjM1NTgyMDkyODg5NDc0ZTI5MSk9PTEwMjA7ZnVuY3Rpb24gQ3ooeCl7aWYoanopcmV0dXJuIE1hdGguZmxvb3IoTWF0aC5sb2cyKHgpKTt2YXIgcj0wO2lmKHg9PTApcmV0dXJuLTEvMDtpZih4Pj0xKWZvcig7eD49MjspeC89MixyKys7ZWxzZSBmb3IoO3g8MTspeCo9MixyLS07cmV0dXJuIHJ9ZnVuY3Rpb24gRU4oeCl7dmFyIHI9bmV3IEZsb2F0MzJBcnJheSgxKTtyWzBdPXg7dmFyIGU9bmV3IEludDMyQXJyYXkoci5idWZmZXIpO3JldHVybiBlWzBdfDB9ZnVuY3Rpb24gb3QoeCxyLGUpe3JldHVybiBuZXcgZXIoeCxyLGUpfWZ1bmN0aW9uIEttKHgpe2lmKCFpc0Zpbml0ZSh4KSlyZXR1cm4gaXNOYU4oeCk/b3QoMSwwLEtSKTp4PjA/b3QoMCwwLEtSKTpvdCgwLDAsNjU1MjApO3ZhciByPXg9PTAmJjEveD09LTEvMD9ubjp4Pj0wPzA6bm47ciYmKHg9LXgpO3ZhciBlPUN6KHgpKzEwMjM7ZTw9MD8oZT0wLHgvPU1hdGgucG93KDIsLVBMKSk6KHgvPU1hdGgucG93KDIsZS1BUikseDwxNiYmKHgqPTIsZS09MSksZT09MCYmKHgvPTIpKTt2YXIgdD1NYXRoLnBvdygyLDI0KSx1PXh8MDt4PSh4LXUpKnQ7dmFyIGk9eHwwO3g9KHgtaSkqdDt2YXIgYz14fDA7cmV0dXJuIHU9dSZmd3xyfGU8PDQsb3QoYyxpLHUpfWZ1bmN0aW9uIGlNKHgscixlKXtpZih4LndyaXRlKDMyLHIuZGltcy5sZW5ndGgpLHgud3JpdGUoMzIsci5raW5kfHIubGF5b3V0PDw4KSxyLmNhbWxfY3VzdG9tPT1nOClmb3IodmFyIHQ9MDt0PHIuZGltcy5sZW5ndGg7dCsrKXIuZGltc1t0XTxadD94LndyaXRlKDE2LHIuZGltc1t0XSk6KHgud3JpdGUoMTYsWnQpLHgud3JpdGUoMzIsMCkseC53cml0ZSgzMixyLmRpbXNbdF0pKTtlbHNlIGZvcih2YXIgdD0wO3Q8ci5kaW1zLmxlbmd0aDt0KyspeC53cml0ZSgzMixyLmRpbXNbdF0pO3N3aXRjaChyLmtpbmQpe2Nhc2UgMjpjYXNlIDM6Y2FzZSAxMjpmb3IodmFyIHQ9MDt0PHIuZGF0YS5sZW5ndGg7dCsrKXgud3JpdGUoOCxyLmRhdGFbdF0pO2JyZWFrO2Nhc2UgNDpjYXNlIDU6Zm9yKHZhciB0PTA7dDxyLmRhdGEubGVuZ3RoO3QrKyl4LndyaXRlKDE2LHIuZGF0YVt0XSk7YnJlYWs7Y2FzZSA2OmZvcih2YXIgdD0wO3Q8ci5kYXRhLmxlbmd0aDt0KyspeC53cml0ZSgzMixyLmRhdGFbdF0pO2JyZWFrO2Nhc2UgODpjYXNlIDk6eC53cml0ZSg4LDApO2Zvcih2YXIgdD0wO3Q8ci5kYXRhLmxlbmd0aDt0KyspeC53cml0ZSgzMixyLmRhdGFbdF0pO2JyZWFrO2Nhc2UgNzpmb3IodmFyIHQ9MDt0PHIuZGF0YS5sZW5ndGgvMjt0KyspZm9yKHZhciB1PVUzKHIuZ2V0KHQpKSxpPTA7aTw4O2krKyl4LndyaXRlKDgsdVtpXSk7YnJlYWs7Y2FzZSAxOmZvcih2YXIgdD0wO3Q8ci5kYXRhLmxlbmd0aDt0KyspZm9yKHZhciB1PVUzKEttKHIuZ2V0KHQpKSksaT0wO2k8ODtpKyspeC53cml0ZSg4LHVbaV0pO2JyZWFrO2Nhc2UgMDpmb3IodmFyIHQ9MDt0PHIuZGF0YS5sZW5ndGg7dCsrKXt2YXIgdT1FTihyLmdldCh0KSk7eC53cml0ZSgzMix1KX1icmVhaztjYXNlIDEwOmZvcih2YXIgdD0wO3Q8ci5kYXRhLmxlbmd0aC8yO3QrKyl7dmFyIGk9ci5nZXQodCk7eC53cml0ZSgzMixFTihpWzFdKSkseC53cml0ZSgzMixFTihpWzJdKSl9YnJlYWs7Y2FzZSAxMTpmb3IodmFyIHQ9MDt0PHIuZGF0YS5sZW5ndGgvMjt0Kyspe2Zvcih2YXIgYz1yLmdldCh0KSx1PVUzKEttKGNbMV0pKSxpPTA7aTw4O2krKyl4LndyaXRlKDgsdVtpXSk7Zm9yKHZhciB1PVUzKEttKGNbMl0pKSxpPTA7aTw4O2krKyl4LndyaXRlKDgsdVtpXSl9YnJlYWt9ZVswXT0oNCtyLmRpbXMubGVuZ3RoKSo0LGVbMV09KDQrci5kaW1zLmxlbmd0aCkqOH1mdW5jdGlvbiBTTih4KXt2YXIgcj1uZXcgSW50MzJBcnJheSgxKTtyWzBdPXg7dmFyIGU9bmV3IEZsb2F0MzJBcnJheShyLmJ1ZmZlcik7cmV0dXJuIGVbMF19ZnVuY3Rpb24gQU4oeCl7dmFyIHI9eC5sbyxlPXgubWksdD14LmhpLHU9KHQmMzI3NjcpPj40O2lmKHU9PWRMKXJldHVybiByfGV8dCZmdz9OYU46dCZubj8tMS8wOjEvMDt2YXIgaT1NYXRoLnBvdygyLC0yNCksYz0ocippK2UpKmkrKHQmZncpO3JldHVybiB1PjA/KGMrPTE2LGMqPU1hdGgucG93KDIsdS1BUikpOmMqPU1hdGgucG93KDIsLVBMKSx0Jm5uJiYoYz0tYyksY31mdW5jdGlvbiBXMSh4KXtHMS5GYWlsdXJlfHwoRzEuRmFpbHVyZT1bbjIsZ2QsLTNdKSx5TihHMS5GYWlsdXJlLHgpfWZ1bmN0aW9uIGZNKHgscixlKXt2YXIgdD14LnJlYWQzMnMoKTsodDwwfHx0PjE2KSYmVzEoXCJpbnB1dF92YWx1ZTogd3JvbmcgbnVtYmVyIG9mIGJpZ2FycmF5IGRpbWVuc2lvbnNcIik7dmFyIHU9eC5yZWFkMzJzKCksaT11JkpzLGM9dT4+OCYxLHY9W107aWYoZT09ZzgpZm9yKHZhciBhPTA7YTx0O2ErKyl7dmFyIGw9eC5yZWFkMTZ1KCk7aWYobD09WnQpe3ZhciBtPXgucmVhZDMydSgpLGg9eC5yZWFkMzJ1KCk7bSE9MCYmVzEoXCJpbnB1dF92YWx1ZTogYmlnYXJyYXkgZGltZW5zaW9uIG92ZXJmbG93IGluIDMyYml0XCIpLGw9aH12LnB1c2gobCl9ZWxzZSBmb3IodmFyIGE9MDthPHQ7YSsrKXYucHVzaCh4LnJlYWQzMnUoKSk7dmFyIFQ9WG0odiksYj1aTChpLFQpLE49X04oaSxjLHYsYik7c3dpdGNoKGkpe2Nhc2UgMjpmb3IodmFyIGE9MDthPFQ7YSsrKWJbYV09eC5yZWFkOHMoKTticmVhaztjYXNlIDM6Y2FzZSAxMjpmb3IodmFyIGE9MDthPFQ7YSsrKWJbYV09eC5yZWFkOHUoKTticmVhaztjYXNlIDQ6Zm9yKHZhciBhPTA7YTxUO2ErKyliW2FdPXgucmVhZDE2cygpO2JyZWFrO2Nhc2UgNTpmb3IodmFyIGE9MDthPFQ7YSsrKWJbYV09eC5yZWFkMTZ1KCk7YnJlYWs7Y2FzZSA2OmZvcih2YXIgYT0wO2E8VDthKyspYlthXT14LnJlYWQzMnMoKTticmVhaztjYXNlIDg6Y2FzZSA5OnZhciBqPXgucmVhZDh1KCk7aiYmVzEoXCJpbnB1dF92YWx1ZTogY2Fubm90IHJlYWQgYmlnYXJyYXkgd2l0aCA2NC1iaXQgT0NhbWwgaW50c1wiKTtmb3IodmFyIGE9MDthPFQ7YSsrKWJbYV09eC5yZWFkMzJzKCk7YnJlYWs7Y2FzZSA3OmZvcih2YXIgSz1uZXcgQXJyYXkoOCksYT0wO2E8VDthKyspe2Zvcih2YXIgST0wO0k8ODtJKyspS1tJXT14LnJlYWQ4dSgpO3ZhciBGPXEzKEspO04uc2V0KGEsRil9YnJlYWs7Y2FzZSAxOmZvcih2YXIgSz1uZXcgQXJyYXkoOCksYT0wO2E8VDthKyspe2Zvcih2YXIgST0wO0k8ODtJKyspS1tJXT14LnJlYWQ4dSgpO3ZhciBNPUFOKHEzKEspKTtOLnNldChhLE0pfWJyZWFrO2Nhc2UgMDpmb3IodmFyIGE9MDthPFQ7YSsrKXt2YXIgTT1TTih4LnJlYWQzMnMoKSk7Ti5zZXQoYSxNKX1icmVhaztjYXNlIDEwOmZvcih2YXIgYT0wO2E8VDthKyspe3ZhciB6PVNOKHgucmVhZDMycygpKSxCPVNOKHgucmVhZDMycygpKTtOLnNldChhLFtkMyx6LEJdKX1icmVhaztjYXNlIDExOmZvcih2YXIgSz1uZXcgQXJyYXkoOCksYT0wO2E8VDthKyspe2Zvcih2YXIgST0wO0k8ODtJKyspS1tJXT14LnJlYWQ4dSgpO2Zvcih2YXIgej1BTihxMyhLKSksST0wO0k8ODtJKyspS1tJXT14LnJlYWQ4dSgpO3ZhciBCPUFOKHEzKEspKTtOLnNldChhLFtkMyx6LEJdKX1icmVha31yZXR1cm4gclswXT0oNCt0KSo0LF9OKGksYyx2LGIpfWZ1bmN0aW9uIGNNKHgscixlKXtyZXR1cm4geC5jb21wYXJlKHIsZSl9ZnVuY3Rpb24gc00oeCxyKXtyZXR1cm4gTWF0aC5pbXVsKHgscil9ZnVuY3Rpb24gaWEoeCxyKXtyZXR1cm4gcj1zTShyLC04NjIwNDg5NDMpLHI9cjw8MTV8cj4+PjE3LHI9c00ociw0NjE4NDU5MDcpLHhePXIseD14PDwxM3x4Pj4+MTksKHgrKHg8PDIpfDApKy00MzA2NzUxMDB8MH1mdW5jdGlvbiBPeih4LHIpe3JldHVybiB4PWlhKHgsd04ocikpLHg9aWEoeCxnTihyKSkseH1mdW5jdGlvbiBhTSh4LHIpe3JldHVybiBPeih4LEttKHIpKX1mdW5jdGlvbiBvTSh4KXt2YXIgcj1YbSh4LmRpbXMpLGU9MDtzd2l0Y2goeC5raW5kKXtjYXNlIDI6Y2FzZSAzOmNhc2UgMTI6cj5IbCYmKHI9SGwpO3ZhciB0PTAsdT0wO2Zvcih1PTA7dSs0PD14LmRhdGEubGVuZ3RoO3UrPTQpdD14LmRhdGFbdSswXXx4LmRhdGFbdSsxXTw8OHx4LmRhdGFbdSsyXTw8MTZ8eC5kYXRhW3UrM108PDI0LGU9aWEoZSx0KTtzd2l0Y2godD0wLHImMyl7Y2FzZSAzOnQ9eC5kYXRhW3UrMl08PDE2O2Nhc2UgMjp0fD14LmRhdGFbdSsxXTw8ODtjYXNlIDE6dHw9eC5kYXRhW3UrMF0sZT1pYShlLHQpfWJyZWFrO2Nhc2UgNDpjYXNlIDU6cj5NMiYmKHI9TTIpO3ZhciB0PTAsdT0wO2Zvcih1PTA7dSsyPD14LmRhdGEubGVuZ3RoO3UrPTIpdD14LmRhdGFbdSswXXx4LmRhdGFbdSsxXTw8MTYsZT1pYShlLHQpO3ImMSYmKGU9aWEoZSx4LmRhdGFbdV0pKTticmVhaztjYXNlIDY6cj42NCYmKHI9NjQpO2Zvcih2YXIgdT0wO3U8cjt1KyspZT1pYShlLHguZGF0YVt1XSk7YnJlYWs7Y2FzZSA4OmNhc2UgOTpyPjY0JiYocj02NCk7Zm9yKHZhciB1PTA7dTxyO3UrKyllPWlhKGUseC5kYXRhW3VdKTticmVhaztjYXNlIDc6cj4zMiYmKHI9MzIpLHIqPTI7Zm9yKHZhciB1PTA7dTxyO3UrKyllPWlhKGUseC5kYXRhW3VdKTticmVhaztjYXNlIDEwOnIqPTI7Y2FzZSAwOnI+NjQmJihyPTY0KTtmb3IodmFyIHU9MDt1PHI7dSsrKWU9YU0oZSx4LmRhdGFbdV0pO2JyZWFrO2Nhc2UgMTE6cio9MjtjYXNlIDE6cj4zMiYmKHI9MzIpO2Zvcih2YXIgdT0wO3U8cjt1KyspZT1hTShlLHguZGF0YVt1XSk7YnJlYWt9cmV0dXJuIGV9ZnVuY3Rpb24gRHooeCxyKXtyZXR1cm4gclswXT00LHgucmVhZDMycygpfWZ1bmN0aW9uIEZ6KHgscil7c3dpdGNoKHgucmVhZDh1KCkpe2Nhc2UgMTpyZXR1cm4gclswXT00LHgucmVhZDMycygpO2Nhc2UgMjpXMShcImlucHV0X3ZhbHVlOiBuYXRpdmUgaW50ZWdlciB2YWx1ZSB0b28gbGFyZ2VcIik7ZGVmYXVsdDpXMShcImlucHV0X3ZhbHVlOiBpbGwtZm9ybWVkIG5hdGl2ZSBpbnRlZ2VyXCIpfX1mdW5jdGlvbiBSeih4LHIpe2Zvcih2YXIgZT1uZXcgQXJyYXkoOCksdD0wO3Q8ODt0KyspZVt0XT14LnJlYWQ4dSgpO3JldHVybiByWzBdPTgscTMoZSl9ZnVuY3Rpb24gTHooeCxyLGUpe2Zvcih2YXIgdD1VMyhyKSx1PTA7dTw4O3UrKyl4LndyaXRlKDgsdFt1XSk7ZVswXT04LGVbMV09OH1mdW5jdGlvbiBNeih4LHIsZSl7cmV0dXJuIHguY29tcGFyZShyKX1mdW5jdGlvbiBxeih4KXtyZXR1cm4geC5sbzMyKCleeC5oaTMyKCl9dmFyIHZNPXtfajp7ZGVzZXJpYWxpemU6Unosc2VyaWFsaXplOkx6LGZpeGVkX2xlbmd0aDo4LGNvbXBhcmU6TXosaGFzaDpxen0sX2k6e2Rlc2VyaWFsaXplOkR6LGZpeGVkX2xlbmd0aDo0fSxfbjp7ZGVzZXJpYWxpemU6RnosZml4ZWRfbGVuZ3RoOjR9LF9iaWdhcnJheTp7ZGVzZXJpYWxpemU6ZnVuY3Rpb24oeCxyKXtyZXR1cm4gZk0oeCxyLFwiX2JpZ2FycmF5XCIpfSxzZXJpYWxpemU6aU0sY29tcGFyZTpjTSxoYXNoOm9NfSxfYmlnYXJyMDI6e2Rlc2VyaWFsaXplOmZ1bmN0aW9uKHgscil7cmV0dXJuIGZNKHgscixnOCl9LHNlcmlhbGl6ZTppTSxjb21wYXJlOmNNLGhhc2g6b019fTtmdW5jdGlvbiBQTih4KXtyZXR1cm4gdk1beC5jYW1sX2N1c3RvbV0mJnZNW3guY2FtbF9jdXN0b21dLmNvbXBhcmV9ZnVuY3Rpb24gbE0oeCxyLGUsdCl7dmFyIHU9UE4ocik7aWYodSl7dmFyIGk9ZT4wP3Uocix4LHQpOnUoeCxyLHQpO2lmKHQmJmkhPWkpcmV0dXJuIGU7aWYoK2khPStpKXJldHVybitpO2lmKGl8MClyZXR1cm4gaXwwfXJldHVybiBlfWZ1bmN0aW9uIElOKHgpe3JldHVybiB0eXBlb2YgeD09XCJzdHJpbmdcIiYmIS9bXlxceDAwLVxceGZmXS8udGVzdCh4KX1mdW5jdGlvbiBOTih4KXtyZXR1cm4geCBpbnN0YW5jZW9mIG5hfWZ1bmN0aW9uIHBNKHgpe2lmKHR5cGVvZiB4PT1cIm51bWJlclwiKXJldHVybiBxbDtpZihOTih4KSlyZXR1cm4gZzM7aWYoSU4oeCkpcmV0dXJuIDEyNTI7aWYoeCBpbnN0YW5jZW9mIEFycmF5JiZ4WzBdPT09eFswXT4+PjAmJnhbMF08PUhwKXt2YXIgcj14WzBdfDA7cmV0dXJuIHI9PWQzPzA6cn1lbHNle2lmKHggaW5zdGFuY2VvZiBTdHJpbmcpcmV0dXJuIFNGO2lmKHR5cGVvZiB4PT1cInN0cmluZ1wiKXJldHVybiBTRjtpZih4IGluc3RhbmNlb2YgTnVtYmVyKXJldHVybiBxbDtpZih4JiZ4LmNhbWxfY3VzdG9tKXJldHVybiBSOTtpZih4JiZ4LmNvbXBhcmUpcmV0dXJuIDEyNTY7aWYodHlwZW9mIHg9PVwiZnVuY3Rpb25cIilyZXR1cm4gMTI0NztpZih0eXBlb2YgeD09XCJzeW1ib2xcIilyZXR1cm4gMTI1MX1yZXR1cm4gMTAwMX1mdW5jdGlvbiBXZSh4LHIpe3JldHVybiB4PHI/LTE6eD09cj8wOjF9ZnVuY3Rpb24gZngoeCxyKXtyZXR1cm4geDxyPy0xOng+cj8xOjB9ZnVuY3Rpb24gVXooeCxyKXtyZXR1cm4geC50JjYmJnptKHgpLHIudCY2JiZ6bShyKSx4LmM8ci5jPy0xOnguYz5yLmM/MTowfWZ1bmN0aW9uIEptKHgscixlKXtmb3IodmFyIHQ9W107Oyl7aWYoIShlJiZ4PT09cikpe3ZhciB1PXBNKHgpO2lmKHU9PUQzKXt4PXhbMV07Y29udGludWV9dmFyIGk9cE0ocik7aWYoaT09RDMpe3I9clsxXTtjb250aW51ZX1pZih1IT09aSlyZXR1cm4gdT09cWw/aT09Ujk/bE0oeCxyLC0xLGUpOi0xOmk9PXFsP3U9PVI5P2xNKHIseCwxLGUpOjE6dTxpPy0xOjE7c3dpdGNoKHUpe2Nhc2UgMjQ3OmkxKFd5KTticmVhaztjYXNlIDI0ODp2YXIgdj1XZSh4WzJdLHJbMl0pO2lmKHYhPTApcmV0dXJuIHZ8MDticmVhaztjYXNlIDI0OTppMShXeSk7YnJlYWs7Y2FzZSAyNTA6aTEoXCJlcXVhbDogZ290IEZvcndhcmRfdGFnLCBzaG91bGQgbm90IGhhcHBlblwiKTticmVhaztjYXNlIDI1MTppMShcImVxdWFsOiBhYnN0cmFjdCB2YWx1ZVwiKTticmVhaztjYXNlIDI1MjppZih4IT09cil7dmFyIHY9VXooeCxyKTtpZih2IT0wKXJldHVybiB2fDB9YnJlYWs7Y2FzZSAyNTM6aTEoXCJlcXVhbDogZ290IERvdWJsZV90YWcsIHNob3VsZCBub3QgaGFwcGVuXCIpO2JyZWFrO2Nhc2UgMjU0OmkxKFwiZXF1YWw6IGdvdCBEb3VibGVfYXJyYXlfdGFnLCBzaG91bGQgbm90IGhhcHBlblwiKTticmVhaztjYXNlIDI1NTppMShcImVxdWFsOiBnb3QgQ3VzdG9tX3RhZywgc2hvdWxkIG5vdCBoYXBwZW5cIik7YnJlYWs7Y2FzZSAxMjQ3OmkxKFd5KTticmVhaztjYXNlIDEyNTU6dmFyIGM9UE4oeCk7aWYoYyE9UE4ocikpcmV0dXJuIHguY2FtbF9jdXN0b208ci5jYW1sX2N1c3RvbT8tMToxO2N8fGkxKFwiY29tcGFyZTogYWJzdHJhY3QgdmFsdWVcIik7dmFyIHY9Yyh4LHIsZSk7aWYodiE9dilyZXR1cm4gZT8tMTp2O2lmKHYhPT0odnwwKSlyZXR1cm4tMTtpZih2IT0wKXJldHVybiB2fDA7YnJlYWs7Y2FzZSAxMjU2OnZhciB2PXguY29tcGFyZShyLGUpO2lmKHYhPXYpcmV0dXJuIGU/LTE6djtpZih2IT09KHZ8MCkpcmV0dXJuLTE7aWYodiE9MClyZXR1cm4gdnwwO2JyZWFrO2Nhc2UgMWUzOmlmKHg9K3gscj0rcix4PHIpcmV0dXJuLTE7aWYoeD5yKXJldHVybiAxO2lmKHghPXIpe2lmKCFlKXJldHVybiBOYU47aWYoeD09eClyZXR1cm4gMTtpZihyPT1yKXJldHVybi0xfWJyZWFrO2Nhc2UgMTAwMTppZih4PHIpcmV0dXJuLTE7aWYoeD5yKXJldHVybiAxO2lmKHghPXIpe2lmKCFlKXJldHVybiBOYU47aWYoeD09eClyZXR1cm4gMTtpZihyPT1yKXJldHVybi0xfWJyZWFrO2Nhc2UgMTI1MTppZih4IT09cilyZXR1cm4gZT8xOk5hTjticmVhaztjYXNlIDEyNTI6dmFyIHg9eCxyPXI7aWYoeCE9PXIpe2lmKHg8cilyZXR1cm4tMTtpZih4PnIpcmV0dXJuIDF9YnJlYWs7Y2FzZSAxMjUyMDp2YXIgeD14LnRvU3RyaW5nKCkscj1yLnRvU3RyaW5nKCk7aWYoeCE9PXIpe2lmKHg8cilyZXR1cm4tMTtpZih4PnIpcmV0dXJuIDF9YnJlYWs7Y2FzZSAyNDY6Y2FzZSAyNTQ6ZGVmYXVsdDppZihOeih1KSl7aTEoXCJjb21wYXJlOiBjb250aW51YXRpb24gdmFsdWVcIik7YnJlYWt9aWYoeC5sZW5ndGghPXIubGVuZ3RoKXJldHVybiB4Lmxlbmd0aDxyLmxlbmd0aD8tMToxO3gubGVuZ3RoPjEmJnQucHVzaCh4LHIsMSk7YnJlYWt9fWlmKHQubGVuZ3RoPT0wKXJldHVybiAwO3ZhciBhPXQucG9wKCk7cj10LnBvcCgpLHg9dC5wb3AoKSxhKzE8eC5sZW5ndGgmJnQucHVzaCh4LHIsYSsxKSx4PXhbYV0scj1yW2FdfX1mdW5jdGlvbiBrTSh4LHIpe3JldHVybiBKbSh4LHIsITApfWZ1bmN0aW9uIEJ6KCl7cmV0dXJuWzBdfWZ1bmN0aW9uIFMyKHgpe3JldHVybiB4PDAmJmkxKFwiQnl0ZXMuY3JlYXRlXCIpLG5ldyBuYSh4PzI6OSxaMCx4KX12YXIgR209WzBdO2Z1bmN0aW9uIFh6KHgscil7cmV0dXJuIEdtIT09eD8wOihHbT1yLDEpfWZ1bmN0aW9uIG1NKHgpe3JldHVybiBHbX1mdW5jdGlvbiBZeih4KXtHbT14fWZ1bmN0aW9uIEIzKHgscil7cmV0dXJuKyhKbSh4LHIsITEpPT0wKX1mdW5jdGlvbiB6eih4LHIsZSx0KXtpZihlPjApaWYocj09MCYmKGU+PXgubHx8eC50PT0yJiZlPj14LmMubGVuZ3RoKSl0PT0wPyh4LmM9WjAseC50PTIpOih4LmM9TTMoZSxTdHJpbmcuZnJvbUNoYXJDb2RlKHQpKSx4LnQ9ZT09eC5sPzA6Mik7ZWxzZSBmb3IoeC50IT00JiZZbSh4KSxlKz1yO3I8ZTtyKyspeC5jW3JdPXQ7cmV0dXJuIDB9ZnVuY3Rpb24gak4oeCl7dmFyIHI7aWYoeD14LHI9K3gseC5sZW5ndGg+MCYmcj09PXJ8fCh4PXgucmVwbGFjZSgvXy9nLFowKSxyPSt4LHgubGVuZ3RoPjAmJnI9PT1yfHwvXlsrLV0/bmFuJC9pLnRlc3QoeCkpKXJldHVybiByO3ZhciBlPS9eICooWystXT8pMHgoWzAtOWEtZl0rKVxcLj8oWzAtOWEtZl0qKShwKFsrLV0/WzAtOV0rKSk/L2kuZXhlYyh4KTtpZihlKXt2YXIgdD1lWzNdLnJlcGxhY2UoLzArJC8sWjApLHU9cGFyc2VJbnQoZVsxXStlWzJdK3QsMTYpLGk9KGVbNV18MCktNCp0Lmxlbmd0aDtyZXR1cm4gcj11Kk1hdGgucG93KDIsaSkscn1pZigvXlxcKz9pbmYoaW5pdHkpPyQvaS50ZXN0KHgpKXJldHVybiAxLzA7aWYoL14taW5mKGluaXR5KT8kL2kudGVzdCh4KSlyZXR1cm4tMS8wO1cxKFwiZmxvYXRfb2Zfc3RyaW5nXCIpfWZ1bmN0aW9uIENOKHgpe3g9eDt2YXIgcj14Lmxlbmd0aDtyPjMxJiZpMShcImZvcm1hdF9pbnQ6IGZvcm1hdCB0b28gbG9uZ1wiKTtmb3IodmFyIGU9e2p1c3RpZnk6cTcsc2lnbnN0eWxlOlVlLGZpbGxlcjpodSxhbHRlcm5hdGU6ITEsYmFzZTowLHNpZ25lZGNvbnY6ITEsd2lkdGg6MCx1cHBlcmNhc2U6ITEsc2lnbjoxLHByZWM6LTEsY29udjpQRn0sdD0wO3Q8cjt0Kyspe3ZhciB1PXguY2hhckF0KHQpO3N3aXRjaCh1KXtjYXNlXCItXCI6ZS5qdXN0aWZ5PVVlO2JyZWFrO2Nhc2VcIitcIjpjYXNlXCIgXCI6ZS5zaWduc3R5bGU9dTticmVhaztjYXNlXCIwXCI6ZS5maWxsZXI9WTE7YnJlYWs7Y2FzZVwiI1wiOmUuYWx0ZXJuYXRlPSEwO2JyZWFrO2Nhc2VcIjFcIjpjYXNlXCIyXCI6Y2FzZVwiM1wiOmNhc2VcIjRcIjpjYXNlXCI1XCI6Y2FzZVwiNlwiOmNhc2VcIjdcIjpjYXNlXCI4XCI6Y2FzZVwiOVwiOmZvcihlLndpZHRoPTA7dT14LmNoYXJDb2RlQXQodCktNDgsdT49MCYmdTw9OTspZS53aWR0aD1lLndpZHRoKjEwK3UsdCsrO3QtLTticmVhaztjYXNlXCIuXCI6Zm9yKGUucHJlYz0wLHQrKzt1PXguY2hhckNvZGVBdCh0KS00OCx1Pj0wJiZ1PD05OyllLnByZWM9ZS5wcmVjKjEwK3UsdCsrO3QtLTtjYXNlXCJkXCI6Y2FzZVwiaVwiOmUuc2lnbmVkY29udj0hMDtjYXNlXCJ1XCI6ZS5iYXNlPTEwO2JyZWFrO2Nhc2VcInhcIjplLmJhc2U9MTY7YnJlYWs7Y2FzZVwiWFwiOmUuYmFzZT0xNixlLnVwcGVyY2FzZT0hMDticmVhaztjYXNlXCJvXCI6ZS5iYXNlPTg7YnJlYWs7Y2FzZVwiZVwiOmNhc2VcImZcIjpjYXNlXCJnXCI6ZS5zaWduZWRjb252PSEwLGUuY29udj11O2JyZWFrO2Nhc2VcIkVcIjpjYXNlXCJGXCI6Y2FzZVwiR1wiOmUuc2lnbmVkY29udj0hMCxlLnVwcGVyY2FzZT0hMCxlLmNvbnY9dS50b0xvd2VyQ2FzZSgpO2JyZWFrfX1yZXR1cm4gZX1mdW5jdGlvbiBPTih4LHIpe3gudXBwZXJjYXNlJiYocj1yLnRvVXBwZXJDYXNlKCkpO3ZhciBlPXIubGVuZ3RoO3guc2lnbmVkY29udiYmKHguc2lnbjwwfHx4LnNpZ25zdHlsZSE9VWUpJiZlKysseC5hbHRlcm5hdGUmJih4LmJhc2U9PTgmJihlKz0xKSx4LmJhc2U9PTE2JiYoZSs9MikpO3ZhciB0PVowO2lmKHguanVzdGlmeT09cTcmJnguZmlsbGVyPT1odSlmb3IodmFyIHU9ZTt1PHgud2lkdGg7dSsrKXQrPWh1O2lmKHguc2lnbmVkY29udiYmKHguc2lnbjwwP3QrPVVlOnguc2lnbnN0eWxlIT1VZSYmKHQrPXguc2lnbnN0eWxlKSkseC5hbHRlcm5hdGUmJnguYmFzZT09OCYmKHQrPVkxKSx4LmFsdGVybmF0ZSYmeC5iYXNlPT0xNiYmKHQrPXgudXBwZXJjYXNlP1wiMFhcIjpZYSkseC5qdXN0aWZ5PT1xNyYmeC5maWxsZXI9PVkxKWZvcih2YXIgdT1lO3U8eC53aWR0aDt1KyspdCs9WTE7aWYodCs9cix4Lmp1c3RpZnk9PVVlKWZvcih2YXIgdT1lO3U8eC53aWR0aDt1KyspdCs9aHU7cmV0dXJuIHR9ZnVuY3Rpb24gRE4oeCxyKXtmdW5jdGlvbiBlKG0saCl7aWYoTWF0aC5hYnMobSk8MSlyZXR1cm4gbS50b0ZpeGVkKGgpO3ZhciBUPXBhcnNlSW50KG0udG9TdHJpbmcoKS5zcGxpdChxNylbMV0pO3JldHVybiBUPjIwPyhULT0yMCxtLz1NYXRoLnBvdygxMCxUKSxtKz1uZXcgQXJyYXkoVCsxKS5qb2luKFkxKSxoPjAmJihtPW0rY24rbmV3IEFycmF5KGgrMSkuam9pbihZMSkpLG0pOm0udG9GaXhlZChoKX12YXIgdCx1PUNOKHgpLGk9dS5wcmVjPDA/Njp1LnByZWM7aWYoKHI8MHx8cj09MCYmMS9yPT0tMS8wKSYmKHUuc2lnbj0tMSxyPS1yKSxpc05hTihyKSl0PWZJLHUuZmlsbGVyPWh1O2Vsc2UgaWYoIWlzRmluaXRlKHIpKXQ9XCJpbmZcIix1LmZpbGxlcj1odTtlbHNlIHN3aXRjaCh1LmNvbnYpe2Nhc2VcImVcIjp2YXIgdD1yLnRvRXhwb25lbnRpYWwoaSksYz10Lmxlbmd0aDt0LmNoYXJBdChjLTMpPT1ndyYmKHQ9dC5zbGljZSgwLGMtMSkrWTErdC5zbGljZShjLTEpKTticmVhaztjYXNlXCJmXCI6dD1lKHIsaSk7YnJlYWs7Y2FzZVwiZ1wiOmk9aXx8MSx0PXIudG9FeHBvbmVudGlhbChpLTEpO3ZhciB2PXQuaW5kZXhPZihndyksYT0rdC5zbGljZSh2KzEpO2lmKGE8LTR8fHI+PTFlMjF8fHIudG9GaXhlZCgwKS5sZW5ndGg+aSl7Zm9yKHZhciBjPXYtMTt0LmNoYXJBdChjKT09WTE7KWMtLTt0LmNoYXJBdChjKT09Y24mJmMtLSx0PXQuc2xpY2UoMCxjKzEpK3Quc2xpY2UodiksYz10Lmxlbmd0aCx0LmNoYXJBdChjLTMpPT1ndyYmKHQ9dC5zbGljZSgwLGMtMSkrWTErdC5zbGljZShjLTEpKTticmVha31lbHNle3ZhciBsPWk7aWYoYTwwKWwtPWErMSx0PXIudG9GaXhlZChsKTtlbHNlIGZvcig7dD1yLnRvRml4ZWQobCksdC5sZW5ndGg+aSsxOylsLS07aWYobCl7Zm9yKHZhciBjPXQubGVuZ3RoLTE7dC5jaGFyQXQoYyk9PVkxOyljLS07dC5jaGFyQXQoYyk9PWNuJiZjLS0sdD10LnNsaWNlKDAsYysxKX19YnJlYWt9cmV0dXJuIE9OKHUsdCl9ZnVuY3Rpb24gV20oeCxyKXtpZih4PT1PMylyZXR1cm4gWjArcjt2YXIgZT1DTih4KTtyPDAmJihlLnNpZ25lZGNvbnY/KGUuc2lnbj0tMSxyPS1yKTpyPj4+PTApO3ZhciB0PXIudG9TdHJpbmcoZS5iYXNlKTtpZihlLnByZWM+PTApe2UuZmlsbGVyPWh1O3ZhciB1PWUucHJlYy10Lmxlbmd0aDt1PjAmJih0PU0zKHUsWTEpK3QpfXJldHVybiBPTihlLHQpfXZhciBoTT0wO2Z1bmN0aW9uIGFzKCl7cmV0dXJuIGhNKyt9ZnVuY3Rpb24gZE0oKXtyZXR1cm5bMF19dmFyIFZtPVtdO2Z1bmN0aW9uIEJ4KHgscixlKXt2YXIgdD14WzFdLHU9Vm1bZV07aWYodT09PXZvaWQgMClmb3IodmFyIGk9Vm0ubGVuZ3RoO2k8ZTtpKyspVm1baV09MDtlbHNlIGlmKHRbdV09PT1yKXJldHVybiB0W3UtMV07Zm9yKHZhciBjPTMsdj10WzFdKjIrMSxhO2M8djspYT1jK3Y+PjF8MSxyPHRbYSsxXT92PWEtMjpjPWE7cmV0dXJuIFZtW2VdPWMrMSxyPT10W2MrMV0/dFtjXTowfWZ1bmN0aW9uIEt6KHgpe2Zvcih2YXIgcj1aMCxlPXIsdCx1LGk9MCxjPXgubGVuZ3RoO2k8YztpKyspe2lmKHQ9eC5jaGFyQ29kZUF0KGkpLHQ8Q3Qpe2Zvcih2YXIgdj1pKzE7djxjJiYodD14LmNoYXJDb2RlQXQodikpPEN0O3YrKyk7aWYodi1pPlpQPyhlLnN1YnN0cigwLDEpLHIrPWUsZT1aMCxyKz14LnNsaWNlKGksdikpOmUrPXguc2xpY2UoaSx2KSx2PT1jKWJyZWFrO2k9dn10PGNMPyhlKz1TdHJpbmcuZnJvbUNoYXJDb2RlKDE5Mnx0Pj42KSxlKz1TdHJpbmcuZnJvbUNoYXJDb2RlKEN0fHQmR2EpKTp0PDU1Mjk2fHx0Pj10Rj9lKz1TdHJpbmcuZnJvbUNoYXJDb2RlKFdGfHQ+PjEyLEN0fHQ+PjYmR2EsQ3R8dCZHYSk6dD49NTYzMTl8fGkrMT09Y3x8KHU9eC5jaGFyQ29kZUF0KGkrMSkpPE5GfHx1PnRGP2UrPVwiXFx4RUZcXHhCRlxceEJEXCI6KGkrKyx0PSh0PDwxMCkrdS01NjYxMzg4OCxlKz1TdHJpbmcuZnJvbUNoYXJDb2RlKE1EfHQ+PjE4LEN0fHQ+PjEyJkdhLEN0fHQ+PjYmR2EsQ3R8dCZHYSkpLGUubGVuZ3RoPmU2JiYoZS5zdWJzdHIoMCwxKSxyKz1lLGU9WjApfXJldHVybiByK2V9ZnVuY3Rpb24gRHQoeCl7cmV0dXJuIGJOKHgpP3g6S3ooeCl9ZnVuY3Rpb24gSnooeCxyLGUpe2lmKCFpc0Zpbml0ZSh4KSlyZXR1cm4gaXNOYU4oeCk/RHQoZkkpOkR0KHg+MD9yTDpcIi1pbmZpbml0eVwiKTt2YXIgdD14PT0wJiYxL3g9PS0xLzA/MTp4Pj0wPzA6MTt0JiYoeD0teCk7dmFyIHU9MDtpZih4IT0wKWlmKHg8MSlmb3IoO3g8MSYmdT4tMTAyMjspeCo9Mix1LS07ZWxzZSBmb3IoO3g+PTI7KXgvPTIsdSsrO3ZhciBpPXU8MD9aMDpxNyxjPVowO2lmKHQpYz1VZTtlbHNlIHN3aXRjaChlKXtjYXNlIDQzOmM9cTc7YnJlYWs7Y2FzZSAzMjpjPWh1O2JyZWFrO2RlZmF1bHQ6YnJlYWt9aWYocj49MCYmcjwxMyl7dmFyIHY9TWF0aC5wb3coMixyKjQpO3g9TWF0aC5yb3VuZCh4KnYpL3Z9dmFyIGE9eC50b1N0cmluZygxNik7aWYocj49MCl7dmFyIGw9YS5pbmRleE9mKGNuKTtpZihsPDApYSs9Y24rTTMocixZMSk7ZWxzZXt2YXIgbT1sKzErcjthLmxlbmd0aDxtP2ErPU0zKG0tYS5sZW5ndGgsWTEpOmE9YS5zdWJzdHIoMCxtKX19cmV0dXJuIER0KGMrWWErYStcInBcIitpK3UudG9TdHJpbmcoMTApKX1mdW5jdGlvbiBHeih4KXtyZXR1cm4reC5pc1plcm8oKX1mdW5jdGlvbiBUNih4KXtyZXR1cm4gbmV3IGVyKHgmQ2MseD4+MjQmQ2MseD4+MzEmWnQpfWZ1bmN0aW9uIFd6KHgpe3JldHVybiB4LnRvSW50KCl9ZnVuY3Rpb24gVnooeCl7cmV0dXJuK3guaXNOZWcoKX1mdW5jdGlvbiBGTih4KXtyZXR1cm4geC5uZWcoKX1mdW5jdGlvbiB5TSh4LHIpe3ZhciBlPUNOKHgpO2Uuc2lnbmVkY29udiYmVnoocikmJihlLnNpZ249LTEscj1GTihyKSk7dmFyIHQ9WjAsdT1UNihlLmJhc2UpLGk9XCIwMTIzNDU2Nzg5YWJjZGVmXCI7ZG97dmFyIGM9ci51ZGl2bW9kKHUpO3I9Yy5xdW90aWVudCx0PWkuY2hhckF0KFd6KGMubW9kdWx1cykpK3R9d2hpbGUoIUd6KHIpKTtpZihlLnByZWM+PTApe2UuZmlsbGVyPWh1O3ZhciB2PWUucHJlYy10Lmxlbmd0aDt2PjAmJih0PU0zKHYsWTEpK3QpfXJldHVybiBPTihlLHQpfWZ1bmN0aW9uIE54KHgpe3JldHVybiB4Lmxlbmd0aH1mdW5jdGlvbiBKMCh4LHIpe3JldHVybiB4LmNoYXJDb2RlQXQocil9ZnVuY3Rpb24gZ00oeCxyKXtyZXR1cm4geC5hZGQocil9ZnVuY3Rpb24gd00oeCxyKXtyZXR1cm4geC5tdWwocil9ZnVuY3Rpb24gUk4oeCxyKXtyZXR1cm4geC51Y29tcGFyZShyKTwwfWZ1bmN0aW9uIF9NKHgpe3ZhciByPTAsZT1OeCh4KSx0PTEwLHU9MTtpZihlPjApc3dpdGNoKEowKHgscikpe2Nhc2UgNDU6cisrLHU9LTE7YnJlYWs7Y2FzZSA0MzpyKyssdT0xO2JyZWFrfWlmKHIrMTxlJiZKMCh4LHIpPT00OClzd2l0Y2goSjAoeCxyKzEpKXtjYXNlIDEyMDpjYXNlIDg4OnQ9MTYscis9MjticmVhaztjYXNlIDExMTpjYXNlIDc5OnQ9OCxyKz0yO2JyZWFrO2Nhc2UgOTg6Y2FzZSA2Njp0PTIscis9MjticmVhaztjYXNlIDExNzpjYXNlIDg1OnIrPTI7YnJlYWt9cmV0dXJuW3IsdSx0XX1mdW5jdGlvbiAkbSh4KXtyZXR1cm4geD49NDgmJng8PTU3P3gtNDg6eD49NjUmJng8PTkwP3gtNTU6eD49OTcmJng8PXMyP3gtODc6LTF9ZnVuY3Rpb24gb3YoeCl7dmFyIHI9X00oeCksZT1yWzBdLHQ9clsxXSx1PXJbMl0saT1UNih1KSxjPW5ldyBlcihDYywyNjg0MzU0NTUsWnQpLnVkaXZtb2QoaSkucXVvdGllbnQsdj1KMCh4LGUpLGE9JG0odik7KGE8MHx8YT49dSkmJlcxKEtzKTtmb3IodmFyIGw9VDYoYSk7OylpZihlKyssdj1KMCh4LGUpLHYhPTk1KXtpZihhPSRtKHYpLGE8MHx8YT49dSlicmVhaztSTihjLGwpJiZXMShLcyksYT1UNihhKSxsPWdNKHdNKGksbCksYSksUk4obCxhKSYmVzEoS3MpfXJldHVybiBlIT1OeCh4KSYmVzEoS3MpLHU9PTEwJiZSTihuZXcgZXIoMCwwLG5uKSxsKSYmVzEoS3MpLHQ8MCYmKGw9Rk4obCkpLGx9ZnVuY3Rpb24gYk0oeCxyKXtyZXR1cm4geC5vcihyKX1mdW5jdGlvbiBRbSh4KXtyZXR1cm4geC50b0Zsb2F0KCl9ZnVuY3Rpb24gdnQoeCl7dmFyIHI9X00oeCksZT1yWzBdLHQ9clsxXSx1PXJbMl0saT1OeCh4KSxjPS0xPj4+MCx2PWU8aT9KMCh4LGUpOjAsYT0kbSh2KTsoYTwwfHxhPj11KSYmVzEoS3MpO3ZhciBsPWE7Zm9yKGUrKztlPGk7ZSsrKWlmKHY9SjAoeCxlKSx2IT05NSl7aWYoYT0kbSh2KSxhPDB8fGE+PXUpYnJlYWs7bD11KmwrYSxsPmMmJlcxKEtzKX1yZXR1cm4gZSE9aSYmVzEoS3MpLGw9dCpsLHU9PTEwJiYobHwwKSE9bCYmVzEoS3MpLGx8MH1mdW5jdGlvbiBKeCh4KXtyZXR1cm4gYk4oeCk/eDpuTSh4KX1mdW5jdGlvbiAkeih4KXtmb3IodmFyIHI9e30sZT0xO2U8eC5sZW5ndGg7ZSsrKXt2YXIgdD14W2VdO3JbSngodFsxXSldPXRbMl19cmV0dXJuIHJ9dmFyIEhtPXNzO2Z1bmN0aW9uIFF6KHgpe3JldHVybiB4Lmw+PTA/eC5sOngubD14Lmxlbmd0aH1mdW5jdGlvbiBIeih4KXtyZXR1cm4gZnVuY3Rpb24oKXtmb3IodmFyIHI9UXooeCksZT1uZXcgQXJyYXkociksdD0wO3Q8cjt0KyspZVt0XT1hcmd1bWVudHNbdF07cmV0dXJuIEhtKHgsZSl9fWZ1bmN0aW9uIExOKHgscixlKXtyZXR1cm4geFswXT09cj8oeFswXT1lLDEpOjB9ZnVuY3Rpb24gWnooeCl7cmV0dXJuIExOKHgsem8sQTMpLDB9ZnVuY3Rpb24geEsoeCl7cmV0dXJuIHggaW5zdGFuY2VvZiBBcnJheSYmeFswXT09eFswXT4+PjAmJkxOKHgsQTMsem8pPzA6MX1mdW5jdGlvbiBySyh4KXtyZXR1cm4gTE4oeCx6byxEMyksMH1mdW5jdGlvbiBlSyh4LHIpe3JldHVybisoSm0oeCxyLCExKTwwKX1mdW5jdGlvbiBUTSh4KXtyZXR1cm4geH1mdW5jdGlvbiB0Syh4LHIpe3JldHVybiB4LmdldCh4Lm9mZnNldChyKSl9ZnVuY3Rpb24gbksoeCxyKXtyZXR1cm4geC54b3Iocil9ZnVuY3Rpb24gdUsoeCxyKXtyZXR1cm4geC5zaGlmdF9yaWdodF91bnNpZ25lZChyKX1mdW5jdGlvbiBpSyh4LHIpe3JldHVybiB4LnNoaWZ0X2xlZnQocil9ZnVuY3Rpb24gWm0oeCl7ZnVuY3Rpb24gcihCLEspe3JldHVybiBpSyhCLEspfWZ1bmN0aW9uIGUoQixLKXtyZXR1cm4gdUsoQixLKX1mdW5jdGlvbiB0KEIsSyl7cmV0dXJuIGJNKEIsSyl9ZnVuY3Rpb24gdShCLEspe3JldHVybiBuSyhCLEspfWZ1bmN0aW9uIGkoQixLKXtyZXR1cm4gZ00oQixLKX1mdW5jdGlvbiBjKEIsSyl7cmV0dXJuIHdNKEIsSyl9ZnVuY3Rpb24gdihCLEspe3JldHVybiB0KHIoQixLKSxlKEIsNjQtSykpfWZ1bmN0aW9uIGEoQixLKXtyZXR1cm4gdEsoQixLKX1mdW5jdGlvbiBsKEIsSyxuMCl7cmV0dXJuIF82KEIsSyxuMCl9dmFyIG09b3YoVE0oXCIweGQxMzQyNTQzZGU4MmVmOTVcIikpLGg9b3YoVE0oXCIweGRhYmEwYjZlYjA5MzIyZTNcIikpLFQsTSx6LGI9eCxOPWEoYiwwKSxqPWEoYiwxKSxJPWEoYiwyKSxGPWEoYiwzKTtUPWkoaixJKSxUPWModShULGUoVCwzMikpLGgpLFQ9Yyh1KFQsZShULDMyKSksaCksVD11KFQsZShULDMyKSksbChiLDEsaShjKGosbSksTikpO3ZhciBNPUksej1GO3JldHVybiB6PXUoeixNKSxNPXYoTSwyNCksTT11KHUoTSx6KSxyKHosMTYpKSx6PXYoeiwzNyksbChiLDIsTSksbChiLDMseiksVH1mdW5jdGlvbiAkYShlLHIpe2U8MCYmdzYoKTt2YXIgZT1lKzF8MCx0PW5ldyBBcnJheShlKTt0WzBdPTA7Zm9yKHZhciB1PTE7dTxlO3UrKyl0W3VdPXI7cmV0dXJuIHR9ZnVuY3Rpb24gZksoKXt2YXIgeD1uZXcgQXJyYXlCdWZmZXIoNjQpLHI9bmV3IFVpbnQzMkFycmF5KHgpLGU9bmV3IFVpbnQ4QXJyYXkoeCk7cmV0dXJue2xlbjowLHc6bmV3IFVpbnQzMkFycmF5KFsxNzMyNTg0MTkzLDQwMjMyMzM0MTcsMjU2MjM4MzEwMiwyNzE3MzM4NzhdKSxiMzI6cixiODplfX12YXIgeDU9ZnVuY3Rpb24oKXtmdW5jdGlvbiB4KGMsdil7cmV0dXJuIGMrdnwwfWZ1bmN0aW9uIHIoYyx2LGEsbCxtLGgpe3JldHVybiB2PXgoeCh2LGMpLHgobCxoKSkseCh2PDxtfHY+Pj4zMi1tLGEpfWZ1bmN0aW9uIGUoYyx2LGEsbCxtLGgsVCl7cmV0dXJuIHIodiZhfH52JmwsYyx2LG0saCxUKX1mdW5jdGlvbiB0KGMsdixhLGwsbSxoLFQpe3JldHVybiByKHYmbHxhJn5sLGMsdixtLGgsVCl9ZnVuY3Rpb24gdShjLHYsYSxsLG0saCxUKXtyZXR1cm4gcih2XmFebCxjLHYsbSxoLFQpfWZ1bmN0aW9uIGkoYyx2LGEsbCxtLGgsVCl7cmV0dXJuIHIoYV4odnx+bCksYyx2LG0saCxUKX1yZXR1cm4gZnVuY3Rpb24oYyx2KXt2YXIgYT1jWzBdLGw9Y1sxXSxtPWNbMl0saD1jWzNdO2E9ZShhLGwsbSxoLHZbMF0sNywzNjE0MDkwMzYwKSxoPWUoaCxhLGwsbSx2WzFdLDEyLDM5MDU0MDI3MTApLG09ZShtLGgsYSxsLHZbMl0sMTcsNjA2MTA1ODE5KSxsPWUobCxtLGgsYSx2WzNdLDIyLDMyNTA0NDE5NjYpLGE9ZShhLGwsbSxoLHZbNF0sNyw0MTE4NTQ4Mzk5KSxoPWUoaCxhLGwsbSx2WzVdLDEyLDEyMDAwODA0MjYpLG09ZShtLGgsYSxsLHZbNl0sMTcsMjgyMTczNTk1NSksbD1lKGwsbSxoLGEsdls3XSwyMiw0MjQ5MjYxMzEzKSxhPWUoYSxsLG0saCx2WzhdLDcsMTc3MDAzNTQxNiksaD1lKGgsYSxsLG0sdls5XSwxMiwyMzM2NTUyODc5KSxtPWUobSxoLGEsbCx2WzEwXSwxNyw0Mjk0OTI1MjMzKSxsPWUobCxtLGgsYSx2WzExXSwyMiwyMzA0NTYzMTM0KSxhPWUoYSxsLG0saCx2WzEyXSw3LDE4MDQ2MDM2ODIpLGg9ZShoLGEsbCxtLHZbMTNdLDEyLDQyNTQ2MjYxOTUpLG09ZShtLGgsYSxsLHZbMTRdLDE3LDI3OTI5NjUwMDYpLGw9ZShsLG0saCxhLHZbMTVdLDIyLDEyMzY1MzUzMjkpLGE9dChhLGwsbSxoLHZbMV0sNSw0MTI5MTcwNzg2KSxoPXQoaCxhLGwsbSx2WzZdLDksMzIyNTQ2NTY2NCksbT10KG0saCxhLGwsdlsxMV0sMTQsNjQzNzE3NzEzKSxsPXQobCxtLGgsYSx2WzBdLDIwLDM5MjEwNjk5OTQpLGE9dChhLGwsbSxoLHZbNV0sNSwzNTkzNDA4NjA1KSxoPXQoaCxhLGwsbSx2WzEwXSw5LDM4MDE2MDgzKSxtPXQobSxoLGEsbCx2WzE1XSwxNCwzNjM0NDg4OTYxKSxsPXQobCxtLGgsYSx2WzRdLDIwLDM4ODk0Mjk0NDgpLGE9dChhLGwsbSxoLHZbOV0sNSw1Njg0NDY0MzgpLGg9dChoLGEsbCxtLHZbMTRdLDksMzI3NTE2MzYwNiksbT10KG0saCxhLGwsdlszXSwxNCw0MTA3NjAzMzM1KSxsPXQobCxtLGgsYSx2WzhdLDIwLDExNjM1MzE1MDEpLGE9dChhLGwsbSxoLHZbMTNdLDUsMjg1MDI4NTgyOSksaD10KGgsYSxsLG0sdlsyXSw5LDQyNDM1NjM1MTIpLG09dChtLGgsYSxsLHZbN10sMTQsMTczNTMyODQ3MyksbD10KGwsbSxoLGEsdlsxMl0sMjAsMjM2ODM1OTU2MiksYT11KGEsbCxtLGgsdls1XSw0LDQyOTQ1ODg3MzgpLGg9dShoLGEsbCxtLHZbOF0sMTEsMjI3MjM5MjgzMyksbT11KG0saCxhLGwsdlsxMV0sMTYsMTgzOTAzMDU2MiksbD11KGwsbSxoLGEsdlsxNF0sMjMsNDI1OTY1Nzc0MCksYT11KGEsbCxtLGgsdlsxXSw0LDI3NjM5NzUyMzYpLGg9dShoLGEsbCxtLHZbNF0sMTEsMTI3Mjg5MzM1MyksbT11KG0saCxhLGwsdls3XSwxNiw0MTM5NDY5NjY0KSxsPXUobCxtLGgsYSx2WzEwXSwyMywzMjAwMjM2NjU2KSxhPXUoYSxsLG0saCx2WzEzXSw0LDY4MTI3OTE3NCksaD11KGgsYSxsLG0sdlswXSwxMSwzOTM2NDMwMDc0KSxtPXUobSxoLGEsbCx2WzNdLDE2LDM1NzI0NDUzMTcpLGw9dShsLG0saCxhLHZbNl0sMjMsNzYwMjkxODkpLGE9dShhLGwsbSxoLHZbOV0sNCwzNjU0NjAyODA5KSxoPXUoaCxhLGwsbSx2WzEyXSwxMSwzODczMTUxNDYxKSxtPXUobSxoLGEsbCx2WzE1XSwxNiw1MzA3NDI1MjApLGw9dShsLG0saCxhLHZbMl0sMjMsMzI5OTYyODY0NSksYT1pKGEsbCxtLGgsdlswXSw2LDQwOTYzMzY0NTIpLGg9aShoLGEsbCxtLHZbN10sMTAsMTEyNjg5MTQxNSksbT1pKG0saCxhLGwsdlsxNF0sMTUsMjg3ODYxMjM5MSksbD1pKGwsbSxoLGEsdls1XSwyMSw0MjM3NTMzMjQxKSxhPWkoYSxsLG0saCx2WzEyXSw2LDE3MDA0ODU1NzEpLGg9aShoLGEsbCxtLHZbM10sMTAsMjM5OTk4MDY5MCksbT1pKG0saCxhLGwsdlsxMF0sMTUsNDI5MzkxNTc3MyksbD1pKGwsbSxoLGEsdlsxXSwyMSwyMjQwMDQ0NDk3KSxhPWkoYSxsLG0saCx2WzhdLDYsMTg3MzMxMzM1OSksaD1pKGgsYSxsLG0sdlsxNV0sMTAsNDI2NDM1NTU1MiksbT1pKG0saCxhLGwsdls2XSwxNSwyNzM0NzY4OTE2KSxsPWkobCxtLGgsYSx2WzEzXSwyMSwxMzA5MTUxNjQ5KSxhPWkoYSxsLG0saCx2WzRdLDYsNDE0OTQ0NDIyNiksaD1pKGgsYSxsLG0sdlsxMV0sMTAsMzE3NDc1NjkxNyksbT1pKG0saCxhLGwsdlsyXSwxNSw3MTg3ODcyNTkpLGw9aShsLG0saCxhLHZbOV0sMjEsMzk1MTQ4MTc0NSksY1swXT14KGEsY1swXSksY1sxXT14KGwsY1sxXSksY1syXT14KG0sY1syXSksY1szXT14KGgsY1szXSl9fSgpO2Z1bmN0aW9uIGNLKHgscixlKXt2YXIgdD14LmxlbiZHYSx1PTA7aWYoeC5sZW4rPWUsdCl7dmFyIGk9NjQtdDtpZihlPGkpe3guYjguc2V0KHIuc3ViYXJyYXkoMCxlKSx0KTtyZXR1cm59eC5iOC5zZXQoci5zdWJhcnJheSgwLGkpLHQpLHg1KHgudyx4LmIzMiksZS09aSx1Kz1pfWZvcig7ZT49NjQ7KXguYjguc2V0KHIuc3ViYXJyYXkodSx1KzY0KSwwKSx4NSh4LncseC5iMzIpLGUtPTY0LHUrPTY0O2UmJnguYjguc2V0KHIuc3ViYXJyYXkodSx1K2UpLDApfWZ1bmN0aW9uIHNLKHgpe3ZhciByPXgubGVuJkdhO2lmKHguYjhbcl09Q3QscisrLHI+NTYpe2Zvcih2YXIgZT1yO2U8NjQ7ZSsrKXguYjhbZV09MDt4NSh4LncseC5iMzIpO2Zvcih2YXIgZT0wO2U8NTY7ZSsrKXguYjhbZV09MH1lbHNlIGZvcih2YXIgZT1yO2U8NTY7ZSsrKXguYjhbZV09MDt4LmIzMlsxNF09eC5sZW48PDMseC5iMzJbMTVdPXgubGVuPj4yOSY1MzY4NzA5MTEseDUoeC53LHguYjMyKTtmb3IodmFyIHQ9bmV3IFVpbnQ4QXJyYXkoMTYpLHU9MDt1PDQ7dSsrKWZvcih2YXIgZT0wO2U8NDtlKyspdFt1KjQrZV09eC53W3VdPj44KmUmMjU1O3JldHVybiB0fWZ1bmN0aW9uIE1OKHgpe3JldHVybiB4LnQhPTQmJlltKHgpLHguY31mdW5jdGlvbiBhSyh4KXtyZXR1cm4gYjYoeCwwLHgubGVuZ3RoKX1mdW5jdGlvbiBvSyh4LHIsZSl7dmFyIHQ9ZksoKSx1PU1OKHgpO3JldHVybiBjSyh0LHUuc3ViYXJyYXkocixyK2UpLGUpLGFLKHNLKHQpKX1mdW5jdGlvbiB2Syh4LHIsZSl7cmV0dXJuIG9LKE90KHgpLHIsZSl9ZnVuY3Rpb24gRnQoeCl7cmV0dXJuIHgubH1mdW5jdGlvbiBsSygpe3JldHVybiAwfWZ1bmN0aW9uIGpyKHgpe3lOKEcxLlN5c19lcnJvcix4KX12YXIgZmE9bmV3IEFycmF5O2Z1bmN0aW9uIGFuKHgpe3ZhciByPWZhW3hdO3JldHVybiByLm9wZW5lZHx8anIoXCJDYW5ub3QgZmx1c2ggYSBjbG9zZWQgY2hhbm5lbFwiKSwhci5idWZmZXJ8fHIuYnVmZmVyX2N1cnI9PTB8fChyLm91dHB1dD9yLm91dHB1dChiNihyLmJ1ZmZlciwwLHIuYnVmZmVyX2N1cnIpKTpyLmZpbGUud3JpdGUoci5vZmZzZXQsci5idWZmZXIsMCxyLmJ1ZmZlcl9jdXJyKSxyLm9mZnNldCs9ci5idWZmZXJfY3VycixyLmJ1ZmZlcl9jdXJyPTApLDB9ZnVuY3Rpb24gRU0oKXt9ZnVuY3Rpb24ga1MwKHgpe2Zvcih2YXIgcj1OeCh4KSxlPW5ldyBVaW50OEFycmF5KHIpLHQ9MDt0PHI7dCsrKWVbdF09SjAoeCx0KTtyZXR1cm4gZX1mdW5jdGlvbiBvbih4LHIpe3RoaXMuZnM9e30sdGhpcy5mZD14LHRoaXMuZmxhZ3M9cn1vbi5wcm90b3R5cGU9bmV3IEVNLG9uLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1vbixvbi5wcm90b3R5cGUudHJ1bmNhdGU9ZnVuY3Rpb24oeCl7dHJ5e3RoaXMuZnMuZnRydW5jYXRlU3luYyh0aGlzLmZkLHh8MCl9Y2F0Y2gocil7anIoci50b1N0cmluZygpKX19LG9uLnByb3RvdHlwZS5sZW5ndGg9ZnVuY3Rpb24oKXt0cnl7cmV0dXJuIHRoaXMuZnMuZnN0YXRTeW5jKHRoaXMuZmQpLnNpemV9Y2F0Y2goeCl7anIoeC50b1N0cmluZygpKX19LG9uLnByb3RvdHlwZS53cml0ZT1mdW5jdGlvbih4LHIsZSx0KXt0cnl7dGhpcy5mbGFncy5pc0NoYXJhY3RlckRldmljZT90aGlzLmZzLndyaXRlU3luYyh0aGlzLmZkLHIsZSx0KTp0aGlzLmZzLndyaXRlU3luYyh0aGlzLmZkLHIsZSx0LHgpfWNhdGNoKHUpe2pyKHUudG9TdHJpbmcoKSl9cmV0dXJuIDB9LG9uLnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKHgscixlLHQpe3RyeXtpZih0aGlzLmZsYWdzLmlzQ2hhcmFjdGVyRGV2aWNlKXZhciB1PXRoaXMuZnMucmVhZFN5bmModGhpcy5mZCxyLGUsdCk7ZWxzZSB2YXIgdT10aGlzLmZzLnJlYWRTeW5jKHRoaXMuZmQscixlLHQseCk7cmV0dXJuIHV9Y2F0Y2goaSl7anIoaS50b1N0cmluZygpKX19LG9uLnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe3RyeXtyZXR1cm4gdGhpcy5mcy5jbG9zZVN5bmModGhpcy5mZCksMH1jYXRjaCh4KXtqcih4LnRvU3RyaW5nKCkpfX07ZnVuY3Rpb24gcEsoeCxyKXtpZihyLm5hbWUpdHJ5e3ZhciBlPXt9LHQ9ZS5vcGVuU3luYyhyLm5hbWUsXCJyc1wiKTtyZXR1cm4gbmV3IG9uKHQscil9Y2F0Y2h7fXJldHVybiBuZXcgb24oeCxyKX12YXIgcjU9bmV3IEFycmF5KDMpO2Z1bmN0aW9uIEU2KCl7cmV0dXJuIHR5cGVvZiBvMC5wcm9jZXNzPFwidVwiJiZ0eXBlb2YgbzAucHJvY2Vzcy52ZXJzaW9uczxcInVcIiYmdHlwZW9mIG8wLnByb2Nlc3MudmVyc2lvbnMubm9kZTxcInVcIn1mdW5jdGlvbiBrSygpe2Z1bmN0aW9uIHgoZSl7aWYoZS5jaGFyQXQoMCk9PT11ZSlyZXR1cm5bWjAsZS5zdWJzdHJpbmcoMSldfWZ1bmN0aW9uIHIoZSl7dmFyIHQ9L14oW2EtekEtWl06fFtcXFxcL117Mn1bXlxcXFwvXStbXFxcXC9dK1teXFxcXC9dKyk/KFtcXFxcL10pPyhbXFxzXFxTXSo/KSQvLHU9dC5leGVjKGUpLGk9dVsxXXx8WjAsYz0hIShpJiZpLmNoYXJBdCgxKSE9PU1vKTtpZih1WzJdfHxjKXt2YXIgdj11WzFdfHxaMCxhPXVbMl18fFowO3JldHVyblt2LGUuc3Vic3RyaW5nKHYubGVuZ3RoK2EubGVuZ3RoKV19fXJldHVybiBFNigpJiZvMC5wcm9jZXNzJiZvMC5wcm9jZXNzLnBsYXRmb3JtJiZvMC5wcm9jZXNzLnBsYXRmb3JtPT09X08/cjp4fXZhciBxTj1rSygpO2Z1bmN0aW9uIFNNKHgpe3JldHVybiB4LnNsaWNlKC0xKSE9PXVlP3grdWU6eH1pZihFNigpJiZvMC5wcm9jZXNzJiZvMC5wcm9jZXNzLmN3ZCl2YXIgUzY9bzAucHJvY2Vzcy5jd2QoKS5yZXBsYWNlKC9cXFxcL2csdWUpO2Vsc2UgdmFyIFM2PVwiL3N0YXRpY1wiO1M2PVNNKFM2KTtmdW5jdGlvbiBtSyh4KXt4PUp4KHgpLHFOKHgpfHwoeD1TNit4KTtmb3IodmFyIHI9cU4oeCksZT1yWzFdLnNwbGl0KHVlKSx0PVtdLHU9MDt1PGUubGVuZ3RoO3UrKylzd2l0Y2goZVt1XSl7Y2FzZVwiLi5cIjp0Lmxlbmd0aD4xJiZ0LnBvcCgpO2JyZWFrO2Nhc2VcIi5cIjpicmVhaztjYXNlXCJcIjpicmVhaztkZWZhdWx0OnQucHVzaChlW3VdKTticmVha31yZXR1cm4gdC51bnNoaWZ0KHJbMF0pLHQub3JpZz14LHR9dmFyIGhLPVtcIkUyQklHXCIsXCJFQUNDRVNcIixcIkVBR0FJTlwiLEJJLFwiRUJVU1lcIixcIkVDSElMRFwiLFwiRURFQURMS1wiLFwiRURPTVwiLEZPLFwiRUZBVUxUXCIsXCJFRkJJR1wiLFwiRUlOVFJcIixcIkVJTlZBTFwiLFwiRUlPXCIsXCJFSVNESVJcIixcIkVNRklMRVwiLFwiRU1MSU5LXCIsXCJFTkFNRVRPT0xPTkdcIixcIkVORklMRVwiLFwiRU5PREVWXCIsX3csXCJFTk9FWEVDXCIsXCJFTk9MQ0tcIixcIkVOT01FTVwiLFwiRU5PU1BDXCIsXCJFTk9TWVNcIixHZyxvRCxcIkVOT1RUWVwiLFwiRU5YSU9cIixcIkVQRVJNXCIsXCJFUElQRVwiLFwiRVJBTkdFXCIsXCJFUk9GU1wiLFwiRVNQSVBFXCIsXCJFU1JDSFwiLFwiRVhERVZcIixcIkVXT1VMREJMT0NLXCIsXCJFSU5QUk9HUkVTU1wiLFwiRUFMUkVBRFlcIixcIkVOT1RTT0NLXCIsXCJFREVTVEFERFJSRVFcIixcIkVNU0dTSVpFXCIsXCJFUFJPVE9UWVBFXCIsXCJFTk9QUk9UT09QVFwiLFwiRVBST1RPTk9TVVBQT1JUXCIsXCJFU09DS1ROT1NVUFBPUlRcIixcIkVPUE5PVFNVUFBcIixcIkVQRk5PU1VQUE9SVFwiLFwiRUFGTk9TVVBQT1JUXCIsXCJFQUREUklOVVNFXCIsXCJFQUREUk5PVEFWQUlMXCIsXCJFTkVURE9XTlwiLFwiRU5FVFVOUkVBQ0hcIixcIkVORVRSRVNFVFwiLFwiRUNPTk5BQk9SVEVEXCIsXCJFQ09OTlJFU0VUXCIsXCJFTk9CVUZTXCIsXCJFSVNDT05OXCIsXCJFTk9UQ09OTlwiLFwiRVNIVVRET1dOXCIsXCJFVE9PTUFOWVJFRlNcIixcIkVUSU1FRE9VVFwiLFwiRUNPTk5SRUZVU0VEXCIsXCJFSE9TVERPV05cIixcIkVIT1NUVU5SRUFDSFwiLFwiRUxPT1BcIixcIkVPVkVSRkxPV1wiXTtmdW5jdGlvbiBjYSh4LHIsZSx0KXt2YXIgdT1oSy5pbmRleE9mKHgpO3U8MCYmKHQ9PW51bGwmJih0PS05OTk5KSx1PVswLHRdKTt2YXIgaT1bdSxEdChyfHxaMCksRHQoZXx8WjApXTtyZXR1cm4gaX12YXIgQU09e307ZnVuY3Rpb24gUWEoeCl7cmV0dXJuIEFNW3hdfWZ1bmN0aW9uIHNhKHgscil7dGhyb3cgVzAoWzAseF0uY29uY2F0KHIpKX1mdW5jdGlvbiBVTih4KXtyZXR1cm4geCBpbnN0YW5jZW9mIFVpbnQ4QXJyYXl8fCh4PW5ldyBVaW50OEFycmF5KHgpKSxuZXcgbmEoNCx4LHgubGVuZ3RoKX1mdW5jdGlvbiBQTSh4KXtqcih4K1E0KX1mdW5jdGlvbiBhZSh4KXt0aGlzLmRhdGE9eH1hZS5wcm90b3R5cGU9bmV3IEVNLGFlLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1hZSxhZS5wcm90b3R5cGUudHJ1bmNhdGU9ZnVuY3Rpb24oeCl7dmFyIHI9dGhpcy5kYXRhO3RoaXMuZGF0YT1TMih4fDApLHRhKHIsMCx0aGlzLmRhdGEsMCx4KX0sYWUucHJvdG90eXBlLmxlbmd0aD1mdW5jdGlvbigpe3JldHVybiBGdCh0aGlzLmRhdGEpfSxhZS5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oeCxyLGUsdCl7dmFyIHU9dGhpcy5sZW5ndGgoKTtpZih4K3Q+PXUpe3ZhciBpPVMyKHgrdCksYz10aGlzLmRhdGE7dGhpcy5kYXRhPWksdGEoYywwLHRoaXMuZGF0YSwwLHUpfXJldHVybiB0YShVTihyKSxlLHRoaXMuZGF0YSx4LHQpLDB9LGFlLnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKHgscixlLHQpe3ZhciB1PXRoaXMubGVuZ3RoKCk7aWYoeCt0Pj11JiYodD11LXgpLHQpe3ZhciBpPVMyKHR8MCk7dGEodGhpcy5kYXRhLHgsaSwwLHQpLHIuc2V0KE1OKGkpLGUpfXJldHVybiB0fTtmdW5jdGlvbiB2dih4LHIsZSl7dGhpcy5maWxlPXIsdGhpcy5uYW1lPXgsdGhpcy5mbGFncz1lfXZ2LnByb3RvdHlwZS5lcnJfY2xvc2VkPWZ1bmN0aW9uKCl7anIodGhpcy5uYW1lK0VGKX0sdnYucHJvdG90eXBlLmxlbmd0aD1mdW5jdGlvbigpe2lmKHRoaXMuZmlsZSlyZXR1cm4gdGhpcy5maWxlLmxlbmd0aCgpO3RoaXMuZXJyX2Nsb3NlZCgpfSx2di5wcm90b3R5cGUud3JpdGU9ZnVuY3Rpb24oeCxyLGUsdCl7aWYodGhpcy5maWxlKXJldHVybiB0aGlzLmZpbGUud3JpdGUoeCxyLGUsdCk7dGhpcy5lcnJfY2xvc2VkKCl9LHZ2LnByb3RvdHlwZS5yZWFkPWZ1bmN0aW9uKHgscixlLHQpe2lmKHRoaXMuZmlsZSlyZXR1cm4gdGhpcy5maWxlLnJlYWQoeCxyLGUsdCk7dGhpcy5lcnJfY2xvc2VkKCl9LHZ2LnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe3RoaXMuZmlsZT12b2lkIDB9O2Z1bmN0aW9uIHcxKHgscil7dGhpcy5jb250ZW50PXt9LHRoaXMucm9vdD14LHRoaXMubG9va3VwRnVuPXJ9dzEucHJvdG90eXBlLm5tPWZ1bmN0aW9uKHgpe3JldHVybiB0aGlzLnJvb3QreH0sdzEucHJvdG90eXBlLmNyZWF0ZV9kaXJfaWZfbmVlZGVkPWZ1bmN0aW9uKHgpe2Zvcih2YXIgcj14LnNwbGl0KHVlKSxlPVowLHQ9MDt0PHIubGVuZ3RoLTE7dCsrKWUrPXJbdF0rdWUsIXRoaXMuY29udGVudFtlXSYmKHRoaXMuY29udGVudFtlXT1TeW1ib2woXCJkaXJlY3RvcnlcIikpfSx3MS5wcm90b3R5cGUuc2xhc2g9ZnVuY3Rpb24oeCl7cmV0dXJuL1xcLyQvLnRlc3QoeCk/eDp4K3VlfSx3MS5wcm90b3R5cGUubG9va3VwPWZ1bmN0aW9uKHgpe2lmKCF0aGlzLmNvbnRlbnRbeF0mJnRoaXMubG9va3VwRnVuKXt2YXIgcj10aGlzLmxvb2t1cEZ1bih0aGlzLnJvb3QseCk7ciE9PTAmJih0aGlzLmNyZWF0ZV9kaXJfaWZfbmVlZGVkKHgpLHRoaXMuY29udGVudFt4XT1uZXcgYWUoT3QoclsxXSkpKX19LHcxLnByb3RvdHlwZS5leGlzdHM9ZnVuY3Rpb24oeCl7aWYoeD09WjApcmV0dXJuIDE7dmFyIHI9dGhpcy5zbGFzaCh4KTtyZXR1cm4gdGhpcy5jb250ZW50W3JdPzE6KHRoaXMubG9va3VwKHgpLHRoaXMuY29udGVudFt4XT8xOjApfSx3MS5wcm90b3R5cGUuaXNGaWxlPWZ1bmN0aW9uKHgpe3JldHVybiB0aGlzLmV4aXN0cyh4KSYmIXRoaXMuaXNfZGlyKHgpPzE6MH0sdzEucHJvdG90eXBlLm1rZGlyPWZ1bmN0aW9uKHgscixlKXt2YXIgdD1lJiZRYShVNCk7dGhpcy5leGlzdHMoeCkmJih0P3NhKHQsY2EoRk8seEUsdGhpcy5ubSh4KSkpOmpyKHgrXCI6IEZpbGUgZXhpc3RzXCIpKTt2YXIgdT0vXiguKilcXC9bXi9dKy8uZXhlYyh4KTt1PXUmJnVbMV18fFowLHRoaXMuZXhpc3RzKHUpfHwodD9zYSh0LGNhKF93LHhFLHRoaXMubm0odSkpKTpqcih1K1E0KSksdGhpcy5pc19kaXIodSl8fCh0P3NhKHQsY2EoR2cseEUsdGhpcy5ubSh1KSkpOmpyKHUrel8pKSx0aGlzLmNyZWF0ZV9kaXJfaWZfbmVlZGVkKHRoaXMuc2xhc2goeCkpfSx3MS5wcm90b3R5cGUucm1kaXI9ZnVuY3Rpb24oeCxyKXt2YXIgZT1yJiZRYShVNCksdD14PT1aMD9aMDp0aGlzLnNsYXNoKHgpLHU9bmV3IFJlZ0V4cChDcCt0K0dEKTt0aGlzLmV4aXN0cyh4KXx8KGU/c2EoZSxjYShfdyxzSSx0aGlzLm5tKHgpKSk6anIoeCtRNCkpLHRoaXMuaXNfZGlyKHgpfHwoZT9zYShlLGNhKEdnLHNJLHRoaXMubm0oeCkpKTpqcih4K3pfKSk7Zm9yKHZhciBpIGluIHRoaXMuY29udGVudClpLm1hdGNoKHUpJiYoZT9zYShlLGNhKG9ELHNJLHRoaXMubm0oeCkpKTpqcih0aGlzLm5tKHgpK1wiOiBEaXJlY3Rvcnkgbm90IGVtcHR5XCIpKTtkZWxldGUgdGhpcy5jb250ZW50W3RdfSx3MS5wcm90b3R5cGUucmVhZGRpcj1mdW5jdGlvbih4KXt2YXIgcj14PT1aMD9aMDp0aGlzLnNsYXNoKHgpO3RoaXMuZXhpc3RzKHgpfHxqcih4K1E0KSx0aGlzLmlzX2Rpcih4KXx8anIoeCt6Xyk7dmFyIGU9bmV3IFJlZ0V4cChDcCtyK0dEKSx0PXt9LHU9W107Zm9yKHZhciBpIGluIHRoaXMuY29udGVudCl7dmFyIGM9aS5tYXRjaChlKTtjJiYhdFtjWzFdXSYmKHRbY1sxXV09ITAsdS5wdXNoKGNbMV0pKX1yZXR1cm4gdX0sdzEucHJvdG90eXBlLm9wZW5kaXI9ZnVuY3Rpb24oeCxyKXt2YXIgZT1yJiZRYShVNCksdD10aGlzLnJlYWRkaXIoeCksdT0hMSxpPTA7cmV0dXJue3JlYWRTeW5jOmZ1bmN0aW9uKCl7aWYodSYmKGU/c2EoZSxjYShCSSx6Rix0aGlzLm5tKHgpKSk6anIoeCt1RikpLGk9PXQubGVuZ3RoKXJldHVybiBudWxsO3ZhciBjPXRbaV07cmV0dXJuIGkrKyx7bmFtZTpjfX0sY2xvc2VTeW5jOmZ1bmN0aW9uKCl7dSYmKGU/c2EoZSxjYShCSSx6Rix0aGlzLm5tKHgpKSk6anIoeCt1RikpLHU9ITAsdD1bXX19fSx3MS5wcm90b3R5cGUuaXNfZGlyPWZ1bmN0aW9uKHgpe2lmKHg9PVowKXJldHVybiEwO3ZhciByPXRoaXMuc2xhc2goeCk7cmV0dXJuIHRoaXMuY29udGVudFtyXT8xOjB9LHcxLnByb3RvdHlwZS51bmxpbms9ZnVuY3Rpb24oeCl7dmFyIHI9ISF0aGlzLmNvbnRlbnRbeF07cmV0dXJuIGRlbGV0ZSB0aGlzLmNvbnRlbnRbeF0scn0sdzEucHJvdG90eXBlLm9wZW49ZnVuY3Rpb24oeCxyKXt2YXIgZTtyZXR1cm4gci5yZG9ubHkmJnIud3Jvbmx5JiZqcih0aGlzLm5tKHgpK1N5KSxyLnRleHQmJnIuYmluYXJ5JiZqcih0aGlzLm5tKHgpK1lfKSx0aGlzLmxvb2t1cCh4KSx0aGlzLmNvbnRlbnRbeF0/KHRoaXMuaXNfZGlyKHgpJiZqcih0aGlzLm5tKHgpK0xMKSxyLmNyZWF0ZSYmci5leGNsJiZqcih0aGlzLm5tKHgpK0tBKSxlPXRoaXMuY29udGVudFt4XSxyLnRydW5jYXRlJiZlLnRydW5jYXRlKCkpOnIuY3JlYXRlPyh0aGlzLmNyZWF0ZV9kaXJfaWZfbmVlZGVkKHgpLHRoaXMuY29udGVudFt4XT1uZXcgYWUoUzIoMCkpLGU9dGhpcy5jb250ZW50W3hdKTpQTSh0aGlzLm5tKHgpKSxuZXcgdnYodGhpcy5ubSh4KSxlLHIpfSx3MS5wcm90b3R5cGUub3Blbj1mdW5jdGlvbih4LHIpe3ZhciBlO3JldHVybiByLnJkb25seSYmci53cm9ubHkmJmpyKHRoaXMubm0oeCkrU3kpLHIudGV4dCYmci5iaW5hcnkmJmpyKHRoaXMubm0oeCkrWV8pLHRoaXMubG9va3VwKHgpLHRoaXMuY29udGVudFt4XT8odGhpcy5pc19kaXIoeCkmJmpyKHRoaXMubm0oeCkrTEwpLHIuY3JlYXRlJiZyLmV4Y2wmJmpyKHRoaXMubm0oeCkrS0EpLGU9dGhpcy5jb250ZW50W3hdLHIudHJ1bmNhdGUmJmUudHJ1bmNhdGUoKSk6ci5jcmVhdGU/KHRoaXMuY3JlYXRlX2Rpcl9pZl9uZWVkZWQoeCksdGhpcy5jb250ZW50W3hdPW5ldyBhZShTMigwKSksZT10aGlzLmNvbnRlbnRbeF0pOlBNKHRoaXMubm0oeCkpLG5ldyB2dih0aGlzLm5tKHgpLGUscil9LHcxLnByb3RvdHlwZS5yZWdpc3Rlcj1mdW5jdGlvbih4LHIpe3ZhciBlO2lmKHRoaXMuY29udGVudFt4XSYmanIodGhpcy5ubSh4KStLQSksTk4ocikmJihlPW5ldyBhZShyKSksSU4ocikpZT1uZXcgYWUoT3QocikpO2Vsc2UgaWYociBpbnN0YW5jZW9mIEFycmF5KWU9bmV3IGFlKFVOKHIpKTtlbHNlIGlmKHR5cGVvZiByPT1cInN0cmluZ1wiKWU9bmV3IGFlKHVNKHIpKTtlbHNlIGlmKHIudG9TdHJpbmcpe3ZhciB0PU90KER0KHIudG9TdHJpbmcoKSkpO2U9bmV3IGFlKHQpfWU/KHRoaXMuY3JlYXRlX2Rpcl9pZl9uZWVkZWQoeCksdGhpcy5jb250ZW50W3hdPWUpOmpyKHRoaXMubm0oeCkrXCIgOiByZWdpc3RlcmluZyBmaWxlIHdpdGggaW52YWxpZCBjb250ZW50IHR5cGVcIil9LHcxLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj13MTtmdW5jdGlvbiBmMSh4KXt0aGlzLmZzPXt9LHRoaXMucm9vdD14fWYxLnByb3RvdHlwZS5ubT1mdW5jdGlvbih4KXtyZXR1cm4gdGhpcy5yb290K3h9LGYxLnByb3RvdHlwZS5leGlzdHM9ZnVuY3Rpb24oeCl7dHJ5e3JldHVybiB0aGlzLmZzLmV4aXN0c1N5bmModGhpcy5ubSh4KSk/MTowfWNhdGNoe3JldHVybiAwfX0sZjEucHJvdG90eXBlLmlzRmlsZT1mdW5jdGlvbih4KXt0cnl7cmV0dXJuIHRoaXMuZnMuc3RhdFN5bmModGhpcy5ubSh4KSkuaXNGaWxlKCk/MTowfWNhdGNoKHIpe2pyKHIudG9TdHJpbmcoKSl9fSxmMS5wcm90b3R5cGUubWtkaXI9ZnVuY3Rpb24oeCxyLGUpe3RyeXtyZXR1cm4gdGhpcy5mcy5ta2RpclN5bmModGhpcy5ubSh4KSx7bW9kZTpyfSksMH1jYXRjaCh0KXt0aGlzLnJhaXNlX25vZGVqc19lcnJvcih0LGUpfX0sZjEucHJvdG90eXBlLnJtZGlyPWZ1bmN0aW9uKHgscil7dHJ5e3JldHVybiB0aGlzLmZzLnJtZGlyU3luYyh0aGlzLm5tKHgpKSwwfWNhdGNoKGUpe3RoaXMucmFpc2Vfbm9kZWpzX2Vycm9yKGUscil9fSxmMS5wcm90b3R5cGUucmVhZGRpcj1mdW5jdGlvbih4LHIpe3RyeXtyZXR1cm4gdGhpcy5mcy5yZWFkZGlyU3luYyh0aGlzLm5tKHgpKX1jYXRjaChlKXt0aGlzLnJhaXNlX25vZGVqc19lcnJvcihlLHIpfX0sZjEucHJvdG90eXBlLmlzX2Rpcj1mdW5jdGlvbih4KXt0cnl7cmV0dXJuIHRoaXMuZnMuc3RhdFN5bmModGhpcy5ubSh4KSkuaXNEaXJlY3RvcnkoKT8xOjB9Y2F0Y2gocil7anIoci50b1N0cmluZygpKX19LGYxLnByb3RvdHlwZS51bmxpbms9ZnVuY3Rpb24oeCxyKXt0cnl7dmFyIGU9dGhpcy5mcy5leGlzdHNTeW5jKHRoaXMubm0oeCkpPzE6MDtyZXR1cm4gdGhpcy5mcy51bmxpbmtTeW5jKHRoaXMubm0oeCkpLGV9Y2F0Y2godCl7dGhpcy5yYWlzZV9ub2RlanNfZXJyb3IodCxyKX19LGYxLnByb3RvdHlwZS5vcGVuPWZ1bmN0aW9uKHgscixlKXt2YXIgdD17fSx1PTA7Zm9yKHZhciBpIGluIHIpc3dpdGNoKGkpe2Nhc2VcInJkb25seVwiOnV8PXQuT19SRE9OTFk7YnJlYWs7Y2FzZVwid3Jvbmx5XCI6dXw9dC5PX1dST05MWTticmVhaztjYXNlXCJhcHBlbmRcIjp1fD10Lk9fV1JPTkxZfHQuT19BUFBFTkQ7YnJlYWs7Y2FzZVwiY3JlYXRlXCI6dXw9dC5PX0NSRUFUO2JyZWFrO2Nhc2VcInRydW5jYXRlXCI6dXw9dC5PX1RSVU5DO2JyZWFrO2Nhc2VcImV4Y2xcIjp1fD10Lk9fRVhDTDticmVhaztjYXNlXCJiaW5hcnlcIjp1fD10Lk9fQklOQVJZO2JyZWFrO2Nhc2VcInRleHRcIjp1fD10Lk9fVEVYVDticmVhaztjYXNlXCJub25ibG9ja1wiOnV8PXQuT19OT05CTE9DSzticmVha310cnl7dmFyIGM9dGhpcy5mcy5vcGVuU3luYyh0aGlzLm5tKHgpLHUpLHY9dGhpcy5mcy5sc3RhdFN5bmModGhpcy5ubSh4KSkuaXNDaGFyYWN0ZXJEZXZpY2UoKTtyZXR1cm4gci5pc0NoYXJhY3RlckRldmljZT12LG5ldyBvbihjLHIpfWNhdGNoKGEpe3RoaXMucmFpc2Vfbm9kZWpzX2Vycm9yKGEsZSl9fSxmMS5wcm90b3R5cGUucmVuYW1lPWZ1bmN0aW9uKHgscixlKXt0cnl7dGhpcy5mcy5yZW5hbWVTeW5jKHRoaXMubm0oeCksdGhpcy5ubShyKSl9Y2F0Y2godCl7dGhpcy5yYWlzZV9ub2RlanNfZXJyb3IodCxlKX19LGYxLnByb3RvdHlwZS5zdGF0PWZ1bmN0aW9uKHgscil7dHJ5e3ZhciBlPXRoaXMuZnMuc3RhdFN5bmModGhpcy5ubSh4KSk7cmV0dXJuIHRoaXMuc3RhdHNfZnJvbV9qcyhlKX1jYXRjaCh0KXt0aGlzLnJhaXNlX25vZGVqc19lcnJvcih0LHIpfX0sZjEucHJvdG90eXBlLmxzdGF0PWZ1bmN0aW9uKHgscil7dHJ5e3ZhciBlPXRoaXMuZnMubHN0YXRTeW5jKHRoaXMubm0oeCkpO3JldHVybiB0aGlzLnN0YXRzX2Zyb21fanMoZSl9Y2F0Y2godCl7dGhpcy5yYWlzZV9ub2RlanNfZXJyb3IodCxyKX19LGYxLnByb3RvdHlwZS5zeW1saW5rPWZ1bmN0aW9uKHgscixlLHQpe3RyeXtyZXR1cm4gdGhpcy5mcy5zeW1saW5rU3luYyh0aGlzLm5tKHIpLHRoaXMubm0oZSkseD9cImRpclwiOlwiZmlsZVwiKSwwfWNhdGNoKHUpe3RoaXMucmFpc2Vfbm9kZWpzX2Vycm9yKHUsdCl9fSxmMS5wcm90b3R5cGUucmVhZGxpbms9ZnVuY3Rpb24oeCxyKXt0cnl7dmFyIGU9dGhpcy5mcy5yZWFkbGlua1N5bmModGhpcy5ubSh4KSxcInV0ZjhcIik7cmV0dXJuIER0KGUpfWNhdGNoKHQpe3RoaXMucmFpc2Vfbm9kZWpzX2Vycm9yKHQscil9fSxmMS5wcm90b3R5cGUub3BlbmRpcj1mdW5jdGlvbih4LHIpe3RyeXtyZXR1cm4gdGhpcy5mcy5vcGVuZGlyU3luYyh0aGlzLm5tKHgpKX1jYXRjaChlKXt0aGlzLnJhaXNlX25vZGVqc19lcnJvcihlLHIpfX0sZjEucHJvdG90eXBlLnJhaXNlX25vZGVqc19lcnJvcj1mdW5jdGlvbih4LHIpe3ZhciBlPVFhKFU0KTtpZihyJiZlKXt2YXIgdD1jYSh4LmNvZGUseC5zeXNjYWxsLHgucGF0aCx4LmVycm5vKTtzYShlLHQpfWVsc2UganIoeC50b1N0cmluZygpKX0sZjEucHJvdG90eXBlLnN0YXRzX2Zyb21fanM9ZnVuY3Rpb24oeCl7dmFyIHI7cmV0dXJuIHguaXNGaWxlKCk/cj0wOnguaXNEaXJlY3RvcnkoKT9yPTE6eC5pc0NoYXJhY3RlckRldmljZSgpP3I9Mjp4LmlzQmxvY2tEZXZpY2UoKT9yPTM6eC5pc1N5bWJvbGljTGluaygpP3I9NDp4LmlzRklGTygpP3I9NTp4LmlzU29ja2V0KCkmJihyPTYpLFswLHguZGV2LHguaW5vLHIseC5tb2RlLHgubmxpbmsseC51aWQseC5naWQseC5yZGV2LHguc2l6ZSx4LmF0aW1lTXMseC5tdGltZU1zLHguY3RpbWVNc119LGYxLnByb3RvdHlwZS5jb25zdHJ1Y3Rvcj1mMTtmdW5jdGlvbiBJTSh4KXt2YXIgcj1xTih4KTtpZihyKXJldHVybiByWzBdK3VlfXZhciBlNT1JTShTNil8fFcxKFwidW5hYmxlIHRvIGNvbXB1dGUgY2FtbF9yb290XCIpLFgzPVtdO0U2KCk/WDMucHVzaCh7cGF0aDplNSxkZXZpY2U6bmV3IGYxKGU1KX0pOlgzLnB1c2goe3BhdGg6ZTUsZGV2aWNlOm5ldyB3MShlNSl9KSxYMy5wdXNoKHtwYXRoOiRPLGRldmljZTpuZXcgdzEoJE8pfSk7ZnVuY3Rpb24gZEsoZSl7Zm9yKHZhciByPW1LKGUpLGU9ci5qb2luKHVlKSx0PVNNKGUpLHUsaT0wO2k8WDMubGVuZ3RoO2krKyl7dmFyIGM9WDNbaV07dC5zZWFyY2goYy5wYXRoKT09MCYmKCF1fHx1LnBhdGgubGVuZ3RoPGMucGF0aC5sZW5ndGgpJiYodT17cGF0aDpjLnBhdGgsZGV2aWNlOmMuZGV2aWNlLHJlc3Q6ZS5zdWJzdHJpbmcoYy5wYXRoLmxlbmd0aCxlLmxlbmd0aCl9KX1pZighdSYmRTYoKSl7dmFyIHY9SU0oZSk7aWYodiYmdi5tYXRjaCgvXlthLXpBLVpdOlxcLyQvKSl7dmFyIGM9e3BhdGg6dixkZXZpY2U6bmV3IGYxKHYpfTtYMy5wdXNoKGMpLHU9e3BhdGg6Yy5wYXRoLGRldmljZTpjLmRldmljZSxyZXN0OmUuc3Vic3RyaW5nKGMucGF0aC5sZW5ndGgsZS5sZW5ndGgpfX19aWYodSlyZXR1cm4gdTtqcihcIm5vIGRldmljZSBmb3VuZCBmb3IgXCIrdCl9ZnVuY3Rpb24gQTYoeCxyKXthZS5jYWxsKHRoaXMsUzIoMCkpLHRoaXMubG9nPWZ1bmN0aW9uKGUpe3JldHVybiAwfSx4PT0xJiZ0eXBlb2YgY29uc29sZS5sb2c9PVwiZnVuY3Rpb25cIj90aGlzLmxvZz1jb25zb2xlLmxvZzp4PT0yJiZ0eXBlb2YgY29uc29sZS5lcnJvcj09XCJmdW5jdGlvblwiP3RoaXMubG9nPWNvbnNvbGUuZXJyb3I6dHlwZW9mIGNvbnNvbGUubG9nPT1cImZ1bmN0aW9uXCImJih0aGlzLmxvZz1jb25zb2xlLmxvZyksdGhpcy5mbGFncz1yfUE2LnByb3RvdHlwZS5sZW5ndGg9ZnVuY3Rpb24oKXtyZXR1cm4gMH0sQTYucHJvdG90eXBlLndyaXRlPWZ1bmN0aW9uKHgscixlLHQpe2lmKHRoaXMubG9nKXt0PjAmJmU+PTAmJmUrdDw9ci5sZW5ndGgmJnJbZSt0LTFdPT0xMCYmdC0tO3ZhciB1PVMyKHQpO3JldHVybiB0YShVTihyKSxlLHUsMCx0KSx0aGlzLmxvZyh1LnRvVXRmMTYoKSksMH1qcih0aGlzLmZkK0VGKX0sQTYucHJvdG90eXBlLnJlYWQ9ZnVuY3Rpb24oeCxyLGUsdCl7anIodGhpcy5mZCtcIjogZmlsZSBkZXNjcmlwdG9yIGlzIHdyaXRlIG9ubHlcIil9LEE2LnByb3RvdHlwZS5jbG9zZT1mdW5jdGlvbigpe3RoaXMubG9nPXZvaWQgMH07ZnVuY3Rpb24gdDUoeCxyKXtyZXR1cm4gcj09bnVsbCYmKHI9cjUubGVuZ3RoKSxyNVtyXT14LHJ8MH1mdW5jdGlvbiBtUzAoeCxyLGUpe2Zvcih2YXIgdD17fTtyOyl7c3dpdGNoKHJbMV0pe2Nhc2UgMDp0LnJkb25seT0xO2JyZWFrO2Nhc2UgMTp0Lndyb25seT0xO2JyZWFrO2Nhc2UgMjp0LmFwcGVuZD0xO2JyZWFrO2Nhc2UgMzp0LmNyZWF0ZT0xO2JyZWFrO2Nhc2UgNDp0LnRydW5jYXRlPTE7YnJlYWs7Y2FzZSA1OnQuZXhjbD0xO2JyZWFrO2Nhc2UgNjp0LmJpbmFyeT0xO2JyZWFrO2Nhc2UgNzp0LnRleHQ9MTticmVhaztjYXNlIDg6dC5ub25ibG9jaz0xO2JyZWFrfXI9clsyXX10LnJkb25seSYmdC53cm9ubHkmJmpyKHgrU3kpLHQudGV4dCYmdC5iaW5hcnkmJmpyKHgrWV8pO3ZhciB1PWRLKHgpLGk9dS5kZXZpY2Uub3Blbih1LnJlc3QsdCk7cmV0dXJuIHQ1KGksdm9pZCAwKX0oZnVuY3Rpb24oKXtmdW5jdGlvbiB4KHIsZSl7cmV0dXJuIEU2KCk/cEsocixlKTpuZXcgQTYocixlKX10NSh4KDAse3Jkb25seToxLGFsdG5hbWU6XCIvZGV2L3N0ZGluXCIsaXNDaGFyYWN0ZXJEZXZpY2U6ITB9KSwwKSx0NSh4KDEse2J1ZmZlcmVkOjIsd3Jvbmx5OjEsaXNDaGFyYWN0ZXJEZXZpY2U6ITB9KSwxKSx0NSh4KDIse2J1ZmZlcmVkOjIsd3Jvbmx5OjEsaXNDaGFyYWN0ZXJEZXZpY2U6ITB9KSwyKX0pKCk7ZnVuY3Rpb24geUsoeCl7dmFyIHI9cjVbeF07ci5mbGFncy53cm9ubHkmJmpyKExEK3grXCIgaXMgd3JpdGVvbmx5XCIpO3ZhciBlPW51bGwsdD17ZmlsZTpyLG9mZnNldDpyLmZsYWdzLmFwcGVuZD9yLmxlbmd0aCgpOjAsZmQ6eCxvcGVuZWQ6ITAsb3V0OiExLGJ1ZmZlcl9jdXJyOjAsYnVmZmVyX21heDowLGJ1ZmZlcjpuZXcgVWludDhBcnJheShjNikscmVmaWxsOmV9O3JldHVybiBmYVt0LmZkXT10LHQuZmR9ZnVuY3Rpb24gTk0oeCl7dmFyIHI9cjVbeF07ci5mbGFncy5yZG9ubHkmJmpyKExEK3grXCIgaXMgcmVhZG9ubHlcIik7dmFyIGU9ci5mbGFncy5idWZmZXJlZCE9PXZvaWQgMD9yLmZsYWdzLmJ1ZmZlcmVkOjEsdD17ZmlsZTpyLG9mZnNldDpyLmZsYWdzLmFwcGVuZD9yLmxlbmd0aCgpOjAsZmQ6eCxvcGVuZWQ6ITAsb3V0OiEwLGJ1ZmZlcl9jdXJyOjAsYnVmZmVyOm5ldyBVaW50OEFycmF5KGM2KSxidWZmZXJlZDplfTtyZXR1cm4gZmFbdC5mZF09dCx0LmZkfWZ1bmN0aW9uIGdLKCl7Zm9yKHZhciB4PTAscj0wO3I8ZmEubGVuZ3RoO3IrKylmYVtyXSYmZmFbcl0ub3BlbmVkJiZmYVtyXS5vdXQmJih4PVswLGZhW3JdLmZkLHhdKTtyZXR1cm4geH1mdW5jdGlvbiB3Syh4LHIsZSx0KXt2YXIgdT1mYVt4XTtpZih1Lm9wZW5lZHx8anIoXCJDYW5ub3Qgb3V0cHV0IHRvIGEgY2xvc2VkIGNoYW5uZWxcIikscj1yLnN1YmFycmF5KGUsZSt0KSx1LmJ1ZmZlcl9jdXJyK3IubGVuZ3RoPnUuYnVmZmVyLmxlbmd0aCl7dmFyIGk9bmV3IFVpbnQ4QXJyYXkodS5idWZmZXJfY3VycityLmxlbmd0aCk7aS5zZXQodS5idWZmZXIpLHUuYnVmZmVyPWl9c3dpdGNoKHUuYnVmZmVyZWQpe2Nhc2UgMDp1LmJ1ZmZlci5zZXQocix1LmJ1ZmZlcl9jdXJyKSx1LmJ1ZmZlcl9jdXJyKz1yLmxlbmd0aCxhbih4KTticmVhaztjYXNlIDE6dS5idWZmZXIuc2V0KHIsdS5idWZmZXJfY3VyciksdS5idWZmZXJfY3Vycis9ci5sZW5ndGgsdS5idWZmZXJfY3Vycj49dS5idWZmZXIubGVuZ3RoJiZhbih4KTticmVhaztjYXNlIDI6dmFyIGM9ci5sYXN0SW5kZXhPZigxMCk7YzwwPyh1LmJ1ZmZlci5zZXQocix1LmJ1ZmZlcl9jdXJyKSx1LmJ1ZmZlcl9jdXJyKz1yLmxlbmd0aCx1LmJ1ZmZlcl9jdXJyPj11LmJ1ZmZlci5sZW5ndGgmJmFuKHgpKToodS5idWZmZXIuc2V0KHIuc3ViYXJyYXkoMCxjKzEpLHUuYnVmZmVyX2N1cnIpLHUuYnVmZmVyX2N1cnIrPWMrMSxhbih4KSx1LmJ1ZmZlci5zZXQoci5zdWJhcnJheShjKzEpLHUuYnVmZmVyX2N1cnIpLHUuYnVmZmVyX2N1cnIrPXIubGVuZ3RoLWMtMSk7YnJlYWt9cmV0dXJuIDB9ZnVuY3Rpb24gX0soeCx1LGUsdCl7dmFyIHU9TU4odSk7cmV0dXJuIHdLKHgsdSxlLHQpfWZ1bmN0aW9uIEJOKHgscixlLHQpe3JldHVybiBfSyh4LE90KHIpLGUsdCl9ZnVuY3Rpb24gak0oeCxyKXt2YXIgZT1TdHJpbmcuZnJvbUNoYXJDb2RlKHIpO3JldHVybiBCTih4LGUsMCwxKSwwfWZ1bmN0aW9uIGx2KHgscil7cmV0dXJuKyhKbSh4LHIsITEpIT0wKX1mdW5jdGlvbiBYTih4LHIpe3ZhciBlPW5ldyBBcnJheShyKzEpO2VbMF09eDtmb3IodmFyIHQ9MTt0PD1yO3QrKyllW3RdPTA7cmV0dXJuIGV9ZnVuY3Rpb24gcHYoeCl7cmV0dXJuIHggaW5zdGFuY2VvZiBBcnJheSYmeFswXT09eFswXT4+PjA/eFswXTpOTih4KXx8SU4oeCk/ZzM6eCBpbnN0YW5jZW9mIEZ1bmN0aW9ufHx0eXBlb2YgeD09XCJmdW5jdGlvblwiP2VwOngmJnguY2FtbF9jdXN0b20/SHA6cWx9ZnVuY3Rpb24gYksoeCl7dmFyIHI9e307aWYoeClmb3IodmFyIGU9MTtlPHgubGVuZ3RoO2UrKylyW0p4KHhbZV1bMV0pXT14W2VdWzJdO3JldHVybiByfWZ1bmN0aW9uIFJ0KHgscixlKXtpZihlKXt2YXIgdD1lO2lmKG8wLnRvcGxldmVsUmVsb2MpeD1IbShvMC50b3BsZXZlbFJlbG9jLFt0XSk7ZWxzZSBpZihHMS5zeW1ib2xzKXtHMS5zeW1pZHh8fChHMS5zeW1pZHg9YksoRzEuc3ltYm9scykpO3ZhciB1PUcxLnN5bWlkeFt0XTt1Pj0wP3g9dTpXMShcImNhbWxfcmVnaXN0ZXJfZ2xvYmFsOiBjYW5ub3QgbG9jYXRlIFwiK3QpfX1HMVt4KzFdPXIsZSYmKEcxW2VdPXIpfWZ1bmN0aW9uIFlOKHgscil7cmV0dXJuIEFNW3hdPXIsMH1mdW5jdGlvbiBUSyh4KXtyZXR1cm4geFsyXT1oTSsrLHh9ZnVuY3Rpb24gYnIoeCxyKXtyZXR1cm4geD09PXI/MTowfWZ1bmN0aW9uIEVLKCl7aTEocUkpfWZ1bmN0aW9uIHEyKHgscil7cmV0dXJuIHI+Pj4wPj1OeCh4KSYmRUsoKSxKMCh4LHIpfWZ1bmN0aW9uIFAoeCxyKXtyZXR1cm4gMS1icih4LHIpfWZ1bmN0aW9uIF8xKHgpe3JldHVybiB4LnQmNiYmem0oeCkseC5jfWZ1bmN0aW9uIFNLKCl7cmV0dXJuIDIxNDc0ODM2NDcvNHwwfXZhciBBSz1vMC5wcm9jZXNzJiZvMC5wcm9jZXNzLnBsYXRmb3JtJiZvMC5wcm9jZXNzLnBsYXRmb3JtPT1fTz9XRDpcIlVuaXhcIjtmdW5jdGlvbiBQSygpe3JldHVyblswLEFLLDMyLDBdfWZ1bmN0aW9uIElLKCl7ck0oRzEuTm90X2ZvdW5kKX1mdW5jdGlvbiBDTSh4KXt2YXIgcj1RTChKeCh4KSk7cmV0dXJuIHI9PT12b2lkIDAmJklLKCksRHQocil9ZnVuY3Rpb24gTksoKXtpZihvMC5jcnlwdG8pe2lmKG8wLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMpe3ZhciB4PW8wLmNyeXB0by5nZXRSYW5kb21WYWx1ZXMobmV3IEludDMyQXJyYXkoNCkpO3JldHVyblswLHhbMF0seFsxXSx4WzJdLHhbM11dfWVsc2UgaWYobzAuY3J5cHRvLnJhbmRvbUJ5dGVzKXt2YXIgeD1uZXcgSW50MzJBcnJheShvMC5jcnlwdG8ucmFuZG9tQnl0ZXMoMTYpLmJ1ZmZlcik7cmV0dXJuWzAseFswXSx4WzFdLHhbMl0seFszXV19fXZhciByPW5ldyBEYXRlKCkuZ2V0VGltZSgpLGU9cl40Mjk0OTY3Mjk1Kk1hdGgucmFuZG9tKCk7cmV0dXJuWzAsZV19ZnVuY3Rpb24gbjUoeCl7Zm9yKHZhciByPTE7eCYmeC5qb29fdHJhbXA7KXg9eC5qb29fdHJhbXAuYXBwbHkobnVsbCx4Lmpvb19hcmdzKSxyKys7cmV0dXJuIHh9ZnVuY3Rpb24gSjIoeCxyKXtyZXR1cm57am9vX3RyYW1wOngsam9vX2FyZ3M6cn19ZnVuY3Rpb24gRnIoeCxyKXtpZihyLmZ1bilyZXR1cm4geC5mdW49ci5mdW4sMDtpZih0eXBlb2Ygcj09XCJmdW5jdGlvblwiKXJldHVybiB4LmZ1bj1yLDA7Zm9yKHZhciBlPXIubGVuZ3RoO2UtLTspeFtlXT1yW2VdO3JldHVybiAwfWZ1bmN0aW9uIFUyKHgpe3tpZih4IGluc3RhbmNlb2YgQXJyYXkpcmV0dXJuIHg7dmFyIHI7cmV0dXJuIG8wLlJhbmdlRXJyb3ImJnggaW5zdGFuY2VvZiBvMC5SYW5nZUVycm9yJiZ4Lm1lc3NhZ2UmJngubWVzc2FnZS5tYXRjaCgvbWF4aW11bSBjYWxsIHN0YWNrL2kpfHxvMC5JbnRlcm5hbEVycm9yJiZ4IGluc3RhbmNlb2YgbzAuSW50ZXJuYWxFcnJvciYmeC5tZXNzYWdlJiZ4Lm1lc3NhZ2UubWF0Y2goL3RvbyBtdWNoIHJlY3Vyc2lvbi9pKT9yPUcxLlN0YWNrX292ZXJmbG93OnggaW5zdGFuY2VvZiBvMC5FcnJvciYmUWEoT1MpP3I9WzAsUWEoT1MpLHhdOnI9WzAsRzEuRmFpbHVyZSxEdChTdHJpbmcoeCkpXSx4IGluc3RhbmNlb2YgbzAuRXJyb3ImJihyLmpzX2Vycm9yPXgpLHJ9fWZ1bmN0aW9uIGpLKHgpe3N3aXRjaCh4WzJdKXtjYXNlLTg6Y2FzZS0xMTpjYXNlLTEyOnJldHVybiAxO2RlZmF1bHQ6cmV0dXJuIDB9fWZ1bmN0aW9uIENLKHgpe3ZhciByPVowO2lmKHhbMF09PTApe2lmKHIrPXhbMV1bMV0seC5sZW5ndGg9PTMmJnhbMl1bMF09PTAmJmpLKHhbMV0pKXZhciB0PXhbMl0sZT0xO2Vsc2UgdmFyIGU9Mix0PXg7cis9SVI7Zm9yKHZhciB1PWU7dTx0Lmxlbmd0aDt1Kyspe3U+ZSYmKHIrPWxGKTt2YXIgaT10W3VdO3R5cGVvZiBpPT1cIm51bWJlclwiP3IrPWkudG9TdHJpbmcoKTppIGluc3RhbmNlb2YgbmF8fHR5cGVvZiBpPT1cInN0cmluZ1wiP3IrPVhrK2kudG9TdHJpbmcoKStYazpyKz1xb31yKz11Un1lbHNlIHhbMF09PW4yJiYocis9eFsxXSk7cmV0dXJuIHJ9ZnVuY3Rpb24gT00oeCl7aWYoeCBpbnN0YW5jZW9mIEFycmF5JiYoeFswXT09MHx8eFswXT09bjIpKXt2YXIgcj1RYShxTyk7aWYocilIbShyLFt4LCExXSk7ZWxzZXt2YXIgZT1DSyh4KSx0PVFhKEREKTtpZih0JiZIbSh0LFswXSksY29uc29sZS5lcnJvcihLRStlKSx4LmpzX2Vycm9yKXRocm93IHguanNfZXJyb3J9fWVsc2UgdGhyb3cgeH1mdW5jdGlvbiBPSygpe3ZhciB4PW8wLnByb2Nlc3M7eCYmeC5vbj94Lm9uKFwidW5jYXVnaHRFeGNlcHRpb25cIixmdW5jdGlvbihyLGUpe09NKHIpLHguZXhpdCgyKX0pOm8wLmFkZEV2ZW50TGlzdGVuZXImJm8wLmFkZEV2ZW50TGlzdGVuZXIoXCJlcnJvclwiLGZ1bmN0aW9uKHIpe3IuZXJyb3ImJk9NKHIuZXJyb3IpfSl9T0soKTtmdW5jdGlvbiBkKHgscil7cmV0dXJuKHgubD49MD94Lmw6eC5sPXgubGVuZ3RoKT09MT94KHIpOnNzKHgsW3JdKX1mdW5jdGlvbiBwKHgscixlKXtyZXR1cm4oeC5sPj0wP3gubDp4Lmw9eC5sZW5ndGgpPT0yP3gocixlKTpzcyh4LFtyLGVdKX1mdW5jdGlvbiBIMCh4LHIsZSx0KXtyZXR1cm4oeC5sPj0wP3gubDp4Lmw9eC5sZW5ndGgpPT0zP3gocixlLHQpOnNzKHgsW3IsZSx0XSl9ZnVuY3Rpb24gek4oeCxyLGUsdCx1KXtyZXR1cm4oeC5sPj0wP3gubDp4Lmw9eC5sZW5ndGgpPT00P3gocixlLHQsdSk6c3MoeCxbcixlLHQsdV0pfWZ1bmN0aW9uIEtOKHgscixlLHQsdSxpKXtyZXR1cm4oeC5sPj0wP3gubDp4Lmw9eC5sZW5ndGgpPT01P3gocixlLHQsdSxpKTpzcyh4LFtyLGUsdCx1LGldKX1mdW5jdGlvbiBQNih4LHIsZSx0LHUsaSxjKXtyZXR1cm4oeC5sPj0wP3gubDp4Lmw9eC5sZW5ndGgpPT02P3gocixlLHQsdSxpLGMpOnNzKHgsW3IsZSx0LHUsaSxjXSl9ZnVuY3Rpb24gREsoeCxyLGUsdCx1LGksYyx2KXtyZXR1cm4oeC5sPj0wP3gubDp4Lmw9eC5sZW5ndGgpPT03P3gocixlLHQsdSxpLGMsdik6c3MoeCxbcixlLHQsdSxpLGMsdl0pfXZhciBPPXZvaWQgMCxKTj1bbjIsZ08sLTFdLERNPVtuMix1TCwtMl0sdm49W24yLGdkLC0zXSx1NT1bbjIsVEwsLTRdLG9zPVtuMixmRiwtN10sRk09W24yLElPLC04XSxSTT1bbjIsRlIsLTldLE5yPVtuMixnUiwtMTFdLEk2PVtuMiwkRiwtMTJdLEZLPVs0LDAsMCwwLFsxMiw0NSxbNCwwLDAsMCwwXV1dLEdOPVswLFsxMSwnRmlsZSBcIicsWzIsMCxbMTEsJ1wiLCBsaW5lICcsWzQsMCwwLDAsWzExLEFPLFs0LDAsMCwwLFsxMiw0NSxbNCwwLDAsMCxbMTEsXCI6IFwiLFsyLDAsMF1dXV1dXV1dXV0sJ0ZpbGUgXCIlc1wiLCBsaW5lICVkLCBjaGFyYWN0ZXJzICVkLSVkOiAlcyddLFkzPVswLDAsWzAsMCwwXSxbMCwwLDBdXSx6Mz1bMCwwLDAsMCwwLDEsMCwwLDBdLExNPVswLFwiZmlyc3RfbGVhZGluZ1wiLFwibGFzdF90cmFpbGluZ1wiXSxNTT1bMCxzZix4bixHZixVaSxoYyxjaSxrdSxvdSwkbixLYyxIdSxFNyxqNyxmbixiYyxHNyxLZSxmcyx0aSxOaSxuNyxRdSxabixvZixsdSxQdSx5ZixPdSxlaSxhaSxVdSxQNyxDZix6ZixhNyxoaSxmZixSNyxYaSxZNyxqZixiaSx0YyxMbixIYyxmYyxPZix0dSxGNyxSYyxBYyxxdSxZaSxxaSxMZSxZZSxMYyxMZixINyxJaSxpdSxWaSxpaSxfYyxuaSxzYyxIZixObixqdSxCaSxiZSxiNyx5dSxhdSxpYyxyYyxiZixTYyxfNyxlcyx2Yyx3YyxBZixjYyxQaSxGbixkNyx1cyx4ZixtYyxDbixuMSx1NyxGYyxvYyx3NyxadSxnZixwNyx0NyxuZixaYyxDaSx4aSxwaSx6YyxZbixlZixwdSxucyxVZix0ZixWNyxCdSx4YywkZixoNyxSaSxyaSx3dSwkdSxRbixLNyx4cyxkYyxraSxQdCxVYyxJNyx5aSxYMSxEbixEaSxYYyxtZixkdSxZZixNYyxXZixpZSxXaSx6NyxNdSxJdSxSbixwYyxkaSx3aSxLdSwkYyx5NyxFZixCNyxUNyxIbixQZixFdSxaZixPNyxsYyx1YyxXYyxJZix1ZixYNyxldSwkaSxXdSx5YyxxbixsNyxuZSxWdSxZYywkNyxtdSxzdSxlYyxKYyxtNyx1dSxKNyxsZixIaSxCZixqaSxMNyxaaSxWYyxoZixNbixjdSxzaSxidSxBdSxFYyxTZixRYyxFaSxqYyx2aSxWbixHdSxGdSxDdSxtaSxYdSxOdSxQYyxPbixLaSxUdSxRaSxGZixTaSxKbixCbixhYyxOZixlNyxHbixVbixycyxEdSxNZixLbixEYyxfZSx2dSxvaSxJYyxmaSxDNyxfdSxrZixqbixmNyxMaSxrYyxRNyxEZixnNyxKaSxNaSxydSxBNyxMdSxsaSx3ZixNZSxxYyxvNyxhZixyNyxwZix2NyxKdSxYZSxrNyx4dSx6dSxCYyxpNyxXNyxTdSxUYyxHZSxPYyxYZixUaSxOYyx4NyxPaSxXbix6ZSxVNyxnYyx0cyxjZixyZixKZixpcyxLZixYbixaNyxmdSxSZix6bixONyx6aSxZdSxENyxUZixSdSxzNyxTNyxudSxnaSxndSxBaSxkZixuYyxWZixjNyxfZixLMSxNNyxGaSxHaSxCMV0sbG49WzAsMCwwXTtSdCgxMSxJNiwkRiksUnQoMTAsTnIsZ1IpLFJ0KDksW24yLG9SLFJSXSxvUiksUnQoOCxSTSxGUiksUnQoNyxGTSxJTyksUnQoNixvcyxmRiksUnQoNSxbbjIsQkQsLTZdLEJEKSxSdCg0LFtuMixKUiwtNV0sSlIpLFJ0KDMsdTUsVEwpLFJ0KDIsdm4sZ2QpLFJ0KDEsRE0sdUwpLFJ0KDAsSk4sZ08pO2Z1bmN0aW9uIEIyKHgpe2lmKHR5cGVvZiB4PT1cIm51bWJlclwiKXJldHVybiAwO3N3aXRjaCh4WzBdKXtjYXNlIDA6cmV0dXJuWzAsQjIoeFsxXSldO2Nhc2UgMTpyZXR1cm5bMSxCMih4WzFdKV07Y2FzZSAyOnJldHVyblsyLEIyKHhbMV0pXTtjYXNlIDM6cmV0dXJuWzMsQjIoeFsxXSldO2Nhc2UgNDpyZXR1cm5bNCxCMih4WzFdKV07Y2FzZSA1OnJldHVybls1LEIyKHhbMV0pXTtjYXNlIDY6cmV0dXJuWzYsQjIoeFsxXSldO2Nhc2UgNzpyZXR1cm5bNyxCMih4WzFdKV07Y2FzZSA4OnZhciByPXhbMV07cmV0dXJuWzgscixCMih4WzJdKV07Y2FzZSA5OnZhciBlPXhbMV07cmV0dXJuWzksZSxlLEIyKHhbM10pXTtjYXNlIDEwOnJldHVyblsxMCxCMih4WzFdKV07Y2FzZSAxMTpyZXR1cm5bMTEsQjIoeFsxXSldO2Nhc2UgMTI6cmV0dXJuWzEyLEIyKHhbMV0pXTtjYXNlIDEzOnJldHVyblsxMyxCMih4WzFdKV07ZGVmYXVsdDpyZXR1cm5bMTQsQjIoeFsxXSldfX1mdW5jdGlvbiBvZSh4LHIpe2lmKHR5cGVvZiB4PT1cIm51bWJlclwiKXJldHVybiByO3N3aXRjaCh4WzBdKXtjYXNlIDA6cmV0dXJuWzAsb2UoeFsxXSxyKV07Y2FzZSAxOnJldHVyblsxLG9lKHhbMV0scildO2Nhc2UgMjpyZXR1cm5bMixvZSh4WzFdLHIpXTtjYXNlIDM6cmV0dXJuWzMsb2UoeFsxXSxyKV07Y2FzZSA0OnJldHVybls0LG9lKHhbMV0scildO2Nhc2UgNTpyZXR1cm5bNSxvZSh4WzFdLHIpXTtjYXNlIDY6cmV0dXJuWzYsb2UoeFsxXSxyKV07Y2FzZSA3OnJldHVybls3LG9lKHhbMV0scildO2Nhc2UgODp2YXIgZT14WzFdO3JldHVybls4LGUsb2UoeFsyXSxyKV07Y2FzZSA5OnZhciB0PXhbMl0sdT14WzFdO3JldHVybls5LHUsdCxvZSh4WzNdLHIpXTtjYXNlIDEwOnJldHVyblsxMCxvZSh4WzFdLHIpXTtjYXNlIDExOnJldHVyblsxMSxvZSh4WzFdLHIpXTtjYXNlIDEyOnJldHVyblsxMixvZSh4WzFdLHIpXTtjYXNlIDEzOnJldHVyblsxMyxvZSh4WzFdLHIpXTtkZWZhdWx0OnJldHVyblsxNCxvZSh4WzFdLHIpXX19ZnVuY3Rpb24gajIoeCxyKXtpZih0eXBlb2YgeD09XCJudW1iZXJcIilyZXR1cm4gcjtzd2l0Y2goeFswXSl7Y2FzZSAwOnJldHVyblswLGoyKHhbMV0scildO2Nhc2UgMTpyZXR1cm5bMSxqMih4WzFdLHIpXTtjYXNlIDI6dmFyIGU9eFsxXTtyZXR1cm5bMixlLGoyKHhbMl0scildO2Nhc2UgMzp2YXIgdD14WzFdO3JldHVyblszLHQsajIoeFsyXSxyKV07Y2FzZSA0OnZhciB1PXhbM10saT14WzJdLGM9eFsxXTtyZXR1cm5bNCxjLGksdSxqMih4WzRdLHIpXTtjYXNlIDU6dmFyIHY9eFszXSxhPXhbMl0sbD14WzFdO3JldHVybls1LGwsYSx2LGoyKHhbNF0scildO2Nhc2UgNjp2YXIgbT14WzNdLGg9eFsyXSxUPXhbMV07cmV0dXJuWzYsVCxoLG0sajIoeFs0XSxyKV07Y2FzZSA3OnZhciBiPXhbM10sTj14WzJdLGo9eFsxXTtyZXR1cm5bNyxqLE4sYixqMih4WzRdLHIpXTtjYXNlIDg6dmFyIEk9eFszXSxGPXhbMl0sTT14WzFdO3JldHVybls4LE0sRixJLGoyKHhbNF0scildO2Nhc2UgOTp2YXIgej14WzFdO3JldHVybls5LHosajIoeFsyXSxyKV07Y2FzZSAxMDpyZXR1cm5bMTAsajIoeFsxXSxyKV07Y2FzZSAxMTp2YXIgQj14WzFdO3JldHVyblsxMSxCLGoyKHhbMl0scildO2Nhc2UgMTI6dmFyIEs9eFsxXTtyZXR1cm5bMTIsSyxqMih4WzJdLHIpXTtjYXNlIDEzOnZhciBuMD14WzJdLCQ9eFsxXTtyZXR1cm5bMTMsJCxuMCxqMih4WzNdLHIpXTtjYXNlIDE0OnZhciBIPXhbMl0sdDA9eFsxXTtyZXR1cm5bMTQsdDAsSCxqMih4WzNdLHIpXTtjYXNlIDE1OnJldHVyblsxNSxqMih4WzFdLHIpXTtjYXNlIDE2OnJldHVyblsxNixqMih4WzFdLHIpXTtjYXNlIDE3OnZhciBjMD14WzFdO3JldHVyblsxNyxjMCxqMih4WzJdLHIpXTtjYXNlIDE4OnZhciByMD14WzFdO3JldHVyblsxOCxyMCxqMih4WzJdLHIpXTtjYXNlIDE5OnJldHVyblsxOSxqMih4WzFdLHIpXTtjYXNlIDIwOnZhciB2MD14WzJdLGEwPXhbMV07cmV0dXJuWzIwLGEwLHYwLGoyKHhbM10scildO2Nhc2UgMjE6dmFyIGcwPXhbMV07cmV0dXJuWzIxLGcwLGoyKHhbMl0scildO2Nhc2UgMjI6cmV0dXJuWzIyLGoyKHhbMV0scildO2Nhc2UgMjM6dmFyIGkwPXhbMV07cmV0dXJuWzIzLGkwLGoyKHhbMl0scildO2RlZmF1bHQ6dmFyIHMwPXhbMl0sZDA9eFsxXTtyZXR1cm5bMjQsZDAsczAsajIoeFszXSxyKV19fWZ1bmN0aW9uIFR4KHgpe3Rocm93IFcwKFswLHZuLHhdLDEpfWZ1bmN0aW9uIFIxKHgpe3Rocm93IFcwKFswLHU1LHhdLDEpfWZ1bmN0aW9uIGk1KHgpe3JldHVybiAwPD14P3g6LXh8MH12YXIgUks9cmEsTEs9R3M7ZnVuY3Rpb24gcXgoeCxyKXt2YXIgZT1OeCh4KSx0PU54KHIpLHU9UzIoZSt0fDApO3JldHVybiBjcyh4LDAsdSwwLGUpLGNzKHIsMCx1LGUsdCksXzEodSl9ZnVuY3Rpb24gTXgoeCxyKXtpZigheClyZXR1cm4gcjt2YXIgZT14WzJdLHQ9eFsxXTtpZighZSlyZXR1cm5bMCx0LHJdO3ZhciB1PWVbMl0saT1lWzFdO2lmKCF1KXJldHVyblswLHQsWzAsaSxyXV07Zm9yKHZhciBjPVswLHVbMV0sdjNdLHY9YyxhPTEsbD11WzJdOzspe2lmKGwpe3ZhciBtPWxbMl0saD1sWzFdO2lmKG0pe3ZhciBUPW1bMl0sYj1tWzFdO2lmKFQpe3ZhciBOPVswLFRbMV0sdjNdLGo9VFsyXTt2WzErYV09WzAsaCxbMCxiLE5dXTt2YXIgdj1OLGE9MSxsPWo7Y29udGludWV9dlsxK2FdPVswLGgsWzAsYixyXV19ZWxzZSB2WzErYV09WzAsaCxyXX1lbHNlIHZbMSthXT1yO3JldHVyblswLHQsWzAsaSxjXV19fXlLKDApO3ZhciBxTT1OTSgxKSxwbj1OTSgyKSxNSz1cIm91dHB1dF9zdWJzdHJpbmdcIjtmdW5jdGlvbiBONih4LHIpe0JOKHgsciwwLE54KHIpKX1mdW5jdGlvbiBVTSh4LHIsZSx0KXtyZXR1cm4gMDw9ZSYmMDw9dCYmKE54KHIpLXR8MCk+PWU/Qk4oeCxyLGUsdCk6UjEoTUspfWZ1bmN0aW9uIEJNKHgpe3JldHVybiBONihwbix4KSxqTShwbiwxMCksYW4ocG4pfXZhciBXTj1bMCxmdW5jdGlvbih4KXtmb3IodmFyIHI9Z0soMCk7Oyl7aWYoIXIpcmV0dXJuIDA7dmFyIGU9clsyXSx0PXJbMV07dHJ5e2FuKHQpfWNhdGNoKGMpe3ZhciB1PVUyKGMpO2lmKHVbMV0hPT1ETSl0aHJvdyBXMCh1LDApfXZhciByPWV9fV0sWE09WzAsZnVuY3Rpb24oeCl7fV07ZnVuY3Rpb24gVk4oeCl7cmV0dXJuIGQoWE1bMV0sMCksZChSMyhXTiksMCl9WU4oREQsVk4pO3ZhciBZTT1QSygwKVsxXSxqNj0oNCpTSygwKXwwKS0xfDA7ZnVuY3Rpb24gZjUoeCxyKXtyZXR1cm4gcj9bMCxkKHgsclsxXSldOjB9ZnVuY3Rpb24gek0oeCl7cmV0dXJuIDI1PHgrbms+Pj4wP3g6eC0zMnwwfXZhciBxSz1cImhkXCIsVUs9XCJ0bFwiLEJLPVwiTGlzdC5pdGVyMlwiO2Z1bmN0aW9uIGFhKHgpe2Zvcih2YXIgcj0wLGU9eDs7KXtpZighZSlyZXR1cm4gcjt2YXIgcj1yKzF8MCxlPWVbMl19fWZ1bmN0aW9uIEM2KHgpe3JldHVybiB4P3hbMV06VHgocUspfWZ1bmN0aW9uIEtNKHgpe3JldHVybiB4P3hbMl06VHgoVUspfWZ1bmN0aW9uIEszKHgscil7Zm9yKHZhciBlPXgsdD1yOzspe2lmKCFlKXJldHVybiB0O3ZhciB1PVswLGVbMV0sdF0sZT1lWzJdLHQ9dX19ZnVuY3Rpb24gaXgoeCl7cmV0dXJuIEszKHgsMCl9ZnVuY3Rpb24gTzYoeCl7aWYoIXgpcmV0dXJuIDA7dmFyIHI9eFsxXTtyZXR1cm4gTXgocixPNih4WzJdKSl9ZnVuY3Rpb24gdnMoeCxyKXtpZighcilyZXR1cm4gMDt2YXIgZT1yWzJdLHQ9clsxXTtpZighZSlyZXR1cm5bMCx4KHQpLDBdO2Zvcih2YXIgdT1lWzJdLGk9ZVsxXSxjPXgodCksdj1bMCx4KGkpLHYzXSxhPXYsbD0xLG09dTs7KXtpZihtKXt2YXIgaD1tWzJdLFQ9bVsxXTtpZihoKXt2YXIgYj1oWzJdLE49aFsxXSxqPXgoVCksST1bMCx4KE4pLHYzXTthWzErbF09WzAsaixJXTt2YXIgYT1JLGw9MSxtPWI7Y29udGludWV9YVsxK2xdPVswLHgoVCksMF19ZWxzZSBhWzErbF09MDtyZXR1cm5bMCxjLHZdfX1mdW5jdGlvbiBjNSh4LHIpe2Zvcih2YXIgZT0wLHQ9cjs7KXtpZighdClyZXR1cm4gZTt2YXIgdT10WzJdLGU9WzAseCh0WzFdKSxlXSx0PXV9fWZ1bmN0aW9uIGIxKHgscil7Zm9yKHZhciBlPXI7Oyl7aWYoIWUpcmV0dXJuIDA7dmFyIHQ9ZVsyXTtkKHgsZVsxXSk7dmFyIGU9dH19ZnVuY3Rpb24gbTEoeCxyLGUpe2Zvcih2YXIgdD1yLHU9ZTs7KXtpZighdSlyZXR1cm4gdDt2YXIgaT11WzJdLHQ9cCh4LHQsdVsxXSksdT1pfX1mdW5jdGlvbiAkTih4LHIsZSl7aWYoIXIpcmV0dXJuIGU7dmFyIHQ9clsxXTtyZXR1cm4geCh0LCROKHgsclsyXSxlKSl9ZnVuY3Rpb24gSk0oeCxyLGUpe2Zvcih2YXIgdD1yLHU9ZTs7KXtpZih0KXtpZih1KXt2YXIgaT11WzJdLGM9dFsyXTt4KHRbMV0sdVsxXSk7dmFyIHQ9Yyx1PWk7Y29udGludWV9fWVsc2UgaWYoIXUpcmV0dXJuO3JldHVybiBSMShCSyl9fWZ1bmN0aW9uIEozKHgscil7Zm9yKHZhciBlPXI7Oyl7aWYoIWUpcmV0dXJuIDA7dmFyIHQ9ZVsyXSx1PWQoeCxlWzFdKTtpZih1KXJldHVybiB1O3ZhciBlPXR9fWZ1bmN0aW9uIFFOKHgscil7Zm9yKHZhciBlPXI7Oyl7aWYoIWUpcmV0dXJuIDA7dmFyIHQ9ZVsyXSx1PWtNKGVbMV0seCk9PT0wPzE6MDtpZih1KXJldHVybiB1O3ZhciBlPXR9fWZ1bmN0aW9uIEQ2KHgscil7Zm9yKHZhciBlPXI7Oyl7aWYoIWUpcmV0dXJuIDA7dmFyIHQ9ZVsyXSx1PWVbMV07aWYoeCh1KSlmb3IodmFyIGk9WzAsdSx2M10sYz1pLHY9MSxhPXQ7Oyl7aWYoIWEpcmV0dXJuIGNbMSt2XT0wLGk7dmFyIGw9YVsyXSxtPWFbMV07aWYoeChtKSl7dmFyIGg9WzAsbSx2M107Y1sxK3ZdPWg7dmFyIGM9aCx2PTEsYT1sfWVsc2UgdmFyIGE9bH1lbHNlIHZhciBlPXR9fXZhciBYSz1cIlN0cmluZy5zdWIgLyBCeXRlcy5zdWJcIixZSz1cIkJ5dGVzLmJsaXRcIix6Sz1cIlN0cmluZy5ibGl0IC8gQnl0ZXMuYmxpdF9zdHJpbmdcIjtmdW5jdGlvbiBrdih4LHIpe3ZhciBlPVMyKHgpO3JldHVybiB6eihlLDAseCxyKSxlfWZ1bmN0aW9uIEdNKHgscixlKXtpZigwPD1yJiYwPD1lJiYoRnQoeCktZXwwKT49cil7dmFyIHQ9UzIoZSk7cmV0dXJuIHRhKHgscix0LDAsZSksdH1yZXR1cm4gUjEoWEspfWZ1bmN0aW9uIEczKHgscixlKXtyZXR1cm4gXzEoR00oeCxyLGUpKX1mdW5jdGlvbiBXTSh4LHIsZSx0LHUpe2lmKDA8PXUmJjA8PXImJihGdCh4KS11fDApPj1yJiYwPD10JiYoRnQoZSktdXwwKT49dCl7dGEoeCxyLGUsdCx1KTtyZXR1cm59cmV0dXJuIFIxKFlLKX1mdW5jdGlvbiBrbih4LHIsZSx0LHUpe2lmKDA8PXUmJjA8PXImJihOeCh4KS11fDApPj1yJiYwPD10JiYoRnQoZSktdXwwKT49dCl7Y3MoeCxyLGUsdCx1KTtyZXR1cm59cmV0dXJuIFIxKHpLKX12YXIgS0s9XCJTdHJpbmcuY29uY2F0XCIsSks9WjA7ZnVuY3Rpb24gczUoeCxyKXtyZXR1cm4gXzEoa3YoeCxyKSl9ZnVuY3Rpb24gVDEoeCxyLGUpe3JldHVybiBfMShHTShPdCh4KSxyLGUpKX1mdW5jdGlvbiBWTSh4LHIpe2lmKCFyKXJldHVybiBKSzt2YXIgZT1OeCh4KTt4OntyOntmb3IodmFyIHQ9MCx1PXIsaT0wO3U7KXt2YXIgYz11WzFdO2lmKCF1WzJdKWJyZWFrIHI7dmFyIHY9KE54KGMpK2V8MCkrdHwwLGE9dVsyXSxsPXQ8PXY/djpSMShLSyksdD1sLHU9YX12YXIgbT10O2JyZWFrIHh9dmFyIG09TngoYykrdHwwfWZvcih2YXIgaD1TMihtKSxUPWksYj1yOzspe2lmKGIpe3ZhciBOPWJbMV07aWYoYlsyXSl7dmFyIGo9YlsyXTtjcyhOLDAsaCxULE54KE4pKSxjcyh4LDAsaCxUK054KE4pfDAsZSk7dmFyIFQ9KFQrTngoTil8MCkrZXwwLGI9ajtjb250aW51ZX1jcyhOLDAsaCxULE54KE4pKX1yZXR1cm4gXzEoaCl9fWZ1bmN0aW9uICRNKHgpe3ZhciByPU90KHgpO2lmKEZ0KHIpPT09MCl2YXIgZT1yO2Vsc2V7dmFyIHQ9RnQociksdT1TMih0KTt0YShyLDAsdSwwLHQpLFhyKHUsMCx6TShzZShyLDApKSk7dmFyIGU9dX1yZXR1cm4gXzEoZSl9ZnVuY3Rpb24gUU0oeCxyKXt2YXIgZT1OeCh4KSx0PWU8PU54KHIpPzE6MDtpZighdClyZXR1cm4gdDtmb3IodmFyIHU9MDs7KXtpZih1PT09ZSlyZXR1cm4gMTtpZihKMChyLHUpIT09SjAoeCx1KSlyZXR1cm4gMDt2YXIgdT11KzF8MH19ZnVuY3Rpb24gSE0oeCxyKXt2YXIgZT1bMCwwXSx0PVswLE54KHIpXSx1PU54KHIpLTF8MDtpZih1Pj0wKWZvcih2YXIgaT11Ozspe2lmKEowKHIsaSk9PT14KXt2YXIgYz1lWzFdO2VbMV09WzAsVDEocixpKzF8MCwodFsxXS1pfDApLTF8MCksY10sdFsxXT1pfXZhciB2PWktMXwwO2lmKGk9PT0wKWJyZWFrO3ZhciBpPXZ9dmFyIGE9ZVsxXTtyZXR1cm5bMCxUMShyLDAsdFsxXSksYV19ZnVuY3Rpb24gYTUoeCxyKXtyZXR1cm4gQXooT3QoeCkscil9dmFyIEdLPVwiQXJyYXkuYmxpdFwiO2Z1bmN0aW9uIFpNKHgscixlLHQsdSl7aWYoMDw9dSYmMDw9ciYmKHgubGVuZ3RoLTEtdXwwKT49ciYmMDw9dCYmKGUubGVuZ3RoLTEtdXwwKT49dCl7ZHooeCxyLGUsdCx1KTtyZXR1cm59cmV0dXJuIFIxKEdLKX1mdW5jdGlvbiB4cSh4LHIpe3ZhciBlPXIubGVuZ3RoLTEtMXwwLHQ9MDtpZihlPj0wKWZvcih2YXIgdT10Ozspe3goclsxK3VdKTt2YXIgaT11KzF8MDtpZihlPT09dSlicmVhazt2YXIgdT1pfX1mdW5jdGlvbiBvNSh4LHIpe3ZhciBlPXIubGVuZ3RoLTE7aWYoZT09PTApcmV0dXJuWzBdO3ZhciB0PSRhKGUseChyWzFdKSksdT1lLTF8MCxpPTE7aWYodT49MSlmb3IodmFyIGM9aTs7KXt0WzErY109eChyWzErY10pO3ZhciB2PWMrMXwwO2lmKHU9PT1jKWJyZWFrO3ZhciBjPXZ9cmV0dXJuIHR9ZnVuY3Rpb24gRjYoeCl7aWYoIXgpcmV0dXJuWzBdO2Zvcih2YXIgcj0wLGU9eCx0PXhbMl0sdT14WzFdO2U7KXZhciByPXIrMXwwLGU9ZVsyXTtmb3IodmFyIGk9JGEocix1KSxjPTEsdj10Ozspe2lmKCF2KXJldHVybiBpO3ZhciBhPXZbMl07aVsxK2NdPXZbMV07dmFyIGM9YysxfDAsdj1hfX1mdW5jdGlvbiBycSh4KXt0cnl7dmFyIHI9WzAsb3YoeCldO3JldHVybiByfWNhdGNoKHQpe3ZhciBlPVUyKHQpO2lmKGVbMV09PT12bilyZXR1cm4gMDt0aHJvdyBXMChlLDApfX12YXIgV0s9eDgsVks9eDgsJEs9eDgsUUs9eDg7ZnVuY3Rpb24gSE4oeCl7ZnVuY3Rpb24gcihjKXtyZXR1cm4gYz9jWzVdOjB9ZnVuY3Rpb24gZShjLHYsYSxsKXt2YXIgbT1yKGMpLGg9cihsKSxUPWg8PW0/bSsxfDA6aCsxfDA7cmV0dXJuWzAsYyx2LGEsbCxUXX1mdW5jdGlvbiB0KGMsdixhLGwpe3ZhciBtPWM/Y1s1XTowLGg9bD9sWzVdOjA7aWYoKGgrMnwwKTxtKXtpZighYylyZXR1cm4gUjEoVkspO3ZhciBUPWNbNF0sYj1jWzNdLE49Y1syXSxqPWNbMV0sST1yKFQpO2lmKEk8PXIoaikpcmV0dXJuIGUoaixOLGIsZShULHYsYSxsKSk7aWYoIVQpcmV0dXJuIFIxKFdLKTt2YXIgRj1UWzNdLE09VFsyXSx6PVRbMV0sQj1lKFRbNF0sdixhLGwpO3JldHVybiBlKGUoaixOLGIseiksTSxGLEIpfWlmKChtKzJ8MCk+PWgpe3ZhciBLPWg8PW0/bSsxfDA6aCsxfDA7cmV0dXJuWzAsYyx2LGEsbCxLXX1pZighbClyZXR1cm4gUjEoUUspO3ZhciBuMD1sWzRdLCQ9bFszXSxIPWxbMl0sdDA9bFsxXSxjMD1yKHQwKTtpZihjMDw9cihuMCkpcmV0dXJuIGUoZShjLHYsYSx0MCksSCwkLG4wKTtpZighdDApcmV0dXJuIFIxKCRLKTt2YXIgcjA9dDBbM10sdjA9dDBbMl0sYTA9dDBbMV0sZzA9ZSh0MFs0XSxILCQsbjApO3JldHVybiBlKGUoYyx2LGEsYTApLHYwLHIwLGcwKX1mdW5jdGlvbiB1KGMsdixhKXtpZighYSlyZXR1cm5bMCwwLGMsdiwwLDFdO3ZhciBsPWFbNF0sbT1hWzNdLGg9YVsyXSxUPWFbMV0sYj1hWzVdLE49cCh4WzFdLGMsaCk7aWYoTj09PTApcmV0dXJuIG09PT12P2E6WzAsVCxjLHYsbCxiXTtpZigwPD1OKXt2YXIgaj11KGMsdixsKTtyZXR1cm4gbD09PWo/YTp0KFQsaCxtLGopfXZhciBJPXUoYyx2LFQpO3JldHVybiBUPT09ST9hOnQoSSxoLG0sbCl9ZnVuY3Rpb24gaShjLHYsYSl7Zm9yKHZhciBsPXYsbT1hOzspe2lmKCFsKXJldHVybiBtO3ZhciBoPWxbNF0sVD1sWzNdLGI9bFsyXSxOPWMoYixULGkoYyxsWzFdLG0pKSxsPWgsbT1OfX1yZXR1cm5bMCwwLHUsLCwsLCwsLCwsLCwsLCxmdW5jdGlvbihjLHYpe2Zvcih2YXIgYT12Ozspe2lmKCFhKXRocm93IFcwKG9zLDEpO3ZhciBsPWFbNF0sbT1hWzNdLGg9YVsxXSxUPXAoeFsxXSxjLGFbMl0pO2lmKFQ9PT0wKXJldHVybiBtO3ZhciBiPTA8PVQ/bDpoLGE9Yn19LCwsLCwsLGldfWZ1bmN0aW9uIFI2KHgpe3JldHVyblswLDAsMF19ZnVuY3Rpb24gTDYoeCl7eFsxXT0wLHhbMl09MH1mdW5jdGlvbiBtdih4LHIpe3JbMV09WzAseCxyWzFdXSxyWzJdPXJbMl0rMXwwfWZ1bmN0aW9uIFczKHgpe3ZhciByPXhbMV07aWYoIXIpcmV0dXJuIDA7dmFyIGU9clsxXTtyZXR1cm4geFsxXT1yWzJdLHhbMl09eFsyXS0xfDAsWzAsZV19ZnVuY3Rpb24gVjMoeCl7dmFyIHI9eFsxXTtyZXR1cm4gcj9bMCxyWzFdXTowfWZ1bmN0aW9uIGVxKHgpe3JldHVyblswLDAsMCwwXX1mdW5jdGlvbiBaTih4KXt4WzFdPTAseFsyXT0wLHhbM109MH1mdW5jdGlvbiB4aih4LHIpe3ZhciBlPVswLHgsMF0sdD1yWzNdO3JldHVybiB0PyhyWzFdPXJbMV0rMXwwLHRbMl09ZSxyWzNdPWUsMCk6KHJbMV09MSxyWzJdPWUsclszXT1lLDApfXZhciBISz1cIkJ1ZmZlci5hZGQ6IGNhbm5vdCBncm93IGJ1ZmZlclwiLFpLPVwiQnVmZmVyLmFkZF9zdWJzdHJpbmcvYWRkX3N1YmJ5dGVzXCI7ZnVuY3Rpb24gJHIoeCl7dmFyIHI9MTw9eD94OjEsZT1qNjxyP2o2OnIsdD1TMihlKTtyZXR1cm5bMCxbMCx0LGVdLDAsdF19ZnVuY3Rpb24gRzIoeCl7cmV0dXJuIEczKHhbMV1bMV0sMCx4WzJdKX1mdW5jdGlvbiByaih4LHIpe2Zvcih2YXIgZT14WzJdLHQ9WzAseFsxXVsyXV07ISh0WzFdPj0oZStyfDApKTspdFsxXT0yKnRbMV18MDtqNjx0WzFdJiYoKGUrcnwwKTw9ajY/dFsxXT1qNjpUeChISykpO3ZhciB1PVMyKHRbMV0pO1dNKHhbMV1bMV0sMCx1LDAseFsyXSkseFsxXT1bMCx1LHRbMV1dfWZ1bmN0aW9uIGx0KHgscil7dmFyIGU9eFsyXSx0PXhbMV0sdT10WzFdO3RbMl08PWU/KHJqKHgsMSksdWEoeFsxXVsxXSx4WzJdLHIpKTpYcih1LGUscikseFsyXT1lKzF8MH1mdW5jdGlvbiBlaih4LHIsZSx0KXt2YXIgdT1lPDA/MTowO2lmKHUpdmFyIGM9dTtlbHNlIHZhciBpPXQ8MD8xOjAsYz1pfHwoKE54KHIpLXR8MCk8ZT8xOjApO2MmJlIxKFpLKTt2YXIgdj14WzJdLGE9eFsxXSxsPXYrdHwwLG09YVsxXTtyZXR1cm4gYVsyXTxsPyhyaih4LHQpLGtuKHIsZSx4WzFdWzFdLHhbMl0sdCkpOmNzKHIsZSxtLHYsdCkseFsyXT1sLDB9ZnVuY3Rpb24gdGooeCxyLGUsdCl7cmV0dXJuIGVqKHgsXzEociksZSx0KX1mdW5jdGlvbiBpcih4LHIpe3ZhciBlPU54KHIpLHQ9eFsyXSx1PXhbMV0saT10K2V8MCxjPXVbMV07dVsyXTxpPyhyaih4LGUpLGtuKHIsMCx4WzFdWzFdLHhbMl0sZSkpOmNzKHIsMCxjLHQsZSkseFsyXT1pfXZhciBuaj1bMCwwXTtmdW5jdGlvbiB0cSh4KXtyZXR1cm4geCE9PW5qPzE6MH1ZeigkYSg4LG5qKSk7dmFyIG5xPVswLDBdLHhKPVswLDBdLHJKPVswLFwiZG9tYWluLm1sXCIscDYsMTNdO2Z1bmN0aW9uIGxzKHgscil7dmFyIGU9WzAsd3ooeEosMSkscl07aWYoeClmb3IodmFyIHQ9WzAsZSx4WzFdXTs7KXt2YXIgdT1SMyhucSk7aWYoISgxLUJtKG5xLHUsWzAsdCx1XSkpKWJyZWFrfXJldHVybiBlfWZ1bmN0aW9uIHVxKHgpe2Zvcig7Oyl7dmFyIHI9bU0oMCksZT1yLmxlbmd0aC0xO2lmKHg8ZSlyZXR1cm4gcjtmb3IodmFyIHQ9ZTshKHg8dCk7KXZhciB0PTIqdHwwO3ZhciB1PSRhKHQsbmopO2lmKFpNKHIsMCx1LDAsZSksWHoocix1KSlyZXR1cm4gdX19ZnVuY3Rpb24gTTYoeCxyKXt2YXIgZT14WzFdO04yKHVxKGUpLGUpWzErZV09cn1mdW5jdGlvbiBodih4KXt2YXIgcj14WzFdLGU9eFsyXSx0PU4yKHVxKHIpLHIpWzErcl07aWYodHEodCkpcmV0dXJuIHQ7dmFyIHU9ZChlLDApLGk9bU0oMCksYz1OMihpLHIpWzErcl09PT10PyhpWzErcl09dSwxKTowO2lmKGMpcmV0dXJuIHU7dmFyIHY9TjIoaSxyKVsxK3JdO2lmKHRxKHYpKXJldHVybiB2O3Rocm93IFcwKFswLE5yLHJKXSwxKX12YXIgdWo9bHMoMCxmdW5jdGlvbih4KXtyZXR1cm4gZnVuY3Rpb24ocil7cmV0dXJuIDB9fSk7ZnVuY3Rpb24gaXEoeCl7dmFyIHI9aHYodWopO3JldHVybiBNNih1aixmdW5jdGlvbihlKXtyZXR1cm4geChPKSxkKHIsMCl9KX1YTVsxXT1mdW5jdGlvbih4KXtyZXR1cm4gZChodih1aiksMCl9O3ZhciBlSj1fQSx0Sj1cIkB9XCIsbko9XCJAP1wiLHVKPWBAXG5gLGlKPVwiQC5cIixmSj1cIkBAXCIsY0o9XCJAJVwiLHNKPUNPLGFKPVwiJWNcIixvSj1cIiVzXCIsdko9ckYsbEo9SUwscEo9aE8sa0o9YUYsbUo9XCIlZlwiLGhKPVwiJUJcIixkSj1cIiV7XCIseUo9XCIlfVwiLGdKPVwiJShcIix3Sj1cIiUpXCIsX0o9XCIlYVwiLGJKPVwiJXRcIixUSj1cIiU/XCIsRUo9XCIlclwiLFNKPVwiJV9yXCIsQUo9WzAsazEsODUwLDIzXSxQSj1bMCxrMSw4MzcsMjZdLElKPVswLGsxLDg0NywyOF0sTko9WzAsazEsODE1LDIxXSxqSj1bMCxrMSw4MTksMjFdLENKPVswLGsxLDgyMywxOV0sT0o9WzAsazEsODI3LDIyXSxESj1bMCxrMSw4MzIsMzBdLEZKPVswLGsxLDg1MSwyM10sUko9WzAsazEsODM2LDI2XSxMSj1bMCxrMSw4NDYsMjhdLE1KPVswLGsxLDgxNCwyMV0scUo9WzAsazEsODE4LDIxXSxVSj1bMCxrMSw4MjIsMTldLEJKPVswLGsxLDgyNiwyMl0sWEo9WzAsazEsODMxLDMwXTtmdW5jdGlvbiBpaih4KXtyZXR1cm4geFsyXT09PTU/MTI6LTZ9ZnVuY3Rpb24gZnEoeCl7cmV0dXJuWzAsMCxTMih4KV19ZnVuY3Rpb24gY3EoeCxyKXt2YXIgZT1GdCh4WzJdKSx0PXhbMV0rcnwwO2lmKGU8dCl7dmFyIHU9ZSoyfDAsaT10PD11P3U6dCxjPVMyKGkpO1dNKHhbMl0sMCxjLDAsZSkseFsyXT1jfX1mdW5jdGlvbiAkMyh4LHIpe2NxKHgsMSksdWEoeFsyXSx4WzFdLHIpLHhbMV09eFsxXSsxfDB9ZnVuY3Rpb24gTDEoeCxyKXt2YXIgZT1OeChyKTtjcSh4LGUpLGtuKHIsMCx4WzJdLHhbMV0sZSkseFsxXT14WzFdK2V8MH1mdW5jdGlvbiBzcSh4KXtyZXR1cm4gRzMoeFsyXSwwLHhbMV0pfWZ1bmN0aW9uIGFxKHgpe2lmKHR5cGVvZiB4PT1cIm51bWJlclwiKXN3aXRjaCh4KXtjYXNlIDA6cmV0dXJuIGVKO2Nhc2UgMTpyZXR1cm4gdEo7Y2FzZSAyOnJldHVybiBuSjtjYXNlIDM6cmV0dXJuIHVKO2Nhc2UgNDpyZXR1cm4gaUo7Y2FzZSA1OnJldHVybiBmSjtkZWZhdWx0OnJldHVybiBjSn1zd2l0Y2goeFswXSl7Y2FzZSAwOnJldHVybiB4WzFdO2Nhc2UgMTpyZXR1cm4geFsxXTtkZWZhdWx0OnJldHVybiBxeChzSixzNSgxLHhbMV0pKX19ZnVuY3Rpb24gZmooeCxyKXtmb3IodmFyIGU9cjs7KXtpZih0eXBlb2YgZT09XCJudW1iZXJcIilyZXR1cm47c3dpdGNoKGVbMF0pe2Nhc2UgMDp2YXIgdD1lWzFdO0wxKHgsYUopO3ZhciBlPXQ7YnJlYWs7Y2FzZSAxOnZhciB1PWVbMV07TDEoeCxvSik7dmFyIGU9dTticmVhaztjYXNlIDI6dmFyIGk9ZVsxXTtMMSh4LHZKKTt2YXIgZT1pO2JyZWFrO2Nhc2UgMzp2YXIgYz1lWzFdO0wxKHgsbEopO3ZhciBlPWM7YnJlYWs7Y2FzZSA0OnZhciB2PWVbMV07TDEoeCxwSik7dmFyIGU9djticmVhaztjYXNlIDU6dmFyIGE9ZVsxXTtMMSh4LGtKKTt2YXIgZT1hO2JyZWFrO2Nhc2UgNjp2YXIgbD1lWzFdO0wxKHgsbUopO3ZhciBlPWw7YnJlYWs7Y2FzZSA3OnZhciBtPWVbMV07TDEoeCxoSik7dmFyIGU9bTticmVhaztjYXNlIDg6dmFyIGg9ZVsyXSxUPWVbMV07TDEoeCxkSiksZmooeCxUKSxMMSh4LHlKKTt2YXIgZT1oO2JyZWFrO2Nhc2UgOTp2YXIgYj1lWzNdLE49ZVsxXTtMMSh4LGdKKSxmaih4LE4pLEwxKHgsd0opO3ZhciBlPWI7YnJlYWs7Y2FzZSAxMDp2YXIgaj1lWzFdO0wxKHgsX0opO3ZhciBlPWo7YnJlYWs7Y2FzZSAxMTp2YXIgST1lWzFdO0wxKHgsYkopO3ZhciBlPUk7YnJlYWs7Y2FzZSAxMjp2YXIgRj1lWzFdO0wxKHgsVEopO3ZhciBlPUY7YnJlYWs7Y2FzZSAxMzp2YXIgTT1lWzFdO0wxKHgsRUopO3ZhciBlPU07YnJlYWs7ZGVmYXVsdDp2YXIgej1lWzFdO0wxKHgsU0opO3ZhciBlPXp9fX1mdW5jdGlvbiBjMSh4KXtpZih0eXBlb2YgeD09XCJudW1iZXJcIilyZXR1cm4gMDtzd2l0Y2goeFswXSl7Y2FzZSAwOnJldHVyblswLGMxKHhbMV0pXTtjYXNlIDE6cmV0dXJuWzEsYzEoeFsxXSldO2Nhc2UgMjpyZXR1cm5bMixjMSh4WzFdKV07Y2FzZSAzOnJldHVyblszLGMxKHhbMV0pXTtjYXNlIDQ6cmV0dXJuWzQsYzEoeFsxXSldO2Nhc2UgNTpyZXR1cm5bNSxjMSh4WzFdKV07Y2FzZSA2OnJldHVybls2LGMxKHhbMV0pXTtjYXNlIDc6cmV0dXJuWzcsYzEoeFsxXSldO2Nhc2UgODp2YXIgcj14WzFdO3JldHVybls4LHIsYzEoeFsyXSldO2Nhc2UgOTp2YXIgZT14WzJdLHQ9eFsxXTtyZXR1cm5bOSxlLHQsYzEoeFszXSldO2Nhc2UgMTA6cmV0dXJuWzEwLGMxKHhbMV0pXTtjYXNlIDExOnJldHVyblsxMSxjMSh4WzFdKV07Y2FzZSAxMjpyZXR1cm5bMTIsYzEoeFsxXSldO2Nhc2UgMTM6cmV0dXJuWzEzLGMxKHhbMV0pXTtkZWZhdWx0OnJldHVyblsxNCxjMSh4WzFdKV19fWZ1bmN0aW9uIE0xKHgpe2lmKHR5cGVvZiB4PT1cIm51bWJlclwiKXJldHVyblswLGZ1bmN0aW9uKG0wKXt9LGZ1bmN0aW9uKG0wKXt9LGZ1bmN0aW9uKG0wKXt9LGZ1bmN0aW9uKG0wKXt9XTtzd2l0Y2goeFswXSl7Y2FzZSAwOnZhciByPU0xKHhbMV0pLGU9clsyXSx0PXJbMV07cmV0dXJuWzAsZnVuY3Rpb24obTApe3QoTyl9LGZ1bmN0aW9uKG0wKXtlKE8pfSxyWzNdLHJbNF1dO2Nhc2UgMTp2YXIgdT1NMSh4WzFdKSxpPXVbMl0sYz11WzFdO3JldHVyblswLGZ1bmN0aW9uKG0wKXtjKE8pfSxmdW5jdGlvbihtMCl7aShPKX0sdVszXSx1WzRdXTtjYXNlIDI6dmFyIHY9TTEoeFsxXSksYT12WzJdLGw9dlsxXTtyZXR1cm5bMCxmdW5jdGlvbihtMCl7bChPKX0sZnVuY3Rpb24obTApe2EoTyl9LHZbM10sdls0XV07Y2FzZSAzOnZhciBtPU0xKHhbMV0pLGg9bVsyXSxUPW1bMV07cmV0dXJuWzAsZnVuY3Rpb24obTApe1QoTyl9LGZ1bmN0aW9uKG0wKXtoKE8pfSxtWzNdLG1bNF1dO2Nhc2UgNDp2YXIgYj1NMSh4WzFdKSxOPWJbMl0saj1iWzFdO3JldHVyblswLGZ1bmN0aW9uKG0wKXtqKE8pfSxmdW5jdGlvbihtMCl7TihPKX0sYlszXSxiWzRdXTtjYXNlIDU6dmFyIEk9TTEoeFsxXSksRj1JWzJdLE09SVsxXTtyZXR1cm5bMCxmdW5jdGlvbihtMCl7TShPKX0sZnVuY3Rpb24obTApe0YoTyl9LElbM10sSVs0XV07Y2FzZSA2OnZhciB6PU0xKHhbMV0pLEI9elsyXSxLPXpbMV07cmV0dXJuWzAsZnVuY3Rpb24obTApe0soTyl9LGZ1bmN0aW9uKG0wKXtCKE8pfSx6WzNdLHpbNF1dO2Nhc2UgNzp2YXIgbjA9TTEoeFsxXSksJD1uMFsyXSxIPW4wWzFdO3JldHVyblswLGZ1bmN0aW9uKG0wKXtIKE8pfSxmdW5jdGlvbihtMCl7JChPKX0sbjBbM10sbjBbNF1dO2Nhc2UgODp2YXIgdDA9TTEoeFsyXSksYzA9dDBbMl0scjA9dDBbMV07cmV0dXJuWzAsZnVuY3Rpb24obTApe3IwKE8pfSxmdW5jdGlvbihtMCl7YzAoTyl9LHQwWzNdLHQwWzRdXTtjYXNlIDk6dmFyIHYwPXhbMl0sYTA9eFsxXSxnMD1NMSh4WzNdKSxpMD1nMFs0XSxzMD1nMFszXSxkMD1nMFsyXSx3MD1nMFsxXSxNMD1NMShoMShjMShhMCksdjApKSxDMD1NMFs0XSxEMD1NMFszXSxJMD1NMFsyXSxqMD1NMFsxXTtyZXR1cm5bMCxmdW5jdGlvbihtMCl7dzAoTyksajAoTyl9LGZ1bmN0aW9uKG0wKXtJMChPKSxkMChPKX0sZnVuY3Rpb24obTApe3MwKE8pLEQwKE8pfSxmdW5jdGlvbihtMCl7QzAoTyksaTAoTyl9XTtjYXNlIDEwOnZhciB5MD1NMSh4WzFdKSxZMD15MFsyXSxMPXkwWzFdO3JldHVyblswLGZ1bmN0aW9uKG0wKXtMKE8pfSxmdW5jdGlvbihtMCl7WTAoTyl9LHkwWzNdLHkwWzRdXTtjYXNlIDExOnZhciBOMD1NMSh4WzFdKSxTMD1OMFsyXSxLMD1OMFsxXTtyZXR1cm5bMCxmdW5jdGlvbihtMCl7SzAoTyl9LGZ1bmN0aW9uKG0wKXtTMChPKX0sTjBbM10sTjBbNF1dO2Nhc2UgMTI6dmFyIEEwPU0xKHhbMV0pLCQwPUEwWzJdLGV4PUEwWzFdO3JldHVyblswLGZ1bmN0aW9uKG0wKXtleChPKX0sZnVuY3Rpb24obTApeyQwKE8pfSxBMFszXSxBMFs0XV07Y2FzZSAxMzp2YXIgeHg9TTEoeFsxXSksdHg9eHhbNF0sejA9eHhbM10scHg9eHhbMl0sc3g9eHhbMV07cmV0dXJuWzAsZnVuY3Rpb24obTApe3N4KE8pfSxmdW5jdGlvbihtMCl7cHgoTyl9LGZ1bmN0aW9uKG0wKXt6MChPKX0sZnVuY3Rpb24obTApe3R4KE8pfV07ZGVmYXVsdDp2YXIgUT1NMSh4WzFdKSxiMD1RWzRdLFU9UVszXSxoMD1RWzJdLF8wPVFbMV07cmV0dXJuWzAsZnVuY3Rpb24obTApe18wKE8pfSxmdW5jdGlvbihtMCl7aDAoTyl9LGZ1bmN0aW9uKG0wKXtVKE8pfSxmdW5jdGlvbihtMCl7YjAoTyl9XX19ZnVuY3Rpb24gaDEoeCxyKXt4OntyOntlOnt0OntuOnt1OntpOntpZih0eXBlb2YgeCE9XCJudW1iZXJcIil7c3dpdGNoKHhbMF0pe2Nhc2UgMDp2YXIgZT14WzFdO2lmKHR5cGVvZiByIT1cIm51bWJlclwiKXN3aXRjaChyWzBdKXtjYXNlIDA6cmV0dXJuWzAsaDEoZSxyWzFdKV07Y2FzZSA4OmJyZWFrIHU7Y2FzZSA5OmJyZWFrIGk7Y2FzZSAxMDpicmVhayB4O2Nhc2UgMTE6YnJlYWsgcjtjYXNlIDEyOmJyZWFrIGU7Y2FzZSAxMzpicmVhayB0O2Nhc2UgMTQ6YnJlYWsgbn1icmVhaztjYXNlIDE6dmFyIHQ9eFsxXTtpZih0eXBlb2YgciE9XCJudW1iZXJcIilzd2l0Y2goclswXSl7Y2FzZSAxOnJldHVyblsxLGgxKHQsclsxXSldO2Nhc2UgODpicmVhayB1O2Nhc2UgOTpicmVhayBpO2Nhc2UgMTA6YnJlYWsgeDtjYXNlIDExOmJyZWFrIHI7Y2FzZSAxMjpicmVhayBlO2Nhc2UgMTM6YnJlYWsgdDtjYXNlIDE0OmJyZWFrIG59YnJlYWs7Y2FzZSAyOnZhciB1PXhbMV07aWYodHlwZW9mIHIhPVwibnVtYmVyXCIpc3dpdGNoKHJbMF0pe2Nhc2UgMjpyZXR1cm5bMixoMSh1LHJbMV0pXTtjYXNlIDg6YnJlYWsgdTtjYXNlIDk6YnJlYWsgaTtjYXNlIDEwOmJyZWFrIHg7Y2FzZSAxMTpicmVhayByO2Nhc2UgMTI6YnJlYWsgZTtjYXNlIDEzOmJyZWFrIHQ7Y2FzZSAxNDpicmVhayBufWJyZWFrO2Nhc2UgMzp2YXIgaT14WzFdO2lmKHR5cGVvZiByIT1cIm51bWJlclwiKXN3aXRjaChyWzBdKXtjYXNlIDM6cmV0dXJuWzMsaDEoaSxyWzFdKV07Y2FzZSA4OmJyZWFrIHU7Y2FzZSA5OmJyZWFrIGk7Y2FzZSAxMDpicmVhayB4O2Nhc2UgMTE6YnJlYWsgcjtjYXNlIDEyOmJyZWFrIGU7Y2FzZSAxMzpicmVhayB0O2Nhc2UgMTQ6YnJlYWsgbn1icmVhaztjYXNlIDQ6dmFyIGM9eFsxXTtpZih0eXBlb2YgciE9XCJudW1iZXJcIilzd2l0Y2goclswXSl7Y2FzZSA0OnJldHVybls0LGgxKGMsclsxXSldO2Nhc2UgODpicmVhayB1O2Nhc2UgOTpicmVhayBpO2Nhc2UgMTA6YnJlYWsgeDtjYXNlIDExOmJyZWFrIHI7Y2FzZSAxMjpicmVhayBlO2Nhc2UgMTM6YnJlYWsgdDtjYXNlIDE0OmJyZWFrIG59YnJlYWs7Y2FzZSA1OnZhciB2PXhbMV07aWYodHlwZW9mIHIhPVwibnVtYmVyXCIpc3dpdGNoKHJbMF0pe2Nhc2UgNTpyZXR1cm5bNSxoMSh2LHJbMV0pXTtjYXNlIDg6YnJlYWsgdTtjYXNlIDk6YnJlYWsgaTtjYXNlIDEwOmJyZWFrIHg7Y2FzZSAxMTpicmVhayByO2Nhc2UgMTI6YnJlYWsgZTtjYXNlIDEzOmJyZWFrIHQ7Y2FzZSAxNDpicmVhayBufWJyZWFrO2Nhc2UgNjp2YXIgYT14WzFdO2lmKHR5cGVvZiByIT1cIm51bWJlclwiKXN3aXRjaChyWzBdKXtjYXNlIDY6cmV0dXJuWzYsaDEoYSxyWzFdKV07Y2FzZSA4OmJyZWFrIHU7Y2FzZSA5OmJyZWFrIGk7Y2FzZSAxMDpicmVhayB4O2Nhc2UgMTE6YnJlYWsgcjtjYXNlIDEyOmJyZWFrIGU7Y2FzZSAxMzpicmVhayB0O2Nhc2UgMTQ6YnJlYWsgbn1icmVhaztjYXNlIDc6dmFyIGw9eFsxXTtpZih0eXBlb2YgciE9XCJudW1iZXJcIilzd2l0Y2goclswXSl7Y2FzZSA3OnJldHVybls3LGgxKGwsclsxXSldO2Nhc2UgODpicmVhayB1O2Nhc2UgOTpicmVhayBpO2Nhc2UgMTA6YnJlYWsgeDtjYXNlIDExOmJyZWFrIHI7Y2FzZSAxMjpicmVhayBlO2Nhc2UgMTM6YnJlYWsgdDtjYXNlIDE0OmJyZWFrIG59YnJlYWs7Y2FzZSA4OnZhciBtPXhbMl0saD14WzFdO2lmKHR5cGVvZiByIT1cIm51bWJlclwiKXN3aXRjaChyWzBdKXtjYXNlIDg6dmFyIFQ9clsxXSxiPWgxKG0sclsyXSk7cmV0dXJuWzgsaDEoaCxUKSxiXTtjYXNlIDEwOmJyZWFrIHg7Y2FzZSAxMTpicmVhayByO2Nhc2UgMTI6YnJlYWsgZTtjYXNlIDEzOmJyZWFrIHQ7Y2FzZSAxNDpicmVhayBufXRocm93IFcwKFswLE5yLFJKXSwxKTtjYXNlIDk6dmFyIE49eFszXSxqPXhbMl0sST14WzFdO2lmKHR5cGVvZiByIT1cIm51bWJlclwiKXN3aXRjaChyWzBdKXtjYXNlIDg6YnJlYWsgdTtjYXNlIDk6dmFyIEY9clszXSxNPXJbMl0sej1yWzFdLEI9TTEoaDEoYzEoaikseikpLEs9Qls0XTtyZXR1cm4gQlsyXS5jYWxsKG51bGwsTyksSyhPKSxbOSxJLE0saDEoTixGKV07Y2FzZSAxMDpicmVhayB4O2Nhc2UgMTE6YnJlYWsgcjtjYXNlIDEyOmJyZWFrIGU7Y2FzZSAxMzpicmVhayB0O2Nhc2UgMTQ6YnJlYWsgbn10aHJvdyBXMChbMCxOcixMSl0sMSk7Y2FzZSAxMDp2YXIgbjA9eFsxXTtpZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTEwKXJldHVyblsxMCxoMShuMCxyWzFdKV07dGhyb3cgVzAoWzAsTnIsTUpdLDEpO2Nhc2UgMTE6dmFyICQ9eFsxXTtpZih0eXBlb2YgciE9XCJudW1iZXJcIilzd2l0Y2goclswXSl7Y2FzZSAxMDpicmVhayB4O2Nhc2UgMTE6cmV0dXJuWzExLGgxKCQsclsxXSldfXRocm93IFcwKFswLE5yLHFKXSwxKTtjYXNlIDEyOnZhciBIPXhbMV07aWYodHlwZW9mIHIhPVwibnVtYmVyXCIpc3dpdGNoKHJbMF0pe2Nhc2UgMTA6YnJlYWsgeDtjYXNlIDExOmJyZWFrIHI7Y2FzZSAxMjpyZXR1cm5bMTIsaDEoSCxyWzFdKV19dGhyb3cgVzAoWzAsTnIsVUpdLDEpO2Nhc2UgMTM6dmFyIHQwPXhbMV07aWYodHlwZW9mIHIhPVwibnVtYmVyXCIpc3dpdGNoKHJbMF0pe2Nhc2UgMTA6YnJlYWsgeDtjYXNlIDExOmJyZWFrIHI7Y2FzZSAxMjpicmVhayBlO2Nhc2UgMTM6cmV0dXJuWzEzLGgxKHQwLHJbMV0pXX10aHJvdyBXMChbMCxOcixCSl0sMSk7ZGVmYXVsdDp2YXIgYzA9eFsxXTtpZih0eXBlb2YgciE9XCJudW1iZXJcIilzd2l0Y2goclswXSl7Y2FzZSAxMDpicmVhayB4O2Nhc2UgMTE6YnJlYWsgcjtjYXNlIDEyOmJyZWFrIGU7Y2FzZSAxMzpicmVhayB0O2Nhc2UgMTQ6cmV0dXJuWzE0LGgxKGMwLHJbMV0pXX10aHJvdyBXMChbMCxOcixYSl0sMSl9dGhyb3cgVzAoWzAsTnIsRkpdLDEpfWlmKHR5cGVvZiByPT1cIm51bWJlclwiKXJldHVybiAwO3N3aXRjaChyWzBdKXtjYXNlIDEwOmJyZWFrIHg7Y2FzZSAxMTpicmVhayByO2Nhc2UgMTI6YnJlYWsgZTtjYXNlIDEzOmJyZWFrIHQ7Y2FzZSAxNDpicmVhayBuO2Nhc2UgODpicmVhayB1O2Nhc2UgOTpicmVhaztkZWZhdWx0OnRocm93IFcwKFswLE5yLEFKXSwxKX19dGhyb3cgVzAoWzAsTnIsSUpdLDEpfXRocm93IFcwKFswLE5yLFBKXSwxKX10aHJvdyBXMChbMCxOcixESl0sMSl9dGhyb3cgVzAoWzAsTnIsT0pdLDEpfXRocm93IFcwKFswLE5yLENKXSwxKX10aHJvdyBXMChbMCxOcixqSl0sMSl9dGhyb3cgVzAoWzAsTnIsTkpdLDEpfXZhciBFMT1bbjIsXCJDYW1saW50ZXJuYWxGb3JtYXQuVHlwZV9taXNtYXRjaFwiLGFzKDApXTtmdW5jdGlvbiBZSih4KXtyZXR1cm4geD9SSzpMS312YXIgeko9V08sS0o9XCJcXFxcJ1wiLEpKPVwiXFxcXGJcIixHSj1cIlxcXFx0XCIsV0o9XCJcXFxcblwiLFZKPVwiXFxcXHJcIjtmdW5jdGlvbiAkSih4LHIpe3ZhciBlPUZ0KHIpO2lmKGU9PT0wKXJldHVybiByO3ZhciB0PVMyKGUpLHU9ZS0xfDAsaT0wO2lmKHU+PTApZm9yKHZhciBjPWk7Oyl7WHIodCxjLHgoc2UocixjKSkpO3ZhciB2PWMrMXwwO2lmKHU9PT1jKWJyZWFrO3ZhciBjPXZ9cmV0dXJuIHR9dmFyIFFKPU8zLEhKPVwiJStkXCIsWko9XCIlIGRcIix4Rz1yRixyRz1cIiUraVwiLGVHPVwiJSBpXCIsdEc9XCIleFwiLG5HPVwiJSN4XCIsdUc9XCIlWFwiLGlHPVwiJSNYXCIsZkc9XCIlb1wiLGNHPVwiJSNvXCIsc0c9WFIsYUc9XCIlTGRcIixvRz1cIiUrTGRcIix2Rz1cIiUgTGRcIixsRz1hRixwRz1cIiUrTGlcIixrRz1cIiUgTGlcIixtRz1cIiVMeFwiLGhHPVwiJSNMeFwiLGRHPVwiJUxYXCIseUc9XCIlI0xYXCIsZ0c9XCIlTG9cIix3Rz1cIiUjTG9cIixfRz1cIiVMdVwiLGJHPVwiJWxkXCIsVEc9XCIlK2xkXCIsRUc9XCIlIGxkXCIsU0c9SUwsQUc9XCIlK2xpXCIsUEc9XCIlIGxpXCIsSUc9XCIlbHhcIixORz1cIiUjbHhcIixqRz1cIiVsWFwiLENHPVwiJSNsWFwiLE9HPVwiJWxvXCIsREc9XCIlI2xvXCIsRkc9XCIlbHVcIixSRz1cIiVuZFwiLExHPVwiJStuZFwiLE1HPVwiJSBuZFwiLHFHPWhPLFVHPVwiJStuaVwiLEJHPVwiJSBuaVwiLFhHPVwiJW54XCIsWUc9XCIlI254XCIsekc9XCIlblhcIixLRz1cIiUjblhcIixKRz1cIiVub1wiLEdHPVwiJSNub1wiLFdHPVwiJW51XCIsVkc9WzAsc25dLCRHPWNuLFFHPVwibmVnX2luZmluaXR5XCIsSEc9ckwsWkc9ZkkseFc9WzAsazEsMTU1OCw0XSxyVz1cIlByaW50ZjogYmFkIGNvbnZlcnNpb24gJVtcIixlVz1bMCxrMSwxNjI2LDM5XSx0Vz1bMCxrMSwxNjQ5LDMxXSxuVz1bMCxrMSwxNjUwLDMxXSx1Vz1cIlByaW50ZjogYmFkIGNvbnZlcnNpb24gJV9cIixpVz1zTCxmVz1oUixjVz1zTCxzVz1oUjtmdW5jdGlvbiB2NSh4LHIpe2lmKHR5cGVvZiB4PT1cIm51bWJlclwiKXJldHVyblswLDAscl07aWYoeFswXT09PTApcmV0dXJuWzAsWzAseFsxXSx4WzJdXSxyXTtpZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTIpcmV0dXJuWzAsWzEseFsxXV0sclsxXV07dGhyb3cgVzAoRTEsMSl9ZnVuY3Rpb24gcTYoeCxyLGUpe3ZhciB0PXY1KHgsZSk7aWYodHlwZW9mIHIhPVwibnVtYmVyXCIpcmV0dXJuWzAsdFsxXSxbMCxyWzFdXSx0WzJdXTtpZighcilyZXR1cm5bMCx0WzFdLDAsdFsyXV07dmFyIHU9dFsyXTtpZih0eXBlb2YgdSE9XCJudW1iZXJcIiYmdVswXT09PTIpcmV0dXJuWzAsdFsxXSwxLHVbMV1dO3Rocm93IFcwKEUxLDEpfWZ1bmN0aW9uIGgyKHgscil7aWYodHlwZW9mIHg9PVwibnVtYmVyXCIpcmV0dXJuWzAsMCxyXTtzd2l0Y2goeFswXSl7Y2FzZSAwOmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09MCl7dmFyIGU9aDIoeFsxXSxyWzFdKTtyZXR1cm5bMCxbMCxlWzFdXSxlWzJdXX1icmVhaztjYXNlIDE6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT0wKXt2YXIgdD1oMih4WzFdLHJbMV0pO3JldHVyblswLFsxLHRbMV1dLHRbMl1dfWJyZWFrO2Nhc2UgMjp2YXIgdT14WzJdLGk9djUoeFsxXSxyKSxjPWlbMl0sdj1pWzFdO2lmKHR5cGVvZiBjIT1cIm51bWJlclwiJiZjWzBdPT09MSl7dmFyIGE9aDIodSxjWzFdKTtyZXR1cm5bMCxbMix2LGFbMV1dLGFbMl1dfXRocm93IFcwKEUxLDEpO2Nhc2UgMzp2YXIgbD14WzJdLG09djUoeFsxXSxyKSxoPW1bMl0sVD1tWzFdO2lmKHR5cGVvZiBoIT1cIm51bWJlclwiJiZoWzBdPT09MSl7dmFyIGI9aDIobCxoWzFdKTtyZXR1cm5bMCxbMyxULGJbMV1dLGJbMl1dfXRocm93IFcwKEUxLDEpO2Nhc2UgNDp2YXIgTj14WzRdLGo9eFsxXSxJPXE2KHhbMl0seFszXSxyKSxGPUlbM10sTT1JWzFdO2lmKHR5cGVvZiBGIT1cIm51bWJlclwiJiZGWzBdPT09Mil7dmFyIHo9SVsyXSxCPWgyKE4sRlsxXSk7cmV0dXJuWzAsWzQsaixNLHosQlsxXV0sQlsyXV19dGhyb3cgVzAoRTEsMSk7Y2FzZSA1OnZhciBLPXhbNF0sbjA9eFsxXSwkPXE2KHhbMl0seFszXSxyKSxIPSRbM10sdDA9JFsxXTtpZih0eXBlb2YgSCE9XCJudW1iZXJcIiYmSFswXT09PTMpe3ZhciBjMD0kWzJdLHIwPWgyKEssSFsxXSk7cmV0dXJuWzAsWzUsbjAsdDAsYzAscjBbMV1dLHIwWzJdXX10aHJvdyBXMChFMSwxKTtjYXNlIDY6dmFyIHYwPXhbNF0sYTA9eFsxXSxnMD1xNih4WzJdLHhbM10sciksaTA9ZzBbM10sczA9ZzBbMV07aWYodHlwZW9mIGkwIT1cIm51bWJlclwiJiZpMFswXT09PTQpe3ZhciBkMD1nMFsyXSx3MD1oMih2MCxpMFsxXSk7cmV0dXJuWzAsWzYsYTAsczAsZDAsdzBbMV1dLHcwWzJdXX10aHJvdyBXMChFMSwxKTtjYXNlIDc6dmFyIE0wPXhbNF0sQzA9eFsxXSxEMD1xNih4WzJdLHhbM10sciksSTA9RDBbM10sajA9RDBbMV07aWYodHlwZW9mIEkwIT1cIm51bWJlclwiJiZJMFswXT09PTUpe3ZhciB5MD1EMFsyXSxZMD1oMihNMCxJMFsxXSk7cmV0dXJuWzAsWzcsQzAsajAseTAsWTBbMV1dLFkwWzJdXX10aHJvdyBXMChFMSwxKTtjYXNlIDg6dmFyIEw9eFs0XSxOMD14WzFdLFMwPXE2KHhbMl0seFszXSxyKSxLMD1TMFszXSxBMD1TMFsxXTtpZih0eXBlb2YgSzAhPVwibnVtYmVyXCImJkswWzBdPT09Nil7dmFyICQwPVMwWzJdLGV4PWgyKEwsSzBbMV0pO3JldHVyblswLFs4LE4wLEEwLCQwLGV4WzFdXSxleFsyXV19dGhyb3cgVzAoRTEsMSk7Y2FzZSA5OnZhciB4eD14WzJdLHR4PXY1KHhbMV0sciksejA9dHhbMl0scHg9dHhbMV07aWYodHlwZW9mIHowIT1cIm51bWJlclwiJiZ6MFswXT09PTcpe3ZhciBzeD1oMih4eCx6MFsxXSk7cmV0dXJuWzAsWzkscHgsc3hbMV1dLHN4WzJdXX10aHJvdyBXMChFMSwxKTtjYXNlIDEwOnZhciBRPWgyKHhbMV0scik7cmV0dXJuWzAsWzEwLFFbMV1dLFFbMl1dO2Nhc2UgMTE6dmFyIGIwPXhbMV0sVT1oMih4WzJdLHIpO3JldHVyblswLFsxMSxiMCxVWzFdXSxVWzJdXTtjYXNlIDEyOnZhciBoMD14WzFdLF8wPWgyKHhbMl0scik7cmV0dXJuWzAsWzEyLGgwLF8wWzFdXSxfMFsyXV07Y2FzZSAxMzppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTgpe3ZhciBtMD1yWzFdLFQwPXJbMl0sWD14WzNdLEd4PXhbMV07aWYobHYoWzAseFsyXV0sWzAsbTBdKSl0aHJvdyBXMChFMSwxKTt2YXIgUHg9aDIoWCxUMCk7cmV0dXJuWzAsWzEzLEd4LG0wLFB4WzFdXSxQeFsyXV19YnJlYWs7Y2FzZSAxNDppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTkpe3ZhciBHMD1yWzFdLEtyPXJbM10sUz14WzNdLEc9eFsyXSxyeD14WzFdLHl4PVswLEIyKEcwKV07aWYobHYoWzAsQjIoRyldLHl4KSl0aHJvdyBXMChFMSwxKTt2YXIgRXg9aDIoUyxCMihLcikpO3JldHVyblswLFsxNCxyeCxHMCxFeFsxXV0sRXhbMl1dfWJyZWFrO2Nhc2UgMTU6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT0xMCl7dmFyIG54PWgyKHhbMV0sclsxXSk7cmV0dXJuWzAsWzE1LG54WzFdXSxueFsyXV19YnJlYWs7Y2FzZSAxNjppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTExKXt2YXIgcDA9aDIoeFsxXSxyWzFdKTtyZXR1cm5bMCxbMTYscDBbMV1dLHAwWzJdXX1icmVhaztjYXNlIDE3OnZhciBGeD14WzFdLFN4PWgyKHhbMl0scik7cmV0dXJuWzAsWzE3LEZ4LFN4WzFdXSxTeFsyXV07Y2FzZSAxODp2YXIgYng9eFsyXSxCMD14WzFdO2lmKEIwWzBdPT09MCl7dmFyIFd4PUIwWzFdLFl4PVd4WzJdLGF4PWgyKFd4WzFdLHIpLFF4PWF4WzFdLGt4PWgyKGJ4LGF4WzJdKTtyZXR1cm5bMCxbMTgsWzAsWzAsUXgsWXhdXSxreFsxXV0sa3hbMl1dfXZhciB0cj1CMFsxXSxzcj10clsyXSxNcj1oMih0clsxXSxyKSxhMj1NclsxXSxfMj1oMihieCxNclsyXSk7cmV0dXJuWzAsWzE4LFsxLFswLGEyLHNyXV0sXzJbMV1dLF8yWzJdXTtjYXNlIDE5OmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09MTMpe3ZhciBpMj1oMih4WzFdLHJbMV0pO3JldHVyblswLFsxOSxpMlsxXV0saTJbMl1dfWJyZWFrO2Nhc2UgMjA6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT0xKXt2YXIgUTI9eFsyXSxqeD14WzFdLF89aDIoeFszXSxyWzFdKTtyZXR1cm5bMCxbMjAsangsUTIsX1sxXV0sX1syXV19YnJlYWs7Y2FzZSAyMTppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTIpe3ZhciBWPXhbMV0sbHg9aDIoeFsyXSxyWzFdKTtyZXR1cm5bMCxbMjEsVixseFsxXV0sbHhbMl1dfWJyZWFrO2Nhc2UgMjM6dmFyIFUwPXhbMl0sb3g9eFsxXTtpZih0eXBlb2Ygb3ghPVwibnVtYmVyXCIpc3dpdGNoKG94WzBdKXtjYXNlIDA6cmV0dXJuIFZlKG94LFUwLHIpO2Nhc2UgMTpyZXR1cm4gVmUob3gsVTAscik7Y2FzZSAyOnJldHVybiBWZShveCxVMCxyKTtjYXNlIDM6cmV0dXJuIFZlKG94LFUwLHIpO2Nhc2UgNDpyZXR1cm4gVmUob3gsVTAscik7Y2FzZSA1OnJldHVybiBWZShveCxVMCxyKTtjYXNlIDY6cmV0dXJuIFZlKG94LFUwLHIpO2Nhc2UgNzpyZXR1cm4gVmUob3gsVTAscik7Y2FzZSA4OnJldHVybiBWZShbOCxveFsxXSxveFsyXV0sVTAscik7Y2FzZSA5OnZhciB3eD1veFsxXSxDcj1FZShveFsyXSxVMCxyKSxIeD1DclsyXTtyZXR1cm5bMCxbMjMsWzksd3gsQ3JbMV1dLEh4WzFdXSxIeFsyXV07Y2FzZSAxMDpyZXR1cm4gVmUob3gsVTAscik7ZGVmYXVsdDpyZXR1cm4gVmUob3gsVTAscil9c3dpdGNoKG94KXtjYXNlIDA6cmV0dXJuIFZlKG94LFUwLHIpO2Nhc2UgMTpyZXR1cm4gVmUob3gsVTAscik7Y2FzZSAyOmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09MTQpe3ZhciBacj1oMihVMCxyWzFdKTtyZXR1cm5bMCxbMjMsMixaclsxXV0sWnJbMl1dfXRocm93IFcwKEUxLDEpO2RlZmF1bHQ6cmV0dXJuIFZlKG94LFUwLHIpfX10aHJvdyBXMChFMSwxKX1mdW5jdGlvbiBWZSh4LHIsZSl7dmFyIHQ9aDIocixlKTtyZXR1cm5bMCxbMjMseCx0WzFdXSx0WzJdXX1mdW5jdGlvbiBFZSh4LHIsZSl7aWYodHlwZW9mIHg9PVwibnVtYmVyXCIpcmV0dXJuWzAsMCxoMihyLGUpXTtzd2l0Y2goeFswXSl7Y2FzZSAwOmlmKHR5cGVvZiBlIT1cIm51bWJlclwiJiZlWzBdPT09MCl7dmFyIHQ9RWUoeFsxXSxyLGVbMV0pO3JldHVyblswLFswLHRbMV1dLHRbMl1dfWJyZWFrO2Nhc2UgMTppZih0eXBlb2YgZSE9XCJudW1iZXJcIiYmZVswXT09PTEpe3ZhciB1PUVlKHhbMV0scixlWzFdKTtyZXR1cm5bMCxbMSx1WzFdXSx1WzJdXX1icmVhaztjYXNlIDI6aWYodHlwZW9mIGUhPVwibnVtYmVyXCImJmVbMF09PT0yKXt2YXIgaT1FZSh4WzFdLHIsZVsxXSk7cmV0dXJuWzAsWzIsaVsxXV0saVsyXV19YnJlYWs7Y2FzZSAzOmlmKHR5cGVvZiBlIT1cIm51bWJlclwiJiZlWzBdPT09Myl7dmFyIGM9RWUoeFsxXSxyLGVbMV0pO3JldHVyblswLFszLGNbMV1dLGNbMl1dfWJyZWFrO2Nhc2UgNDppZih0eXBlb2YgZSE9XCJudW1iZXJcIiYmZVswXT09PTQpe3ZhciB2PUVlKHhbMV0scixlWzFdKTtyZXR1cm5bMCxbNCx2WzFdXSx2WzJdXX1icmVhaztjYXNlIDU6aWYodHlwZW9mIGUhPVwibnVtYmVyXCImJmVbMF09PT01KXt2YXIgYT1FZSh4WzFdLHIsZVsxXSk7cmV0dXJuWzAsWzUsYVsxXV0sYVsyXV19YnJlYWs7Y2FzZSA2OmlmKHR5cGVvZiBlIT1cIm51bWJlclwiJiZlWzBdPT09Nil7dmFyIGw9RWUoeFsxXSxyLGVbMV0pO3JldHVyblswLFs2LGxbMV1dLGxbMl1dfWJyZWFrO2Nhc2UgNzppZih0eXBlb2YgZSE9XCJudW1iZXJcIiYmZVswXT09PTcpe3ZhciBtPUVlKHhbMV0scixlWzFdKTtyZXR1cm5bMCxbNyxtWzFdXSxtWzJdXX1icmVhaztjYXNlIDg6aWYodHlwZW9mIGUhPVwibnVtYmVyXCImJmVbMF09PT04KXt2YXIgaD1lWzFdLFQ9ZVsyXSxiPXhbMl07aWYobHYoWzAseFsxXV0sWzAsaF0pKXRocm93IFcwKEUxLDEpO3ZhciBOPUVlKGIscixUKTtyZXR1cm5bMCxbOCxoLE5bMV1dLE5bMl1dfWJyZWFrO2Nhc2UgOTppZih0eXBlb2YgZSE9XCJudW1iZXJcIiYmZVswXT09PTkpe3ZhciBqPWVbMl0sST1lWzFdLEY9ZVszXSxNPXhbM10sej14WzJdLEI9eFsxXSxLPVswLEIyKEkpXTtpZihsdihbMCxCMihCKV0sSykpdGhyb3cgVzAoRTEsMSk7dmFyIG4wPVswLEIyKGopXTtpZihsdihbMCxCMih6KV0sbjApKXRocm93IFcwKEUxLDEpO3ZhciAkPU0xKGgxKGMxKEkpLGopKSxIPSRbNF07JFsyXS5jYWxsKG51bGwsTyksSChPKTt2YXIgdDA9RWUoQjIoTSkscixGKSxjMD10MFsyXTtyZXR1cm5bMCxbOSxJLGosYzEodDBbMV0pXSxjMF19YnJlYWs7Y2FzZSAxMDppZih0eXBlb2YgZSE9XCJudW1iZXJcIiYmZVswXT09PTEwKXt2YXIgcjA9RWUoeFsxXSxyLGVbMV0pO3JldHVyblswLFsxMCxyMFsxXV0scjBbMl1dfWJyZWFrO2Nhc2UgMTE6aWYodHlwZW9mIGUhPVwibnVtYmVyXCImJmVbMF09PT0xMSl7dmFyIHYwPUVlKHhbMV0scixlWzFdKTtyZXR1cm5bMCxbMTEsdjBbMV1dLHYwWzJdXX1icmVhaztjYXNlIDEzOmlmKHR5cGVvZiBlIT1cIm51bWJlclwiJiZlWzBdPT09MTMpe3ZhciBhMD1FZSh4WzFdLHIsZVsxXSk7cmV0dXJuWzAsWzEzLGEwWzFdXSxhMFsyXV19YnJlYWs7Y2FzZSAxNDppZih0eXBlb2YgZSE9XCJudW1iZXJcIiYmZVswXT09PTE0KXt2YXIgZzA9RWUoeFsxXSxyLGVbMV0pO3JldHVyblswLFsxNCxnMFsxXV0sZzBbMl1dfWJyZWFrfXRocm93IFcwKEUxLDEpfWZ1bmN0aW9uICRlKHgscixlKXt2YXIgdD1OeChlKSx1PTA8PXI/eDowLGk9aTUocik7aWYoaTw9dClyZXR1cm4gZTt2YXIgYz11PT09Mj80ODozMix2PWt2KGksYyk7c3dpdGNoKHUpe2Nhc2UgMDprbihlLDAsdiwwLHQpO2JyZWFrO2Nhc2UgMTprbihlLDAsdixpLXR8MCx0KTticmVhaztkZWZhdWx0Ong6aWYoMDx0KXtpZihxMihlLDApIT09NDMmJnEyKGUsMCkhPT00NSYmcTIoZSwwKSE9PTMyKWJyZWFrIHg7dWEodiwwLHEyKGUsMCkpLGtuKGUsMSx2LChpLXR8MCkrMXwwLHQtMXwwKTticmVha314OmlmKDE8dCYmcTIoZSwwKT09PTQ4KXtpZih2ZiE9PXEyKGUsMSkmJnEyKGUsMSkhPT04OClicmVhayB4O3VhKHYsMSxxMihlLDEpKSxrbihlLDIsdiwoaS10fDApKzJ8MCx0LTJ8MCk7YnJlYWt9a24oZSwwLHYsaS10fDAsdCl9cmV0dXJuIF8xKHYpfWZ1bmN0aW9uIFEzKHgscil7dmFyIGU9aTUoeCksdD1OeChyKSx1PXEyKHIsMCk7eDp7cjp7aWYoNTg+dSl7aWYodSE9PTMyKXtpZig0Mz51KWJyZWFrIHg7c3dpdGNoKHUrQV98MCl7Y2FzZSA1OmU6aWYodDwoZSsyfDApJiYxPHQpe2lmKHZmIT09cTIociwxKSYmcTIociwxKSE9PTg4KWJyZWFrIGU7dmFyIGk9a3YoZSsyfDAsNDgpO3JldHVybiB1YShpLDEscTIociwxKSksa24ociwyLGksKGUtdHwwKSs0fDAsdC0yfDApLF8xKGkpfWJyZWFrIHI7Y2FzZSAwOmNhc2UgMjpicmVhaztjYXNlIDE6Y2FzZSAzOmNhc2UgNDpicmVhayB4O2RlZmF1bHQ6YnJlYWsgcn19aWYodD49KGUrMXwwKSlicmVhayB4O3ZhciBjPWt2KGUrMXwwLDQ4KTtyZXR1cm4gdWEoYywwLHUpLGtuKHIsMSxjLChlLXR8MCkrMnwwLHQtMXwwKSxfMShjKX1pZig3MTw9dSl7aWYoNTx1K25rPj4+MClicmVhayB4fWVsc2UgaWYoNjU+dSlicmVhayB4fWlmKHQ8ZSl7dmFyIHY9a3YoZSw0OCk7cmV0dXJuIGtuKHIsMCx2LGUtdHwwLHQpLF8xKHYpfX1yZXR1cm4gcn1mdW5jdGlvbiBhVyh4KXt2YXIgcj1PdCh4KSxlPVswLDBdLHQ9RnQociktMXwwLHU9MDtpZih0Pj0wKWZvcih2YXIgaT11Ozspe3ZhciBjPXNlKHIsaSk7eDp7cjp7ZTp7aWYoMzI8PWMpe3ZhciB2PWMtMzR8MDtpZig1ODx2Pj4+MCl7aWYoOTM8PXYpYnJlYWsgZX1lbHNlIGlmKDU2PHYtMT4+PjApYnJlYWsgcjt2YXIgYT0xO2JyZWFrIHh9aWYoMTE8PWMpe2lmKGM9PT0xMylicmVhayByfWVsc2UgaWYoODw9YylicmVhayByfXZhciBhPTQ7YnJlYWsgeH12YXIgYT0yfWVbMV09ZVsxXSthfDA7dmFyIGw9aSsxfDA7aWYodD09PWkpYnJlYWs7dmFyIGk9bH1pZihlWzFdPT09RnQocikpdmFyIG09cjtlbHNle3ZhciBoPVMyKGVbMV0pO2VbMV09MDt2YXIgVD1GdChyKS0xfDAsYj0wO2lmKFQ+PTApZm9yKHZhciBOPWI7Oyl7dmFyIGo9c2UocixOKTt4OntyOntlOntpZigzNTw9ail7aWYoaiE9PTkyKXtpZihCcjw9ailicmVhayBlO2JyZWFrIHJ9fWVsc2V7aWYoMzI+ail7aWYoMTQ8PWopYnJlYWsgZTtzd2l0Y2goail7Y2FzZSA4OlhyKGgsZVsxXSw5MiksZVsxXSsrLFhyKGgsZVsxXSw5OCk7YnJlYWsgeDtjYXNlIDk6WHIoaCxlWzFdLDkyKSxlWzFdKyssWHIoaCxlWzFdLFdhKTticmVhayB4O2Nhc2UgMTA6WHIoaCxlWzFdLDkyKSxlWzFdKyssWHIoaCxlWzFdLHoxKTticmVhayB4O2Nhc2UgMTM6WHIoaCxlWzFdLDkyKSxlWzFdKyssWHIoaCxlWzFdLG1yKTticmVhayB4O2RlZmF1bHQ6YnJlYWsgZX19aWYoMzQ+ailicmVhayByfVhyKGgsZVsxXSw5MiksZVsxXSsrLFhyKGgsZVsxXSxqKTticmVhayB4fVhyKGgsZVsxXSw5MiksZVsxXSsrLFhyKGgsZVsxXSw0OCsoai95MnwwKXwwKSxlWzFdKyssWHIoaCxlWzFdLDQ4Kygoai8xMHwwKSUxMHwwKXwwKSxlWzFdKyssWHIoaCxlWzFdLDQ4KyhqJTEwfDApfDApO2JyZWFrIHh9WHIoaCxlWzFdLGopfWVbMV0rKzt2YXIgST1OKzF8MDtpZihUPT09TilicmVhazt2YXIgTj1JfXZhciBtPWh9dmFyIEY9XzEobSksTT1OeChGKSx6PWt2KE0rMnwwLDM0KTtyZXR1cm4gY3MoRiwwLHosMSxNKSxfMSh6KX1mdW5jdGlvbiBvcSh4LHIpe3ZhciBlPWk1KHIpLHQ9VkdbMV07c3dpdGNoKHhbMl0pe2Nhc2UgMDp2YXIgdT1nMTticmVhaztjYXNlIDE6dmFyIHU9ZmU7YnJlYWs7Y2FzZSAyOnZhciB1PTY5O2JyZWFrO2Nhc2UgMzp2YXIgdT1zbjticmVhaztjYXNlIDQ6dmFyIHU9NzE7YnJlYWs7Y2FzZSA1OnZhciB1PXQ7YnJlYWs7Y2FzZSA2OnZhciB1PUJlO2JyZWFrO2Nhc2UgNzp2YXIgdT03MjticmVhaztkZWZhdWx0OnZhciB1PTcwfXZhciBpPWZxKDE2KTtzd2l0Y2goJDMoaSwzNykseFsxXSl7Y2FzZSAwOmJyZWFrO2Nhc2UgMTokMyhpLDQzKTticmVhaztkZWZhdWx0OiQzKGksMzIpfXJldHVybiA4PD14WzJdJiYkMyhpLDM1KSwkMyhpLDQ2KSxMMShpLFowK2UpLCQzKGksdSksc3EoaSl9ZnVuY3Rpb24gbDUoeCxyKXtpZigxMz54KXJldHVybiByO3ZhciBlPVswLDBdLHQ9TngociktMXwwLHU9MDtpZih0Pj0wKWZvcih2YXIgaT11Ozspezk+PUowKHIsaSkrZTE+Pj4wJiZlWzFdKys7dmFyIGM9aSsxfDA7aWYodD09PWkpYnJlYWs7dmFyIGk9Y312YXIgdj1lWzFdLGE9UzIoTngocikrKCh2LTF8MCkvM3wwKXwwKSxsPVswLDBdO2Z1bmN0aW9uIG0oRil7dWEoYSxsWzFdLEYpLGxbMV0rK312YXIgaD1bMCwoKHYtMXwwKSUzfDApKzF8MF0sVD1OeChyKS0xfDAsYj0wO2lmKFQ+PTApZm9yKHZhciBOPWI7Oyl7dmFyIGo9SjAocixOKTs5PGorZTE+Pj4wfHwoaFsxXT09PTAmJihtKDk1KSxoWzFdPTMpLGhbMV0rPS0xKSxtKGopO3ZhciBJPU4rMXwwO2lmKFQ9PT1OKWJyZWFrO3ZhciBOPUl9cmV0dXJuIF8xKGEpfWZ1bmN0aW9uIG9XKHgscil7c3dpdGNoKHgpe2Nhc2UgMTp2YXIgZT1ISjticmVhaztjYXNlIDI6dmFyIGU9Wko7YnJlYWs7Y2FzZSA0OnZhciBlPXJHO2JyZWFrO2Nhc2UgNTp2YXIgZT1lRzticmVhaztjYXNlIDY6dmFyIGU9dEc7YnJlYWs7Y2FzZSA3OnZhciBlPW5HO2JyZWFrO2Nhc2UgODp2YXIgZT11RzticmVhaztjYXNlIDk6dmFyIGU9aUc7YnJlYWs7Y2FzZSAxMDp2YXIgZT1mRzticmVhaztjYXNlIDExOnZhciBlPWNHO2JyZWFrO2Nhc2UgMDpjYXNlIDEzOnZhciBlPVFKO2JyZWFrO2Nhc2UgMzpjYXNlIDE0OnZhciBlPXhHO2JyZWFrO2RlZmF1bHQ6dmFyIGU9c0d9cmV0dXJuIGw1KHgsV20oZSxyKSl9ZnVuY3Rpb24gdlcoeCxyKXtzd2l0Y2goeCl7Y2FzZSAxOnZhciBlPVRHO2JyZWFrO2Nhc2UgMjp2YXIgZT1FRzticmVhaztjYXNlIDQ6dmFyIGU9QUc7YnJlYWs7Y2FzZSA1OnZhciBlPVBHO2JyZWFrO2Nhc2UgNjp2YXIgZT1JRzticmVhaztjYXNlIDc6dmFyIGU9Tkc7YnJlYWs7Y2FzZSA4OnZhciBlPWpHO2JyZWFrO2Nhc2UgOTp2YXIgZT1DRzticmVhaztjYXNlIDEwOnZhciBlPU9HO2JyZWFrO2Nhc2UgMTE6dmFyIGU9REc7YnJlYWs7Y2FzZSAwOmNhc2UgMTM6dmFyIGU9Ykc7YnJlYWs7Y2FzZSAzOmNhc2UgMTQ6dmFyIGU9U0c7YnJlYWs7ZGVmYXVsdDp2YXIgZT1GR31yZXR1cm4gbDUoeCxXbShlLHIpKX1mdW5jdGlvbiBsVyh4LHIpe3N3aXRjaCh4KXtjYXNlIDE6dmFyIGU9TEc7YnJlYWs7Y2FzZSAyOnZhciBlPU1HO2JyZWFrO2Nhc2UgNDp2YXIgZT1VRzticmVhaztjYXNlIDU6dmFyIGU9Qkc7YnJlYWs7Y2FzZSA2OnZhciBlPVhHO2JyZWFrO2Nhc2UgNzp2YXIgZT1ZRzticmVhaztjYXNlIDg6dmFyIGU9ekc7YnJlYWs7Y2FzZSA5OnZhciBlPUtHO2JyZWFrO2Nhc2UgMTA6dmFyIGU9Skc7YnJlYWs7Y2FzZSAxMTp2YXIgZT1HRzticmVhaztjYXNlIDA6Y2FzZSAxMzp2YXIgZT1SRzticmVhaztjYXNlIDM6Y2FzZSAxNDp2YXIgZT1xRzticmVhaztkZWZhdWx0OnZhciBlPVdHfXJldHVybiBsNSh4LFdtKGUscikpfWZ1bmN0aW9uIHBXKHgscil7c3dpdGNoKHgpe2Nhc2UgMTp2YXIgZT1vRzticmVhaztjYXNlIDI6dmFyIGU9dkc7YnJlYWs7Y2FzZSA0OnZhciBlPXBHO2JyZWFrO2Nhc2UgNTp2YXIgZT1rRzticmVhaztjYXNlIDY6dmFyIGU9bUc7YnJlYWs7Y2FzZSA3OnZhciBlPWhHO2JyZWFrO2Nhc2UgODp2YXIgZT1kRzticmVhaztjYXNlIDk6dmFyIGU9eUc7YnJlYWs7Y2FzZSAxMDp2YXIgZT1nRzticmVhaztjYXNlIDExOnZhciBlPXdHO2JyZWFrO2Nhc2UgMDpjYXNlIDEzOnZhciBlPWFHO2JyZWFrO2Nhc2UgMzpjYXNlIDE0OnZhciBlPWxHO2JyZWFrO2RlZmF1bHQ6dmFyIGU9X0d9cmV0dXJuIGw1KHgseU0oZSxyKSl9ZnVuY3Rpb24gb2EoeCxyLGUpe2Z1bmN0aW9uIHQoaCl7c3dpdGNoKHhbMV0pe2Nhc2UgMDp2YXIgVD00NTticmVhaztjYXNlIDE6dmFyIFQ9NDM7YnJlYWs7ZGVmYXVsdDp2YXIgVD0zMn1yZXR1cm4gSnooZSxyLFQpfWZ1bmN0aW9uIHUoaCl7dmFyIFQ9SXooZSk7cmV0dXJuIFQ9PT0zP2U8MD9RRzpIRzo0PD1UP1pHOmh9c3dpdGNoKHhbMl0pe2Nhc2UgNTpmb3IodmFyIGk9RE4ob3EoeCxyKSxlKSxjPTAsdj1OeChpKTs7KXtpZihjPT09dil2YXIgYT0wO2Vsc2V7dmFyIGw9cTIoaSxjKStKYXwwO3g6e2lmKDIzPGw+Pj4wKXtpZihsPT09NTUpYnJlYWsgeH1lbHNlIGlmKDIxPGwtMT4+PjApYnJlYWsgeDt2YXIgYz1jKzF8MDtjb250aW51ZX12YXIgYT0xfXZhciBtPWE/aTpxeChpLCRHKTtyZXR1cm4gdShtKX1jYXNlIDY6cmV0dXJuIHQoTyk7Y2FzZSA3OnJldHVybiBfMSgkSih6TSxPdCh0KE8pKSkpO2Nhc2UgODpyZXR1cm4gdSh0KE8pKTtkZWZhdWx0OnJldHVybiBETihvcSh4LHIpLGUpfX1mdW5jdGlvbiBVNih4LHIsZSx0KXtmb3IodmFyIHU9cixpPWUsYz10Ozspe2lmKHR5cGVvZiBjPT1cIm51bWJlclwiKXJldHVybiB1KGkpO3N3aXRjaChjWzBdKXtjYXNlIDA6dmFyIHY9Y1sxXTtyZXR1cm4gZnVuY3Rpb24oeTApe3JldHVybiBMcih1LFs1LGkseTBdLHYpfTtjYXNlIDE6dmFyIGE9Y1sxXTtyZXR1cm4gZnVuY3Rpb24oeTApe3g6e3I6e2lmKDQwPD15MCl7aWYoeTA9PT05Mil7dmFyIE4wPXpKO2JyZWFrIHh9aWYoQnI+eTApYnJlYWsgcn1lbHNle2lmKDMyPD15MCl7aWYoMzk+eTApYnJlYWsgcjt2YXIgTjA9S0o7YnJlYWsgeH1pZigxND55MClzd2l0Y2goeTApe2Nhc2UgODp2YXIgTjA9Sko7YnJlYWsgeDtjYXNlIDk6dmFyIE4wPUdKO2JyZWFrIHg7Y2FzZSAxMDp2YXIgTjA9V0o7YnJlYWsgeDtjYXNlIDEzOnZhciBOMD1WSjticmVhayB4fX12YXIgWTA9UzIoNCk7WHIoWTAsMCw5MiksWHIoWTAsMSw0OCsoeTAveTJ8MCl8MCksWHIoWTAsMiw0OCsoKHkwLzEwfDApJTEwfDApfDApLFhyKFkwLDMsNDgrKHkwJTEwfDApfDApO3ZhciBOMD1fMShZMCk7YnJlYWsgeH12YXIgTD1TMigxKTtYcihMLDAseTApO3ZhciBOMD1fMShMKX12YXIgUzA9TngoTjApLEswPWt2KFMwKzJ8MCwzOSk7cmV0dXJuIGNzKE4wLDAsSzAsMSxTMCksTHIodSxbNCxpLF8xKEswKV0sYSl9O2Nhc2UgMjpyZXR1cm4gc2oodSxpLGNbMl0sY1sxXSxmdW5jdGlvbih5MCl7cmV0dXJuIHkwfSk7Y2FzZSAzOnJldHVybiBzaih1LGksY1syXSxjWzFdLGFXKTtjYXNlIDQ6cmV0dXJuIHA1KHUsaSxjWzRdLGNbMl0sY1szXSxvVyxjWzFdKTtjYXNlIDU6cmV0dXJuIHA1KHUsaSxjWzRdLGNbMl0sY1szXSx2VyxjWzFdKTtjYXNlIDY6cmV0dXJuIHA1KHUsaSxjWzRdLGNbMl0sY1szXSxsVyxjWzFdKTtjYXNlIDc6cmV0dXJuIHA1KHUsaSxjWzRdLGNbMl0sY1szXSxwVyxjWzFdKTtjYXNlIDg6dmFyIGw9Y1s0XSxtPWNbM10saD1jWzJdLFQ9Y1sxXTtpZih0eXBlb2YgaD09XCJudW1iZXJcIil7aWYodHlwZW9mIG09PVwibnVtYmVyXCIpcmV0dXJuIG0/ZnVuY3Rpb24oeTAsWTApe3JldHVybiBMcih1LFs0LGksb2EoVCx5MCxZMCldLGwpfTpmdW5jdGlvbih5MCl7cmV0dXJuIExyKHUsWzQsaSxvYShULGlqKFQpLHkwKV0sbCl9O3ZhciBiPW1bMV07cmV0dXJuIGZ1bmN0aW9uKHkwKXtyZXR1cm4gTHIodSxbNCxpLG9hKFQsYix5MCldLGwpfX1pZihoWzBdPT09MCl7dmFyIE49aFsyXSxqPWhbMV07aWYodHlwZW9mIG09PVwibnVtYmVyXCIpcmV0dXJuIG0/ZnVuY3Rpb24oeTAsWTApe3JldHVybiBMcih1LFs0LGksJGUoaixOLG9hKFQseTAsWTApKV0sbCl9OmZ1bmN0aW9uKHkwKXtyZXR1cm4gTHIodSxbNCxpLCRlKGosTixvYShULGlqKFQpLHkwKSldLGwpfTt2YXIgST1tWzFdO3JldHVybiBmdW5jdGlvbih5MCl7cmV0dXJuIExyKHUsWzQsaSwkZShqLE4sb2EoVCxJLHkwKSldLGwpfX12YXIgRj1oWzFdO2lmKHR5cGVvZiBtPT1cIm51bWJlclwiKXJldHVybiBtP2Z1bmN0aW9uKHkwLFkwLEwpe3JldHVybiBMcih1LFs0LGksJGUoRix5MCxvYShULFkwLEwpKV0sbCl9OmZ1bmN0aW9uKHkwLFkwKXtyZXR1cm4gTHIodSxbNCxpLCRlKEYseTAsb2EoVCxpaihUKSxZMCkpXSxsKX07dmFyIE09bVsxXTtyZXR1cm4gZnVuY3Rpb24oeTAsWTApe3JldHVybiBMcih1LFs0LGksJGUoRix5MCxvYShULE0sWTApKV0sbCl9O2Nhc2UgOTpyZXR1cm4gc2oodSxpLGNbMl0sY1sxXSxZSik7Y2FzZSAxMDp2YXIgaT1bNyxpXSxjPWNbMV07YnJlYWs7Y2FzZSAxMTp2YXIgaT1bMixpLGNbMV1dLGM9Y1syXTticmVhaztjYXNlIDEyOnZhciBpPVszLGksY1sxXV0sYz1jWzJdO2JyZWFrO2Nhc2UgMTM6dmFyIHo9Y1szXSxCPWNbMl0sSz1mcSgxNik7ZmooSyxCKTt2YXIgbjA9c3EoSyk7cmV0dXJuIGZ1bmN0aW9uKHkwKXtyZXR1cm4gTHIodSxbNCxpLG4wXSx6KX07Y2FzZSAxNDp2YXIgJD1jWzNdLEg9Y1syXTtyZXR1cm4gZnVuY3Rpb24oeTApe3ZhciBZMD15MFsxXSxMPWgyKFkwLEIyKGMxKEgpKSk7aWYodHlwZW9mIExbMl09PVwibnVtYmVyXCIpcmV0dXJuIExyKHUsaSxqMihMWzFdLCQpKTt0aHJvdyBXMChFMSwxKX07Y2FzZSAxNTp2YXIgdDA9Y1sxXTtyZXR1cm4gZnVuY3Rpb24oeTAsWTApe3JldHVybiBMcih1LFs2LGksZnVuY3Rpb24oTCl7cmV0dXJuIHAoeTAsTCxZMCl9XSx0MCl9O2Nhc2UgMTY6dmFyIGMwPWNbMV07cmV0dXJuIGZ1bmN0aW9uKHkwKXtyZXR1cm4gTHIodSxbNixpLHkwXSxjMCl9O2Nhc2UgMTc6dmFyIGk9WzAsaSxjWzFdXSxjPWNbMl07YnJlYWs7Y2FzZSAxODp2YXIgcjA9Y1sxXTtpZihyMFswXT09PTApe2xldCB5MD1pLFkwPXUsTD1jWzJdO3ZhciB1PWZ1bmN0aW9uKEEwKXtyZXR1cm4gTHIoWTAsWzEseTAsWzAsQTBdXSxMKX0saT0wLGM9cjBbMV1bMV19ZWxzZXtsZXQgeTA9aSxZMD11LEw9Y1syXTt2YXIgdT1mdW5jdGlvbihBMCl7cmV0dXJuIExyKFkwLFsxLHkwLFsxLEEwXV0sTCl9LGk9MCxjPXIwWzFdWzFdfWJyZWFrO2Nhc2UgMTk6dGhyb3cgVzAoWzAsTnIseFddLDEpO2Nhc2UgMjA6dmFyIHYwPWNbM10sYTA9WzgsaSxyV107cmV0dXJuIGZ1bmN0aW9uKHkwKXtyZXR1cm4gTHIodSxhMCx2MCl9O2Nhc2UgMjE6dmFyIGcwPWNbMl07cmV0dXJuIGZ1bmN0aW9uKHkwKXtyZXR1cm4gTHIodSxbNCxpLFdtKFhSLHkwKV0sZzApfTtjYXNlIDIyOnZhciBpMD1jWzFdO3JldHVybiBmdW5jdGlvbih5MCl7cmV0dXJuIExyKHUsWzUsaSx5MF0saTApfTtjYXNlIDIzOnZhciBzMD1jWzJdLGQwPWNbMV07aWYodHlwZW9mIGQwPT1cIm51bWJlclwiKXN3aXRjaChkMCl7Y2FzZSAwOnJldHVybiB4PDUwP3YyKHgrMXwwLHUsaSxzMCk6SjIodjIsWzAsdSxpLHMwXSk7Y2FzZSAxOnJldHVybiB4PDUwP3YyKHgrMXwwLHUsaSxzMCk6SjIodjIsWzAsdSxpLHMwXSk7Y2FzZSAyOnRocm93IFcwKFswLE5yLGVXXSwxKTtkZWZhdWx0OnJldHVybiB4PDUwP3YyKHgrMXwwLHUsaSxzMCk6SjIodjIsWzAsdSxpLHMwXSl9c3dpdGNoKGQwWzBdKXtjYXNlIDA6cmV0dXJuIHg8NTA/djIoeCsxfDAsdSxpLHMwKTpKMih2MixbMCx1LGksczBdKTtjYXNlIDE6cmV0dXJuIHg8NTA/djIoeCsxfDAsdSxpLHMwKTpKMih2MixbMCx1LGksczBdKTtjYXNlIDI6cmV0dXJuIHg8NTA/djIoeCsxfDAsdSxpLHMwKTpKMih2MixbMCx1LGksczBdKTtjYXNlIDM6cmV0dXJuIHg8NTA/djIoeCsxfDAsdSxpLHMwKTpKMih2MixbMCx1LGksczBdKTtjYXNlIDQ6cmV0dXJuIHg8NTA/djIoeCsxfDAsdSxpLHMwKTpKMih2MixbMCx1LGksczBdKTtjYXNlIDU6cmV0dXJuIHg8NTA/djIoeCsxfDAsdSxpLHMwKTpKMih2MixbMCx1LGksczBdKTtjYXNlIDY6cmV0dXJuIHg8NTA/djIoeCsxfDAsdSxpLHMwKTpKMih2MixbMCx1LGksczBdKTtjYXNlIDc6cmV0dXJuIHg8NTA/djIoeCsxfDAsdSxpLHMwKTpKMih2MixbMCx1LGksczBdKTtjYXNlIDg6cmV0dXJuIHg8NTA/djIoeCsxfDAsdSxpLHMwKTpKMih2MixbMCx1LGksczBdKTtjYXNlIDk6dmFyIHcwPWQwWzJdO3JldHVybiB4PDUwP2NqKHgrMXwwLHUsaSx3MCxzMCk6SjIoY2osWzAsdSxpLHcwLHMwXSk7Y2FzZSAxMDpyZXR1cm4geDw1MD92Mih4KzF8MCx1LGksczApOkoyKHYyLFswLHUsaSxzMF0pO2RlZmF1bHQ6cmV0dXJuIHg8NTA/djIoeCsxfDAsdSxpLHMwKTpKMih2MixbMCx1LGksczBdKX1kZWZhdWx0OnZhciBNMD1jWzNdLEMwPWNbMV0sRDA9ZChjWzJdLDApO3JldHVybiB4PDUwP2FqKHgrMXwwLHUsaSxNMCxDMCxEMCk6SjIoYWosWzAsdSxpLE0wLEMwLEQwXSl9fX1mdW5jdGlvbiBMcih4LHIsZSl7cmV0dXJuIG41KFU2KDAseCxyLGUpKX1mdW5jdGlvbiBjaih4LHIsZSx0LHUpe2lmKHR5cGVvZiB0PT1cIm51bWJlclwiKXJldHVybiB4PDUwP3YyKHgrMXwwLHIsZSx1KTpKMih2MixbMCxyLGUsdV0pO3N3aXRjaCh0WzBdKXtjYXNlIDA6dmFyIGk9dFsxXTtyZXR1cm4gZnVuY3Rpb24oQil7cmV0dXJuIHB0KHIsZSxpLHUpfTtjYXNlIDE6dmFyIGM9dFsxXTtyZXR1cm4gZnVuY3Rpb24oQil7cmV0dXJuIHB0KHIsZSxjLHUpfTtjYXNlIDI6dmFyIHY9dFsxXTtyZXR1cm4gZnVuY3Rpb24oQil7cmV0dXJuIHB0KHIsZSx2LHUpfTtjYXNlIDM6dmFyIGE9dFsxXTtyZXR1cm4gZnVuY3Rpb24oQil7cmV0dXJuIHB0KHIsZSxhLHUpfTtjYXNlIDQ6dmFyIGw9dFsxXTtyZXR1cm4gZnVuY3Rpb24oQil7cmV0dXJuIHB0KHIsZSxsLHUpfTtjYXNlIDU6dmFyIG09dFsxXTtyZXR1cm4gZnVuY3Rpb24oQil7cmV0dXJuIHB0KHIsZSxtLHUpfTtjYXNlIDY6dmFyIGg9dFsxXTtyZXR1cm4gZnVuY3Rpb24oQil7cmV0dXJuIHB0KHIsZSxoLHUpfTtjYXNlIDc6dmFyIFQ9dFsxXTtyZXR1cm4gZnVuY3Rpb24oQil7cmV0dXJuIHB0KHIsZSxULHUpfTtjYXNlIDg6dmFyIGI9dFsyXTtyZXR1cm4gZnVuY3Rpb24oQil7cmV0dXJuIHB0KHIsZSxiLHUpfTtjYXNlIDk6dmFyIE49dFszXSxqPXRbMl0sST1oMShjMSh0WzFdKSxqKTtyZXR1cm4gZnVuY3Rpb24oQil7cmV0dXJuIHB0KHIsZSxvZShJLE4pLHUpfTtjYXNlIDEwOnZhciBGPXRbMV07cmV0dXJuIGZ1bmN0aW9uKEIsSyl7cmV0dXJuIHB0KHIsZSxGLHUpfTtjYXNlIDExOnZhciBNPXRbMV07cmV0dXJuIGZ1bmN0aW9uKEIpe3JldHVybiBwdChyLGUsTSx1KX07Y2FzZSAxMjp2YXIgej10WzFdO3JldHVybiBmdW5jdGlvbihCKXtyZXR1cm4gcHQocixlLHosdSl9O2Nhc2UgMTM6dGhyb3cgVzAoWzAsTnIsdFddLDEpO2RlZmF1bHQ6dGhyb3cgVzAoWzAsTnIsblddLDEpfX1mdW5jdGlvbiBwdCh4LHIsZSx0KXtyZXR1cm4gbjUoY2ooMCx4LHIsZSx0KSl9ZnVuY3Rpb24gdjIoeCxyLGUsdCl7dmFyIHU9WzgsZSx1V107cmV0dXJuIHg8NTA/VTYoeCsxfDAscix1LHQpOkoyKFU2LFswLHIsdSx0XSl9ZnVuY3Rpb24gc2ooeCxyLGUsdCx1KXtpZih0eXBlb2YgdD09XCJudW1iZXJcIilyZXR1cm4gZnVuY3Rpb24oYSl7cmV0dXJuIExyKHgsWzQscix1KGEpXSxlKX07aWYodFswXT09PTApe3ZhciBpPXRbMl0sYz10WzFdO3JldHVybiBmdW5jdGlvbihhKXtyZXR1cm4gTHIoeCxbNCxyLCRlKGMsaSx1KGEpKV0sZSl9fXZhciB2PXRbMV07cmV0dXJuIGZ1bmN0aW9uKGEsbCl7cmV0dXJuIExyKHgsWzQsciwkZSh2LGEsdShsKSldLGUpfX1mdW5jdGlvbiBwNSh4LHIsZSx0LHUsaSxjKXtpZih0eXBlb2YgdD09XCJudW1iZXJcIil7aWYodHlwZW9mIHU9PVwibnVtYmVyXCIpcmV0dXJuIHU/ZnVuY3Rpb24oYixOKXtyZXR1cm4gTHIoeCxbNCxyLFEzKGIsaShjLE4pKV0sZSl9OmZ1bmN0aW9uKGIpe3JldHVybiBMcih4LFs0LHIsaShjLGIpXSxlKX07dmFyIHY9dVsxXTtyZXR1cm4gZnVuY3Rpb24oYil7cmV0dXJuIExyKHgsWzQscixRMyh2LGkoYyxiKSldLGUpfX1pZih0WzBdPT09MCl7dmFyIGE9dFsyXSxsPXRbMV07aWYodHlwZW9mIHU9PVwibnVtYmVyXCIpcmV0dXJuIHU/ZnVuY3Rpb24oYixOKXtyZXR1cm4gTHIoeCxbNCxyLCRlKGwsYSxRMyhiLGkoYyxOKSkpXSxlKX06ZnVuY3Rpb24oYil7cmV0dXJuIExyKHgsWzQsciwkZShsLGEsaShjLGIpKV0sZSl9O3ZhciBtPXVbMV07cmV0dXJuIGZ1bmN0aW9uKGIpe3JldHVybiBMcih4LFs0LHIsJGUobCxhLFEzKG0saShjLGIpKSldLGUpfX12YXIgaD10WzFdO2lmKHR5cGVvZiB1PT1cIm51bWJlclwiKXJldHVybiB1P2Z1bmN0aW9uKGIsTixqKXtyZXR1cm4gTHIoeCxbNCxyLCRlKGgsYixRMyhOLGkoYyxqKSkpXSxlKX06ZnVuY3Rpb24oYixOKXtyZXR1cm4gTHIoeCxbNCxyLCRlKGgsYixpKGMsTikpXSxlKX07dmFyIFQ9dVsxXTtyZXR1cm4gZnVuY3Rpb24oYixOKXtyZXR1cm4gTHIoeCxbNCxyLCRlKGgsYixRMyhULGkoYyxOKSkpXSxlKX19ZnVuY3Rpb24gYWooeCxyLGUsdCx1LGkpe2lmKHUpe3ZhciBjPXVbMV07cmV0dXJuIGZ1bmN0aW9uKGEpe3JldHVybiBrVyhyLGUsdCxjLGQoaSxhKSl9fXZhciB2PVs0LGUsaV07cmV0dXJuIHg8NTA/VTYoeCsxfDAscix2LHQpOkoyKFU2LFswLHIsdix0XSl9ZnVuY3Rpb24ga1coeCxyLGUsdCx1KXtyZXR1cm4gbjUoYWooMCx4LHIsZSx0LHUpKX1mdW5jdGlvbiB2YSh4LHIpe2Zvcih2YXIgZT1yOzspe2lmKHR5cGVvZiBlPT1cIm51bWJlclwiKXJldHVybjtzd2l0Y2goZVswXSl7Y2FzZSAwOnZhciB0PWVbMV0sdT1hcShlWzJdKTtyZXR1cm4gdmEoeCx0KSxONih4LHUpO2Nhc2UgMTp2YXIgaT1lWzJdLGM9ZVsxXTtpZihpWzBdPT09MCl7dmFyIHY9aVsxXTt2YSh4LGMpLE42KHgsaVcpO3ZhciBlPXZ9ZWxzZXt2YXIgYT1pWzFdO3ZhKHgsYyksTjYoeCxmVyk7dmFyIGU9YX1icmVhaztjYXNlIDY6dmFyIGw9ZVsyXTtyZXR1cm4gdmEoeCxlWzFdKSxkKGwseCk7Y2FzZSA3OnZhKHgsZVsxXSksYW4oeCk7cmV0dXJuO2Nhc2UgODp2YXIgbT1lWzJdO3JldHVybiB2YSh4LGVbMV0pLFIxKG0pO2Nhc2UgMjpjYXNlIDQ6dmFyIGg9ZVsyXTtyZXR1cm4gdmEoeCxlWzFdKSxONih4LGgpO2RlZmF1bHQ6dmFyIFQ9ZVsyXTt2YSh4LGVbMV0pLGpNKHgsVCk7cmV0dXJufX19ZnVuY3Rpb24gbGEoeCxyKXtmb3IodmFyIGU9cjs7KXtpZih0eXBlb2YgZT09XCJudW1iZXJcIilyZXR1cm47c3dpdGNoKGVbMF0pe2Nhc2UgMDp2YXIgdD1lWzFdLHU9YXEoZVsyXSk7cmV0dXJuIGxhKHgsdCksaXIoeCx1KTtjYXNlIDE6dmFyIGk9ZVsyXSxjPWVbMV07aWYoaVswXT09PTApe3ZhciB2PWlbMV07bGEoeCxjKSxpcih4LGNXKTt2YXIgZT12fWVsc2V7dmFyIGE9aVsxXTtsYSh4LGMpLGlyKHgsc1cpO3ZhciBlPWF9YnJlYWs7Y2FzZSA2OnZhciBsPWVbMl07cmV0dXJuIGxhKHgsZVsxXSksaXIoeCxkKGwsMCkpO2Nhc2UgNzp2YXIgZT1lWzFdO2JyZWFrO2Nhc2UgODp2YXIgbT1lWzJdO3JldHVybiBsYSh4LGVbMV0pLFIxKG0pO2Nhc2UgMjpjYXNlIDQ6dmFyIGg9ZVsyXTtyZXR1cm4gbGEoeCxlWzFdKSxpcih4LGgpO2RlZmF1bHQ6dmFyIFQ9ZVsyXTtyZXR1cm4gbGEoeCxlWzFdKSxsdCh4LFQpfX19ZnVuY3Rpb24gdnEoeCxyKXtyZXR1cm4gTHIoZnVuY3Rpb24oZSl7cmV0dXJuIHZhKHgsZSksMH0sMCxyWzFdKX1mdW5jdGlvbiBvaih4KXtyZXR1cm4gdnEocG4seCl9ZnVuY3Rpb24gYXIoeCl7cmV0dXJuIExyKGZ1bmN0aW9uKHIpe3ZhciBlPSRyKDY0KTtyZXR1cm4gbGEoZSxyKSxHMihlKX0sMCx4WzFdKX12YXIgdmo9WzAsMF0sbVc9Y24saFc9WzAsWzMsMCwwXSxWbF0sZFc9cW8seVc9WzAsWzQsMCwwLDAsMF0sTzNdLGdXPVowLHdXPVswLFsxMSxsRixbMiwwLFsyLDAsMF1dXSxcIiwgJXMlc1wiXSxfVz1bMCxbMTIsNDAsWzIsMCxbMiwwLFsxMiw0MSwwXV1dXSxcIiglcyVzKVwiXSxiVz1aMCxUVz1aMCxFVz1bMCxbMTIsNDAsWzIsMCxbMTIsNDEsMF1dXSxcIiglcylcIl0sU1c9XCJPdXQgb2YgbWVtb3J5XCIsQVc9XCJTdGFjayBvdmVyZmxvd1wiLFBXPVwiUGF0dGVybiBtYXRjaGluZyBmYWlsZWRcIixJVz1cIkFzc2VydGlvbiBmYWlsZWRcIixOVz1cIlVuZGVmaW5lZCByZWN1cnNpdmUgbW9kdWxlXCIsalc9XCJSYWlzZWQgYXRcIixDVz1cIlJlLXJhaXNlZCBhdFwiLE9XPVwiUmFpc2VkIGJ5IHByaW1pdGl2ZSBvcGVyYXRpb24gYXRcIixEVz1cIkNhbGxlZCBmcm9tXCIsRlc9WzAsWzEyLDMyLFs0LDAsMCwwLDBdXSxcIiAlZFwiXSxSVz1cIiAoaW5saW5lZClcIixMVz1bMCxbMiwwLFsxMiwzMixbMiwwLFsxMSwnIGluIGZpbGUgXCInLFsyLDAsWzEyLDM0LFsyLDAsWzExLFwiLCBsaW5lXCIsWzIsMCxbMTEsQU8sRktdXV1dXV1dXV1dLCclcyAlcyBpbiBmaWxlIFwiJXNcIiVzLCBsaW5lJXMsIGNoYXJhY3RlcnMgJWQtJWQnXSxNVz1aMCxxVz1bMCxbMTEsXCJzIFwiLFs0LDAsMCwwLFsxMiw0NSxbNCwwLDAsMCwwXV1dXSxcInMgJWQtJWRcIl0sVVc9WzAsWzIsMCxbMTEsXCIgdW5rbm93biBsb2NhdGlvblwiLDBdXSxcIiVzIHVua25vd24gbG9jYXRpb25cIl0sQlc9WzAsWzIsMCxbMTIsMTAsMF1dLGAlc1xuYF07ZnVuY3Rpb24gbGooeCxyKXt2YXIgZT14WzErcl07aWYoISgxLSh0eXBlb2YgZT09XCJudW1iZXJcIj8xOjApKSlyZXR1cm4gZChhcih5VyksZSk7aWYocHYoZSk9PT1nMylyZXR1cm4gZChhcihoVyksZSk7aWYocHYoZSkhPT1sRSlyZXR1cm4gZFc7Zm9yKHZhciB0PUROKFwiJS4xMmdcIixlKSx1PTAsaT1OeCh0KTs7KXtpZihpPD11KXJldHVybiBxeCh0LG1XKTt2YXIgYz1xMih0LHUpO3g6e2lmKDQ4PD1jKXtpZig1OD5jKWJyZWFrIHh9ZWxzZSBpZihjPT09NDUpYnJlYWsgeDtyZXR1cm4gdH12YXIgdT11KzF8MH19ZnVuY3Rpb24gbHEoeCxyKXtpZih4Lmxlbmd0aC0xPD1yKXJldHVybiBnVzt2YXIgZT1scSh4LHIrMXwwKSx0PWxqKHgscik7cmV0dXJuIHAoYXIod1cpLHQsZSl9ZnVuY3Rpb24gQjYoeCl7eDp7cjp7Zm9yKHZhciByPVIzKHZqKTtyOyl7ZTp7dmFyIGU9clsyXSx0PXJbMV07dHJ5e3ZhciB1PWQodCx4KX1jYXRjaHticmVhayBlfWlmKHUpYnJlYWsgcn12YXIgcj1lfXZhciBpPTA7YnJlYWsgeH12YXIgaT1bMCx1WzFdXX1pZihpKXJldHVybiBpWzFdO2lmKHg9PT1KTilyZXR1cm4gU1c7aWYoeD09PVJNKXJldHVybiBBVztpZih4WzFdPT09Rk0pe3ZhciBjPXhbMl0sdj1jWzNdLGE9Y1syXSxsPWNbMV07cmV0dXJuIEtOKGFyKEdOKSxsLGEsdix2KzV8MCxQVyl9aWYoeFsxXT09PU5yKXt2YXIgbT14WzJdLGg9bVszXSxUPW1bMl0sYj1tWzFdO3JldHVybiBLTihhcihHTiksYixULGgsaCs2fDAsSVcpfWlmKHhbMV09PT1JNil7dmFyIE49eFsyXSxqPU5bM10sST1OWzJdLEY9TlsxXTtyZXR1cm4gS04oYXIoR04pLEYsSSxqLGorNnwwLE5XKX1pZihwdih4KT09PTApe3ZhciBNPXgubGVuZ3RoLTEsej14WzFdWzFdO2lmKDI8TT4+PjApdmFyIEI9bHEoeCwyKSxLPWxqKHgsMSksbjA9cChhcihfVyksSyxCKTtlbHNlIHN3aXRjaChNKXtjYXNlIDA6dmFyIG4wPWJXO2JyZWFrO2Nhc2UgMTp2YXIgbjA9VFc7YnJlYWs7ZGVmYXVsdDp2YXIgJD1saih4LDEpLG4wPWQoYXIoRVcpLCQpfXZhciBIPVswLHosWzAsbjBdXX1lbHNlIHZhciBIPVswLHhbMV0sMF07dmFyIHQwPUhbMl0sYzA9SFsxXTtyZXR1cm4gdDA/cXgoYzAsdDBbMV0pOmMwfWZ1bmN0aW9uIHBqKHgscil7dmFyIGU9QnoociksdD1lLmxlbmd0aC0xLTF8MCx1PTA7aWYodD49MClmb3IodmFyIGk9dTs7KXt2YXIgYz1OMihlLGkpWzEraV07bGV0IG4wPWk7dmFyIHY9ZnVuY3Rpb24oSCl7cmV0dXJuIEg/bjA9PT0wP2pXOkNXOm4wPT09MD9PVzpEV307aWYoY1swXT09PTApe2lmKGNbM109PT1jWzZdKXZhciBhPWNbM10saD1kKGFyKEZXKSxhKTtlbHNlIHZhciBsPWNbNl0sbT1jWzNdLGg9cChhcihxVyksbSxsKTt2YXIgVD1jWzddLGI9Y1s0XSxOPWNbOF0/Ulc6TVcsaj1jWzJdLEk9Y1s5XSxGPXYoY1sxXSksej1bMCxESyhhcihMVyksRixJLGosTixoLGIsVCldfWVsc2UgaWYoY1sxXSl2YXIgej0wO2Vsc2UgdmFyIE09digwKSx6PVswLGQoYXIoVVcpLE0pXTtpZih6KXt2YXIgQj16WzFdO2QodnEoeCxCVyksQil9dmFyIEs9aSsxfDA7aWYodD09PWkpYnJlYWs7dmFyIGk9S319ZnVuY3Rpb24ga2ooeCl7Zm9yKDs7KXt2YXIgcj1SMyh2aiksZT0xLUJtKHZqLHIsWzAseCxyXSk7aWYoIWUpcmV0dXJuIGV9fXZhciBYVz1bMCxaMCxgKENhbm5vdCBwcmludCBsb2NhdGlvbnM6XG4gYnl0ZWNvZGUgZXhlY3V0YWJsZSBwcm9ncmFtIGZpbGUgbm90IGZvdW5kKWAsYChDYW5ub3QgcHJpbnQgbG9jYXRpb25zOlxuIGJ5dGVjb2RlIGV4ZWN1dGFibGUgcHJvZ3JhbSBmaWxlIGFwcGVhcnMgdG8gYmUgY29ycnVwdClgLGAoQ2Fubm90IHByaW50IGxvY2F0aW9uczpcbiBieXRlY29kZSBleGVjdXRhYmxlIHByb2dyYW0gZmlsZSBoYXMgd3JvbmcgbWFnaWMgbnVtYmVyKWAsYChDYW5ub3QgcHJpbnQgbG9jYXRpb25zOlxuIGJ5dGVjb2RlIGV4ZWN1dGFibGUgcHJvZ3JhbSBmaWxlIGNhbm5vdCBiZSBvcGVuZWQ7XG4gLS0gdG9vIG1hbnkgb3BlbiBmaWxlcy4gVHJ5IHJ1bm5pbmcgd2l0aCBPQ0FNTFJVTlBBUkFNPWI9MilgXS5zbGljZSgpLFlXPVswLFsxMSxLRSxbMiwwLFsxMiwxMCwwXV1dLHFSXSx6Vz1bMF0sS1c9XCJGYXRhbCBlcnJvcjogb3V0IG9mIG1lbW9yeSBpbiB1bmNhdWdodCBleGNlcHRpb24gaGFuZGxlclwiLEpXPVswLFsxMSxLRSxbMiwwLFsxMiwxMCwwXV1dLHFSXSxHVz1bMCxbMTEsXCJGYXRhbCBlcnJvciBpbiB1bmNhdWdodCBleGNlcHRpb24gaGFuZGxlcjogZXhjZXB0aW9uIFwiLFsyLDAsWzEyLDEwLDBdXV0sYEZhdGFsIGVycm9yIGluIHVuY2F1Z2h0IGV4Y2VwdGlvbiBoYW5kbGVyOiBleGNlcHRpb24gJXNcbmBdO1lOKHFPLGZ1bmN0aW9uKHgscil7dHJ5e3RyeXt2YXIgZT1yP3pXOmRNKDApO3RyeXtWTihPKX1jYXRjaHt9dHJ5e3ZhciB0PUI2KHgpO2Qob2ooWVcpLHQpLHBqKHBuLGUpO3ZhciB1PWxLKDApO2lmKHU8MCl7dmFyIGk9aTUodSk7Qk0oTjIoWFcsaSlbMStpXSl9dmFyIGM9YW4ocG4pLHY9Y31jYXRjaChiKXt2YXIgYT1VMihiKSxsPUI2KHgpO2Qob2ooSlcpLGwpLHBqKHBuLGUpO3ZhciBtPUI2KGEpO2Qob2ooR1cpLG0pLHBqKHBuLGRNKDApKTt2YXIgdj1hbihwbil9dmFyIGg9dn1jYXRjaChiKXt2YXIgVD1VMihiKTtpZihUIT09Sk4pdGhyb3cgVzAoVCwwKTt2YXIgaD1CTShLVyl9cmV0dXJuIGh9Y2F0Y2h7cmV0dXJuIDB9fSk7dmFyIFdXPVtuMixcIlN0ZGxpYi5GdW4uRmluYWxseV9yYWlzZWRcIixhcygwKV0sVlc9XCJGdW4uRmluYWxseV9yYWlzZWQ6IFwiO2tqKGZ1bmN0aW9uKHgpe3JldHVybiB4WzFdPT09V1c/WzAscXgoVlcsQjYoeFsyXSkpXTowfSk7dmFyICRXPVwiRGlnZXN0LkJMQUtFMjogd3JvbmcgaGFzaCBzaXplXCI7ZnVuY3Rpb24gbWooeCl7dmFyIHI9eFsxXTwxPzE6MCxlPXJ8fCg2NDx4WzFdPzE6MCk7ZSYmUjEoJFcpfW1qKFswLDE2XSksbWooWzAsMzJdKSxtaihbMCw2NF0pO2Z1bmN0aW9uIHBxKHgpe3ZhciByPV8xKHgpO3JldHVybiB2SyhyLDAsTngocikpfXZhciBRVz1vdCgxLDAsMCksSFc9b3QoMCwwLDApLFpXPW90KDAsMCwwKSx4Vj1vdCgyLDAsMCksclY9b3QoMSwwLDApO2Z1bmN0aW9uIGtxKHgpe3JldHVybiBTeig3LDAsWzAsNF0pfWZ1bmN0aW9uIG1xKHgscixlLHQsdSl7XzYoeCwwLGJNKHIsUVcpKSxfNih4LDEsZSk7dmFyIGk9bHYodCxIVyk/dDpyVjtfNih4LDIsaSk7dmFyIGM9bHYodSxaVyk/dTp4VjtfNih4LDMsYyl9ZnVuY3Rpb24gaHEoeCxyLGUsdCl7dmFyIHU9a3EoTyk7cmV0dXJuIG1xKHUseCxyLGUsdCksdX12YXIgZVY9b3QoMTQzNzE4NTIsMTUzNDk2NTEsMjI2OTYpLHRWPW90KDEyMjMwMTkzLDExNDM4NzQzLDM1MDEzKSxuVj1vdCgxNDI0OTMzLDE1NTQ5MjYzLDIwODMpLHVWPW90KDk0OTI0NzEsNDY5NjcwOCxwRik7bHMoWzAsZnVuY3Rpb24oeCl7dmFyIHI9Wm0oeCksZT1abSh4KSx0PVptKHgpO3JldHVybiBocShyLGUsdCxabSh4KSl9XSxmdW5jdGlvbih4KXtyZXR1cm4gaHEodVYsblYsdFYsZVYpfSk7dmFyIGs1PTAsZHE9LTEsaGo9W24yLFwiU3RkbGliLkZvcm1hdC5TdHJpbmdfdGFnXCIsYXMoMCldO2Z1bmN0aW9uIFg2KHgscil7cmV0dXJuIHhbMTNdPXhbMTNdK3JbM118MCx4aihyLHhbMjhdKX12YXIgeXE9MTAwMDAwMDAxMDtmdW5jdGlvbiBpVih4LHIpe3JldHVybiB4PD1yP3g6cn12YXIgZlY9W24yLFwiU3RkbGliLlF1ZXVlLkVtcHR5XCIsYXMoMCldLGNWPVswLFowLDAsWjBdLHNWPVowLGFWPVowLG9WPVowLHZWPVowLGxWPVswLFowXSxwVj15dztmdW5jdGlvbiBkaih4LHIpe3JldHVybiBIMCh4WzE3XSxyLDAsTngocikpfWZ1bmN0aW9uIG01KHgpe3JldHVybiBkKHhbMTldLDApfWZ1bmN0aW9uIGdxKHgscixlKXt4WzldPXhbOV0tcnwwLGRqKHgsZSkseFsxMV09MH1mdW5jdGlvbiBoNSh4LHIpe3ZhciBlPVAocixaMCk7cmV0dXJuIGUmJmdxKHgsTngocikscil9ZnVuY3Rpb24gZHYoeCxyLGUpe3ZhciB0PXJbM10sdT1yWzJdO3JldHVybiBoNSh4LHJbMV0pLG01KHgpLHhbMTFdPTEseFsxMF09aVYoeFs4XSwoeFs2XS1lfDApK3V8MCkseFs5XT14WzZdLXhbMTBdfDAsZCh4WzIxXSx4WzEwXSksaDUoeCx0KX1mdW5jdGlvbiB3cSh4LHIpe3JldHVybiBkdih4LGNWLHIpfWZ1bmN0aW9uIEgzKHgscil7dmFyIGU9clsyXSx0PXJbM107cmV0dXJuIGg1KHgsclsxXSkseFs5XT14WzldLWV8MCxkKHhbMjBdLGUpLGg1KHgsdCl9ZnVuY3Rpb24ga1YoeCxyLGUpe2lmKHR5cGVvZiBlPT1cIm51bWJlclwiKXN3aXRjaChlKXtjYXNlIDA6dmFyIHQ9VjMoeFszXSk7aWYoIXQpcmV0dXJuO3ZhciB1PXRbMV1bMV0saT1mdW5jdGlvbihLMCxBMCl7aWYoIUEwKXJldHVyblswLEswLDBdO3ZhciAkMD1BMFsxXSxleD1BMFsyXTtyZXR1cm4gZUsoSzAsJDApP1swLEswLEEwXTpbMCwkMCxpKEswLGV4KV19O3VbMV09aSh4WzZdLXhbOV18MCx1WzFdKTtyZXR1cm47Y2FzZSAxOlczKHhbMl0pO3JldHVybjtjYXNlIDI6VzMoeFszXSk7cmV0dXJuO2Nhc2UgMzp2YXIgYz1WMyh4WzJdKTtyZXR1cm4gYz93cSh4LGNbMV1bMl0pOm01KHgpO2Nhc2UgNDp2YXIgdj14WzEwXSE9PSh4WzZdLXhbOV18MCk/MTowO2lmKCF2KXJldHVybiB2O3ZhciBhPXhbMjhdLGw9YVsyXTtpZihsKXt2YXIgbT1sWzFdO2lmKGxbMl0pe3ZhciBoPWxbMl07YVsxXT1hWzFdLTF8MCxhWzJdPWg7dmFyIFQ9WzAsbV19ZWxzZXtaTihhKTt2YXIgVD1bMCxtXX19ZWxzZSB2YXIgVD0wO2lmKCFUKXJldHVybjt2YXIgYj1UWzFdLE49YlsxXTt4WzEyXT14WzEyXS1iWzNdfDAseFs5XT14WzldK058MDtyZXR1cm47ZGVmYXVsdDp2YXIgaj1XMyh4WzVdKTtyZXR1cm4gaj9kaih4LGQoeFsyNV0salsxXSkpOnZvaWQgMH1zd2l0Y2goZVswXSl7Y2FzZSAwOnJldHVybiBncSh4LHIsZVsxXSk7Y2FzZSAxOnZhciBJPWVbMl0sRj1lWzFdLE09SVsxXSx6PUlbMl0sQj1WMyh4WzJdKTtpZighQilyZXR1cm47dmFyIEs9QlsxXSxuMD1LWzJdO3N3aXRjaChLWzFdKXtjYXNlIDA6cmV0dXJuIEgzKHgsRik7Y2FzZSAxOnJldHVybiBkdih4LEksbjApO2Nhc2UgMjpyZXR1cm4gZHYoeCxJLG4wKTtjYXNlIDM6cmV0dXJuIHhbOV08KHIrTngoTSl8MCk/ZHYoeCxJLG4wKTpIMyh4LEYpO2Nhc2UgNDpyZXR1cm4geFsxMV0/SDMoeCxGKTp4WzldPChyK054KE0pfDApfHwoKHhbNl0tbjB8MCkrenwwKTx4WzEwXT9kdih4LEksbjApOkgzKHgsRik7ZGVmYXVsdDpyZXR1cm4gSDMoeCxGKX1jYXNlIDI6dmFyICQ9eFs2XS14WzldfDAsSD1lWzJdLHQwPWVbMV0sYzA9VjMoeFszXSk7aWYoIWMwKXJldHVybjt2YXIgcjA9YzBbMV1bMV0sdjA9cjBbMV07aWYodjApZm9yKHZhciBhMD1yMFsxXSxnMD12MFsxXTs7KXtpZihhMCl7dmFyIGkwPWEwWzFdLHMwPWEwWzJdO2lmKCQ+aTApe3ZhciBhMD1zMDtjb250aW51ZX12YXIgZDA9aTB9ZWxzZSB2YXIgZDA9ZzA7dmFyIHcwPWQwO2JyZWFrfWVsc2UgdmFyIHcwPSQ7dmFyIE0wPXcwLSR8MDtyZXR1cm4gMDw9TTA/SDMoeCxbMCxhVixNMCt0MHwwLHNWXSk6ZHYoeCxbMCx2Vix3MCtIfDAsb1ZdLHhbNl0pO2Nhc2UgMzp2YXIgQzA9ZVsyXSxEMD1lWzFdO2lmKHhbOF08KHhbNl0teFs5XXwwKSl7dmFyIEkwPVYzKHhbMl0pO2lmKEkwKXt2YXIgajA9STBbMV0seTA9ajBbMl0sWTA9ajBbMV07eFs5XTx5MCYmMz49WTAtMT4+PjAmJndxKHgseTApfWVsc2UgbTUoeCl9dmFyIEw9eFs5XS1EMHwwLE4wPUMwPT09MT8xOnhbOV08cj9DMDo1O3JldHVybiBtdihbMCxOMCxMXSx4WzJdKTtjYXNlIDQ6cmV0dXJuIG12KGVbMV0seFszXSk7ZGVmYXVsdDp2YXIgUzA9ZVsxXTtyZXR1cm4gZGooeCxkKHhbMjRdLFMwKSksbXYoUzAseFs1XSl9fWZ1bmN0aW9uIF9xKHgpe2Zvcig7Oyl7dmFyIHI9eFsyOF1bMl0sZT1yP1swLHJbMV1dOjA7aWYoIWUpcmV0dXJuO3ZhciB0PWVbMV0sdT10WzFdLGk9MDw9dT8xOjAsYz10WzNdLHY9dFsyXSxhPXhbMTNdLXhbMTJdfDAsbD1pfHwoeFs5XTw9YT8xOjApO2lmKCFsKXJldHVybiBsO3ZhciBtPXhbMjhdLGg9bVsyXTtpZighaCl0aHJvdyBXMChmViwxKTtpZihoWzJdKXt2YXIgVD1oWzJdO21bMV09bVsxXS0xfDAsbVsyXT1UfWVsc2UgWk4obSk7dmFyIGI9MDw9dT91OnlxO2tWKHgsYix2KSx4WzEyXT1jK3hbMTJdfDB9fWZ1bmN0aW9uIGJxKHgscil7cmV0dXJuIFg2KHgsciksX3EoeCl9ZnVuY3Rpb24gVHEoeCxyLGUpe3JldHVybiBicSh4LFswLHIsWzAsZV0scl0pfWZ1bmN0aW9uIHlqKHgpe3JldHVybiBMNih4KSxtdihbMCwtMSxbMCxkcSxsViwwXV0seCl9ZnVuY3Rpb24gZ2ooeCxyKXt2YXIgZT1WMyh4WzFdKTtpZihlKXt2YXIgdD1lWzFdLHU9dFsyXSxpPXVbMV07aWYodFsxXTx4WzEyXSlyZXR1cm4geWooeFsxXSk7dmFyIGM9dVsyXTtpZih0eXBlb2YgYyE9XCJudW1iZXJcIilzd2l0Y2goY1swXSl7Y2FzZSAzOjEtciYmKHVbMV09eFsxM10raXwwLFczKHhbMV0pKTtyZXR1cm47Y2FzZSAxOmNhc2UgMjpyJiYodVsxXT14WzEzXStpfDAsVzMoeFsxXSkpO3JldHVybn19fWZ1bmN0aW9uIEVxKHgscixlKXtyZXR1cm4gWDYoeCxlKSxyJiZnaih4LDEpLG12KFswLHhbMTNdLGVdLHhbMV0pfWZ1bmN0aW9uIFNxKHgscixlKXtpZih4WzE0XT14WzE0XSsxfDAseFsxNF08eFsxNV0pcmV0dXJuIEVxKHgsMCxbMCwteFsxM118MCxbMyxyLGVdLDBdKTt2YXIgdD14WzE0XT09PXhbMTVdPzE6MDtpZighdClyZXR1cm4gdDt2YXIgdT14WzE2XTtyZXR1cm4gVHEoeCxOeCh1KSx1KX1mdW5jdGlvbiBBcSh4LHIpezE8eFsxNF0mJih4WzE0XTx4WzE1XSYmKFg2KHgsWzAsazUsMSwwXSksZ2ooeCwxKSxnaih4LDApKSx4WzE0XT14WzE0XS0xfDApfWZ1bmN0aW9uIFBxKHgscil7aWYoeFsyM10mJlg2KHgsWzAsazUsNSwwXSkseFsyMl0pe3ZhciBlPVczKHhbNF0pO2lmKGUpcmV0dXJuIGQoeFsyN10sZVsxXSl9fWZ1bmN0aW9uIElxKHgscil7Zm9yKGIxKGZ1bmN0aW9uKGUpe3JldHVybiBQcSh4LE8pfSx4WzRdWzFdKTshKDE+PXhbMTRdKTspQXEoeCxPKTtyZXR1cm4geFsxM109eXEsX3EoeCksciYmbTUoeCkseFsxMl09MSx4WzEzXT0xLFpOKHhbMjhdKSx5aih4WzFdKSxMNih4WzJdKSxMNih4WzNdKSxMNih4WzRdKSxMNih4WzVdKSx4WzEwXT0wLHhbMTRdPTAseFs5XT14WzZdLFNxKHgsMCwzKX1mdW5jdGlvbiB3aih4LHIsZSl7dmFyIHQ9eFsxNF08eFsxNV0/MTowO3JldHVybiB0JiZUcSh4LHIsZSl9ZnVuY3Rpb24gTnEoeCxyLGUpe3JldHVybiB3aih4LHIsZSl9ZnVuY3Rpb24gWTYoeCxyKXtyZXR1cm4gTnEoeCwxLHM1KDEscikpfWZ1bmN0aW9uIHl2KHgscil7cmV0dXJuIElxKHgsMCksZCh4WzE4XSwwKX1mdW5jdGlvbiBfaih4LHIpe3JldHVybiBIMCh4WzE3XSxwViwwLDEpfXZhciBqcT1zNSg4MCwzMiksbVY9UUYsaFY9eDYsZFY9YXkseVY9WjAsZ1Y9eDYsd1Y9XCI8L1wiLF9WPVowLGJWPVszLDAsM10sVFY9Y247ZnVuY3Rpb24gWjMoeCxyKXtmb3IodmFyIGU9cjs7KXt2YXIgdD0wPGU/MTowO2lmKCF0KXJldHVybiB0O2lmKDgwPj1lKXJldHVybiBIMCh4WzE3XSxqcSwwLGUpO0gwKHhbMTddLGpxLDAsODApO3ZhciBlPWUtODB8MH19ZnVuY3Rpb24gRVYoeCl7cmV0dXJuIHhbMV09PT1oaj9xeChkVixxeCh4WzJdLGhWKSk6eVZ9ZnVuY3Rpb24gU1YoeCl7cmV0dXJuIHhbMV09PT1oaj9xeCh3VixxeCh4WzJdLGdWKSk6X1Z9ZnVuY3Rpb24gQVYoeCl7cmV0dXJuIDB9ZnVuY3Rpb24gUFYoeCl7cmV0dXJuIDB9ZnVuY3Rpb24gYmooeCxyLGUsdCx1KXt2YXIgaT1lcShPKSxjPVswLGRxLGJWLDBdO3hqKGMsaSk7dmFyIHY9UjYoTyk7eWoodiksbXYoWzAsMSxjXSx2KTt2YXIgYT03OCxsPVI2KE8pLG09UjYoTyksaD1SNihPKTtyZXR1cm5bMCx2LFI2KE8pLGgsbSxsLGEsMTAsNjgsYSwwLDEsMSwxLDEsbVYsVFYseCxyLGUsdCx1LDAsMCxFVixTVixBVixQVixpXX1mdW5jdGlvbiBDcSh4LHIpe3ZhciBlPWJqKHgscixmdW5jdGlvbih0KXtyZXR1cm4gMH0sZnVuY3Rpb24odCl7cmV0dXJuIDB9LGZ1bmN0aW9uKHQpe3JldHVybiAwfSk7cmV0dXJuIGVbMTldPWZ1bmN0aW9uKHQpe3JldHVybiBfaihlLE8pfSxlWzIwXT1mdW5jdGlvbih0KXtyZXR1cm4gWjMoZSx0KX0sZVsyMV09ZnVuY3Rpb24odCl7cmV0dXJuIFozKGUsdCl9LGV9ZnVuY3Rpb24gT3EoeCl7cmV0dXJuIENxKGZ1bmN0aW9uKHIsZSx0KXtyZXR1cm4gVU0oeCxyLGUsdCl9LGZ1bmN0aW9uKHIpe3JldHVybiBhbih4KX0pfWZ1bmN0aW9uIFRqKHgpe3JldHVybiBDcShmdW5jdGlvbihyLGUsdCl7cmV0dXJuIGVqKHgscixlLHQpfSxmdW5jdGlvbihyKXtyZXR1cm4gMH0pfXZhciBFaj1aUDtmdW5jdGlvbiBEcSh4KXtyZXR1cm4gJHIoRWopfXZhciBGcT1EcShPKSxJVj1PcShxTSksTlY9T3EocG4pLGpWPVRqKEZxKSxScT1scygwLERxKTtNNihScSxGcSksTTYobHMoMCxmdW5jdGlvbih4KXtyZXR1cm4gVGooaHYoUnEpKX0pLGpWKTtmdW5jdGlvbiBMcSh4LHIsZSx0KXtyZXR1cm4gZWooaHYoeCkscixlLHQpfWZ1bmN0aW9uIE1xKHgscixlKXt2YXIgdD1odihyKSx1PXRbMl07cmV0dXJuIFVNKHgsRzIodCksMCx1KSxhbih4KSx0WzJdPTAsMH12YXIgcXE9bHMoMCxmdW5jdGlvbih4KXtyZXR1cm4gJHIoRWopfSksVXE9bHMoMCxmdW5jdGlvbih4KXtyZXR1cm4gJHIoRWopfSksQnE9bHMoMCxmdW5jdGlvbih4KXt2YXIgcj1iaihmdW5jdGlvbihlLHQsdSl7cmV0dXJuIExxKHFxLGUsdCx1KX0sZnVuY3Rpb24oZSl7cmV0dXJuIE1xKHFNLHFxLE8pfSxmdW5jdGlvbihlKXtyZXR1cm4gMH0sZnVuY3Rpb24oZSl7cmV0dXJuIDB9LGZ1bmN0aW9uKGUpe3JldHVybiAwfSk7cmV0dXJuIHJbMTldPWZ1bmN0aW9uKGUpe3JldHVybiBfaihyLE8pfSxyWzIwXT1mdW5jdGlvbihlKXtyZXR1cm4gWjMocixlKX0sclsyMV09ZnVuY3Rpb24oZSl7cmV0dXJuIFozKHIsZSl9LGlxKGZ1bmN0aW9uKGUpe3JldHVybiB5dihyLE8pfSkscn0pO002KEJxLElWKTt2YXIgWHE9bHMoMCxmdW5jdGlvbih4KXt2YXIgcj1iaihmdW5jdGlvbihlLHQsdSl7cmV0dXJuIExxKFVxLGUsdCx1KX0sZnVuY3Rpb24oZSl7cmV0dXJuIE1xKHBuLFVxLE8pfSxmdW5jdGlvbihlKXtyZXR1cm4gMH0sZnVuY3Rpb24oZSl7cmV0dXJuIDB9LGZ1bmN0aW9uKGUpe3JldHVybiAwfSk7cmV0dXJuIHJbMTldPWZ1bmN0aW9uKGUpe3JldHVybiBfaihyLE8pfSxyWzIwXT1mdW5jdGlvbihlKXtyZXR1cm4gWjMocixlKX0sclsyMV09ZnVuY3Rpb24oZSl7cmV0dXJuIFozKHIsZSl9LGlxKGZ1bmN0aW9uKGUpe3JldHVybiB5dihyLE8pfSkscn0pO002KFhxLE5WKTt2YXIgQ1Y9XCJCdWZmZXIuc3ViXCIsT1Y9WzAsMCw0XSxEVj1bMCxbMTEsXCJpbnZhbGlkIGJveCBkZXNjcmlwdGlvbiBcIixbMywwLDBdXSxcImludmFsaWQgYm94IGRlc2NyaXB0aW9uICVTXCJdLEZWPVowLFJWPVowLExWPVowLE1WPVowO2Z1bmN0aW9uIFlxKHgscil7dmFyIGU9JHIoMTYpLHQ9VGooZSk7eCh0LHIpLHl2KHQsTyk7dmFyIHU9ZVsyXTtpZigyPnUpcmV0dXJuIEcyKGUpO3ZhciBpPXUtMnwwLGM9MTtyZXR1cm4gMDw9aSYmKGVbMl0taXwwKT49MT9HMyhlWzFdWzFdLGMsaSk6UjEoQ1YpfWZ1bmN0aW9uIGt0KHgscil7aWYodHlwZW9mIHIhPVwibnVtYmVyXCIpe3g6e3I6e2U6e3N3aXRjaChyWzBdKXtjYXNlIDA6dmFyIGU9clsyXTtpZihrdCh4LHJbMV0pLHR5cGVvZiBlPT1cIm51bWJlclwiKXN3aXRjaChlKXtjYXNlIDA6cmV0dXJuIEFxKHgsTyk7Y2FzZSAxOnJldHVybiBQcSh4LE8pO2Nhc2UgMjpyZXR1cm4geXYoeCxPKTtjYXNlIDM6dmFyIHQ9eFsxNF08eFsxNV0/MTowO3JldHVybiB0JiZicSh4LFswLGs1LDMsMF0pO2Nhc2UgNDpyZXR1cm4gSXEoeCwxKSxkKHhbMThdLDApO2Nhc2UgNTpyZXR1cm4gWTYoeCw2NCk7ZGVmYXVsdDpyZXR1cm4gWTYoeCwzNyl9c3dpdGNoKGVbMF0pe2Nhc2UgMDp2YXIgdT1bMCxNVixlWzJdLExWXSxpPXhbMTRdPHhbMTVdPzE6MCxjPVswLFJWLGVbM10sRlZdLHY9dVszXSxhPXVbMl0sbD11WzFdO3JldHVybiBpJiZFcSh4LDEsWzAsLXhbMTNdfDAsWzEsdSxjXSwoTngobCkrYXwwKStOeCh2KXwwXSk7Y2FzZSAxOnJldHVybjtkZWZhdWx0OnZhciBtPWVbMV07cmV0dXJuIFk2KHgsNjQpLFk2KHgsbSl9Y2FzZSAxOnZhciBoPXJbMl0sVD1yWzFdO2lmKGhbMF09PT0wKXt2YXIgYj1oWzFdO2t0KHgsVCk7dmFyIE49WzAsaGosWXEoa3QsYildO3hbMjJdJiYobXYoTix4WzRdKSxkKHhbMjZdLE4pKTt2YXIgaj14WzIzXTtyZXR1cm4gaiYmWDYoeCxbMCxrNSxbNSxOXSwwXSl9dmFyIEk9aFsxXTtrdCh4LFQpO3ZhciBGPVlxKGt0LEkpO2lmKGJyKEYsWjApKXZhciBNPU9WO2Vsc2V7dmFyIHo9TngoRiksQj1mdW5jdGlvbihzeCl7dmFyIFE9RFZbMV0sYjA9JHIoSGwpO3JldHVybiBkKExyKGZ1bmN0aW9uKFUpe3JldHVybiBsYShiMCxVKSxUeChHMihiMCkpfSwwLFEpLEYpfSxLPWZ1bmN0aW9uKHN4KXtmb3IodmFyIFE9c3g7Oyl7aWYoUT09PXopcmV0dXJuIFE7dmFyIGIwPXEyKEYsUSk7aWYoYjAhPT05JiZiMCE9PTMyKXJldHVybiBRO3ZhciBRPVErMXwwfX0sbjA9SygwKTt0Om46e2Zvcih2YXIgJD1uMDs7KXtpZigkPT09eilicmVhayBuO2lmKDI1PHEyKEYsJCkrbms+Pj4wKWJyZWFrO3ZhciAkPSQrMXwwfWJyZWFrIHR9dmFyIEg9VDEoRixuMCwkLW4wfDApLHQwPUsoJCk7dDpuOntmb3IodmFyIGMwPXQwOzspe2lmKGMwPT09eilicmVhayBuO3ZhciByMD1xMihGLGMwKTtpZig0ODw9cjApe2lmKDU4PD1yMClicmVha31lbHNlIGlmKHIwIT09NDUpYnJlYWs7dmFyIGMwPWMwKzF8MH1icmVhayB0fWlmKHQwPT09YzApdmFyIHYwPTA7ZWxzZSB0cnl7dmFyIGEwPXZ0KFQxKEYsdDAsYzAtdDB8MCkpLHYwPWEwfWNhdGNoKHN4KXt2YXIgZzA9VTIoc3gpO2lmKGcwWzFdIT09dm4pdGhyb3cgVzAoZzAsMCk7dmFyIHYwPUIoTyl9SyhjMCkhPT16JiZCKE8pO3Q6e2lmKFAoSCxaMCkmJlAoSCxpSSkpe2lmKCFQKEgsXCJoXCIpKXt2YXIgaTA9MDticmVhayB0fWlmKCFQKEgsXCJob3ZcIikpe3ZhciBpMD0zO2JyZWFrIHR9aWYoIVAoSCxcImh2XCIpKXt2YXIgaTA9MjticmVhayB0fWlmKFAoSCxZRikpe3ZhciBpMD1CKE8pO2JyZWFrIHR9dmFyIGkwPTE7YnJlYWsgdH12YXIgaTA9NH12YXIgTT1bMCx2MCxpMF19cmV0dXJuIFNxKHgsTVsxXSxNWzJdKTtjYXNlIDI6dmFyIHMwPXJbMV07aWYodHlwZW9mIHMwIT1cIm51bWJlclwiJiZzMFswXT09PTApe3ZhciBkMD1zMFsyXTtpZih0eXBlb2YgZDAhPVwibnVtYmVyXCImJmQwWzBdPT09MSl7dmFyIHcwPXJbMl0sTTA9ZDBbMl0sQzA9czBbMV07YnJlYWsgcn19dmFyIFMwPXJbMl0sSzA9czA7YnJlYWsgeDtjYXNlIDM6dmFyIEQwPXJbMV07aWYodHlwZW9mIEQwIT1cIm51bWJlclwiJiZEMFswXT09PTApe3ZhciBJMD1EMFsyXTtpZih0eXBlb2YgSTAhPVwibnVtYmVyXCImJkkwWzBdPT09MSl7dmFyIGowPXJbMl0seTA9STBbMl0sWTA9RDBbMV07YnJlYWt9fXZhciBleD1yWzJdLHh4PUQwO2JyZWFrIGU7Y2FzZSA0OnZhciBMPXJbMV07aWYodHlwZW9mIEwhPVwibnVtYmVyXCImJkxbMF09PT0wKXt2YXIgTjA9TFsyXTtpZih0eXBlb2YgTjAhPVwibnVtYmVyXCImJk4wWzBdPT09MSl7dmFyIHcwPXJbMl0sTTA9TjBbMl0sQzA9TFsxXTticmVhayByfX12YXIgUzA9clsyXSxLMD1MO2JyZWFrIHg7Y2FzZSA1OnZhciBBMD1yWzFdO2lmKHR5cGVvZiBBMCE9XCJudW1iZXJcIiYmQTBbMF09PT0wKXt2YXIgJDA9QTBbMl07aWYodHlwZW9mICQwIT1cIm51bWJlclwiJiYkMFswXT09PTEpe3ZhciBqMD1yWzJdLHkwPSQwWzJdLFkwPUEwWzFdO2JyZWFrfX12YXIgZXg9clsyXSx4eD1BMDticmVhayBlO2Nhc2UgNjp2YXIgdHg9clsyXTtyZXR1cm4ga3QoeCxyWzFdKSxkKHR4LHgpO2Nhc2UgNzpyZXR1cm4ga3QoeCxyWzFdKSx5dih4LE8pO2RlZmF1bHQ6dmFyIHowPXJbMl07cmV0dXJuIGt0KHgsclsxXSksUjEoejApfXJldHVybiBrdCh4LFkwKSx3aih4LHkwLHM1KDEsajApKX1yZXR1cm4ga3QoeCx4eCksWTYoeCxleCl9cmV0dXJuIGt0KHgsQzApLHdqKHgsTTAsdzApfXJldHVybiBrdCh4LEswKSxOcSh4LE54KFMwKSxTMCl9fWZ1bmN0aW9uIHMxKHgpe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gTHIoZnVuY3Rpb24oZSl7cmV0dXJuIGt0KHgsZSksMH0sMCxyWzFdKX19dmFyIHFWPVwiQXJyYXkuc3ViXCIsVVY9XCJmaXJzdCBkb21haW4gYWxyZWFkeSBzcGF3bmVkXCIsQlY9WzAsXCJjYW1saW50ZXJuYWxPTy5tbFwiLFZiLDUwXSxYVj1bMCx6Uiw3Miw1XSxZVj1bMCx6Uiw4MSwyXSx6Vj1cIi90bXBcIixLVj1jbixKVj1bMCxcInNyYy93dGY4Lm1sXCIsNjUsOV0sR1Y9WzAsXCJzcmMvdGhpcmQtcGFydHkvc2VkbGV4L2Zsb3dfc2VkbGV4aW5nLm1sXCIsV0UsNF0sV1Y9XCJGbG93X3NlZGxleGluZy5NYWxGb3JtZWRcIixWVj0kbCwkVj1wMyxRVj1sMyxIVj12NixaVj1hdix4JD1bMCxbMTIsNDAsWzE4LFsxLFswLFsxMSxfaSwwXSxfaV1dLFsxMSxcIkZpbGVfa2V5LkxpYkZpbGVcIixbMTcsWzAsVWEsMSwwXSwwXV1dXSxcIihAWzwyPkZpbGVfa2V5LkxpYkZpbGVAIFwiXSxyJD1bMCxbMywwLDBdLFZsXSxlJD1bMCxbMTcsMCxbMTIsNDEsMF1dLHdwXSx0JD1bMCxbMTIsNDAsWzE4LFsxLFswLFsxMSxfaSwwXSxfaV1dLFsxMSxcIkZpbGVfa2V5LlNvdXJjZUZpbGVcIixbMTcsWzAsVWEsMSwwXSwwXV1dXSxcIihAWzwyPkZpbGVfa2V5LlNvdXJjZUZpbGVAIFwiXSxuJD1bMCxbMywwLDBdLFZsXSx1JD1bMCxbMTcsMCxbMTIsNDEsMF1dLHdwXSxpJD1bMCxbMTIsNDAsWzE4LFsxLFswLFsxMSxfaSwwXSxfaV1dLFsxMSxcIkZpbGVfa2V5Lkpzb25GaWxlXCIsWzE3LFswLFVhLDEsMF0sMF1dXV0sXCIoQFs8Mj5GaWxlX2tleS5Kc29uRmlsZUAgXCJdLGYkPVswLFszLDAsMF0sVmxdLGMkPVswLFsxNywwLFsxMiw0MSwwXV0sd3BdLHMkPVswLFsxMiw0MCxbMTgsWzEsWzAsWzExLF9pLDBdLF9pXV0sWzExLFwiRmlsZV9rZXkuUmVzb3VyY2VGaWxlXCIsWzE3LFswLFVhLDEsMF0sMF1dXV0sXCIoQFs8Mj5GaWxlX2tleS5SZXNvdXJjZUZpbGVAIFwiXSxhJD1bMCxbMywwLDBdLFZsXSxvJD1bMCxbMTcsMCxbMTIsNDEsMF1dLHdwXSx2JD1bMCwxXSxsJD1bMCwwXSxwJD1bMCwxXSxrJD1bMCwyXSxtJD1bMCwyXSxoJD1bMCwwXSxkJD1bMCwxXSx5JD1bMCwxXSxnJD1bMCwxXSx3JD1bMCwxXSxfJD1bMCwyXSxiJD1bMCwxXSxUJD1bMCwxXSxFJD1bMCwwLDBdLFMkPVswLDAsMF0sQSQ9WzAsQjEsR2ksRmksTTcsSzEsX2YsYzcsVmYsbmMsZGYsQWksZ3UsZ2ksbnUsUzcsczcsUnUsVGYsRDcsWXUsemksTjcsem4sUmYsZnUsWjcsWG4sS2YsaXMsSmYscmYsY2YsdHMsZ2MsVTcsemUsV24sT2kseDcsTmMsVGksWGYsT2MsR2UsVGMsU3UsVzcsaTcsQmMsenUseHUsazcsWGUsSnUsdjcscGYscjcsYWYsbzcscWMsTWUsd2YsbGksTHUsQTcscnUsTWksSmksZzcsRGYsUTcsa2MsTGksZjcsam4sa2YsX3UsQzcsZmksSWMsb2ksdnUsX2UsRGMsS24sTWYsRHUscnMsVW4sR24sZTcsTmYsYWMsQm4sSm4sU2ksRmYsUWksVHUsS2ksT24sUGMsTnUsWHUsbWksQ3UsRnUsR3UsVm4sdmksamMsRWksUWMsU2YsRWMsQXUsYnUsc2ksY3UsTW4saGYsVmMsWmksTDcsamksQmYsSGksbGYsSjcsdXUsbTcsSmMsZWMsc3UsbXUsJDcsWWMsVnUsbmUsbDcscW4seWMsV3UsJGksZXUsWDcsdWYsSWYsV2MsdWMsbGMsTzcsWmYsRXUsUGYsSG4sVDcsQjcsRWYseTcsJGMsS3Usd2ksZGkscGMsUm4sSXUsTXUsejcsV2ksaWUsV2YsTWMsWWYsZHUsbWYsWGMsRGksRG4sWDEseWksSTcsVWMsUHQsa2ksZGMseHMsSzcsUW4sJHUsd3UscmksUmksaDcsJGYseGMsQnUsVjcsdGYsVWYsbnMscHUsZWYsWW4semMscGkseGksQ2ksWmMsbmYsdDcscDcsZ2YsWnUsdzcsb2MsRmMsdTcsbjEsQ24sbWMseGYsdXMsZDcsRm4sUGksY2MsQWYsd2MsdmMsZXMsXzcsU2MsYmYscmMsaWMsYXUseXUsYjcsYmUsQmksanUsTm4sSGYsc2MsbmksX2MsaWksVmksaXUsSWksSDcsTGYsTGMsWWUsTGUscWksWWkscXUsQWMsUmMsRjcsdHUsT2YsZmMsSGMsTG4sdGMsYmksamYsWTcsWGksUjcsZmYsaGksYTcsemYsQ2YsUDcsVXUsYWksZWksT3UseWYsUHUsbHUsb2YsWm4sUXUsbjcsTmksdGksZnMsS2UsRzcsYmMsZm4sajcsRTcsSHUsS2MsJG4sb3Usa3UsY2ksaGMsVWksR2YseG4sc2ZdLFAkPVswLEJjLEt1LHhjLGtpLHJpLGZzLEd1LEtpLE83LHo3LGJjLGZ1LEduLEdlLHJzLG1jLEw3LEhpLHlmLHRzLFNpLEI3LHZpLFdmLHk3LGljLF83LEdpLF91LEs3LHhpLGY3LCRpLHNjLE9mLHhzLHJjLFFjLFB0LE03LGdmLERmLFZpLE5pLEJ1LG43LEhuLGNjLHdmLCR1LENpLE9jLFBjLEk3LFc3LE1uLGR1LGF1LFd1LEVpLGFpLGhpLERjLHNmLHJ1LGppLGJpLE43LFR1LEx1LFdjLENmLGU3LE1lLEpuLFJpLEtuLFNmLFpmLFQ3LGRjLG5lLFlpLFhuLHZjLG03LGxmLHVjLGw3LCRmLCQ3LGc3LFVpLF9jLEZuLGJ1LHI3LHZ1LEdmLGI3LHRpLGs3LEsxLGxpLEg3LHM3LHY3LHlpLGN1LEh1LHBpLFU3LHBjLE91LG1pLFhmLGJlLHQ3LFo3LEIxLHFuLGdjLElpLE1pLGd1LEljLExmLGFmLEtjLEFpLGZmLGl1LEZ1LFZmLHV1LEVmLGt1LEpmLE11LFNjLG9jLFVuLHhmLHljLGZpLFp1LFRmLGlzLGpmLF9mLHJmLHp1LFJ1LFN1LGRmLFA3LE1jLFpjLGE3LFZ1LGg3LFk3LG5jLFI3LGhmLEN1LFg3LGZjLCRuLHNpLG9mLGVpLExuLEpjLEM3LHVmLHRjLEF1LFgxLFhlLFM3LEQ3LFRjLGtmLHplLFllLFZuLFVjLER1LHU3LCRjLF9lLEc3LG5zLGJmLFlmLHpmLENuLFY3LHdpLHd1LG51LGVzLHFjLFluLERpLEJmLHdjLGQ3LFJjLFh1LHh1LE9uLG1mLGFjLGtjLEtmLFFpLEE3LEJuLFl1LG5pLEo3LFpuLGlpLGo3LFJuLFRpLHl1LGNmLFFuLG83LERuLEZmLGx1LE51LFBmLFV1LG11LFdpLEJpLFJmLHhuLGM3LGp1LFF1LHpuLE5uLEV1LGRpLHF1LGV1LExpLGpjLEl1LHc3LHN1LElmLHppLHg3LG91LFppLEY3LGpuLGNpLEU3LG4xLG9pLFhpLEZjLFZjLHB1LGVmLGk3LExlLHRmLEhjLEppLFBpLEhmLE9pLE5jLGVjLHpjLHVzLGdpLG5mLFljLE1mLGZuLFhjLFB1LGxjLE5mLFVmLExjLEp1LEFmLEtlLGhjLGllLHFpLEZpLHR1LHBmLHA3LEFjLFE3LFduLEVjXSxJJD1VUixOJD1WRixqJD1JRixDJD1ZTyxPJD1heSxEJD1XTCxGJD14NixSJD11RCxMJD1YRixNJD1DRixxJD1OTyxVJD1xNyxCJD1VZSxYJD1JRCxZJD15Rix6JD11ZSxLJD1ZTCxKJD1ORCxHJD1DcCxXJD1vbSxWJD1xYSwkJD1HbCxRJD1rUixIJD14RCxaJD1PRCx4UT1xRCxyUT1qRixlUT1WTyx0UT1aTyxuUT1hTCx1UT1DRCxpUT12UixmUT1BRixjUT1rTyxzUT1vRixhUT1HTCxvUT1pRix2UT1bMCxbMTgsWzEsWzAsWzExLF9pLDBdLF9pXV0sWzExLFwieyBcIiwwXV0sXCJAWzwyPnsgXCJdLGxRPVwiTG9jLmxpbmVcIixwUT1bMCxbMTgsWzEsWzAsMCxaMF1dLFsyLDAsWzExLEpELFsxNyxbMCxVYSwxLDBdLDBdXV1dLFRGXSxrUT1bMCxbNCwwLDAsMCwwXSxPM10sbVE9WzAsWzE3LDAsMF0sX0FdLGhRPVswLFsxMiw1OSxbMTcsWzAsVWEsMSwwXSwwXV0sXCI7QCBcIl0sZFE9ZjYseVE9WzAsWzE4LFsxLFswLDAsWjBdXSxbMiwwLFsxMSxKRCxbMTcsWzAsVWEsMSwwXSwwXV1dXSxURl0sZ1E9WzAsWzQsMCwwLDAsMF0sTzNdLHdRPVswLFsxNywwLDBdLF9BXSxfUT1bMCxbMTcsWzAsVWEsMSwwXSxbMTIsQmEsWzE3LDAsMF1dXSxcIkAgfUBdXCJdLGJRPVowLFRRPVwiT2JqZWN0IGxpdGVyYWwgbWF5IG5vdCBoYXZlIGRhdGEgYW5kIGFjY2Vzc29yIHByb3BlcnR5IHdpdGggdGhlIHNhbWUgbmFtZVwiLEVRPVwiT2JqZWN0IGxpdGVyYWwgbWF5IG5vdCBoYXZlIG11bHRpcGxlIGdldC9zZXQgYWNjZXNzb3JzIHdpdGggdGhlIHNhbWUgbmFtZVwiLFNRPVwiVW5leHBlY3RlZCB0b2tlbiA8LiBSZW1lbWJlciwgYWRqYWNlbnQgSlNYIGVsZW1lbnRzIG11c3QgYmUgd3JhcHBlZCBpbiBhbiBlbmNsb3NpbmcgcGFyZW50IHRhZ1wiLEFRPVwiYGxldCBbYCBpcyBhbWJpZ3VvdXMgaW4gdGhpcyBwb3NpdGlvbiBiZWNhdXNlIGl0IGlzIGVpdGhlciBhIGBsZXRgIGJpbmRpbmcgcGF0dGVybiwgb3IgYSBtZW1iZXIgZXhwcmVzc2lvbi5cIixQUT1cIkFzeW5jIGZ1bmN0aW9ucyBjYW4gb25seSBiZSBkZWNsYXJlZCBhdCB0b3AgbGV2ZWwgb3IgaW1tZWRpYXRlbHkgd2l0aGluIGFub3RoZXIgZnVuY3Rpb24uXCIsSVE9XCJgYXdhaXRgIGlzIGFuIGludmFsaWQgaWRlbnRpZmllciBpbiBhc3luYyBmdW5jdGlvbnNcIixOUT1cImBhd2FpdGAgaXMgbm90IGFsbG93ZWQgaW4gYXN5bmMgZnVuY3Rpb24gcGFyYW1ldGVycy5cIixqUT1cIkNvbXB1dGVkIHByb3BlcnRpZXMgbXVzdCBoYXZlIGEgdmFsdWUuXCIsQ1E9XCJDb25zdHJ1Y3RvciBjYW4ndCBiZSBhbiBhY2Nlc3Nvci5cIixPUT1cIkNvbnN0cnVjdG9yIGNhbid0IGJlIGFuIGFzeW5jIGZ1bmN0aW9uLlwiLERRPVwiQ29uc3RydWN0b3IgY2FuJ3QgYmUgYSBnZW5lcmF0b3IuXCIsRlE9XCJJdCBpcyBzdWZmaWNpZW50IGZvciB5b3VyIGRlY2xhcmUgZnVuY3Rpb24gdG8ganVzdCBoYXZlIGEgUHJvbWlzZSByZXR1cm4gdHlwZS5cIixSUT1cImFzeW5jIGlzIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbCBhbmQgaXNuJ3QgbmVjZXNzYXJ5IGZvciB5b3VyIGRlY2xhcmUgZnVuY3Rpb24gc3RhdGVtZW50LiBcIixMUT1cImBkZWNsYXJlYCBtb2RpZmllciBjYW4gb25seSBhcHBlYXIgb24gY2xhc3MgZmllbGRzLlwiLE1RPVwiVW5leHBlY3RlZCB0b2tlbiBgPWAuIEluaXRpYWxpemVycyBhcmUgbm90IGFsbG93ZWQgaW4gYSBgZGVjbGFyZWAuXCIscVE9XCJVbmV4cGVjdGVkIHRva2VuIGA9YC4gSW5pdGlhbGl6ZXJzIGFyZSBub3QgYWxsb3dlZCBpbiBhIGBkZWNsYXJlIG9wYXF1ZSB0eXBlYC5cIixVUT1cIkNsYXNzZXMgbWF5IG9ubHkgaGF2ZSBvbmUgY29uc3RydWN0b3JcIixCUT1cIlJlc3QgZWxlbWVudCBtdXN0IGJlIGZpbmFsIGVsZW1lbnQgb2YgYW4gYXJyYXkgcGF0dGVyblwiLFhRPVwiQ2Fubm90IGV4cG9ydCBhbiBlbnVtIHdpdGggYGV4cG9ydCB0eXBlYCwgdHJ5IGBleHBvcnQgZW51bSBFIHt9YCBvciBgbW9kdWxlLmV4cG9ydHMgPSBFO2AgaW5zdGVhZC5cIixZUT1cIkVudW0gbWVtYmVycyBhcmUgc2VwYXJhdGVkIHdpdGggYCxgLiBSZXBsYWNlIGA7YCB3aXRoIGAsYC5cIix6UT1cImBjb25zdGAgZW51bXMgYXJlIG5vdCBzdXBwb3J0ZWQuIEZsb3cgRW51bXMgYXJlIGRlc2lnbmVkIHRvIGFsbG93IGZvciBpbmxpbmluZywgaG93ZXZlciB0aGUgaW5saW5pbmcgaXRzZWxmIG5lZWRzIHRvIGJlIHBhcnQgb2YgdGhlIGJ1aWxkIHN5c3RlbSAod2hhdGV2ZXIgeW91IHVzZSkgcmF0aGVyIHRoYW4gRmxvdyBpdHNlbGYuXCIsS1E9XCJFeHBlY3RlZCBhbiBvYmplY3QgcGF0dGVybiwgYXJyYXkgcGF0dGVybiwgb3IgYW4gaWRlbnRpZmllciBidXQgZm91bmQgYW4gZXhwcmVzc2lvbiBpbnN0ZWFkXCIsSlE9XCJNaXNzaW5nIGNvbW1hIGJldHdlZW4gZXhwb3J0IHNwZWNpZmllcnNcIixHUT1cIkdlbmVyYXRvcnMgY2FuIG9ubHkgYmUgZGVjbGFyZWQgYXQgdG9wIGxldmVsIG9yIGltbWVkaWF0ZWx5IHdpdGhpbiBhbm90aGVyIGZ1bmN0aW9uLlwiLFdRPVwiR2V0dGVyIHNob3VsZCBoYXZlIHplcm8gcGFyYW1ldGVyc1wiLFZRPVwiQSBnZXR0ZXIgY2Fubm90IGhhdmUgYSBgdGhpc2AgcGFyYW1ldGVyLlwiLCRRPVwiSWxsZWdhbCBicmVhayBzdGF0ZW1lbnRcIixRUT1cIklsbGVnYWwgY29udGludWUgc3RhdGVtZW50XCIsSFE9XCJJbGxlZ2FsIHJldHVybiBzdGF0ZW1lbnRcIixaUT1cIklsbGVnYWwgVW5pY29kZSBlc2NhcGVcIix4SD1cIk1pc3NpbmcgY29tbWEgYmV0d2VlbiBpbXBvcnQgc3BlY2lmaWVyc1wiLHJIPVwiSXQgY2Fubm90IGJlIHVzZWQgd2l0aCBgaW1wb3J0IHR5cGVgIG9yIGBpbXBvcnQgdHlwZW9mYCBzdGF0ZW1lbnRzXCIsZUg9XCJUaGUgYHR5cGVgIGFuZCBgdHlwZW9mYCBrZXl3b3JkcyBvbiBuYW1lZCBpbXBvcnRzIGNhbiBvbmx5IGJlIHVzZWQgb24gcmVndWxhciBgaW1wb3J0YCBzdGF0ZW1lbnRzLiBcIix0SD1cIkV4cGxpY2l0IGluZXhhY3Qgc3ludGF4IGNhbm5vdCBhcHBlYXIgaW5zaWRlIGFuIGV4cGxpY2l0IGV4YWN0IG9iamVjdCB0eXBlXCIsbkg9XCJFeHBsaWNpdCBpbmV4YWN0IHN5bnRheCBjYW4gb25seSBhcHBlYXIgaW5zaWRlIGFuIG9iamVjdCB0eXBlXCIsdUg9XCJDb21wb25lbnQgcGFyYW1zIG11c3QgYmUgYW4gaWRlbnRpZmllci4gSWYgeW91J2QgbGlrZSB0byBkZXN0cnVjdHVyZSwgeW91IHNob3VsZCB1c2UgYG5hbWUgYXMge2Rlc3RydWN0dXJlfWBcIixpSD1cIkEgYmlnaW50IGxpdGVyYWwgbXVzdCBiZSBhbiBpbnRlZ2VyXCIsZkg9XCJKU1ggdmFsdWUgc2hvdWxkIGJlIGVpdGhlciBhbiBleHByZXNzaW9uIG9yIGEgcXVvdGVkIEpTWCB0ZXh0XCIsY0g9XCJJbnZhbGlkIGxlZnQtaGFuZCBzaWRlIGluIGFzc2lnbm1lbnRcIixzSD1cIkludmFsaWQgbGVmdC1oYW5kIHNpZGUgaW4gZXhwb25lbnRpYXRpb24gZXhwcmVzc2lvblwiLGFIPVwiSW52YWxpZCBsZWZ0LWhhbmQgc2lkZSBpbiBmb3ItaW5cIixvSD1cIkludmFsaWQgbGVmdC1oYW5kIHNpZGUgaW4gZm9yLW9mXCIsdkg9XCJJbnZhbGlkIG9wdGlvbmFsIGluZGV4ZWQgYWNjZXNzLiBJbmRleGVkIGFjY2VzcyB1c2VzIGJyYWNrZXQgbm90YXRpb24uIFVzZSB0aGUgZm9ybWF0IGBUPy5bS11gLlwiLGxIPVwiSW52YWxpZCByZWd1bGFyIGV4cHJlc3Npb25cIixwSD1cIkEgYmlnaW50IGxpdGVyYWwgY2Fubm90IHVzZSBleHBvbmVudGlhbCBub3RhdGlvblwiLGtIPVwiVHVwbGUgc3ByZWFkIGVsZW1lbnRzIGNhbm5vdCBiZSBvcHRpb25hbC5cIixtSD1cIlR1cGxlIHZhcmlhbmNlIGFubm90YXRpb25zIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBsYWJlbGVkIHR1cGxlIGVsZW1lbnRzLCBlLmcuIGBbK2ZvbzogbnVtYmVyXWBcIixoSD1cImB0eXBlb2ZgIGNhbiBvbmx5IGJlIHVzZWQgdG8gZ2V0IHRoZSB0eXBlIG9mIHZhcmlhYmxlcy5cIixkSD1cIkpTWCBhdHRyaWJ1dGVzIG11c3Qgb25seSBiZSBhc3NpZ25lZCBhIG5vbi1lbXB0eSBleHByZXNzaW9uXCIseUg9XCJMaXRlcmFscyBjYW5ub3QgYmUgdXNlZCBhcyBzaG9ydGhhbmQgcHJvcGVydGllcy5cIixnSD1cIk1hbGZvcm1lZCB1bmljb2RlXCIsd0g9XCJgbWF0Y2hgIG9ubHkgc3VwcG9ydHMgb25lIGFyZ3VtZW50XCIsX0g9XCJPYmplY3QgcGF0dGVybiBjYW4ndCBjb250YWluIG1ldGhvZHNcIixiSD1cIkV4cGVjdGVkIGF0IGxlYXN0IG9uZSB0eXBlIHBhcmFtZXRlci5cIixUSD1cIlR5cGUgcGFyYW1ldGVyIGRlY2xhcmF0aW9uIG5lZWRzIGEgZGVmYXVsdCwgc2luY2UgYSBwcmVjZWRpbmcgdHlwZSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24gaGFzIGEgZGVmYXVsdC5cIixFSD1cIk1vcmUgdGhhbiBvbmUgZGVmYXVsdCBjbGF1c2UgaW4gc3dpdGNoIHN0YXRlbWVudFwiLFNIPVwiSWxsZWdhbCBuZXdsaW5lIGFmdGVyIHRocm93XCIsQUg9XCJJbGxlZ2FsIG5ld2xpbmUgYmVmb3JlIGFycm93XCIsUEg9XCJNaXNzaW5nIGNhdGNoIG9yIGZpbmFsbHkgYWZ0ZXIgdHJ5XCIsSUg9XCJDb25zdCBtdXN0IGJlIGluaXRpYWxpemVkXCIsTkg9XCJEZXN0cnVjdHVyaW5nIGFzc2lnbm1lbnQgbXVzdCBiZSBpbml0aWFsaXplZFwiLGpIPVwiQW4gb3B0aW9uYWwgY2hhaW4gbWF5IG5vdCBiZSB1c2VkIGluIGEgYG5ld2AgZXhwcmVzc2lvbi5cIixDSD1cIlRlbXBsYXRlIGxpdGVyYWxzIG1heSBub3QgYmUgdXNlZCBpbiBhbiBvcHRpb25hbCBjaGFpbi5cIixPSD1cIlJlc3QgcGFyYW1ldGVyIG11c3QgYmUgZmluYWwgcGFyYW1ldGVyIG9mIGFuIGFyZ3VtZW50IGxpc3RcIixESD1cIlByaXZhdGUgZmllbGRzIG1heSBub3QgYmUgZGVsZXRlZC5cIixGSD1cIlByaXZhdGUgZmllbGRzIGNhbiBvbmx5IGJlIHJlZmVyZW5jZWQgZnJvbSB3aXRoaW4gYSBjbGFzcy5cIixSSD1cIlJlc3QgcHJvcGVydHkgbXVzdCBiZSBmaW5hbCBwcm9wZXJ0eSBvZiBhbiBvYmplY3QgcGF0dGVyblwiLExIPVwiU2V0dGVyIHNob3VsZCBoYXZlIGV4YWN0bHkgb25lIHBhcmFtZXRlclwiLE1IPVwiQSBzZXR0ZXIgY2Fubm90IGhhdmUgYSBgdGhpc2AgcGFyYW1ldGVyLlwiLHFIPVwiQ2F0Y2ggdmFyaWFibGUgbWF5IG5vdCBiZSBldmFsIG9yIGFyZ3VtZW50cyBpbiBzdHJpY3QgbW9kZVwiLFVIPVwiRGVsZXRlIG9mIGFuIHVucXVhbGlmaWVkIGlkZW50aWZpZXIgaW4gc3RyaWN0IG1vZGUuXCIsQkg9XCJEdXBsaWNhdGUgZGF0YSBwcm9wZXJ0eSBpbiBvYmplY3QgbGl0ZXJhbCBub3QgYWxsb3dlZCBpbiBzdHJpY3QgbW9kZVwiLFhIPVwiRnVuY3Rpb24gbmFtZSBtYXkgbm90IGJlIGV2YWwgb3IgYXJndW1lbnRzIGluIHN0cmljdCBtb2RlXCIsWUg9XCJBc3NpZ25tZW50IHRvIGV2YWwgb3IgYXJndW1lbnRzIGlzIG5vdCBhbGxvd2VkIGluIHN0cmljdCBtb2RlXCIsekg9XCJQb3N0Zml4IGluY3JlbWVudC9kZWNyZW1lbnQgbWF5IG5vdCBoYXZlIGV2YWwgb3IgYXJndW1lbnRzIG9wZXJhbmQgaW4gc3RyaWN0IG1vZGVcIixLSD1cIlByZWZpeCBpbmNyZW1lbnQvZGVjcmVtZW50IG1heSBub3QgaGF2ZSBldmFsIG9yIGFyZ3VtZW50cyBvcGVyYW5kIGluIHN0cmljdCBtb2RlXCIsSkg9XCJTdHJpY3QgbW9kZSBjb2RlIG1heSBub3QgaW5jbHVkZSBhIHdpdGggc3RhdGVtZW50XCIsR0g9XCJOdW1iZXIgbGl0ZXJhbHMgd2l0aCBsZWFkaW5nIHplcm9zIGFyZSBub3QgYWxsb3dlZCBpbiBzdHJpY3QgbW9kZS5cIixXSD1cIk9jdGFsIGxpdGVyYWxzIGFyZSBub3QgYWxsb3dlZCBpbiBzdHJpY3QgbW9kZS5cIixWSD1cIlN0cmljdCBtb2RlIGZ1bmN0aW9uIG1heSBub3QgaGF2ZSBkdXBsaWNhdGUgcGFyYW1ldGVyIG5hbWVzXCIsJEg9XCJQYXJhbWV0ZXIgbmFtZSBldmFsIG9yIGFyZ3VtZW50cyBpcyBub3QgYWxsb3dlZCBpbiBzdHJpY3QgbW9kZVwiLFFIPSdJbGxlZ2FsIFwidXNlIHN0cmljdFwiIGRpcmVjdGl2ZSBpbiBmdW5jdGlvbiB3aXRoIG5vbi1zaW1wbGUgcGFyYW1ldGVyIGxpc3QnLEhIPVwiVXNlIG9mIHJlc2VydmVkIHdvcmQgaW4gc3RyaWN0IG1vZGVcIixaSD1cIlZhcmlhYmxlIG5hbWUgbWF5IG5vdCBiZSBldmFsIG9yIGFyZ3VtZW50cyBpbiBzdHJpY3QgbW9kZVwiLHhaPVwiWW91IG1heSBub3QgYWNjZXNzIGEgcHJpdmF0ZSBmaWVsZCB0aHJvdWdoIHRoZSBgc3VwZXJgIGtleXdvcmQuXCIsclo9XCJGbG93IGRvZXMgbm90IHN1cHBvcnQgYWJzdHJhY3QgY2xhc3Nlcy5cIixlWj1cIkZsb3cgZG9lcyBub3Qgc3VwcG9ydCB0ZW1wbGF0ZSBsaXRlcmFsIHR5cGVzLlwiLHRaPVwiQSB0eXBlIGFubm90YXRpb24gaXMgcmVxdWlyZWQgZm9yIHRoZSBgdGhpc2AgcGFyYW1ldGVyLlwiLG5aPVwiQXJyb3cgZnVuY3Rpb25zIGNhbm5vdCBoYXZlIGEgYHRoaXNgIHBhcmFtZXRlcjsgYXJyb3cgZnVuY3Rpb25zIGF1dG9tYXRpY2FsbHkgYmluZCBgdGhpc2Agd2hlbiBkZWNsYXJlZC5cIix1Wj1cIkNvbnN0cnVjdG9ycyBjYW5ub3QgaGF2ZSBhIGB0aGlzYCBwYXJhbWV0ZXI7IGNvbnN0cnVjdG9ycyBkb24ndCBiaW5kIGB0aGlzYCBsaWtlIG90aGVyIGZ1bmN0aW9ucy5cIixpWj1cIlRoZSBgdGhpc2AgcGFyYW1ldGVyIGNhbm5vdCBiZSBvcHRpb25hbC5cIixmWj1cIlRoZSBgdGhpc2AgcGFyYW1ldGVyIG11c3QgYmUgdGhlIGZpcnN0IGZ1bmN0aW9uIHBhcmFtZXRlci5cIixjWj1cIkEgdHJhaWxpbmcgY29tbWEgaXMgbm90IHBlcm1pdHRlZCBhZnRlciB0aGUgcmVzdCBlbGVtZW50XCIsc1o9XCJVbmV4cGVjdGVkIGVuZCBvZiBpbnB1dFwiLGFaPVwiRXhwbGljaXQgaW5leGFjdCBzeW50YXggbXVzdCBjb21lIGF0IHRoZSBlbmQgb2YgYW4gb2JqZWN0IHR5cGVcIixvWj1cIk9wYXF1ZSB0eXBlIGFsaWFzZXMgYXJlIG5vdCBhbGxvd2VkIGluIHVudHlwZWQgbW9kZVwiLHZaPVwiVW5leHBlY3RlZCBwcm90byBtb2RpZmllclwiLGxaPVwiVW5leHBlY3RlZCByZXNlcnZlZCB3b3JkXCIscFo9XCJVbmV4cGVjdGVkIHJlc2VydmVkIHR5cGVcIixrWj1cIlNwcmVhZGluZyBhIHR5cGUgaXMgb25seSBhbGxvd2VkIGluc2lkZSBhbiBvYmplY3QgdHlwZVwiLG1aPVwiVW5leHBlY3RlZCBzdGF0aWMgbW9kaWZpZXJcIixoWj1cIlVuZXhwZWN0ZWQgYHN1cGVyYCBvdXRzaWRlIG9mIGEgY2xhc3MgbWV0aG9kXCIsZFo9XCJgc3VwZXIoKWAgaXMgb25seSB2YWxpZCBpbiBhIGNsYXNzIGNvbnN0cnVjdG9yXCIseVo9XCJUeXBlIGFsaWFzZXMgYXJlIG5vdCBhbGxvd2VkIGluIHVudHlwZWQgbW9kZVwiLGdaPVwiVHlwZSBhbm5vdGF0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gdW50eXBlZCBtb2RlXCIsd1o9XCJUeXBlIGRlY2xhcmF0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gdW50eXBlZCBtb2RlXCIsX1o9XCJUeXBlIGV4cG9ydHMgYXJlIG5vdCBhbGxvd2VkIGluIHVudHlwZWQgbW9kZVwiLGJaPVwiVHlwZSBpbXBvcnRzIGFyZSBub3QgYWxsb3dlZCBpbiB1bnR5cGVkIG1vZGVcIixUWj1cIkludGVyZmFjZXMgYXJlIG5vdCBhbGxvd2VkIGluIHVudHlwZWQgbW9kZVwiLEVaPVwiVW5leHBlY3RlZCB2YXJpYW5jZSBzaWdpbFwiLFNaPVwiRm91bmQgYSBkZWNvcmF0b3IgaW4gYW4gdW5zdXBwb3J0ZWQgcG9zaXRpb24uXCIsQVo9XCJJbnZhbGlkIHJlZ3VsYXIgZXhwcmVzc2lvbjogbWlzc2luZyAvXCIsUFo9XCJVbmV4cGVjdGVkIHdoaXRlc3BhY2UgYmV0d2VlbiBgI2AgYW5kIGlkZW50aWZpZXJcIixJWj1cImB5aWVsZGAgaXMgYW4gaW52YWxpZCBpZGVudGlmaWVyIGluIGdlbmVyYXRvcnNcIixOWj1cIllpZWxkIGV4cHJlc3Npb24gbm90IGFsbG93ZWQgaW4gZm9ybWFsIHBhcmFtZXRlclwiLGpaPVswLFsxMSxcIkR1cGxpY2F0ZSBleHBvcnQgZm9yIGBcIixbMiwwLFsxMiw5NiwwXV1dLFwiRHVwbGljYXRlIGV4cG9ydCBmb3IgYCVzYFwiXSxDWj1bMCxbMTEsXCJQcml2YXRlIGZpZWxkcyBtYXkgb25seSBiZSBkZWNsYXJlZCBvbmNlLiBgI1wiLFsyLDAsWzExLFwiYCBpcyBkZWNsYXJlZCBtb3JlIHRoYW4gb25jZS5cIiwwXV1dLFwiUHJpdmF0ZSBmaWVsZHMgbWF5IG9ubHkgYmUgZGVjbGFyZWQgb25jZS4gYCMlc2AgaXMgZGVjbGFyZWQgbW9yZSB0aGFuIG9uY2UuXCJdLE9aPVswLFsxMSxcImJpZ2ludCBlbnVtIG1lbWJlcnMgbmVlZCB0byBiZSBpbml0aWFsaXplZCwgZS5nLiBgXCIsWzIsMCxbMTEsXCIgPSAxbixgIGluIGVudW0gYFwiLFsyLDAsWzExLEhzLDBdXV1dXSxcImJpZ2ludCBlbnVtIG1lbWJlcnMgbmVlZCB0byBiZSBpbml0aWFsaXplZCwgZS5nLiBgJXMgPSAxbixgIGluIGVudW0gYCVzYC5cIl0sRFo9WzAsWzExLFwiQm9vbGVhbiBlbnVtIG1lbWJlcnMgbmVlZCB0byBiZSBpbml0aWFsaXplZC4gVXNlIGVpdGhlciBgXCIsWzIsMCxbMTEsXCIgPSB0cnVlLGAgb3IgYFwiLFsyLDAsWzExLFwiID0gZmFsc2UsYCBpbiBlbnVtIGBcIixbMiwwLFsxMSxIcywwXV1dXV1dXSxcIkJvb2xlYW4gZW51bSBtZW1iZXJzIG5lZWQgdG8gYmUgaW5pdGlhbGl6ZWQuIFVzZSBlaXRoZXIgYCVzID0gdHJ1ZSxgIG9yIGAlcyA9IGZhbHNlLGAgaW4gZW51bSBgJXNgLlwiXSxGWj1bMCxbMTEsXCJFbnVtIG1lbWJlciBuYW1lcyBuZWVkIHRvIGJlIHVuaXF1ZSwgYnV0IHRoZSBuYW1lIGBcIixbMiwwLFsxMSxcImAgaGFzIGFscmVhZHkgYmVlbiB1c2VkIGJlZm9yZSBpbiBlbnVtIGBcIixbMiwwLFsxMSxIcywwXV1dXV0sXCJFbnVtIG1lbWJlciBuYW1lcyBuZWVkIHRvIGJlIHVuaXF1ZSwgYnV0IHRoZSBuYW1lIGAlc2AgaGFzIGFscmVhZHkgYmVlbiB1c2VkIGJlZm9yZSBpbiBlbnVtIGAlc2AuXCJdLFJaPVswLFsxMSxaRCxbMiwwLFsxMSxcImAgaGFzIGluY29uc2lzdGVudCBtZW1iZXIgaW5pdGlhbGl6ZXJzLiBFaXRoZXIgdXNlIG5vIGluaXRpYWxpemVycywgb3IgY29uc2lzdGVudGx5IHVzZSBsaXRlcmFscyAoZWl0aGVyIGJvb2xlYW5zLCBudW1iZXJzLCBvciBzdHJpbmdzKSBmb3IgYWxsIG1lbWJlciBpbml0aWFsaXplcnMuXCIsMF1dXSxcIkVudW0gYCVzYCBoYXMgaW5jb25zaXN0ZW50IG1lbWJlciBpbml0aWFsaXplcnMuIEVpdGhlciB1c2Ugbm8gaW5pdGlhbGl6ZXJzLCBvciBjb25zaXN0ZW50bHkgdXNlIGxpdGVyYWxzIChlaXRoZXIgYm9vbGVhbnMsIG51bWJlcnMsIG9yIHN0cmluZ3MpIGZvciBhbGwgbWVtYmVyIGluaXRpYWxpemVycy5cIl0sTFo9XCJUaGUgYC4uLmAgbXVzdCBjb21lIGF0IHRoZSBlbmQgb2YgdGhlIGVudW0gYm9keS4gUmVtb3ZlIHRoZSB0cmFpbGluZyBjb21tYS5cIixNWj1cIlRoZSBgLi4uYCBtdXN0IGNvbWUgYWZ0ZXIgYWxsIGVudW0gbWVtYmVycy4gTW92ZSBpdCB0byB0aGUgZW5kIG9mIHRoZSBlbnVtIGJvZHkuXCIscVo9WzAsWzExLFwiVXNlIG9uZSBvZiBgYm9vbGVhbmAsIGBudW1iZXJgLCBgc3RyaW5nYCwgYHN5bWJvbGAsIG9yIGBiaWdpbnRgIGluIGVudW0gYFwiLFsyLDAsWzExLEhzLDBdXV0sXCJVc2Ugb25lIG9mIGBib29sZWFuYCwgYG51bWJlcmAsIGBzdHJpbmdgLCBgc3ltYm9sYCwgb3IgYGJpZ2ludGAgaW4gZW51bSBgJXNgLlwiXSxVWj1bMCxbMTEsXCJFbnVtIHR5cGUgYFwiLFsyLDAsWzExLFwiYCBpcyBub3QgdmFsaWQuIFwiLFsyLDAsMF1dXV0sXCJFbnVtIHR5cGUgYCVzYCBpcyBub3QgdmFsaWQuICVzXCJdLEJaPVswLFsxMSxcIlN1cHBsaWVkIGVudW0gdHlwZSBpcyBub3QgdmFsaWQuIFwiLFsyLDAsMF1dLFwiU3VwcGxpZWQgZW51bSB0eXBlIGlzIG5vdCB2YWxpZC4gJXNcIl0sWFo9WzAsWzExLFwiRW51bSBtZW1iZXIgbmFtZXMgYW5kIGluaXRpYWxpemVycyBhcmUgc2VwYXJhdGVkIHdpdGggYD1gLiBSZXBsYWNlIGBcIixbMiwwLFsxMSxcIjpgIHdpdGggYFwiLFsyLDAsWzExLFwiID1gLlwiLDBdXV1dXSxcIkVudW0gbWVtYmVyIG5hbWVzIGFuZCBpbml0aWFsaXplcnMgYXJlIHNlcGFyYXRlZCB3aXRoIGA9YC4gUmVwbGFjZSBgJXM6YCB3aXRoIGAlcyA9YC5cIl0sWVo9WzAsWzExLFpELFsyLDAsWzExLFwiYCBoYXMgdHlwZSBgXCIsWzIsMCxbMTEsXCJgLCBzbyB0aGUgaW5pdGlhbGl6ZXIgb2YgYFwiLFsyLDAsWzExLFwiYCBuZWVkcyB0byBiZSBhIFwiLFsyLDAsWzExLFwiIGxpdGVyYWwuXCIsMF1dXV1dXV1dXSxcIkVudW0gYCVzYCBoYXMgdHlwZSBgJXNgLCBzbyB0aGUgaW5pdGlhbGl6ZXIgb2YgYCVzYCBuZWVkcyB0byBiZSBhICVzIGxpdGVyYWwuXCJdLHpaPVswLFsxMSxcIlN5bWJvbCBlbnVtIG1lbWJlcnMgY2Fubm90IGJlIGluaXRpYWxpemVkLiBVc2UgYFwiLFsyLDAsWzExLFwiLGAgaW4gZW51bSBgXCIsWzIsMCxbMTEsSHMsMF1dXV1dLFwiU3ltYm9sIGVudW0gbWVtYmVycyBjYW5ub3QgYmUgaW5pdGlhbGl6ZWQuIFVzZSBgJXMsYCBpbiBlbnVtIGAlc2AuXCJdLEtaPVswLFsxMSxcIlRoZSBlbnVtIG1lbWJlciBpbml0aWFsaXplciBmb3IgYFwiLFsyLDAsWzExLFwiYCBuZWVkcyB0byBiZSBhIGxpdGVyYWwgKGVpdGhlciBhIGJvb2xlYW4sIG51bWJlciwgb3Igc3RyaW5nKSBpbiBlbnVtIGBcIixbMiwwLFsxMSxIcywwXV1dXV0sXCJUaGUgZW51bSBtZW1iZXIgaW5pdGlhbGl6ZXIgZm9yIGAlc2AgbmVlZHMgdG8gYmUgYSBsaXRlcmFsIChlaXRoZXIgYSBib29sZWFuLCBudW1iZXIsIG9yIHN0cmluZykgaW4gZW51bSBgJXNgLlwiXSxKWj1bMCxbMTEsXCJFbnVtIG1lbWJlciBuYW1lcyBjYW5ub3Qgc3RhcnQgd2l0aCBsb3dlcmNhc2UgJ2EnIHRocm91Z2ggJ3onLiBJbnN0ZWFkIG9mIHVzaW5nIGBcIixbMiwwLFsxMSxcImAsIGNvbnNpZGVyIHVzaW5nIGBcIixbMiwwLFsxMSxcImAsIGluIGVudW0gYFwiLFsyLDAsWzExLEhzLDBdXV1dXV1dLFwiRW51bSBtZW1iZXIgbmFtZXMgY2Fubm90IHN0YXJ0IHdpdGggbG93ZXJjYXNlICdhJyB0aHJvdWdoICd6Jy4gSW5zdGVhZCBvZiB1c2luZyBgJXNgLCBjb25zaWRlciB1c2luZyBgJXNgLCBpbiBlbnVtIGAlc2AuXCJdLEdaPVswLFsxMSxcIk51bWJlciBlbnVtIG1lbWJlcnMgbmVlZCB0byBiZSBpbml0aWFsaXplZCwgZS5nLiBgXCIsWzIsMCxbMTEsXCIgPSAxLGAgaW4gZW51bSBgXCIsWzIsMCxbMTEsSHMsMF1dXV1dLFwiTnVtYmVyIGVudW0gbWVtYmVycyBuZWVkIHRvIGJlIGluaXRpYWxpemVkLCBlLmcuIGAlcyA9IDEsYCBpbiBlbnVtIGAlc2AuXCJdLFdaPVswLFsxMSxcIlN0cmluZyBlbnVtIG1lbWJlcnMgbmVlZCB0byBjb25zaXN0ZW50bHkgZWl0aGVyIGFsbCB1c2UgaW5pdGlhbGl6ZXJzLCBvciB1c2Ugbm8gaW5pdGlhbGl6ZXJzLCBpbiBlbnVtIFwiLFsyLDAsWzEyLDQ2LDBdXV0sXCJTdHJpbmcgZW51bSBtZW1iZXJzIG5lZWQgdG8gY29uc2lzdGVudGx5IGVpdGhlciBhbGwgdXNlIGluaXRpYWxpemVycywgb3IgdXNlIG5vIGluaXRpYWxpemVycywgaW4gZW51bSAlcy5cIl0sVlo9WzAsWzExLFwiRXhwZWN0ZWQgY29ycmVzcG9uZGluZyBKU1ggY2xvc2luZyB0YWcgZm9yIFwiLFsyLDAsMF1dLFwiRXhwZWN0ZWQgY29ycmVzcG9uZGluZyBKU1ggY2xvc2luZyB0YWcgZm9yICVzXCJdLCRaPVwiaW1tZWRpYXRlbHkgd2l0aGluIGFub3RoZXIgZnVuY3Rpb24uXCIsUVo9XCJJbiBzdHJpY3QgbW9kZSBjb2RlLCBmdW5jdGlvbnMgY2FuIG9ubHkgYmUgZGVjbGFyZWQgYXQgdG9wIGxldmVsIG9yIFwiLEhaPVwiaW5zaWRlIGEgYmxvY2ssIG9yIGFzIHRoZSBib2R5IG9mIGFuIGlmIHN0YXRlbWVudC5cIixaWj1cIkluIG5vbi1zdHJpY3QgbW9kZSBjb2RlLCBmdW5jdGlvbnMgY2FuIG9ubHkgYmUgZGVjbGFyZWQgYXQgdG9wIGxldmVsLCBcIix4MDA9XCJzdGF0aWMgXCIscjAwPVowLGUwMD1cIm1ldGhvZHNcIix0MDA9XCJmaWVsZHNcIixuMDA9T1IsdTAwPVswLFsxMSxcIkNsYXNzZXMgbWF5IG5vdCBoYXZlIFwiLFsyLDAsWzIsMCxbMTEsXCIgbmFtZWQgYFwiLFsyLDAsWzExLEhzLDBdXV1dXV0sXCJDbGFzc2VzIG1heSBub3QgaGF2ZSAlcyVzIG5hbWVkIGAlc2AuXCJdLGkwMD1cIkNvbXBvbmVudHMgdXNlIGByZW5kZXJzYCBpbnN0ZWFkIG9mIGA6YCB0byBhbm5vdGF0ZSB0aGUgcmVuZGVyIHR5cGUgb2YgYSBjb21wb25lbnQuXCIsZjAwPW5SLGMwMD1aMCxzMDA9WzAsWzExLFwiU3RyaW5nIHBhcmFtcyByZXF1aXJlIGxvY2FsIGJpbmRpbmdzIHVzaW5nIGBhc2AgcmVuYW1pbmcuIFlvdSBjYW4gdXNlIGAnXCIsWzIsMCxbMTEsXCInIGFzIFwiLFsyLDAsWzIsMCxbMTEsXCI6IDxUWVBFPmAgXCIsMF1dXV1dXSxcIlN0cmluZyBwYXJhbXMgcmVxdWlyZSBsb2NhbCBiaW5kaW5ncyB1c2luZyBgYXNgIHJlbmFtaW5nLiBZb3UgY2FuIHVzZSBgJyVzJyBhcyAlcyVzOiA8VFlQRT5gIFwiXSxhMDA9XCJSZW1vdmUgdGhlIHBlcmlvZC5cIixvMDA9XCJJbmRleGVkIGFjY2VzcyB1c2VzIGJyYWNrZXQgbm90YXRpb24uXCIsdjAwPVswLFsxMSxcIkludmFsaWQgaW5kZXhlZCBhY2Nlc3MuIFwiLFsyLDAsWzExLFwiIFVzZSB0aGUgZm9ybWF0IGBUW0tdYC5cIiwwXV1dLFwiSW52YWxpZCBpbmRleGVkIGFjY2Vzcy4gJXMgVXNlIHRoZSBmb3JtYXQgYFRbS11gLlwiXSxsMDA9WzAsWzExLFwiSW52YWxpZCBmbGFncyBzdXBwbGllZCB0byBSZWdFeHAgY29uc3RydWN0b3IgJ1wiLFsyLDAsWzEyLDM5LDBdXV0sXCJJbnZhbGlkIGZsYWdzIHN1cHBsaWVkIHRvIFJlZ0V4cCBjb25zdHJ1Y3RvciAnJXMnXCJdLHAwMD14bixrMDA9RzQsbTAwPVswLFsxMSxcIkluIG1hdGNoIFwiLFsyLDAsWzExLFwiIHBhdHRlcm4sIHRoZSByZXN0IG11c3QgYmUgdGhlIGxhc3QgZWxlbWVudCBpbiB0aGUgcGF0dGVyblwiLDBdXV0sXCJJbiBtYXRjaCAlcyBwYXR0ZXJuLCB0aGUgcmVzdCBtdXN0IGJlIHRoZSBsYXN0IGVsZW1lbnQgaW4gdGhlIHBhdHRlcm5cIl0saDAwPVswLFsxMSxcIkpTWCBlbGVtZW50IFwiLFsyLDAsWzExLFwiIGhhcyBubyBjb3JyZXNwb25kaW5nIGNsb3NpbmcgdGFnLlwiLDBdXV0sXCJKU1ggZWxlbWVudCAlcyBoYXMgbm8gY29ycmVzcG9uZGluZyBjbG9zaW5nIHRhZy5cIl0sZDAwPVswLFsxMSxyUixbMiwwLFsxMSxcImAuIFBhcmVudGhlc2VzIGFyZSByZXF1aXJlZCB0byBjb21iaW5lIGA/P2Agd2l0aCBgJiZgIG9yIGB8fGAgZXhwcmVzc2lvbnMuXCIsMF1dXSxcIlVuZXhwZWN0ZWQgdG9rZW4gYCVzYC4gUGFyZW50aGVzZXMgYXJlIHJlcXVpcmVkIHRvIGNvbWJpbmUgYD8/YCB3aXRoIGAmJmAgb3IgYHx8YCBleHByZXNzaW9ucy5cIl0seTAwPVswLFsyLDAsWzExLFwiICdcIixbMiwwLFsxMSxcIicgaGFzIGFscmVhZHkgYmVlbiBkZWNsYXJlZFwiLDBdXV1dLFwiJXMgJyVzJyBoYXMgYWxyZWFkeSBiZWVuIGRlY2xhcmVkXCJdLGcwMD1aMCx3MDA9UmwsXzAwPVwiIFlvdSBjYW4gdHJ5IHVzaW5nIEphdmFTY3JpcHQgcHJpdmF0ZSBmaWVsZHMgYnkgcHJlcGVuZGluZyBgI2AgdG8gdGhlIGZpZWxkIG5hbWUuXCIsYjAwPWg2LFQwMD1cIiBGaWVsZHMgYW5kIG1ldGhvZHMgYXJlIHB1YmxpYyBieSBkZWZhdWx0LiBZb3UgY2FuIHNpbXBseSBvbWl0IHRoZSBgcHVibGljYCBrZXl3b3JkLlwiLEUwMD1sNixTMDA9WzAsWzExLFwiRmxvdyBkb2VzIG5vdCBzdXBwb3J0IHVzaW5nIGBcIixbMiwwLFsxMSxcImAgaW4gY2xhc3Nlcy5cIixbMiwwLDBdXV1dLFwiRmxvdyBkb2VzIG5vdCBzdXBwb3J0IHVzaW5nIGAlc2AgaW4gY2xhc3Nlcy4lc1wiXSxBMDA9WzAsWzExLFwiUHJpdmF0ZSBmaWVsZHMgbXVzdCBiZSBkZWNsYXJlZCBiZWZvcmUgdGhleSBjYW4gYmUgcmVmZXJlbmNlZC4gYCNcIixbMiwwLFsxMSxcImAgaGFzIG5vdCBiZWVuIGRlY2xhcmVkLlwiLDBdXV0sXCJQcml2YXRlIGZpZWxkcyBtdXN0IGJlIGRlY2xhcmVkIGJlZm9yZSB0aGV5IGNhbiBiZSByZWZlcmVuY2VkLiBgIyVzYCBoYXMgbm90IGJlZW4gZGVjbGFyZWQuXCJdLFAwMD1bMCxbMTEsSEYsWzIsMCwwXV0sXCJVbmV4cGVjdGVkICVzXCJdLEkwMD1bMCxbMTEsclIsWzIsMCxbMTEsXCJgLiBEaWQgeW91IG1lYW4gYFwiLFsyLDAsWzExLFwiYD9cIiwwXV1dXV0sXCJVbmV4cGVjdGVkIHRva2VuIGAlc2AuIERpZCB5b3UgbWVhbiBgJXNgP1wiXSxOMDA9WzAsWzExLEhGLFsyLDAsWzExLFwiLCBleHBlY3RlZCBcIixbMiwwLDBdXV1dLFwiVW5leHBlY3RlZCAlcywgZXhwZWN0ZWQgJXNcIl0sajAwPVswLFsxMSxcIlVuZGVmaW5lZCBsYWJlbCAnXCIsWzIsMCxbMTIsMzksMF1dXSxcIlVuZGVmaW5lZCBsYWJlbCAnJXMnXCJdLEMwMD1cIlBhcnNlX2Vycm9yLkVycm9yXCIsTzAwPVswLFswLDM2LDM3XSxbMCw0OCw1OF0sWzAsNjUsOTFdLFswLDk1LDk2XSxbMCw5Nyxybl0sWzAsRWQsVXddLFswLEpFLHl5XSxbMCxLOSxwNl0sWzAsbUEsZ3BdLFswLGEzLGdnXSxbMCxwZCxlcF0sWzAsbjIsNzA2XSxbMCxCTyw3MjJdLFswLDczNiw3NDFdLFswLDc0OCw3NDldLFswLDc1MCw3NTFdLFswLDc2OCw4ODVdLFswLDg4Niw4ODhdLFswLDg5MCw4OTRdLFswLDg5NSw4OTZdLFswLDkwMiw5MDddLFswLDkwOCw5MDldLFswLDkxMCw5MzBdLFswLENSLDEwMTRdLFswLDEwMTUsMTE1NF0sWzAsMTE1NSwxMTYwXSxbMCwxMTYyLDEzMjhdLFswLDEzMjksMTM2N10sWzAsMTM2OSwxMzcwXSxbMCwxMzc2LDE0MTddLFswLDE0MjUsMTQ3MF0sWzAsMTQ3MSwxNDcyXSxbMCwxNDczLDE0NzVdLFswLDE0NzYsMTQ3OF0sWzAsMTQ3OSwxNDgwXSxbMCwxNDg4LDE1MTVdLFswLDE1MTksMTUyM10sWzAsMTU1MiwxNTYzXSxbMCwxNTY4LDE2NDJdLFswLDE2NDYsMTc0OF0sWzAsMTc0OSwxNzU3XSxbMCwxNzU5LDE3NjldLFswLDE3NzAsMTc4OV0sWzAsMTc5MSwxNzkyXSxbMCwxODA4LDE4NjddLFswLDE4NjksMTk3MF0sWzAsMTk4NCwyMDM4XSxbMCwyMDQyLDIwNDNdLFswLDIwNDUsMjA0Nl0sWzAsdF8sMjA5NF0sWzAsMjExMiwyMTQwXSxbMCwyMTQ0LDIxNTVdLFswLDIyMDgsMjIyOV0sWzAsMjIzMCwyMjM4XSxbMCwyMjU5LDIyNzRdLFswLDIyNzUsMjQwNF0sWzAsMjQwNiwyNDE2XSxbMCwyNDE3LDI0MzZdLFswLDI0MzcsMjQ0NV0sWzAsMjQ0NywyNDQ5XSxbMCwyNDUxLDI0NzNdLFswLDI0NzQsMjQ4MV0sWzAsMjQ4MiwyNDgzXSxbMCwyNDg2LDI0OTBdLFswLDI0OTIsMjUwMV0sWzAsMjUwMywyNTA1XSxbMCwyNTA3LDI1MTFdLFswLDI1MTksMjUyMF0sWzAsMjUyNCwyNTI2XSxbMCwyNTI3LDI1MzJdLFswLDI1MzQsMjU0Nl0sWzAsMjU1NiwyNTU3XSxbMCwyNTU4LDI1NTldLFswLDI1NjEsMjU2NF0sWzAsMjU2NSwyNTcxXSxbMCwyNTc1LDI1NzddLFswLDI1NzksMjYwMV0sWzAsMjYwMiwyNjA5XSxbMCwyNjEwLDI2MTJdLFswLDI2MTMsMjYxNV0sWzAsMjYxNiwyNjE4XSxbMCwyNjIwLDI2MjFdLFswLDI2MjIsMjYyN10sWzAsMjYzMSwyNjMzXSxbMCwyNjM1LDI2MzhdLFswLDI2NDEsMjY0Ml0sWzAsMjY0OSwyNjUzXSxbMCwyNjU0LDI2NTVdLFswLDI2NjIsMjY3OF0sWzAsMjY4OSwyNjkyXSxbMCwyNjkzLDI3MDJdLFswLDI3MDMsMjcwNl0sWzAsMjcwNywyNzI5XSxbMCwyNzMwLDI3MzddLFswLDI3MzgsMjc0MF0sWzAsMjc0MSwyNzQ2XSxbMCwyNzQ4LDI3NThdLFswLDI3NTksMjc2Ml0sWzAsMjc2MywyNzY2XSxbMCwyNzY4LDI3NjldLFswLDI3ODQsMjc4OF0sWzAsMjc5MCwyODAwXSxbMCwyODA5LDI4MTZdLFswLDI4MTcsMjgyMF0sWzAsMjgyMSwyODI5XSxbMCwyODMxLDI4MzNdLFswLDI4MzUsMjg1N10sWzAsMjg1OCwyODY1XSxbMCwyODY2LDI4NjhdLFswLDI4NjksMjg3NF0sWzAsMjg3NiwyODg1XSxbMCwyODg3LDI4ODldLFswLDI4OTEsMjg5NF0sWzAsMjkwMiwyOTA0XSxbMCwyOTA4LDI5MTBdLFswLDI5MTEsMjkxNl0sWzAsMjkxOCwyOTI4XSxbMCwyOTI5LDI5MzBdLFswLDI5NDYsMjk0OF0sWzAsMjk0OSwyOTU1XSxbMCwyOTU4LDI5NjFdLFswLDI5NjIsMjk2Nl0sWzAsMjk2OSwyOTcxXSxbMCwyOTcyLDI5NzNdLFswLDI5NzQsMjk3Nl0sWzAsMjk3OSwyOTgxXSxbMCwyOTg0LDI5ODddLFswLDI5OTAsMzAwMl0sWzAsMzAwNiwzMDExXSxbMCwzMDE0LDMwMTddLFswLDMwMTgsMzAyMl0sWzAsMzAyNCwzMDI1XSxbMCwzMDMxLDMwMzJdLFswLDMwNDYsMzA1Nl0sWzAsMzA3MiwzMDg1XSxbMCwzMDg2LDMwODldLFswLDMwOTAsMzExM10sWzAsMzExNCwzMTMwXSxbMCwzMTMzLDMxNDFdLFswLDMxNDIsMzE0NV0sWzAsMzE0NiwzMTUwXSxbMCwzMTU3LDMxNTldLFswLDMxNjAsMzE2M10sWzAsMzE2OCwzMTcyXSxbMCwzMTc0LDMxODRdLFswLDMyMDAsMzIwNF0sWzAsMzIwNSwzMjEzXSxbMCwzMjE0LDMyMTddLFswLDMyMTgsMzI0MV0sWzAsMzI0MiwzMjUyXSxbMCwzMjUzLDMyNThdLFswLDMyNjAsMzI2OV0sWzAsMzI3MCwzMjczXSxbMCwzMjc0LDMyNzhdLFswLDMyODUsMzI4N10sWzAsMzI5NCwzMjk1XSxbMCwzMjk2LDMzMDBdLFswLDMzMDIsMzMxMl0sWzAsMzMxMywzMzE1XSxbMCwzMzI4LDMzMzJdLFswLDMzMzMsMzM0MV0sWzAsMzM0MiwzMzQ1XSxbMCwzMzQ2LDMzOTddLFswLDMzOTgsMzQwMV0sWzAsMzQwMiwzNDA3XSxbMCwzNDEyLDM0MTZdLFswLDM0MjMsMzQyOF0sWzAsMzQzMCwzNDQwXSxbMCwzNDUwLDM0NTZdLFswLDM0NTgsMzQ2MF0sWzAsMzQ2MSwzNDc5XSxbMCwzNDgyLDM1MDZdLFswLDM1MDcsMzUxNl0sWzAsMzUxNywzNTE4XSxbMCwzNTIwLDM1MjddLFswLDM1MzAsMzUzMV0sWzAsMzUzNSwzNTQxXSxbMCwzNTQyLDM1NDNdLFswLDM1NDQsMzU1Ml0sWzAsMzU1OCwzNTY4XSxbMCwzNTcwLDM1NzJdLFswLDM1ODUsMzY0M10sWzAsMzY0OCwzNjYzXSxbMCwzNjY0LDM2NzRdLFswLDM3MTMsMzcxNV0sWzAsMzcxNiwzNzE3XSxbMCwzNzE4LDM3MjNdLFswLDM3MjQsMzc0OF0sWzAsMzc0OSwzNzUwXSxbMCwzNzUxLDM3NzRdLFswLDM3NzYsMzc4MV0sWzAsMzc4MiwzNzgzXSxbMCwzNzg0LDM3OTBdLFswLDM3OTIsMzgwMl0sWzAsMzgwNCwzODA4XSxbMCwzODQwLDM4NDFdLFswLDM4NjQsMzg2Nl0sWzAsMzg3MiwzODgyXSxbMCwzODkzLDM4OTRdLFswLDM4OTUsMzg5Nl0sWzAsMzg5NywzODk4XSxbMCwzOTAyLDM5MTJdLFswLDM5MTMsMzk0OV0sWzAsMzk1MywzOTczXSxbMCwzOTc0LDM5OTJdLFswLDM5OTMsNDAyOV0sWzAsNDAzOCw0MDM5XSxbMCxPRiw0MTcwXSxbMCw0MTc2LDQyNTRdLFswLDQyNTYsNDI5NF0sWzAsNDI5NSw0Mjk2XSxbMCw0MzAxLDQzMDJdLFswLDQzMDQsNDM0N10sWzAsNDM0OCw0NjgxXSxbMCw0NjgyLDQ2ODZdLFswLDQ2ODgsNDY5NV0sWzAsNDY5Niw0Njk3XSxbMCw0Njk4LDQ3MDJdLFswLDQ3MDQsNDc0NV0sWzAsNDc0Niw0NzUwXSxbMCw0NzUyLDQ3ODVdLFswLDQ3ODYsNDc5MF0sWzAsNDc5Miw0Nzk5XSxbMCw0ODAwLDQ4MDFdLFswLDQ4MDIsNDgwNl0sWzAsNDgwOCw0ODIzXSxbMCw0ODI0LDQ4ODFdLFswLDQ4ODIsNDg4Nl0sWzAsNDg4OCw0OTU1XSxbMCw0OTU3LDQ5NjBdLFswLDQ5NjksNDk3OF0sWzAsNDk5Miw1MDA4XSxbMCw1MDI0LDUxMTBdLFswLDUxMTIsNTExOF0sWzAsNTEyMSw1NzQxXSxbMCw1NzQzLG1JXSxbMCw1NzYxLDU3ODddLFswLDU3OTIsNTg2N10sWzAsNTg3MCw1ODgxXSxbMCw1ODg4LDU5MDFdLFswLDU5MDIsNTkwOV0sWzAsNTkyMCw1OTQxXSxbMCw1OTUyLDU5NzJdLFswLDU5ODQsNTk5N10sWzAsNTk5OCw2MDAxXSxbMCw2MDAyLDYwMDRdLFswLDYwMTYsNjEwMF0sWzAsNjEwMyw2MTA0XSxbMCw2MTA4LDYxMTBdLFswLDYxMTIsNjEyMl0sWzAsNjE1NSw2MTU4XSxbMCw2MTYwLDYxNzBdLFswLDYxNzYsNjI2NV0sWzAsNjI3Miw2MzE1XSxbMCw2MzIwLDYzOTBdLFswLDY0MDAsNjQzMV0sWzAsNjQzMiw2NDQ0XSxbMCw2NDQ4LDY0NjBdLFswLDY0NzAsNjUxMF0sWzAsNjUxMiw2NTE3XSxbMCw2NTI4LDY1NzJdLFswLDY1NzYsNjYwMl0sWzAsNjYwOCw2NjE5XSxbMCw2NjU2LDY2ODRdLFswLDY2ODgsNjc1MV0sWzAsNjc1Miw2NzgxXSxbMCw2NzgzLDY3OTRdLFswLDY4MDAsNjgxMF0sWzAsNjgyMyw2ODI0XSxbMCw2ODMyLDY4NDZdLFswLDY5MTIsNjk4OF0sWzAsNjk5Miw3MDAyXSxbMCw3MDE5LDcwMjhdLFswLDcwNDAsNzE1Nl0sWzAsNzE2OCw3MjI0XSxbMCw3MjMyLDcyNDJdLFswLDcyNDUsNzI5NF0sWzAsNzI5Niw3MzA1XSxbMCw3MzEyLDczNTVdLFswLDczNTcsNzM2MF0sWzAsNzM3Niw3Mzc5XSxbMCw3MzgwLDc0MTldLFswLDc0MjQsNzY3NF0sWzAsNzY3NSw3OTU4XSxbMCw3OTYwLDc5NjZdLFswLDc5NjgsODAwNl0sWzAsODAwOCw4MDE0XSxbMCw4MDE2LDgwMjRdLFswLDgwMjUsODAyNl0sWzAsODAyNyw4MDI4XSxbMCw4MDI5LDgwMzBdLFswLDgwMzEsODA2Ml0sWzAsODA2NCw4MTE3XSxbMCw4MTE4LDgxMjVdLFswLDgxMjYsODEyN10sWzAsODEzMCw4MTMzXSxbMCw4MTM0LDgxNDFdLFswLDgxNDQsODE0OF0sWzAsODE1MCw4MTU2XSxbMCw4MTYwLDgxNzNdLFswLDgxNzgsODE4MV0sWzAsODE4Miw4MTg5XSxbMCxsRCxqUl0sWzAsODI1NSw4MjU3XSxbMCw4Mjc2LDgyNzddLFswLCRrLDgzMDZdLFswLGdrLDgzMjBdLFswLDgzMzYsODM0OV0sWzAsODQwMCw4NDEzXSxbMCw4NDE3LDg0MThdLFswLDg0MjEsODQzM10sWzAsajgsODQ1MV0sWzAsdG0sODQ1Nl0sWzAsODQ1OCxtcF0sWzAsTnAsODQ3MF0sWzAsY1IsODQ3OF0sWzAsRGssaW1dLFswLG1tLERwXSxbMCxVcCxjbV0sWzAsODQ5MCw4NTA2XSxbMCw4NTA4LDg1MTJdLFswLDg1MTcsODUyMl0sWzAsJHAsODUyN10sWzAsODU0NCw4NTg1XSxbMCwxMTI2NCwxMTMxMV0sWzAsMTEzMTIsMTEzNTldLFswLDExMzYwLDExNDkzXSxbMCwxMTQ5OSwxMTUwOF0sWzAsMTE1MjAsVDhdLFswLEY0LDExNTYwXSxbMCwkOCwxMTU2Nl0sWzAsMTE1NjgsMTE2MjRdLFswLGRrLDExNjMyXSxbMCxicCwxMTY3MV0sWzAsMTE2ODAsUzhdLFswLDExNjg4LFA4XSxbMCwxMTY5NixSNF0sWzAsMTE3MDQsWnBdLFswLDExNzEyLHU4XSxbMCwxMTcyMCxCNF0sWzAsMTE3MjgsX21dLFswLDExNzM2LDExNzQzXSxbMCwxMTc0NCwxMTc3Nl0sWzAsMTIyOTMsMTIyOTZdLFswLDEyMzIxLGRtXSxbMCwxMjMzNywxMjM0Ml0sWzAsMTIzNDQsMTIzNDldLFswLDEyMzUzLDEyNDM5XSxbMCwxMjQ0MSx0OF0sWzAsMTI0NDksQ21dLFswLDEyNTQwLDEyNTQ0XSxbMCwxMjU0OSxubV0sWzAsMTI1OTMsMTI2ODddLFswLDEyNzA0LDEyNzMxXSxbMCwxMjc4NCwxMjgwMF0sWzAsMTMzMTIsMTk4OTRdLFswLDE5OTY4LDQwOTQ0XSxbMCw0MDk2MCw0MjEyNV0sWzAsNDIxOTIsNDIyMzhdLFswLDQyMjQwLDQyNTA5XSxbMCw0MjUxMiw0MjU0MF0sWzAsNDI1NjAsNDI2MDhdLFswLDQyNjEyLGtwXSxbMCw0MjYyMyw0MjczOF0sWzAsNDI3NzUsNDI3ODRdLFswLDQyNzg2LDQyODg5XSxbMCw0Mjg5MSw0Mjk0NF0sWzAsNDI5NDYsNDI5NTFdLFswLEFrLDQzMDQ4XSxbMCw0MzA3Miw0MzEyNF0sWzAsNDMxMzYsNDMyMDZdLFswLDQzMjE2LDQzMjI2XSxbMCw0MzIzMiw0MzI1Nl0sWzAsYWssZWtdLFswLDQzMjYxLDQzMzEwXSxbMCw0MzMxMiw0MzM0OF0sWzAsNDMzNjAsNDMzODldLFswLDQzMzkyLDQzNDU3XSxbMCxzOCw0MzQ4Ml0sWzAsNDM0ODgsWjRdLFswLHBGLDQzNTc1XSxbMCw0MzU4NCw0MzU5OF0sWzAsNDM2MDAsNDM2MTBdLFswLDQzNjE2LDQzNjM5XSxbMCx3OCw0MzcxNV0sWzAsNDM3MzksNDM3NDJdLFswLDQzNzQ0LDQzNzYwXSxbMCw0Mzc2Miw0Mzc2N10sWzAsNDM3NzcsNDM3ODNdLFswLDQzNzg1LDQzNzkxXSxbMCw0Mzc5Myw0Mzc5OV0sWzAsNDM4MDgsRjhdLFswLDQzODE2LFBrXSxbMCw0MzgyNCx2OF0sWzAsNDM4NjgsejRdLFswLDQzODg4LDQ0MDExXSxbMCw0NDAxMiw0NDAxNF0sWzAsNDQwMTYsNDQwMjZdLFswLDQ0MDMyLDU1MjA0XSxbMCw1NTIxNiw1NTIzOV0sWzAsNTUyNDMsNTUyOTJdLFswLDYzNzQ0LDY0MTEwXSxbMCw2NDExMiw2NDIxOF0sWzAsNjQyNTYsNjQyNjNdLFswLDY0Mjc1LDY0MjgwXSxbMCxjayxINF0sWzAsNjQyOTgsTGtdLFswLDY0MzEyLEM4XSxbMCxvayxTcF0sWzAsNjQzMjAseW1dLFswLDY0MzIzLFJtXSxbMCw2NDMyNiw2NDQzNF0sWzAsNjQ0NjcsNjQ4MzBdLFswLDY0ODQ4LDY0OTEyXSxbMCw2NDkxNCw2NDk2OF0sWzAsNjUwMDgsNjUwMjBdLFswLDY1MDI0LDY1MDQwXSxbMCw2NTA1Niw2NTA3Ml0sWzAsNjUwNzUsNjUwNzddLFswLDY1MTAxLDY1MTA0XSxbMCw2NTEzNixhbV0sWzAsNjUxNDIsNjUyNzddLFswLDY1Mjk2LDY1MzA2XSxbMCw2NTMxMyw2NTMzOV0sWzAsNjUzNDMsQThdLFswLDY1MzQ1LDY1MzcxXSxbMCw2NTM4Miw2NTQ3MV0sWzAsNjU0NzQsNjU0ODBdLFswLDY1NDgyLDY1NDg4XSxbMCw2NTQ5MCw2NTQ5Nl0sWzAsNjU0OTgsNjU1MDFdLFswLGM2LFNtXSxbMCw2NTU0OSxsOF0sWzAsNjU1NzYsTHBdLFswLDY1NTk2LHFwXSxbMCw2NTU5OSw2NTYxNF0sWzAsNjU2MTYsNjU2MzBdLFswLDY1NjY0LDY1Nzg3XSxbMCw2NTg1Niw2NTkwOV0sWzAsNjYwNDUsNjYwNDZdLFswLDY2MTc2LDY2MjA1XSxbMCw2NjIwOCw2NjI1N10sWzAsNjYyNzIsNjYyNzNdLFswLDY2MzA0LDY2MzM2XSxbMCw2NjM0OSw2NjM3OV0sWzAsNjYzODQsNjY0MjddLFswLDY2NDMyLDY2NDYyXSxbMCw2NjQ2NCw2NjUwMF0sWzAsNjY1MDQsYm1dLFswLDY2NTEzLDY2NTE4XSxbMCw2NjU2MCw2NjcxOF0sWzAsNjY3MjAsNjY3MzBdLFswLDY2NzM2LDY2NzcyXSxbMCw2Njc3Niw2NjgxMl0sWzAsNjY4MTYsNjY4NTZdLFswLDY2ODY0LDY2OTE2XSxbMCw2NzA3Miw2NzM4M10sWzAsNjczOTIsNjc0MTRdLFswLDY3NDI0LDY3NDMyXSxbMCw2NzU4NCw2NzU5MF0sWzAsRXAsbGtdLFswLDY3NTk0LFRtXSxbMCw2NzYzOSw2NzY0MV0sWzAsbzgsNjc2NDVdLFswLDY3NjQ3LDY3NjcwXSxbMCw2NzY4MCw2NzcwM10sWzAsNjc3MTIsNjc3NDNdLFswLDY3ODA4LGZwXSxbMCw2NzgyOCw2NzgzMF0sWzAsNjc4NDAsNjc4NjJdLFswLDY3ODcyLDY3ODk4XSxbMCw2Nzk2OCw2ODAyNF0sWzAsNjgwMzAsNjgwMzJdLFswLEFtLDY4MTAwXSxbMCw2ODEwMSw2ODEwM10sWzAsNjgxMDgseGtdLFswLDY4MTE3LGE4XSxbMCw2ODEyMSw2ODE1MF0sWzAsNjgxNTIsNjgxNTVdLFswLDY4MTU5LDY4MTYwXSxbMCw2ODE5Miw2ODIyMV0sWzAsNjgyMjQsNjgyNTNdLFswLDY4Mjg4LFdrXSxbMCw2ODI5Nyw2ODMyN10sWzAsNjgzNTIsNjg0MDZdLFswLDY4NDE2LDY4NDM4XSxbMCw2ODQ0OCw2ODQ2N10sWzAsNjg0ODAsNjg0OThdLFswLDY4NjA4LDY4NjgxXSxbMCw2ODczNiw2ODc4N10sWzAsNjg4MDAsNjg4NTFdLFswLDY4ODY0LDY4OTA0XSxbMCw2ODkxMiw2ODkyMl0sWzAsNjkzNzYsNjk0MDVdLFswLFo4LDY5NDE2XSxbMCw2OTQyNCw2OTQ1N10sWzAsNjk2MDAsNjk2MjNdLFswLDY5NjMyLDY5NzAzXSxbMCw2OTczNCxobV0sWzAsNjk3NTksNjk4MTldLFswLDY5ODQwLDY5ODY1XSxbMCw2OTg3Miw2OTg4Ml0sWzAsNjk4ODgsNjk5NDFdLFswLDY5OTQyLDY5OTUyXSxbMCx4cCxKcF0sWzAsNjk5NjgsNzAwMDRdLFswLGZtLDcwMDA3XSxbMCw3MDAxNiw3MDA4NV0sWzAsNzAwODksNzAwOTNdLFswLDcwMDk2LEo4XSxbMCxFayw3MDEwOV0sWzAsNzAxNDQsSzhdLFswLDcwMTYzLDcwMjAwXSxbMCw3MDIwNiw3MDIwN10sWzAsNzAyNzIsWThdLFswLFVrLFdwXSxbMCw3MDI4Mix6OF0sWzAsNzAyODcsSThdLFswLDcwMzAzLDcwMzEzXSxbMCw3MDMyMCw3MDM3OV0sWzAsNzAzODQsNzAzOTRdLFswLDcwNDAwLEo0XSxbMCw3MDQwNSw3MDQxM10sWzAsNzA0MTUsNzA0MTddLFswLDcwNDE5LHNtXSxbMCw3MDQ0MixuOF0sWzAsNzA0NTAsXzhdLFswLDcwNDUzLDcwNDU4XSxbMCw3MDQ1OSw3MDQ2OV0sWzAsNzA0NzEsNzA0NzNdLFswLDcwNDc1LDcwNDc4XSxbMCx0cCw3MDQ4MV0sWzAsNzA0ODcsNzA0ODhdLFswLDcwNDkzLDcwNTAwXSxbMCw3MDUwMiw3MDUwOV0sWzAsNzA1MTIsNzA1MTddLFswLDcwNjU2LDcwNzMxXSxbMCw3MDczNiw3MDc0Nl0sWzAsZHAsNzA3NTJdLFswLDcwNzg0LHJtXSxbMCx5ayw3MDg1Nl0sWzAsNzA4NjQsNzA4NzRdLFswLDcxMDQwLDcxMDk0XSxbMCw3MTA5Niw3MTEwNV0sWzAsNzExMjgsNzExMzRdLFswLDcxMTY4LDcxMjMzXSxbMCxUayw3MTIzN10sWzAsNzEyNDgsNzEyNThdLFswLDcxMjk2LDcxMzUzXSxbMCw3MTM2MCw3MTM3MF0sWzAsNzE0MjQsNzE0NTFdLFswLDcxNDUzLDcxNDY4XSxbMCw3MTQ3Miw3MTQ4Ml0sWzAsNzE2ODAsNzE3MzldLFswLDcxODQwLDcxOTE0XSxbMCw3MTkzNSw3MTkzNl0sWzAsNzIwOTYsNzIxMDRdLFswLDcyMTA2LDcyMTUyXSxbMCw3MjE1NCxWa10sWzAsZW0sNzIxNjVdLFswLG1rLDcyMjU1XSxbMCw3MjI2Myw3MjI2NF0sWzAsUXAsNzIzNDZdLFswLElrLDcyMzUwXSxbMCw3MjM4NCw3MjQ0MV0sWzAsNzI3MDQsdW1dLFswLDcyNzE0LDcyNzU5XSxbMCw3Mjc2MCw3Mjc2OV0sWzAsNzI3ODQsNzI3OTRdLFswLDcyODE4LDcyODQ4XSxbMCw3Mjg1MCw3Mjg3Ml0sWzAsNzI4NzMsNzI4ODddLFswLDcyOTYwLENrXSxbMCw3Mjk2OCx3bV0sWzAsNzI5NzEsNzMwMTVdLFswLDczMDE4LDczMDE5XSxbMCw3MzAyMCw3MzAyMl0sWzAsNzMwMjMsNzMwMzJdLFswLDczMDQwLDczMDUwXSxbMCw3MzA1Nixxa10sWzAsNzMwNjMsTDhdLFswLDczMDY2LDczMTAzXSxbMCw3MzEwNCw3MzEwNl0sWzAsNzMxMDcsNzMxMTNdLFswLDczMTIwLDczMTMwXSxbMCw3MzQ0MCw3MzQ2M10sWzAsNzM3MjgsNzQ2NTBdLFswLDc0NzUyLDc0ODYzXSxbMCw3NDg4MCw3NTA3Nl0sWzAsNzc4MjQsNzg4OTVdLFswLDgyOTQ0LDgzNTI3XSxbMCw5MjE2MCw5MjcyOV0sWzAsOTI3MzYsOTI3NjddLFswLDkyNzY4LDkyNzc4XSxbMCw5Mjg4MCw5MjkxMF0sWzAsOTI5MTIsOTI5MTddLFswLDkyOTI4LDkyOTgzXSxbMCw5Mjk5Miw5Mjk5Nl0sWzAsOTMwMDgsOTMwMThdLFswLDkzMDI3LDkzMDQ4XSxbMCw5MzA1Myw5MzA3Ml0sWzAsOTM3NjAsOTM4MjRdLFswLDkzOTUyLDk0MDI3XSxbMCxSOCw5NDA4OF0sWzAsOTQwOTUsOTQxMTJdLFswLDk0MTc2LFBwXSxbMCxLNCw5NDE4MF0sWzAsOTQyMDgsMTAwMzQ0XSxbMCwxMDAzNTIsMTAxMTA3XSxbMCwxMTA1OTIsMTEwODc5XSxbMCwxMTA5MjgsMTEwOTMxXSxbMCwxMTA5NDgsMTEwOTUyXSxbMCwxMTA5NjAsMTExMzU2XSxbMCwxMTM2NjQsMTEzNzcxXSxbMCwxMTM3NzYsMTEzNzg5XSxbMCwxMTM3OTIsMTEzODAxXSxbMCwxMTM4MDgsMTEzODE4XSxbMCwxMTM4MjEsMTEzODIzXSxbMCwxMTkxNDEsMTE5MTQ2XSxbMCwxMTkxNDksMTE5MTU1XSxbMCwxMTkxNjMsMTE5MTcxXSxbMCwxMTkxNzMsMTE5MTgwXSxbMCwxMTkyMTAsMTE5MjE0XSxbMCwxMTkzNjIsMTE5MzY1XSxbMCwxMTk4MDgsVjRdLFswLDExOTg5NCxLcF0sWzAsMTE5OTY2LDExOTk2OF0sWzAscGssMTE5OTcxXSxbMCwxMTk5NzMsMTE5OTc1XSxbMCwxMTk5NzcscW1dLFswLDExOTk4MixVOF0sWzAsUWsscDhdLFswLDExOTk5Nyx3a10sWzAsMTIwMDA1LEZtXSxbMCwxMjAwNzEsMTIwMDc1XSxbMCwxMjAwNzcsX3BdLFswLDEyMDA4NixYOF0sWzAsMTIwMDk0LHJwXSxbMCwxMjAxMjMsYzhdLFswLDEyMDEyOCxoa10sWzAsdWssMTIwMTM1XSxbMCwxMjAxMzgsa21dLFswLDEyMDE0NiwxMjA0ODZdLFswLDEyMDQ4OCxqcF0sWzAsMTIwNTE0LE1rXSxbMCwxMjA1NDAsT21dLFswLDEyMDU3MixHcF0sWzAsMTIwNTk4LHprXSxbMCwxMjA2MzAsdnBdLFswLDEyMDY1NixGa10sWzAsMTIwNjg4LG5wXSxbMCwxMjA3MTQsWTRdLFswLDEyMDc0NixZcF0sWzAsMTIwNzcyLDEyMDc4MF0sWzAsMTIwNzgyLDEyMDgzMl0sWzAsMTIxMzQ0LDEyMTM5OV0sWzAsMTIxNDAzLDEyMTQ1M10sWzAsMTIxNDYxLDEyMTQ2Ml0sWzAsMTIxNDc2LDEyMTQ3N10sWzAsMTIxNDk5LDEyMTUwNF0sWzAsMTIxNTA1LDEyMTUyMF0sWzAsMTIyODgwLDEyMjg4N10sWzAsMTIyODg4LDEyMjkwNV0sWzAsMTIyOTA3LDEyMjkxNF0sWzAsMTIyOTE1LDEyMjkxN10sWzAsMTIyOTE4LDEyMjkyM10sWzAsMTIzMTM2LDEyMzE4MV0sWzAsMTIzMTg0LDEyMzE5OF0sWzAsMTIzMjAwLDEyMzIxMF0sWzAscTQsMTIzMjE1XSxbMCwxMjM1ODQsMTIzNjQyXSxbMCwxMjQ5MjgsMTI1MTI1XSxbMCwxMjUxMzYsMTI1MTQzXSxbMCwxMjUxODQsMTI1MjYwXSxbMCwxMjUyNjQsMTI1Mjc0XSxbMCwxMjY0NjQsbHBdLFswLDEyNjQ2OSxOOF0sWzAsMTI2NDk3LGptXSxbMCxYNCwxMjY1MDFdLFswLFE4LGk4XSxbMCwxMjY1MDUsTTRdLFswLDEyNjUxNixLa10sWzAsUG0saDhdLFswLHNwLDEyNjUyNF0sWzAsZ20sMTI2NTMxXSxbMCxMbSxvcF0sWzAsSW0sRThdLFswLEVtLCQ0XSxbMCwxMjY1NDEsVnBdLFswLDEyNjU0NSxsbV0sWzAsVzgsMTI2NTQ5XSxbMCxHayxhcF0sWzAsdmssT2tdLFswLGI4LHBtXSxbMCxUcCx1cF0sWzAsWmssTXBdLFswLDEyNjU2MSxjcF0sWzAsdm0sMTI2NTY1XSxbMCwxMjY1NjcsVzRdLFswLDEyNjU3MixocF0sWzAsMTI2NTgwLEJrXSxbMCwxMjY1ODUsc2tdLFswLEprLHhtXSxbMCwxMjY1OTIsaXBdLFswLDEyNjYwMywxMjY2MjBdLFswLDEyNjYyNSxZa10sWzAsMTI2NjI5LE5rXSxbMCwxMjY2MzUsMTI2NjUyXSxbMCwxMzEwNzIsMTczNzgzXSxbMCwxNzM4MjQsMTc3OTczXSxbMCwxNzc5ODQsMTc4MjA2XSxbMCwxNzgyMDgsMTgzOTcwXSxbMCwxODM5ODQsMTkxNDU3XSxbMCwxOTQ1NjAsMTk1MTAyXSxbMCw5MTc3NjAsOTE4ZTNdXSxEMDA9WzAsMSwwXSxGMDA9WzAsMCxbMCwxLDBdLFswLDEsMF1dLFIwMD1lTCxMMDA9XCJlbmQgb2YgaW5wdXRcIixNMDA9bjYscTAwPVwidGVtcGxhdGUgbGl0ZXJhbCBwYXJ0XCIsVTAwPW42LEIwMD1tTyxYMDA9ZUwsWTAwPW42LHowMD1wMyxLMDA9bjYsSjAwPWF2LEcwMD1uNixXMDA9bDMsVjAwPVwiYW5cIiwkMDA9UHQsUTAwPWh1LEgwMD1bMCxbMTEsXCJ0b2tlbiBgXCIsWzIsMCxbMTIsOTYsMF1dXSxcInRva2VuIGAlc2BcIl0sWjAwPVwie1wiLHh4MD1tOCxyeDA9XCJ7fFwiLGV4MD1cInx9XCIsdHgwPUlSLG54MD11Uix1eDA9XCJbXCIsaXgwPVwiXVwiLGZ4MD1KYixjeDA9Qkwsc3gwPWNuLGF4MD1cIj0+XCIsb3gwPVwiLi4uXCIsdngwPUNPLGx4MD1PUixweDA9aDMsa3gwPWQ4LG14MD1xYSxoeDA9R2wsZHgwPVhlLHl4MD1HZSxneDA9YUksd3gwPVFvLF94MD16ZSxieDA9eTgsVHgwPVlsLEV4MD1MNCxTeDA9SGssQXgwPXU2LFB4MD1qMyxJeDA9dXYsTngwPUdzLGp4MD1yYSxDeDA9S2UsT3gwPXBwLER4MD1WOCxGeDA9TGUsUngwPUdvLEx4MD1ScCxNeDA9ZTgscXgwPWY4LFV4MD1NbCxCeDA9UWYsWHgwPVJlLFl4MD1YcCx6eDA9cnYsS3gwPUtsLEp4MD1acyxHeDA9V3MsV3gwPVFsLFZ4MD1ObSwkeDA9WDEsUXgwPU4zLEh4MD1jdixaeDA9aWUseHIwPUJwLHJyMD1oNixlcjA9UmwsdHIwPWw2LG5yMD1CMSx1cjA9WWUsaXIwPWc2LGZyMD1xZixjcjA9dWIsc3IwPWNTLGFyMD1LYSxvcjA9bnYsdnIwPVwiJWNoZWNrc1wiLGxyMD1DRCxwcjA9YUwsa3IwPVpPLG1yMD1BRixocjA9dlIsZHIwPWtPLHlyMD1WTyxncjA9akYsd3IwPU9ELF9yMD1xRCxicjA9eEQsVHIwPWtSLEVyMD1vRixTcjA9R0wsQXIwPWlGLFByMD1iOSxJcjA9XCI/LlwiLE5yMD1XZyxqcjA9blIsQ3IwPU1vLE9yMD1MRixEcjA9TlIsRnIwPU5ELFJyMD1DcCxMcjA9b20sTXIwPVVSLHFyMD1WRixVcjA9SUYsQnIwPVlPLFhyMD1XTCxZcjA9dUQsenIwPWF5LEtyMD14NixKcjA9WEYsR3IwPUNGLFdyMD1OTyxWcjA9cTcsJHIwPVVlLFFyMD11ZSxIcjA9SUQsWnIwPXlGLHgyMD1ZTCxyMjA9Uk8sZTIwPUpMLHQyMD1XUixuMjA9RUQsdTIwPVowLGkyMD15cCxmMjA9T3AsYzIwPWJlLHMyMD1wMyxhMjA9YXYsbzIwPWwzLHYyMD1XcyxsMjA9djYscDIwPUlwLGsyMD1GcCxtMjA9ZmssaDIwPUg4LGQyMD1abyx5MjA9Sk8sZzIwPWE2LHcyMD1iMyxfMjA9bTMsYjIwPUZGLFQyMD1zRixFMjA9TGwsUzIwPUxsLEEyMD1tTCxQMjA9TGwsSTIwPUxsLE4yMD1tOCxqMjA9bTgsQzIwPW1MLE8yMD11ZSxEMjA9dWUsRjIwPSRsLFIyMD1rOCxMMjA9XCJUX0xDVVJMWVwiLE0yMD1cIlRfUkNVUkxZXCIscTIwPVwiVF9MQ1VSTFlCQVJcIixVMjA9XCJUX1JDVVJMWUJBUlwiLEIyMD1cIlRfTFBBUkVOXCIsWDIwPVwiVF9SUEFSRU5cIixZMjA9XCJUX0xCUkFDS0VUXCIsejIwPVwiVF9SQlJBQ0tFVFwiLEsyMD1cIlRfU0VNSUNPTE9OXCIsSjIwPVwiVF9DT01NQVwiLEcyMD1cIlRfUEVSSU9EXCIsVzIwPVwiVF9BUlJPV1wiLFYyMD1cIlRfRUxMSVBTSVNcIiwkMjA9XCJUX0FUXCIsUTIwPVwiVF9QT1VORFwiLEgyMD1cIlRfRlVOQ1RJT05cIixaMjA9XCJUX0lGXCIseDEwPVwiVF9JTlwiLHIxMD1cIlRfSU5TVEFOQ0VPRlwiLGUxMD1cIlRfUkVUVVJOXCIsdDEwPVwiVF9TV0lUQ0hcIixuMTA9XCJUX01BVENIXCIsdTEwPVwiVF9USElTXCIsaTEwPVwiVF9USFJPV1wiLGYxMD1cIlRfVFJZXCIsYzEwPVwiVF9WQVJcIixzMTA9XCJUX1dISUxFXCIsYTEwPVwiVF9XSVRIXCIsbzEwPVwiVF9DT05TVFwiLHYxMD1cIlRfTEVUXCIsbDEwPVwiVF9OVUxMXCIscDEwPVwiVF9GQUxTRVwiLGsxMD1cIlRfVFJVRVwiLG0xMD1cIlRfQlJFQUtcIixoMTA9XCJUX0NBU0VcIixkMTA9XCJUX0NBVENIXCIseTEwPVwiVF9DT05USU5VRVwiLGcxMD1cIlRfREVGQVVMVFwiLHcxMD1cIlRfRE9cIixfMTA9XCJUX0ZJTkFMTFlcIixiMTA9XCJUX0ZPUlwiLFQxMD1cIlRfQ0xBU1NcIixFMTA9XCJUX0VYVEVORFNcIixTMTA9XCJUX1NUQVRJQ1wiLEExMD1cIlRfRUxTRVwiLFAxMD1cIlRfTkVXXCIsSTEwPVwiVF9ERUxFVEVcIixOMTA9XCJUX1RZUEVPRlwiLGoxMD1cIlRfVk9JRFwiLEMxMD1cIlRfRU5VTVwiLE8xMD1cIlRfRVhQT1JUXCIsRDEwPVwiVF9JTVBPUlRcIixGMTA9XCJUX1NVUEVSXCIsUjEwPVwiVF9JTVBMRU1FTlRTXCIsTDEwPVwiVF9JTlRFUkZBQ0VcIixNMTA9XCJUX1BBQ0tBR0VcIixxMTA9XCJUX1BSSVZBVEVcIixVMTA9XCJUX1BST1RFQ1RFRFwiLEIxMD1cIlRfUFVCTElDXCIsWDEwPVwiVF9ZSUVMRFwiLFkxMD1cIlRfREVCVUdHRVJcIix6MTA9XCJUX0RFQ0xBUkVcIixLMTA9XCJUX1RZUEVcIixKMTA9XCJUX09QQVFVRVwiLEcxMD1cIlRfT0ZcIixXMTA9XCJUX0FTWU5DXCIsVjEwPVwiVF9BV0FJVFwiLCQxMD1cIlRfQ0hFQ0tTXCIsUTEwPVwiVF9SU0hJRlQzX0FTU0lHTlwiLEgxMD1cIlRfUlNISUZUX0FTU0lHTlwiLFoxMD1cIlRfTFNISUZUX0FTU0lHTlwiLHhlMD1cIlRfQklUX1hPUl9BU1NJR05cIixyZTA9XCJUX0JJVF9PUl9BU1NJR05cIixlZTA9XCJUX0JJVF9BTkRfQVNTSUdOXCIsdGUwPVwiVF9NT0RfQVNTSUdOXCIsbmUwPVwiVF9ESVZfQVNTSUdOXCIsdWUwPVwiVF9NVUxUX0FTU0lHTlwiLGllMD1cIlRfRVhQX0FTU0lHTlwiLGZlMD1cIlRfTUlOVVNfQVNTSUdOXCIsY2UwPVwiVF9QTFVTX0FTU0lHTlwiLHNlMD1cIlRfTlVMTElTSF9BU1NJR05cIixhZTA9XCJUX0FORF9BU1NJR05cIixvZTA9XCJUX09SX0FTU0lHTlwiLHZlMD1cIlRfQVNTSUdOXCIsbGUwPVwiVF9QTElOR19QRVJJT0RcIixwZTA9XCJUX1BMSU5HX1BMSU5HXCIsa2UwPVwiVF9QTElOR1wiLG1lMD1cIlRfQ09MT05cIixoZTA9XCJUX09SXCIsZGUwPVwiVF9BTkRcIix5ZTA9XCJUX0JJVF9PUlwiLGdlMD1cIlRfQklUX1hPUlwiLHdlMD1cIlRfQklUX0FORFwiLF9lMD1cIlRfRVFVQUxcIixiZTA9XCJUX05PVF9FUVVBTFwiLFRlMD1cIlRfU1RSSUNUX0VRVUFMXCIsRWUwPVwiVF9TVFJJQ1RfTk9UX0VRVUFMXCIsU2UwPVwiVF9MRVNTX1RIQU5fRVFVQUxcIixBZTA9XCJUX0dSRUFURVJfVEhBTl9FUVVBTFwiLFBlMD1cIlRfTEVTU19USEFOXCIsSWUwPVwiVF9HUkVBVEVSX1RIQU5cIixOZTA9XCJUX0xTSElGVFwiLGplMD1cIlRfUlNISUZUXCIsQ2UwPVwiVF9SU0hJRlQzXCIsT2UwPVwiVF9QTFVTXCIsRGUwPVwiVF9NSU5VU1wiLEZlMD1cIlRfRElWXCIsUmUwPVwiVF9NVUxUXCIsTGUwPVwiVF9FWFBcIixNZTA9XCJUX01PRFwiLHFlMD1cIlRfTk9UXCIsVWUwPVwiVF9CSVRfTk9UXCIsQmUwPVwiVF9JTkNSXCIsWGUwPVwiVF9ERUNSXCIsWWUwPVwiVF9FT0ZcIix6ZTA9XCJUX0FOWV9UWVBFXCIsS2UwPVwiVF9NSVhFRF9UWVBFXCIsSmUwPVwiVF9FTVBUWV9UWVBFXCIsR2UwPVwiVF9OVU1CRVJfVFlQRVwiLFdlMD1cIlRfQklHSU5UX1RZUEVcIixWZTA9XCJUX1NUUklOR19UWVBFXCIsJGUwPVwiVF9WT0lEX1RZUEVcIixRZTA9XCJUX1NZTUJPTF9UWVBFXCIsSGUwPVwiVF9VTktOT1dOX1RZUEVcIixaZTA9XCJUX05FVkVSX1RZUEVcIix4dDA9XCJUX1VOREVGSU5FRF9UWVBFXCIscnQwPVwiVF9LRVlPRlwiLGV0MD1cIlRfUkVBRE9OTFlcIix0dDA9XCJUX0lORkVSXCIsbnQwPVwiVF9JU1wiLHV0MD1cIlRfQVNTRVJUU1wiLGl0MD1cIlRfSU1QTElFU1wiLGZ0MD1YTCxjdDA9WEwsc3QwPVwiVF9OVU1CRVJcIixhdDA9XCJUX0JJR0lOVFwiLG90MD1cIlRfU1RSSU5HXCIsdnQwPVwiVF9URU1QTEFURV9QQVJUXCIsbHQwPVwiVF9JREVOVElGSUVSXCIscHQwPVwiVF9SRUdFWFBcIixrdDA9XCJUX0lOVEVSUFJFVEVSXCIsbXQwPVwiVF9FUlJPUlwiLGh0MD1cIlRfSlNYX0lERU5USUZJRVJcIixkdDA9TUwseXQwPU1MLGd0MD1cIlRfQk9PTEVBTl9UWVBFXCIsd3QwPVwiVF9OVU1CRVJfU0lOR0xFVE9OX1RZUEVcIixfdDA9XCJUX0JJR0lOVF9TSU5HTEVUT05fVFlQRVwiLGJ0MD1bMCx6RCxPOCw5XSxUdDA9WzAsekQsY18sOV0sRXQwPWtMLFN0MD1cIiovXCIsQXQwPWtMLFB0MD1cInVucmVhY2hhYmxlIGxpbmVfY29tbWVudFwiLEl0MD1cInVucmVhY2hhYmxlIHN0cmluZ19xdW90ZVwiLE50MD1cIlxcXFxcIixqdDA9XCJ1bnJlYWNoYWJsZSB0ZW1wbGF0ZV9wYXJ0XCIsQ3QwPWBcXHJcbmAsT3QwPXl3LER0MD1cInVucmVhY2hhYmxlIHJlZ2V4cF9jbGFzc1wiLEZ0MD1XTyxSdDA9XCJ1bnJlYWNoYWJsZSByZWdleHBfYm9keVwiLEx0MD1aMCxNdDA9WjAscXQwPVowLFV0MD1aMCxCdDA9U0QsWHQwPVwieyc+J31cIixZdDA9eDYsenQwPVwieyd9J31cIixLdDA9bTgsSnQwPVlhLEd0MD1KYixXdDA9b20sVnQwPVNELCR0MD1ZYSxRdDA9SmIsSHQwPW9tLFp0MD1cInVucmVhY2hhYmxlIHR5cGVfdG9rZW4gd2hvbGVudW1iZXJcIix4bjA9XCJ1bnJlYWNoYWJsZSB0eXBlX3Rva2VuIHdob2xlYmlnaW50XCIscm4wPVwidW5yZWFjaGFibGUgdHlwZV90b2tlbiBmbG9hdGJpZ2ludFwiLGVuMD1cInVucmVhY2hhYmxlIHR5cGVfdG9rZW4gc2NpbnVtYmVyXCIsdG4wPVwidW5yZWFjaGFibGUgdHlwZV90b2tlbiBzY2liaWdpbnRcIixubjA9XCJ1bnJlYWNoYWJsZSB0eXBlX3Rva2VuIGhleG51bWJlclwiLHVuMD1cInVucmVhY2hhYmxlIHR5cGVfdG9rZW4gaGV4YmlnaW50XCIsaW4wPVwidW5yZWFjaGFibGUgdHlwZV90b2tlbiBsZWdhY3lvY3RudW1iZXJcIixmbjA9XCJ1bnJlYWNoYWJsZSB0eXBlX3Rva2VuIG9jdG51bWJlclwiLGNuMD1cInVucmVhY2hhYmxlIHR5cGVfdG9rZW4gb2N0YmlnaW50XCIsc24wPVwidW5yZWFjaGFibGUgdHlwZV90b2tlbiBiaW5udW1iZXJcIixhbjA9XCJ1bnJlYWNoYWJsZSB0eXBlX3Rva2VuIGJpZ2JpZ2ludFwiLG9uMD1cInVucmVhY2hhYmxlIHR5cGVfdG9rZW5cIix2bjA9bEwsbG4wPVsxMSwxXSxwbjA9WzExLDBdLGtuMD1cInVucmVhY2hhYmxlIHRlbXBsYXRlX3RhaWxcIixtbjA9WjAsaG4wPVowLGRuMD1cInVucmVhY2hhYmxlIGpzeF9jaGlsZFwiLHluMD1cInVucmVhY2hhYmxlIGpzeF90YWdcIixnbjA9WzAsUERdLHduMD1bMCw5MTNdLF9uMD1bMCxhM10sYm4wPVswLFBJXSxUbjA9WzAsbURdLEVuMD1bMCxPTF0sU24wPVswLDg3NDddLEFuMD1bMCxET10sUG4wPVswLDkxNl0sSW4wPVswLDgyMjVdLE5uMD1bMCw5MzVdLGpuMD1bMCxoTF0sQ24wPVswLDkxNF0sT24wPVswLGlMXSxEbjA9WzAsRGJdLEZuMD1bMCwkVF0sUm4wPVswLDkxNV0sTG4wPVswLEdkXSxNbjA9WzAsOTE5XSxxbjA9WzAsOTE3XSxVbjA9WzAscExdLEJuMD1bMCxlRF0sWG4wPVswLEhEXSxZbjA9WzAsOTI0XSx6bjA9WzAsOTIzXSxLbjA9WzAsOTIyXSxKbjA9WzAsa0ZdLEduMD1bMCw5MjFdLFduMD1bMCx4Ul0sVm4wPVswLGNfXSwkbjA9WzAsbkZdLFFuMD1bMCxwZF0sSG4wPVswLDkyN10sWm4wPVswLDkzN10seDcwPVswLG5EXSxyNzA9WzAseEZdLGU3MD1bMCxKOV0sdDcwPVswLDMzOF0sbjcwPVswLDM1Ml0sdTcwPVswLDkyOV0saTcwPVswLDkzNl0sZjcwPVswLDgyNDNdLGM3MD1bMCw5MjhdLHM3MD1bMCw5MzRdLGE3MD1bMCxGTF0sbzcwPVswLHREXSx2NzA9WzAsOTMzXSxsNzA9WzAscFJdLHA3MD1bMCx2QV0sazcwPVswLHlPXSxtNzA9WzAsOTIwXSxoNzA9WzAsOTMyXSxkNzA9WzAsek9dLHk3MD1bMCxqZ10sZzcwPVswLEtGXSx3NzA9WzAsVkRdLF83MD1bMCw5MThdLGI3MD1bMCwzNzZdLFQ3MD1bMCxKRl0sRTcwPVswLDkyNl0sUzcwPVswLGRGXSxBNzA9WzAsQ1JdLFA3MD1bMCw5MjVdLEk3MD1bMCwzOV0sTjcwPVswLDg3MzZdLGo3MD1bMCw4NzQzXSxDNzA9WzAsMzhdLE83MD1bMCw5NDVdLEQ3MD1bMCw4NTAxXSxGNzA9WzAsczNdLFI3MD1bMCw4MjI2XSxMNzA9WzAsckRdLE03MD1bMCw5NDZdLHE3MD1bMCw4MjIyXSxVNzA9WzAsS09dLEI3MD1bMCxfUl0sWDcwPVswLDg3NzZdLFk3MD1bMCxvTF0sejcwPVswLDg3NzNdLEs3MD1bMCw5ODI3XSxKNzA9WzAsQk9dLEc3MD1bMCw5NjddLFc3MD1bMCxMUl0sVjcwPVswLHA2XSwkNzA9WzAsVU9dLFE3MD1bMCxCRl0sSDcwPVswLDg1OTVdLFo3MD1bMCw4MjI0XSx4dTA9WzAsODY1OV0scnUwPVswLGhEXSxldTA9WzAsODc0Nl0sdHUwPVswLDg2MjldLG51MD1bMCxBcF0sdXUwPVswLDg3NDVdLGl1MD1bMCw4MTk1XSxmdTA9WzAsODcwOV0sY3UwPVswLGRPXSxzdTA9WzAsdkxdLGF1MD1bMCx0TF0sb3UwPVswLGVwXSx2dTA9WzAsOTgzMF0sbHUwPVswLDg3MDddLHB1MD1bMCw4MzY0XSxrdTA9WzAsRVJdLG11MD1bMCx3M10saHUwPVswLDk1MV0sZHUwPVswLDg4MDFdLHl1MD1bMCw5NDldLGd1MD1bMCw4MTk0XSx3dTA9WzAsODgwNV0sX3UwPVswLDk0N10sYnUwPVswLDgyNjBdLFR1MD1bMCxzUl0sRXUwPVswLFU5XSxTdTA9WzAsTzhdLEF1MD1bMCw4NzA0XSxQdTA9WzAsVUZdLEl1MD1bMCx5TF0sTnUwPVswLDgyMzBdLGp1MD1bMCw5ODI5XSxDdTA9WzAsODU5Nl0sT3UwPVswLDg2NjBdLER1MD1bMCw2Ml0sRnUwPVswLDQwMl0sUnUwPVswLDk0OF0sTHUwPVswLGNGXSxNdTA9WzAsRnldLHF1MD1bMCw4NzEyXSxVdTA9WzAsd0xdLEJ1MD1bMCw5NTNdLFh1MD1bMCw4NzM0XSxZdTA9WzAsODQ2NV0senUwPVswLFBSXSxLdTA9WzAsODIyMF0sSnUwPVswLDg5NjhdLEd1MD1bMCw4NTkyXSxXdTA9WzAsVXddLFZ1MD1bMCwxMDIxNl0sJHUwPVswLDk1NV0sUXUwPVswLDg2NTZdLEh1MD1bMCw5NTRdLFp1MD1bMCw2MF0seGkwPVswLDgyMTZdLHJpMD1bMCw4MjQ5XSxlaTA9WzAsalJdLHRpMD1bMCw5Njc0XSxuaTA9WzAsODcyN10sdWkwPVswLDg5NzBdLGlpMD1bMCxiTF0sZmkwPVswLDg3MTFdLGNpMD1bMCw5NTZdLHNpMD1bMCw4NzIyXSxhaTA9WzAsSzldLG9pMD1bMCxKRV0sdmkwPVswLDgyMTJdLGxpMD1bMCxSRF0scGkwPVswLDg4MDRdLGtpMD1bMCw5NTddLG1pMD1bMCxnRl0saGkwPVswLDg4MzZdLGRpMD1bMCw4NzEzXSx5aTA9WzAsUURdLGdpMD1bMCw4NzE1XSx3aTA9WzAsODgwMF0sX2kwPVswLDg4NTNdLGJpMD1bMCw5NTldLFRpMD1bMCw5NjldLEVpMD1bMCw4MjU0XSxTaTA9WzAsWVJdLEFpMD1bMCwzMzldLFBpMD1bMCx6b10sSWkwPVswLE1SXSxOaTA9WzAseXldLGppMD1bMCxBM10sQ2kwPVswLDg4NTVdLE9pMD1bMCxIVF0sRGkwPVswLG4yXSxGaTA9WzAsbUFdLFJpMD1bMCxFZF0sTGkwPVswLGxyXSxNaTA9WzAsVlJdLHFpMD1bMCw5ODJdLFVpMD1bMCw5NjBdLEJpMD1bMCw5NjZdLFhpMD1bMCw4ODY5XSxZaTA9WzAsODI0MF0semkwPVswLDg3MDZdLEtpMD1bMCw4NzQ0XSxKaTA9WzAsODIxMV0sR2kwPVswLDEwMjE3XSxXaTA9WzAsODczMF0sVmkwPVswLDg2NThdLCRpMD1bMCwzNF0sUWkwPVswLDk2OF0sSGkwPVswLDg3MzNdLFppMD1bMCw4NzE5XSx4ZjA9WzAsOTYxXSxyZjA9WzAsODk3MV0sZWYwPVswLERMXSx0ZjA9WzAsODQ3Nl0sbmYwPVswLDgyMjFdLHVmMD1bMCw4OTY5XSxpZjA9WzAsODU5NF0sZmYwPVswLGdwXSxjZjA9WzAsYlJdLHNmMD1bMCxtRl0sYWYwPVswLDg5MDFdLG9mMD1bMCwzNTNdLHZmMD1bMCw4MjE4XSxsZjA9WzAsODIxN10scGYwPVswLDgyNTBdLGtmMD1bMCw4ODM1XSxtZjA9WzAsODcyMV0saGYwPVswLDg4MzhdLGRmMD1bMCw4ODM0XSx5ZjA9WzAsOTgyNF0sZ2YwPVswLDg3NjRdLHdmMD1bMCw5NjJdLF9mMD1bMCw5NjNdLGJmMD1bMCw4MjA3XSxUZjA9WzAsOTUyXSxFZjA9WzAsODc1Nl0sU2YwPVswLDk2NF0sQWYwPVswLGtrXSxQZjA9WzAsODgzOV0sSWYwPVswLHpMXSxOZjA9WzAsbmddLGpmMD1bMCxEM10sQ2YwPVswLDg2NTddLE9mMD1bMCw4NDgyXSxEZjA9WzAsZ2ddLEZmMD1bMCw3MzJdLFJmMD1bMCxkM10sTGYwPVswLDgyMDFdLE1mMD1bMCw5NzddLHFmMD1bMCxjUl0sVWYwPVswLGczXSxCZjA9WzAsOTY1XSxYZjA9WzAsOTc4XSxZZjA9WzAsWFBdLHpmMD1bMCxXRV0sS2YwPVswLEtMXSxKZjA9WzAsbERdLEdmMD1bMCw4MjA1XSxXZjA9WzAsOTUwXSxWZjA9WzAsSHBdLCRmMD1bMCxfRl0sUWYwPVswLGxFXSxIZjA9WzAsOTU4XSxaZjA9WzAsODU5M10seGMwPVswLGJPXSxyYzA9WzAsODI0Ml0sZWMwPVswLG5MXSx0YzA9XCJ1bnJlYWNoYWJsZSByZWdleHBcIixuYzA9XCJ1bnJlYWNoYWJsZSB0b2tlbiB3aG9sZW51bWJlclwiLHVjMD1cInVucmVhY2hhYmxlIHRva2VuIHdob2xlYmlnaW50XCIsaWMwPVwidW5yZWFjaGFibGUgdG9rZW4gZmxvYXRiaWdpbnRcIixmYzA9XCJ1bnJlYWNoYWJsZSB0b2tlbiBzY2ludW1iZXJcIixjYzA9XCJ1bnJlYWNoYWJsZSB0b2tlbiBzY2liaWdpbnRcIixzYzA9XCJ1bnJlYWNoYWJsZSB0b2tlbiBoZXhudW1iZXJcIixhYzA9XCJ1bnJlYWNoYWJsZSB0b2tlbiBoZXhiaWdpbnRcIixvYzA9XCJ1bnJlYWNoYWJsZSB0b2tlbiBsZWdhY3lvY3RudW1iZXJcIix2YzA9XCJ1bnJlYWNoYWJsZSB0b2tlbiBsZWdhY3lub25vY3RudW1iZXJcIixsYzA9XCJ1bnJlYWNoYWJsZSB0b2tlbiBvY3RudW1iZXJcIixwYzA9XCJ1bnJlYWNoYWJsZSB0b2tlbiBvY3RiaWdpbnRcIixrYzA9XCJ1bnJlYWNoYWJsZSB0b2tlbiBiaWdudW1iZXJcIixtYzA9XCJ1bnJlYWNoYWJsZSB0b2tlbiBiaWdpbnRcIixoYzA9XCJ1bnJlYWNoYWJsZSB0b2tlblwiLGRjMD1sTCx5YzA9WzcsXCIjIVwiXSxnYzA9XCJleHBlY3RlZCA/XCIsd2MwPVwidW5yZWFjaGFibGUgc3RyaW5nX2VzY2FwZVwiLF9jMD1ZMSxiYzA9V2wsVGMwPVdsLEVjMD1ZMSxTYzA9aUksQWMwPVBGLFBjMD1cIm5cIixJYzA9XCJyXCIsTmMwPVwidFwiLGpjMD1ZRixDYzA9V2wsT2MwPVlhLERjMD1ZYSxGYzA9XCJ1bnJlYWNoYWJsZSBpZF9jaGFyXCIsUmMwPVlhLExjMD1ZYSxNYzA9V2wscWMwPUhSLFVjMD1FTyxCYzA9TF8sWGMwPVsyNixcInRva2VuIElMTEVHQUxcIl0sWWMwPVswLFsxMSxcInRoZSBpZGVudGlmaWVyIGBcIixbMiwwLFsxMiw5NiwwXV1dLFwidGhlIGlkZW50aWZpZXIgYCVzYFwiXSx6YzA9WzAsMV0sS2MwPVswLDFdLEpjMD1ERixHYzA9REYsV2MwPVswLFsxMSxcImFuIGlkZW50aWZpZXIuIFdoZW4gZXhwb3J0aW5nIGEgXCIsWzIsMCxbMTEsXCIgYXMgYSBuYW1lZCBleHBvcnQsIHlvdSBtdXN0IHNwZWNpZnkgYSBcIixbMiwwLFsxMSxcIiBuYW1lLiBEaWQgeW91IG1lYW4gYGV4cG9ydCBkZWZhdWx0IFwiLFsyLDAsWzExLFwiIC4uLmA/XCIsMF1dXV1dXV0sXCJhbiBpZGVudGlmaWVyLiBXaGVuIGV4cG9ydGluZyBhICVzIGFzIGEgbmFtZWQgZXhwb3J0LCB5b3UgbXVzdCBzcGVjaWZ5IGEgJXMgbmFtZS4gRGlkIHlvdSBtZWFuIGBleHBvcnQgZGVmYXVsdCAlcyAuLi5gP1wiXSxWYzA9TW0sJGMwPVwiUGVla2luZyBjdXJyZW50IGxvY2F0aW9uIHdoZW4gbm90IGF2YWlsYWJsZVwiLFFjMD1bMCxcInNyYy9wYXJzZXIvcGFyc2VyX2Vudi5tbFwiLDM2NSw5XSxIYzA9XCJJbnRlcm5hbCBFcnJvcjogVHJpZWQgdG8gYWRkX2RlY2xhcmVkX3ByaXZhdGUgd2l0aCBvdXRzaWRlIG9mIGNsYXNzIHNjb3BlLlwiLFpjMD1cIkludGVybmFsIEVycm9yOiBgZXhpdF9jbGFzc2AgY2FsbGVkIGJlZm9yZSBhIG1hdGNoaW5nIGBlbnRlcl9jbGFzc2BcIix4czA9WjAscnMwPVswLDAsMF0sZXMwPVswLDAsMF0sdHMwPVwiUGFyc2VyX2Vudi5UcnkuUm9sbGJhY2tcIixuczA9WjAsdXMwPVowLGlzMD1bMCxCMSxHaSxGaSxGRCxUUixNNyxLMSxfZixjNyxWZixuYyxkZixBaSxndSxnaSxudSxTNyxzNyxSdSxUZixENyxZdSx6aSxONyx6bixSZixmdSxaNyxYbixLZixpcyxKZixyZixjZix0cyxnYyxVNyx6ZSxXbixPaSx4NyxOYyxUaSxYZixPYyxHZSxUYyxTdSxXNyxpNyxCYyx6dSx4dSxrNyxYZSxKdSx2NyxwZixyNyxhZixvNyxxYyxNZSx3ZixsaSxMdSxBNyxydSxNaSxKaSxnNyxEZixRNyxrYyxMaSxmNyxqbixrZixfdSxDNyxmaSxJYyxvaSx2dSxfZSxEYyxLbixNZixEdSxycyxVbixHbixlNyxOZixhYyxCbixKbixTaSxGZixRaSxUdSxLaSxPbixQYyxOdSxYdSxtaSxDdSxGdSxHdSxWbix2aSxqYyxFaSxRYyxTZixFYyxBdSxidSxzaSxjdSxNbixoZixWYyxaaSxMNyxqaSxCZixIaSxsZixKNyx1dSxtNyxKYyxlYyxzdSxtdSwkNyxZYyxWdSxuZSxsNyxxbix5YyxXdSwkaSxldSxYNyx1ZixJZixXYyx1YyxsYyxPNyxaZixFdSxQZixIbixUNyxCNyxFZix5NywkYyxLdSx3aSxkaSxwYyxSbixJdSxNdSx6NyxXaSxpZSxXZixNYyxZZixkdSxtZixYYyxEaSxEbixYMSx5aSxJNyxVYyxQdCxraSxkYyx4cyxLNyxRbiwkdSx3dSxyaSxSaSxoNywkZix4YyxCdSxWNyx0ZixVZixucyxwdSxlZixZbix6YyxwaSx4aSxDaSxaYyxuZix0NyxwNyxnZixadSx3NyxvYyxGYyx1NyxuMSxDbixtYyx4Zix1cyxkNyxGbixQaSxjYyxBZix3Yyx2YyxlcyxfNyxTYyxiZixyYyxpYyxhdSx5dSxiNyxiZSxCaSxqdSxObixIZixzYyxuaSxfYyxpaSxWaSxpdSxJaSxINyxMZixMYyxZZSxMZSxxaSxZaSxxdSxBYyxSYyxGNyx0dSxPZixmYyxIYyxMbix0YyxiaSxqZixZNyxYaSxnRCxSNyxUTyxNRixmZixoaSxhNyx6ZixDZixQNyxVdSxhaSxlaSxPdSx5ZixQdSxsdSxvZixabixRdSxuNyxOaSx0aSxmcyxLZSxHNyxiYyxmbixqNyxFNyxIdSxLYywkbixvdSxrdSxjaSxoYyxVaSxHZix4bixzZl0sZnMwPVswLEIxLEdpLEZpLE03LEsxLF9mLGM3LFZmLG5jLGRmLEFpLGd1LGdpLG51LFM3LHM3LFJ1LFRmLEQ3LFl1LHppLE43LHpuLFJmLGZ1LFo3LFhuLEtmLGlzLEpmLHJmLGNmLHRzLGdjLFU3LHplLFduLE9pLHg3LE5jLFRpLFhmLE9jLEdlLFRjLFN1LFc3LGk3LEJjLHp1LHh1LGs3LFhlLEp1LHY3LHBmLHI3LGFmLG83LHFjLE1lLHdmLGxpLEx1LEE3LHJ1LE1pLEppLGc3LERmLFE3LGtjLExpLGY3LGpuLGtmLF91LEM3LGZpLEljLG9pLHZ1LF9lLERjLEtuLE1mLER1LHJzLFVuLEduLGU3LE5mLGFjLEJuLEpuLFNpLEZmLFFpLFR1LEtpLE9uLFBjLE51LFh1LG1pLEN1LEZ1LEd1LFZuLHZpLGpjLEVpLFFjLFNmLEVjLEF1LGJ1LHNpLGN1LE1uLGhmLFZjLFppLEw3LGppLEJmLEhpLGxmLEo3LHV1LG03LEpjLGVjLHN1LG11LCQ3LFljLFZ1LG5lLGw3LHFuLHljLFd1LCRpLGV1LFg3LHVmLElmLFdjLHVjLGxjLE83LFpmLEV1LFBmLEhuLFQ3LEI3LEVmLHk3LCRjLEt1LHdpLGRpLHBjLFJuLEl1LE11LHo3LFdpLGllLFdmLE1jLFlmLGR1LG1mLFhjLERpLERuLFgxLHlpLEk3LFVjLFB0LGtpLGRjLHhzLEs3LFFuLCR1LHd1LHJpLFJpLGg3LCRmLHhjLEJ1LFY3LHRmLFVmLG5zLHB1LGVmLFluLHpjLHBpLHhpLENpLFpjLG5mLHQ3LHA3LGdmLFp1LHc3LG9jLEZjLHU3LG4xLENuLG1jLHhmLHVzLGQ3LEZuLFBpLGNjLEFmLHdjLHZjLGVzLF83LFNjLGJmLHJjLGljLGF1LHl1LGI3LGJlLEJpLGp1LE5uLEhmLHNjLG5pLF9jLGlpLFZpLGl1LElpLEg3LExmLExjLFllLExlLHFpLFlpLHF1LEFjLFJjLEY3LHR1LE9mLGZjLEhjLExuLHRjLGJpLGpmLFk3LFhpLFI3LGZmLGhpLGE3LHpmLENmLFA3LFV1LGFpLGVpLE91LHlmLFB1LGx1LG9mLFpuLFF1LG43LE5pLHRpLGZzLEtlLEc3LGJjLGZuLGo3LEU3LEh1LEtjLCRuLG91LGt1LGNpLGhjLFVpLEdmLHhuLHNmXSxjczA9WzAsQmMsS3UseGMsa2kscmksZnMsR3UsS2ksTzcsejcsYmMsZnUsR24sR2UscnMsbWMsTDcsSGkseWYsdHMsU2ksQjcsdmksV2YseTcsaWMsXzcsR2ksX3UsSzcseGksZjcsJGksc2MsT2YseHMscmMsUWMsUHQsTTcsZ2YsRGYsVmksTmksQnUsbjcsSG4sY2Msd2YsJHUsQ2ksT2MsUGMsSTcsVzcsTW4sZHUsYXUsV3UsRWksYWksaGksRGMsc2YscnUsamksYmksTjcsVHUsTHUsV2MsQ2YsZTcsTWUsSm4sUmksS24sU2YsWmYsVDcsZGMsbmUsWWksWG4sdmMsbTcsbGYsdWMsbDcsJGYsJDcsZzcsVWksX2MsRm4sYnUscjcsdnUsR2YsYjcsdGksazcsSzEsbGksSDcsczcsdjcseWksY3UsSHUscGksVTcscGMsT3UsbWksWGYsYmUsdDcsWjcsQjEscW4sZ2MsSWksTWksZ3UsSWMsTGYsYWYsS2MsQWksZmYsaXUsRnUsVmYsdXUsRWYsa3UsSmYsTXUsU2Msb2MsVW4seGYseWMsZmksWnUsVGYsaXMsamYsX2YscmYsenUsUnUsU3UsZGYsUDcsTWMsWmMsYTcsVnUsaDcsWTcsbmMsUjcsaGYsQ3UsWDcsZmMsJG4sc2ksb2YsZWksTG4sSmMsQzcsdWYsdGMsQXUsWDEsWGUsUzcsRDcsVGMsa2YsemUsWWUsVm4sVWMsRHUsdTcsJGMsX2UsRzcsbnMsYmYsWWYsemYsQ24sVjcsd2ksd3UsbnUsZXMscWMsWW4sRGksQmYsd2MsZDcsUmMsWHUseHUsT24sbWYsYWMsa2MsS2YsUWksQTcsQm4sWXUsbmksSjcsWm4saWksajcsUm4sVGkseXUsY2YsUW4sbzcsRG4sRmYsbHUsTnUsUGYsVXUsbXUsV2ksQmksUmYseG4sYzcsanUsUXUsem4sTm4sRXUsZGkscXUsZXUsTGksamMsSXUsdzcsc3UsSWYsemkseDcsb3UsWmksRjcsam4sY2ksRTcsbjEsb2ksWGksRmMsVmMscHUsZWYsaTcsTGUsdGYsSGMsSmksUGksSGYsT2ksTmMsZWMsemMsdXMsZ2ksbmYsWWMsTWYsZm4sWGMsUHUsbGMsTmYsVWYsTGMsSnUsQWYsS2UsaGMsaWUscWksRmksdHUscGYscDcsQWMsUTcsV24sRWNdLHNzMD1bMCxCYyxLdSx4YyxraSxyaSxmcyxHdSxLaSxPNyx6NyxiYyxmdSxHbixHZSxycyxtYyxMNyxIaSx5Zix0cyxTaSxCNyx2aSxXZix5NyxpYyxfNyxHaSxfdSxLNyx4aSxmNywkaSxzYyxPZix4cyxyYyxRYyxQdCxNNyxUUixnZixEZixWaSxOaSxCdSxuNyxIbixjYyx3ZiwkdSxDaSxPYyxQYyxJNyxXNyxNbixkdSxhdSxXdSxFaSxhaSxoaSxEYyxzZixydSxqaSxiaSxUTyxONyxUdSxMdSxXYyxDZixlNyxNZSxKbixSaSxLbixTZixaZixUNyxkYyxuZSxZaSxYbix2YyxtNyxsZix1YyxsNywkZiwkNyxnNyxVaSxfYyxGbixidSxyNyx2dSxHZixiNyx0aSxrNyxLMSxsaSxINyxzNyx2Nyx5aSxjdSxIdSxwaSxVNyxwYyxPdSxtaSxYZixiZSx0NyxaNyxCMSxxbixnYyxJaSxNaSxndSxJYyxMZixhZixLYyxBaSxmZixpdSxGdSxWZix1dSxFZixrdSxKZixNdSxTYyxvYyxVbix4Zix5YyxmaSxadSxUZixpcyxqZixfZixyZix6dSxSdSxTdSxkZixQNyxNYyxaYyxhNyxWdSxoNyxZNyxuYyxSNyxoZixDdSxYNyxmYywkbixzaSxvZixlaSxMbixKYyxDNyx1Zix0YyxBdSxYMSxYZSxTNyxENyxUYyxrZix6ZSxZZSxWbixVYyxEdSx1NywkYyxfZSxHNyxucyxiZixZZix6ZixDbixWNyx3aSx3dSxudSxlcyxxYyxZbixEaSxCZix3YyxkNyxSYyxYdSx4dSxPbixtZixhYyxrYyxLZixRaSxBNyxCbixZdSxuaSxKNyxabixpaSxqNyxSbixNRixUaSx5dSxjZixRbixvNyxEbixGZixsdSxOdSxQZixVdSxtdSxXaSxCaSxSZixnRCx4bixjNyxqdSxRdSx6bixGRCxObixFdSxkaSxxdSxldSxMaSxqYyxJdSx3NyxzdSxJZix6aSx4NyxvdSxaaSxGNyxqbixjaSxFNyxuMSxvaSxYaSxGYyxWYyxwdSxlZixpNyxMZSx0ZixIYyxKaSxQaSxIZixPaSxOYyxlYyx6Yyx1cyxnaSxuZixZYyxNZixmbixYYyxQdSxsYyxOZixVZixMYyxKdSxBZixLZSxoYyxpZSxxaSxGaSx0dSxwZixwNyxBYyxRNyxXbixFY10sYXMwPWgzLG9zMD1kOCx2czA9cWEsbHMwPUdsLHBzMD1YZSxrczA9R2UsbXMwPWFJLGhzMD1RbyxkczA9emUseXMwPXk4LGdzMD1ZbCx3czA9TDQsX3MwPUhrLGJzMD11NixUczA9ajMsRXMwPXV2LFNzMD1HcyxBczA9cmEsUHMwPUtlLElzMD1wcCxOczA9VjgsanMwPUxlLENzMD1HbyxPczA9UnAsRHMwPWU4LEZzMD1mOCxSczA9TWwsTHMwPVFmLE1zMD1SZSxxczA9WHAsVXMwPXJ2LEJzMD1LbCxYczA9WnMsWXMwPVdzLHpzMD1RbCxLczA9Tm0sSnMwPVgxLEdzMD1OMyxXczA9Y3YsVnMwPWllLCRzMD1CcCxRczA9aDYsSHMwPVJsLFpzMD1sNix4YTA9QjEscmEwPVllLGVhMD1nNix0YTA9cWYsbmEwPXViLHVhMD1jUyxpYTA9S2EsZmEwPW52LGNhMD15cCxzYTA9T3AsYWEwPWJlLG9hMD1wMyx2YTA9YXYsbGEwPWwzLHBhMD1XcyxrYTA9djYsbWEwPUlwLGhhMD1GcCxkYTA9ZmsseWEwPUg4LGdhMD1abyx3YTA9YTYsX2EwPWIzLGJhMD1tMyxUYTA9JGwsRWEwPWs4LFNhMD1bMCxNbV0sQWEwPVowLFBhMD1bMTgsMV0sSWEwPVsxOCwwXSxOYTA9WzAsMF0samEwPSRzLENhMD1bMCwwXSxPYTA9WzAsXCJhIHR5cGVcIl0sRGEwPVswLDBdLEZhMD1bMCxcImEgbnVtYmVyIGxpdGVyYWwgdHlwZVwiXSxSYTA9WzAsMF0sTGEwPWE2LE1hMD1iMyxxYTA9bTMsVWEwPVwiWW91IHNob3VsZCBvbmx5IGNhbGwgcmVuZGVyX3R5cGUgYWZ0ZXIgbWFraW5nIHN1cmUgdGhlIG5leHQgdG9rZW4gaXMgYSByZW5kZXJzIHZhcmlhbnRcIixCYTA9WzAsWzAsMCwwLDAsMF1dLFhhMD1bMCwwLDAsMF0sWWEwPVswLDFdLHphMD1bMCxJMywxNDM2LDZdLEthMD1bMCxJMywxNDM5LDZdLEphMD1bMCxJMywxNTQyLDhdLEdhMD1bMCwxXSxXYTA9WzAsSTMsMTU1OSw4XSxWYTA9XCJDYW4gbm90IGhhdmUgYm90aCBgc3RhdGljYCBhbmQgYHByb3RvYFwiLCRhMD1SZSxRYTA9cGcsSGEwPVswLDBdLFphMD1bMCxcInRoZSBlbmQgb2YgYSB0dXBsZSB0eXBlIChubyB0cmFpbGluZyBjb21tYSBpcyBhbGxvd2VkIGluIGluZXhhY3QgdHVwbGUgdHlwZSkuXCJdLHhvMD1bMCxJMyxKOSwxNV0scm8wPVswLEkzLG5nLDE1XSxlbzA9VWUsdG8wPVVlLG5vMD1payx1bzA9ZjYsaW8wPVswLFsxMSxcIkZhaWx1cmUgd2hpbGUgbG9va2luZyB1cCBcIixbMiwwLFsxMSxcIi4gSW5kZXg6IFwiLFs0LDAsMCwwLFsxMSxcIi4gTGVuZ3RoOiBcIixbNCwwLDAsMCxbMTIsNDYsMF1dXV1dXV0sXCJGYWlsdXJlIHdoaWxlIGxvb2tpbmcgdXAgJXMuIEluZGV4OiAlZC4gTGVuZ3RoOiAlZC5cIl0sZm8wPVswLDAsMCwwXSxjbzA9XCJPZmZzZXRfdXRpbHMuT2Zmc2V0X2xvb2t1cF9mYWlsZWRcIixzbzA9ZzIsYW8wPVNPLG9vMD1mNix2bzA9aWssbG8wPU9PLHBvMD1mNixrbzA9aWssbW8wPV9ELGhvMD12eCxkbzA9XCJub3JtYWxcIix5bzA9cWYsZ28wPVwianN4VGFnXCIsd28wPVwianN4Q2hpbGRcIixfbzA9XCJ0ZW1wbGF0ZVwiLGJvMD1tTyxUbzA9XCJjb250ZXh0XCIsRW8wPXFmLFNvMD1bNiwwXSxBbzA9WzAsMF0sUG8wPVswLDFdLElvMD1bMCw0XSxObzA9WzAsMl0sam8wPVswLDNdLENvMD1bMCwwXSxPbzA9VWUsRG8wPVswLDAsMCwwLDAsMF0sRm8wPVswLEhFXSxSbzA9WzI5LFswLDAsMF1dLExvMD1bMCwwXSxNbzA9WzAsMV0scW8wPVswLDFdLFVvMD1bMCwwXSxCbzA9JHMsWG8wPVswLDcwXSxZbzA9WzAsODFdLHpvMD1hUixLbzA9aFQsSm8wPVwiZXhwb3J0c1wiLEdvMD1vNixXbzA9WzAsWjAsWjAsMF0sVm8wPVswLE1PXSwkbzA9WzAsODFdLFFvMD1bMCxcImEgZGVjbGFyYXRpb24sIHN0YXRlbWVudCBvciBleHBvcnQgc3BlY2lmaWVyc1wiXSxIbzA9WzAsMV0sWm8wPVswLE15LDE4NzIsMjFdLHh2MD1bMCxcInRoZSBrZXl3b3JkIGBhc2BcIl0scnYwPVswLDMwXSxldjA9WzAsMzBdLHR2MD1bMCwwXSxudjA9WzAsMV0sdXYwPVswLE1PXSxpdjA9WzAsXCJ0aGUga2V5d29yZCBgZnJvbWBcIl0sZnYwPVswLFowLFowLDBdLGN2MD1bMCxIRV0sc3YwPVwiTGFiZWxcIixhdjA9WzAsSEVdLG92MD1bMCwwLDBdLHZ2MD1bMCwzOV0sbHYwPVswLE15LDM3MiwyMl0scHYwPVswLDM4XSxrdjA9WzAsTXksMzkxLDIyXSxtdjA9WzAsMF0saHYwPVwidGhlIHRva2VuIGA7YFwiLGR2MD1bMCwwXSx5djA9WzAsMF0sZ3YwPVVELHd2MD1bMCxNbV0sX3YwPVVELGJ2MD1bMjYsUHRdLFR2MD0kcyxFdjA9WzAsNzBdLFN2MD1bMCxaMCwwXSxBdjA9TnQsUHYwPVswLFowLDBdLEl2MD1bMCw3MF0sTnYwPVswLDcwXSxqdjA9aDMsQ3YwPVswLFowLDBdLE92MD1bMCwwLDBdLER2MD1bMCwwLDBdLEZ2MD1bMCxbMCw4XV0sUnYwPVswLFswLDddXSxMdjA9WzAsWzAsNl1dLE12MD1bMCxbMCwxMF1dLHF2MD1bMCxbMCw5XV0sVXYwPVswLFswLDExXV0sQnYwPVswLFswLDVdXSxYdjA9WzAsWzAsNF1dLFl2MD1bMCxbMCwyXV0senYwPVswLFswLDNdXSxLdjA9WzAsWzAsMV1dLEp2MD1bMCxbMCwwXV0sR3YwPVswLFswLDEyXV0sV3YwPVswLFswLDEzXV0sVnYwPVswLFswLDE0XV0sJHYwPVswLDBdLFF2MD1bMCwxXSxIdjA9WzAsMF0sWnYwPVswLDJdLHgzMD1bMCwzXSxyMzA9WzAsN10sZTMwPVswLDZdLHQzMD1bMCw0XSxuMzA9WzAsNV0sdTMwPVswLDFdLGkzMD1bMCwwXSxmMzA9WzAsMV0sYzMwPVswLDBdLHMzMD1OMyxhMzA9WzAsXCJlaXRoZXIgYSBjYWxsIG9yIGFjY2VzcyBvZiBgc3VwZXJgXCJdLG8zMD1OMyx2MzA9WDEsbDMwPVhsLHAzMD1YbCxrMzA9cnYsbTMwPVswLFwidGhlIGlkZW50aWZpZXIgYHRhcmdldGBcIl0saDMwPVswLDBdLGQzMD1bMCwxXSx5MzA9WzAsMV0sZzMwPVswLDFdLHczMD1bMCwxXSxfMzA9WzAsMV0sYjMwPVswLDcwXSxUMzA9V2wsRTMwPUhSLFMzMD1MXyxBMzA9TF8sUDMwPUVPLEkzMD1bMjksWzAsMCwwXV0sTjMwPVswLDBdLGozMD1bMCwxXSxDMzA9WzAsMF0sTzMwPXVlLEQzMD11ZSxGMzA9WzAsXCJhIHJlZ3VsYXIgZXhwcmVzc2lvblwiXSxSMzA9WjAsTDMwPVowLE0zMD1aMCxxMzA9WzAsNzhdLFUzMD1bMCxcInNyYy9wYXJzZXIvZXhwcmVzc2lvbl9wYXJzZXIubWxcIiwxNDUwLDE3XSxCMzA9WzAsXCJhIHRlbXBsYXRlIGxpdGVyYWwgcGFydFwiXSxYMzA9WzAsWzAsWjAsWjBdLDFdLFkzMD1xbyx6MzA9WzAsNl0sSzMwPVswLFswLDE3LFswLDJdXV0sSjMwPVswLFswLDE4LFswLDNdXV0sRzMwPVswLFswLDE5LFswLDRdXV0sVzMwPVswLFswLDAsWzAsNV1dXSxWMzA9WzAsWzAsMSxbMCw1XV1dLCQzMD1bMCxbMCwyLFswLDVdXV0sUTMwPVswLFswLDMsWzAsNV1dXSxIMzA9WzAsWzAsNSxbMCw2XV1dLFozMD1bMCxbMCw3LFswLDZdXV0seGwwPVswLFswLDQsWzAsNl1dXSxybDA9WzAsWzAsNixbMCw2XV1dLGVsMD1bMCxbMCw4LFswLDddXV0sdGwwPVswLFswLDksWzAsN11dXSxubDA9WzAsWzAsMTAsWzAsN11dXSx1bDA9WzAsWzAsMTEsWzAsOF1dXSxpbDA9WzAsWzAsMTIsWzAsOF1dXSxmbDA9WzAsWzAsMTUsWzAsOV1dXSxjbDA9WzAsWzAsMTMsWzAsOV1dXSxzbDA9WzAsWzAsMTQsWzEsMTBdXV0sYWwwPVswLFswLDE2LFswLDldXV0sb2wwPVswLFswLDIxLFswLDZdXV0sdmwwPVswLFswLDIwLFswLDZdXV0sbGwwPVsyMixXZ10scGwwPVsxMyxcIkpTWCBmcmFnbWVudFwiXSxrbDA9TW8sbWwwPWNuLGhsMD1bMCx0bl0sZGwwPVsxLHRuXSx5bDA9WzAsWjAsWjAsMF0sZ2wwPVswLE1tXSx3bDA9WjAsX2wwPVswLFwiYSBudW1iZXIgb3Igc3RyaW5nIGxpdGVyYWxcIl0sYmwwPVswLFowLCdcIlwiJywwXSxUbDA9WzAsMF0sRWwwPVswLFwiYSBudW1iZXIgbGl0ZXJhbFwiXSxTbDA9WzAsWzAsMCxZMSwwXV0sQWwwPVswLDgxXSxQbDA9WzIwLGRSXSxJbDA9WzIwLFpsXSxObDA9TWwsamwwPVswLFowLDBdLENsMD1cInVuZXhwZWN0ZWQgUHJpdmF0ZU5hbWUgaW4gUHJvcGVydHksIGV4cGVjdGVkIGEgUHJpdmF0ZUZpZWxkXCIsT2wwPVswLDAsMF0sRGwwPXphLEZsMD1cIk11c3QgYmUgb25lIG9mIHRoZSBhYm92ZVwiLFJsMD1bMCwxXSxMbDA9WzAsMV0sTWwwPVswLDFdLHFsMD16YSxVbDA9emEsQmwwPWI5LFhsMD1cIkludGVybmFsIEVycm9yOiBwcml2YXRlIG5hbWUgZm91bmQgaW4gb2JqZWN0IHByb3BzXCIsWWwwPVswLDAsMCwwXSx6bDA9WzAsdkZdLEtsMD1bMTksWzAsMF1dLEpsMD1bMCx2Rl0sR2wwPXl3LFdsMD1cIk5vb286IFwiLFZsMD1HbywkbDA9XCJQYXJzZXIgZXJyb3I6IE5vIHN1Y2ggdGhpbmcgYXMgYW4gZXhwcmVzc2lvbiBwYXR0ZXJuIVwiLFFsMD1bMCxbMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMF1dLEhsMD1bMCxcInNyYy9wYXJzZXIvcGFyc2VyX2Zsb3cubWxcIixBcCwyOF0sWmwwPVswLFswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwXV0seDYwPVNPLHI2MD12eCxlNjA9c0QsdDYwPXZELG42MD12RCx1NjA9c0QsaTYwPXFmLGY2MD13TyxjNjA9STIsczYwPWcyLGE2MD1cIkludGVycHJldGVyRGlyZWN0aXZlXCIsbzYwPVwiaW50ZXJwcmV0ZXJcIix2NjA9XCJQcm9ncmFtXCIsbDYwPUpsLHA2MD1cIkJyZWFrU3RhdGVtZW50XCIsazYwPUpsLG02MD1cIkNvbnRpbnVlU3RhdGVtZW50XCIsaDYwPVwiRGVidWdnZXJTdGF0ZW1lbnRcIixkNjA9aXYseTYwPVwiRGVjbGFyZUV4cG9ydEFsbERlY2xhcmF0aW9uXCIsZzYwPWl2LHc2MD1fOSxfNjA9elQsYjYwPUdvLFQ2MD1cIkRlY2xhcmVFeHBvcnREZWNsYXJhdGlvblwiLEU2MD1JMixTNjA9VnIsQTYwPVwiRGVjbGFyZU1vZHVsZVwiLFA2MD11MSxJNjA9XCJEZWNsYXJlTW9kdWxlRXhwb3J0c1wiLE42MD1JMixqNjA9VnIsQzYwPVwiRGVjbGFyZU5hbWVzcGFjZVwiLE82MD15MyxENjA9STIsRjYwPVwiRG9XaGlsZVN0YXRlbWVudFwiLFI2MD1cIkVtcHR5U3RhdGVtZW50XCIsTDYwPWJFLE02MD16VCxxNjA9XCJFeHBvcnREZWZhdWx0RGVjbGFyYXRpb25cIixVNjA9YkUsQjYwPWJTLFg2MD1pdixZNjA9XCJFeHBvcnRBbGxEZWNsYXJhdGlvblwiLHo2MD1iRSxLNjA9aXYsSjYwPV85LEc2MD16VCxXNjA9XCJFeHBvcnROYW1lZERlY2xhcmF0aW9uXCIsVjYwPVwiZGlyZWN0aXZlXCIsJDYwPW4xLFE2MD1cIkV4cHJlc3Npb25TdGF0ZW1lbnRcIixINjA9STIsWjYwPVwidXBkYXRlXCIseDQwPXkzLHI0MD1HYyxlNDA9XCJGb3JTdGF0ZW1lbnRcIix0NDA9XCJlYWNoXCIsbjQwPUkyLHU0MD1lbixpNDA9UXMsZjQwPVwiRm9ySW5TdGF0ZW1lbnRcIixjNDA9bnYsczQwPUkyLGE0MD1lbixvNDA9UXMsdjQwPVwiRm9yT2ZTdGF0ZW1lbnRcIixsNDA9YkQscDQwPXBQLGs0MD15MyxtNDA9XCJJZlN0YXRlbWVudFwiLGg0MD1xZixkNDA9WnMseTQwPWcyLGc0MD1ITyx3NDA9aXYsXzQwPV85LGI0MD1cIkltcG9ydERlY2xhcmF0aW9uXCIsVDQwPUkyLEU0MD1KbCxTNDA9XCJMYWJlbGVkU3RhdGVtZW50XCIsQTQwPWU5LFA0MD15MSxJNDA9XCJNYXRjaFN0YXRlbWVudFwiLE40MD15MSxqNDA9XCJSZXR1cm5TdGF0ZW1lbnRcIixDNDA9ZTksTzQwPVwiZGlzY3JpbWluYW50XCIsRDQwPVwiU3dpdGNoU3RhdGVtZW50XCIsRjQwPXkxLFI0MD1cIlRocm93U3RhdGVtZW50XCIsTDQwPVwiZmluYWxpemVyXCIsTTQwPVwiaGFuZGxlclwiLHE0MD1mbixVNDA9XCJUcnlTdGF0ZW1lbnRcIixCNDA9STIsWDQwPXkzLFk0MD1cIldoaWxlU3RhdGVtZW50XCIsejQwPUkyLEs0MD1HNCxKNDA9XCJXaXRoU3RhdGVtZW50XCIsRzQwPWNULFc0MD1cIkFycmF5RXhwcmVzc2lvblwiLFY0MD1KMSwkNDA9RG0sUTQwPW4xLEg0MD1NZSxaNDA9UmQseHAwPUthLHJwMD1JMixlcDA9dW4sdHAwPVZyLG5wMD1cIkFycm93RnVuY3Rpb25FeHByZXNzaW9uXCIsdXAwPW4xLGlwMD1cIkFzQ29uc3RFeHByZXNzaW9uXCIsZnAwPXUxLGNwMD1uMSxzcDA9XCJBc0V4cHJlc3Npb25cIixhcDA9Yjksb3AwPWVuLHZwMD1RcyxscDA9eHYscHAwPVwiQXNzaWdubWVudEV4cHJlc3Npb25cIixrcDA9ZW4sbXAwPVFzLGhwMD14dixkcDA9XCJCaW5hcnlFeHByZXNzaW9uXCIseXAwPVwiQ2FsbEV4cHJlc3Npb25cIixncDA9YkQsd3AwPXBQLF9wMD15MyxicDA9XCJDb25kaXRpb25hbEV4cHJlc3Npb25cIixUcDA9aXYsRXAwPVwiSW1wb3J0RXhwcmVzc2lvblwiLFNwMD1MRixBcDA9TlIsUHAwPVdnLElwMD1lbixOcDA9UXMsanAwPXh2LENwMD1cIkxvZ2ljYWxFeHByZXNzaW9uXCIsT3AwPWU5LERwMD15MSxGcDA9XCJNYXRjaEV4cHJlc3Npb25cIixScDA9XCJNZW1iZXJFeHByZXNzaW9uXCIsTHAwPU04LE1wMD1YbCxxcDA9XCJNZXRhUHJvcGVydHlcIixVcDA9dmIsQnAwPWprLFhwMD1rRCxZcDA9XCJOZXdFeHByZXNzaW9uXCIsenAwPWJrLEtwMD1cIk9iamVjdEV4cHJlc3Npb25cIixKcDA9YXQsR3AwPVwiT3B0aW9uYWxDYWxsRXhwcmVzc2lvblwiLFdwMD1hdCxWcDA9XCJPcHRpb25hbE1lbWJlckV4cHJlc3Npb25cIiwkcDA9WkYsUXAwPVwiU2VxdWVuY2VFeHByZXNzaW9uXCIsSHAwPVwiU3VwZXJcIixacDA9XCJUaGlzRXhwcmVzc2lvblwiLHhrMD11MSxyazA9bjEsZWswPVwiVHlwZUNhc3RFeHByZXNzaW9uXCIsdGswPXUxLG5rMD1uMSx1azA9XCJTYXRpc2ZpZXNFeHByZXNzaW9uXCIsaWswPXkxLGZrMD1cIkF3YWl0RXhwcmVzc2lvblwiLGNrMD1VZSxzazA9cTcsYWswPVJPLG9rMD1KTCx2azA9WnMsbGswPVdzLHBrMD1LbCxrazA9XCJtYXRjaGVkIGFib3ZlXCIsbWswPXkxLGhrMD1LRCxkazA9eHYseWswPVwiVW5hcnlFeHByZXNzaW9uXCIsZ2swPUVELHdrMD1XUixfazA9S0QsYmswPXkxLFRrMD14dixFazA9XCJVcGRhdGVFeHByZXNzaW9uXCIsU2swPVwiZGVsZWdhdGVcIixBazA9eTEsUGswPVwiWWllbGRFeHByZXNzaW9uXCIsSWswPVBPLE5rMD1JMixqazA9X2UsQ2swPVwiTWF0Y2hFeHByZXNzaW9uQ2FzZVwiLE9rMD1QTyxEazA9STIsRmswPV9lLFJrMD1cIk1hdGNoU3RhdGVtZW50Q2FzZVwiLExrMD10ayxNazA9X2UscWswPVhhLFVrMD1cIk1hdGNoT2JqZWN0UGF0dGVyblByb3BlcnR5XCIsQmswPU04LFhrMD1cImJhc2VcIixZazA9XCJNYXRjaE1lbWJlclBhdHRlcm5cIix6azA9XCJsaXRlcmFsXCIsS2swPVwiTWF0Y2hMaXRlcmFsUGF0dGVyblwiLEprMD1cIk1hdGNoV2lsZGNhcmRQYXR0ZXJuXCIsR2swPVVlLFdrMD1xNyxWazA9eTEsJGswPXh2LFFrMD1cIk1hdGNoVW5hcnlQYXR0ZXJuXCIsSGswPUZsLFprMD1iayx4ODA9XCJNYXRjaE9iamVjdFBhdHRlcm5cIixyODA9RmwsZTgwPWNULHQ4MD1cIk1hdGNoQXJyYXlQYXR0ZXJuXCIsbjgwPVwicGF0dGVybnNcIix1ODA9XCJNYXRjaE9yUGF0dGVyblwiLGk4MD1VbSxmODA9X2UsYzgwPVwiTWF0Y2hBc1BhdHRlcm5cIixzODA9VnIsYTgwPVwiTWF0Y2hJZGVudGlmaWVyUGF0dGVyblwiLG84MD1Wcyx2ODA9VnIsbDgwPVwiTWF0Y2hCaW5kaW5nUGF0dGVyblwiLHA4MD15MSxrODA9XCJNYXRjaFJlc3RQYXR0ZXJuXCIsbTgwPVwiVW5leHBlY3RlZCBGdW5jdGlvbkRlY2xhcmF0aW9uIHdpdGggQm9keUV4cHJlc3Npb25cIixoODA9XCJIb29rRGVjbGFyYXRpb25cIixkODA9bjEseTgwPU1lLGc4MD1SZCx3ODA9S2EsXzgwPVwiRnVuY3Rpb25EZWNsYXJhdGlvblwiLGI4MD1KMSxUODA9RG0sRTgwPUkyLFM4MD11bixBODA9VnIsUDgwPVwiVW5leHBlY3RlZCBGdW5jdGlvbkV4cHJlc3Npb24gd2l0aCBCb2R5RXhwcmVzc2lvblwiLEk4MD1KMSxOODA9RG0sajgwPW4xLEM4MD1NZSxPODA9UmQsRDgwPUthLEY4MD1JMixSODA9dW4sTDgwPVZyLE04MD1cIkZ1bmN0aW9uRXhwcmVzc2lvblwiLHE4MD1hdCxVODA9dTEsQjgwPXFlLFg4MD10UyxZODA9YXQsejgwPXUxLEs4MD1xZSxKODA9XCJQcml2YXRlSWRlbnRpZmllclwiLEc4MD1hdCxXODA9dTEsVjgwPXFlLCQ4MD10UyxRODA9cFAsSDgwPXkzLFo4MD1cIlN3aXRjaENhc2VcIix4bTA9STIscm0wPVwicGFyYW1cIixlbTA9XCJDYXRjaENsYXVzZVwiLHRtMD1JMixubTA9XCJCbG9ja1N0YXRlbWVudFwiLHVtMD1WcyxpbTA9VnIsZm0wPVwiRGVjbGFyZVZhcmlhYmxlXCIsY20wPVwiRGVjbGFyZUhvb2tcIixzbTA9TWUsYW0wPVwiRGVjbGFyZUZ1bmN0aW9uXCIsb20wPVZyLHZtMD1sUixsbTA9Y3YscG0wPVFmLGttMD1JMixtbTA9SjEsaG0wPVZyLGRtMD1cIkRlY2xhcmVDbGFzc1wiLHltMD1KMSxnbTA9aDksd20wPXVuLF9tMD1GbCxibTA9dW4sVG0wPVZyLEVtMD1cIkRlY2xhcmVDb21wb25lbnRcIixTbTA9SjEsQW0wPWg5LFBtMD1GbCxJbTA9dW4sTm0wPVwiQ29tcG9uZW50VHlwZUFubm90YXRpb25cIixqbTA9YXQsQ20wPXUxLE9tMD1xZSxEbTA9XCJDb21wb25lbnRUeXBlUGFyYW1ldGVyXCIsRm0wPUkyLFJtMD1WcixMbTA9XCJEZWNsYXJlRW51bVwiLE1tMD1RZixxbTA9STIsVW0wPUoxLEJtMD1WcixYbTA9XCJEZWNsYXJlSW50ZXJmYWNlXCIsWW0wPWcyLHptMD1xZixLbTA9YlMsSm0wPVwiRXhwb3J0TmFtZXNwYWNlU3BlY2lmaWVyXCIsR20wPWVuLFdtMD1KMSxWbTA9VnIsJG0wPVwiRGVjbGFyZVR5cGVBbGlhc1wiLFFtMD1lbixIbTA9SjEsWm0wPVZyLHg1MD1cIlR5cGVBbGlhc1wiLHI1MD1cIkRlY2xhcmVPcGFxdWVUeXBlXCIsZTUwPVwiT3BhcXVlVHlwZVwiLHQ1MD1cInN1cGVydHlwZVwiLG41MD1cImltcGx0eXBlXCIsdTUwPUoxLGk1MD1WcixmNTA9XCJDbGFzc0RlY2xhcmF0aW9uXCIsYzUwPVwiQ2xhc3NFeHByZXNzaW9uXCIsczUwPVJrLGE1MD1jdixvNTA9XCJzdXBlclR5cGVQYXJhbWV0ZXJzXCIsdjUwPVwic3VwZXJDbGFzc1wiLGw1MD1KMSxwNTA9STIsazUwPVZyLG01MD1uMSxoNTA9XCJEZWNvcmF0b3JcIixkNTA9SjEseTUwPVZyLGc1MD1cIkNsYXNzSW1wbGVtZW50c1wiLHc1MD1JMixfNTA9XCJDbGFzc0JvZHlcIixiNTA9Um8sVDUwPWs2LEU1MD1CbyxTNTA9VDMsQTUwPVJrLFA1MD1rMyxJNTA9UmUsTjUwPVZzLGo1MD1nMixDNTA9WGEsTzUwPVwiTWV0aG9kRGVmaW5pdGlvblwiLEQ1MD1nNixGNTA9UmssUjUwPUsxLEw1MD1SZSxNNTA9azMscTUwPXUxLFU1MD1nMixCNTA9WGEsWDUwPUFMLFk1MD1cIkludGVybmFsIEVycm9yOiBQcml2YXRlIG5hbWUgZm91bmQgaW4gY2xhc3MgcHJvcFwiLHo1MD1nNixLNTA9UmssSjUwPUsxLEc1MD1SZSxXNTA9azMsVjUwPXUxLCQ1MD1nMixRNTA9WGEsSDUwPUFMLFo1MD1KMSx4aDA9aDkscmgwPXVuLGVoMD1Wcix0aDA9STIsbmgwPVwiQ29tcG9uZW50RGVjbGFyYXRpb25cIix1aDA9eTEsaWgwPVdULGZoMD1lbixjaDA9UXMsc2gwPUc4LGFoMD10ayxvaDA9aTYsdmgwPXFlLGxoMD1cIkNvbXBvbmVudFBhcmFtZXRlclwiLHBoMD1HYyxraDA9VnIsbWgwPVwiRW51bUJpZ0ludE1lbWJlclwiLGhoMD1WcixkaDA9WEQseWgwPUdjLGdoMD1Wcix3aDA9XCJFbnVtU3RyaW5nTWVtYmVyXCIsX2gwPVZyLGJoMD1YRCxUaDA9R2MsRWgwPVZyLFNoMD1cIkVudW1OdW1iZXJNZW1iZXJcIixBaDA9R2MsUGgwPVZyLEloMD1cIkVudW1Cb29sZWFuTWVtYmVyXCIsTmgwPXQ2LGpoMD1COCxDaDA9VWwsT2gwPVwiRW51bUJvb2xlYW5Cb2R5XCIsRGgwPXQ2LEZoMD1COCxSaDA9VWwsTGgwPVwiRW51bU51bWJlckJvZHlcIixNaDA9dDYscWgwPUI4LFVoMD1VbCxCaDA9XCJFbnVtU3RyaW5nQm9keVwiLFhoMD10NixZaDA9VWwsemgwPVwiRW51bVN5bWJvbEJvZHlcIixLaDA9dDYsSmgwPUI4LEdoMD1VbCxXaDA9XCJFbnVtQmlnSW50Qm9keVwiLFZoMD1JMiwkaDA9VnIsUWgwPVwiRW51bURlY2xhcmF0aW9uXCIsSGgwPVFmLFpoMD1JMix4ZDA9SjEscmQwPVZyLGVkMD1cIkludGVyZmFjZURlY2xhcmF0aW9uXCIsdGQwPUoxLG5kMD1Wcix1ZDA9XCJJbnRlcmZhY2VFeHRlbmRzXCIsaWQwPXUxLGZkMD1iayxjZDA9XCJPYmplY3RQYXR0ZXJuXCIsc2QwPXUxLGFkMD1jVCxvZDA9XCJBcnJheVBhdHRlcm5cIix2ZDA9ZW4sbGQwPVFzLHBkMD1HOCxrZDA9dTEsbWQwPXFlLGhkMD10UyxkZDA9eTEseWQwPVdULGdkMD15MSx3ZDA9V1QsX2QwPWVuLGJkMD1RcyxUZDA9RzgsRWQwPUdjLFNkMD1HYyxBZDA9Qm8sUGQwPVQzLElkMD1jRCxOZDA9azMsamQwPXRrLENkMD1rNixPZDA9VnMsRGQwPWcyLEZkMD1YYSxSZDA9d0YsTGQwPXkxLE1kMD1wRCxxZDA9ZW4sVWQwPVFzLEJkMD1HOCxYZDA9azMsWWQwPXRrLHpkMD1rNixLZDA9VnMsSmQwPWcyLEdkMD1YYSxXZDA9d0YsVmQwPXkxLCRkMD1wRCxRZDA9SXQsSGQwPWcyLFpkMD1vMyx4eTA9WjAscnkwPUl0LGV5MD1hdix0eTA9ZzIsbnkwPW8zLHV5MD1JdCxpeTA9ZzIsZnkwPW8zLGN5MD1yYSxzeTA9R3MsYXkwPUl0LG95MD1nMix2eTA9bzMsbHkwPVwiZmxhZ3NcIixweTA9X2Usa3kwPVwicmVnZXhcIixteTA9SXQsaHkwPWcyLGR5MD1vMyx5eTA9SXQsZ3kwPWcyLHd5MD1vMyxfeTA9WkYsYnkwPVwicXVhc2lzXCIsVHkwPVwiVGVtcGxhdGVMaXRlcmFsXCIsRXkwPVwiY29va2VkXCIsU3kwPUl0LEF5MD1cInRhaWxcIixQeTA9ZzIsSXkwPVwiVGVtcGxhdGVFbGVtZW50XCIsTnkwPVwicXVhc2lcIixqeTA9XCJ0YWdcIixDeTA9XCJUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb25cIixPeTA9WWwsRHkwPWozLEZ5MD11NixSeTA9VnMsTHkwPVwiZGVjbGFyYXRpb25zXCIsTXkwPVwiVmFyaWFibGVEZWNsYXJhdGlvblwiLHF5MD1HYyxVeTA9VnIsQnkwPVwiVmFyaWFibGVEZWNsYXJhdG9yXCIsWHkwPVwicGx1c1wiLFl5MD1lUix6eTA9Wm8sS3kwPXFhLEp5MD1kdyxHeTA9XCJpbi1vdXRcIixXeTA9VnMsVnkwPVwiVmFyaWFuY2VcIiwkeTA9XCJBbnlUeXBlQW5ub3RhdGlvblwiLFF5MD1cIk1peGVkVHlwZUFubm90YXRpb25cIixIeTA9XCJFbXB0eVR5cGVBbm5vdGF0aW9uXCIsWnkwPVwiVm9pZFR5cGVBbm5vdGF0aW9uXCIseDkwPVwiTnVsbExpdGVyYWxUeXBlQW5ub3RhdGlvblwiLHI5MD1cIlN5bWJvbFR5cGVBbm5vdGF0aW9uXCIsZTkwPVwiTnVtYmVyVHlwZUFubm90YXRpb25cIix0OTA9XCJCaWdJbnRUeXBlQW5ub3RhdGlvblwiLG45MD1cIlN0cmluZ1R5cGVBbm5vdGF0aW9uXCIsdTkwPVwiQm9vbGVhblR5cGVBbm5vdGF0aW9uXCIsaTkwPXUxLGY5MD1cIk51bGxhYmxlVHlwZUFubm90YXRpb25cIixjOTA9XCJVbmtub3duVHlwZUFubm90YXRpb25cIixzOTA9XCJOZXZlclR5cGVBbm5vdGF0aW9uXCIsYTkwPVwiVW5kZWZpbmVkVHlwZUFubm90YXRpb25cIixvOTA9VnMsdjkwPXUxLGw5MD1cInBhcmFtZXRlck5hbWVcIixwOTA9XCJUeXBlUHJlZGljYXRlXCIsazkwPVwiSG9va1R5cGVBbm5vdGF0aW9uXCIsbTkwPVwiRnVuY3Rpb25UeXBlQW5ub3RhdGlvblwiLGg5MD1RbyxkOTA9SjEseTkwPUZsLGc5MD1EbSx3OTA9dW4sXzkwPWF0LGI5MD11MSxUOTA9cWUsRTkwPWlSLFM5MD1hdCxBOTA9dTEsUDkwPXFlLEk5MD1pUixOOTA9WzAsMCwwLDAsMF0sajkwPVwiaW50ZXJuYWxTbG90c1wiLEM5MD1cImNhbGxQcm9wZXJ0aWVzXCIsTzkwPVwiaW5kZXhlcnNcIixEOTA9YmssRjkwPVwiZXhhY3RcIixSOTA9UVIsTDkwPVwiT2JqZWN0VHlwZUFubm90YXRpb25cIixNOTA9Y0QscTkwPVwiVGhlcmUgc2hvdWxkIG5vdCBiZSBjb21wdXRlZCBvYmplY3QgdHlwZSBwcm9wZXJ0eSBrZXlzXCIsVTkwPUdjLEI5MD1CbyxYOTA9VDMsWTkwPVZzLHo5MD1LMSxLOTA9cGcsSjkwPVJlLEc5MD1hdCxXOTA9azYsVjkwPWcyLCQ5MD1YYSxROTA9XCJPYmplY3RUeXBlUHJvcGVydHlcIixIOTA9eTEsWjkwPVwiT2JqZWN0VHlwZVNwcmVhZFByb3BlcnR5XCIseGcwPUsxLHJnMD1SZSxlZzA9ZzIsdGcwPVhhLG5nMD1Wcix1ZzA9XCJPYmplY3RUeXBlSW5kZXhlclwiLGlnMD1SZSxmZzA9ZzIsY2cwPVwiT2JqZWN0VHlwZUNhbGxQcm9wZXJ0eVwiLHNnMD1hdCxhZzA9SzEsb2cwPVwic291cmNlVHlwZVwiLHZnMD1cInByb3BUeXBlXCIsbGcwPVwia2V5VHBhcmFtXCIscGcwPVwiT2JqZWN0VHlwZU1hcHBlZFR5cGVQcm9wZXJ0eVwiLGtnMD1nMixtZzA9azYsaGcwPVJlLGRnMD1hdCx5ZzA9VnIsZ2cwPVwiT2JqZWN0VHlwZUludGVybmFsU2xvdFwiLHdnMD1JMixfZzA9UWYsYmcwPVwiSW50ZXJmYWNlVHlwZUFubm90YXRpb25cIixUZzA9R1IsRWcwPVwiQXJyYXlUeXBlQW5ub3RhdGlvblwiLFNnMD1cImZhbHNlVHlwZVwiLEFnMD1cInRydWVUeXBlXCIsUGcwPVwiZXh0ZW5kc1R5cGVcIixJZzA9XCJjaGVja1R5cGVcIixOZzA9XCJDb25kaXRpb25hbFR5cGVBbm5vdGF0aW9uXCIsamcwPVwidHlwZVBhcmFtZXRlclwiLENnMD1cIkluZmVyVHlwZUFubm90YXRpb25cIixPZzA9VnIsRGcwPXFGLEZnMD1cIlF1YWxpZmllZFR5cGVJZGVudGlmaWVyXCIsUmcwPUoxLExnMD1WcixNZzA9XCJHZW5lcmljVHlwZUFubm90YXRpb25cIixxZzA9XCJpbmRleFR5cGVcIixVZzA9XCJvYmplY3RUeXBlXCIsQmcwPVwiSW5kZXhlZEFjY2Vzc1R5cGVcIixYZzA9YXQsWWcwPVwiT3B0aW9uYWxJbmRleGVkQWNjZXNzVHlwZVwiLHpnMD1OOSxLZzA9XCJVbmlvblR5cGVBbm5vdGF0aW9uXCIsSmcwPU45LEdnMD1cIkludGVyc2VjdGlvblR5cGVBbm5vdGF0aW9uXCIsV2cwPWprLFZnMD15MSwkZzA9XCJUeXBlb2ZUeXBlQW5ub3RhdGlvblwiLFFnMD1WcixIZzA9cUYsWmcwPVwiUXVhbGlmaWVkVHlwZW9mSWRlbnRpZmllclwiLHh3MD15MSxydzA9XCJLZXlvZlR5cGVBbm5vdGF0aW9uXCIsZXcwPV8zLHR3MD1GRixudzA9c0YsdXcwPXUxLGl3MD14dixmdzA9XCJUeXBlT3BlcmF0b3JcIixjdzA9Wm8sc3cwPVFSLGF3MD1cImVsZW1lbnRUeXBlc1wiLG93MD1cIlR1cGxlVHlwZUFubm90YXRpb25cIix2dzA9YXQsbHcwPUsxLHB3MD1HUixrdzA9SmwsbXcwPVwiVHVwbGVUeXBlTGFiZWxlZEVsZW1lbnRcIixodzA9dTEsZHcwPUpsLHl3MD1cIlR1cGxlVHlwZVNwcmVhZEVsZW1lbnRcIixndzA9SXQsd3cwPWcyLF93MD1cIlN0cmluZ0xpdGVyYWxUeXBlQW5ub3RhdGlvblwiLGJ3MD1JdCxUdzA9ZzIsRXcwPVwiTnVtYmVyTGl0ZXJhbFR5cGVBbm5vdGF0aW9uXCIsU3cwPUl0LEF3MD1nMixQdzA9XCJCaWdJbnRMaXRlcmFsVHlwZUFubm90YXRpb25cIixJdzA9cmEsTncwPUdzLGp3MD1JdCxDdzA9ZzIsT3cwPVwiQm9vbGVhbkxpdGVyYWxUeXBlQW5ub3RhdGlvblwiLER3MD1cIkV4aXN0c1R5cGVBbm5vdGF0aW9uXCIsRncwPXUxLFJ3MD1oRixMdzA9dTEsTXcwPWhGLHF3MD11bixVdzA9XCJUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb25cIixCdzA9XCJ1c2VzRXh0ZW5kc0JvdW5kXCIsWHcwPUdvLFl3MD1LMSx6dzA9XCJib3VuZFwiLEt3MD1xZSxKdzA9XCJUeXBlUGFyYW1ldGVyXCIsR3cwPXVuLFd3MD1tUixWdzA9dW4sJHcwPW1SLFF3MD1xbyxIdzA9U0wsWncwPVwiY2xvc2luZ0VsZW1lbnRcIix4XzA9XCJvcGVuaW5nRWxlbWVudFwiLHJfMD1cIkpTWEVsZW1lbnRcIixlXzA9XCJjbG9zaW5nRnJhZ21lbnRcIix0XzA9U0wsbl8wPVwib3BlbmluZ0ZyYWdtZW50XCIsdV8wPVwiSlNYRnJhZ21lbnRcIixpXzA9amssZl8wPVwic2VsZkNsb3NpbmdcIixjXzA9XCJhdHRyaWJ1dGVzXCIsc18wPXFlLGFfMD1cIkpTWE9wZW5pbmdFbGVtZW50XCIsb18wPVwiSlNYT3BlbmluZ0ZyYWdtZW50XCIsdl8wPXFlLGxfMD1cIkpTWENsb3NpbmdFbGVtZW50XCIscF8wPVwiSlNYQ2xvc2luZ0ZyYWdtZW50XCIsa18wPWcyLG1fMD1xZSxoXzA9XCJKU1hBdHRyaWJ1dGVcIixkXzA9eTEseV8wPVwiSlNYU3ByZWFkQXR0cmlidXRlXCIsZ18wPVwiSlNYRW1wdHlFeHByZXNzaW9uXCIsd18wPW4xLF9fMD1cIkpTWEV4cHJlc3Npb25Db250YWluZXJcIixiXzA9bjEsVF8wPVwiSlNYU3ByZWFkQ2hpbGRcIixFXzA9SXQsU18wPWcyLEFfMD1cIkpTWFRleHRcIixQXzA9TTgsSV8wPUc0LE5fMD1cIkpTWE1lbWJlckV4cHJlc3Npb25cIixqXzA9cWUsQ18wPWhULE9fMD1cIkpTWE5hbWVzcGFjZWROYW1lXCIsRF8wPXFlLEZfMD1cIkpTWElkZW50aWZpZXJcIixSXzA9YlMsTF8wPWk2LE1fMD1cIkV4cG9ydFNwZWNpZmllclwiLHFfMD1pNixVXzA9XCJJbXBvcnREZWZhdWx0U3BlY2lmaWVyXCIsQl8wPWk2LFhfMD1cIkltcG9ydE5hbWVzcGFjZVNwZWNpZmllclwiLFlfMD1ITyx6XzA9aTYsS18wPVwiaW1wb3J0ZWRcIixKXzA9XCJJbXBvcnRTcGVjaWZpZXJcIixHXzA9XCJMaW5lXCIsV18wPVwiQmxvY2tcIixWXzA9ZzIsJF8wPWcyLFFfMD1cIkRlY2xhcmVkUHJlZGljYXRlXCIsSF8wPVwiSW5mZXJyZWRQcmVkaWNhdGVcIixaXzA9dmIseGIwPWprLHJiMD1rRCxlYjA9azMsdGIwPU04LG5iMD1HNCx1YjA9XCJtZXNzYWdlXCIsaWIwPXZ4LGZiMD1PTyxjYjA9X0Qsc2IwPWl2LGFiMD1mNixvYjA9aWssdmIwPVswLEIxLEdpLEZpLE03LEsxLF9mLGM3LFZmLG5jLGRmLEFpLGd1LGdpLG51LFM3LHM3LFJ1LFRmLEQ3LFl1LHppLE43LHpuLFJmLGZ1LFo3LFhuLEtmLGlzLEpmLHJmLGNmLHRzLGdjLFU3LHplLFduLE9pLHg3LE5jLFRpLFhmLE9jLEdlLFRjLFN1LFc3LGk3LEJjLHp1LHh1LGs3LFhlLEp1LHY3LHBmLHI3LGFmLG83LHFjLE1lLHdmLGxpLEx1LEE3LHJ1LE1pLEppLGc3LERmLFE3LGtjLExpLGY3LGpuLGtmLF91LEM3LGZpLEljLG9pLHZ1LF9lLERjLEtuLE1mLER1LHJzLFVuLEduLGU3LE5mLGFjLEJuLEpuLFNpLEZmLFFpLFR1LEtpLE9uLFBjLE51LFh1LG1pLEN1LEZ1LEd1LFZuLHZpLGpjLEVpLFFjLFNmLEVjLEF1LGJ1LHNpLGN1LE1uLGhmLFZjLFppLEw3LGppLEJmLEhpLGxmLEo3LHV1LG03LEpjLGVjLHN1LG11LCQ3LFljLFZ1LG5lLGw3LHFuLHljLFd1LCRpLGV1LFg3LHVmLElmLFdjLHVjLGxjLE83LFpmLEV1LFBmLEhuLFQ3LEI3LEVmLHk3LCRjLEt1LHdpLGRpLHBjLFJuLEl1LE11LHo3LFdpLGllLFdmLE1jLFlmLGR1LG1mLFhjLERpLERuLFgxLHlpLEk3LFVjLFB0LGtpLGRjLHhzLEs3LFFuLCR1LHd1LHJpLFJpLGg3LCRmLHhjLEJ1LFY3LHRmLFVmLG5zLHB1LGVmLFluLHpjLHBpLHhpLENpLFpjLG5mLHQ3LHA3LGdmLFp1LHc3LG9jLEZjLHU3LG4xLENuLG1jLHhmLHVzLGQ3LEZuLFBpLGNjLEFmLHdjLHZjLGVzLF83LFNjLGJmLHJjLGljLGF1LHl1LGI3LGJlLEJpLGp1LE5uLEhmLHNjLG5pLF9jLGlpLFZpLGl1LElpLEg3LExmLExjLFllLExlLHFpLFlpLHF1LEFjLFJjLEY3LHR1LE9mLGZjLEhjLExuLHRjLGJpLGpmLFk3LFhpLFI3LGZmLGhpLGE3LHpmLENmLFA3LFV1LGFpLGVpLE91LHlmLFB1LGx1LG9mLFpuLFF1LG43LE5pLHRpLGZzLEtlLEc3LGJjLGZuLGo3LEU3LEh1LEtjLCRuLG91LGt1LGNpLGhjLFVpLEdmLHhuLHNmXSxsYjA9WzAsQmMsS3UseGMsa2kscmksZnMsR3UsS2ksTzcsejcsYmMsZnUsR24sR2UscnMsbWMsTDcsSGkseWYsdHMsU2ksQjcsdmksV2YseTcsaWMsXzcsR2ksX3UsSzcseGksZjcsJGksc2MsT2YseHMscmMsUWMsUHQsTTcsZ2YsRGYsVmksTmksQnUsbjcsSG4sY2Msd2YsJHUsQ2ksT2MsUGMsSTcsVzcsTW4sZHUsYXUsV3UsRWksYWksaGksRGMsc2YscnUsamksYmksTjcsVHUsTHUsV2MsQ2YsZTcsTWUsSm4sUmksS24sU2YsWmYsVDcsZGMsbmUsWWksWG4sdmMsbTcsbGYsdWMsbDcsJGYsJDcsZzcsVWksX2MsRm4sYnUscjcsdnUsR2YsYjcsdGksazcsSzEsbGksSDcsczcsdjcseWksY3UsSHUscGksVTcscGMsT3UsbWksWGYsYmUsdDcsWjcsQjEscW4sZ2MsSWksTWksZ3UsSWMsTGYsYWYsS2MsQWksZmYsaXUsRnUsVmYsdXUsRWYsa3UsSmYsTXUsU2Msb2MsVW4seGYseWMsZmksWnUsVGYsaXMsamYsX2YscmYsenUsUnUsU3UsZGYsUDcsTWMsWmMsYTcsVnUsaDcsWTcsbmMsUjcsaGYsQ3UsWDcsZmMsJG4sc2ksb2YsZWksTG4sSmMsQzcsdWYsdGMsQXUsWDEsWGUsUzcsRDcsVGMsa2YsemUsWWUsVm4sVWMsRHUsdTcsJGMsX2UsRzcsbnMsYmYsWWYsemYsQ24sVjcsd2ksd3UsbnUsZXMscWMsWW4sRGksQmYsd2MsZDcsUmMsWHUseHUsT24sbWYsYWMsa2MsS2YsUWksQTcsQm4sWXUsbmksSjcsWm4saWksajcsUm4sVGkseXUsY2YsUW4sbzcsRG4sRmYsbHUsTnUsUGYsVXUsbXUsV2ksQmksUmYseG4sYzcsanUsUXUsem4sTm4sRXUsZGkscXUsZXUsTGksamMsSXUsdzcsc3UsSWYsemkseDcsb3UsWmksRjcsam4sY2ksRTcsbjEsb2ksWGksRmMsVmMscHUsZWYsaTcsTGUsdGYsSGMsSmksUGksSGYsT2ksTmMsZWMsemMsdXMsZ2ksbmYsWWMsTWYsZm4sWGMsUHUsbGMsTmYsVWYsTGMsSnUsQWYsS2UsaGMsaWUscWksRmksdHUscGYscDcsQWMsUTcsV24sRWNdLHBiMD1bMCxzZix4bixHZixVaSxoYyxjaSxrdSxvdSwkbixLYyxIdSxFNyxqNyxmbixiYyxHNyxLZSxmcyx0aSxOaSxuNyxRdSxabixvZixsdSxQdSx5ZixPdSxlaSxhaSxVdSxQNyxDZix6ZixhNyxoaSxmZixSNyxYaSxZNyxqZixiaSx0YyxMbixIYyxmYyxPZix0dSxGNyxSYyxBYyxxdSxZaSxxaSxMZSxZZSxMYyxMZixINyxJaSxpdSxWaSxpaSxfYyxuaSxzYyxIZixObixqdSxCaSxiZSxiNyx5dSxhdSxpYyxyYyxiZixTYyxfNyxlcyx2Yyx3YyxBZixjYyxQaSxGbixkNyx1cyx4ZixtYyxDbixuMSx1NyxGYyxvYyx3NyxadSxnZixwNyx0NyxuZixaYyxDaSx4aSxwaSx6YyxZbixlZixwdSxucyxVZix0ZixWNyxCdSx4YywkZixoNyxSaSxyaSx3dSwkdSxRbixLNyx4cyxkYyxraSxQdCxVYyxJNyx5aSxYMSxEbixEaSxYYyxtZixkdSxZZixNYyxXZixpZSxXaSx6NyxNdSxJdSxSbixwYyxkaSx3aSxLdSwkYyx5NyxFZixCNyxUNyxIbixQZixFdSxaZixPNyxsYyx1YyxXYyxJZix1ZixYNyxldSwkaSxXdSx5YyxxbixsNyxuZSxWdSxZYywkNyxtdSxzdSxlYyxKYyxtNyx1dSxKNyxsZixIaSxCZixqaSxMNyxaaSxWYyxoZixNbixjdSxzaSxidSxBdSxFYyxTZixRYyxFaSxqYyx2aSxWbixHdSxGdSxDdSxtaSxYdSxOdSxQYyxPbixLaSxUdSxRaSxGZixTaSxKbixCbixhYyxOZixlNyxHbixVbixycyxEdSxNZixLbixEYyxfZSx2dSxvaSxJYyxmaSxDNyxfdSxrZixqbixmNyxMaSxrYyxRNyxEZixnNyxKaSxNaSxydSxBNyxMdSxsaSx3ZixNZSxxYyxvNyxhZixyNyxwZix2NyxKdSxYZSxrNyx4dSx6dSxCYyxpNyxXNyxTdSxUYyxHZSxPYyxYZixUaSxOYyx4NyxPaSxXbix6ZSxVNyxnYyx0cyxjZixyZixKZixpcyxLZixYbixaNyxmdSxSZix6bixONyx6aSxZdSxENyxUZixSdSxzNyxTNyxudSxnaSxndSxBaSxkZixuYyxWZixjNyxfZixLMSxNNyxGaSxHaSxCMV0sa2IwPVwiSnNvb19ydW50aW1lLkVycm9yLkV4blwiLG1iMD1bMCwwXSxoYjA9XCJ1c2Vfc3RyaWN0XCIsZGIwPU45LHliMD1cImVzcHJvcG9zYWxfZGVjb3JhdG9yc1wiLGdiMD1cInBhdHRlcm5fbWF0Y2hpbmdcIix3YjA9XCJlbnVtc1wiLF9iMD1cImNvbXBvbmVudHNcIixiYjA9XCJJbnRlcm5hbCBlcnJvcjogXCIsVGIwPVtuMixcIkNhbWxpbnRlcm5hbExhenkuVW5kZWZpbmVkXCIsYXMoMCldO2Z1bmN0aW9uIEViMCh4LHIpe3ZhciBlPU54KHIpLTF8MCx0PTA7aWYoZT49MClmb3IodmFyIHU9dDs7KXt4KEowKHIsdSkpO3ZhciBpPXUrMXwwO2lmKGU9PT11KWJyZWFrO3ZhciB1PWl9fXZhciBTYjA9ZngsQWIwPVswLDBdO2Z1bmN0aW9uIFBiMCh4KXt2YXIgcj1OSygwKSxlPWtxKE8pLHQ9ci5sZW5ndGgtMSx1PVMyKCh0Kjh8MCkrMXwwKSxpPXQtMXwwLGM9MDtpZihpPj0wKWZvcih2YXIgdj1jOzspe1B6KHUsdio4fDAsVDYoTjIocix2KVsxK3ZdKSk7dmFyIGE9disxfDA7aWYoaT09PXYpYnJlYWs7dmFyIHY9YX11YSh1LHQqOHwwLDEpO3ZhciBsPXBxKHUpO3VhKHUsdCo4fDAsMik7dmFyIG09cHEodSksaD1hNShtLDgpLFQ9YTUobSwwKSxiPWE1KGwsOCk7cmV0dXJuIG1xKGUsYTUobCwwKSxiLFQsaCksZX1mb3IoOzspe3ZhciB6cT1SMyhXTik7bGV0IHg9WzAsMV0scj16cTtpZighKDEtQm0oV04senEsZnVuY3Rpb24oZSl7cmV0dXJuIEJtKHgsMSwwKSYmKHl2KGh2KEJxKSxPKSx5dihodihYcSksTykpLGQociwwKX0pKSlicmVha31pZihSMyhBYjApKXRocm93IFcwKFswLHU1LFVWXSwxKTt2YXIgcGE9SE4oWzAsZnhdKSxndj1ITihbMCxmeF0pLEhhPUhOKFswLFdlXSksS3E9WE4oMCwwKSxJYjA9MixOYjA9WzAsMF07ZnVuY3Rpb24gSnEoeCl7cmV0dXJuIDI8eD9KcSgoeCsxfDApLzJ8MCkqMnwwOnh9ZnVuY3Rpb24gR3EoeCl7TmIwWzFdKys7dmFyIHI9eC5sZW5ndGgtMSxlPSRhKChyKjJ8MCkrMnwwLEtxKTtOMihlLDApWzFdPXI7dmFyIHQ9KChKcShyKSozMnwwKS84fDApLTF8MDtOMihlLDEpWzJdPXQ7dmFyIHU9ci0xfDAsaT0wO2lmKHU+PTApZm9yKHZhciBjPWk7Oyl7dmFyIHY9KGMqMnwwKSszfDAsYT1OMih4LGMpWzErY107TjIoZSx2KVsxK3ZdPWE7dmFyIGw9YysxfDA7aWYodT09PWMpYnJlYWs7dmFyIGM9bH1yZXR1cm5bMCxJYjAsZSxndlsxXSxIYVsxXSwwLDAscGFbMV0sMF19ZnVuY3Rpb24gU2ooeCxyKXt2YXIgZT14WzJdLmxlbmd0aC0xO2lmKGU8cil7dmFyIHQ9JGEocixLcSk7Wk0oeFsyXSwwLHQsMCxlKSx4WzJdPXR9fWZ1bmN0aW9uIGpiMCh4KXt2YXIgcj1bMCwwXSxlPU54KHgpLTF8MCx0PTA7aWYoZT49MClmb3IodmFyIHU9dDs7KXt2YXIgaT1xMih4LHUpO3JbMV09KGtrKnJbMV18MCkraXwwO3ZhciBjPXUrMXwwO2lmKGU9PT11KWJyZWFrO3ZhciB1PWN9clsxXT1yWzFdJlFGO3ZhciB2PTEwNzM3NDE4MjM8clsxXT9yWzFdKzIxNDc0ODM2NDh8MDpyWzFdO3JldHVybiB2fXZhciBDYjA9WzAsMF07ZnVuY3Rpb24gQWooeCl7dmFyIHI9eFsyXS5sZW5ndGgtMTtyZXR1cm4gU2ooeCxyKzF8MCkscn1mdW5jdGlvbiB6Nih4LHIpe3RyeXt2YXIgZT1ndlsxN10uY2FsbChudWxsLHIseFszXSk7cmV0dXJuIGV9Y2F0Y2goaSl7dmFyIHQ9VTIoaSk7aWYodCE9PW9zKXRocm93IFcwKHQsMCk7dmFyIHU9QWooeCk7cmV0dXJuIHhbM109Z3ZbMl0uY2FsbChudWxsLHIsdSx4WzNdKSx4WzRdPUhhWzJdLmNhbGwobnVsbCx1LDEseFs0XSksdX19ZnVuY3Rpb24gUGooeCxyKXtyZXR1cm4gbzUoZnVuY3Rpb24oZSl7cmV0dXJuIHo2KHgsZSl9LHIpfWZ1bmN0aW9uIFdxKHgscixlKXtpZihDYjBbMV0rKyxIYVsxN10uY2FsbChudWxsLHIseFs0XSkpe1NqKHgscisxfDApLE4yKHhbMl0scilbMStyXT1lO3JldHVybn14WzZdPVswLFswLHIsZV0seFs2XV19ZnVuY3Rpb24gSWooeCl7aWYoeD09PTApcmV0dXJuIDA7Zm9yKHZhciByPXgubGVuZ3RoLTEtMXwwLGU9MDs7KXtpZigwPnIpcmV0dXJuIGU7dmFyIHQ9WzAseFsxK3JdLGVdLHI9ci0xfDAsZT10fX1mdW5jdGlvbiBOaih4LHIpe3RyeXt2YXIgZT1wYVsxN10uY2FsbChudWxsLHIseFs3XSk7cmV0dXJuIGV9Y2F0Y2goaSl7dmFyIHQ9VTIoaSk7aWYodCE9PW9zKXRocm93IFcwKHQsMCk7dmFyIHU9eFsxXTtyZXR1cm4geFsxXT11KzF8MCxQKHIsWjApJiYoeFs3XT1wYVsyXS5jYWxsKG51bGwscix1LHhbN10pKSx1fX1mdW5jdGlvbiBqaih4KXtyZXR1cm4gQjMoeCwwKT9bMF06eH1mdW5jdGlvbiBDaih4LHIsZSx0LHUsaSl7dmFyIGM9dVsyXSx2PXVbNF0sYT1JaihyKSxsPUlqKGUpLG09SWoodCksaD12cyhmdW5jdGlvbihIKXtyZXR1cm4gejYoeCxIKX0sbCksVD12cyhmdW5jdGlvbihIKXtyZXR1cm4gejYoeCxIKX0sbSk7eFs1XT1bMCxbMCx4WzNdLHhbNF0seFs2XSx4WzddLGgsYV0seFs1XV0seFs3XT1wYVsyNF0uY2FsbChudWxsLGZ1bmN0aW9uKEgsdDAsYzApe3JldHVybiBRTihILGEpP3BhWzJdLmNhbGwobnVsbCxILHQwLGMwKTpjMH0seFs3XSxwYVsxXSk7dmFyIGI9WzAsZ3ZbMV1dLE49WzAsSGFbMV1dO0pNKGZ1bmN0aW9uKEgsdDApe2JbMV09Z3ZbMl0uY2FsbChudWxsLEgsdDAsYlsxXSk7dmFyIGMwPU5bMV07dHJ5e3ZhciByMD1IYVsxN10uY2FsbChudWxsLHQwLHhbNF0pLHYwPXIwfWNhdGNoKGcwKXt2YXIgYTA9VTIoZzApO2lmKGEwIT09b3MpdGhyb3cgVzAoYTAsMCk7dmFyIHYwPTF9TlsxXT1IYVsyXS5jYWxsKG51bGwsdDAsdjAsYzApfSxtLFQpLEpNKGZ1bmN0aW9uKEgsdDApe2JbMV09Z3ZbMl0uY2FsbChudWxsLEgsdDAsYlsxXSksTlsxXT1IYVsyXS5jYWxsKG51bGwsdDAsMCxOWzFdKX0sbCxoKSx4WzNdPWJbMV0seFs0XT1OWzFdLHhbNl09JE4oZnVuY3Rpb24oSCx0MCl7cmV0dXJuIFFOKEhbMV0saCk/dDA6WzAsSCx0MF19LHhbNl0sMCk7dmFyIGo9aT9kKGMoeCksdik6Yyh4KSxJPUM2KHhbNV0pLEY9SVs2XSxNPUlbNV0sej1JWzRdLEI9SVszXSxLPUlbMl0sbjA9SVsxXTt4WzVdPUtNKHhbNV0pLHhbN109bTEoZnVuY3Rpb24oSCx0MCl7dmFyIGMwPXBhWzE3XS5jYWxsKG51bGwsdDAseFs3XSk7cmV0dXJuIHBhWzJdLmNhbGwobnVsbCx0MCxjMCxIKX0seixGKSx4WzNdPW4wLHhbNF09Syx4WzZdPSROKGZ1bmN0aW9uKEgsdDApe3JldHVybiBRTihIWzFdLE0pP3QwOlswLEgsdDBdfSx4WzZdLEIpO3ZhciAkPVswLG81KGZ1bmN0aW9uKEgpe3ZhciB0MD16Nih4LEgpO3RyeXtmb3IodmFyIGMwPXhbNl07Oyl7aWYoIWMwKXRocm93IFcwKG9zLDEpO3ZhciByMD1jMFsxXSx2MD1jMFsyXSxhMD1yMFsyXTtpZihrTShyMFsxXSx0MCk9PT0wKXJldHVybiBhMDt2YXIgYzA9djB9fWNhdGNoKGkwKXt2YXIgZzA9VTIoaTApO2lmKGcwPT09b3MpcmV0dXJuIE4yKHhbMl0sdDApWzErdDBdO3Rocm93IFcwKGcwLDApfX0samoodCkpLDBdO3JldHVybiB5eihbMCxbMCxqXSxbMCxvNShmdW5jdGlvbihIKXt0cnl7dmFyIHQwPXBhWzE3XS5jYWxsKG51bGwsSCx4WzddKTtyZXR1cm4gdDB9Y2F0Y2gocjApe3ZhciBjMD1VMihyMCk7dGhyb3cgYzA9PT1vcz9XMChbMCxOcixCVl0sMSk6VzAoYzAsMCl9fSxqaihyKSksJF1dKX1mdW5jdGlvbiBkNSh4LHIpe2lmKHg9PT0wKXZhciBlPUdxKFswXSk7ZWxzZXt2YXIgdD1HcShvNShqYjAseCkpLHU9eC5sZW5ndGgtMS0xfDAsaT0wO2lmKHU+PTApZm9yKHZhciBjPWk7Oyl7dmFyIHY9KGMqMnwwKSsyfDA7dFszXT1ndlsyXS5jYWxsKG51bGwseFsxK2NdLHYsdFszXSksdFs0XT1IYVsyXS5jYWxsKG51bGwsdiwxLHRbNF0pO3ZhciBhPWMrMXwwO2lmKHU9PT1jKWJyZWFrO3ZhciBjPWF9dmFyIGU9dH12YXIgbD1yKGUpO3JldHVybiBlWzhdPWl4KGVbOF0pLFNqKGUsMysoKE4yKGVbMl0sMSlbMl0qMTZ8MCkvMzJ8MCl8MCksWzAsZChsLDApLHIsLDBdfWZ1bmN0aW9uIHk1KHgscil7aWYoeClyZXR1cm4geDt2YXIgZT1YTihuMixyWzFdKTtyZXR1cm4gZVsxXT1yWzJdLFRLKGUpfWZ1bmN0aW9uIE9qKHgscixlKXtpZih4KXJldHVybiByO3ZhciB0PWVbOF07aWYodCE9PTApZm9yKHZhciB1PXQ7dTspe3ZhciBpPXVbMl07ZCh1WzFdLHIpO3ZhciB1PWl9cmV0dXJuIHJ9ZnVuY3Rpb24gZzUoeCl7dmFyIHI9QWooeCk7eDp7aWYociUyfDAmJigyKygoTjIoeFsyXSwxKVsyXSoxNnwwKS8zMnwwKXwwKT49cil7dmFyIGU9QWooeCk7YnJlYWsgeH12YXIgZT1yfXJldHVybiBOMih4WzJdLGUpWzErZV09MCxlfWZ1bmN0aW9uIERqKHgscil7Zm9yKHZhciBlPVswLDBdLHQ9ci5sZW5ndGgtMTs7KXtpZihlWzFdPj10KXJldHVybjt2YXIgdT1lWzFdLGk9ZnVuY3Rpb24oSzApe2VbMV0rKzt2YXIgQTA9ZVsxXTtyZXR1cm4gTjIocixBMClbMStBMF19LGM9TjIocix1KVsxK3VdLHY9aShPKTtpZih0eXBlb2Ygdj09XCJudW1iZXJcIilzd2l0Y2godil7Y2FzZSAwOmxldCBLMD1pKE8pO3ZhciBTMD1mdW5jdGlvbih1eCl7cmV0dXJuIEswfTticmVhaztjYXNlIDE6bGV0IEEwPWkoTyk7dmFyIFMwPWZ1bmN0aW9uKHV4KXtyZXR1cm4gdXhbMStBMF19O2JyZWFrO2Nhc2UgMjp2YXIgYT1pKE8pO2xldCAkMD1hLGV4PWkoTyk7dmFyIFMwPWZ1bmN0aW9uKHV4KXtyZXR1cm4gdXhbMSskMF1bMStleF19O2JyZWFrO2Nhc2UgMzpsZXQgeHg9aShPKTt2YXIgUzA9ZnVuY3Rpb24odXgpe3JldHVybiBkKHV4WzFdWzEreHhdLHV4KX07YnJlYWs7Y2FzZSA0OmxldCB0eD1pKE8pO3ZhciBTMD1mdW5jdGlvbih1eCxMeCl7cmV0dXJuIHV4WzErdHhdPUx4LDB9O2JyZWFrO2Nhc2UgNTp2YXIgbD1pKE8pO2xldCB6MD1sLHB4PWkoTyk7dmFyIFMwPWZ1bmN0aW9uKHV4KXtyZXR1cm4gZCh6MCxweCl9O2JyZWFrO2Nhc2UgNjp2YXIgbT1pKE8pO2xldCBzeD1tLFE9aShPKTt2YXIgUzA9ZnVuY3Rpb24odXgpe3JldHVybiBkKHN4LHV4WzErUV0pfTticmVhaztjYXNlIDc6dmFyIGg9aShPKSxUPWkoTyk7bGV0IGIwPWgsVT1ULGgwPWkoTyk7dmFyIFMwPWZ1bmN0aW9uKHV4KXtyZXR1cm4gZChiMCx1eFsxK1VdWzEraDBdKX07YnJlYWs7Y2FzZSA4OnZhciBiPWkoTyk7bGV0IF8wPWIsbTA9aShPKTt2YXIgUzA9ZnVuY3Rpb24odXgpe3JldHVybiBkKF8wLGQodXhbMV1bMSttMF0sdXgpKX07YnJlYWs7Y2FzZSA5OnZhciBOPWkoTyksaj1pKE8pO2xldCBUMD1OLFg9aixHeD1pKE8pO3ZhciBTMD1mdW5jdGlvbih1eCl7cmV0dXJuIHAoVDAsWCxHeCl9O2JyZWFrO2Nhc2UgMTA6dmFyIEk9aShPKSxGPWkoTyk7bGV0IFB4PUksRzA9RixLcj1pKE8pO3ZhciBTMD1mdW5jdGlvbih1eCl7cmV0dXJuIHAoUHgsRzAsdXhbMStLcl0pfTticmVhaztjYXNlIDExOnZhciBNPWkoTyksej1pKE8pLEI9aShPKTtsZXQgUz1NLEc9eixyeD1CLHl4PWkoTyk7dmFyIFMwPWZ1bmN0aW9uKHV4KXtyZXR1cm4gcChTLEcsdXhbMStyeF1bMSt5eF0pfTticmVhaztjYXNlIDEyOnZhciBLPWkoTyksbjA9aShPKTtsZXQgRXg9SyxueD1uMCxwMD1pKE8pO3ZhciBTMD1mdW5jdGlvbih1eCl7cmV0dXJuIHAoRXgsbngsZCh1eFsxXVsxK3AwXSx1eCkpfTticmVhaztjYXNlIDEzOnZhciAkPWkoTyksSD1pKE8pO2xldCBGeD0kLFN4PUgsYng9aShPKTt2YXIgUzA9ZnVuY3Rpb24odXgpe3JldHVybiBwKEZ4LHV4WzErU3hdLGJ4KX07YnJlYWs7Y2FzZSAxNDp2YXIgdDA9aShPKSxjMD1pKE8pLHIwPWkoTyk7bGV0IEIwPXQwLFd4PWMwLFl4PXIwLGF4PWkoTyk7dmFyIFMwPWZ1bmN0aW9uKHV4KXtyZXR1cm4gcChCMCx1eFsxK1d4XVsxK1l4XSxheCl9O2JyZWFrO2Nhc2UgMTU6dmFyIHYwPWkoTyksYTA9aShPKTtsZXQgUXg9djAsa3g9YTAsdHI9aShPKTt2YXIgUzA9ZnVuY3Rpb24odXgpe3JldHVybiBwKFF4LGQodXhbMV1bMStreF0sdXgpLHRyKX07YnJlYWs7Y2FzZSAxNjp2YXIgZzA9aShPKTtsZXQgc3I9ZzAsTXI9aShPKTt2YXIgUzA9ZnVuY3Rpb24odXgpe3JldHVybiBwKHV4WzFdWzErc3JdLHV4LE1yKX07YnJlYWs7Y2FzZSAxNzp2YXIgaTA9aShPKTtsZXQgYTI9aTAsXzI9aShPKTt2YXIgUzA9ZnVuY3Rpb24odXgpe3JldHVybiBwKHV4WzFdWzErYTJdLHV4LHV4WzErXzJdKX07YnJlYWs7Y2FzZSAxODp2YXIgczA9aShPKSxkMD1pKE8pO2xldCBpMj1zMCxRMj1kMCxqeD1pKE8pO3ZhciBTMD1mdW5jdGlvbih1eCl7cmV0dXJuIHAodXhbMV1bMStpMl0sdXgsdXhbMStRMl1bMStqeF0pfTticmVhaztjYXNlIDE5OnZhciB3MD1pKE8pO2xldCBfPXcwLFY9aShPKTt2YXIgUzA9ZnVuY3Rpb24odXgpe3ZhciBMeD1kKHV4WzFdWzErVl0sdXgpO3JldHVybiBwKHV4WzFdWzErX10sdXgsTHgpfTticmVhaztjYXNlIDIwOnZhciBNMD1pKE8pLEMwPWkoTyk7ZzUoeCk7bGV0IGx4PU0wLFUwPUMwO3ZhciBTMD1mdW5jdGlvbih1eCl7cmV0dXJuIGQoQngoVTAsbHgsMCksVTApfTticmVhaztjYXNlIDIxOnZhciBEMD1pKE8pLEkwPWkoTyk7ZzUoeCk7bGV0IG94PUQwLHd4PUkwO3ZhciBTMD1mdW5jdGlvbih1eCl7dmFyIEx4PXV4WzErd3hdO3JldHVybiBkKEJ4KEx4LG94LDApLEx4KX07YnJlYWs7Y2FzZSAyMjp2YXIgajA9aShPKSx5MD1pKE8pLFkwPWkoTyk7ZzUoeCk7bGV0IENyPWowLEh4PXkwLFpyPVkwO3ZhciBTMD1mdW5jdGlvbih1eCl7dmFyIEx4PXV4WzErSHhdWzErWnJdO3JldHVybiBkKEJ4KEx4LENyLDApLEx4KX07YnJlYWs7ZGVmYXVsdDp2YXIgTD1pKE8pLE4wPWkoTyk7ZzUoeCk7bGV0IGRyPUwsT3I9TjA7dmFyIFMwPWZ1bmN0aW9uKHV4KXt2YXIgTHg9ZCh1eFsxXVsxK09yXSx1eCk7cmV0dXJuIGQoQngoTHgsZHIsMCksTHgpfX1lbHNlIHZhciBTMD12O1dxKHgsYyxTMCksZVsxXSsrfX1mdW5jdGlvbiBWcSh4LHIpe3ZhciBlPXIubGVuZ3RoLTEsdD1YTigwLGUpLHU9ZS0xfDAsaT0wO2lmKHU+PTApZm9yKHZhciBjPWk7Oyl7dmFyIHY9TjIocixjKVsxK2NdO2lmKHR5cGVvZiB2PT1cIm51bWJlclwiKXN3aXRjaCh2KXtjYXNlIDA6bGV0IE49Yzt2YXIgYT1mdW5jdGlvbih6KXt2YXIgQj10WzErTl07aWYoaj09PUIpdGhyb3cgVzAoWzAsSTYseF0sMSk7cmV0dXJuIGQoQix6KX07bGV0IGo9YTt2YXIgaD1hO2JyZWFrO2Nhc2UgMTp2YXIgbD1bXTtsZXQgST1sLEY9YztGcihsLFtBMyxmdW5jdGlvbih6KXt2YXIgQj10WzErRl07aWYoST09PUIpdGhyb3cgVzAoWzAsSTYseF0sMSk7dmFyIEs9cHYoQik7aWYoRDM9PT1LKXJldHVybiBCWzFdO2lmKEEzIT09SyYmem8hPT1LKXJldHVybiBCO2lmKHhLKEIpIT09MCl0aHJvdyBXMChUYjAsMSk7dmFyIG4wPUJbMV07QlsxXT0wO3RyeXt2YXIgJD1kKG4wLDApO3JldHVybiBCWzFdPSQscksoQiksJH1jYXRjaCh0MCl7dmFyIEg9VTIodDApO3Rocm93IEJbMV09ZnVuY3Rpb24oYzApe3Rocm93IFcwKEgsMCl9LFp6KEIpLFcwKEgsMCl9fV0pO3ZhciBoPWw7YnJlYWs7ZGVmYXVsdDp2YXIgbT1mdW5jdGlvbih6KXt0aHJvdyBXMChbMCxJNix4XSwxKX0saD1bMCxtLG0sbSwwXX1lbHNlIHZhciBoPXZbMF09PT0wP1ZxKHgsdlsxXSk6dlsxXTt0WzErY109aDt2YXIgVD1jKzF8MDtpZih1PT09YylicmVhazt2YXIgYz1UfXJldHVybiB0fWZ1bmN0aW9uICRxKHgscixlKXtpZihwdihlKT09PTAmJngubGVuZ3RoLTE8PWUubGVuZ3RoLTEpe3ZhciB0PXgubGVuZ3RoLTEtMXwwLHU9MDtpZih0Pj0wKWZvcih2YXIgaT11Ozspe3ZhciBjPWVbMStpXSx2PU4yKHgsaSlbMStpXTt4OmlmKHR5cGVvZiB2PT1cIm51bWJlclwiKXtpZih2PT09Mil7aWYocHYoYyk9PT0wJiZjLmxlbmd0aC0xPT09NCl7Zm9yKHZhciBhPTAsbD1yWzEraV07Oyl7bFsxK2FdPWNbMSthXTt2YXIgbT1hKzF8MDtpZihhPT09MylicmVhazt2YXIgYT1tfWJyZWFrIHh9dGhyb3cgVzAoWzAsTnIsWFZdLDEpfXJbMStpXT1jfWVsc2UgdlswXT09PTAmJiRxKHZbMV0sclsxK2ldLGMpO3ZhciBoPWkrMXwwO2lmKHQ9PT1pKWJyZWFrO3ZhciBpPWh9cmV0dXJufXRocm93IFcwKFswLE5yLFlWXSwxKX10cnl7dmFyIE9iMD1DTShcIlRNUERJUlwiKSxGaj1PYjB9Y2F0Y2goeCl7dmFyIFFxPVUyKHgpO2lmKFFxIT09b3MpdGhyb3cgVzAoUXEsMCk7dmFyIEZqPXpWfXZhciBEYjA9WzAsLCwsLCwsLCwsRmpdO3RyeXt2YXIgRmIwPUNNKFwiVEVNUFwiKSxIcT1GYjB9Y2F0Y2goeCl7dmFyIFpxPVUyKHgpO2lmKFpxIT09b3MpdGhyb3cgVzAoWnEsMCk7dmFyIEhxPUtWfXZhciBSYjA9WzAsLCwsLCwsLCwsSHFdLExiMD1bMCwsLCwsLCwsLCxGal0sTWIwPVAoWU0sV0QpP1AoWU0sXCJXaW4zMlwiKT9EYjA6UmIwOkxiMCxxYjA9TWIwWzEwXTtscygwLFBiMCksbHMoWzAsZnVuY3Rpb24oeCl7cmV0dXJuIHh9XSxmdW5jdGlvbih4KXtyZXR1cm4gcWIwfSk7ZnVuY3Rpb24gcHMoeCxyKXtmdW5jdGlvbiBlKHQpe3JldHVybiBsdCh4LHQpfXJldHVybiBjNjw9cj8oZSh3M3xyPj4+MTh8MCksZShNMnwocj4+PjEyfDApJjYzKSxlKE0yfChyPj4+NnwwKSY2MyksZShNMnxyJjYzKSk6dF88PXI/KGUoczN8cj4+PjEyfDApLGUoTTJ8KHI+Pj42fDApJjYzKSxlKE0yfHImNjMpKTpNMjw9cj8oZShhM3xyPj4+NnwwKSxlKE0yfHImNjMpKTplKHIpfXZhciBaYT1bbjIsV1YsYXMoMCldLHhVPTAsclU9MCxlVT0wLHRVPTAsblU9MCx1VT0wLGlVPTAsZlU9MCxjVT0wLHNVPTA7ZnVuY3Rpb24geSh4KXtpZih4WzNdPT09eFsyXSlyZXR1cm4tMTt2YXIgcj14WzFdWzEreFszXV07cmV0dXJuIHhbM109eFszXSsxfDAscj09PTEwJiYoeFs1XSE9PTAmJih4WzVdPXhbNV0rMXwwKSx4WzRdPXhbM10pLHJ9ZnVuY3Rpb24gVyh4LHIpe3hbOV09eFszXSx4WzEwXT14WzRdLHhbMTFdPXhbNV0seFsxMl09cn1mdW5jdGlvbiBvcih4KXtyZXR1cm4geFs2XT14WzNdLHhbN109eFs0XSx4WzhdPXhbNV0sVyh4LC0xKX1mdW5jdGlvbiB3KHgpe3JldHVybiB4WzNdPXhbOV0seFs0XT14WzEwXSx4WzVdPXhbMTFdLHhbMTJdfWZ1bmN0aW9uIHhsKHgpe3hbM109eFs2XSx4WzRdPXhbN10seFs1XT14WzhdfWZ1bmN0aW9uIFJqKHgscil7eFs2XT1yfWZ1bmN0aW9uIHc1KHgpe3JldHVybiB4WzNdLXhbNl18MH1mdW5jdGlvbiBsMih4KXt2YXIgcj14WzNdLXhbNl18MCxlPXhbNl0sdD14WzFdO3JldHVybiAwPD1lJiYwPD1yJiYodC5sZW5ndGgtMS1yfDApPj1lP2d6KHQsZSxyKTpSMShxVil9ZnVuY3Rpb24gYVUoeCl7dmFyIHI9eFs2XTtyZXR1cm4gTjIoeFsxXSxyKVsxK3JdfWZ1bmN0aW9uIEs2KHgscixlLHQpe2Zvcih2YXIgdT1bMCxyXSxpPVswLGVdLGM9WzAsMF07Oyl7aWYoMD49aVsxXSlyZXR1cm4gY1sxXTt2YXIgdj14WzErdVsxXV07aWYoMD52KXRocm93IFcwKFphLDEpO2lmKEJyPHYpaWYoZEw8dilpZihEODx2KXtpZihyazx2KXRocm93IFcwKFphLDEpO1hyKHQsY1sxXSx3M3x2Pj4+MTh8MCksWHIodCxjWzFdKzF8MCxNMnwodj4+PjEyfDApJjYzKSxYcih0LGNbMV0rMnwwLE0yfCh2Pj4+NnwwKSY2MyksWHIodCxjWzFdKzN8MCxNMnx2JjYzKSxjWzFdPWNbMV0rNHwwfWVsc2UgWHIodCxjWzFdLHMzfHY+Pj4xMnwwKSxYcih0LGNbMV0rMXwwLE0yfCh2Pj4+NnwwKSY2MyksWHIodCxjWzFdKzJ8MCxNMnx2JjYzKSxjWzFdPWNbMV0rM3wwO2Vsc2UgWHIodCxjWzFdLGEzfHY+Pj42fDApLFhyKHQsY1sxXSsxfDAsTTJ8diY2MyksY1sxXT1jWzFdKzJ8MDtlbHNlIFhyKHQsY1sxXSx2KSxjWzFdKys7dVsxXSsrLGlbMV0rPS0xfX1mdW5jdGlvbiBvVSh4KXtmb3IodmFyIHI9TngoeCksZT0kYShyLDApLHQ9WzAsMF0sdT1bMCwwXTs7KXtpZih0WzFdPj1yKXJldHVyblswLGUsdVsxXSxzVSxjVSxmVSxpVSx1VSxuVSx0VSxlVSxyVSx4VV07dmFyIGk9SjAoeCx0WzFdKTt4OntpZihhMzw9aSl7aWYodzM+aSl7aWYoczM+aSl7dmFyIGM9SjAoeCx0WzFdKzF8MCk7aWYoKGM+Pj42fDApIT09Mil0aHJvdyBXMChaYSwxKTtlWzErdVsxXV09KGkmMzEpPDw2fGMmNjMsdFsxXT10WzFdKzJ8MDticmVhayB4fXZhciB2PUowKHgsdFsxXSsxfDApLGE9SjAoeCx0WzFdKzJ8MCksbD0oaSYxNSk8PDEyfCh2JjYzKTw8NnxhJjYzLG09KHY+Pj42fDApIT09Mj8xOjAsaD1tfHwoKGE+Pj42fDApIT09Mj8xOjApO2lmKGgpdmFyIGI9aDtlbHNlIHZhciBUPTU1Mjk2PD1sPzE6MCxiPVQmJihsPD01NzM0Mz8xOjApO2lmKGIpdGhyb3cgVzAoWmEsMSk7ZVsxK3VbMV1dPWwsdFsxXT10WzFdKzN8MDticmVhayB4fWlmKG4yPmkpe3ZhciBOPUowKHgsdFsxXSsxfDApLGo9SjAoeCx0WzFdKzJ8MCksST1KMCh4LHRbMV0rM3wwKSxGPShOPj4+NnwwKSE9PTI/MTowO2lmKEYpdmFyIHo9RjtlbHNlIHZhciBNPShqPj4+NnwwKSE9PTI/MTowLHo9TXx8KChJPj4+NnwwKSE9PTI/MTowKTtpZih6KXRocm93IFcwKFphLDEpO3ZhciBCPShpJjcpPDwxOHwoTiY2Myk8PDEyfChqJjYzKTw8NnxJJjYzO2lmKHJrPEIpdGhyb3cgVzAoWmEsMSk7ZVsxK3VbMV1dPUIsdFsxXT10WzFdKzR8MDticmVhayB4fX1lbHNlIGlmKE0yPmkpe2VbMSt1WzFdXT1pLHRbMV0rKzticmVhayB4fXRocm93IFcwKFphLDEpfXVbMV0rK319ZnVuY3Rpb24gSjYoeCxyLGUpe3ZhciB0PXhbNl0rcnwwLHU9UzIoZSo0fDApLGk9eFsxXTtpZigodCtlfDApPD1pLmxlbmd0aC0xKXJldHVybiBHMyh1LDAsSzYoaSx0LGUsdSkpO3Rocm93IFcwKFswLE5yLEdWXSwxKX1mdW5jdGlvbiBEeCh4KXt2YXIgcj14WzZdLGU9eFszXS1yfDAsdD1TMihlKjR8MCk7cmV0dXJuIEczKHQsMCxLNih4WzFdLHIsZSx0KSl9ZnVuY3Rpb24gXzUoeCxyKXt2YXIgZT14WzZdLHQ9eFszXS1lfDAsdT1TMih0KjR8MCk7cmV0dXJuIHRqKHIsdSwwLEs2KHhbMV0sZSx0LHUpKX1mdW5jdGlvbiBHNih4KXt2YXIgcj14Lmxlbmd0aC0xLGU9UzIocio0fDApO3JldHVybiBHMyhlLDAsSzYoeCwwLHIsZSkpfWZ1bmN0aW9uIHZVKHgscil7eFszXT14WzNdLXJ8MH1mdW5jdGlvbiBrcyh4KXtyZXR1cm4gdHlwZW9mIHg9PVwibnVtYmVyXCI/MDp4WzBdPT09MD8xOnhbMV19ZnVuY3Rpb24gd3YoeCxyLGUsdCl7dmFyIHU9a3MoeCksaT1rcyh0KSxjPWk8PXU/dSsxfDA6aSsxfDA7cmV0dXJuIGM9PT0xP1swLHIsZV06WzEsYyxyLGUseCx0XX1mdW5jdGlvbiBiNSh4LHIsZSx0KXt2YXIgdT1rcyh4KSxpPWtzKHQpLGM9aTw9dT91KzF8MDppKzF8MDtyZXR1cm5bMSxjLHIsZSx4LHRdfWZ1bmN0aW9uIGxVKHgscixlLHQpe3ZhciB1PWtzKHgpLGk9a3ModCk7aWYoKGkrMnwwKTx1KXt2YXIgYz14WzVdLHY9eFs0XSxhPXhbM10sbD14WzJdLG09a3MoYyk7aWYobTw9a3ModikpcmV0dXJuIGI1KHYsbCxhLHd2KGMscixlLHQpKTt2YXIgaD1jWzRdLFQ9Y1szXSxiPWNbMl0sTj13dihjWzVdLHIsZSx0KTtyZXR1cm4gYjUod3YodixsLGEsaCksYixULE4pfWlmKCh1KzJ8MCk+PWkpcmV0dXJuIHd2KHgscixlLHQpO3ZhciBqPXRbNV0sST10WzRdLEY9dFszXSxNPXRbMl0sej1rcyhJKTtpZih6PD1rcyhqKSlyZXR1cm4gYjUod3YoeCxyLGUsSSksTSxGLGopO3ZhciBCPUlbNF0sSz1JWzNdLG4wPUlbMl0sJD13dihJWzVdLE0sRixqKTtyZXR1cm4gYjUod3YoeCxyLGUsQiksbjAsSywkKX1mdW5jdGlvbiB4byh4KXtyZXR1cm4gdHlwZW9mIHg9PVwibnVtYmVyXCI/MDp4WzBdPT09MD8xOnhbMV19ZnVuY3Rpb24ga2EoeCxyLGUpe3g6e3I6e2lmKHR5cGVvZiB4PT1cIm51bWJlclwiKXtpZih0eXBlb2YgZT09XCJudW1iZXJcIilyZXR1cm5bMCxyXTtpZihlWzBdPT09MSlicmVhayByfWVsc2V7aWYoeFswXSE9PTApe3ZhciB0PXhbMV07aWYodHlwZW9mIGUhPVwibnVtYmVyXCImJmVbMF09PT0xKXt2YXIgdT1lWzFdLGk9dTw9dD90KzF8MDp1KzF8MDtyZXR1cm5bMSxpLHIseCxlXX12YXIgYz10O2JyZWFrIHh9aWYodHlwZW9mIGUhPVwibnVtYmVyXCImJmVbMF09PT0xKWJyZWFrIHJ9cmV0dXJuWzEsMixyLHgsZV19dmFyIGM9ZVsxXX1yZXR1cm5bMSxjKzF8MCxyLHgsZV19ZnVuY3Rpb24gVDUoeCxyLGUpe3ZhciB0PXhvKHgpLHU9eG8oZSksaT11PD10P3QrMXwwOnUrMXwwO3JldHVyblsxLGkscix4LGVdfWZ1bmN0aW9uIHBVKHgscixlKXt2YXIgdD14byh4KSx1PXhvKGUpO2lmKCh1KzJ8MCk8dCl7dmFyIGk9eFs0XSxjPXhbM10sdj14WzJdLGE9eG8oaSk7aWYoYTw9eG8oYykpcmV0dXJuIFQ1KGMsdixrYShpLHIsZSkpO3ZhciBsPWlbM10sbT1pWzJdLGg9a2EoaVs0XSxyLGUpO3JldHVybiBUNShrYShjLHYsbCksbSxoKX1pZigodCsyfDApPj11KXJldHVybiBrYSh4LHIsZSk7dmFyIFQ9ZVs0XSxiPWVbM10sTj1lWzJdLGo9eG8oYik7aWYoajw9eG8oVCkpcmV0dXJuIFQ1KGthKHgscixiKSxOLFQpO3ZhciBJPWJbM10sRj1iWzJdLE09a2EoYls0XSxOLFQpO3JldHVybiBUNShrYSh4LHIsSSksRixNKX12YXIgTGo9MDtmdW5jdGlvbiBrVSh4KXtmdW5jdGlvbiByKGUsdCl7aWYodHlwZW9mIHQ9PVwibnVtYmVyXCIpcmV0dXJuWzAsZV07aWYodFswXT09PTApe3ZhciB1PXRbMV0saT1wKHhbMV0sZSx1KTtyZXR1cm4gaT09PTA/dDowPD1pP2thKHQsZSxMaik6a2EoWzAsZV0sdSxMail9dmFyIGM9dFs0XSx2PXRbM10sYT10WzJdLGw9cCh4WzFdLGUsYSk7aWYobD09PTApcmV0dXJuIHQ7aWYoMDw9bCl7dmFyIG09cihlLGMpO3JldHVybiBjPT09bT90OnBVKHYsYSxtKX12YXIgaD1yKGUsdik7cmV0dXJuIHY9PT1oP3Q6cFUoaCxhLGMpfXJldHVyblswLExqLCxmdW5jdGlvbihlLHQpe2Zvcih2YXIgdT10Ozspe2lmKHR5cGVvZiB1PT1cIm51bWJlclwiKXJldHVybiAwO2lmKHVbMF09PT0wKXJldHVybiBwKHhbMV0sZSx1WzFdKT09PTA/MTowO3ZhciBpPXVbNF0sYz11WzNdLHY9cCh4WzFdLGUsdVsyXSksYT12PT09MD8xOjA7aWYoYSlyZXR1cm4gYTt2YXIgbD0wPD12P2k6Yyx1PWx9fSxyXX1mdW5jdGlvbiBtVSh4KXtzd2l0Y2goeFswXSl7Y2FzZSAwOnJldHVybiAxO2Nhc2UgMTpyZXR1cm4gMjtjYXNlIDI6cmV0dXJuIDI7ZGVmYXVsdDpyZXR1cm4gM319ZnVuY3Rpb24gQXgoeCxyKXtpZighcilyZXR1cm4gcjt2YXIgZT1yWzFdLHQ9ZCh4LGUpO3JldHVybiBlPT09dD9yOlswLHRdfWZ1bmN0aW9uIE8wKHgscixlLHQsdSl7dmFyIGk9cCh4LHIsZSk7cmV0dXJuIGU9PT1pP3Q6dShpKX1mdW5jdGlvbiBQMCh4LHIsZSx0KXt2YXIgdT1kKHgscik7cmV0dXJuIHI9PT11P2U6dCh1KX1mdW5jdGlvbiBXMih4LHIpe3ZhciBlPXJbMV07cmV0dXJuIE8wKHgsZSxyWzJdLHIsZnVuY3Rpb24odCl7cmV0dXJuWzAsZSx0XX0pfWZ1bmN0aW9uIFc2KHgscil7cmV0dXJuIEF4KGZ1bmN0aW9uKGUpe3ZhciB0PWVbMV07cmV0dXJuIE8wKHgsdCxlWzJdLGUsZnVuY3Rpb24odSl7cmV0dXJuWzAsdCx1XX0pfSxyKX1mdW5jdGlvbiBmcih4LHIpe3ZhciBlPW0xKGZ1bmN0aW9uKHUsaSl7dmFyIGM9dVsyXSx2PXVbMV0sYT1kKHgsaSksbD1jfHwoYSE9PWk/MTowKTtyZXR1cm5bMCxbMCxhLHZdLGxdfSxTJCxyKSx0PWVbMV07cmV0dXJuIGVbMl0/aXgodCk6cn12YXIgTWo9ZDUoUCQsZnVuY3Rpb24oeCl7dmFyIHI9UGooeCxBJCksZT1yWzFdLHQ9clsyXSx1PXJbM10saT1yWzRdLGM9cls1XSx2PXJbNl0sYT1yWzddLGw9cls4XSxtPXJbOV0saD1yWzEwXSxUPXJbMTFdLGI9clsxMl0sTj1yWzEzXSxqPXJbMTRdLEk9clsxNV0sRj1yWzE2XSxNPXJbMTddLHo9clsxOF0sQj1yWzE5XSxLPXJbMjBdLG4wPXJbMjFdLCQ9clsyMl0sSD1yWzIzXSx0MD1yWzI0XSxjMD1yWzI1XSxyMD1yWzI2XSx2MD1yWzI3XSxhMD1yWzI4XSxnMD1yWzI5XSxpMD1yWzMwXSxzMD1yWzMxXSxkMD1yWzMyXSx3MD1yWzMzXSxNMD1yWzM0XSxDMD1yWzM1XSxEMD1yWzM2XSxJMD1yWzM3XSxqMD1yWzM4XSx5MD1yWzM5XSxZMD1yWzQwXSxMPXJbNDFdLE4wPXJbNDJdLFMwPXJbNDNdLEswPXJbNDRdLEEwPXJbNDVdLCQwPXJbNDZdLGV4PXJbNDddLHh4PXJbNDhdLHR4PXJbNDldLHowPXJbNTBdLHB4PXJbNTFdLHN4PXJbNTJdLFE9cls1M10sYjA9cls1NF0sVT1yWzU1XSxoMD1yWzU2XSxfMD1yWzU3XSxtMD1yWzU5XSxUMD1yWzYwXSxYPXJbNjFdLEd4PXJbNjJdLFB4PXJbNjNdLEcwPXJbNjRdLEtyPXJbNjVdLFM9cls2Nl0sRz1yWzY3XSxyeD1yWzY4XSx5eD1yWzY5XSxFeD1yWzcwXSxueD1yWzcxXSxwMD1yWzcyXSxGeD1yWzczXSxTeD1yWzc0XSxieD1yWzc1XSxCMD1yWzc2XSxXeD1yWzc3XSxZeD1yWzc4XSxheD1yWzc5XSxReD1yWzgwXSxreD1yWzgxXSx0cj1yWzgyXSxzcj1yWzgzXSxNcj1yWzg0XSxhMj1yWzg1XSxfMj1yWzg2XSxpMj1yWzg3XSxRMj1yWzg4XSxqeD1yWzg5XSxfPXJbOTBdLFY9cls5MV0sbHg9cls5Ml0sVTA9cls5M10sb3g9cls5NF0sd3g9cls5NV0sQ3I9cls5Nl0sSHg9cls5N10sWnI9cls5OF0sZHI9cls5OV0sT3I9clt5Ml0seDI9cltmZV0sdXg9cltnMV0sTHg9cltzbl0sWng9cltCZV0scXI9clt1aV0sWTI9cltKZV0sSDI9cltLMl0sS3Q9cltzdl0sZHQ9cltzdF0sSnQ9clt6MV0sQzE9cltjZV0scTE9cltlYV0sYjI9cltUZV0sd249clttcl0sX249clt0dl0sYnM9cltXYV0sbGU9clt5Nl0sWmU9cltQM10sVHM9clt6bF0sTHY9clt2Zl0seXQ9clttNl0seXI9cltzMl0sVGE9cltybl0sRXM9cltTM10sZ3Q9cltCYV0sTXY9cltTa10scXY9cltCcl0sYm49cltNMl0sRWE9cltYb10sa289cltkNl0sU2E9cltyNl0sQWE9cltyOF0sUGE9cltfa10sbW89clt3Ul0sU3M9cltmUl0sSDE9cltqRF0sZDE9cltRT10sSWE9cltPSV0sQXM9cltHRl0sR3Q9cltDTF0sVXY9cltTUl0saG89clskTF0sQnY9clsxNDNdLFh2PXJbMTQ0XSxkbD1yWzE0NV0sTmE9clsxNDZdLHlvPXJbMTQ3XSxnbz1yWzE0OF0samE9clsxNDldLENhPXJbMTUwXSx5bD1yW0RSXSxQcz1yWzE1Ml0sWWg9clsxNTNdLHdvPXJbMTU0XSxUND1yWzE1NV0sX289clsxNTZdLGdsPXJbTkxdLEU0PXJbMTU4XSxibz1yWzE1OV0sUzQ9cltiTF0semg9cltuTF0sS2g9cltMUl0sSmg9cltscl0sR2g9cltoRF0sQTQ9cltfRl0sUDQ9cltyRF0sSTQ9clttRl0sd2w9cltYUF0sWT1yW0FwXSxBPXJbRWRdLEQ9cltVd10sZjA9cltRRF0sazA9cltiUl0sUjA9cltETF0sUTA9cltSRF0sbXg9cltCRl0sSXg9cltWUl0sUng9cltuZ10sbnI9clt6TF0seng9cltqZ10sdXI9cltKRV0sa3I9clt5eV0scnI9cltLOV0sQ3g9cltwNl0sZ3I9cltiT10sRXI9clttQV0sSnI9cltncF0sU3I9cltVOV0sR3I9cltPOF0sazI9cltzUl0sUDI9clt3TF0sRHI9clthM10sbTI9clttRF0scjI9cltQSV0sQXI9cltEYl0sd3I9cltpTF0sZjI9cltQRF0sVXI9cltPTF0sUXI9cltoTF0sVDI9cltwTF0sUnI9cltuRl0sZDI9cltlRF0sbzI9cltHZF0sYzI9clt4Ul0sRTI9clskVF0scGU9cltjX10samU9cltrRl0seHQ9cltET10sVTE9cltIRF0sZTI9cltuRF0sWjE9cltKOV0sUjI9clt4Rl0sd3Q9clt0RF0sTzE9cltGTF0sX3Q9cltnZ10sV3Q9cltwZF0scnQ9cltwUl0sZXQ9clt5T10sT3g9clt2QV0sdHQ9cltkRl0seGU9cltKRl0sdjE9clt6T10sQ2U9cltra10sT2U9cltzM10sbnQ9cltWRF0sdXQ9cltLRl0saXQ9cltfUl0scjE9cltLT10sYnQ9cltvTF0sVHQ9cltjRl0sSXM9cltVT10sZnQ9cltkT10sVnQ9clt0TF0sRDE9clt2TF0sVG49cltFUl0sa2U9cltQUl0sRGU9clt5TF0sJHQ9cltVRl0sTnM9cltGeV0sRW49clt3M10sanM9cltnRl0scmU9cltZUl0sRXQ9cltNUl0sQ3M9clt6b10sU249cltIVF0sRmU9cltBM10sT3M9cltlcF0sRHM9cltuMl0sVG89cltXRV0sRW89cltEM10sWXY9cltLTF0senY9cltnM10sU289cltsRV0sQW89cltkM10sX2w9cltIcF0sS3Y9cltIbF0sYmw9clsyNTddLFRsPXJbTE9dLEZzPXJbX0xdLFBvPXJbMjYwXSxKdj1yWzI2MV0sRWw9clsyNjJdLFJzPXJbMjYzXSxHdj1yWzI2NF0sT2E9clsyNjVdLFNsPXJbJERdLFd2PXJbMjY3XSxJbz1yWzI2OF0sQWw9clsyNjldLERhPXJbMjcwXSxMcz1yW1VMXSxObz1yW3lEXSxqbz1yWzI3M10sRmE9clsyNzRdLFBsPXJbYURdLElsPXJbMjc2XSxObD1yW2VGXSxDbz1yW21fXSxBbj1yW1ZiXSxSYT1yWzI4MF0samw9cltmTF0sT289clsyODJdLFZ2PXJbMjgzXSxNcz1yWzI4NF0sJHY9clsyODVdLFN0PXJbVkxdLEYxPXJbWURdLFF2PXJbMjg4XSxIdj1yWzI4OV0sQ2w9clsyOTBdLERvPXJbQlJdLEZvPXJbMjkyXSxadj1yW1JGXSxPbD1yWzI5NF0seDM9clsyOTVdLFdoPXJbMjk2XSxRdD1yW3dEXSxQbj1yWzI5OF0scjM9clsyOTldLFZoPXJbZERdLHFzPXJbMzAxXSxlMz1yW2JGXSwkaD1yW0FEXSxRaD1yWzMwNF0sSGg9clszMDVdLFpoPXJbMzA2XSx0Mz1yW3hMXSxOND1yWzMwOF0seGQ9cltmRF0sajQ9cltqT107cmV0dXJuIERqKHgsWzAscls1OF0sZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89Zls0XSxrPWZbM10sZz1mWzFdLEU9ZlsyXSxDPXNbMV0sUj1wKG5bMV1bMStDMF0sbixnKSxlMD1wKG5bMV1bMStMXSxuLGspLGwwPWZyKGQoblsxXVsxK2pvXSxuKSxvKTtyZXR1cm4gZz09PVImJms9PT1lMCYmbz09PWwwP3M6WzAsQyxbMCxSLEUsZTAsbDBdXX0sdHgsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89c1sxXTtzd2l0Y2goZlswXSl7Y2FzZSAwOnZhciBrPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK1F0XSxuKSxvLGsscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbMCxjeF1dfSk7Y2FzZSAxOnZhciBnPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK09sXSxuKSxvLGcscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbMSxjeF1dfSk7Y2FzZSAyOnZhciBFPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxKyR2XSxuKSxvLEUscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbMixjeF1dfSk7Y2FzZSAzOnZhciBDPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK0xzXSxuKSxvLEMscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbMyxjeF1dfSk7Y2FzZSA0OnZhciBSPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK0t2XSxuKSxvLFIscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbNCxjeF1dfSk7Y2FzZSA1OnZhciBlMD1mWzFdO3JldHVybiBPMChkKG5bMV1bMStfbF0sbiksbyxlMCxzLGZ1bmN0aW9uKGN4KXtyZXR1cm5bMCxvLFs1LGN4XV19KTtjYXNlIDY6dmFyIGwwPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK0FvXSxuKSxvLGwwLHMsZnVuY3Rpb24oY3gpe3JldHVyblswLG8sWzYsY3hdXX0pO2Nhc2UgNzp2YXIgRjA9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErU29dLG4pLG8sRjAscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbNyxjeF1dfSk7Y2FzZSA4OnZhciBkeD1mWzFdO3JldHVybiBPMChkKG5bMV1bMSt6dl0sbiksbyxkeCxzLGZ1bmN0aW9uKGN4KXtyZXR1cm5bMCxvLFs4LGN4XV19KTtjYXNlIDk6dmFyIFh4PWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK1l2XSxuKSxvLFh4LHMsZnVuY3Rpb24oY3gpe3JldHVyblswLG8sWzksY3hdXX0pO2Nhc2UgMTA6dmFyIEt4PWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK1RvXSxuKSxvLEt4LHMsZnVuY3Rpb24oY3gpe3JldHVyblswLG8sWzEwLGN4XV19KTtjYXNlIDExOnZhciBfcj1mWzFdO3JldHVybiBPMChkKG5bMV1bMStEc10sbiksbyxfcixzLGZ1bmN0aW9uKGN4KXtyZXR1cm5bMCxvLFsxMSxjeF1dfSk7Y2FzZSAxMjp2YXIgdDI9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErT3NdLG4pLG8sdDIscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbMTIsY3hdXX0pO2Nhc2UgMTM6dmFyIFdyPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK0ZlXSxuKSxvLFdyLHMsZnVuY3Rpb24oY3gpe3JldHVyblswLG8sWzEzLGN4XV19KTtjYXNlIDE0OnZhciBWeD1mWzFdO3JldHVybiBPMChkKG5bMV1bMStTbl0sbiksbyxWeCxzLGZ1bmN0aW9uKGN4KXtyZXR1cm5bMCxvLFsxNCxjeF1dfSk7Y2FzZSAxNTp2YXIgQzI9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErQ3NdLG4pLG8sQzIscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbMTUsY3hdXX0pO2Nhc2UgMTY6dmFyIHoyPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK2kyXSxuKSxvLHoyLHMsZnVuY3Rpb24oY3gpe3JldHVyblswLG8sWzE2LGN4XV19KTtjYXNlIDE3OnZhciBlZT1mWzFdO3JldHVybiBPMChkKG5bMV1bMStFdF0sbiksbyxlZSxzLGZ1bmN0aW9uKGN4KXtyZXR1cm5bMCxvLFsxNyxjeF1dfSk7Y2FzZSAxODp2YXIgbWU9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzEranNdLG4pLG8sbWUscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbMTgsY3hdXX0pO2Nhc2UgMTk6dmFyIGhlPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK0VuXSxuKSxvLGhlLHMsZnVuY3Rpb24oY3gpe3JldHVyblswLG8sWzE5LGN4XV19KTtjYXNlIDIwOnZhciB0ZT1mWzFdO3JldHVybiBPMChkKG5bMV1bMStEMV0sbiksbyx0ZSxzLGZ1bmN0aW9uKGN4KXtyZXR1cm5bMCxvLFsyMCxjeF1dfSk7Y2FzZSAyMTp2YXIgZGU9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErbnRdLG4pLG8sZGUscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbMjEsY3hdXX0pO2Nhc2UgMjI6dmFyIHllPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK0NlXSxuKSxvLHllLHMsZnVuY3Rpb24oY3gpe3JldHVyblswLG8sWzIyLGN4XV19KTtjYXNlIDIzOnZhciBnZT1mWzFdO3JldHVybiBPMChkKG5bMV1bMStydF0sbiksbyxnZSxzLGZ1bmN0aW9uKGN4KXtyZXR1cm5bMCxvLFsyMyxjeF1dfSk7Y2FzZSAyNDp2YXIgQXQ9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzEramVdLG4pLG8sQXQscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbMjQsY3hdXX0pO2Nhc2UgMjU6dmFyIHdlPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK08xXSxuKSxvLHdlLHMsZnVuY3Rpb24oY3gpe3JldHVyblswLG8sWzI1LGN4XV19KTtjYXNlIDI2OnZhciBjdD1mWzFdO3JldHVybiBPMChkKG5bMV1bMStVMV0sbiksbyxjdCxzLGZ1bmN0aW9uKGN4KXtyZXR1cm5bMCxvLFsyNixjeF1dfSk7Y2FzZSAyNzp2YXIgVXM9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErZDJdLG4pLG8sVXMscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbMjcsY3hdXX0pO2Nhc2UgMjg6dmFyIEJzPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK3VyXSxuKSxvLEJzLHMsZnVuY3Rpb24oY3gpe3JldHVyblswLG8sWzI4LGN4XV19KTtjYXNlIDI5OnZhciBYcz1mWzFdO3JldHVybiBPMChkKG5bMV1bMStucl0sbiksbyxYcyxzLGZ1bmN0aW9uKGN4KXtyZXR1cm5bMCxvLFsyOSxjeF1dfSk7Y2FzZSAzMDp2YXIgSW49ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErQV0sbiksbyxJbixzLGZ1bmN0aW9uKGN4KXtyZXR1cm5bMCxvLFszMCxjeF1dfSk7Y2FzZSAzMTp2YXIgWXM9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErQXNdLG4pLG8sWXMscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbMzEsY3hdXX0pO2Nhc2UgMzI6dmFyIHpzPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK3lyXSxuKSxvLHpzLHMsZnVuY3Rpb24oY3gpe3JldHVyblswLG8sWzMyLGN4XV19KTtjYXNlIDMzOnZhciBuMz1mWzFdO3JldHVybiBPMChkKG5bMV1bMStRXSxuKSxvLG4zLHMsZnVuY3Rpb24oY3gpe3JldHVyblswLG8sWzMzLGN4XV19KTtjYXNlIDM0OnZhciB1Mz1mWzFdO3JldHVybiBPMChkKG5bMV1bMStLMF0sbiksbyx1MyxzLGZ1bmN0aW9uKGN4KXtyZXR1cm5bMCxvLFszNCxjeF1dfSk7Y2FzZSAzNTp2YXIgaTM9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErRDBdLG4pLG8saTMscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbMzUsY3hdXX0pO2Nhc2UgMzY6dmFyIGYzPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK00wXSxuKSxvLGYzLHMsZnVuY3Rpb24oY3gpe3JldHVyblswLG8sWzM2LGN4XV19KTtjYXNlIDM3OnZhciBfeD1mWzFdO3JldHVybiBPMChkKG5bMV1bMSt2MF0sbiksbyxfeCxzLGZ1bmN0aW9uKGN4KXtyZXR1cm5bMCxvLFszNyxjeF1dfSk7Y2FzZSAzODp2YXIgYzM9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzEraTJdLG4pLG8sYzMscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbMzgsY3hdXX0pO2Nhc2UgMzk6dmFyIGh4PWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK2xdLG4pLG8saHgscyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbMzksY3hdXX0pO2Nhc2UgNDA6dmFyIGVPPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK3VdLG4pLG8sZU8scyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbNDAsY3hdXX0pO2RlZmF1bHQ6dmFyIHRPPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK3RdLG4pLG8sdE8scyxmdW5jdGlvbihjeCl7cmV0dXJuWzAsbyxbNDEsY3hdXX0pfX0sam8sZnVuY3Rpb24obixzKXtyZXR1cm4gc30sTCxmdW5jdGlvbihuKXt2YXIgcz1kKG5bMV1bMStOMF0sbik7cmV0dXJuIGZ1bmN0aW9uKGYpe3JldHVybiBBeChzLGYpfX0sTjAsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89c1sxXSxrPXNbM10sZz1mcihkKG5bMV1bMStqb10sbiksbyksRT1mcihkKG5bMV1bMStqb10sbiksZik7cmV0dXJuIG89PT1nJiZmPT09RT9zOlswLGcsRSxrXX0sT3gsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89c1sxXTtzd2l0Y2goZlswXSl7Y2FzZSAwOnZhciBrPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK3hkXSxuKSxvLGsscyxmdW5jdGlvbihoeCl7cmV0dXJuWzAsbyxbMCxoeF1dfSk7Y2FzZSAxOnZhciBnPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK1poXSxuKSxvLGcscyxmdW5jdGlvbihoeCl7cmV0dXJuWzAsbyxbMSxoeF1dfSk7Y2FzZSAyOnZhciBFPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK0hoXSxuKSxvLEUscyxmdW5jdGlvbihoeCl7cmV0dXJuWzAsbyxbMixoeF1dfSk7Y2FzZSAzOnZhciBDPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK1FoXSxuKSxvLEMscyxmdW5jdGlvbihoeCl7cmV0dXJuWzAsbyxbMyxoeF1dfSk7Y2FzZSA0OnZhciBSPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxKyRoXSxuKSxvLFIscyxmdW5jdGlvbihoeCl7cmV0dXJuWzAsbyxbNCxoeF1dfSk7Y2FzZSA1OnZhciBlMD1mWzFdO3JldHVybiBPMChkKG5bMV1bMStWaF0sbiksbyxlMCxzLGZ1bmN0aW9uKGh4KXtyZXR1cm5bMCxvLFs1LGh4XV19KTtjYXNlIDY6dmFyIGwwPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK1p2XSxuKSxvLGwwLHMsZnVuY3Rpb24oaHgpe3JldHVyblswLG8sWzYsaHhdXX0pO2Nhc2UgNzp2YXIgRjA9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErT29dLG4pLG8sRjAscyxmdW5jdGlvbihoeCl7cmV0dXJuWzAsbyxbNyxoeF1dfSk7Y2FzZSA4OnZhciBkeD1mWzFdO3JldHVybiBPMChkKG5bMV1bMStUbF0sbiksbyxkeCxzLGZ1bmN0aW9uKGh4KXtyZXR1cm5bMCxvLFs4LGh4XV19KTtjYXNlIDk6dmFyIFh4PWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK1JyXSxuKSxvLFh4LHMsZnVuY3Rpb24oaHgpe3JldHVyblswLG8sWzksaHhdXX0pO2Nhc2UgMTA6dmFyIEt4PWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK0N4XSxuKSxLeCxzLGZ1bmN0aW9uKGh4KXtyZXR1cm5bMCxvLFsxMCxoeF1dfSk7Y2FzZSAxMTp2YXIgX3I9ZlsxXTtyZXR1cm4gUDAocChuWzFdWzErenhdLG4sbyksX3IscyxmdW5jdGlvbihoeCl7cmV0dXJuWzAsbyxbMTEsaHhdXX0pO2Nhc2UgMTI6dmFyIHQyPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK2dsXSxuKSxvLHQyLHMsZnVuY3Rpb24oaHgpe3JldHVyblswLG8sWzEyLGh4XV19KTtjYXNlIDEzOnZhciBXcj1mWzFdO3JldHVybiBPMChkKG5bMV1bMSt5bF0sbiksbyxXcixzLGZ1bmN0aW9uKGh4KXtyZXR1cm5bMCxvLFsxMyxoeF1dfSk7Y2FzZSAxNDp2YXIgVng9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErJDBdLG4pLG8sVngscyxmdW5jdGlvbihoeCl7cmV0dXJuWzAsbyxbMTQsaHhdXX0pO2Nhc2UgMTU6dmFyIEMyPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK3gzXSxuKSxvLEMyLHMsZnVuY3Rpb24oaHgpe3JldHVyblswLG8sWzE1LGh4XV19KTtjYXNlIDE2OnZhciB6Mj1mWzFdO3JldHVybiBPMChkKG5bMV1bMStkdF0sbiksbyx6MixzLGZ1bmN0aW9uKGh4KXtyZXR1cm5bMCxvLFsxNixoeF1dfSk7Y2FzZSAxNzp2YXIgZWU9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErSDJdLG4pLG8sZWUscyxmdW5jdGlvbihoeCl7cmV0dXJuWzAsbyxbMTcsaHhdXX0pO2Nhc2UgMTg6dmFyIG1lPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK3FzXSxuKSxvLG1lLHMsZnVuY3Rpb24oaHgpe3JldHVyblswLG8sWzE4LGh4XV19KTtjYXNlIDE5OnZhciBoZT1mWzFdO3JldHVybiBPMChkKG5bMV1bMStoMF0sbiksbyxoZSxzLGZ1bmN0aW9uKGh4KXtyZXR1cm5bMCxvLFsxOSxoeF1dfSk7Y2FzZSAyMDp2YXIgdGU9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErQzFdLG4pLG8sdGUscyxmdW5jdGlvbihoeCl7cmV0dXJuWzAsbyxbMjAsaHhdXX0pO2Nhc2UgMjE6dmFyIGRlPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK0lhXSxuKSxvLGRlLHMsZnVuY3Rpb24oaHgpe3JldHVyblswLG8sWzIxLGh4XV19KTtjYXNlIDIyOnZhciB5ZT1mWzFdO3JldHVybiBPMChkKG5bMV1bMSttb10sbiksbyx5ZSxzLGZ1bmN0aW9uKGh4KXtyZXR1cm5bMCxvLFsyMixoeF1dfSk7Y2FzZSAyMzp2YXIgZ2U9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErWmVdLG4pLG8sZ2UscyxmdW5jdGlvbihoeCl7cmV0dXJuWzAsbyxbMjMsaHhdXX0pO2Nhc2UgMjQ6dmFyIEF0PWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK3ExXSxuKSxvLEF0LHMsZnVuY3Rpb24oaHgpe3JldHVyblswLG8sWzI0LGh4XV19KTtjYXNlIDI1OnZhciB3ZT1mWzFdO3JldHVybiBPMChkKG5bMV1bMStKdF0sbiksbyx3ZSxzLGZ1bmN0aW9uKGh4KXtyZXR1cm5bMCxvLFsyNSxoeF1dfSk7Y2FzZSAyNjp2YXIgY3Q9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErWTJdLG4pLG8sY3QscyxmdW5jdGlvbihoeCl7cmV0dXJuWzAsbyxbMjYsaHhdXX0pO2Nhc2UgMjc6dmFyIFVzPWZbMV07cmV0dXJuIFAwKHAoblsxXVsxK18yXSxuLG8pLFVzLHMsZnVuY3Rpb24oaHgpe3JldHVyblswLG8sWzI3LGh4XV19KTtjYXNlIDI4OnZhciBCcz1mWzFdO3JldHVybiBPMChkKG5bMV1bMStNcl0sbiksbyxCcyxzLGZ1bmN0aW9uKGh4KXtyZXR1cm5bMCxvLFsyOCxoeF1dfSk7Y2FzZSAyOTp2YXIgWHM9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErc3hdLG4pLG8sWHMscyxmdW5jdGlvbihoeCl7cmV0dXJuWzAsbyxbMjksaHhdXX0pO2Nhc2UgMzA6dmFyIEluPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK0EwXSxuKSxvLEluLHMsZnVuY3Rpb24oaHgpe3JldHVyblswLG8sWzMwLGh4XV19KTtjYXNlIDMxOnZhciBZcz1mWzFdO3JldHVybiBPMChkKG5bMV1bMStZMF0sbiksbyxZcyxzLGZ1bmN0aW9uKGh4KXtyZXR1cm5bMCxvLFszMSxoeF1dfSk7Y2FzZSAzMjp2YXIgenM9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzEreTBdLG4pLG8senMscyxmdW5jdGlvbihoeCl7cmV0dXJuWzAsbyxbMzIsaHhdXX0pO2Nhc2UgMzM6dmFyIG4zPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK0kwXSxuKSxvLG4zLHMsZnVuY3Rpb24oaHgpe3JldHVyblswLG8sWzMzLGh4XV19KTtjYXNlIDM0OnZhciB1Mz1mWzFdO3JldHVybiBPMChkKG5bMV1bMStIXSxuKSxvLHUzLHMsZnVuY3Rpb24oaHgpe3JldHVyblswLG8sWzM0LGh4XV19KTtjYXNlIDM1OnZhciBpMz1mWzFdO3JldHVybiBPMChkKG5bMV1bMSt3MF0sbiksbyxpMyxzLGZ1bmN0aW9uKGh4KXtyZXR1cm5bMCxvLFszNSxoeF1dfSk7Y2FzZSAzNjp2YXIgZjM9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErVF0sbiksbyxmMyxzLGZ1bmN0aW9uKGh4KXtyZXR1cm5bMCxvLFszNixoeF1dfSk7Y2FzZSAzNzp2YXIgX3g9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErbV0sbiksbyxfeCxzLGZ1bmN0aW9uKGh4KXtyZXR1cm5bMCxvLFszNyxoeF1dfSk7ZGVmYXVsdDp2YXIgYzM9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErZV0sbiksbyxjMyxzLGZ1bmN0aW9uKGh4KXtyZXR1cm5bMCxvLFszOCxoeF1dfSl9fSx4ZCxmdW5jdGlvbihuLHMsZil7dmFyIG89ZlsyXSxrPWZbMV0sZz1mcihkKG5bMV1bMStONF0sbiksayksRT1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBrPT09ZyYmbz09PUU/ZjpbMCxnLEVdfSxONCxmdW5jdGlvbihuLHMpe3N3aXRjaChzWzBdKXtjYXNlIDA6dmFyIGY9c1sxXTtyZXR1cm4gUDAoZChuWzFdWzErT3hdLG4pLGYscyxmdW5jdGlvbihrKXtyZXR1cm5bMCxrXX0pO2Nhc2UgMTp2YXIgbz1zWzFdO3JldHVybiBQMChkKG5bMV1bMStweF0sbiksbyxzLGZ1bmN0aW9uKGspe3JldHVyblsxLGtdfSk7ZGVmYXVsdDpyZXR1cm4gc319LFpoLGZ1bmN0aW9uKG4scyxmKXtyZXR1cm4gSDAoblsxXVsxK0UyXSxuLHMsZil9LEhoLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzJdLGs9ZlsxXSxnPXAoblsxXVsxK094XSxuLGspLEU9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gZz09PWsmJkU9PT1vP2Y6WzAsZyxFXX0sUWgsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbM10saz1mWzJdLGc9ZlsxXSxFPXAoblsxXVsxK094XSxuLGcpLEM9cChuWzFdWzErcjBdLG4sayksUj1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBFPT09ZyYmQz09PWsmJlI9PT1vP2Y6WzAsRSxDLFJdfSwkaCxmdW5jdGlvbihuLHMsZil7dmFyIG89Zls0XSxrPWZbM10sZz1mWzJdLEU9cChuWzFdWzErZTNdLG4sZyksQz1wKG5bMV1bMStPeF0sbixrKSxSPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGc9PT1FJiZrPT09QyYmbz09PVI/ZjpbMCxmWzFdLEUsQyxSXX0sVmgsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbNF0saz1mWzNdLGc9ZlsyXSxFPXAoblsxXVsxK094XSxuLGcpLEM9cChuWzFdWzErT3hdLG4sayksUj1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBnPT09RSYmaz09PUMmJm89PT1SP2Y6WzAsZlsxXSxFLEMsUl19LFF0LGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzJdLGs9ZlsxXSxnPXAoblsxXVsxK2V4XSxuLGspLEU9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gaz09PWcmJm89PT1FP2Y6WzAsZyxFXX0sT2wsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMl0saz1mWzFdLGc9QXgoZChuWzFdWzErR3RdLG4pLGspLEU9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gaz09PWcmJm89PT1FP2Y6WzAsZyxFXX0sWnYsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbNF0saz1mWzNdLGc9ZlsyXSxFPWZbMV0sQz1wKG5bMV1bMStPeF0sbixFKSxSPUF4KGQoblsxXVsxK0RvXSxuKSxnKSxlMD1wKG5bMV1bMStqNF0sbixrKSxsMD1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBFPT09QyYmZz09PVImJms9PT1lMCYmbz09PWwwP2Y6WzAsQyxSLGUwLGwwXX0sajQsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89ZlsyXSxrPWZbMV0sZz1zWzFdLEU9ZnIoZChuWzFdWzErZXRdLG4pLGspLEM9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gaz09PUUmJm89PT1DP3M6WzAsZyxbMCxFLENdXX0sXzIsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMV0saz1IMChuWzFdWzErWnZdLG4scyxvKTtyZXR1cm4gbz09PWs/ZjpbMCxrLGZbMl0sZlszXV19LERvLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbMl0saz1mWzFdLGc9c1sxXSxFPWZyKGQoblsxXVsxK0ZvXSxuKSxrKSxDPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGs9PT1FJiZvPT09Qz9zOlswLGcsWzAsRSxDXV19LEZvLGZ1bmN0aW9uKG4scyl7aWYoc1swXT09PTApe3ZhciBmPXNbMV0sbz1wKG5bMV1bMSthMF0sbixmKTtyZXR1cm4gbz09PWY/czpbMCxvXX12YXIgaz1zWzFdLGc9a1syXVsxXSxFPWtbMV0sQz1wKG5bMV1bMStMXSxuLGcpO3JldHVybiBnPT09Qz9zOlsxLFswLEUsWzAsQ11dXX0sQ2wsZnVuY3Rpb24obixzKXtyZXR1cm4gVzIoZChuWzFdWzErUXRdLG4pLHMpfSxIdixmdW5jdGlvbihuLHMsZil7dmFyIG89ZlszXSxrPWZbMl0sZz1mWzFdLEU9QXgoZChuWzFdWzErUXZdLG4pLGcpLEM9cChuWzFdWzErQ2xdLG4sayksUj1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBnPT09RSYmaz09PUMmJm89PT1SP2Y6WzAsRSxDLFJdfSwkdixmdW5jdGlvbihuLHMsZil7cmV0dXJuIEgwKG5bMV1bMStGMV0sbixzLGYpfSxPbyxmdW5jdGlvbihuLHMsZil7cmV0dXJuIEgwKG5bMV1bMStGMV0sbixzLGYpfSxGMSxmdW5jdGlvbihuLHMsZil7dmFyIG89Zls3XSxrPWZbNl0sZz1mWzVdLEU9Zls0XSxDPWZbM10sUj1mWzJdLGUwPWZbMV0sbDA9QXgoZChuWzFdWzErUmFdLG4pLGUwKSxGMD1BeChkKG5bMV1bMStNXSxuKSxDKSxkeD1wKG5bMV1bMStTdF0sbixSKSxYeD1kKG5bMV1bMStqbF0sbiksS3g9QXgoZnVuY3Rpb24oVngpe3JldHVybiBXMihYeCxWeCl9LEUpLF9yPUF4KGQoblsxXVsxK0FuXSxuKSxnKSx0Mj1mcihkKG5bMV1bMStNc10sbiksayksV3I9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gZTA9PT1sMCYmUj09PWR4JiZFPT09S3gmJmc9PT1fciYmaz09PXQyJiZvPT09V3ImJkM9PT1GMD9mOlswLGwwLGR4LEYwLEt4LF9yLHQyLFdyXX0samwsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbM10saz1mWzJdLGc9ZlsxXSxFPXAoblsxXVsxK094XSxuLGcpLEM9QXgoZChuWzFdWzErdDBdLG4pLGspLFI9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gZz09PUUmJms9PT1DJiZvPT09Uj9mOlswLEUsQyxSXX0sUmEsZnVuY3Rpb24obixzKXtyZXR1cm4gSDAoblsxXVsxK2J4XSxuLHYkLHMpfSxTdCxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzJdLGs9ZlsxXSxnPXNbMV0sRT1mcihkKG5bMV1bMStWdl0sbiksayksQz1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBrPT09RSYmbz09PUM/czpbMCxnLFswLEUsQ11dfSxNcyxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzJdLGs9ZlsxXSxnPXNbMV0sRT1wKG5bMV1bMStPeF0sbixrKSxDPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGs9PT1FJiZvPT09Qz9zOlswLGcsWzAsRSxDXV19LFZ2LGZ1bmN0aW9uKG4scyl7c3dpdGNoKHNbMF0pe2Nhc2UgMDp2YXIgZj1zWzFdLG89ZlsxXSxrPWZbMl07cmV0dXJuIE8wKGQoblsxXVsxK05sXSxuKSxvLGsscyxmdW5jdGlvbihGMCl7cmV0dXJuWzAsWzAsbyxGMF1dfSk7Y2FzZSAxOnZhciBnPXNbMV0sRT1nWzFdLEM9Z1syXTtyZXR1cm4gTzAoZChuWzFdWzErUGxdLG4pLEUsQyxzLGZ1bmN0aW9uKEYwKXtyZXR1cm5bMSxbMCxFLEYwXV19KTtkZWZhdWx0OnZhciBSPXNbMV0sZTA9UlsxXSxsMD1SWzJdO3JldHVybiBPMChkKG5bMV1bMStJbF0sbiksZTAsbDAscyxmdW5jdGlvbihGMCl7cmV0dXJuWzIsWzAsZTAsRjBdXX0pfX0sQW4sZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89ZlsyXSxrPWZbMV0sZz1zWzFdLEU9ZnIoZChuWzFdWzErQ29dLG4pLGspLEM9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gaz09PUUmJm89PT1DP3M6WzAsZyxbMCxFLENdXX0sQ28sZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89ZlsyXSxrPWZbMV0sZz1zWzFdLEU9cChuWzFdWzErQl0sbixrKSxDPUF4KGQoblsxXVsxK3QwXSxuKSxvKTtyZXR1cm4gaz09PUUmJm89PT1DP3M6WzAsZyxbMCxFLENdXX0sTmwsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbNl0saz1mWzVdLGc9ZlszXSxFPWZbMl0sQz1wKG5bMV1bMSt1eF0sbixFKSxSPVcyKGQoblsxXVsxK1QyXSxuKSxnKSxlMD1mcihkKG5bMV1bMStNc10sbiksayksbDA9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gRT09PUMmJmc9PT1SJiZrPT09ZTAmJm89PT1sMD9mOlswLGZbMV0sQyxSLGZbNF0sZTAsbDBdfSxQbCxmdW5jdGlvbihuLHMsZil7dmFyIG89Zls3XSxrPWZbNl0sZz1mWzVdLEU9ZlszXSxDPWZbMl0sUj1mWzFdLGUwPXAoblsxXVsxK3V4XSxuLFIpLGwwPXAoblsxXVsxK0ZhXSxuLEMpLEYwPXAoblsxXVsxK2MwXSxuLEUpLGR4PXAoblsxXVsxK2ldLG4sZyksWHg9ZnIoZChuWzFdWzErTXNdLG4pLGspLEt4PXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIFI9PT1lMCYmQz09PWwwJiZGMD09PUUmJmR4PT09ZyYmWHg9PT1rJiZLeD09PW8/ZjpbMCxlMCxsMCxGMCxmWzRdLGR4LFh4LEt4XX0sRmEsZnVuY3Rpb24obixzKXtpZih0eXBlb2Ygcz09XCJudW1iZXJcIilyZXR1cm4gczt2YXIgZj1zWzFdLG89cChuWzFdWzErT3hdLG4sZik7cmV0dXJuIGY9PT1vP3M6WzAsb119LElsLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzddLGs9Zls2XSxnPWZbNV0sRT1mWzNdLEM9ZlsyXSxSPWZbMV0sZTA9cChuWzFdWzErbTBdLG4sUiksbDA9cChuWzFdWzErRmFdLG4sQyksRjA9cChuWzFdWzErYzBdLG4sRSksZHg9cChuWzFdWzEraV0sbixnKSxYeD1mcihkKG5bMV1bMStNc10sbiksayksS3g9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gUj09PWUwJiZDPT09bDAmJkYwPT09RSYmZHg9PT1nJiZYeD09PWsmJkt4PT09bz9mOlswLGUwLGwwLEYwLGZbNF0sZHgsWHgsS3hdfSxyZSxmdW5jdGlvbihuLHMpe3JldHVybiBBeChkKG5bMV1bMStPeF0sbikscyl9LExzLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzZdLGs9Zls1XSxnPWZbNF0sRT1mWzNdLEM9ZlsyXSxSPWZbMV0sZTA9Zls3XSxsMD1wKG5bMV1bMStEYV0sbixSKSxGMD1BeChkKG5bMV1bMStNXSxuKSxDKSxkeD1wKG5bMV1bMStTbF0sbixFKSxYeD1wKG5bMV1bMStOb10sbixrKSxLeD1wKG5bMV1bMStPYV0sbixnKSxfcj1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBSPT09bDAmJkM9PT1GMCYmRT09PWR4JiZrPT09WHgmJmc9PT1LeCYmbz09PV9yP2Y6WzAsbDAsRjAsZHgsS3gsWHgsX3IsZTBdfSxEYSxmdW5jdGlvbihuLHMpe3JldHVybiBIMChuWzFdWzErYnhdLG4sbCQscyl9LFNsLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbM10saz1mWzJdLGc9ZlsxXSxFPXNbMV0sQz1mcihkKG5bMV1bMStBbF0sbiksZyksUj1BeChkKG5bMV1bMStHdl0sbiksayksZTA9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gZz09PUMmJms9PT1SJiZvPT09ZTA/czpbMCxFLFswLEMsUixlMF1dfSxBbCxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1mWzRdLEM9c1sxXSxSPXAoblsxXVsxK0lvXSxuLGcpLGUwPXAoblsxXVsxK1d2XSxuLGspLGwwPXAoblsxXVsxK3JlXSxuLG8pO3JldHVybiBnPT09UiYmaz09PWUwJiZvPT09bDA/czpbMCxDLFswLFIsZTAsbDAsRV1dfSxJbyxmdW5jdGlvbihuLHMpe2lmKHNbMF09PT0wKXJldHVyblswLHAoblsxXVsxK0N4XSxuLHNbMV0pXTt2YXIgZj1zWzFdLG89ZlsxXTtyZXR1cm5bMSxbMCxvLEgwKG5bMV1bMSskMF0sbixvLGZbMl0pXV19LFd2LGZ1bmN0aW9uKG4scyl7cmV0dXJuIEgwKG5bMV1bMStyM10sbixwJCxzKX0sR3YsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89ZlsyXSxrPWZbMV0sZz1zWzFdLEU9cChuWzFdWzErV3ZdLG4sayksQz1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBrPT09RSYmbz09PUM/czpbMCxnLFswLEUsQ11dfSxObyxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMV0sbz1zWzJdO3JldHVybiBPMChkKG5bMV1bMStRdF0sbiksZixvLHMsZnVuY3Rpb24oayl7cmV0dXJuWzAsZixrXX0pfSxUbCxmdW5jdGlvbihuLHMsZil7dmFyIG89Zls0XSxrPWZbM10sZz1mWzJdLEU9ZlsxXSxDPXAoblsxXVsxK1QwXSxuLEUpLFI9cChuWzFdWzErT3hdLG4sZyksZTA9cChuWzFdWzErT3hdLG4sayksbDA9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gRT09PUMmJmc9PT1SJiZrPT09ZTAmJm89PT1sMD9mOlswLEMsUixlMCxsMF19LEt2LGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzJdLGs9ZlsxXSxnPUF4KGQoblsxXVsxK0d0XSxuKSxrKSxFPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGs9PT1nJiZvPT09RT9mOlswLGcsRV19LF9sLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzFdLGs9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gbz09PWs/ZjpbMCxrXX0sQW8sZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbN10saz1mWzZdLGc9Zls1XSxFPWZbNF0sQz1mWzNdLFI9ZlsyXSxlMD1mWzFdLGwwPXAoblsxXVsxK1JhXSxuLGUwKSxGMD1BeChkKG5bMV1bMStNXSxuKSxSKSxkeD1XMihkKG5bMV1bMStWXSxuKSxDKSxYeD1kKG5bMV1bMStncl0sbiksS3g9QXgoZnVuY3Rpb24oQzIpe3JldHVybiBXMihYeCxDMil9LEUpLF9yPWQoblsxXVsxK2dyXSxuKSx0Mj1mcihmdW5jdGlvbihDMil7cmV0dXJuIFcyKF9yLEMyKX0sZyksV3I9QXgoZChuWzFdWzErQW5dLG4pLGspLFZ4PXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGwwPT09ZTAmJkYwPT09UiYmZHg9PT1DJiZLeD09PUUmJnQyPT09ZyYmV3I9PT1rJiZWeD09PW8/ZjpbMCxsMCxGMCxkeCxLeCx0MixXcixWeF19LFNvLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzVdLGs9Zls0XSxnPWZbM10sRT1mWzJdLEM9ZlsxXSxSPXAoblsxXVsxK0RhXSxuLEMpLGUwPUF4KGQoblsxXVsxK01dLG4pLEUpLGwwPXAoblsxXVsxK0p2XSxuLGcpLEYwPXAoblsxXVsxK09hXSxuLGspLGR4PXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIEM9PT1SJiZFPT09ZTAmJmc9PT1sMCYmaz09PUYwJiZvPT09ZHg/ZjpbMCxSLGUwLGwwLEYwLGR4XX0sUnMsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbNF0saz1mWzNdLGc9ZlsyXSxFPWZbMV0sQz1BeChkKG5bMV1bMStNXSxuKSxFKSxSPXAoblsxXVsxK0p2XSxuLGcpLGUwPXAoblsxXVsxK09hXSxuLGspLGwwPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIEU9PT1DJiZnPT09UiYmaz09PWUwJiZvPT09bDA/ZjpbMCxDLFIsZTAsbDBdfSxKdixmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1zWzFdLEM9ZnIoZChuWzFdWzErRWxdLG4pLGcpLFI9QXgoZChuWzFdWzErUG9dLG4pLGspLGUwPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGc9PT1DJiZrPT09UiYmbz09PWUwP3M6WzAsRSxbMCxDLFIsZTBdXX0sRWwsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89ZlsyXSxrPWZbMV0sZz1mWzNdLEU9c1sxXSxDPXAoblsxXVsxK0lvXSxuLGspLFI9cChuWzFdWzErcjBdLG4sbyk7cmV0dXJuIGs9PT1DJiZvPT09Uj9zOlswLEUsWzAsQyxSLGddXX0sUG8sZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89Zls0XSxrPWZbMl0sZz1mWzFdLEU9ZlszXSxDPXNbMV0sUj1BeChkKG5bMV1bMStDeF0sbiksZyksZTA9cChuWzFdWzErYTBdLG4sayksbDA9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gZz09PVImJms9PT1lMCYmbz09PWwwP3M6WzAsQyxbMCxSLGUwLEUsbDBdXX0senYsZnVuY3Rpb24obixzLGYpe3JldHVybiBIMChuWzFdWzErRDFdLG4scyxmKX0sWXYsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbNV0saz1mWzRdLGc9ZlszXSxFPWZbMl0sQz1mWzFdLFI9VzYoZChuWzFdWzErdHRdLG4pLGspLGUwPUF4KGQoblsxXVsxK3hlXSxuKSxnKSxsMD1BeChkKG5bMV1bMStFb10sbiksRSksRjA9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gaz09PVImJmc9PT1lMCYmRT09PWwwJiZvPT09RjA/ZjpbMCxDLGwwLGUwLFIsRjBdfSxFbyxmdW5jdGlvbihuLHMpe3N3aXRjaChzWzBdKXtjYXNlIDA6dmFyIGY9c1sxXSxvPWZbMl0saz1mWzFdLGc9SDAoblsxXVsxK0V0XSxuLGssbyk7cmV0dXJuIGc9PT1vP3M6WzAsWzAsayxnXV07Y2FzZSAxOnZhciBFPXNbMV0sQz1FWzJdLFI9RVsxXSxlMD1IMChuWzFdWzErVG9dLG4sUixDKTtyZXR1cm4gZTA9PT1DP3M6WzEsWzAsUixlMF1dO2Nhc2UgMjp2YXIgbDA9c1sxXSxGMD1sMFsyXSxkeD1sMFsxXSxYeD1IMChuWzFdWzErQW9dLG4sZHgsRjApO3JldHVybiBYeD09PUYwP3M6WzIsWzAsZHgsWHhdXTtjYXNlIDM6dmFyIEt4PXNbMV0sX3I9S3hbMl0sdDI9S3hbMV0sV3I9SDAoblsxXVsxK1NvXSxuLHQyLF9yKTtyZXR1cm4gV3I9PT1fcj9zOlszLFswLHQyLFdyXV07Y2FzZSA0OnZhciBWeD1zWzFdLEMyPXAoblsxXVsxK2EwXSxuLFZ4KTtyZXR1cm4gQzI9PT1WeD9zOls0LEMyXTtjYXNlIDU6dmFyIHoyPXNbMV0sZWU9ejJbMl0sbWU9ejJbMV0saGU9SDAoblsxXVsxK3YwXSxuLG1lLGVlKTtyZXR1cm4gaGU9PT1lZT9zOls1LFswLG1lLGhlXV07Y2FzZSA2OnZhciB0ZT1zWzFdLGRlPXRlWzJdLHllPXRlWzFdLGdlPUgwKG5bMV1bMStpMl0sbix5ZSxkZSk7cmV0dXJuIGdlPT09ZGU/czpbNixbMCx5ZSxnZV1dO2Nhc2UgNzp2YXIgQXQ9c1sxXSx3ZT1BdFsyXSxjdD1BdFsxXSxVcz1IMChuWzFdWzErRF0sbixjdCx3ZSk7cmV0dXJuIFVzPT09d2U/czpbNyxbMCxjdCxVc11dO2RlZmF1bHQ6dmFyIEJzPXNbMV0sWHM9QnNbMl0sSW49QnNbMV0sWXM9SDAoblsxXVsxK0QxXSxuLEluLFhzKTtyZXR1cm4gWXM9PT1Ycz9zOls4LFswLEluLFlzXV19fSxUbyxmdW5jdGlvbihuLHMsZil7dmFyIG89Zls0XSxrPWZbM10sZz1mWzJdLEU9ZlsxXSxDPXAoblsxXVsxK1FyXSxuLEUpLFI9cChuWzFdWzErcjBdLG4sZyksZTA9QXgoZChuWzFdWzErWF0sbiksayksbDA9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gQz09PUUmJlI9PT1nJiZlMD09PWsmJmwwPT09bz9mOlswLEMsUixlMCxsMF19LERzLGZ1bmN0aW9uKG4scyxmKXtyZXR1cm4gSDAoblsxXVsxK0RdLG4scyxmKX0sT3MsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbM10saz1mWzJdLGc9ZlsxXSxFPVcyKGQoblsxXVsxK1F0XSxuKSxrKSxDPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIEU9PT1rJiZvPT09Qz9mOlswLGcsRSxDXX0sRmUsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMl0saz1mWzFdLGc9cChuWzFdWzErcjBdLG4sayksRT1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBrPT09ZyYmbz09PUU/ZjpbMCxnLEVdfSxTbixmdW5jdGlvbihuLHMsZil7dmFyIG89ZlszXSxrPWZbMl0sZz1mWzFdLEU9SDAoblsxXVsxK2J4XSxuLGskLGcpLEM9VzIoZChuWzFdWzErUXRdLG4pLGspLFI9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gRT09PWcmJkM9PT1rJiZvPT09Uj9mOlswLEUsQyxSXX0sQ3MsZnVuY3Rpb24obixzLGYpe3JldHVybiBIMChuWzFdWzErdjBdLG4scyxmKX0sRXQsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbNF0saz1mWzNdLGc9ZlsyXSxFPWZbMV0sQz1IMChuWzFdWzErYnhdLG4sWzAsa10sRSksUj1wKG5bMV1bMStyMF0sbixnKSxlMD1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBDPT09RSYmUj09PWcmJmUwPT09bz9mOlswLEMsUixrLGUwXX0sanMsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbM10saz1mWzJdLGc9ZlsxXSxFPXAoblsxXVsxK3R4XSxuLGcpLEM9cChuWzFdWzErVDBdLG4sayksUj1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBnPT09RSYmaz09PUMmJm89PT1SP2Y6WzAsRSxDLFJdfSxFbixmdW5jdGlvbihuLHMsZil7dmFyIG89ZlsxXSxrPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIG89PT1rP2Y6WzAsa119LEQxLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1IMChuWzFdWzErYnhdLG4sbSQsZyksQz1wKG5bMV1bMStEZV0sbixrKSxSPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGc9PT1FJiZrPT09QyYmbz09PVI/ZjpbMCxFLEMsUl19LERlLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPXNbMV07c3dpdGNoKGZbMF0pe2Nhc2UgMDp2YXIgaz1mWzFdO3JldHVybiBQMChkKG5bMV1bMStrZV0sbiksayxzLGZ1bmN0aW9uKGUwKXtyZXR1cm5bMCxvLFswLGUwXV19KTtjYXNlIDE6dmFyIGc9ZlsxXTtyZXR1cm4gUDAoZChuWzFdWzErSXNdLG4pLGcscyxmdW5jdGlvbihlMCl7cmV0dXJuWzAsbyxbMSxlMF1dfSk7Y2FzZSAyOnZhciBFPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK2J0XSxuKSxFLHMsZnVuY3Rpb24oZTApe3JldHVyblswLG8sWzIsZTBdXX0pO2Nhc2UgMzp2YXIgQz1mWzFdO3JldHVybiBQMChkKG5bMV1bMStpdF0sbiksQyxzLGZ1bmN0aW9uKGUwKXtyZXR1cm5bMCxvLFszLGUwXV19KTtkZWZhdWx0OnZhciBSPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK05zXSxuKSxSLHMsZnVuY3Rpb24oZTApe3JldHVyblswLG8sWzQsZTBdXX0pfX0sa2UsZnVuY3Rpb24obixzKXt2YXIgZj1zWzRdLG89c1sxXSxrPWZyKGQoblsxXVsxK1RuXSxuKSxvKSxnPXAoblsxXVsxK0xdLG4sZik7cmV0dXJuIG89PT1rJiZmPT09Zz9zOlswLGssc1syXSxzWzNdLGddfSxJcyxmdW5jdGlvbihuLHMpe3ZhciBmPXNbNF0sbz1zWzFdLGs9ZnIoZChuWzFdWzErVHRdLG4pLG8pLGc9cChuWzFdWzErTF0sbixmKTtyZXR1cm4gbz09PWsmJmY9PT1nP3M6WzAsayxzWzJdLHNbM10sZ119LGJ0LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1s0XSxvPXNbMV07aWYob1swXT09PTApdmFyIGs9b1sxXSxnPWQoblsxXVsxK1Z0XSxuKSxSPVAwKGZ1bmN0aW9uKGwwKXtyZXR1cm4gZnIoZyxsMCl9LGssbyxmdW5jdGlvbihsMCl7cmV0dXJuWzAsbDBdfSk7ZWxzZSB2YXIgRT1vWzFdLEM9ZChuWzFdWzErcjFdLG4pLFI9UDAoZnVuY3Rpb24obDApe3JldHVybiBmcihDLGwwKX0sRSxvLGZ1bmN0aW9uKGwwKXtyZXR1cm5bMSxsMF19KTt2YXIgZTA9cChuWzFdWzErTF0sbixmKTtyZXR1cm4gbz09PVImJmY9PT1lMD9zOlswLFIsc1syXSxzWzNdLGUwXX0saXQsZnVuY3Rpb24obixzKXt2YXIgZj1zWzNdLG89c1sxXSxrPWZyKGQoblsxXVsxK1Z0XSxuKSxvKSxnPXAoblsxXVsxK0xdLG4sZik7cmV0dXJuIG89PT1rJiZmPT09Zz9zOlswLGssc1syXSxnXX0sTnMsZnVuY3Rpb24obixzKXt2YXIgZj1zWzRdLG89c1sxXSxrPWZyKGQoblsxXVsxKyR0XSxuKSxvKSxnPXAoblsxXVsxK0xdLG4sZik7cmV0dXJuIG89PT1rJiZmPT09Zz9zOlswLGssc1syXSxzWzNdLGddfSxWdCxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl1bMV0sbz1zWzFdLGs9cChuWzFdWzErZnRdLG4sZik7cmV0dXJuIGY9PT1rP3M6WzAsbyxbMCxrXV19LFRuLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbMV0saz1mWzJdLGc9c1sxXSxFPXAoblsxXVsxK2Z0XSxuLG8pO3JldHVybiBvPT09RT9zOlswLGcsWzAsRSxrXV19LFR0LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbMV0saz1mWzJdLGc9c1sxXSxFPXAoblsxXVsxK2Z0XSxuLG8pO3JldHVybiBvPT09RT9zOlswLGcsWzAsRSxrXV19LHIxLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbMV0saz1mWzJdLGc9c1sxXSxFPXAoblsxXVsxK2Z0XSxuLG8pO3JldHVybiBvPT09RT9zOlswLGcsWzAsRSxrXV19LCR0LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbMV0saz1mWzJdLGc9c1sxXSxFPXAoblsxXVsxK2Z0XSxuLG8pO3JldHVybiBvPT09RT9zOlswLGcsWzAsRSxrXV19LGZ0LGZ1bmN0aW9uKG4scyl7cmV0dXJuIHAoblsxXVsxK0N4XSxuLHMpfSxudCxmdW5jdGlvbihuLHMsZil7dmFyIG89ZlszXSxrPWZbMl0sZz1mWzFdLEU9cChuWzFdWzErT2VdLG4sayksQz1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBFPT09ayYmQz09PW8/ZjpbMCxnLEUsQ119LE9lLGZ1bmN0aW9uKG4scyl7aWYoc1swXT09PTApe3ZhciBmPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK3R4XSxuKSxmLHMsZnVuY3Rpb24oayl7cmV0dXJuWzAsa119KX12YXIgbz1zWzFdO3JldHVybiBQMChkKG5bMV1bMStPeF0sbiksbyxzLGZ1bmN0aW9uKGspe3JldHVyblsxLGtdfSl9LENlLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzVdLGs9ZlszXSxnPWZbMl0sRT1mWzFdLEM9Zls0XSxSPVc2KGQoblsxXVsxK3R0XSxuKSxrKSxlMD1BeChkKG5bMV1bMSt4ZV0sbiksZyksbDA9QXgoZChuWzFdWzErdHhdLG4pLEUpLEYwPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGs9PT1SJiZnPT09ZTAmJkU9PT1sMCYmbz09PUYwP2Y6WzAsbDAsZTAsUixDLEYwXX0sdjEsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89ZlsyXSxrPWZbMV0sZz1zWzFdLEU9cChuWzFdWzErQ3hdLG4sayksQz1BeChkKG5bMV1bMStDeF0sbiksbyk7cmV0dXJuIGs9PT1FJiZvPT09Qz9zOlswLGcsWzAsRSxDXV19LHV0LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPXNbMV0saz1BeChkKG5bMV1bMStDeF0sbiksZik7cmV0dXJuIGY9PT1rP3M6WzAsbyxrXX0seGUsZnVuY3Rpb24obixzKXtpZihzWzBdPT09MCl7dmFyIGY9c1sxXSxvPWZyKGQoblsxXVsxK3YxXSxuKSxmKTtyZXR1cm4gZj09PW8/czpbMCxvXX12YXIgaz1zWzFdLGc9cChuWzFdWzErdXRdLG4sayk7cmV0dXJuIGs9PT1nP3M6WzEsZ119LHR0LGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBvPT09RT9mOlswLGcsayxFXX0scnQsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbM10saz1mWzFdLGc9ZlsyXSxFPXAoblsxXVsxK094XSxuLGspLEM9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gaz09PUUmJm89PT1DP2Y6WzAsRSxnLENdfSxldCxmdW5jdGlvbihuLHMpe2lmKHNbMF09PT0wKXt2YXIgZj1zWzFdO3JldHVybiBQMChkKG5bMV1bMStPeF0sbiksZixzLGZ1bmN0aW9uKGspe3JldHVyblswLGtdfSl9dmFyIG89c1sxXTtyZXR1cm4gUDAoZChuWzFdWzErcHhdLG4pLG8scyxmdW5jdGlvbihrKXtyZXR1cm5bMSxrXX0pfSxPMSxmdW5jdGlvbihuLHMsZil7dmFyIG89Zls1XSxrPWZbM10sZz1mWzJdLEU9ZlsxXSxDPWZbNF0sUj1wKG5bMV1bMSt3dF0sbixFKSxlMD1wKG5bMV1bMStPeF0sbixnKSxsMD1wKG5bMV1bMSt0eF0sbixrKSxGMD1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBFPT09UiYmZz09PWUwJiZrPT09bDAmJm89PT1GMD9mOlswLFIsZTAsbDAsQyxGMF19LHd0LGZ1bmN0aW9uKG4scyl7aWYoc1swXT09PTApe3ZhciBmPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK190XSxuKSxmLHMsZnVuY3Rpb24oayl7cmV0dXJuWzAsa119KX12YXIgbz1zWzFdO3JldHVybiBQMChkKG5bMV1bMStXdF0sbiksbyxzLGZ1bmN0aW9uKGspe3JldHVyblsxLGtdfSl9LF90LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1sxXSxvPXNbMl07cmV0dXJuIE8wKGQoblsxXVsxK2xdLG4pLGYsbyxzLGZ1bmN0aW9uKGspe3JldHVyblswLGYsa119KX0sVTEsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbNV0saz1mWzNdLGc9ZlsyXSxFPWZbMV0sQz1mWzRdLFI9cChuWzFdWzEreHRdLG4sRSksZTA9cChuWzFdWzErT3hdLG4sZyksbDA9cChuWzFdWzErdHhdLG4sayksRjA9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gRT09PVImJmc9PT1lMCYmaz09PWwwJiZvPT09RjA/ZjpbMCxSLGUwLGwwLEMsRjBdfSx4dCxmdW5jdGlvbihuLHMpe2lmKHNbMF09PT0wKXt2YXIgZj1zWzFdO3JldHVybiBQMChkKG5bMV1bMStlMl0sbiksZixzLGZ1bmN0aW9uKGspe3JldHVyblswLGtdfSl9dmFyIG89c1sxXTtyZXR1cm4gUDAoZChuWzFdWzErWjFdLG4pLG8scyxmdW5jdGlvbihrKXtyZXR1cm5bMSxrXX0pfSxlMixmdW5jdGlvbihuLHMpe3ZhciBmPXNbMV0sbz1zWzJdO3JldHVybiBPMChkKG5bMV1bMStsXSxuKSxmLG8scyxmdW5jdGlvbihrKXtyZXR1cm5bMCxmLGtdfSl9LGplLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzVdLGs9Zls0XSxnPWZbM10sRT1mWzJdLEM9ZlsxXSxSPUF4KGQoblsxXVsxK3BlXSxuKSxDKSxlMD1BeChkKG5bMV1bMStUMF0sbiksRSksbDA9QXgoZChuWzFdWzErT3hdLG4pLGcpLEYwPXAoblsxXVsxK3R4XSxuLGspLGR4PXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIEM9PT1SJiZFPT09ZTAmJmc9PT1sMCYmaz09PUYwJiZvPT09ZHg/ZjpbMCxSLGUwLGwwLEYwLGR4XX0scGUsZnVuY3Rpb24obixzKXtpZihzWzBdPT09MCl7dmFyIGY9c1sxXTtyZXR1cm4gUDAoZChuWzFdWzErUjJdLG4pLGYscyxmdW5jdGlvbihrKXtyZXR1cm5bMCxrXX0pfXZhciBvPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK094XSxuKSxvLHMsZnVuY3Rpb24oayl7cmV0dXJuWzEsa119KX0sUjIsZnVuY3Rpb24obixzKXt2YXIgZj1zWzFdLG89c1syXTtyZXR1cm4gTzAoZChuWzFdWzErbF0sbiksZixvLHMsZnVuY3Rpb24oayl7cmV0dXJuWzAsZixrXX0pfSx3cixmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzJdLGs9ZlsxXSxnPWZbM10sRT1zWzFdLEM9cChuWzFdWzErYTBdLG4sbyksUj1BeChkKG5bMV1bMStDeF0sbiksayk7cmV0dXJuIEM9PT1vJiZSPT09az9zOlswLEUsWzAsUixDLGddXX0sbTIsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89ZlsyXSxrPWZbMV0sZz1zWzFdLEU9cChuWzFdWzErd3JdLG4sayksQz1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBFPT09ayYmQz09PW8/czpbMCxnLFswLEUsQ11dfSxrMixmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzJdLGs9ZlsxXSxnPXNbMV0sRT1wKG5bMV1bMStyMF0sbixrKSxDPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIEU9PT1rJiZDPT09bz9zOlswLGcsWzAsRSxDXV19LFNyLGZ1bmN0aW9uKG4scyl7aWYoc1swXT09PTApe3ZhciBmPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK2EwXSxuKSxmLHMsZnVuY3Rpb24oayl7cmV0dXJuWzAsa119KX12YXIgbz1zWzFdO3JldHVybiBQMChkKG5bMV1bMSskXSxuKSxvLHMsZnVuY3Rpb24oayl7cmV0dXJuWzEsa119KX0sR3IsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbNF0saz1mWzNdLGc9ZlsyXSxFPWdbMl0sQz1FWzRdLFI9RVszXSxlMD1FWzJdLGwwPUVbMV0sRjA9ZlsxXSxkeD1mWzVdLFh4PWdbMV0sS3g9QXgoZChuWzFdWzErTV0sbiksRjApLF9yPUF4KGQoblsxXVsxK2syXSxuKSxsMCksdDI9ZnIoZChuWzFdWzErd3JdLG4pLGUwKSxXcj1BeChkKG5bMV1bMSttMl0sbiksUiksVng9cChuWzFdWzErU3JdLG4sayksQzI9cChuWzFdWzErTF0sbixvKSx6Mj1wKG5bMV1bMStMXSxuLEMpO3JldHVybiB0Mj09PWUwJiZXcj09PVImJlZ4PT09ayYmS3g9PT1GMCYmQzI9PT1vJiZ6Mj09PUMmJl9yPT09bDA/ZjpbMCxLeCxbMCxYeCxbMCxfcix0MixXcix6Ml1dLFZ4LEMyLGR4XX0sR3QsZnVuY3Rpb24obixzKXtyZXR1cm4gcChuWzFdWzErQ3hdLG4scyl9LFUwLGZ1bmN0aW9uKG4scyl7c3dpdGNoKHNbMF0pe2Nhc2UgMDp2YXIgZj1zWzFdO3JldHVybiBQMChkKG5bMV1bMSthMF0sbiksZixzLGZ1bmN0aW9uKGcpe3JldHVyblswLGddfSk7Y2FzZSAxOnZhciBvPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK2p4XSxuKSxvLHMsZnVuY3Rpb24oZyl7cmV0dXJuWzEsZ119KTtkZWZhdWx0OnZhciBrPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK1EyXSxuKSxrLHMsZnVuY3Rpb24oZyl7cmV0dXJuWzIsZ119KX19LGp4LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1sxXSxvPXNbMl07cmV0dXJuIE8wKGQoblsxXVsxK0dyXSxuKSxmLG8scyxmdW5jdGlvbihrKXtyZXR1cm5bMCxmLGtdfSl9LFEyLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1sxXSxvPXNbMl07cmV0dXJuIE8wKGQoblsxXVsxK0dyXSxuKSxmLG8scyxmdW5jdGlvbihrKXtyZXR1cm5bMCxmLGtdfSl9LG94LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbOF0saz1mWzddLGc9ZlsyXSxFPWZbMV0sQz1mWzZdLFI9Zls1XSxlMD1mWzRdLGwwPWZbM10sRjA9c1sxXSxkeD1wKG5bMV1bMSt1eF0sbixFKSxYeD1wKG5bMV1bMStVMF0sbixnKSxLeD1wKG5bMV1bMStpXSxuLGspLF9yPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGR4PT09RSYmWHg9PT1nJiZLeD09PWsmJl9yPT09bz9zOlswLEYwLFswLGR4LFh4LGwwLGUwLFIsQyxLeCxfcl1dfSxseCxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzJdLGs9ZlsxXSxnPXNbMV0sRT1wKG5bMV1bMSthMF0sbixrKSxDPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIEU9PT1rJiZvPT09Qz9zOlswLGcsWzAsRSxDXV19LFp4LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbNl0saz1mWzVdLGc9ZlszXSxFPWZbMl0sQz1mWzRdLFI9ZlsxXSxlMD1zWzFdLGwwPXAoblsxXVsxK2EwXSxuLEUpLEYwPXAoblsxXVsxK2EwXSxuLGcpLGR4PXAoblsxXVsxK2ldLG4sayksWHg9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gbDA9PT1FJiZGMD09PWcmJmR4PT09ayYmWHg9PT1vP3M6WzAsZTAsWzAsUixsMCxGMCxDLGR4LFh4XV19LEx4LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbNl0saz1mWzJdLGc9ZlsxXSxFPWZbNV0sQz1mWzRdLFI9ZlszXSxlMD1zWzFdLGwwPXAoblsxXVsxK0N4XSxuLGcpLEYwPXAoblsxXVsxK2EwXSxuLGspLGR4PXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGc9PT1sMCYmaz09PUYwJiZvPT09ZHg/czpbMCxlMCxbMCxsMCxGMCxSLEMsRSxkeF1dfSxxcixmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzNdLGs9ZlsxXSxnPWtbMl0sRT1rWzFdLEM9ZlsyXSxSPXNbMV0sZTA9SDAoblsxXVsxK0dyXSxuLEUsZyksbDA9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gZz09PWUwJiZvPT09bDA/czpbMCxSLFswLFswLEUsZTBdLEMsbDBdXX0sQ3IsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89Zls2XSxrPWZbNF0sZz1mWzNdLEU9ZlsyXSxDPWZbMV0sUj1mWzVdLGUwPXNbMV0sbDA9cChuWzFdWzErel0sbixDKSxGMD1wKG5bMV1bMSthMF0sbixFKSxkeD1wKG5bMV1bMSthMF0sbixnKSxYeD1wKG5bMV1bMStpXSxuLGspLEt4PXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGwwPT09QyYmRjA9PT1FJiZkeD09PWcmJlh4PT09ayYmS3g9PT1vP3M6WzAsZTAsWzAsbDAsRjAsZHgsWHgsUixLeF1dfSxWLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzRdLGs9ZlszXSxnPWZbMl0sRT1mWzFdLEM9ZnIoZChuWzFdWzErX10sbiksayksUj1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBDPT09ayYmbz09PVI/ZjpbMCxFLGcsQyxSXX0sXyxmdW5jdGlvbihuLHMpe3N3aXRjaChzWzBdKXtjYXNlIDA6dmFyIGY9c1sxXTtyZXR1cm4gUDAoZChuWzFdWzErb3hdLG4pLGYscyxmdW5jdGlvbihSKXtyZXR1cm5bMCxSXX0pO2Nhc2UgMTp2YXIgbz1zWzFdO3JldHVybiBQMChkKG5bMV1bMStseF0sbiksbyxzLGZ1bmN0aW9uKFIpe3JldHVyblsxLFJdfSk7Y2FzZSAyOnZhciBrPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK1p4XSxuKSxrLHMsZnVuY3Rpb24oUil7cmV0dXJuWzIsUl19KTtjYXNlIDM6dmFyIGc9c1sxXTtyZXR1cm4gUDAoZChuWzFdWzErcXJdLG4pLGcscyxmdW5jdGlvbihSKXtyZXR1cm5bMyxSXX0pO2Nhc2UgNDp2YXIgRT1zWzFdO3JldHVybiBQMChkKG5bMV1bMStMeF0sbiksRSxzLGZ1bmN0aW9uKFIpe3JldHVybls0LFJdfSk7ZGVmYXVsdDp2YXIgQz1zWzFdO3JldHVybiBQMChkKG5bMV1bMStDcl0sbiksQyxzLGZ1bmN0aW9uKFIpe3JldHVybls1LFJdfSl9fSxZLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1kKG5bMV1bMStncl0sbiksQz1mcihmdW5jdGlvbihsMCl7cmV0dXJuIFcyKEUsbDApfSxrKSxSPVcyKGQoblsxXVsxK1ZdLG4pLGcpLGUwPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIEM9PT1rJiZSPT09ZyYmbz09PWUwP2Y6WzAsUixDLGUwXX0sSnIsZnVuY3Rpb24obixzKXtpZihzWzBdPT09MCl7dmFyIGY9c1sxXTtyZXR1cm4gUDAoZChuWzFdWzErQl0sbiksZixzLGZ1bmN0aW9uKGspe3JldHVyblswLGtdfSl9dmFyIG89c1sxXTtyZXR1cm4gUDAoZChuWzFdWzErRXJdLG4pLG8scyxmdW5jdGlvbihrKXtyZXR1cm5bMSxrXX0pfSxFcixmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzJdLGs9ZlsxXSxnPXNbMV0sRT1wKG5bMV1bMStKcl0sbixrKSxDPXAoblsxXVsxK2IyXSxuLG8pO3JldHVybiBFPT09ayYmQz09PW8/czpbMCxnLFswLEUsQ11dfSxiMixmdW5jdGlvbihuLHMpe3JldHVybiBwKG5bMV1bMStDeF0sbixzKX0sYyxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzJdLGs9ZlsxXSxnPXNbMV0sRT1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBvPT09RT9zOlswLGcsWzAsayxFXV19LGksZnVuY3Rpb24obixzKXtyZXR1cm4gQXgoZChuWzFdWzErY10sbikscyl9LHQwLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbMl0saz1mWzFdLGc9c1sxXSxFPWZyKGQoblsxXVsxK2EwXSxuKSxrKSxDPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGs9PT1FJiZvPT09Qz9zOlswLGcsWzAsRSxDXV19LE0sZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89ZlsyXSxrPWZbMV0sZz1zWzFdLEU9ZnIoZChuWzFdWzErel0sbiksayksQz1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBFPT09ayYmQz09PW8/czpbMCxnLFswLEUsQ11dfSx6LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbNV0saz1mWzRdLGc9ZlsyXSxFPWZbMV0sQz1mWzNdLFI9c1sxXSxlMD1wKG5bMV1bMStjMF0sbixnKSxsMD1wKG5bMV1bMStpXSxuLGspLEYwPUF4KGQoblsxXVsxK2EwXSxuKSxvKSxkeD1wKG5bMV1bMStQbl0sbixFKTtyZXR1cm4gZHg9PT1FJiZlMD09PWcmJmwwPT09ayYmRjA9PT1vP3M6WzAsUixbMCxkeCxlMCxDLGwwLEYwXV19LGdyLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1wKG5bMV1bMStKcl0sbixnKSxDPUF4KGQoblsxXVsxK3QwXSxuKSxrKSxSPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIEU9PT1nJiZDPT09ayYmUj09PW8/ZjpbMCxFLEMsUl19LGswLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1wKG5bMV1bMSthMF0sbixnKSxDPXAoblsxXVsxK2EwXSxuLGspLFI9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gRT09PWcmJkM9PT1rJiZSPT09bz9mOlswLEUsQyxSXX0sYTIsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMV0saz1mWzJdLGc9SDAoblsxXVsxK2swXSxuLHMsbyk7cmV0dXJuIGc9PT1vP2Y6WzAsZyxrXX0sJDAsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbM10saz1mWzJdLGc9ZlsxXSxFPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIG89PT1FP2Y6WzAsZyxrLEVdfSxIMixmdW5jdGlvbihuLHMsZil7dmFyIG89ZlszXSxrPWZbMl0sZz1mWzFdLEU9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gbz09PUU/ZjpbMCxnLGssRV19LHFzLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBvPT09RT9mOlswLGcsayxFXX0seDMsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMl0saz1mWzFdLGc9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gbz09PWc/ZjpbMCxrLGddfSxkdCxmdW5jdGlvbihuLHMsZil7cmV0dXJuIHAoblsxXVsxK0xdLG4sZil9LGgwLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzRdLGs9ZlszXSxnPWZbMl0sRT1mWzFdLEM9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gbz09PUM/ZjpbMCxFLGcsayxDXX0sQzEsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbNl0saz1mWzVdLGc9Zls0XSxFPWZbM10sQz1mWzJdLFI9ZlsxXTtyZXR1cm4gbz09PXAoblsxXVsxK0xdLG4sbyk/ZjpbMCxSLEMsRSxnLGssb119LEt0LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPXNbMV0saz1wKG5bMV1bMSthMF0sbixvKSxnPXAoblsxXVsxK0xdLG4sZik7cmV0dXJuIG89PT1rJiZmPT09Zz9zOlswLGssZ119LGJsLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1s1XSxvPXNbNF0saz1zWzNdLGc9c1syXSxFPXNbMV0sQz1wKG5bMV1bMSthMF0sbixFKSxSPXAoblsxXVsxK2EwXSxuLGcpLGUwPXAoblsxXVsxK2EwXSxuLGspLGwwPXAoblsxXVsxK2EwXSxuLG8pLEYwPXAoblsxXVsxK0xdLG4sZik7cmV0dXJuIEU9PT1DJiZnPT09UiYmaz09PWUwJiZvPT09bDAmJmY9PT1GMD9zOlswLEMsUixlMCxsMCxGMF19LGYwLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPXNbMV0saz1wKG5bMV1bMSt6XSxuLG8pLGc9cChuWzFdWzErTF0sbixmKTtyZXR1cm4gbz09PWsmJmY9PT1nP3M6WzAsayxnXX0sYixmdW5jdGlvbihuLHMpe3ZhciBmPXNbM10sbz1zWzJdLGs9c1sxXSxnPXAoblsxXVsxK0ZdLG4sayksRT1BeChkKG5bMV1bMSt0MF0sbiksbyksQz1wKG5bMV1bMStMXSxuLGYpO3JldHVybiBrPT09ZyYmQjMobyxFKSYmZj09PUM/czpbMCxnLEUsQ119LEYsZnVuY3Rpb24obixzKXtpZihzWzBdPT09MCl7dmFyIGY9c1sxXTtyZXR1cm4gUDAoZChuWzFdWzErSV0sbiksZixzLGZ1bmN0aW9uKGspe3JldHVyblswLGtdfSl9dmFyIG89c1sxXTtyZXR1cm4gUDAoZChuWzFdWzErTl0sbiksbyxzLGZ1bmN0aW9uKGspe3JldHVyblsxLGtdfSl9LEksZnVuY3Rpb24obixzKXtyZXR1cm4gcChuWzFdWzErQ3hdLG4scyl9LGosZnVuY3Rpb24obixzKXtyZXR1cm4gcChuWzFdWzErQ3hdLG4scyl9LE4sZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89ZlsyXSxrPWZbMV0sZz1zWzFdLEU9cChuWzFdWzErRl0sbixrKSxDPXAoblsxXVsxK2pdLG4sbyk7cmV0dXJuIEU9PT1rJiZDPT09bz9zOlswLGcsWzAsRSxDXV19LFV2LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPXNbMV0saz1wKG5bMV1bMSthMF0sbixvKSxnPXAoblsxXVsxK0xdLG4sZik7cmV0dXJuIG89PT1rJiZmPT09Zz9zOlswLGssZ119LGIwLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1szXSxvPXNbMl0saz1zWzRdLGc9c1sxXSxFPXAoblsxXVsxK2EwXSxuLG8pLEM9cChuWzFdWzErTF0sbixmKTtyZXR1cm4gbz09PUUmJmY9PT1DP3M6WzAsZyxFLEMsa119LF8wLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPXNbMV0saz1wKG5bMV1bMSthMF0sbixvKSxnPXAoblsxXVsxK0xdLG4sZik7cmV0dXJuIG89PT1rJiZmPT09Zz9zOlswLGssZ119LGcwLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1szXSxvPXNbMV0saz1zWzJdLGc9ZnIoZChuWzFdWzErZDBdLG4pLG8pLEU9cChuWzFdWzErTF0sbixmKTtyZXR1cm4gbz09PWcmJmY9PT1FP3M6WzAsZyxrLEVdfSxkMCxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1zWzFdO3N3aXRjaChmWzBdKXtjYXNlIDA6dmFyIGs9ZlsxXTtyZXR1cm4gUDAoZChuWzFdWzErYTBdLG4pLGsscyxmdW5jdGlvbihDKXtyZXR1cm5bMCxvLFswLENdXX0pO2Nhc2UgMTp2YXIgZz1mWzFdO3JldHVybiBQMChkKG5bMV1bMStzMF0sbiksZyxzLGZ1bmN0aW9uKEMpe3JldHVyblswLG8sWzEsQ11dfSk7ZGVmYXVsdDp2YXIgRT1mWzFdO3JldHVybiBQMChkKG5bMV1bMStpMF0sbiksRSxzLGZ1bmN0aW9uKEMpe3JldHVyblswLG8sWzIsQ11dfSl9fSxzMCxmdW5jdGlvbihuLHMpe3ZhciBmPXNbM10sbz1zWzJdLGs9c1s0XSxnPXNbMV0sRT1wKG5bMV1bMSthMF0sbixvKSxDPXAoblsxXVsxK2ldLG4sZik7cmV0dXJuIEU9PT1vJiZDPT09Zj9zOlswLGcsRSxDLGtdfSxpMCxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1zWzFdLGs9cChuWzFdWzErYTBdLG4sZik7cmV0dXJuIGs9PT1mP3M6WzAsbyxrXX0sdDMsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89c1sxXSxrPXAoblsxXVsxK2EwXSxuLG8pLGc9cChuWzFdWzErTF0sbixmKTtyZXR1cm4gbz09PWsmJmY9PT1nP3M6WzAsayxnXX0saCxmdW5jdGlvbihuLHMsZil7dmFyIG89ZlsyXSxrPWZbMV0sZz1rWzNdLEU9a1syXSxDPWtbMV0sUj1wKG5bMV1bMSthMF0sbixDKSxlMD1wKG5bMV1bMSthMF0sbixFKSxsMD1mcihkKG5bMV1bMSthMF0sbiksZyksRjA9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gUj09PUMmJmUwPT09RSYmbDA9PT1nJiZGMD09PW8/ZjpbMCxbMCxSLGUwLGwwXSxGMF19LHdsLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzJdLGs9ZlsxXSxnPWtbM10sRT1rWzJdLEM9a1sxXSxSPXAoblsxXVsxK2EwXSxuLEMpLGUwPXAoblsxXVsxK2EwXSxuLEUpLGwwPWZyKGQoblsxXVsxK2EwXSxuKSxnKSxGMD1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBSPT09QyYmZTA9PT1FJiZsMD09PWcmJkYwPT09bz9mOlswLFswLFIsZTAsbDBdLEYwXX0sYTAsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89c1sxXTtzd2l0Y2goZlswXSl7Y2FzZSAwOnZhciBrPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK0xdLG4pLGsscyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbMCxfeF1dfSk7Y2FzZSAxOnZhciBnPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK0xdLG4pLGcscyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbMSxfeF1dfSk7Y2FzZSAyOnZhciBFPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK0xdLG4pLEUscyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbMixfeF1dfSk7Y2FzZSAzOnZhciBDPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK0xdLG4pLEMscyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbMyxfeF1dfSk7Y2FzZSA0OnZhciBSPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK0xdLG4pLFIscyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbNCxfeF1dfSk7Y2FzZSA1OnZhciBlMD1mWzFdO3JldHVybiBQMChkKG5bMV1bMStMXSxuKSxlMCxzLGZ1bmN0aW9uKF94KXtyZXR1cm5bMCxvLFs1LF94XV19KTtjYXNlIDY6dmFyIGwwPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK0xdLG4pLGwwLHMsZnVuY3Rpb24oX3gpe3JldHVyblswLG8sWzYsX3hdXX0pO2Nhc2UgNzp2YXIgRjA9ZlsxXTtyZXR1cm4gUDAoZChuWzFdWzErTF0sbiksRjAscyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbNyxfeF1dfSk7Y2FzZSA4OnZhciBkeD1mWzFdLFh4PWZbMl07cmV0dXJuIFAwKGQoblsxXVsxK0xdLG4pLFh4LHMsZnVuY3Rpb24oX3gpe3JldHVyblswLG8sWzgsZHgsX3hdXX0pO2Nhc2UgOTp2YXIgS3g9ZlsxXTtyZXR1cm4gUDAoZChuWzFdWzErTF0sbiksS3gscyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbOSxfeF1dfSk7Y2FzZSAxMDp2YXIgX3I9ZlsxXTtyZXR1cm4gUDAoZChuWzFdWzErTF0sbiksX3IscyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbMTAsX3hdXX0pO2Nhc2UgMTE6dmFyIHQyPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK0t0XSxuKSx0MixzLGZ1bmN0aW9uKF94KXtyZXR1cm5bMCxvLFsxMSxfeF1dfSk7Y2FzZSAxMjp2YXIgV3I9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErR3JdLG4pLG8sV3IscyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbMTIsX3hdXX0pO2Nhc2UgMTM6dmFyIFZ4PWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK1JzXSxuKSxvLFZ4LHMsZnVuY3Rpb24oX3gpe3JldHVyblswLG8sWzEzLF94XV19KTtjYXNlIDE0OnZhciBDMj1mWzFdO3JldHVybiBPMChkKG5bMV1bMStWXSxuKSxvLEMyLHMsZnVuY3Rpb24oX3gpe3JldHVyblswLG8sWzE0LF94XV19KTtjYXNlIDE1OnZhciB6Mj1mWzFdO3JldHVybiBPMChkKG5bMV1bMStZXSxuKSxvLHoyLHMsZnVuY3Rpb24oX3gpe3JldHVyblswLG8sWzE1LF94XV19KTtjYXNlIDE2OnZhciBlZT1mWzFdO3JldHVybiBQMChkKG5bMV1bMSt0M10sbiksZWUscyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbMTYsX3hdXX0pO2Nhc2UgMTc6dmFyIG1lPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK2JsXSxuKSxtZSxzLGZ1bmN0aW9uKF94KXtyZXR1cm5bMCxvLFsxNyxfeF1dfSk7Y2FzZSAxODp2YXIgaGU9ZlsxXTtyZXR1cm4gUDAoZChuWzFdWzErZjBdLG4pLGhlLHMsZnVuY3Rpb24oX3gpe3JldHVyblswLG8sWzE4LF94XV19KTtjYXNlIDE5OnZhciB0ZT1mWzFdO3JldHVybiBPMChkKG5bMV1bMStncl0sbiksbyx0ZSxzLGZ1bmN0aW9uKF94KXtyZXR1cm5bMCxvLFsxOSxfeF1dfSk7Y2FzZSAyMDp2YXIgZGU9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErazBdLG4pLG8sZGUscyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbMjAsX3hdXX0pO2Nhc2UgMjE6dmFyIHllPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK2EyXSxuKSxvLHllLHMsZnVuY3Rpb24oX3gpe3JldHVyblswLG8sWzIxLF94XV19KTtjYXNlIDIyOnZhciBnZT1mWzFdO3JldHVybiBPMChkKG5bMV1bMStoXSxuKSxvLGdlLHMsZnVuY3Rpb24oX3gpe3JldHVyblswLG8sWzIyLF94XV19KTtjYXNlIDIzOnZhciBBdD1mWzFdO3JldHVybiBPMChkKG5bMV1bMSt3bF0sbiksbyxBdCxzLGZ1bmN0aW9uKF94KXtyZXR1cm5bMCxvLFsyMyxfeF1dfSk7Y2FzZSAyNDp2YXIgd2U9ZlsxXTtyZXR1cm4gUDAoZChuWzFdWzErYl0sbiksd2UscyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbMjQsX3hdXX0pO2Nhc2UgMjU6dmFyIGN0PWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK1V2XSxuKSxjdCxzLGZ1bmN0aW9uKF94KXtyZXR1cm5bMCxvLFsyNSxfeF1dfSk7Y2FzZSAyNjp2YXIgVXM9ZlsxXTtyZXR1cm4gUDAoZChuWzFdWzErYjBdLG4pLFVzLHMsZnVuY3Rpb24oX3gpe3JldHVyblswLG8sWzI2LF94XV19KTtjYXNlIDI3OnZhciBCcz1mWzFdO3JldHVybiBQMChkKG5bMV1bMStfMF0sbiksQnMscyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbMjcsX3hdXX0pO2Nhc2UgMjg6dmFyIFhzPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK2cwXSxuKSxYcyxzLGZ1bmN0aW9uKF94KXtyZXR1cm5bMCxvLFsyOCxfeF1dfSk7Y2FzZSAyOTp2YXIgSW49ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErJDBdLG4pLG8sSW4scyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbMjksX3hdXX0pO2Nhc2UgMzA6dmFyIFlzPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK0gyXSxuKSxvLFlzLHMsZnVuY3Rpb24oX3gpe3JldHVyblswLG8sWzMwLF94XV19KTtjYXNlIDMxOnZhciB6cz1mWzFdO3JldHVybiBPMChkKG5bMV1bMStxc10sbiksbyx6cyxzLGZ1bmN0aW9uKF94KXtyZXR1cm5bMCxvLFszMSxfeF1dfSk7Y2FzZSAzMjp2YXIgbjM9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzEreDNdLG4pLG8sbjMscyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbMzIsX3hdXX0pO2Nhc2UgMzM6dmFyIHUzPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK0xdLG4pLHUzLHMsZnVuY3Rpb24oX3gpe3JldHVyblswLG8sWzMzLF94XV19KTtjYXNlIDM0OnZhciBpMz1mWzFdO3JldHVybiBQMChkKG5bMV1bMStMXSxuKSxpMyxzLGZ1bmN0aW9uKF94KXtyZXR1cm5bMCxvLFszNCxfeF1dfSk7ZGVmYXVsdDp2YXIgZjM9ZlsxXTtyZXR1cm4gUDAoZChuWzFdWzErTF0sbiksZjMscyxmdW5jdGlvbihfeCl7cmV0dXJuWzAsbyxbMzUsX3hdXX0pfX0scjAsZnVuY3Rpb24obixzKXt2YXIgZj1zWzFdLG89c1syXTtyZXR1cm4gUDAoZChuWzFdWzErYTBdLG4pLG8scyxmdW5jdGlvbihrKXtyZXR1cm5bMCxmLGtdfSl9LGMwLGZ1bmN0aW9uKG4scyl7aWYoc1swXT09PTApcmV0dXJuIHM7dmFyIGY9c1sxXTtyZXR1cm4gUDAoZChuWzFdWzErcjBdLG4pLGYscyxmdW5jdGlvbihvKXtyZXR1cm5bMSxvXX0pfSxPYSxmdW5jdGlvbihuLHMpe2lmKHNbMF09PT0wKXJldHVybiBzO3ZhciBmPXNbMl0sbz1zWzFdLGs9cChuWzFdWzErYjBdLG4sZik7cmV0dXJuIGs9PT1mP3M6WzEsbyxrXX0sZDIsZnVuY3Rpb24obixzLGYpe3JldHVybiBIMChuWzFdWzErRTJdLG4scyxmKX0sUnIsZnVuY3Rpb24obixzLGYpe3JldHVybiBIMChuWzFdWzErVDJdLG4scyxmKX0sVDIsZnVuY3Rpb24obixzLGYpe3JldHVybiBIMChuWzFdWzErRTJdLG4scyxmKX0sRTIsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMTBdLGs9Zls5XSxnPWZbOF0sRT1mWzddLEM9ZlszXSxSPWZbMl0sZTA9ZlsxXSxsMD1mWzExXSxGMD1mWzZdLGR4PWZbNV0sWHg9Zls0XSxLeD1BeChkKG5bMV1bMStRcl0sbiksZTApLF9yPUF4KGQoblsxXVsxK01dLG4pLGspLHQyPXAoblsxXVsxK0FyXSxuLFIpLFdyPXAoblsxXVsxK0RyXSxuLGcpLFZ4PXAoblsxXVsxK28yXSxuLEMpLEMyPUF4KGQoblsxXVsxK1hdLG4pLEUpLHoyPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGUwPT09S3gmJlI9PT10MiYmQz09PVZ4JiZFPT09QzImJmc9PT1XciYmaz09PV9yJiZvPT09ejI/ZjpbMCxLeCx0MixWeCxYeCxkeCxGMCxDMixXcixfcix6MixsMF19LEFyLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbNF0saz1mWzNdLGc9ZlsyXSxFPWZbMV0sQz1zWzFdLFI9ZnIoZChuWzFdWzErVXJdLG4pLGcpLGUwPUF4KGQoblsxXVsxK3IyXSxuKSxrKSxsMD1BeChkKG5bMV1bMStQMl0sbiksRSksRjA9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gZz09PVImJms9PT1lMCYmbz09PUYwJiZFPT09bDA/czpbMCxDLFswLGwwLFIsZTAsRjBdXX0sUDIsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89ZlsyXSxrPWZbMV0sZz1zWzFdLEU9cChuWzFdWzErcjBdLG4sayksQz1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBFPT09ayYmQz09PW8/czpbMCxnLFswLEUsQ11dfSxVcixmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzJdLGs9ZlsxXSxnPXNbMV0sRT1wKG5bMV1bMStmMl0sbixrKSxDPXAoblsxXVsxK3JlXSxuLG8pO3JldHVybiBrPT09RSYmbz09PUM/czpbMCxnLFswLEUsQ11dfSxEcixmdW5jdGlvbihuLHMpe3N3aXRjaChzWzBdKXtjYXNlIDA6cmV0dXJuIHM7Y2FzZSAxOnZhciBmPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK3IwXSxuKSxmLHMsZnVuY3Rpb24oayl7cmV0dXJuWzEsa119KTtkZWZhdWx0OnZhciBvPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK24wXSxuKSxvLHMsZnVuY3Rpb24oayl7cmV0dXJuWzIsa119KX19LG8yLGZ1bmN0aW9uKG4scyl7aWYoc1swXT09PTApe3ZhciBmPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK2MyXSxuKSxmLHMsZnVuY3Rpb24oayl7cmV0dXJuWzAsa119KX12YXIgbz1zWzFdO3JldHVybiBQMChkKG5bMV1bMStXaF0sbiksbyxzLGZ1bmN0aW9uKGspe3JldHVyblsxLGtdfSl9LGMyLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1sxXSxvPXNbMl07cmV0dXJuIE8wKGQoblsxXVsxK1F0XSxuKSxmLG8scyxmdW5jdGlvbihrKXtyZXR1cm5bMCxmLGtdfSl9LFdoLGZ1bmN0aW9uKG4scyl7cmV0dXJuIHAoblsxXVsxK094XSxuLHMpfSxRcixmdW5jdGlvbihuLHMpe3JldHVybiBIMChuWzFdWzErYnhdLG4saCQscyl9LEN4LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbMl0saz1mWzFdLGc9c1sxXSxFPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIG89PT1FP3M6WzAsZyxbMCxrLEVdXX0sSyxmdW5jdGlvbihuLHMpe3JldHVybiBwKG5bMV1bMStDeF0sbixzKX0sQixmdW5jdGlvbihuLHMpe3JldHVybiBwKG5bMV1bMStLXSxuLHMpfSxQbixmdW5jdGlvbihuLHMpe3JldHVybiBwKG5bMV1bMStLXSxuLHMpfSxELGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzVdLGs9Zls0XSxnPWZbM10sRT1mWzJdLEM9ZlsxXSxSPXAoblsxXVsxK1BuXSxuLEMpLGUwPUF4KGQoblsxXVsxK01dLG4pLEUpLGwwPWQoblsxXVsxK2dyXSxuKSxGMD1mcihmdW5jdGlvbihLeCl7cmV0dXJuIFcyKGwwLEt4KX0sZyksZHg9VzIoZChuWzFdWzErVl0sbiksayksWHg9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gUj09PUMmJmUwPT09RSYmRjA9PT1nJiZkeD09PWsmJlh4PT09bz9mOlswLFIsZTAsRjAsZHgsWHhdfSxBLGZ1bmN0aW9uKG4scyxmKXtyZXR1cm4gSDAoblsxXVsxK0RdLG4scyxmKX0sbTAsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89ZlsyXSxrPWZbMV0sZz1zWzFdLEU9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gbz09PUU/czpbMCxnLFswLGssRV1dfSxGcyxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzJdLGs9ZlsxXSxnPXNbMV0sRT1wKG5bMV1bMStPeF0sbixrKSxDPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGs9PT1FJiZvPT09Qz9zOlswLGcsWzAsRSxDXV19LHp4LGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzJdLGs9ZlsxXSxnPXAoblsxXVsxK094XSxuLGspLEU9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gaz09PWcmJm89PT1FP2Y6WzAsZyxFXX0sa3IsZnVuY3Rpb24obixzLGYpe3JldHVybiBwKG5bMV1bMSt0eF0sbixmKX0scnIsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMl0saz1mWzFdLGc9cChuWzFdWzErdHhdLG4sayksRT1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBrPT09ZyYmbz09PUU/ZjpbMCxnLEVdfSx1cixmdW5jdGlvbihuLHMsZil7dmFyIG89Zls0XSxrPWZbM10sZz1mWzJdLEU9ZlsxXSxDPXAoblsxXVsxK1QwXSxuLEUpLFI9SDAoblsxXVsxK2tyXSxuLGshPT0wPzE6MCxnKSxlMD1kKG5bMV1bMStycl0sbiksbDA9QXgoZnVuY3Rpb24oZHgpe3JldHVybiBXMihlMCxkeCl9LGspLEYwPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIEU9PT1DJiZnPT09UiYmaz09PWwwJiZvPT09RjA/ZjpbMCxDLFIsbDAsRjBdfSxucixmdW5jdGlvbihuLHMsZil7dmFyIG89Zls1XSxrPWZbNF0sZz1mWzNdLEU9ZlsyXSxDPWZbMV0sUj1XMihkKG5bMV1bMStRMF0sbiksRSksZTA9QXgocChuWzFdWzErUjBdLG4sQyksayksbDA9QXgoZnVuY3Rpb24oZHgpe3ZhciBYeD1keFsxXSxLeD1keFsyXSxfcj1IMChuWzFdWzErUnhdLG4sQyxYeCk7cmV0dXJuIF9yPT09WHg/ZHg6WzAsX3IsS3hdfSxnKSxGMD1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBFPT09UiYmaz09PWUwJiZnPT09bDAmJm89PT1GMD9mOlswLEMsUixsMCxlMCxGMF19LFEwLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBvPT09RT9mOlswLGcsayxFXX0sUjAsZnVuY3Rpb24obixzLGYpe2lmKGZbMF09PT0wKXt2YXIgbz1mWzFdLGs9ZnIocChuWzFdWzErSXhdLG4scyksbyk7cmV0dXJuIG89PT1rP2Y6WzAsa119dmFyIGc9ZlsxXSxFPWdbMV0sQz1nWzJdO3JldHVybiBPMChwKG5bMV1bMStteF0sbixzKSxFLEMsZixmdW5jdGlvbihSKXtyZXR1cm5bMSxbMCxFLFJdXX0pfSxVLGZ1bmN0aW9uKG4scyl7cmV0dXJuIHAoblsxXVsxK0N4XSxuLHMpfSxJeCxmdW5jdGlvbihuLHMsZil7dmFyIG89ZlszXSxrPWZbMl0sZz1mWzFdO3g6e3I6e3ZhciBFPWZbNF07aWYocyl7ZTp7aWYoZylzd2l0Y2goZ1sxXSl7Y2FzZSAwOmJyZWFrIHI7Y2FzZSAxOmJyZWFrIGV9aWYoMjw9cyl7dmFyIEM9MCxSPTA7YnJlYWsgeH19dmFyIEM9MSxSPTA7YnJlYWsgeH19dmFyIEM9MSxSPTF9dmFyIGUwPWs/cChuWzFdWzErVV0sbixvKTpSP3AoblsxXVsxK1BuXSxuLG8pOkgwKG5bMV1bMStieF0sbixkJCxvKTtpZihrKXZhciBsMD1rWzFdLEYwPUM/ZChuWzFdWzErUG5dLG4pOnAoblsxXVsxK2J4XSxuLHkkKSxkeD1QMChGMCxsMCxrLGZ1bmN0aW9uKFh4KXtyZXR1cm5bMCxYeF19KTtlbHNlIHZhciBkeD0wO3JldHVybiBrPT09ZHgmJm89PT1lMD9mOlswLGcsZHgsZTAsRV19LFJ4LGZ1bmN0aW9uKG4scyxmKXt2YXIgbz0yPD1zP3AoblsxXVsxK2J4XSxuLGckKTpkKG5bMV1bMStQbl0sbik7cmV0dXJuIGQobyxmKX0sbXgsZnVuY3Rpb24obixzLGYsbyl7dmFyIGs9Mjw9cz9wKG5bMV1bMStieF0sbix3JCk6ZChuWzFdWzErUG5dLG4pO3JldHVybiBkKGssbyl9LGdsLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzRdLGs9ZlszXSxnPWZbMl0sRT1mWzFdLEM9cChuWzFdWzErWHZdLG4sRSksUj1BeChkKG5bMV1bMStFNF0sbiksZyksZTA9cChuWzFdWzErYm9dLG4sayksbDA9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gRT09PUMmJmc9PT1SJiZrPT09ZTAmJm89PT1sMD9mOlswLEMsUixlMCxsMF19LHlsLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzRdLGs9ZlszXSxnPXAoblsxXVsxK2JvXSxuLGspLEU9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gaz09PWcmJm89PT1FP2Y6WzAsZlsxXSxmWzJdLGcsRV19LFh2LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbNF0saz1mWzJdLGc9ZlsxXSxFPWZbM10sQz1zWzFdLFI9cChuWzFdWzErX29dLG4sZyksZTA9QXgoZChuWzFdWzErRG9dLG4pLGspLGwwPWZyKGQoblsxXVsxK2RsXSxuKSxvKTtyZXR1cm4gZz09PVImJms9PT1lMCYmbz09PWwwP3M6WzAsQyxbMCxSLGUwLEUsbDBdXX0sRTQsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdWzFdLG89c1sxXSxrPXAoblsxXVsxK19vXSxuLGYpO3JldHVybiBmPT09az9zOlswLG8sWzAsa11dfSxkbCxmdW5jdGlvbihuLHMpe2lmKHNbMF09PT0wKXt2YXIgZj1zWzFdO3JldHVybiBQMChkKG5bMV1bMStJNF0sbiksZixzLGZ1bmN0aW9uKEUpe3JldHVyblswLEVdfSl9dmFyIG89c1sxXSxrPW9bMV0sZz1vWzJdO3JldHVybiBPMChkKG5bMV1bMStCdl0sbiksayxnLHMsZnVuY3Rpb24oRSl7cmV0dXJuWzEsWzAsayxFXV19KX0sQnYsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMl0saz1mWzFdLGc9cChuWzFdWzErT3hdLG4sayksRT1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBrPT09ZyYmbz09PUU/ZjpbMCxnLEVdfSxJNCxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzJdLGs9ZlsxXSxnPXNbMV0sRT1wKG5bMV1bMStQNF0sbixrKSxDPUF4KGQoblsxXVsxK0poXSxuKSxvKTtyZXR1cm4gaz09PUUmJm89PT1DP3M6WzAsZyxbMCxFLENdXX0sUDQsZnVuY3Rpb24obixzKXtpZihzWzBdPT09MCl7dmFyIGY9c1sxXTtyZXR1cm4gUDAoZChuWzFdWzErQTRdLG4pLGYscyxmdW5jdGlvbihrKXtyZXR1cm5bMCxrXX0pfXZhciBvPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK0doXSxuKSxvLHMsZnVuY3Rpb24oayl7cmV0dXJuWzEsa119KX0sQTQsZnVuY3Rpb24obixzKXtyZXR1cm4gcChuWzFdWzErQ2FdLG4scyl9LEdoLGZ1bmN0aW9uKG4scyl7cmV0dXJuIHAoblsxXVsxK05hXSxuLHMpfSxKaCxmdW5jdGlvbihuLHMpe2lmKHNbMF09PT0wKXt2YXIgZj1zWzFdLG89ZlsxXSxrPWZbMl07cmV0dXJuIE8wKGQoblsxXVsxK3poXSxuKSxvLGsscyxmdW5jdGlvbihSKXtyZXR1cm5bMCxbMCxvLFJdXX0pfXZhciBnPXNbMV0sRT1nWzFdLEM9Z1syXTtyZXR1cm4gTzAoZChuWzFdWzErS2hdLG4pLEUsQyxzLGZ1bmN0aW9uKFIpe3JldHVyblsxLFswLEUsUl1dfSl9LEtoLGZ1bmN0aW9uKG4scyxmKXtyZXR1cm4gSDAoblsxXVsxK1BzXSxuLHMsZil9LHpoLGZ1bmN0aW9uKG4scyxmKXtyZXR1cm4gSDAoblsxXVsxKyQwXSxuLHMsZil9LGJvLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPXNbMV0saz1mcihkKG5bMV1bMStTNF0sbiksZik7cmV0dXJuIGY9PT1rP3M6WzAsbyxrXX0sUzQsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89c1sxXTtzd2l0Y2goZlswXSl7Y2FzZSAwOnZhciBrPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK2dsXSxuKSxvLGsscyxmdW5jdGlvbihSKXtyZXR1cm5bMCxvLFswLFJdXX0pO2Nhc2UgMTp2YXIgZz1mWzFdO3JldHVybiBPMChkKG5bMV1bMSt5bF0sbiksbyxnLHMsZnVuY3Rpb24oUil7cmV0dXJuWzAsbyxbMSxSXV19KTtjYXNlIDI6dmFyIEU9ZlsxXTtyZXR1cm4gTzAoZChuWzFdWzErUHNdLG4pLG8sRSxzLGZ1bmN0aW9uKFIpe3JldHVyblswLG8sWzIsUl1dfSk7Y2FzZSAzOnZhciBDPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK2hvXSxuKSxDLHMsZnVuY3Rpb24oUil7cmV0dXJuWzAsbyxbMyxSXV19KTtkZWZhdWx0OnJldHVybiBzfX0sUHMsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMl0saz1mWzFdLGc9cChuWzFdWzErTF0sbixvKTtpZighaylyZXR1cm4gbz09PWc/ZjpbMCwwLGddO3ZhciBFPWtbMV0sQz1wKG5bMV1bMStPeF0sbixFKTtyZXR1cm4gRT09PUMmJm89PT1nP2Y6WzAsWzAsQ10sZ119LGhvLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPXNbMV0saz1wKG5bMV1bMStPeF0sbixvKSxnPXAoblsxXVsxK0xdLG4sZik7cmV0dXJuIG89PT1rJiZmPT09Zz9zOlswLGssZ119LF9vLGZ1bmN0aW9uKG4scyl7c3dpdGNoKHNbMF0pe2Nhc2UgMDp2YXIgZj1zWzFdO3JldHVybiBQMChkKG5bMV1bMStUNF0sbiksZixzLGZ1bmN0aW9uKGcpe3JldHVyblswLGddfSk7Y2FzZSAxOnZhciBvPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK1loXSxuKSxvLHMsZnVuY3Rpb24oZyl7cmV0dXJuWzEsZ119KTtkZWZhdWx0OnZhciBrPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK3dvXSxuKSxrLHMsZnVuY3Rpb24oZyl7cmV0dXJuWzIsZ119KX19LFQ0LGZ1bmN0aW9uKG4scyl7cmV0dXJuIHAoblsxXVsxK0NhXSxuLHMpfSxZaCxmdW5jdGlvbihuLHMpe3JldHVybiBwKG5bMV1bMStOYV0sbixzKX0sd28sZnVuY3Rpb24obixzKXtyZXR1cm4gcChuWzFdWzEramFdLG4scyl9LE5hLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbMl0saz1mWzFdLGc9c1sxXSxFPXAoblsxXVsxK0NhXSxuLGspLEM9cChuWzFdWzErQ2FdLG4sbyk7cmV0dXJuIGs9PT1FJiZvPT09Qz9zOlswLGcsWzAsRSxDXV19LGphLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbMl0saz1mWzFdLGc9c1sxXSxFPXAoblsxXVsxK3lvXSxuLGspLEM9cChuWzFdWzErQ2FdLG4sbyk7cmV0dXJuIGs9PT1FJiZvPT09Qz9zOlswLGcsWzAsRSxDXV19LHlvLGZ1bmN0aW9uKG4scyl7aWYoc1swXT09PTApe3ZhciBmPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK2dvXSxuKSxmLHMsZnVuY3Rpb24oayl7cmV0dXJuWzAsa119KX12YXIgbz1zWzFdO3JldHVybiBQMChkKG5bMV1bMStqYV0sbiksbyxzLGZ1bmN0aW9uKGspe3JldHVyblsxLGtdfSl9LGdvLGZ1bmN0aW9uKG4scyl7cmV0dXJuIHAoblsxXVsxK1Q0XSxuLHMpfSxDYSxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzJdLGs9ZlsxXSxnPXNbMV0sRT1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBvPT09RT9zOlswLGcsWzAsayxFXV19LEFzLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1wKG5bMV1bMStHdF0sbixnKSxDPXAoblsxXVsxK3R4XSxuLGspLFI9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gZz09PUUmJms9PT1DJiZvPT09Uj9mOlswLEUsQyxSXX0sSWEsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbNF0saz1mWzNdLGc9ZlsyXSxFPXAoblsxXVsxK094XSxuLGcpLEM9cChuWzFdWzErT3hdLG4sayksUj1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBnPT09RSYmaz09PUMmJm89PT1SP2Y6WzAsZlsxXSxFLEMsUl19LG1vLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1wKG5bMV1bMStPeF0sbixnKSxDPWZyKGQoblsxXVsxK1BhXSxuKSxrKSxSPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGc9PT1FJiZrPT09QyYmbz09PVI/ZjpbMCxFLEMsUl19LFBhLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbNF0saz1mWzNdLGc9ZlsyXSxFPWZbMV0sQz1zWzFdLFI9cChuWzFdWzErZ3RdLG4sRSksZTA9cChuWzFdWzErT3hdLG4sZyksbDA9QXgoZChuWzFdWzErT3hdLG4pLGspLEYwPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIEU9PT1SJiZnPT09ZTAmJms9PT1sMCYmbz09PUYwP3M6WzAsQyxbMCxFLGcsbDAsRjBdXX0seXIsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbM10saz1mWzJdLGc9ZlsxXSxFPXAoblsxXVsxK094XSxuLGcpLEM9ZnIoZChuWzFdWzEreXRdLG4pLGspLFI9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gZz09PUUmJms9PT1DJiZvPT09Uj9mOlswLEUsQyxSXX0seXQsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89Zls0XSxrPWZbM10sZz1mWzJdLEU9ZlsxXSxDPXNbMV0sUj1wKG5bMV1bMStndF0sbixFKSxlMD1XMihkKG5bMV1bMStRdF0sbiksZyksbDA9QXgoZChuWzFdWzErT3hdLG4pLGspLEYwPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIEU9PT1SJiZnPT09ZTAmJms9PT1sMCYmbz09PUYwP3M6WzAsQyxbMCxFLGcsbDAsRjBdXX0sZ3QsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89c1sxXTtzd2l0Y2goZlswXSl7Y2FzZSAwOnZhciBrPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK0xdLG4pLGsscyxmdW5jdGlvbihWeCl7cmV0dXJuWzAsbyxbMCxWeF1dfSk7Y2FzZSAxOnZhciBnPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK0gyXSxuKSxvLGcscyxmdW5jdGlvbihWeCl7cmV0dXJuWzAsbyxbMSxWeF1dfSk7Y2FzZSAyOnZhciBFPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK3FzXSxuKSxvLEUscyxmdW5jdGlvbihWeCl7cmV0dXJuWzAsbyxbMixWeF1dfSk7Y2FzZSAzOnZhciBDPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxKyQwXSxuKSxvLEMscyxmdW5jdGlvbihWeCl7cmV0dXJuWzAsbyxbMyxWeF1dfSk7Y2FzZSA0OnZhciBSPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK3gzXSxuKSxvLFIscyxmdW5jdGlvbihWeCl7cmV0dXJuWzAsbyxbNCxWeF1dfSk7Y2FzZSA1OnZhciBlMD1mWzFdO3JldHVybiBQMChkKG5bMV1bMStMXSxuKSxlMCxzLGZ1bmN0aW9uKFZ4KXtyZXR1cm5bMCxvLFs1LFZ4XV19KTtjYXNlIDY6dmFyIGwwPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK0x2XSxuKSxsMCxzLGZ1bmN0aW9uKFZ4KXtyZXR1cm5bMCxvLFs2LFZ4XV19KTtjYXNlIDc6dmFyIEYwPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK1NzXSxuKSxvLEYwLHMsZnVuY3Rpb24oVngpe3JldHVyblswLG8sWzcsVnhdXX0pO2Nhc2UgODp2YXIgZHg9ZlsxXTtyZXR1cm4gUDAoZChuWzFdWzErQ3hdLG4pLGR4LHMsZnVuY3Rpb24oVngpe3JldHVyblswLG8sWzgsVnhdXX0pO2Nhc2UgOTp2YXIgWHg9ZlsxXTtyZXR1cm4gUDAoZChuWzFdWzErQWFdLG4pLFh4LHMsZnVuY3Rpb24oVngpe3JldHVyblswLG8sWzksVnhdXX0pO2Nhc2UgMTA6dmFyIEt4PWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK0VhXSxuKSxLeCxzLGZ1bmN0aW9uKFZ4KXtyZXR1cm5bMCxvLFsxMCxWeF1dfSk7Y2FzZSAxMTp2YXIgX3I9ZlsxXTtyZXR1cm4gUDAoZChuWzFdWzErZDFdLG4pLF9yLHMsZnVuY3Rpb24oVngpe3JldHVyblswLG8sWzExLFZ4XV19KTtjYXNlIDEyOnZhciB0Mj1mWzFdO3JldHVybiBQMChkKG5bMV1bMStNdl0sbiksdDIscyxmdW5jdGlvbihWeCl7cmV0dXJuWzAsbyxbMTIsVnhdXX0pO2RlZmF1bHQ6dmFyIFdyPWZbMV07cmV0dXJuIFAwKGQoblsxXVsxK0gxXSxuKSxXcixzLGZ1bmN0aW9uKFZ4KXtyZXR1cm5bMCxvLFsxMyxWeF1dfSl9fSxMdixmdW5jdGlvbihuLHMpe3ZhciBmPXNbM10sbz1zWzJdLGs9b1sxXSxnPXNbMV0sRT1vWzJdLEM9TzAoZChuWzFdWzErVHNdLG4pLGssRSxvLGZ1bmN0aW9uKGUwKXtyZXR1cm5bMCxrLGUwXX0pLFI9cChuWzFdWzErTF0sbixmKTtyZXR1cm4gbz09PUMmJmY9PT1SP3M6WzAsZyxDLFJdfSxUcyxmdW5jdGlvbihuLHMsZil7aWYoZlswXT09PTApe3ZhciBvPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK0gyXSxuKSxzLG8sZixmdW5jdGlvbihnKXtyZXR1cm5bMCxnXX0pfXZhciBrPWZbMV07cmV0dXJuIE8wKGQoblsxXVsxK3FzXSxuKSxzLGssZixmdW5jdGlvbihnKXtyZXR1cm5bMSxnXX0pfSxBYSxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1zWzFdLEM9cChuWzFdWzErU2FdLG4sZyksUj1wKG5bMV1bMStrb10sbixrKSxlMD1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBnPT09QyYmaz09PVImJm89PT1lMD9zOlswLEUsWzAsQyxSLGUwXV19LFNhLGZ1bmN0aW9uKG4scyl7aWYoc1swXT09PTApe3ZhciBmPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK0N4XSxuKSxmLHMsZnVuY3Rpb24oayl7cmV0dXJuWzAsa119KX12YXIgbz1zWzFdO3JldHVybiBQMChkKG5bMV1bMStBYV0sbiksbyxzLGZ1bmN0aW9uKGspe3JldHVyblsxLGtdfSl9LGtvLGZ1bmN0aW9uKG4scyl7c3dpdGNoKHNbMF0pe2Nhc2UgMDp2YXIgZj1zWzFdLG89ZlsxXSxrPWZbMl07cmV0dXJuIE8wKGQoblsxXVsxKyQwXSxuKSxvLGsscyxmdW5jdGlvbihlMCl7cmV0dXJuWzAsWzAsbyxlMF1dfSk7Y2FzZSAxOnZhciBnPXNbMV0sRT1nWzFdLEM9Z1syXTtyZXR1cm4gTzAoZChuWzFdWzErSDJdLG4pLEUsQyxzLGZ1bmN0aW9uKGUwKXtyZXR1cm5bMSxbMCxFLGUwXV19KTtkZWZhdWx0OnZhciBSPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK0N4XSxuKSxSLHMsZnVuY3Rpb24oZTApe3JldHVyblsyLGUwXX0pfX0sU3MsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbM10saz1mWzJdLGc9ZlsxXSxFPUgwKG5bMV1bMStieF0sbixbMCxnXSxrKSxDPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGs9PT1FJiZvPT09Qz9mOlswLGcsRSxDXX0sRWEsZnVuY3Rpb24obixzKXt2YXIgZj1zWzNdLG89c1syXSxrPXNbMV0sZz1mcihkKG5bMV1bMStibl0sbiksayksRT1XNihkKG5bMV1bMStUYV0sbiksbyksQz1wKG5bMV1bMStMXSxuLGYpO3JldHVybiBrPT09ZyYmbz09PUUmJmY9PT1DP3M6WzAsZyxFLENdfSxibixmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzRdLGs9ZlsyXSxnPWZbMV0sRT1mWzNdLEM9c1sxXSxSPXAoblsxXVsxK3F2XSxuLGcpLGUwPXAoblsxXVsxK2d0XSxuLGspLGwwPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGc9PT1SJiZrPT09ZTAmJm89PT1sMD9zOlswLEMsWzAsUixlMCxFLGwwXV19LHF2LGZ1bmN0aW9uKG4scyl7c3dpdGNoKHNbMF0pe2Nhc2UgMDp2YXIgZj1zWzFdLG89ZlsxXSxrPWZbMl07cmV0dXJuIE8wKGQoblsxXVsxKyQwXSxuKSxvLGsscyxmdW5jdGlvbihlMCl7cmV0dXJuWzAsWzAsbyxlMF1dfSk7Y2FzZSAxOnZhciBnPXNbMV0sRT1nWzFdLEM9Z1syXTtyZXR1cm4gTzAoZChuWzFdWzErSDJdLG4pLEUsQyxzLGZ1bmN0aW9uKGUwKXtyZXR1cm5bMSxbMCxFLGUwXV19KTtkZWZhdWx0OnZhciBSPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK0N4XSxuKSxSLHMsZnVuY3Rpb24oZTApe3JldHVyblsyLGUwXX0pfX0sZDEsZnVuY3Rpb24obixzKXt2YXIgZj1zWzNdLG89c1syXSxrPXNbMV0sZz1mcihkKG5bMV1bMStFc10sbiksayksRT1XNihkKG5bMV1bMStUYV0sbiksbyksQz1wKG5bMV1bMStMXSxuLGYpO3JldHVybiBrPT09ZyYmbz09PUUmJmY9PT1DP3M6WzAsZyxFLENdfSxFcyxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1zWzFdLGs9cChuWzFdWzErZ3RdLG4sZik7cmV0dXJuIGY9PT1rP3M6WzAsbyxrXX0sVGEsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMl0saz1mWzFdLGc9VzYoZChuWzFdWzErU3NdLG4pLGspLEU9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gaz09PWcmJm89PT1FP2Y6WzAsZyxFXX0sTXYsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89c1sxXSxrPWZyKGQoblsxXVsxK2d0XSxuKSxvKSxnPXAoblsxXVsxK0xdLG4sZik7cmV0dXJuIG89PT1rJiZmPT09Zz9zOlswLGssZ119LEgxLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1szXSxvPXNbMl0saz1zWzFdLGc9cChuWzFdWzErZ3RdLG4sayk7aWYob1swXT09PTApdmFyIEU9b1sxXSxlMD1QMChwKG5bMV1bMStieF0sbixfJCksRSxvLGZ1bmN0aW9uKEYwKXtyZXR1cm5bMCxGMF19KTtlbHNlIHZhciBDPW9bMV0sUj1vWzJdLGUwPU8wKGQoblsxXVsxK1NzXSxuKSxDLFIsbyxmdW5jdGlvbihGMCl7cmV0dXJuWzEsQyxGMF19KTt2YXIgbDA9cChuWzFdWzErTF0sbixmKTtyZXR1cm4gaz09PWcmJm89PT1lMCYmZj09PWwwP3M6WzAsZyxlMCxsMF19LFplLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1wKG5bMV1bMStPeF0sbixnKSxDPXAoblsxXVsxK2JzXSxuLGspLFI9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gZz09PUUmJms9PT1DJiZvPT09Uj9mOlswLEUsQyxSXX0sTXIsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMV0saz1IMChuWzFdWzErWmVdLG4scyxvKTtyZXR1cm4gbz09PWs/ZjpbMCxrLGZbMl0sZlszXV19LGJzLGZ1bmN0aW9uKG4scyl7c3dpdGNoKHNbMF0pe2Nhc2UgMDp2YXIgZj1zWzFdO3JldHVybiBQMChkKG5bMV1bMSt3bl0sbiksZixzLGZ1bmN0aW9uKGcpe3JldHVyblswLGddfSk7Y2FzZSAxOnZhciBvPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK2xlXSxuKSxvLHMsZnVuY3Rpb24oZyl7cmV0dXJuWzEsZ119KTtkZWZhdWx0OnZhciBrPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK19uXSxuKSxrLHMsZnVuY3Rpb24oZyl7cmV0dXJuWzIsZ119KX19LHduLGZ1bmN0aW9uKG4scyl7cmV0dXJuIHAoblsxXVsxK0N4XSxuLHMpfSxsZSxmdW5jdGlvbihuLHMpe3JldHVybiBwKG5bMV1bMSttMF0sbixzKX0sX24sZnVuY3Rpb24obixzKXtyZXR1cm4gcChuWzFdWzErT3hdLG4scyl9LHExLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1wKG5bMV1bMStDeF0sbixnKSxDPXAoblsxXVsxK0N4XSxuLGspLFI9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gZz09PUUmJms9PT1DJiZvPT09Uj9mOlswLEUsQyxSXX0sSnQsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbNF0saz1mWzNdLGc9ZlsyXSxFPWZbMV0sQz1wKG5bMV1bMStPeF0sbixFKSxSPUF4KGQoblsxXVsxK0RvXSxuKSxnKSxlMD1BeChkKG5bMV1bMStqNF0sbiksayksbDA9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gRT09PUMmJmc9PT1SJiZrPT09ZTAmJm89PT1sMD9mOlswLEMsUixlMCxsMF19LFkyLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzJdLGs9ZlsxXSxnPWZyKGZ1bmN0aW9uKEMpe2lmKENbMF09PT0wKXt2YXIgUj1DWzFdLGUwPXAoblsxXVsxK3d4XSxuLFIpO3JldHVybiBSPT09ZTA/QzpbMCxlMF19dmFyIGwwPUNbMV0sRjA9cChuWzFdWzErejBdLG4sbDApO3JldHVybiBsMD09PUYwP0M6WzEsRjBdfSxrKSxFPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGs9PT1nJiZvPT09RT9mOlswLGcsRV19LHd4LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPXNbMV07c3dpdGNoKGZbMF0pe2Nhc2UgMDp2YXIgaz1mWzNdLGc9ZlsyXSxFPWZbMV0sQz1wKG5bMV1bMSt1eF0sbixFKSxSPXAoblsxXVsxK094XSxuLGcpO3g6aWYoayl7aWYoQ1swXT09PTMpe3ZhciBlMD1SWzJdO2lmKGUwWzBdPT09MTApe3ZhciBGMD1icihDWzFdWzJdWzFdLGUwWzFdWzJdWzFdKTticmVhayB4fX12YXIgbDA9RT09PUM/MTowLEYwPWwwJiYoZz09PVI/MTowKX1lbHNlIHZhciBGMD1rO3JldHVybiBFPT09QyYmZz09PVImJms9PT1GMD9zOlswLG8sWzAsQyxSLEYwXV07Y2FzZSAxOnZhciBkeD1mWzJdLFh4PWZbMV0sS3g9cChuWzFdWzErdXhdLG4sWHgpLF9yPVcyKGQoblsxXVsxK1QyXSxuKSxkeCk7cmV0dXJuIFh4PT09S3gmJmR4PT09X3I/czpbMCxvLFsxLEt4LF9yXV07Y2FzZSAyOnZhciB0Mj1mWzNdLFdyPWZbMl0sVng9ZlsxXSxDMj1wKG5bMV1bMSt1eF0sbixWeCksejI9VzIoZChuWzFdWzErVDJdLG4pLFdyKSxlZT1wKG5bMV1bMStMXSxuLHQyKTtyZXR1cm4gVng9PT1DMiYmV3I9PT16MiYmdDI9PT1lZT9zOlswLG8sWzIsQzIsejIsZWVdXTtkZWZhdWx0OnZhciBtZT1mWzNdLGhlPWZbMl0sdGU9ZlsxXSxkZT1wKG5bMV1bMSt1eF0sbix0ZSkseWU9VzIoZChuWzFdWzErVDJdLG4pLGhlKSxnZT1wKG5bMV1bMStMXSxuLG1lKTtyZXR1cm4gdGU9PT1kZSYmaGU9PT15ZSYmbWU9PT1nZT9zOlswLG8sWzMsZGUseWUsZ2VdXX19LHV4LGZ1bmN0aW9uKG4scyl7c3dpdGNoKHNbMF0pe2Nhc2UgMDp2YXIgZj1zWzFdO3JldHVybiBQMChkKG5bMV1bMStIeF0sbiksZixzLGZ1bmN0aW9uKFIpe3JldHVyblswLFJdfSk7Y2FzZSAxOnZhciBvPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK1pyXSxuKSxvLHMsZnVuY3Rpb24oUil7cmV0dXJuWzEsUl19KTtjYXNlIDI6dmFyIGs9c1sxXTtyZXR1cm4gUDAoZChuWzFdWzEreDJdLG4pLGsscyxmdW5jdGlvbihSKXtyZXR1cm5bMixSXX0pO2Nhc2UgMzp2YXIgZz1zWzFdO3JldHVybiBQMChkKG5bMV1bMStkcl0sbiksZyxzLGZ1bmN0aW9uKFIpe3JldHVyblszLFJdfSk7Y2FzZSA0OnZhciBFPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK20wXSxuKSxFLHMsZnVuY3Rpb24oUil7cmV0dXJuWzQsUl19KTtkZWZhdWx0OnZhciBDPXNbMV07cmV0dXJuIFAwKGQoblsxXVsxK09yXSxuKSxDLHMsZnVuY3Rpb24oUil7cmV0dXJuWzUsUl19KX19LEh4LGZ1bmN0aW9uKG4scyl7dmFyIGY9c1sxXSxvPXNbMl07cmV0dXJuIE8wKGQoblsxXVsxKyQwXSxuKSxmLG8scyxmdW5jdGlvbihrKXtyZXR1cm5bMCxmLGtdfSl9LFpyLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1sxXSxvPXNbMl07cmV0dXJuIE8wKGQoblsxXVsxK0gyXSxuKSxmLG8scyxmdW5jdGlvbihrKXtyZXR1cm5bMCxmLGtdfSl9LHgyLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1sxXSxvPXNbMl07cmV0dXJuIE8wKGQoblsxXVsxK3FzXSxuKSxmLG8scyxmdW5jdGlvbihrKXtyZXR1cm5bMCxmLGtdfSl9LGRyLGZ1bmN0aW9uKG4scyl7cmV0dXJuIHAoblsxXVsxK0N4XSxuLHMpfSxPcixmdW5jdGlvbihuLHMpe3JldHVybiBwKG5bMV1bMStGc10sbixzKX0saTIsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbNV0saz1mWzRdLGc9ZlszXSxFPWZbMl0sQz1mWzFdLFI9cChuWzFdWzErUG5dLG4sQyksZTA9QXgoZChuWzFdWzErTV0sbiksRSksbDA9QXgoZChuWzFdWzErYTBdLG4pLGcpLEYwPUF4KGQoblsxXVsxK2EwXSxuKSxrKSxkeD1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBDPT09UiYmZz09PWwwJiZFPT09ZTAmJmc9PT1sMCYmaz09PUYwJiZvPT09ZHg/ZjpbMCxSLGUwLGwwLEYwLGR4XX0sZjIsZnVuY3Rpb24obixzKXtyZXR1cm4gSDAoblsxXVsxK3IzXSxuLGIkLHMpfSx2LGZ1bmN0aW9uKG4scyxmKXtyZXR1cm4gSDAoblsxXVsxK3IzXSxuLFswLHNdLGYpfSxRdixmdW5jdGlvbihuLHMpe3JldHVybiBIMChuWzFdWzErcjNdLG4sVCQscyl9LFd0LGZ1bmN0aW9uKG4scyl7cmV0dXJuIHAoblsxXVsxK2UzXSxuLHMpfSxaMSxmdW5jdGlvbihuLHMpe3JldHVybiBwKG5bMV1bMStlM10sbixzKX0scjMsZnVuY3Rpb24obixzLGYpe3ZhciBvPXM/c1sxXTowO3JldHVybiBIMChuWzFdWzErc3JdLG4sWzAsb10sZil9LGUzLGZ1bmN0aW9uKG4scyl7cmV0dXJuIEgwKG5bMV1bMStzcl0sbiwwLHMpfSxzcixmdW5jdGlvbihuLHMsZil7dmFyIG89ZlsyXSxrPWZbMV07c3dpdGNoKG9bMF0pe2Nhc2UgMDp2YXIgZz1vWzFdLEU9Z1szXSxDPWdbMl0sUj1nWzFdLGUwPWZyKHAoblsxXVsxK0Z4XSxuLHMpLFIpLGwwPXAoblsxXVsxK2MwXSxuLEMpLEYwPXAoblsxXVsxK0xdLG4sRSk7eDp7aWYoZTA9PT1SJiZsMD09PUMmJkYwPT09RSl7dmFyIGR4PW87YnJlYWsgeH12YXIgZHg9WzAsWzAsZTAsbDAsRjBdXX12YXIgd2U9ZHg7YnJlYWs7Y2FzZSAxOnZhciBYeD1vWzFdLEt4PVh4WzNdLF9yPVh4WzJdLHQyPVh4WzFdLFdyPWZyKHAoblsxXVsxK3RyXSxuLHMpLHQyKSxWeD1wKG5bMV1bMStjMF0sbixfciksQzI9cChuWzFdWzErTF0sbixLeCk7eDp7aWYoS3g9PT1DMiYmV3I9PT10MiYmVng9PT1fcil7dmFyIHoyPW87YnJlYWsgeH12YXIgejI9WzEsWzAsV3IsVngsQzJdXX12YXIgd2U9ejI7YnJlYWs7Y2FzZSAyOnZhciBlZT1vWzFdLG1lPWVlWzJdLGhlPWVlWzFdLHRlPWVlWzNdLGRlPUgwKG5bMV1bMStieF0sbixzLGhlKSx5ZT1wKG5bMV1bMStjMF0sbixtZSk7eDp7aWYoaGU9PT1kZSYmbWU9PT15ZSl7dmFyIGdlPW87YnJlYWsgeH12YXIgZ2U9WzIsWzAsZGUseWUsdGVdXX12YXIgd2U9Z2U7YnJlYWs7ZGVmYXVsdDp2YXIgQXQ9b1sxXSx3ZT1QMChkKG5bMV1bMStCMF0sbiksQXQsbyxmdW5jdGlvbihjdCl7cmV0dXJuWzMsY3RdfSl9cmV0dXJuIG89PT13ZT9mOlswLGssd2VdfSxieCxmdW5jdGlvbihuLHMsZil7cmV0dXJuIHAoblsxXVsxK0N4XSxuLGYpfSxHeCxmdW5jdGlvbihuLHMsZixvKXtyZXR1cm4gSDAoblsxXVsxKyQwXSxuLGYsbyl9LFN4LGZ1bmN0aW9uKG4scyxmLG8pe3JldHVybiBIMChuWzFdWzErSDJdLG4sZixvKX0sV3gsZnVuY3Rpb24obixzLGYsbyl7cmV0dXJuIEgwKG5bMV1bMStxc10sbixmLG8pfSxGeCxmdW5jdGlvbihuLHMsZil7aWYoZlswXT09PTApe3ZhciBvPWZbMV07cmV0dXJuIFAwKHAoblsxXVsxK3AwXSxuLHMpLG8sZixmdW5jdGlvbihnKXtyZXR1cm5bMCxnXX0pfXZhciBrPWZbMV07cmV0dXJuIFAwKHAoblsxXVsxK0cwXSxuLHMpLGssZixmdW5jdGlvbihnKXtyZXR1cm5bMSxnXX0pfSxwMCxmdW5jdGlvbihuLHMsZil7dmFyIG89ZlsyXSxrPW9bNF0sZz1vWzNdLEU9b1syXSxDPW9bMV0sUj1mWzFdLGUwPUgwKG5bMV1bMStyeF0sbixzLEMpLGwwPUgwKG5bMV1bMStTXSxuLHMsRSksRjA9cChuWzFdWzErcmVdLG4sZyk7eDppZihrKXtpZihlMFswXT09PTMpe3ZhciBkeD1sMFsyXTtpZihkeFswXT09PTIpe3ZhciBLeD1icihlMFsxXVsyXVsxXSxkeFsxXVsxXVsyXVsxXSk7YnJlYWsgeH19dmFyIFh4PUM9PT1lMD8xOjAsS3g9WHgmJihFPT09bDA/MTowKX1lbHNlIHZhciBLeD1rO3JldHVybiBlMD09PUMmJmwwPT09RSYmRjA9PT1nJiZrPT09S3g/ZjpbMCxSLFswLGUwLGwwLEYwLEt4XV19LHJ4LGZ1bmN0aW9uKG4scyxmKXtzd2l0Y2goZlswXSl7Y2FzZSAwOnZhciBvPWZbMV07cmV0dXJuIFAwKHAoblsxXVsxK0tyXSxuLHMpLG8sZixmdW5jdGlvbihSKXtyZXR1cm5bMCxSXX0pO2Nhc2UgMTp2YXIgaz1mWzFdO3JldHVybiBQMChwKG5bMV1bMStHXSxuLHMpLGssZixmdW5jdGlvbihSKXtyZXR1cm5bMSxSXX0pO2Nhc2UgMjp2YXIgZz1mWzFdO3JldHVybiBQMChwKG5bMV1bMStueF0sbixzKSxnLGYsZnVuY3Rpb24oUil7cmV0dXJuWzIsUl19KTtjYXNlIDM6dmFyIEU9ZlsxXTtyZXR1cm4gUDAocChuWzFdWzEreXhdLG4scyksRSxmLGZ1bmN0aW9uKFIpe3JldHVyblszLFJdfSk7ZGVmYXVsdDp2YXIgQz1mWzFdO3JldHVybiBQMChwKG5bMV1bMStFeF0sbixzKSxDLGYsZnVuY3Rpb24oUil7cmV0dXJuWzQsUl19KX19LEtyLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzFdLGs9ZlsyXTtyZXR1cm4gTzAocChuWzFdWzErR3hdLG4scyksbyxrLGYsZnVuY3Rpb24oZyl7cmV0dXJuWzAsbyxnXX0pfSxHLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzFdLGs9ZlsyXTtyZXR1cm4gTzAocChuWzFdWzErU3hdLG4scyksbyxrLGYsZnVuY3Rpb24oZyl7cmV0dXJuWzAsbyxnXX0pfSxueCxmdW5jdGlvbihuLHMsZil7dmFyIG89ZlsxXSxrPWZbMl07cmV0dXJuIE8wKHAoblsxXVsxK1d4XSxuLHMpLG8sayxmLGZ1bmN0aW9uKGcpe3JldHVyblswLG8sZ119KX0seXgsZnVuY3Rpb24obixzLGYpe3JldHVybiBIMChuWzFdWzErYnhdLG4scyxmKX0sRXgsZnVuY3Rpb24obixzLGYpe3JldHVybiBwKG5bMV1bMStGc10sbixmKX0sRzAsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMl0saz1vWzJdLGc9b1sxXSxFPWZbMV0sQz1IMChuWzFdWzErUHhdLG4scyxnKSxSPXAoblsxXVsxK0xdLG4sayk7cmV0dXJuIEM9PT1nJiZrPT09Uj9mOlswLEUsWzAsQyxSXV19LFMsZnVuY3Rpb24obixzLGYpe3JldHVybiBIMChuWzFdWzErc3JdLG4scyxmKX0sUHgsZnVuY3Rpb24obixzLGYpe3JldHVybiBIMChuWzFdWzErc3JdLG4scyxmKX0sdHIsZnVuY3Rpb24obixzLGYpe3N3aXRjaChmWzBdKXtjYXNlIDA6dmFyIG89ZlsxXTtyZXR1cm4gUDAocChuWzFdWzEra3hdLG4scyksbyxmLGZ1bmN0aW9uKGcpe3JldHVyblswLGddfSk7Y2FzZSAxOnZhciBrPWZbMV07cmV0dXJuIFAwKHAoblsxXVsxK2F4XSxuLHMpLGssZixmdW5jdGlvbihnKXtyZXR1cm5bMSxnXX0pO2RlZmF1bHQ6cmV0dXJuIGZ9fSxreCxmdW5jdGlvbihuLHMsZil7dmFyIG89ZlsyXSxrPW9bMl0sZz1vWzFdLEU9ZlsxXSxDPUgwKG5bMV1bMStReF0sbixzLGcpLFI9cChuWzFdWzErcmVdLG4sayk7cmV0dXJuIGc9PT1DJiZrPT09Uj9mOlswLEUsWzAsQyxSXV19LFF4LGZ1bmN0aW9uKG4scyxmKXtyZXR1cm4gSDAoblsxXVsxK3NyXSxuLHMsZil9LGF4LGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzJdLGs9b1syXSxnPW9bMV0sRT1mWzFdLEM9SDAoblsxXVsxK1l4XSxuLHMsZyksUj1wKG5bMV1bMStMXSxuLGspO3JldHVybiBDPT09ZyYmaz09PVI/ZjpbMCxFLFswLEMsUl1dfSxZeCxmdW5jdGlvbihuLHMsZil7cmV0dXJuIEgwKG5bMV1bMStzcl0sbixzLGYpfSxCMCxmdW5jdGlvbihuLHMpe3JldHVybiBwKG5bMV1bMStPeF0sbixzKX0sWCxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzJdLGs9ZlsxXSxnPXNbMV07aWYoayl2YXIgRT1rWzFdLEM9UDAoZChuWzFdWzErT3hdLG4pLEUsayxmdW5jdGlvbihlMCl7cmV0dXJuWzAsZTBdfSk7ZWxzZSB2YXIgQz1rO3ZhciBSPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGs9PT1DJiZvPT09Uj9zOlswLGcsWzAsQyxSXV19LFQwLGZ1bmN0aW9uKG4scyl7cmV0dXJuIHAoblsxXVsxK094XSxuLHMpfSxuMCxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1zWzFdLGs9cChuWzFdWzErJF0sbixmKTtyZXR1cm4gQjMoayxmKT9zOlswLG8sa119LCQsZnVuY3Rpb24obixzKXt2YXIgZj1zWzJdLG89ZlszXSxrPWZbMl0sZz1rWzJdLEU9a1sxXSxDPWZbMV0sUj1zWzFdLGUwPXAoblsxXVsxK0N4XSxuLEUpLGwwPUF4KGQoblsxXVsxK2EwXSxuKSxnKSxGMD1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBlMD09PUUmJmwwPT09ZyYmRjA9PT1vP3M6WzAsUixbMCxDLFswLGUwLGwwXSxGMF1dfSxyMixmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzJdLGs9ZlsxXSxnPXNbMV0sRT1wKG5bMV1bMStmMl0sbixrKSxDPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGs9PT1FJiZvPT09Qz9zOlswLGcsWzAsRSxDXV19LFEsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMl0saz1mWzFdLGc9ZlszXSxFPUF4KGQoblsxXVsxK094XSxuKSxrKSxDPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGs9PT1FJiZvPT09Qz9mOlswLEUsQyxnXX0sc3gsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMl0saz1mWzFdLGc9ZnIoZChuWzFdWzErT3hdLG4pLGspLEU9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gaz09PWcmJm89PT1FP2Y6WzAsZyxFXX0sQzAsZnVuY3Rpb24obixzKXtyZXR1cm4gcChuWzFdWzErZXhdLG4scyl9LGV4LGZ1bmN0aW9uKG4scyl7dmFyIGY9ZChuWzFdWzEreHhdLG4pLG89bTEoZnVuY3Rpb24oZyxFKXt2YXIgQz1nWzJdLFI9Z1sxXSxlMD1kKGYsRSk7aWYoIWUwKXJldHVyblswLFIsMV07aWYoZTBbMl0pcmV0dXJuWzAsSzMoZTAsUiksMV07dmFyIGwwPWUwWzFdLEYwPUN8fChFIT09bDA/MTowKTtyZXR1cm5bMCxbMCxsMCxSXSxGMF19LEUkLHMpLGs9b1sxXTtyZXR1cm4gb1syXT9peChrKTpzfSx4eCxmdW5jdGlvbihuLHMpe3JldHVyblswLHAoblsxXVsxK3R4XSxuLHMpLDBdfSxweCxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzJdLGs9ZlsxXSxnPXNbMV0sRT1wKG5bMV1bMStPeF0sbixrKSxDPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGs9PT1FJiZvPT09Qz9zOlswLGcsWzAsRSxDXV19LHowLGZ1bmN0aW9uKG4scyl7dmFyIGY9c1syXSxvPWZbMl0saz1mWzFdLGc9c1sxXSxFPXAoblsxXVsxK094XSxuLGspLEM9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gaz09PUUmJm89PT1DP3M6WzAsZyxbMCxFLENdXX0sQTAsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMV0saz1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBvPT09az9mOlswLGtdfSxLMCxmdW5jdGlvbihuLHMsZil7dmFyIG89ZlszXSxrPWZbMl0sZz1mWzFdLEU9Zls0XSxDPXAoblsxXVsxK094XSxuLGcpLFI9ZnIoZChuWzFdWzErUzBdLG4pLGspLGUwPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGc9PT1DJiZrPT09UiYmbz09PWUwP2Y6WzAsQyxSLGUwLEVdfSxTMCxmdW5jdGlvbihuLHMpe3ZhciBmPXNbMl0sbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1zWzFdLEM9QXgoZChuWzFdWzErT3hdLG4pLGcpLFI9cChuWzFdWzErZXhdLG4sayksZTA9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gZz09PUMmJms9PT1SJiZvPT09ZTA/czpbMCxFLFswLEMsUixlMF1dfSxZMCxmdW5jdGlvbihuLHMsZil7dmFyIG89ZlszXSxrPWZbMl0sZz1mWzFdLEU9cChuWzFdWzErT3hdLG4sZyksQz1XMihkKG5bMV1bMSt5MF0sbiksayksUj1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBnPT09RSYmaz09PUMmJm89PT1SP2Y6WzAsRSxDLFJdfSx5MCxmdW5jdGlvbihuLHMsZil7dmFyIG89ZlszXSxrPWZbMl0sZz1mWzFdLEU9ZnIoZChuWzFdWzErajBdLG4pLGcpLEM9ZnIoZChuWzFdWzErT3hdLG4pLGspLFI9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gZz09PUUmJms9PT1DJiZvPT09Uj9mOlswLEUsQyxSXX0sajAsZnVuY3Rpb24obixzKXtyZXR1cm4gc30sSTAsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbMV0saz1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBvPT09az9mOlswLGtdfSxEMCxmdW5jdGlvbihuLHMsZil7dmFyIG89ZlsyXSxrPWZbMV0sZz1wKG5bMV1bMStPeF0sbixrKSxFPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGs9PT1nJiZvPT09RT9mOlswLGcsRV19LE0wLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzRdLGs9ZlszXSxnPWZbMl0sRT1mWzFdLEM9VzIoZChuWzFdWzErUXRdLG4pLEUpO2lmKGcpdmFyIFI9Z1sxXSxlMD1SWzFdLGwwPVJbMl0sRjA9TzAoZChuWzFdWzErSHZdLG4pLGUwLGwwLGcsZnVuY3Rpb24oV3Ipe3JldHVyblswLFswLGUwLFdyXV19KTtlbHNlIHZhciBGMD1nO2lmKGspdmFyIGR4PWtbMV0sWHg9ZHhbMV0sS3g9ZHhbMl0sX3I9TzAoZChuWzFdWzErUXRdLG4pLFh4LEt4LGssZnVuY3Rpb24oV3Ipe3JldHVyblswLFswLFh4LFdyXV19KTtlbHNlIHZhciBfcj1rO3ZhciB0Mj1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBFPT09QyYmZz09PUYwJiZrPT09X3ImJm89PT10Mj9mOlswLEMsRjAsX3IsdDJdfSxILGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1wKG5bMV1bMStPeF0sbixnKSxDPXAoblsxXVsxK3IwXSxuLGspLFI9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gRT09PWcmJkM9PT1rJiZSPT09bz9mOlswLEUsQyxSXX0sdzAsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbM10saz1mWzJdLGc9ZlsxXSxFPXAoblsxXVsxK094XSxuLGcpLEM9cChuWzFdWzErcjBdLG4sayksUj1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBFPT09ZyYmQjMoQyxrKSYmUj09PW8/ZjpbMCxFLEMsUl19LFQsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbM10saz1mWzJdLGc9cChuWzFdWzErT3hdLG4sayksRT1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBrPT09ZyYmbz09PUU/ZjpbMCxmWzFdLGcsRV19LG0sZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbNF0saz1mWzJdLGc9cChuWzFdWzErT3hdLG4sayksRT1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBrPT09ZyYmbz09PUU/ZjpbMCxmWzFdLGcsZlszXSxFXX0sbCxmdW5jdGlvbihuLHMsZil7dmFyIG89ZlszXSxrPWZbMl0sZz1mWzFdLEU9ZnIocChuWzFdWzErYV0sbixrKSxnKSxDPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIGc9PT1FJiZvPT09Qz9mOlswLEUsayxDXX0sYSxmdW5jdGlvbihuLHMsZil7dmFyIG89ZlsyXSxrPW9bMl0sZz1vWzFdLEU9ZlsxXSxDPUgwKG5bMV1bMSt2XSxuLHMsZyksUj1BeChkKG5bMV1bMStPeF0sbiksayk7cmV0dXJuIGc9PT1DJiZrPT09Uj9mOlswLEUsWzAsQyxSXV19LHUsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbM10saz1mWzJdLGc9ZlsxXSxFPXAoblsxXVsxK1QwXSxuLGcpLEM9cChuWzFdWzErdHhdLG4sayksUj1wKG5bMV1bMStMXSxuLG8pO3JldHVybiBnPT09RSYmaz09PUMmJm89PT1SP2Y6WzAsRSxDLFJdfSx0LGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzNdLGs9ZlsyXSxnPWZbMV0sRT1wKG5bMV1bMStPeF0sbixnKSxDPXAoblsxXVsxK3R4XSxuLGspLFI9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gZz09PUUmJms9PT1DJiZvPT09Uj9mOlswLEUsQyxSXX0sdjAsZnVuY3Rpb24obixzLGYpe3ZhciBvPWZbNF0saz1mWzNdLGc9ZlsyXSxFPWZbMV0sQz1wKG5bMV1bMStQbl0sbixFKSxSPUF4KGQoblsxXVsxK01dLG4pLGcpLGUwPXAoblsxXVsxK2EwXSxuLGspLGwwPXAoblsxXVsxK0xdLG4sbyk7cmV0dXJuIEU9PT1DJiZrPT09ZTAmJmc9PT1SJiZvPT09bDA/ZjpbMCxDLFIsZTAsbDBdfSxlLGZ1bmN0aW9uKG4scyxmKXt2YXIgbz1mWzJdLGs9ZlsxXSxnPWZbNF0sRT1mWzNdLEM9QXgoZChuWzFdWzErT3hdLG4pLGspLFI9cChuWzFdWzErTF0sbixvKTtyZXR1cm4gbz09PVImJms9PT1DP2Y6WzAsQyxSLEUsZ119XSksZnVuY3Rpb24obixzKXtyZXR1cm4geTUocyx4KX19KSxxaj1bXTtmdW5jdGlvbiBoVSh4LHIsZSl7dmFyIHQ9ZVsyXTtzd2l0Y2godFswXSl7Y2FzZSAwOnZhciB1PXRbMV1bMV07cmV0dXJuIG0xKGQocWpbMV0seCkscix1KTtjYXNlIDE6dmFyIGk9dFsxXVsxXTtyZXR1cm4gbTEoZChxalsyXSx4KSxyLGkpO2Nhc2UgMjpyZXR1cm4gcCh4LHIsdFsxXVsxXSk7ZGVmYXVsdDpyZXR1cm4gcn19RnIocWosWzAsZnVuY3Rpb24oeCxyKXtyZXR1cm4gZnVuY3Rpb24oZSl7dmFyIHQ9ZVswXT09PTA/ZVsxXVsyXVsyXTplWzFdWzJdWzFdO3JldHVybiBoVSh4LHIsdCl9fSxmdW5jdGlvbih4LHIpe3JldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gZVswXT09PTI/cjpoVSh4LHIsZVsxXVsyXVsxXSl9fV0pO3ZhciBVaj1bXTtmdW5jdGlvbiBkVSh4KXt2YXIgcj14WzJdO3N3aXRjaChyWzBdKXtjYXNlIDA6cmV0dXJuIEozKFVqWzFdLHJbMV1bMV0pO2Nhc2UgMTpyZXR1cm4gSjMoVWpbMl0sclsxXVsxXSk7Y2FzZSAyOnJldHVybiAxO2RlZmF1bHQ6cmV0dXJuIDB9fUZyKFVqLFswLGZ1bmN0aW9uKHgpe3ZhciByPXhbMF09PT0wP3hbMV1bMl1bMl06eFsxXVsyXVsxXTtyZXR1cm4gZFUocil9LGZ1bmN0aW9uKHgpe3JldHVybiB4WzBdPT09Mj8wOmRVKHhbMV1bMl1bMV0pfV0pO3ZhciBFNT1bXTtmdW5jdGlvbiBCaih4KXt2YXIgcj14WzJdO3N3aXRjaChyWzBdKXtjYXNlIDc6cmV0dXJuIDE7Y2FzZSAxMDp2YXIgZT1yWzFdLHQ9ZVsxXSx1PWQoRTVbMl0sZVsyXSk7cmV0dXJuIHV8fEozKEU1WzFdLHQpO2Nhc2UgMTE6dmFyIGk9clsxXSxjPWlbMV0sdj1kKEU1WzJdLGlbMl0pO3JldHVybiB2fHxKMyhmdW5jdGlvbihhKXtyZXR1cm4gQmooYVsyXSl9LGMpO2Nhc2UgMTI6cmV0dXJuIEozKEJqLHJbMV1bMV0pO2Nhc2UgMTM6cmV0dXJuIDE7ZGVmYXVsdDpyZXR1cm4gMH19RnIoRTUsWzAsZnVuY3Rpb24oeCl7cmV0dXJuIEJqKHhbMl1bMl0pfSxmdW5jdGlvbih4KXtyZXR1cm4geCYmeFsxXVsyXVsxXT8xOjB9XSk7ZnVuY3Rpb24gbW4oeCxyKXtyZXR1cm5bMCxyWzFdLFswLHJbMl0seF1dfWZ1bmN0aW9uIHlVKHgscixlKXt2YXIgdD14P3hbMV06MCx1PXI/clsxXTowO3JldHVyblswLHQsdSxlXX1mdW5jdGlvbiBaKHgscixlKXt2YXIgdD14P3hbMV06MCx1PXI/clsxXTowO3JldHVybiF0JiYhdT8wOlswLHlVKFswLHRdLFswLHVdLDApXX1mdW5jdGlvbiBPMih4LHIsZSx0KXt2YXIgdT14P3hbMV06MCxpPXI/clsxXTowO3JldHVybiF1JiYhaSYmIWU/MDpbMCx5VShbMCx1XSxbMCxpXSxlKV19ZnVuY3Rpb24gUzEoeCxyKXtpZih4KXtpZihyKXt2YXIgZT1yWzFdLHQ9eFsxXSx1PVswLE14KHRbMl0sZVsyXSldO3JldHVybiBaKFswLE14KGVbMV0sdFsxXSldLHUsTyl9dmFyIGk9eH1lbHNlIHZhciBpPXI7cmV0dXJuIGl9ZnVuY3Rpb24gUzUoeCxyKXtpZighcilyZXR1cm4geDtpZih4KXt2YXIgZT1yWzFdLHQ9eFsxXSx1PWVbMV0saT10WzNdLGM9dFsxXSx2PVswLE14KHRbMl0sZVsyXSldO3JldHVybiBPMihbMCxNeCh1LGMpXSx2LGksTyl9dmFyIGE9clsxXTtyZXR1cm4gTzIoWzAsYVsxXV0sWzAsYVsyXV0sMCxPKX1mdW5jdGlvbiBnVSh4LHIpe3MxKHgpKHZRKSxkKHMxKHgpKHBRKSxsUSk7dmFyIGU9clsxXTtkKHMxKHgpKGtRKSxlKSxzMSh4KShtUSksczEoeCkoaFEpLGQoczEoeCkoeVEpLGRRKTt2YXIgdD1yWzJdO3JldHVybiBkKHMxKHgpKGdRKSx0KSxzMSh4KSh3USksczEoeCkoX1EpfUZyKFtdLFswLGdVLGdVLGZ1bmN0aW9uKHgscil7c3dpdGNoKHJbMF0pe2Nhc2UgMDp2YXIgZT1yWzFdO3JldHVybiBzMSh4KSh4JCksZChzMSh4KShyJCksZSksczEoeCkoZSQpO2Nhc2UgMTp2YXIgdD1yWzFdO3JldHVybiBzMSh4KSh0JCksZChzMSh4KShuJCksdCksczEoeCkodSQpO2Nhc2UgMjp2YXIgdT1yWzFdO3JldHVybiBzMSh4KShpJCksZChzMSh4KShmJCksdSksczEoeCkoYyQpO2RlZmF1bHQ6dmFyIGk9clsxXTtyZXR1cm4gczEoeCkocyQpLGQoczEoeCkoYSQpLGkpLHMxKHgpKG8kKX19XSk7ZnVuY3Rpb24gWXIoeCxyKXtyZXR1cm5bMCx4WzFdLHhbMl0sclszXV19ZnVuY3Rpb24gbWEoeCxyKXt2YXIgZT14WzFdLXJbMV18MDtyZXR1cm4gZT09PTA/eFsyXS1yWzJdfDA6ZX1mdW5jdGlvbiB3VSh4LHIpe3ZhciBlPXJbMV0sdD14WzFdO2lmKHQpe3ZhciB1PXRbMV07aWYoZSl2YXIgaT1lWzFdLGM9bVUoaSksdj1tVSh1KS1jfDAsYT12PT09MD9meCh1WzFdLGlbMV0pOnY7ZWxzZSB2YXIgYT0tMX1lbHNlIHZhciBhPWU/MTowO2lmKGEhPT0wKXJldHVybiBhO3ZhciBsPW1hKHhbMl0sclsyXSk7cmV0dXJuIGw9PT0wP21hKHhbM10sclszXSk6bH1mdW5jdGlvbiBybyh4LHIpe3JldHVybiB3VSh4LHIpPT09MD8xOjB9dmFyIGhyPVtdO0ZyKGhyLFswLGZ1bmN0aW9uKHgscixlKXtyZXR1cm4gZngocixlKX0sZnVuY3Rpb24oeCxyLGUpe3JldHVybiBmeChyLGUpfSxmdW5jdGlvbih4LHIsZSl7cmV0dXJuIGZ4KHIsZSl9LGZ1bmN0aW9uKHgscixlKXtyZXR1cm4gZngocixlKX0sZnVuY3Rpb24oeCxyLGUpe3JldHVybiBmeChyLGUpfSxmdW5jdGlvbih4LHIsZSl7cmV0dXJuIGZ4KHIsZSl9LGZ1bmN0aW9uKHgscixlKXtyZXR1cm4gZngocixlKX0sZnVuY3Rpb24oeCxyLGUpe3JldHVybiBmeChyLGUpfSxmdW5jdGlvbih4LHIsZSl7cmV0dXJuIGZ4KHIsZSl9LGZ1bmN0aW9uKHgscixlKXtyZXR1cm4gZngocixlKX0sZnVuY3Rpb24oeCxyLGUpe3JldHVybiBmeChyLGUpfSxmdW5jdGlvbih4LHIsZSl7cmV0dXJuIGZ4KHIsZSl9LGZ1bmN0aW9uKHgscixlKXtyZXR1cm4gV2UocixlKX0sZnVuY3Rpb24oeCxyLGUpe3JldHVybiBmeChyLGUpfSxmdW5jdGlvbih4LHIsZSl7cmV0dXJuIFdlKHIsZSl9LGZ1bmN0aW9uKHgscixlKXtyZXR1cm4gV2UocixlKX0sZnVuY3Rpb24oeCxyLGUpe3JldHVybiBXZShyLGUpfSxmdW5jdGlvbih4LHIsZSl7cmV0dXJuIFdlKHIsZSl9LGZ1bmN0aW9uKHgscixlKXtyZXR1cm4gV2UocixlKX0sZnVuY3Rpb24oeCxyLGUpe3JldHVybiBmeChyLGUpfSxmdW5jdGlvbih4LHIsZSl7cmV0dXJuIFdlKHIsZSl9LGZ1bmN0aW9uKHgscixlKXtyZXR1cm4gZngocixlKX0sZnVuY3Rpb24oeCxyLGUpe3JldHVybiBmeChyLGUpfSxmdW5jdGlvbih4LHIsZSl7cmV0dXJuIGZ4KHIsZSl9LGZ1bmN0aW9uKHgscixlKXtyZXR1cm4gZngocixlKX0sZnVuY3Rpb24oeCxyLGUpe3JldHVybiBmeChyLGUpfSxmdW5jdGlvbih4LHIsZSl7cmV0dXJuIGZ4KHIsZSl9LGZ1bmN0aW9uKHgscixlKXtyZXR1cm4gZngocixlKX0sZnVuY3Rpb24oeCxyKXtzd2l0Y2goeCl7Y2FzZSAwOmlmKCFyKXJldHVybiAwO2JyZWFrO2Nhc2UgMTppZihyPT09MSlyZXR1cm4gMDticmVhaztjYXNlIDI6aWYocj09PTIpcmV0dXJuIDA7YnJlYWs7Y2FzZSAzOmlmKHI9PT0zKXJldHVybiAwO2JyZWFrO2RlZmF1bHQ6aWYoNDw9cilyZXR1cm4gMH1mdW5jdGlvbiBlKHUpe3N3aXRjaCh1KXtjYXNlIDA6cmV0dXJuIDA7Y2FzZSAxOnJldHVybiAxO2Nhc2UgMjpyZXR1cm4gMjtjYXNlIDM6cmV0dXJuIDM7ZGVmYXVsdDpyZXR1cm4gNH19dmFyIHQ9ZShyKTtyZXR1cm4gV2UoZSh4KSx0KX0sZnVuY3Rpb24oeCxyLGUpe3JldHVybiBmeChyLGUpfSxmdW5jdGlvbih4LHIsZSl7cmV0dXJuIGZ4KHIsZSl9LGZ1bmN0aW9uKHgscixlKXtyZXR1cm4gZngocixlKX0sZnVuY3Rpb24oeCxyLGUpe3JldHVybiBmeChyLGUpfSxmdW5jdGlvbih4LHIsZSl7cmV0dXJuIFdlKHIsZSl9LGZ1bmN0aW9uKHgscixlKXtyZXR1cm4gZngocixlKX0sZnVuY3Rpb24oeCxyLGUpe3JldHVybiBmeChyLGUpfSxmdW5jdGlvbih4LHIsZSl7cmV0dXJuIGZ4KHIsZSl9LGZ1bmN0aW9uKHgscixlKXtyZXR1cm4gZngocixlKX0sZnVuY3Rpb24oeCxyLGUpe3JldHVybiBmeChyLGUpfSxmdW5jdGlvbih4LHIsZSl7cmV0dXJuIGZ4KHIsZSl9LGZ1bmN0aW9uKHgscixlKXtyZXR1cm4gZngocixlKX0sZnVuY3Rpb24oeCxyLGUpe3JldHVybiBmeChyLGUpfSxmdW5jdGlvbih4LHIsZSl7cmV0dXJuIGZ4KHIsZSl9XSk7dmFyIF9VPU8wMC5zbGljZSgpO2Z1bmN0aW9uIFhqKHgpe2Zvcih2YXIgcj0wLGU9X1UubGVuZ3RoLTEtMXwwOzspe2lmKGU8cilyZXR1cm4gMDt2YXIgdD1yKygoZS1yfDApLzJ8MCl8MCx1PV9VWzErdF0saT11WzJdO2lmKHg8dVsxXSl2YXIgZT10LTF8MDtlbHNle2lmKGk+eClyZXR1cm4gMTt2YXIgcj10KzF8MH19fXZhciBiVT0wO2Z1bmN0aW9uIFRVKHgpe3ZhciByPXhbMl07cmV0dXJuWzAseFsxXSxbMCxyWzFdLHJbMl0sclszXSxyWzRdLHJbNV0scls2XSxyWzddLHJbOF0scls5XSxyWzEwXSxyWzExXSxyWzEyXV0seFszXSx4WzRdLHhbNV0seFs2XSx4WzddXX1mdW5jdGlvbiBFVSh4KXtyZXR1cm4geFszXVsxXX1mdW5jdGlvbiBBNSh4LHIpe3JldHVybiB4IT09cls0XT9bMCxyWzFdLHJbMl0sclszXSx4LHJbNV0scls2XSxyWzddXTpyfXZhciBRZT1bXTtmdW5jdGlvbiBTVSh4LHIpe2lmKHR5cGVvZiB4PT1cIm51bWJlclwiKXt2YXIgZT14O2lmKDY3PD1lKWlmKGZlPD1lKXN3aXRjaChlKXtjYXNlIDEwMTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmZmU9PT1yKXJldHVybiAxO2JyZWFrO2Nhc2UgMTAyOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZnMT09PXIpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxMDM6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnNuPT09cilyZXR1cm4gMTticmVhaztjYXNlIDEwNDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmQmU9PT1yKXJldHVybiAxO2JyZWFrO2Nhc2UgMTA1OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZ1aT09PXIpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxMDY6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJkplPT09cilyZXR1cm4gMTticmVhaztjYXNlIDEwNzppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmSzI9PT1yKXJldHVybiAxO2JyZWFrO2Nhc2UgMTA4OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZzdj09PXIpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxMDk6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnN0PT09cilyZXR1cm4gMTticmVhaztjYXNlIDExMDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmejE9PT1yKXJldHVybiAxO2JyZWFrO2Nhc2UgMTExOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZjZT09PXIpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxMTI6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJmVhPT09cilyZXR1cm4gMTticmVhaztjYXNlIDExMzppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmVGU9PT1yKXJldHVybiAxO2JyZWFrO2Nhc2UgMTE0OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZtcj09PXIpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxMTU6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnR2PT09cilyZXR1cm4gMTticmVhaztjYXNlIDExNjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmV2E9PT1yKXJldHVybiAxO2JyZWFrO2Nhc2UgMTE3OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZ5Nj09PXIpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxMTg6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJlAzPT09cilyZXR1cm4gMTticmVhaztjYXNlIDExOTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmemw9PT1yKXJldHVybiAxO2JyZWFrO2Nhc2UgMTIwOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZ2Zj09PXIpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxMjE6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJm02PT09cilyZXR1cm4gMTticmVhaztjYXNlIDEyMjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmczI9PT1yKXJldHVybiAxO2JyZWFrO2Nhc2UgMTIzOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZybj09PXIpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxMjQ6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJlMzPT09cilyZXR1cm4gMTticmVhaztjYXNlIDEyNTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmQmE9PT1yKXJldHVybiAxO2JyZWFrO2Nhc2UgMTI2OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZTaz09PXIpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxMjc6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJkJyPT09cilyZXR1cm4gMTticmVhaztjYXNlIDEyODppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmTTI9PT1yKXJldHVybiAxO2JyZWFrO2Nhc2UgMTI5OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZYbz09PXIpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxMzA6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJmQ2PT09cilyZXR1cm4gMTticmVhaztjYXNlIDEzMTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcjY9PT1yKXJldHVybiAxO2JyZWFrO2Nhc2UgMTMyOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyOD09PXIpcmV0dXJuIDE7YnJlYWs7ZGVmYXVsdDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmX2s8PXIpcmV0dXJuIDF9ZWxzZSBzd2l0Y2goZSl7Y2FzZSA2NzppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTY3KXJldHVybiAxO2JyZWFrO2Nhc2UgNjg6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT02OClyZXR1cm4gMTticmVhaztjYXNlIDY5OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NjkpcmV0dXJuIDE7YnJlYWs7Y2FzZSA3MDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTcwKXJldHVybiAxO2JyZWFrO2Nhc2UgNzE6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT03MSlyZXR1cm4gMTticmVhaztjYXNlIDcyOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NzIpcmV0dXJuIDE7YnJlYWs7Y2FzZSA3MzppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTczKXJldHVybiAxO2JyZWFrO2Nhc2UgNzQ6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT03NClyZXR1cm4gMTticmVhaztjYXNlIDc1OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NzUpcmV0dXJuIDE7YnJlYWs7Y2FzZSA3NjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTc2KXJldHVybiAxO2JyZWFrO2Nhc2UgNzc6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT03NylyZXR1cm4gMTticmVhaztjYXNlIDc4OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NzgpcmV0dXJuIDE7YnJlYWs7Y2FzZSA3OTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTc5KXJldHVybiAxO2JyZWFrO2Nhc2UgODA6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT04MClyZXR1cm4gMTticmVhaztjYXNlIDgxOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09ODEpcmV0dXJuIDE7YnJlYWs7Y2FzZSA4MjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTgyKXJldHVybiAxO2JyZWFrO2Nhc2UgODM6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT04MylyZXR1cm4gMTticmVhaztjYXNlIDg0OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09ODQpcmV0dXJuIDE7YnJlYWs7Y2FzZSA4NTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTg1KXJldHVybiAxO2JyZWFrO2Nhc2UgODY6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT04NilyZXR1cm4gMTticmVhaztjYXNlIDg3OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09ODcpcmV0dXJuIDE7YnJlYWs7Y2FzZSA4ODppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTg4KXJldHVybiAxO2JyZWFrO2Nhc2UgODk6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT04OSlyZXR1cm4gMTticmVhaztjYXNlIDkwOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09OTApcmV0dXJuIDE7YnJlYWs7Y2FzZSA5MTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTkxKXJldHVybiAxO2JyZWFrO2Nhc2UgOTI6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT05MilyZXR1cm4gMTticmVhaztjYXNlIDkzOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09OTMpcmV0dXJuIDE7YnJlYWs7Y2FzZSA5NDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTk0KXJldHVybiAxO2JyZWFrO2Nhc2UgOTU6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT05NSlyZXR1cm4gMTticmVhaztjYXNlIDk2OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09OTYpcmV0dXJuIDE7YnJlYWs7Y2FzZSA5NzppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTk3KXJldHVybiAxO2JyZWFrO2Nhc2UgOTg6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT05OClyZXR1cm4gMTticmVhaztjYXNlIDk5OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09OTkpcmV0dXJuIDE7YnJlYWs7ZGVmYXVsdDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmeTI9PT1yKXJldHVybiAxfWVsc2UgaWYoMzQ8PWUpc3dpdGNoKGUpe2Nhc2UgMzQ6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0zNClyZXR1cm4gMTticmVhaztjYXNlIDM1OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MzUpcmV0dXJuIDE7YnJlYWs7Y2FzZSAzNjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTM2KXJldHVybiAxO2JyZWFrO2Nhc2UgMzc6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0zNylyZXR1cm4gMTticmVhaztjYXNlIDM4OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MzgpcmV0dXJuIDE7YnJlYWs7Y2FzZSAzOTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTM5KXJldHVybiAxO2JyZWFrO2Nhc2UgNDA6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT00MClyZXR1cm4gMTticmVhaztjYXNlIDQxOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NDEpcmV0dXJuIDE7YnJlYWs7Y2FzZSA0MjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTQyKXJldHVybiAxO2JyZWFrO2Nhc2UgNDM6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT00MylyZXR1cm4gMTticmVhaztjYXNlIDQ0OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NDQpcmV0dXJuIDE7YnJlYWs7Y2FzZSA0NTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTQ1KXJldHVybiAxO2JyZWFrO2Nhc2UgNDY6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT00NilyZXR1cm4gMTticmVhaztjYXNlIDQ3OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NDcpcmV0dXJuIDE7YnJlYWs7Y2FzZSA0ODppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTQ4KXJldHVybiAxO2JyZWFrO2Nhc2UgNDk6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT00OSlyZXR1cm4gMTticmVhaztjYXNlIDUwOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NTApcmV0dXJuIDE7YnJlYWs7Y2FzZSA1MTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTUxKXJldHVybiAxO2JyZWFrO2Nhc2UgNTI6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT01MilyZXR1cm4gMTticmVhaztjYXNlIDUzOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NTMpcmV0dXJuIDE7YnJlYWs7Y2FzZSA1NDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTU0KXJldHVybiAxO2JyZWFrO2Nhc2UgNTU6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT01NSlyZXR1cm4gMTticmVhaztjYXNlIDU2OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NTYpcmV0dXJuIDE7YnJlYWs7Y2FzZSA1NzppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTU3KXJldHVybiAxO2JyZWFrO2Nhc2UgNTg6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT01OClyZXR1cm4gMTticmVhaztjYXNlIDU5OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NTkpcmV0dXJuIDE7YnJlYWs7Y2FzZSA2MDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTYwKXJldHVybiAxO2JyZWFrO2Nhc2UgNjE6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT02MSlyZXR1cm4gMTticmVhaztjYXNlIDYyOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NjIpcmV0dXJuIDE7YnJlYWs7Y2FzZSA2MzppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTYzKXJldHVybiAxO2JyZWFrO2Nhc2UgNjQ6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT02NClyZXR1cm4gMTticmVhaztjYXNlIDY1OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NjUpcmV0dXJuIDE7YnJlYWs7ZGVmYXVsdDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTY2KXJldHVybiAxfWVsc2Ugc3dpdGNoKGUpe2Nhc2UgMDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmIXIpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MSlyZXR1cm4gMTticmVhaztjYXNlIDI6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0yKXJldHVybiAxO2JyZWFrO2Nhc2UgMzppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTMpcmV0dXJuIDE7YnJlYWs7Y2FzZSA0OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NClyZXR1cm4gMTticmVhaztjYXNlIDU6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT01KXJldHVybiAxO2JyZWFrO2Nhc2UgNjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTYpcmV0dXJuIDE7YnJlYWs7Y2FzZSA3OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NylyZXR1cm4gMTticmVhaztjYXNlIDg6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT04KXJldHVybiAxO2JyZWFrO2Nhc2UgOTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTkpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxMDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTEwKXJldHVybiAxO2JyZWFrO2Nhc2UgMTE6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0xMSlyZXR1cm4gMTticmVhaztjYXNlIDEyOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MTIpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxMzppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTEzKXJldHVybiAxO2JyZWFrO2Nhc2UgMTQ6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0xNClyZXR1cm4gMTticmVhaztjYXNlIDE1OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MTUpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxNjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTE2KXJldHVybiAxO2JyZWFrO2Nhc2UgMTc6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0xNylyZXR1cm4gMTticmVhaztjYXNlIDE4OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MTgpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxOTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTE5KXJldHVybiAxO2JyZWFrO2Nhc2UgMjA6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0yMClyZXR1cm4gMTticmVhaztjYXNlIDIxOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MjEpcmV0dXJuIDE7YnJlYWs7Y2FzZSAyMjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTIyKXJldHVybiAxO2JyZWFrO2Nhc2UgMjM6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0yMylyZXR1cm4gMTticmVhaztjYXNlIDI0OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MjQpcmV0dXJuIDE7YnJlYWs7Y2FzZSAyNTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTI1KXJldHVybiAxO2JyZWFrO2Nhc2UgMjY6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0yNilyZXR1cm4gMTticmVhaztjYXNlIDI3OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MjcpcmV0dXJuIDE7YnJlYWs7Y2FzZSAyODppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTI4KXJldHVybiAxO2JyZWFrO2Nhc2UgMjk6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0yOSlyZXR1cm4gMTticmVhaztjYXNlIDMwOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MzApcmV0dXJuIDE7YnJlYWs7Y2FzZSAzMTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTMxKXJldHVybiAxO2JyZWFrO2Nhc2UgMzI6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0zMilyZXR1cm4gMTticmVhaztkZWZhdWx0OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MzMpcmV0dXJuIDF9fWVsc2Ugc3dpdGNoKHhbMF0pe2Nhc2UgMDppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTApe3ZhciB0PXJbMl0sdT14WzJdLGk9cChRZVsxM10seFsxXSxyWzFdKTtyZXR1cm4gaSYmYnIodSx0KX1icmVhaztjYXNlIDE6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT0xKXt2YXIgYz1yWzJdLHY9eFsyXSxhPXAoUWVbMTJdLHhbMV0sclsxXSk7cmV0dXJuIGEmJmJyKHYsYyl9YnJlYWs7Y2FzZSAyOmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09Mil7dmFyIGw9clsxXSxtPXhbMV0saD1sWzRdLFQ9bFszXSxiPWxbMl0sTj1tWzRdLGo9bVszXSxJPW1bMl0sRj1wKFFlWzExXSxtWzFdLGxbMV0pLE09RiYmYnIoSSxiKSx6PU0mJmJyKGosVCk7cmV0dXJuIHomJihOPT09aD8xOjApfWJyZWFrO2Nhc2UgMzppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTMpe3ZhciBCPXJbMV0sSz14WzFdLG4wPUJbNV0sJD1CWzRdLEg9QlszXSx0MD1CWzJdLGMwPUtbNV0scjA9S1s0XSx2MD1LWzNdLGEwPUtbMl0sZzA9cChRZVsxMF0sS1sxXSxCWzFdKSxpMD1nMCYmYnIoYTAsdDApLHMwPWkwJiZicih2MCxIKSxkMD1zMCYmKHIwPT09JD8xOjApO3JldHVybiBkMCYmKGMwPT09bjA/MTowKX1icmVhaztjYXNlIDQ6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT00KXt2YXIgdzA9clszXSxNMD1yWzJdLEMwPXhbM10sRDA9eFsyXSxJMD1wKFFlWzldLHhbMV0sclsxXSksajA9STAmJmJyKEQwLE0wKTtyZXR1cm4gajAmJmJyKEMwLHcwKX1icmVhaztjYXNlIDU6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT01KXt2YXIgeTA9clszXSxZMD1yWzJdLEw9eFszXSxOMD14WzJdLFMwPXAoUWVbOF0seFsxXSxyWzFdKSxLMD1TMCYmYnIoTjAsWTApO3JldHVybiBLMCYmYnIoTCx5MCl9YnJlYWs7Y2FzZSA2OmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09Nil7dmFyIEEwPXJbMl0sJDA9eFsyXSxleD1wKFFlWzddLHhbMV0sclsxXSk7cmV0dXJuIGV4JiZicigkMCxBMCl9YnJlYWs7Y2FzZSA3OmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09NylyZXR1cm4gYnIoeFsxXSxyWzFdKTticmVhaztjYXNlIDg6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT04KXt2YXIgeHg9YnIoeFsxXSxyWzFdKSx0eD1yWzJdLHowPXhbMl07cmV0dXJuIHh4JiZwKFFlWzZdLHowLHR4KX1icmVhaztjYXNlIDk6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT05KXt2YXIgcHg9clszXSxzeD1yWzJdLFE9eFszXSxiMD14WzJdLFU9cChRZVs1XSx4WzFdLHJbMV0pLGgwPVUmJmJyKGIwLHN4KTtyZXR1cm4gaDAmJmJyKFEscHgpfWJyZWFrO2Nhc2UgMTA6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT0xMCl7dmFyIF8wPXJbM10sbTA9clsyXSxUMD14WzNdLFg9eFsyXSxHeD1wKFFlWzRdLHhbMV0sclsxXSksUHg9R3gmJmJyKFgsbTApO3JldHVybiBQeCYmYnIoVDAsXzApfWJyZWFrO2Nhc2UgMTE6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT0xMSlyZXR1cm4gcChRZVszXSx4WzFdLHJbMV0pO2JyZWFrO2Nhc2UgMTI6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT0xMil7dmFyIEcwPXJbM10sS3I9clsyXSxTPXhbM10sRz14WzJdLHJ4PXAoUWVbMl0seFsxXSxyWzFdKSx5eD1yeCYmKEc9PUtyPzE6MCk7cmV0dXJuIHl4JiZicihTLEcwKX1icmVhaztkZWZhdWx0OmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09MTMpe3ZhciBFeD1yWzJdLG54PXhbMl0scDA9clszXSxGeD14WzNdLFN4PXAoUWVbMV0seFsxXSxyWzFdKTtpZihTeCl7eDp7aWYobngpe2lmKEV4KXt2YXIgYng9QjMobnhbMV0sRXhbMV0pO2JyZWFrIHh9fWVsc2UgaWYoIUV4KXt2YXIgYng9MTticmVhayB4fXZhciBieD0wfXZhciBCMD1ieH1lbHNlIHZhciBCMD1TeDtyZXR1cm4gQjAmJmJyKEZ4LHAwKX19cmV0dXJuIDB9ZnVuY3Rpb24gQVUoeCxyKXtzd2l0Y2goeCl7Y2FzZSAwOmlmKCFyKXJldHVybiAxO2JyZWFrO2Nhc2UgMTppZihyPT09MSlyZXR1cm4gMTticmVhaztjYXNlIDI6aWYocj09PTIpcmV0dXJuIDE7YnJlYWs7Y2FzZSAzOmlmKHI9PT0zKXJldHVybiAxO2JyZWFrO2RlZmF1bHQ6aWYoNDw9cilyZXR1cm4gMX1yZXR1cm4gMH1mdW5jdGlvbiBQVSh4LHIpe3N3aXRjaCh4KXtjYXNlIDA6aWYoIXIpcmV0dXJuIDE7YnJlYWs7Y2FzZSAxOmlmKHI9PT0xKXJldHVybiAxO2JyZWFrO2RlZmF1bHQ6aWYoMjw9cilyZXR1cm4gMX1yZXR1cm4gMH1GcihRZSxbMCxQVSxBVSxmdW5jdGlvbih4LHIpe2lmKHgpe2lmKHIpcmV0dXJuIDF9ZWxzZSBpZighcilyZXR1cm4gMTtyZXR1cm4gMH0scm8scm8scm8scm8scm8scm8scm8scm8sUFUsQVVdKTtmdW5jdGlvbiBJVSh4KXtpZih0eXBlb2YgeCE9XCJudW1iZXJcIilzd2l0Y2goeFswXSl7Y2FzZSAwOnJldHVybiBzdDA7Y2FzZSAxOnJldHVybiBhdDA7Y2FzZSAyOnJldHVybiBvdDA7Y2FzZSAzOnJldHVybiB2dDA7Y2FzZSA0OnJldHVybiBsdDA7Y2FzZSA1OnJldHVybiBwdDA7Y2FzZSA2OnJldHVybiBrdDA7Y2FzZSA3OnJldHVybiBtdDA7Y2FzZSA4OnJldHVybiBodDA7Y2FzZSA5OnJldHVybiBkdDA7Y2FzZSAxMDpyZXR1cm4geXQwO2Nhc2UgMTE6cmV0dXJuIGd0MDtjYXNlIDEyOnJldHVybiB3dDA7ZGVmYXVsdDpyZXR1cm4gX3QwfXZhciByPXg7aWYoNjc8PXIpe2lmKGZlPD1yKXN3aXRjaChyKXtjYXNlIDEwMTpyZXR1cm4gTmUwO2Nhc2UgMTAyOnJldHVybiBqZTA7Y2FzZSAxMDM6cmV0dXJuIENlMDtjYXNlIDEwNDpyZXR1cm4gT2UwO2Nhc2UgMTA1OnJldHVybiBEZTA7Y2FzZSAxMDY6cmV0dXJuIEZlMDtjYXNlIDEwNzpyZXR1cm4gUmUwO2Nhc2UgMTA4OnJldHVybiBMZTA7Y2FzZSAxMDk6cmV0dXJuIE1lMDtjYXNlIDExMDpyZXR1cm4gcWUwO2Nhc2UgMTExOnJldHVybiBVZTA7Y2FzZSAxMTI6cmV0dXJuIEJlMDtjYXNlIDExMzpyZXR1cm4gWGUwO2Nhc2UgMTE0OnJldHVybiBZZTA7Y2FzZSAxMTU6cmV0dXJuIHplMDtjYXNlIDExNjpyZXR1cm4gS2UwO2Nhc2UgMTE3OnJldHVybiBKZTA7Y2FzZSAxMTg6cmV0dXJuIEdlMDtjYXNlIDExOTpyZXR1cm4gV2UwO2Nhc2UgMTIwOnJldHVybiBWZTA7Y2FzZSAxMjE6cmV0dXJuICRlMDtjYXNlIDEyMjpyZXR1cm4gUWUwO2Nhc2UgMTIzOnJldHVybiBIZTA7Y2FzZSAxMjQ6cmV0dXJuIFplMDtjYXNlIDEyNTpyZXR1cm4geHQwO2Nhc2UgMTI2OnJldHVybiBydDA7Y2FzZSAxMjc6cmV0dXJuIGV0MDtjYXNlIDEyODpyZXR1cm4gdHQwO2Nhc2UgMTI5OnJldHVybiBudDA7Y2FzZSAxMzA6cmV0dXJuIHV0MDtjYXNlIDEzMTpyZXR1cm4gaXQwO2Nhc2UgMTMyOnJldHVybiBmdDA7ZGVmYXVsdDpyZXR1cm4gY3QwfXN3aXRjaChyKXtjYXNlIDY3OnJldHVybiAkMTA7Y2FzZSA2ODpyZXR1cm4gUTEwO2Nhc2UgNjk6cmV0dXJuIEgxMDtjYXNlIDcwOnJldHVybiBaMTA7Y2FzZSA3MTpyZXR1cm4geGUwO2Nhc2UgNzI6cmV0dXJuIHJlMDtjYXNlIDczOnJldHVybiBlZTA7Y2FzZSA3NDpyZXR1cm4gdGUwO2Nhc2UgNzU6cmV0dXJuIG5lMDtjYXNlIDc2OnJldHVybiB1ZTA7Y2FzZSA3NzpyZXR1cm4gaWUwO2Nhc2UgNzg6cmV0dXJuIGZlMDtjYXNlIDc5OnJldHVybiBjZTA7Y2FzZSA4MDpyZXR1cm4gc2UwO2Nhc2UgODE6cmV0dXJuIGFlMDtjYXNlIDgyOnJldHVybiBvZTA7Y2FzZSA4MzpyZXR1cm4gdmUwO2Nhc2UgODQ6cmV0dXJuIGxlMDtjYXNlIDg1OnJldHVybiBwZTA7Y2FzZSA4NjpyZXR1cm4ga2UwO2Nhc2UgODc6cmV0dXJuIG1lMDtjYXNlIDg4OnJldHVybiBoZTA7Y2FzZSA4OTpyZXR1cm4gZGUwO2Nhc2UgOTA6cmV0dXJuIHllMDtjYXNlIDkxOnJldHVybiBnZTA7Y2FzZSA5MjpyZXR1cm4gd2UwO2Nhc2UgOTM6cmV0dXJuIF9lMDtjYXNlIDk0OnJldHVybiBiZTA7Y2FzZSA5NTpyZXR1cm4gVGUwO2Nhc2UgOTY6cmV0dXJuIEVlMDtjYXNlIDk3OnJldHVybiBTZTA7Y2FzZSA5ODpyZXR1cm4gQWUwO2Nhc2UgOTk6cmV0dXJuIFBlMDtkZWZhdWx0OnJldHVybiBJZTB9fWlmKDM0PD1yKXN3aXRjaChyKXtjYXNlIDM0OnJldHVybiBoMTA7Y2FzZSAzNTpyZXR1cm4gZDEwO2Nhc2UgMzY6cmV0dXJuIHkxMDtjYXNlIDM3OnJldHVybiBnMTA7Y2FzZSAzODpyZXR1cm4gdzEwO2Nhc2UgMzk6cmV0dXJuIF8xMDtjYXNlIDQwOnJldHVybiBiMTA7Y2FzZSA0MTpyZXR1cm4gVDEwO2Nhc2UgNDI6cmV0dXJuIEUxMDtjYXNlIDQzOnJldHVybiBTMTA7Y2FzZSA0NDpyZXR1cm4gQTEwO2Nhc2UgNDU6cmV0dXJuIFAxMDtjYXNlIDQ2OnJldHVybiBJMTA7Y2FzZSA0NzpyZXR1cm4gTjEwO2Nhc2UgNDg6cmV0dXJuIGoxMDtjYXNlIDQ5OnJldHVybiBDMTA7Y2FzZSA1MDpyZXR1cm4gTzEwO2Nhc2UgNTE6cmV0dXJuIEQxMDtjYXNlIDUyOnJldHVybiBGMTA7Y2FzZSA1MzpyZXR1cm4gUjEwO2Nhc2UgNTQ6cmV0dXJuIEwxMDtjYXNlIDU1OnJldHVybiBNMTA7Y2FzZSA1NjpyZXR1cm4gcTEwO2Nhc2UgNTc6cmV0dXJuIFUxMDtjYXNlIDU4OnJldHVybiBCMTA7Y2FzZSA1OTpyZXR1cm4gWDEwO2Nhc2UgNjA6cmV0dXJuIFkxMDtjYXNlIDYxOnJldHVybiB6MTA7Y2FzZSA2MjpyZXR1cm4gSzEwO2Nhc2UgNjM6cmV0dXJuIEoxMDtjYXNlIDY0OnJldHVybiBHMTA7Y2FzZSA2NTpyZXR1cm4gVzEwO2RlZmF1bHQ6cmV0dXJuIFYxMH1zd2l0Y2gocil7Y2FzZSAwOnJldHVybiBMMjA7Y2FzZSAxOnJldHVybiBNMjA7Y2FzZSAyOnJldHVybiBxMjA7Y2FzZSAzOnJldHVybiBVMjA7Y2FzZSA0OnJldHVybiBCMjA7Y2FzZSA1OnJldHVybiBYMjA7Y2FzZSA2OnJldHVybiBZMjA7Y2FzZSA3OnJldHVybiB6MjA7Y2FzZSA4OnJldHVybiBLMjA7Y2FzZSA5OnJldHVybiBKMjA7Y2FzZSAxMDpyZXR1cm4gRzIwO2Nhc2UgMTE6cmV0dXJuIFcyMDtjYXNlIDEyOnJldHVybiBWMjA7Y2FzZSAxMzpyZXR1cm4gJDIwO2Nhc2UgMTQ6cmV0dXJuIFEyMDtjYXNlIDE1OnJldHVybiBIMjA7Y2FzZSAxNjpyZXR1cm4gWjIwO2Nhc2UgMTc6cmV0dXJuIHgxMDtjYXNlIDE4OnJldHVybiByMTA7Y2FzZSAxOTpyZXR1cm4gZTEwO2Nhc2UgMjA6cmV0dXJuIHQxMDtjYXNlIDIxOnJldHVybiBuMTA7Y2FzZSAyMjpyZXR1cm4gdTEwO2Nhc2UgMjM6cmV0dXJuIGkxMDtjYXNlIDI0OnJldHVybiBmMTA7Y2FzZSAyNTpyZXR1cm4gYzEwO2Nhc2UgMjY6cmV0dXJuIHMxMDtjYXNlIDI3OnJldHVybiBhMTA7Y2FzZSAyODpyZXR1cm4gbzEwO2Nhc2UgMjk6cmV0dXJuIHYxMDtjYXNlIDMwOnJldHVybiBsMTA7Y2FzZSAzMTpyZXR1cm4gcDEwO2Nhc2UgMzI6cmV0dXJuIGsxMDtkZWZhdWx0OnJldHVybiBtMTB9fWZ1bmN0aW9uIFlqKHgpe2lmKHR5cGVvZiB4IT1cIm51bWJlclwiKXN3aXRjaCh4WzBdKXtjYXNlIDA6cmV0dXJuIHhbMl07Y2FzZSAxOnJldHVybiB4WzJdO2Nhc2UgMjpyZXR1cm4geFsxXVszXTtjYXNlIDM6dmFyIHI9eFsxXSxlPXJbNV0sdD1yWzRdLHU9clszXTtyZXR1cm4gdCYmZT9xeChTMjAscXgodSxFMjApKTp0P3F4KFAyMCxxeCh1LEEyMCkpOmU/cXgoTjIwLHF4KHUsSTIwKSk6cXgoQzIwLHF4KHUsajIwKSk7Y2FzZSA0OnJldHVybiB4WzNdO2Nhc2UgNTp2YXIgaT14WzJdO3JldHVybiBxeChEMjAscXgoaSxxeChPMjAseFszXSkpKTtjYXNlIDY6cmV0dXJuIHhbMl07Y2FzZSA3OnJldHVybiB4WzFdO2Nhc2UgODpyZXR1cm4geFsxXTtjYXNlIDk6cmV0dXJuIHhbM107Y2FzZSAxMDpyZXR1cm4geFszXTtjYXNlIDExOnJldHVybiB4WzFdP0YyMDpSMjA7Y2FzZSAxMjpyZXR1cm4geFszXTtkZWZhdWx0OnJldHVybiB4WzNdfXZhciBjPXg7aWYoNjc8PWMpe2lmKGZlPD1jKXN3aXRjaChjKXtjYXNlIDEwMTpyZXR1cm4gSnIwO2Nhc2UgMTAyOnJldHVybiBHcjA7Y2FzZSAxMDM6cmV0dXJuIFdyMDtjYXNlIDEwNDpyZXR1cm4gVnIwO2Nhc2UgMTA1OnJldHVybiAkcjA7Y2FzZSAxMDY6cmV0dXJuIFFyMDtjYXNlIDEwNzpyZXR1cm4gSHIwO2Nhc2UgMTA4OnJldHVybiBacjA7Y2FzZSAxMDk6cmV0dXJuIHgyMDtjYXNlIDExMDpyZXR1cm4gcjIwO2Nhc2UgMTExOnJldHVybiBlMjA7Y2FzZSAxMTI6cmV0dXJuIHQyMDtjYXNlIDExMzpyZXR1cm4gbjIwO2Nhc2UgMTE0OnJldHVybiB1MjA7Y2FzZSAxMTU6cmV0dXJuIGkyMDtjYXNlIDExNjpyZXR1cm4gZjIwO2Nhc2UgMTE3OnJldHVybiBjMjA7Y2FzZSAxMTg6cmV0dXJuIHMyMDtjYXNlIDExOTpyZXR1cm4gYTIwO2Nhc2UgMTIwOnJldHVybiBvMjA7Y2FzZSAxMjE6cmV0dXJuIHYyMDtjYXNlIDEyMjpyZXR1cm4gbDIwO2Nhc2UgMTIzOnJldHVybiBwMjA7Y2FzZSAxMjQ6cmV0dXJuIGsyMDtjYXNlIDEyNTpyZXR1cm4gbTIwO2Nhc2UgMTI2OnJldHVybiBoMjA7Y2FzZSAxMjc6cmV0dXJuIGQyMDtjYXNlIDEyODpyZXR1cm4geTIwO2Nhc2UgMTI5OnJldHVybiBnMjA7Y2FzZSAxMzA6cmV0dXJuIHcyMDtjYXNlIDEzMTpyZXR1cm4gXzIwO2Nhc2UgMTMyOnJldHVybiBiMjA7ZGVmYXVsdDpyZXR1cm4gVDIwfXN3aXRjaChjKXtjYXNlIDY3OnJldHVybiB2cjA7Y2FzZSA2ODpyZXR1cm4gbHIwO2Nhc2UgNjk6cmV0dXJuIHByMDtjYXNlIDcwOnJldHVybiBrcjA7Y2FzZSA3MTpyZXR1cm4gbXIwO2Nhc2UgNzI6cmV0dXJuIGhyMDtjYXNlIDczOnJldHVybiBkcjA7Y2FzZSA3NDpyZXR1cm4geXIwO2Nhc2UgNzU6cmV0dXJuIGdyMDtjYXNlIDc2OnJldHVybiB3cjA7Y2FzZSA3NzpyZXR1cm4gX3IwO2Nhc2UgNzg6cmV0dXJuIGJyMDtjYXNlIDc5OnJldHVybiBUcjA7Y2FzZSA4MDpyZXR1cm4gRXIwO2Nhc2UgODE6cmV0dXJuIFNyMDtjYXNlIDgyOnJldHVybiBBcjA7Y2FzZSA4MzpyZXR1cm4gUHIwO2Nhc2UgODQ6cmV0dXJuIElyMDtjYXNlIDg1OnJldHVybiBOcjA7Y2FzZSA4NjpyZXR1cm4ganIwO2Nhc2UgODc6cmV0dXJuIENyMDtjYXNlIDg4OnJldHVybiBPcjA7Y2FzZSA4OTpyZXR1cm4gRHIwO2Nhc2UgOTA6cmV0dXJuIEZyMDtjYXNlIDkxOnJldHVybiBScjA7Y2FzZSA5MjpyZXR1cm4gTHIwO2Nhc2UgOTM6cmV0dXJuIE1yMDtjYXNlIDk0OnJldHVybiBxcjA7Y2FzZSA5NTpyZXR1cm4gVXIwO2Nhc2UgOTY6cmV0dXJuIEJyMDtjYXNlIDk3OnJldHVybiBYcjA7Y2FzZSA5ODpyZXR1cm4gWXIwO2Nhc2UgOTk6cmV0dXJuIHpyMDtkZWZhdWx0OnJldHVybiBLcjB9fWlmKDM0PD1jKXN3aXRjaChjKXtjYXNlIDM0OnJldHVybiBPeDA7Y2FzZSAzNTpyZXR1cm4gRHgwO2Nhc2UgMzY6cmV0dXJuIEZ4MDtjYXNlIDM3OnJldHVybiBSeDA7Y2FzZSAzODpyZXR1cm4gTHgwO2Nhc2UgMzk6cmV0dXJuIE14MDtjYXNlIDQwOnJldHVybiBxeDA7Y2FzZSA0MTpyZXR1cm4gVXgwO2Nhc2UgNDI6cmV0dXJuIEJ4MDtjYXNlIDQzOnJldHVybiBYeDA7Y2FzZSA0NDpyZXR1cm4gWXgwO2Nhc2UgNDU6cmV0dXJuIHp4MDtjYXNlIDQ2OnJldHVybiBLeDA7Y2FzZSA0NzpyZXR1cm4gSngwO2Nhc2UgNDg6cmV0dXJuIEd4MDtjYXNlIDQ5OnJldHVybiBXeDA7Y2FzZSA1MDpyZXR1cm4gVngwO2Nhc2UgNTE6cmV0dXJuICR4MDtjYXNlIDUyOnJldHVybiBReDA7Y2FzZSA1MzpyZXR1cm4gSHgwO2Nhc2UgNTQ6cmV0dXJuIFp4MDtjYXNlIDU1OnJldHVybiB4cjA7Y2FzZSA1NjpyZXR1cm4gcnIwO2Nhc2UgNTc6cmV0dXJuIGVyMDtjYXNlIDU4OnJldHVybiB0cjA7Y2FzZSA1OTpyZXR1cm4gbnIwO2Nhc2UgNjA6cmV0dXJuIHVyMDtjYXNlIDYxOnJldHVybiBpcjA7Y2FzZSA2MjpyZXR1cm4gZnIwO2Nhc2UgNjM6cmV0dXJuIGNyMDtjYXNlIDY0OnJldHVybiBzcjA7Y2FzZSA2NTpyZXR1cm4gYXIwO2RlZmF1bHQ6cmV0dXJuIG9yMH1zd2l0Y2goYyl7Y2FzZSAwOnJldHVybiBaMDA7Y2FzZSAxOnJldHVybiB4eDA7Y2FzZSAyOnJldHVybiByeDA7Y2FzZSAzOnJldHVybiBleDA7Y2FzZSA0OnJldHVybiB0eDA7Y2FzZSA1OnJldHVybiBueDA7Y2FzZSA2OnJldHVybiB1eDA7Y2FzZSA3OnJldHVybiBpeDA7Y2FzZSA4OnJldHVybiBmeDA7Y2FzZSA5OnJldHVybiBjeDA7Y2FzZSAxMDpyZXR1cm4gc3gwO2Nhc2UgMTE6cmV0dXJuIGF4MDtjYXNlIDEyOnJldHVybiBveDA7Y2FzZSAxMzpyZXR1cm4gdngwO2Nhc2UgMTQ6cmV0dXJuIGx4MDtjYXNlIDE1OnJldHVybiBweDA7Y2FzZSAxNjpyZXR1cm4ga3gwO2Nhc2UgMTc6cmV0dXJuIG14MDtjYXNlIDE4OnJldHVybiBoeDA7Y2FzZSAxOTpyZXR1cm4gZHgwO2Nhc2UgMjA6cmV0dXJuIHl4MDtjYXNlIDIxOnJldHVybiBneDA7Y2FzZSAyMjpyZXR1cm4gd3gwO2Nhc2UgMjM6cmV0dXJuIF94MDtjYXNlIDI0OnJldHVybiBieDA7Y2FzZSAyNTpyZXR1cm4gVHgwO2Nhc2UgMjY6cmV0dXJuIEV4MDtjYXNlIDI3OnJldHVybiBTeDA7Y2FzZSAyODpyZXR1cm4gQXgwO2Nhc2UgMjk6cmV0dXJuIFB4MDtjYXNlIDMwOnJldHVybiBJeDA7Y2FzZSAzMTpyZXR1cm4gTngwO2Nhc2UgMzI6cmV0dXJuIGp4MDtkZWZhdWx0OnJldHVybiBDeDB9fWZ1bmN0aW9uIFA1KHgpe3JldHVybiBkKGFyKEgwMCkseCl9ZnVuY3Rpb24gemooeCxyKXt2YXIgZT14P3hbMV06MDt4OntpZih0eXBlb2Ygcj09XCJudW1iZXJcIil7aWYobXI9PT1yKXt2YXIgdD1SMDAsdT1MMDA7YnJlYWsgeH19ZWxzZSBzd2l0Y2goclswXSl7Y2FzZSAzOnZhciB0PU0wMCx1PXEwMDticmVhayB4O2Nhc2UgNTp2YXIgdD1VMDAsdT1CMDA7YnJlYWsgeDtjYXNlIDA6Y2FzZSAxMjp2YXIgdD1ZMDAsdT16MDA7YnJlYWsgeDtjYXNlIDE6Y2FzZSAxMzp2YXIgdD1LMDAsdT1KMDA7YnJlYWsgeDtjYXNlIDQ6Y2FzZSA4OnZhciB0PVYwMCx1PSQwMDticmVhayB4O2Nhc2UgNjpjYXNlIDc6Y2FzZSAxMTpicmVhaztkZWZhdWx0OnZhciB0PUcwMCx1PVcwMDticmVhayB4fXZhciB0PVgwMCx1PVA1KFlqKHIpKX1yZXR1cm4gZT9xeCh0LHF4KFEwMCx1KSk6dX1mdW5jdGlvbiBVYjAoeCl7cmV0dXJuIEpvPHg/cEk8eD8tMTp2STx4P3JwPHg/dUE8eD9zYjx4P2t3PHg/MTo4OlpFPHg/VV88eD9seTx4PzE6ODpUSTx4PzE6ODpsYjx4P2pUPHg/MTo4OktnPHg/MTo4OmxwPHg/YXA8eD9ocDx4P2lwPHg/WWs8eD9Oazx4P2l3PHg/MTo4OlA5PHg/MTo4OmhkPHg/T3k8eD8xOjg6SEk8eD8xOjg6c2s8eD94bTx4P2VBPHg/MTo4OkprPHg/MTo4OkJrPHg/dFQ8eD8xOjg6cXc8eD8xOjg6TXA8eD9LZDx4P1c0PHg/VF88eD8xOjg6d2I8eD8xOjg6Y3A8eD92bTx4PzE6ODpCUzx4PzE6ODpwbTx4P3VwPHg/Wms8eD8xOjg6VHA8eD8xOjg6T2s8eD9iODx4PzE6ODp2azx4PzE6ODptZzx4PyQ0PHg/bG08eD9JYjx4P0drPHg/MTo4Olc4PHg/MTo4OlZwPHg/JDk8eD8xOjg6V3c8eD8xOjg6b3A8eD9FODx4P0VtPHg/MTo4OkltPHg/MTo4OmZOPHg/TG08eD8xOjg6Z208eD8xOjg6aTg8eD9Lazx4P2g4PHg/c3A8eD8xOjg6UG08eD8xOjg6TTQ8eD9YXzx4PzE6ODppQTx4PzE6ODpqbTx4P2FOPHg/UTg8eD8xOjg6WDQ8eD8xOjg6Tjg8eD9oRTx4PzE6ODp3OTx4PzE6ODpjUDx4P3FnPHg/Vjk8eD9UeTx4P29nPHg/UGQ8eD8xOjg6bWI8eD8xOjg6bFA8eD94Tjx4PzE6ODpMZDx4PzE6ODp1dzx4P1p5PHg/dUk8eD8xOjg6ZU48eD8xOjg6ank8eD92ZDx4PzE6ODpsVDx4PzE6ODpTVDx4P0U5PHg/RlA8eD9lSTx4PzE6ODpoSTx4PzE6ODpXOTx4P3E0PHg/MTo4OkFQPHg/MTo4OmZkPHg/b048eD9GZzx4PzE6ODoxOjg6T208eD9Gazx4P1k0PHg/WXA8eD9VYjx4PzE6ODpCRTx4PzE6ODpucDx4P1J3PHg/MTo4OlliPHg/MTo4OnprPHg/dnA8eD9wTjx4PzE6ODppeTx4PzE6ODpHcDx4P0w5PHg/MTo4OnlfPHg/MTo4OmttPHg/anA8eD9Nazx4P2RfPHg/MTo4Om05PHg/MTo4OmxOPHg/TmI8eD8xOjg6cHc8eD8xOjg6aGs8eD9xRTx4P2tFPHg/MTo4OnVrPHg/MTo4OmM4PHg/Tnk8eD8xOjg6Y048eD8xOjg6eHk8eD9SODx4P2FfPHg/cW08eD9GbTx4P19wPHg/WDg8eD9EZzx4PzE6ODpGUzx4PzE6ODpUYjx4P2FFPHg/MTo4OkhQPHg/MTo4OnA4PHg/d2s8eD9tdzx4PzE6ODpKUDx4PzE6ODpVODx4P1FrPHg/MTo4Omx3PHg/MTo4OktwPHg/TEk8eD9OVDx4P1RnPHg/MTo4OmpiPHg/MTo4OlJJPHg/cGs8eD8xOjg6eVM8eD8xOjg6Y0U8eD9WNDx4P2xTPHg/MTo4OnFUPHg/MTo4OlZkPHg/TV88eD8xOjg6UWc8eD8xOjg6ZWc8eD94Xzx4P2o5PHg/RVM8eD9tZDx4PzE6ODpZOTx4PzE6ODpPOTx4P1Z3PHg/MTo4Onk5PHg/MTo4Om5kPHg/c3c8eD9iVDx4PzE6ODpFUDx4PzE6ODp3Zzx4P1lFPHg/MTo4OlJfPHg/MTo4Ok1nPHg/d1Q8eD9FRTx4P2JkPHg/MTo4OklFPHg/MTo4OktTPHg/TWQ8eD8xOjg6b0U8eD8xOjg6ZVM8eD9QcDx4P0s0PHg/MTo4OkJnPHg/MTo4Okk5PHg/VFM8eD8xOjg6WHc8eD8xOjg6WmQ8eD9SQTx4P1B3PHg/WEk8eD9NUDx4P0Z3PHg/MTo4OmRQPHg/MTo4OldfPHg/RkU8eD8xOjg6Z1Q8eD8xOjg6X2c8eD9ZZzx4P3J5PHg/MTo4OkNTPHg/MTo4OkpfPHg/dWQ8eD8xOjg6Snc8eD8xOjg6VVM8eD9Jcjx4P3p5PHg/WEE8eD8xOjg6UUU8eD8xOjg6dVM8eD9HUDx4PzE6ODp0QTx4PzE6ODpCUDx4P2FTPHg/VFQ8eD8xOjg6bF88eD8xOjg6d0k8eD9PQTx4PzE6ODpDQTx4PzE6ODp3bTx4P0w4PHg/Q1Q8eD9RUDx4P0xQPHg/MTo4OnBBPHg/MTo4OnVUPHg/bl88eD8xOjg6b1M8eD8xOjg6SVA8eD9xazx4P1ZFPHg/MTo4OnNTPHg/MTo4OnJ3PHg/dkU8eD8xOjg6UUE8eD8xOjg6QTk8eD9HRTx4P0NrPHg/clA8eD8xOjg6Tmc8eD8xOjg6dV88eD9Pdzx4PzE6ODpQYjx4PzE6ODp5VDx4P3VtPHg/R1M8eD8xOjg6d3c8eD8xOjg6SHk8eD9TRTx4PzE6ODpJazx4PzE6ODpPUDx4P3JnPHg/X1A8eD92OTx4P2lTPHg/TkE8eD92Xzx4PzE6ODpRcDx4PzE6ODpudzx4P1lTPHg/MTo4OmNiPHg/MTo4OlZrPHg/UV88eD9tazx4PzE6ODplbTx4PzE6ODpmUDx4P2M5PHg/MTo4Ol9iPHg/MTo4OkZkPHg/SV88eD9rYjx4P2NJPHg/MTo4OllQPHg/MTo4OlZQPHg/ckU8eD8xOjg6R0k8eD8xOjg6X3k8eD96ZDx4P0pBPHg/MTo4Ok13PHg/MTo4OnJBPHg/WVQ8eD8xOjg6T2I8eD8xOjg6UGc8eD9NSTx4P0RJPHg/enc8eD9DeTx4PzE6ODpRSTx4PzE6ODpiSTx4P25iPHg/MTo4OkNiPHg/MTo4OlJUPHg/ZmI8eD9vQTx4PzE6ODpGYjx4PzE6ODpMdzx4P1RrPHg/MTo4OkNkPHg/MTo4Om5UPHg/X0U8eD94Yjx4P1hFPHg/MTo4OmJ5PHg/MTo4OnJtPHg/eWs8eD8xOjg6ZlM8eD8xOjg6ZHA8eD91UDx4P2Y5PHg/MTo4OlF3PHg/MTo4Okg5PHg/cV88eD8xOjg6ZDk8eD8xOjg6Szg8eD9EUDx4P184PHg/UVQ8eD94Zzx4P29QPHg/MTo4OnRwPHg/MTo4OnFiPHg/R2I8eD8xOjg6QUE8eD8xOjg6c208eD9uODx4P1BTPHg/MTo4OmdJPHg/MTo4OlpJPHg/eFQ8eD8xOjg6JHg8eD8xOjg6ejg8eD9xOTx4P0o0PHg/WmI8eD8xOjg6Qzk8eD8xOjg6STg8eD9JUzx4PzE6ODpvZDx4PzE6ODpZODx4P1dwPHg/R3k8eD8xOjg6VWs8eD8xOjg6JEU8eD9oUzx4PzE6ODpURTx4PzE6ODprUzx4P0NfPHg/Sjg8eD92Zzx4P0x5PHg/MTo4OkVrPHg/MTo4Oms5PHg/aWI8eD8xOjg6RHk8eD8xOjg6T188eD91eTx4P3liPHg/MTo4OmZtPHg/MTo4Ok5TPHg/cl88eD8xOjg6SnA8eD8xOjg6ZEE8eD9WeTx4P2RkPHg/eHA8eD8xOjg6Rzk8eD8xOjg6bDk8eD9NYjx4PzE6ODpFYjx4PzE6ODpobTx4P1ByPHg/ZGI8eD8xOjg6eUk8eD8xOjg6eEk8eD93Xzx4PzE6ODpVRTx4PzE6ODpWZzx4P0xiPHg/VHc8eD9Xazx4P0xBPHg/V1M8eD9OSTx4P19JPHg/b188eD8xOjg6ZFQ8eD8xOjg6VUk8eD9PVDx4PzE6ODpaODx4PzE6ODpLYjx4P2ZFPHg/U1A8eD8xOjg6dE48eD8xOjg6SF88eD8kSTx4PzE6ODpzTjx4PzE6ODpGQTx4P3N5PHg/bEk8eD9CZDx4PzE6ODpQQTx4PzE6ODpDUDx4P2hOPHg/MTo4OmZ5PHg/MTo4OnpnPHg/QkE8eD9JSTx4PzE6ODp5ZDx4PzE6ODp5UDx4P1JiPHg/MTo4OmlOPHg/MTo4OmtQPHg/YTg8eD9kUzx4P2JQPHg/JGI8eD8xOjg6Y2Q8eD8xOjg6ZXc8eD9SZzx4PzE6ODpIZDx4PzE6ODpEZDx4P3hrPHg/UTk8eD8xOjg6UFA8eD8xOjg6aFA8eD9BbTx4PzE6ODpsZzx4PzE6ODpmcDx4P2ZnPHg/dk48eD9hdzx4PzE6ODpBRTx4PzE6ODpUUDx4P2JnPHg/MTo4Om1QPHg/MTo4Om9iPHg/Y0E8eD9QXzx4PzE6ODpPZDx4PzE6ODpjeTx4P0pkPHg/MTo4Om15PHg/MTo4OlhTPHg/bk48eD9reTx4P1RtPHg/bGQ8eD9vODx4PzE6ODpzVDx4PzE6ODpsazx4P3NnPHg/MTo4OkVwPHg/MTo4OlVUPHg/TUU8eD93Uzx4PzE6ODplVDx4PzE6ODpzOTx4P3NfPHg/MTo4OnJJPHg/MTo4OmlFPHg/QWc8eD96STx4P3ZQPHg/MTo4Ok5fPHg/MTo4Omk5PHg/TVQ8eD8xOjg6cWQ8eD8xOjg6d3k8eD9tRTx4P2lfPHg/MTo4OmdTPHg/MTo4OnZTPHg/Zzk8eD8xOjg6U2c8eD8xOjg6R0E8eD9xUzx4P1diPHg/YVA8eD9CVDx4PzE6ODpLeTx4PzE6ODppVDx4P2FkPHg/MTo4Om95PHg/MTo4OnA5PHg/ZEk8eD9BSTx4PzE6ODpMUzx4PzE6ODpuRTx4P0pUPHg/MTo4OjE6alM8eD9ibTx4P3JiPHg/ODpZSTx4PzE6ODpERTx4P05FPHg/MTo4OnJTPHg/MTo4Om85PHg/WUE8eD9uUzx4PzE6ODpYZzx4PzE6ODpCYjx4PzE6ODpSbTx4P2RFPHg/SGI8eD9WSTx4P2tOPHg/ODokZzx4P0NnPHg/MTo4OkJ3PHg/MTo4OnZUPHg/d1A8eD9UQTx4PzE6ODpiQTx4PzE6ODpneTx4P25QPHg/MTo4OnBUPHg/MTo4OlNtPHg/THA8eD9xcDx4P3h3PHg/MTo4Ol9TPHg/MTo4Omw4PHg/UlA8eD8xOjg6akU8eD8xOjg6X1Q8eD9EODx4P0FkPHg/MTo4OlVBPHg/MTo4Olo5PHg/Z1A8eD8xOjg6JHk8eD8xOjg6elA8eD9nQTx4P2FBPHg/Snk8eD9zRTx4PzE6ODoxOjg6UkU8eD84OkE4PHg/VlM8eD8xOjg6VDk8eD8xOjg6SWQ8eD9hbTx4P0xvPHg/ZnY8eD8xOjI6eDk8eD8xOjg6ekU8eD9FVDx4PzE6ODpEVDx4PzE6ODpTUzx4P3RJPHg/ZlQ8eD8xOjg6ZGc8eD8xOjg6WHk8eD9adzx4PzE6ODpwUzx4PzE6ODpTdzx4P1dQPHg/TGs8eD9TcDx4P3ltPHg/UHk8eD8xOjg6JF88eD8xOjg6Qzg8eD9vazx4PzE6ODp3QTx4PzE6ODpCXzx4P0g0PHg/Qnk8eD8xOjg6RXc8eD8xOjg6TUE8eD9jazx4PzE6ODprZDx4PzE6ODpDSTx4P0l5PHg/d2Q8eD9XQTx4PzE6ODp6Yjx4PzE6ODpfXzx4P2N3PHg/MTo4Okt3PHg/MTo4OmViPHg/SEE8eD91OTx4PzE6ODpBeTx4PzE6ODpRYjx4PzE6ODpFQTx4P1BrPHg/ejQ8eD9Odzx4PzE6ODp2ODx4Pzg6Q3c8eD8xOjg6Z188eD9GODx4P2pJPHg/MTo4OnNQPHg/MTo4OkF3PHg/U2Q8eD8xOjg6QVQ8eD8xOjg6eFA8eD9xUDx4P0tfPHg/WlM8eD8xOjg6MTpqdzx4Pzg6YVQ8eD8xOjg6REE8eD9YZDx4PzE6ODppUDx4P2VQPHg/MTo4OnZ5PHg/MTo4OlpnPHg/QWs8eD9KUzx4P1FkPHg/dGI8eD9LUDx4P1ZfPHg/dUU8eD8xOjg6Uzk8eD8xOjg6a2c8eD9TXzx4PzE6ODpPRTx4PzE6ODpSUzx4P3hBPHg/dzg8eD8xOjg6MTo4OkNFPHg/aHc8eD9MMjx4P1hiPHg/MTo4OnpBPHg/MTo4Olo0PHg/aF88eD8xOjg6Skk8eD8xOjg6eWc8eD9weTx4PzE6ODpZZDx4P1g5PHg/MTo4OnM4PHg/MTo4OlJ5PHg/WFQ8eD9FXzx4P1pBPHg/dFA8eD8xOjg6T2c8eD8xOjg6eUE8eD9NUzx4PzE6ODppZDx4PzE6ODpuSTx4P2VrPHg/Yl88eD8xOjg6YWs8eD8xOjg6SHc8eD9hYjx4PzE6ODpMZzx4PzE6ODpnYjx4P0d3PHg/TlA8eD9rVDx4PzE6ODpFZzx4PzE6ODpHVDx4P1l5PHg/MTo4OnR5PHg/MTo4OlRkPHgmJmE5PHg/MTo4OlF5PHg/Smc8eD90OTx4P1VQPHg/ODpnRTx4P2hiPHg/MTo4OiRTPHg/MTo4OnBFPHg/a188eD9hZzx4PzE6ODoxOjg6c2Q8eD9Jdzx4JiZWQTx4PzE6ODokZDx4P3o5PHg/VWQ8eD8xOjg6MTpvdzx4Pzg6MTpIZzx4P0lnPHg/a3A8eD84Oll3PHg/MTo4OnVOPHg/bVM8eD9fZDx4PzE6ODpVZzx4PzE6ODpuOTx4PzE6ODpTYjx4P2R5PHg/TmQ8eD8xOjg6cGI8eD8xOjg6JFA8eD9COTx4Pzg6VXk8eD8xOjg6QVM8eD9MVDx4PzE6ODptVDx4PzE6ODpLVDx4P1FTPHg/V0k8eD9DbTx4P0VJPHg/bm08eD9JQTx4PzE6ODplXzx4PzE6ODp1Zzx4PzE6ODpyVDx4P3Q4PHg/RXk8eD8xOjg6MTo4OmpfPHg/U0k8eD9tTjx4P0ZJPHg/MTo4OjE6ODp0Zzx4P2RtPHg/cF88eD8xOjg6bnk8eD8xOjg6aEE8eD8xOjg6UDg8eD9CNDx4P0hvPHg/TEU8eD84OiRvPHg/MToyOl9tPHg/U0E8eD8xOjg6b0k8eD8xOjg6WnA8eD91ODx4P2pQPHg/MTo4OlpUPHg/MTo4OlI0PHg/dnc8eD8xOjg6ck48eD8xOjg6Zl88eD9EXzx4P1M4PHg/SVQ8eD8xOjg6ZXk8eD8xOjg6YnA8eD90RTx4PzE6ODpkazx4PzE6ODpoZzx4P1BUPHg/aWc8eD8xOjg6JDg8eD8xOjg6VDg8eD9GNDx4PzE6ODprSTx4PzE6ODpjbTx4P1BFPHg/JHc8eD9yOTx4P0ZUPHg/V2Q8eD8xOjg6aHk8eD8xOjg6d0U8eD8xOjg6JEE8eD9HXzx4Pzg6MTo4OmJiPHg/Wl88eD9zQTx4PyRwPHg/MTo4Ok05PHg/MTo4OnpTPHg/eUU8eD8xOjg6MTo4OmZBPHg/dHc8eD9pbTx4P0RwPHg/VXA8eD8xOjg6bW08eD8xOjg6Rl88eD9Eazx4PzE6ODoxOm1wPHg/SFM8eD84Ok5wPHg/MTo4OnhTPHg/VlQ8eD8xOjg6dG08eD8xOjg6RFM8eD9xeTx4P2NnPHg/ajg8eD8xOjg6RHc8eD8xOjg6amQ8eD9nazx4PzE6ODokazx4PzE6ODpLbzx4P1lvPHg/ZXY8eD8xOjI6V288eD8xOjI6bDE8eD90MTx4PzE6MzpVbzx4PzE6MjpKMChgXHUwMDAxXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDAzXHUwMDAzXHUwMDA1XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAzXHUwMDA2XFx4MDdcXGJcdFxuXFx2XFx4MDdcXGZcXHJcdTAwMEVcdTAwMEZcdTAwMTBcdTAwMTFcdTAwMTJcdTAwMTNcdTAwMTRcdTAwMTVcdTAwMTVcdTAwMTVcdTAwMTVcdTAwMTVcdTAwMTVcdTAwMTVcdTAwMTVcdTAwMTVcdTAwMTZcdTAwMTdcdTAwMThcdTAwMTlcdTAwMUFcXHgxQlx1MDAxQ1x0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMURcdTAwMUVcdTAwMUYgXHQhXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFwiIyQlXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAzXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx1MDAwMlx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx1MDAwMlx0XHRcdTAwMDJcdTAwMDJcdFx0XHRcdFx1MDAwMlx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdTAwMDJcdFx0XHRcdTAwMDJcdFx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdTAwMDJcdTAwMDJcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHUwMDAyXHUwMDAyXHUwMDAyXHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdFx0XHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdFx0XHRcdFx0XHRcdFx1MDAwMlx0XHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx1MDAwMlx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdFx1MDAwMlx0XHRcdTAwMDJcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdTAwMDJcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx0XHRcdFx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdFx0XHRcdFx0XHRcdTAwMDJcdFx0XHUwMDAyXHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHRcdFx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdFx0XHRcdFx0XHRcdTAwMDJcdFx0XHUwMDAyXHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx1MDAwMlx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdTAwMDJcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdTAwMDJcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdTAwMDJcdFx1MDAwMlx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdFx0XHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdTAwMDJcdTAwMDJcdFx1MDAwMlx1MDAwMlx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdFx0XHRcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHUwMDAyXHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdFx0XHRcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx0XHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHUwMDAyXHRcdTAwMDJcdFx0XHRcdFx0XHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdTAwMDJcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx0XHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdFx0XHRcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx1MDAwMlx0XHUwMDAyXHRcdFx0XHRcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdFx0XHRcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdFx0XHRcdFx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdTAwMDJcdFx0XHRcdFx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx0XHRcdFx0XHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwM1x0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx0XHUwMDAyXHRcdFx0XHRcdFx0XHUwMDAyXHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdTAwMDJcdFx1MDAwMlx0XHUwMDAyXHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHUwMDAyXHRcdFx0XHRcdFx0XHRcdTAwMDJcdFx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx1MDAwMlx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyXHRcdFx0XHRcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdFx0XHRcdFx0XHRcdFx0XHRcdFx0XHRcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx0XHRcdFx1MDAwMlx0XHRcdFx0XHRcdFx0XHUwMDAyXHUwMDAyXHUwMDAyYCx4KzF8MCktMXwwfWZ1bmN0aW9uIEtqKHgpe3JldHVybiA0NTx4PzQ2PHg/LTE6MDotMX1mdW5jdGlvbiBtcyh4KXtyZXR1cm4gODx4P21JPHg/Sm88eD9mdjx4Py0xOiRvPHg/TG88eD8wOi0xOldvPHg/WW88eD9ldjx4P0hvPHg/MDotMTowOi0xOlVvPHg/S288eD8wOi0xOjA6LTE6SjAoXCJcdTAwMDFcXDBcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcIix4LTl8MCktMXwwOi0xfWZ1bmN0aW9uIE5VKHgpe3JldHVybiA0Nzx4P3ZmPHg/LTE6SjAoXCJcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDJcIix4K2UxfDApLTF8MDotMX1mdW5jdGlvbiB2cih4KXtyZXR1cm4gNDc8eD81Nzx4Py0xOjA6LTF9ZnVuY3Rpb24gVHIoeCl7cmV0dXJuIDQ3PHg/ZzE8eD8tMTpKMChcIlx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVwiLHgrZTF8MCktMXwwOi0xfWZ1bmN0aW9uIEx0KHgpe3JldHVybiA0Nzx4P3oxPHg/LTE6SjAoXCJcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDJcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDNcIix4K2UxfDApLTF8MDotMX1mdW5jdGlvbiBqVSh4KXtyZXR1cm4gNDc8eD81OTx4Py0xOkowKFwiXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXHUwMDAyXCIseCtlMXwwKS0xfDA6LTF9ZnVuY3Rpb24gTXQoeCl7cmV0dXJuIDM1PHg/czI8eD8tMTpKMChcIlx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFx1MDAwMlxcMFxcMFxcMFxcMFxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVwiLHgrcDF8MCktMXwwOi0xfWZ1bmN0aW9uIEk1KHgpe3JldHVybiA4Nzx4P3ZmPHg/LTE6SjAocUEseCtpRHwwKS0xfDA6LTF9ZnVuY3Rpb24gZW8oeCl7cmV0dXJuIDQ1PHg/NTc8eD8tMTpKMChcIlx1MDAwMVxcMFx1MDAwMlx1MDAwM1x1MDAwM1x1MDAwM1x1MDAwM1x1MDAwM1x1MDAwM1x1MDAwM1x1MDAwM1x1MDAwM1wiLHgrSmF8MCktMXwwOi0xfWZ1bmN0aW9uIEpqKHgpe3JldHVybi0xPHg/czI8eD9ybjx4P2wxPHg/dDE8eD8wOi0xOjA6LTE6SjAoXCJcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcdTAwMDFcdTAwMDFcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcIix4KS0xfDA6LTF9ZnVuY3Rpb24gQ1UoeCl7cmV0dXJuIDM1PHg/czI8eD8tMTpKMChcIlx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVwiLHgrcDF8MCktMXwwOi0xfWZ1bmN0aW9uIF92KHgpe3JldHVybiA0Nzx4P0JhPHg/LTE6SjAoXCJcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDJcIix4K2UxfDApLTF8MDotMX1mdW5jdGlvbiBybCh4KXtyZXR1cm4gMzU8eD9zMjx4Py0xOkowKFwiXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAzXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXCIseCtwMXwwKS0xfDA6LTF9ZnVuY3Rpb24gTjUoeCl7cmV0dXJuIDQ1PHg/ZmU8eD8tMTpKMChcIlx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMlxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMlwiLHgrSmF8MCktMXwwOi0xfWZ1bmN0aW9uIE9VKHgpe3JldHVybiAzNTx4P3MyPHg/LTE6SjAoXCJcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcdTAwMDFcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcIix4K3AxfDApLTF8MDotMX1mdW5jdGlvbiBqNSh4KXtyZXR1cm4gNDc8eD85NTx4Py0xOkowKFwiXHUwMDAxXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXCIseCtlMXwwKS0xfDA6LTF9ZnVuY3Rpb24gQzUoeCl7cmV0dXJuIDQ3PHg/ejE8eD8tMTpKMChcIlx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMlxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwM1wiLHgrZTF8MCktMXwwOi0xfWZ1bmN0aW9uIE81KHgpe3JldHVybiA0Nzx4P3oxPHg/LTE6SjAoXCJcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDJcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDNcIix4K2UxfDApLTF8MDotMX1mdW5jdGlvbiBENSh4KXtyZXR1cm4gMzU8eD9zMjx4Py0xOkowKFwiXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXFwwXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDA0XHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXCIseCtwMXwwKS0xfDA6LTF9ZnVuY3Rpb24gRjUoeCl7cmV0dXJuIDg8eD9tSTx4P0pvPHg/ZnY8eD8tMTokbzx4P0xvPHg/MDotMTpXbzx4P1lvPHg/ZXY8eD9Ibzx4PzA6LTE6MDotMTpVbzx4P0tvPHg/MDotMTowOi0xOkowKFwiXHUwMDAxXFwwXHUwMDAxXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAzXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXCIseC05fDApLTF8MDotMX1mdW5jdGlvbiBocyh4KXtyZXR1cm4gNDc8eD80OTx4Py0xOjA6LTF9ZnVuY3Rpb24gUjUoeCl7cmV0dXJuIDQ3PHg/OTU8eD8tMTpKMChcIlx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMlwiLHgrZTF8MCktMXwwOi0xfWZ1bmN0aW9uIHRvKHgpe3JldHVybiA0Nzx4PzU3PHg/LTE6SjAoXCJcdTAwMDFcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcIix4K2UxfDApLTF8MDotMX1mdW5jdGlvbiBMNSh4KXtyZXR1cm4gMzU8eD9zMjx4Py0xOkowKFwiXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXFwwXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDA0XHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXFwwXFwwXFwwXHUwMDA1XFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDA0XHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDA2XHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXCIseCtwMXwwKS0xfDA6LTF9ZnVuY3Rpb24gR2ooeCl7cmV0dXJuIG1yPHg/dHY8eD8tMTowOi0xfWZ1bmN0aW9uIGhuKHgpe3JldHVybiA2MDx4PzYxPHg/LTE6MDotMX1mdW5jdGlvbiBlbCh4KXtyZXR1cm4gNDc8eD96MTx4Py0xOkowKFwiXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXCIseCtlMXwwKS0xfDA6LTF9ZnVuY3Rpb24gTTUoeCl7cmV0dXJuIDQ3PHg/ejE8eD8tMTpKMChcIlx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMlxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwM1wiLHgrZTF8MCktMXwwOi0xfWZ1bmN0aW9uIFdqKHgpe3JldHVybiA2MDx4PzYyPHg/LTE6SjAocTgseCtFTHwwKS0xfDA6LTF9ZnVuY3Rpb24gcTUoeCl7cmV0dXJuIDY1PHg/OTg8eD8tMTpKMChxQSx4LTY2fDApLTF8MDotMX1mdW5jdGlvbiBYMih4KXtyZXR1cm4gMzU8eD9zMjx4Py0xOkowKFwiXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXCIseCtwMXwwKS0xfDA6LTF9ZnVuY3Rpb24gVTUoeCl7cmV0dXJuIHR2PHg/V2E8eD8tMTowOi0xfWZ1bmN0aW9uIFYxKHgpe3JldHVybiA0Nzx4PzU1PHg/LTE6MDotMX1mdW5jdGlvbiBCNSh4KXtyZXR1cm4gc3Q8eD96MTx4Py0xOjA6LTF9ZnVuY3Rpb24gWDUoeCl7cmV0dXJuIHoxPHg/Y2U8eD8tMTowOi0xfWZ1bmN0aW9uIFY2KHgpe3JldHVybiA5ODx4Pzk5PHg/LTE6MDotMX1mdW5jdGlvbiBTZSh4KXtyZXR1cm4gNDc8eD80ODx4Py0xOjA6LTF9ZnVuY3Rpb24gWTUoeCl7cmV0dXJuIDQ1PHg/ZmU8eD8tMTpKMChcIlx1MDAwMVxcMFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwM1xcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwM1wiLHgrSmF8MCktMXwwOi0xfWZ1bmN0aW9uIHo1KHgpe3JldHVybiA3ODx4P2NlPHg/LTE6SjAocUEseC03OXwwKS0xfDA6LTF9ZnVuY3Rpb24gRFUoeCl7cmV0dXJuIDQxPHg/NDI8eD8tMTowOi0xfWZ1bmN0aW9uIEZVKHgpe3JldHVybiAzNTx4P3MyPHg/LTE6SjAoXCJcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDNcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDNcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDRcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcIix4K3AxfDApLTF8MDotMX1mdW5jdGlvbiBLNSh4KXtyZXR1cm4gNDc8eD9mZTx4Py0xOkowKFwiXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXCIseCtlMXwwKS0xfDA6LTF9ZnVuY3Rpb24gbm8oeCl7cmV0dXJuIDM1PHg/czI8eD8tMTpKMChcIlx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwM1x1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFx1MDAwNFxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwM1x1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwNVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVwiLHgrcDF8MCktMXwwOi0xfWZ1bmN0aW9uIFJVKHgpe3JldHVybiA0MTx4PzYxPHg/LTE6SjAoXCJcdTAwMDFcXDBcXDBcXDBcXDBcdTAwMDJcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDNcIix4K2J3fDApLTF8MDotMX1mdW5jdGlvbiBMVSh4KXtyZXR1cm4gNDQ8eD80NTx4Py0xOjA6LTF9ZnVuY3Rpb24gTVUoeCl7cmV0dXJuIEJlPHg/dWk8eD8tMTowOi0xfWZ1bmN0aW9uIEo1KHgpe3JldHVybiBLMjx4P3N2PHg/LTE6MDotMX1mdW5jdGlvbiBWaih4KXtyZXR1cm4gOTk8eD95Mjx4Py0xOjA6LTF9ZnVuY3Rpb24gRzUoeCl7cmV0dXJuIDQ3PHg/ZzE8eD8tMTpKMChcIlx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMlxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVwiLHgrZTF8MCktMXwwOi0xfWZ1bmN0aW9uICQ2KHgpe3JldHVybiBUZTx4P21yPHg/LTE6MDotMX1mdW5jdGlvbiB0bCh4KXtyZXR1cm4gNDU8eD81Nzx4Py0xOkowKFwiXHUwMDAxXFwwXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXCIseCtKYXwwKS0xfDA6LTF9ZnVuY3Rpb24gcVUoeCl7cmV0dXJuIDM1PHg/czI8eD8tMTpKMChcIlx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMlx1MDAwMlx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVwiLHgrcDF8MCktMXwwOi0xfWZ1bmN0aW9uIGJ2KHgpe3JldHVybiA0Nzx4P3JuPHg/LTE6SjAoXCJcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDJcIix4K2UxfDApLTF8MDotMX1mdW5jdGlvbiBVVSh4KXtyZXR1cm4gMzU8eD9zMjx4Py0xOkowKFwiXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXFwwXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDA0XHUwMDA0XFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXHUwMDA1XHUwMDAxXHUwMDAxXHUwMDA2XHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFx4MDdcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXGJcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcdTAwMDVcdTAwMDFcdTAwMDFcdTAwMDZcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdFxceDA3XHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFxiXHUwMDAxXHUwMDAxXCIseCtwMXwwKS0xfDA6LTF9ZnVuY3Rpb24gQWUoeCl7cmV0dXJuIDk8eD8xMDx4Py0xOjA6LTF9ZnVuY3Rpb24gQlUoeCl7cmV0dXJuIDM1PHg/czI8eD8tMTpKMChcIlx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVwiLHgrcDF8MCktMXwwOi0xfWZ1bmN0aW9uIFhVKHgpe3JldHVybiA5Njx4Pzk3PHg/LTE6MDotMX1mdW5jdGlvbiBkcyh4KXtyZXR1cm4gMzU8eD9zMjx4Py0xOkowKFwiXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXFwwXFwwXFwwXHUwMDAzXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDA0XHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXCIseCtwMXwwKS0xfDA6LTF9ZnVuY3Rpb24gVzUoeCl7cmV0dXJuIDM1PHg/czI8eD8tMTpKMChcIlx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFxcMFxcMFxcMFx1MDAwM1xcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwNFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVwiLHgrcDF8MCktMXwwOi0xfWZ1bmN0aW9uIHVvKHgpe3JldHVybiA0Nzx4Pzk1PHg/LTE6SjAoXCJcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDJcIix4K2UxfDApLTF8MDotMX1mdW5jdGlvbiBZVSh4KXtyZXR1cm4gMzU8eD9zMjx4Py0xOkowKFwiXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXFwwXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXFwwXFwwXFwwXHUwMDA0XFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDA1XHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXCIseCtwMXwwKS0xfDA6LTF9ZnVuY3Rpb24gVHYoeCl7cmV0dXJuIHkyPHg/ZmU8eD8tMTowOi0xfWZ1bmN0aW9uIHpVKHgpe3JldHVybiA1ODx4PzU5PHg/LTE6MDotMX1mdW5jdGlvbiBLVSh4KXtyZXR1cm4gMzU8eD9zMjx4Py0xOkowKFwiXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXFwwXHUwMDAyXFwwXFwwXHUwMDAzXHUwMDA0XHUwMDA0XHUwMDA0XHUwMDA0XHUwMDA0XHUwMDA0XHUwMDA0XHUwMDA0XHUwMDA0XFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXCIseCtwMXwwKS0xfDA6LTF9ZnVuY3Rpb24gVjUoeCl7cmV0dXJuIDQxPHg/NDc8eD8tMTpKMChcIlx1MDAwMVxcMFxcMFxcMFxcMFx1MDAwMlwiLHgrYnd8MCktMXwwOi0xfWZ1bmN0aW9uICQ1KHgpe3JldHVybiAzNTx4P3MyPHg/LTE6SjAoXCJcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDJcdTAwMDJcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcdTAwMDNcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDRcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcIix4K3AxfDApLTF8MDotMX1mdW5jdGlvbiBKVSh4KXtyZXR1cm4gMzU8eD9zMjx4Py0xOkowKFwiXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXFwwXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDA0XHUwMDA0XFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDA1XHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXCIseCtwMXwwKS0xfDA6LTF9ZnVuY3Rpb24gR1UoeCl7cmV0dXJuIFAzPHg/emw8eD8tMTowOi0xfWZ1bmN0aW9uIFE1KHgpe3JldHVybiAzNTx4P3MyPHg/LTE6SjAoXCJcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcdTAwMDNcXDBcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDRcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcIix4K3AxfDApLTF8MDotMX1mdW5jdGlvbiB2ZSh4KXtyZXR1cm4gNDc8eD9mZTx4Py0xOkowKFwiXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAzXFwwXFwwXFwwXFwwXFwwXHUwMDAyXCIseCtlMXwwKS0xfDA6LTF9ZnVuY3Rpb24gSDUoeCl7cmV0dXJuIDQyPHg/NTc8eD8tMTpKMChcIlx1MDAwMVxcMFx1MDAwMVxcMFxcMFx1MDAwMlx1MDAwM1x1MDAwM1x1MDAwM1x1MDAwM1x1MDAwM1x1MDAwM1x1MDAwM1x1MDAwM1x1MDAwM1wiLHgrQV98MCktMXwwOi0xfWZ1bmN0aW9uIFdVKHgpe3JldHVybiA0Nzx4P2cxPHg/LTE6SjAoXCJcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcdTAwMDJcXDBcXDBcXDBcXDBcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcIix4K2UxfDApLTF8MDotMX1mdW5jdGlvbiBpbyh4KXtyZXR1cm4gNDU8eD85NTx4Py0xOkowKFwiXHUwMDAxXFwwXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAzXCIseCtKYXwwKS0xfDA6LTF9ZnVuY3Rpb24gZm8oeCl7cmV0dXJuIFdhPHg/eTY8eD8tMTowOi0xfWZ1bmN0aW9uIFZVKHgpe3JldHVybiA0Njx4PzQ3PHg/LTE6MDotMX1mdW5jdGlvbiAkVSh4KXtyZXR1cm4gNTc8eD81ODx4Py0xOjA6LTF9ZnVuY3Rpb24gQmIwKHgpe3JldHVybiBKbzx4P3BJPHg/LTE6dkk8eD9ycDx4P3VBPHg/c2I8eD9rdzx4PzE6NjpaRTx4P1VfPHg/bHk8eD8xOjY6VEk8eD8xOjY6bGI8eD9qVDx4PzE6NjpLZzx4PzE6NjpscDx4P2FwPHg/aHA8eD9pcDx4P1lrPHg/Tms8eD9pdzx4PzE6NjpQOTx4PzE6NjpoZDx4P095PHg/MTo2OkhJPHg/MTo2OnNrPHg/eG08eD9lQTx4PzE6NjpKazx4PzE6NjpCazx4P3RUPHg/MTo2OnF3PHg/MTo2Ok1wPHg/S2Q8eD9XNDx4P1RfPHg/MTo2OndiPHg/MTo2OmNwPHg/dm08eD8xOjY6QlM8eD8xOjY6cG08eD91cDx4P1prPHg/MTo2OlRwPHg/MTo2Ok9rPHg/Yjg8eD8xOjY6dms8eD8xOjY6bWc8eD8kNDx4P2xtPHg/SWI8eD9Hazx4PzE6NjpXODx4PzE6NjpWcDx4PyQ5PHg/MTo2Old3PHg/MTo2Om9wPHg/RTg8eD9FbTx4PzE6NjpJbTx4PzE6NjpmTjx4P0xtPHg/MTo2OmdtPHg/MTo2Omk4PHg/S2s8eD9oODx4P3NwPHg/MTo2OlBtPHg/MTo2Ok00PHg/WF88eD8xOjY6aUE8eD8xOjY6am08eD9hTjx4P1E4PHg/MTo2Olg0PHg/MTo2Ok44PHg/aEU8eD8xOjY6dzk8eD8xOjY6Y1A8eD9xZzx4P1Y5PHg/VHk8eD9vZzx4P1BkPHg/MTo2Om1iPHg/MTo2OmxQPHg/eE48eD8xOjY6TGQ8eD8xOjY6dXc8eD9aeTx4P3VJPHg/MTo2OmVOPHg/MTo2Omp5PHg/dmQ8eD8xOjY6bFQ8eD8xOjY6U1Q8eD9FOTx4P0ZQPHg/ZUk8eD8xOjY6aEk8eD8xOjY6Vzk8eD9xNDx4PzE6NjpBUDx4PzE6NjpmZDx4P29OPHg/Rmc8eD8xOjY6MTo2Ok9tPHg/Rms8eD9ZNDx4P1lwPHg/VWI8eD8xOjY6QkU8eD8xOjY6bnA8eD9Sdzx4PzE6NjpZYjx4PzE6Njp6azx4P3ZwPHg/cE48eD8xOjY6aXk8eD8xOjY6R3A8eD9MOTx4PzE6Njp5Xzx4PzE6NjprbTx4P2pwPHg/TWs8eD9kXzx4PzE6NjptOTx4PzE6NjpsTjx4P05iPHg/MTo2OnB3PHg/MTo2OmhrPHg/cUU8eD9rRTx4PzE6Njp1azx4PzE6NjpjODx4P055PHg/MTo2OmNOPHg/MTo2Onh5PHg/Ujg8eD9hXzx4P3FtPHg/Rm08eD9fcDx4P1g4PHg/RGc8eD8xOjY6RlM8eD8xOjY6VGI8eD9hRTx4PzE6NjpIUDx4PzE6NjpwODx4P3drPHg/bXc8eD8xOjY6SlA8eD8xOjY6VTg8eD9Razx4PzE6Njpsdzx4PzE6NjpLcDx4P0xJPHg/TlQ8eD9UZzx4PzE6NjpqYjx4PzE6NjpSSTx4P3BrPHg/MTo2OnlTPHg/MTo2OmNFPHg/VjQ8eD9sUzx4PzE6NjpxVDx4PzE6NjpWZDx4P01fPHg/MTo2OlFnPHg/MTo2OmVnPHg/eF88eD9qOTx4P0VTPHg/bWQ8eD8xOjY6WTk8eD8xOjY6Tzk8eD9Wdzx4PzE6Njp5OTx4PzE6NjpuZDx4P3N3PHg/YlQ8eD8xOjY6RVA8eD8xOjY6d2c8eD9ZRTx4PzE6NjpSXzx4PzE6NjpNZzx4P3dUPHg/RUU8eD9iZDx4PzE6NjpJRTx4PzE6NjpLUzx4P01kPHg/MTo2Om9FPHg/MTo2OmVTPHg/UHA8eD9LNDx4PzE6NjpCZzx4PzE6NjpJOTx4P1RTPHg/MTo2Olh3PHg/MTo2OlpkPHg/UkE8eD9Qdzx4P1hJPHg/TVA8eD9Gdzx4PzE6NjpkUDx4PzE6NjpXXzx4P0ZFPHg/MTo2OmdUPHg/MTo2Ol9nPHg/WWc8eD9yeTx4PzE6NjpDUzx4PzE6NjpKXzx4P3VkPHg/MTo2Okp3PHg/MTo2OlVTPHg/SXI8eD96eTx4P1hBPHg/MTo2OlFFPHg/MTo2OnVTPHg/R1A8eD8xOjY6dEE8eD8xOjY6QlA8eD9hUzx4P1RUPHg/MTo2OmxfPHg/MTo2OndJPHg/T0E8eD8xOjY6Q0E8eD8xOjY6d208eD9MODx4P0NUPHg/UVA8eD9MUDx4PzE6NjpwQTx4PzE6Njp1VDx4P25fPHg/MTo2Om9TPHg/MTo2OklQPHg/cWs8eD9WRTx4PzE6NjpzUzx4PzE6Njpydzx4P3ZFPHg/MTo2OlFBPHg/MTo2OkE5PHg/R0U8eD9Dazx4P3JQPHg/MTo2Ok5nPHg/MTo2OnVfPHg/T3c8eD8xOjY6UGI8eD8xOjY6eVQ8eD91bTx4P0dTPHg/MTo2Ond3PHg/MTo2Okh5PHg/U0U8eD8xOjY6SWs8eD8xOjY6T1A8eD9yZzx4P19QPHg/djk8eD9pUzx4P05BPHg/dl88eD8xOjY6UXA8eD8xOjY6bnc8eD9ZUzx4PzE6NjpjYjx4PzE6NjpWazx4P1FfPHg/bWs8eD8xOjY6ZW08eD8xOjY6ZlA8eD9jOTx4PzE6NjpfYjx4PzE6NjpGZDx4P0lfPHg/a2I8eD9jSTx4PzE6NjpZUDx4PzE6NjpWUDx4P3JFPHg/MTo2OkdJPHg/MTo2Ol95PHg/emQ8eD9KQTx4PzE6NjpNdzx4PzE6NjpyQTx4P1lUPHg/MTo2Ok9iPHg/MTo2OlBnPHg/TUk8eD9ESTx4P3p3PHg/Q3k8eD8xOjY6UUk8eD8xOjY6Ykk8eD9uYjx4PzE6NjpDYjx4PzE6NjpSVDx4P2ZiPHg/b0E8eD8xOjY6RmI8eD8xOjY6THc8eD9Uazx4PzE6NjpDZDx4PzE6NjpuVDx4P19FPHg/eGI8eD9YRTx4PzE6NjpieTx4PzE6NjpybTx4P3lrPHg/MTo2OmZTPHg/MTo2OmRwPHg/dVA8eD9mOTx4PzE6NjpRdzx4PzE6NjpIOTx4P3FfPHg/MTo2OmQ5PHg/MTo2Oks4PHg/RFA8eD9fODx4P1FUPHg/eGc8eD9vUDx4PzE6Njp0cDx4PzE6NjpxYjx4P0diPHg/MTo2OkFBPHg/MTo2OnNtPHg/bjg8eD9QUzx4PzE6NjpnSTx4PzE6NjpaSTx4P3hUPHg/MTo2OiR4PHg/MTo2Ono4PHg/cTk8eD9KNDx4P1piPHg/MTo2OkM5PHg/MTo2Okk4PHg/SVM8eD8xOjY6b2Q8eD8xOjY6WTg8eD9XcDx4P0d5PHg/MTo2OlVrPHg/MTo2OiRFPHg/aFM8eD8xOjY6VEU8eD8xOjY6a1M8eD9DXzx4P0o4PHg/dmc8eD9MeTx4PzE6NjpFazx4PzE6NjprOTx4P2liPHg/MTo2OkR5PHg/MTo2Ok9fPHg/dXk8eD95Yjx4PzE6NjpmbTx4PzE6NjpOUzx4P3JfPHg/MTo2OkpwPHg/MTo2OmRBPHg/Vnk8eD9kZDx4P3hwPHg/MTo2Okc5PHg/MTo2Omw5PHg/TWI8eD8xOjY6RWI8eD8xOjY6aG08eD9Qcjx4P2RiPHg/MTo2OnlJPHg/MTo2OnhJPHg/d188eD8xOjY6VUU8eD8xOjY6Vmc8eD9MYjx4P1R3PHg/V2s8eD9MQTx4P1dTPHg/Tkk8eD9fSTx4P29fPHg/MTo2OmRUPHg/MTo2OlVJPHg/T1Q8eD8xOjY6Wjg8eD8xOjY6S2I8eD9mRTx4P1NQPHg/MTo2OnROPHg/MTo2OkhfPHg/JEk8eD8xOjY6c048eD8xOjY6RkE8eD9zeTx4P2xJPHg/QmQ8eD8xOjY6UEE8eD8xOjY6Q1A8eD9oTjx4PzE6NjpmeTx4PzE6Njp6Zzx4P0JBPHg/SUk8eD8xOjY6eWQ8eD8xOjY6eVA8eD9SYjx4PzE6NjppTjx4PzE6NjprUDx4P2E4PHg/ZFM8eD9iUDx4PyRiPHg/MTo2OmNkPHg/MTo2OmV3PHg/Umc8eD8xOjY6SGQ8eD8xOjY6RGQ8eD94azx4P1E5PHg/MTo2OlBQPHg/MTo2OmhQPHg/QW08eD8xOjY6bGc8eD8xOjY6ZnA8eD9mZzx4P3ZOPHg/YXc8eD8xOjY6QUU8eD8xOjY6VFA8eD9iZzx4PzE6NjptUDx4PzE6NjpvYjx4P2NBPHg/UF88eD8xOjY6T2Q8eD8xOjY6Y3k8eD9KZDx4PzE6NjpteTx4PzE6NjpYUzx4P25OPHg/a3k8eD9UbTx4P2xkPHg/bzg8eD8xOjY6c1Q8eD8xOjY6bGs8eD9zZzx4PzE6NjpFcDx4PzE6NjpVVDx4P01FPHg/d1M8eD8xOjY6ZVQ8eD8xOjY6czk8eD9zXzx4PzE6NjpySTx4PzE6NjppRTx4P0FnPHg/ekk8eD92UDx4PzE6NjpOXzx4PzE6NjppOTx4P01UPHg/MTo2OnFkPHg/MTo2Ond5PHg/bUU8eD9pXzx4PzE6NjpnUzx4PzE6Njp2Uzx4P2c5PHg/MTo2OlNnPHg/MTo2OkdBPHg/cVM8eD9XYjx4P2FQPHg/QlQ8eD8xOjY6S3k8eD8xOjY6aVQ8eD9hZDx4PzE6NjpveTx4PzE6NjpwOTx4P2RJPHg/QUk8eD8xOjY6TFM8eD8xOjY6bkU8eD9KVDx4PzE6NjoxOmpTPHg/Ym08eD9yYjx4PzY6WUk8eD8xOjY6REU8eD9ORTx4PzE6NjpyUzx4PzE6NjpvOTx4P1lBPHg/blM8eD8xOjY6WGc8eD8xOjY6QmI8eD8xOjY6Um08eD9kRTx4P0hiPHg/Vkk8eD9rTjx4PzY6JGc8eD9DZzx4PzE6NjpCdzx4PzE6Njp2VDx4P3dQPHg/VEE8eD8xOjY6YkE8eD8xOjY6Z3k8eD9uUDx4PzE6NjpwVDx4PzE6NjpTbTx4P0xwPHg/cXA8eD94dzx4PzE6NjpfUzx4PzE6NjpsODx4P1JQPHg/MTo2OmpFPHg/MTo2Ol9UPHg/RDg8eD9BZDx4PzE6NjpVQTx4PzE6NjpaOTx4P2dQPHg/MTo2OiR5PHg/MTo2OnpQPHg/Z0E8eD9hQTx4P0p5PHg/c0U8eD8xOjY6MTo2OlJFPHg/NjpBODx4P1ZTPHg/MTo2OlQ5PHg/MTo2OklkPHg/YW08eD9Mbzx4P2Z2PHg/MToyOng5PHg/MTo2OnpFPHg/RVQ8eD8xOjY6RFQ8eD8xOjY6U1M8eD90STx4P2ZUPHg/MTo2OmRnPHg/MTo2Olh5PHg/Wnc8eD8xOjY6cFM8eD8xOjY6U3c8eD9XUDx4P0xrPHg/U3A8eD95bTx4P1B5PHg/MTo2OiRfPHg/MTo2OkM4PHg/b2s8eD8xOjY6d0E8eD8xOjY6Ql88eD9INDx4P0J5PHg/MTo2OkV3PHg/MTo2Ok1BPHg/Y2s8eD8xOjY6a2Q8eD8xOjY6Q0k8eD9JeTx4P3dkPHg/V0E8eD8xOjY6emI8eD8xOjY6X188eD9jdzx4PzE6NjpLdzx4PzE6NjplYjx4P0hBPHg/dTk8eD8xOjY6QXk8eD8xOjY6UWI8eD8xOjY6RUE8eD9Qazx4P3o0PHg/Tnc8eD8xOjY6djg8eD82OkN3PHg/MTo2OmdfPHg/Rjg8eD9qSTx4PzE6NjpzUDx4PzE6NjpBdzx4P1NkPHg/MTo2OkFUPHg/MTo2OnhQPHg/cVA8eD9LXzx4P1pTPHg/MTo2OjE6anc8eD82OmFUPHg/MTo2OkRBPHg/WGQ8eD8xOjY6aVA8eD9lUDx4PzE6Njp2eTx4PzE6NjpaZzx4P0FrPHg/SlM8eD9RZDx4P3RiPHg/S1A8eD9WXzx4P3VFPHg/MTo2OlM5PHg/MTo2OmtnPHg/U188eD8xOjY6T0U8eD8xOjY6UlM8eD94QTx4P3c4PHg/MTo2OjE6NjpDRTx4P2h3PHg/TDI8eD9YYjx4PzE6Njp6QTx4PzE6NjpaNDx4P2hfPHg/MTo2OkpJPHg/MTo2OnlnPHg/cHk8eD8xOjY6WWQ8eD9YOTx4PzE6NjpzODx4PzE6NjpSeTx4P1hUPHg/RV88eD9aQTx4P3RQPHg/MTo2Ok9nPHg/MTo2OnlBPHg/TVM8eD8xOjY6aWQ8eD8xOjY6bkk8eD9lazx4P2JfPHg/MTo2OmFrPHg/MTo2Okh3PHg/YWI8eD8xOjY6TGc8eD8xOjY6Z2I8eD9Hdzx4P05QPHg/a1Q8eD8xOjY6RWc8eD8xOjY6R1Q8eD9ZeTx4PzE6Njp0eTx4PzE6NjpUZDx4JiZhOTx4PzE6NjpReTx4P0pnPHg/dDk8eD9VUDx4PzY6Z0U8eD9oYjx4PzE6NjokUzx4PzE6NjpwRTx4P2tfPHg/YWc8eD8xOjY6MTo2OnNkPHg/SXc8eCYmVkE8eD8xOjY6JGQ8eD96OTx4P1VkPHg/MTo2OjE6b3c8eD82OjE6SGc8eD9JZzx4P2twPHg/NjpZdzx4PzE6Njp1Tjx4P21TPHg/X2Q8eD8xOjY6VWc8eD8xOjY6bjk8eD8xOjY6U2I8eD9keTx4P05kPHg/MTo2OnBiPHg/MTo2OiRQPHg/Qjk8eD82OlV5PHg/MTo2OkFTPHg/TFQ8eD8xOjY6bVQ8eD8xOjY6S1Q8eD9RUzx4P1dJPHg/Q208eD9FSTx4P25tPHg/SUE8eD8xOjY6ZV88eD8xOjY6dWc8eD8xOjY6clQ8eD90ODx4P0V5PHg/MTo2OjE6NjpqXzx4P1NJPHg/bU48eD9GSTx4PzE6NjoxOjY6dGc8eD9kbTx4P3BfPHg/MTo2Om55PHg/MTo2OmhBPHg/MTo2OlA4PHg/QjQ8eD9Ibzx4P0xFPHg/Njokbzx4PzE6MjpfbTx4P1NBPHg/MTo2Om9JPHg/MTo2OlpwPHg/dTg8eD9qUDx4PzE6NjpaVDx4PzE6NjpSNDx4P3Z3PHg/MTo2OnJOPHg/MTo2OmZfPHg/RF88eD9TODx4P0lUPHg/MTo2OmV5PHg/MTo2OmJwPHg/dEU8eD8xOjY6ZGs8eD8xOjY6aGc8eD9QVDx4P2lnPHg/MTo2OiQ4PHg/MTo2OlQ4PHg/RjQ8eD8xOjY6a0k8eD8xOjY6Y208eD9QRTx4PyR3PHg/cjk8eD9GVDx4P1dkPHg/MTo2Omh5PHg/MTo2OndFPHg/MTo2OiRBPHg/R188eD82OjE6NjpiYjx4P1pfPHg/c0E8eD8kcDx4PzE6NjpNOTx4PzE6Njp6Uzx4P3lFPHg/MTo2OjE6NjpmQTx4P3R3PHg/aW08eD9EcDx4P1VwPHg/MTo2Om1tPHg/MTo2OkZfPHg/RGs8eD8xOjY6MTptcDx4P0hTPHg/NjpOcDx4PzE6Njp4Uzx4P1ZUPHg/MTo2OnRtPHg/MTo2OkRTPHg/cXk8eD9jZzx4P2o4PHg/MTo2OkR3PHg/MTo2OmpkPHg/Z2s8eD8xOjY6JGs8eD8xOjY6S288eD9Zbzx4P2V2PHg/MToyOldvPHg/MToyOmwxPHg/dDE8eD8xOjM6VW88eD8xOjI6SjAoYFx1MDAwMVx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwM1x1MDAwM1x1MDAwNVx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwM1x1MDAwMlx1MDAwNlx1MDAwMlxceDA3XFxiXHRcdTAwMDZcblxcdlxcZlxcclx1MDAwRVx1MDAwRlx1MDAxMFx1MDAxMVx1MDAxMlx1MDAxM1x1MDAxM1x1MDAxM1x1MDAxM1x1MDAxM1x1MDAxM1x1MDAxM1x1MDAxM1x1MDAxM1x1MDAxNFx1MDAxNVx1MDAxNlx1MDAxN1x1MDAxOFx1MDAxOVx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMUFcXHgxQlx1MDAxQ1x1MDAwMlxceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAxRFxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMUVcdTAwMUYgXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAzXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcdTAwMDJcXHgwN1x1MDAwMlxceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XHUwMDAyXFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwM1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcdTAwMDJcXHgwN1x1MDAwMlxceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyYCx4KzF8MCktMXwwfWZ1bmN0aW9uIGNyKHgpe3JldHVybiAzNTx4P3MyPHg/LTE6SjAoXCJcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcIix4K3AxfDApLTF8MDotMX1mdW5jdGlvbiBRVSh4KXtyZXR1cm4gMzQ8eD9zMjx4Py0xOkowKFwiXHUwMDAxXHUwMDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXCIseC0zNXwwKS0xfDA6LTF9ZnVuY3Rpb24gWGIwKHgpe3JldHVybiBKbzx4P3BJPHg/LTE6dkk8eD9ycDx4P3VBPHg/c2I8eD9rdzx4PzE6NjpaRTx4P1VfPHg/bHk8eD8xOjY6VEk8eD8xOjY6bGI8eD9qVDx4PzE6NjpLZzx4PzE6NjpscDx4P2FwPHg/aHA8eD9pcDx4P1lrPHg/Tms8eD9pdzx4PzE6NjpQOTx4PzE6NjpoZDx4P095PHg/MTo2OkhJPHg/MTo2OnNrPHg/eG08eD9lQTx4PzE6NjpKazx4PzE6NjpCazx4P3RUPHg/MTo2OnF3PHg/MTo2Ok1wPHg/S2Q8eD9XNDx4P1RfPHg/MTo2OndiPHg/MTo2OmNwPHg/dm08eD8xOjY6QlM8eD8xOjY6cG08eD91cDx4P1prPHg/MTo2OlRwPHg/MTo2Ok9rPHg/Yjg8eD8xOjY6dms8eD8xOjY6bWc8eD8kNDx4P2xtPHg/SWI8eD9Hazx4PzE6NjpXODx4PzE6NjpWcDx4PyQ5PHg/MTo2Old3PHg/MTo2Om9wPHg/RTg8eD9FbTx4PzE6NjpJbTx4PzE6NjpmTjx4P0xtPHg/MTo2OmdtPHg/MTo2Omk4PHg/S2s8eD9oODx4P3NwPHg/MTo2OlBtPHg/MTo2Ok00PHg/WF88eD8xOjY6aUE8eD8xOjY6am08eD9hTjx4P1E4PHg/MTo2Olg0PHg/MTo2Ok44PHg/aEU8eD8xOjY6dzk8eD8xOjY6Y1A8eD9xZzx4P1Y5PHg/VHk8eD9vZzx4P1BkPHg/MTo2Om1iPHg/MTo2OmxQPHg/eE48eD8xOjY6TGQ8eD8xOjY6dXc8eD9aeTx4P3VJPHg/MTo2OmVOPHg/MTo2Omp5PHg/dmQ8eD8xOjY6bFQ8eD8xOjY6U1Q8eD9FOTx4P0ZQPHg/ZUk8eD8xOjY6aEk8eD8xOjY6Vzk8eD9xNDx4PzE6NjpBUDx4PzE6NjpmZDx4P29OPHg/Rmc8eD8xOjY6MTo2Ok9tPHg/Rms8eD9ZNDx4P1lwPHg/VWI8eD8xOjY6QkU8eD8xOjY6bnA8eD9Sdzx4PzE6NjpZYjx4PzE6Njp6azx4P3ZwPHg/cE48eD8xOjY6aXk8eD8xOjY6R3A8eD9MOTx4PzE6Njp5Xzx4PzE6NjprbTx4P2pwPHg/TWs8eD9kXzx4PzE6NjptOTx4PzE6NjpsTjx4P05iPHg/MTo2OnB3PHg/MTo2OmhrPHg/cUU8eD9rRTx4PzE6Njp1azx4PzE6NjpjODx4P055PHg/MTo2OmNOPHg/MTo2Onh5PHg/Ujg8eD9hXzx4P3FtPHg/Rm08eD9fcDx4P1g4PHg/RGc8eD8xOjY6RlM8eD8xOjY6VGI8eD9hRTx4PzE6NjpIUDx4PzE6NjpwODx4P3drPHg/bXc8eD8xOjY6SlA8eD8xOjY6VTg8eD9Razx4PzE6Njpsdzx4PzE6NjpLcDx4P0xJPHg/TlQ8eD9UZzx4PzE6NjpqYjx4PzE6NjpSSTx4P3BrPHg/MTo2OnlTPHg/MTo2OmNFPHg/VjQ8eD9sUzx4PzE6NjpxVDx4PzE6NjpWZDx4P01fPHg/MTo2OlFnPHg/MTo2OmVnPHg/eF88eD9qOTx4P0VTPHg/bWQ8eD8xOjY6WTk8eD8xOjY6Tzk8eD9Wdzx4PzE6Njp5OTx4PzE6NjpuZDx4P3N3PHg/YlQ8eD8xOjY6RVA8eD8xOjY6d2c8eD9ZRTx4PzE6NjpSXzx4PzE6NjpNZzx4P3dUPHg/RUU8eD9iZDx4PzE6NjpJRTx4PzE6NjpLUzx4P01kPHg/MTo2Om9FPHg/MTo2OmVTPHg/UHA8eD9LNDx4PzE6NjpCZzx4PzE6NjpJOTx4P1RTPHg/MTo2Olh3PHg/MTo2OlpkPHg/UkE8eD9Qdzx4P1hJPHg/TVA8eD9Gdzx4PzE6NjpkUDx4PzE6NjpXXzx4P0ZFPHg/MTo2OmdUPHg/MTo2Ol9nPHg/WWc8eD9yeTx4PzE6NjpDUzx4PzE6NjpKXzx4P3VkPHg/MTo2Okp3PHg/MTo2OlVTPHg/SXI8eD96eTx4P1hBPHg/MTo2OlFFPHg/MTo2OnVTPHg/R1A8eD8xOjY6dEE8eD8xOjY6QlA8eD9hUzx4P1RUPHg/MTo2OmxfPHg/MTo2OndJPHg/T0E8eD8xOjY6Q0E8eD8xOjY6d208eD9MODx4P0NUPHg/UVA8eD9MUDx4PzE6NjpwQTx4PzE6Njp1VDx4P25fPHg/MTo2Om9TPHg/MTo2OklQPHg/cWs8eD9WRTx4PzE6NjpzUzx4PzE6Njpydzx4P3ZFPHg/MTo2OlFBPHg/MTo2OkE5PHg/R0U8eD9Dazx4P3JQPHg/MTo2Ok5nPHg/MTo2OnVfPHg/T3c8eD8xOjY6UGI8eD8xOjY6eVQ8eD91bTx4P0dTPHg/MTo2Ond3PHg/MTo2Okh5PHg/U0U8eD8xOjY6SWs8eD8xOjY6T1A8eD9yZzx4P19QPHg/djk8eD9pUzx4P05BPHg/dl88eD8xOjY6UXA8eD8xOjY6bnc8eD9ZUzx4PzE6NjpjYjx4PzE6NjpWazx4P1FfPHg/bWs8eD8xOjY6ZW08eD8xOjY6ZlA8eD9jOTx4PzE6NjpfYjx4PzE6NjpGZDx4P0lfPHg/a2I8eD9jSTx4PzE6NjpZUDx4PzE6NjpWUDx4P3JFPHg/MTo2OkdJPHg/MTo2Ol95PHg/emQ8eD9KQTx4PzE6NjpNdzx4PzE6NjpyQTx4P1lUPHg/MTo2Ok9iPHg/MTo2OlBnPHg/TUk8eD9ESTx4P3p3PHg/Q3k8eD8xOjY6UUk8eD8xOjY6Ykk8eD9uYjx4PzE6NjpDYjx4PzE6NjpSVDx4P2ZiPHg/b0E8eD8xOjY6RmI8eD8xOjY6THc8eD9Uazx4PzE6NjpDZDx4PzE6NjpuVDx4P19FPHg/eGI8eD9YRTx4PzE6NjpieTx4PzE6NjpybTx4P3lrPHg/MTo2OmZTPHg/MTo2OmRwPHg/dVA8eD9mOTx4PzE6NjpRdzx4PzE6NjpIOTx4P3FfPHg/MTo2OmQ5PHg/MTo2Oks4PHg/RFA8eD9fODx4P1FUPHg/eGc8eD9vUDx4PzE6Njp0cDx4PzE6NjpxYjx4P0diPHg/MTo2OkFBPHg/MTo2OnNtPHg/bjg8eD9QUzx4PzE6NjpnSTx4PzE6NjpaSTx4P3hUPHg/MTo2OiR4PHg/MTo2Ono4PHg/cTk8eD9KNDx4P1piPHg/MTo2OkM5PHg/MTo2Okk4PHg/SVM8eD8xOjY6b2Q8eD8xOjY6WTg8eD9XcDx4P0d5PHg/MTo2OlVrPHg/MTo2OiRFPHg/aFM8eD8xOjY6VEU8eD8xOjY6a1M8eD9DXzx4P0o4PHg/dmc8eD9MeTx4PzE6NjpFazx4PzE6NjprOTx4P2liPHg/MTo2OkR5PHg/MTo2Ok9fPHg/dXk8eD95Yjx4PzE6NjpmbTx4PzE6NjpOUzx4P3JfPHg/MTo2OkpwPHg/MTo2OmRBPHg/Vnk8eD9kZDx4P3hwPHg/MTo2Okc5PHg/MTo2Omw5PHg/TWI8eD8xOjY6RWI8eD8xOjY6aG08eD9Qcjx4P2RiPHg/MTo2OnlJPHg/MTo2OnhJPHg/d188eD8xOjY6VUU8eD8xOjY6Vmc8eD9MYjx4P1R3PHg/V2s8eD9MQTx4P1dTPHg/Tkk8eD9fSTx4P29fPHg/MTo2OmRUPHg/MTo2OlVJPHg/T1Q8eD8xOjY6Wjg8eD8xOjY6S2I8eD9mRTx4P1NQPHg/MTo2OnROPHg/MTo2OkhfPHg/JEk8eD8xOjY6c048eD8xOjY6RkE8eD9zeTx4P2xJPHg/QmQ8eD8xOjY6UEE8eD8xOjY6Q1A8eD9oTjx4PzE6NjpmeTx4PzE6Njp6Zzx4P0JBPHg/SUk8eD8xOjY6eWQ8eD8xOjY6eVA8eD9SYjx4PzE6NjppTjx4PzE6NjprUDx4P2E4PHg/ZFM8eD9iUDx4PyRiPHg/MTo2OmNkPHg/MTo2OmV3PHg/Umc8eD8xOjY6SGQ8eD8xOjY6RGQ8eD94azx4P1E5PHg/MTo2OlBQPHg/MTo2OmhQPHg/QW08eD8xOjY6bGc8eD8xOjY6ZnA8eD9mZzx4P3ZOPHg/YXc8eD8xOjY6QUU8eD8xOjY6VFA8eD9iZzx4PzE6NjptUDx4PzE6NjpvYjx4P2NBPHg/UF88eD8xOjY6T2Q8eD8xOjY6Y3k8eD9KZDx4PzE6NjpteTx4PzE6NjpYUzx4P25OPHg/a3k8eD9UbTx4P2xkPHg/bzg8eD8xOjY6c1Q8eD8xOjY6bGs8eD9zZzx4PzE6NjpFcDx4PzE6NjpVVDx4P01FPHg/d1M8eD8xOjY6ZVQ8eD8xOjY6czk8eD9zXzx4PzE6NjpySTx4PzE6NjppRTx4P0FnPHg/ekk8eD92UDx4PzE6NjpOXzx4PzE6NjppOTx4P01UPHg/MTo2OnFkPHg/MTo2Ond5PHg/bUU8eD9pXzx4PzE6NjpnUzx4PzE6Njp2Uzx4P2c5PHg/MTo2OlNnPHg/MTo2OkdBPHg/cVM8eD9XYjx4P2FQPHg/QlQ8eD8xOjY6S3k8eD8xOjY6aVQ8eD9hZDx4PzE6NjpveTx4PzE6NjpwOTx4P2RJPHg/QUk8eD8xOjY6TFM8eD8xOjY6bkU8eD9KVDx4PzE6NjoxOmpTPHg/Ym08eD9yYjx4PzY6WUk8eD8xOjY6REU8eD9ORTx4PzE6NjpyUzx4PzE6NjpvOTx4P1lBPHg/blM8eD8xOjY6WGc8eD8xOjY6QmI8eD8xOjY6Um08eD9kRTx4P0hiPHg/Vkk8eD9rTjx4PzY6JGc8eD9DZzx4PzE6NjpCdzx4PzE6Njp2VDx4P3dQPHg/VEE8eD8xOjY6YkE8eD8xOjY6Z3k8eD9uUDx4PzE6NjpwVDx4PzE6NjpTbTx4P0xwPHg/cXA8eD94dzx4PzE6NjpfUzx4PzE6NjpsODx4P1JQPHg/MTo2OmpFPHg/MTo2Ol9UPHg/RDg8eD9BZDx4PzE6NjpVQTx4PzE6NjpaOTx4P2dQPHg/MTo2OiR5PHg/MTo2OnpQPHg/Z0E8eD9hQTx4P0p5PHg/c0U8eD8xOjY6MTo2OlJFPHg/NjpBODx4P1ZTPHg/MTo2OlQ5PHg/MTo2OklkPHg/YW08eD9Mbzx4P2Z2PHg/MToyOng5PHg/MTo2OnpFPHg/RVQ8eD8xOjY6RFQ8eD8xOjY6U1M8eD90STx4P2ZUPHg/MTo2OmRnPHg/MTo2Olh5PHg/Wnc8eD8xOjY6cFM8eD8xOjY6U3c8eD9XUDx4P0xrPHg/U3A8eD95bTx4P1B5PHg/MTo2OiRfPHg/MTo2OkM4PHg/b2s8eD8xOjY6d0E8eD8xOjY6Ql88eD9INDx4P0J5PHg/MTo2OkV3PHg/MTo2Ok1BPHg/Y2s8eD8xOjY6a2Q8eD8xOjY6Q0k8eD9JeTx4P3dkPHg/V0E8eD8xOjY6emI8eD8xOjY6X188eD9jdzx4PzE6NjpLdzx4PzE6NjplYjx4P0hBPHg/dTk8eD8xOjY6QXk8eD8xOjY6UWI8eD8xOjY6RUE8eD9Qazx4P3o0PHg/Tnc8eD8xOjY6djg8eD82OkN3PHg/MTo2OmdfPHg/Rjg8eD9qSTx4PzE6NjpzUDx4PzE6NjpBdzx4P1NkPHg/MTo2OkFUPHg/MTo2OnhQPHg/cVA8eD9LXzx4P1pTPHg/MTo2OjE6anc8eD82OmFUPHg/MTo2OkRBPHg/WGQ8eD8xOjY6aVA8eD9lUDx4PzE6Njp2eTx4PzE6NjpaZzx4P0FrPHg/SlM8eD9RZDx4P3RiPHg/S1A8eD9WXzx4P3VFPHg/MTo2OlM5PHg/MTo2OmtnPHg/U188eD8xOjY6T0U8eD8xOjY6UlM8eD94QTx4P3c4PHg/MTo2OjE6NjpDRTx4P2h3PHg/TDI8eD9YYjx4PzE6Njp6QTx4PzE6NjpaNDx4P2hfPHg/MTo2OkpJPHg/MTo2OnlnPHg/cHk8eD8xOjY6WWQ8eD9YOTx4PzE6NjpzODx4PzE6NjpSeTx4P1hUPHg/RV88eD9aQTx4P3RQPHg/MTo2Ok9nPHg/MTo2OnlBPHg/TVM8eD8xOjY6aWQ8eD8xOjY6bkk8eD9lazx4P2JfPHg/MTo2OmFrPHg/MTo2Okh3PHg/YWI8eD8xOjY6TGc8eD8xOjY6Z2I8eD9Hdzx4P05QPHg/a1Q8eD8xOjY6RWc8eD8xOjY6R1Q8eD9ZeTx4PzE6Njp0eTx4PzE6NjpUZDx4JiZhOTx4PzE6NjpReTx4P0pnPHg/dDk8eD9VUDx4PzY6Z0U8eD9oYjx4PzE6NjokUzx4PzE6NjpwRTx4P2tfPHg/YWc8eD8xOjY6MTo2OnNkPHg/SXc8eCYmVkE8eD8xOjY6JGQ8eD96OTx4P1VkPHg/MTo2OjE6b3c8eD82OjE6SGc8eD9JZzx4P2twPHg/NjpZdzx4PzE6Njp1Tjx4P21TPHg/X2Q8eD8xOjY6VWc8eD8xOjY6bjk8eD8xOjY6U2I8eD9keTx4P05kPHg/MTo2OnBiPHg/MTo2OiRQPHg/Qjk8eD82OlV5PHg/MTo2OkFTPHg/TFQ8eD8xOjY6bVQ8eD8xOjY6S1Q8eD9RUzx4P1dJPHg/Q208eD9FSTx4P25tPHg/SUE8eD8xOjY6ZV88eD8xOjY6dWc8eD8xOjY6clQ8eD90ODx4P0V5PHg/MTo2OjE6NjpqXzx4P1NJPHg/bU48eD9GSTx4PzE6NjoxOjY6dGc8eD9kbTx4P3BfPHg/MTo2Om55PHg/MTo2OmhBPHg/MTo2OlA4PHg/QjQ8eD9Ibzx4P0xFPHg/Njokbzx4PzE6MjpfbTx4P1NBPHg/MTo2Om9JPHg/MTo2OlpwPHg/dTg8eD9qUDx4PzE6NjpaVDx4PzE6NjpSNDx4P3Z3PHg/MTo2OnJOPHg/MTo2OmZfPHg/RF88eD9TODx4P0lUPHg/MTo2OmV5PHg/MTo2OmJwPHg/dEU8eD8xOjY6ZGs8eD8xOjY6aGc8eD9QVDx4P2lnPHg/MTo2OiQ4PHg/MTo2OlQ4PHg/RjQ8eD8xOjY6a0k8eD8xOjY6Y208eD9QRTx4PyR3PHg/cjk8eD9GVDx4P1dkPHg/MTo2Omh5PHg/MTo2OndFPHg/MTo2OiRBPHg/R188eD82OjE6NjpiYjx4P1pfPHg/c0E8eD8kcDx4PzE6NjpNOTx4PzE6Njp6Uzx4P3lFPHg/MTo2OjE6NjpmQTx4P3R3PHg/aW08eD9EcDx4P1VwPHg/MTo2Om1tPHg/MTo2OkZfPHg/RGs8eD8xOjY6MTptcDx4P0hTPHg/NjpOcDx4PzE6Njp4Uzx4P1ZUPHg/MTo2OnRtPHg/MTo2OkRTPHg/cXk8eD9jZzx4P2o4PHg/MTo2OkR3PHg/MTo2OmpkPHg/Z2s8eD8xOjY6JGs8eD8xOjY6S288eD9Zbzx4P2V2PHg/MToyOldvPHg/MToyOmwxPHg/dDE8eD8xOjM6VW88eD8xOjI6SjAoYFx1MDAwMVx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwM1x1MDAwNFx1MDAwM1x1MDAwM1x1MDAwNVx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwM1x1MDAwMlx1MDAwNlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDA2XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFxiXHRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcblx1MDAwMlxcdlxcZlxcclx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMEVcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMEZcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDNcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1x1MDAwMlxceDA3XHUwMDAyXFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcdTAwMDJcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1x1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAzXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1x1MDAwMlxceDA3XHUwMDAyXFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlxceDA3XHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcXHgwN1xceDA3XHUwMDAyXFx4MDdcXHgwN1xceDA3XFx4MDdcXHgwN1xceDA3XFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJgLHgrMXwwKS0xfDB9ZnVuY3Rpb24gSFUoeCl7Zm9yKDs7KXtvcih4KTt2YXIgcj15KHgpLGU9czI8cj8xOkowKFwiXHUwMDAxXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAzXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAyXHUwMDA0XHUwMDAyXHUwMDAyXHUwMDAzXHUwMDAyXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXHUwMDAzXCIscisxfDApLTF8MDtpZigzPGU+Pj4wKXZhciB0PXcoeCk7ZWxzZSBzd2l0Y2goZSl7Y2FzZSAwOnZhciB0PTE7YnJlYWs7Y2FzZSAxOnZhciB0PTI7YnJlYWs7Y2FzZSAyOnZhciB0PTA7YnJlYWs7ZGVmYXVsdDppZihXKHgsMiksZm8oeSh4KSk9PT0wKXt2YXIgdT1idih5KHgpKTtpZih1PT09MCl2YXIgdD1Ucih5KHgpKT09PTAmJlRyKHkoeCkpPT09MCYmVHIoeSh4KSk9PT0wPzA6dyh4KTtlbHNlIGlmKHU9PT0xJiZUcih5KHgpKT09PTApe2Zvcig7Oyl7dmFyIGk9X3YoeSh4KSk7aWYoaSE9PTApYnJlYWt9dmFyIHQ9aT09PTE/MDp3KHgpfWVsc2UgdmFyIHQ9dyh4KX1lbHNlIHZhciB0PXcoeCl9aWYoMjx0Pj4+MCl0aHJvdyBXMChbMCxOcixidDBdLDEpO3N3aXRjaCh0KXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnJldHVybjtkZWZhdWx0OmlmKCFYaihhVSh4KSkpe3ZVKHgsMSk7cmV0dXJufX19fWZ1bmN0aW9uIFo1KHgscil7dmFyIGU9ci14WzNdWzJdfDA7cmV0dXJuWzAsRVUoeCksZV19ZnVuY3Rpb24gUTYoeCxyLGUpe3ZhciB0PVo1KHgsZSksdT1aNSh4LHIpO3JldHVyblswLHhbMV0sdSx0XX1mdW5jdGlvbiBBMSh4LHIpe3JldHVybiBaNSh4LHJbNl0pfWZ1bmN0aW9uIFBlKHgscil7cmV0dXJuIFo1KHgsclszXSl9ZnVuY3Rpb24genIoeCxyKXtyZXR1cm4gUTYoeCxyWzZdLHJbM10pfWZ1bmN0aW9uIFpVKHgscil7eDppZih0eXBlb2YgciE9XCJudW1iZXJcIil7c3dpdGNoKHJbMF0pe2Nhc2UgMjp2YXIgZT1yWzFdWzFdO2JyZWFrO2Nhc2UgMzpyZXR1cm4gclsxXVsxXTtjYXNlIDQ6dmFyIGU9clsxXTticmVhaztjYXNlIDU6cmV0dXJuIHJbMV07Y2FzZSA4OnZhciBlPXJbMl07YnJlYWs7Y2FzZSA5OnJldHVybiByWzFdO2Nhc2UgMTA6cmV0dXJuIHJbMV07ZGVmYXVsdDpicmVhayB4fXJldHVybiBlfXJldHVybiB6cih4LHhbMl0pfWZ1bmN0aW9uIFAxKHgscixlKXtyZXR1cm5bMCx4WzFdLHhbMl0seFszXSx4WzRdLHhbNV0sWzAsWzAscixlXSx4WzZdXSx4WzddXX1mdW5jdGlvbiB4Qih4LHIsZSl7cmV0dXJuIFAxKHgscixbMjYsUDUoZSldKX1mdW5jdGlvbiAkaih4LHIsZSx0KXtyZXR1cm4gUDEoeCxyLFsyNyxlLHRdKX1mdW5jdGlvbiBtdCh4LHIpe3JldHVybiBQMSh4LHIsWGMwKX1mdW5jdGlvbiAkMSh4LHIpe3ZhciBlPXJbM10sdD1bMCxFVSh4KSsxfDAsZV07cmV0dXJuWzAseFsxXSx4WzJdLHQseFs0XSx4WzVdLHhbNl0seFs3XV19ZnVuY3Rpb24gcXQoeCxyLGUsdCx1KXt2YXIgaT1bMCx4WzFdLHIsZV0sYz1HMih0KSx2PXU/MDoxO3JldHVyblswLGksWzAsdixjLHhbN11bM11bMV08aVsyXVsxXT8xOjBdXX1mdW5jdGlvbiBVdCh4LHIpe3ZhciBlPUc2KHIpO3N3aXRjaCh4KXtjYXNlIDE6dHJ5e3ZhciB0PVFtKG92KHF4KE1jMCxlKSkpLHU9dH1jYXRjaChtKXt2YXIgaT1VMihtKTtpZihpWzFdIT09dm4pdGhyb3cgVzAoaSwwKTt2YXIgdT1UeChxeChxYzAsZSkpfWJyZWFrO2Nhc2UgMDpjYXNlIDM6dHJ5e3ZhciBjPVFtKG92KGUpKSx1PWN9Y2F0Y2gobSl7dmFyIHY9VTIobSk7aWYodlsxXSE9PXZuKXRocm93IFcwKHYsMCk7dmFyIHU9VHgocXgoVWMwLGUpKX1icmVhaztkZWZhdWx0OnRyeXt2YXIgYT1qTihlKSx1PWF9Y2F0Y2gobSl7dmFyIGw9VTIobSk7aWYobFsxXSE9PXZuKXRocm93IFcwKGwsMCk7dmFyIHU9VHgocXgoQmMwLGUpKX19cmV0dXJuWzEyLHgsdSxlXX1mdW5jdGlvbiBCdCh4LHIpe3ZhciBlPUc2KHIpLHQ9TngoZSk7eDp7aWYodCE9PTAmJnoxPT09cTIoZSx0LTF8MCkpe3ZhciB1PVQxKGUsMCx0LTF8MCk7YnJlYWsgeH12YXIgdT1lfXJldHVyblsxMyx4LHJxKHUpLGVdfWZ1bmN0aW9uIHJCKHgscixlKXtyZXR1cm4gWGooZSk/eDpQMSh4LHIsMjgpfWZ1bmN0aW9uIGVCKHgscixlLHQsdSl7dmFyIGk9UTYoeCxyK2VbNl18MCxyK2VbM118MCk7cmV0dXJuWzAsaSxKNihlLHQsKHc1KGUpLXR8MCktdXwwKV19ZnVuY3Rpb24gdEIoeCxyKXtmb3IodmFyIGU9eFsyXVs2XSx0PVswLHIsci5sZW5ndGgtMSxzVSxjVSxmVSxpVSx1VSxuVSx0VSxlVSxyVSx4VV0sdT0kcihyLmxlbmd0aC0xKSxpPXg7Oyl7b3IodCk7dmFyIGM9eSh0KSx2PTkyPGM/MTpKMChcIlx1MDAwMVx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwM1wiLGMrMXwwKS0xfDA7aWYoMjx2Pj4+MCl2YXIgYT13KHQpO2Vsc2Ugc3dpdGNoKHYpe2Nhc2UgMDp2YXIgYT0yO2JyZWFrO2Nhc2UgMTpmb3IoOzspe1codCwzKTt2YXIgbD15KHQpLG09LTE8bD85MTxsPzkyPGw/MDotMTowOi0xO2lmKG0hPT0wKWJyZWFrfXZhciBhPXcodCk7YnJlYWs7ZGVmYXVsdDppZihXKHQsMyksZm8oeSh0KSk9PT0wKXt2YXIgaD1idih5KHQpKTtpZihoPT09MCl2YXIgYT1Ucih5KHQpKT09PTAmJlRyKHkodCkpPT09MCYmVHIoeSh0KSk9PT0wPzA6dyh0KTtlbHNlIGlmKGg9PT0xJiZUcih5KHQpKT09PTApe2Zvcig7Oyl7dmFyIFQ9X3YoeSh0KSk7aWYoVCE9PTApYnJlYWt9dmFyIGE9VD09PTE/MTp3KHQpfWVsc2UgdmFyIGE9dyh0KX1lbHNlIHZhciBhPXcodCl9aWYoMzxhPj4+MClyZXR1cm4gVHgoRmMwKTtzd2l0Y2goYSl7Y2FzZSAwOnZhciBiPWVCKGksZSx0LDIsMCksTj1iWzFdLGo9dnQocXgoUmMwLGJbMl0pKSxJPTA8PWo/MTowLEY9SSYmKGo8PTU1Mjk1PzE6MCk7aWYoRil2YXIgej1GO2Vsc2UgdmFyIE09NTczNDQ8PWo/MTowLHo9TSYmKGo8PXJrPzE6MCk7dmFyIEI9ej9yQihpLE4saik6UDEoaSxOLDI4KTtwcyh1LGopO3ZhciBpPUI7YnJlYWs7Y2FzZSAxOnZhciBLPWVCKGksZSx0LDMsMSksbjA9S1sxXSwkPXZ0KHF4KExjMCxLWzJdKSksSD1yQihpLG4wLCQpO3BzKHUsJCk7dmFyIGk9SDticmVhaztjYXNlIDI6cmV0dXJuWzAsaSxHMih1KV07ZGVmYXVsdDpfNSh0LHUpfX19ZnVuY3Rpb24gRDIoeCxyLGUpe3ZhciB0PW10KHgsenIoeCxyKSk7cmV0dXJuIHhsKHIpLGUodCxyKX1mdW5jdGlvbiBFdih4LHIsZSl7Zm9yKHZhciB0PXg7Oyl7b3IoZSk7dmFyIHU9eShlKSxpPS0xPHU/NDI8dT90MTx1PzA6bDE8dT8xOjA6SjAoXCJcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDJcdTAwMDFcdTAwMDFcdTAwMDNcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDFcdTAwMDRcIix1KS0xfDA6LTE7aWYoMzxpPj4+MCl2YXIgYz13KGUpO2Vsc2Ugc3dpdGNoKGkpe2Nhc2UgMDpmb3IoOzspe1coZSwzKTt2YXIgdj15KGUpLGE9LTE8dj80MTx2PzQyPHY/bDE8dj90MTx2PzA6LTE6MDotMTpKMChcIlx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFx1MDAwMVx1MDAwMVxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVwiLHYpLTF8MDotMTtpZihhIT09MClicmVha312YXIgYz13KGUpO2JyZWFrO2Nhc2UgMTp2YXIgYz0wO2JyZWFrO2Nhc2UgMjpXKGUsMCk7dmFyIGM9QWUoeShlKSk9PT0wPzA6dyhlKTticmVhaztkZWZhdWx0OlcoZSwzKTt2YXIgbD15KGUpLG09NDQ8bD80NzxsPy0xOkowKFwiXHUwMDAxXFwwXHUwMDAyXCIsbCtuQXwwKS0xfDA6LTEsYz1tPT09MD9WVSh5KGUpKT09PTA/Mjp3KGUpOm09PT0xPzE6dyhlKX1pZigzPGM+Pj4wKXt2YXIgaD1tdCh0LHpyKHQsZSkpO3JldHVyblswLGgsUGUoaCxlKV19c3dpdGNoKGMpe2Nhc2UgMDp2YXIgVD0kMSh0LGUpO181KGUscik7dmFyIHQ9VDticmVhaztjYXNlIDE6dmFyIGI9dFs0XT8kaih0LHpyKHQsZSksU3QwLEV0MCk6dDtyZXR1cm5bMCxiLFBlKGIsZSldO2Nhc2UgMjppZih0WzRdKXJldHVyblswLHQsUGUodCxlKV07aXIocixBdDApO2JyZWFrO2RlZmF1bHQ6XzUoZSxyKX19fWZ1bmN0aW9uIG5sKHgscixlKXtmb3IoOzspe29yKGUpO3ZhciB0PXkoZSksdT0xMzx0P3QxPHQ/MTpsMTx0PzI6MTpKMChcIlx1MDAwMVx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwM1x1MDAwMlx1MDAwMlx1MDAwNFwiLHQrMXwwKS0xfDA7aWYoMzx1Pj4+MCl2YXIgaT13KGUpO2Vsc2Ugc3dpdGNoKHUpe2Nhc2UgMDp2YXIgaT0wO2JyZWFrO2Nhc2UgMTpmb3IoOzspe1coZSwyKTt2YXIgYz15KGUpLHY9LTE8Yz8xMjxjPzEzPGM/bDE8Yz90MTxjPzA6LTE6MDotMTpKMChcIlx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFx1MDAwMVx1MDAwMVwiLGMpLTF8MDotMTtpZih2IT09MClicmVha312YXIgaT13KGUpO2JyZWFrO2Nhc2UgMjp2YXIgaT0xO2JyZWFrO2RlZmF1bHQ6VyhlLDEpO3ZhciBpPUFlKHkoZSkpPT09MD8xOncoZSl9aWYoMjxpPj4+MClyZXR1cm4gVHgoUHQwKTtzd2l0Y2goaSl7Y2FzZSAwOnJldHVyblswLHgsUGUoeCxlKV07Y2FzZSAxOnZhciBhPVBlKHgsZSksbD1hWzJdLG09YVsxXSxoPSQxKHgsZSk7cmV0dXJuWzAsaCxbMCxtLGwtdzUoZSl8MF1dO2RlZmF1bHQ6XzUoZSxyKX19fWZ1bmN0aW9uIG5CKHgscil7ZnVuY3Rpb24gZShuMCl7cmV0dXJuIFcobjAsMyksVjEoeShuMCkpPT09MD8yOncobjApfW9yKHIpO3ZhciB0PXkociksdT12Zjx0P3QxPHQ/MTpsMTx0PzI6MTpKMChgXHUwMDAxXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAzXHUwMDAyXHUwMDAyXHUwMDA0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDA1XHUwMDA2XHUwMDA2XHUwMDA2XHUwMDA2XHUwMDA2XHUwMDA2XHUwMDA2XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXFx4MDdcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcXGJcdTAwMDJcdTAwMDJcdTAwMDJcdFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlxuXHUwMDAyXHUwMDAyXHUwMDAyXFx2XHUwMDAyXFxmXFxyXHUwMDBFXHUwMDAyXHUwMDBGYCx0KzF8MCktMXwwO2lmKDE0PHU+Pj4wKXZhciBpPXcocik7ZWxzZSBzd2l0Y2godSl7Y2FzZSAwOnZhciBpPTA7YnJlYWs7Y2FzZSAxOnZhciBpPTE2O2JyZWFrO2Nhc2UgMjp2YXIgaT0xNTticmVhaztjYXNlIDM6VyhyLDE1KTt2YXIgaT1BZSh5KHIpKT09PTA/MTU6dyhyKTticmVhaztjYXNlIDQ6VyhyLDQpO3ZhciBpPVYxKHkocikpPT09MD9lKHIpOncocik7YnJlYWs7Y2FzZSA1OlcociwxMSk7dmFyIGk9VjEoeShyKSk9PT0wP2Uocik6dyhyKTticmVhaztjYXNlIDY6dmFyIGk9MDticmVhaztjYXNlIDc6dmFyIGk9NTticmVhaztjYXNlIDg6dmFyIGk9NjticmVhaztjYXNlIDk6dmFyIGk9NzticmVhaztjYXNlIDEwOnZhciBpPTg7YnJlYWs7Y2FzZSAxMTp2YXIgaT05O2JyZWFrO2Nhc2UgMTI6VyhyLDE0KTt2YXIgYz1idih5KHIpKTtpZihjPT09MCl2YXIgaT1Ucih5KHIpKT09PTAmJlRyKHkocikpPT09MCYmVHIoeShyKSk9PT0wPzEyOncocik7ZWxzZSBpZihjPT09MSYmVHIoeShyKSk9PT0wKXtmb3IoOzspe3ZhciB2PV92KHkocikpO2lmKHYhPT0wKWJyZWFrfXZhciBpPXY9PT0xPzEzOncocil9ZWxzZSB2YXIgaT13KHIpO2JyZWFrO2Nhc2UgMTM6dmFyIGk9MTA7YnJlYWs7ZGVmYXVsdDpXKHIsMTQpO3ZhciBpPVRyKHkocikpPT09MCYmVHIoeShyKSk9PT0wPzE6dyhyKX1pZigxNjxpPj4+MClyZXR1cm4gVHgod2MwKTtzd2l0Y2goaSl7Y2FzZSAwOnZhciBhPUR4KHIpO3JldHVyblswLHgsYSxsMihyKSwwXTtjYXNlIDE6dmFyIGw9RHgocik7cmV0dXJuWzAseCxsLFswLHZ0KHF4KF9jMCxsKSldLDBdO2Nhc2UgMjp2YXIgbT1EeChyKSxoPXZ0KHF4KGJjMCxtKSk7cmV0dXJuIEhsPD1oP1swLHgsbSxbMCxoPj4+M3wwLDQ4KyhoJjcpfDBdLDFdOlswLHgsbSxbMCxoXSwxXTtjYXNlIDM6dmFyIFQ9RHgocik7cmV0dXJuWzAseCxULFswLHZ0KHF4KFRjMCxUKSldLDFdO2Nhc2UgNDpyZXR1cm5bMCx4LEVjMCxbMCwwXSwwXTtjYXNlIDU6cmV0dXJuWzAseCxTYzAsWzAsOF0sMF07Y2FzZSA2OnJldHVyblswLHgsQWMwLFswLDEyXSwwXTtjYXNlIDc6cmV0dXJuWzAseCxQYzAsWzAsMTBdLDBdO2Nhc2UgODpyZXR1cm5bMCx4LEljMCxbMCwxM10sMF07Y2FzZSA5OnJldHVyblswLHgsTmMwLFswLDldLDBdO2Nhc2UgMTA6cmV0dXJuWzAseCxqYzAsWzAsMTFdLDBdO2Nhc2UgMTE6dmFyIGI9RHgocik7cmV0dXJuWzAseCxiLFswLHZ0KHF4KENjMCxiKSldLDFdO2Nhc2UgMTI6dmFyIE49RHgocik7cmV0dXJuWzAseCxOLFswLHZ0KHF4KE9jMCxUMShOLDEsTngoTiktMXwwKSkpXSwwXTtjYXNlIDEzOnZhciBqPUR4KHIpLEk9dnQocXgoRGMwLFQxKGosMixOeChqKS0zfDApKSksRj1yazxJP210KHgsenIoeCxyKSk6eDtyZXR1cm5bMCxGLGosWzAsSV0sMF07Y2FzZSAxNDp2YXIgTT1EeChyKSx6PWwyKHIpO3JldHVyblswLG10KHgsenIoeCxyKSksTSx6LDBdO2Nhc2UgMTU6dmFyIEI9RHgocik7cmV0dXJuWzAsJDEoeCxyKSxCLFswXSwwXTtkZWZhdWx0OnZhciBLPUR4KHIpO3JldHVyblswLHgsSyxsMihyKSwwXX19ZnVuY3Rpb24gdUIoeCxyLGUsdCx1LGkpe2Zvcih2YXIgYz14LHY9dTs7KXtvcihpKTt2YXIgYT15KGkpLGw9OTI8YT8xOkowKFwiXHUwMDAxXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAzXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDA0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDA0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDA1XCIsYSsxfDApLTF8MDtpZig0PGw+Pj4wKXZhciBtPXcoaSk7ZWxzZSBzd2l0Y2gobCl7Y2FzZSAwOnZhciBtPTM7YnJlYWs7Y2FzZSAxOmZvcig7Oyl7VyhpLDQpO3ZhciBoPXkoaSksVD0tMTxoPzkxPGg/OTI8aD8wOi0xOkowKFwiXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXCIsaCktMXwwOi0xO2lmKFQhPT0wKWJyZWFrfXZhciBtPXcoaSk7YnJlYWs7Y2FzZSAyOnZhciBtPTI7YnJlYWs7Y2FzZSAzOnZhciBtPTA7YnJlYWs7ZGVmYXVsdDp2YXIgbT0xfWlmKDQ8bT4+PjApcmV0dXJuIFR4KEl0MCk7c3dpdGNoKG0pe2Nhc2UgMDp2YXIgYj1EeChpKTtpZihpcih0LGIpLGJyKHIsYikpcmV0dXJuWzAsYyxQZShjLGkpLHZdO2lyKGUsYik7YnJlYWs7Y2FzZSAxOmlyKHQsTnQwKTt2YXIgTj1uQihjLGkpLGo9Tls0XSxJPU5bM10sRj1OWzJdLE09TlsxXSx6PWp8fHY7aXIodCxGKSx4cShmdW5jdGlvbihnMCl7cmV0dXJuIHBzKGUsZzApfSxJKTt2YXIgYz1NLHY9ejticmVhaztjYXNlIDI6dmFyIEI9RHgoaSk7aXIodCxCKTt2YXIgSz0kMShtdChjLHpyKGMsaSkpLGkpO3JldHVybiBpcihlLEIpLFswLEssUGUoSyxpKSx2XTtjYXNlIDM6dmFyIG4wPUR4KGkpO2lyKHQsbjApO3ZhciAkPW10KGMsenIoYyxpKSk7cmV0dXJuIGlyKGUsbjApLFswLCQsUGUoJCxpKSx2XTtkZWZhdWx0OnZhciBIPWlbNl0sdDA9aVszXS1IfDAsYzA9UzIodDAqNHwwKSxyMD1LNihpWzFdLEgsdDAsYzApO3RqKHQsYzAsMCxyMCksdGooZSxjMCwwLHIwKX19fWZ1bmN0aW9uIGlCKHgscixlLHQpe2Zvcih2YXIgdT14Ozspe29yKHQpO3ZhciBpPXkodCksYz05NjxpPzE6SjAoXCJcdTAwMDFcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDNcdTAwMDJcdTAwMDJcdTAwMDRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDVcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDZcdTAwMDJcdTAwMDJcdTAwMDJcXHgwN1wiLGkrMXwwKS0xfDA7aWYoNjxjPj4+MCl2YXIgdj13KHQpO2Vsc2Ugc3dpdGNoKGMpe2Nhc2UgMDp2YXIgdj0wO2JyZWFrO2Nhc2UgMTpmb3IoOzspe1codCw2KTt2YXIgYT15KHQpLGw9LTE8YT85NTxhPzk2PGE/MDotMTpKMChcIlx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFx1MDAwMVx1MDAwMVxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFx1MDAwMVx1MDAwMVx1MDAwMVwiLGEpLTF8MDotMTtpZihsIT09MClicmVha312YXIgdj13KHQpO2JyZWFrO2Nhc2UgMjp2YXIgdj01O2JyZWFrO2Nhc2UgMzpXKHQsNSk7dmFyIHY9QWUoeSh0KSk9PT0wPzQ6dyh0KTticmVhaztjYXNlIDQ6Vyh0LDYpO3ZhciBtPXkodCksaD1zMjxtP3JuPG0/LTE6MDotMSx2PWg9PT0wPzI6dyh0KTticmVhaztjYXNlIDU6dmFyIHY9MzticmVhaztkZWZhdWx0OnZhciB2PTF9aWYoNjx2Pj4+MClyZXR1cm4gVHgoanQwKTtzd2l0Y2godil7Y2FzZSAwOnJldHVyblswLG10KHUsenIodSx0KSksMV07Y2FzZSAxOnJldHVyblswLHUsMV07Y2FzZSAyOnJldHVyblswLHUsMF07Y2FzZSAzOmx0KGUsOTIpO3ZhciBUPW5CKHUsdCksYj1UWzNdLE49VFsxXTtpcihlLFRbMl0pLHhxKGZ1bmN0aW9uKEYpe3JldHVybiBwcyhyLEYpfSxiKTt2YXIgdT1OO2JyZWFrO2Nhc2UgNDppcihlLEN0MCksaXIocixPdDApO3ZhciB1PSQxKHUsdCk7YnJlYWs7Y2FzZSA1OmlyKGUsRHgodCkpLGx0KHIsMTApO3ZhciB1PSQxKHUsdCk7YnJlYWs7ZGVmYXVsdDp2YXIgaj1EeCh0KTtpcihlLGopLGlyKHIsail9fX1mdW5jdGlvbiBZYjAoeCxyLGUpe2Zvcih2YXIgdD14Ozspe29yKGUpO3ZhciB1PXkoZSksaT05Mjx1P3QxPHU/MTpsMTx1PzI6MTpKMChcIlx1MDAwMVx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwM1x1MDAwMlx1MDAwMlx1MDAwNFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwNVx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwNlxceDA3XCIsdSsxfDApLTF8MDtpZig2PGk+Pj4wKXZhciBjPXcoZSk7ZWxzZSBzd2l0Y2goaSl7Y2FzZSAwOnZhciBjPTA7YnJlYWs7Y2FzZSAxOmZvcig7Oyl7VyhlLDcpO3ZhciB2PXkoZSksYT0tMTx2PzkwPHY/OTI8dj9sMTx2P3QxPHY/MDotMTowOi0xOkowKFwiXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXHUwMDAxXHUwMDAxXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXFwwXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXCIsdiktMXwwOi0xO2lmKGEhPT0wKWJyZWFrfXZhciBjPXcoZSk7YnJlYWs7Y2FzZSAyOnZhciBjPTY7YnJlYWs7Y2FzZSAzOlcoZSw2KTt2YXIgYz1BZSh5KGUpKT09PTA/Njp3KGUpO2JyZWFrO2Nhc2UgNDppZihXKGUsNCksT1UoeShlKSk9PT0wKXtmb3IoO1coZSwzKSxPVSh5KGUpKT09PTA7KTt2YXIgYz13KGUpfWVsc2UgdmFyIGM9dyhlKTticmVhaztjYXNlIDU6dmFyIGM9NTticmVhaztkZWZhdWx0OlcoZSw3KTt2YXIgbD15KGUpLG09LTE8bD8xMzxsP3QxPGw/MDpsMTxsPzE6MDpKMChcIlx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMlx1MDAwMVx1MDAwMVx1MDAwM1wiLGwpLTF8MDotMTtpZigyPG0+Pj4wKXZhciBjPXcoZSk7ZWxzZSBzd2l0Y2gobSl7Y2FzZSAwOnZhciBjPTI7YnJlYWs7Y2FzZSAxOnZhciBjPTE7YnJlYWs7ZGVmYXVsdDpXKGUsMSk7dmFyIGM9QWUoeShlKSk9PT0wPzE6dyhlKX19aWYoNzxjPj4+MClyZXR1cm4gVHgoUnQwKTtzd2l0Y2goYyl7Y2FzZSAwOnJldHVyblswLFAxKHQsenIodCxlKSxzdCksTHQwXTtjYXNlIDE6cmV0dXJuWzAsJDEoUDEodCx6cih0LGUpLHN0KSxlKSxNdDBdO2Nhc2UgMjppcihyLER4KGUpKTticmVhaztjYXNlIDM6dmFyIGg9RHgoZSk7cmV0dXJuWzAsdCxUMShoLDEsTngoaCktMXwwKV07Y2FzZSA0OnJldHVyblswLHQscXQwXTtjYXNlIDU6bHQociw5MSk7eDp7cjp7ZTp7dDp7bjpmb3IoOzspe29yKGUpO3ZhciBUPXkoZSksYj05MzxUP3QxPFQ/MTpsMTxUPzI6MTpKMChcIlx1MDAwMVx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwM1x1MDAwMlx1MDAwMlx1MDAwNFx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwNVx1MDAwNlwiLFQrMXwwKS0xfDA7aWYoNTxiPj4+MCl2YXIgTj13KGUpO2Vsc2Ugc3dpdGNoKGIpe2Nhc2UgMDp2YXIgTj0wO2JyZWFrO2Nhc2UgMTpmb3IoOzspe1coZSw1KTt2YXIgaj15KGUpLEk9LTE8aj85MTxqPzkzPGo/bDE8aj90MTxqPzA6LTE6MDotMTpKMChcIlx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFx1MDAwMVx1MDAwMVxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVwiLGopLTF8MDotMTtpZihJIT09MClicmVha312YXIgTj13KGUpO2JyZWFrO2Nhc2UgMjp2YXIgTj00O2JyZWFrO2Nhc2UgMzpXKGUsNCk7dmFyIE49QWUoeShlKSk9PT0wPzQ6dyhlKTticmVhaztjYXNlIDQ6VyhlLDUpO3ZhciBGPXkoZSksTT05MTxGPzkzPEY/LTE6SjAocTgsRi05MnwwKS0xfDA6LTEsTj1NPT09MD8xOk09PT0xPzI6dyhlKTticmVhaztkZWZhdWx0OnZhciBOPTN9aWYoNTxOPj4+MClicmVhayByO3N3aXRjaChOKXtjYXNlIDA6YnJlYWsgZTtjYXNlIDE6aXIocixGdDApO2JyZWFrO2Nhc2UgMjpsdChyLDkyKSxsdChyLDkzKTticmVhaztjYXNlIDM6YnJlYWsgdDtjYXNlIDQ6YnJlYWsgbjtkZWZhdWx0OmlyKHIsRHgoZSkpfX12YXIgej0kMShQMSh0LHpyKHQsZSksc3QpLGUpO2JyZWFrIHh9bHQociw5Myk7dmFyIHo9dDticmVhayB4fXZhciB6PXQ7YnJlYWsgeH12YXIgej1UeChEdDApfXZhciB0PXo7YnJlYWs7Y2FzZSA2OnJldHVyblswLCQxKFAxKHQsenIodCxlKSxzdCksZSksVXQwXTtkZWZhdWx0OmlyKHIsRHgoZSkpfX19ZnVuY3Rpb24gZkIoeCl7dmFyIHI9ZngoeCxcImlleGNsXCIpO2lmKDA8PXIpe2lmKDA+PXIpcmV0dXJuIGVjMDt2YXIgZT1meCh4LFwicHJpbWVcIik7aWYoMDw9ZSl7aWYoMD49ZSlyZXR1cm4gcmMwO3ZhciB0PWZ4KHgsXCJzdXAxXCIpO2lmKDA8PXQpe2lmKDA+PXQpcmV0dXJuIHhjMDt2YXIgdT1meCh4LFwidWFyclwiKTtpZigwPD11KXtpZigwPj11KXJldHVybiBaZjA7dmFyIGk9ZngoeCxcInhpXCIpO2lmKDA8PWkpe2lmKDA+PWkpcmV0dXJuIEhmMDtpZighUCh4LFwieWFjdXRlXCIpKXJldHVybiBRZjA7aWYoIVAoeCxcInllblwiKSlyZXR1cm4gJGYwO2lmKCFQKHgsXCJ5dW1sXCIpKXJldHVybiBWZjA7aWYoIVAoeCxcInpldGFcIikpcmV0dXJuIFdmMDtpZighUCh4LFwiendqXCIpKXJldHVybiBHZjA7aWYoIVAoeCxcInp3bmpcIikpcmV0dXJuIEpmMH1lbHNle2lmKCFQKHgsXCJ1Y2lyY1wiKSlyZXR1cm4gS2YwO2lmKCFQKHgsXCJ1Z3JhdmVcIikpcmV0dXJuIHpmMDtpZighUCh4LFwidW1sXCIpKXJldHVybiBZZjA7aWYoIVAoeCxcInVwc2loXCIpKXJldHVybiBYZjA7aWYoIVAoeCxcInVwc2lsb25cIikpcmV0dXJuIEJmMDtpZighUCh4LFwidXVtbFwiKSlyZXR1cm4gVWYwO2lmKCFQKHgsXCJ3ZWllcnBcIikpcmV0dXJuIHFmMH19ZWxzZXt2YXIgYz1meCh4LFwidGhldGFzeW1cIik7aWYoMDw9Yyl7aWYoMD49YylyZXR1cm4gTWYwO2lmKCFQKHgsXCJ0aGluc3BcIikpcmV0dXJuIExmMDtpZighUCh4LFwidGhvcm5cIikpcmV0dXJuIFJmMDtpZighUCh4LFwidGlsZGVcIikpcmV0dXJuIEZmMDtpZighUCh4LFwidGltZXNcIikpcmV0dXJuIERmMDtpZighUCh4LFwidHJhZGVcIikpcmV0dXJuIE9mMDtpZighUCh4LFwidUFyclwiKSlyZXR1cm4gQ2YwO2lmKCFQKHgsXCJ1YWN1dGVcIikpcmV0dXJuIGpmMH1lbHNle2lmKCFQKHgsXCJzdXAyXCIpKXJldHVybiBOZjA7aWYoIVAoeCxcInN1cDNcIikpcmV0dXJuIElmMDtpZighUCh4LFwic3VwZVwiKSlyZXR1cm4gUGYwO2lmKCFQKHgsXCJzemxpZ1wiKSlyZXR1cm4gQWYwO2lmKCFQKHgsXCJ0YXVcIikpcmV0dXJuIFNmMDtpZighUCh4LFwidGhlcmU0XCIpKXJldHVybiBFZjA7aWYoIVAoeCxcInRoZXRhXCIpKXJldHVybiBUZjB9fX1lbHNle3ZhciB2PWZ4KHgsXCJybG1cIik7aWYoMDw9dil7aWYoMD49dilyZXR1cm4gYmYwO3ZhciBhPWZ4KHgsXCJzaWdtYVwiKTtpZigwPD1hKXtpZigwPj1hKXJldHVybiBfZjA7aWYoIVAoeCxcInNpZ21hZlwiKSlyZXR1cm4gd2YwO2lmKCFQKHgsXCJzaW1cIikpcmV0dXJuIGdmMDtpZighUCh4LFwic3BhZGVzXCIpKXJldHVybiB5ZjA7aWYoIVAoeCxcInN1YlwiKSlyZXR1cm4gZGYwO2lmKCFQKHgsXCJzdWJlXCIpKXJldHVybiBoZjA7aWYoIVAoeCxcInN1bVwiKSlyZXR1cm4gbWYwO2lmKCFQKHgsXCJzdXBcIikpcmV0dXJuIGtmMH1lbHNle2lmKCFQKHgsXCJyc2FxdW9cIikpcmV0dXJuIHBmMDtpZighUCh4LFwicnNxdW9cIikpcmV0dXJuIGxmMDtpZighUCh4LFwic2JxdW9cIikpcmV0dXJuIHZmMDtpZighUCh4LFwic2Nhcm9uXCIpKXJldHVybiBvZjA7aWYoIVAoeCxcInNkb3RcIikpcmV0dXJuIGFmMDtpZighUCh4LFwic2VjdFwiKSlyZXR1cm4gc2YwO2lmKCFQKHgsXCJzaHlcIikpcmV0dXJuIGNmMH19ZWxzZXt2YXIgbD1meCh4LFwicmFxdW9cIik7aWYoMDw9bCl7aWYoMD49bClyZXR1cm4gZmYwO2lmKCFQKHgsXCJyYXJyXCIpKXJldHVybiBpZjA7aWYoIVAoeCxcInJjZWlsXCIpKXJldHVybiB1ZjA7aWYoIVAoeCxcInJkcXVvXCIpKXJldHVybiBuZjA7aWYoIVAoeCxcInJlYWxcIikpcmV0dXJuIHRmMDtpZighUCh4LFwicmVnXCIpKXJldHVybiBlZjA7aWYoIVAoeCxcInJmbG9vclwiKSlyZXR1cm4gcmYwO2lmKCFQKHgsXCJyaG9cIikpcmV0dXJuIHhmMH1lbHNle2lmKCFQKHgsXCJwcm9kXCIpKXJldHVybiBaaTA7aWYoIVAoeCxcInByb3BcIikpcmV0dXJuIEhpMDtpZighUCh4LFwicHNpXCIpKXJldHVybiBRaTA7aWYoIVAoeCxcInF1b3RcIikpcmV0dXJuICRpMDtpZighUCh4LFwickFyclwiKSlyZXR1cm4gVmkwO2lmKCFQKHgsXCJyYWRpY1wiKSlyZXR1cm4gV2kwO2lmKCFQKHgsXCJyYW5nXCIpKXJldHVybiBHaTB9fX19ZWxzZXt2YXIgbT1meCh4LFwibmRhc2hcIik7aWYoMDw9bSl7aWYoMD49bSlyZXR1cm4gSmkwO3ZhciBoPWZ4KHgsXCJvclwiKTtpZigwPD1oKXtpZigwPj1oKXJldHVybiBLaTA7dmFyIFQ9ZngoeCxcInBhcnRcIik7aWYoMDw9VCl7aWYoMD49VClyZXR1cm4gemkwO2lmKCFQKHgsXCJwZXJtaWxcIikpcmV0dXJuIFlpMDtpZighUCh4LFwicGVycFwiKSlyZXR1cm4gWGkwO2lmKCFQKHgsXCJwaGlcIikpcmV0dXJuIEJpMDtpZighUCh4LFwicGlcIikpcmV0dXJuIFVpMDtpZighUCh4LFwicGl2XCIpKXJldHVybiBxaTA7aWYoIVAoeCxcInBsdXNtblwiKSlyZXR1cm4gTWkwO2lmKCFQKHgsXCJwb3VuZFwiKSlyZXR1cm4gTGkwfWVsc2V7aWYoIVAoeCxcIm9yZGZcIikpcmV0dXJuIFJpMDtpZighUCh4LFwib3JkbVwiKSlyZXR1cm4gRmkwO2lmKCFQKHgsXCJvc2xhc2hcIikpcmV0dXJuIERpMDtpZighUCh4LFwib3RpbGRlXCIpKXJldHVybiBPaTA7aWYoIVAoeCxcIm90aW1lc1wiKSlyZXR1cm4gQ2kwO2lmKCFQKHgsXCJvdW1sXCIpKXJldHVybiBqaTA7aWYoIVAoeCxcInBhcmFcIikpcmV0dXJuIE5pMH19ZWxzZXt2YXIgYj1meCh4LFwib2FjdXRlXCIpO2lmKDA8PWIpe2lmKDA+PWIpcmV0dXJuIElpMDtpZighUCh4LFwib2NpcmNcIikpcmV0dXJuIFBpMDtpZighUCh4LFwib2VsaWdcIikpcmV0dXJuIEFpMDtpZighUCh4LFwib2dyYXZlXCIpKXJldHVybiBTaTA7aWYoIVAoeCxcIm9saW5lXCIpKXJldHVybiBFaTA7aWYoIVAoeCxcIm9tZWdhXCIpKXJldHVybiBUaTA7aWYoIVAoeCxcIm9taWNyb25cIikpcmV0dXJuIGJpMDtpZighUCh4LFwib3BsdXNcIikpcmV0dXJuIF9pMH1lbHNle2lmKCFQKHgsXCJuZVwiKSlyZXR1cm4gd2kwO2lmKCFQKHgsXCJuaVwiKSlyZXR1cm4gZ2kwO2lmKCFQKHgsXCJub3RcIikpcmV0dXJuIHlpMDtpZighUCh4LFwibm90aW5cIikpcmV0dXJuIGRpMDtpZighUCh4LFwibnN1YlwiKSlyZXR1cm4gaGkwO2lmKCFQKHgsXCJudGlsZGVcIikpcmV0dXJuIG1pMDtpZighUCh4LFwibnVcIikpcmV0dXJuIGtpMH19fWVsc2V7dmFyIE49ZngoeCxcImxlXCIpO2lmKDA8PU4pe2lmKDA+PU4pcmV0dXJuIHBpMDt2YXIgaj1meCh4LFwibWFjclwiKTtpZigwPD1qKXtpZigwPj1qKXJldHVybiBsaTA7aWYoIVAoeCxcIm1kYXNoXCIpKXJldHVybiB2aTA7aWYoIVAoeCxcIm1pY3JvXCIpKXJldHVybiBvaTA7aWYoIVAoeCxcIm1pZGRvdFwiKSlyZXR1cm4gYWkwO2lmKCFQKHgsZVIpKXJldHVybiBzaTA7aWYoIVAoeCxcIm11XCIpKXJldHVybiBjaTA7aWYoIVAoeCxcIm5hYmxhXCIpKXJldHVybiBmaTA7aWYoIVAoeCxcIm5ic3BcIikpcmV0dXJuIGlpMH1lbHNle2lmKCFQKHgsXCJsZmxvb3JcIikpcmV0dXJuIHVpMDtpZighUCh4LFwibG93YXN0XCIpKXJldHVybiBuaTA7aWYoIVAoeCxcImxvelwiKSlyZXR1cm4gdGkwO2lmKCFQKHgsXCJscm1cIikpcmV0dXJuIGVpMDtpZighUCh4LFwibHNhcXVvXCIpKXJldHVybiByaTA7aWYoIVAoeCxcImxzcXVvXCIpKXJldHVybiB4aTA7aWYoIVAoeCxcImx0XCIpKXJldHVybiBadTB9fWVsc2V7dmFyIEk9ZngoeCxcImthcHBhXCIpO2lmKDA8PUkpe2lmKDA+PUkpcmV0dXJuIEh1MDtpZighUCh4LFwibEFyclwiKSlyZXR1cm4gUXUwO2lmKCFQKHgsXCJsYW1iZGFcIikpcmV0dXJuICR1MDtpZighUCh4LFwibGFuZ1wiKSlyZXR1cm4gVnUwO2lmKCFQKHgsXCJsYXF1b1wiKSlyZXR1cm4gV3UwO2lmKCFQKHgsXCJsYXJyXCIpKXJldHVybiBHdTA7aWYoIVAoeCxcImxjZWlsXCIpKXJldHVybiBKdTA7aWYoIVAoeCxcImxkcXVvXCIpKXJldHVybiBLdTB9ZWxzZXtpZighUCh4LFwiaWdyYXZlXCIpKXJldHVybiB6dTA7aWYoIVAoeCxcImltYWdlXCIpKXJldHVybiBZdTA7aWYoIVAoeCxcImluZmluXCIpKXJldHVybiBYdTA7aWYoIVAoeCxcImlvdGFcIikpcmV0dXJuIEJ1MDtpZighUCh4LFwiaXF1ZXN0XCIpKXJldHVybiBVdTA7aWYoIVAoeCxcImlzaW5cIikpcmV0dXJuIHF1MDtpZighUCh4LFwiaXVtbFwiKSlyZXR1cm4gTXUwfX19fX1lbHNle3ZhciBGPWZ4KHgsXCJhZWxpZ1wiKTtpZigwPD1GKXtpZigwPj1GKXJldHVybiBMdTA7dmFyIE09ZngoeCxcImRlbHRhXCIpO2lmKDA8PU0pe2lmKDA+PU0pcmV0dXJuIFJ1MDt2YXIgej1meCh4LFwiZm5vZlwiKTtpZigwPD16KXtpZigwPj16KXJldHVybiBGdTA7dmFyIEI9ZngoeCxcImd0XCIpO2lmKDA8PUIpe2lmKDA+PUIpcmV0dXJuIER1MDtpZighUCh4LFwiaEFyclwiKSlyZXR1cm4gT3UwO2lmKCFQKHgsXCJoYXJyXCIpKXJldHVybiBDdTA7aWYoIVAoeCxcImhlYXJ0c1wiKSlyZXR1cm4ganUwO2lmKCFQKHgsXCJoZWxsaXBcIikpcmV0dXJuIE51MDtpZighUCh4LFwiaWFjdXRlXCIpKXJldHVybiBJdTA7aWYoIVAoeCxcImljaXJjXCIpKXJldHVybiBQdTB9ZWxzZXtpZighUCh4LFwiZm9yYWxsXCIpKXJldHVybiBBdTA7aWYoIVAoeCxcImZyYWMxMlwiKSlyZXR1cm4gU3UwO2lmKCFQKHgsXCJmcmFjMTRcIikpcmV0dXJuIEV1MDtpZighUCh4LFwiZnJhYzM0XCIpKXJldHVybiBUdTA7aWYoIVAoeCxcImZyYXNsXCIpKXJldHVybiBidTA7aWYoIVAoeCxcImdhbW1hXCIpKXJldHVybiBfdTA7aWYoIVAoeCxcImdlXCIpKXJldHVybiB3dTB9fWVsc2V7dmFyIEs9ZngoeCxcImVuc3BcIik7aWYoMDw9Syl7aWYoMD49SylyZXR1cm4gZ3UwO2lmKCFQKHgsXCJlcHNpbG9uXCIpKXJldHVybiB5dTA7aWYoIVAoeCxcImVxdWl2XCIpKXJldHVybiBkdTA7aWYoIVAoeCxcImV0YVwiKSlyZXR1cm4gaHUwO2lmKCFQKHgsXCJldGhcIikpcmV0dXJuIG11MDtpZighUCh4LFwiZXVtbFwiKSlyZXR1cm4ga3UwO2lmKCFQKHgsXCJldXJvXCIpKXJldHVybiBwdTA7aWYoIVAoeCxcImV4aXN0XCIpKXJldHVybiBsdTB9ZWxzZXtpZighUCh4LFwiZGlhbXNcIikpcmV0dXJuIHZ1MDtpZighUCh4LFwiZGl2aWRlXCIpKXJldHVybiBvdTA7aWYoIVAoeCxcImVhY3V0ZVwiKSlyZXR1cm4gYXUwO2lmKCFQKHgsXCJlY2lyY1wiKSlyZXR1cm4gc3UwO2lmKCFQKHgsXCJlZ3JhdmVcIikpcmV0dXJuIGN1MDtpZighUCh4LGJlKSlyZXR1cm4gZnUwO2lmKCFQKHgsXCJlbXNwXCIpKXJldHVybiBpdTB9fX1lbHNle3ZhciBuMD1meCh4LFwiY2FwXCIpO2lmKDA8PW4wKXtpZigwPj1uMClyZXR1cm4gdXUwO3ZhciAkPWZ4KHgsXCJjb3B5XCIpO2lmKDA8PSQpe2lmKDA+PSQpcmV0dXJuIG51MDtpZighUCh4LFwiY3JhcnJcIikpcmV0dXJuIHR1MDtpZighUCh4LFwiY3VwXCIpKXJldHVybiBldTA7aWYoIVAoeCxcImN1cnJlblwiKSlyZXR1cm4gcnUwO2lmKCFQKHgsXCJkQXJyXCIpKXJldHVybiB4dTA7aWYoIVAoeCxcImRhZ2dlclwiKSlyZXR1cm4gWjcwO2lmKCFQKHgsXCJkYXJyXCIpKXJldHVybiBINzA7aWYoIVAoeCxcImRlZ1wiKSlyZXR1cm4gUTcwfWVsc2V7aWYoIVAoeCxcImNjZWRpbFwiKSlyZXR1cm4gJDcwO2lmKCFQKHgsXCJjZWRpbFwiKSlyZXR1cm4gVjcwO2lmKCFQKHgsXCJjZW50XCIpKXJldHVybiBXNzA7aWYoIVAoeCxcImNoaVwiKSlyZXR1cm4gRzcwO2lmKCFQKHgsXCJjaXJjXCIpKXJldHVybiBKNzA7aWYoIVAoeCxcImNsdWJzXCIpKXJldHVybiBLNzA7aWYoIVAoeCxcImNvbmdcIikpcmV0dXJuIHo3MH19ZWxzZXt2YXIgSD1meCh4LFwiYXJpbmdcIik7aWYoMDw9SCl7aWYoMD49SClyZXR1cm4gWTcwO2lmKCFQKHgsXCJhc3ltcFwiKSlyZXR1cm4gWDcwO2lmKCFQKHgsXCJhdGlsZGVcIikpcmV0dXJuIEI3MDtpZighUCh4LFwiYXVtbFwiKSlyZXR1cm4gVTcwO2lmKCFQKHgsXCJiZHF1b1wiKSlyZXR1cm4gcTcwO2lmKCFQKHgsXCJiZXRhXCIpKXJldHVybiBNNzA7aWYoIVAoeCxcImJydmJhclwiKSlyZXR1cm4gTDcwO2lmKCFQKHgsXCJidWxsXCIpKXJldHVybiBSNzB9ZWxzZXtpZighUCh4LFwiYWdyYXZlXCIpKXJldHVybiBGNzA7aWYoIVAoeCxcImFsZWZzeW1cIikpcmV0dXJuIEQ3MDtpZighUCh4LFwiYWxwaGFcIikpcmV0dXJuIE83MDtpZighUCh4LFwiYW1wXCIpKXJldHVybiBDNzA7aWYoIVAoeCxcImFuZFwiKSlyZXR1cm4gajcwO2lmKCFQKHgsXCJhbmdcIikpcmV0dXJuIE43MDtpZighUCh4LFwiYXBvc1wiKSlyZXR1cm4gSTcwfX19fWVsc2V7dmFyIHQwPWZ4KHgsXCJOdVwiKTtpZigwPD10MCl7aWYoMD49dDApcmV0dXJuIFA3MDt2YXIgYzA9ZngoeCxcIlNpZ21hXCIpO2lmKDA8PWMwKXtpZigwPj1jMClyZXR1cm4gQTcwO3ZhciByMD1meCh4LFwiVXVtbFwiKTtpZigwPD1yMCl7aWYoMD49cjApcmV0dXJuIFM3MDtpZighUCh4LFwiWGlcIikpcmV0dXJuIEU3MDtpZighUCh4LFwiWWFjdXRlXCIpKXJldHVybiBUNzA7aWYoIVAoeCxcIll1bWxcIikpcmV0dXJuIGI3MDtpZighUCh4LFwiWmV0YVwiKSlyZXR1cm4gXzcwO2lmKCFQKHgsXCJhYWN1dGVcIikpcmV0dXJuIHc3MDtpZighUCh4LFwiYWNpcmNcIikpcmV0dXJuIGc3MDtpZighUCh4LFwiYWN1dGVcIikpcmV0dXJuIHk3MH1lbHNle2lmKCFQKHgsXCJUSE9STlwiKSlyZXR1cm4gZDcwO2lmKCFQKHgsXCJUYXVcIikpcmV0dXJuIGg3MDtpZighUCh4LFwiVGhldGFcIikpcmV0dXJuIG03MDtpZighUCh4LFwiVWFjdXRlXCIpKXJldHVybiBrNzA7aWYoIVAoeCxcIlVjaXJjXCIpKXJldHVybiBwNzA7aWYoIVAoeCxcIlVncmF2ZVwiKSlyZXR1cm4gbDcwO2lmKCFQKHgsXCJVcHNpbG9uXCIpKXJldHVybiB2NzB9fWVsc2V7dmFyIHYwPWZ4KHgsXCJPdGlsZGVcIik7aWYoMDw9djApe2lmKDA+PXYwKXJldHVybiBvNzA7aWYoIVAoeCxcIk91bWxcIikpcmV0dXJuIGE3MDtpZighUCh4LFwiUGhpXCIpKXJldHVybiBzNzA7aWYoIVAoeCxcIlBpXCIpKXJldHVybiBjNzA7aWYoIVAoeCxcIlByaW1lXCIpKXJldHVybiBmNzA7aWYoIVAoeCxcIlBzaVwiKSlyZXR1cm4gaTcwO2lmKCFQKHgsXCJSaG9cIikpcmV0dXJuIHU3MDtpZighUCh4LFwiU2Nhcm9uXCIpKXJldHVybiBuNzB9ZWxzZXtpZighUCh4LFwiT0VsaWdcIikpcmV0dXJuIHQ3MDtpZighUCh4LFwiT2FjdXRlXCIpKXJldHVybiBlNzA7aWYoIVAoeCxcIk9jaXJjXCIpKXJldHVybiByNzA7aWYoIVAoeCxcIk9ncmF2ZVwiKSlyZXR1cm4geDcwO2lmKCFQKHgsXCJPbWVnYVwiKSlyZXR1cm4gWm4wO2lmKCFQKHgsXCJPbWljcm9uXCIpKXJldHVybiBIbjA7aWYoIVAoeCxcIk9zbGFzaFwiKSlyZXR1cm4gUW4wfX19ZWxzZXt2YXIgYTA9ZngoeCxcIkVhY3V0ZVwiKTtpZigwPD1hMCl7aWYoMD49YTApcmV0dXJuICRuMDt2YXIgZzA9ZngoeCxcIkljaXJjXCIpO2lmKDA8PWcwKXtpZigwPj1nMClyZXR1cm4gVm4wO2lmKCFQKHgsXCJJZ3JhdmVcIikpcmV0dXJuIFduMDtpZighUCh4LFwiSW90YVwiKSlyZXR1cm4gR24wO2lmKCFQKHgsXCJJdW1sXCIpKXJldHVybiBKbjA7aWYoIVAoeCxcIkthcHBhXCIpKXJldHVybiBLbjA7aWYoIVAoeCxcIkxhbWJkYVwiKSlyZXR1cm4gem4wO2lmKCFQKHgsXCJNdVwiKSlyZXR1cm4gWW4wO2lmKCFQKHgsXCJOdGlsZGVcIikpcmV0dXJuIFhuMH1lbHNle2lmKCFQKHgsXCJFY2lyY1wiKSlyZXR1cm4gQm4wO2lmKCFQKHgsXCJFZ3JhdmVcIikpcmV0dXJuIFVuMDtpZighUCh4LFwiRXBzaWxvblwiKSlyZXR1cm4gcW4wO2lmKCFQKHgsXCJFdGFcIikpcmV0dXJuIE1uMDtpZighUCh4LFwiRXVtbFwiKSlyZXR1cm4gTG4wO2lmKCFQKHgsXCJHYW1tYVwiKSlyZXR1cm4gUm4wO2lmKCFQKHgsXCJJYWN1dGVcIikpcmV0dXJuIEZuMH19ZWxzZXt2YXIgaTA9ZngoeCxcIkF0aWxkZVwiKTtpZigwPD1pMCl7aWYoMD49aTApcmV0dXJuIERuMDtpZighUCh4LFwiQXVtbFwiKSlyZXR1cm4gT24wO2lmKCFQKHgsXCJCZXRhXCIpKXJldHVybiBDbjA7aWYoIVAoeCxcIkNjZWRpbFwiKSlyZXR1cm4gam4wO2lmKCFQKHgsXCJDaGlcIikpcmV0dXJuIE5uMDtpZighUCh4LFwiRGFnZ2VyXCIpKXJldHVybiBJbjA7aWYoIVAoeCxcIkRlbHRhXCIpKXJldHVybiBQbjA7aWYoIVAoeCxcIkVUSFwiKSlyZXR1cm4gQW4wfWVsc2V7aWYoIVAoeCxcIidpbnQnXCIpKXJldHVybiBTbjA7aWYoIVAoeCxcIkFFbGlnXCIpKXJldHVybiBFbjA7aWYoIVAoeCxcIkFhY3V0ZVwiKSlyZXR1cm4gVG4wO2lmKCFQKHgsXCJBY2lyY1wiKSlyZXR1cm4gYm4wO2lmKCFQKHgsXCJBZ3JhdmVcIikpcmV0dXJuIF9uMDtpZighUCh4LFwiQWxwaGFcIikpcmV0dXJuIHduMDtpZighUCh4LFwiQXJpbmdcIikpcmV0dXJuIGduMH19fX19cmV0dXJuIDB9ZnVuY3Rpb24gY0IoeCxyLGUsdCl7Zm9yKHZhciB1PXg7Oyl7dmFyIGk9ZnVuY3Rpb24odjApe2Zvcig7OylpZihXKHYwLDgpLEpqKHkodjApKSE9PTApcmV0dXJuIHcodjApfTtvcih0KTt2YXIgYz15KHQpLHY9QmE8Yz90MTxjPzE6bDE8Yz8yOjE6SjAoXCJcdTAwMDFcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDNcdTAwMDJcdTAwMDJcdTAwMDRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDVcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDZcdTAwMDJcXHgwN1x1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwMlx1MDAwNlx1MDAwMlxcYlwiLGMrMXwwKS0xfDA7aWYoNzx2Pj4+MCl2YXIgYT13KHQpO2Vsc2Ugc3dpdGNoKHYpe2Nhc2UgMDp2YXIgYT0zO2JyZWFrO2Nhc2UgMTp2YXIgYT1pKHQpO2JyZWFrO2Nhc2UgMjp2YXIgYT00O2JyZWFrO2Nhc2UgMzpXKHQsNCk7dmFyIGE9QWUoeSh0KSk9PT0wPzQ6dyh0KTticmVhaztjYXNlIDQ6Vyh0LDgpO3ZhciBsPVFVKHkodCkpO2lmKGw9PT0wKXt2YXIgbT1OVSh5KHQpKTtpZihtPT09MCl7Zm9yKDs7KXt2YXIgaD1qVSh5KHQpKTtpZihoIT09MClicmVha312YXIgYT1oPT09MT82OncodCl9ZWxzZSBpZihtPT09MSYmVHIoeSh0KSk9PT0wKXtmb3IoOzspe3ZhciBUPVdVKHkodCkpO2lmKFQhPT0wKWJyZWFrfXZhciBhPVQ9PT0xPzU6dyh0KX1lbHNlIHZhciBhPXcodCl9ZWxzZSBpZihsPT09MSYmY3IoeSh0KSk9PT0wKXt2YXIgYj1NdCh5KHQpKTtpZihiPT09MCl7dmFyIE49TXQoeSh0KSk7aWYoTj09PTApe3ZhciBqPU10KHkodCkpO2lmKGo9PT0wKXt2YXIgST1NdCh5KHQpKTtpZihJPT09MCl7dmFyIEY9TXQoeSh0KSk7aWYoRj09PTApdmFyIE09TXQoeSh0KSksYT1NPT09MD96VSh5KHQpKT09PTA/Nzp3KHQpOk09PT0xPzc6dyh0KTtlbHNlIHZhciBhPUY9PT0xPzc6dyh0KX1lbHNlIHZhciBhPUk9PT0xPzc6dyh0KX1lbHNlIHZhciBhPWo9PT0xPzc6dyh0KX1lbHNlIHZhciBhPU49PT0xPzc6dyh0KX1lbHNlIHZhciBhPWI9PT0xPzc6dyh0KX1lbHNlIHZhciBhPXcodCk7YnJlYWs7Y2FzZSA1OnZhciBhPTA7YnJlYWs7Y2FzZSA2OlcodCwxKTt2YXIgYT1Kaih5KHQpKT09PTA/aSh0KTp3KHQpO2JyZWFrO2RlZmF1bHQ6Vyh0LDIpO3ZhciBhPUpqKHkodCkpPT09MD9pKHQpOncodCl9aWYoODxhPj4+MClyZXR1cm4gVHgoQnQwKTtzd2l0Y2goYSl7Y2FzZSAwOnJldHVybiB4bCh0KSx1O2Nhc2UgMTpyZXR1cm4gJGoodSx6cih1LHQpLFl0MCxYdDApO2Nhc2UgMjpyZXR1cm4gJGoodSx6cih1LHQpLEt0MCx6dDApO2Nhc2UgMzpyZXR1cm4gbXQodSx6cih1LHQpKTtjYXNlIDQ6dmFyIHo9RHgodCk7aXIoZSx6KSxpcihyLHopO3ZhciB1PSQxKHUsdCk7YnJlYWs7Y2FzZSA1OnZhciBCPUR4KHQpLEs9VDEoQiwzLE54KEIpLTR8MCk7aXIoZSxCKSxwcyhyLHZ0KHF4KEp0MCxLKSkpO2JyZWFrO2Nhc2UgNjp2YXIgbjA9RHgodCksJD1UMShuMCwyLE54KG4wKS0zfDApO2lyKGUsbjApLHBzKHIsdnQoJCkpO2JyZWFrO2Nhc2UgNzp2YXIgSD1EeCh0KSx0MD1UMShILDEsTngoSCktMnwwKTtpcihlLEgpO3ZhciBjMD1mQih0MCk7YzA/cHMocixjMFsxXSk6aXIocixxeChXdDAscXgodDAsR3QwKSkpO2JyZWFrO2RlZmF1bHQ6dmFyIHIwPUR4KHQpO2lyKGUscjApLGlyKHIscjApfX19ZnVuY3Rpb24gSDYoeCl7cmV0dXJuIGZ1bmN0aW9uKHIpe3ZhciBlPTAsdD1yO3g6Zm9yKDs7KXt2YXIgdT14KHQsdFsyXSk7c3dpdGNoKHVbMF0pe2Nhc2UgMDpicmVhayB4O2Nhc2UgMTp2YXIgaT11WzJdLGM9dVsxXSxlPVswLGksZV0sdD1bMCxjWzFdLGNbMl0sY1szXSxjWzRdLGNbNV0sY1s2XSxpWzFdXTticmVhaztkZWZhdWx0OnZhciB0PXVbMV19fXZhciB2PXVbMl0sYT11WzFdLGw9WlUoYSx2KSxtPWU9PT0wPzA6aXgoZSksaD1hWzZdO2lmKGg9PT0wKXJldHVyblswLFswLGFbMV0sYVsyXSxhWzNdLGFbNF0sYVs1XSxhWzZdLGxdLFswLHYsbCwwLG1dXTt2YXIgVD1bMCx2LGwsaXgoaCksbV07cmV0dXJuWzAsWzAsYVsxXSxhWzJdLGFbM10sYVs0XSxhWzVdLGJVLGxdLFRdfX12YXIgemIwPUg2KGZ1bmN0aW9uKHgscil7b3Iocik7dmFyIGU9eShyKSx0PUpvPGU/SG88ZT9MbzxlP2Z2PGU/MToyOiRvPGU/MToyOktvPGU/WW88ZT9ldjxlPzE6MjpXbzxlPzE6MjpsMTxlP3QxPGU/MTozOlVvPGU/MToyOkowKFwiXHUwMDAxXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAzXHUwMDA0XHUwMDAzXHUwMDAzXHUwMDA1XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAzXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDA2XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAzXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAzXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXCIsZSsxfDApLTF8MDtpZig1PHQ+Pj4wKXZhciB1PXcocik7ZWxzZSBzd2l0Y2godCl7Y2FzZSAwOnZhciB1PTA7YnJlYWs7Y2FzZSAxOnZhciB1PTY7YnJlYWs7Y2FzZSAyOmlmKFcociwyKSxtcyh5KHIpKT09PTApe2Zvcig7VyhyLDIpLG1zKHkocikpPT09MDspO3ZhciB1PXcocil9ZWxzZSB2YXIgdT13KHIpO2JyZWFrO2Nhc2UgMzp2YXIgdT0xO2JyZWFrO2Nhc2UgNDpXKHIsMSk7dmFyIHU9QWUoeShyKSk9PT0wPzE6dyhyKTticmVhaztkZWZhdWx0Olcociw1KTt2YXIgaT1WNSh5KHIpKSx1PWk9PT0wPzQ6aT09PTE/Mzp3KHIpfWlmKDY8dT4+PjApcmV0dXJuIFR4KHRjMCk7c3dpdGNoKHUpe2Nhc2UgMDpyZXR1cm5bMCx4LG1yXTtjYXNlIDE6cmV0dXJuWzIsJDEoeCxyKV07Y2FzZSAyOnJldHVyblsyLHhdO2Nhc2UgMzp2YXIgYz1BMSh4LHIpLHY9JHIoQnIpLGE9bmwoeCx2LHIpLGw9YVsxXTtyZXR1cm5bMSxsLHF0KGwsYyxhWzJdLHYsMCldO2Nhc2UgNDp2YXIgbT1BMSh4LHIpLGg9JHIoQnIpLFQ9RXYoeCxoLHIpLGI9VFsxXTtyZXR1cm5bMSxiLHF0KGIsbSxUWzJdLGgsMSldO2Nhc2UgNTp2YXIgTj1BMSh4LHIpLGo9JHIoQnIpLEk9WWIwKHgsaixyKSxGPUlbMV0sTT1JWzJdLHo9UGUoRixyKSxCPVswLEZbMV0sTix6XTtyZXR1cm5bMCxGLFs1LEIsRzIoaiksTV1dO2RlZmF1bHQ6dmFyIEs9bXQoeCx6cih4LHIpKTtyZXR1cm5bMCxLLFs3LER4KHIpXV19fSksS2IwPUg2KGZ1bmN0aW9uKHgscil7b3Iocik7dmFyIGU9WGIwKHkocikpO2lmKDE0PGU+Pj4wKXZhciB0PXcocik7ZWxzZSBzd2l0Y2goZSl7Y2FzZSAwOnZhciB0PTA7YnJlYWs7Y2FzZSAxOnZhciB0PTE0O2JyZWFrO2Nhc2UgMjppZihXKHIsMiksbXMoeShyKSk9PT0wKXtmb3IoO1cociwyKSxtcyh5KHIpKT09PTA7KTt2YXIgdD13KHIpfWVsc2UgdmFyIHQ9dyhyKTticmVhaztjYXNlIDM6dmFyIHQ9MTticmVhaztjYXNlIDQ6VyhyLDEpO3ZhciB0PUFlKHkocikpPT09MD8xOncocik7YnJlYWs7Y2FzZSA1OnZhciB0PTEyO2JyZWFrO2Nhc2UgNjp2YXIgdD0xMzticmVhaztjYXNlIDc6dmFyIHQ9MTA7YnJlYWs7Y2FzZSA4Olcociw2KTt2YXIgdT1WNSh5KHIpKSx0PXU9PT0wPzQ6dT09PTE/Mzp3KHIpO2JyZWFrO2Nhc2UgOTp2YXIgdD05O2JyZWFrO2Nhc2UgMTA6dmFyIHQ9NTticmVhaztjYXNlIDExOnZhciB0PTExO2JyZWFrO2Nhc2UgMTI6dmFyIHQ9NzticmVhaztjYXNlIDEzOmlmKFcociwxNCksZm8oeShyKSk9PT0wKXt2YXIgaT1idih5KHIpKTtpZihpPT09MCl2YXIgdD1Ucih5KHIpKT09PTAmJlRyKHkocikpPT09MCYmVHIoeShyKSk9PT0wPzEzOncocik7ZWxzZSBpZihpPT09MSYmVHIoeShyKSk9PT0wKXtmb3IoOzspe3ZhciBjPV92KHkocikpO2lmKGMhPT0wKWJyZWFrfXZhciB0PWM9PT0xPzEzOncocil9ZWxzZSB2YXIgdD13KHIpfWVsc2UgdmFyIHQ9dyhyKTticmVhaztkZWZhdWx0OnZhciB0PTh9aWYoMTQ8dD4+PjApcmV0dXJuIFR4KHluMCk7c3dpdGNoKHQpe2Nhc2UgMDpyZXR1cm5bMCx4LG1yXTtjYXNlIDE6cmV0dXJuWzIsJDEoeCxyKV07Y2FzZSAyOnJldHVyblsyLHhdO2Nhc2UgMzp2YXIgdj1BMSh4LHIpLGE9JHIoQnIpLGw9bmwoeCxhLHIpLG09bFsxXTtyZXR1cm5bMSxtLHF0KG0sdixsWzJdLGEsMCldO2Nhc2UgNDp2YXIgaD1BMSh4LHIpLFQ9JHIoQnIpLGI9RXYoeCxULHIpLE49YlsxXTtyZXR1cm5bMSxOLHF0KE4saCxiWzJdLFQsMSldO2Nhc2UgNTpyZXR1cm5bMCx4LDk5XTtjYXNlIDY6cmV0dXJuWzAseCxKZV07Y2FzZSA3OnJldHVyblswLHgseTJdO2Nhc2UgODpyZXR1cm5bMCx4LDBdO2Nhc2UgOTpyZXR1cm5bMCx4LDg3XTtjYXNlIDEwOnJldHVyblswLHgsMTBdO2Nhc2UgMTE6cmV0dXJuWzAseCw4M107Y2FzZSAxMjp2YXIgaj1EeChyKSxJPUExKHgsciksRj0kcihCciksTT0kcihCcik7aXIoTSxqKTtmb3IodmFyIHo9YnIoaixcIidcIiksQj14Ozspe29yKHIpO3ZhciBLPXkociksbjA9Mzk8Sz90MTxLPzE6bDE8Sz8yOjE6SjAoXCJcdTAwMDFcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDNcdTAwMDJcdTAwMDJcdTAwMDRcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDVcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDZcXHgwN1wiLEsrMXwwKS0xfDA7aWYoNjxuMD4+PjApdmFyICQ9dyhyKTtlbHNlIHN3aXRjaChuMCl7Y2FzZSAwOnZhciAkPTI7YnJlYWs7Y2FzZSAxOmZvcig7Oyl7VyhyLDcpO3ZhciBIPXkociksdDA9LTE8SD8zNzxIPzM5PEg/bDE8SD90MTxIPzA6LTE6MDotMTpKMChcIlx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFx1MDAwMVx1MDAwMVxcMFx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVx1MDAwMVxcMFx1MDAwMVx1MDAwMVx1MDAwMVwiLEgpLTF8MDotMTtpZih0MCE9PTApYnJlYWt9dmFyICQ9dyhyKTticmVhaztjYXNlIDI6dmFyICQ9MzticmVhaztjYXNlIDM6VyhyLDMpO3ZhciAkPUFlKHkocikpPT09MD8zOncocik7YnJlYWs7Y2FzZSA0OnZhciAkPTE7YnJlYWs7Y2FzZSA1Olcociw3KTt2YXIgYzA9UVUoeShyKSk7aWYoYzA9PT0wKXt2YXIgcjA9TlUoeShyKSk7aWYocjA9PT0wKXtmb3IoOzspe3ZhciB2MD1qVSh5KHIpKTtpZih2MCE9PTApYnJlYWt9dmFyICQ9djA9PT0xPzU6dyhyKX1lbHNlIGlmKHIwPT09MSYmVHIoeShyKSk9PT0wKXtmb3IoOzspe3ZhciBhMD1XVSh5KHIpKTtpZihhMCE9PTApYnJlYWt9dmFyICQ9YTA9PT0xPzQ6dyhyKX1lbHNlIHZhciAkPXcocil9ZWxzZSBpZihjMD09PTEmJmNyKHkocikpPT09MCl7dmFyIGcwPU10KHkocikpO2lmKGcwPT09MCl7dmFyIGkwPU10KHkocikpO2lmKGkwPT09MCl7dmFyIHMwPU10KHkocikpO2lmKHMwPT09MCl7dmFyIGQwPU10KHkocikpO2lmKGQwPT09MCl7dmFyIHcwPU10KHkocikpO2lmKHcwPT09MCl2YXIgTTA9TXQoeShyKSksJD1NMD09PTA/elUoeShyKSk9PT0wPzY6dyhyKTpNMD09PTE/Njp3KHIpO2Vsc2UgdmFyICQ9dzA9PT0xPzY6dyhyKX1lbHNlIHZhciAkPWQwPT09MT82Oncocil9ZWxzZSB2YXIgJD1zMD09PTE/Njp3KHIpfWVsc2UgdmFyICQ9aTA9PT0xPzY6dyhyKX1lbHNlIHZhciAkPWcwPT09MT82Oncocil9ZWxzZSB2YXIgJD13KHIpO2JyZWFrO2RlZmF1bHQ6dmFyICQ9MH1pZig3PCQ+Pj4wKXZhciBDMD1UeChWdDApO2Vsc2Ugc3dpdGNoKCQpe2Nhc2UgMDppZigheil7bHQoTSwzOSksbHQoRiwzOSk7Y29udGludWV9dmFyIEMwPUI7YnJlYWs7Y2FzZSAxOmlmKHope2x0KE0sMzQpLGx0KEYsMzQpO2NvbnRpbnVlfXZhciBDMD1CO2JyZWFrO2Nhc2UgMjp2YXIgQzA9bXQoQix6cihCLHIpKTticmVhaztjYXNlIDM6dmFyIEQwPUR4KHIpO2lyKE0sRDApLGlyKEYsRDApO3ZhciBCPSQxKEIscik7Y29udGludWU7Y2FzZSA0OnZhciBJMD1EeChyKSxqMD1UMShJMCwzLE54KEkwKS00fDApO2lyKE0sSTApLHBzKEYsdnQocXgoJHQwLGowKSkpO2NvbnRpbnVlO2Nhc2UgNTp2YXIgeTA9RHgociksWTA9VDEoeTAsMixOeCh5MCktM3wwKTtpcihNLHkwKSxwcyhGLHZ0KFkwKSk7Y29udGludWU7Y2FzZSA2OnZhciBMPUR4KHIpLE4wPVQxKEwsMSxOeChMKS0yfDApO2lyKE0sTCk7dmFyIFMwPWZCKE4wKTtTMD9wcyhGLFMwWzFdKTppcihGLHF4KEh0MCxxeChOMCxRdDApKSk7Y29udGludWU7ZGVmYXVsdDp2YXIgSzA9RHgocik7aXIoTSxLMCksaXIoRixLMCk7Y29udGludWV9dmFyIEEwPVBlKEMwLHIpO2lyKE0saik7dmFyICQwPUcyKEYpLGV4PUcyKE0pO3JldHVyblswLEMwLFsxMCxbMCxDMFsxXSxJLEEwXSwkMCxleF1dfWNhc2UgMTM6Zm9yKHZhciB4eD1yWzZdOzspe29yKHIpO3ZhciB0eD15KHIpLHowPXMyPHR4PzE6SjAoXCJcdTAwMDFcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDNcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDNcdTAwMDJcdTAwMDJcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDJcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDJcdTAwMDRcdTAwMDJcdTAwMDJcdTAwMDNcdTAwMDJcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcdTAwMDNcIix0eCsxfDApLTF8MDtpZigzPHowPj4+MCl2YXIgcHg9dyhyKTtlbHNlIHN3aXRjaCh6MCl7Y2FzZSAwOnZhciBweD0xO2JyZWFrO2Nhc2UgMTp2YXIgcHg9MjticmVhaztjYXNlIDI6dmFyIHB4PTA7YnJlYWs7ZGVmYXVsdDppZihXKHIsMiksZm8oeShyKSk9PT0wKXt2YXIgc3g9YnYoeShyKSk7aWYoc3g9PT0wKXZhciBweD1Ucih5KHIpKT09PTAmJlRyKHkocikpPT09MCYmVHIoeShyKSk9PT0wPzA6dyhyKTtlbHNlIGlmKHN4PT09MSYmVHIoeShyKSk9PT0wKXtmb3IoOzspe3ZhciBRPV92KHkocikpO2lmKFEhPT0wKWJyZWFrfXZhciBweD1RPT09MT8wOncocil9ZWxzZSB2YXIgcHg9dyhyKX1lbHNlIHZhciBweD13KHIpfWlmKDI8cHg+Pj4wKXRocm93IFcwKFswLE5yLFR0MF0sMSk7c3dpdGNoKHB4KXtjYXNlIDA6Y29udGludWU7Y2FzZSAxOmJyZWFrO2RlZmF1bHQ6aWYoWGooYVUocikpKWNvbnRpbnVlO3ZVKHIsMSl9dmFyIGIwPXJbM107Umoocix4eCk7dmFyIFU9bDIociksaDA9UTYoeCx4eCxiMCk7cmV0dXJuWzAseCxbOCxHNihVKSxoMF1dfWRlZmF1bHQ6cmV0dXJuWzAseCxbNyxEeChyKV1dfX0pLEpiMD1INihmdW5jdGlvbih4LHIpe29yKHIpO3ZhciBlPXkociksdD0tMTxlP0pvPGU/SG88ZT9MbzxlP2Z2PGU/MDoxOiRvPGU/MDoxOktvPGU/WW88ZT9ldjxlPzA6MTpXbzxlPzA6MTpsMTxlP3QxPGU/MDoyOlVvPGU/MDoxOkowKFwiXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAyXHUwMDAzXHUwMDAyXHUwMDAyXHUwMDA0XHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAyXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDA1XHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDA2XHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAyXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAyXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXCIsZSktMXwwOi0xO2lmKDU8dD4+PjApdmFyIHU9dyhyKTtlbHNlIHN3aXRjaCh0KXtjYXNlIDA6dmFyIHU9NTticmVhaztjYXNlIDE6aWYoVyhyLDEpLG1zKHkocikpPT09MCl7Zm9yKDtXKHIsMSksbXMoeShyKSk9PT0wOyk7dmFyIHU9dyhyKX1lbHNlIHZhciB1PXcocik7YnJlYWs7Y2FzZSAyOnZhciB1PTA7YnJlYWs7Y2FzZSAzOlcociwwKTt2YXIgdT1BZSh5KHIpKT09PTA/MDp3KHIpO2JyZWFrO2Nhc2UgNDpXKHIsNSk7dmFyIGk9VjUoeShyKSksdT1pPT09MD8zOmk9PT0xPzI6dyhyKTticmVhaztkZWZhdWx0OnZhciB1PTR9aWYoNTx1Pj4+MClyZXR1cm4gVHgoa24wKTtzd2l0Y2godSl7Y2FzZSAwOnJldHVyblsyLCQxKHgscildO2Nhc2UgMTpyZXR1cm5bMix4XTtjYXNlIDI6dmFyIGM9QTEoeCxyKSx2PSRyKEJyKSxhPW5sKHgsdixyKSxsPWFbMV07cmV0dXJuWzEsbCxxdChsLGMsYVsyXSx2LDApXTtjYXNlIDM6dmFyIG09QTEoeCxyKSxoPSRyKEJyKSxUPUV2KHgsaCxyKSxiPVRbMV07cmV0dXJuWzEsYixxdChiLG0sVFsyXSxoLDEpXTtjYXNlIDQ6dmFyIE49QTEoeCxyKSxqPSRyKEJyKSxJPSRyKEJyKSxGPWlCKHgsaixJLHIpLE09RlsxXSx6PUZbMl0sQj1QZShNLHIpLEs9WzAsTVsxXSxOLEJdLG4wPUcyKEkpO3JldHVyblswLE0sWzMsWzAsSyxHMihqKSxuMCwwLHpdXV07ZGVmYXVsdDp2YXIgJD1tdCh4LHpyKHgscikpO3JldHVyblswLCQsWzMsWzAsenIoJCxyKSxobjAsbW4wLDAsMV1dXX19KSxHYjA9SDYoZnVuY3Rpb24oeCxyKXtmdW5jdGlvbiBlKFMpe2Zvcig7OylpZihXKFMsMjkpLGNyKHkoUykpIT09MClyZXR1cm4gdyhTKX1mdW5jdGlvbiB0KFMpe1coUywyOSk7dmFyIEc9S1UoeShTKSk7aWYoMzxHPj4+MClyZXR1cm4gdyhTKTtzd2l0Y2goRyl7Y2FzZSAwOnJldHVybiBlKFMpO2Nhc2UgMTp2YXIgcng9dG8oeShTKSk7aWYocng9PT0wKWZvcig7Oyl7VyhTLDI0KTt2YXIgeXg9cmwoeShTKSk7aWYoMjx5eD4+PjApcmV0dXJuIHcoUyk7c3dpdGNoKHl4KXtjYXNlIDA6cmV0dXJuIHUoUyk7Y2FzZSAxOmJyZWFrO2RlZmF1bHQ6cmV0dXJuIGkoUyl9fWVsc2V7aWYocnghPT0xKXJldHVybiB3KFMpO2Zvcig7Oyl7VyhTLDI0KTt2YXIgRXg9ZHMoeShTKSk7aWYoMzxFeD4+PjApcmV0dXJuIHcoUyk7c3dpdGNoKEV4KXtjYXNlIDA6cmV0dXJuIHUoUyk7Y2FzZSAxOmJyZWFrO2Nhc2UgMjpyZXR1cm4gYyhTKTtkZWZhdWx0OnJldHVybiBpKFMpfX19YnJlYWs7Y2FzZSAyOmZvcig7Oyl7VyhTLDI0KTt2YXIgbng9cmwoeShTKSk7aWYoMjxueD4+PjApcmV0dXJuIHcoUyk7c3dpdGNoKG54KXtjYXNlIDA6cmV0dXJuIHYoUyk7Y2FzZSAxOmJyZWFrO2RlZmF1bHQ6cmV0dXJuIGEoUyl9fWJyZWFrO2RlZmF1bHQ6Zm9yKDs7KXtXKFMsMjQpO3ZhciBwMD1kcyh5KFMpKTtpZigzPHAwPj4+MClyZXR1cm4gdyhTKTtzd2l0Y2gocDApe2Nhc2UgMDpyZXR1cm4gdihTKTtjYXNlIDE6YnJlYWs7Y2FzZSAyOnJldHVybiBjKFMpO2RlZmF1bHQ6cmV0dXJuIGEoUyl9fX19ZnVuY3Rpb24gdShTKXtmb3IoOzspaWYoVyhTLDIzKSxjcih5KFMpKSE9PTApcmV0dXJuIHcoUyl9ZnVuY3Rpb24gaShTKXtXKFMsMjIpO3ZhciBHPVgyKHkoUykpO2lmKEchPT0wKXJldHVybiBHPT09MT91KFMpOncoUyk7Zm9yKDs7KWlmKFcoUywyMSksY3IoeShTKSkhPT0wKXJldHVybiB3KFMpfWZ1bmN0aW9uIGMoUyl7Zm9yKDs7KXtpZih2cih5KFMpKSE9PTApcmV0dXJuIHcoUyk7eDpmb3IoOzspe1coUywyNCk7dmFyIEc9ZHMoeShTKSk7aWYoMzxHPj4+MClyZXR1cm4gdyhTKTtzd2l0Y2goRyl7Y2FzZSAwOnJldHVybiB1KFMpO2Nhc2UgMTpicmVhaztjYXNlIDI6YnJlYWsgeDtkZWZhdWx0OnJldHVybiBpKFMpfX19fWZ1bmN0aW9uIHYoUyl7Zm9yKDs7KWlmKFcoUywyMyksY3IoeShTKSkhPT0wKXJldHVybiB3KFMpfWZ1bmN0aW9uIGEoUyl7VyhTLDIyKTt2YXIgRz1YMih5KFMpKTtpZihHIT09MClyZXR1cm4gRz09PTE/dihTKTp3KFMpO2Zvcig7OylpZihXKFMsMjEpLGNyKHkoUykpIT09MClyZXR1cm4gdyhTKX1mdW5jdGlvbiBsKFMpe1coUywyNyk7dmFyIEc9WDIoeShTKSk7aWYoRyE9PTApcmV0dXJuIEc9PT0xP2UoUyk6dyhTKTtmb3IoOzspaWYoVyhTLDI1KSxjcih5KFMpKSE9PTApcmV0dXJuIHcoUyl9ZnVuY3Rpb24gbShTKXtyZXR1cm4gVyhTLDMpLCRVKHkoUykpPT09MD8zOncoUyl9ZnVuY3Rpb24gaChTKXtyZXR1cm4gSjUoeShTKSk9PT0wJiZYNSh5KFMpKT09PTAmJkdVKHkoUykpPT09MCYmTFUoeShTKSk9PT0wJiZNVSh5KFMpKT09PTAmJkI1KHkoUykpPT09MCYmVjYoeShTKSk9PT0wJiZKNSh5KFMpKT09PTAmJmZvKHkoUykpPT09MCYmVmooeShTKSk9PT0wJiZUdih5KFMpKT09PTA/Mzp3KFMpfWZ1bmN0aW9uIFQoUyl7VyhTLDMwKTt2YXIgRz1GVSh5KFMpKTtpZigzPEc+Pj4wKXJldHVybiB3KFMpO3N3aXRjaChHKXtjYXNlIDA6cmV0dXJuIGUoUyk7Y2FzZSAxOng6Zm9yKDs7KXtXKFMsMzApO3ZhciByeD1ubyh5KFMpKTtpZig0PHJ4Pj4+MClyZXR1cm4gdyhTKTtzd2l0Y2gocngpe2Nhc2UgMDpyZXR1cm4gZShTKTtjYXNlIDE6YnJlYWs7Y2FzZSAyOnJldHVybiB0KFMpO2Nhc2UgMzpicmVhayB4O2RlZmF1bHQ6cmV0dXJuIGwoUyl9fWZvcig7Oyl7aWYodnIoeShTKSkhPT0wKXJldHVybiB3KFMpO3g6Zm9yKDs7KXtXKFMsMzApO3ZhciB5eD1ubyh5KFMpKTtpZig0PHl4Pj4+MClyZXR1cm4gdyhTKTtzd2l0Y2goeXgpe2Nhc2UgMDpyZXR1cm4gZShTKTtjYXNlIDE6YnJlYWs7Y2FzZSAyOnJldHVybiB0KFMpO2Nhc2UgMzpicmVhayB4O2RlZmF1bHQ6cmV0dXJuIGwoUyl9fX1icmVhaztjYXNlIDI6cmV0dXJuIHQoUyk7ZGVmYXVsdDpyZXR1cm4gbChTKX19ZnVuY3Rpb24gYihTKXtmb3IoOzspaWYoVyhTLDE1KSxjcih5KFMpKSE9PTApcmV0dXJuIHcoUyl9ZnVuY3Rpb24gTihTKXtXKFMsMzApO3ZhciBHPXJsKHkoUykpO2lmKDI8Rz4+PjApcmV0dXJuIHcoUyk7c3dpdGNoKEcpe2Nhc2UgMDpyZXR1cm4gZShTKTtjYXNlIDE6eDpmb3IoOzspe1coUywzMCk7dmFyIHJ4PWRzKHkoUykpO2lmKDM8cng+Pj4wKXJldHVybiB3KFMpO3N3aXRjaChyeCl7Y2FzZSAwOnJldHVybiBlKFMpO2Nhc2UgMTpicmVhaztjYXNlIDI6YnJlYWsgeDtkZWZhdWx0OnJldHVybiBsKFMpfX1mb3IoOzspe2lmKHZyKHkoUykpIT09MClyZXR1cm4gdyhTKTt4OmZvcig7Oyl7VyhTLDMwKTt2YXIgeXg9ZHMoeShTKSk7aWYoMzx5eD4+PjApcmV0dXJuIHcoUyk7c3dpdGNoKHl4KXtjYXNlIDA6cmV0dXJuIGUoUyk7Y2FzZSAxOmJyZWFrO2Nhc2UgMjpicmVhayB4O2RlZmF1bHQ6cmV0dXJuIGwoUyl9fX1icmVhaztkZWZhdWx0OnJldHVybiBsKFMpfX1mdW5jdGlvbiBqKFMpe1coUywxNSk7dmFyIEc9WDIoeShTKSk7aWYoRyE9PTApcmV0dXJuIEc9PT0xP2IoUyk6dyhTKTtmb3IoOzspaWYoVyhTLDE1KSxjcih5KFMpKSE9PTApcmV0dXJuIHcoUyl9ZnVuY3Rpb24gSShTKXtXKFMsMjgpO3ZhciBHPVgyKHkoUykpO2lmKEchPT0wKXJldHVybiBHPT09MT9lKFMpOncoUyk7Zm9yKDs7KWlmKFcoUywyNiksY3IoeShTKSkhPT0wKXJldHVybiB3KFMpfWZ1bmN0aW9uIEYoUyl7Zm9yKDs7KWlmKFcoUyw5KSxjcih5KFMpKSE9PTApcmV0dXJuIHcoUyl9ZnVuY3Rpb24gTShTKXtmb3IoOzspaWYoVyhTLDkpLGNyKHkoUykpIT09MClyZXR1cm4gdyhTKX1mdW5jdGlvbiB6KFMpe2Zvcig7OylpZihXKFMsMTMpLGNyKHkoUykpIT09MClyZXR1cm4gdyhTKX1mdW5jdGlvbiBCKFMpe2Zvcig7OylpZihXKFMsMTMpLGNyKHkoUykpIT09MClyZXR1cm4gdyhTKX1mdW5jdGlvbiBLKFMpe2Zvcig7OylpZihXKFMsMTkpLGNyKHkoUykpIT09MClyZXR1cm4gdyhTKX1mdW5jdGlvbiBuMChTKXtmb3IoOzspaWYoVyhTLDE5KSxjcih5KFMpKSE9PTApcmV0dXJuIHcoUyl9ZnVuY3Rpb24gJChTKXtmb3IoOzspe2lmKHZyKHkoUykpIT09MClyZXR1cm4gdyhTKTt4OmZvcig7Oyl7VyhTLDMwKTt2YXIgRz1ZVSh5KFMpKTtpZig0PEc+Pj4wKXJldHVybiB3KFMpO3N3aXRjaChHKXtjYXNlIDA6cmV0dXJuIGUoUyk7Y2FzZSAxOnJldHVybiBOKFMpO2Nhc2UgMjpicmVhaztjYXNlIDM6YnJlYWsgeDtkZWZhdWx0OnJldHVybiBJKFMpfX19fW9yKHIpO3ZhciBIPWZ1bmN0aW9uKFMpe3ZhciBHPUJiMCh5KFMpKTtpZigzMTxHPj4+MClyZXR1cm4gdyhTKTtzd2l0Y2goRyl7Y2FzZSAwOnJldHVybiA2NjtjYXNlIDE6cmV0dXJuIDY3O2Nhc2UgMjppZihXKFMsMSksbXMoeShTKSkhPT0wKXJldHVybiB3KFMpO2Zvcig7OylpZihXKFMsMSksbXMoeShTKSkhPT0wKXJldHVybiB3KFMpO2JyZWFrO2Nhc2UgMzpyZXR1cm4gMDtjYXNlIDQ6cmV0dXJuIFcoUywwKSxBZSh5KFMpKT09PTA/MDp3KFMpO2Nhc2UgNTpyZXR1cm4gNjtjYXNlIDY6cmV0dXJuIDY1O2Nhc2UgNzppZihXKFMsNjcpLFY2KHkoUykpIT09MClyZXR1cm4gdyhTKTt2YXIgcng9eShTKSx5eD1zbjxyeD9CZTxyeD8tMTowOi0xO2lmKHl4IT09MHx8VHYoeShTKSkhPT0wfHxWNih5KFMpKSE9PTApcmV0dXJuIHcoUyk7dmFyIEV4PXkoUyksbng9SmU8RXg/SzI8RXg/LTE6MDotMTtyZXR1cm4gbng9PT0wJiZHaih5KFMpKT09PTA/MzE6dyhTKTtjYXNlIDg6VyhTLDU4KTt2YXIgcDA9eShTKSxGeD0zNzxwMD8zODxwMD8tMTowOi0xO3JldHVybiBGeD09PTA/NTU6dyhTKTtjYXNlIDk6cmV0dXJuIDM4O2Nhc2UgMTA6cmV0dXJuIDM5O2Nhc2UgMTE6cmV0dXJuIFcoUyw1MyksVlUoeShTKSk9PT0wPzQ6dyhTKTtjYXNlIDEyOnJldHVybiA2MTtjYXNlIDEzOnJldHVybiA0MztjYXNlIDE0OnJldHVybiA2MjtjYXNlIDE1OlcoUyw0MSk7dmFyIFN4PXRsKHkoUykpO2lmKFN4PT09MClyZXR1cm4gS2ooeShTKSk9PT0wPzQwOncoUyk7aWYoU3ghPT0xKXJldHVybiB3KFMpO3g6Zm9yKDs7KXtXKFMsMzApO3ZhciBieD1ubyh5KFMpKTtpZig0PGJ4Pj4+MClyZXR1cm4gdyhTKTtzd2l0Y2goYngpe2Nhc2UgMDpyZXR1cm4gZShTKTtjYXNlIDE6YnJlYWs7Y2FzZSAyOnJldHVybiB0KFMpO2Nhc2UgMzpicmVhayB4O2RlZmF1bHQ6cmV0dXJuIGwoUyl9fWZvcig7Oyl7aWYodnIoeShTKSkhPT0wKXJldHVybiB3KFMpO3g6Zm9yKDs7KXtXKFMsMzApO3ZhciBCMD1ubyh5KFMpKTtpZig0PEIwPj4+MClyZXR1cm4gdyhTKTtzd2l0Y2goQjApe2Nhc2UgMDpyZXR1cm4gZShTKTtjYXNlIDE6YnJlYWs7Y2FzZSAyOnJldHVybiB0KFMpO2Nhc2UgMzpicmVhayB4O2RlZmF1bHQ6cmV0dXJuIGwoUyl9fX1icmVhaztjYXNlIDE2OlcoUyw2Nyk7dmFyIFd4PVY1KHkoUykpO2lmKFd4IT09MClyZXR1cm4gV3g9PT0xPzU6dyhTKTtXKFMsMik7dmFyIFl4PUY1KHkoUykpO2lmKDI8WXg+Pj4wKXJldHVybiB3KFMpO3N3aXRjaChZeCl7Y2FzZSAwOmZvcig7Oyl7dmFyIGF4PUY1KHkoUykpO2lmKDI8YXg+Pj4wKXJldHVybiB3KFMpO3N3aXRjaChheCl7Y2FzZSAwOmJyZWFrO2Nhc2UgMTpyZXR1cm4gbShTKTtkZWZhdWx0OnJldHVybiBoKFMpfX1icmVhaztjYXNlIDE6cmV0dXJuIG0oUyk7ZGVmYXVsdDpyZXR1cm4gaChTKX1icmVhaztjYXNlIDE3OlcoUywzMCk7dmFyIFF4PVVVKHkoUykpO2lmKDg8UXg+Pj4wKXJldHVybiB3KFMpO3N3aXRjaChReCl7Y2FzZSAwOnJldHVybiBlKFMpO2Nhc2UgMTpyZXR1cm4gVChTKTtjYXNlIDI6eDpmb3IoOzspe1coUywxNik7dmFyIGt4PUpVKHkoUykpO2lmKDQ8a3g+Pj4wKXJldHVybiB3KFMpO3N3aXRjaChreCl7Y2FzZSAwOnJldHVybiBiKFMpO2Nhc2UgMTpyZXR1cm4gTihTKTtjYXNlIDI6YnJlYWs7Y2FzZSAzOmJyZWFrIHg7ZGVmYXVsdDpyZXR1cm4gaihTKX19Zm9yKDs7KXtXKFMsMTUpO3ZhciB0cj1ENSh5KFMpKTtpZigzPHRyPj4+MClyZXR1cm4gdyhTKTtzd2l0Y2godHIpe2Nhc2UgMDpyZXR1cm4gYihTKTtjYXNlIDE6cmV0dXJuIE4oUyk7Y2FzZSAyOmJyZWFrO2RlZmF1bHQ6cmV0dXJuIGooUyl9fWJyZWFrO2Nhc2UgMzpmb3IoOzspe1coUywzMCk7dmFyIHNyPUQ1KHkoUykpO2lmKDM8c3I+Pj4wKXJldHVybiB3KFMpO3N3aXRjaChzcil7Y2FzZSAwOnJldHVybiBlKFMpO2Nhc2UgMTpyZXR1cm4gTihTKTtjYXNlIDI6YnJlYWs7ZGVmYXVsdDpyZXR1cm4gSShTKX19YnJlYWs7Y2FzZSA0OlcoUywyOSk7dmFyIE1yPXFVKHkoUykpO2lmKE1yPT09MClyZXR1cm4gZShTKTtpZihNciE9PTEpcmV0dXJuIHcoUyk7eDp7cjpmb3IoOzspe1coUywxMCk7dmFyIGEyPSQ1KHkoUykpO2lmKDM8YTI+Pj4wKXJldHVybiB3KFMpO3N3aXRjaChhMil7Y2FzZSAwOnJldHVybiBGKFMpO2Nhc2UgMTpicmVhaztjYXNlIDI6YnJlYWsgeDtkZWZhdWx0OmJyZWFrIHJ9fVcoUyw4KTt2YXIgXzI9WDIoeShTKSk7aWYoXzIhPT0wKXJldHVybiBfMj09PTE/RihTKTp3KFMpO2Zvcig7OylpZihXKFMsNyksY3IoeShTKSkhPT0wKXJldHVybiB3KFMpfXg6Zm9yKDs7KXtpZihocyh5KFMpKSE9PTApcmV0dXJuIHcoUyk7cjpmb3IoOzspe1coUywxMCk7dmFyIGkyPSQ1KHkoUykpO2lmKDM8aTI+Pj4wKXJldHVybiB3KFMpO3N3aXRjaChpMil7Y2FzZSAwOnJldHVybiBNKFMpO2Nhc2UgMTpicmVhaztjYXNlIDI6YnJlYWsgcjtkZWZhdWx0OmJyZWFrIHh9fX1XKFMsOCk7dmFyIFEyPVgyKHkoUykpO2lmKFEyIT09MClyZXR1cm4gUTI9PT0xP00oUyk6dyhTKTtmb3IoOzspaWYoVyhTLDcpLGNyKHkoUykpIT09MClyZXR1cm4gdyhTKTticmVhaztjYXNlIDU6cmV0dXJuIHQoUyk7Y2FzZSA2OlcoUywyOSk7dmFyIGp4PUJVKHkoUykpO2lmKGp4PT09MClyZXR1cm4gZShTKTtpZihqeCE9PTEpcmV0dXJuIHcoUyk7eDp7cjpmb3IoOzspe1coUywxNCk7dmFyIF89VzUoeShTKSk7aWYoMzxfPj4+MClyZXR1cm4gdyhTKTtzd2l0Y2goXyl7Y2FzZSAwOnJldHVybiB6KFMpO2Nhc2UgMTpicmVhaztjYXNlIDI6YnJlYWsgeDtkZWZhdWx0OmJyZWFrIHJ9fVcoUywxMik7dmFyIFY9WDIoeShTKSk7aWYoViE9PTApcmV0dXJuIFY9PT0xP3ooUyk6dyhTKTtmb3IoOzspaWYoVyhTLDExKSxjcih5KFMpKSE9PTApcmV0dXJuIHcoUyl9eDpmb3IoOzspe2lmKFYxKHkoUykpIT09MClyZXR1cm4gdyhTKTtyOmZvcig7Oyl7VyhTLDE0KTt2YXIgbHg9VzUoeShTKSk7aWYoMzxseD4+PjApcmV0dXJuIHcoUyk7c3dpdGNoKGx4KXtjYXNlIDA6cmV0dXJuIEIoUyk7Y2FzZSAxOmJyZWFrO2Nhc2UgMjpicmVhayByO2RlZmF1bHQ6YnJlYWsgeH19fVcoUywxMik7dmFyIFUwPVgyKHkoUykpO2lmKFUwIT09MClyZXR1cm4gVTA9PT0xP0IoUyk6dyhTKTtmb3IoOzspaWYoVyhTLDExKSxjcih5KFMpKSE9PTApcmV0dXJuIHcoUyk7YnJlYWs7Y2FzZSA3OlcoUywyOSk7dmFyIG94PUNVKHkoUykpO2lmKG94PT09MClyZXR1cm4gZShTKTtpZihveCE9PTEpcmV0dXJuIHcoUyk7eDp7cjpmb3IoOzspe1coUywyMCk7dmFyIHd4PVE1KHkoUykpO2lmKDM8d3g+Pj4wKXJldHVybiB3KFMpO3N3aXRjaCh3eCl7Y2FzZSAwOnJldHVybiBLKFMpO2Nhc2UgMTpicmVhaztjYXNlIDI6YnJlYWsgeDtkZWZhdWx0OmJyZWFrIHJ9fVcoUywxOCk7dmFyIENyPVgyKHkoUykpO2lmKENyIT09MClyZXR1cm4gQ3I9PT0xP0soUyk6dyhTKTtmb3IoOzspaWYoVyhTLDE3KSxjcih5KFMpKSE9PTApcmV0dXJuIHcoUyl9eDpmb3IoOzspe2lmKFRyKHkoUykpIT09MClyZXR1cm4gdyhTKTtyOmZvcig7Oyl7VyhTLDIwKTt2YXIgSHg9UTUoeShTKSk7aWYoMzxIeD4+PjApcmV0dXJuIHcoUyk7c3dpdGNoKEh4KXtjYXNlIDA6cmV0dXJuIG4wKFMpO2Nhc2UgMTpicmVhaztjYXNlIDI6YnJlYWsgcjtkZWZhdWx0OmJyZWFrIHh9fX1XKFMsMTgpO3ZhciBacj1YMih5KFMpKTtpZihaciE9PTApcmV0dXJuIFpyPT09MT9uMChTKTp3KFMpO2Zvcig7OylpZihXKFMsMTcpLGNyKHkoUykpIT09MClyZXR1cm4gdyhTKTticmVhaztkZWZhdWx0OnJldHVybiBJKFMpfWJyZWFrO2Nhc2UgMTg6VyhTLDMwKTt2YXIgZHI9TDUoeShTKSk7aWYoNTxkcj4+PjApcmV0dXJuIHcoUyk7c3dpdGNoKGRyKXtjYXNlIDA6cmV0dXJuIGUoUyk7Y2FzZSAxOnJldHVybiBUKFMpO2Nhc2UgMjpmb3IoOzspe1coUywzMCk7dmFyIE9yPUw1KHkoUykpO2lmKDU8T3I+Pj4wKXJldHVybiB3KFMpO3N3aXRjaChPcil7Y2FzZSAwOnJldHVybiBlKFMpO2Nhc2UgMTpyZXR1cm4gVChTKTtjYXNlIDI6YnJlYWs7Y2FzZSAzOnJldHVybiB0KFMpO2Nhc2UgNDpyZXR1cm4gJChTKTtkZWZhdWx0OnJldHVybiBJKFMpfX1icmVhaztjYXNlIDM6cmV0dXJuIHQoUyk7Y2FzZSA0OnJldHVybiAkKFMpO2RlZmF1bHQ6cmV0dXJuIEkoUyl9YnJlYWs7Y2FzZSAxOTpyZXR1cm4gNDQ7Y2FzZSAyMDpyZXR1cm4gNDI7Y2FzZSAyMTpyZXR1cm4gNDk7Y2FzZSAyMjpXKFMsNTEpO3ZhciB4Mj15KFMpLHV4PTYxPHgyPzYyPHgyPy0xOjA6LTE7cmV0dXJuIHV4PT09MD81OTp3KFMpO2Nhc2UgMjM6cmV0dXJuIDUwO2Nhc2UgMjQ6cmV0dXJuIFcoUyw0NiksS2ooeShTKSk9PT0wPzQ1OncoUyk7Y2FzZSAyNTpyZXR1cm4gMzI7Y2FzZSAyNjppZihXKFMsNjcpLGZvKHkoUykpIT09MClyZXR1cm4gdyhTKTt2YXIgTHg9YnYoeShTKSk7aWYoTHg9PT0wKXJldHVybiBUcih5KFMpKT09PTAmJlRyKHkoUykpPT09MCYmVHIoeShTKSk9PT0wPzY1OncoUyk7aWYoTHghPT0xfHxUcih5KFMpKSE9PTApcmV0dXJuIHcoUyk7Zm9yKDs7KXt2YXIgWng9X3YoeShTKSk7aWYoWnghPT0wKXJldHVybiBaeD09PTE/NjU6dyhTKX1icmVhaztjYXNlIDI3OnJldHVybiAzMztjYXNlIDI4OmlmKFcoUyw2NSksVHYoeShTKSkhPT0wfHxCNSh5KFMpKSE9PTB8fFZqKHkoUykpIT09MHx8VHYoeShTKSkhPT0wfHwkNih5KFMpKSE9PTB8fEdqKHkoUykpIT09MClyZXR1cm4gdyhTKTt2YXIgcXI9eShTKSxZMj00MTxxcj82Mzxxcj8tMTpKMChcIlx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMlwiLHFyK2J3fDApLTF8MDotMTtyZXR1cm4gWTI9PT0wPzY0OlkyPT09MT82Mzp3KFMpO2Nhc2UgMjk6VyhTLDM0KTt2YXIgSDI9eShTKSxLdD1ybjxIMj9TMzxIMj8tMTowOi0xO3JldHVybiBLdD09PTA/MzY6dyhTKTtjYXNlIDMwOlcoUyw1Nyk7dmFyIGR0PXkoUyksSnQ9cm48ZHQ/QmE8ZHQ/LTE6SjAocTgsZHQtMTI0fDApLTF8MDotMTtyZXR1cm4gSnQ9PT0wPzU2Okp0PT09MT8zNzp3KFMpO2RlZmF1bHQ6cmV0dXJuIDM1fX0ocik7aWYoNjc8SD4+PjApcmV0dXJuIFR4KG9uMCk7dmFyIHQwPUg7aWYoMzQ+dDApc3dpdGNoKHQwKXtjYXNlIDA6cmV0dXJuWzIsJDEoeCxyKV07Y2FzZSAxOnJldHVyblsyLHhdO2Nhc2UgMjp2YXIgYzA9QTEoeCxyKSxyMD0kcihCciksdjA9RXYoeCxyMCxyKSxhMD12MFsxXTtyZXR1cm5bMSxhMCxxdChhMCxjMCx2MFsyXSxyMCwxKV07Y2FzZSAzOnZhciBnMD1EeChyKTtpZigheFs1XSl7dmFyIGkwPUExKHgsciksczA9JHIoQnIpO2lyKHMwLGcwKTt2YXIgZDA9RXYoeCxzMCxyKSx3MD1kMFsxXTtyZXR1cm5bMSx3MCxxdCh3MCxpMCxkMFsyXSxzMCwxKV19dmFyIE0wPXhbNF0/eEIoeCx6cih4LHIpLGcwKTp4LEMwPUE1KDEsTTApLEQwPXc1KHIpO3JldHVybiBicihKNihyLEQwLTF8MCwxKSxNbykmJlAoSjYocixEMC0yfDAsMSksTW8pP1swLEMwLDg3XTpbMixDMF07Y2FzZSA0OmlmKHhbNF0pcmV0dXJuWzIsQTUoMCx4KV07eGwociksb3Iocik7dmFyIEkwPURVKHkocikpPT09MD8wOncocik7cmV0dXJuIEkwPT09MD9bMCx4LEsyXTpUeCh2bjApO2Nhc2UgNTp2YXIgajA9QTEoeCxyKSx5MD0kcihCciksWTA9bmwoeCx5MCxyKSxMPVkwWzFdO3JldHVyblsxLEwscXQoTCxqMCxZMFsyXSx5MCwwKV07Y2FzZSA2OnZhciBOMD1EeChyKSxTMD1BMSh4LHIpLEswPSRyKEJyKSxBMD0kcihCcik7aXIoQTAsTjApO3ZhciAkMD11Qih4LE4wLEswLEEwLDAsciksZXg9JDBbMV0seHg9JDBbM10sdHg9WzAsZXhbMV0sUzAsJDBbMl1dLHowPUcyKEEwKTtyZXR1cm5bMCxleCxbMixbMCx0eCxHMihLMCksejAseHhdXV07Y2FzZSA3OnJldHVybiBEMih4LHIsZnVuY3Rpb24oUyxHKXtvcihHKTt4OmlmKFNlKHkoRykpPT09MCYmcTUoeShHKSk9PT0wJiZocyh5KEcpKT09PTApe3I6Zm9yKDs7KXt2YXIgcng9QzUoeShHKSk7aWYoMjxyeD4+PjApe3ZhciBueD13KEcpO2JyZWFrIHh9c3dpdGNoKHJ4KXtjYXNlIDA6YnJlYWs7Y2FzZSAxOmJyZWFrIHI7ZGVmYXVsdDp2YXIgbng9MDticmVhayB4fX1mb3IoOzspe3I6e2lmKGhzKHkoRykpPT09MCl7ZTpmb3IoOzspe3ZhciB5eD1DNSh5KEcpKTtpZigyPHl4Pj4+MCl7dmFyIEV4PXcoRyk7YnJlYWsgcn1zd2l0Y2goeXgpe2Nhc2UgMDpicmVhaztjYXNlIDE6YnJlYWsgZTtkZWZhdWx0OnZhciBFeD0wO2JyZWFrIHJ9fWNvbnRpbnVlfXZhciBFeD13KEcpfXZhciBueD1FeDticmVha319ZWxzZSB2YXIgbng9dyhHKTtyZXR1cm4gbng9PT0wP1swLFMsQnQoMCxsMihHKSldOlR4KGFuMCl9KTtjYXNlIDg6cmV0dXJuWzAseCxCdCgwLGwyKHIpKV07Y2FzZSA5OnJldHVybiBEMih4LHIsZnVuY3Rpb24oUyxHKXtpZihvcihHKSxTZSh5KEcpKT09PTAmJnE1KHkoRykpPT09MCYmaHMoeShHKSk9PT0wKXtmb3IoOzspe1coRywwKTt2YXIgcng9ajUoeShHKSk7aWYocnghPT0wKWJyZWFrfWlmKHJ4PT09MSlmb3IoOzspe2lmKGhzKHkoRykpPT09MCl7Zm9yKDs7KXtXKEcsMCk7dmFyIHl4PWo1KHkoRykpO2lmKHl4IT09MClicmVha31pZih5eD09PTEpY29udGludWU7dmFyIEV4PXcoRyl9ZWxzZSB2YXIgRXg9dyhHKTt2YXIgbng9RXg7YnJlYWt9ZWxzZSB2YXIgbng9dyhHKX1lbHNlIHZhciBueD13KEcpO3JldHVybiBueD09PTA/WzAsUyxVdCgwLGwyKEcpKV06VHgoc24wKX0pO2Nhc2UgMTA6cmV0dXJuWzAseCxVdCgwLGwyKHIpKV07Y2FzZSAxMTpyZXR1cm4gRDIoeCxyLGZ1bmN0aW9uKFMsRyl7b3IoRyk7eDppZihTZSh5KEcpKT09PTAmJno1KHkoRykpPT09MCYmVjEoeShHKSk9PT0wKXtyOmZvcig7Oyl7dmFyIHJ4PU01KHkoRykpO2lmKDI8cng+Pj4wKXt2YXIgbng9dyhHKTticmVhayB4fXN3aXRjaChyeCl7Y2FzZSAwOmJyZWFrO2Nhc2UgMTpicmVhayByO2RlZmF1bHQ6dmFyIG54PTA7YnJlYWsgeH19Zm9yKDs7KXtyOntpZihWMSh5KEcpKT09PTApe2U6Zm9yKDs7KXt2YXIgeXg9TTUoeShHKSk7aWYoMjx5eD4+PjApe3ZhciBFeD13KEcpO2JyZWFrIHJ9c3dpdGNoKHl4KXtjYXNlIDA6YnJlYWs7Y2FzZSAxOmJyZWFrIGU7ZGVmYXVsdDp2YXIgRXg9MDticmVhayByfX1jb250aW51ZX12YXIgRXg9dyhHKX12YXIgbng9RXg7YnJlYWt9fWVsc2UgdmFyIG54PXcoRyk7cmV0dXJuIG54PT09MD9bMCxTLEJ0KDEsbDIoRykpXTpUeChjbjApfSk7Y2FzZSAxMjpyZXR1cm5bMCx4LEJ0KDEsbDIocikpXTtjYXNlIDEzOnJldHVybiBEMih4LHIsZnVuY3Rpb24oUyxHKXtpZihvcihHKSxTZSh5KEcpKT09PTAmJno1KHkoRykpPT09MCYmVjEoeShHKSk9PT0wKXtmb3IoOzspe1coRywwKTt2YXIgcng9UjUoeShHKSk7aWYocnghPT0wKWJyZWFrfWlmKHJ4PT09MSlmb3IoOzspe2lmKFYxKHkoRykpPT09MCl7Zm9yKDs7KXtXKEcsMCk7dmFyIHl4PVI1KHkoRykpO2lmKHl4IT09MClicmVha31pZih5eD09PTEpY29udGludWU7dmFyIEV4PXcoRyl9ZWxzZSB2YXIgRXg9dyhHKTt2YXIgbng9RXg7YnJlYWt9ZWxzZSB2YXIgbng9dyhHKX1lbHNlIHZhciBueD13KEcpO3JldHVybiBueD09PTA/WzAsUyxVdCgzLGwyKEcpKV06VHgoZm4wKX0pO2Nhc2UgMTQ6cmV0dXJuWzAseCxVdCgzLGwyKHIpKV07Y2FzZSAxNTpyZXR1cm4gRDIoeCxyLGZ1bmN0aW9uKFMsRyl7aWYob3IoRyksU2UoeShHKSk9PT0wJiZWMSh5KEcpKT09PTApe2Zvcig7OylpZihXKEcsMCksVjEoeShHKSkhPT0wKXt2YXIgcng9dyhHKTticmVha319ZWxzZSB2YXIgcng9dyhHKTtyZXR1cm4gcng9PT0wP1swLFMsVXQoMSxsMihHKSldOlR4KGluMCl9KTtjYXNlIDE2OnJldHVyblswLHgsVXQoMSxsMihyKSldO2Nhc2UgMTc6cmV0dXJuIEQyKHgscixmdW5jdGlvbihTLEcpe29yKEcpO3g6aWYoU2UoeShHKSk9PT0wJiZJNSh5KEcpKT09PTAmJlRyKHkoRykpPT09MCl7cjpmb3IoOzspe3ZhciByeD1PNSh5KEcpKTtpZigyPHJ4Pj4+MCl7dmFyIG54PXcoRyk7YnJlYWsgeH1zd2l0Y2gocngpe2Nhc2UgMDpicmVhaztjYXNlIDE6YnJlYWsgcjtkZWZhdWx0OnZhciBueD0wO2JyZWFrIHh9fWZvcig7Oyl7cjp7aWYoVHIoeShHKSk9PT0wKXtlOmZvcig7Oyl7dmFyIHl4PU81KHkoRykpO2lmKDI8eXg+Pj4wKXt2YXIgRXg9dyhHKTticmVhayByfXN3aXRjaCh5eCl7Y2FzZSAwOmJyZWFrO2Nhc2UgMTpicmVhayBlO2RlZmF1bHQ6dmFyIEV4PTA7YnJlYWsgcn19Y29udGludWV9dmFyIEV4PXcoRyl9dmFyIG54PUV4O2JyZWFrfX1lbHNlIHZhciBueD13KEcpO3JldHVybiBueD09PTA/WzAsUyxCdCgyLGwyKEcpKV06VHgodW4wKX0pO2Nhc2UgMTg6cmV0dXJuWzAseCxCdCgyLGwyKHIpKV07Y2FzZSAxOTpyZXR1cm4gRDIoeCxyLGZ1bmN0aW9uKFMsRyl7aWYob3IoRyksU2UoeShHKSk9PT0wJiZJNSh5KEcpKT09PTAmJlRyKHkoRykpPT09MCl7Zm9yKDs7KXtXKEcsMCk7dmFyIHJ4PUc1KHkoRykpO2lmKHJ4IT09MClicmVha31pZihyeD09PTEpZm9yKDs7KXtpZihUcih5KEcpKT09PTApe2Zvcig7Oyl7VyhHLDApO3ZhciB5eD1HNSh5KEcpKTtpZih5eCE9PTApYnJlYWt9aWYoeXg9PT0xKWNvbnRpbnVlO3ZhciBFeD13KEcpfWVsc2UgdmFyIEV4PXcoRyk7dmFyIG54PUV4O2JyZWFrfWVsc2UgdmFyIG54PXcoRyl9ZWxzZSB2YXIgbng9dyhHKTtyZXR1cm4gbng9PT0wP1swLFMsVXQoNCxsMihHKSldOlR4KG5uMCl9KTtjYXNlIDIwOnJldHVyblswLHgsVXQoNCxsMihyKSldO2Nhc2UgMjE6cmV0dXJuIEQyKHgscixmdW5jdGlvbihTLEcpe2Z1bmN0aW9uIHJ4KGt4KXt2YXIgdHI9SDUoeShreCkpO2lmKDI8dHI+Pj4wKXJldHVybiB3KGt4KTtzd2l0Y2godHIpe2Nhc2UgMDp2YXIgc3I9dG8oeShreCkpO3JldHVybiBzcj09PTA/eXgoa3gpOnNyPT09MT9FeChreCk6dyhreCk7Y2FzZSAxOnJldHVybiB5eChreCk7ZGVmYXVsdDpyZXR1cm4gRXgoa3gpfX1mdW5jdGlvbiB5eChreCl7Zm9yKDs7KXt2YXIgdHI9ZWwoeShreCkpO2lmKHRyIT09MClyZXR1cm4gdHI9PT0xPzA6dyhreCl9fWZ1bmN0aW9uIEV4KGt4KXtmb3IoOzspe3ZhciB0cj1MdCh5KGt4KSk7aWYoMjx0cj4+PjApcmV0dXJuIHcoa3gpO3N3aXRjaCh0cil7Y2FzZSAwOmJyZWFrO2Nhc2UgMTpmb3IoOzspe2lmKHZyKHkoa3gpKSE9PTApcmV0dXJuIHcoa3gpO3g6Zm9yKDs7KXt2YXIgc3I9THQoeShreCkpO2lmKDI8c3I+Pj4wKXJldHVybiB3KGt4KTtzd2l0Y2goc3Ipe2Nhc2UgMDpicmVhaztjYXNlIDE6YnJlYWsgeDtkZWZhdWx0OnJldHVybiAwfX19YnJlYWs7ZGVmYXVsdDpyZXR1cm4gMH19fWZ1bmN0aW9uIG54KGt4KXt2YXIgdHI9SzUoeShreCkpO2lmKHRyIT09MClyZXR1cm4gdHI9PT0xP3J4KGt4KTp3KGt4KTt4OmZvcig7Oyl7dmFyIHNyPXZlKHkoa3gpKTtpZigyPHNyPj4+MClyZXR1cm4gdyhreCk7c3dpdGNoKHNyKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnJldHVybiByeChreCk7ZGVmYXVsdDpicmVhayB4fX1mb3IoOzspe2lmKHZyKHkoa3gpKSE9PTApcmV0dXJuIHcoa3gpO3g6Zm9yKDs7KXt2YXIgTXI9dmUoeShreCkpO2lmKDI8TXI+Pj4wKXJldHVybiB3KGt4KTtzd2l0Y2goTXIpe2Nhc2UgMDpicmVhaztjYXNlIDE6cmV0dXJuIHJ4KGt4KTtkZWZhdWx0OmJyZWFrIHh9fX19b3IoRyk7dmFyIHAwPWVvKHkoRykpO2lmKDI8cDA+Pj4wKXZhciBGeD13KEcpO2Vsc2UgeDpzd2l0Y2gocDApe2Nhc2UgMDppZih2cih5KEcpKT09PTApe3I6Zm9yKDs7KXt2YXIgU3g9dmUoeShHKSk7aWYoMjxTeD4+PjApe3ZhciBGeD13KEcpO2JyZWFrIHh9c3dpdGNoKFN4KXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnZhciBGeD1yeChHKTticmVhayB4O2RlZmF1bHQ6YnJlYWsgcn19Zm9yKDs7KXtyOntpZih2cih5KEcpKT09PTApe2U6Zm9yKDs7KXt2YXIgYng9dmUoeShHKSk7aWYoMjxieD4+PjApe3ZhciBCMD13KEcpO2JyZWFrIHJ9c3dpdGNoKGJ4KXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnZhciBCMD1yeChHKTticmVhayByO2RlZmF1bHQ6YnJlYWsgZX19Y29udGludWV9dmFyIEIwPXcoRyl9dmFyIEZ4PUIwO2JyZWFrfX1lbHNlIHZhciBGeD13KEcpO2JyZWFrO2Nhc2UgMTp2YXIgV3g9TjUoeShHKSksRng9V3g9PT0wP254KEcpOld4PT09MT9yeChHKTp3KEcpO2JyZWFrO2RlZmF1bHQ6cjpmb3IoOzspe3ZhciBZeD1ZNSh5KEcpKTtpZigyPFl4Pj4+MCl7dmFyIEZ4PXcoRyk7YnJlYWt9c3dpdGNoKFl4KXtjYXNlIDA6dmFyIEZ4PW54KEcpO2JyZWFrIHI7Y2FzZSAxOmJyZWFrO2RlZmF1bHQ6dmFyIEZ4PXJ4KEcpO2JyZWFrIHJ9fX1pZihGeCE9PTApcmV0dXJuIFR4KHRuMCk7dmFyIGF4PWwyKEcpLFF4PVAxKFMsenIoUyxHKSw0Mik7cmV0dXJuWzAsUXgsQnQoMixheCldfSk7Y2FzZSAyMjp2YXIgcHg9bDIociksc3g9UDEoeCx6cih4LHIpLDQyKTtyZXR1cm5bMCxzeCxCdCgyLHB4KV07Y2FzZSAyMzpyZXR1cm4gRDIoeCxyLGZ1bmN0aW9uKFMsRyl7ZnVuY3Rpb24gcngoYXgpe3ZhciBReD1INSh5KGF4KSk7aWYoMjxReD4+PjApcmV0dXJuIHcoYXgpO3N3aXRjaChReCl7Y2FzZSAwOnZhciBreD10byh5KGF4KSk7cmV0dXJuIGt4PT09MD95eChheCk6a3g9PT0xP0V4KGF4KTp3KGF4KTtjYXNlIDE6cmV0dXJuIHl4KGF4KTtkZWZhdWx0OnJldHVybiBFeChheCl9fWZ1bmN0aW9uIHl4KGF4KXtmb3IoOzspaWYoVyhheCwwKSx2cih5KGF4KSkhPT0wKXJldHVybiB3KGF4KX1mdW5jdGlvbiBFeChheCl7Zm9yKDs7KXtXKGF4LDApO3ZhciBReD11byh5KGF4KSk7aWYoUXghPT0wKXtpZihReCE9PTEpcmV0dXJuIHcoYXgpO2Zvcig7Oyl7aWYodnIoeShheCkpIT09MClyZXR1cm4gdyhheCk7Zm9yKDs7KXtXKGF4LDApO3ZhciBreD11byh5KGF4KSk7aWYoa3ghPT0wKWJyZWFrfWlmKGt4IT09MSlyZXR1cm4gdyhheCl9fX19ZnVuY3Rpb24gbngoYXgpe3ZhciBReD1LNSh5KGF4KSk7aWYoUXghPT0wKXJldHVybiBReD09PTE/cngoYXgpOncoYXgpO3g6Zm9yKDs7KXt2YXIga3g9dmUoeShheCkpO2lmKDI8a3g+Pj4wKXJldHVybiB3KGF4KTtzd2l0Y2goa3gpe2Nhc2UgMDpicmVhaztjYXNlIDE6cmV0dXJuIHJ4KGF4KTtkZWZhdWx0OmJyZWFrIHh9fWZvcig7Oyl7aWYodnIoeShheCkpIT09MClyZXR1cm4gdyhheCk7eDpmb3IoOzspe3ZhciB0cj12ZSh5KGF4KSk7aWYoMjx0cj4+PjApcmV0dXJuIHcoYXgpO3N3aXRjaCh0cil7Y2FzZSAwOmJyZWFrO2Nhc2UgMTpyZXR1cm4gcngoYXgpO2RlZmF1bHQ6YnJlYWsgeH19fX1vcihHKTt2YXIgcDA9ZW8oeShHKSk7aWYoMjxwMD4+PjApdmFyIEZ4PXcoRyk7ZWxzZSB4OnN3aXRjaChwMCl7Y2FzZSAwOmlmKHZyKHkoRykpPT09MCl7cjpmb3IoOzspe3ZhciBTeD12ZSh5KEcpKTtpZigyPFN4Pj4+MCl7dmFyIEZ4PXcoRyk7YnJlYWsgeH1zd2l0Y2goU3gpe2Nhc2UgMDpicmVhaztjYXNlIDE6dmFyIEZ4PXJ4KEcpO2JyZWFrIHg7ZGVmYXVsdDpicmVhayByfX1mb3IoOzspe3I6e2lmKHZyKHkoRykpPT09MCl7ZTpmb3IoOzspe3ZhciBieD12ZSh5KEcpKTtpZigyPGJ4Pj4+MCl7dmFyIEIwPXcoRyk7YnJlYWsgcn1zd2l0Y2goYngpe2Nhc2UgMDpicmVhaztjYXNlIDE6dmFyIEIwPXJ4KEcpO2JyZWFrIHI7ZGVmYXVsdDpicmVhayBlfX1jb250aW51ZX12YXIgQjA9dyhHKX12YXIgRng9QjA7YnJlYWt9fWVsc2UgdmFyIEZ4PXcoRyk7YnJlYWs7Y2FzZSAxOnZhciBXeD1ONSh5KEcpKSxGeD1XeD09PTA/bngoRyk6V3g9PT0xP3J4KEcpOncoRyk7YnJlYWs7ZGVmYXVsdDpyOmZvcig7Oyl7dmFyIFl4PVk1KHkoRykpO2lmKDI8WXg+Pj4wKXt2YXIgRng9dyhHKTticmVha31zd2l0Y2goWXgpe2Nhc2UgMDp2YXIgRng9bngoRyk7YnJlYWsgcjtjYXNlIDE6YnJlYWs7ZGVmYXVsdDp2YXIgRng9cngoRyk7YnJlYWsgcn19fXJldHVybiBGeD09PTA/WzAsUyxVdCg0LGwyKEcpKV06VHgoZW4wKX0pO2Nhc2UgMjQ6cmV0dXJuWzAseCxVdCg0LGwyKHIpKV07Y2FzZSAyNTpyZXR1cm4gRDIoeCxyLGZ1bmN0aW9uKFMsRyl7ZnVuY3Rpb24gcngoWXgpe2Zvcig7Oyl7dmFyIGF4PUx0KHkoWXgpKTtpZigyPGF4Pj4+MClyZXR1cm4gdyhZeCk7c3dpdGNoKGF4KXtjYXNlIDA6YnJlYWs7Y2FzZSAxOmZvcig7Oyl7aWYodnIoeShZeCkpIT09MClyZXR1cm4gdyhZeCk7eDpmb3IoOzspe3ZhciBReD1MdCh5KFl4KSk7aWYoMjxReD4+PjApcmV0dXJuIHcoWXgpO3N3aXRjaChReCl7Y2FzZSAwOmJyZWFrO2Nhc2UgMTpicmVhayB4O2RlZmF1bHQ6cmV0dXJuIDB9fX1icmVhaztkZWZhdWx0OnJldHVybiAwfX19ZnVuY3Rpb24geXgoWXgpe3ZhciBheD1lbCh5KFl4KSk7cmV0dXJuIGF4PT09MD9yeChZeCk6YXg9PT0xPzA6dyhZeCl9b3IoRyk7dmFyIEV4PWVvKHkoRykpO2lmKDI8RXg+Pj4wKXZhciBueD13KEcpO2Vsc2UgeDpzd2l0Y2goRXgpe2Nhc2UgMDp2YXIgbng9dnIoeShHKSk9PT0wP3J4KEcpOncoRyk7YnJlYWs7Y2FzZSAxOmZvcig7Oyl7dmFyIHAwPXRsKHkoRykpO2lmKHAwPT09MCl7dmFyIG54PXl4KEcpO2JyZWFrfWlmKHAwIT09MSl7dmFyIG54PXcoRyk7YnJlYWt9fWJyZWFrO2RlZmF1bHQ6cjpmb3IoOzspe3ZhciBGeD1pbyh5KEcpKTtpZigyPEZ4Pj4+MCl7dmFyIG54PXcoRyk7YnJlYWsgeH1zd2l0Y2goRngpe2Nhc2UgMDp2YXIgbng9eXgoRyk7YnJlYWsgeDtjYXNlIDE6YnJlYWs7ZGVmYXVsdDpicmVhayByfX1mb3IoOzspe3I6e2lmKHZyKHkoRykpPT09MCl7ZTpmb3IoOzspe3ZhciBTeD1pbyh5KEcpKTtpZigyPFN4Pj4+MCl7dmFyIGJ4PXcoRyk7YnJlYWsgcn1zd2l0Y2goU3gpe2Nhc2UgMDp2YXIgYng9eXgoRyk7YnJlYWsgcjtjYXNlIDE6YnJlYWs7ZGVmYXVsdDpicmVhayBlfX1jb250aW51ZX12YXIgYng9dyhHKX12YXIgbng9Yng7YnJlYWt9fWlmKG54IT09MClyZXR1cm4gVHgocm4wKTt2YXIgQjA9bDIoRyksV3g9UDEoUyx6cihTLEcpLDM0KTtyZXR1cm5bMCxXeCxCdCgyLEIwKV19KTtjYXNlIDI2OnJldHVybiBEMih4LHIsZnVuY3Rpb24oUyxHKXtvcihHKTt2YXIgcng9dG8oeShHKSk7eDppZihyeD09PTApZm9yKDs7KXt2YXIgeXg9ZWwoeShHKSk7aWYoeXghPT0wKXtpZih5eD09PTEpe3ZhciBGeD0wO2JyZWFrfXZhciBGeD13KEcpO2JyZWFrfX1lbHNlIGlmKHJ4PT09MSl7cjpmb3IoOzspe3ZhciBFeD1MdCh5KEcpKTtpZigyPEV4Pj4+MCl7dmFyIEZ4PXcoRyk7YnJlYWsgeH1zd2l0Y2goRXgpe2Nhc2UgMDpicmVhaztjYXNlIDE6YnJlYWsgcjtkZWZhdWx0OnZhciBGeD0wO2JyZWFrIHh9fWZvcig7Oyl7cjp7aWYodnIoeShHKSk9PT0wKXtlOmZvcig7Oyl7dmFyIG54PUx0KHkoRykpO2lmKDI8bng+Pj4wKXt2YXIgcDA9dyhHKTticmVhayByfXN3aXRjaChueCl7Y2FzZSAwOmJyZWFrO2Nhc2UgMTpicmVhayBlO2RlZmF1bHQ6dmFyIHAwPTA7YnJlYWsgcn19Y29udGludWV9dmFyIHAwPXcoRyl9dmFyIEZ4PXAwO2JyZWFrfX1lbHNlIHZhciBGeD13KEcpO3JldHVybiBGeD09PTA/WzAsUyxCdCgyLGwyKEcpKV06VHgoeG4wKX0pO2Nhc2UgMjc6dmFyIFE9bDIociksYjA9UDEoeCx6cih4LHIpLDM0KTtyZXR1cm5bMCxiMCxCdCgyLFEpXTtjYXNlIDI4OnJldHVyblswLHgsQnQoMixsMihyKSldO2Nhc2UgMjk6cmV0dXJuIEQyKHgscixmdW5jdGlvbihTLEcpe2Z1bmN0aW9uIHJ4KEIwKXtmb3IoOzspe1coQjAsMCk7dmFyIFd4PXVvKHkoQjApKTtpZihXeCE9PTApe2lmKFd4IT09MSlyZXR1cm4gdyhCMCk7Zm9yKDs7KXtpZih2cih5KEIwKSkhPT0wKXJldHVybiB3KEIwKTtmb3IoOzspe1coQjAsMCk7dmFyIFl4PXVvKHkoQjApKTtpZihZeCE9PTApYnJlYWt9aWYoWXghPT0xKXJldHVybiB3KEIwKX19fX1mdW5jdGlvbiB5eChCMCl7cmV0dXJuIFcoQjAsMCksdnIoeShCMCkpPT09MD9yeChCMCk6dyhCMCl9b3IoRyk7dmFyIEV4PWVvKHkoRykpO2lmKDI8RXg+Pj4wKXZhciBueD13KEcpO2Vsc2UgeDpzd2l0Y2goRXgpe2Nhc2UgMDp2YXIgbng9dnIoeShHKSk9PT0wP3J4KEcpOncoRyk7YnJlYWs7Y2FzZSAxOmZvcig7Oyl7VyhHLDApO3ZhciBwMD10bCh5KEcpKTtpZihwMD09PTApe3ZhciBueD15eChHKTticmVha31pZihwMCE9PTEpe3ZhciBueD13KEcpO2JyZWFrfX1icmVhaztkZWZhdWx0OnI6Zm9yKDs7KXtXKEcsMCk7dmFyIEZ4PWlvKHkoRykpO2lmKDI8Rng+Pj4wKXt2YXIgbng9dyhHKTticmVhayB4fXN3aXRjaChGeCl7Y2FzZSAwOnZhciBueD15eChHKTticmVhayB4O2Nhc2UgMTpicmVhaztkZWZhdWx0OmJyZWFrIHJ9fWZvcig7Oyl7cjp7aWYodnIoeShHKSk9PT0wKXtlOmZvcig7Oyl7VyhHLDApO3ZhciBTeD1pbyh5KEcpKTtpZigyPFN4Pj4+MCl7dmFyIGJ4PXcoRyk7YnJlYWsgcn1zd2l0Y2goU3gpe2Nhc2UgMDp2YXIgYng9eXgoRyk7YnJlYWsgcjtjYXNlIDE6YnJlYWs7ZGVmYXVsdDpicmVhayBlfX1jb250aW51ZX12YXIgYng9dyhHKX12YXIgbng9Yng7YnJlYWt9fXJldHVybiBueD09PTA/WzAsUyxVdCg0LGwyKEcpKV06VHgoWnQwKX0pO2Nhc2UgMzA6cmV0dXJuWzAseCxVdCg0LGwyKHIpKV07Y2FzZSAzMTpyZXR1cm5bMCx4LDY3XTtjYXNlIDMyOnJldHVyblswLHgsNl07ZGVmYXVsdDpyZXR1cm5bMCx4LDddfXN3aXRjaCh0MCl7Y2FzZSAzNDpyZXR1cm5bMCx4LDBdO2Nhc2UgMzU6cmV0dXJuWzAseCwxXTtjYXNlIDM2OnJldHVyblswLHgsMl07Y2FzZSAzNzpyZXR1cm5bMCx4LDNdO2Nhc2UgMzg6cmV0dXJuWzAseCw0XTtjYXNlIDM5OnJldHVyblswLHgsNV07Y2FzZSA0MDpyZXR1cm5bMCx4LDEyXTtjYXNlIDQxOnJldHVyblswLHgsMTBdO2Nhc2UgNDI6cmV0dXJuWzAseCw4XTtjYXNlIDQzOnJldHVyblswLHgsOV07Y2FzZSA0NDpyZXR1cm5bMCx4LDg3XTtjYXNlIDQ1OnJldHVyblswLHgsODRdO2Nhc2UgNDY6cmV0dXJuWzAseCw4Nl07Y2FzZSA0NzpyZXR1cm5bMCx4LDZdO2Nhc2UgNDg6cmV0dXJuWzAseCw3XTtjYXNlIDQ5OnJldHVyblswLHgsOTldO2Nhc2UgNTA6cmV0dXJuWzAseCx5Ml07Y2FzZSA1MTpyZXR1cm5bMCx4LDgzXTtjYXNlIDUyOnJldHVyblswLHgsODZdO2Nhc2UgNTM6cmV0dXJuWzAseCxLMl07Y2FzZSA1NDpyZXR1cm5bMCx4LDg3XTtjYXNlIDU1OnJldHVyblswLHgsODldO2Nhc2UgNTY6cmV0dXJuWzAseCw4OF07Y2FzZSA1NzpyZXR1cm5bMCx4LDkwXTtjYXNlIDU4OnJldHVyblswLHgsOTJdO2Nhc2UgNTk6cmV0dXJuWzAseCwxMV07Y2FzZSA2MDpyZXR1cm5bMCx4LDgzXTtjYXNlIDYxOnJldHVyblswLHgsQmVdO2Nhc2UgNjI6cmV0dXJuWzAseCx1aV07Y2FzZSA2MzpyZXR1cm5bMCx4LHI4XTtjYXNlIDY0OnJldHVyblswLHgsX2tdO2Nhc2UgNjU6dmFyIFU9cls2XTtIVShyKTt2YXIgaDA9UTYoeCxVLHJbM10pO1JqKHIsVSk7dmFyIF8wPWwyKHIpLG0wPXRCKHgsXzApLFQwPW0wWzJdLFg9bTBbMV0sR3g9ZngoVDAsT3ApO2lmKDA8PUd4KXtpZigwPj1HeClyZXR1cm5bMCxYLFdhXTt2YXIgUHg9ZngoVDAsdjYpO2lmKDA8PVB4KXtpZigwPj1QeClyZXR1cm5bMCxYLHMyXTtpZighUChUMCxyYSkpcmV0dXJuWzAsWCwzMl07aWYoIVAoVDAsWnMpKXJldHVyblswLFgsNDddO2lmKCFQKFQwLGZrKSlyZXR1cm5bMCxYLEJhXTtpZighUChUMCxJcCkpcmV0dXJuWzAsWCxybl07aWYoIVAoVDAsV3MpKXJldHVyblswLFgsbTZdfWVsc2V7aWYoIVAoVDAsRnApKXJldHVyblswLFgsUzNdO2lmKCFQKFQwLHV2KSlyZXR1cm5bMCxYLDMwXTtpZighUChUMCxwMykpcmV0dXJuWzAsWCxQM107aWYoIVAoVDAsWm8pKXJldHVyblswLFgsQnJdO2lmKCFQKFQwLFJlKSlyZXR1cm5bMCxYLDQzXTtpZighUChUMCxsMykpcmV0dXJuWzAsWCx2Zl19fWVsc2V7dmFyIEcwPWZ4KFQwLFFmKTtpZigwPD1HMCl7aWYoMD49RzApcmV0dXJuWzAsWCw0Ml07aWYoIVAoVDAsR3MpKXJldHVyblswLFgsMzFdO2lmKCFQKFQwLG0zKSlyZXR1cm5bMCxYLHI2XTtpZighUChUMCxKTykpcmV0dXJuWzAsWCxNMl07aWYoIVAoVDAsaWUpKXJldHVyblswLFgsNTRdO2lmKCFQKFQwLGE2KSlyZXR1cm5bMCxYLFhvXTtpZighUChUMCxIOCkpcmV0dXJuWzAsWCxTa119ZWxzZXtpZighUChUMCx5cCkpcmV0dXJuWzAsWCx0dl07aWYoIVAoVDAsYjMpKXJldHVyblswLFgsZDZdO2lmKCFQKFQwLGF2KSlyZXR1cm5bMCxYLHpsXTtpZighUChUMCxrOCkpcmV0dXJuWzAsWCxwbjBdO2lmKCFQKFQwLCRsKSlyZXR1cm5bMCxYLGxuMF07aWYoIVAoVDAsYmUpKXJldHVyblswLFgseTZdfX1yZXR1cm5bMCxYLFs0LGgwLFQwLEc2KF8wKV1dO2Nhc2UgNjY6dmFyIEtyPXhbNF0/UDEoeCx6cih4LHIpLDkxKTp4O3JldHVyblswLEtyLG1yXTtkZWZhdWx0OnJldHVyblswLHgsWzcsRHgocildXX19KSxXYjA9SDYoZnVuY3Rpb24oeCxyKXtmdW5jdGlvbiBlKF8pe2Zvcig7OylpZihXKF8sMzMpLGNyKHkoXykpIT09MClyZXR1cm4gdyhfKX1mdW5jdGlvbiB0KF8pe1coXywzMyk7dmFyIFY9S1UoeShfKSk7aWYoMzxWPj4+MClyZXR1cm4gdyhfKTtzd2l0Y2goVil7Y2FzZSAwOnJldHVybiBlKF8pO2Nhc2UgMTp2YXIgbHg9dG8oeShfKSk7aWYobHg9PT0wKWZvcig7Oyl7VyhfLDI4KTt2YXIgVTA9cmwoeShfKSk7aWYoMjxVMD4+PjApcmV0dXJuIHcoXyk7c3dpdGNoKFUwKXtjYXNlIDA6cmV0dXJuIHUoXyk7Y2FzZSAxOmJyZWFrO2RlZmF1bHQ6cmV0dXJuIGkoXyl9fWVsc2V7aWYobHghPT0xKXJldHVybiB3KF8pO2Zvcig7Oyl7VyhfLDI4KTt2YXIgb3g9ZHMoeShfKSk7aWYoMzxveD4+PjApcmV0dXJuIHcoXyk7c3dpdGNoKG94KXtjYXNlIDA6cmV0dXJuIHUoXyk7Y2FzZSAxOmJyZWFrO2Nhc2UgMjpyZXR1cm4gYyhfKTtkZWZhdWx0OnJldHVybiBpKF8pfX19YnJlYWs7Y2FzZSAyOmZvcig7Oyl7VyhfLDI4KTt2YXIgd3g9cmwoeShfKSk7aWYoMjx3eD4+PjApcmV0dXJuIHcoXyk7c3dpdGNoKHd4KXtjYXNlIDA6cmV0dXJuIHYoXyk7Y2FzZSAxOmJyZWFrO2RlZmF1bHQ6cmV0dXJuIGEoXyl9fWJyZWFrO2RlZmF1bHQ6Zm9yKDs7KXtXKF8sMjgpO3ZhciBDcj1kcyh5KF8pKTtpZigzPENyPj4+MClyZXR1cm4gdyhfKTtzd2l0Y2goQ3Ipe2Nhc2UgMDpyZXR1cm4gdihfKTtjYXNlIDE6YnJlYWs7Y2FzZSAyOnJldHVybiBjKF8pO2RlZmF1bHQ6cmV0dXJuIGEoXyl9fX19ZnVuY3Rpb24gdShfKXtmb3IoOzspaWYoVyhfLDI3KSxjcih5KF8pKSE9PTApcmV0dXJuIHcoXyl9ZnVuY3Rpb24gaShfKXtXKF8sMjYpO3ZhciBWPVgyKHkoXykpO2lmKFYhPT0wKXJldHVybiBWPT09MT91KF8pOncoXyk7Zm9yKDs7KWlmKFcoXywyNSksY3IoeShfKSkhPT0wKXJldHVybiB3KF8pfWZ1bmN0aW9uIGMoXyl7Zm9yKDs7KXtpZih2cih5KF8pKSE9PTApcmV0dXJuIHcoXyk7eDpmb3IoOzspe1coXywyOCk7dmFyIFY9ZHMoeShfKSk7aWYoMzxWPj4+MClyZXR1cm4gdyhfKTtzd2l0Y2goVil7Y2FzZSAwOnJldHVybiB1KF8pO2Nhc2UgMTpicmVhaztjYXNlIDI6YnJlYWsgeDtkZWZhdWx0OnJldHVybiBpKF8pfX19fWZ1bmN0aW9uIHYoXyl7Zm9yKDs7KWlmKFcoXywyNyksY3IoeShfKSkhPT0wKXJldHVybiB3KF8pfWZ1bmN0aW9uIGEoXyl7VyhfLDI2KTt2YXIgVj1YMih5KF8pKTtpZihWIT09MClyZXR1cm4gVj09PTE/dihfKTp3KF8pO2Zvcig7OylpZihXKF8sMjUpLGNyKHkoXykpIT09MClyZXR1cm4gdyhfKX1mdW5jdGlvbiBsKF8pe1coXywzMSk7dmFyIFY9WDIoeShfKSk7aWYoViE9PTApcmV0dXJuIFY9PT0xP2UoXyk6dyhfKTtmb3IoOzspaWYoVyhfLDI5KSxjcih5KF8pKSE9PTApcmV0dXJuIHcoXyl9ZnVuY3Rpb24gbShfKXtyZXR1cm4gVyhfLDMpLCRVKHkoXykpPT09MD8zOncoXyl9ZnVuY3Rpb24gaChfKXtyZXR1cm4gSjUoeShfKSk9PT0wJiZYNSh5KF8pKT09PTAmJkdVKHkoXykpPT09MCYmTFUoeShfKSk9PT0wJiZNVSh5KF8pKT09PTAmJkI1KHkoXykpPT09MCYmVjYoeShfKSk9PT0wJiZKNSh5KF8pKT09PTAmJmZvKHkoXykpPT09MCYmVmooeShfKSk9PT0wJiZUdih5KF8pKT09PTA/Mzp3KF8pfWZ1bmN0aW9uIFQoXyl7VyhfLDM0KTt2YXIgVj1GVSh5KF8pKTtpZigzPFY+Pj4wKXJldHVybiB3KF8pO3N3aXRjaChWKXtjYXNlIDA6cmV0dXJuIGUoXyk7Y2FzZSAxOng6Zm9yKDs7KXtXKF8sMzQpO3ZhciBseD1ubyh5KF8pKTtpZig0PGx4Pj4+MClyZXR1cm4gdyhfKTtzd2l0Y2gobHgpe2Nhc2UgMDpyZXR1cm4gZShfKTtjYXNlIDE6YnJlYWs7Y2FzZSAyOnJldHVybiB0KF8pO2Nhc2UgMzpicmVhayB4O2RlZmF1bHQ6cmV0dXJuIGwoXyl9fWZvcig7Oyl7aWYodnIoeShfKSkhPT0wKXJldHVybiB3KF8pO3g6Zm9yKDs7KXtXKF8sMzQpO3ZhciBVMD1ubyh5KF8pKTtpZig0PFUwPj4+MClyZXR1cm4gdyhfKTtzd2l0Y2goVTApe2Nhc2UgMDpyZXR1cm4gZShfKTtjYXNlIDE6YnJlYWs7Y2FzZSAyOnJldHVybiB0KF8pO2Nhc2UgMzpicmVhayB4O2RlZmF1bHQ6cmV0dXJuIGwoXyl9fX1icmVhaztjYXNlIDI6cmV0dXJuIHQoXyk7ZGVmYXVsdDpyZXR1cm4gbChfKX19ZnVuY3Rpb24gYihfKXtmb3IoOzspaWYoVyhfLDE5KSxjcih5KF8pKSE9PTApcmV0dXJuIHcoXyl9ZnVuY3Rpb24gTihfKXtXKF8sMzQpO3ZhciBWPXJsKHkoXykpO2lmKDI8Vj4+PjApcmV0dXJuIHcoXyk7c3dpdGNoKFYpe2Nhc2UgMDpyZXR1cm4gZShfKTtjYXNlIDE6eDpmb3IoOzspe1coXywzNCk7dmFyIGx4PWRzKHkoXykpO2lmKDM8bHg+Pj4wKXJldHVybiB3KF8pO3N3aXRjaChseCl7Y2FzZSAwOnJldHVybiBlKF8pO2Nhc2UgMTpicmVhaztjYXNlIDI6YnJlYWsgeDtkZWZhdWx0OnJldHVybiBsKF8pfX1mb3IoOzspe2lmKHZyKHkoXykpIT09MClyZXR1cm4gdyhfKTt4OmZvcig7Oyl7VyhfLDM0KTt2YXIgVTA9ZHMoeShfKSk7aWYoMzxVMD4+PjApcmV0dXJuIHcoXyk7c3dpdGNoKFUwKXtjYXNlIDA6cmV0dXJuIGUoXyk7Y2FzZSAxOmJyZWFrO2Nhc2UgMjpicmVhayB4O2RlZmF1bHQ6cmV0dXJuIGwoXyl9fX1icmVhaztkZWZhdWx0OnJldHVybiBsKF8pfX1mdW5jdGlvbiBqKF8pe2Zvcig7OylpZihXKF8sMTcpLGNyKHkoXykpIT09MClyZXR1cm4gdyhfKX1mdW5jdGlvbiBJKF8pe2Zvcig7OylpZihXKF8sMTcpLGNyKHkoXykpIT09MClyZXR1cm4gdyhfKX1mdW5jdGlvbiBGKF8pe2Zvcig7OylpZihXKF8sMTEpLGNyKHkoXykpIT09MClyZXR1cm4gdyhfKX1mdW5jdGlvbiBNKF8pe2Zvcig7OylpZihXKF8sMTEpLGNyKHkoXykpIT09MClyZXR1cm4gdyhfKX1mdW5jdGlvbiB6KF8pe2Zvcig7OylpZihXKF8sMTUpLGNyKHkoXykpIT09MClyZXR1cm4gdyhfKX1mdW5jdGlvbiBCKF8pe2Zvcig7OylpZihXKF8sMTUpLGNyKHkoXykpIT09MClyZXR1cm4gdyhfKX1mdW5jdGlvbiBLKF8pe2Zvcig7OylpZihXKF8sMjMpLGNyKHkoXykpIT09MClyZXR1cm4gdyhfKX1mdW5jdGlvbiBuMChfKXtmb3IoOzspaWYoVyhfLDIzKSxjcih5KF8pKSE9PTApcmV0dXJuIHcoXyl9ZnVuY3Rpb24gJChfKXtXKF8sMzIpO3ZhciBWPVgyKHkoXykpO2lmKFYhPT0wKXJldHVybiBWPT09MT9lKF8pOncoXyk7Zm9yKDs7KWlmKFcoXywzMCksY3IoeShfKSkhPT0wKXJldHVybiB3KF8pfWZ1bmN0aW9uIEgoXyl7Zm9yKDs7KXtpZih2cih5KF8pKSE9PTApcmV0dXJuIHcoXyk7eDpmb3IoOzspe1coXywzNCk7dmFyIFY9WVUoeShfKSk7aWYoNDxWPj4+MClyZXR1cm4gdyhfKTtzd2l0Y2goVil7Y2FzZSAwOnJldHVybiBlKF8pO2Nhc2UgMTpyZXR1cm4gTihfKTtjYXNlIDI6YnJlYWs7Y2FzZSAzOmJyZWFrIHg7ZGVmYXVsdDpyZXR1cm4gJChfKX19fX1vcihyKTt2YXIgdDA9ZnVuY3Rpb24oXyl7dmFyIFY9VWIwKHkoXykpO2lmKDM2PFY+Pj4wKXJldHVybiB3KF8pO3N3aXRjaChWKXtjYXNlIDA6cmV0dXJuIDk4O2Nhc2UgMTpyZXR1cm4gOTk7Y2FzZSAyOmlmKFcoXywxKSxtcyh5KF8pKSE9PTApcmV0dXJuIHcoXyk7Zm9yKDs7KWlmKFcoXywxKSxtcyh5KF8pKSE9PTApcmV0dXJuIHcoXyk7YnJlYWs7Y2FzZSAzOnJldHVybiAwO2Nhc2UgNDpyZXR1cm4gVyhfLDApLEFlKHkoXykpPT09MD8wOncoXyk7Y2FzZSA1OnJldHVybiBXKF8sODgpLGhuKHkoXykpPT09MD8oVyhfLDU4KSxobih5KF8pKT09PTA/NTQ6dyhfKSk6dyhfKTtjYXNlIDY6cmV0dXJuIDc7Y2FzZSA3OlcoXyw5NSk7dmFyIGx4PXkoXyksVTA9MzI8bHg/MzM8bHg/LTE6MDotMTtyZXR1cm4gVTA9PT0wPzY6dyhfKTtjYXNlIDg6cmV0dXJuIDk3O2Nhc2UgOTpyZXR1cm4gVyhfLDg0KSxobih5KF8pKT09PTA/NzE6dyhfKTtjYXNlIDEwOlcoXyw4Nik7dmFyIG94PXkoXyksd3g9Mzc8b3g/NjE8b3g/LTE6SjAoXCJcdTAwMDFcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcXDBcdTAwMDJcIixveC0zOHwwKS0xfDA6LTE7cmV0dXJuIHd4PT09MD8oVyhfLDUxKSxobih5KF8pKT09PTA/NzY6dyhfKSk6d3g9PT0xPzcyOncoXyk7Y2FzZSAxMTpyZXR1cm4gMzg7Y2FzZSAxMjpyZXR1cm4gMzk7Y2FzZSAxMzpXKF8sODIpO3ZhciBDcj1SVSh5KF8pKTtpZigyPENyPj4+MClyZXR1cm4gdyhfKTtzd2l0Y2goQ3Ipe2Nhc2UgMDpyZXR1cm4gVyhfLDgzKSxobih5KF8pKT09PTA/NzA6dyhfKTtjYXNlIDE6cmV0dXJuIDQ7ZGVmYXVsdDpyZXR1cm4gNjl9Y2FzZSAxNDpXKF8sODApO3ZhciBIeD15KF8pLFpyPTQyPEh4PzYxPEh4Py0xOkowKFwiXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXCIsSHgrQV98MCktMXwwOi0xO3JldHVybiBacj09PTA/NTk6WnI9PT0xPzY3OncoXyk7Y2FzZSAxNTpyZXR1cm4gNDU7Y2FzZSAxNjpXKF8sODEpO3ZhciBkcj15KF8pLE9yPTQ0PGRyPzYxPGRyPy0xOkowKFwiXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXCIsZHIrbkF8MCktMXwwOi0xO3JldHVybiBPcj09PTA/NjA6T3I9PT0xPzY4OncoXyk7Y2FzZSAxNzpXKF8sNDMpO3ZhciB4Mj10bCh5KF8pKTtpZih4Mj09PTApcmV0dXJuIEtqKHkoXykpPT09MD80Mjp3KF8pO2lmKHgyIT09MSlyZXR1cm4gdyhfKTt4OmZvcig7Oyl7VyhfLDM0KTt2YXIgdXg9bm8oeShfKSk7aWYoNDx1eD4+PjApcmV0dXJuIHcoXyk7c3dpdGNoKHV4KXtjYXNlIDA6cmV0dXJuIGUoXyk7Y2FzZSAxOmJyZWFrO2Nhc2UgMjpyZXR1cm4gdChfKTtjYXNlIDM6YnJlYWsgeDtkZWZhdWx0OnJldHVybiBsKF8pfX1mb3IoOzspe2lmKHZyKHkoXykpIT09MClyZXR1cm4gdyhfKTt4OmZvcig7Oyl7VyhfLDM0KTt2YXIgTHg9bm8oeShfKSk7aWYoNDxMeD4+PjApcmV0dXJuIHcoXyk7c3dpdGNoKEx4KXtjYXNlIDA6cmV0dXJuIGUoXyk7Y2FzZSAxOmJyZWFrO2Nhc2UgMjpyZXR1cm4gdChfKTtjYXNlIDM6YnJlYWsgeDtkZWZhdWx0OnJldHVybiBsKF8pfX19YnJlYWs7Y2FzZSAxODpXKF8sOTMpO3ZhciBaeD1SVSh5KF8pKTtpZigyPFp4Pj4+MClyZXR1cm4gdyhfKTtzd2l0Y2goWngpe2Nhc2UgMDpXKF8sMik7dmFyIHFyPUY1KHkoXykpO2lmKDI8cXI+Pj4wKXJldHVybiB3KF8pO3N3aXRjaChxcil7Y2FzZSAwOmZvcig7Oyl7dmFyIFkyPUY1KHkoXykpO2lmKDI8WTI+Pj4wKXJldHVybiB3KF8pO3N3aXRjaChZMil7Y2FzZSAwOmJyZWFrO2Nhc2UgMTpyZXR1cm4gbShfKTtkZWZhdWx0OnJldHVybiBoKF8pfX1icmVhaztjYXNlIDE6cmV0dXJuIG0oXyk7ZGVmYXVsdDpyZXR1cm4gaChfKX1icmVhaztjYXNlIDE6cmV0dXJuIDU7ZGVmYXVsdDpyZXR1cm4gOTJ9YnJlYWs7Y2FzZSAxOTpXKF8sMzQpO3ZhciBIMj1VVSh5KF8pKTtpZig4PEgyPj4+MClyZXR1cm4gdyhfKTtzd2l0Y2goSDIpe2Nhc2UgMDpyZXR1cm4gZShfKTtjYXNlIDE6cmV0dXJuIFQoXyk7Y2FzZSAyOng6e3I6Zm9yKDs7KXtXKF8sMjApO3ZhciBLdD1KVSh5KF8pKTtpZig0PEt0Pj4+MClyZXR1cm4gdyhfKTtzd2l0Y2goS3Qpe2Nhc2UgMDpyZXR1cm4gYihfKTtjYXNlIDE6cmV0dXJuIE4oXyk7Y2FzZSAyOmJyZWFrO2Nhc2UgMzpicmVhayB4O2RlZmF1bHQ6YnJlYWsgcn19VyhfLDE5KTt2YXIgZHQ9WDIoeShfKSk7aWYoZHQhPT0wKXJldHVybiBkdD09PTE/YihfKTp3KF8pO2Zvcig7OylpZihXKF8sMTkpLGNyKHkoXykpIT09MClyZXR1cm4gdyhfKX14OmZvcig7Oyl7VyhfLDE4KTt2YXIgSnQ9RDUoeShfKSk7aWYoMzxKdD4+PjApcmV0dXJuIHcoXyk7c3dpdGNoKEp0KXtjYXNlIDA6cmV0dXJuIGooXyk7Y2FzZSAxOnJldHVybiBOKF8pO2Nhc2UgMjpicmVhaztkZWZhdWx0OmJyZWFrIHh9fVcoXywxNyk7dmFyIEMxPVgyKHkoXykpO2lmKEMxIT09MClyZXR1cm4gQzE9PT0xP2ooXyk6dyhfKTtmb3IoOzspaWYoVyhfLDE3KSxjcih5KF8pKSE9PTApcmV0dXJuIHcoXyk7YnJlYWs7Y2FzZSAzOng6Zm9yKDs7KXtXKF8sMTgpO3ZhciBxMT1ENSh5KF8pKTtpZigzPHExPj4+MClyZXR1cm4gdyhfKTtzd2l0Y2gocTEpe2Nhc2UgMDpyZXR1cm4gSShfKTtjYXNlIDE6cmV0dXJuIE4oXyk7Y2FzZSAyOmJyZWFrO2RlZmF1bHQ6YnJlYWsgeH19VyhfLDE3KTt2YXIgYjI9WDIoeShfKSk7aWYoYjIhPT0wKXJldHVybiBiMj09PTE/SShfKTp3KF8pO2Zvcig7OylpZihXKF8sMTcpLGNyKHkoXykpIT09MClyZXR1cm4gdyhfKTticmVhaztjYXNlIDQ6VyhfLDMzKTt2YXIgd249cVUoeShfKSk7aWYod249PT0wKXJldHVybiBlKF8pO2lmKHduIT09MSlyZXR1cm4gdyhfKTt4OntyOmZvcig7Oyl7VyhfLDEyKTt2YXIgX249JDUoeShfKSk7aWYoMzxfbj4+PjApcmV0dXJuIHcoXyk7c3dpdGNoKF9uKXtjYXNlIDA6cmV0dXJuIEYoXyk7Y2FzZSAxOmJyZWFrO2Nhc2UgMjpicmVhayB4O2RlZmF1bHQ6YnJlYWsgcn19VyhfLDEwKTt2YXIgYnM9WDIoeShfKSk7aWYoYnMhPT0wKXJldHVybiBicz09PTE/RihfKTp3KF8pO2Zvcig7OylpZihXKF8sOSksY3IoeShfKSkhPT0wKXJldHVybiB3KF8pfXg6Zm9yKDs7KXtpZihocyh5KF8pKSE9PTApcmV0dXJuIHcoXyk7cjpmb3IoOzspe1coXywxMik7dmFyIGxlPSQ1KHkoXykpO2lmKDM8bGU+Pj4wKXJldHVybiB3KF8pO3N3aXRjaChsZSl7Y2FzZSAwOnJldHVybiBNKF8pO2Nhc2UgMTpicmVhaztjYXNlIDI6YnJlYWsgcjtkZWZhdWx0OmJyZWFrIHh9fX1XKF8sMTApO3ZhciBaZT1YMih5KF8pKTtpZihaZSE9PTApcmV0dXJuIFplPT09MT9NKF8pOncoXyk7Zm9yKDs7KWlmKFcoXyw5KSxjcih5KF8pKSE9PTApcmV0dXJuIHcoXyk7YnJlYWs7Y2FzZSA1OnJldHVybiB0KF8pO2Nhc2UgNjpXKF8sMzMpO3ZhciBUcz1CVSh5KF8pKTtpZihUcz09PTApcmV0dXJuIGUoXyk7aWYoVHMhPT0xKXJldHVybiB3KF8pO3g6e3I6Zm9yKDs7KXtXKF8sMTYpO3ZhciBMdj1XNSh5KF8pKTtpZigzPEx2Pj4+MClyZXR1cm4gdyhfKTtzd2l0Y2goTHYpe2Nhc2UgMDpyZXR1cm4geihfKTtjYXNlIDE6YnJlYWs7Y2FzZSAyOmJyZWFrIHg7ZGVmYXVsdDpicmVhayByfX1XKF8sMTQpO3ZhciB5dD1YMih5KF8pKTtpZih5dCE9PTApcmV0dXJuIHl0PT09MT96KF8pOncoXyk7Zm9yKDs7KWlmKFcoXywxMyksY3IoeShfKSkhPT0wKXJldHVybiB3KF8pfXg6Zm9yKDs7KXtpZihWMSh5KF8pKSE9PTApcmV0dXJuIHcoXyk7cjpmb3IoOzspe1coXywxNik7dmFyIHlyPVc1KHkoXykpO2lmKDM8eXI+Pj4wKXJldHVybiB3KF8pO3N3aXRjaCh5cil7Y2FzZSAwOnJldHVybiBCKF8pO2Nhc2UgMTpicmVhaztjYXNlIDI6YnJlYWsgcjtkZWZhdWx0OmJyZWFrIHh9fX1XKF8sMTQpO3ZhciBUYT1YMih5KF8pKTtpZihUYSE9PTApcmV0dXJuIFRhPT09MT9CKF8pOncoXyk7Zm9yKDs7KWlmKFcoXywxMyksY3IoeShfKSkhPT0wKXJldHVybiB3KF8pO2JyZWFrO2Nhc2UgNzpXKF8sMzMpO3ZhciBFcz1DVSh5KF8pKTtpZihFcz09PTApcmV0dXJuIGUoXyk7aWYoRXMhPT0xKXJldHVybiB3KF8pO3g6e3I6Zm9yKDs7KXtXKF8sMjQpO3ZhciBndD1RNSh5KF8pKTtpZigzPGd0Pj4+MClyZXR1cm4gdyhfKTtzd2l0Y2goZ3Qpe2Nhc2UgMDpyZXR1cm4gSyhfKTtjYXNlIDE6YnJlYWs7Y2FzZSAyOmJyZWFrIHg7ZGVmYXVsdDpicmVhayByfX1XKF8sMjIpO3ZhciBNdj1YMih5KF8pKTtpZihNdiE9PTApcmV0dXJuIE12PT09MT9LKF8pOncoXyk7Zm9yKDs7KWlmKFcoXywyMSksY3IoeShfKSkhPT0wKXJldHVybiB3KF8pfXg6Zm9yKDs7KXtpZihUcih5KF8pKSE9PTApcmV0dXJuIHcoXyk7cjpmb3IoOzspe1coXywyNCk7dmFyIHF2PVE1KHkoXykpO2lmKDM8cXY+Pj4wKXJldHVybiB3KF8pO3N3aXRjaChxdil7Y2FzZSAwOnJldHVybiBuMChfKTtjYXNlIDE6YnJlYWs7Y2FzZSAyOmJyZWFrIHI7ZGVmYXVsdDpicmVhayB4fX19VyhfLDIyKTt2YXIgYm49WDIoeShfKSk7aWYoYm4hPT0wKXJldHVybiBibj09PTE/bjAoXyk6dyhfKTtmb3IoOzspaWYoVyhfLDIxKSxjcih5KF8pKSE9PTApcmV0dXJuIHcoXyk7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gJChfKX1icmVhaztjYXNlIDIwOlcoXywzNCk7dmFyIEVhPUw1KHkoXykpO2lmKDU8RWE+Pj4wKXJldHVybiB3KF8pO3N3aXRjaChFYSl7Y2FzZSAwOnJldHVybiBlKF8pO2Nhc2UgMTpyZXR1cm4gVChfKTtjYXNlIDI6Zm9yKDs7KXtXKF8sMzQpO3ZhciBrbz1MNSh5KF8pKTtpZig1PGtvPj4+MClyZXR1cm4gdyhfKTtzd2l0Y2goa28pe2Nhc2UgMDpyZXR1cm4gZShfKTtjYXNlIDE6cmV0dXJuIFQoXyk7Y2FzZSAyOmJyZWFrO2Nhc2UgMzpyZXR1cm4gdChfKTtjYXNlIDQ6cmV0dXJuIEgoXyk7ZGVmYXVsdDpyZXR1cm4gJChfKX19YnJlYWs7Y2FzZSAzOnJldHVybiB0KF8pO2Nhc2UgNDpyZXR1cm4gSChfKTtkZWZhdWx0OnJldHVybiAkKF8pfWJyZWFrO2Nhc2UgMjE6cmV0dXJuIDQ2O2Nhc2UgMjI6cmV0dXJuIDQ0O2Nhc2UgMjM6VyhfLDc4KTt2YXIgU2E9eShfKSxBYT01OTxTYT82MTxTYT8tMTpKMChxOCxTYS02MHwwKS0xfDA6LTE7cmV0dXJuIEFhPT09MD8oVyhfLDYyKSxobih5KF8pKT09PTA/NjE6dyhfKSk6QWE9PT0xPzU1OncoXyk7Y2FzZSAyNDpXKF8sOTApO3ZhciBQYT1Xaih5KF8pKTtyZXR1cm4gUGE9PT0wPyhXKF8sNTcpLGhuKHkoXykpPT09MD81Mzp3KF8pKTpQYT09PTE/OTE6dyhfKTtjYXNlIDI1OlcoXyw3OSk7dmFyIG1vPVdqKHkoXykpO2lmKG1vPT09MClyZXR1cm4gNTY7aWYobW8hPT0xKXJldHVybiB3KF8pO1coXyw2Nik7dmFyIFNzPVdqKHkoXykpO3JldHVybiBTcz09PTA/NjM6U3M9PT0xPyhXKF8sNjUpLGhuKHkoXykpPT09MD82NDp3KF8pKTp3KF8pO2Nhc2UgMjY6VyhfLDUwKTt2YXIgSDE9eShfKSxkMT00NTxIMT82MzxIMT8tMTpKMChcIlx1MDAwMVxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFxcMFx1MDAwMlwiLEgxK0phfDApLTF8MDotMTtyZXR1cm4gZDE9PT0wPyhXKF8sNDgpLHZyKHkoXykpPT09MD80Nzp3KF8pKTpkMT09PTE/KFcoXyw0OSksaG4oeShfKSk9PT0wPzc1OncoXykpOncoXyk7Y2FzZSAyNzpXKF8sOTQpO3ZhciBJYT15KF8pLEFzPTYzPElhPzY0PElhPy0xOjA6LTE7aWYoQXMhPT0wKXJldHVybiB3KF8pO3ZhciBHdD15KF8pLFV2PTk2PEd0P3VpPEd0Py0xOkowKFwiXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXCIsR3Qrbmt8MCktMXwwOi0xO2lmKFV2IT09MClyZXR1cm4gVXY9PT0xJiZVNSh5KF8pKT09PTAmJlR2KHkoXykpPT09MCYmJDYoeShfKSk9PT0wJiZYVSh5KF8pKT09PTAmJlU1KHkoXykpPT09MCYmWDUoeShfKSk9PT0wJiYkNih5KF8pKT09PTA/MzU6dyhfKTtpZihHaih5KF8pKSE9PTApcmV0dXJuIHcoXyk7dmFyIGhvPXkoXyksQnY9dmY8aG8/bTY8aG8/LTE6MDotMTtpZihCdiE9PTB8fEI1KHkoXykpIT09MHx8VjYoeShfKSkhPT0wKXJldHVybiB3KF8pO3ZhciBYdj15KF8pLGRsPTcyPFh2PzczPFh2Py0xOjA6LTE7cmV0dXJuIGRsPT09MCYmVTUoeShfKSk9PT0wJiZUdih5KF8pKT09PTAmJiQ2KHkoXykpPT09MCYmWFUoeShfKSk9PT0wJiZVNSh5KF8pKT09PTAmJlg1KHkoXykpPT09MCYmJDYoeShfKSk9PT0wPzM1OncoXyk7Y2FzZSAyODpyZXR1cm4gNDA7Y2FzZSAyOTppZihXKF8sOTYpLGZvKHkoXykpIT09MClyZXR1cm4gdyhfKTt2YXIgTmE9YnYoeShfKSk7aWYoTmE9PT0wKXJldHVybiBUcih5KF8pKT09PTAmJlRyKHkoXykpPT09MCYmVHIoeShfKSk9PT0wPzk3OncoXyk7aWYoTmEhPT0xfHxUcih5KF8pKSE9PTApcmV0dXJuIHcoXyk7Zm9yKDs7KXt2YXIgeW89X3YoeShfKSk7aWYoeW8hPT0wKXJldHVybiB5bz09PTE/OTc6dyhfKX1icmVhaztjYXNlIDMwOnJldHVybiA0MTtjYXNlIDMxOnJldHVybiBXKF8sODcpLGhuKHkoXykpPT09MD83NDp3KF8pO2Nhc2UgMzI6cmV0dXJuIDg7Y2FzZSAzMzpyZXR1cm4gMzY7Y2FzZSAzNDpXKF8sODUpO3ZhciBnbz15KF8pLGphPTYwPGdvP1MzPGdvPy0xOkowKFwiXHUwMDAxXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXFwwXHUwMDAyXCIsZ28rRUx8MCktMXwwOi0xO3JldHVybiBqYT09PTA/NzM6amE9PT0xPyhXKF8sNTIpLGhuKHkoXykpPT09MD83Nzp3KF8pKTp3KF8pO2Nhc2UgMzU6cmV0dXJuIDM3O2RlZmF1bHQ6cmV0dXJuIDg5fX0ocik7aWYoOTk8dDA+Pj4wKXJldHVybiBUeChoYzApO3ZhciBjMD10MDtpZig1MD5jMClzd2l0Y2goYzApe2Nhc2UgMDpyZXR1cm5bMiwkMSh4LHIpXTtjYXNlIDE6cmV0dXJuWzIseF07Y2FzZSAyOnZhciByMD1BMSh4LHIpLHYwPSRyKEJyKSxhMD1Fdih4LHYwLHIpLGcwPWEwWzFdO3JldHVyblsxLGcwLHF0KGcwLHIwLGEwWzJdLHYwLDEpXTtjYXNlIDM6dmFyIGkwPUR4KHIpO2lmKCF4WzVdKXt2YXIgczA9QTEoeCxyKSxkMD0kcihCcik7aXIoZDAsVDEoaTAsMixOeChpMCktMnwwKSk7dmFyIHcwPUV2KHgsZDAsciksTTA9dzBbMV07cmV0dXJuWzEsTTAscXQoTTAsczAsdzBbMl0sZDAsMSldfXZhciBDMD14WzRdP3hCKHgsenIoeCxyKSxpMCk6eCxEMD1BNSgxLEMwKSxJMD13NShyKTtyZXR1cm4gYnIoSjYocixJMC0xfDAsMSksTW8pJiZQKEo2KHIsSTAtMnwwLDEpLE1vKT9bMCxEMCw4N106WzIsRDBdO2Nhc2UgNDppZih4WzRdKXJldHVyblsyLEE1KDAseCldO3hsKHIpLG9yKHIpO3ZhciBqMD1EVSh5KHIpKT09PTA/MDp3KHIpO3JldHVybiBqMD09PTA/WzAseCxLMl06VHgoZGMwKTtjYXNlIDU6dmFyIHkwPUExKHgsciksWTA9JHIoQnIpLEw9bmwoeCxZMCxyKSxOMD1MWzFdO3JldHVyblsxLE4wLHF0KE4wLHkwLExbMl0sWTAsMCldO2Nhc2UgNjppZihyWzZdIT09MClyZXR1cm5bMCx4LHljMF07dmFyIFMwPUExKHgsciksSzA9JHIoQnIpLEEwPW5sKHgsSzAsciksJDA9QTBbMV0sZXg9WzAsJDBbMV0sUzAsQTBbMl1dO3JldHVyblswLCQwLFs2LGV4LEcyKEswKV1dO2Nhc2UgNzp2YXIgeHg9RHgociksdHg9QTEoeCxyKSx6MD0kcihCcikscHg9JHIoQnIpO2lyKHB4LHh4KTt2YXIgc3g9dUIoeCx4eCx6MCxweCwwLHIpLFE9c3hbMV0sYjA9c3hbM10sVT1bMCxRWzFdLHR4LHN4WzJdXSxoMD1HMihweCk7cmV0dXJuWzAsUSxbMixbMCxVLEcyKHowKSxoMCxiMF1dXTtjYXNlIDg6dmFyIF8wPSRyKEJyKSxtMD0kcihCciksVDA9QTEoeCxyKSxYPWlCKHgsXzAsbTAsciksR3g9WFsxXSxQeD1YWzJdLEcwPVBlKEd4LHIpLEtyPVswLEd4WzFdLFQwLEcwXSxTPUcyKG0wKTtyZXR1cm5bMCxHeCxbMyxbMCxLcixHMihfMCksUywxLFB4XV1dO2Nhc2UgOTpyZXR1cm4gRDIoeCxyLGZ1bmN0aW9uKF8sVil7b3IoVik7eDppZihTZSh5KFYpKT09PTAmJnE1KHkoVikpPT09MCYmaHMoeShWKSk9PT0wKXtyOmZvcig7Oyl7dmFyIGx4PUM1KHkoVikpO2lmKDI8bHg+Pj4wKXt2YXIgd3g9dyhWKTticmVhayB4fXN3aXRjaChseCl7Y2FzZSAwOmJyZWFrO2Nhc2UgMTpicmVhayByO2RlZmF1bHQ6dmFyIHd4PTA7YnJlYWsgeH19Zm9yKDs7KXtyOntpZihocyh5KFYpKT09PTApe2U6Zm9yKDs7KXt2YXIgVTA9QzUoeShWKSk7aWYoMjxVMD4+PjApe3ZhciBveD13KFYpO2JyZWFrIHJ9c3dpdGNoKFUwKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOmJyZWFrIGU7ZGVmYXVsdDp2YXIgb3g9MDticmVhayByfX1jb250aW51ZX12YXIgb3g9dyhWKX12YXIgd3g9b3g7YnJlYWt9fWVsc2UgdmFyIHd4PXcoVik7cmV0dXJuIHd4PT09MD9bMCxfLFsxLDAsRHgoVildXTpUeChtYzApfSk7Y2FzZSAxMDpyZXR1cm5bMCx4LFsxLDAsRHgocildXTtjYXNlIDExOnJldHVybiBEMih4LHIsZnVuY3Rpb24oXyxWKXtpZihvcihWKSxTZSh5KFYpKT09PTAmJnE1KHkoVikpPT09MCYmaHMoeShWKSk9PT0wKXtmb3IoOzspe1coViwwKTt2YXIgbHg9ajUoeShWKSk7aWYobHghPT0wKWJyZWFrfWlmKGx4PT09MSlmb3IoOzspe2lmKGhzKHkoVikpPT09MCl7Zm9yKDs7KXtXKFYsMCk7dmFyIFUwPWo1KHkoVikpO2lmKFUwIT09MClicmVha31pZihVMD09PTEpY29udGludWU7dmFyIG94PXcoVil9ZWxzZSB2YXIgb3g9dyhWKTt2YXIgd3g9b3g7YnJlYWt9ZWxzZSB2YXIgd3g9dyhWKX1lbHNlIHZhciB3eD13KFYpO3JldHVybiB3eD09PTA/WzAsXyxbMCwwLER4KFYpXV06VHgoa2MwKX0pO2Nhc2UgMTI6cmV0dXJuWzAseCxbMCwwLER4KHIpXV07Y2FzZSAxMzpyZXR1cm4gRDIoeCxyLGZ1bmN0aW9uKF8sVil7b3IoVik7eDppZihTZSh5KFYpKT09PTAmJno1KHkoVikpPT09MCYmVjEoeShWKSk9PT0wKXtyOmZvcig7Oyl7dmFyIGx4PU01KHkoVikpO2lmKDI8bHg+Pj4wKXt2YXIgd3g9dyhWKTticmVhayB4fXN3aXRjaChseCl7Y2FzZSAwOmJyZWFrO2Nhc2UgMTpicmVhayByO2RlZmF1bHQ6dmFyIHd4PTA7YnJlYWsgeH19Zm9yKDs7KXtyOntpZihWMSh5KFYpKT09PTApe2U6Zm9yKDs7KXt2YXIgVTA9TTUoeShWKSk7aWYoMjxVMD4+PjApe3ZhciBveD13KFYpO2JyZWFrIHJ9c3dpdGNoKFUwKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOmJyZWFrIGU7ZGVmYXVsdDp2YXIgb3g9MDticmVhayByfX1jb250aW51ZX12YXIgb3g9dyhWKX12YXIgd3g9b3g7YnJlYWt9fWVsc2UgdmFyIHd4PXcoVik7cmV0dXJuIHd4PT09MD9bMCxfLFsxLDEsRHgoVildXTpUeChwYzApfSk7Y2FzZSAxNDpyZXR1cm5bMCx4LFsxLDEsRHgocildXTtjYXNlIDE1OnJldHVybiBEMih4LHIsZnVuY3Rpb24oXyxWKXtpZihvcihWKSxTZSh5KFYpKT09PTAmJno1KHkoVikpPT09MCYmVjEoeShWKSk9PT0wKXtmb3IoOzspe1coViwwKTt2YXIgbHg9UjUoeShWKSk7aWYobHghPT0wKWJyZWFrfWlmKGx4PT09MSlmb3IoOzspe2lmKFYxKHkoVikpPT09MCl7Zm9yKDs7KXtXKFYsMCk7dmFyIFUwPVI1KHkoVikpO2lmKFUwIT09MClicmVha31pZihVMD09PTEpY29udGludWU7dmFyIG94PXcoVil9ZWxzZSB2YXIgb3g9dyhWKTt2YXIgd3g9b3g7YnJlYWt9ZWxzZSB2YXIgd3g9dyhWKX1lbHNlIHZhciB3eD13KFYpO3JldHVybiB3eD09PTA/WzAsXyxbMCwzLER4KFYpXV06VHgobGMwKX0pO2Nhc2UgMTY6cmV0dXJuWzAseCxbMCwzLER4KHIpXV07Y2FzZSAxNzpyZXR1cm4gRDIoeCxyLGZ1bmN0aW9uKF8sVil7aWYob3IoViksU2UoeShWKSk9PT0wKXtmb3IoOzspe3ZhciBseD15KFYpLFUwPTQ3PGx4PzU3PGx4Py0xOkowKFwiXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAxXHUwMDAyXHUwMDAyXCIsbHgrZTF8MCktMXwwOi0xO2lmKFUwIT09MClicmVha31pZihVMD09PTEpe2Zvcig7OylpZihXKFYsMCksdnIoeShWKSkhPT0wKXt2YXIgb3g9dyhWKTticmVha319ZWxzZSB2YXIgb3g9dyhWKX1lbHNlIHZhciBveD13KFYpO3JldHVybiBveD09PTA/WzAsXyxbMCwyLER4KFYpXV06VHgodmMwKX0pO2Nhc2UgMTg6cmV0dXJuWzAseCxbMCwyLER4KHIpXV07Y2FzZSAxOTpyZXR1cm4gRDIoeCxyLGZ1bmN0aW9uKF8sVil7aWYob3IoViksU2UoeShWKSk9PT0wJiZWMSh5KFYpKT09PTApe2Zvcig7OylpZihXKFYsMCksVjEoeShWKSkhPT0wKXt2YXIgbHg9dyhWKTticmVha319ZWxzZSB2YXIgbHg9dyhWKTtyZXR1cm4gbHg9PT0wP1swLF8sWzAsMSxEeChWKV1dOlR4KG9jMCl9KTtjYXNlIDIwOnJldHVyblswLHgsWzAsMSxEeChyKV1dO2Nhc2UgMjE6cmV0dXJuIEQyKHgscixmdW5jdGlvbihfLFYpe29yKFYpO3g6aWYoU2UoeShWKSk9PT0wJiZJNSh5KFYpKT09PTAmJlRyKHkoVikpPT09MCl7cjpmb3IoOzspe3ZhciBseD1PNSh5KFYpKTtpZigyPGx4Pj4+MCl7dmFyIHd4PXcoVik7YnJlYWsgeH1zd2l0Y2gobHgpe2Nhc2UgMDpicmVhaztjYXNlIDE6YnJlYWsgcjtkZWZhdWx0OnZhciB3eD0wO2JyZWFrIHh9fWZvcig7Oyl7cjp7aWYoVHIoeShWKSk9PT0wKXtlOmZvcig7Oyl7dmFyIFUwPU81KHkoVikpO2lmKDI8VTA+Pj4wKXt2YXIgb3g9dyhWKTticmVhayByfXN3aXRjaChVMCl7Y2FzZSAwOmJyZWFrO2Nhc2UgMTpicmVhayBlO2RlZmF1bHQ6dmFyIG94PTA7YnJlYWsgcn19Y29udGludWV9dmFyIG94PXcoVil9dmFyIHd4PW94O2JyZWFrfX1lbHNlIHZhciB3eD13KFYpO3JldHVybiB3eD09PTA/WzAsXyxbMSwyLER4KFYpXV06VHgoYWMwKX0pO2Nhc2UgMjI6cmV0dXJuWzAseCxbMSwyLER4KHIpXV07Y2FzZSAyMzpyZXR1cm4gRDIoeCxyLGZ1bmN0aW9uKF8sVil7aWYob3IoViksU2UoeShWKSk9PT0wJiZJNSh5KFYpKT09PTAmJlRyKHkoVikpPT09MCl7Zm9yKDs7KXtXKFYsMCk7dmFyIGx4PUc1KHkoVikpO2lmKGx4IT09MClicmVha31pZihseD09PTEpZm9yKDs7KXtpZihUcih5KFYpKT09PTApe2Zvcig7Oyl7VyhWLDApO3ZhciBVMD1HNSh5KFYpKTtpZihVMCE9PTApYnJlYWt9aWYoVTA9PT0xKWNvbnRpbnVlO3ZhciBveD13KFYpfWVsc2UgdmFyIG94PXcoVik7dmFyIHd4PW94O2JyZWFrfWVsc2UgdmFyIHd4PXcoVil9ZWxzZSB2YXIgd3g9dyhWKTtyZXR1cm4gd3g9PT0wP1swLF8sWzAsNCxEeChWKV1dOlR4KHNjMCl9KTtjYXNlIDI0OnJldHVyblswLHgsWzAsNCxEeChyKV1dO2Nhc2UgMjU6cmV0dXJuIEQyKHgscixmdW5jdGlvbihfLFYpe2Z1bmN0aW9uIGx4KFp4KXt2YXIgcXI9SDUoeShaeCkpO2lmKDI8cXI+Pj4wKXJldHVybiB3KFp4KTtzd2l0Y2gocXIpe2Nhc2UgMDp2YXIgWTI9dG8oeShaeCkpO3JldHVybiBZMj09PTA/VTAoWngpOlkyPT09MT9veChaeCk6dyhaeCk7Y2FzZSAxOnJldHVybiBVMChaeCk7ZGVmYXVsdDpyZXR1cm4gb3goWngpfX1mdW5jdGlvbiBVMChaeCl7Zm9yKDs7KXt2YXIgcXI9ZWwoeShaeCkpO2lmKHFyIT09MClyZXR1cm4gcXI9PT0xPzA6dyhaeCl9fWZ1bmN0aW9uIG94KFp4KXtmb3IoOzspe3ZhciBxcj1MdCh5KFp4KSk7aWYoMjxxcj4+PjApcmV0dXJuIHcoWngpO3N3aXRjaChxcil7Y2FzZSAwOmJyZWFrO2Nhc2UgMTpmb3IoOzspe2lmKHZyKHkoWngpKSE9PTApcmV0dXJuIHcoWngpO3g6Zm9yKDs7KXt2YXIgWTI9THQoeShaeCkpO2lmKDI8WTI+Pj4wKXJldHVybiB3KFp4KTtzd2l0Y2goWTIpe2Nhc2UgMDpicmVhaztjYXNlIDE6YnJlYWsgeDtkZWZhdWx0OnJldHVybiAwfX19YnJlYWs7ZGVmYXVsdDpyZXR1cm4gMH19fWZ1bmN0aW9uIHd4KFp4KXt2YXIgcXI9SzUoeShaeCkpO2lmKHFyIT09MClyZXR1cm4gcXI9PT0xP2x4KFp4KTp3KFp4KTt4OmZvcig7Oyl7dmFyIFkyPXZlKHkoWngpKTtpZigyPFkyPj4+MClyZXR1cm4gdyhaeCk7c3dpdGNoKFkyKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnJldHVybiBseChaeCk7ZGVmYXVsdDpicmVhayB4fX1mb3IoOzspe2lmKHZyKHkoWngpKSE9PTApcmV0dXJuIHcoWngpO3g6Zm9yKDs7KXt2YXIgSDI9dmUoeShaeCkpO2lmKDI8SDI+Pj4wKXJldHVybiB3KFp4KTtzd2l0Y2goSDIpe2Nhc2UgMDpicmVhaztjYXNlIDE6cmV0dXJuIGx4KFp4KTtkZWZhdWx0OmJyZWFrIHh9fX19b3IoVik7dmFyIENyPWVvKHkoVikpO2lmKDI8Q3I+Pj4wKXZhciBIeD13KFYpO2Vsc2UgeDpzd2l0Y2goQ3Ipe2Nhc2UgMDppZih2cih5KFYpKT09PTApe3I6Zm9yKDs7KXt2YXIgWnI9dmUoeShWKSk7aWYoMjxacj4+PjApe3ZhciBIeD13KFYpO2JyZWFrIHh9c3dpdGNoKFpyKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnZhciBIeD1seChWKTticmVhayB4O2RlZmF1bHQ6YnJlYWsgcn19Zm9yKDs7KXtyOntpZih2cih5KFYpKT09PTApe2U6Zm9yKDs7KXt2YXIgZHI9dmUoeShWKSk7aWYoMjxkcj4+PjApe3ZhciBPcj13KFYpO2JyZWFrIHJ9c3dpdGNoKGRyKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnZhciBPcj1seChWKTticmVhayByO2RlZmF1bHQ6YnJlYWsgZX19Y29udGludWV9dmFyIE9yPXcoVil9dmFyIEh4PU9yO2JyZWFrfX1lbHNlIHZhciBIeD13KFYpO2JyZWFrO2Nhc2UgMTp2YXIgeDI9TjUoeShWKSksSHg9eDI9PT0wP3d4KFYpOngyPT09MT9seChWKTp3KFYpO2JyZWFrO2RlZmF1bHQ6cjpmb3IoOzspe3ZhciB1eD1ZNSh5KFYpKTtpZigyPHV4Pj4+MCl7dmFyIEh4PXcoVik7YnJlYWt9c3dpdGNoKHV4KXtjYXNlIDA6dmFyIEh4PXd4KFYpO2JyZWFrIHI7Y2FzZSAxOmJyZWFrO2RlZmF1bHQ6dmFyIEh4PWx4KFYpO2JyZWFrIHJ9fX1pZihIeCE9PTApcmV0dXJuIFR4KGNjMCk7dmFyIEx4PVAxKF8senIoXyxWKSw0Mik7cmV0dXJuWzAsTHgsWzEsMixEeChWKV1dfSk7Y2FzZSAyNjp2YXIgRz1QMSh4LHpyKHgsciksNDIpO3JldHVyblswLEcsWzEsMixEeChyKV1dO2Nhc2UgMjc6cmV0dXJuIEQyKHgscixmdW5jdGlvbihfLFYpe2Z1bmN0aW9uIGx4KEx4KXt2YXIgWng9SDUoeShMeCkpO2lmKDI8Wng+Pj4wKXJldHVybiB3KEx4KTtzd2l0Y2goWngpe2Nhc2UgMDp2YXIgcXI9dG8oeShMeCkpO3JldHVybiBxcj09PTA/VTAoTHgpOnFyPT09MT9veChMeCk6dyhMeCk7Y2FzZSAxOnJldHVybiBVMChMeCk7ZGVmYXVsdDpyZXR1cm4gb3goTHgpfX1mdW5jdGlvbiBVMChMeCl7Zm9yKDs7KWlmKFcoTHgsMCksdnIoeShMeCkpIT09MClyZXR1cm4gdyhMeCl9ZnVuY3Rpb24gb3goTHgpe2Zvcig7Oyl7VyhMeCwwKTt2YXIgWng9dW8oeShMeCkpO2lmKFp4IT09MCl7aWYoWnghPT0xKXJldHVybiB3KEx4KTtmb3IoOzspe2lmKHZyKHkoTHgpKSE9PTApcmV0dXJuIHcoTHgpO2Zvcig7Oyl7VyhMeCwwKTt2YXIgcXI9dW8oeShMeCkpO2lmKHFyIT09MClicmVha31pZihxciE9PTEpcmV0dXJuIHcoTHgpfX19fWZ1bmN0aW9uIHd4KEx4KXt2YXIgWng9SzUoeShMeCkpO2lmKFp4IT09MClyZXR1cm4gWng9PT0xP2x4KEx4KTp3KEx4KTt4OmZvcig7Oyl7dmFyIHFyPXZlKHkoTHgpKTtpZigyPHFyPj4+MClyZXR1cm4gdyhMeCk7c3dpdGNoKHFyKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnJldHVybiBseChMeCk7ZGVmYXVsdDpicmVhayB4fX1mb3IoOzspe2lmKHZyKHkoTHgpKSE9PTApcmV0dXJuIHcoTHgpO3g6Zm9yKDs7KXt2YXIgWTI9dmUoeShMeCkpO2lmKDI8WTI+Pj4wKXJldHVybiB3KEx4KTtzd2l0Y2goWTIpe2Nhc2UgMDpicmVhaztjYXNlIDE6cmV0dXJuIGx4KEx4KTtkZWZhdWx0OmJyZWFrIHh9fX19b3IoVik7dmFyIENyPWVvKHkoVikpO2lmKDI8Q3I+Pj4wKXZhciBIeD13KFYpO2Vsc2UgeDpzd2l0Y2goQ3Ipe2Nhc2UgMDppZih2cih5KFYpKT09PTApe3I6Zm9yKDs7KXt2YXIgWnI9dmUoeShWKSk7aWYoMjxacj4+PjApe3ZhciBIeD13KFYpO2JyZWFrIHh9c3dpdGNoKFpyKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnZhciBIeD1seChWKTticmVhayB4O2RlZmF1bHQ6YnJlYWsgcn19Zm9yKDs7KXtyOntpZih2cih5KFYpKT09PTApe2U6Zm9yKDs7KXt2YXIgZHI9dmUoeShWKSk7aWYoMjxkcj4+PjApe3ZhciBPcj13KFYpO2JyZWFrIHJ9c3dpdGNoKGRyKXtjYXNlIDA6YnJlYWs7Y2FzZSAxOnZhciBPcj1seChWKTticmVhayByO2RlZmF1bHQ6YnJlYWsgZX19Y29udGludWV9dmFyIE9yPXcoVil9dmFyIEh4PU9yO2JyZWFrfX1lbHNlIHZhciBIeD13KFYpO2JyZWFrO2Nhc2UgMTp2YXIgeDI9TjUoeShWKSksSHg9eDI9PT0wP3d4KFYpOngyPT09MT9seChWKTp3KFYpO2JyZWFrO2RlZmF1bHQ6cjpmb3IoOzspe3ZhciB1eD1ZNSh5KFYpKTtpZigyPHV4Pj4+MCl7dmFyIEh4PXcoVik7YnJlYWt9c3dpdGNoKHV4KXtjYXNlIDA6dmFyIEh4PXd4KFYpO2JyZWFrIHI7Y2FzZSAxOmJyZWFrO2RlZmF1bHQ6dmFyIEh4PWx4KFYpO2JyZWFrIHJ9fX1yZXR1cm4gSHg9PT0wP1swLF8sWzAsNCxEeChWKV1dOlR4KGZjMCl9KTtjYXNlIDI4OnJldHVyblswLHgsWzAsNCxEeChyKV1dO2Nhc2UgMjk6cmV0dXJuIEQyKHgscixmdW5jdGlvbihfLFYpe2Z1bmN0aW9uIGx4KHgyKXtmb3IoOzspe3ZhciB1eD1MdCh5KHgyKSk7aWYoMjx1eD4+PjApcmV0dXJuIHcoeDIpO3N3aXRjaCh1eCl7Y2FzZSAwOmJyZWFrO2Nhc2UgMTpmb3IoOzspe2lmKHZyKHkoeDIpKSE9PTApcmV0dXJuIHcoeDIpO3g6Zm9yKDs7KXt2YXIgTHg9THQoeSh4MikpO2lmKDI8THg+Pj4wKXJldHVybiB3KHgyKTtzd2l0Y2goTHgpe2Nhc2UgMDpicmVhaztjYXNlIDE6YnJlYWsgeDtkZWZhdWx0OnJldHVybiAwfX19YnJlYWs7ZGVmYXVsdDpyZXR1cm4gMH19fWZ1bmN0aW9uIFUwKHgyKXt2YXIgdXg9ZWwoeSh4MikpO3JldHVybiB1eD09PTA/bHgoeDIpOnV4PT09MT8wOncoeDIpfW9yKFYpO3ZhciBveD1lbyh5KFYpKTtpZigyPG94Pj4+MCl2YXIgd3g9dyhWKTtlbHNlIHg6c3dpdGNoKG94KXtjYXNlIDA6dmFyIHd4PXZyKHkoVikpPT09MD9seChWKTp3KFYpO2JyZWFrO2Nhc2UgMTpmb3IoOzspe3ZhciBDcj10bCh5KFYpKTtpZihDcj09PTApe3ZhciB3eD1VMChWKTticmVha31pZihDciE9PTEpe3ZhciB3eD13KFYpO2JyZWFrfX1icmVhaztkZWZhdWx0OnI6Zm9yKDs7KXt2YXIgSHg9aW8oeShWKSk7aWYoMjxIeD4+PjApe3ZhciB3eD13KFYpO2JyZWFrIHh9c3dpdGNoKEh4KXtjYXNlIDA6dmFyIHd4PVUwKFYpO2JyZWFrIHg7Y2FzZSAxOmJyZWFrO2RlZmF1bHQ6YnJlYWsgcn19Zm9yKDs7KXtyOntpZih2cih5KFYpKT09PTApe2U6Zm9yKDs7KXt2YXIgWnI9aW8oeShWKSk7aWYoMjxacj4+PjApe3ZhciBkcj13KFYpO2JyZWFrIHJ9c3dpdGNoKFpyKXtjYXNlIDA6dmFyIGRyPVUwKFYpO2JyZWFrIHI7Y2FzZSAxOmJyZWFrO2RlZmF1bHQ6YnJlYWsgZX19Y29udGludWV9dmFyIGRyPXcoVil9dmFyIHd4PWRyO2JyZWFrfX1pZih3eCE9PTApcmV0dXJuIFR4KGljMCk7dmFyIE9yPVAxKF8senIoXyxWKSwzNCk7cmV0dXJuWzAsT3IsWzEsMixEeChWKV1dfSk7Y2FzZSAzMDpyZXR1cm4gRDIoeCxyLGZ1bmN0aW9uKF8sVil7b3IoVik7dmFyIGx4PXRvKHkoVikpO3g6aWYobHg9PT0wKWZvcig7Oyl7dmFyIFUwPWVsKHkoVikpO2lmKFUwIT09MCl7aWYoVTA9PT0xKXt2YXIgSHg9MDticmVha312YXIgSHg9dyhWKTticmVha319ZWxzZSBpZihseD09PTEpe3I6Zm9yKDs7KXt2YXIgb3g9THQoeShWKSk7aWYoMjxveD4+PjApe3ZhciBIeD13KFYpO2JyZWFrIHh9c3dpdGNoKG94KXtjYXNlIDA6YnJlYWs7Y2FzZSAxOmJyZWFrIHI7ZGVmYXVsdDp2YXIgSHg9MDticmVhayB4fX1mb3IoOzspe3I6e2lmKHZyKHkoVikpPT09MCl7ZTpmb3IoOzspe3ZhciB3eD1MdCh5KFYpKTtpZigyPHd4Pj4+MCl7dmFyIENyPXcoVik7YnJlYWsgcn1zd2l0Y2god3gpe2Nhc2UgMDpicmVhaztjYXNlIDE6YnJlYWsgZTtkZWZhdWx0OnZhciBDcj0wO2JyZWFrIHJ9fWNvbnRpbnVlfXZhciBDcj13KFYpfXZhciBIeD1DcjticmVha319ZWxzZSB2YXIgSHg9dyhWKTtyZXR1cm4gSHg9PT0wP1swLF8sWzEsMixEeChWKV1dOlR4KHVjMCl9KTtjYXNlIDMxOnZhciByeD1QMSh4LHpyKHgsciksMzQpO3JldHVyblswLHJ4LFsxLDIsRHgocildXTtjYXNlIDMyOnJldHVyblswLHgsWzEsMixEeChyKV1dO2Nhc2UgMzM6cmV0dXJuIEQyKHgscixmdW5jdGlvbihfLFYpe2Z1bmN0aW9uIGx4KE9yKXtmb3IoOzspe1coT3IsMCk7dmFyIHgyPXVvKHkoT3IpKTtpZih4MiE9PTApe2lmKHgyIT09MSlyZXR1cm4gdyhPcik7Zm9yKDs7KXtpZih2cih5KE9yKSkhPT0wKXJldHVybiB3KE9yKTtmb3IoOzspe1coT3IsMCk7dmFyIHV4PXVvKHkoT3IpKTtpZih1eCE9PTApYnJlYWt9aWYodXghPT0xKXJldHVybiB3KE9yKX19fX1mdW5jdGlvbiBVMChPcil7cmV0dXJuIFcoT3IsMCksdnIoeShPcikpPT09MD9seChPcik6dyhPcil9b3IoVik7dmFyIG94PWVvKHkoVikpO2lmKDI8b3g+Pj4wKXZhciB3eD13KFYpO2Vsc2UgeDpzd2l0Y2gob3gpe2Nhc2UgMDp2YXIgd3g9dnIoeShWKSk9PT0wP2x4KFYpOncoVik7YnJlYWs7Y2FzZSAxOmZvcig7Oyl7VyhWLDApO3ZhciBDcj10bCh5KFYpKTtpZihDcj09PTApe3ZhciB3eD1VMChWKTticmVha31pZihDciE9PTEpe3ZhciB3eD13KFYpO2JyZWFrfX1icmVhaztkZWZhdWx0OnI6Zm9yKDs7KXtXKFYsMCk7dmFyIEh4PWlvKHkoVikpO2lmKDI8SHg+Pj4wKXt2YXIgd3g9dyhWKTticmVhayB4fXN3aXRjaChIeCl7Y2FzZSAwOnZhciB3eD1VMChWKTticmVhayB4O2Nhc2UgMTpicmVhaztkZWZhdWx0OmJyZWFrIHJ9fWZvcig7Oyl7cjp7aWYodnIoeShWKSk9PT0wKXtlOmZvcig7Oyl7VyhWLDApO3ZhciBacj1pbyh5KFYpKTtpZigyPFpyPj4+MCl7dmFyIGRyPXcoVik7YnJlYWsgcn1zd2l0Y2goWnIpe2Nhc2UgMDp2YXIgZHI9VTAoVik7YnJlYWsgcjtjYXNlIDE6YnJlYWs7ZGVmYXVsdDpicmVhayBlfX1jb250aW51ZX12YXIgZHI9dyhWKX12YXIgd3g9ZHI7YnJlYWt9fXJldHVybiB3eD09PTA/WzAsXyxbMCw0LER4KFYpXV06VHgobmMwKX0pO2Nhc2UgMzQ6cmV0dXJuWzAseCxbMCw0LER4KHIpXV07Y2FzZSAzNTp2YXIgeXg9enIoeCxyKSxFeD1EeChyKTtyZXR1cm5bMCx4LFs0LHl4LEV4LEV4XV07Y2FzZSAzNjpyZXR1cm5bMCx4LDBdO2Nhc2UgMzc6cmV0dXJuWzAseCwxXTtjYXNlIDM4OnJldHVyblswLHgsNF07Y2FzZSAzOTpyZXR1cm5bMCx4LDVdO2Nhc2UgNDA6cmV0dXJuWzAseCw2XTtjYXNlIDQxOnJldHVyblswLHgsN107Y2FzZSA0MjpyZXR1cm5bMCx4LDEyXTtjYXNlIDQzOnJldHVyblswLHgsMTBdO2Nhc2UgNDQ6cmV0dXJuWzAseCw4XTtjYXNlIDQ1OnJldHVyblswLHgsOV07Y2FzZSA0NjpyZXR1cm5bMCx4LDg3XTtjYXNlIDQ3OnhsKHIpLG9yKHIpO3ZhciBueD15KHIpLHAwPTYyPG54PzYzPG54Py0xOjA6LTEsRng9cDA9PT0wPzA6dyhyKTtyZXR1cm4gRng9PT0wP1swLHgsODZdOlR4KGdjMCk7Y2FzZSA0ODpyZXR1cm5bMCx4LDg0XTtkZWZhdWx0OnJldHVyblswLHgsODVdfXN3aXRjaChjMCl7Y2FzZSA1MDpyZXR1cm5bMCx4LDg2XTtjYXNlIDUxOnJldHVyblswLHgsODldO2Nhc2UgNTI6cmV0dXJuWzAseCw4OF07Y2FzZSA1MzpyZXR1cm5bMCx4LDk1XTtjYXNlIDU0OnJldHVyblswLHgsOTZdO2Nhc2UgNTU6cmV0dXJuWzAseCw5N107Y2FzZSA1NjpyZXR1cm5bMCx4LDk4XTtjYXNlIDU3OnJldHVyblswLHgsOTNdO2Nhc2UgNTg6cmV0dXJuWzAseCw5NF07Y2FzZSA1OTpyZXR1cm5bMCx4LGVhXTtjYXNlIDYwOnJldHVyblswLHgsVGVdO2Nhc2UgNjE6cmV0dXJuWzAseCw3MF07Y2FzZSA2MjpyZXR1cm5bMCx4LGZlXTtjYXNlIDYzOnJldHVyblswLHgsNjldO2Nhc2UgNjQ6cmV0dXJuWzAseCw2OF07Y2FzZSA2NTpyZXR1cm5bMCx4LHNuXTtjYXNlIDY2OnJldHVyblswLHgsZzFdO2Nhc2UgNjc6cmV0dXJuWzAseCw3OV07Y2FzZSA2ODpyZXR1cm5bMCx4LDc4XTtjYXNlIDY5OnJldHVyblswLHgsNzZdO2Nhc2UgNzA6cmV0dXJuWzAseCw3N107Y2FzZSA3MTpyZXR1cm5bMCx4LDc0XTtjYXNlIDcyOnJldHVyblswLHgsNzNdO2Nhc2UgNzM6cmV0dXJuWzAseCw3Ml07Y2FzZSA3NDpyZXR1cm5bMCx4LDcxXTtjYXNlIDc1OnJldHVyblswLHgsODBdO2Nhc2UgNzY6cmV0dXJuWzAseCw4MV07Y2FzZSA3NzpyZXR1cm5bMCx4LDgyXTtjYXNlIDc4OnJldHVyblswLHgsOTldO2Nhc2UgNzk6cmV0dXJuWzAseCx5Ml07Y2FzZSA4MDpyZXR1cm5bMCx4LEJlXTtjYXNlIDgxOnJldHVyblswLHgsdWldO2Nhc2UgODI6cmV0dXJuWzAseCxLMl07Y2FzZSA4MzpyZXR1cm5bMCx4LHN2XTtjYXNlIDg0OnJldHVyblswLHgsc3RdO2Nhc2UgODU6cmV0dXJuWzAseCw5MF07Y2FzZSA4NjpyZXR1cm5bMCx4LDkyXTtjYXNlIDg3OnJldHVyblswLHgsOTFdO2Nhc2UgODg6cmV0dXJuWzAseCx6MV07Y2FzZSA4OTpyZXR1cm5bMCx4LGNlXTtjYXNlIDkwOnJldHVyblswLHgsODNdO2Nhc2UgOTE6cmV0dXJuWzAseCwxMV07Y2FzZSA5MjpyZXR1cm5bMCx4LDc1XTtjYXNlIDkzOnJldHVyblswLHgsSmVdO2Nhc2UgOTQ6cmV0dXJuWzAseCwxM107Y2FzZSA5NTpyZXR1cm5bMCx4LDE0XTtjYXNlIDk2OnJldHVyblsyLG10KHgsenIoeCxyKSldO2Nhc2UgOTc6dmFyIFN4PXJbNl07SFUocik7dmFyIGJ4PVE2KHgsU3gsclszXSk7UmoocixTeCk7dmFyIEIwPUR4KHIpLFd4PWZ4KEIwLGllKTtpZigwPD1XeCl7aWYoMD49V3gpcmV0dXJuWzAseCw1NF07dmFyIFl4PWZ4KEIwLE4zKTtpZigwPD1ZeCl7aWYoMD49WXgpcmV0dXJuWzAseCw1Ml07dmFyIGF4PWZ4KEIwLFpzKTtpZigwPD1heCl7aWYoMD49YXgpcmV0dXJuWzAseCw0N107aWYoIVAoQjAsWWwpKXJldHVyblswLHgsMjVdO2lmKCFQKEIwLFdzKSlyZXR1cm5bMCx4LDQ4XTtpZighUChCMCxMNCkpcmV0dXJuWzAseCwyNl07aWYoIVAoQjAsSGspKXJldHVyblswLHgsMjddO2lmKCFQKEIwLEIxKSlyZXR1cm5bMCx4LDU5XX1lbHNle2lmKCFQKEIwLEdlKSlyZXR1cm5bMCx4LDIwXTtpZighUChCMCxRbykpcmV0dXJuWzAseCwyMl07aWYoIVAoQjAsemUpKXJldHVyblswLHgsMjNdO2lmKCFQKEIwLHJhKSlyZXR1cm5bMCx4LDMyXTtpZighUChCMCx5OCkpcmV0dXJuWzAseCwyNF07aWYoIVAoQjAscWYpKXJldHVyblswLHgsNjJdfX1lbHNle3ZhciBReD1meChCMCxCcCk7aWYoMDw9UXgpe2lmKDA+PVF4KXJldHVyblswLHgsNTVdO2lmKCFQKEIwLGg2KSlyZXR1cm5bMCx4LDU2XTtpZighUChCMCxSbCkpcmV0dXJuWzAseCw1N107aWYoIVAoQjAsbDYpKXJldHVyblswLHgsNThdO2lmKCFQKEIwLFhlKSlyZXR1cm5bMCx4LDE5XTtpZighUChCMCxSZSkpcmV0dXJuWzAseCw0M119ZWxzZXtpZighUChCMCxqMykpcmV0dXJuWzAseCwyOV07aWYoIVAoQjAsYUkpKXJldHVyblswLHgsMjFdO2lmKCFQKEIwLHJ2KSlyZXR1cm5bMCx4LDQ1XTtpZighUChCMCx1dikpcmV0dXJuWzAseCwzMF07aWYoIVAoQjAsY1MpKXJldHVyblswLHgsNjRdO2lmKCFQKEIwLHViKSlyZXR1cm5bMCx4LDYzXX19fWVsc2V7dmFyIGt4PWZ4KEIwLFhwKTtpZigwPD1reCl7aWYoMD49a3gpcmV0dXJuWzAseCw0NF07dmFyIHRyPWZ4KEIwLGgzKTtpZigwPD10cil7aWYoMD49dHIpcmV0dXJuWzAseCwxNV07aWYoIVAoQjAsZDgpKXJldHVyblswLHgsMTZdO2lmKCFQKEIwLGN2KSlyZXR1cm5bMCx4LDUzXTtpZighUChCMCxYMSkpcmV0dXJuWzAseCw1MV07aWYoIVAoQjAscWEpKXJldHVyblswLHgsMTddO2lmKCFQKEIwLEdsKSlyZXR1cm5bMCx4LDE4XX1lbHNle2lmKCFQKEIwLFFsKSlyZXR1cm5bMCx4LDQ5XTtpZighUChCMCxObSkpcmV0dXJuWzAseCw1MF07aWYoIVAoQjAsUWYpKXJldHVyblswLHgsNDJdO2lmKCFQKEIwLEdzKSlyZXR1cm5bMCx4LDMxXTtpZighUChCMCxlOCkpcmV0dXJuWzAseCwzOV07aWYoIVAoQjAsZjgpKXJldHVyblswLHgsNDBdfX1lbHNle3ZhciBzcj1meChCMCx1Nik7aWYoMDw9c3Ipe2lmKDA+PXNyKXJldHVyblswLHgsMjhdO2lmKCFQKEIwLExlKSlyZXR1cm5bMCx4LDM2XTtpZighUChCMCxZZSkpcmV0dXJuWzAseCw2MF07aWYoIVAoQjAsZzYpKXJldHVyblswLHgsNjFdO2lmKCFQKEIwLEdvKSlyZXR1cm5bMCx4LDM3XTtpZighUChCMCxLbCkpcmV0dXJuWzAseCw0Nl07aWYoIVAoQjAsUnApKXJldHVyblswLHgsMzhdfWVsc2V7aWYoIVAoQjAsS2EpKXJldHVyblswLHgsNjVdO2lmKCFQKEIwLG52KSlyZXR1cm5bMCx4LDY2XTtpZighUChCMCxLZSkpcmV0dXJuWzAseCwzM107aWYoIVAoQjAscHApKXJldHVyblswLHgsMzRdO2lmKCFQKEIwLFY4KSlyZXR1cm5bMCx4LDM1XTtpZighUChCMCxNbCkpcmV0dXJuWzAseCw0MV19fX12YXIgTXI9bDIociksYTI9dEIoeCxNciksXzI9YTJbMl0saTI9YTJbMV07cmV0dXJuWzAsaTIsWzQsYngsXzIsRzYoTXIpXV07Y2FzZSA5ODp2YXIgUTI9eFs0XT9QMSh4LHpyKHgsciksOTEpOng7cmV0dXJuWzAsUTIsbXJdO2RlZmF1bHQ6dmFyIGp4PW10KHgsenIoeCxyKSk7cmV0dXJuWzAsangsWzcsRHgocildXX19KSxJMT1rVShbMCxTYjBdKTtmdW5jdGlvbiBaNih4LHIpe3JldHVyblswLDAsMCxyLFRVKHgpXX1mdW5jdGlvbiB4aCh4KXt2YXIgcj14WzRdO3N3aXRjaCh4WzNdKXtjYXNlIDA6dmFyIHQwPVdiMChyKTticmVhaztjYXNlIDE6dmFyIHQwPUdiMChyKTticmVhaztjYXNlIDI6dmFyIHQwPUtiMChyKTticmVhaztjYXNlIDM6dmFyIGU9UGUocixyWzJdKSx0PSRyKEJyKSx1PSRyKEJyKSxpPXJbMl07b3IoaSk7dmFyIGM9eShpKSx2PXJuPGM/dDE8Yz8xOmwxPGM/MjoxOkowKFwiXHUwMDAxXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAzXHUwMDAyXHUwMDAyXHUwMDA0XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDA1XHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDAyXHUwMDA2XCIsYysxfDApLTF8MDtpZig1PHY+Pj4wKXZhciBhPXcoaSk7ZWxzZSBzd2l0Y2godil7Y2FzZSAwOnZhciBhPTE7YnJlYWs7Y2FzZSAxOnZhciBhPTQ7YnJlYWs7Y2FzZSAyOnZhciBhPTA7YnJlYWs7Y2FzZSAzOlcoaSwwKTt2YXIgYT1BZSh5KGkpKT09PTA/MDp3KGkpO2JyZWFrO2Nhc2UgNDp2YXIgYT0yO2JyZWFrO2RlZmF1bHQ6dmFyIGE9M31pZig0PGE+Pj4wKXZhciBsPVR4KGRuMCk7ZWxzZSBzd2l0Y2goYSl7Y2FzZSAwOnZhciBtPUR4KGkpO2lyKHUsbSksaXIodCxtKTt2YXIgaD1jQigkMShyLGkpLHQsdSxpKSxUPVBlKGgsaSksYj1HMih0KSxOPUcyKHUpLGw9WzAsaCxbOSxbMCxoWzFdLGUsVF0sYixOXV07YnJlYWs7Y2FzZSAxOnZhciBsPVswLHIsbXJdO2JyZWFrO2Nhc2UgMjp2YXIgbD1bMCxyLDk5XTticmVhaztjYXNlIDM6dmFyIGw9WzAsciwwXTticmVhaztkZWZhdWx0OnhsKGkpO3ZhciBqPWNCKHIsdCx1LGkpLEk9UGUoaixpKSxGPUcyKHQpLE09RzIodSksbD1bMCxqLFs5LFswLGpbMV0sZSxJXSxGLE1dXX12YXIgej1sWzJdLEI9bFsxXSxLPVpVKEIseiksbjA9Qls2XTtpZihuMD09PTApdmFyIEg9WzAsQixbMCx6LEssMCwwXV07ZWxzZSB2YXIgJD1bMCx6LEssaXgobjApLDBdLEg9WzAsWzAsQlsxXSxCWzJdLEJbM10sQls0XSxCWzVdLDAsQls3XV0sJF07dmFyIHQwPUg7YnJlYWs7Y2FzZSA0OnZhciB0MD1KYjAocik7YnJlYWs7ZGVmYXVsdDp2YXIgdDA9emIwKHIpfXZhciBjMD10MFsxXSxyMD10MFsyXSx2MD1bMCxUVShjMCkscjBdO3JldHVybiB4WzRdPWMwLHhbMV0/eFsyXT1bMCx2MF06eFsxXT1bMCx2MF0sdjB9ZnVuY3Rpb24gc0IoeCl7dmFyIHI9eFsxXTtyZXR1cm4gcj9yWzFdWzJdOnhoKHgpWzJdfWZ1bmN0aW9uIHVsKHgpe3JldHVybiBDNih4WzI0XVsxXSl9ZnVuY3Rpb24gQTIoeCl7cmV0dXJuIHhbMjhdWzVdfWZ1bmN0aW9uIHEwKHgscil7dmFyIGU9clsyXTt4WzFdWzFdPVswLFswLHJbMV0sZV0seFsxXVsxXV07dmFyIHQ9eFsyM107cmV0dXJuIHQ/cCh0WzFdLHgsZSk6MH1mdW5jdGlvbiB4NCh4LHIpe3hbMzFdWzFdPXJ9ZnVuY3Rpb24gY28oeCxyKXtpZih4PT09MClyZXR1cm4gc0IoclsyNl1bMV0pO2lmKHghPT0xKXRocm93IFcwKFswLE5yLFFjMF0sMSk7dmFyIGU9clsyNl1bMV07ZVsxXXx8eGgoZSk7dmFyIHQ9ZVsyXTtyZXR1cm4gdD90WzFdWzJdOnhoKGUpWzJdfWZ1bmN0aW9uIGhhKHgscil7cmV0dXJuIHg9PT1yWzVdP3I6WzAsclsxXSxyWzJdLHJbM10scls0XSx4LHJbNl0scls3XSxyWzhdLHJbOV0sclsxMF0sclsxMV0sclsxMl0sclsxM10sclsxNF0sclsxNV0sclsxNl0sclsxN10sclsxOF0sclsxOV0sclsyMF0sclsyMV0sclsyMl0sclsyM10sclsyNF0sclsyNV0sclsyNl0sclsyN10sclsyOF0sclsyOV0sclszMF0sclszMV1dfWZ1bmN0aW9uIGFCKHgscil7cmV0dXJuIHg9PT1yWzEwXT9yOlswLHJbMV0sclsyXSxyWzNdLHJbNF0scls1XSxyWzZdLHJbN10scls4XSxyWzldLHgsclsxMV0sclsxMl0sclsxM10sclsxNF0sclsxNV0sclsxNl0sclsxN10sclsxOF0sclsxOV0sclsyMF0sclsyMV0sclsyMl0sclsyM10sclsyNF0sclsyNV0sclsyNl0sclsyN10sclsyOF0sclsyOV0sclszMF0sclszMV1dfWZ1bmN0aW9uIFFqKHgscil7cmV0dXJuIHg9PT1yWzE4XT9yOlswLHJbMV0sclsyXSxyWzNdLHJbNF0scls1XSxyWzZdLHJbN10scls4XSxyWzldLHJbMTBdLHJbMTFdLHJbMTJdLHJbMTNdLHJbMTRdLHJbMTVdLHJbMTZdLHJbMTddLHgsclsxOV0sclsyMF0sclsyMV0sclsyMl0sclsyM10sclsyNF0sclsyNV0sclsyNl0sclsyN10sclsyOF0sclsyOV0sclszMF0sclszMV1dfWZ1bmN0aW9uIEhqKHgscil7cmV0dXJuIHg9PT1yWzE5XT9yOlswLHJbMV0sclsyXSxyWzNdLHJbNF0scls1XSxyWzZdLHJbN10scls4XSxyWzldLHJbMTBdLHJbMTFdLHJbMTJdLHJbMTNdLHJbMTRdLHJbMTVdLHJbMTZdLHJbMTddLHJbMThdLHgsclsyMF0sclsyMV0sclsyMl0sclsyM10sclsyNF0sclsyNV0sclsyNl0sclsyN10sclsyOF0sclsyOV0sclszMF0sclszMV1dfWZ1bmN0aW9uIG9CKHgscil7cmV0dXJuIHg9PT1yWzIwXT9yOlswLHJbMV0sclsyXSxyWzNdLHJbNF0scls1XSxyWzZdLHJbN10scls4XSxyWzldLHJbMTBdLHJbMTFdLHJbMTJdLHJbMTNdLHJbMTRdLHJbMTVdLHJbMTZdLHJbMTddLHJbMThdLHJbMTldLHgsclsyMV0sclsyMl0sclsyM10sclsyNF0sclsyNV0sclsyNl0sclsyN10sclsyOF0sclsyOV0sclszMF0sclszMV1dfWZ1bmN0aW9uIFN2KHgscil7cmV0dXJuIHg9PT1yWzIyXT9yOlswLHJbMV0sclsyXSxyWzNdLHJbNF0scls1XSxyWzZdLHJbN10scls4XSxyWzldLHJbMTBdLHJbMTFdLHJbMTJdLHJbMTNdLHJbMTRdLHJbMTVdLHJbMTZdLHJbMTddLHJbMThdLHJbMTldLHJbMjBdLHJbMjFdLHgsclsyM10sclsyNF0sclsyNV0sclsyNl0sclsyN10sclsyOF0sclsyOV0sclszMF0sclszMV1dfWZ1bmN0aW9uIFpqKHgscil7cmV0dXJuIHg9PT1yWzE0XT9yOlswLHJbMV0sclsyXSxyWzNdLHJbNF0scls1XSxyWzZdLHJbN10scls4XSxyWzldLHJbMTBdLHJbMTFdLHJbMTJdLHJbMTNdLHgsclsxNV0sclsxNl0sclsxN10sclsxOF0sclsxOV0sclsyMF0sclsyMV0sclsyMl0sclsyM10sclsyNF0sclsyNV0sclsyNl0sclsyN10sclsyOF0sclsyOV0sclszMF0sclszMV1dfWZ1bmN0aW9uIHI0KHgscil7cmV0dXJuIHg9PT1yWzhdP3I6WzAsclsxXSxyWzJdLHJbM10scls0XSxyWzVdLHJbNl0scls3XSx4LHJbOV0sclsxMF0sclsxMV0sclsxMl0sclsxM10sclsxNF0sclsxNV0sclsxNl0sclsxN10sclsxOF0sclsxOV0sclsyMF0sclsyMV0sclsyMl0sclsyM10sclsyNF0sclsyNV0sclsyNl0sclsyN10sclsyOF0sclsyOV0sclszMF0sclszMV1dfWZ1bmN0aW9uIGU0KHgscil7cmV0dXJuIHg9PT1yWzEyXT9yOlswLHJbMV0sclsyXSxyWzNdLHJbNF0scls1XSxyWzZdLHJbN10scls4XSxyWzldLHJbMTBdLHJbMTFdLHgsclsxM10sclsxNF0sclsxNV0sclsxNl0sclsxN10sclsxOF0sclsxOV0sclsyMF0sclsyMV0sclsyMl0sclsyM10sclsyNF0sclsyNV0sclsyNl0sclsyN10sclsyOF0sclsyOV0sclszMF0sclszMV1dfWZ1bmN0aW9uIEF2KHgscil7cmV0dXJuIHg9PT1yWzE1XT9yOlswLHJbMV0sclsyXSxyWzNdLHJbNF0scls1XSxyWzZdLHJbN10scls4XSxyWzldLHJbMTBdLHJbMTFdLHJbMTJdLHJbMTNdLHJbMTRdLHgsclsxNl0sclsxN10sclsxOF0sclsxOV0sclsyMF0sclsyMV0sclsyMl0sclsyM10sclsyNF0sclsyNV0sclsyNl0sclsyN10sclsyOF0sclsyOV0sclszMF0sclszMV1dfWZ1bmN0aW9uIHhDKHgscil7cmV0dXJuIHg9PT1yWzE2XT9yOlswLHJbMV0sclsyXSxyWzNdLHJbNF0scls1XSxyWzZdLHJbN10scls4XSxyWzldLHJbMTBdLHJbMTFdLHJbMTJdLHJbMTNdLHJbMTRdLHJbMTVdLHgsclsxN10sclsxOF0sclsxOV0sclsyMF0sclsyMV0sclsyMl0sclsyM10sclsyNF0sclsyNV0sclsyNl0sclsyN10sclsyOF0sclsyOV0sclszMF0sclszMV1dfWZ1bmN0aW9uIHZCKHgscil7cmV0dXJuIHg9PT1yWzZdP3I6WzAsclsxXSxyWzJdLHJbM10scls0XSxyWzVdLHgscls3XSxyWzhdLHJbOV0sclsxMF0sclsxMV0sclsxMl0sclsxM10sclsxNF0sclsxNV0sclsxNl0sclsxN10sclsxOF0sclsxOV0sclsyMF0sclsyMV0sclsyMl0sclsyM10sclsyNF0sclsyNV0sclsyNl0sclsyN10sclsyOF0sclsyOV0sclszMF0sclszMV1dfWZ1bmN0aW9uIGxCKHgscil7cmV0dXJuIHg9PT1yWzddP3I6WzAsclsxXSxyWzJdLHJbM10scls0XSxyWzVdLHJbNl0seCxyWzhdLHJbOV0sclsxMF0sclsxMV0sclsxMl0sclsxM10sclsxNF0sclsxNV0sclsxNl0sclsxN10sclsxOF0sclsxOV0sclsyMF0sclsyMV0sclsyMl0sclsyM10sclsyNF0sclsyNV0sclsyNl0sclsyN10sclsyOF0sclsyOV0sclszMF0sclszMV1dfWZ1bmN0aW9uIHJDKHgscil7cmV0dXJuIHg9PT1yWzEzXT9yOlswLHJbMV0sclsyXSxyWzNdLHJbNF0scls1XSxyWzZdLHJbN10scls4XSxyWzldLHJbMTBdLHJbMTFdLHJbMTJdLHgsclsxNF0sclsxNV0sclsxNl0sclsxN10sclsxOF0sclsxOV0sclsyMF0sclsyMV0sclsyMl0sclsyM10sclsyNF0sclsyNV0sclsyNl0sclsyN10sclsyOF0sclsyOV0sclszMF0sclszMV1dfWZ1bmN0aW9uIHJoKHgscil7cmV0dXJuWzAsclsxXSxyWzJdLHJbM10scls0XSxyWzVdLHJbNl0scls3XSxyWzhdLHJbOV0sclsxMF0sclsxMV0sclsxMl0sclsxM10sclsxNF0sclsxNV0sclsxNl0sclsxN10sclsxOF0sclsxOV0sclsyMF0sclsyMV0sclsyMl0sWzAseF0sclsyNF0sclsyNV0sclsyNl0sclsyN10sclsyOF0sclsyOV0sclszMF0sclszMV1dfWZ1bmN0aW9uIGVDKHgpe2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHEwKHgsZSl9cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBiMShyLGUpfX1mdW5jdGlvbiBpbCh4KXt2YXIgcj14WzRdWzFdO3JldHVybiByP1swLHJbMV1bMl1dOjB9ZnVuY3Rpb24gcEIoeCl7dmFyIHI9eFs0XVsxXTtyZXR1cm4gcj9bMCxyWzFdWzFdXTowfWZ1bmN0aW9uIGtCKHgpe3JldHVyblswLHhbMV0seFsyXSx4WzNdLHhbNF0seFs1XSx4WzZdLHhbN10seFs4XSx4WzldLHhbMTBdLHhbMTFdLHhbMTJdLHhbMTNdLHhbMTRdLHhbMTVdLHhbMTZdLHhbMTddLHhbMThdLHhbMTldLHhbMjBdLHhbMjFdLHhbMjJdLDAseFsyNF0seFsyNV0seFsyNl0seFsyN10seFsyOF0seFsyOV0seFszMF0seFszMV1dfWZ1bmN0aW9uIG1CKHgscixlLHQpe3JldHVyblswLHhbMV0seFsyXSxJMVsxXSx4WzRdLHhbNV0sMCwwLDAsMCwwLDEseFsxMl0seFsxM10seFsxNF0seFsxNV0seFsxNl0seFsxN10sZSxyLHhbMjBdLHQseFsyMl0seFsyM10seFsyNF0seFsyNV0seFsyNl0seFsyN10seFsyOF0seFsyOV0seFszMF0seFszMV1dfWZ1bmN0aW9uIGZsKHgpe3JldHVybiBQKHgsY3YpJiZQKHgsaWUpJiZQKHgsajMpJiZQKHgsQnApJiZQKHgsaDYpJiZQKHgsUmwpJiZQKHgsbDYpJiZQKHgsUmUpJiZQKHgsQjEpPzA6MX1mdW5jdGlvbiBQdih4KXtyZXR1cm4gUCh4LHZiKSYmUCh4LFwiZXZhbFwiKT8wOjF9ZnVuY3Rpb24gZWgoeCl7dmFyIHI9ZngoeCxkOCk7eDp7aWYoMDw9cil7aWYoMDxyKXt2YXIgZT1meCh4LFFvKTtpZigwPD1lKXtpZigwPGUmJlAoeCx6ZSkmJlAoeCxyYSkmJlAoeCx5OCkmJlAoeCxacykmJlAoeCxZbCkmJlAoeCxXcykmJlAoeCxMNCkmJlAoeCxIaykpYnJlYWsgeH1lbHNlIGlmKFAoeCxYMSkmJlAoeCxxYSkmJlAoeCxHbCkmJlAoeCxydikmJlAoeCx1dikmJlAoeCxYZSkmJlAoeCxOMykmJlAoeCxHZSkpYnJlYWsgeH19ZWxzZXt2YXIgdD1meCh4LFJwKTtpZigwPD10KXtpZigwPHQmJlAoeCxYcCkmJlAoeCxRbCkmJlAoeCxObSkmJlAoeCxRZikmJlAoeCxHcykmJlAoeCxlOCkmJlAoeCxmOCkmJlAoeCxoMykpYnJlYWsgeH1lbHNlIGlmKFAoeCxLZSkmJlAoeCxwcCkmJlAoeCxWOCkmJlAoeCxNbCkmJlAoeCx1NikmJlAoeCxMZSkmJlAoeCxZZSkmJlAoeCxHbykmJlAoeCxLbCkpYnJlYWsgeH1yZXR1cm4gMX1yZXR1cm4gMH1mdW5jdGlvbiB0Qyh4KXt2YXIgcj1meCh4LEZwKTt4OntpZigwPD1yKXtpZigwPHIpe3ZhciBlPWZ4KHgsdjYpO2lmKDA8PWUpe2lmKDA8ZSYmUCh4LHJhKSYmUCh4LFpzKSYmUCh4LGZrKSYmUCh4LElwKSYmUCh4LFdzKSlicmVhayB4fWVsc2UgaWYoUCh4LHV2KSYmUCh4LHAzKSYmUCh4LFpvKSYmUCh4LFJlKSYmUCh4LGwzKSlicmVhayB4fX1lbHNle3ZhciB0PWZ4KHgsUWYpO2lmKDA8PXQpe2lmKDA8dCYmUCh4LEdzKSYmUCh4LGgzKSYmUCh4LGllKSYmUCh4LEg4KSYmUCh4LE9wKSlicmVhayB4fWVsc2UgaWYoUCh4LHFvKSYmUCh4LHlwKSYmUCh4LGF2KSYmUCh4LGs4KSYmUCh4LCRsKSYmUCh4LGJlKSlicmVhayB4fXJldHVybiAxfXJldHVybiAwfWZ1bmN0aW9uIGhCKHgscil7dmFyIGU9dWwoeCk7aWYoZT09PTEpcmV0dXJuIHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09ND8xOjA7aWYoZSlyZXR1cm4gMDt4OntyOntpZih0eXBlb2Ygcj09XCJudW1iZXJcIil7dmFyIHQ9cjtpZig0Nzw9dClzd2l0Y2godCl7Y2FzZSA0NzpjYXNlIDQ4OmNhc2UgMTI2OmNhc2UgMTI3OmNhc2UgMTI4OmNhc2UgMTI5OmNhc2UgMTMwOmNhc2UgMTMxOmNhc2UgMTMyOmNhc2UgMTMzOmJyZWFrO2Nhc2UgNDk6Y2FzZSA1MDpjYXNlIDUxOmNhc2UgNTI6Y2FzZSA1MzpjYXNlIDU0OmNhc2UgNTU6Y2FzZSA1NjpjYXNlIDU3OmNhc2UgNTg6Y2FzZSA1OTpjYXNlIDYwOmNhc2UgNjE6Y2FzZSA2MjpjYXNlIDYzOmNhc2UgNjQ6Y2FzZSA2NTpjYXNlIDY2OmNhc2UgMTE1OmNhc2UgMTE2OmNhc2UgMTE3OmNhc2UgMTE4OmNhc2UgMTE5OmNhc2UgMTIwOmNhc2UgMTIxOmNhc2UgMTIyOmNhc2UgMTIzOmNhc2UgMTI0OmNhc2UgMTI1OmJyZWFrIHg7ZGVmYXVsdDpicmVhayByfWVsc2Ugc3dpdGNoKHQpe2Nhc2UgMTU6Y2FzZSA0MzpicmVhaztjYXNlIDA6Y2FzZSAxOmNhc2UgMjpjYXNlIDM6Y2FzZSA0OmNhc2UgNTpjYXNlIDY6Y2FzZSA3OmNhc2UgODpjYXNlIDk6Y2FzZSAxMDpjYXNlIDExOmNhc2UgMTI6Y2FzZSAxMzpjYXNlIDE0OmJyZWFrIHI7ZGVmYXVsdDpicmVhayB4fXJldHVybiAwfXN3aXRjaChyWzBdKXtjYXNlIDQ6aWYodEMoclszXSkpcmV0dXJuIDA7YnJlYWsgeDtjYXNlIDY6YnJlYWs7Y2FzZSAxMTpjYXNlIDEyOmNhc2UgMTM6YnJlYWsgeDtkZWZhdWx0OnJldHVybiAwfX1yZXR1cm4gMH1yZXR1cm4gMX1mdW5jdGlvbiB4cih4LHIpe3JldHVybiBjbyh4LHIpWzFdfWZ1bmN0aW9uIGNsKHgscil7cmV0dXJuIGNvKHgscilbMl19ZnVuY3Rpb24gcSh4KXtyZXR1cm4geHIoMCx4KX1mdW5jdGlvbiBWMCh4KXtyZXR1cm4gY2woMCx4KX1mdW5jdGlvbiBkYSh4KXt2YXIgcj1pbCh4KSxlPXI/clsxXTpUeCgkYzApO3JldHVyblswLGVbMV0sZVszXSxlWzNdXX1mdW5jdGlvbiBuQyh4KXtyZXR1cm4gY28oMCx4KVszXX1mdW5jdGlvbiB1MCh4KXt2YXIgcj1jbygwLHgpWzRdO3JldHVybiByP0Q2KGZ1bmN0aW9uKGUpe3JldHVybiBtYSh4WzMxXVsxXSxlWzFdWzJdKTw9MD8xOjB9LHIpOjB9ZnVuY3Rpb24gZEIoeCl7cmV0dXJuIEozKGZ1bmN0aW9uKHIpe3JldHVybiBtYShyWzFdWzJdLHhbMzFdWzFdKTwwPzE6MH0sY28oMCx4KVs0XSl9ZnVuY3Rpb24gSXYoeCxyKXt2YXIgZT0wPHg/WzAsY2woeC0xfDAscildOmlsKHIpO2lmKCFlKXJldHVybiAwO3ZhciB0PWVbMV1bMl1bMV07cmV0dXJuIHQ8Y2woeCxyKVsyXVsxXT8xOjB9ZnVuY3Rpb24gTjEoeCl7cmV0dXJuIEl2KDAseCl9ZnVuY3Rpb24geUIoeCxyKXt2YXIgZT14cih4LHIpO2lmKHR5cGVvZiBlPT1cIm51bWJlclwiKXt2YXIgdD1lLTJ8MDtpZihjZTx0Pj4+MCl7aWYoVGU+PXQrMT4+PjApcmV0dXJuIDF9ZWxzZSBpZih0PT09NilyZXR1cm4gMH1yZXR1cm4gSXYoeCxyKX1mdW5jdGlvbiBzbCh4KXtyZXR1cm4geUIoMCx4KX1mdW5jdGlvbiB5YSh4LHIpe3ZhciBlPXhyKHgscik7eDp7aWYodHlwZW9mIGU9PVwibnVtYmVyXCIpc3dpdGNoKGUpe2Nhc2UgMjk6Y2FzZSA0MzpjYXNlIDUzOmNhc2UgNTQ6Y2FzZSA1NTpjYXNlIDU2OmNhc2UgNTc6Y2FzZSA1ODpjYXNlIDU5OnZhciB0PTE7YnJlYWsgeH1lbHNlIGlmKGVbMF09PT00KXt2YXIgdD1mbChlWzJdKTticmVhayB4fXZhciB0PTB9aWYodClyZXR1cm4gMTt4OntpZih0eXBlb2YgZT09XCJudW1iZXJcIilzd2l0Y2goZSl7Y2FzZSAxNDpjYXNlIDIxOmNhc2UgNDk6Y2FzZSA2MTpjYXNlIDYyOmNhc2UgNjM6Y2FzZSA2NDpjYXNlIDY1OmNhc2UgNjY6Y2FzZSAxMjc6YnJlYWs7ZGVmYXVsdDpicmVhayB4fWVsc2UgaWYoZVswXSE9PTQpYnJlYWsgeDtyZXR1cm4gMX1yZXR1cm4gMH1mdW5jdGlvbiB0aCh4LHIpe3JldHVybiBoQihyLHhyKHgscikpfWZ1bmN0aW9uIGdCKHgscil7dmFyIGU9eWEoeCxyKTtyZXR1cm4gZXx8dGgoeCxyKX1mdW5jdGlvbiBkbih4KXtyZXR1cm4geWEoMCx4KX1mdW5jdGlvbiBzbyh4KXt2YXIgcj1xKHgpPT09MTU/MTowO2lmKHIpdmFyIGU9cjtlbHNle3ZhciB0PXEoeCk9PT02NT8xOjA7aWYodCl7dmFyIHU9eHIoMSx4KT09PTE1PzE6MDtpZih1KXZhciBpPWNsKDEseClbMl1bMV0sZT1WMCh4KVszXVsxXT09PWk/MTowO2Vsc2UgdmFyIGU9dX1lbHNlIHZhciBlPXR9cmV0dXJuIGV9ZnVuY3Rpb24gbmgoeCl7dmFyIHI9cSh4KTtpZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTQmJiFQKHJbM10sVm8pKXt2YXIgZT14WzI4XVsxXTtpZihlKXt2YXIgdD15YSgxLHgpO2lmKHQpdmFyIHU9Y2woMSx4KVsyXVsxXSxpPVYwKHgpWzNdWzFdPT09dT8xOjA7ZWxzZSB2YXIgaT10fWVsc2UgdmFyIGk9ZTtyZXR1cm4gaX1yZXR1cm4gMH1mdW5jdGlvbiB0NCh4KXt2YXIgcj1xKHgpO2lmKHR5cGVvZiByPT1cIm51bWJlclwiKXN3aXRjaChyKXtjYXNlIDEzOmNhc2UgNDE6cmV0dXJuIDF9ZWxzZSBpZihyWzBdPT09NCYmIVAoclszXSxsQSkmJnhyKDEseCk9PT00MSlyZXR1cm4gMTtyZXR1cm4gMH1mdW5jdGlvbiB1Qyh4KXt2YXIgcj14WzI4XVsxXTtpZihyKXt2YXIgZT1xKHgpO2lmKHR5cGVvZiBlIT1cIm51bWJlclwiJiZlWzBdPT09NCYmIVAoZVszXSwkcykmJnlhKDEseCkpcmV0dXJuIDE7dmFyIHQ9MH1lbHNlIHZhciB0PXI7cmV0dXJuIHR9ZnVuY3Rpb24gaUMoeCl7dmFyIHI9cSh4KTtyZXR1cm4gdHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT00JiYhUChyWzNdLF8zKT8xOjB9ZnVuY3Rpb24gVXgoeCxyKXtyZXR1cm4gcTAoeCxbMCxWMCh4KSxyXSl9ZnVuY3Rpb24gd0IoeCxyKXt2YXIgZT16aigwLHIpO3JldHVybiB4P1syOCxlLHhbMV1dOlsyNixlXX1mdW5jdGlvbiBwMih4LHIpe3ZhciBlPW5DKHIpO3JldHVybiBlQyhyKShlKSxVeChyLHdCKHgscShyKSkpfWZ1bmN0aW9uIHVoKHgpe2Z1bmN0aW9uIHIoZSl7cmV0dXJuIHEwKHgsWzAsZVsxXSxzdl0pfXJldHVybiBmdW5jdGlvbihlKXtyZXR1cm4gYjEocixlKX19ZnVuY3Rpb24gX0IoeCxyKXt2YXIgZT14WzZdP0gwKGFyKFdjMCkscixyLHIpOlZjMDtyZXR1cm4gcDIoWzAsZV0seCl9ZnVuY3Rpb24gSWUoeCxyKXt2YXIgZT14WzVdO3JldHVybiBlJiZVeCh4LHIpfWZ1bmN0aW9uIGh0KHgscil7dmFyIGU9eFs1XSx0PXJbMl0sdT1yWzFdO3JldHVybiBlJiZxMCh4LFswLHUsdF0pfWZ1bmN0aW9uIE52KHgscil7cmV0dXJuIHEwKHgsWzAscixbMTQseFs1XV1dKX1mdW5jdGlvbiBFMCh4KXt2YXIgcj14WzI3XVsxXTtpZihyKXt2YXIgZT1yWzFdLHQ9dWwoeCksdT1xKHgpO2QoZSxbMCxWMCh4KSx1LHRdKX12YXIgaT14WzI2XVsxXSxjPWlbMV0sdj1jP2NbMV1bMV06eGgoaSlbMV07eFsyNV1bMV09djt2YXIgYT1uQyh4KTtlQyh4KShhKTt2YXIgbD14WzJdWzFdLG09SzMoY28oMCx4KVs0XSxsKTt4WzJdWzFdPW07dmFyIGg9WzAsY28oMCx4KV07eFs0XVsxXT1oO3ZhciBUPXhbMjZdWzFdO3JldHVybiBUWzJdPyhUWzFdPVRbMl0sVFsyXT0wLDApOihzQihUKSxUWzFdPTAsMCl9ZnVuY3Rpb24gdTIoeCxyKXt2YXIgZT1TVShxKHgpLHIpO3JldHVybiBlJiZFMCh4KSxlfWZ1bmN0aW9uIFYyKHgscil7eFsyNF1bMV09WzAscix4WzI0XVsxXV07dmFyIGU9dWwoeCksdD1aNih4WzI1XVsxXSxlKTt4WzI2XVsxXT10fWZ1bmN0aW9uIFoyKHgpe3ZhciByPXhbMjRdWzFdLGU9cj9yWzJdOlR4KEdjMCk7eFsyNF1bMV09ZTt2YXIgdD11bCh4KSx1PVo2KHhbMjVdWzFdLHQpO3hbMjZdWzFdPXV9ZnVuY3Rpb24gTDAoeCl7dmFyIHI9VjAoeCk7aWYocSh4KT09PTkmJkl2KDEseCkpe3ZhciBlPXUwKHgpLHQ9TXgoZSxENihmdW5jdGlvbihpKXtyZXR1cm4gaVsxXVsyXVsxXTw9clszXVsxXT8xOjB9LGNvKDEseClbNF0pKTtyZXR1cm4geDQoeCxbMCxyWzNdWzFdKzF8MCwwXSksdH12YXIgdT11MCh4KTtyZXR1cm4geDQoeCxyWzNdKSx1fWZ1bmN0aW9uIGFvKHgpe3ZhciByPXhbNF1bMV07aWYoIXIpcmV0dXJuIDA7dmFyIGU9clsxXVsyXSx0PUQ2KGZ1bmN0aW9uKHUpe3JldHVybiB1WzFdWzJdWzFdPD1lWzNdWzFdPzE6MH0sdTAoeCkpO3JldHVybiB4NCh4LFswLGVbM11bMV0rMXwwLDBdKSx0fWZ1bmN0aW9uIHluKHgscil7cmV0dXJuIHAyKFswLHpqKHpjMCxyKV0seCl9ZnVuY3Rpb24gSih4LHIpe3JldHVybiAxLVNVKHEoeCkscikmJnluKHgsciksRTAoeCl9ZnVuY3Rpb24gYkIoeCxyKXt2YXIgZT11Mih4LHIpO3JldHVybiAxLWUmJnluKHgsciksZX1mdW5jdGlvbiBpaCh4LHIpe2JCKHgscil9ZnVuY3Rpb24geXMoeCxyKXt2YXIgZT1xKHgpO3g6e2lmKHR5cGVvZiBlIT1cIm51bWJlclwiJiZlWzBdPT09NCYmYnIoZVszXSxyKSlicmVhayB4O3AyKFswLGQoYXIoWWMwKSxyKV0seCl9cmV0dXJuIEUwKHgpfXZhciBncz1bbjIsdHMwLGFzKDApXTtmdW5jdGlvbiBUQih4LHIsZSl7aWYoZSl7dmFyIHQ9ZVsxXSx1PXRbMV0saT10WzJdO2lmKHJbMjddWzFdPVswLHVdLCF4KXJldHVybiB4O2Zvcih2YXIgYz1pWzJdOzspe2lmKCFjKXJldHVybjt2YXIgdj1jWzJdO2QodSxjWzFdKTt2YXIgYz12fX19ZnVuY3Rpb24gZkMoeCxyKXt2YXIgZT14WzI3XVsxXTtpZihlKXt2YXIgdD1lWzFdLHU9ZXEoTyk7eFsyN11bMV09WzAsZnVuY3Rpb24oTSl7cmV0dXJuIHhqKE0sdSl9XTt2YXIgaT1bMCxbMCx0LHVdXX1lbHNlIHZhciBpPTA7dmFyIGM9eFszMV1bMV0sdj14WzI1XVsxXSxhPXhbMjRdWzFdLGw9eFs0XVsxXSxtPXhbMl1bMV0saD14WzFdWzFdO3RyeXt2YXIgVD1kKHIseCk7VEIoMSx4LGkpO3ZhciBiPVswLFRdO3JldHVybiBifWNhdGNoKEYpe3ZhciBOPVUyKEYpO2lmKE4hPT1ncyl0aHJvdyBXMChOLDApO1RCKDAseCxpKSx4WzFdWzFdPWgseFsyXVsxXT1tLHhbNF1bMV09bCx4WzI0XVsxXT1hLHhbMjVdWzFdPXYseFszMV1bMV09Yzt2YXIgaj11bCh4KSxJPVo2KHhbMjVdWzFdLGopO3JldHVybiB4WzI2XVsxXT1JLDB9fWZ1bmN0aW9uIGZoKHgscixlKXt2YXIgdD1mQyh4LGUpO3JldHVybiB0P3RbMV06cn1mdW5jdGlvbiBuNCh4LHIpe3ZhciBlPWl4KHIpO2lmKCFlKXJldHVybiByO3ZhciB0PWVbMV0sdT1lWzJdLGk9ZCh4LHQpO3JldHVybiB0PT09aT9yOml4KFswLGksdV0pfXZhciBFQj1kNShjczAsZnVuY3Rpb24oeCl7dmFyIHI9TmooeCx1czApLGU9UGooeCxmczApLHQ9ZVsyNF0sdT1lWzI4XSxpPWVbNDFdLGM9ZVs5MV0sdj1lW3A2XSxhPWVbdkFdLGw9ZVttX10sbT1lW1ZMXSxoPWVbQlJdLFQ9ZVtqT10sYj1lWzZdLE49ZVs3XSxqPWVbMTBdLEk9ZVsxN10sRj1lWzIzXSxNPWVbMjldLHo9ZVszOV0sQj1lWzQyXSxLPWVbNTJdLG4wPWVbNjFdLCQ9ZVtKZV0sSD1lW3oxXSx0MD1lW1dhXSxjMD1lW1AzXSxyMD1lW09JXSx2MD1lW0RSXSxhMD1lW05MXSxnMD1lW1hQXSxpMD1lW0FwXSxzMD1lW2pnXSxkMD1lW2dwXSx3MD1lW1U5XSxNMD1lW084XSxDMD1lW0RiXSxEMD1lW0dkXSxJMD1lWyRUXSxqMD1lW0xPXSx5MD1lW19MXSxZMD1lWyREXSxMPWVbVUxdLE4wPWVbeURdLFMwPWVbVmJdLEswPWVbZkxdLEEwPWVbWURdLCQwPWVbUkZdLGV4PWVbd0RdLHh4PWVbZERdLHR4PWVbQURdLHowPWVbeExdLHB4PWVbZkRdLHN4PUNqKHgsMCwwLE1NLE1qLDEpWzFdO3JldHVybiBEaih4LFswLEIsZnVuY3Rpb24oUSxiMCl7dmFyIFU9YjBbMl0saDA9RDYoZnVuY3Rpb24obTApe3JldHVybiBtYShtMFsxXVsyXSxRWzErcl0pPDA/MTowfSxVKSxfMD1hYShoMCk7cmV0dXJuIGFhKFUpPT09XzA/YjA6WzAsYjBbMV0saDAsYjBbM11dfSxweCxmdW5jdGlvbihRLGIwLFUpe3ZhciBoMD1VWzJdO3JldHVybiBQMChkKFFbMV1bMStpXSxRKSxoMCxVLGZ1bmN0aW9uKF8wKXtyZXR1cm5bMCxVWzFdLF8wXX0pfSx6MCxmdW5jdGlvbihRLGIwKXt2YXIgVT1iMFsyXTtyZXR1cm4gUDAoZChRWzFdWzEraV0sUSksVSxiMCxmdW5jdGlvbihoMCl7cmV0dXJuWzAsYjBbMV0saDBdfSl9LHR4LGZ1bmN0aW9uKFEsYjAsVSl7dmFyIGgwPVVbNF0sXzA9VVszXSxtMD1wKFFbMV1bMSthXSxRLF8wKSxUMD1wKFFbMV1bMStpXSxRLGgwKTtyZXR1cm4gXzA9PT1tMCYmaDA9PT1UMD9VOlswLFVbMV0sVVsyXSxtMCxUMF19LHh4LGZ1bmN0aW9uKFEsYjAsVSl7dmFyIGgwPVVbNF0sXzA9VVszXSxtMD1wKFFbMV1bMSthXSxRLF8wKSxUMD1wKFFbMV1bMStpXSxRLGgwKTtyZXR1cm4gXzA9PT1tMCYmaDA9PT1UMD9VOlswLFVbMV0sVVsyXSxtMCxUMF19LGV4LGZ1bmN0aW9uKFEsYjAsVSl7dmFyIGgwPVVbMl07cmV0dXJuIFAwKGQoUVsxXVsxK2ldLFEpLGgwLFUsZnVuY3Rpb24oXzApe3JldHVyblswLFVbMV0sXzBdfSl9LCQwLGZ1bmN0aW9uKFEsYjAsVSl7dmFyIGgwPVVbNF0sXzA9VVszXSxtMD1wKFFbMV1bMStUXSxRLF8wKSxUMD1wKFFbMV1bMStpXSxRLGgwKTtyZXR1cm4gXzA9PT1tMCYmaDA9PT1UMD9VOlswLFVbMV0sVVsyXSxtMCxUMF19LFQsZnVuY3Rpb24oUSxiMCl7dmFyIFU9YjBbMl0saDA9VVsxXSxfMD1iMFsxXSxtMD1VWzJdO3JldHVybiBQMChkKFFbMV1bMStpXSxRKSxtMCxiMCxmdW5jdGlvbihUMCl7cmV0dXJuWzAsXzAsWzAsaDAsVDBdXX0pfSxoLGZ1bmN0aW9uKFEsYjApe3ZhciBVPWIwWzJdLGgwPVVbMV0sXzA9YjBbMV0sbTA9VVsyXTtyZXR1cm4gUDAoZChRWzFdWzEraV0sUSksbTAsYjAsZnVuY3Rpb24oVDApe3JldHVyblswLF8wLFswLGgwLFQwXV19KX0sQTAsZnVuY3Rpb24oUSxiMCxVKXt2YXIgaDA9VVs3XSxfMD1VWzJdLG0wPXAoUVsxXVsxK21dLFEsXzApLFQwPXAoUVsxXVsxK2ldLFEsaDApO3JldHVybiBfMD09PW0wJiZoMD09PVQwP1U6WzAsVVsxXSxtMCxVWzNdLFVbNF0sVVs1XSxVWzZdLFQwXX0sbSxmdW5jdGlvbihRLGIwKXt2YXIgVT1iMFsyXSxoMD1VWzFdLF8wPWIwWzFdLG0wPVVbMl07cmV0dXJuIFAwKGQoUVsxXVsxK2ldLFEpLG0wLGIwLGZ1bmN0aW9uKFQwKXtyZXR1cm5bMCxfMCxbMCxoMCxUMF1dfSl9LEswLGZ1bmN0aW9uKFEsYjAsVSl7dmFyIGgwPVVbMl0sXzA9VVsxXTtpZihoMD09PTApcmV0dXJuIFAwKGQoUVsxXVsxK2FdLFEpLF8wLFUsZnVuY3Rpb24oVDApe3JldHVyblswLFQwLFVbMl0sVVszXV19KTt2YXIgbTA9ZChRWzFdWzErdF0sUSk7cmV0dXJuIFAwKGZ1bmN0aW9uKFQwKXtyZXR1cm4gQXgobTAsVDApfSxoMCxVLGZ1bmN0aW9uKFQwKXtyZXR1cm5bMCxVWzFdLFQwLFVbM11dfSl9LFMwLGZ1bmN0aW9uKFEsYjApe3ZhciBVPWIwWzJdLGgwPVVbMl0sXzA9YjBbMV0sbTA9VVsxXSxUMD1kKFFbMV1bMStsXSxRKTtyZXR1cm4gUDAoZnVuY3Rpb24oWCl7cmV0dXJuIG40KFQwLFgpfSxtMCxiMCxmdW5jdGlvbihYKXtyZXR1cm5bMCxfMCxbMCxYLGgwXV19KX0sbCxmdW5jdGlvbihRLGIwKXt2YXIgVT1iMFsyXSxoMD1VWzJdLF8wPVVbMV0sbTA9YjBbMV07aWYoaDA9PT0wKXJldHVybiBQMChkKFFbMV1bMSt2XSxRKSxfMCxiMCxmdW5jdGlvbihYKXtyZXR1cm5bMCxtMCxbMCxYLGgwXV19KTt2YXIgVDA9ZChRWzFdWzErdF0sUSk7cmV0dXJuIFAwKGZ1bmN0aW9uKFgpe3JldHVybiBBeChUMCxYKX0saDAsYjAsZnVuY3Rpb24oWCl7cmV0dXJuWzAsbTAsWzAsXzAsWF1dfSl9LEwsZnVuY3Rpb24oUSxiMCxVKXt2YXIgaDA9VVs2XSxfMD1VWzVdLG0wPXAoUVsxXVsxK04wXSxRLF8wKSxUMD1wKFFbMV1bMStpXSxRLGgwKTtyZXR1cm4gXzA9PT1tMCYmaDA9PT1UMD9VOlswLFVbMV0sVVsyXSxVWzNdLFVbNF0sbTAsVDAsVVs3XV19LFkwLGZ1bmN0aW9uKFEsYjApe3ZhciBVPWIwWzJdLGgwPWIwWzFdLF8wPVVbM107cmV0dXJuIFAwKGQoUVsxXVsxK2ldLFEpLF8wLFswLGgwLFVdLGZ1bmN0aW9uKG0wKXtyZXR1cm5bMCxoMCxbMCxVWzFdLFVbMl0sbTBdXX0pfSx5MCxmdW5jdGlvbihRLGIwKXt2YXIgVT1iMFsyXSxoMD1VWzFdLF8wPWIwWzFdLG0wPVVbMl07cmV0dXJuIFAwKGQoUVsxXVsxK2ldLFEpLG0wLGIwLGZ1bmN0aW9uKFQwKXtyZXR1cm5bMCxfMCxbMCxoMCxUMF1dfSl9LGowLGZ1bmN0aW9uKFEsYjAsVSl7dmFyIGgwPVVbNF0sXzA9VVszXSxtMD1wKFFbMV1bMSthXSxRLF8wKSxUMD1wKFFbMV1bMStpXSxRLGgwKTtyZXR1cm4gXzA9PT1tMCYmaDA9PT1UMD9VOlswLFVbMV0sVVsyXSxtMCxUMF19LEkwLGZ1bmN0aW9uKFEsYjAsVSl7dmFyIGgwPVVbMTBdLF8wPVVbM10sbTA9cChRWzFdWzErRDBdLFEsXzApLFQwPXAoUVsxXVsxK2ldLFEsaDApO3JldHVybiBfMD09PW0wJiZoMD09PVQwP1U6WzAsVVsxXSxVWzJdLG0wLFVbNF0sVVs1XSxVWzZdLFVbN10sVVs4XSxVWzldLFQwLFVbMTFdXX0sQzAsZnVuY3Rpb24oUSxiMCl7dmFyIFU9YjBbMl0saDA9YjBbMV0sXzA9VVs0XTtyZXR1cm4gUDAoZChRWzFdWzEraV0sUSksXzAsWzAsaDAsVV0sZnVuY3Rpb24obTApe3JldHVyblswLGgwLFswLFVbMV0sVVsyXSxVWzNdLG0wXV19KX0sTTAsZnVuY3Rpb24oUSxiMCxVKXt2YXIgaDA9VVs0XSxfMD1VWzNdLG0wPXAoUVsxXVsxK3cwXSxRLF8wKSxUMD1wKFFbMV1bMStpXSxRLGgwKTtyZXR1cm4gXzA9PT1tMCYmaDA9PT1UMD9VOlswLFVbMV0sVVsyXSxtMCxUMCxVWzVdXX0sZDAsZnVuY3Rpb24oUSxiMCl7aWYoYjBbMF09PT0wKXt2YXIgVT1iMFsxXTtyZXR1cm4gUDAoZChRWzFdWzErdl0sUSksVSxiMCxmdW5jdGlvbihHeCl7cmV0dXJuWzAsR3hdfSl9dmFyIGgwPWIwWzFdLF8wPWgwWzJdLG0wPV8wWzJdLFQwPWgwWzFdLFg9cChRWzFdWzErdl0sUSxtMCk7cmV0dXJuIG0wPT09WD9iMDpbMSxbMCxUMCxbMCxfMFsxXSxYXV1dfSxzMCxmdW5jdGlvbihRLGIwLFUpe3ZhciBoMD1VWzJdO3JldHVybiBQMChkKFFbMV1bMStpXSxRKSxoMCxVLGZ1bmN0aW9uKF8wKXtyZXR1cm5bMCxVWzFdLF8wXX0pfSxpMCxmdW5jdGlvbihRLGIwLFUpe3ZhciBoMD1VWzNdLF8wPVVbMV0sbTA9VzIoZChRWzFdWzErY10sUSksXzApLFQwPXAoUVsxXVsxK2ldLFEsaDApO3JldHVybiBfMD09PW0wJiZoMD09PVQwP1U6WzAsbTAsVVsyXSxUMF19LGcwLGZ1bmN0aW9uKFEsYjAsVSl7dmFyIGgwPVVbMl0sXzA9VVsxXSxtMD1fMFszXSxUMD1fMFsyXSxYPV8wWzFdO2lmKG0wKXZhciBHeD1uNChkKFFbMV1bMSt1XSxRKSxtMCksUHg9VDA7ZWxzZSB2YXIgR3g9MCxQeD1wKFFbMV1bMSt1XSxRLFQwKTt2YXIgRzA9cChRWzFdWzEraV0sUSxoMCk7cmV0dXJuIFQwPT09UHgmJm0wPT09R3gmJmgwPT09RzA/VTpbMCxbMCxYLFB4LEd4XSxHMF19LGEwLGZ1bmN0aW9uKFEsYjAsVSl7dmFyIGgwPVVbNF07cmV0dXJuIFAwKGQoUVsxXVsxK2ldLFEpLGgwLFUsZnVuY3Rpb24oXzApe3JldHVyblswLFVbMV0sVVsyXSxVWzNdLF8wXX0pfSx2MCxmdW5jdGlvbihRLGIwLFUpe3ZhciBoMD1VWzRdO3JldHVybiBQMChkKFFbMV1bMStpXSxRKSxoMCxVLGZ1bmN0aW9uKF8wKXtyZXR1cm5bMCxVWzFdLFVbMl0sVVszXSxfMF19KX0scjAsZnVuY3Rpb24oUSxiMCxVKXt2YXIgaDA9VVs0XSxfMD1VWzNdLG0wPXAoUVsxXVsxK2FdLFEsXzApLFQwPXAoUVsxXVsxK2ldLFEsaDApO3JldHVybiBfMD09PW0wJiZoMD09PVQwP1U6WzAsVVsxXSxVWzJdLG0wLFQwXX0sSCxmdW5jdGlvbihRLGIwLFUpe3ZhciBoMD1VWzRdLF8wPVVbM10sbTA9VVsyXSxUMD1VWzFdLFg9cChRWzFdWzEraV0sUSxoMCk7aWYoXzApe3ZhciBHeD1BeChkKFFbMV1bMStUXSxRKSxfMCk7cmV0dXJuIF8wPT09R3gmJmgwPT09WD9VOlswLFVbMV0sVVsyXSxHeCxYXX1pZihtMCl7dmFyIFB4PUF4KGQoUVsxXVsxK2hdLFEpLG0wKTtyZXR1cm4gbTA9PT1QeCYmaDA9PT1YP1U6WzAsVVsxXSxQeCxVWzNdLFhdfXZhciBHMD1wKFFbMV1bMSthXSxRLFQwKTtyZXR1cm4gVDA9PT1HMCYmaDA9PT1YP1U6WzAsRzAsVVsyXSxVWzNdLFhdfSxjMCxmdW5jdGlvbihRLGIwLFUpe3ZhciBoMD1VWzNdLF8wPVVbMl0sbTA9cChRWzFdWzErdDBdLFEsXzApLFQwPXAoUVsxXVsxK2ldLFEsaDApO3JldHVybiBfMD09PW0wJiZoMD09PVQwP1U6WzAsVVsxXSxtMCxUMF19LCQsZnVuY3Rpb24oUSxiMCxVKXt2YXIgaDA9VVsyXTtyZXR1cm4gUDAoZChRWzFdWzEraV0sUSksaDAsVSxmdW5jdGlvbihfMCl7cmV0dXJuWzAsVVsxXSxfMF19KX0sYyxmdW5jdGlvbihRLGIwLFUpe3ZhciBoMD1VWzRdO3JldHVybiBQMChkKFFbMV1bMStpXSxRKSxoMCxVLGZ1bmN0aW9uKF8wKXtyZXR1cm5bMCxVWzFdLFVbMl0sVVszXSxfMF19KX0sbjAsZnVuY3Rpb24oUSxiMCl7dmFyIFU9YjBbMl0saDA9VVsxXSxfMD1iMFsxXSxtMD1VWzJdO3JldHVybiBQMChkKFFbMV1bMStpXSxRKSxtMCxiMCxmdW5jdGlvbihUMCl7cmV0dXJuWzAsXzAsWzAsaDAsVDBdXX0pfSxLLGZ1bmN0aW9uKFEsYjAsVSl7dmFyIGgwPVVbMl0sXzA9VVsxXSxtMD1uNChkKFFbMV1bMSthXSxRKSxfMCksVDA9cChRWzFdWzEraV0sUSxoMCk7cmV0dXJuIF8wPT09bTAmJmgwPT09VDA/VTpbMCxtMCxUMF19LHosZnVuY3Rpb24oUSxiMCxVKXt2YXIgaDA9VVszXTtyZXR1cm4gUDAoZChRWzFdWzEraV0sUSksaDAsVSxmdW5jdGlvbihfMCl7cmV0dXJuWzAsVVsxXSxVWzJdLF8wXX0pfSxNLGZ1bmN0aW9uKFEsYjApe3ZhciBVPWIwWzNdO3JldHVybiBQMChkKFFbMV1bMStpXSxRKSxVLGIwLGZ1bmN0aW9uKGgwKXtyZXR1cm5bMCxiMFsxXSxiMFsyXSxoMF19KX0sRixmdW5jdGlvbihRLGIwLFUpe3ZhciBoMD1VWzNdO3JldHVybiBQMChkKFFbMV1bMStpXSxRKSxoMCxVLGZ1bmN0aW9uKF8wKXtyZXR1cm5bMCxVWzFdLFVbMl0sXzBdfSl9LEksZnVuY3Rpb24oUSxiMCl7dmFyIFU9YjBbMl0saDA9VVsxXSxfMD1iMFsxXSxtMD1VWzJdO3JldHVybiBQMChkKFFbMV1bMStpXSxRKSxtMCxiMCxmdW5jdGlvbihUMCl7cmV0dXJuWzAsXzAsWzAsaDAsVDBdXX0pfSxqLGZ1bmN0aW9uKFEsYjAsVSl7dmFyIGgwPVVbMl0sXzA9VVsxXSxtMD1fMFszXSxUMD1fMFsyXSxYPV8wWzFdO2lmKG0wKXZhciBHeD1uNChkKFFbMV1bMSt1XSxRKSxtMCksUHg9VDA7ZWxzZSB2YXIgR3g9MCxQeD1wKFFbMV1bMSt1XSxRLFQwKTt2YXIgRzA9cChRWzFdWzEraV0sUSxoMCk7cmV0dXJuIFQwPT09UHgmJm0wPT09R3gmJmgwPT09RzA/VTpbMCxbMCxYLFB4LEd4XSxHMF19LE4sZnVuY3Rpb24oUSxiMCxVKXt2YXIgaDA9VVsyXSxfMD1oMFsyXSxtMD1oMFsxXSxUMD1VWzFdO2lmKCFfMClyZXR1cm4gUDAocChRWzFdWzErYl0sUSxiMCksbTAsVSxmdW5jdGlvbihHeCl7cmV0dXJuWzAsVDAsWzAsR3gsXzBdXX0pO3ZhciBYPV8wWzFdO3JldHVybiBQMChkKFFbMV1bMSthXSxRKSxYLFUsZnVuY3Rpb24oR3gpe3JldHVyblswLFQwLFswLG0wLFswLEd4XV1dfSl9XSksZnVuY3Rpb24oUSxiMCxVKXt2YXIgaDA9eTUoYjAseCk7cmV0dXJuIGgwWzErcl09VSxkKHN4LGgwKSxPaihiMCxoMCx4KX19KTtmdW5jdGlvbiBjaCh4KXt2YXIgcj1pbCh4KTtpZihyKXZhciBlPXJbMV0sdD1kQih4KT8oeDQoeCxlWzNdKSxbMCxwKEVCWzFdLDAsZVszXSldKTowLHU9dDtlbHNlIHZhciB1PTA7cmV0dXJuWzAsMCxmdW5jdGlvbihpLGMpe3JldHVybiB1P2ModVsxXSxpKTppfV19ZnVuY3Rpb24gdTQoeCl7dmFyIHI9aWwoeCk7aWYocil7dmFyIGU9clsxXTtpZihkQih4KSl7eDQoeCxlWzNdKTt2YXIgdD1hbyh4KSx1PVswLHAoRUJbMV0sMCxbMCxlWzNdWzFdKzF8MCwwXSldLGk9dH1lbHNlIHZhciB1PTAsaT1hbyh4KX1lbHNlIHZhciB1PTAsaT0wO3JldHVyblswLGksZnVuY3Rpb24oYyx2KXtyZXR1cm4gdT9wKHYsdVsxXSxjKTpjfV19ZnVuY3Rpb24gRjIoeCl7cmV0dXJuIE4xKHgpP3U0KHgpOmNoKHgpfWZ1bmN0aW9uIFh0KHgscil7cmV0dXJuIHAoRjIoeClbMl0scixmdW5jdGlvbihlLHQpe3JldHVybiBwKEJ4KGUsQzMsMiksZSx0KX0pfWZ1bmN0aW9uIFExKHgscil7aWYoIXIpcmV0dXJuIDA7dmFyIGU9clsxXTtyZXR1cm5bMCxwKEYyKHgpWzJdLGUsZnVuY3Rpb24odCx1KXtyZXR1cm4gcChCeCh0LG9ULDUpLHQsdSl9KV19ZnVuY3Rpb24gY0MoeCxyKXtyZXR1cm4gcChGMih4KVsyXSxyLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHAoQngoZSxxTCw4KSxlLHQpfSl9ZnVuY3Rpb24gYWwoeCxyKXtyZXR1cm4gcChGMih4KVsyXSxyLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHAoQngoZSwtMTA0NTgyNDc3Nyw5KSxlLHQpfSl9ZnVuY3Rpb24gaTQoeCxyKXtyZXR1cm4gcChGMih4KVsyXSxyLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHAoQngoZSwtNDU1NzcyOTc5LDEwKSxlLHQpfSl9ZnVuY3Rpb24gU0IoeCxyKXtpZighcilyZXR1cm4gMDt2YXIgZT1yWzFdO3JldHVyblswLHAoRjIoeClbMl0sZSxmdW5jdGlvbih0LHUpe3JldHVybiBwKEJ4KHQsakwsMTMpLHQsdSl9KV19ZnVuY3Rpb24gZ24oeCxyKXtyZXR1cm4gcChGMih4KVsyXSxyLGZ1bmN0aW9uKGUsdCl7cmV0dXJuIHAoQngoZSxaUiwxNCksZSx0KX0pfWZ1bmN0aW9uIEFCKHgscil7cmV0dXJuIHAoRjIoeClbMl0scixmdW5jdGlvbihlLHQpe3ZhciB1PWQoQngoZSxURCwxNiksZSk7cmV0dXJuIG40KGZ1bmN0aW9uKGkpe3JldHVybiBXMih1LGkpfSx0KX0pfWZ1bmN0aW9uIFBCKHgscil7cmV0dXJuIHAoRjIoeClbMl0scixmdW5jdGlvbihlLHQpe3JldHVybiBwKEJ4KGUsLTIxNDc2MDA5LDE3KSxlLHQpfSl9ZDUoc3MwLGZ1bmN0aW9uKHgpe3ZhciByPU5qKHgsbnMwKSxlPWpqKGlzMCksdD1lLmxlbmd0aC0xLHU9TE0ubGVuZ3RoLTEsaT0kYSh0K3V8MCwwKSxjPXQtMXwwLHY9MDtpZihjPj0wKWZvcih2YXIgYT12Ozspe3ZhciBsPXo2KHgsTjIoZSxhKVsxK2FdKTtOMihpLGEpWzErYV09bDt2YXIgbT1hKzF8MDtpZihjPT09YSlicmVhazt2YXIgYT1tfXZhciBoPXUtMXwwLFQ9MDtpZihoPj0wKWZvcih2YXIgYj1UOzspe3ZhciBOPWIrdHwwLGo9TmooeCxOMihMTSxiKVsxK2JdKTtOMihpLE4pWzErTl09ajt2YXIgST1iKzF8MDtpZihoPT09YilicmVhazt2YXIgYj1JfXZhciBGPWlbNF0sTT1pWzVdLHo9aVtlRl0sQj1pW21fXSxLPWlbMzE2XSxuMD1pWzMxN10sJD1pWzQ0XSxIPWlbYURdLHQwPWlbYkZdLGMwPUNqKHgsMCwwLE1NLE1qLDEpWzFdO3JldHVybiBEaih4LFswLEgsZnVuY3Rpb24ocjApe3JldHVyblswLHIwWzErS10scjBbMStuMF1dfSxCLGZ1bmN0aW9uKHIwLHYwKXt2YXIgYTA9djBbMl0sZzA9djBbMV07cmV0dXJuIGIxKGQocjBbMV1bMStNXSxyMCksZzApLGIxKGQocjBbMV1bMStGXSxyMCksYTApfSx6LGZ1bmN0aW9uKHIwLHYwKXtyZXR1cm4gdjA/cChyMFsxXVsxK0JdLHIwLHYwWzFdKTowfSxNLGZ1bmN0aW9uKHIwLHYwKXt2YXIgYTA9djBbMV0sZzA9cjBbMStLXTtpZihnMCl7dmFyIGkwPW1hKGEwWzJdLGcwWzFdWzFdWzJdKTwwPzE6MCxzMD1pMCYmKHIwWzErS109WzAsdjBdLDApO3JldHVybiBzMH12YXIgZDA9bWEoYTBbMl0scjBbMStyXVsyXSk8MD8xOjAsdzA9ZDAmJihyMFsxK0tdPVswLHYwXSwwKTtyZXR1cm4gdzB9LEYsZnVuY3Rpb24ocjAsdjApe3ZhciBhMD12MFsxXSxnMD1yMFsxK24wXTtpZihnMCl7dmFyIGkwPW1hKGcwWzFdWzFdWzJdLGEwWzJdKTwwPzE6MCxzMD1pMCYmKHIwWzErbjBdPVswLHYwXSwwKTtyZXR1cm4gczB9dmFyIGQwPTA8PW1hKGEwWzJdLHIwWzErcl1bM10pPzE6MCx3MD1kMCYmKHIwWzErbjBdPVswLHYwXSwwKTtyZXR1cm4gdzB9LCQsZnVuY3Rpb24ocjAsdjApe3JldHVybiBwKHIwWzFdWzErQl0scjAsdjApLHYwfSx0MCxmdW5jdGlvbihyMCx2MCxhMCl7cmV0dXJuIHAocjBbMV1bMSt6XSxyMCxhMFsyXSksYTB9XSksZnVuY3Rpb24ocjAsdjAsYTApe3ZhciBnMD15NSh2MCx4KTtyZXR1cm4gZzBbMStyXT1hMCxkKGMwLGcwKSxnMFsxK0tdPTAsZzBbMStuMF09MCxPaih2MCxnMCx4KX19KTtmdW5jdGlvbiBJQih4KXt2YXIgcj1xKHgpO3g6e2lmKHR5cGVvZiByPT1cIm51bWJlclwiKXt2YXIgZT1yO2lmKDUwPD1lKXN3aXRjaChlKXtjYXNlIDUwOnZhciB1PUtzMDticmVhayB4O2Nhc2UgNTE6dmFyIHU9SnMwO2JyZWFrIHg7Y2FzZSA1Mjp2YXIgdT1HczA7YnJlYWsgeDtjYXNlIDUzOnZhciB1PVdzMDticmVhayB4O2Nhc2UgNTQ6dmFyIHU9VnMwO2JyZWFrIHg7Y2FzZSA1NTp2YXIgdT0kczA7YnJlYWsgeDtjYXNlIDU2OnZhciB1PVFzMDticmVhayB4O2Nhc2UgNTc6dmFyIHU9SHMwO2JyZWFrIHg7Y2FzZSA1ODp2YXIgdT1aczA7YnJlYWsgeDtjYXNlIDU5OnZhciB1PXhhMDticmVhayB4O2Nhc2UgNjA6dmFyIHU9cmEwO2JyZWFrIHg7Y2FzZSA2MTp2YXIgdT1lYTA7YnJlYWsgeDtjYXNlIDYyOnZhciB1PXRhMDticmVhayB4O2Nhc2UgNjM6dmFyIHU9bmEwO2JyZWFrIHg7Y2FzZSA2NDp2YXIgdT11YTA7YnJlYWsgeDtjYXNlIDY1OnZhciB1PWlhMDticmVhayB4O2Nhc2UgNjY6dmFyIHU9ZmEwO2JyZWFrIHg7Y2FzZSAxMTU6dmFyIHU9Y2EwO2JyZWFrIHg7Y2FzZSAxMTY6dmFyIHU9c2EwO2JyZWFrIHg7Y2FzZSAxMTc6dmFyIHU9YWEwO2JyZWFrIHg7Y2FzZSAxMTg6dmFyIHU9b2EwO2JyZWFrIHg7Y2FzZSAxMTk6dmFyIHU9dmEwO2JyZWFrIHg7Y2FzZSAxMjA6dmFyIHU9bGEwO2JyZWFrIHg7Y2FzZSAxMjE6dmFyIHU9cGEwO2JyZWFrIHg7Y2FzZSAxMjI6dmFyIHU9a2EwO2JyZWFrIHg7Y2FzZSAxMjM6dmFyIHU9bWEwO2JyZWFrIHg7Y2FzZSAxMjQ6dmFyIHU9aGEwO2JyZWFrIHg7Y2FzZSAxMjU6dmFyIHU9ZGEwO2JyZWFrIHg7Y2FzZSAxMjY6dmFyIHU9eWEwO2JyZWFrIHg7Y2FzZSAxMjc6dmFyIHU9Z2EwO2JyZWFrIHg7Y2FzZSAxMjk6dmFyIHU9d2EwO2JyZWFrIHg7Y2FzZSAxMzA6dmFyIHU9X2EwO2JyZWFrIHg7Y2FzZSAxMzE6dmFyIHU9YmEwO2JyZWFrIHh9ZWxzZSBzd2l0Y2goZSl7Y2FzZSAxNTp2YXIgdT1hczA7YnJlYWsgeDtjYXNlIDE2OnZhciB1PW9zMDticmVhayB4O2Nhc2UgMTc6dmFyIHU9dnMwO2JyZWFrIHg7Y2FzZSAxODp2YXIgdT1sczA7YnJlYWsgeDtjYXNlIDE5OnZhciB1PXBzMDticmVhayB4O2Nhc2UgMjA6dmFyIHU9a3MwO2JyZWFrIHg7Y2FzZSAyMTp2YXIgdT1tczA7YnJlYWsgeDtjYXNlIDIyOnZhciB1PWhzMDticmVhayB4O2Nhc2UgMjM6dmFyIHU9ZHMwO2JyZWFrIHg7Y2FzZSAyNDp2YXIgdT15czA7YnJlYWsgeDtjYXNlIDI1OnZhciB1PWdzMDticmVhayB4O2Nhc2UgMjY6dmFyIHU9d3MwO2JyZWFrIHg7Y2FzZSAyNzp2YXIgdT1fczA7YnJlYWsgeDtjYXNlIDI4OnZhciB1PWJzMDticmVhayB4O2Nhc2UgMjk6dmFyIHU9VHMwO2JyZWFrIHg7Y2FzZSAzMDp2YXIgdT1FczA7YnJlYWsgeDtjYXNlIDMxOnZhciB1PVNzMDticmVhayB4O2Nhc2UgMzI6dmFyIHU9QXMwO2JyZWFrIHg7Y2FzZSAzMzp2YXIgdT1QczA7YnJlYWsgeDtjYXNlIDM0OnZhciB1PUlzMDticmVhayB4O2Nhc2UgMzU6dmFyIHU9TnMwO2JyZWFrIHg7Y2FzZSAzNjp2YXIgdT1qczA7YnJlYWsgeDtjYXNlIDM3OnZhciB1PUNzMDticmVhayB4O2Nhc2UgMzg6dmFyIHU9T3MwO2JyZWFrIHg7Y2FzZSAzOTp2YXIgdT1EczA7YnJlYWsgeDtjYXNlIDQwOnZhciB1PUZzMDticmVhayB4O2Nhc2UgNDE6dmFyIHU9UnMwO2JyZWFrIHg7Y2FzZSA0Mjp2YXIgdT1MczA7YnJlYWsgeDtjYXNlIDQzOnZhciB1PU1zMDticmVhayB4O2Nhc2UgNDQ6dmFyIHU9cXMwO2JyZWFrIHg7Y2FzZSA0NTp2YXIgdT1VczA7YnJlYWsgeDtjYXNlIDQ2OnZhciB1PUJzMDticmVhayB4O2Nhc2UgNDc6dmFyIHU9WHMwO2JyZWFrIHg7Y2FzZSA0ODp2YXIgdT1ZczA7YnJlYWsgeDtjYXNlIDQ5OnZhciB1PXpzMDticmVhayB4fX1lbHNlIHN3aXRjaChyWzBdKXtjYXNlIDQ6dmFyIHU9clsyXTticmVhayB4O2Nhc2UgMTE6dmFyIHQ9clsxXT9UYTA6RWEwLHU9dDticmVhayB4fXAyKFNhMCx4KTt2YXIgdT1BYTB9cmV0dXJuIEUwKHgpLHV9ZnVuY3Rpb24gYTEoeCl7dmFyIHI9VjAoeCksZT11MCh4KSx0PUlCKHgpO3JldHVyblswLHIsWzAsdCxaKFswLGVdLFswLEwwKHgpXSxPKV1dfWZ1bmN0aW9uIE5CKHgpe3ZhciByPVYwKHgpLGU9dTAoeCk7Sih4LDE0KTt2YXIgdD1WMCh4KSx1PUlCKHgpLGk9WihbMCxlXSxbMCxMMCh4KV0sTyksYz1ZcihyLHQpLHY9dFsyXSxhPXJbM10sbD1hWzFdPT09dlsxXT8xOjAsbT1sJiYoYVsyXT09PXZbMl0/MTowKTtyZXR1cm4gMS1tJiZxMCh4LFswLGMsejFdKSxbMCxjLFswLHUsaV1dfWZ1bmN0aW9uIGp2KHgpe3ZhciByPXhbMl0sZT1yWzNdPT09MD8xOjAsdD1yWzJdO2lmKCFlKXJldHVybiBlO2Zvcih2YXIgdT10Ozspe2lmKCF1KXJldHVybiAxO3ZhciBpPXVbMV1bMl0sYz11WzJdO3g6e2lmKGlbMV1bMl1bMF09PT0yJiYhaVsyXSl7dmFyIHY9MTticmVhayB4fXZhciB2PTB9aWYoIXYpcmV0dXJuIHY7dmFyIHU9Y319ZnVuY3Rpb24gZjQoeCl7Zm9yKHZhciByPXg7Oyl7dmFyIGU9clsyXTtpZihlWzBdIT09MzEpcmV0dXJuIDA7dmFyIHQ9ZVsxXVsyXTtpZih0WzJdWzBdPT09MjcpcmV0dXJuIDE7dmFyIHI9dH19ZnVuY3Rpb24gc2goeCxyLGUpe3ZhciB0PWVbMl1bMV0sdT1lWzFdO2lmKCFQKHQsbnYpKXt2YXIgaT1yWzE5XTtyZXR1cm4gaSYmcTAocixbMCx1LDVdKX1pZihQKHQsajMpKXtpZighUCh0LEIxKSlyZXR1cm4gclsxOF0/cTAocixbMCx1LDk1XSk6aHQocixbMCx1LDgwXSl9ZWxzZSBpZihyWzE0XSlyZXR1cm4gcTAocixbMCx1LFsyNixQNSh0KV1dKTtpZihmbCh0KSlyZXR1cm4gaHQocixbMCx1LDgwXSk7aWYoZWgodCkpcmV0dXJuIHEwKHIsWzAsdSw5NV0pO2lmKHgpe3ZhciBjPXhbMV07aWYoUHYodCkpcmV0dXJuIGh0KHIsWzAsdSxjXSl9fWZ1bmN0aW9uIHgwKHgscixlKXt2YXIgdD14P3hbMV06VjAoZSksdT1kKHIsZSksaT1pbChlKSxjPWk/WXIodCxpWzFdKTp0O3JldHVyblswLGMsdV19ZnVuY3Rpb24gc0MoeCxyLGUpe3ZhciB0PXgwKHgscixlKSx1PXRbMl07cmV0dXJuWzAsWzAsdFsxXSx1WzFdXSx1WzJdXX1mdW5jdGlvbiBhaCh4KXtWMih4LDApO3ZhciByPXEoeCk7WjIoeCk7dmFyIGU9eHIoMSx4KTt4OntyOntpZih0eXBlb2Ygcj09XCJudW1iZXJcIil7aWYociE9PTIyKWJyZWFrIHh9ZWxzZXtpZihyWzBdIT09NClicmVhayB4O3ZhciB0PXJbM107aWYoUCh0LGIzKSl7aWYoIVAodCxtMykpZTp7aWYodHlwZW9mIGU9PVwibnVtYmVyXCIpe2lmKGUhPT0yMilicmVhayBlfWVsc2UgaWYoZVswXSE9PTQpYnJlYWsgZTticmVhayByfX1lbHNlIGU6e2lmKHR5cGVvZiBlPT1cIm51bWJlclwiKXtpZihlIT09MjIpYnJlYWsgZX1lbHNlIGlmKGVbMF0hPT00KWJyZWFrIGU7YnJlYWsgcn19aWYodHlwZW9mIGU9PVwibnVtYmVyXCIpe2lmKFhvIT09ZSlicmVhayB4fWVsc2UgaWYoZVswXSE9PTR8fFAoZVszXSxhNikpYnJlYWsgeH1yZXR1cm4gMX1yZXR1cm4gMH1mdW5jdGlvbiBqQih4KXtzd2l0Y2goeCl7Y2FzZSAzOnJldHVybiAyO2Nhc2UgNDpyZXR1cm4gMTtjYXNlIDU6cmV0dXJuIDE7Y2FzZSA2OnJldHVybiAxO2Nhc2UgNzpyZXR1cm4gMTtkZWZhdWx0OnJldHVybiAxfX1mdW5jdGlvbiBhQyh4LHIsZSl7aWYoZSl7dmFyIHQ9ZVsxXTt4OntpZih0IT09ODIzMiYmdDEhPT10KXtpZih0PT09MTApe3ZhciB1PTY7YnJlYWsgeH1pZih0PT09MTMpe3ZhciB1PTU7YnJlYWsgeH1pZihjNjw9dCl7dmFyIHU9MzticmVhayB4fWlmKHRfPD10KXt2YXIgdT0yO2JyZWFrIHh9aWYoTTI8PXQpe3ZhciB1PTE7YnJlYWsgeH12YXIgdT0wO2JyZWFrIHh9dmFyIHU9N312YXIgaT11fWVsc2UgdmFyIGk9NDtyZXR1cm5bMCxpLHhdfXZhciBWYjA9W24yLGNvMCxhcygwKV07ZnVuY3Rpb24gQ0IoeCxyLGUsdCl7dHJ5e3ZhciB1PU4yKHgscilbMStyXTtyZXR1cm4gdX1jYXRjaChjKXt2YXIgaT1VMihjKTt0aHJvdyBpWzFdPT09dTU/VzAoWzAsVmIwLGUsSDAoYXIoaW8wKSx0LHIseC5sZW5ndGgtMSldLDEpOlcwKGksMCl9fWZ1bmN0aW9uIG9oKHgscil7aWYoclsxXT09PTAmJnJbMl09PT0wKXJldHVybiAwO3ZhciBlPUNCKHgsclsxXS0xfDAscixubzApO3JldHVybiBDQihlLHJbMl0scix1bzApfWZ1bmN0aW9uIE9CKHgpe2Z1bmN0aW9uIHIoYSl7dmFyIGw9cShhKTt4OmlmKHR5cGVvZiBsPT1cIm51bWJlclwiKXtpZig4PD1sKXtpZigxMDw9bClicmVhayB4fWVsc2UgaWYobCE9PTEpYnJlYWsgeDtyZXR1cm4gMX1yZXR1cm4gMH1mdW5jdGlvbiBlKGEsbCxtLGgsVCxiKXt2YXIgTj1IMCh4WzI0XSxhLFQsYik7aWYobSl2YXIgaj1xeChPbzAsYiksST0tTjtlbHNlIHZhciBqPWIsST1OO3ZhciBGPUwwKGEpO3JldHVybiByKGEpP1syLGwsWzAsSSxqLFooWzAsaF0sWzAsRl0sTyldXTpbMCxsXX1mdW5jdGlvbiB0KGEpe3ZhciBsPVYwKGEpLG09dTAoYSksaD1xKGEpO2lmKHR5cGVvZiBoPT1cIm51bWJlclwiKXN3aXRjaChoKXtjYXNlIDEwNTpFMChhKTt2YXIgVD1xKGEpO3JldHVybiB0eXBlb2YgVCE9XCJudW1iZXJcIiYmVFswXT09PTA/ZShhLGwsMSxtLFRbMV0sVFsyXSk6WzAsbF07Y2FzZSAzMTpjYXNlIDMyOkUwKGEpO3ZhciBiPUwwKGEpO3JldHVybiByKGEpP1sxLGwsWzAsaD09PTMyPzE6MCxaKFswLG1dLFswLGJdLE8pXV06WzAsbF19ZWxzZSBzd2l0Y2goaFswXSl7Y2FzZSAwOnJldHVybiBlKGEsbCwwLG0saFsxXSxoWzJdKTtjYXNlIDE6dmFyIE49aFsyXSxqPUgwKHhbMjZdLGEsaFsxXSxOKSxJPUwwKGEpO3JldHVybiByKGEpP1s0LGwsWzAsaixOLFooWzAsbV0sWzAsSV0sTyldXTpbMCxsXTtjYXNlIDI6dmFyIEY9aFsxXSxNPUZbMV0sej1GWzNdLEI9RlsyXTtGWzRdJiZJZShhLDc2KSxFMChhKTt2YXIgSz1MMChhKTtyZXR1cm4gcihhKT9bMyxNLFswLEIseixaKFswLG1dLFswLEtdLE8pXV06WzAsTV19cmV0dXJuIEUwKGEpLFswLGxdfXZhciB1PVswLERvMCxJMVsxXSwwLDBdO2Z1bmN0aW9uIGkoYSl7dmFyIGw9YTEoYSksbT1xKGEpO3g6e2lmKHR5cGVvZiBtPT1cIm51bWJlclwiKXtpZihtPT09ODMpe0ooYSw4Myk7dmFyIGg9dChhKTticmVhayB4fWlmKG09PT04Nyl7VXgoYSxbOCxsWzJdWzFdXSksSihhLDg3KTt2YXIgaD10KGEpO2JyZWFrIHh9fXZhciBoPTB9cmV0dXJuWzAsbCxoXX12YXIgYz0wO2Z1bmN0aW9uIHYoYSxsLG0saCxULGIsTil7dmFyIGo9YWEoVCksST1hYShiKTtmdW5jdGlvbiBGKHope3JldHVyblsyLFswLFswLGJdLG0saCxOXV19ZnVuY3Rpb24gTSh6KXtyZXR1cm5bMixbMCxbMSxUXSxtLGgsTl1dfXJldHVybiBqPT09MD9GKE8pOkk9PT0wP00oTyk6ajxJPyhiMShmdW5jdGlvbih6KXtyZXR1cm4gcTAoYSxbMCx6WzFdLFsxMixsXV0pfSxUKSxGKE8pKTooYjEoZnVuY3Rpb24oeil7cmV0dXJuIHEwKGEsWzAselsxXSxbMTIsbF1dKX0sYiksTShPKSl9cmV0dXJuWzAsZnVuY3Rpb24oYSxsKXt2YXIgbT1hP2FbMV06MCxoPU14KG0sdTAobCkpO0oobCw0OSk7dmFyIFQ9cCh4WzEzXSwwLGwpLGI9VFsyXVsxXSxOPVRbMV0saj14MCgwLGZ1bmN0aW9uKEkpe2lmKHUyKEksNjQpKXtWMihJLDEpO3ZhciBGPXEoSSk7eDp7aWYodHlwZW9mIEY9PVwibnVtYmVyXCIpc3dpdGNoKEYpe2Nhc2UgMTE4OnZhciBNPVBvMDticmVhayB4O2Nhc2UgMTE5OnZhciBNPUlvMDticmVhayB4O2Nhc2UgMTIwOnZhciBNPU5vMDticmVhayB4O2Nhc2UgMTIyOnZhciBNPWpvMDticmVhayB4fWVsc2Ugc3dpdGNoKEZbMF0pe2Nhc2UgNDpVeChJLFs3LGIsWzAsRlsyXV1dKTt2YXIgTT0wO2JyZWFrIHg7Y2FzZSAxMTppZihGWzFdKXt2YXIgTT1DbzA7YnJlYWsgeH1icmVha31VeChJLFs3LGIsMF0pO3ZhciBNPTB9RTAoSSksWjIoSSk7dmFyIHo9TX1lbHNlIHZhciB6PTA7dmFyIEI9ej09PTA/MDp1MChJKTtKKEksMCk7Zm9yKHZhciBLPXU7Oyl7dmFyIG4wPXEoSSk7aWYodHlwZW9mIG4wPT1cIm51bWJlclwiKXt2YXIgJD1uMC0yfDA7aWYoY2U8JD4+PjApe2lmKFRlPj0kKzE+Pj4wKWJyZWFrfWVsc2UgaWYoJD09PTEwKXt2YXIgSD1WMChJKSx0MD11MChJKTtFMChJKTt2YXIgYzA9cShJKTt4OntyOmlmKHR5cGVvZiBjMD09XCJudW1iZXJcIil7dmFyIHIwPWMwLTJ8MDtpZihjZTxyMD4+PjApe2lmKFRlPHIwKzE+Pj4wKWJyZWFrIHJ9ZWxzZXtpZihyMCE9PTcpYnJlYWsgcjtKKEksOSk7dmFyIHYwPXEoSSk7ZTp7dDppZih0eXBlb2YgdjA9PVwibnVtYmVyXCIpe2lmKHYwIT09MSYmbXIhPT12MClicmVhayB0O3ZhciBhMD0xO2JyZWFrIGV9dmFyIGEwPTB9cTAoSSxbMCxILFs2LGEwXV0pfWJyZWFrIHh9cTAoSSxbMCxILFNvMF0pfXZhciBLPVswLEtbMV0sS1syXSwxLHQwXTtjb250aW51ZX19dmFyIGcwPUtbMl0saTA9S1sxXSxzMD14MChjLGksSSksZDA9czBbMl0sdzA9ZDBbMl0sTTA9ZDBbMV0sQzA9czBbMV0sRDA9TTBbMl1bMV0sSTA9TTBbMV07eDppZihicihEMCxaMCkpdmFyIGowPUs7ZWxzZXt2YXIgeTA9cTIoRDAsMCksWTA9OTc8PXkwPzE6MCxMPVkwJiYoeTA8PXMyPzE6MCk7TCYmcTAoSSxbMCxJMCxbMTAsYixEMF1dKSxJMVszXS5jYWxsKG51bGwsRDAsZzApJiZxMChJLFswLEkwLFs0LGIsRDBdXSk7dmFyIE4wPUtbNF0sUzA9S1szXSxLMD1JMVs0XS5jYWxsKG51bGwsRDAsZzApLEEwPVswLEtbMV0sSzAsUzAsTjBdO2xldCBheD1EMDt2YXIgJDA9ZnVuY3Rpb24oUXgsa3gpe2lmKHomJnpbMV0hPT1ReClyZXR1cm4gcTAoSSxbMCxreCxbOSxiLHosYXhdXSl9O2lmKHR5cGVvZiB3MD09XCJudW1iZXJcIil7aWYoeilzd2l0Y2goelsxXSl7Y2FzZSAwOnEwKEksWzAsQzAsWzMsYixEMF1dKTt2YXIgajA9QTA7YnJlYWsgeDtjYXNlIDE6cTAoSSxbMCxDMCxbMTEsYixEMF1dKTt2YXIgajA9QTA7YnJlYWsgeDtjYXNlIDQ6cTAoSSxbMCxDMCxbMixiLEQwXV0pO3ZhciBqMD1BMDticmVhayB4fXZhciBqMD1bMCxbMCxpMFsxXSxpMFsyXSxpMFszXSxpMFs0XSxbMCxbMCxDMCxbMCxNMF1dLGkwWzVdXV0sSzAsUzAsTjBdfWVsc2Ugc3dpdGNoKHcwWzBdKXtjYXNlIDA6cTAoSSxbMCx3MFsxXSxbOSxiLHosRDBdXSk7dmFyIGowPUEwO2JyZWFrO2Nhc2UgMTp2YXIgZXg9dzBbMV0seHg9dzBbMl07JDAoMCxleCk7dmFyIGowPVswLFswLFswLFswLEMwLFswLE0wLFswLGV4LHh4XV1dLGkwWzFdXSxpMFsyXSxpMFszXSxpMFs0XSxpMFs1XV0sSzAsUzAsTjBdO2JyZWFrO2Nhc2UgMjp2YXIgdHg9dzBbMV0sejA9dzBbMl07JDAoMSx0eCk7dmFyIGowPVswLFswLGkwWzFdLFswLFswLEMwLFswLE0wLFswLHR4LHowXV1dLGkwWzJdXSxpMFszXSxpMFs0XSxpMFs1XV0sSzAsUzAsTjBdO2JyZWFrO2Nhc2UgMzp2YXIgcHg9dzBbMV0sc3g9dzBbMl07JDAoMixweCk7dmFyIGowPVswLFswLGkwWzFdLGkwWzJdLFswLFswLEMwLFswLE0wLFswLHB4LHN4XV1dLGkwWzNdXSxpMFs0XSxpMFs1XV0sSzAsUzAsTjBdO2JyZWFrO2RlZmF1bHQ6dmFyIFE9dzBbMV0sYjA9dzBbMl07JDAoNCxRKTt2YXIgajA9WzAsWzAsaTBbMV0saTBbMl0saTBbM10sWzAsWzAsQzAsWzAsTTAsWzAsUSxiMF1dXSxpMFs0XV0saTBbNV1dLEswLFMwLE4wXX19dmFyIFU9cShJKTt4OntyOmlmKHR5cGVvZiBVPT1cIm51bWJlclwiKXt2YXIgaDA9VS0yfDA7aWYoY2U8aDA+Pj4wKXtpZihUZTxoMCsxPj4+MClicmVhayByfWVsc2V7aWYoaDAhPT02KWJyZWFrIHI7VXgoSSwxOCksSihJLDgpfWJyZWFrIHh9SihJLDkpfXZhciBLPWowfXZhciBfMD1LWzNdLG0wPUtbNF0sVDA9aXgoS1sxXVs1XSksWD1peChLWzFdWzRdKSxHeD1peChLWzFdWzNdKSxQeD1peChLWzFdWzJdKSxHMD1peChLWzFdWzFdKSxLcj1NeChtMCx1MChJKSk7SihJLDEpO3ZhciBTPXEoSSk7eDp7cjppZih0eXBlb2YgUz09XCJudW1iZXJcIil7aWYoUyE9PTEmJm1yIT09UylicmVhayByO3ZhciBHPUwwKEkpO2JyZWFrIHh9dmFyIEc9TjEoSSk/YW8oSSk6MH12YXIgcng9TzIoWzAsQl0sWzAsR10sS3IsTyk7aWYoeil7c3dpdGNoKHpbMV0pe2Nhc2UgMDp2YXIgeXg9WzAsWzAsRzAsMSxfMCxyeF1dO2JyZWFrO2Nhc2UgMTp2YXIgeXg9WzEsWzAsUHgsMSxfMCxyeF1dO2JyZWFrO2Nhc2UgMjp2YXIgeXg9dihJLGIsMSxfMCxHeCxUMCxyeCk7YnJlYWs7Y2FzZSAzOnZhciB5eD1bMyxbMCxUMCxfMCxyeF1dO2JyZWFrO2RlZmF1bHQ6dmFyIHl4PVs0LFswLFgsMSxfMCxyeF1dfXZhciBFeD15eH1lbHNle3ZhciBueD1hYShHMCkscDA9YWEoUHgpLEZ4PWFhKFgpLFN4PWFhKEd4KSxieD1hYShUMCksQjA9ZnVuY3Rpb24oYXgpe3JldHVyblsyLFswLEFvMCwwLF8wLHJ4XV19O3g6e2lmKG54PT09MCYmcDA9PT0wJiZGeD09PTApe2lmKFN4PT09MCYmYng9PT0wKXt2YXIgV3g9QjAoTyk7YnJlYWsgeH12YXIgV3g9dihJLGIsMCxfMCxHeCxUMCxyeCk7YnJlYWsgeH1pZihwMD09PTAmJkZ4PT09MCYmU3g9PT0wJiZieDw9bngpe2IxKGZ1bmN0aW9uKFF4KXtyZXR1cm4gcTAoSSxbMCxReFsxXSxbMyxiLFF4WzJdWzFdWzJdWzFdXV0pfSxUMCk7dmFyIFd4PVswLFswLEcwLDAsXzAscnhdXTticmVhayB4fWlmKG54PT09MCl7aWYoRng9PT0wJiZTeD09PTAmJmJ4PD1wMCl7YjEoZnVuY3Rpb24oUXgpe3JldHVybiBxMChJLFswLFF4WzFdLFsxMSxiLFF4WzJdWzFdWzJdWzFdXV0pfSxUMCk7dmFyIFd4PVsxLFswLFB4LDAsXzAscnhdXTticmVhayB4fWlmKHAwPT09MCYmU3g9PT0wJiZieDw9Rngpe2IxKGZ1bmN0aW9uKFF4KXtyZXR1cm4gcTAoSSxbMCxReFsxXSxbMTEsYixReFsyXVsxXVsyXVsxXV1dKX0sVDApO3ZhciBXeD1bNCxbMCxYLDAsXzAscnhdXTticmVhayB4fX1xMChJLFswLE4sWzUsYl1dKTt2YXIgV3g9QjAoTyl9dmFyIEV4PVd4fXJldHVybiBFeH0sbCk7cmV0dXJuWzAsVCxqLFooWzAsaF0sMCxPKV19XX1mdW5jdGlvbiBvbCh4KXtyZXR1cm5bMCxkYSh4KV19ZnVuY3Rpb24gdmgoeCxyLGUpe2lmKHR5cGVvZiBlPT1cIm51bWJlclwiKXJldHVyblswLHgscl07aWYoZVswXT09PTApe3ZhciB0PWVbMV0sdT1meCh4LHQpLGk9ZVsyXTtyZXR1cm4gdT09PTA/aT09PXI/ZTpbMCx0LHJdOjA8PXU/WzEsMix4LHIsZSwwXTpbMSwyLHgsciwwLGVdfXZhciBjPWVbNV0sdj1lWzRdLGE9ZVszXSxsPWVbMl0sbT1meCh4LGwpLGg9ZVsxXTtpZihtPT09MClyZXR1cm4gYT09PXI/ZTpbMSxoLHgscix2LGNdO2lmKDA8PW0pe3ZhciBUPXZoKHgscixjKTtyZXR1cm4gYz09PVQ/ZTpsVSh2LGwsYSxUKX12YXIgYj12aCh4LHIsdik7cmV0dXJuIHY9PT1iP2U6bFUoYixsLGEsYyl9ZnVuY3Rpb24gJGIwKHgscil7aWYodHlwZW9mIHg9PVwibnVtYmVyXCIpe3ZhciBlPXg7aWYoNTc8PWUpc3dpdGNoKGUpe2Nhc2UgNTc6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT01NylyZXR1cm4gMDticmVhaztjYXNlIDU4OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NTgpcmV0dXJuIDA7YnJlYWs7Y2FzZSA1OTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTU5KXJldHVybiAwO2JyZWFrO2Nhc2UgNjA6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT02MClyZXR1cm4gMDticmVhaztjYXNlIDYxOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NjEpcmV0dXJuIDA7YnJlYWs7Y2FzZSA2MjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTYyKXJldHVybiAwO2JyZWFrO2Nhc2UgNjM6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT02MylyZXR1cm4gMDticmVhaztjYXNlIDY0OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NjQpcmV0dXJuIDA7YnJlYWs7Y2FzZSA2NTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTY1KXJldHVybiAwO2JyZWFrO2Nhc2UgNjY6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT02NilyZXR1cm4gMDticmVhaztjYXNlIDY3OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NjcpcmV0dXJuIDA7YnJlYWs7Y2FzZSA2ODppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTY4KXJldHVybiAwO2JyZWFrO2Nhc2UgNjk6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT02OSlyZXR1cm4gMDticmVhaztjYXNlIDcwOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NzApcmV0dXJuIDA7YnJlYWs7Y2FzZSA3MTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTcxKXJldHVybiAwO2JyZWFrO2Nhc2UgNzI6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT03MilyZXR1cm4gMDticmVhaztjYXNlIDczOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NzMpcmV0dXJuIDA7YnJlYWs7Y2FzZSA3NDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTc0KXJldHVybiAwO2JyZWFrO2Nhc2UgNzU6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT03NSlyZXR1cm4gMDticmVhaztjYXNlIDc2OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NzYpcmV0dXJuIDA7YnJlYWs7Y2FzZSA3NzppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTc3KXJldHVybiAwO2JyZWFrO2Nhc2UgNzg6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT03OClyZXR1cm4gMDticmVhaztjYXNlIDc5OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NzkpcmV0dXJuIDA7YnJlYWs7Y2FzZSA4MDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTgwKXJldHVybiAwO2JyZWFrO2Nhc2UgODE6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT04MSlyZXR1cm4gMDticmVhaztjYXNlIDgyOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09ODIpcmV0dXJuIDA7YnJlYWs7Y2FzZSA4MzppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTgzKXJldHVybiAwO2JyZWFrO2Nhc2UgODQ6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT04NClyZXR1cm4gMDticmVhaztjYXNlIDg1OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09ODUpcmV0dXJuIDA7YnJlYWs7Y2FzZSA4NjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTg2KXJldHVybiAwO2JyZWFrO2Nhc2UgODc6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT04NylyZXR1cm4gMDticmVhaztjYXNlIDg4OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09ODgpcmV0dXJuIDA7YnJlYWs7Y2FzZSA4OTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTg5KXJldHVybiAwO2JyZWFrO2Nhc2UgOTA6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT05MClyZXR1cm4gMDticmVhaztjYXNlIDkxOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09OTEpcmV0dXJuIDA7YnJlYWs7Y2FzZSA5MjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTkyKXJldHVybiAwO2JyZWFrO2Nhc2UgOTM6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT05MylyZXR1cm4gMDticmVhaztjYXNlIDk0OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09OTQpcmV0dXJuIDA7YnJlYWs7Y2FzZSA5NTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTk1KXJldHVybiAwO2JyZWFrO2Nhc2UgOTY6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT05NilyZXR1cm4gMDticmVhaztjYXNlIDk3OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09OTcpcmV0dXJuIDA7YnJlYWs7Y2FzZSA5ODppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTk4KXJldHVybiAwO2JyZWFrO2Nhc2UgOTk6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT05OSlyZXR1cm4gMDticmVhaztjYXNlIDEwMDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmeTI9PT1yKXJldHVybiAwO2JyZWFrO2Nhc2UgMTAxOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZmZT09PXIpcmV0dXJuIDA7YnJlYWs7Y2FzZSAxMDI6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJmcxPT09cilyZXR1cm4gMDticmVhaztjYXNlIDEwMzppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmc249PT1yKXJldHVybiAwO2JyZWFrO2Nhc2UgMTA0OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZCZT09PXIpcmV0dXJuIDA7YnJlYWs7Y2FzZSAxMDU6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnVpPT09cilyZXR1cm4gMDticmVhaztjYXNlIDEwNjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmSmU9PT1yKXJldHVybiAwO2JyZWFrO2Nhc2UgMTA3OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZLMj09PXIpcmV0dXJuIDA7YnJlYWs7Y2FzZSAxMDg6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnN2PT09cilyZXR1cm4gMDticmVhaztjYXNlIDEwOTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmc3Q9PT1yKXJldHVybiAwO2JyZWFrO2Nhc2UgMTEwOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZ6MT09PXIpcmV0dXJuIDA7YnJlYWs7Y2FzZSAxMTE6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJmNlPT09cilyZXR1cm4gMDticmVhaztkZWZhdWx0OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZlYTw9cilyZXR1cm4gMH1lbHNlIHN3aXRjaChlKXtjYXNlIDA6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJiFyKXJldHVybiAwO2JyZWFrO2Nhc2UgMTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTEpcmV0dXJuIDA7YnJlYWs7Y2FzZSAyOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MilyZXR1cm4gMDticmVhaztjYXNlIDM6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0zKXJldHVybiAwO2JyZWFrO2Nhc2UgNDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTQpcmV0dXJuIDA7YnJlYWs7Y2FzZSA1OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NSlyZXR1cm4gMDticmVhaztjYXNlIDY6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT02KXJldHVybiAwO2JyZWFrO2Nhc2UgNzppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTcpcmV0dXJuIDA7YnJlYWs7Y2FzZSA4OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09OClyZXR1cm4gMDticmVhaztjYXNlIDk6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT05KXJldHVybiAwO2JyZWFrO2Nhc2UgMTA6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0xMClyZXR1cm4gMDticmVhaztjYXNlIDExOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MTEpcmV0dXJuIDA7YnJlYWs7Y2FzZSAxMjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTEyKXJldHVybiAwO2JyZWFrO2Nhc2UgMTM6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0xMylyZXR1cm4gMDticmVhaztjYXNlIDE0OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MTQpcmV0dXJuIDA7YnJlYWs7Y2FzZSAxNTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTE1KXJldHVybiAwO2JyZWFrO2Nhc2UgMTY6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0xNilyZXR1cm4gMDticmVhaztjYXNlIDE3OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MTcpcmV0dXJuIDA7YnJlYWs7Y2FzZSAxODppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTE4KXJldHVybiAwO2JyZWFrO2Nhc2UgMTk6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0xOSlyZXR1cm4gMDticmVhaztjYXNlIDIwOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MjApcmV0dXJuIDA7YnJlYWs7Y2FzZSAyMTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTIxKXJldHVybiAwO2JyZWFrO2Nhc2UgMjI6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0yMilyZXR1cm4gMDticmVhaztjYXNlIDIzOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MjMpcmV0dXJuIDA7YnJlYWs7Y2FzZSAyNDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTI0KXJldHVybiAwO2JyZWFrO2Nhc2UgMjU6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0yNSlyZXR1cm4gMDticmVhaztjYXNlIDI2OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MjYpcmV0dXJuIDA7YnJlYWs7Y2FzZSAyNzppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTI3KXJldHVybiAwO2JyZWFrO2Nhc2UgMjg6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0yOClyZXR1cm4gMDticmVhaztjYXNlIDI5OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MjkpcmV0dXJuIDA7YnJlYWs7Y2FzZSAzMDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTMwKXJldHVybiAwO2JyZWFrO2Nhc2UgMzE6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0zMSlyZXR1cm4gMDticmVhaztjYXNlIDMyOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MzIpcmV0dXJuIDA7YnJlYWs7Y2FzZSAzMzppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTMzKXJldHVybiAwO2JyZWFrO2Nhc2UgMzQ6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0zNClyZXR1cm4gMDticmVhaztjYXNlIDM1OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MzUpcmV0dXJuIDA7YnJlYWs7Y2FzZSAzNjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTM2KXJldHVybiAwO2JyZWFrO2Nhc2UgMzc6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT0zNylyZXR1cm4gMDticmVhaztjYXNlIDM4OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MzgpcmV0dXJuIDA7YnJlYWs7Y2FzZSAzOTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTM5KXJldHVybiAwO2JyZWFrO2Nhc2UgNDA6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT00MClyZXR1cm4gMDticmVhaztjYXNlIDQxOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NDEpcmV0dXJuIDA7YnJlYWs7Y2FzZSA0MjppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTQyKXJldHVybiAwO2JyZWFrO2Nhc2UgNDM6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT00MylyZXR1cm4gMDticmVhaztjYXNlIDQ0OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NDQpcmV0dXJuIDA7YnJlYWs7Y2FzZSA0NTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTQ1KXJldHVybiAwO2JyZWFrO2Nhc2UgNDY6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT00NilyZXR1cm4gMDticmVhaztjYXNlIDQ3OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NDcpcmV0dXJuIDA7YnJlYWs7Y2FzZSA0ODppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTQ4KXJldHVybiAwO2JyZWFrO2Nhc2UgNDk6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT00OSlyZXR1cm4gMDticmVhaztjYXNlIDUwOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NTApcmV0dXJuIDA7YnJlYWs7Y2FzZSA1MTppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTUxKXJldHVybiAwO2JyZWFrO2Nhc2UgNTI6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT01MilyZXR1cm4gMDticmVhaztjYXNlIDUzOmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NTMpcmV0dXJuIDA7YnJlYWs7Y2FzZSA1NDppZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTU0KXJldHVybiAwO2JyZWFrO2Nhc2UgNTU6aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT01NSlyZXR1cm4gMDticmVhaztkZWZhdWx0OmlmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09NTYpcmV0dXJuIDB9fWVsc2Ugc3dpdGNoKHhbMF0pe2Nhc2UgMDppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTApe3ZhciB0PXJbMV0sdT14WzFdO3JldHVybiBwKGQoaHJbNDNdLDApLHUsdCl9YnJlYWs7Y2FzZSAxOmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09MSl7dmFyIGk9clsxXSxjPXhbMV07cmV0dXJuIHAoZChocls0Ml0sMCksYyxpKX1icmVhaztjYXNlIDI6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT0yKXt2YXIgdj1yWzJdLGE9clsxXSxsPXhbMl0sbT14WzFdLGg9cChkKGhyWzQxXSwwKSxtLGEpO3JldHVybiBoPT09MD9wKGQoaHJbNDBdLDApLGwsdik6aH1icmVhaztjYXNlIDM6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT0zKXt2YXIgVD1yWzJdLGI9clsxXSxOPXhbMl0saj14WzFdLEk9cChkKGhyWzM5XSwwKSxqLGIpO3JldHVybiBJPT09MD9wKGQoaHJbMzhdLDApLE4sVCk6SX1icmVhaztjYXNlIDQ6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT00KXt2YXIgRj1yWzJdLE09clsxXSx6PXhbMl0sQj14WzFdLEs9cChkKGhyWzM3XSwwKSxCLE0pO3JldHVybiBLPT09MD9wKGQoaHJbMzZdLDApLHosRik6S31icmVhaztjYXNlIDU6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT01KXt2YXIgbjA9clsxXSwkPXhbMV07cmV0dXJuIHAoZChoclszNV0sMCksJCxuMCl9YnJlYWs7Y2FzZSA2OmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09Nil7dmFyIEg9clsxXSx0MD14WzFdO3JldHVybiBwKGQoaHJbMzRdLDApLHQwLEgpfWJyZWFrO2Nhc2UgNzppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTcpe3ZhciBjMD1yWzJdLHIwPXhbMl0sdjA9clsxXSxhMD14WzFdLGcwPXAoZChoclszM10sMCksYTAsdjApO2lmKGcwIT09MClyZXR1cm4gZzA7aWYoIXIwKXJldHVybiBjMD8tMTowO3ZhciBpMD1yMFsxXTtpZighYzApcmV0dXJuIDE7dmFyIHMwPWMwWzFdO3JldHVybiBwKGQoaHJbMzJdLDApLGkwLHMwKX1icmVhaztjYXNlIDg6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT04KXt2YXIgZDA9clsxXSx3MD14WzFdO3JldHVybiBwKGQoaHJbMzFdLDApLHcwLGQwKX1icmVhaztjYXNlIDk6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT05KXt2YXIgTTA9clsyXSxDMD14WzJdLEQwPXJbM10sSTA9clsxXSxqMD14WzNdLHkwPXhbMV0sWTA9cChkKGhyWzMwXSwwKSx5MCxJMCk7aWYoWTAhPT0wKXJldHVybiBZMDtpZihDMCl2YXIgTD1DMFsxXSxOMD1NMD9wKGhyWzI5XSxMLE0wWzFdKToxO2Vsc2UgdmFyIE4wPU0wPy0xOjA7cmV0dXJuIE4wPT09MD9wKGQoaHJbMjhdLDApLGowLEQwKTpOMH1icmVhaztjYXNlIDEwOmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09MTApe3ZhciBTMD1yWzJdLEswPXJbMV0sQTA9eFsyXSwkMD14WzFdLGV4PXAoZChoclsyN10sMCksJDAsSzApO3JldHVybiBleD09PTA/cChkKGhyWzI2XSwwKSxBMCxTMCk6ZXh9YnJlYWs7Y2FzZSAxMTppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTExKXt2YXIgeHg9clsyXSx0eD1yWzFdLHowPXhbMl0scHg9eFsxXSxzeD1wKGQoaHJbMjVdLDApLHB4LHR4KTtyZXR1cm4gc3g9PT0wP3AoZChoclsyNF0sMCksejAseHgpOnN4fWJyZWFrO2Nhc2UgMTI6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT0xMil7dmFyIFE9clsxXSxiMD14WzFdO3JldHVybiBwKGQoaHJbMjNdLDApLGIwLFEpfWJyZWFrO2Nhc2UgMTM6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT0xMyl7dmFyIFU9clsxXSxoMD14WzFdO3JldHVybiBwKGQoaHJbMjJdLDApLGgwLFUpfWJyZWFrO2Nhc2UgMTQ6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT0xNCl7dmFyIF8wPXJbMV0sbTA9eFsxXTtyZXR1cm4gcChkKGhyWzIxXSwwKSxtMCxfMCl9YnJlYWs7Y2FzZSAxNTppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTE1KXt2YXIgVDA9cls0XSxYPXJbM10sR3g9clsyXSxQeD1yWzFdLEcwPXhbNF0sS3I9eFszXSxTPXhbMl0sRz14WzFdLHJ4PXAoZChoclsyMF0sMCksRyxQeCk7aWYocnghPT0wKXJldHVybiByeDt2YXIgeXg9cChkKGhyWzE5XSwwKSxTLEd4KTtpZih5eCE9PTApcmV0dXJuIHl4O3ZhciBFeD1wKGQoaHJbMThdLDApLEtyLFgpO3JldHVybiBFeD09PTA/cChkKGhyWzE3XSwwKSxHMCxUMCk6RXh9YnJlYWs7Y2FzZSAxNjppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTE2KXt2YXIgbng9clsxXSxwMD14WzFdO3JldHVybiBwKGQoaHJbMTZdLDApLHAwLG54KX1icmVhaztjYXNlIDE3OmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09MTcpe3ZhciBGeD1yWzJdLFN4PXJbMV0sYng9eFsyXSxCMD14WzFdLFd4PXAoZChoclsxNV0sMCksQjAsU3gpO3JldHVybiBXeD09PTA/cChkKGhyWzE0XSwwKSxieCxGeCk6V3h9YnJlYWs7Y2FzZSAxODppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTE4KXt2YXIgWXg9clsxXSxheD14WzFdO3JldHVybiBwKGQoaHJbMTNdLDApLGF4LFl4KX1icmVhaztjYXNlIDE5OmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09MTkpe3ZhciBReD1yWzFdLGt4PXhbMV07cmV0dXJuIHAoZChoclsxMl0sMCksa3gsUXgpfWJyZWFrO2Nhc2UgMjA6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT0yMCl7dmFyIHRyPXJbMV0sc3I9eFsxXTtpZihabDw9c3Ipe2lmKHR5cGVvZiB0cj09XCJudW1iZXJcIiYmWmw9PT10cilyZXR1cm4gMH1lbHNlIGlmKHR5cGVvZiB0cj09XCJudW1iZXJcIiYmZFI9PT10cilyZXR1cm4gMDt2YXIgTXI9ZnVuY3Rpb24obGUpe3JldHVybiBabDw9bGU/MTowfSxhMj1Ncih0cik7cmV0dXJuIFdlKE1yKHNyKSxhMil9YnJlYWs7Y2FzZSAyMTppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTIxKXt2YXIgXzI9clsxXSxpMj14WzFdO3JldHVybiBwKGQoaHJbMTFdLDApLGkyLF8yKX1icmVhaztjYXNlIDIyOmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09MjIpe3ZhciBRMj1yWzFdLGp4PXhbMV07cmV0dXJuIHAoZChoclsxMF0sMCksangsUTIpfWJyZWFrO2Nhc2UgMjM6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT0yMyl7dmFyIF89clsyXSxWPXJbMV0sbHg9eFsyXSxVMD14WzFdLG94PXAoZChocls5XSwwKSxVMCxWKTtyZXR1cm4gb3g9PT0wP3AoZChocls4XSwwKSxseCxfKTpveH1icmVhaztjYXNlIDI0OmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09MjQpe3ZhciB3eD1yWzFdLENyPXhbMV07aWYoQmw9PT1Dcil7aWYodHlwZW9mIHd4PT1cIm51bWJlclwiJiZCbD09PXd4KXJldHVybiAwfWVsc2UgaWYoczY8PUNyKXtpZih0eXBlb2Ygd3g9PVwibnVtYmVyXCImJnM2PT09d3gpcmV0dXJuIDB9ZWxzZSBpZih0eXBlb2Ygd3g9PVwibnVtYmVyXCImJlhPPT09d3gpcmV0dXJuIDA7dmFyIEh4PWZ1bmN0aW9uKGxlKXtyZXR1cm4gQmw9PT1sZT8wOnM2PD1sZT8yOjF9LFpyPUh4KHd4KTtyZXR1cm4gV2UoSHgoQ3IpLFpyKX1icmVhaztjYXNlIDI1OmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09MjUpe3ZhciBkcj1yWzFdLE9yPXhbMV07cmV0dXJuIHAoZChocls3XSwwKSxPcixkcil9YnJlYWs7Y2FzZSAyNjppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTI2KXt2YXIgeDI9clsxXSx1eD14WzFdO3JldHVybiBwKGQoaHJbNl0sMCksdXgseDIpfWJyZWFrO2Nhc2UgMjc6aWYodHlwZW9mIHIhPVwibnVtYmVyXCImJnJbMF09PT0yNyl7dmFyIEx4PXJbMl0sWng9clsxXSxxcj14WzJdLFkyPXhbMV0sSDI9cChkKGhyWzVdLDApLFkyLFp4KTtyZXR1cm4gSDI9PT0wP3AoZChocls0XSwwKSxxcixMeCk6SDJ9YnJlYWs7Y2FzZSAyODppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTI4KXt2YXIgS3Q9clsyXSxkdD1yWzFdLEp0PXhbMl0sQzE9eFsxXSxxMT1wKGQoaHJbM10sMCksQzEsZHQpO3JldHVybiBxMT09PTA/cChkKGhyWzJdLDApLEp0LEt0KTpxMX1icmVhaztkZWZhdWx0OmlmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09Mjkpe3ZhciBiMj1yWzFdLHduPXhbMV07cmV0dXJuIHAoZChoclsxXSwwKSx3bixiMil9fWZ1bmN0aW9uIF9uKGxlKXtpZih0eXBlb2YgbGUhPVwibnVtYmVyXCIpc3dpdGNoKGxlWzBdKXtjYXNlIDA6cmV0dXJuIDE2O2Nhc2UgMTpyZXR1cm4gMTc7Y2FzZSAyOnJldHVybiAxOTtjYXNlIDM6cmV0dXJuIDIwO2Nhc2UgNDpyZXR1cm4gMjE7Y2FzZSA1OnJldHVybiAyMjtjYXNlIDY6cmV0dXJuIDIzO2Nhc2UgNzpyZXR1cm4gMjQ7Y2FzZSA4OnJldHVybiAyNjtjYXNlIDk6cmV0dXJuIDI3O2Nhc2UgMTA6cmV0dXJuIDI4O2Nhc2UgMTE6cmV0dXJuIDMwO2Nhc2UgMTI6cmV0dXJuIDMxO2Nhc2UgMTM6cmV0dXJuIDMzO2Nhc2UgMTQ6cmV0dXJuIDM2O2Nhc2UgMTU6cmV0dXJuIDQ4O2Nhc2UgMTY6cmV0dXJuIDUwO2Nhc2UgMTc6cmV0dXJuIDUxO2Nhc2UgMTg6cmV0dXJuIDUzO2Nhc2UgMTk6cmV0dXJuIDYxO2Nhc2UgMjA6cmV0dXJuIDY5O2Nhc2UgMjE6cmV0dXJuIDcyO2Nhc2UgMjI6cmV0dXJuIDgxO2Nhc2UgMjM6cmV0dXJuIDg4O2Nhc2UgMjQ6cmV0dXJuIHN2O2Nhc2UgMjU6cmV0dXJuIFdhO2Nhc2UgMjY6cmV0dXJuIHk2O2Nhc2UgMjc6cmV0dXJuIE0yO2Nhc2UgMjg6cmV0dXJuIGpEO2RlZmF1bHQ6cmV0dXJuIFFPfXZhciBaZT1sZTtpZig1Nzw9WmUpc3dpdGNoKFplKXtjYXNlIDU3OnJldHVybiA3OTtjYXNlIDU4OnJldHVybiA4MDtjYXNlIDU5OnJldHVybiA4MjtjYXNlIDYwOnJldHVybiA4MztjYXNlIDYxOnJldHVybiA4NDtjYXNlIDYyOnJldHVybiA4NTtjYXNlIDYzOnJldHVybiA4NjtjYXNlIDY0OnJldHVybiA4NztjYXNlIDY1OnJldHVybiA4OTtjYXNlIDY2OnJldHVybiA5MDtjYXNlIDY3OnJldHVybiA5MTtjYXNlIDY4OnJldHVybiA5MjtjYXNlIDY5OnJldHVybiA5MztjYXNlIDcwOnJldHVybiA5NDtjYXNlIDcxOnJldHVybiA5NTtjYXNlIDcyOnJldHVybiA5NjtjYXNlIDczOnJldHVybiA5NztjYXNlIDc0OnJldHVybiA5ODtjYXNlIDc1OnJldHVybiA5OTtjYXNlIDc2OnJldHVybiB5MjtjYXNlIDc3OnJldHVybiBmZTtjYXNlIDc4OnJldHVybiBnMTtjYXNlIDc5OnJldHVybiBzbjtjYXNlIDgwOnJldHVybiBCZTtjYXNlIDgxOnJldHVybiB1aTtjYXNlIDgyOnJldHVybiBKZTtjYXNlIDgzOnJldHVybiBLMjtjYXNlIDg0OnJldHVybiBzdDtjYXNlIDg1OnJldHVybiB6MTtjYXNlIDg2OnJldHVybiBjZTtjYXNlIDg3OnJldHVybiBlYTtjYXNlIDg4OnJldHVybiBUZTtjYXNlIDg5OnJldHVybiBtcjtjYXNlIDkwOnJldHVybiB0djtjYXNlIDkxOnJldHVybiBQMztjYXNlIDkyOnJldHVybiB6bDtjYXNlIDkzOnJldHVybiB2ZjtjYXNlIDk0OnJldHVybiBtNjtjYXNlIDk1OnJldHVybiBzMjtjYXNlIDk2OnJldHVybiBybjtjYXNlIDk3OnJldHVybiBTMztjYXNlIDk4OnJldHVybiBCYTtjYXNlIDk5OnJldHVybiBTaztjYXNlIDEwMDpyZXR1cm4gQnI7Y2FzZSAxMDE6cmV0dXJuIFhvO2Nhc2UgMTAyOnJldHVybiBkNjtjYXNlIDEwMzpyZXR1cm4gcjY7Y2FzZSAxMDQ6cmV0dXJuIHI4O2Nhc2UgMTA1OnJldHVybiBfaztjYXNlIDEwNjpyZXR1cm4gd1I7Y2FzZSAxMDc6cmV0dXJuIGZSO2Nhc2UgMTA4OnJldHVybiBPSTtjYXNlIDEwOTpyZXR1cm4gR0Y7Y2FzZSAxMTA6cmV0dXJuIENMO2Nhc2UgMTExOnJldHVybiBTUjtkZWZhdWx0OnJldHVybiAkTH1zd2l0Y2goWmUpe2Nhc2UgMDpyZXR1cm4gMDtjYXNlIDE6cmV0dXJuIDE7Y2FzZSAyOnJldHVybiAyO2Nhc2UgMzpyZXR1cm4gMztjYXNlIDQ6cmV0dXJuIDQ7Y2FzZSA1OnJldHVybiA1O2Nhc2UgNjpyZXR1cm4gNjtjYXNlIDc6cmV0dXJuIDc7Y2FzZSA4OnJldHVybiA4O2Nhc2UgOTpyZXR1cm4gOTtjYXNlIDEwOnJldHVybiAxMDtjYXNlIDExOnJldHVybiAxMTtjYXNlIDEyOnJldHVybiAxMjtjYXNlIDEzOnJldHVybiAxMztjYXNlIDE0OnJldHVybiAxNDtjYXNlIDE1OnJldHVybiAxNTtjYXNlIDE2OnJldHVybiAxODtjYXNlIDE3OnJldHVybiAyNTtjYXNlIDE4OnJldHVybiAyOTtjYXNlIDE5OnJldHVybiAzMjtjYXNlIDIwOnJldHVybiAzNDtjYXNlIDIxOnJldHVybiAzNTtjYXNlIDIyOnJldHVybiAzNztjYXNlIDIzOnJldHVybiAzODtjYXNlIDI0OnJldHVybiAzOTtjYXNlIDI1OnJldHVybiA0MDtjYXNlIDI2OnJldHVybiA0MTtjYXNlIDI3OnJldHVybiA0MjtjYXNlIDI4OnJldHVybiA0MztjYXNlIDI5OnJldHVybiA0NDtjYXNlIDMwOnJldHVybiA0NTtjYXNlIDMxOnJldHVybiA0NjtjYXNlIDMyOnJldHVybiA0NztjYXNlIDMzOnJldHVybiA0OTtjYXNlIDM0OnJldHVybiA1MjtjYXNlIDM1OnJldHVybiA1NDtjYXNlIDM2OnJldHVybiA1NTtjYXNlIDM3OnJldHVybiA1NjtjYXNlIDM4OnJldHVybiA1NztjYXNlIDM5OnJldHVybiA1ODtjYXNlIDQwOnJldHVybiA1OTtjYXNlIDQxOnJldHVybiA2MDtjYXNlIDQyOnJldHVybiA2MjtjYXNlIDQzOnJldHVybiA2MztjYXNlIDQ0OnJldHVybiA2NDtjYXNlIDQ1OnJldHVybiA2NTtjYXNlIDQ2OnJldHVybiA2NjtjYXNlIDQ3OnJldHVybiA2NztjYXNlIDQ4OnJldHVybiA2ODtjYXNlIDQ5OnJldHVybiA3MDtjYXNlIDUwOnJldHVybiA3MTtjYXNlIDUxOnJldHVybiA3MztjYXNlIDUyOnJldHVybiA3NDtjYXNlIDUzOnJldHVybiA3NTtjYXNlIDU0OnJldHVybiA3NjtjYXNlIDU1OnJldHVybiA3NztkZWZhdWx0OnJldHVybiA3OH19dmFyIGJzPV9uKHIpO3JldHVybiBXZShfbih4KSxicyl9dmFyIG9DPWtVKFswLGZ1bmN0aW9uKHgscil7dmFyIGU9clsyXSx0PXhbMl0sdT13VSh4WzFdLHJbMV0pO3JldHVybiB1PT09MD8kYjAodCxlKTp1fV0pO2Z1bmN0aW9uIGM0KHgscixlKXt2YXIgdD1lWzJdWzFdLHU9ZVsxXTtyZXR1cm4gYnIodCxaMCk/cjpJMVszXS5jYWxsKG51bGwsdCxyKT8ocTAoeCxbMCx1LFswLHRdXSkscik6STFbNF0uY2FsbChudWxsLHQscil9ZnVuY3Rpb24gdkMoeCl7cmV0dXJuIGZ1bmN0aW9uKHIpe3ZhciBlPXJbMl07c3dpdGNoKGVbMF0pe2Nhc2UgMDpyZXR1cm4gbTEoZnVuY3Rpb24odCx1KXt2YXIgaT11WzBdPT09MD91WzFdWzJdWzJdOnVbMV1bMl1bMV07cmV0dXJuIHZDKHQpKGkpfSx4LGVbMV1bMV0pO2Nhc2UgMTpyZXR1cm4gbTEoZnVuY3Rpb24odCx1KXtpZih1WzBdPT09MilyZXR1cm4gdDt2YXIgaT11WzFdWzJdWzFdO3JldHVybiB2Qyh0KShpKX0seCxlWzFdWzFdKTtjYXNlIDI6cmV0dXJuWzAsZVsxXVsxXSx4XTtkZWZhdWx0OnJldHVybiBUeCgkbDApfX19dmFyIFgwPVZxKEhsMCxRbDBbMV0pO2Z1bmN0aW9uIGxoKHgscixlKXt2YXIgdD14P3hbMV06MCx1PXI/clsxXTowLGk9VjAoZSksYz1xKGUpO2lmKHR5cGVvZiBjPT1cIm51bWJlclwiKXN3aXRjaChjKXtjYXNlIDEwNDp2YXIgdj11MChlKTtyZXR1cm4gRTAoZSksWzAsWzAsaSxbMCwwLFooWzAsdl0sMCxPKV1dXTtjYXNlIDEwNTp2YXIgYT11MChlKTtyZXR1cm4gRTAoZSksWzAsWzAsaSxbMCwxLFooWzAsYV0sMCxPKV1dXTtjYXNlIDEyNzppZih0KXt2YXIgbD11MChlKTtyZXR1cm4gRTAoZSksWzAsWzAsaSxbMCwyLFooWzAsbF0sMCxPKV1dXX1icmVha31lbHNlIGlmKGNbMF09PT00KXt2YXIgbT1jWzNdO2lmKFAobSxxYSkpe2lmKCFQKG0sZHcpJiZ1JiZ0aCgxLGUpKXt2YXIgaD11MChlKTtyZXR1cm4gRTAoZSksWzAsWzAsaSxbMCw0LFooWzAsaF0sMCxPKV1dXX19ZWxzZSBpZih1JiZ0aCgxLGUpKXt2YXIgVD11MChlKTtFMChlKTt2YXIgYj1xKGUpO3g6e2lmKHR5cGVvZiBiIT1cIm51bWJlclwiJiZiWzBdPT09NCYmIVAoYlszXSxkdykpe3ZhciBOPVYwKGUpO0UwKGUpO3ZhciBqPVlyKGksTiksST01O2JyZWFrIHh9dmFyIGo9aSxJPTN9cmV0dXJuWzAsWzAsaixbMCxJLFooWzAsVF0sMCxPKV1dXX19cmV0dXJuIDB9ZnVuY3Rpb24gREIoeCxyLGUsdCx1KXtyPT09MSYmSWUodSw3Nik7dmFyIGk9dTAodSk7RTAodSk7dmFyIGM9TDAodSk7aWYoeCl2YXIgdj1aKFswLE14KHhbMV0saSldLFswLGNdLE8pLGE9dixsPXF4KHRvMCx0KSxtPS1lO2Vsc2UgdmFyIGE9WihbMCxpXSxbMCxjXSxPKSxsPXQsbT1lO3JldHVyblszMCxbMCxtLGwsYV1dfWZ1bmN0aW9uIEZCKHgscixlLHQpe3ZhciB1PXUwKHQpO0UwKHQpO3ZhciBpPUwwKHQpO2lmKHgpdmFyIGM9WihbMCxNeCh4WzFdLHUpXSxbMCxpXSxPKSx2PXF4KGVvMCxlKSxhPWMsbD12LG09ZjUoRk4scik7ZWxzZSB2YXIgYT1aKFswLHVdLFswLGldLE8pLGw9ZSxtPXI7cmV0dXJuWzMxLFswLG0sbCxhXV19dmFyIFJCPVtdLExCPVtdLE1CPVtdLHFCPVtdLFVCPVtdLEJCPVtdLFhCPVtdLFlCPVtdLHpCPVtdLEtCPVtdLEpCPVtdO2Z1bmN0aW9uIEhyKHgpe3ZhciByPVYwKHgpLGU9eEMoMCx4KTtyZXR1cm4gR0IoZSxyLGxDKGUpKX1mdW5jdGlvbiBzNCh4KXtyZXR1cm4gMS1BMih4KSYmVXgoeCxnMSkseDAoMCxmdW5jdGlvbihyKXtyZXR1cm4gSihyLDg3KSxIcihyKX0seCl9ZnVuY3Rpb24gR0IoeCxyLGUpe3ZhciB0PXEoeCk7cmV0dXJuIHR5cGVvZiB0PT1cIm51bWJlclwiJiZ0PT09NDI/eDAoWzAscl0sZnVuY3Rpb24odSl7Sih1LDQyKTt2YXIgaT1sQyh4QygxLHUpKTtpaCh1LDg2KTt2YXIgYz1Icih1KTtpaCh1LDg3KTt2YXIgdj1Icih1KTtyZXR1cm5bMTcsWzAsZSxpLGMsdixaKDAsWzAsTDAodSldLE8pXV19LHgpOmV9ZnVuY3Rpb24gbEMoeCl7dmFyIHI9VjAoeCk7aWYocSh4KT09PTkwKXt2YXIgZT11MCh4KTtFMCh4KTt2YXIgdD1lfWVsc2UgdmFyIHQ9MDtyZXR1cm4gV0IoeCxbMCx0XSxyLFZCKHgpKX1mdW5jdGlvbiBXQih4LHIsZSx0KXt2YXIgdT1yP3JbMV06MDtyZXR1cm4gcSh4KT09PTkwP3gwKFswLGVdLHAoUkJbMV0sdSxbMCx0LDBdKSx4KTp0fWZ1bmN0aW9uIFZCKHgpe3ZhciByPVYwKHgpO2lmKHEoeCk9PT05Mil7dmFyIGU9dTAoeCk7RTAoeCk7dmFyIHQ9ZX1lbHNlIHZhciB0PTA7cmV0dXJuICRCKHgsWzAsdF0scixRQih4KSl9ZnVuY3Rpb24gJEIoeCxyLGUsdCl7dmFyIHU9cj9yWzFdOjA7cmV0dXJuIHEoeCk9PT05Mj94MChbMCxlXSxwKExCWzFdLHUsWzAsdCwwXSkseCk6dH1mdW5jdGlvbiBRQih4KXtyZXR1cm4gSEIoeCxwQyh4KSl9ZnVuY3Rpb24gSEIoeCxyKXt2YXIgZT1xKHgpO2lmKHR5cGVvZiBlPT1cIm51bWJlclwiJiZlPT09MTEmJiF4WzE1XSl7dmFyIHQ9cGgoeCxyKTtyZXR1cm4gbWgoMSx4LHRbMV0sMCxbMCx0WzFdLFswLDAsWzAsdCwwXSwwLDBdXSl9cmV0dXJuIHJ9ZnVuY3Rpb24gcEMoeCl7dmFyIHI9cSh4KTtpZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTg2KXJldHVybiB4MCgwLGZ1bmN0aW9uKHQpe3ZhciB1PXUwKHQpO0oodCw4Nik7dmFyIGk9WihbMCx1XSwwLE8pO3JldHVyblsxMSxbMCxwQyh0KSxpXV19LHgpO3ZhciBlPVYwKHgpO3JldHVybiBaQigwLHgsZSxRYjAoeCkpfWZ1bmN0aW9uIGtDKHgscixlLHQsdSl7dmFyIGk9cj9yWzFdOjA7aWYoTjEoZSkpcmV0dXJuIHU7dmFyIGM9cShlKTtpZih0eXBlb2YgYz09XCJudW1iZXJcIil7aWYoYz09PTYpe0UwKGUpO3ZhciB2PTA7cmV0dXJuIHg8NTA/dmwoeCsxfDAsaSx2LGUsdCx1KTpKMih2bCxbMCxpLHYsZSx0LHVdKX1pZihjPT09MTApe3ZhciBhPXhyKDEsZSk7aWYodHlwZW9mIGE9PVwibnVtYmVyXCImJmE9PT02KXtVeChlLFBhMCksSihlLDEwKSxKKGUsNik7dmFyIGw9MDtyZXR1cm4geDw1MD92bCh4KzF8MCxpLGwsZSx0LHUpOkoyKHZsLFswLGksbCxlLHQsdV0pfXJldHVybiBVeChlLElhMCksdX1pZihjPT09ODQpe0UwKGUpLHEoZSkhPT02JiZVeChlLDQwKSxKKGUsNik7dmFyIG09MSxoPTE7cmV0dXJuIHg8NTA/dmwoeCsxfDAsaCxtLGUsdCx1KTpKMih2bCxbMCxoLG0sZSx0LHVdKX19cmV0dXJuIHV9ZnVuY3Rpb24gWkIoeCxyLGUsdCl7cmV0dXJuIG41KGtDKDAseCxyLGUsdCkpfWZ1bmN0aW9uIHZsKHgscixlLHQsdSxpKXt2YXIgYz14MChbMCx1XSxmdW5jdGlvbihhKXtpZighZSYmdTIoYSw3KSlyZXR1cm5bMTYsWzAsaSxaKDAsWzAsTDAoYSldLE8pXV07dmFyIGw9SHIoYSk7SihhLDcpO3ZhciBtPVswLGksbCxaKDAsWzAsTDAoYSldLE8pXTtyZXR1cm4gcj9bMjEsWzAsbSxlXV06WzIwLG1dfSx0KSx2PVswLHJdO3JldHVybiB4PDUwP2tDKHgrMXwwLHYsdCx1LGMpOkoyKGtDLFswLHYsdCx1LGNdKX1mdW5jdGlvbiB4WCh4KXtpZihWMih4LDApLHEoeCk9PT00KXtFMCh4KTt2YXIgcj14WCh4KTtKKHgsNSk7dmFyIHQ9cn1lbHNlIGlmKGRuKHgpKXZhciBlPXAoWDBbMTNdLDAseCksdD1bMCxwKE1CWzFdLHgsWzAsZVsxXSxbMCxlXV0pXTtlbHNle1V4KHgsNDUpO3ZhciB0PTB9cmV0dXJuIFoyKHgpLHR9ZnVuY3Rpb24gUWIwKHgpe3ZhciByPVYwKHgpLGU9cSh4KTt4OntyOntpZih0eXBlb2YgZT09XCJudW1iZXJcIilzd2l0Y2goZSl7Y2FzZSA0OnZhciB0PVYwKHgpLHU9eDAoMCx4VDAseCksaT11WzJdLGM9dVsxXTtyZXR1cm4gaVswXT09PTA/bWgoMSx4LHQsMCxbMCxjLGlbMV1dKTppWzFdO2Nhc2UgNjpyZXR1cm4geDAoMCxmdW5jdGlvbihpMCl7dmFyIHMwPXUwKGkwKTtKKGkwLDYpO3ZhciBkMD1BdigwLGkwKSx3MD1wKHFCWzFdLGQwLDApLE0wPXcwWzJdLEMwPXcwWzFdO3JldHVybiBKKGkwLDcpLFsyOCxbMCxDMCxNMCxaKFswLHMwXSxbMCxMMChpMCldLE8pXV19LHgpO2Nhc2UgNDc6cmV0dXJuIHgwKDAsZnVuY3Rpb24oaTApe3ZhciBzMD11MChpMCk7SihpMCw0Nyk7dmFyIGQwPXhYKGkwKTtpZighZDApcmV0dXJuIE5hMDt2YXIgdzA9ZDBbMV0sTTA9TjEoaTApPzA6eUMoaTApO3JldHVyblsyNCxbMCx3MCxNMCxaKFswLHMwXSwwLE8pXV19LHgpO2Nhc2UgNTQ6cmV0dXJuIHgwKDAsZnVuY3Rpb24oaTApe3ZhciBzMD11MChpMCk7RTAoaTApO3ZhciBkMD1pWChpMCksdzA9ZDBbMl0sTTA9ZDBbMV07cmV0dXJuWzE1LFswLHcwLE0wLFooWzAsczBdLDAsTyldXX0seCk7Y2FzZSA5OTp2YXIgdj1WMCh4KSxhPVExKHgsT3YoeCkpO3JldHVybiBtaCgxLHgsdixhLGtoKHgpKTtjYXNlIDEwNTpyZXR1cm4geDAoMCxIYjAseCk7Y2FzZSAxMDc6dmFyIGw9dTAoeCk7cmV0dXJuIEUwKHgpLFswLHIsWzEwLFooWzAsbF0sWzAsTDAoeCldLE8pXV07Y2FzZSAxMjY6cmV0dXJuIHgwKDAsZnVuY3Rpb24oaTApe3ZhciBzMD11MChpMCk7RTAoaTApO3ZhciBkMD1MMChpMCksdzA9SHIoaTApO3JldHVyblsyNSxbMCx3MCxaKFswLHMwXSxbMCxkMF0sTyldXX0seCk7Y2FzZSAxMjc6cmV0dXJuIHgwKDAsZnVuY3Rpb24oaTApe3ZhciBzMD11MChpMCk7RTAoaTApO3ZhciBkMD1MMChpMCksdzA9SHIoaTApO3JldHVyblsyNyxbMCx3MCxaKFswLHMwXSxbMCxkMF0sTyldXX0seCk7Y2FzZSAxMjg6cmV0dXJuIHgwKDAsZnVuY3Rpb24oaTApe3ZhciBzMD11MChpMCk7RTAoaTApO3ZhciBkMD1MMChpMCksdzA9eDAoMCxmdW5jdGlvbihNMCl7dmFyIEMwPUN2KE0wKTtyZXR1cm5bMCxDMCxmaChNMCxbMCxWMChNMCldLGZ1bmN0aW9uKEQwKXtpZigxLXUyKEQwLDQyKSl0aHJvdyBXMChncywxKTt2YXIgSTA9bEMoRDApO2lmKCFEMFsxNl0mJnEoRDApPT09ODYpdGhyb3cgVzAoZ3MsMSk7cmV0dXJuWzEsWzAsSTBbMV0sSTBdXX0pLDEsMCwwXX0saTApO3JldHVyblsxOCxbMCx3MCxaKFswLHMwXSxbMCxkMF0sTyldXX0seCk7Y2FzZSAwOmNhc2UgMjp2YXIgbT1kQygwLDEsMSx4KTtyZXR1cm5bMCxtWzFdLFsxNCxtWzJdXV07Y2FzZSAxMzI6Y2FzZSAxMzM6YnJlYWsgcjtjYXNlIDQyOmNhc2UgNDM6YnJlYWs7Y2FzZSAzMTpjYXNlIDMyOnZhciBoPXUwKHgpO3JldHVybiBFMCh4KSxbMCxyLFszMixbMCxlPT09MzI/MTowLFooWzAsaF0sWzAsTDAoeCldLE8pXV1dO2RlZmF1bHQ6YnJlYWsgeH1lbHNlIHN3aXRjaChlWzBdKXtjYXNlIDI6dmFyIFQ9ZVsxXSxiPVRbM10sTj1UWzJdLGo9VFsxXTtUWzRdJiZJZSh4LDc2KTt2YXIgST11MCh4KTtyZXR1cm4gRTAoeCksWzAsaixbMjksWzAsTixiLFooWzAsSV0sWzAsTDAoeCldLE8pXV1dO2Nhc2UgNDp2YXIgRj1lWzNdO2lmKFAoRiwkcykpe2lmKFAoRixWbykpe2lmKCFQKEYsXzMpKWJyZWFrIHJ9ZWxzZSBpZih4WzI4XVsxXSl7dmFyIE09eHIoMSx4KTtlOmlmKHR5cGVvZiBNPT1cIm51bWJlclwiKXtpZihNIT09NCYmTSE9PTk5KWJyZWFrIGU7dmFyIHo9VjAoeCk7RTAoeCk7dmFyIEI9UTEoeCxPdih4KSk7cmV0dXJuIG1oKDAseCx6LEIsa2goeCkpfXZhciBLPWhoKHgpO3JldHVyblswLEtbMV0sWzE5LEtbMl1dXX19ZWxzZSBpZih4WzI4XVsxXSlyZXR1cm4geDAoMCxmdW5jdGlvbihpMCl7dmFyIHMwPXUwKGkwKTt5cyhpMCxqYTApO3ZhciBkMD1RMShpMCxPdihpMCkpLHcwPWVYKGkwKTtpZihpQyhpMCkpdmFyIEMwPWNDKGkwLGdDKGkwKSksRDA9dzA7ZWxzZSB2YXIgTTA9Z0MoaTApLEMwPU0wLEQwPXAoRjIoaTApWzJdLHcwLGZ1bmN0aW9uKEkwLGowKXtyZXR1cm4gcChCeChJMCw0MjA3NzY4NzMsMTIpLEkwLGowKX0pO3JldHVyblsxMyxbMCxkMCxEMCxDMCxaKFswLHMwXSwwLE8pXV19LHgpO2JyZWFrO2Nhc2UgNzppZihQKGVbMV0sTGwpKWJyZWFrIHg7cmV0dXJuIFV4KHgsODQpLFswLHIsQ2EwXTtjYXNlIDEyOnZhciBuMD1lWzNdLCQ9ZVsyXSxIPWVbMV0sdDA9MDtyZXR1cm4geDAoMCxmdW5jdGlvbihpMCl7cmV0dXJuIERCKHQwLEgsJCxuMCxpMCl9LHgpO2Nhc2UgMTM6dmFyIGMwPWVbM10scjA9ZVsyXSx2MD0wO3JldHVybiB4MCgwLGZ1bmN0aW9uKGkwKXtyZXR1cm4gRkIodjAscjAsYzAsaTApfSx4KTtkZWZhdWx0OmJyZWFrIHh9dmFyIGEwPWhoKHgpO3JldHVyblswLGEwWzFdLFsxOSxhMFsyXV1dfXJldHVybiB4MCgwLGZ1bmN0aW9uKGkwKXtyZXR1cm5bMjYsclgoaTApXX0seCl9dmFyIGcwPVpiMCh4KTtyZXR1cm4gZzA/WzAscixnMFsxXV06KHAyKE9hMCx4KSxbMCxyLERhMF0pfWZ1bmN0aW9uIEhiMCh4KXt2YXIgcj11MCh4KTtFMCh4KTt2YXIgZT1xKHgpO2lmKHR5cGVvZiBlIT1cIm51bWJlclwiKXN3aXRjaChlWzBdKXtjYXNlIDEyOnJldHVybiBEQihbMCxyXSxlWzFdLGVbMl0sZVszXSx4KTtjYXNlIDEzOnJldHVybiBGQihbMCxyXSxlWzJdLGVbM10seCl9cmV0dXJuIHAyKEZhMCx4KSxSYTB9ZnVuY3Rpb24gbUMoeCxyKXt2YXIgZT11MCh4KSx0PXgwKDAsRTAseClbMV0sdT1aKFswLGVdLFswLEwwKHgpXSxPKTtyZXR1cm5bMCxbMTksWzAsWzAsbW4oMCxbMCx0LHJdKV0sMCx1XV1dfWZ1bmN0aW9uIFpiMCh4KXt2YXIgcj11MCh4KSxlPXEoeCk7aWYodHlwZW9mIGU9PVwibnVtYmVyXCIpc3dpdGNoKGUpe2Nhc2UgMzA6cmV0dXJuIEUwKHgpLFswLFs0LFooWzAscl0sWzAsTDAoeCldLE8pXV07Y2FzZSAxMTU6cmV0dXJuIEUwKHgpLFswLFswLFooWzAscl0sWzAsTDAoeCldLE8pXV07Y2FzZSAxMTY6cmV0dXJuIEUwKHgpLFswLFsxLFooWzAscl0sWzAsTDAoeCldLE8pXV07Y2FzZSAxMTc6cmV0dXJuIEUwKHgpLFswLFsyLFooWzAscl0sWzAsTDAoeCldLE8pXV07Y2FzZSAxMTg6cmV0dXJuIEUwKHgpLFswLFs1LFooWzAscl0sWzAsTDAoeCldLE8pXV07Y2FzZSAxMTk6cmV0dXJuIEUwKHgpLFswLFs2LFooWzAscl0sWzAsTDAoeCldLE8pXV07Y2FzZSAxMjA6cmV0dXJuIEUwKHgpLFswLFs3LFooWzAscl0sWzAsTDAoeCldLE8pXV07Y2FzZSAxMjE6cmV0dXJuIEUwKHgpLFswLFszLFooWzAscl0sWzAsTDAoeCldLE8pXV07Y2FzZSAxMjI6cmV0dXJuIEUwKHgpLFswLFs5LFooWzAscl0sWzAsTDAoeCldLE8pXV07Y2FzZSAxMjM6cmV0dXJuIEUwKHgpLFswLFszMyxaKFswLHJdLFswLEwwKHgpXSxPKV1dO2Nhc2UgMTI0OnJldHVybiBFMCh4KSxbMCxbMzQsWihbMCxyXSxbMCxMMCh4KV0sTyldXTtjYXNlIDEyNTpyZXR1cm4gRTAoeCksWzAsWzM1LFooWzAscl0sWzAsTDAoeCldLE8pXV07Y2FzZSAxMjk6cmV0dXJuIG1DKHgsTGEwKTtjYXNlIDEzMDpyZXR1cm4gbUMoeCxNYTApO2Nhc2UgMTMxOnJldHVybiBtQyh4LHFhMCl9ZWxzZSBpZihlWzBdPT09MTEpe3ZhciB0PWVbMV07RTAoeCk7dmFyIHU9TDAoeCksaT10Py04ODM5NDQ4MjQ6NzM3NDU2MjAyO3JldHVyblswLFs4LGksWihbMCxyXSxbMCx1XSxPKV1dfXJldHVybiAwfWZ1bmN0aW9uIHJYKHgpe3ZhciByPXUwKHgpLGU9cSh4KTt4OntpZih0eXBlb2YgZT09XCJudW1iZXJcIilzd2l0Y2goZSl7Y2FzZSAxMzI6dmFyIHQ9MTticmVhayB4O2Nhc2UgMTMzOnZhciB0PTI7YnJlYWsgeH1lbHNlIGlmKGVbMF09PT00JiYhUChlWzNdLF8zKSl7dmFyIHQ9MDticmVhayB4fXZhciB0PVR4KFVhMCl9dmFyIHU9VjAoeCk7RTAoeCk7dmFyIGk9TDAoeCksYz1wQyh4KTtyZXR1cm5bMCx1LGMsWihbMCxyXSxbMCxpXSxPKSx0XX1mdW5jdGlvbiBwaCh4LHIpe3JldHVyblswLHJbMV0sWzAsMCxyLDBdXX1mdW5jdGlvbiBvbyh4KXtyZXR1cm4gcChVQlsxXSx4LDApfWZ1bmN0aW9uIGtoKHgpe3JldHVybiB4MCgwLGZ1bmN0aW9uKHIpe3ZhciBlPXUwKHIpO0oociw0KTt2YXIgdD1kKG9vKHIpLDApLHU9dTAocik7SihyLDUpO3ZhciBpPU8yKFswLGVdLFswLEwwKHIpXSx1LE8pO3JldHVyblswLHRbMV0sdFsyXSx0WzNdLGldfSx4KX1mdW5jdGlvbiBlWCh4KXtyZXR1cm4geDAoMCxmdW5jdGlvbihyKXt2YXIgZT11MChyKTtKKHIsNCk7dmFyIHQ9cChCQlsxXSxyLDApLHU9dTAocik7SihyLDUpO3ZhciBpPU8yKFswLGVdLFswLEwwKHIpXSx1LE8pO3JldHVyblswLHRbMV0sdFsyXSxpXX0seCl9ZnVuY3Rpb24geFQwKHgpe3ZhciByPXUwKHgpO0ooeCw0KTt2YXIgZT1BdigwLHgpLHQ9cShlKTt4OntyOntlOntpZih0eXBlb2YgdCE9XCJudW1iZXJcIil7aWYodFswXSE9PTQpYnJlYWsgcjt2YXIgdT10WzNdO2lmKFAodSwkcykpe2lmKFAodSxfMykpYnJlYWsgZTt2YXIgaT14cigxLGUpO3Q6e2lmKHR5cGVvZiBpPT1cIm51bWJlclwiJiYxPj1pK3hhPj4+MCl7dmFyIGM9WzAsZChvbyhlKSwwKV07YnJlYWsgdH12YXIgYz1bMSxIcihlKV19dmFyIHY9Y31lbHNle2lmKCFlWzI4XVsxXSlicmVhayBlO3ZhciBhPXhyKDEsZSk7dDp7bjppZih0eXBlb2YgYT09XCJudW1iZXJcIil7aWYoYSE9PTQmJmEhPT05OSlicmVhayBuO3ZhciBsPVsxLEhyKGUpXTticmVhayB0fXZhciBsPXRYKGUpfXZhciB2PWx9dmFyIGo9djticmVhayB4fXN3aXRjaCh0KXtjYXNlIDU6dmFyIGo9QmEwO2JyZWFrIHg7Y2FzZSAxMzI6dmFyIG09eHIoMSxlKTt0OntpZih0eXBlb2YgbT09XCJudW1iZXJcIiYmbT09PTg3KXt2YXIgaD1bMCxkKG9vKGUpLDApXTticmVhayB0fXZhciBoPVsxLEhyKGUpXX12YXIgaj1oO2JyZWFrIHg7Y2FzZSA0MzpicmVhaztjYXNlIDEyOmNhc2UgMTE0OnZhciBqPVswLGQob28oZSksMCldO2JyZWFrIHg7ZGVmYXVsdDpicmVhayByfX12YXIgaj10WChlKTticmVhayB4fXI6e2U6e2lmKHR5cGVvZiB0PT1cIm51bWJlclwiKXN3aXRjaCh0KXtjYXNlIDMwOmNhc2UgMTE1OmNhc2UgMTE2OmNhc2UgMTE3OmNhc2UgMTE4OmNhc2UgMTE5OmNhc2UgMTIwOmNhc2UgMTIxOmNhc2UgMTIyOmNhc2UgMTIzOmNhc2UgMTI0OmNhc2UgMTI1OmJyZWFrO2RlZmF1bHQ6YnJlYWsgZX1lbHNlIGlmKHRbMF0hPT0xMSlicmVhayBlO3ZhciBUPTE7YnJlYWsgcn12YXIgVD0wfWlmKFQpe3ZhciBiPXhyKDEsZSk7cjp7aWYodHlwZW9mIGI9PVwibnVtYmVyXCImJjE+PWIreGE+Pj4wKXt2YXIgTj1bMCxkKG9vKGUpLDApXTticmVhayByfXZhciBOPVsxLEhyKGUpXX12YXIgaj1OfWVsc2UgdmFyIGo9WzEsSHIoZSldfWlmKGpbMF09PT0wKXZhciBJPWo7ZWxzZXt2YXIgRj1qWzFdO2lmKHhbMTVdKXZhciBNPWo7ZWxzZXt2YXIgej1xKHgpO3g6e2lmKHR5cGVvZiB6PT1cIm51bWJlclwiKXtpZih6PT09NSl7aWYoeHIoMSx4KT09PTExKXt2YXIgQj1bMCxwaCh4LEYpLDBdLG4wPVswLGQob28oeCksQildO2JyZWFrIHh9dmFyIG4wPVsxLEZdO2JyZWFrIHh9aWYoej09PTkpe0ooeCw5KTt2YXIgSz1bMCxwaCh4LEYpLDBdLG4wPVswLGQob28oeCksSyldO2JyZWFrIHh9fXZhciBuMD1qfXZhciBNPW4wfXZhciBJPU19dmFyICQ9dTAoeCk7Sih4LDUpO3ZhciBIPUwwKHgpO2lmKElbMF09PT0wKXZhciB0MD1JWzFdLGMwPU8yKFswLHJdLFswLEhdLCQsTykscjA9WzAsWzAsdDBbMV0sdDBbMl0sdDBbM10sYzBdXTtlbHNlIHZhciByMD1bMSxyVDAoSVsxXSxyLEgpXTtyZXR1cm4gcjB9ZnVuY3Rpb24gdFgoeCl7dmFyIHI9eHIoMSx4KTtpZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmMT49cit4YT4+PjApcmV0dXJuWzAsZChvbyh4KSwwKV07dmFyIGU9VjAoeCksdD1mWCh4LEN2KHgpKSx1PVdCKHgsMCxlLCRCKHgsMCxlLEhCKHgsWkIoMCx4LGUsWzAsdFsxXSxbMTksdFsyXV1dKSkpKTtyZXR1cm5bMSxHQih4QygwLHgpLGUsdSldfWZ1bmN0aW9uIG1oKHgscixlLHQsdSl7cmV0dXJuIHgwKFswLGVdLGZ1bmN0aW9uKGkpe3JldHVybiBKKGksMTEpLFsxMixbMCx0LHUsblgoaSksMCx4XV19LHIpfWZ1bmN0aW9uIG5YKHgpe3JldHVybiBhaCh4KT9bMSxoQyh4KV06WzAsSHIoeCldfWZ1bmN0aW9uIGhDKHgpe2Z1bmN0aW9uIHIoZSl7dmFyIHQ9dTAoZSk7SihlLFhvKTt2YXIgdT1NeCh0LHUwKGUpKTtyZXR1cm5bMCxbMCxIcihlKV0sdV19cmV0dXJuIHgwKDAsZnVuY3Rpb24oZSl7dmFyIHQ9dTAoZSksdT11MihlLGQ2KT8xOnUyKGUscjYpPzI6MDtWMihlLDApO3ZhciBpPWExKGUpO1oyKGUpO3g6aWYodT09PTIpdmFyIGM9cihlKSx2PWNbMl0sYT1jWzFdO2Vsc2V7dmFyIGw9cShlKTtpZih0eXBlb2YgbD09XCJudW1iZXJcIiYmWG89PT1sKXt2YXIgbT1yKGUpLHY9bVsyXSxhPW1bMV07YnJlYWsgeH12YXIgdj0wLGE9MH1yZXR1cm5bMCx1LFswLGksYV0sTzIoWzAsdF0sMCx2LE8pXX0seCl9ZnVuY3Rpb24gdVgoeCxyKXtyZXR1cm4geDAoWzAscl0saEMseCl9ZnVuY3Rpb24gZEMoeCxyLGUsdCl7dmFyIHU9ciYmKHEodCk9PT0yPzE6MCksaT1yJiYxLXU7cmV0dXJuIHgwKDAsZnVuY3Rpb24oYyl7dmFyIHY9dTAoYyksYT11PzI6MDtKKGMsYSk7dmFyIGw9QXYoMCxjKSxtPVA2KFhCWzFdLHgsaSxlLHUsbCxYYTApLGg9bVszXSxUPW1bMl0sYj1tWzFdLE49TXgoaCx1MChjKSksaj11PzM6MTtyZXR1cm4gSihjLGopLFswLHUsVCxiLE8yKFswLHZdLFswLEwwKGMpXSxOLE8pXX0sdCl9ZnVuY3Rpb24gaVgoeCl7dmFyIHI9dTIoeCw0Mik/QUIoeCxwKFlCWzFdLHgsMCkpOjA7cmV0dXJuWzAscixkQygwLDAsMCx4KV19ZnVuY3Rpb24gQ3YoeCl7dmFyIHI9YTEoeCksZT1yWzJdLHQ9ZVsxXSx1PXJbMV0saT1lWzJdO3JldHVybiB0Qyh0KSYmcTAoeCxbMCx1LDk2XSksWzAsdSxbMCx0LGldXX1mdW5jdGlvbiBPdih4KXtpZihxKHgpIT09OTkpcmV0dXJuIDA7MS1BMih4KSYmVXgoeCxnMSk7dmFyIHI9eDAoMCxmdW5jdGlvbih0KXt2YXIgdT11MCh0KTtKKHQsOTkpO3ZhciBpPUgwKHpCWzFdLHQsMCwwKSxjPXUwKHQpO3JldHVybiBpaCh0LHkyKSxbMCxpLE8yKFswLHVdLFswLEwwKHQpXSxjLE8pXX0seCksZT1yWzFdO3JldHVybiByWzJdWzFdfHxxMCh4LFswLGUsNTFdKSxbMCxyXX1mdW5jdGlvbiB5Qyh4KXtyZXR1cm4gcSh4KT09PTk5P1swLHgwKDAsZnVuY3Rpb24ocil7dmFyIGU9dTAocik7SihyLDk5KTt2YXIgdD1BdigwLHIpLHU9cChLQlsxXSx0LDApLGk9dTAodCk7cmV0dXJuIEoodCx5MiksWzAsdSxPMihbMCxlXSxbMCxMMCh0KV0saSxPKV19LHgpXTowfWZ1bmN0aW9uIGhoKHgpe3JldHVybiBmWCh4LEN2KHgpKX1mdW5jdGlvbiBmWCh4LHIpe3JldHVybiB4MChbMCxyWzFdXSxmdW5jdGlvbihlKXt2YXIgdD1wKEpCWzFdLGUsWzAsclsxXSxbMCxyXV0pWzJdLHU9cShlKT09PTk5P3AoRjIoZSlbMl0sdCxmdW5jdGlvbihpLGMpe3JldHVybiBwKEJ4KGksLTg2MDM3Mzk3Niw2NSksaSxjKX0pOnQ7cmV0dXJuWzAsdSx5QyhlKSwwXX0seCl9ZnVuY3Rpb24gZ0MoeCl7dmFyIHI9cSh4KTt4OntpZih0eXBlb2Ygcj09XCJudW1iZXJcIilzd2l0Y2gocil7Y2FzZSA4Nzp2YXIgZT1WMCh4KTsxLUEyKHgpJiZVeCh4LGcxKSxFMCh4KTt2YXIgdD14MCgwLEhyLHgpLHU9dFsyXSxpPXRbMV0sYz11WzJdWzBdPT09MjY/MTowO3JldHVybiBxMCh4LFswLGUsWzE2LGNdXSksWzEsaSxbMCxlLHUsMCwwXV07Y2FzZSAxMzI6Y2FzZSAxMzM6YnJlYWs7ZGVmYXVsdDpicmVhayB4fWVsc2UgaWYoclswXSE9PTR8fFAoclszXSxfMykpYnJlYWsgeDsxLUEyKHgpJiZVeCh4LGcxKTt2YXIgdj14MChbMCxWMCh4KV0sclgseCk7cmV0dXJuWzEsdlsxXSx2WzJdXX1yZXR1cm5bMCxkYSh4KV19ZnVuY3Rpb24gclQwKHgscixlKXt2YXIgdD14WzJdO2Z1bmN0aW9uIHUoaDApe3JldHVybiBTMShoMCxaKFswLHJdLFswLGVdLE8pKX12YXIgaT14WzFdO3N3aXRjaCh0WzBdKXtjYXNlIDA6dmFyIFU9WzAsdSh0WzFdKV07YnJlYWs7Y2FzZSAxOnZhciBVPVsxLHUodFsxXSldO2JyZWFrO2Nhc2UgMjp2YXIgVT1bMix1KHRbMV0pXTticmVhaztjYXNlIDM6dmFyIFU9WzMsdSh0WzFdKV07YnJlYWs7Y2FzZSA0OnZhciBVPVs0LHUodFsxXSldO2JyZWFrO2Nhc2UgNTp2YXIgVT1bNSx1KHRbMV0pXTticmVhaztjYXNlIDY6dmFyIFU9WzYsdSh0WzFdKV07YnJlYWs7Y2FzZSA3OnZhciBVPVs3LHUodFsxXSldO2JyZWFrO2Nhc2UgODp2YXIgYz11KHRbMl0pLFU9WzgsdFsxXSxjXTticmVhaztjYXNlIDk6dmFyIFU9WzksdSh0WzFdKV07YnJlYWs7Y2FzZSAxMDp2YXIgVT1bMTAsdSh0WzFdKV07YnJlYWs7Y2FzZSAxMTp2YXIgdj10WzFdLGE9dSh2WzJdKSxVPVsxMSxbMCx2WzFdLGFdXTticmVhaztjYXNlIDEyOnZhciBsPXRbMV0sbT1sWzVdLGg9dShsWzRdKSxVPVsxMixbMCxsWzFdLGxbMl0sbFszXSxoLG1dXTticmVhaztjYXNlIDEzOnZhciBUPXRbMV0sYj11KFRbNF0pLFU9WzEzLFswLFRbMV0sVFsyXSxUWzNdLGJdXTticmVhaztjYXNlIDE0OnZhciBOPXRbMV0saj1OWzRdLEk9UzUoaixaKFswLHJdLFswLGVdLE8pKSxVPVsxNCxbMCxOWzFdLE5bMl0sTlszXSxJXV07YnJlYWs7Y2FzZSAxNTp2YXIgRj10WzFdLE09dShGWzNdKSxVPVsxNSxbMCxGWzFdLEZbMl0sTV1dO2JyZWFrO2Nhc2UgMTY6dmFyIHo9dFsxXSxCPXUoelsyXSksVT1bMTYsWzAselsxXSxCXV07YnJlYWs7Y2FzZSAxNzp2YXIgSz10WzFdLG4wPXUoS1s1XSksVT1bMTcsWzAsS1sxXSxLWzJdLEtbM10sS1s0XSxuMF1dO2JyZWFrO2Nhc2UgMTg6dmFyICQ9dFsxXSxIPXUoJFsyXSksVT1bMTgsWzAsJFsxXSxIXV07YnJlYWs7Y2FzZSAxOTp2YXIgdDA9dFsxXSxjMD11KHQwWzNdKSxVPVsxOSxbMCx0MFsxXSx0MFsyXSxjMF1dO2JyZWFrO2Nhc2UgMjA6dmFyIHIwPXRbMV0sdjA9dShyMFszXSksVT1bMjAsWzAscjBbMV0scjBbMl0sdjBdXTticmVhaztjYXNlIDIxOnZhciBhMD10WzFdLGcwPWEwWzFdLGkwPWEwWzJdLHMwPXUoZzBbM10pLFU9WzIxLFswLFswLGcwWzFdLGcwWzJdLHMwXSxpMF1dO2JyZWFrO2Nhc2UgMjI6dmFyIGQwPXRbMV0sdzA9dShkMFsyXSksVT1bMjIsWzAsZDBbMV0sdzBdXTticmVhaztjYXNlIDIzOnZhciBNMD10WzFdLEMwPXUoTTBbMl0pLFU9WzIzLFswLE0wWzFdLEMwXV07YnJlYWs7Y2FzZSAyNDp2YXIgRDA9dFsxXSxJMD11KEQwWzNdKSxVPVsyNCxbMCxEMFsxXSxEMFsyXSxJMF1dO2JyZWFrO2Nhc2UgMjU6dmFyIGowPXRbMV0seTA9dShqMFsyXSksVT1bMjUsWzAsajBbMV0seTBdXTticmVhaztjYXNlIDI2OnZhciBZMD10WzFdLEw9WTBbNF0sTjA9dShZMFszXSksVT1bMjYsWzAsWTBbMV0sWTBbMl0sTjAsTF1dO2JyZWFrO2Nhc2UgMjc6dmFyIFMwPXRbMV0sSzA9dShTMFsyXSksVT1bMjcsWzAsUzBbMV0sSzBdXTticmVhaztjYXNlIDI4OnZhciBBMD10WzFdLCQwPXUoQTBbM10pLFU9WzI4LFswLEEwWzFdLEEwWzJdLCQwXV07YnJlYWs7Y2FzZSAyOTp2YXIgZXg9dFsxXSx4eD11KGV4WzNdKSxVPVsyOSxbMCxleFsxXSxleFsyXSx4eF1dO2JyZWFrO2Nhc2UgMzA6dmFyIHR4PXRbMV0sejA9dSh0eFszXSksVT1bMzAsWzAsdHhbMV0sdHhbMl0sejBdXTticmVhaztjYXNlIDMxOnZhciBweD10WzFdLHN4PXUocHhbM10pLFU9WzMxLFswLHB4WzFdLHB4WzJdLHN4XV07YnJlYWs7Y2FzZSAzMjp2YXIgUT10WzFdLGIwPXUoUVsyXSksVT1bMzIsWzAsUVsxXSxiMF1dO2JyZWFrO2Nhc2UgMzM6dmFyIFU9WzMzLHUodFsxXSldO2JyZWFrO2Nhc2UgMzQ6dmFyIFU9WzM0LHUodFsxXSldO2JyZWFrO2RlZmF1bHQ6dmFyIFU9WzM1LHUodFsxXSldfXJldHVyblswLGksVV19RnIoUkIsWzAsZnVuY3Rpb24oeCxyLGUpe2Zvcih2YXIgdD1yOzspe2lmKCF1MihlLDkwKSl7dmFyIHU9aXgodCk7aWYodSl7dmFyIGk9dVsyXTtpZihpKXt2YXIgYz1pWzJdLHY9aVsxXSxhPXVbMV07cmV0dXJuWzIyLFswLFswLGEsdixjXSxaKFswLHhdLDAsTyldXX19dGhyb3cgVzAoWzAsTnIscm8wXSwxKX12YXIgdD1bMCxWQihlKSx0XX19XSksRnIoTEIsWzAsZnVuY3Rpb24oeCxyLGUpe2Zvcih2YXIgdD1yOzspe2lmKCF1MihlLDkyKSl7dmFyIHU9aXgodCk7aWYodSl7dmFyIGk9dVsyXTtpZihpKXt2YXIgYz1pWzJdLHY9aVsxXSxhPXVbMV07cmV0dXJuWzIzLFswLFswLGEsdixjXSxaKFswLHhdLDAsTyldXX19dGhyb3cgVzAoWzAsTnIseG8wXSwxKX12YXIgdD1bMCxRQihlKSx0XX19XSksRnIoTUIsWzAsZnVuY3Rpb24oeCxyKXtmb3IodmFyIGU9cjs7KXt2YXIgdD1lWzJdLHU9ZVsxXTtpZihxKHgpPT09MTAmJmdCKDEseCkpe2xldCB2PXQ7dmFyIGk9eDAoWzAsdV0sZnVuY3Rpb24obCl7cmV0dXJuIEoobCwxMCksWzAsdixhMShsKV19LHgpLGM9aVsxXSxlPVswLGMsWzEsWzAsYyxpWzJdXV1dO2NvbnRpbnVlfXJldHVybiB0fX1dKSxGcihxQixbMCxmdW5jdGlvbih4LHIpe2Zvcih2YXIgZT1yOzspe3ZhciB0PXEoeCk7eDppZih0eXBlb2YgdD09XCJudW1iZXJcIil7aWYodCE9PTcmJm1yIT09dClicmVhayB4O3JldHVyblswLGl4KGUpLDBdfXZhciB1PXgwKDAsZnVuY3Rpb24obCl7aWYoIXUyKGwsMTIpKXt2YXIgbT1xKGwpO3g6e2lmKHR5cGVvZiBtPT1cIm51bWJlclwiJiYoQmU9PT1tfHx1aT09PW0mJnlhKDEsbCkpKXt2YXIgaD1saCgwLDAsbCk7YnJlYWsgeH12YXIgaD0wfXZhciBUPWRuKGwpLGI9eHIoMSxsKTtpZihUJiZ0eXBlb2YgYj09XCJudW1iZXJcIiYmMT49Yit4YT4+PjApe3ZhciBOPWExKGwpLGo9dTIobCw4Nik7cmV0dXJuIEoobCw4NyksWzAsWzEsWzAsTixIcihsKSxoLGpdXV19dmFyIEk9aD8xOjA7cmV0dXJuIEkmJlV4KGwsNDQpLFswLFswLEhyKGwpXV19dmFyIEY9cShsKTt4OmlmKHR5cGVvZiBGPT1cIm51bWJlclwiKXtpZigxMDw9Ril7aWYobXIhPT1GKWJyZWFrIHh9ZWxzZXtpZig3PkYpYnJlYWsgeDtzd2l0Y2goRi03fDApe2Nhc2UgMDpicmVhaztjYXNlIDE6YnJlYWsgeDtkZWZhdWx0OnJldHVybiBwMihaYTAsbCksRTAobCksMH19cmV0dXJuIDB9dmFyIE09ZG4obCksej14cigxLGwpO3g6e2lmKE0mJnR5cGVvZiB6PT1cIm51bWJlclwiJiYxPj16K3hhPj4+MCl7dmFyIEI9YTEobCk7cShsKT09PTg2JiYoVXgobCw0MyksRTAobCkpLEoobCw4Nyk7dmFyIEs9WzAsQl07YnJlYWsgeH12YXIgSz0wfXJldHVyblswLFsyLFswLEssSHIobCldXV19LHgpLGk9dVsyXSxjPXVbMV07aWYoIWkpcmV0dXJuWzAsaXgoZSksMV07dmFyIHY9WzAsWzAsYyxpWzFdXSxlXTtxKHgpIT09NyYmSih4LDkpO3ZhciBlPXZ9fV0pO2Z1bmN0aW9uIGNYKHgpe3ZhciByPXhyKDEseCk7cmV0dXJuIHR5cGVvZiByPT1cIm51bWJlclwiJiYxPj1yK3hhPj4+MD94MCgwLGZ1bmN0aW9uKGUpe1YyKGUsMCk7dmFyIHQ9cChYMFsxM10sMCxlKTtaMihlKSwxLUEyKGUpJiZVeChlLGcxKTt2YXIgdT11MihlLDg2KTtyZXR1cm4gSihlLDg3KSxbMCxbMCx0XSxIcihlKSx1XX0seCk6cGgoeCxIcih4KSl9RnIoVUIsWzAsZnVuY3Rpb24oeCxyLGUpe2Zvcih2YXIgdD1yLHU9ZTs7KXt2YXIgaT1xKHgpO3g6aWYodHlwZW9mIGk9PVwibnVtYmVyXCIpc3dpdGNoKGkpe2Nhc2UgNTpjYXNlIDEyOmNhc2UgMTE0OnZhciBjPWk9PT0xMj9bMCx4MCgwLGZ1bmN0aW9uKFQpe3ZhciBiPXUwKFQpO0ooVCwxMik7dmFyIE49WihbMCxiXSwwLE8pO3JldHVyblswLGNYKFQpLE5dfSx4KV06MDtyZXR1cm5bMCx0LGl4KHUpLGMsMF19ZWxzZSBpZihpWzBdPT09NCYmIVAoaVszXSxRbykpe2lmKHhyKDEseCkhPT04NyYmeHIoMSx4KSE9PTg2KWJyZWFrIHg7dmFyIHY9dCE9PTA/MTowLGE9dnx8KHUhPT0wPzE6MCk7YSYmVXgoeCw4OSk7dmFyIGw9eDAoMCxmdW5jdGlvbihiKXt2YXIgTj11MChiKTtFMChiKSxxKGIpPT09ODYmJlV4KGIsODgpO3ZhciBqPVooWzAsTl0sMCxPKTtyZXR1cm5bMCxzNChiKSxqXX0seCk7cSh4KSE9PTUmJkooeCw5KTt2YXIgdD1bMCxsXTtjb250aW51ZX12YXIgbT1bMCxjWCh4KSx1XTtxKHgpIT09NSYmSih4LDkpO3ZhciB1PW19fV0pLEZyKEJCLFswLGZ1bmN0aW9uKHgscil7Zm9yKHZhciBlPXI7Oyl7dmFyIHQ9cSh4KTt4OmlmKHR5cGVvZiB0PT1cIm51bWJlclwiKXt2YXIgdT10LTV8MDtpZig3PHU+Pj4wKXtpZihzdCE9PXUpYnJlYWsgeH1lbHNlIGlmKDU+PXUtMT4+PjApYnJlYWsgeDt2YXIgaT10PT09MTI/WzAseDAoMCxmdW5jdGlvbihhKXt2YXIgbD11MChhKTtKKGEsMTIpO3ZhciBtPXhyKDEsYSk7cjp7aWYodHlwZW9mIG09PVwibnVtYmVyXCIpe2lmKG09PT04Nil7VjIoYSwwKTt2YXIgaD1wKFgwWzEzXSwwLGEpO1oyKGEpLEooYSw4NiksSihhLDg3KTt2YXIgYj0xLE49WzAsaF07YnJlYWsgcn1pZihtPT09ODcpe1YyKGEsMCk7dmFyIFQ9cChYMFsxM10sMCxhKTtaMihhKSxKKGEsODcpO3ZhciBiPTAsTj1bMCxUXTticmVhayByfX12YXIgYj0wLE49MH12YXIgaj1IcihhKTtyZXR1cm4gcShhKT09PTkmJkUwKGEpLFswLE4saixiLFooWzAsbF0sMCxPKV19LHgpXTowO3JldHVyblswLGl4KGUpLGksMF19dmFyIGM9WzAseDAoMCxmdW5jdGlvbihhKXt2YXIgbD1xKGEpO3g6e2lmKHR5cGVvZiBsIT1cIm51bWJlclwiJiZsWzBdPT09Mil7dmFyIG09bFsxXSxoPW1bNF0sVD1tWzNdLGI9bVsyXSxOPW1bMV07aCYmSWUoYSw3NiksSihhLFsyLFswLE4sYixULGhdXSk7dmFyIEk9WzEsWzAsTixbMCxiLFQsWigwLFswLEwwKGEpXSxPKV1dXTticmVhayB4fVYyKGEsMCk7dmFyIGo9cChYMFsxM10sMCxhKTtaMihhKTt2YXIgST1bMCxqXX12YXIgRj11MihhLDg2KTtyZXR1cm5bMCxJLHM0KGEpLEZdfSx4KSxlXTtxKHgpIT09NSYmSih4LDkpO3ZhciBlPWN9fV0pO2Z1bmN0aW9uIGRoKHgscixlKXtyZXR1cm4geDAoWzAscl0sZnVuY3Rpb24odCl7dmFyIHU9a2godCk7cmV0dXJuIEoodCw4NyksWzAsZSx1LG5YKHQpLDAsMV19LHgpfWZ1bmN0aW9uIHNYKHgscixlLHQsdSl7dmFyIGk9Z24oeCx0KSxjPWRoKHgscixRMSh4LE92KHgpKSksdj1bMCxjWzFdLFsxMixjWzJdXV0sYT1bMCxpLFswLHZdLDAsZSE9PTA/MTowLDAsMSwwLFooWzAsdV0sMCxPKV07cmV0dXJuWzAsWzAsdlsxXSxhXV19ZnVuY3Rpb24geWgoeCxyLGUsdCx1LGksYyl7dmFyIHY9Y1syXSxhPWNbMV07cmV0dXJuIDEtQTIoeCkmJlV4KHgsZzEpLFswLHgwKFswLHJdLGZ1bmN0aW9uKGwpe3ZhciBtPXUyKGwsODYpLGg9YkIobCw4Nyk/SHIobCk6WzAsYSxIYTBdO3JldHVyblswLHYsWzAsaF0sbSx0IT09MD8xOjAsdSE9PTA/MTowLDAsZSxaKFswLGldLDAsTyldfSx4KV19ZnVuY3Rpb24gYTQoeCxyKXt2YXIgZT1xKHIpO2lmKHR5cGVvZiBlPT1cIm51bWJlclwiJiYxMD5lKXN3aXRjaChlKXtjYXNlIDE6aWYoIXgpcmV0dXJuO2JyZWFrO2Nhc2UgMzppZih4KXJldHVybjticmVhaztjYXNlIDg6Y2FzZSA5OnJldHVybiBFMChyKX1yZXR1cm4geW4ociw5KX1mdW5jdGlvbiBvNCh4LHIpe2lmKHIpcmV0dXJuIHEwKHgsWzAsclsxXVsxXSxLMl0pfWZ1bmN0aW9uIHY0KHgscil7aWYocilyZXR1cm4gcTAoeCxbMCxyWzFdLDk0XSl9ZnVuY3Rpb24gZVQwKHgscixlLHQsdSxpLGMsdixhKXtmb3IodmFyIGw9ZSxtPXQsaD11LFQ9aSxiPWMsTj12Ozspe3ZhciBqPXEoeCk7aWYodHlwZW9mIGo9PVwibnVtYmVyXCIpc3dpdGNoKGope2Nhc2UgNjp2NCh4LGIpO3ZhciBJPXhyKDEseCk7aWYodHlwZW9mIEk9PVwibnVtYmVyXCImJkk9PT02KXJldHVybiBvNCh4LGgpLFs0LHgwKFswLGFdLGZ1bmN0aW9uKEwpe3ZhciBOMD1NeChOLHUwKEwpKTtKKEwsNiksSihMLDYpO3ZhciBTMD1hMShMKTtKKEwsNyksSihMLDcpO3ZhciBLMD1xKEwpO3g6e3I6aWYodHlwZW9mIEswPT1cIm51bWJlclwiKXtpZihLMCE9PTQmJkswIT09OTkpYnJlYWsgcjt2YXIgQTA9ZGgoTCxhLFExKEwsT3YoTCkpKSx4eD0wLHR4PVswLEEwWzFdLFsxMixBMFsyXV1dLHowPTEscHg9MDticmVhayB4fXZhciAkMD11MihMLDg2KSxleD1MMChMKTtKKEwsODcpO3ZhciB4eD1leCx0eD1IcihMKSx6MD0wLHB4PSQwfXJldHVyblswLFMwLHR4LHB4LFQhPT0wPzE6MCx6MCxaKFswLE4wXSxbMCx4eF0sTyldfSx4KV07dmFyIEY9TXgoTix1MCh4KSk7Sih4LDYpO3ZhciBNPXhyKDEseCk7cmV0dXJuIHR5cGVvZiBNIT1cIm51bWJlclwiJiZNWzBdPT09NCYmIVAoTVszXSxxYSkmJlQ9PT0wP1s1LHgwKFswLGFdLGZ1bmN0aW9uKEwpe3ZhciBOMD1DdihMKSxTMD1OMFsxXTtFMChMKTt2YXIgSzA9SHIoTCk7SihMLDcpO3ZhciBBMD1xKEwpO3g6e3I6e3ZhciAkMD1bMCxOMCxbMCxTMF0sMCwwLDBdO2lmKHR5cGVvZiBBMD09XCJudW1iZXJcIil7dmFyIGV4PUEwK0Y5fDA7aWYoMTxleD4+PjApe2lmKGV4IT09LTE4KWJyZWFrIHI7RTAoTCk7dmFyIHh4PTJ9ZWxzZSB2YXIgeHg9ZXg/KEUwKEwpLEooTCw4NiksMSk6KEUwKEwpLEooTCw4NiksMCk7dmFyIHR4PXh4O2JyZWFrIHh9fXZhciB0eD0zfUooTCw4Nyk7dmFyIHowPUhyKEwpO3JldHVyblswLFswLFMwLCQwXSx6MCxLMCxoLHR4LFooWzAsRl0sWzAsTDAoTCldLE8pXX0seCldOlsyLHgwKFswLGFdLGZ1bmN0aW9uKEwpe2lmKHhyKDEsTCk9PT04Nyl7dmFyIE4wPWExKEwpO0ooTCw4Nyk7dmFyIFMwPVswLE4wXX1lbHNlIHZhciBTMD0wO3ZhciBLMD1IcihMKTtKKEwsNyk7dmFyIEEwPUwwKEwpO0ooTCw4Nyk7dmFyICQwPUhyKEwpO3JldHVyblswLFMwLEswLCQwLFQhPT0wPzE6MCxoLFooWzAsRl0sWzAsQTBdLE8pXX0seCldO2Nhc2UgNDM6aWYobCl7aWYoaCE9PTApdGhyb3cgVzAoWzAsTnIsSmEwXSwxKTt2YXIgej1bMCxWMCh4KV0sQj1NeChOLHUwKHgpKTtFMCh4KTt2YXIgbD0wLG09MCxUPXosTj1CO2NvbnRpbnVlfWJyZWFrO2Nhc2UgMTI3OmlmKGg9PT0wKXtpZigheWEoMSx4KSYmeHIoMSx4KSE9PTYpYnJlYWs7dmFyIGw9MCxtPTAsaD1saChHYTAsMCx4KTtjb250aW51ZX1icmVhaztjYXNlIDEwNDpjYXNlIDEwNTppZihoPT09MCl7dmFyIGw9MCxtPTAsaD1saCgwLDAseCk7Y29udGludWV9YnJlYWs7Y2FzZSA0OmNhc2UgOTk6cmV0dXJuIHY0KHgsYiksbzQoeCxoKSxbMyx4MChbMCxhXSxmdW5jdGlvbihMKXt2YXIgTjA9VjAoTCksUzA9ZGgoTCxOMCxRMShMLE92KEwpKSk7cmV0dXJuWzAsUzAsVCE9PTA/MTowLFooWzAsTl0sMCxPKV19LHgpXX1lbHNlIGlmKGpbMF09PT00JiYhUChqWzNdLHBnKSYmbSl7aWYoaCE9PTApdGhyb3cgVzAoWzAsTnIsV2EwXSwxKTt2YXIgSz1bMCxWMCh4KV0sbjA9TXgoTix1MCh4KSk7RTAoeCk7dmFyIGw9MCxtPTAsYj1LLE49bjA7Y29udGludWV9aWYoVCl7dmFyICQ9VFsxXTtpZihiKXJldHVybiBUeChWYTApO2lmKHR5cGVvZiBqPT1cIm51bWJlclwiJiYxPj1qK3hhPj4+MClyZXR1cm4geWgoeCxhLGgsMCxiLDAsWzAsJCxbMyxtbihaKFswLE5dLDAsTyksWzAsJCwkYTBdKV1dKX1lbHNlIGlmKGIpe3ZhciBIPWJbMV07aWYodHlwZW9mIGo9PVwibnVtYmVyXCImJjE+PWoreGE+Pj4wKXJldHVybiB5aCh4LGEsaCxULDAsMCxbMCxILFszLG1uKFooWzAsTl0sMCxPKSxbMCxILFFhMF0pXV0pfXZhciB0MD1mdW5jdGlvbihMKXtWMihMLDApO3ZhciBOMD1wKFgwWzIwXSwwLEwpO3JldHVybiBaMihMKSxOMH0sYzA9dTAoeCkscjA9dDAoeCksdjA9cjBbMV0sYTA9cjBbMl07eDppZihhMFswXT09PTMpe3ZhciBnMD1hMFsxXVsyXVsxXTtpZihQKGcwLEJvKSYmUChnMCxUMykpYnJlYWsgeDt2YXIgaTA9cSh4KTtpZih0eXBlb2YgaTA9PVwibnVtYmVyXCIpe3ZhciBzMD1pMC01fDA7aWYoOTM8czA+Pj4wKXtpZig5NT49czArMT4+PjApcmV0dXJuIHY0KHgsYiksbzQoeCxoKSxzWCh4LGEsVCxhMCxOKX1lbHNlIGlmKDE+PXMwLTgxPj4+MClyZXR1cm4geWgoeCxhLGgsVCxiLE4sWzAsdjAsYTBdKX1nbih4LGEwKTt2YXIgZDA9dDAoeCksdzA9YnIoZzAsQm8pLE0wPU14KE4sYzApO3JldHVybiB2NCh4LGIpLG80KHgsaCksWzAseDAoWzAsYV0sZnVuY3Rpb24oTCl7dmFyIE4wPWQwWzFdLFMwPWduKEwsZDBbMl0pLEswPWRoKEwsYSwwKSxBMD1LMFsyXVsyXTtyOmlmKHcwKXt2YXIgJDA9QTBbMl07ZTp7aWYoISQwWzFdKXtpZighJDBbMl0mJiEkMFszXSlicmVhayBlO3EwKEwsWzAsTjAsMjNdKTticmVhayByfXEwKEwsWzAsTjAsMjRdKX19ZWxzZXt2YXIgZXg9QTBbMl07aWYoZXhbMV0pcTAoTCxbMCxOMCw2Nl0pO2Vsc2V7dmFyIHh4PWV4WzJdO2U6e2lmKCFleFszXSl7aWYoeHgmJiF4eFsyXSlicmVhayBlO3EwKEwsWzAsTjAsNjVdKTticmVhayByfXEwKEwsWzAsTjAsNjVdKX19fXZhciB0eD1aKFswLE0wXSwwLE8pLHowPTAscHg9MCxzeD0wLFE9VCE9PTA/MTowLGIwPTAsVT13MD9bMSxLMF06WzIsSzBdO3JldHVyblswLFMwLFUsYjAsUSxzeCxweCx6MCx0eF19LHgpXX12YXIgQzA9cjBbMl0sRDA9cSh4KTt4OmlmKHR5cGVvZiBEMD09XCJudW1iZXJcIil7aWYoRDAhPT00JiZEMCE9PTk5KWJyZWFrIHg7cmV0dXJuIHY0KHgsYiksbzQoeCxoKSxzWCh4LGEsVCxDMCxOKX12YXIgSTA9VCE9PTA/MTowO3g6aWYoQzBbMF09PT0zKXt2YXIgajA9QzBbMV0seTA9ajBbMl1bMV07cjp7dmFyIFkwPWowWzFdO2lmKHIpe2lmKCFicihSbyx5MCkmJighSTB8fCFicih6YSx5MCkpKWJyZWFrIHI7cTAoeCxbMCxZMCxbMTUseTAsSTAsMCwwXV0pO2JyZWFrIHh9fX1yZXR1cm4geWgoeCxhLGgsVCxiLE4sWzAsdjAsQzBdKX19RnIoWEIsWzAsZnVuY3Rpb24oeCxyLGUsdCx1LGkpe2Zvcih2YXIgYz1pOzspe3ZhciB2PWNbM10sYT1jWzJdLGw9Y1sxXTtpZih4JiZlKXRocm93IFcwKFswLE5yLHphMF0sMSk7aWYociYmIWUpdGhyb3cgVzAoWzAsTnIsS2EwXSwxKTt2YXIgbT1WMCh1KSxoPXEodSk7aWYodHlwZW9mIGg9PVwibnVtYmVyXCIpe2lmKDEzPD1oKXtpZihtcj09PWgpcmV0dXJuWzAsaXgobCksYSx2XX1lbHNlIGlmKGgpc3dpdGNoKGgtMXwwKXtjYXNlIDA6aWYoIXQpcmV0dXJuWzAsaXgobCksYSx2XTticmVhaztjYXNlIDI6aWYodClyZXR1cm5bMCxpeChsKSxhLHZdO2JyZWFrO2Nhc2UgMTE6aWYoIWUpe0UwKHUpO3ZhciBUPXEodSk7aWYodHlwZW9mIFQ9PVwibnVtYmVyXCImJjEwPlQpc3dpdGNoKFQpe2Nhc2UgMTpjYXNlIDM6Y2FzZSA4OmNhc2UgOTpxMCh1LFswLG0sMzJdKSxhNCh0LHUpO2NvbnRpbnVlfXZhciBiPW5DKHUpO2VDKHUpKGIpLHEwKHUsWzAsbSw5N10pLEUwKHUpLGE0KHQsdSk7Y29udGludWV9dmFyIE49dTAodSk7RTAodSk7dmFyIGo9cSh1KTtpZih0eXBlb2Ygaj09XCJudW1iZXJcIiYmMTA+ailzd2l0Y2goail7Y2FzZSAxOmNhc2UgMzpjYXNlIDg6Y2FzZSA5OmE0KHQsdSk7dmFyIEk9cSh1KTtpZih0eXBlb2YgST09XCJudW1iZXJcIil7dmFyIEY9SS0xfDA7aWYoMj49Rj4+PjApc3dpdGNoKEYpe2Nhc2UgMDppZihyKXJldHVyblswLGl4KGwpLDEsTl07YnJlYWs7Y2FzZSAxOmJyZWFrO2RlZmF1bHQ6cmV0dXJuIHEwKHUsWzAsbSwzMV0pLFswLGl4KGwpLGEsdl19fXEwKHUsWzAsbSw5Ml0pO2NvbnRpbnVlfWxldCBLPU47dmFyIE09WzEseDAoWzAsbV0sZnVuY3Rpb24oJCl7dmFyIEg9WihbMCxLXSwwLE8pO3JldHVyblswLEhyKCQpLEhdfSx1KV07YTQodCx1KTt2YXIgYz1bMCxbMCxNLGxdLGEsdl07Y29udGludWV9fXZhciB6PWVUMCh1LHgseCx4LDAsMCwwLDAsbSk7YTQodCx1KTt2YXIgYz1bMCxbMCx6LGxdLGEsdl19fV0pLEZyKFlCLFswLGZ1bmN0aW9uKHgscil7Zm9yKHZhciBlPXI7Oyl7dmFyIHQ9WzAsaGgoeCksZV0sdT1xKHgpO2lmKHR5cGVvZiB1PT1cIm51bWJlclwiJiZ1PT09OSl7Sih4LDkpO3ZhciBlPXQ7Y29udGludWV9cmV0dXJuIGl4KHQpfX1dKTtmdW5jdGlvbiBhWCh4LHIpe3ZhciBlPWhCKHgscik7aWYoZSl2YXIgdD1lO2Vsc2V7eDp7aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJjE+PXIrRjk+Pj4wKXt2YXIgdT0xO2JyZWFrIHh9dmFyIHU9MH1pZighdSl7eDp7aWYodHlwZW9mIHI9PVwibnVtYmVyXCIpc3dpdGNoKHIpe2Nhc2UgMTU6Y2FzZSAzMDpjYXNlIDMxOmNhc2UgMzI6Y2FzZSA0MjpjYXNlIDQzOmNhc2UgNDc6Y2FzZSA1NDpjYXNlIDExNTpjYXNlIDExNjpjYXNlIDExNzpjYXNlIDExODpjYXNlIDExOTpjYXNlIDEyMDpjYXNlIDEyMTpjYXNlIDEyMjpjYXNlIDEyMzpjYXNlIDEyNDpjYXNlIDEyNTpjYXNlIDEyNjpjYXNlIDEyNzpicmVhaztkZWZhdWx0OmJyZWFrIHh9ZWxzZSBzd2l0Y2goclswXSl7Y2FzZSA0OmlmKHRDKHJbM10pKXJldHVybiAxO2JyZWFrIHg7Y2FzZSAxMTpicmVhaztkZWZhdWx0OmJyZWFrIHh9cmV0dXJuIDF9cmV0dXJuIDB9dmFyIHQ9dX1yZXR1cm4gdH1Gcih6QixbMCxmdW5jdGlvbih4LHIsZSl7Zm9yKHZhciB0PXIsdT1lOzspe2lmKGFYKHgscSh4KSkpe2xldCBiPXQ7dmFyIGk9c0MoMCxmdW5jdGlvbihJKXt2YXIgRj1saCgwLFlhMCxJKSxNPXgwKDAsZnVuY3Rpb24ocjApe3ZhciB2MD1DdihyMCksYTA9cShyMCk7eDp7aWYodHlwZW9mIGEwPT1cIm51bWJlclwiKXtpZihhMD09PTQyKXt2YXIgZzA9MSxpMD1bMSx4MCgwLGZ1bmN0aW9uKHcwKXtyZXR1cm4gRTAodzApLEhyKHcwKX0scjApXTticmVhayB4fWlmKGEwPT09ODcpe3ZhciBnMD0wLGkwPVsxLHM0KHIwKV07YnJlYWsgeH19dmFyIGcwPTAsaTA9WzAsZGEocjApXX1yZXR1cm5bMCx2MCxpMCxnMF19LEkpLHo9TVsyXSxCPXpbM10sSz16WzJdLG4wPXpbMV0sJD1NWzFdLEg9cShJKTt4OntpZih0eXBlb2YgSD09XCJudW1iZXJcIiYmSD09PTgzKXtFMChJKTt2YXIgdDA9MSxjMD1bMCxIcihJKV07YnJlYWsgeH1iJiZxMChJLFswLCQsNTJdKTt2YXIgdDA9YixjMD0wfXJldHVyblswLFswLG4wLEssQixGLGMwXSx0MF19LHgpLGM9aVsyXSx2PVswLGlbMV0sdV19ZWxzZSB2YXIgYz10LHY9dTt2YXIgYT1xKHgpO2lmKHR5cGVvZiBhPT1cIm51bWJlclwiKXt2YXIgbD1hK0Q5fDA7aWYoMTQ8bD4+PjApe2lmKGw9PT0tOTEpe0UwKHgpO3ZhciB0PWMsdT12O2NvbnRpbnVlfX1lbHNlIGlmKDEyPGwtMT4+PjApcmV0dXJuIGl4KHYpfXg6e3I6e2U6e2lmKHR5cGVvZiBhIT1cIm51bWJlclwiKXtpZihhWzBdIT09NClicmVhayByO3ZhciBtPWFbM107aWYoIWVoKG0pKXt0OntpZihQKG0sbnYpJiZQKG0sQjEpKXt2YXIgaD0wO2JyZWFrIHR9dmFyIGg9MX1pZighaCl7aWYoUChtLFFsKSl7aWYoIVAobSxjdikpYnJlYWsgZTtpZihQKG0scWYpKWJyZWFrIHI7YnJlYWsgZX1pZigheFsyOF1bMl0pYnJlYWsgcjt2YXIgVD0xO2JyZWFrIHh9fXZhciBUPTE7YnJlYWsgeH1zd2l0Y2goYSl7Y2FzZSA0OmNhc2UgODM6YnJlYWs7ZGVmYXVsdDpicmVhayByfX12YXIgVD0xO2JyZWFrIHh9dmFyIFQ9MH1pZihUKXJldHVybiB5bih4LHkyKSxpeCh2KTtpZihhWCh4LGEpKXt5bih4LDkpO3ZhciB0PWMsdT12fWVsc2V7Sih4LDkpO3ZhciB0PWMsdT12fX19XSksRnIoS0IsWzAsZnVuY3Rpb24oeCxyKXtmb3IodmFyIGU9cjs7KXt2YXIgdD1xKHgpO3g6aWYodHlwZW9mIHQ9PVwibnVtYmVyXCIpe2lmKHkyIT09dCYmbXIhPT10KWJyZWFrIHg7cmV0dXJuIGl4KGUpfXZhciB1PVswLEhyKHgpLGVdO3kyIT09cSh4KSYmSih4LDkpO3ZhciBlPXV9fV0pLEZyKEpCLFswLGZ1bmN0aW9uKHgscil7Zm9yKHZhciBlPXI7Oyl7dmFyIHQ9ZVsyXSx1PWVbMV07aWYocSh4KT09PTEwJiZ0aCgxLHgpKXtsZXQgdj10O3ZhciBpPXgwKFswLHVdLGZ1bmN0aW9uKGwpe3JldHVybiBKKGwsMTApLFswLHYsQ3YobCldfSx4KSxjPWlbMV0sZT1bMCxjLFsxLFswLGMsaVsyXV1dXTtjb250aW51ZX1yZXR1cm5bMCx1LHRdfX1dKTtmdW5jdGlvbiBvWCh4LHIpe2lmKHEoeCkhPT00KXJldHVyblswLDAsWihbMCxyXSxbMCxMMCh4KV0sTyldO3ZhciBlPU14KHIsdTAoeCkpO0ooeCw0KSxWMih4LDApO3ZhciB0PWQoWDBbOV0seCk7cmV0dXJuIFoyKHgpLEooeCw1KSxbMCxbMCx0XSxaKFswLGVdLFswLEwwKHgpXSxPKV19ZnVuY3Rpb24gdFQwKHgpe3ZhciByPXEoeCk7aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT04Nyl7MS1BMih4KSYmVXgoeCxnMSk7dmFyIGU9VjAoeCk7cmV0dXJuIEooeCw4NyksYWgoeCk/WzIsdVgoeCxlKV06WzEseDAoWzAsZV0sSHIseCldfXJldHVyblswLGRhKHgpXX1mdW5jdGlvbiBuVDAoeCl7dmFyIHI9cSh4KTtyZXR1cm4gdHlwZW9mIHI9PVwibnVtYmVyXCImJnI9PT04Nz9bMSxzNCh4KV06WzAsZGEoeCldfWZ1bmN0aW9uIHVUMCh4KXt2YXIgcj11MCh4KTtyZXR1cm4gSih4LDY3KSxvWCh4LHIpfXZhciBpVDA9MDtmdW5jdGlvbiB2WCh4KXt2YXIgcj1BdigwLHgpLGU9cShyKTtyZXR1cm4gdHlwZW9mIGU9PVwibnVtYmVyXCImJmU9PT02Nz9bMCx4MChpVDAsdVQwLHIpXTowfWZ1bmN0aW9uIGZUMCh4KXt2YXIgcj1xKHgpO2lmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09ODcpezEtQTIoeCkmJlV4KHgsZzEpO3ZhciBlPWRhKHgpLHQ9VjAoeCk7Sih4LDg3KTt2YXIgdT1xKHgpO2lmKHR5cGVvZiB1PT1cIm51bWJlclwiJiZ1PT09NjcpcmV0dXJuWzAsWzAsZV0sWzAseDAoWzAsdF0sZnVuY3Rpb24odil7dmFyIGE9dTAodik7cmV0dXJuIEoodiw2Nyksb1godixhKX0sQXYoMCx4KSldXTtpZihhaCh4KSlyZXR1cm5bMCxbMix1WCh4LHQpXSwwXTt2YXIgaT1bMSx4MChbMCx0XSxIcix4KV0sYz1xKHgpPT09Njc/YWwoeCxpKTppO3JldHVyblswLGMsdlgoeCldfXJldHVyblswLFswLGRhKHgpXSwwXX1mdW5jdGlvbiBOZSh4LHIpe3ZhciBlPWhhKDEscik7VjIoZSwxKTt2YXIgdD14KGUpO3JldHVybiBaMihlKSx0fWZ1bmN0aW9uIGdhKHgpe3JldHVybiBOZShIcix4KX1mdW5jdGlvbiB3cyh4KXtyZXR1cm4gTmUoQ3YseCl9ZnVuY3Rpb24gSGUoeCl7cmV0dXJuIE5lKE92LHgpfWZ1bmN0aW9uIGxYKHgpe3JldHVybiBOZSh5Qyx4KX1mdW5jdGlvbiBEdih4KXtyZXR1cm4gTmUoczQseCl9ZnVuY3Rpb24gd0MoeCl7cmV0dXJuIE5lKG5UMCx4KX1mdW5jdGlvbiBfQyh4KXtyZXR1cm4gTmUodFQwLHgpfWZ1bmN0aW9uIGJDKHgpe3JldHVybiBOZShmVDAseCl9ZnVuY3Rpb24gcFgoeCl7cmV0dXJuIE5lKGhoLHgpfWZ1bmN0aW9uIFRDKHgpe3JldHVybiBOZShnQyx4KX1mdW5jdGlvbiB2byh4LHIpe3ZhciBlPXJbMl0sdD1yWzFdLHU9eFsxXTtzd2l0Y2goZVswXSl7Y2FzZSAwOnJldHVybiBtMShjVDAseCxlWzFdWzFdKTtjYXNlIDE6cmV0dXJuIG0xKHNUMCx4LGVbMV1bMV0pO2Nhc2UgMjp2YXIgaT1lWzFdWzFdLGM9aVsyXVsxXSx2PXhbMl0sYT14WzFdLGw9aVsxXTtJMVszXS5jYWxsKG51bGwsYyx2KSYmcTAoYSxbMCxsLDc3XSk7dmFyIG09aVsyXVsxXSxoPWlbMV07cmV0dXJuIFB2KG0pJiZodChhLFswLGgsNzhdKSxmbChtKSYmaHQoYSxbMCxoLDgwXSksWzAsYSxJMVs0XS5jYWxsKG51bGwsYyx2KV07ZGVmYXVsdDpyZXR1cm4gcTAodSxbMCx0LDIwXSkseH19ZnVuY3Rpb24gY1QwKHgpe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gclswXT09PTA/dm8oeCxyWzFdWzJdWzJdKTp2byh4LHJbMV1bMl1bMV0pfX1mdW5jdGlvbiBzVDAoeCl7cmV0dXJuIGZ1bmN0aW9uKHIpe3N3aXRjaChyWzBdKXtjYXNlIDA6cmV0dXJuIHZvKHgsclsxXVsyXVsxXSk7Y2FzZSAxOnJldHVybiB2byh4LHJbMV1bMl1bMV0pO2RlZmF1bHQ6cmV0dXJuIHh9fX1mdW5jdGlvbiBrWCh4LHIpe3ZhciBlPXJbMl0sdD1lWzNdLHU9bTEoZnVuY3Rpb24oaSxjKXtyZXR1cm4gdm8oaSxjWzJdWzFdKX0sWzAseCxJMVsxXV0sZVsyXSk7dCYmdm8odSx0WzFdWzJdWzFdKX1mdW5jdGlvbiBtWCh4LHIsZSx0KXt2YXIgdT14WzVdLGk9dFswXT09PTA/anYodFsxXSk6MCxjPWhhKHU/MDpyLHgpLHY9cnx8dXx8MS1pO2lmKCF2KXJldHVybiB2O2lmKGUpe3ZhciBhPWVbMV0sbD1hWzJdWzFdLG09YVsxXTtQdihsKSYmaHQoYyxbMCxtLDcwXSksZmwobCkmJmh0KGMsWzAsbSw4MF0pfWlmKHRbMF09PT0wKXJldHVybiBrWChjLHRbMV0pO3ZhciBoPXRbMV1bMl0sVD1oWzJdLGI9WzAsWTMsWzAsWzAsdnMoZnVuY3Rpb24oail7dmFyIEk9alsyXSxGPUlbMV0sTT1JWzRdLHo9SVszXSxCPUlbMl0sSz1GWzBdPT09MD9bMyxGWzFdXTpbMCxbMCxZMyxGWzFdWzJdXV07cmV0dXJuWzAsWzAsWTMsWzAsSyxCLHosTV1dXX0saFsxXSksWzAsWTNdLDBdXV0sTj12byhbMCxjLEkxWzFdXSxiKTtUJiZ2byhOLFRbMV1bMl1bMV0pfWZ1bmN0aW9uIGxsKHgscixlLHQpe3JldHVybiBtWCh4LHIsZSxbMCx0XSl9ZnVuY3Rpb24gaFgoeCxyKXtpZihyIT09MTIpcmV0dXJuIDA7dmFyIGU9dTAoeCksdD14MCgwLGZ1bmN0aW9uKGMpe3JldHVybiBKKGMsMTIpLHAoWDBbMThdLGMsNzgpfSx4KSx1PXRbMl0saT10WzFdO3JldHVyblswLFswLGksdSxaKFswLGVdLDAsTyldXX1mdW5jdGlvbiBhVDAoeCl7cSh4KT09PTIyJiZVeCh4LDg5KTt2YXIgcj1wKFgwWzE4XSx4LDc4KSxlPXEoeCk9PT04Mz8oSih4LDgzKSxbMCxkKFgwWzEwXSx4KV0pOjA7cmV0dXJuWzAscixlXX12YXIgb1QwPTA7ZnVuY3Rpb24gcGwoeCxyKXtmdW5jdGlvbiBlKHUpe3ZhciBpPWFCKDEsUWoocixIaih4LHUpKSksYz11MChpKTtKKGksNCk7eDp7aWYoQTIoaSkmJnEoaSk9PT0yMil7dmFyIHY9dTAoaSksYT14MCgwLGZ1bmN0aW9uKEspe3JldHVybiBKKEssMjIpLHEoSyk9PT04Nz9bMCxEdihLKV06KFV4KEssODUpLDApfSxpKSxsPWFbMl0sbT1hWzFdO2lmKCFsKXt2YXIgVD0wO2JyZWFrIHh9dmFyIGg9bFsxXTtxKGkpPT09OSYmRTAoaSk7dmFyIFQ9WzAsWzAsbSxbMCxoLFooWzAsdl0sMCxPKV1dXTticmVhayB4fXZhciBUPTB9eDpyOntmb3IodmFyIGI9MDs7KXt2YXIgTj1xKGkpO2lmKHR5cGVvZiBOPT1cIm51bWJlclwiKXt2YXIgaj1OLTV8MDtpZig3PGo+Pj4wKXtpZihzdD09PWopYnJlYWt9ZWxzZSBpZig1PGotMT4+PjApYnJlYWsgcn12YXIgST14MChvVDAsYVQwLGkpO3EoaSkhPT01JiZKKGksOSk7dmFyIGI9WzAsSSxiXX1icmVhayB4fXZhciBGPWY1KGZ1bmN0aW9uKEIpe3JldHVyblswLEJbMV0sWzAsQlsyXSxCWzNdXV19LGhYKGksTikpO3EoaSkhPT01JiZVeChpLDYxKTt2YXIgTT1peChiKSx6PXUwKGkpO3JldHVybiBKKGksNSksWzAsVCxNLEYsTzIoWzAsY10sWzAsTDAoaSldLHosTyldfXZhciB0PTA7cmV0dXJuIGZ1bmN0aW9uKHUpe3JldHVybiB4MCh0LGUsdSl9fWZ1bmN0aW9uIGRYKHgscixlLHQsdSl7dmFyIGk9bUIoeCxyLGUsdSk7cmV0dXJuIHAoWDBbMTZdLHQsaSl9ZnVuY3Rpb24gbDQoeCxyLGUsdCx1KXt2YXIgaT1kWCh4LHIsZSx0LHUpO3JldHVyblswLFswLGlbMV1dLGlbMl1dfWZ1bmN0aW9uIEZ2KHgpe2lmKEsyIT09cSh4KSlyZXR1cm4gRHYwO3ZhciByPXUwKHgpO3JldHVybiBFMCh4KSxbMCwxLHJdfWZ1bmN0aW9uIGdoKHgpe2lmKHEoeCk9PT02NSYmIUl2KDEseCkpe3ZhciByPXUwKHgpO3JldHVybiBFMCh4KSxbMCwxLHJdfXJldHVybiBPdjB9ZnVuY3Rpb24gdlQwKHgpe3ZhciByPWdoKHgpLGU9clsxXSx0PXJbMl0sdT14MCgwLGZ1bmN0aW9uKEYpe3ZhciBNPXUwKEYpLHo9cShGKTt4OntpZih0eXBlb2Ygej09XCJudW1iZXJcIil7aWYoej09PTE1KXtFMChGKTt2YXIgQj1GdihGKSxuMD1CWzJdLCQ9QlsxXSxIPTE7YnJlYWsgeH19ZWxzZSBpZih6WzBdPT09NCYmIVAoelszXSxWbykmJiFlKXtFMChGKTt2YXIgbjA9MCwkPTAsSD0wO2JyZWFrIHh9eW4oRix6KTt2YXIgSz1GdihGKSxuMD1LWzJdLCQ9S1sxXSxIPTF9dmFyIHQwPU82KFswLHQsWzAsTSxbMCxuMCwwXV1dKSxjMD1GWzddLHIwPXEoRik7eDp7aWYoYzAmJnR5cGVvZiByMD09XCJudW1iZXJcIil7aWYocjA9PT00KXt2YXIgaTA9MCxzMD0wO2JyZWFrIHh9aWYocjA9PT05OSl7dmFyIHYwPVExKEYsSGUoRikpLGEwPXEoRik9PT00PzA6WzAsWHQoRixwKFgwWzEzXSxJdjAsRikpXSxpMD1hMCxzMD12MDticmVhayB4fX12YXIgZzA9ZG4oRik/WHQoRixwKFgwWzEzXSxOdjAsRikpOihfQihGLGp2MCksWzAsVjAoRiksQ3YwXSksaTA9WzAsZzBdLHMwPVExKEYsSGUoRikpfXZhciBkMD1wbChlLCQpKEYpLHcwPXEoRik9PT04Nz9kMDppNChGLGQwKSxNMD1iQyhGKSxDMD1NMFsyXSxEMD1NMFsxXTtpZihDMCl2YXIgSTA9U0IoRixDMCksajA9RDA7ZWxzZSB2YXIgSTA9QzAsajA9YWwoRixEMCk7cmV0dXJuWzAsJCxILHMwLGkwLHcwLGowLEkwLHQwXX0seCksaT11WzJdLGM9aVs1XSx2PWlbNF0sYT1pWzFdLGw9aVs4XSxtPWlbN10saD1pWzZdLFQ9aVszXSxiPWlbMl0sTj11WzFdLGo9bDQoeCxlLGEsMCxqdihjKSksST1qWzFdO3JldHVybiBsbCh4LGpbMl0sdixjKSxbMjcsWzAsdixjLEksZSxhLGIsbSxoLFQsWihbMCxsXSwwLE8pLE5dXX12YXIgbFQwPTA7ZnVuY3Rpb24gcDQoeCl7cmV0dXJuIHgwKGxUMCx2VDAseCl9ZnVuY3Rpb24gRUMoeCxyKXt2YXIgZT11MChyKTtKKHIseCk7dmFyIHQ9clsyOF1bMl07aWYodCl2YXIgdT14PT09Mjg/MTowLGk9dSYmKHEocik9PT00OT8xOjApO2Vsc2UgdmFyIGk9dDtpJiZVeChyLDE5KTtmb3IodmFyIGM9MCx2PTA7Oyl7dmFyIGE9eDAoMCxmdW5jdGlvbihJKXt2YXIgRj1wKFgwWzE4XSxJLDgxKTtpZih1MihJLDgzKSl2YXIgTT0wLHo9WzAsZChYMFsxMF0sSSldO2Vsc2V7dmFyIEI9RlsxXTtpZihGWzJdWzBdPT09Mil2YXIgTT0wLHo9MDtlbHNlIHZhciBNPVswLFswLEIsNThdXSx6PTB9cmV0dXJuWzAsWzAsRix6XSxNXX0sciksbD1hWzJdLG09bFsyXSxoPVswLFswLGFbMV0sbFsxXV0sY10sVD1tP1swLG1bMV0sdl06djtpZighdTIociw5KSl7dmFyIGI9aXgoVCk7cmV0dXJuWzAsaXgoaCksZSxiXX12YXIgYz1oLHY9VH19dmFyIHBUMD1PQihYMCksa1QwPTI1O2Z1bmN0aW9uIHlYKHgpe3JldHVybiBFQyhrVDAseCl9ZnVuY3Rpb24gZ1goeCl7dmFyIHI9RUMoMjgsWmooMSx4KSksZT1yWzFdLHQ9clsyXTtyZXR1cm5bMCxlLHQsaXgobTEoZnVuY3Rpb24odSxpKXtyZXR1cm4gaVsyXVsyXT91OlswLFswLGlbMV0sNTddLHVdfSxyWzNdLGUpKV19ZnVuY3Rpb24gd1goeCl7cmV0dXJuIEVDKDI5LFpqKDEseCkpfWZ1bmN0aW9uIF9YKHgpe2Z1bmN0aW9uIHIodCl7cmV0dXJuWzIwLHBUMFsxXS5jYWxsKG51bGwseCx0KV19dmFyIGU9MDtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHgwKGUscix0KX19ZnVuY3Rpb24gbVQwKHgpe3ZhciByPXUwKHgpLGU9cSh4KSx0PXhyKDEseCk7eDp7cjppZih0eXBlb2YgZSE9XCJudW1iZXJcIiYmZVswXT09PTIpe3ZhciB1PWVbMV0saT11WzRdLGM9dVszXSx2PXVbMl0sYT11WzFdO2U6e2lmKHR5cGVvZiB0PT1cIm51bWJlclwiKXN3aXRjaCh0KXtjYXNlIDg2OmNhc2UgODc6YnJlYWs7ZGVmYXVsdDpicmVhayBlfWVsc2V7aWYodFswXSE9PTQpYnJlYWsgZTtpZihQKHRbM10sTnQpKWJyZWFrIHJ9aSYmSWUoeCw3NiksSih4LFsyLFswLGEsdixjLGldXSk7dmFyIGw9WzEsWzAsYSxbMCx2LGMsWihbMCxyXSxbMCxMMCh4KV0sTyldXV07aWYodHlwZW9mIHQ9PVwibnVtYmVyXCImJjE+PXQreGE+Pj4wKXt2YXIgbT10PT09ODY/MTowO1V4KHgsWzE3LG0sdl0pLG0mJkUwKHgpO3ZhciBoPVYwKHgpLEk9MCxGPVswLGgsWzIsWzAsWzAsaCxTdjBdLHdDKHgpLG1dXV0sTT1sO2JyZWFrIHh9RTAoeCk7dmFyIEk9MCxGPXAoWDBbMThdLHgsNzgpLE09bDticmVhayB4fX1pZih0eXBlb2YgdCE9XCJudW1iZXJcIiYmdFswXT09PTQmJiFQKHRbM10sTnQpKXt2YXIgVD1bMCxhMSh4KV07eXMoeCxBdjApO3ZhciBJPTAsRj1wKFgwWzE4XSx4LDc4KSxNPVQ7YnJlYWsgeH1pZih0eXBlb2YgZT09XCJudW1iZXJcIiYmIWUpe1V4KHgsMzMpO3ZhciBiPVswLFswLFYwKHgpLFB2MF1dLEk9MCxGPXAoWDBbMThdLHgsNzgpLE09YjticmVhayB4fXZhciBOPUgwKFgwWzE0XSx4LDAsNzgpLGo9TlsyXSxJPTEsRj1bMCxOWzFdLFsyLGpdXSxNPVswLGpbMV1dfXZhciB6PXEoeCk9PT04Mz8oSih4LDgzKSxbMCxkKFgwWzEwXSx4KV0pOjA7cmV0dXJuWzAsTSxGLHosSV19dmFyIGhUMD0wO2Z1bmN0aW9uIGRUMCh4KXt2YXIgcj1hQigxLHgpLGU9dTAocik7SihyLDQpO3g6cjp7Zm9yKHZhciB0PTA7Oyl7dmFyIHU9cShyKTtpZih0eXBlb2YgdT09XCJudW1iZXJcIil7dmFyIGk9dS01fDA7aWYoNzxpPj4+MCl7aWYoc3Q9PT1pKWJyZWFrfWVsc2UgaWYoNTxpLTE+Pj4wKWJyZWFrIHJ9dmFyIGM9eDAoaFQwLG1UMCxyKTtxKHIpIT09NSYmSihyLDkpO3ZhciB0PVswLGMsdF19YnJlYWsgeH12YXIgdj1mNShmdW5jdGlvbihtKXt2YXIgaD1tWzNdLFQ9bVsyXSxiPW1bMV07cmV0dXJuIHEocik9PT05JiZFMChyKSxbMCxiLFswLFQsaF1dfSxoWChyLHUpKTtxKHIpIT09NSYmVXgociw2MSk7dmFyIGE9aXgodCksbD11MChyKTtyZXR1cm4gSihyLDUpLFswLGEsdixPMihbMCxlXSxbMCxMMChyKV0sbCxPKV19dmFyIHlUMD0wO2Z1bmN0aW9uIGdUMCh4KXt2YXIgcj14MCgwLGZ1bmN0aW9uKGgpe3ZhciBUPXUwKGgpO3lzKGgsVHYwKTt2YXIgYj1YdChoLHAoWDBbMTNdLEV2MCxoKSksTj1RMShoLEhlKGgpKSxqPXgwKHlUMCxkVDAsaCksST1pQyhoKT9qOnAoRjIoaClbMl0saixmdW5jdGlvbihGLE0pe3JldHVybiBwKEJ4KEYsODQyNjg1ODk2LDExKSxGLE0pfSk7cmV0dXJuWzAsTixiLEksY0MoaCxUQyhoKSksVF19LHgpLGU9clsyXSx0PWVbM10sdT1lWzJdLGk9ZVs1XSxjPWVbNF0sdj1lWzFdLGE9clsxXSxsPWRYKHgsMCwwLDAsMCksbT1sWzFdO3JldHVybiBtWCh4LGxbMl0sWzAsdV0sWzEsdF0pLFszLFswLHUsdix0LGMsbSxaKFswLGldLDAsTyksYV1dfXZhciB3VDA9MDtmdW5jdGlvbiBTQyh4KXtyZXR1cm4geDAod1QwLGdUMCx4KX1mdW5jdGlvbiBvMSh4LHIpe2lmKHJbMF09PT0wKXJldHVybiByWzFdO3ZhciBlPXJbMV07cmV0dXJuIGIxKGZ1bmN0aW9uKHQpe3JldHVybiBxMCh4LHQpfSxyWzJdWzFdKSxlfWZ1bmN0aW9uIEFDKHgscixlKXt2YXIgdD14P3hbMV06MzY7aWYoZVswXT09PTApdmFyIHU9ZVsxXTtlbHNle3ZhciBpPWVbMV07YjEoZnVuY3Rpb24obCl7cmV0dXJuIHEwKHIsbCl9LGVbMl1bMl0pO3ZhciB1PWl9MS1kKFgwWzIzXSx1KSYmcTAocixbMCx1WzFdLHRdKTt2YXIgYz11WzJdO3g6aWYoY1swXT09PTEwKXt2YXIgdj11WzFdO2lmKFB2KGNbMV1bMl1bMV0pKXtodChyLFswLHYsNzFdKTticmVhayB4fX1yZXR1cm4gcChYMFsxOV0scix1KX1mdW5jdGlvbiBQQyh4LHIpe3ZhciBlPUszKHhbMl0sclsyXSk7cmV0dXJuWzAsSzMoeFsxXSxyWzFdKSxlXX1mdW5jdGlvbiBiWCh4KXt2YXIgcj1peCh4WzJdKTtyZXR1cm5bMCxpeCh4WzFdKSxyXX1mdW5jdGlvbiB3aCh4KXt2YXIgcj1WMCh4KSxlPVRYKHgpLHQ9cSh4KTt4OntpZih0eXBlb2YgdD09XCJudW1iZXJcIiYmdD09PTkwKXt2YXIgdT14MChbMCxyXSxmdW5jdGlvbihsKXtmb3IodmFyIG09WzAsZSwwXTs7KXt2YXIgaD1xKGwpO2lmKHR5cGVvZiBoPT1cIm51bWJlclwiJiZoPT09OTApe0UwKGwpO3ZhciBtPVswLFRYKGwpLG1dO2NvbnRpbnVlfXZhciBUPWl4KG0pO3JldHVyblswLFQsWigwLFswLEwwKGwpXSxPKV19fSx4KSxpPVswLHVbMV0sWzEyLHVbMl1dXTticmVhayB4fXZhciBpPWV9dmFyIGM9cSh4KTtpZih0eXBlb2YgYyE9XCJudW1iZXJcIiYmY1swXT09PTQmJiFQKGNbM10sTnQpKXt2YXIgdj14MChbMCxyXSxmdW5jdGlvbihhKXtFMChhKTt2YXIgbD1xKGEpO3g6e3I6aWYodHlwZW9mIGw9PVwibnVtYmVyXCIpe3ZhciBtPWwrRTN8MDtpZig0Pj1tPj4+MCl7c3dpdGNoKG0pe2Nhc2UgMDp2YXIgaD1ZdChhLDApLE49WzEsaFsxXSxoWzJdXTticmVhaztjYXNlIDM6dmFyIFQ9WXQoYSwyKSxOPVsxLFRbMV0sVFsyXV07YnJlYWs7Y2FzZSA0OnZhciBiPVl0KGEsMSksTj1bMSxiWzFdLGJbMl1dO2JyZWFrO2RlZmF1bHQ6YnJlYWsgcn12YXIgaj1OO2JyZWFrIHh9fXZhciBqPVswLHAoWDBbMTNdLDAsYSldfXJldHVyblswLGksaixaKDAsWzAsTDAoYSldLE8pXX0seCk7cmV0dXJuWzAsdlsxXSxbMTMsdlsyXV1dfXJldHVybiBpfWZ1bmN0aW9uIFRYKHgpe3ZhciByPXEoeCk7aWYodHlwZW9mIHI9PVwibnVtYmVyXCIpc3dpdGNoKHIpe2Nhc2UgMDp2YXIgZT1mdW5jdGlvbihwMCl7dmFyIEZ4PVYwKHAwKSxTeD11MChwMCk7ZnVuY3Rpb24gYngoVil7dmFyIGx4PVZbMl0sVTA9VlsxXSxveD1bMixbMCxVMCxseFsyXVsyXV1dO3JldHVyblswLEZ4LFswLG94LFswLFUwLFs3LGx4XV0sMSxaKFswLFN4XSxbMCxMMChwMCldLE8pXV19dmFyIEIwPXEocDApO2lmKHR5cGVvZiBCMD09XCJudW1iZXJcIil7dmFyIFd4PUIwK0UzfDA7aWYoND49V3g+Pj4wKXN3aXRjaChXeCl7Y2FzZSAwOnJldHVybiBieChZdChwMCwwKSk7Y2FzZSAzOnJldHVybiBieChZdChwMCwyKSk7Y2FzZSA0OnJldHVybiBieChZdChwMCwxKSl9fXZhciBZeD11MChwMCksYXg9cShwMCk7eDp7aWYodHlwZW9mIGF4IT1cIm51bWJlclwiKXN3aXRjaChheFswXSl7Y2FzZSAwOnZhciBReD1heFsyXSxreD1heFsxXSx0cj1WMChwMCksc3I9SDAoWDBbMjRdLHAwLGt4LFF4KSxqeD1bMSxbMCx0cixbMCxzcixReCxaKFswLFl4XSxbMCxMMChwMCldLE8pXV1dO2JyZWFrIHg7Y2FzZSAyOnZhciBNcj1heFsxXSxhMj1Ncls0XSxfMj1NclszXSxpMj1NclsyXSxRMj1NclsxXTthMiYmSWUocDAsNzYpLEoocDAsWzIsWzAsUTIsaTIsXzIsYTJdXSk7dmFyIGp4PVswLFswLFEyLFswLGkyLF8yLFooWzAsWXhdLFswLEwwKHAwKV0sTyldXV07YnJlYWsgeH12YXIgang9WzIsYTEocDApXX1KKHAwLDg3KTt2YXIgXz13aChwMCk7cmV0dXJuWzAsRngsWzAsangsXywwLFooWzAsU3hdLFswLEwwKHAwKV0sTyldXX07cmV0dXJuIHgwKDAsZnVuY3Rpb24ocDApe3ZhciBGeD11MChwMCk7SihwMCwwKTt4Ontmb3IodmFyIFN4PTA7Oyl7dmFyIGJ4PXEocDApO2lmKHR5cGVvZiBieD09XCJudW1iZXJcIil7dmFyIEIwPWJ4LTJ8MDtpZihjZTxCMD4+PjApe2lmKFRlPj1CMCsxPj4+MCl7dmFyIGF4PVswLGl4KFN4KSwwXTticmVhayB4fX1lbHNlIGlmKEIwPT09MTApYnJlYWt9dmFyIFd4PWUocDApOzEtKHEocDApPT09MT8xOjApJiZKKHAwLDkpO3ZhciBTeD1bMCxXeCxTeF19dmFyIFl4PVNYKHAwKTtxKHAwKT09PTkmJnEwKHAwLFswLFYwKHAwKSxQbDBdKTt2YXIgYXg9WzAsaXgoU3gpLFswLFl4XV19dmFyIFF4PWF4WzJdLGt4PWF4WzFdLHRyPXUwKHAwKTtyZXR1cm4gSihwMCwxKSxbMTAsWzAsa3gsUXgsTzIoWzAsRnhdLFswLEwwKHAwKV0sdHIsTyldXX0seCk7Y2FzZSA0OnZhciB0PXUwKHgpO0ooeCw0KTt2YXIgdT13aCh4KTtKKHgsNSk7dmFyIGk9TDAoeCksYz11WzJdLHY9ZnVuY3Rpb24ocDApe3JldHVybiBTMShwMCxaKFswLHRdLFswLGldLE8pKX0sYT1mdW5jdGlvbihwMCl7cmV0dXJuIFM1KHAwLFooWzAsdF0sWzAsaV0sTykpfSxsPXVbMV07c3dpdGNoKGNbMF0pe2Nhc2UgMDp2YXIgSTA9WzAsdihjWzFdKV07YnJlYWs7Y2FzZSAxOnZhciBtPWNbMV0saD12KG1bM10pLEkwPVsxLFswLG1bMV0sbVsyXSxoXV07YnJlYWs7Y2FzZSAyOnZhciBUPWNbMV0sYj12KFRbM10pLEkwPVsyLFswLFRbMV0sVFsyXSxiXV07YnJlYWs7Y2FzZSAzOnZhciBOPWNbMV0saj12KE5bM10pLEkwPVszLFswLE5bMV0sTlsyXSxqXV07YnJlYWs7Y2FzZSA0OnZhciBJPWNbMV0sRj12KElbMl0pLEkwPVs0LFswLElbMV0sRl1dO2JyZWFrO2Nhc2UgNTp2YXIgSTA9WzUsdihjWzFdKV07YnJlYWs7Y2FzZSA2OnZhciBNPWNbMV0sej12KE1bM10pLEkwPVs2LFswLE1bMV0sTVsyXSx6XV07YnJlYWs7Y2FzZSA3OnZhciBCPWNbMV0sSz12KEJbM10pLEkwPVs3LFswLEJbMV0sQlsyXSxLXV07YnJlYWs7Y2FzZSA4OnZhciBuMD1jWzFdLCQ9bjBbMl0sSD1uMFsxXSx0MD12KCRbMl0pLEkwPVs4LFswLEgsWzAsJFsxXSx0MF1dXTticmVhaztjYXNlIDk6dmFyIGMwPWNbMV0scjA9YzBbMl0sdjA9YzBbMV0sYTA9dihyMFszXSksSTA9WzksWzAsdjAsWzAscjBbMV0scjBbMl0sYTBdXV07YnJlYWs7Y2FzZSAxMDp2YXIgZzA9Y1sxXSxpMD1hKGcwWzNdKSxJMD1bMTAsWzAsZzBbMV0sZzBbMl0saTBdXTticmVhaztjYXNlIDExOnZhciBzMD1jWzFdLGQwPWEoczBbM10pLEkwPVsxMSxbMCxzMFsxXSxzMFsyXSxkMF1dO2JyZWFrO2Nhc2UgMTI6dmFyIHcwPWNbMV0sTTA9dih3MFsyXSksSTA9WzEyLFswLHcwWzFdLE0wXV07YnJlYWs7ZGVmYXVsdDp2YXIgQzA9Y1sxXSxEMD12KEMwWzNdKSxJMD1bMTMsWzAsQzBbMV0sQzBbMl0sRDBdXX1yZXR1cm5bMCxsLEkwXTtjYXNlIDY6cmV0dXJuIHgwKDAsZnVuY3Rpb24ocDApe3ZhciBGeD11MChwMCksU3g9VjAocDApO0oocDAsNik7eDp7Zm9yKHZhciBieD0wOzspe3ZhciBCMD1xKHAwKTtpZih0eXBlb2YgQjA9PVwibnVtYmVyXCIpe3ZhciBXeD1CMC04fDA7aWYodWk8V3g+Pj4wKXtpZihLMj49V3grMT4+PjApe3ZhciBreD1bMCxpeChieCksMF07YnJlYWsgeH19ZWxzZSBpZihXeD09PTQpYnJlYWt9dmFyIFl4PXdoKHAwKSxheD1ZcihTeCxWMChwMCkpO3EocDApIT09NyYmSihwMCw5KTt2YXIgYng9WzAsWzAsYXgsWXhdLGJ4XX12YXIgUXg9U1gocDApO3EocDApPT09OSYmcTAocDAsWzAsVjAocDApLElsMF0pO3ZhciBreD1bMCxpeChieCksWzAsUXhdXX12YXIgdHI9a3hbMl0sc3I9a3hbMV0sTXI9dTAocDApO3JldHVybiBKKHAwLDcpLFsxMSxbMCxzcix0cixPMihbMCxGeF0sWzAsTDAocDApXSxNcixPKV1dfSx4KTtjYXNlIDI1OnZhciBqMD1ZdCh4LDApO3JldHVyblswLGowWzFdLFs3LGowWzJdXV07Y2FzZSAyODp2YXIgeTA9WXQoeCwyKTtyZXR1cm5bMCx5MFsxXSxbNyx5MFsyXV1dO2Nhc2UgMjk6dmFyIFkwPVl0KHgsMSk7cmV0dXJuWzAsWTBbMV0sWzcsWTBbMl1dXTtjYXNlIDMwOnZhciBMPXUwKHgpLE4wPVYwKHgpO3JldHVybiBFMCh4KSxbMCxOMCxbNSxaKFswLExdLFswLEwwKHgpXSxPKV1dO2Nhc2UgMTA0OnJldHVybiBFWCh4LDApO2Nhc2UgMTA1OnJldHVybiBFWCh4LDEpO2Nhc2UgMzE6Y2FzZSAzMjp2YXIgUzA9dTAoeCksSzA9VjAoeCk7cmV0dXJuIEUwKHgpLFswLEswLFs0LFswLHI9PT0zMj8xOjAsWihbMCxTMF0sWzAsTDAoeCldLE8pXV1dfWVsc2Ugc3dpdGNoKHJbMF0pe2Nhc2UgMDp2YXIgQTA9clsyXSwkMD1yWzFdLGV4PXUwKHgpLHh4PVYwKHgpLHR4PUgwKFgwWzI0XSx4LCQwLEEwKTtyZXR1cm5bMCx4eCxbMSxbMCx0eCxBMCxaKFswLGV4XSxbMCxMMCh4KV0sTyldXV07Y2FzZSAxOnZhciB6MD1yWzJdLHB4PXJbMV0sc3g9dTAoeCksUT1WMCh4KSxiMD1IMChYMFsyNl0seCxweCx6MCk7cmV0dXJuWzAsUSxbMixbMCxiMCx6MCxaKFswLHN4XSxbMCxMMCh4KV0sTyldXV07Y2FzZSAyOnZhciBVPXJbMV0saDA9VVs0XSxfMD1VWzNdLG0wPVVbMl0sVDA9VVsxXSxYPXUwKHgpO3JldHVybiBoMCYmSWUoeCw3NiksRTAoeCksWzAsVDAsWzMsWzAsbTAsXzAsWihbMCxYXSxbMCxMMCh4KV0sTyldXV07Y2FzZSA0OmlmKCFQKHJbM10scW8pKXt2YXIgR3g9dTAoeCksUHg9VjAoeCk7cmV0dXJuIEUwKHgpLFswLFB4LFswLFooWzAsR3hdLFswLEwwKHgpXSxPKV1dfWJyZWFrfWlmKCFkbih4KSl7dmFyIEcwPXUwKHgpLEtyPVYwKHgpO3AyKDAseCk7eDppZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTcpe0UwKHgpO2JyZWFrIHh9cmV0dXJuWzAsS3IsWzAsWihbMCxHMF0sVGwwLE8pXV19Zm9yKHZhciBTPVYwKHgpLEc9WzAscChYMFsxM10sMCx4KV07Oyl7dmFyIHJ4PXEoeCk7aWYodHlwZW9mIHJ4PT1cIm51bWJlclwiKXtpZihyeD09PTYpe2xldCBwMD1HO3ZhciBHPVsxLHgwKFswLFNdLGZ1bmN0aW9uKFN4KXtKKFN4LDYpO3ZhciBieD11MChTeCksQjA9cShTeCk7eDp7aWYodHlwZW9mIEIwIT1cIm51bWJlclwiKXN3aXRjaChCMFswXSl7Y2FzZSAwOnZhciBXeD1CMFsyXSxZeD1CMFsxXSxheD1WMChTeCksUXg9SDAoWDBbMjRdLFN4LFl4LFd4KSxfMj1bMSxbMCxheCxbMCxReCxXeCxaKFswLGJ4XSxbMCxMMChTeCldLE8pXV1dO2JyZWFrIHg7Y2FzZSAyOnZhciBreD1CMFsxXSx0cj1reFs0XSxzcj1reFszXSxNcj1reFsyXSxhMj1reFsxXTt0ciYmSWUoU3gsNzYpLEooU3gsWzIsWzAsYTIsTXIsc3IsdHJdXSk7dmFyIF8yPVswLFswLGEyLFswLE1yLHNyLFooWzAsYnhdLFswLEwwKFN4KV0sTyldXV07YnJlYWsgeH1wMihfbDAsU3gpO3ZhciBfMj1bMCxbMCxWMChTeCksYmwwXV19cmV0dXJuIEooU3gsNyksWzAscDAsXzIsWigwLFswLEwwKFN4KV0sTyldfSx4KV07Y29udGludWV9aWYocng9PT0xMCl7bGV0IHAwPUc7dmFyIEc9WzEseDAoWzAsU10sZnVuY3Rpb24oU3gpe0UwKFN4KTt2YXIgYng9WzIsYTEoU3gpXTtyZXR1cm5bMCxwMCxieCxaKDAsWzAsTDAoU3gpXSxPKV19LHgpXTtjb250aW51ZX19aWYoR1swXT09PTApe3ZhciB5eD1HWzFdO3JldHVyblswLHl4WzFdLFs4LHl4XV19dmFyIEV4PUdbMV0sbng9RXhbMV07cmV0dXJuWzAsbngsWzksWzAsbngsRXhbMl1dXV19fWZ1bmN0aW9uIEVYKHgscil7cmV0dXJuIHgwKDAsZnVuY3Rpb24oZSl7dmFyIHQ9dTAoZSk7RTAoZSk7dmFyIHU9cShlKTt4OntpZih0eXBlb2YgdSE9XCJudW1iZXJcIilzd2l0Y2godVswXSl7Y2FzZSAwOnZhciBpPXVbMl0sYz11WzFdLHY9dTAoZSksYT1WMChlKSxsPUgwKFgwWzI0XSxlLGMsaSksST1bMCxhLFswLFswLGwsaSxaKFswLHZdLFswLEwwKGUpXSxPKV1dXTticmVhayB4O2Nhc2UgMTp2YXIgbT11WzJdLGg9dVsxXSxUPXUwKGUpLGI9VjAoZSksTj1IMChYMFsyNl0sZSxoLG0pLEk9WzAsYixbMSxbMCxOLG0sWihbMCxUXSxbMCxMMChlKV0sTyldXV07YnJlYWsgeH12YXIgaj1WMChlKTtwMihFbDAsZSk7dmFyIEk9WzAsaixTbDBdfXJldHVybls2LFswLHIsSSxaKFswLHRdLFswLEwwKGUpXSxPKV1dfSx4KX1mdW5jdGlvbiBZdCh4LHIpe3JldHVybiB4MCgwLGZ1bmN0aW9uKGUpe3ZhciB0PXUwKGUpO0UwKGUpO3ZhciB1PXAoWDBbMTNdLEFsMCxlKTtyZXR1cm5bMCxyLHUsWihbMCx0XSxbMCxMMChlKV0sTyldfSx4KX1mdW5jdGlvbiBTWCh4KXtyZXR1cm4geDAoMCxmdW5jdGlvbihyKXt2YXIgZT11MChyKTtKKHIsMTIpO3ZhciB0PXEocik7eDp7cjppZih0eXBlb2YgdD09XCJudW1iZXJcIil7dmFyIHU9dCtFM3wwO2lmKDQ+PXU+Pj4wKXtzd2l0Y2godSl7Y2FzZSAwOnZhciBpPVswLFl0KHIsMCldO2JyZWFrO2Nhc2UgMzp2YXIgaT1bMCxZdChyLDIpXTticmVhaztjYXNlIDQ6dmFyIGk9WzAsWXQociwxKV07YnJlYWs7ZGVmYXVsdDpicmVhayByfXZhciBjPWk7YnJlYWsgeH19dmFyIGM9MH1yZXR1cm5bMCxjLFooWzAsZV0sWzAsTDAocildLE8pXX0seCl9ZnVuY3Rpb24gQVgoeCxyKXt2YXIgZT14WzBdPT09MD94WzFdOnhbMV0tMXwwLHQ9KHJbMF09PT0wLHJbMV0pO3JldHVybiB0PD1lPzE6MH12YXIgazQ9W10sX2g9W10sUFg9W10sSVg9W10sTlg9W10sbTQ9W10salg9W10sQ1g9W10sSUM9W10sT1g9W107ZnVuY3Rpb24gaDQoeCl7dmFyIHI9ZG4oeCk7aWYocil7dmFyIGU9cSh4KTt4OntpZih0eXBlb2YgZT09XCJudW1iZXJcIil7aWYoZT09PTU5KXtpZih4WzE4XSl7dmFyIHQ9MDticmVhayB4fX1lbHNlIGlmKGU9PT02NiYmeFsxOV0pe3ZhciB0PTA7YnJlYWsgeH19dmFyIHQ9MX12YXIgdT10fWVsc2UgdmFyIHU9cjt2YXIgaT1xKHgpO3g6e3I6aWYodHlwZW9mIGk9PVwibnVtYmVyXCIpe2lmKDIzPD1pKXtpZihpPT09NTkpe2lmKHhbMThdKXJldHVyblswLHgwKDAsZnVuY3Rpb24obSl7bVsxMF0mJlV4KG0sZWEpO3ZhciBoPXUwKG0pLFQ9VjAobSk7SihtLDU5KTt2YXIgYj1WMChtKTtpZihzbChtKSl2YXIgTj0wLGo9MDtlbHNle3ZhciBJPXUyKG0sSzIpLEY9cShtKTtlOnt0OmlmKHR5cGVvZiBGPT1cIm51bWJlclwiKXtpZihGIT09ODcpe2lmKDEwPD1GKWJyZWFrIHQ7c3dpdGNoKEYpe2Nhc2UgMDpjYXNlIDI6Y2FzZSAzOmNhc2UgNDpjYXNlIDY6YnJlYWsgdH19dmFyIE09MDticmVhayBlfXZhciBNPTF9ZTp7aWYoIUkmJiFNKXt2YXIgej0wO2JyZWFrIGV9dmFyIHo9WzAsenQobSldfXZhciBOPUksaj16fXZhciBCPWo/MDpMMChtKSxLPVlyKFQsYik7cmV0dXJuWzM4LFswLGosWihbMCxoXSxbMCxCXSxPKSxOLEtdXX0seCldO2JyZWFrIHJ9aWYoaSE9PTk5KWJyZWFrIHJ9ZWxzZSBpZihpIT09NCYmMjI+aSlicmVhayByO2JyZWFrIHh9aWYoIXUpcmV0dXJuIGQoazRbMV0seCl9eDp7aWYoaT09PTY1JiZBMih4KSYmeHIoMSx4KT09PTk5KXt2YXIgYz1rNFsyXSx2PSRYO2JyZWFrIHh9dmFyIGM9JFgsdj1rNFsyXX12YXIgYT1mQyh4LHYpO2lmKGEpcmV0dXJuIGFbMV07dmFyIGw9ZkMoeCxjKTtyZXR1cm4gbD9sWzFdOmQoazRbMV0seCl9ZnVuY3Rpb24genQoeCl7cmV0dXJuIG8xKHgsaDQoeCkpfWZ1bmN0aW9uIERYKHgpe3ZhciByPXhbMl07c3dpdGNoKHJbMF0pe2Nhc2UgMjQ6dmFyIGU9clsxXSx0PWVbMV1bMl1bMV07aWYoUCh0LFgxKSl7aWYoIVAodCxydikmJiFQKGVbMl1bMl1bMV0sVW0pKXJldHVybiAwfWVsc2UgaWYoIVAoZVsyXVsyXVsxXSxYbCkpcmV0dXJuIDA7YnJlYWs7Y2FzZSAxMDpjYXNlIDIzOmJyZWFrO2RlZmF1bHQ6cmV0dXJuIDB9cmV0dXJuIDF9ZnVuY3Rpb24gRlgoeCl7dmFyIHI9VjAoeCksZT14MCgwLGJoLHgpLHQ9ZVsyXSx1PWVbMV0saT1xKHgpO3g6e2lmKHR5cGVvZiBpPT1cIm51bWJlclwiJiZpPT09ODUpe3ZhciB2PXpOKF9oWzNdLDEseCx0LHUpO2JyZWFrIHh9dmFyIGM9SDAoX2hbMV0seCx0LHUpLHY9SDAoX2hbMl0seCxjWzJdLGNbMV0pfXZhciBhPXZbMl07aWYocSh4KSE9PTg2KXJldHVybiBhO0UwKHgpO3ZhciBsPXp0KGU0KDAseCkpO0ooeCw4Nyk7dmFyIG09eDAoWzAscl0senQseCksaD1tWzJdLFQ9bVsxXTtyZXR1cm5bMCxbMCxULFs4LFswLG8xKHgsYSksbCxoLDBdXV1dfWZ1bmN0aW9uIGJoKHgpe3JldHVybiBwKFBYWzFdLHgsMCl9ZnVuY3Rpb24gUlgoeCl7dmFyIHI9cSh4KTtpZih0eXBlb2Ygcj09XCJudW1iZXJcIil7aWYoNDk8PXIpe2lmKEJlPD1yKXtpZihlYT5yKXN3aXRjaChyK0Y5fDApe2Nhc2UgMDpyZXR1cm4gUXYwO2Nhc2UgMTpyZXR1cm4gSHYwO2Nhc2UgNjpyZXR1cm4gWnYwO2Nhc2UgNzpyZXR1cm4geDMwfX1lbHNlIGlmKHI9PT02NiYmeFsxOV0pcmV0dXJuIHhbMTBdJiZVeCh4LDYpLHIzMH1lbHNlIGlmKDQ2PD1yKXN3aXRjaChyK0phfDApe2Nhc2UgMDpyZXR1cm4gZTMwO2Nhc2UgMTpyZXR1cm4gdDMwO2RlZmF1bHQ6cmV0dXJuIG4zMH19cmV0dXJuIDB9ZnVuY3Rpb24gTFgoeCl7dmFyIHI9VjAoeCksZT11MCh4KSx0PVJYKHgpO2lmKHQpe3ZhciB1PXRbMV07RTAoeCk7dmFyIGk9eDAoWzAscl0sTVgseCksYz1pWzJdLHY9aVsxXTt4OnI6aWYodT09PTYpe3ZhciBhPWNbMl07c3dpdGNoKGFbMF0pe2Nhc2UgMTA6aHQoeCxbMCx2LDY4XSk7YnJlYWs7Y2FzZSAyMzphWzFdWzJdWzBdPT09MSYmcTAoeCxbMCx2LDYyXSk7YnJlYWs7ZGVmYXVsdDpicmVhayByfWJyZWFrIHh9cmV0dXJuWzAsWzAsdixbMzYsWzAsdSxjLFooWzAsZV0sMCxPKV1dXV19dmFyIGw9cSh4KTt4OntpZih0eXBlb2YgbD09XCJudW1iZXJcIil7aWYoZWE9PT1sKXt2YXIgbT1pMzA7YnJlYWsgeH1pZihUZT09PWwpe3ZhciBtPXUzMDticmVhayB4fX12YXIgbT0wfWlmKG0pe3ZhciBoPW1bMV07RTAoeCk7dmFyIFQ9eDAoWzAscl0sTVgseCksYj1UWzJdLE49VFsxXTsxLURYKGIpJiZxMCh4LFswLGJbMV0sMzZdKTt2YXIgaj1iWzJdO3g6aWYoalswXT09PTEwJiZQdihqWzFdWzJdWzFdKSl7SWUoeCw3Myk7YnJlYWsgeH1yZXR1cm5bMCxbMCxOLFszNyxbMCxoLGIsMSxaKFswLGVdLDAsTyldXV1dfXZhciBJPXFYKHgpO2lmKE4xKHgpKXJldHVybiBJO3ZhciBGPXEoeCk7eDp7aWYodHlwZW9mIEY9PVwibnVtYmVyXCIpe2lmKGVhPT09Ril7dmFyIE09YzMwO2JyZWFrIHh9aWYoVGU9PT1GKXt2YXIgTT1mMzA7YnJlYWsgeH19dmFyIE09MH1pZighTSlyZXR1cm4gSTt2YXIgej1NWzFdLEI9bzEoeCxJKTsxLURYKEIpJiZxMCh4LFswLEJbMV0sMzZdKTt2YXIgSz1CWzJdO3g6aWYoS1swXT09PTEwJiZQdihLWzFdWzJdWzFdKSl7SWUoeCw3Mik7YnJlYWsgeH12YXIgbjA9VjAoeCk7RTAoeCk7dmFyICQ9TDAoeCksSD1ZcihCWzFdLG4wKTtyZXR1cm5bMCxbMCxILFszNyxbMCx6LEIsMCxaKDAsWzAsJF0sTyldXV1dfWZ1bmN0aW9uIE1YKHgpe3JldHVybiBvMSh4LExYKHgpKX1mdW5jdGlvbiBxWCh4KXt2YXIgcj1WMCh4KSxlPTEteFsxN10sdD0wLHU9eFsxN109PT0wP3g6WzAseFsxXSx4WzJdLHhbM10seFs0XSx4WzVdLHhbNl0seFs3XSx4WzhdLHhbOV0seFsxMF0seFsxMV0seFsxMl0seFsxM10seFsxNF0seFsxNV0seFsxNl0sdCx4WzE4XSx4WzE5XSx4WzIwXSx4WzIxXSx4WzIyXSx4WzIzXSx4WzI0XSx4WzI1XSx4WzI2XSx4WzI3XSx4WzI4XSx4WzI5XSx4WzMwXSx4WzMxXV0saT1xKHUpO3g6e3I6aWYodHlwZW9mIGk9PVwibnVtYmVyXCIpe3ZhciBjPWkrbkF8MDtpZig3Pj1jPj4+MCl7c3dpdGNoKGMpe2Nhc2UgMDppZighZSlicmVhayByO3ZhciB2PVswLFhYKHUpXTticmVhaztjYXNlIDY6dmFyIHY9WzAseDAoMCxmdW5jdGlvbihtKXt2YXIgaD11MChtKSxUPVYwKG0pO2lmKEoobSw1MSksdTIobSwxMCkpe3ZhciBiPW1uKDAsWzAsVCx2MzBdKSxOPVYwKG0pO3lzKG0sbDMwKTt2YXIgaj1tbigwLFswLE4scDMwXSk7cmV0dXJuWzI0LFswLGIsaixaKFswLGhdLFswLEwwKG0pXSxPKV1dfXZhciBJPXUwKG0pO0oobSw0KTt2YXIgRj1WWChbMCxJXSwwLHp0KGU0KDAsbSkpKTtyZXR1cm4gSihtLDUpLFsxMSxbMCxGLFooWzAsaF0sWzAsTDAobSldLE8pXV19LHUpXTticmVhaztjYXNlIDc6dmFyIHY9WzAsVVgodSldO2JyZWFrO2RlZmF1bHQ6YnJlYWsgcn12YXIgYT12O2JyZWFrIHh9fXZhciBhPXNvKHUpP1swLHpYKHUpXTpLWCh1KX1yZXR1cm4gbG8oMCwwLHUscixhKX1mdW5jdGlvbiBOQyh4KXtyZXR1cm4gbzEoeCxxWCh4KSl9ZnVuY3Rpb24gVVgoeCl7c3dpdGNoKHhbMjJdKXtjYXNlIDA6dmFyIHI9MCxlPTA7YnJlYWs7Y2FzZSAxOnZhciByPTAsZT0xO2JyZWFrO2RlZmF1bHQ6dmFyIHI9MSxlPTF9dmFyIHQ9VjAoeCksdT11MCh4KTtKKHgsNTIpO3ZhciBpPVswLHQsWzMwLFswLFooWzAsdV0sWzAsTDAoeCldLE8pXV1dLGM9cSh4KTtpZih0eXBlb2YgYz09XCJudW1iZXJcIiYmMTE+Yylzd2l0Y2goYyl7Y2FzZSA0OnZhciB2PXI/aToocTAoeCxbMCx0LHkyXSksWzAsdCxbMTAsbW4oMCxbMCx0LHMzMF0pXV0pO3JldHVybiBCWCgwLHgsdCx2KTtjYXNlIDY6Y2FzZSAxMDp2YXIgYT1lP2k6KHEwKHgsWzAsdCw5OV0pLFswLHQsWzEwLG1uKDAsWzAsdCxvMzBdKV1dKTtyZXR1cm4gQlgoMCx4LHQsYSl9cmV0dXJuIGU/cDIoYTMwLHgpOnEwKHgsWzAsdCw5OV0pLGl9ZnVuY3Rpb24gbG8oeCxyLGUsdCx1KXt2YXIgaT14P3hbMV06MSxjPXI/clsxXTowLHY9WVgoWzAsaV0sWzAsY10sZSx0LHUpLGE9cEIoZSk7eDp7aWYoYSl7dmFyIGw9YVsxXTtpZih0eXBlb2YgbD09XCJudW1iZXJcIiYmbD09PTg0KXt2YXIgbT0xO2JyZWFrIHh9fXZhciBtPTB9ZnVuY3Rpb24gaChqKXt2YXIgST1GMihqKVsyXTtyZXR1cm4gcChJLG8xKGosdiksZnVuY3Rpb24oRixNKXtyZXR1cm4gcChCeChGLGp0LDkzKSxGLE0pfSl9ZnVuY3Rpb24gVChqLEksRil7dmFyIE09VGgoSSksej1NWzFdLEI9TVsyXSxLPVlyKHQseiksbjA9WzAsRixqLFswLHosQl0sMF07eDp7aWYoIW0mJiFjKXt2YXIgJD1bNixuMF07YnJlYWsgeH12YXIgJD1bMjcsWzAsbjAsSyxtXV19dmFyIEg9Y3x8bTtyZXR1cm4gbG8oWzAsaV0sWzAsSF0sSSx0LFswLFswLEssJF1dKX1pZihlWzEzXSlyZXR1cm4gdjt2YXIgYj1xKGUpO2lmKHR5cGVvZiBiPT1cIm51bWJlclwiKXt2YXIgTj1iLTk5fDA7aWYoMjxOPj4+MCl7aWYoTj09PS05NSlyZXR1cm4gVCgwLGUsaChlKSl9ZWxzZSBpZihOIT09MSYmQTIoZSkpcmV0dXJuIGZoKHJoKGZ1bmN0aW9uKGosSSl7dGhyb3cgVzAoZ3MsMSl9LGUpLHYsZnVuY3Rpb24oail7dmFyIEk9aChqKTtyZXR1cm4gVChqQyhqKSxqLEkpfSl9cmV0dXJuIHZ9ZnVuY3Rpb24gQlgoeCxyLGUsdCl7dmFyIHU9eD94WzFdOjE7cmV0dXJuIG8xKHIsbG8oWzAsdV0sMCxyLGUsWzAsdF0pKX1mdW5jdGlvbiBYWCh4KXtyZXR1cm4geDAoMCxmdW5jdGlvbihyKXt2YXIgZT1WMChyKSx0PXUwKHIpO2lmKEoociw0NSksclsxMV0mJnEocik9PT0xMCl7dmFyIHU9TDAocik7RTAocik7dmFyIGk9bW4oWihbMCx0XSxbMCx1XSxPKSxbMCxlLGszMF0pLGM9cShyKTtyZXR1cm4gdHlwZW9mIGMhPVwibnVtYmVyXCImJmNbMF09PT00JiYhUChjWzNdLFVtKT9bMjQsWzAsaSxwKFgwWzEzXSwwLHIpLDBdXToocDIobTMwLHIpLEUwKHIpLFsxMCxpXSl9dmFyIHY9VjAociksYT1xKHIpO3g6e2lmKHR5cGVvZiBhPT1cIm51bWJlclwiKXtpZihhPT09NDUpe3ZhciBsPVhYKHIpO2JyZWFrIHh9aWYoYT09PTUyKXt2YXIgbD1VWChyQygxLHIpKTticmVhayB4fX12YXIgbD1zbyhyKT96WChyKTpvMShyLEtYKHIpKX12YXIgbT1yQygxLHIpLGg9bzEobSxZWChbMCxoMzBbMV1dLDAsbSx2LFswLGxdKSksVD1xKHIpO3g6e2lmKHR5cGVvZiBUIT1cIm51bWJlclwiJiZUWzBdPT09Myl7dmFyIGI9V1gocix2LGgsVFsxXSk7YnJlYWsgeH12YXIgYj1ofXg6e3I6aWYocShyKSE9PTQpe2lmKEEyKHIpJiZxKHIpPT09OTkpYnJlYWsgcjt2YXIgTj1iO2JyZWFrIHh9dmFyIE49cChGMihyKVsyXSxiLGZ1bmN0aW9uKE0seil7cmV0dXJuIHAoQngoTSxqdCw5NCksTSx6KX0pfXZhciBqPUEyKHIpP2ZoKHJoKGZ1bmN0aW9uKE0seil7dGhyb3cgVzAoZ3MsMSl9LHIpLDAsakMpOjAsST1xKHIpO3g6e2lmKHR5cGVvZiBJPT1cIm51bWJlclwiJiZJPT09NCl7dmFyIEY9WzAsVGgocildO2JyZWFrIHh9dmFyIEY9MH1yZXR1cm5bMjUsWzAsTixqLEYsWihbMCx0XSwwLE8pXV19LHgpfWZ1bmN0aW9uIGpDKHgpe1YyKHgsMSk7dmFyIHI9cSh4KT09PTk5P1swLHgwKDAsSVhbMV0seCldOjA7cmV0dXJuIFoyKHgpLHJ9ZnVuY3Rpb24gVGgoeCl7cmV0dXJuIHgwKDAsZnVuY3Rpb24ocil7dmFyIGU9dTAocik7SihyLDQpO3ZhciB0PXAoTlhbMV0sciwwKSx1PXUwKHIpO3JldHVybiBKKHIsNSksWzAsdCxPMihbMCxlXSxbMCxMMChyKV0sdSxPKV19LHgpfWZ1bmN0aW9uIFlYKHgscixlLHQsdSl7dmFyIGk9eD94WzFdOjEsYz1yP3JbMV06MCx2PXEoZSk7aWYodHlwZW9mIHY9PVwibnVtYmVyXCIpc3dpdGNoKHYpe2Nhc2UgNjpyZXR1cm4gRTAoZSksUDYobTRbMV0sWzAsaV0sWzAsY10sMCxlLHQsdSk7Y2FzZSAxMDpyZXR1cm4gRTAoZSksUDYobTRbMl0sWzAsaV0sWzAsY10sMCxlLHQsdSk7Y2FzZSA4NDoxLWkmJlV4KGUsNTkpLEooZSw4NCk7dmFyIGE9cShlKTtpZih0eXBlb2YgYT09XCJudW1iZXJcIilzd2l0Y2goYSl7Y2FzZSA0OnJldHVybiB1O2Nhc2UgNjpyZXR1cm4gRTAoZSksUDYobTRbMV0sWzAsaV0seTMwLGQzMCxlLHQsdSk7Y2FzZSA5OTppZihBMihlKSlyZXR1cm4gdTticmVha31lbHNlIGlmKGFbMF09PT0zKXJldHVybiBVeChlLDYwKSx1O3JldHVybiBQNihtNFsyXSxbMCxpXSx3MzAsZzMwLGUsdCx1KX1lbHNlIGlmKHZbMF09PT0zKXt2YXIgbD12WzFdO3JldHVybiBjJiZVeChlLDYwKSxsbyhfMzAsMCxlLHQsWzAsV1goZSx0LG8xKGUsdSksbCldKX1yZXR1cm4gdX1mdW5jdGlvbiB6WCh4KXtyZXR1cm4geDAoMCxmdW5jdGlvbihyKXt2YXIgZT1naChyKSx0PWVbMV0sdT1lWzJdLGk9eDAoMCxmdW5jdGlvbihGKXt2YXIgTT11MChGKTtKKEYsMTUpO3ZhciB6PUZ2KEYpLEI9elsxXSxLPU82KFswLHUsWzAsTSxbMCx6WzJdLDBdXV0pO2lmKHEoRik9PT00KXZhciBuMD0wLCQ9MDtlbHNle3ZhciBIPXEoRik7eDp7aWYodHlwZW9mIEg9PVwibnVtYmVyXCImJkg9PT05OSl7dmFyIGMwPTA7YnJlYWsgeH12YXIgdDA9UWooQixIaih0LEYpKSxjMD1bMCxYdCh0MCxwKFgwWzEzXSxiMzAsdDApKV19dmFyIG4wPVExKEYsSGUoRikpLCQ9YzB9dmFyIHIwPVN2KDAsRiksdjA9dHx8cjBbMTldLGEwPXBsKHYwLEIpKHIwKSxnMD1xKHIwKT09PTg3P2EwOmk0KHIwLGEwKSxpMD1iQyhyMCksczA9aTBbMl0sZDA9aTBbMV07aWYoczApdmFyIHcwPVNCKHIwLHMwKSxNMD1kMDtlbHNlIHZhciB3MD1zMCxNMD1hbChyMCxkMCk7cmV0dXJuWzAsJCxnMCxCLHcwLE0wLG4wLEtdfSxyKSxjPWlbMl0sdj1jWzNdLGE9Y1syXSxsPWNbMV0sbT1jWzddLGg9Y1s2XSxUPWNbNV0sYj1jWzRdLE49aVsxXSxqPWw0KHIsdCx2LDEsanYoYSkpLEk9alsxXTtyZXR1cm4gbGwocixqWzJdLGwsYSksWzksWzAsbCxhLEksdCx2LDEsYixULGgsWihbMCxtXSwwLE8pLE5dXX0seCl9ZnVuY3Rpb24gQ0MoeCxyLGUpe3N3aXRjaChyKXtjYXNlIDE6SWUoeCw3Nik7dHJ5e3ZhciB0PVFtKG92KHF4KFQzMCxlKSkpLHU9dH1jYXRjaChUKXt2YXIgaT1VMihUKTtpZihpWzFdIT09dm4pdGhyb3cgVzAoaSwwKTt2YXIgdT1UeChxeChFMzAsZSkpfWJyZWFrO2Nhc2UgMjpJZSh4LDc1KTt0cnl7dmFyIGM9ak4oZSksdT1jfWNhdGNoKFQpe3ZhciB2PVUyKFQpO2lmKHZbMV0hPT12bil0aHJvdyBXMCh2LDApO3ZhciB1PVR4KHF4KFMzMCxlKSl9YnJlYWs7Y2FzZSA0OnRyeXt2YXIgYT1qTihlKSx1PWF9Y2F0Y2goVCl7dmFyIGw9VTIoVCk7aWYobFsxXSE9PXZuKXRocm93IFcwKGwsMCk7dmFyIHU9VHgocXgoQTMwLGUpKX1icmVhaztkZWZhdWx0OnRyeXt2YXIgbT1RbShvdihlKSksdT1tfWNhdGNoKFQpe3ZhciBoPVUyKFQpO2lmKGhbMV0hPT12bil0aHJvdyBXMChoLDApO3ZhciB1PVR4KHF4KFAzMCxlKSl9fXJldHVybiBKKHgsWzAscixlXSksdX1mdW5jdGlvbiBPQyh4LHIsZSl7dmFyIHQ9TngoZSk7eDp7aWYodCE9PTAmJnoxPT09cTIoZSx0LTF8MCkpe3ZhciB1PVQxKGUsMCx0LTF8MCk7YnJlYWsgeH12YXIgdT1lfXZhciBpPXJxKHUpO3JldHVybiBKKHgsWzEscixlXSksaX1mdW5jdGlvbiBLWCh4KXt2YXIgcj1WMCh4KSxlPXUwKHgpLHQ9cSh4KTtpZih0eXBlb2YgdD09XCJudW1iZXJcIilzd2l0Y2godCl7Y2FzZSAwOnZhciB1PWQoWDBbMTJdLHgpO3JldHVyblsxLFswLHVbMV0sWzI2LHVbMl1dXSx1WzNdXTtjYXNlIDQ6dmFyIGk9dTAoeCksYz14MCgwLGZ1bmN0aW9uKFUpe0ooVSw0KTt2YXIgaDA9VjAoVSksXzA9enQoVSksbTA9cShVKTt4OntpZih0eXBlb2YgbTA9PVwibnVtYmVyXCIpe2lmKG0wPT09OSl7dmFyIFQwPVswLERDKFUsaDAsWzAsXzAsMF0pXTticmVhayB4fWlmKG0wPT09ODcpe3ZhciBUMD1bMSxbMCxfMCxEdihVKSwwXV07YnJlYWsgeH19dmFyIFQwPVswLF8wXX1yZXR1cm4gSihVLDUpLFQwfSx4KSx2PWNbMl0sYT1jWzFdLGw9TDAoeCksbT12WzBdPT09MD92WzFdOlswLGEsWzM0LHZbMV1dXTtyZXR1cm5bMCxWWChbMCxpXSxbMCxsXSxtKV07Y2FzZSA2OnZhciBoPXgwKDAsX1QwLHgpLFQ9aFsyXTtyZXR1cm5bMSxbMCxoWzFdLFswLFRbMV1dXSxUWzJdXTtjYXNlIDIxOmlmKHhbMjhdWzNdJiYhSXYoMSx4KSYmeHIoMSx4KT09PTQpe3ZhciBiPXUwKHgpLE49VjAoeCksaj1wKFgwWzEzXSwwLHgpLEk9VGgoeCksRj1JWzJdLE09SVsxXTtpZighTjEoeCkmJnEoeCk9PT0wKXt2YXIgej1GWzFdO2lmKHope3ZhciBCPXpbMV07aWYoQlswXT09PTAmJiF6WzJdKXJldHVyblswLEpYKHgsTixiLEJbMV0pXX1yZXR1cm4gcTAoeCxbMCxNLDQ5XSksWzAsSlgoeCxOLGIsWzAsTSxJMzBdKV19dmFyIEs9WzAsalsxXSxbMTAsal1dLG4wPVlyKE4sTSk7cmV0dXJuIGxvKGozMCxOMzAseCxOLFswLFswLG4wLFs2LFswLEssMCxbMCxNLEZdLFooWzAsYl0sMCxPKV1dXV0pfWJyZWFrO2Nhc2UgMjI6cmV0dXJuIEUwKHgpLFswLFswLHIsWzMzLFswLFooWzAsZV0sWzAsTDAoeCldLE8pXV1dXTtjYXNlIDMwOnJldHVybiBFMCh4KSxbMCxbMCxyLFsxNixaKFswLGVdLFswLEwwKHgpXSxPKV1dXTtjYXNlIDQxOnJldHVyblswLGQoWDBbMjJdLHgpXTtjYXNlIDk5OnZhciAkPWQoWDBbMTddLHgpLEg9JFsyXSx0MD0kWzFdLGMwPXRuPD1IWzFdP1sxMyxIWzJdXTpbMTIsSFsyXV07cmV0dXJuWzAsWzAsdDAsYzBdXTtjYXNlIDMxOmNhc2UgMzI6cmV0dXJuIEUwKHgpLFswLFswLHIsWzE1LFswLHQ9PT0zMj8xOjAsWihbMCxlXSxbMCxMMCh4KV0sTyldXV1dO2Nhc2UgNzU6Y2FzZSAxMDY6VjIoeCw1KTt2YXIgcjA9VjAoeCksdjA9dTAoeCksYTA9cSh4KTt4OntpZih0eXBlb2YgYTAhPVwibnVtYmVyXCImJmEwWzBdPT09NSl7dmFyIGcwPWEwWzNdLGkwPWEwWzJdO0UwKHgpO3ZhciBzMD1MMCh4KSxkMD1zMCx3MD1nMCxNMD1pMCxDMD1xeChEMzAscXgoaTAscXgoTzMwLGcwKSkpO2JyZWFrIHh9cDIoRjMwLHgpO3ZhciBkMD0wLHcwPVIzMCxNMD1MMzAsQzA9TTMwfVoyKHgpO3ZhciBEMD0kcihOeCh3MCkpO0ViMChmdW5jdGlvbihVKXt2YXIgaDA9VStEOXwwO2lmKDIxPj1oMD4+PjApc3dpdGNoKGgwKXtjYXNlIDA6Y2FzZSAzOmNhc2UgNTpjYXNlIDk6Y2FzZSAxNTpjYXNlIDE3OmNhc2UgMTg6Y2FzZSAyMTpyZXR1cm4gbHQoRDAsVSl9fSx3MCk7dmFyIEkwPUcyKEQwKTtyZXR1cm4gUChJMCx3MCkmJlV4KHgsWzE5LHcwXSksWzAsWzAscjAsWzE5LFswLE0wLEkwLEMwLFooWzAsdjBdLFswLGQwXSxPKV1dXV19ZWxzZSBzd2l0Y2godFswXSl7Y2FzZSAwOnZhciBqMD10WzJdLHkwPUNDKHgsdFsxXSxqMCk7cmV0dXJuWzAsWzAscixbMTcsWzAseTAsajAsWihbMCxlXSxbMCxMMCh4KV0sTyldXV1dO2Nhc2UgMTp2YXIgWTA9dFsyXSxMPU9DKHgsdFsxXSxZMCk7cmV0dXJuWzAsWzAscixbMTgsWzAsTCxZMCxaKFswLGVdLFswLEwwKHgpXSxPKV1dXV07Y2FzZSAyOnZhciBOMD10WzFdLFMwPU4wWzNdLEswPU4wWzJdLEEwPU4wWzFdO04wWzRdJiZJZSh4LDc2KSxFMCh4KTt2YXIgJDA9WihbMCxlXSxbMCxMMCh4KV0sTyksZXg9eFsyOF0seHg9ZXhbN10sdHg9ZXhbOF07eDp7aWYoeHgpe3ZhciB6MD14eFsxXTtpZihRTSh6MCxLMCkpe3ZhciBzeD1bMjAsWzAsSzAsQTAsTngoejApLDAsUzAsJDBdXTticmVhayB4fX1pZih0eCl7dmFyIHB4PXR4WzFdO2lmKFFNKHB4LEswKSl7dmFyIHN4PVsyMCxbMCxLMCxBMCxOeChweCksMSxTMCwkMF1dO2JyZWFrIHh9fXZhciBzeD1bMTQsWzAsSzAsUzAsJDBdXX1yZXR1cm5bMCxbMCxBMCxzeF1dO2Nhc2UgMzp2YXIgUT1HWCh4LHRbMV0pO3JldHVyblswLFswLFFbMV0sWzMyLFFbMl1dXV07Y2FzZSA0OmlmKCFQKHRbM10sbEEpJiZ4cigxLHgpPT09NDEpcmV0dXJuWzAsZChYMFsyMl0seCldO2JyZWFrfWlmKGRuKHgpKXt2YXIgYjA9cChYMFsxM10sMCx4KTtyZXR1cm5bMCxbMCxiMFsxXSxbMTAsYjBdXV19cDIoMCx4KTt4OmlmKHR5cGVvZiB0IT1cIm51bWJlclwiJiZ0WzBdPT09Nyl7RTAoeCk7YnJlYWsgeH1yZXR1cm5bMCxbMCxyLFsxNixaKFswLGVdLEMzMCxPKV1dXX1mdW5jdGlvbiBKWCh4LHIsZSx0KXtmdW5jdGlvbiB1KGkpe3ZhciBjPXUwKGkpLHY9ZChYMFsyN10saSksYT11MihpLDE2KT9bMCxkKFgwWzddLGkpXTowO0ooaSw4Nyk7dmFyIGw9enQoaSksbT1xKGkpO3g6e3I6aWYodHlwZW9mIG09PVwibnVtYmVyXCIpe2lmKG0hPT0xJiZtciE9PW0pYnJlYWsgcjticmVhayB4fUooaSw5KX1yZXR1cm5bMCx2LGwsYSxaKFswLGNdLFswLEwwKGkpXSxPKV19cmV0dXJuIHgwKFswLHJdLGZ1bmN0aW9uKGkpe0ooaSwwKTtmb3IodmFyIGM9MDs7KXt2YXIgdj1xKGkpO3g6aWYodHlwZW9mIHY9PVwibnVtYmVyXCIpe2lmKHYhPT0xJiZtciE9PXYpYnJlYWsgeDt2YXIgYT1peChjKTtyZXR1cm4gSihpLDEpLFsyMixbMCx0LGEsWihbMCxlXSxbMCxMMChpKV0sTyldXX12YXIgYz1bMCx4MCgwLHUsaSksY119fSx4KX1mdW5jdGlvbiBHWCh4LHIpe3ZhciBlPXJbNV0sdD1yWzFdLHU9clszXSxpPXJbMl0sYz11MCh4KTtKKHgsWzMscl0pO3ZhciB2PVswLHQsWzAsWzAsdSxpXSxlXV07aWYoZSl2YXIgbD0wLG09WzAsdiwwXSxoPXQ7ZWxzZSB2YXIgYT1IMChqWFsxXSx4LFswLHYsMF0sMCksbD1hWzNdLG09YVsyXSxoPWFbMV07dmFyIFQ9TDAoeCksYj1Zcih0LGgpO3JldHVyblswLGIsWzAsbSxsLFooWzAsY10sWzAsVF0sTyldXX1mdW5jdGlvbiBXWCh4LHIsZSx0KXt2YXIgdT1wKEYyKHgpWzJdLGUsZnVuY3Rpb24oYyx2KXtyZXR1cm4gcChCeChjLGp0LDMpLGMsdil9KSxpPUdYKHgsdCk7cmV0dXJuWzAsWXIocixpWzFdKSxbMzEsWzAsdSxpLDBdXV19ZnVuY3Rpb24gVlgoeCxyLGUpe3ZhciB0PXg/eFsxXTowLHU9cj9yWzFdOjAsaT1lWzJdO2Z1bmN0aW9uIGMob3gpe3JldHVybiBTMShveCxaKFswLHRdLFswLHVdLE8pKX1mdW5jdGlvbiB2KG94KXtyZXR1cm4gUzUob3gsWihbMCx0XSxbMCx1XSxPKSl9dmFyIGE9ZVsxXTtzd2l0Y2goaVswXSl7Y2FzZSAwOnZhciBsPWlbMV0sbT12KGxbMl0pLFUwPVswLFswLGxbMV0sbV1dO2JyZWFrO2Nhc2UgMTp2YXIgaD1pWzFdLFQ9aFsxMV0sYj1jKGhbMTBdKSxVMD1bMSxbMCxoWzFdLGhbMl0saFszXSxoWzRdLGhbNV0saFs2XSxoWzddLGhbOF0saFs5XSxiLFRdXTticmVhaztjYXNlIDI6dmFyIE49aVsxXSxqPWMoTlsyXSksVTA9WzIsWzAsTlsxXSxqXV07YnJlYWs7Y2FzZSAzOnZhciBJPWlbMV0sRj1jKElbM10pLFUwPVszLFswLElbMV0sSVsyXSxGXV07YnJlYWs7Y2FzZSA0OnZhciBNPWlbMV0sej1jKE1bNF0pLFUwPVs0LFswLE1bMV0sTVsyXSxNWzNdLHpdXTticmVhaztjYXNlIDU6dmFyIEI9aVsxXSxLPWMoQls0XSksVTA9WzUsWzAsQlsxXSxCWzJdLEJbM10sS11dO2JyZWFrO2Nhc2UgNjp2YXIgbjA9aVsxXSwkPWMobjBbNF0pLFUwPVs2LFswLG4wWzFdLG4wWzJdLG4wWzNdLCRdXTticmVhaztjYXNlIDc6dmFyIEg9aVsxXSx0MD1jKEhbN10pLFUwPVs3LFswLEhbMV0sSFsyXSxIWzNdLEhbNF0sSFs1XSxIWzZdLHQwXV07YnJlYWs7Y2FzZSA4OnZhciBjMD1pWzFdLHIwPWMoYzBbNF0pLFUwPVs4LFswLGMwWzFdLGMwWzJdLGMwWzNdLHIwXV07YnJlYWs7Y2FzZSA5OnZhciB2MD1pWzFdLGEwPXYwWzExXSxnMD1jKHYwWzEwXSksVTA9WzksWzAsdjBbMV0sdjBbMl0sdjBbM10sdjBbNF0sdjBbNV0sdjBbNl0sdjBbN10sdjBbOF0sdjBbOV0sZzAsYTBdXTticmVhaztjYXNlIDEwOnZhciBpMD1pWzFdLHMwPWkwWzJdLGQwPWkwWzFdLHcwPWMoczBbMl0pLFUwPVsxMCxbMCxkMCxbMCxzMFsxXSx3MF1dXTticmVhaztjYXNlIDExOnZhciBNMD1pWzFdLEMwPWMoTTBbMl0pLFUwPVsxMSxbMCxNMFsxXSxDMF1dO2JyZWFrO2Nhc2UgMTI6dmFyIEQwPWlbMV0sSTA9YyhEMFs0XSksVTA9WzEyLFswLEQwWzFdLEQwWzJdLEQwWzNdLEkwXV07YnJlYWs7Y2FzZSAxMzp2YXIgajA9aVsxXSx5MD1jKGowWzRdKSxVMD1bMTMsWzAsajBbMV0sajBbMl0sajBbM10seTBdXTticmVhaztjYXNlIDE0OnZhciBZMD1pWzFdLEw9YyhZMFszXSksVTA9WzE0LFswLFkwWzFdLFkwWzJdLExdXTticmVhaztjYXNlIDE1OnZhciBOMD1pWzFdLFMwPWMoTjBbMl0pLFUwPVsxNSxbMCxOMFsxXSxTMF1dO2JyZWFrO2Nhc2UgMTY6dmFyIFUwPVsxNixjKGlbMV0pXTticmVhaztjYXNlIDE3OnZhciBLMD1pWzFdLEEwPWMoSzBbM10pLFUwPVsxNyxbMCxLMFsxXSxLMFsyXSxBMF1dO2JyZWFrO2Nhc2UgMTg6dmFyICQwPWlbMV0sZXg9YygkMFszXSksVTA9WzE4LFswLCQwWzFdLCQwWzJdLGV4XV07YnJlYWs7Y2FzZSAxOTp2YXIgeHg9aVsxXSx0eD1jKHh4WzRdKSxVMD1bMTksWzAseHhbMV0seHhbMl0seHhbM10sdHhdXTticmVhaztjYXNlIDIwOnZhciB6MD1pWzFdLHB4PWMoejBbNl0pLFUwPVsyMCxbMCx6MFsxXSx6MFsyXSx6MFszXSx6MFs0XSx6MFs1XSxweF1dO2JyZWFrO2Nhc2UgMjE6dmFyIHN4PWlbMV0sUT1jKHN4WzRdKSxVMD1bMjEsWzAsc3hbMV0sc3hbMl0sc3hbM10sUV1dO2JyZWFrO2Nhc2UgMjI6dmFyIGIwPWlbMV0sVT1jKGIwWzNdKSxVMD1bMjIsWzAsYjBbMV0sYjBbMl0sVV1dO2JyZWFrO2Nhc2UgMjM6dmFyIGgwPWlbMV0sXzA9YyhoMFszXSksVTA9WzIzLFswLGgwWzFdLGgwWzJdLF8wXV07YnJlYWs7Y2FzZSAyNDp2YXIgbTA9aVsxXSxUMD1jKG0wWzNdKSxVMD1bMjQsWzAsbTBbMV0sbTBbMl0sVDBdXTticmVhaztjYXNlIDI1OnZhciBYPWlbMV0sR3g9YyhYWzRdKSxVMD1bMjUsWzAsWFsxXSxYWzJdLFhbM10sR3hdXTticmVhaztjYXNlIDI2OnZhciBQeD1pWzFdLEcwPXYoUHhbMl0pLFUwPVsyNixbMCxQeFsxXSxHMF1dO2JyZWFrO2Nhc2UgMjc6dmFyIEtyPWlbMV0sUz1LclsxXSxHPUtyWzNdLHJ4PUtyWzJdLHl4PWMoU1s0XSksVTA9WzI3LFswLFswLFNbMV0sU1syXSxTWzNdLHl4XSxyeCxHXV07YnJlYWs7Y2FzZSAyODp2YXIgRXg9aVsxXSxueD1FeFsxXSxwMD1FeFszXSxGeD1FeFsyXSxTeD1jKG54WzNdKSxVMD1bMjgsWzAsWzAsbnhbMV0sbnhbMl0sU3hdLEZ4LHAwXV07YnJlYWs7Y2FzZSAyOTp2YXIgYng9aVsxXSxCMD1jKGJ4WzJdKSxVMD1bMjksWzAsYnhbMV0sQjBdXTticmVhaztjYXNlIDMwOnZhciBVMD1bMzAsWzAsYyhpWzFdWzFdKV1dO2JyZWFrO2Nhc2UgMzE6dmFyIFd4PWlbMV0sWXg9YyhXeFszXSksVTA9WzMxLFswLFd4WzFdLFd4WzJdLFl4XV07YnJlYWs7Y2FzZSAzMjp2YXIgYXg9aVsxXSxReD1jKGF4WzNdKSxVMD1bMzIsWzAsYXhbMV0sYXhbMl0sUXhdXTticmVhaztjYXNlIDMzOnZhciBVMD1bMzMsWzAsYyhpWzFdWzFdKV1dO2JyZWFrO2Nhc2UgMzQ6dmFyIGt4PWlbMV0sdHI9YyhreFszXSksVTA9WzM0LFswLGt4WzFdLGt4WzJdLHRyXV07YnJlYWs7Y2FzZSAzNTp2YXIgc3I9aVsxXSxNcj1jKHNyWzNdKSxVMD1bMzUsWzAsc3JbMV0sc3JbMl0sTXJdXTticmVhaztjYXNlIDM2OnZhciBhMj1pWzFdLF8yPWMoYTJbM10pLFUwPVszNixbMCxhMlsxXSxhMlsyXSxfMl1dO2JyZWFrO2Nhc2UgMzc6dmFyIGkyPWlbMV0sUTI9YyhpMls0XSksVTA9WzM3LFswLGkyWzFdLGkyWzJdLGkyWzNdLFEyXV07YnJlYWs7ZGVmYXVsdDp2YXIgang9aVsxXSxfPWp4WzRdLFY9anhbM10sbHg9YyhqeFsyXSksVTA9WzM4LFswLGp4WzFdLGx4LFYsX11dfXJldHVyblswLGEsVTBdfWZ1bmN0aW9uIF9UMCh4KXt2YXIgcj11MCh4KTtKKHgsNik7dmFyIGU9cChDWFsxXSx4LFswLDAsbG5dKSx0PWVbMl0sdT1lWzFdLGk9dTAoeCk7cmV0dXJuIEooeCw3KSxbMCxbMCx1LE8yKFswLHJdLFswLEwwKHgpXSxpLE8pXSx0XX1mdW5jdGlvbiAkWCh4KXt2YXIgcj1yaChJQ1sxXSx4KSxlPVYwKHIpO2lmKHhyKDEscik9PT0xMSl2YXIgdT0wLGk9MDtlbHNlIHZhciB0PWdoKHIpLHU9dFsyXSxpPXRbMV07dmFyIGM9aXx8clsxOV0sdj1IaihjLHIpLGE9dlsxOF0sbD14MCgwLGZ1bmN0aW9uKHMwKXt2YXIgZDA9UTEoczAsSGUoczApKTtpZihkbihzMCkmJmQwPT09MCl7dmFyIHcwPXAoWDBbMTNdLHEzMCxzMCksTTA9dzBbMV0sQzA9WzAsTTAsWzAsWzAsTTAsWzIsWzAsdzAsWzAsZGEoczApXSwwXV1dLDBdXTtyZXR1cm5bMCxkMCxbMCxNMCxbMCwwLFswLEMwLDBdLDAsMF1dLFswLFswLE0wWzFdLE0wWzNdLE0wWzNdXV0sMF19dmFyIEQwPXBsKGMsYSkoczApO2tYKHMwLEQwKTt2YXIgSTA9YkMoQXYoMSxzMCkpO3JldHVyblswLGQwLEQwLEkwWzFdLEkwWzJdXX0sdiksbT1sWzJdLGg9bVsyXSxUPWhbMl07eDp7cjp7dmFyIGI9bVs0XSxOPW1bM10saj1tWzFdLEk9bFsxXTtpZighVFsxXSl7dmFyIEY9VFsyXTtpZighVFszXSYmRilicmVhayByO3ZhciBNPWtCKHYpO2JyZWFrIHh9fXZhciBNPXZ9dmFyIHo9aFsyXSxCPXpbMV07aWYoQil7dmFyIEs9aFsxXTtxMChNLFswLEJbMV1bMV0sODZdKTt2YXIgbjA9WzAsSyxbMCwwLHpbMl0selszXSx6WzRdXV19ZWxzZSB2YXIgbjA9aDt2YXIgJD1qdihuMCksSD1OMShNKSx0MD1IJiYocShNKT09PTExPzE6MCk7dDAmJlV4KE0sNTUpLEooTSwxMSk7dmFyIGMwPW1CKGtCKE0pLGksMCwkKSxyMD14MCgwLElDWzJdLGMwKSx2MD1yMFsyXSxhMD12MFsxXSxnMD1yMFsxXTtsbChjMCx2MFsyXSwwLG4wKTt2YXIgaTA9WXIoZSxnMCk7cmV0dXJuWzAsWzAsaTAsWzEsWzAsMCxuMCxhMCxpLDAsMSxiLE4saixaKFswLHVdLDAsTyksSV1dXV19ZnVuY3Rpb24gREMoeCxyLGUpe3JldHVybiB4MChbMCxyXSxkKE9YWzFdLGUpLHgpfWZ1bmN0aW9uIFFYKHgpe3ZhciByPVYwKHgpLGU9RlgoeCksdD1xKHgpO3g6e2lmKHR5cGVvZiB0PT1cIm51bWJlclwiKXt2YXIgdT10LTY4fDA7aWYoMTU+PXU+Pj4wKXtzd2l0Y2godSl7Y2FzZSAwOnZhciBpPUZ2MDticmVhaztjYXNlIDE6dmFyIGk9UnYwO2JyZWFrO2Nhc2UgMjp2YXIgaT1MdjA7YnJlYWs7Y2FzZSAzOnZhciBpPU12MDticmVhaztjYXNlIDQ6dmFyIGk9cXYwO2JyZWFrO2Nhc2UgNTp2YXIgaT1VdjA7YnJlYWs7Y2FzZSA2OnZhciBpPUJ2MDticmVhaztjYXNlIDc6dmFyIGk9WHYwO2JyZWFrO2Nhc2UgODp2YXIgaT1ZdjA7YnJlYWs7Y2FzZSA5OnZhciBpPXp2MDticmVhaztjYXNlIDEwOnZhciBpPUt2MDticmVhaztjYXNlIDExOnZhciBpPUp2MDticmVhaztjYXNlIDEyOnZhciBpPUd2MDticmVhaztjYXNlIDEzOnZhciBpPVd2MDticmVhaztjYXNlIDE0OnZhciBpPVZ2MDticmVhaztkZWZhdWx0OnZhciBpPSR2MH12YXIgYz1pO2JyZWFrIHh9fXZhciBjPTB9aWYoYyE9PTAmJkUwKHgpLCFjKXJldHVybiBlO3ZhciB2PWNbMV07cmV0dXJuWzAseDAoWzAscl0sZnVuY3Rpb24oYSl7dmFyIGw9QUMoMCxhLGUpO3JldHVybls0LFswLHYsbCx6dChhKSwwXV19LHgpXX1mdW5jdGlvbiBiVDAoeCxyKXtpZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmcj09PTgwKXJldHVybiAwO3Rocm93IFcwKGdzLDEpfUZyKGs0LFswLFFYLGZ1bmN0aW9uKHgpe3ZhciByPXJoKGJUMCx4KSxlPVFYKHIpLHQ9cShyKTtpZih0eXBlb2YgdD09XCJudW1iZXJcIil7aWYodD09PTExKXRocm93IFcwKGdzLDEpO2lmKHQ9PT04Nyl7dmFyIHU9cEIocik7eDp7aWYodSl7dmFyIGk9dVsxXTtpZih0eXBlb2YgaT09XCJudW1iZXJcIiYmaT09PTUpe3ZhciBjPTE7YnJlYWsgeH19dmFyIGM9MH1pZihjKXRocm93IFcwKGdzLDEpfX1pZighZG4ocikpcmV0dXJuIGU7aWYoZVswXT09PTApe3ZhciB2PWVbMV1bMl07aWYodlswXT09PTEwJiYhUCh2WzFdWzJdWzFdLEthKSYmIU4xKHIpKXRocm93IFcwKGdzLDEpfXJldHVybiBlfV0pO2Z1bmN0aW9uIEZDKHgscixlLHQsdSl7dmFyIGk9bzEoeCxyKTtyZXR1cm5bMCxbMCx1LFsyMSxbMCx0LGksbzEoeCxlKSwwXV1dXX1mdW5jdGlvbiBSQyh4LHIsZSl7Zm9yKHZhciB0PXIsdT1lOzspe3ZhciBpPXEoeCk7aWYodHlwZW9mIGk9PVwibnVtYmVyXCImJmk9PT04OSl7RTAoeCk7dmFyIGM9eDAoMCxiaCx4KSx2PWNbMl0sYT1Zcih1LGNbMV0pLGw9TEMoMCx4LEZDKHgsdCx2LDEsYSksYSksdD1sWzJdLHU9bFsxXTtjb250aW51ZX1yZXR1cm5bMCx1LHRdfX1mdW5jdGlvbiBIWCh4LHIsZSl7Zm9yKHZhciB0PXIsdT1lOzspe3ZhciBpPXEoeCk7aWYodHlwZW9mIGk9PVwibnVtYmVyXCImJmk9PT04OCl7RTAoeCk7dmFyIGM9eDAoMCxiaCx4KSx2PVJDKHgsY1syXSxjWzFdKSxhPXZbMl0sbD1Zcih1LHZbMV0pLG09TEMoMCx4LEZDKHgsdCxhLDAsbCksbCksdD1tWzJdLHU9bVsxXTtjb250aW51ZX1yZXR1cm5bMCx1LHRdfX1mdW5jdGlvbiBMQyh4LHIsZSx0KXtmb3IodmFyIHU9eCxpPWUsYz10Ozspe3ZhciB2PXEocik7aWYodHlwZW9mIHY9PVwibnVtYmVyXCImJnY9PT04NSl7MS11JiZVeChyLGxsMCksSihyLDg1KTt2YXIgYT14MCgwLGJoLHIpLGw9YVsyXSxtPWFbMV0saD1xKHIpO3g6e2lmKHR5cGVvZiBoPT1cIm51bWJlclwiJiYxPj1oK2lEPj4+MCl7VXgocixbMjIsWWooaCldKTt2YXIgVD1SQyhyLGwsbSksYj1IWChyLFRbMl0sVFsxXSksTj1iWzJdLGo9YlsxXTticmVhayB4fXZhciBOPWwsaj1tfXZhciBJPVlyKGMsaiksdT0xLGk9RkMocixpLE4sMixJKSxjPUk7Y29udGludWV9cmV0dXJuWzAsYyxpXX19RnIoX2gsWzAsUkMsSFgsTENdKTtmdW5jdGlvbiBNQyh4LHIsZSx0KXtyZXR1cm5bMCx0LFs1LFswLGUseCxyLDBdXV19RnIoUFgsWzAsZnVuY3Rpb24oeCxyKXtmb3IodmFyIGU9cjs7KXt2YXIgdD14MCgwLGZ1bmN0aW9uKEwpe3ZhciBOMD1SWChMKSE9PTA/MTowO3JldHVyblswLE4wLExYKGU0KDAsTCkpXX0seCksdT10WzJdLGk9dVsyXSxjPXVbMV0sdj10WzFdO3g6aWYocSh4KT09PTk5JiZpWzBdPT09MCYmaVsxXVsyXVswXT09PTEyKXtVeCh4LDIpO2JyZWFrIHh9bGV0IFkwPXY7dmFyIGE9ZnVuY3Rpb24oTCxOMCl7Zm9yKHZhciBTMD1MLEswPU4wOzspe3ZhciBBMD1xKHgpO3g6aWYodHlwZW9mIEEwIT1cIm51bWJlclwiJiZBMFswXT09PTQpe3ZhciAkMD1BMFszXTtpZihQKCQwLE50KSYmUCgkMCwkUikpYnJlYWsgeDtpZihBMih4KSl7RTAoeCk7dmFyIGV4PW8xKHgsSzApO3I6e2lmKFMwKXt2YXIgeHg9UzBbMV0sdHg9eHhbMl0sejA9UzBbMl0scHg9eHhbM10sc3g9dHhbMV0sUT14eFsxXTtpZihBWCh0eFsyXSx6MzApKXt2YXIgYjA9TUMoUSxleCxzeCxZcihweCxZMCkpLFU9ejA7YnJlYWsgcn19dmFyIGIwPWV4LFU9UzB9dmFyIGgwPWIwWzFdO2lmKGJyKCQwLCRSKSl2YXIgXzA9Z2EoeCksbTA9XzBbMV0sUHg9WzAsWzAsWXIoaDAsbTApLFszNSxbMCxiMCxbMCxtMCxfMF0sMF1dXV07ZWxzZSBpZihxKHgpPT09Mjgpe3ZhciBUMD1ZcihoMCxWMCh4KSk7RTAoeCk7dmFyIFB4PVswLFswLFQwLFsyLFswLGIwLDBdXV1dfWVsc2UgdmFyIFg9Z2EoeCksR3g9WFsxXSxQeD1bMCxbMCxZcihoMCxHeCksWzMsWzAsYjAsWzAsR3gsWF0sMF1dXV07dmFyIFMwPVUsSzA9UHg7Y29udGludWV9fXJldHVyblswLFMwLEswXX19KGUsaSksbD1hWzJdLG09YVsxXSxoPXEoeCk7eDp7cjppZih0eXBlb2YgaD09XCJudW1iZXJcIil7dmFyIFQ9aC0xN3wwO2lmKDE8VD4+PjApe2lmKDczPlQpYnJlYWsgcjtzd2l0Y2goVC03M3wwKXtjYXNlIDA6dmFyIGI9SzMwO2JyZWFrO2Nhc2UgMTp2YXIgYj1KMzA7YnJlYWs7Y2FzZSAyOnZhciBiPUczMDticmVhaztjYXNlIDM6dmFyIGI9VzMwO2JyZWFrO2Nhc2UgNDp2YXIgYj1WMzA7YnJlYWs7Y2FzZSA1OnZhciBiPSQzMDticmVhaztjYXNlIDY6dmFyIGI9UTMwO2JyZWFrO2Nhc2UgNzp2YXIgYj1IMzA7YnJlYWs7Y2FzZSA4OnZhciBiPVozMDticmVhaztjYXNlIDk6dmFyIGI9eGwwO2JyZWFrO2Nhc2UgMTA6dmFyIGI9cmwwO2JyZWFrO2Nhc2UgMTE6dmFyIGI9ZWwwO2JyZWFrO2Nhc2UgMTI6dmFyIGI9dGwwO2JyZWFrO2Nhc2UgMTM6dmFyIGI9bmwwO2JyZWFrO2Nhc2UgMTQ6dmFyIGI9dWwwO2JyZWFrO2Nhc2UgMTU6dmFyIGI9aWwwO2JyZWFrO2Nhc2UgMTY6dmFyIGI9ZmwwO2JyZWFrO2Nhc2UgMTc6dmFyIGI9Y2wwO2JyZWFrO2Nhc2UgMTg6dmFyIGI9c2wwO2JyZWFrO2Nhc2UgMTk6dmFyIGI9YWwwO2JyZWFrO2RlZmF1bHQ6YnJlYWsgcn12YXIgTj1ifWVsc2UgdmFyIE49VD9vbDA6eFsxMl0/MDp2bDA7dmFyIGo9TjticmVhayB4fXZhciBqPTB9aWYoaiE9PTAmJkUwKHgpLCFtJiYhailyZXR1cm4gbDtpZihqKXt2YXIgST1qWzFdLEY9SVsxXSxNPUlbMl0sej1jJiYoRj09PTE0PzE6MCk7eiYmcTAoeCxbMCx2LDM3XSk7eDpmb3IodmFyIEI9bzEoeCxsKSxLPVswLEYsTV0sbjA9diwkPW07Oyl7dmFyIEg9S1syXSx0MD1LWzFdO2lmKCEkKWJyZWFrIHg7dmFyIGMwPSRbMV0scjA9YzBbMl0sdjA9JFsyXSxhMD1jMFszXSxnMD1yMFsxXSxpMD1jMFsxXTtpZighQVgocjBbMl0sSCkpYnJlYWs7dmFyIHMwPVlyKGEwLG4wKSxCPU1DKGkwLEIsZzAsczApLEs9WzAsdDAsSF0sbjA9czAsJD12MH12YXIgZT1bMCxbMCxCLFswLHQwLEhdLG4wXSwkXX1lbHNlIGZvcih2YXIgZDA9bzEoeCxsKSx3MD12LE0wPW07Oyl7aWYoIU0wKXJldHVyblswLGQwXTt2YXIgQzA9TTBbMV0sRDA9TTBbMl0sSTA9QzBbMl1bMV0sajA9QzBbMV0seTA9WXIoQzBbM10sdzApLGQwPU1DKGowLGQwLEkwLHkwKSx3MD15MCxNMD1EMH19fV0pLEZyKElYLFswLGZ1bmN0aW9uKHgpe3ZhciByPXUwKHgpO0ooeCw5OSk7Zm9yKHZhciBlPTA7Oyl7dmFyIHQ9cSh4KTt4OmlmKHR5cGVvZiB0PT1cIm51bWJlclwiKXtpZih5MiE9PXQmJm1yIT09dClicmVhayB4O3ZhciB1PWl4KGUpLGk9dTAoeCk7Sih4LHkyKTt2YXIgYz1xKHgpPT09ND9GMih4KVsxXTpMMCh4KTtyZXR1cm5bMCx1LE8yKFswLHJdLFswLGNdLGksTyldfXZhciB2PXEoeCk7eDp7aWYodHlwZW9mIHYhPVwibnVtYmVyXCImJnZbMF09PT00JiYhUCh2WzJdLHFvKSl7dmFyIGE9VjAoeCksbD11MCh4KTt5cyh4LFkzMCk7dmFyIG09WzEsWzAsYSxbMCxaKFswLGxdLFswLEwwKHgpXSxPKV1dXTticmVhayB4fXZhciBtPVswLGdhKHgpXX12YXIgaD1bMCxtLGVdO3kyIT09cSh4KSYmSih4LDkpO3ZhciBlPWh9fV0pO2Z1bmN0aW9uIFRUMCh4KXt2YXIgcj11MCh4KTtKKHgsMTIpO3ZhciBlPXp0KHgpO3JldHVyblswLGUsWihbMCxyXSwwLE8pXX1GcihOWCxbMCxmdW5jdGlvbih4LHIpe2Zvcih2YXIgZT1yOzspe3ZhciB0PXEoeCk7eDppZih0eXBlb2YgdD09XCJudW1iZXJcIil7aWYodCE9PTUmJm1yIT09dClicmVhayB4O3JldHVybiBpeChlKX12YXIgdT1xKHgpO3g6e2lmKHR5cGVvZiB1PT1cIm51bWJlclwiJiZ1PT09MTIpe3ZhciBpPVsxLHgwKDAsVFQwLHgpXTticmVhayB4fXZhciBpPVswLHp0KHgpXX12YXIgYz1bMCxpLGVdO3EoeCkhPT01JiZKKHgsOSk7dmFyIGU9Y319XSksRnIobTQsWzAsZnVuY3Rpb24oeCxyLGUsdCx1LGkpe3ZhciBjPXg/eFsxXToxLHY9cj9yWzFdOjAsYT1lP2VbMV06MCxsPXJDKDAsdCksbT1kKFgwWzddLGwpLGg9VjAodCk7Sih0LDcpO3ZhciBUPUwwKHQpLGI9WXIodSxoKSxOPVooMCxbMCxUXSxPKSxqPVswLG8xKHQsaSksWzIsbV0sTl0sST12P1syOCxbMCxqLGIsYV1dOlsyMyxqXTtyZXR1cm4gbG8oWzAsY10sWzAsdl0sdCx1LFswLFswLGIsSV1dKX0sZnVuY3Rpb24oeCxyLGUsdCx1LGkpe3ZhciBjPXg/eFsxXToxLHY9cj9yWzFdOjAsYT1lP2VbMV06MCxsPXEodCk7eDp7aWYodHlwZW9mIGw9PVwibnVtYmVyXCImJmw9PT0xNCl7dmFyIG09TkIodCksaD1tWzFdLFQ9dFszMF1bMV0sYj1tWzJdWzFdO2lmKFQpe3ZhciBOPVRbMV07dFszMF1bMV09WzAsWzAsTlsxXSxbMCxbMCxiLGhdLE5bMl1dXSxUWzJdXX1lbHNlIHEwKHQsWzAsaCw2M10pO3ZhciBJPVsxLG1dLEY9aDticmVhayB4fXZhciBqPWExKHQpLEk9WzAsal0sRj1qWzFdfXZhciBNPVlyKHUsRik7eDppZihpWzBdPT09MCYmaVsxXVsyXVswXT09PTMwJiZJWzBdPT09MSl7cTAodCxbMCxNLDgyXSk7YnJlYWsgeH12YXIgej1bMCxvMSh0LGkpLEksMF0sQj12P1syOCxbMCx6LE0sYV1dOlsyMyx6XTtyZXR1cm4gbG8oWzAsY10sWzAsdl0sdCx1LFswLFswLE0sQl1dKX1dKSxGcihqWCxbMCxmdW5jdGlvbih4LHIsZSl7Zm9yKHZhciB0PXIsdT1lOzspe3ZhciBpPWQoWDBbN10seCksYz1bMCxpLHVdLHY9cSh4KTtpZih0eXBlb2Ygdj09XCJudW1iZXJcIiYmdj09PTEpe1YyKHgsNCk7dmFyIGE9cSh4KTtpZih0eXBlb2YgYSE9XCJudW1iZXJcIiYmYVswXT09PTMpe3ZhciBsPWFbMV0sbT1sWzVdLGg9bFsxXSxUPWxbM10sYj1sWzJdO0UwKHgpLFoyKHgpO3ZhciBOPVswLFswLGgsWzAsWzAsVCxiXSxtXV0sdF07aWYobSl7dmFyIGo9aXgoYyk7cmV0dXJuWzAsaCxpeChOKSxqXX12YXIgdD1OLHU9Yztjb250aW51ZX10aHJvdyBXMChbMCxOcixVMzBdLDEpfXAyKEIzMCx4KTt2YXIgST1bMCxpWzFdLFgzMF0sRj1peChjKSxNPWl4KFswLEksdF0pO3JldHVyblswLGlbMV0sTSxGXX19XSksRnIoQ1gsWzAsZnVuY3Rpb24oeCxyKXtmb3IodmFyIGU9cjs7KXt2YXIgdD1lWzJdLHU9ZVsxXSxpPXEoeCk7eDppZih0eXBlb2YgaT09XCJudW1iZXJcIil7aWYoMTM8PWkpe2lmKG1yIT09aSlicmVhayB4fWVsc2V7aWYoNz5pKWJyZWFrIHg7c3dpdGNoKGktN3wwKXtjYXNlIDA6YnJlYWs7Y2FzZSAyOnZhciBjPVYwKHgpO0UwKHgpO3ZhciBlPVswLFswLFsyLGNdLHVdLHRdO2NvbnRpbnVlO2Nhc2UgNTp2YXIgdj11MCh4KSxhPXgwKDAsZnVuY3Rpb24objApe0UwKG4wKTt2YXIgJD1oNChuMCk7cmV0dXJuICRbMF09PT0wP1swLCRbMV0sbG5dOlswLCRbMV0sJFsyXV19LHgpLGw9YVsyXSxtPWxbMl0saD1hWzFdLFQ9bFsxXSxiPVsxLFswLGgsWzAsVCxaKFswLHZdLDAsTyldXV0sTj1xKHgpPT09Nz8xOjA7cjp7aWYoIU4mJnhyKDEseCk9PT03KXt2YXIgaj1bMCxtWzFdLFswLFswLGgsMTZdLG1bMl1dXTticmVhayByfXZhciBqPW19MS1OJiZKKHgsOSk7dmFyIGU9WzAsWzAsYix1XSxQQyhqLHQpXTtjb250aW51ZTtkZWZhdWx0OmJyZWFrIHh9fXZhciBJPWJYKHQpO3JldHVyblswLGl4KHUpLEldfXZhciBGPWg0KHgpO2lmKEZbMF09PT0wKXZhciBNPWxuLHo9RlsxXTtlbHNlIHZhciBNPUZbMl0sej1GWzFdO3EoeCkhPT03JiZKKHgsOSk7dmFyIGU9WzAsWzAsWzAsel0sdV0sUEMoTSx0KV19fV0pLEZyKElDLFswLGZ1bmN0aW9uKHgpe3JldHVybiBmdW5jdGlvbihyKXt4OmlmKHR5cGVvZiByPT1cIm51bWJlclwiKXtpZig2MTw9cil7dmFyIGU9ci02MnwwO2lmKDQ5Pj1lPj4+MCl7dmFyIHQ9ZS0xNXwwO2lmKDk8dD4+PjApYnJlYWsgeDtzd2l0Y2godCl7Y2FzZSAwOmNhc2UgMTpjYXNlIDM6Y2FzZSA5OmJyZWFrO2RlZmF1bHQ6YnJlYWsgeH19fWVsc2UgaWYoNzw9cil7aWYociE9PTU1KWJyZWFrIHh9ZWxzZSBpZig1PnIpYnJlYWsgeDtyZXR1cm4gMH10aHJvdyBXMChncywxKX19LGZ1bmN0aW9uKHgpe3ZhciByPXEoeCk7aWYodHlwZW9mIHI9PVwibnVtYmVyXCImJiFyKXt2YXIgZT1wKFgwWzE2XSwxLHgpO3JldHVyblswLFswLGVbMV1dLGVbMl1dfXJldHVyblswLFsxLGQoWDBbMTBdLHgpXSwwXX1dKSxGcihPWCxbMCxmdW5jdGlvbih4LHIpe2Zvcih2YXIgZT14Ozspe3ZhciB0PXEocik7aWYodHlwZW9mIHQ9PVwibnVtYmVyXCImJnQ9PT05KXtFMChyKTt2YXIgZT1bMCx6dChyKSxlXTtjb250aW51ZX1yZXR1cm5bMjksWzAsaXgoZSksMF1dfX1dKTtmdW5jdGlvbiBFVDAoeCl7dmFyIHI9dTAoeCk7RTAoeCk7dmFyIGU9WihbMCxyXSwwLE8pLHQ9TkMoeCksdT1OMSh4KT91NCh4KTpjaCh4KTtyZXR1cm5bMCxwKHVbMl0sdCxmdW5jdGlvbihpLGMpe3JldHVybiBwKEJ4KGksanQsOTUpLGksYyl9KSxlXX1mdW5jdGlvbiBxQyh4KXtpZigheFsyOF1bNF0pcmV0dXJuIDA7Zm9yKHZhciByPTA7Oyl7dmFyIGU9cSh4KTtpZih0eXBlb2YgZT09XCJudW1iZXJcIiYmZT09PTEzKXt2YXIgcj1bMCx4MCgwLEVUMCx4KSxyXTtjb250aW51ZX1yZXR1cm4gaXgocil9fWZ1bmN0aW9uIHBvKHgscil7dmFyIGU9eD94WzFdOjAsdD11MChyKSx1PXEocik7aWYodHlwZW9mIHU9PVwibnVtYmVyXCIpc3dpdGNoKHUpe2Nhc2UgNjp2YXIgaT14MCgwLGZ1bmN0aW9uKHMwKXt2YXIgZDA9dTAoczApO0ooczAsNik7dmFyIHcwPWU0KDAsczApLE0wPWQoWDBbMTBdLHcwKTtyZXR1cm4gSihzMCw3KSxbMCxNMCxaKFswLGQwXSxbMCxMMChzMCldLE8pXX0sciksYz1pWzFdO3JldHVyblswLGMsWzUsWzAsYyxpWzJdXV1dO2Nhc2UgMTQ6aWYoIWUpe3ZhciB2PXgwKDAsZnVuY3Rpb24oczApe3JldHVybiBFMChzMCksWzMsYTEoczApXX0sciksYT12WzFdLGw9dlsyXTtyZXR1cm4gcTAocixbMCxhLDYzXSksWzAsYSxsXX12YXIgbT1OQihyKSxoPXJbMzBdWzFdLFQ9bVsyXVsxXSxiPW1bMV07aWYoaCl7dmFyIE49aFsxXSxqPWhbMl0sST1OWzJdLEY9WzAsWzAsSTFbNF0uY2FsbChudWxsLFQsTlsxXSksSV0sal07clszMF1bMV09Rn1lbHNlIFR4KEhjMCk7cmV0dXJuWzAsYixbNCxtXV19ZWxzZSBzd2l0Y2godVswXSl7Y2FzZSAwOnZhciBNPXVbMl0sej11WzFdLEI9VjAociksSz1DQyhyLHosTSk7cmV0dXJuWzAsQixbMSxbMCxCLFswLEssTSxaKFswLHRdLFswLEwwKHIpXSxPKV1dXV07Y2FzZSAxOnZhciBuMD11WzJdLCQ9dVsxXSxIPVYwKHIpLHQwPU9DKHIsJCxuMCk7cmV0dXJuWzAsSCxbMixbMCxILFswLHQwLG4wLFooWzAsdF0sWzAsTDAocildLE8pXV1dXTtjYXNlIDI6dmFyIGMwPXVbMV0scjA9YzBbNF0sdjA9YzBbM10sYTA9YzBbMl0sZzA9YzBbMV07cmV0dXJuIHIwJiZJZShyLDc2KSxKKHIsWzIsWzAsZzAsYTAsdjAscjBdXSksWzAsZzAsWzAsWzAsZzAsWzAsYTAsdjAsWihbMCx0XSxbMCxMMChyKV0sTyldXV1dfXZhciBpMD1hMShyKTtyZXR1cm5bMCxpMFsxXSxbMyxpMF1dfWZ1bmN0aW9uIEVoKHgscixlKXt2YXIgdD0wLHU9RnYoeCksaT11WzFdLGM9dVsyXSx2PXBvKFswLHJdLHgpLGE9dlsxXSxsPWduKHgsdlsyXSk7cmV0dXJuWzAsbCx4MCgwLGZ1bmN0aW9uKG0pe3ZhciBoPVN2KDEsbSksVD14MCgwLGZ1bmN0aW9uKEIpe3ZhciBLPXBsKDAsMCkoQiksbjA9MCwkPXEoQik9PT04Nz9LOmk0KEIsSyk7eDppZihlKXt2YXIgSD0kWzJdO3I6e2lmKCFIWzFdKXtpZighSFsyXSYmIUhbM10pYnJlYWsgcjtxMChCLFswLGEsMjNdKTticmVhayB4fXEwKEIsWzAsYSwyNF0pfX1lbHNle3ZhciB0MD0kWzJdO3I6aWYodDBbMV0pcTAoQixbMCxhLDY2XSk7ZWxzZXt2YXIgYzA9dDBbMl07aWYoYzAmJiFjMFsyXSYmIXQwWzNdKWJyZWFrIHI7dDBbM10/cTAoQixbMCxhLDY1XSk6cTAoQixbMCxhLDY1XSl9fXJldHVyblswLG4wLCQsYWwoQixfQyhCKSldfSxoKSxiPVRbMl0sTj1iWzJdLGo9YlszXSxJPWJbMV0sRj1UWzFdLE09bDQoaCx0LGksMCxqdihOKSksej1NWzFdO3JldHVybiBsbChoLE1bMl0sMCxOKSxbMCwwLE4seix0LGksMSwwLGosSSxaKFswLGNdLDAsTyksRl19LHgpXX1mdW5jdGlvbiBaWCh4KXt2YXIgcj1oNCh4KTtyZXR1cm4gclswXT09PTA/WzAsclsxXSxsbl06WzAsclsxXSxyWzJdXX1mdW5jdGlvbiB4WSh4LHIpe3N3aXRjaChyWzBdKXtjYXNlIDA6dmFyIGU9clsxXSx0PWVbMV0sdT1lWzJdO3JldHVybiBxMCh4LFswLHQsNDddKSxbMCx0LFsxNCx1XV07Y2FzZSAxOnZhciBpPXJbMV0sYz1pWzFdLHY9aVsyXTtyZXR1cm4gcTAoeCxbMCxjLDQ3XSksWzAsYyxbMTcsdl1dO2Nhc2UgMjp2YXIgYT1yWzFdLGw9YVsxXSxtPWFbMl07cmV0dXJuIHEwKHgsWzAsbCw0N10pLFswLGwsWzE4LG1dXTtjYXNlIDM6dmFyIGg9clsxXSxUPWhbMl1bMV0sYj1oWzFdO3JldHVybiBlaChUKT9xMCh4LFswLGIsOTVdKTpmbChUKSYmaHQoeCxbMCxiLDgwXSksWzAsYixbMTAsaF1dO2Nhc2UgNDpyZXR1cm4gVHgoWGwwKTtkZWZhdWx0OnZhciBOPXJbMV1bMl1bMV07cmV0dXJuIHEwKHgsWzAsTlsxXSw3XSksTn19ZnVuY3Rpb24gclkoeCxyLGUpe2Z1bmN0aW9uIHQoaSl7dmFyIGM9U3YoMSxpKSx2PXgwKDAsZnVuY3Rpb24oail7dmFyIEk9UTEoaixIZShqKSksRj1wbCh4LHIpKGopLE09cShqKT09PTg3P0Y6aTQoaixGKTtyZXR1cm5bMCxJLE0sYWwoaixfQyhqKSldfSxjKSxhPXZbMl0sbD1hWzJdLG09YVszXSxoPWFbMV0sVD12WzFdLGI9bDQoYyx4LHIsMCxqdihsKSksTj1iWzFdO3JldHVybiBsbChjLGJbMl0sMCxsKSxbMCwwLGwsTix4LHIsMSwwLG0saCxaKFswLGVdLDAsTyksVF19dmFyIHU9MDtyZXR1cm4gZnVuY3Rpb24oaSl7cmV0dXJuIHgwKHUsdCxpKX19ZnVuY3Rpb24gZVkoeCl7cmV0dXJuIEooeCw4NyksWlgoeCl9ZnVuY3Rpb24gVUMoeCxyLGUsdCx1LGkpe3ZhciBjPXgwKFswLHJdLGZ1bmN0aW9uKGEpe2lmKCF0JiYhdSl7dmFyIGw9cShhKTt4OmlmKHR5cGVvZiBsPT1cIm51bWJlclwiKXtpZig4Nzw9bCl7aWYobCE9PTk5KXtpZig4ODw9bClicmVhayB4O3ZhciBtPWVZKGEpO3JldHVyblswLFswLGUsbVsxXSwwXSxtWzJdXX19ZWxzZXtpZihsPT09ODMpe2lmKGVbMF09PT0zKXZhciBoPWVbMV0sVD1WMChhKSxiPXgwKFswLGhbMV1dLGZ1bmN0aW9uKEYpe3ZhciBNPXUwKEYpO0ooRiw4Myk7dmFyIHo9TDAoRiksQj1wKFgwWzE5XSxGLFswLGhbMV0sWzEwLGhdXSksSz1kKFgwWzEwXSxGKTtyZXR1cm5bNCxbMCwwLEIsSyxaKFswLE1dLFswLHpdLE8pXV19LGEpLE49WzAsYixbMCxbMCxbMCxULFsyNixQNShCbDApXV0sMF0sMF1dO2Vsc2UgdmFyIE49ZVkoYSk7cmV0dXJuWzAsWzAsZSxOWzFdLDFdLE5bMl1dfWlmKDEwPD1sKWJyZWFrIHg7c3dpdGNoKGwpe2Nhc2UgNDpicmVhaztjYXNlIDE6Y2FzZSA5OnJldHVyblswLFswLGUseFkoYSxlKSwxXSxsbl07ZGVmYXVsdDpicmVhayB4fX12YXIgaj1nbihhLGUpO3JldHVyblswLFsxLGosclkodCx1LGkpKGEpXSxsbl19cmV0dXJuWzAsWzAsZSx4WShhLGUpLDFdLGxuXX12YXIgST1nbihhLGUpO3JldHVyblswLFsxLEksclkodCx1LGkpKGEpXSxsbl19LHgpLHY9Y1syXTtyZXR1cm5bMCxbMCxbMCxjWzFdLHZbMV1dXSx2WzJdXX1mdW5jdGlvbiBTVDAoeCl7aWYocSh4KT09PTEyKXt2YXIgcj11MCh4KSxlPXgwKDAsZnVuY3Rpb24oZDApe3JldHVybiBKKGQwLDEyKSxaWChkMCl9LHgpLHQ9ZVsyXSx1PXRbMl0saT10WzFdLGM9ZVsxXTtyZXR1cm5bMCxbMSxbMCxjLFswLGksWihbMCxyXSwwLE8pXV1dLHVdfXZhciB2PVYwKHgpLGE9eHIoMSx4KTt4OntyOmlmKHR5cGVvZiBhPT1cIm51bWJlclwiKXtpZig4Nzw9YSl7aWYoYSE9PTk5JiY4ODw9YSlicmVhayByfWVsc2UgaWYoYSE9PTgzKXtpZigxMDw9YSlicmVhayByO3N3aXRjaChhKXtjYXNlIDE6Y2FzZSA0OmNhc2UgOTpicmVhaztkZWZhdWx0OmJyZWFrIHJ9fXZhciBtPTAsaD0wO2JyZWFrIHh9dmFyIGw9Z2goeCksbT1sWzJdLGg9bFsxXX12YXIgVD1Gdih4KSxiPVRbMV0sTj1NeChtLFRbMl0pLGo9cSh4KTtpZighaCYmIWImJnR5cGVvZiBqIT1cIm51bWJlclwiJiZqWzBdPT09NCl7dmFyIEk9alszXTtpZighUChJLEJvKSl7dmFyIEY9dTAoeCksTT1wbygwLHgpWzJdLHo9cSh4KTt4OmlmKHR5cGVvZiB6PT1cIm51bWJlclwiKXtpZig4Nzw9eil7aWYoeiE9PTk5JiY4ODw9eilicmVhayB4fWVsc2UgaWYoeiE9PTgzKXtpZigxMDw9eilicmVhayB4O3N3aXRjaCh6KXtjYXNlIDE6Y2FzZSA0OmNhc2UgOTpicmVhaztkZWZhdWx0OmJyZWFrIHh9fXJldHVybiBVQyh4LHYsTSwwLDAsMCl9Z24oeCxNKTt2YXIgQj14MChbMCx2XSxmdW5jdGlvbihkMCl7cmV0dXJuIEVoKGQwLDAsMSl9LHgpLEs9QlsyXSxuMD1LWzJdLCQ9S1sxXSxIPUJbMV07cmV0dXJuWzAsWzAsWzAsSCxbMiwkLG4wLFooWzAsRl0sMCxPKV1dXSxsbl19aWYoIVAoSSxUMykpe3ZhciB0MD11MCh4KSxjMD1wbygwLHgpWzJdLHIwPXEoeCk7eDppZih0eXBlb2YgcjA9PVwibnVtYmVyXCIpe2lmKDg3PD1yMCl7aWYocjAhPT05OSYmODg8PXIwKWJyZWFrIHh9ZWxzZSBpZihyMCE9PTgzKXtpZigxMDw9cjApYnJlYWsgeDtzd2l0Y2gocjApe2Nhc2UgMTpjYXNlIDQ6Y2FzZSA5OmJyZWFrO2RlZmF1bHQ6YnJlYWsgeH19cmV0dXJuIFVDKHgsdixjMCwwLDAsMCl9Z24oeCxjMCk7dmFyIHYwPXgwKFswLHZdLGZ1bmN0aW9uKGQwKXtyZXR1cm4gRWgoZDAsMCwwKX0seCksYTA9djBbMl0sZzA9YTBbMl0saTA9YTBbMV0sczA9djBbMV07cmV0dXJuWzAsWzAsWzAsczAsWzMsaTAsZzAsWihbMCx0MF0sMCxPKV1dXSxsbl19fXJldHVybiBVQyh4LHYscG8oMCx4KVsyXSxoLGIsTil9ZnVuY3Rpb24gU2goeCxyLGUsdCl7dmFyIHU9ZVsyXVsxXSxpPWVbMV07aWYoYnIodSxSbykpcmV0dXJuIHEwKHgsWzAsaSxbMTUsdSwwLFJMPT09dD8xOjAsMV1dKSxyO3g6e3I6e2U6e2Zvcih2YXIgYz1yOzspe2lmKHR5cGVvZiBjPT1cIm51bWJlclwiKWJyZWFrIHI7aWYoY1swXT09PTApYnJlYWsgZTt2YXIgdj1meCh1LGNbMl0pLGE9Y1s1XSxsPWNbNF0sbT1jWzNdO2lmKHY9PT0wKWJyZWFrO3ZhciBoPTA8PXY/YTpsLGM9aH12YXIgYj1bMCxtXTticmVhayB4fXZhciBUPWNbMl07aWYoZngodSxjWzFdKT09PTApe3ZhciBiPVswLFRdO2JyZWFrIHh9dmFyIGI9MDticmVhayB4fXZhciBiPTB9aWYoIWIpcmV0dXJuIHZoKHUsdCxyKTt2YXIgTj1iWzFdO3g6e3I6aWYodHlwZW9mIHQ9PVwibnVtYmVyXCIpe2lmKGpBPT09dCl7aWYodHlwZW9mIE4hPVwibnVtYmVyXCJ8fEtJIT09TilicmVhayByfWVsc2UgaWYoS0khPT10fHx0eXBlb2YgTiE9XCJudW1iZXJcInx8akEhPT1OKWJyZWFrIHI7YnJlYWsgeH1xMCh4LFswLGksWzEsdV1dKX1yZXR1cm4gdmgodSx5UixyKX1mdW5jdGlvbiB0WSh4LHIpe3JldHVybiB4MCgwLGZ1bmN0aW9uKGUpe3ZhciB0PXI/dTAoZSk6MDtKKGUsNTMpO2Zvcih2YXIgdT0wOzspe3ZhciBpPVswLHgwKDAsZnVuY3Rpb24oYSl7dmFyIGw9d3MoYSksbT1xKGEpPT09OTk/cChGMihhKVsyXSxsLGZ1bmN0aW9uKGgsVCl7cmV0dXJuIHAoQngoaCxDMyw5NiksaCxUKX0pOmw7cmV0dXJuWzAsbSxsWChhKV19LGUpLHVdLGM9cShlKTtpZih0eXBlb2YgYz09XCJudW1iZXJcIiYmYz09PTkpe0ooZSw5KTt2YXIgdT1pO2NvbnRpbnVlfXZhciB2PWl4KGkpO3JldHVyblswLHYsWihbMCx0XSwwLE8pXX19LHgpfWZ1bmN0aW9uIEJDKHgpe3N3aXRjaCh4WzBdKXtjYXNlIDA6Y2FzZSAzOnZhciByPXhbMV07cmV0dXJuWzAsWzAsclsxXSxyWzJdWzFdXV07ZGVmYXVsdDpyZXR1cm4gMH19ZnVuY3Rpb24gWEMoeCxyKXtpZihyKXJldHVybiBxMCh4LFswLHJbMV1bMV0sSzJdKX1mdW5jdGlvbiBZQyh4LHIpe2lmKHIpcmV0dXJuIHEwKHgsWzAsclsxXSwxMl0pfWZ1bmN0aW9uIG5ZKHgscixlLHQsdSxpLGMsdil7dmFyIGE9eDAoWzAscl0sZnVuY3Rpb24oail7dmFyIEk9d0MoaiksRj1xKGopO3g6aWYoaSl7aWYodHlwZW9mIEY9PVwibnVtYmVyXCImJkY9PT04Myl7VXgoaiwxMyksRTAoaik7dmFyIE09MDticmVhayB4fXZhciBNPTB9ZWxzZXtpZih0eXBlb2YgRj09XCJudW1iZXJcIiYmRj09PTgzKXtFMChqKTt2YXIgej1TdigxLGopLE09WzAsZChYMFs3XSx6KV07YnJlYWsgeH12YXIgTT0xfXZhciBCPXEoaik7eDp7aWYodHlwZW9mIEI9PVwibnVtYmVyXCImJjk+Qilzd2l0Y2goQil7Y2FzZSA4OkUwKGopO3ZhciBLPXEoaik7cjp7ZTppZih0eXBlb2YgSz09XCJudW1iZXJcIil7aWYoSyE9PTEmJm1yIT09SylicmVhayBlO3ZhciBuMD1MMChqKTticmVhayByfXZhciBuMD1OMShqKT9hbyhqKTowfXZhciB2MD1bMCx0LEksTSxuMF07YnJlYWsgeDtjYXNlIDQ6Y2FzZSA2OnAyKDAsaik7dmFyIHYwPVswLHQsSSxNLDBdO2JyZWFrIHh9dmFyICQ9cShqKTtyOntlOmlmKHR5cGVvZiAkPT1cIm51bWJlclwiKXtpZigkIT09MSYmbXIhPT0kKWJyZWFrIGU7dmFyIEg9WzAsLGZ1bmN0aW9uKGQwLHcwKXtyZXR1cm4gZDB9XTticmVhayByfXZhciBIPU4xKGopP3U0KGopOmNoKGopfWlmKHR5cGVvZiBNPT1cIm51bWJlclwiKWlmKElbMF09PT0wKXZhciB0MD1NLGMwPUkscjA9cChIWzJdLHQsZnVuY3Rpb24oczAsZDApe3JldHVybiBwKEJ4KHMwLFpSLDk5KSxzMCxkMCl9KTtlbHNlIHZhciB0MD1NLGMwPVsxLHAoSFsyXSxJWzFdLGZ1bmN0aW9uKHMwLGQwKXtyZXR1cm4gcChCeChzMCxrQSx5MiksczAsZDApfSldLHIwPXQ7ZWxzZSB2YXIgdDA9WzAscChIWzJdLE1bMV0sZnVuY3Rpb24oczAsZDApe3JldHVybiBwKEJ4KHMwLGp0LGZlKSxzMCxkMCl9KV0sYzA9SSxyMD10O3ZhciB2MD1bMCxyMCxjMCx0MCwwXX12YXIgYTA9djBbM10sZzA9djBbMl0saTA9djBbMV07cmV0dXJuWzAsaTAsZzAsYTAsWihbMCx2XSxbMCx2MFs0XV0sTyldfSx4KSxsPWFbMl0sbT1sWzRdLGg9bFszXSxUPWxbMl0sYj1sWzFdLE49YVsxXTtyZXR1cm4gYlswXT09PTQ/WzIsWzAsTixbMCxiWzFdLGgsVCx1LGMsZSxtXV1dOlsxLFswLE4sWzAsYixoLFQsdSxjLGUsbV1dXX1mdW5jdGlvbiB6Qyh4LHIsZSx0LHUsaSxjLHYsYSxsKXtmb3IoOzspe3ZhciBtPXEoeCk7eDppZih0eXBlb2YgbT09XCJudW1iZXJcIil7dmFyIGg9bS0xfDA7aWYoNzxoPj4+MCl7dmFyIFQ9aC04MnwwO2lmKDQ8VD4+PjApYnJlYWsgeDtzd2l0Y2goVCl7Y2FzZSAzOnAyKDAseCksRTAoeCk7Y29udGludWU7Y2FzZSAwOmNhc2UgNDpicmVhaztkZWZhdWx0OmJyZWFrIHh9fWVsc2UgaWYoNT49aC0xPj4+MClicmVhayB4O2lmKCF1JiYhaSlyZXR1cm4gblkoeCxyLGUsdCxjLHYsYSxsKX12YXIgYj1xKHgpO3g6e2lmKHR5cGVvZiBiPT1cIm51bWJlclwiJiYoYj09PTR8fGI9PT05OSkpe3ZhciBOPTA7YnJlYWsgeH12YXIgTj1zbCh4KT8xOjB9aWYoTilyZXR1cm4gblkoeCxyLGUsdCxjLHYsYSxsKTtZQyh4LHYpLFhDKHgsYSk7dmFyIGo9QkModCk7eDp7aWYoYyl7aWYoail7dmFyIEk9alsxXSxGPUlbMV07aWYoIVAoSVsyXSx6YSkpe3EwKHgsWzAsRixbMTUsRGwwLGMsMSwwXV0pO3ZhciBCPVN2KDEseCksSz0xO2JyZWFrIHh9fX1lbHNlIGlmKGope3ZhciBNPWpbMV0sej1NWzFdO2lmKCFQKE1bMl0sUm8pKXt1JiZxMCh4LFswLHosOV0pLGkmJnEwKHgsWzAseiwxMF0pO3ZhciBCPVN2KDIseCksSz0wO2JyZWFrIHh9fXZhciBCPVN2KDEseCksSz0xfXZhciBuMD1nbihCLHQpLCQ9eDAoMCxmdW5jdGlvbih0MCl7dmFyIGMwPXgwKDAsZnVuY3Rpb24odzApe3ZhciBNMD1RMSh3MCxIZSh3MCkpLEMwPXBsKHUsaSkodzApLEQwPXEodzApPT09ODc/QzA6aTQodzAsQzApLEkwPUQwWzJdLGowPUkwWzFdO3g6e2lmKGowKXt2YXIgeTA9ajBbMV1bMV0sWTA9RDBbMV07aWYoSz09PTApe3EwKHcwLFswLHkwLDg3XSk7dmFyIEw9WzAsWTAsWzAsMCxJMFsyXSxJMFszXSxJMFs0XV1dO2JyZWFrIHh9fXZhciBMPUQwfXJldHVyblswLE0wLEwsYWwodzAsX0ModzApKV19LHQwKSxyMD1jMFsyXSx2MD1yMFsyXSxhMD1yMFszXSxnMD1yMFsxXSxpMD1jMFsxXSxzMD1sNCh0MCx1LGksMCxqdih2MCkpLGQwPXMwWzFdO3JldHVybiBsbCh0MCxzMFsyXSwwLHYwKSxbMCwwLHYwLGQwLHUsaSwxLDAsYTAsZzAsMCxpMF19LEIpLEg9WzAsSyxuMCwkLGMsZSxaKFswLGxdLDAsTyldO3JldHVyblswLFswLFlyKHIsJFsxXSksSF1dfX1mdW5jdGlvbiBLQyh4LHIpe3ZhciBlPXhyKHgscik7eDppZih0eXBlb2YgZT09XCJudW1iZXJcIil7aWYoODc8PWUpe2lmKGUhPT05OSYmODg8PWUpYnJlYWsgeH1lbHNlIGlmKGUhPT04Myl7aWYoOTw9ZSlicmVhayB4O3N3aXRjaChlKXtjYXNlIDE6Y2FzZSA0OmNhc2UgODpicmVhaztkZWZhdWx0OmJyZWFrIHh9fXJldHVybiAxfXJldHVybiAwfXZhciBBVDA9MDtmdW5jdGlvbiBQVDAoeCxyLGUsdCl7dmFyIHU9VjAoeCksaT1xKHgpO3g6e2lmKHR5cGVvZiBpPT1cIm51bWJlclwiKXN3aXRjaChpKXtjYXNlIDEwNDp2YXIgYz11MCh4KTtFMCh4KTt2YXIgbD1bMCxbMCx1LFswLDAsWihbMCxjXSwwLE8pXV1dO2JyZWFrIHg7Y2FzZSAxMDU6dmFyIHY9dTAoeCk7RTAoeCk7dmFyIGw9WzAsWzAsdSxbMCwxLFooWzAsdl0sMCxPKV1dXTticmVhayB4fWVsc2UgaWYoaVswXT09PTQmJiFQKGlbM10sWm8pJiZyKXt2YXIgYT11MCh4KTtFMCh4KTt2YXIgbD1bMCxbMCx1LFswLDIsWihbMCxhXSwwLE8pXV1dO2JyZWFrIHh9dmFyIGw9MH14OmlmKGwpe3ZhciBtPWxbMV1bMV07aWYoIWUmJiF0KWJyZWFrIHg7cmV0dXJuIHEwKHgsWzAsbSxLMl0pLDB9cmV0dXJuIGx9dmFyIElUMD0wO2Z1bmN0aW9uIHVZKHgpe3JldHVybiBLQyhJVDAseCl9ZnVuY3Rpb24gTlQwKHgpe3ZhciByPVYwKHgpLGU9cUMoeCksdD1xKHgpO3g6e2lmKHR5cGVvZiB0PT1cIm51bWJlclwiJiZ0PT09NjEmJiFLQygxLHgpKXt2YXIgdT1bMCxWMCh4KV0saT11MCh4KTtFMCh4KTt2YXIgYz1pLHY9dTticmVhayB4fXZhciBjPTAsdj0wfXZhciBhPXEoeCk7eDppZih0eXBlb2YgYT09XCJudW1iZXJcIiYmMj49YSt0Uj4+PjAmJnlhKDEseCkpe3I6e2lmKHR5cGVvZiBhPT1cIm51bWJlclwiKXt2YXIgbD1hK3RSfDA7aWYoMj49bD4+PjApe3N3aXRjaChsKXtjYXNlIDA6dmFyIG09WE87YnJlYWs7Y2FzZSAxOnZhciBtPXM2O2JyZWFrO2RlZmF1bHQ6dmFyIG09Qmx9dmFyIGg9bTticmVhayByfX12YXIgaD1UeChGbDApfVV4KHgsWzI0LGhdKSxFMCh4KTticmVhayB4fXZhciBUPXEoeCk9PT00Mz8xOjA7aWYoVCl7dmFyIGI9eHIoMSx4KTt4OntyOmlmKHR5cGVvZiBiPT1cIm51bWJlclwiKXtpZig4ODw9Yil7aWYoYiE9PTk5JiZtciE9PWIpYnJlYWsgcn1lbHNle3ZhciBOPWItOXwwO2lmKDc3PE4+Pj4wKXtpZig3OD5OKXN3aXRjaChOKzl8MCl7Y2FzZSAxOmNhc2UgNDpjYXNlIDg6YnJlYWs7ZGVmYXVsdDpicmVhayByfX1lbHNlIGlmKE4hPT03NClicmVhayByfXZhciBqPTA7YnJlYWsgeH12YXIgaj0xfXZhciBJPWp9ZWxzZSB2YXIgST1UO2lmKEkpe3ZhciBGPXUwKHgpO0UwKHgpO3ZhciBNPUZ9ZWxzZSB2YXIgTT0wO3ZhciB6PXEoeCk9PT02NT8xOjA7aWYoeil2YXIgQj0xLUtDKDEseCksSz1CJiYxLUl2KDEseCk7ZWxzZSB2YXIgSz16O2lmKEspe3ZhciBuMD11MCh4KTtFMCh4KTt2YXIgJD1uMH1lbHNlIHZhciAkPTA7dmFyIEg9RnYoeCksdDA9SFsxXSxjMD1IWzJdLHIwPXlhKDEseCksdjA9cjB8fCh4cigxLHgpPT09Nj8xOjApLGEwPVBUMCh4LHYwLEssdDApO3g6e2lmKCF0MCYmYTApe3ZhciBnMD1Gdih4KSxpMD1nMFsyXSxzMD1nMFsxXTticmVhayB4fXZhciBpMD1jMCxzMD10MH12YXIgZDA9TzYoWzAsYyxbMCxNLFswLCQsWzAsaTAsMF1dXV0pLHcwPXEoeCk7aWYoIUsmJiFzMCYmdHlwZW9mIHcwIT1cIm51bWJlclwiJiZ3MFswXT09PTQpe3ZhciBNMD13MFszXTtpZighUChNMCxCbykpe3ZhciBDMD11MCh4KSxEMD1wbyhMbDAseClbMl07aWYodVkoeCkpcmV0dXJuIHpDKHgscixlLEQwLEssczAsSSx2LGEwLGQwKTtZQyh4LHYpLFhDKHgsYTApLGduKHgsRDApO3ZhciBJMD1NeChkMCxDMCksajA9eDAoWzAscl0sZnVuY3Rpb24oR3gpe3JldHVybiBFaChHeCwxLDEpfSx4KSx5MD1qMFsyXSxZMD15MFsxXSxMPXkwWzJdLE4wPWowWzFdLFMwPUJDKFkwKTt4OmlmKEkpe2lmKFMwKXt2YXIgSzA9UzBbMV0sQTA9SzBbMV07aWYoIVAoSzBbMl0semEpKXtxMCh4LFswLEEwLFsxNSxVbDAsSSwwLDBdXSk7YnJlYWsgeH19fWVsc2UgaWYoUzApe3ZhciAkMD1TMFsxXSxleD0kMFsxXTtpZighUCgkMFsyXSxSbykpe3EwKHgsWzAsZXgsOF0pO2JyZWFrIHh9fXJldHVyblswLFswLE4wLFswLDIsWTAsTCxJLGUsWihbMCxJMF0sMCxPKV1dXX1pZighUChNMCxUMykpe3ZhciB4eD11MCh4KSx0eD1wbyhSbDAseClbMl07aWYodVkoeCkpcmV0dXJuIHpDKHgscixlLHR4LEssczAsSSx2LGEwLGQwKTtZQyh4LHYpLFhDKHgsYTApLGduKHgsdHgpO3ZhciB6MD1NeChkMCx4eCkscHg9eDAoWzAscl0sZnVuY3Rpb24oR3gpe3JldHVybiBFaChHeCwxLDApfSx4KSxzeD1weFsyXSxRPXN4WzFdLGIwPXN4WzJdLFU9cHhbMV0saDA9QkMoUSk7eDppZihJKXtpZihoMCl7dmFyIF8wPWgwWzFdLG0wPV8wWzFdO2lmKCFQKF8wWzJdLHphKSl7cTAoeCxbMCxtMCxbMTUscWwwLEksMCwwXV0pO2JyZWFrIHh9fX1lbHNlIGlmKGgwKXt2YXIgVDA9aDBbMV0sWD1UMFsxXTtpZighUChUMFsyXSxSbykpe3EwKHgsWzAsWCw4XSk7YnJlYWsgeH19cmV0dXJuWzAsWzAsVSxbMCwzLFEsYjAsSSxlLFooWzAsejBdLDAsTyldXV19fXJldHVybiB6Qyh4LHIsZSxwbyhNbDAseClbMl0sSyxzMCxJLHYsYTAsZDApfWZ1bmN0aW9uIGlZKHgscixlLHQpe3ZhciB1PXg/eFsxXTowLGk9aGEoMSxyKSxjPU14KHUscUMoaSkpLHY9dTAoaSksYT1xKGkpO3g6aWYodHlwZW9mIGEhPVwibnVtYmVyXCImJmFbMF09PT00JiYhUChhWzNdLGxBKSl7VXgoaSw4MyksRTAoaSk7YnJlYWsgeH1KKGksNDEpO3ZhciBsPVpqKDEsaSksbT1xKGwpO3g6e3I6aWYoZSYmdHlwZW9mIG09PVwibnVtYmVyXCIpe2lmKDUzPD1tKXtpZihtIT09OTkmJjU0PD1tKWJyZWFrIHJ9ZWxzZSBpZihtIT09NDImJm0pYnJlYWsgcjt2YXIgVD0wO2JyZWFrIHh9aWYoZG4oaSkpdmFyIGg9cChYMFsxM10sMCxsKSxUPVswLHAoRjIoaSlbMl0saCxmdW5jdGlvbigkLEgpe3JldHVybiBwKEJ4KCQsQzMsc24pLCQsSCl9KV07ZWxzZXtfQihpLE5sMCk7dmFyIFQ9WzAsWzAsVjAoaSksamwwXV19fXZhciBiPUhlKGkpO2lmKGIpdmFyIE49YlsxXSxqPVswLHAoRjIoaSlbMl0sTixmdW5jdGlvbigkLEgpe3JldHVybiBwKEJ4KCQsb1QsZzEpLCQsSCl9KV07ZWxzZSB2YXIgaj0wO3ZhciBJPXUwKGkpO2lmKHUyKGksNDIpKXZhciBGPXgwKDAsZnVuY3Rpb24oJCl7dmFyIEg9TkMoUWooMCwkKSksdDA9cSgkKT09PTk5P3AoRjIoJClbMl0sSCxmdW5jdGlvbihyMCx2MCl7cmV0dXJuIHAoQngocjAsanQsOTcpLHIwLHYwKX0pOkgsYzA9bFgoJCk7cmV0dXJuWzAsdDAsYzAsWihbMCxJXSwwLE8pXX0saSksTT1GWzFdLHo9RlsyXSxCPVswLFswLE0scChGMihpKVsyXSx6LGZ1bmN0aW9uKCQsSCl7cmV0dXJuIEgwKEJ4KCQsLTY2MzQ0Nzc5MCw5OCksJCxNLEgpfSldXTtlbHNlIHZhciBCPTA7aWYocShpKT09PTUzKXsxLUEyKGkpJiZVeChpLEplKTt2YXIgSz1bMCxQQihpLHRZKGksMSkpXX1lbHNlIHZhciBLPTA7dmFyIG4wPXgwKDAsZnVuY3Rpb24oJCl7dmFyIEg9dTAoJCk7aWYoIXUyKCQsMCkpcmV0dXJuIHluKCQsMCksT2wwOyRbMzBdWzFdPVswLFswLEkxWzFdLDBdLCRbMzBdWzFdXTtmb3IodmFyIHQwPTAsYzA9QVQwLHIwPTA7Oyl7dmFyIHYwPXEoJCk7aWYodHlwZW9mIHYwPT1cIm51bWJlclwiKXt2YXIgYTA9djAtMnwwO2lmKGNlPGEwPj4+MCl7aWYoVGU+PWEwKzE+Pj4wKWJyZWFrfWVsc2UgaWYoYTA9PT02KXtKKCQsOCk7Y29udGludWV9fXZhciBnMD1OVDAoJCk7c3dpdGNoKGcwWzBdKXtjYXNlIDA6dmFyIGkwPWcwWzFdLHMwPWkwWzJdLGQwPWkwWzFdO3N3aXRjaChzMFsxXSl7Y2FzZSAwOmlmKHMwWzRdKXZhciB4eD1jMCx0eD10MDtlbHNle3QwJiZxMCgkLFswLGQwLDE1XSk7dmFyIHh4PWMwLHR4PTF9YnJlYWs7Y2FzZSAxOnZhciB3MD1zMFsyXSxNMD13MFswXT09PTQ/U2goJCxjMCx3MFsxXSxSTCk6YzAseHg9TTAsdHg9dDA7YnJlYWs7Y2FzZSAyOnZhciBDMD1zMFsyXSxEMD1DMFswXT09PTQ/U2goJCxjMCxDMFsxXSxqQSk6YzAseHg9RDAsdHg9dDA7YnJlYWs7ZGVmYXVsdDp2YXIgSTA9czBbMl0sajA9STBbMF09PT00P1NoKCQsYzAsSTBbMV0sS0kpOmMwLHh4PWowLHR4PXQwfWJyZWFrO2Nhc2UgMTp2YXIgeTA9ZzBbMV1bMl0sWTA9eTBbNF0sTD15MFsxXTtzd2l0Y2goTFswXSl7Y2FzZSA0OlR4KENsMCk7YnJlYWs7Y2FzZSAwOmNhc2UgMzp2YXIgTjA9TFsxXSxTMD1OMFsyXVsxXSxLMD1icihTMCxSbyksQTA9TjBbMV07aWYoSzApdmFyIGV4PUswO2Vsc2UgdmFyICQwPWJyKFMwLHphKSxleD0kMCYmWTA7ZXgmJnEwKCQsWzAsQTAsWzE1LFMwLFkwLDAsMF1dKTticmVha312YXIgeHg9YzAsdHg9dDA7YnJlYWs7ZGVmYXVsdDp2YXIgeHg9U2goJCxjMCxnMFsxXVsyXVsxXSx5UiksdHg9dDB9dmFyIHQwPXR4LGMwPXh4LHIwPVswLGcwLHIwXX1mdW5jdGlvbiB6MChLcixTKXtyZXR1cm4gRDYoZnVuY3Rpb24oRyl7cmV0dXJuIDEtSTFbM10uY2FsbChudWxsLEdbMV0sS3IpfSxTKX12YXIgcHg9aXgocjApLHN4PSRbMzBdWzFdO2lmKHN4KXt2YXIgUT1zeFsxXSxiMD1RWzFdO2lmKHN4WzJdKXt2YXIgVT1zeFsyXSxoMD16MChiMCxRWzJdKSxfMD1DNihVKSxtMD1fMFsyXSxUMD1fMFsxXSxYPUtNKFUpLEd4PVswLFswLFQwLE14KG0wLGgwKV0sWF07JFszMF1bMV09R3h9ZWxzZSBiMShmdW5jdGlvbihLcil7cmV0dXJuIHEwKCQsWzAsS3JbMl0sWzI1LEtyWzFdXV0pfSx6MChiMCxRWzJdKSksJFszMF1bMV09MH1lbHNlIFR4KFpjMCk7SigkLDEpO3ZhciBQeD1xKCQpO3g6e3I6aWYoIXQpe2lmKHR5cGVvZiBQeD09XCJudW1iZXJcIiYmKFB4PT09MXx8bXI9PT1QeCkpYnJlYWsgcjtpZihOMSgkKSl7dmFyIEcwPWFvKCQpO2JyZWFrIHh9dmFyIEcwPTA7YnJlYWsgeH12YXIgRzA9TDAoJCl9cmV0dXJuWzAscHgsWihbMCxIXSxbMCxHMF0sTyldfSxpKTtyZXR1cm5bMCxULG4wLGosQixLLGMsWihbMCx2XSwwLE8pXX1mdW5jdGlvbiBBaCh4LHIpe3JldHVybiB4MCgwLGZ1bmN0aW9uKGUpe3JldHVyblsyLGlZKFswLHJdLGUsZVs3XSwwKV19LHgpfWZ1bmN0aW9uIGpUMCh4KXtyZXR1cm5bNyxpWSgwLHgsMSwxKV19dmFyIENUMD0wLGZZPU9CKFgwKTtmdW5jdGlvbiBjWSh4KXt2YXIgcj1wNCh4KTt4OmlmKHhbNV0pTnYoeCxyWzFdKTtlbHNle3ZhciBlPXJbMl07cjppZihlWzBdPT09Mjcpe3ZhciB0PWVbMV0sdT1yWzFdO2lmKHRbNF0pcTAoeCxbMCx1LDRdKTtlbHNle2lmKCF0WzVdKWJyZWFrIHI7cTAoeCxbMCx1LDIyXSl9YnJlYWsgeH19cmV0dXJuIHJ9ZnVuY3Rpb24gUGgoeCxyKXt2YXIgZT1yWzRdLHQ9clszXSx1PXJbMl0saT1yWzFdO2UmJkllKHgsNzYpO3ZhciBjPXUwKHgpO3JldHVybiBKKHgsWzIsWzAsaSx1LHQsZV1dKSxbMCxpLFswLHUsdCxaKFswLGNdLFswLEwwKHgpXSxPKV1dfWZ1bmN0aW9uIHgxKHgscixlKXt2YXIgdD14P3hbMV06aHYwLHU9cj9yWzFdOjEsaT1xKGUpO2lmKHR5cGVvZiBpPT1cIm51bWJlclwiKXt2YXIgYz1pLTJ8MDtpZihjZTxjPj4+MCl7aWYoVGU+PWMrMT4+PjApcmV0dXJuWzEsWzAsTDAoZSksZnVuY3Rpb24oYSxsKXtyZXR1cm4gYX1dXX1lbHNlIGlmKGM9PT02KXtFMChlKTt2YXIgdj1xKGUpO3g6aWYodHlwZW9mIHY9PVwibnVtYmVyXCIpe2lmKHYhPT0xJiZtciE9PXYpYnJlYWsgeDtyZXR1cm5bMCxMMChlKV19cmV0dXJuIE4xKGUpP1swLGFvKGUpXTpkdjB9fXJldHVybiBOMShlKT9bMSx1NChlKV06KHUmJnAyKFswLHRdLGUpLHl2MCl9ZnVuY3Rpb24gd2EoeCl7dmFyIHI9cSh4KTt4OmlmKHR5cGVvZiByPT1cIm51bWJlclwiKXtpZihyIT09MSYmbXIhPT1yKWJyZWFrIHg7cmV0dXJuWzAsTDAoeCksZnVuY3Rpb24oZSx0KXtyZXR1cm4gZX1dfXJldHVybiBOMSh4KT91NCh4KTpjaCh4KX1mdW5jdGlvbiBKQyh4LHIsZSl7dmFyIHQ9eDEoMCwwLHIpO2lmKHRbMF09PT0wKXJldHVyblswLHRbMV0sZV07dmFyIHU9dFsxXVsyXSxpPWl4KGUpO2lmKGkpdmFyIGM9aVsyXSx2PWl4KFswLHAodSxpWzFdLGZ1bmN0aW9uKGEsbCl7cmV0dXJuIEgwKEJ4KGEsNjM0ODcyNDY4LDY2KSxhLHgsbCl9KSxjXSk7ZWxzZSB2YXIgdj0wO3JldHVyblswLDAsdl19dmFyIHNZPVtdLGFZPVtdLG9ZPVtdO2Z1bmN0aW9uIHZZKHgscixlKXt2YXIgdD1lWzJdWzFdLHU9ZVsxXTtpZighKHQmJiF0WzFdWzJdWzJdJiYhdFsyXSkpcmV0dXJuIHEwKHgsWzAsdSxyXSl9ZnVuY3Rpb24gR0MoeCxyKXtpZigheFs1XSYmZjQocikpcmV0dXJuIE52KHgsclsxXSl9ZnVuY3Rpb24gbFkoeCl7dmFyIHI9c28oeCk/Y1koeCk6ZChYMFsyXSx4KSxlPTEteFs1XSx0PWUmJmY0KHIpO3JldHVybiB0JiZOdih4LHJbMV0pLHJ9ZnVuY3Rpb24gT1QwKHgpe3ZhciByPXUwKHgpO0ooeCw0NCk7dmFyIGU9bFkoeCk7cmV0dXJuWzAsZSxaKFswLHJdLDAsTyldfWZ1bmN0aW9uIERUMCh4KXt2YXIgcj11MCh4KTtKKHgsMTYpO3ZhciBlPU14KHIsdTAoeCkpO0ooeCw0KTt2YXIgdD1kKFgwWzddLHgpO0ooeCw1KTt2YXIgdT1sWSh4KSxpPXEoeCk9PT00ND9bMCx4MCgwLE9UMCx4KV06MDtyZXR1cm5bMjgsWzAsdCx1LGksWihbMCxlXSwwLE8pXV19dmFyIEZUMD0wO2Z1bmN0aW9uIHBZKHgpe3JldHVybiB4MChGVDAsRFQwLHgpfWZ1bmN0aW9uIFJUMCh4KXt2YXIgcj1kKFgwWzddLHgpLGU9eDEoY3YwLDAseCk7aWYoZVswXT09PTApdmFyIHQ9cix1PWVbMV07ZWxzZSB2YXIgdD1wKGVbMV1bMl0scixmdW5jdGlvbihoLFQpe3JldHVybiBwKEJ4KGgsanQsNzIpLGgsVCl9KSx1PTA7aWYoeFsyMF0pe3ZhciBpPXRbMl07aWYoaVswXT09PTE0KXt2YXIgYz1pWzFdWzJdO3g6e2lmKDE8TngoYykpe3ZhciB2PXEyKGMsTngoYyktMXwwKTtpZihxMihjLDApPT09dil7dmFyIGE9WzAsVDEoYywxLE54KGMpLTJ8MCldO2JyZWFrIHh9fXZhciBhPTB9dmFyIGw9YX1lbHNlIHZhciBsPTA7dmFyIG09bH1lbHNlIHZhciBtPTA7cmV0dXJuWzIzLFswLHQsbSxaKDAsWzAsdV0sTyldXX12YXIgTFQwPTA7ZnVuY3Rpb24gZDQoeCl7cmV0dXJuIHgwKExUMCxSVDAseCl9ZnVuY3Rpb24ga1koeCl7cmV0dXJuWzAsZGEoeCksZnYwXX1mdW5jdGlvbiBtWSh4KXt2YXIgcj1xKHgpO2lmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09NCYmIVAoclszXSxvNikpe0UwKHgpO3ZhciBlPXEoeCk7cmV0dXJuIHR5cGVvZiBlIT1cIm51bWJlclwiJiZlWzBdPT09Mj9QaCh4LGVbMV0pOihwMih1djAseCksa1koeCkpfXJldHVybiBwMihpdjAseCksa1koeCl9ZnVuY3Rpb24gSWgoeCxyLGUpe2Z1bmN0aW9uIHQoYSl7cmV0dXJuIHg/d3MoYSk6cChYMFsxM10sMCxhKX12YXIgdT14cigxLGUpO2lmKHR5cGVvZiB1PT1cIm51bWJlclwiKXN3aXRjaCh1KXtjYXNlIDE6Y2FzZSA5OmNhc2UgMTE0OnJldHVyblswLHQoZSksMF19ZWxzZSBpZih1WzBdPT09NCYmIVAodVszXSxOdCkpe3ZhciBpPWExKGUpO3JldHVybiBFMChlKSxbMCxpLFswLHQoZSldXX12YXIgYz1xKGUpO3g6aWYociYmdHlwZW9mIGM9PVwibnVtYmVyXCIpe3ZhciB2PXJbMV07aWYoYyE9PTQ3JiZjIT09NjIpYnJlYWsgeDtyZXR1cm4gVXgoZSx2KSxFMChlKSxbMCx3cyhlKSwwXX1yZXR1cm5bMCx0KGUpLDBdfWZ1bmN0aW9uIE1UMCh4KXt2YXIgcj1xKHgpO3g6e2lmKHR5cGVvZiByPT1cIm51bWJlclwiKXtpZihyPT09NDcpe3ZhciBlPW52MDticmVhayB4fWlmKHI9PT02Mil7dmFyIGU9dHYwO2JyZWFrIHh9fXZhciBlPTB9dmFyIHQ9cSh4KTt4OntyOmlmKHR5cGVvZiB0PT1cIm51bWJlclwiKXtpZih0IT09NDcmJnQhPT02MilicmVhayByO3ZhciB1PTE7YnJlYWsgeH12YXIgdT0wfWlmKCF1KXt2YXIgaT1JaCgwLDAseCk7cmV0dXJuWzAsMCxpWzJdLGlbMV0sMF19dmFyIGM9YTEoeCksdj1xKHgpO2lmKHR5cGVvZiB2PT1cIm51bWJlclwiKXN3aXRjaCh2KXtjYXNlIDE6Y2FzZSA5OmNhc2UgMTE0OnJldHVybiBzaCgwLHgsYyksWzAsMCwwLGMsMF19ZWxzZSBpZih2WzBdPT09NCYmIVAodlszXSxOdCkpe3ZhciBhPXhyKDEseCk7aWYodHlwZW9mIGE9PVwibnVtYmVyXCIpc3dpdGNoKGEpe2Nhc2UgMTpjYXNlIDk6Y2FzZSAxMTQ6cmV0dXJuWzAsZSwwLHdzKHgpLDBdfWVsc2UgaWYoYVswXT09PTQmJiFQKGFbM10sTnQpKXt2YXIgbD1hMSh4KTtyZXR1cm4gRTAoeCksWzAsZSxbMCx3cyh4KV0sbCwwXX1yZXR1cm4gc2goMCx4LGMpLEUwKHgpLFswLDAsWzAscChYMFsxM10sMCx4KV0sYywwXX12YXIgbT1JaCgxLDAseCk7cmV0dXJuWzAsZSxtWzJdLG1bMV0sMF19ZnVuY3Rpb24gaFkoeCxyKXt2YXIgZT1xKHgpO2lmKHR5cGVvZiBlPT1cIm51bWJlclwiJiZLMj09PWUpe3ZhciB0PXgwKDAsZnVuY3Rpb24oail7RTAoaik7dmFyIEk9cShqKTtyZXR1cm4gdHlwZW9mIEkhPVwibnVtYmVyXCImJklbMF09PT00JiYhUChJWzNdLE50KT8oRTAoaiksMjw9cj9bMCxwKFgwWzEzXSwwLGopXTpbMCx3cyhqKV0pOihwMih4djAsaiksMCl9LHgpLHU9dFsyXSxpPXRbMV0sYz11P1swLFswLGksdVsxXV1dOjA7cmV0dXJuIGM/WzAsWzEsY1sxXV1dOjB9Sih4LDApO2Zvcih2YXIgdj0wLGE9MDs7KXt2YXIgbD12P3ZbMV06MSxtPXEoeCk7eDppZih0eXBlb2YgbT09XCJudW1iZXJcIil7aWYobSE9PTEmJm1yIT09bSlicmVhayB4O3ZhciBoPWl4KGEpO3JldHVybiBKKHgsMSksWzAsWzAsaF1dfXN3aXRjaCgxLWwmJlV4KHgsMjkpLHIpe2Nhc2UgMDp2YXIgVD1JaCgxLGV2MCx4KSxOPVswLDAsVFsyXSxUWzFdLDBdO2JyZWFrO2Nhc2UgMTp2YXIgYj1JaCgxLHJ2MCx4KSxOPVswLDAsYlsyXSxiWzFdLDBdO2JyZWFrO2RlZmF1bHQ6dmFyIE49TVQwKHgpfXZhciB2PVswLHUyKHgsOSldLGE9WzAsTixhXX19ZnVuY3Rpb24gV0MoeCxyKXt2YXIgZT14MSgwLDAseCk7cmV0dXJuIGVbMF09PT0wP1swLGVbMV0scl06WzAsMCxwKGVbMV1bMl0scixmdW5jdGlvbih0LHUpe3ZhciBpPXVbMV07cmV0dXJuWzAsaSxIMChCeCh0LEFiLDczKSx0LGksdVsyXSldfSldfWZ1bmN0aW9uIHk0KHgscixlKXt2YXIgdD1oWShyLHgpLHU9V0MocixtWShyKSksaT11WzJdO3JldHVyblsyOSxbMCx4LGksMCx0LFooWzAsZV0sWzAsdVsxXV0sTyldXX1mdW5jdGlvbiBOaCh4LHIsZSl7dmFyIHQ9Mjw9eD9bMCxwKFgwWzEzXSwwLHIpLDBdOlswLHdzKHIpLDBdLHU9cShyKTt4OntpZih0eXBlb2YgdT09XCJudW1iZXJcIiYmdT09PTkpe0oociw5KTt2YXIgaT1oWShyLHgpO2JyZWFrIHh9dmFyIGk9MH12YXIgYz1XQyhyLG1ZKHIpKSx2PWNbMl07cmV0dXJuWzI5LFswLHgsdixbMCx0XSxpLFooWzAsZV0sWzAsY1sxXV0sTyldXX1mdW5jdGlvbiBxVDAoeCl7dmFyIHI9aGEoMSx4KSxlPXUwKHIpO0oociw1MSk7dmFyIHQ9cShyKTtpZih0eXBlb2YgdD09XCJudW1iZXJcIilzd2l0Y2godCl7Y2FzZSAwOnJldHVybiB5NCgyLHIsZSk7Y2FzZSA0NzppZihBMihyKSl7SihyLDQ3KTt2YXIgdT1xKHIpO3g6aWYodHlwZW9mIHU9PVwibnVtYmVyXCIpe2lmKEsyIT09dSYmdSlicmVhayB4O3JldHVybiB5NCgxLHIsZSl9cmV0dXJuIE5oKDEscixlKX1icmVhaztjYXNlIDYyOmlmKEEyKHIpKXt2YXIgaT14cigxLHIpO3g6e2lmKHR5cGVvZiBpPT1cIm51bWJlclwiKXN3aXRjaChpKXtjYXNlIDA6cmV0dXJuIEUwKHIpLHk0KDAscixlKTtjYXNlIDEwNzpyZXR1cm4gRTAocikscDIoMCxyKSx5NCgwLHIsZSk7Y2FzZSA5OmJyZWFrO2RlZmF1bHQ6YnJlYWsgeH1lbHNlIGlmKGlbMF0hPT00fHxQKGlbM10sbzYpKWJyZWFrIHg7cmV0dXJuIE5oKDIscixlKX1yZXR1cm4gRTAociksTmgoMCxyLGUpfWJyZWFrO2Nhc2UgMTA3OnJldHVybiB5NCgyLHIsZSl9ZWxzZSBpZih0WzBdPT09Mil7dmFyIGM9V0MocixQaChyLHRbMV0pKSx2PWNbMl07cmV0dXJuWzI5LFswLDIsdiwwLDAsWihbMCxlXSxbMCxjWzFdXSxPKV1dfXJldHVybiBOaCgyLHIsZSl9dmFyIFVUMD0wO2Z1bmN0aW9uIGpoKHgpe3JldHVybiB4MChVVDAscVQwLHgpfWZ1bmN0aW9uIGRZKHgscixlLHQpe2Z1bmN0aW9uIHUoaSl7dmFyIGM9dTAoaSksdj1kKFgwWzI3XSxpKSxhPXUyKGksMTYpP1swLGQoWDBbN10saSldOjA7SihpLDg3KTt2YXIgbD1kKFgwWzE1XSxpKSxtPXEoaSk7eDp7cjppZih0eXBlb2YgbT09XCJudW1iZXJcIil7aWYobSE9PTEmJm1yIT09bSlicmVhayByO2JyZWFrIHh9SihpLDkpfXJldHVyblswLHYsbCxhLFooWzAsY10sWzAsTDAoaSldLE8pXX1yZXR1cm4geDAoWzAscl0sZnVuY3Rpb24oaSl7SihpLDApO2Zvcih2YXIgYz0wOzspe3ZhciB2PXEoaSk7eDppZih0eXBlb2Ygdj09XCJudW1iZXJcIil7aWYodiE9PTEmJm1yIT09dilicmVhayB4O3ZhciBhPWl4KGMpO3JldHVybiBKKGksMSksWzMyLFswLHQsYSxaKFswLGVdLFswLEwwKGkpXSxPKV1dfXZhciBjPVswLHgwKDAsdSxpKSxjXX19LHgpfWZ1bmN0aW9uIENoKHgscil7MS1BMihyKSYmVXgocixmZSk7dmFyIGU9TXgoeCx1MChyKSk7SihyLDYyKSxWMihyLDEpO3ZhciB0PXdzKHIpLHU9cShyKT09PTk5P1h0KHIsdCk6dCxpPUhlKHIpO0oociw4Myk7dmFyIGM9Z2Eocik7WjIocik7dmFyIHY9eDEoMCwwLHIpO2lmKHZbMF09PT0wKXZhciBhPWMsbD12WzFdO2Vsc2UgdmFyIGE9cCh2WzFdWzJdLGMsZnVuY3Rpb24obSxoKXtyZXR1cm4gcChCeChtLEYzLDc4KSxtLGgpfSksbD0wO3JldHVyblswLHUsaSxhLFooWzAsZV0sWzAsbF0sTyldfWZ1bmN0aW9uIE9oKHgscixlKXt2YXIgdD14P3hbMV06MDsxLUEyKGUpJiZVeChlLDkzKTt2YXIgdT1NeChyLHUwKGUpKTtKKGUsNjMpO3ZhciBpPXUwKGUpO0ooZSw2Mik7dmFyIGM9TXgodSxpKTtWMihlLDEpO3ZhciB2PXdzKGUpLGE9cShlKT09PTk5P1h0KGUsdik6dixsPUhlKGUpLG09cShlKTt4OntpZih0eXBlb2YgbT09XCJudW1iZXJcIiYmbT09PTg3KXtKKGUsODcpO3ZhciBoPVswLGdhKGUpXTticmVhayB4fXZhciBoPTB9aWYodCl7dmFyIFQ9cShlKTt4OntpZih0eXBlb2YgVD09XCJudW1iZXJcIiYmVD09PTgzKXtpZihVeChlLDE0KSxFMChlKSxxKGUpIT09OCYmIXNsKGUpKXt2YXIgYj1bMCxnYShlKV07YnJlYWsgeH12YXIgYj0wO2JyZWFrIHh9dmFyIGI9MH12YXIgTj1ifWVsc2V7SihlLDgzKTt2YXIgTj1bMCxnYShlKV19WjIoZSk7dmFyIGo9eDEoMCwwLGUpO2lmKGpbMF09PT0wKXZhciBJPU4sRj1oLE09bCx6PWEsQj1qWzFdO2Vsc2V7dmFyIEs9alsxXVsyXTtpZihOKXZhciBJPVswLHAoSyxOWzFdLGZ1bmN0aW9uKHIwLHYwKXtyZXR1cm4gcChCeChyMCxGMyw3OSkscjAsdjApfSldLEY9aCxNPWwsej1hLEI9MDtlbHNlIGlmKGgpdmFyIEk9MCxGPVswLHAoSyxoWzFdLGZ1bmN0aW9uKHIwLHYwKXtyZXR1cm4gcChCeChyMCxGMyw4MCkscjAsdjApfSldLE09bCx6PWEsQj0wO2Vsc2UgaWYobCl2YXIgST0wLEY9MCxNPVswLHAoSyxsWzFdLGZ1bmN0aW9uKHIwLHYwKXtyZXR1cm4gcChCeChyMCxvVCw4MSkscjAsdjApfSldLHo9YSxCPTA7ZWxzZSB2YXIgST0wLEY9MCxNPTAsej1wKEssYSxmdW5jdGlvbihyMCx2MCl7cmV0dXJuIHAoQngocjAsQzMsODIpLHIwLHYwKX0pLEI9MH1yZXR1cm5bMCx6LE0sSSxGLFooWzAsY10sWzAsQl0sTyldfWZ1bmN0aW9uIERoKHgscil7MS1BMihyKSYmVXgocixKZSk7dmFyIGU9TXgoeCx1MChyKSk7SihyLDU0KTt2YXIgdD13cyhyKSx1PXEocik9PT00Mj90Olh0KHIsdCksaT1IZShyKSxjPXEocik9PT00Mj9pOlExKHIsaSksdj1OZShpWCxyKSxhPXZbMl0sbD12WzFdLG09cCh3YShyKVsyXSxhLGZ1bmN0aW9uKGgsVCl7dmFyIGI9VFsxXTtyZXR1cm5bMCxiLEgwKEJ4KGgsZ0wsODMpLGgsYixUWzJdKV19KTtyZXR1cm5bMCx1LGMsbCxtLFooWzAsZV0sMCxPKV19ZnVuY3Rpb24gVkMoeCxyKXt2YXIgZT1oYSgxLHIpLHQ9TXgoeCx1MChlKSk7SihlLDQxKTt2YXIgdT1wKFgwWzEzXSwwLGUpLGk9cShlKTt4OntyOmlmKHR5cGVvZiBpPT1cIm51bWJlclwiKXtpZihpIT09OTkmJmkpYnJlYWsgcjt2YXIgYz1YdChlLHUpO2JyZWFrIHh9dmFyIGM9dX12YXIgdj1IZShlKSxhPXEoZSk7eDp7aWYodHlwZW9mIGE9PVwibnVtYmVyXCImJiFhKXt2YXIgbD1RMShlLHYpO2JyZWFrIHh9dmFyIGw9dn1pZih1MihlLDQyKSl7dmFyIG09cFgoZSksaD1xKGUpO3g6e2lmKHR5cGVvZiBoPT1cIm51bWJlclwiJiYhaCl7dmFyIFQ9WzAscChGMihlKVsyXSxtLGZ1bmN0aW9uKGkwLHMwKXtyZXR1cm4gVzIoZChCeChpMCxURCwxNSksaTApLHMwKX0pXTticmVhayB4fXZhciBUPVswLG1dfXZhciBiPVR9ZWxzZSB2YXIgYj0wO3ZhciBOPXEoZSk7eDp7aWYodHlwZW9mIE4hPVwibnVtYmVyXCImJk5bMF09PT00JiYhUChOWzNdLGxSKSl7RTAoZSk7dmFyIGo9cChzWVsxXSxlLDApLEk9cShlKTtyOntpZih0eXBlb2YgST09XCJudW1iZXJcIiYmIUkpe3ZhciBGPUFCKGUsaik7YnJlYWsgcn12YXIgRj1qfXZhciBNPUY7YnJlYWsgeH12YXIgTT0wfXZhciB6PXEoZSk7eDp7aWYodHlwZW9mIHo9PVwibnVtYmVyXCImJno9PT01Myl7dmFyIEI9dFkoZSwwKSxLPXEoZSk7cjp7aWYodHlwZW9mIEs9PVwibnVtYmVyXCImJiFLKXt2YXIgbjA9WzAsUEIoZSxCKV07YnJlYWsgcn12YXIgbjA9WzAsQl19dmFyICQ9bjA7YnJlYWsgeH12YXIgJD0wfXZhciBIPTAsdDA9MCxjMD0xLHIwPU5lKGZ1bmN0aW9uKGEwKXtyZXR1cm4gZEMoYzAsdDAsSCxhMCl9LGUpLHYwPXAod2EoZSlbMl0scjAsZnVuY3Rpb24oYTAsZzApe3ZhciBpMD1nMFsxXTtyZXR1cm5bMCxpMCxIMChCeChhMCxnTCw4NCksYTAsaTAsZzBbMl0pXX0pO3JldHVyblswLGMsbCx2MCxiLE0sJCxaKFswLHRdLDAsTyldfWZ1bmN0aW9uICRDKHgscil7dmFyIGU9TXgoeCx1MChyKSk7eXMocixCbzApO3ZhciB0PVh0KHIscChYMFsxM10sWG8wLHIpKSx1PVExKHIsSGUocikpLGk9TmUoZVgsciksYz1pQyhyKT9jQyhyLFRDKHIpKTpUQyhyKSx2PXgxKDAsMCxyKTtpZih2WzBdPT09MCl2YXIgYT1jLGw9dlsxXTtlbHNlIHZhciBhPXAodlsxXVsyXSxjLGZ1bmN0aW9uKG0saCl7cmV0dXJuIHAoQngobSxxTCw4NSksbSxoKX0pLGw9MDtyZXR1cm5bMCx0LHUsaSxhLFooWzAsZV0sWzAsbF0sTyldfWZ1bmN0aW9uIGc0KHgscixlKXt2YXIgdD1yP3JbMV06MCx1PU14KHQsdTAoZSkpLGk9cShlKTt4OntpZih0eXBlb2YgaT09XCJudW1iZXJcIil7aWYoaT09PTE1KXtFMChlKTt2YXIgYz0xO2JyZWFrIHh9fWVsc2UgaWYoaVswXT09PTQmJiFQKGlbM10sVm8pJiYheCl7RTAoZSk7dmFyIGM9MDticmVhayB4fXluKGUsaSk7dmFyIGM9MX12YXIgdj1YdChlLHAoWDBbMTNdLDAsZSkpLGE9eDAoMCxmdW5jdGlvbihJKXt2YXIgRj1RMShJLEhlKEkpKSxNPU5lKGtoLEkpO0ooSSw4NyksVjIoSSwxKTt4OntpZihhaChJKSYmYyE9PTApe3ZhciBLPVsxLGhDKEkpXTticmVhayB4fXZhciB6PWdhKEkpO3I6e2lmKHEoSSk9PT02NyYmYyE9PTApe3ZhciBCPVswLHAoRjIoSSlbMl0seixmdW5jdGlvbigkLEgpe3JldHVybiBwKEJ4KCQsRjMsNiksJCxIKX0pXTticmVhayByfXZhciBCPVswLHpdfXZhciBLPUJ9cmV0dXJuIFoyKEkpLFsxMixbMCxGLE0sSywwLGNdXX0sZSksbD1OZSh2WCxlKSxtPXgxKDAsMCxlKTtpZihtWzBdPT09MCl2YXIgaD1sLFQ9YSxiPW1bMV07ZWxzZXt2YXIgTj1tWzFdWzJdO2lmKGwpdmFyIGg9WzAscChOLGxbMV0sZnVuY3Rpb24oeixCKXtyZXR1cm4gcChCeCh6LGpMLDg2KSx6LEIpfSldLFQ9YSxiPTA7ZWxzZSB2YXIgaD0wLFQ9cChOLGEsZnVuY3Rpb24oeixCKXtyZXR1cm4gcChCeCh6LEYzLDg3KSx6LEIpfSksYj0wfXZhciBqPVswLFRbMV0sVF07cmV0dXJuWzAsdixqLGgsWihbMCx1XSxbMCxiXSxPKV19ZnVuY3Rpb24geVkoeCl7cmV0dXJuIHgwKDAsZnVuY3Rpb24ocil7dmFyIGU9dTAocik7SihyLDYxKTt2YXIgdD1xKHIpO3g6e2lmKHR5cGVvZiB0PT1cIm51bWJlclwiJiZ0PT09NjUpe1V4KHIsMTEpLEoociw2NSk7dmFyIHU9MTticmVhayB4fXZhciB1PTB9cmV0dXJuWzEwLGc0KHUsWzAsZV0scildfSx4KX1mdW5jdGlvbiBGaCh4LHIsZSl7dmFyIHQ9TXgoZSx1MChyKSk7c3dpdGNoKHgpe2Nhc2UgMDpKKHIsMjUpO2JyZWFrO2Nhc2UgMTpKKHIsMjkpO2JyZWFrO2RlZmF1bHQ6SihyLDI4KX12YXIgdT1wKFgwWzEzXSxZbzAsciksaT1EdihyKSxjPXgxKDAsMCxyKTtpZihjWzBdPT09MCl2YXIgdj1pLGE9Y1sxXTtlbHNlIHZhciB2PXAoY1sxXVsyXSxpLGZ1bmN0aW9uKGwsbSl7cmV0dXJuIHAoQngobCxrQSw4OCksbCxtKX0pLGE9MDtyZXR1cm5bMCx1LHYseCxaKFswLHRdLFswLGFdLE8pXX1mdW5jdGlvbiBSaCh4LHIpe3JldHVybiB4MCgwLGZ1bmN0aW9uKGUpe3ZhciB0PXUwKGUpO3JldHVybiBKKGUsNjEpLFsxNyxGaCh4LGUsdCldfSxyKX1mdW5jdGlvbiBnWSh4KXtyZXR1cm4geDAoMCxmdW5jdGlvbihyKXt2YXIgZT11MChyKTtKKHIsMCk7dmFyIHQ9cChYMFs2XSxmdW5jdGlvbihpKXtyZXR1cm4gdHlwZW9mIGk9PVwibnVtYmVyXCImJmk9PT0xPzE6MH0sciksdT10PT09MD91MChyKTowO3JldHVybiBKKHIsMSksWzAsdCxPMihbMCxlXSxbMCx3YShyKVsxXV0sdSxPKV19LHgpfWZ1bmN0aW9uIHc0KHgpe3lzKHgsR28wKTt2YXIgcj1xKHgpO3g6e2lmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09Mil7dmFyIHQ9UGgoeCxyWzFdKTticmVhayB4fXZhciBlPVswLFYwKHgpLFdvMF07cDIoVm8wLHgpO3ZhciB0PWV9dmFyIHU9dFsyXSxpPXRbMV0sYz14MSgwLDAseCk7cmV0dXJuIGNbMF09PT0wP1swLFswLGksdV0sY1sxXV06WzAsWzAsaSxwKGNbMV1bMl0sdSxmdW5jdGlvbih2LGEpe3JldHVybiBIMChCeCh2LEFiLDkwKSx2LGksYSl9KV0sMF19ZnVuY3Rpb24gd1koeCxyLGUpe2Zvcih2YXIgdD14LHU9ZTs7KXt2YXIgaT10P3RbMV06MSxjPXEocik7eDppZih0eXBlb2YgYz09XCJudW1iZXJcIil7aWYoYyE9PTEmJm1yIT09YylicmVhayB4O3JldHVybiBpeCh1KX0xLWkmJlV4KHIsMjEpO3ZhciB2PXgwKDAsZnVuY3Rpb24obSl7dmFyIGg9YTEobSksVD1xKG0pO3g6e2lmKHR5cGVvZiBUIT1cIm51bWJlclwiJiZUWzBdPT09NCYmIVAoVFszXSxOdCkpe0UwKG0pO3ZhciBiPVswLGExKG0pXTticmVhayB4fXZhciBiPTB9cmV0dXJuWzAsaCxiXX0sciksdD1bMCx1MihyLDkpXSx1PVswLHYsdV19fWZ1bmN0aW9uIF9ZKHgscil7cmV0dXJuIGIxKGZ1bmN0aW9uKGUpe3JldHVybiBzaCgkbzAseCxlWzJdWzFdKX0scil9ZnVuY3Rpb24gYlkoeCl7cmV0dXJuIHgwKDAsZnVuY3Rpb24ocil7MS1BMihyKSYmVXgocixzbik7dmFyIGU9dTAocik7SihyLDYxKTt2YXIgdD12QigxLGhhKDEscikpLHU9TXgoZSx1MCh0KSk7Sih0LDUwKTt2YXIgaT1xKHQpO2lmKHR5cGVvZiBpPT1cIm51bWJlclwiKXN3aXRjaChpKXtjYXNlIDM3OnZhciBjPU14KHUsdTAodCkpLHY9eDAoMCxmdW5jdGlvbih6MCl7cmV0dXJuIEooejAsMzcpfSx0KVsxXSxhPWxCKDEsdCksbD1xKGEpO3g6e2lmKHR5cGVvZiBsPT1cIm51bWJlclwiKXN3aXRjaChsKXtjYXNlIDE1OnZhciBtPTAsej0wLEI9WzAsWzEseDAoMCxmdW5jdGlvbihzeCl7cmV0dXJuIGc0KG0sMCxzeCl9LGEpXV07YnJlYWsgeDtjYXNlIDQxOnZhciBoPTAsej0wLEI9WzAsWzIseDAoMCxmdW5jdGlvbihzeCl7cmV0dXJuIFZDKGgsc3gpfSxhKV1dO2JyZWFrIHh9ZWxzZSBpZihsWzBdPT09NCl7dmFyIFQ9bFszXTtpZihQKFQsJHMpKXtpZighUChULFZvKSYmYVsyOF1bMV0pe3ZhciBiPTAsej0wLEI9WzAsWzEseDAoMCxmdW5jdGlvbihzeCl7cmV0dXJuIGc0KGIsMCxzeCl9LGEpXV07YnJlYWsgeH19ZWxzZSBpZihhWzI4XVsxXSl7dmFyIE49MCx6PTAsQj1bMCxbMyx4MCgwLGZ1bmN0aW9uKHN4KXtyZXR1cm4gJEMoTixzeCl9LGEpXV07YnJlYWsgeH19dmFyIGo9Z2EoYSksST14MSgwLDAsYSk7aWYoSVswXT09PTApdmFyIEY9SVsxXSxNPWo7ZWxzZSB2YXIgRj0wLE09cChJWzFdWzJdLGosZnVuY3Rpb24oejAscHgpe3JldHVybiBwKEJ4KHowLEYzLDkyKSx6MCxweCl9KTt2YXIgej1GLEI9WzAsWzQsTV1dfXJldHVybls5LFswLFswLHZdLEIsMCwwLFooWzAsY10sWzAsel0sTyldXTtjYXNlIDQ5OmlmKHRbMjhdWzJdKXt2YXIgSz1mWVsxXSxuMD14MCgwLGZ1bmN0aW9uKHowKXtyZXR1cm4gSygwLHowKX0sdCk7cmV0dXJuWzksWzAsMCxbMCxbOCxuMF1dLDAsMCxaKFswLHVdLDAsTyldXX1icmVhaztjYXNlIDU0OnZhciAkPTAsSD14MCgwLGZ1bmN0aW9uKHowKXtyZXR1cm4gRGgoJCx6MCl9LHQpO3JldHVybls5LFswLDAsWzAsWzcsSF1dLDAsMCxaKFswLHVdLDAsTyldXTtjYXNlIDYyOnZhciB0MD0wLGMwPXgwKDAsZnVuY3Rpb24oejApe3JldHVybiBDaCh0MCx6MCl9LHQpO3JldHVybls5LFswLDAsWzAsWzUsYzBdXSwwLDAsWihbMCx1XSwwLE8pXV07Y2FzZSA2Mzp2YXIgcjA9MCx2MD14MCgwLGZ1bmN0aW9uKHowKXtyZXR1cm4gT2goSG8wLHIwLHowKX0sdCk7cmV0dXJuWzksWzAsMCxbMCxbNix2MF1dLDAsMCxaKFswLHVdLDAsTyldXTtjYXNlIDEwNzp2YXIgYTA9VjAodCk7Sih0LEsyKTt2YXIgZzA9cSh0KTt4OntpZih0eXBlb2YgZzAhPVwibnVtYmVyXCImJmcwWzBdPT09NCYmIVAoZzBbM10sTnQpKXtFMCh0KTt2YXIgaTA9WzAscChYMFsxM10sMCx0KV07YnJlYWsgeH12YXIgaTA9MH12YXIgczA9dzQodCksZDA9czBbMV07cmV0dXJuWzksWzAsMCwwLFswLFsxLFswLGEwLGkwXV1dLFswLGQwXSxaKFswLHVdLFswLHMwWzJdXSxPKV1dO2Nhc2UgMTU6Y2FzZSAyNTpjYXNlIDI4OmNhc2UgMjk6Y2FzZSA0MTp2YXIgdzA9cSh0KTt4OmlmKHR5cGVvZiB3MD09XCJudW1iZXJcIil7aWYoMjU8PXcwKXtpZig0Mjw9dzApYnJlYWsgeDtzd2l0Y2godzArRTN8MCl7Y2FzZSAwOnZhciBDMD1bMCxbMCx4MCgwLGZ1bmN0aW9uKHowKXtyZXR1cm4gRmgoMCx6MCwwKX0sdCldXTticmVhaztjYXNlIDM6dmFyIEMwPVswLFswLHgwKDAsZnVuY3Rpb24oejApe3JldHVybiBGaCgyLHowLDApfSx0KV1dO2JyZWFrO2Nhc2UgNDp2YXIgQzA9WzAsWzAseDAoMCxmdW5jdGlvbih6MCl7cmV0dXJuIEZoKDEsejAsMCl9LHQpXV07YnJlYWs7Y2FzZSAxNjp2YXIgTTA9MCxDMD1bMCxbMix4MCgwLGZ1bmN0aW9uKHowKXtyZXR1cm4gVkMoTTAsejApfSx0KV1dO2JyZWFrO2RlZmF1bHQ6YnJlYWsgeH12YXIgRDA9QzB9ZWxzZXtpZih3MCE9PTE1KWJyZWFrIHg7dmFyIEkwPTAsRDA9WzAsWzEseDAoMCxmdW5jdGlvbihweCl7cmV0dXJuIGc0KEkwLDAscHgpfSx0KV1dfXJldHVybls5LFswLDAsRDAsMCwwLFooWzAsdV0sMCxPKV1dfXRocm93IFcwKFswLE5yLFpvMF0sMSl9ZWxzZSBpZihpWzBdPT09NCl7dmFyIGowPWlbM107aWYoUChqMCwkcykpe2lmKCFQKGowLFZvKSYmdFsyOF1bMV0pe3ZhciB5MD0wLFkwPVswLFsxLHgwKDAsZnVuY3Rpb24oejApe3JldHVybiBnNCh5MCwwLHowKX0sdCldXTtyZXR1cm5bOSxbMCwwLFkwLDAsMCxaKFswLHVdLDAsTyldXX19ZWxzZSBpZih0WzI4XVsxXSl7dmFyIEw9MCxOMD1bMCxbMyx4MCgwLGZ1bmN0aW9uKHowKXtyZXR1cm4gJEMoTCx6MCl9LHQpXV07cmV0dXJuWzksWzAsMCxOMCwwLDAsWihbMCx1XSwwLE8pXV19fUoodCwwKTt2YXIgUzA9d1koMCx0LDApO0oodCwxKTt2YXIgSzA9cSh0KTt4OntpZih0eXBlb2YgSzAhPVwibnVtYmVyXCImJkswWzBdPT09NCYmIVAoSzBbM10sbzYpKXt2YXIgQTA9dzQodCkseHg9QTBbMl0sdHg9WzAsQTBbMV1dO2JyZWFrIHh9X1kodCxTMCk7dmFyICQwPXgxKDAsMCx0KSxleD0kMFswXT09PTA/JDBbMV06JDBbMV1bMV0seHg9ZXgsdHg9MH1yZXR1cm5bOSxbMCwwLDAsWzAsWzAsUzBdXSx0eCxaKFswLHVdLFswLHh4XSxPKV1dfSx4KX1GcihzWSxbMCxmdW5jdGlvbih4LHIpe2Zvcih2YXIgZT1yOzspe3ZhciB0PVswLHBYKHgpLGVdLHU9cSh4KTtpZih0eXBlb2YgdT09XCJudW1iZXJcIiYmdT09PTkpe0ooeCw5KTt2YXIgZT10O2NvbnRpbnVlfXJldHVybiBpeCh0KX19XSksRnIoYVksWzAsZnVuY3Rpb24oeCxyKXt2YXIgZT1xKHIpO3g6e2lmKHR5cGVvZiBlIT1cIm51bWJlclwiJiZlWzBdPT09Mil7dmFyIHQ9UGgocixlWzFdKSx1PVsxLHAoRjIocilbMl0sdCxmdW5jdGlvbih2LGEpe3ZhciBsPWFbMV07cmV0dXJuWzAsbCxIMChCeCh2LEFiLDE4KSx2LGwsYVsyXSldfSldO2JyZWFrIHh9dmFyIHU9WzAsWHQocixwKFgwWzEzXSwwLHIpKV19dmFyIGk9Z1kocik7cmV0dXJuWzEyLFswLHUsaSxaKFswLHhdLDAsTyldXX1dKSxGcihvWSxbMCxmdW5jdGlvbih4LHIpe3ZhciBlPVh0KHIscChYMFsxM10sMCxyKSksdD1nWShyKTtyZXR1cm5bMTQsWzAsZSx0LFooWzAseF0sMCxPKV1dfV0pO3ZhciBUWT1bXSxFWT1bXTtmdW5jdGlvbiBMaCh4LHIpe3ZhciBlPXJbMl0sdD1yWzFdO3N3aXRjaChlWzBdKXtjYXNlIDA6dmFyIHU9ZVsxXSxpPXVbMl0sYz11WzFdLHY9b2woeCk7cmV0dXJuWzAsdCxbMSxbMCxIMChFWVsxXSx4LDAsYyksdixpXV1dO2Nhc2UgMTA6dmFyIGE9ZVsxXSxsPWFbMl1bMV0sbT1hWzFdO3g6e2lmKHhbNV0mJlB2KGwpKXtxMCh4LFswLG0sNzFdKTticmVhayB4fWlmKDEteFs1XSl7aWYoeFsxOF0mJmJyKGwsQjEpKXtxMCh4LFswLG0sY2VdKTticmVhayB4fXZhciBoPXhbMTldLFQ9aCYmYnIobCxudik7VCYmcTAoeCxbMCxtLDVdKX19cmV0dXJuWzAsdCxbMixbMCxhLG9sKHgpLDBdXV07Y2FzZSAyNjp2YXIgYj1lWzFdLE49YlsyXSxqPWJbMV0sST1vbCh4KTtyZXR1cm5bMCx0LFswLFswLEgwKFRZWzFdLHgsMCxqKSxJLE5dXV07ZGVmYXVsdDpyZXR1cm5bMCx0LFszLFswLHQsZV1dXX19ZnVuY3Rpb24gTWgoeCxyKXtyZXR1cm4gZnVuY3Rpb24oZSl7aWYoIWUpcmV0dXJuIGl4KHIpO3ZhciB0PWVbMV07aWYodFswXSE9PTApe3ZhciB1PXRbMV0saT11WzFdO2lmKGVbMl0pe3ZhciBjPWVbMl07cmV0dXJuIHEwKHgsWzAsaSw2NF0pLE1oKHgscikoYyl9dmFyIHY9dVsyXSxhPXZbMl07cmV0dXJuIE1oKHgsWzAsWzEsWzAsaSxbMCxMaCh4LHZbMV0pLGFdXV0scl0pKDApfXZhciBsPXRbMV0sbT1sWzJdLGg9ZVsyXSxUPWxbMV07c3dpdGNoKG1bMF0pe2Nhc2UgMDp2YXIgYj1tWzJdLE49bVsxXSxqPW1bM107c3dpdGNoKE5bMF0pe2Nhc2UgMDp2YXIgST1bMCxOWzFdXTticmVhaztjYXNlIDE6dmFyIEk9WzEsTlsxXV07YnJlYWs7Y2FzZSAyOnZhciBJPVsyLE5bMV1dO2JyZWFrO2Nhc2UgMzp2YXIgST1bMyxOWzFdXTticmVhaztjYXNlIDQ6dmFyIEk9VHgoX3YwKTticmVhaztkZWZhdWx0OnZhciBJPVs0LE5bMV1dfXZhciBGPWJbMl07eDp7aWYoRlswXT09PTQpe3ZhciBNPUZbMV07aWYoIU1bMV0pe3ZhciB6PVswLE1bM11dLEI9TVsyXTticmVhayB4fX12YXIgej0wLEI9TGgoeCxiKX12YXIgSz1bMCxbMCxbMCxULFswLEksQix6LGpdXV0scl07YnJlYWs7Y2FzZSAxOnEwKHgsWzAsbVsyXVsxXSw1MF0pO3ZhciBLPXI7YnJlYWs7ZGVmYXVsdDpxMCh4LFswLG1bMl1bMV0sYnYwXSk7dmFyIEs9cn1yZXR1cm4gTWgoeCxLKShoKX19RnIoVFksWzAsTWhdKTtmdW5jdGlvbiBTWSh4LHIpe3ZhciBlPXJbMV07cmV0dXJuIGQoWDBbMjNdLHIpP1swLExoKHgscildOihxMCh4LFswLGUsMzZdKSwwKX1mdW5jdGlvbiBrbCh4LHIpe3JldHVybiBmdW5jdGlvbihlKXtpZighZSlyZXR1cm4gaXgocik7dmFyIHQ9ZVsxXTtzd2l0Y2godFswXSl7Y2FzZSAwOnZhciB1PXRbMV0saT11WzJdO2lmKGlbMF09PT00KXt2YXIgYz1pWzFdO2lmKCFjWzFdKXt2YXIgdj1lWzJdO3JldHVybiBrbCh4LFswLFswLFswLHVbMV0sWzAsY1syXSxbMCxjWzNdXV1dXSxyXSkodil9fXZhciBhPWVbMl0sbD1TWSh4LHUpO2lmKGwpdmFyIG09bFsxXSxoPVswLFswLFswLG1bMV0sWzAsbSwwXV1dLHJdO2Vsc2UgdmFyIGg9cjtyZXR1cm4ga2woeCxoKShhKTtjYXNlIDE6dmFyIFQ9dFsxXSxiPVRbMV07aWYoZVsyXSl7dmFyIE49ZVsyXTtyZXR1cm4gcTAoeCxbMCxiLDE2XSksa2woeCxyKShOKX12YXIgaj1UWzJdLEk9alsyXSxGPVNZKHgsalsxXSksTT1GP1swLFsxLFswLGIsWzAsRlsxXSxJXV1dLHJdOnI7cmV0dXJuIGtsKHgsTSkoMCk7ZGVmYXVsdDp2YXIgej1lWzJdO3JldHVybiBrbCh4LFswLFsyLHRbMV1dLHJdKSh6KX19fUZyKEVZLFswLGtsXSk7ZnVuY3Rpb24gXzQoeCxyKXt2YXIgZT1xKHgpO2lmKHR5cGVvZiBlPT1cIm51bWJlclwiKXtpZihlPT09NilyZXR1cm4geDAoMCxmdW5jdGlvbihpKXt2YXIgYz11MChpKTtKKGksNik7eDpyOnt2YXIgdj0wO2U6Zm9yKDs7KXt2YXIgYT1xKGkpO2lmKHR5cGVvZiBhPT1cIm51bWJlclwiKXtpZigxMzw9YSl7aWYobXI9PT1hKWJyZWFrIHJ9ZWxzZSBpZig3PD1hKXN3aXRjaChhLTd8MCl7Y2FzZSAwOmJyZWFrIGU7Y2FzZSAyOnZhciBsPVYwKGkpO0ooaSw5KTt2YXIgdj1bMCxbMixsXSx2XTtjb250aW51ZTtjYXNlIDU6dmFyIG09dTAoaSksaD14MCgwLGZ1bmN0aW9uKCQpe3JldHVybiBKKCQsMTIpLF80KCQscil9LGkpLFQ9aFsxXSxiPWhbMl0sTj1bMSxbMCxULFswLGIsWihbMCxtXSwwLE8pXV1dO3EoaSkhPT03JiYocTAoaSxbMCxULDE2XSkscShpKT09PTkmJkUwKGkpKTt2YXIgdj1bMCxOLHZdO2NvbnRpbnVlfX12YXIgaj14MCgwLGZ1bmN0aW9uKG4wKXt2YXIgJD1fNChuMCxyKSxIPXEobjApO3Q6e2lmKHR5cGVvZiBIPT1cIm51bWJlclwiJiZIPT09ODMpe0oobjAsODMpO3ZhciB0MD1bMCxkKFgwWzEwXSxuMCldO2JyZWFrIHR9dmFyIHQwPTB9cmV0dXJuWzAsJCx0MF19LGkpLEk9alsyXSxGPVswLFswLGpbMV0sWzAsSVsxXSxJWzJdXV1dO3EoaSkhPT03JiZKKGksOSk7dmFyIHY9WzAsRix2XX1icmVhayB4fXZhciBNPWl4KHYpLHo9dTAoaSk7SihpLDcpO3ZhciBCPXEoaSk9PT04Nz9bMSxEdihpKV06b2woaSk7cmV0dXJuWzEsWzAsTSxCLE8yKFswLGNdLFswLEwwKGkpXSx6LE8pXV19LHgpO2lmKCFlKXt2YXIgdD1mdW5jdGlvbihpKXt2YXIgYz1xKGkpO3JldHVybiB0eXBlb2YgYz09XCJudW1iZXJcIiYmYz09PTgzPyhKKGksODMpLFswLGQoWDBbMTBdLGkpXSk6MH07cmV0dXJuIHgwKDAsZnVuY3Rpb24oaSl7dmFyIGM9dTAoaSk7SihpLDApO3g6Zm9yKHZhciB2PTAsYT0wLGw9MDs7KXt2YXIgbT1xKGkpO2lmKHR5cGVvZiBtPT1cIm51bWJlclwiKXtpZihtPT09MSlicmVhayB4O2lmKG1yPT09bSlicmVha31yOmlmKHEoaSk9PT0xMil2YXIgaD11MChpKSxUPXgwKDAsZnVuY3Rpb24oTCl7cmV0dXJuIEooTCwxMiksXzQoTCxyKX0saSksYj1UWzJdLE49VFsxXSxqPVswLFsxLFswLE4sWzAsYixaKFswLGhdLDAsTyldXV1dO2Vsc2V7dmFyIEk9VjAoaSksRj1wKFgwWzIwXSwwLGkpLE09cShpKTtpZih0eXBlb2YgTT09XCJudW1iZXJcIiYmTT09PTg3KXtKKGksODcpO3ZhciB6PXgwKFswLEldLGZ1bmN0aW9uKE4wKXt2YXIgUzA9XzQoTjAscik7cmV0dXJuWzAsUzAsdChOMCldfSxpKSxCPXpbMl0sSz1GWzJdLG4wPUJbMl0sJD1CWzFdLEg9elsxXTtzd2l0Y2goS1swXSl7Y2FzZSAwOnZhciB0MD1bMCxLWzFdXTticmVhaztjYXNlIDE6dmFyIHQwPVsxLEtbMV1dO2JyZWFrO2Nhc2UgMjp2YXIgdDA9WzIsS1sxXV07YnJlYWs7Y2FzZSAzOnZhciB0MD1bMyxLWzFdXTticmVhaztjYXNlIDQ6dmFyIHQwPVR4KGd2MCk7YnJlYWs7ZGVmYXVsdDp2YXIgdDA9WzQsS1sxXV19dmFyIGo9WzAsWzAsWzAsSCxbMCx0MCwkLG4wLDBdXV1dO2JyZWFrIHJ9dmFyIGMwPUZbMl07aWYoYzBbMF09PT0zKXt2YXIgcjA9YzBbMV0sdjA9cjBbMl1bMV0sYTA9cjBbMV07ZWgodjApP3EwKGksWzAsYTAsOTVdKTpmbCh2MCkmJmh0KGksWzAsYTAsODBdKTtsZXQgTD1yMCxOMD1hMDt2YXIgZzA9eDAoWzAsSV0sZnVuY3Rpb24oSzApe3ZhciBBMD1bMCxOMCxbMixbMCxMLG9sKEswKSwwXV1dO3JldHVyblswLEEwLHQoSzApXX0saSksaTA9ZzBbMl0saj1bMCxbMCxbMCxnMFsxXSxbMCxbMyxyMF0saTBbMV0saTBbMl0sMV1dXV19ZWxzZXtwMih3djAsaSk7dmFyIGo9MH19aWYoail7dmFyIHMwPWpbMV0sZDA9czBbMV1bMV0sdzA9dj8ocTAoaSxbMCxkMCw2NF0pLDApOmE7aWYoczBbMF09PT0wKXZhciBDMD13MCxEMD12O2Vsc2UgdmFyIE0wPXEoaSk9PT05P1swLFYwKGkpXTowLEMwPU0wLEQwPTE7cShpKSE9PTEmJkooaSw5KTt2YXIgdj1EMCxhPUMwLGw9WzAsczAsbF19fWEmJnEwKGksWzAsYVsxXSw5MF0pO3ZhciBJMD1peChsKSxqMD11MChpKTtKKGksMSk7dmFyIHkwPUwwKGkpLFkwPXEoaSk9PT04Nz9bMSxEdihpKV06b2woaSk7cmV0dXJuWzAsWzAsSTAsWTAsTzIoWzAsY10sWzAseTBdLGowLE8pXV19LHgpfX12YXIgdT1IMChYMFsxNF0seCwwLHIpO3JldHVyblswLHVbMV0sWzIsdVsyXV1dfWZ1bmN0aW9uIHFoKHgpe3ZhciByPXEoeCk7eDppZih0eXBlb2Ygcj09XCJudW1iZXJcIil7dmFyIGU9citEOXwwO2lmKDY8ZT4+PjApe2lmKGUhPT0xNClicmVhayB4fWVsc2UgaWYoND49ZS0xPj4+MClicmVhayB4O3JldHVybiBMMCh4KX1yZXR1cm4gTjEoeCk/YW8oeCk6MH1mdW5jdGlvbiBBWSh4KXtyZXR1cm4gcSh4KT09PTE/MDpbMCxkKFgwWzddLHgpXX1mdW5jdGlvbiBfYSh4KXt2YXIgcj1WMCh4KSxlPXEoeCk7eDp7aWYodHlwZW9mIGUhPVwibnVtYmVyXCImJmVbMF09PT04KXt2YXIgdD1lWzFdO2JyZWFrIHh9cDIoZ2wwLHgpO3ZhciB0PXdsMH12YXIgdT11MCh4KTtFMCh4KTt2YXIgaT1xKHgpO3g6e3I6aWYodHlwZW9mIGk9PVwibnVtYmVyXCIpe3ZhciBjPWkrUlJ8MDtpZig3MzxjPj4+MCl7aWYoYyE9PTc3KWJyZWFrIHJ9ZWxzZSBpZig3MT49Yy0xPj4+MClicmVhayByO3ZhciB2PUwwKHgpO2JyZWFrIHh9dmFyIHY9cWgoeCl9cmV0dXJuWzAscixbMCx0LFooWzAsdV0sWzAsdl0sTyldXX1mdW5jdGlvbiBQWSh4KXt2YXIgcj14cigxLHgpO2lmKHR5cGVvZiByPT1cIm51bWJlclwiKXtpZihyPT09MTApZm9yKHZhciBlPXgwKDAsZnVuY3Rpb24odSl7dmFyIGk9WzAsX2EodSldO3JldHVybiBKKHUsMTApLFswLGksX2EodSldfSx4KTs7KXt2YXIgdD1xKHgpO2lmKHR5cGVvZiB0PT1cIm51bWJlclwiJiZ0PT09MTApe2xldCB1PWU7dmFyIGU9eDAoWzAsZVsxXV0sZnVuY3Rpb24oYyl7cmV0dXJuIEooYywxMCksWzAsWzEsdV0sX2EoYyldfSx4KTtjb250aW51ZX1yZXR1cm5bMixlXX1pZihyPT09ODcpcmV0dXJuWzEseDAoMCxmdW5jdGlvbih1KXt2YXIgaT1fYSh1KTtyZXR1cm4gSih1LDg3KSxbMCxpLF9hKHUpXX0seCldfXJldHVyblswLF9hKHgpXX1mdW5jdGlvbiBiNCh4LHIpe3JldHVybiBicih4WzJdWzFdLHJbMl1bMV0pfWZ1bmN0aW9uIElZKHgscil7dmFyIGU9eFsyXSx0PWVbMV0sdT1yWzJdLGk9dVsxXSxjPWVbMl0sdj11WzJdO3g6e2lmKHRbMF09PT0wKXt2YXIgYT10WzFdO2lmKGlbMF09PT0wKXt2YXIgbT1iNChhLGlbMV0pO2JyZWFrIHh9fWVsc2V7dmFyIGw9dFsxXTtpZihpWzBdIT09MCl7dmFyIG09SVkobCxpWzFdKTticmVhayB4fX12YXIgbT0wfXJldHVybiBtJiZiNChjLHYpfWZ1bmN0aW9uIFVoKHgscil7c3dpdGNoKHhbMF0pe2Nhc2UgMDp2YXIgZT14WzFdO2lmKHJbMF09PT0wKXJldHVybiBiNChlLHJbMV0pO2JyZWFrO2Nhc2UgMTp2YXIgdD14WzFdO2lmKHJbMF09PT0xKXt2YXIgdT10WzJdLGk9clsxXVsyXSxjPXVbMl0sdj1pWzJdLGE9YjQodVsxXSxpWzFdKTtyZXR1cm4gYSYmYjQoYyx2KX1icmVhaztkZWZhdWx0OnZhciBsPXhbMV07aWYoclswXT09PTIpcmV0dXJuIElZKGwsclsxXSl9cmV0dXJuIDB9ZnVuY3Rpb24gUUMoeCl7c3dpdGNoKHhbMF0pe2Nhc2UgMDpyZXR1cm4geFsxXVsxXTtjYXNlIDE6cmV0dXJuIHhbMV1bMV07ZGVmYXVsdDpyZXR1cm4geFsxXVsxXX19dmFyIFJ2PVtdO2Z1bmN0aW9uIE5ZKHgscil7dmFyIGU9dTAociksdD14MCgwLGZ1bmN0aW9uKGQwKXtKKGQwLDk5KTt2YXIgdzA9cShkMCk7aWYodHlwZW9mIHcwPT1cIm51bWJlclwiKXtpZih5Mj09PXcwKXJldHVybiBFMChkMCksaGwwfWVsc2UgaWYodzBbMF09PT04KXt2YXIgTTA9UFkoZDApO3g6e2lmKEEyKGQwKSYmcShkMCk9PT05OSYmSmUhPT14cigxLGQwKSl7dmFyIEMwPWZoKGQwLDAsakMpO2JyZWFrIHh9dmFyIEMwPTB9Zm9yKHZhciBEMD0wOzspe3ZhciBJMD1xKGQwKTtpZih0eXBlb2YgSTA9PVwibnVtYmVyXCIpe2lmKEkwPT09MCl7dmFyIGowPXUwKGQwKTtWMihkMCwwKTt2YXIgeTA9eDAoMCxmdW5jdGlvbihBMCl7SihBMCwwKSxKKEEwLDEyKTt2YXIgJDA9ZChYMFsxMF0sQTApO3JldHVybiBKKEEwLDEpLCQwfSxkMCksWTA9eTBbMl0sTD15MFsxXTtaMihkMCk7dmFyIEQwPVswLFsxLFswLEwsWzAsWTAsWihbMCxqMF0sWzAscWgoZDApXSxPKV1dXSxEMF07Y29udGludWV9fWVsc2UgaWYoSTBbMF09PT04KXt2YXIgRDA9WzAsWzAseDAoMCxmdW5jdGlvbihBMCl7dmFyICQwPXhyKDEsQTApO3g6e2lmKHR5cGVvZiAkMD09XCJudW1iZXJcIiYmJDA9PT04Nyl7dmFyIGV4PVsxLHgwKDAsZnVuY3Rpb24oUHgpe3ZhciBHMD1fYShQeCk7cmV0dXJuIEooUHgsODcpLFswLEcwLF9hKFB4KV19LEEwKV07YnJlYWsgeH12YXIgZXg9WzAsX2EoQTApXX12YXIgeHg9cShBMCk7eDp7aWYodHlwZW9mIHh4PT1cIm51bWJlclwiJiZ4eD09PTgzKXtKKEEwLDgzKTt2YXIgdHg9dTAoQTApLHowPXEoQTApO3I6e2lmKHR5cGVvZiB6MD09XCJudW1iZXJcIil7aWYoejA9PT0wKXt2YXIgcHg9dTAoQTApO1YyKEEwLDApO3ZhciBzeD14MCgwLGZ1bmN0aW9uKEcwKXtKKEcwLDApO3ZhciBLcj1BWShHMCk7cmV0dXJuIEooRzAsMSksS3J9LEEwKSxRPXN4WzFdLGIwPXN4WzJdO1oyKEEwKTt2YXIgVT1bMCxiMCxPMihbMCxweF0sWzAscWgoQTApXSwwLE8pXTtVWzFdfHxxMChBMCxbMCxRLDQ2XSk7dmFyIFQwPVswLFsxLFswLFEsVV1dXTticmVhayByfX1lbHNlIGlmKHowWzBdPT09MTApe3ZhciBoMD16MFszXSxfMD16MFsyXSxtMD16MFsxXTtKKEEwLHowKTt2YXIgVDA9WzAsWzAsWzAsbTAsWzAsXzAsaDAsWihbMCx0eF0sWzAscWgoQTApXSxPKV1dXV07YnJlYWsgcn1VeChBMCwzNSk7dmFyIFQwPVswLFswLFswLFYwKEEwKSx5bDBdXV19dmFyIFg9VDA7YnJlYWsgeH12YXIgWD0wfXJldHVyblswLGV4LFhdfSxkMCldLEQwXTtjb250aW51ZX12YXIgTjA9aXgoRDApLFMwPVswLE1hLFswLE0wLEMwLHUyKGQwLEplKSxOMF1dO3JldHVybiB1MihkMCx5Mik/WzAsUzBdOih5bihkMCx5MiksWzEsUzBdKX19cmV0dXJuIHluKGQwLHkyKSxkbDB9LHIpO2lmKFoyKHIpLGQoUnZbM10sdCkpdmFyIHU9ZUUsaT14MCgwLGZ1bmN0aW9uKGQwKXtyZXR1cm4gMH0scik7ZWxzZXtWMihyLDMpO3ZhciBjPWQoUnZbNF0sdCksdj1IMChSdlsxXSx4LGMsciksdT12WzJdLGk9dlsxXX12YXIgYT1MMChyKTt4OntyOmlmKHR5cGVvZiB1IT1cIm51bWJlclwiKXt2YXIgbD11WzFdO2lmKE1hPT09bCl7dmFyIG09dVsyXSxoPW1bMl1bMV0sVD10WzJdLGI9bVsxXTtpZihUWzBdPT09MCl7dmFyIE49VFsxXTtpZih0eXBlb2YgTj09XCJudW1iZXJcIilxMChyLFswLFFDKGgpLHBsMF0pO2Vsc2V7dmFyIGo9TlsyXVsxXTtlOmlmKDEtVWgoaCxqKSl7aWYoeCYmVWgoeFsxXSxoKSl7dmFyIEk9WzIxLGQoUnZbMl0saildO3EwKHIsWzAsUUMoaiksSV0pO2JyZWFrIGV9dmFyIEY9WzEzLGQoUnZbMl0saildO3EwKHIsWzAsUUMoaCksRl0pfX19dmFyIE09Yn1lbHNle2lmKHRuIT09bClicmVhayByO3ZhciB6PXVbMl0sQj10WzJdO2lmKEJbMF09PT0wKXt2YXIgSz1CWzFdO3R5cGVvZiBLIT1cIm51bWJlclwiJiZxMChyLFswLHosWzEzLGQoUnZbMl0sS1syXVsxXSldXSl9dmFyIE09en12YXIgbjA9TTticmVhayB4fXZhciBuMD10WzFdfXZhciAkPXRbMl1bMV0sSD10WzFdO2lmKHR5cGVvZiAkPT1cIm51bWJlclwiKXt4OntyOnt2YXIgdDA9WihbMCxlXSxbMCxhXSxPKTtpZih0eXBlb2YgdSE9XCJudW1iZXJcIil7dmFyIGMwPXVbMV07aWYoTWE9PT1jMCl2YXIgcjA9dVsyXVsxXTtlbHNle2lmKHRuIT09YzApYnJlYWsgcjt2YXIgcjA9dVsyXX12YXIgdjA9cjA7YnJlYWsgeH19dmFyIHYwPW4wfXZhciBhMD1bMCx0bixbMCxILHYwLGksdDBdXX1lbHNle3ZhciBnMD0kWzJdO3g6e3ZhciBpMD1aKFswLGVdLFswLGFdLE8pO2lmKHR5cGVvZiB1IT1cIm51bWJlclwiJiZNYT09PXVbMV0pe3ZhciBzMD1bMCx1WzJdXTticmVhayB4fXZhciBzMD0wfXZhciBhMD1bMCxNYSxbMCxbMCxILGcwXSxzMCxpLGkwXV19cmV0dXJuWzAsWXIodFsxXSxuMCksYTBdfWZ1bmN0aW9uIGpZKHgscil7cmV0dXJuIFYyKHIsMiksTlkoeCxyKX1mdW5jdGlvbiBCVDAoeCxyLGUsdCl7Zm9yKHZhciB1PXQ7Oyl7dmFyIGk9aWwoZSk7aWYodSYmcil7dmFyIGM9dVsxXSx2PWNbMl0sYT1yWzFdLGw9dVsyXTt4OntpZih2WzBdPT09MCl7dmFyIG09dlsxXSxoPW1bMl07aWYoaCl7dmFyIFQ9aFsxXVsyXVsxXSxiPTEtVWgobVsxXVsyXVsxXSxUKTtpZihiKXt2YXIgTj1VaChhLFQpO2JyZWFrIHh9dmFyIE49YjticmVhayB4fX12YXIgTj0wfWlmKE4pe3ZhciBqPWNbMl07eDp7aWYoalswXT09PTApe3ZhciBJPWpbMV0sRj1JWzJdO2lmKEYpe3ZhciBNPUZbMV0sej1ZcihjWzFdLElbM11bMV0pLEI9WzAsTWEsTV0sSz1bMCx6LFswLFswLElbMV0sMCxJWzNdLElbNF1dXV07YnJlYWsgeH19dmFyIEI9ZUUsSz1jfXJldHVybiBaMihlKSxbMCxpeChbMCxLLGxdKSxpLEJdfX12YXIgbjA9cShlKTtpZih0eXBlb2YgbjA9PVwibnVtYmVyXCIpe2lmKG4wPT09OTkpe1YyKGUsMik7dmFyICQ9cShlKSxIPXhyKDEsZSk7eDppZih0eXBlb2YgJD09XCJudW1iZXJcIiYmJD09PTk5JiZ0eXBlb2YgSD09XCJudW1iZXJcIil7aWYoSmUhPT1IJiZtciE9PUgpYnJlYWsgeDt2YXIgdDA9eDAoMCxmdW5jdGlvbih6MCl7Sih6MCw5OSksSih6MCxKZSk7dmFyIHB4PXEoejApO2lmKHR5cGVvZiBweD09XCJudW1iZXJcIil7aWYoeTI9PT1weClyZXR1cm4gRTAoejApLHRufWVsc2UgaWYocHhbMF09PT04KXt2YXIgc3g9UFkoejApO3JldHVybiBpaCh6MCx5MiksWzAsTWEsWzAsc3hdXX1yZXR1cm4geW4oejAseTIpLHRufSxlKSxjMD10MFsyXSxyMD10MFsxXSx2MD10eXBlb2YgYzA9PVwibnVtYmVyXCI/WzAsdG4scjBdOlswLE1hLFswLHIwLGMwWzJdXV0sYTA9ZVsyNF1bMV07cjp7aWYoYTApe3ZhciBnMD1hMFsyXTtpZihnMCl7dmFyIGkwPWcwWzJdO2JyZWFrIHJ9fXZhciBpMD1UeChKYzApfWVbMjRdWzFdPWkwO3ZhciBzMD11bChlKSxkMD1aNihlWzI1XVsxXSxzMCk7cmV0dXJuIGVbMjZdWzFdPWQwLFswLGl4KHUpLGksdjBdfXZhciB3MD1OWShyLGUpLE0wPXcwWzJdLEMwPXcwWzFdLEQwPXRuPD1NMFsxXT9bMCxDMCxbMSxNMFsyXV1dOlswLEMwLFswLE0wWzJdXV0sdT1bMCxEMCx1XTtjb250aW51ZX1pZihtcj09PW4wKXJldHVybiBwMigwLGUpLFswLGl4KHUpLGksZUVdfXZhciBJMD1xKGUpO3g6e2lmKHR5cGVvZiBJMD09XCJudW1iZXJcIil7aWYoSTA9PT0wKXtWMihlLDApO3ZhciBqMD14MCgwLGZ1bmN0aW9uKHowKXtKKHowLDApO3ZhciBweD1xKHowKTtyOntpZih0eXBlb2YgcHg9PVwibnVtYmVyXCImJnB4PT09MTIpe3ZhciBzeD11MCh6MCk7Sih6MCwxMik7dmFyIFE9ZChYMFsxMF0sejApLGgwPVszLFswLFEsWihbMCxzeF0sMCxPKV1dO2JyZWFrIHJ9dmFyIGIwPUFZKHowKSxVPWIwPzA6dTAoejApLGgwPVsyLFswLGIwLE8yKDAsMCxVLE8pXV19cmV0dXJuIEooejAsMSksaDB9LGUpLHkwPWowWzJdLFkwPWowWzFdO1oyKGUpO3ZhciBleD1bMCxZMCx5MF07YnJlYWsgeH19ZWxzZSBpZihJMFswXT09PTkpe3ZhciBMPUkwWzNdLE4wPUkwWzJdLFMwPUkwWzFdO0ooZSxJMCk7dmFyIGV4PVswLFMwLFs0LFswLE4wLExdXV07YnJlYWsgeH12YXIgSzA9alkocixlKSxBMD1LMFsyXSwkMD1LMFsxXSxleD10bjw9QTBbMV0/WzAsJDAsWzEsQTBbMl1dXTpbMCwkMCxbMCxBMFsyXV1dfXZhciB1PVswLGV4LHVdfX1mdW5jdGlvbiBDWSh4KXtzd2l0Y2goeFswXSl7Y2FzZSAwOnJldHVybiB4WzFdWzJdWzFdO2Nhc2UgMTp2YXIgcj14WzFdWzJdLGU9clsxXSx0PXF4KGtsMCxyWzJdWzJdWzFdKTtyZXR1cm4gcXgoZVsyXVsxXSx0KTtkZWZhdWx0OnZhciB1PXhbMV1bMl0saT11WzFdLGM9dVsyXSx2PWlbMF09PT0wP2lbMV1bMl1bMV06Q1koWzIsaVsxXV0pO3JldHVybiBxeCh2LHF4KG1sMCxjWzJdWzFdKSl9fUZyKFJ2LFswLGZ1bmN0aW9uKHgscixlKXt2YXIgdD1WMChlKSx1PUJUMChPLHIsZSwwKSxpPXVbMl0sYz11WzNdLHY9dVsxXSxhPWk/aVsxXTp0O3JldHVyblswLFswLFlyKHQsYSksdl0sY119LENZLGZ1bmN0aW9uKHgpe3ZhciByPXhbMl07aWYoclswXSE9PTApcmV0dXJuIDE7dmFyIGU9clsxXTtyZXR1cm4gdHlwZW9mIGU9PVwibnVtYmVyXCI/MDplWzJdWzNdfSxmdW5jdGlvbih4KXt2YXIgcj14WzJdWzFdO3JldHVybiB0eXBlb2Ygcj09XCJudW1iZXJcIj8wOlswLHJbMl1bMV1dfV0pO2Z1bmN0aW9uIE9ZKHgscil7dmFyIGU9YTEocik7cmV0dXJuIHNoKHgscixlKSxlfXZhciBIQz1bXSxEWT1bXSxGWT1bXSxSWT1bXTtmdW5jdGlvbiBYVDAoeCl7dmFyIHI9dTAoeCk7Sih4LDYwKTt2YXIgZT1xKHgpPT09OD9MMCh4KTowLHQ9eDEoMCwwLHgpLHU9dFswXT09PTA/dFsxXTp0WzFdWzFdO3JldHVybls1LFswLFooWzAscl0sWzAsTXgoZSx1KV0sTyldXX12YXIgWVQwPTA7ZnVuY3Rpb24gelQwKHgpe3ZhciByPXUwKHgpO0ooeCwzOCk7dmFyIGU9cjQoMSx4KSx0PWQoWDBbMl0sZSksdT0xLXhbNV0saT11JiZmNCh0KTtpJiZOdih4LHRbMV0pO3ZhciBjPUwwKHgpO0ooeCwyNik7dmFyIHY9TDAoeCk7Sih4LDQpO3ZhciBhPWQoWDBbN10seCk7Sih4LDUpO3ZhciBsPXEoeCk9PT04P0wwKHgpOjAsbT14MSgwLG12MCx4KSxoPW1bMF09PT0wP014KGwsbVsxXSk6bVsxXVsxXTtyZXR1cm5bMTgsWzAsdCxhLFooWzAscl0sWzAsTXgoYyxNeCh2LGgpKV0sTyldXX12YXIgS1QwPTA7ZnVuY3Rpb24gSlQwKHgpe3ZhciByPXUwKHgpO0ooeCw0MCk7dmFyIGU9eFsxOV0sdD1lJiZ1Mih4LDY2KSx1PU14KHIsdTAoeCkpO0ooeCw0KTt2YXIgaT1aKFswLHVdLDAsTyksYz1xKHgpO3g6e2lmKHR5cGVvZiBjPT1cIm51bWJlclwiJiZjPT09NjUpe3ZhciB2PTE7YnJlYWsgeH12YXIgdj0wfXZhciBhPWU0KDEseCksbD1xKGEpO3g6e2lmKHR5cGVvZiBsPT1cIm51bWJlclwiKXtpZigyNTw9bCl7aWYoMzA+bClzd2l0Y2gobCtFM3wwKXtjYXNlIDA6dmFyIG09eDAoMCx5WCxhKSxoPW1bMl0sVD1oWzNdLGI9aFsxXSxOPW1bMV0sdDA9VCxjMD1bMCxbMSxbMCxOLFswLGIsMCxaKFswLGhbMl1dLDAsTyldXV1dO2JyZWFrIHg7Y2FzZSAzOnZhciBqPXgwKDAsZ1gsYSksST1qWzJdLEY9SVszXSxNPUlbMV0sej1qWzFdLHQwPUYsYzA9WzAsWzEsWzAseixbMCxNLDIsWihbMCxJWzJdXSwwLE8pXV1dXTticmVhayB4O2Nhc2UgNDppZih4cigxLGEpIT09MTcpe3ZhciBCPXgwKDAsd1gsYSksSz1CWzJdLG4wPUtbM10sJD1LWzFdLEg9QlsxXSx0MD1uMCxjMD1bMCxbMSxbMCxILFswLCQsMSxaKFswLEtbMl1dLDAsTyldXV1dO2JyZWFrIHh9YnJlYWt9fWVsc2UgaWYobD09PTgpe3ZhciB0MD0wLGMwPTA7YnJlYWsgeH19dmFyIHQwPTAsYzA9WzAsWzAsZChYMFs4XSxhKV1dfXZhciByMD1xKHgpO2lmKHR5cGVvZiByMD09XCJudW1iZXJcIil7aWYocjA9PT0xNyl7aWYoIWMwKXRocm93IFcwKFswLE5yLGt2MF0sMSk7dmFyIHYwPWMwWzFdO2lmKHYwWzBdPT09MCl2YXIgYTA9WzEsQUMocHYwLHgsdjBbMV0pXTtlbHNle3ZhciBnMD12MFsxXTt2WSh4LDM4LGcwKTt2YXIgYTA9WzAsZzBdfXQ/Sih4LDY0KTpKKHgsMTcpO3ZhciBpMD1kKFgwWzddLHgpO0ooeCw1KTt2YXIgczA9cjQoMSx4KSxkMD1kKFgwWzJdLHMwKTtyZXR1cm4gR0MoeCxkMCksWzI1LFswLGEwLGkwLGQwLDAsaV1dfWlmKHIwPT09NjQpe2lmKCFjMCl0aHJvdyBXMChbMCxOcixsdjBdLDEpO3ZhciB3MD1jMFsxXTtpZih3MFswXT09PTApe3ZhciBNMD1BQyh2djAseCx3MFsxXSksQzA9MS10LEQwPUMwJiZ2O3g6aWYoRDApe3ZhciBJMD1NMFsyXTtpZihJMFswXT09PTIpe3ZhciBqMD1JMFsxXVsxXSx5MD1qMFsxXTtpZighUChqMFsyXVsxXSxLYSkpe3EwKHgsWzAseTAsMzldKTticmVhayB4fX19dmFyIFkwPVsxLE0wXX1lbHNle3ZhciBMPXcwWzFdO3ZZKHgsMzksTCk7dmFyIFkwPVswLExdfUooeCw2NCk7dmFyIE4wPWQoWDBbMTBdLHgpO0ooeCw1KTt2YXIgUzA9cjQoMSx4KSxLMD1kKFgwWzJdLFMwKTtyZXR1cm4gR0MoeCxLMCksWzI2LFswLFkwLE4wLEswLHQsaV1dfX1pZihiMShmdW5jdGlvbihiMCl7cmV0dXJuIHEwKHgsYjApfSx0MCksdD9KKHgsNjQpOkooeCw4KSxjMCl2YXIgQTA9YzBbMV0sJDA9QTBbMF09PT0wP1swLFsxLG8xKHgsQTBbMV0pXV06WzAsWzAsQTBbMV1dXSxleD0kMDtlbHNlIHZhciBleD0wO3ZhciB4eD1xKHgpO3g6e2lmKHR5cGVvZiB4eD09XCJudW1iZXJcIiYmeHg9PT04KXt2YXIgdHg9MDticmVhayB4fXZhciB0eD1bMCxkKFgwWzddLHgpXX1KKHgsOCk7dmFyIHowPXEoeCk7eDp7aWYodHlwZW9mIHowPT1cIm51bWJlclwiJiZ6MD09PTUpe3ZhciBweD0wO2JyZWFrIHh9dmFyIHB4PVswLGQoWDBbN10seCldfUooeCw1KTt2YXIgc3g9cjQoMSx4KSxRPWQoWDBbMl0sc3gpO3JldHVybiBHQyh4LFEpLFsyNCxbMCxleCx0eCxweCxRLGldXX12YXIgR1QwPTA7ZnVuY3Rpb24gV1QwKHgpezEteFsxMV0mJlV4KHgsMjcpO3ZhciByPXUwKHgpLGU9VjAoeCk7Sih4LDE5KTt2YXIgdD1xKHgpPT09OD9MMCh4KTowO3g6e2lmKHEoeCkhPT04JiYhc2woeCkpe3ZhciB1PVswLGQoWDBbN10seCldO2JyZWFrIHh9dmFyIHU9MH12YXIgaT1ZcihlLFYwKHgpKSxjPXgxKDAsMCx4KTt4OntpZihjWzBdPT09MCl2YXIgdj1jWzFdO2Vsc2V7dmFyIGE9Y1sxXSxsPWFbMV07aWYodSl7dmFyIG09WzAscChhWzJdLHVbMV0sZnVuY3Rpb24oaixJKXtyZXR1cm4gcChCeChqLGp0LDY3KSxqLEkpfSldLGg9dDticmVhayB4fXZhciB2PWx9dmFyIG09dSxoPU14KHQsdil9cmV0dXJuWzMzLFswLG0sWihbMCxyXSxbMCxoXSxPKSxpXV19dmFyIFZUMD0wO2Z1bmN0aW9uICRUMCh4KXt2YXIgcj11MCh4KTtKKHgsMjApLEooeCw0KTt2YXIgZT1kKFgwWzddLHgpO0ooeCw1KSxKKHgsMCk7Zm9yKHZhciB0PW92MDs7KXt2YXIgdT10WzJdLGk9dFsxXSxjPXEoeCk7eDppZih0eXBlb2YgYz09XCJudW1iZXJcIil7aWYoYyE9PTEmJm1yIT09YylicmVhayB4O3ZhciB2PWl4KHUpO0ooeCwxKTt2YXIgYT13YSh4KVsxXSxsPWVbMV07cmV0dXJuWzM0LFswLGUsdixaKFswLHJdLFswLGFdLE8pLGxdXX1sZXQgaD1pO3ZhciBtPXNDKDAsZnVuY3Rpb24oYil7dmFyIE49dTAoYiksaj1xKGIpO3g6e2lmKHR5cGVvZiBqPT1cIm51bWJlclwiJiZqPT09Mzcpe2gmJlV4KGIsNTMpLEooYiwzNyk7dmFyIEk9TDAoYiksRj0wO2JyZWFrIHh9SihiLDM0KTt2YXIgST0wLEY9WzAsZChYMFs3XSxiKV19dmFyIE09aHx8KEY9PT0wPzE6MCk7SihiLDg3KTt2YXIgej1NeChJLHdhKGIpWzFdKTtmdW5jdGlvbiBCKEgpe3g6aWYodHlwZW9mIEg9PVwibnVtYmVyXCIpe3ZhciB0MD1ILTF8MDtpZigzMzx0MD4+PjApe2lmKHQwIT09MzYpYnJlYWsgeH1lbHNlIGlmKDMxPj10MC0xPj4+MClicmVhayB4O3JldHVybiAxfXJldHVybiAwfXZhciBLPTEsbjA9Yls5XT09PTE/YjpbMCxiWzFdLGJbMl0sYlszXSxiWzRdLGJbNV0sYls2XSxiWzddLGJbOF0sSyxiWzEwXSxiWzExXSxiWzEyXSxiWzEzXSxiWzE0XSxiWzE1XSxiWzE2XSxiWzE3XSxiWzE4XSxiWzE5XSxiWzIwXSxiWzIxXSxiWzIyXSxiWzIzXSxiWzI0XSxiWzI1XSxiWzI2XSxiWzI3XSxiWzI4XSxiWzI5XSxiWzMwXSxiWzMxXV0sJD1wKFgwWzRdLEIsbjApO3JldHVyblswLFswLEYsJCxaKFswLE5dLFswLHpdLE8pXSxNXX0seCksdD1bMCxtWzJdLFswLG1bMV0sdV1dfX12YXIgUVQwPTA7ZnVuY3Rpb24gSFQwKHgpe3ZhciByPXUwKHgpLGU9VjAoeCk7Sih4LDIzKSxOMSh4KSYmcTAoeCxbMCxlLDU0XSk7dmFyIHQ9ZChYMFs3XSx4KSx1PXgxKDAsMCx4KTtpZih1WzBdPT09MCl2YXIgaT10LGM9dVsxXTtlbHNlIHZhciBpPXAodVsxXVsyXSx0LGZ1bmN0aW9uKHYsYSl7cmV0dXJuIHAoQngodixqdCw2OCksdixhKX0pLGM9MDtyZXR1cm5bMzUsWzAsaSxaKFswLHJdLFswLGNdLE8pXV19dmFyIFpUMD0wO2Z1bmN0aW9uIHhFMCh4KXt2YXIgcj11MCh4KTtKKHgsMjQpO3ZhciBlPWQoWDBbMTVdLHgpLHQ9cSh4KT09PTM1P3AoRjIoeClbMl0sZSxmdW5jdGlvbihiLE4pe3ZhciBqPU5bMV07cmV0dXJuWzAsaixIMChCeChiLHpwLDQpLGIsaixOWzJdKV19KTplLHU9cSh4KTt4OntpZih0eXBlb2YgdT09XCJudW1iZXJcIiYmdT09PTM1KXt2YXIgaT1bMCx4MCgwLGZ1bmN0aW9uKE4pe3ZhciBqPXUwKE4pO0ooTiwzNSk7dmFyIEk9TDAoTik7aWYocShOKT09PTQpe0ooTiw0KTt2YXIgRj1bMCxwKFgwWzE4XSxOLDY3KV07SihOLDUpO3ZhciBNPUZ9ZWxzZSB2YXIgTT0wO3ZhciB6PWQoWDBbMTVdLE4pLEI9cShOKT09PTM5P3o6cCh3YShOKVsyXSx6LGZ1bmN0aW9uKEssbjApe3ZhciAkPW4wWzFdO3JldHVyblswLCQsSDAoQngoSyx6cCw2OSksSywkLG4wWzJdKV19KTtyZXR1cm5bMCxNLEIsWihbMCxqXSxbMCxJXSxPKV19LHgpXTticmVhayB4fXZhciBpPTB9dmFyIGM9cSh4KTt4OntpZih0eXBlb2YgYz09XCJudW1iZXJcIiYmYz09PTM5KXtKKHgsMzkpO3ZhciB2PWQoWDBbMTVdLHgpLGE9dlsxXSxsPXZbMl0sbT1bMCxbMCxhLHAod2EoeClbMl0sbCxmdW5jdGlvbihOLGope3JldHVybiBIMChCeChOLHpwLDcwKSxOLGEsail9KV1dO2JyZWFrIHh9dmFyIG09MH12YXIgaD1pPT09MD8xOjAsVD1oJiYobT09PTA/MTowKTtyZXR1cm4gVCYmcTAoeCxbMCx0WzFdLDU2XSksWzM2LFswLHQsaSxtLFooWzAscl0sMCxPKV1dfXZhciByRTA9MDtmdW5jdGlvbiBlRTAoeCl7dmFyIHI9MCxlPXlYKHgpLHQ9ZVszXSx1PWVbMl0saT1KQyhyLHgsZVsxXSksYz1pWzJdLHY9aVsxXTtyZXR1cm4gYjEoZnVuY3Rpb24oYSl7cmV0dXJuIHEwKHgsYSl9LHQpLFszOSxbMCxjLHIsWihbMCx1XSxbMCx2XSxPKV1dfXZhciB0RTA9MDtmdW5jdGlvbiBuRTAoeCl7dmFyIHI9MixlPWdYKHgpLHQ9ZVszXSx1PWVbMl0saT1KQyhyLHgsZVsxXSksYz1pWzJdLHY9aVsxXTtyZXR1cm4gYjEoZnVuY3Rpb24oYSl7cmV0dXJuIHEwKHgsYSl9LHQpLFszOSxbMCxjLHIsWihbMCx1XSxbMCx2XSxPKV1dfXZhciB1RTA9MDtmdW5jdGlvbiBpRTAoeCl7dmFyIHI9MSxlPXdYKHgpLHQ9ZVszXSx1PWVbMl0saT1KQyhyLHgsZVsxXSksYz1pWzJdLHY9aVsxXTtyZXR1cm4gYjEoZnVuY3Rpb24oYSl7cmV0dXJuIHEwKHgsYSl9LHQpLFszOSxbMCxjLHIsWihbMCx1XSxbMCx2XSxPKV1dfXZhciBmRTA9MDtmdW5jdGlvbiBjRTAoeCl7dmFyIHI9dTAoeCk7Sih4LDI2KTt2YXIgZT1NeChyLHUwKHgpKTtKKHgsNCk7dmFyIHQ9ZChYMFs3XSx4KTtKKHgsNSk7dmFyIHU9cjQoMSx4KSxpPWQoWDBbMl0sdSksYz0xLXhbNV0sdj1jJiZmNChpKTtyZXR1cm4gdiYmTnYoeCxpWzFdKSxbNDAsWzAsdCxpLFooWzAsZV0sMCxPKV1dfXZhciBzRTA9MDtmdW5jdGlvbiBhRTAoeCl7dmFyIHI9dTAoeCksZT1kKFgwWzddLHgpLHQ9cSh4KSx1PWVbMl07aWYodVswXT09PTEwJiZ0eXBlb2YgdD09XCJudW1iZXJcIiYmdD09PTg3KXt2YXIgaT11WzFdLGM9aVsyXVsxXSx2PWVbMV07Sih4LDg3KSxJMVszXS5jYWxsKG51bGwsYyx4WzNdKSYmcTAoeCxbMCx2LFsyMyxzdjAsY11dKTt2YXIgYT14WzMxXSxsPXhbMzBdLG09eFsyOV0saD14WzI4XSxUPXhbMjddLGI9eFsyNl0sTj14WzI1XSxqPXhbMjRdLEk9eFsyM10sRj14WzIyXSxNPXhbMjFdLHo9eFsyMF0sQj14WzE5XSxLPXhbMThdLG4wPXhbMTddLCQ9eFsxNl0sSD14WzE1XSx0MD14WzE0XSxjMD14WzEzXSxyMD14WzEyXSx2MD14WzExXSxhMD14WzEwXSxnMD14WzldLGkwPXhbOF0sczA9eFs3XSxkMD14WzZdLHcwPXhbNV0sTTA9eFs0XSxDMD1JMVs0XS5jYWxsKG51bGwsYyx4WzNdKSxEMD1bMCx4WzFdLHhbMl0sQzAsTTAsdzAsZDAsczAsaTAsZzAsYTAsdjAscjAsYzAsdDAsSCwkLG4wLEssQix6LE0sRixJLGosTixiLFQsaCxtLGwsYV0sSTA9c28oRDApP2NZKEQwKTpkKFgwWzJdLEQwKTtyZXR1cm5bMzEsWzAsaSxJMCxaKFswLHJdLDAsTyldXX12YXIgajA9eDEoYXYwLDAseCk7aWYoajBbMF09PT0wKXZhciB5MD1lLFkwPWowWzFdO2Vsc2UgdmFyIHkwPXAoajBbMV1bMl0sZSxmdW5jdGlvbihMLE4wKXtyZXR1cm4gcChCeChMLGp0LDcxKSxMLE4wKX0pLFkwPTA7cmV0dXJuWzIzLFswLHkwLDAsWigwLFswLFkwXSxPKV1dfXZhciBvRTA9MDtmdW5jdGlvbiB2RTAoeCxyKXt2YXIgZT14P3hbMV06MDsxLUEyKHIpJiZVeChyLHNuKTt2YXIgdD14cigxLHIpO2lmKHR5cGVvZiB0PT1cIm51bWJlclwiKXN3aXRjaCh0KXtjYXNlIDI1OnJldHVybiBSaCgwLHIpO2Nhc2UgMjg6cmV0dXJuIFJoKDIscik7Y2FzZSAyOTpyZXR1cm4gUmgoMSxyKTtjYXNlIDQxOnJldHVybiB4MCgwLGZ1bmN0aW9uKGIpe3ZhciBOPXUwKGIpO3JldHVybiBKKGIsNjEpLFs2LFZDKE4sYildfSxyKTtjYXNlIDQ3OmlmKHEocik9PT01MSlyZXR1cm4gamgocik7YnJlYWs7Y2FzZSA0OTppZihyWzI4XVsyXSlyZXR1cm4geDAoMCxmdW5jdGlvbihiKXt2YXIgTj11MChiKTtyZXR1cm4gSihiLDYxKSxbOCxmWVsxXS5jYWxsKG51bGwsWzAsTl0sYildfSxyKTticmVhaztjYXNlIDUwOmlmKGUpcmV0dXJuIGJZKHIpO2JyZWFrO2Nhc2UgNTQ6cmV0dXJuIHgwKDAsZnVuY3Rpb24oYil7dmFyIE49dTAoYik7cmV0dXJuIEooYiw2MSksWzExLERoKE4sYildfSxyKTtjYXNlIDYyOnZhciB1PXEocik7cmV0dXJuIHR5cGVvZiB1PT1cIm51bWJlclwiJiZ1PT09NTEmJmU/amgocik6eDAoMCxmdW5jdGlvbihiKXt2YXIgTj11MChiKTtyZXR1cm4gSihiLDYxKSxbMTUsQ2goTixiKV19LHIpO2Nhc2UgNjM6cmV0dXJuIHgwKDAsZnVuY3Rpb24oYil7dmFyIE49dTAoYik7cmV0dXJuIEooYiw2MSksWzE2LE9oKHFvMCxOLGIpXX0scik7Y2FzZSAxNTpjYXNlIDY1OnJldHVybiB5WShyKX1lbHNlIGlmKHRbMF09PT00KXt2YXIgaT10WzNdO2lmKFAoaSwkcykpe2lmKFAoaSxWbykpe2lmKCFQKGksYVIpKXt2YXIgYz1WMChyKSx2PXUwKHIpO0oociw2MSk7dmFyIGE9TXgodix1MChyKSk7cmV0dXJuIHlzKHIsem8wKSxxKHIpPT09MTA/eDAoWzAsY10sZnVuY3Rpb24oYil7dmFyIE49dTAoYik7SihiLDEwKTt2YXIgaj11MChiKTt5cyhiLEpvMCk7dmFyIEk9TzYoWzAsYSxbMCxOLFswLGosWzAsdTAoYiksMF1dXV0pLEY9RHYoYiksTT14MSgwLDAsYik7aWYoTVswXT09PTApdmFyIHo9TVsxXSxCPUY7ZWxzZSB2YXIgej0wLEI9cChNWzFdWzJdLEYsZnVuY3Rpb24oSyxuMCl7cmV0dXJuIHAoQngoSyxrQSw4OSksSyxuMCl9KTtyZXR1cm5bMTMsWzAsQixaKFswLEldLFswLHpdLE8pXV19LHIpOngwKFswLGNdLGQoYVlbMV0sYSkscil9aWYoIVAoaSxoVCkpe3ZhciBsPVYwKHIpLG09dTAocik7SihyLDYxKTt2YXIgaD1NeChtLHUwKHIpKTtyZXR1cm4geXMocixLbzApLHgwKFswLGxdLGQob1lbMV0saCkscil9fWVsc2UgaWYoclsyOF1bMV0pcmV0dXJuIHlZKHIpfWVsc2UgaWYoclsyOF1bMV0pcmV0dXJuIHgwKDAsZnVuY3Rpb24oYil7dmFyIE49dTAoYik7cmV0dXJuIEooYiw2MSksWzcsJEMoTixiKV19LHIpfWlmKCFlKXJldHVybiBkKFgwWzJdLHIpO3ZhciBUPXEocik7cmV0dXJuIHR5cGVvZiBUPT1cIm51bWJlclwiJiZUPT09NTE/amgocik6UmgoMCxyKX12YXIgbEUwPTA7ZnVuY3Rpb24gTFkoeCxyLGUpe3ZhciB0PW9CKDEseCksdT16TihIQ1syXSx0LHIsZSxZbDApLGk9dVs0XSxjPXVbM10sdj11WzJdLGE9b0IoMCx1WzFdKSxsPWl4KHYpO3JldHVybiBiMShkKEhDWzFdLGEpLGwpLFswLGEsYyxpXX1mdW5jdGlvbiBNWSh4KXt2YXIgcj1xQyh4KSxlPXEoeCk7aWYodHlwZW9mIGU9PVwibnVtYmVyXCIpe3ZhciB0PWUtNTB8MDtpZigxMT49dD4+PjApc3dpdGNoKHQpe2Nhc2UgMDp2YXIgdT12QigxLGhhKDEseCkpLGk9dTAodSksYz1WMCh1KTtKKHUsNTApO3ZhciB2PXEodSk7aWYodHlwZW9mIHY9PVwibnVtYmVyXCIpe2lmKDU0PD12KXtpZig2ND52KXN3aXRjaCh2LTU0fDApe2Nhc2UgMDpyZXR1cm4geDAoWzAsY10sZnVuY3Rpb24oVCl7MS1BMihUKSYmVXgoVCxCZSk7dmFyIGI9MCxOPXgwKDAsZnVuY3Rpb24oSSl7cmV0dXJuIERoKGIsSSl9LFQpLGo9WzAsTlsxXSxbMzAsTlsyXV1dO3JldHVyblsyMixbMCxbMCxqXSwwLDAsMCxaKFswLGldLDAsTyldXX0sdSk7Y2FzZSA4OmlmKHhyKDEsdSkhPT0wKXJldHVybiB4MChbMCxjXSxmdW5jdGlvbihUKXsxLUEyKFQpJiZVeChULEJlKTt2YXIgYj14cigxLFQpO2lmKHR5cGVvZiBiPT1cIm51bWJlclwiKXtpZihiPT09NDkpcmV0dXJuIFV4KFQsMTcpLEooVCw2MiksWzIyLFswLDAsMCwwLDAsWihbMCxpXSwwLE8pXV07aWYoSzI9PT1iKXtKKFQsNjIpO3ZhciBOPVYwKFQpO0ooVCxLMik7dmFyIGo9dzQoVCksST1qWzFdO3JldHVyblsyMixbMCwwLFswLFsxLFswLE4sMF1dXSxbMCxJXSwwLFooWzAsaV0sWzAsalsyXV0sTyldXX19dmFyIEY9MCxNPXgwKDAsZnVuY3Rpb24oQil7cmV0dXJuIENoKEYsQil9LFQpLHo9WzAsTVsxXSxbMzcsTVsyXV1dO3JldHVyblsyMixbMCxbMCx6XSwwLDAsMCxaKFswLGldLDAsTyldXX0sdSk7YnJlYWs7Y2FzZSA5OnJldHVybiB4MChbMCxjXSxmdW5jdGlvbihUKXt2YXIgYj14MCgwLGZ1bmN0aW9uKGope3JldHVybiBPaCgwLDAsail9LFQpLE49WzAsYlsxXSxbMzgsYlsyXV1dO3JldHVyblsyMixbMCxbMCxOXSwwLDAsMCxaKFswLGldLDAsTyldXX0sdSl9fWVsc2UgaWYodj09PTM3KXJldHVybiB4MChbMCxjXSxmdW5jdGlvbihUKXt2YXIgYj1NeChpLHUwKFQpKSxOPXgwKDAsZnVuY3Rpb24objApe3JldHVybiBKKG4wLDM3KX0sVClbMV0saj1sQigxLFQpO3g6e2lmKCFzbyhqKSYmIW5oKGopKXtpZih0NChqKSl7dmFyIEI9MCxLPVswLEFoKGoscildO2JyZWFrIHh9aWYocShqKT09PTQ5KXt2YXIgQj0wLEs9WzAsX1goMCkoaildO2JyZWFrIHh9aWYodUMoaikpe3ZhciBCPTAsSz1bMCxTQyhqKV07YnJlYWsgeH12YXIgST1kKFgwWzEwXSxqKSxGPXgxKDAsMCxqKTtpZihGWzBdPT09MCl2YXIgTT1GWzFdLHo9STtlbHNlIHZhciBNPTAsej1wKEZbMV1bMl0sSSxmdW5jdGlvbihILHQwKXtyZXR1cm4gcChCeChILGp0LDkxKSxILHQwKX0pO3ZhciBCPU0sSz1bMSx6XTticmVhayB4fXZhciBCPTAsSz1bMCxwNChqKV19cmV0dXJuWzIxLFswLE4sSyxaKFswLGJdLFswLEJdLE8pXV19LHUpfWlmKHQ0KHUpKXJldHVybiB4MChbMCxjXSxmdW5jdGlvbihUKXt2YXIgYj1BaChULHIpO3JldHVyblsyMixbMCxbMCxiXSwwLDAsMSxaKFswLGldLDAsTyldXX0sdSk7aWYoIXNvKHUpJiYhbmgodSkpe2lmKHR5cGVvZiB2PT1cIm51bWJlclwiKXt2YXIgYT12K0UzfDA7aWYoNDxhPj4+MCl7aWYoYT09PTI0JiZ1WzI4XVsyXSlyZXR1cm4geDAoWzAsY10sZnVuY3Rpb24oVCl7dmFyIGI9cChYMFszXSxbMCxyXSxUKTtyZXR1cm5bMjIsWzAsWzAsYl0sMCwwLDEsWihbMCxpXSwwLE8pXV19LHUpfWVsc2UgaWYoMTxhLTE+Pj4wKXJldHVybiB4MChbMCxjXSxmdW5jdGlvbihUKXt2YXIgYj1wKFgwWzNdLFswLHJdLFQpO3JldHVyblsyMixbMCxbMCxiXSwwLDAsMSxaKFswLGldLDAsTyldXX0sdSl9aWYodUModSkpcmV0dXJuIHgwKFswLGNdLGZ1bmN0aW9uKFQpe3ZhciBiPVNDKFQpO3JldHVyblsyMixbMCxbMCxiXSwwLDAsMSxaKFswLGldLDAsTyldXX0sdSk7aWYodHlwZW9mIHY9PVwibnVtYmVyXCImJksyPT09dilyZXR1cm4geDAoWzAsY10sZnVuY3Rpb24oVCl7dmFyIGI9VjAoVCk7SihULEsyKTt2YXIgTj1xKFQpO3g6e2lmKHR5cGVvZiBOIT1cIm51bWJlclwiJiZOWzBdPT09NCYmIVAoTlszXSxOdCkpe0UwKFQpO3ZhciBqPVswLGExKFQpXTticmVhayB4fXZhciBqPTB9dmFyIEk9dzQoVCksRj1JWzFdO3JldHVyblsyMixbMCwwLFswLFsxLFswLGIsal1dXSxbMCxGXSwxLFooWzAsaV0sWzAsSVsyXV0sTyldXX0sdSk7dmFyIGw9dTIodSw2Mik/MDoxO3JldHVybiB1Mih1LDApP3gwKFswLGNdLGZ1bmN0aW9uKFQpe3ZhciBiPXdZKDAsVCwwKTtKKFQsMSk7dmFyIE49cShUKTt4OntpZih0eXBlb2YgTiE9XCJudW1iZXJcIiYmTlswXT09PTQmJiFQKE5bM10sbzYpKXt2YXIgaj13NChUKSxNPWpbMl0sej1bMCxqWzFdXTticmVhayB4fV9ZKFQsYik7dmFyIEk9eDEoMCwwLFQpLEY9SVswXT09PTA/SVsxXTpJWzFdWzFdLE09Rix6PTB9cmV0dXJuWzIyLFswLDAsWzAsWzAsYl1dLHosbCxaKFswLGldLFswLE1dLE8pXV19LHUpOihwMihRbzAsdSkscChYMFszXSxbMCxyXSx1KSl9cmV0dXJuIHgwKFswLGNdLGZ1bmN0aW9uKFQpe3VoKFQpKHIpO3ZhciBiPXA0KFQpO3JldHVyblsyMixbMCxbMCxiXSwwLDAsMSxaKFswLGldLDAsTyldXX0sdSk7Y2FzZSAxOnVoKHgpKHIpO3ZhciBtPXhyKDEseCk7eDp7cjppZih0eXBlb2YgbT09XCJudW1iZXJcIil7aWYobSE9PTQmJm0hPT0xMClicmVhayByO3ZhciBoPWQ0KHgpO2JyZWFrIHh9dmFyIGg9amgoeCl9cmV0dXJuIGg7Y2FzZSAxMTppZih4cigxLHgpPT09NTApcmV0dXJuIHVoKHgpKHIpLGJZKHgpO2JyZWFrfX1yZXR1cm4gQmgoWzAscl0seCl9ZnVuY3Rpb24gcVkoeCxyKXtyZXR1cm4gSDAoRFlbMV0scix4LDApfWZ1bmN0aW9uIFVZKHgscil7dmFyIGU9TFkocix4LGZ1bmN0aW9uKGkpe3JldHVybiBCaCgwLGkpfSksdD1lWzNdLHU9ZVsyXTtyZXR1cm5bMCxtMShmdW5jdGlvbihpLGMpe3JldHVyblswLGMsaV19LFpDKHgsZVsxXSksdSksdF19ZnVuY3Rpb24gWkMoeCxyKXtyZXR1cm4gSDAoRllbMV0scix4LDApfWZ1bmN0aW9uIEJoKHgscil7dmFyIGU9eD94WzFdOjA7MS10NChyKSYmdWgocikoZSk7dmFyIHQ9cShyKTtpZih0eXBlb2YgdD09XCJudW1iZXJcIil7aWYodD09PTI4KXJldHVybiB4MCh1RTAsbkUwLHIpO2lmKHQ9PT0yOSlyZXR1cm4geDAoZkUwLGlFMCxyKX1pZighc28ocikmJiFuaChyKSl7aWYodDQocikpcmV0dXJuIEFoKHIsZSk7aWYodHlwZW9mIHQ9PVwibnVtYmVyXCIpe3ZhciB1PXQtNDl8MDtpZigxND49dT4+PjApc3dpdGNoKHUpe2Nhc2UgMDppZihyWzI4XVsyXSlyZXR1cm4gX1goMCkocik7YnJlYWs7Y2FzZSA1OmlmKCFnQigxLHIpKXJldHVybiBkNChyKTt2YXIgaT0wLGM9eDAoMCxmdW5jdGlvbihUKXtyZXR1cm4gRGgoaSxUKX0scik7cmV0dXJuWzAsY1sxXSxbMzAsY1syXV1dO2Nhc2UgMTI6cmV0dXJuIHZFMCgwLHIpO2Nhc2UgMTM6aWYoeWEoMSxyKSYmIXlCKDEscikpe3ZhciB2PTAsYT14MCgwLGZ1bmN0aW9uKFQpe3JldHVybiBDaCh2LFQpfSxyKTtyZXR1cm5bMCxhWzFdLFszNyxhWzJdXV19cmV0dXJuIGQoWDBbMl0scik7Y2FzZSAxNDp2YXIgbD14cigxLHIpO2lmKHR5cGVvZiBsPT1cIm51bWJlclwiJiZsPT09NjIpe3ZhciBtPTAsaD14MCgwLGZ1bmN0aW9uKFQpe3JldHVybiBPaChVbzAsbSxUKX0scik7cmV0dXJuWzAsaFsxXSxbMzgsaFsyXV1dfXJldHVybiBkKFgwWzJdLHIpfX1yZXR1cm4gdUMocik/U0Mocik6Qlkocil9cmV0dXJuIHA0KHIpfWZ1bmN0aW9uIEJZKHgpe2Zvcig7Oyl7dmFyIHI9cSh4KTtpZih0eXBlb2Ygcj09XCJudW1iZXJcIiYmdHY+cilzd2l0Y2gocil7Y2FzZSAwOnZhciBlPWQoWDBbMTVdLHgpLHQ9ZVsxXSx1PWVbMl07cmV0dXJuWzAsdCxbMCxwKHdhKHgpWzJdLHUsZnVuY3Rpb24oajAseTApe3JldHVybiBIMChCeChqMCx6cCw3NyksajAsdCx5MCl9KV1dO2Nhc2UgODp2YXIgaT1WMCh4KSxjPXUwKHgpO3JldHVybiBKKHgsOCksWzAsaSxbMTksWzAsWihbMCxjXSxbMCx3YSh4KVsxXV0sTyldXV07Y2FzZSAxNjpyZXR1cm4gcFkoeCk7Y2FzZSAxOTpyZXR1cm4geDAoVlQwLFdUMCx4KTtjYXNlIDIwOnJldHVybiB4MChRVDAsJFQwLHgpO2Nhc2UgMjE6aWYoeFsyOF1bM10mJiFJdigxLHgpJiZ4cigxLHgpPT09NCl7dmFyIHY9dTAoeCksYT1WMCh4KSxsPXAoWDBbMTNdLDAseCksbT1UaCh4KSxoPW1bMl0sVD1tWzFdO2lmKCFOMSh4KSYmcSh4KT09PTApe3ZhciBiPWhbMV07aWYoYil7dmFyIE49YlsxXTtpZihOWzBdPT09MCYmIWJbMl0pcmV0dXJuIGRZKHgsYSx2LE5bMV0pfXJldHVybiBxMCh4LFswLFQsNDldKSxkWSh4LGEsdixbMCxULFJvMF0pfXZhciBqPVswLGxbMV0sWzEwLGxdXSxJPVlyKGEsVCksRj1vMSh4LGxvKE1vMCxMbzAseCxhLFswLFswLEksWzYsWzAsaiwwLFswLFQsaF0sWihbMCx2XSwwLE8pXV1dXSkpO3JldHVybiB4MChbMCxhXSxmdW5jdGlvbihqMCl7dmFyIHkwPXgxKEZvMCwwLGowKTtpZih5MFswXT09PTApdmFyIFkwPUYsTD15MFsxXTtlbHNlIHZhciBZMD1wKHkwWzFdWzJdLEYsZnVuY3Rpb24oTjAsUzApe3JldHVybiBwKEJ4KE4wLGp0LDc2KSxOMCxTMCl9KSxMPTA7cmV0dXJuWzIzLFswLFkwLDAsWigwLFswLExdLE8pXV19LHgpfWJyZWFrO2Nhc2UgMjM6cmV0dXJuIHgwKFpUMCxIVDAseCk7Y2FzZSAyNDpyZXR1cm4geDAockUwLHhFMCx4KTtjYXNlIDI1OnJldHVybiB4MCh0RTAsZUUwLHgpO2Nhc2UgMjY6cmV0dXJuIHgwKHNFMCxjRTAseCk7Y2FzZSAyNzp2YXIgTT14MCgwLGZ1bmN0aW9uKGowKXt2YXIgeTA9dTAoajApO0ooajAsMjcpO3ZhciBZMD1NeCh5MCx1MChqMCkpO0ooajAsNCk7dmFyIEw9ZChYMFs3XSxqMCk7SihqMCw1KTt2YXIgTjA9ZChYMFsyXSxqMCksUzA9MS1qMFs1XSxLMD1TMCYmZjQoTjApO3JldHVybiBLMCYmTnYoajAsTjBbMV0pLFs0MSxbMCxMLE4wLFooWzAsWTBdLDAsTyldXX0seCksej1NWzFdLEI9TVsyXTtyZXR1cm4gaHQoeCxbMCx6LDc0XSksWzAseixCXTtjYXNlIDMzOnZhciBLPXUwKHgpLG4wPXgwKDAsZnVuY3Rpb24oajApe0ooajAsMzMpO3g6e2lmKHEoajApIT09OCYmIXNsKGowKSl7dmFyIHkwPXAoWDBbMTNdLDAsajApLFkwPXkwWzJdWzFdLEw9eTBbMV07MS1JMVszXS5jYWxsKG51bGwsWTAsajBbM10pJiZxMChqMCxbMCxMLFsyOSxZMF1dKTt2YXIgTjA9WzAseTBdO2JyZWFrIHh9dmFyIE4wPTB9dmFyIFMwPXgxKDAsMCxqMCk7eDp7aWYoUzBbMF09PT0wKXZhciBLMD1TMFsxXTtlbHNle3ZhciBBMD1TMFsxXSwkMD1BMFsxXTtpZihOMCl7dmFyIGV4PVswLHAoQTBbMl0sTjBbMV0sZnVuY3Rpb24oc3gsUSl7cmV0dXJuIHAoQngoc3gsQzMsNzQpLHN4LFEpfSldLHh4PTA7YnJlYWsgeH12YXIgSzA9JDB9dmFyIGV4PU4wLHh4PUswfXJldHVyblswLGV4LHh4XX0seCksJD1uMFsyXSxIPSRbMV0sdDA9bjBbMV0sYzA9SD09PTA/MTowLHIwPSRbMl07aWYoYzApdmFyIHYwPXhbOF0sYTA9djB8fHhbOV0sZzA9MS1hMDtlbHNlIHZhciBnMD1jMDtyZXR1cm4gZzAmJnEwKHgsWzAsdDAsMjVdKSxbMCx0MCxbMSxbMCxILFooWzAsS10sWzAscjBdLE8pXV1dO2Nhc2UgMzY6dmFyIGkwPXUwKHgpLHMwPXgwKDAsZnVuY3Rpb24oajApe0ooajAsMzYpO3g6e2lmKHEoajApIT09OCYmIXNsKGowKSl7dmFyIHkwPXAoWDBbMTNdLDAsajApLFkwPXkwWzJdWzFdLEw9eTBbMV07MS1JMVszXS5jYWxsKG51bGwsWTAsajBbM10pJiZxMChqMCxbMCxMLFsyOSxZMF1dKTt2YXIgTjA9WzAseTBdO2JyZWFrIHh9dmFyIE4wPTB9dmFyIFMwPXgxKDAsMCxqMCk7eDp7aWYoUzBbMF09PT0wKXZhciBLMD1TMFsxXTtlbHNle3ZhciBBMD1TMFsxXSwkMD1BMFsxXTtpZihOMCl7dmFyIGV4PVswLHAoQTBbMl0sTjBbMV0sZnVuY3Rpb24oc3gsUSl7cmV0dXJuIHAoQngoc3gsQzMsNzUpLHN4LFEpfSldLHh4PTA7YnJlYWsgeH12YXIgSzA9JDB9dmFyIGV4PU4wLHh4PUswfXJldHVyblswLGV4LHh4XX0seCksZDA9czBbMl0sdzA9czBbMV0sTTA9ZDBbMl0sQzA9ZDBbMV07cmV0dXJuIDEteFs4XSYmcTAoeCxbMCx3MCwyNl0pLFswLHcwLFs0LFswLEMwLFooWzAsaTBdLFswLE0wXSxPKV1dXTtjYXNlIDM4OnJldHVybiB4MChLVDAselQwLHgpO2Nhc2UgNDA6cmV0dXJuIHgwKEdUMCxKVDAseCk7Y2FzZSA0NDpyZXR1cm4gcFkoeCk7Y2FzZSA2MDpyZXR1cm4geDAoWVQwLFhUMCx4KTtjYXNlIDExNDpyZXR1cm4gcDIoemwwLHgpLFswLFYwKHgpLEtsMF07Y2FzZSAxOmNhc2UgNTpjYXNlIDc6Y2FzZSA5OmNhc2UgMTA6Y2FzZSAxMTpjYXNlIDEyOmNhc2UgMTc6Y2FzZSAxODpjYXNlIDM0OmNhc2UgMzU6Y2FzZSAzNzpjYXNlIDM5OmNhc2UgNDI6Y2FzZSA0MzpjYXNlIDUwOmNhc2UgODQ6Y2FzZSA4NzpwMihKbDAseCksRTAoeCk7Y29udGludWV9aWYoIXNvKHgpJiYhbmgoeCkpe2lmKHR5cGVvZiByPT1cIm51bWJlclwiJiZyPT09MjkmJnhyKDEseCk9PT02KXt2YXIgRDA9Y2woMSx4KTtyZXR1cm4gcTAoeCxbMCxZcihWMCh4KSxEMCksM10pLGQ0KHgpfXJldHVybiBkbih4KT94MChvRTAsYUUwLHgpOih0NCh4KSYmKHAyKDAseCksRTAoeCkpLGQ0KHgpKX12YXIgSTA9cDQoeCk7cmV0dXJuIE52KHgsSTBbMV0pLEkwfX1GcihIQyxbMCxmdW5jdGlvbih4LHIpe2lmKHR5cGVvZiByIT1cIm51bWJlclwiJiZyWzBdPT09Mil7dmFyIGU9clsxXSx0PWVbNF0sdT1lWzFdO3JldHVybiB0JiZodCh4LFswLHUsNzZdKX1yZXR1cm4gVHgocXgoV2wwLHF4KElVKHIpLEdsMCkpKX0sZnVuY3Rpb24oeCxyLGUsdCl7Zm9yKHZhciB1PXgsaT10Ozspe3ZhciBjPWlbM10sdj1pWzJdLGE9aVsxXSxsPXEodSk7aWYodHlwZW9mIGw9PVwibnVtYmVyXCImJm1yPT09bClyZXR1cm5bMCx1LGEsdixjXTtpZihkKHIsbCkpcmV0dXJuWzAsdSxhLHYsY107aWYodHlwZW9mIGwhPVwibnVtYmVyXCImJmxbMF09PT0yKXt2YXIgbT1kKGUsdSksaD1bMCxtLHZdLFQ9bVsyXTtpZihUWzBdPT09MjMpe3ZhciBiPVRbMV1bMl07aWYoYil7dmFyIE49YnIoYlsxXSxcInVzZSBzdHJpY3RcIiksaj1tWzFdLEk9TiYmMS11WzIxXTtJJiZxMCh1LFswLGosNzldKTt2YXIgRj1OP2hhKDEsdSk6dSxNPVswLGwsYV0sej1jfHxOLHU9RixpPVswLE0saCx6XTtjb250aW51ZX19cmV0dXJuWzAsdSxhLGgsY119cmV0dXJuWzAsdSxhLHYsY119fV0pLEZyKERZLFswLGZ1bmN0aW9uKHgscixlKXtmb3IodmFyIHQ9ZTs7KXt2YXIgdT1xKHgpO2lmKHR5cGVvZiB1PT1cIm51bWJlclwiJiZtcj09PXV8fGQocix1KSlyZXR1cm4gaXgodCk7dmFyIHQ9WzAsTVkoeCksdF19fV0pLEZyKEZZLFswLGZ1bmN0aW9uKHgscixlKXtmb3IodmFyIHQ9ZTs7KXt2YXIgdT1xKHgpO2lmKHR5cGVvZiB1PT1cIm51bWJlclwiJiZtcj09PXV8fGQocix1KSlyZXR1cm4gaXgodCk7dmFyIHQ9WzAsQmgoMCx4KSx0XX19XSksRnIoUlksWzAsZnVuY3Rpb24oeCxyLGUpe3ZhciB0PTEteCx1PU9ZKFswLHJdLGUpLGk9dCYmKHEoZSk9PT04Nj8xOjApO3JldHVybiBpJiYoMS1BMihlKSYmVXgoZSxnMSksSihlLDg2KSksWzAsdSx3QyhlKSxpXX1dKSwkcShabDBbMV0sWDAsWzAsZnVuY3Rpb24oeCl7dmFyIHI9cSh4KTt4OntpZih0eXBlb2YgciE9XCJudW1iZXJcIiYmclswXT09PTYpe3ZhciBlPXJbMl0sdD1yWzFdO0UwKHgpO3ZhciB1PVswLFswLHQsZV1dO2JyZWFrIHh9dmFyIHU9MH12YXIgaT11MCh4KTt4OntyOntmb3IodmFyIGM9aXgoaSksdj01O2M7KXt2YXIgYT1jWzJdLGw9Y1sxXSxtPWxbMl0saD1sWzFdLFQ9bVsyXTtlOnt0Ontmb3IodmFyIGI9MCxOPU54KFQpOzspe2lmKE48KGIrNXwwKSlicmVhayB0O3ZhciBqPWJyKFQxKFQsYix2KSxcIkBmbG93XCIpO2lmKGopYnJlYWs7dmFyIGI9YisxfDB9dmFyIEk9ajticmVhayBlfXZhciBJPTB9aWYoSSlicmVhayByO3ZhciBjPWF9dmFyIEY9MDticmVhayB4fXhbMzFdWzFdPWhbM107dmFyIEY9aXgoWzAsWzAsaCxtXSxhXSl9eDppZihGPT09MCl7aWYoaSl7dmFyIE09aVsxXSx6PU1bMl07aWYoIXpbMV0pe3ZhciBCPXpbMl0sSz1NWzFdO2lmKDE8PU54KEIpJiZxMihCLDApPT09NDIpe3hbMzFdWzFdPUtbM107dmFyIG4wPVswLE0sMF07YnJlYWsgeH19fXZhciBuMD0wfWVsc2UgdmFyIG4wPUY7ZnVuY3Rpb24gJChpMCl7cmV0dXJuIDB9dmFyIEg9TFkoeCwkLE1ZKSx0MD1IWzJdLGMwPW0xKGZ1bmN0aW9uKGkwLHMwKXtyZXR1cm5bMCxzMCxpMF19LHFZKCQsSFsxXSksdDApLHIwPVYwKHgpO2lmKEooeCxtciksbTEoZnVuY3Rpb24oaTAsczApe3ZhciBkMD1zMFsyXTtzd2l0Y2goZDBbMF0pe2Nhc2UgMjE6cmV0dXJuIGM0KHgsaTAsbW4oMCxbMCxkMFsxXVsxXSxWbDBdKSk7Y2FzZSAyMjp2YXIgdzA9ZDBbMV0sTTA9dzBbMV07aWYoTTApe2lmKCF3MFsyXSl7dmFyIEMwPU0wWzFdLEQwPUMwWzJdLEkwPUMwWzFdO3g6e3N3aXRjaChEMFswXSl7Y2FzZSAzOTpyZXR1cm4gbTEoZnVuY3Rpb24oTjAsUzApe3JldHVybiBjNCh4LE4wLFMwKX0saTAsbTEoZnVuY3Rpb24oTjAsUzApe3JldHVybiBtMSh2QyxOMCxbMCxTMFsyXVsxXSwwXSl9LDAsRDBbMV1bMV0pKTtjYXNlIDI6Y2FzZSAyNzp2YXIgajA9RDBbMV1bMV07aWYoajApe3ZhciB5MD1qMFsxXTticmVhayB4fWJyZWFrO2Nhc2UgMzpjYXNlIDIwOmNhc2UgMzA6Y2FzZSAzNzpjYXNlIDM4OnZhciB5MD1EMFsxXVsxXTticmVhayB4fXJldHVybiBpMH1yZXR1cm4gYzQoeCxpMCxtbigwLFswLEkwLHkwWzJdWzFdXSkpfX1lbHNle3ZhciBZMD13MFsyXTtpZihZMCl7dmFyIEw9WTBbMV07cmV0dXJuIExbMF09PT0wP20xKGZ1bmN0aW9uKE4wLFMwKXt2YXIgSzA9UzBbMl0sQTA9SzBbMl0sJDA9SzBbMV07cmV0dXJuIEEwP2M0KHgsTjAsQTBbMV0pOmM0KHgsTjAsJDApfSxpMCxMWzFdKTppMH19cmV0dXJuIGkwO2RlZmF1bHQ6cmV0dXJuIGkwfX0sSTFbMV0sYzApLGMwKXZhciB2MD1DNihpeChjMCkpWzFdLGEwPVlyKEM2KGMwKVsxXSx2MCk7ZWxzZSB2YXIgYTA9cjA7dmFyIGcwPWl4KHhbMl1bMV0pO3JldHVyblswLGEwLFswLGMwLHUsWihbMCxuMF0sMCxPKSxnMF1dfSxCWSxCaCxaQyxVWSxxWSxmdW5jdGlvbih4KXt2YXIgcj1WMCh4KSxlPXp0KHgpLHQ9cSh4KTtyZXR1cm4gdHlwZW9mIHQ9PVwibnVtYmVyXCImJnQ9PT05P0RDKHgscixbMCxlLDBdKTplfSxmdW5jdGlvbih4KXt2YXIgcj1WMCh4KSxlPWg0KHgpLHQ9cSh4KTtyZXR1cm4gdHlwZW9mIHQ9PVwibnVtYmVyXCImJnQ9PT05P1swLERDKHgscixbMCxvMSh4LGUpLDBdKV06ZX0sZnVuY3Rpb24oeCl7cmV0dXJuIG8xKHgsRlgoeCkpfSx6dCxOQyxmdW5jdGlvbih4KXt2YXIgcj14MCgwLGZ1bmN0aW9uKHQpe3ZhciB1PXUwKHQpO0oodCwwKTt4OmZvcih2YXIgaT0wLGM9WzAsMCxsbl07Oyl7dmFyIHY9Y1syXSxhPWNbMV0sbD1xKHQpO2lmKHR5cGVvZiBsPT1cIm51bWJlclwiKXtpZihsPT09MSlicmVhayB4O2lmKG1yPT09bClicmVha312YXIgbT1TVDAodCksaD1tWzFdLFQ9bVsyXTtyOntpZihoWzBdPT09MSYmcSh0KT09PTkpe3ZhciBiPVswLFYwKHQpXTticmVhayByfXZhciBiPTB9dmFyIE49UEMoVCx2KSxqPXEodCk7cjp7ZTppZih0eXBlb2Ygaj09XCJudW1iZXJcIil7dmFyIEk9ai0yfDA7aWYoY2U8ST4+PjApe2lmKFRlPEkrMT4+PjApYnJlYWsgZX1lbHNle2lmKEkhPT03KWJyZWFrIGU7RTAodCl9dmFyIEI9TjticmVhayByfXZhciBGPXpqKEtjMCw5KSxNPXdCKFswLEZdLHEodCkpLHo9WzAsVjAodCksTV07dTIodCw4KTt2YXIgQj1bMCxbMCx6LE5bMV1dLFswLHosTlsyXV1dfXZhciBpPWIsYz1bMCxbMCxoLGFdLEJdfXZhciBLPWk/WzAsdlsxXSxbMCxbMCxpWzFdLDkwXSx2WzJdXV06dixuMD1iWChLKSwkPWl4KGEpLEg9dTAodCk7cmV0dXJuIEoodCwxKSxbMCxbMCwkLE8yKFswLHVdLFswLEwwKHQpXSxILE8pXSxuMF19LHgpLGU9clsyXTtyZXR1cm5bMCxyWzFdLGVbMV0sZVsyXV19LE9ZLGZ1bmN0aW9uKHgscixlKXt2YXIgdD1yP3JbMV06MDtyZXR1cm4geDAoMCxwKFJZWzFdLHQsZSkseCl9LGZ1bmN0aW9uKHgpe3ZhciByPVYwKHgpLGU9dTAoeCk7Sih4LDApO3ZhciB0PVpDKGZ1bmN0aW9uKHYpe3JldHVybiB2PT09MT8xOjB9LHgpLHU9VjAoeCksaT10PT09MD91MCh4KTowO0ooeCwxKTt2YXIgYz1bMCx0LE8yKFswLGVdLFswLEwwKHgpXSxpLE8pXTtyZXR1cm5bMCxZcihyLHUpLGNdfSxmdW5jdGlvbih4KXtmdW5jdGlvbiByKHQpe3ZhciB1PXUwKHQpO0oodCwwKTt2YXIgaT1VWShmdW5jdGlvbihoKXtyZXR1cm4gaD09PTE/MTowfSx0KSxjPWlbMV0sdj1pWzJdLGE9Yz09PTA/dTAodCk6MDtKKHQsMSk7dmFyIGw9cSh0KTt4OntyOmlmKCF4KXtpZih0eXBlb2YgbD09XCJudW1iZXJcIiYmKGw9PT0xfHxtcj09PWwpKWJyZWFrIHI7aWYoTjEodCkpe3ZhciBtPWFvKHQpO2JyZWFrIHh9dmFyIG09MDticmVhayB4fXZhciBtPUwwKHQpfXJldHVyblswLFswLGMsTzIoWzAsdV0sWzAsbV0sYSxPKV0sdl19dmFyIGU9MDtyZXR1cm4gZnVuY3Rpb24odCl7cmV0dXJuIHNDKGUscix0KX19LGZ1bmN0aW9uKHgpe3JldHVybiBqWShsRTAseCl9LF80LExoLHBvLEFoLGZ1bmN0aW9uKHgpe3JldHVybiB4MChDVDAsalQwLHgpfSxmdW5jdGlvbih4KXt2YXIgcj14WzJdO3N3aXRjaChyWzBdKXtjYXNlIDI0OnZhciBlPXJbMV0sdD1lWzFdWzJdWzFdO2lmKFAodCxYMSkpe2lmKCFQKHQscnYpJiYhUChlWzJdWzJdWzFdLFVtKSlyZXR1cm4gMH1lbHNlIGlmKCFQKGVbMl1bMl1bMV0sWGwpKXJldHVybiAwO2JyZWFrO2Nhc2UgMDpjYXNlIDEwOmNhc2UgMjM6Y2FzZSAyNjpicmVhaztkZWZhdWx0OnJldHVybiAwfXJldHVybiAxfSxDQyxEdixPQyx3aF0pO3ZhciB4Tz1bbjIsa2IwLGFzKDApXSxyTz1bMCx4TyxbMF1dLHBFMD1kNShsYjAsZnVuY3Rpb24oeCl7dmFyIHI9UGooeCx2YjApWzQxXSxlPUNqKHgsMCwwLHBiMCxNaiwxKVsxXTtyZXR1cm4gV3EoeCxyLGZ1bmN0aW9uKHQsdSl7cmV0dXJuIDB9KSxmdW5jdGlvbih0LHUpe3ZhciBpPXk1KHUseCk7cmV0dXJuIGQoZSxpKSxPaih1LGkseCl9fSksa0UwPVtuMixDMDAsYXMoMCldO2Z1bmN0aW9uIG1FMCh4KXtpZih0eXBlb2YgeD09XCJudW1iZXJcIil7dmFyIHI9eDtpZig1Nzw9cilzd2l0Y2gocil7Y2FzZSA1NzpyZXR1cm4gSUg7Y2FzZSA1ODpyZXR1cm4gTkg7Y2FzZSA1OTpyZXR1cm4gakg7Y2FzZSA2MDpyZXR1cm4gQ0g7Y2FzZSA2MTpyZXR1cm4gT0g7Y2FzZSA2MjpyZXR1cm4gREg7Y2FzZSA2MzpyZXR1cm4gRkg7Y2FzZSA2NDpyZXR1cm4gUkg7Y2FzZSA2NTpyZXR1cm4gTEg7Y2FzZSA2NjpyZXR1cm4gTUg7Y2FzZSA2NzpyZXR1cm4gcUg7Y2FzZSA2ODpyZXR1cm4gVUg7Y2FzZSA2OTpyZXR1cm4gQkg7Y2FzZSA3MDpyZXR1cm4gWEg7Y2FzZSA3MTpyZXR1cm4gWUg7Y2FzZSA3MjpyZXR1cm4gekg7Y2FzZSA3MzpyZXR1cm4gS0g7Y2FzZSA3NDpyZXR1cm4gSkg7Y2FzZSA3NTpyZXR1cm4gR0g7Y2FzZSA3NjpyZXR1cm4gV0g7Y2FzZSA3NzpyZXR1cm4gVkg7Y2FzZSA3ODpyZXR1cm4gJEg7Y2FzZSA3OTpyZXR1cm4gUUg7Y2FzZSA4MDpyZXR1cm4gSEg7Y2FzZSA4MTpyZXR1cm4gWkg7Y2FzZSA4MjpyZXR1cm4geFo7Y2FzZSA4MzpyZXR1cm4gclo7Y2FzZSA4NDpyZXR1cm4gZVo7Y2FzZSA4NTpyZXR1cm4gdFo7Y2FzZSA4NjpyZXR1cm4gblo7Y2FzZSA4NzpyZXR1cm4gdVo7Y2FzZSA4ODpyZXR1cm4gaVo7Y2FzZSA4OTpyZXR1cm4gZlo7Y2FzZSA5MDpyZXR1cm4gY1o7Y2FzZSA5MTpyZXR1cm4gc1o7Y2FzZSA5MjpyZXR1cm4gYVo7Y2FzZSA5MzpyZXR1cm4gb1o7Y2FzZSA5NDpyZXR1cm4gdlo7Y2FzZSA5NTpyZXR1cm4gbFo7Y2FzZSA5NjpyZXR1cm4gcFo7Y2FzZSA5NzpyZXR1cm4ga1o7Y2FzZSA5ODpyZXR1cm4gbVo7Y2FzZSA5OTpyZXR1cm4gaFo7Y2FzZSAxMDA6cmV0dXJuIGRaO2Nhc2UgMTAxOnJldHVybiB5WjtjYXNlIDEwMjpyZXR1cm4gZ1o7Y2FzZSAxMDM6cmV0dXJuIHdaO2Nhc2UgMTA0OnJldHVybiBfWjtjYXNlIDEwNTpyZXR1cm4gYlo7Y2FzZSAxMDY6cmV0dXJuIFRaO2Nhc2UgMTA3OnJldHVybiBFWjtjYXNlIDEwODpyZXR1cm4gU1o7Y2FzZSAxMDk6cmV0dXJuIEFaO2Nhc2UgMTEwOnJldHVybiBQWjtjYXNlIDExMTpyZXR1cm4gSVo7ZGVmYXVsdDpyZXR1cm4gTlp9c3dpdGNoKHIpe2Nhc2UgMDpyZXR1cm4gVFE7Y2FzZSAxOnJldHVybiBFUTtjYXNlIDI6cmV0dXJuIFNRO2Nhc2UgMzpyZXR1cm4gQVE7Y2FzZSA0OnJldHVybiBQUTtjYXNlIDU6cmV0dXJuIElRO2Nhc2UgNjpyZXR1cm4gTlE7Y2FzZSA3OnJldHVybiBqUTtjYXNlIDg6cmV0dXJuIENRO2Nhc2UgOTpyZXR1cm4gT1E7Y2FzZSAxMDpyZXR1cm4gRFE7Y2FzZSAxMTpyZXR1cm4gcXgoUlEsRlEpO2Nhc2UgMTI6cmV0dXJuIExRO2Nhc2UgMTM6cmV0dXJuIE1RO2Nhc2UgMTQ6cmV0dXJuIHFRO2Nhc2UgMTU6cmV0dXJuIFVRO2Nhc2UgMTY6cmV0dXJuIEJRO2Nhc2UgMTc6cmV0dXJuIFhRO2Nhc2UgMTg6cmV0dXJuIFlRO2Nhc2UgMTk6cmV0dXJuIHpRO2Nhc2UgMjA6cmV0dXJuIEtRO2Nhc2UgMjE6cmV0dXJuIEpRO2Nhc2UgMjI6cmV0dXJuIEdRO2Nhc2UgMjM6cmV0dXJuIFdRO2Nhc2UgMjQ6cmV0dXJuIFZRO2Nhc2UgMjU6cmV0dXJuICRRO2Nhc2UgMjY6cmV0dXJuIFFRO2Nhc2UgMjc6cmV0dXJuIEhRO2Nhc2UgMjg6cmV0dXJuIFpRO2Nhc2UgMjk6cmV0dXJuIHhIO2Nhc2UgMzA6cmV0dXJuIHF4KGVILHJIKTtjYXNlIDMxOnJldHVybiB0SDtjYXNlIDMyOnJldHVybiBuSDtjYXNlIDMzOnJldHVybiB1SDtjYXNlIDM0OnJldHVybiBpSDtjYXNlIDM1OnJldHVybiBmSDtjYXNlIDM2OnJldHVybiBjSDtjYXNlIDM3OnJldHVybiBzSDtjYXNlIDM4OnJldHVybiBhSDtjYXNlIDM5OnJldHVybiBvSDtjYXNlIDQwOnJldHVybiB2SDtjYXNlIDQxOnJldHVybiBsSDtjYXNlIDQyOnJldHVybiBwSDtjYXNlIDQzOnJldHVybiBrSDtjYXNlIDQ0OnJldHVybiBtSDtjYXNlIDQ1OnJldHVybiBoSDtjYXNlIDQ2OnJldHVybiBkSDtjYXNlIDQ3OnJldHVybiB5SDtjYXNlIDQ4OnJldHVybiBnSDtjYXNlIDQ5OnJldHVybiB3SDtjYXNlIDUwOnJldHVybiBfSDtjYXNlIDUxOnJldHVybiBiSDtjYXNlIDUyOnJldHVybiBUSDtjYXNlIDUzOnJldHVybiBFSDtjYXNlIDU0OnJldHVybiBTSDtjYXNlIDU1OnJldHVybiBBSDtkZWZhdWx0OnJldHVybiBQSH19c3dpdGNoKHhbMF0pe2Nhc2UgMDp2YXIgZT14WzFdO3JldHVybiBkKGFyKGpaKSxlKTtjYXNlIDE6dmFyIHQ9eFsxXTtyZXR1cm4gZChhcihDWiksdCk7Y2FzZSAyOnZhciB1PXhbMl0saT14WzFdO3JldHVybiBwKGFyKE9aKSx1LGkpO2Nhc2UgMzp2YXIgYz14WzJdLHY9eFsxXTtyZXR1cm4gSDAoYXIoRFopLGMsYyx2KTtjYXNlIDQ6dmFyIGE9eFsyXSxsPXhbMV07cmV0dXJuIHAoYXIoRlopLGEsbCk7Y2FzZSA1OnZhciBtPXhbMV07cmV0dXJuIGQoYXIoUlopLG0pO2Nhc2UgNjpyZXR1cm4geFsxXT9MWjpNWjtjYXNlIDc6dmFyIGg9eFsyXSxUPXhbMV0sYj1kKGFyKHFaKSxUKTtpZighaClyZXR1cm4gZChhcihCWiksYik7dmFyIE49aFsxXTtyZXR1cm4gcChhcihVWiksTixiKTtjYXNlIDg6dmFyIGo9eFsxXTtyZXR1cm4gcChhcihYWiksaixqKTtjYXNlIDk6dmFyIEk9eFszXSxGPXhbMl0sTT14WzFdO2lmKCFGKXJldHVybiBwKGFyKEtaKSxJLE0pO3ZhciB6PUZbMV07aWYoej09PTMpcmV0dXJuIHAoYXIoelopLEksTSk7c3dpdGNoKHope2Nhc2UgMDp2YXIgQj1WVjticmVhaztjYXNlIDE6dmFyIEI9JFY7YnJlYWs7Y2FzZSAyOnZhciBCPVFWO2JyZWFrO2Nhc2UgMzp2YXIgQj1IVjticmVhaztkZWZhdWx0OnZhciBCPVpWfXJldHVybiB6TihhcihZWiksTSxCLEksQik7Y2FzZSAxMDp2YXIgSz14WzJdLG4wPXhbMV0sJD0kTShLKTtyZXR1cm4gSDAoYXIoSlopLEssJCxuMCk7Y2FzZSAxMTp2YXIgSD14WzJdLHQwPXhbMV07cmV0dXJuIHAoYXIoR1opLEgsdDApO2Nhc2UgMTI6dmFyIGMwPXhbMV07cmV0dXJuIGQoYXIoV1opLGMwKTtjYXNlIDEzOnZhciByMD14WzFdO3JldHVybiBkKGFyKFZaKSxyMCk7Y2FzZSAxNDpyZXR1cm4geFsxXT9xeChRWiwkWik6cXgoWlosSFopO2Nhc2UgMTU6dmFyIHYwPXhbMV0sYTA9eFs0XSxnMD14WzNdLGkwPXhbMl0/eDAwOnIwMCxzMD1nMD9lMDA6dDAwLGQwPWEwP3F4KG4wMCx2MCk6djA7cmV0dXJuIEgwKGFyKHUwMCksaTAsczAsZDApO2Nhc2UgMTY6cmV0dXJuIGkwMDtjYXNlIDE3OnZhciB3MD14WzJdLE0wPXhbMV0sQzA9SE0oNDUsdzApO2lmKEMwKXZhciBEMD1DMFsxXSxJMD1DMFsyXT9WTShiUSxbMCxEMCx2cygkTSxDMFsyXSldKTpEMDtlbHNlIHZhciBJMD13MDt2YXIgajA9TTA/ZjAwOmMwMDtyZXR1cm4gSDAoYXIoczAwKSx3MCxJMCxqMCk7Y2FzZSAxODp2YXIgeTA9eFsxXT9hMDA6bzAwO3JldHVybiBkKGFyKHYwMCkseTApO2Nhc2UgMTk6dmFyIFkwPXhbMV07cmV0dXJuIGQoYXIobDAwKSxZMCk7Y2FzZSAyMDp2YXIgTD1abDw9eFsxXT9wMDA6azAwO3JldHVybiBkKGFyKG0wMCksTCk7Y2FzZSAyMTp2YXIgTjA9eFsxXTtyZXR1cm4gZChhcihoMDApLE4wKTtjYXNlIDIyOnZhciBTMD14WzFdO3JldHVybiBkKGFyKGQwMCksUzApO2Nhc2UgMjM6dmFyIEswPXhbMl0sQTA9eFsxXTtyZXR1cm4gcChhcih5MDApLEEwLEswKTtjYXNlIDI0OnZhciAkMD14WzFdO2lmKEJsPT09JDApdmFyIGV4PVQwMCx4eD1FMDA7ZWxzZSBpZihzNjw9JDApdmFyIGV4PWcwMCx4eD13MDA7ZWxzZSB2YXIgZXg9XzAwLHh4PWIwMDtyZXR1cm4gcChhcihTMDApLHh4LGV4KTtjYXNlIDI1OnZhciB0eD14WzFdO3JldHVybiBkKGFyKEEwMCksdHgpO2Nhc2UgMjY6dmFyIHowPXhbMV07cmV0dXJuIGQoYXIoUDAwKSx6MCk7Y2FzZSAyNzp2YXIgcHg9eFsyXSxzeD14WzFdO3JldHVybiBwKGFyKEkwMCksc3gscHgpO2Nhc2UgMjg6dmFyIFE9eFsyXSxiMD14WzFdO3JldHVybiBwKGFyKE4wMCksYjAsUSk7ZGVmYXVsdDp2YXIgVT14WzFdO3JldHVybiBkKGFyKGowMCksVSl9fWZ1bmN0aW9uIGhFMCh4LHIpe3ZhciBlPXhbMl07ZnVuY3Rpb24gdChfKXtyZXR1cm4gUzEoXyxyKX12YXIgdT14WzFdO3N3aXRjaChlWzBdKXtjYXNlIDA6dmFyIGk9ZVsxXSxjPVM1KGlbMl0sciksang9WzAsWzAsaVsxXSxjXV07YnJlYWs7Y2FzZSAxOnZhciB2PWVbMV0sYT10KHZbMl0pLGp4PVsxLFswLHZbMV0sYV1dO2JyZWFrO2Nhc2UgMjp2YXIgbD1lWzFdLG09dChsWzddKSxqeD1bMixbMCxsWzFdLGxbMl0sbFszXSxsWzRdLGxbNV0sbFs2XSxtXV07YnJlYWs7Y2FzZSAzOnZhciBoPWVbMV0sVD1oWzddLGI9dChoWzZdKSxqeD1bMyxbMCxoWzFdLGhbMl0saFszXSxoWzRdLGhbNV0sYixUXV07YnJlYWs7Y2FzZSA0OnZhciBOPWVbMV0saj10KE5bMl0pLGp4PVs0LFswLE5bMV0sal1dO2JyZWFrO2Nhc2UgNTp2YXIgang9WzUsWzAsdChlWzFdWzFdKV1dO2JyZWFrO2Nhc2UgNjp2YXIgST1lWzFdLEY9dChJWzddKSxqeD1bNixbMCxJWzFdLElbMl0sSVszXSxJWzRdLElbNV0sSVs2XSxGXV07YnJlYWs7Y2FzZSA3OnZhciBNPWVbMV0sej10KE1bNV0pLGp4PVs3LFswLE1bMV0sTVsyXSxNWzNdLE1bNF0sel1dO2JyZWFrO2Nhc2UgODp2YXIgQj1lWzFdLEs9dChCWzNdKSxqeD1bOCxbMCxCWzFdLEJbMl0sS11dO2JyZWFrO2Nhc2UgOTp2YXIgbjA9ZVsxXSwkPXQobjBbNV0pLGp4PVs5LFswLG4wWzFdLG4wWzJdLG4wWzNdLG4wWzRdLCRdXTticmVhaztjYXNlIDEwOnZhciBIPWVbMV0sdDA9dChIWzRdKSxqeD1bMTAsWzAsSFsxXSxIWzJdLEhbM10sdDBdXTticmVhaztjYXNlIDExOnZhciBjMD1lWzFdLHIwPXQoYzBbNV0pLGp4PVsxMSxbMCxjMFsxXSxjMFsyXSxjMFszXSxjMFs0XSxyMF1dO2JyZWFrO2Nhc2UgMTI6dmFyIHYwPWVbMV0sYTA9dCh2MFszXSksang9WzEyLFswLHYwWzFdLHYwWzJdLGEwXV07YnJlYWs7Y2FzZSAxMzp2YXIgZzA9ZVsxXSxpMD10KGcwWzJdKSxqeD1bMTMsWzAsZzBbMV0saTBdXTticmVhaztjYXNlIDE0OnZhciBzMD1lWzFdLGQwPXQoczBbM10pLGp4PVsxNCxbMCxzMFsxXSxzMFsyXSxkMF1dO2JyZWFrO2Nhc2UgMTU6dmFyIHcwPWVbMV0sTTA9dCh3MFs0XSksang9WzE1LFswLHcwWzFdLHcwWzJdLHcwWzNdLE0wXV07YnJlYWs7Y2FzZSAxNjp2YXIgQzA9ZVsxXSxEMD10KEMwWzVdKSxqeD1bMTYsWzAsQzBbMV0sQzBbMl0sQzBbM10sQzBbNF0sRDBdXTticmVhaztjYXNlIDE3OnZhciBJMD1lWzFdLGowPXQoSTBbNF0pLGp4PVsxNyxbMCxJMFsxXSxJMFsyXSxJMFszXSxqMF1dO2JyZWFrO2Nhc2UgMTg6dmFyIHkwPWVbMV0sWTA9dCh5MFszXSksang9WzE4LFswLHkwWzFdLHkwWzJdLFkwXV07YnJlYWs7Y2FzZSAxOTp2YXIgang9WzE5LFswLHQoZVsxXVsxXSldXTticmVhaztjYXNlIDIwOnZhciBMPWVbMV0sTjA9dChMWzNdKSxqeD1bMjAsWzAsTFsxXSxMWzJdLE4wXV07YnJlYWs7Y2FzZSAyMTp2YXIgUzA9ZVsxXSxLMD10KFMwWzNdKSxqeD1bMjEsWzAsUzBbMV0sUzBbMl0sSzBdXTticmVhaztjYXNlIDIyOnZhciBBMD1lWzFdLCQwPXQoQTBbNV0pLGp4PVsyMixbMCxBMFsxXSxBMFsyXSxBMFszXSxBMFs0XSwkMF1dO2JyZWFrO2Nhc2UgMjM6dmFyIGV4PWVbMV0seHg9dChleFszXSksang9WzIzLFswLGV4WzFdLGV4WzJdLHh4XV07YnJlYWs7Y2FzZSAyNDp2YXIgdHg9ZVsxXSx6MD10KHR4WzVdKSxqeD1bMjQsWzAsdHhbMV0sdHhbMl0sdHhbM10sdHhbNF0sejBdXTticmVhaztjYXNlIDI1OnZhciBweD1lWzFdLHN4PXQocHhbNV0pLGp4PVsyNSxbMCxweFsxXSxweFsyXSxweFszXSxweFs0XSxzeF1dO2JyZWFrO2Nhc2UgMjY6dmFyIFE9ZVsxXSxiMD10KFFbNV0pLGp4PVsyNixbMCxRWzFdLFFbMl0sUVszXSxRWzRdLGIwXV07YnJlYWs7Y2FzZSAyNzp2YXIgVT1lWzFdLGgwPVVbMTFdLF8wPXQoVVsxMF0pLGp4PVsyNyxbMCxVWzFdLFVbMl0sVVszXSxVWzRdLFVbNV0sVVs2XSxVWzddLFVbOF0sVVs5XSxfMCxoMF1dO2JyZWFrO2Nhc2UgMjg6dmFyIG0wPWVbMV0sVDA9dChtMFs0XSksang9WzI4LFswLG0wWzFdLG0wWzJdLG0wWzNdLFQwXV07YnJlYWs7Y2FzZSAyOTp2YXIgWD1lWzFdLEd4PXQoWFs1XSksang9WzI5LFswLFhbMV0sWFsyXSxYWzNdLFhbNF0sR3hdXTticmVhaztjYXNlIDMwOnZhciBQeD1lWzFdLEcwPXQoUHhbNV0pLGp4PVszMCxbMCxQeFsxXSxQeFsyXSxQeFszXSxQeFs0XSxHMF1dO2JyZWFrO2Nhc2UgMzE6dmFyIEtyPWVbMV0sUz10KEtyWzNdKSxqeD1bMzEsWzAsS3JbMV0sS3JbMl0sU11dO2JyZWFrO2Nhc2UgMzI6dmFyIEc9ZVsxXSxyeD10KEdbM10pLGp4PVszMixbMCxHWzFdLEdbMl0scnhdXTticmVhaztjYXNlIDMzOnZhciB5eD1lWzFdLEV4PXl4WzNdLG54PXQoeXhbMl0pLGp4PVszMyxbMCx5eFsxXSxueCxFeF1dO2JyZWFrO2Nhc2UgMzQ6dmFyIHAwPWVbMV0sRng9cDBbNF0sU3g9dChwMFszXSksang9WzM0LFswLHAwWzFdLHAwWzJdLFN4LEZ4XV07YnJlYWs7Y2FzZSAzNTp2YXIgYng9ZVsxXSxCMD10KGJ4WzJdKSxqeD1bMzUsWzAsYnhbMV0sQjBdXTticmVhaztjYXNlIDM2OnZhciBXeD1lWzFdLFl4PXQoV3hbNF0pLGp4PVszNixbMCxXeFsxXSxXeFsyXSxXeFszXSxZeF1dO2JyZWFrO2Nhc2UgMzc6dmFyIGF4PWVbMV0sUXg9dChheFs0XSksang9WzM3LFswLGF4WzFdLGF4WzJdLGF4WzNdLFF4XV07YnJlYWs7Y2FzZSAzODp2YXIga3g9ZVsxXSx0cj10KGt4WzVdKSxqeD1bMzgsWzAsa3hbMV0sa3hbMl0sa3hbM10sa3hbNF0sdHJdXTticmVhaztjYXNlIDM5OnZhciBzcj1lWzFdLE1yPXQoc3JbM10pLGp4PVszOSxbMCxzclsxXSxzclsyXSxNcl1dO2JyZWFrO2Nhc2UgNDA6dmFyIGEyPWVbMV0sXzI9dChhMlszXSksang9WzQwLFswLGEyWzFdLGEyWzJdLF8yXV07YnJlYWs7ZGVmYXVsdDp2YXIgaTI9ZVsxXSxRMj10KGkyWzNdKSxqeD1bNDEsWzAsaTJbMV0saTJbMl0sUTJdXX1yZXR1cm5bMCx1LGp4XX12YXIgZEUwPXB2KHJPKT09PW4yP3JPOnJPWzFdO1lOKE9TLGRFMCk7dmFyIGJhPW8wLGoxPW51bGwsWFk9dm9pZCAwO2Z1bmN0aW9uIFhoKHgpe3JldHVybiAxLSh4PT09WFk/MTowKX1iYS5TdHJpbmcsYmEuUmVnRXhwLGJhLk9iamVjdCxiYS5EYXRlLGJhLk1hdGg7ZnVuY3Rpb24geUUwKHgpe3Rocm93IHh9ZnVuY3Rpb24gWVkoeCl7cmV0dXJuIGQoeUUwLHgpfWJhLkpTT047dmFyIGdFMD1iYS5BcnJheSx3RTA9YmEuRXJyb3I7a2ooZnVuY3Rpb24oeCl7cmV0dXJuIHhbMV09PT14Tz9bMCxEdCh4WzJdLnRvU3RyaW5nKCkpXTowfSksa2ooZnVuY3Rpb24oeCl7cmV0dXJuIHggaW5zdGFuY2VvZiBnRTA/MDpbMCxEdCh4LnRvU3RyaW5nKCkpXX0pO3ZhciB6WT1bMCwwXTtmdW5jdGlvbiBfcyh4KXtyZXR1cm4gJHooRjYoeCkpfWZ1bmN0aW9uICQyKHgpe3JldHVybiB0TShGNih4KSl9ZnVuY3Rpb24gcHIoeCxyKXtyZXR1cm4gJDIoaXgoYzUoeCxyKSkpfWZ1bmN0aW9uIGd4KHgscil7cmV0dXJuIHI/ZCh4LHJbMV0pOmoxfWZ1bmN0aW9uIG1sKHgscil7cmV0dXJuIHJbMF09PT0wP2oxOngoclsxXSl9ZnVuY3Rpb24gS1koeCl7cmV0dXJuIF9zKFswLFswLG9iMCx4WzFdXSxbMCxbMCxhYjAseFsyXV0sMF1dKX1mdW5jdGlvbiBKWSh4KXt2YXIgcj14WzFdLGU9cj9KeChyWzFdWzFdKTpqMSx0PVswLFswLGZiMCxLWSh4WzNdKV0sMF07cmV0dXJuIF9zKFswLFswLHNiMCxlXSxbMCxbMCxjYjAsS1koeFsyXSldLHRdXSl9ZnVuY3Rpb24gdzIoeCl7aWYoIXgpcmV0dXJuIDA7dmFyIHI9eFsxXSxlPXJbMV07cmV0dXJuIFooWzAsZV0sWzAsTXgoclszXSxyWzJdKV0sTyl9dmFyIF9FMD1KeDtmdW5jdGlvbiBobCh4LHIsZSl7dmFyIHQ9cltlXTtyZXR1cm4gWGgodCk/dHwwOnh9ZnVuY3Rpb24gYkUwKHgscil7dmFyIGU9QjMocixYWSk/e306cix0PUR0KHgpLHU9aGwoejNbNl0sZSxoYjApLGk9aGwoejNbNV0sZSxkYjApLGM9aGwoejNbNF0sZSx5YjApLHY9aGwoejNbM10sZSxnYjApLGE9aGwoejNbMl0sZSx3YjApLGw9WzAsaGwoejNbMV0sZSxfYjApLGEsdixjLGksdSwwLDBdLG09ZVtHT10saD1YaChtKSxUPWgmJm18MCxiPWVbd09dLE49WGgoYik/YnwwOjEsaj1lLmFsbF9jb21tZW50cyxJPVhoKGopP2p8MDoxLEY9WzAsMF0sTT1UP1swLGZ1bmN0aW9uKFkpe3JldHVybiBGWzFdPVswLFksRlsxXV0sMH1dOjAsej0wLEI9bWIwWzFdO3RyeXt2YXIgSz0wLG4wPW9VKHQpLCQ9SyxIPW4wfWNhdGNoKFkpe3ZhciB0MD1VMihZKTtpZih0MCE9PVphKXRocm93IFcwKHQwLDApO3ZhciBjMD1bMCxbMCxbMCx6LFkzWzJdLFkzWzNdXSw0OF0sMF0sJD1jMCxIPW9VKHhzMCl9dmFyIHIwPVswLHosSCxEMDAsMCxsWzVdLGJVLEYwMF0sdjA9WzAsWjYocjAsMCldLGEwPVswLFswLCRdLFswLDBdLEkxWzFdLFswLDBdLGxbNl0sMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsWzAsZXMwXSxbMCxyMF0sdjAsWzAsTV0sbCx6LFswLDBdLFswLHJzMF1dLGcwPWQoWDBbMV0sYTApLGkwPWl4KGEwWzFdWzFdKSxzMD1peChtMShmdW5jdGlvbihZLEEpe3ZhciBEPVlbMl0sZjA9WVsxXTtyZXR1cm4gb0NbM10uY2FsbChudWxsLEEsZjApP1swLGYwLERdOlswLG9DWzRdLmNhbGwobnVsbCxBLGYwKSxbMCxBLERdXX0sWzAsb0NbMV0sMF0saTApWzJdKTtpZihzMCl7dmFyIGQwPXMwWzJdLHcwPXMwWzFdO2lmKEIpdGhyb3cgVzAoWzAsa0UwLHcwLGQwXSwxKX16WVsxXT0wO3ZhciBNMD1OeCh0KS0wfDAsQzA9T3QodCk7eDp7cjp7Zm9yKHZhciBEMD0wLEkwPTA7Oyl7aWYoSTA9PT1NMClicmVhayByO3ZhciBqMD1zZShDMCxJMCk7ZTp7aWYoMDw9ajAmJkJyPj1qMCl7dmFyIHkwPTE7YnJlYWsgZX1pZihQSTw9ajAmJmtrPj1qMCl7dmFyIHkwPTI7YnJlYWsgZX1pZihzMzw9ajAmJkZ5Pj1qMCl7dmFyIHkwPTM7YnJlYWsgZX1pZih3Mzw9ajAmJnpvPj1qMCl7dmFyIHkwPTQ7YnJlYWsgZX12YXIgeTA9MH1pZih5MD09PTApdmFyIEQwPWFDKEQwLEkwLDApLEkwPUkwKzF8MDtlbHNle2lmKChNMC1JMHwwKTx5MClicmVhazt2YXIgWTA9eTAtMXwwLEw9STAreTB8MDtpZigzPFkwPj4+MCl0aHJvdyBXMChbMCxOcixKVl0sMSk7c3dpdGNoKFkwKXtjYXNlIDA6dmFyIE4wPXNlKEMwLEkwKTticmVhaztjYXNlIDE6dmFyIE4wPShzZShDMCxJMCkmMzEpPDw2fHNlKEMwLEkwKzF8MCkmNjM7YnJlYWs7Y2FzZSAyOnZhciBOMD0oc2UoQzAsSTApJjE1KTw8MTJ8KHNlKEMwLEkwKzF8MCkmNjMpPDw2fHNlKEMwLEkwKzJ8MCkmNjM7YnJlYWs7ZGVmYXVsdDp2YXIgTjA9KHNlKEMwLEkwKSY3KTw8MTh8KHNlKEMwLEkwKzF8MCkmNjMpPDwxMnwoc2UoQzAsSTArMnwwKSY2Myk8PDZ8c2UoQzAsSTArM3wwKSY2M312YXIgRDA9YUMoRDAsSTAsWzAsTjBdKSxJMD1MfX12YXIgUzA9YUMoRDAsSTAsMCk7YnJlYWsgeH12YXIgUzA9RDB9Zm9yKHZhciBLMD1mbzAsQTA9aXgoWzAsNixTMF0pOzspe3ZhciAkMD1LMFszXSxleD1LMFsyXSx4eD1LMFsxXTtpZighQTApYnJlYWs7dmFyIHR4PUEwWzFdO2lmKHR4PT09NSl7dmFyIHowPUEwWzJdO2lmKHowJiZ6MFsxXT09PTYpe3ZhciBweD16MFsyXSxLMD1bMCx4eCsyfDAsMCxbMCxGNihpeChbMCx4eCxleF0pKSwkMF1dLEEwPXB4O2NvbnRpbnVlfX1lbHNlIGlmKDY+dHgpe3ZhciBzeD1BMFsyXSxLMD1bMCx4eCtqQih0eCl8MCxbMCx4eCxleF0sJDBdLEEwPXN4O2NvbnRpbnVlfXZhciBRPUEwWzJdLGIwPVswLEY2KGl4KFswLHh4LGV4XSkpLCQwXSxLMD1bMCx4eCtqQih0eCl8MCwwLGIwXSxBMD1RfXZhciBVPUY2KGl4KCQwKSk7aWYoTil2YXIgXzA9ZzA7ZWxzZSB2YXIgaDA9ZChwRTBbMV0sMCksXzA9cChCeChoMCwtMjAxNzY2MjY4LEJlKSxoMCxnMCk7aWYoSSl2YXIgVDA9XzA7ZWxzZSB2YXIgbTA9XzBbMl0sVDA9WzAsXzBbMV0sWzAsbTBbMV0sbTBbMl0sbTBbM10sMF1dO2Z1bmN0aW9uIFgoWSxBLEQsZjApe3ZhciBrMD1bMCxvaChVLEFbM10pLDBdLFIwPVswLFswLHg2MCwkMihbMCxvaChVLEFbMl0pLGswXSldLDBdLFEwPU14KFIwLFswLFswLHI2MCxKWShBKV0sMF0pO2lmKEQpe3ZhciBteD1EWzFdLEl4PW14WzFdO2lmKEl4KXt2YXIgUng9bXhbMl07aWYoUngpdmFyIG5yPVswLFswLGU2MCx3byhSeCldLDBdLHp4PVswLFswLHQ2MCx3byhJeCldLG5yXTtlbHNlIHZhciB6eD1bMCxbMCxuNjAsd28oSXgpXSwwXTt2YXIgcnI9enh9ZWxzZSB2YXIgdXI9bXhbMl0sa3I9dXI/WzAsWzAsdTYwLHdvKHVyKV0sMF06MCxycj1rcjt2YXIgQ3g9cnJ9ZWxzZSB2YXIgQ3g9MDtyZXR1cm4gX3MoSzMoTXgoUTAsTXgoQ3gsWzAsWzAsaTYwLEp4KFkpXSwwXSkpLGYwKSl9ZnVuY3Rpb24gR3goWSl7cmV0dXJuIHByKFB4LFkpfWZ1bmN0aW9uIFB4KFkpe3ZhciBBPVlbMl0sRD1ZWzFdO3N3aXRjaChBWzBdKXtjYXNlIDA6cmV0dXJuIFl4KFswLEQsQVsxXV0pO2Nhc2UgMTp2YXIgZjA9QVsxXSxrMD1mMFsyXTtyZXR1cm4gWChwNjAsRCxrMCxbMCxbMCxsNjAsZ3gocDAsZjBbMV0pXSwwXSk7Y2FzZSAyOnJldHVybiBWKGY1MCxbMCxELEFbMV1dKTtjYXNlIDM6dmFyIFIwPUFbMV0sUTA9UjBbM10sbXg9UjBbNl0sSXg9UjBbNV0sUng9UjBbNF0sbnI9UjBbMl0seng9UjBbMV0sdXI9UzEodzIoUTBbMl1bM10pLG14KSxrcj1bMCxbMCxaNTAsZ3goZDEsbnIpXSwwXSxycj1bMCxbMCx4aDAsUGEoUngpXSxrcl0sQ3g9UTBbMl0sZ3I9Q3hbMl0sRXI9Q3hbMV07aWYoZ3IpdmFyIEpyPWdyWzFdLFNyPUpyWzJdLEdyPVNyWzJdLGsyPUpyWzFdLFAyPVgoaWgwLGsyLEdyLFswLFswLHVoMCxkcihTclsxXSldLDBdKSxEcj0kMihpeChbMCxQMixjNSh3eCxFcildKSk7ZWxzZSB2YXIgRHI9JDIodnMod3gsRXIpKTt2YXIgbTI9WzAsWzAsZWgwLHAwKHp4KV0sWzAsWzAscmgwLERyXSxycl1dO3JldHVybiBYKG5oMCxELHVyLFswLFswLHRoMCxZeChJeCldLG0yXSk7Y2FzZSA0OnZhciByMj1BWzFdLEFyPXIyWzJdO3JldHVybiBYKG02MCxELEFyLFswLFswLGs2MCxneChwMCxyMlsxXSldLDBdKTtjYXNlIDU6cmV0dXJuIFgoaDYwLEQsQVsxXVsxXSwwKTtjYXNlIDY6cmV0dXJuIGt4KFswLEQsQVsxXV0pO2Nhc2UgNzpyZXR1cm4gdHIoWzAsRCxBWzFdXSk7Y2FzZSA4OnJldHVybiBfMihbMCxELEFbMV1dKTtjYXNlIDk6dmFyIHdyPUFbMV0sZjI9d3JbNV0sVXI9d3JbNF0sUXI9d3JbM10sVDI9d3JbMl0sUnI9d3JbMV07aWYoUXIpe3ZhciBkMj1RclsxXTtpZihkMlswXSE9PTAmJiFkMlsxXVsyXSlyZXR1cm4gWCh5NjAsRCxmMixbMCxbMCxkNjAsZ3goYjIsVXIpXSwwXSl9aWYoVDIpe3ZhciBvMj1UMlsxXTtzd2l0Y2gobzJbMF0pe2Nhc2UgMDp2YXIgYzI9YXgobzJbMV0pO2JyZWFrO2Nhc2UgMTp2YXIgYzI9UXgobzJbMV0pO2JyZWFrO2Nhc2UgMjp2YXIgYzI9a3gobzJbMV0pO2JyZWFrO2Nhc2UgMzp2YXIgYzI9dHIobzJbMV0pO2JyZWFrO2Nhc2UgNDp2YXIgYzI9eXIobzJbMV0pO2JyZWFrO2Nhc2UgNTp2YXIgYzI9angobzJbMV0pO2JyZWFrO2Nhc2UgNjp2YXIgYzI9XygxLG8yWzFdKTticmVhaztjYXNlIDc6dmFyIGMyPUh4KG8yWzFdKTticmVhaztkZWZhdWx0OnZhciBjMj1fMihvMlsxXSl9dmFyIEUyPWMyfWVsc2UgdmFyIEUyPWoxO3ZhciBwZT1bMCxbMCxnNjAsZ3goYjIsVXIpXSwwXSxqZT1bMCxbMCxfNjAsRTJdLFswLFswLHc2MCxRMihRcildLHBlXV0seHQ9UnI/MTowO3JldHVybiBYKFQ2MCxELGYyLFswLFswLGI2MCwhIXh0XSxqZV0pO2Nhc2UgMTA6cmV0dXJuIFF4KFswLEQsQVsxXV0pO2Nhc2UgMTE6dmFyIFUxPUFbMV0sZTI9VTFbNV0sWjE9VTFbNF0sUjI9VTFbMl0sd3Q9VTFbMV0sTzE9WzAsWzAsTW0wLHByKFpyLFUxWzNdKV0sMF0sX3Q9WzAsWzAscW0wLGJuKDAsWjEpXSxPMV0sV3Q9WzAsWzAsVW0wLGd4KGQxLFIyKV0sX3RdO3JldHVybiBYKFhtMCxELGUyLFswLFswLEJtMCxwMCh3dCldLFd0XSk7Y2FzZSAxMjp2YXIgcnQ9QVsxXSxldD1ydFsxXSxPeD1ydFszXSx0dD1ydFsyXSx4ZT1ldFswXT09PTA/cDAoZXRbMV0pOmIyKGV0WzFdKTtyZXR1cm4gWChBNjAsRCxPeCxbMCxbMCxTNjAseGVdLFswLFswLEU2MCxZeCh0dCldLDBdXSk7Y2FzZSAxMzp2YXIgdjE9QVsxXSxDZT12MVsyXTtyZXR1cm4gWChJNjAsRCxDZSxbMCxbMCxQNjAsSDEodjFbMV0pXSwwXSk7Y2FzZSAxNDp2YXIgT2U9QVsxXSxudD1PZVszXSx1dD1PZVsyXSxpdD1wMChPZVsxXSk7cmV0dXJuIFgoQzYwLEQsbnQsWzAsWzAsajYwLGl0XSxbMCxbMCxONjAsWXgodXQpXSwwXV0pO2Nhc2UgMTU6dmFyIHIxPUFbMV0sYnQ9cjFbNF0sVHQ9cjFbMl0sSXM9cjFbMV0sZnQ9WzAsWzAsR20wLHlyKHIxWzNdKV0sMF0sVnQ9WzAsWzAsV20wLGd4KGQxLFR0KV0sZnRdO3JldHVybiBYKCRtMCxELGJ0LFswLFswLFZtMCxwMChJcyldLFZ0XSk7Y2FzZSAxNjpyZXR1cm4gXygxLFswLEQsQVsxXV0pO2Nhc2UgMTc6cmV0dXJuIGF4KFswLEQsQVsxXV0pO2Nhc2UgMTg6dmFyIEQxPUFbMV0sVG49RDFbM10sa2U9RDFbMV0sRGU9WzAsWzAsTzYwLEcwKEQxWzJdKV0sMF07cmV0dXJuIFgoRjYwLEQsVG4sWzAsWzAsRDYwLFB4KGtlKV0sRGVdKTtjYXNlIDE5OnJldHVybiBYKFI2MCxELEFbMV1bMV0sMCk7Y2FzZSAyMDp2YXIgJHQ9QVsxXSxOcz0kdFszXSxFbj0kdFsxXSxqcz1bMCxbMCxWaDAsQ3IoJHRbMl0pXSwwXTtyZXR1cm4gWChRaDAsRCxOcyxbMCxbMCwkaDAscDAoRW4pXSxqc10pO2Nhc2UgMjE6dmFyIHJlPUFbMV0sRXQ9cmVbMl0sQ3M9cmVbM10sU249RXRbMF09PT0wP1B4KEV0WzFdKTpHMChFdFsxXSk7cmV0dXJuIFgocTYwLEQsQ3MsWzAsWzAsTTYwLFNuXSxbMCxbMCxMNjAsSngoaTIoMSkpXSwwXV0pO2Nhc2UgMjI6dmFyIEZlPUFbMV0sT3M9RmVbNV0sRHM9RmVbNF0sVG89RmVbM10sRW89RmVbMl0sWXY9RmVbMV07aWYoRW8pe3ZhciB6dj1Fb1sxXTtpZih6dlswXSE9PTApe3ZhciBTbz16dlsxXVsyXSxBbz1bMCxbMCxVNjAsSngoaTIoRHMpKV0sMF0sX2w9WzAsWzAsQjYwLGd4KHAwLFNvKV0sQW9dO3JldHVybiBYKFk2MCxELE9zLFswLFswLFg2MCxneChiMixUbyldLF9sXSl9fXZhciBLdj1bMCxbMCx6NjAsSngoaTIoRHMpKV0sMF0sYmw9WzAsWzAsSzYwLGd4KGIyLFRvKV0sS3ZdLFRsPVswLFswLEo2MCxRMihFbyldLGJsXTtyZXR1cm4gWChXNjAsRCxPcyxbMCxbMCxHNjAsZ3goUHgsWXYpXSxUbF0pO2Nhc2UgMjM6dmFyIEZzPUFbMV0sUG89RnNbM10sSnY9RnNbMV0sRWw9WzAsWzAsVjYwLGd4KF9FMCxGc1syXSldLDBdO3JldHVybiBYKFE2MCxELFBvLFswLFswLCQ2MCxHMChKdildLEVsXSk7Y2FzZSAyNDp2YXIgUnM9QVsxXSxHdj1Sc1s1XSxPYT1Sc1szXSxTbD1Sc1syXSxXdj1Sc1sxXSxJbz1bMCxbMCxINjAsUHgoUnNbNF0pXSwwXSxBbD1bMCxbMCxaNjAsZ3goRzAsT2EpXSxJb10sRGE9WzAsWzAseDQwLGd4KEcwLFNsKV0sQWxdO3JldHVybiBYKGU0MCxELEd2LFswLFswLHI0MCxneChmdW5jdGlvbihuTyl7cmV0dXJuIG5PWzBdPT09MD9UcyhuT1sxXSk6RzAobk9bMV0pfSxXdildLERhXSk7Y2FzZSAyNTp2YXIgTHM9QVsxXSxObz1Mc1sxXSxqbz1Mc1s1XSxGYT1Mc1s0XSxQbD1Mc1szXSxJbD1Mc1syXSxObD1Ob1swXT09PTA/VHMoTm9bMV0pOmRyKE5vWzFdKSxDbz1bMCxbMCxuNDAsUHgoUGwpXSxbMCxbMCx0NDAsISFGYV0sMF1dO3JldHVybiBYKGY0MCxELGpvLFswLFswLGk0MCxObF0sWzAsWzAsdTQwLEcwKElsKV0sQ29dXSk7Y2FzZSAyNjp2YXIgQW49QVsxXSxSYT1BblsxXSxqbD1Bbls1XSxPbz1Bbls0XSxWdj1BblszXSxNcz1BblsyXSwkdj1SYVswXT09PTA/VHMoUmFbMV0pOmRyKFJhWzFdKSxTdD1bMCxbMCxzNDAsUHgoVnYpXSxbMCxbMCxjNDAsISFPb10sMF1dO3JldHVybiBYKHY0MCxELGpsLFswLFswLG80MCwkdl0sWzAsWzAsYTQwLEcwKE1zKV0sU3RdXSk7Y2FzZSAyNzp2YXIgRjE9QVsxXSxRdj1GMVszXSxIdj1GMVsyXSxDbD1GMVsxMF0sRG89RjFbOV0sRm89RjFbOF0sWnY9RjFbN10sT2w9RjFbNl0seDM9RjFbNV0sV2g9RjFbNF0sUXQ9SHZbMl1bNF0sUG49RjFbMV0scjM9UXZbMF09PT0wP1F2WzFdOlR4KG04MCksVmg9UzEodzIoUXQpLENsKTtpZihPbD09PTApdmFyIHFzPTAsZTM9aDgwO2Vsc2UgdmFyIHFzPVswLFswLHc4MCwhIVdoXSxbMCxbMCxnODAsISF4M10sWzAsWzAseTgwLGd4KF9vLFp2KV0sWzAsWzAsZDgwLCExXSwwXV1dXSxlMz1fODA7dmFyICRoPVswLFswLGI4MCxneChkMSxEbyldLDBdLFFoPVswLFswLFQ4MCxxcihGbyldLCRoXSxIaD1bMCxbMCxFODAsWXgocjMpXSxRaF0sWmg9WzAsWzAsUzgwLHV4KEh2KV0sSGhdO3JldHVybiBYKGUzLEQsVmgsTXgoWzAsWzAsQTgwLGd4KHAwLFBuKV0sWmhdLHFzKSk7Y2FzZSAyODp2YXIgdDM9QVsxXSxOND10M1szXSx4ZD10M1s0XSxqND10M1syXSxuPXQzWzFdO2lmKE40KXZhciBzPU40WzFdWzJdLGY9UHgoaEUwKHNbMV0sc1syXSkpO2Vsc2UgdmFyIGY9ajE7dmFyIG89WzAsWzAscDQwLFB4KGo0KV0sWzAsWzAsbDQwLGZdLDBdXTtyZXR1cm4gWChtNDAsRCx4ZCxbMCxbMCxrNDAsRzAobildLG9dKTtjYXNlIDI5OnZhciBrPUFbMV0sZz1rWzRdLEU9a1szXSxDPWtbNV0sUj1rWzJdLGUwPWtbMV07aWYoZyl7dmFyIGwwPWdbMV07aWYobDBbMF09PT0wKXZhciBYeD12cyhmdW5jdGlvbih1Tyl7dmFyIHJkPXVPWzNdLGVkPXVPWzJdLFZZPXVPWzFdLEFFMD1lZD9ZcihyZFsxXSxlZFsxXVsxXSk6cmRbMV0sUEUwPWVkP2VkWzFdOnJkO3g6e3I6e3ZhciBJRTA9MDtpZihWWSl7c3dpdGNoKFZZWzFdKXtjYXNlIDA6dmFyICRZPXFmO2JyZWFrO2Nhc2UgMTp2YXIgJFk9WnM7YnJlYWs7ZGVmYXVsdDpicmVhayByfXZhciBRWT0kWTticmVhayB4fX12YXIgUVk9ajF9dmFyIE5FMD1bMCxbMCx6XzAscDAoUEUwKV0sWzAsWzAsWV8wLFFZXSxJRTBdXTtyZXR1cm4gWChKXzAsQUUwLDAsWzAsWzAsS18wLHAwKHJkKV0sTkUwXSl9LGwwWzFdKTtlbHNlIHZhciBGMD1sMFsxXSxkeD1GMFsxXSxYeD1bMCxYKFhfMCxkeCwwLFswLFswLEJfMCxwMChGMFsyXSldLDBdKSwwXTt2YXIgS3g9WHh9ZWxzZSB2YXIgS3g9MDtpZihFKXZhciBfcj1FWzFdWzFdLHQyPVswLFswLHFfMCxwMChfcildLDBdLFdyPVswLFgoVV8wLF9yWzFdLDAsdDIpLEt4XTtlbHNlIHZhciBXcj1LeDtzd2l0Y2goZTApe2Nhc2UgMDp2YXIgVng9aDQwO2JyZWFrO2Nhc2UgMTp2YXIgVng9ZDQwO2JyZWFrO2RlZmF1bHQ6dmFyIFZ4PXk0MH12YXIgQzI9WzAsWzAsdzQwLGIyKFIpXSxbMCxbMCxnNDAsSngoVngpXSwwXV07cmV0dXJuIFgoYjQwLEQsQyxbMCxbMCxfNDAsJDIoV3IpXSxDMl0pO2Nhc2UgMzA6cmV0dXJuIEh4KFswLEQsQVsxXV0pO2Nhc2UgMzE6dmFyIHoyPUFbMV0sZWU9ejJbM10sbWU9ejJbMV0saGU9WzAsWzAsVDQwLFB4KHoyWzJdKV0sMF07cmV0dXJuIFgoUzQwLEQsZWUsWzAsWzAsRTQwLHAwKG1lKV0saGVdKTtjYXNlIDMyOnZhciB0ZT1BWzFdLGRlPXRlWzNdLHllPXRlWzFdLGdlPVswLFswLEE0MCxwcihTLHRlWzJdKV0sMF07cmV0dXJuIFgoSTQwLEQsZGUsWzAsWzAsUDQwLEcwKHllKV0sZ2VdKTtjYXNlIDMzOnZhciBBdD1BWzFdLHdlPUF0WzJdO3JldHVybiBYKGo0MCxELHdlLFswLFswLE40MCxneChHMCxBdFsxXSldLDBdKTtjYXNlIDM0OnZhciBjdD1BWzFdLFVzPWN0WzNdLEJzPWN0WzFdLFhzPVswLFswLEM0MCxwcihCMCxjdFsyXSldLDBdO3JldHVybiBYKEQ0MCxELFVzLFswLFswLE80MCxHMChCcyldLFhzXSk7Y2FzZSAzNTp2YXIgSW49QVsxXSxZcz1JblsyXTtyZXR1cm4gWChSNDAsRCxZcyxbMCxbMCxGNDAsRzAoSW5bMV0pXSwwXSk7Y2FzZSAzNjp2YXIgenM9QVsxXSxuMz16c1s0XSx1Mz16c1syXSxpMz16c1sxXSxmMz1bMCxbMCxMNDAsZ3goWXgsenNbM10pXSwwXSxfeD1bMCxbMCxNNDAsZ3goV3gsdTMpXSxmM107cmV0dXJuIFgoVTQwLEQsbjMsWzAsWzAscTQwLFl4KGkzKV0sX3hdKTtjYXNlIDM3OnJldHVybiBqeChbMCxELEFbMV1dKTtjYXNlIDM4OnJldHVybiBfKDAsWzAsRCxBWzFdXSk7Y2FzZSAzOTpyZXR1cm4gVHMoWzAsRCxBWzFdXSk7Y2FzZSA0MDp2YXIgYzM9QVsxXSxoeD1jM1szXSxlTz1jM1sxXSx0Tz1bMCxbMCxCNDAsUHgoYzNbMl0pXSwwXTtyZXR1cm4gWChZNDAsRCxoeCxbMCxbMCxYNDAsRzAoZU8pXSx0T10pO2RlZmF1bHQ6dmFyIGN4PUFbMV0sVEUwPWN4WzNdLEVFMD1jeFsxXSxTRTA9WzAsWzAsejQwLFB4KGN4WzJdKV0sMF07cmV0dXJuIFgoSjQwLEQsVEUwLFswLFswLEs0MCxHMChFRTApXSxTRTBdKX19ZnVuY3Rpb24gRzAoWSl7dmFyIEE9WVsyXSxEPVlbMV07c3dpdGNoKEFbMF0pe2Nhc2UgMDp2YXIgZjA9QVsxXSxrMD1mMFsyXSxSMD1bMCxbMCxHNDAscHIoSnQsZjBbMV0pXSwwXTtyZXR1cm4gWChXNDAsRCx3MihrMCksUjApO2Nhc2UgMTp2YXIgUTA9QVsxXSxteD1RMFszXSxJeD1RMFsyXSxSeD1RMFsxMF0sbnI9UTBbOV0seng9UTBbOF0sdXI9UTBbN10sa3I9UTBbNF0scnI9SXhbMl1bNF07aWYobXhbMF09PT0wKXZhciBDeD0wLGdyPVl4KG14WzFdKTtlbHNlIHZhciBDeD0xLGdyPUcwKG14WzFdKTt2YXIgRXI9UzEodzIocnIpLFJ4KSxKcj1bMCxbMCxWNDAsZ3goZDEsbnIpXSwwXSxTcj1bMCxbMCxRNDAsISFDeF0sWzAsWzAsJDQwLHFyKHp4KV0sSnJdXSxHcj1bMCxbMCxycDAsZ3JdLFswLFswLHhwMCwhIWtyXSxbMCxbMCxaNDAsITFdLFswLFswLEg0MCxneChfbyx1cildLFNyXV1dXTtyZXR1cm4gWChucDAsRCxFcixbMCxbMCx0cDAsajFdLFswLFswLGVwMCx1eChJeCldLEdyXV0pO2Nhc2UgMjp2YXIgazI9QVsxXSxQMj1rMlsyXTtyZXR1cm4gWChpcDAsRCxQMixbMCxbMCx1cDAsRzAoazJbMV0pXSwwXSk7Y2FzZSAzOnZhciBEcj1BWzFdLG0yPURyWzNdLHIyPURyWzFdLEFyPVswLFswLGZwMCx5cihEclsyXVsyXSldLDBdO3JldHVybiBYKHNwMCxELG0yLFswLFswLGNwMCxHMChyMildLEFyXSk7Y2FzZSA0OnZhciB3cj1BWzFdLGYyPXdyWzFdLFVyPXdyWzRdLFFyPXdyWzNdLFQyPXdyWzJdO2lmKGYyKXtzd2l0Y2goZjJbMV0pe2Nhc2UgMDp2YXIgUnI9USQ7YnJlYWs7Y2FzZSAxOnZhciBScj1IJDticmVhaztjYXNlIDI6dmFyIFJyPVokO2JyZWFrO2Nhc2UgMzp2YXIgUnI9eFE7YnJlYWs7Y2FzZSA0OnZhciBScj1yUTticmVhaztjYXNlIDU6dmFyIFJyPWVRO2JyZWFrO2Nhc2UgNjp2YXIgUnI9dFE7YnJlYWs7Y2FzZSA3OnZhciBScj1uUTticmVhaztjYXNlIDg6dmFyIFJyPXVRO2JyZWFrO2Nhc2UgOTp2YXIgUnI9aVE7YnJlYWs7Y2FzZSAxMDp2YXIgUnI9ZlE7YnJlYWs7Y2FzZSAxMTp2YXIgUnI9Y1E7YnJlYWs7Y2FzZSAxMjp2YXIgUnI9c1E7YnJlYWs7Y2FzZSAxMzp2YXIgUnI9YVE7YnJlYWs7ZGVmYXVsdDp2YXIgUnI9b1F9dmFyIGQyPVJyfWVsc2UgdmFyIGQyPWFwMDt2YXIgbzI9WzAsWzAsb3AwLEcwKFFyKV0sMF07cmV0dXJuIFgocHAwLEQsVXIsWzAsWzAsbHAwLEp4KGQyKV0sWzAsWzAsdnAwLGRyKFQyKV0sbzJdXSk7Y2FzZSA1OnZhciBjMj1BWzFdLEUyPWMyWzRdLHBlPWMyWzJdLGplPWMyWzFdLHh0PVswLFswLGtwMCxHMChjMlszXSldLDBdLFUxPVswLFswLG1wMCxHMChwZSldLHh0XTtzd2l0Y2goamUpe2Nhc2UgMDp2YXIgZTI9SSQ7YnJlYWs7Y2FzZSAxOnZhciBlMj1OJDticmVhaztjYXNlIDI6dmFyIGUyPWokO2JyZWFrO2Nhc2UgMzp2YXIgZTI9QyQ7YnJlYWs7Y2FzZSA0OnZhciBlMj1PJDticmVhaztjYXNlIDU6dmFyIGUyPUQkO2JyZWFrO2Nhc2UgNjp2YXIgZTI9RiQ7YnJlYWs7Y2FzZSA3OnZhciBlMj1SJDticmVhaztjYXNlIDg6dmFyIGUyPUwkO2JyZWFrO2Nhc2UgOTp2YXIgZTI9TSQ7YnJlYWs7Y2FzZSAxMDp2YXIgZTI9cSQ7YnJlYWs7Y2FzZSAxMTp2YXIgZTI9VSQ7YnJlYWs7Y2FzZSAxMjp2YXIgZTI9QiQ7YnJlYWs7Y2FzZSAxMzp2YXIgZTI9WCQ7YnJlYWs7Y2FzZSAxNDp2YXIgZTI9WSQ7YnJlYWs7Y2FzZSAxNTp2YXIgZTI9eiQ7YnJlYWs7Y2FzZSAxNjp2YXIgZTI9SyQ7YnJlYWs7Y2FzZSAxNzp2YXIgZTI9SiQ7YnJlYWs7Y2FzZSAxODp2YXIgZTI9RyQ7YnJlYWs7Y2FzZSAxOTp2YXIgZTI9VyQ7YnJlYWs7Y2FzZSAyMDp2YXIgZTI9ViQ7YnJlYWs7ZGVmYXVsdDp2YXIgZTI9JCR9cmV0dXJuIFgoZHAwLEQsRTIsWzAsWzAsaHAwLEp4KGUyKV0sVTFdKTtjYXNlIDY6dmFyIFoxPUFbMV0sUjI9WjFbNF0sd3Q9UzEodzIoWjFbM11bMl1bMl0pLFIyKTtyZXR1cm4gWCh5cDAsRCx3dCxnbChaMSkpO2Nhc2UgNzpyZXR1cm4gVihjNTAsWzAsRCxBWzFdXSk7Y2FzZSA4OnZhciBPMT1BWzFdLF90PU8xWzRdLFd0PU8xWzJdLHJ0PU8xWzFdLGV0PVswLFswLGdwMCxHMChPMVszXSldLDBdLE94PVswLFswLHdwMCxHMChXdCldLGV0XTtyZXR1cm4gWChicDAsRCxfdCxbMCxbMCxfcDAsRzAocnQpXSxPeF0pO2Nhc2UgOTpyZXR1cm4gbngoWzAsRCxBWzFdXSk7Y2FzZSAxMDpyZXR1cm4gcDAoQVsxXSk7Y2FzZSAxMTp2YXIgdHQ9QVsxXSx4ZT10dFsyXTtyZXR1cm4gWChFcDAsRCx4ZSxbMCxbMCxUcDAsRzAodHRbMV0pXSwwXSk7Y2FzZSAxMjpyZXR1cm4gaG8oWzAsRCxBWzFdXSk7Y2FzZSAxMzpyZXR1cm4gQnYoWzAsRCxBWzFdXSk7Y2FzZSAxNDpyZXR1cm4gYjIoWzAsRCxBWzFdXSk7Y2FzZSAxNTpyZXR1cm4gd24oWzAsRCxBWzFdXSk7Y2FzZSAxNjpyZXR1cm4gX24oWzAsRCxBWzFdXSk7Y2FzZSAxNzpyZXR1cm4gQzEoWzAsRCxBWzFdXSk7Y2FzZSAxODpyZXR1cm4gcTEoWzAsRCxBWzFdXSk7Y2FzZSAxOTp2YXIgdjE9QVsxXSxDZT12MVsyXSxPZT12MVsxXSxudD12MVs0XSx1dD12MVszXTt0cnl7dmFyIGl0PW5ldyBSZWdFeHAoSngoT2UpLEp4KENlKSkscjE9aXR9Y2F0Y2h7dmFyIHIxPWoxfXJldHVybiBYKGR5MCxELG50LFswLFswLGh5MCxyMV0sWzAsWzAsbXkwLEp4KHV0KV0sWzAsWzAsa3kwLF9zKFswLFswLHB5MCxKeChPZSldLFswLFswLGx5MCxKeChDZSldLDBdXSldLDBdXV0pO2Nhc2UgMjA6dmFyIGJ0PUFbMV07cmV0dXJuIGIyKFswLEQsWzAsYnRbMV0sYnRbNV0sYnRbNl1dXSk7Y2FzZSAyMTp2YXIgVHQ9QVsxXSxJcz1UdFs0XSxmdD1UdFszXSxWdD1UdFsyXTtzd2l0Y2goVHRbMV0pe2Nhc2UgMDp2YXIgRDE9U3AwO2JyZWFrO2Nhc2UgMTp2YXIgRDE9QXAwO2JyZWFrO2RlZmF1bHQ6dmFyIEQxPVBwMH12YXIgVG49WzAsWzAsSXAwLEcwKGZ0KV0sMF07cmV0dXJuIFgoQ3AwLEQsSXMsWzAsWzAsanAwLEp4KEQxKV0sWzAsWzAsTnAwLEcwKFZ0KV0sVG5dXSk7Y2FzZSAyMjp2YXIga2U9QVsxXSxEZT1rZVszXSwkdD1rZVsxXSxOcz1bMCxbMCxPcDAscHIoS3Isa2VbMl0pXSwwXTtyZXR1cm4gWChGcDAsRCxEZSxbMCxbMCxEcDAsRzAoJHQpXSxOc10pO2Nhc2UgMjM6dmFyIEVuPUFbMV0sanM9RW5bM107cmV0dXJuIFgoUnAwLEQsanMsRTQoRW4pKTtjYXNlIDI0OnZhciByZT1BWzFdLEV0PXJlWzNdLENzPXJlWzFdLFNuPVswLFswLExwMCxwMChyZVsyXSldLDBdO3JldHVybiBYKHFwMCxELEV0LFswLFswLE1wMCxwMChDcyldLFNuXSk7Y2FzZSAyNTp2YXIgRmU9QVsxXSxPcz1GZVs0XSxEcz1GZVszXSxUbz1GZVsyXSxFbz1GZVsxXTtpZihEcyl2YXIgWXY9RHNbMV0senY9UzEodzIoWXZbMl1bMl0pLE9zKSxTbz16dixBbz1ieChZdik7ZWxzZSB2YXIgU289T3MsQW89JDIoMCk7dmFyIF9sPVswLFswLEJwMCxneChHdCxUbyldLFswLFswLFVwMCxBb10sMF1dO3JldHVybiBYKFlwMCxELFNvLFswLFswLFhwMCxHMChFbyldLF9sXSk7Y2FzZSAyNjp2YXIgS3Y9QVsxXSxibD1LdlsyXSxUbD1bMCxbMCx6cDAscHIoWTIsS3ZbMV0pXSwwXTtyZXR1cm4gWChLcDAsRCx3MihibCksVGwpO2Nhc2UgMjc6dmFyIEZzPUFbMV0sUG89RnNbMV0sSnY9RnNbM10sRWw9UG9bNF0sUnM9UzEodzIoUG9bM11bMl1bMl0pLEVsKTtyZXR1cm4gWChHcDAsRCxScyxNeChnbChQbyksWzAsWzAsSnAwLCEhSnZdLDBdKSk7Y2FzZSAyODp2YXIgR3Y9QVsxXSxPYT1HdlsxXSxTbD1PYVszXSxXdj1bMCxbMCxXcDAsISFHdlszXV0sMF07cmV0dXJuIFgoVnAwLEQsU2wsTXgoRTQoT2EpLFd2KSk7Y2FzZSAyOTp2YXIgSW89QVsxXSxBbD1Jb1syXTtyZXR1cm4gWChRcDAsRCxBbCxbMCxbMCwkcDAscHIoRzAsSW9bMV0pXSwwXSk7Y2FzZSAzMDpyZXR1cm4gWChIcDAsRCxBWzFdWzFdLDApO2Nhc2UgMzE6dmFyIERhPUFbMV0sTHM9RGFbM10sTm89RGFbMV0sam89WzAsWzAsTnkwLGJzKERhWzJdKV0sMF07cmV0dXJuIFgoQ3kwLEQsTHMsWzAsWzAsankwLEcwKE5vKV0sam9dKTtjYXNlIDMyOnJldHVybiBicyhbMCxELEFbMV1dKTtjYXNlIDMzOnJldHVybiBYKFpwMCxELEFbMV1bMV0sMCk7Y2FzZSAzNDp2YXIgRmE9QVsxXSxQbD1GYVszXSxJbD1GYVsxXSxObD1bMCxbMCx4azAsSDEoRmFbMl0pXSwwXTtyZXR1cm4gWChlazAsRCxQbCxbMCxbMCxyazAsRzAoSWwpXSxObF0pO2Nhc2UgMzU6dmFyIENvPUFbMV0sQW49Q29bM10sUmE9Q29bMV0samw9WzAsWzAsdGswLHlyKENvWzJdWzJdKV0sMF07cmV0dXJuIFgodWswLEQsQW4sWzAsWzAsbmswLEcwKFJhKV0samxdKTtjYXNlIDM2OnZhciBPbz1BWzFdLFZ2PU9vWzNdLE1zPU9vWzJdLCR2PU9vWzFdO2lmKDc8PSR2KXJldHVybiBYKGZrMCxELFZ2LFswLFswLGlrMCxHMChNcyldLDBdKTtzd2l0Y2goJHYpe2Nhc2UgMDp2YXIgU3Q9Y2swO2JyZWFrO2Nhc2UgMTp2YXIgU3Q9c2swO2JyZWFrO2Nhc2UgMjp2YXIgU3Q9YWswO2JyZWFrO2Nhc2UgMzp2YXIgU3Q9b2swO2JyZWFrO2Nhc2UgNDp2YXIgU3Q9dmswO2JyZWFrO2Nhc2UgNTp2YXIgU3Q9bGswO2JyZWFrO2Nhc2UgNjp2YXIgU3Q9cGswO2JyZWFrO2RlZmF1bHQ6dmFyIFN0PVR4KGtrMCl9cmV0dXJuIFgoeWswLEQsVnYsWzAsWzAsZGswLEp4KFN0KV0sWzAsWzAsaGswLCEwXSxbMCxbMCxtazAsRzAoTXMpXSwwXV1dKTtjYXNlIDM3OnZhciBGMT1BWzFdLFF2PUYxWzRdLEh2PUYxWzNdLENsPUYxWzJdLERvPUYxWzFdP2drMDp3azA7cmV0dXJuIFgoRWswLEQsUXYsWzAsWzAsVGswLEp4KERvKV0sWzAsWzAsYmswLEcwKENsKV0sWzAsWzAsX2swLCEhSHZdLDBdXV0pO2RlZmF1bHQ6dmFyIEZvPUFbMV0sWnY9Rm9bMl0sT2w9WzAsWzAsU2swLCEhRm9bM11dLDBdO3JldHVybiBYKFBrMCxELFp2LFswLFswLEFrMCxneChHMCxGb1sxXSldLE9sXSl9fWZ1bmN0aW9uIEtyKFkpe3ZhciBBPVlbMl0sRD1BWzRdLGYwPUFbMl0sazA9QVsxXSxSMD1ZWzFdLFEwPVswLFswLElrMCxneChHMCxBWzNdKV0sMF0sbXg9WzAsWzAsTmswLEcwKGYwKV0sUTBdO3JldHVybiBYKENrMCxSMCxELFswLFswLGprMCxHKGswKV0sbXhdKX1mdW5jdGlvbiBTKFkpe3ZhciBBPVlbMl0sRD1BWzRdLGYwPUFbMl0sazA9QVsxXSxSMD1ZWzFdLFEwPVswLFswLE9rMCxneChHMCxBWzNdKV0sMF0sbXg9WzAsWzAsRGswLFl4KGYwKV0sUTBdO3JldHVybiBYKFJrMCxSMCxELFswLFswLEZrMCxHKGswKV0sbXhdKX1mdW5jdGlvbiBHKFkpe3ZhciBBPVlbMl0sRD1ZWzFdO2Z1bmN0aW9uIGYwKFVyKXtyZXR1cm4gWChLazAsRCwwLFswLFswLHprMCxVcl0sMF0pfXN3aXRjaChBWzBdKXtjYXNlIDA6cmV0dXJuIFgoSmswLEQsQVsxXSwwKTtjYXNlIDE6cmV0dXJuIGYwKEMxKFswLEQsQVsxXV0pKTtjYXNlIDI6cmV0dXJuIGYwKHExKFswLEQsQVsxXV0pKTtjYXNlIDM6cmV0dXJuIGYwKGIyKFswLEQsQVsxXV0pKTtjYXNlIDQ6cmV0dXJuIGYwKHduKFswLEQsQVsxXV0pKTtjYXNlIDU6cmV0dXJuIGYwKF9uKFswLEQsQVsxXV0pKTtjYXNlIDY6dmFyIGswPUFbMV0sUjA9azBbMl0sUTA9azBbM10sbXg9azBbMV0/R2swOldrMCxJeD1SMFsyXSxSeD1SMFsxXSxucj1JeFswXT09PTA/QzEoWzAsUngsSXhbMV1dKTpxMShbMCxSeCxJeFsxXV0pO3JldHVybiBYKFFrMCxELFEwLFswLFswLCRrMCxKeChteCldLFswLFswLFZrMCxucl0sMF1dKTtjYXNlIDc6cmV0dXJuIHl4KFswLEQsQVsxXV0pO2Nhc2UgODpyZXR1cm4gcngoQVsxXSk7Y2FzZSA5OnZhciB6eD1mdW5jdGlvbihVcil7dmFyIFFyPVVyWzJdLFQyPVFyWzJdLFJyPVFyWzFdLGQyPVFyWzNdLG8yPVVyWzFdLGMyPTA7c3dpdGNoKFQyWzBdKXtjYXNlIDA6dmFyIEUyPWIyKFQyWzFdKTticmVhaztjYXNlIDE6dmFyIEUyPUMxKFQyWzFdKTticmVhaztkZWZhdWx0OnZhciBFMj1wMChUMlsxXSl9dmFyIHBlPVswLFswLEJrMCxFMl0sYzJdLGplPVJyWzBdPT09MD9yeChSclsxXSk6engoUnJbMV0pO3JldHVybiBYKFlrMCxvMixkMixbMCxbMCxYazAsamVdLHBlXSl9O3JldHVybiB6eChBWzFdKTtjYXNlIDEwOnZhciB1cj1BWzFdLGtyPXVyWzNdLHJyPXVyWzFdLEN4PVswLFswLEhrMCxneChFeCx1clsyXSldLDBdLGdyPVswLFswLFprMCxwcihmdW5jdGlvbihVcil7dmFyIFFyPVVyWzJdLFQyPVFyWzFdLFJyPVFyWzRdLGQyPVVyWzFdLG8yPVswLFswLExrMCwhIVFyWzNdXSwwXSxjMj1bMCxbMCxNazAsRyhRclsyXSldLG8yXTtzd2l0Y2goVDJbMF0pe2Nhc2UgMDp2YXIgRTI9YjIoVDJbMV0pO2JyZWFrO2Nhc2UgMTp2YXIgRTI9QzEoVDJbMV0pO2JyZWFrO2RlZmF1bHQ6dmFyIEUyPXAwKFQyWzFdKX1yZXR1cm4gWChVazAsZDIsUnIsWzAsWzAscWswLEUyXSxjMl0pfSxycildLEN4XTtyZXR1cm4gWCh4ODAsRCx3MihrciksZ3IpO2Nhc2UgMTE6dmFyIEVyPUFbMV0sSnI9RXJbM10sU3I9RXJbMV0sR3I9WzAsWzAscjgwLGd4KEV4LEVyWzJdKV0sMF0sazI9WzAsWzAsZTgwLHByKGZ1bmN0aW9uKFVyKXtyZXR1cm4gRyhVclsyXSl9LFNyKV0sR3JdO3JldHVybiBYKHQ4MCxELHcyKEpyKSxrMik7Y2FzZSAxMjp2YXIgUDI9QVsxXSxEcj1QMlsyXTtyZXR1cm4gWCh1ODAsRCxEcixbMCxbMCxuODAscHIoRyxQMlsxXSldLDBdKTtkZWZhdWx0OnZhciBtMj1BWzFdLHIyPW0yWzJdLEFyPW0yWzNdLHdyPW0yWzFdLGYyPXIyWzBdPT09MD9wMChyMlsxXSk6eXgoWzAscjJbMV0scjJbMl1dKTtyZXR1cm4gWChjODAsRCxBcixbMCxbMCxmODAsRyh3cildLFswLFswLGk4MCxmMl0sMF1dKX19ZnVuY3Rpb24gcngoWSl7dmFyIEE9WVsxXTtyZXR1cm4gWChhODAsQSwwLFswLFswLHM4MCxwMChZKV0sMF0pfWZ1bmN0aW9uIHl4KFkpe3ZhciBBPVlbMl0sRD1BWzNdLGYwPUFbMl0sazA9WVsxXSxSMD1bMCxbMCxvODAsSngoWmUoQVsxXSkpXSwwXTtyZXR1cm4gWChsODAsazAsRCxbMCxbMCx2ODAscDAoZjApXSxSMF0pfWZ1bmN0aW9uIEV4KFkpe3ZhciBBPVlbMl0sRD1BWzJdLGYwPVlbMV07cmV0dXJuIFgoazgwLGYwLEQsWzAsWzAscDgwLGd4KHl4LEFbMV0pXSwwXSl9ZnVuY3Rpb24gbngoWSl7dmFyIEE9WVsyXSxEPUFbM10sZjA9QVsyXSxrMD1BWzEwXSxSMD1BWzldLFEwPUFbOF0sbXg9QVs3XSxJeD1BWzVdLFJ4PUFbNF0sbnI9ZjBbMl1bNF0seng9QVsxXSx1cj1ZWzFdLGtyPURbMF09PT0wP0RbMV06VHgoUDgwKSxycj1TMSh3MihuciksazApLEN4PVswLFswLEk4MCxneChkMSxSMCldLDBdLGdyPVswLFswLGo4MCwhMV0sWzAsWzAsTjgwLHFyKFEwKV0sQ3hdXSxFcj1bMCxbMCxEODAsISFSeF0sWzAsWzAsTzgwLCEhSXhdLFswLFswLEM4MCxneChfbyxteCldLGdyXV1dLEpyPVswLFswLEY4MCxZeChrcildLEVyXSxTcj1bMCxbMCxSODAsdXgoZjApXSxKcl07cmV0dXJuIFgoTTgwLHVyLHJyLFswLFswLEw4MCxneChwMCx6eCldLFNyXSl9ZnVuY3Rpb24gcDAoWSl7dmFyIEE9WVsyXTtyZXR1cm4gWChYODAsWVsxXSxBWzJdLFswLFswLEI4MCxKeChBWzFdKV0sWzAsWzAsVTgwLGoxXSxbMCxbMCxxODAsITFdLDBdXV0pfWZ1bmN0aW9uIEZ4KFkpe3ZhciBBPVlbMl07cmV0dXJuIFgoSjgwLFlbMV0sQVsyXSxbMCxbMCxLODAsSngoQVsxXSldLFswLFswLHo4MCxqMV0sWzAsWzAsWTgwLCExXSwwXV1dKX1mdW5jdGlvbiBTeChZLEEpe3ZhciBEPUFbMV1bMl0sZjA9RFsyXSxrMD1EWzFdLFIwPVswLFswLEc4MCwhIUFbM11dLDBdO3JldHVybiBYKCQ4MCxZLGYwLFswLFswLFY4MCxKeChrMCldLFswLFswLFc4MCxtbChIMSxBWzJdKV0sUjBdXSl9ZnVuY3Rpb24gYngoWSl7cmV0dXJuIHByKGR0LFlbMl1bMV0pfWZ1bmN0aW9uIEIwKFkpe3ZhciBBPVlbMl0sRD1BWzNdLGYwPUFbMV0sazA9WVsxXSxSMD1bMCxbMCxRODAscHIoUHgsQVsyXSldLDBdO3JldHVybiBYKFo4MCxrMCxELFswLFswLEg4MCxneChHMCxmMCldLFIwXSl9ZnVuY3Rpb24gV3goWSl7dmFyIEE9WVsyXSxEPUFbM10sZjA9QVsxXSxrMD1ZWzFdLFIwPVswLFswLHhtMCxZeChBWzJdKV0sMF07cmV0dXJuIFgoZW0wLGswLEQsWzAsWzAscm0wLGd4KGRyLGYwKV0sUjBdKX1mdW5jdGlvbiBZeChZKXt2YXIgQT1ZWzJdLEQ9QVsyXSxmMD1ZWzFdLGswPVswLFswLHRtMCxHeChBWzFdKV0sMF07cmV0dXJuIFgobm0wLGYwLHcyKEQpLGswKX1mdW5jdGlvbiBheChZKXt2YXIgQT1ZWzJdLEQ9QVsyXSxmMD1BWzFdLGswPUFbNF0sUjA9QVszXSxRMD1ZWzFdLG14PVlyKGYwWzFdLERbMV0pLEl4PVswLFswLHVtMCxKeChaZShSMCkpXSwwXTtyZXR1cm4gWChmbTAsUTAsazAsWzAsWzAsaW0wLFN4KG14LFswLGYwLFsxLERdLDBdKV0sSXhdKX1mdW5jdGlvbiBReChZKXt2YXIgQT1ZWzJdLEQ9QVsyXSxmMD1BWzFdLGswPUFbNF0sUjA9QVszXSxRMD1ZWzFdLG14PVlyKGYwWzFdLERbMV0pLEl4PURbMl1bMl07eDp7aWYoSXhbMF09PT0xMil7dmFyIFJ4PUl4WzFdWzVdO2lmKHR5cGVvZiBSeD09XCJudW1iZXJcIiYmIVJ4KXt2YXIgbnI9MCx6eD1jbTA7YnJlYWsgeH19dmFyIG5yPVswLFswLHNtMCxneChfbyxSMCldLDBdLHp4PWFtMH1yZXR1cm4gWCh6eCxRMCxrMCxNeChbMCxbMCxvbTAsU3gobXgsWzAsZjAsWzEsRF0sMF0pXSwwXSxucikpfWZ1bmN0aW9uIGt4KFkpe3ZhciBBPVlbMl0sRD1BWzZdLGYwPUFbNF0sazA9QVs3XSxSMD1BWzVdLFEwPUFbM10sbXg9QVsyXSxJeD1BWzFdLFJ4PVlbMV0sbnI9JDIoZjA/WzAsWnIoZjBbMV0pLDBdOjApLHp4PUQ/cHIoVTAsRFsxXVsyXVsxXSk6JDIoMCksdXI9WzAsWzAscG0wLG5yXSxbMCxbMCxsbTAsenhdLFswLFswLHZtMCxwcihacixSMCldLDBdXV0sa3I9WzAsWzAsa20wLGJuKDAsUTApXSx1cl0scnI9WzAsWzAsbW0wLGd4KGQxLG14KV0sa3JdO3JldHVybiBYKGRtMCxSeCxrMCxbMCxbMCxobTAscDAoSXgpXSxycl0pfWZ1bmN0aW9uIHRyKFkpe3ZhciBBPVlbMl0sRD1BWzNdLGYwPVlbMV0sazA9QVs1XSxSMD1BWzRdLFEwPUFbMl0sbXg9QVsxXSxJeD1TMSh3MihEWzJdWzNdKSxrMCksUng9RFsyXSxucj1SeFsxXSx6eD1SeFsyXSx1cj1bMCxbMCx5bTAsZ3goZDEsUTApXSwwXSxrcj1bMCxbMCxnbTAsUGEoUjApXSx1cl0scnI9WzAsWzAsd20wLHNyKG5yKV0sa3JdLEN4PVswLFswLF9tMCxneChNcix6eCldLHJyXSxncj1bMCxbMCxibTAsc3IobnIpXSxDeF07cmV0dXJuIFgoRW0wLGYwLEl4LFswLFswLFRtMCxwMChteCldLGdyXSl9ZnVuY3Rpb24gc3IoWSl7cmV0dXJuICQyKHZzKGZ1bmN0aW9uKEEpe3ZhciBEPUFbMl07cmV0dXJuIGEyKDAsRFszXSxBWzFdLFswLERbMV1dLERbMl1bMl0pfSxZKSl9ZnVuY3Rpb24gTXIoWSl7dmFyIEE9WVsyXSxEPUFbNF0sZjA9QVszXSxrMD1BWzJdLFIwPVlbMV07cmV0dXJuIGEyKEQsZjAsUjAsZjUoZnVuY3Rpb24oUTApe3JldHVyblswLFEwXX0sQVsxXSksazApfWZ1bmN0aW9uIGEyKFksQSxELGYwLGswKXtpZihmMCl2YXIgUjA9ZjBbMV0sUTA9UjBbMF09PT0wP2d4KHAwLFswLFIwWzFdXSk6Z3goYjIsWzAsUjBbMV1dKSxteD1RMDtlbHNlIHZhciBteD1neChwMCwwKTtyZXR1cm4gWChEbTAsRCxZLFswLFswLE9tMCxteF0sWzAsWzAsQ20wLHlyKGswKV0sWzAsWzAsam0wLCEhQV0sMF1dXSl9ZnVuY3Rpb24gXzIoWSl7dmFyIEE9WVsyXSxEPUFbM10sZjA9QVsxXSxrMD1ZWzFdLFIwPVswLFswLEZtMCxDcihBWzJdKV0sMF07cmV0dXJuIFgoTG0wLGswLEQsWzAsWzAsUm0wLHAwKGYwKV0sUjBdKX1mdW5jdGlvbiBpMihZKXtyZXR1cm4gWT9ZbTA6em0wfWZ1bmN0aW9uIFEyKFkpe2lmKCFZKXJldHVybiAkMigwKTt2YXIgQT1ZWzFdO2lmKEFbMF09PT0wKXJldHVybiBwcihZaCxBWzFdKTt2YXIgRD1BWzFdLGYwPURbMl0sazA9RFsxXTtyZXR1cm4gJDIoZjA/WzAsWChKbTAsazAsMCxbMCxbMCxLbTAscDAoZjBbMV0pXSwwXSksMF06MCl9ZnVuY3Rpb24gangoWSl7dmFyIEE9WVsyXSxEPUFbNF0sZjA9QVsyXSxrMD1BWzFdLFIwPVlbMV0sUTA9WzAsWzAsUW0wLHlyKEFbM10pXSwwXSxteD1bMCxbMCxIbTAsZ3goZDEsZjApXSxRMF07cmV0dXJuIFgoeDUwLFIwLEQsWzAsWzAsWm0wLHAwKGswKV0sbXhdKX1mdW5jdGlvbiBfKFksQSl7dmFyIEQ9QVsyXSxmMD1EWzVdLGswPURbNF0sUjA9RFszXSxRMD1EWzJdLG14PURbMV0sSXg9QVsxXSxSeD1ZP3I1MDplNTAsbnI9WzAsWzAsdDUwLGd4KHlyLGswKV0sMF0seng9WzAsWzAsbjUwLGd4KHlyLFIwKV0sbnJdLHVyPVswLFswLHU1MCxneChkMSxRMCldLHp4XTtyZXR1cm4gWChSeCxJeCxmMCxbMCxbMCxpNTAscDAobXgpXSx1cl0pfWZ1bmN0aW9uIFYoWSxBKXt2YXIgRD1BWzJdLGYwPURbN10sazA9RFs1XSxSMD1EWzRdLFEwPURbMl0sbXg9RFs2XSxJeD1EWzNdLFJ4PURbMV0sbnI9QVsxXTtpZihSMCl2YXIgeng9UjBbMV1bMl0sdXI9enhbMl0sa3I9enhbMV0scnI9UzEoenhbM10sZjApLEN4PXVyLGdyPVswLGtyXTtlbHNlIHZhciBycj1mMCxDeD0wLGdyPTA7aWYoazApdmFyIEVyPWswWzFdWzJdLEpyPUVyWzFdLFNyPVMxKEVyWzJdLHJyKSxHcj1TcixrMj1wcihVMCxKcik7ZWxzZSB2YXIgR3I9cnIsazI9JDIoMCk7dmFyIFAyPVswLFswLGE1MCxrMl0sWzAsWzAsczUwLHByKGx4LG14KV0sMF1dLERyPVswLFswLG81MCxneChBcyxDeCldLFAyXSxtMj1bMCxbMCx2NTAsZ3goRzAsZ3IpXSxEcl0scjI9WzAsWzAsbDUwLGd4KGQxLEl4KV0sbTJdLEFyPVEwWzJdLHdyPUFyWzJdLGYyPVEwWzFdLFVyPVswLFswLHA1MCxYKF81MCxmMix3cixbMCxbMCx3NTAscHIob3gsQXJbMV0pXSwwXSldLHIyXTtyZXR1cm4gWChZLG5yLEdyLFswLFswLGs1MCxneChwMCxSeCldLFVyXSl9ZnVuY3Rpb24gbHgoWSl7dmFyIEE9WVsyXSxEPUFbMl0sZjA9WVsxXTtyZXR1cm4gWChoNTAsZjAsRCxbMCxbMCxtNTAsRzAoQVsxXSldLDBdKX1mdW5jdGlvbiBVMChZKXt2YXIgQT1ZWzJdLEQ9QVsxXSxmMD1ZWzFdLGswPVswLFswLGQ1MCxneChBcyxBWzJdKV0sMF07cmV0dXJuIFgoZzUwLGYwLDAsWzAsWzAseTUwLHAwKEQpXSxrMF0pfWZ1bmN0aW9uIG94KFkpe3N3aXRjaChZWzBdKXtjYXNlIDA6dmFyIEE9WVsxXSxEPUFbMl0sZjA9RFs2XSxrMD1EWzJdLFIwPURbNV0sUTA9RFs0XSxteD1EWzNdLEl4PURbMV0sUng9QVsxXTtzd2l0Y2goazBbMF0pe2Nhc2UgMDp2YXIga3I9ZjAscnI9MCxDeD1iMihrMFsxXSk7YnJlYWs7Y2FzZSAxOnZhciBrcj1mMCxycj0wLEN4PUMxKGswWzFdKTticmVhaztjYXNlIDI6dmFyIGtyPWYwLHJyPTAsQ3g9cTEoazBbMV0pO2JyZWFrO2Nhc2UgMzp2YXIga3I9ZjAscnI9MCxDeD1wMChrMFsxXSk7YnJlYWs7Y2FzZSA0OnZhciBrcj1mMCxycj0wLEN4PUZ4KGswWzFdKTticmVhaztkZWZhdWx0OnZhciBucj1rMFsxXVsyXSx6eD1uclsxXSx1cj1TMShuclsyXSxmMCksa3I9dXIscnI9MSxDeD1HMCh6eCl9c3dpdGNoKEl4KXtjYXNlIDA6dmFyIGdyPWI1MDticmVhaztjYXNlIDE6dmFyIGdyPVQ1MDticmVhaztjYXNlIDI6dmFyIGdyPUU1MDticmVhaztkZWZhdWx0OnZhciBncj1TNTB9dmFyIEVyPVswLFswLE41MCxKeChncildLFswLFswLEk1MCwhIVEwXSxbMCxbMCxQNTAsISFycl0sWzAsWzAsQTUwLHByKGx4LFIwKV0sMF1dXV07cmV0dXJuIFgoTzUwLFJ4LGtyLFswLFswLEM1MCxDeF0sWzAsWzAsajUwLG54KG14KV0sRXJdXSk7Y2FzZSAxOnZhciBKcj1ZWzFdLFNyPUpyWzJdLEdyPVNyWzddLGsyPVNyWzZdLFAyPVNyWzJdLERyPVNyWzFdLG0yPVNyWzVdLHIyPVNyWzRdLEFyPVNyWzNdLHdyPUpyWzFdO3N3aXRjaChEclswXSl7Y2FzZSAwOnZhciBScj1HcixkMj0wLG8yPWIyKERyWzFdKTticmVhaztjYXNlIDE6dmFyIFJyPUdyLGQyPTAsbzI9QzEoRHJbMV0pO2JyZWFrO2Nhc2UgMjp2YXIgUnI9R3IsZDI9MCxvMj1xMShEclsxXSk7YnJlYWs7Y2FzZSAzOnZhciBScj1HcixkMj0wLG8yPXAwKERyWzFdKTticmVhaztjYXNlIDQ6dmFyIGYyPVR4KFk1MCksUnI9ZjJbM10sZDI9ZjJbMl0sbzI9ZjJbMV07YnJlYWs7ZGVmYXVsdDp2YXIgVXI9RHJbMV1bMl0sUXI9VXJbMV0sVDI9UzEoVXJbMl0sR3IpLFJyPVQyLGQyPTEsbzI9RzAoUXIpfWlmKHR5cGVvZiBQMj09XCJudW1iZXJcIilpZihQMil2YXIgYzI9MCxFMj0wO2Vsc2UgdmFyIGMyPTEsRTI9MDtlbHNlIHZhciBjMj0wLEUyPVswLFAyWzFdXTt2YXIgcGU9YzI/WzAsWzAsejUwLCEhYzJdLDBdOjAsamU9azI9PT0wPzA6WzAsWzAsSzUwLHByKGx4LGsyKV0sMF0seHQ9TXgoamUscGUpLFUxPVswLFswLFc1MCwhIWQyXSxbMCxbMCxHNTAsISFyMl0sWzAsWzAsSjUwLGd4KHl0LG0yKV0sMF1dXSxlMj1bMCxbMCxWNTAsbWwoSDEsQXIpXSxVMV07cmV0dXJuIFgoSDUwLHdyLFJyLE14KFswLFswLFE1MCxvMl0sWzAsWzAsJDUwLGd4KEcwLEUyKV0sZTJdXSx4dCkpO2RlZmF1bHQ6dmFyIFoxPVlbMV0sUjI9WjFbMl0sd3Q9UjJbNl0sTzE9UjJbMl0sX3Q9UjJbN10sV3Q9UjJbNV0scnQ9UjJbNF0sZXQ9UjJbM10sT3g9UjJbMV0sdHQ9WjFbMV07aWYodHlwZW9mIE8xPT1cIm51bWJlclwiKWlmKE8xKXZhciB4ZT0wLHYxPTA7ZWxzZSB2YXIgeGU9MSx2MT0wO2Vsc2UgdmFyIHhlPTAsdjE9WzAsTzFbMV1dO3ZhciBDZT14ZT9bMCxbMCxENTAsISF4ZV0sMF06MCxPZT13dD09PTA/MDpbMCxbMCxGNTAscHIobHgsd3QpXSwwXSxudD1NeChPZSxDZSksdXQ9WzAsWzAsTTUwLCExXSxbMCxbMCxMNTAsISFydF0sWzAsWzAsUjUwLGd4KHl0LFd0KV0sMF1dXSxpdD1bMCxbMCxxNTAsbWwoSDEsZXQpXSx1dF0scjE9WzAsWzAsVTUwLGd4KEcwLHYxKV0saXRdO3JldHVybiBYKFg1MCx0dCxfdCxNeChbMCxbMCxCNTAsRngoT3gpXSxyMV0sbnQpKX19ZnVuY3Rpb24gd3goWSl7dmFyIEE9WVsyXSxEPUFbM10sZjA9QVsyXSxrMD1BWzFdLFIwPVlbMV0sUTA9QVs0XSxteD1rMFswXT09PTA/cDAoazBbMV0pOmIyKGswWzFdKTtpZihEKXZhciBJeD1bMCxbMCxmaDAsRzAoRFsxXSldLDBdLFJ4PVgoc2gwLFIwLDAsWzAsWzAsY2gwLGRyKGYwKV0sSXhdKTtlbHNlIHZhciBSeD1kcihmMCk7cmV0dXJuIFgobGgwLFIwLDAsWzAsWzAsdmgwLG14XSxbMCxbMCxvaDAsUnhdLFswLFswLGFoMCwhIVEwXSwwXV1dKX1mdW5jdGlvbiBDcihZKXt2YXIgQT1ZWzJdLEQ9WVsxXTtzd2l0Y2goQVswXSl7Y2FzZSAwOnZhciBmMD1BWzFdLGswPWYwWzRdLFIwPVswLFswLGpoMCwhIWYwWzJdXSxbMCxbMCxOaDAsISFmMFszXV0sMF1dLFEwPVswLFswLENoMCxwcihmdW5jdGlvbihBcil7dmFyIHdyPUFyWzJdLGYyPXdyWzFdLFVyPUFyWzFdLFFyPVswLFswLEFoMCx3bih3clsyXSldLDBdO3JldHVybiBYKEloMCxVciwwLFswLFswLFBoMCxwMChmMildLFFyXSl9LGYwWzFdKV0sUjBdO3JldHVybiBYKE9oMCxELHcyKGswKSxRMCk7Y2FzZSAxOnZhciBteD1BWzFdLEl4PW14WzRdLFJ4PVswLFswLEZoMCwhIW14WzJdXSxbMCxbMCxEaDAsISFteFszXV0sMF1dLG5yPVswLFswLFJoMCxwcihmdW5jdGlvbihBcil7dmFyIHdyPUFyWzJdLGYyPXdyWzFdLFVyPUFyWzFdLFFyPVswLFswLFRoMCxDMSh3clsyXSldLDBdO3JldHVybiBYKFNoMCxVciwwLFswLFswLEVoMCxwMChmMildLFFyXSl9LG14WzFdKV0sUnhdO3JldHVybiBYKExoMCxELHcyKEl4KSxucik7Y2FzZSAyOnZhciB6eD1BWzFdLHVyPXp4WzFdLGtyPXp4WzRdLHJyPXp4WzNdLEN4PXp4WzJdLGdyPXVyWzBdPT09MD92cyhmdW5jdGlvbihBcil7dmFyIHdyPUFyWzFdO3JldHVybiBYKGJoMCx3ciwwLFswLFswLF9oMCxwMChBclsyXVsxXSldLDBdKX0sdXJbMV0pOnZzKGZ1bmN0aW9uKEFyKXt2YXIgd3I9QXJbMl0sZjI9d3JbMV0sVXI9QXJbMV0sUXI9WzAsWzAseWgwLGIyKHdyWzJdKV0sMF07cmV0dXJuIFgod2gwLFVyLDAsWzAsWzAsZ2gwLHAwKGYyKV0sUXJdKX0sdXJbMV0pLEVyPVswLFswLFVoMCwkMihncildLFswLFswLHFoMCwhIUN4XSxbMCxbMCxNaDAsISFycl0sMF1dXTtyZXR1cm4gWChCaDAsRCx3MihrciksRXIpO2Nhc2UgMzp2YXIgSnI9QVsxXSxTcj1KclszXSxHcj1bMCxbMCxYaDAsISFKclsyXV0sMF0sazI9WzAsWzAsWWgwLHByKGZ1bmN0aW9uKEFyKXt2YXIgd3I9QXJbMV07cmV0dXJuIFgoZGgwLHdyLDAsWzAsWzAsaGgwLHAwKEFyWzJdWzFdKV0sMF0pfSxKclsxXSldLEdyXTtyZXR1cm4gWCh6aDAsRCx3MihTciksazIpO2RlZmF1bHQ6dmFyIFAyPUFbMV0sRHI9UDJbNF0sbTI9WzAsWzAsSmgwLCEhUDJbMl1dLFswLFswLEtoMCwhIVAyWzNdXSwwXV0scjI9WzAsWzAsR2gwLHByKGZ1bmN0aW9uKEFyKXt2YXIgd3I9QXJbMl0sZjI9d3JbMV0sVXI9QXJbMV0sUXI9WzAsWzAscGgwLHExKHdyWzJdKV0sMF07cmV0dXJuIFgobWgwLFVyLDAsWzAsWzAsa2gwLHAwKGYyKV0sUXJdKX0sUDJbMV0pXSxtMl07cmV0dXJuIFgoV2gwLEQsdzIoRHIpLHIyKX19ZnVuY3Rpb24gSHgoWSl7dmFyIEE9WVsyXSxEPUFbNV0sZjA9QVs0XSxrMD1BWzJdLFIwPUFbMV0sUTA9WVsxXSxteD1bMCxbMCxIaDAscHIoWnIsQVszXSldLDBdLEl4PVswLFswLFpoMCxibigwLGYwKV0sbXhdLFJ4PVswLFswLHhkMCxneChkMSxrMCldLEl4XTtyZXR1cm4gWChlZDAsUTAsRCxbMCxbMCxyZDAscDAoUjApXSxSeF0pfWZ1bmN0aW9uIFpyKFkpe3ZhciBBPVlbMl0sRD1BWzFdLGYwPUFbM10sazA9QVsyXSxSMD1ZWzFdLFEwPURbMF09PT0wP3AwKERbMV0pOkVhKERbMV0pO3JldHVybiBYKHVkMCxSMCxmMCxbMCxbMCxuZDAsUTBdLFswLFswLHRkMCxneChBcyxrMCldLDBdXSl9ZnVuY3Rpb24gZHIoWSl7dmFyIEE9WVsyXSxEPVlbMV07c3dpdGNoKEFbMF0pe2Nhc2UgMDp2YXIgZjA9QVsxXSxrMD1mMFszXSxSMD1mMFsxXSxRMD1bMCxbMCxpZDAsbWwoSDEsZjBbMl0pXSwwXSxteD1bMCxbMCxmZDAscHIoSDIsUjApXSxRMF07cmV0dXJuIFgoY2QwLEQsdzIoazApLG14KTtjYXNlIDE6dmFyIEl4PUFbMV0sUng9SXhbM10sbnI9SXhbMV0seng9WzAsWzAsc2QwLG1sKEgxLEl4WzJdKV0sMF0sdXI9WzAsWzAsYWQwLHByKFp4LG5yKV0senhdO3JldHVybiBYKG9kMCxELHcyKFJ4KSx1cik7Y2FzZSAyOnJldHVybiBTeChELEFbMV0pO2RlZmF1bHQ6cmV0dXJuIEcwKEFbMV0pfX1mdW5jdGlvbiBPcihZKXt2YXIgQT1ZWzJdLEQ9QVsyXSxmMD1BWzFdLGswPVlbMV07aWYoIUQpcmV0dXJuIGRyKGYwKTt2YXIgUjA9WzAsWzAsdmQwLEcwKERbMV0pXSwwXTtyZXR1cm4gWChwZDAsazAsMCxbMCxbMCxsZDAsZHIoZjApXSxSMF0pfWZ1bmN0aW9uIHgyKFkpe3ZhciBBPVlbMl0sRD1BWzJdLGYwPVlbMV07cmV0dXJuIFgoaGQwLGYwLEQsWzAsWzAsbWQwLFFvXSxbMCxbMCxrZDAsSDEoQVsxXSldLDBdXSl9ZnVuY3Rpb24gdXgoWSl7dmFyIEE9WVsyXSxEPUFbM10sZjA9QVsyXSxrMD1BWzFdO2lmKEQpe3ZhciBSMD1EWzFdLFEwPVIwWzJdLG14PVEwWzJdLEl4PVIwWzFdLFJ4PVgoeWQwLEl4LG14LFswLFswLGRkMCxkcihRMFsxXSldLDBdKSxucj1peChbMCxSeCxjNShPcixmMCldKSx6eD1rMD9bMCx4MihrMFsxXSksbnJdOm5yO3JldHVybiAkMih6eCl9dmFyIHVyPXZzKE9yLGYwKSxrcj1rMD9bMCx4MihrMFsxXSksdXJdOnVyO3JldHVybiAkMihrcil9ZnVuY3Rpb24gTHgoWSxBKXt2YXIgRD1BWzJdO3JldHVybiBYKHdkMCxZLEQsWzAsWzAsZ2QwLGRyKEFbMV0pXSwwXSl9ZnVuY3Rpb24gWngoWSl7c3dpdGNoKFlbMF0pe2Nhc2UgMDp2YXIgQT1ZWzFdLEQ9QVsyXSxmMD1EWzJdLGswPURbMV0sUjA9QVsxXTtpZighZjApcmV0dXJuIGRyKGswKTt2YXIgUTA9WzAsWzAsX2QwLEcwKGYwWzFdKV0sMF07cmV0dXJuIFgoVGQwLFIwLDAsWzAsWzAsYmQwLGRyKGswKV0sUTBdKTtjYXNlIDE6dmFyIG14PVlbMV07cmV0dXJuIEx4KG14WzFdLG14WzJdKTtkZWZhdWx0OnJldHVybiBqMX19ZnVuY3Rpb24gcXIoWSl7c3dpdGNoKFlbMF0pe2Nhc2UgMDpyZXR1cm4gajE7Y2FzZSAxOnJldHVybiBIMShZWzFdKTtkZWZhdWx0OnZhciBBPVlbMV0sRD1BWzJdLGYwPUFbMV07cmV0dXJuIFgoTXcwLGYwLDAsWzAsWzAsTHcwLFRhKFswLERbMV0sRFsyXV0pXSwwXSl9fWZ1bmN0aW9uIFkyKFkpe2lmKFlbMF09PT0wKXt2YXIgQT1ZWzFdLEQ9QVsyXSxmMD1BWzFdO3N3aXRjaChEWzBdKXtjYXNlIDA6dmFyIGswPURbM10sUjA9RFsxXSxycj0wLEN4PWswLGdyPTAsRXI9RWQwLEpyPUcwKERbMl0pLFNyPVIwO2JyZWFrO2Nhc2UgMTp2YXIgUTA9RFsyXSxteD1EWzFdLHJyPTAsQ3g9MCxncj0xLEVyPVNkMCxKcj1ueChbMCxRMFsxXSxRMFsyXV0pLFNyPW14O2JyZWFrO2Nhc2UgMjp2YXIgSXg9RFsyXSxSeD1EWzNdLG5yPURbMV0scnI9UngsQ3g9MCxncj0wLEVyPUFkMCxKcj1ueChbMCxJeFsxXSxJeFsyXV0pLFNyPW5yO2JyZWFrO2RlZmF1bHQ6dmFyIHp4PURbMl0sdXI9RFszXSxrcj1EWzFdLHJyPXVyLEN4PTAsZ3I9MCxFcj1QZDAsSnI9bngoWzAsenhbMV0senhbMl1dKSxTcj1rcn1zd2l0Y2goU3JbMF0pe2Nhc2UgMDp2YXIgbTI9cnIscjI9MCxBcj1iMihTclsxXSk7YnJlYWs7Y2FzZSAxOnZhciBtMj1ycixyMj0wLEFyPUMxKFNyWzFdKTticmVhaztjYXNlIDI6dmFyIG0yPXJyLHIyPTAsQXI9cTEoU3JbMV0pO2JyZWFrO2Nhc2UgMzp2YXIgbTI9cnIscjI9MCxBcj1wMChTclsxXSk7YnJlYWs7Y2FzZSA0OnZhciBHcj1UeChJZDApLG0yPUdyWzNdLHIyPUdyWzJdLEFyPUdyWzFdO2JyZWFrO2RlZmF1bHQ6dmFyIGsyPVNyWzFdWzJdLFAyPWsyWzFdLERyPVMxKGsyWzJdLHJyKSxtMj1EcixyMj0xLEFyPUcwKFAyKX1yZXR1cm4gWChSZDAsZjAsbTIsWzAsWzAsRmQwLEFyXSxbMCxbMCxEZDAsSnJdLFswLFswLE9kMCxKeChFcildLFswLFswLENkMCwhIWdyXSxbMCxbMCxqZDAsISFDeF0sWzAsWzAsTmQwLCEhcjJdLDBdXV1dXV0pfXZhciB3cj1ZWzFdLGYyPXdyWzJdLFVyPWYyWzJdLFFyPXdyWzFdO3JldHVybiBYKE1kMCxRcixVcixbMCxbMCxMZDAsRzAoZjJbMV0pXSwwXSl9ZnVuY3Rpb24gSDIoWSl7aWYoWVswXSE9PTApe3ZhciBBPVlbMV07cmV0dXJuIEx4KEFbMV0sQVsyXSl9dmFyIEQ9WVsxXSxmMD1EWzJdLGswPWYwWzNdLFIwPWYwWzJdLFEwPWYwWzFdLG14PWYwWzRdLEl4PURbMV07c3dpdGNoKFEwWzBdKXtjYXNlIDA6dmFyIHp4PTAsdXI9MCxrcj1iMihRMFsxXSk7YnJlYWs7Y2FzZSAxOnZhciB6eD0wLHVyPTAsa3I9QzEoUTBbMV0pO2JyZWFrO2Nhc2UgMjp2YXIgeng9MCx1cj0wLGtyPXExKFEwWzFdKTticmVhaztjYXNlIDM6dmFyIHp4PTAsdXI9MCxrcj1wMChRMFsxXSk7YnJlYWs7ZGVmYXVsdDp2YXIgUng9UTBbMV1bMl0sbnI9UnhbMl0seng9bnIsdXI9MSxrcj1HMChSeFsxXSl9aWYoazApdmFyIHJyPWswWzFdLEN4PVlyKFIwWzFdLHJyWzFdKSxncj1bMCxbMCxxZDAsRzAocnIpXSwwXSxFcj1YKEJkMCxDeCwwLFswLFswLFVkMCxkcihSMCldLGdyXSk7ZWxzZSB2YXIgRXI9ZHIoUjApO3JldHVybiBYKFdkMCxJeCx6eCxbMCxbMCxHZDAsa3JdLFswLFswLEpkMCxFcl0sWzAsWzAsS2QwLEdjXSxbMCxbMCx6ZDAsITFdLFswLFswLFlkMCwhIW14XSxbMCxbMCxYZDAsISF1cl0sMF1dXV1dXSl9ZnVuY3Rpb24gS3QoWSl7dmFyIEE9WVsyXSxEPUFbMl0sZjA9WVsxXTtyZXR1cm4gWCgkZDAsZjAsRCxbMCxbMCxWZDAsRzAoQVsxXSldLDBdKX1mdW5jdGlvbiBkdChZKXtyZXR1cm4gWVswXT09PTA/RzAoWVsxXSk6S3QoWVsxXSl9ZnVuY3Rpb24gSnQoWSl7c3dpdGNoKFlbMF0pe2Nhc2UgMDpyZXR1cm4gRzAoWVsxXSk7Y2FzZSAxOnJldHVybiBLdChZWzFdKTtkZWZhdWx0OnJldHVybiBqMX19ZnVuY3Rpb24gQzEoWSl7dmFyIEE9WVsyXTtyZXR1cm4gWChaZDAsWVsxXSxBWzNdLFswLFswLEhkMCxBWzFdXSxbMCxbMCxRZDAsSngoQVsyXSldLDBdXSl9ZnVuY3Rpb24gcTEoWSl7dmFyIEE9WVsyXSxEPUFbMl0sZjA9QVsxXSxrMD1BWzNdLFIwPVlbMV0sUTA9ZjA/eU0oTzMsZjBbMV0pOlZNKHh5MCxITSg5NSxUMShELDAsTngoRCktMXwwKSkpO3JldHVybiBYKG55MCxSMCxrMCxbMCxbMCx0eTAsajFdLFswLFswLGV5MCxKeChRMCldLFswLFswLHJ5MCxKeChEKV0sMF1dXSl9ZnVuY3Rpb24gYjIoWSl7dmFyIEE9WVsyXTtyZXR1cm4gWChmeTAsWVsxXSxBWzNdLFswLFswLGl5MCxKeChBWzFdKV0sWzAsWzAsdXkwLEp4KEFbMl0pXSwwXV0pfWZ1bmN0aW9uIHduKFkpe3ZhciBBPVlbMl0sRD1BWzFdLGYwPUFbMl0sazA9WVsxXSxSMD1EP2N5MDpzeTA7cmV0dXJuIFgodnkwLGswLGYwLFswLFswLG95MCwhIURdLFswLFswLGF5MCxKeChSMCldLDBdXSl9ZnVuY3Rpb24gX24oWSl7cmV0dXJuIFgod3kwLFlbMV0sWVsyXSxbMCxbMCxneTAsajFdLFswLFswLHl5MCx1dl0sMF1dKX1mdW5jdGlvbiBicyhZKXt2YXIgQT1ZWzJdLEQ9QVszXSxmMD1BWzFdLGswPVlbMV0sUjA9WzAsWzAsX3kwLHByKEcwLEFbMl0pXSwwXTtyZXR1cm4gWChUeTAsazAsRCxbMCxbMCxieTAscHIobGUsZjApXSxSMF0pfWZ1bmN0aW9uIGxlKFkpe3ZhciBBPVlbMl0sRD1BWzFdLGYwPUFbMl0sazA9WVsxXTtyZXR1cm4gWChJeTAsazAsMCxbMCxbMCxQeTAsX3MoWzAsWzAsU3kwLEp4KERbMV0pXSxbMCxbMCxFeTAsSngoRFsyXSldLDBdXSldLFswLFswLEF5MCwhIWYwXSwwXV0pfWZ1bmN0aW9uIFplKFkpe3N3aXRjaChZKXtjYXNlIDA6cmV0dXJuIE95MDtjYXNlIDE6cmV0dXJuIER5MDtkZWZhdWx0OnJldHVybiBGeTB9fWZ1bmN0aW9uIFRzKFkpe3ZhciBBPVlbMl0sRD1BWzNdLGYwPUFbMV0sazA9WVsxXSxSMD1bMCxbMCxSeTAsSngoWmUoQVsyXSkpXSwwXTtyZXR1cm4gWChNeTAsazAsRCxbMCxbMCxMeTAscHIoTHYsZjApXSxSMF0pfWZ1bmN0aW9uIEx2KFkpe3ZhciBBPVlbMl0sRD1BWzFdLGYwPVlbMV0sazA9WzAsWzAscXkwLGd4KEcwLEFbMl0pXSwwXTtyZXR1cm4gWChCeTAsZjAsMCxbMCxbMCxVeTAsZHIoRCldLGswXSl9ZnVuY3Rpb24geXQoWSl7dmFyIEE9WVsyXSxEPUFbMl0sZjA9WVsxXTtzd2l0Y2goQVsxXSl7Y2FzZSAwOnZhciBrMD1YeTA7YnJlYWs7Y2FzZSAxOnZhciBrMD1ZeTA7YnJlYWs7Y2FzZSAyOnZhciBrMD16eTA7YnJlYWs7Y2FzZSAzOnZhciBrMD1LeTA7YnJlYWs7Y2FzZSA0OnZhciBrMD1KeTA7YnJlYWs7ZGVmYXVsdDp2YXIgazA9R3kwfXJldHVybiBYKFZ5MCxmMCxELFswLFswLFd5MCxKeChrMCldLDBdKX1mdW5jdGlvbiB5cihZKXt2YXIgQT1ZWzJdLEQ9WVsxXTtzd2l0Y2goQVswXSl7Y2FzZSAwOnJldHVybiBYKCR5MCxELEFbMV0sMCk7Y2FzZSAxOnJldHVybiBYKFF5MCxELEFbMV0sMCk7Y2FzZSAyOnJldHVybiBYKEh5MCxELEFbMV0sMCk7Y2FzZSAzOnJldHVybiBYKFp5MCxELEFbMV0sMCk7Y2FzZSA0OnJldHVybiBYKHg5MCxELEFbMV0sMCk7Y2FzZSA1OnJldHVybiBYKGU5MCxELEFbMV0sMCk7Y2FzZSA2OnJldHVybiBYKHQ5MCxELEFbMV0sMCk7Y2FzZSA3OnJldHVybiBYKG45MCxELEFbMV0sMCk7Y2FzZSA4OnJldHVybiBYKHU5MCxELEFbMl0sMCk7Y2FzZSA5OnJldHVybiBYKHI5MCxELEFbMV0sMCk7Y2FzZSAxMDpyZXR1cm4gWChEdzAsRCxBWzFdLDApO2Nhc2UgMTE6dmFyIGYwPUFbMV0sazA9ZjBbMl07cmV0dXJuIFgoZjkwLEQsazAsWzAsWzAsaTkwLHlyKGYwWzFdKV0sMF0pO2Nhc2UgMTI6cmV0dXJuIEVzKFswLEQsQVsxXV0pO2Nhc2UgMTM6dmFyIFIwPUFbMV0sUTA9UjBbMl0sbXg9UjBbNF0sSXg9UjBbM10sUng9UjBbMV0sbnI9UzEodzIoUTBbMl1bM10pLG14KSx6eD1RMFsyXSx1cj16eFsyXSxrcj16eFsxXSxycj1bMCxbMCxTbTAsZ3goZDEsUngpXSwwXSxDeD1bMCxbMCxBbTAsUGEoSXgpXSxycl0sZ3I9WzAsWzAsUG0wLGd4KE1yLHVyKV0sQ3hdO3JldHVybiBYKE5tMCxELG5yLFswLFswLEltMCxzcihrcildLGdyXSk7Y2FzZSAxNDpyZXR1cm4gYm4oMSxbMCxELEFbMV1dKTtjYXNlIDE1OnZhciBFcj1BWzFdLEpyPUVyWzNdLFNyPUVyWzJdLEdyPVswLFswLHdnMCxibigwLEVyWzFdKV0sMF07cmV0dXJuIFgoYmcwLEQsSnIsWzAsWzAsX2cwLHByKFpyLFNyKV0sR3JdKTtjYXNlIDE2OnZhciBrMj1BWzFdLFAyPWsyWzJdO3JldHVybiBYKEVnMCxELFAyLFswLFswLFRnMCx5cihrMlsxXSldLDBdKTtjYXNlIDE3OnZhciBEcj1BWzFdLG0yPURyWzVdLHIyPURyWzNdLEFyPURyWzJdLHdyPURyWzFdLGYyPVswLFswLFNnMCx5cihEcls0XSldLDBdLFVyPVswLFswLEFnMCx5cihyMildLGYyXSxRcj1bMCxbMCxQZzAseXIoQXIpXSxVcl07cmV0dXJuIFgoTmcwLEQsbTIsWzAsWzAsSWcwLHlyKHdyKV0sUXJdKTtjYXNlIDE4OnZhciBUMj1BWzFdLFJyPVQyWzJdO3JldHVybiBYKENnMCxELFJyLFswLFswLGpnMCxJYShUMlsxXSldLDBdKTtjYXNlIDE5OnJldHVybiBrbyhbMCxELEFbMV1dKTtjYXNlIDIwOnZhciBkMj1BWzFdLG8yPWQyWzNdO3JldHVybiBYKEJnMCxELG8yLFNhKGQyKSk7Y2FzZSAyMTp2YXIgYzI9QVsxXSxFMj1jMlsxXSxwZT1FMlszXSxqZT1bMCxbMCxYZzAsISFjMlsyXV0sMF07cmV0dXJuIFgoWWcwLEQscGUsTXgoU2EoRTIpLGplKSk7Y2FzZSAyMjp2YXIgeHQ9QVsxXSxVMT14dFsxXSxlMj14dFsyXTtyZXR1cm4gWChLZzAsRCxlMixbMCxbMCx6ZzAscHIoeXIsWzAsVTFbMV0sWzAsVTFbMl0sVTFbM11dXSldLDBdKTtjYXNlIDIzOnZhciBaMT1BWzFdLFIyPVoxWzFdLHd0PVoxWzJdO3JldHVybiBYKEdnMCxELHd0LFswLFswLEpnMCxwcih5cixbMCxSMlsxXSxbMCxSMlsyXSxSMlszXV1dKV0sMF0pO2Nhc2UgMjQ6dmFyIE8xPUFbMV0sX3Q9TzFbMl0sV3Q9TzFbM10scnQ9TzFbMV0sZXQ9X3Q/WzAsWzAsV2cwLEFzKF90WzFdKV0sMF06MDtyZXR1cm4gWCgkZzAsRCxXdCxbMCxbMCxWZzAsQWEocnQpXSxldF0pO2Nhc2UgMjU6dmFyIE94PUFbMV0sdHQ9T3hbMl07cmV0dXJuIFgocncwLEQsdHQsWzAsWzAseHcwLHlyKE94WzFdKV0sMF0pO2Nhc2UgMjY6cmV0dXJuIG1vKEQsQVsxXSk7Y2FzZSAyNzp2YXIgeGU9QVsxXTtyZXR1cm4gU3MoRCx4ZVsyXSxjdzAseGVbMV0pO2Nhc2UgMjg6dmFyIHYxPUFbMV0sQ2U9djFbM10sT2U9WzAsWzAsc3cwLCEhdjFbMl1dLDBdO3JldHVybiBYKG93MCxELENlLFswLFswLGF3MCxwcihmdW5jdGlvbihWdCl7dmFyIEQxPVZ0WzJdLFRuPVZ0WzFdO3N3aXRjaChEMVswXSl7Y2FzZSAwOnJldHVybiB5cihEMVsxXSk7Y2FzZSAxOnZhciBrZT1EMVsxXSxEZT1rZVsyXSwkdD1rZVsxXSxOcz1bMCxbMCx2dzAsISFrZVs0XV0sMF0sRW49WzAsWzAsbHcwLGd4KHl0LGtlWzNdKV0sTnNdLGpzPVswLFswLHB3MCx5cihEZSldLEVuXTtyZXR1cm4gWChtdzAsVG4sMCxbMCxbMCxrdzAscDAoJHQpXSxqc10pO2RlZmF1bHQ6dmFyIHJlPUQxWzFdLEV0PXJlWzFdLENzPVswLFswLGh3MCx5cihyZVsyXSldLDBdO3JldHVybiBYKHl3MCxUbiwwLFswLFswLGR3MCxneChwMCxFdCldLENzXSl9fSx2MVsxXSldLE9lXSk7Y2FzZSAyOTp2YXIgbnQ9QVsxXTtyZXR1cm4gWChfdzAsRCxudFszXSxbMCxbMCx3dzAsSngobnRbMV0pXSxbMCxbMCxndzAsSngobnRbMl0pXSwwXV0pO2Nhc2UgMzA6dmFyIHV0PUFbMV07cmV0dXJuIFgoRXcwLEQsdXRbM10sWzAsWzAsVHcwLHV0WzFdXSxbMCxbMCxidzAsSngodXRbMl0pXSwwXV0pO2Nhc2UgMzE6dmFyIGl0PUFbMV07cmV0dXJuIFgoUHcwLEQsaXRbM10sWzAsWzAsQXcwLGoxXSxbMCxbMCxTdzAsSngoaXRbMl0pXSwwXV0pO2Nhc2UgMzI6dmFyIHIxPUFbMV0sYnQ9cjFbMV0sVHQ9cjFbMl0sSXM9MCxmdD1idD9JdzA6TncwO3JldHVybiBYKE93MCxELFR0LFswLFswLEN3MCwhIWJ0XSxbMCxbMCxqdzAsSngoZnQpXSxJc11dKTtjYXNlIDMzOnJldHVybiBYKGM5MCxELEFbMV0sMCk7Y2FzZSAzNDpyZXR1cm4gWChzOTAsRCxBWzFdLDApO2RlZmF1bHQ6cmV0dXJuIFgoYTkwLEQsQVsxXSwwKX19ZnVuY3Rpb24gVGEoWSl7dmFyIEE9WVsyXSxEPUFbMl0sZjA9QVszXSxrMD1EWzJdLFIwPURbMV0sUTA9WVsxXTtzd2l0Y2goQVsxXSl7Y2FzZSAwOnZhciBteD1qMTticmVhaztjYXNlIDE6dmFyIG14PWIzO2JyZWFrO2RlZmF1bHQ6dmFyIG14PW0zfXZhciBJeD1bMCxbMCx2OTAsZ3goeXIsazApXSxbMCxbMCxvOTAsbXhdLDBdXSxSeD1bMCxbMCxsOTAscDAoUjApXSxJeF07cmV0dXJuIFgocDkwLFEwLHcyKGYwKSxSeCl9ZnVuY3Rpb24gRXMoWSl7dmFyIEE9WVsyXSxEPUFbNV0sZjA9QVszXSxrMD1BWzJdWzJdLFIwPUFbNF0sUTA9azBbM10sbXg9azBbMl0sSXg9azBbMV0sUng9QVsxXSxucj1ZWzFdLHp4PVMxKHcyKGswWzRdKSxSMCksdXI9RD09PTA/azkwOm05MCxrcj1EPT09MD8wOlswLFswLGg5MCxneChxdixJeCldLDBdLHJyPVswLFswLGQ5MCxneChkMSxSeCldLDBdLEN4PVswLFswLHk5MCxneChNdixRMCldLHJyXSxncj1mMFswXT09PTA/eXIoZjBbMV0pOlRhKGYwWzFdKTtyZXR1cm4gWCh1cixucix6eCxNeChbMCxbMCx3OTAscHIoZnVuY3Rpb24oRXIpe3JldHVybiBndCgwLEVyKX0sbXgpXSxbMCxbMCxnOTAsZ3JdLEN4XV0sa3IpKX1mdW5jdGlvbiBndChZLEEpe3ZhciBEPUFbMl0sZjA9RFsxXSxrMD1BWzFdLFIwPVswLFswLF85MCwhIURbM11dLDBdLFEwPVswLFswLGI5MCx5cihEWzJdKV0sUjBdO3JldHVybiBYKEU5MCxrMCxZLFswLFswLFQ5MCxneChwMCxmMCldLFEwXSl9ZnVuY3Rpb24gTXYoWSl7dmFyIEE9WVsyXTtyZXR1cm4gZ3QoQVsyXSxBWzFdKX1mdW5jdGlvbiBxdihZKXt2YXIgQT1ZWzJdLEQ9QVsyXSxmMD1ZWzFdLGswPVswLFswLEE5MCx5cihBWzFdWzJdKV0sWzAsWzAsUzkwLCExXSwwXV07cmV0dXJuIFgoSTkwLGYwLEQsWzAsWzAsUDkwLGd4KHAwLDApXSxrMF0pfWZ1bmN0aW9uIGJuKFksQSl7dmFyIEQ9QVsyXSxmMD1EWzRdLGswPURbMl0sUjA9RFsxXSxRMD1BWzFdLG14PW0xKGZ1bmN0aW9uKGdyLEVyKXt2YXIgSnI9Z3JbNF0sU3I9Z3JbM10sR3I9Z3JbMl0sazI9Z3JbMV07c3dpdGNoKEVyWzBdKXtjYXNlIDA6dmFyIFAyPUVyWzFdLERyPVAyWzJdLG0yPURyWzJdLHIyPURyWzFdLEFyPURyWzhdLHdyPURyWzddLGYyPURyWzZdLFVyPURyWzVdLFFyPURyWzRdLFQyPURyWzNdLFJyPVAyWzFdO3N3aXRjaChyMlswXSl7Y2FzZSAwOnZhciBkMj1iMihyMlsxXSk7YnJlYWs7Y2FzZSAxOnZhciBkMj1DMShyMlsxXSk7YnJlYWs7Y2FzZSAyOnZhciBkMj1xMShyMlsxXSk7YnJlYWs7Y2FzZSAzOnZhciBkMj1wMChyMlsxXSk7YnJlYWs7Y2FzZSA0OnZhciBkMj1UeChNOTApO2JyZWFrO2RlZmF1bHQ6dmFyIGQyPVR4KHE5MCl9c3dpdGNoKG0yWzBdKXtjYXNlIDA6dmFyIEUyPVU5MCxwZT15cihtMlsxXSk7YnJlYWs7Y2FzZSAxOnZhciBvMj1tMlsxXSxFMj1COTAscGU9RXMoWzAsbzJbMV0sbzJbMl1dKTticmVhaztkZWZhdWx0OnZhciBjMj1tMlsxXSxFMj1YOTAscGU9RXMoWzAsYzJbMV0sYzJbMl1dKX1yZXR1cm5bMCxbMCxYKFE5MCxScixBcixbMCxbMCwkOTAsZDJdLFswLFswLFY5MCxwZV0sWzAsWzAsVzkwLCEhZjJdLFswLFswLEc5MCwhIVQyXSxbMCxbMCxKOTAsISFRcl0sWzAsWzAsSzkwLCEhVXJdLFswLFswLHo5MCxneCh5dCx3cildLFswLFswLFk5MCxKeChFMildLDBdXV1dXV1dXSksazJdLEdyLFNyLEpyXTtjYXNlIDE6dmFyIGplPUVyWzFdLHh0PWplWzJdLFUxPXh0WzJdLGUyPWplWzFdO3JldHVyblswLFswLFgoWjkwLGUyLFUxLFswLFswLEg5MCx5cih4dFsxXSldLDBdKSxrMl0sR3IsU3IsSnJdO2Nhc2UgMjp2YXIgWjE9RXJbMV0sUjI9WjFbMl0sd3Q9UjJbNl0sTzE9UjJbNF0sX3Q9UjJbM10sV3Q9UjJbMl0scnQ9UjJbMV0sZXQ9WjFbMV0sT3g9WzAsWzAscmcwLCEhTzFdLFswLFswLHhnMCxneCh5dCxSMls1XSldLDBdXSx0dD1bMCxbMCxlZzAseXIoX3QpXSxPeF0seGU9WzAsWzAsdGcwLHlyKFd0KV0sdHRdO3JldHVyblswLGsyLFswLFgodWcwLGV0LHd0LFswLFswLG5nMCxneChwMCxydCldLHhlXSksR3JdLFNyLEpyXTtjYXNlIDM6dmFyIHYxPUVyWzFdLENlPXYxWzJdLE9lPUNlWzNdLG50PXYxWzFdLHV0PVswLFswLGlnMCwhIUNlWzJdXSwwXTtyZXR1cm5bMCxrMixHcixbMCxYKGNnMCxudCxPZSxbMCxbMCxmZzAsRXMoQ2VbMV0pXSx1dF0pLFNyXSxKcl07Y2FzZSA0OnZhciBpdD1FclsxXSxyMT1pdFsyXSxidD1yMVs2XSxUdD1yMVs1XSxJcz1yMVs0XSxmdD1yMVszXSxWdD1yMVsxXSxEMT1pdFsxXSxUbj1bMCxbMCxkZzAsISFmdF0sWzAsWzAsaGcwLCEhSXNdLFswLFswLG1nMCwhIVR0XSxbMCxbMCxrZzAseXIocjFbMl0pXSwwXV1dXTtyZXR1cm5bMCxrMixHcixTcixbMCxYKGdnMCxEMSxidCxbMCxbMCx5ZzAscDAoVnQpXSxUbl0pLEpyXV07ZGVmYXVsdDp2YXIga2U9RXJbMV0sRGU9a2VbMl0sJHQ9RGVbNl0sTnM9RGVbNF0sRW49RGVbM10sanM9RGVbMl0scmU9RGVbMV0sRXQ9a2VbMV0sQ3M9MDtzd2l0Y2goRGVbNV0pe2Nhc2UgMDp2YXIgU249XCJQbHVzT3B0aW9uYWxcIjticmVhaztjYXNlIDE6dmFyIFNuPVwiTWludXNPcHRpb25hbFwiO2JyZWFrO2Nhc2UgMjp2YXIgU249XCJPcHRpb25hbFwiO2JyZWFrO2RlZmF1bHQ6dmFyIFNuPWoxfXZhciBGZT1bMCxbMCxhZzAsZ3goeXQsTnMpXSxbMCxbMCxzZzAsU25dLENzXV0sT3M9WzAsWzAsb2cwLHlyKEVuKV0sRmVdLERzPVswLFswLHZnMCx5cihqcyldLE9zXTtyZXR1cm5bMCxbMCxYKHBnMCxFdCwkdCxbMCxbMCxsZzAsSWEocmUpXSxEc10pLGsyXSxHcixTcixKcl19fSxOOTAsRFszXSksSXg9bXhbM10sUng9bXhbMl0sbnI9bXhbMV0seng9WzAsWzAsajkwLCQyKGl4KG14WzRdKSldLDBdLHVyPVswLFswLEM5MCwkMihpeChJeCkpXSx6eF0sa3I9WzAsWzAsTzkwLCQyKGl4KFJ4KSldLHVyXSxycj1bMCxbMCxGOTAsISFSMF0sWzAsWzAsRDkwLCQyKGl4KG5yKSldLGtyXV0sQ3g9WT9bMCxbMCxSOTAsISFrMF0scnJdOnJyO3JldHVybiBYKEw5MCxRMCx3MihmMCksQ3gpfWZ1bmN0aW9uIEVhKFkpe3ZhciBBPVlbMl0sRD1BWzFdLGYwPUFbMl0sazA9WVsxXSxSMD1EWzBdPT09MD9wMChEWzFdKTpFYShEWzFdKTtyZXR1cm4gWChGZzAsazAsMCxbMCxbMCxEZzAsUjBdLFswLFswLE9nMCxwMChmMCldLDBdXSl9ZnVuY3Rpb24ga28oWSl7dmFyIEE9WVsyXSxEPUFbMV0sZjA9QVszXSxrMD1BWzJdLFIwPVlbMV0sUTA9RFswXT09PTA/cDAoRFsxXSk6RWEoRFsxXSk7cmV0dXJuIFgoTWcwLFIwLGYwLFswLFswLExnMCxRMF0sWzAsWzAsUmcwLGd4KEFzLGswKV0sMF1dKX1mdW5jdGlvbiBTYShZKXt2YXIgQT1ZWzFdLEQ9WzAsWzAscWcwLHlyKFlbMl0pXSwwXTtyZXR1cm5bMCxbMCxVZzAseXIoQSldLERdfWZ1bmN0aW9uIEFhKFkpe2lmKFlbMF09PT0wKXJldHVybiBwMChZWzFdKTt2YXIgQT1ZWzFdLEQ9QVsyXSxmMD1EWzJdLGswPUFbMV0sUjA9QWEoRFsxXSk7cmV0dXJuIFgoWmcwLGswLDAsWzAsWzAsSGcwLFIwXSxbMCxbMCxRZzAscDAoZjApXSwwXV0pfWZ1bmN0aW9uIFBhKFkpe3JldHVybiBZWzBdPT09MD9qMTptbyhZWzFdLFlbMl0pfWZ1bmN0aW9uIG1vKFksQSl7dmFyIEQ9QVszXSxmMD1BWzJdO3N3aXRjaChBWzRdKXtjYXNlIDA6dmFyIGswPWV3MDticmVhaztjYXNlIDE6dmFyIGswPXR3MDticmVhaztkZWZhdWx0OnZhciBrMD1udzB9cmV0dXJuIFNzKFksRCxrMCxmMCl9ZnVuY3Rpb24gU3MoWSxBLEQsZjApe3JldHVybiBYKGZ3MCxZLEEsWzAsWzAsaXcwLEp4KEQpXSxbMCxbMCx1dzAseXIoZjApXSwwXV0pfWZ1bmN0aW9uIEgxKFkpe3ZhciBBPVlbMV07cmV0dXJuIFgoUncwLEEsMCxbMCxbMCxGdzAseXIoWVsyXSldLDBdKX1mdW5jdGlvbiBkMShZKXt2YXIgQT1ZWzJdLEQ9QVsyXSxmMD1ZWzFdLGswPVswLFswLHF3MCxwcihJYSxBWzFdKV0sMF07cmV0dXJuIFgoVXcwLGYwLHcyKEQpLGswKX1mdW5jdGlvbiBJYShZKXt2YXIgQT1ZWzJdLEQ9QVsxXVsyXSxmMD1BWzVdLGswPUFbNF0sUjA9QVsyXSxRMD1EWzJdLG14PURbMV0sSXg9WVsxXSxSeD1BWzNdP1swLFswLEJ3MCwhMF0sMF06MCxucj1bMCxbMCxYdzAsZ3goeXIsZjApXSwwXSx6eD1bMCxbMCxZdzAsZ3goeXQsazApXSxucl07cmV0dXJuIFgoSncwLEl4LFEwLE14KFswLFswLEt3MCxKeChteCldLFswLFswLHp3MCxtbChIMSxSMCldLHp4XV0sUngpKX1mdW5jdGlvbiBBcyhZKXt2YXIgQT1ZWzJdLEQ9QVsyXSxmMD1ZWzFdLGswPVswLFswLEd3MCxwcih5cixBWzFdKV0sMF07cmV0dXJuIFgoV3cwLGYwLHcyKEQpLGswKX1mdW5jdGlvbiBHdChZKXt2YXIgQT1ZWzJdLEQ9QVsyXSxmMD1ZWzFdLGswPVswLFswLFZ3MCxwcihVdixBWzFdKV0sMF07cmV0dXJuIFgoJHcwLGYwLHcyKEQpLGswKX1mdW5jdGlvbiBVdihZKXtpZihZWzBdPT09MClyZXR1cm4geXIoWVsxXSk7dmFyIEE9WVsxXSxEPUFbMV0sZjA9QVsyXVsxXTtyZXR1cm4ga28oWzAsRCxbMCxbMCxtbigwLFswLEQsUXcwXSldLDAsZjBdXSl9ZnVuY3Rpb24gaG8oWSl7dmFyIEE9WVsyXSxEPUFbMV0sZjA9QVs0XSxrMD1BWzJdLFIwPVlbMV0sUTA9WzAsWzAsSHcwLHByKE5hLEFbM11bMl0pXSwwXSxteD1bMCxbMCxadzAsZ3goZGwsazApXSxRMF0sSXg9RFsyXSxSeD1JeFsyXSxucj1JeFs0XSx6eD1JeFszXSx1cj1JeFsxXSxrcj1EWzFdLHJyPVJ4P1swLFswLGlfMCxHdChSeFsxXSldLDBdOjAsQ3g9WzAsWzAsY18wLHByKFh2LG5yKV0sWzAsWzAsZl8wLCEhenhdLDBdXTtyZXR1cm4gWChyXzAsUjAsZjAsWzAsWzAseF8wLFgoYV8wLGtyLDAsTXgoWzAsWzAsc18wLHlvKHVyKV0sQ3hdLHJyKSldLG14XSl9ZnVuY3Rpb24gQnYoWSl7dmFyIEE9WVsyXSxEPUFbNF0sZjA9QVszXVsyXSxrMD1BWzFdLFIwPVlbMV0sUTA9WzAsWzAsZV8wLFgocF8wLEFbMl0sMCwwKV0sMF0sbXg9WzAsWzAsdF8wLHByKE5hLGYwKV0sUTBdO3JldHVybiBYKHVfMCxSMCxELFswLFswLG5fMCxYKG9fMCxrMCwwLDApXSxteF0pfWZ1bmN0aW9uIFh2KFkpe2lmKFlbMF09PT0wKXt2YXIgQT1ZWzFdLEQ9QVsyXSxmMD1EWzFdLGswPURbMl0sUjA9QVsxXSxRMD1mMFswXT09PTA/UHMoZjBbMV0pOnlsKGYwWzFdKTtyZXR1cm4gWChoXzAsUjAsMCxbMCxbMCxtXzAsUTBdLFswLFswLGtfMCxneChnbyxrMCldLDBdXSl9dmFyIG14PVlbMV0sSXg9bXhbMl0sUng9SXhbMl0sbnI9bXhbMV07cmV0dXJuIFgoeV8wLG5yLFJ4LFswLFswLGRfMCxHMChJeFsxXSldLDBdKX1mdW5jdGlvbiBkbChZKXt2YXIgQT1ZWzFdO3JldHVybiBYKGxfMCxBLDAsWzAsWzAsdl8wLHlvKFlbMl1bMV0pXSwwXSl9ZnVuY3Rpb24gTmEoWSl7dmFyIEE9WVsyXSxEPVlbMV07c3dpdGNoKEFbMF0pe2Nhc2UgMDpyZXR1cm4gaG8oWzAsRCxBWzFdXSk7Y2FzZSAxOnJldHVybiBCdihbMCxELEFbMV1dKTtjYXNlIDI6cmV0dXJuIGphKFswLEQsQVsxXV0pO2Nhc2UgMzp2YXIgZjA9QVsxXSxrMD1mMFsyXTtyZXR1cm4gWChUXzAsRCxrMCxbMCxbMCxiXzAsRzAoZjBbMV0pXSwwXSk7ZGVmYXVsdDp2YXIgUjA9QVsxXTtyZXR1cm4gWChBXzAsRCwwLFswLFswLFNfMCxKeChSMFsxXSldLFswLFswLEVfMCxKeChSMFsyXSldLDBdXSl9fWZ1bmN0aW9uIHlvKFkpe3N3aXRjaChZWzBdKXtjYXNlIDA6cmV0dXJuIFBzKFlbMV0pO2Nhc2UgMTpyZXR1cm4geWwoWVsxXSk7ZGVmYXVsdDpyZXR1cm4gQ2EoWVsxXSl9fWZ1bmN0aW9uIGdvKFkpe2lmKFlbMF09PT0wKXt2YXIgQT1ZWzFdO3JldHVybiBiMihbMCxBWzFdLEFbMl1dKX12YXIgRD1ZWzFdO3JldHVybiBqYShbMCxEWzFdLERbMl1dKX1mdW5jdGlvbiBqYShZKXt2YXIgQT1ZWzJdLEQ9QVsxXSxmMD1ZWzFdLGswPUFbMl0sUjA9RD9HMChEWzFdKTpYKGdfMCxbMCxmMFsxXSxbMCxmMFsyXVsxXSxmMFsyXVsyXSsxfDBdLFswLGYwWzNdWzFdLGYwWzNdWzJdLTF8MF1dLDAsMCk7cmV0dXJuIFgoX18wLGYwLHcyKGswKSxbMCxbMCx3XzAsUjBdLDBdKX1mdW5jdGlvbiBDYShZKXt2YXIgQT1ZWzJdLEQ9QVsxXSxmMD1BWzJdLGswPVlbMV0sUjA9RFswXT09PTA/UHMoRFsxXSk6Q2EoRFsxXSk7cmV0dXJuIFgoTl8wLGswLDAsWzAsWzAsSV8wLFIwXSxbMCxbMCxQXzAsUHMoZjApXSwwXV0pfWZ1bmN0aW9uIHlsKFkpe3ZhciBBPVlbMl0sRD1BWzFdLGYwPVlbMV0sazA9WzAsWzAsal8wLFBzKEFbMl0pXSwwXTtyZXR1cm4gWChPXzAsZjAsMCxbMCxbMCxDXzAsUHMoRCldLGswXSl9ZnVuY3Rpb24gUHMoWSl7dmFyIEE9WVsyXTtyZXR1cm4gWChGXzAsWVsxXSxBWzJdLFswLFswLERfMCxKeChBWzFdKV0sMF0pfWZ1bmN0aW9uIFloKFkpe3ZhciBBPVlbMl0sRD1BWzJdLGYwPUFbMV0sazA9WVsxXSxSMD1wMChEP0RbMV06ZjApO3JldHVybiBYKE1fMCxrMCwwLFswLFswLExfMCxwMChmMCldLFswLFswLFJfMCxSMF0sMF1dKX1mdW5jdGlvbiB3byhZKXtyZXR1cm4gcHIoVDQsWSl9ZnVuY3Rpb24gVDQoWSl7dmFyIEE9WVsyXSxEPVlbMV07aWYoQVsxXSl2YXIgZjA9QVsyXSxrMD1HXzA7ZWxzZSB2YXIgZjA9QVsyXSxrMD1XXzA7cmV0dXJuIFgoazAsRCwwLFswLFswLFZfMCxKeChmMCldLDBdKX1mdW5jdGlvbiBfbyhZKXt2YXIgQT1ZWzJdLEQ9QVsxXSxmMD1BWzJdLGswPVlbMV07aWYoRCl2YXIgUjA9WzAsWzAsJF8wLEcwKERbMV0pXSwwXSxRMD1RXzA7ZWxzZSB2YXIgUjA9MCxRMD1IXzA7cmV0dXJuIFgoUTAsazAsZjAsUjApfWZ1bmN0aW9uIGdsKFkpe3ZhciBBPVlbMl0sRD1ZWzFdLGYwPVswLFswLFpfMCxieChZWzNdKV0sMF0sazA9WzAsWzAseGIwLGd4KEd0LEEpXSxmMF07cmV0dXJuWzAsWzAscmIwLEcwKEQpXSxrMF19ZnVuY3Rpb24gRTQoWSl7dmFyIEE9WVsyXSxEPVlbMV07c3dpdGNoKEFbMF0pe2Nhc2UgMDp2YXIgZjA9MCxrMD1wMChBWzFdKTticmVhaztjYXNlIDE6dmFyIGYwPTAsazA9RngoQVsxXSk7YnJlYWs7ZGVmYXVsdDp2YXIgZjA9MSxrMD1HMChBWzFdKX1yZXR1cm5bMCxbMCxuYjAsRzAoRCldLFswLFswLHRiMCxrMF0sWzAsWzAsZWIwLCEhZjBdLDBdXV19dmFyIGJvPVQwWzJdLFM0PWJvWzJdLHpoPWJvWzRdLEtoPWJvWzNdLEpoPVQwWzFdLEdoPUd4KGJvWzFdKSxBND1bMCxbMCxjNjAsR2hdLFswLFswLGY2MCx3byh6aCldLDBdXTtpZihTNCl2YXIgUDQ9UzRbMV0sSTQ9TXgoQTQsWzAsWzAsbzYwLFgoYTYwLFA0WzFdLDAsWzAsWzAsczYwLEp4KFA0WzJdKV0sMF0pXSwwXSk7ZWxzZSB2YXIgSTQ9QTQ7dmFyIHdsPVgodjYwLEpoLEtoLEk0KTtyZXR1cm4gd2wuZXJyb3JzPXByKGZ1bmN0aW9uKFkpe3ZhciBBPVlbMV0sRD1bMCxbMCx1YjAsSngobUUwKFlbMl0pKV0sMF07cmV0dXJuIF9zKFswLFswLGliMCxKWShBKV0sRF0pfSxNeChzMCx6WVsxXSkpLFQmJih3bFtHT109JDIoYzUoZnVuY3Rpb24oWSl7dmFyIEE9WVsyXSxEPVlbMV0sZjA9WVszXSxrMD1bMCxbMCxzbzAsSngoWWooQSkpXSwwXSxSMD1bMCxvaChVLERbM10pLDBdLFEwPVswLFswLGFvMCwkMihbMCxvaChVLERbMl0pLFIwXSldLGswXSxteD1bMCxbMCxsbzAsX3MoWzAsWzAsdm8wLERbM11bMV1dLFswLFswLG9vMCxEWzNdWzJdXSwwXV0pXSwwXSxJeD1bMCxbMCxobzAsX3MoWzAsWzAsbW8wLF9zKFswLFswLGtvMCxEWzJdWzFdXSxbMCxbMCxwbzAsRFsyXVsyXV0sMF1dKV0sbXhdKV0sUTBdO3N3aXRjaChmMCl7Y2FzZSAwOnZhciBSeD1kbzA7YnJlYWs7Y2FzZSAxOnZhciBSeD15bzA7YnJlYWs7Y2FzZSAyOnZhciBSeD1nbzA7YnJlYWs7Y2FzZSAzOnZhciBSeD13bzA7YnJlYWs7Y2FzZSA0OnZhciBSeD1fbzA7YnJlYWs7ZGVmYXVsdDp2YXIgUng9Ym8wfXJldHVybiBfcyhbMCxbMCxFbzAsSngoSVUoQSkpXSxbMCxbMCxUbzAsSngoUngpXSxJeF1dKX0sRlsxXSkpKSx3bH1pZih0eXBlb2YgZk88XCJ1XCIpdmFyIEdZPWZPO2Vsc2V7dmFyIFdZPXt9O2JhLmZsb3c9V1k7dmFyIEdZPVdZfUdZLnBhcnNlPUh6KGZ1bmN0aW9uKHgscil7dHJ5e3ZhciBlPWJFMCh4LHIpO3JldHVybiBlfWNhdGNoKHUpe3ZhciB0PVUyKHUpO3JldHVybiB0WzFdPT09eE8/WVkodFsyXSk6WVkobmV3IHdFMChKeChxeChiYjAsQjYodCkpKSkpfX0pLFZOKE8pfSkoZ2xvYmFsVGhpcyl9KTt2YXIgcE89e307SFkocE8se3BhcnNlcnM6KCk9PmxPfSk7dmFyIGxPPXt9O0hZKGxPLHtmbG93OigpPT5vUzB9KTt2YXIgaHo9TUUwKFpZKCksMSk7ZnVuY3Rpb24gcUUwKG8wLHZ4KXtsZXQgJHg9bmV3IFN5bnRheEVycm9yKG8wK1wiIChcIit2eC5sb2Muc3RhcnQubGluZStcIjpcIit2eC5sb2Muc3RhcnQuY29sdW1uK1wiKVwiKTtyZXR1cm4gT2JqZWN0LmFzc2lnbigkeCx2eCl9dmFyIHh6PXFFMDt2YXIgVUUwPShvMCx2eCwkeCk9PntpZighKG8wJiZ2eD09bnVsbCkpcmV0dXJuIEFycmF5LmlzQXJyYXkodngpfHx0eXBlb2Ygdng9PVwic3RyaW5nXCI/dnhbJHg8MD92eC5sZW5ndGgrJHg6JHhdOnZ4LmF0KCR4KX0sY089VUUwO2Z1bmN0aW9uIEJFMChvMCl7cmV0dXJuIEFycmF5LmlzQXJyYXkobzApJiZvMC5sZW5ndGg+MH12YXIgcno9QkUwO2Z1bmN0aW9uIEh0KG8wKXt2YXIgUHIsbHIsSXI7bGV0IHZ4PSgoUHI9bzAucmFuZ2UpPT1udWxsP3ZvaWQgMDpQclswXSk/P28wLnN0YXJ0LCR4PShJcj0oKGxyPW8wLmRlY2xhcmF0aW9uKT09bnVsbD92b2lkIDA6bHIuZGVjb3JhdG9ycyk/P28wLmRlY29yYXRvcnMpPT1udWxsP3ZvaWQgMDpJclswXTtyZXR1cm4gJHg/TWF0aC5taW4oSHQoJHgpLHZ4KTp2eH1mdW5jdGlvbiBMYShvMCl7dmFyIHZ4O3JldHVybigodng9bzAucmFuZ2UpPT1udWxsP3ZvaWQgMDp2eFsxXSk/P28wLmVuZH1mdW5jdGlvbiBYRTAobzApe2xldCB2eD1uZXcgU2V0KG8wKTtyZXR1cm4gJHg9PnZ4LmhhcygkeD09bnVsbD92b2lkIDA6JHgudHlwZSl9dmFyIGV6PVhFMDt2YXIgWUUwPWV6KFtcIkJsb2NrXCIsXCJDb21tZW50QmxvY2tcIixcIk11bHRpTGluZVwiXSksQzQ9WUUwO2Z1bmN0aW9uIHpFMChvMCl7bGV0IHZ4PWAqJHtvMC52YWx1ZX0qYC5zcGxpdChgXG5gKTtyZXR1cm4gdngubGVuZ3RoPjEmJnZ4LmV2ZXJ5KCR4PT4keC50cmltU3RhcnQoKVswXT09PVwiKlwiKX12YXIgc089ekUwO2Z1bmN0aW9uIEtFMChvMCl7cmV0dXJuIEM0KG8wKSYmbzAudmFsdWVbMF09PT1cIipcIiYmL0AoPzp0eXBlfHNhdGlzZmllcylcXGIvdS50ZXN0KG8wLnZhbHVlKX12YXIgdHo9S0UwO3ZhciBPND1udWxsO2Z1bmN0aW9uIEQ0KG8wKXtpZihPNCE9PW51bGwmJnR5cGVvZiBPNC5wcm9wZXJ0eSl7bGV0IHZ4PU80O3JldHVybiBPND1ENC5wcm90b3R5cGU9bnVsbCx2eH1yZXR1cm4gTzQ9RDQucHJvdG90eXBlPW8wPz9PYmplY3QuY3JlYXRlKG51bGwpLG5ldyBENH12YXIgSkUwPTEwO2ZvcihsZXQgbzA9MDtvMDw9SkUwO28wKyspRDQoKTtmdW5jdGlvbiBhTyhvMCl7cmV0dXJuIEQ0KG8wKX1mdW5jdGlvbiBHRTAobzAsdng9XCJ0eXBlXCIpe2FPKG8wKTtmdW5jdGlvbiAkeChQcil7bGV0IGxyPVByW3Z4XSxJcj1vMFtscl07aWYoIUFycmF5LmlzQXJyYXkoSXIpKXRocm93IE9iamVjdC5hc3NpZ24obmV3IEVycm9yKGBNaXNzaW5nIHZpc2l0b3Iga2V5cyBmb3IgJyR7bHJ9Jy5gKSx7bm9kZTpQcn0pO3JldHVybiBJcn1yZXR1cm4gJHh9dmFyIG56PUdFMDt2YXIgdXo9e0FycmF5RXhwcmVzc2lvbjpbXCJlbGVtZW50c1wiXSxBc3NpZ25tZW50RXhwcmVzc2lvbjpbXCJsZWZ0XCIsXCJyaWdodFwiXSxCaW5hcnlFeHByZXNzaW9uOltcImxlZnRcIixcInJpZ2h0XCJdLEludGVycHJldGVyRGlyZWN0aXZlOltdLERpcmVjdGl2ZTpbXCJ2YWx1ZVwiXSxEaXJlY3RpdmVMaXRlcmFsOltdLEJsb2NrU3RhdGVtZW50OltcImRpcmVjdGl2ZXNcIixcImJvZHlcIl0sQnJlYWtTdGF0ZW1lbnQ6W1wibGFiZWxcIl0sQ2FsbEV4cHJlc3Npb246W1wiY2FsbGVlXCIsXCJhcmd1bWVudHNcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJ0eXBlQXJndW1lbnRzXCJdLENhdGNoQ2xhdXNlOltcInBhcmFtXCIsXCJib2R5XCJdLENvbmRpdGlvbmFsRXhwcmVzc2lvbjpbXCJ0ZXN0XCIsXCJjb25zZXF1ZW50XCIsXCJhbHRlcm5hdGVcIl0sQ29udGludWVTdGF0ZW1lbnQ6W1wibGFiZWxcIl0sRGVidWdnZXJTdGF0ZW1lbnQ6W10sRG9XaGlsZVN0YXRlbWVudDpbXCJib2R5XCIsXCJ0ZXN0XCJdLEVtcHR5U3RhdGVtZW50OltdLEV4cHJlc3Npb25TdGF0ZW1lbnQ6W1wiZXhwcmVzc2lvblwiXSxGaWxlOltcInByb2dyYW1cIl0sRm9ySW5TdGF0ZW1lbnQ6W1wibGVmdFwiLFwicmlnaHRcIixcImJvZHlcIl0sRm9yU3RhdGVtZW50OltcImluaXRcIixcInRlc3RcIixcInVwZGF0ZVwiLFwiYm9keVwiXSxGdW5jdGlvbkRlY2xhcmF0aW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCIsXCJwcmVkaWNhdGVcIl0sRnVuY3Rpb25FeHByZXNzaW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCJdLElkZW50aWZpZXI6W1widHlwZUFubm90YXRpb25cIixcImRlY29yYXRvcnNcIl0sSWZTdGF0ZW1lbnQ6W1widGVzdFwiLFwiY29uc2VxdWVudFwiLFwiYWx0ZXJuYXRlXCJdLExhYmVsZWRTdGF0ZW1lbnQ6W1wibGFiZWxcIixcImJvZHlcIl0sU3RyaW5nTGl0ZXJhbDpbXSxOdW1lcmljTGl0ZXJhbDpbXSxOdWxsTGl0ZXJhbDpbXSxCb29sZWFuTGl0ZXJhbDpbXSxSZWdFeHBMaXRlcmFsOltdLExvZ2ljYWxFeHByZXNzaW9uOltcImxlZnRcIixcInJpZ2h0XCJdLE1lbWJlckV4cHJlc3Npb246W1wib2JqZWN0XCIsXCJwcm9wZXJ0eVwiXSxOZXdFeHByZXNzaW9uOltcImNhbGxlZVwiLFwiYXJndW1lbnRzXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxQcm9ncmFtOltcImRpcmVjdGl2ZXNcIixcImJvZHlcIl0sT2JqZWN0RXhwcmVzc2lvbjpbXCJwcm9wZXJ0aWVzXCJdLE9iamVjdE1ldGhvZDpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcImJvZHlcIl0sT2JqZWN0UHJvcGVydHk6W1wia2V5XCIsXCJ2YWx1ZVwiLFwiZGVjb3JhdG9yc1wiXSxSZXN0RWxlbWVudDpbXCJhcmd1bWVudFwiLFwidHlwZUFubm90YXRpb25cIixcImRlY29yYXRvcnNcIl0sUmV0dXJuU3RhdGVtZW50OltcImFyZ3VtZW50XCJdLFNlcXVlbmNlRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uc1wiXSxQYXJlbnRoZXNpemVkRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCJdLFN3aXRjaENhc2U6W1widGVzdFwiLFwiY29uc2VxdWVudFwiXSxTd2l0Y2hTdGF0ZW1lbnQ6W1wiZGlzY3JpbWluYW50XCIsXCJjYXNlc1wiXSxUaGlzRXhwcmVzc2lvbjpbXSxUaHJvd1N0YXRlbWVudDpbXCJhcmd1bWVudFwiXSxUcnlTdGF0ZW1lbnQ6W1wiYmxvY2tcIixcImhhbmRsZXJcIixcImZpbmFsaXplclwiXSxVbmFyeUV4cHJlc3Npb246W1wiYXJndW1lbnRcIl0sVXBkYXRlRXhwcmVzc2lvbjpbXCJhcmd1bWVudFwiXSxWYXJpYWJsZURlY2xhcmF0aW9uOltcImRlY2xhcmF0aW9uc1wiXSxWYXJpYWJsZURlY2xhcmF0b3I6W1wiaWRcIixcImluaXRcIl0sV2hpbGVTdGF0ZW1lbnQ6W1widGVzdFwiLFwiYm9keVwiXSxXaXRoU3RhdGVtZW50OltcIm9iamVjdFwiLFwiYm9keVwiXSxBc3NpZ25tZW50UGF0dGVybjpbXCJsZWZ0XCIsXCJyaWdodFwiLFwiZGVjb3JhdG9yc1wiLFwidHlwZUFubm90YXRpb25cIl0sQXJyYXlQYXR0ZXJuOltcImVsZW1lbnRzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwiZGVjb3JhdG9yc1wiXSxBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbjpbXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCIsXCJwcmVkaWNhdGVcIl0sQ2xhc3NCb2R5OltcImJvZHlcIl0sQ2xhc3NFeHByZXNzaW9uOltcImRlY29yYXRvcnNcIixcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwic3VwZXJDbGFzc1wiLFwic3VwZXJUeXBlUGFyYW1ldGVyc1wiLFwibWl4aW5zXCIsXCJpbXBsZW1lbnRzXCIsXCJib2R5XCIsXCJzdXBlclR5cGVBcmd1bWVudHNcIl0sQ2xhc3NEZWNsYXJhdGlvbjpbXCJkZWNvcmF0b3JzXCIsXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInN1cGVyQ2xhc3NcIixcInN1cGVyVHlwZVBhcmFtZXRlcnNcIixcIm1peGluc1wiLFwiaW1wbGVtZW50c1wiLFwiYm9keVwiLFwic3VwZXJUeXBlQXJndW1lbnRzXCJdLEV4cG9ydEFsbERlY2xhcmF0aW9uOltcInNvdXJjZVwiLFwiYXR0cmlidXRlc1wiLFwiZXhwb3J0ZWRcIl0sRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uOltcImRlY2xhcmF0aW9uXCJdLEV4cG9ydE5hbWVkRGVjbGFyYXRpb246W1wiZGVjbGFyYXRpb25cIixcInNwZWNpZmllcnNcIixcInNvdXJjZVwiLFwiYXR0cmlidXRlc1wiXSxFeHBvcnRTcGVjaWZpZXI6W1wibG9jYWxcIixcImV4cG9ydGVkXCJdLEZvck9mU3RhdGVtZW50OltcImxlZnRcIixcInJpZ2h0XCIsXCJib2R5XCJdLEltcG9ydERlY2xhcmF0aW9uOltcInNwZWNpZmllcnNcIixcInNvdXJjZVwiLFwiYXR0cmlidXRlc1wiXSxJbXBvcnREZWZhdWx0U3BlY2lmaWVyOltcImxvY2FsXCJdLEltcG9ydE5hbWVzcGFjZVNwZWNpZmllcjpbXCJsb2NhbFwiXSxJbXBvcnRTcGVjaWZpZXI6W1wiaW1wb3J0ZWRcIixcImxvY2FsXCJdLEltcG9ydEV4cHJlc3Npb246W1wic291cmNlXCIsXCJvcHRpb25zXCJdLE1ldGFQcm9wZXJ0eTpbXCJtZXRhXCIsXCJwcm9wZXJ0eVwiXSxDbGFzc01ldGhvZDpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcImJvZHlcIl0sT2JqZWN0UGF0dGVybjpbXCJwcm9wZXJ0aWVzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwiZGVjb3JhdG9yc1wiXSxTcHJlYWRFbGVtZW50OltcImFyZ3VtZW50XCJdLFN1cGVyOltdLFRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvbjpbXCJ0YWdcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJxdWFzaVwiLFwidHlwZUFyZ3VtZW50c1wiXSxUZW1wbGF0ZUVsZW1lbnQ6W10sVGVtcGxhdGVMaXRlcmFsOltcInF1YXNpc1wiLFwiZXhwcmVzc2lvbnNcIl0sWWllbGRFeHByZXNzaW9uOltcImFyZ3VtZW50XCJdLEF3YWl0RXhwcmVzc2lvbjpbXCJhcmd1bWVudFwiXSxCaWdJbnRMaXRlcmFsOltdLEV4cG9ydE5hbWVzcGFjZVNwZWNpZmllcjpbXCJleHBvcnRlZFwiXSxPcHRpb25hbE1lbWJlckV4cHJlc3Npb246W1wib2JqZWN0XCIsXCJwcm9wZXJ0eVwiXSxPcHRpb25hbENhbGxFeHByZXNzaW9uOltcImNhbGxlZVwiLFwiYXJndW1lbnRzXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxDbGFzc1Byb3BlcnR5OltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIixcInZhbHVlXCIsXCJ2YXJpYW5jZVwiXSxDbGFzc0FjY2Vzc29yUHJvcGVydHk6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwidmFsdWVcIl0sQ2xhc3NQcml2YXRlUHJvcGVydHk6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwidmFsdWVcIixcInZhcmlhbmNlXCJdLENsYXNzUHJpdmF0ZU1ldGhvZDpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcImJvZHlcIl0sUHJpdmF0ZU5hbWU6W1wiaWRcIl0sU3RhdGljQmxvY2s6W1wiYm9keVwiXSxBbnlUeXBlQW5ub3RhdGlvbjpbXSxBcnJheVR5cGVBbm5vdGF0aW9uOltcImVsZW1lbnRUeXBlXCJdLEJvb2xlYW5UeXBlQW5ub3RhdGlvbjpbXSxCb29sZWFuTGl0ZXJhbFR5cGVBbm5vdGF0aW9uOltdLE51bGxMaXRlcmFsVHlwZUFubm90YXRpb246W10sQ2xhc3NJbXBsZW1lbnRzOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiXSxEZWNsYXJlQ2xhc3M6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJleHRlbmRzXCIsXCJtaXhpbnNcIixcImltcGxlbWVudHNcIixcImJvZHlcIl0sRGVjbGFyZUZ1bmN0aW9uOltcImlkXCIsXCJwcmVkaWNhdGVcIl0sRGVjbGFyZUludGVyZmFjZTpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcImV4dGVuZHNcIixcImJvZHlcIl0sRGVjbGFyZU1vZHVsZTpbXCJpZFwiLFwiYm9keVwiXSxEZWNsYXJlTW9kdWxlRXhwb3J0czpbXCJ0eXBlQW5ub3RhdGlvblwiXSxEZWNsYXJlVHlwZUFsaWFzOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicmlnaHRcIl0sRGVjbGFyZU9wYXF1ZVR5cGU6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJzdXBlcnR5cGVcIl0sRGVjbGFyZVZhcmlhYmxlOltcImlkXCJdLERlY2xhcmVFeHBvcnREZWNsYXJhdGlvbjpbXCJkZWNsYXJhdGlvblwiLFwic3BlY2lmaWVyc1wiLFwic291cmNlXCIsXCJhdHRyaWJ1dGVzXCJdLERlY2xhcmVFeHBvcnRBbGxEZWNsYXJhdGlvbjpbXCJzb3VyY2VcIixcImF0dHJpYnV0ZXNcIl0sRGVjbGFyZWRQcmVkaWNhdGU6W1widmFsdWVcIl0sRXhpc3RzVHlwZUFubm90YXRpb246W10sRnVuY3Rpb25UeXBlQW5ub3RhdGlvbjpbXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXN0XCIsXCJyZXR1cm5UeXBlXCIsXCJ0aGlzXCJdLEZ1bmN0aW9uVHlwZVBhcmFtOltcIm5hbWVcIixcInR5cGVBbm5vdGF0aW9uXCJdLEdlbmVyaWNUeXBlQW5ub3RhdGlvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIl0sSW5mZXJyZWRQcmVkaWNhdGU6W10sSW50ZXJmYWNlRXh0ZW5kczpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIl0sSW50ZXJmYWNlRGVjbGFyYXRpb246W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJleHRlbmRzXCIsXCJib2R5XCJdLEludGVyZmFjZVR5cGVBbm5vdGF0aW9uOltcImV4dGVuZHNcIixcImJvZHlcIl0sSW50ZXJzZWN0aW9uVHlwZUFubm90YXRpb246W1widHlwZXNcIl0sTWl4ZWRUeXBlQW5ub3RhdGlvbjpbXSxFbXB0eVR5cGVBbm5vdGF0aW9uOltdLE51bGxhYmxlVHlwZUFubm90YXRpb246W1widHlwZUFubm90YXRpb25cIl0sTnVtYmVyTGl0ZXJhbFR5cGVBbm5vdGF0aW9uOltdLE51bWJlclR5cGVBbm5vdGF0aW9uOltdLE9iamVjdFR5cGVBbm5vdGF0aW9uOltcInByb3BlcnRpZXNcIixcImluZGV4ZXJzXCIsXCJjYWxsUHJvcGVydGllc1wiLFwiaW50ZXJuYWxTbG90c1wiXSxPYmplY3RUeXBlSW50ZXJuYWxTbG90OltcImlkXCIsXCJ2YWx1ZVwiXSxPYmplY3RUeXBlQ2FsbFByb3BlcnR5OltcInZhbHVlXCJdLE9iamVjdFR5cGVJbmRleGVyOltcInZhcmlhbmNlXCIsXCJpZFwiLFwia2V5XCIsXCJ2YWx1ZVwiXSxPYmplY3RUeXBlUHJvcGVydHk6W1wia2V5XCIsXCJ2YWx1ZVwiLFwidmFyaWFuY2VcIl0sT2JqZWN0VHlwZVNwcmVhZFByb3BlcnR5OltcImFyZ3VtZW50XCJdLE9wYXF1ZVR5cGU6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJzdXBlcnR5cGVcIixcImltcGx0eXBlXCJdLFF1YWxpZmllZFR5cGVJZGVudGlmaWVyOltcInF1YWxpZmljYXRpb25cIixcImlkXCJdLFN0cmluZ0xpdGVyYWxUeXBlQW5ub3RhdGlvbjpbXSxTdHJpbmdUeXBlQW5ub3RhdGlvbjpbXSxTeW1ib2xUeXBlQW5ub3RhdGlvbjpbXSxUaGlzVHlwZUFubm90YXRpb246W10sVHVwbGVUeXBlQW5ub3RhdGlvbjpbXCJ0eXBlc1wiLFwiZWxlbWVudFR5cGVzXCJdLFR5cGVvZlR5cGVBbm5vdGF0aW9uOltcImFyZ3VtZW50XCIsXCJ0eXBlQXJndW1lbnRzXCJdLFR5cGVBbGlhczpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInJpZ2h0XCJdLFR5cGVBbm5vdGF0aW9uOltcInR5cGVBbm5vdGF0aW9uXCJdLFR5cGVDYXN0RXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUeXBlUGFyYW1ldGVyOltcImJvdW5kXCIsXCJkZWZhdWx0XCIsXCJ2YXJpYW5jZVwiXSxUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb246W1wicGFyYW1zXCJdLFR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uOltcInBhcmFtc1wiXSxVbmlvblR5cGVBbm5vdGF0aW9uOltcInR5cGVzXCJdLFZhcmlhbmNlOltdLFZvaWRUeXBlQW5ub3RhdGlvbjpbXSxFbnVtRGVjbGFyYXRpb246W1wiaWRcIixcImJvZHlcIl0sRW51bUJvb2xlYW5Cb2R5OltcIm1lbWJlcnNcIl0sRW51bU51bWJlckJvZHk6W1wibWVtYmVyc1wiXSxFbnVtU3RyaW5nQm9keTpbXCJtZW1iZXJzXCJdLEVudW1TeW1ib2xCb2R5OltcIm1lbWJlcnNcIl0sRW51bUJvb2xlYW5NZW1iZXI6W1wiaWRcIixcImluaXRcIl0sRW51bU51bWJlck1lbWJlcjpbXCJpZFwiLFwiaW5pdFwiXSxFbnVtU3RyaW5nTWVtYmVyOltcImlkXCIsXCJpbml0XCJdLEVudW1EZWZhdWx0ZWRNZW1iZXI6W1wiaWRcIl0sSW5kZXhlZEFjY2Vzc1R5cGU6W1wib2JqZWN0VHlwZVwiLFwiaW5kZXhUeXBlXCJdLE9wdGlvbmFsSW5kZXhlZEFjY2Vzc1R5cGU6W1wib2JqZWN0VHlwZVwiLFwiaW5kZXhUeXBlXCJdLEpTWEF0dHJpYnV0ZTpbXCJuYW1lXCIsXCJ2YWx1ZVwiXSxKU1hDbG9zaW5nRWxlbWVudDpbXCJuYW1lXCJdLEpTWEVsZW1lbnQ6W1wib3BlbmluZ0VsZW1lbnRcIixcImNoaWxkcmVuXCIsXCJjbG9zaW5nRWxlbWVudFwiXSxKU1hFbXB0eUV4cHJlc3Npb246W10sSlNYRXhwcmVzc2lvbkNvbnRhaW5lcjpbXCJleHByZXNzaW9uXCJdLEpTWFNwcmVhZENoaWxkOltcImV4cHJlc3Npb25cIl0sSlNYSWRlbnRpZmllcjpbXSxKU1hNZW1iZXJFeHByZXNzaW9uOltcIm9iamVjdFwiLFwicHJvcGVydHlcIl0sSlNYTmFtZXNwYWNlZE5hbWU6W1wibmFtZXNwYWNlXCIsXCJuYW1lXCJdLEpTWE9wZW5pbmdFbGVtZW50OltcIm5hbWVcIixcImF0dHJpYnV0ZXNcIixcInR5cGVBcmd1bWVudHNcIixcInR5cGVQYXJhbWV0ZXJzXCJdLEpTWFNwcmVhZEF0dHJpYnV0ZTpbXCJhcmd1bWVudFwiXSxKU1hUZXh0OltdLEpTWEZyYWdtZW50OltcIm9wZW5pbmdGcmFnbWVudFwiLFwiY2hpbGRyZW5cIixcImNsb3NpbmdGcmFnbWVudFwiXSxKU1hPcGVuaW5nRnJhZ21lbnQ6W10sSlNYQ2xvc2luZ0ZyYWdtZW50OltdLE5vb3A6W10sUGxhY2Vob2xkZXI6W10sVjhJbnRyaW5zaWNJZGVudGlmaWVyOltdLEFyZ3VtZW50UGxhY2Vob2xkZXI6W10sQmluZEV4cHJlc3Npb246W1wib2JqZWN0XCIsXCJjYWxsZWVcIl0sSW1wb3J0QXR0cmlidXRlOltcImtleVwiLFwidmFsdWVcIl0sRGVjb3JhdG9yOltcImV4cHJlc3Npb25cIl0sRG9FeHByZXNzaW9uOltcImJvZHlcIl0sRXhwb3J0RGVmYXVsdFNwZWNpZmllcjpbXCJleHBvcnRlZFwiXSxSZWNvcmRFeHByZXNzaW9uOltcInByb3BlcnRpZXNcIl0sVHVwbGVFeHByZXNzaW9uOltcImVsZW1lbnRzXCJdLE1vZHVsZUV4cHJlc3Npb246W1wiYm9keVwiXSxUb3BpY1JlZmVyZW5jZTpbXSxQaXBlbGluZVRvcGljRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCJdLFBpcGVsaW5lQmFyZUZ1bmN0aW9uOltcImNhbGxlZVwiXSxQaXBlbGluZVByaW1hcnlUb3BpY1JlZmVyZW5jZTpbXSxUU1BhcmFtZXRlclByb3BlcnR5OltcInBhcmFtZXRlclwiLFwiZGVjb3JhdG9yc1wiXSxUU0RlY2xhcmVGdW5jdGlvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiLFwiYm9keVwiXSxUU0RlY2xhcmVNZXRob2Q6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCJdLFRTUXVhbGlmaWVkTmFtZTpbXCJsZWZ0XCIsXCJyaWdodFwiXSxUU0NhbGxTaWduYXR1cmVEZWNsYXJhdGlvbjpbXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1ldGVyc1wiLFwidHlwZUFubm90YXRpb25cIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiXSxUU0NvbnN0cnVjdFNpZ25hdHVyZURlY2xhcmF0aW9uOltcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbWV0ZXJzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCJdLFRTUHJvcGVydHlTaWduYXR1cmU6W1wia2V5XCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUU01ldGhvZFNpZ25hdHVyZTpbXCJrZXlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbWV0ZXJzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCJdLFRTSW5kZXhTaWduYXR1cmU6W1wicGFyYW1ldGVyc1wiLFwidHlwZUFubm90YXRpb25cIl0sVFNBbnlLZXl3b3JkOltdLFRTQm9vbGVhbktleXdvcmQ6W10sVFNCaWdJbnRLZXl3b3JkOltdLFRTSW50cmluc2ljS2V5d29yZDpbXSxUU05ldmVyS2V5d29yZDpbXSxUU051bGxLZXl3b3JkOltdLFRTTnVtYmVyS2V5d29yZDpbXSxUU09iamVjdEtleXdvcmQ6W10sVFNTdHJpbmdLZXl3b3JkOltdLFRTU3ltYm9sS2V5d29yZDpbXSxUU1VuZGVmaW5lZEtleXdvcmQ6W10sVFNVbmtub3duS2V5d29yZDpbXSxUU1ZvaWRLZXl3b3JkOltdLFRTVGhpc1R5cGU6W10sVFNGdW5jdGlvblR5cGU6W1widHlwZVBhcmFtZXRlcnNcIixcInBhcmFtZXRlcnNcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIl0sVFNDb25zdHJ1Y3RvclR5cGU6W1widHlwZVBhcmFtZXRlcnNcIixcInBhcmFtZXRlcnNcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIl0sVFNUeXBlUmVmZXJlbmNlOltcInR5cGVOYW1lXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxUU1R5cGVQcmVkaWNhdGU6W1wicGFyYW1ldGVyTmFtZVwiLFwidHlwZUFubm90YXRpb25cIl0sVFNUeXBlUXVlcnk6W1wiZXhwck5hbWVcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJ0eXBlQXJndW1lbnRzXCJdLFRTVHlwZUxpdGVyYWw6W1wibWVtYmVyc1wiXSxUU0FycmF5VHlwZTpbXCJlbGVtZW50VHlwZVwiXSxUU1R1cGxlVHlwZTpbXCJlbGVtZW50VHlwZXNcIl0sVFNPcHRpb25hbFR5cGU6W1widHlwZUFubm90YXRpb25cIl0sVFNSZXN0VHlwZTpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUU05hbWVkVHVwbGVNZW1iZXI6W1wibGFiZWxcIixcImVsZW1lbnRUeXBlXCJdLFRTVW5pb25UeXBlOltcInR5cGVzXCJdLFRTSW50ZXJzZWN0aW9uVHlwZTpbXCJ0eXBlc1wiXSxUU0NvbmRpdGlvbmFsVHlwZTpbXCJjaGVja1R5cGVcIixcImV4dGVuZHNUeXBlXCIsXCJ0cnVlVHlwZVwiLFwiZmFsc2VUeXBlXCJdLFRTSW5mZXJUeXBlOltcInR5cGVQYXJhbWV0ZXJcIl0sVFNQYXJlbnRoZXNpemVkVHlwZTpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUU1R5cGVPcGVyYXRvcjpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUU0luZGV4ZWRBY2Nlc3NUeXBlOltcIm9iamVjdFR5cGVcIixcImluZGV4VHlwZVwiXSxUU01hcHBlZFR5cGU6W1widHlwZVBhcmFtZXRlclwiLFwibmFtZVR5cGVcIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTTGl0ZXJhbFR5cGU6W1wibGl0ZXJhbFwiXSxUU0V4cHJlc3Npb25XaXRoVHlwZUFyZ3VtZW50czpbXCJleHByZXNzaW9uXCIsXCJ0eXBlUGFyYW1ldGVyc1wiXSxUU0ludGVyZmFjZURlY2xhcmF0aW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwiZXh0ZW5kc1wiLFwiYm9keVwiXSxUU0ludGVyZmFjZUJvZHk6W1wiYm9keVwiXSxUU1R5cGVBbGlhc0RlY2xhcmF0aW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFubm90YXRpb25cIl0sVFNJbnN0YW50aWF0aW9uRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxUU0FzRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUU1NhdGlzZmllc0V4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwidHlwZUFubm90YXRpb25cIl0sVFNUeXBlQXNzZXJ0aW9uOltcInR5cGVBbm5vdGF0aW9uXCIsXCJleHByZXNzaW9uXCJdLFRTRW51bURlY2xhcmF0aW9uOltcImlkXCIsXCJtZW1iZXJzXCJdLFRTRW51bU1lbWJlcjpbXCJpZFwiLFwiaW5pdGlhbGl6ZXJcIl0sVFNNb2R1bGVEZWNsYXJhdGlvbjpbXCJpZFwiLFwiYm9keVwiXSxUU01vZHVsZUJsb2NrOltcImJvZHlcIl0sVFNJbXBvcnRUeXBlOltcImFyZ3VtZW50XCIsXCJxdWFsaWZpZXJcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJ0eXBlQXJndW1lbnRzXCJdLFRTSW1wb3J0RXF1YWxzRGVjbGFyYXRpb246W1wiaWRcIixcIm1vZHVsZVJlZmVyZW5jZVwiXSxUU0V4dGVybmFsTW9kdWxlUmVmZXJlbmNlOltcImV4cHJlc3Npb25cIl0sVFNOb25OdWxsRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCJdLFRTRXhwb3J0QXNzaWdubWVudDpbXCJleHByZXNzaW9uXCJdLFRTTmFtZXNwYWNlRXhwb3J0RGVjbGFyYXRpb246W1wiaWRcIl0sVFNUeXBlQW5ub3RhdGlvbjpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUU1R5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uOltcInBhcmFtc1wiXSxUU1R5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvbjpbXCJwYXJhbXNcIl0sVFNUeXBlUGFyYW1ldGVyOltcImNvbnN0cmFpbnRcIixcImRlZmF1bHRcIixcIm5hbWVcIl0sQ2hhaW5FeHByZXNzaW9uOltcImV4cHJlc3Npb25cIl0sRXhwZXJpbWVudGFsUmVzdFByb3BlcnR5OltcImFyZ3VtZW50XCJdLEV4cGVyaW1lbnRhbFNwcmVhZFByb3BlcnR5OltcImFyZ3VtZW50XCJdLExpdGVyYWw6W10sTWV0aG9kRGVmaW5pdGlvbjpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInZhbHVlXCJdLFByaXZhdGVJZGVudGlmaWVyOltdLFByb3BlcnR5OltcImtleVwiLFwidmFsdWVcIl0sUHJvcGVydHlEZWZpbml0aW9uOltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIixcInZhbHVlXCIsXCJ2YXJpYW5jZVwiXSxBY2Nlc3NvclByb3BlcnR5OltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIixcInZhbHVlXCJdLFRTQWJzdHJhY3RBY2Nlc3NvclByb3BlcnR5OltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIl0sVFNBYnN0cmFjdEtleXdvcmQ6W10sVFNBYnN0cmFjdE1ldGhvZERlZmluaXRpb246W1wia2V5XCIsXCJ2YWx1ZVwiXSxUU0Fic3RyYWN0UHJvcGVydHlEZWZpbml0aW9uOltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIl0sVFNBc3luY0tleXdvcmQ6W10sVFNDbGFzc0ltcGxlbWVudHM6W1wiZXhwcmVzc2lvblwiLFwidHlwZUFyZ3VtZW50c1wiLFwidHlwZVBhcmFtZXRlcnNcIl0sVFNEZWNsYXJlS2V5d29yZDpbXSxUU0VtcHR5Qm9keUZ1bmN0aW9uRXhwcmVzc2lvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiXSxUU0VudW1Cb2R5OltcIm1lbWJlcnNcIl0sVFNFeHBvcnRLZXl3b3JkOltdLFRTSW50ZXJmYWNlSGVyaXRhZ2U6W1wiZXhwcmVzc2lvblwiLFwidHlwZUFyZ3VtZW50c1wiLFwidHlwZVBhcmFtZXRlcnNcIl0sVFNQcml2YXRlS2V5d29yZDpbXSxUU1Byb3RlY3RlZEtleXdvcmQ6W10sVFNQdWJsaWNLZXl3b3JkOltdLFRTUmVhZG9ubHlLZXl3b3JkOltdLFRTU3RhdGljS2V5d29yZDpbXSxUU1RlbXBsYXRlTGl0ZXJhbFR5cGU6W1wicXVhc2lzXCIsXCJ0eXBlc1wiXSxBc0NvbnN0RXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCJdLEFzRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxCaWdJbnRMaXRlcmFsVHlwZUFubm90YXRpb246W10sQmlnSW50VHlwZUFubm90YXRpb246W10sQ29tcG9uZW50RGVjbGFyYXRpb246W1wiaWRcIixcInBhcmFtc1wiLFwiYm9keVwiLFwidHlwZVBhcmFtZXRlcnNcIixcInJlbmRlcnNUeXBlXCJdLENvbXBvbmVudFBhcmFtZXRlcjpbXCJuYW1lXCIsXCJsb2NhbFwiXSxDb21wb25lbnRUeXBlQW5ub3RhdGlvbjpbXCJwYXJhbXNcIixcInJlc3RcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJyZW5kZXJzVHlwZVwiXSxDb21wb25lbnRUeXBlUGFyYW1ldGVyOltcIm5hbWVcIixcInR5cGVBbm5vdGF0aW9uXCJdLENvbmRpdGlvbmFsVHlwZUFubm90YXRpb246W1wiY2hlY2tUeXBlXCIsXCJleHRlbmRzVHlwZVwiLFwidHJ1ZVR5cGVcIixcImZhbHNlVHlwZVwiXSxEZWNsYXJlQ29tcG9uZW50OltcImlkXCIsXCJwYXJhbXNcIixcInJlc3RcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJyZW5kZXJzVHlwZVwiXSxEZWNsYXJlRW51bTpbXCJpZFwiLFwiYm9keVwiXSxEZWNsYXJlSG9vazpbXCJpZFwiXSxEZWNsYXJlTmFtZXNwYWNlOltcImlkXCIsXCJib2R5XCJdLEVudW1CaWdJbnRCb2R5OltcIm1lbWJlcnNcIl0sRW51bUJpZ0ludE1lbWJlcjpbXCJpZFwiLFwiaW5pdFwiXSxIb29rRGVjbGFyYXRpb246W1wiaWRcIixcInBhcmFtc1wiLFwiYm9keVwiLFwidHlwZVBhcmFtZXRlcnNcIixcInJldHVyblR5cGVcIl0sSG9va1R5cGVBbm5vdGF0aW9uOltcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiLFwicmVzdFwiLFwidHlwZVBhcmFtZXRlcnNcIl0sSW5mZXJUeXBlQW5ub3RhdGlvbjpbXCJ0eXBlUGFyYW1ldGVyXCJdLEtleW9mVHlwZUFubm90YXRpb246W1wiYXJndW1lbnRcIl0sT2JqZWN0VHlwZU1hcHBlZFR5cGVQcm9wZXJ0eTpbXCJrZXlUcGFyYW1cIixcInByb3BUeXBlXCIsXCJzb3VyY2VUeXBlXCIsXCJ2YXJpYW5jZVwiXSxRdWFsaWZpZWRUeXBlb2ZJZGVudGlmaWVyOltcInF1YWxpZmljYXRpb25cIixcImlkXCJdLFR1cGxlVHlwZUxhYmVsZWRFbGVtZW50OltcImxhYmVsXCIsXCJlbGVtZW50VHlwZVwiLFwidmFyaWFuY2VcIl0sVHVwbGVUeXBlU3ByZWFkRWxlbWVudDpbXCJsYWJlbFwiLFwidHlwZUFubm90YXRpb25cIl0sVHlwZU9wZXJhdG9yOltcInR5cGVBbm5vdGF0aW9uXCJdLFR5cGVQcmVkaWNhdGU6W1wicGFyYW1ldGVyTmFtZVwiLFwidHlwZUFubm90YXRpb25cIixcImFzc2VydHNcIl0sTkdSb290OltcIm5vZGVcIl0sTkdQaXBlRXhwcmVzc2lvbjpbXCJsZWZ0XCIsXCJyaWdodFwiLFwiYXJndW1lbnRzXCJdLE5HQ2hhaW5lZEV4cHJlc3Npb246W1wiZXhwcmVzc2lvbnNcIl0sTkdFbXB0eUV4cHJlc3Npb246W10sTkdNaWNyb3N5bnRheDpbXCJib2R5XCJdLE5HTWljcm9zeW50YXhLZXk6W10sTkdNaWNyb3N5bnRheEV4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwiYWxpYXNcIl0sTkdNaWNyb3N5bnRheEtleWVkRXhwcmVzc2lvbjpbXCJrZXlcIixcImV4cHJlc3Npb25cIl0sTkdNaWNyb3N5bnRheExldDpbXCJrZXlcIixcInZhbHVlXCJdLE5HTWljcm9zeW50YXhBczpbXCJrZXlcIixcImFsaWFzXCJdLEpzRXhwcmVzc2lvblJvb3Q6W1wibm9kZVwiXSxKc29uUm9vdDpbXCJub2RlXCJdLFRTSlNEb2NBbGxUeXBlOltdLFRTSlNEb2NVbmtub3duVHlwZTpbXSxUU0pTRG9jTnVsbGFibGVUeXBlOltcInR5cGVBbm5vdGF0aW9uXCJdLFRTSlNEb2NOb25OdWxsYWJsZVR5cGU6W1widHlwZUFubm90YXRpb25cIl0sTmV2ZXJUeXBlQW5ub3RhdGlvbjpbXSxVbmRlZmluZWRUeXBlQW5ub3RhdGlvbjpbXSxVbmtub3duVHlwZUFubm90YXRpb246W10sU2F0aXNmaWVzRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlQW5ub3RhdGlvblwiXX07dmFyIFdFMD1ueih1eiksaXo9V0UwO2Z1bmN0aW9uIG9PKG8wLHZ4KXtpZighKG8wIT09bnVsbCYmdHlwZW9mIG8wPT1cIm9iamVjdFwiKSlyZXR1cm4gbzA7aWYoQXJyYXkuaXNBcnJheShvMCkpe2ZvcihsZXQgUHI9MDtQcjxvMC5sZW5ndGg7UHIrKylvMFtQcl09b08obzBbUHJdLHZ4KTtyZXR1cm4gbzB9bGV0ICR4PWl6KG8wKTtmb3IobGV0IFByPTA7UHI8JHgubGVuZ3RoO1ByKyspbzBbJHhbUHJdXT1vTyhvMFskeFtQcl1dLHZ4KTtyZXR1cm4gdngobzApfHxvMH12YXIgdGQ9b087ZnVuY3Rpb24gVkUwKG8wLHZ4KXtsZXR7cGFyc2VyOiR4LHRleHQ6UHJ9PXZ4O2lmKG8wLnR5cGU9PT1cIkZpbGVcIiYmbzAucHJvZ3JhbS5pbnRlcnByZXRlcil7bGV0e3Byb2dyYW06e2ludGVycHJldGVyOmxyfSxjb21tZW50czpJcn09bzA7ZGVsZXRlIG8wLnByb2dyYW0uaW50ZXJwcmV0ZXIsSXIudW5zaGlmdChscil9aWYoJHg9PT1cImJhYmVsXCIpe2xldCBscj1uZXcgU2V0O28wPXRkKG8wLElyPT57dmFyIEwyOyhMMj1Jci5sZWFkaW5nQ29tbWVudHMpIT1udWxsJiZMMi5zb21lKHR6KSYmbHIuYWRkKEh0KElyKSl9KSxvMD10ZChvMCxJcj0+e2lmKElyLnR5cGU9PT1cIlBhcmVudGhlc2l6ZWRFeHByZXNzaW9uXCIpe2xldHtleHByZXNzaW9uOkwyfT1JcjtpZihMMi50eXBlPT09XCJUeXBlQ2FzdEV4cHJlc3Npb25cIilyZXR1cm4gTDIucmFuZ2U9Wy4uLklyLnJhbmdlXSxMMjtsZXQgbmU9SHQoSXIpO2lmKCFsci5oYXMobmUpKXJldHVybiBMMi5leHRyYT17Li4uTDIuZXh0cmEscGFyZW50aGVzaXplZDohMH0sTDJ9fSl9aWYobzA9dGQobzAsbHI9Pntzd2l0Y2gobHIudHlwZSl7Y2FzZVwiTG9naWNhbEV4cHJlc3Npb25cIjppZihmeihscikpcmV0dXJuIHZPKGxyKTticmVhaztjYXNlXCJWYXJpYWJsZURlY2xhcmF0aW9uXCI6e2xldCBJcj1jTyghMSxsci5kZWNsYXJhdGlvbnMsLTEpO0lyIT1udWxsJiZJci5pbml0JiZQcltMYShJcildIT09XCI7XCImJihsci5yYW5nZT1bSHQobHIpLExhKElyKV0pO2JyZWFrfWNhc2VcIlRTUGFyZW50aGVzaXplZFR5cGVcIjpyZXR1cm4gbHIudHlwZUFubm90YXRpb247Y2FzZVwiVFNUeXBlUGFyYW1ldGVyXCI6aWYodHlwZW9mIGxyLm5hbWU9PVwic3RyaW5nXCIpe2xldCBJcj1IdChscik7bHIubmFtZT17dHlwZTpcIklkZW50aWZpZXJcIixuYW1lOmxyLm5hbWUscmFuZ2U6W0lyLElyK2xyLm5hbWUubGVuZ3RoXX19YnJlYWs7Y2FzZVwiVG9waWNSZWZlcmVuY2VcIjpvMC5leHRyYT17Li4ubzAuZXh0cmEsX19pc1VzaW5nSGFja1BpcGVsaW5lOiEwfTticmVhaztjYXNlXCJUU1VuaW9uVHlwZVwiOmNhc2VcIlRTSW50ZXJzZWN0aW9uVHlwZVwiOmlmKGxyLnR5cGVzLmxlbmd0aD09PTEpcmV0dXJuIGxyLnR5cGVzWzBdO2JyZWFrfX0pLHJ6KG8wLmNvbW1lbnRzKSl7bGV0IGxyPWNPKCExLG8wLmNvbW1lbnRzLC0xKTtmb3IobGV0IElyPW8wLmNvbW1lbnRzLmxlbmd0aC0yO0lyPj0wO0lyLS0pe2xldCBMMj1vMC5jb21tZW50c1tJcl07TGEoTDIpPT09SHQobHIpJiZDNChMMikmJkM0KGxyKSYmc08oTDIpJiZzTyhscikmJihvMC5jb21tZW50cy5zcGxpY2UoSXIrMSwxKSxMMi52YWx1ZSs9XCIqLy8qXCIrbHIudmFsdWUsTDIucmFuZ2U9W0h0KEwyKSxMYShscildKSxscj1MMn19cmV0dXJuIG8wLnR5cGU9PT1cIlByb2dyYW1cIiYmKG8wLnJhbmdlPVswLFByLmxlbmd0aF0pLG8wfWZ1bmN0aW9uIGZ6KG8wKXtyZXR1cm4gbzAudHlwZT09PVwiTG9naWNhbEV4cHJlc3Npb25cIiYmbzAucmlnaHQudHlwZT09PVwiTG9naWNhbEV4cHJlc3Npb25cIiYmbzAub3BlcmF0b3I9PT1vMC5yaWdodC5vcGVyYXRvcn1mdW5jdGlvbiB2TyhvMCl7cmV0dXJuIGZ6KG8wKT92Tyh7dHlwZTpcIkxvZ2ljYWxFeHByZXNzaW9uXCIsb3BlcmF0b3I6bzAub3BlcmF0b3IsbGVmdDp2Tyh7dHlwZTpcIkxvZ2ljYWxFeHByZXNzaW9uXCIsb3BlcmF0b3I6bzAub3BlcmF0b3IsbGVmdDpvMC5sZWZ0LHJpZ2h0Om8wLnJpZ2h0LmxlZnQscmFuZ2U6W0h0KG8wLmxlZnQpLExhKG8wLnJpZ2h0LmxlZnQpXX0pLHJpZ2h0Om8wLnJpZ2h0LnJpZ2h0LHJhbmdlOltIdChvMCksTGEobzApXX0pOm8wfXZhciBjej1WRTA7dmFyICRFMD0obzAsdngsJHgsUHIpPT57aWYoIShvMCYmdng9PW51bGwpKXJldHVybiB2eC5yZXBsYWNlQWxsP3Z4LnJlcGxhY2VBbGwoJHgsUHIpOiR4Lmdsb2JhbD92eC5yZXBsYWNlKCR4LFByKTp2eC5zcGxpdCgkeCkuam9pbihQcil9LERsPSRFMDt2YXIgUUUwPS9cXCpcXC8kLyxIRTA9L15cXC9cXCpcXCo/LyxaRTA9L15cXHMqKFxcL1xcKlxcKj8oLnxcXHI/XFxuKSo/XFwqXFwvKS8seFMwPS8oXnxcXHMrKVxcL1xcLyhbXlxcblxccl0qKS9nLHN6PS9eKFxccj9cXG4pKy8sclMwPS8oPzpefFxccj9cXG4pICooQFteXFxuXFxyXSo/KSAqXFxyP1xcbiAqKD8hW15cXG5cXHJAXSpcXC9cXC9bXl0qKShbXlxcc0BdW15cXG5cXHJAXSs/KSAqXFxyP1xcbi9nLGF6PS8oPzpefFxccj9cXG4pICpAKFxcUyspICooW15cXG5cXHJdKikvZyxlUzA9LyhcXHI/XFxufF4pICpcXCogPy9nLHRTMD1bXTtmdW5jdGlvbiBveihvMCl7bGV0IHZ4PW8wLm1hdGNoKFpFMCk7cmV0dXJuIHZ4P3Z4WzBdLnRyaW1TdGFydCgpOlwiXCJ9ZnVuY3Rpb24gdnoobzApe2xldCB2eD1gXG5gO28wPURsKCExLG8wLnJlcGxhY2UoSEUwLFwiXCIpLnJlcGxhY2UoUUUwLFwiXCIpLGVTMCxcIiQxXCIpO2xldCAkeD1cIlwiO2Zvcig7JHghPT1vMDspJHg9bzAsbzA9RGwoITEsbzAsclMwLGAke3Z4fSQxICQyJHt2eH1gKTtvMD1vMC5yZXBsYWNlKHN6LFwiXCIpLnRyaW1FbmQoKTtsZXQgUHI9T2JqZWN0LmNyZWF0ZShudWxsKSxscj1EbCghMSxvMCxheixcIlwiKS5yZXBsYWNlKHN6LFwiXCIpLnRyaW1FbmQoKSxJcjtmb3IoO0lyPWF6LmV4ZWMobzApOyl7bGV0IEwyPURsKCExLElyWzJdLHhTMCxcIlwiKTtpZih0eXBlb2YgUHJbSXJbMV1dPT1cInN0cmluZ1wifHxBcnJheS5pc0FycmF5KFByW0lyWzFdXSkpe2xldCBuZT1QcltJclsxXV07UHJbSXJbMV1dPVsuLi50UzAsLi4uQXJyYXkuaXNBcnJheShuZSk/bmU6W25lXSxMMl19ZWxzZSBQcltJclsxXV09TDJ9cmV0dXJue2NvbW1lbnRzOmxyLHByYWdtYXM6UHJ9fWZ1bmN0aW9uIG5TMChvMCl7aWYoIW8wLnN0YXJ0c1dpdGgoXCIjIVwiKSlyZXR1cm5cIlwiO2xldCB2eD1vMC5pbmRleE9mKGBcbmApO3JldHVybiB2eD09PS0xP28wOm8wLnNsaWNlKDAsdngpfXZhciBsej1uUzA7ZnVuY3Rpb24gdVMwKG8wKXtsZXQgdng9bHoobzApO3Z4JiYobzA9bzAuc2xpY2UodngubGVuZ3RoKzEpKTtsZXQgJHg9b3oobzApLHtwcmFnbWFzOlByLGNvbW1lbnRzOmxyfT12eigkeCk7cmV0dXJue3NoZWJhbmc6dngsdGV4dDpvMCxwcmFnbWFzOlByLGNvbW1lbnRzOmxyfX1mdW5jdGlvbiBweihvMCl7bGV0e3ByYWdtYXM6dnh9PXVTMChvMCk7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh2eCxcInByZXR0aWVyXCIpfHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodngsXCJmb3JtYXRcIil9ZnVuY3Rpb24gaVMwKG8wKXtyZXR1cm4gbzA9dHlwZW9mIG8wPT1cImZ1bmN0aW9uXCI/e3BhcnNlOm8wfTpvMCx7YXN0Rm9ybWF0OlwiZXN0cmVlXCIsaGFzUHJhZ21hOnB6LGxvY1N0YXJ0Okh0LGxvY0VuZDpMYSwuLi5vMH19dmFyIGt6PWlTMDtmdW5jdGlvbiBmUzAobzApe3JldHVybiBvMC5jaGFyQXQoMCk9PT1cIiNcIiYmbzAuY2hhckF0KDEpPT09XCIhXCI/XCIvL1wiK28wLnNsaWNlKDIpOm8wfXZhciBtej1mUzA7dmFyIGNTMD17Y29tbWVudHM6ITEsY29tcG9uZW50czohMCxlbnVtczohMCxlc3Byb3Bvc2FsX2RlY29yYXRvcnM6ITAsZXNwcm9wb3NhbF9leHBvcnRfc3Rhcl9hczohMCx0b2tlbnM6ITB9O2Z1bmN0aW9uIHNTMChvMCl7bGV0e21lc3NhZ2U6dngsbG9jOntzdGFydDokeCxlbmQ6UHJ9fT1vMDtyZXR1cm4geHoodngse2xvYzp7c3RhcnQ6e2xpbmU6JHgubGluZSxjb2x1bW46JHguY29sdW1uKzF9LGVuZDp7bGluZTpQci5saW5lLGNvbHVtbjpQci5jb2x1bW4rMX19LGNhdXNlOm8wfSl9ZnVuY3Rpb24gYVMwKG8wKXtsZXQgdng9aHouZGVmYXVsdC5wYXJzZShteihvMCksY1MwKSxbJHhdPXZ4LmVycm9ycztpZigkeCl0aHJvdyBzUzAoJHgpO3JldHVybiBjeih2eCx7dGV4dDpvMH0pfXZhciBvUzA9a3ooYVMwKTt2YXIgbEEwPXBPO2V4cG9ydHtsQTAgYXMgZGVmYXVsdCxsTyBhcyBwYXJzZXJzfTtcbiIsICJ2YXIgQnI9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciBJcj1lPT57dGhyb3cgVHlwZUVycm9yKGUpfTt2YXIgam49KGUsdCxyKT0+dCBpbiBlP0JyKGUsdCx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6cn0pOmVbdF09cjt2YXIgVWU9KGUsdCk9Pntmb3IodmFyIHIgaW4gdClCcihlLHIse2dldDp0W3JdLGVudW1lcmFibGU6ITB9KX07dmFyIE1lPShlLHQscik9PmpuKGUsdHlwZW9mIHQhPVwic3ltYm9sXCI/dCtcIlwiOnQsciksUnI9KGUsdCxyKT0+dC5oYXMoZSl8fElyKFwiQ2Fubm90IFwiK3IpO3ZhciBJPShlLHQscik9PihScihlLHQsXCJyZWFkIGZyb20gcHJpdmF0ZSBmaWVsZFwiKSxyP3IuY2FsbChlKTp0LmdldChlKSksUHQ9KGUsdCxyKT0+dC5oYXMoZSk/SXIoXCJDYW5ub3QgYWRkIHRoZSBzYW1lIHByaXZhdGUgbWVtYmVyIG1vcmUgdGhhbiBvbmNlXCIpOnQgaW5zdGFuY2VvZiBXZWFrU2V0P3QuYWRkKGUpOnQuc2V0KGUsciksSj0oZSx0LHIsbik9PihScihlLHQsXCJ3cml0ZSB0byBwcml2YXRlIGZpZWxkXCIpLG4/bi5jYWxsKGUscik6dC5zZXQoZSxyKSxyKTt2YXIgUHI9e307VWUoUHIse2xhbmd1YWdlczooKT0+bW4scGFyc2VyczooKT0+QXIscHJpbnRlcnM6KCk9PnZpfSk7dmFyIFFuPShlLHQscixuKT0+e2lmKCEoZSYmdD09bnVsbCkpcmV0dXJuIHQucmVwbGFjZUFsbD90LnJlcGxhY2VBbGwocixuKTpyLmdsb2JhbD90LnJlcGxhY2UocixuKTp0LnNwbGl0KHIpLmpvaW4obil9LHplPVFuO3ZhciBNdD1cInN0cmluZ1wiLHp0PVwiYXJyYXlcIixZdD1cImN1cnNvclwiLEx0PVwiaW5kZW50XCIsRHQ9XCJhbGlnblwiLEd0PVwidHJpbVwiLF90PVwiZ3JvdXBcIixPdD1cImZpbGxcIixCdD1cImlmLWJyZWFrXCIsS3Q9XCJpbmRlbnQtaWYtYnJlYWtcIixXdD1cImxpbmUtc3VmZml4XCIsanQ9XCJsaW5lLXN1ZmZpeC1ib3VuZGFyeVwiLCQ9XCJsaW5lXCIsUXQ9XCJsYWJlbFwiLEl0PVwiYnJlYWstcGFyZW50XCIsbWU9bmV3IFNldChbWXQsTHQsRHQsR3QsX3QsT3QsQnQsS3QsV3QsanQsJCxRdCxJdF0pO2Z1bmN0aW9uIEpuKGUpe2lmKHR5cGVvZiBlPT1cInN0cmluZ1wiKXJldHVybiBNdDtpZihBcnJheS5pc0FycmF5KGUpKXJldHVybiB6dDtpZighZSlyZXR1cm47bGV0e3R5cGU6dH09ZTtpZihtZS5oYXModCkpcmV0dXJuIHR9dmFyIEp0PUpuO3ZhciAkbj1lPT5uZXcgSW50bC5MaXN0Rm9ybWF0KFwiZW4tVVNcIix7dHlwZTpcImRpc2p1bmN0aW9uXCJ9KS5mb3JtYXQoZSk7ZnVuY3Rpb24gWG4oZSl7bGV0IHQ9ZT09PW51bGw/XCJudWxsXCI6dHlwZW9mIGU7aWYodCE9PVwic3RyaW5nXCImJnQhPT1cIm9iamVjdFwiKXJldHVybmBVbmV4cGVjdGVkIGRvYyAnJHt0fScsIFxuRXhwZWN0ZWQgaXQgdG8gYmUgJ3N0cmluZycgb3IgJ29iamVjdCcuYDtpZihKdChlKSl0aHJvdyBuZXcgRXJyb3IoXCJkb2MgaXMgdmFsaWQuXCIpO2xldCByPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChlKTtpZihyIT09XCJbb2JqZWN0IE9iamVjdF1cIilyZXR1cm5gVW5leHBlY3RlZCBkb2MgJyR7cn0nLmA7bGV0IG49JG4oWy4uLm1lXS5tYXAocz0+YCcke3N9J2ApKTtyZXR1cm5gVW5leHBlY3RlZCBkb2MudHlwZSAnJHtlLnR5cGV9Jy5cbkV4cGVjdGVkIGl0IHRvIGJlICR7bn0uYH12YXIgWWU9Y2xhc3MgZXh0ZW5kcyBFcnJvcntuYW1lPVwiSW52YWxpZERvY0Vycm9yXCI7Y29uc3RydWN0b3IodCl7c3VwZXIoWG4odCkpLHRoaXMuZG9jPXR9fSxHZT1ZZTt2YXIgcXI9KCk9Pnt9LGR0PXFyLGRlPXFyO2Z1bmN0aW9uIEIoZSl7cmV0dXJuIGR0KGUpLHt0eXBlOkx0LGNvbnRlbnRzOmV9fWZ1bmN0aW9uIFpuKGUsdCl7cmV0dXJuIGR0KHQpLHt0eXBlOkR0LGNvbnRlbnRzOnQsbjplfX1mdW5jdGlvbiBSKGUsdD17fSl7cmV0dXJuIGR0KGUpLGRlKHQuZXhwYW5kZWRTdGF0ZXMsITApLHt0eXBlOl90LGlkOnQuaWQsY29udGVudHM6ZSxicmVhazohIXQuc2hvdWxkQnJlYWssZXhwYW5kZWRTdGF0ZXM6dC5leHBhbmRlZFN0YXRlc319ZnVuY3Rpb24gS2UoZSl7cmV0dXJuIFpuKC0xLGUpfWZ1bmN0aW9uIFdlKGUpe3JldHVybiBkZShlKSx7dHlwZTpPdCxwYXJ0czplfX1mdW5jdGlvbiBqZShlLHQ9XCJcIixyPXt9KXtyZXR1cm4gZHQoZSksdCE9PVwiXCImJmR0KHQpLHt0eXBlOkJ0LGJyZWFrQ29udGVudHM6ZSxmbGF0Q29udGVudHM6dCxncm91cElkOnIuZ3JvdXBJZH19dmFyIFZyPXt0eXBlOkl0fTt2YXIgdHM9e3R5cGU6JCxoYXJkOiEwfSxlcz17dHlwZTokLGhhcmQ6ITAsbGl0ZXJhbDohMH0sTD17dHlwZTokfSxNPXt0eXBlOiQsc29mdDohMH0sZ3Q9W3RzLFZyXSxIcj1bZXMsVnJdO2Z1bmN0aW9uIGJ0KGUsdCl7ZHQoZSksZGUodCk7bGV0IHI9W107Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspbiE9PTAmJnIucHVzaChlKSxyLnB1c2godFtuXSk7cmV0dXJuIHJ9dmFyIHJzPShlLHQscik9PntpZighKGUmJnQ9PW51bGwpKXJldHVybiBBcnJheS5pc0FycmF5KHQpfHx0eXBlb2YgdD09XCJzdHJpbmdcIj90W3I8MD90Lmxlbmd0aCtyOnJdOnQuYXQocil9LGl0PXJzO2Z1bmN0aW9uIG5zKGUsdCl7aWYodHlwZW9mIGU9PVwic3RyaW5nXCIpcmV0dXJuIHQoZSk7bGV0IHI9bmV3IE1hcDtyZXR1cm4gbihlKTtmdW5jdGlvbiBuKGkpe2lmKHIuaGFzKGkpKXJldHVybiByLmdldChpKTtsZXQgYT1zKGkpO3JldHVybiByLnNldChpLGEpLGF9ZnVuY3Rpb24gcyhpKXtzd2l0Y2goSnQoaSkpe2Nhc2UgenQ6cmV0dXJuIHQoaS5tYXAobikpO2Nhc2UgT3Q6cmV0dXJuIHQoey4uLmkscGFydHM6aS5wYXJ0cy5tYXAobil9KTtjYXNlIEJ0OnJldHVybiB0KHsuLi5pLGJyZWFrQ29udGVudHM6bihpLmJyZWFrQ29udGVudHMpLGZsYXRDb250ZW50czpuKGkuZmxhdENvbnRlbnRzKX0pO2Nhc2UgX3Q6e2xldHtleHBhbmRlZFN0YXRlczphLGNvbnRlbnRzOm99PWk7cmV0dXJuIGE/KGE9YS5tYXAobiksbz1hWzBdKTpvPW4obyksdCh7Li4uaSxjb250ZW50czpvLGV4cGFuZGVkU3RhdGVzOmF9KX1jYXNlIER0OmNhc2UgTHQ6Y2FzZSBLdDpjYXNlIFF0OmNhc2UgV3Q6cmV0dXJuIHQoey4uLmksY29udGVudHM6bihpLmNvbnRlbnRzKX0pO2Nhc2UgTXQ6Y2FzZSBZdDpjYXNlIEd0OmNhc2UganQ6Y2FzZSAkOmNhc2UgSXQ6cmV0dXJuIHQoaSk7ZGVmYXVsdDp0aHJvdyBuZXcgR2UoaSl9fX1mdW5jdGlvbiBGcihlLHQ9SHIpe3JldHVybiBucyhlLHI9PnR5cGVvZiByPT1cInN0cmluZ1wiP2J0KHQsci5zcGxpdChgXG5gKSk6cil9dmFyIGdlPVwiJ1wiLFVyPSdcIic7ZnVuY3Rpb24gc3MoZSx0KXtsZXQgcj10PT09ITB8fHQ9PT1nZT9nZTpVcixuPXI9PT1nZT9VcjpnZSxzPTAsaT0wO2ZvcihsZXQgYSBvZiBlKWE9PT1yP3MrKzphPT09biYmaSsrO3JldHVybiBzPmk/bjpyfXZhciBiZT1zcztmdW5jdGlvbiBRZShlKXtpZih0eXBlb2YgZSE9XCJzdHJpbmdcIil0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgYSBzdHJpbmdcIik7cmV0dXJuIGUucmVwbGFjZSgvW3xcXFxce30oKVtcXF1eJCsqPy5dL2csXCJcXFxcJCZcIikucmVwbGFjZSgvLS9nLFwiXFxcXHgyZFwiKX12YXIgVSxKZT1jbGFzc3tjb25zdHJ1Y3Rvcih0KXtQdCh0aGlzLFUpO0oodGhpcyxVLG5ldyBTZXQodCkpfWdldExlYWRpbmdXaGl0ZXNwYWNlQ291bnQodCl7bGV0IHI9SSh0aGlzLFUpLG49MDtmb3IobGV0IHM9MDtzPHQubGVuZ3RoJiZyLmhhcyh0LmNoYXJBdChzKSk7cysrKW4rKztyZXR1cm4gbn1nZXRUcmFpbGluZ1doaXRlc3BhY2VDb3VudCh0KXtsZXQgcj1JKHRoaXMsVSksbj0wO2ZvcihsZXQgcz10Lmxlbmd0aC0xO3M+PTAmJnIuaGFzKHQuY2hhckF0KHMpKTtzLS0pbisrO3JldHVybiBufWdldExlYWRpbmdXaGl0ZXNwYWNlKHQpe2xldCByPXRoaXMuZ2V0TGVhZGluZ1doaXRlc3BhY2VDb3VudCh0KTtyZXR1cm4gdC5zbGljZSgwLHIpfWdldFRyYWlsaW5nV2hpdGVzcGFjZSh0KXtsZXQgcj10aGlzLmdldFRyYWlsaW5nV2hpdGVzcGFjZUNvdW50KHQpO3JldHVybiB0LnNsaWNlKHQubGVuZ3RoLXIpfWhhc0xlYWRpbmdXaGl0ZXNwYWNlKHQpe3JldHVybiBJKHRoaXMsVSkuaGFzKHQuY2hhckF0KDApKX1oYXNUcmFpbGluZ1doaXRlc3BhY2UodCl7cmV0dXJuIEkodGhpcyxVKS5oYXMoaXQoITEsdCwtMSkpfXRyaW1TdGFydCh0KXtsZXQgcj10aGlzLmdldExlYWRpbmdXaGl0ZXNwYWNlQ291bnQodCk7cmV0dXJuIHQuc2xpY2Uocil9dHJpbUVuZCh0KXtsZXQgcj10aGlzLmdldFRyYWlsaW5nV2hpdGVzcGFjZUNvdW50KHQpO3JldHVybiB0LnNsaWNlKDAsdC5sZW5ndGgtcil9dHJpbSh0KXtyZXR1cm4gdGhpcy50cmltRW5kKHRoaXMudHJpbVN0YXJ0KHQpKX1zcGxpdCh0LHI9ITEpe2xldCBuPWBbJHtRZShbLi4uSSh0aGlzLFUpXS5qb2luKFwiXCIpKX1dK2Ascz1uZXcgUmVnRXhwKHI/YCgke259KWA6bixcInVcIik7cmV0dXJuIHQuc3BsaXQocyl9aGFzV2hpdGVzcGFjZUNoYXJhY3Rlcih0KXtsZXQgcj1JKHRoaXMsVSk7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwodCxuPT5yLmhhcyhuKSl9aGFzTm9uV2hpdGVzcGFjZUNoYXJhY3Rlcih0KXtsZXQgcj1JKHRoaXMsVSk7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwodCxuPT4hci5oYXMobikpfWlzV2hpdGVzcGFjZU9ubHkodCl7bGV0IHI9SSh0aGlzLFUpO3JldHVybiBBcnJheS5wcm90b3R5cGUuZXZlcnkuY2FsbCh0LG49PnIuaGFzKG4pKX19O1U9bmV3IFdlYWtNYXA7dmFyIE1yPUplO3ZhciBpcz1bXCJcdFwiLGBcbmAsXCJcXGZcIixcIlxcclwiLFwiIFwiXSxhcz1uZXcgTXIoaXMpLHo9YXM7ZnVuY3Rpb24gb3MoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSkmJmUubGVuZ3RoPjB9dmFyICR0PW9zO3ZhciAkZT1jbGFzcyBleHRlbmRzIEVycm9ye25hbWU9XCJVbmV4cGVjdGVkTm9kZUVycm9yXCI7Y29uc3RydWN0b3IodCxyLG49XCJ0eXBlXCIpe3N1cGVyKGBVbmV4cGVjdGVkICR7cn0gbm9kZSAke259OiAke0pTT04uc3RyaW5naWZ5KHRbbl0pfS5gKSx0aGlzLm5vZGU9dH19LHpyPSRlO2Z1bmN0aW9uIFlyKGUsdCl7aWYoZS50eXBlPT09XCJUZXh0Tm9kZVwiKXtsZXQgcj1lLmNoYXJzLnRyaW0oKTtpZighcilyZXR1cm4gbnVsbDt0LmNoYXJzPXouc3BsaXQocikuam9pbihcIiBcIil9ZS50eXBlPT09XCJFbGVtZW50Tm9kZVwiJiYoZGVsZXRlIHQuc3RhcnRUYWcsZGVsZXRlIHQub3BlblRhZyxkZWxldGUgdC5wYXJ0cyxkZWxldGUgdC5lbmRUYWcsZGVsZXRlIHQuY2xvc2VUYWcsZGVsZXRlIHQubmFtZU5vZGUsZGVsZXRlIHQuYm9keSxkZWxldGUgdC5ibG9ja1BhcmFtTm9kZXMsZGVsZXRlIHQucGFyYW1zLGRlbGV0ZSB0LnBhdGgpLGUudHlwZT09PVwiQmxvY2tcIiYmKGRlbGV0ZSB0LmJsb2NrUGFyYW1Ob2RlcyxkZWxldGUgdC5wYXJhbXMpLGUudHlwZT09PVwiQXR0ck5vZGVcIiYmZS5uYW1lLnRvTG93ZXJDYXNlKCk9PT1cImNsYXNzXCImJmRlbGV0ZSB0LnZhbHVlLGUudHlwZT09PVwiUGF0aEV4cHJlc3Npb25cIiYmKHQuaGVhZD1lLmhlYWQub3JpZ2luYWwpfVlyLmlnbm9yZWRQcm9wZXJ0aWVzPW5ldyBTZXQoW1wibG9jXCIsXCJzZWxmQ2xvc2luZ1wiXSk7dmFyIEdyPVlyO3ZhciBYdD1udWxsO2Z1bmN0aW9uIFp0KGUpe2lmKFh0IT09bnVsbCYmdHlwZW9mIFh0LnByb3BlcnR5KXtsZXQgdD1YdDtyZXR1cm4gWHQ9WnQucHJvdG90eXBlPW51bGwsdH1yZXR1cm4gWHQ9WnQucHJvdG90eXBlPWU/P09iamVjdC5jcmVhdGUobnVsbCksbmV3IFp0fXZhciBscz0xMDtmb3IobGV0IGU9MDtlPD1scztlKyspWnQoKTtmdW5jdGlvbiBYZShlKXtyZXR1cm4gWnQoZSl9ZnVuY3Rpb24gY3MoZSx0PVwidHlwZVwiKXtYZShlKTtmdW5jdGlvbiByKG4pe2xldCBzPW5bdF0saT1lW3NdO2lmKCFBcnJheS5pc0FycmF5KGkpKXRocm93IE9iamVjdC5hc3NpZ24obmV3IEVycm9yKGBNaXNzaW5nIHZpc2l0b3Iga2V5cyBmb3IgJyR7c30nLmApLHtub2RlOm59KTtyZXR1cm4gaX1yZXR1cm4gcn12YXIgS3I9Y3M7dmFyIFdyPXtUZW1wbGF0ZTpbXCJib2R5XCJdLEJsb2NrOltcImJvZHlcIl0sTXVzdGFjaGVTdGF0ZW1lbnQ6W1wicGF0aFwiLFwicGFyYW1zXCIsXCJoYXNoXCJdLEJsb2NrU3RhdGVtZW50OltcInBhdGhcIixcInBhcmFtc1wiLFwiaGFzaFwiLFwicHJvZ3JhbVwiLFwiaW52ZXJzZVwiXSxFbGVtZW50TW9kaWZpZXJTdGF0ZW1lbnQ6W1wicGF0aFwiLFwicGFyYW1zXCIsXCJoYXNoXCJdLENvbW1lbnRTdGF0ZW1lbnQ6W10sTXVzdGFjaGVDb21tZW50U3RhdGVtZW50OltdLEVsZW1lbnROb2RlOltcImF0dHJpYnV0ZXNcIixcIm1vZGlmaWVyc1wiLFwiY2hpbGRyZW5cIixcImNvbW1lbnRzXCJdLEF0dHJOb2RlOltcInZhbHVlXCJdLFRleHROb2RlOltdLENvbmNhdFN0YXRlbWVudDpbXCJwYXJ0c1wiXSxTdWJFeHByZXNzaW9uOltcInBhdGhcIixcInBhcmFtc1wiLFwiaGFzaFwiXSxQYXRoRXhwcmVzc2lvbjpbXSxTdHJpbmdMaXRlcmFsOltdLEJvb2xlYW5MaXRlcmFsOltdLE51bWJlckxpdGVyYWw6W10sTnVsbExpdGVyYWw6W10sVW5kZWZpbmVkTGl0ZXJhbDpbXSxIYXNoOltcInBhaXJzXCJdLEhhc2hQYWlyOltcInZhbHVlXCJdfTt2YXIgdXM9S3IoV3IpLGpyPXVzO2Z1bmN0aW9uIHl0KGUpe3JldHVybiBlLmxvYy5zdGFydC5vZmZzZXR9ZnVuY3Rpb24gdGUoZSl7cmV0dXJuIGUubG9jLmVuZC5vZmZzZXR9dmFyIFFyPW5ldyBTZXQoW1wiYXJlYVwiLFwiYmFzZVwiLFwiYnJcIixcImNvbFwiLFwiY29tbWFuZFwiLFwiZW1iZWRcIixcImhyXCIsXCJpbWdcIixcImlucHV0XCIsXCJrZXlnZW5cIixcImxpbmtcIixcIm1ldGFcIixcInBhcmFtXCIsXCJzb3VyY2VcIixcInRyYWNrXCIsXCJ3YnJcIl0pO2Z1bmN0aW9uICRyKGUpe3JldHVybiBlLnRvVXBwZXJDYXNlKCk9PT1lfWZ1bmN0aW9uIGhzKGUpe3JldHVybiBlLnR5cGU9PT1cIkVsZW1lbnROb2RlXCImJnR5cGVvZiBlLnRhZz09XCJzdHJpbmdcIiYmIWUudGFnLnN0YXJ0c1dpdGgoXCI6XCIpJiYoJHIoZS50YWdbMF0pfHxlLnRhZy5pbmNsdWRlcyhcIi5cIikpfWZ1bmN0aW9uIHBzKGUpe3JldHVybiBRci5oYXMoZS50b0xvd2VyQ2FzZSgpKSYmISRyKGVbMF0pfWZ1bmN0aW9uIFplKGUpe3JldHVybiBlLnNlbGZDbG9zaW5nPT09ITB8fHBzKGUudGFnKXx8aHMoZSkmJmUuY2hpbGRyZW4uZXZlcnkodD0+eWUodCkpfWZ1bmN0aW9uIHllKGUpe3JldHVybiBlLnR5cGU9PT1cIlRleHROb2RlXCImJiEvXFxTL3UudGVzdChlLmNoYXJzKX1mdW5jdGlvbiBKcihlKXtyZXR1cm4oZT09bnVsbD92b2lkIDA6ZS50eXBlKT09PVwiTXVzdGFjaGVDb21tZW50U3RhdGVtZW50XCImJnR5cGVvZiBlLnZhbHVlPT1cInN0cmluZ1wiJiZlLnZhbHVlLnRyaW0oKT09PVwicHJldHRpZXItaWdub3JlXCJ9ZnVuY3Rpb24gWHIoZSl7cmV0dXJuIEpyKGUubm9kZSl8fGUuaXNJbkFycmF5JiYoZS5rZXk9PT1cImNoaWxkcmVuXCJ8fGUua2V5PT09XCJib2R5XCJ8fGUua2V5PT09XCJwYXJ0c1wiKSYmSnIoZS5zaWJsaW5nc1tlLmluZGV4LTJdKX12YXIgb249MjtmdW5jdGlvbiBmcyhlLHQscil7dmFyIHMsaSxhLG8sYyxoLHAsbSx2O2xldHtub2RlOm59PWU7c3dpdGNoKG4udHlwZSl7Y2FzZVwiQmxvY2tcIjpjYXNlXCJQcm9ncmFtXCI6Y2FzZVwiVGVtcGxhdGVcIjpyZXR1cm4gUihlLm1hcChyLFwiYm9keVwiKSk7Y2FzZVwiRWxlbWVudE5vZGVcIjp7bGV0IGc9UihkcyhlLHIpKSxFPXQuaHRtbFdoaXRlc3BhY2VTZW5zaXRpdml0eT09PVwiaWdub3JlXCImJigocz1lLm5leHQpPT1udWxsP3ZvaWQgMDpzLnR5cGUpPT09XCJFbGVtZW50Tm9kZVwiP006XCJcIjtpZihaZShuKSlyZXR1cm5bZyxFXTtsZXQgTj1bXCI8L1wiLG4udGFnLFwiPlwiXTtyZXR1cm4gbi5jaGlsZHJlbi5sZW5ndGg9PT0wP1tnLEIoTiksRV06dC5odG1sV2hpdGVzcGFjZVNlbnNpdGl2aXR5PT09XCJpZ25vcmVcIj9bZyxCKFpyKGUsdCxyKSksZ3QsQihOKSxFXTpbZyxCKFIoWnIoZSx0LHIpKSksQihOKSxFXX1jYXNlXCJCbG9ja1N0YXRlbWVudFwiOnJldHVybiB2cyhlKT9bRXMoZSxyKSxybihlLHIsdCksbm4oZSxyLHQpXTpba3MoZSxyKSxSKFtybihlLHIsdCksbm4oZSxyLHQpLHdzKGUscix0KV0pXTtjYXNlXCJFbGVtZW50TW9kaWZpZXJTdGF0ZW1lbnRcIjpyZXR1cm4gUihbXCJ7e1wiLGFuKGUsciksXCJ9fVwiXSk7Y2FzZVwiTXVzdGFjaGVTdGF0ZW1lbnRcIjpyZXR1cm4gUihba2UobiksYW4oZSxyKSxTZShuKV0pO2Nhc2VcIlN1YkV4cHJlc3Npb25cIjpyZXR1cm4gUihbXCIoXCIsTHMoZSxyKSxNLFwiKVwiXSk7Y2FzZVwiQXR0ck5vZGVcIjp7bGV0e25hbWU6Zyx2YWx1ZTpFfT1uLE49RS50eXBlPT09XCJUZXh0Tm9kZVwiO2lmKE4mJkUuY2hhcnM9PT1cIlwiJiZ5dChFKT09PXRlKEUpKXJldHVybiBnO2xldCB3PU4/YmUoRS5jaGFycyx0LnNpbmdsZVF1b3RlKTpFLnR5cGU9PT1cIkNvbmNhdFN0YXRlbWVudFwiP2JlKEUucGFydHMubWFwKHE9PnEudHlwZT09PVwiVGV4dE5vZGVcIj9xLmNoYXJzOlwiXCIpLmpvaW4oXCJcIiksdC5zaW5nbGVRdW90ZSk6XCJcIixaPXIoXCJ2YWx1ZVwiKTtyZXR1cm5bZyxcIj1cIix3LGc9PT1cImNsYXNzXCImJnc/UihCKFopKTpaLHddfWNhc2VcIkNvbmNhdFN0YXRlbWVudFwiOnJldHVybiBlLm1hcChyLFwicGFydHNcIik7Y2FzZVwiSGFzaFwiOnJldHVybiBidChMLGUubWFwKHIsXCJwYWlyc1wiKSk7Y2FzZVwiSGFzaFBhaXJcIjpyZXR1cm5bbi5rZXksXCI9XCIscihcInZhbHVlXCIpXTtjYXNlXCJUZXh0Tm9kZVwiOntsZXQgZz16ZSghMSxuLmNoYXJzLFwie3tcIixTdHJpbmcucmF3YFxce3tgKSxFPUNzKGUpO2lmKEUpe2lmKEU9PT1cImNsYXNzXCIpe2xldCBqPWcudHJpbSgpLnNwbGl0KC9cXHMrL3UpLmpvaW4oXCIgXCIpLHR0PSExLFY9ITE7cmV0dXJuIGUucGFyZW50LnR5cGU9PT1cIkNvbmNhdFN0YXRlbWVudFwiJiYoKChpPWUucHJldmlvdXMpPT1udWxsP3ZvaWQgMDppLnR5cGUpPT09XCJNdXN0YWNoZVN0YXRlbWVudFwiJiYvXlxccy91LnRlc3QoZykmJih0dD0hMCksKChhPWUubmV4dCk9PW51bGw/dm9pZCAwOmEudHlwZSk9PT1cIk11c3RhY2hlU3RhdGVtZW50XCImJi9cXHMkL3UudGVzdChnKSYmaiE9PVwiXCImJihWPSEwKSksW3R0P0w6XCJcIixqLFY/TDpcIlwiXX1yZXR1cm4gRnIoZyl9bGV0IE49ei5pc1doaXRlc3BhY2VPbmx5KGcpLHtpc0ZpcnN0OngsaXNMYXN0Ond9PWU7aWYodC5odG1sV2hpdGVzcGFjZVNlbnNpdGl2aXR5IT09XCJpZ25vcmVcIil7bGV0IGo9dyYmZS5wYXJlbnQudHlwZT09PVwiVGVtcGxhdGVcIix0dD14JiZlLnBhcmVudC50eXBlPT09XCJUZW1wbGF0ZVwiO2lmKE4pe2lmKHR0fHxqKXJldHVyblwiXCI7bGV0IFA9W0xdLHJ0PVJ0KGcpO3JldHVybiBydCYmKFA9ZWUocnQpKSx3JiYoUD1QLm1hcChoZT0+S2UoaGUpKSksUH1sZXQgVj16LmdldExlYWRpbmdXaGl0ZXNwYWNlKGcpLE50PVtdO2lmKFYpe050PVtMXTtsZXQgUD1SdChWKTtQJiYoTnQ9ZWUoUCkpLGc9Zy5zbGljZShWLmxlbmd0aCl9bGV0IEg9ei5nZXRUcmFpbGluZ1doaXRlc3BhY2UoZyksZXQ9W107aWYoSCl7aWYoIWope2V0PVtMXTtsZXQgUD1SdChIKTtQJiYoZXQ9ZWUoUCkpLHcmJihldD1ldC5tYXAocnQ9PktlKHJ0KSkpfWc9Zy5zbGljZSgwLC1ILmxlbmd0aCl9cmV0dXJuWy4uLk50LFdlKHNuKGcpKSwuLi5ldF19bGV0IFo9UnQoZykscT1OcyhnKSxXPXhzKGcpO2lmKCh4fHx3KSYmTiYmKGUucGFyZW50LnR5cGU9PT1cIkJsb2NrXCJ8fGUucGFyZW50LnR5cGU9PT1cIkVsZW1lbnROb2RlXCJ8fGUucGFyZW50LnR5cGU9PT1cIlRlbXBsYXRlXCIpKXJldHVyblwiXCI7TiYmWj8ocT1NYXRoLm1pbihaLG9uKSxXPTApOigoKChvPWUubmV4dCk9PW51bGw/dm9pZCAwOm8udHlwZSk9PT1cIkJsb2NrU3RhdGVtZW50XCJ8fCgoYz1lLm5leHQpPT1udWxsP3ZvaWQgMDpjLnR5cGUpPT09XCJFbGVtZW50Tm9kZVwiKSYmKFc9TWF0aC5tYXgoVywxKSksKCgoaD1lLnByZXZpb3VzKT09bnVsbD92b2lkIDA6aC50eXBlKT09PVwiQmxvY2tTdGF0ZW1lbnRcInx8KChwPWUucHJldmlvdXMpPT1udWxsP3ZvaWQgMDpwLnR5cGUpPT09XCJFbGVtZW50Tm9kZVwiKSYmKHE9TWF0aC5tYXgocSwxKSkpO2xldCBUdD1cIlwiLEN0PVwiXCI7cmV0dXJuIFc9PT0wJiYoKG09ZS5uZXh0KT09bnVsbD92b2lkIDA6bS50eXBlKT09PVwiTXVzdGFjaGVTdGF0ZW1lbnRcIiYmKEN0PVwiIFwiKSxxPT09MCYmKCh2PWUucHJldmlvdXMpPT1udWxsP3ZvaWQgMDp2LnR5cGUpPT09XCJNdXN0YWNoZVN0YXRlbWVudFwiJiYoVHQ9XCIgXCIpLHgmJihxPTAsVHQ9XCJcIiksdyYmKFc9MCxDdD1cIlwiKSx6Lmhhc0xlYWRpbmdXaGl0ZXNwYWNlKGcpJiYoZz1UdCt6LnRyaW1TdGFydChnKSksei5oYXNUcmFpbGluZ1doaXRlc3BhY2UoZykmJihnPXoudHJpbUVuZChnKStDdCksWy4uLmVlKHEpLFdlKHNuKGcpKSwuLi5lZShXKV19Y2FzZVwiTXVzdGFjaGVDb21tZW50U3RhdGVtZW50XCI6e2xldCBnPXl0KG4pLEU9dGUobiksTj10Lm9yaWdpbmFsVGV4dC5jaGFyQXQoZysyKT09PVwiflwiLHg9dC5vcmlnaW5hbFRleHQuY2hhckF0KEUtMyk9PT1cIn5cIix3PW4udmFsdWUuaW5jbHVkZXMoXCJ9fVwiKT9cIi0tXCI6XCJcIjtyZXR1cm5bXCJ7e1wiLE4/XCJ+XCI6XCJcIixcIiFcIix3LG4udmFsdWUsdyx4P1wiflwiOlwiXCIsXCJ9fVwiXX1jYXNlXCJQYXRoRXhwcmVzc2lvblwiOnJldHVybiBCcyhuKTtjYXNlXCJCb29sZWFuTGl0ZXJhbFwiOnJldHVybiBTdHJpbmcobi52YWx1ZSk7Y2FzZVwiQ29tbWVudFN0YXRlbWVudFwiOnJldHVybltcIjwhLS1cIixuLnZhbHVlLFwiLS0+XCJdO2Nhc2VcIlN0cmluZ0xpdGVyYWxcIjpyZXR1cm4gQXMoZSx0KTtjYXNlXCJOdW1iZXJMaXRlcmFsXCI6cmV0dXJuIFN0cmluZyhuLnZhbHVlKTtjYXNlXCJVbmRlZmluZWRMaXRlcmFsXCI6cmV0dXJuXCJ1bmRlZmluZWRcIjtjYXNlXCJOdWxsTGl0ZXJhbFwiOnJldHVyblwibnVsbFwiO2Nhc2VcIkF0SGVhZFwiOmNhc2VcIlZhckhlYWRcIjpjYXNlXCJUaGlzSGVhZFwiOmRlZmF1bHQ6dGhyb3cgbmV3IHpyKG4sXCJIYW5kbGViYXJzXCIpfX1mdW5jdGlvbiBtcyhlLHQpe3JldHVybiB5dChlKS15dCh0KX1mdW5jdGlvbiBkcyhlLHQpe2xldHtub2RlOnJ9PWUsbj1bXCJhdHRyaWJ1dGVzXCIsXCJtb2RpZmllcnNcIixcImNvbW1lbnRzXCJdLmZpbHRlcihpPT4kdChyW2ldKSkscz1uLmZsYXRNYXAoaT0+cltpXSkuc29ydChtcyk7Zm9yKGxldCBpIG9mIG4pZS5lYWNoKCh7bm9kZTphfSk9PntsZXQgbz1zLmluZGV4T2YoYSk7cy5zcGxpY2UobywxLFtMLHQoKV0pfSxpKTtyZXR1cm4gJHQoci5ibG9ja1BhcmFtcykmJnMucHVzaChMLGVyKHIpKSxbXCI8XCIsci50YWcsQihzKSxncyhyKV19ZnVuY3Rpb24gWnIoZSx0LHIpe2xldHtub2RlOm59PWUscz1uLmNoaWxkcmVuLmV2ZXJ5KGk9PnllKGkpKTtyZXR1cm4gdC5odG1sV2hpdGVzcGFjZVNlbnNpdGl2aXR5PT09XCJpZ25vcmVcIiYmcz9cIlwiOmUubWFwKCh7aXNGaXJzdDppfSk9PntsZXQgYT1yKCk7cmV0dXJuIGkmJnQuaHRtbFdoaXRlc3BhY2VTZW5zaXRpdml0eT09PVwiaWdub3JlXCI/W00sYV06YX0sXCJjaGlsZHJlblwiKX1mdW5jdGlvbiBncyhlKXtyZXR1cm4gWmUoZSk/amUoW00sXCIvPlwiXSxbXCIgLz5cIixNXSk6amUoW00sXCI+XCJdLFwiPlwiKX1mdW5jdGlvbiBrZShlKXt2YXIgbjtsZXQgdD1lLnRydXN0aW5nP1wie3t7XCI6XCJ7e1wiLHI9KG49ZS5zdHJpcCkhPW51bGwmJm4ub3Blbj9cIn5cIjpcIlwiO3JldHVyblt0LHJdfWZ1bmN0aW9uIFNlKGUpe3ZhciBuO2xldCB0PWUudHJ1c3Rpbmc/XCJ9fX1cIjpcIn19XCI7cmV0dXJuWyhuPWUuc3RyaXApIT1udWxsJiZuLmNsb3NlP1wiflwiOlwiXCIsdF19ZnVuY3Rpb24gYnMoZSl7bGV0IHQ9a2UoZSkscj1lLm9wZW5TdHJpcC5vcGVuP1wiflwiOlwiXCI7cmV0dXJuW3QscixcIiNcIl19ZnVuY3Rpb24geXMoZSl7bGV0IHQ9U2UoZSk7cmV0dXJuW2Uub3BlblN0cmlwLmNsb3NlP1wiflwiOlwiXCIsdF19ZnVuY3Rpb24gdG4oZSl7bGV0IHQ9a2UoZSkscj1lLmNsb3NlU3RyaXAub3Blbj9cIn5cIjpcIlwiO3JldHVyblt0LHIsXCIvXCJdfWZ1bmN0aW9uIGVuKGUpe2xldCB0PVNlKGUpO3JldHVybltlLmNsb3NlU3RyaXAuY2xvc2U/XCJ+XCI6XCJcIix0XX1mdW5jdGlvbiBsbihlKXtsZXQgdD1rZShlKSxyPWUuaW52ZXJzZVN0cmlwLm9wZW4/XCJ+XCI6XCJcIjtyZXR1cm5bdCxyXX1mdW5jdGlvbiBjbihlKXtsZXQgdD1TZShlKTtyZXR1cm5bZS5pbnZlcnNlU3RyaXAuY2xvc2U/XCJ+XCI6XCJcIix0XX1mdW5jdGlvbiBrcyhlLHQpe2xldHtub2RlOnJ9PWUsbj1bXSxzPXZlKGUsdCk7cmV0dXJuIHMmJm4ucHVzaChSKHMpKSwkdChyLnByb2dyYW0uYmxvY2tQYXJhbXMpJiZuLnB1c2goZXIoci5wcm9ncmFtKSksUihbYnMociksdHIoZSx0KSxuLmxlbmd0aD4wP0IoW0wsYnQoTCxuKV0pOlwiXCIsTSx5cyhyKV0pfWZ1bmN0aW9uIFNzKGUsdCl7cmV0dXJuW3QuaHRtbFdoaXRlc3BhY2VTZW5zaXRpdml0eT09PVwiaWdub3JlXCI/Z3Q6XCJcIixsbihlKSxcImVsc2VcIixjbihlKV19dmFyIHVuPShlLHQpPT5lLmhlYWQudHlwZT09PVwiVmFySGVhZFwiJiZ0LmhlYWQudHlwZT09PVwiVmFySGVhZFwiJiZlLmhlYWQubmFtZT09PXQuaGVhZC5uYW1lO2Z1bmN0aW9uIHZzKGUpe3ZhciBuO2xldHtncmFuZHBhcmVudDp0LG5vZGU6cn09ZTtyZXR1cm4oKG49dD09bnVsbD92b2lkIDA6dC5pbnZlcnNlKT09bnVsbD92b2lkIDA6bi5ib2R5Lmxlbmd0aCk9PT0xJiZ0LmludmVyc2UuYm9keVswXT09PXImJnVuKHQuaW52ZXJzZS5ib2R5WzBdLnBhdGgsdC5wYXRoKX1mdW5jdGlvbiBFcyhlLHQpe2xldHtub2RlOnIsZ3JhbmRwYXJlbnQ6bn09ZTtyZXR1cm4gUihbbG4obiksW1wiZWxzZVwiLFwiIFwiLG4uaW52ZXJzZS5ib2R5WzBdLnBhdGguaGVhZC5uYW1lXSxCKFtMLFIodmUoZSx0KSksLi4uJHQoci5wcm9ncmFtLmJsb2NrUGFyYW1zKT9bTCxlcihyLnByb2dyYW0pXTpbXV0pLE0sY24obildKX1mdW5jdGlvbiB3cyhlLHQscil7bGV0e25vZGU6bn09ZTtyZXR1cm4gci5odG1sV2hpdGVzcGFjZVNlbnNpdGl2aXR5PT09XCJpZ25vcmVcIj9baG4obik/TTpndCx0bihuKSx0KFwicGF0aFwiKSxlbihuKV06W3RuKG4pLHQoXCJwYXRoXCIpLGVuKG4pXX1mdW5jdGlvbiBobihlKXtyZXR1cm4gZS50eXBlPT09XCJCbG9ja1N0YXRlbWVudFwiJiZlLnByb2dyYW0uYm9keS5ldmVyeSh0PT55ZSh0KSl9ZnVuY3Rpb24gVHMoZSl7cmV0dXJuIHBuKGUpJiZlLmludmVyc2UuYm9keS5sZW5ndGg9PT0xJiZlLmludmVyc2UuYm9keVswXS50eXBlPT09XCJCbG9ja1N0YXRlbWVudFwiJiZ1bihlLmludmVyc2UuYm9keVswXS5wYXRoLGUucGF0aCl9ZnVuY3Rpb24gcG4oZSl7cmV0dXJuIGUudHlwZT09PVwiQmxvY2tTdGF0ZW1lbnRcIiYmZS5pbnZlcnNlfWZ1bmN0aW9uIHJuKGUsdCxyKXtsZXR7bm9kZTpufT1lO2lmKGhuKG4pKXJldHVyblwiXCI7bGV0IHM9dChcInByb2dyYW1cIik7cmV0dXJuIHIuaHRtbFdoaXRlc3BhY2VTZW5zaXRpdml0eT09PVwiaWdub3JlXCI/QihbZ3Qsc10pOkIocyl9ZnVuY3Rpb24gbm4oZSx0LHIpe2xldHtub2RlOm59PWUscz10KFwiaW52ZXJzZVwiKSxpPXIuaHRtbFdoaXRlc3BhY2VTZW5zaXRpdml0eT09PVwiaWdub3JlXCI/W2d0LHNdOnM7cmV0dXJuIFRzKG4pP2k6cG4obik/W1NzKG4sciksQihpKV06XCJcIn1mdW5jdGlvbiBzbihlKXtyZXR1cm4gYnQoTCx6LnNwbGl0KGUpKX1mdW5jdGlvbiBDcyhlKXtmb3IobGV0IHQ9MDt0PDI7dCsrKXtsZXQgcj1lLmdldFBhcmVudE5vZGUodCk7aWYoKHI9PW51bGw/dm9pZCAwOnIudHlwZSk9PT1cIkF0dHJOb2RlXCIpcmV0dXJuIHIubmFtZS50b0xvd2VyQ2FzZSgpfX1mdW5jdGlvbiBSdChlKXtyZXR1cm4gZT10eXBlb2YgZT09XCJzdHJpbmdcIj9lOlwiXCIsZS5zcGxpdChgXG5gKS5sZW5ndGgtMX1mdW5jdGlvbiBOcyhlKXtlPXR5cGVvZiBlPT1cInN0cmluZ1wiP2U6XCJcIjtsZXQgdD0oZS5tYXRjaCgvXihbXlxcU1xcblxccl0qW1xcblxccl0pKy9ndSl8fFtdKVswXXx8XCJcIjtyZXR1cm4gUnQodCl9ZnVuY3Rpb24geHMoZSl7ZT10eXBlb2YgZT09XCJzdHJpbmdcIj9lOlwiXCI7bGV0IHQ9KGUubWF0Y2goLyhbXFxuXFxyXVteXFxTXFxuXFxyXSopKyQvZ3UpfHxbXSlbMF18fFwiXCI7cmV0dXJuIFJ0KHQpfWZ1bmN0aW9uIGVlKGU9MCl7cmV0dXJuIEFycmF5LmZyb20oe2xlbmd0aDpNYXRoLm1pbihlLG9uKX0pLmZpbGwoZ3QpfWZ1bmN0aW9uIEFzKGUsdCl7bGV0e25vZGU6e3ZhbHVlOnJ9fT1lLG49YmUocixQcyhlKT8hdC5zaW5nbGVRdW90ZTp0LnNpbmdsZVF1b3RlKTtyZXR1cm5bbix6ZSghMSxyLG4sYFxcXFwke259YCksbl19ZnVuY3Rpb24gUHMoZSl7bGV0e2FuY2VzdG9yczp0fT1lLHI9dC5maW5kSW5kZXgobj0+bi50eXBlIT09XCJTdWJFeHByZXNzaW9uXCIpO3JldHVybiByIT09LTEmJnRbcisxXS50eXBlPT09XCJDb25jYXRTdGF0ZW1lbnRcIiYmdFtyKzJdLnR5cGU9PT1cIkF0dHJOb2RlXCJ9ZnVuY3Rpb24gTHMoZSx0KXtsZXQgcj10cihlLHQpLG49dmUoZSx0KTtyZXR1cm4gbj9CKFtyLEwsUihuKV0pOnJ9ZnVuY3Rpb24gYW4oZSx0KXtsZXQgcj10cihlLHQpLG49dmUoZSx0KTtyZXR1cm4gbj9bQihbcixMLG5dKSxNXTpyfWZ1bmN0aW9uIHRyKGUsdCl7cmV0dXJuIHQoXCJwYXRoXCIpfWZ1bmN0aW9uIHZlKGUsdCl7dmFyIHM7bGV0e25vZGU6cn09ZSxuPVtdO3JldHVybiByLnBhcmFtcy5sZW5ndGg+MCYmbi5wdXNoKC4uLmUubWFwKHQsXCJwYXJhbXNcIikpLCgocz1yLmhhc2gpPT1udWxsP3ZvaWQgMDpzLnBhaXJzLmxlbmd0aCk+MCYmbi5wdXNoKHQoXCJoYXNoXCIpKSxuLmxlbmd0aD09PTA/XCJcIjpidChMLG4pfWZ1bmN0aW9uIGVyKGUpe3JldHVybltcImFzIHxcIixlLmJsb2NrUGFyYW1zLmpvaW4oXCIgXCIpLFwifFwiXX12YXIgRHM9bmV3IFNldChcIiFcXFwiIyUmJygpKissLi87PD0+QFtcXFxcXV5ge3x9flwiKSxfcz1uZXcgU2V0KFtcInRydWVcIixcImZhbHNlXCIsXCJudWxsXCIsXCJ1bmRlZmluZWRcIl0pLE9zPShlLHQpPT50PT09MCYmZS5zdGFydHNXaXRoKFwiQFwiKT8hMTp0IT09MCYmX3MuaGFzKGUpfHwvXFxzL3UudGVzdChlKXx8L15cXGQvdS50ZXN0KGUpfHxBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGUscj0+RHMuaGFzKHIpKTtmdW5jdGlvbiBCcyhlKXtyZXR1cm4gZS50YWlsLmxlbmd0aD09PTAmJmUub3JpZ2luYWwuaW5jbHVkZXMoXCIvXCIpP2Uub3JpZ2luYWw6W2UuaGVhZC5vcmlnaW5hbCwuLi5lLnRhaWxdLm1hcCgocixuKT0+T3MocixuKT9gWyR7cn1dYDpyKS5qb2luKFwiLlwiKX12YXIgSXM9e3ByaW50OmZzLG1hc3NhZ2VBc3ROb2RlOkdyLGhhc1ByZXR0aWVySWdub3JlOlhyLGdldFZpc2l0b3JLZXlzOmpyfSxmbj1Jczt2YXIgbW49W3tsaW5ndWlzdExhbmd1YWdlSWQ6MTU1LG5hbWU6XCJIYW5kbGViYXJzXCIsdHlwZTpcIm1hcmt1cFwiLGNvbG9yOlwiI2Y3OTMxZVwiLGFsaWFzZXM6W1wiaGJzXCIsXCJodG1sYmFyc1wiXSxleHRlbnNpb25zOltcIi5oYW5kbGViYXJzXCIsXCIuaGJzXCJdLHRtU2NvcGU6XCJ0ZXh0Lmh0bWwuaGFuZGxlYmFyc1wiLGFjZU1vZGU6XCJoYW5kbGViYXJzXCIscGFyc2VyczpbXCJnbGltbWVyXCJdLHZzY29kZUxhbmd1YWdlSWRzOltcImhhbmRsZWJhcnNcIl19XTt2YXIgQXI9e307VWUoQXIse2dsaW1tZXI6KCk9PlNpfSk7dmFyIFJzPU9iamVjdC5mcmVlemUoW10pO2Z1bmN0aW9uIGduKCl7cmV0dXJuIFJzfXZhciBPYT1nbigpLEJhPWduKCk7dmFyIHJyPU9iamVjdC5hc3NpZ247dmFyIGRuPWNvbnNvbGU7ZnVuY3Rpb24gYm4oZSx0PVwidW5leHBlY3RlZCB1bnJlYWNoYWJsZSBicmFuY2hcIil7dGhyb3cgZG4ubG9nKFwidW5yZWFjaGFibGVcIixlKSxkbi5sb2coYCR7dH0gOjogJHtKU09OLnN0cmluZ2lmeShlKX0gKCR7ZX0pYCksbmV3IEVycm9yKFwiY29kZSByZWFjaGVkIHVucmVhY2hhYmxlXCIpfXZhciBxcz1mdW5jdGlvbigpe3ZhciBlPWZ1bmN0aW9uKG50LGQsayxiKXtmb3Ioaz1rfHx7fSxiPW50Lmxlbmd0aDtiLS07a1tudFtiXV09ZCk7cmV0dXJuIGt9LHQ9WzIsNDRdLHI9WzEsMjBdLG49WzUsMTQsMTUsMTksMjksMzQsMzksNDQsNDcsNDgsNTIsNTYsNjBdLHM9WzEsMzVdLGk9WzEsMzhdLGE9WzEsMzBdLG89WzEsMzFdLGM9WzEsMzJdLGg9WzEsMzNdLHA9WzEsMzRdLG09WzEsMzddLHY9WzE0LDE1LDE5LDI5LDM0LDM5LDQ0LDQ3LDQ4LDUyLDU2LDYwXSxnPVsxNCwxNSwxOSwyOSwzNCw0NCw0Nyw0OCw1Miw1Niw2MF0sRT1bMTUsMThdLE49WzE0LDE1LDE5LDI5LDM0LDQ3LDQ4LDUyLDU2LDYwXSx4PVszMyw2NCw3MSw3OSw4MCw4MSw4Miw4Myw4NF0sdz1bMjMsMzMsNTUsNjQsNjcsNzEsNzQsNzksODAsODEsODIsODMsODRdLFo9WzEsNTFdLHE9WzIzLDMzLDU1LDY0LDY3LDcxLDc0LDc5LDgwLDgxLDgyLDgzLDg0LDg2XSxXPVsyLDQzXSxUdD1bNTUsNjQsNzEsNzksODAsODEsODIsODMsODRdLEN0PVsxLDU4XSxqPVsxLDU5XSx0dD1bMSw2Nl0sVj1bMzMsNjQsNzEsNzQsNzksODAsODEsODIsODMsODRdLE50PVsyMyw2NCw3MSw3OSw4MCw4MSw4Miw4Myw4NF0sSD1bMSw3Nl0sZXQ9WzY0LDY3LDcxLDc5LDgwLDgxLDgyLDgzLDg0XSxQPVszMyw3NF0scnQ9WzIzLDMzLDU1LDY3LDcxLDc0XSxoZT1bMSwxMDZdLE9lPVsxLDExOF0sTHI9WzcxLDc2XSxCZT17dHJhY2U6ZnVuY3Rpb24oKXt9LHl5Ont9LHN5bWJvbHNfOntlcnJvcjoyLHJvb3Q6Myxwcm9ncmFtOjQsRU9GOjUscHJvZ3JhbV9yZXBldGl0aW9uMDo2LHN0YXRlbWVudDo3LG11c3RhY2hlOjgsYmxvY2s6OSxyYXdCbG9jazoxMCxwYXJ0aWFsOjExLHBhcnRpYWxCbG9jazoxMixjb250ZW50OjEzLENPTU1FTlQ6MTQsQ09OVEVOVDoxNSxvcGVuUmF3QmxvY2s6MTYscmF3QmxvY2tfcmVwZXRpdGlvbjA6MTcsRU5EX1JBV19CTE9DSzoxOCxPUEVOX1JBV19CTE9DSzoxOSxoZWxwZXJOYW1lOjIwLG9wZW5SYXdCbG9ja19yZXBldGl0aW9uMDoyMSxvcGVuUmF3QmxvY2tfb3B0aW9uMDoyMixDTE9TRV9SQVdfQkxPQ0s6MjMsb3BlbkJsb2NrOjI0LGJsb2NrX29wdGlvbjA6MjUsY2xvc2VCbG9jazoyNixvcGVuSW52ZXJzZToyNyxibG9ja19vcHRpb24xOjI4LE9QRU5fQkxPQ0s6Mjksb3BlbkJsb2NrX3JlcGV0aXRpb24wOjMwLG9wZW5CbG9ja19vcHRpb24wOjMxLG9wZW5CbG9ja19vcHRpb24xOjMyLENMT1NFOjMzLE9QRU5fSU5WRVJTRTozNCxvcGVuSW52ZXJzZV9yZXBldGl0aW9uMDozNSxvcGVuSW52ZXJzZV9vcHRpb24wOjM2LG9wZW5JbnZlcnNlX29wdGlvbjE6Mzcsb3BlbkludmVyc2VDaGFpbjozOCxPUEVOX0lOVkVSU0VfQ0hBSU46Mzksb3BlbkludmVyc2VDaGFpbl9yZXBldGl0aW9uMDo0MCxvcGVuSW52ZXJzZUNoYWluX29wdGlvbjA6NDEsb3BlbkludmVyc2VDaGFpbl9vcHRpb24xOjQyLGludmVyc2VBbmRQcm9ncmFtOjQzLElOVkVSU0U6NDQsaW52ZXJzZUNoYWluOjQ1LGludmVyc2VDaGFpbl9vcHRpb24wOjQ2LE9QRU5fRU5EQkxPQ0s6NDcsT1BFTjo0OCxleHByOjQ5LG11c3RhY2hlX3JlcGV0aXRpb24wOjUwLG11c3RhY2hlX29wdGlvbjA6NTEsT1BFTl9VTkVTQ0FQRUQ6NTIsbXVzdGFjaGVfcmVwZXRpdGlvbjE6NTMsbXVzdGFjaGVfb3B0aW9uMTo1NCxDTE9TRV9VTkVTQ0FQRUQ6NTUsT1BFTl9QQVJUSUFMOjU2LHBhcnRpYWxfcmVwZXRpdGlvbjA6NTcscGFydGlhbF9vcHRpb24wOjU4LG9wZW5QYXJ0aWFsQmxvY2s6NTksT1BFTl9QQVJUSUFMX0JMT0NLOjYwLG9wZW5QYXJ0aWFsQmxvY2tfcmVwZXRpdGlvbjA6NjEsb3BlblBhcnRpYWxCbG9ja19vcHRpb24wOjYyLHNleHByOjYzLE9QRU5fU0VYUFI6NjQsc2V4cHJfcmVwZXRpdGlvbjA6NjUsc2V4cHJfb3B0aW9uMDo2NixDTE9TRV9TRVhQUjo2NyxoYXNoOjY4LGhhc2hfcmVwZXRpdGlvbl9wbHVzMDo2OSxoYXNoU2VnbWVudDo3MCxJRDo3MSxFUVVBTFM6NzIsYmxvY2tQYXJhbXM6NzMsT1BFTl9CTE9DS19QQVJBTVM6NzQsYmxvY2tQYXJhbXNfcmVwZXRpdGlvbl9wbHVzMDo3NSxDTE9TRV9CTE9DS19QQVJBTVM6NzYscGF0aDo3NyxkYXRhTmFtZTo3OCxTVFJJTkc6NzksTlVNQkVSOjgwLEJPT0xFQU46ODEsVU5ERUZJTkVEOjgyLE5VTEw6ODMsREFUQTo4NCxwYXRoU2VnbWVudHM6ODUsU0VQOjg2LCRhY2NlcHQ6MCwkZW5kOjF9LHRlcm1pbmFsc186ezI6XCJlcnJvclwiLDU6XCJFT0ZcIiwxNDpcIkNPTU1FTlRcIiwxNTpcIkNPTlRFTlRcIiwxODpcIkVORF9SQVdfQkxPQ0tcIiwxOTpcIk9QRU5fUkFXX0JMT0NLXCIsMjM6XCJDTE9TRV9SQVdfQkxPQ0tcIiwyOTpcIk9QRU5fQkxPQ0tcIiwzMzpcIkNMT1NFXCIsMzQ6XCJPUEVOX0lOVkVSU0VcIiwzOTpcIk9QRU5fSU5WRVJTRV9DSEFJTlwiLDQ0OlwiSU5WRVJTRVwiLDQ3OlwiT1BFTl9FTkRCTE9DS1wiLDQ4OlwiT1BFTlwiLDUyOlwiT1BFTl9VTkVTQ0FQRURcIiw1NTpcIkNMT1NFX1VORVNDQVBFRFwiLDU2OlwiT1BFTl9QQVJUSUFMXCIsNjA6XCJPUEVOX1BBUlRJQUxfQkxPQ0tcIiw2NDpcIk9QRU5fU0VYUFJcIiw2NzpcIkNMT1NFX1NFWFBSXCIsNzE6XCJJRFwiLDcyOlwiRVFVQUxTXCIsNzQ6XCJPUEVOX0JMT0NLX1BBUkFNU1wiLDc2OlwiQ0xPU0VfQkxPQ0tfUEFSQU1TXCIsNzk6XCJTVFJJTkdcIiw4MDpcIk5VTUJFUlwiLDgxOlwiQk9PTEVBTlwiLDgyOlwiVU5ERUZJTkVEXCIsODM6XCJOVUxMXCIsODQ6XCJEQVRBXCIsODY6XCJTRVBcIn0scHJvZHVjdGlvbnNfOlswLFszLDJdLFs0LDFdLFs3LDFdLFs3LDFdLFs3LDFdLFs3LDFdLFs3LDFdLFs3LDFdLFs3LDFdLFsxMywxXSxbMTAsM10sWzE2LDVdLFs5LDRdLFs5LDRdLFsyNCw2XSxbMjcsNl0sWzM4LDZdLFs0MywyXSxbNDUsM10sWzQ1LDFdLFsyNiwzXSxbOCw1XSxbOCw1XSxbMTEsNV0sWzEyLDNdLFs1OSw1XSxbNDksMV0sWzQ5LDFdLFs2Myw1XSxbNjgsMV0sWzcwLDNdLFs3MywzXSxbMjAsMV0sWzIwLDFdLFsyMCwxXSxbMjAsMV0sWzIwLDFdLFsyMCwxXSxbMjAsMV0sWzc4LDJdLFs3NywxXSxbODUsM10sWzg1LDFdLFs2LDBdLFs2LDJdLFsxNywwXSxbMTcsMl0sWzIxLDBdLFsyMSwyXSxbMjIsMF0sWzIyLDFdLFsyNSwwXSxbMjUsMV0sWzI4LDBdLFsyOCwxXSxbMzAsMF0sWzMwLDJdLFszMSwwXSxbMzEsMV0sWzMyLDBdLFszMiwxXSxbMzUsMF0sWzM1LDJdLFszNiwwXSxbMzYsMV0sWzM3LDBdLFszNywxXSxbNDAsMF0sWzQwLDJdLFs0MSwwXSxbNDEsMV0sWzQyLDBdLFs0MiwxXSxbNDYsMF0sWzQ2LDFdLFs1MCwwXSxbNTAsMl0sWzUxLDBdLFs1MSwxXSxbNTMsMF0sWzUzLDJdLFs1NCwwXSxbNTQsMV0sWzU3LDBdLFs1NywyXSxbNTgsMF0sWzU4LDFdLFs2MSwwXSxbNjEsMl0sWzYyLDBdLFs2MiwxXSxbNjUsMF0sWzY1LDJdLFs2NiwwXSxbNjYsMV0sWzY5LDFdLFs2OSwyXSxbNzUsMV0sWzc1LDJdXSxwZXJmb3JtQWN0aW9uOmZ1bmN0aW9uKGQsayxiLHksQyxsLHh0KXt2YXIgdT1sLmxlbmd0aC0xO3N3aXRjaChDKXtjYXNlIDE6cmV0dXJuIGxbdS0xXTtjYXNlIDI6dGhpcy4kPXkucHJlcGFyZVByb2dyYW0obFt1XSk7YnJlYWs7Y2FzZSAzOmNhc2UgNDpjYXNlIDU6Y2FzZSA2OmNhc2UgNzpjYXNlIDg6Y2FzZSAyMDpjYXNlIDI3OmNhc2UgMjg6Y2FzZSAzMzpjYXNlIDM0OnRoaXMuJD1sW3VdO2JyZWFrO2Nhc2UgOTp0aGlzLiQ9e3R5cGU6XCJDb21tZW50U3RhdGVtZW50XCIsdmFsdWU6eS5zdHJpcENvbW1lbnQobFt1XSksc3RyaXA6eS5zdHJpcEZsYWdzKGxbdV0sbFt1XSksbG9jOnkubG9jSW5mbyh0aGlzLl8kKX07YnJlYWs7Y2FzZSAxMDp0aGlzLiQ9e3R5cGU6XCJDb250ZW50U3RhdGVtZW50XCIsb3JpZ2luYWw6bFt1XSx2YWx1ZTpsW3VdLGxvYzp5LmxvY0luZm8odGhpcy5fJCl9O2JyZWFrO2Nhc2UgMTE6dGhpcy4kPXkucHJlcGFyZVJhd0Jsb2NrKGxbdS0yXSxsW3UtMV0sbFt1XSx0aGlzLl8kKTticmVhaztjYXNlIDEyOnRoaXMuJD17cGF0aDpsW3UtM10scGFyYW1zOmxbdS0yXSxoYXNoOmxbdS0xXX07YnJlYWs7Y2FzZSAxMzp0aGlzLiQ9eS5wcmVwYXJlQmxvY2sobFt1LTNdLGxbdS0yXSxsW3UtMV0sbFt1XSwhMSx0aGlzLl8kKTticmVhaztjYXNlIDE0OnRoaXMuJD15LnByZXBhcmVCbG9jayhsW3UtM10sbFt1LTJdLGxbdS0xXSxsW3VdLCEwLHRoaXMuXyQpO2JyZWFrO2Nhc2UgMTU6dGhpcy4kPXtvcGVuOmxbdS01XSxwYXRoOmxbdS00XSxwYXJhbXM6bFt1LTNdLGhhc2g6bFt1LTJdLGJsb2NrUGFyYW1zOmxbdS0xXSxzdHJpcDp5LnN0cmlwRmxhZ3MobFt1LTVdLGxbdV0pfTticmVhaztjYXNlIDE2OmNhc2UgMTc6dGhpcy4kPXtwYXRoOmxbdS00XSxwYXJhbXM6bFt1LTNdLGhhc2g6bFt1LTJdLGJsb2NrUGFyYW1zOmxbdS0xXSxzdHJpcDp5LnN0cmlwRmxhZ3MobFt1LTVdLGxbdV0pfTticmVhaztjYXNlIDE4OnRoaXMuJD17c3RyaXA6eS5zdHJpcEZsYWdzKGxbdS0xXSxsW3UtMV0pLHByb2dyYW06bFt1XX07YnJlYWs7Y2FzZSAxOTp2YXIgc3Q9eS5wcmVwYXJlQmxvY2sobFt1LTJdLGxbdS0xXSxsW3VdLGxbdV0sITEsdGhpcy5fJCksVXQ9eS5wcmVwYXJlUHJvZ3JhbShbc3RdLGxbdS0xXS5sb2MpO1V0LmNoYWluZWQ9ITAsdGhpcy4kPXtzdHJpcDpsW3UtMl0uc3RyaXAscHJvZ3JhbTpVdCxjaGFpbjohMH07YnJlYWs7Y2FzZSAyMTp0aGlzLiQ9e3BhdGg6bFt1LTFdLHN0cmlwOnkuc3RyaXBGbGFncyhsW3UtMl0sbFt1XSl9O2JyZWFrO2Nhc2UgMjI6Y2FzZSAyMzp0aGlzLiQ9eS5wcmVwYXJlTXVzdGFjaGUobFt1LTNdLGxbdS0yXSxsW3UtMV0sbFt1LTRdLHkuc3RyaXBGbGFncyhsW3UtNF0sbFt1XSksdGhpcy5fJCk7YnJlYWs7Y2FzZSAyNDp0aGlzLiQ9e3R5cGU6XCJQYXJ0aWFsU3RhdGVtZW50XCIsbmFtZTpsW3UtM10scGFyYW1zOmxbdS0yXSxoYXNoOmxbdS0xXSxpbmRlbnQ6XCJcIixzdHJpcDp5LnN0cmlwRmxhZ3MobFt1LTRdLGxbdV0pLGxvYzp5LmxvY0luZm8odGhpcy5fJCl9O2JyZWFrO2Nhc2UgMjU6dGhpcy4kPXkucHJlcGFyZVBhcnRpYWxCbG9jayhsW3UtMl0sbFt1LTFdLGxbdV0sdGhpcy5fJCk7YnJlYWs7Y2FzZSAyNjp0aGlzLiQ9e3BhdGg6bFt1LTNdLHBhcmFtczpsW3UtMl0saGFzaDpsW3UtMV0sc3RyaXA6eS5zdHJpcEZsYWdzKGxbdS00XSxsW3VdKX07YnJlYWs7Y2FzZSAyOTp0aGlzLiQ9e3R5cGU6XCJTdWJFeHByZXNzaW9uXCIscGF0aDpsW3UtM10scGFyYW1zOmxbdS0yXSxoYXNoOmxbdS0xXSxsb2M6eS5sb2NJbmZvKHRoaXMuXyQpfTticmVhaztjYXNlIDMwOnRoaXMuJD17dHlwZTpcIkhhc2hcIixwYWlyczpsW3VdLGxvYzp5LmxvY0luZm8odGhpcy5fJCl9O2JyZWFrO2Nhc2UgMzE6dGhpcy4kPXt0eXBlOlwiSGFzaFBhaXJcIixrZXk6eS5pZChsW3UtMl0pLHZhbHVlOmxbdV0sbG9jOnkubG9jSW5mbyh0aGlzLl8kKX07YnJlYWs7Y2FzZSAzMjp0aGlzLiQ9eS5pZChsW3UtMV0pO2JyZWFrO2Nhc2UgMzU6dGhpcy4kPXt0eXBlOlwiU3RyaW5nTGl0ZXJhbFwiLHZhbHVlOmxbdV0sb3JpZ2luYWw6bFt1XSxsb2M6eS5sb2NJbmZvKHRoaXMuXyQpfTticmVhaztjYXNlIDM2OnRoaXMuJD17dHlwZTpcIk51bWJlckxpdGVyYWxcIix2YWx1ZTpOdW1iZXIobFt1XSksb3JpZ2luYWw6TnVtYmVyKGxbdV0pLGxvYzp5LmxvY0luZm8odGhpcy5fJCl9O2JyZWFrO2Nhc2UgMzc6dGhpcy4kPXt0eXBlOlwiQm9vbGVhbkxpdGVyYWxcIix2YWx1ZTpsW3VdPT09XCJ0cnVlXCIsb3JpZ2luYWw6bFt1XT09PVwidHJ1ZVwiLGxvYzp5LmxvY0luZm8odGhpcy5fJCl9O2JyZWFrO2Nhc2UgMzg6dGhpcy4kPXt0eXBlOlwiVW5kZWZpbmVkTGl0ZXJhbFwiLG9yaWdpbmFsOnZvaWQgMCx2YWx1ZTp2b2lkIDAsbG9jOnkubG9jSW5mbyh0aGlzLl8kKX07YnJlYWs7Y2FzZSAzOTp0aGlzLiQ9e3R5cGU6XCJOdWxsTGl0ZXJhbFwiLG9yaWdpbmFsOm51bGwsdmFsdWU6bnVsbCxsb2M6eS5sb2NJbmZvKHRoaXMuXyQpfTticmVhaztjYXNlIDQwOnRoaXMuJD15LnByZXBhcmVQYXRoKCEwLGxbdV0sdGhpcy5fJCk7YnJlYWs7Y2FzZSA0MTp0aGlzLiQ9eS5wcmVwYXJlUGF0aCghMSxsW3VdLHRoaXMuXyQpO2JyZWFrO2Nhc2UgNDI6bFt1LTJdLnB1c2goe3BhcnQ6eS5pZChsW3VdKSxvcmlnaW5hbDpsW3VdLHNlcGFyYXRvcjpsW3UtMV19KSx0aGlzLiQ9bFt1LTJdO2JyZWFrO2Nhc2UgNDM6dGhpcy4kPVt7cGFydDp5LmlkKGxbdV0pLG9yaWdpbmFsOmxbdV19XTticmVhaztjYXNlIDQ0OmNhc2UgNDY6Y2FzZSA0ODpjYXNlIDU2OmNhc2UgNjI6Y2FzZSA2ODpjYXNlIDc2OmNhc2UgODA6Y2FzZSA4NDpjYXNlIDg4OmNhc2UgOTI6dGhpcy4kPVtdO2JyZWFrO2Nhc2UgNDU6Y2FzZSA0NzpjYXNlIDQ5OmNhc2UgNTc6Y2FzZSA2MzpjYXNlIDY5OmNhc2UgNzc6Y2FzZSA4MTpjYXNlIDg1OmNhc2UgODk6Y2FzZSA5MzpjYXNlIDk3OmNhc2UgOTk6bFt1LTFdLnB1c2gobFt1XSk7YnJlYWs7Y2FzZSA5NjpjYXNlIDk4OnRoaXMuJD1bbFt1XV07YnJlYWt9fSx0YWJsZTpbZShbNSwxNCwxNSwxOSwyOSwzNCw0OCw1Miw1Niw2MF0sdCx7MzoxLDQ6Miw2OjN9KSx7MTpbM119LHs1OlsxLDRdfSxlKFs1LDM5LDQ0LDQ3XSxbMiwyXSx7Nzo1LDg6Niw5OjcsMTA6OCwxMTo5LDEyOjEwLDEzOjExLDI0OjE1LDI3OjE2LDE2OjE3LDU5OjE5LDE0OlsxLDEyXSwxNTpyLDE5OlsxLDIzXSwyOTpbMSwyMV0sMzQ6WzEsMjJdLDQ4OlsxLDEzXSw1MjpbMSwxNF0sNTY6WzEsMThdLDYwOlsxLDI0XX0pLHsxOlsyLDFdfSxlKG4sWzIsNDVdKSxlKG4sWzIsM10pLGUobixbMiw0XSksZShuLFsyLDVdKSxlKG4sWzIsNl0pLGUobixbMiw3XSksZShuLFsyLDhdKSxlKG4sWzIsOV0pLHsyMDoyNiw0OToyNSw2MzoyNyw2NDpzLDcxOmksNzc6MjgsNzg6MjksNzk6YSw4MDpvLDgxOmMsODI6aCw4MzpwLDg0Om0sODU6MzZ9LHsyMDoyNiw0OTozOSw2MzoyNyw2NDpzLDcxOmksNzc6MjgsNzg6MjksNzk6YSw4MDpvLDgxOmMsODI6aCw4MzpwLDg0Om0sODU6MzZ9LGUodix0LHs2OjMsNDo0MH0pLGUoZyx0LHs2OjMsNDo0MX0pLGUoRSxbMiw0Nl0sezE3OjQyfSksezIwOjI2LDQ5OjQzLDYzOjI3LDY0OnMsNzE6aSw3NzoyOCw3ODoyOSw3OTphLDgwOm8sODE6Yyw4MjpoLDgzOnAsODQ6bSw4NTozNn0sZShOLHQsezY6Myw0OjQ0fSksZShbNSwxNCwxNSwxOCwxOSwyOSwzNCwzOSw0NCw0Nyw0OCw1Miw1Niw2MF0sWzIsMTBdKSx7MjA6NDUsNzE6aSw3NzoyOCw3ODoyOSw3OTphLDgwOm8sODE6Yyw4MjpoLDgzOnAsODQ6bSw4NTozNn0sezIwOjQ2LDcxOmksNzc6MjgsNzg6MjksNzk6YSw4MDpvLDgxOmMsODI6aCw4MzpwLDg0Om0sODU6MzZ9LHsyMDo0Nyw3MTppLDc3OjI4LDc4OjI5LDc5OmEsODA6byw4MTpjLDgyOmgsODM6cCw4NDptLDg1OjM2fSx7MjA6MjYsNDk6NDgsNjM6MjcsNjQ6cyw3MTppLDc3OjI4LDc4OjI5LDc5OmEsODA6byw4MTpjLDgyOmgsODM6cCw4NDptLDg1OjM2fSxlKHgsWzIsNzZdLHs1MDo0OX0pLGUodyxbMiwyN10pLGUodyxbMiwyOF0pLGUodyxbMiwzM10pLGUodyxbMiwzNF0pLGUodyxbMiwzNV0pLGUodyxbMiwzNl0pLGUodyxbMiwzN10pLGUodyxbMiwzOF0pLGUodyxbMiwzOV0pLHsyMDoyNiw0OTo1MCw2MzoyNyw2NDpzLDcxOmksNzc6MjgsNzg6MjksNzk6YSw4MDpvLDgxOmMsODI6aCw4MzpwLDg0Om0sODU6MzZ9LGUodyxbMiw0MV0sezg2Olp9KSx7NzE6aSw4NTo1Mn0sZShxLFcpLGUoVHQsWzIsODBdLHs1Mzo1M30pLHsyNTo1NCwzODo1NiwzOTpDdCw0Mzo1Nyw0NDpqLDQ1OjU1LDQ3OlsyLDUyXX0sezI4OjYwLDQzOjYxLDQ0OmosNDc6WzIsNTRdfSx7MTM6NjMsMTU6ciwxODpbMSw2Ml19LGUoeCxbMiw4NF0sezU3OjY0fSksezI2OjY1LDQ3OnR0fSxlKFYsWzIsNTZdLHszMDo2N30pLGUoVixbMiw2Ml0sezM1OjY4fSksZShOdCxbMiw0OF0sezIxOjY5fSksZSh4LFsyLDg4XSx7NjE6NzB9KSx7MjA6MjYsMzM6WzIsNzhdLDQ5OjcyLDUxOjcxLDYzOjI3LDY0OnMsNjg6NzMsNjk6NzQsNzA6NzUsNzE6SCw3NzoyOCw3ODoyOSw3OTphLDgwOm8sODE6Yyw4MjpoLDgzOnAsODQ6bSw4NTozNn0sZShldCxbMiw5Ml0sezY1Ojc3fSksezcxOlsxLDc4XX0sZSh3LFsyLDQwXSx7ODY6Wn0pLHsyMDoyNiw0OTo4MCw1NDo3OSw1NTpbMiw4Ml0sNjM6MjcsNjQ6cyw2ODo4MSw2OTo3NCw3MDo3NSw3MTpILDc3OjI4LDc4OjI5LDc5OmEsODA6byw4MTpjLDgyOmgsODM6cCw4NDptLDg1OjM2fSx7MjY6ODIsNDc6dHR9LHs0NzpbMiw1M119LGUodix0LHs2OjMsNDo4M30pLHs0NzpbMiwyMF19LHsyMDo4NCw3MTppLDc3OjI4LDc4OjI5LDc5OmEsODA6byw4MTpjLDgyOmgsODM6cCw4NDptLDg1OjM2fSxlKE4sdCx7NjozLDQ6ODV9KSx7MjY6ODYsNDc6dHR9LHs0NzpbMiw1NV19LGUobixbMiwxMV0pLGUoRSxbMiw0N10pLHsyMDoyNiwzMzpbMiw4Nl0sNDk6ODgsNTg6ODcsNjM6MjcsNjQ6cyw2ODo4OSw2OTo3NCw3MDo3NSw3MTpILDc3OjI4LDc4OjI5LDc5OmEsODA6byw4MTpjLDgyOmgsODM6cCw4NDptLDg1OjM2fSxlKG4sWzIsMjVdKSx7MjA6OTAsNzE6aSw3NzoyOCw3ODoyOSw3OTphLDgwOm8sODE6Yyw4MjpoLDgzOnAsODQ6bSw4NTozNn0sZShQLFsyLDU4XSx7MjA6MjYsNjM6MjcsNzc6MjgsNzg6MjksODU6MzYsNjk6NzQsNzA6NzUsMzE6OTEsNDk6OTIsNjg6OTMsNjQ6cyw3MTpILDc5OmEsODA6byw4MTpjLDgyOmgsODM6cCw4NDptfSksZShQLFsyLDY0XSx7MjA6MjYsNjM6MjcsNzc6MjgsNzg6MjksODU6MzYsNjk6NzQsNzA6NzUsMzY6OTQsNDk6OTUsNjg6OTYsNjQ6cyw3MTpILDc5OmEsODA6byw4MTpjLDgyOmgsODM6cCw4NDptfSksezIwOjI2LDIyOjk3LDIzOlsyLDUwXSw0OTo5OCw2MzoyNyw2NDpzLDY4Ojk5LDY5Ojc0LDcwOjc1LDcxOkgsNzc6MjgsNzg6MjksNzk6YSw4MDpvLDgxOmMsODI6aCw4MzpwLDg0Om0sODU6MzZ9LHsyMDoyNiwzMzpbMiw5MF0sNDk6MTAxLDYyOjEwMCw2MzoyNyw2NDpzLDY4OjEwMiw2OTo3NCw3MDo3NSw3MTpILDc3OjI4LDc4OjI5LDc5OmEsODA6byw4MTpjLDgyOmgsODM6cCw4NDptLDg1OjM2fSx7MzM6WzEsMTAzXX0sZSh4LFsyLDc3XSksezMzOlsyLDc5XX0sZShbMjMsMzMsNTUsNjcsNzRdLFsyLDMwXSx7NzA6MTA0LDcxOlsxLDEwNV19KSxlKHJ0LFsyLDk2XSksZShxLFcsezcyOmhlfSksezIwOjI2LDQ5OjEwOCw2MzoyNyw2NDpzLDY2OjEwNyw2NzpbMiw5NF0sNjg6MTA5LDY5Ojc0LDcwOjc1LDcxOkgsNzc6MjgsNzg6MjksNzk6YSw4MDpvLDgxOmMsODI6aCw4MzpwLDg0Om0sODU6MzZ9LGUocSxbMiw0Ml0pLHs1NTpbMSwxMTBdfSxlKFR0LFsyLDgxXSksezU1OlsyLDgzXX0sZShuLFsyLDEzXSksezM4OjU2LDM5OkN0LDQzOjU3LDQ0OmosNDU6MTEyLDQ2OjExMSw0NzpbMiw3NF19LGUoVixbMiw2OF0sezQwOjExM30pLHs0NzpbMiwxOF19LGUobixbMiwxNF0pLHszMzpbMSwxMTRdfSxlKHgsWzIsODVdKSx7MzM6WzIsODddfSx7MzM6WzEsMTE1XX0sezMyOjExNiwzMzpbMiw2MF0sNzM6MTE3LDc0Ok9lfSxlKFYsWzIsNTddKSxlKFAsWzIsNTldKSx7MzM6WzIsNjZdLDM3OjExOSw3MzoxMjAsNzQ6T2V9LGUoVixbMiw2M10pLGUoUCxbMiw2NV0pLHsyMzpbMSwxMjFdfSxlKE50LFsyLDQ5XSksezIzOlsyLDUxXX0sezMzOlsxLDEyMl19LGUoeCxbMiw4OV0pLHszMzpbMiw5MV19LGUobixbMiwyMl0pLGUocnQsWzIsOTddKSx7NzI6aGV9LHsyMDoyNiw0OToxMjMsNjM6MjcsNjQ6cyw3MTppLDc3OjI4LDc4OjI5LDc5OmEsODA6byw4MTpjLDgyOmgsODM6cCw4NDptLDg1OjM2fSx7Njc6WzEsMTI0XX0sZShldCxbMiw5M10pLHs2NzpbMiw5NV19LGUobixbMiwyM10pLHs0NzpbMiwxOV19LHs0NzpbMiw3NV19LGUoUCxbMiw3MF0sezIwOjI2LDYzOjI3LDc3OjI4LDc4OjI5LDg1OjM2LDY5Ojc0LDcwOjc1LDQxOjEyNSw0OToxMjYsNjg6MTI3LDY0OnMsNzE6SCw3OTphLDgwOm8sODE6Yyw4MjpoLDgzOnAsODQ6bX0pLGUobixbMiwyNF0pLGUobixbMiwyMV0pLHszMzpbMSwxMjhdfSx7MzM6WzIsNjFdfSx7NzE6WzEsMTMwXSw3NToxMjl9LHszMzpbMSwxMzFdfSx7MzM6WzIsNjddfSxlKEUsWzIsMTJdKSxlKE4sWzIsMjZdKSxlKHJ0LFsyLDMxXSksZSh3LFsyLDI5XSksezMzOlsyLDcyXSw0MjoxMzIsNzM6MTMzLDc0Ok9lfSxlKFYsWzIsNjldKSxlKFAsWzIsNzFdKSxlKHYsWzIsMTVdKSx7NzE6WzEsMTM1XSw3NjpbMSwxMzRdfSxlKExyLFsyLDk4XSksZShnLFsyLDE2XSksezMzOlsxLDEzNl19LHszMzpbMiw3M119LHszMzpbMiwzMl19LGUoTHIsWzIsOTldKSxlKHYsWzIsMTddKV0sZGVmYXVsdEFjdGlvbnM6ezQ6WzIsMV0sNTU6WzIsNTNdLDU3OlsyLDIwXSw2MTpbMiw1NV0sNzM6WzIsNzldLDgxOlsyLDgzXSw4NTpbMiwxOF0sODk6WzIsODddLDk5OlsyLDUxXSwxMDI6WzIsOTFdLDEwOTpbMiw5NV0sMTExOlsyLDE5XSwxMTI6WzIsNzVdLDExNzpbMiw2MV0sMTIwOlsyLDY3XSwxMzM6WzIsNzNdLDEzNDpbMiwzMl19LHBhcnNlRXJyb3I6ZnVuY3Rpb24oZCxrKXtpZihrLnJlY292ZXJhYmxlKXRoaXMudHJhY2UoZCk7ZWxzZXt2YXIgYj1uZXcgRXJyb3IoZCk7dGhyb3cgYi5oYXNoPWssYn19LHBhcnNlOmZ1bmN0aW9uKGQpe3ZhciBrPXRoaXMsYj1bMF0seT1bXSxDPVtudWxsXSxsPVtdLHh0PXRoaXMudGFibGUsdT1cIlwiLHN0PTAsVXQ9MCxEcj0wLFluPTIsX3I9MSxHbj1sLnNsaWNlLmNhbGwoYXJndW1lbnRzLDEpLEE9T2JqZWN0LmNyZWF0ZSh0aGlzLmxleGVyKSxmdD17eXk6e319O2Zvcih2YXIgUmUgaW4gdGhpcy55eSlPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodGhpcy55eSxSZSkmJihmdC55eVtSZV09dGhpcy55eVtSZV0pO0Euc2V0SW5wdXQoZCxmdC55eSksZnQueXkubGV4ZXI9QSxmdC55eS5wYXJzZXI9dGhpcyx0eXBlb2YgQS55eWxsb2M+XCJ1XCImJihBLnl5bGxvYz17fSk7dmFyIHFlPUEueXlsbG9jO2wucHVzaChxZSk7dmFyIEtuPUEub3B0aW9ucyYmQS5vcHRpb25zLnJhbmdlczt0eXBlb2YgZnQueXkucGFyc2VFcnJvcj09XCJmdW5jdGlvblwiP3RoaXMucGFyc2VFcnJvcj1mdC55eS5wYXJzZUVycm9yOnRoaXMucGFyc2VFcnJvcj1PYmplY3QuZ2V0UHJvdG90eXBlT2YodGhpcykucGFyc2VFcnJvcjtmdW5jdGlvbiBFaShZKXtiLmxlbmd0aD1iLmxlbmd0aC0yKlksQy5sZW5ndGg9Qy5sZW5ndGgtWSxsLmxlbmd0aD1sLmxlbmd0aC1ZfWZvcih2YXIgV249ZnVuY3Rpb24oKXt2YXIgWTtyZXR1cm4gWT1BLmxleCgpfHxfcix0eXBlb2YgWSE9XCJudW1iZXJcIiYmKFk9ay5zeW1ib2xzX1tZXXx8WSksWX0sTyxWZSxtdCxGLHdpLEhlLEF0PXt9LHBlLFEsT3IsZmU7Oyl7aWYobXQ9YltiLmxlbmd0aC0xXSx0aGlzLmRlZmF1bHRBY3Rpb25zW210XT9GPXRoaXMuZGVmYXVsdEFjdGlvbnNbbXRdOigoTz09PW51bGx8fHR5cGVvZiBPPlwidVwiKSYmKE89V24oKSksRj14dFttdF0mJnh0W210XVtPXSksdHlwZW9mIEY+XCJ1XCJ8fCFGLmxlbmd0aHx8IUZbMF0pe3ZhciBGZT1cIlwiO2ZlPVtdO2ZvcihwZSBpbiB4dFttdF0pdGhpcy50ZXJtaW5hbHNfW3BlXSYmcGU+WW4mJmZlLnB1c2goXCInXCIrdGhpcy50ZXJtaW5hbHNfW3BlXStcIidcIik7QS5zaG93UG9zaXRpb24/RmU9XCJQYXJzZSBlcnJvciBvbiBsaW5lIFwiKyhzdCsxKStgOlxuYCtBLnNob3dQb3NpdGlvbigpK2BcbkV4cGVjdGluZyBgK2ZlLmpvaW4oXCIsIFwiKStcIiwgZ290ICdcIisodGhpcy50ZXJtaW5hbHNfW09dfHxPKStcIidcIjpGZT1cIlBhcnNlIGVycm9yIG9uIGxpbmUgXCIrKHN0KzEpK1wiOiBVbmV4cGVjdGVkIFwiKyhPPT1fcj9cImVuZCBvZiBpbnB1dFwiOlwiJ1wiKyh0aGlzLnRlcm1pbmFsc19bT118fE8pK1wiJ1wiKSx0aGlzLnBhcnNlRXJyb3IoRmUse3RleHQ6QS5tYXRjaCx0b2tlbjp0aGlzLnRlcm1pbmFsc19bT118fE8sbGluZTpBLnl5bGluZW5vLGxvYzpxZSxleHBlY3RlZDpmZX0pfWlmKEZbMF1pbnN0YW5jZW9mIEFycmF5JiZGLmxlbmd0aD4xKXRocm93IG5ldyBFcnJvcihcIlBhcnNlIEVycm9yOiBtdWx0aXBsZSBhY3Rpb25zIHBvc3NpYmxlIGF0IHN0YXRlOiBcIittdCtcIiwgdG9rZW46IFwiK08pO3N3aXRjaChGWzBdKXtjYXNlIDE6Yi5wdXNoKE8pLEMucHVzaChBLnl5dGV4dCksbC5wdXNoKEEueXlsbG9jKSxiLnB1c2goRlsxXSksTz1udWxsLFZlPyhPPVZlLFZlPW51bGwpOihVdD1BLnl5bGVuZyx1PUEueXl0ZXh0LHN0PUEueXlsaW5lbm8scWU9QS55eWxsb2MsRHI+MCYmRHItLSk7YnJlYWs7Y2FzZSAyOmlmKFE9dGhpcy5wcm9kdWN0aW9uc19bRlsxXV1bMV0sQXQuJD1DW0MubGVuZ3RoLVFdLEF0Ll8kPXtmaXJzdF9saW5lOmxbbC5sZW5ndGgtKFF8fDEpXS5maXJzdF9saW5lLGxhc3RfbGluZTpsW2wubGVuZ3RoLTFdLmxhc3RfbGluZSxmaXJzdF9jb2x1bW46bFtsLmxlbmd0aC0oUXx8MSldLmZpcnN0X2NvbHVtbixsYXN0X2NvbHVtbjpsW2wubGVuZ3RoLTFdLmxhc3RfY29sdW1ufSxLbiYmKEF0Ll8kLnJhbmdlPVtsW2wubGVuZ3RoLShRfHwxKV0ucmFuZ2VbMF0sbFtsLmxlbmd0aC0xXS5yYW5nZVsxXV0pLEhlPXRoaXMucGVyZm9ybUFjdGlvbi5hcHBseShBdCxbdSxVdCxzdCxmdC55eSxGWzFdLEMsbF0uY29uY2F0KEduKSksdHlwZW9mIEhlPFwidVwiKXJldHVybiBIZTtRJiYoYj1iLnNsaWNlKDAsLTEqUSoyKSxDPUMuc2xpY2UoMCwtMSpRKSxsPWwuc2xpY2UoMCwtMSpRKSksYi5wdXNoKHRoaXMucHJvZHVjdGlvbnNfW0ZbMV1dWzBdKSxDLnB1c2goQXQuJCksbC5wdXNoKEF0Ll8kKSxPcj14dFtiW2IubGVuZ3RoLTJdXVtiW2IubGVuZ3RoLTFdXSxiLnB1c2goT3IpO2JyZWFrO2Nhc2UgMzpyZXR1cm4hMH19cmV0dXJuITB9fSx6bj1mdW5jdGlvbigpe3ZhciBudD17RU9GOjEscGFyc2VFcnJvcjpmdW5jdGlvbihrLGIpe2lmKHRoaXMueXkucGFyc2VyKXRoaXMueXkucGFyc2VyLnBhcnNlRXJyb3IoayxiKTtlbHNlIHRocm93IG5ldyBFcnJvcihrKX0sc2V0SW5wdXQ6ZnVuY3Rpb24oZCxrKXtyZXR1cm4gdGhpcy55eT1rfHx0aGlzLnl5fHx7fSx0aGlzLl9pbnB1dD1kLHRoaXMuX21vcmU9dGhpcy5fYmFja3RyYWNrPXRoaXMuZG9uZT0hMSx0aGlzLnl5bGluZW5vPXRoaXMueXlsZW5nPTAsdGhpcy55eXRleHQ9dGhpcy5tYXRjaGVkPXRoaXMubWF0Y2g9XCJcIix0aGlzLmNvbmRpdGlvblN0YWNrPVtcIklOSVRJQUxcIl0sdGhpcy55eWxsb2M9e2ZpcnN0X2xpbmU6MSxmaXJzdF9jb2x1bW46MCxsYXN0X2xpbmU6MSxsYXN0X2NvbHVtbjowfSx0aGlzLm9wdGlvbnMucmFuZ2VzJiYodGhpcy55eWxsb2MucmFuZ2U9WzAsMF0pLHRoaXMub2Zmc2V0PTAsdGhpc30saW5wdXQ6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLl9pbnB1dFswXTt0aGlzLnl5dGV4dCs9ZCx0aGlzLnl5bGVuZysrLHRoaXMub2Zmc2V0KyssdGhpcy5tYXRjaCs9ZCx0aGlzLm1hdGNoZWQrPWQ7dmFyIGs9ZC5tYXRjaCgvKD86XFxyXFxuP3xcXG4pLiovZyk7cmV0dXJuIGs/KHRoaXMueXlsaW5lbm8rKyx0aGlzLnl5bGxvYy5sYXN0X2xpbmUrKyk6dGhpcy55eWxsb2MubGFzdF9jb2x1bW4rKyx0aGlzLm9wdGlvbnMucmFuZ2VzJiZ0aGlzLnl5bGxvYy5yYW5nZVsxXSsrLHRoaXMuX2lucHV0PXRoaXMuX2lucHV0LnNsaWNlKDEpLGR9LHVucHV0OmZ1bmN0aW9uKGQpe3ZhciBrPWQubGVuZ3RoLGI9ZC5zcGxpdCgvKD86XFxyXFxuP3xcXG4pL2cpO3RoaXMuX2lucHV0PWQrdGhpcy5faW5wdXQsdGhpcy55eXRleHQ9dGhpcy55eXRleHQuc3Vic3RyKDAsdGhpcy55eXRleHQubGVuZ3RoLWspLHRoaXMub2Zmc2V0LT1rO3ZhciB5PXRoaXMubWF0Y2guc3BsaXQoLyg/Olxcclxcbj98XFxuKS9nKTt0aGlzLm1hdGNoPXRoaXMubWF0Y2guc3Vic3RyKDAsdGhpcy5tYXRjaC5sZW5ndGgtMSksdGhpcy5tYXRjaGVkPXRoaXMubWF0Y2hlZC5zdWJzdHIoMCx0aGlzLm1hdGNoZWQubGVuZ3RoLTEpLGIubGVuZ3RoLTEmJih0aGlzLnl5bGluZW5vLT1iLmxlbmd0aC0xKTt2YXIgQz10aGlzLnl5bGxvYy5yYW5nZTtyZXR1cm4gdGhpcy55eWxsb2M9e2ZpcnN0X2xpbmU6dGhpcy55eWxsb2MuZmlyc3RfbGluZSxsYXN0X2xpbmU6dGhpcy55eWxpbmVubysxLGZpcnN0X2NvbHVtbjp0aGlzLnl5bGxvYy5maXJzdF9jb2x1bW4sbGFzdF9jb2x1bW46Yj8oYi5sZW5ndGg9PT15Lmxlbmd0aD90aGlzLnl5bGxvYy5maXJzdF9jb2x1bW46MCkreVt5Lmxlbmd0aC1iLmxlbmd0aF0ubGVuZ3RoLWJbMF0ubGVuZ3RoOnRoaXMueXlsbG9jLmZpcnN0X2NvbHVtbi1rfSx0aGlzLm9wdGlvbnMucmFuZ2VzJiYodGhpcy55eWxsb2MucmFuZ2U9W0NbMF0sQ1swXSt0aGlzLnl5bGVuZy1rXSksdGhpcy55eWxlbmc9dGhpcy55eXRleHQubGVuZ3RoLHRoaXN9LG1vcmU6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5fbW9yZT0hMCx0aGlzfSxyZWplY3Q6ZnVuY3Rpb24oKXtpZih0aGlzLm9wdGlvbnMuYmFja3RyYWNrX2xleGVyKXRoaXMuX2JhY2t0cmFjaz0hMDtlbHNlIHJldHVybiB0aGlzLnBhcnNlRXJyb3IoXCJMZXhpY2FsIGVycm9yIG9uIGxpbmUgXCIrKHRoaXMueXlsaW5lbm8rMSkrYC4gWW91IGNhbiBvbmx5IGludm9rZSByZWplY3QoKSBpbiB0aGUgbGV4ZXIgd2hlbiB0aGUgbGV4ZXIgaXMgb2YgdGhlIGJhY2t0cmFja2luZyBwZXJzdWFzaW9uIChvcHRpb25zLmJhY2t0cmFja19sZXhlciA9IHRydWUpLlxuYCt0aGlzLnNob3dQb3NpdGlvbigpLHt0ZXh0OlwiXCIsdG9rZW46bnVsbCxsaW5lOnRoaXMueXlsaW5lbm99KTtyZXR1cm4gdGhpc30sbGVzczpmdW5jdGlvbihkKXt0aGlzLnVucHV0KHRoaXMubWF0Y2guc2xpY2UoZCkpfSxwYXN0SW5wdXQ6ZnVuY3Rpb24oKXt2YXIgZD10aGlzLm1hdGNoZWQuc3Vic3RyKDAsdGhpcy5tYXRjaGVkLmxlbmd0aC10aGlzLm1hdGNoLmxlbmd0aCk7cmV0dXJuKGQubGVuZ3RoPjIwP1wiLi4uXCI6XCJcIikrZC5zdWJzdHIoLTIwKS5yZXBsYWNlKC9cXG4vZyxcIlwiKX0sdXBjb21pbmdJbnB1dDpmdW5jdGlvbigpe3ZhciBkPXRoaXMubWF0Y2g7cmV0dXJuIGQubGVuZ3RoPDIwJiYoZCs9dGhpcy5faW5wdXQuc3Vic3RyKDAsMjAtZC5sZW5ndGgpKSwoZC5zdWJzdHIoMCwyMCkrKGQubGVuZ3RoPjIwP1wiLi4uXCI6XCJcIikpLnJlcGxhY2UoL1xcbi9nLFwiXCIpfSxzaG93UG9zaXRpb246ZnVuY3Rpb24oKXt2YXIgZD10aGlzLnBhc3RJbnB1dCgpLGs9bmV3IEFycmF5KGQubGVuZ3RoKzEpLmpvaW4oXCItXCIpO3JldHVybiBkK3RoaXMudXBjb21pbmdJbnB1dCgpK2BcbmAraytcIl5cIn0sdGVzdF9tYXRjaDpmdW5jdGlvbihkLGspe3ZhciBiLHksQztpZih0aGlzLm9wdGlvbnMuYmFja3RyYWNrX2xleGVyJiYoQz17eXlsaW5lbm86dGhpcy55eWxpbmVubyx5eWxsb2M6e2ZpcnN0X2xpbmU6dGhpcy55eWxsb2MuZmlyc3RfbGluZSxsYXN0X2xpbmU6dGhpcy5sYXN0X2xpbmUsZmlyc3RfY29sdW1uOnRoaXMueXlsbG9jLmZpcnN0X2NvbHVtbixsYXN0X2NvbHVtbjp0aGlzLnl5bGxvYy5sYXN0X2NvbHVtbn0seXl0ZXh0OnRoaXMueXl0ZXh0LG1hdGNoOnRoaXMubWF0Y2gsbWF0Y2hlczp0aGlzLm1hdGNoZXMsbWF0Y2hlZDp0aGlzLm1hdGNoZWQseXlsZW5nOnRoaXMueXlsZW5nLG9mZnNldDp0aGlzLm9mZnNldCxfbW9yZTp0aGlzLl9tb3JlLF9pbnB1dDp0aGlzLl9pbnB1dCx5eTp0aGlzLnl5LGNvbmRpdGlvblN0YWNrOnRoaXMuY29uZGl0aW9uU3RhY2suc2xpY2UoMCksZG9uZTp0aGlzLmRvbmV9LHRoaXMub3B0aW9ucy5yYW5nZXMmJihDLnl5bGxvYy5yYW5nZT10aGlzLnl5bGxvYy5yYW5nZS5zbGljZSgwKSkpLHk9ZFswXS5tYXRjaCgvKD86XFxyXFxuP3xcXG4pLiovZykseSYmKHRoaXMueXlsaW5lbm8rPXkubGVuZ3RoKSx0aGlzLnl5bGxvYz17Zmlyc3RfbGluZTp0aGlzLnl5bGxvYy5sYXN0X2xpbmUsbGFzdF9saW5lOnRoaXMueXlsaW5lbm8rMSxmaXJzdF9jb2x1bW46dGhpcy55eWxsb2MubGFzdF9jb2x1bW4sbGFzdF9jb2x1bW46eT95W3kubGVuZ3RoLTFdLmxlbmd0aC15W3kubGVuZ3RoLTFdLm1hdGNoKC9cXHI/XFxuPy8pWzBdLmxlbmd0aDp0aGlzLnl5bGxvYy5sYXN0X2NvbHVtbitkWzBdLmxlbmd0aH0sdGhpcy55eXRleHQrPWRbMF0sdGhpcy5tYXRjaCs9ZFswXSx0aGlzLm1hdGNoZXM9ZCx0aGlzLnl5bGVuZz10aGlzLnl5dGV4dC5sZW5ndGgsdGhpcy5vcHRpb25zLnJhbmdlcyYmKHRoaXMueXlsbG9jLnJhbmdlPVt0aGlzLm9mZnNldCx0aGlzLm9mZnNldCs9dGhpcy55eWxlbmddKSx0aGlzLl9tb3JlPSExLHRoaXMuX2JhY2t0cmFjaz0hMSx0aGlzLl9pbnB1dD10aGlzLl9pbnB1dC5zbGljZShkWzBdLmxlbmd0aCksdGhpcy5tYXRjaGVkKz1kWzBdLGI9dGhpcy5wZXJmb3JtQWN0aW9uLmNhbGwodGhpcyx0aGlzLnl5LHRoaXMsayx0aGlzLmNvbmRpdGlvblN0YWNrW3RoaXMuY29uZGl0aW9uU3RhY2subGVuZ3RoLTFdKSx0aGlzLmRvbmUmJnRoaXMuX2lucHV0JiYodGhpcy5kb25lPSExKSxiKXJldHVybiBiO2lmKHRoaXMuX2JhY2t0cmFjayl7Zm9yKHZhciBsIGluIEMpdGhpc1tsXT1DW2xdO3JldHVybiExfXJldHVybiExfSxuZXh0OmZ1bmN0aW9uKCl7aWYodGhpcy5kb25lKXJldHVybiB0aGlzLkVPRjt0aGlzLl9pbnB1dHx8KHRoaXMuZG9uZT0hMCk7dmFyIGQsayxiLHk7dGhpcy5fbW9yZXx8KHRoaXMueXl0ZXh0PVwiXCIsdGhpcy5tYXRjaD1cIlwiKTtmb3IodmFyIEM9dGhpcy5fY3VycmVudFJ1bGVzKCksbD0wO2w8Qy5sZW5ndGg7bCsrKWlmKGI9dGhpcy5faW5wdXQubWF0Y2godGhpcy5ydWxlc1tDW2xdXSksYiYmKCFrfHxiWzBdLmxlbmd0aD5rWzBdLmxlbmd0aCkpe2lmKGs9Yix5PWwsdGhpcy5vcHRpb25zLmJhY2t0cmFja19sZXhlcil7aWYoZD10aGlzLnRlc3RfbWF0Y2goYixDW2xdKSxkIT09ITEpcmV0dXJuIGQ7aWYodGhpcy5fYmFja3RyYWNrKXtrPSExO2NvbnRpbnVlfWVsc2UgcmV0dXJuITF9ZWxzZSBpZighdGhpcy5vcHRpb25zLmZsZXgpYnJlYWt9cmV0dXJuIGs/KGQ9dGhpcy50ZXN0X21hdGNoKGssQ1t5XSksZCE9PSExP2Q6ITEpOnRoaXMuX2lucHV0PT09XCJcIj90aGlzLkVPRjp0aGlzLnBhcnNlRXJyb3IoXCJMZXhpY2FsIGVycm9yIG9uIGxpbmUgXCIrKHRoaXMueXlsaW5lbm8rMSkrYC4gVW5yZWNvZ25pemVkIHRleHQuXG5gK3RoaXMuc2hvd1Bvc2l0aW9uKCkse3RleHQ6XCJcIix0b2tlbjpudWxsLGxpbmU6dGhpcy55eWxpbmVub30pfSxsZXg6ZnVuY3Rpb24oKXt2YXIgaz10aGlzLm5leHQoKTtyZXR1cm4ga3x8dGhpcy5sZXgoKX0sYmVnaW46ZnVuY3Rpb24oayl7dGhpcy5jb25kaXRpb25TdGFjay5wdXNoKGspfSxwb3BTdGF0ZTpmdW5jdGlvbigpe3ZhciBrPXRoaXMuY29uZGl0aW9uU3RhY2subGVuZ3RoLTE7cmV0dXJuIGs+MD90aGlzLmNvbmRpdGlvblN0YWNrLnBvcCgpOnRoaXMuY29uZGl0aW9uU3RhY2tbMF19LF9jdXJyZW50UnVsZXM6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5jb25kaXRpb25TdGFjay5sZW5ndGgmJnRoaXMuY29uZGl0aW9uU3RhY2tbdGhpcy5jb25kaXRpb25TdGFjay5sZW5ndGgtMV0/dGhpcy5jb25kaXRpb25zW3RoaXMuY29uZGl0aW9uU3RhY2tbdGhpcy5jb25kaXRpb25TdGFjay5sZW5ndGgtMV1dLnJ1bGVzOnRoaXMuY29uZGl0aW9ucy5JTklUSUFMLnJ1bGVzfSx0b3BTdGF0ZTpmdW5jdGlvbihrKXtyZXR1cm4gaz10aGlzLmNvbmRpdGlvblN0YWNrLmxlbmd0aC0xLU1hdGguYWJzKGt8fDApLGs+PTA/dGhpcy5jb25kaXRpb25TdGFja1trXTpcIklOSVRJQUxcIn0scHVzaFN0YXRlOmZ1bmN0aW9uKGspe3RoaXMuYmVnaW4oayl9LHN0YXRlU3RhY2tTaXplOmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuY29uZGl0aW9uU3RhY2subGVuZ3RofSxvcHRpb25zOnt9LHBlcmZvcm1BY3Rpb246ZnVuY3Rpb24oayxiLHksQyl7ZnVuY3Rpb24gbCh1LHN0KXtyZXR1cm4gYi55eXRleHQ9Yi55eXRleHQuc3Vic3RyaW5nKHUsYi55eWxlbmctc3QrdSl9dmFyIHh0PUM7c3dpdGNoKHkpe2Nhc2UgMDppZihiLnl5dGV4dC5zbGljZSgtMik9PT1cIlxcXFxcXFxcXCI/KGwoMCwxKSx0aGlzLmJlZ2luKFwibXVcIikpOmIueXl0ZXh0LnNsaWNlKC0xKT09PVwiXFxcXFwiPyhsKDAsMSksdGhpcy5iZWdpbihcImVtdVwiKSk6dGhpcy5iZWdpbihcIm11XCIpLGIueXl0ZXh0KXJldHVybiAxNTticmVhaztjYXNlIDE6cmV0dXJuIDE1O2Nhc2UgMjpyZXR1cm4gdGhpcy5wb3BTdGF0ZSgpLDE1O2JyZWFrO2Nhc2UgMzpyZXR1cm4gdGhpcy5iZWdpbihcInJhd1wiKSwxNTticmVhaztjYXNlIDQ6cmV0dXJuIHRoaXMucG9wU3RhdGUoKSx0aGlzLmNvbmRpdGlvblN0YWNrW3RoaXMuY29uZGl0aW9uU3RhY2subGVuZ3RoLTFdPT09XCJyYXdcIj8xNToobCg1LDkpLDE4KTtjYXNlIDU6cmV0dXJuIDE1O2Nhc2UgNjpyZXR1cm4gdGhpcy5wb3BTdGF0ZSgpLDE0O2JyZWFrO2Nhc2UgNzpyZXR1cm4gNjQ7Y2FzZSA4OnJldHVybiA2NztjYXNlIDk6cmV0dXJuIDE5O2Nhc2UgMTA6cmV0dXJuIHRoaXMucG9wU3RhdGUoKSx0aGlzLmJlZ2luKFwicmF3XCIpLDIzO2JyZWFrO2Nhc2UgMTE6cmV0dXJuIDU2O2Nhc2UgMTI6cmV0dXJuIDYwO2Nhc2UgMTM6cmV0dXJuIDI5O2Nhc2UgMTQ6cmV0dXJuIDQ3O2Nhc2UgMTU6cmV0dXJuIHRoaXMucG9wU3RhdGUoKSw0NDticmVhaztjYXNlIDE2OnJldHVybiB0aGlzLnBvcFN0YXRlKCksNDQ7YnJlYWs7Y2FzZSAxNzpyZXR1cm4gMzQ7Y2FzZSAxODpyZXR1cm4gMzk7Y2FzZSAxOTpyZXR1cm4gNTI7Y2FzZSAyMDpyZXR1cm4gNDg7Y2FzZSAyMTp0aGlzLnVucHV0KGIueXl0ZXh0KSx0aGlzLnBvcFN0YXRlKCksdGhpcy5iZWdpbihcImNvbVwiKTticmVhaztjYXNlIDIyOnJldHVybiB0aGlzLnBvcFN0YXRlKCksMTQ7YnJlYWs7Y2FzZSAyMzpyZXR1cm4gNDg7Y2FzZSAyNDpyZXR1cm4gNzI7Y2FzZSAyNTpyZXR1cm4gNzE7Y2FzZSAyNjpyZXR1cm4gNzE7Y2FzZSAyNzpyZXR1cm4gODY7Y2FzZSAyODpicmVhaztjYXNlIDI5OnJldHVybiB0aGlzLnBvcFN0YXRlKCksNTU7YnJlYWs7Y2FzZSAzMDpyZXR1cm4gdGhpcy5wb3BTdGF0ZSgpLDMzO2JyZWFrO2Nhc2UgMzE6cmV0dXJuIGIueXl0ZXh0PWwoMSwyKS5yZXBsYWNlKC9cXFxcXCIvZywnXCInKSw3OTticmVhaztjYXNlIDMyOnJldHVybiBiLnl5dGV4dD1sKDEsMikucmVwbGFjZSgvXFxcXCcvZyxcIidcIiksNzk7YnJlYWs7Y2FzZSAzMzpyZXR1cm4gODQ7Y2FzZSAzNDpyZXR1cm4gODE7Y2FzZSAzNTpyZXR1cm4gODE7Y2FzZSAzNjpyZXR1cm4gODI7Y2FzZSAzNzpyZXR1cm4gODM7Y2FzZSAzODpyZXR1cm4gODA7Y2FzZSAzOTpyZXR1cm4gNzQ7Y2FzZSA0MDpyZXR1cm4gNzY7Y2FzZSA0MTpyZXR1cm4gNzE7Y2FzZSA0MjpyZXR1cm4gYi55eXRleHQ9Yi55eXRleHQucmVwbGFjZSgvXFxcXChbXFxcXFxcXV0pL2csXCIkMVwiKSw3MTticmVhaztjYXNlIDQzOnJldHVyblwiSU5WQUxJRFwiO2Nhc2UgNDQ6cmV0dXJuIDV9fSxydWxlczpbL14oPzpbXlxceDAwXSo/KD89KFxce1xceykpKS8sL14oPzpbXlxceDAwXSspLywvXig/OlteXFx4MDBdezIsfT8oPz0oXFx7XFx7fFxcXFxcXHtcXHt8XFxcXFxcXFxcXHtcXHt8JCkpKS8sL14oPzpcXHtcXHtcXHtcXHsoPz1bXi9dKSkvLC9eKD86XFx7XFx7XFx7XFx7XFwvW15cXHMhXCIjJS0sXFwuXFwvOy0+QFxcWy1cXF5gXFx7LX5dKyg/PVs9fVxcc1xcLy5dKVxcfVxcfVxcfVxcfSkvLC9eKD86W15cXHgwMF0rPyg/PShcXHtcXHtcXHtcXHspKSkvLC9eKD86W1xcc1xcU10qPy0tKH4pP1xcfVxcfSkvLC9eKD86XFwoKS8sL14oPzpcXCkpLywvXig/Olxce1xce1xce1xceykvLC9eKD86XFx9XFx9XFx9XFx9KS8sL14oPzpcXHtcXHsofik/PikvLC9eKD86XFx7XFx7KH4pPyM+KS8sL14oPzpcXHtcXHsofik/I1xcKj8pLywvXig/Olxce1xceyh+KT9cXC8pLywvXig/Olxce1xceyh+KT9cXF5cXHMqKH4pP1xcfVxcfSkvLC9eKD86XFx7XFx7KH4pP1xccyplbHNlXFxzKih+KT9cXH1cXH0pLywvXig/Olxce1xceyh+KT9cXF4pLywvXig/Olxce1xceyh+KT9cXHMqZWxzZVxcYikvLC9eKD86XFx7XFx7KH4pP1xceykvLC9eKD86XFx7XFx7KH4pPyYpLywvXig/Olxce1xceyh+KT8hLS0pLywvXig/Olxce1xceyh+KT8hW1xcc1xcU10qP1xcfVxcfSkvLC9eKD86XFx7XFx7KH4pP1xcKj8pLywvXig/Oj0pLywvXig/OlxcLlxcLikvLC9eKD86XFwuKD89KFs9fn1cXHNcXC8uKXxdKSkpLywvXig/OltcXC8uXSkvLC9eKD86XFxzKykvLC9eKD86XFx9KH4pP1xcfVxcfSkvLC9eKD86KH4pP1xcfVxcfSkvLC9eKD86XCIoXFxcXFtcIl18W15cIl0pKlwiKS8sL14oPzonKFxcXFxbJ118W14nXSkqJykvLC9eKD86QCkvLC9eKD86dHJ1ZSg/PShbfn1cXHMpXSkpKS8sL14oPzpmYWxzZSg/PShbfn1cXHMpXSkpKS8sL14oPzp1bmRlZmluZWQoPz0oW359XFxzKV0pKSkvLC9eKD86bnVsbCg/PShbfn1cXHMpXSkpKS8sL14oPzotP1swLTldKyg/OlxcLlswLTldKyk/KD89KFt+fVxccyldKSkpLywvXig/OmFzXFxzK1xcfCkvLC9eKD86XFx8KS8sL14oPzooW15cXHMhXCIjJS0sXFwuXFwvOy0+QFxcWy1cXF5gXFx7LX5dKyg/PShbPX59XFxzXFwvLil8XSkpKSkvLC9eKD86XFxbKFxcXFxcXF18W15cXF1dKSpcXF0pLywvXig/Oi4pLywvXig/OiQpL10sY29uZGl0aW9uczp7bXU6e3J1bGVzOls3LDgsOSwxMCwxMSwxMiwxMywxNCwxNSwxNiwxNywxOCwxOSwyMCwyMSwyMiwyMywyNCwyNSwyNiwyNywyOCwyOSwzMCwzMSwzMiwzMywzNCwzNSwzNiwzNywzOCwzOSw0MCw0MSw0Miw0Myw0NF0saW5jbHVzaXZlOiExfSxlbXU6e3J1bGVzOlsyXSxpbmNsdXNpdmU6ITF9LGNvbTp7cnVsZXM6WzZdLGluY2x1c2l2ZTohMX0scmF3OntydWxlczpbMyw0LDVdLGluY2x1c2l2ZTohMX0sSU5JVElBTDp7cnVsZXM6WzAsMSw0NF0saW5jbHVzaXZlOiEwfX19O3JldHVybiBudH0oKTtCZS5sZXhlcj16bjtmdW5jdGlvbiBJZSgpe3RoaXMueXk9e319cmV0dXJuIEllLnByb3RvdHlwZT1CZSxCZS5QYXJzZXI9SWUsbmV3IEllfSgpLEVlPXFzO3ZhciBucj1bXCJkZXNjcmlwdGlvblwiLFwiZmlsZU5hbWVcIixcImxpbmVOdW1iZXJcIixcImVuZExpbmVOdW1iZXJcIixcIm1lc3NhZ2VcIixcIm5hbWVcIixcIm51bWJlclwiLFwic3RhY2tcIl07ZnVuY3Rpb24gc3IoZSx0KXt2YXIgcj10JiZ0LmxvYyxuLHMsaSxhO3ImJihuPXIuc3RhcnQubGluZSxzPXIuZW5kLmxpbmUsaT1yLnN0YXJ0LmNvbHVtbixhPXIuZW5kLmNvbHVtbixlKz1cIiAtIFwiK24rXCI6XCIraSk7Zm9yKHZhciBvPUVycm9yLnByb3RvdHlwZS5jb25zdHJ1Y3Rvci5jYWxsKHRoaXMsZSksYz0wO2M8bnIubGVuZ3RoO2MrKyl0aGlzW25yW2NdXT1vW25yW2NdXTtFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSYmRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyxzcik7dHJ5e3ImJih0aGlzLmxpbmVOdW1iZXI9bix0aGlzLmVuZExpbmVOdW1iZXI9cyxPYmplY3QuZGVmaW5lUHJvcGVydHk/KE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFwiY29sdW1uXCIse3ZhbHVlOmksZW51bWVyYWJsZTohMH0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFwiZW5kQ29sdW1uXCIse3ZhbHVlOmEsZW51bWVyYWJsZTohMH0pKToodGhpcy5jb2x1bW49aSx0aGlzLmVuZENvbHVtbj1hKSl9Y2F0Y2h7fX1zci5wcm90b3R5cGU9bmV3IEVycm9yO3ZhciBhdD1zcjtmdW5jdGlvbiB3ZSgpe3RoaXMucGFyZW50cz1bXX13ZS5wcm90b3R5cGU9e2NvbnN0cnVjdG9yOndlLG11dGF0aW5nOiExLGFjY2VwdEtleTpmdW5jdGlvbihlLHQpe3ZhciByPXRoaXMuYWNjZXB0KGVbdF0pO2lmKHRoaXMubXV0YXRpbmcpe2lmKHImJiF3ZS5wcm90b3R5cGVbci50eXBlXSl0aHJvdyBuZXcgYXQoJ1VuZXhwZWN0ZWQgbm9kZSB0eXBlIFwiJytyLnR5cGUrJ1wiIGZvdW5kIHdoZW4gYWNjZXB0aW5nICcrdCtcIiBvbiBcIitlLnR5cGUpO2VbdF09cn19LGFjY2VwdFJlcXVpcmVkOmZ1bmN0aW9uKGUsdCl7aWYodGhpcy5hY2NlcHRLZXkoZSx0KSwhZVt0XSl0aHJvdyBuZXcgYXQoZS50eXBlK1wiIHJlcXVpcmVzIFwiK3QpfSxhY2NlcHRBcnJheTpmdW5jdGlvbihlKXtmb3IodmFyIHQ9MCxyPWUubGVuZ3RoO3Q8cjt0KyspdGhpcy5hY2NlcHRLZXkoZSx0KSxlW3RdfHwoZS5zcGxpY2UodCwxKSx0LS0sci0tKX0sYWNjZXB0OmZ1bmN0aW9uKGUpe2lmKGUpe2lmKCF0aGlzW2UudHlwZV0pdGhyb3cgbmV3IGF0KFwiVW5rbm93biB0eXBlOiBcIitlLnR5cGUsZSk7dGhpcy5jdXJyZW50JiZ0aGlzLnBhcmVudHMudW5zaGlmdCh0aGlzLmN1cnJlbnQpLHRoaXMuY3VycmVudD1lO3ZhciB0PXRoaXNbZS50eXBlXShlKTtpZih0aGlzLmN1cnJlbnQ9dGhpcy5wYXJlbnRzLnNoaWZ0KCksIXRoaXMubXV0YXRpbmd8fHQpcmV0dXJuIHQ7aWYodCE9PSExKXJldHVybiBlfX0sUHJvZ3JhbTpmdW5jdGlvbihlKXt0aGlzLmFjY2VwdEFycmF5KGUuYm9keSl9LE11c3RhY2hlU3RhdGVtZW50OlRlLERlY29yYXRvcjpUZSxCbG9ja1N0YXRlbWVudDp5bixEZWNvcmF0b3JCbG9jazp5bixQYXJ0aWFsU3RhdGVtZW50OmtuLFBhcnRpYWxCbG9ja1N0YXRlbWVudDpmdW5jdGlvbihlKXtrbi5jYWxsKHRoaXMsZSksdGhpcy5hY2NlcHRLZXkoZSxcInByb2dyYW1cIil9LENvbnRlbnRTdGF0ZW1lbnQ6ZnVuY3Rpb24oKXt9LENvbW1lbnRTdGF0ZW1lbnQ6ZnVuY3Rpb24oKXt9LFN1YkV4cHJlc3Npb246VGUsUGF0aEV4cHJlc3Npb246ZnVuY3Rpb24oKXt9LFN0cmluZ0xpdGVyYWw6ZnVuY3Rpb24oKXt9LE51bWJlckxpdGVyYWw6ZnVuY3Rpb24oKXt9LEJvb2xlYW5MaXRlcmFsOmZ1bmN0aW9uKCl7fSxVbmRlZmluZWRMaXRlcmFsOmZ1bmN0aW9uKCl7fSxOdWxsTGl0ZXJhbDpmdW5jdGlvbigpe30sSGFzaDpmdW5jdGlvbihlKXt0aGlzLmFjY2VwdEFycmF5KGUucGFpcnMpfSxIYXNoUGFpcjpmdW5jdGlvbihlKXt0aGlzLmFjY2VwdFJlcXVpcmVkKGUsXCJ2YWx1ZVwiKX19O2Z1bmN0aW9uIFRlKGUpe3RoaXMuYWNjZXB0UmVxdWlyZWQoZSxcInBhdGhcIiksdGhpcy5hY2NlcHRBcnJheShlLnBhcmFtcyksdGhpcy5hY2NlcHRLZXkoZSxcImhhc2hcIil9ZnVuY3Rpb24geW4oZSl7VGUuY2FsbCh0aGlzLGUpLHRoaXMuYWNjZXB0S2V5KGUsXCJwcm9ncmFtXCIpLHRoaXMuYWNjZXB0S2V5KGUsXCJpbnZlcnNlXCIpfWZ1bmN0aW9uIGtuKGUpe3RoaXMuYWNjZXB0UmVxdWlyZWQoZSxcIm5hbWVcIiksdGhpcy5hY2NlcHRBcnJheShlLnBhcmFtcyksdGhpcy5hY2NlcHRLZXkoZSxcImhhc2hcIil9dmFyIFNuPXdlO2Z1bmN0aW9uIEcoZSl7ZT09PXZvaWQgMCYmKGU9e30pLHRoaXMub3B0aW9ucz1lfUcucHJvdG90eXBlPW5ldyBTbjtHLnByb3RvdHlwZS5Qcm9ncmFtPWZ1bmN0aW9uKGUpe3ZhciB0PSF0aGlzLm9wdGlvbnMuaWdub3JlU3RhbmRhbG9uZSxyPSF0aGlzLmlzUm9vdFNlZW47dGhpcy5pc1Jvb3RTZWVuPSEwO2Zvcih2YXIgbj1lLmJvZHkscz0wLGk9bi5sZW5ndGg7czxpO3MrKyl7dmFyIGE9bltzXSxvPXRoaXMuYWNjZXB0KGEpO2lmKG8pe3ZhciBjPWlyKG4scyxyKSxoPWFyKG4scyxyKSxwPW8ub3BlblN0YW5kYWxvbmUmJmMsbT1vLmNsb3NlU3RhbmRhbG9uZSYmaCx2PW8uaW5saW5lU3RhbmRhbG9uZSYmYyYmaDtvLmNsb3NlJiZrdChuLHMsITApLG8ub3BlbiYmb3QobixzLCEwKSx0JiZ2JiYoa3QobixzKSxvdChuLHMpJiZhLnR5cGU9PT1cIlBhcnRpYWxTdGF0ZW1lbnRcIiYmKGEuaW5kZW50PS8oWyBcXHRdKyQpLy5leGVjKG5bcy0xXS5vcmlnaW5hbClbMV0pKSx0JiZwJiYoa3QoKGEucHJvZ3JhbXx8YS5pbnZlcnNlKS5ib2R5KSxvdChuLHMpKSx0JiZtJiYoa3QobixzKSxvdCgoYS5pbnZlcnNlfHxhLnByb2dyYW0pLmJvZHkpKX19cmV0dXJuIGV9O0cucHJvdG90eXBlLkJsb2NrU3RhdGVtZW50PUcucHJvdG90eXBlLkRlY29yYXRvckJsb2NrPUcucHJvdG90eXBlLlBhcnRpYWxCbG9ja1N0YXRlbWVudD1mdW5jdGlvbihlKXt0aGlzLmFjY2VwdChlLnByb2dyYW0pLHRoaXMuYWNjZXB0KGUuaW52ZXJzZSk7dmFyIHQ9ZS5wcm9ncmFtfHxlLmludmVyc2Uscj1lLnByb2dyYW0mJmUuaW52ZXJzZSxuPXIscz1yO2lmKHImJnIuY2hhaW5lZClmb3Iobj1yLmJvZHlbMF0ucHJvZ3JhbTtzLmNoYWluZWQ7KXM9cy5ib2R5W3MuYm9keS5sZW5ndGgtMV0ucHJvZ3JhbTt2YXIgaT17b3BlbjplLm9wZW5TdHJpcC5vcGVuLGNsb3NlOmUuY2xvc2VTdHJpcC5jbG9zZSxvcGVuU3RhbmRhbG9uZTphcih0LmJvZHkpLGNsb3NlU3RhbmRhbG9uZTppcigobnx8dCkuYm9keSl9O2lmKGUub3BlblN0cmlwLmNsb3NlJiZrdCh0LmJvZHksbnVsbCwhMCkscil7dmFyIGE9ZS5pbnZlcnNlU3RyaXA7YS5vcGVuJiZvdCh0LmJvZHksbnVsbCwhMCksYS5jbG9zZSYma3Qobi5ib2R5LG51bGwsITApLGUuY2xvc2VTdHJpcC5vcGVuJiZvdChzLmJvZHksbnVsbCwhMCksIXRoaXMub3B0aW9ucy5pZ25vcmVTdGFuZGFsb25lJiZpcih0LmJvZHkpJiZhcihuLmJvZHkpJiYob3QodC5ib2R5KSxrdChuLmJvZHkpKX1lbHNlIGUuY2xvc2VTdHJpcC5vcGVuJiZvdCh0LmJvZHksbnVsbCwhMCk7cmV0dXJuIGl9O0cucHJvdG90eXBlLkRlY29yYXRvcj1HLnByb3RvdHlwZS5NdXN0YWNoZVN0YXRlbWVudD1mdW5jdGlvbihlKXtyZXR1cm4gZS5zdHJpcH07Ry5wcm90b3R5cGUuUGFydGlhbFN0YXRlbWVudD1HLnByb3RvdHlwZS5Db21tZW50U3RhdGVtZW50PWZ1bmN0aW9uKGUpe3ZhciB0PWUuc3RyaXB8fHt9O3JldHVybntpbmxpbmVTdGFuZGFsb25lOiEwLG9wZW46dC5vcGVuLGNsb3NlOnQuY2xvc2V9fTtmdW5jdGlvbiBpcihlLHQscil7dD09PXZvaWQgMCYmKHQ9ZS5sZW5ndGgpO3ZhciBuPWVbdC0xXSxzPWVbdC0yXTtpZighbilyZXR1cm4gcjtpZihuLnR5cGU9PT1cIkNvbnRlbnRTdGF0ZW1lbnRcIilyZXR1cm4oc3x8IXI/L1xccj9cXG5cXHMqPyQvOi8oXnxcXHI/XFxuKVxccyo/JC8pLnRlc3Qobi5vcmlnaW5hbCl9ZnVuY3Rpb24gYXIoZSx0LHIpe3Q9PT12b2lkIDAmJih0PS0xKTt2YXIgbj1lW3QrMV0scz1lW3QrMl07aWYoIW4pcmV0dXJuIHI7aWYobi50eXBlPT09XCJDb250ZW50U3RhdGVtZW50XCIpcmV0dXJuKHN8fCFyPy9eXFxzKj9cXHI/XFxuLzovXlxccyo/KFxccj9cXG58JCkvKS50ZXN0KG4ub3JpZ2luYWwpfWZ1bmN0aW9uIGt0KGUsdCxyKXt2YXIgbj1lW3Q9PW51bGw/MDp0KzFdO2lmKCEoIW58fG4udHlwZSE9PVwiQ29udGVudFN0YXRlbWVudFwifHwhciYmbi5yaWdodFN0cmlwcGVkKSl7dmFyIHM9bi52YWx1ZTtuLnZhbHVlPW4udmFsdWUucmVwbGFjZShyPy9eXFxzKy86L15bIFxcdF0qXFxyP1xcbj8vLFwiXCIpLG4ucmlnaHRTdHJpcHBlZD1uLnZhbHVlIT09c319ZnVuY3Rpb24gb3QoZSx0LHIpe3ZhciBuPWVbdD09bnVsbD9lLmxlbmd0aC0xOnQtMV07aWYoISghbnx8bi50eXBlIT09XCJDb250ZW50U3RhdGVtZW50XCJ8fCFyJiZuLmxlZnRTdHJpcHBlZCkpe3ZhciBzPW4udmFsdWU7cmV0dXJuIG4udmFsdWU9bi52YWx1ZS5yZXBsYWNlKHI/L1xccyskLzovWyBcXHRdKyQvLFwiXCIpLG4ubGVmdFN0cmlwcGVkPW4udmFsdWUhPT1zLG4ubGVmdFN0cmlwcGVkfX12YXIgdm49Rzt2YXIgcmU9e307VWUocmUse1NvdXJjZUxvY2F0aW9uOigpPT5scixpZDooKT0+VnMscHJlcGFyZUJsb2NrOigpPT5ZcyxwcmVwYXJlTXVzdGFjaGU6KCk9Pk1zLHByZXBhcmVQYXJ0aWFsQmxvY2s6KCk9PktzLHByZXBhcmVQYXRoOigpPT5VcyxwcmVwYXJlUHJvZ3JhbTooKT0+R3MscHJlcGFyZVJhd0Jsb2NrOigpPT56cyxzdHJpcENvbW1lbnQ6KCk9PkZzLHN0cmlwRmxhZ3M6KCk9PkhzfSk7ZnVuY3Rpb24gb3IoZSx0KXtpZih0PXQucGF0aD90LnBhdGgub3JpZ2luYWw6dCxlLnBhdGgub3JpZ2luYWwhPT10KXt2YXIgcj17bG9jOmUucGF0aC5sb2N9O3Rocm93IG5ldyBhdChlLnBhdGgub3JpZ2luYWwrXCIgZG9lc24ndCBtYXRjaCBcIit0LHIpfX1mdW5jdGlvbiBscihlLHQpe3RoaXMuc291cmNlPWUsdGhpcy5zdGFydD17bGluZTp0LmZpcnN0X2xpbmUsY29sdW1uOnQuZmlyc3RfY29sdW1ufSx0aGlzLmVuZD17bGluZTp0Lmxhc3RfbGluZSxjb2x1bW46dC5sYXN0X2NvbHVtbn19ZnVuY3Rpb24gVnMoZSl7cmV0dXJuL15cXFsuKlxcXSQvLnRlc3QoZSk/ZS5zdWJzdHJpbmcoMSxlLmxlbmd0aC0xKTplfWZ1bmN0aW9uIEhzKGUsdCl7cmV0dXJue29wZW46ZS5jaGFyQXQoMik9PT1cIn5cIixjbG9zZTp0LmNoYXJBdCh0Lmxlbmd0aC0zKT09PVwiflwifX1mdW5jdGlvbiBGcyhlKXtyZXR1cm4gZS5yZXBsYWNlKC9eXFx7XFx7fj8hLT8tPy8sXCJcIikucmVwbGFjZSgvLT8tP34/XFx9XFx9JC8sXCJcIil9ZnVuY3Rpb24gVXMoZSx0LHIpe3I9dGhpcy5sb2NJbmZvKHIpO2Zvcih2YXIgbj1lP1wiQFwiOlwiXCIscz1bXSxpPTAsYT0wLG89dC5sZW5ndGg7YTxvO2ErKyl7dmFyIGM9dFthXS5wYXJ0LGg9dFthXS5vcmlnaW5hbCE9PWM7aWYobis9KHRbYV0uc2VwYXJhdG9yfHxcIlwiKStjLCFoJiYoYz09PVwiLi5cInx8Yz09PVwiLlwifHxjPT09XCJ0aGlzXCIpKXtpZihzLmxlbmd0aD4wKXRocm93IG5ldyBhdChcIkludmFsaWQgcGF0aDogXCIrbix7bG9jOnJ9KTtjPT09XCIuLlwiJiZpKyt9ZWxzZSBzLnB1c2goYyl9cmV0dXJue3R5cGU6XCJQYXRoRXhwcmVzc2lvblwiLGRhdGE6ZSxkZXB0aDppLHBhcnRzOnMsb3JpZ2luYWw6bixsb2M6cn19ZnVuY3Rpb24gTXMoZSx0LHIsbixzLGkpe3ZhciBhPW4uY2hhckF0KDMpfHxuLmNoYXJBdCgyKSxvPWEhPT1cIntcIiYmYSE9PVwiJlwiLGM9L1xcKi8udGVzdChuKTtyZXR1cm57dHlwZTpjP1wiRGVjb3JhdG9yXCI6XCJNdXN0YWNoZVN0YXRlbWVudFwiLHBhdGg6ZSxwYXJhbXM6dCxoYXNoOnIsZXNjYXBlZDpvLHN0cmlwOnMsbG9jOnRoaXMubG9jSW5mbyhpKX19ZnVuY3Rpb24genMoZSx0LHIsbil7b3IoZSxyKSxuPXRoaXMubG9jSW5mbyhuKTt2YXIgcz17dHlwZTpcIlByb2dyYW1cIixib2R5OnQsc3RyaXA6e30sbG9jOm59O3JldHVybnt0eXBlOlwiQmxvY2tTdGF0ZW1lbnRcIixwYXRoOmUucGF0aCxwYXJhbXM6ZS5wYXJhbXMsaGFzaDplLmhhc2gscHJvZ3JhbTpzLG9wZW5TdHJpcDp7fSxpbnZlcnNlU3RyaXA6e30sY2xvc2VTdHJpcDp7fSxsb2M6bn19ZnVuY3Rpb24gWXMoZSx0LHIsbixzLGkpe24mJm4ucGF0aCYmb3IoZSxuKTt2YXIgYT0vXFwqLy50ZXN0KGUub3Blbik7dC5ibG9ja1BhcmFtcz1lLmJsb2NrUGFyYW1zO3ZhciBvLGM7aWYocil7aWYoYSl0aHJvdyBuZXcgYXQoXCJVbmV4cGVjdGVkIGludmVyc2UgYmxvY2sgb24gZGVjb3JhdG9yXCIscik7ci5jaGFpbiYmKHIucHJvZ3JhbS5ib2R5WzBdLmNsb3NlU3RyaXA9bi5zdHJpcCksYz1yLnN0cmlwLG89ci5wcm9ncmFtfXJldHVybiBzJiYocz1vLG89dCx0PXMpLHt0eXBlOmE/XCJEZWNvcmF0b3JCbG9ja1wiOlwiQmxvY2tTdGF0ZW1lbnRcIixwYXRoOmUucGF0aCxwYXJhbXM6ZS5wYXJhbXMsaGFzaDplLmhhc2gscHJvZ3JhbTp0LGludmVyc2U6byxvcGVuU3RyaXA6ZS5zdHJpcCxpbnZlcnNlU3RyaXA6YyxjbG9zZVN0cmlwOm4mJm4uc3RyaXAsbG9jOnRoaXMubG9jSW5mbyhpKX19ZnVuY3Rpb24gR3MoZSx0KXtpZighdCYmZS5sZW5ndGgpe3ZhciByPWVbMF0ubG9jLG49ZVtlLmxlbmd0aC0xXS5sb2M7ciYmbiYmKHQ9e3NvdXJjZTpyLnNvdXJjZSxzdGFydDp7bGluZTpyLnN0YXJ0LmxpbmUsY29sdW1uOnIuc3RhcnQuY29sdW1ufSxlbmQ6e2xpbmU6bi5lbmQubGluZSxjb2x1bW46bi5lbmQuY29sdW1ufX0pfXJldHVybnt0eXBlOlwiUHJvZ3JhbVwiLGJvZHk6ZSxzdHJpcDp7fSxsb2M6dH19ZnVuY3Rpb24gS3MoZSx0LHIsbil7cmV0dXJuIG9yKGUscikse3R5cGU6XCJQYXJ0aWFsQmxvY2tTdGF0ZW1lbnRcIixuYW1lOmUucGF0aCxwYXJhbXM6ZS5wYXJhbXMsaGFzaDplLmhhc2gscHJvZ3JhbTp0LG9wZW5TdHJpcDplLnN0cmlwLGNsb3NlU3RyaXA6ciYmci5zdHJpcCxsb2M6dGhpcy5sb2NJbmZvKG4pfX12YXIgRW49e307Zm9yKENlIGluIHJlKU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChyZSxDZSkmJihFbltDZV09cmVbQ2VdKTt2YXIgQ2U7ZnVuY3Rpb24gTmUoZSx0KXtpZihlLnR5cGU9PT1cIlByb2dyYW1cIilyZXR1cm4gZTtFZS55eT1FbixFZS55eS5sb2NJbmZvPWZ1bmN0aW9uKG4pe3JldHVybiBuZXcgbHIodCYmdC5zcmNOYW1lLG4pfTt2YXIgcj1FZS5wYXJzZShlKTtyZXR1cm4gcn1mdW5jdGlvbiBjcihlLHQpe3ZhciByPU5lKGUsdCksbj1uZXcgdm4odCk7cmV0dXJuIG4uYWNjZXB0KHIpfXZhciBUbj17QWFjdXRlOlwiXFx4QzFcIixhYWN1dGU6XCJcXHhFMVwiLEFicmV2ZTpcIlxcdTAxMDJcIixhYnJldmU6XCJcXHUwMTAzXCIsYWM6XCJcXHUyMjNFXCIsYWNkOlwiXFx1MjIzRlwiLGFjRTpcIlxcdTIyM0VcXHUwMzMzXCIsQWNpcmM6XCJcXHhDMlwiLGFjaXJjOlwiXFx4RTJcIixhY3V0ZTpcIlxceEI0XCIsQWN5OlwiXFx1MDQxMFwiLGFjeTpcIlxcdTA0MzBcIixBRWxpZzpcIlxceEM2XCIsYWVsaWc6XCJcXHhFNlwiLGFmOlwiXFx1MjA2MVwiLEFmcjpcIlxcdXsxRDUwNH1cIixhZnI6XCJcXHV7MUQ1MUV9XCIsQWdyYXZlOlwiXFx4QzBcIixhZ3JhdmU6XCJcXHhFMFwiLGFsZWZzeW06XCJcXHUyMTM1XCIsYWxlcGg6XCJcXHUyMTM1XCIsQWxwaGE6XCJcXHUwMzkxXCIsYWxwaGE6XCJcXHUwM0IxXCIsQW1hY3I6XCJcXHUwMTAwXCIsYW1hY3I6XCJcXHUwMTAxXCIsYW1hbGc6XCJcXHUyQTNGXCIsYW1wOlwiJlwiLEFNUDpcIiZcIixhbmRhbmQ6XCJcXHUyQTU1XCIsQW5kOlwiXFx1MkE1M1wiLGFuZDpcIlxcdTIyMjdcIixhbmRkOlwiXFx1MkE1Q1wiLGFuZHNsb3BlOlwiXFx1MkE1OFwiLGFuZHY6XCJcXHUyQTVBXCIsYW5nOlwiXFx1MjIyMFwiLGFuZ2U6XCJcXHUyOUE0XCIsYW5nbGU6XCJcXHUyMjIwXCIsYW5nbXNkYWE6XCJcXHUyOUE4XCIsYW5nbXNkYWI6XCJcXHUyOUE5XCIsYW5nbXNkYWM6XCJcXHUyOUFBXCIsYW5nbXNkYWQ6XCJcXHUyOUFCXCIsYW5nbXNkYWU6XCJcXHUyOUFDXCIsYW5nbXNkYWY6XCJcXHUyOUFEXCIsYW5nbXNkYWc6XCJcXHUyOUFFXCIsYW5nbXNkYWg6XCJcXHUyOUFGXCIsYW5nbXNkOlwiXFx1MjIyMVwiLGFuZ3J0OlwiXFx1MjIxRlwiLGFuZ3J0dmI6XCJcXHUyMkJFXCIsYW5ncnR2YmQ6XCJcXHUyOTlEXCIsYW5nc3BoOlwiXFx1MjIyMlwiLGFuZ3N0OlwiXFx4QzVcIixhbmd6YXJyOlwiXFx1MjM3Q1wiLEFvZ29uOlwiXFx1MDEwNFwiLGFvZ29uOlwiXFx1MDEwNVwiLEFvcGY6XCJcXHV7MUQ1Mzh9XCIsYW9wZjpcIlxcdXsxRDU1Mn1cIixhcGFjaXI6XCJcXHUyQTZGXCIsYXA6XCJcXHUyMjQ4XCIsYXBFOlwiXFx1MkE3MFwiLGFwZTpcIlxcdTIyNEFcIixhcGlkOlwiXFx1MjI0QlwiLGFwb3M6XCInXCIsQXBwbHlGdW5jdGlvbjpcIlxcdTIwNjFcIixhcHByb3g6XCJcXHUyMjQ4XCIsYXBwcm94ZXE6XCJcXHUyMjRBXCIsQXJpbmc6XCJcXHhDNVwiLGFyaW5nOlwiXFx4RTVcIixBc2NyOlwiXFx1ezFENDlDfVwiLGFzY3I6XCJcXHV7MUQ0QjZ9XCIsQXNzaWduOlwiXFx1MjI1NFwiLGFzdDpcIipcIixhc3ltcDpcIlxcdTIyNDhcIixhc3ltcGVxOlwiXFx1MjI0RFwiLEF0aWxkZTpcIlxceEMzXCIsYXRpbGRlOlwiXFx4RTNcIixBdW1sOlwiXFx4QzRcIixhdW1sOlwiXFx4RTRcIixhd2NvbmludDpcIlxcdTIyMzNcIixhd2ludDpcIlxcdTJBMTFcIixiYWNrY29uZzpcIlxcdTIyNENcIixiYWNrZXBzaWxvbjpcIlxcdTAzRjZcIixiYWNrcHJpbWU6XCJcXHUyMDM1XCIsYmFja3NpbTpcIlxcdTIyM0RcIixiYWNrc2ltZXE6XCJcXHUyMkNEXCIsQmFja3NsYXNoOlwiXFx1MjIxNlwiLEJhcnY6XCJcXHUyQUU3XCIsYmFydmVlOlwiXFx1MjJCRFwiLGJhcndlZDpcIlxcdTIzMDVcIixCYXJ3ZWQ6XCJcXHUyMzA2XCIsYmFyd2VkZ2U6XCJcXHUyMzA1XCIsYmJyazpcIlxcdTIzQjVcIixiYnJrdGJyazpcIlxcdTIzQjZcIixiY29uZzpcIlxcdTIyNENcIixCY3k6XCJcXHUwNDExXCIsYmN5OlwiXFx1MDQzMVwiLGJkcXVvOlwiXFx1MjAxRVwiLGJlY2F1czpcIlxcdTIyMzVcIixiZWNhdXNlOlwiXFx1MjIzNVwiLEJlY2F1c2U6XCJcXHUyMjM1XCIsYmVtcHR5djpcIlxcdTI5QjBcIixiZXBzaTpcIlxcdTAzRjZcIixiZXJub3U6XCJcXHUyMTJDXCIsQmVybm91bGxpczpcIlxcdTIxMkNcIixCZXRhOlwiXFx1MDM5MlwiLGJldGE6XCJcXHUwM0IyXCIsYmV0aDpcIlxcdTIxMzZcIixiZXR3ZWVuOlwiXFx1MjI2Q1wiLEJmcjpcIlxcdXsxRDUwNX1cIixiZnI6XCJcXHV7MUQ1MUZ9XCIsYmlnY2FwOlwiXFx1MjJDMlwiLGJpZ2NpcmM6XCJcXHUyNUVGXCIsYmlnY3VwOlwiXFx1MjJDM1wiLGJpZ29kb3Q6XCJcXHUyQTAwXCIsYmlnb3BsdXM6XCJcXHUyQTAxXCIsYmlnb3RpbWVzOlwiXFx1MkEwMlwiLGJpZ3NxY3VwOlwiXFx1MkEwNlwiLGJpZ3N0YXI6XCJcXHUyNjA1XCIsYmlndHJpYW5nbGVkb3duOlwiXFx1MjVCRFwiLGJpZ3RyaWFuZ2xldXA6XCJcXHUyNUIzXCIsYmlndXBsdXM6XCJcXHUyQTA0XCIsYmlndmVlOlwiXFx1MjJDMVwiLGJpZ3dlZGdlOlwiXFx1MjJDMFwiLGJrYXJvdzpcIlxcdTI5MERcIixibGFja2xvemVuZ2U6XCJcXHUyOUVCXCIsYmxhY2tzcXVhcmU6XCJcXHUyNUFBXCIsYmxhY2t0cmlhbmdsZTpcIlxcdTI1QjRcIixibGFja3RyaWFuZ2xlZG93bjpcIlxcdTI1QkVcIixibGFja3RyaWFuZ2xlbGVmdDpcIlxcdTI1QzJcIixibGFja3RyaWFuZ2xlcmlnaHQ6XCJcXHUyNUI4XCIsYmxhbms6XCJcXHUyNDIzXCIsYmxrMTI6XCJcXHUyNTkyXCIsYmxrMTQ6XCJcXHUyNTkxXCIsYmxrMzQ6XCJcXHUyNTkzXCIsYmxvY2s6XCJcXHUyNTg4XCIsYm5lOlwiPVxcdTIwRTVcIixibmVxdWl2OlwiXFx1MjI2MVxcdTIwRTVcIixiTm90OlwiXFx1MkFFRFwiLGJub3Q6XCJcXHUyMzEwXCIsQm9wZjpcIlxcdXsxRDUzOX1cIixib3BmOlwiXFx1ezFENTUzfVwiLGJvdDpcIlxcdTIyQTVcIixib3R0b206XCJcXHUyMkE1XCIsYm93dGllOlwiXFx1MjJDOFwiLGJveGJveDpcIlxcdTI5QzlcIixib3hkbDpcIlxcdTI1MTBcIixib3hkTDpcIlxcdTI1NTVcIixib3hEbDpcIlxcdTI1NTZcIixib3hETDpcIlxcdTI1NTdcIixib3hkcjpcIlxcdTI1MENcIixib3hkUjpcIlxcdTI1NTJcIixib3hEcjpcIlxcdTI1NTNcIixib3hEUjpcIlxcdTI1NTRcIixib3hoOlwiXFx1MjUwMFwiLGJveEg6XCJcXHUyNTUwXCIsYm94aGQ6XCJcXHUyNTJDXCIsYm94SGQ6XCJcXHUyNTY0XCIsYm94aEQ6XCJcXHUyNTY1XCIsYm94SEQ6XCJcXHUyNTY2XCIsYm94aHU6XCJcXHUyNTM0XCIsYm94SHU6XCJcXHUyNTY3XCIsYm94aFU6XCJcXHUyNTY4XCIsYm94SFU6XCJcXHUyNTY5XCIsYm94bWludXM6XCJcXHUyMjlGXCIsYm94cGx1czpcIlxcdTIyOUVcIixib3h0aW1lczpcIlxcdTIyQTBcIixib3h1bDpcIlxcdTI1MThcIixib3h1TDpcIlxcdTI1NUJcIixib3hVbDpcIlxcdTI1NUNcIixib3hVTDpcIlxcdTI1NURcIixib3h1cjpcIlxcdTI1MTRcIixib3h1UjpcIlxcdTI1NThcIixib3hVcjpcIlxcdTI1NTlcIixib3hVUjpcIlxcdTI1NUFcIixib3h2OlwiXFx1MjUwMlwiLGJveFY6XCJcXHUyNTUxXCIsYm94dmg6XCJcXHUyNTNDXCIsYm94dkg6XCJcXHUyNTZBXCIsYm94Vmg6XCJcXHUyNTZCXCIsYm94Vkg6XCJcXHUyNTZDXCIsYm94dmw6XCJcXHUyNTI0XCIsYm94dkw6XCJcXHUyNTYxXCIsYm94Vmw6XCJcXHUyNTYyXCIsYm94Vkw6XCJcXHUyNTYzXCIsYm94dnI6XCJcXHUyNTFDXCIsYm94dlI6XCJcXHUyNTVFXCIsYm94VnI6XCJcXHUyNTVGXCIsYm94VlI6XCJcXHUyNTYwXCIsYnByaW1lOlwiXFx1MjAzNVwiLGJyZXZlOlwiXFx1MDJEOFwiLEJyZXZlOlwiXFx1MDJEOFwiLGJydmJhcjpcIlxceEE2XCIsYnNjcjpcIlxcdXsxRDRCN31cIixCc2NyOlwiXFx1MjEyQ1wiLGJzZW1pOlwiXFx1MjA0RlwiLGJzaW06XCJcXHUyMjNEXCIsYnNpbWU6XCJcXHUyMkNEXCIsYnNvbGI6XCJcXHUyOUM1XCIsYnNvbDpcIlxcXFxcIixic29saHN1YjpcIlxcdTI3QzhcIixidWxsOlwiXFx1MjAyMlwiLGJ1bGxldDpcIlxcdTIwMjJcIixidW1wOlwiXFx1MjI0RVwiLGJ1bXBFOlwiXFx1MkFBRVwiLGJ1bXBlOlwiXFx1MjI0RlwiLEJ1bXBlcTpcIlxcdTIyNEVcIixidW1wZXE6XCJcXHUyMjRGXCIsQ2FjdXRlOlwiXFx1MDEwNlwiLGNhY3V0ZTpcIlxcdTAxMDdcIixjYXBhbmQ6XCJcXHUyQTQ0XCIsY2FwYnJjdXA6XCJcXHUyQTQ5XCIsY2FwY2FwOlwiXFx1MkE0QlwiLGNhcDpcIlxcdTIyMjlcIixDYXA6XCJcXHUyMkQyXCIsY2FwY3VwOlwiXFx1MkE0N1wiLGNhcGRvdDpcIlxcdTJBNDBcIixDYXBpdGFsRGlmZmVyZW50aWFsRDpcIlxcdTIxNDVcIixjYXBzOlwiXFx1MjIyOVxcdUZFMDBcIixjYXJldDpcIlxcdTIwNDFcIixjYXJvbjpcIlxcdTAyQzdcIixDYXlsZXlzOlwiXFx1MjEyRFwiLGNjYXBzOlwiXFx1MkE0RFwiLENjYXJvbjpcIlxcdTAxMENcIixjY2Fyb246XCJcXHUwMTBEXCIsQ2NlZGlsOlwiXFx4QzdcIixjY2VkaWw6XCJcXHhFN1wiLENjaXJjOlwiXFx1MDEwOFwiLGNjaXJjOlwiXFx1MDEwOVwiLENjb25pbnQ6XCJcXHUyMjMwXCIsY2N1cHM6XCJcXHUyQTRDXCIsY2N1cHNzbTpcIlxcdTJBNTBcIixDZG90OlwiXFx1MDEwQVwiLGNkb3Q6XCJcXHUwMTBCXCIsY2VkaWw6XCJcXHhCOFwiLENlZGlsbGE6XCJcXHhCOFwiLGNlbXB0eXY6XCJcXHUyOUIyXCIsY2VudDpcIlxceEEyXCIsY2VudGVyZG90OlwiXFx4QjdcIixDZW50ZXJEb3Q6XCJcXHhCN1wiLGNmcjpcIlxcdXsxRDUyMH1cIixDZnI6XCJcXHUyMTJEXCIsQ0hjeTpcIlxcdTA0MjdcIixjaGN5OlwiXFx1MDQ0N1wiLGNoZWNrOlwiXFx1MjcxM1wiLGNoZWNrbWFyazpcIlxcdTI3MTNcIixDaGk6XCJcXHUwM0E3XCIsY2hpOlwiXFx1MDNDN1wiLGNpcmM6XCJcXHUwMkM2XCIsY2lyY2VxOlwiXFx1MjI1N1wiLGNpcmNsZWFycm93bGVmdDpcIlxcdTIxQkFcIixjaXJjbGVhcnJvd3JpZ2h0OlwiXFx1MjFCQlwiLGNpcmNsZWRhc3Q6XCJcXHUyMjlCXCIsY2lyY2xlZGNpcmM6XCJcXHUyMjlBXCIsY2lyY2xlZGRhc2g6XCJcXHUyMjlEXCIsQ2lyY2xlRG90OlwiXFx1MjI5OVwiLGNpcmNsZWRSOlwiXFx4QUVcIixjaXJjbGVkUzpcIlxcdTI0QzhcIixDaXJjbGVNaW51czpcIlxcdTIyOTZcIixDaXJjbGVQbHVzOlwiXFx1MjI5NVwiLENpcmNsZVRpbWVzOlwiXFx1MjI5N1wiLGNpcjpcIlxcdTI1Q0JcIixjaXJFOlwiXFx1MjlDM1wiLGNpcmU6XCJcXHUyMjU3XCIsY2lyZm5pbnQ6XCJcXHUyQTEwXCIsY2lybWlkOlwiXFx1MkFFRlwiLGNpcnNjaXI6XCJcXHUyOUMyXCIsQ2xvY2t3aXNlQ29udG91ckludGVncmFsOlwiXFx1MjIzMlwiLENsb3NlQ3VybHlEb3VibGVRdW90ZTpcIlxcdTIwMURcIixDbG9zZUN1cmx5UXVvdGU6XCJcXHUyMDE5XCIsY2x1YnM6XCJcXHUyNjYzXCIsY2x1YnN1aXQ6XCJcXHUyNjYzXCIsY29sb246XCI6XCIsQ29sb246XCJcXHUyMjM3XCIsQ29sb25lOlwiXFx1MkE3NFwiLGNvbG9uZTpcIlxcdTIyNTRcIixjb2xvbmVxOlwiXFx1MjI1NFwiLGNvbW1hOlwiLFwiLGNvbW1hdDpcIkBcIixjb21wOlwiXFx1MjIwMVwiLGNvbXBmbjpcIlxcdTIyMThcIixjb21wbGVtZW50OlwiXFx1MjIwMVwiLGNvbXBsZXhlczpcIlxcdTIxMDJcIixjb25nOlwiXFx1MjI0NVwiLGNvbmdkb3Q6XCJcXHUyQTZEXCIsQ29uZ3J1ZW50OlwiXFx1MjI2MVwiLGNvbmludDpcIlxcdTIyMkVcIixDb25pbnQ6XCJcXHUyMjJGXCIsQ29udG91ckludGVncmFsOlwiXFx1MjIyRVwiLGNvcGY6XCJcXHV7MUQ1NTR9XCIsQ29wZjpcIlxcdTIxMDJcIixjb3Byb2Q6XCJcXHUyMjEwXCIsQ29wcm9kdWN0OlwiXFx1MjIxMFwiLGNvcHk6XCJcXHhBOVwiLENPUFk6XCJcXHhBOVwiLGNvcHlzcjpcIlxcdTIxMTdcIixDb3VudGVyQ2xvY2t3aXNlQ29udG91ckludGVncmFsOlwiXFx1MjIzM1wiLGNyYXJyOlwiXFx1MjFCNVwiLGNyb3NzOlwiXFx1MjcxN1wiLENyb3NzOlwiXFx1MkEyRlwiLENzY3I6XCJcXHV7MUQ0OUV9XCIsY3NjcjpcIlxcdXsxRDRCOH1cIixjc3ViOlwiXFx1MkFDRlwiLGNzdWJlOlwiXFx1MkFEMVwiLGNzdXA6XCJcXHUyQUQwXCIsY3N1cGU6XCJcXHUyQUQyXCIsY3Rkb3Q6XCJcXHUyMkVGXCIsY3VkYXJybDpcIlxcdTI5MzhcIixjdWRhcnJyOlwiXFx1MjkzNVwiLGN1ZXByOlwiXFx1MjJERVwiLGN1ZXNjOlwiXFx1MjJERlwiLGN1bGFycjpcIlxcdTIxQjZcIixjdWxhcnJwOlwiXFx1MjkzRFwiLGN1cGJyY2FwOlwiXFx1MkE0OFwiLGN1cGNhcDpcIlxcdTJBNDZcIixDdXBDYXA6XCJcXHUyMjREXCIsY3VwOlwiXFx1MjIyQVwiLEN1cDpcIlxcdTIyRDNcIixjdXBjdXA6XCJcXHUyQTRBXCIsY3VwZG90OlwiXFx1MjI4RFwiLGN1cG9yOlwiXFx1MkE0NVwiLGN1cHM6XCJcXHUyMjJBXFx1RkUwMFwiLGN1cmFycjpcIlxcdTIxQjdcIixjdXJhcnJtOlwiXFx1MjkzQ1wiLGN1cmx5ZXFwcmVjOlwiXFx1MjJERVwiLGN1cmx5ZXFzdWNjOlwiXFx1MjJERlwiLGN1cmx5dmVlOlwiXFx1MjJDRVwiLGN1cmx5d2VkZ2U6XCJcXHUyMkNGXCIsY3VycmVuOlwiXFx4QTRcIixjdXJ2ZWFycm93bGVmdDpcIlxcdTIxQjZcIixjdXJ2ZWFycm93cmlnaHQ6XCJcXHUyMUI3XCIsY3V2ZWU6XCJcXHUyMkNFXCIsY3V3ZWQ6XCJcXHUyMkNGXCIsY3djb25pbnQ6XCJcXHUyMjMyXCIsY3dpbnQ6XCJcXHUyMjMxXCIsY3lsY3R5OlwiXFx1MjMyRFwiLGRhZ2dlcjpcIlxcdTIwMjBcIixEYWdnZXI6XCJcXHUyMDIxXCIsZGFsZXRoOlwiXFx1MjEzOFwiLGRhcnI6XCJcXHUyMTkzXCIsRGFycjpcIlxcdTIxQTFcIixkQXJyOlwiXFx1MjFEM1wiLGRhc2g6XCJcXHUyMDEwXCIsRGFzaHY6XCJcXHUyQUU0XCIsZGFzaHY6XCJcXHUyMkEzXCIsZGJrYXJvdzpcIlxcdTI5MEZcIixkYmxhYzpcIlxcdTAyRERcIixEY2Fyb246XCJcXHUwMTBFXCIsZGNhcm9uOlwiXFx1MDEwRlwiLERjeTpcIlxcdTA0MTRcIixkY3k6XCJcXHUwNDM0XCIsZGRhZ2dlcjpcIlxcdTIwMjFcIixkZGFycjpcIlxcdTIxQ0FcIixERDpcIlxcdTIxNDVcIixkZDpcIlxcdTIxNDZcIixERG90cmFoZDpcIlxcdTI5MTFcIixkZG90c2VxOlwiXFx1MkE3N1wiLGRlZzpcIlxceEIwXCIsRGVsOlwiXFx1MjIwN1wiLERlbHRhOlwiXFx1MDM5NFwiLGRlbHRhOlwiXFx1MDNCNFwiLGRlbXB0eXY6XCJcXHUyOUIxXCIsZGZpc2h0OlwiXFx1Mjk3RlwiLERmcjpcIlxcdXsxRDUwN31cIixkZnI6XCJcXHV7MUQ1MjF9XCIsZEhhcjpcIlxcdTI5NjVcIixkaGFybDpcIlxcdTIxQzNcIixkaGFycjpcIlxcdTIxQzJcIixEaWFjcml0aWNhbEFjdXRlOlwiXFx4QjRcIixEaWFjcml0aWNhbERvdDpcIlxcdTAyRDlcIixEaWFjcml0aWNhbERvdWJsZUFjdXRlOlwiXFx1MDJERFwiLERpYWNyaXRpY2FsR3JhdmU6XCJgXCIsRGlhY3JpdGljYWxUaWxkZTpcIlxcdTAyRENcIixkaWFtOlwiXFx1MjJDNFwiLGRpYW1vbmQ6XCJcXHUyMkM0XCIsRGlhbW9uZDpcIlxcdTIyQzRcIixkaWFtb25kc3VpdDpcIlxcdTI2NjZcIixkaWFtczpcIlxcdTI2NjZcIixkaWU6XCJcXHhBOFwiLERpZmZlcmVudGlhbEQ6XCJcXHUyMTQ2XCIsZGlnYW1tYTpcIlxcdTAzRERcIixkaXNpbjpcIlxcdTIyRjJcIixkaXY6XCJcXHhGN1wiLGRpdmlkZTpcIlxceEY3XCIsZGl2aWRlb250aW1lczpcIlxcdTIyQzdcIixkaXZvbng6XCJcXHUyMkM3XCIsREpjeTpcIlxcdTA0MDJcIixkamN5OlwiXFx1MDQ1MlwiLGRsY29ybjpcIlxcdTIzMUVcIixkbGNyb3A6XCJcXHUyMzBEXCIsZG9sbGFyOlwiJFwiLERvcGY6XCJcXHV7MUQ1M0J9XCIsZG9wZjpcIlxcdXsxRDU1NX1cIixEb3Q6XCJcXHhBOFwiLGRvdDpcIlxcdTAyRDlcIixEb3REb3Q6XCJcXHUyMERDXCIsZG90ZXE6XCJcXHUyMjUwXCIsZG90ZXFkb3Q6XCJcXHUyMjUxXCIsRG90RXF1YWw6XCJcXHUyMjUwXCIsZG90bWludXM6XCJcXHUyMjM4XCIsZG90cGx1czpcIlxcdTIyMTRcIixkb3RzcXVhcmU6XCJcXHUyMkExXCIsZG91YmxlYmFyd2VkZ2U6XCJcXHUyMzA2XCIsRG91YmxlQ29udG91ckludGVncmFsOlwiXFx1MjIyRlwiLERvdWJsZURvdDpcIlxceEE4XCIsRG91YmxlRG93bkFycm93OlwiXFx1MjFEM1wiLERvdWJsZUxlZnRBcnJvdzpcIlxcdTIxRDBcIixEb3VibGVMZWZ0UmlnaHRBcnJvdzpcIlxcdTIxRDRcIixEb3VibGVMZWZ0VGVlOlwiXFx1MkFFNFwiLERvdWJsZUxvbmdMZWZ0QXJyb3c6XCJcXHUyN0Y4XCIsRG91YmxlTG9uZ0xlZnRSaWdodEFycm93OlwiXFx1MjdGQVwiLERvdWJsZUxvbmdSaWdodEFycm93OlwiXFx1MjdGOVwiLERvdWJsZVJpZ2h0QXJyb3c6XCJcXHUyMUQyXCIsRG91YmxlUmlnaHRUZWU6XCJcXHUyMkE4XCIsRG91YmxlVXBBcnJvdzpcIlxcdTIxRDFcIixEb3VibGVVcERvd25BcnJvdzpcIlxcdTIxRDVcIixEb3VibGVWZXJ0aWNhbEJhcjpcIlxcdTIyMjVcIixEb3duQXJyb3dCYXI6XCJcXHUyOTEzXCIsZG93bmFycm93OlwiXFx1MjE5M1wiLERvd25BcnJvdzpcIlxcdTIxOTNcIixEb3duYXJyb3c6XCJcXHUyMUQzXCIsRG93bkFycm93VXBBcnJvdzpcIlxcdTIxRjVcIixEb3duQnJldmU6XCJcXHUwMzExXCIsZG93bmRvd25hcnJvd3M6XCJcXHUyMUNBXCIsZG93bmhhcnBvb25sZWZ0OlwiXFx1MjFDM1wiLGRvd25oYXJwb29ucmlnaHQ6XCJcXHUyMUMyXCIsRG93bkxlZnRSaWdodFZlY3RvcjpcIlxcdTI5NTBcIixEb3duTGVmdFRlZVZlY3RvcjpcIlxcdTI5NUVcIixEb3duTGVmdFZlY3RvckJhcjpcIlxcdTI5NTZcIixEb3duTGVmdFZlY3RvcjpcIlxcdTIxQkRcIixEb3duUmlnaHRUZWVWZWN0b3I6XCJcXHUyOTVGXCIsRG93blJpZ2h0VmVjdG9yQmFyOlwiXFx1Mjk1N1wiLERvd25SaWdodFZlY3RvcjpcIlxcdTIxQzFcIixEb3duVGVlQXJyb3c6XCJcXHUyMUE3XCIsRG93blRlZTpcIlxcdTIyQTRcIixkcmJrYXJvdzpcIlxcdTI5MTBcIixkcmNvcm46XCJcXHUyMzFGXCIsZHJjcm9wOlwiXFx1MjMwQ1wiLERzY3I6XCJcXHV7MUQ0OUZ9XCIsZHNjcjpcIlxcdXsxRDRCOX1cIixEU2N5OlwiXFx1MDQwNVwiLGRzY3k6XCJcXHUwNDU1XCIsZHNvbDpcIlxcdTI5RjZcIixEc3Ryb2s6XCJcXHUwMTEwXCIsZHN0cm9rOlwiXFx1MDExMVwiLGR0ZG90OlwiXFx1MjJGMVwiLGR0cmk6XCJcXHUyNUJGXCIsZHRyaWY6XCJcXHUyNUJFXCIsZHVhcnI6XCJcXHUyMUY1XCIsZHVoYXI6XCJcXHUyOTZGXCIsZHdhbmdsZTpcIlxcdTI5QTZcIixEWmN5OlwiXFx1MDQwRlwiLGR6Y3k6XCJcXHUwNDVGXCIsZHppZ3JhcnI6XCJcXHUyN0ZGXCIsRWFjdXRlOlwiXFx4QzlcIixlYWN1dGU6XCJcXHhFOVwiLGVhc3RlcjpcIlxcdTJBNkVcIixFY2Fyb246XCJcXHUwMTFBXCIsZWNhcm9uOlwiXFx1MDExQlwiLEVjaXJjOlwiXFx4Q0FcIixlY2lyYzpcIlxceEVBXCIsZWNpcjpcIlxcdTIyNTZcIixlY29sb246XCJcXHUyMjU1XCIsRWN5OlwiXFx1MDQyRFwiLGVjeTpcIlxcdTA0NERcIixlRERvdDpcIlxcdTJBNzdcIixFZG90OlwiXFx1MDExNlwiLGVkb3Q6XCJcXHUwMTE3XCIsZURvdDpcIlxcdTIyNTFcIixlZTpcIlxcdTIxNDdcIixlZkRvdDpcIlxcdTIyNTJcIixFZnI6XCJcXHV7MUQ1MDh9XCIsZWZyOlwiXFx1ezFENTIyfVwiLGVnOlwiXFx1MkE5QVwiLEVncmF2ZTpcIlxceEM4XCIsZWdyYXZlOlwiXFx4RThcIixlZ3M6XCJcXHUyQTk2XCIsZWdzZG90OlwiXFx1MkE5OFwiLGVsOlwiXFx1MkE5OVwiLEVsZW1lbnQ6XCJcXHUyMjA4XCIsZWxpbnRlcnM6XCJcXHUyM0U3XCIsZWxsOlwiXFx1MjExM1wiLGVsczpcIlxcdTJBOTVcIixlbHNkb3Q6XCJcXHUyQTk3XCIsRW1hY3I6XCJcXHUwMTEyXCIsZW1hY3I6XCJcXHUwMTEzXCIsZW1wdHk6XCJcXHUyMjA1XCIsZW1wdHlzZXQ6XCJcXHUyMjA1XCIsRW1wdHlTbWFsbFNxdWFyZTpcIlxcdTI1RkJcIixlbXB0eXY6XCJcXHUyMjA1XCIsRW1wdHlWZXJ5U21hbGxTcXVhcmU6XCJcXHUyNUFCXCIsZW1zcDEzOlwiXFx1MjAwNFwiLGVtc3AxNDpcIlxcdTIwMDVcIixlbXNwOlwiXFx1MjAwM1wiLEVORzpcIlxcdTAxNEFcIixlbmc6XCJcXHUwMTRCXCIsZW5zcDpcIlxcdTIwMDJcIixFb2dvbjpcIlxcdTAxMThcIixlb2dvbjpcIlxcdTAxMTlcIixFb3BmOlwiXFx1ezFENTNDfVwiLGVvcGY6XCJcXHV7MUQ1NTZ9XCIsZXBhcjpcIlxcdTIyRDVcIixlcGFyc2w6XCJcXHUyOUUzXCIsZXBsdXM6XCJcXHUyQTcxXCIsZXBzaTpcIlxcdTAzQjVcIixFcHNpbG9uOlwiXFx1MDM5NVwiLGVwc2lsb246XCJcXHUwM0I1XCIsZXBzaXY6XCJcXHUwM0Y1XCIsZXFjaXJjOlwiXFx1MjI1NlwiLGVxY29sb246XCJcXHUyMjU1XCIsZXFzaW06XCJcXHUyMjQyXCIsZXFzbGFudGd0cjpcIlxcdTJBOTZcIixlcXNsYW50bGVzczpcIlxcdTJBOTVcIixFcXVhbDpcIlxcdTJBNzVcIixlcXVhbHM6XCI9XCIsRXF1YWxUaWxkZTpcIlxcdTIyNDJcIixlcXVlc3Q6XCJcXHUyMjVGXCIsRXF1aWxpYnJpdW06XCJcXHUyMUNDXCIsZXF1aXY6XCJcXHUyMjYxXCIsZXF1aXZERDpcIlxcdTJBNzhcIixlcXZwYXJzbDpcIlxcdTI5RTVcIixlcmFycjpcIlxcdTI5NzFcIixlckRvdDpcIlxcdTIyNTNcIixlc2NyOlwiXFx1MjEyRlwiLEVzY3I6XCJcXHUyMTMwXCIsZXNkb3Q6XCJcXHUyMjUwXCIsRXNpbTpcIlxcdTJBNzNcIixlc2ltOlwiXFx1MjI0MlwiLEV0YTpcIlxcdTAzOTdcIixldGE6XCJcXHUwM0I3XCIsRVRIOlwiXFx4RDBcIixldGg6XCJcXHhGMFwiLEV1bWw6XCJcXHhDQlwiLGV1bWw6XCJcXHhFQlwiLGV1cm86XCJcXHUyMEFDXCIsZXhjbDpcIiFcIixleGlzdDpcIlxcdTIyMDNcIixFeGlzdHM6XCJcXHUyMjAzXCIsZXhwZWN0YXRpb246XCJcXHUyMTMwXCIsZXhwb25lbnRpYWxlOlwiXFx1MjE0N1wiLEV4cG9uZW50aWFsRTpcIlxcdTIxNDdcIixmYWxsaW5nZG90c2VxOlwiXFx1MjI1MlwiLEZjeTpcIlxcdTA0MjRcIixmY3k6XCJcXHUwNDQ0XCIsZmVtYWxlOlwiXFx1MjY0MFwiLGZmaWxpZzpcIlxcdUZCMDNcIixmZmxpZzpcIlxcdUZCMDBcIixmZmxsaWc6XCJcXHVGQjA0XCIsRmZyOlwiXFx1ezFENTA5fVwiLGZmcjpcIlxcdXsxRDUyM31cIixmaWxpZzpcIlxcdUZCMDFcIixGaWxsZWRTbWFsbFNxdWFyZTpcIlxcdTI1RkNcIixGaWxsZWRWZXJ5U21hbGxTcXVhcmU6XCJcXHUyNUFBXCIsZmpsaWc6XCJmalwiLGZsYXQ6XCJcXHUyNjZEXCIsZmxsaWc6XCJcXHVGQjAyXCIsZmx0bnM6XCJcXHUyNUIxXCIsZm5vZjpcIlxcdTAxOTJcIixGb3BmOlwiXFx1ezFENTNEfVwiLGZvcGY6XCJcXHV7MUQ1NTd9XCIsZm9yYWxsOlwiXFx1MjIwMFwiLEZvckFsbDpcIlxcdTIyMDBcIixmb3JrOlwiXFx1MjJENFwiLGZvcmt2OlwiXFx1MkFEOVwiLEZvdXJpZXJ0cmY6XCJcXHUyMTMxXCIsZnBhcnRpbnQ6XCJcXHUyQTBEXCIsZnJhYzEyOlwiXFx4QkRcIixmcmFjMTM6XCJcXHUyMTUzXCIsZnJhYzE0OlwiXFx4QkNcIixmcmFjMTU6XCJcXHUyMTU1XCIsZnJhYzE2OlwiXFx1MjE1OVwiLGZyYWMxODpcIlxcdTIxNUJcIixmcmFjMjM6XCJcXHUyMTU0XCIsZnJhYzI1OlwiXFx1MjE1NlwiLGZyYWMzNDpcIlxceEJFXCIsZnJhYzM1OlwiXFx1MjE1N1wiLGZyYWMzODpcIlxcdTIxNUNcIixmcmFjNDU6XCJcXHUyMTU4XCIsZnJhYzU2OlwiXFx1MjE1QVwiLGZyYWM1ODpcIlxcdTIxNURcIixmcmFjNzg6XCJcXHUyMTVFXCIsZnJhc2w6XCJcXHUyMDQ0XCIsZnJvd246XCJcXHUyMzIyXCIsZnNjcjpcIlxcdXsxRDRCQn1cIixGc2NyOlwiXFx1MjEzMVwiLGdhY3V0ZTpcIlxcdTAxRjVcIixHYW1tYTpcIlxcdTAzOTNcIixnYW1tYTpcIlxcdTAzQjNcIixHYW1tYWQ6XCJcXHUwM0RDXCIsZ2FtbWFkOlwiXFx1MDNERFwiLGdhcDpcIlxcdTJBODZcIixHYnJldmU6XCJcXHUwMTFFXCIsZ2JyZXZlOlwiXFx1MDExRlwiLEdjZWRpbDpcIlxcdTAxMjJcIixHY2lyYzpcIlxcdTAxMUNcIixnY2lyYzpcIlxcdTAxMURcIixHY3k6XCJcXHUwNDEzXCIsZ2N5OlwiXFx1MDQzM1wiLEdkb3Q6XCJcXHUwMTIwXCIsZ2RvdDpcIlxcdTAxMjFcIixnZTpcIlxcdTIyNjVcIixnRTpcIlxcdTIyNjdcIixnRWw6XCJcXHUyQThDXCIsZ2VsOlwiXFx1MjJEQlwiLGdlcTpcIlxcdTIyNjVcIixnZXFxOlwiXFx1MjI2N1wiLGdlcXNsYW50OlwiXFx1MkE3RVwiLGdlc2NjOlwiXFx1MkFBOVwiLGdlczpcIlxcdTJBN0VcIixnZXNkb3Q6XCJcXHUyQTgwXCIsZ2VzZG90bzpcIlxcdTJBODJcIixnZXNkb3RvbDpcIlxcdTJBODRcIixnZXNsOlwiXFx1MjJEQlxcdUZFMDBcIixnZXNsZXM6XCJcXHUyQTk0XCIsR2ZyOlwiXFx1ezFENTBBfVwiLGdmcjpcIlxcdXsxRDUyNH1cIixnZzpcIlxcdTIyNkJcIixHZzpcIlxcdTIyRDlcIixnZ2c6XCJcXHUyMkQ5XCIsZ2ltZWw6XCJcXHUyMTM3XCIsR0pjeTpcIlxcdTA0MDNcIixnamN5OlwiXFx1MDQ1M1wiLGdsYTpcIlxcdTJBQTVcIixnbDpcIlxcdTIyNzdcIixnbEU6XCJcXHUyQTkyXCIsZ2xqOlwiXFx1MkFBNFwiLGduYXA6XCJcXHUyQThBXCIsZ25hcHByb3g6XCJcXHUyQThBXCIsZ25lOlwiXFx1MkE4OFwiLGduRTpcIlxcdTIyNjlcIixnbmVxOlwiXFx1MkE4OFwiLGduZXFxOlwiXFx1MjI2OVwiLGduc2ltOlwiXFx1MjJFN1wiLEdvcGY6XCJcXHV7MUQ1M0V9XCIsZ29wZjpcIlxcdXsxRDU1OH1cIixncmF2ZTpcImBcIixHcmVhdGVyRXF1YWw6XCJcXHUyMjY1XCIsR3JlYXRlckVxdWFsTGVzczpcIlxcdTIyREJcIixHcmVhdGVyRnVsbEVxdWFsOlwiXFx1MjI2N1wiLEdyZWF0ZXJHcmVhdGVyOlwiXFx1MkFBMlwiLEdyZWF0ZXJMZXNzOlwiXFx1MjI3N1wiLEdyZWF0ZXJTbGFudEVxdWFsOlwiXFx1MkE3RVwiLEdyZWF0ZXJUaWxkZTpcIlxcdTIyNzNcIixHc2NyOlwiXFx1ezFENEEyfVwiLGdzY3I6XCJcXHUyMTBBXCIsZ3NpbTpcIlxcdTIyNzNcIixnc2ltZTpcIlxcdTJBOEVcIixnc2ltbDpcIlxcdTJBOTBcIixndGNjOlwiXFx1MkFBN1wiLGd0Y2lyOlwiXFx1MkE3QVwiLGd0OlwiPlwiLEdUOlwiPlwiLEd0OlwiXFx1MjI2QlwiLGd0ZG90OlwiXFx1MjJEN1wiLGd0bFBhcjpcIlxcdTI5OTVcIixndHF1ZXN0OlwiXFx1MkE3Q1wiLGd0cmFwcHJveDpcIlxcdTJBODZcIixndHJhcnI6XCJcXHUyOTc4XCIsZ3RyZG90OlwiXFx1MjJEN1wiLGd0cmVxbGVzczpcIlxcdTIyREJcIixndHJlcXFsZXNzOlwiXFx1MkE4Q1wiLGd0cmxlc3M6XCJcXHUyMjc3XCIsZ3Ryc2ltOlwiXFx1MjI3M1wiLGd2ZXJ0bmVxcTpcIlxcdTIyNjlcXHVGRTAwXCIsZ3ZuRTpcIlxcdTIyNjlcXHVGRTAwXCIsSGFjZWs6XCJcXHUwMkM3XCIsaGFpcnNwOlwiXFx1MjAwQVwiLGhhbGY6XCJcXHhCRFwiLGhhbWlsdDpcIlxcdTIxMEJcIixIQVJEY3k6XCJcXHUwNDJBXCIsaGFyZGN5OlwiXFx1MDQ0QVwiLGhhcnJjaXI6XCJcXHUyOTQ4XCIsaGFycjpcIlxcdTIxOTRcIixoQXJyOlwiXFx1MjFENFwiLGhhcnJ3OlwiXFx1MjFBRFwiLEhhdDpcIl5cIixoYmFyOlwiXFx1MjEwRlwiLEhjaXJjOlwiXFx1MDEyNFwiLGhjaXJjOlwiXFx1MDEyNVwiLGhlYXJ0czpcIlxcdTI2NjVcIixoZWFydHN1aXQ6XCJcXHUyNjY1XCIsaGVsbGlwOlwiXFx1MjAyNlwiLGhlcmNvbjpcIlxcdTIyQjlcIixoZnI6XCJcXHV7MUQ1MjV9XCIsSGZyOlwiXFx1MjEwQ1wiLEhpbGJlcnRTcGFjZTpcIlxcdTIxMEJcIixoa3NlYXJvdzpcIlxcdTI5MjVcIixoa3N3YXJvdzpcIlxcdTI5MjZcIixob2FycjpcIlxcdTIxRkZcIixob210aHQ6XCJcXHUyMjNCXCIsaG9va2xlZnRhcnJvdzpcIlxcdTIxQTlcIixob29rcmlnaHRhcnJvdzpcIlxcdTIxQUFcIixob3BmOlwiXFx1ezFENTU5fVwiLEhvcGY6XCJcXHUyMTBEXCIsaG9yYmFyOlwiXFx1MjAxNVwiLEhvcml6b250YWxMaW5lOlwiXFx1MjUwMFwiLGhzY3I6XCJcXHV7MUQ0QkR9XCIsSHNjcjpcIlxcdTIxMEJcIixoc2xhc2g6XCJcXHUyMTBGXCIsSHN0cm9rOlwiXFx1MDEyNlwiLGhzdHJvazpcIlxcdTAxMjdcIixIdW1wRG93bkh1bXA6XCJcXHUyMjRFXCIsSHVtcEVxdWFsOlwiXFx1MjI0RlwiLGh5YnVsbDpcIlxcdTIwNDNcIixoeXBoZW46XCJcXHUyMDEwXCIsSWFjdXRlOlwiXFx4Q0RcIixpYWN1dGU6XCJcXHhFRFwiLGljOlwiXFx1MjA2M1wiLEljaXJjOlwiXFx4Q0VcIixpY2lyYzpcIlxceEVFXCIsSWN5OlwiXFx1MDQxOFwiLGljeTpcIlxcdTA0MzhcIixJZG90OlwiXFx1MDEzMFwiLElFY3k6XCJcXHUwNDE1XCIsaWVjeTpcIlxcdTA0MzVcIixpZXhjbDpcIlxceEExXCIsaWZmOlwiXFx1MjFENFwiLGlmcjpcIlxcdXsxRDUyNn1cIixJZnI6XCJcXHUyMTExXCIsSWdyYXZlOlwiXFx4Q0NcIixpZ3JhdmU6XCJcXHhFQ1wiLGlpOlwiXFx1MjE0OFwiLGlpaWludDpcIlxcdTJBMENcIixpaWludDpcIlxcdTIyMkRcIixpaW5maW46XCJcXHUyOURDXCIsaWlvdGE6XCJcXHUyMTI5XCIsSUpsaWc6XCJcXHUwMTMyXCIsaWpsaWc6XCJcXHUwMTMzXCIsSW1hY3I6XCJcXHUwMTJBXCIsaW1hY3I6XCJcXHUwMTJCXCIsaW1hZ2U6XCJcXHUyMTExXCIsSW1hZ2luYXJ5STpcIlxcdTIxNDhcIixpbWFnbGluZTpcIlxcdTIxMTBcIixpbWFncGFydDpcIlxcdTIxMTFcIixpbWF0aDpcIlxcdTAxMzFcIixJbTpcIlxcdTIxMTFcIixpbW9mOlwiXFx1MjJCN1wiLGltcGVkOlwiXFx1MDFCNVwiLEltcGxpZXM6XCJcXHUyMUQyXCIsaW5jYXJlOlwiXFx1MjEwNVwiLGluOlwiXFx1MjIwOFwiLGluZmluOlwiXFx1MjIxRVwiLGluZmludGllOlwiXFx1MjlERFwiLGlub2RvdDpcIlxcdTAxMzFcIixpbnRjYWw6XCJcXHUyMkJBXCIsaW50OlwiXFx1MjIyQlwiLEludDpcIlxcdTIyMkNcIixpbnRlZ2VyczpcIlxcdTIxMjRcIixJbnRlZ3JhbDpcIlxcdTIyMkJcIixpbnRlcmNhbDpcIlxcdTIyQkFcIixJbnRlcnNlY3Rpb246XCJcXHUyMkMyXCIsaW50bGFyaGs6XCJcXHUyQTE3XCIsaW50cHJvZDpcIlxcdTJBM0NcIixJbnZpc2libGVDb21tYTpcIlxcdTIwNjNcIixJbnZpc2libGVUaW1lczpcIlxcdTIwNjJcIixJT2N5OlwiXFx1MDQwMVwiLGlvY3k6XCJcXHUwNDUxXCIsSW9nb246XCJcXHUwMTJFXCIsaW9nb246XCJcXHUwMTJGXCIsSW9wZjpcIlxcdXsxRDU0MH1cIixpb3BmOlwiXFx1ezFENTVBfVwiLElvdGE6XCJcXHUwMzk5XCIsaW90YTpcIlxcdTAzQjlcIixpcHJvZDpcIlxcdTJBM0NcIixpcXVlc3Q6XCJcXHhCRlwiLGlzY3I6XCJcXHV7MUQ0QkV9XCIsSXNjcjpcIlxcdTIxMTBcIixpc2luOlwiXFx1MjIwOFwiLGlzaW5kb3Q6XCJcXHUyMkY1XCIsaXNpbkU6XCJcXHUyMkY5XCIsaXNpbnM6XCJcXHUyMkY0XCIsaXNpbnN2OlwiXFx1MjJGM1wiLGlzaW52OlwiXFx1MjIwOFwiLGl0OlwiXFx1MjA2MlwiLEl0aWxkZTpcIlxcdTAxMjhcIixpdGlsZGU6XCJcXHUwMTI5XCIsSXVrY3k6XCJcXHUwNDA2XCIsaXVrY3k6XCJcXHUwNDU2XCIsSXVtbDpcIlxceENGXCIsaXVtbDpcIlxceEVGXCIsSmNpcmM6XCJcXHUwMTM0XCIsamNpcmM6XCJcXHUwMTM1XCIsSmN5OlwiXFx1MDQxOVwiLGpjeTpcIlxcdTA0MzlcIixKZnI6XCJcXHV7MUQ1MER9XCIsamZyOlwiXFx1ezFENTI3fVwiLGptYXRoOlwiXFx1MDIzN1wiLEpvcGY6XCJcXHV7MUQ1NDF9XCIsam9wZjpcIlxcdXsxRDU1Qn1cIixKc2NyOlwiXFx1ezFENEE1fVwiLGpzY3I6XCJcXHV7MUQ0QkZ9XCIsSnNlcmN5OlwiXFx1MDQwOFwiLGpzZXJjeTpcIlxcdTA0NThcIixKdWtjeTpcIlxcdTA0MDRcIixqdWtjeTpcIlxcdTA0NTRcIixLYXBwYTpcIlxcdTAzOUFcIixrYXBwYTpcIlxcdTAzQkFcIixrYXBwYXY6XCJcXHUwM0YwXCIsS2NlZGlsOlwiXFx1MDEzNlwiLGtjZWRpbDpcIlxcdTAxMzdcIixLY3k6XCJcXHUwNDFBXCIsa2N5OlwiXFx1MDQzQVwiLEtmcjpcIlxcdXsxRDUwRX1cIixrZnI6XCJcXHV7MUQ1Mjh9XCIsa2dyZWVuOlwiXFx1MDEzOFwiLEtIY3k6XCJcXHUwNDI1XCIsa2hjeTpcIlxcdTA0NDVcIixLSmN5OlwiXFx1MDQwQ1wiLGtqY3k6XCJcXHUwNDVDXCIsS29wZjpcIlxcdXsxRDU0Mn1cIixrb3BmOlwiXFx1ezFENTVDfVwiLEtzY3I6XCJcXHV7MUQ0QTZ9XCIsa3NjcjpcIlxcdXsxRDRDMH1cIixsQWFycjpcIlxcdTIxREFcIixMYWN1dGU6XCJcXHUwMTM5XCIsbGFjdXRlOlwiXFx1MDEzQVwiLGxhZW1wdHl2OlwiXFx1MjlCNFwiLGxhZ3JhbjpcIlxcdTIxMTJcIixMYW1iZGE6XCJcXHUwMzlCXCIsbGFtYmRhOlwiXFx1MDNCQlwiLGxhbmc6XCJcXHUyN0U4XCIsTGFuZzpcIlxcdTI3RUFcIixsYW5nZDpcIlxcdTI5OTFcIixsYW5nbGU6XCJcXHUyN0U4XCIsbGFwOlwiXFx1MkE4NVwiLExhcGxhY2V0cmY6XCJcXHUyMTEyXCIsbGFxdW86XCJcXHhBQlwiLGxhcnJiOlwiXFx1MjFFNFwiLGxhcnJiZnM6XCJcXHUyOTFGXCIsbGFycjpcIlxcdTIxOTBcIixMYXJyOlwiXFx1MjE5RVwiLGxBcnI6XCJcXHUyMUQwXCIsbGFycmZzOlwiXFx1MjkxRFwiLGxhcnJoazpcIlxcdTIxQTlcIixsYXJybHA6XCJcXHUyMUFCXCIsbGFycnBsOlwiXFx1MjkzOVwiLGxhcnJzaW06XCJcXHUyOTczXCIsbGFycnRsOlwiXFx1MjFBMlwiLGxhdGFpbDpcIlxcdTI5MTlcIixsQXRhaWw6XCJcXHUyOTFCXCIsbGF0OlwiXFx1MkFBQlwiLGxhdGU6XCJcXHUyQUFEXCIsbGF0ZXM6XCJcXHUyQUFEXFx1RkUwMFwiLGxiYXJyOlwiXFx1MjkwQ1wiLGxCYXJyOlwiXFx1MjkwRVwiLGxiYnJrOlwiXFx1Mjc3MlwiLGxicmFjZTpcIntcIixsYnJhY2s6XCJbXCIsbGJya2U6XCJcXHUyOThCXCIsbGJya3NsZDpcIlxcdTI5OEZcIixsYnJrc2x1OlwiXFx1Mjk4RFwiLExjYXJvbjpcIlxcdTAxM0RcIixsY2Fyb246XCJcXHUwMTNFXCIsTGNlZGlsOlwiXFx1MDEzQlwiLGxjZWRpbDpcIlxcdTAxM0NcIixsY2VpbDpcIlxcdTIzMDhcIixsY3ViOlwie1wiLExjeTpcIlxcdTA0MUJcIixsY3k6XCJcXHUwNDNCXCIsbGRjYTpcIlxcdTI5MzZcIixsZHF1bzpcIlxcdTIwMUNcIixsZHF1b3I6XCJcXHUyMDFFXCIsbGRyZGhhcjpcIlxcdTI5NjdcIixsZHJ1c2hhcjpcIlxcdTI5NEJcIixsZHNoOlwiXFx1MjFCMlwiLGxlOlwiXFx1MjI2NFwiLGxFOlwiXFx1MjI2NlwiLExlZnRBbmdsZUJyYWNrZXQ6XCJcXHUyN0U4XCIsTGVmdEFycm93QmFyOlwiXFx1MjFFNFwiLGxlZnRhcnJvdzpcIlxcdTIxOTBcIixMZWZ0QXJyb3c6XCJcXHUyMTkwXCIsTGVmdGFycm93OlwiXFx1MjFEMFwiLExlZnRBcnJvd1JpZ2h0QXJyb3c6XCJcXHUyMUM2XCIsbGVmdGFycm93dGFpbDpcIlxcdTIxQTJcIixMZWZ0Q2VpbGluZzpcIlxcdTIzMDhcIixMZWZ0RG91YmxlQnJhY2tldDpcIlxcdTI3RTZcIixMZWZ0RG93blRlZVZlY3RvcjpcIlxcdTI5NjFcIixMZWZ0RG93blZlY3RvckJhcjpcIlxcdTI5NTlcIixMZWZ0RG93blZlY3RvcjpcIlxcdTIxQzNcIixMZWZ0Rmxvb3I6XCJcXHUyMzBBXCIsbGVmdGhhcnBvb25kb3duOlwiXFx1MjFCRFwiLGxlZnRoYXJwb29udXA6XCJcXHUyMUJDXCIsbGVmdGxlZnRhcnJvd3M6XCJcXHUyMUM3XCIsbGVmdHJpZ2h0YXJyb3c6XCJcXHUyMTk0XCIsTGVmdFJpZ2h0QXJyb3c6XCJcXHUyMTk0XCIsTGVmdHJpZ2h0YXJyb3c6XCJcXHUyMUQ0XCIsbGVmdHJpZ2h0YXJyb3dzOlwiXFx1MjFDNlwiLGxlZnRyaWdodGhhcnBvb25zOlwiXFx1MjFDQlwiLGxlZnRyaWdodHNxdWlnYXJyb3c6XCJcXHUyMUFEXCIsTGVmdFJpZ2h0VmVjdG9yOlwiXFx1Mjk0RVwiLExlZnRUZWVBcnJvdzpcIlxcdTIxQTRcIixMZWZ0VGVlOlwiXFx1MjJBM1wiLExlZnRUZWVWZWN0b3I6XCJcXHUyOTVBXCIsbGVmdHRocmVldGltZXM6XCJcXHUyMkNCXCIsTGVmdFRyaWFuZ2xlQmFyOlwiXFx1MjlDRlwiLExlZnRUcmlhbmdsZTpcIlxcdTIyQjJcIixMZWZ0VHJpYW5nbGVFcXVhbDpcIlxcdTIyQjRcIixMZWZ0VXBEb3duVmVjdG9yOlwiXFx1Mjk1MVwiLExlZnRVcFRlZVZlY3RvcjpcIlxcdTI5NjBcIixMZWZ0VXBWZWN0b3JCYXI6XCJcXHUyOTU4XCIsTGVmdFVwVmVjdG9yOlwiXFx1MjFCRlwiLExlZnRWZWN0b3JCYXI6XCJcXHUyOTUyXCIsTGVmdFZlY3RvcjpcIlxcdTIxQkNcIixsRWc6XCJcXHUyQThCXCIsbGVnOlwiXFx1MjJEQVwiLGxlcTpcIlxcdTIyNjRcIixsZXFxOlwiXFx1MjI2NlwiLGxlcXNsYW50OlwiXFx1MkE3RFwiLGxlc2NjOlwiXFx1MkFBOFwiLGxlczpcIlxcdTJBN0RcIixsZXNkb3Q6XCJcXHUyQTdGXCIsbGVzZG90bzpcIlxcdTJBODFcIixsZXNkb3RvcjpcIlxcdTJBODNcIixsZXNnOlwiXFx1MjJEQVxcdUZFMDBcIixsZXNnZXM6XCJcXHUyQTkzXCIsbGVzc2FwcHJveDpcIlxcdTJBODVcIixsZXNzZG90OlwiXFx1MjJENlwiLGxlc3NlcWd0cjpcIlxcdTIyREFcIixsZXNzZXFxZ3RyOlwiXFx1MkE4QlwiLExlc3NFcXVhbEdyZWF0ZXI6XCJcXHUyMkRBXCIsTGVzc0Z1bGxFcXVhbDpcIlxcdTIyNjZcIixMZXNzR3JlYXRlcjpcIlxcdTIyNzZcIixsZXNzZ3RyOlwiXFx1MjI3NlwiLExlc3NMZXNzOlwiXFx1MkFBMVwiLGxlc3NzaW06XCJcXHUyMjcyXCIsTGVzc1NsYW50RXF1YWw6XCJcXHUyQTdEXCIsTGVzc1RpbGRlOlwiXFx1MjI3MlwiLGxmaXNodDpcIlxcdTI5N0NcIixsZmxvb3I6XCJcXHUyMzBBXCIsTGZyOlwiXFx1ezFENTBGfVwiLGxmcjpcIlxcdXsxRDUyOX1cIixsZzpcIlxcdTIyNzZcIixsZ0U6XCJcXHUyQTkxXCIsbEhhcjpcIlxcdTI5NjJcIixsaGFyZDpcIlxcdTIxQkRcIixsaGFydTpcIlxcdTIxQkNcIixsaGFydWw6XCJcXHUyOTZBXCIsbGhibGs6XCJcXHUyNTg0XCIsTEpjeTpcIlxcdTA0MDlcIixsamN5OlwiXFx1MDQ1OVwiLGxsYXJyOlwiXFx1MjFDN1wiLGxsOlwiXFx1MjI2QVwiLExsOlwiXFx1MjJEOFwiLGxsY29ybmVyOlwiXFx1MjMxRVwiLExsZWZ0YXJyb3c6XCJcXHUyMURBXCIsbGxoYXJkOlwiXFx1Mjk2QlwiLGxsdHJpOlwiXFx1MjVGQVwiLExtaWRvdDpcIlxcdTAxM0ZcIixsbWlkb3Q6XCJcXHUwMTQwXCIsbG1vdXN0YWNoZTpcIlxcdTIzQjBcIixsbW91c3Q6XCJcXHUyM0IwXCIsbG5hcDpcIlxcdTJBODlcIixsbmFwcHJveDpcIlxcdTJBODlcIixsbmU6XCJcXHUyQTg3XCIsbG5FOlwiXFx1MjI2OFwiLGxuZXE6XCJcXHUyQTg3XCIsbG5lcXE6XCJcXHUyMjY4XCIsbG5zaW06XCJcXHUyMkU2XCIsbG9hbmc6XCJcXHUyN0VDXCIsbG9hcnI6XCJcXHUyMUZEXCIsbG9icms6XCJcXHUyN0U2XCIsbG9uZ2xlZnRhcnJvdzpcIlxcdTI3RjVcIixMb25nTGVmdEFycm93OlwiXFx1MjdGNVwiLExvbmdsZWZ0YXJyb3c6XCJcXHUyN0Y4XCIsbG9uZ2xlZnRyaWdodGFycm93OlwiXFx1MjdGN1wiLExvbmdMZWZ0UmlnaHRBcnJvdzpcIlxcdTI3RjdcIixMb25nbGVmdHJpZ2h0YXJyb3c6XCJcXHUyN0ZBXCIsbG9uZ21hcHN0bzpcIlxcdTI3RkNcIixsb25ncmlnaHRhcnJvdzpcIlxcdTI3RjZcIixMb25nUmlnaHRBcnJvdzpcIlxcdTI3RjZcIixMb25ncmlnaHRhcnJvdzpcIlxcdTI3RjlcIixsb29wYXJyb3dsZWZ0OlwiXFx1MjFBQlwiLGxvb3BhcnJvd3JpZ2h0OlwiXFx1MjFBQ1wiLGxvcGFyOlwiXFx1Mjk4NVwiLExvcGY6XCJcXHV7MUQ1NDN9XCIsbG9wZjpcIlxcdXsxRDU1RH1cIixsb3BsdXM6XCJcXHUyQTJEXCIsbG90aW1lczpcIlxcdTJBMzRcIixsb3dhc3Q6XCJcXHUyMjE3XCIsbG93YmFyOlwiX1wiLExvd2VyTGVmdEFycm93OlwiXFx1MjE5OVwiLExvd2VyUmlnaHRBcnJvdzpcIlxcdTIxOThcIixsb3o6XCJcXHUyNUNBXCIsbG96ZW5nZTpcIlxcdTI1Q0FcIixsb3pmOlwiXFx1MjlFQlwiLGxwYXI6XCIoXCIsbHBhcmx0OlwiXFx1Mjk5M1wiLGxyYXJyOlwiXFx1MjFDNlwiLGxyY29ybmVyOlwiXFx1MjMxRlwiLGxyaGFyOlwiXFx1MjFDQlwiLGxyaGFyZDpcIlxcdTI5NkRcIixscm06XCJcXHUyMDBFXCIsbHJ0cmk6XCJcXHUyMkJGXCIsbHNhcXVvOlwiXFx1MjAzOVwiLGxzY3I6XCJcXHV7MUQ0QzF9XCIsTHNjcjpcIlxcdTIxMTJcIixsc2g6XCJcXHUyMUIwXCIsTHNoOlwiXFx1MjFCMFwiLGxzaW06XCJcXHUyMjcyXCIsbHNpbWU6XCJcXHUyQThEXCIsbHNpbWc6XCJcXHUyQThGXCIsbHNxYjpcIltcIixsc3F1bzpcIlxcdTIwMThcIixsc3F1b3I6XCJcXHUyMDFBXCIsTHN0cm9rOlwiXFx1MDE0MVwiLGxzdHJvazpcIlxcdTAxNDJcIixsdGNjOlwiXFx1MkFBNlwiLGx0Y2lyOlwiXFx1MkE3OVwiLGx0OlwiPFwiLExUOlwiPFwiLEx0OlwiXFx1MjI2QVwiLGx0ZG90OlwiXFx1MjJENlwiLGx0aHJlZTpcIlxcdTIyQ0JcIixsdGltZXM6XCJcXHUyMkM5XCIsbHRsYXJyOlwiXFx1Mjk3NlwiLGx0cXVlc3Q6XCJcXHUyQTdCXCIsbHRyaTpcIlxcdTI1QzNcIixsdHJpZTpcIlxcdTIyQjRcIixsdHJpZjpcIlxcdTI1QzJcIixsdHJQYXI6XCJcXHUyOTk2XCIsbHVyZHNoYXI6XCJcXHUyOTRBXCIsbHVydWhhcjpcIlxcdTI5NjZcIixsdmVydG5lcXE6XCJcXHUyMjY4XFx1RkUwMFwiLGx2bkU6XCJcXHUyMjY4XFx1RkUwMFwiLG1hY3I6XCJcXHhBRlwiLG1hbGU6XCJcXHUyNjQyXCIsbWFsdDpcIlxcdTI3MjBcIixtYWx0ZXNlOlwiXFx1MjcyMFwiLE1hcDpcIlxcdTI5MDVcIixtYXA6XCJcXHUyMUE2XCIsbWFwc3RvOlwiXFx1MjFBNlwiLG1hcHN0b2Rvd246XCJcXHUyMUE3XCIsbWFwc3RvbGVmdDpcIlxcdTIxQTRcIixtYXBzdG91cDpcIlxcdTIxQTVcIixtYXJrZXI6XCJcXHUyNUFFXCIsbWNvbW1hOlwiXFx1MkEyOVwiLE1jeTpcIlxcdTA0MUNcIixtY3k6XCJcXHUwNDNDXCIsbWRhc2g6XCJcXHUyMDE0XCIsbUREb3Q6XCJcXHUyMjNBXCIsbWVhc3VyZWRhbmdsZTpcIlxcdTIyMjFcIixNZWRpdW1TcGFjZTpcIlxcdTIwNUZcIixNZWxsaW50cmY6XCJcXHUyMTMzXCIsTWZyOlwiXFx1ezFENTEwfVwiLG1mcjpcIlxcdXsxRDUyQX1cIixtaG86XCJcXHUyMTI3XCIsbWljcm86XCJcXHhCNVwiLG1pZGFzdDpcIipcIixtaWRjaXI6XCJcXHUyQUYwXCIsbWlkOlwiXFx1MjIyM1wiLG1pZGRvdDpcIlxceEI3XCIsbWludXNiOlwiXFx1MjI5RlwiLG1pbnVzOlwiXFx1MjIxMlwiLG1pbnVzZDpcIlxcdTIyMzhcIixtaW51c2R1OlwiXFx1MkEyQVwiLE1pbnVzUGx1czpcIlxcdTIyMTNcIixtbGNwOlwiXFx1MkFEQlwiLG1sZHI6XCJcXHUyMDI2XCIsbW5wbHVzOlwiXFx1MjIxM1wiLG1vZGVsczpcIlxcdTIyQTdcIixNb3BmOlwiXFx1ezFENTQ0fVwiLG1vcGY6XCJcXHV7MUQ1NUV9XCIsbXA6XCJcXHUyMjEzXCIsbXNjcjpcIlxcdXsxRDRDMn1cIixNc2NyOlwiXFx1MjEzM1wiLG1zdHBvczpcIlxcdTIyM0VcIixNdTpcIlxcdTAzOUNcIixtdTpcIlxcdTAzQkNcIixtdWx0aW1hcDpcIlxcdTIyQjhcIixtdW1hcDpcIlxcdTIyQjhcIixuYWJsYTpcIlxcdTIyMDdcIixOYWN1dGU6XCJcXHUwMTQzXCIsbmFjdXRlOlwiXFx1MDE0NFwiLG5hbmc6XCJcXHUyMjIwXFx1MjBEMlwiLG5hcDpcIlxcdTIyNDlcIixuYXBFOlwiXFx1MkE3MFxcdTAzMzhcIixuYXBpZDpcIlxcdTIyNEJcXHUwMzM4XCIsbmFwb3M6XCJcXHUwMTQ5XCIsbmFwcHJveDpcIlxcdTIyNDlcIixuYXR1cmFsOlwiXFx1MjY2RVwiLG5hdHVyYWxzOlwiXFx1MjExNVwiLG5hdHVyOlwiXFx1MjY2RVwiLG5ic3A6XCJcXHhBMFwiLG5idW1wOlwiXFx1MjI0RVxcdTAzMzhcIixuYnVtcGU6XCJcXHUyMjRGXFx1MDMzOFwiLG5jYXA6XCJcXHUyQTQzXCIsTmNhcm9uOlwiXFx1MDE0N1wiLG5jYXJvbjpcIlxcdTAxNDhcIixOY2VkaWw6XCJcXHUwMTQ1XCIsbmNlZGlsOlwiXFx1MDE0NlwiLG5jb25nOlwiXFx1MjI0N1wiLG5jb25nZG90OlwiXFx1MkE2RFxcdTAzMzhcIixuY3VwOlwiXFx1MkE0MlwiLE5jeTpcIlxcdTA0MURcIixuY3k6XCJcXHUwNDNEXCIsbmRhc2g6XCJcXHUyMDEzXCIsbmVhcmhrOlwiXFx1MjkyNFwiLG5lYXJyOlwiXFx1MjE5N1wiLG5lQXJyOlwiXFx1MjFEN1wiLG5lYXJyb3c6XCJcXHUyMTk3XCIsbmU6XCJcXHUyMjYwXCIsbmVkb3Q6XCJcXHUyMjUwXFx1MDMzOFwiLE5lZ2F0aXZlTWVkaXVtU3BhY2U6XCJcXHUyMDBCXCIsTmVnYXRpdmVUaGlja1NwYWNlOlwiXFx1MjAwQlwiLE5lZ2F0aXZlVGhpblNwYWNlOlwiXFx1MjAwQlwiLE5lZ2F0aXZlVmVyeVRoaW5TcGFjZTpcIlxcdTIwMEJcIixuZXF1aXY6XCJcXHUyMjYyXCIsbmVzZWFyOlwiXFx1MjkyOFwiLG5lc2ltOlwiXFx1MjI0MlxcdTAzMzhcIixOZXN0ZWRHcmVhdGVyR3JlYXRlcjpcIlxcdTIyNkJcIixOZXN0ZWRMZXNzTGVzczpcIlxcdTIyNkFcIixOZXdMaW5lOmBcbmAsbmV4aXN0OlwiXFx1MjIwNFwiLG5leGlzdHM6XCJcXHUyMjA0XCIsTmZyOlwiXFx1ezFENTExfVwiLG5mcjpcIlxcdXsxRDUyQn1cIixuZ0U6XCJcXHUyMjY3XFx1MDMzOFwiLG5nZTpcIlxcdTIyNzFcIixuZ2VxOlwiXFx1MjI3MVwiLG5nZXFxOlwiXFx1MjI2N1xcdTAzMzhcIixuZ2Vxc2xhbnQ6XCJcXHUyQTdFXFx1MDMzOFwiLG5nZXM6XCJcXHUyQTdFXFx1MDMzOFwiLG5HZzpcIlxcdTIyRDlcXHUwMzM4XCIsbmdzaW06XCJcXHUyMjc1XCIsbkd0OlwiXFx1MjI2QlxcdTIwRDJcIixuZ3Q6XCJcXHUyMjZGXCIsbmd0cjpcIlxcdTIyNkZcIixuR3R2OlwiXFx1MjI2QlxcdTAzMzhcIixuaGFycjpcIlxcdTIxQUVcIixuaEFycjpcIlxcdTIxQ0VcIixuaHBhcjpcIlxcdTJBRjJcIixuaTpcIlxcdTIyMEJcIixuaXM6XCJcXHUyMkZDXCIsbmlzZDpcIlxcdTIyRkFcIixuaXY6XCJcXHUyMjBCXCIsTkpjeTpcIlxcdTA0MEFcIixuamN5OlwiXFx1MDQ1QVwiLG5sYXJyOlwiXFx1MjE5QVwiLG5sQXJyOlwiXFx1MjFDRFwiLG5sZHI6XCJcXHUyMDI1XCIsbmxFOlwiXFx1MjI2NlxcdTAzMzhcIixubGU6XCJcXHUyMjcwXCIsbmxlZnRhcnJvdzpcIlxcdTIxOUFcIixuTGVmdGFycm93OlwiXFx1MjFDRFwiLG5sZWZ0cmlnaHRhcnJvdzpcIlxcdTIxQUVcIixuTGVmdHJpZ2h0YXJyb3c6XCJcXHUyMUNFXCIsbmxlcTpcIlxcdTIyNzBcIixubGVxcTpcIlxcdTIyNjZcXHUwMzM4XCIsbmxlcXNsYW50OlwiXFx1MkE3RFxcdTAzMzhcIixubGVzOlwiXFx1MkE3RFxcdTAzMzhcIixubGVzczpcIlxcdTIyNkVcIixuTGw6XCJcXHUyMkQ4XFx1MDMzOFwiLG5sc2ltOlwiXFx1MjI3NFwiLG5MdDpcIlxcdTIyNkFcXHUyMEQyXCIsbmx0OlwiXFx1MjI2RVwiLG5sdHJpOlwiXFx1MjJFQVwiLG5sdHJpZTpcIlxcdTIyRUNcIixuTHR2OlwiXFx1MjI2QVxcdTAzMzhcIixubWlkOlwiXFx1MjIyNFwiLE5vQnJlYWs6XCJcXHUyMDYwXCIsTm9uQnJlYWtpbmdTcGFjZTpcIlxceEEwXCIsbm9wZjpcIlxcdXsxRDU1Rn1cIixOb3BmOlwiXFx1MjExNVwiLE5vdDpcIlxcdTJBRUNcIixub3Q6XCJcXHhBQ1wiLE5vdENvbmdydWVudDpcIlxcdTIyNjJcIixOb3RDdXBDYXA6XCJcXHUyMjZEXCIsTm90RG91YmxlVmVydGljYWxCYXI6XCJcXHUyMjI2XCIsTm90RWxlbWVudDpcIlxcdTIyMDlcIixOb3RFcXVhbDpcIlxcdTIyNjBcIixOb3RFcXVhbFRpbGRlOlwiXFx1MjI0MlxcdTAzMzhcIixOb3RFeGlzdHM6XCJcXHUyMjA0XCIsTm90R3JlYXRlcjpcIlxcdTIyNkZcIixOb3RHcmVhdGVyRXF1YWw6XCJcXHUyMjcxXCIsTm90R3JlYXRlckZ1bGxFcXVhbDpcIlxcdTIyNjdcXHUwMzM4XCIsTm90R3JlYXRlckdyZWF0ZXI6XCJcXHUyMjZCXFx1MDMzOFwiLE5vdEdyZWF0ZXJMZXNzOlwiXFx1MjI3OVwiLE5vdEdyZWF0ZXJTbGFudEVxdWFsOlwiXFx1MkE3RVxcdTAzMzhcIixOb3RHcmVhdGVyVGlsZGU6XCJcXHUyMjc1XCIsTm90SHVtcERvd25IdW1wOlwiXFx1MjI0RVxcdTAzMzhcIixOb3RIdW1wRXF1YWw6XCJcXHUyMjRGXFx1MDMzOFwiLG5vdGluOlwiXFx1MjIwOVwiLG5vdGluZG90OlwiXFx1MjJGNVxcdTAzMzhcIixub3RpbkU6XCJcXHUyMkY5XFx1MDMzOFwiLG5vdGludmE6XCJcXHUyMjA5XCIsbm90aW52YjpcIlxcdTIyRjdcIixub3RpbnZjOlwiXFx1MjJGNlwiLE5vdExlZnRUcmlhbmdsZUJhcjpcIlxcdTI5Q0ZcXHUwMzM4XCIsTm90TGVmdFRyaWFuZ2xlOlwiXFx1MjJFQVwiLE5vdExlZnRUcmlhbmdsZUVxdWFsOlwiXFx1MjJFQ1wiLE5vdExlc3M6XCJcXHUyMjZFXCIsTm90TGVzc0VxdWFsOlwiXFx1MjI3MFwiLE5vdExlc3NHcmVhdGVyOlwiXFx1MjI3OFwiLE5vdExlc3NMZXNzOlwiXFx1MjI2QVxcdTAzMzhcIixOb3RMZXNzU2xhbnRFcXVhbDpcIlxcdTJBN0RcXHUwMzM4XCIsTm90TGVzc1RpbGRlOlwiXFx1MjI3NFwiLE5vdE5lc3RlZEdyZWF0ZXJHcmVhdGVyOlwiXFx1MkFBMlxcdTAzMzhcIixOb3ROZXN0ZWRMZXNzTGVzczpcIlxcdTJBQTFcXHUwMzM4XCIsbm90bmk6XCJcXHUyMjBDXCIsbm90bml2YTpcIlxcdTIyMENcIixub3RuaXZiOlwiXFx1MjJGRVwiLG5vdG5pdmM6XCJcXHUyMkZEXCIsTm90UHJlY2VkZXM6XCJcXHUyMjgwXCIsTm90UHJlY2VkZXNFcXVhbDpcIlxcdTJBQUZcXHUwMzM4XCIsTm90UHJlY2VkZXNTbGFudEVxdWFsOlwiXFx1MjJFMFwiLE5vdFJldmVyc2VFbGVtZW50OlwiXFx1MjIwQ1wiLE5vdFJpZ2h0VHJpYW5nbGVCYXI6XCJcXHUyOUQwXFx1MDMzOFwiLE5vdFJpZ2h0VHJpYW5nbGU6XCJcXHUyMkVCXCIsTm90UmlnaHRUcmlhbmdsZUVxdWFsOlwiXFx1MjJFRFwiLE5vdFNxdWFyZVN1YnNldDpcIlxcdTIyOEZcXHUwMzM4XCIsTm90U3F1YXJlU3Vic2V0RXF1YWw6XCJcXHUyMkUyXCIsTm90U3F1YXJlU3VwZXJzZXQ6XCJcXHUyMjkwXFx1MDMzOFwiLE5vdFNxdWFyZVN1cGVyc2V0RXF1YWw6XCJcXHUyMkUzXCIsTm90U3Vic2V0OlwiXFx1MjI4MlxcdTIwRDJcIixOb3RTdWJzZXRFcXVhbDpcIlxcdTIyODhcIixOb3RTdWNjZWVkczpcIlxcdTIyODFcIixOb3RTdWNjZWVkc0VxdWFsOlwiXFx1MkFCMFxcdTAzMzhcIixOb3RTdWNjZWVkc1NsYW50RXF1YWw6XCJcXHUyMkUxXCIsTm90U3VjY2VlZHNUaWxkZTpcIlxcdTIyN0ZcXHUwMzM4XCIsTm90U3VwZXJzZXQ6XCJcXHUyMjgzXFx1MjBEMlwiLE5vdFN1cGVyc2V0RXF1YWw6XCJcXHUyMjg5XCIsTm90VGlsZGU6XCJcXHUyMjQxXCIsTm90VGlsZGVFcXVhbDpcIlxcdTIyNDRcIixOb3RUaWxkZUZ1bGxFcXVhbDpcIlxcdTIyNDdcIixOb3RUaWxkZVRpbGRlOlwiXFx1MjI0OVwiLE5vdFZlcnRpY2FsQmFyOlwiXFx1MjIyNFwiLG5wYXJhbGxlbDpcIlxcdTIyMjZcIixucGFyOlwiXFx1MjIyNlwiLG5wYXJzbDpcIlxcdTJBRkRcXHUyMEU1XCIsbnBhcnQ6XCJcXHUyMjAyXFx1MDMzOFwiLG5wb2xpbnQ6XCJcXHUyQTE0XCIsbnByOlwiXFx1MjI4MFwiLG5wcmN1ZTpcIlxcdTIyRTBcIixucHJlYzpcIlxcdTIyODBcIixucHJlY2VxOlwiXFx1MkFBRlxcdTAzMzhcIixucHJlOlwiXFx1MkFBRlxcdTAzMzhcIixucmFycmM6XCJcXHUyOTMzXFx1MDMzOFwiLG5yYXJyOlwiXFx1MjE5QlwiLG5yQXJyOlwiXFx1MjFDRlwiLG5yYXJydzpcIlxcdTIxOURcXHUwMzM4XCIsbnJpZ2h0YXJyb3c6XCJcXHUyMTlCXCIsblJpZ2h0YXJyb3c6XCJcXHUyMUNGXCIsbnJ0cmk6XCJcXHUyMkVCXCIsbnJ0cmllOlwiXFx1MjJFRFwiLG5zYzpcIlxcdTIyODFcIixuc2NjdWU6XCJcXHUyMkUxXCIsbnNjZTpcIlxcdTJBQjBcXHUwMzM4XCIsTnNjcjpcIlxcdXsxRDRBOX1cIixuc2NyOlwiXFx1ezFENEMzfVwiLG5zaG9ydG1pZDpcIlxcdTIyMjRcIixuc2hvcnRwYXJhbGxlbDpcIlxcdTIyMjZcIixuc2ltOlwiXFx1MjI0MVwiLG5zaW1lOlwiXFx1MjI0NFwiLG5zaW1lcTpcIlxcdTIyNDRcIixuc21pZDpcIlxcdTIyMjRcIixuc3BhcjpcIlxcdTIyMjZcIixuc3FzdWJlOlwiXFx1MjJFMlwiLG5zcXN1cGU6XCJcXHUyMkUzXCIsbnN1YjpcIlxcdTIyODRcIixuc3ViRTpcIlxcdTJBQzVcXHUwMzM4XCIsbnN1YmU6XCJcXHUyMjg4XCIsbnN1YnNldDpcIlxcdTIyODJcXHUyMEQyXCIsbnN1YnNldGVxOlwiXFx1MjI4OFwiLG5zdWJzZXRlcXE6XCJcXHUyQUM1XFx1MDMzOFwiLG5zdWNjOlwiXFx1MjI4MVwiLG5zdWNjZXE6XCJcXHUyQUIwXFx1MDMzOFwiLG5zdXA6XCJcXHUyMjg1XCIsbnN1cEU6XCJcXHUyQUM2XFx1MDMzOFwiLG5zdXBlOlwiXFx1MjI4OVwiLG5zdXBzZXQ6XCJcXHUyMjgzXFx1MjBEMlwiLG5zdXBzZXRlcTpcIlxcdTIyODlcIixuc3Vwc2V0ZXFxOlwiXFx1MkFDNlxcdTAzMzhcIixudGdsOlwiXFx1MjI3OVwiLE50aWxkZTpcIlxceEQxXCIsbnRpbGRlOlwiXFx4RjFcIixudGxnOlwiXFx1MjI3OFwiLG50cmlhbmdsZWxlZnQ6XCJcXHUyMkVBXCIsbnRyaWFuZ2xlbGVmdGVxOlwiXFx1MjJFQ1wiLG50cmlhbmdsZXJpZ2h0OlwiXFx1MjJFQlwiLG50cmlhbmdsZXJpZ2h0ZXE6XCJcXHUyMkVEXCIsTnU6XCJcXHUwMzlEXCIsbnU6XCJcXHUwM0JEXCIsbnVtOlwiI1wiLG51bWVybzpcIlxcdTIxMTZcIixudW1zcDpcIlxcdTIwMDdcIixudmFwOlwiXFx1MjI0RFxcdTIwRDJcIixudmRhc2g6XCJcXHUyMkFDXCIsbnZEYXNoOlwiXFx1MjJBRFwiLG5WZGFzaDpcIlxcdTIyQUVcIixuVkRhc2g6XCJcXHUyMkFGXCIsbnZnZTpcIlxcdTIyNjVcXHUyMEQyXCIsbnZndDpcIj5cXHUyMEQyXCIsbnZIYXJyOlwiXFx1MjkwNFwiLG52aW5maW46XCJcXHUyOURFXCIsbnZsQXJyOlwiXFx1MjkwMlwiLG52bGU6XCJcXHUyMjY0XFx1MjBEMlwiLG52bHQ6XCI8XFx1MjBEMlwiLG52bHRyaWU6XCJcXHUyMkI0XFx1MjBEMlwiLG52ckFycjpcIlxcdTI5MDNcIixudnJ0cmllOlwiXFx1MjJCNVxcdTIwRDJcIixudnNpbTpcIlxcdTIyM0NcXHUyMEQyXCIsbndhcmhrOlwiXFx1MjkyM1wiLG53YXJyOlwiXFx1MjE5NlwiLG53QXJyOlwiXFx1MjFENlwiLG53YXJyb3c6XCJcXHUyMTk2XCIsbnduZWFyOlwiXFx1MjkyN1wiLE9hY3V0ZTpcIlxceEQzXCIsb2FjdXRlOlwiXFx4RjNcIixvYXN0OlwiXFx1MjI5QlwiLE9jaXJjOlwiXFx4RDRcIixvY2lyYzpcIlxceEY0XCIsb2NpcjpcIlxcdTIyOUFcIixPY3k6XCJcXHUwNDFFXCIsb2N5OlwiXFx1MDQzRVwiLG9kYXNoOlwiXFx1MjI5RFwiLE9kYmxhYzpcIlxcdTAxNTBcIixvZGJsYWM6XCJcXHUwMTUxXCIsb2RpdjpcIlxcdTJBMzhcIixvZG90OlwiXFx1MjI5OVwiLG9kc29sZDpcIlxcdTI5QkNcIixPRWxpZzpcIlxcdTAxNTJcIixvZWxpZzpcIlxcdTAxNTNcIixvZmNpcjpcIlxcdTI5QkZcIixPZnI6XCJcXHV7MUQ1MTJ9XCIsb2ZyOlwiXFx1ezFENTJDfVwiLG9nb246XCJcXHUwMkRCXCIsT2dyYXZlOlwiXFx4RDJcIixvZ3JhdmU6XCJcXHhGMlwiLG9ndDpcIlxcdTI5QzFcIixvaGJhcjpcIlxcdTI5QjVcIixvaG06XCJcXHUwM0E5XCIsb2ludDpcIlxcdTIyMkVcIixvbGFycjpcIlxcdTIxQkFcIixvbGNpcjpcIlxcdTI5QkVcIixvbGNyb3NzOlwiXFx1MjlCQlwiLG9saW5lOlwiXFx1MjAzRVwiLG9sdDpcIlxcdTI5QzBcIixPbWFjcjpcIlxcdTAxNENcIixvbWFjcjpcIlxcdTAxNERcIixPbWVnYTpcIlxcdTAzQTlcIixvbWVnYTpcIlxcdTAzQzlcIixPbWljcm9uOlwiXFx1MDM5RlwiLG9taWNyb246XCJcXHUwM0JGXCIsb21pZDpcIlxcdTI5QjZcIixvbWludXM6XCJcXHUyMjk2XCIsT29wZjpcIlxcdXsxRDU0Nn1cIixvb3BmOlwiXFx1ezFENTYwfVwiLG9wYXI6XCJcXHUyOUI3XCIsT3BlbkN1cmx5RG91YmxlUXVvdGU6XCJcXHUyMDFDXCIsT3BlbkN1cmx5UXVvdGU6XCJcXHUyMDE4XCIsb3BlcnA6XCJcXHUyOUI5XCIsb3BsdXM6XCJcXHUyMjk1XCIsb3JhcnI6XCJcXHUyMUJCXCIsT3I6XCJcXHUyQTU0XCIsb3I6XCJcXHUyMjI4XCIsb3JkOlwiXFx1MkE1RFwiLG9yZGVyOlwiXFx1MjEzNFwiLG9yZGVyb2Y6XCJcXHUyMTM0XCIsb3JkZjpcIlxceEFBXCIsb3JkbTpcIlxceEJBXCIsb3JpZ29mOlwiXFx1MjJCNlwiLG9yb3I6XCJcXHUyQTU2XCIsb3JzbG9wZTpcIlxcdTJBNTdcIixvcnY6XCJcXHUyQTVCXCIsb1M6XCJcXHUyNEM4XCIsT3NjcjpcIlxcdXsxRDRBQX1cIixvc2NyOlwiXFx1MjEzNFwiLE9zbGFzaDpcIlxceEQ4XCIsb3NsYXNoOlwiXFx4RjhcIixvc29sOlwiXFx1MjI5OFwiLE90aWxkZTpcIlxceEQ1XCIsb3RpbGRlOlwiXFx4RjVcIixvdGltZXNhczpcIlxcdTJBMzZcIixPdGltZXM6XCJcXHUyQTM3XCIsb3RpbWVzOlwiXFx1MjI5N1wiLE91bWw6XCJcXHhENlwiLG91bWw6XCJcXHhGNlwiLG92YmFyOlwiXFx1MjMzRFwiLE92ZXJCYXI6XCJcXHUyMDNFXCIsT3ZlckJyYWNlOlwiXFx1MjNERVwiLE92ZXJCcmFja2V0OlwiXFx1MjNCNFwiLE92ZXJQYXJlbnRoZXNpczpcIlxcdTIzRENcIixwYXJhOlwiXFx4QjZcIixwYXJhbGxlbDpcIlxcdTIyMjVcIixwYXI6XCJcXHUyMjI1XCIscGFyc2ltOlwiXFx1MkFGM1wiLHBhcnNsOlwiXFx1MkFGRFwiLHBhcnQ6XCJcXHUyMjAyXCIsUGFydGlhbEQ6XCJcXHUyMjAyXCIsUGN5OlwiXFx1MDQxRlwiLHBjeTpcIlxcdTA0M0ZcIixwZXJjbnQ6XCIlXCIscGVyaW9kOlwiLlwiLHBlcm1pbDpcIlxcdTIwMzBcIixwZXJwOlwiXFx1MjJBNVwiLHBlcnRlbms6XCJcXHUyMDMxXCIsUGZyOlwiXFx1ezFENTEzfVwiLHBmcjpcIlxcdXsxRDUyRH1cIixQaGk6XCJcXHUwM0E2XCIscGhpOlwiXFx1MDNDNlwiLHBoaXY6XCJcXHUwM0Q1XCIscGhtbWF0OlwiXFx1MjEzM1wiLHBob25lOlwiXFx1MjYwRVwiLFBpOlwiXFx1MDNBMFwiLHBpOlwiXFx1MDNDMFwiLHBpdGNoZm9yazpcIlxcdTIyRDRcIixwaXY6XCJcXHUwM0Q2XCIscGxhbmNrOlwiXFx1MjEwRlwiLHBsYW5ja2g6XCJcXHUyMTBFXCIscGxhbmt2OlwiXFx1MjEwRlwiLHBsdXNhY2lyOlwiXFx1MkEyM1wiLHBsdXNiOlwiXFx1MjI5RVwiLHBsdXNjaXI6XCJcXHUyQTIyXCIscGx1czpcIitcIixwbHVzZG86XCJcXHUyMjE0XCIscGx1c2R1OlwiXFx1MkEyNVwiLHBsdXNlOlwiXFx1MkE3MlwiLFBsdXNNaW51czpcIlxceEIxXCIscGx1c21uOlwiXFx4QjFcIixwbHVzc2ltOlwiXFx1MkEyNlwiLHBsdXN0d286XCJcXHUyQTI3XCIscG06XCJcXHhCMVwiLFBvaW5jYXJlcGxhbmU6XCJcXHUyMTBDXCIscG9pbnRpbnQ6XCJcXHUyQTE1XCIscG9wZjpcIlxcdXsxRDU2MX1cIixQb3BmOlwiXFx1MjExOVwiLHBvdW5kOlwiXFx4QTNcIixwcmFwOlwiXFx1MkFCN1wiLFByOlwiXFx1MkFCQlwiLHByOlwiXFx1MjI3QVwiLHByY3VlOlwiXFx1MjI3Q1wiLHByZWNhcHByb3g6XCJcXHUyQUI3XCIscHJlYzpcIlxcdTIyN0FcIixwcmVjY3VybHllcTpcIlxcdTIyN0NcIixQcmVjZWRlczpcIlxcdTIyN0FcIixQcmVjZWRlc0VxdWFsOlwiXFx1MkFBRlwiLFByZWNlZGVzU2xhbnRFcXVhbDpcIlxcdTIyN0NcIixQcmVjZWRlc1RpbGRlOlwiXFx1MjI3RVwiLHByZWNlcTpcIlxcdTJBQUZcIixwcmVjbmFwcHJveDpcIlxcdTJBQjlcIixwcmVjbmVxcTpcIlxcdTJBQjVcIixwcmVjbnNpbTpcIlxcdTIyRThcIixwcmU6XCJcXHUyQUFGXCIscHJFOlwiXFx1MkFCM1wiLHByZWNzaW06XCJcXHUyMjdFXCIscHJpbWU6XCJcXHUyMDMyXCIsUHJpbWU6XCJcXHUyMDMzXCIscHJpbWVzOlwiXFx1MjExOVwiLHBybmFwOlwiXFx1MkFCOVwiLHBybkU6XCJcXHUyQUI1XCIscHJuc2ltOlwiXFx1MjJFOFwiLHByb2Q6XCJcXHUyMjBGXCIsUHJvZHVjdDpcIlxcdTIyMEZcIixwcm9mYWxhcjpcIlxcdTIzMkVcIixwcm9mbGluZTpcIlxcdTIzMTJcIixwcm9mc3VyZjpcIlxcdTIzMTNcIixwcm9wOlwiXFx1MjIxRFwiLFByb3BvcnRpb25hbDpcIlxcdTIyMURcIixQcm9wb3J0aW9uOlwiXFx1MjIzN1wiLHByb3B0bzpcIlxcdTIyMURcIixwcnNpbTpcIlxcdTIyN0VcIixwcnVyZWw6XCJcXHUyMkIwXCIsUHNjcjpcIlxcdXsxRDRBQn1cIixwc2NyOlwiXFx1ezFENEM1fVwiLFBzaTpcIlxcdTAzQThcIixwc2k6XCJcXHUwM0M4XCIscHVuY3NwOlwiXFx1MjAwOFwiLFFmcjpcIlxcdXsxRDUxNH1cIixxZnI6XCJcXHV7MUQ1MkV9XCIscWludDpcIlxcdTJBMENcIixxb3BmOlwiXFx1ezFENTYyfVwiLFFvcGY6XCJcXHUyMTFBXCIscXByaW1lOlwiXFx1MjA1N1wiLFFzY3I6XCJcXHV7MUQ0QUN9XCIscXNjcjpcIlxcdXsxRDRDNn1cIixxdWF0ZXJuaW9uczpcIlxcdTIxMERcIixxdWF0aW50OlwiXFx1MkExNlwiLHF1ZXN0OlwiP1wiLHF1ZXN0ZXE6XCJcXHUyMjVGXCIscXVvdDonXCInLFFVT1Q6J1wiJyxyQWFycjpcIlxcdTIxREJcIixyYWNlOlwiXFx1MjIzRFxcdTAzMzFcIixSYWN1dGU6XCJcXHUwMTU0XCIscmFjdXRlOlwiXFx1MDE1NVwiLHJhZGljOlwiXFx1MjIxQVwiLHJhZW1wdHl2OlwiXFx1MjlCM1wiLHJhbmc6XCJcXHUyN0U5XCIsUmFuZzpcIlxcdTI3RUJcIixyYW5nZDpcIlxcdTI5OTJcIixyYW5nZTpcIlxcdTI5QTVcIixyYW5nbGU6XCJcXHUyN0U5XCIscmFxdW86XCJcXHhCQlwiLHJhcnJhcDpcIlxcdTI5NzVcIixyYXJyYjpcIlxcdTIxRTVcIixyYXJyYmZzOlwiXFx1MjkyMFwiLHJhcnJjOlwiXFx1MjkzM1wiLHJhcnI6XCJcXHUyMTkyXCIsUmFycjpcIlxcdTIxQTBcIixyQXJyOlwiXFx1MjFEMlwiLHJhcnJmczpcIlxcdTI5MUVcIixyYXJyaGs6XCJcXHUyMUFBXCIscmFycmxwOlwiXFx1MjFBQ1wiLHJhcnJwbDpcIlxcdTI5NDVcIixyYXJyc2ltOlwiXFx1Mjk3NFwiLFJhcnJ0bDpcIlxcdTI5MTZcIixyYXJydGw6XCJcXHUyMUEzXCIscmFycnc6XCJcXHUyMTlEXCIscmF0YWlsOlwiXFx1MjkxQVwiLHJBdGFpbDpcIlxcdTI5MUNcIixyYXRpbzpcIlxcdTIyMzZcIixyYXRpb25hbHM6XCJcXHUyMTFBXCIscmJhcnI6XCJcXHUyOTBEXCIsckJhcnI6XCJcXHUyOTBGXCIsUkJhcnI6XCJcXHUyOTEwXCIscmJicms6XCJcXHUyNzczXCIscmJyYWNlOlwifVwiLHJicmFjazpcIl1cIixyYnJrZTpcIlxcdTI5OENcIixyYnJrc2xkOlwiXFx1Mjk4RVwiLHJicmtzbHU6XCJcXHUyOTkwXCIsUmNhcm9uOlwiXFx1MDE1OFwiLHJjYXJvbjpcIlxcdTAxNTlcIixSY2VkaWw6XCJcXHUwMTU2XCIscmNlZGlsOlwiXFx1MDE1N1wiLHJjZWlsOlwiXFx1MjMwOVwiLHJjdWI6XCJ9XCIsUmN5OlwiXFx1MDQyMFwiLHJjeTpcIlxcdTA0NDBcIixyZGNhOlwiXFx1MjkzN1wiLHJkbGRoYXI6XCJcXHUyOTY5XCIscmRxdW86XCJcXHUyMDFEXCIscmRxdW9yOlwiXFx1MjAxRFwiLHJkc2g6XCJcXHUyMUIzXCIscmVhbDpcIlxcdTIxMUNcIixyZWFsaW5lOlwiXFx1MjExQlwiLHJlYWxwYXJ0OlwiXFx1MjExQ1wiLHJlYWxzOlwiXFx1MjExRFwiLFJlOlwiXFx1MjExQ1wiLHJlY3Q6XCJcXHUyNUFEXCIscmVnOlwiXFx4QUVcIixSRUc6XCJcXHhBRVwiLFJldmVyc2VFbGVtZW50OlwiXFx1MjIwQlwiLFJldmVyc2VFcXVpbGlicml1bTpcIlxcdTIxQ0JcIixSZXZlcnNlVXBFcXVpbGlicml1bTpcIlxcdTI5NkZcIixyZmlzaHQ6XCJcXHUyOTdEXCIscmZsb29yOlwiXFx1MjMwQlwiLHJmcjpcIlxcdXsxRDUyRn1cIixSZnI6XCJcXHUyMTFDXCIsckhhcjpcIlxcdTI5NjRcIixyaGFyZDpcIlxcdTIxQzFcIixyaGFydTpcIlxcdTIxQzBcIixyaGFydWw6XCJcXHUyOTZDXCIsUmhvOlwiXFx1MDNBMVwiLHJobzpcIlxcdTAzQzFcIixyaG92OlwiXFx1MDNGMVwiLFJpZ2h0QW5nbGVCcmFja2V0OlwiXFx1MjdFOVwiLFJpZ2h0QXJyb3dCYXI6XCJcXHUyMUU1XCIscmlnaHRhcnJvdzpcIlxcdTIxOTJcIixSaWdodEFycm93OlwiXFx1MjE5MlwiLFJpZ2h0YXJyb3c6XCJcXHUyMUQyXCIsUmlnaHRBcnJvd0xlZnRBcnJvdzpcIlxcdTIxQzRcIixyaWdodGFycm93dGFpbDpcIlxcdTIxQTNcIixSaWdodENlaWxpbmc6XCJcXHUyMzA5XCIsUmlnaHREb3VibGVCcmFja2V0OlwiXFx1MjdFN1wiLFJpZ2h0RG93blRlZVZlY3RvcjpcIlxcdTI5NURcIixSaWdodERvd25WZWN0b3JCYXI6XCJcXHUyOTU1XCIsUmlnaHREb3duVmVjdG9yOlwiXFx1MjFDMlwiLFJpZ2h0Rmxvb3I6XCJcXHUyMzBCXCIscmlnaHRoYXJwb29uZG93bjpcIlxcdTIxQzFcIixyaWdodGhhcnBvb251cDpcIlxcdTIxQzBcIixyaWdodGxlZnRhcnJvd3M6XCJcXHUyMUM0XCIscmlnaHRsZWZ0aGFycG9vbnM6XCJcXHUyMUNDXCIscmlnaHRyaWdodGFycm93czpcIlxcdTIxQzlcIixyaWdodHNxdWlnYXJyb3c6XCJcXHUyMTlEXCIsUmlnaHRUZWVBcnJvdzpcIlxcdTIxQTZcIixSaWdodFRlZTpcIlxcdTIyQTJcIixSaWdodFRlZVZlY3RvcjpcIlxcdTI5NUJcIixyaWdodHRocmVldGltZXM6XCJcXHUyMkNDXCIsUmlnaHRUcmlhbmdsZUJhcjpcIlxcdTI5RDBcIixSaWdodFRyaWFuZ2xlOlwiXFx1MjJCM1wiLFJpZ2h0VHJpYW5nbGVFcXVhbDpcIlxcdTIyQjVcIixSaWdodFVwRG93blZlY3RvcjpcIlxcdTI5NEZcIixSaWdodFVwVGVlVmVjdG9yOlwiXFx1Mjk1Q1wiLFJpZ2h0VXBWZWN0b3JCYXI6XCJcXHUyOTU0XCIsUmlnaHRVcFZlY3RvcjpcIlxcdTIxQkVcIixSaWdodFZlY3RvckJhcjpcIlxcdTI5NTNcIixSaWdodFZlY3RvcjpcIlxcdTIxQzBcIixyaW5nOlwiXFx1MDJEQVwiLHJpc2luZ2RvdHNlcTpcIlxcdTIyNTNcIixybGFycjpcIlxcdTIxQzRcIixybGhhcjpcIlxcdTIxQ0NcIixybG06XCJcXHUyMDBGXCIscm1vdXN0YWNoZTpcIlxcdTIzQjFcIixybW91c3Q6XCJcXHUyM0IxXCIscm5taWQ6XCJcXHUyQUVFXCIscm9hbmc6XCJcXHUyN0VEXCIscm9hcnI6XCJcXHUyMUZFXCIscm9icms6XCJcXHUyN0U3XCIscm9wYXI6XCJcXHUyOTg2XCIscm9wZjpcIlxcdXsxRDU2M31cIixSb3BmOlwiXFx1MjExRFwiLHJvcGx1czpcIlxcdTJBMkVcIixyb3RpbWVzOlwiXFx1MkEzNVwiLFJvdW5kSW1wbGllczpcIlxcdTI5NzBcIixycGFyOlwiKVwiLHJwYXJndDpcIlxcdTI5OTRcIixycHBvbGludDpcIlxcdTJBMTJcIixycmFycjpcIlxcdTIxQzlcIixScmlnaHRhcnJvdzpcIlxcdTIxREJcIixyc2FxdW86XCJcXHUyMDNBXCIscnNjcjpcIlxcdXsxRDRDN31cIixSc2NyOlwiXFx1MjExQlwiLHJzaDpcIlxcdTIxQjFcIixSc2g6XCJcXHUyMUIxXCIscnNxYjpcIl1cIixyc3F1bzpcIlxcdTIwMTlcIixyc3F1b3I6XCJcXHUyMDE5XCIscnRocmVlOlwiXFx1MjJDQ1wiLHJ0aW1lczpcIlxcdTIyQ0FcIixydHJpOlwiXFx1MjVCOVwiLHJ0cmllOlwiXFx1MjJCNVwiLHJ0cmlmOlwiXFx1MjVCOFwiLHJ0cmlsdHJpOlwiXFx1MjlDRVwiLFJ1bGVEZWxheWVkOlwiXFx1MjlGNFwiLHJ1bHVoYXI6XCJcXHUyOTY4XCIscng6XCJcXHUyMTFFXCIsU2FjdXRlOlwiXFx1MDE1QVwiLHNhY3V0ZTpcIlxcdTAxNUJcIixzYnF1bzpcIlxcdTIwMUFcIixzY2FwOlwiXFx1MkFCOFwiLFNjYXJvbjpcIlxcdTAxNjBcIixzY2Fyb246XCJcXHUwMTYxXCIsU2M6XCJcXHUyQUJDXCIsc2M6XCJcXHUyMjdCXCIsc2NjdWU6XCJcXHUyMjdEXCIsc2NlOlwiXFx1MkFCMFwiLHNjRTpcIlxcdTJBQjRcIixTY2VkaWw6XCJcXHUwMTVFXCIsc2NlZGlsOlwiXFx1MDE1RlwiLFNjaXJjOlwiXFx1MDE1Q1wiLHNjaXJjOlwiXFx1MDE1RFwiLHNjbmFwOlwiXFx1MkFCQVwiLHNjbkU6XCJcXHUyQUI2XCIsc2Nuc2ltOlwiXFx1MjJFOVwiLHNjcG9saW50OlwiXFx1MkExM1wiLHNjc2ltOlwiXFx1MjI3RlwiLFNjeTpcIlxcdTA0MjFcIixzY3k6XCJcXHUwNDQxXCIsc2RvdGI6XCJcXHUyMkExXCIsc2RvdDpcIlxcdTIyQzVcIixzZG90ZTpcIlxcdTJBNjZcIixzZWFyaGs6XCJcXHUyOTI1XCIsc2VhcnI6XCJcXHUyMTk4XCIsc2VBcnI6XCJcXHUyMUQ4XCIsc2VhcnJvdzpcIlxcdTIxOThcIixzZWN0OlwiXFx4QTdcIixzZW1pOlwiO1wiLHNlc3dhcjpcIlxcdTI5MjlcIixzZXRtaW51czpcIlxcdTIyMTZcIixzZXRtbjpcIlxcdTIyMTZcIixzZXh0OlwiXFx1MjczNlwiLFNmcjpcIlxcdXsxRDUxNn1cIixzZnI6XCJcXHV7MUQ1MzB9XCIsc2Zyb3duOlwiXFx1MjMyMlwiLHNoYXJwOlwiXFx1MjY2RlwiLFNIQ0hjeTpcIlxcdTA0MjlcIixzaGNoY3k6XCJcXHUwNDQ5XCIsU0hjeTpcIlxcdTA0MjhcIixzaGN5OlwiXFx1MDQ0OFwiLFNob3J0RG93bkFycm93OlwiXFx1MjE5M1wiLFNob3J0TGVmdEFycm93OlwiXFx1MjE5MFwiLHNob3J0bWlkOlwiXFx1MjIyM1wiLHNob3J0cGFyYWxsZWw6XCJcXHUyMjI1XCIsU2hvcnRSaWdodEFycm93OlwiXFx1MjE5MlwiLFNob3J0VXBBcnJvdzpcIlxcdTIxOTFcIixzaHk6XCJcXHhBRFwiLFNpZ21hOlwiXFx1MDNBM1wiLHNpZ21hOlwiXFx1MDNDM1wiLHNpZ21hZjpcIlxcdTAzQzJcIixzaWdtYXY6XCJcXHUwM0MyXCIsc2ltOlwiXFx1MjIzQ1wiLHNpbWRvdDpcIlxcdTJBNkFcIixzaW1lOlwiXFx1MjI0M1wiLHNpbWVxOlwiXFx1MjI0M1wiLHNpbWc6XCJcXHUyQTlFXCIsc2ltZ0U6XCJcXHUyQUEwXCIsc2ltbDpcIlxcdTJBOURcIixzaW1sRTpcIlxcdTJBOUZcIixzaW1uZTpcIlxcdTIyNDZcIixzaW1wbHVzOlwiXFx1MkEyNFwiLHNpbXJhcnI6XCJcXHUyOTcyXCIsc2xhcnI6XCJcXHUyMTkwXCIsU21hbGxDaXJjbGU6XCJcXHUyMjE4XCIsc21hbGxzZXRtaW51czpcIlxcdTIyMTZcIixzbWFzaHA6XCJcXHUyQTMzXCIsc21lcGFyc2w6XCJcXHUyOUU0XCIsc21pZDpcIlxcdTIyMjNcIixzbWlsZTpcIlxcdTIzMjNcIixzbXQ6XCJcXHUyQUFBXCIsc210ZTpcIlxcdTJBQUNcIixzbXRlczpcIlxcdTJBQUNcXHVGRTAwXCIsU09GVGN5OlwiXFx1MDQyQ1wiLHNvZnRjeTpcIlxcdTA0NENcIixzb2xiYXI6XCJcXHUyMzNGXCIsc29sYjpcIlxcdTI5QzRcIixzb2w6XCIvXCIsU29wZjpcIlxcdXsxRDU0QX1cIixzb3BmOlwiXFx1ezFENTY0fVwiLHNwYWRlczpcIlxcdTI2NjBcIixzcGFkZXN1aXQ6XCJcXHUyNjYwXCIsc3BhcjpcIlxcdTIyMjVcIixzcWNhcDpcIlxcdTIyOTNcIixzcWNhcHM6XCJcXHUyMjkzXFx1RkUwMFwiLHNxY3VwOlwiXFx1MjI5NFwiLHNxY3VwczpcIlxcdTIyOTRcXHVGRTAwXCIsU3FydDpcIlxcdTIyMUFcIixzcXN1YjpcIlxcdTIyOEZcIixzcXN1YmU6XCJcXHUyMjkxXCIsc3FzdWJzZXQ6XCJcXHUyMjhGXCIsc3FzdWJzZXRlcTpcIlxcdTIyOTFcIixzcXN1cDpcIlxcdTIyOTBcIixzcXN1cGU6XCJcXHUyMjkyXCIsc3FzdXBzZXQ6XCJcXHUyMjkwXCIsc3FzdXBzZXRlcTpcIlxcdTIyOTJcIixzcXVhcmU6XCJcXHUyNUExXCIsU3F1YXJlOlwiXFx1MjVBMVwiLFNxdWFyZUludGVyc2VjdGlvbjpcIlxcdTIyOTNcIixTcXVhcmVTdWJzZXQ6XCJcXHUyMjhGXCIsU3F1YXJlU3Vic2V0RXF1YWw6XCJcXHUyMjkxXCIsU3F1YXJlU3VwZXJzZXQ6XCJcXHUyMjkwXCIsU3F1YXJlU3VwZXJzZXRFcXVhbDpcIlxcdTIyOTJcIixTcXVhcmVVbmlvbjpcIlxcdTIyOTRcIixzcXVhcmY6XCJcXHUyNUFBXCIsc3F1OlwiXFx1MjVBMVwiLHNxdWY6XCJcXHUyNUFBXCIsc3JhcnI6XCJcXHUyMTkyXCIsU3NjcjpcIlxcdXsxRDRBRX1cIixzc2NyOlwiXFx1ezFENEM4fVwiLHNzZXRtbjpcIlxcdTIyMTZcIixzc21pbGU6XCJcXHUyMzIzXCIsc3N0YXJmOlwiXFx1MjJDNlwiLFN0YXI6XCJcXHUyMkM2XCIsc3RhcjpcIlxcdTI2MDZcIixzdGFyZjpcIlxcdTI2MDVcIixzdHJhaWdodGVwc2lsb246XCJcXHUwM0Y1XCIsc3RyYWlnaHRwaGk6XCJcXHUwM0Q1XCIsc3RybnM6XCJcXHhBRlwiLHN1YjpcIlxcdTIyODJcIixTdWI6XCJcXHUyMkQwXCIsc3ViZG90OlwiXFx1MkFCRFwiLHN1YkU6XCJcXHUyQUM1XCIsc3ViZTpcIlxcdTIyODZcIixzdWJlZG90OlwiXFx1MkFDM1wiLHN1Ym11bHQ6XCJcXHUyQUMxXCIsc3VibkU6XCJcXHUyQUNCXCIsc3VibmU6XCJcXHUyMjhBXCIsc3VicGx1czpcIlxcdTJBQkZcIixzdWJyYXJyOlwiXFx1Mjk3OVwiLHN1YnNldDpcIlxcdTIyODJcIixTdWJzZXQ6XCJcXHUyMkQwXCIsc3Vic2V0ZXE6XCJcXHUyMjg2XCIsc3Vic2V0ZXFxOlwiXFx1MkFDNVwiLFN1YnNldEVxdWFsOlwiXFx1MjI4NlwiLHN1YnNldG5lcTpcIlxcdTIyOEFcIixzdWJzZXRuZXFxOlwiXFx1MkFDQlwiLHN1YnNpbTpcIlxcdTJBQzdcIixzdWJzdWI6XCJcXHUyQUQ1XCIsc3Vic3VwOlwiXFx1MkFEM1wiLHN1Y2NhcHByb3g6XCJcXHUyQUI4XCIsc3VjYzpcIlxcdTIyN0JcIixzdWNjY3VybHllcTpcIlxcdTIyN0RcIixTdWNjZWVkczpcIlxcdTIyN0JcIixTdWNjZWVkc0VxdWFsOlwiXFx1MkFCMFwiLFN1Y2NlZWRzU2xhbnRFcXVhbDpcIlxcdTIyN0RcIixTdWNjZWVkc1RpbGRlOlwiXFx1MjI3RlwiLHN1Y2NlcTpcIlxcdTJBQjBcIixzdWNjbmFwcHJveDpcIlxcdTJBQkFcIixzdWNjbmVxcTpcIlxcdTJBQjZcIixzdWNjbnNpbTpcIlxcdTIyRTlcIixzdWNjc2ltOlwiXFx1MjI3RlwiLFN1Y2hUaGF0OlwiXFx1MjIwQlwiLHN1bTpcIlxcdTIyMTFcIixTdW06XCJcXHUyMjExXCIsc3VuZzpcIlxcdTI2NkFcIixzdXAxOlwiXFx4QjlcIixzdXAyOlwiXFx4QjJcIixzdXAzOlwiXFx4QjNcIixzdXA6XCJcXHUyMjgzXCIsU3VwOlwiXFx1MjJEMVwiLHN1cGRvdDpcIlxcdTJBQkVcIixzdXBkc3ViOlwiXFx1MkFEOFwiLHN1cEU6XCJcXHUyQUM2XCIsc3VwZTpcIlxcdTIyODdcIixzdXBlZG90OlwiXFx1MkFDNFwiLFN1cGVyc2V0OlwiXFx1MjI4M1wiLFN1cGVyc2V0RXF1YWw6XCJcXHUyMjg3XCIsc3VwaHNvbDpcIlxcdTI3QzlcIixzdXBoc3ViOlwiXFx1MkFEN1wiLHN1cGxhcnI6XCJcXHUyOTdCXCIsc3VwbXVsdDpcIlxcdTJBQzJcIixzdXBuRTpcIlxcdTJBQ0NcIixzdXBuZTpcIlxcdTIyOEJcIixzdXBwbHVzOlwiXFx1MkFDMFwiLHN1cHNldDpcIlxcdTIyODNcIixTdXBzZXQ6XCJcXHUyMkQxXCIsc3Vwc2V0ZXE6XCJcXHUyMjg3XCIsc3Vwc2V0ZXFxOlwiXFx1MkFDNlwiLHN1cHNldG5lcTpcIlxcdTIyOEJcIixzdXBzZXRuZXFxOlwiXFx1MkFDQ1wiLHN1cHNpbTpcIlxcdTJBQzhcIixzdXBzdWI6XCJcXHUyQUQ0XCIsc3Vwc3VwOlwiXFx1MkFENlwiLHN3YXJoazpcIlxcdTI5MjZcIixzd2FycjpcIlxcdTIxOTlcIixzd0FycjpcIlxcdTIxRDlcIixzd2Fycm93OlwiXFx1MjE5OVwiLHN3bndhcjpcIlxcdTI5MkFcIixzemxpZzpcIlxceERGXCIsVGFiOlwiXHRcIix0YXJnZXQ6XCJcXHUyMzE2XCIsVGF1OlwiXFx1MDNBNFwiLHRhdTpcIlxcdTAzQzRcIix0YnJrOlwiXFx1MjNCNFwiLFRjYXJvbjpcIlxcdTAxNjRcIix0Y2Fyb246XCJcXHUwMTY1XCIsVGNlZGlsOlwiXFx1MDE2MlwiLHRjZWRpbDpcIlxcdTAxNjNcIixUY3k6XCJcXHUwNDIyXCIsdGN5OlwiXFx1MDQ0MlwiLHRkb3Q6XCJcXHUyMERCXCIsdGVscmVjOlwiXFx1MjMxNVwiLFRmcjpcIlxcdXsxRDUxN31cIix0ZnI6XCJcXHV7MUQ1MzF9XCIsdGhlcmU0OlwiXFx1MjIzNFwiLHRoZXJlZm9yZTpcIlxcdTIyMzRcIixUaGVyZWZvcmU6XCJcXHUyMjM0XCIsVGhldGE6XCJcXHUwMzk4XCIsdGhldGE6XCJcXHUwM0I4XCIsdGhldGFzeW06XCJcXHUwM0QxXCIsdGhldGF2OlwiXFx1MDNEMVwiLHRoaWNrYXBwcm94OlwiXFx1MjI0OFwiLHRoaWNrc2ltOlwiXFx1MjIzQ1wiLFRoaWNrU3BhY2U6XCJcXHUyMDVGXFx1MjAwQVwiLFRoaW5TcGFjZTpcIlxcdTIwMDlcIix0aGluc3A6XCJcXHUyMDA5XCIsdGhrYXA6XCJcXHUyMjQ4XCIsdGhrc2ltOlwiXFx1MjIzQ1wiLFRIT1JOOlwiXFx4REVcIix0aG9ybjpcIlxceEZFXCIsdGlsZGU6XCJcXHUwMkRDXCIsVGlsZGU6XCJcXHUyMjNDXCIsVGlsZGVFcXVhbDpcIlxcdTIyNDNcIixUaWxkZUZ1bGxFcXVhbDpcIlxcdTIyNDVcIixUaWxkZVRpbGRlOlwiXFx1MjI0OFwiLHRpbWVzYmFyOlwiXFx1MkEzMVwiLHRpbWVzYjpcIlxcdTIyQTBcIix0aW1lczpcIlxceEQ3XCIsdGltZXNkOlwiXFx1MkEzMFwiLHRpbnQ6XCJcXHUyMjJEXCIsdG9lYTpcIlxcdTI5MjhcIix0b3Bib3Q6XCJcXHUyMzM2XCIsdG9wY2lyOlwiXFx1MkFGMVwiLHRvcDpcIlxcdTIyQTRcIixUb3BmOlwiXFx1ezFENTRCfVwiLHRvcGY6XCJcXHV7MUQ1NjV9XCIsdG9wZm9yazpcIlxcdTJBREFcIix0b3NhOlwiXFx1MjkyOVwiLHRwcmltZTpcIlxcdTIwMzRcIix0cmFkZTpcIlxcdTIxMjJcIixUUkFERTpcIlxcdTIxMjJcIix0cmlhbmdsZTpcIlxcdTI1QjVcIix0cmlhbmdsZWRvd246XCJcXHUyNUJGXCIsdHJpYW5nbGVsZWZ0OlwiXFx1MjVDM1wiLHRyaWFuZ2xlbGVmdGVxOlwiXFx1MjJCNFwiLHRyaWFuZ2xlcTpcIlxcdTIyNUNcIix0cmlhbmdsZXJpZ2h0OlwiXFx1MjVCOVwiLHRyaWFuZ2xlcmlnaHRlcTpcIlxcdTIyQjVcIix0cmlkb3Q6XCJcXHUyNUVDXCIsdHJpZTpcIlxcdTIyNUNcIix0cmltaW51czpcIlxcdTJBM0FcIixUcmlwbGVEb3Q6XCJcXHUyMERCXCIsdHJpcGx1czpcIlxcdTJBMzlcIix0cmlzYjpcIlxcdTI5Q0RcIix0cml0aW1lOlwiXFx1MkEzQlwiLHRycGV6aXVtOlwiXFx1MjNFMlwiLFRzY3I6XCJcXHV7MUQ0QUZ9XCIsdHNjcjpcIlxcdXsxRDRDOX1cIixUU2N5OlwiXFx1MDQyNlwiLHRzY3k6XCJcXHUwNDQ2XCIsVFNIY3k6XCJcXHUwNDBCXCIsdHNoY3k6XCJcXHUwNDVCXCIsVHN0cm9rOlwiXFx1MDE2NlwiLHRzdHJvazpcIlxcdTAxNjdcIix0d2l4dDpcIlxcdTIyNkNcIix0d29oZWFkbGVmdGFycm93OlwiXFx1MjE5RVwiLHR3b2hlYWRyaWdodGFycm93OlwiXFx1MjFBMFwiLFVhY3V0ZTpcIlxceERBXCIsdWFjdXRlOlwiXFx4RkFcIix1YXJyOlwiXFx1MjE5MVwiLFVhcnI6XCJcXHUyMTlGXCIsdUFycjpcIlxcdTIxRDFcIixVYXJyb2NpcjpcIlxcdTI5NDlcIixVYnJjeTpcIlxcdTA0MEVcIix1YnJjeTpcIlxcdTA0NUVcIixVYnJldmU6XCJcXHUwMTZDXCIsdWJyZXZlOlwiXFx1MDE2RFwiLFVjaXJjOlwiXFx4REJcIix1Y2lyYzpcIlxceEZCXCIsVWN5OlwiXFx1MDQyM1wiLHVjeTpcIlxcdTA0NDNcIix1ZGFycjpcIlxcdTIxQzVcIixVZGJsYWM6XCJcXHUwMTcwXCIsdWRibGFjOlwiXFx1MDE3MVwiLHVkaGFyOlwiXFx1Mjk2RVwiLHVmaXNodDpcIlxcdTI5N0VcIixVZnI6XCJcXHV7MUQ1MTh9XCIsdWZyOlwiXFx1ezFENTMyfVwiLFVncmF2ZTpcIlxceEQ5XCIsdWdyYXZlOlwiXFx4RjlcIix1SGFyOlwiXFx1Mjk2M1wiLHVoYXJsOlwiXFx1MjFCRlwiLHVoYXJyOlwiXFx1MjFCRVwiLHVoYmxrOlwiXFx1MjU4MFwiLHVsY29ybjpcIlxcdTIzMUNcIix1bGNvcm5lcjpcIlxcdTIzMUNcIix1bGNyb3A6XCJcXHUyMzBGXCIsdWx0cmk6XCJcXHUyNUY4XCIsVW1hY3I6XCJcXHUwMTZBXCIsdW1hY3I6XCJcXHUwMTZCXCIsdW1sOlwiXFx4QThcIixVbmRlckJhcjpcIl9cIixVbmRlckJyYWNlOlwiXFx1MjNERlwiLFVuZGVyQnJhY2tldDpcIlxcdTIzQjVcIixVbmRlclBhcmVudGhlc2lzOlwiXFx1MjNERFwiLFVuaW9uOlwiXFx1MjJDM1wiLFVuaW9uUGx1czpcIlxcdTIyOEVcIixVb2dvbjpcIlxcdTAxNzJcIix1b2dvbjpcIlxcdTAxNzNcIixVb3BmOlwiXFx1ezFENTRDfVwiLHVvcGY6XCJcXHV7MUQ1NjZ9XCIsVXBBcnJvd0JhcjpcIlxcdTI5MTJcIix1cGFycm93OlwiXFx1MjE5MVwiLFVwQXJyb3c6XCJcXHUyMTkxXCIsVXBhcnJvdzpcIlxcdTIxRDFcIixVcEFycm93RG93bkFycm93OlwiXFx1MjFDNVwiLHVwZG93bmFycm93OlwiXFx1MjE5NVwiLFVwRG93bkFycm93OlwiXFx1MjE5NVwiLFVwZG93bmFycm93OlwiXFx1MjFENVwiLFVwRXF1aWxpYnJpdW06XCJcXHUyOTZFXCIsdXBoYXJwb29ubGVmdDpcIlxcdTIxQkZcIix1cGhhcnBvb25yaWdodDpcIlxcdTIxQkVcIix1cGx1czpcIlxcdTIyOEVcIixVcHBlckxlZnRBcnJvdzpcIlxcdTIxOTZcIixVcHBlclJpZ2h0QXJyb3c6XCJcXHUyMTk3XCIsdXBzaTpcIlxcdTAzQzVcIixVcHNpOlwiXFx1MDNEMlwiLHVwc2loOlwiXFx1MDNEMlwiLFVwc2lsb246XCJcXHUwM0E1XCIsdXBzaWxvbjpcIlxcdTAzQzVcIixVcFRlZUFycm93OlwiXFx1MjFBNVwiLFVwVGVlOlwiXFx1MjJBNVwiLHVwdXBhcnJvd3M6XCJcXHUyMUM4XCIsdXJjb3JuOlwiXFx1MjMxRFwiLHVyY29ybmVyOlwiXFx1MjMxRFwiLHVyY3JvcDpcIlxcdTIzMEVcIixVcmluZzpcIlxcdTAxNkVcIix1cmluZzpcIlxcdTAxNkZcIix1cnRyaTpcIlxcdTI1RjlcIixVc2NyOlwiXFx1ezFENEIwfVwiLHVzY3I6XCJcXHV7MUQ0Q0F9XCIsdXRkb3Q6XCJcXHUyMkYwXCIsVXRpbGRlOlwiXFx1MDE2OFwiLHV0aWxkZTpcIlxcdTAxNjlcIix1dHJpOlwiXFx1MjVCNVwiLHV0cmlmOlwiXFx1MjVCNFwiLHV1YXJyOlwiXFx1MjFDOFwiLFV1bWw6XCJcXHhEQ1wiLHV1bWw6XCJcXHhGQ1wiLHV3YW5nbGU6XCJcXHUyOUE3XCIsdmFuZ3J0OlwiXFx1Mjk5Q1wiLHZhcmVwc2lsb246XCJcXHUwM0Y1XCIsdmFya2FwcGE6XCJcXHUwM0YwXCIsdmFybm90aGluZzpcIlxcdTIyMDVcIix2YXJwaGk6XCJcXHUwM0Q1XCIsdmFycGk6XCJcXHUwM0Q2XCIsdmFycHJvcHRvOlwiXFx1MjIxRFwiLHZhcnI6XCJcXHUyMTk1XCIsdkFycjpcIlxcdTIxRDVcIix2YXJyaG86XCJcXHUwM0YxXCIsdmFyc2lnbWE6XCJcXHUwM0MyXCIsdmFyc3Vic2V0bmVxOlwiXFx1MjI4QVxcdUZFMDBcIix2YXJzdWJzZXRuZXFxOlwiXFx1MkFDQlxcdUZFMDBcIix2YXJzdXBzZXRuZXE6XCJcXHUyMjhCXFx1RkUwMFwiLHZhcnN1cHNldG5lcXE6XCJcXHUyQUNDXFx1RkUwMFwiLHZhcnRoZXRhOlwiXFx1MDNEMVwiLHZhcnRyaWFuZ2xlbGVmdDpcIlxcdTIyQjJcIix2YXJ0cmlhbmdsZXJpZ2h0OlwiXFx1MjJCM1wiLHZCYXI6XCJcXHUyQUU4XCIsVmJhcjpcIlxcdTJBRUJcIix2QmFydjpcIlxcdTJBRTlcIixWY3k6XCJcXHUwNDEyXCIsdmN5OlwiXFx1MDQzMlwiLHZkYXNoOlwiXFx1MjJBMlwiLHZEYXNoOlwiXFx1MjJBOFwiLFZkYXNoOlwiXFx1MjJBOVwiLFZEYXNoOlwiXFx1MjJBQlwiLFZkYXNobDpcIlxcdTJBRTZcIix2ZWViYXI6XCJcXHUyMkJCXCIsdmVlOlwiXFx1MjIyOFwiLFZlZTpcIlxcdTIyQzFcIix2ZWVlcTpcIlxcdTIyNUFcIix2ZWxsaXA6XCJcXHUyMkVFXCIsdmVyYmFyOlwifFwiLFZlcmJhcjpcIlxcdTIwMTZcIix2ZXJ0OlwifFwiLFZlcnQ6XCJcXHUyMDE2XCIsVmVydGljYWxCYXI6XCJcXHUyMjIzXCIsVmVydGljYWxMaW5lOlwifFwiLFZlcnRpY2FsU2VwYXJhdG9yOlwiXFx1Mjc1OFwiLFZlcnRpY2FsVGlsZGU6XCJcXHUyMjQwXCIsVmVyeVRoaW5TcGFjZTpcIlxcdTIwMEFcIixWZnI6XCJcXHV7MUQ1MTl9XCIsdmZyOlwiXFx1ezFENTMzfVwiLHZsdHJpOlwiXFx1MjJCMlwiLHZuc3ViOlwiXFx1MjI4MlxcdTIwRDJcIix2bnN1cDpcIlxcdTIyODNcXHUyMEQyXCIsVm9wZjpcIlxcdXsxRDU0RH1cIix2b3BmOlwiXFx1ezFENTY3fVwiLHZwcm9wOlwiXFx1MjIxRFwiLHZydHJpOlwiXFx1MjJCM1wiLFZzY3I6XCJcXHV7MUQ0QjF9XCIsdnNjcjpcIlxcdXsxRDRDQn1cIix2c3VibkU6XCJcXHUyQUNCXFx1RkUwMFwiLHZzdWJuZTpcIlxcdTIyOEFcXHVGRTAwXCIsdnN1cG5FOlwiXFx1MkFDQ1xcdUZFMDBcIix2c3VwbmU6XCJcXHUyMjhCXFx1RkUwMFwiLFZ2ZGFzaDpcIlxcdTIyQUFcIix2emlnemFnOlwiXFx1Mjk5QVwiLFdjaXJjOlwiXFx1MDE3NFwiLHdjaXJjOlwiXFx1MDE3NVwiLHdlZGJhcjpcIlxcdTJBNUZcIix3ZWRnZTpcIlxcdTIyMjdcIixXZWRnZTpcIlxcdTIyQzBcIix3ZWRnZXE6XCJcXHUyMjU5XCIsd2VpZXJwOlwiXFx1MjExOFwiLFdmcjpcIlxcdXsxRDUxQX1cIix3ZnI6XCJcXHV7MUQ1MzR9XCIsV29wZjpcIlxcdXsxRDU0RX1cIix3b3BmOlwiXFx1ezFENTY4fVwiLHdwOlwiXFx1MjExOFwiLHdyOlwiXFx1MjI0MFwiLHdyZWF0aDpcIlxcdTIyNDBcIixXc2NyOlwiXFx1ezFENEIyfVwiLHdzY3I6XCJcXHV7MUQ0Q0N9XCIseGNhcDpcIlxcdTIyQzJcIix4Y2lyYzpcIlxcdTI1RUZcIix4Y3VwOlwiXFx1MjJDM1wiLHhkdHJpOlwiXFx1MjVCRFwiLFhmcjpcIlxcdXsxRDUxQn1cIix4ZnI6XCJcXHV7MUQ1MzV9XCIseGhhcnI6XCJcXHUyN0Y3XCIseGhBcnI6XCJcXHUyN0ZBXCIsWGk6XCJcXHUwMzlFXCIseGk6XCJcXHUwM0JFXCIseGxhcnI6XCJcXHUyN0Y1XCIseGxBcnI6XCJcXHUyN0Y4XCIseG1hcDpcIlxcdTI3RkNcIix4bmlzOlwiXFx1MjJGQlwiLHhvZG90OlwiXFx1MkEwMFwiLFhvcGY6XCJcXHV7MUQ1NEZ9XCIseG9wZjpcIlxcdXsxRDU2OX1cIix4b3BsdXM6XCJcXHUyQTAxXCIseG90aW1lOlwiXFx1MkEwMlwiLHhyYXJyOlwiXFx1MjdGNlwiLHhyQXJyOlwiXFx1MjdGOVwiLFhzY3I6XCJcXHV7MUQ0QjN9XCIseHNjcjpcIlxcdXsxRDRDRH1cIix4c3FjdXA6XCJcXHUyQTA2XCIseHVwbHVzOlwiXFx1MkEwNFwiLHh1dHJpOlwiXFx1MjVCM1wiLHh2ZWU6XCJcXHUyMkMxXCIseHdlZGdlOlwiXFx1MjJDMFwiLFlhY3V0ZTpcIlxceEREXCIseWFjdXRlOlwiXFx4RkRcIixZQWN5OlwiXFx1MDQyRlwiLHlhY3k6XCJcXHUwNDRGXCIsWWNpcmM6XCJcXHUwMTc2XCIseWNpcmM6XCJcXHUwMTc3XCIsWWN5OlwiXFx1MDQyQlwiLHljeTpcIlxcdTA0NEJcIix5ZW46XCJcXHhBNVwiLFlmcjpcIlxcdXsxRDUxQ31cIix5ZnI6XCJcXHV7MUQ1MzZ9XCIsWUljeTpcIlxcdTA0MDdcIix5aWN5OlwiXFx1MDQ1N1wiLFlvcGY6XCJcXHV7MUQ1NTB9XCIseW9wZjpcIlxcdXsxRDU2QX1cIixZc2NyOlwiXFx1ezFENEI0fVwiLHlzY3I6XCJcXHV7MUQ0Q0V9XCIsWVVjeTpcIlxcdTA0MkVcIix5dWN5OlwiXFx1MDQ0RVwiLHl1bWw6XCJcXHhGRlwiLFl1bWw6XCJcXHUwMTc4XCIsWmFjdXRlOlwiXFx1MDE3OVwiLHphY3V0ZTpcIlxcdTAxN0FcIixaY2Fyb246XCJcXHUwMTdEXCIsemNhcm9uOlwiXFx1MDE3RVwiLFpjeTpcIlxcdTA0MTdcIix6Y3k6XCJcXHUwNDM3XCIsWmRvdDpcIlxcdTAxN0JcIix6ZG90OlwiXFx1MDE3Q1wiLHplZXRyZjpcIlxcdTIxMjhcIixaZXJvV2lkdGhTcGFjZTpcIlxcdTIwMEJcIixaZXRhOlwiXFx1MDM5NlwiLHpldGE6XCJcXHUwM0I2XCIsemZyOlwiXFx1ezFENTM3fVwiLFpmcjpcIlxcdTIxMjhcIixaSGN5OlwiXFx1MDQxNlwiLHpoY3k6XCJcXHUwNDM2XCIsemlncmFycjpcIlxcdTIxRERcIix6b3BmOlwiXFx1ezFENTZCfVwiLFpvcGY6XCJcXHUyMTI0XCIsWnNjcjpcIlxcdXsxRDRCNX1cIix6c2NyOlwiXFx1ezFENENGfVwiLHp3ajpcIlxcdTIwMERcIix6d25qOlwiXFx1MjAwQ1wifSxXcz0vXiNbeFhdKFtBLUZhLWYwLTldKykkLyxqcz0vXiMoWzAtOV0rKSQvLFFzPS9eKFtBLVphLXowLTldKykkLyx1cj1mdW5jdGlvbigpe2Z1bmN0aW9uIGUodCl7dGhpcy5uYW1lZD10fXJldHVybiBlLnByb3RvdHlwZS5wYXJzZT1mdW5jdGlvbih0KXtpZih0KXt2YXIgcj10Lm1hdGNoKFdzKTtpZihyKXJldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHBhcnNlSW50KHJbMV0sMTYpKTtpZihyPXQubWF0Y2goanMpLHIpcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUocGFyc2VJbnQoclsxXSwxMCkpO2lmKHI9dC5tYXRjaChRcykscilyZXR1cm4gdGhpcy5uYW1lZFtyWzFdXX19LGV9KCksSnM9L1tcXHRcXG5cXGYgXS8sJHM9L1tBLVphLXpdLyxYcz0vXFxyXFxuPy9nO2Z1bmN0aW9uIF8oZSl7cmV0dXJuIEpzLnRlc3QoZSl9ZnVuY3Rpb24gd24oZSl7cmV0dXJuICRzLnRlc3QoZSl9ZnVuY3Rpb24gWnMoZSl7cmV0dXJuIGUucmVwbGFjZShYcyxgXG5gKX12YXIgaHI9ZnVuY3Rpb24oKXtmdW5jdGlvbiBlKHQscixuKXtuPT09dm9pZCAwJiYobj1cInByZWNvbXBpbGVcIiksdGhpcy5kZWxlZ2F0ZT10LHRoaXMuZW50aXR5UGFyc2VyPXIsdGhpcy5tb2RlPW4sdGhpcy5zdGF0ZT1cImJlZm9yZURhdGFcIix0aGlzLmxpbmU9LTEsdGhpcy5jb2x1bW49LTEsdGhpcy5pbnB1dD1cIlwiLHRoaXMuaW5kZXg9LTEsdGhpcy50YWdOYW1lQnVmZmVyPVwiXCIsdGhpcy5zdGF0ZXM9e2JlZm9yZURhdGE6ZnVuY3Rpb24oKXt2YXIgcz10aGlzLnBlZWsoKTtpZihzPT09XCI8XCImJiF0aGlzLmlzSWdub3JlZEVuZFRhZygpKXRoaXMudHJhbnNpdGlvblRvKFwidGFnT3BlblwiKSx0aGlzLm1hcmtUYWdTdGFydCgpLHRoaXMuY29uc3VtZSgpO2Vsc2V7aWYodGhpcy5tb2RlPT09XCJwcmVjb21waWxlXCImJnM9PT1gXG5gKXt2YXIgaT10aGlzLnRhZ05hbWVCdWZmZXIudG9Mb3dlckNhc2UoKTsoaT09PVwicHJlXCJ8fGk9PT1cInRleHRhcmVhXCIpJiZ0aGlzLmNvbnN1bWUoKX10aGlzLnRyYW5zaXRpb25UbyhcImRhdGFcIiksdGhpcy5kZWxlZ2F0ZS5iZWdpbkRhdGEoKX19LGRhdGE6ZnVuY3Rpb24oKXt2YXIgcz10aGlzLnBlZWsoKSxpPXRoaXMudGFnTmFtZUJ1ZmZlcjtzPT09XCI8XCImJiF0aGlzLmlzSWdub3JlZEVuZFRhZygpPyh0aGlzLmRlbGVnYXRlLmZpbmlzaERhdGEoKSx0aGlzLnRyYW5zaXRpb25UbyhcInRhZ09wZW5cIiksdGhpcy5tYXJrVGFnU3RhcnQoKSx0aGlzLmNvbnN1bWUoKSk6cz09PVwiJlwiJiZpIT09XCJzY3JpcHRcIiYmaSE9PVwic3R5bGVcIj8odGhpcy5jb25zdW1lKCksdGhpcy5kZWxlZ2F0ZS5hcHBlbmRUb0RhdGEodGhpcy5jb25zdW1lQ2hhclJlZigpfHxcIiZcIikpOih0aGlzLmNvbnN1bWUoKSx0aGlzLmRlbGVnYXRlLmFwcGVuZFRvRGF0YShzKSl9LHRhZ09wZW46ZnVuY3Rpb24oKXt2YXIgcz10aGlzLmNvbnN1bWUoKTtzPT09XCIhXCI/dGhpcy50cmFuc2l0aW9uVG8oXCJtYXJrdXBEZWNsYXJhdGlvbk9wZW5cIik6cz09PVwiL1wiP3RoaXMudHJhbnNpdGlvblRvKFwiZW5kVGFnT3BlblwiKToocz09PVwiQFwifHxzPT09XCI6XCJ8fHduKHMpKSYmKHRoaXMudHJhbnNpdGlvblRvKFwidGFnTmFtZVwiKSx0aGlzLnRhZ05hbWVCdWZmZXI9XCJcIix0aGlzLmRlbGVnYXRlLmJlZ2luU3RhcnRUYWcoKSx0aGlzLmFwcGVuZFRvVGFnTmFtZShzKSl9LG1hcmt1cERlY2xhcmF0aW9uT3BlbjpmdW5jdGlvbigpe3ZhciBzPXRoaXMuY29uc3VtZSgpO2lmKHM9PT1cIi1cIiYmdGhpcy5wZWVrKCk9PT1cIi1cIil0aGlzLmNvbnN1bWUoKSx0aGlzLnRyYW5zaXRpb25UbyhcImNvbW1lbnRTdGFydFwiKSx0aGlzLmRlbGVnYXRlLmJlZ2luQ29tbWVudCgpO2Vsc2V7dmFyIGk9cy50b1VwcGVyQ2FzZSgpK3RoaXMuaW5wdXQuc3Vic3RyaW5nKHRoaXMuaW5kZXgsdGhpcy5pbmRleCs2KS50b1VwcGVyQ2FzZSgpO2k9PT1cIkRPQ1RZUEVcIiYmKHRoaXMuY29uc3VtZSgpLHRoaXMuY29uc3VtZSgpLHRoaXMuY29uc3VtZSgpLHRoaXMuY29uc3VtZSgpLHRoaXMuY29uc3VtZSgpLHRoaXMuY29uc3VtZSgpLHRoaXMudHJhbnNpdGlvblRvKFwiZG9jdHlwZVwiKSx0aGlzLmRlbGVnYXRlLmJlZ2luRG9jdHlwZSYmdGhpcy5kZWxlZ2F0ZS5iZWdpbkRvY3R5cGUoKSl9fSxkb2N0eXBlOmZ1bmN0aW9uKCl7dmFyIHM9dGhpcy5jb25zdW1lKCk7XyhzKSYmdGhpcy50cmFuc2l0aW9uVG8oXCJiZWZvcmVEb2N0eXBlTmFtZVwiKX0sYmVmb3JlRG9jdHlwZU5hbWU6ZnVuY3Rpb24oKXt2YXIgcz10aGlzLmNvbnN1bWUoKTtfKHMpfHwodGhpcy50cmFuc2l0aW9uVG8oXCJkb2N0eXBlTmFtZVwiKSx0aGlzLmRlbGVnYXRlLmFwcGVuZFRvRG9jdHlwZU5hbWUmJnRoaXMuZGVsZWdhdGUuYXBwZW5kVG9Eb2N0eXBlTmFtZShzLnRvTG93ZXJDYXNlKCkpKX0sZG9jdHlwZU5hbWU6ZnVuY3Rpb24oKXt2YXIgcz10aGlzLmNvbnN1bWUoKTtfKHMpP3RoaXMudHJhbnNpdGlvblRvKFwiYWZ0ZXJEb2N0eXBlTmFtZVwiKTpzPT09XCI+XCI/KHRoaXMuZGVsZWdhdGUuZW5kRG9jdHlwZSYmdGhpcy5kZWxlZ2F0ZS5lbmREb2N0eXBlKCksdGhpcy50cmFuc2l0aW9uVG8oXCJiZWZvcmVEYXRhXCIpKTp0aGlzLmRlbGVnYXRlLmFwcGVuZFRvRG9jdHlwZU5hbWUmJnRoaXMuZGVsZWdhdGUuYXBwZW5kVG9Eb2N0eXBlTmFtZShzLnRvTG93ZXJDYXNlKCkpfSxhZnRlckRvY3R5cGVOYW1lOmZ1bmN0aW9uKCl7dmFyIHM9dGhpcy5jb25zdW1lKCk7aWYoIV8ocykpaWYocz09PVwiPlwiKXRoaXMuZGVsZWdhdGUuZW5kRG9jdHlwZSYmdGhpcy5kZWxlZ2F0ZS5lbmREb2N0eXBlKCksdGhpcy50cmFuc2l0aW9uVG8oXCJiZWZvcmVEYXRhXCIpO2Vsc2V7dmFyIGk9cy50b1VwcGVyQ2FzZSgpK3RoaXMuaW5wdXQuc3Vic3RyaW5nKHRoaXMuaW5kZXgsdGhpcy5pbmRleCs1KS50b1VwcGVyQ2FzZSgpLGE9aS50b1VwcGVyQ2FzZSgpPT09XCJQVUJMSUNcIixvPWkudG9VcHBlckNhc2UoKT09PVwiU1lTVEVNXCI7KGF8fG8pJiYodGhpcy5jb25zdW1lKCksdGhpcy5jb25zdW1lKCksdGhpcy5jb25zdW1lKCksdGhpcy5jb25zdW1lKCksdGhpcy5jb25zdW1lKCksdGhpcy5jb25zdW1lKCkpLGE/dGhpcy50cmFuc2l0aW9uVG8oXCJhZnRlckRvY3R5cGVQdWJsaWNLZXl3b3JkXCIpOm8mJnRoaXMudHJhbnNpdGlvblRvKFwiYWZ0ZXJEb2N0eXBlU3lzdGVtS2V5d29yZFwiKX19LGFmdGVyRG9jdHlwZVB1YmxpY0tleXdvcmQ6ZnVuY3Rpb24oKXt2YXIgcz10aGlzLnBlZWsoKTtfKHMpPyh0aGlzLnRyYW5zaXRpb25UbyhcImJlZm9yZURvY3R5cGVQdWJsaWNJZGVudGlmaWVyXCIpLHRoaXMuY29uc3VtZSgpKTpzPT09J1wiJz8odGhpcy50cmFuc2l0aW9uVG8oXCJkb2N0eXBlUHVibGljSWRlbnRpZmllckRvdWJsZVF1b3RlZFwiKSx0aGlzLmNvbnN1bWUoKSk6cz09PVwiJ1wiPyh0aGlzLnRyYW5zaXRpb25UbyhcImRvY3R5cGVQdWJsaWNJZGVudGlmaWVyU2luZ2xlUXVvdGVkXCIpLHRoaXMuY29uc3VtZSgpKTpzPT09XCI+XCImJih0aGlzLmNvbnN1bWUoKSx0aGlzLmRlbGVnYXRlLmVuZERvY3R5cGUmJnRoaXMuZGVsZWdhdGUuZW5kRG9jdHlwZSgpLHRoaXMudHJhbnNpdGlvblRvKFwiYmVmb3JlRGF0YVwiKSl9LGRvY3R5cGVQdWJsaWNJZGVudGlmaWVyRG91YmxlUXVvdGVkOmZ1bmN0aW9uKCl7dmFyIHM9dGhpcy5jb25zdW1lKCk7cz09PSdcIic/dGhpcy50cmFuc2l0aW9uVG8oXCJhZnRlckRvY3R5cGVQdWJsaWNJZGVudGlmaWVyXCIpOnM9PT1cIj5cIj8odGhpcy5kZWxlZ2F0ZS5lbmREb2N0eXBlJiZ0aGlzLmRlbGVnYXRlLmVuZERvY3R5cGUoKSx0aGlzLnRyYW5zaXRpb25UbyhcImJlZm9yZURhdGFcIikpOnRoaXMuZGVsZWdhdGUuYXBwZW5kVG9Eb2N0eXBlUHVibGljSWRlbnRpZmllciYmdGhpcy5kZWxlZ2F0ZS5hcHBlbmRUb0RvY3R5cGVQdWJsaWNJZGVudGlmaWVyKHMpfSxkb2N0eXBlUHVibGljSWRlbnRpZmllclNpbmdsZVF1b3RlZDpmdW5jdGlvbigpe3ZhciBzPXRoaXMuY29uc3VtZSgpO3M9PT1cIidcIj90aGlzLnRyYW5zaXRpb25UbyhcImFmdGVyRG9jdHlwZVB1YmxpY0lkZW50aWZpZXJcIik6cz09PVwiPlwiPyh0aGlzLmRlbGVnYXRlLmVuZERvY3R5cGUmJnRoaXMuZGVsZWdhdGUuZW5kRG9jdHlwZSgpLHRoaXMudHJhbnNpdGlvblRvKFwiYmVmb3JlRGF0YVwiKSk6dGhpcy5kZWxlZ2F0ZS5hcHBlbmRUb0RvY3R5cGVQdWJsaWNJZGVudGlmaWVyJiZ0aGlzLmRlbGVnYXRlLmFwcGVuZFRvRG9jdHlwZVB1YmxpY0lkZW50aWZpZXIocyl9LGFmdGVyRG9jdHlwZVB1YmxpY0lkZW50aWZpZXI6ZnVuY3Rpb24oKXt2YXIgcz10aGlzLmNvbnN1bWUoKTtfKHMpP3RoaXMudHJhbnNpdGlvblRvKFwiYmV0d2VlbkRvY3R5cGVQdWJsaWNBbmRTeXN0ZW1JZGVudGlmaWVyc1wiKTpzPT09XCI+XCI/KHRoaXMuZGVsZWdhdGUuZW5kRG9jdHlwZSYmdGhpcy5kZWxlZ2F0ZS5lbmREb2N0eXBlKCksdGhpcy50cmFuc2l0aW9uVG8oXCJiZWZvcmVEYXRhXCIpKTpzPT09J1wiJz90aGlzLnRyYW5zaXRpb25UbyhcImRvY3R5cGVTeXN0ZW1JZGVudGlmaWVyRG91YmxlUXVvdGVkXCIpOnM9PT1cIidcIiYmdGhpcy50cmFuc2l0aW9uVG8oXCJkb2N0eXBlU3lzdGVtSWRlbnRpZmllclNpbmdsZVF1b3RlZFwiKX0sYmV0d2VlbkRvY3R5cGVQdWJsaWNBbmRTeXN0ZW1JZGVudGlmaWVyczpmdW5jdGlvbigpe3ZhciBzPXRoaXMuY29uc3VtZSgpO18ocyl8fChzPT09XCI+XCI/KHRoaXMuZGVsZWdhdGUuZW5kRG9jdHlwZSYmdGhpcy5kZWxlZ2F0ZS5lbmREb2N0eXBlKCksdGhpcy50cmFuc2l0aW9uVG8oXCJiZWZvcmVEYXRhXCIpKTpzPT09J1wiJz90aGlzLnRyYW5zaXRpb25UbyhcImRvY3R5cGVTeXN0ZW1JZGVudGlmaWVyRG91YmxlUXVvdGVkXCIpOnM9PT1cIidcIiYmdGhpcy50cmFuc2l0aW9uVG8oXCJkb2N0eXBlU3lzdGVtSWRlbnRpZmllclNpbmdsZVF1b3RlZFwiKSl9LGRvY3R5cGVTeXN0ZW1JZGVudGlmaWVyRG91YmxlUXVvdGVkOmZ1bmN0aW9uKCl7dmFyIHM9dGhpcy5jb25zdW1lKCk7cz09PSdcIic/dGhpcy50cmFuc2l0aW9uVG8oXCJhZnRlckRvY3R5cGVTeXN0ZW1JZGVudGlmaWVyXCIpOnM9PT1cIj5cIj8odGhpcy5kZWxlZ2F0ZS5lbmREb2N0eXBlJiZ0aGlzLmRlbGVnYXRlLmVuZERvY3R5cGUoKSx0aGlzLnRyYW5zaXRpb25UbyhcImJlZm9yZURhdGFcIikpOnRoaXMuZGVsZWdhdGUuYXBwZW5kVG9Eb2N0eXBlU3lzdGVtSWRlbnRpZmllciYmdGhpcy5kZWxlZ2F0ZS5hcHBlbmRUb0RvY3R5cGVTeXN0ZW1JZGVudGlmaWVyKHMpfSxkb2N0eXBlU3lzdGVtSWRlbnRpZmllclNpbmdsZVF1b3RlZDpmdW5jdGlvbigpe3ZhciBzPXRoaXMuY29uc3VtZSgpO3M9PT1cIidcIj90aGlzLnRyYW5zaXRpb25UbyhcImFmdGVyRG9jdHlwZVN5c3RlbUlkZW50aWZpZXJcIik6cz09PVwiPlwiPyh0aGlzLmRlbGVnYXRlLmVuZERvY3R5cGUmJnRoaXMuZGVsZWdhdGUuZW5kRG9jdHlwZSgpLHRoaXMudHJhbnNpdGlvblRvKFwiYmVmb3JlRGF0YVwiKSk6dGhpcy5kZWxlZ2F0ZS5hcHBlbmRUb0RvY3R5cGVTeXN0ZW1JZGVudGlmaWVyJiZ0aGlzLmRlbGVnYXRlLmFwcGVuZFRvRG9jdHlwZVN5c3RlbUlkZW50aWZpZXIocyl9LGFmdGVyRG9jdHlwZVN5c3RlbUlkZW50aWZpZXI6ZnVuY3Rpb24oKXt2YXIgcz10aGlzLmNvbnN1bWUoKTtfKHMpfHxzPT09XCI+XCImJih0aGlzLmRlbGVnYXRlLmVuZERvY3R5cGUmJnRoaXMuZGVsZWdhdGUuZW5kRG9jdHlwZSgpLHRoaXMudHJhbnNpdGlvblRvKFwiYmVmb3JlRGF0YVwiKSl9LGNvbW1lbnRTdGFydDpmdW5jdGlvbigpe3ZhciBzPXRoaXMuY29uc3VtZSgpO3M9PT1cIi1cIj90aGlzLnRyYW5zaXRpb25UbyhcImNvbW1lbnRTdGFydERhc2hcIik6cz09PVwiPlwiPyh0aGlzLmRlbGVnYXRlLmZpbmlzaENvbW1lbnQoKSx0aGlzLnRyYW5zaXRpb25UbyhcImJlZm9yZURhdGFcIikpOih0aGlzLmRlbGVnYXRlLmFwcGVuZFRvQ29tbWVudERhdGEocyksdGhpcy50cmFuc2l0aW9uVG8oXCJjb21tZW50XCIpKX0sY29tbWVudFN0YXJ0RGFzaDpmdW5jdGlvbigpe3ZhciBzPXRoaXMuY29uc3VtZSgpO3M9PT1cIi1cIj90aGlzLnRyYW5zaXRpb25UbyhcImNvbW1lbnRFbmRcIik6cz09PVwiPlwiPyh0aGlzLmRlbGVnYXRlLmZpbmlzaENvbW1lbnQoKSx0aGlzLnRyYW5zaXRpb25UbyhcImJlZm9yZURhdGFcIikpOih0aGlzLmRlbGVnYXRlLmFwcGVuZFRvQ29tbWVudERhdGEoXCItXCIpLHRoaXMudHJhbnNpdGlvblRvKFwiY29tbWVudFwiKSl9LGNvbW1lbnQ6ZnVuY3Rpb24oKXt2YXIgcz10aGlzLmNvbnN1bWUoKTtzPT09XCItXCI/dGhpcy50cmFuc2l0aW9uVG8oXCJjb21tZW50RW5kRGFzaFwiKTp0aGlzLmRlbGVnYXRlLmFwcGVuZFRvQ29tbWVudERhdGEocyl9LGNvbW1lbnRFbmREYXNoOmZ1bmN0aW9uKCl7dmFyIHM9dGhpcy5jb25zdW1lKCk7cz09PVwiLVwiP3RoaXMudHJhbnNpdGlvblRvKFwiY29tbWVudEVuZFwiKToodGhpcy5kZWxlZ2F0ZS5hcHBlbmRUb0NvbW1lbnREYXRhKFwiLVwiK3MpLHRoaXMudHJhbnNpdGlvblRvKFwiY29tbWVudFwiKSl9LGNvbW1lbnRFbmQ6ZnVuY3Rpb24oKXt2YXIgcz10aGlzLmNvbnN1bWUoKTtzPT09XCI+XCI/KHRoaXMuZGVsZWdhdGUuZmluaXNoQ29tbWVudCgpLHRoaXMudHJhbnNpdGlvblRvKFwiYmVmb3JlRGF0YVwiKSk6KHRoaXMuZGVsZWdhdGUuYXBwZW5kVG9Db21tZW50RGF0YShcIi0tXCIrcyksdGhpcy50cmFuc2l0aW9uVG8oXCJjb21tZW50XCIpKX0sdGFnTmFtZTpmdW5jdGlvbigpe3ZhciBzPXRoaXMuY29uc3VtZSgpO18ocyk/dGhpcy50cmFuc2l0aW9uVG8oXCJiZWZvcmVBdHRyaWJ1dGVOYW1lXCIpOnM9PT1cIi9cIj90aGlzLnRyYW5zaXRpb25UbyhcInNlbGZDbG9zaW5nU3RhcnRUYWdcIik6cz09PVwiPlwiPyh0aGlzLmRlbGVnYXRlLmZpbmlzaFRhZygpLHRoaXMudHJhbnNpdGlvblRvKFwiYmVmb3JlRGF0YVwiKSk6dGhpcy5hcHBlbmRUb1RhZ05hbWUocyl9LGVuZFRhZ05hbWU6ZnVuY3Rpb24oKXt2YXIgcz10aGlzLmNvbnN1bWUoKTtfKHMpPyh0aGlzLnRyYW5zaXRpb25UbyhcImJlZm9yZUF0dHJpYnV0ZU5hbWVcIiksdGhpcy50YWdOYW1lQnVmZmVyPVwiXCIpOnM9PT1cIi9cIj8odGhpcy50cmFuc2l0aW9uVG8oXCJzZWxmQ2xvc2luZ1N0YXJ0VGFnXCIpLHRoaXMudGFnTmFtZUJ1ZmZlcj1cIlwiKTpzPT09XCI+XCI/KHRoaXMuZGVsZWdhdGUuZmluaXNoVGFnKCksdGhpcy50cmFuc2l0aW9uVG8oXCJiZWZvcmVEYXRhXCIpLHRoaXMudGFnTmFtZUJ1ZmZlcj1cIlwiKTp0aGlzLmFwcGVuZFRvVGFnTmFtZShzKX0sYmVmb3JlQXR0cmlidXRlTmFtZTpmdW5jdGlvbigpe3ZhciBzPXRoaXMucGVlaygpO2lmKF8ocykpe3RoaXMuY29uc3VtZSgpO3JldHVybn1lbHNlIHM9PT1cIi9cIj8odGhpcy50cmFuc2l0aW9uVG8oXCJzZWxmQ2xvc2luZ1N0YXJ0VGFnXCIpLHRoaXMuY29uc3VtZSgpKTpzPT09XCI+XCI/KHRoaXMuY29uc3VtZSgpLHRoaXMuZGVsZWdhdGUuZmluaXNoVGFnKCksdGhpcy50cmFuc2l0aW9uVG8oXCJiZWZvcmVEYXRhXCIpKTpzPT09XCI9XCI/KHRoaXMuZGVsZWdhdGUucmVwb3J0U3ludGF4RXJyb3IoXCJhdHRyaWJ1dGUgbmFtZSBjYW5ub3Qgc3RhcnQgd2l0aCBlcXVhbHMgc2lnblwiKSx0aGlzLnRyYW5zaXRpb25UbyhcImF0dHJpYnV0ZU5hbWVcIiksdGhpcy5kZWxlZ2F0ZS5iZWdpbkF0dHJpYnV0ZSgpLHRoaXMuY29uc3VtZSgpLHRoaXMuZGVsZWdhdGUuYXBwZW5kVG9BdHRyaWJ1dGVOYW1lKHMpKToodGhpcy50cmFuc2l0aW9uVG8oXCJhdHRyaWJ1dGVOYW1lXCIpLHRoaXMuZGVsZWdhdGUuYmVnaW5BdHRyaWJ1dGUoKSl9LGF0dHJpYnV0ZU5hbWU6ZnVuY3Rpb24oKXt2YXIgcz10aGlzLnBlZWsoKTtfKHMpPyh0aGlzLnRyYW5zaXRpb25UbyhcImFmdGVyQXR0cmlidXRlTmFtZVwiKSx0aGlzLmNvbnN1bWUoKSk6cz09PVwiL1wiPyh0aGlzLmRlbGVnYXRlLmJlZ2luQXR0cmlidXRlVmFsdWUoITEpLHRoaXMuZGVsZWdhdGUuZmluaXNoQXR0cmlidXRlVmFsdWUoKSx0aGlzLmNvbnN1bWUoKSx0aGlzLnRyYW5zaXRpb25UbyhcInNlbGZDbG9zaW5nU3RhcnRUYWdcIikpOnM9PT1cIj1cIj8odGhpcy50cmFuc2l0aW9uVG8oXCJiZWZvcmVBdHRyaWJ1dGVWYWx1ZVwiKSx0aGlzLmNvbnN1bWUoKSk6cz09PVwiPlwiPyh0aGlzLmRlbGVnYXRlLmJlZ2luQXR0cmlidXRlVmFsdWUoITEpLHRoaXMuZGVsZWdhdGUuZmluaXNoQXR0cmlidXRlVmFsdWUoKSx0aGlzLmNvbnN1bWUoKSx0aGlzLmRlbGVnYXRlLmZpbmlzaFRhZygpLHRoaXMudHJhbnNpdGlvblRvKFwiYmVmb3JlRGF0YVwiKSk6cz09PSdcIid8fHM9PT1cIidcInx8cz09PVwiPFwiPyh0aGlzLmRlbGVnYXRlLnJlcG9ydFN5bnRheEVycm9yKHMrXCIgaXMgbm90IGEgdmFsaWQgY2hhcmFjdGVyIHdpdGhpbiBhdHRyaWJ1dGUgbmFtZXNcIiksdGhpcy5jb25zdW1lKCksdGhpcy5kZWxlZ2F0ZS5hcHBlbmRUb0F0dHJpYnV0ZU5hbWUocykpOih0aGlzLmNvbnN1bWUoKSx0aGlzLmRlbGVnYXRlLmFwcGVuZFRvQXR0cmlidXRlTmFtZShzKSl9LGFmdGVyQXR0cmlidXRlTmFtZTpmdW5jdGlvbigpe3ZhciBzPXRoaXMucGVlaygpO2lmKF8ocykpe3RoaXMuY29uc3VtZSgpO3JldHVybn1lbHNlIHM9PT1cIi9cIj8odGhpcy5kZWxlZ2F0ZS5iZWdpbkF0dHJpYnV0ZVZhbHVlKCExKSx0aGlzLmRlbGVnYXRlLmZpbmlzaEF0dHJpYnV0ZVZhbHVlKCksdGhpcy5jb25zdW1lKCksdGhpcy50cmFuc2l0aW9uVG8oXCJzZWxmQ2xvc2luZ1N0YXJ0VGFnXCIpKTpzPT09XCI9XCI/KHRoaXMuY29uc3VtZSgpLHRoaXMudHJhbnNpdGlvblRvKFwiYmVmb3JlQXR0cmlidXRlVmFsdWVcIikpOnM9PT1cIj5cIj8odGhpcy5kZWxlZ2F0ZS5iZWdpbkF0dHJpYnV0ZVZhbHVlKCExKSx0aGlzLmRlbGVnYXRlLmZpbmlzaEF0dHJpYnV0ZVZhbHVlKCksdGhpcy5jb25zdW1lKCksdGhpcy5kZWxlZ2F0ZS5maW5pc2hUYWcoKSx0aGlzLnRyYW5zaXRpb25UbyhcImJlZm9yZURhdGFcIikpOih0aGlzLmRlbGVnYXRlLmJlZ2luQXR0cmlidXRlVmFsdWUoITEpLHRoaXMuZGVsZWdhdGUuZmluaXNoQXR0cmlidXRlVmFsdWUoKSx0aGlzLnRyYW5zaXRpb25UbyhcImF0dHJpYnV0ZU5hbWVcIiksdGhpcy5kZWxlZ2F0ZS5iZWdpbkF0dHJpYnV0ZSgpLHRoaXMuY29uc3VtZSgpLHRoaXMuZGVsZWdhdGUuYXBwZW5kVG9BdHRyaWJ1dGVOYW1lKHMpKX0sYmVmb3JlQXR0cmlidXRlVmFsdWU6ZnVuY3Rpb24oKXt2YXIgcz10aGlzLnBlZWsoKTtfKHMpP3RoaXMuY29uc3VtZSgpOnM9PT0nXCInPyh0aGlzLnRyYW5zaXRpb25UbyhcImF0dHJpYnV0ZVZhbHVlRG91YmxlUXVvdGVkXCIpLHRoaXMuZGVsZWdhdGUuYmVnaW5BdHRyaWJ1dGVWYWx1ZSghMCksdGhpcy5jb25zdW1lKCkpOnM9PT1cIidcIj8odGhpcy50cmFuc2l0aW9uVG8oXCJhdHRyaWJ1dGVWYWx1ZVNpbmdsZVF1b3RlZFwiKSx0aGlzLmRlbGVnYXRlLmJlZ2luQXR0cmlidXRlVmFsdWUoITApLHRoaXMuY29uc3VtZSgpKTpzPT09XCI+XCI/KHRoaXMuZGVsZWdhdGUuYmVnaW5BdHRyaWJ1dGVWYWx1ZSghMSksdGhpcy5kZWxlZ2F0ZS5maW5pc2hBdHRyaWJ1dGVWYWx1ZSgpLHRoaXMuY29uc3VtZSgpLHRoaXMuZGVsZWdhdGUuZmluaXNoVGFnKCksdGhpcy50cmFuc2l0aW9uVG8oXCJiZWZvcmVEYXRhXCIpKToodGhpcy50cmFuc2l0aW9uVG8oXCJhdHRyaWJ1dGVWYWx1ZVVucXVvdGVkXCIpLHRoaXMuZGVsZWdhdGUuYmVnaW5BdHRyaWJ1dGVWYWx1ZSghMSksdGhpcy5jb25zdW1lKCksdGhpcy5kZWxlZ2F0ZS5hcHBlbmRUb0F0dHJpYnV0ZVZhbHVlKHMpKX0sYXR0cmlidXRlVmFsdWVEb3VibGVRdW90ZWQ6ZnVuY3Rpb24oKXt2YXIgcz10aGlzLmNvbnN1bWUoKTtzPT09J1wiJz8odGhpcy5kZWxlZ2F0ZS5maW5pc2hBdHRyaWJ1dGVWYWx1ZSgpLHRoaXMudHJhbnNpdGlvblRvKFwiYWZ0ZXJBdHRyaWJ1dGVWYWx1ZVF1b3RlZFwiKSk6cz09PVwiJlwiP3RoaXMuZGVsZWdhdGUuYXBwZW5kVG9BdHRyaWJ1dGVWYWx1ZSh0aGlzLmNvbnN1bWVDaGFyUmVmKCl8fFwiJlwiKTp0aGlzLmRlbGVnYXRlLmFwcGVuZFRvQXR0cmlidXRlVmFsdWUocyl9LGF0dHJpYnV0ZVZhbHVlU2luZ2xlUXVvdGVkOmZ1bmN0aW9uKCl7dmFyIHM9dGhpcy5jb25zdW1lKCk7cz09PVwiJ1wiPyh0aGlzLmRlbGVnYXRlLmZpbmlzaEF0dHJpYnV0ZVZhbHVlKCksdGhpcy50cmFuc2l0aW9uVG8oXCJhZnRlckF0dHJpYnV0ZVZhbHVlUXVvdGVkXCIpKTpzPT09XCImXCI/dGhpcy5kZWxlZ2F0ZS5hcHBlbmRUb0F0dHJpYnV0ZVZhbHVlKHRoaXMuY29uc3VtZUNoYXJSZWYoKXx8XCImXCIpOnRoaXMuZGVsZWdhdGUuYXBwZW5kVG9BdHRyaWJ1dGVWYWx1ZShzKX0sYXR0cmlidXRlVmFsdWVVbnF1b3RlZDpmdW5jdGlvbigpe3ZhciBzPXRoaXMucGVlaygpO18ocyk/KHRoaXMuZGVsZWdhdGUuZmluaXNoQXR0cmlidXRlVmFsdWUoKSx0aGlzLmNvbnN1bWUoKSx0aGlzLnRyYW5zaXRpb25UbyhcImJlZm9yZUF0dHJpYnV0ZU5hbWVcIikpOnM9PT1cIi9cIj8odGhpcy5kZWxlZ2F0ZS5maW5pc2hBdHRyaWJ1dGVWYWx1ZSgpLHRoaXMuY29uc3VtZSgpLHRoaXMudHJhbnNpdGlvblRvKFwic2VsZkNsb3NpbmdTdGFydFRhZ1wiKSk6cz09PVwiJlwiPyh0aGlzLmNvbnN1bWUoKSx0aGlzLmRlbGVnYXRlLmFwcGVuZFRvQXR0cmlidXRlVmFsdWUodGhpcy5jb25zdW1lQ2hhclJlZigpfHxcIiZcIikpOnM9PT1cIj5cIj8odGhpcy5kZWxlZ2F0ZS5maW5pc2hBdHRyaWJ1dGVWYWx1ZSgpLHRoaXMuY29uc3VtZSgpLHRoaXMuZGVsZWdhdGUuZmluaXNoVGFnKCksdGhpcy50cmFuc2l0aW9uVG8oXCJiZWZvcmVEYXRhXCIpKToodGhpcy5jb25zdW1lKCksdGhpcy5kZWxlZ2F0ZS5hcHBlbmRUb0F0dHJpYnV0ZVZhbHVlKHMpKX0sYWZ0ZXJBdHRyaWJ1dGVWYWx1ZVF1b3RlZDpmdW5jdGlvbigpe3ZhciBzPXRoaXMucGVlaygpO18ocyk/KHRoaXMuY29uc3VtZSgpLHRoaXMudHJhbnNpdGlvblRvKFwiYmVmb3JlQXR0cmlidXRlTmFtZVwiKSk6cz09PVwiL1wiPyh0aGlzLmNvbnN1bWUoKSx0aGlzLnRyYW5zaXRpb25UbyhcInNlbGZDbG9zaW5nU3RhcnRUYWdcIikpOnM9PT1cIj5cIj8odGhpcy5jb25zdW1lKCksdGhpcy5kZWxlZ2F0ZS5maW5pc2hUYWcoKSx0aGlzLnRyYW5zaXRpb25UbyhcImJlZm9yZURhdGFcIikpOnRoaXMudHJhbnNpdGlvblRvKFwiYmVmb3JlQXR0cmlidXRlTmFtZVwiKX0sc2VsZkNsb3NpbmdTdGFydFRhZzpmdW5jdGlvbigpe3ZhciBzPXRoaXMucGVlaygpO3M9PT1cIj5cIj8odGhpcy5jb25zdW1lKCksdGhpcy5kZWxlZ2F0ZS5tYXJrVGFnQXNTZWxmQ2xvc2luZygpLHRoaXMuZGVsZWdhdGUuZmluaXNoVGFnKCksdGhpcy50cmFuc2l0aW9uVG8oXCJiZWZvcmVEYXRhXCIpKTp0aGlzLnRyYW5zaXRpb25UbyhcImJlZm9yZUF0dHJpYnV0ZU5hbWVcIil9LGVuZFRhZ09wZW46ZnVuY3Rpb24oKXt2YXIgcz10aGlzLmNvbnN1bWUoKTsocz09PVwiQFwifHxzPT09XCI6XCJ8fHduKHMpKSYmKHRoaXMudHJhbnNpdGlvblRvKFwiZW5kVGFnTmFtZVwiKSx0aGlzLnRhZ05hbWVCdWZmZXI9XCJcIix0aGlzLmRlbGVnYXRlLmJlZ2luRW5kVGFnKCksdGhpcy5hcHBlbmRUb1RhZ05hbWUocykpfX0sdGhpcy5yZXNldCgpfXJldHVybiBlLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMudHJhbnNpdGlvblRvKFwiYmVmb3JlRGF0YVwiKSx0aGlzLmlucHV0PVwiXCIsdGhpcy50YWdOYW1lQnVmZmVyPVwiXCIsdGhpcy5pbmRleD0wLHRoaXMubGluZT0xLHRoaXMuY29sdW1uPTAsdGhpcy5kZWxlZ2F0ZS5yZXNldCgpfSxlLnByb3RvdHlwZS50cmFuc2l0aW9uVG89ZnVuY3Rpb24odCl7dGhpcy5zdGF0ZT10fSxlLnByb3RvdHlwZS50b2tlbml6ZT1mdW5jdGlvbih0KXt0aGlzLnJlc2V0KCksdGhpcy50b2tlbml6ZVBhcnQodCksdGhpcy50b2tlbml6ZUVPRigpfSxlLnByb3RvdHlwZS50b2tlbml6ZVBhcnQ9ZnVuY3Rpb24odCl7Zm9yKHRoaXMuaW5wdXQrPVpzKHQpO3RoaXMuaW5kZXg8dGhpcy5pbnB1dC5sZW5ndGg7KXt2YXIgcj10aGlzLnN0YXRlc1t0aGlzLnN0YXRlXTtpZihyIT09dm9pZCAwKXIuY2FsbCh0aGlzKTtlbHNlIHRocm93IG5ldyBFcnJvcihcInVuaGFuZGxlZCBzdGF0ZSBcIit0aGlzLnN0YXRlKX19LGUucHJvdG90eXBlLnRva2VuaXplRU9GPWZ1bmN0aW9uKCl7dGhpcy5mbHVzaERhdGEoKX0sZS5wcm90b3R5cGUuZmx1c2hEYXRhPWZ1bmN0aW9uKCl7dGhpcy5zdGF0ZT09PVwiZGF0YVwiJiYodGhpcy5kZWxlZ2F0ZS5maW5pc2hEYXRhKCksdGhpcy50cmFuc2l0aW9uVG8oXCJiZWZvcmVEYXRhXCIpKX0sZS5wcm90b3R5cGUucGVlaz1mdW5jdGlvbigpe3JldHVybiB0aGlzLmlucHV0LmNoYXJBdCh0aGlzLmluZGV4KX0sZS5wcm90b3R5cGUuY29uc3VtZT1mdW5jdGlvbigpe3ZhciB0PXRoaXMucGVlaygpO3JldHVybiB0aGlzLmluZGV4KyssdD09PWBcbmA/KHRoaXMubGluZSsrLHRoaXMuY29sdW1uPTApOnRoaXMuY29sdW1uKyssdH0sZS5wcm90b3R5cGUuY29uc3VtZUNoYXJSZWY9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLmlucHV0LmluZGV4T2YoXCI7XCIsdGhpcy5pbmRleCk7aWYodCE9PS0xKXt2YXIgcj10aGlzLmlucHV0LnNsaWNlKHRoaXMuaW5kZXgsdCksbj10aGlzLmVudGl0eVBhcnNlci5wYXJzZShyKTtpZihuKXtmb3IodmFyIHM9ci5sZW5ndGg7czspdGhpcy5jb25zdW1lKCkscy0tO3JldHVybiB0aGlzLmNvbnN1bWUoKSxufX19LGUucHJvdG90eXBlLm1hcmtUYWdTdGFydD1mdW5jdGlvbigpe3RoaXMuZGVsZWdhdGUudGFnT3BlbigpfSxlLnByb3RvdHlwZS5hcHBlbmRUb1RhZ05hbWU9ZnVuY3Rpb24odCl7dGhpcy50YWdOYW1lQnVmZmVyKz10LHRoaXMuZGVsZWdhdGUuYXBwZW5kVG9UYWdOYW1lKHQpfSxlLnByb3RvdHlwZS5pc0lnbm9yZWRFbmRUYWc9ZnVuY3Rpb24oKXt2YXIgdD10aGlzLnRhZ05hbWVCdWZmZXI7cmV0dXJuIHQ9PT1cInRpdGxlXCImJnRoaXMuaW5wdXQuc3Vic3RyaW5nKHRoaXMuaW5kZXgsdGhpcy5pbmRleCs4KSE9PVwiPC90aXRsZT5cInx8dD09PVwic3R5bGVcIiYmdGhpcy5pbnB1dC5zdWJzdHJpbmcodGhpcy5pbmRleCx0aGlzLmluZGV4KzgpIT09XCI8L3N0eWxlPlwifHx0PT09XCJzY3JpcHRcIiYmdGhpcy5pbnB1dC5zdWJzdHJpbmcodGhpcy5pbmRleCx0aGlzLmluZGV4KzkpIT09XCI8XFwvc2NyaXB0PlwifSxlfSgpLEthPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LHIpe3I9PT12b2lkIDAmJihyPXt9KSx0aGlzLm9wdGlvbnM9cix0aGlzLnRva2VuPW51bGwsdGhpcy5zdGFydExpbmU9MSx0aGlzLnN0YXJ0Q29sdW1uPTAsdGhpcy50b2tlbnM9W10sdGhpcy50b2tlbml6ZXI9bmV3IGhyKHRoaXMsdCxyLm1vZGUpLHRoaXMuX2N1cnJlbnRBdHRyaWJ1dGU9dm9pZCAwfXJldHVybiBlLnByb3RvdHlwZS50b2tlbml6ZT1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50b2tlbnM9W10sdGhpcy50b2tlbml6ZXIudG9rZW5pemUodCksdGhpcy50b2tlbnN9LGUucHJvdG90eXBlLnRva2VuaXplUGFydD1mdW5jdGlvbih0KXtyZXR1cm4gdGhpcy50b2tlbnM9W10sdGhpcy50b2tlbml6ZXIudG9rZW5pemVQYXJ0KHQpLHRoaXMudG9rZW5zfSxlLnByb3RvdHlwZS50b2tlbml6ZUVPRj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnRva2Vucz1bXSx0aGlzLnRva2VuaXplci50b2tlbml6ZUVPRigpLHRoaXMudG9rZW5zWzBdfSxlLnByb3RvdHlwZS5yZXNldD1mdW5jdGlvbigpe3RoaXMudG9rZW49bnVsbCx0aGlzLnN0YXJ0TGluZT0xLHRoaXMuc3RhcnRDb2x1bW49MH0sZS5wcm90b3R5cGUuY3VycmVudD1mdW5jdGlvbigpe3ZhciB0PXRoaXMudG9rZW47aWYodD09PW51bGwpdGhyb3cgbmV3IEVycm9yKFwidG9rZW4gd2FzIHVuZXhwZWN0ZWRseSBudWxsXCIpO2lmKGFyZ3VtZW50cy5sZW5ndGg9PT0wKXJldHVybiB0O2Zvcih2YXIgcj0wO3I8YXJndW1lbnRzLmxlbmd0aDtyKyspaWYodC50eXBlPT09YXJndW1lbnRzW3JdKXJldHVybiB0O3Rocm93IG5ldyBFcnJvcihcInRva2VuIHR5cGUgd2FzIHVuZXhwZWN0ZWRseSBcIit0LnR5cGUpfSxlLnByb3RvdHlwZS5wdXNoPWZ1bmN0aW9uKHQpe3RoaXMudG9rZW49dCx0aGlzLnRva2Vucy5wdXNoKHQpfSxlLnByb3RvdHlwZS5jdXJyZW50QXR0cmlidXRlPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuX2N1cnJlbnRBdHRyaWJ1dGV9LGUucHJvdG90eXBlLmFkZExvY0luZm89ZnVuY3Rpb24oKXt0aGlzLm9wdGlvbnMubG9jJiYodGhpcy5jdXJyZW50KCkubG9jPXtzdGFydDp7bGluZTp0aGlzLnN0YXJ0TGluZSxjb2x1bW46dGhpcy5zdGFydENvbHVtbn0sZW5kOntsaW5lOnRoaXMudG9rZW5pemVyLmxpbmUsY29sdW1uOnRoaXMudG9rZW5pemVyLmNvbHVtbn19KSx0aGlzLnN0YXJ0TGluZT10aGlzLnRva2VuaXplci5saW5lLHRoaXMuc3RhcnRDb2x1bW49dGhpcy50b2tlbml6ZXIuY29sdW1ufSxlLnByb3RvdHlwZS5iZWdpbkRvY3R5cGU9ZnVuY3Rpb24oKXt0aGlzLnB1c2goe3R5cGU6XCJEb2N0eXBlXCIsbmFtZTpcIlwifSl9LGUucHJvdG90eXBlLmFwcGVuZFRvRG9jdHlwZU5hbWU9ZnVuY3Rpb24odCl7dGhpcy5jdXJyZW50KFwiRG9jdHlwZVwiKS5uYW1lKz10fSxlLnByb3RvdHlwZS5hcHBlbmRUb0RvY3R5cGVQdWJsaWNJZGVudGlmaWVyPWZ1bmN0aW9uKHQpe3ZhciByPXRoaXMuY3VycmVudChcIkRvY3R5cGVcIik7ci5wdWJsaWNJZGVudGlmaWVyPT09dm9pZCAwP3IucHVibGljSWRlbnRpZmllcj10OnIucHVibGljSWRlbnRpZmllcis9dH0sZS5wcm90b3R5cGUuYXBwZW5kVG9Eb2N0eXBlU3lzdGVtSWRlbnRpZmllcj1mdW5jdGlvbih0KXt2YXIgcj10aGlzLmN1cnJlbnQoXCJEb2N0eXBlXCIpO3Iuc3lzdGVtSWRlbnRpZmllcj09PXZvaWQgMD9yLnN5c3RlbUlkZW50aWZpZXI9dDpyLnN5c3RlbUlkZW50aWZpZXIrPXR9LGUucHJvdG90eXBlLmVuZERvY3R5cGU9ZnVuY3Rpb24oKXt0aGlzLmFkZExvY0luZm8oKX0sZS5wcm90b3R5cGUuYmVnaW5EYXRhPWZ1bmN0aW9uKCl7dGhpcy5wdXNoKHt0eXBlOlwiQ2hhcnNcIixjaGFyczpcIlwifSl9LGUucHJvdG90eXBlLmFwcGVuZFRvRGF0YT1mdW5jdGlvbih0KXt0aGlzLmN1cnJlbnQoXCJDaGFyc1wiKS5jaGFycys9dH0sZS5wcm90b3R5cGUuZmluaXNoRGF0YT1mdW5jdGlvbigpe3RoaXMuYWRkTG9jSW5mbygpfSxlLnByb3RvdHlwZS5iZWdpbkNvbW1lbnQ9ZnVuY3Rpb24oKXt0aGlzLnB1c2goe3R5cGU6XCJDb21tZW50XCIsY2hhcnM6XCJcIn0pfSxlLnByb3RvdHlwZS5hcHBlbmRUb0NvbW1lbnREYXRhPWZ1bmN0aW9uKHQpe3RoaXMuY3VycmVudChcIkNvbW1lbnRcIikuY2hhcnMrPXR9LGUucHJvdG90eXBlLmZpbmlzaENvbW1lbnQ9ZnVuY3Rpb24oKXt0aGlzLmFkZExvY0luZm8oKX0sZS5wcm90b3R5cGUudGFnT3Blbj1mdW5jdGlvbigpe30sZS5wcm90b3R5cGUuYmVnaW5TdGFydFRhZz1mdW5jdGlvbigpe3RoaXMucHVzaCh7dHlwZTpcIlN0YXJ0VGFnXCIsdGFnTmFtZTpcIlwiLGF0dHJpYnV0ZXM6W10sc2VsZkNsb3Npbmc6ITF9KX0sZS5wcm90b3R5cGUuYmVnaW5FbmRUYWc9ZnVuY3Rpb24oKXt0aGlzLnB1c2goe3R5cGU6XCJFbmRUYWdcIix0YWdOYW1lOlwiXCJ9KX0sZS5wcm90b3R5cGUuZmluaXNoVGFnPWZ1bmN0aW9uKCl7dGhpcy5hZGRMb2NJbmZvKCl9LGUucHJvdG90eXBlLm1hcmtUYWdBc1NlbGZDbG9zaW5nPWZ1bmN0aW9uKCl7dGhpcy5jdXJyZW50KFwiU3RhcnRUYWdcIikuc2VsZkNsb3Npbmc9ITB9LGUucHJvdG90eXBlLmFwcGVuZFRvVGFnTmFtZT1mdW5jdGlvbih0KXt0aGlzLmN1cnJlbnQoXCJTdGFydFRhZ1wiLFwiRW5kVGFnXCIpLnRhZ05hbWUrPXR9LGUucHJvdG90eXBlLmJlZ2luQXR0cmlidXRlPWZ1bmN0aW9uKCl7dGhpcy5fY3VycmVudEF0dHJpYnV0ZT1bXCJcIixcIlwiLCExXX0sZS5wcm90b3R5cGUuYXBwZW5kVG9BdHRyaWJ1dGVOYW1lPWZ1bmN0aW9uKHQpe3RoaXMuY3VycmVudEF0dHJpYnV0ZSgpWzBdKz10fSxlLnByb3RvdHlwZS5iZWdpbkF0dHJpYnV0ZVZhbHVlPWZ1bmN0aW9uKHQpe3RoaXMuY3VycmVudEF0dHJpYnV0ZSgpWzJdPXR9LGUucHJvdG90eXBlLmFwcGVuZFRvQXR0cmlidXRlVmFsdWU9ZnVuY3Rpb24odCl7dGhpcy5jdXJyZW50QXR0cmlidXRlKClbMV0rPXR9LGUucHJvdG90eXBlLmZpbmlzaEF0dHJpYnV0ZVZhbHVlPWZ1bmN0aW9uKCl7dGhpcy5jdXJyZW50KFwiU3RhcnRUYWdcIikuYXR0cmlidXRlcy5wdXNoKHRoaXMuX2N1cnJlbnRBdHRyaWJ1dGUpfSxlLnByb3RvdHlwZS5yZXBvcnRTeW50YXhFcnJvcj1mdW5jdGlvbih0KXt0aGlzLmN1cnJlbnQoKS5zeW50YXhFcnJvcj10fSxlfSgpO3ZhciB4ZT17QXBwZW5kOjEsVHJ1c3RpbmdBcHBlbmQ6MixDb21tZW50OjMsTW9kaWZpZXI6NCxTdHJpY3RNb2RpZmllcjo1LEJsb2NrOjYsU3RyaWN0QmxvY2s6NyxDb21wb25lbnQ6OCxPcGVuRWxlbWVudDoxMCxPcGVuRWxlbWVudFdpdGhTcGxhdDoxMSxGbHVzaEVsZW1lbnQ6MTIsQ2xvc2VFbGVtZW50OjEzLFN0YXRpY0F0dHI6MTQsRHluYW1pY0F0dHI6MTUsQ29tcG9uZW50QXR0cjoxNixBdHRyU3BsYXQ6MTcsWWllbGQ6MTgsRHluYW1pY0FyZzoyMCxTdGF0aWNBcmc6MjEsVHJ1c3RpbmdEeW5hbWljQXR0cjoyMixUcnVzdGluZ0NvbXBvbmVudEF0dHI6MjMsU3RhdGljQ29tcG9uZW50QXR0cjoyNCxEZWJ1Z2dlcjoyNixVbmRlZmluZWQ6MjcsQ2FsbDoyOCxDb25jYXQ6MjksR2V0U3ltYm9sOjMwLEdldExleGljYWxTeW1ib2w6MzIsR2V0U3RyaWN0S2V5d29yZDozMSxHZXRGcmVlQXNDb21wb25lbnRPckhlbHBlckhlYWQ6MzUsR2V0RnJlZUFzSGVscGVySGVhZDozNyxHZXRGcmVlQXNNb2RpZmllckhlYWQ6MzgsR2V0RnJlZUFzQ29tcG9uZW50SGVhZDozOSxJbkVsZW1lbnQ6NDAsSWY6NDEsRWFjaDo0MixMZXQ6NDQsV2l0aER5bmFtaWNWYXJzOjQ1LEludm9rZUNvbXBvbmVudDo0NixIYXNCbG9jazo0OCxIYXNCbG9ja1BhcmFtczo0OSxDdXJyeTo1MCxOb3Q6NTEsSWZJbmxpbmU6NTIsR2V0RHluYW1pY1Zhcjo1MyxMb2c6NTR9O2Z1bmN0aW9uIENuKGUpe3JldHVybiBmdW5jdGlvbih0KXtyZXR1cm4gQXJyYXkuaXNBcnJheSh0KSYmdFswXT09PWV9fXZhciBRYT1Dbih4ZS5GbHVzaEVsZW1lbnQpO3ZhciBKYT1Dbih4ZS5HZXRTeW1ib2wpO3ZhciB0aT0vW1wiJlxceEEwXS91LGlvPW5ldyBSZWdFeHAodGkuc291cmNlLFwiZ3VcIiksZWk9L1smPD5cXHhBMF0vdSxhbz1uZXcgUmVnRXhwKGVpLnNvdXJjZSxcImd1XCIpO3ZhciBicj1uZXcgU2V0KFtcImFyZWFcIixcImJhc2VcIixcImJyXCIsXCJjb2xcIixcImNvbW1hbmRcIixcImVtYmVkXCIsXCJoclwiLFwiaW1nXCIsXCJpbnB1dFwiLFwia2V5Z2VuXCIsXCJsaW5rXCIsXCJtZXRhXCIsXCJwYXJhbVwiLFwic291cmNlXCIsXCJ0cmFja1wiLFwid2JyXCJdKTtmdW5jdGlvbiByaShlKXt2YXIgdDtyZXR1cm4gYnIuaGFzKGUudG9Mb3dlckNhc2UoKSkmJigodD1lWzBdKT09bnVsbD92b2lkIDA6dC50b0xvd2VyQ2FzZSgpKT09PWVbMF19ZnVuY3Rpb24gdWUoZSl7cmV0dXJuIGUubGVuZ3RoPjB9ZnVuY3Rpb24gaWUoZSx0PVwidW5leHBlY3RlZCBlbXB0eSBsaXN0XCIpe3JldHVybiBlfWZ1bmN0aW9uIE5yKGUpe3JldHVybiBlLmxlbmd0aD09PTA/dm9pZCAwOmVbZS5sZW5ndGgtMV19ZnVuY3Rpb24gbmkoZSl7cmV0dXJuIGUubGVuZ3RoPT09MD92b2lkIDA6ZVswXX12YXIgdXQ9T2JqZWN0LmZyZWV6ZSh7bGluZToxLGNvbHVtbjowfSksc2k9T2JqZWN0LmZyZWV6ZSh7c291cmNlOlwiKHN5bnRoZXRpYylcIixzdGFydDp1dCxlbmQ6dXR9KSxzZT1PYmplY3QuZnJlZXplKHtzb3VyY2U6XCIobm9uZXhpc3RlbnQpXCIsc3RhcnQ6dXQsZW5kOnV0fSksY3Q9T2JqZWN0LmZyZWV6ZSh7c291cmNlOlwiKGJyb2tlbilcIixzdGFydDp1dCxlbmQ6dXR9KSx5cj1jbGFzc3tfd2hlbnM7Y29uc3RydWN0b3IodCl7dGhpcy5fd2hlbnM9dH1maXJzdCh0KXtmb3IobGV0IHIgb2YgdGhpcy5fd2hlbnMpe2xldCBuPXIubWF0Y2godCk7aWYodWUobikpcmV0dXJuIG5bMF19cmV0dXJuIG51bGx9fSxMZT1jbGFzc3tfbWFwPW5ldyBNYXA7Z2V0KHQscil7bGV0IG49dGhpcy5fbWFwLmdldCh0KTtyZXR1cm4gbnx8KG49cigpLHRoaXMuX21hcC5zZXQodCxuKSxuKX1hZGQodCxyKXt0aGlzLl9tYXAuc2V0KHQscil9bWF0Y2godCl7bGV0IHI9ZnVuY3Rpb24oYSl7c3dpdGNoKGEpe2Nhc2VcIkJyb2tlblwiOmNhc2VcIkludGVybmFsc1N5bnRoZXRpY1wiOmNhc2VcIk5vbkV4aXN0ZW50XCI6cmV0dXJuXCJJU19JTlZJU0lCTEVcIjtkZWZhdWx0OnJldHVybiBhfX0odCksbj1bXSxzPXRoaXMuX21hcC5nZXQociksaT10aGlzLl9tYXAuZ2V0KFwiTUFUQ0hfQU5ZXCIpO3JldHVybiBzJiZuLnB1c2gocyksaSYmbi5wdXNoKGkpLG59fTtmdW5jdGlvbiBPbihlKXtyZXR1cm4gZShuZXcga3IpLnZhbGlkYXRlKCl9dmFyIGtyPWNsYXNze193aGVucz1uZXcgTGU7dmFsaWRhdGUoKXtyZXR1cm4odCxyKT0+dGhpcy5tYXRjaEZvcih0LmtpbmQsci5raW5kKSh0LHIpfW1hdGNoRm9yKHQscil7bGV0IG49dGhpcy5fd2hlbnMubWF0Y2godCk7cmV0dXJuIHVlKG4pLG5ldyB5cihuKS5maXJzdChyKX13aGVuKHQscixuKXtyZXR1cm4gdGhpcy5fd2hlbnMuZ2V0KHQsKCk9Pm5ldyBMZSkuYWRkKHIsbiksdGhpc319LFNyPWNsYXNzIGV7c3RhdGljIHN5bnRoZXRpYyh0KXtsZXQgcj1ELnN5bnRoZXRpYyh0KTtyZXR1cm4gbmV3IGUoe2xvYzpyLGNoYXJzOnR9KX1zdGF0aWMgbG9hZCh0LHIpe3JldHVybiBuZXcgZSh7bG9jOkQubG9hZCh0LHJbMV0pLGNoYXJzOnJbMF19KX1jaGFycztsb2M7Y29uc3RydWN0b3IodCl7dGhpcy5sb2M9dC5sb2MsdGhpcy5jaGFycz10LmNoYXJzfWdldFN0cmluZygpe3JldHVybiB0aGlzLmNoYXJzfXNlcmlhbGl6ZSgpe3JldHVyblt0aGlzLmNoYXJzLHRoaXMubG9jLnNlcmlhbGl6ZSgpXX19LEQ9Y2xhc3MgZXtzdGF0aWMgZ2V0IE5PTl9FWElTVEVOVCgpe3JldHVybiBuZXcgWChcIk5vbkV4aXN0ZW50XCIsc2UpLndyYXAoKX1zdGF0aWMgbG9hZCh0LHIpe3JldHVybiB0eXBlb2Ygcj09XCJudW1iZXJcIj9lLmZvckNoYXJQb3NpdGlvbnModCxyLHIpOnR5cGVvZiByPT1cInN0cmluZ1wiP2Uuc3ludGhldGljKHIpOkFycmF5LmlzQXJyYXkocik/ZS5mb3JDaGFyUG9zaXRpb25zKHQsclswXSxyWzFdKTpyPT09XCJOb25FeGlzdGVudFwiP2UuTk9OX0VYSVNURU5UOnI9PT1cIkJyb2tlblwiP2UuYnJva2VuKGN0KTp2b2lkIGJuKHIpfXN0YXRpYyBmb3JIYnNMb2ModCxyKXtsZXQgbj1uZXcgcHQodCxyLnN0YXJ0KSxzPW5ldyBwdCh0LHIuZW5kKTtyZXR1cm4gbmV3IG9lKHQse3N0YXJ0Om4sZW5kOnN9LHIpLndyYXAoKX1zdGF0aWMgZm9yQ2hhclBvc2l0aW9ucyh0LHIsbil7bGV0IHM9bmV3IHd0KHQsciksaT1uZXcgd3QodCxuKTtyZXR1cm4gbmV3IGFlKHQse3N0YXJ0OnMsZW5kOml9KS53cmFwKCl9c3RhdGljIHN5bnRoZXRpYyh0KXtyZXR1cm4gbmV3IFgoXCJJbnRlcm5hbHNTeW50aGV0aWNcIixzZSx0KS53cmFwKCl9c3RhdGljIGJyb2tlbih0PWN0KXtyZXR1cm4gbmV3IFgoXCJCcm9rZW5cIix0KS53cmFwKCl9aXNJbnZpc2libGU7Y29uc3RydWN0b3IodCl7dmFyIHI7dGhpcy5kYXRhPXQsdGhpcy5pc0ludmlzaWJsZT0ocj10LmtpbmQpIT09XCJDaGFyUG9zaXRpb25cIiYmciE9PVwiSGJzUG9zaXRpb25cIn1nZXRTdGFydCgpe3JldHVybiB0aGlzLmRhdGEuZ2V0U3RhcnQoKS53cmFwKCl9Z2V0RW5kKCl7cmV0dXJuIHRoaXMuZGF0YS5nZXRFbmQoKS53cmFwKCl9Z2V0IGxvYygpe2xldCB0PXRoaXMuZGF0YS50b0hic1NwYW4oKTtyZXR1cm4gdD09PW51bGw/Y3Q6dC50b0hic0xvYygpfWdldCBtb2R1bGUoKXtyZXR1cm4gdGhpcy5kYXRhLmdldE1vZHVsZSgpfWdldCBzdGFydFBvc2l0aW9uKCl7cmV0dXJuIHRoaXMubG9jLnN0YXJ0fWdldCBlbmRQb3NpdGlvbigpe3JldHVybiB0aGlzLmxvYy5lbmR9dG9KU09OKCl7cmV0dXJuIHRoaXMubG9jfXdpdGhTdGFydCh0KXtyZXR1cm4gSyh0LmRhdGEsdGhpcy5kYXRhLmdldEVuZCgpKX13aXRoRW5kKHQpe3JldHVybiBLKHRoaXMuZGF0YS5nZXRTdGFydCgpLHQuZGF0YSl9YXNTdHJpbmcoKXtyZXR1cm4gdGhpcy5kYXRhLmFzU3RyaW5nKCl9dG9TbGljZSh0KXtsZXQgcj10aGlzLmRhdGEuYXNTdHJpbmcoKTtyZXR1cm4hMSxuZXcgU3Ioe2xvYzp0aGlzLGNoYXJzOnR8fHJ9KX1nZXQgc3RhcnQoKXtyZXR1cm4gdGhpcy5sb2Muc3RhcnR9c2V0IHN0YXJ0KHQpe3RoaXMuZGF0YS5sb2NEaWRVcGRhdGUoe3N0YXJ0OnR9KX1nZXQgZW5kKCl7cmV0dXJuIHRoaXMubG9jLmVuZH1zZXQgZW5kKHQpe3RoaXMuZGF0YS5sb2NEaWRVcGRhdGUoe2VuZDp0fSl9Z2V0IHNvdXJjZSgpe3JldHVybiB0aGlzLm1vZHVsZX1jb2xsYXBzZSh0KXtzd2l0Y2godCl7Y2FzZVwic3RhcnRcIjpyZXR1cm4gdGhpcy5nZXRTdGFydCgpLmNvbGxhcHNlZCgpO2Nhc2VcImVuZFwiOnJldHVybiB0aGlzLmdldEVuZCgpLmNvbGxhcHNlZCgpfX1leHRlbmQodCl7cmV0dXJuIEsodGhpcy5kYXRhLmdldFN0YXJ0KCksdC5kYXRhLmdldEVuZCgpKX1zZXJpYWxpemUoKXtyZXR1cm4gdGhpcy5kYXRhLnNlcmlhbGl6ZSgpfXNsaWNlKHtza2lwU3RhcnQ6dD0wLHNraXBFbmQ6cj0wfSl7cmV0dXJuIEsodGhpcy5nZXRTdGFydCgpLm1vdmUodCkuZGF0YSx0aGlzLmdldEVuZCgpLm1vdmUoLXIpLmRhdGEpfXNsaWNlU3RhcnRDaGFycyh7c2tpcFN0YXJ0OnQ9MCxjaGFyczpyfSl7cmV0dXJuIEsodGhpcy5nZXRTdGFydCgpLm1vdmUodCkuZGF0YSx0aGlzLmdldFN0YXJ0KCkubW92ZSh0K3IpLmRhdGEpfXNsaWNlRW5kQ2hhcnMoe3NraXBFbmQ6dD0wLGNoYXJzOnJ9KXtyZXR1cm4gSyh0aGlzLmdldEVuZCgpLm1vdmUodC1yKS5kYXRhLHRoaXMuZ2V0U3RhcnQoKS5tb3ZlKC10KS5kYXRhKX19LGNlLGFlPWNsYXNze2NvbnN0cnVjdG9yKHQscil7TWUodGhpcyxcImtpbmRcIixcIkNoYXJQb3NpdGlvblwiKTtQdCh0aGlzLGNlLG51bGwpO3RoaXMuc291cmNlPXQsdGhpcy5jaGFyUG9zaXRpb25zPXJ9d3JhcCgpe3JldHVybiBuZXcgRCh0aGlzKX1hc1N0cmluZygpe3JldHVybiB0aGlzLnNvdXJjZS5zbGljZSh0aGlzLmNoYXJQb3NpdGlvbnMuc3RhcnQuY2hhclBvcyx0aGlzLmNoYXJQb3NpdGlvbnMuZW5kLmNoYXJQb3MpfWdldE1vZHVsZSgpe3JldHVybiB0aGlzLnNvdXJjZS5tb2R1bGV9Z2V0U3RhcnQoKXtyZXR1cm4gdGhpcy5jaGFyUG9zaXRpb25zLnN0YXJ0fWdldEVuZCgpe3JldHVybiB0aGlzLmNoYXJQb3NpdGlvbnMuZW5kfWxvY0RpZFVwZGF0ZSgpe310b0hic1NwYW4oKXtsZXQgdD1JKHRoaXMsY2UpO2lmKHQ9PT1udWxsKXtsZXQgcj10aGlzLmNoYXJQb3NpdGlvbnMuc3RhcnQudG9IYnNQb3MoKSxuPXRoaXMuY2hhclBvc2l0aW9ucy5lbmQudG9IYnNQb3MoKTt0PUoodGhpcyxjZSxyPT09bnVsbHx8bj09PW51bGw/aHQ6bmV3IG9lKHRoaXMuc291cmNlLHtzdGFydDpyLGVuZDpufSkpfXJldHVybiB0PT09aHQ/bnVsbDp0fXNlcmlhbGl6ZSgpe2xldHtzdGFydDp7Y2hhclBvczp0fSxlbmQ6e2NoYXJQb3M6cn19PXRoaXMuY2hhclBvc2l0aW9ucztyZXR1cm4gdD09PXI/dDpbdCxyXX10b0NoYXJQb3NTcGFuKCl7cmV0dXJuIHRoaXN9fTtjZT1uZXcgV2Vha01hcDt2YXIgU3QsdnQsb2U9Y2xhc3N7Y29uc3RydWN0b3IodCxyLG49bnVsbCl7TWUodGhpcyxcImtpbmRcIixcIkhic1Bvc2l0aW9uXCIpO1B0KHRoaXMsU3QsbnVsbCk7UHQodGhpcyx2dCk7dGhpcy5zb3VyY2U9dCx0aGlzLmhic1Bvc2l0aW9ucz1yLEoodGhpcyx2dCxuKX1zZXJpYWxpemUoKXtsZXQgdD10aGlzLnRvQ2hhclBvc1NwYW4oKTtyZXR1cm4gdD09PW51bGw/XCJCcm9rZW5cIjp0LndyYXAoKS5zZXJpYWxpemUoKX13cmFwKCl7cmV0dXJuIG5ldyBEKHRoaXMpfXVwZGF0ZVByb3ZpZGVkKHQscil7SSh0aGlzLHZ0KSYmKEkodGhpcyx2dClbcl09dCksSih0aGlzLFN0LG51bGwpLEoodGhpcyx2dCx7c3RhcnQ6dCxlbmQ6dH0pfWxvY0RpZFVwZGF0ZSh7c3RhcnQ6dCxlbmQ6cn0pe3QhPT12b2lkIDAmJih0aGlzLnVwZGF0ZVByb3ZpZGVkKHQsXCJzdGFydFwiKSx0aGlzLmhic1Bvc2l0aW9ucy5zdGFydD1uZXcgcHQodGhpcy5zb3VyY2UsdCxudWxsKSksciE9PXZvaWQgMCYmKHRoaXMudXBkYXRlUHJvdmlkZWQocixcImVuZFwiKSx0aGlzLmhic1Bvc2l0aW9ucy5lbmQ9bmV3IHB0KHRoaXMuc291cmNlLHIsbnVsbCkpfWFzU3RyaW5nKCl7bGV0IHQ9dGhpcy50b0NoYXJQb3NTcGFuKCk7cmV0dXJuIHQ9PT1udWxsP1wiXCI6dC5hc1N0cmluZygpfWdldE1vZHVsZSgpe3JldHVybiB0aGlzLnNvdXJjZS5tb2R1bGV9Z2V0U3RhcnQoKXtyZXR1cm4gdGhpcy5oYnNQb3NpdGlvbnMuc3RhcnR9Z2V0RW5kKCl7cmV0dXJuIHRoaXMuaGJzUG9zaXRpb25zLmVuZH10b0hic0xvYygpe3JldHVybntzdGFydDp0aGlzLmhic1Bvc2l0aW9ucy5zdGFydC5oYnNQb3MsZW5kOnRoaXMuaGJzUG9zaXRpb25zLmVuZC5oYnNQb3N9fXRvSGJzU3Bhbigpe3JldHVybiB0aGlzfXRvQ2hhclBvc1NwYW4oKXtsZXQgdD1JKHRoaXMsU3QpO2lmKHQ9PT1udWxsKXtsZXQgcj10aGlzLmhic1Bvc2l0aW9ucy5zdGFydC50b0NoYXJQb3MoKSxuPXRoaXMuaGJzUG9zaXRpb25zLmVuZC50b0NoYXJQb3MoKTtpZighcnx8IW4pcmV0dXJuIHQ9Sih0aGlzLFN0LGh0KSxudWxsO3Q9Sih0aGlzLFN0LG5ldyBhZSh0aGlzLnNvdXJjZSx7c3RhcnQ6cixlbmQ6bn0pKX1yZXR1cm4gdD09PWh0P251bGw6dH19O1N0PW5ldyBXZWFrTWFwLHZ0PW5ldyBXZWFrTWFwO3ZhciBYPWNsYXNze2NvbnN0cnVjdG9yKHQscixuPW51bGwpe3RoaXMua2luZD10LHRoaXMubG9jPXIsdGhpcy5zdHJpbmc9bn1zZXJpYWxpemUoKXtzd2l0Y2godGhpcy5raW5kKXtjYXNlXCJCcm9rZW5cIjpjYXNlXCJOb25FeGlzdGVudFwiOnJldHVybiB0aGlzLmtpbmQ7Y2FzZVwiSW50ZXJuYWxzU3ludGhldGljXCI6cmV0dXJuIHRoaXMuc3RyaW5nfHxcIlwifX13cmFwKCl7cmV0dXJuIG5ldyBEKHRoaXMpfWFzU3RyaW5nKCl7cmV0dXJuIHRoaXMuc3RyaW5nfHxcIlwifWxvY0RpZFVwZGF0ZSh7c3RhcnQ6dCxlbmQ6cn0pe3QhPT12b2lkIDAmJih0aGlzLmxvYy5zdGFydD10KSxyIT09dm9pZCAwJiYodGhpcy5sb2MuZW5kPXIpfWdldE1vZHVsZSgpe3JldHVyblwiYW4gdW5rbm93biBtb2R1bGVcIn1nZXRTdGFydCgpe3JldHVybiBuZXcgbGUodGhpcy5raW5kLHRoaXMubG9jLnN0YXJ0KX1nZXRFbmQoKXtyZXR1cm4gbmV3IGxlKHRoaXMua2luZCx0aGlzLmxvYy5lbmQpfXRvQ2hhclBvc1NwYW4oKXtyZXR1cm4gdGhpc310b0hic1NwYW4oKXtyZXR1cm4gbnVsbH10b0hic0xvYygpe3JldHVybiBjdH19LEs9T24oZT0+ZS53aGVuKFwiSGJzUG9zaXRpb25cIixcIkhic1Bvc2l0aW9uXCIsKHQscik9Pm5ldyBvZSh0LnNvdXJjZSx7c3RhcnQ6dCxlbmQ6cn0pLndyYXAoKSkud2hlbihcIkNoYXJQb3NpdGlvblwiLFwiQ2hhclBvc2l0aW9uXCIsKHQscik9Pm5ldyBhZSh0LnNvdXJjZSx7c3RhcnQ6dCxlbmQ6cn0pLndyYXAoKSkud2hlbihcIkNoYXJQb3NpdGlvblwiLFwiSGJzUG9zaXRpb25cIiwodCxyKT0+e2xldCBuPXIudG9DaGFyUG9zKCk7cmV0dXJuIG49PT1udWxsP25ldyBYKFwiQnJva2VuXCIsY3QpLndyYXAoKTpLKHQsbil9KS53aGVuKFwiSGJzUG9zaXRpb25cIixcIkNoYXJQb3NpdGlvblwiLCh0LHIpPT57bGV0IG49dC50b0NoYXJQb3MoKTtyZXR1cm4gbj09PW51bGw/bmV3IFgoXCJCcm9rZW5cIixjdCkud3JhcCgpOksobixyKX0pLndoZW4oXCJJU19JTlZJU0lCTEVcIixcIk1BVENIX0FOWVwiLHQ9Pm5ldyBYKHQua2luZCxjdCkud3JhcCgpKS53aGVuKFwiTUFUQ0hfQU5ZXCIsXCJJU19JTlZJU0lCTEVcIiwodCxyKT0+bmV3IFgoci5raW5kLGN0KS53cmFwKCkpKSxodD1cIkJST0tFTlwiLEh0PWNsYXNzIGV7c3RhdGljIGZvckhic1Bvcyh0LHIpe3JldHVybiBuZXcgcHQodCxyLG51bGwpLndyYXAoKX1zdGF0aWMgYnJva2VuKHQ9dXQpe3JldHVybiBuZXcgbGUoXCJCcm9rZW5cIix0KS53cmFwKCl9Y29uc3RydWN0b3IodCl7dGhpcy5kYXRhPXR9Z2V0IG9mZnNldCgpe2xldCB0PXRoaXMuZGF0YS50b0NoYXJQb3MoKTtyZXR1cm4gdD09PW51bGw/bnVsbDp0Lm9mZnNldH1lcWwodCl7cmV0dXJuIGlpKHRoaXMuZGF0YSx0LmRhdGEpfXVudGlsKHQpe3JldHVybiBLKHRoaXMuZGF0YSx0LmRhdGEpfW1vdmUodCl7bGV0IHI9dGhpcy5kYXRhLnRvQ2hhclBvcygpO2lmKHI9PT1udWxsKXJldHVybiBlLmJyb2tlbigpO3tsZXQgbj1yLm9mZnNldCt0O3JldHVybiByLnNvdXJjZS52YWxpZGF0ZShuKT9uZXcgd3Qoci5zb3VyY2Usbikud3JhcCgpOmUuYnJva2VuKCl9fWNvbGxhcHNlZCgpe3JldHVybiBLKHRoaXMuZGF0YSx0aGlzLmRhdGEpfXRvSlNPTigpe3JldHVybiB0aGlzLmRhdGEudG9KU09OKCl9fSx3dD1jbGFzc3traW5kPVwiQ2hhclBvc2l0aW9uXCI7X2xvY1Bvcz1udWxsO2NvbnN0cnVjdG9yKHQscil7dGhpcy5zb3VyY2U9dCx0aGlzLmNoYXJQb3M9cn10b0NoYXJQb3MoKXtyZXR1cm4gdGhpc310b0pTT04oKXtsZXQgdD10aGlzLnRvSGJzUG9zKCk7cmV0dXJuIHQ9PT1udWxsP3V0OnQudG9KU09OKCl9d3JhcCgpe3JldHVybiBuZXcgSHQodGhpcyl9Z2V0IG9mZnNldCgpe3JldHVybiB0aGlzLmNoYXJQb3N9dG9IYnNQb3MoKXtsZXQgdD10aGlzLl9sb2NQb3M7aWYodD09PW51bGwpe2xldCByPXRoaXMuc291cmNlLmhic1Bvc0Zvcih0aGlzLmNoYXJQb3MpO3RoaXMuX2xvY1Bvcz10PXI9PT1udWxsP2h0Om5ldyBwdCh0aGlzLnNvdXJjZSxyLHRoaXMuY2hhclBvcyl9cmV0dXJuIHQ9PT1odD9udWxsOnR9fSxwdD1jbGFzc3traW5kPVwiSGJzUG9zaXRpb25cIjtfY2hhclBvcztjb25zdHJ1Y3Rvcih0LHIsbj1udWxsKXt0aGlzLnNvdXJjZT10LHRoaXMuaGJzUG9zPXIsdGhpcy5fY2hhclBvcz1uPT09bnVsbD9udWxsOm5ldyB3dCh0LG4pfXRvQ2hhclBvcygpe2xldCB0PXRoaXMuX2NoYXJQb3M7aWYodD09PW51bGwpe2xldCByPXRoaXMuc291cmNlLmNoYXJQb3NGb3IodGhpcy5oYnNQb3MpO3RoaXMuX2NoYXJQb3M9dD1yPT09bnVsbD9odDpuZXcgd3QodGhpcy5zb3VyY2Uscil9cmV0dXJuIHQ9PT1odD9udWxsOnR9dG9KU09OKCl7cmV0dXJuIHRoaXMuaGJzUG9zfXdyYXAoKXtyZXR1cm4gbmV3IEh0KHRoaXMpfXRvSGJzUG9zKCl7cmV0dXJuIHRoaXN9fSxsZT1jbGFzc3tjb25zdHJ1Y3Rvcih0LHIpe3RoaXMua2luZD10LHRoaXMucG9zPXJ9dG9DaGFyUG9zKCl7cmV0dXJuIG51bGx9dG9KU09OKCl7cmV0dXJuIHRoaXMucG9zfXdyYXAoKXtyZXR1cm4gbmV3IEh0KHRoaXMpfWdldCBvZmZzZXQoKXtyZXR1cm4gbnVsbH19LGlpPU9uKGU9PmUud2hlbihcIkhic1Bvc2l0aW9uXCIsXCJIYnNQb3NpdGlvblwiLCh7aGJzUG9zOnR9LHtoYnNQb3M6cn0pPT50LmNvbHVtbj09PXIuY29sdW1uJiZ0LmxpbmU9PT1yLmxpbmUpLndoZW4oXCJDaGFyUG9zaXRpb25cIixcIkNoYXJQb3NpdGlvblwiLCh7Y2hhclBvczp0fSx7Y2hhclBvczpyfSk9PnQ9PT1yKS53aGVuKFwiQ2hhclBvc2l0aW9uXCIsXCJIYnNQb3NpdGlvblwiLCh7b2Zmc2V0OnR9LHIpPT57dmFyIG47cmV0dXJuIHQ9PT0oKG49ci50b0NoYXJQb3MoKSk9PW51bGw/dm9pZCAwOm4ub2Zmc2V0KX0pLndoZW4oXCJIYnNQb3NpdGlvblwiLFwiQ2hhclBvc2l0aW9uXCIsKHQse29mZnNldDpyfSk9Pnt2YXIgbjtyZXR1cm4oKG49dC50b0NoYXJQb3MoKSk9PW51bGw/dm9pZCAwOm4ub2Zmc2V0KT09PXJ9KS53aGVuKFwiTUFUQ0hfQU5ZXCIsXCJNQVRDSF9BTllcIiwoKT0+ITEpKSxFdD1jbGFzcyBle3N0YXRpYyBmcm9tKHQscj17fSl7dmFyIG47cmV0dXJuIG5ldyBlKHQsKG49ci5tZXRhKT09bnVsbD92b2lkIDA6bi5tb2R1bGVOYW1lKX1jb25zdHJ1Y3Rvcih0LHI9XCJhbiB1bmtub3duIG1vZHVsZVwiKXt0aGlzLnNvdXJjZT10LHRoaXMubW9kdWxlPXJ9dmFsaWRhdGUodCl7cmV0dXJuIHQ+PTAmJnQ8PXRoaXMuc291cmNlLmxlbmd0aH1zbGljZSh0LHIpe3JldHVybiB0aGlzLnNvdXJjZS5zbGljZSh0LHIpfW9mZnNldEZvcih0LHIpe3JldHVybiBIdC5mb3JIYnNQb3ModGhpcyx7bGluZTp0LGNvbHVtbjpyfSl9c3BhbkZvcih7c3RhcnQ6dCxlbmQ6cn0pe3JldHVybiBELmZvckhic0xvYyh0aGlzLHtzdGFydDp7bGluZTp0LmxpbmUsY29sdW1uOnQuY29sdW1ufSxlbmQ6e2xpbmU6ci5saW5lLGNvbHVtbjpyLmNvbHVtbn19KX1oYnNQb3NGb3IodCl7bGV0IHI9MCxuPTA7aWYodD50aGlzLnNvdXJjZS5sZW5ndGgpcmV0dXJuIG51bGw7Zm9yKDs7KXtsZXQgcz10aGlzLnNvdXJjZS5pbmRleE9mKGBcbmAsbik7aWYodDw9c3x8cz09PS0xKXJldHVybntsaW5lOnIrMSxjb2x1bW46dC1ufTtyKz0xLG49cysxfX1jaGFyUG9zRm9yKHQpe2xldHtsaW5lOnIsY29sdW1uOm59PXQscz10aGlzLnNvdXJjZS5sZW5ndGgsaT0wLGE9MDtmb3IoO2E8czspe2xldCBvPXRoaXMuc291cmNlLmluZGV4T2YoYFxuYCxhKTtpZihvPT09LTEmJihvPXRoaXMuc291cmNlLmxlbmd0aCksaT09PXItMSl7aWYoYStuPm8pcmV0dXJuIG87aWYoITEpe2xldCBjPXRoaXMuaGJzUG9zRm9yKGErbik7Yy5saW5lLGMuY29sdW1ufXJldHVybiBhK259aWYobz09PS0xKXJldHVybiAwO2krPTEsYT1vKzF9cmV0dXJuIHN9fTtmdW5jdGlvbiBTKGUsdCl7bGV0e21vZHVsZTpyLGxvYzpufT10LHtsaW5lOnMsY29sdW1uOml9PW4uc3RhcnQsYT10LmFzU3RyaW5nKCksbz1hP2BcblxufFxufCAgJHthLnNwbGl0KGBcbmApLmpvaW4oYFxufCAgYCl9XG58XG5cbmA6XCJcIixjPW5ldyBFcnJvcihgJHtlfTogJHtvfShlcnJvciBvY2N1cnJlZCBpbiAnJHtyfScgQCBsaW5lICR7c30gOiBjb2x1bW4gJHtpfSlgKTtyZXR1cm4gYy5uYW1lPVwiU3ludGF4RXJyb3JcIixjLmxvY2F0aW9uPXQsYy5jb2RlPWEsY312YXIgYWk9e1RlbXBsYXRlOltcImJvZHlcIl0sQmxvY2s6W1wiYm9keVwiXSxNdXN0YWNoZVN0YXRlbWVudDpbXCJwYXRoXCIsXCJwYXJhbXNcIixcImhhc2hcIl0sQmxvY2tTdGF0ZW1lbnQ6W1wicGF0aFwiLFwicGFyYW1zXCIsXCJoYXNoXCIsXCJwcm9ncmFtXCIsXCJpbnZlcnNlXCJdLEVsZW1lbnRNb2RpZmllclN0YXRlbWVudDpbXCJwYXRoXCIsXCJwYXJhbXNcIixcImhhc2hcIl0sQ29tbWVudFN0YXRlbWVudDpbXSxNdXN0YWNoZUNvbW1lbnRTdGF0ZW1lbnQ6W10sRWxlbWVudE5vZGU6W1wiYXR0cmlidXRlc1wiLFwibW9kaWZpZXJzXCIsXCJjaGlsZHJlblwiLFwiY29tbWVudHNcIl0sQXR0ck5vZGU6W1widmFsdWVcIl0sVGV4dE5vZGU6W10sQ29uY2F0U3RhdGVtZW50OltcInBhcnRzXCJdLFN1YkV4cHJlc3Npb246W1wicGF0aFwiLFwicGFyYW1zXCIsXCJoYXNoXCJdLFBhdGhFeHByZXNzaW9uOltdLFN0cmluZ0xpdGVyYWw6W10sQm9vbGVhbkxpdGVyYWw6W10sTnVtYmVyTGl0ZXJhbDpbXSxOdWxsTGl0ZXJhbDpbXSxVbmRlZmluZWRMaXRlcmFsOltdLEhhc2g6W1wicGFpcnNcIl0sSGFzaFBhaXI6W1widmFsdWVcIl19LHhyPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0LHIsbixzKXtsZXQgaT1FcnJvci5jYWxsKHRoaXMsdCk7dGhpcy5rZXk9cyx0aGlzLm1lc3NhZ2U9dCx0aGlzLm5vZGU9cix0aGlzLnBhcmVudD1uLGkuc3RhY2smJih0aGlzLnN0YWNrPWkuc3RhY2spfXJldHVybiBlLnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKEVycm9yLnByb3RvdHlwZSksZS5wcm90b3R5cGUuY29uc3RydWN0b3I9ZSxlfSgpO2Z1bmN0aW9uIE5uKGUsdCxyKXtyZXR1cm4gbmV3IHhyKFwiQ2Fubm90IHJlbW92ZSBhIG5vZGUgdW5sZXNzIGl0IGlzIHBhcnQgb2YgYW4gYXJyYXlcIixlLHQscil9ZnVuY3Rpb24gb2koZSx0LHIpe3JldHVybiBuZXcgeHIoXCJDYW5ub3QgcmVwbGFjZSBhIG5vZGUgd2l0aCBtdWx0aXBsZSBub2RlcyB1bmxlc3MgaXQgaXMgcGFydCBvZiBhbiBhcnJheVwiLGUsdCxyKX1mdW5jdGlvbiB4bihlLHQpe3JldHVybiBuZXcgeHIoXCJSZXBsYWNpbmcgYW5kIHJlbW92aW5nIGluIGtleSBoYW5kbGVycyBpcyBub3QgeWV0IHN1cHBvcnRlZC5cIixlLG51bGwsdCl9dmFyIEZ0PWNsYXNze25vZGU7cGFyZW50O3BhcmVudEtleTtjb25zdHJ1Y3Rvcih0LHI9bnVsbCxuPW51bGwpe3RoaXMubm9kZT10LHRoaXMucGFyZW50PXIsdGhpcy5wYXJlbnRLZXk9bn1nZXQgcGFyZW50Tm9kZSgpe3JldHVybiB0aGlzLnBhcmVudD90aGlzLnBhcmVudC5ub2RlOm51bGx9cGFyZW50cygpe3JldHVybntbU3ltYm9sLml0ZXJhdG9yXTooKT0+bmV3IHZyKHRoaXMpfX19LHZyPWNsYXNze3BhdGg7Y29uc3RydWN0b3IodCl7dGhpcy5wYXRoPXR9bmV4dCgpe3JldHVybiB0aGlzLnBhdGgucGFyZW50Pyh0aGlzLnBhdGg9dGhpcy5wYXRoLnBhcmVudCx7ZG9uZTohMSx2YWx1ZTp0aGlzLnBhdGh9KTp7ZG9uZTohMCx2YWx1ZTpudWxsfX19O2Z1bmN0aW9uIEJuKGUpe3JldHVybiB0eXBlb2YgZT09XCJmdW5jdGlvblwiP2U6ZS5lbnRlcn1mdW5jdGlvbiBJbihlKXtyZXR1cm4gdHlwZW9mIGU9PVwiZnVuY3Rpb25cIj92b2lkIDA6ZS5leGl0fWZ1bmN0aW9uIERlKGUsdCl7bGV0IHIsbixzLHtub2RlOmkscGFyZW50OmEscGFyZW50S2V5Om99PXQsYz1mdW5jdGlvbihoLHApe2lmKGguUHJvZ3JhbSYmKHA9PT1cIlRlbXBsYXRlXCImJiFoLlRlbXBsYXRlfHxwPT09XCJCbG9ja1wiJiYhaC5CbG9jaykpcmV0dXJuIGguUHJvZ3JhbTtsZXQgbT1oW3BdO3JldHVybiBtIT09dm9pZCAwP206aC5BbGx9KGUsaS50eXBlKTtpZihjIT09dm9pZCAwJiYocj1CbihjKSxuPUluKGMpKSxyIT09dm9pZCAwJiYocz1yKGksdCkpLHMhPW51bGwpe2lmKEpTT04uc3RyaW5naWZ5KGkpIT09SlNPTi5zdHJpbmdpZnkocykpcmV0dXJuIEFycmF5LmlzQXJyYXkocyk/KFJuKGUscyxhLG8pLHMpOkRlKGUsbmV3IEZ0KHMsYSxvKSl8fHM7cz12b2lkIDB9aWYocz09PXZvaWQgMCl7bGV0IGg9YWlbaS50eXBlXTtmb3IobGV0IHA9MDtwPGgubGVuZ3RoO3ArKylsaShlLGMsdCxoW3BdKTtuIT09dm9pZCAwJiYocz1uKGksdCkpfXJldHVybiBzfWZ1bmN0aW9uIEFuKGUsdCxyKXtlW3RdPXJ9ZnVuY3Rpb24gbGkoZSx0LHIsbil7bGV0IHMsaSx7bm9kZTphfT1yLG89ZnVuY3Rpb24oYyxoKXtyZXR1cm4gY1toXX0oYSxuKTtpZihvKXtpZih0IT09dm9pZCAwKXtsZXQgYz1mdW5jdGlvbihoLHApe2xldCBtPXR5cGVvZiBoIT1cImZ1bmN0aW9uXCI/aC5rZXlzOnZvaWQgMDtpZihtPT09dm9pZCAwKXJldHVybjtsZXQgdj1tW3BdO3JldHVybiB2IT09dm9pZCAwP3Y6bS5BbGx9KHQsbik7YyE9PXZvaWQgMCYmKHM9Qm4oYyksaT1JbihjKSl9aWYocyE9PXZvaWQgMCYmcyhhLG4pIT09dm9pZCAwKXRocm93IHhuKGEsbik7aWYoQXJyYXkuaXNBcnJheShvKSlSbihlLG8scixuKTtlbHNle2xldCBjPURlKGUsbmV3IEZ0KG8scixuKSk7YyE9PXZvaWQgMCYmZnVuY3Rpb24oaCxwLG0sdil7aWYodj09PW51bGwpdGhyb3cgTm4obSxoLHApO2lmKEFycmF5LmlzQXJyYXkodikpe2lmKHYubGVuZ3RoIT09MSl0aHJvdyB2Lmxlbmd0aD09PTA/Tm4obSxoLHApOm9pKG0saCxwKTtBbihoLHAsdlswXSl9ZWxzZSBBbihoLHAsdil9KGEsbixvLGMpfWlmKGkhPT12b2lkIDAmJmkoYSxuKSE9PXZvaWQgMCl0aHJvdyB4bihhLG4pfX1mdW5jdGlvbiBSbihlLHQscixuKXtmb3IobGV0IHM9MDtzPHQubGVuZ3RoO3MrKyl7bGV0IGk9dFtzXSxhPURlKGUsbmV3IEZ0KGkscixuKSk7YSE9PXZvaWQgMCYmKHMrPWNpKHQscyxhKS0xKX19ZnVuY3Rpb24gY2koZSx0LHIpe3JldHVybiByPT09bnVsbD8oZS5zcGxpY2UodCwxKSwwKTpBcnJheS5pc0FycmF5KHIpPyhlLnNwbGljZSh0LDEsLi4uciksci5sZW5ndGgpOihlLnNwbGljZSh0LDEsciksMSl9ZnVuY3Rpb24gdWkoZSx0KXtEZSh0LG5ldyBGdChlKSl9ZnVuY3Rpb24gVnQoZSx0KXsoZnVuY3Rpb24ocil7c3dpdGNoKHIudHlwZSl7Y2FzZVwiQmxvY2tcIjpjYXNlXCJUZW1wbGF0ZVwiOnJldHVybiByLmJvZHk7Y2FzZVwiRWxlbWVudE5vZGVcIjpyZXR1cm4gci5jaGlsZHJlbn19KShlKS5wdXNoKHQpfWZ1bmN0aW9uIHFuKGUpe3JldHVybiBlLnR5cGU9PT1cIlN0cmluZ0xpdGVyYWxcInx8ZS50eXBlPT09XCJCb29sZWFuTGl0ZXJhbFwifHxlLnR5cGU9PT1cIk51bWJlckxpdGVyYWxcInx8ZS50eXBlPT09XCJOdWxsTGl0ZXJhbFwifHxlLnR5cGU9PT1cIlVuZGVmaW5lZExpdGVyYWxcIn12YXIgcHI7ZnVuY3Rpb24gZnIoKXtyZXR1cm4gcHJ8fChwcj1uZXcgRXQoXCJcIixcIihzeW50aGV0aWMpXCIpKSxwcn1mdW5jdGlvbiBQbihlLHQpe3JldHVybiBmLnZhcih7bmFtZTplLGxvYzpUKHR8fG51bGwpfSl9ZnVuY3Rpb24gbHQoZSx0KXtsZXQgcj1UKHR8fG51bGwpO2lmKHR5cGVvZiBlIT1cInN0cmluZ1wiKXtpZihcInR5cGVcImluIGUpcmV0dXJuIGU7e2UuaGVhZC5pbmRleE9mKFwiLlwiKTtsZXR7aGVhZDppLHRhaWw6YX09ZTtyZXR1cm4gZi5wYXRoKHtoZWFkOmYuaGVhZCh7b3JpZ2luYWw6aSxsb2M6ci5zbGljZVN0YXJ0Q2hhcnMoe2NoYXJzOmkubGVuZ3RofSl9KSx0YWlsOmEsbG9jOlQodHx8bnVsbCl9KX19bGV0e2hlYWQ6bix0YWlsOnN9PWZ1bmN0aW9uKGksYSl7bGV0W28sLi4uY109aWUoaS5zcGxpdChcIi5cIikpLGg9Zi5oZWFkKHtvcmlnaW5hbDpvLGxvYzpUKGF8fG51bGwpfSk7cmV0dXJuIGYucGF0aCh7aGVhZDpoLHRhaWw6Yyxsb2M6VChhfHxudWxsKX0pfShlLHIpO3JldHVybiBmLnBhdGgoe2hlYWQ6bix0YWlsOnMsbG9jOnJ9KX1mdW5jdGlvbiBQZShlLHQscil7cmV0dXJuIGYubGl0ZXJhbCh7dHlwZTplLHZhbHVlOnQsbG9jOlQocnx8bnVsbCl9KX1mdW5jdGlvbiBuZShlPVtdLHQpe3JldHVybiBmLmhhc2goe3BhaXJzOmUsbG9jOlQodHx8bnVsbCl9KX1mdW5jdGlvbiBWbihlKXtyZXR1cm4gZS5tYXAodD0+dHlwZW9mIHQ9PVwic3RyaW5nXCI/Zi52YXIoe25hbWU6dCxsb2M6RC5zeW50aGV0aWModCl9KTp0KX1mdW5jdGlvbiBMbihlPVtdLHQ9W10scj0hMSxuKXtyZXR1cm4gZi5ibG9ja0l0c2VsZih7Ym9keTplLHBhcmFtczpWbih0KSxjaGFpbmVkOnIsbG9jOlQobnx8bnVsbCl9KX1mdW5jdGlvbiBEbihlPVtdLHQ9W10scil7cmV0dXJuIGYudGVtcGxhdGUoe2JvZHk6ZSxibG9ja1BhcmFtczp0LGxvYzpUKHJ8fG51bGwpfSl9ZnVuY3Rpb24gVCguLi5lKXtpZihlLmxlbmd0aD09PTEpe2xldCB0PWVbMF07cmV0dXJuIHQmJnR5cGVvZiB0PT1cIm9iamVjdFwiP0QuZm9ySGJzTG9jKGZyKCksdCk6RC5mb3JIYnNMb2MoZnIoKSxzaSl9e2xldFt0LHIsbixzLGldPWUsYT1pP25ldyBFdChcIlwiLGkpOmZyKCk7cmV0dXJuIEQuZm9ySGJzTG9jKGEse3N0YXJ0OntsaW5lOnQsY29sdW1uOnJ9LGVuZDp7bGluZTpufHx0LGNvbHVtbjpzfHxyfX0pfX12YXIgaGk9e211c3RhY2hlOmZ1bmN0aW9uKGUsdD1bXSxyPW5lKFtdKSxuPSExLHMsaSl7cmV0dXJuIGYubXVzdGFjaGUoe3BhdGg6bHQoZSkscGFyYW1zOnQsaGFzaDpyLHRydXN0aW5nOm4sc3RyaXA6aSxsb2M6VChzfHxudWxsKX0pfSxibG9jazpmdW5jdGlvbihlLHQscixuLHM9bnVsbCxpLGEsbyxjKXtsZXQgaCxwPW51bGw7cmV0dXJuIGg9bi50eXBlPT09XCJUZW1wbGF0ZVwiP2YuYmxvY2tJdHNlbGYoe3BhcmFtczpWbihuLmJsb2NrUGFyYW1zKSxib2R5Om4uYm9keSxsb2M6bi5sb2N9KTpuLChzPT1udWxsP3ZvaWQgMDpzLnR5cGUpPT09XCJUZW1wbGF0ZVwiPyhzLmJsb2NrUGFyYW1zLmxlbmd0aCxwPWYuYmxvY2tJdHNlbGYoe3BhcmFtczpbXSxib2R5OnMuYm9keSxsb2M6cy5sb2N9KSk6cD1zLGYuYmxvY2soe3BhdGg6bHQoZSkscGFyYW1zOnR8fFtdLGhhc2g6cnx8bmUoW10pLGRlZmF1bHRCbG9jazpoLGVsc2VCbG9jazpwLGxvYzpUKGl8fG51bGwpLG9wZW5TdHJpcDphLGludmVyc2VTdHJpcDpvLGNsb3NlU3RyaXA6Y30pfSxjb21tZW50OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGYuY29tbWVudCh7dmFsdWU6ZSxsb2M6VCh0fHxudWxsKX0pfSxtdXN0YWNoZUNvbW1lbnQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZi5tdXN0YWNoZUNvbW1lbnQoe3ZhbHVlOmUsbG9jOlQodHx8bnVsbCl9KX0sZWxlbWVudDpmdW5jdGlvbihlLHQ9e30pe2xldCByLG4se2F0dHJzOnMsYmxvY2tQYXJhbXM6aSxtb2RpZmllcnM6YSxjb21tZW50czpvLGNoaWxkcmVuOmMsb3BlblRhZzpoLGNsb3NlVGFnOnAsbG9jOm19PXQ7dHlwZW9mIGU9PVwic3RyaW5nXCI/ZS5lbmRzV2l0aChcIi9cIik/KHI9bHQoZS5zbGljZSgwLC0xKSksbj0hMCk6cj1sdChlKTpcInR5cGVcImluIGU/KGUudHlwZSxlLnR5cGUscj1lKTpcInBhdGhcImluIGU/KGUucGF0aC50eXBlLGUucGF0aC50eXBlLHI9ZS5wYXRoLG49ZS5zZWxmQ2xvc2luZyk6KHI9bHQoZS5uYW1lKSxuPWUuc2VsZkNsb3NpbmcpO2xldCB2PWk9PW51bGw/dm9pZCAwOmkubWFwKEU9PnR5cGVvZiBFPT1cInN0cmluZ1wiP1BuKEUpOkUpLGc9bnVsbDtyZXR1cm4gcD9nPVQocHx8bnVsbCk6cD09PXZvaWQgMCYmKGc9bnx8cmkoci5vcmlnaW5hbCk/bnVsbDpUKG51bGwpKSxmLmVsZW1lbnQoe3BhdGg6cixzZWxmQ2xvc2luZzpufHwhMSxhdHRyaWJ1dGVzOnN8fFtdLHBhcmFtczp2fHxbXSxtb2RpZmllcnM6YXx8W10sY29tbWVudHM6b3x8W10sY2hpbGRyZW46Y3x8W10sb3BlblRhZzpUKGh8fG51bGwpLGNsb3NlVGFnOmcsbG9jOlQobXx8bnVsbCl9KX0sZWxlbWVudE1vZGlmaWVyOmZ1bmN0aW9uKGUsdCxyLG4pe3JldHVybiBmLmVsZW1lbnRNb2RpZmllcih7cGF0aDpsdChlKSxwYXJhbXM6dHx8W10saGFzaDpyfHxuZShbXSksbG9jOlQobnx8bnVsbCl9KX0sYXR0cjpmdW5jdGlvbihlLHQscil7cmV0dXJuIGYuYXR0cih7bmFtZTplLHZhbHVlOnQsbG9jOlQocnx8bnVsbCl9KX0sdGV4dDpmdW5jdGlvbihlPVwiXCIsdCl7cmV0dXJuIGYudGV4dCh7Y2hhcnM6ZSxsb2M6VCh0fHxudWxsKX0pfSxzZXhwcjpmdW5jdGlvbihlLHQ9W10scj1uZShbXSksbil7cmV0dXJuIGYuc2V4cHIoe3BhdGg6bHQoZSkscGFyYW1zOnQsaGFzaDpyLGxvYzpUKG58fG51bGwpfSl9LGNvbmNhdDpmdW5jdGlvbihlLHQpe2lmKCF1ZShlKSl0aHJvdyBuZXcgRXJyb3IoXCJiLmNvbmNhdCByZXF1aXJlcyBhdCBsZWFzdCBvbmUgcGFydFwiKTtyZXR1cm4gZi5jb25jYXQoe3BhcnRzOmUsbG9jOlQodHx8bnVsbCl9KX0saGFzaDpuZSxwYWlyOmZ1bmN0aW9uKGUsdCxyKXtyZXR1cm4gZi5wYWlyKHtrZXk6ZSx2YWx1ZTp0LGxvYzpUKHJ8fG51bGwpfSl9LGxpdGVyYWw6UGUscHJvZ3JhbTpmdW5jdGlvbihlLHQscil7cmV0dXJuIHQmJnQubGVuZ3RoP0xuKGUsdCwhMSxyKTpEbihlLFtdLHIpfSxibG9ja0l0c2VsZjpMbix0ZW1wbGF0ZTpEbixsb2M6VCxwb3M6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZi5wb3Moe2xpbmU6ZSxjb2x1bW46dH0pfSxwYXRoOmx0LGZ1bGxQYXRoOmZ1bmN0aW9uKGUsdD1bXSxyKXtyZXR1cm4gZi5wYXRoKHtoZWFkOmUsdGFpbDp0LGxvYzpUKHJ8fG51bGwpfSl9LGhlYWQ6ZnVuY3Rpb24oZSx0KXtyZXR1cm4gZi5oZWFkKHtvcmlnaW5hbDplLGxvYzpUKHR8fG51bGwpfSl9LGF0OmZ1bmN0aW9uKGUsdCl7cmV0dXJuIGYuYXROYW1lKHtuYW1lOmUsbG9jOlQodHx8bnVsbCl9KX0sdmFyOlBuLHRoaXM6ZnVuY3Rpb24oZSl7cmV0dXJuIGYudGhpcyh7bG9jOlQoZXx8bnVsbCl9KX0sc3RyaW5nOm1yKFwiU3RyaW5nTGl0ZXJhbFwiKSxib29sZWFuOm1yKFwiQm9vbGVhbkxpdGVyYWxcIiksbnVtYmVyOm1yKFwiTnVtYmVyTGl0ZXJhbFwiKSx1bmRlZmluZWQ6KCk9PlBlKFwiVW5kZWZpbmVkTGl0ZXJhbFwiLHZvaWQgMCksbnVsbDooKT0+UGUoXCJOdWxsTGl0ZXJhbFwiLG51bGwpfTtmdW5jdGlvbiBtcihlKXtyZXR1cm4gZnVuY3Rpb24odCxyKXtyZXR1cm4gUGUoZSx0LHIpfX12YXIgQWU9e2Nsb3NlOiExLG9wZW46ITF9LGY9bmV3IGNsYXNze3Bvcyh7bGluZTplLGNvbHVtbjp0fSl7cmV0dXJue2xpbmU6ZSxjb2x1bW46dH19YmxvY2tJdHNlbGYoe2JvZHk6ZSxwYXJhbXM6dCxjaGFpbmVkOnI9ITEsbG9jOm59KXtyZXR1cm57dHlwZTpcIkJsb2NrXCIsYm9keTplLHBhcmFtczp0LGdldCBibG9ja1BhcmFtcygpe3JldHVybiB0aGlzLnBhcmFtcy5tYXAocz0+cy5uYW1lKX0sc2V0IGJsb2NrUGFyYW1zKHMpe3RoaXMucGFyYW1zPXMubWFwKGk9PmYudmFyKHtuYW1lOmksbG9jOkQuc3ludGhldGljKGkpfSkpfSxjaGFpbmVkOnIsbG9jOm59fXRlbXBsYXRlKHtib2R5OmUsYmxvY2tQYXJhbXM6dCxsb2M6cn0pe3JldHVybnt0eXBlOlwiVGVtcGxhdGVcIixib2R5OmUsYmxvY2tQYXJhbXM6dCxsb2M6cn19bXVzdGFjaGUoe3BhdGg6ZSxwYXJhbXM6dCxoYXNoOnIsdHJ1c3Rpbmc6bixsb2M6cyxzdHJpcDppPUFlfSl7cmV0dXJuIGZ1bmN0aW9uKHtwYXRoOmEscGFyYW1zOm8saGFzaDpjLHRydXN0aW5nOmgsc3RyaXA6cCxsb2M6bX0pe2xldCB2PXt0eXBlOlwiTXVzdGFjaGVTdGF0ZW1lbnRcIixwYXRoOmEscGFyYW1zOm8saGFzaDpjLHRydXN0aW5nOmgsc3RyaXA6cCxsb2M6bX07cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2LFwiZXNjYXBlZFwiLHtlbnVtZXJhYmxlOiExLGdldCgpe3JldHVybiF0aGlzLnRydXN0aW5nfSxzZXQoZyl7dGhpcy50cnVzdGluZz0hZ319KSx2fSh7cGF0aDplLHBhcmFtczp0LGhhc2g6cix0cnVzdGluZzpuLHN0cmlwOmksbG9jOnN9KX1ibG9jayh7cGF0aDplLHBhcmFtczp0LGhhc2g6cixkZWZhdWx0QmxvY2s6bixlbHNlQmxvY2s6cz1udWxsLGxvYzppLG9wZW5TdHJpcDphPUFlLGludmVyc2VTdHJpcDpvPUFlLGNsb3NlU3RyaXA6Yz1BZX0pe3JldHVybnt0eXBlOlwiQmxvY2tTdGF0ZW1lbnRcIixwYXRoOmUscGFyYW1zOnQsaGFzaDpyLHByb2dyYW06bixpbnZlcnNlOnMsbG9jOmksb3BlblN0cmlwOmEsaW52ZXJzZVN0cmlwOm8sY2xvc2VTdHJpcDpjfX1jb21tZW50KHt2YWx1ZTplLGxvYzp0fSl7cmV0dXJue3R5cGU6XCJDb21tZW50U3RhdGVtZW50XCIsdmFsdWU6ZSxsb2M6dH19bXVzdGFjaGVDb21tZW50KHt2YWx1ZTplLGxvYzp0fSl7cmV0dXJue3R5cGU6XCJNdXN0YWNoZUNvbW1lbnRTdGF0ZW1lbnRcIix2YWx1ZTplLGxvYzp0fX1jb25jYXQoe3BhcnRzOmUsbG9jOnR9KXtyZXR1cm57dHlwZTpcIkNvbmNhdFN0YXRlbWVudFwiLHBhcnRzOmUsbG9jOnR9fWVsZW1lbnQoe3BhdGg6ZSxzZWxmQ2xvc2luZzp0LGF0dHJpYnV0ZXM6cixtb2RpZmllcnM6bixwYXJhbXM6cyxjb21tZW50czppLGNoaWxkcmVuOmEsb3BlblRhZzpvLGNsb3NlVGFnOmMsbG9jOmh9KXtsZXQgcD10O3JldHVybnt0eXBlOlwiRWxlbWVudE5vZGVcIixwYXRoOmUsYXR0cmlidXRlczpyLG1vZGlmaWVyczpuLHBhcmFtczpzLGNvbW1lbnRzOmksY2hpbGRyZW46YSxvcGVuVGFnOm8sY2xvc2VUYWc6Yyxsb2M6aCxnZXQgdGFnKCl7cmV0dXJuIHRoaXMucGF0aC5vcmlnaW5hbH0sc2V0IHRhZyhtKXt0aGlzLnBhdGgub3JpZ2luYWw9bX0sZ2V0IGJsb2NrUGFyYW1zKCl7cmV0dXJuIHRoaXMucGFyYW1zLm1hcChtPT5tLm5hbWUpfSxzZXQgYmxvY2tQYXJhbXMobSl7dGhpcy5wYXJhbXM9bS5tYXAodj0+Zi52YXIoe25hbWU6dixsb2M6RC5zeW50aGV0aWModil9KSl9LGdldCBzZWxmQ2xvc2luZygpe3JldHVybiBwfSxzZXQgc2VsZkNsb3NpbmcobSl7cD1tLHRoaXMuY2xvc2VUYWc9bT9udWxsOkQuc3ludGhldGljKGA8LyR7dGhpcy50YWd9PmApfX19ZWxlbWVudE1vZGlmaWVyKHtwYXRoOmUscGFyYW1zOnQsaGFzaDpyLGxvYzpufSl7cmV0dXJue3R5cGU6XCJFbGVtZW50TW9kaWZpZXJTdGF0ZW1lbnRcIixwYXRoOmUscGFyYW1zOnQsaGFzaDpyLGxvYzpufX1hdHRyKHtuYW1lOmUsdmFsdWU6dCxsb2M6cn0pe3JldHVybnt0eXBlOlwiQXR0ck5vZGVcIixuYW1lOmUsdmFsdWU6dCxsb2M6cn19dGV4dCh7Y2hhcnM6ZSxsb2M6dH0pe3JldHVybnt0eXBlOlwiVGV4dE5vZGVcIixjaGFyczplLGxvYzp0fX1zZXhwcih7cGF0aDplLHBhcmFtczp0LGhhc2g6cixsb2M6bn0pe3JldHVybnt0eXBlOlwiU3ViRXhwcmVzc2lvblwiLHBhdGg6ZSxwYXJhbXM6dCxoYXNoOnIsbG9jOm59fXBhdGgoe2hlYWQ6ZSx0YWlsOnQsbG9jOnJ9KXtyZXR1cm4gZnVuY3Rpb24oe2hlYWQ6bix0YWlsOnMsbG9jOml9KXtsZXQgYT17dHlwZTpcIlBhdGhFeHByZXNzaW9uXCIsaGVhZDpuLHRhaWw6cyxnZXQgb3JpZ2luYWwoKXtyZXR1cm5bdGhpcy5oZWFkLm9yaWdpbmFsLC4uLnRoaXMudGFpbF0uam9pbihcIi5cIil9LHNldCBvcmlnaW5hbChvKXtsZXRbYywuLi5oXT1pZShvLnNwbGl0KFwiLlwiKSk7dGhpcy5oZWFkPWhpLmhlYWQoYyx0aGlzLmhlYWQubG9jKSx0aGlzLnRhaWw9aH0sbG9jOml9O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxcInBhcnRzXCIse2VudW1lcmFibGU6ITEsZ2V0KCl7bGV0IG89aWUodGhpcy5vcmlnaW5hbC5zcGxpdChcIi5cIikpO3JldHVybiBvWzBdPT09XCJ0aGlzXCI/by5zaGlmdCgpOm9bMF0uc3RhcnRzV2l0aChcIkBcIikmJihvWzBdPW9bMF0uc2xpY2UoMSkpLE9iamVjdC5mcmVlemUobyl9LHNldChvKXt2YXIgaDtsZXQgYz1bLi4ub107Y1swXT09PVwidGhpc1wifHwoaD1jWzBdKSE9bnVsbCYmaC5zdGFydHNXaXRoKFwiQFwiKXx8KHRoaXMuaGVhZC50eXBlPT09XCJUaGlzSGVhZFwiP2MudW5zaGlmdChcInRoaXNcIik6dGhpcy5oZWFkLnR5cGU9PT1cIkF0SGVhZFwiJiYoY1swXT1gQCR7Y1swXX1gKSksdGhpcy5vcmlnaW5hbD1jLmpvaW4oXCIuXCIpfX0pLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShhLFwidGhpc1wiLHtlbnVtZXJhYmxlOiExLGdldCgpe3JldHVybiB0aGlzLmhlYWQudHlwZT09PVwiVGhpc0hlYWRcIn19KSxPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxcImRhdGFcIix7ZW51bWVyYWJsZTohMSxnZXQoKXtyZXR1cm4gdGhpcy5oZWFkLnR5cGU9PT1cIkF0SGVhZFwifX0pLGF9KHtoZWFkOmUsdGFpbDp0LGxvYzpyfSl9aGVhZCh7b3JpZ2luYWw6ZSxsb2M6dH0pe3JldHVybiBlPT09XCJ0aGlzXCI/dGhpcy50aGlzKHtsb2M6dH0pOmVbMF09PT1cIkBcIj90aGlzLmF0TmFtZSh7bmFtZTplLGxvYzp0fSk6dGhpcy52YXIoe25hbWU6ZSxsb2M6dH0pfXRoaXMoe2xvYzplfSl7cmV0dXJue3R5cGU6XCJUaGlzSGVhZFwiLGdldCBvcmlnaW5hbCgpe3JldHVyblwidGhpc1wifSxsb2M6ZX19YXROYW1lKHtuYW1lOmUsbG9jOnR9KXtsZXQgcj1cIlwiLG49e3R5cGU6XCJBdEhlYWRcIixnZXQgbmFtZSgpe3JldHVybiByfSxzZXQgbmFtZShzKXtzWzBdLHMuaW5kZXhPZihcIi5cIikscj1zfSxnZXQgb3JpZ2luYWwoKXtyZXR1cm4gdGhpcy5uYW1lfSxzZXQgb3JpZ2luYWwocyl7dGhpcy5uYW1lPXN9LGxvYzp0fTtyZXR1cm4gbi5uYW1lPWUsbn12YXIoe25hbWU6ZSxsb2M6dH0pe2xldCByPVwiXCIsbj17dHlwZTpcIlZhckhlYWRcIixnZXQgbmFtZSgpe3JldHVybiByfSxzZXQgbmFtZShzKXtzWzBdLHMuaW5kZXhPZihcIi5cIikscj1zfSxnZXQgb3JpZ2luYWwoKXtyZXR1cm4gdGhpcy5uYW1lfSxzZXQgb3JpZ2luYWwocyl7dGhpcy5uYW1lPXN9LGxvYzp0fTtyZXR1cm4gbi5uYW1lPWUsbn1oYXNoKHtwYWlyczplLGxvYzp0fSl7cmV0dXJue3R5cGU6XCJIYXNoXCIscGFpcnM6ZSxsb2M6dH19cGFpcih7a2V5OmUsdmFsdWU6dCxsb2M6cn0pe3JldHVybnt0eXBlOlwiSGFzaFBhaXJcIixrZXk6ZSx2YWx1ZTp0LGxvYzpyfX1saXRlcmFsKHt0eXBlOmUsdmFsdWU6dCxsb2M6cn0pe3JldHVybiBmdW5jdGlvbih7dHlwZTpuLHZhbHVlOnMsbG9jOml9KXtsZXQgYT17dHlwZTpuLHZhbHVlOnMsbG9jOml9O3JldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoYSxcIm9yaWdpbmFsXCIse2VudW1lcmFibGU6ITEsZ2V0KCl7cmV0dXJuIHRoaXMudmFsdWV9LHNldChvKXt0aGlzLnZhbHVlPW99fSksYX0oe3R5cGU6ZSx2YWx1ZTp0LGxvYzpyfSl9fSxFcj1jbGFzc3tlbGVtZW50U3RhY2s9W107bGluZXM7c291cmNlO2N1cnJlbnRBdHRyaWJ1dGU9bnVsbDtjdXJyZW50Tm9kZT1udWxsO3Rva2VuaXplcjtjb25zdHJ1Y3Rvcih0LHI9bmV3IHVyKFRuKSxuPVwicHJlY29tcGlsZVwiKXt0aGlzLnNvdXJjZT10LHRoaXMubGluZXM9dC5zb3VyY2Uuc3BsaXQoL1xcclxcbj98XFxuL3UpLHRoaXMudG9rZW5pemVyPW5ldyBocih0aGlzLHIsbil9b2Zmc2V0KCl7bGV0e2xpbmU6dCxjb2x1bW46cn09dGhpcy50b2tlbml6ZXI7cmV0dXJuIHRoaXMuc291cmNlLm9mZnNldEZvcih0LHIpfXBvcyh7bGluZTp0LGNvbHVtbjpyfSl7cmV0dXJuIHRoaXMuc291cmNlLm9mZnNldEZvcih0LHIpfWZpbmlzaCh0KXtyZXR1cm4gcnIoe30sdCx7bG9jOnQuc3RhcnQudW50aWwodGhpcy5vZmZzZXQoKSl9KX1nZXQgY3VycmVudEF0dHIoKXtyZXR1cm4gdGhpcy5jdXJyZW50QXR0cmlidXRlfWdldCBjdXJyZW50VGFnKCl7bGV0IHQ9dGhpcy5jdXJyZW50Tm9kZTtyZXR1cm4gdCYmKHQudHlwZT09PVwiU3RhcnRUYWdcInx8dC50eXBlKSx0fWdldCBjdXJyZW50U3RhcnRUYWcoKXtsZXQgdD10aGlzLmN1cnJlbnROb2RlO3JldHVybiB0JiZ0LnR5cGUsdH1nZXQgY3VycmVudEVuZFRhZygpe2xldCB0PXRoaXMuY3VycmVudE5vZGU7cmV0dXJuIHQmJnQudHlwZSx0fWdldCBjdXJyZW50Q29tbWVudCgpe2xldCB0PXRoaXMuY3VycmVudE5vZGU7cmV0dXJuIHQmJnQudHlwZSx0fWdldCBjdXJyZW50RGF0YSgpe2xldCB0PXRoaXMuY3VycmVudE5vZGU7cmV0dXJuIHQmJnQudHlwZSx0fWFjY2VwdE5vZGUodCl7cmV0dXJuIHRoaXNbdC50eXBlXSh0KX1jdXJyZW50RWxlbWVudCgpe3JldHVybiBOcihpZSh0aGlzLmVsZW1lbnRTdGFjaykpfXNvdXJjZUZvck5vZGUodCxyKXtsZXQgbixzLGksYT10LmxvYy5zdGFydC5saW5lLTEsbz1hLTEsYz10LmxvYy5zdGFydC5jb2x1bW4saD1bXTtmb3Iocj8ocz1yLmxvYy5lbmQubGluZS0xLGk9ci5sb2MuZW5kLmNvbHVtbik6KHM9dC5sb2MuZW5kLmxpbmUtMSxpPXQubG9jLmVuZC5jb2x1bW4pO288czspbysrLG49dGhpcy5saW5lc1tvXSxvPT09YT9hPT09cz9oLnB1c2gobi5zbGljZShjLGkpKTpoLnB1c2gobi5zbGljZShjKSk6bz09PXM/aC5wdXNoKG4uc2xpY2UoMCxpKSk6aC5wdXNoKG4pO3JldHVybiBoLmpvaW4oYFxuYCl9fSx3cj1jbGFzcyBleHRlbmRzIEVye3BlbmRpbmdFcnJvcj1udWxsO3BhcnNlKHQscil7dmFyIGk7bGV0IG49Zi50ZW1wbGF0ZSh7Ym9keTpbXSxibG9ja1BhcmFtczpyLGxvYzp0aGlzLnNvdXJjZS5zcGFuRm9yKHQubG9jKX0pLHM9dGhpcy5wYXJzZVByb2dyYW0obix0KTtyZXR1cm4oaT10aGlzLnBlbmRpbmdFcnJvcik9PW51bGx8fGkuZW9mKHMubG9jLmdldEVuZCgpKSxzfVByb2dyYW0odCxyKXtsZXQgbj1mLmJsb2NrSXRzZWxmKHtib2R5OltdLHBhcmFtczpyLGNoYWluZWQ6dC5jaGFpbmVkLGxvYzp0aGlzLnNvdXJjZS5zcGFuRm9yKHQubG9jKX0pO3JldHVybiB0aGlzLnBhcnNlUHJvZ3JhbShuLHQpfXBhcnNlUHJvZ3JhbSh0LHIpe2lmKHIuYm9keS5sZW5ndGg9PT0wKXJldHVybiB0O2xldCBuO3RyeXt0aGlzLmVsZW1lbnRTdGFjay5wdXNoKHQpO2ZvcihsZXQgcyBvZiByLmJvZHkpdGhpcy5hY2NlcHROb2RlKHMpfWZpbmFsbHl7bj10aGlzLmVsZW1lbnRTdGFjay5wb3AoKX1pZih0IT09bil7aWYoKG49PW51bGw/dm9pZCAwOm4udHlwZSk9PT1cIkVsZW1lbnROb2RlXCIpdGhyb3cgUyhgVW5jbG9zZWQgZWxlbWVudCBcXGAke24udGFnfVxcYGAsbi5sb2MpO3QudHlwZX1yZXR1cm4gdH1CbG9ja1N0YXRlbWVudCh0KXt2YXIgcDtpZih0aGlzLnRva2VuaXplci5zdGF0ZT09PVwiY29tbWVudFwiKXJldHVybiB2b2lkIHRoaXMuYXBwZW5kVG9Db21tZW50RGF0YSh0aGlzLnNvdXJjZUZvck5vZGUodCkpO2lmKHRoaXMudG9rZW5pemVyLnN0YXRlIT09XCJkYXRhXCImJnRoaXMudG9rZW5pemVyLnN0YXRlIT09XCJiZWZvcmVEYXRhXCIpdGhyb3cgUyhcIkEgYmxvY2sgbWF5IG9ubHkgYmUgdXNlZCBpbnNpZGUgYW4gSFRNTCBlbGVtZW50IG9yIGFub3RoZXIgYmxvY2suXCIsdGhpcy5zb3VyY2Uuc3BhbkZvcih0LmxvYykpO2xldHtwYXRoOnIscGFyYW1zOm4saGFzaDpzfT1kcih0aGlzLHQpLGk9dGhpcy5zb3VyY2Uuc3BhbkZvcih0LmxvYyksYT1bXTtpZigocD10LnByb2dyYW0uYmxvY2tQYXJhbXMpIT1udWxsJiZwLmxlbmd0aCl7bGV0IG09cy5sb2MuY29sbGFwc2UoXCJlbmRcIik7bT10LnByb2dyYW0ubG9jP20ud2l0aEVuZCh0aGlzLnNvdXJjZS5zcGFuRm9yKHQucHJvZ3JhbS5sb2MpLmdldFN0YXJ0KCkpOnQucHJvZ3JhbS5ib2R5WzBdP20ud2l0aEVuZCh0aGlzLnNvdXJjZS5zcGFuRm9yKHQucHJvZ3JhbS5ib2R5WzBdLmxvYykuZ2V0U3RhcnQoKSk6bS53aXRoRW5kKGkuZ2V0RW5kKCkpO2xldCB2PW0uYXNTdHJpbmcoKSxnPXYuaW5kZXhPZihcInxcIikrMSxFPXYuaW5kZXhPZihcInxcIixnKTtmb3IobGV0IE4gb2YgdC5wcm9ncmFtLmJsb2NrUGFyYW1zKXtsZXQgeCx3O3g9Zz49RT8tMTp2LmluZGV4T2YoTixnKSx4PT09LTF8fHgrTi5sZW5ndGg+RT8oZz1FLHc9dGhpcy5zb3VyY2Uuc3BhbkZvcihzZSkpOihnPXgsdz1tLnNsaWNlU3RhcnRDaGFycyh7c2tpcFN0YXJ0OmcsY2hhcnM6Ti5sZW5ndGh9KSxnKz1OLmxlbmd0aCksYS5wdXNoKGYudmFyKHtuYW1lOk4sbG9jOnd9KSl9fXQucHJvZ3JhbS5sb2N8fCh0LnByb2dyYW0ubG9jPXNlKSx0LmludmVyc2UmJiF0LmludmVyc2UubG9jJiYodC5pbnZlcnNlLmxvYz1zZSk7bGV0IG89dGhpcy5Qcm9ncmFtKHQucHJvZ3JhbSxhKSxjPXQuaW52ZXJzZT90aGlzLlByb2dyYW0odC5pbnZlcnNlLFtdKTpudWxsLGg9Zi5ibG9jayh7cGF0aDpyLHBhcmFtczpuLGhhc2g6cyxkZWZhdWx0QmxvY2s6byxlbHNlQmxvY2s6Yyxsb2M6dGhpcy5zb3VyY2Uuc3BhbkZvcih0LmxvYyksb3BlblN0cmlwOnQub3BlblN0cmlwLGludmVyc2VTdHJpcDp0LmludmVyc2VTdHJpcCxjbG9zZVN0cmlwOnQuY2xvc2VTdHJpcH0pO1Z0KHRoaXMuY3VycmVudEVsZW1lbnQoKSxoKX1NdXN0YWNoZVN0YXRlbWVudCh0KXt2YXIgbzsobz10aGlzLnBlbmRpbmdFcnJvcik9PW51bGx8fG8ubXVzdGFjaGUodGhpcy5zb3VyY2Uuc3BhbkZvcih0LmxvYykpO2xldHt0b2tlbml6ZXI6cn09dGhpcztpZihyLnN0YXRlPT09XCJjb21tZW50XCIpcmV0dXJuIHZvaWQgdGhpcy5hcHBlbmRUb0NvbW1lbnREYXRhKHRoaXMuc291cmNlRm9yTm9kZSh0KSk7bGV0IG4se2VzY2FwZWQ6cyxsb2M6aSxzdHJpcDphfT10O2lmKFwib3JpZ2luYWxcImluIHQucGF0aCYmdC5wYXRoLm9yaWdpbmFsPT09XCIuLi5hdHRyaWJ1dGVzXCIpdGhyb3cgUyhcIklsbGVnYWwgdXNlIG9mIC4uLmF0dHJpYnV0ZXNcIix0aGlzLnNvdXJjZS5zcGFuRm9yKHQubG9jKSk7aWYocW4odC5wYXRoKSluPWYubXVzdGFjaGUoe3BhdGg6dGhpcy5hY2NlcHROb2RlKHQucGF0aCkscGFyYW1zOltdLGhhc2g6Zi5oYXNoKHtwYWlyczpbXSxsb2M6dGhpcy5zb3VyY2Uuc3BhbkZvcih0LnBhdGgubG9jKS5jb2xsYXBzZShcImVuZFwiKX0pLHRydXN0aW5nOiFzLGxvYzp0aGlzLnNvdXJjZS5zcGFuRm9yKGkpLHN0cmlwOmF9KTtlbHNle2xldHtwYXRoOmMscGFyYW1zOmgsaGFzaDpwfT1kcih0aGlzLHQpO249Zi5tdXN0YWNoZSh7cGF0aDpjLHBhcmFtczpoLGhhc2g6cCx0cnVzdGluZzohcyxsb2M6dGhpcy5zb3VyY2Uuc3BhbkZvcihpKSxzdHJpcDphfSl9c3dpdGNoKHIuc3RhdGUpe2Nhc2VcInRhZ09wZW5cIjpjYXNlXCJ0YWdOYW1lXCI6dGhyb3cgUyhcIkNhbm5vdCB1c2UgbXVzdGFjaGVzIGluIGFuIGVsZW1lbnRzIHRhZ25hbWVcIixuLmxvYyk7Y2FzZVwiYmVmb3JlQXR0cmlidXRlTmFtZVwiOmdyKHRoaXMuY3VycmVudFN0YXJ0VGFnLG4pO2JyZWFrO2Nhc2VcImF0dHJpYnV0ZU5hbWVcIjpjYXNlXCJhZnRlckF0dHJpYnV0ZU5hbWVcIjp0aGlzLmJlZ2luQXR0cmlidXRlVmFsdWUoITEpLHRoaXMuZmluaXNoQXR0cmlidXRlVmFsdWUoKSxncih0aGlzLmN1cnJlbnRTdGFydFRhZyxuKSxyLnRyYW5zaXRpb25UbyhcImJlZm9yZUF0dHJpYnV0ZU5hbWVcIik7YnJlYWs7Y2FzZVwiYWZ0ZXJBdHRyaWJ1dGVWYWx1ZVF1b3RlZFwiOmdyKHRoaXMuY3VycmVudFN0YXJ0VGFnLG4pLHIudHJhbnNpdGlvblRvKFwiYmVmb3JlQXR0cmlidXRlTmFtZVwiKTticmVhaztjYXNlXCJiZWZvcmVBdHRyaWJ1dGVWYWx1ZVwiOnRoaXMuYmVnaW5BdHRyaWJ1dGVWYWx1ZSghMSksdGhpcy5hcHBlbmREeW5hbWljQXR0cmlidXRlVmFsdWVQYXJ0KG4pLHIudHJhbnNpdGlvblRvKFwiYXR0cmlidXRlVmFsdWVVbnF1b3RlZFwiKTticmVhaztjYXNlXCJhdHRyaWJ1dGVWYWx1ZURvdWJsZVF1b3RlZFwiOmNhc2VcImF0dHJpYnV0ZVZhbHVlU2luZ2xlUXVvdGVkXCI6Y2FzZVwiYXR0cmlidXRlVmFsdWVVbnF1b3RlZFwiOnRoaXMuYXBwZW5kRHluYW1pY0F0dHJpYnV0ZVZhbHVlUGFydChuKTticmVhaztkZWZhdWx0OlZ0KHRoaXMuY3VycmVudEVsZW1lbnQoKSxuKX1yZXR1cm4gbn1hcHBlbmREeW5hbWljQXR0cmlidXRlVmFsdWVQYXJ0KHQpe3RoaXMuZmluYWxpemVUZXh0UGFydCgpO2xldCByPXRoaXMuY3VycmVudEF0dHI7ci5pc0R5bmFtaWM9ITAsci5wYXJ0cy5wdXNoKHQpfWZpbmFsaXplVGV4dFBhcnQoKXtsZXQgdD10aGlzLmN1cnJlbnRBdHRyLmN1cnJlbnRQYXJ0O3QhPT1udWxsJiYodGhpcy5jdXJyZW50QXR0ci5wYXJ0cy5wdXNoKHQpLHRoaXMuc3RhcnRUZXh0UGFydCgpKX1zdGFydFRleHRQYXJ0KCl7dGhpcy5jdXJyZW50QXR0ci5jdXJyZW50UGFydD1udWxsfUNvbnRlbnRTdGF0ZW1lbnQodCl7KGZ1bmN0aW9uKHIsbil7bGV0IHM9bi5sb2Muc3RhcnQubGluZSxpPW4ubG9jLnN0YXJ0LmNvbHVtbixhPWZ1bmN0aW9uKG8sYyl7aWYoYz09PVwiXCIpcmV0dXJue2xpbmVzOm8uc3BsaXQoYFxuYCkubGVuZ3RoLTEsY29sdW1uczowfTtsZXRbaF09by5zcGxpdChjKSxwPWguc3BsaXQoL1xcbi91KSxtPXAubGVuZ3RoLTE7cmV0dXJue2xpbmVzOm0sY29sdW1uczpwW21dLmxlbmd0aH19KG4ub3JpZ2luYWwsbi52YWx1ZSk7cys9YS5saW5lcyxhLmxpbmVzP2k9YS5jb2x1bW5zOmkrPWEuY29sdW1ucyxyLmxpbmU9cyxyLmNvbHVtbj1pfSkodGhpcy50b2tlbml6ZXIsdCksdGhpcy50b2tlbml6ZXIudG9rZW5pemVQYXJ0KHQudmFsdWUpLHRoaXMudG9rZW5pemVyLmZsdXNoRGF0YSgpfUNvbW1lbnRTdGF0ZW1lbnQodCl7bGV0e3Rva2VuaXplcjpyfT10aGlzO2lmKHIuc3RhdGU9PT1cImNvbW1lbnRcIilyZXR1cm4gdGhpcy5hcHBlbmRUb0NvbW1lbnREYXRhKHRoaXMuc291cmNlRm9yTm9kZSh0KSksbnVsbDtsZXR7dmFsdWU6bixsb2M6c309dCxpPWYubXVzdGFjaGVDb21tZW50KHt2YWx1ZTpuLGxvYzp0aGlzLnNvdXJjZS5zcGFuRm9yKHMpfSk7c3dpdGNoKHIuc3RhdGUpe2Nhc2VcImJlZm9yZUF0dHJpYnV0ZU5hbWVcIjpjYXNlXCJhZnRlckF0dHJpYnV0ZU5hbWVcIjp0aGlzLmN1cnJlbnRTdGFydFRhZy5jb21tZW50cy5wdXNoKGkpO2JyZWFrO2Nhc2VcImJlZm9yZURhdGFcIjpjYXNlXCJkYXRhXCI6VnQodGhpcy5jdXJyZW50RWxlbWVudCgpLGkpO2JyZWFrO2RlZmF1bHQ6dGhyb3cgUyhgVXNpbmcgYSBIYW5kbGViYXJzIGNvbW1lbnQgd2hlbiBpbiB0aGUgXFxgJHtyLnN0YXRlfVxcYCBzdGF0ZSBpcyBub3Qgc3VwcG9ydGVkYCx0aGlzLnNvdXJjZS5zcGFuRm9yKHQubG9jKSl9cmV0dXJuIGl9UGFydGlhbFN0YXRlbWVudCh0KXt0aHJvdyBTKFwiSGFuZGxlYmFycyBwYXJ0aWFscyBhcmUgbm90IHN1cHBvcnRlZFwiLHRoaXMuc291cmNlLnNwYW5Gb3IodC5sb2MpKX1QYXJ0aWFsQmxvY2tTdGF0ZW1lbnQodCl7dGhyb3cgUyhcIkhhbmRsZWJhcnMgcGFydGlhbCBibG9ja3MgYXJlIG5vdCBzdXBwb3J0ZWRcIix0aGlzLnNvdXJjZS5zcGFuRm9yKHQubG9jKSl9RGVjb3JhdG9yKHQpe3Rocm93IFMoXCJIYW5kbGViYXJzIGRlY29yYXRvcnMgYXJlIG5vdCBzdXBwb3J0ZWRcIix0aGlzLnNvdXJjZS5zcGFuRm9yKHQubG9jKSl9RGVjb3JhdG9yQmxvY2sodCl7dGhyb3cgUyhcIkhhbmRsZWJhcnMgZGVjb3JhdG9yIGJsb2NrcyBhcmUgbm90IHN1cHBvcnRlZFwiLHRoaXMuc291cmNlLnNwYW5Gb3IodC5sb2MpKX1TdWJFeHByZXNzaW9uKHQpe2xldHtwYXRoOnIscGFyYW1zOm4saGFzaDpzfT1kcih0aGlzLHQpO3JldHVybiBmLnNleHByKHtwYXRoOnIscGFyYW1zOm4saGFzaDpzLGxvYzp0aGlzLnNvdXJjZS5zcGFuRm9yKHQubG9jKX0pfVBhdGhFeHByZXNzaW9uKHQpe2xldHtvcmlnaW5hbDpyfT10LG47aWYoci5pbmRleE9mKFwiL1wiKSE9PS0xKXtpZihyLnNsaWNlKDAsMik9PT1cIi4vXCIpdGhyb3cgUygnVXNpbmcgXCIuL1wiIGlzIG5vdCBzdXBwb3J0ZWQgaW4gR2xpbW1lciBhbmQgdW5uZWNlc3NhcnknLHRoaXMuc291cmNlLnNwYW5Gb3IodC5sb2MpKTtpZihyLnNsaWNlKDAsMyk9PT1cIi4uL1wiKXRocm93IFMoJ0NoYW5naW5nIGNvbnRleHQgdXNpbmcgXCIuLi9cIiBpcyBub3Qgc3VwcG9ydGVkIGluIEdsaW1tZXInLHRoaXMuc291cmNlLnNwYW5Gb3IodC5sb2MpKTtpZihyLmluZGV4T2YoXCIuXCIpIT09LTEpdGhyb3cgUyhcIk1peGluZyAnLicgYW5kICcvJyBpbiBwYXRocyBpcyBub3Qgc3VwcG9ydGVkIGluIEdsaW1tZXI7IHVzZSBvbmx5ICcuJyB0byBzZXBhcmF0ZSBwcm9wZXJ0eSBwYXRoc1wiLHRoaXMuc291cmNlLnNwYW5Gb3IodC5sb2MpKTtuPVt0LnBhcnRzLmpvaW4oXCIvXCIpXX1lbHNle2lmKHI9PT1cIi5cIil0aHJvdyBTKFwiJy4nIGlzIG5vdCBhIHN1cHBvcnRlZCBwYXRoIGluIEdsaW1tZXI7IGNoZWNrIGZvciBhIHBhdGggd2l0aCBhIHRyYWlsaW5nICcuJ1wiLHRoaXMuc291cmNlLnNwYW5Gb3IodC5sb2MpKTtuPXQucGFydHN9bGV0IHMsaT0hMTtpZigvXnRoaXMoPzpcXC4uKyk/JC91LnRlc3QocikmJihpPSEwKSxpKXM9Zi50aGlzKHtsb2M6dGhpcy5zb3VyY2Uuc3BhbkZvcih7c3RhcnQ6dC5sb2Muc3RhcnQsZW5kOntsaW5lOnQubG9jLnN0YXJ0LmxpbmUsY29sdW1uOnQubG9jLnN0YXJ0LmNvbHVtbis0fX0pfSk7ZWxzZSBpZih0LmRhdGEpe2xldCBhPW4uc2hpZnQoKTtpZihhPT09dm9pZCAwKXRocm93IFMoXCJBdHRlbXB0ZWQgdG8gcGFyc2UgYSBwYXRoIGV4cHJlc3Npb24sIGJ1dCBpdCB3YXMgbm90IHZhbGlkLiBQYXRocyBiZWdpbm5pbmcgd2l0aCBAIG11c3Qgc3RhcnQgd2l0aCBhLXouXCIsdGhpcy5zb3VyY2Uuc3BhbkZvcih0LmxvYykpO3M9Zi5hdE5hbWUoe25hbWU6YEAke2F9YCxsb2M6dGhpcy5zb3VyY2Uuc3BhbkZvcih7c3RhcnQ6dC5sb2Muc3RhcnQsZW5kOntsaW5lOnQubG9jLnN0YXJ0LmxpbmUsY29sdW1uOnQubG9jLnN0YXJ0LmNvbHVtbithLmxlbmd0aCsxfX0pfSl9ZWxzZXtsZXQgYT1uLnNoaWZ0KCk7aWYoYT09PXZvaWQgMCl0aHJvdyBTKFwiQXR0ZW1wdGVkIHRvIHBhcnNlIGEgcGF0aCBleHByZXNzaW9uLCBidXQgaXQgd2FzIG5vdCB2YWxpZC4gUGF0aHMgbXVzdCBzdGFydCB3aXRoIGEteiBvciBBLVouXCIsdGhpcy5zb3VyY2Uuc3BhbkZvcih0LmxvYykpO3M9Zi52YXIoe25hbWU6YSxsb2M6dGhpcy5zb3VyY2Uuc3BhbkZvcih7c3RhcnQ6dC5sb2Muc3RhcnQsZW5kOntsaW5lOnQubG9jLnN0YXJ0LmxpbmUsY29sdW1uOnQubG9jLnN0YXJ0LmNvbHVtbithLmxlbmd0aH19KX0pfXJldHVybiBmLnBhdGgoe2hlYWQ6cyx0YWlsOm4sbG9jOnRoaXMuc291cmNlLnNwYW5Gb3IodC5sb2MpfSl9SGFzaCh0KXtsZXQgcj10LnBhaXJzLm1hcChuPT5mLnBhaXIoe2tleTpuLmtleSx2YWx1ZTp0aGlzLmFjY2VwdE5vZGUobi52YWx1ZSksbG9jOnRoaXMuc291cmNlLnNwYW5Gb3Iobi5sb2MpfSkpO3JldHVybiBmLmhhc2goe3BhaXJzOnIsbG9jOnRoaXMuc291cmNlLnNwYW5Gb3IodC5sb2MpfSl9U3RyaW5nTGl0ZXJhbCh0KXtyZXR1cm4gZi5saXRlcmFsKHt0eXBlOlwiU3RyaW5nTGl0ZXJhbFwiLHZhbHVlOnQudmFsdWUsbG9jOnRoaXMuc291cmNlLnNwYW5Gb3IodC5sb2MpfSl9Qm9vbGVhbkxpdGVyYWwodCl7cmV0dXJuIGYubGl0ZXJhbCh7dHlwZTpcIkJvb2xlYW5MaXRlcmFsXCIsdmFsdWU6dC52YWx1ZSxsb2M6dGhpcy5zb3VyY2Uuc3BhbkZvcih0LmxvYyl9KX1OdW1iZXJMaXRlcmFsKHQpe3JldHVybiBmLmxpdGVyYWwoe3R5cGU6XCJOdW1iZXJMaXRlcmFsXCIsdmFsdWU6dC52YWx1ZSxsb2M6dGhpcy5zb3VyY2Uuc3BhbkZvcih0LmxvYyl9KX1VbmRlZmluZWRMaXRlcmFsKHQpe3JldHVybiBmLmxpdGVyYWwoe3R5cGU6XCJVbmRlZmluZWRMaXRlcmFsXCIsdmFsdWU6dm9pZCAwLGxvYzp0aGlzLnNvdXJjZS5zcGFuRm9yKHQubG9jKX0pfU51bGxMaXRlcmFsKHQpe3JldHVybiBmLmxpdGVyYWwoe3R5cGU6XCJOdWxsTGl0ZXJhbFwiLHZhbHVlOm51bGwsbG9jOnRoaXMuc291cmNlLnNwYW5Gb3IodC5sb2MpfSl9fTtmdW5jdGlvbiBkcihlLHQpe2xldCByO3N3aXRjaCh0LnBhdGgudHlwZSl7Y2FzZVwiUGF0aEV4cHJlc3Npb25cIjpyPWUuUGF0aEV4cHJlc3Npb24odC5wYXRoKTticmVhaztjYXNlXCJTdWJFeHByZXNzaW9uXCI6cj1lLlN1YkV4cHJlc3Npb24odC5wYXRoKTticmVhaztjYXNlXCJTdHJpbmdMaXRlcmFsXCI6Y2FzZVwiVW5kZWZpbmVkTGl0ZXJhbFwiOmNhc2VcIk51bGxMaXRlcmFsXCI6Y2FzZVwiTnVtYmVyTGl0ZXJhbFwiOmNhc2VcIkJvb2xlYW5MaXRlcmFsXCI6e2xldCBpO3Rocm93IGk9dC5wYXRoLnR5cGU9PT1cIkJvb2xlYW5MaXRlcmFsXCI/dC5wYXRoLm9yaWdpbmFsLnRvU3RyaW5nKCk6dC5wYXRoLnR5cGU9PT1cIlN0cmluZ0xpdGVyYWxcIj9gXCIke3QucGF0aC5vcmlnaW5hbH1cImA6dC5wYXRoLnR5cGU9PT1cIk51bGxMaXRlcmFsXCI/XCJudWxsXCI6dC5wYXRoLnR5cGU9PT1cIk51bWJlckxpdGVyYWxcIj90LnBhdGgudmFsdWUudG9TdHJpbmcoKTpcInVuZGVmaW5lZFwiLFMoYCR7dC5wYXRoLnR5cGV9IFwiJHt0LnBhdGgudHlwZT09PVwiU3RyaW5nTGl0ZXJhbFwiP3QucGF0aC5vcmlnaW5hbDppfVwiIGNhbm5vdCBiZSBjYWxsZWQgYXMgYSBzdWItZXhwcmVzc2lvbiwgcmVwbGFjZSAoJHtpfSkgd2l0aCAke2l9YCxlLnNvdXJjZS5zcGFuRm9yKHQucGF0aC5sb2MpKX19bGV0IG49dC5wYXJhbXM/dC5wYXJhbXMubWFwKGk9PmUuYWNjZXB0Tm9kZShpKSk6W10scz11ZShuKT9OcihuKS5sb2M6ci5sb2M7cmV0dXJue3BhdGg6cixwYXJhbXM6bixoYXNoOnQuaGFzaD9lLkhhc2godC5oYXNoKTpmLmhhc2goe3BhaXJzOltdLGxvYzplLnNvdXJjZS5zcGFuRm9yKHMpLmNvbGxhcHNlKFwiZW5kXCIpfSl9fWZ1bmN0aW9uIGdyKGUsdCl7bGV0e3BhdGg6cixwYXJhbXM6bixoYXNoOnMsbG9jOml9PXQ7aWYocW4ocikpe2xldCBvPWB7eyR7ZnVuY3Rpb24oYyl7cmV0dXJuIGMudHlwZT09PVwiVW5kZWZpbmVkTGl0ZXJhbFwiP1widW5kZWZpbmVkXCI6SlNPTi5zdHJpbmdpZnkoYy52YWx1ZSl9KHIpfX19YDt0aHJvdyBTKGBJbiA8JHtlLm5hbWV9IC4uLiAke299IC4uLiwgJHtvfSBpcyBub3QgYSB2YWxpZCBtb2RpZmllcmAsdC5sb2MpfWxldCBhPWYuZWxlbWVudE1vZGlmaWVyKHtwYXRoOnIscGFyYW1zOm4saGFzaDpzLGxvYzppfSk7ZS5tb2RpZmllcnMucHVzaChhKX1mdW5jdGlvbiBxdChlKXtyZXR1cm4vW1xcdFxcblxcZiBdL3UudGVzdChlKX12YXIgVHI9Y2xhc3MgZXh0ZW5kcyB3cnt0YWdPcGVuTGluZT0wO3RhZ09wZW5Db2x1bW49MDtyZXNldCgpe3RoaXMuY3VycmVudE5vZGU9bnVsbH1iZWdpbkNvbW1lbnQoKXt0aGlzLmN1cnJlbnROb2RlPXt0eXBlOlwiQ29tbWVudFN0YXRlbWVudFwiLHZhbHVlOlwiXCIsc3RhcnQ6dGhpcy5zb3VyY2Uub2Zmc2V0Rm9yKHRoaXMudGFnT3BlbkxpbmUsdGhpcy50YWdPcGVuQ29sdW1uKX19YXBwZW5kVG9Db21tZW50RGF0YSh0KXt0aGlzLmN1cnJlbnRDb21tZW50LnZhbHVlKz10fWZpbmlzaENvbW1lbnQoKXtWdCh0aGlzLmN1cnJlbnRFbGVtZW50KCksZi5jb21tZW50KHRoaXMuZmluaXNoKHRoaXMuY3VycmVudENvbW1lbnQpKSl9YmVnaW5EYXRhKCl7dGhpcy5jdXJyZW50Tm9kZT17dHlwZTpcIlRleHROb2RlXCIsY2hhcnM6XCJcIixzdGFydDp0aGlzLm9mZnNldCgpfX1hcHBlbmRUb0RhdGEodCl7dGhpcy5jdXJyZW50RGF0YS5jaGFycys9dH1maW5pc2hEYXRhKCl7VnQodGhpcy5jdXJyZW50RWxlbWVudCgpLGYudGV4dCh0aGlzLmZpbmlzaCh0aGlzLmN1cnJlbnREYXRhKSkpfXRhZ09wZW4oKXt0aGlzLnRhZ09wZW5MaW5lPXRoaXMudG9rZW5pemVyLmxpbmUsdGhpcy50YWdPcGVuQ29sdW1uPXRoaXMudG9rZW5pemVyLmNvbHVtbn1iZWdpblN0YXJ0VGFnKCl7dGhpcy5jdXJyZW50Tm9kZT17dHlwZTpcIlN0YXJ0VGFnXCIsbmFtZTpcIlwiLG5hbWVTdGFydDpudWxsLG5hbWVFbmQ6bnVsbCxhdHRyaWJ1dGVzOltdLG1vZGlmaWVyczpbXSxjb21tZW50czpbXSxwYXJhbXM6W10sc2VsZkNsb3Npbmc6ITEsc3RhcnQ6dGhpcy5zb3VyY2Uub2Zmc2V0Rm9yKHRoaXMudGFnT3BlbkxpbmUsdGhpcy50YWdPcGVuQ29sdW1uKX19YmVnaW5FbmRUYWcoKXt0aGlzLmN1cnJlbnROb2RlPXt0eXBlOlwiRW5kVGFnXCIsbmFtZTpcIlwiLHN0YXJ0OnRoaXMuc291cmNlLm9mZnNldEZvcih0aGlzLnRhZ09wZW5MaW5lLHRoaXMudGFnT3BlbkNvbHVtbil9fWZpbmlzaFRhZygpe2xldCB0PXRoaXMuZmluaXNoKHRoaXMuY3VycmVudFRhZyk7aWYodC50eXBlPT09XCJTdGFydFRhZ1wiKXtpZih0aGlzLmZpbmlzaFN0YXJ0VGFnKCksdC5uYW1lPT09XCI6XCIpdGhyb3cgUyhcIkludmFsaWQgbmFtZWQgYmxvY2sgbmFtZWQgZGV0ZWN0ZWQsIHlvdSBtYXkgaGF2ZSBjcmVhdGVkIGEgbmFtZWQgYmxvY2sgd2l0aG91dCBhIG5hbWUsIG9yIHlvdSBtYXkgaGF2ZSBiZWdhbiB5b3VyIG5hbWUgd2l0aCBhIG51bWJlci4gTmFtZWQgYmxvY2tzIG11c3QgaGF2ZSBuYW1lcyB0aGF0IGFyZSBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyIGxvbmcsIGFuZCBiZWdpbiB3aXRoIGEgbG93ZXIgY2FzZSBsZXR0ZXJcIix0aGlzLnNvdXJjZS5zcGFuRm9yKHtzdGFydDp0aGlzLmN1cnJlbnRUYWcuc3RhcnQudG9KU09OKCksZW5kOnRoaXMub2Zmc2V0KCkudG9KU09OKCl9KSk7KGJyLmhhcyh0Lm5hbWUpfHx0LnNlbGZDbG9zaW5nKSYmdGhpcy5maW5pc2hFbmRUYWcoITApfWVsc2UgdC50eXBlPT09XCJFbmRUYWdcIiYmdGhpcy5maW5pc2hFbmRUYWcoITEpfWZpbmlzaFN0YXJ0VGFnKCl7bGV0e25hbWU6dCxuYW1lU3RhcnQ6cixuYW1lRW5kOm59PXRoaXMuY3VycmVudFN0YXJ0VGFnLHM9ci51bnRpbChuKSxbaSwuLi5hXT1pZSh0LnNwbGl0KFwiLlwiKSksbz1mLnBhdGgoe2hlYWQ6Zi5oZWFkKHtvcmlnaW5hbDppLGxvYzpzLnNsaWNlU3RhcnRDaGFycyh7Y2hhcnM6aS5sZW5ndGh9KX0pLHRhaWw6YSxsb2M6c30pLHthdHRyaWJ1dGVzOmMsbW9kaWZpZXJzOmgsY29tbWVudHM6cCxwYXJhbXM6bSxzZWxmQ2xvc2luZzp2LGxvYzpnfT10aGlzLmZpbmlzaCh0aGlzLmN1cnJlbnRTdGFydFRhZyksRT1mLmVsZW1lbnQoe3BhdGg6byxzZWxmQ2xvc2luZzp2LGF0dHJpYnV0ZXM6Yyxtb2RpZmllcnM6aCxjb21tZW50czpwLHBhcmFtczptLGNoaWxkcmVuOltdLG9wZW5UYWc6ZyxjbG9zZVRhZzp2P251bGw6RC5icm9rZW4oKSxsb2M6Z30pO3RoaXMuZWxlbWVudFN0YWNrLnB1c2goRSl9ZmluaXNoRW5kVGFnKHQpe2xldHtzdGFydDpyfT10aGlzLmN1cnJlbnRUYWcsbj10aGlzLmZpbmlzaCh0aGlzLmN1cnJlbnRUYWcpLHM9dGhpcy5lbGVtZW50U3RhY2sucG9wKCk7dGhpcy52YWxpZGF0ZUVuZFRhZyhuLHMsdCk7bGV0IGk9dGhpcy5jdXJyZW50RWxlbWVudCgpO3Q/cy5jbG9zZVRhZz1udWxsOnMuc2VsZkNsb3Npbmc/cy5jbG9zZVRhZzpzLmNsb3NlVGFnPXIudW50aWwodGhpcy5vZmZzZXQoKSkscy5sb2M9cy5sb2Mud2l0aEVuZCh0aGlzLm9mZnNldCgpKSxWdChpLGYuZWxlbWVudChzKSl9bWFya1RhZ0FzU2VsZkNsb3NpbmcoKXtsZXQgdD10aGlzLmN1cnJlbnRUYWc7aWYodC50eXBlIT09XCJTdGFydFRhZ1wiKXRocm93IFMoXCJJbnZhbGlkIGVuZCB0YWc6IGNsb3NpbmcgdGFnIG11c3Qgbm90IGJlIHNlbGYtY2xvc2luZ1wiLHRoaXMuc291cmNlLnNwYW5Gb3Ioe3N0YXJ0OnQuc3RhcnQudG9KU09OKCksZW5kOnRoaXMub2Zmc2V0KCkudG9KU09OKCl9KSk7dC5zZWxmQ2xvc2luZz0hMH1hcHBlbmRUb1RhZ05hbWUodCl7bGV0IHI9dGhpcy5jdXJyZW50VGFnO2lmKHIubmFtZSs9dCxyLnR5cGU9PT1cIlN0YXJ0VGFnXCIpe2xldCBuPXRoaXMub2Zmc2V0KCk7ci5uYW1lU3RhcnQ9PT1udWxsJiYoci5uYW1lRW5kLHIubmFtZVN0YXJ0PW4ubW92ZSgtMSkpLHIubmFtZUVuZD1ufX1iZWdpbkF0dHJpYnV0ZSgpe2xldCB0PXRoaXMub2Zmc2V0KCk7dGhpcy5jdXJyZW50QXR0cmlidXRlPXtuYW1lOlwiXCIscGFydHM6W10sY3VycmVudFBhcnQ6bnVsbCxpc1F1b3RlZDohMSxpc0R5bmFtaWM6ITEsc3RhcnQ6dCx2YWx1ZVNwYW46dC5jb2xsYXBzZWQoKX19YXBwZW5kVG9BdHRyaWJ1dGVOYW1lKHQpe3RoaXMuY3VycmVudEF0dHIubmFtZSs9dCx0aGlzLmN1cnJlbnRBdHRyLm5hbWU9PT1cImFzXCImJnRoaXMucGFyc2VQb3NzaWJsZUJsb2NrUGFyYW1zKCl9YmVnaW5BdHRyaWJ1dGVWYWx1ZSh0KXt0aGlzLmN1cnJlbnRBdHRyLmlzUXVvdGVkPXQsdGhpcy5zdGFydFRleHRQYXJ0KCksdGhpcy5jdXJyZW50QXR0ci52YWx1ZVNwYW49dGhpcy5vZmZzZXQoKS5jb2xsYXBzZWQoKX1hcHBlbmRUb0F0dHJpYnV0ZVZhbHVlKHQpe2xldCByPXRoaXMuY3VycmVudEF0dHIucGFydHMsbj1yW3IubGVuZ3RoLTFdLHM9dGhpcy5jdXJyZW50QXR0ci5jdXJyZW50UGFydDtpZihzKXMuY2hhcnMrPXQscy5sb2M9cy5sb2Mud2l0aEVuZCh0aGlzLm9mZnNldCgpKTtlbHNle2xldCBpPXRoaXMub2Zmc2V0KCk7aT10PT09YFxuYD9uP24ubG9jLmdldEVuZCgpOnRoaXMuY3VycmVudEF0dHIudmFsdWVTcGFuLmdldFN0YXJ0KCk6aS5tb3ZlKC0xKSx0aGlzLmN1cnJlbnRBdHRyLmN1cnJlbnRQYXJ0PWYudGV4dCh7Y2hhcnM6dCxsb2M6aS5jb2xsYXBzZWQoKX0pfX1maW5pc2hBdHRyaWJ1dGVWYWx1ZSgpe3RoaXMuZmluYWxpemVUZXh0UGFydCgpO2xldCB0PXRoaXMuY3VycmVudFRhZyxyPXRoaXMub2Zmc2V0KCk7aWYodC50eXBlPT09XCJFbmRUYWdcIil0aHJvdyBTKFwiSW52YWxpZCBlbmQgdGFnOiBjbG9zaW5nIHRhZyBtdXN0IG5vdCBoYXZlIGF0dHJpYnV0ZXNcIix0aGlzLnNvdXJjZS5zcGFuRm9yKHtzdGFydDp0LnN0YXJ0LnRvSlNPTigpLGVuZDpyLnRvSlNPTigpfSkpO2xldHtuYW1lOm4scGFydHM6cyxzdGFydDppLGlzUXVvdGVkOmEsaXNEeW5hbWljOm8sdmFsdWVTcGFuOmN9PXRoaXMuY3VycmVudEF0dHI7aWYobi5zdGFydHNXaXRoKFwifFwiKSYmcy5sZW5ndGg9PT0wJiYhYSYmIW8pdGhyb3cgUyhcIkludmFsaWQgYmxvY2sgcGFyYW1ldGVycyBzeW50YXg6IGJsb2NrIHBhcmFtZXRlcnMgbXVzdCBiZSBwcmVjZWRlZCBieSB0aGUgYGFzYCBrZXl3b3JkXCIsaS51bnRpbChpLm1vdmUobi5sZW5ndGgpKSk7bGV0IGg9dGhpcy5hc3NlbWJsZUF0dHJpYnV0ZVZhbHVlKHMsYSxvLGkudW50aWwocikpO2gubG9jPWMud2l0aEVuZChyKTtsZXQgcD1mLmF0dHIoe25hbWU6bix2YWx1ZTpoLGxvYzppLnVudGlsKHIpfSk7dGhpcy5jdXJyZW50U3RhcnRUYWcuYXR0cmlidXRlcy5wdXNoKHApfXBhcnNlUG9zc2libGVCbG9ja1BhcmFtcygpe2xldCB0PS9bIVwiIyUmJygpKisuLzs8PT5AW1xcXFxcXF1eYHt8fX5dL3U7dGhpcy50b2tlbml6ZXIuc3RhdGU7bGV0IHI9dGhpcy5jdXJyZW50U3RhcnRUYWcsbj10aGlzLmN1cnJlbnRBdHRyLHM9e3N0YXRlOlwiUG9zc2libGVBc1wifSxpPXtQb3NzaWJsZUFzOm89PntpZihzLnN0YXRlLHF0KG8pKXM9e3N0YXRlOlwiQmVmb3JlU3RhcnRQaXBlXCJ9LHRoaXMudG9rZW5pemVyLnRyYW5zaXRpb25UbyhcImFmdGVyQXR0cmlidXRlTmFtZVwiKSx0aGlzLnRva2VuaXplci5jb25zdW1lKCk7ZWxzZXtpZihvPT09XCJ8XCIpdGhyb3cgUygnSW52YWxpZCBibG9jayBwYXJhbWV0ZXJzIHN5bnRheDogZXhwZWN0aW5nIGF0IGxlYXN0IG9uZSBzcGFjZSBjaGFyYWN0ZXIgYmV0d2VlbiBcImFzXCIgYW5kIFwifFwiJyxuLnN0YXJ0LnVudGlsKHRoaXMub2Zmc2V0KCkubW92ZSgxKSkpO3M9e3N0YXRlOlwiRG9uZVwifX19LEJlZm9yZVN0YXJ0UGlwZTpvPT57cy5zdGF0ZSxxdChvKT90aGlzLnRva2VuaXplci5jb25zdW1lKCk6bz09PVwifFwiPyhzPXtzdGF0ZTpcIkJlZm9yZUJsb2NrUGFyYW1OYW1lXCJ9LHRoaXMudG9rZW5pemVyLnRyYW5zaXRpb25UbyhcImJlZm9yZUF0dHJpYnV0ZU5hbWVcIiksdGhpcy50b2tlbml6ZXIuY29uc3VtZSgpKTpzPXtzdGF0ZTpcIkRvbmVcIn19LEJlZm9yZUJsb2NrUGFyYW1OYW1lOm89PntpZihzLnN0YXRlLHF0KG8pKXRoaXMudG9rZW5pemVyLmNvbnN1bWUoKTtlbHNlIGlmKG89PT1cIlwiKXM9e3N0YXRlOlwiRG9uZVwifSx0aGlzLnBlbmRpbmdFcnJvcj17bXVzdGFjaGUoYyl7dGhyb3cgUyhcIkludmFsaWQgYmxvY2sgcGFyYW1ldGVycyBzeW50YXg6IG11c3RhY2hlcyBjYW5ub3QgYmUgdXNlZCBpbnNpZGUgcGFyYW1ldGVycyBsaXN0XCIsYyl9LGVvZihjKXt0aHJvdyBTKCdJbnZhbGlkIGJsb2NrIHBhcmFtZXRlcnMgc3ludGF4OiBleHBlY3RpbmcgdGhlIHRhZyB0byBiZSBjbG9zZWQgd2l0aCBcIj5cIiBvciBcIi8+XCIgYWZ0ZXIgcGFyYW1ldGVycyBsaXN0JyxuLnN0YXJ0LnVudGlsKGMpKX19O2Vsc2UgaWYobz09PVwifFwiKXtpZihyLnBhcmFtcy5sZW5ndGg9PT0wKXRocm93IFMoXCJJbnZhbGlkIGJsb2NrIHBhcmFtZXRlcnMgc3ludGF4OiBlbXB0eSBwYXJhbWV0ZXJzIGxpc3QsIGV4cGVjdGluZyBhdCBsZWFzdCBvbmUgaWRlbnRpZmllclwiLG4uc3RhcnQudW50aWwodGhpcy5vZmZzZXQoKS5tb3ZlKDEpKSk7cz17c3RhdGU6XCJBZnRlckVuZFBpcGVcIn0sdGhpcy50b2tlbml6ZXIuY29uc3VtZSgpfWVsc2V7aWYobz09PVwiPlwifHxvPT09XCIvXCIpdGhyb3cgUygnSW52YWxpZCBibG9jayBwYXJhbWV0ZXJzIHN5bnRheDogaW5jb21wbGV0ZSBwYXJhbWV0ZXJzIGxpc3QsIGV4cGVjdGluZyBcInxcIiBidXQgdGhlIHRhZyB3YXMgY2xvc2VkIHByZW1hdHVyZWx5JyxuLnN0YXJ0LnVudGlsKHRoaXMub2Zmc2V0KCkubW92ZSgxKSkpO3M9e3N0YXRlOlwiQmxvY2tQYXJhbU5hbWVcIixuYW1lOm8sc3RhcnQ6dGhpcy5vZmZzZXQoKX0sdGhpcy50b2tlbml6ZXIuY29uc3VtZSgpfX0sQmxvY2tQYXJhbU5hbWU6bz0+e2lmKHMuc3RhdGUsbz09PVwiXCIpcz17c3RhdGU6XCJEb25lXCJ9LHRoaXMucGVuZGluZ0Vycm9yPXttdXN0YWNoZShjKXt0aHJvdyBTKFwiSW52YWxpZCBibG9jayBwYXJhbWV0ZXJzIHN5bnRheDogbXVzdGFjaGVzIGNhbm5vdCBiZSB1c2VkIGluc2lkZSBwYXJhbWV0ZXJzIGxpc3RcIixjKX0sZW9mKGMpe3Rocm93IFMoJ0ludmFsaWQgYmxvY2sgcGFyYW1ldGVycyBzeW50YXg6IGV4cGVjdGluZyB0aGUgdGFnIHRvIGJlIGNsb3NlZCB3aXRoIFwiPlwiIG9yIFwiLz5cIiBhZnRlciBwYXJhbWV0ZXJzIGxpc3QnLG4uc3RhcnQudW50aWwoYykpfX07ZWxzZSBpZihvPT09XCJ8XCJ8fHF0KG8pKXtsZXQgYz1zLnN0YXJ0LnVudGlsKHRoaXMub2Zmc2V0KCkpO2lmKHMubmFtZT09PVwidGhpc1wifHx0LnRlc3Qocy5uYW1lKSl0aHJvdyBTKGBJbnZhbGlkIGJsb2NrIHBhcmFtZXRlcnMgc3ludGF4OiBpbnZhbGlkIGlkZW50aWZpZXIgbmFtZSBcXGAke3MubmFtZX1cXGBgLGMpO3IucGFyYW1zLnB1c2goZi52YXIoe25hbWU6cy5uYW1lLGxvYzpjfSkpLHM9bz09PVwifFwiP3tzdGF0ZTpcIkFmdGVyRW5kUGlwZVwifTp7c3RhdGU6XCJCZWZvcmVCbG9ja1BhcmFtTmFtZVwifSx0aGlzLnRva2VuaXplci5jb25zdW1lKCl9ZWxzZXtpZihvPT09XCI+XCJ8fG89PT1cIi9cIil0aHJvdyBTKCdJbnZhbGlkIGJsb2NrIHBhcmFtZXRlcnMgc3ludGF4OiBleHBlY3RpbmcgXCJ8XCIgYnV0IHRoZSB0YWcgd2FzIGNsb3NlZCBwcmVtYXR1cmVseScsbi5zdGFydC51bnRpbCh0aGlzLm9mZnNldCgpLm1vdmUoMSkpKTtzLm5hbWUrPW8sdGhpcy50b2tlbml6ZXIuY29uc3VtZSgpfX0sQWZ0ZXJFbmRQaXBlOm89PntzLnN0YXRlLHF0KG8pP3RoaXMudG9rZW5pemVyLmNvbnN1bWUoKTpvPT09XCJcIj8ocz17c3RhdGU6XCJEb25lXCJ9LHRoaXMucGVuZGluZ0Vycm9yPXttdXN0YWNoZShjKXt0aHJvdyBTKFwiSW52YWxpZCBibG9jayBwYXJhbWV0ZXJzIHN5bnRheDogbW9kaWZpZXJzIGNhbm5vdCBmb2xsb3cgcGFyYW1ldGVycyBsaXN0XCIsYyl9LGVvZihjKXt0aHJvdyBTKCdJbnZhbGlkIGJsb2NrIHBhcmFtZXRlcnMgc3ludGF4OiBleHBlY3RpbmcgdGhlIHRhZyB0byBiZSBjbG9zZWQgd2l0aCBcIj5cIiBvciBcIi8+XCIgYWZ0ZXIgcGFyYW1ldGVycyBsaXN0JyxuLnN0YXJ0LnVudGlsKGMpKX19KTpvPT09XCI+XCJ8fG89PT1cIi9cIj9zPXtzdGF0ZTpcIkRvbmVcIn06KHM9e3N0YXRlOlwiRXJyb3JcIixtZXNzYWdlOidJbnZhbGlkIGJsb2NrIHBhcmFtZXRlcnMgc3ludGF4OiBleHBlY3RpbmcgdGhlIHRhZyB0byBiZSBjbG9zZWQgd2l0aCBcIj5cIiBvciBcIi8+XCIgYWZ0ZXIgcGFyYW1ldGVycyBsaXN0JyxzdGFydDp0aGlzLm9mZnNldCgpfSx0aGlzLnRva2VuaXplci5jb25zdW1lKCkpfSxFcnJvcjpvPT57aWYocy5zdGF0ZSxvPT09XCJcInx8bz09PVwiL1wifHxvPT09XCI+XCJ8fHF0KG8pKXRocm93IFMocy5tZXNzYWdlLHMuc3RhcnQudW50aWwodGhpcy5vZmZzZXQoKSkpO3RoaXMudG9rZW5pemVyLmNvbnN1bWUoKX0sRG9uZTooKT0+e319LGE7ZG8gYT10aGlzLnRva2VuaXplci5wZWVrKCksaVtzLnN0YXRlXShhKTt3aGlsZShzLnN0YXRlIT09XCJEb25lXCImJmEhPT1cIlwiKTtzLnN0YXRlfXJlcG9ydFN5bnRheEVycm9yKHQpe3Rocm93IFModCx0aGlzLm9mZnNldCgpLmNvbGxhcHNlZCgpKX1hc3NlbWJsZUNvbmNhdGVuYXRlZFZhbHVlKHQpe2ZvcihsZXQgcyBvZiB0KWlmKHMudHlwZSE9PVwiTXVzdGFjaGVTdGF0ZW1lbnRcIiYmcy50eXBlIT09XCJUZXh0Tm9kZVwiKXRocm93IFMoYFVuc3VwcG9ydGVkIG5vZGUgaW4gcXVvdGVkIGF0dHJpYnV0ZSB2YWx1ZTogJHtzLnR5cGV9YCxzLmxvYyk7bGV0IHI9bmkodCksbj1Ocih0KTtyZXR1cm4gZi5jb25jYXQoe3BhcnRzOnQsbG9jOnRoaXMuc291cmNlLnNwYW5Gb3Ioci5sb2MpLmV4dGVuZCh0aGlzLnNvdXJjZS5zcGFuRm9yKG4ubG9jKSl9KX12YWxpZGF0ZUVuZFRhZyh0LHIsbil7aWYoYnIuaGFzKHQubmFtZSkmJiFuKXRocm93IFMoYDwke3QubmFtZX0+IGVsZW1lbnRzIGRvIG5vdCBuZWVkIGVuZCB0YWdzLiBZb3Ugc2hvdWxkIHJlbW92ZSBpdGAsdC5sb2MpO2lmKHIudGFnPT09dm9pZCAwKXRocm93IFMoYENsb3NpbmcgdGFnIDwvJHt0Lm5hbWV9PiB3aXRob3V0IGFuIG9wZW4gdGFnYCx0LmxvYyk7aWYoci50YWchPT10Lm5hbWUpdGhyb3cgUyhgQ2xvc2luZyB0YWcgPC8ke3QubmFtZX0+IGRpZCBub3QgbWF0Y2ggbGFzdCBvcGVuIHRhZyA8JHtyLnRhZ30+IChvbiBsaW5lICR7ci5sb2Muc3RhcnRQb3NpdGlvbi5saW5lfSlgLHQubG9jKX1hc3NlbWJsZUF0dHJpYnV0ZVZhbHVlKHQscixuLHMpe2lmKG4pe2lmKHIpcmV0dXJuIHRoaXMuYXNzZW1ibGVDb25jYXRlbmF0ZWRWYWx1ZSh0KTt7bGV0W2ksYV09dDtpZihhPT09dm9pZCAwfHxhLnR5cGU9PT1cIlRleHROb2RlXCImJmEuY2hhcnM9PT1cIi9cIilyZXR1cm4gaTt0aHJvdyBTKFwiQW4gdW5xdW90ZWQgYXR0cmlidXRlIHZhbHVlIG11c3QgYmUgYSBzdHJpbmcgb3IgYSBtdXN0YWNoZSwgcHJlY2VkZWQgYnkgd2hpdGVzcGFjZSBvciBhICc9JyBjaGFyYWN0ZXIsIGFuZCBmb2xsb3dlZCBieSB3aGl0ZXNwYWNlLCBhICc+JyBjaGFyYWN0ZXIsIG9yICcvPidcIixzKX19cmV0dXJuIHVlKHQpP3RbMF06Zi50ZXh0KHtjaGFyczpcIlwiLGxvYzpzfSl9fSxwaT17fSxDcj1jbGFzcyBleHRlbmRzIHVye2NvbnN0cnVjdG9yKCl7c3VwZXIoe30pfXBhcnNlKCl7fX07ZnVuY3Rpb24gSG4oZSx0PXt9KXt2YXIgYyxoLHA7bGV0IHIsbixzLGk9dC5tb2RlfHxcInByZWNvbXBpbGVcIjt0eXBlb2YgZT09XCJzdHJpbmdcIj8ocj1uZXcgRXQoZSwoYz10Lm1ldGEpPT1udWxsP3ZvaWQgMDpjLm1vZHVsZU5hbWUpLG49aT09PVwiY29kZW1vZFwiP05lKGUsdC5wYXJzZU9wdGlvbnMpOmNyKGUsdC5wYXJzZU9wdGlvbnMpKTplIGluc3RhbmNlb2YgRXQ/KHI9ZSxuPWk9PT1cImNvZGVtb2RcIj9OZShlLnNvdXJjZSx0LnBhcnNlT3B0aW9ucyk6Y3IoZS5zb3VyY2UsdC5wYXJzZU9wdGlvbnMpKToocj1uZXcgRXQoXCJcIiwoaD10Lm1ldGEpPT1udWxsP3ZvaWQgMDpoLm1vZHVsZU5hbWUpLG49ZSksaT09PVwiY29kZW1vZFwiJiYocz1uZXcgQ3IpO2xldCBhPUQuZm9yQ2hhclBvc2l0aW9ucyhyLDAsci5zb3VyY2UubGVuZ3RoKTtuLmxvYz17c291cmNlOlwiKHByb2dyYW0pXCIsc3RhcnQ6YS5zdGFydFBvc2l0aW9uLGVuZDphLmVuZFBvc2l0aW9ufTtsZXQgbz1uZXcgVHIocixzLGkpLnBhcnNlKG4sdC5sb2NhbHM/P1tdKTtpZigocD10PT1udWxsP3ZvaWQgMDp0LnBsdWdpbnMpIT1udWxsJiZwLmFzdClmb3IobGV0IG0gb2YgdC5wbHVnaW5zLmFzdCl1aShvLG0ocnIoe30sdCx7c3ludGF4OnBpfSx7cGx1Z2luczp2b2lkIDB9KSkudmlzaXRvcik7cmV0dXJuIG99dmFyIGZpPXtyZXNvbHV0aW9uOigpPT54ZS5HZXRTdHJpY3RLZXl3b3JkLHNlcmlhbGl6ZTooKT0+XCJTdHJpY3RcIixpc0FuZ2xlQnJhY2tldDohMX0sb289ey4uLmZpLGlzQW5nbGVCcmFja2V0OiEwfTt2YXIgX2U9YFxuYCxGbj1cIlxcclwiLFVuPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gZSh0KXt0aGlzLmxlbmd0aD10Lmxlbmd0aDtmb3IodmFyIHI9WzBdLG49MDtuPHQubGVuZ3RoOylzd2l0Y2godFtuXSl7Y2FzZSBfZTpuKz1fZS5sZW5ndGgsci5wdXNoKG4pO2JyZWFrO2Nhc2UgRm46bis9Rm4ubGVuZ3RoLHRbbl09PT1fZSYmKG4rPV9lLmxlbmd0aCksci5wdXNoKG4pO2JyZWFrO2RlZmF1bHQ6bisrO2JyZWFrfXRoaXMub2Zmc2V0cz1yfXJldHVybiBlLnByb3RvdHlwZS5sb2NhdGlvbkZvckluZGV4PWZ1bmN0aW9uKHQpe2lmKHQ8MHx8dD50aGlzLmxlbmd0aClyZXR1cm4gbnVsbDtmb3IodmFyIHI9MCxuPXRoaXMub2Zmc2V0cztuW3IrMV08PXQ7KXIrKzt2YXIgcz10LW5bcl07cmV0dXJue2xpbmU6cixjb2x1bW46c319LGUucHJvdG90eXBlLmluZGV4Rm9yTG9jYXRpb249ZnVuY3Rpb24odCl7dmFyIHI9dC5saW5lLG49dC5jb2x1bW47cmV0dXJuIHI8MHx8cj49dGhpcy5vZmZzZXRzLmxlbmd0aHx8bjwwfHxuPnRoaXMubGVuZ3RoT2ZMaW5lKHIpP251bGw6dGhpcy5vZmZzZXRzW3JdK259LGUucHJvdG90eXBlLmxlbmd0aE9mTGluZT1mdW5jdGlvbih0KXt2YXIgcj10aGlzLm9mZnNldHNbdF0sbj10PT09dGhpcy5vZmZzZXRzLmxlbmd0aC0xP3RoaXMubGVuZ3RoOnRoaXMub2Zmc2V0c1t0KzFdO3JldHVybiBuLXJ9LGV9KCk7ZnVuY3Rpb24gbWkoZSx0KXtsZXQgcj1uZXcgU3ludGF4RXJyb3IoZStcIiAoXCIrdC5sb2Muc3RhcnQubGluZStcIjpcIit0LmxvYy5zdGFydC5jb2x1bW4rXCIpXCIpO3JldHVybiBPYmplY3QuYXNzaWduKHIsdCl9dmFyIE1uPW1pO2Z1bmN0aW9uIGRpKGUpe2xldCB0PWUuY2hpbGRyZW4/P2UuYm9keTtpZih0KWZvcihsZXQgcj0wO3I8dC5sZW5ndGgtMTtyKyspdFtyXS50eXBlPT09XCJUZXh0Tm9kZVwiJiZ0W3IrMV0udHlwZT09PVwiTXVzdGFjaGVTdGF0ZW1lbnRcIiYmKHRbcl0uY2hhcnM9dFtyXS5jaGFycy5yZXBsYWNlKC9cXFxcJC91LFwiXFxcXFxcXFxcIikpfWZ1bmN0aW9uIGdpKGUpe2xldCB0PW5ldyBVbihlKSxyPSh7bGluZTpzLGNvbHVtbjppfSk9PnQuaW5kZXhGb3JMb2NhdGlvbih7bGluZTpzLTEsY29sdW1uOml9KSxuPXM9PntsZXR7c3RhcnQ6aSxlbmQ6YX09cy5sb2M7aS5vZmZzZXQ9cihpKSxhLm9mZnNldD1yKGEpfTtyZXR1cm4oKT0+KHtuYW1lOlwicHJldHRpZXJQYXJzZVBsdWdpblwiLHZpc2l0b3I6e0FsbChzKXtuKHMpLGRpKHMpfX19KX1mdW5jdGlvbiBiaShlKXtsZXQgdDt0cnl7dD1IbihlLHttb2RlOlwiY29kZW1vZFwiLHBsdWdpbnM6e2FzdDpbZ2koZSldfX0pfWNhdGNoKHIpe2xldCBuPWtpKHIpO2lmKG4pe2xldCBzPXlpKHIpO3Rocm93IE1uKHMse2xvYzpuLGNhdXNlOnJ9KX10aHJvdyByfXJldHVybiB0fWZ1bmN0aW9uIHlpKGUpe2xldHttZXNzYWdlOnR9PWUscj10LnNwbGl0KGBcbmApO3JldHVybiByLmxlbmd0aD49NCYmL15QYXJzZSBlcnJvciBvbiBsaW5lIFxcZCs6JC91LnRlc3QoclswXSkmJi9eLSpcXF4kL3UudGVzdChpdCghMSxyLC0yKSk/aXQoITEsciwtMSk6ci5sZW5ndGg+PTQmJi86XFxzPyQvdS50ZXN0KHJbMF0pJiYvXlxcKGVycm9yIG9jY3VycmVkIGluICcuKj8nIEAgbGluZSBcXGQrIDogY29sdW1uIFxcZCtcXCkkL3UudGVzdChpdCghMSxyLC0xKSkmJnJbMV09PT1cIlwiJiZpdCghMSxyLC0yKT09PVwiXCImJnIuc2xpY2UoMiwtMikuZXZlcnkobj0+bi5zdGFydHNXaXRoKFwifFwiKSk/clswXS50cmltKCkuc2xpY2UoMCwtMSk6dH1mdW5jdGlvbiBraShlKXtsZXR7bG9jYXRpb246dCxoYXNoOnJ9PWU7aWYodCl7bGV0e3N0YXJ0Om4sZW5kOnN9PXQ7cmV0dXJuIHR5cGVvZiBzLmxpbmUhPVwibnVtYmVyXCI/e3N0YXJ0Om59OnR9aWYocil7bGV0e2xvYzp7bGFzdF9saW5lOm4sbGFzdF9jb2x1bW46c319PXI7cmV0dXJue3N0YXJ0OntsaW5lOm4sY29sdW1uOnMrMX19fX12YXIgU2k9e3BhcnNlOmJpLGFzdEZvcm1hdDpcImdsaW1tZXJcIixsb2NTdGFydDp5dCxsb2NFbmQ6dGV9O3ZhciB2aT17Z2xpbW1lcjpmbn07dmFyIHdvPVByO2V4cG9ydHt3byBhcyBkZWZhdWx0LG1uIGFzIGxhbmd1YWdlcyxBciBhcyBwYXJzZXJzLHZpIGFzIHByaW50ZXJzfTtcbiIsICJ2YXIgdHQ9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciBOZT0oZSx0KT0+e2Zvcih2YXIgbiBpbiB0KXR0KGUsbix7Z2V0OnRbbl0sZW51bWVyYWJsZTohMH0pfTt2YXIgVGU9e307TmUoVGUse2xhbmd1YWdlczooKT0+UGUsb3B0aW9uczooKT0+d2UscGFyc2VyczooKT0+RWUscHJpbnRlcnM6KCk9PnNufSk7dmFyIG50PShlLHQsbixyKT0+e2lmKCEoZSYmdD09bnVsbCkpcmV0dXJuIHQucmVwbGFjZUFsbD90LnJlcGxhY2VBbGwobixyKTpuLmdsb2JhbD90LnJlcGxhY2UobixyKTp0LnNwbGl0KG4pLmpvaW4ocil9LFk9bnQ7dmFyIHJlPVwiaW5kZW50XCI7dmFyIHNlPVwiZ3JvdXBcIjt2YXIgb2U9XCJpZi1icmVha1wiO3ZhciBQPVwibGluZVwiO3ZhciBhZT1cImJyZWFrLXBhcmVudFwiO3ZhciB4ZT0oKT0+e30sYj14ZSxjZT14ZTtmdW5jdGlvbiB4KGUpe3JldHVybiBiKGUpLHt0eXBlOnJlLGNvbnRlbnRzOmV9fWZ1bmN0aW9uIHkoZSx0PXt9KXtyZXR1cm4gYihlKSxjZSh0LmV4cGFuZGVkU3RhdGVzLCEwKSx7dHlwZTpzZSxpZDp0LmlkLGNvbnRlbnRzOmUsYnJlYWs6ISF0LnNob3VsZEJyZWFrLGV4cGFuZGVkU3RhdGVzOnQuZXhwYW5kZWRTdGF0ZXN9fWZ1bmN0aW9uIE8oZSx0PVwiXCIsbj17fSl7cmV0dXJuIGIoZSksdCE9PVwiXCImJmIodCkse3R5cGU6b2UsYnJlYWtDb250ZW50czplLGZsYXRDb250ZW50czp0LGdyb3VwSWQ6bi5ncm91cElkfX12YXIgbXQ9e3R5cGU6YWV9O3ZhciBFdD17dHlwZTpQLGhhcmQ6ITB9O3ZhciBrPXt0eXBlOlB9LHA9e3R5cGU6UCxzb2Z0OiEwfSxmPVtFdCxtdF07ZnVuY3Rpb24gRShlLHQpe2IoZSksY2UodCk7bGV0IG49W107Zm9yKGxldCByPTA7cjx0Lmxlbmd0aDtyKyspciE9PTAmJm4ucHVzaChlKSxuLnB1c2godFtyXSk7cmV0dXJuIG59ZnVuY3Rpb24gaihlKXtyZXR1cm4odCxuLHIpPT57bGV0IGk9ISEociE9bnVsbCYmci5iYWNrd2FyZHMpO2lmKG49PT0hMSlyZXR1cm4hMTtsZXR7bGVuZ3RoOnN9PXQsYT1uO2Zvcig7YT49MCYmYTxzOyl7bGV0IHU9dC5jaGFyQXQoYSk7aWYoZSBpbnN0YW5jZW9mIFJlZ0V4cCl7aWYoIWUudGVzdCh1KSlyZXR1cm4gYX1lbHNlIGlmKCFlLmluY2x1ZGVzKHUpKXJldHVybiBhO2k/YS0tOmErK31yZXR1cm4gYT09PS0xfHxhPT09cz9hOiExfX12YXIgQW49aigvXFxzL3UpLEc9aihcIiBcdFwiKSxfZT1qKFwiLDsgXHRcIikseWU9aigvW15cXG5cXHJdL3UpO2Z1bmN0aW9uIFR0KGUsdCxuKXtsZXQgcj0hIShuIT1udWxsJiZuLmJhY2t3YXJkcyk7aWYodD09PSExKXJldHVybiExO2xldCBpPWUuY2hhckF0KHQpO2lmKHIpe2lmKGUuY2hhckF0KHQtMSk9PT1cIlxcclwiJiZpPT09YFxuYClyZXR1cm4gdC0yO2lmKGk9PT1gXG5gfHxpPT09XCJcXHJcInx8aT09PVwiXFx1MjAyOFwifHxpPT09XCJcXHUyMDI5XCIpcmV0dXJuIHQtMX1lbHNle2lmKGk9PT1cIlxcclwiJiZlLmNoYXJBdCh0KzEpPT09YFxuYClyZXR1cm4gdCsyO2lmKGk9PT1gXG5gfHxpPT09XCJcXHJcInx8aT09PVwiXFx1MjAyOFwifHxpPT09XCJcXHUyMDI5XCIpcmV0dXJuIHQrMX1yZXR1cm4gdH12YXIgJD1UdDtmdW5jdGlvbiBOdChlLHQsbj17fSl7bGV0IHI9RyhlLG4uYmFja3dhcmRzP3QtMTp0LG4pLGk9JChlLHIsbik7cmV0dXJuIHIhPT1pfXZhciBJZT1OdDtmdW5jdGlvbiB4dChlLHQpe2lmKHQ9PT0hMSlyZXR1cm4hMTtpZihlLmNoYXJBdCh0KT09PVwiL1wiJiZlLmNoYXJBdCh0KzEpPT09XCIqXCIpe2ZvcihsZXQgbj10KzI7bjxlLmxlbmd0aDsrK24paWYoZS5jaGFyQXQobik9PT1cIipcIiYmZS5jaGFyQXQobisxKT09PVwiL1wiKXJldHVybiBuKzJ9cmV0dXJuIHR9dmFyIE9lPXh0O2Z1bmN0aW9uIF90KGUsdCl7cmV0dXJuIHQ9PT0hMT8hMTplLmNoYXJBdCh0KT09PVwiL1wiJiZlLmNoYXJBdCh0KzEpPT09XCIvXCI/eWUoZSx0KTp0fXZhciBEZT1fdDtmdW5jdGlvbiB5dChlLHQpe2xldCBuPW51bGwscj10O2Zvcig7ciE9PW47KW49cixyPV9lKGUscikscj1PZShlLHIpLHI9RyhlLHIpO3JldHVybiByPURlKGUscikscj0kKGUsciksciE9PSExJiZJZShlLHIpfXZhciBBZT15dDtmdW5jdGlvbiBJdChlKXtyZXR1cm4gQXJyYXkuaXNBcnJheShlKSYmZS5sZW5ndGg+MH12YXIgdWU9SXQ7dmFyIGxlPWNsYXNzIGV4dGVuZHMgRXJyb3J7bmFtZT1cIlVuZXhwZWN0ZWROb2RlRXJyb3JcIjtjb25zdHJ1Y3Rvcih0LG4scj1cInR5cGVcIil7c3VwZXIoYFVuZXhwZWN0ZWQgJHtufSBub2RlICR7cn06ICR7SlNPTi5zdHJpbmdpZnkodFtyXSl9LmApLHRoaXMubm9kZT10fX0sZ2U9bGU7dmFyIEY9bnVsbDtmdW5jdGlvbiB3KGUpe2lmKEYhPT1udWxsJiZ0eXBlb2YgRi5wcm9wZXJ0eSl7bGV0IHQ9RjtyZXR1cm4gRj13LnByb3RvdHlwZT1udWxsLHR9cmV0dXJuIEY9dy5wcm90b3R5cGU9ZT8/T2JqZWN0LmNyZWF0ZShudWxsKSxuZXcgd312YXIgT3Q9MTA7Zm9yKGxldCBlPTA7ZTw9T3Q7ZSsrKXcoKTtmdW5jdGlvbiBwZShlKXtyZXR1cm4gdyhlKX1mdW5jdGlvbiBEdChlLHQ9XCJ0eXBlXCIpe3BlKGUpO2Z1bmN0aW9uIG4ocil7bGV0IGk9clt0XSxzPWVbaV07aWYoIUFycmF5LmlzQXJyYXkocykpdGhyb3cgT2JqZWN0LmFzc2lnbihuZXcgRXJyb3IoYE1pc3NpbmcgdmlzaXRvciBrZXlzIGZvciAnJHtpfScuYCkse25vZGU6cn0pO3JldHVybiBzfXJldHVybiBufXZhciBrZT1EdDt2YXIgSj1jbGFzc3tjb25zdHJ1Y3Rvcih0LG4scil7dGhpcy5zdGFydD10LnN0YXJ0LHRoaXMuZW5kPW4uZW5kLHRoaXMuc3RhcnRUb2tlbj10LHRoaXMuZW5kVG9rZW49bix0aGlzLnNvdXJjZT1yfWdldFtTeW1ib2wudG9TdHJpbmdUYWddKCl7cmV0dXJuXCJMb2NhdGlvblwifXRvSlNPTigpe3JldHVybntzdGFydDp0aGlzLnN0YXJ0LGVuZDp0aGlzLmVuZH19fSxWPWNsYXNze2NvbnN0cnVjdG9yKHQsbixyLGkscyxhKXt0aGlzLmtpbmQ9dCx0aGlzLnN0YXJ0PW4sdGhpcy5lbmQ9cix0aGlzLmxpbmU9aSx0aGlzLmNvbHVtbj1zLHRoaXMudmFsdWU9YSx0aGlzLnByZXY9bnVsbCx0aGlzLm5leHQ9bnVsbH1nZXRbU3ltYm9sLnRvU3RyaW5nVGFnXSgpe3JldHVyblwiVG9rZW5cIn10b0pTT04oKXtyZXR1cm57a2luZDp0aGlzLmtpbmQsdmFsdWU6dGhpcy52YWx1ZSxsaW5lOnRoaXMubGluZSxjb2x1bW46dGhpcy5jb2x1bW59fX0sWD17TmFtZTpbXSxEb2N1bWVudDpbXCJkZWZpbml0aW9uc1wiXSxPcGVyYXRpb25EZWZpbml0aW9uOltcIm5hbWVcIixcInZhcmlhYmxlRGVmaW5pdGlvbnNcIixcImRpcmVjdGl2ZXNcIixcInNlbGVjdGlvblNldFwiXSxWYXJpYWJsZURlZmluaXRpb246W1widmFyaWFibGVcIixcInR5cGVcIixcImRlZmF1bHRWYWx1ZVwiLFwiZGlyZWN0aXZlc1wiXSxWYXJpYWJsZTpbXCJuYW1lXCJdLFNlbGVjdGlvblNldDpbXCJzZWxlY3Rpb25zXCJdLEZpZWxkOltcImFsaWFzXCIsXCJuYW1lXCIsXCJhcmd1bWVudHNcIixcImRpcmVjdGl2ZXNcIixcInNlbGVjdGlvblNldFwiXSxBcmd1bWVudDpbXCJuYW1lXCIsXCJ2YWx1ZVwiXSxGcmFnbWVudFNwcmVhZDpbXCJuYW1lXCIsXCJkaXJlY3RpdmVzXCJdLElubGluZUZyYWdtZW50OltcInR5cGVDb25kaXRpb25cIixcImRpcmVjdGl2ZXNcIixcInNlbGVjdGlvblNldFwiXSxGcmFnbWVudERlZmluaXRpb246W1wibmFtZVwiLFwidmFyaWFibGVEZWZpbml0aW9uc1wiLFwidHlwZUNvbmRpdGlvblwiLFwiZGlyZWN0aXZlc1wiLFwic2VsZWN0aW9uU2V0XCJdLEludFZhbHVlOltdLEZsb2F0VmFsdWU6W10sU3RyaW5nVmFsdWU6W10sQm9vbGVhblZhbHVlOltdLE51bGxWYWx1ZTpbXSxFbnVtVmFsdWU6W10sTGlzdFZhbHVlOltcInZhbHVlc1wiXSxPYmplY3RWYWx1ZTpbXCJmaWVsZHNcIl0sT2JqZWN0RmllbGQ6W1wibmFtZVwiLFwidmFsdWVcIl0sRGlyZWN0aXZlOltcIm5hbWVcIixcImFyZ3VtZW50c1wiXSxOYW1lZFR5cGU6W1wibmFtZVwiXSxMaXN0VHlwZTpbXCJ0eXBlXCJdLE5vbk51bGxUeXBlOltcInR5cGVcIl0sU2NoZW1hRGVmaW5pdGlvbjpbXCJkZXNjcmlwdGlvblwiLFwiZGlyZWN0aXZlc1wiLFwib3BlcmF0aW9uVHlwZXNcIl0sT3BlcmF0aW9uVHlwZURlZmluaXRpb246W1widHlwZVwiXSxTY2FsYXJUeXBlRGVmaW5pdGlvbjpbXCJkZXNjcmlwdGlvblwiLFwibmFtZVwiLFwiZGlyZWN0aXZlc1wiXSxPYmplY3RUeXBlRGVmaW5pdGlvbjpbXCJkZXNjcmlwdGlvblwiLFwibmFtZVwiLFwiaW50ZXJmYWNlc1wiLFwiZGlyZWN0aXZlc1wiLFwiZmllbGRzXCJdLEZpZWxkRGVmaW5pdGlvbjpbXCJkZXNjcmlwdGlvblwiLFwibmFtZVwiLFwiYXJndW1lbnRzXCIsXCJ0eXBlXCIsXCJkaXJlY3RpdmVzXCJdLElucHV0VmFsdWVEZWZpbml0aW9uOltcImRlc2NyaXB0aW9uXCIsXCJuYW1lXCIsXCJ0eXBlXCIsXCJkZWZhdWx0VmFsdWVcIixcImRpcmVjdGl2ZXNcIl0sSW50ZXJmYWNlVHlwZURlZmluaXRpb246W1wiZGVzY3JpcHRpb25cIixcIm5hbWVcIixcImludGVyZmFjZXNcIixcImRpcmVjdGl2ZXNcIixcImZpZWxkc1wiXSxVbmlvblR5cGVEZWZpbml0aW9uOltcImRlc2NyaXB0aW9uXCIsXCJuYW1lXCIsXCJkaXJlY3RpdmVzXCIsXCJ0eXBlc1wiXSxFbnVtVHlwZURlZmluaXRpb246W1wiZGVzY3JpcHRpb25cIixcIm5hbWVcIixcImRpcmVjdGl2ZXNcIixcInZhbHVlc1wiXSxFbnVtVmFsdWVEZWZpbml0aW9uOltcImRlc2NyaXB0aW9uXCIsXCJuYW1lXCIsXCJkaXJlY3RpdmVzXCJdLElucHV0T2JqZWN0VHlwZURlZmluaXRpb246W1wiZGVzY3JpcHRpb25cIixcIm5hbWVcIixcImRpcmVjdGl2ZXNcIixcImZpZWxkc1wiXSxEaXJlY3RpdmVEZWZpbml0aW9uOltcImRlc2NyaXB0aW9uXCIsXCJuYW1lXCIsXCJhcmd1bWVudHNcIixcImxvY2F0aW9uc1wiXSxTY2hlbWFFeHRlbnNpb246W1wiZGlyZWN0aXZlc1wiLFwib3BlcmF0aW9uVHlwZXNcIl0sU2NhbGFyVHlwZUV4dGVuc2lvbjpbXCJuYW1lXCIsXCJkaXJlY3RpdmVzXCJdLE9iamVjdFR5cGVFeHRlbnNpb246W1wibmFtZVwiLFwiaW50ZXJmYWNlc1wiLFwiZGlyZWN0aXZlc1wiLFwiZmllbGRzXCJdLEludGVyZmFjZVR5cGVFeHRlbnNpb246W1wibmFtZVwiLFwiaW50ZXJmYWNlc1wiLFwiZGlyZWN0aXZlc1wiLFwiZmllbGRzXCJdLFVuaW9uVHlwZUV4dGVuc2lvbjpbXCJuYW1lXCIsXCJkaXJlY3RpdmVzXCIsXCJ0eXBlc1wiXSxFbnVtVHlwZUV4dGVuc2lvbjpbXCJuYW1lXCIsXCJkaXJlY3RpdmVzXCIsXCJ2YWx1ZXNcIl0sSW5wdXRPYmplY3RUeXBlRXh0ZW5zaW9uOltcIm5hbWVcIixcImRpcmVjdGl2ZXNcIixcImZpZWxkc1wiXX0sSm49bmV3IFNldChPYmplY3Qua2V5cyhYKSk7dmFyIFM7KGZ1bmN0aW9uKGUpe2UuUVVFUlk9XCJxdWVyeVwiLGUuTVVUQVRJT049XCJtdXRhdGlvblwiLGUuU1VCU0NSSVBUSU9OPVwic3Vic2NyaXB0aW9uXCJ9KShTfHwoUz17fSkpO3ZhciBBdD1rZShYLFwia2luZFwiKSxTZT1BdDtmdW5jdGlvbiBxKGUpe3JldHVybiBlLmxvYy5zdGFydH1mdW5jdGlvbiBRKGUpe3JldHVybiBlLmxvYy5lbmR9ZnVuY3Rpb24gQ2UoZSl7cmV0dXJuL15cXHMqI1teXFxTXFxuXSpAKD86Zm9ybWF0fHByZXR0aWVyKVxccyooPzpcXG58JCkvdS50ZXN0KGUpfWZ1bmN0aW9uIHZlKGUpe3JldHVybmAjIEBmb3JtYXRcblxuYCtlfWZ1bmN0aW9uIGd0KGUsdCxuKXtsZXR7bm9kZTpyfT1lO2lmKCFyLmRlc2NyaXB0aW9uKXJldHVyblwiXCI7bGV0IGk9W24oXCJkZXNjcmlwdGlvblwiKV07cmV0dXJuIHIua2luZD09PVwiSW5wdXRWYWx1ZURlZmluaXRpb25cIiYmIXIuZGVzY3JpcHRpb24uYmxvY2s/aS5wdXNoKGspOmkucHVzaChmKSxpfXZhciBBPWd0O2Z1bmN0aW9uIGt0KGUsdCxuKXtsZXR7bm9kZTpyfT1lO3N3aXRjaChyLmtpbmQpe2Nhc2VcIkRvY3VtZW50XCI6cmV0dXJuWy4uLkUoZixnKGUsdCxuLFwiZGVmaW5pdGlvbnNcIikpLGZdO2Nhc2VcIk9wZXJhdGlvbkRlZmluaXRpb25cIjp7bGV0IGk9dC5vcmlnaW5hbFRleHRbcShyKV0hPT1cIntcIixzPSEhci5uYW1lO3JldHVybltpP3Iub3BlcmF0aW9uOlwiXCIsaSYmcz9bXCIgXCIsbihcIm5hbWVcIildOlwiXCIsaSYmIXMmJnVlKHIudmFyaWFibGVEZWZpbml0aW9ucyk/XCIgXCI6XCJcIixiZShlLG4pLF8oZSxuLHIpLCFpJiYhcz9cIlwiOlwiIFwiLG4oXCJzZWxlY3Rpb25TZXRcIildfWNhc2VcIkZyYWdtZW50RGVmaW5pdGlvblwiOnJldHVybltcImZyYWdtZW50IFwiLG4oXCJuYW1lXCIpLGJlKGUsbiksXCIgb24gXCIsbihcInR5cGVDb25kaXRpb25cIiksXyhlLG4sciksXCIgXCIsbihcInNlbGVjdGlvblNldFwiKV07Y2FzZVwiU2VsZWN0aW9uU2V0XCI6cmV0dXJuW1wie1wiLHgoW2YsRShmLGcoZSx0LG4sXCJzZWxlY3Rpb25zXCIpKV0pLGYsXCJ9XCJdO2Nhc2VcIkZpZWxkXCI6cmV0dXJuIHkoW3IuYWxpYXM/W24oXCJhbGlhc1wiKSxcIjogXCJdOlwiXCIsbihcIm5hbWVcIiksci5hcmd1bWVudHMubGVuZ3RoPjA/eShbXCIoXCIseChbcCxFKFtPKFwiXCIsXCIsIFwiKSxwXSxnKGUsdCxuLFwiYXJndW1lbnRzXCIpKV0pLHAsXCIpXCJdKTpcIlwiLF8oZSxuLHIpLHIuc2VsZWN0aW9uU2V0P1wiIFwiOlwiXCIsbihcInNlbGVjdGlvblNldFwiKV0pO2Nhc2VcIk5hbWVcIjpyZXR1cm4gci52YWx1ZTtjYXNlXCJTdHJpbmdWYWx1ZVwiOmlmKHIuYmxvY2spe2xldCBpPVkoITEsci52YWx1ZSwnXCJcIlwiJyxTdHJpbmcucmF3YFxcXCJcIlwiYCkuc3BsaXQoYFxuYCk7cmV0dXJuIGkubGVuZ3RoPT09MSYmKGlbMF09aVswXS50cmltKCkpLGkuZXZlcnkocz0+cz09PVwiXCIpJiYoaS5sZW5ndGg9MCksRShmLFsnXCJcIlwiJywuLi5pLCdcIlwiXCInXSl9cmV0dXJuWydcIicsWSghMSxZKCExLHIudmFsdWUsL1tcIlxcXFxdL2d1LFN0cmluZy5yYXdgXFwkJmApLGBcbmAsU3RyaW5nLnJhd2BcXG5gKSwnXCInXTtjYXNlXCJJbnRWYWx1ZVwiOmNhc2VcIkZsb2F0VmFsdWVcIjpjYXNlXCJFbnVtVmFsdWVcIjpyZXR1cm4gci52YWx1ZTtjYXNlXCJCb29sZWFuVmFsdWVcIjpyZXR1cm4gci52YWx1ZT9cInRydWVcIjpcImZhbHNlXCI7Y2FzZVwiTnVsbFZhbHVlXCI6cmV0dXJuXCJudWxsXCI7Y2FzZVwiVmFyaWFibGVcIjpyZXR1cm5bXCIkXCIsbihcIm5hbWVcIildO2Nhc2VcIkxpc3RWYWx1ZVwiOnJldHVybiB5KFtcIltcIix4KFtwLEUoW08oXCJcIixcIiwgXCIpLHBdLGUubWFwKG4sXCJ2YWx1ZXNcIikpXSkscCxcIl1cIl0pO2Nhc2VcIk9iamVjdFZhbHVlXCI6e2xldCBpPXQuYnJhY2tldFNwYWNpbmcmJnIuZmllbGRzLmxlbmd0aD4wP1wiIFwiOlwiXCI7cmV0dXJuIHkoW1wie1wiLGkseChbcCxFKFtPKFwiXCIsXCIsIFwiKSxwXSxlLm1hcChuLFwiZmllbGRzXCIpKV0pLHAsTyhcIlwiLGkpLFwifVwiXSl9Y2FzZVwiT2JqZWN0RmllbGRcIjpjYXNlXCJBcmd1bWVudFwiOnJldHVybltuKFwibmFtZVwiKSxcIjogXCIsbihcInZhbHVlXCIpXTtjYXNlXCJEaXJlY3RpdmVcIjpyZXR1cm5bXCJAXCIsbihcIm5hbWVcIiksci5hcmd1bWVudHMubGVuZ3RoPjA/eShbXCIoXCIseChbcCxFKFtPKFwiXCIsXCIsIFwiKSxwXSxnKGUsdCxuLFwiYXJndW1lbnRzXCIpKV0pLHAsXCIpXCJdKTpcIlwiXTtjYXNlXCJOYW1lZFR5cGVcIjpyZXR1cm4gbihcIm5hbWVcIik7Y2FzZVwiVmFyaWFibGVEZWZpbml0aW9uXCI6cmV0dXJuW24oXCJ2YXJpYWJsZVwiKSxcIjogXCIsbihcInR5cGVcIiksci5kZWZhdWx0VmFsdWU/W1wiID0gXCIsbihcImRlZmF1bHRWYWx1ZVwiKV06XCJcIixfKGUsbixyKV07Y2FzZVwiT2JqZWN0VHlwZUV4dGVuc2lvblwiOmNhc2VcIk9iamVjdFR5cGVEZWZpbml0aW9uXCI6Y2FzZVwiSW5wdXRPYmplY3RUeXBlRXh0ZW5zaW9uXCI6Y2FzZVwiSW5wdXRPYmplY3RUeXBlRGVmaW5pdGlvblwiOmNhc2VcIkludGVyZmFjZVR5cGVFeHRlbnNpb25cIjpjYXNlXCJJbnRlcmZhY2VUeXBlRGVmaW5pdGlvblwiOntsZXR7a2luZDppfT1yLHM9W107cmV0dXJuIGkuZW5kc1dpdGgoXCJUeXBlRGVmaW5pdGlvblwiKT9zLnB1c2goQShlLHQsbikpOnMucHVzaChcImV4dGVuZCBcIiksaS5zdGFydHNXaXRoKFwiT2JqZWN0VHlwZVwiKT9zLnB1c2goXCJ0eXBlXCIpOmkuc3RhcnRzV2l0aChcIklucHV0T2JqZWN0VHlwZVwiKT9zLnB1c2goXCJpbnB1dFwiKTpzLnB1c2goXCJpbnRlcmZhY2VcIikscy5wdXNoKFwiIFwiLG4oXCJuYW1lXCIpKSwhaS5zdGFydHNXaXRoKFwiSW5wdXRPYmplY3RUeXBlXCIpJiZyLmludGVyZmFjZXMubGVuZ3RoPjAmJnMucHVzaChcIiBpbXBsZW1lbnRzIFwiLC4uLnZ0KGUsdCxuKSkscy5wdXNoKF8oZSxuLHIpKSxyLmZpZWxkcy5sZW5ndGg+MCYmcy5wdXNoKFtcIiB7XCIseChbZixFKGYsZyhlLHQsbixcImZpZWxkc1wiKSldKSxmLFwifVwiXSksc31jYXNlXCJGaWVsZERlZmluaXRpb25cIjpyZXR1cm5bQShlLHQsbiksbihcIm5hbWVcIiksci5hcmd1bWVudHMubGVuZ3RoPjA/eShbXCIoXCIseChbcCxFKFtPKFwiXCIsXCIsIFwiKSxwXSxnKGUsdCxuLFwiYXJndW1lbnRzXCIpKV0pLHAsXCIpXCJdKTpcIlwiLFwiOiBcIixuKFwidHlwZVwiKSxfKGUsbixyKV07Y2FzZVwiRGlyZWN0aXZlRGVmaW5pdGlvblwiOnJldHVybltBKGUsdCxuKSxcImRpcmVjdGl2ZSBcIixcIkBcIixuKFwibmFtZVwiKSxyLmFyZ3VtZW50cy5sZW5ndGg+MD95KFtcIihcIix4KFtwLEUoW08oXCJcIixcIiwgXCIpLHBdLGcoZSx0LG4sXCJhcmd1bWVudHNcIikpXSkscCxcIilcIl0pOlwiXCIsci5yZXBlYXRhYmxlP1wiIHJlcGVhdGFibGVcIjpcIlwiLFwiIG9uIFwiLC4uLkUoXCIgfCBcIixlLm1hcChuLFwibG9jYXRpb25zXCIpKV07Y2FzZVwiRW51bVR5cGVFeHRlbnNpb25cIjpjYXNlXCJFbnVtVHlwZURlZmluaXRpb25cIjpyZXR1cm5bQShlLHQsbiksci5raW5kPT09XCJFbnVtVHlwZUV4dGVuc2lvblwiP1wiZXh0ZW5kIFwiOlwiXCIsXCJlbnVtIFwiLG4oXCJuYW1lXCIpLF8oZSxuLHIpLHIudmFsdWVzLmxlbmd0aD4wP1tcIiB7XCIseChbZixFKGYsZyhlLHQsbixcInZhbHVlc1wiKSldKSxmLFwifVwiXTpcIlwiXTtjYXNlXCJFbnVtVmFsdWVEZWZpbml0aW9uXCI6cmV0dXJuW0EoZSx0LG4pLG4oXCJuYW1lXCIpLF8oZSxuLHIpXTtjYXNlXCJJbnB1dFZhbHVlRGVmaW5pdGlvblwiOnJldHVybltBKGUsdCxuKSxuKFwibmFtZVwiKSxcIjogXCIsbihcInR5cGVcIiksci5kZWZhdWx0VmFsdWU/W1wiID0gXCIsbihcImRlZmF1bHRWYWx1ZVwiKV06XCJcIixfKGUsbixyKV07Y2FzZVwiU2NoZW1hRXh0ZW5zaW9uXCI6cmV0dXJuW1wiZXh0ZW5kIHNjaGVtYVwiLF8oZSxuLHIpLC4uLnIub3BlcmF0aW9uVHlwZXMubGVuZ3RoPjA/W1wiIHtcIix4KFtmLEUoZixnKGUsdCxuLFwib3BlcmF0aW9uVHlwZXNcIikpXSksZixcIn1cIl06W11dO2Nhc2VcIlNjaGVtYURlZmluaXRpb25cIjpyZXR1cm5bQShlLHQsbiksXCJzY2hlbWFcIixfKGUsbixyKSxcIiB7XCIsci5vcGVyYXRpb25UeXBlcy5sZW5ndGg+MD94KFtmLEUoZixnKGUsdCxuLFwib3BlcmF0aW9uVHlwZXNcIikpXSk6XCJcIixmLFwifVwiXTtjYXNlXCJPcGVyYXRpb25UeXBlRGVmaW5pdGlvblwiOnJldHVybltyLm9wZXJhdGlvbixcIjogXCIsbihcInR5cGVcIildO2Nhc2VcIkZyYWdtZW50U3ByZWFkXCI6cmV0dXJuW1wiLi4uXCIsbihcIm5hbWVcIiksXyhlLG4scildO2Nhc2VcIklubGluZUZyYWdtZW50XCI6cmV0dXJuW1wiLi4uXCIsci50eXBlQ29uZGl0aW9uP1tcIiBvbiBcIixuKFwidHlwZUNvbmRpdGlvblwiKV06XCJcIixfKGUsbixyKSxcIiBcIixuKFwic2VsZWN0aW9uU2V0XCIpXTtjYXNlXCJVbmlvblR5cGVFeHRlbnNpb25cIjpjYXNlXCJVbmlvblR5cGVEZWZpbml0aW9uXCI6cmV0dXJuIHkoW0EoZSx0LG4pLHkoW3Iua2luZD09PVwiVW5pb25UeXBlRXh0ZW5zaW9uXCI/XCJleHRlbmQgXCI6XCJcIixcInVuaW9uIFwiLG4oXCJuYW1lXCIpLF8oZSxuLHIpLHIudHlwZXMubGVuZ3RoPjA/W1wiID1cIixPKFwiXCIsXCIgXCIpLHgoW08oW2ssXCJ8IFwiXSksRShbayxcInwgXCJdLGUubWFwKG4sXCJ0eXBlc1wiKSldKV06XCJcIl0pXSk7Y2FzZVwiU2NhbGFyVHlwZUV4dGVuc2lvblwiOmNhc2VcIlNjYWxhclR5cGVEZWZpbml0aW9uXCI6cmV0dXJuW0EoZSx0LG4pLHIua2luZD09PVwiU2NhbGFyVHlwZUV4dGVuc2lvblwiP1wiZXh0ZW5kIFwiOlwiXCIsXCJzY2FsYXIgXCIsbihcIm5hbWVcIiksXyhlLG4scildO2Nhc2VcIk5vbk51bGxUeXBlXCI6cmV0dXJuW24oXCJ0eXBlXCIpLFwiIVwiXTtjYXNlXCJMaXN0VHlwZVwiOnJldHVybltcIltcIixuKFwidHlwZVwiKSxcIl1cIl07ZGVmYXVsdDp0aHJvdyBuZXcgZ2UocixcIkdyYXBocWxcIixcImtpbmRcIil9fWZ1bmN0aW9uIF8oZSx0LG4pe2lmKG4uZGlyZWN0aXZlcy5sZW5ndGg9PT0wKXJldHVyblwiXCI7bGV0IHI9RShrLGUubWFwKHQsXCJkaXJlY3RpdmVzXCIpKTtyZXR1cm4gbi5raW5kPT09XCJGcmFnbWVudERlZmluaXRpb25cInx8bi5raW5kPT09XCJPcGVyYXRpb25EZWZpbml0aW9uXCI/eShbayxyXSk6W1wiIFwiLHkoeChbcCxyXSkpXX1mdW5jdGlvbiBnKGUsdCxuLHIpe3JldHVybiBlLm1hcCgoe2lzTGFzdDppLG5vZGU6c30pPT57bGV0IGE9bigpO3JldHVybiFpJiZBZSh0Lm9yaWdpbmFsVGV4dCxRKHMpKT9bYSxmXTphfSxyKX1mdW5jdGlvbiBTdChlKXtyZXR1cm4gZS5raW5kIT09XCJDb21tZW50XCJ9ZnVuY3Rpb24gQ3QoZSl7bGV0IHQ9ZS5ub2RlO2lmKHQua2luZD09PVwiQ29tbWVudFwiKXJldHVyblwiI1wiK3QudmFsdWUudHJpbUVuZCgpO3Rocm93IG5ldyBFcnJvcihcIk5vdCBhIGNvbW1lbnQ6IFwiK0pTT04uc3RyaW5naWZ5KHQpKX1mdW5jdGlvbiB2dChlLHQsbil7bGV0e25vZGU6cn09ZSxpPVtdLHtpbnRlcmZhY2VzOnN9PXIsYT1lLm1hcChuLFwiaW50ZXJmYWNlc1wiKTtmb3IobGV0IHU9MDt1PHMubGVuZ3RoO3UrKyl7bGV0IGw9c1t1XTtpLnB1c2goYVt1XSk7bGV0IFQ9c1t1KzFdO2lmKFQpe2xldCBEPXQub3JpZ2luYWxUZXh0LnNsaWNlKGwubG9jLmVuZCxULmxvYy5zdGFydCkuaW5jbHVkZXMoXCIjXCIpO2kucHVzaChcIiAmXCIsRD9rOlwiIFwiKX19cmV0dXJuIGl9ZnVuY3Rpb24gYmUoZSx0KXtsZXR7bm9kZTpufT1lO3JldHVybiB1ZShuLnZhcmlhYmxlRGVmaW5pdGlvbnMpP3koW1wiKFwiLHgoW3AsRShbTyhcIlwiLFwiLCBcIikscF0sZS5tYXAodCxcInZhcmlhYmxlRGVmaW5pdGlvbnNcIikpXSkscCxcIilcIl0pOlwiXCJ9ZnVuY3Rpb24gTGUoZSx0KXtlLmtpbmQ9PT1cIlN0cmluZ1ZhbHVlXCImJmUuYmxvY2smJiFlLnZhbHVlLmluY2x1ZGVzKGBcbmApJiYodC52YWx1ZT1lLnZhbHVlLnRyaW0oKSl9TGUuaWdub3JlZFByb3BlcnRpZXM9bmV3IFNldChbXCJsb2NcIixcImNvbW1lbnRzXCJdKTtmdW5jdGlvbiBidChlKXt2YXIgbjtsZXR7bm9kZTp0fT1lO3JldHVybihuPXQ9PW51bGw/dm9pZCAwOnQuY29tbWVudHMpPT1udWxsP3ZvaWQgMDpuLnNvbWUocj0+ci52YWx1ZS50cmltKCk9PT1cInByZXR0aWVyLWlnbm9yZVwiKX12YXIgTHQ9e3ByaW50Omt0LG1hc3NhZ2VBc3ROb2RlOkxlLGhhc1ByZXR0aWVySWdub3JlOmJ0LGluc2VydFByYWdtYTp2ZSxwcmludENvbW1lbnQ6Q3QsY2FuQXR0YWNoQ29tbWVudDpTdCxnZXRWaXNpdG9yS2V5czpTZX0sUmU9THQ7dmFyIFBlPVt7bGluZ3Vpc3RMYW5ndWFnZUlkOjEzOSxuYW1lOlwiR3JhcGhRTFwiLHR5cGU6XCJkYXRhXCIsY29sb3I6XCIjZTEwMDk4XCIsZXh0ZW5zaW9uczpbXCIuZ3JhcGhxbFwiLFwiLmdxbFwiLFwiLmdyYXBocWxzXCJdLHRtU2NvcGU6XCJzb3VyY2UuZ3JhcGhxbFwiLGFjZU1vZGU6XCJ0ZXh0XCIscGFyc2VyczpbXCJncmFwaHFsXCJdLHZzY29kZUxhbmd1YWdlSWRzOltcImdyYXBocWxcIl19XTt2YXIgRmU9e2JyYWNrZXRTcGFjaW5nOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMCxkZXNjcmlwdGlvbjpcIlByaW50IHNwYWNlcyBiZXR3ZWVuIGJyYWNrZXRzLlwiLG9wcG9zaXRlRGVzY3JpcHRpb246XCJEbyBub3QgcHJpbnQgc3BhY2VzIGJldHdlZW4gYnJhY2tldHMuXCJ9LHNpbmdsZVF1b3RlOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMSxkZXNjcmlwdGlvbjpcIlVzZSBzaW5nbGUgcXVvdGVzIGluc3RlYWQgb2YgZG91YmxlIHF1b3Rlcy5cIn0scHJvc2VXcmFwOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJjaG9pY2VcIixkZWZhdWx0OlwicHJlc2VydmVcIixkZXNjcmlwdGlvbjpcIkhvdyB0byB3cmFwIHByb3NlLlwiLGNob2ljZXM6W3t2YWx1ZTpcImFsd2F5c1wiLGRlc2NyaXB0aW9uOlwiV3JhcCBwcm9zZSBpZiBpdCBleGNlZWRzIHRoZSBwcmludCB3aWR0aC5cIn0se3ZhbHVlOlwibmV2ZXJcIixkZXNjcmlwdGlvbjpcIkRvIG5vdCB3cmFwIHByb3NlLlwifSx7dmFsdWU6XCJwcmVzZXJ2ZVwiLGRlc2NyaXB0aW9uOlwiV3JhcCBwcm9zZSBhcy1pcy5cIn1dfSxicmFja2V0U2FtZUxpbmU6e2NhdGVnb3J5OlwiQ29tbW9uXCIsdHlwZTpcImJvb2xlYW5cIixkZWZhdWx0OiExLGRlc2NyaXB0aW9uOlwiUHV0ID4gb2Ygb3BlbmluZyB0YWdzIG9uIHRoZSBsYXN0IGxpbmUgaW5zdGVhZCBvZiBvbiBhIG5ldyBsaW5lLlwifSxzaW5nbGVBdHRyaWJ1dGVQZXJMaW5lOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMSxkZXNjcmlwdGlvbjpcIkVuZm9yY2Ugc2luZ2xlIGF0dHJpYnV0ZSBwZXIgbGluZSBpbiBIVE1MLCBWdWUgYW5kIEpTWC5cIn19O3ZhciBSdD17YnJhY2tldFNwYWNpbmc6RmUuYnJhY2tldFNwYWNpbmd9LHdlPVJ0O3ZhciBFZT17fTtOZShFZSx7Z3JhcGhxbDooKT0+cm59KTtmdW5jdGlvbiBWZShlKXtyZXR1cm4gdHlwZW9mIGU9PVwib2JqZWN0XCImJmUhPT1udWxsfWZ1bmN0aW9uIEJlKGUsdCl7aWYoISEhZSl0aHJvdyBuZXcgRXJyb3IodD8/XCJVbmV4cGVjdGVkIGludmFyaWFudCB0cmlnZ2VyZWQuXCIpfXZhciBQdD0vXFxyXFxufFtcXG5cXHJdL2c7ZnVuY3Rpb24gQihlLHQpe2xldCBuPTAscj0xO2ZvcihsZXQgaSBvZiBlLmJvZHkubWF0Y2hBbGwoUHQpKXtpZih0eXBlb2YgaS5pbmRleD09XCJudW1iZXJcInx8QmUoITEpLGkuaW5kZXg+PXQpYnJlYWs7bj1pLmluZGV4K2lbMF0ubGVuZ3RoLHIrPTF9cmV0dXJue2xpbmU6cixjb2x1bW46dCsxLW59fWZ1bmN0aW9uIE1lKGUpe3JldHVybiBmZShlLnNvdXJjZSxCKGUuc291cmNlLGUuc3RhcnQpKX1mdW5jdGlvbiBmZShlLHQpe2xldCBuPWUubG9jYXRpb25PZmZzZXQuY29sdW1uLTEscj1cIlwiLnBhZFN0YXJ0KG4pK2UuYm9keSxpPXQubGluZS0xLHM9ZS5sb2NhdGlvbk9mZnNldC5saW5lLTEsYT10LmxpbmUrcyx1PXQubGluZT09PTE/bjowLGw9dC5jb2x1bW4rdSxUPWAke2UubmFtZX06JHthfToke2x9XG5gLGg9ci5zcGxpdCgvXFxyXFxufFtcXG5cXHJdL2cpLEQ9aFtpXTtpZihELmxlbmd0aD4xMjApe2xldCBJPU1hdGguZmxvb3IobC84MCksaWU9bCU4MCxOPVtdO2ZvcihsZXQgdj0wO3Y8RC5sZW5ndGg7dis9ODApTi5wdXNoKEQuc2xpY2Uodix2KzgwKSk7cmV0dXJuIFQrVWUoW1tgJHthfSB8YCxOWzBdXSwuLi5OLnNsaWNlKDEsSSsxKS5tYXAodj0+W1wifFwiLHZdKSxbXCJ8XCIsXCJeXCIucGFkU3RhcnQoaWUpXSxbXCJ8XCIsTltJKzFdXV0pfXJldHVybiBUK1VlKFtbYCR7YS0xfSB8YCxoW2ktMV1dLFtgJHthfSB8YCxEXSxbXCJ8XCIsXCJeXCIucGFkU3RhcnQobCldLFtgJHthKzF9IHxgLGhbaSsxXV1dKX1mdW5jdGlvbiBVZShlKXtsZXQgdD1lLmZpbHRlcigoW3IsaV0pPT5pIT09dm9pZCAwKSxuPU1hdGgubWF4KC4uLnQubWFwKChbcl0pPT5yLmxlbmd0aCkpO3JldHVybiB0Lm1hcCgoW3IsaV0pPT5yLnBhZFN0YXJ0KG4pKyhpP1wiIFwiK2k6XCJcIikpLmpvaW4oYFxuYCl9ZnVuY3Rpb24gRnQoZSl7bGV0IHQ9ZVswXTtyZXR1cm4gdD09bnVsbHx8XCJraW5kXCJpbiB0fHxcImxlbmd0aFwiaW4gdD97bm9kZXM6dCxzb3VyY2U6ZVsxXSxwb3NpdGlvbnM6ZVsyXSxwYXRoOmVbM10sb3JpZ2luYWxFcnJvcjplWzRdLGV4dGVuc2lvbnM6ZVs1XX06dH12YXIgVz1jbGFzcyBlIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IodCwuLi5uKXt2YXIgcixpLHM7bGV0e25vZGVzOmEsc291cmNlOnUscG9zaXRpb25zOmwscGF0aDpULG9yaWdpbmFsRXJyb3I6aCxleHRlbnNpb25zOkR9PUZ0KG4pO3N1cGVyKHQpLHRoaXMubmFtZT1cIkdyYXBoUUxFcnJvclwiLHRoaXMucGF0aD1UPz92b2lkIDAsdGhpcy5vcmlnaW5hbEVycm9yPWg/P3ZvaWQgMCx0aGlzLm5vZGVzPVllKEFycmF5LmlzQXJyYXkoYSk/YTphP1thXTp2b2lkIDApO2xldCBJPVllKChyPXRoaXMubm9kZXMpPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6ci5tYXAoTj0+Ti5sb2MpLmZpbHRlcihOPT5OIT1udWxsKSk7dGhpcy5zb3VyY2U9dT8/KEk9PW51bGx8fChpPUlbMF0pPT09bnVsbHx8aT09PXZvaWQgMD92b2lkIDA6aS5zb3VyY2UpLHRoaXMucG9zaXRpb25zPWw/PyhJPT1udWxsP3ZvaWQgMDpJLm1hcChOPT5OLnN0YXJ0KSksdGhpcy5sb2NhdGlvbnM9bCYmdT9sLm1hcChOPT5CKHUsTikpOkk9PW51bGw/dm9pZCAwOkkubWFwKE49PkIoTi5zb3VyY2UsTi5zdGFydCkpO2xldCBpZT1WZShoPT1udWxsP3ZvaWQgMDpoLmV4dGVuc2lvbnMpP2g9PW51bGw/dm9pZCAwOmguZXh0ZW5zaW9uczp2b2lkIDA7dGhpcy5leHRlbnNpb25zPShzPUQ/P2llKSE9PW51bGwmJnMhPT12b2lkIDA/czpPYmplY3QuY3JlYXRlKG51bGwpLE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHRoaXMse21lc3NhZ2U6e3dyaXRhYmxlOiEwLGVudW1lcmFibGU6ITB9LG5hbWU6e2VudW1lcmFibGU6ITF9LG5vZGVzOntlbnVtZXJhYmxlOiExfSxzb3VyY2U6e2VudW1lcmFibGU6ITF9LHBvc2l0aW9uczp7ZW51bWVyYWJsZTohMX0sb3JpZ2luYWxFcnJvcjp7ZW51bWVyYWJsZTohMX19KSxoIT1udWxsJiZoLnN0YWNrP09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFwic3RhY2tcIix7dmFsdWU6aC5zdGFjayx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9KTpFcnJvci5jYXB0dXJlU3RhY2tUcmFjZT9FcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLGUpOk9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLFwic3RhY2tcIix7dmFsdWU6RXJyb3IoKS5zdGFjayx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9KX1nZXRbU3ltYm9sLnRvU3RyaW5nVGFnXSgpe3JldHVyblwiR3JhcGhRTEVycm9yXCJ9dG9TdHJpbmcoKXtsZXQgdD10aGlzLm1lc3NhZ2U7aWYodGhpcy5ub2Rlcylmb3IobGV0IG4gb2YgdGhpcy5ub2RlcyluLmxvYyYmKHQrPWBcblxuYCtNZShuLmxvYykpO2Vsc2UgaWYodGhpcy5zb3VyY2UmJnRoaXMubG9jYXRpb25zKWZvcihsZXQgbiBvZiB0aGlzLmxvY2F0aW9ucyl0Kz1gXG5cbmArZmUodGhpcy5zb3VyY2Usbik7cmV0dXJuIHR9dG9KU09OKCl7bGV0IHQ9e21lc3NhZ2U6dGhpcy5tZXNzYWdlfTtyZXR1cm4gdGhpcy5sb2NhdGlvbnMhPW51bGwmJih0LmxvY2F0aW9ucz10aGlzLmxvY2F0aW9ucyksdGhpcy5wYXRoIT1udWxsJiYodC5wYXRoPXRoaXMucGF0aCksdGhpcy5leHRlbnNpb25zIT1udWxsJiZPYmplY3Qua2V5cyh0aGlzLmV4dGVuc2lvbnMpLmxlbmd0aD4wJiYodC5leHRlbnNpb25zPXRoaXMuZXh0ZW5zaW9ucyksdH19O2Z1bmN0aW9uIFllKGUpe3JldHVybiBlPT09dm9pZCAwfHxlLmxlbmd0aD09PTA/dm9pZCAwOmV9ZnVuY3Rpb24gZChlLHQsbil7cmV0dXJuIG5ldyBXKGBTeW50YXggRXJyb3I6ICR7bn1gLHtzb3VyY2U6ZSxwb3NpdGlvbnM6W3RdfSl9dmFyIEg7KGZ1bmN0aW9uKGUpe2UuUVVFUlk9XCJRVUVSWVwiLGUuTVVUQVRJT049XCJNVVRBVElPTlwiLGUuU1VCU0NSSVBUSU9OPVwiU1VCU0NSSVBUSU9OXCIsZS5GSUVMRD1cIkZJRUxEXCIsZS5GUkFHTUVOVF9ERUZJTklUSU9OPVwiRlJBR01FTlRfREVGSU5JVElPTlwiLGUuRlJBR01FTlRfU1BSRUFEPVwiRlJBR01FTlRfU1BSRUFEXCIsZS5JTkxJTkVfRlJBR01FTlQ9XCJJTkxJTkVfRlJBR01FTlRcIixlLlZBUklBQkxFX0RFRklOSVRJT049XCJWQVJJQUJMRV9ERUZJTklUSU9OXCIsZS5TQ0hFTUE9XCJTQ0hFTUFcIixlLlNDQUxBUj1cIlNDQUxBUlwiLGUuT0JKRUNUPVwiT0JKRUNUXCIsZS5GSUVMRF9ERUZJTklUSU9OPVwiRklFTERfREVGSU5JVElPTlwiLGUuQVJHVU1FTlRfREVGSU5JVElPTj1cIkFSR1VNRU5UX0RFRklOSVRJT05cIixlLklOVEVSRkFDRT1cIklOVEVSRkFDRVwiLGUuVU5JT049XCJVTklPTlwiLGUuRU5VTT1cIkVOVU1cIixlLkVOVU1fVkFMVUU9XCJFTlVNX1ZBTFVFXCIsZS5JTlBVVF9PQkpFQ1Q9XCJJTlBVVF9PQkpFQ1RcIixlLklOUFVUX0ZJRUxEX0RFRklOSVRJT049XCJJTlBVVF9GSUVMRF9ERUZJTklUSU9OXCJ9KShIfHwoSD17fSkpO3ZhciBjOyhmdW5jdGlvbihlKXtlLk5BTUU9XCJOYW1lXCIsZS5ET0NVTUVOVD1cIkRvY3VtZW50XCIsZS5PUEVSQVRJT05fREVGSU5JVElPTj1cIk9wZXJhdGlvbkRlZmluaXRpb25cIixlLlZBUklBQkxFX0RFRklOSVRJT049XCJWYXJpYWJsZURlZmluaXRpb25cIixlLlNFTEVDVElPTl9TRVQ9XCJTZWxlY3Rpb25TZXRcIixlLkZJRUxEPVwiRmllbGRcIixlLkFSR1VNRU5UPVwiQXJndW1lbnRcIixlLkZSQUdNRU5UX1NQUkVBRD1cIkZyYWdtZW50U3ByZWFkXCIsZS5JTkxJTkVfRlJBR01FTlQ9XCJJbmxpbmVGcmFnbWVudFwiLGUuRlJBR01FTlRfREVGSU5JVElPTj1cIkZyYWdtZW50RGVmaW5pdGlvblwiLGUuVkFSSUFCTEU9XCJWYXJpYWJsZVwiLGUuSU5UPVwiSW50VmFsdWVcIixlLkZMT0FUPVwiRmxvYXRWYWx1ZVwiLGUuU1RSSU5HPVwiU3RyaW5nVmFsdWVcIixlLkJPT0xFQU49XCJCb29sZWFuVmFsdWVcIixlLk5VTEw9XCJOdWxsVmFsdWVcIixlLkVOVU09XCJFbnVtVmFsdWVcIixlLkxJU1Q9XCJMaXN0VmFsdWVcIixlLk9CSkVDVD1cIk9iamVjdFZhbHVlXCIsZS5PQkpFQ1RfRklFTEQ9XCJPYmplY3RGaWVsZFwiLGUuRElSRUNUSVZFPVwiRGlyZWN0aXZlXCIsZS5OQU1FRF9UWVBFPVwiTmFtZWRUeXBlXCIsZS5MSVNUX1RZUEU9XCJMaXN0VHlwZVwiLGUuTk9OX05VTExfVFlQRT1cIk5vbk51bGxUeXBlXCIsZS5TQ0hFTUFfREVGSU5JVElPTj1cIlNjaGVtYURlZmluaXRpb25cIixlLk9QRVJBVElPTl9UWVBFX0RFRklOSVRJT049XCJPcGVyYXRpb25UeXBlRGVmaW5pdGlvblwiLGUuU0NBTEFSX1RZUEVfREVGSU5JVElPTj1cIlNjYWxhclR5cGVEZWZpbml0aW9uXCIsZS5PQkpFQ1RfVFlQRV9ERUZJTklUSU9OPVwiT2JqZWN0VHlwZURlZmluaXRpb25cIixlLkZJRUxEX0RFRklOSVRJT049XCJGaWVsZERlZmluaXRpb25cIixlLklOUFVUX1ZBTFVFX0RFRklOSVRJT049XCJJbnB1dFZhbHVlRGVmaW5pdGlvblwiLGUuSU5URVJGQUNFX1RZUEVfREVGSU5JVElPTj1cIkludGVyZmFjZVR5cGVEZWZpbml0aW9uXCIsZS5VTklPTl9UWVBFX0RFRklOSVRJT049XCJVbmlvblR5cGVEZWZpbml0aW9uXCIsZS5FTlVNX1RZUEVfREVGSU5JVElPTj1cIkVudW1UeXBlRGVmaW5pdGlvblwiLGUuRU5VTV9WQUxVRV9ERUZJTklUSU9OPVwiRW51bVZhbHVlRGVmaW5pdGlvblwiLGUuSU5QVVRfT0JKRUNUX1RZUEVfREVGSU5JVElPTj1cIklucHV0T2JqZWN0VHlwZURlZmluaXRpb25cIixlLkRJUkVDVElWRV9ERUZJTklUSU9OPVwiRGlyZWN0aXZlRGVmaW5pdGlvblwiLGUuU0NIRU1BX0VYVEVOU0lPTj1cIlNjaGVtYUV4dGVuc2lvblwiLGUuU0NBTEFSX1RZUEVfRVhURU5TSU9OPVwiU2NhbGFyVHlwZUV4dGVuc2lvblwiLGUuT0JKRUNUX1RZUEVfRVhURU5TSU9OPVwiT2JqZWN0VHlwZUV4dGVuc2lvblwiLGUuSU5URVJGQUNFX1RZUEVfRVhURU5TSU9OPVwiSW50ZXJmYWNlVHlwZUV4dGVuc2lvblwiLGUuVU5JT05fVFlQRV9FWFRFTlNJT049XCJVbmlvblR5cGVFeHRlbnNpb25cIixlLkVOVU1fVFlQRV9FWFRFTlNJT049XCJFbnVtVHlwZUV4dGVuc2lvblwiLGUuSU5QVVRfT0JKRUNUX1RZUEVfRVhURU5TSU9OPVwiSW5wdXRPYmplY3RUeXBlRXh0ZW5zaW9uXCJ9KShjfHwoYz17fSkpO2Z1bmN0aW9uIGplKGUpe3JldHVybiBlPT09OXx8ZT09PTMyfWZ1bmN0aW9uIEwoZSl7cmV0dXJuIGU+PTQ4JiZlPD01N31mdW5jdGlvbiBHZShlKXtyZXR1cm4gZT49OTcmJmU8PTEyMnx8ZT49NjUmJmU8PTkwfWZ1bmN0aW9uIGhlKGUpe3JldHVybiBHZShlKXx8ZT09PTk1fWZ1bmN0aW9uICRlKGUpe3JldHVybiBHZShlKXx8TChlKXx8ZT09PTk1fWZ1bmN0aW9uIEplKGUpe3ZhciB0O2xldCBuPU51bWJlci5NQVhfU0FGRV9JTlRFR0VSLHI9bnVsbCxpPS0xO2ZvcihsZXQgYT0wO2E8ZS5sZW5ndGg7KythKXt2YXIgcztsZXQgdT1lW2FdLGw9d3QodSk7bCE9PXUubGVuZ3RoJiYocj0ocz1yKSE9PW51bGwmJnMhPT12b2lkIDA/czphLGk9YSxhIT09MCYmbDxuJiYobj1sKSl9cmV0dXJuIGUubWFwKChhLHUpPT51PT09MD9hOmEuc2xpY2UobikpLnNsaWNlKCh0PXIpIT09bnVsbCYmdCE9PXZvaWQgMD90OjAsaSsxKX1mdW5jdGlvbiB3dChlKXtsZXQgdD0wO2Zvcig7dDxlLmxlbmd0aCYmamUoZS5jaGFyQ29kZUF0KHQpKTspKyt0O3JldHVybiB0fXZhciBvOyhmdW5jdGlvbihlKXtlLlNPRj1cIjxTT0Y+XCIsZS5FT0Y9XCI8RU9GPlwiLGUuQkFORz1cIiFcIixlLkRPTExBUj1cIiRcIixlLkFNUD1cIiZcIixlLlBBUkVOX0w9XCIoXCIsZS5QQVJFTl9SPVwiKVwiLGUuU1BSRUFEPVwiLi4uXCIsZS5DT0xPTj1cIjpcIixlLkVRVUFMUz1cIj1cIixlLkFUPVwiQFwiLGUuQlJBQ0tFVF9MPVwiW1wiLGUuQlJBQ0tFVF9SPVwiXVwiLGUuQlJBQ0VfTD1cIntcIixlLlBJUEU9XCJ8XCIsZS5CUkFDRV9SPVwifVwiLGUuTkFNRT1cIk5hbWVcIixlLklOVD1cIkludFwiLGUuRkxPQVQ9XCJGbG9hdFwiLGUuU1RSSU5HPVwiU3RyaW5nXCIsZS5CTE9DS19TVFJJTkc9XCJCbG9ja1N0cmluZ1wiLGUuQ09NTUVOVD1cIkNvbW1lbnRcIn0pKG98fChvPXt9KSk7dmFyIHo9Y2xhc3N7Y29uc3RydWN0b3IodCl7bGV0IG49bmV3IFYoby5TT0YsMCwwLDAsMCk7dGhpcy5zb3VyY2U9dCx0aGlzLmxhc3RUb2tlbj1uLHRoaXMudG9rZW49bix0aGlzLmxpbmU9MSx0aGlzLmxpbmVTdGFydD0wfWdldFtTeW1ib2wudG9TdHJpbmdUYWddKCl7cmV0dXJuXCJMZXhlclwifWFkdmFuY2UoKXtyZXR1cm4gdGhpcy5sYXN0VG9rZW49dGhpcy50b2tlbix0aGlzLnRva2VuPXRoaXMubG9va2FoZWFkKCl9bG9va2FoZWFkKCl7bGV0IHQ9dGhpcy50b2tlbjtpZih0LmtpbmQhPT1vLkVPRilkbyBpZih0Lm5leHQpdD10Lm5leHQ7ZWxzZXtsZXQgbj1WdCh0aGlzLHQuZW5kKTt0Lm5leHQ9bixuLnByZXY9dCx0PW59d2hpbGUodC5raW5kPT09by5DT01NRU5UKTtyZXR1cm4gdH19O2Z1bmN0aW9uIHFlKGUpe3JldHVybiBlPT09by5CQU5HfHxlPT09by5ET0xMQVJ8fGU9PT1vLkFNUHx8ZT09PW8uUEFSRU5fTHx8ZT09PW8uUEFSRU5fUnx8ZT09PW8uU1BSRUFEfHxlPT09by5DT0xPTnx8ZT09PW8uRVFVQUxTfHxlPT09by5BVHx8ZT09PW8uQlJBQ0tFVF9MfHxlPT09by5CUkFDS0VUX1J8fGU9PT1vLkJSQUNFX0x8fGU9PT1vLlBJUEV8fGU9PT1vLkJSQUNFX1J9ZnVuY3Rpb24gUihlKXtyZXR1cm4gZT49MCYmZTw9NTUyOTV8fGU+PTU3MzQ0JiZlPD0xMTE0MTExfWZ1bmN0aW9uIEsoZSx0KXtyZXR1cm4gUWUoZS5jaGFyQ29kZUF0KHQpKSYmV2UoZS5jaGFyQ29kZUF0KHQrMSkpfWZ1bmN0aW9uIFFlKGUpe3JldHVybiBlPj01NTI5NiYmZTw9NTYzMTl9ZnVuY3Rpb24gV2UoZSl7cmV0dXJuIGU+PTU2MzIwJiZlPD01NzM0M31mdW5jdGlvbiBDKGUsdCl7bGV0IG49ZS5zb3VyY2UuYm9keS5jb2RlUG9pbnRBdCh0KTtpZihuPT09dm9pZCAwKXJldHVybiBvLkVPRjtpZihuPj0zMiYmbjw9MTI2KXtsZXQgcj1TdHJpbmcuZnJvbUNvZGVQb2ludChuKTtyZXR1cm4gcj09PSdcIic/YCdcIidgOmBcIiR7cn1cImB9cmV0dXJuXCJVK1wiK24udG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkucGFkU3RhcnQoNCxcIjBcIil9ZnVuY3Rpb24gbShlLHQsbixyLGkpe2xldCBzPWUubGluZSxhPTErbi1lLmxpbmVTdGFydDtyZXR1cm4gbmV3IFYodCxuLHIscyxhLGkpfWZ1bmN0aW9uIFZ0KGUsdCl7bGV0IG49ZS5zb3VyY2UuYm9keSxyPW4ubGVuZ3RoLGk9dDtmb3IoO2k8cjspe2xldCBzPW4uY2hhckNvZGVBdChpKTtzd2l0Y2gocyl7Y2FzZSA2NTI3OTpjYXNlIDk6Y2FzZSAzMjpjYXNlIDQ0OisraTtjb250aW51ZTtjYXNlIDEwOisraSwrK2UubGluZSxlLmxpbmVTdGFydD1pO2NvbnRpbnVlO2Nhc2UgMTM6bi5jaGFyQ29kZUF0KGkrMSk9PT0xMD9pKz0yOisraSwrK2UubGluZSxlLmxpbmVTdGFydD1pO2NvbnRpbnVlO2Nhc2UgMzU6cmV0dXJuIEJ0KGUsaSk7Y2FzZSAzMzpyZXR1cm4gbShlLG8uQkFORyxpLGkrMSk7Y2FzZSAzNjpyZXR1cm4gbShlLG8uRE9MTEFSLGksaSsxKTtjYXNlIDM4OnJldHVybiBtKGUsby5BTVAsaSxpKzEpO2Nhc2UgNDA6cmV0dXJuIG0oZSxvLlBBUkVOX0wsaSxpKzEpO2Nhc2UgNDE6cmV0dXJuIG0oZSxvLlBBUkVOX1IsaSxpKzEpO2Nhc2UgNDY6aWYobi5jaGFyQ29kZUF0KGkrMSk9PT00NiYmbi5jaGFyQ29kZUF0KGkrMik9PT00NilyZXR1cm4gbShlLG8uU1BSRUFELGksaSszKTticmVhaztjYXNlIDU4OnJldHVybiBtKGUsby5DT0xPTixpLGkrMSk7Y2FzZSA2MTpyZXR1cm4gbShlLG8uRVFVQUxTLGksaSsxKTtjYXNlIDY0OnJldHVybiBtKGUsby5BVCxpLGkrMSk7Y2FzZSA5MTpyZXR1cm4gbShlLG8uQlJBQ0tFVF9MLGksaSsxKTtjYXNlIDkzOnJldHVybiBtKGUsby5CUkFDS0VUX1IsaSxpKzEpO2Nhc2UgMTIzOnJldHVybiBtKGUsby5CUkFDRV9MLGksaSsxKTtjYXNlIDEyNDpyZXR1cm4gbShlLG8uUElQRSxpLGkrMSk7Y2FzZSAxMjU6cmV0dXJuIG0oZSxvLkJSQUNFX1IsaSxpKzEpO2Nhc2UgMzQ6cmV0dXJuIG4uY2hhckNvZGVBdChpKzEpPT09MzQmJm4uY2hhckNvZGVBdChpKzIpPT09MzQ/JHQoZSxpKTpNdChlLGkpfWlmKEwocyl8fHM9PT00NSlyZXR1cm4gVXQoZSxpLHMpO2lmKGhlKHMpKXJldHVybiBKdChlLGkpO3Rocm93IGQoZS5zb3VyY2UsaSxzPT09Mzk/YFVuZXhwZWN0ZWQgc2luZ2xlIHF1b3RlIGNoYXJhY3RlciAoJyksIGRpZCB5b3UgbWVhbiB0byB1c2UgYSBkb3VibGUgcXVvdGUgKFwiKT9gOlIocyl8fEsobixpKT9gVW5leHBlY3RlZCBjaGFyYWN0ZXI6ICR7QyhlLGkpfS5gOmBJbnZhbGlkIGNoYXJhY3RlcjogJHtDKGUsaSl9LmApfXJldHVybiBtKGUsby5FT0YscixyKX1mdW5jdGlvbiBCdChlLHQpe2xldCBuPWUuc291cmNlLmJvZHkscj1uLmxlbmd0aCxpPXQrMTtmb3IoO2k8cjspe2xldCBzPW4uY2hhckNvZGVBdChpKTtpZihzPT09MTB8fHM9PT0xMylicmVhaztpZihSKHMpKSsraTtlbHNlIGlmKEsobixpKSlpKz0yO2Vsc2UgYnJlYWt9cmV0dXJuIG0oZSxvLkNPTU1FTlQsdCxpLG4uc2xpY2UodCsxLGkpKX1mdW5jdGlvbiBVdChlLHQsbil7bGV0IHI9ZS5zb3VyY2UuYm9keSxpPXQscz1uLGE9ITE7aWYocz09PTQ1JiYocz1yLmNoYXJDb2RlQXQoKytpKSkscz09PTQ4KXtpZihzPXIuY2hhckNvZGVBdCgrK2kpLEwocykpdGhyb3cgZChlLnNvdXJjZSxpLGBJbnZhbGlkIG51bWJlciwgdW5leHBlY3RlZCBkaWdpdCBhZnRlciAwOiAke0MoZSxpKX0uYCl9ZWxzZSBpPWRlKGUsaSxzKSxzPXIuY2hhckNvZGVBdChpKTtpZihzPT09NDYmJihhPSEwLHM9ci5jaGFyQ29kZUF0KCsraSksaT1kZShlLGkscykscz1yLmNoYXJDb2RlQXQoaSkpLChzPT09Njl8fHM9PT0xMDEpJiYoYT0hMCxzPXIuY2hhckNvZGVBdCgrK2kpLChzPT09NDN8fHM9PT00NSkmJihzPXIuY2hhckNvZGVBdCgrK2kpKSxpPWRlKGUsaSxzKSxzPXIuY2hhckNvZGVBdChpKSkscz09PTQ2fHxoZShzKSl0aHJvdyBkKGUuc291cmNlLGksYEludmFsaWQgbnVtYmVyLCBleHBlY3RlZCBkaWdpdCBidXQgZ290OiAke0MoZSxpKX0uYCk7cmV0dXJuIG0oZSxhP28uRkxPQVQ6by5JTlQsdCxpLHIuc2xpY2UodCxpKSl9ZnVuY3Rpb24gZGUoZSx0LG4pe2lmKCFMKG4pKXRocm93IGQoZS5zb3VyY2UsdCxgSW52YWxpZCBudW1iZXIsIGV4cGVjdGVkIGRpZ2l0IGJ1dCBnb3Q6ICR7QyhlLHQpfS5gKTtsZXQgcj1lLnNvdXJjZS5ib2R5LGk9dCsxO2Zvcig7TChyLmNoYXJDb2RlQXQoaSkpOykrK2k7cmV0dXJuIGl9ZnVuY3Rpb24gTXQoZSx0KXtsZXQgbj1lLnNvdXJjZS5ib2R5LHI9bi5sZW5ndGgsaT10KzEscz1pLGE9XCJcIjtmb3IoO2k8cjspe2xldCB1PW4uY2hhckNvZGVBdChpKTtpZih1PT09MzQpcmV0dXJuIGErPW4uc2xpY2UocyxpKSxtKGUsby5TVFJJTkcsdCxpKzEsYSk7aWYodT09PTkyKXthKz1uLnNsaWNlKHMsaSk7bGV0IGw9bi5jaGFyQ29kZUF0KGkrMSk9PT0xMTc/bi5jaGFyQ29kZUF0KGkrMik9PT0xMjM/WXQoZSxpKTpqdChlLGkpOkd0KGUsaSk7YSs9bC52YWx1ZSxpKz1sLnNpemUscz1pO2NvbnRpbnVlfWlmKHU9PT0xMHx8dT09PTEzKWJyZWFrO2lmKFIodSkpKytpO2Vsc2UgaWYoSyhuLGkpKWkrPTI7ZWxzZSB0aHJvdyBkKGUuc291cmNlLGksYEludmFsaWQgY2hhcmFjdGVyIHdpdGhpbiBTdHJpbmc6ICR7QyhlLGkpfS5gKX10aHJvdyBkKGUuc291cmNlLGksXCJVbnRlcm1pbmF0ZWQgc3RyaW5nLlwiKX1mdW5jdGlvbiBZdChlLHQpe2xldCBuPWUuc291cmNlLmJvZHkscj0wLGk9Mztmb3IoO2k8MTI7KXtsZXQgcz1uLmNoYXJDb2RlQXQodCtpKyspO2lmKHM9PT0xMjUpe2lmKGk8NXx8IVIocikpYnJlYWs7cmV0dXJue3ZhbHVlOlN0cmluZy5mcm9tQ29kZVBvaW50KHIpLHNpemU6aX19aWYocj1yPDw0fFUocykscjwwKWJyZWFrfXRocm93IGQoZS5zb3VyY2UsdCxgSW52YWxpZCBVbmljb2RlIGVzY2FwZSBzZXF1ZW5jZTogXCIke24uc2xpY2UodCx0K2kpfVwiLmApfWZ1bmN0aW9uIGp0KGUsdCl7bGV0IG49ZS5zb3VyY2UuYm9keSxyPVhlKG4sdCsyKTtpZihSKHIpKXJldHVybnt2YWx1ZTpTdHJpbmcuZnJvbUNvZGVQb2ludChyKSxzaXplOjZ9O2lmKFFlKHIpJiZuLmNoYXJDb2RlQXQodCs2KT09PTkyJiZuLmNoYXJDb2RlQXQodCs3KT09PTExNyl7bGV0IGk9WGUobix0KzgpO2lmKFdlKGkpKXJldHVybnt2YWx1ZTpTdHJpbmcuZnJvbUNvZGVQb2ludChyLGkpLHNpemU6MTJ9fXRocm93IGQoZS5zb3VyY2UsdCxgSW52YWxpZCBVbmljb2RlIGVzY2FwZSBzZXF1ZW5jZTogXCIke24uc2xpY2UodCx0KzYpfVwiLmApfWZ1bmN0aW9uIFhlKGUsdCl7cmV0dXJuIFUoZS5jaGFyQ29kZUF0KHQpKTw8MTJ8VShlLmNoYXJDb2RlQXQodCsxKSk8PDh8VShlLmNoYXJDb2RlQXQodCsyKSk8PDR8VShlLmNoYXJDb2RlQXQodCszKSl9ZnVuY3Rpb24gVShlKXtyZXR1cm4gZT49NDgmJmU8PTU3P2UtNDg6ZT49NjUmJmU8PTcwP2UtNTU6ZT49OTcmJmU8PTEwMj9lLTg3Oi0xfWZ1bmN0aW9uIEd0KGUsdCl7bGV0IG49ZS5zb3VyY2UuYm9keTtzd2l0Y2gobi5jaGFyQ29kZUF0KHQrMSkpe2Nhc2UgMzQ6cmV0dXJue3ZhbHVlOidcIicsc2l6ZToyfTtjYXNlIDkyOnJldHVybnt2YWx1ZTpcIlxcXFxcIixzaXplOjJ9O2Nhc2UgNDc6cmV0dXJue3ZhbHVlOlwiL1wiLHNpemU6Mn07Y2FzZSA5ODpyZXR1cm57dmFsdWU6XCJcXGJcIixzaXplOjJ9O2Nhc2UgMTAyOnJldHVybnt2YWx1ZTpcIlxcZlwiLHNpemU6Mn07Y2FzZSAxMTA6cmV0dXJue3ZhbHVlOmBcbmAsc2l6ZToyfTtjYXNlIDExNDpyZXR1cm57dmFsdWU6XCJcXHJcIixzaXplOjJ9O2Nhc2UgMTE2OnJldHVybnt2YWx1ZTpcIlx0XCIsc2l6ZToyfX10aHJvdyBkKGUuc291cmNlLHQsYEludmFsaWQgY2hhcmFjdGVyIGVzY2FwZSBzZXF1ZW5jZTogXCIke24uc2xpY2UodCx0KzIpfVwiLmApfWZ1bmN0aW9uICR0KGUsdCl7bGV0IG49ZS5zb3VyY2UuYm9keSxyPW4ubGVuZ3RoLGk9ZS5saW5lU3RhcnQscz10KzMsYT1zLHU9XCJcIixsPVtdO2Zvcig7czxyOyl7bGV0IFQ9bi5jaGFyQ29kZUF0KHMpO2lmKFQ9PT0zNCYmbi5jaGFyQ29kZUF0KHMrMSk9PT0zNCYmbi5jaGFyQ29kZUF0KHMrMik9PT0zNCl7dSs9bi5zbGljZShhLHMpLGwucHVzaCh1KTtsZXQgaD1tKGUsby5CTE9DS19TVFJJTkcsdCxzKzMsSmUobCkuam9pbihgXG5gKSk7cmV0dXJuIGUubGluZSs9bC5sZW5ndGgtMSxlLmxpbmVTdGFydD1pLGh9aWYoVD09PTkyJiZuLmNoYXJDb2RlQXQocysxKT09PTM0JiZuLmNoYXJDb2RlQXQocysyKT09PTM0JiZuLmNoYXJDb2RlQXQocyszKT09PTM0KXt1Kz1uLnNsaWNlKGEscyksYT1zKzEscys9NDtjb250aW51ZX1pZihUPT09MTB8fFQ9PT0xMyl7dSs9bi5zbGljZShhLHMpLGwucHVzaCh1KSxUPT09MTMmJm4uY2hhckNvZGVBdChzKzEpPT09MTA/cys9MjorK3MsdT1cIlwiLGE9cyxpPXM7Y29udGludWV9aWYoUihUKSkrK3M7ZWxzZSBpZihLKG4scykpcys9MjtlbHNlIHRocm93IGQoZS5zb3VyY2UscyxgSW52YWxpZCBjaGFyYWN0ZXIgd2l0aGluIFN0cmluZzogJHtDKGUscyl9LmApfXRocm93IGQoZS5zb3VyY2UscyxcIlVudGVybWluYXRlZCBzdHJpbmcuXCIpfWZ1bmN0aW9uIEp0KGUsdCl7bGV0IG49ZS5zb3VyY2UuYm9keSxyPW4ubGVuZ3RoLGk9dCsxO2Zvcig7aTxyOyl7bGV0IHM9bi5jaGFyQ29kZUF0KGkpO2lmKCRlKHMpKSsraTtlbHNlIGJyZWFrfXJldHVybiBtKGUsby5OQU1FLHQsaSxuLnNsaWNlKHQsaSkpfWZ1bmN0aW9uIFooZSx0KXtpZighISFlKXRocm93IG5ldyBFcnJvcih0KX1mdW5jdGlvbiBlZShlKXtyZXR1cm4gdGUoZSxbXSl9ZnVuY3Rpb24gdGUoZSx0KXtzd2l0Y2godHlwZW9mIGUpe2Nhc2VcInN0cmluZ1wiOnJldHVybiBKU09OLnN0cmluZ2lmeShlKTtjYXNlXCJmdW5jdGlvblwiOnJldHVybiBlLm5hbWU/YFtmdW5jdGlvbiAke2UubmFtZX1dYDpcIltmdW5jdGlvbl1cIjtjYXNlXCJvYmplY3RcIjpyZXR1cm4gWHQoZSx0KTtkZWZhdWx0OnJldHVybiBTdHJpbmcoZSl9fWZ1bmN0aW9uIFh0KGUsdCl7aWYoZT09PW51bGwpcmV0dXJuXCJudWxsXCI7aWYodC5pbmNsdWRlcyhlKSlyZXR1cm5cIltDaXJjdWxhcl1cIjtsZXQgbj1bLi4udCxlXTtpZihxdChlKSl7bGV0IHI9ZS50b0pTT04oKTtpZihyIT09ZSlyZXR1cm4gdHlwZW9mIHI9PVwic3RyaW5nXCI/cjp0ZShyLG4pfWVsc2UgaWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gV3QoZSxuKTtyZXR1cm4gUXQoZSxuKX1mdW5jdGlvbiBxdChlKXtyZXR1cm4gdHlwZW9mIGUudG9KU09OPT1cImZ1bmN0aW9uXCJ9ZnVuY3Rpb24gUXQoZSx0KXtsZXQgbj1PYmplY3QuZW50cmllcyhlKTtyZXR1cm4gbi5sZW5ndGg9PT0wP1wie31cIjp0Lmxlbmd0aD4yP1wiW1wiK0h0KGUpK1wiXVwiOlwieyBcIituLm1hcCgoW2ksc10pPT5pK1wiOiBcIit0ZShzLHQpKS5qb2luKFwiLCBcIikrXCIgfVwifWZ1bmN0aW9uIFd0KGUsdCl7aWYoZS5sZW5ndGg9PT0wKXJldHVyblwiW11cIjtpZih0Lmxlbmd0aD4yKXJldHVyblwiW0FycmF5XVwiO2xldCBuPU1hdGgubWluKDEwLGUubGVuZ3RoKSxyPWUubGVuZ3RoLW4saT1bXTtmb3IobGV0IHM9MDtzPG47KytzKWkucHVzaCh0ZShlW3NdLHQpKTtyZXR1cm4gcj09PTE/aS5wdXNoKFwiLi4uIDEgbW9yZSBpdGVtXCIpOnI+MSYmaS5wdXNoKGAuLi4gJHtyfSBtb3JlIGl0ZW1zYCksXCJbXCIraS5qb2luKFwiLCBcIikrXCJdXCJ9ZnVuY3Rpb24gSHQoZSl7bGV0IHQ9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKGUpLnJlcGxhY2UoL15cXFtvYmplY3QgLyxcIlwiKS5yZXBsYWNlKC9dJC8sXCJcIik7aWYodD09PVwiT2JqZWN0XCImJnR5cGVvZiBlLmNvbnN0cnVjdG9yPT1cImZ1bmN0aW9uXCIpe2xldCBuPWUuY29uc3RydWN0b3IubmFtZTtpZih0eXBlb2Ygbj09XCJzdHJpbmdcIiYmbiE9PVwiXCIpcmV0dXJuIG59cmV0dXJuIHR9dmFyIHp0PWdsb2JhbFRoaXMucHJvY2VzcyYmITAsSGU9enQ/ZnVuY3Rpb24odCxuKXtyZXR1cm4gdCBpbnN0YW5jZW9mIG59OmZ1bmN0aW9uKHQsbil7aWYodCBpbnN0YW5jZW9mIG4pcmV0dXJuITA7aWYodHlwZW9mIHQ9PVwib2JqZWN0XCImJnQhPT1udWxsKXt2YXIgcjtsZXQgaT1uLnByb3RvdHlwZVtTeW1ib2wudG9TdHJpbmdUYWddLHM9U3ltYm9sLnRvU3RyaW5nVGFnIGluIHQ/dFtTeW1ib2wudG9TdHJpbmdUYWddOihyPXQuY29uc3RydWN0b3IpPT09bnVsbHx8cj09PXZvaWQgMD92b2lkIDA6ci5uYW1lO2lmKGk9PT1zKXtsZXQgYT1lZSh0KTt0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCB1c2UgJHtpfSBcIiR7YX1cIiBmcm9tIGFub3RoZXIgbW9kdWxlIG9yIHJlYWxtLlxuXG5FbnN1cmUgdGhhdCB0aGVyZSBpcyBvbmx5IG9uZSBpbnN0YW5jZSBvZiBcImdyYXBocWxcIiBpbiB0aGUgbm9kZV9tb2R1bGVzXG5kaXJlY3RvcnkuIElmIGRpZmZlcmVudCB2ZXJzaW9ucyBvZiBcImdyYXBocWxcIiBhcmUgdGhlIGRlcGVuZGVuY2llcyBvZiBvdGhlclxucmVsaWVkIG9uIG1vZHVsZXMsIHVzZSBcInJlc29sdXRpb25zXCIgdG8gZW5zdXJlIG9ubHkgb25lIHZlcnNpb24gaXMgaW5zdGFsbGVkLlxuXG5odHRwczovL3lhcm5wa2cuY29tL2VuL2RvY3Mvc2VsZWN0aXZlLXZlcnNpb24tcmVzb2x1dGlvbnNcblxuRHVwbGljYXRlIFwiZ3JhcGhxbFwiIG1vZHVsZXMgY2Fubm90IGJlIHVzZWQgYXQgdGhlIHNhbWUgdGltZSBzaW5jZSBkaWZmZXJlbnRcbnZlcnNpb25zIG1heSBoYXZlIGRpZmZlcmVudCBjYXBhYmlsaXRpZXMgYW5kIGJlaGF2aW9yLiBUaGUgZGF0YSBmcm9tIG9uZVxudmVyc2lvbiB1c2VkIGluIHRoZSBmdW5jdGlvbiBmcm9tIGFub3RoZXIgY291bGQgcHJvZHVjZSBjb25mdXNpbmcgYW5kXG5zcHVyaW91cyByZXN1bHRzLmApfX1yZXR1cm4hMX07dmFyIE09Y2xhc3N7Y29uc3RydWN0b3IodCxuPVwiR3JhcGhRTCByZXF1ZXN0XCIscj17bGluZToxLGNvbHVtbjoxfSl7dHlwZW9mIHQ9PVwic3RyaW5nXCJ8fFooITEsYEJvZHkgbXVzdCBiZSBhIHN0cmluZy4gUmVjZWl2ZWQ6ICR7ZWUodCl9LmApLHRoaXMuYm9keT10LHRoaXMubmFtZT1uLHRoaXMubG9jYXRpb25PZmZzZXQ9cix0aGlzLmxvY2F0aW9uT2Zmc2V0LmxpbmU+MHx8WighMSxcImxpbmUgaW4gbG9jYXRpb25PZmZzZXQgaXMgMS1pbmRleGVkIGFuZCBtdXN0IGJlIHBvc2l0aXZlLlwiKSx0aGlzLmxvY2F0aW9uT2Zmc2V0LmNvbHVtbj4wfHxaKCExLFwiY29sdW1uIGluIGxvY2F0aW9uT2Zmc2V0IGlzIDEtaW5kZXhlZCBhbmQgbXVzdCBiZSBwb3NpdGl2ZS5cIil9Z2V0W1N5bWJvbC50b1N0cmluZ1RhZ10oKXtyZXR1cm5cIlNvdXJjZVwifX07ZnVuY3Rpb24gemUoZSl7cmV0dXJuIEhlKGUsTSl9ZnVuY3Rpb24gS2UoZSx0KXtyZXR1cm4gbmV3IG1lKGUsdCkucGFyc2VEb2N1bWVudCgpfXZhciBtZT1jbGFzc3tjb25zdHJ1Y3Rvcih0LG49e30pe2xldCByPXplKHQpP3Q6bmV3IE0odCk7dGhpcy5fbGV4ZXI9bmV3IHoociksdGhpcy5fb3B0aW9ucz1uLHRoaXMuX3Rva2VuQ291bnRlcj0wfXBhcnNlTmFtZSgpe2xldCB0PXRoaXMuZXhwZWN0VG9rZW4oby5OQU1FKTtyZXR1cm4gdGhpcy5ub2RlKHQse2tpbmQ6Yy5OQU1FLHZhbHVlOnQudmFsdWV9KX1wYXJzZURvY3VtZW50KCl7cmV0dXJuIHRoaXMubm9kZSh0aGlzLl9sZXhlci50b2tlbix7a2luZDpjLkRPQ1VNRU5ULGRlZmluaXRpb25zOnRoaXMubWFueShvLlNPRix0aGlzLnBhcnNlRGVmaW5pdGlvbixvLkVPRil9KX1wYXJzZURlZmluaXRpb24oKXtpZih0aGlzLnBlZWsoby5CUkFDRV9MKSlyZXR1cm4gdGhpcy5wYXJzZU9wZXJhdGlvbkRlZmluaXRpb24oKTtsZXQgdD10aGlzLnBlZWtEZXNjcmlwdGlvbigpLG49dD90aGlzLl9sZXhlci5sb29rYWhlYWQoKTp0aGlzLl9sZXhlci50b2tlbjtpZihuLmtpbmQ9PT1vLk5BTUUpe3N3aXRjaChuLnZhbHVlKXtjYXNlXCJzY2hlbWFcIjpyZXR1cm4gdGhpcy5wYXJzZVNjaGVtYURlZmluaXRpb24oKTtjYXNlXCJzY2FsYXJcIjpyZXR1cm4gdGhpcy5wYXJzZVNjYWxhclR5cGVEZWZpbml0aW9uKCk7Y2FzZVwidHlwZVwiOnJldHVybiB0aGlzLnBhcnNlT2JqZWN0VHlwZURlZmluaXRpb24oKTtjYXNlXCJpbnRlcmZhY2VcIjpyZXR1cm4gdGhpcy5wYXJzZUludGVyZmFjZVR5cGVEZWZpbml0aW9uKCk7Y2FzZVwidW5pb25cIjpyZXR1cm4gdGhpcy5wYXJzZVVuaW9uVHlwZURlZmluaXRpb24oKTtjYXNlXCJlbnVtXCI6cmV0dXJuIHRoaXMucGFyc2VFbnVtVHlwZURlZmluaXRpb24oKTtjYXNlXCJpbnB1dFwiOnJldHVybiB0aGlzLnBhcnNlSW5wdXRPYmplY3RUeXBlRGVmaW5pdGlvbigpO2Nhc2VcImRpcmVjdGl2ZVwiOnJldHVybiB0aGlzLnBhcnNlRGlyZWN0aXZlRGVmaW5pdGlvbigpfWlmKHQpdGhyb3cgZCh0aGlzLl9sZXhlci5zb3VyY2UsdGhpcy5fbGV4ZXIudG9rZW4uc3RhcnQsXCJVbmV4cGVjdGVkIGRlc2NyaXB0aW9uLCBkZXNjcmlwdGlvbnMgYXJlIHN1cHBvcnRlZCBvbmx5IG9uIHR5cGUgZGVmaW5pdGlvbnMuXCIpO3N3aXRjaChuLnZhbHVlKXtjYXNlXCJxdWVyeVwiOmNhc2VcIm11dGF0aW9uXCI6Y2FzZVwic3Vic2NyaXB0aW9uXCI6cmV0dXJuIHRoaXMucGFyc2VPcGVyYXRpb25EZWZpbml0aW9uKCk7Y2FzZVwiZnJhZ21lbnRcIjpyZXR1cm4gdGhpcy5wYXJzZUZyYWdtZW50RGVmaW5pdGlvbigpO2Nhc2VcImV4dGVuZFwiOnJldHVybiB0aGlzLnBhcnNlVHlwZVN5c3RlbUV4dGVuc2lvbigpfX10aHJvdyB0aGlzLnVuZXhwZWN0ZWQobil9cGFyc2VPcGVyYXRpb25EZWZpbml0aW9uKCl7bGV0IHQ9dGhpcy5fbGV4ZXIudG9rZW47aWYodGhpcy5wZWVrKG8uQlJBQ0VfTCkpcmV0dXJuIHRoaXMubm9kZSh0LHtraW5kOmMuT1BFUkFUSU9OX0RFRklOSVRJT04sb3BlcmF0aW9uOlMuUVVFUlksbmFtZTp2b2lkIDAsdmFyaWFibGVEZWZpbml0aW9uczpbXSxkaXJlY3RpdmVzOltdLHNlbGVjdGlvblNldDp0aGlzLnBhcnNlU2VsZWN0aW9uU2V0KCl9KTtsZXQgbj10aGlzLnBhcnNlT3BlcmF0aW9uVHlwZSgpLHI7cmV0dXJuIHRoaXMucGVlayhvLk5BTUUpJiYocj10aGlzLnBhcnNlTmFtZSgpKSx0aGlzLm5vZGUodCx7a2luZDpjLk9QRVJBVElPTl9ERUZJTklUSU9OLG9wZXJhdGlvbjpuLG5hbWU6cix2YXJpYWJsZURlZmluaXRpb25zOnRoaXMucGFyc2VWYXJpYWJsZURlZmluaXRpb25zKCksZGlyZWN0aXZlczp0aGlzLnBhcnNlRGlyZWN0aXZlcyghMSksc2VsZWN0aW9uU2V0OnRoaXMucGFyc2VTZWxlY3Rpb25TZXQoKX0pfXBhcnNlT3BlcmF0aW9uVHlwZSgpe2xldCB0PXRoaXMuZXhwZWN0VG9rZW4oby5OQU1FKTtzd2l0Y2godC52YWx1ZSl7Y2FzZVwicXVlcnlcIjpyZXR1cm4gUy5RVUVSWTtjYXNlXCJtdXRhdGlvblwiOnJldHVybiBTLk1VVEFUSU9OO2Nhc2VcInN1YnNjcmlwdGlvblwiOnJldHVybiBTLlNVQlNDUklQVElPTn10aHJvdyB0aGlzLnVuZXhwZWN0ZWQodCl9cGFyc2VWYXJpYWJsZURlZmluaXRpb25zKCl7cmV0dXJuIHRoaXMub3B0aW9uYWxNYW55KG8uUEFSRU5fTCx0aGlzLnBhcnNlVmFyaWFibGVEZWZpbml0aW9uLG8uUEFSRU5fUil9cGFyc2VWYXJpYWJsZURlZmluaXRpb24oKXtyZXR1cm4gdGhpcy5ub2RlKHRoaXMuX2xleGVyLnRva2VuLHtraW5kOmMuVkFSSUFCTEVfREVGSU5JVElPTix2YXJpYWJsZTp0aGlzLnBhcnNlVmFyaWFibGUoKSx0eXBlOih0aGlzLmV4cGVjdFRva2VuKG8uQ09MT04pLHRoaXMucGFyc2VUeXBlUmVmZXJlbmNlKCkpLGRlZmF1bHRWYWx1ZTp0aGlzLmV4cGVjdE9wdGlvbmFsVG9rZW4oby5FUVVBTFMpP3RoaXMucGFyc2VDb25zdFZhbHVlTGl0ZXJhbCgpOnZvaWQgMCxkaXJlY3RpdmVzOnRoaXMucGFyc2VDb25zdERpcmVjdGl2ZXMoKX0pfXBhcnNlVmFyaWFibGUoKXtsZXQgdD10aGlzLl9sZXhlci50b2tlbjtyZXR1cm4gdGhpcy5leHBlY3RUb2tlbihvLkRPTExBUiksdGhpcy5ub2RlKHQse2tpbmQ6Yy5WQVJJQUJMRSxuYW1lOnRoaXMucGFyc2VOYW1lKCl9KX1wYXJzZVNlbGVjdGlvblNldCgpe3JldHVybiB0aGlzLm5vZGUodGhpcy5fbGV4ZXIudG9rZW4se2tpbmQ6Yy5TRUxFQ1RJT05fU0VULHNlbGVjdGlvbnM6dGhpcy5tYW55KG8uQlJBQ0VfTCx0aGlzLnBhcnNlU2VsZWN0aW9uLG8uQlJBQ0VfUil9KX1wYXJzZVNlbGVjdGlvbigpe3JldHVybiB0aGlzLnBlZWsoby5TUFJFQUQpP3RoaXMucGFyc2VGcmFnbWVudCgpOnRoaXMucGFyc2VGaWVsZCgpfXBhcnNlRmllbGQoKXtsZXQgdD10aGlzLl9sZXhlci50b2tlbixuPXRoaXMucGFyc2VOYW1lKCkscixpO3JldHVybiB0aGlzLmV4cGVjdE9wdGlvbmFsVG9rZW4oby5DT0xPTik/KHI9bixpPXRoaXMucGFyc2VOYW1lKCkpOmk9bix0aGlzLm5vZGUodCx7a2luZDpjLkZJRUxELGFsaWFzOnIsbmFtZTppLGFyZ3VtZW50czp0aGlzLnBhcnNlQXJndW1lbnRzKCExKSxkaXJlY3RpdmVzOnRoaXMucGFyc2VEaXJlY3RpdmVzKCExKSxzZWxlY3Rpb25TZXQ6dGhpcy5wZWVrKG8uQlJBQ0VfTCk/dGhpcy5wYXJzZVNlbGVjdGlvblNldCgpOnZvaWQgMH0pfXBhcnNlQXJndW1lbnRzKHQpe2xldCBuPXQ/dGhpcy5wYXJzZUNvbnN0QXJndW1lbnQ6dGhpcy5wYXJzZUFyZ3VtZW50O3JldHVybiB0aGlzLm9wdGlvbmFsTWFueShvLlBBUkVOX0wsbixvLlBBUkVOX1IpfXBhcnNlQXJndW1lbnQodD0hMSl7bGV0IG49dGhpcy5fbGV4ZXIudG9rZW4scj10aGlzLnBhcnNlTmFtZSgpO3JldHVybiB0aGlzLmV4cGVjdFRva2VuKG8uQ09MT04pLHRoaXMubm9kZShuLHtraW5kOmMuQVJHVU1FTlQsbmFtZTpyLHZhbHVlOnRoaXMucGFyc2VWYWx1ZUxpdGVyYWwodCl9KX1wYXJzZUNvbnN0QXJndW1lbnQoKXtyZXR1cm4gdGhpcy5wYXJzZUFyZ3VtZW50KCEwKX1wYXJzZUZyYWdtZW50KCl7bGV0IHQ9dGhpcy5fbGV4ZXIudG9rZW47dGhpcy5leHBlY3RUb2tlbihvLlNQUkVBRCk7bGV0IG49dGhpcy5leHBlY3RPcHRpb25hbEtleXdvcmQoXCJvblwiKTtyZXR1cm4hbiYmdGhpcy5wZWVrKG8uTkFNRSk/dGhpcy5ub2RlKHQse2tpbmQ6Yy5GUkFHTUVOVF9TUFJFQUQsbmFtZTp0aGlzLnBhcnNlRnJhZ21lbnROYW1lKCksZGlyZWN0aXZlczp0aGlzLnBhcnNlRGlyZWN0aXZlcyghMSl9KTp0aGlzLm5vZGUodCx7a2luZDpjLklOTElORV9GUkFHTUVOVCx0eXBlQ29uZGl0aW9uOm4/dGhpcy5wYXJzZU5hbWVkVHlwZSgpOnZvaWQgMCxkaXJlY3RpdmVzOnRoaXMucGFyc2VEaXJlY3RpdmVzKCExKSxzZWxlY3Rpb25TZXQ6dGhpcy5wYXJzZVNlbGVjdGlvblNldCgpfSl9cGFyc2VGcmFnbWVudERlZmluaXRpb24oKXtsZXQgdD10aGlzLl9sZXhlci50b2tlbjtyZXR1cm4gdGhpcy5leHBlY3RLZXl3b3JkKFwiZnJhZ21lbnRcIiksdGhpcy5fb3B0aW9ucy5hbGxvd0xlZ2FjeUZyYWdtZW50VmFyaWFibGVzPT09ITA/dGhpcy5ub2RlKHQse2tpbmQ6Yy5GUkFHTUVOVF9ERUZJTklUSU9OLG5hbWU6dGhpcy5wYXJzZUZyYWdtZW50TmFtZSgpLHZhcmlhYmxlRGVmaW5pdGlvbnM6dGhpcy5wYXJzZVZhcmlhYmxlRGVmaW5pdGlvbnMoKSx0eXBlQ29uZGl0aW9uOih0aGlzLmV4cGVjdEtleXdvcmQoXCJvblwiKSx0aGlzLnBhcnNlTmFtZWRUeXBlKCkpLGRpcmVjdGl2ZXM6dGhpcy5wYXJzZURpcmVjdGl2ZXMoITEpLHNlbGVjdGlvblNldDp0aGlzLnBhcnNlU2VsZWN0aW9uU2V0KCl9KTp0aGlzLm5vZGUodCx7a2luZDpjLkZSQUdNRU5UX0RFRklOSVRJT04sbmFtZTp0aGlzLnBhcnNlRnJhZ21lbnROYW1lKCksdHlwZUNvbmRpdGlvbjoodGhpcy5leHBlY3RLZXl3b3JkKFwib25cIiksdGhpcy5wYXJzZU5hbWVkVHlwZSgpKSxkaXJlY3RpdmVzOnRoaXMucGFyc2VEaXJlY3RpdmVzKCExKSxzZWxlY3Rpb25TZXQ6dGhpcy5wYXJzZVNlbGVjdGlvblNldCgpfSl9cGFyc2VGcmFnbWVudE5hbWUoKXtpZih0aGlzLl9sZXhlci50b2tlbi52YWx1ZT09PVwib25cIil0aHJvdyB0aGlzLnVuZXhwZWN0ZWQoKTtyZXR1cm4gdGhpcy5wYXJzZU5hbWUoKX1wYXJzZVZhbHVlTGl0ZXJhbCh0KXtsZXQgbj10aGlzLl9sZXhlci50b2tlbjtzd2l0Y2gobi5raW5kKXtjYXNlIG8uQlJBQ0tFVF9MOnJldHVybiB0aGlzLnBhcnNlTGlzdCh0KTtjYXNlIG8uQlJBQ0VfTDpyZXR1cm4gdGhpcy5wYXJzZU9iamVjdCh0KTtjYXNlIG8uSU5UOnJldHVybiB0aGlzLmFkdmFuY2VMZXhlcigpLHRoaXMubm9kZShuLHtraW5kOmMuSU5ULHZhbHVlOm4udmFsdWV9KTtjYXNlIG8uRkxPQVQ6cmV0dXJuIHRoaXMuYWR2YW5jZUxleGVyKCksdGhpcy5ub2RlKG4se2tpbmQ6Yy5GTE9BVCx2YWx1ZTpuLnZhbHVlfSk7Y2FzZSBvLlNUUklORzpjYXNlIG8uQkxPQ0tfU1RSSU5HOnJldHVybiB0aGlzLnBhcnNlU3RyaW5nTGl0ZXJhbCgpO2Nhc2Ugby5OQU1FOnN3aXRjaCh0aGlzLmFkdmFuY2VMZXhlcigpLG4udmFsdWUpe2Nhc2VcInRydWVcIjpyZXR1cm4gdGhpcy5ub2RlKG4se2tpbmQ6Yy5CT09MRUFOLHZhbHVlOiEwfSk7Y2FzZVwiZmFsc2VcIjpyZXR1cm4gdGhpcy5ub2RlKG4se2tpbmQ6Yy5CT09MRUFOLHZhbHVlOiExfSk7Y2FzZVwibnVsbFwiOnJldHVybiB0aGlzLm5vZGUobix7a2luZDpjLk5VTEx9KTtkZWZhdWx0OnJldHVybiB0aGlzLm5vZGUobix7a2luZDpjLkVOVU0sdmFsdWU6bi52YWx1ZX0pfWNhc2Ugby5ET0xMQVI6aWYodClpZih0aGlzLmV4cGVjdFRva2VuKG8uRE9MTEFSKSx0aGlzLl9sZXhlci50b2tlbi5raW5kPT09by5OQU1FKXtsZXQgcj10aGlzLl9sZXhlci50b2tlbi52YWx1ZTt0aHJvdyBkKHRoaXMuX2xleGVyLnNvdXJjZSxuLnN0YXJ0LGBVbmV4cGVjdGVkIHZhcmlhYmxlIFwiJCR7cn1cIiBpbiBjb25zdGFudCB2YWx1ZS5gKX1lbHNlIHRocm93IHRoaXMudW5leHBlY3RlZChuKTtyZXR1cm4gdGhpcy5wYXJzZVZhcmlhYmxlKCk7ZGVmYXVsdDp0aHJvdyB0aGlzLnVuZXhwZWN0ZWQoKX19cGFyc2VDb25zdFZhbHVlTGl0ZXJhbCgpe3JldHVybiB0aGlzLnBhcnNlVmFsdWVMaXRlcmFsKCEwKX1wYXJzZVN0cmluZ0xpdGVyYWwoKXtsZXQgdD10aGlzLl9sZXhlci50b2tlbjtyZXR1cm4gdGhpcy5hZHZhbmNlTGV4ZXIoKSx0aGlzLm5vZGUodCx7a2luZDpjLlNUUklORyx2YWx1ZTp0LnZhbHVlLGJsb2NrOnQua2luZD09PW8uQkxPQ0tfU1RSSU5HfSl9cGFyc2VMaXN0KHQpe2xldCBuPSgpPT50aGlzLnBhcnNlVmFsdWVMaXRlcmFsKHQpO3JldHVybiB0aGlzLm5vZGUodGhpcy5fbGV4ZXIudG9rZW4se2tpbmQ6Yy5MSVNULHZhbHVlczp0aGlzLmFueShvLkJSQUNLRVRfTCxuLG8uQlJBQ0tFVF9SKX0pfXBhcnNlT2JqZWN0KHQpe2xldCBuPSgpPT50aGlzLnBhcnNlT2JqZWN0RmllbGQodCk7cmV0dXJuIHRoaXMubm9kZSh0aGlzLl9sZXhlci50b2tlbix7a2luZDpjLk9CSkVDVCxmaWVsZHM6dGhpcy5hbnkoby5CUkFDRV9MLG4sby5CUkFDRV9SKX0pfXBhcnNlT2JqZWN0RmllbGQodCl7bGV0IG49dGhpcy5fbGV4ZXIudG9rZW4scj10aGlzLnBhcnNlTmFtZSgpO3JldHVybiB0aGlzLmV4cGVjdFRva2VuKG8uQ09MT04pLHRoaXMubm9kZShuLHtraW5kOmMuT0JKRUNUX0ZJRUxELG5hbWU6cix2YWx1ZTp0aGlzLnBhcnNlVmFsdWVMaXRlcmFsKHQpfSl9cGFyc2VEaXJlY3RpdmVzKHQpe2xldCBuPVtdO2Zvcig7dGhpcy5wZWVrKG8uQVQpOyluLnB1c2godGhpcy5wYXJzZURpcmVjdGl2ZSh0KSk7cmV0dXJuIG59cGFyc2VDb25zdERpcmVjdGl2ZXMoKXtyZXR1cm4gdGhpcy5wYXJzZURpcmVjdGl2ZXMoITApfXBhcnNlRGlyZWN0aXZlKHQpe2xldCBuPXRoaXMuX2xleGVyLnRva2VuO3JldHVybiB0aGlzLmV4cGVjdFRva2VuKG8uQVQpLHRoaXMubm9kZShuLHtraW5kOmMuRElSRUNUSVZFLG5hbWU6dGhpcy5wYXJzZU5hbWUoKSxhcmd1bWVudHM6dGhpcy5wYXJzZUFyZ3VtZW50cyh0KX0pfXBhcnNlVHlwZVJlZmVyZW5jZSgpe2xldCB0PXRoaXMuX2xleGVyLnRva2VuLG47aWYodGhpcy5leHBlY3RPcHRpb25hbFRva2VuKG8uQlJBQ0tFVF9MKSl7bGV0IHI9dGhpcy5wYXJzZVR5cGVSZWZlcmVuY2UoKTt0aGlzLmV4cGVjdFRva2VuKG8uQlJBQ0tFVF9SKSxuPXRoaXMubm9kZSh0LHtraW5kOmMuTElTVF9UWVBFLHR5cGU6cn0pfWVsc2Ugbj10aGlzLnBhcnNlTmFtZWRUeXBlKCk7cmV0dXJuIHRoaXMuZXhwZWN0T3B0aW9uYWxUb2tlbihvLkJBTkcpP3RoaXMubm9kZSh0LHtraW5kOmMuTk9OX05VTExfVFlQRSx0eXBlOm59KTpufXBhcnNlTmFtZWRUeXBlKCl7cmV0dXJuIHRoaXMubm9kZSh0aGlzLl9sZXhlci50b2tlbix7a2luZDpjLk5BTUVEX1RZUEUsbmFtZTp0aGlzLnBhcnNlTmFtZSgpfSl9cGVla0Rlc2NyaXB0aW9uKCl7cmV0dXJuIHRoaXMucGVlayhvLlNUUklORyl8fHRoaXMucGVlayhvLkJMT0NLX1NUUklORyl9cGFyc2VEZXNjcmlwdGlvbigpe2lmKHRoaXMucGVla0Rlc2NyaXB0aW9uKCkpcmV0dXJuIHRoaXMucGFyc2VTdHJpbmdMaXRlcmFsKCl9cGFyc2VTY2hlbWFEZWZpbml0aW9uKCl7bGV0IHQ9dGhpcy5fbGV4ZXIudG9rZW4sbj10aGlzLnBhcnNlRGVzY3JpcHRpb24oKTt0aGlzLmV4cGVjdEtleXdvcmQoXCJzY2hlbWFcIik7bGV0IHI9dGhpcy5wYXJzZUNvbnN0RGlyZWN0aXZlcygpLGk9dGhpcy5tYW55KG8uQlJBQ0VfTCx0aGlzLnBhcnNlT3BlcmF0aW9uVHlwZURlZmluaXRpb24sby5CUkFDRV9SKTtyZXR1cm4gdGhpcy5ub2RlKHQse2tpbmQ6Yy5TQ0hFTUFfREVGSU5JVElPTixkZXNjcmlwdGlvbjpuLGRpcmVjdGl2ZXM6cixvcGVyYXRpb25UeXBlczppfSl9cGFyc2VPcGVyYXRpb25UeXBlRGVmaW5pdGlvbigpe2xldCB0PXRoaXMuX2xleGVyLnRva2VuLG49dGhpcy5wYXJzZU9wZXJhdGlvblR5cGUoKTt0aGlzLmV4cGVjdFRva2VuKG8uQ09MT04pO2xldCByPXRoaXMucGFyc2VOYW1lZFR5cGUoKTtyZXR1cm4gdGhpcy5ub2RlKHQse2tpbmQ6Yy5PUEVSQVRJT05fVFlQRV9ERUZJTklUSU9OLG9wZXJhdGlvbjpuLHR5cGU6cn0pfXBhcnNlU2NhbGFyVHlwZURlZmluaXRpb24oKXtsZXQgdD10aGlzLl9sZXhlci50b2tlbixuPXRoaXMucGFyc2VEZXNjcmlwdGlvbigpO3RoaXMuZXhwZWN0S2V5d29yZChcInNjYWxhclwiKTtsZXQgcj10aGlzLnBhcnNlTmFtZSgpLGk9dGhpcy5wYXJzZUNvbnN0RGlyZWN0aXZlcygpO3JldHVybiB0aGlzLm5vZGUodCx7a2luZDpjLlNDQUxBUl9UWVBFX0RFRklOSVRJT04sZGVzY3JpcHRpb246bixuYW1lOnIsZGlyZWN0aXZlczppfSl9cGFyc2VPYmplY3RUeXBlRGVmaW5pdGlvbigpe2xldCB0PXRoaXMuX2xleGVyLnRva2VuLG49dGhpcy5wYXJzZURlc2NyaXB0aW9uKCk7dGhpcy5leHBlY3RLZXl3b3JkKFwidHlwZVwiKTtsZXQgcj10aGlzLnBhcnNlTmFtZSgpLGk9dGhpcy5wYXJzZUltcGxlbWVudHNJbnRlcmZhY2VzKCkscz10aGlzLnBhcnNlQ29uc3REaXJlY3RpdmVzKCksYT10aGlzLnBhcnNlRmllbGRzRGVmaW5pdGlvbigpO3JldHVybiB0aGlzLm5vZGUodCx7a2luZDpjLk9CSkVDVF9UWVBFX0RFRklOSVRJT04sZGVzY3JpcHRpb246bixuYW1lOnIsaW50ZXJmYWNlczppLGRpcmVjdGl2ZXM6cyxmaWVsZHM6YX0pfXBhcnNlSW1wbGVtZW50c0ludGVyZmFjZXMoKXtyZXR1cm4gdGhpcy5leHBlY3RPcHRpb25hbEtleXdvcmQoXCJpbXBsZW1lbnRzXCIpP3RoaXMuZGVsaW1pdGVkTWFueShvLkFNUCx0aGlzLnBhcnNlTmFtZWRUeXBlKTpbXX1wYXJzZUZpZWxkc0RlZmluaXRpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25hbE1hbnkoby5CUkFDRV9MLHRoaXMucGFyc2VGaWVsZERlZmluaXRpb24sby5CUkFDRV9SKX1wYXJzZUZpZWxkRGVmaW5pdGlvbigpe2xldCB0PXRoaXMuX2xleGVyLnRva2VuLG49dGhpcy5wYXJzZURlc2NyaXB0aW9uKCkscj10aGlzLnBhcnNlTmFtZSgpLGk9dGhpcy5wYXJzZUFyZ3VtZW50RGVmcygpO3RoaXMuZXhwZWN0VG9rZW4oby5DT0xPTik7bGV0IHM9dGhpcy5wYXJzZVR5cGVSZWZlcmVuY2UoKSxhPXRoaXMucGFyc2VDb25zdERpcmVjdGl2ZXMoKTtyZXR1cm4gdGhpcy5ub2RlKHQse2tpbmQ6Yy5GSUVMRF9ERUZJTklUSU9OLGRlc2NyaXB0aW9uOm4sbmFtZTpyLGFyZ3VtZW50czppLHR5cGU6cyxkaXJlY3RpdmVzOmF9KX1wYXJzZUFyZ3VtZW50RGVmcygpe3JldHVybiB0aGlzLm9wdGlvbmFsTWFueShvLlBBUkVOX0wsdGhpcy5wYXJzZUlucHV0VmFsdWVEZWYsby5QQVJFTl9SKX1wYXJzZUlucHV0VmFsdWVEZWYoKXtsZXQgdD10aGlzLl9sZXhlci50b2tlbixuPXRoaXMucGFyc2VEZXNjcmlwdGlvbigpLHI9dGhpcy5wYXJzZU5hbWUoKTt0aGlzLmV4cGVjdFRva2VuKG8uQ09MT04pO2xldCBpPXRoaXMucGFyc2VUeXBlUmVmZXJlbmNlKCksczt0aGlzLmV4cGVjdE9wdGlvbmFsVG9rZW4oby5FUVVBTFMpJiYocz10aGlzLnBhcnNlQ29uc3RWYWx1ZUxpdGVyYWwoKSk7bGV0IGE9dGhpcy5wYXJzZUNvbnN0RGlyZWN0aXZlcygpO3JldHVybiB0aGlzLm5vZGUodCx7a2luZDpjLklOUFVUX1ZBTFVFX0RFRklOSVRJT04sZGVzY3JpcHRpb246bixuYW1lOnIsdHlwZTppLGRlZmF1bHRWYWx1ZTpzLGRpcmVjdGl2ZXM6YX0pfXBhcnNlSW50ZXJmYWNlVHlwZURlZmluaXRpb24oKXtsZXQgdD10aGlzLl9sZXhlci50b2tlbixuPXRoaXMucGFyc2VEZXNjcmlwdGlvbigpO3RoaXMuZXhwZWN0S2V5d29yZChcImludGVyZmFjZVwiKTtsZXQgcj10aGlzLnBhcnNlTmFtZSgpLGk9dGhpcy5wYXJzZUltcGxlbWVudHNJbnRlcmZhY2VzKCkscz10aGlzLnBhcnNlQ29uc3REaXJlY3RpdmVzKCksYT10aGlzLnBhcnNlRmllbGRzRGVmaW5pdGlvbigpO3JldHVybiB0aGlzLm5vZGUodCx7a2luZDpjLklOVEVSRkFDRV9UWVBFX0RFRklOSVRJT04sZGVzY3JpcHRpb246bixuYW1lOnIsaW50ZXJmYWNlczppLGRpcmVjdGl2ZXM6cyxmaWVsZHM6YX0pfXBhcnNlVW5pb25UeXBlRGVmaW5pdGlvbigpe2xldCB0PXRoaXMuX2xleGVyLnRva2VuLG49dGhpcy5wYXJzZURlc2NyaXB0aW9uKCk7dGhpcy5leHBlY3RLZXl3b3JkKFwidW5pb25cIik7bGV0IHI9dGhpcy5wYXJzZU5hbWUoKSxpPXRoaXMucGFyc2VDb25zdERpcmVjdGl2ZXMoKSxzPXRoaXMucGFyc2VVbmlvbk1lbWJlclR5cGVzKCk7cmV0dXJuIHRoaXMubm9kZSh0LHtraW5kOmMuVU5JT05fVFlQRV9ERUZJTklUSU9OLGRlc2NyaXB0aW9uOm4sbmFtZTpyLGRpcmVjdGl2ZXM6aSx0eXBlczpzfSl9cGFyc2VVbmlvbk1lbWJlclR5cGVzKCl7cmV0dXJuIHRoaXMuZXhwZWN0T3B0aW9uYWxUb2tlbihvLkVRVUFMUyk/dGhpcy5kZWxpbWl0ZWRNYW55KG8uUElQRSx0aGlzLnBhcnNlTmFtZWRUeXBlKTpbXX1wYXJzZUVudW1UeXBlRGVmaW5pdGlvbigpe2xldCB0PXRoaXMuX2xleGVyLnRva2VuLG49dGhpcy5wYXJzZURlc2NyaXB0aW9uKCk7dGhpcy5leHBlY3RLZXl3b3JkKFwiZW51bVwiKTtsZXQgcj10aGlzLnBhcnNlTmFtZSgpLGk9dGhpcy5wYXJzZUNvbnN0RGlyZWN0aXZlcygpLHM9dGhpcy5wYXJzZUVudW1WYWx1ZXNEZWZpbml0aW9uKCk7cmV0dXJuIHRoaXMubm9kZSh0LHtraW5kOmMuRU5VTV9UWVBFX0RFRklOSVRJT04sZGVzY3JpcHRpb246bixuYW1lOnIsZGlyZWN0aXZlczppLHZhbHVlczpzfSl9cGFyc2VFbnVtVmFsdWVzRGVmaW5pdGlvbigpe3JldHVybiB0aGlzLm9wdGlvbmFsTWFueShvLkJSQUNFX0wsdGhpcy5wYXJzZUVudW1WYWx1ZURlZmluaXRpb24sby5CUkFDRV9SKX1wYXJzZUVudW1WYWx1ZURlZmluaXRpb24oKXtsZXQgdD10aGlzLl9sZXhlci50b2tlbixuPXRoaXMucGFyc2VEZXNjcmlwdGlvbigpLHI9dGhpcy5wYXJzZUVudW1WYWx1ZU5hbWUoKSxpPXRoaXMucGFyc2VDb25zdERpcmVjdGl2ZXMoKTtyZXR1cm4gdGhpcy5ub2RlKHQse2tpbmQ6Yy5FTlVNX1ZBTFVFX0RFRklOSVRJT04sZGVzY3JpcHRpb246bixuYW1lOnIsZGlyZWN0aXZlczppfSl9cGFyc2VFbnVtVmFsdWVOYW1lKCl7aWYodGhpcy5fbGV4ZXIudG9rZW4udmFsdWU9PT1cInRydWVcInx8dGhpcy5fbGV4ZXIudG9rZW4udmFsdWU9PT1cImZhbHNlXCJ8fHRoaXMuX2xleGVyLnRva2VuLnZhbHVlPT09XCJudWxsXCIpdGhyb3cgZCh0aGlzLl9sZXhlci5zb3VyY2UsdGhpcy5fbGV4ZXIudG9rZW4uc3RhcnQsYCR7bmUodGhpcy5fbGV4ZXIudG9rZW4pfSBpcyByZXNlcnZlZCBhbmQgY2Fubm90IGJlIHVzZWQgZm9yIGFuIGVudW0gdmFsdWUuYCk7cmV0dXJuIHRoaXMucGFyc2VOYW1lKCl9cGFyc2VJbnB1dE9iamVjdFR5cGVEZWZpbml0aW9uKCl7bGV0IHQ9dGhpcy5fbGV4ZXIudG9rZW4sbj10aGlzLnBhcnNlRGVzY3JpcHRpb24oKTt0aGlzLmV4cGVjdEtleXdvcmQoXCJpbnB1dFwiKTtsZXQgcj10aGlzLnBhcnNlTmFtZSgpLGk9dGhpcy5wYXJzZUNvbnN0RGlyZWN0aXZlcygpLHM9dGhpcy5wYXJzZUlucHV0RmllbGRzRGVmaW5pdGlvbigpO3JldHVybiB0aGlzLm5vZGUodCx7a2luZDpjLklOUFVUX09CSkVDVF9UWVBFX0RFRklOSVRJT04sZGVzY3JpcHRpb246bixuYW1lOnIsZGlyZWN0aXZlczppLGZpZWxkczpzfSl9cGFyc2VJbnB1dEZpZWxkc0RlZmluaXRpb24oKXtyZXR1cm4gdGhpcy5vcHRpb25hbE1hbnkoby5CUkFDRV9MLHRoaXMucGFyc2VJbnB1dFZhbHVlRGVmLG8uQlJBQ0VfUil9cGFyc2VUeXBlU3lzdGVtRXh0ZW5zaW9uKCl7bGV0IHQ9dGhpcy5fbGV4ZXIubG9va2FoZWFkKCk7aWYodC5raW5kPT09by5OQU1FKXN3aXRjaCh0LnZhbHVlKXtjYXNlXCJzY2hlbWFcIjpyZXR1cm4gdGhpcy5wYXJzZVNjaGVtYUV4dGVuc2lvbigpO2Nhc2VcInNjYWxhclwiOnJldHVybiB0aGlzLnBhcnNlU2NhbGFyVHlwZUV4dGVuc2lvbigpO2Nhc2VcInR5cGVcIjpyZXR1cm4gdGhpcy5wYXJzZU9iamVjdFR5cGVFeHRlbnNpb24oKTtjYXNlXCJpbnRlcmZhY2VcIjpyZXR1cm4gdGhpcy5wYXJzZUludGVyZmFjZVR5cGVFeHRlbnNpb24oKTtjYXNlXCJ1bmlvblwiOnJldHVybiB0aGlzLnBhcnNlVW5pb25UeXBlRXh0ZW5zaW9uKCk7Y2FzZVwiZW51bVwiOnJldHVybiB0aGlzLnBhcnNlRW51bVR5cGVFeHRlbnNpb24oKTtjYXNlXCJpbnB1dFwiOnJldHVybiB0aGlzLnBhcnNlSW5wdXRPYmplY3RUeXBlRXh0ZW5zaW9uKCl9dGhyb3cgdGhpcy51bmV4cGVjdGVkKHQpfXBhcnNlU2NoZW1hRXh0ZW5zaW9uKCl7bGV0IHQ9dGhpcy5fbGV4ZXIudG9rZW47dGhpcy5leHBlY3RLZXl3b3JkKFwiZXh0ZW5kXCIpLHRoaXMuZXhwZWN0S2V5d29yZChcInNjaGVtYVwiKTtsZXQgbj10aGlzLnBhcnNlQ29uc3REaXJlY3RpdmVzKCkscj10aGlzLm9wdGlvbmFsTWFueShvLkJSQUNFX0wsdGhpcy5wYXJzZU9wZXJhdGlvblR5cGVEZWZpbml0aW9uLG8uQlJBQ0VfUik7aWYobi5sZW5ndGg9PT0wJiZyLmxlbmd0aD09PTApdGhyb3cgdGhpcy51bmV4cGVjdGVkKCk7cmV0dXJuIHRoaXMubm9kZSh0LHtraW5kOmMuU0NIRU1BX0VYVEVOU0lPTixkaXJlY3RpdmVzOm4sb3BlcmF0aW9uVHlwZXM6cn0pfXBhcnNlU2NhbGFyVHlwZUV4dGVuc2lvbigpe2xldCB0PXRoaXMuX2xleGVyLnRva2VuO3RoaXMuZXhwZWN0S2V5d29yZChcImV4dGVuZFwiKSx0aGlzLmV4cGVjdEtleXdvcmQoXCJzY2FsYXJcIik7bGV0IG49dGhpcy5wYXJzZU5hbWUoKSxyPXRoaXMucGFyc2VDb25zdERpcmVjdGl2ZXMoKTtpZihyLmxlbmd0aD09PTApdGhyb3cgdGhpcy51bmV4cGVjdGVkKCk7cmV0dXJuIHRoaXMubm9kZSh0LHtraW5kOmMuU0NBTEFSX1RZUEVfRVhURU5TSU9OLG5hbWU6bixkaXJlY3RpdmVzOnJ9KX1wYXJzZU9iamVjdFR5cGVFeHRlbnNpb24oKXtsZXQgdD10aGlzLl9sZXhlci50b2tlbjt0aGlzLmV4cGVjdEtleXdvcmQoXCJleHRlbmRcIiksdGhpcy5leHBlY3RLZXl3b3JkKFwidHlwZVwiKTtsZXQgbj10aGlzLnBhcnNlTmFtZSgpLHI9dGhpcy5wYXJzZUltcGxlbWVudHNJbnRlcmZhY2VzKCksaT10aGlzLnBhcnNlQ29uc3REaXJlY3RpdmVzKCkscz10aGlzLnBhcnNlRmllbGRzRGVmaW5pdGlvbigpO2lmKHIubGVuZ3RoPT09MCYmaS5sZW5ndGg9PT0wJiZzLmxlbmd0aD09PTApdGhyb3cgdGhpcy51bmV4cGVjdGVkKCk7cmV0dXJuIHRoaXMubm9kZSh0LHtraW5kOmMuT0JKRUNUX1RZUEVfRVhURU5TSU9OLG5hbWU6bixpbnRlcmZhY2VzOnIsZGlyZWN0aXZlczppLGZpZWxkczpzfSl9cGFyc2VJbnRlcmZhY2VUeXBlRXh0ZW5zaW9uKCl7bGV0IHQ9dGhpcy5fbGV4ZXIudG9rZW47dGhpcy5leHBlY3RLZXl3b3JkKFwiZXh0ZW5kXCIpLHRoaXMuZXhwZWN0S2V5d29yZChcImludGVyZmFjZVwiKTtsZXQgbj10aGlzLnBhcnNlTmFtZSgpLHI9dGhpcy5wYXJzZUltcGxlbWVudHNJbnRlcmZhY2VzKCksaT10aGlzLnBhcnNlQ29uc3REaXJlY3RpdmVzKCkscz10aGlzLnBhcnNlRmllbGRzRGVmaW5pdGlvbigpO2lmKHIubGVuZ3RoPT09MCYmaS5sZW5ndGg9PT0wJiZzLmxlbmd0aD09PTApdGhyb3cgdGhpcy51bmV4cGVjdGVkKCk7cmV0dXJuIHRoaXMubm9kZSh0LHtraW5kOmMuSU5URVJGQUNFX1RZUEVfRVhURU5TSU9OLG5hbWU6bixpbnRlcmZhY2VzOnIsZGlyZWN0aXZlczppLGZpZWxkczpzfSl9cGFyc2VVbmlvblR5cGVFeHRlbnNpb24oKXtsZXQgdD10aGlzLl9sZXhlci50b2tlbjt0aGlzLmV4cGVjdEtleXdvcmQoXCJleHRlbmRcIiksdGhpcy5leHBlY3RLZXl3b3JkKFwidW5pb25cIik7bGV0IG49dGhpcy5wYXJzZU5hbWUoKSxyPXRoaXMucGFyc2VDb25zdERpcmVjdGl2ZXMoKSxpPXRoaXMucGFyc2VVbmlvbk1lbWJlclR5cGVzKCk7aWYoci5sZW5ndGg9PT0wJiZpLmxlbmd0aD09PTApdGhyb3cgdGhpcy51bmV4cGVjdGVkKCk7cmV0dXJuIHRoaXMubm9kZSh0LHtraW5kOmMuVU5JT05fVFlQRV9FWFRFTlNJT04sbmFtZTpuLGRpcmVjdGl2ZXM6cix0eXBlczppfSl9cGFyc2VFbnVtVHlwZUV4dGVuc2lvbigpe2xldCB0PXRoaXMuX2xleGVyLnRva2VuO3RoaXMuZXhwZWN0S2V5d29yZChcImV4dGVuZFwiKSx0aGlzLmV4cGVjdEtleXdvcmQoXCJlbnVtXCIpO2xldCBuPXRoaXMucGFyc2VOYW1lKCkscj10aGlzLnBhcnNlQ29uc3REaXJlY3RpdmVzKCksaT10aGlzLnBhcnNlRW51bVZhbHVlc0RlZmluaXRpb24oKTtpZihyLmxlbmd0aD09PTAmJmkubGVuZ3RoPT09MCl0aHJvdyB0aGlzLnVuZXhwZWN0ZWQoKTtyZXR1cm4gdGhpcy5ub2RlKHQse2tpbmQ6Yy5FTlVNX1RZUEVfRVhURU5TSU9OLG5hbWU6bixkaXJlY3RpdmVzOnIsdmFsdWVzOml9KX1wYXJzZUlucHV0T2JqZWN0VHlwZUV4dGVuc2lvbigpe2xldCB0PXRoaXMuX2xleGVyLnRva2VuO3RoaXMuZXhwZWN0S2V5d29yZChcImV4dGVuZFwiKSx0aGlzLmV4cGVjdEtleXdvcmQoXCJpbnB1dFwiKTtsZXQgbj10aGlzLnBhcnNlTmFtZSgpLHI9dGhpcy5wYXJzZUNvbnN0RGlyZWN0aXZlcygpLGk9dGhpcy5wYXJzZUlucHV0RmllbGRzRGVmaW5pdGlvbigpO2lmKHIubGVuZ3RoPT09MCYmaS5sZW5ndGg9PT0wKXRocm93IHRoaXMudW5leHBlY3RlZCgpO3JldHVybiB0aGlzLm5vZGUodCx7a2luZDpjLklOUFVUX09CSkVDVF9UWVBFX0VYVEVOU0lPTixuYW1lOm4sZGlyZWN0aXZlczpyLGZpZWxkczppfSl9cGFyc2VEaXJlY3RpdmVEZWZpbml0aW9uKCl7bGV0IHQ9dGhpcy5fbGV4ZXIudG9rZW4sbj10aGlzLnBhcnNlRGVzY3JpcHRpb24oKTt0aGlzLmV4cGVjdEtleXdvcmQoXCJkaXJlY3RpdmVcIiksdGhpcy5leHBlY3RUb2tlbihvLkFUKTtsZXQgcj10aGlzLnBhcnNlTmFtZSgpLGk9dGhpcy5wYXJzZUFyZ3VtZW50RGVmcygpLHM9dGhpcy5leHBlY3RPcHRpb25hbEtleXdvcmQoXCJyZXBlYXRhYmxlXCIpO3RoaXMuZXhwZWN0S2V5d29yZChcIm9uXCIpO2xldCBhPXRoaXMucGFyc2VEaXJlY3RpdmVMb2NhdGlvbnMoKTtyZXR1cm4gdGhpcy5ub2RlKHQse2tpbmQ6Yy5ESVJFQ1RJVkVfREVGSU5JVElPTixkZXNjcmlwdGlvbjpuLG5hbWU6cixhcmd1bWVudHM6aSxyZXBlYXRhYmxlOnMsbG9jYXRpb25zOmF9KX1wYXJzZURpcmVjdGl2ZUxvY2F0aW9ucygpe3JldHVybiB0aGlzLmRlbGltaXRlZE1hbnkoby5QSVBFLHRoaXMucGFyc2VEaXJlY3RpdmVMb2NhdGlvbil9cGFyc2VEaXJlY3RpdmVMb2NhdGlvbigpe2xldCB0PXRoaXMuX2xleGVyLnRva2VuLG49dGhpcy5wYXJzZU5hbWUoKTtpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoSCxuLnZhbHVlKSlyZXR1cm4gbjt0aHJvdyB0aGlzLnVuZXhwZWN0ZWQodCl9bm9kZSh0LG4pe3JldHVybiB0aGlzLl9vcHRpb25zLm5vTG9jYXRpb24hPT0hMCYmKG4ubG9jPW5ldyBKKHQsdGhpcy5fbGV4ZXIubGFzdFRva2VuLHRoaXMuX2xleGVyLnNvdXJjZSkpLG59cGVlayh0KXtyZXR1cm4gdGhpcy5fbGV4ZXIudG9rZW4ua2luZD09PXR9ZXhwZWN0VG9rZW4odCl7bGV0IG49dGhpcy5fbGV4ZXIudG9rZW47aWYobi5raW5kPT09dClyZXR1cm4gdGhpcy5hZHZhbmNlTGV4ZXIoKSxuO3Rocm93IGQodGhpcy5fbGV4ZXIuc291cmNlLG4uc3RhcnQsYEV4cGVjdGVkICR7WmUodCl9LCBmb3VuZCAke25lKG4pfS5gKX1leHBlY3RPcHRpb25hbFRva2VuKHQpe3JldHVybiB0aGlzLl9sZXhlci50b2tlbi5raW5kPT09dD8odGhpcy5hZHZhbmNlTGV4ZXIoKSwhMCk6ITF9ZXhwZWN0S2V5d29yZCh0KXtsZXQgbj10aGlzLl9sZXhlci50b2tlbjtpZihuLmtpbmQ9PT1vLk5BTUUmJm4udmFsdWU9PT10KXRoaXMuYWR2YW5jZUxleGVyKCk7ZWxzZSB0aHJvdyBkKHRoaXMuX2xleGVyLnNvdXJjZSxuLnN0YXJ0LGBFeHBlY3RlZCBcIiR7dH1cIiwgZm91bmQgJHtuZShuKX0uYCl9ZXhwZWN0T3B0aW9uYWxLZXl3b3JkKHQpe2xldCBuPXRoaXMuX2xleGVyLnRva2VuO3JldHVybiBuLmtpbmQ9PT1vLk5BTUUmJm4udmFsdWU9PT10Pyh0aGlzLmFkdmFuY2VMZXhlcigpLCEwKTohMX11bmV4cGVjdGVkKHQpe2xldCBuPXQ/P3RoaXMuX2xleGVyLnRva2VuO3JldHVybiBkKHRoaXMuX2xleGVyLnNvdXJjZSxuLnN0YXJ0LGBVbmV4cGVjdGVkICR7bmUobil9LmApfWFueSh0LG4scil7dGhpcy5leHBlY3RUb2tlbih0KTtsZXQgaT1bXTtmb3IoOyF0aGlzLmV4cGVjdE9wdGlvbmFsVG9rZW4ocik7KWkucHVzaChuLmNhbGwodGhpcykpO3JldHVybiBpfW9wdGlvbmFsTWFueSh0LG4scil7aWYodGhpcy5leHBlY3RPcHRpb25hbFRva2VuKHQpKXtsZXQgaT1bXTtkbyBpLnB1c2gobi5jYWxsKHRoaXMpKTt3aGlsZSghdGhpcy5leHBlY3RPcHRpb25hbFRva2VuKHIpKTtyZXR1cm4gaX1yZXR1cm5bXX1tYW55KHQsbixyKXt0aGlzLmV4cGVjdFRva2VuKHQpO2xldCBpPVtdO2RvIGkucHVzaChuLmNhbGwodGhpcykpO3doaWxlKCF0aGlzLmV4cGVjdE9wdGlvbmFsVG9rZW4ocikpO3JldHVybiBpfWRlbGltaXRlZE1hbnkodCxuKXt0aGlzLmV4cGVjdE9wdGlvbmFsVG9rZW4odCk7bGV0IHI9W107ZG8gci5wdXNoKG4uY2FsbCh0aGlzKSk7d2hpbGUodGhpcy5leHBlY3RPcHRpb25hbFRva2VuKHQpKTtyZXR1cm4gcn1hZHZhbmNlTGV4ZXIoKXtsZXR7bWF4VG9rZW5zOnR9PXRoaXMuX29wdGlvbnMsbj10aGlzLl9sZXhlci5hZHZhbmNlKCk7aWYodCE9PXZvaWQgMCYmbi5raW5kIT09by5FT0YmJigrK3RoaXMuX3Rva2VuQ291bnRlcix0aGlzLl90b2tlbkNvdW50ZXI+dCkpdGhyb3cgZCh0aGlzLl9sZXhlci5zb3VyY2Usbi5zdGFydCxgRG9jdW1lbnQgY29udGFpbnMgbW9yZSB0aGF0ICR7dH0gdG9rZW5zLiBQYXJzaW5nIGFib3J0ZWQuYCl9fTtmdW5jdGlvbiBuZShlKXtsZXQgdD1lLnZhbHVlO3JldHVybiBaZShlLmtpbmQpKyh0IT1udWxsP2AgXCIke3R9XCJgOlwiXCIpfWZ1bmN0aW9uIFplKGUpe3JldHVybiBxZShlKT9gXCIke2V9XCJgOmV9ZnVuY3Rpb24gS3QoZSx0KXtsZXQgbj1uZXcgU3ludGF4RXJyb3IoZStcIiAoXCIrdC5sb2Muc3RhcnQubGluZStcIjpcIit0LmxvYy5zdGFydC5jb2x1bW4rXCIpXCIpO3JldHVybiBPYmplY3QuYXNzaWduKG4sdCl9dmFyIGV0PUt0O2Z1bmN0aW9uIFp0KGUpe2xldCB0PVtdLHtzdGFydFRva2VuOm4sZW5kVG9rZW46cn09ZS5sb2M7Zm9yKGxldCBpPW47aSE9PXI7aT1pLm5leHQpaS5raW5kPT09XCJDb21tZW50XCImJnQucHVzaCh7Li4uaSxsb2M6e3N0YXJ0Omkuc3RhcnQsZW5kOmkuZW5kfX0pO3JldHVybiB0fXZhciBlbj17YWxsb3dMZWdhY3lGcmFnbWVudFZhcmlhYmxlczohMH07ZnVuY3Rpb24gdG4oZSl7aWYoKGU9PW51bGw/dm9pZCAwOmUubmFtZSk9PT1cIkdyYXBoUUxFcnJvclwiKXtsZXR7bWVzc2FnZTp0LGxvY2F0aW9uczpbbl19PWU7cmV0dXJuIGV0KHQse2xvYzp7c3RhcnQ6bn0sY2F1c2U6ZX0pfXJldHVybiBlfWZ1bmN0aW9uIG5uKGUpe2xldCB0O3RyeXt0PUtlKGUsZW4pfWNhdGNoKG4pe3Rocm93IHRuKG4pfXJldHVybiB0LmNvbW1lbnRzPVp0KHQpLHR9dmFyIHJuPXtwYXJzZTpubixhc3RGb3JtYXQ6XCJncmFwaHFsXCIsaGFzUHJhZ21hOkNlLGxvY1N0YXJ0OnEsbG9jRW5kOlF9O3ZhciBzbj17Z3JhcGhxbDpSZX07dmFyIGZyPVRlO2V4cG9ydHtmciBhcyBkZWZhdWx0LFBlIGFzIGxhbmd1YWdlcyx3ZSBhcyBvcHRpb25zLEVlIGFzIHBhcnNlcnMsc24gYXMgcHJpbnRlcnN9O1xuIiwgInZhciByaT1PYmplY3QuZGVmaW5lUHJvcGVydHk7dmFyIFhyPXQ9Pnt0aHJvdyBUeXBlRXJyb3IodCl9O3ZhciBKcj0odCxlKT0+e2Zvcih2YXIgciBpbiBlKXJpKHQscix7Z2V0OmVbcl0sZW51bWVyYWJsZTohMH0pfTt2YXIgWnI9KHQsZSxyKT0+ZS5oYXModCl8fFhyKFwiQ2Fubm90IFwiK3IpO3ZhciBLPSh0LGUscik9Pihacih0LGUsXCJyZWFkIGZyb20gcHJpdmF0ZSBmaWVsZFwiKSxyP3IuY2FsbCh0KTplLmdldCh0KSksZW49KHQsZSxyKT0+ZS5oYXModCk/WHIoXCJDYW5ub3QgYWRkIHRoZSBzYW1lIHByaXZhdGUgbWVtYmVyIG1vcmUgdGhhbiBvbmNlXCIpOmUgaW5zdGFuY2VvZiBXZWFrU2V0P2UuYWRkKHQpOmUuc2V0KHQsciksdG49KHQsZSxyLG4pPT4oWnIodCxlLFwid3JpdGUgdG8gcHJpdmF0ZSBmaWVsZFwiKSxuP24uY2FsbCh0LHIpOmUuc2V0KHQscikscik7dmFyIFlyPXt9O0pyKFlyLHtsYW5ndWFnZXM6KCk9PkFzLG9wdGlvbnM6KCk9PnZzLHBhcnNlcnM6KCk9PkdyLHByaW50ZXJzOigpPT5Jb30pO3ZhciBuaT0odCxlLHIsbik9PntpZighKHQmJmU9PW51bGwpKXJldHVybiBlLnJlcGxhY2VBbGw/ZS5yZXBsYWNlQWxsKHIsbik6ci5nbG9iYWw/ZS5yZXBsYWNlKHIsbik6ZS5zcGxpdChyKS5qb2luKG4pfSx3PW5pO3ZhciBWZT1cInN0cmluZ1wiLFVlPVwiYXJyYXlcIixXZT1cImN1cnNvclwiLERlPVwiaW5kZW50XCIsdmU9XCJhbGlnblwiLHplPVwidHJpbVwiLHllPVwiZ3JvdXBcIix3ZT1cImZpbGxcIixiZT1cImlmLWJyZWFrXCIsVGU9XCJpbmRlbnQtaWYtYnJlYWtcIixHZT1cImxpbmUtc3VmZml4XCIsWWU9XCJsaW5lLXN1ZmZpeC1ib3VuZGFyeVwiLFE9XCJsaW5lXCIsamU9XCJsYWJlbFwiLHhlPVwiYnJlYWstcGFyZW50XCIsU3Q9bmV3IFNldChbV2UsRGUsdmUsemUseWUsd2UsYmUsVGUsR2UsWWUsUSxqZSx4ZV0pO2Z1bmN0aW9uIHNpKHQpe2lmKHR5cGVvZiB0PT1cInN0cmluZ1wiKXJldHVybiBWZTtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBVZTtpZighdClyZXR1cm47bGV0e3R5cGU6ZX09dDtpZihTdC5oYXMoZSkpcmV0dXJuIGV9dmFyIEtlPXNpO3ZhciBpaT10PT5uZXcgSW50bC5MaXN0Rm9ybWF0KFwiZW4tVVNcIix7dHlwZTpcImRpc2p1bmN0aW9uXCJ9KS5mb3JtYXQodCk7ZnVuY3Rpb24gYWkodCl7bGV0IGU9dD09PW51bGw/XCJudWxsXCI6dHlwZW9mIHQ7aWYoZSE9PVwic3RyaW5nXCImJmUhPT1cIm9iamVjdFwiKXJldHVybmBVbmV4cGVjdGVkIGRvYyAnJHtlfScsIFxuRXhwZWN0ZWQgaXQgdG8gYmUgJ3N0cmluZycgb3IgJ29iamVjdCcuYDtpZihLZSh0KSl0aHJvdyBuZXcgRXJyb3IoXCJkb2MgaXMgdmFsaWQuXCIpO2xldCByPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KTtpZihyIT09XCJbb2JqZWN0IE9iamVjdF1cIilyZXR1cm5gVW5leHBlY3RlZCBkb2MgJyR7cn0nLmA7bGV0IG49aWkoWy4uLlN0XS5tYXAocz0+YCcke3N9J2ApKTtyZXR1cm5gVW5leHBlY3RlZCBkb2MudHlwZSAnJHt0LnR5cGV9Jy5cbkV4cGVjdGVkIGl0IHRvIGJlICR7bn0uYH12YXIgb3I9Y2xhc3MgZXh0ZW5kcyBFcnJvcntuYW1lPVwiSW52YWxpZERvY0Vycm9yXCI7Y29uc3RydWN0b3IoZSl7c3VwZXIoYWkoZSkpLHRoaXMuZG9jPWV9fSx1cj1vcjt2YXIgcm49KCk9Pnt9LHJlPXJuLF90PXJuO2Z1bmN0aW9uIGsodCl7cmV0dXJuIHJlKHQpLHt0eXBlOkRlLGNvbnRlbnRzOnR9fWZ1bmN0aW9uIG5uKHQsZSl7cmV0dXJuIHJlKGUpLHt0eXBlOnZlLGNvbnRlbnRzOmUsbjp0fX1mdW5jdGlvbiBfKHQsZT17fSl7cmV0dXJuIHJlKHQpLF90KGUuZXhwYW5kZWRTdGF0ZXMsITApLHt0eXBlOnllLGlkOmUuaWQsY29udGVudHM6dCxicmVhazohIWUuc2hvdWxkQnJlYWssZXhwYW5kZWRTdGF0ZXM6ZS5leHBhbmRlZFN0YXRlc319ZnVuY3Rpb24gc24odCl7cmV0dXJuIG5uKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSx0KX1mdW5jdGlvbiBhbih0KXtyZXR1cm4gbm4oe3R5cGU6XCJyb290XCJ9LHQpfWZ1bmN0aW9uIEV0KHQpe3JldHVybiBfdCh0KSx7dHlwZTp3ZSxwYXJ0czp0fX1mdW5jdGlvbiBsZSh0LGU9XCJcIixyPXt9KXtyZXR1cm4gcmUodCksZSE9PVwiXCImJnJlKGUpLHt0eXBlOmJlLGJyZWFrQ29udGVudHM6dCxmbGF0Q29udGVudHM6ZSxncm91cElkOnIuZ3JvdXBJZH19ZnVuY3Rpb24gb24odCxlKXtyZXR1cm4gcmUodCkse3R5cGU6VGUsY29udGVudHM6dCxncm91cElkOmUuZ3JvdXBJZCxuZWdhdGU6ZS5uZWdhdGV9fXZhciBuZT17dHlwZTp4ZX07dmFyIG9pPXt0eXBlOlEsaGFyZDohMH0sdWk9e3R5cGU6USxoYXJkOiEwLGxpdGVyYWw6ITB9LEU9e3R5cGU6UX0sdj17dHlwZTpRLHNvZnQ6ITB9LFM9W29pLG5lXSx1bj1bdWksbmVdO2Z1bmN0aW9uIHEodCxlKXtyZSh0KSxfdChlKTtsZXQgcj1bXTtmb3IobGV0IG49MDtuPGUubGVuZ3RoO24rKyluIT09MCYmci5wdXNoKHQpLHIucHVzaChlW25dKTtyZXR1cm4gcn12YXIgbGk9KHQsZSxyKT0+e2lmKCEodCYmZT09bnVsbCkpcmV0dXJuIEFycmF5LmlzQXJyYXkoZSl8fHR5cGVvZiBlPT1cInN0cmluZ1wiP2VbcjwwP2UubGVuZ3RoK3I6cl06ZS5hdChyKX0sc2U9bGk7ZnVuY3Rpb24gbHIodCxlKXtpZih0eXBlb2YgdD09XCJzdHJpbmdcIilyZXR1cm4gZSh0KTtsZXQgcj1uZXcgTWFwO3JldHVybiBuKHQpO2Z1bmN0aW9uIG4oaSl7aWYoci5oYXMoaSkpcmV0dXJuIHIuZ2V0KGkpO2xldCBhPXMoaSk7cmV0dXJuIHIuc2V0KGksYSksYX1mdW5jdGlvbiBzKGkpe3N3aXRjaChLZShpKSl7Y2FzZSBVZTpyZXR1cm4gZShpLm1hcChuKSk7Y2FzZSB3ZTpyZXR1cm4gZSh7Li4uaSxwYXJ0czppLnBhcnRzLm1hcChuKX0pO2Nhc2UgYmU6cmV0dXJuIGUoey4uLmksYnJlYWtDb250ZW50czpuKGkuYnJlYWtDb250ZW50cyksZmxhdENvbnRlbnRzOm4oaS5mbGF0Q29udGVudHMpfSk7Y2FzZSB5ZTp7bGV0e2V4cGFuZGVkU3RhdGVzOmEsY29udGVudHM6b309aTtyZXR1cm4gYT8oYT1hLm1hcChuKSxvPWFbMF0pOm89bihvKSxlKHsuLi5pLGNvbnRlbnRzOm8sZXhwYW5kZWRTdGF0ZXM6YX0pfWNhc2UgdmU6Y2FzZSBEZTpjYXNlIFRlOmNhc2UgamU6Y2FzZSBHZTpyZXR1cm4gZSh7Li4uaSxjb250ZW50czpuKGkuY29udGVudHMpfSk7Y2FzZSBWZTpjYXNlIFdlOmNhc2UgemU6Y2FzZSBZZTpjYXNlIFE6Y2FzZSB4ZTpyZXR1cm4gZShpKTtkZWZhdWx0OnRocm93IG5ldyB1cihpKX19fWZ1bmN0aW9uIEIodCxlPXVuKXtyZXR1cm4gbHIodCxyPT50eXBlb2Ygcj09XCJzdHJpbmdcIj9xKGUsci5zcGxpdChgXG5gKSk6cil9dmFyIEF0PVwiJ1wiLGxuPSdcIic7ZnVuY3Rpb24gY2kodCxlKXtsZXQgcj1lPT09ITB8fGU9PT1BdD9BdDpsbixuPXI9PT1BdD9sbjpBdCxzPTAsaT0wO2ZvcihsZXQgYSBvZiB0KWE9PT1yP3MrKzphPT09biYmaSsrO3JldHVybiBzPmk/bjpyfXZhciBjbj1jaTtmdW5jdGlvbiBjcih0KXtpZih0eXBlb2YgdCE9XCJzdHJpbmdcIil0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgYSBzdHJpbmdcIik7cmV0dXJuIHQucmVwbGFjZSgvW3xcXFxce30oKVtcXF1eJCsqPy5dL2csXCJcXFxcJCZcIikucmVwbGFjZSgvLS9nLFwiXFxcXHgyZFwiKX12YXIgSCxwcj1jbGFzc3tjb25zdHJ1Y3RvcihlKXtlbih0aGlzLEgpO3RuKHRoaXMsSCxuZXcgU2V0KGUpKX1nZXRMZWFkaW5nV2hpdGVzcGFjZUNvdW50KGUpe2xldCByPUsodGhpcyxIKSxuPTA7Zm9yKGxldCBzPTA7czxlLmxlbmd0aCYmci5oYXMoZS5jaGFyQXQocykpO3MrKyluKys7cmV0dXJuIG59Z2V0VHJhaWxpbmdXaGl0ZXNwYWNlQ291bnQoZSl7bGV0IHI9Syh0aGlzLEgpLG49MDtmb3IobGV0IHM9ZS5sZW5ndGgtMTtzPj0wJiZyLmhhcyhlLmNoYXJBdChzKSk7cy0tKW4rKztyZXR1cm4gbn1nZXRMZWFkaW5nV2hpdGVzcGFjZShlKXtsZXQgcj10aGlzLmdldExlYWRpbmdXaGl0ZXNwYWNlQ291bnQoZSk7cmV0dXJuIGUuc2xpY2UoMCxyKX1nZXRUcmFpbGluZ1doaXRlc3BhY2UoZSl7bGV0IHI9dGhpcy5nZXRUcmFpbGluZ1doaXRlc3BhY2VDb3VudChlKTtyZXR1cm4gZS5zbGljZShlLmxlbmd0aC1yKX1oYXNMZWFkaW5nV2hpdGVzcGFjZShlKXtyZXR1cm4gSyh0aGlzLEgpLmhhcyhlLmNoYXJBdCgwKSl9aGFzVHJhaWxpbmdXaGl0ZXNwYWNlKGUpe3JldHVybiBLKHRoaXMsSCkuaGFzKHNlKCExLGUsLTEpKX10cmltU3RhcnQoZSl7bGV0IHI9dGhpcy5nZXRMZWFkaW5nV2hpdGVzcGFjZUNvdW50KGUpO3JldHVybiBlLnNsaWNlKHIpfXRyaW1FbmQoZSl7bGV0IHI9dGhpcy5nZXRUcmFpbGluZ1doaXRlc3BhY2VDb3VudChlKTtyZXR1cm4gZS5zbGljZSgwLGUubGVuZ3RoLXIpfXRyaW0oZSl7cmV0dXJuIHRoaXMudHJpbUVuZCh0aGlzLnRyaW1TdGFydChlKSl9c3BsaXQoZSxyPSExKXtsZXQgbj1gWyR7Y3IoWy4uLksodGhpcyxIKV0uam9pbihcIlwiKSl9XStgLHM9bmV3IFJlZ0V4cChyP2AoJHtufSlgOm4sXCJ1XCIpO3JldHVybiBlLnNwbGl0KHMpfWhhc1doaXRlc3BhY2VDaGFyYWN0ZXIoZSl7bGV0IHI9Syh0aGlzLEgpO3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGUsbj0+ci5oYXMobikpfWhhc05vbldoaXRlc3BhY2VDaGFyYWN0ZXIoZSl7bGV0IHI9Syh0aGlzLEgpO3JldHVybiBBcnJheS5wcm90b3R5cGUuc29tZS5jYWxsKGUsbj0+IXIuaGFzKG4pKX1pc1doaXRlc3BhY2VPbmx5KGUpe2xldCByPUsodGhpcyxIKTtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwoZSxuPT5yLmhhcyhuKSl9fTtIPW5ldyBXZWFrTWFwO3ZhciBwbj1wcjt2YXIgcGk9W1wiXHRcIixgXG5gLFwiXFxmXCIsXCJcXHJcIixcIiBcIl0saGk9bmV3IHBuKHBpKSxOPWhpO3ZhciBocj1jbGFzcyBleHRlbmRzIEVycm9ye25hbWU9XCJVbmV4cGVjdGVkTm9kZUVycm9yXCI7Y29uc3RydWN0b3IoZSxyLG49XCJ0eXBlXCIpe3N1cGVyKGBVbmV4cGVjdGVkICR7cn0gbm9kZSAke259OiAke0pTT04uc3RyaW5naWZ5KGVbbl0pfS5gKSx0aGlzLm5vZGU9ZX19LGhuPWhyO2Z1bmN0aW9uIG1pKHQpe3JldHVybih0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJmcm9udC1tYXR0ZXJcIn12YXIga2U9bWk7dmFyIGZpPW5ldyBTZXQoW1wic291cmNlU3BhblwiLFwic3RhcnRTb3VyY2VTcGFuXCIsXCJlbmRTb3VyY2VTcGFuXCIsXCJuYW1lU3BhblwiLFwidmFsdWVTcGFuXCIsXCJrZXlTcGFuXCIsXCJ0YWdEZWZpbml0aW9uXCIsXCJ0b2tlbnNcIixcInZhbHVlVG9rZW5zXCIsXCJzd2l0Y2hWYWx1ZVNvdXJjZVNwYW5cIixcImV4cFNvdXJjZVNwYW5cIixcInZhbHVlU291cmNlU3BhblwiXSksZGk9bmV3IFNldChbXCJpZlwiLFwiZWxzZSBpZlwiLFwiZm9yXCIsXCJzd2l0Y2hcIixcImNhc2VcIl0pO2Z1bmN0aW9uIG1uKHQsZSl7dmFyIHI7aWYodC50eXBlPT09XCJ0ZXh0XCJ8fHQudHlwZT09PVwiY29tbWVudFwifHxrZSh0KXx8dC50eXBlPT09XCJ5YW1sXCJ8fHQudHlwZT09PVwidG9tbFwiKXJldHVybiBudWxsO2lmKHQudHlwZT09PVwiYXR0cmlidXRlXCImJmRlbGV0ZSBlLnZhbHVlLHQudHlwZT09PVwiZG9jVHlwZVwiJiZkZWxldGUgZS52YWx1ZSx0LnR5cGU9PT1cImFuZ3VsYXJDb250cm9sRmxvd0Jsb2NrXCImJigocj10LnBhcmFtZXRlcnMpIT1udWxsJiZyLmNoaWxkcmVuKSlmb3IobGV0IG4gb2YgZS5wYXJhbWV0ZXJzLmNoaWxkcmVuKWRpLmhhcyh0Lm5hbWUpP2RlbGV0ZSBuLmV4cHJlc3Npb246bi5leHByZXNzaW9uPW4uZXhwcmVzc2lvbi50cmltKCk7dC50eXBlPT09XCJhbmd1bGFySWN1RXhwcmVzc2lvblwiJiYoZS5zd2l0Y2hWYWx1ZT10LnN3aXRjaFZhbHVlLnRyaW0oKSksdC50eXBlPT09XCJhbmd1bGFyTGV0RGVjbGFyYXRpb25Jbml0aWFsaXplclwiJiZkZWxldGUgZS52YWx1ZX1tbi5pZ25vcmVkUHJvcGVydGllcz1maTt2YXIgZm49bW47YXN5bmMgZnVuY3Rpb24gZ2kodCxlKXtpZih0Lmxhbmd1YWdlPT09XCJ5YW1sXCIpe2xldCByPXQudmFsdWUudHJpbSgpLG49cj9hd2FpdCBlKHIse3BhcnNlcjpcInlhbWxcIn0pOlwiXCI7cmV0dXJuIGFuKFt0LnN0YXJ0RGVsaW1pdGVyLHQuZXhwbGljaXRMYW5ndWFnZSxTLG4sbj9TOlwiXCIsdC5lbmREZWxpbWl0ZXJdKX19dmFyIGRuPWdpO2Z1bmN0aW9uIGNlKHQsZT0hMCl7cmV0dXJuW2soW3YsdF0pLGU/djpcIlwiXX1mdW5jdGlvbiBZKHQsZSl7bGV0IHI9dC50eXBlPT09XCJOR1Jvb3RcIj90Lm5vZGUudHlwZT09PVwiTkdNaWNyb3N5bnRheFwiJiZ0Lm5vZGUuYm9keS5sZW5ndGg9PT0xJiZ0Lm5vZGUuYm9keVswXS50eXBlPT09XCJOR01pY3Jvc3ludGF4RXhwcmVzc2lvblwiP3Qubm9kZS5ib2R5WzBdLmV4cHJlc3Npb246dC5ub2RlOnQudHlwZT09PVwiSnNFeHByZXNzaW9uUm9vdFwiP3Qubm9kZTp0O3JldHVybiByJiYoci50eXBlPT09XCJPYmplY3RFeHByZXNzaW9uXCJ8fHIudHlwZT09PVwiQXJyYXlFeHByZXNzaW9uXCJ8fChlLnBhcnNlcj09PVwiX192dWVfZXhwcmVzc2lvblwifHxlLnBhcnNlcj09PVwiX192dWVfdHNfZXhwcmVzc2lvblwiKSYmKHIudHlwZT09PVwiVGVtcGxhdGVMaXRlcmFsXCJ8fHIudHlwZT09PVwiU3RyaW5nTGl0ZXJhbFwiKSl9YXN5bmMgZnVuY3Rpb24gVCh0LGUscixuKXtyPXtfX2lzSW5IdG1sQXR0cmlidXRlOiEwLF9fZW1iZWRkZWRJbkh0bWw6ITAsLi4ucn07bGV0IHM9ITA7biYmKHIuX19vbkh0bWxCaW5kaW5nUm9vdD0oYSxvKT0+e3M9bihhLG8pfSk7bGV0IGk9YXdhaXQgZSh0LHIsZSk7cmV0dXJuIHM/XyhpKTpjZShpKX1mdW5jdGlvbiBDaSh0LGUscixuKXtsZXR7bm9kZTpzfT1yLGk9bi5vcmlnaW5hbFRleHQuc2xpY2Uocy5zb3VyY2VTcGFuLnN0YXJ0Lm9mZnNldCxzLnNvdXJjZVNwYW4uZW5kLm9mZnNldCk7cmV0dXJuL15cXHMqJC91LnRlc3QoaSk/XCJcIjpUKGksdCx7cGFyc2VyOlwiX19uZ19kaXJlY3RpdmVcIixfX2lzSW5IdG1sQXR0cmlidXRlOiExfSxZKX12YXIgZ249Q2k7dmFyIFNpPXQ9PlN0cmluZyh0KS5zcGxpdCgvWy9cXFxcXS91KS5wb3AoKTtmdW5jdGlvbiBDbih0LGUpe2lmKCFlKXJldHVybjtsZXQgcj1TaShlKS50b0xvd2VyQ2FzZSgpO3JldHVybiB0LmZpbmQoKHtmaWxlbmFtZXM6bn0pPT5uPT1udWxsP3ZvaWQgMDpuLnNvbWUocz0+cy50b0xvd2VyQ2FzZSgpPT09cikpPz90LmZpbmQoKHtleHRlbnNpb25zOm59KT0+bj09bnVsbD92b2lkIDA6bi5zb21lKHM9PnIuZW5kc1dpdGgocykpKX1mdW5jdGlvbiBfaSh0LGUpe2lmKGUpcmV0dXJuIHQuZmluZCgoe25hbWU6cn0pPT5yLnRvTG93ZXJDYXNlKCk9PT1lKT8/dC5maW5kKCh7YWxpYXNlczpyfSk9PnI9PW51bGw/dm9pZCAwOnIuaW5jbHVkZXMoZSkpPz90LmZpbmQoKHtleHRlbnNpb25zOnJ9KT0+cj09bnVsbD92b2lkIDA6ci5pbmNsdWRlcyhgLiR7ZX1gKSl9ZnVuY3Rpb24gRWkodCxlKXtsZXQgcj10LnBsdWdpbnMuZmxhdE1hcChzPT5zLmxhbmd1YWdlcz8/W10pLG49X2kocixlLmxhbmd1YWdlKT8/Q24ocixlLnBoeXNpY2FsRmlsZSk/P0NuKHIsZS5maWxlKT8/KGUucGh5c2ljYWxGaWxlLHZvaWQgMCk7cmV0dXJuIG49PW51bGw/dm9pZCAwOm4ucGFyc2Vyc1swXX12YXIgQmU9RWk7dmFyIFNuPVwiaW5saW5lXCIsX249e2FyZWE6XCJub25lXCIsYmFzZTpcIm5vbmVcIixiYXNlZm9udDpcIm5vbmVcIixkYXRhbGlzdDpcIm5vbmVcIixoZWFkOlwibm9uZVwiLGxpbms6XCJub25lXCIsbWV0YTpcIm5vbmVcIixub2VtYmVkOlwibm9uZVwiLG5vZnJhbWVzOlwibm9uZVwiLHBhcmFtOlwiYmxvY2tcIixycDpcIm5vbmVcIixzY3JpcHQ6XCJibG9ja1wiLHN0eWxlOlwibm9uZVwiLHRlbXBsYXRlOlwiaW5saW5lXCIsdGl0bGU6XCJub25lXCIsaHRtbDpcImJsb2NrXCIsYm9keTpcImJsb2NrXCIsYWRkcmVzczpcImJsb2NrXCIsYmxvY2txdW90ZTpcImJsb2NrXCIsY2VudGVyOlwiYmxvY2tcIixkaWFsb2c6XCJibG9ja1wiLGRpdjpcImJsb2NrXCIsZmlndXJlOlwiYmxvY2tcIixmaWdjYXB0aW9uOlwiYmxvY2tcIixmb290ZXI6XCJibG9ja1wiLGZvcm06XCJibG9ja1wiLGhlYWRlcjpcImJsb2NrXCIsaHI6XCJibG9ja1wiLGxlZ2VuZDpcImJsb2NrXCIsbGlzdGluZzpcImJsb2NrXCIsbWFpbjpcImJsb2NrXCIscDpcImJsb2NrXCIscGxhaW50ZXh0OlwiYmxvY2tcIixwcmU6XCJibG9ja1wiLHNlYXJjaDpcImJsb2NrXCIseG1wOlwiYmxvY2tcIixzbG90OlwiY29udGVudHNcIixydWJ5OlwicnVieVwiLHJ0OlwicnVieS10ZXh0XCIsYXJ0aWNsZTpcImJsb2NrXCIsYXNpZGU6XCJibG9ja1wiLGgxOlwiYmxvY2tcIixoMjpcImJsb2NrXCIsaDM6XCJibG9ja1wiLGg0OlwiYmxvY2tcIixoNTpcImJsb2NrXCIsaDY6XCJibG9ja1wiLGhncm91cDpcImJsb2NrXCIsbmF2OlwiYmxvY2tcIixzZWN0aW9uOlwiYmxvY2tcIixkaXI6XCJibG9ja1wiLGRkOlwiYmxvY2tcIixkbDpcImJsb2NrXCIsZHQ6XCJibG9ja1wiLG1lbnU6XCJibG9ja1wiLG9sOlwiYmxvY2tcIix1bDpcImJsb2NrXCIsbGk6XCJsaXN0LWl0ZW1cIix0YWJsZTpcInRhYmxlXCIsY2FwdGlvbjpcInRhYmxlLWNhcHRpb25cIixjb2xncm91cDpcInRhYmxlLWNvbHVtbi1ncm91cFwiLGNvbDpcInRhYmxlLWNvbHVtblwiLHRoZWFkOlwidGFibGUtaGVhZGVyLWdyb3VwXCIsdGJvZHk6XCJ0YWJsZS1yb3ctZ3JvdXBcIix0Zm9vdDpcInRhYmxlLWZvb3Rlci1ncm91cFwiLHRyOlwidGFibGUtcm93XCIsdGQ6XCJ0YWJsZS1jZWxsXCIsdGg6XCJ0YWJsZS1jZWxsXCIsaW5wdXQ6XCJpbmxpbmUtYmxvY2tcIixidXR0b246XCJpbmxpbmUtYmxvY2tcIixmaWVsZHNldDpcImJsb2NrXCIsZGV0YWlsczpcImJsb2NrXCIsc3VtbWFyeTpcImJsb2NrXCIsbWFycXVlZTpcImlubGluZS1ibG9ja1wiLHNvdXJjZTpcImJsb2NrXCIsdHJhY2s6XCJibG9ja1wiLG1ldGVyOlwiaW5saW5lLWJsb2NrXCIscHJvZ3Jlc3M6XCJpbmxpbmUtYmxvY2tcIixvYmplY3Q6XCJpbmxpbmUtYmxvY2tcIix2aWRlbzpcImlubGluZS1ibG9ja1wiLGF1ZGlvOlwiaW5saW5lLWJsb2NrXCIsc2VsZWN0OlwiaW5saW5lLWJsb2NrXCIsb3B0aW9uOlwiYmxvY2tcIixvcHRncm91cDpcImJsb2NrXCJ9LEVuPVwibm9ybWFsXCIsQW49e2xpc3Rpbmc6XCJwcmVcIixwbGFpbnRleHQ6XCJwcmVcIixwcmU6XCJwcmVcIix4bXA6XCJwcmVcIixub2JyOlwibm93cmFwXCIsdGFibGU6XCJpbml0aWFsXCIsdGV4dGFyZWE6XCJwcmUtd3JhcFwifTtmdW5jdGlvbiBBaSh0KXtyZXR1cm4gdC50eXBlPT09XCJlbGVtZW50XCImJiF0Lmhhc0V4cGxpY2l0TmFtZXNwYWNlJiYhW1wiaHRtbFwiLFwic3ZnXCJdLmluY2x1ZGVzKHQubmFtZXNwYWNlKX12YXIgcGU9QWk7dmFyIERpPXQ9PncoITEsdCwvXltcXHRcXGZcXHIgXSpcXG4vZ3UsXCJcIiksbXI9dD0+RGkoTi50cmltRW5kKHQpKSxEbj10PT57bGV0IGU9dCxyPU4uZ2V0TGVhZGluZ1doaXRlc3BhY2UoZSk7ciYmKGU9ZS5zbGljZShyLmxlbmd0aCkpO2xldCBuPU4uZ2V0VHJhaWxpbmdXaGl0ZXNwYWNlKGUpO3JldHVybiBuJiYoZT1lLnNsaWNlKDAsLW4ubGVuZ3RoKSkse2xlYWRpbmdXaGl0ZXNwYWNlOnIsdHJhaWxpbmdXaGl0ZXNwYWNlOm4sdGV4dDplfX07ZnVuY3Rpb24gRHQodCxlKXtyZXR1cm4hISh0LnR5cGU9PT1cImllQ29uZGl0aW9uYWxDb21tZW50XCImJnQubGFzdENoaWxkJiYhdC5sYXN0Q2hpbGQuaXNTZWxmQ2xvc2luZyYmIXQubGFzdENoaWxkLmVuZFNvdXJjZVNwYW58fHQudHlwZT09PVwiaWVDb25kaXRpb25hbENvbW1lbnRcIiYmIXQuY29tcGxldGV8fGhlKHQpJiZ0LmNoaWxkcmVuLnNvbWUocj0+ci50eXBlIT09XCJ0ZXh0XCImJnIudHlwZSE9PVwiaW50ZXJwb2xhdGlvblwiKXx8d3QodCxlKSYmIVUodCkmJnQudHlwZSE9PVwiaW50ZXJwb2xhdGlvblwiKX1mdW5jdGlvbiBtZSh0KXtyZXR1cm4gdC50eXBlPT09XCJhdHRyaWJ1dGVcInx8IXQucGFyZW50fHwhdC5wcmV2PyExOnZpKHQucHJldil9ZnVuY3Rpb24gdmkodCl7cmV0dXJuIHQudHlwZT09PVwiY29tbWVudFwiJiZ0LnZhbHVlLnRyaW0oKT09PVwicHJldHRpZXItaWdub3JlXCJ9ZnVuY3Rpb24gTyh0KXtyZXR1cm4gdC50eXBlPT09XCJ0ZXh0XCJ8fHQudHlwZT09PVwiY29tbWVudFwifWZ1bmN0aW9uIFUodCl7cmV0dXJuIHQudHlwZT09PVwiZWxlbWVudFwiJiYodC5mdWxsTmFtZT09PVwic2NyaXB0XCJ8fHQuZnVsbE5hbWU9PT1cInN0eWxlXCJ8fHQuZnVsbE5hbWU9PT1cInN2ZzpzdHlsZVwifHx0LmZ1bGxOYW1lPT09XCJzdmc6c2NyaXB0XCJ8fHBlKHQpJiYodC5uYW1lPT09XCJzY3JpcHRcInx8dC5uYW1lPT09XCJzdHlsZVwiKSl9ZnVuY3Rpb24gdm4odCl7cmV0dXJuIHQuY2hpbGRyZW4mJiFVKHQpfWZ1bmN0aW9uIHluKHQpe3JldHVybiBVKHQpfHx0LnR5cGU9PT1cImludGVycG9sYXRpb25cInx8ZnIodCl9ZnVuY3Rpb24gZnIodCl7cmV0dXJuIEluKHQpLnN0YXJ0c1dpdGgoXCJwcmVcIil9ZnVuY3Rpb24gd24odCxlKXt2YXIgcyxpO2xldCByPW4oKTtpZihyJiYhdC5wcmV2JiYoKGk9KHM9dC5wYXJlbnQpPT1udWxsP3ZvaWQgMDpzLnRhZ0RlZmluaXRpb24pIT1udWxsJiZpLmlnbm9yZUZpcnN0TGYpKXJldHVybiB0LnR5cGU9PT1cImludGVycG9sYXRpb25cIjtyZXR1cm4gcjtmdW5jdGlvbiBuKCl7cmV0dXJuIGtlKHQpfHx0LnR5cGU9PT1cImFuZ3VsYXJDb250cm9sRmxvd0Jsb2NrXCI/ITE6KHQudHlwZT09PVwidGV4dFwifHx0LnR5cGU9PT1cImludGVycG9sYXRpb25cIikmJnQucHJldiYmKHQucHJldi50eXBlPT09XCJ0ZXh0XCJ8fHQucHJldi50eXBlPT09XCJpbnRlcnBvbGF0aW9uXCIpPyEwOiF0LnBhcmVudHx8dC5wYXJlbnQuY3NzRGlzcGxheT09PVwibm9uZVwiPyExOmhlKHQucGFyZW50KT8hMDohKCF0LnByZXYmJih0LnBhcmVudC50eXBlPT09XCJyb290XCJ8fGhlKHQpJiZ0LnBhcmVudHx8VSh0LnBhcmVudCl8fEplKHQucGFyZW50LGUpfHwha2kodC5wYXJlbnQuY3NzRGlzcGxheSkpfHx0LnByZXYmJiFGaSh0LnByZXYuY3NzRGlzcGxheSkpfX1mdW5jdGlvbiBibih0LGUpe3JldHVybiBrZSh0KXx8dC50eXBlPT09XCJhbmd1bGFyQ29udHJvbEZsb3dCbG9ja1wiPyExOih0LnR5cGU9PT1cInRleHRcInx8dC50eXBlPT09XCJpbnRlcnBvbGF0aW9uXCIpJiZ0Lm5leHQmJih0Lm5leHQudHlwZT09PVwidGV4dFwifHx0Lm5leHQudHlwZT09PVwiaW50ZXJwb2xhdGlvblwiKT8hMDohdC5wYXJlbnR8fHQucGFyZW50LmNzc0Rpc3BsYXk9PT1cIm5vbmVcIj8hMTpoZSh0LnBhcmVudCk/ITA6ISghdC5uZXh0JiYodC5wYXJlbnQudHlwZT09PVwicm9vdFwifHxoZSh0KSYmdC5wYXJlbnR8fFUodC5wYXJlbnQpfHxKZSh0LnBhcmVudCxlKXx8IUJpKHQucGFyZW50LmNzc0Rpc3BsYXkpKXx8dC5uZXh0JiYhTGkodC5uZXh0LmNzc0Rpc3BsYXkpKX1mdW5jdGlvbiBUbih0KXtyZXR1cm4gTmkodC5jc3NEaXNwbGF5KSYmIVUodCl9ZnVuY3Rpb24gUWUodCl7cmV0dXJuIGtlKHQpfHx0Lm5leHQmJnQuc291cmNlU3Bhbi5lbmQmJnQuc291cmNlU3Bhbi5lbmQubGluZSsxPHQubmV4dC5zb3VyY2VTcGFuLnN0YXJ0LmxpbmV9ZnVuY3Rpb24geG4odCl7cmV0dXJuIGRyKHQpfHx0LnR5cGU9PT1cImVsZW1lbnRcIiYmdC5jaGlsZHJlbi5sZW5ndGg+MCYmKFtcImJvZHlcIixcInNjcmlwdFwiLFwic3R5bGVcIl0uaW5jbHVkZXModC5uYW1lKXx8dC5jaGlsZHJlbi5zb21lKGU9PndpKGUpKSl8fHQuZmlyc3RDaGlsZCYmdC5maXJzdENoaWxkPT09dC5sYXN0Q2hpbGQmJnQuZmlyc3RDaGlsZC50eXBlIT09XCJ0ZXh0XCImJkJuKHQuZmlyc3RDaGlsZCkmJighdC5sYXN0Q2hpbGQuaXNUcmFpbGluZ1NwYWNlU2Vuc2l0aXZlfHxMbih0Lmxhc3RDaGlsZCkpfWZ1bmN0aW9uIGRyKHQpe3JldHVybiB0LnR5cGU9PT1cImVsZW1lbnRcIiYmdC5jaGlsZHJlbi5sZW5ndGg+MCYmKFtcImh0bWxcIixcImhlYWRcIixcInVsXCIsXCJvbFwiLFwic2VsZWN0XCJdLmluY2x1ZGVzKHQubmFtZSl8fHQuY3NzRGlzcGxheS5zdGFydHNXaXRoKFwidGFibGVcIikmJnQuY3NzRGlzcGxheSE9PVwidGFibGUtY2VsbFwiKX1mdW5jdGlvbiB2dCh0KXtyZXR1cm4gRm4odCl8fHQucHJldiYmeWkodC5wcmV2KXx8a24odCl9ZnVuY3Rpb24geWkodCl7cmV0dXJuIEZuKHQpfHx0LnR5cGU9PT1cImVsZW1lbnRcIiYmdC5mdWxsTmFtZT09PVwiYnJcInx8a24odCl9ZnVuY3Rpb24ga24odCl7cmV0dXJuIEJuKHQpJiZMbih0KX1mdW5jdGlvbiBCbih0KXtyZXR1cm4gdC5oYXNMZWFkaW5nU3BhY2VzJiYodC5wcmV2P3QucHJldi5zb3VyY2VTcGFuLmVuZC5saW5lPHQuc291cmNlU3Bhbi5zdGFydC5saW5lOnQucGFyZW50LnR5cGU9PT1cInJvb3RcInx8dC5wYXJlbnQuc3RhcnRTb3VyY2VTcGFuLmVuZC5saW5lPHQuc291cmNlU3Bhbi5zdGFydC5saW5lKX1mdW5jdGlvbiBMbih0KXtyZXR1cm4gdC5oYXNUcmFpbGluZ1NwYWNlcyYmKHQubmV4dD90Lm5leHQuc291cmNlU3Bhbi5zdGFydC5saW5lPnQuc291cmNlU3Bhbi5lbmQubGluZTp0LnBhcmVudC50eXBlPT09XCJyb290XCJ8fHQucGFyZW50LmVuZFNvdXJjZVNwYW4mJnQucGFyZW50LmVuZFNvdXJjZVNwYW4uc3RhcnQubGluZT50LnNvdXJjZVNwYW4uZW5kLmxpbmUpfWZ1bmN0aW9uIEZuKHQpe3N3aXRjaCh0LnR5cGUpe2Nhc2VcImllQ29uZGl0aW9uYWxDb21tZW50XCI6Y2FzZVwiY29tbWVudFwiOmNhc2VcImRpcmVjdGl2ZVwiOnJldHVybiEwO2Nhc2VcImVsZW1lbnRcIjpyZXR1cm5bXCJzY3JpcHRcIixcInNlbGVjdFwiXS5pbmNsdWRlcyh0Lm5hbWUpfXJldHVybiExfWZ1bmN0aW9uIHl0KHQpe3JldHVybiB0Lmxhc3RDaGlsZD95dCh0Lmxhc3RDaGlsZCk6dH1mdW5jdGlvbiB3aSh0KXt2YXIgZTtyZXR1cm4oZT10LmNoaWxkcmVuKT09bnVsbD92b2lkIDA6ZS5zb21lKHI9PnIudHlwZSE9PVwidGV4dFwiKX1mdW5jdGlvbiBObih0KXtpZih0KXN3aXRjaCh0KXtjYXNlXCJtb2R1bGVcIjpjYXNlXCJ0ZXh0L2phdmFzY3JpcHRcIjpjYXNlXCJ0ZXh0L2JhYmVsXCI6Y2FzZVwiYXBwbGljYXRpb24vamF2YXNjcmlwdFwiOnJldHVyblwiYmFiZWxcIjtjYXNlXCJhcHBsaWNhdGlvbi94LXR5cGVzY3JpcHRcIjpyZXR1cm5cInR5cGVzY3JpcHRcIjtjYXNlXCJ0ZXh0L21hcmtkb3duXCI6cmV0dXJuXCJtYXJrZG93blwiO2Nhc2VcInRleHQvaHRtbFwiOnJldHVyblwiaHRtbFwiO2Nhc2VcInRleHQveC1oYW5kbGViYXJzLXRlbXBsYXRlXCI6cmV0dXJuXCJnbGltbWVyXCI7ZGVmYXVsdDppZih0LmVuZHNXaXRoKFwianNvblwiKXx8dC5lbmRzV2l0aChcImltcG9ydG1hcFwiKXx8dD09PVwic3BlY3VsYXRpb25ydWxlc1wiKXJldHVyblwianNvblwifX1mdW5jdGlvbiBiaSh0LGUpe2xldHtuYW1lOnIsYXR0ck1hcDpufT10O2lmKHIhPT1cInNjcmlwdFwifHxPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwobixcInNyY1wiKSlyZXR1cm47bGV0e3R5cGU6cyxsYW5nOml9PXQuYXR0ck1hcDtyZXR1cm4haSYmIXM/XCJiYWJlbFwiOkJlKGUse2xhbmd1YWdlOml9KT8/Tm4ocyl9ZnVuY3Rpb24gVGkodCxlKXtpZighd3QodCxlKSlyZXR1cm47bGV0e2F0dHJNYXA6cn09dDtpZihPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocixcInNyY1wiKSlyZXR1cm47bGV0e3R5cGU6bixsYW5nOnN9PXI7cmV0dXJuIEJlKGUse2xhbmd1YWdlOnN9KT8/Tm4obil9ZnVuY3Rpb24geGkodCxlKXtpZih0Lm5hbWUhPT1cInN0eWxlXCIpcmV0dXJuO2xldHtsYW5nOnJ9PXQuYXR0ck1hcDtyZXR1cm4gcj9CZShlLHtsYW5ndWFnZTpyfSk6XCJjc3NcIn1mdW5jdGlvbiBncih0LGUpe3JldHVybiBiaSh0LGUpPz94aSh0LGUpPz9UaSh0LGUpfWZ1bmN0aW9uIFhlKHQpe3JldHVybiB0PT09XCJibG9ja1wifHx0PT09XCJsaXN0LWl0ZW1cInx8dC5zdGFydHNXaXRoKFwidGFibGVcIil9ZnVuY3Rpb24ga2kodCl7cmV0dXJuIVhlKHQpJiZ0IT09XCJpbmxpbmUtYmxvY2tcIn1mdW5jdGlvbiBCaSh0KXtyZXR1cm4hWGUodCkmJnQhPT1cImlubGluZS1ibG9ja1wifWZ1bmN0aW9uIExpKHQpe3JldHVybiFYZSh0KX1mdW5jdGlvbiBGaSh0KXtyZXR1cm4hWGUodCl9ZnVuY3Rpb24gTmkodCl7cmV0dXJuIVhlKHQpJiZ0IT09XCJpbmxpbmUtYmxvY2tcIn1mdW5jdGlvbiBoZSh0KXtyZXR1cm4gSW4odCkuc3RhcnRzV2l0aChcInByZVwiKX1mdW5jdGlvbiBQaSh0LGUpe2xldCByPXQ7Zm9yKDtyOyl7aWYoZShyKSlyZXR1cm4hMDtyPXIucGFyZW50fXJldHVybiExfWZ1bmN0aW9uIFBuKHQsZSl7dmFyIG47aWYoZmUodCxlKSlyZXR1cm5cImJsb2NrXCI7aWYoKChuPXQucHJldik9PW51bGw/dm9pZCAwOm4udHlwZSk9PT1cImNvbW1lbnRcIil7bGV0IHM9dC5wcmV2LnZhbHVlLm1hdGNoKC9eXFxzKmRpc3BsYXk6XFxzKihbYS16XSspXFxzKiQvdSk7aWYocylyZXR1cm4gc1sxXX1sZXQgcj0hMTtpZih0LnR5cGU9PT1cImVsZW1lbnRcIiYmdC5uYW1lc3BhY2U9PT1cInN2Z1wiKWlmKFBpKHQscz0+cy5mdWxsTmFtZT09PVwic3ZnOmZvcmVpZ25PYmplY3RcIikpcj0hMDtlbHNlIHJldHVybiB0Lm5hbWU9PT1cInN2Z1wiP1wiaW5saW5lLWJsb2NrXCI6XCJibG9ja1wiO3N3aXRjaChlLmh0bWxXaGl0ZXNwYWNlU2Vuc2l0aXZpdHkpe2Nhc2VcInN0cmljdFwiOnJldHVyblwiaW5saW5lXCI7Y2FzZVwiaWdub3JlXCI6cmV0dXJuXCJibG9ja1wiO2RlZmF1bHQ6cmV0dXJuIHQudHlwZT09PVwiZWxlbWVudFwiJiYoIXQubmFtZXNwYWNlfHxyfHxwZSh0KSkmJl9uW3QubmFtZV18fFNufX1mdW5jdGlvbiBJbih0KXtyZXR1cm4gdC50eXBlPT09XCJlbGVtZW50XCImJighdC5uYW1lc3BhY2V8fHBlKHQpKSYmQW5bdC5uYW1lXXx8RW59ZnVuY3Rpb24gSWkodCl7bGV0IGU9TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO2ZvcihsZXQgciBvZiB0LnNwbGl0KGBcbmApKXtpZihyLmxlbmd0aD09PTApY29udGludWU7bGV0IG49Ti5nZXRMZWFkaW5nV2hpdGVzcGFjZUNvdW50KHIpO2lmKG49PT0wKXJldHVybiAwO3IubGVuZ3RoIT09biYmbjxlJiYoZT1uKX1yZXR1cm4gZT09PU51bWJlci5QT1NJVElWRV9JTkZJTklUWT8wOmV9ZnVuY3Rpb24gQ3IodCxlPUlpKHQpKXtyZXR1cm4gZT09PTA/dDp0LnNwbGl0KGBcbmApLm1hcChyPT5yLnNsaWNlKGUpKS5qb2luKGBcbmApfWZ1bmN0aW9uIFNyKHQpe3JldHVybiB3KCExLHcoITEsdCxcIiZhcG9zO1wiLFwiJ1wiKSxcIiZxdW90O1wiLCdcIicpfWZ1bmN0aW9uIFAodCl7cmV0dXJuIFNyKHQudmFsdWUpfXZhciBSaT1uZXcgU2V0KFtcInRlbXBsYXRlXCIsXCJzdHlsZVwiLFwic2NyaXB0XCJdKTtmdW5jdGlvbiBKZSh0LGUpe3JldHVybiBmZSh0LGUpJiYhUmkuaGFzKHQuZnVsbE5hbWUpfWZ1bmN0aW9uIGZlKHQsZSl7cmV0dXJuIGUucGFyc2VyPT09XCJ2dWVcIiYmdC50eXBlPT09XCJlbGVtZW50XCImJnQucGFyZW50LnR5cGU9PT1cInJvb3RcIiYmdC5mdWxsTmFtZS50b0xvd2VyQ2FzZSgpIT09XCJodG1sXCJ9ZnVuY3Rpb24gd3QodCxlKXtyZXR1cm4gZmUodCxlKSYmKEplKHQsZSl8fHQuYXR0ck1hcC5sYW5nJiZ0LmF0dHJNYXAubGFuZyE9PVwiaHRtbFwiKX1mdW5jdGlvbiBSbih0KXtsZXQgZT10LmZ1bGxOYW1lO3JldHVybiBlLmNoYXJBdCgwKT09PVwiI1wifHxlPT09XCJzbG90LXNjb3BlXCJ8fGU9PT1cInYtc2xvdFwifHxlLnN0YXJ0c1dpdGgoXCJ2LXNsb3Q6XCIpfWZ1bmN0aW9uIE9uKHQsZSl7bGV0IHI9dC5wYXJlbnQ7aWYoIWZlKHIsZSkpcmV0dXJuITE7bGV0IG49ci5mdWxsTmFtZSxzPXQuZnVsbE5hbWU7cmV0dXJuIG49PT1cInNjcmlwdFwiJiZzPT09XCJzZXR1cFwifHxuPT09XCJzdHlsZVwiJiZzPT09XCJ2YXJzXCJ9ZnVuY3Rpb24gYnQodCxlPXQudmFsdWUpe3JldHVybiB0LnBhcmVudC5pc1doaXRlc3BhY2VTZW5zaXRpdmU/dC5wYXJlbnQuaXNJbmRlbnRhdGlvblNlbnNpdGl2ZT9CKGUpOkIoQ3IobXIoZSkpLFMpOnEoRSxOLnNwbGl0KGUpKX1mdW5jdGlvbiBUdCh0LGUpe3JldHVybiBmZSh0LGUpJiZ0Lm5hbWU9PT1cInNjcmlwdFwifXZhciBfcj0vXFx7XFx7KC4rPylcXH1cXH0vc3U7YXN5bmMgZnVuY3Rpb24gJG4odCxlKXtsZXQgcj1bXTtmb3IobGV0W24sc11vZiB0LnNwbGl0KF9yKS5lbnRyaWVzKCkpaWYobiUyPT09MClyLnB1c2goQihzKSk7ZWxzZSB0cnl7ci5wdXNoKF8oW1wie3tcIixrKFtFLGF3YWl0IFQocyxlLHtwYXJzZXI6XCJfX25nX2ludGVycG9sYXRpb25cIixfX2lzSW5IdG1sSW50ZXJwb2xhdGlvbjohMH0pXSksRSxcIn19XCJdKSl9Y2F0Y2h7ci5wdXNoKFwie3tcIixCKHMpLFwifX1cIil9cmV0dXJuIHJ9ZnVuY3Rpb24gRXIoe3BhcnNlcjp0fSl7cmV0dXJuKGUscixuKT0+VChQKG4ubm9kZSksZSx7cGFyc2VyOnR9LFkpfXZhciBPaT1Fcih7cGFyc2VyOlwiX19uZ19hY3Rpb25cIn0pLCRpPUVyKHtwYXJzZXI6XCJfX25nX2JpbmRpbmdcIn0pLE1pPUVyKHtwYXJzZXI6XCJfX25nX2RpcmVjdGl2ZVwifSk7ZnVuY3Rpb24gcWkodCxlKXtpZihlLnBhcnNlciE9PVwiYW5ndWxhclwiKXJldHVybjtsZXR7bm9kZTpyfT10LG49ci5mdWxsTmFtZTtpZihuLnN0YXJ0c1dpdGgoXCIoXCIpJiZuLmVuZHNXaXRoKFwiKVwiKXx8bi5zdGFydHNXaXRoKFwib24tXCIpKXJldHVybiBPaTtpZihuLnN0YXJ0c1dpdGgoXCJbXCIpJiZuLmVuZHNXaXRoKFwiXVwiKXx8L15iaW5kKD86b24pPy0vdS50ZXN0KG4pfHwvXm5nLSg/OmlmfHNob3d8aGlkZXxjbGFzc3xzdHlsZSkkL3UudGVzdChuKSlyZXR1cm4gJGk7aWYobi5zdGFydHNXaXRoKFwiKlwiKSlyZXR1cm4gTWk7bGV0IHM9UChyKTtpZigvXmkxOG4oPzotLispPyQvdS50ZXN0KG4pKXJldHVybigpPT5jZShFdChidChyLHMudHJpbSgpKSksIXMuaW5jbHVkZXMoXCJAQFwiKSk7aWYoX3IudGVzdChzKSlyZXR1cm4gaT0+JG4ocyxpKX12YXIgTW49cWk7ZnVuY3Rpb24gSGkodCxlKXtsZXR7bm9kZTpyfT10LG49UChyKTtpZihyLmZ1bGxOYW1lPT09XCJjbGFzc1wiJiYhZS5wYXJlbnRQYXJzZXImJiFuLmluY2x1ZGVzKFwie3tcIikpcmV0dXJuKCk9Pm4udHJpbSgpLnNwbGl0KC9cXHMrL3UpLmpvaW4oXCIgXCIpfXZhciBxbj1IaTtmdW5jdGlvbiBIbih0KXtyZXR1cm4gdD09PVwiXHRcInx8dD09PWBcbmB8fHQ9PT1cIlxcZlwifHx0PT09XCJcXHJcInx8dD09PVwiIFwifXZhciBWaT0vXlsgXFx0XFxuXFxyXFx1MDAwY10rLyxVaT0vXlssIFxcdFxcblxcclxcdTAwMGNdKy8sV2k9L15bXiBcXHRcXG5cXHJcXHUwMDBjXSsvLHppPS9bLF0rJC8sVm49L15cXGQrJC8sR2k9L14tPyg/OlswLTldK3xbMC05XSpcXC5bMC05XSspKD86W2VFXVsrLV0/WzAtOV0rKT8kLztmdW5jdGlvbiBZaSh0KXtsZXQgZT10Lmxlbmd0aCxyLG4scyxpLGEsbz0wLHU7ZnVuY3Rpb24gcChDKXtsZXQgQSxEPUMuZXhlYyh0LnN1YnN0cmluZyhvKSk7aWYoRClyZXR1cm5bQV09RCxvKz1BLmxlbmd0aCxBfWxldCBsPVtdO2Zvcig7Oyl7aWYocChVaSksbz49ZSl7aWYobC5sZW5ndGg9PT0wKXRocm93IG5ldyBFcnJvcihcIk11c3QgY29udGFpbiBvbmUgb3IgbW9yZSBpbWFnZSBjYW5kaWRhdGUgc3RyaW5ncy5cIik7cmV0dXJuIGx9dT1vLHI9cChXaSksbj1bXSxyLnNsaWNlKC0xKT09PVwiLFwiPyhyPXIucmVwbGFjZSh6aSxcIlwiKSxkKCkpOmYoKX1mdW5jdGlvbiBmKCl7Zm9yKHAoVmkpLHM9XCJcIixpPVwiaW4gZGVzY3JpcHRvclwiOzspe2lmKGE9dC5jaGFyQXQobyksaT09PVwiaW4gZGVzY3JpcHRvclwiKWlmKEhuKGEpKXMmJihuLnB1c2gocykscz1cIlwiLGk9XCJhZnRlciBkZXNjcmlwdG9yXCIpO2Vsc2UgaWYoYT09PVwiLFwiKXtvKz0xLHMmJm4ucHVzaChzKSxkKCk7cmV0dXJufWVsc2UgaWYoYT09PVwiKFwiKXMrPWEsaT1cImluIHBhcmVuc1wiO2Vsc2UgaWYoYT09PVwiXCIpe3MmJm4ucHVzaChzKSxkKCk7cmV0dXJufWVsc2Ugcys9YTtlbHNlIGlmKGk9PT1cImluIHBhcmVuc1wiKWlmKGE9PT1cIilcIilzKz1hLGk9XCJpbiBkZXNjcmlwdG9yXCI7ZWxzZSBpZihhPT09XCJcIil7bi5wdXNoKHMpLGQoKTtyZXR1cm59ZWxzZSBzKz1hO2Vsc2UgaWYoaT09PVwiYWZ0ZXIgZGVzY3JpcHRvclwiJiYhSG4oYSkpaWYoYT09PVwiXCIpe2QoKTtyZXR1cm59ZWxzZSBpPVwiaW4gZGVzY3JpcHRvclwiLG8tPTE7bys9MX19ZnVuY3Rpb24gZCgpe2xldCBDPSExLEEsRCxSLEYsYz17fSxnLHksTSx4LFY7Zm9yKEY9MDtGPG4ubGVuZ3RoO0YrKylnPW5bRl0seT1nW2cubGVuZ3RoLTFdLE09Zy5zdWJzdHJpbmcoMCxnLmxlbmd0aC0xKSx4PXBhcnNlSW50KE0sMTApLFY9cGFyc2VGbG9hdChNKSxWbi50ZXN0KE0pJiZ5PT09XCJ3XCI/KChBfHxEKSYmKEM9ITApLHg9PT0wP0M9ITA6QT14KTpHaS50ZXN0KE0pJiZ5PT09XCJ4XCI/KChBfHxEfHxSKSYmKEM9ITApLFY8MD9DPSEwOkQ9Vik6Vm4udGVzdChNKSYmeT09PVwiaFwiPygoUnx8RCkmJihDPSEwKSx4PT09MD9DPSEwOlI9eCk6Qz0hMDtpZighQyljLnNvdXJjZT17dmFsdWU6cixzdGFydE9mZnNldDp1fSxBJiYoYy53aWR0aD17dmFsdWU6QX0pLEQmJihjLmRlbnNpdHk9e3ZhbHVlOkR9KSxSJiYoYy5oZWlnaHQ9e3ZhbHVlOlJ9KSxsLnB1c2goYyk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoYEludmFsaWQgc3Jjc2V0IGRlc2NyaXB0b3IgZm91bmQgaW4gXCIke3R9XCIgYXQgXCIke2d9XCIuYCl9fXZhciBVbj1ZaTtmdW5jdGlvbiBqaSh0KXtpZih0Lm5vZGUuZnVsbE5hbWU9PT1cInNyY3NldFwiJiYodC5wYXJlbnQuZnVsbE5hbWU9PT1cImltZ1wifHx0LnBhcmVudC5mdWxsTmFtZT09PVwic291cmNlXCIpKXJldHVybigpPT5RaShQKHQubm9kZSkpfXZhciBXbj17d2lkdGg6XCJ3XCIsaGVpZ2h0OlwiaFwiLGRlbnNpdHk6XCJ4XCJ9LEtpPU9iamVjdC5rZXlzKFduKTtmdW5jdGlvbiBRaSh0KXtsZXQgZT1Vbih0KSxyPUtpLmZpbHRlcihsPT5lLnNvbWUoZj0+T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKGYsbCkpKTtpZihyLmxlbmd0aD4xKXRocm93IG5ldyBFcnJvcihcIk1peGVkIGRlc2NyaXB0b3IgaW4gc3Jjc2V0IGlzIG5vdCBzdXBwb3J0ZWRcIik7bGV0W25dPXIscz1XbltuXSxpPWUubWFwKGw9Pmwuc291cmNlLnZhbHVlKSxhPU1hdGgubWF4KC4uLmkubWFwKGw9PmwubGVuZ3RoKSksbz1lLm1hcChsPT5sW25dP1N0cmluZyhsW25dLnZhbHVlKTpcIlwiKSx1PW8ubWFwKGw9PntsZXQgZj1sLmluZGV4T2YoXCIuXCIpO3JldHVybiBmPT09LTE/bC5sZW5ndGg6Zn0pLHA9TWF0aC5tYXgoLi4udSk7cmV0dXJuIGNlKHEoW1wiLFwiLEVdLGkubWFwKChsLGYpPT57bGV0IGQ9W2xdLEM9b1tmXTtpZihDKXtsZXQgQT1hLWwubGVuZ3RoKzEsRD1wLXVbZl0sUj1cIiBcIi5yZXBlYXQoQStEKTtkLnB1c2gobGUoUixcIiBcIiksQytzKX1yZXR1cm4gZH0pKSl9dmFyIHpuPWppO2Z1bmN0aW9uIEduKHQsZSl7bGV0e25vZGU6cn09dCxuPVAodC5ub2RlKS50cmltKCk7aWYoci5mdWxsTmFtZT09PVwic3R5bGVcIiYmIWUucGFyZW50UGFyc2VyJiYhbi5pbmNsdWRlcyhcInt7XCIpKXJldHVybiBhc3luYyBzPT5jZShhd2FpdCBzKG4se3BhcnNlcjpcImNzc1wiLF9faXNIVE1MU3R5bGVBdHRyaWJ1dGU6ITB9KSl9dmFyIEFyPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIFhpKHQsZSl7bGV0e3Jvb3Q6cn09dDtyZXR1cm4gQXIuaGFzKHIpfHxBci5zZXQocixyLmNoaWxkcmVuLnNvbWUobj0+VHQobixlKSYmW1widHNcIixcInR5cGVzY3JpcHRcIl0uaW5jbHVkZXMobi5hdHRyTWFwLmxhbmcpKSksQXIuZ2V0KHIpfXZhciBMZT1YaTtmdW5jdGlvbiBZbih0LGUscil7bGV0e25vZGU6bn09cixzPVAobik7cmV0dXJuIFQoYHR5cGUgVDwke3N9PiA9IGFueWAsdCx7cGFyc2VyOlwiYmFiZWwtdHNcIixfX2lzRW1iZWRkZWRUeXBlc2NyaXB0R2VuZXJpY1BhcmFtZXRlcnM6ITB9LFkpfWZ1bmN0aW9uIGpuKHQsZSx7cGFyc2VXaXRoVHM6cn0pe3JldHVybiBUKGBmdW5jdGlvbiBfKCR7dH0pIHt9YCxlLHtwYXJzZXI6cj9cImJhYmVsLXRzXCI6XCJiYWJlbFwiLF9faXNWdWVCaW5kaW5nczohMH0pfWFzeW5jIGZ1bmN0aW9uIEtuKHQsZSxyLG4pe2xldCBzPVAoci5ub2RlKSx7bGVmdDppLG9wZXJhdG9yOmEscmlnaHQ6b309SmkocyksdT1MZShyLG4pO3JldHVybltfKGF3YWl0IFQoYGZ1bmN0aW9uIF8oJHtpfSkge31gLHQse3BhcnNlcjp1P1wiYmFiZWwtdHNcIjpcImJhYmVsXCIsX19pc1Z1ZUZvckJpbmRpbmdMZWZ0OiEwfSkpLFwiIFwiLGEsXCIgXCIsYXdhaXQgVChvLHQse3BhcnNlcjp1P1wiX190c19leHByZXNzaW9uXCI6XCJfX2pzX2V4cHJlc3Npb25cIn0pXX1mdW5jdGlvbiBKaSh0KXtsZXQgZT0vKC4qPylcXHMrKGlufG9mKVxccysoLiopL3N1LHI9LywoW14sXFxdfV0qKSg/OiwoW14sXFxdfV0qKSk/JC91LG49L15cXCh8XFwpJC9ndSxzPXQubWF0Y2goZSk7aWYoIXMpcmV0dXJuO2xldCBpPXt9O2lmKGkuZm9yPXNbM10udHJpbSgpLCFpLmZvcilyZXR1cm47bGV0IGE9dyghMSxzWzFdLnRyaW0oKSxuLFwiXCIpLG89YS5tYXRjaChyKTtvPyhpLmFsaWFzPWEucmVwbGFjZShyLFwiXCIpLGkuaXRlcmF0b3IxPW9bMV0udHJpbSgpLG9bMl0mJihpLml0ZXJhdG9yMj1vWzJdLnRyaW0oKSkpOmkuYWxpYXM9YTtsZXQgdT1baS5hbGlhcyxpLml0ZXJhdG9yMSxpLml0ZXJhdG9yMl07aWYoIXUuc29tZSgocCxsKT0+IXAmJihsPT09MHx8dS5zbGljZShsKzEpLnNvbWUoQm9vbGVhbikpKSlyZXR1cm57bGVmdDp1LmZpbHRlcihCb29sZWFuKS5qb2luKFwiLFwiKSxvcGVyYXRvcjpzWzJdLHJpZ2h0OmkuZm9yfX1mdW5jdGlvbiBaaSh0LGUpe2lmKGUucGFyc2VyIT09XCJ2dWVcIilyZXR1cm47bGV0e25vZGU6cn09dCxuPXIuZnVsbE5hbWU7aWYobj09PVwidi1mb3JcIilyZXR1cm4gS247aWYobj09PVwiZ2VuZXJpY1wiJiZUdChyLnBhcmVudCxlKSlyZXR1cm4gWW47bGV0IHM9UChyKSxpPUxlKHQsZSk7aWYoUm4ocil8fE9uKHIsZSkpcmV0dXJuIGE9PmpuKHMsYSx7cGFyc2VXaXRoVHM6aX0pO2lmKG4uc3RhcnRzV2l0aChcIkBcIil8fG4uc3RhcnRzV2l0aChcInYtb246XCIpKXJldHVybiBhPT5lYShzLGEse3BhcnNlV2l0aFRzOml9KTtpZihuLnN0YXJ0c1dpdGgoXCI6XCIpfHxuLnN0YXJ0c1dpdGgoXCJ2LWJpbmQ6XCIpKXJldHVybiBhPT50YShzLGEse3BhcnNlV2l0aFRzOml9KTtpZihuLnN0YXJ0c1dpdGgoXCJ2LVwiKSlyZXR1cm4gYT0+UW4ocyxhLHtwYXJzZVdpdGhUczppfSl9YXN5bmMgZnVuY3Rpb24gZWEodCxlLHtwYXJzZVdpdGhUczpyfSl7dmFyIG47dHJ5e3JldHVybiBhd2FpdCBRbih0LGUse3BhcnNlV2l0aFRzOnJ9KX1jYXRjaChzKXtpZigoKG49cy5jYXVzZSk9PW51bGw/dm9pZCAwOm4uY29kZSkhPT1cIkJBQkVMX1BBUlNFUl9TWU5UQVhfRVJST1JcIil0aHJvdyBzfXJldHVybiBUKHQsZSx7cGFyc2VyOnI/XCJfX3Z1ZV90c19ldmVudF9iaW5kaW5nXCI6XCJfX3Z1ZV9ldmVudF9iaW5kaW5nXCJ9LFkpfWZ1bmN0aW9uIHRhKHQsZSx7cGFyc2VXaXRoVHM6cn0pe3JldHVybiBUKHQsZSx7cGFyc2VyOnI/XCJfX3Z1ZV90c19leHByZXNzaW9uXCI6XCJfX3Z1ZV9leHByZXNzaW9uXCJ9LFkpfWZ1bmN0aW9uIFFuKHQsZSx7cGFyc2VXaXRoVHM6cn0pe3JldHVybiBUKHQsZSx7cGFyc2VyOnI/XCJfX3RzX2V4cHJlc3Npb25cIjpcIl9fanNfZXhwcmVzc2lvblwifSxZKX12YXIgWG49Wmk7ZnVuY3Rpb24gcmEodCxlKXtsZXR7bm9kZTpyfT10O2lmKHIudmFsdWUpe2lmKC9eUFJFVFRJRVJfSFRNTF9QTEFDRUhPTERFUl9cXGQrX1xcZCtfSU5fSlMkL3UudGVzdChlLm9yaWdpbmFsVGV4dC5zbGljZShyLnZhbHVlU3Bhbi5zdGFydC5vZmZzZXQsci52YWx1ZVNwYW4uZW5kLm9mZnNldCkpfHxlLnBhcnNlcj09PVwibHdjXCImJnIudmFsdWUuc3RhcnRzV2l0aChcIntcIikmJnIudmFsdWUuZW5kc1dpdGgoXCJ9XCIpKXJldHVybltyLnJhd05hbWUsXCI9XCIsci52YWx1ZV07Zm9yKGxldCBuIG9mW3puLEduLHFuLFhuLE1uXSl7bGV0IHM9bih0LGUpO2lmKHMpcmV0dXJuIG5hKHMpfX19ZnVuY3Rpb24gbmEodCl7cmV0dXJuIGFzeW5jKGUscixuLHMpPT57bGV0IGk9YXdhaXQgdChlLHIsbixzKTtpZihpKXJldHVybiBpPWxyKGksYT0+dHlwZW9mIGE9PVwic3RyaW5nXCI/dyghMSxhLCdcIicsXCImcXVvdDtcIik6YSksW24ubm9kZS5yYXdOYW1lLCc9XCInLF8oaSksJ1wiJ119fXZhciBKbj1yYTt2YXIgWm49bmV3IFByb3h5KCgpPT57fSx7Z2V0OigpPT5abn0pLERyPVpuO2Z1bmN0aW9uIHNhKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpJiZ0Lmxlbmd0aD4wfXZhciBGZT1zYTtmdW5jdGlvbiBYKHQpe3JldHVybiB0LnNvdXJjZVNwYW4uc3RhcnQub2Zmc2V0fWZ1bmN0aW9uIEoodCl7cmV0dXJuIHQuc291cmNlU3Bhbi5lbmQub2Zmc2V0fWZ1bmN0aW9uIFplKHQsZSl7cmV0dXJuW3QuaXNTZWxmQ2xvc2luZz9cIlwiOmlhKHQsZSksZGUodCxlKV19ZnVuY3Rpb24gaWEodCxlKXtyZXR1cm4gdC5sYXN0Q2hpbGQmJlNlKHQubGFzdENoaWxkKT9cIlwiOlthYSh0LGUpLHh0KHQsZSldfWZ1bmN0aW9uIGRlKHQsZSl7cmV0dXJuKHQubmV4dD9qKHQubmV4dCk6Q2UodC5wYXJlbnQpKT9cIlwiOltnZSh0LGUpLFcodCxlKV19ZnVuY3Rpb24gYWEodCxlKXtyZXR1cm4gQ2UodCk/Z2UodC5sYXN0Q2hpbGQsZSk6XCJcIn1mdW5jdGlvbiBXKHQsZSl7cmV0dXJuIFNlKHQpP3h0KHQucGFyZW50LGUpOmV0KHQpP2t0KHQubmV4dCxlKTpcIlwifWZ1bmN0aW9uIHh0KHQsZSl7aWYoRHIoIXQuaXNTZWxmQ2xvc2luZyksdHModCxlKSlyZXR1cm5cIlwiO3N3aXRjaCh0LnR5cGUpe2Nhc2VcImllQ29uZGl0aW9uYWxDb21tZW50XCI6cmV0dXJuXCI8IVwiO2Nhc2VcImVsZW1lbnRcIjppZih0Lmhhc0h0bUNvbXBvbmVudENsb3NpbmdUYWcpcmV0dXJuXCI8Ly9cIjtkZWZhdWx0OnJldHVybmA8LyR7dC5yYXdOYW1lfWB9fWZ1bmN0aW9uIGdlKHQsZSl7aWYodHModCxlKSlyZXR1cm5cIlwiO3N3aXRjaCh0LnR5cGUpe2Nhc2VcImllQ29uZGl0aW9uYWxDb21tZW50XCI6Y2FzZVwiaWVDb25kaXRpb25hbEVuZENvbW1lbnRcIjpyZXR1cm5cIltlbmRpZl0tLT5cIjtjYXNlXCJpZUNvbmRpdGlvbmFsU3RhcnRDb21tZW50XCI6cmV0dXJuXCJdPjwhLS0+XCI7Y2FzZVwiaW50ZXJwb2xhdGlvblwiOnJldHVyblwifX1cIjtjYXNlXCJhbmd1bGFySWN1RXhwcmVzc2lvblwiOnJldHVyblwifVwiO2Nhc2VcImVsZW1lbnRcIjppZih0LmlzU2VsZkNsb3NpbmcpcmV0dXJuXCIvPlwiO2RlZmF1bHQ6cmV0dXJuXCI+XCJ9fWZ1bmN0aW9uIHRzKHQsZSl7cmV0dXJuIXQuaXNTZWxmQ2xvc2luZyYmIXQuZW5kU291cmNlU3BhbiYmKG1lKHQpfHxEdCh0LnBhcmVudCxlKSl9ZnVuY3Rpb24gaih0KXtyZXR1cm4gdC5wcmV2JiZ0LnByZXYudHlwZSE9PVwiZG9jVHlwZVwiJiZ0LnR5cGUhPT1cImFuZ3VsYXJDb250cm9sRmxvd0Jsb2NrXCImJiFPKHQucHJldikmJnQuaXNMZWFkaW5nU3BhY2VTZW5zaXRpdmUmJiF0Lmhhc0xlYWRpbmdTcGFjZXN9ZnVuY3Rpb24gQ2UodCl7dmFyIGU7cmV0dXJuKChlPXQubGFzdENoaWxkKT09bnVsbD92b2lkIDA6ZS5pc1RyYWlsaW5nU3BhY2VTZW5zaXRpdmUpJiYhdC5sYXN0Q2hpbGQuaGFzVHJhaWxpbmdTcGFjZXMmJiFPKHl0KHQubGFzdENoaWxkKSkmJiFoZSh0KX1mdW5jdGlvbiBTZSh0KXtyZXR1cm4hdC5uZXh0JiYhdC5oYXNUcmFpbGluZ1NwYWNlcyYmdC5pc1RyYWlsaW5nU3BhY2VTZW5zaXRpdmUmJk8oeXQodCkpfWZ1bmN0aW9uIGV0KHQpe3JldHVybiB0Lm5leHQmJiFPKHQubmV4dCkmJk8odCkmJnQuaXNUcmFpbGluZ1NwYWNlU2Vuc2l0aXZlJiYhdC5oYXNUcmFpbGluZ1NwYWNlc31mdW5jdGlvbiBvYSh0KXtsZXQgZT10LnRyaW0oKS5tYXRjaCgvXnByZXR0aWVyLWlnbm9yZS1hdHRyaWJ1dGUoPzpcXHMrKC4rKSk/JC9zdSk7cmV0dXJuIGU/ZVsxXT9lWzFdLnNwbGl0KC9cXHMrL3UpOiEwOiExfWZ1bmN0aW9uIHR0KHQpe3JldHVybiF0LnByZXYmJnQuaXNMZWFkaW5nU3BhY2VTZW5zaXRpdmUmJiF0Lmhhc0xlYWRpbmdTcGFjZXN9ZnVuY3Rpb24gdWEodCxlLHIpe3ZhciBmO2xldHtub2RlOm59PXQ7aWYoIUZlKG4uYXR0cnMpKXJldHVybiBuLmlzU2VsZkNsb3Npbmc/XCIgXCI6XCJcIjtsZXQgcz0oKGY9bi5wcmV2KT09bnVsbD92b2lkIDA6Zi50eXBlKT09PVwiY29tbWVudFwiJiZvYShuLnByZXYudmFsdWUpLGk9dHlwZW9mIHM9PVwiYm9vbGVhblwiPygpPT5zOkFycmF5LmlzQXJyYXkocyk/ZD0+cy5pbmNsdWRlcyhkLnJhd05hbWUpOigpPT4hMSxhPXQubWFwKCh7bm9kZTpkfSk9PmkoZCk/QihlLm9yaWdpbmFsVGV4dC5zbGljZShYKGQpLEooZCkpKTpyKCksXCJhdHRyc1wiKSxvPW4udHlwZT09PVwiZWxlbWVudFwiJiZuLmZ1bGxOYW1lPT09XCJzY3JpcHRcIiYmbi5hdHRycy5sZW5ndGg9PT0xJiZuLmF0dHJzWzBdLmZ1bGxOYW1lPT09XCJzcmNcIiYmbi5jaGlsZHJlbi5sZW5ndGg9PT0wLHA9ZS5zaW5nbGVBdHRyaWJ1dGVQZXJMaW5lJiZuLmF0dHJzLmxlbmd0aD4xJiYhZmUobixlKT9TOkUsbD1bayhbbz9cIiBcIjpFLHEocCxhKV0pXTtyZXR1cm4gbi5maXJzdENoaWxkJiZ0dChuLmZpcnN0Q2hpbGQpfHxuLmlzU2VsZkNsb3NpbmcmJkNlKG4ucGFyZW50KXx8bz9sLnB1c2gobi5pc1NlbGZDbG9zaW5nP1wiIFwiOlwiXCIpOmwucHVzaChlLmJyYWNrZXRTYW1lTGluZT9uLmlzU2VsZkNsb3Npbmc/XCIgXCI6XCJcIjpuLmlzU2VsZkNsb3Npbmc/RTp2KSxsfWZ1bmN0aW9uIGxhKHQpe3JldHVybiB0LmZpcnN0Q2hpbGQmJnR0KHQuZmlyc3RDaGlsZCk/XCJcIjpCdCh0KX1mdW5jdGlvbiBydCh0LGUscil7bGV0e25vZGU6bn09dDtyZXR1cm5bX2UobixlKSx1YSh0LGUsciksbi5pc1NlbGZDbG9zaW5nP1wiXCI6bGEobildfWZ1bmN0aW9uIF9lKHQsZSl7cmV0dXJuIHQucHJldiYmZXQodC5wcmV2KT9cIlwiOlt6KHQsZSksa3QodCxlKV19ZnVuY3Rpb24geih0LGUpe3JldHVybiB0dCh0KT9CdCh0LnBhcmVudCk6aih0KT9nZSh0LnByZXYsZSk6XCJcIn12YXIgZXM9XCI8IWRvY3R5cGVcIjtmdW5jdGlvbiBrdCh0LGUpe3N3aXRjaCh0LnR5cGUpe2Nhc2VcImllQ29uZGl0aW9uYWxDb21tZW50XCI6Y2FzZVwiaWVDb25kaXRpb25hbFN0YXJ0Q29tbWVudFwiOnJldHVybmA8IS0tW2lmICR7dC5jb25kaXRpb259YDtjYXNlXCJpZUNvbmRpdGlvbmFsRW5kQ29tbWVudFwiOnJldHVyblwiPCEtLTwhXCI7Y2FzZVwiaW50ZXJwb2xhdGlvblwiOnJldHVyblwie3tcIjtjYXNlXCJkb2NUeXBlXCI6e2lmKHQudmFsdWU9PT1cImh0bWxcIil7bGV0IG49ZS5maWxlcGF0aD8/XCJcIjtpZigvXFwuaHRtbD8kL3UudGVzdChuKSlyZXR1cm4gZXN9cmV0dXJuIGUub3JpZ2luYWxUZXh0LnNsaWNlKFgodCksSih0KSkuc2xpY2UoMCxlcy5sZW5ndGgpfWNhc2VcImFuZ3VsYXJJY3VFeHByZXNzaW9uXCI6cmV0dXJuXCJ7XCI7Y2FzZVwiZWxlbWVudFwiOmlmKHQuY29uZGl0aW9uKXJldHVybmA8IS0tW2lmICR7dC5jb25kaXRpb259XT48IS0tPjwke3QucmF3TmFtZX1gO2RlZmF1bHQ6cmV0dXJuYDwke3QucmF3TmFtZX1gfX1mdW5jdGlvbiBCdCh0KXtzd2l0Y2goRHIoIXQuaXNTZWxmQ2xvc2luZyksdC50eXBlKXtjYXNlXCJpZUNvbmRpdGlvbmFsQ29tbWVudFwiOnJldHVyblwiXT5cIjtjYXNlXCJlbGVtZW50XCI6aWYodC5jb25kaXRpb24pcmV0dXJuXCI+PCEtLTwhW2VuZGlmXS0tPlwiO2RlZmF1bHQ6cmV0dXJuXCI+XCJ9fWZ1bmN0aW9uIGNhKHQsZSl7aWYoIXQuZW5kU291cmNlU3BhbilyZXR1cm5cIlwiO2xldCByPXQuc3RhcnRTb3VyY2VTcGFuLmVuZC5vZmZzZXQ7dC5maXJzdENoaWxkJiZ0dCh0LmZpcnN0Q2hpbGQpJiYoci09QnQodCkubGVuZ3RoKTtsZXQgbj10LmVuZFNvdXJjZVNwYW4uc3RhcnQub2Zmc2V0O3JldHVybiB0Lmxhc3RDaGlsZCYmU2UodC5sYXN0Q2hpbGQpP24rPXh0KHQsZSkubGVuZ3RoOkNlKHQpJiYobi09Z2UodC5sYXN0Q2hpbGQsZSkubGVuZ3RoKSxlLm9yaWdpbmFsVGV4dC5zbGljZShyLG4pfXZhciBMdD1jYTt2YXIgcGE9bmV3IFNldChbXCJpZlwiLFwiZWxzZSBpZlwiLFwiZm9yXCIsXCJzd2l0Y2hcIixcImNhc2VcIl0pO2Z1bmN0aW9uIGhhKHQsZSl7bGV0e25vZGU6cn09dDtzd2l0Y2goci50eXBlKXtjYXNlXCJlbGVtZW50XCI6aWYoVShyKXx8ci50eXBlPT09XCJpbnRlcnBvbGF0aW9uXCIpcmV0dXJuO2lmKCFyLmlzU2VsZkNsb3NpbmcmJnd0KHIsZSkpe2xldCBuPWdyKHIsZSk7cmV0dXJuIG4/YXN5bmMocyxpKT0+e2xldCBhPUx0KHIsZSksbz0vXlxccyokL3UudGVzdChhKSx1PVwiXCI7cmV0dXJuIG98fCh1PWF3YWl0IHMobXIoYSkse3BhcnNlcjpuLF9fZW1iZWRkZWRJbkh0bWw6ITB9KSxvPXU9PT1cIlwiKSxbeihyLGUpLF8ocnQodCxlLGkpKSxvP1wiXCI6Uyx1LG8/XCJcIjpTLFplKHIsZSksVyhyLGUpXX06dm9pZCAwfWJyZWFrO2Nhc2VcInRleHRcIjppZihVKHIucGFyZW50KSl7bGV0IG49Z3Ioci5wYXJlbnQsZSk7aWYobilyZXR1cm4gYXN5bmMgcz0+e2xldCBpPW49PT1cIm1hcmtkb3duXCI/Q3Ioci52YWx1ZS5yZXBsYWNlKC9eW15cXFNcXG5dKlxcbi91LFwiXCIpKTpyLnZhbHVlLGE9e3BhcnNlcjpuLF9fZW1iZWRkZWRJbkh0bWw6ITB9O2lmKGUucGFyc2VyPT09XCJodG1sXCImJm49PT1cImJhYmVsXCIpe2xldCBvPVwic2NyaXB0XCIse2F0dHJNYXA6dX09ci5wYXJlbnQ7dSYmKHUudHlwZT09PVwibW9kdWxlXCJ8fHUudHlwZT09PVwidGV4dC9iYWJlbFwiJiZ1W1wiZGF0YS10eXBlXCJdPT09XCJtb2R1bGVcIikmJihvPVwibW9kdWxlXCIpLGEuX19iYWJlbFNvdXJjZVR5cGU9b31yZXR1cm5bbmUseihyLGUpLGF3YWl0IHMoaSxhKSxXKHIsZSldfX1lbHNlIGlmKHIucGFyZW50LnR5cGU9PT1cImludGVycG9sYXRpb25cIilyZXR1cm4gYXN5bmMgbj0+e2xldCBzPXtfX2lzSW5IdG1sSW50ZXJwb2xhdGlvbjohMCxfX2VtYmVkZGVkSW5IdG1sOiEwfTtyZXR1cm4gZS5wYXJzZXI9PT1cImFuZ3VsYXJcIj9zLnBhcnNlcj1cIl9fbmdfaW50ZXJwb2xhdGlvblwiOmUucGFyc2VyPT09XCJ2dWVcIj9zLnBhcnNlcj1MZSh0LGUpP1wiX192dWVfdHNfZXhwcmVzc2lvblwiOlwiX192dWVfZXhwcmVzc2lvblwiOnMucGFyc2VyPVwiX19qc19leHByZXNzaW9uXCIsW2soW0UsYXdhaXQgbihyLnZhbHVlLHMpXSksci5wYXJlbnQubmV4dCYmaihyLnBhcmVudC5uZXh0KT9cIiBcIjpFXX07YnJlYWs7Y2FzZVwiYXR0cmlidXRlXCI6cmV0dXJuIEpuKHQsZSk7Y2FzZVwiZnJvbnQtbWF0dGVyXCI6cmV0dXJuIG49PmRuKHIsbik7Y2FzZVwiYW5ndWxhckNvbnRyb2xGbG93QmxvY2tQYXJhbWV0ZXJzXCI6cmV0dXJuIHBhLmhhcyh0LnBhcmVudC5uYW1lKT9nbjp2b2lkIDA7Y2FzZVwiYW5ndWxhckxldERlY2xhcmF0aW9uSW5pdGlhbGl6ZXJcIjpyZXR1cm4gbj0+VChyLnZhbHVlLG4se3BhcnNlcjpcIl9fbmdfYmluZGluZ1wiLF9faXNJbkh0bWxBdHRyaWJ1dGU6ITF9KX19dmFyIHJzPWhhO3ZhciBudD1udWxsO2Z1bmN0aW9uIHN0KHQpe2lmKG50IT09bnVsbCYmdHlwZW9mIG50LnByb3BlcnR5KXtsZXQgZT1udDtyZXR1cm4gbnQ9c3QucHJvdG90eXBlPW51bGwsZX1yZXR1cm4gbnQ9c3QucHJvdG90eXBlPXQ/P09iamVjdC5jcmVhdGUobnVsbCksbmV3IHN0fXZhciBtYT0xMDtmb3IobGV0IHQ9MDt0PD1tYTt0Kyspc3QoKTtmdW5jdGlvbiB2cih0KXtyZXR1cm4gc3QodCl9ZnVuY3Rpb24gZmEodCxlPVwidHlwZVwiKXt2cih0KTtmdW5jdGlvbiByKG4pe2xldCBzPW5bZV0saT10W3NdO2lmKCFBcnJheS5pc0FycmF5KGkpKXRocm93IE9iamVjdC5hc3NpZ24obmV3IEVycm9yKGBNaXNzaW5nIHZpc2l0b3Iga2V5cyBmb3IgJyR7c30nLmApLHtub2RlOm59KTtyZXR1cm4gaX1yZXR1cm4gcn12YXIgbnM9ZmE7dmFyIGRhPXtcImZyb250LW1hdHRlclwiOltdLHJvb3Q6W1wiY2hpbGRyZW5cIl0sZWxlbWVudDpbXCJhdHRyc1wiLFwiY2hpbGRyZW5cIl0saWVDb25kaXRpb25hbENvbW1lbnQ6W1wiY2hpbGRyZW5cIl0saWVDb25kaXRpb25hbFN0YXJ0Q29tbWVudDpbXSxpZUNvbmRpdGlvbmFsRW5kQ29tbWVudDpbXSxpbnRlcnBvbGF0aW9uOltcImNoaWxkcmVuXCJdLHRleHQ6W1wiY2hpbGRyZW5cIl0sZG9jVHlwZTpbXSxjb21tZW50OltdLGF0dHJpYnV0ZTpbXSxjZGF0YTpbXSxhbmd1bGFyQ29udHJvbEZsb3dCbG9jazpbXCJjaGlsZHJlblwiLFwicGFyYW1ldGVyc1wiXSxhbmd1bGFyQ29udHJvbEZsb3dCbG9ja1BhcmFtZXRlcnM6W1wiY2hpbGRyZW5cIl0sYW5ndWxhckNvbnRyb2xGbG93QmxvY2tQYXJhbWV0ZXI6W10sYW5ndWxhckxldERlY2xhcmF0aW9uOltcImluaXRcIl0sYW5ndWxhckxldERlY2xhcmF0aW9uSW5pdGlhbGl6ZXI6W10sYW5ndWxhckljdUV4cHJlc3Npb246W1wiY2FzZXNcIl0sYW5ndWxhckljdUNhc2U6W1wiZXhwcmVzc2lvblwiXX0sc3M9ZGE7dmFyIGdhPW5zKHNzKSxpcz1nYTtmdW5jdGlvbiBhcyh0KXtyZXR1cm4vXlxccyo8IS0tXFxzKkAoPzpmb3JtYXR8cHJldHRpZXIpXFxzKi0tPi91LnRlc3QodCl9ZnVuY3Rpb24gb3ModCl7cmV0dXJuYDwhLS0gQGZvcm1hdCAtLT5cblxuYCt0fXZhciB1cz1uZXcgTWFwKFtbXCJpZlwiLG5ldyBTZXQoW1wiZWxzZSBpZlwiLFwiZWxzZVwiXSldLFtcImVsc2UgaWZcIixuZXcgU2V0KFtcImVsc2UgaWZcIixcImVsc2VcIl0pXSxbXCJmb3JcIixuZXcgU2V0KFtcImVtcHR5XCJdKV0sW1wiZGVmZXJcIixuZXcgU2V0KFtcInBsYWNlaG9sZGVyXCIsXCJlcnJvclwiLFwibG9hZGluZ1wiXSldLFtcInBsYWNlaG9sZGVyXCIsbmV3IFNldChbXCJwbGFjZWhvbGRlclwiLFwiZXJyb3JcIixcImxvYWRpbmdcIl0pXSxbXCJlcnJvclwiLG5ldyBTZXQoW1wicGxhY2Vob2xkZXJcIixcImVycm9yXCIsXCJsb2FkaW5nXCJdKV0sW1wibG9hZGluZ1wiLG5ldyBTZXQoW1wicGxhY2Vob2xkZXJcIixcImVycm9yXCIsXCJsb2FkaW5nXCJdKV1dKTtmdW5jdGlvbiBscyh0KXtsZXQgZT1KKHQpO3JldHVybiB0LnR5cGU9PT1cImVsZW1lbnRcIiYmIXQuZW5kU291cmNlU3BhbiYmRmUodC5jaGlsZHJlbik/TWF0aC5tYXgoZSxscyhzZSghMSx0LmNoaWxkcmVuLC0xKSkpOmV9ZnVuY3Rpb24gaXQodCxlLHIpe2xldCBuPXQubm9kZTtpZihtZShuKSl7bGV0IHM9bHMobik7cmV0dXJuW3oobixlKSxCKE4udHJpbUVuZChlLm9yaWdpbmFsVGV4dC5zbGljZShYKG4pKyhuLnByZXYmJmV0KG4ucHJldik/a3QobikubGVuZ3RoOjApLHMtKG4ubmV4dCYmaihuLm5leHQpP2dlKG4sZSkubGVuZ3RoOjApKSkpLFcobixlKV19cmV0dXJuIHIoKX1mdW5jdGlvbiBGdCh0LGUpe3JldHVybiBPKHQpJiZPKGUpP3QuaXNUcmFpbGluZ1NwYWNlU2Vuc2l0aXZlP3QuaGFzVHJhaWxpbmdTcGFjZXM/dnQoZSk/UzpFOlwiXCI6dnQoZSk/Uzp2OmV0KHQpJiYobWUoZSl8fGUuZmlyc3RDaGlsZHx8ZS5pc1NlbGZDbG9zaW5nfHxlLnR5cGU9PT1cImVsZW1lbnRcIiYmZS5hdHRycy5sZW5ndGg+MCl8fHQudHlwZT09PVwiZWxlbWVudFwiJiZ0LmlzU2VsZkNsb3NpbmcmJmooZSk/XCJcIjohZS5pc0xlYWRpbmdTcGFjZVNlbnNpdGl2ZXx8dnQoZSl8fGooZSkmJnQubGFzdENoaWxkJiZTZSh0Lmxhc3RDaGlsZCkmJnQubGFzdENoaWxkLmxhc3RDaGlsZCYmU2UodC5sYXN0Q2hpbGQubGFzdENoaWxkKT9TOmUuaGFzTGVhZGluZ1NwYWNlcz9FOnZ9ZnVuY3Rpb24gTmUodCxlLHIpe2xldHtub2RlOm59PXQ7aWYoZHIobikpcmV0dXJuW25lLC4uLnQubWFwKGk9PntsZXQgYT1pLm5vZGUsbz1hLnByZXY/RnQoYS5wcmV2LGEpOlwiXCI7cmV0dXJuW28/W28sUWUoYS5wcmV2KT9TOlwiXCJdOlwiXCIsaXQoaSxlLHIpXX0sXCJjaGlsZHJlblwiKV07bGV0IHM9bi5jaGlsZHJlbi5tYXAoKCk9PlN5bWJvbChcIlwiKSk7cmV0dXJuIHQubWFwKChpLGEpPT57bGV0IG89aS5ub2RlO2lmKE8obykpe2lmKG8ucHJldiYmTyhvLnByZXYpKXtsZXQgQT1GdChvLnByZXYsbyk7aWYoQSlyZXR1cm4gUWUoby5wcmV2KT9bUyxTLGl0KGksZSxyKV06W0EsaXQoaSxlLHIpXX1yZXR1cm4gaXQoaSxlLHIpfWxldCB1PVtdLHA9W10sbD1bXSxmPVtdLGQ9by5wcmV2P0Z0KG8ucHJldixvKTpcIlwiLEM9by5uZXh0P0Z0KG8sby5uZXh0KTpcIlwiO3JldHVybiBkJiYoUWUoby5wcmV2KT91LnB1c2goUyxTKTpkPT09Uz91LnB1c2goUyk6TyhvLnByZXYpP3AucHVzaChkKTpwLnB1c2gobGUoXCJcIix2LHtncm91cElkOnNbYS0xXX0pKSksQyYmKFFlKG8pP08oby5uZXh0KSYmZi5wdXNoKFMsUyk6Qz09PVM/TyhvLm5leHQpJiZmLnB1c2goUyk6bC5wdXNoKEMpKSxbLi4udSxfKFsuLi5wLF8oW2l0KGksZSxyKSwuLi5sXSx7aWQ6c1thXX0pXSksLi4uZl19LFwiY2hpbGRyZW5cIil9ZnVuY3Rpb24gY3ModCxlLHIpe2xldHtub2RlOm59PXQscz1bXTtDYSh0KSYmcy5wdXNoKFwifSBcIikscy5wdXNoKFwiQFwiLG4ubmFtZSksbi5wYXJhbWV0ZXJzJiZzLnB1c2goXCIgKFwiLF8ocihcInBhcmFtZXRlcnNcIikpLFwiKVwiKSxzLnB1c2goXCIge1wiKTtsZXQgaT1wcyhuKTtyZXR1cm4gbi5jaGlsZHJlbi5sZW5ndGg+MD8obi5maXJzdENoaWxkLmhhc0xlYWRpbmdTcGFjZXM9ITAsbi5sYXN0Q2hpbGQuaGFzVHJhaWxpbmdTcGFjZXM9ITAscy5wdXNoKGsoW1MsTmUodCxlLHIpXSkpLGkmJnMucHVzaChTLFwifVwiKSk6aSYmcy5wdXNoKFwifVwiKSxfKHMse3Nob3VsZEJyZWFrOiEwfSl9ZnVuY3Rpb24gcHModCl7dmFyIGUscjtyZXR1cm4hKCgoZT10Lm5leHQpPT1udWxsP3ZvaWQgMDplLnR5cGUpPT09XCJhbmd1bGFyQ29udHJvbEZsb3dCbG9ja1wiJiYoKHI9dXMuZ2V0KHQubmFtZSkpIT1udWxsJiZyLmhhcyh0Lm5leHQubmFtZSkpKX1mdW5jdGlvbiBDYSh0KXtsZXR7cHJldmlvdXM6ZX09dDtyZXR1cm4oZT09bnVsbD92b2lkIDA6ZS50eXBlKT09PVwiYW5ndWxhckNvbnRyb2xGbG93QmxvY2tcIiYmIW1lKGUpJiYhcHMoZSl9ZnVuY3Rpb24gaHModCxlLHIpe3JldHVybltrKFt2LHEoW1wiO1wiLEVdLHQubWFwKHIsXCJjaGlsZHJlblwiKSldKSx2XX1mdW5jdGlvbiBtcyh0LGUscil7bGV0e25vZGU6bn09dDtyZXR1cm5bX2UobixlKSxfKFtuLnN3aXRjaFZhbHVlLnRyaW0oKSxcIiwgXCIsbi5jbGF1c2Usbi5jYXNlcy5sZW5ndGg+MD9bXCIsXCIsayhbRSxxKEUsdC5tYXAocixcImNhc2VzXCIpKV0pXTpcIlwiLHZdKSxkZShuLGUpXX1mdW5jdGlvbiBmcyh0LGUscil7bGV0e25vZGU6bn09dDtyZXR1cm5bbi52YWx1ZSxcIiB7XCIsXyhbayhbdix0Lm1hcCgoe25vZGU6c30pPT5zLnR5cGU9PT1cInRleHRcIiYmIU4udHJpbShzLnZhbHVlKT9cIlwiOnIoKSxcImV4cHJlc3Npb25cIildKSx2XSksXCJ9XCJdfWZ1bmN0aW9uIGRzKHQsZSxyKXtsZXR7bm9kZTpufT10O2lmKER0KG4sZSkpcmV0dXJuW3oobixlKSxfKHJ0KHQsZSxyKSksQihMdChuLGUpKSwuLi5aZShuLGUpLFcobixlKV07bGV0IHM9bi5jaGlsZHJlbi5sZW5ndGg9PT0xJiYobi5maXJzdENoaWxkLnR5cGU9PT1cImludGVycG9sYXRpb25cInx8bi5maXJzdENoaWxkLnR5cGU9PT1cImFuZ3VsYXJJY3VFeHByZXNzaW9uXCIpJiZuLmZpcnN0Q2hpbGQuaXNMZWFkaW5nU3BhY2VTZW5zaXRpdmUmJiFuLmZpcnN0Q2hpbGQuaGFzTGVhZGluZ1NwYWNlcyYmbi5sYXN0Q2hpbGQuaXNUcmFpbGluZ1NwYWNlU2Vuc2l0aXZlJiYhbi5sYXN0Q2hpbGQuaGFzVHJhaWxpbmdTcGFjZXMsaT1TeW1ib2woXCJlbGVtZW50LWF0dHItZ3JvdXAtaWRcIiksYT1sPT5fKFtfKHJ0KHQsZSxyKSx7aWQ6aX0pLGwsWmUobixlKV0pLG89bD0+cz9vbihsLHtncm91cElkOml9KTooVShuKXx8SmUobixlKSkmJm4ucGFyZW50LnR5cGU9PT1cInJvb3RcIiYmZS5wYXJzZXI9PT1cInZ1ZVwiJiYhZS52dWVJbmRlbnRTY3JpcHRBbmRTdHlsZT9sOmsobCksdT0oKT0+cz9sZSh2LFwiXCIse2dyb3VwSWQ6aX0pOm4uZmlyc3RDaGlsZC5oYXNMZWFkaW5nU3BhY2VzJiZuLmZpcnN0Q2hpbGQuaXNMZWFkaW5nU3BhY2VTZW5zaXRpdmU/RTpuLmZpcnN0Q2hpbGQudHlwZT09PVwidGV4dFwiJiZuLmlzV2hpdGVzcGFjZVNlbnNpdGl2ZSYmbi5pc0luZGVudGF0aW9uU2Vuc2l0aXZlP3NuKHYpOnYscD0oKT0+KG4ubmV4dD9qKG4ubmV4dCk6Q2Uobi5wYXJlbnQpKT9uLmxhc3RDaGlsZC5oYXNUcmFpbGluZ1NwYWNlcyYmbi5sYXN0Q2hpbGQuaXNUcmFpbGluZ1NwYWNlU2Vuc2l0aXZlP1wiIFwiOlwiXCI6cz9sZSh2LFwiXCIse2dyb3VwSWQ6aX0pOm4ubGFzdENoaWxkLmhhc1RyYWlsaW5nU3BhY2VzJiZuLmxhc3RDaGlsZC5pc1RyYWlsaW5nU3BhY2VTZW5zaXRpdmU/RToobi5sYXN0Q2hpbGQudHlwZT09PVwiY29tbWVudFwifHxuLmxhc3RDaGlsZC50eXBlPT09XCJ0ZXh0XCImJm4uaXNXaGl0ZXNwYWNlU2Vuc2l0aXZlJiZuLmlzSW5kZW50YXRpb25TZW5zaXRpdmUpJiZuZXcgUmVnRXhwKGBcXFxcbltcXFxcdCBdeyR7ZS50YWJXaWR0aCoodC5hbmNlc3RvcnMubGVuZ3RoLTEpfX0kYCxcInVcIikudGVzdChuLmxhc3RDaGlsZC52YWx1ZSk/XCJcIjp2O3JldHVybiBuLmNoaWxkcmVuLmxlbmd0aD09PTA/YShuLmhhc0RhbmdsaW5nU3BhY2VzJiZuLmlzRGFuZ2xpbmdTcGFjZVNlbnNpdGl2ZT9FOlwiXCIpOmEoW3huKG4pP25lOlwiXCIsbyhbdSgpLE5lKHQsZSxyKV0pLHAoKV0pfWZ1bmN0aW9uIGF0KHQpe3JldHVybiB0Pj05JiZ0PD0zMnx8dD09MTYwfWZ1bmN0aW9uIE50KHQpe3JldHVybiA0ODw9dCYmdDw9NTd9ZnVuY3Rpb24gb3QodCl7cmV0dXJuIHQ+PTk3JiZ0PD0xMjJ8fHQ+PTY1JiZ0PD05MH1mdW5jdGlvbiBncyh0KXtyZXR1cm4gdD49OTcmJnQ8PTEwMnx8dD49NjUmJnQ8PTcwfHxOdCh0KX1mdW5jdGlvbiBQdCh0KXtyZXR1cm4gdD09PTEwfHx0PT09MTN9ZnVuY3Rpb24geXIodCl7cmV0dXJuIDQ4PD10JiZ0PD01NX1mdW5jdGlvbiBJdCh0KXtyZXR1cm4gdD09PTM5fHx0PT09MzR8fHQ9PT05Nn12YXIgU2E9Ly0rKFthLXowLTldKS9nO2Z1bmN0aW9uIFNzKHQpe3JldHVybiB0LnJlcGxhY2UoU2EsKC4uLmUpPT5lWzFdLnRvVXBwZXJDYXNlKCkpfXZhciBpZT1jbGFzcyB0e2NvbnN0cnVjdG9yKGUscixuLHMpe3RoaXMuZmlsZT1lLHRoaXMub2Zmc2V0PXIsdGhpcy5saW5lPW4sdGhpcy5jb2w9c310b1N0cmluZygpe3JldHVybiB0aGlzLm9mZnNldCE9bnVsbD9gJHt0aGlzLmZpbGUudXJsfUAke3RoaXMubGluZX06JHt0aGlzLmNvbH1gOnRoaXMuZmlsZS51cmx9bW92ZUJ5KGUpe2xldCByPXRoaXMuZmlsZS5jb250ZW50LG49ci5sZW5ndGgscz10aGlzLm9mZnNldCxpPXRoaXMubGluZSxhPXRoaXMuY29sO2Zvcig7cz4wJiZlPDA7KWlmKHMtLSxlKyssci5jaGFyQ29kZUF0KHMpPT0xMCl7aS0tO2xldCB1PXIuc3Vic3RyaW5nKDAscy0xKS5sYXN0SW5kZXhPZihTdHJpbmcuZnJvbUNoYXJDb2RlKDEwKSk7YT11PjA/cy11OnN9ZWxzZSBhLS07Zm9yKDtzPG4mJmU+MDspe2xldCBvPXIuY2hhckNvZGVBdChzKTtzKyssZS0tLG89PTEwPyhpKyssYT0wKTphKyt9cmV0dXJuIG5ldyB0KHRoaXMuZmlsZSxzLGksYSl9Z2V0Q29udGV4dChlLHIpe2xldCBuPXRoaXMuZmlsZS5jb250ZW50LHM9dGhpcy5vZmZzZXQ7aWYocyE9bnVsbCl7cz5uLmxlbmd0aC0xJiYocz1uLmxlbmd0aC0xKTtsZXQgaT1zLGE9MCxvPTA7Zm9yKDthPGUmJnM+MCYmKHMtLSxhKyssIShuW3NdPT1gXG5gJiYrK289PXIpKTspO2ZvcihhPTAsbz0wO2E8ZSYmaTxuLmxlbmd0aC0xJiYoaSsrLGErKywhKG5baV09PWBcbmAmJisrbz09cikpOyk7cmV0dXJue2JlZm9yZTpuLnN1YnN0cmluZyhzLHRoaXMub2Zmc2V0KSxhZnRlcjpuLnN1YnN0cmluZyh0aGlzLm9mZnNldCxpKzEpfX1yZXR1cm4gbnVsbH19LEVlPWNsYXNze2NvbnN0cnVjdG9yKGUscil7dGhpcy5jb250ZW50PWUsdGhpcy51cmw9cn19LGg9Y2xhc3N7Y29uc3RydWN0b3IoZSxyLG49ZSxzPW51bGwpe3RoaXMuc3RhcnQ9ZSx0aGlzLmVuZD1yLHRoaXMuZnVsbFN0YXJ0PW4sdGhpcy5kZXRhaWxzPXN9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5zdGFydC5maWxlLmNvbnRlbnQuc3Vic3RyaW5nKHRoaXMuc3RhcnQub2Zmc2V0LHRoaXMuZW5kLm9mZnNldCl9fSxSdDsoZnVuY3Rpb24odCl7dFt0LldBUk5JTkc9MF09XCJXQVJOSU5HXCIsdFt0LkVSUk9SPTFdPVwiRVJST1JcIn0pKFJ0fHwoUnQ9e30pKTt2YXIgSWU9Y2xhc3N7Y29uc3RydWN0b3IoZSxyLG49UnQuRVJST1Ipe3RoaXMuc3Bhbj1lLHRoaXMubXNnPXIsdGhpcy5sZXZlbD1ufWNvbnRleHR1YWxNZXNzYWdlKCl7bGV0IGU9dGhpcy5zcGFuLnN0YXJ0LmdldENvbnRleHQoMTAwLDMpO3JldHVybiBlP2Ake3RoaXMubXNnfSAoXCIke2UuYmVmb3JlfVske1J0W3RoaXMubGV2ZWxdfSAtPl0ke2UuYWZ0ZXJ9XCIpYDp0aGlzLm1zZ310b1N0cmluZygpe2xldCBlPXRoaXMuc3Bhbi5kZXRhaWxzP2AsICR7dGhpcy5zcGFuLmRldGFpbHN9YDpcIlwiO3JldHVybmAke3RoaXMuY29udGV4dHVhbE1lc3NhZ2UoKX06ICR7dGhpcy5zcGFuLnN0YXJ0fSR7ZX1gfX07dmFyIF9hPVtBYSxEYSx5YSxiYSxUYSxCYSx4YSxrYSxMYSx3YV07ZnVuY3Rpb24gRWEodCxlKXtmb3IobGV0IHIgb2YgX2Epcih0LGUpO3JldHVybiB0fWZ1bmN0aW9uIEFhKHQpe3Qud2FsayhlPT57aWYoZS50eXBlPT09XCJlbGVtZW50XCImJmUudGFnRGVmaW5pdGlvbi5pZ25vcmVGaXJzdExmJiZlLmNoaWxkcmVuLmxlbmd0aD4wJiZlLmNoaWxkcmVuWzBdLnR5cGU9PT1cInRleHRcIiYmZS5jaGlsZHJlblswXS52YWx1ZVswXT09PWBcbmApe2xldCByPWUuY2hpbGRyZW5bMF07ci52YWx1ZS5sZW5ndGg9PT0xP2UucmVtb3ZlQ2hpbGQocik6ci52YWx1ZT1yLnZhbHVlLnNsaWNlKDEpfX0pfWZ1bmN0aW9uIERhKHQpe2xldCBlPXI9Pnt2YXIgbixzO3JldHVybiByLnR5cGU9PT1cImVsZW1lbnRcIiYmKChuPXIucHJldik9PW51bGw/dm9pZCAwOm4udHlwZSk9PT1cImllQ29uZGl0aW9uYWxTdGFydENvbW1lbnRcIiYmci5wcmV2LnNvdXJjZVNwYW4uZW5kLm9mZnNldD09PXIuc3RhcnRTb3VyY2VTcGFuLnN0YXJ0Lm9mZnNldCYmKChzPXIuZmlyc3RDaGlsZCk9PW51bGw/dm9pZCAwOnMudHlwZSk9PT1cImllQ29uZGl0aW9uYWxFbmRDb21tZW50XCImJnIuZmlyc3RDaGlsZC5zb3VyY2VTcGFuLnN0YXJ0Lm9mZnNldD09PXIuc3RhcnRTb3VyY2VTcGFuLmVuZC5vZmZzZXR9O3Qud2FsayhyPT57aWYoci5jaGlsZHJlbilmb3IobGV0IG49MDtuPHIuY2hpbGRyZW4ubGVuZ3RoO24rKyl7bGV0IHM9ci5jaGlsZHJlbltuXTtpZighZShzKSljb250aW51ZTtsZXQgaT1zLnByZXYsYT1zLmZpcnN0Q2hpbGQ7ci5yZW1vdmVDaGlsZChpKSxuLS07bGV0IG89bmV3IGgoaS5zb3VyY2VTcGFuLnN0YXJ0LGEuc291cmNlU3Bhbi5lbmQpLHU9bmV3IGgoby5zdGFydCxzLnNvdXJjZVNwYW4uZW5kKTtzLmNvbmRpdGlvbj1pLmNvbmRpdGlvbixzLnNvdXJjZVNwYW49dSxzLnN0YXJ0U291cmNlU3Bhbj1vLHMucmVtb3ZlQ2hpbGQoYSl9fSl9ZnVuY3Rpb24gdmEodCxlLHIpe3Qud2FsayhuPT57aWYobi5jaGlsZHJlbilmb3IobGV0IHM9MDtzPG4uY2hpbGRyZW4ubGVuZ3RoO3MrKyl7bGV0IGk9bi5jaGlsZHJlbltzXTtpZihpLnR5cGUhPT1cInRleHRcIiYmIWUoaSkpY29udGludWU7aS50eXBlIT09XCJ0ZXh0XCImJihpLnR5cGU9XCJ0ZXh0XCIsaS52YWx1ZT1yKGkpKTtsZXQgYT1pLnByZXY7IWF8fGEudHlwZSE9PVwidGV4dFwifHwoYS52YWx1ZSs9aS52YWx1ZSxhLnNvdXJjZVNwYW49bmV3IGgoYS5zb3VyY2VTcGFuLnN0YXJ0LGkuc291cmNlU3Bhbi5lbmQpLG4ucmVtb3ZlQ2hpbGQoaSkscy0tKX19KX1mdW5jdGlvbiB5YSh0KXtyZXR1cm4gdmEodCxlPT5lLnR5cGU9PT1cImNkYXRhXCIsZT0+YDwhW0NEQVRBWyR7ZS52YWx1ZX1dXT5gKX1mdW5jdGlvbiB3YSh0KXtsZXQgZT1yPT57dmFyIG4scztyZXR1cm4gci50eXBlPT09XCJlbGVtZW50XCImJnIuYXR0cnMubGVuZ3RoPT09MCYmci5jaGlsZHJlbi5sZW5ndGg9PT0xJiZyLmZpcnN0Q2hpbGQudHlwZT09PVwidGV4dFwiJiYhTi5oYXNXaGl0ZXNwYWNlQ2hhcmFjdGVyKHIuY2hpbGRyZW5bMF0udmFsdWUpJiYhci5maXJzdENoaWxkLmhhc0xlYWRpbmdTcGFjZXMmJiFyLmZpcnN0Q2hpbGQuaGFzVHJhaWxpbmdTcGFjZXMmJnIuaXNMZWFkaW5nU3BhY2VTZW5zaXRpdmUmJiFyLmhhc0xlYWRpbmdTcGFjZXMmJnIuaXNUcmFpbGluZ1NwYWNlU2Vuc2l0aXZlJiYhci5oYXNUcmFpbGluZ1NwYWNlcyYmKChuPXIucHJldik9PW51bGw/dm9pZCAwOm4udHlwZSk9PT1cInRleHRcIiYmKChzPXIubmV4dCk9PW51bGw/dm9pZCAwOnMudHlwZSk9PT1cInRleHRcIn07dC53YWxrKHI9PntpZihyLmNoaWxkcmVuKWZvcihsZXQgbj0wO248ci5jaGlsZHJlbi5sZW5ndGg7bisrKXtsZXQgcz1yLmNoaWxkcmVuW25dO2lmKCFlKHMpKWNvbnRpbnVlO2xldCBpPXMucHJldixhPXMubmV4dDtpLnZhbHVlKz1gPCR7cy5yYXdOYW1lfT5gK3MuZmlyc3RDaGlsZC52YWx1ZStgPC8ke3MucmF3TmFtZX0+YCthLnZhbHVlLGkuc291cmNlU3Bhbj1uZXcgaChpLnNvdXJjZVNwYW4uc3RhcnQsYS5zb3VyY2VTcGFuLmVuZCksaS5pc1RyYWlsaW5nU3BhY2VTZW5zaXRpdmU9YS5pc1RyYWlsaW5nU3BhY2VTZW5zaXRpdmUsaS5oYXNUcmFpbGluZ1NwYWNlcz1hLmhhc1RyYWlsaW5nU3BhY2VzLHIucmVtb3ZlQ2hpbGQocyksbi0tLHIucmVtb3ZlQ2hpbGQoYSl9fSl9ZnVuY3Rpb24gYmEodCxlKXtpZihlLnBhcnNlcj09PVwiaHRtbFwiKXJldHVybjtsZXQgcj0vXFx7XFx7KC4rPylcXH1cXH0vc3U7dC53YWxrKG49PntpZih2bihuKSlmb3IobGV0IHMgb2Ygbi5jaGlsZHJlbil7aWYocy50eXBlIT09XCJ0ZXh0XCIpY29udGludWU7bGV0IGk9cy5zb3VyY2VTcGFuLnN0YXJ0LGE9bnVsbCxvPXMudmFsdWUuc3BsaXQocik7Zm9yKGxldCB1PTA7dTxvLmxlbmd0aDt1KyssaT1hKXtsZXQgcD1vW3VdO2lmKHUlMj09PTApe2E9aS5tb3ZlQnkocC5sZW5ndGgpLHAubGVuZ3RoPjAmJm4uaW5zZXJ0Q2hpbGRCZWZvcmUocyx7dHlwZTpcInRleHRcIix2YWx1ZTpwLHNvdXJjZVNwYW46bmV3IGgoaSxhKX0pO2NvbnRpbnVlfWE9aS5tb3ZlQnkocC5sZW5ndGgrNCksbi5pbnNlcnRDaGlsZEJlZm9yZShzLHt0eXBlOlwiaW50ZXJwb2xhdGlvblwiLHNvdXJjZVNwYW46bmV3IGgoaSxhKSxjaGlsZHJlbjpwLmxlbmd0aD09PTA/W106W3t0eXBlOlwidGV4dFwiLHZhbHVlOnAsc291cmNlU3BhbjpuZXcgaChpLm1vdmVCeSgyKSxhLm1vdmVCeSgtMikpfV19KX1uLnJlbW92ZUNoaWxkKHMpfX0pfWZ1bmN0aW9uIFRhKHQpe3Qud2FsayhlPT57aWYoIWUuY2hpbGRyZW4pcmV0dXJuO2lmKGUuY2hpbGRyZW4ubGVuZ3RoPT09MHx8ZS5jaGlsZHJlbi5sZW5ndGg9PT0xJiZlLmNoaWxkcmVuWzBdLnR5cGU9PT1cInRleHRcIiYmTi50cmltKGUuY2hpbGRyZW5bMF0udmFsdWUpLmxlbmd0aD09PTApe2UuaGFzRGFuZ2xpbmdTcGFjZXM9ZS5jaGlsZHJlbi5sZW5ndGg+MCxlLmNoaWxkcmVuPVtdO3JldHVybn1sZXQgcj15bihlKSxuPWZyKGUpO2lmKCFyKWZvcihsZXQgcz0wO3M8ZS5jaGlsZHJlbi5sZW5ndGg7cysrKXtsZXQgaT1lLmNoaWxkcmVuW3NdO2lmKGkudHlwZSE9PVwidGV4dFwiKWNvbnRpbnVlO2xldHtsZWFkaW5nV2hpdGVzcGFjZTphLHRleHQ6byx0cmFpbGluZ1doaXRlc3BhY2U6dX09RG4oaS52YWx1ZSkscD1pLnByZXYsbD1pLm5leHQ7bz8oaS52YWx1ZT1vLGkuc291cmNlU3Bhbj1uZXcgaChpLnNvdXJjZVNwYW4uc3RhcnQubW92ZUJ5KGEubGVuZ3RoKSxpLnNvdXJjZVNwYW4uZW5kLm1vdmVCeSgtdS5sZW5ndGgpKSxhJiYocCYmKHAuaGFzVHJhaWxpbmdTcGFjZXM9ITApLGkuaGFzTGVhZGluZ1NwYWNlcz0hMCksdSYmKGkuaGFzVHJhaWxpbmdTcGFjZXM9ITAsbCYmKGwuaGFzTGVhZGluZ1NwYWNlcz0hMCkpKTooZS5yZW1vdmVDaGlsZChpKSxzLS0sKGF8fHUpJiYocCYmKHAuaGFzVHJhaWxpbmdTcGFjZXM9ITApLGwmJihsLmhhc0xlYWRpbmdTcGFjZXM9ITApKSl9ZS5pc1doaXRlc3BhY2VTZW5zaXRpdmU9cixlLmlzSW5kZW50YXRpb25TZW5zaXRpdmU9bn0pfWZ1bmN0aW9uIHhhKHQpe3Qud2FsayhlPT57ZS5pc1NlbGZDbG9zaW5nPSFlLmNoaWxkcmVufHxlLnR5cGU9PT1cImVsZW1lbnRcIiYmKGUudGFnRGVmaW5pdGlvbi5pc1ZvaWR8fGUuZW5kU291cmNlU3BhbiYmZS5zdGFydFNvdXJjZVNwYW4uc3RhcnQ9PT1lLmVuZFNvdXJjZVNwYW4uc3RhcnQmJmUuc3RhcnRTb3VyY2VTcGFuLmVuZD09PWUuZW5kU291cmNlU3Bhbi5lbmQpfSl9ZnVuY3Rpb24ga2EodCxlKXt0LndhbGsocj0+e3IudHlwZT09PVwiZWxlbWVudFwiJiYoci5oYXNIdG1Db21wb25lbnRDbG9zaW5nVGFnPXIuZW5kU291cmNlU3BhbiYmL148XFxzKlxcL1xccypcXC9cXHMqPiQvdS50ZXN0KGUub3JpZ2luYWxUZXh0LnNsaWNlKHIuZW5kU291cmNlU3Bhbi5zdGFydC5vZmZzZXQsci5lbmRTb3VyY2VTcGFuLmVuZC5vZmZzZXQpKSl9KX1mdW5jdGlvbiBCYSh0LGUpe3Qud2FsayhyPT57ci5jc3NEaXNwbGF5PVBuKHIsZSl9KX1mdW5jdGlvbiBMYSh0LGUpe3Qud2FsayhyPT57bGV0e2NoaWxkcmVuOm59PXI7aWYobil7aWYobi5sZW5ndGg9PT0wKXtyLmlzRGFuZ2xpbmdTcGFjZVNlbnNpdGl2ZT1UbihyKTtyZXR1cm59Zm9yKGxldCBzIG9mIG4pcy5pc0xlYWRpbmdTcGFjZVNlbnNpdGl2ZT13bihzLGUpLHMuaXNUcmFpbGluZ1NwYWNlU2Vuc2l0aXZlPWJuKHMsZSk7Zm9yKGxldCBzPTA7czxuLmxlbmd0aDtzKyspe2xldCBpPW5bc107aS5pc0xlYWRpbmdTcGFjZVNlbnNpdGl2ZT0ocz09PTB8fGkucHJldi5pc1RyYWlsaW5nU3BhY2VTZW5zaXRpdmUpJiZpLmlzTGVhZGluZ1NwYWNlU2Vuc2l0aXZlLGkuaXNUcmFpbGluZ1NwYWNlU2Vuc2l0aXZlPShzPT09bi5sZW5ndGgtMXx8aS5uZXh0LmlzTGVhZGluZ1NwYWNlU2Vuc2l0aXZlKSYmaS5pc1RyYWlsaW5nU3BhY2VTZW5zaXRpdmV9fX0pfXZhciBfcz1FYTtmdW5jdGlvbiBGYSh0LGUscil7bGV0e25vZGU6bn09dDtzd2l0Y2gobi50eXBlKXtjYXNlXCJmcm9udC1tYXR0ZXJcIjpyZXR1cm4gQihuLnJhdyk7Y2FzZVwicm9vdFwiOnJldHVybiBlLl9fb25IdG1sUm9vdCYmZS5fX29uSHRtbFJvb3QobiksW18oTmUodCxlLHIpKSxTXTtjYXNlXCJlbGVtZW50XCI6Y2FzZVwiaWVDb25kaXRpb25hbENvbW1lbnRcIjpyZXR1cm4gZHModCxlLHIpO2Nhc2VcImFuZ3VsYXJDb250cm9sRmxvd0Jsb2NrXCI6cmV0dXJuIGNzKHQsZSxyKTtjYXNlXCJhbmd1bGFyQ29udHJvbEZsb3dCbG9ja1BhcmFtZXRlcnNcIjpyZXR1cm4gaHModCxlLHIpO2Nhc2VcImFuZ3VsYXJDb250cm9sRmxvd0Jsb2NrUGFyYW1ldGVyXCI6cmV0dXJuIE4udHJpbShuLmV4cHJlc3Npb24pO2Nhc2VcImFuZ3VsYXJMZXREZWNsYXJhdGlvblwiOnJldHVybiBfKFtcIkBsZXQgXCIsXyhbbi5pZCxcIiA9XCIsXyhrKFtFLHIoXCJpbml0XCIpXSkpXSksXCI7XCJdKTtjYXNlXCJhbmd1bGFyTGV0RGVjbGFyYXRpb25Jbml0aWFsaXplclwiOnJldHVybiBuLnZhbHVlO2Nhc2VcImFuZ3VsYXJJY3VFeHByZXNzaW9uXCI6cmV0dXJuIG1zKHQsZSxyKTtjYXNlXCJhbmd1bGFySWN1Q2FzZVwiOnJldHVybiBmcyh0LGUscik7Y2FzZVwiaWVDb25kaXRpb25hbFN0YXJ0Q29tbWVudFwiOmNhc2VcImllQ29uZGl0aW9uYWxFbmRDb21tZW50XCI6cmV0dXJuW19lKG4pLGRlKG4pXTtjYXNlXCJpbnRlcnBvbGF0aW9uXCI6cmV0dXJuW19lKG4sZSksLi4udC5tYXAocixcImNoaWxkcmVuXCIpLGRlKG4sZSldO2Nhc2VcInRleHRcIjp7aWYobi5wYXJlbnQudHlwZT09PVwiaW50ZXJwb2xhdGlvblwiKXtsZXQgbz0vXFxuW15cXFNcXG5dKiQvdSx1PW8udGVzdChuLnZhbHVlKSxwPXU/bi52YWx1ZS5yZXBsYWNlKG8sXCJcIik6bi52YWx1ZTtyZXR1cm5bQihwKSx1P1M6XCJcIl19bGV0IHM9eihuLGUpLGk9YnQobiksYT1XKG4sZSk7cmV0dXJuIGlbMF09W3MsaVswXV0saS5wdXNoKFtpLnBvcCgpLGFdKSxFdChpKX1jYXNlXCJkb2NUeXBlXCI6cmV0dXJuW18oW19lKG4sZSksXCIgXCIsdyghMSxuLnZhbHVlLnJlcGxhY2UoL15odG1sXFxiL2l1LFwiaHRtbFwiKSwvXFxzKy9ndSxcIiBcIildKSxkZShuLGUpXTtjYXNlXCJjb21tZW50XCI6cmV0dXJuW3oobixlKSxCKGUub3JpZ2luYWxUZXh0LnNsaWNlKFgobiksSihuKSkpLFcobixlKV07Y2FzZVwiYXR0cmlidXRlXCI6e2lmKG4udmFsdWU9PT1udWxsKXJldHVybiBuLnJhd05hbWU7bGV0IHM9U3Iobi52YWx1ZSksaT1jbihzLCdcIicpO3JldHVybltuLnJhd05hbWUsXCI9XCIsaSxCKGk9PT0nXCInP3coITEscywnXCInLFwiJnF1b3Q7XCIpOncoITEscyxcIidcIixcIiZhcG9zO1wiKSksaV19Y2FzZVwiY2RhdGFcIjpkZWZhdWx0OnRocm93IG5ldyBobihuLFwiSFRNTFwiKX19dmFyIE5hPXtwcmVwcm9jZXNzOl9zLHByaW50OkZhLGluc2VydFByYWdtYTpvcyxtYXNzYWdlQXN0Tm9kZTpmbixlbWJlZDpycyxnZXRWaXNpdG9yS2V5czppc30sRXM9TmE7dmFyIEFzPVt7bGluZ3Vpc3RMYW5ndWFnZUlkOjE0NixuYW1lOlwiQW5ndWxhclwiLHR5cGU6XCJtYXJrdXBcIix0bVNjb3BlOlwidGV4dC5odG1sLmJhc2ljXCIsYWNlTW9kZTpcImh0bWxcIixjb2RlbWlycm9yTW9kZTpcImh0bWxtaXhlZFwiLGNvZGVtaXJyb3JNaW1lVHlwZTpcInRleHQvaHRtbFwiLGNvbG9yOlwiI2UzNGMyNlwiLGFsaWFzZXM6W1wieGh0bWxcIl0sZXh0ZW5zaW9uczpbXCIuY29tcG9uZW50Lmh0bWxcIl0scGFyc2VyczpbXCJhbmd1bGFyXCJdLHZzY29kZUxhbmd1YWdlSWRzOltcImh0bWxcIl0sZmlsZW5hbWVzOltdfSx7bGluZ3Vpc3RMYW5ndWFnZUlkOjE0NixuYW1lOlwiSFRNTFwiLHR5cGU6XCJtYXJrdXBcIix0bVNjb3BlOlwidGV4dC5odG1sLmJhc2ljXCIsYWNlTW9kZTpcImh0bWxcIixjb2RlbWlycm9yTW9kZTpcImh0bWxtaXhlZFwiLGNvZGVtaXJyb3JNaW1lVHlwZTpcInRleHQvaHRtbFwiLGNvbG9yOlwiI2UzNGMyNlwiLGFsaWFzZXM6W1wieGh0bWxcIl0sZXh0ZW5zaW9uczpbXCIuaHRtbFwiLFwiLmh0YVwiLFwiLmh0bVwiLFwiLmh0bWwuaGxcIixcIi5pbmNcIixcIi54aHRcIixcIi54aHRtbFwiLFwiLm1qbWxcIl0scGFyc2VyczpbXCJodG1sXCJdLHZzY29kZUxhbmd1YWdlSWRzOltcImh0bWxcIl19LHtsaW5ndWlzdExhbmd1YWdlSWQ6MTQ2LG5hbWU6XCJMaWdodG5pbmcgV2ViIENvbXBvbmVudHNcIix0eXBlOlwibWFya3VwXCIsdG1TY29wZTpcInRleHQuaHRtbC5iYXNpY1wiLGFjZU1vZGU6XCJodG1sXCIsY29kZW1pcnJvck1vZGU6XCJodG1sbWl4ZWRcIixjb2RlbWlycm9yTWltZVR5cGU6XCJ0ZXh0L2h0bWxcIixjb2xvcjpcIiNlMzRjMjZcIixhbGlhc2VzOltcInhodG1sXCJdLGV4dGVuc2lvbnM6W10scGFyc2VyczpbXCJsd2NcIl0sdnNjb2RlTGFuZ3VhZ2VJZHM6W1wiaHRtbFwiXSxmaWxlbmFtZXM6W119LHtsaW5ndWlzdExhbmd1YWdlSWQ6MzkxLG5hbWU6XCJWdWVcIix0eXBlOlwibWFya3VwXCIsY29sb3I6XCIjNDFiODgzXCIsZXh0ZW5zaW9uczpbXCIudnVlXCJdLHRtU2NvcGU6XCJ0ZXh0Lmh0bWwudnVlXCIsYWNlTW9kZTpcImh0bWxcIixwYXJzZXJzOltcInZ1ZVwiXSx2c2NvZGVMYW5ndWFnZUlkczpbXCJ2dWVcIl19XTt2YXIgd3I9e2JyYWNrZXRTcGFjaW5nOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMCxkZXNjcmlwdGlvbjpcIlByaW50IHNwYWNlcyBiZXR3ZWVuIGJyYWNrZXRzLlwiLG9wcG9zaXRlRGVzY3JpcHRpb246XCJEbyBub3QgcHJpbnQgc3BhY2VzIGJldHdlZW4gYnJhY2tldHMuXCJ9LHNpbmdsZVF1b3RlOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMSxkZXNjcmlwdGlvbjpcIlVzZSBzaW5nbGUgcXVvdGVzIGluc3RlYWQgb2YgZG91YmxlIHF1b3Rlcy5cIn0scHJvc2VXcmFwOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJjaG9pY2VcIixkZWZhdWx0OlwicHJlc2VydmVcIixkZXNjcmlwdGlvbjpcIkhvdyB0byB3cmFwIHByb3NlLlwiLGNob2ljZXM6W3t2YWx1ZTpcImFsd2F5c1wiLGRlc2NyaXB0aW9uOlwiV3JhcCBwcm9zZSBpZiBpdCBleGNlZWRzIHRoZSBwcmludCB3aWR0aC5cIn0se3ZhbHVlOlwibmV2ZXJcIixkZXNjcmlwdGlvbjpcIkRvIG5vdCB3cmFwIHByb3NlLlwifSx7dmFsdWU6XCJwcmVzZXJ2ZVwiLGRlc2NyaXB0aW9uOlwiV3JhcCBwcm9zZSBhcy1pcy5cIn1dfSxicmFja2V0U2FtZUxpbmU6e2NhdGVnb3J5OlwiQ29tbW9uXCIsdHlwZTpcImJvb2xlYW5cIixkZWZhdWx0OiExLGRlc2NyaXB0aW9uOlwiUHV0ID4gb2Ygb3BlbmluZyB0YWdzIG9uIHRoZSBsYXN0IGxpbmUgaW5zdGVhZCBvZiBvbiBhIG5ldyBsaW5lLlwifSxzaW5nbGVBdHRyaWJ1dGVQZXJMaW5lOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMSxkZXNjcmlwdGlvbjpcIkVuZm9yY2Ugc2luZ2xlIGF0dHJpYnV0ZSBwZXIgbGluZSBpbiBIVE1MLCBWdWUgYW5kIEpTWC5cIn19O3ZhciBEcz1cIkhUTUxcIixQYT17YnJhY2tldFNhbWVMaW5lOndyLmJyYWNrZXRTYW1lTGluZSxodG1sV2hpdGVzcGFjZVNlbnNpdGl2aXR5OntjYXRlZ29yeTpEcyx0eXBlOlwiY2hvaWNlXCIsZGVmYXVsdDpcImNzc1wiLGRlc2NyaXB0aW9uOlwiSG93IHRvIGhhbmRsZSB3aGl0ZXNwYWNlcyBpbiBIVE1MLlwiLGNob2ljZXM6W3t2YWx1ZTpcImNzc1wiLGRlc2NyaXB0aW9uOlwiUmVzcGVjdCB0aGUgZGVmYXVsdCB2YWx1ZSBvZiBDU1MgZGlzcGxheSBwcm9wZXJ0eS5cIn0se3ZhbHVlOlwic3RyaWN0XCIsZGVzY3JpcHRpb246XCJXaGl0ZXNwYWNlcyBhcmUgY29uc2lkZXJlZCBzZW5zaXRpdmUuXCJ9LHt2YWx1ZTpcImlnbm9yZVwiLGRlc2NyaXB0aW9uOlwiV2hpdGVzcGFjZXMgYXJlIGNvbnNpZGVyZWQgaW5zZW5zaXRpdmUuXCJ9XX0sc2luZ2xlQXR0cmlidXRlUGVyTGluZTp3ci5zaW5nbGVBdHRyaWJ1dGVQZXJMaW5lLHZ1ZUluZGVudFNjcmlwdEFuZFN0eWxlOntjYXRlZ29yeTpEcyx0eXBlOlwiYm9vbGVhblwiLGRlZmF1bHQ6ITEsZGVzY3JpcHRpb246XCJJbmRlbnQgc2NyaXB0IGFuZCBzdHlsZSB0YWdzIGluIFZ1ZSBmaWxlcy5cIn19LHZzPVBhO3ZhciBHcj17fTtKcihHcix7YW5ndWxhcjooKT0+Rm8saHRtbDooKT0+TG8sbHdjOigpPT5Qbyx2dWU6KCk9Pk5vfSk7dmFyIENwPW5ldyBSZWdFeHAoYChcXFxcOm5vdFxcXFwoKXwoKFtcXFxcLlxcXFwjXT8pWy1cXFxcd10rKXwoPzpcXFxcWyhbLS5cXFxcdypcXFxcXFxcXCRdKykoPzo9KFtcIiddPykoW15cXFxcXVwiJ10qKVxcXFw1KT9cXFxcXSl8KFxcXFwpKXwoXFxcXHMqLFxcXFxzKilgLFwiZ1wiKTt2YXIgeXM7KGZ1bmN0aW9uKHQpe3RbdC5FbXVsYXRlZD0wXT1cIkVtdWxhdGVkXCIsdFt0Lk5vbmU9Ml09XCJOb25lXCIsdFt0LlNoYWRvd0RvbT0zXT1cIlNoYWRvd0RvbVwifSkoeXN8fCh5cz17fSkpO3ZhciB3czsoZnVuY3Rpb24odCl7dFt0Lk9uUHVzaD0wXT1cIk9uUHVzaFwiLHRbdC5EZWZhdWx0PTFdPVwiRGVmYXVsdFwifSkod3N8fCh3cz17fSkpO3ZhciBiczsoZnVuY3Rpb24odCl7dFt0Lk5vbmU9MF09XCJOb25lXCIsdFt0LlNpZ25hbEJhc2VkPTFdPVwiU2lnbmFsQmFzZWRcIix0W3QuSGFzRGVjb3JhdG9ySW5wdXRUcmFuc2Zvcm09Ml09XCJIYXNEZWNvcmF0b3JJbnB1dFRyYW5zZm9ybVwifSkoYnN8fChicz17fSkpO3ZhciBicj17bmFtZTpcImN1c3RvbS1lbGVtZW50c1wifSxUcj17bmFtZTpcIm5vLWVycm9ycy1zY2hlbWFcIn07dmFyIFo7KGZ1bmN0aW9uKHQpe3RbdC5OT05FPTBdPVwiTk9ORVwiLHRbdC5IVE1MPTFdPVwiSFRNTFwiLHRbdC5TVFlMRT0yXT1cIlNUWUxFXCIsdFt0LlNDUklQVD0zXT1cIlNDUklQVFwiLHRbdC5VUkw9NF09XCJVUkxcIix0W3QuUkVTT1VSQ0VfVVJMPTVdPVwiUkVTT1VSQ0VfVVJMXCJ9KShafHwoWj17fSkpO3ZhciBUczsoZnVuY3Rpb24odCl7dFt0LkVycm9yPTBdPVwiRXJyb3JcIix0W3QuV2FybmluZz0xXT1cIldhcm5pbmdcIix0W3QuSWdub3JlPTJdPVwiSWdub3JlXCJ9KShUc3x8KFRzPXt9KSk7dmFyIEk7KGZ1bmN0aW9uKHQpe3RbdC5SQVdfVEVYVD0wXT1cIlJBV19URVhUXCIsdFt0LkVTQ0FQQUJMRV9SQVdfVEVYVD0xXT1cIkVTQ0FQQUJMRV9SQVdfVEVYVFwiLHRbdC5QQVJTQUJMRV9EQVRBPTJdPVwiUEFSU0FCTEVfREFUQVwifSkoSXx8KEk9e30pKTtmdW5jdGlvbiB1dCh0LGU9ITApe2lmKHRbMF0hPVwiOlwiKXJldHVybltudWxsLHRdO2xldCByPXQuaW5kZXhPZihcIjpcIiwxKTtpZihyPT09LTEpe2lmKGUpdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBmb3JtYXQgXCIke3R9XCIgZXhwZWN0aW5nIFwiOm5hbWVzcGFjZTpuYW1lXCJgKTtyZXR1cm5bbnVsbCx0XX1yZXR1cm5bdC5zbGljZSgxLHIpLHQuc2xpY2UocisxKV19ZnVuY3Rpb24geHIodCl7cmV0dXJuIHV0KHQpWzFdPT09XCJuZy1jb250YWluZXJcIn1mdW5jdGlvbiBrcih0KXtyZXR1cm4gdXQodClbMV09PT1cIm5nLWNvbnRlbnRcIn1mdW5jdGlvbiBSZSh0KXtyZXR1cm4gdD09PW51bGw/bnVsbDp1dCh0KVswXX1mdW5jdGlvbiBPZSh0LGUpe3JldHVybiB0P2A6JHt0fToke2V9YDplfXZhciAkdDtmdW5jdGlvbiBCcigpe3JldHVybiAkdHx8KCR0PXt9LE90KFouSFRNTCxbXCJpZnJhbWV8c3JjZG9jXCIsXCIqfGlubmVySFRNTFwiLFwiKnxvdXRlckhUTUxcIl0pLE90KFouU1RZTEUsW1wiKnxzdHlsZVwiXSksT3QoWi5VUkwsW1wiKnxmb3JtQWN0aW9uXCIsXCJhcmVhfGhyZWZcIixcImFyZWF8cGluZ1wiLFwiYXVkaW98c3JjXCIsXCJhfGhyZWZcIixcImF8cGluZ1wiLFwiYmxvY2txdW90ZXxjaXRlXCIsXCJib2R5fGJhY2tncm91bmRcIixcImRlbHxjaXRlXCIsXCJmb3JtfGFjdGlvblwiLFwiaW1nfHNyY1wiLFwiaW5wdXR8c3JjXCIsXCJpbnN8Y2l0ZVwiLFwicXxjaXRlXCIsXCJzb3VyY2V8c3JjXCIsXCJ0cmFja3xzcmNcIixcInZpZGVvfHBvc3RlclwiLFwidmlkZW98c3JjXCJdKSxPdChaLlJFU09VUkNFX1VSTCxbXCJhcHBsZXR8Y29kZVwiLFwiYXBwbGV0fGNvZGViYXNlXCIsXCJiYXNlfGhyZWZcIixcImVtYmVkfHNyY1wiLFwiZnJhbWV8c3JjXCIsXCJoZWFkfHByb2ZpbGVcIixcImh0bWx8bWFuaWZlc3RcIixcImlmcmFtZXxzcmNcIixcImxpbmt8aHJlZlwiLFwibWVkaWF8c3JjXCIsXCJvYmplY3R8Y29kZWJhc2VcIixcIm9iamVjdHxkYXRhXCIsXCJzY3JpcHR8c3JjXCJdKSksJHR9ZnVuY3Rpb24gT3QodCxlKXtmb3IobGV0IHIgb2YgZSkkdFtyLnRvTG93ZXJDYXNlKCldPXR9dmFyIE10PWNsYXNze307dmFyIElhPVwiYm9vbGVhblwiLFJhPVwibnVtYmVyXCIsT2E9XCJzdHJpbmdcIiwkYT1cIm9iamVjdFwiLE1hPVtcIltFbGVtZW50XXx0ZXh0Q29udGVudCwlYXJpYUF0b21pYywlYXJpYUF1dG9Db21wbGV0ZSwlYXJpYUJ1c3ksJWFyaWFDaGVja2VkLCVhcmlhQ29sQ291bnQsJWFyaWFDb2xJbmRleCwlYXJpYUNvbFNwYW4sJWFyaWFDdXJyZW50LCVhcmlhRGVzY3JpcHRpb24sJWFyaWFEaXNhYmxlZCwlYXJpYUV4cGFuZGVkLCVhcmlhSGFzUG9wdXAsJWFyaWFIaWRkZW4sJWFyaWFLZXlTaG9ydGN1dHMsJWFyaWFMYWJlbCwlYXJpYUxldmVsLCVhcmlhTGl2ZSwlYXJpYU1vZGFsLCVhcmlhTXVsdGlMaW5lLCVhcmlhTXVsdGlTZWxlY3RhYmxlLCVhcmlhT3JpZW50YXRpb24sJWFyaWFQbGFjZWhvbGRlciwlYXJpYVBvc0luU2V0LCVhcmlhUHJlc3NlZCwlYXJpYVJlYWRPbmx5LCVhcmlhUmVsZXZhbnQsJWFyaWFSZXF1aXJlZCwlYXJpYVJvbGVEZXNjcmlwdGlvbiwlYXJpYVJvd0NvdW50LCVhcmlhUm93SW5kZXgsJWFyaWFSb3dTcGFuLCVhcmlhU2VsZWN0ZWQsJWFyaWFTZXRTaXplLCVhcmlhU29ydCwlYXJpYVZhbHVlTWF4LCVhcmlhVmFsdWVNaW4sJWFyaWFWYWx1ZU5vdywlYXJpYVZhbHVlVGV4dCwlY2xhc3NMaXN0LGNsYXNzTmFtZSxlbGVtZW50VGltaW5nLGlkLGlubmVySFRNTCwqYmVmb3JlY29weSwqYmVmb3JlY3V0LCpiZWZvcmVwYXN0ZSwqZnVsbHNjcmVlbmNoYW5nZSwqZnVsbHNjcmVlbmVycm9yLCpzZWFyY2gsKndlYmtpdGZ1bGxzY3JlZW5jaGFuZ2UsKndlYmtpdGZ1bGxzY3JlZW5lcnJvcixvdXRlckhUTUwsJXBhcnQsI3Njcm9sbExlZnQsI3Njcm9sbFRvcCxzbG90LCptZXNzYWdlLCptb3pmdWxsc2NyZWVuY2hhbmdlLCptb3pmdWxsc2NyZWVuZXJyb3IsKm1venBvaW50ZXJsb2NrY2hhbmdlLCptb3pwb2ludGVybG9ja2Vycm9yLCp3ZWJnbGNvbnRleHRjcmVhdGlvbmVycm9yLCp3ZWJnbGNvbnRleHRsb3N0LCp3ZWJnbGNvbnRleHRyZXN0b3JlZFwiLFwiW0hUTUxFbGVtZW50XV5bRWxlbWVudF18YWNjZXNzS2V5LGF1dG9jYXBpdGFsaXplLCFhdXRvZm9jdXMsY29udGVudEVkaXRhYmxlLGRpciwhZHJhZ2dhYmxlLGVudGVyS2V5SGludCwhaGlkZGVuLCFpbmVydCxpbm5lclRleHQsaW5wdXRNb2RlLGxhbmcsbm9uY2UsKmFib3J0LCphbmltYXRpb25lbmQsKmFuaW1hdGlvbml0ZXJhdGlvbiwqYW5pbWF0aW9uc3RhcnQsKmF1eGNsaWNrLCpiZWZvcmV4cnNlbGVjdCwqYmx1ciwqY2FuY2VsLCpjYW5wbGF5LCpjYW5wbGF5dGhyb3VnaCwqY2hhbmdlLCpjbGljaywqY2xvc2UsKmNvbnRleHRtZW51LCpjb3B5LCpjdWVjaGFuZ2UsKmN1dCwqZGJsY2xpY2ssKmRyYWcsKmRyYWdlbmQsKmRyYWdlbnRlciwqZHJhZ2xlYXZlLCpkcmFnb3ZlciwqZHJhZ3N0YXJ0LCpkcm9wLCpkdXJhdGlvbmNoYW5nZSwqZW1wdGllZCwqZW5kZWQsKmVycm9yLCpmb2N1cywqZm9ybWRhdGEsKmdvdHBvaW50ZXJjYXB0dXJlLCppbnB1dCwqaW52YWxpZCwqa2V5ZG93biwqa2V5cHJlc3MsKmtleXVwLCpsb2FkLCpsb2FkZWRkYXRhLCpsb2FkZWRtZXRhZGF0YSwqbG9hZHN0YXJ0LCpsb3N0cG9pbnRlcmNhcHR1cmUsKm1vdXNlZG93biwqbW91c2VlbnRlciwqbW91c2VsZWF2ZSwqbW91c2Vtb3ZlLCptb3VzZW91dCwqbW91c2VvdmVyLCptb3VzZXVwLCptb3VzZXdoZWVsLCpwYXN0ZSwqcGF1c2UsKnBsYXksKnBsYXlpbmcsKnBvaW50ZXJjYW5jZWwsKnBvaW50ZXJkb3duLCpwb2ludGVyZW50ZXIsKnBvaW50ZXJsZWF2ZSwqcG9pbnRlcm1vdmUsKnBvaW50ZXJvdXQsKnBvaW50ZXJvdmVyLCpwb2ludGVycmF3dXBkYXRlLCpwb2ludGVydXAsKnByb2dyZXNzLCpyYXRlY2hhbmdlLCpyZXNldCwqcmVzaXplLCpzY3JvbGwsKnNlY3VyaXR5cG9saWN5dmlvbGF0aW9uLCpzZWVrZWQsKnNlZWtpbmcsKnNlbGVjdCwqc2VsZWN0aW9uY2hhbmdlLCpzZWxlY3RzdGFydCwqc2xvdGNoYW5nZSwqc3RhbGxlZCwqc3VibWl0LCpzdXNwZW5kLCp0aW1ldXBkYXRlLCp0b2dnbGUsKnRyYW5zaXRpb25jYW5jZWwsKnRyYW5zaXRpb25lbmQsKnRyYW5zaXRpb25ydW4sKnRyYW5zaXRpb25zdGFydCwqdm9sdW1lY2hhbmdlLCp3YWl0aW5nLCp3ZWJraXRhbmltYXRpb25lbmQsKndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiwqd2Via2l0YW5pbWF0aW9uc3RhcnQsKndlYmtpdHRyYW5zaXRpb25lbmQsKndoZWVsLG91dGVyVGV4dCwhc3BlbGxjaGVjaywlc3R5bGUsI3RhYkluZGV4LHRpdGxlLCF0cmFuc2xhdGUsdmlydHVhbEtleWJvYXJkUG9saWN5XCIsXCJhYmJyLGFkZHJlc3MsYXJ0aWNsZSxhc2lkZSxiLGJkaSxiZG8sY2l0ZSxjb250ZW50LGNvZGUsZGQsZGZuLGR0LGVtLGZpZ2NhcHRpb24sZmlndXJlLGZvb3RlcixoZWFkZXIsaGdyb3VwLGksa2JkLG1haW4sbWFyayxuYXYsbm9zY3JpcHQscmIscnAscnQscnRjLHJ1YnkscyxzYW1wLHNlY3Rpb24sc21hbGwsc3Ryb25nLHN1YixzdXAsdSx2YXIsd2JyXltIVE1MRWxlbWVudF18YWNjZXNzS2V5LGF1dG9jYXBpdGFsaXplLCFhdXRvZm9jdXMsY29udGVudEVkaXRhYmxlLGRpciwhZHJhZ2dhYmxlLGVudGVyS2V5SGludCwhaGlkZGVuLGlubmVyVGV4dCxpbnB1dE1vZGUsbGFuZyxub25jZSwqYWJvcnQsKmFuaW1hdGlvbmVuZCwqYW5pbWF0aW9uaXRlcmF0aW9uLCphbmltYXRpb25zdGFydCwqYXV4Y2xpY2ssKmJlZm9yZXhyc2VsZWN0LCpibHVyLCpjYW5jZWwsKmNhbnBsYXksKmNhbnBsYXl0aHJvdWdoLCpjaGFuZ2UsKmNsaWNrLCpjbG9zZSwqY29udGV4dG1lbnUsKmNvcHksKmN1ZWNoYW5nZSwqY3V0LCpkYmxjbGljaywqZHJhZywqZHJhZ2VuZCwqZHJhZ2VudGVyLCpkcmFnbGVhdmUsKmRyYWdvdmVyLCpkcmFnc3RhcnQsKmRyb3AsKmR1cmF0aW9uY2hhbmdlLCplbXB0aWVkLCplbmRlZCwqZXJyb3IsKmZvY3VzLCpmb3JtZGF0YSwqZ290cG9pbnRlcmNhcHR1cmUsKmlucHV0LCppbnZhbGlkLCprZXlkb3duLCprZXlwcmVzcywqa2V5dXAsKmxvYWQsKmxvYWRlZGRhdGEsKmxvYWRlZG1ldGFkYXRhLCpsb2Fkc3RhcnQsKmxvc3Rwb2ludGVyY2FwdHVyZSwqbW91c2Vkb3duLCptb3VzZWVudGVyLCptb3VzZWxlYXZlLCptb3VzZW1vdmUsKm1vdXNlb3V0LCptb3VzZW92ZXIsKm1vdXNldXAsKm1vdXNld2hlZWwsKnBhc3RlLCpwYXVzZSwqcGxheSwqcGxheWluZywqcG9pbnRlcmNhbmNlbCwqcG9pbnRlcmRvd24sKnBvaW50ZXJlbnRlciwqcG9pbnRlcmxlYXZlLCpwb2ludGVybW92ZSwqcG9pbnRlcm91dCwqcG9pbnRlcm92ZXIsKnBvaW50ZXJyYXd1cGRhdGUsKnBvaW50ZXJ1cCwqcHJvZ3Jlc3MsKnJhdGVjaGFuZ2UsKnJlc2V0LCpyZXNpemUsKnNjcm9sbCwqc2VjdXJpdHlwb2xpY3l2aW9sYXRpb24sKnNlZWtlZCwqc2Vla2luZywqc2VsZWN0LCpzZWxlY3Rpb25jaGFuZ2UsKnNlbGVjdHN0YXJ0LCpzbG90Y2hhbmdlLCpzdGFsbGVkLCpzdWJtaXQsKnN1c3BlbmQsKnRpbWV1cGRhdGUsKnRvZ2dsZSwqdHJhbnNpdGlvbmNhbmNlbCwqdHJhbnNpdGlvbmVuZCwqdHJhbnNpdGlvbnJ1biwqdHJhbnNpdGlvbnN0YXJ0LCp2b2x1bWVjaGFuZ2UsKndhaXRpbmcsKndlYmtpdGFuaW1hdGlvbmVuZCwqd2Via2l0YW5pbWF0aW9uaXRlcmF0aW9uLCp3ZWJraXRhbmltYXRpb25zdGFydCwqd2Via2l0dHJhbnNpdGlvbmVuZCwqd2hlZWwsb3V0ZXJUZXh0LCFzcGVsbGNoZWNrLCVzdHlsZSwjdGFiSW5kZXgsdGl0bGUsIXRyYW5zbGF0ZSx2aXJ0dWFsS2V5Ym9hcmRQb2xpY3lcIixcIm1lZGlhXltIVE1MRWxlbWVudF18IWF1dG9wbGF5LCFjb250cm9scywlY29udHJvbHNMaXN0LCVjcm9zc09yaWdpbiwjY3VycmVudFRpbWUsIWRlZmF1bHRNdXRlZCwjZGVmYXVsdFBsYXliYWNrUmF0ZSwhZGlzYWJsZVJlbW90ZVBsYXliYWNrLCFsb29wLCFtdXRlZCwqZW5jcnlwdGVkLCp3YWl0aW5nZm9ya2V5LCNwbGF5YmFja1JhdGUscHJlbG9hZCwhcHJlc2VydmVzUGl0Y2gsc3JjLCVzcmNPYmplY3QsI3ZvbHVtZVwiLFwiOnN2ZzpeW0hUTUxFbGVtZW50XXwhYXV0b2ZvY3VzLG5vbmNlLCphYm9ydCwqYW5pbWF0aW9uZW5kLCphbmltYXRpb25pdGVyYXRpb24sKmFuaW1hdGlvbnN0YXJ0LCphdXhjbGljaywqYmVmb3JleHJzZWxlY3QsKmJsdXIsKmNhbmNlbCwqY2FucGxheSwqY2FucGxheXRocm91Z2gsKmNoYW5nZSwqY2xpY2ssKmNsb3NlLCpjb250ZXh0bWVudSwqY29weSwqY3VlY2hhbmdlLCpjdXQsKmRibGNsaWNrLCpkcmFnLCpkcmFnZW5kLCpkcmFnZW50ZXIsKmRyYWdsZWF2ZSwqZHJhZ292ZXIsKmRyYWdzdGFydCwqZHJvcCwqZHVyYXRpb25jaGFuZ2UsKmVtcHRpZWQsKmVuZGVkLCplcnJvciwqZm9jdXMsKmZvcm1kYXRhLCpnb3Rwb2ludGVyY2FwdHVyZSwqaW5wdXQsKmludmFsaWQsKmtleWRvd24sKmtleXByZXNzLCprZXl1cCwqbG9hZCwqbG9hZGVkZGF0YSwqbG9hZGVkbWV0YWRhdGEsKmxvYWRzdGFydCwqbG9zdHBvaW50ZXJjYXB0dXJlLCptb3VzZWRvd24sKm1vdXNlZW50ZXIsKm1vdXNlbGVhdmUsKm1vdXNlbW92ZSwqbW91c2VvdXQsKm1vdXNlb3ZlciwqbW91c2V1cCwqbW91c2V3aGVlbCwqcGFzdGUsKnBhdXNlLCpwbGF5LCpwbGF5aW5nLCpwb2ludGVyY2FuY2VsLCpwb2ludGVyZG93biwqcG9pbnRlcmVudGVyLCpwb2ludGVybGVhdmUsKnBvaW50ZXJtb3ZlLCpwb2ludGVyb3V0LCpwb2ludGVyb3ZlciwqcG9pbnRlcnJhd3VwZGF0ZSwqcG9pbnRlcnVwLCpwcm9ncmVzcywqcmF0ZWNoYW5nZSwqcmVzZXQsKnJlc2l6ZSwqc2Nyb2xsLCpzZWN1cml0eXBvbGljeXZpb2xhdGlvbiwqc2Vla2VkLCpzZWVraW5nLCpzZWxlY3QsKnNlbGVjdGlvbmNoYW5nZSwqc2VsZWN0c3RhcnQsKnNsb3RjaGFuZ2UsKnN0YWxsZWQsKnN1Ym1pdCwqc3VzcGVuZCwqdGltZXVwZGF0ZSwqdG9nZ2xlLCp0cmFuc2l0aW9uY2FuY2VsLCp0cmFuc2l0aW9uZW5kLCp0cmFuc2l0aW9ucnVuLCp0cmFuc2l0aW9uc3RhcnQsKnZvbHVtZWNoYW5nZSwqd2FpdGluZywqd2Via2l0YW5pbWF0aW9uZW5kLCp3ZWJraXRhbmltYXRpb25pdGVyYXRpb24sKndlYmtpdGFuaW1hdGlvbnN0YXJ0LCp3ZWJraXR0cmFuc2l0aW9uZW5kLCp3aGVlbCwlc3R5bGUsI3RhYkluZGV4XCIsXCI6c3ZnOmdyYXBoaWNzXjpzdmc6fFwiLFwiOnN2ZzphbmltYXRpb25eOnN2Zzp8KmJlZ2luLCplbmQsKnJlcGVhdFwiLFwiOnN2ZzpnZW9tZXRyeV46c3ZnOnxcIixcIjpzdmc6Y29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbl46c3ZnOnxcIixcIjpzdmc6Z3JhZGllbnReOnN2Zzp8XCIsXCI6c3ZnOnRleHRDb250ZW50Xjpzdmc6Z3JhcGhpY3N8XCIsXCI6c3ZnOnRleHRQb3NpdGlvbmluZ146c3ZnOnRleHRDb250ZW50fFwiLFwiYV5bSFRNTEVsZW1lbnRdfGNoYXJzZXQsY29vcmRzLGRvd25sb2FkLGhhc2gsaG9zdCxob3N0bmFtZSxocmVmLGhyZWZsYW5nLG5hbWUscGFzc3dvcmQscGF0aG5hbWUscGluZyxwb3J0LHByb3RvY29sLHJlZmVycmVyUG9saWN5LHJlbCwlcmVsTGlzdCxyZXYsc2VhcmNoLHNoYXBlLHRhcmdldCx0ZXh0LHR5cGUsdXNlcm5hbWVcIixcImFyZWFeW0hUTUxFbGVtZW50XXxhbHQsY29vcmRzLGRvd25sb2FkLGhhc2gsaG9zdCxob3N0bmFtZSxocmVmLCFub0hyZWYscGFzc3dvcmQscGF0aG5hbWUscGluZyxwb3J0LHByb3RvY29sLHJlZmVycmVyUG9saWN5LHJlbCwlcmVsTGlzdCxzZWFyY2gsc2hhcGUsdGFyZ2V0LHVzZXJuYW1lXCIsXCJhdWRpb15tZWRpYXxcIixcImJyXltIVE1MRWxlbWVudF18Y2xlYXJcIixcImJhc2VeW0hUTUxFbGVtZW50XXxocmVmLHRhcmdldFwiLFwiYm9keV5bSFRNTEVsZW1lbnRdfGFMaW5rLGJhY2tncm91bmQsYmdDb2xvcixsaW5rLCphZnRlcnByaW50LCpiZWZvcmVwcmludCwqYmVmb3JldW5sb2FkLCpibHVyLCplcnJvciwqZm9jdXMsKmhhc2hjaGFuZ2UsKmxhbmd1YWdlY2hhbmdlLCpsb2FkLCptZXNzYWdlLCptZXNzYWdlZXJyb3IsKm9mZmxpbmUsKm9ubGluZSwqcGFnZWhpZGUsKnBhZ2VzaG93LCpwb3BzdGF0ZSwqcmVqZWN0aW9uaGFuZGxlZCwqcmVzaXplLCpzY3JvbGwsKnN0b3JhZ2UsKnVuaGFuZGxlZHJlamVjdGlvbiwqdW5sb2FkLHRleHQsdkxpbmtcIixcImJ1dHRvbl5bSFRNTEVsZW1lbnRdfCFkaXNhYmxlZCxmb3JtQWN0aW9uLGZvcm1FbmN0eXBlLGZvcm1NZXRob2QsIWZvcm1Ob1ZhbGlkYXRlLGZvcm1UYXJnZXQsbmFtZSx0eXBlLHZhbHVlXCIsXCJjYW52YXNeW0hUTUxFbGVtZW50XXwjaGVpZ2h0LCN3aWR0aFwiLFwiY29udGVudF5bSFRNTEVsZW1lbnRdfHNlbGVjdFwiLFwiZGxeW0hUTUxFbGVtZW50XXwhY29tcGFjdFwiLFwiZGF0YV5bSFRNTEVsZW1lbnRdfHZhbHVlXCIsXCJkYXRhbGlzdF5bSFRNTEVsZW1lbnRdfFwiLFwiZGV0YWlsc15bSFRNTEVsZW1lbnRdfCFvcGVuXCIsXCJkaWFsb2deW0hUTUxFbGVtZW50XXwhb3BlbixyZXR1cm5WYWx1ZVwiLFwiZGlyXltIVE1MRWxlbWVudF18IWNvbXBhY3RcIixcImRpdl5bSFRNTEVsZW1lbnRdfGFsaWduXCIsXCJlbWJlZF5bSFRNTEVsZW1lbnRdfGFsaWduLGhlaWdodCxuYW1lLHNyYyx0eXBlLHdpZHRoXCIsXCJmaWVsZHNldF5bSFRNTEVsZW1lbnRdfCFkaXNhYmxlZCxuYW1lXCIsXCJmb250XltIVE1MRWxlbWVudF18Y29sb3IsZmFjZSxzaXplXCIsXCJmb3JtXltIVE1MRWxlbWVudF18YWNjZXB0Q2hhcnNldCxhY3Rpb24sYXV0b2NvbXBsZXRlLGVuY29kaW5nLGVuY3R5cGUsbWV0aG9kLG5hbWUsIW5vVmFsaWRhdGUsdGFyZ2V0XCIsXCJmcmFtZV5bSFRNTEVsZW1lbnRdfGZyYW1lQm9yZGVyLGxvbmdEZXNjLG1hcmdpbkhlaWdodCxtYXJnaW5XaWR0aCxuYW1lLCFub1Jlc2l6ZSxzY3JvbGxpbmcsc3JjXCIsXCJmcmFtZXNldF5bSFRNTEVsZW1lbnRdfGNvbHMsKmFmdGVycHJpbnQsKmJlZm9yZXByaW50LCpiZWZvcmV1bmxvYWQsKmJsdXIsKmVycm9yLCpmb2N1cywqaGFzaGNoYW5nZSwqbGFuZ3VhZ2VjaGFuZ2UsKmxvYWQsKm1lc3NhZ2UsKm1lc3NhZ2VlcnJvciwqb2ZmbGluZSwqb25saW5lLCpwYWdlaGlkZSwqcGFnZXNob3csKnBvcHN0YXRlLCpyZWplY3Rpb25oYW5kbGVkLCpyZXNpemUsKnNjcm9sbCwqc3RvcmFnZSwqdW5oYW5kbGVkcmVqZWN0aW9uLCp1bmxvYWQscm93c1wiLFwiaHJeW0hUTUxFbGVtZW50XXxhbGlnbixjb2xvciwhbm9TaGFkZSxzaXplLHdpZHRoXCIsXCJoZWFkXltIVE1MRWxlbWVudF18XCIsXCJoMSxoMixoMyxoNCxoNSxoNl5bSFRNTEVsZW1lbnRdfGFsaWduXCIsXCJodG1sXltIVE1MRWxlbWVudF18dmVyc2lvblwiLFwiaWZyYW1lXltIVE1MRWxlbWVudF18YWxpZ24sYWxsb3csIWFsbG93RnVsbHNjcmVlbiwhYWxsb3dQYXltZW50UmVxdWVzdCxjc3AsZnJhbWVCb3JkZXIsaGVpZ2h0LGxvYWRpbmcsbG9uZ0Rlc2MsbWFyZ2luSGVpZ2h0LG1hcmdpbldpZHRoLG5hbWUscmVmZXJyZXJQb2xpY3ksJXNhbmRib3gsc2Nyb2xsaW5nLHNyYyxzcmNkb2Msd2lkdGhcIixcImltZ15bSFRNTEVsZW1lbnRdfGFsaWduLGFsdCxib3JkZXIsJWNyb3NzT3JpZ2luLGRlY29kaW5nLCNoZWlnaHQsI2hzcGFjZSwhaXNNYXAsbG9hZGluZyxsb25nRGVzYyxsb3dzcmMsbmFtZSxyZWZlcnJlclBvbGljeSxzaXplcyxzcmMsc3Jjc2V0LHVzZU1hcCwjdnNwYWNlLCN3aWR0aFwiLFwiaW5wdXReW0hUTUxFbGVtZW50XXxhY2NlcHQsYWxpZ24sYWx0LGF1dG9jb21wbGV0ZSwhY2hlY2tlZCwhZGVmYXVsdENoZWNrZWQsZGVmYXVsdFZhbHVlLGRpck5hbWUsIWRpc2FibGVkLCVmaWxlcyxmb3JtQWN0aW9uLGZvcm1FbmN0eXBlLGZvcm1NZXRob2QsIWZvcm1Ob1ZhbGlkYXRlLGZvcm1UYXJnZXQsI2hlaWdodCwhaW5jcmVtZW50YWwsIWluZGV0ZXJtaW5hdGUsbWF4LCNtYXhMZW5ndGgsbWluLCNtaW5MZW5ndGgsIW11bHRpcGxlLG5hbWUscGF0dGVybixwbGFjZWhvbGRlciwhcmVhZE9ubHksIXJlcXVpcmVkLHNlbGVjdGlvbkRpcmVjdGlvbiwjc2VsZWN0aW9uRW5kLCNzZWxlY3Rpb25TdGFydCwjc2l6ZSxzcmMsc3RlcCx0eXBlLHVzZU1hcCx2YWx1ZSwldmFsdWVBc0RhdGUsI3ZhbHVlQXNOdW1iZXIsI3dpZHRoXCIsXCJsaV5bSFRNTEVsZW1lbnRdfHR5cGUsI3ZhbHVlXCIsXCJsYWJlbF5bSFRNTEVsZW1lbnRdfGh0bWxGb3JcIixcImxlZ2VuZF5bSFRNTEVsZW1lbnRdfGFsaWduXCIsXCJsaW5rXltIVE1MRWxlbWVudF18YXMsY2hhcnNldCwlY3Jvc3NPcmlnaW4sIWRpc2FibGVkLGhyZWYsaHJlZmxhbmcsaW1hZ2VTaXplcyxpbWFnZVNyY3NldCxpbnRlZ3JpdHksbWVkaWEscmVmZXJyZXJQb2xpY3kscmVsLCVyZWxMaXN0LHJldiwlc2l6ZXMsdGFyZ2V0LHR5cGVcIixcIm1hcF5bSFRNTEVsZW1lbnRdfG5hbWVcIixcIm1hcnF1ZWVeW0hUTUxFbGVtZW50XXxiZWhhdmlvcixiZ0NvbG9yLGRpcmVjdGlvbixoZWlnaHQsI2hzcGFjZSwjbG9vcCwjc2Nyb2xsQW1vdW50LCNzY3JvbGxEZWxheSwhdHJ1ZVNwZWVkLCN2c3BhY2Usd2lkdGhcIixcIm1lbnVeW0hUTUxFbGVtZW50XXwhY29tcGFjdFwiLFwibWV0YV5bSFRNTEVsZW1lbnRdfGNvbnRlbnQsaHR0cEVxdWl2LG1lZGlhLG5hbWUsc2NoZW1lXCIsXCJtZXRlcl5bSFRNTEVsZW1lbnRdfCNoaWdoLCNsb3csI21heCwjbWluLCNvcHRpbXVtLCN2YWx1ZVwiLFwiaW5zLGRlbF5bSFRNTEVsZW1lbnRdfGNpdGUsZGF0ZVRpbWVcIixcIm9sXltIVE1MRWxlbWVudF18IWNvbXBhY3QsIXJldmVyc2VkLCNzdGFydCx0eXBlXCIsXCJvYmplY3ReW0hUTUxFbGVtZW50XXxhbGlnbixhcmNoaXZlLGJvcmRlcixjb2RlLGNvZGVCYXNlLGNvZGVUeXBlLGRhdGEsIWRlY2xhcmUsaGVpZ2h0LCNoc3BhY2UsbmFtZSxzdGFuZGJ5LHR5cGUsdXNlTWFwLCN2c3BhY2Usd2lkdGhcIixcIm9wdGdyb3VwXltIVE1MRWxlbWVudF18IWRpc2FibGVkLGxhYmVsXCIsXCJvcHRpb25eW0hUTUxFbGVtZW50XXwhZGVmYXVsdFNlbGVjdGVkLCFkaXNhYmxlZCxsYWJlbCwhc2VsZWN0ZWQsdGV4dCx2YWx1ZVwiLFwib3V0cHV0XltIVE1MRWxlbWVudF18ZGVmYXVsdFZhbHVlLCVodG1sRm9yLG5hbWUsdmFsdWVcIixcInBeW0hUTUxFbGVtZW50XXxhbGlnblwiLFwicGFyYW1eW0hUTUxFbGVtZW50XXxuYW1lLHR5cGUsdmFsdWUsdmFsdWVUeXBlXCIsXCJwaWN0dXJlXltIVE1MRWxlbWVudF18XCIsXCJwcmVeW0hUTUxFbGVtZW50XXwjd2lkdGhcIixcInByb2dyZXNzXltIVE1MRWxlbWVudF18I21heCwjdmFsdWVcIixcInEsYmxvY2txdW90ZSxjaXRlXltIVE1MRWxlbWVudF18XCIsXCJzY3JpcHReW0hUTUxFbGVtZW50XXwhYXN5bmMsY2hhcnNldCwlY3Jvc3NPcmlnaW4sIWRlZmVyLGV2ZW50LGh0bWxGb3IsaW50ZWdyaXR5LCFub01vZHVsZSwlcmVmZXJyZXJQb2xpY3ksc3JjLHRleHQsdHlwZVwiLFwic2VsZWN0XltIVE1MRWxlbWVudF18YXV0b2NvbXBsZXRlLCFkaXNhYmxlZCwjbGVuZ3RoLCFtdWx0aXBsZSxuYW1lLCFyZXF1aXJlZCwjc2VsZWN0ZWRJbmRleCwjc2l6ZSx2YWx1ZVwiLFwic2xvdF5bSFRNTEVsZW1lbnRdfG5hbWVcIixcInNvdXJjZV5bSFRNTEVsZW1lbnRdfCNoZWlnaHQsbWVkaWEsc2l6ZXMsc3JjLHNyY3NldCx0eXBlLCN3aWR0aFwiLFwic3Bhbl5bSFRNTEVsZW1lbnRdfFwiLFwic3R5bGVeW0hUTUxFbGVtZW50XXwhZGlzYWJsZWQsbWVkaWEsdHlwZVwiLFwiY2FwdGlvbl5bSFRNTEVsZW1lbnRdfGFsaWduXCIsXCJ0aCx0ZF5bSFRNTEVsZW1lbnRdfGFiYnIsYWxpZ24sYXhpcyxiZ0NvbG9yLGNoLGNoT2ZmLCNjb2xTcGFuLGhlYWRlcnMsaGVpZ2h0LCFub1dyYXAsI3Jvd1NwYW4sc2NvcGUsdkFsaWduLHdpZHRoXCIsXCJjb2wsY29sZ3JvdXBeW0hUTUxFbGVtZW50XXxhbGlnbixjaCxjaE9mZiwjc3Bhbix2QWxpZ24sd2lkdGhcIixcInRhYmxlXltIVE1MRWxlbWVudF18YWxpZ24sYmdDb2xvcixib3JkZXIsJWNhcHRpb24sY2VsbFBhZGRpbmcsY2VsbFNwYWNpbmcsZnJhbWUscnVsZXMsc3VtbWFyeSwldEZvb3QsJXRIZWFkLHdpZHRoXCIsXCJ0cl5bSFRNTEVsZW1lbnRdfGFsaWduLGJnQ29sb3IsY2gsY2hPZmYsdkFsaWduXCIsXCJ0Zm9vdCx0aGVhZCx0Ym9keV5bSFRNTEVsZW1lbnRdfGFsaWduLGNoLGNoT2ZmLHZBbGlnblwiLFwidGVtcGxhdGVeW0hUTUxFbGVtZW50XXxcIixcInRleHRhcmVhXltIVE1MRWxlbWVudF18YXV0b2NvbXBsZXRlLCNjb2xzLGRlZmF1bHRWYWx1ZSxkaXJOYW1lLCFkaXNhYmxlZCwjbWF4TGVuZ3RoLCNtaW5MZW5ndGgsbmFtZSxwbGFjZWhvbGRlciwhcmVhZE9ubHksIXJlcXVpcmVkLCNyb3dzLHNlbGVjdGlvbkRpcmVjdGlvbiwjc2VsZWN0aW9uRW5kLCNzZWxlY3Rpb25TdGFydCx2YWx1ZSx3cmFwXCIsXCJ0aW1lXltIVE1MRWxlbWVudF18ZGF0ZVRpbWVcIixcInRpdGxlXltIVE1MRWxlbWVudF18dGV4dFwiLFwidHJhY2teW0hUTUxFbGVtZW50XXwhZGVmYXVsdCxraW5kLGxhYmVsLHNyYyxzcmNsYW5nXCIsXCJ1bF5bSFRNTEVsZW1lbnRdfCFjb21wYWN0LHR5cGVcIixcInVua25vd25eW0hUTUxFbGVtZW50XXxcIixcInZpZGVvXm1lZGlhfCFkaXNhYmxlUGljdHVyZUluUGljdHVyZSwjaGVpZ2h0LCplbnRlcnBpY3R1cmVpbnBpY3R1cmUsKmxlYXZlcGljdHVyZWlucGljdHVyZSwhcGxheXNJbmxpbmUscG9zdGVyLCN3aWR0aFwiLFwiOnN2ZzphXjpzdmc6Z3JhcGhpY3N8XCIsXCI6c3ZnOmFuaW1hdGVeOnN2ZzphbmltYXRpb258XCIsXCI6c3ZnOmFuaW1hdGVNb3Rpb25eOnN2ZzphbmltYXRpb258XCIsXCI6c3ZnOmFuaW1hdGVUcmFuc2Zvcm1eOnN2ZzphbmltYXRpb258XCIsXCI6c3ZnOmNpcmNsZV46c3ZnOmdlb21ldHJ5fFwiLFwiOnN2ZzpjbGlwUGF0aF46c3ZnOmdyYXBoaWNzfFwiLFwiOnN2ZzpkZWZzXjpzdmc6Z3JhcGhpY3N8XCIsXCI6c3ZnOmRlc2NeOnN2Zzp8XCIsXCI6c3ZnOmRpc2NhcmReOnN2Zzp8XCIsXCI6c3ZnOmVsbGlwc2VeOnN2ZzpnZW9tZXRyeXxcIixcIjpzdmc6ZmVCbGVuZF46c3ZnOnxcIixcIjpzdmc6ZmVDb2xvck1hdHJpeF46c3ZnOnxcIixcIjpzdmc6ZmVDb21wb25lbnRUcmFuc2Zlcl46c3ZnOnxcIixcIjpzdmc6ZmVDb21wb3NpdGVeOnN2Zzp8XCIsXCI6c3ZnOmZlQ29udm9sdmVNYXRyaXheOnN2Zzp8XCIsXCI6c3ZnOmZlRGlmZnVzZUxpZ2h0aW5nXjpzdmc6fFwiLFwiOnN2ZzpmZURpc3BsYWNlbWVudE1hcF46c3ZnOnxcIixcIjpzdmc6ZmVEaXN0YW50TGlnaHReOnN2Zzp8XCIsXCI6c3ZnOmZlRHJvcFNoYWRvd146c3ZnOnxcIixcIjpzdmc6ZmVGbG9vZF46c3ZnOnxcIixcIjpzdmc6ZmVGdW5jQV46c3ZnOmNvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb258XCIsXCI6c3ZnOmZlRnVuY0JeOnN2Zzpjb21wb25lbnRUcmFuc2ZlckZ1bmN0aW9ufFwiLFwiOnN2ZzpmZUZ1bmNHXjpzdmc6Y29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbnxcIixcIjpzdmc6ZmVGdW5jUl46c3ZnOmNvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb258XCIsXCI6c3ZnOmZlR2F1c3NpYW5CbHVyXjpzdmc6fFwiLFwiOnN2ZzpmZUltYWdlXjpzdmc6fFwiLFwiOnN2ZzpmZU1lcmdlXjpzdmc6fFwiLFwiOnN2ZzpmZU1lcmdlTm9kZV46c3ZnOnxcIixcIjpzdmc6ZmVNb3JwaG9sb2d5Xjpzdmc6fFwiLFwiOnN2ZzpmZU9mZnNldF46c3ZnOnxcIixcIjpzdmc6ZmVQb2ludExpZ2h0Xjpzdmc6fFwiLFwiOnN2ZzpmZVNwZWN1bGFyTGlnaHRpbmdeOnN2Zzp8XCIsXCI6c3ZnOmZlU3BvdExpZ2h0Xjpzdmc6fFwiLFwiOnN2ZzpmZVRpbGVeOnN2Zzp8XCIsXCI6c3ZnOmZlVHVyYnVsZW5jZV46c3ZnOnxcIixcIjpzdmc6ZmlsdGVyXjpzdmc6fFwiLFwiOnN2Zzpmb3JlaWduT2JqZWN0Xjpzdmc6Z3JhcGhpY3N8XCIsXCI6c3ZnOmdeOnN2ZzpncmFwaGljc3xcIixcIjpzdmc6aW1hZ2VeOnN2ZzpncmFwaGljc3xkZWNvZGluZ1wiLFwiOnN2ZzpsaW5lXjpzdmc6Z2VvbWV0cnl8XCIsXCI6c3ZnOmxpbmVhckdyYWRpZW50Xjpzdmc6Z3JhZGllbnR8XCIsXCI6c3ZnOm1wYXRoXjpzdmc6fFwiLFwiOnN2ZzptYXJrZXJeOnN2Zzp8XCIsXCI6c3ZnOm1hc2teOnN2Zzp8XCIsXCI6c3ZnOm1ldGFkYXRhXjpzdmc6fFwiLFwiOnN2ZzpwYXRoXjpzdmc6Z2VvbWV0cnl8XCIsXCI6c3ZnOnBhdHRlcm5eOnN2Zzp8XCIsXCI6c3ZnOnBvbHlnb25eOnN2ZzpnZW9tZXRyeXxcIixcIjpzdmc6cG9seWxpbmVeOnN2ZzpnZW9tZXRyeXxcIixcIjpzdmc6cmFkaWFsR3JhZGllbnReOnN2ZzpncmFkaWVudHxcIixcIjpzdmc6cmVjdF46c3ZnOmdlb21ldHJ5fFwiLFwiOnN2ZzpzdmdeOnN2ZzpncmFwaGljc3wjY3VycmVudFNjYWxlLCN6b29tQW5kUGFuXCIsXCI6c3ZnOnNjcmlwdF46c3ZnOnx0eXBlXCIsXCI6c3ZnOnNldF46c3ZnOmFuaW1hdGlvbnxcIixcIjpzdmc6c3RvcF46c3ZnOnxcIixcIjpzdmc6c3R5bGVeOnN2Zzp8IWRpc2FibGVkLG1lZGlhLHRpdGxlLHR5cGVcIixcIjpzdmc6c3dpdGNoXjpzdmc6Z3JhcGhpY3N8XCIsXCI6c3ZnOnN5bWJvbF46c3ZnOnxcIixcIjpzdmc6dHNwYW5eOnN2Zzp0ZXh0UG9zaXRpb25pbmd8XCIsXCI6c3ZnOnRleHReOnN2Zzp0ZXh0UG9zaXRpb25pbmd8XCIsXCI6c3ZnOnRleHRQYXRoXjpzdmc6dGV4dENvbnRlbnR8XCIsXCI6c3ZnOnRpdGxlXjpzdmc6fFwiLFwiOnN2Zzp1c2VeOnN2ZzpncmFwaGljc3xcIixcIjpzdmc6dmlld146c3ZnOnwjem9vbUFuZFBhblwiLFwiZGF0YV5bSFRNTEVsZW1lbnRdfHZhbHVlXCIsXCJrZXlnZW5eW0hUTUxFbGVtZW50XXwhYXV0b2ZvY3VzLGNoYWxsZW5nZSwhZGlzYWJsZWQsZm9ybSxrZXl0eXBlLG5hbWVcIixcIm1lbnVpdGVtXltIVE1MRWxlbWVudF18dHlwZSxsYWJlbCxpY29uLCFkaXNhYmxlZCwhY2hlY2tlZCxyYWRpb2dyb3VwLCFkZWZhdWx0XCIsXCJzdW1tYXJ5XltIVE1MRWxlbWVudF18XCIsXCJ0aW1lXltIVE1MRWxlbWVudF18ZGF0ZVRpbWVcIixcIjpzdmc6Y3Vyc29yXjpzdmc6fFwiLFwiOm1hdGg6XltIVE1MRWxlbWVudF18IWF1dG9mb2N1cyxub25jZSwqYWJvcnQsKmFuaW1hdGlvbmVuZCwqYW5pbWF0aW9uaXRlcmF0aW9uLCphbmltYXRpb25zdGFydCwqYXV4Y2xpY2ssKmJlZm9yZWlucHV0LCpiZWZvcmVtYXRjaCwqYmVmb3JldG9nZ2xlLCpiZWZvcmV4cnNlbGVjdCwqYmx1ciwqY2FuY2VsLCpjYW5wbGF5LCpjYW5wbGF5dGhyb3VnaCwqY2hhbmdlLCpjbGljaywqY2xvc2UsKmNvbnRlbnR2aXNpYmlsaXR5YXV0b3N0YXRlY2hhbmdlLCpjb250ZXh0bG9zdCwqY29udGV4dG1lbnUsKmNvbnRleHRyZXN0b3JlZCwqY29weSwqY3VlY2hhbmdlLCpjdXQsKmRibGNsaWNrLCpkcmFnLCpkcmFnZW5kLCpkcmFnZW50ZXIsKmRyYWdsZWF2ZSwqZHJhZ292ZXIsKmRyYWdzdGFydCwqZHJvcCwqZHVyYXRpb25jaGFuZ2UsKmVtcHRpZWQsKmVuZGVkLCplcnJvciwqZm9jdXMsKmZvcm1kYXRhLCpnb3Rwb2ludGVyY2FwdHVyZSwqaW5wdXQsKmludmFsaWQsKmtleWRvd24sKmtleXByZXNzLCprZXl1cCwqbG9hZCwqbG9hZGVkZGF0YSwqbG9hZGVkbWV0YWRhdGEsKmxvYWRzdGFydCwqbG9zdHBvaW50ZXJjYXB0dXJlLCptb3VzZWRvd24sKm1vdXNlZW50ZXIsKm1vdXNlbGVhdmUsKm1vdXNlbW92ZSwqbW91c2VvdXQsKm1vdXNlb3ZlciwqbW91c2V1cCwqbW91c2V3aGVlbCwqcGFzdGUsKnBhdXNlLCpwbGF5LCpwbGF5aW5nLCpwb2ludGVyY2FuY2VsLCpwb2ludGVyZG93biwqcG9pbnRlcmVudGVyLCpwb2ludGVybGVhdmUsKnBvaW50ZXJtb3ZlLCpwb2ludGVyb3V0LCpwb2ludGVyb3ZlciwqcG9pbnRlcnJhd3VwZGF0ZSwqcG9pbnRlcnVwLCpwcm9ncmVzcywqcmF0ZWNoYW5nZSwqcmVzZXQsKnJlc2l6ZSwqc2Nyb2xsLCpzY3JvbGxlbmQsKnNlY3VyaXR5cG9saWN5dmlvbGF0aW9uLCpzZWVrZWQsKnNlZWtpbmcsKnNlbGVjdCwqc2VsZWN0aW9uY2hhbmdlLCpzZWxlY3RzdGFydCwqc2xvdGNoYW5nZSwqc3RhbGxlZCwqc3VibWl0LCpzdXNwZW5kLCp0aW1ldXBkYXRlLCp0b2dnbGUsKnRyYW5zaXRpb25jYW5jZWwsKnRyYW5zaXRpb25lbmQsKnRyYW5zaXRpb25ydW4sKnRyYW5zaXRpb25zdGFydCwqdm9sdW1lY2hhbmdlLCp3YWl0aW5nLCp3ZWJraXRhbmltYXRpb25lbmQsKndlYmtpdGFuaW1hdGlvbml0ZXJhdGlvbiwqd2Via2l0YW5pbWF0aW9uc3RhcnQsKndlYmtpdHRyYW5zaXRpb25lbmQsKndoZWVsLCVzdHlsZSwjdGFiSW5kZXhcIixcIjptYXRoOm1hdGheOm1hdGg6fFwiLFwiOm1hdGg6bWFjdGlvbl46bWF0aDp8XCIsXCI6bWF0aDptZW5jbG9zZV46bWF0aDp8XCIsXCI6bWF0aDptZXJyb3JeOm1hdGg6fFwiLFwiOm1hdGg6bWZlbmNlZF46bWF0aDp8XCIsXCI6bWF0aDptZnJhY146bWF0aDp8XCIsXCI6bWF0aDptaV46bWF0aDp8XCIsXCI6bWF0aDptbXVsdGlzY3JpcHRzXjptYXRoOnxcIixcIjptYXRoOm1uXjptYXRoOnxcIixcIjptYXRoOm1vXjptYXRoOnxcIixcIjptYXRoOm1vdmVyXjptYXRoOnxcIixcIjptYXRoOm1wYWRkZWReOm1hdGg6fFwiLFwiOm1hdGg6bXBoYW50b21eOm1hdGg6fFwiLFwiOm1hdGg6bXJvb3ReOm1hdGg6fFwiLFwiOm1hdGg6bXJvd146bWF0aDp8XCIsXCI6bWF0aDptc146bWF0aDp8XCIsXCI6bWF0aDptc3BhY2VeOm1hdGg6fFwiLFwiOm1hdGg6bXNxcnReOm1hdGg6fFwiLFwiOm1hdGg6bXN0eWxlXjptYXRoOnxcIixcIjptYXRoOm1zdWJeOm1hdGg6fFwiLFwiOm1hdGg6bXN1YnN1cF46bWF0aDp8XCIsXCI6bWF0aDptc3VwXjptYXRoOnxcIixcIjptYXRoOm10YWJsZV46bWF0aDp8XCIsXCI6bWF0aDptdGReOm1hdGg6fFwiLFwiOm1hdGg6bXRleHReOm1hdGg6fFwiLFwiOm1hdGg6bXRyXjptYXRoOnxcIixcIjptYXRoOm11bmRlcl46bWF0aDp8XCIsXCI6bWF0aDptdW5kZXJvdmVyXjptYXRoOnxcIixcIjptYXRoOnNlbWFudGljc146bWF0aDp8XCJdLHhzPW5ldyBNYXAoT2JqZWN0LmVudHJpZXMoe2NsYXNzOlwiY2xhc3NOYW1lXCIsZm9yOlwiaHRtbEZvclwiLGZvcm1hY3Rpb246XCJmb3JtQWN0aW9uXCIsaW5uZXJIdG1sOlwiaW5uZXJIVE1MXCIscmVhZG9ubHk6XCJyZWFkT25seVwiLHRhYmluZGV4OlwidGFiSW5kZXhcIn0pKSxxYT1BcnJheS5mcm9tKHhzKS5yZWR1Y2UoKHQsW2Uscl0pPT4odC5zZXQoZSxyKSx0KSxuZXcgTWFwKSxxdD1jbGFzcyBleHRlbmRzIE10e2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLl9zY2hlbWE9bmV3IE1hcCx0aGlzLl9ldmVudFNjaGVtYT1uZXcgTWFwLE1hLmZvckVhY2goZT0+e2xldCByPW5ldyBNYXAsbj1uZXcgU2V0LFtzLGldPWUuc3BsaXQoXCJ8XCIpLGE9aS5zcGxpdChcIixcIiksW28sdV09cy5zcGxpdChcIl5cIik7by5zcGxpdChcIixcIikuZm9yRWFjaChsPT57dGhpcy5fc2NoZW1hLnNldChsLnRvTG93ZXJDYXNlKCksciksdGhpcy5fZXZlbnRTY2hlbWEuc2V0KGwudG9Mb3dlckNhc2UoKSxuKX0pO2xldCBwPXUmJnRoaXMuX3NjaGVtYS5nZXQodS50b0xvd2VyQ2FzZSgpKTtpZihwKXtmb3IobGV0W2wsZl1vZiBwKXIuc2V0KGwsZik7Zm9yKGxldCBsIG9mIHRoaXMuX2V2ZW50U2NoZW1hLmdldCh1LnRvTG93ZXJDYXNlKCkpKW4uYWRkKGwpfWEuZm9yRWFjaChsPT57aWYobC5sZW5ndGg+MClzd2l0Y2gobFswXSl7Y2FzZVwiKlwiOm4uYWRkKGwuc3Vic3RyaW5nKDEpKTticmVhaztjYXNlXCIhXCI6ci5zZXQobC5zdWJzdHJpbmcoMSksSWEpO2JyZWFrO2Nhc2VcIiNcIjpyLnNldChsLnN1YnN0cmluZygxKSxSYSk7YnJlYWs7Y2FzZVwiJVwiOnIuc2V0KGwuc3Vic3RyaW5nKDEpLCRhKTticmVhaztkZWZhdWx0OnIuc2V0KGwsT2EpfX0pfSl9aGFzUHJvcGVydHkoZSxyLG4pe2lmKG4uc29tZShpPT5pLm5hbWU9PT1Uci5uYW1lKSlyZXR1cm4hMDtpZihlLmluZGV4T2YoXCItXCIpPi0xKXtpZih4cihlKXx8a3IoZSkpcmV0dXJuITE7aWYobi5zb21lKGk9PmkubmFtZT09PWJyLm5hbWUpKXJldHVybiEwfXJldHVybih0aGlzLl9zY2hlbWEuZ2V0KGUudG9Mb3dlckNhc2UoKSl8fHRoaXMuX3NjaGVtYS5nZXQoXCJ1bmtub3duXCIpKS5oYXMocil9aGFzRWxlbWVudChlLHIpe3JldHVybiByLnNvbWUobj0+bi5uYW1lPT09VHIubmFtZSl8fGUuaW5kZXhPZihcIi1cIik+LTEmJih4cihlKXx8a3IoZSl8fHIuc29tZShuPT5uLm5hbWU9PT1ici5uYW1lKSk/ITA6dGhpcy5fc2NoZW1hLmhhcyhlLnRvTG93ZXJDYXNlKCkpfXNlY3VyaXR5Q29udGV4dChlLHIsbil7biYmKHI9dGhpcy5nZXRNYXBwZWRQcm9wTmFtZShyKSksZT1lLnRvTG93ZXJDYXNlKCkscj1yLnRvTG93ZXJDYXNlKCk7bGV0IHM9QnIoKVtlK1wifFwiK3JdO3JldHVybiBzfHwocz1CcigpW1wiKnxcIityXSxzfHxaLk5PTkUpfWdldE1hcHBlZFByb3BOYW1lKGUpe3JldHVybiB4cy5nZXQoZSk/P2V9Z2V0RGVmYXVsdENvbXBvbmVudEVsZW1lbnROYW1lKCl7cmV0dXJuXCJuZy1jb21wb25lbnRcIn12YWxpZGF0ZVByb3BlcnR5KGUpe3JldHVybiBlLnRvTG93ZXJDYXNlKCkuc3RhcnRzV2l0aChcIm9uXCIpP3tlcnJvcjohMCxtc2c6YEJpbmRpbmcgdG8gZXZlbnQgcHJvcGVydHkgJyR7ZX0nIGlzIGRpc2FsbG93ZWQgZm9yIHNlY3VyaXR5IHJlYXNvbnMsIHBsZWFzZSB1c2UgKCR7ZS5zbGljZSgyKX0pPS4uLlxuSWYgJyR7ZX0nIGlzIGEgZGlyZWN0aXZlIGlucHV0LCBtYWtlIHN1cmUgdGhlIGRpcmVjdGl2ZSBpcyBpbXBvcnRlZCBieSB0aGUgY3VycmVudCBtb2R1bGUuYH06e2Vycm9yOiExfX12YWxpZGF0ZUF0dHJpYnV0ZShlKXtyZXR1cm4gZS50b0xvd2VyQ2FzZSgpLnN0YXJ0c1dpdGgoXCJvblwiKT97ZXJyb3I6ITAsbXNnOmBCaW5kaW5nIHRvIGV2ZW50IGF0dHJpYnV0ZSAnJHtlfScgaXMgZGlzYWxsb3dlZCBmb3Igc2VjdXJpdHkgcmVhc29ucywgcGxlYXNlIHVzZSAoJHtlLnNsaWNlKDIpfSk9Li4uYH06e2Vycm9yOiExfX1hbGxLbm93bkVsZW1lbnROYW1lcygpe3JldHVybiBBcnJheS5mcm9tKHRoaXMuX3NjaGVtYS5rZXlzKCkpfWFsbEtub3duQXR0cmlidXRlc09mRWxlbWVudChlKXtsZXQgcj10aGlzLl9zY2hlbWEuZ2V0KGUudG9Mb3dlckNhc2UoKSl8fHRoaXMuX3NjaGVtYS5nZXQoXCJ1bmtub3duXCIpO3JldHVybiBBcnJheS5mcm9tKHIua2V5cygpKS5tYXAobj0+cWEuZ2V0KG4pPz9uKX1hbGxLbm93bkV2ZW50c09mRWxlbWVudChlKXtyZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9ldmVudFNjaGVtYS5nZXQoZS50b0xvd2VyQ2FzZSgpKT8/W10pfW5vcm1hbGl6ZUFuaW1hdGlvblN0eWxlUHJvcGVydHkoZSl7cmV0dXJuIFNzKGUpfW5vcm1hbGl6ZUFuaW1hdGlvblN0eWxlVmFsdWUoZSxyLG4pe2xldCBzPVwiXCIsaT1uLnRvU3RyaW5nKCkudHJpbSgpLGE9bnVsbDtpZihIYShlKSYmbiE9PTAmJm4hPT1cIjBcIilpZih0eXBlb2Ygbj09XCJudW1iZXJcIilzPVwicHhcIjtlbHNle2xldCBvPW4ubWF0Y2goL15bKy1dP1tcXGRcXC5dKyhbYS16XSopJC8pO28mJm9bMV0ubGVuZ3RoPT0wJiYoYT1gUGxlYXNlIHByb3ZpZGUgYSBDU1MgdW5pdCB2YWx1ZSBmb3IgJHtyfToke259YCl9cmV0dXJue2Vycm9yOmEsdmFsdWU6aStzfX19O2Z1bmN0aW9uIEhhKHQpe3N3aXRjaCh0KXtjYXNlXCJ3aWR0aFwiOmNhc2VcImhlaWdodFwiOmNhc2VcIm1pbldpZHRoXCI6Y2FzZVwibWluSGVpZ2h0XCI6Y2FzZVwibWF4V2lkdGhcIjpjYXNlXCJtYXhIZWlnaHRcIjpjYXNlXCJsZWZ0XCI6Y2FzZVwidG9wXCI6Y2FzZVwiYm90dG9tXCI6Y2FzZVwicmlnaHRcIjpjYXNlXCJmb250U2l6ZVwiOmNhc2VcIm91dGxpbmVXaWR0aFwiOmNhc2VcIm91dGxpbmVPZmZzZXRcIjpjYXNlXCJwYWRkaW5nVG9wXCI6Y2FzZVwicGFkZGluZ0xlZnRcIjpjYXNlXCJwYWRkaW5nQm90dG9tXCI6Y2FzZVwicGFkZGluZ1JpZ2h0XCI6Y2FzZVwibWFyZ2luVG9wXCI6Y2FzZVwibWFyZ2luTGVmdFwiOmNhc2VcIm1hcmdpbkJvdHRvbVwiOmNhc2VcIm1hcmdpblJpZ2h0XCI6Y2FzZVwiYm9yZGVyUmFkaXVzXCI6Y2FzZVwiYm9yZGVyV2lkdGhcIjpjYXNlXCJib3JkZXJUb3BXaWR0aFwiOmNhc2VcImJvcmRlckxlZnRXaWR0aFwiOmNhc2VcImJvcmRlclJpZ2h0V2lkdGhcIjpjYXNlXCJib3JkZXJCb3R0b21XaWR0aFwiOmNhc2VcInRleHRJbmRlbnRcIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX12YXIgbT1jbGFzc3tjb25zdHJ1Y3Rvcih7Y2xvc2VkQnlDaGlsZHJlbjplLGltcGxpY2l0TmFtZXNwYWNlUHJlZml4OnIsY29udGVudFR5cGU6bj1JLlBBUlNBQkxFX0RBVEEsY2xvc2VkQnlQYXJlbnQ6cz0hMSxpc1ZvaWQ6aT0hMSxpZ25vcmVGaXJzdExmOmE9ITEscHJldmVudE5hbWVzcGFjZUluaGVyaXRhbmNlOm89ITEsY2FuU2VsZkNsb3NlOnU9ITF9PXt9KXt0aGlzLmNsb3NlZEJ5Q2hpbGRyZW49e30sdGhpcy5jbG9zZWRCeVBhcmVudD0hMSxlJiZlLmxlbmd0aD4wJiZlLmZvckVhY2gocD0+dGhpcy5jbG9zZWRCeUNoaWxkcmVuW3BdPSEwKSx0aGlzLmlzVm9pZD1pLHRoaXMuY2xvc2VkQnlQYXJlbnQ9c3x8aSx0aGlzLmltcGxpY2l0TmFtZXNwYWNlUHJlZml4PXJ8fG51bGwsdGhpcy5jb250ZW50VHlwZT1uLHRoaXMuaWdub3JlRmlyc3RMZj1hLHRoaXMucHJldmVudE5hbWVzcGFjZUluaGVyaXRhbmNlPW8sdGhpcy5jYW5TZWxmQ2xvc2U9dT8/aX1pc0Nsb3NlZEJ5Q2hpbGQoZSl7cmV0dXJuIHRoaXMuaXNWb2lkfHxlLnRvTG93ZXJDYXNlKClpbiB0aGlzLmNsb3NlZEJ5Q2hpbGRyZW59Z2V0Q29udGVudFR5cGUoZSl7cmV0dXJuIHR5cGVvZiB0aGlzLmNvbnRlbnRUeXBlPT1cIm9iamVjdFwiPyhlPT09dm9pZCAwP3ZvaWQgMDp0aGlzLmNvbnRlbnRUeXBlW2VdKT8/dGhpcy5jb250ZW50VHlwZS5kZWZhdWx0OnRoaXMuY29udGVudFR5cGV9fSxrcyxsdDtmdW5jdGlvbiAkZSh0KXtyZXR1cm4gbHR8fChrcz1uZXcgbSh7Y2FuU2VsZkNsb3NlOiEwfSksbHQ9T2JqZWN0LmFzc2lnbihPYmplY3QuY3JlYXRlKG51bGwpLHtiYXNlOm5ldyBtKHtpc1ZvaWQ6ITB9KSxtZXRhOm5ldyBtKHtpc1ZvaWQ6ITB9KSxhcmVhOm5ldyBtKHtpc1ZvaWQ6ITB9KSxlbWJlZDpuZXcgbSh7aXNWb2lkOiEwfSksbGluazpuZXcgbSh7aXNWb2lkOiEwfSksaW1nOm5ldyBtKHtpc1ZvaWQ6ITB9KSxpbnB1dDpuZXcgbSh7aXNWb2lkOiEwfSkscGFyYW06bmV3IG0oe2lzVm9pZDohMH0pLGhyOm5ldyBtKHtpc1ZvaWQ6ITB9KSxicjpuZXcgbSh7aXNWb2lkOiEwfSksc291cmNlOm5ldyBtKHtpc1ZvaWQ6ITB9KSx0cmFjazpuZXcgbSh7aXNWb2lkOiEwfSksd2JyOm5ldyBtKHtpc1ZvaWQ6ITB9KSxwOm5ldyBtKHtjbG9zZWRCeUNoaWxkcmVuOltcImFkZHJlc3NcIixcImFydGljbGVcIixcImFzaWRlXCIsXCJibG9ja3F1b3RlXCIsXCJkaXZcIixcImRsXCIsXCJmaWVsZHNldFwiLFwiZm9vdGVyXCIsXCJmb3JtXCIsXCJoMVwiLFwiaDJcIixcImgzXCIsXCJoNFwiLFwiaDVcIixcImg2XCIsXCJoZWFkZXJcIixcImhncm91cFwiLFwiaHJcIixcIm1haW5cIixcIm5hdlwiLFwib2xcIixcInBcIixcInByZVwiLFwic2VjdGlvblwiLFwidGFibGVcIixcInVsXCJdLGNsb3NlZEJ5UGFyZW50OiEwfSksdGhlYWQ6bmV3IG0oe2Nsb3NlZEJ5Q2hpbGRyZW46W1widGJvZHlcIixcInRmb290XCJdfSksdGJvZHk6bmV3IG0oe2Nsb3NlZEJ5Q2hpbGRyZW46W1widGJvZHlcIixcInRmb290XCJdLGNsb3NlZEJ5UGFyZW50OiEwfSksdGZvb3Q6bmV3IG0oe2Nsb3NlZEJ5Q2hpbGRyZW46W1widGJvZHlcIl0sY2xvc2VkQnlQYXJlbnQ6ITB9KSx0cjpuZXcgbSh7Y2xvc2VkQnlDaGlsZHJlbjpbXCJ0clwiXSxjbG9zZWRCeVBhcmVudDohMH0pLHRkOm5ldyBtKHtjbG9zZWRCeUNoaWxkcmVuOltcInRkXCIsXCJ0aFwiXSxjbG9zZWRCeVBhcmVudDohMH0pLHRoOm5ldyBtKHtjbG9zZWRCeUNoaWxkcmVuOltcInRkXCIsXCJ0aFwiXSxjbG9zZWRCeVBhcmVudDohMH0pLGNvbDpuZXcgbSh7aXNWb2lkOiEwfSksc3ZnOm5ldyBtKHtpbXBsaWNpdE5hbWVzcGFjZVByZWZpeDpcInN2Z1wifSksZm9yZWlnbk9iamVjdDpuZXcgbSh7aW1wbGljaXROYW1lc3BhY2VQcmVmaXg6XCJzdmdcIixwcmV2ZW50TmFtZXNwYWNlSW5oZXJpdGFuY2U6ITB9KSxtYXRoOm5ldyBtKHtpbXBsaWNpdE5hbWVzcGFjZVByZWZpeDpcIm1hdGhcIn0pLGxpOm5ldyBtKHtjbG9zZWRCeUNoaWxkcmVuOltcImxpXCJdLGNsb3NlZEJ5UGFyZW50OiEwfSksZHQ6bmV3IG0oe2Nsb3NlZEJ5Q2hpbGRyZW46W1wiZHRcIixcImRkXCJdfSksZGQ6bmV3IG0oe2Nsb3NlZEJ5Q2hpbGRyZW46W1wiZHRcIixcImRkXCJdLGNsb3NlZEJ5UGFyZW50OiEwfSkscmI6bmV3IG0oe2Nsb3NlZEJ5Q2hpbGRyZW46W1wicmJcIixcInJ0XCIsXCJydGNcIixcInJwXCJdLGNsb3NlZEJ5UGFyZW50OiEwfSkscnQ6bmV3IG0oe2Nsb3NlZEJ5Q2hpbGRyZW46W1wicmJcIixcInJ0XCIsXCJydGNcIixcInJwXCJdLGNsb3NlZEJ5UGFyZW50OiEwfSkscnRjOm5ldyBtKHtjbG9zZWRCeUNoaWxkcmVuOltcInJiXCIsXCJydGNcIixcInJwXCJdLGNsb3NlZEJ5UGFyZW50OiEwfSkscnA6bmV3IG0oe2Nsb3NlZEJ5Q2hpbGRyZW46W1wicmJcIixcInJ0XCIsXCJydGNcIixcInJwXCJdLGNsb3NlZEJ5UGFyZW50OiEwfSksb3B0Z3JvdXA6bmV3IG0oe2Nsb3NlZEJ5Q2hpbGRyZW46W1wib3B0Z3JvdXBcIl0sY2xvc2VkQnlQYXJlbnQ6ITB9KSxvcHRpb246bmV3IG0oe2Nsb3NlZEJ5Q2hpbGRyZW46W1wib3B0aW9uXCIsXCJvcHRncm91cFwiXSxjbG9zZWRCeVBhcmVudDohMH0pLHByZTpuZXcgbSh7aWdub3JlRmlyc3RMZjohMH0pLGxpc3Rpbmc6bmV3IG0oe2lnbm9yZUZpcnN0TGY6ITB9KSxzdHlsZTpuZXcgbSh7Y29udGVudFR5cGU6SS5SQVdfVEVYVH0pLHNjcmlwdDpuZXcgbSh7Y29udGVudFR5cGU6SS5SQVdfVEVYVH0pLHRpdGxlOm5ldyBtKHtjb250ZW50VHlwZTp7ZGVmYXVsdDpJLkVTQ0FQQUJMRV9SQVdfVEVYVCxzdmc6SS5QQVJTQUJMRV9EQVRBfX0pLHRleHRhcmVhOm5ldyBtKHtjb250ZW50VHlwZTpJLkVTQ0FQQUJMRV9SQVdfVEVYVCxpZ25vcmVGaXJzdExmOiEwfSl9KSxuZXcgcXQoKS5hbGxLbm93bkVsZW1lbnROYW1lcygpLmZvckVhY2goZT0+eyFsdFtlXSYmUmUoZSk9PT1udWxsJiYobHRbZV09bmV3IG0oe2NhblNlbGZDbG9zZTohMX0pKX0pKSxsdFt0XT8/a3N9dmFyIGFlPWNsYXNze2NvbnN0cnVjdG9yKGUscil7dGhpcy5zb3VyY2VTcGFuPWUsdGhpcy5pMThuPXJ9fSxIdD1jbGFzcyBleHRlbmRzIGFle2NvbnN0cnVjdG9yKGUscixuLHMpe3N1cGVyKHIscyksdGhpcy52YWx1ZT1lLHRoaXMudG9rZW5zPW4sdGhpcy50eXBlPVwidGV4dFwifXZpc2l0KGUscil7cmV0dXJuIGUudmlzaXRUZXh0KHRoaXMscil9fSxWdD1jbGFzcyBleHRlbmRzIGFle2NvbnN0cnVjdG9yKGUscixuLHMpe3N1cGVyKHIscyksdGhpcy52YWx1ZT1lLHRoaXMudG9rZW5zPW4sdGhpcy50eXBlPVwiY2RhdGFcIn12aXNpdChlLHIpe3JldHVybiBlLnZpc2l0Q2RhdGEodGhpcyxyKX19LFV0PWNsYXNzIGV4dGVuZHMgYWV7Y29uc3RydWN0b3IoZSxyLG4scyxpLGEpe3N1cGVyKHMsYSksdGhpcy5zd2l0Y2hWYWx1ZT1lLHRoaXMudHlwZT1yLHRoaXMuY2FzZXM9bix0aGlzLnN3aXRjaFZhbHVlU291cmNlU3Bhbj1pfXZpc2l0KGUscil7cmV0dXJuIGUudmlzaXRFeHBhbnNpb24odGhpcyxyKX19LFd0PWNsYXNze2NvbnN0cnVjdG9yKGUscixuLHMsaSl7dGhpcy52YWx1ZT1lLHRoaXMuZXhwcmVzc2lvbj1yLHRoaXMuc291cmNlU3Bhbj1uLHRoaXMudmFsdWVTb3VyY2VTcGFuPXMsdGhpcy5leHBTb3VyY2VTcGFuPWksdGhpcy50eXBlPVwiZXhwYW5zaW9uQ2FzZVwifXZpc2l0KGUscil7cmV0dXJuIGUudmlzaXRFeHBhbnNpb25DYXNlKHRoaXMscil9fSx6dD1jbGFzcyBleHRlbmRzIGFle2NvbnN0cnVjdG9yKGUscixuLHMsaSxhLG8pe3N1cGVyKG4sbyksdGhpcy5uYW1lPWUsdGhpcy52YWx1ZT1yLHRoaXMua2V5U3Bhbj1zLHRoaXMudmFsdWVTcGFuPWksdGhpcy52YWx1ZVRva2Vucz1hLHRoaXMudHlwZT1cImF0dHJpYnV0ZVwifXZpc2l0KGUscil7cmV0dXJuIGUudmlzaXRBdHRyaWJ1dGUodGhpcyxyKX1nZXQgbmFtZVNwYW4oKXtyZXR1cm4gdGhpcy5rZXlTcGFufX0sRz1jbGFzcyBleHRlbmRzIGFle2NvbnN0cnVjdG9yKGUscixuLHMsaSxhPW51bGwsbz1udWxsLHUpe3N1cGVyKHMsdSksdGhpcy5uYW1lPWUsdGhpcy5hdHRycz1yLHRoaXMuY2hpbGRyZW49bix0aGlzLnN0YXJ0U291cmNlU3Bhbj1pLHRoaXMuZW5kU291cmNlU3Bhbj1hLHRoaXMubmFtZVNwYW49byx0aGlzLnR5cGU9XCJlbGVtZW50XCJ9dmlzaXQoZSxyKXtyZXR1cm4gZS52aXNpdEVsZW1lbnQodGhpcyxyKX19LEd0PWNsYXNze2NvbnN0cnVjdG9yKGUscil7dGhpcy52YWx1ZT1lLHRoaXMuc291cmNlU3Bhbj1yLHRoaXMudHlwZT1cImNvbW1lbnRcIn12aXNpdChlLHIpe3JldHVybiBlLnZpc2l0Q29tbWVudCh0aGlzLHIpfX0sWXQ9Y2xhc3N7Y29uc3RydWN0b3IoZSxyKXt0aGlzLnZhbHVlPWUsdGhpcy5zb3VyY2VTcGFuPXIsdGhpcy50eXBlPVwiZG9jVHlwZVwifXZpc2l0KGUscil7cmV0dXJuIGUudmlzaXREb2NUeXBlKHRoaXMscil9fSxlZT1jbGFzcyBleHRlbmRzIGFle2NvbnN0cnVjdG9yKGUscixuLHMsaSxhLG89bnVsbCx1KXtzdXBlcihzLHUpLHRoaXMubmFtZT1lLHRoaXMucGFyYW1ldGVycz1yLHRoaXMuY2hpbGRyZW49bix0aGlzLm5hbWVTcGFuPWksdGhpcy5zdGFydFNvdXJjZVNwYW49YSx0aGlzLmVuZFNvdXJjZVNwYW49byx0aGlzLnR5cGU9XCJibG9ja1wifXZpc2l0KGUscil7cmV0dXJuIGUudmlzaXRCbG9jayh0aGlzLHIpfX0sY3Q9Y2xhc3N7Y29uc3RydWN0b3IoZSxyKXt0aGlzLmV4cHJlc3Npb249ZSx0aGlzLnNvdXJjZVNwYW49cix0aGlzLnR5cGU9XCJibG9ja1BhcmFtZXRlclwiLHRoaXMuc3RhcnRTb3VyY2VTcGFuPW51bGwsdGhpcy5lbmRTb3VyY2VTcGFuPW51bGx9dmlzaXQoZSxyKXtyZXR1cm4gZS52aXNpdEJsb2NrUGFyYW1ldGVyKHRoaXMscil9fSxwdD1jbGFzc3tjb25zdHJ1Y3RvcihlLHIsbixzLGkpe3RoaXMubmFtZT1lLHRoaXMudmFsdWU9cix0aGlzLnNvdXJjZVNwYW49bix0aGlzLm5hbWVTcGFuPXMsdGhpcy52YWx1ZVNwYW49aSx0aGlzLnR5cGU9XCJsZXREZWNsYXJhdGlvblwiLHRoaXMuc3RhcnRTb3VyY2VTcGFuPW51bGwsdGhpcy5lbmRTb3VyY2VTcGFuPW51bGx9dmlzaXQoZSxyKXtyZXR1cm4gZS52aXNpdExldERlY2xhcmF0aW9uKHRoaXMscil9fTtmdW5jdGlvbiBqdCh0LGUscj1udWxsKXtsZXQgbj1bXSxzPXQudmlzaXQ/aT0+dC52aXNpdChpLHIpfHxpLnZpc2l0KHQscik6aT0+aS52aXNpdCh0LHIpO3JldHVybiBlLmZvckVhY2goaT0+e2xldCBhPXMoaSk7YSYmbi5wdXNoKGEpfSksbn12YXIgaHQ9Y2xhc3N7Y29uc3RydWN0b3IoKXt9dmlzaXRFbGVtZW50KGUscil7dGhpcy52aXNpdENoaWxkcmVuKHIsbj0+e24oZS5hdHRycyksbihlLmNoaWxkcmVuKX0pfXZpc2l0QXR0cmlidXRlKGUscil7fXZpc2l0VGV4dChlLHIpe312aXNpdENkYXRhKGUscil7fXZpc2l0Q29tbWVudChlLHIpe312aXNpdERvY1R5cGUoZSxyKXt9dmlzaXRFeHBhbnNpb24oZSxyKXtyZXR1cm4gdGhpcy52aXNpdENoaWxkcmVuKHIsbj0+e24oZS5jYXNlcyl9KX12aXNpdEV4cGFuc2lvbkNhc2UoZSxyKXt9dmlzaXRCbG9jayhlLHIpe3RoaXMudmlzaXRDaGlsZHJlbihyLG49PntuKGUucGFyYW1ldGVycyksbihlLmNoaWxkcmVuKX0pfXZpc2l0QmxvY2tQYXJhbWV0ZXIoZSxyKXt9dmlzaXRMZXREZWNsYXJhdGlvbihlLHIpe312aXNpdENoaWxkcmVuKGUscil7bGV0IG49W10scz10aGlzO2Z1bmN0aW9uIGkoYSl7YSYmbi5wdXNoKGp0KHMsYSxlKSl9cmV0dXJuIHIoaSksQXJyYXkucHJvdG90eXBlLmNvbmNhdC5hcHBseShbXSxuKX19O3ZhciBNZT17QUVsaWc6XCJcXHhDNlwiLEFNUDpcIiZcIixhbXA6XCImXCIsQWFjdXRlOlwiXFx4QzFcIixBYnJldmU6XCJcXHUwMTAyXCIsQWNpcmM6XCJcXHhDMlwiLEFjeTpcIlxcdTA0MTBcIixBZnI6XCJcXHV7MUQ1MDR9XCIsQWdyYXZlOlwiXFx4QzBcIixBbHBoYTpcIlxcdTAzOTFcIixBbWFjcjpcIlxcdTAxMDBcIixBbmQ6XCJcXHUyQTUzXCIsQW9nb246XCJcXHUwMTA0XCIsQW9wZjpcIlxcdXsxRDUzOH1cIixBcHBseUZ1bmN0aW9uOlwiXFx1MjA2MVwiLGFmOlwiXFx1MjA2MVwiLEFyaW5nOlwiXFx4QzVcIixhbmdzdDpcIlxceEM1XCIsQXNjcjpcIlxcdXsxRDQ5Q31cIixBc3NpZ246XCJcXHUyMjU0XCIsY29sb25lOlwiXFx1MjI1NFwiLGNvbG9uZXE6XCJcXHUyMjU0XCIsQXRpbGRlOlwiXFx4QzNcIixBdW1sOlwiXFx4QzRcIixCYWNrc2xhc2g6XCJcXHUyMjE2XCIsc2V0bWludXM6XCJcXHUyMjE2XCIsc2V0bW46XCJcXHUyMjE2XCIsc21hbGxzZXRtaW51czpcIlxcdTIyMTZcIixzc2V0bW46XCJcXHUyMjE2XCIsQmFydjpcIlxcdTJBRTdcIixCYXJ3ZWQ6XCJcXHUyMzA2XCIsZG91YmxlYmFyd2VkZ2U6XCJcXHUyMzA2XCIsQmN5OlwiXFx1MDQxMVwiLEJlY2F1c2U6XCJcXHUyMjM1XCIsYmVjYXVzOlwiXFx1MjIzNVwiLGJlY2F1c2U6XCJcXHUyMjM1XCIsQmVybm91bGxpczpcIlxcdTIxMkNcIixCc2NyOlwiXFx1MjEyQ1wiLGJlcm5vdTpcIlxcdTIxMkNcIixCZXRhOlwiXFx1MDM5MlwiLEJmcjpcIlxcdXsxRDUwNX1cIixCb3BmOlwiXFx1ezFENTM5fVwiLEJyZXZlOlwiXFx1MDJEOFwiLGJyZXZlOlwiXFx1MDJEOFwiLEJ1bXBlcTpcIlxcdTIyNEVcIixIdW1wRG93bkh1bXA6XCJcXHUyMjRFXCIsYnVtcDpcIlxcdTIyNEVcIixDSGN5OlwiXFx1MDQyN1wiLENPUFk6XCJcXHhBOVwiLGNvcHk6XCJcXHhBOVwiLENhY3V0ZTpcIlxcdTAxMDZcIixDYXA6XCJcXHUyMkQyXCIsQ2FwaXRhbERpZmZlcmVudGlhbEQ6XCJcXHUyMTQ1XCIsREQ6XCJcXHUyMTQ1XCIsQ2F5bGV5czpcIlxcdTIxMkRcIixDZnI6XCJcXHUyMTJEXCIsQ2Nhcm9uOlwiXFx1MDEwQ1wiLENjZWRpbDpcIlxceEM3XCIsQ2NpcmM6XCJcXHUwMTA4XCIsQ2NvbmludDpcIlxcdTIyMzBcIixDZG90OlwiXFx1MDEwQVwiLENlZGlsbGE6XCJcXHhCOFwiLGNlZGlsOlwiXFx4QjhcIixDZW50ZXJEb3Q6XCJcXHhCN1wiLGNlbnRlcmRvdDpcIlxceEI3XCIsbWlkZG90OlwiXFx4QjdcIixDaGk6XCJcXHUwM0E3XCIsQ2lyY2xlRG90OlwiXFx1MjI5OVwiLG9kb3Q6XCJcXHUyMjk5XCIsQ2lyY2xlTWludXM6XCJcXHUyMjk2XCIsb21pbnVzOlwiXFx1MjI5NlwiLENpcmNsZVBsdXM6XCJcXHUyMjk1XCIsb3BsdXM6XCJcXHUyMjk1XCIsQ2lyY2xlVGltZXM6XCJcXHUyMjk3XCIsb3RpbWVzOlwiXFx1MjI5N1wiLENsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbDpcIlxcdTIyMzJcIixjd2NvbmludDpcIlxcdTIyMzJcIixDbG9zZUN1cmx5RG91YmxlUXVvdGU6XCJcXHUyMDFEXCIscmRxdW86XCJcXHUyMDFEXCIscmRxdW9yOlwiXFx1MjAxRFwiLENsb3NlQ3VybHlRdW90ZTpcIlxcdTIwMTlcIixyc3F1bzpcIlxcdTIwMTlcIixyc3F1b3I6XCJcXHUyMDE5XCIsQ29sb246XCJcXHUyMjM3XCIsUHJvcG9ydGlvbjpcIlxcdTIyMzdcIixDb2xvbmU6XCJcXHUyQTc0XCIsQ29uZ3J1ZW50OlwiXFx1MjI2MVwiLGVxdWl2OlwiXFx1MjI2MVwiLENvbmludDpcIlxcdTIyMkZcIixEb3VibGVDb250b3VySW50ZWdyYWw6XCJcXHUyMjJGXCIsQ29udG91ckludGVncmFsOlwiXFx1MjIyRVwiLGNvbmludDpcIlxcdTIyMkVcIixvaW50OlwiXFx1MjIyRVwiLENvcGY6XCJcXHUyMTAyXCIsY29tcGxleGVzOlwiXFx1MjEwMlwiLENvcHJvZHVjdDpcIlxcdTIyMTBcIixjb3Byb2Q6XCJcXHUyMjEwXCIsQ291bnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbDpcIlxcdTIyMzNcIixhd2NvbmludDpcIlxcdTIyMzNcIixDcm9zczpcIlxcdTJBMkZcIixDc2NyOlwiXFx1ezFENDlFfVwiLEN1cDpcIlxcdTIyRDNcIixDdXBDYXA6XCJcXHUyMjREXCIsYXN5bXBlcTpcIlxcdTIyNERcIixERG90cmFoZDpcIlxcdTI5MTFcIixESmN5OlwiXFx1MDQwMlwiLERTY3k6XCJcXHUwNDA1XCIsRFpjeTpcIlxcdTA0MEZcIixEYWdnZXI6XCJcXHUyMDIxXCIsZGRhZ2dlcjpcIlxcdTIwMjFcIixEYXJyOlwiXFx1MjFBMVwiLERhc2h2OlwiXFx1MkFFNFwiLERvdWJsZUxlZnRUZWU6XCJcXHUyQUU0XCIsRGNhcm9uOlwiXFx1MDEwRVwiLERjeTpcIlxcdTA0MTRcIixEZWw6XCJcXHUyMjA3XCIsbmFibGE6XCJcXHUyMjA3XCIsRGVsdGE6XCJcXHUwMzk0XCIsRGZyOlwiXFx1ezFENTA3fVwiLERpYWNyaXRpY2FsQWN1dGU6XCJcXHhCNFwiLGFjdXRlOlwiXFx4QjRcIixEaWFjcml0aWNhbERvdDpcIlxcdTAyRDlcIixkb3Q6XCJcXHUwMkQ5XCIsRGlhY3JpdGljYWxEb3VibGVBY3V0ZTpcIlxcdTAyRERcIixkYmxhYzpcIlxcdTAyRERcIixEaWFjcml0aWNhbEdyYXZlOlwiYFwiLGdyYXZlOlwiYFwiLERpYWNyaXRpY2FsVGlsZGU6XCJcXHUwMkRDXCIsdGlsZGU6XCJcXHUwMkRDXCIsRGlhbW9uZDpcIlxcdTIyQzRcIixkaWFtOlwiXFx1MjJDNFwiLGRpYW1vbmQ6XCJcXHUyMkM0XCIsRGlmZmVyZW50aWFsRDpcIlxcdTIxNDZcIixkZDpcIlxcdTIxNDZcIixEb3BmOlwiXFx1ezFENTNCfVwiLERvdDpcIlxceEE4XCIsRG91YmxlRG90OlwiXFx4QThcIixkaWU6XCJcXHhBOFwiLHVtbDpcIlxceEE4XCIsRG90RG90OlwiXFx1MjBEQ1wiLERvdEVxdWFsOlwiXFx1MjI1MFwiLGRvdGVxOlwiXFx1MjI1MFwiLGVzZG90OlwiXFx1MjI1MFwiLERvdWJsZURvd25BcnJvdzpcIlxcdTIxRDNcIixEb3duYXJyb3c6XCJcXHUyMUQzXCIsZEFycjpcIlxcdTIxRDNcIixEb3VibGVMZWZ0QXJyb3c6XCJcXHUyMUQwXCIsTGVmdGFycm93OlwiXFx1MjFEMFwiLGxBcnI6XCJcXHUyMUQwXCIsRG91YmxlTGVmdFJpZ2h0QXJyb3c6XCJcXHUyMUQ0XCIsTGVmdHJpZ2h0YXJyb3c6XCJcXHUyMUQ0XCIsaEFycjpcIlxcdTIxRDRcIixpZmY6XCJcXHUyMUQ0XCIsRG91YmxlTG9uZ0xlZnRBcnJvdzpcIlxcdTI3RjhcIixMb25nbGVmdGFycm93OlwiXFx1MjdGOFwiLHhsQXJyOlwiXFx1MjdGOFwiLERvdWJsZUxvbmdMZWZ0UmlnaHRBcnJvdzpcIlxcdTI3RkFcIixMb25nbGVmdHJpZ2h0YXJyb3c6XCJcXHUyN0ZBXCIseGhBcnI6XCJcXHUyN0ZBXCIsRG91YmxlTG9uZ1JpZ2h0QXJyb3c6XCJcXHUyN0Y5XCIsTG9uZ3JpZ2h0YXJyb3c6XCJcXHUyN0Y5XCIseHJBcnI6XCJcXHUyN0Y5XCIsRG91YmxlUmlnaHRBcnJvdzpcIlxcdTIxRDJcIixJbXBsaWVzOlwiXFx1MjFEMlwiLFJpZ2h0YXJyb3c6XCJcXHUyMUQyXCIsckFycjpcIlxcdTIxRDJcIixEb3VibGVSaWdodFRlZTpcIlxcdTIyQThcIix2RGFzaDpcIlxcdTIyQThcIixEb3VibGVVcEFycm93OlwiXFx1MjFEMVwiLFVwYXJyb3c6XCJcXHUyMUQxXCIsdUFycjpcIlxcdTIxRDFcIixEb3VibGVVcERvd25BcnJvdzpcIlxcdTIxRDVcIixVcGRvd25hcnJvdzpcIlxcdTIxRDVcIix2QXJyOlwiXFx1MjFENVwiLERvdWJsZVZlcnRpY2FsQmFyOlwiXFx1MjIyNVwiLHBhcjpcIlxcdTIyMjVcIixwYXJhbGxlbDpcIlxcdTIyMjVcIixzaG9ydHBhcmFsbGVsOlwiXFx1MjIyNVwiLHNwYXI6XCJcXHUyMjI1XCIsRG93bkFycm93OlwiXFx1MjE5M1wiLFNob3J0RG93bkFycm93OlwiXFx1MjE5M1wiLGRhcnI6XCJcXHUyMTkzXCIsZG93bmFycm93OlwiXFx1MjE5M1wiLERvd25BcnJvd0JhcjpcIlxcdTI5MTNcIixEb3duQXJyb3dVcEFycm93OlwiXFx1MjFGNVwiLGR1YXJyOlwiXFx1MjFGNVwiLERvd25CcmV2ZTpcIlxcdTAzMTFcIixEb3duTGVmdFJpZ2h0VmVjdG9yOlwiXFx1Mjk1MFwiLERvd25MZWZ0VGVlVmVjdG9yOlwiXFx1Mjk1RVwiLERvd25MZWZ0VmVjdG9yOlwiXFx1MjFCRFwiLGxlZnRoYXJwb29uZG93bjpcIlxcdTIxQkRcIixsaGFyZDpcIlxcdTIxQkRcIixEb3duTGVmdFZlY3RvckJhcjpcIlxcdTI5NTZcIixEb3duUmlnaHRUZWVWZWN0b3I6XCJcXHUyOTVGXCIsRG93blJpZ2h0VmVjdG9yOlwiXFx1MjFDMVwiLHJoYXJkOlwiXFx1MjFDMVwiLHJpZ2h0aGFycG9vbmRvd246XCJcXHUyMUMxXCIsRG93blJpZ2h0VmVjdG9yQmFyOlwiXFx1Mjk1N1wiLERvd25UZWU6XCJcXHUyMkE0XCIsdG9wOlwiXFx1MjJBNFwiLERvd25UZWVBcnJvdzpcIlxcdTIxQTdcIixtYXBzdG9kb3duOlwiXFx1MjFBN1wiLERzY3I6XCJcXHV7MUQ0OUZ9XCIsRHN0cm9rOlwiXFx1MDExMFwiLEVORzpcIlxcdTAxNEFcIixFVEg6XCJcXHhEMFwiLEVhY3V0ZTpcIlxceEM5XCIsRWNhcm9uOlwiXFx1MDExQVwiLEVjaXJjOlwiXFx4Q0FcIixFY3k6XCJcXHUwNDJEXCIsRWRvdDpcIlxcdTAxMTZcIixFZnI6XCJcXHV7MUQ1MDh9XCIsRWdyYXZlOlwiXFx4QzhcIixFbGVtZW50OlwiXFx1MjIwOFwiLGluOlwiXFx1MjIwOFwiLGlzaW46XCJcXHUyMjA4XCIsaXNpbnY6XCJcXHUyMjA4XCIsRW1hY3I6XCJcXHUwMTEyXCIsRW1wdHlTbWFsbFNxdWFyZTpcIlxcdTI1RkJcIixFbXB0eVZlcnlTbWFsbFNxdWFyZTpcIlxcdTI1QUJcIixFb2dvbjpcIlxcdTAxMThcIixFb3BmOlwiXFx1ezFENTNDfVwiLEVwc2lsb246XCJcXHUwMzk1XCIsRXF1YWw6XCJcXHUyQTc1XCIsRXF1YWxUaWxkZTpcIlxcdTIyNDJcIixlcXNpbTpcIlxcdTIyNDJcIixlc2ltOlwiXFx1MjI0MlwiLEVxdWlsaWJyaXVtOlwiXFx1MjFDQ1wiLHJpZ2h0bGVmdGhhcnBvb25zOlwiXFx1MjFDQ1wiLHJsaGFyOlwiXFx1MjFDQ1wiLEVzY3I6XCJcXHUyMTMwXCIsZXhwZWN0YXRpb246XCJcXHUyMTMwXCIsRXNpbTpcIlxcdTJBNzNcIixFdGE6XCJcXHUwMzk3XCIsRXVtbDpcIlxceENCXCIsRXhpc3RzOlwiXFx1MjIwM1wiLGV4aXN0OlwiXFx1MjIwM1wiLEV4cG9uZW50aWFsRTpcIlxcdTIxNDdcIixlZTpcIlxcdTIxNDdcIixleHBvbmVudGlhbGU6XCJcXHUyMTQ3XCIsRmN5OlwiXFx1MDQyNFwiLEZmcjpcIlxcdXsxRDUwOX1cIixGaWxsZWRTbWFsbFNxdWFyZTpcIlxcdTI1RkNcIixGaWxsZWRWZXJ5U21hbGxTcXVhcmU6XCJcXHUyNUFBXCIsYmxhY2tzcXVhcmU6XCJcXHUyNUFBXCIsc3F1YXJmOlwiXFx1MjVBQVwiLHNxdWY6XCJcXHUyNUFBXCIsRm9wZjpcIlxcdXsxRDUzRH1cIixGb3JBbGw6XCJcXHUyMjAwXCIsZm9yYWxsOlwiXFx1MjIwMFwiLEZvdXJpZXJ0cmY6XCJcXHUyMTMxXCIsRnNjcjpcIlxcdTIxMzFcIixHSmN5OlwiXFx1MDQwM1wiLEdUOlwiPlwiLGd0OlwiPlwiLEdhbW1hOlwiXFx1MDM5M1wiLEdhbW1hZDpcIlxcdTAzRENcIixHYnJldmU6XCJcXHUwMTFFXCIsR2NlZGlsOlwiXFx1MDEyMlwiLEdjaXJjOlwiXFx1MDExQ1wiLEdjeTpcIlxcdTA0MTNcIixHZG90OlwiXFx1MDEyMFwiLEdmcjpcIlxcdXsxRDUwQX1cIixHZzpcIlxcdTIyRDlcIixnZ2c6XCJcXHUyMkQ5XCIsR29wZjpcIlxcdXsxRDUzRX1cIixHcmVhdGVyRXF1YWw6XCJcXHUyMjY1XCIsZ2U6XCJcXHUyMjY1XCIsZ2VxOlwiXFx1MjI2NVwiLEdyZWF0ZXJFcXVhbExlc3M6XCJcXHUyMkRCXCIsZ2VsOlwiXFx1MjJEQlwiLGd0cmVxbGVzczpcIlxcdTIyREJcIixHcmVhdGVyRnVsbEVxdWFsOlwiXFx1MjI2N1wiLGdFOlwiXFx1MjI2N1wiLGdlcXE6XCJcXHUyMjY3XCIsR3JlYXRlckdyZWF0ZXI6XCJcXHUyQUEyXCIsR3JlYXRlckxlc3M6XCJcXHUyMjc3XCIsZ2w6XCJcXHUyMjc3XCIsZ3RybGVzczpcIlxcdTIyNzdcIixHcmVhdGVyU2xhbnRFcXVhbDpcIlxcdTJBN0VcIixnZXFzbGFudDpcIlxcdTJBN0VcIixnZXM6XCJcXHUyQTdFXCIsR3JlYXRlclRpbGRlOlwiXFx1MjI3M1wiLGdzaW06XCJcXHUyMjczXCIsZ3Ryc2ltOlwiXFx1MjI3M1wiLEdzY3I6XCJcXHV7MUQ0QTJ9XCIsR3Q6XCJcXHUyMjZCXCIsTmVzdGVkR3JlYXRlckdyZWF0ZXI6XCJcXHUyMjZCXCIsZ2c6XCJcXHUyMjZCXCIsSEFSRGN5OlwiXFx1MDQyQVwiLEhhY2VrOlwiXFx1MDJDN1wiLGNhcm9uOlwiXFx1MDJDN1wiLEhhdDpcIl5cIixIY2lyYzpcIlxcdTAxMjRcIixIZnI6XCJcXHUyMTBDXCIsUG9pbmNhcmVwbGFuZTpcIlxcdTIxMENcIixIaWxiZXJ0U3BhY2U6XCJcXHUyMTBCXCIsSHNjcjpcIlxcdTIxMEJcIixoYW1pbHQ6XCJcXHUyMTBCXCIsSG9wZjpcIlxcdTIxMERcIixxdWF0ZXJuaW9uczpcIlxcdTIxMERcIixIb3Jpem9udGFsTGluZTpcIlxcdTI1MDBcIixib3hoOlwiXFx1MjUwMFwiLEhzdHJvazpcIlxcdTAxMjZcIixIdW1wRXF1YWw6XCJcXHUyMjRGXCIsYnVtcGU6XCJcXHUyMjRGXCIsYnVtcGVxOlwiXFx1MjI0RlwiLElFY3k6XCJcXHUwNDE1XCIsSUpsaWc6XCJcXHUwMTMyXCIsSU9jeTpcIlxcdTA0MDFcIixJYWN1dGU6XCJcXHhDRFwiLEljaXJjOlwiXFx4Q0VcIixJY3k6XCJcXHUwNDE4XCIsSWRvdDpcIlxcdTAxMzBcIixJZnI6XCJcXHUyMTExXCIsSW06XCJcXHUyMTExXCIsaW1hZ2U6XCJcXHUyMTExXCIsaW1hZ3BhcnQ6XCJcXHUyMTExXCIsSWdyYXZlOlwiXFx4Q0NcIixJbWFjcjpcIlxcdTAxMkFcIixJbWFnaW5hcnlJOlwiXFx1MjE0OFwiLGlpOlwiXFx1MjE0OFwiLEludDpcIlxcdTIyMkNcIixJbnRlZ3JhbDpcIlxcdTIyMkJcIixpbnQ6XCJcXHUyMjJCXCIsSW50ZXJzZWN0aW9uOlwiXFx1MjJDMlwiLGJpZ2NhcDpcIlxcdTIyQzJcIix4Y2FwOlwiXFx1MjJDMlwiLEludmlzaWJsZUNvbW1hOlwiXFx1MjA2M1wiLGljOlwiXFx1MjA2M1wiLEludmlzaWJsZVRpbWVzOlwiXFx1MjA2MlwiLGl0OlwiXFx1MjA2MlwiLElvZ29uOlwiXFx1MDEyRVwiLElvcGY6XCJcXHV7MUQ1NDB9XCIsSW90YTpcIlxcdTAzOTlcIixJc2NyOlwiXFx1MjExMFwiLGltYWdsaW5lOlwiXFx1MjExMFwiLEl0aWxkZTpcIlxcdTAxMjhcIixJdWtjeTpcIlxcdTA0MDZcIixJdW1sOlwiXFx4Q0ZcIixKY2lyYzpcIlxcdTAxMzRcIixKY3k6XCJcXHUwNDE5XCIsSmZyOlwiXFx1ezFENTBEfVwiLEpvcGY6XCJcXHV7MUQ1NDF9XCIsSnNjcjpcIlxcdXsxRDRBNX1cIixKc2VyY3k6XCJcXHUwNDA4XCIsSnVrY3k6XCJcXHUwNDA0XCIsS0hjeTpcIlxcdTA0MjVcIixLSmN5OlwiXFx1MDQwQ1wiLEthcHBhOlwiXFx1MDM5QVwiLEtjZWRpbDpcIlxcdTAxMzZcIixLY3k6XCJcXHUwNDFBXCIsS2ZyOlwiXFx1ezFENTBFfVwiLEtvcGY6XCJcXHV7MUQ1NDJ9XCIsS3NjcjpcIlxcdXsxRDRBNn1cIixMSmN5OlwiXFx1MDQwOVwiLExUOlwiPFwiLGx0OlwiPFwiLExhY3V0ZTpcIlxcdTAxMzlcIixMYW1iZGE6XCJcXHUwMzlCXCIsTGFuZzpcIlxcdTI3RUFcIixMYXBsYWNldHJmOlwiXFx1MjExMlwiLExzY3I6XCJcXHUyMTEyXCIsbGFncmFuOlwiXFx1MjExMlwiLExhcnI6XCJcXHUyMTlFXCIsdHdvaGVhZGxlZnRhcnJvdzpcIlxcdTIxOUVcIixMY2Fyb246XCJcXHUwMTNEXCIsTGNlZGlsOlwiXFx1MDEzQlwiLExjeTpcIlxcdTA0MUJcIixMZWZ0QW5nbGVCcmFja2V0OlwiXFx1MjdFOFwiLGxhbmc6XCJcXHUyN0U4XCIsbGFuZ2xlOlwiXFx1MjdFOFwiLExlZnRBcnJvdzpcIlxcdTIxOTBcIixTaG9ydExlZnRBcnJvdzpcIlxcdTIxOTBcIixsYXJyOlwiXFx1MjE5MFwiLGxlZnRhcnJvdzpcIlxcdTIxOTBcIixzbGFycjpcIlxcdTIxOTBcIixMZWZ0QXJyb3dCYXI6XCJcXHUyMUU0XCIsbGFycmI6XCJcXHUyMUU0XCIsTGVmdEFycm93UmlnaHRBcnJvdzpcIlxcdTIxQzZcIixsZWZ0cmlnaHRhcnJvd3M6XCJcXHUyMUM2XCIsbHJhcnI6XCJcXHUyMUM2XCIsTGVmdENlaWxpbmc6XCJcXHUyMzA4XCIsbGNlaWw6XCJcXHUyMzA4XCIsTGVmdERvdWJsZUJyYWNrZXQ6XCJcXHUyN0U2XCIsbG9icms6XCJcXHUyN0U2XCIsTGVmdERvd25UZWVWZWN0b3I6XCJcXHUyOTYxXCIsTGVmdERvd25WZWN0b3I6XCJcXHUyMUMzXCIsZGhhcmw6XCJcXHUyMUMzXCIsZG93bmhhcnBvb25sZWZ0OlwiXFx1MjFDM1wiLExlZnREb3duVmVjdG9yQmFyOlwiXFx1Mjk1OVwiLExlZnRGbG9vcjpcIlxcdTIzMEFcIixsZmxvb3I6XCJcXHUyMzBBXCIsTGVmdFJpZ2h0QXJyb3c6XCJcXHUyMTk0XCIsaGFycjpcIlxcdTIxOTRcIixsZWZ0cmlnaHRhcnJvdzpcIlxcdTIxOTRcIixMZWZ0UmlnaHRWZWN0b3I6XCJcXHUyOTRFXCIsTGVmdFRlZTpcIlxcdTIyQTNcIixkYXNodjpcIlxcdTIyQTNcIixMZWZ0VGVlQXJyb3c6XCJcXHUyMUE0XCIsbWFwc3RvbGVmdDpcIlxcdTIxQTRcIixMZWZ0VGVlVmVjdG9yOlwiXFx1Mjk1QVwiLExlZnRUcmlhbmdsZTpcIlxcdTIyQjJcIix2YXJ0cmlhbmdsZWxlZnQ6XCJcXHUyMkIyXCIsdmx0cmk6XCJcXHUyMkIyXCIsTGVmdFRyaWFuZ2xlQmFyOlwiXFx1MjlDRlwiLExlZnRUcmlhbmdsZUVxdWFsOlwiXFx1MjJCNFwiLGx0cmllOlwiXFx1MjJCNFwiLHRyaWFuZ2xlbGVmdGVxOlwiXFx1MjJCNFwiLExlZnRVcERvd25WZWN0b3I6XCJcXHUyOTUxXCIsTGVmdFVwVGVlVmVjdG9yOlwiXFx1Mjk2MFwiLExlZnRVcFZlY3RvcjpcIlxcdTIxQkZcIix1aGFybDpcIlxcdTIxQkZcIix1cGhhcnBvb25sZWZ0OlwiXFx1MjFCRlwiLExlZnRVcFZlY3RvckJhcjpcIlxcdTI5NThcIixMZWZ0VmVjdG9yOlwiXFx1MjFCQ1wiLGxlZnRoYXJwb29udXA6XCJcXHUyMUJDXCIsbGhhcnU6XCJcXHUyMUJDXCIsTGVmdFZlY3RvckJhcjpcIlxcdTI5NTJcIixMZXNzRXF1YWxHcmVhdGVyOlwiXFx1MjJEQVwiLGxlZzpcIlxcdTIyREFcIixsZXNzZXFndHI6XCJcXHUyMkRBXCIsTGVzc0Z1bGxFcXVhbDpcIlxcdTIyNjZcIixsRTpcIlxcdTIyNjZcIixsZXFxOlwiXFx1MjI2NlwiLExlc3NHcmVhdGVyOlwiXFx1MjI3NlwiLGxlc3NndHI6XCJcXHUyMjc2XCIsbGc6XCJcXHUyMjc2XCIsTGVzc0xlc3M6XCJcXHUyQUExXCIsTGVzc1NsYW50RXF1YWw6XCJcXHUyQTdEXCIsbGVxc2xhbnQ6XCJcXHUyQTdEXCIsbGVzOlwiXFx1MkE3RFwiLExlc3NUaWxkZTpcIlxcdTIyNzJcIixsZXNzc2ltOlwiXFx1MjI3MlwiLGxzaW06XCJcXHUyMjcyXCIsTGZyOlwiXFx1ezFENTBGfVwiLExsOlwiXFx1MjJEOFwiLExsZWZ0YXJyb3c6XCJcXHUyMURBXCIsbEFhcnI6XCJcXHUyMURBXCIsTG1pZG90OlwiXFx1MDEzRlwiLExvbmdMZWZ0QXJyb3c6XCJcXHUyN0Y1XCIsbG9uZ2xlZnRhcnJvdzpcIlxcdTI3RjVcIix4bGFycjpcIlxcdTI3RjVcIixMb25nTGVmdFJpZ2h0QXJyb3c6XCJcXHUyN0Y3XCIsbG9uZ2xlZnRyaWdodGFycm93OlwiXFx1MjdGN1wiLHhoYXJyOlwiXFx1MjdGN1wiLExvbmdSaWdodEFycm93OlwiXFx1MjdGNlwiLGxvbmdyaWdodGFycm93OlwiXFx1MjdGNlwiLHhyYXJyOlwiXFx1MjdGNlwiLExvcGY6XCJcXHV7MUQ1NDN9XCIsTG93ZXJMZWZ0QXJyb3c6XCJcXHUyMTk5XCIsc3dhcnI6XCJcXHUyMTk5XCIsc3dhcnJvdzpcIlxcdTIxOTlcIixMb3dlclJpZ2h0QXJyb3c6XCJcXHUyMTk4XCIsc2VhcnI6XCJcXHUyMTk4XCIsc2VhcnJvdzpcIlxcdTIxOThcIixMc2g6XCJcXHUyMUIwXCIsbHNoOlwiXFx1MjFCMFwiLExzdHJvazpcIlxcdTAxNDFcIixMdDpcIlxcdTIyNkFcIixOZXN0ZWRMZXNzTGVzczpcIlxcdTIyNkFcIixsbDpcIlxcdTIyNkFcIixNYXA6XCJcXHUyOTA1XCIsTWN5OlwiXFx1MDQxQ1wiLE1lZGl1bVNwYWNlOlwiXFx1MjA1RlwiLE1lbGxpbnRyZjpcIlxcdTIxMzNcIixNc2NyOlwiXFx1MjEzM1wiLHBobW1hdDpcIlxcdTIxMzNcIixNZnI6XCJcXHV7MUQ1MTB9XCIsTWludXNQbHVzOlwiXFx1MjIxM1wiLG1ucGx1czpcIlxcdTIyMTNcIixtcDpcIlxcdTIyMTNcIixNb3BmOlwiXFx1ezFENTQ0fVwiLE11OlwiXFx1MDM5Q1wiLE5KY3k6XCJcXHUwNDBBXCIsTmFjdXRlOlwiXFx1MDE0M1wiLE5jYXJvbjpcIlxcdTAxNDdcIixOY2VkaWw6XCJcXHUwMTQ1XCIsTmN5OlwiXFx1MDQxRFwiLE5lZ2F0aXZlTWVkaXVtU3BhY2U6XCJcXHUyMDBCXCIsTmVnYXRpdmVUaGlja1NwYWNlOlwiXFx1MjAwQlwiLE5lZ2F0aXZlVGhpblNwYWNlOlwiXFx1MjAwQlwiLE5lZ2F0aXZlVmVyeVRoaW5TcGFjZTpcIlxcdTIwMEJcIixaZXJvV2lkdGhTcGFjZTpcIlxcdTIwMEJcIixOZXdMaW5lOmBcbmAsTmZyOlwiXFx1ezFENTExfVwiLE5vQnJlYWs6XCJcXHUyMDYwXCIsTm9uQnJlYWtpbmdTcGFjZTpcIlxceEEwXCIsbmJzcDpcIlxceEEwXCIsTm9wZjpcIlxcdTIxMTVcIixuYXR1cmFsczpcIlxcdTIxMTVcIixOb3Q6XCJcXHUyQUVDXCIsTm90Q29uZ3J1ZW50OlwiXFx1MjI2MlwiLG5lcXVpdjpcIlxcdTIyNjJcIixOb3RDdXBDYXA6XCJcXHUyMjZEXCIsTm90RG91YmxlVmVydGljYWxCYXI6XCJcXHUyMjI2XCIsbnBhcjpcIlxcdTIyMjZcIixucGFyYWxsZWw6XCJcXHUyMjI2XCIsbnNob3J0cGFyYWxsZWw6XCJcXHUyMjI2XCIsbnNwYXI6XCJcXHUyMjI2XCIsTm90RWxlbWVudDpcIlxcdTIyMDlcIixub3RpbjpcIlxcdTIyMDlcIixub3RpbnZhOlwiXFx1MjIwOVwiLE5vdEVxdWFsOlwiXFx1MjI2MFwiLG5lOlwiXFx1MjI2MFwiLE5vdEVxdWFsVGlsZGU6XCJcXHUyMjQyXFx1MDMzOFwiLG5lc2ltOlwiXFx1MjI0MlxcdTAzMzhcIixOb3RFeGlzdHM6XCJcXHUyMjA0XCIsbmV4aXN0OlwiXFx1MjIwNFwiLG5leGlzdHM6XCJcXHUyMjA0XCIsTm90R3JlYXRlcjpcIlxcdTIyNkZcIixuZ3Q6XCJcXHUyMjZGXCIsbmd0cjpcIlxcdTIyNkZcIixOb3RHcmVhdGVyRXF1YWw6XCJcXHUyMjcxXCIsbmdlOlwiXFx1MjI3MVwiLG5nZXE6XCJcXHUyMjcxXCIsTm90R3JlYXRlckZ1bGxFcXVhbDpcIlxcdTIyNjdcXHUwMzM4XCIsbmdFOlwiXFx1MjI2N1xcdTAzMzhcIixuZ2VxcTpcIlxcdTIyNjdcXHUwMzM4XCIsTm90R3JlYXRlckdyZWF0ZXI6XCJcXHUyMjZCXFx1MDMzOFwiLG5HdHY6XCJcXHUyMjZCXFx1MDMzOFwiLE5vdEdyZWF0ZXJMZXNzOlwiXFx1MjI3OVwiLG50Z2w6XCJcXHUyMjc5XCIsTm90R3JlYXRlclNsYW50RXF1YWw6XCJcXHUyQTdFXFx1MDMzOFwiLG5nZXFzbGFudDpcIlxcdTJBN0VcXHUwMzM4XCIsbmdlczpcIlxcdTJBN0VcXHUwMzM4XCIsTm90R3JlYXRlclRpbGRlOlwiXFx1MjI3NVwiLG5nc2ltOlwiXFx1MjI3NVwiLE5vdEh1bXBEb3duSHVtcDpcIlxcdTIyNEVcXHUwMzM4XCIsbmJ1bXA6XCJcXHUyMjRFXFx1MDMzOFwiLE5vdEh1bXBFcXVhbDpcIlxcdTIyNEZcXHUwMzM4XCIsbmJ1bXBlOlwiXFx1MjI0RlxcdTAzMzhcIixOb3RMZWZ0VHJpYW5nbGU6XCJcXHUyMkVBXCIsbmx0cmk6XCJcXHUyMkVBXCIsbnRyaWFuZ2xlbGVmdDpcIlxcdTIyRUFcIixOb3RMZWZ0VHJpYW5nbGVCYXI6XCJcXHUyOUNGXFx1MDMzOFwiLE5vdExlZnRUcmlhbmdsZUVxdWFsOlwiXFx1MjJFQ1wiLG5sdHJpZTpcIlxcdTIyRUNcIixudHJpYW5nbGVsZWZ0ZXE6XCJcXHUyMkVDXCIsTm90TGVzczpcIlxcdTIyNkVcIixubGVzczpcIlxcdTIyNkVcIixubHQ6XCJcXHUyMjZFXCIsTm90TGVzc0VxdWFsOlwiXFx1MjI3MFwiLG5sZTpcIlxcdTIyNzBcIixubGVxOlwiXFx1MjI3MFwiLE5vdExlc3NHcmVhdGVyOlwiXFx1MjI3OFwiLG50bGc6XCJcXHUyMjc4XCIsTm90TGVzc0xlc3M6XCJcXHUyMjZBXFx1MDMzOFwiLG5MdHY6XCJcXHUyMjZBXFx1MDMzOFwiLE5vdExlc3NTbGFudEVxdWFsOlwiXFx1MkE3RFxcdTAzMzhcIixubGVxc2xhbnQ6XCJcXHUyQTdEXFx1MDMzOFwiLG5sZXM6XCJcXHUyQTdEXFx1MDMzOFwiLE5vdExlc3NUaWxkZTpcIlxcdTIyNzRcIixubHNpbTpcIlxcdTIyNzRcIixOb3ROZXN0ZWRHcmVhdGVyR3JlYXRlcjpcIlxcdTJBQTJcXHUwMzM4XCIsTm90TmVzdGVkTGVzc0xlc3M6XCJcXHUyQUExXFx1MDMzOFwiLE5vdFByZWNlZGVzOlwiXFx1MjI4MFwiLG5wcjpcIlxcdTIyODBcIixucHJlYzpcIlxcdTIyODBcIixOb3RQcmVjZWRlc0VxdWFsOlwiXFx1MkFBRlxcdTAzMzhcIixucHJlOlwiXFx1MkFBRlxcdTAzMzhcIixucHJlY2VxOlwiXFx1MkFBRlxcdTAzMzhcIixOb3RQcmVjZWRlc1NsYW50RXF1YWw6XCJcXHUyMkUwXCIsbnByY3VlOlwiXFx1MjJFMFwiLE5vdFJldmVyc2VFbGVtZW50OlwiXFx1MjIwQ1wiLG5vdG5pOlwiXFx1MjIwQ1wiLG5vdG5pdmE6XCJcXHUyMjBDXCIsTm90UmlnaHRUcmlhbmdsZTpcIlxcdTIyRUJcIixucnRyaTpcIlxcdTIyRUJcIixudHJpYW5nbGVyaWdodDpcIlxcdTIyRUJcIixOb3RSaWdodFRyaWFuZ2xlQmFyOlwiXFx1MjlEMFxcdTAzMzhcIixOb3RSaWdodFRyaWFuZ2xlRXF1YWw6XCJcXHUyMkVEXCIsbnJ0cmllOlwiXFx1MjJFRFwiLG50cmlhbmdsZXJpZ2h0ZXE6XCJcXHUyMkVEXCIsTm90U3F1YXJlU3Vic2V0OlwiXFx1MjI4RlxcdTAzMzhcIixOb3RTcXVhcmVTdWJzZXRFcXVhbDpcIlxcdTIyRTJcIixuc3FzdWJlOlwiXFx1MjJFMlwiLE5vdFNxdWFyZVN1cGVyc2V0OlwiXFx1MjI5MFxcdTAzMzhcIixOb3RTcXVhcmVTdXBlcnNldEVxdWFsOlwiXFx1MjJFM1wiLG5zcXN1cGU6XCJcXHUyMkUzXCIsTm90U3Vic2V0OlwiXFx1MjI4MlxcdTIwRDJcIixuc3Vic2V0OlwiXFx1MjI4MlxcdTIwRDJcIix2bnN1YjpcIlxcdTIyODJcXHUyMEQyXCIsTm90U3Vic2V0RXF1YWw6XCJcXHUyMjg4XCIsbnN1YmU6XCJcXHUyMjg4XCIsbnN1YnNldGVxOlwiXFx1MjI4OFwiLE5vdFN1Y2NlZWRzOlwiXFx1MjI4MVwiLG5zYzpcIlxcdTIyODFcIixuc3VjYzpcIlxcdTIyODFcIixOb3RTdWNjZWVkc0VxdWFsOlwiXFx1MkFCMFxcdTAzMzhcIixuc2NlOlwiXFx1MkFCMFxcdTAzMzhcIixuc3VjY2VxOlwiXFx1MkFCMFxcdTAzMzhcIixOb3RTdWNjZWVkc1NsYW50RXF1YWw6XCJcXHUyMkUxXCIsbnNjY3VlOlwiXFx1MjJFMVwiLE5vdFN1Y2NlZWRzVGlsZGU6XCJcXHUyMjdGXFx1MDMzOFwiLE5vdFN1cGVyc2V0OlwiXFx1MjI4M1xcdTIwRDJcIixuc3Vwc2V0OlwiXFx1MjI4M1xcdTIwRDJcIix2bnN1cDpcIlxcdTIyODNcXHUyMEQyXCIsTm90U3VwZXJzZXRFcXVhbDpcIlxcdTIyODlcIixuc3VwZTpcIlxcdTIyODlcIixuc3Vwc2V0ZXE6XCJcXHUyMjg5XCIsTm90VGlsZGU6XCJcXHUyMjQxXCIsbnNpbTpcIlxcdTIyNDFcIixOb3RUaWxkZUVxdWFsOlwiXFx1MjI0NFwiLG5zaW1lOlwiXFx1MjI0NFwiLG5zaW1lcTpcIlxcdTIyNDRcIixOb3RUaWxkZUZ1bGxFcXVhbDpcIlxcdTIyNDdcIixuY29uZzpcIlxcdTIyNDdcIixOb3RUaWxkZVRpbGRlOlwiXFx1MjI0OVwiLG5hcDpcIlxcdTIyNDlcIixuYXBwcm94OlwiXFx1MjI0OVwiLE5vdFZlcnRpY2FsQmFyOlwiXFx1MjIyNFwiLG5taWQ6XCJcXHUyMjI0XCIsbnNob3J0bWlkOlwiXFx1MjIyNFwiLG5zbWlkOlwiXFx1MjIyNFwiLE5zY3I6XCJcXHV7MUQ0QTl9XCIsTnRpbGRlOlwiXFx4RDFcIixOdTpcIlxcdTAzOURcIixPRWxpZzpcIlxcdTAxNTJcIixPYWN1dGU6XCJcXHhEM1wiLE9jaXJjOlwiXFx4RDRcIixPY3k6XCJcXHUwNDFFXCIsT2RibGFjOlwiXFx1MDE1MFwiLE9mcjpcIlxcdXsxRDUxMn1cIixPZ3JhdmU6XCJcXHhEMlwiLE9tYWNyOlwiXFx1MDE0Q1wiLE9tZWdhOlwiXFx1MDNBOVwiLG9obTpcIlxcdTAzQTlcIixPbWljcm9uOlwiXFx1MDM5RlwiLE9vcGY6XCJcXHV7MUQ1NDZ9XCIsT3BlbkN1cmx5RG91YmxlUXVvdGU6XCJcXHUyMDFDXCIsbGRxdW86XCJcXHUyMDFDXCIsT3BlbkN1cmx5UXVvdGU6XCJcXHUyMDE4XCIsbHNxdW86XCJcXHUyMDE4XCIsT3I6XCJcXHUyQTU0XCIsT3NjcjpcIlxcdXsxRDRBQX1cIixPc2xhc2g6XCJcXHhEOFwiLE90aWxkZTpcIlxceEQ1XCIsT3RpbWVzOlwiXFx1MkEzN1wiLE91bWw6XCJcXHhENlwiLE92ZXJCYXI6XCJcXHUyMDNFXCIsb2xpbmU6XCJcXHUyMDNFXCIsT3ZlckJyYWNlOlwiXFx1MjNERVwiLE92ZXJCcmFja2V0OlwiXFx1MjNCNFwiLHRicms6XCJcXHUyM0I0XCIsT3ZlclBhcmVudGhlc2lzOlwiXFx1MjNEQ1wiLFBhcnRpYWxEOlwiXFx1MjIwMlwiLHBhcnQ6XCJcXHUyMjAyXCIsUGN5OlwiXFx1MDQxRlwiLFBmcjpcIlxcdXsxRDUxM31cIixQaGk6XCJcXHUwM0E2XCIsUGk6XCJcXHUwM0EwXCIsUGx1c01pbnVzOlwiXFx4QjFcIixwbHVzbW46XCJcXHhCMVwiLHBtOlwiXFx4QjFcIixQb3BmOlwiXFx1MjExOVwiLHByaW1lczpcIlxcdTIxMTlcIixQcjpcIlxcdTJBQkJcIixQcmVjZWRlczpcIlxcdTIyN0FcIixwcjpcIlxcdTIyN0FcIixwcmVjOlwiXFx1MjI3QVwiLFByZWNlZGVzRXF1YWw6XCJcXHUyQUFGXCIscHJlOlwiXFx1MkFBRlwiLHByZWNlcTpcIlxcdTJBQUZcIixQcmVjZWRlc1NsYW50RXF1YWw6XCJcXHUyMjdDXCIscHJjdWU6XCJcXHUyMjdDXCIscHJlY2N1cmx5ZXE6XCJcXHUyMjdDXCIsUHJlY2VkZXNUaWxkZTpcIlxcdTIyN0VcIixwcmVjc2ltOlwiXFx1MjI3RVwiLHByc2ltOlwiXFx1MjI3RVwiLFByaW1lOlwiXFx1MjAzM1wiLFByb2R1Y3Q6XCJcXHUyMjBGXCIscHJvZDpcIlxcdTIyMEZcIixQcm9wb3J0aW9uYWw6XCJcXHUyMjFEXCIscHJvcDpcIlxcdTIyMURcIixwcm9wdG86XCJcXHUyMjFEXCIsdmFycHJvcHRvOlwiXFx1MjIxRFwiLHZwcm9wOlwiXFx1MjIxRFwiLFBzY3I6XCJcXHV7MUQ0QUJ9XCIsUHNpOlwiXFx1MDNBOFwiLFFVT1Q6J1wiJyxxdW90OidcIicsUWZyOlwiXFx1ezFENTE0fVwiLFFvcGY6XCJcXHUyMTFBXCIscmF0aW9uYWxzOlwiXFx1MjExQVwiLFFzY3I6XCJcXHV7MUQ0QUN9XCIsUkJhcnI6XCJcXHUyOTEwXCIsZHJia2Fyb3c6XCJcXHUyOTEwXCIsUkVHOlwiXFx4QUVcIixjaXJjbGVkUjpcIlxceEFFXCIscmVnOlwiXFx4QUVcIixSYWN1dGU6XCJcXHUwMTU0XCIsUmFuZzpcIlxcdTI3RUJcIixSYXJyOlwiXFx1MjFBMFwiLHR3b2hlYWRyaWdodGFycm93OlwiXFx1MjFBMFwiLFJhcnJ0bDpcIlxcdTI5MTZcIixSY2Fyb246XCJcXHUwMTU4XCIsUmNlZGlsOlwiXFx1MDE1NlwiLFJjeTpcIlxcdTA0MjBcIixSZTpcIlxcdTIxMUNcIixSZnI6XCJcXHUyMTFDXCIscmVhbDpcIlxcdTIxMUNcIixyZWFscGFydDpcIlxcdTIxMUNcIixSZXZlcnNlRWxlbWVudDpcIlxcdTIyMEJcIixTdWNoVGhhdDpcIlxcdTIyMEJcIixuaTpcIlxcdTIyMEJcIixuaXY6XCJcXHUyMjBCXCIsUmV2ZXJzZUVxdWlsaWJyaXVtOlwiXFx1MjFDQlwiLGxlZnRyaWdodGhhcnBvb25zOlwiXFx1MjFDQlwiLGxyaGFyOlwiXFx1MjFDQlwiLFJldmVyc2VVcEVxdWlsaWJyaXVtOlwiXFx1Mjk2RlwiLGR1aGFyOlwiXFx1Mjk2RlwiLFJobzpcIlxcdTAzQTFcIixSaWdodEFuZ2xlQnJhY2tldDpcIlxcdTI3RTlcIixyYW5nOlwiXFx1MjdFOVwiLHJhbmdsZTpcIlxcdTI3RTlcIixSaWdodEFycm93OlwiXFx1MjE5MlwiLFNob3J0UmlnaHRBcnJvdzpcIlxcdTIxOTJcIixyYXJyOlwiXFx1MjE5MlwiLHJpZ2h0YXJyb3c6XCJcXHUyMTkyXCIsc3JhcnI6XCJcXHUyMTkyXCIsUmlnaHRBcnJvd0JhcjpcIlxcdTIxRTVcIixyYXJyYjpcIlxcdTIxRTVcIixSaWdodEFycm93TGVmdEFycm93OlwiXFx1MjFDNFwiLHJpZ2h0bGVmdGFycm93czpcIlxcdTIxQzRcIixybGFycjpcIlxcdTIxQzRcIixSaWdodENlaWxpbmc6XCJcXHUyMzA5XCIscmNlaWw6XCJcXHUyMzA5XCIsUmlnaHREb3VibGVCcmFja2V0OlwiXFx1MjdFN1wiLHJvYnJrOlwiXFx1MjdFN1wiLFJpZ2h0RG93blRlZVZlY3RvcjpcIlxcdTI5NURcIixSaWdodERvd25WZWN0b3I6XCJcXHUyMUMyXCIsZGhhcnI6XCJcXHUyMUMyXCIsZG93bmhhcnBvb25yaWdodDpcIlxcdTIxQzJcIixSaWdodERvd25WZWN0b3JCYXI6XCJcXHUyOTU1XCIsUmlnaHRGbG9vcjpcIlxcdTIzMEJcIixyZmxvb3I6XCJcXHUyMzBCXCIsUmlnaHRUZWU6XCJcXHUyMkEyXCIsdmRhc2g6XCJcXHUyMkEyXCIsUmlnaHRUZWVBcnJvdzpcIlxcdTIxQTZcIixtYXA6XCJcXHUyMUE2XCIsbWFwc3RvOlwiXFx1MjFBNlwiLFJpZ2h0VGVlVmVjdG9yOlwiXFx1Mjk1QlwiLFJpZ2h0VHJpYW5nbGU6XCJcXHUyMkIzXCIsdmFydHJpYW5nbGVyaWdodDpcIlxcdTIyQjNcIix2cnRyaTpcIlxcdTIyQjNcIixSaWdodFRyaWFuZ2xlQmFyOlwiXFx1MjlEMFwiLFJpZ2h0VHJpYW5nbGVFcXVhbDpcIlxcdTIyQjVcIixydHJpZTpcIlxcdTIyQjVcIix0cmlhbmdsZXJpZ2h0ZXE6XCJcXHUyMkI1XCIsUmlnaHRVcERvd25WZWN0b3I6XCJcXHUyOTRGXCIsUmlnaHRVcFRlZVZlY3RvcjpcIlxcdTI5NUNcIixSaWdodFVwVmVjdG9yOlwiXFx1MjFCRVwiLHVoYXJyOlwiXFx1MjFCRVwiLHVwaGFycG9vbnJpZ2h0OlwiXFx1MjFCRVwiLFJpZ2h0VXBWZWN0b3JCYXI6XCJcXHUyOTU0XCIsUmlnaHRWZWN0b3I6XCJcXHUyMUMwXCIscmhhcnU6XCJcXHUyMUMwXCIscmlnaHRoYXJwb29udXA6XCJcXHUyMUMwXCIsUmlnaHRWZWN0b3JCYXI6XCJcXHUyOTUzXCIsUm9wZjpcIlxcdTIxMURcIixyZWFsczpcIlxcdTIxMURcIixSb3VuZEltcGxpZXM6XCJcXHUyOTcwXCIsUnJpZ2h0YXJyb3c6XCJcXHUyMURCXCIsckFhcnI6XCJcXHUyMURCXCIsUnNjcjpcIlxcdTIxMUJcIixyZWFsaW5lOlwiXFx1MjExQlwiLFJzaDpcIlxcdTIxQjFcIixyc2g6XCJcXHUyMUIxXCIsUnVsZURlbGF5ZWQ6XCJcXHUyOUY0XCIsU0hDSGN5OlwiXFx1MDQyOVwiLFNIY3k6XCJcXHUwNDI4XCIsU09GVGN5OlwiXFx1MDQyQ1wiLFNhY3V0ZTpcIlxcdTAxNUFcIixTYzpcIlxcdTJBQkNcIixTY2Fyb246XCJcXHUwMTYwXCIsU2NlZGlsOlwiXFx1MDE1RVwiLFNjaXJjOlwiXFx1MDE1Q1wiLFNjeTpcIlxcdTA0MjFcIixTZnI6XCJcXHV7MUQ1MTZ9XCIsU2hvcnRVcEFycm93OlwiXFx1MjE5MVwiLFVwQXJyb3c6XCJcXHUyMTkxXCIsdWFycjpcIlxcdTIxOTFcIix1cGFycm93OlwiXFx1MjE5MVwiLFNpZ21hOlwiXFx1MDNBM1wiLFNtYWxsQ2lyY2xlOlwiXFx1MjIxOFwiLGNvbXBmbjpcIlxcdTIyMThcIixTb3BmOlwiXFx1ezFENTRBfVwiLFNxcnQ6XCJcXHUyMjFBXCIscmFkaWM6XCJcXHUyMjFBXCIsU3F1YXJlOlwiXFx1MjVBMVwiLHNxdTpcIlxcdTI1QTFcIixzcXVhcmU6XCJcXHUyNUExXCIsU3F1YXJlSW50ZXJzZWN0aW9uOlwiXFx1MjI5M1wiLHNxY2FwOlwiXFx1MjI5M1wiLFNxdWFyZVN1YnNldDpcIlxcdTIyOEZcIixzcXN1YjpcIlxcdTIyOEZcIixzcXN1YnNldDpcIlxcdTIyOEZcIixTcXVhcmVTdWJzZXRFcXVhbDpcIlxcdTIyOTFcIixzcXN1YmU6XCJcXHUyMjkxXCIsc3FzdWJzZXRlcTpcIlxcdTIyOTFcIixTcXVhcmVTdXBlcnNldDpcIlxcdTIyOTBcIixzcXN1cDpcIlxcdTIyOTBcIixzcXN1cHNldDpcIlxcdTIyOTBcIixTcXVhcmVTdXBlcnNldEVxdWFsOlwiXFx1MjI5MlwiLHNxc3VwZTpcIlxcdTIyOTJcIixzcXN1cHNldGVxOlwiXFx1MjI5MlwiLFNxdWFyZVVuaW9uOlwiXFx1MjI5NFwiLHNxY3VwOlwiXFx1MjI5NFwiLFNzY3I6XCJcXHV7MUQ0QUV9XCIsU3RhcjpcIlxcdTIyQzZcIixzc3RhcmY6XCJcXHUyMkM2XCIsU3ViOlwiXFx1MjJEMFwiLFN1YnNldDpcIlxcdTIyRDBcIixTdWJzZXRFcXVhbDpcIlxcdTIyODZcIixzdWJlOlwiXFx1MjI4NlwiLHN1YnNldGVxOlwiXFx1MjI4NlwiLFN1Y2NlZWRzOlwiXFx1MjI3QlwiLHNjOlwiXFx1MjI3QlwiLHN1Y2M6XCJcXHUyMjdCXCIsU3VjY2VlZHNFcXVhbDpcIlxcdTJBQjBcIixzY2U6XCJcXHUyQUIwXCIsc3VjY2VxOlwiXFx1MkFCMFwiLFN1Y2NlZWRzU2xhbnRFcXVhbDpcIlxcdTIyN0RcIixzY2N1ZTpcIlxcdTIyN0RcIixzdWNjY3VybHllcTpcIlxcdTIyN0RcIixTdWNjZWVkc1RpbGRlOlwiXFx1MjI3RlwiLHNjc2ltOlwiXFx1MjI3RlwiLHN1Y2NzaW06XCJcXHUyMjdGXCIsU3VtOlwiXFx1MjIxMVwiLHN1bTpcIlxcdTIyMTFcIixTdXA6XCJcXHUyMkQxXCIsU3Vwc2V0OlwiXFx1MjJEMVwiLFN1cGVyc2V0OlwiXFx1MjI4M1wiLHN1cDpcIlxcdTIyODNcIixzdXBzZXQ6XCJcXHUyMjgzXCIsU3VwZXJzZXRFcXVhbDpcIlxcdTIyODdcIixzdXBlOlwiXFx1MjI4N1wiLHN1cHNldGVxOlwiXFx1MjI4N1wiLFRIT1JOOlwiXFx4REVcIixUUkFERTpcIlxcdTIxMjJcIix0cmFkZTpcIlxcdTIxMjJcIixUU0hjeTpcIlxcdTA0MEJcIixUU2N5OlwiXFx1MDQyNlwiLFRhYjpcIlx0XCIsVGF1OlwiXFx1MDNBNFwiLFRjYXJvbjpcIlxcdTAxNjRcIixUY2VkaWw6XCJcXHUwMTYyXCIsVGN5OlwiXFx1MDQyMlwiLFRmcjpcIlxcdXsxRDUxN31cIixUaGVyZWZvcmU6XCJcXHUyMjM0XCIsdGhlcmU0OlwiXFx1MjIzNFwiLHRoZXJlZm9yZTpcIlxcdTIyMzRcIixUaGV0YTpcIlxcdTAzOThcIixUaGlja1NwYWNlOlwiXFx1MjA1RlxcdTIwMEFcIixUaGluU3BhY2U6XCJcXHUyMDA5XCIsdGhpbnNwOlwiXFx1MjAwOVwiLFRpbGRlOlwiXFx1MjIzQ1wiLHNpbTpcIlxcdTIyM0NcIix0aGlja3NpbTpcIlxcdTIyM0NcIix0aGtzaW06XCJcXHUyMjNDXCIsVGlsZGVFcXVhbDpcIlxcdTIyNDNcIixzaW1lOlwiXFx1MjI0M1wiLHNpbWVxOlwiXFx1MjI0M1wiLFRpbGRlRnVsbEVxdWFsOlwiXFx1MjI0NVwiLGNvbmc6XCJcXHUyMjQ1XCIsVGlsZGVUaWxkZTpcIlxcdTIyNDhcIixhcDpcIlxcdTIyNDhcIixhcHByb3g6XCJcXHUyMjQ4XCIsYXN5bXA6XCJcXHUyMjQ4XCIsdGhpY2thcHByb3g6XCJcXHUyMjQ4XCIsdGhrYXA6XCJcXHUyMjQ4XCIsVG9wZjpcIlxcdXsxRDU0Qn1cIixUcmlwbGVEb3Q6XCJcXHUyMERCXCIsdGRvdDpcIlxcdTIwREJcIixUc2NyOlwiXFx1ezFENEFGfVwiLFRzdHJvazpcIlxcdTAxNjZcIixVYWN1dGU6XCJcXHhEQVwiLFVhcnI6XCJcXHUyMTlGXCIsVWFycm9jaXI6XCJcXHUyOTQ5XCIsVWJyY3k6XCJcXHUwNDBFXCIsVWJyZXZlOlwiXFx1MDE2Q1wiLFVjaXJjOlwiXFx4REJcIixVY3k6XCJcXHUwNDIzXCIsVWRibGFjOlwiXFx1MDE3MFwiLFVmcjpcIlxcdXsxRDUxOH1cIixVZ3JhdmU6XCJcXHhEOVwiLFVtYWNyOlwiXFx1MDE2QVwiLFVuZGVyQmFyOlwiX1wiLGxvd2JhcjpcIl9cIixVbmRlckJyYWNlOlwiXFx1MjNERlwiLFVuZGVyQnJhY2tldDpcIlxcdTIzQjVcIixiYnJrOlwiXFx1MjNCNVwiLFVuZGVyUGFyZW50aGVzaXM6XCJcXHUyM0REXCIsVW5pb246XCJcXHUyMkMzXCIsYmlnY3VwOlwiXFx1MjJDM1wiLHhjdXA6XCJcXHUyMkMzXCIsVW5pb25QbHVzOlwiXFx1MjI4RVwiLHVwbHVzOlwiXFx1MjI4RVwiLFVvZ29uOlwiXFx1MDE3MlwiLFVvcGY6XCJcXHV7MUQ1NEN9XCIsVXBBcnJvd0JhcjpcIlxcdTI5MTJcIixVcEFycm93RG93bkFycm93OlwiXFx1MjFDNVwiLHVkYXJyOlwiXFx1MjFDNVwiLFVwRG93bkFycm93OlwiXFx1MjE5NVwiLHVwZG93bmFycm93OlwiXFx1MjE5NVwiLHZhcnI6XCJcXHUyMTk1XCIsVXBFcXVpbGlicml1bTpcIlxcdTI5NkVcIix1ZGhhcjpcIlxcdTI5NkVcIixVcFRlZTpcIlxcdTIyQTVcIixib3Q6XCJcXHUyMkE1XCIsYm90dG9tOlwiXFx1MjJBNVwiLHBlcnA6XCJcXHUyMkE1XCIsVXBUZWVBcnJvdzpcIlxcdTIxQTVcIixtYXBzdG91cDpcIlxcdTIxQTVcIixVcHBlckxlZnRBcnJvdzpcIlxcdTIxOTZcIixud2FycjpcIlxcdTIxOTZcIixud2Fycm93OlwiXFx1MjE5NlwiLFVwcGVyUmlnaHRBcnJvdzpcIlxcdTIxOTdcIixuZWFycjpcIlxcdTIxOTdcIixuZWFycm93OlwiXFx1MjE5N1wiLFVwc2k6XCJcXHUwM0QyXCIsdXBzaWg6XCJcXHUwM0QyXCIsVXBzaWxvbjpcIlxcdTAzQTVcIixVcmluZzpcIlxcdTAxNkVcIixVc2NyOlwiXFx1ezFENEIwfVwiLFV0aWxkZTpcIlxcdTAxNjhcIixVdW1sOlwiXFx4RENcIixWRGFzaDpcIlxcdTIyQUJcIixWYmFyOlwiXFx1MkFFQlwiLFZjeTpcIlxcdTA0MTJcIixWZGFzaDpcIlxcdTIyQTlcIixWZGFzaGw6XCJcXHUyQUU2XCIsVmVlOlwiXFx1MjJDMVwiLGJpZ3ZlZTpcIlxcdTIyQzFcIix4dmVlOlwiXFx1MjJDMVwiLFZlcmJhcjpcIlxcdTIwMTZcIixWZXJ0OlwiXFx1MjAxNlwiLFZlcnRpY2FsQmFyOlwiXFx1MjIyM1wiLG1pZDpcIlxcdTIyMjNcIixzaG9ydG1pZDpcIlxcdTIyMjNcIixzbWlkOlwiXFx1MjIyM1wiLFZlcnRpY2FsTGluZTpcInxcIix2ZXJiYXI6XCJ8XCIsdmVydDpcInxcIixWZXJ0aWNhbFNlcGFyYXRvcjpcIlxcdTI3NThcIixWZXJ0aWNhbFRpbGRlOlwiXFx1MjI0MFwiLHdyOlwiXFx1MjI0MFwiLHdyZWF0aDpcIlxcdTIyNDBcIixWZXJ5VGhpblNwYWNlOlwiXFx1MjAwQVwiLGhhaXJzcDpcIlxcdTIwMEFcIixWZnI6XCJcXHV7MUQ1MTl9XCIsVm9wZjpcIlxcdXsxRDU0RH1cIixWc2NyOlwiXFx1ezFENEIxfVwiLFZ2ZGFzaDpcIlxcdTIyQUFcIixXY2lyYzpcIlxcdTAxNzRcIixXZWRnZTpcIlxcdTIyQzBcIixiaWd3ZWRnZTpcIlxcdTIyQzBcIix4d2VkZ2U6XCJcXHUyMkMwXCIsV2ZyOlwiXFx1ezFENTFBfVwiLFdvcGY6XCJcXHV7MUQ1NEV9XCIsV3NjcjpcIlxcdXsxRDRCMn1cIixYZnI6XCJcXHV7MUQ1MUJ9XCIsWGk6XCJcXHUwMzlFXCIsWG9wZjpcIlxcdXsxRDU0Rn1cIixYc2NyOlwiXFx1ezFENEIzfVwiLFlBY3k6XCJcXHUwNDJGXCIsWUljeTpcIlxcdTA0MDdcIixZVWN5OlwiXFx1MDQyRVwiLFlhY3V0ZTpcIlxceEREXCIsWWNpcmM6XCJcXHUwMTc2XCIsWWN5OlwiXFx1MDQyQlwiLFlmcjpcIlxcdXsxRDUxQ31cIixZb3BmOlwiXFx1ezFENTUwfVwiLFlzY3I6XCJcXHV7MUQ0QjR9XCIsWXVtbDpcIlxcdTAxNzhcIixaSGN5OlwiXFx1MDQxNlwiLFphY3V0ZTpcIlxcdTAxNzlcIixaY2Fyb246XCJcXHUwMTdEXCIsWmN5OlwiXFx1MDQxN1wiLFpkb3Q6XCJcXHUwMTdCXCIsWmV0YTpcIlxcdTAzOTZcIixaZnI6XCJcXHUyMTI4XCIsemVldHJmOlwiXFx1MjEyOFwiLFpvcGY6XCJcXHUyMTI0XCIsaW50ZWdlcnM6XCJcXHUyMTI0XCIsWnNjcjpcIlxcdXsxRDRCNX1cIixhYWN1dGU6XCJcXHhFMVwiLGFicmV2ZTpcIlxcdTAxMDNcIixhYzpcIlxcdTIyM0VcIixtc3Rwb3M6XCJcXHUyMjNFXCIsYWNFOlwiXFx1MjIzRVxcdTAzMzNcIixhY2Q6XCJcXHUyMjNGXCIsYWNpcmM6XCJcXHhFMlwiLGFjeTpcIlxcdTA0MzBcIixhZWxpZzpcIlxceEU2XCIsYWZyOlwiXFx1ezFENTFFfVwiLGFncmF2ZTpcIlxceEUwXCIsYWxlZnN5bTpcIlxcdTIxMzVcIixhbGVwaDpcIlxcdTIxMzVcIixhbHBoYTpcIlxcdTAzQjFcIixhbWFjcjpcIlxcdTAxMDFcIixhbWFsZzpcIlxcdTJBM0ZcIixhbmQ6XCJcXHUyMjI3XCIsd2VkZ2U6XCJcXHUyMjI3XCIsYW5kYW5kOlwiXFx1MkE1NVwiLGFuZGQ6XCJcXHUyQTVDXCIsYW5kc2xvcGU6XCJcXHUyQTU4XCIsYW5kdjpcIlxcdTJBNUFcIixhbmc6XCJcXHUyMjIwXCIsYW5nbGU6XCJcXHUyMjIwXCIsYW5nZTpcIlxcdTI5QTRcIixhbmdtc2Q6XCJcXHUyMjIxXCIsbWVhc3VyZWRhbmdsZTpcIlxcdTIyMjFcIixhbmdtc2RhYTpcIlxcdTI5QThcIixhbmdtc2RhYjpcIlxcdTI5QTlcIixhbmdtc2RhYzpcIlxcdTI5QUFcIixhbmdtc2RhZDpcIlxcdTI5QUJcIixhbmdtc2RhZTpcIlxcdTI5QUNcIixhbmdtc2RhZjpcIlxcdTI5QURcIixhbmdtc2RhZzpcIlxcdTI5QUVcIixhbmdtc2RhaDpcIlxcdTI5QUZcIixhbmdydDpcIlxcdTIyMUZcIixhbmdydHZiOlwiXFx1MjJCRVwiLGFuZ3J0dmJkOlwiXFx1Mjk5RFwiLGFuZ3NwaDpcIlxcdTIyMjJcIixhbmd6YXJyOlwiXFx1MjM3Q1wiLGFvZ29uOlwiXFx1MDEwNVwiLGFvcGY6XCJcXHV7MUQ1NTJ9XCIsYXBFOlwiXFx1MkE3MFwiLGFwYWNpcjpcIlxcdTJBNkZcIixhcGU6XCJcXHUyMjRBXCIsYXBwcm94ZXE6XCJcXHUyMjRBXCIsYXBpZDpcIlxcdTIyNEJcIixhcG9zOlwiJ1wiLGFyaW5nOlwiXFx4RTVcIixhc2NyOlwiXFx1ezFENEI2fVwiLGFzdDpcIipcIixtaWRhc3Q6XCIqXCIsYXRpbGRlOlwiXFx4RTNcIixhdW1sOlwiXFx4RTRcIixhd2ludDpcIlxcdTJBMTFcIixiTm90OlwiXFx1MkFFRFwiLGJhY2tjb25nOlwiXFx1MjI0Q1wiLGJjb25nOlwiXFx1MjI0Q1wiLGJhY2tlcHNpbG9uOlwiXFx1MDNGNlwiLGJlcHNpOlwiXFx1MDNGNlwiLGJhY2twcmltZTpcIlxcdTIwMzVcIixicHJpbWU6XCJcXHUyMDM1XCIsYmFja3NpbTpcIlxcdTIyM0RcIixic2ltOlwiXFx1MjIzRFwiLGJhY2tzaW1lcTpcIlxcdTIyQ0RcIixic2ltZTpcIlxcdTIyQ0RcIixiYXJ2ZWU6XCJcXHUyMkJEXCIsYmFyd2VkOlwiXFx1MjMwNVwiLGJhcndlZGdlOlwiXFx1MjMwNVwiLGJicmt0YnJrOlwiXFx1MjNCNlwiLGJjeTpcIlxcdTA0MzFcIixiZHF1bzpcIlxcdTIwMUVcIixsZHF1b3I6XCJcXHUyMDFFXCIsYmVtcHR5djpcIlxcdTI5QjBcIixiZXRhOlwiXFx1MDNCMlwiLGJldGg6XCJcXHUyMTM2XCIsYmV0d2VlbjpcIlxcdTIyNkNcIix0d2l4dDpcIlxcdTIyNkNcIixiZnI6XCJcXHV7MUQ1MUZ9XCIsYmlnY2lyYzpcIlxcdTI1RUZcIix4Y2lyYzpcIlxcdTI1RUZcIixiaWdvZG90OlwiXFx1MkEwMFwiLHhvZG90OlwiXFx1MkEwMFwiLGJpZ29wbHVzOlwiXFx1MkEwMVwiLHhvcGx1czpcIlxcdTJBMDFcIixiaWdvdGltZXM6XCJcXHUyQTAyXCIseG90aW1lOlwiXFx1MkEwMlwiLGJpZ3NxY3VwOlwiXFx1MkEwNlwiLHhzcWN1cDpcIlxcdTJBMDZcIixiaWdzdGFyOlwiXFx1MjYwNVwiLHN0YXJmOlwiXFx1MjYwNVwiLGJpZ3RyaWFuZ2xlZG93bjpcIlxcdTI1QkRcIix4ZHRyaTpcIlxcdTI1QkRcIixiaWd0cmlhbmdsZXVwOlwiXFx1MjVCM1wiLHh1dHJpOlwiXFx1MjVCM1wiLGJpZ3VwbHVzOlwiXFx1MkEwNFwiLHh1cGx1czpcIlxcdTJBMDRcIixia2Fyb3c6XCJcXHUyOTBEXCIscmJhcnI6XCJcXHUyOTBEXCIsYmxhY2tsb3plbmdlOlwiXFx1MjlFQlwiLGxvemY6XCJcXHUyOUVCXCIsYmxhY2t0cmlhbmdsZTpcIlxcdTI1QjRcIix1dHJpZjpcIlxcdTI1QjRcIixibGFja3RyaWFuZ2xlZG93bjpcIlxcdTI1QkVcIixkdHJpZjpcIlxcdTI1QkVcIixibGFja3RyaWFuZ2xlbGVmdDpcIlxcdTI1QzJcIixsdHJpZjpcIlxcdTI1QzJcIixibGFja3RyaWFuZ2xlcmlnaHQ6XCJcXHUyNUI4XCIscnRyaWY6XCJcXHUyNUI4XCIsYmxhbms6XCJcXHUyNDIzXCIsYmxrMTI6XCJcXHUyNTkyXCIsYmxrMTQ6XCJcXHUyNTkxXCIsYmxrMzQ6XCJcXHUyNTkzXCIsYmxvY2s6XCJcXHUyNTg4XCIsYm5lOlwiPVxcdTIwRTVcIixibmVxdWl2OlwiXFx1MjI2MVxcdTIwRTVcIixibm90OlwiXFx1MjMxMFwiLGJvcGY6XCJcXHV7MUQ1NTN9XCIsYm93dGllOlwiXFx1MjJDOFwiLGJveERMOlwiXFx1MjU1N1wiLGJveERSOlwiXFx1MjU1NFwiLGJveERsOlwiXFx1MjU1NlwiLGJveERyOlwiXFx1MjU1M1wiLGJveEg6XCJcXHUyNTUwXCIsYm94SEQ6XCJcXHUyNTY2XCIsYm94SFU6XCJcXHUyNTY5XCIsYm94SGQ6XCJcXHUyNTY0XCIsYm94SHU6XCJcXHUyNTY3XCIsYm94VUw6XCJcXHUyNTVEXCIsYm94VVI6XCJcXHUyNTVBXCIsYm94VWw6XCJcXHUyNTVDXCIsYm94VXI6XCJcXHUyNTU5XCIsYm94VjpcIlxcdTI1NTFcIixib3hWSDpcIlxcdTI1NkNcIixib3hWTDpcIlxcdTI1NjNcIixib3hWUjpcIlxcdTI1NjBcIixib3hWaDpcIlxcdTI1NkJcIixib3hWbDpcIlxcdTI1NjJcIixib3hWcjpcIlxcdTI1NUZcIixib3hib3g6XCJcXHUyOUM5XCIsYm94ZEw6XCJcXHUyNTU1XCIsYm94ZFI6XCJcXHUyNTUyXCIsYm94ZGw6XCJcXHUyNTEwXCIsYm94ZHI6XCJcXHUyNTBDXCIsYm94aEQ6XCJcXHUyNTY1XCIsYm94aFU6XCJcXHUyNTY4XCIsYm94aGQ6XCJcXHUyNTJDXCIsYm94aHU6XCJcXHUyNTM0XCIsYm94bWludXM6XCJcXHUyMjlGXCIsbWludXNiOlwiXFx1MjI5RlwiLGJveHBsdXM6XCJcXHUyMjlFXCIscGx1c2I6XCJcXHUyMjlFXCIsYm94dGltZXM6XCJcXHUyMkEwXCIsdGltZXNiOlwiXFx1MjJBMFwiLGJveHVMOlwiXFx1MjU1QlwiLGJveHVSOlwiXFx1MjU1OFwiLGJveHVsOlwiXFx1MjUxOFwiLGJveHVyOlwiXFx1MjUxNFwiLGJveHY6XCJcXHUyNTAyXCIsYm94dkg6XCJcXHUyNTZBXCIsYm94dkw6XCJcXHUyNTYxXCIsYm94dlI6XCJcXHUyNTVFXCIsYm94dmg6XCJcXHUyNTNDXCIsYm94dmw6XCJcXHUyNTI0XCIsYm94dnI6XCJcXHUyNTFDXCIsYnJ2YmFyOlwiXFx4QTZcIixic2NyOlwiXFx1ezFENEI3fVwiLGJzZW1pOlwiXFx1MjA0RlwiLGJzb2w6XCJcXFxcXCIsYnNvbGI6XCJcXHUyOUM1XCIsYnNvbGhzdWI6XCJcXHUyN0M4XCIsYnVsbDpcIlxcdTIwMjJcIixidWxsZXQ6XCJcXHUyMDIyXCIsYnVtcEU6XCJcXHUyQUFFXCIsY2FjdXRlOlwiXFx1MDEwN1wiLGNhcDpcIlxcdTIyMjlcIixjYXBhbmQ6XCJcXHUyQTQ0XCIsY2FwYnJjdXA6XCJcXHUyQTQ5XCIsY2FwY2FwOlwiXFx1MkE0QlwiLGNhcGN1cDpcIlxcdTJBNDdcIixjYXBkb3Q6XCJcXHUyQTQwXCIsY2FwczpcIlxcdTIyMjlcXHVGRTAwXCIsY2FyZXQ6XCJcXHUyMDQxXCIsY2NhcHM6XCJcXHUyQTREXCIsY2Nhcm9uOlwiXFx1MDEwRFwiLGNjZWRpbDpcIlxceEU3XCIsY2NpcmM6XCJcXHUwMTA5XCIsY2N1cHM6XCJcXHUyQTRDXCIsY2N1cHNzbTpcIlxcdTJBNTBcIixjZG90OlwiXFx1MDEwQlwiLGNlbXB0eXY6XCJcXHUyOUIyXCIsY2VudDpcIlxceEEyXCIsY2ZyOlwiXFx1ezFENTIwfVwiLGNoY3k6XCJcXHUwNDQ3XCIsY2hlY2s6XCJcXHUyNzEzXCIsY2hlY2ttYXJrOlwiXFx1MjcxM1wiLGNoaTpcIlxcdTAzQzdcIixjaXI6XCJcXHUyNUNCXCIsY2lyRTpcIlxcdTI5QzNcIixjaXJjOlwiXFx1MDJDNlwiLGNpcmNlcTpcIlxcdTIyNTdcIixjaXJlOlwiXFx1MjI1N1wiLGNpcmNsZWFycm93bGVmdDpcIlxcdTIxQkFcIixvbGFycjpcIlxcdTIxQkFcIixjaXJjbGVhcnJvd3JpZ2h0OlwiXFx1MjFCQlwiLG9yYXJyOlwiXFx1MjFCQlwiLGNpcmNsZWRTOlwiXFx1MjRDOFwiLG9TOlwiXFx1MjRDOFwiLGNpcmNsZWRhc3Q6XCJcXHUyMjlCXCIsb2FzdDpcIlxcdTIyOUJcIixjaXJjbGVkY2lyYzpcIlxcdTIyOUFcIixvY2lyOlwiXFx1MjI5QVwiLGNpcmNsZWRkYXNoOlwiXFx1MjI5RFwiLG9kYXNoOlwiXFx1MjI5RFwiLGNpcmZuaW50OlwiXFx1MkExMFwiLGNpcm1pZDpcIlxcdTJBRUZcIixjaXJzY2lyOlwiXFx1MjlDMlwiLGNsdWJzOlwiXFx1MjY2M1wiLGNsdWJzdWl0OlwiXFx1MjY2M1wiLGNvbG9uOlwiOlwiLGNvbW1hOlwiLFwiLGNvbW1hdDpcIkBcIixjb21wOlwiXFx1MjIwMVwiLGNvbXBsZW1lbnQ6XCJcXHUyMjAxXCIsY29uZ2RvdDpcIlxcdTJBNkRcIixjb3BmOlwiXFx1ezFENTU0fVwiLGNvcHlzcjpcIlxcdTIxMTdcIixjcmFycjpcIlxcdTIxQjVcIixjcm9zczpcIlxcdTI3MTdcIixjc2NyOlwiXFx1ezFENEI4fVwiLGNzdWI6XCJcXHUyQUNGXCIsY3N1YmU6XCJcXHUyQUQxXCIsY3N1cDpcIlxcdTJBRDBcIixjc3VwZTpcIlxcdTJBRDJcIixjdGRvdDpcIlxcdTIyRUZcIixjdWRhcnJsOlwiXFx1MjkzOFwiLGN1ZGFycnI6XCJcXHUyOTM1XCIsY3VlcHI6XCJcXHUyMkRFXCIsY3VybHllcXByZWM6XCJcXHUyMkRFXCIsY3Vlc2M6XCJcXHUyMkRGXCIsY3VybHllcXN1Y2M6XCJcXHUyMkRGXCIsY3VsYXJyOlwiXFx1MjFCNlwiLGN1cnZlYXJyb3dsZWZ0OlwiXFx1MjFCNlwiLGN1bGFycnA6XCJcXHUyOTNEXCIsY3VwOlwiXFx1MjIyQVwiLGN1cGJyY2FwOlwiXFx1MkE0OFwiLGN1cGNhcDpcIlxcdTJBNDZcIixjdXBjdXA6XCJcXHUyQTRBXCIsY3VwZG90OlwiXFx1MjI4RFwiLGN1cG9yOlwiXFx1MkE0NVwiLGN1cHM6XCJcXHUyMjJBXFx1RkUwMFwiLGN1cmFycjpcIlxcdTIxQjdcIixjdXJ2ZWFycm93cmlnaHQ6XCJcXHUyMUI3XCIsY3VyYXJybTpcIlxcdTI5M0NcIixjdXJseXZlZTpcIlxcdTIyQ0VcIixjdXZlZTpcIlxcdTIyQ0VcIixjdXJseXdlZGdlOlwiXFx1MjJDRlwiLGN1d2VkOlwiXFx1MjJDRlwiLGN1cnJlbjpcIlxceEE0XCIsY3dpbnQ6XCJcXHUyMjMxXCIsY3lsY3R5OlwiXFx1MjMyRFwiLGRIYXI6XCJcXHUyOTY1XCIsZGFnZ2VyOlwiXFx1MjAyMFwiLGRhbGV0aDpcIlxcdTIxMzhcIixkYXNoOlwiXFx1MjAxMFwiLGh5cGhlbjpcIlxcdTIwMTBcIixkYmthcm93OlwiXFx1MjkwRlwiLHJCYXJyOlwiXFx1MjkwRlwiLGRjYXJvbjpcIlxcdTAxMEZcIixkY3k6XCJcXHUwNDM0XCIsZGRhcnI6XCJcXHUyMUNBXCIsZG93bmRvd25hcnJvd3M6XCJcXHUyMUNBXCIsZGRvdHNlcTpcIlxcdTJBNzdcIixlRERvdDpcIlxcdTJBNzdcIixkZWc6XCJcXHhCMFwiLGRlbHRhOlwiXFx1MDNCNFwiLGRlbXB0eXY6XCJcXHUyOUIxXCIsZGZpc2h0OlwiXFx1Mjk3RlwiLGRmcjpcIlxcdXsxRDUyMX1cIixkaWFtb25kc3VpdDpcIlxcdTI2NjZcIixkaWFtczpcIlxcdTI2NjZcIixkaWdhbW1hOlwiXFx1MDNERFwiLGdhbW1hZDpcIlxcdTAzRERcIixkaXNpbjpcIlxcdTIyRjJcIixkaXY6XCJcXHhGN1wiLGRpdmlkZTpcIlxceEY3XCIsZGl2aWRlb250aW1lczpcIlxcdTIyQzdcIixkaXZvbng6XCJcXHUyMkM3XCIsZGpjeTpcIlxcdTA0NTJcIixkbGNvcm46XCJcXHUyMzFFXCIsbGxjb3JuZXI6XCJcXHUyMzFFXCIsZGxjcm9wOlwiXFx1MjMwRFwiLGRvbGxhcjpcIiRcIixkb3BmOlwiXFx1ezFENTU1fVwiLGRvdGVxZG90OlwiXFx1MjI1MVwiLGVEb3Q6XCJcXHUyMjUxXCIsZG90bWludXM6XCJcXHUyMjM4XCIsbWludXNkOlwiXFx1MjIzOFwiLGRvdHBsdXM6XCJcXHUyMjE0XCIscGx1c2RvOlwiXFx1MjIxNFwiLGRvdHNxdWFyZTpcIlxcdTIyQTFcIixzZG90YjpcIlxcdTIyQTFcIixkcmNvcm46XCJcXHUyMzFGXCIsbHJjb3JuZXI6XCJcXHUyMzFGXCIsZHJjcm9wOlwiXFx1MjMwQ1wiLGRzY3I6XCJcXHV7MUQ0Qjl9XCIsZHNjeTpcIlxcdTA0NTVcIixkc29sOlwiXFx1MjlGNlwiLGRzdHJvazpcIlxcdTAxMTFcIixkdGRvdDpcIlxcdTIyRjFcIixkdHJpOlwiXFx1MjVCRlwiLHRyaWFuZ2xlZG93bjpcIlxcdTI1QkZcIixkd2FuZ2xlOlwiXFx1MjlBNlwiLGR6Y3k6XCJcXHUwNDVGXCIsZHppZ3JhcnI6XCJcXHUyN0ZGXCIsZWFjdXRlOlwiXFx4RTlcIixlYXN0ZXI6XCJcXHUyQTZFXCIsZWNhcm9uOlwiXFx1MDExQlwiLGVjaXI6XCJcXHUyMjU2XCIsZXFjaXJjOlwiXFx1MjI1NlwiLGVjaXJjOlwiXFx4RUFcIixlY29sb246XCJcXHUyMjU1XCIsZXFjb2xvbjpcIlxcdTIyNTVcIixlY3k6XCJcXHUwNDREXCIsZWRvdDpcIlxcdTAxMTdcIixlZkRvdDpcIlxcdTIyNTJcIixmYWxsaW5nZG90c2VxOlwiXFx1MjI1MlwiLGVmcjpcIlxcdXsxRDUyMn1cIixlZzpcIlxcdTJBOUFcIixlZ3JhdmU6XCJcXHhFOFwiLGVnczpcIlxcdTJBOTZcIixlcXNsYW50Z3RyOlwiXFx1MkE5NlwiLGVnc2RvdDpcIlxcdTJBOThcIixlbDpcIlxcdTJBOTlcIixlbGludGVyczpcIlxcdTIzRTdcIixlbGw6XCJcXHUyMTEzXCIsZWxzOlwiXFx1MkE5NVwiLGVxc2xhbnRsZXNzOlwiXFx1MkE5NVwiLGVsc2RvdDpcIlxcdTJBOTdcIixlbWFjcjpcIlxcdTAxMTNcIixlbXB0eTpcIlxcdTIyMDVcIixlbXB0eXNldDpcIlxcdTIyMDVcIixlbXB0eXY6XCJcXHUyMjA1XCIsdmFybm90aGluZzpcIlxcdTIyMDVcIixlbXNwMTM6XCJcXHUyMDA0XCIsZW1zcDE0OlwiXFx1MjAwNVwiLGVtc3A6XCJcXHUyMDAzXCIsZW5nOlwiXFx1MDE0QlwiLGVuc3A6XCJcXHUyMDAyXCIsZW9nb246XCJcXHUwMTE5XCIsZW9wZjpcIlxcdXsxRDU1Nn1cIixlcGFyOlwiXFx1MjJENVwiLGVwYXJzbDpcIlxcdTI5RTNcIixlcGx1czpcIlxcdTJBNzFcIixlcHNpOlwiXFx1MDNCNVwiLGVwc2lsb246XCJcXHUwM0I1XCIsZXBzaXY6XCJcXHUwM0Y1XCIsc3RyYWlnaHRlcHNpbG9uOlwiXFx1MDNGNVwiLHZhcmVwc2lsb246XCJcXHUwM0Y1XCIsZXF1YWxzOlwiPVwiLGVxdWVzdDpcIlxcdTIyNUZcIixxdWVzdGVxOlwiXFx1MjI1RlwiLGVxdWl2REQ6XCJcXHUyQTc4XCIsZXF2cGFyc2w6XCJcXHUyOUU1XCIsZXJEb3Q6XCJcXHUyMjUzXCIscmlzaW5nZG90c2VxOlwiXFx1MjI1M1wiLGVyYXJyOlwiXFx1Mjk3MVwiLGVzY3I6XCJcXHUyMTJGXCIsZXRhOlwiXFx1MDNCN1wiLGV0aDpcIlxceEYwXCIsZXVtbDpcIlxceEVCXCIsZXVybzpcIlxcdTIwQUNcIixleGNsOlwiIVwiLGZjeTpcIlxcdTA0NDRcIixmZW1hbGU6XCJcXHUyNjQwXCIsZmZpbGlnOlwiXFx1RkIwM1wiLGZmbGlnOlwiXFx1RkIwMFwiLGZmbGxpZzpcIlxcdUZCMDRcIixmZnI6XCJcXHV7MUQ1MjN9XCIsZmlsaWc6XCJcXHVGQjAxXCIsZmpsaWc6XCJmalwiLGZsYXQ6XCJcXHUyNjZEXCIsZmxsaWc6XCJcXHVGQjAyXCIsZmx0bnM6XCJcXHUyNUIxXCIsZm5vZjpcIlxcdTAxOTJcIixmb3BmOlwiXFx1ezFENTU3fVwiLGZvcms6XCJcXHUyMkQ0XCIscGl0Y2hmb3JrOlwiXFx1MjJENFwiLGZvcmt2OlwiXFx1MkFEOVwiLGZwYXJ0aW50OlwiXFx1MkEwRFwiLGZyYWMxMjpcIlxceEJEXCIsaGFsZjpcIlxceEJEXCIsZnJhYzEzOlwiXFx1MjE1M1wiLGZyYWMxNDpcIlxceEJDXCIsZnJhYzE1OlwiXFx1MjE1NVwiLGZyYWMxNjpcIlxcdTIxNTlcIixmcmFjMTg6XCJcXHUyMTVCXCIsZnJhYzIzOlwiXFx1MjE1NFwiLGZyYWMyNTpcIlxcdTIxNTZcIixmcmFjMzQ6XCJcXHhCRVwiLGZyYWMzNTpcIlxcdTIxNTdcIixmcmFjMzg6XCJcXHUyMTVDXCIsZnJhYzQ1OlwiXFx1MjE1OFwiLGZyYWM1NjpcIlxcdTIxNUFcIixmcmFjNTg6XCJcXHUyMTVEXCIsZnJhYzc4OlwiXFx1MjE1RVwiLGZyYXNsOlwiXFx1MjA0NFwiLGZyb3duOlwiXFx1MjMyMlwiLHNmcm93bjpcIlxcdTIzMjJcIixmc2NyOlwiXFx1ezFENEJCfVwiLGdFbDpcIlxcdTJBOENcIixndHJlcXFsZXNzOlwiXFx1MkE4Q1wiLGdhY3V0ZTpcIlxcdTAxRjVcIixnYW1tYTpcIlxcdTAzQjNcIixnYXA6XCJcXHUyQTg2XCIsZ3RyYXBwcm94OlwiXFx1MkE4NlwiLGdicmV2ZTpcIlxcdTAxMUZcIixnY2lyYzpcIlxcdTAxMURcIixnY3k6XCJcXHUwNDMzXCIsZ2RvdDpcIlxcdTAxMjFcIixnZXNjYzpcIlxcdTJBQTlcIixnZXNkb3Q6XCJcXHUyQTgwXCIsZ2VzZG90bzpcIlxcdTJBODJcIixnZXNkb3RvbDpcIlxcdTJBODRcIixnZXNsOlwiXFx1MjJEQlxcdUZFMDBcIixnZXNsZXM6XCJcXHUyQTk0XCIsZ2ZyOlwiXFx1ezFENTI0fVwiLGdpbWVsOlwiXFx1MjEzN1wiLGdqY3k6XCJcXHUwNDUzXCIsZ2xFOlwiXFx1MkE5MlwiLGdsYTpcIlxcdTJBQTVcIixnbGo6XCJcXHUyQUE0XCIsZ25FOlwiXFx1MjI2OVwiLGduZXFxOlwiXFx1MjI2OVwiLGduYXA6XCJcXHUyQThBXCIsZ25hcHByb3g6XCJcXHUyQThBXCIsZ25lOlwiXFx1MkE4OFwiLGduZXE6XCJcXHUyQTg4XCIsZ25zaW06XCJcXHUyMkU3XCIsZ29wZjpcIlxcdXsxRDU1OH1cIixnc2NyOlwiXFx1MjEwQVwiLGdzaW1lOlwiXFx1MkE4RVwiLGdzaW1sOlwiXFx1MkE5MFwiLGd0Y2M6XCJcXHUyQUE3XCIsZ3RjaXI6XCJcXHUyQTdBXCIsZ3Rkb3Q6XCJcXHUyMkQ3XCIsZ3RyZG90OlwiXFx1MjJEN1wiLGd0bFBhcjpcIlxcdTI5OTVcIixndHF1ZXN0OlwiXFx1MkE3Q1wiLGd0cmFycjpcIlxcdTI5NzhcIixndmVydG5lcXE6XCJcXHUyMjY5XFx1RkUwMFwiLGd2bkU6XCJcXHUyMjY5XFx1RkUwMFwiLGhhcmRjeTpcIlxcdTA0NEFcIixoYXJyY2lyOlwiXFx1Mjk0OFwiLGhhcnJ3OlwiXFx1MjFBRFwiLGxlZnRyaWdodHNxdWlnYXJyb3c6XCJcXHUyMUFEXCIsaGJhcjpcIlxcdTIxMEZcIixoc2xhc2g6XCJcXHUyMTBGXCIscGxhbmNrOlwiXFx1MjEwRlwiLHBsYW5rdjpcIlxcdTIxMEZcIixoY2lyYzpcIlxcdTAxMjVcIixoZWFydHM6XCJcXHUyNjY1XCIsaGVhcnRzdWl0OlwiXFx1MjY2NVwiLGhlbGxpcDpcIlxcdTIwMjZcIixtbGRyOlwiXFx1MjAyNlwiLGhlcmNvbjpcIlxcdTIyQjlcIixoZnI6XCJcXHV7MUQ1MjV9XCIsaGtzZWFyb3c6XCJcXHUyOTI1XCIsc2VhcmhrOlwiXFx1MjkyNVwiLGhrc3dhcm93OlwiXFx1MjkyNlwiLHN3YXJoazpcIlxcdTI5MjZcIixob2FycjpcIlxcdTIxRkZcIixob210aHQ6XCJcXHUyMjNCXCIsaG9va2xlZnRhcnJvdzpcIlxcdTIxQTlcIixsYXJyaGs6XCJcXHUyMUE5XCIsaG9va3JpZ2h0YXJyb3c6XCJcXHUyMUFBXCIscmFycmhrOlwiXFx1MjFBQVwiLGhvcGY6XCJcXHV7MUQ1NTl9XCIsaG9yYmFyOlwiXFx1MjAxNVwiLGhzY3I6XCJcXHV7MUQ0QkR9XCIsaHN0cm9rOlwiXFx1MDEyN1wiLGh5YnVsbDpcIlxcdTIwNDNcIixpYWN1dGU6XCJcXHhFRFwiLGljaXJjOlwiXFx4RUVcIixpY3k6XCJcXHUwNDM4XCIsaWVjeTpcIlxcdTA0MzVcIixpZXhjbDpcIlxceEExXCIsaWZyOlwiXFx1ezFENTI2fVwiLGlncmF2ZTpcIlxceEVDXCIsaWlpaW50OlwiXFx1MkEwQ1wiLHFpbnQ6XCJcXHUyQTBDXCIsaWlpbnQ6XCJcXHUyMjJEXCIsdGludDpcIlxcdTIyMkRcIixpaW5maW46XCJcXHUyOURDXCIsaWlvdGE6XCJcXHUyMTI5XCIsaWpsaWc6XCJcXHUwMTMzXCIsaW1hY3I6XCJcXHUwMTJCXCIsaW1hdGg6XCJcXHUwMTMxXCIsaW5vZG90OlwiXFx1MDEzMVwiLGltb2Y6XCJcXHUyMkI3XCIsaW1wZWQ6XCJcXHUwMUI1XCIsaW5jYXJlOlwiXFx1MjEwNVwiLGluZmluOlwiXFx1MjIxRVwiLGluZmludGllOlwiXFx1MjlERFwiLGludGNhbDpcIlxcdTIyQkFcIixpbnRlcmNhbDpcIlxcdTIyQkFcIixpbnRsYXJoazpcIlxcdTJBMTdcIixpbnRwcm9kOlwiXFx1MkEzQ1wiLGlwcm9kOlwiXFx1MkEzQ1wiLGlvY3k6XCJcXHUwNDUxXCIsaW9nb246XCJcXHUwMTJGXCIsaW9wZjpcIlxcdXsxRDU1QX1cIixpb3RhOlwiXFx1MDNCOVwiLGlxdWVzdDpcIlxceEJGXCIsaXNjcjpcIlxcdXsxRDRCRX1cIixpc2luRTpcIlxcdTIyRjlcIixpc2luZG90OlwiXFx1MjJGNVwiLGlzaW5zOlwiXFx1MjJGNFwiLGlzaW5zdjpcIlxcdTIyRjNcIixpdGlsZGU6XCJcXHUwMTI5XCIsaXVrY3k6XCJcXHUwNDU2XCIsaXVtbDpcIlxceEVGXCIsamNpcmM6XCJcXHUwMTM1XCIsamN5OlwiXFx1MDQzOVwiLGpmcjpcIlxcdXsxRDUyN31cIixqbWF0aDpcIlxcdTAyMzdcIixqb3BmOlwiXFx1ezFENTVCfVwiLGpzY3I6XCJcXHV7MUQ0QkZ9XCIsanNlcmN5OlwiXFx1MDQ1OFwiLGp1a2N5OlwiXFx1MDQ1NFwiLGthcHBhOlwiXFx1MDNCQVwiLGthcHBhdjpcIlxcdTAzRjBcIix2YXJrYXBwYTpcIlxcdTAzRjBcIixrY2VkaWw6XCJcXHUwMTM3XCIsa2N5OlwiXFx1MDQzQVwiLGtmcjpcIlxcdXsxRDUyOH1cIixrZ3JlZW46XCJcXHUwMTM4XCIsa2hjeTpcIlxcdTA0NDVcIixramN5OlwiXFx1MDQ1Q1wiLGtvcGY6XCJcXHV7MUQ1NUN9XCIsa3NjcjpcIlxcdXsxRDRDMH1cIixsQXRhaWw6XCJcXHUyOTFCXCIsbEJhcnI6XCJcXHUyOTBFXCIsbEVnOlwiXFx1MkE4QlwiLGxlc3NlcXFndHI6XCJcXHUyQThCXCIsbEhhcjpcIlxcdTI5NjJcIixsYWN1dGU6XCJcXHUwMTNBXCIsbGFlbXB0eXY6XCJcXHUyOUI0XCIsbGFtYmRhOlwiXFx1MDNCQlwiLGxhbmdkOlwiXFx1Mjk5MVwiLGxhcDpcIlxcdTJBODVcIixsZXNzYXBwcm94OlwiXFx1MkE4NVwiLGxhcXVvOlwiXFx4QUJcIixsYXJyYmZzOlwiXFx1MjkxRlwiLGxhcnJmczpcIlxcdTI5MURcIixsYXJybHA6XCJcXHUyMUFCXCIsbG9vcGFycm93bGVmdDpcIlxcdTIxQUJcIixsYXJycGw6XCJcXHUyOTM5XCIsbGFycnNpbTpcIlxcdTI5NzNcIixsYXJydGw6XCJcXHUyMUEyXCIsbGVmdGFycm93dGFpbDpcIlxcdTIxQTJcIixsYXQ6XCJcXHUyQUFCXCIsbGF0YWlsOlwiXFx1MjkxOVwiLGxhdGU6XCJcXHUyQUFEXCIsbGF0ZXM6XCJcXHUyQUFEXFx1RkUwMFwiLGxiYXJyOlwiXFx1MjkwQ1wiLGxiYnJrOlwiXFx1Mjc3MlwiLGxicmFjZTpcIntcIixsY3ViOlwie1wiLGxicmFjazpcIltcIixsc3FiOlwiW1wiLGxicmtlOlwiXFx1Mjk4QlwiLGxicmtzbGQ6XCJcXHUyOThGXCIsbGJya3NsdTpcIlxcdTI5OERcIixsY2Fyb246XCJcXHUwMTNFXCIsbGNlZGlsOlwiXFx1MDEzQ1wiLGxjeTpcIlxcdTA0M0JcIixsZGNhOlwiXFx1MjkzNlwiLGxkcmRoYXI6XCJcXHUyOTY3XCIsbGRydXNoYXI6XCJcXHUyOTRCXCIsbGRzaDpcIlxcdTIxQjJcIixsZTpcIlxcdTIyNjRcIixsZXE6XCJcXHUyMjY0XCIsbGVmdGxlZnRhcnJvd3M6XCJcXHUyMUM3XCIsbGxhcnI6XCJcXHUyMUM3XCIsbGVmdHRocmVldGltZXM6XCJcXHUyMkNCXCIsbHRocmVlOlwiXFx1MjJDQlwiLGxlc2NjOlwiXFx1MkFBOFwiLGxlc2RvdDpcIlxcdTJBN0ZcIixsZXNkb3RvOlwiXFx1MkE4MVwiLGxlc2RvdG9yOlwiXFx1MkE4M1wiLGxlc2c6XCJcXHUyMkRBXFx1RkUwMFwiLGxlc2dlczpcIlxcdTJBOTNcIixsZXNzZG90OlwiXFx1MjJENlwiLGx0ZG90OlwiXFx1MjJENlwiLGxmaXNodDpcIlxcdTI5N0NcIixsZnI6XCJcXHV7MUQ1Mjl9XCIsbGdFOlwiXFx1MkE5MVwiLGxoYXJ1bDpcIlxcdTI5NkFcIixsaGJsazpcIlxcdTI1ODRcIixsamN5OlwiXFx1MDQ1OVwiLGxsaGFyZDpcIlxcdTI5NkJcIixsbHRyaTpcIlxcdTI1RkFcIixsbWlkb3Q6XCJcXHUwMTQwXCIsbG1vdXN0OlwiXFx1MjNCMFwiLGxtb3VzdGFjaGU6XCJcXHUyM0IwXCIsbG5FOlwiXFx1MjI2OFwiLGxuZXFxOlwiXFx1MjI2OFwiLGxuYXA6XCJcXHUyQTg5XCIsbG5hcHByb3g6XCJcXHUyQTg5XCIsbG5lOlwiXFx1MkE4N1wiLGxuZXE6XCJcXHUyQTg3XCIsbG5zaW06XCJcXHUyMkU2XCIsbG9hbmc6XCJcXHUyN0VDXCIsbG9hcnI6XCJcXHUyMUZEXCIsbG9uZ21hcHN0bzpcIlxcdTI3RkNcIix4bWFwOlwiXFx1MjdGQ1wiLGxvb3BhcnJvd3JpZ2h0OlwiXFx1MjFBQ1wiLHJhcnJscDpcIlxcdTIxQUNcIixsb3BhcjpcIlxcdTI5ODVcIixsb3BmOlwiXFx1ezFENTVEfVwiLGxvcGx1czpcIlxcdTJBMkRcIixsb3RpbWVzOlwiXFx1MkEzNFwiLGxvd2FzdDpcIlxcdTIyMTdcIixsb3o6XCJcXHUyNUNBXCIsbG96ZW5nZTpcIlxcdTI1Q0FcIixscGFyOlwiKFwiLGxwYXJsdDpcIlxcdTI5OTNcIixscmhhcmQ6XCJcXHUyOTZEXCIsbHJtOlwiXFx1MjAwRVwiLGxydHJpOlwiXFx1MjJCRlwiLGxzYXF1bzpcIlxcdTIwMzlcIixsc2NyOlwiXFx1ezFENEMxfVwiLGxzaW1lOlwiXFx1MkE4RFwiLGxzaW1nOlwiXFx1MkE4RlwiLGxzcXVvcjpcIlxcdTIwMUFcIixzYnF1bzpcIlxcdTIwMUFcIixsc3Ryb2s6XCJcXHUwMTQyXCIsbHRjYzpcIlxcdTJBQTZcIixsdGNpcjpcIlxcdTJBNzlcIixsdGltZXM6XCJcXHUyMkM5XCIsbHRsYXJyOlwiXFx1Mjk3NlwiLGx0cXVlc3Q6XCJcXHUyQTdCXCIsbHRyUGFyOlwiXFx1Mjk5NlwiLGx0cmk6XCJcXHUyNUMzXCIsdHJpYW5nbGVsZWZ0OlwiXFx1MjVDM1wiLGx1cmRzaGFyOlwiXFx1Mjk0QVwiLGx1cnVoYXI6XCJcXHUyOTY2XCIsbHZlcnRuZXFxOlwiXFx1MjI2OFxcdUZFMDBcIixsdm5FOlwiXFx1MjI2OFxcdUZFMDBcIixtRERvdDpcIlxcdTIyM0FcIixtYWNyOlwiXFx4QUZcIixzdHJuczpcIlxceEFGXCIsbWFsZTpcIlxcdTI2NDJcIixtYWx0OlwiXFx1MjcyMFwiLG1hbHRlc2U6XCJcXHUyNzIwXCIsbWFya2VyOlwiXFx1MjVBRVwiLG1jb21tYTpcIlxcdTJBMjlcIixtY3k6XCJcXHUwNDNDXCIsbWRhc2g6XCJcXHUyMDE0XCIsbWZyOlwiXFx1ezFENTJBfVwiLG1obzpcIlxcdTIxMjdcIixtaWNybzpcIlxceEI1XCIsbWlkY2lyOlwiXFx1MkFGMFwiLG1pbnVzOlwiXFx1MjIxMlwiLG1pbnVzZHU6XCJcXHUyQTJBXCIsbWxjcDpcIlxcdTJBREJcIixtb2RlbHM6XCJcXHUyMkE3XCIsbW9wZjpcIlxcdXsxRDU1RX1cIixtc2NyOlwiXFx1ezFENEMyfVwiLG11OlwiXFx1MDNCQ1wiLG11bHRpbWFwOlwiXFx1MjJCOFwiLG11bWFwOlwiXFx1MjJCOFwiLG5HZzpcIlxcdTIyRDlcXHUwMzM4XCIsbkd0OlwiXFx1MjI2QlxcdTIwRDJcIixuTGVmdGFycm93OlwiXFx1MjFDRFwiLG5sQXJyOlwiXFx1MjFDRFwiLG5MZWZ0cmlnaHRhcnJvdzpcIlxcdTIxQ0VcIixuaEFycjpcIlxcdTIxQ0VcIixuTGw6XCJcXHUyMkQ4XFx1MDMzOFwiLG5MdDpcIlxcdTIyNkFcXHUyMEQyXCIsblJpZ2h0YXJyb3c6XCJcXHUyMUNGXCIsbnJBcnI6XCJcXHUyMUNGXCIsblZEYXNoOlwiXFx1MjJBRlwiLG5WZGFzaDpcIlxcdTIyQUVcIixuYWN1dGU6XCJcXHUwMTQ0XCIsbmFuZzpcIlxcdTIyMjBcXHUyMEQyXCIsbmFwRTpcIlxcdTJBNzBcXHUwMzM4XCIsbmFwaWQ6XCJcXHUyMjRCXFx1MDMzOFwiLG5hcG9zOlwiXFx1MDE0OVwiLG5hdHVyOlwiXFx1MjY2RVwiLG5hdHVyYWw6XCJcXHUyNjZFXCIsbmNhcDpcIlxcdTJBNDNcIixuY2Fyb246XCJcXHUwMTQ4XCIsbmNlZGlsOlwiXFx1MDE0NlwiLG5jb25nZG90OlwiXFx1MkE2RFxcdTAzMzhcIixuY3VwOlwiXFx1MkE0MlwiLG5jeTpcIlxcdTA0M0RcIixuZGFzaDpcIlxcdTIwMTNcIixuZUFycjpcIlxcdTIxRDdcIixuZWFyaGs6XCJcXHUyOTI0XCIsbmVkb3Q6XCJcXHUyMjUwXFx1MDMzOFwiLG5lc2VhcjpcIlxcdTI5MjhcIix0b2VhOlwiXFx1MjkyOFwiLG5mcjpcIlxcdXsxRDUyQn1cIixuaGFycjpcIlxcdTIxQUVcIixubGVmdHJpZ2h0YXJyb3c6XCJcXHUyMUFFXCIsbmhwYXI6XCJcXHUyQUYyXCIsbmlzOlwiXFx1MjJGQ1wiLG5pc2Q6XCJcXHUyMkZBXCIsbmpjeTpcIlxcdTA0NUFcIixubEU6XCJcXHUyMjY2XFx1MDMzOFwiLG5sZXFxOlwiXFx1MjI2NlxcdTAzMzhcIixubGFycjpcIlxcdTIxOUFcIixubGVmdGFycm93OlwiXFx1MjE5QVwiLG5sZHI6XCJcXHUyMDI1XCIsbm9wZjpcIlxcdXsxRDU1Rn1cIixub3Q6XCJcXHhBQ1wiLG5vdGluRTpcIlxcdTIyRjlcXHUwMzM4XCIsbm90aW5kb3Q6XCJcXHUyMkY1XFx1MDMzOFwiLG5vdGludmI6XCJcXHUyMkY3XCIsbm90aW52YzpcIlxcdTIyRjZcIixub3RuaXZiOlwiXFx1MjJGRVwiLG5vdG5pdmM6XCJcXHUyMkZEXCIsbnBhcnNsOlwiXFx1MkFGRFxcdTIwRTVcIixucGFydDpcIlxcdTIyMDJcXHUwMzM4XCIsbnBvbGludDpcIlxcdTJBMTRcIixucmFycjpcIlxcdTIxOUJcIixucmlnaHRhcnJvdzpcIlxcdTIxOUJcIixucmFycmM6XCJcXHUyOTMzXFx1MDMzOFwiLG5yYXJydzpcIlxcdTIxOURcXHUwMzM4XCIsbnNjcjpcIlxcdXsxRDRDM31cIixuc3ViOlwiXFx1MjI4NFwiLG5zdWJFOlwiXFx1MkFDNVxcdTAzMzhcIixuc3Vic2V0ZXFxOlwiXFx1MkFDNVxcdTAzMzhcIixuc3VwOlwiXFx1MjI4NVwiLG5zdXBFOlwiXFx1MkFDNlxcdTAzMzhcIixuc3Vwc2V0ZXFxOlwiXFx1MkFDNlxcdTAzMzhcIixudGlsZGU6XCJcXHhGMVwiLG51OlwiXFx1MDNCRFwiLG51bTpcIiNcIixudW1lcm86XCJcXHUyMTE2XCIsbnVtc3A6XCJcXHUyMDA3XCIsbnZEYXNoOlwiXFx1MjJBRFwiLG52SGFycjpcIlxcdTI5MDRcIixudmFwOlwiXFx1MjI0RFxcdTIwRDJcIixudmRhc2g6XCJcXHUyMkFDXCIsbnZnZTpcIlxcdTIyNjVcXHUyMEQyXCIsbnZndDpcIj5cXHUyMEQyXCIsbnZpbmZpbjpcIlxcdTI5REVcIixudmxBcnI6XCJcXHUyOTAyXCIsbnZsZTpcIlxcdTIyNjRcXHUyMEQyXCIsbnZsdDpcIjxcXHUyMEQyXCIsbnZsdHJpZTpcIlxcdTIyQjRcXHUyMEQyXCIsbnZyQXJyOlwiXFx1MjkwM1wiLG52cnRyaWU6XCJcXHUyMkI1XFx1MjBEMlwiLG52c2ltOlwiXFx1MjIzQ1xcdTIwRDJcIixud0FycjpcIlxcdTIxRDZcIixud2FyaGs6XCJcXHUyOTIzXCIsbnduZWFyOlwiXFx1MjkyN1wiLG9hY3V0ZTpcIlxceEYzXCIsb2NpcmM6XCJcXHhGNFwiLG9jeTpcIlxcdTA0M0VcIixvZGJsYWM6XCJcXHUwMTUxXCIsb2RpdjpcIlxcdTJBMzhcIixvZHNvbGQ6XCJcXHUyOUJDXCIsb2VsaWc6XCJcXHUwMTUzXCIsb2ZjaXI6XCJcXHUyOUJGXCIsb2ZyOlwiXFx1ezFENTJDfVwiLG9nb246XCJcXHUwMkRCXCIsb2dyYXZlOlwiXFx4RjJcIixvZ3Q6XCJcXHUyOUMxXCIsb2hiYXI6XCJcXHUyOUI1XCIsb2xjaXI6XCJcXHUyOUJFXCIsb2xjcm9zczpcIlxcdTI5QkJcIixvbHQ6XCJcXHUyOUMwXCIsb21hY3I6XCJcXHUwMTREXCIsb21lZ2E6XCJcXHUwM0M5XCIsb21pY3JvbjpcIlxcdTAzQkZcIixvbWlkOlwiXFx1MjlCNlwiLG9vcGY6XCJcXHV7MUQ1NjB9XCIsb3BhcjpcIlxcdTI5QjdcIixvcGVycDpcIlxcdTI5QjlcIixvcjpcIlxcdTIyMjhcIix2ZWU6XCJcXHUyMjI4XCIsb3JkOlwiXFx1MkE1RFwiLG9yZGVyOlwiXFx1MjEzNFwiLG9yZGVyb2Y6XCJcXHUyMTM0XCIsb3NjcjpcIlxcdTIxMzRcIixvcmRmOlwiXFx4QUFcIixvcmRtOlwiXFx4QkFcIixvcmlnb2Y6XCJcXHUyMkI2XCIsb3JvcjpcIlxcdTJBNTZcIixvcnNsb3BlOlwiXFx1MkE1N1wiLG9ydjpcIlxcdTJBNUJcIixvc2xhc2g6XCJcXHhGOFwiLG9zb2w6XCJcXHUyMjk4XCIsb3RpbGRlOlwiXFx4RjVcIixvdGltZXNhczpcIlxcdTJBMzZcIixvdW1sOlwiXFx4RjZcIixvdmJhcjpcIlxcdTIzM0RcIixwYXJhOlwiXFx4QjZcIixwYXJzaW06XCJcXHUyQUYzXCIscGFyc2w6XCJcXHUyQUZEXCIscGN5OlwiXFx1MDQzRlwiLHBlcmNudDpcIiVcIixwZXJpb2Q6XCIuXCIscGVybWlsOlwiXFx1MjAzMFwiLHBlcnRlbms6XCJcXHUyMDMxXCIscGZyOlwiXFx1ezFENTJEfVwiLHBoaTpcIlxcdTAzQzZcIixwaGl2OlwiXFx1MDNENVwiLHN0cmFpZ2h0cGhpOlwiXFx1MDNENVwiLHZhcnBoaTpcIlxcdTAzRDVcIixwaG9uZTpcIlxcdTI2MEVcIixwaTpcIlxcdTAzQzBcIixwaXY6XCJcXHUwM0Q2XCIsdmFycGk6XCJcXHUwM0Q2XCIscGxhbmNraDpcIlxcdTIxMEVcIixwbHVzOlwiK1wiLHBsdXNhY2lyOlwiXFx1MkEyM1wiLHBsdXNjaXI6XCJcXHUyQTIyXCIscGx1c2R1OlwiXFx1MkEyNVwiLHBsdXNlOlwiXFx1MkE3MlwiLHBsdXNzaW06XCJcXHUyQTI2XCIscGx1c3R3bzpcIlxcdTJBMjdcIixwb2ludGludDpcIlxcdTJBMTVcIixwb3BmOlwiXFx1ezFENTYxfVwiLHBvdW5kOlwiXFx4QTNcIixwckU6XCJcXHUyQUIzXCIscHJhcDpcIlxcdTJBQjdcIixwcmVjYXBwcm94OlwiXFx1MkFCN1wiLHByZWNuYXBwcm94OlwiXFx1MkFCOVwiLHBybmFwOlwiXFx1MkFCOVwiLHByZWNuZXFxOlwiXFx1MkFCNVwiLHBybkU6XCJcXHUyQUI1XCIscHJlY25zaW06XCJcXHUyMkU4XCIscHJuc2ltOlwiXFx1MjJFOFwiLHByaW1lOlwiXFx1MjAzMlwiLHByb2ZhbGFyOlwiXFx1MjMyRVwiLHByb2ZsaW5lOlwiXFx1MjMxMlwiLHByb2ZzdXJmOlwiXFx1MjMxM1wiLHBydXJlbDpcIlxcdTIyQjBcIixwc2NyOlwiXFx1ezFENEM1fVwiLHBzaTpcIlxcdTAzQzhcIixwdW5jc3A6XCJcXHUyMDA4XCIscWZyOlwiXFx1ezFENTJFfVwiLHFvcGY6XCJcXHV7MUQ1NjJ9XCIscXByaW1lOlwiXFx1MjA1N1wiLHFzY3I6XCJcXHV7MUQ0QzZ9XCIscXVhdGludDpcIlxcdTJBMTZcIixxdWVzdDpcIj9cIixyQXRhaWw6XCJcXHUyOTFDXCIsckhhcjpcIlxcdTI5NjRcIixyYWNlOlwiXFx1MjIzRFxcdTAzMzFcIixyYWN1dGU6XCJcXHUwMTU1XCIscmFlbXB0eXY6XCJcXHUyOUIzXCIscmFuZ2Q6XCJcXHUyOTkyXCIscmFuZ2U6XCJcXHUyOUE1XCIscmFxdW86XCJcXHhCQlwiLHJhcnJhcDpcIlxcdTI5NzVcIixyYXJyYmZzOlwiXFx1MjkyMFwiLHJhcnJjOlwiXFx1MjkzM1wiLHJhcnJmczpcIlxcdTI5MUVcIixyYXJycGw6XCJcXHUyOTQ1XCIscmFycnNpbTpcIlxcdTI5NzRcIixyYXJydGw6XCJcXHUyMUEzXCIscmlnaHRhcnJvd3RhaWw6XCJcXHUyMUEzXCIscmFycnc6XCJcXHUyMTlEXCIscmlnaHRzcXVpZ2Fycm93OlwiXFx1MjE5RFwiLHJhdGFpbDpcIlxcdTI5MUFcIixyYXRpbzpcIlxcdTIyMzZcIixyYmJyazpcIlxcdTI3NzNcIixyYnJhY2U6XCJ9XCIscmN1YjpcIn1cIixyYnJhY2s6XCJdXCIscnNxYjpcIl1cIixyYnJrZTpcIlxcdTI5OENcIixyYnJrc2xkOlwiXFx1Mjk4RVwiLHJicmtzbHU6XCJcXHUyOTkwXCIscmNhcm9uOlwiXFx1MDE1OVwiLHJjZWRpbDpcIlxcdTAxNTdcIixyY3k6XCJcXHUwNDQwXCIscmRjYTpcIlxcdTI5MzdcIixyZGxkaGFyOlwiXFx1Mjk2OVwiLHJkc2g6XCJcXHUyMUIzXCIscmVjdDpcIlxcdTI1QURcIixyZmlzaHQ6XCJcXHUyOTdEXCIscmZyOlwiXFx1ezFENTJGfVwiLHJoYXJ1bDpcIlxcdTI5NkNcIixyaG86XCJcXHUwM0MxXCIscmhvdjpcIlxcdTAzRjFcIix2YXJyaG86XCJcXHUwM0YxXCIscmlnaHRyaWdodGFycm93czpcIlxcdTIxQzlcIixycmFycjpcIlxcdTIxQzlcIixyaWdodHRocmVldGltZXM6XCJcXHUyMkNDXCIscnRocmVlOlwiXFx1MjJDQ1wiLHJpbmc6XCJcXHUwMkRBXCIscmxtOlwiXFx1MjAwRlwiLHJtb3VzdDpcIlxcdTIzQjFcIixybW91c3RhY2hlOlwiXFx1MjNCMVwiLHJubWlkOlwiXFx1MkFFRVwiLHJvYW5nOlwiXFx1MjdFRFwiLHJvYXJyOlwiXFx1MjFGRVwiLHJvcGFyOlwiXFx1Mjk4NlwiLHJvcGY6XCJcXHV7MUQ1NjN9XCIscm9wbHVzOlwiXFx1MkEyRVwiLHJvdGltZXM6XCJcXHUyQTM1XCIscnBhcjpcIilcIixycGFyZ3Q6XCJcXHUyOTk0XCIscnBwb2xpbnQ6XCJcXHUyQTEyXCIscnNhcXVvOlwiXFx1MjAzQVwiLHJzY3I6XCJcXHV7MUQ0Qzd9XCIscnRpbWVzOlwiXFx1MjJDQVwiLHJ0cmk6XCJcXHUyNUI5XCIsdHJpYW5nbGVyaWdodDpcIlxcdTI1QjlcIixydHJpbHRyaTpcIlxcdTI5Q0VcIixydWx1aGFyOlwiXFx1Mjk2OFwiLHJ4OlwiXFx1MjExRVwiLHNhY3V0ZTpcIlxcdTAxNUJcIixzY0U6XCJcXHUyQUI0XCIsc2NhcDpcIlxcdTJBQjhcIixzdWNjYXBwcm94OlwiXFx1MkFCOFwiLHNjYXJvbjpcIlxcdTAxNjFcIixzY2VkaWw6XCJcXHUwMTVGXCIsc2NpcmM6XCJcXHUwMTVEXCIsc2NuRTpcIlxcdTJBQjZcIixzdWNjbmVxcTpcIlxcdTJBQjZcIixzY25hcDpcIlxcdTJBQkFcIixzdWNjbmFwcHJveDpcIlxcdTJBQkFcIixzY25zaW06XCJcXHUyMkU5XCIsc3VjY25zaW06XCJcXHUyMkU5XCIsc2Nwb2xpbnQ6XCJcXHUyQTEzXCIsc2N5OlwiXFx1MDQ0MVwiLHNkb3Q6XCJcXHUyMkM1XCIsc2RvdGU6XCJcXHUyQTY2XCIsc2VBcnI6XCJcXHUyMUQ4XCIsc2VjdDpcIlxceEE3XCIsc2VtaTpcIjtcIixzZXN3YXI6XCJcXHUyOTI5XCIsdG9zYTpcIlxcdTI5MjlcIixzZXh0OlwiXFx1MjczNlwiLHNmcjpcIlxcdXsxRDUzMH1cIixzaGFycDpcIlxcdTI2NkZcIixzaGNoY3k6XCJcXHUwNDQ5XCIsc2hjeTpcIlxcdTA0NDhcIixzaHk6XCJcXHhBRFwiLHNpZ21hOlwiXFx1MDNDM1wiLHNpZ21hZjpcIlxcdTAzQzJcIixzaWdtYXY6XCJcXHUwM0MyXCIsdmFyc2lnbWE6XCJcXHUwM0MyXCIsc2ltZG90OlwiXFx1MkE2QVwiLHNpbWc6XCJcXHUyQTlFXCIsc2ltZ0U6XCJcXHUyQUEwXCIsc2ltbDpcIlxcdTJBOURcIixzaW1sRTpcIlxcdTJBOUZcIixzaW1uZTpcIlxcdTIyNDZcIixzaW1wbHVzOlwiXFx1MkEyNFwiLHNpbXJhcnI6XCJcXHUyOTcyXCIsc21hc2hwOlwiXFx1MkEzM1wiLHNtZXBhcnNsOlwiXFx1MjlFNFwiLHNtaWxlOlwiXFx1MjMyM1wiLHNzbWlsZTpcIlxcdTIzMjNcIixzbXQ6XCJcXHUyQUFBXCIsc210ZTpcIlxcdTJBQUNcIixzbXRlczpcIlxcdTJBQUNcXHVGRTAwXCIsc29mdGN5OlwiXFx1MDQ0Q1wiLHNvbDpcIi9cIixzb2xiOlwiXFx1MjlDNFwiLHNvbGJhcjpcIlxcdTIzM0ZcIixzb3BmOlwiXFx1ezFENTY0fVwiLHNwYWRlczpcIlxcdTI2NjBcIixzcGFkZXN1aXQ6XCJcXHUyNjYwXCIsc3FjYXBzOlwiXFx1MjI5M1xcdUZFMDBcIixzcWN1cHM6XCJcXHUyMjk0XFx1RkUwMFwiLHNzY3I6XCJcXHV7MUQ0Qzh9XCIsc3RhcjpcIlxcdTI2MDZcIixzdWI6XCJcXHUyMjgyXCIsc3Vic2V0OlwiXFx1MjI4MlwiLHN1YkU6XCJcXHUyQUM1XCIsc3Vic2V0ZXFxOlwiXFx1MkFDNVwiLHN1YmRvdDpcIlxcdTJBQkRcIixzdWJlZG90OlwiXFx1MkFDM1wiLHN1Ym11bHQ6XCJcXHUyQUMxXCIsc3VibkU6XCJcXHUyQUNCXCIsc3Vic2V0bmVxcTpcIlxcdTJBQ0JcIixzdWJuZTpcIlxcdTIyOEFcIixzdWJzZXRuZXE6XCJcXHUyMjhBXCIsc3VicGx1czpcIlxcdTJBQkZcIixzdWJyYXJyOlwiXFx1Mjk3OVwiLHN1YnNpbTpcIlxcdTJBQzdcIixzdWJzdWI6XCJcXHUyQUQ1XCIsc3Vic3VwOlwiXFx1MkFEM1wiLHN1bmc6XCJcXHUyNjZBXCIsc3VwMTpcIlxceEI5XCIsc3VwMjpcIlxceEIyXCIsc3VwMzpcIlxceEIzXCIsc3VwRTpcIlxcdTJBQzZcIixzdXBzZXRlcXE6XCJcXHUyQUM2XCIsc3VwZG90OlwiXFx1MkFCRVwiLHN1cGRzdWI6XCJcXHUyQUQ4XCIsc3VwZWRvdDpcIlxcdTJBQzRcIixzdXBoc29sOlwiXFx1MjdDOVwiLHN1cGhzdWI6XCJcXHUyQUQ3XCIsc3VwbGFycjpcIlxcdTI5N0JcIixzdXBtdWx0OlwiXFx1MkFDMlwiLHN1cG5FOlwiXFx1MkFDQ1wiLHN1cHNldG5lcXE6XCJcXHUyQUNDXCIsc3VwbmU6XCJcXHUyMjhCXCIsc3Vwc2V0bmVxOlwiXFx1MjI4QlwiLHN1cHBsdXM6XCJcXHUyQUMwXCIsc3Vwc2ltOlwiXFx1MkFDOFwiLHN1cHN1YjpcIlxcdTJBRDRcIixzdXBzdXA6XCJcXHUyQUQ2XCIsc3dBcnI6XCJcXHUyMUQ5XCIsc3dud2FyOlwiXFx1MjkyQVwiLHN6bGlnOlwiXFx4REZcIix0YXJnZXQ6XCJcXHUyMzE2XCIsdGF1OlwiXFx1MDNDNFwiLHRjYXJvbjpcIlxcdTAxNjVcIix0Y2VkaWw6XCJcXHUwMTYzXCIsdGN5OlwiXFx1MDQ0MlwiLHRlbHJlYzpcIlxcdTIzMTVcIix0ZnI6XCJcXHV7MUQ1MzF9XCIsdGhldGE6XCJcXHUwM0I4XCIsdGhldGFzeW06XCJcXHUwM0QxXCIsdGhldGF2OlwiXFx1MDNEMVwiLHZhcnRoZXRhOlwiXFx1MDNEMVwiLHRob3JuOlwiXFx4RkVcIix0aW1lczpcIlxceEQ3XCIsdGltZXNiYXI6XCJcXHUyQTMxXCIsdGltZXNkOlwiXFx1MkEzMFwiLHRvcGJvdDpcIlxcdTIzMzZcIix0b3BjaXI6XCJcXHUyQUYxXCIsdG9wZjpcIlxcdXsxRDU2NX1cIix0b3Bmb3JrOlwiXFx1MkFEQVwiLHRwcmltZTpcIlxcdTIwMzRcIix0cmlhbmdsZTpcIlxcdTI1QjVcIix1dHJpOlwiXFx1MjVCNVwiLHRyaWFuZ2xlcTpcIlxcdTIyNUNcIix0cmllOlwiXFx1MjI1Q1wiLHRyaWRvdDpcIlxcdTI1RUNcIix0cmltaW51czpcIlxcdTJBM0FcIix0cmlwbHVzOlwiXFx1MkEzOVwiLHRyaXNiOlwiXFx1MjlDRFwiLHRyaXRpbWU6XCJcXHUyQTNCXCIsdHJwZXppdW06XCJcXHUyM0UyXCIsdHNjcjpcIlxcdXsxRDRDOX1cIix0c2N5OlwiXFx1MDQ0NlwiLHRzaGN5OlwiXFx1MDQ1QlwiLHRzdHJvazpcIlxcdTAxNjdcIix1SGFyOlwiXFx1Mjk2M1wiLHVhY3V0ZTpcIlxceEZBXCIsdWJyY3k6XCJcXHUwNDVFXCIsdWJyZXZlOlwiXFx1MDE2RFwiLHVjaXJjOlwiXFx4RkJcIix1Y3k6XCJcXHUwNDQzXCIsdWRibGFjOlwiXFx1MDE3MVwiLHVmaXNodDpcIlxcdTI5N0VcIix1ZnI6XCJcXHV7MUQ1MzJ9XCIsdWdyYXZlOlwiXFx4RjlcIix1aGJsazpcIlxcdTI1ODBcIix1bGNvcm46XCJcXHUyMzFDXCIsdWxjb3JuZXI6XCJcXHUyMzFDXCIsdWxjcm9wOlwiXFx1MjMwRlwiLHVsdHJpOlwiXFx1MjVGOFwiLHVtYWNyOlwiXFx1MDE2QlwiLHVvZ29uOlwiXFx1MDE3M1wiLHVvcGY6XCJcXHV7MUQ1NjZ9XCIsdXBzaTpcIlxcdTAzQzVcIix1cHNpbG9uOlwiXFx1MDNDNVwiLHVwdXBhcnJvd3M6XCJcXHUyMUM4XCIsdXVhcnI6XCJcXHUyMUM4XCIsdXJjb3JuOlwiXFx1MjMxRFwiLHVyY29ybmVyOlwiXFx1MjMxRFwiLHVyY3JvcDpcIlxcdTIzMEVcIix1cmluZzpcIlxcdTAxNkZcIix1cnRyaTpcIlxcdTI1RjlcIix1c2NyOlwiXFx1ezFENENBfVwiLHV0ZG90OlwiXFx1MjJGMFwiLHV0aWxkZTpcIlxcdTAxNjlcIix1dW1sOlwiXFx4RkNcIix1d2FuZ2xlOlwiXFx1MjlBN1wiLHZCYXI6XCJcXHUyQUU4XCIsdkJhcnY6XCJcXHUyQUU5XCIsdmFuZ3J0OlwiXFx1Mjk5Q1wiLHZhcnN1YnNldG5lcTpcIlxcdTIyOEFcXHVGRTAwXCIsdnN1Ym5lOlwiXFx1MjI4QVxcdUZFMDBcIix2YXJzdWJzZXRuZXFxOlwiXFx1MkFDQlxcdUZFMDBcIix2c3VibkU6XCJcXHUyQUNCXFx1RkUwMFwiLHZhcnN1cHNldG5lcTpcIlxcdTIyOEJcXHVGRTAwXCIsdnN1cG5lOlwiXFx1MjI4QlxcdUZFMDBcIix2YXJzdXBzZXRuZXFxOlwiXFx1MkFDQ1xcdUZFMDBcIix2c3VwbkU6XCJcXHUyQUNDXFx1RkUwMFwiLHZjeTpcIlxcdTA0MzJcIix2ZWViYXI6XCJcXHUyMkJCXCIsdmVlZXE6XCJcXHUyMjVBXCIsdmVsbGlwOlwiXFx1MjJFRVwiLHZmcjpcIlxcdXsxRDUzM31cIix2b3BmOlwiXFx1ezFENTY3fVwiLHZzY3I6XCJcXHV7MUQ0Q0J9XCIsdnppZ3phZzpcIlxcdTI5OUFcIix3Y2lyYzpcIlxcdTAxNzVcIix3ZWRiYXI6XCJcXHUyQTVGXCIsd2VkZ2VxOlwiXFx1MjI1OVwiLHdlaWVycDpcIlxcdTIxMThcIix3cDpcIlxcdTIxMThcIix3ZnI6XCJcXHV7MUQ1MzR9XCIsd29wZjpcIlxcdXsxRDU2OH1cIix3c2NyOlwiXFx1ezFENENDfVwiLHhmcjpcIlxcdXsxRDUzNX1cIix4aTpcIlxcdTAzQkVcIix4bmlzOlwiXFx1MjJGQlwiLHhvcGY6XCJcXHV7MUQ1Njl9XCIseHNjcjpcIlxcdXsxRDRDRH1cIix5YWN1dGU6XCJcXHhGRFwiLHlhY3k6XCJcXHUwNDRGXCIseWNpcmM6XCJcXHUwMTc3XCIseWN5OlwiXFx1MDQ0QlwiLHllbjpcIlxceEE1XCIseWZyOlwiXFx1ezFENTM2fVwiLHlpY3k6XCJcXHUwNDU3XCIseW9wZjpcIlxcdXsxRDU2QX1cIix5c2NyOlwiXFx1ezFENENFfVwiLHl1Y3k6XCJcXHUwNDRFXCIseXVtbDpcIlxceEZGXCIsemFjdXRlOlwiXFx1MDE3QVwiLHpjYXJvbjpcIlxcdTAxN0VcIix6Y3k6XCJcXHUwNDM3XCIsemRvdDpcIlxcdTAxN0NcIix6ZXRhOlwiXFx1MDNCNlwiLHpmcjpcIlxcdXsxRDUzN31cIix6aGN5OlwiXFx1MDQzNlwiLHppZ3JhcnI6XCJcXHUyMUREXCIsem9wZjpcIlxcdXsxRDU2Qn1cIix6c2NyOlwiXFx1ezFENENGfVwiLHp3ajpcIlxcdTIwMERcIix6d25qOlwiXFx1MjAwQ1wifSxVYT1cIlxcdUU1MDBcIjtNZS5uZ3NwPVVhO3ZhciBXYT1bL0AvLC9eXFxzKiQvLC9bPD5dLywvXlt7fV0kLywvJigjfFthLXpdKS9pLC9eXFwvXFwvL107ZnVuY3Rpb24gQnModCxlKXtpZihlIT1udWxsJiYhKEFycmF5LmlzQXJyYXkoZSkmJmUubGVuZ3RoPT0yKSl0aHJvdyBuZXcgRXJyb3IoYEV4cGVjdGVkICcke3R9JyB0byBiZSBhbiBhcnJheSwgW3N0YXJ0LCBlbmRdLmApO2lmKGUhPW51bGwpe2xldCByPWVbMF0sbj1lWzFdO1dhLmZvckVhY2gocz0+e2lmKHMudGVzdChyKXx8cy50ZXN0KG4pKXRocm93IG5ldyBFcnJvcihgWycke3J9JywgJyR7bn0nXSBjb250YWlucyB1bnVzYWJsZSBpbnRlcnBvbGF0aW9uIHN5bWJvbC5gKX0pfX12YXIgTHI9Y2xhc3MgdHtzdGF0aWMgZnJvbUFycmF5KGUpe3JldHVybiBlPyhCcyhcImludGVycG9sYXRpb25cIixlKSxuZXcgdChlWzBdLGVbMV0pKTpGcn1jb25zdHJ1Y3RvcihlLHIpe3RoaXMuc3RhcnQ9ZSx0aGlzLmVuZD1yfX0sRnI9bmV3IExyKFwie3tcIixcIn19XCIpO3ZhciBmdD1jbGFzcyBleHRlbmRzIElle2NvbnN0cnVjdG9yKGUscixuKXtzdXBlcihuLGUpLHRoaXMudG9rZW5UeXBlPXJ9fSxPcj1jbGFzc3tjb25zdHJ1Y3RvcihlLHIsbil7dGhpcy50b2tlbnM9ZSx0aGlzLmVycm9ycz1yLHRoaXMubm9uTm9ybWFsaXplZEljdUV4cHJlc3Npb25zPW59fTtmdW5jdGlvbiBVcyh0LGUscixuPXt9KXtsZXQgcz1uZXcgJHIobmV3IEVlKHQsZSkscixuKTtyZXR1cm4gcy50b2tlbml6ZSgpLG5ldyBPcihDbyhzLnRva2Vucykscy5lcnJvcnMscy5ub25Ob3JtYWxpemVkSWN1RXhwcmVzc2lvbnMpfXZhciBsbz0vXFxyXFxuPy9nO2Z1bmN0aW9uIHFlKHQpe3JldHVybmBVbmV4cGVjdGVkIGNoYXJhY3RlciBcIiR7dD09PTA/XCJFT0ZcIjpTdHJpbmcuZnJvbUNoYXJDb2RlKHQpfVwiYH1mdW5jdGlvbiBJcyh0KXtyZXR1cm5gVW5rbm93biBlbnRpdHkgXCIke3R9XCIgLSB1c2UgdGhlIFwiJiM8ZGVjaW1hbD47XCIgb3IgIFwiJiN4PGhleD47XCIgc3ludGF4YH1mdW5jdGlvbiBjbyh0LGUpe3JldHVybmBVbmFibGUgdG8gcGFyc2UgZW50aXR5IFwiJHtlfVwiIC0gJHt0fSBjaGFyYWN0ZXIgcmVmZXJlbmNlIGVudGl0aWVzIG11c3QgZW5kIHdpdGggXCI7XCJgfXZhciBadDsoZnVuY3Rpb24odCl7dC5IRVg9XCJoZXhhZGVjaW1hbFwiLHQuREVDPVwiZGVjaW1hbFwifSkoWnR8fChadD17fSkpO3ZhciBkdD1jbGFzc3tjb25zdHJ1Y3RvcihlKXt0aGlzLmVycm9yPWV9fSwkcj1jbGFzc3tjb25zdHJ1Y3RvcihlLHIsbil7dGhpcy5fZ2V0VGFnQ29udGVudFR5cGU9cix0aGlzLl9jdXJyZW50VG9rZW5TdGFydD1udWxsLHRoaXMuX2N1cnJlbnRUb2tlblR5cGU9bnVsbCx0aGlzLl9leHBhbnNpb25DYXNlU3RhY2s9W10sdGhpcy5faW5JbnRlcnBvbGF0aW9uPSExLHRoaXMuX2Z1bGxOYW1lU3RhY2s9W10sdGhpcy50b2tlbnM9W10sdGhpcy5lcnJvcnM9W10sdGhpcy5ub25Ob3JtYWxpemVkSWN1RXhwcmVzc2lvbnM9W10sdGhpcy5fdG9rZW5pemVJY3U9bi50b2tlbml6ZUV4cGFuc2lvbkZvcm1zfHwhMSx0aGlzLl9pbnRlcnBvbGF0aW9uQ29uZmlnPW4uaW50ZXJwb2xhdGlvbkNvbmZpZ3x8RnIsdGhpcy5fbGVhZGluZ1RyaXZpYUNvZGVQb2ludHM9bi5sZWFkaW5nVHJpdmlhQ2hhcnMmJm4ubGVhZGluZ1RyaXZpYUNoYXJzLm1hcChpPT5pLmNvZGVQb2ludEF0KDApfHwwKSx0aGlzLl9jYW5TZWxmQ2xvc2U9bi5jYW5TZWxmQ2xvc2V8fCExLHRoaXMuX2FsbG93SHRtQ29tcG9uZW50Q2xvc2luZ1RhZ3M9bi5hbGxvd0h0bUNvbXBvbmVudENsb3NpbmdUYWdzfHwhMTtsZXQgcz1uLnJhbmdlfHx7ZW5kUG9zOmUuY29udGVudC5sZW5ndGgsc3RhcnRQb3M6MCxzdGFydExpbmU6MCxzdGFydENvbDowfTt0aGlzLl9jdXJzb3I9bi5lc2NhcGVkU3RyaW5nP25ldyBNcihlLHMpOm5ldyBlcihlLHMpLHRoaXMuX3ByZXNlcnZlTGluZUVuZGluZ3M9bi5wcmVzZXJ2ZUxpbmVFbmRpbmdzfHwhMSx0aGlzLl9pMThuTm9ybWFsaXplTGluZUVuZGluZ3NJbklDVXM9bi5pMThuTm9ybWFsaXplTGluZUVuZGluZ3NJbklDVXN8fCExLHRoaXMuX3Rva2VuaXplQmxvY2tzPW4udG9rZW5pemVCbG9ja3M/PyEwLHRoaXMuX3Rva2VuaXplTGV0PW4udG9rZW5pemVMZXQ/PyEwO3RyeXt0aGlzLl9jdXJzb3IuaW5pdCgpfWNhdGNoKGkpe3RoaXMuaGFuZGxlRXJyb3IoaSl9fV9wcm9jZXNzQ2FycmlhZ2VSZXR1cm5zKGUpe3JldHVybiB0aGlzLl9wcmVzZXJ2ZUxpbmVFbmRpbmdzP2U6ZS5yZXBsYWNlKGxvLGBcbmApfXRva2VuaXplKCl7Zm9yKDt0aGlzLl9jdXJzb3IucGVlaygpIT09MDspe2xldCBlPXRoaXMuX2N1cnNvci5jbG9uZSgpO3RyeXtpZih0aGlzLl9hdHRlbXB0Q2hhckNvZGUoNjApKWlmKHRoaXMuX2F0dGVtcHRDaGFyQ29kZSgzMykpdGhpcy5fYXR0ZW1wdFN0cihcIltDREFUQVtcIik/dGhpcy5fY29uc3VtZUNkYXRhKGUpOnRoaXMuX2F0dGVtcHRTdHIoXCItLVwiKT90aGlzLl9jb25zdW1lQ29tbWVudChlKTp0aGlzLl9hdHRlbXB0U3RyQ2FzZUluc2Vuc2l0aXZlKFwiZG9jdHlwZVwiKT90aGlzLl9jb25zdW1lRG9jVHlwZShlKTp0aGlzLl9jb25zdW1lQm9ndXNDb21tZW50KGUpO2Vsc2UgaWYodGhpcy5fYXR0ZW1wdENoYXJDb2RlKDQ3KSl0aGlzLl9jb25zdW1lVGFnQ2xvc2UoZSk7ZWxzZXtsZXQgcj10aGlzLl9jdXJzb3IuY2xvbmUoKTt0aGlzLl9hdHRlbXB0Q2hhckNvZGUoNjMpPyh0aGlzLl9jdXJzb3I9cix0aGlzLl9jb25zdW1lQm9ndXNDb21tZW50KGUpKTp0aGlzLl9jb25zdW1lVGFnT3BlbihlKX1lbHNlIHRoaXMuX3Rva2VuaXplTGV0JiZ0aGlzLl9jdXJzb3IucGVlaygpPT09NjQmJiF0aGlzLl9pbkludGVycG9sYXRpb24mJnRoaXMuX2F0dGVtcHRTdHIoXCJAbGV0XCIpP3RoaXMuX2NvbnN1bWVMZXREZWNsYXJhdGlvbihlKTp0aGlzLl90b2tlbml6ZUJsb2NrcyYmdGhpcy5fYXR0ZW1wdENoYXJDb2RlKDY0KT90aGlzLl9jb25zdW1lQmxvY2tTdGFydChlKTp0aGlzLl90b2tlbml6ZUJsb2NrcyYmIXRoaXMuX2luSW50ZXJwb2xhdGlvbiYmIXRoaXMuX2lzSW5FeHBhbnNpb25DYXNlKCkmJiF0aGlzLl9pc0luRXhwYW5zaW9uRm9ybSgpJiZ0aGlzLl9hdHRlbXB0Q2hhckNvZGUoMTI1KT90aGlzLl9jb25zdW1lQmxvY2tFbmQoZSk6dGhpcy5fdG9rZW5pemVJY3UmJnRoaXMuX3Rva2VuaXplRXhwYW5zaW9uRm9ybSgpfHx0aGlzLl9jb25zdW1lV2l0aEludGVycG9sYXRpb24oNSw4LCgpPT50aGlzLl9pc1RleHRFbmQoKSwoKT0+dGhpcy5faXNUYWdTdGFydCgpKX1jYXRjaChyKXt0aGlzLmhhbmRsZUVycm9yKHIpfX10aGlzLl9iZWdpblRva2VuKDM0KSx0aGlzLl9lbmRUb2tlbihbXSl9X2dldEJsb2NrTmFtZSgpe2xldCBlPSExLHI9dGhpcy5fY3Vyc29yLmNsb25lKCk7cmV0dXJuIHRoaXMuX2F0dGVtcHRDaGFyQ29kZVVudGlsRm4obj0+YXQobik/IWU6JHMobik/KGU9ITAsITEpOiEwKSx0aGlzLl9jdXJzb3IuZ2V0Q2hhcnMocikudHJpbSgpfV9jb25zdW1lQmxvY2tTdGFydChlKXt0aGlzLl9iZWdpblRva2VuKDI1LGUpO2xldCByPXRoaXMuX2VuZFRva2VuKFt0aGlzLl9nZXRCbG9ja05hbWUoKV0pO2lmKHRoaXMuX2N1cnNvci5wZWVrKCk9PT00MClpZih0aGlzLl9jdXJzb3IuYWR2YW5jZSgpLHRoaXMuX2NvbnN1bWVCbG9ja1BhcmFtZXRlcnMoKSx0aGlzLl9hdHRlbXB0Q2hhckNvZGVVbnRpbEZuKGIpLHRoaXMuX2F0dGVtcHRDaGFyQ29kZSg0MSkpdGhpcy5fYXR0ZW1wdENoYXJDb2RlVW50aWxGbihiKTtlbHNle3IudHlwZT0yOTtyZXR1cm59dGhpcy5fYXR0ZW1wdENoYXJDb2RlKDEyMyk/KHRoaXMuX2JlZ2luVG9rZW4oMjYpLHRoaXMuX2VuZFRva2VuKFtdKSk6ci50eXBlPTI5fV9jb25zdW1lQmxvY2tFbmQoZSl7dGhpcy5fYmVnaW5Ub2tlbigyNyxlKSx0aGlzLl9lbmRUb2tlbihbXSl9X2NvbnN1bWVCbG9ja1BhcmFtZXRlcnMoKXtmb3IodGhpcy5fYXR0ZW1wdENoYXJDb2RlVW50aWxGbihNcyk7dGhpcy5fY3Vyc29yLnBlZWsoKSE9PTQxJiZ0aGlzLl9jdXJzb3IucGVlaygpIT09MDspe3RoaXMuX2JlZ2luVG9rZW4oMjgpO2xldCBlPXRoaXMuX2N1cnNvci5jbG9uZSgpLHI9bnVsbCxuPTA7Zm9yKDt0aGlzLl9jdXJzb3IucGVlaygpIT09NTkmJnRoaXMuX2N1cnNvci5wZWVrKCkhPT0wfHxyIT09bnVsbDspe2xldCBzPXRoaXMuX2N1cnNvci5wZWVrKCk7aWYocz09PTkyKXRoaXMuX2N1cnNvci5hZHZhbmNlKCk7ZWxzZSBpZihzPT09cilyPW51bGw7ZWxzZSBpZihyPT09bnVsbCYmSXQocykpcj1zO2Vsc2UgaWYocz09PTQwJiZyPT09bnVsbCluKys7ZWxzZSBpZihzPT09NDEmJnI9PT1udWxsKXtpZihuPT09MClicmVhaztuPjAmJm4tLX10aGlzLl9jdXJzb3IuYWR2YW5jZSgpfXRoaXMuX2VuZFRva2VuKFt0aGlzLl9jdXJzb3IuZ2V0Q2hhcnMoZSldKSx0aGlzLl9hdHRlbXB0Q2hhckNvZGVVbnRpbEZuKE1zKX19X2NvbnN1bWVMZXREZWNsYXJhdGlvbihlKXtpZih0aGlzLl9iZWdpblRva2VuKDMwLGUpLGF0KHRoaXMuX2N1cnNvci5wZWVrKCkpKXRoaXMuX2F0dGVtcHRDaGFyQ29kZVVudGlsRm4oYik7ZWxzZXtsZXQgcz10aGlzLl9lbmRUb2tlbihbdGhpcy5fY3Vyc29yLmdldENoYXJzKGUpXSk7cy50eXBlPTMzO3JldHVybn1sZXQgcj10aGlzLl9lbmRUb2tlbihbdGhpcy5fZ2V0TGV0RGVjbGFyYXRpb25OYW1lKCldKTtpZih0aGlzLl9hdHRlbXB0Q2hhckNvZGVVbnRpbEZuKGIpLCF0aGlzLl9hdHRlbXB0Q2hhckNvZGUoNjEpKXtyLnR5cGU9MzM7cmV0dXJufXRoaXMuX2F0dGVtcHRDaGFyQ29kZVVudGlsRm4ocz0+YihzKSYmIVB0KHMpKSx0aGlzLl9jb25zdW1lTGV0RGVjbGFyYXRpb25WYWx1ZSgpLHRoaXMuX2N1cnNvci5wZWVrKCk9PT01OT8odGhpcy5fYmVnaW5Ub2tlbigzMiksdGhpcy5fZW5kVG9rZW4oW10pLHRoaXMuX2N1cnNvci5hZHZhbmNlKCkpOihyLnR5cGU9MzMsci5zb3VyY2VTcGFuPXRoaXMuX2N1cnNvci5nZXRTcGFuKGUpKX1fZ2V0TGV0RGVjbGFyYXRpb25OYW1lKCl7bGV0IGU9dGhpcy5fY3Vyc29yLmNsb25lKCkscj0hMTtyZXR1cm4gdGhpcy5fYXR0ZW1wdENoYXJDb2RlVW50aWxGbihuPT5vdChuKXx8bj09PTM2fHxuPT09OTV8fHImJk50KG4pPyhyPSEwLCExKTohMCksdGhpcy5fY3Vyc29yLmdldENoYXJzKGUpLnRyaW0oKX1fY29uc3VtZUxldERlY2xhcmF0aW9uVmFsdWUoKXtsZXQgZT10aGlzLl9jdXJzb3IuY2xvbmUoKTtmb3IodGhpcy5fYmVnaW5Ub2tlbigzMSxlKTt0aGlzLl9jdXJzb3IucGVlaygpIT09MDspe2xldCByPXRoaXMuX2N1cnNvci5wZWVrKCk7aWYocj09PTU5KWJyZWFrO0l0KHIpJiYodGhpcy5fY3Vyc29yLmFkdmFuY2UoKSx0aGlzLl9hdHRlbXB0Q2hhckNvZGVVbnRpbEZuKG49Pm49PT05Mj8odGhpcy5fY3Vyc29yLmFkdmFuY2UoKSwhMSk6bj09PXIpKSx0aGlzLl9jdXJzb3IuYWR2YW5jZSgpfXRoaXMuX2VuZFRva2VuKFt0aGlzLl9jdXJzb3IuZ2V0Q2hhcnMoZSldKX1fdG9rZW5pemVFeHBhbnNpb25Gb3JtKCl7aWYodGhpcy5pc0V4cGFuc2lvbkZvcm1TdGFydCgpKXJldHVybiB0aGlzLl9jb25zdW1lRXhwYW5zaW9uRm9ybVN0YXJ0KCksITA7aWYoZm8odGhpcy5fY3Vyc29yLnBlZWsoKSkmJnRoaXMuX2lzSW5FeHBhbnNpb25Gb3JtKCkpcmV0dXJuIHRoaXMuX2NvbnN1bWVFeHBhbnNpb25DYXNlU3RhcnQoKSwhMDtpZih0aGlzLl9jdXJzb3IucGVlaygpPT09MTI1KXtpZih0aGlzLl9pc0luRXhwYW5zaW9uQ2FzZSgpKXJldHVybiB0aGlzLl9jb25zdW1lRXhwYW5zaW9uQ2FzZUVuZCgpLCEwO2lmKHRoaXMuX2lzSW5FeHBhbnNpb25Gb3JtKCkpcmV0dXJuIHRoaXMuX2NvbnN1bWVFeHBhbnNpb25Gb3JtRW5kKCksITB9cmV0dXJuITF9X2JlZ2luVG9rZW4oZSxyPXRoaXMuX2N1cnNvci5jbG9uZSgpKXt0aGlzLl9jdXJyZW50VG9rZW5TdGFydD1yLHRoaXMuX2N1cnJlbnRUb2tlblR5cGU9ZX1fZW5kVG9rZW4oZSxyKXtpZih0aGlzLl9jdXJyZW50VG9rZW5TdGFydD09PW51bGwpdGhyb3cgbmV3IGZ0KFwiUHJvZ3JhbW1pbmcgZXJyb3IgLSBhdHRlbXB0ZWQgdG8gZW5kIGEgdG9rZW4gd2hlbiB0aGVyZSB3YXMgbm8gc3RhcnQgdG8gdGhlIHRva2VuXCIsdGhpcy5fY3VycmVudFRva2VuVHlwZSx0aGlzLl9jdXJzb3IuZ2V0U3BhbihyKSk7aWYodGhpcy5fY3VycmVudFRva2VuVHlwZT09PW51bGwpdGhyb3cgbmV3IGZ0KFwiUHJvZ3JhbW1pbmcgZXJyb3IgLSBhdHRlbXB0ZWQgdG8gZW5kIGEgdG9rZW4gd2hpY2ggaGFzIG5vIHRva2VuIHR5cGVcIixudWxsLHRoaXMuX2N1cnNvci5nZXRTcGFuKHRoaXMuX2N1cnJlbnRUb2tlblN0YXJ0KSk7bGV0IG49e3R5cGU6dGhpcy5fY3VycmVudFRva2VuVHlwZSxwYXJ0czplLHNvdXJjZVNwYW46KHI/P3RoaXMuX2N1cnNvcikuZ2V0U3Bhbih0aGlzLl9jdXJyZW50VG9rZW5TdGFydCx0aGlzLl9sZWFkaW5nVHJpdmlhQ29kZVBvaW50cyl9O3JldHVybiB0aGlzLnRva2Vucy5wdXNoKG4pLHRoaXMuX2N1cnJlbnRUb2tlblN0YXJ0PW51bGwsdGhpcy5fY3VycmVudFRva2VuVHlwZT1udWxsLG59X2NyZWF0ZUVycm9yKGUscil7dGhpcy5faXNJbkV4cGFuc2lvbkZvcm0oKSYmKGUrPWAgKERvIHlvdSBoYXZlIGFuIHVuZXNjYXBlZCBcIntcIiBpbiB5b3VyIHRlbXBsYXRlPyBVc2UgXCJ7eyAneycgfX1cIikgdG8gZXNjYXBlIGl0LilgKTtsZXQgbj1uZXcgZnQoZSx0aGlzLl9jdXJyZW50VG9rZW5UeXBlLHIpO3JldHVybiB0aGlzLl9jdXJyZW50VG9rZW5TdGFydD1udWxsLHRoaXMuX2N1cnJlbnRUb2tlblR5cGU9bnVsbCxuZXcgZHQobil9aGFuZGxlRXJyb3IoZSl7aWYoZSBpbnN0YW5jZW9mIGd0JiYoZT10aGlzLl9jcmVhdGVFcnJvcihlLm1zZyx0aGlzLl9jdXJzb3IuZ2V0U3BhbihlLmN1cnNvcikpKSxlIGluc3RhbmNlb2YgZHQpdGhpcy5lcnJvcnMucHVzaChlLmVycm9yKTtlbHNlIHRocm93IGV9X2F0dGVtcHRDaGFyQ29kZShlKXtyZXR1cm4gdGhpcy5fY3Vyc29yLnBlZWsoKT09PWU/KHRoaXMuX2N1cnNvci5hZHZhbmNlKCksITApOiExfV9hdHRlbXB0Q2hhckNvZGVDYXNlSW5zZW5zaXRpdmUoZSl7cmV0dXJuIGdvKHRoaXMuX2N1cnNvci5wZWVrKCksZSk/KHRoaXMuX2N1cnNvci5hZHZhbmNlKCksITApOiExfV9yZXF1aXJlQ2hhckNvZGUoZSl7bGV0IHI9dGhpcy5fY3Vyc29yLmNsb25lKCk7aWYoIXRoaXMuX2F0dGVtcHRDaGFyQ29kZShlKSl0aHJvdyB0aGlzLl9jcmVhdGVFcnJvcihxZSh0aGlzLl9jdXJzb3IucGVlaygpKSx0aGlzLl9jdXJzb3IuZ2V0U3BhbihyKSl9X2F0dGVtcHRTdHIoZSl7bGV0IHI9ZS5sZW5ndGg7aWYodGhpcy5fY3Vyc29yLmNoYXJzTGVmdCgpPHIpcmV0dXJuITE7bGV0IG49dGhpcy5fY3Vyc29yLmNsb25lKCk7Zm9yKGxldCBzPTA7czxyO3MrKylpZighdGhpcy5fYXR0ZW1wdENoYXJDb2RlKGUuY2hhckNvZGVBdChzKSkpcmV0dXJuIHRoaXMuX2N1cnNvcj1uLCExO3JldHVybiEwfV9hdHRlbXB0U3RyQ2FzZUluc2Vuc2l0aXZlKGUpe2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKWlmKCF0aGlzLl9hdHRlbXB0Q2hhckNvZGVDYXNlSW5zZW5zaXRpdmUoZS5jaGFyQ29kZUF0KHIpKSlyZXR1cm4hMTtyZXR1cm4hMH1fcmVxdWlyZVN0cihlKXtsZXQgcj10aGlzLl9jdXJzb3IuY2xvbmUoKTtpZighdGhpcy5fYXR0ZW1wdFN0cihlKSl0aHJvdyB0aGlzLl9jcmVhdGVFcnJvcihxZSh0aGlzLl9jdXJzb3IucGVlaygpKSx0aGlzLl9jdXJzb3IuZ2V0U3BhbihyKSl9X3JlcXVpcmVTdHJDYXNlSW5zZW5zaXRpdmUoZSl7bGV0IHI9dGhpcy5fY3Vyc29yLmNsb25lKCk7aWYoIXRoaXMuX2F0dGVtcHRTdHJDYXNlSW5zZW5zaXRpdmUoZSkpdGhyb3cgdGhpcy5fY3JlYXRlRXJyb3IocWUodGhpcy5fY3Vyc29yLnBlZWsoKSksdGhpcy5fY3Vyc29yLmdldFNwYW4ocikpfV9hdHRlbXB0Q2hhckNvZGVVbnRpbEZuKGUpe2Zvcig7IWUodGhpcy5fY3Vyc29yLnBlZWsoKSk7KXRoaXMuX2N1cnNvci5hZHZhbmNlKCl9X3JlcXVpcmVDaGFyQ29kZVVudGlsRm4oZSxyKXtsZXQgbj10aGlzLl9jdXJzb3IuY2xvbmUoKTtpZih0aGlzLl9hdHRlbXB0Q2hhckNvZGVVbnRpbEZuKGUpLHRoaXMuX2N1cnNvci5kaWZmKG4pPHIpdGhyb3cgdGhpcy5fY3JlYXRlRXJyb3IocWUodGhpcy5fY3Vyc29yLnBlZWsoKSksdGhpcy5fY3Vyc29yLmdldFNwYW4obikpfV9hdHRlbXB0VW50aWxDaGFyKGUpe2Zvcig7dGhpcy5fY3Vyc29yLnBlZWsoKSE9PWU7KXRoaXMuX2N1cnNvci5hZHZhbmNlKCl9X3JlYWRDaGFyKCl7bGV0IGU9U3RyaW5nLmZyb21Db2RlUG9pbnQodGhpcy5fY3Vyc29yLnBlZWsoKSk7cmV0dXJuIHRoaXMuX2N1cnNvci5hZHZhbmNlKCksZX1fY29uc3VtZUVudGl0eShlKXt0aGlzLl9iZWdpblRva2VuKDkpO2xldCByPXRoaXMuX2N1cnNvci5jbG9uZSgpO2lmKHRoaXMuX2N1cnNvci5hZHZhbmNlKCksdGhpcy5fYXR0ZW1wdENoYXJDb2RlKDM1KSl7bGV0IG49dGhpcy5fYXR0ZW1wdENoYXJDb2RlKDEyMCl8fHRoaXMuX2F0dGVtcHRDaGFyQ29kZSg4OCkscz10aGlzLl9jdXJzb3IuY2xvbmUoKTtpZih0aGlzLl9hdHRlbXB0Q2hhckNvZGVVbnRpbEZuKGhvKSx0aGlzLl9jdXJzb3IucGVlaygpIT01OSl7dGhpcy5fY3Vyc29yLmFkdmFuY2UoKTtsZXQgYT1uP1p0LkhFWDpadC5ERUM7dGhyb3cgdGhpcy5fY3JlYXRlRXJyb3IoY28oYSx0aGlzLl9jdXJzb3IuZ2V0Q2hhcnMocikpLHRoaXMuX2N1cnNvci5nZXRTcGFuKCkpfWxldCBpPXRoaXMuX2N1cnNvci5nZXRDaGFycyhzKTt0aGlzLl9jdXJzb3IuYWR2YW5jZSgpO3RyeXtsZXQgYT1wYXJzZUludChpLG4/MTY6MTApO3RoaXMuX2VuZFRva2VuKFtTdHJpbmcuZnJvbUNoYXJDb2RlKGEpLHRoaXMuX2N1cnNvci5nZXRDaGFycyhyKV0pfWNhdGNoe3Rocm93IHRoaXMuX2NyZWF0ZUVycm9yKElzKHRoaXMuX2N1cnNvci5nZXRDaGFycyhyKSksdGhpcy5fY3Vyc29yLmdldFNwYW4oKSl9fWVsc2V7bGV0IG49dGhpcy5fY3Vyc29yLmNsb25lKCk7aWYodGhpcy5fYXR0ZW1wdENoYXJDb2RlVW50aWxGbihtbyksdGhpcy5fY3Vyc29yLnBlZWsoKSE9NTkpdGhpcy5fYmVnaW5Ub2tlbihlLHIpLHRoaXMuX2N1cnNvcj1uLHRoaXMuX2VuZFRva2VuKFtcIiZcIl0pO2Vsc2V7bGV0IHM9dGhpcy5fY3Vyc29yLmdldENoYXJzKG4pO3RoaXMuX2N1cnNvci5hZHZhbmNlKCk7bGV0IGk9TWVbc107aWYoIWkpdGhyb3cgdGhpcy5fY3JlYXRlRXJyb3IoSXMocyksdGhpcy5fY3Vyc29yLmdldFNwYW4ocikpO3RoaXMuX2VuZFRva2VuKFtpLGAmJHtzfTtgXSl9fX1fY29uc3VtZVJhd1RleHQoZSxyKXt0aGlzLl9iZWdpblRva2VuKGU/Njo3KTtsZXQgbj1bXTtmb3IoOzspe2xldCBzPXRoaXMuX2N1cnNvci5jbG9uZSgpLGk9cigpO2lmKHRoaXMuX2N1cnNvcj1zLGkpYnJlYWs7ZSYmdGhpcy5fY3Vyc29yLnBlZWsoKT09PTM4Pyh0aGlzLl9lbmRUb2tlbihbdGhpcy5fcHJvY2Vzc0NhcnJpYWdlUmV0dXJucyhuLmpvaW4oXCJcIikpXSksbi5sZW5ndGg9MCx0aGlzLl9jb25zdW1lRW50aXR5KDYpLHRoaXMuX2JlZ2luVG9rZW4oNikpOm4ucHVzaCh0aGlzLl9yZWFkQ2hhcigpKX10aGlzLl9lbmRUb2tlbihbdGhpcy5fcHJvY2Vzc0NhcnJpYWdlUmV0dXJucyhuLmpvaW4oXCJcIikpXSl9X2NvbnN1bWVDb21tZW50KGUpe3RoaXMuX2JlZ2luVG9rZW4oMTAsZSksdGhpcy5fZW5kVG9rZW4oW10pLHRoaXMuX2NvbnN1bWVSYXdUZXh0KCExLCgpPT50aGlzLl9hdHRlbXB0U3RyKFwiLS0+XCIpKSx0aGlzLl9iZWdpblRva2VuKDExKSx0aGlzLl9yZXF1aXJlU3RyKFwiLS0+XCIpLHRoaXMuX2VuZFRva2VuKFtdKX1fY29uc3VtZUJvZ3VzQ29tbWVudChlKXt0aGlzLl9iZWdpblRva2VuKDEwLGUpLHRoaXMuX2VuZFRva2VuKFtdKSx0aGlzLl9jb25zdW1lUmF3VGV4dCghMSwoKT0+dGhpcy5fY3Vyc29yLnBlZWsoKT09PTYyKSx0aGlzLl9iZWdpblRva2VuKDExKSx0aGlzLl9jdXJzb3IuYWR2YW5jZSgpLHRoaXMuX2VuZFRva2VuKFtdKX1fY29uc3VtZUNkYXRhKGUpe3RoaXMuX2JlZ2luVG9rZW4oMTIsZSksdGhpcy5fZW5kVG9rZW4oW10pLHRoaXMuX2NvbnN1bWVSYXdUZXh0KCExLCgpPT50aGlzLl9hdHRlbXB0U3RyKFwiXV0+XCIpKSx0aGlzLl9iZWdpblRva2VuKDEzKSx0aGlzLl9yZXF1aXJlU3RyKFwiXV0+XCIpLHRoaXMuX2VuZFRva2VuKFtdKX1fY29uc3VtZURvY1R5cGUoZSl7dGhpcy5fYmVnaW5Ub2tlbigxOCxlKSx0aGlzLl9lbmRUb2tlbihbXSksdGhpcy5fY29uc3VtZVJhd1RleHQoITEsKCk9PnRoaXMuX2N1cnNvci5wZWVrKCk9PT02MiksdGhpcy5fYmVnaW5Ub2tlbigxOSksdGhpcy5fY3Vyc29yLmFkdmFuY2UoKSx0aGlzLl9lbmRUb2tlbihbXSl9X2NvbnN1bWVQcmVmaXhBbmROYW1lKCl7bGV0IGU9dGhpcy5fY3Vyc29yLmNsb25lKCkscj1cIlwiO2Zvcig7dGhpcy5fY3Vyc29yLnBlZWsoKSE9PTU4JiYhcG8odGhpcy5fY3Vyc29yLnBlZWsoKSk7KXRoaXMuX2N1cnNvci5hZHZhbmNlKCk7bGV0IG47dGhpcy5fY3Vyc29yLnBlZWsoKT09PTU4PyhyPXRoaXMuX2N1cnNvci5nZXRDaGFycyhlKSx0aGlzLl9jdXJzb3IuYWR2YW5jZSgpLG49dGhpcy5fY3Vyc29yLmNsb25lKCkpOm49ZSx0aGlzLl9yZXF1aXJlQ2hhckNvZGVVbnRpbEZuKFJzLHI9PT1cIlwiPzA6MSk7bGV0IHM9dGhpcy5fY3Vyc29yLmdldENoYXJzKG4pO3JldHVybltyLHNdfV9jb25zdW1lVGFnT3BlbihlKXtsZXQgcixuLHMsaT1bXTt0cnl7aWYoIW90KHRoaXMuX2N1cnNvci5wZWVrKCkpKXRocm93IHRoaXMuX2NyZWF0ZUVycm9yKHFlKHRoaXMuX2N1cnNvci5wZWVrKCkpLHRoaXMuX2N1cnNvci5nZXRTcGFuKGUpKTtmb3Iocz10aGlzLl9jb25zdW1lVGFnT3BlblN0YXJ0KGUpLG49cy5wYXJ0c1swXSxyPXMucGFydHNbMV0sdGhpcy5fYXR0ZW1wdENoYXJDb2RlVW50aWxGbihiKTt0aGlzLl9jdXJzb3IucGVlaygpIT09NDcmJnRoaXMuX2N1cnNvci5wZWVrKCkhPT02MiYmdGhpcy5fY3Vyc29yLnBlZWsoKSE9PTYwJiZ0aGlzLl9jdXJzb3IucGVlaygpIT09MDspe2xldFtvLHVdPXRoaXMuX2NvbnN1bWVBdHRyaWJ1dGVOYW1lKCk7aWYodGhpcy5fYXR0ZW1wdENoYXJDb2RlVW50aWxGbihiKSx0aGlzLl9hdHRlbXB0Q2hhckNvZGUoNjEpKXt0aGlzLl9hdHRlbXB0Q2hhckNvZGVVbnRpbEZuKGIpO2xldCBwPXRoaXMuX2NvbnN1bWVBdHRyaWJ1dGVWYWx1ZSgpO2kucHVzaCh7cHJlZml4Om8sbmFtZTp1LHZhbHVlOnB9KX1lbHNlIGkucHVzaCh7cHJlZml4Om8sbmFtZTp1fSk7dGhpcy5fYXR0ZW1wdENoYXJDb2RlVW50aWxGbihiKX10aGlzLl9jb25zdW1lVGFnT3BlbkVuZCgpfWNhdGNoKG8pe2lmKG8gaW5zdGFuY2VvZiBkdCl7cz9zLnR5cGU9NDoodGhpcy5fYmVnaW5Ub2tlbig1LGUpLHRoaXMuX2VuZFRva2VuKFtcIjxcIl0pKTtyZXR1cm59dGhyb3cgb31pZih0aGlzLl9jYW5TZWxmQ2xvc2UmJnRoaXMudG9rZW5zW3RoaXMudG9rZW5zLmxlbmd0aC0xXS50eXBlPT09MilyZXR1cm47bGV0IGE9dGhpcy5fZ2V0VGFnQ29udGVudFR5cGUocixuLHRoaXMuX2Z1bGxOYW1lU3RhY2subGVuZ3RoPjAsaSk7dGhpcy5faGFuZGxlRnVsbE5hbWVTdGFja0ZvclRhZ09wZW4obixyKSxhPT09SS5SQVdfVEVYVD90aGlzLl9jb25zdW1lUmF3VGV4dFdpdGhUYWdDbG9zZShuLHIsITEpOmE9PT1JLkVTQ0FQQUJMRV9SQVdfVEVYVCYmdGhpcy5fY29uc3VtZVJhd1RleHRXaXRoVGFnQ2xvc2UobixyLCEwKX1fY29uc3VtZVJhd1RleHRXaXRoVGFnQ2xvc2UoZSxyLG4pe3RoaXMuX2NvbnN1bWVSYXdUZXh0KG4sKCk9PiF0aGlzLl9hdHRlbXB0Q2hhckNvZGUoNjApfHwhdGhpcy5fYXR0ZW1wdENoYXJDb2RlKDQ3KXx8KHRoaXMuX2F0dGVtcHRDaGFyQ29kZVVudGlsRm4oYiksIXRoaXMuX2F0dGVtcHRTdHJDYXNlSW5zZW5zaXRpdmUoZT9gJHtlfToke3J9YDpyKSk/ITE6KHRoaXMuX2F0dGVtcHRDaGFyQ29kZVVudGlsRm4oYiksdGhpcy5fYXR0ZW1wdENoYXJDb2RlKDYyKSkpLHRoaXMuX2JlZ2luVG9rZW4oMyksdGhpcy5fcmVxdWlyZUNoYXJDb2RlVW50aWxGbihzPT5zPT09NjIsMyksdGhpcy5fY3Vyc29yLmFkdmFuY2UoKSx0aGlzLl9lbmRUb2tlbihbZSxyXSksdGhpcy5faGFuZGxlRnVsbE5hbWVTdGFja0ZvclRhZ0Nsb3NlKGUscil9X2NvbnN1bWVUYWdPcGVuU3RhcnQoZSl7dGhpcy5fYmVnaW5Ub2tlbigwLGUpO2xldCByPXRoaXMuX2NvbnN1bWVQcmVmaXhBbmROYW1lKCk7cmV0dXJuIHRoaXMuX2VuZFRva2VuKHIpfV9jb25zdW1lQXR0cmlidXRlTmFtZSgpe2xldCBlPXRoaXMuX2N1cnNvci5wZWVrKCk7aWYoZT09PTM5fHxlPT09MzQpdGhyb3cgdGhpcy5fY3JlYXRlRXJyb3IocWUoZSksdGhpcy5fY3Vyc29yLmdldFNwYW4oKSk7dGhpcy5fYmVnaW5Ub2tlbigxNCk7bGV0IHI9dGhpcy5fY29uc3VtZVByZWZpeEFuZE5hbWUoKTtyZXR1cm4gdGhpcy5fZW5kVG9rZW4ocikscn1fY29uc3VtZUF0dHJpYnV0ZVZhbHVlKCl7bGV0IGU7aWYodGhpcy5fY3Vyc29yLnBlZWsoKT09PTM5fHx0aGlzLl9jdXJzb3IucGVlaygpPT09MzQpe2xldCByPXRoaXMuX2N1cnNvci5wZWVrKCk7dGhpcy5fY29uc3VtZVF1b3RlKHIpO2xldCBuPSgpPT50aGlzLl9jdXJzb3IucGVlaygpPT09cjtlPXRoaXMuX2NvbnN1bWVXaXRoSW50ZXJwb2xhdGlvbigxNiwxNyxuLG4pLHRoaXMuX2NvbnN1bWVRdW90ZShyKX1lbHNle2xldCByPSgpPT5Scyh0aGlzLl9jdXJzb3IucGVlaygpKTtlPXRoaXMuX2NvbnN1bWVXaXRoSW50ZXJwb2xhdGlvbigxNiwxNyxyLHIpfXJldHVybiBlfV9jb25zdW1lUXVvdGUoZSl7dGhpcy5fYmVnaW5Ub2tlbigxNSksdGhpcy5fcmVxdWlyZUNoYXJDb2RlKGUpLHRoaXMuX2VuZFRva2VuKFtTdHJpbmcuZnJvbUNvZGVQb2ludChlKV0pfV9jb25zdW1lVGFnT3BlbkVuZCgpe2xldCBlPXRoaXMuX2F0dGVtcHRDaGFyQ29kZSg0Nyk/MjoxO3RoaXMuX2JlZ2luVG9rZW4oZSksdGhpcy5fcmVxdWlyZUNoYXJDb2RlKDYyKSx0aGlzLl9lbmRUb2tlbihbXSl9X2NvbnN1bWVUYWdDbG9zZShlKXtpZih0aGlzLl9iZWdpblRva2VuKDMsZSksdGhpcy5fYXR0ZW1wdENoYXJDb2RlVW50aWxGbihiKSx0aGlzLl9hbGxvd0h0bUNvbXBvbmVudENsb3NpbmdUYWdzJiZ0aGlzLl9hdHRlbXB0Q2hhckNvZGUoNDcpKXRoaXMuX2F0dGVtcHRDaGFyQ29kZVVudGlsRm4oYiksdGhpcy5fcmVxdWlyZUNoYXJDb2RlKDYyKSx0aGlzLl9lbmRUb2tlbihbXSk7ZWxzZXtsZXRbcixuXT10aGlzLl9jb25zdW1lUHJlZml4QW5kTmFtZSgpO3RoaXMuX2F0dGVtcHRDaGFyQ29kZVVudGlsRm4oYiksdGhpcy5fcmVxdWlyZUNoYXJDb2RlKDYyKSx0aGlzLl9lbmRUb2tlbihbcixuXSksdGhpcy5faGFuZGxlRnVsbE5hbWVTdGFja0ZvclRhZ0Nsb3NlKHIsbil9fV9jb25zdW1lRXhwYW5zaW9uRm9ybVN0YXJ0KCl7dGhpcy5fYmVnaW5Ub2tlbigyMCksdGhpcy5fcmVxdWlyZUNoYXJDb2RlKDEyMyksdGhpcy5fZW5kVG9rZW4oW10pLHRoaXMuX2V4cGFuc2lvbkNhc2VTdGFjay5wdXNoKDIwKSx0aGlzLl9iZWdpblRva2VuKDcpO2xldCBlPXRoaXMuX3JlYWRVbnRpbCg0NCkscj10aGlzLl9wcm9jZXNzQ2FycmlhZ2VSZXR1cm5zKGUpO2lmKHRoaXMuX2kxOG5Ob3JtYWxpemVMaW5lRW5kaW5nc0luSUNVcyl0aGlzLl9lbmRUb2tlbihbcl0pO2Vsc2V7bGV0IHM9dGhpcy5fZW5kVG9rZW4oW2VdKTtyIT09ZSYmdGhpcy5ub25Ob3JtYWxpemVkSWN1RXhwcmVzc2lvbnMucHVzaChzKX10aGlzLl9yZXF1aXJlQ2hhckNvZGUoNDQpLHRoaXMuX2F0dGVtcHRDaGFyQ29kZVVudGlsRm4oYiksdGhpcy5fYmVnaW5Ub2tlbig3KTtsZXQgbj10aGlzLl9yZWFkVW50aWwoNDQpO3RoaXMuX2VuZFRva2VuKFtuXSksdGhpcy5fcmVxdWlyZUNoYXJDb2RlKDQ0KSx0aGlzLl9hdHRlbXB0Q2hhckNvZGVVbnRpbEZuKGIpfV9jb25zdW1lRXhwYW5zaW9uQ2FzZVN0YXJ0KCl7dGhpcy5fYmVnaW5Ub2tlbigyMSk7bGV0IGU9dGhpcy5fcmVhZFVudGlsKDEyMykudHJpbSgpO3RoaXMuX2VuZFRva2VuKFtlXSksdGhpcy5fYXR0ZW1wdENoYXJDb2RlVW50aWxGbihiKSx0aGlzLl9iZWdpblRva2VuKDIyKSx0aGlzLl9yZXF1aXJlQ2hhckNvZGUoMTIzKSx0aGlzLl9lbmRUb2tlbihbXSksdGhpcy5fYXR0ZW1wdENoYXJDb2RlVW50aWxGbihiKSx0aGlzLl9leHBhbnNpb25DYXNlU3RhY2sucHVzaCgyMil9X2NvbnN1bWVFeHBhbnNpb25DYXNlRW5kKCl7dGhpcy5fYmVnaW5Ub2tlbigyMyksdGhpcy5fcmVxdWlyZUNoYXJDb2RlKDEyNSksdGhpcy5fZW5kVG9rZW4oW10pLHRoaXMuX2F0dGVtcHRDaGFyQ29kZVVudGlsRm4oYiksdGhpcy5fZXhwYW5zaW9uQ2FzZVN0YWNrLnBvcCgpfV9jb25zdW1lRXhwYW5zaW9uRm9ybUVuZCgpe3RoaXMuX2JlZ2luVG9rZW4oMjQpLHRoaXMuX3JlcXVpcmVDaGFyQ29kZSgxMjUpLHRoaXMuX2VuZFRva2VuKFtdKSx0aGlzLl9leHBhbnNpb25DYXNlU3RhY2sucG9wKCl9X2NvbnN1bWVXaXRoSW50ZXJwb2xhdGlvbihlLHIsbixzKXt0aGlzLl9iZWdpblRva2VuKGUpO2xldCBpPVtdO2Zvcig7IW4oKTspe2xldCBvPXRoaXMuX2N1cnNvci5jbG9uZSgpO3RoaXMuX2ludGVycG9sYXRpb25Db25maWcmJnRoaXMuX2F0dGVtcHRTdHIodGhpcy5faW50ZXJwb2xhdGlvbkNvbmZpZy5zdGFydCk/KHRoaXMuX2VuZFRva2VuKFt0aGlzLl9wcm9jZXNzQ2FycmlhZ2VSZXR1cm5zKGkuam9pbihcIlwiKSldLG8pLGkubGVuZ3RoPTAsdGhpcy5fY29uc3VtZUludGVycG9sYXRpb24ocixvLHMpLHRoaXMuX2JlZ2luVG9rZW4oZSkpOnRoaXMuX2N1cnNvci5wZWVrKCk9PT0zOD8odGhpcy5fZW5kVG9rZW4oW3RoaXMuX3Byb2Nlc3NDYXJyaWFnZVJldHVybnMoaS5qb2luKFwiXCIpKV0pLGkubGVuZ3RoPTAsdGhpcy5fY29uc3VtZUVudGl0eShlKSx0aGlzLl9iZWdpblRva2VuKGUpKTppLnB1c2godGhpcy5fcmVhZENoYXIoKSl9dGhpcy5faW5JbnRlcnBvbGF0aW9uPSExO2xldCBhPXRoaXMuX3Byb2Nlc3NDYXJyaWFnZVJldHVybnMoaS5qb2luKFwiXCIpKTtyZXR1cm4gdGhpcy5fZW5kVG9rZW4oW2FdKSxhfV9jb25zdW1lSW50ZXJwb2xhdGlvbihlLHIsbil7bGV0IHM9W107dGhpcy5fYmVnaW5Ub2tlbihlLHIpLHMucHVzaCh0aGlzLl9pbnRlcnBvbGF0aW9uQ29uZmlnLnN0YXJ0KTtsZXQgaT10aGlzLl9jdXJzb3IuY2xvbmUoKSxhPW51bGwsbz0hMTtmb3IoO3RoaXMuX2N1cnNvci5wZWVrKCkhPT0wJiYobj09PW51bGx8fCFuKCkpOyl7bGV0IHU9dGhpcy5fY3Vyc29yLmNsb25lKCk7aWYodGhpcy5faXNUYWdTdGFydCgpKXt0aGlzLl9jdXJzb3I9dSxzLnB1c2godGhpcy5fZ2V0UHJvY2Vzc2VkQ2hhcnMoaSx1KSksdGhpcy5fZW5kVG9rZW4ocyk7cmV0dXJufWlmKGE9PT1udWxsKWlmKHRoaXMuX2F0dGVtcHRTdHIodGhpcy5faW50ZXJwb2xhdGlvbkNvbmZpZy5lbmQpKXtzLnB1c2godGhpcy5fZ2V0UHJvY2Vzc2VkQ2hhcnMoaSx1KSkscy5wdXNoKHRoaXMuX2ludGVycG9sYXRpb25Db25maWcuZW5kKSx0aGlzLl9lbmRUb2tlbihzKTtyZXR1cm59ZWxzZSB0aGlzLl9hdHRlbXB0U3RyKFwiLy9cIikmJihvPSEwKTtsZXQgcD10aGlzLl9jdXJzb3IucGVlaygpO3RoaXMuX2N1cnNvci5hZHZhbmNlKCkscD09PTkyP3RoaXMuX2N1cnNvci5hZHZhbmNlKCk6cD09PWE/YT1udWxsOiFvJiZhPT09bnVsbCYmSXQocCkmJihhPXApfXMucHVzaCh0aGlzLl9nZXRQcm9jZXNzZWRDaGFycyhpLHRoaXMuX2N1cnNvcikpLHRoaXMuX2VuZFRva2VuKHMpfV9nZXRQcm9jZXNzZWRDaGFycyhlLHIpe3JldHVybiB0aGlzLl9wcm9jZXNzQ2FycmlhZ2VSZXR1cm5zKHIuZ2V0Q2hhcnMoZSkpfV9pc1RleHRFbmQoKXtyZXR1cm4hISh0aGlzLl9pc1RhZ1N0YXJ0KCl8fHRoaXMuX2N1cnNvci5wZWVrKCk9PT0wfHx0aGlzLl90b2tlbml6ZUljdSYmIXRoaXMuX2luSW50ZXJwb2xhdGlvbiYmKHRoaXMuaXNFeHBhbnNpb25Gb3JtU3RhcnQoKXx8dGhpcy5fY3Vyc29yLnBlZWsoKT09PTEyNSYmdGhpcy5faXNJbkV4cGFuc2lvbkNhc2UoKSl8fHRoaXMuX3Rva2VuaXplQmxvY2tzJiYhdGhpcy5faW5JbnRlcnBvbGF0aW9uJiYhdGhpcy5faXNJbkV4cGFuc2lvbigpJiYodGhpcy5faXNCbG9ja1N0YXJ0KCl8fHRoaXMuX2N1cnNvci5wZWVrKCk9PT02NHx8dGhpcy5fY3Vyc29yLnBlZWsoKT09PTEyNSkpfV9pc1RhZ1N0YXJ0KCl7aWYodGhpcy5fY3Vyc29yLnBlZWsoKT09PTYwKXtsZXQgZT10aGlzLl9jdXJzb3IuY2xvbmUoKTtlLmFkdmFuY2UoKTtsZXQgcj1lLnBlZWsoKTtpZig5Nzw9ciYmcjw9MTIyfHw2NTw9ciYmcjw9OTB8fHI9PT00N3x8cj09PTMzKXJldHVybiEwfXJldHVybiExfV9pc0Jsb2NrU3RhcnQoKXtpZih0aGlzLl90b2tlbml6ZUJsb2NrcyYmdGhpcy5fY3Vyc29yLnBlZWsoKT09PTY0KXtsZXQgZT10aGlzLl9jdXJzb3IuY2xvbmUoKTtpZihlLmFkdmFuY2UoKSwkcyhlLnBlZWsoKSkpcmV0dXJuITB9cmV0dXJuITF9X3JlYWRVbnRpbChlKXtsZXQgcj10aGlzLl9jdXJzb3IuY2xvbmUoKTtyZXR1cm4gdGhpcy5fYXR0ZW1wdFVudGlsQ2hhcihlKSx0aGlzLl9jdXJzb3IuZ2V0Q2hhcnMocil9X2lzSW5FeHBhbnNpb24oKXtyZXR1cm4gdGhpcy5faXNJbkV4cGFuc2lvbkNhc2UoKXx8dGhpcy5faXNJbkV4cGFuc2lvbkZvcm0oKX1faXNJbkV4cGFuc2lvbkNhc2UoKXtyZXR1cm4gdGhpcy5fZXhwYW5zaW9uQ2FzZVN0YWNrLmxlbmd0aD4wJiZ0aGlzLl9leHBhbnNpb25DYXNlU3RhY2tbdGhpcy5fZXhwYW5zaW9uQ2FzZVN0YWNrLmxlbmd0aC0xXT09PTIyfV9pc0luRXhwYW5zaW9uRm9ybSgpe3JldHVybiB0aGlzLl9leHBhbnNpb25DYXNlU3RhY2subGVuZ3RoPjAmJnRoaXMuX2V4cGFuc2lvbkNhc2VTdGFja1t0aGlzLl9leHBhbnNpb25DYXNlU3RhY2subGVuZ3RoLTFdPT09MjB9aXNFeHBhbnNpb25Gb3JtU3RhcnQoKXtpZih0aGlzLl9jdXJzb3IucGVlaygpIT09MTIzKXJldHVybiExO2lmKHRoaXMuX2ludGVycG9sYXRpb25Db25maWcpe2xldCBlPXRoaXMuX2N1cnNvci5jbG9uZSgpLHI9dGhpcy5fYXR0ZW1wdFN0cih0aGlzLl9pbnRlcnBvbGF0aW9uQ29uZmlnLnN0YXJ0KTtyZXR1cm4gdGhpcy5fY3Vyc29yPWUsIXJ9cmV0dXJuITB9X2hhbmRsZUZ1bGxOYW1lU3RhY2tGb3JUYWdPcGVuKGUscil7bGV0IG49T2UoZSxyKTsodGhpcy5fZnVsbE5hbWVTdGFjay5sZW5ndGg9PT0wfHx0aGlzLl9mdWxsTmFtZVN0YWNrW3RoaXMuX2Z1bGxOYW1lU3RhY2subGVuZ3RoLTFdPT09bikmJnRoaXMuX2Z1bGxOYW1lU3RhY2sucHVzaChuKX1faGFuZGxlRnVsbE5hbWVTdGFja0ZvclRhZ0Nsb3NlKGUscil7bGV0IG49T2UoZSxyKTt0aGlzLl9mdWxsTmFtZVN0YWNrLmxlbmd0aCE9PTAmJnRoaXMuX2Z1bGxOYW1lU3RhY2tbdGhpcy5fZnVsbE5hbWVTdGFjay5sZW5ndGgtMV09PT1uJiZ0aGlzLl9mdWxsTmFtZVN0YWNrLnBvcCgpfX07ZnVuY3Rpb24gYih0KXtyZXR1cm4hYXQodCl8fHQ9PT0wfWZ1bmN0aW9uIFJzKHQpe3JldHVybiBhdCh0KXx8dD09PTYyfHx0PT09NjB8fHQ9PT00N3x8dD09PTM5fHx0PT09MzR8fHQ9PT02MXx8dD09PTB9ZnVuY3Rpb24gcG8odCl7cmV0dXJuKHQ8OTd8fDEyMjx0KSYmKHQ8NjV8fDkwPHQpJiYodDw0OHx8dD41Nyl9ZnVuY3Rpb24gaG8odCl7cmV0dXJuIHQ9PT01OXx8dD09PTB8fCFncyh0KX1mdW5jdGlvbiBtbyh0KXtyZXR1cm4gdD09PTU5fHx0PT09MHx8IW90KHQpfWZ1bmN0aW9uIGZvKHQpe3JldHVybiB0IT09MTI1fWZ1bmN0aW9uIGdvKHQsZSl7cmV0dXJuIE9zKHQpPT09T3MoZSl9ZnVuY3Rpb24gT3ModCl7cmV0dXJuIHQ+PTk3JiZ0PD0xMjI/dC05Nys2NTp0fWZ1bmN0aW9uICRzKHQpe3JldHVybiBvdCh0KXx8TnQodCl8fHQ9PT05NX1mdW5jdGlvbiBNcyh0KXtyZXR1cm4gdCE9PTU5JiZiKHQpfWZ1bmN0aW9uIENvKHQpe2xldCBlPVtdLHI7Zm9yKGxldCBuPTA7bjx0Lmxlbmd0aDtuKyspe2xldCBzPXRbbl07ciYmci50eXBlPT09NSYmcy50eXBlPT09NXx8ciYmci50eXBlPT09MTYmJnMudHlwZT09PTE2PyhyLnBhcnRzWzBdKz1zLnBhcnRzWzBdLHIuc291cmNlU3Bhbi5lbmQ9cy5zb3VyY2VTcGFuLmVuZCk6KHI9cyxlLnB1c2gocikpfXJldHVybiBlfXZhciBlcj1jbGFzcyB0e2NvbnN0cnVjdG9yKGUscil7aWYoZSBpbnN0YW5jZW9mIHQpe3RoaXMuZmlsZT1lLmZpbGUsdGhpcy5pbnB1dD1lLmlucHV0LHRoaXMuZW5kPWUuZW5kO2xldCBuPWUuc3RhdGU7dGhpcy5zdGF0ZT17cGVlazpuLnBlZWssb2Zmc2V0Om4ub2Zmc2V0LGxpbmU6bi5saW5lLGNvbHVtbjpuLmNvbHVtbn19ZWxzZXtpZighcil0aHJvdyBuZXcgRXJyb3IoXCJQcm9ncmFtbWluZyBlcnJvcjogdGhlIHJhbmdlIGFyZ3VtZW50IG11c3QgYmUgcHJvdmlkZWQgd2l0aCBhIGZpbGUgYXJndW1lbnQuXCIpO3RoaXMuZmlsZT1lLHRoaXMuaW5wdXQ9ZS5jb250ZW50LHRoaXMuZW5kPXIuZW5kUG9zLHRoaXMuc3RhdGU9e3BlZWs6LTEsb2Zmc2V0OnIuc3RhcnRQb3MsbGluZTpyLnN0YXJ0TGluZSxjb2x1bW46ci5zdGFydENvbH19fWNsb25lKCl7cmV0dXJuIG5ldyB0KHRoaXMpfXBlZWsoKXtyZXR1cm4gdGhpcy5zdGF0ZS5wZWVrfWNoYXJzTGVmdCgpe3JldHVybiB0aGlzLmVuZC10aGlzLnN0YXRlLm9mZnNldH1kaWZmKGUpe3JldHVybiB0aGlzLnN0YXRlLm9mZnNldC1lLnN0YXRlLm9mZnNldH1hZHZhbmNlKCl7dGhpcy5hZHZhbmNlU3RhdGUodGhpcy5zdGF0ZSl9aW5pdCgpe3RoaXMudXBkYXRlUGVlayh0aGlzLnN0YXRlKX1nZXRTcGFuKGUscil7ZT1lfHx0aGlzO2xldCBuPWU7aWYocilmb3IoO3RoaXMuZGlmZihlKT4wJiZyLmluZGV4T2YoZS5wZWVrKCkpIT09LTE7KW49PT1lJiYoZT1lLmNsb25lKCkpLGUuYWR2YW5jZSgpO2xldCBzPXRoaXMubG9jYXRpb25Gcm9tQ3Vyc29yKGUpLGk9dGhpcy5sb2NhdGlvbkZyb21DdXJzb3IodGhpcyksYT1uIT09ZT90aGlzLmxvY2F0aW9uRnJvbUN1cnNvcihuKTpzO3JldHVybiBuZXcgaChzLGksYSl9Z2V0Q2hhcnMoZSl7cmV0dXJuIHRoaXMuaW5wdXQuc3Vic3RyaW5nKGUuc3RhdGUub2Zmc2V0LHRoaXMuc3RhdGUub2Zmc2V0KX1jaGFyQXQoZSl7cmV0dXJuIHRoaXMuaW5wdXQuY2hhckNvZGVBdChlKX1hZHZhbmNlU3RhdGUoZSl7aWYoZS5vZmZzZXQ+PXRoaXMuZW5kKXRocm93IHRoaXMuc3RhdGU9ZSxuZXcgZ3QoJ1VuZXhwZWN0ZWQgY2hhcmFjdGVyIFwiRU9GXCInLHRoaXMpO2xldCByPXRoaXMuY2hhckF0KGUub2Zmc2V0KTtyPT09MTA/KGUubGluZSsrLGUuY29sdW1uPTApOlB0KHIpfHxlLmNvbHVtbisrLGUub2Zmc2V0KyssdGhpcy51cGRhdGVQZWVrKGUpfXVwZGF0ZVBlZWsoZSl7ZS5wZWVrPWUub2Zmc2V0Pj10aGlzLmVuZD8wOnRoaXMuY2hhckF0KGUub2Zmc2V0KX1sb2NhdGlvbkZyb21DdXJzb3IoZSl7cmV0dXJuIG5ldyBpZShlLmZpbGUsZS5zdGF0ZS5vZmZzZXQsZS5zdGF0ZS5saW5lLGUuc3RhdGUuY29sdW1uKX19LE1yPWNsYXNzIHQgZXh0ZW5kcyBlcntjb25zdHJ1Y3RvcihlLHIpe2UgaW5zdGFuY2VvZiB0PyhzdXBlcihlKSx0aGlzLmludGVybmFsU3RhdGU9ey4uLmUuaW50ZXJuYWxTdGF0ZX0pOihzdXBlcihlLHIpLHRoaXMuaW50ZXJuYWxTdGF0ZT10aGlzLnN0YXRlKX1hZHZhbmNlKCl7dGhpcy5zdGF0ZT10aGlzLmludGVybmFsU3RhdGUsc3VwZXIuYWR2YW5jZSgpLHRoaXMucHJvY2Vzc0VzY2FwZVNlcXVlbmNlKCl9aW5pdCgpe3N1cGVyLmluaXQoKSx0aGlzLnByb2Nlc3NFc2NhcGVTZXF1ZW5jZSgpfWNsb25lKCl7cmV0dXJuIG5ldyB0KHRoaXMpfWdldENoYXJzKGUpe2xldCByPWUuY2xvbmUoKSxuPVwiXCI7Zm9yKDtyLmludGVybmFsU3RhdGUub2Zmc2V0PHRoaXMuaW50ZXJuYWxTdGF0ZS5vZmZzZXQ7KW4rPVN0cmluZy5mcm9tQ29kZVBvaW50KHIucGVlaygpKSxyLmFkdmFuY2UoKTtyZXR1cm4gbn1wcm9jZXNzRXNjYXBlU2VxdWVuY2UoKXtsZXQgZT0oKT0+dGhpcy5pbnRlcm5hbFN0YXRlLnBlZWs7aWYoZSgpPT09OTIpaWYodGhpcy5pbnRlcm5hbFN0YXRlPXsuLi50aGlzLnN0YXRlfSx0aGlzLmFkdmFuY2VTdGF0ZSh0aGlzLmludGVybmFsU3RhdGUpLGUoKT09PTExMCl0aGlzLnN0YXRlLnBlZWs9MTA7ZWxzZSBpZihlKCk9PT0xMTQpdGhpcy5zdGF0ZS5wZWVrPTEzO2Vsc2UgaWYoZSgpPT09MTE4KXRoaXMuc3RhdGUucGVlaz0xMTtlbHNlIGlmKGUoKT09PTExNil0aGlzLnN0YXRlLnBlZWs9OTtlbHNlIGlmKGUoKT09PTk4KXRoaXMuc3RhdGUucGVlaz04O2Vsc2UgaWYoZSgpPT09MTAyKXRoaXMuc3RhdGUucGVlaz0xMjtlbHNlIGlmKGUoKT09PTExNylpZih0aGlzLmFkdmFuY2VTdGF0ZSh0aGlzLmludGVybmFsU3RhdGUpLGUoKT09PTEyMyl7dGhpcy5hZHZhbmNlU3RhdGUodGhpcy5pbnRlcm5hbFN0YXRlKTtsZXQgcj10aGlzLmNsb25lKCksbj0wO2Zvcig7ZSgpIT09MTI1Oyl0aGlzLmFkdmFuY2VTdGF0ZSh0aGlzLmludGVybmFsU3RhdGUpLG4rKzt0aGlzLnN0YXRlLnBlZWs9dGhpcy5kZWNvZGVIZXhEaWdpdHMocixuKX1lbHNle2xldCByPXRoaXMuY2xvbmUoKTt0aGlzLmFkdmFuY2VTdGF0ZSh0aGlzLmludGVybmFsU3RhdGUpLHRoaXMuYWR2YW5jZVN0YXRlKHRoaXMuaW50ZXJuYWxTdGF0ZSksdGhpcy5hZHZhbmNlU3RhdGUodGhpcy5pbnRlcm5hbFN0YXRlKSx0aGlzLnN0YXRlLnBlZWs9dGhpcy5kZWNvZGVIZXhEaWdpdHMociw0KX1lbHNlIGlmKGUoKT09PTEyMCl7dGhpcy5hZHZhbmNlU3RhdGUodGhpcy5pbnRlcm5hbFN0YXRlKTtsZXQgcj10aGlzLmNsb25lKCk7dGhpcy5hZHZhbmNlU3RhdGUodGhpcy5pbnRlcm5hbFN0YXRlKSx0aGlzLnN0YXRlLnBlZWs9dGhpcy5kZWNvZGVIZXhEaWdpdHMociwyKX1lbHNlIGlmKHlyKGUoKSkpe2xldCByPVwiXCIsbj0wLHM9dGhpcy5jbG9uZSgpO2Zvcig7eXIoZSgpKSYmbjwzOylzPXRoaXMuY2xvbmUoKSxyKz1TdHJpbmcuZnJvbUNvZGVQb2ludChlKCkpLHRoaXMuYWR2YW5jZVN0YXRlKHRoaXMuaW50ZXJuYWxTdGF0ZSksbisrO3RoaXMuc3RhdGUucGVlaz1wYXJzZUludChyLDgpLHRoaXMuaW50ZXJuYWxTdGF0ZT1zLmludGVybmFsU3RhdGV9ZWxzZSBQdCh0aGlzLmludGVybmFsU3RhdGUucGVlayk/KHRoaXMuYWR2YW5jZVN0YXRlKHRoaXMuaW50ZXJuYWxTdGF0ZSksdGhpcy5zdGF0ZT10aGlzLmludGVybmFsU3RhdGUpOnRoaXMuc3RhdGUucGVlaz10aGlzLmludGVybmFsU3RhdGUucGVla31kZWNvZGVIZXhEaWdpdHMoZSxyKXtsZXQgbj10aGlzLmlucHV0LnNsaWNlKGUuaW50ZXJuYWxTdGF0ZS5vZmZzZXQsZS5pbnRlcm5hbFN0YXRlLm9mZnNldCtyKSxzPXBhcnNlSW50KG4sMTYpO2lmKGlzTmFOKHMpKXRocm93IGUuc3RhdGU9ZS5pbnRlcm5hbFN0YXRlLG5ldyBndChcIkludmFsaWQgaGV4YWRlY2ltYWwgZXNjYXBlIHNlcXVlbmNlXCIsZSk7cmV0dXJuIHN9fSxndD1jbGFzc3tjb25zdHJ1Y3RvcihlLHIpe3RoaXMubXNnPWUsdGhpcy5jdXJzb3I9cn19O3ZhciBMPWNsYXNzIHQgZXh0ZW5kcyBJZXtzdGF0aWMgY3JlYXRlKGUscixuKXtyZXR1cm4gbmV3IHQoZSxyLG4pfWNvbnN0cnVjdG9yKGUscixuKXtzdXBlcihyLG4pLHRoaXMuZWxlbWVudE5hbWU9ZX19LFZyPWNsYXNze2NvbnN0cnVjdG9yKGUscil7dGhpcy5yb290Tm9kZXM9ZSx0aGlzLmVycm9ycz1yfX0sdHI9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5nZXRUYWdEZWZpbml0aW9uPWV9cGFyc2UoZSxyLG4scz0hMSxpKXtsZXQgYT1EPT4oUiwuLi5GKT0+RChSLnRvTG93ZXJDYXNlKCksLi4uRiksbz1zP3RoaXMuZ2V0VGFnRGVmaW5pdGlvbjphKHRoaXMuZ2V0VGFnRGVmaW5pdGlvbiksdT1EPT5vKEQpLmdldENvbnRlbnRUeXBlKCkscD1zP2k6YShpKSxmPVVzKGUscixpPyhELFIsRixjKT0+e2xldCBnPXAoRCxSLEYsYyk7cmV0dXJuIGchPT12b2lkIDA/Zzp1KEQpfTp1LG4pLGQ9biYmbi5jYW5TZWxmQ2xvc2V8fCExLEM9biYmbi5hbGxvd0h0bUNvbXBvbmVudENsb3NpbmdUYWdzfHwhMSxBPW5ldyBVcihmLnRva2VucyxvLGQsQyxzKTtyZXR1cm4gQS5idWlsZCgpLG5ldyBWcihBLnJvb3ROb2RlcyxmLmVycm9ycy5jb25jYXQoQS5lcnJvcnMpKX19LFVyPWNsYXNzIHR7Y29uc3RydWN0b3IoZSxyLG4scyxpKXt0aGlzLnRva2Vucz1lLHRoaXMuZ2V0VGFnRGVmaW5pdGlvbj1yLHRoaXMuY2FuU2VsZkNsb3NlPW4sdGhpcy5hbGxvd0h0bUNvbXBvbmVudENsb3NpbmdUYWdzPXMsdGhpcy5pc1RhZ05hbWVDYXNlU2Vuc2l0aXZlPWksdGhpcy5faW5kZXg9LTEsdGhpcy5fY29udGFpbmVyU3RhY2s9W10sdGhpcy5yb290Tm9kZXM9W10sdGhpcy5lcnJvcnM9W10sdGhpcy5fYWR2YW5jZSgpfWJ1aWxkKCl7Zm9yKDt0aGlzLl9wZWVrLnR5cGUhPT0zNDspdGhpcy5fcGVlay50eXBlPT09MHx8dGhpcy5fcGVlay50eXBlPT09ND90aGlzLl9jb25zdW1lU3RhcnRUYWcodGhpcy5fYWR2YW5jZSgpKTp0aGlzLl9wZWVrLnR5cGU9PT0zPyh0aGlzLl9jbG9zZVZvaWRFbGVtZW50KCksdGhpcy5fY29uc3VtZUVuZFRhZyh0aGlzLl9hZHZhbmNlKCkpKTp0aGlzLl9wZWVrLnR5cGU9PT0xMj8odGhpcy5fY2xvc2VWb2lkRWxlbWVudCgpLHRoaXMuX2NvbnN1bWVDZGF0YSh0aGlzLl9hZHZhbmNlKCkpKTp0aGlzLl9wZWVrLnR5cGU9PT0xMD8odGhpcy5fY2xvc2VWb2lkRWxlbWVudCgpLHRoaXMuX2NvbnN1bWVDb21tZW50KHRoaXMuX2FkdmFuY2UoKSkpOnRoaXMuX3BlZWsudHlwZT09PTV8fHRoaXMuX3BlZWsudHlwZT09PTd8fHRoaXMuX3BlZWsudHlwZT09PTY/KHRoaXMuX2Nsb3NlVm9pZEVsZW1lbnQoKSx0aGlzLl9jb25zdW1lVGV4dCh0aGlzLl9hZHZhbmNlKCkpKTp0aGlzLl9wZWVrLnR5cGU9PT0yMD90aGlzLl9jb25zdW1lRXhwYW5zaW9uKHRoaXMuX2FkdmFuY2UoKSk6dGhpcy5fcGVlay50eXBlPT09MjU/KHRoaXMuX2Nsb3NlVm9pZEVsZW1lbnQoKSx0aGlzLl9jb25zdW1lQmxvY2tPcGVuKHRoaXMuX2FkdmFuY2UoKSkpOnRoaXMuX3BlZWsudHlwZT09PTI3Pyh0aGlzLl9jbG9zZVZvaWRFbGVtZW50KCksdGhpcy5fY29uc3VtZUJsb2NrQ2xvc2UodGhpcy5fYWR2YW5jZSgpKSk6dGhpcy5fcGVlay50eXBlPT09Mjk/KHRoaXMuX2Nsb3NlVm9pZEVsZW1lbnQoKSx0aGlzLl9jb25zdW1lSW5jb21wbGV0ZUJsb2NrKHRoaXMuX2FkdmFuY2UoKSkpOnRoaXMuX3BlZWsudHlwZT09PTMwPyh0aGlzLl9jbG9zZVZvaWRFbGVtZW50KCksdGhpcy5fY29uc3VtZUxldCh0aGlzLl9hZHZhbmNlKCkpKTp0aGlzLl9wZWVrLnR5cGU9PT0xOD90aGlzLl9jb25zdW1lRG9jVHlwZSh0aGlzLl9hZHZhbmNlKCkpOnRoaXMuX3BlZWsudHlwZT09PTMzPyh0aGlzLl9jbG9zZVZvaWRFbGVtZW50KCksdGhpcy5fY29uc3VtZUluY29tcGxldGVMZXQodGhpcy5fYWR2YW5jZSgpKSk6dGhpcy5fYWR2YW5jZSgpO2ZvcihsZXQgZSBvZiB0aGlzLl9jb250YWluZXJTdGFjayllIGluc3RhbmNlb2YgZWUmJnRoaXMuZXJyb3JzLnB1c2goTC5jcmVhdGUoZS5uYW1lLGUuc291cmNlU3BhbixgVW5jbG9zZWQgYmxvY2sgXCIke2UubmFtZX1cImApKX1fYWR2YW5jZSgpe2xldCBlPXRoaXMuX3BlZWs7cmV0dXJuIHRoaXMuX2luZGV4PHRoaXMudG9rZW5zLmxlbmd0aC0xJiZ0aGlzLl9pbmRleCsrLHRoaXMuX3BlZWs9dGhpcy50b2tlbnNbdGhpcy5faW5kZXhdLGV9X2FkdmFuY2VJZihlKXtyZXR1cm4gdGhpcy5fcGVlay50eXBlPT09ZT90aGlzLl9hZHZhbmNlKCk6bnVsbH1fY29uc3VtZUNkYXRhKGUpe2xldCByPXRoaXMuX2FkdmFuY2UoKSxuPXRoaXMuX2dldFRleHQocikscz10aGlzLl9hZHZhbmNlSWYoMTMpO3RoaXMuX2FkZFRvUGFyZW50KG5ldyBWdChuLG5ldyBoKGUuc291cmNlU3Bhbi5zdGFydCwoc3x8cikuc291cmNlU3Bhbi5lbmQpLFtyXSkpfV9jb25zdW1lQ29tbWVudChlKXtsZXQgcj10aGlzLl9hZHZhbmNlSWYoNyksbj10aGlzLl9hZHZhbmNlSWYoMTEpLHM9ciE9bnVsbD9yLnBhcnRzWzBdLnRyaW0oKTpudWxsLGk9bj09bnVsbD9lLnNvdXJjZVNwYW46bmV3IGgoZS5zb3VyY2VTcGFuLnN0YXJ0LG4uc291cmNlU3Bhbi5lbmQsZS5zb3VyY2VTcGFuLmZ1bGxTdGFydCk7dGhpcy5fYWRkVG9QYXJlbnQobmV3IEd0KHMsaSkpfV9jb25zdW1lRG9jVHlwZShlKXtsZXQgcj10aGlzLl9hZHZhbmNlSWYoNyksbj10aGlzLl9hZHZhbmNlSWYoMTkpLHM9ciE9bnVsbD9yLnBhcnRzWzBdLnRyaW0oKTpudWxsLGk9bmV3IGgoZS5zb3VyY2VTcGFuLnN0YXJ0LChufHxyfHxlKS5zb3VyY2VTcGFuLmVuZCk7dGhpcy5fYWRkVG9QYXJlbnQobmV3IFl0KHMsaSkpfV9jb25zdW1lRXhwYW5zaW9uKGUpe2xldCByPXRoaXMuX2FkdmFuY2UoKSxuPXRoaXMuX2FkdmFuY2UoKSxzPVtdO2Zvcig7dGhpcy5fcGVlay50eXBlPT09MjE7KXtsZXQgYT10aGlzLl9wYXJzZUV4cGFuc2lvbkNhc2UoKTtpZighYSlyZXR1cm47cy5wdXNoKGEpfWlmKHRoaXMuX3BlZWsudHlwZSE9PTI0KXt0aGlzLmVycm9ycy5wdXNoKEwuY3JlYXRlKG51bGwsdGhpcy5fcGVlay5zb3VyY2VTcGFuLFwiSW52YWxpZCBJQ1UgbWVzc2FnZS4gTWlzc2luZyAnfScuXCIpKTtyZXR1cm59bGV0IGk9bmV3IGgoZS5zb3VyY2VTcGFuLnN0YXJ0LHRoaXMuX3BlZWsuc291cmNlU3Bhbi5lbmQsZS5zb3VyY2VTcGFuLmZ1bGxTdGFydCk7dGhpcy5fYWRkVG9QYXJlbnQobmV3IFV0KHIucGFydHNbMF0sbi5wYXJ0c1swXSxzLGksci5zb3VyY2VTcGFuKSksdGhpcy5fYWR2YW5jZSgpfV9wYXJzZUV4cGFuc2lvbkNhc2UoKXtsZXQgZT10aGlzLl9hZHZhbmNlKCk7aWYodGhpcy5fcGVlay50eXBlIT09MjIpcmV0dXJuIHRoaXMuZXJyb3JzLnB1c2goTC5jcmVhdGUobnVsbCx0aGlzLl9wZWVrLnNvdXJjZVNwYW4sXCJJbnZhbGlkIElDVSBtZXNzYWdlLiBNaXNzaW5nICd7Jy5cIikpLG51bGw7bGV0IHI9dGhpcy5fYWR2YW5jZSgpLG49dGhpcy5fY29sbGVjdEV4cGFuc2lvbkV4cFRva2VucyhyKTtpZighbilyZXR1cm4gbnVsbDtsZXQgcz10aGlzLl9hZHZhbmNlKCk7bi5wdXNoKHt0eXBlOjM0LHBhcnRzOltdLHNvdXJjZVNwYW46cy5zb3VyY2VTcGFufSk7bGV0IGk9bmV3IHQobix0aGlzLmdldFRhZ0RlZmluaXRpb24sdGhpcy5jYW5TZWxmQ2xvc2UsdGhpcy5hbGxvd0h0bUNvbXBvbmVudENsb3NpbmdUYWdzLHRoaXMuaXNUYWdOYW1lQ2FzZVNlbnNpdGl2ZSk7aWYoaS5idWlsZCgpLGkuZXJyb3JzLmxlbmd0aD4wKXJldHVybiB0aGlzLmVycm9ycz10aGlzLmVycm9ycy5jb25jYXQoaS5lcnJvcnMpLG51bGw7bGV0IGE9bmV3IGgoZS5zb3VyY2VTcGFuLnN0YXJ0LHMuc291cmNlU3Bhbi5lbmQsZS5zb3VyY2VTcGFuLmZ1bGxTdGFydCksbz1uZXcgaChyLnNvdXJjZVNwYW4uc3RhcnQscy5zb3VyY2VTcGFuLmVuZCxyLnNvdXJjZVNwYW4uZnVsbFN0YXJ0KTtyZXR1cm4gbmV3IFd0KGUucGFydHNbMF0saS5yb290Tm9kZXMsYSxlLnNvdXJjZVNwYW4sbyl9X2NvbGxlY3RFeHBhbnNpb25FeHBUb2tlbnMoZSl7bGV0IHI9W10sbj1bMjJdO2Zvcig7Oyl7aWYoKHRoaXMuX3BlZWsudHlwZT09PTIwfHx0aGlzLl9wZWVrLnR5cGU9PT0yMikmJm4ucHVzaCh0aGlzLl9wZWVrLnR5cGUpLHRoaXMuX3BlZWsudHlwZT09PTIzKWlmKFdzKG4sMjIpKXtpZihuLnBvcCgpLG4ubGVuZ3RoPT09MClyZXR1cm4gcn1lbHNlIHJldHVybiB0aGlzLmVycm9ycy5wdXNoKEwuY3JlYXRlKG51bGwsZS5zb3VyY2VTcGFuLFwiSW52YWxpZCBJQ1UgbWVzc2FnZS4gTWlzc2luZyAnfScuXCIpKSxudWxsO2lmKHRoaXMuX3BlZWsudHlwZT09PTI0KWlmKFdzKG4sMjApKW4ucG9wKCk7ZWxzZSByZXR1cm4gdGhpcy5lcnJvcnMucHVzaChMLmNyZWF0ZShudWxsLGUuc291cmNlU3BhbixcIkludmFsaWQgSUNVIG1lc3NhZ2UuIE1pc3NpbmcgJ30nLlwiKSksbnVsbDtpZih0aGlzLl9wZWVrLnR5cGU9PT0zNClyZXR1cm4gdGhpcy5lcnJvcnMucHVzaChMLmNyZWF0ZShudWxsLGUuc291cmNlU3BhbixcIkludmFsaWQgSUNVIG1lc3NhZ2UuIE1pc3NpbmcgJ30nLlwiKSksbnVsbDtyLnB1c2godGhpcy5fYWR2YW5jZSgpKX19X2dldFRleHQoZSl7bGV0IHI9ZS5wYXJ0c1swXTtpZihyLmxlbmd0aD4wJiZyWzBdPT1gXG5gKXtsZXQgbj10aGlzLl9nZXRDbG9zZXN0UGFyZW50RWxlbWVudCgpO24hPW51bGwmJm4uY2hpbGRyZW4ubGVuZ3RoPT0wJiZ0aGlzLmdldFRhZ0RlZmluaXRpb24obi5uYW1lKS5pZ25vcmVGaXJzdExmJiYocj1yLnN1YnN0cmluZygxKSl9cmV0dXJuIHJ9X2NvbnN1bWVUZXh0KGUpe2xldCByPVtlXSxuPWUuc291cmNlU3BhbixzPWUucGFydHNbMF07aWYocy5sZW5ndGg+MCYmc1swXT09PWBcbmApe2xldCBpPXRoaXMuX2dldENvbnRhaW5lcigpO2khPW51bGwmJmkuY2hpbGRyZW4ubGVuZ3RoPT09MCYmdGhpcy5nZXRUYWdEZWZpbml0aW9uKGkubmFtZSkuaWdub3JlRmlyc3RMZiYmKHM9cy5zdWJzdHJpbmcoMSksclswXT17dHlwZTplLnR5cGUsc291cmNlU3BhbjplLnNvdXJjZVNwYW4scGFydHM6W3NdfSl9Zm9yKDt0aGlzLl9wZWVrLnR5cGU9PT04fHx0aGlzLl9wZWVrLnR5cGU9PT01fHx0aGlzLl9wZWVrLnR5cGU9PT05OyllPXRoaXMuX2FkdmFuY2UoKSxyLnB1c2goZSksZS50eXBlPT09OD9zKz1lLnBhcnRzLmpvaW4oXCJcIikucmVwbGFjZSgvJihbXjtdKyk7L2csenMpOmUudHlwZT09PTk/cys9ZS5wYXJ0c1swXTpzKz1lLnBhcnRzLmpvaW4oXCJcIik7aWYocy5sZW5ndGg+MCl7bGV0IGk9ZS5zb3VyY2VTcGFuO3RoaXMuX2FkZFRvUGFyZW50KG5ldyBIdChzLG5ldyBoKG4uc3RhcnQsaS5lbmQsbi5mdWxsU3RhcnQsbi5kZXRhaWxzKSxyKSl9fV9jbG9zZVZvaWRFbGVtZW50KCl7bGV0IGU9dGhpcy5fZ2V0Q29udGFpbmVyKCk7ZSBpbnN0YW5jZW9mIEcmJnRoaXMuZ2V0VGFnRGVmaW5pdGlvbihlLm5hbWUpLmlzVm9pZCYmdGhpcy5fY29udGFpbmVyU3RhY2sucG9wKCl9X2NvbnN1bWVTdGFydFRhZyhlKXtsZXRbcixuXT1lLnBhcnRzLHM9W107Zm9yKDt0aGlzLl9wZWVrLnR5cGU9PT0xNDspcy5wdXNoKHRoaXMuX2NvbnN1bWVBdHRyKHRoaXMuX2FkdmFuY2UoKSkpO2xldCBpPXRoaXMuX2dldEVsZW1lbnRGdWxsTmFtZShyLG4sdGhpcy5fZ2V0Q2xvc2VzdFBhcmVudEVsZW1lbnQoKSksYT0hMTtpZih0aGlzLl9wZWVrLnR5cGU9PT0yKXt0aGlzLl9hZHZhbmNlKCksYT0hMDtsZXQgQz10aGlzLmdldFRhZ0RlZmluaXRpb24oaSk7dGhpcy5jYW5TZWxmQ2xvc2V8fEMuY2FuU2VsZkNsb3NlfHxSZShpKSE9PW51bGx8fEMuaXNWb2lkfHx0aGlzLmVycm9ycy5wdXNoKEwuY3JlYXRlKGksZS5zb3VyY2VTcGFuLGBPbmx5IHZvaWQsIGN1c3RvbSBhbmQgZm9yZWlnbiBlbGVtZW50cyBjYW4gYmUgc2VsZiBjbG9zZWQgXCIke2UucGFydHNbMV19XCJgKSl9ZWxzZSB0aGlzLl9wZWVrLnR5cGU9PT0xJiYodGhpcy5fYWR2YW5jZSgpLGE9ITEpO2xldCBvPXRoaXMuX3BlZWsuc291cmNlU3Bhbi5mdWxsU3RhcnQsdT1uZXcgaChlLnNvdXJjZVNwYW4uc3RhcnQsbyxlLnNvdXJjZVNwYW4uZnVsbFN0YXJ0KSxwPW5ldyBoKGUuc291cmNlU3Bhbi5zdGFydCxvLGUuc291cmNlU3Bhbi5mdWxsU3RhcnQpLGw9bmV3IGgoZS5zb3VyY2VTcGFuLnN0YXJ0Lm1vdmVCeSgxKSxlLnNvdXJjZVNwYW4uZW5kKSxmPW5ldyBHKGkscyxbXSx1LHAsdm9pZCAwLGwpLGQ9dGhpcy5fZ2V0Q29udGFpbmVyKCk7dGhpcy5fcHVzaENvbnRhaW5lcihmLGQgaW5zdGFuY2VvZiBHJiZ0aGlzLmdldFRhZ0RlZmluaXRpb24oZC5uYW1lKS5pc0Nsb3NlZEJ5Q2hpbGQoZi5uYW1lKSksYT90aGlzLl9wb3BDb250YWluZXIoaSxHLHUpOmUudHlwZT09PTQmJih0aGlzLl9wb3BDb250YWluZXIoaSxHLG51bGwpLHRoaXMuZXJyb3JzLnB1c2goTC5jcmVhdGUoaSx1LGBPcGVuaW5nIHRhZyBcIiR7aX1cIiBub3QgdGVybWluYXRlZC5gKSkpfV9wdXNoQ29udGFpbmVyKGUscil7ciYmdGhpcy5fY29udGFpbmVyU3RhY2sucG9wKCksdGhpcy5fYWRkVG9QYXJlbnQoZSksdGhpcy5fY29udGFpbmVyU3RhY2sucHVzaChlKX1fY29uc3VtZUVuZFRhZyhlKXtsZXQgcj10aGlzLmFsbG93SHRtQ29tcG9uZW50Q2xvc2luZ1RhZ3MmJmUucGFydHMubGVuZ3RoPT09MD9udWxsOnRoaXMuX2dldEVsZW1lbnRGdWxsTmFtZShlLnBhcnRzWzBdLGUucGFydHNbMV0sdGhpcy5fZ2V0Q2xvc2VzdFBhcmVudEVsZW1lbnQoKSk7aWYociYmdGhpcy5nZXRUYWdEZWZpbml0aW9uKHIpLmlzVm9pZCl0aGlzLmVycm9ycy5wdXNoKEwuY3JlYXRlKHIsZS5zb3VyY2VTcGFuLGBWb2lkIGVsZW1lbnRzIGRvIG5vdCBoYXZlIGVuZCB0YWdzIFwiJHtlLnBhcnRzWzFdfVwiYCkpO2Vsc2UgaWYoIXRoaXMuX3BvcENvbnRhaW5lcihyLEcsZS5zb3VyY2VTcGFuKSl7bGV0IG49YFVuZXhwZWN0ZWQgY2xvc2luZyB0YWcgXCIke3J9XCIuIEl0IG1heSBoYXBwZW4gd2hlbiB0aGUgdGFnIGhhcyBhbHJlYWR5IGJlZW4gY2xvc2VkIGJ5IGFub3RoZXIgdGFnLiBGb3IgbW9yZSBpbmZvIHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvaHRtbDUvc3ludGF4Lmh0bWwjY2xvc2luZy1lbGVtZW50cy10aGF0LWhhdmUtaW1wbGllZC1lbmQtdGFnc2A7dGhpcy5lcnJvcnMucHVzaChMLmNyZWF0ZShyLGUuc291cmNlU3BhbixuKSl9fV9wb3BDb250YWluZXIoZSxyLG4pe2xldCBzPSExO2ZvcihsZXQgaT10aGlzLl9jb250YWluZXJTdGFjay5sZW5ndGgtMTtpPj0wO2ktLSl7bGV0IGE9dGhpcy5fY29udGFpbmVyU3RhY2tbaV07aWYoUmUoYS5uYW1lKT9hLm5hbWU9PT1lOihlPT1udWxsfHxhLm5hbWUudG9Mb3dlckNhc2UoKT09PWUudG9Mb3dlckNhc2UoKSkmJmEgaW5zdGFuY2VvZiByKXJldHVybiBhLmVuZFNvdXJjZVNwYW49bixhLnNvdXJjZVNwYW4uZW5kPW4hPT1udWxsP24uZW5kOmEuc291cmNlU3Bhbi5lbmQsdGhpcy5fY29udGFpbmVyU3RhY2suc3BsaWNlKGksdGhpcy5fY29udGFpbmVyU3RhY2subGVuZ3RoLWkpLCFzOyhhIGluc3RhbmNlb2YgZWV8fGEgaW5zdGFuY2VvZiBHJiYhdGhpcy5nZXRUYWdEZWZpbml0aW9uKGEubmFtZSkuY2xvc2VkQnlQYXJlbnQpJiYocz0hMCl9cmV0dXJuITF9X2NvbnN1bWVBdHRyKGUpe2xldCByPU9lKGUucGFydHNbMF0sZS5wYXJ0c1sxXSksbj1lLnNvdXJjZVNwYW4uZW5kLHM7dGhpcy5fcGVlay50eXBlPT09MTUmJihzPXRoaXMuX2FkdmFuY2UoKSk7bGV0IGk9XCJcIixhPVtdLG8sdTtpZih0aGlzLl9wZWVrLnR5cGU9PT0xNilmb3Iobz10aGlzLl9wZWVrLnNvdXJjZVNwYW4sdT10aGlzLl9wZWVrLnNvdXJjZVNwYW4uZW5kO3RoaXMuX3BlZWsudHlwZT09PTE2fHx0aGlzLl9wZWVrLnR5cGU9PT0xN3x8dGhpcy5fcGVlay50eXBlPT09OTspe2xldCBmPXRoaXMuX2FkdmFuY2UoKTthLnB1c2goZiksZi50eXBlPT09MTc/aSs9Zi5wYXJ0cy5qb2luKFwiXCIpLnJlcGxhY2UoLyYoW147XSspOy9nLHpzKTpmLnR5cGU9PT05P2krPWYucGFydHNbMF06aSs9Zi5wYXJ0cy5qb2luKFwiXCIpLHU9bj1mLnNvdXJjZVNwYW4uZW5kfXRoaXMuX3BlZWsudHlwZT09PTE1JiYodT1uPXRoaXMuX2FkdmFuY2UoKS5zb3VyY2VTcGFuLmVuZCk7bGV0IGw9byYmdSYmbmV3IGgoKHM9PW51bGw/dm9pZCAwOnMuc291cmNlU3Bhbi5zdGFydCk/P28uc3RhcnQsdSwocz09bnVsbD92b2lkIDA6cy5zb3VyY2VTcGFuLmZ1bGxTdGFydCk/P28uZnVsbFN0YXJ0KTtyZXR1cm4gbmV3IHp0KHIsaSxuZXcgaChlLnNvdXJjZVNwYW4uc3RhcnQsbixlLnNvdXJjZVNwYW4uZnVsbFN0YXJ0KSxlLnNvdXJjZVNwYW4sbCxhLmxlbmd0aD4wP2E6dm9pZCAwLHZvaWQgMCl9X2NvbnN1bWVCbG9ja09wZW4oZSl7bGV0IHI9W107Zm9yKDt0aGlzLl9wZWVrLnR5cGU9PT0yODspe2xldCBvPXRoaXMuX2FkdmFuY2UoKTtyLnB1c2gobmV3IGN0KG8ucGFydHNbMF0sby5zb3VyY2VTcGFuKSl9dGhpcy5fcGVlay50eXBlPT09MjYmJnRoaXMuX2FkdmFuY2UoKTtsZXQgbj10aGlzLl9wZWVrLnNvdXJjZVNwYW4uZnVsbFN0YXJ0LHM9bmV3IGgoZS5zb3VyY2VTcGFuLnN0YXJ0LG4sZS5zb3VyY2VTcGFuLmZ1bGxTdGFydCksaT1uZXcgaChlLnNvdXJjZVNwYW4uc3RhcnQsbixlLnNvdXJjZVNwYW4uZnVsbFN0YXJ0KSxhPW5ldyBlZShlLnBhcnRzWzBdLHIsW10scyxlLnNvdXJjZVNwYW4saSk7dGhpcy5fcHVzaENvbnRhaW5lcihhLCExKX1fY29uc3VtZUJsb2NrQ2xvc2UoZSl7dGhpcy5fcG9wQ29udGFpbmVyKG51bGwsZWUsZS5zb3VyY2VTcGFuKXx8dGhpcy5lcnJvcnMucHVzaChMLmNyZWF0ZShudWxsLGUuc291cmNlU3BhbiwnVW5leHBlY3RlZCBjbG9zaW5nIGJsb2NrLiBUaGUgYmxvY2sgbWF5IGhhdmUgYmVlbiBjbG9zZWQgZWFybGllci4gSWYgeW91IG1lYW50IHRvIHdyaXRlIHRoZSB9IGNoYXJhY3RlciwgeW91IHNob3VsZCB1c2UgdGhlIFwiJiMxMjU7XCIgSFRNTCBlbnRpdHkgaW5zdGVhZC4nKSl9X2NvbnN1bWVJbmNvbXBsZXRlQmxvY2soZSl7bGV0IHI9W107Zm9yKDt0aGlzLl9wZWVrLnR5cGU9PT0yODspe2xldCBvPXRoaXMuX2FkdmFuY2UoKTtyLnB1c2gobmV3IGN0KG8ucGFydHNbMF0sby5zb3VyY2VTcGFuKSl9bGV0IG49dGhpcy5fcGVlay5zb3VyY2VTcGFuLmZ1bGxTdGFydCxzPW5ldyBoKGUuc291cmNlU3Bhbi5zdGFydCxuLGUuc291cmNlU3Bhbi5mdWxsU3RhcnQpLGk9bmV3IGgoZS5zb3VyY2VTcGFuLnN0YXJ0LG4sZS5zb3VyY2VTcGFuLmZ1bGxTdGFydCksYT1uZXcgZWUoZS5wYXJ0c1swXSxyLFtdLHMsZS5zb3VyY2VTcGFuLGkpO3RoaXMuX3B1c2hDb250YWluZXIoYSwhMSksdGhpcy5fcG9wQ29udGFpbmVyKG51bGwsZWUsbnVsbCksdGhpcy5lcnJvcnMucHVzaChMLmNyZWF0ZShlLnBhcnRzWzBdLHMsYEluY29tcGxldGUgYmxvY2sgXCIke2UucGFydHNbMF19XCIuIElmIHlvdSBtZWFudCB0byB3cml0ZSB0aGUgQCBjaGFyYWN0ZXIsIHlvdSBzaG91bGQgdXNlIHRoZSBcIiYjNjQ7XCIgSFRNTCBlbnRpdHkgaW5zdGVhZC5gKSl9X2NvbnN1bWVMZXQoZSl7bGV0IHI9ZS5wYXJ0c1swXSxuLHM7aWYodGhpcy5fcGVlay50eXBlIT09MzEpe3RoaXMuZXJyb3JzLnB1c2goTC5jcmVhdGUoZS5wYXJ0c1swXSxlLnNvdXJjZVNwYW4sYEludmFsaWQgQGxldCBkZWNsYXJhdGlvbiBcIiR7cn1cIi4gRGVjbGFyYXRpb24gbXVzdCBoYXZlIGEgdmFsdWUuYCkpO3JldHVybn1lbHNlIG49dGhpcy5fYWR2YW5jZSgpO2lmKHRoaXMuX3BlZWsudHlwZSE9PTMyKXt0aGlzLmVycm9ycy5wdXNoKEwuY3JlYXRlKGUucGFydHNbMF0sZS5zb3VyY2VTcGFuLGBVbnRlcm1pbmF0ZWQgQGxldCBkZWNsYXJhdGlvbiBcIiR7cn1cIi4gRGVjbGFyYXRpb24gbXVzdCBiZSB0ZXJtaW5hdGVkIHdpdGggYSBzZW1pY29sb24uYCkpO3JldHVybn1lbHNlIHM9dGhpcy5fYWR2YW5jZSgpO2xldCBpPXMuc291cmNlU3Bhbi5mdWxsU3RhcnQsYT1uZXcgaChlLnNvdXJjZVNwYW4uc3RhcnQsaSxlLnNvdXJjZVNwYW4uZnVsbFN0YXJ0KSxvPWUuc291cmNlU3Bhbi50b1N0cmluZygpLmxhc3RJbmRleE9mKHIpLHU9ZS5zb3VyY2VTcGFuLnN0YXJ0Lm1vdmVCeShvKSxwPW5ldyBoKHUsZS5zb3VyY2VTcGFuLmVuZCksbD1uZXcgcHQocixuLnBhcnRzWzBdLGEscCxuLnNvdXJjZVNwYW4pO3RoaXMuX2FkZFRvUGFyZW50KGwpfV9jb25zdW1lSW5jb21wbGV0ZUxldChlKXtsZXQgcj1lLnBhcnRzWzBdPz9cIlwiLG49cj9gIFwiJHtyfVwiYDpcIlwiO2lmKHIubGVuZ3RoPjApe2xldCBzPWUuc291cmNlU3Bhbi50b1N0cmluZygpLmxhc3RJbmRleE9mKHIpLGk9ZS5zb3VyY2VTcGFuLnN0YXJ0Lm1vdmVCeShzKSxhPW5ldyBoKGksZS5zb3VyY2VTcGFuLmVuZCksbz1uZXcgaChlLnNvdXJjZVNwYW4uc3RhcnQsZS5zb3VyY2VTcGFuLnN0YXJ0Lm1vdmVCeSgwKSksdT1uZXcgcHQocixcIlwiLGUuc291cmNlU3BhbixhLG8pO3RoaXMuX2FkZFRvUGFyZW50KHUpfXRoaXMuZXJyb3JzLnB1c2goTC5jcmVhdGUoZS5wYXJ0c1swXSxlLnNvdXJjZVNwYW4sYEluY29tcGxldGUgQGxldCBkZWNsYXJhdGlvbiR7bn0uIEBsZXQgZGVjbGFyYXRpb25zIG11c3QgYmUgd3JpdHRlbiBhcyBcXGBAbGV0IDxuYW1lPiA9IDx2YWx1ZT47XFxgYCkpfV9nZXRDb250YWluZXIoKXtyZXR1cm4gdGhpcy5fY29udGFpbmVyU3RhY2subGVuZ3RoPjA/dGhpcy5fY29udGFpbmVyU3RhY2tbdGhpcy5fY29udGFpbmVyU3RhY2subGVuZ3RoLTFdOm51bGx9X2dldENsb3Nlc3RQYXJlbnRFbGVtZW50KCl7Zm9yKGxldCBlPXRoaXMuX2NvbnRhaW5lclN0YWNrLmxlbmd0aC0xO2U+LTE7ZS0tKWlmKHRoaXMuX2NvbnRhaW5lclN0YWNrW2VdaW5zdGFuY2VvZiBHKXJldHVybiB0aGlzLl9jb250YWluZXJTdGFja1tlXTtyZXR1cm4gbnVsbH1fYWRkVG9QYXJlbnQoZSl7bGV0IHI9dGhpcy5fZ2V0Q29udGFpbmVyKCk7cj09PW51bGw/dGhpcy5yb290Tm9kZXMucHVzaChlKTpyLmNoaWxkcmVuLnB1c2goZSl9X2dldEVsZW1lbnRGdWxsTmFtZShlLHIsbil7aWYoZT09PVwiXCImJihlPXRoaXMuZ2V0VGFnRGVmaW5pdGlvbihyKS5pbXBsaWNpdE5hbWVzcGFjZVByZWZpeHx8XCJcIixlPT09XCJcIiYmbiE9bnVsbCkpe2xldCBzPXV0KG4ubmFtZSlbMV07dGhpcy5nZXRUYWdEZWZpbml0aW9uKHMpLnByZXZlbnROYW1lc3BhY2VJbmhlcml0YW5jZXx8KGU9UmUobi5uYW1lKSl9cmV0dXJuIE9lKGUscil9fTtmdW5jdGlvbiBXcyh0LGUpe3JldHVybiB0Lmxlbmd0aD4wJiZ0W3QubGVuZ3RoLTFdPT09ZX1mdW5jdGlvbiB6cyh0LGUpe3JldHVybiBNZVtlXSE9PXZvaWQgMD9NZVtlXXx8dDovXiN4W2EtZjAtOV0rJC9pLnRlc3QoZSk/U3RyaW5nLmZyb21Db2RlUG9pbnQocGFyc2VJbnQoZS5zbGljZSgyKSwxNikpOi9eI1xcZCskLy50ZXN0KGUpP1N0cmluZy5mcm9tQ29kZVBvaW50KHBhcnNlSW50KGUuc2xpY2UoMSksMTApKTp0fXZhciBycj1jbGFzcyBleHRlbmRzIHRye2NvbnN0cnVjdG9yKCl7c3VwZXIoJGUpfXBhcnNlKGUscixuLHM9ITEsaSl7cmV0dXJuIHN1cGVyLnBhcnNlKGUscixuLHMsaSl9fTt2YXIgV3I9bnVsbCxTbz0oKT0+KFdyfHwoV3I9bmV3IHJyKSxXcik7ZnVuY3Rpb24genIodCxlPXt9KXtsZXR7Y2FuU2VsZkNsb3NlOnI9ITEsYWxsb3dIdG1Db21wb25lbnRDbG9zaW5nVGFnczpuPSExLGlzVGFnTmFtZUNhc2VTZW5zaXRpdmU6cz0hMSxnZXRUYWdDb250ZW50VHlwZTppLHRva2VuaXplQW5ndWxhckJsb2NrczphPSExLHRva2VuaXplQW5ndWxhckxldERlY2xhcmF0aW9uOm89ITF9PWU7cmV0dXJuIFNvKCkucGFyc2UodCxcImFuZ3VsYXItaHRtbC1wYXJzZXJcIix7dG9rZW5pemVFeHBhbnNpb25Gb3JtczphLGludGVycG9sYXRpb25Db25maWc6dm9pZCAwLGNhblNlbGZDbG9zZTpyLGFsbG93SHRtQ29tcG9uZW50Q2xvc2luZ1RhZ3M6bix0b2tlbml6ZUJsb2NrczphLHRva2VuaXplTGV0Om99LHMsaSl9ZnVuY3Rpb24gX28odCxlKXtsZXQgcj1uZXcgU3ludGF4RXJyb3IodCtcIiAoXCIrZS5sb2Muc3RhcnQubGluZStcIjpcIitlLmxvYy5zdGFydC5jb2x1bW4rXCIpXCIpO3JldHVybiBPYmplY3QuYXNzaWduKHIsZSl9dmFyIEdzPV9vO3ZhciBDdD0zO2Z1bmN0aW9uIEVvKHQpe2xldCBlPXQuc2xpY2UoMCxDdCk7aWYoZSE9PVwiLS0tXCImJmUhPT1cIisrK1wiKXJldHVybjtsZXQgcj10LmluZGV4T2YoYFxuYCxDdCk7aWYocj09PS0xKXJldHVybjtsZXQgbj10LnNsaWNlKEN0LHIpLnRyaW0oKSxzPXQuaW5kZXhPZihgXG4ke2V9YCxyKSxpPW47aWYoaXx8KGk9ZT09PVwiKysrXCI/XCJ0b21sXCI6XCJ5YW1sXCIpLHM9PT0tMSYmZT09PVwiLS0tXCImJmk9PT1cInlhbWxcIiYmKHM9dC5pbmRleE9mKGBcbi4uLmAscikpLHM9PT0tMSlyZXR1cm47bGV0IGE9cysxK0N0LG89dC5jaGFyQXQoYSsxKTtpZighL1xccz8vdS50ZXN0KG8pKXJldHVybjtsZXQgdT10LnNsaWNlKDAsYSk7cmV0dXJue3R5cGU6XCJmcm9udC1tYXR0ZXJcIixsYW5ndWFnZTppLGV4cGxpY2l0TGFuZ3VhZ2U6bix2YWx1ZTp0LnNsaWNlKHIrMSxzKSxzdGFydERlbGltaXRlcjplLGVuZERlbGltaXRlcjp1LnNsaWNlKC1DdCkscmF3OnV9fWZ1bmN0aW9uIEFvKHQpe2xldCBlPUVvKHQpO2lmKCFlKXJldHVybntjb250ZW50OnR9O2xldHtyYXc6cn09ZTtyZXR1cm57ZnJvbnRNYXR0ZXI6ZSxjb250ZW50OncoITEsciwvW15cXG5dL2d1LFwiIFwiKSt0LnNsaWNlKHIubGVuZ3RoKX19dmFyIFlzPUFvO3ZhciBucj17YXR0cnM6ITAsY2hpbGRyZW46ITAsY2FzZXM6ITAsZXhwcmVzc2lvbjohMH0sanM9bmV3IFNldChbXCJwYXJlbnRcIl0pLHNyPWNsYXNzIHR7Y29uc3RydWN0b3IoZT17fSl7Zm9yKGxldCByIG9mIG5ldyBTZXQoWy4uLmpzLC4uLk9iamVjdC5rZXlzKGUpXSkpdGhpcy5zZXRQcm9wZXJ0eShyLGVbcl0pfXNldFByb3BlcnR5KGUscil7aWYodGhpc1tlXSE9PXIpe2lmKGUgaW4gbnImJihyPXIubWFwKG49PnRoaXMuY3JlYXRlQ2hpbGQobikpKSwhanMuaGFzKGUpKXt0aGlzW2VdPXI7cmV0dXJufU9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLGUse3ZhbHVlOnIsZW51bWVyYWJsZTohMSxjb25maWd1cmFibGU6ITB9KX19bWFwKGUpe2xldCByO2ZvcihsZXQgbiBpbiBucil7bGV0IHM9dGhpc1tuXTtpZihzKXtsZXQgaT1EbyhzLGE9PmEubWFwKGUpKTtyIT09cyYmKHJ8fChyPW5ldyB0KHtwYXJlbnQ6dGhpcy5wYXJlbnR9KSksci5zZXRQcm9wZXJ0eShuLGkpKX19aWYocilmb3IobGV0IG4gaW4gdGhpcyluIGluIG5yfHwocltuXT10aGlzW25dKTtyZXR1cm4gZShyfHx0aGlzKX13YWxrKGUpe2ZvcihsZXQgciBpbiBucil7bGV0IG49dGhpc1tyXTtpZihuKWZvcihsZXQgcz0wO3M8bi5sZW5ndGg7cysrKW5bc10ud2FsayhlKX1lKHRoaXMpfWNyZWF0ZUNoaWxkKGUpe2xldCByPWUgaW5zdGFuY2VvZiB0P2UuY2xvbmUoKTpuZXcgdChlKTtyZXR1cm4gci5zZXRQcm9wZXJ0eShcInBhcmVudFwiLHRoaXMpLHJ9aW5zZXJ0Q2hpbGRCZWZvcmUoZSxyKXt0aGlzLmNoaWxkcmVuLnNwbGljZSh0aGlzLmNoaWxkcmVuLmluZGV4T2YoZSksMCx0aGlzLmNyZWF0ZUNoaWxkKHIpKX1yZW1vdmVDaGlsZChlKXt0aGlzLmNoaWxkcmVuLnNwbGljZSh0aGlzLmNoaWxkcmVuLmluZGV4T2YoZSksMSl9cmVwbGFjZUNoaWxkKGUscil7dGhpcy5jaGlsZHJlblt0aGlzLmNoaWxkcmVuLmluZGV4T2YoZSldPXRoaXMuY3JlYXRlQ2hpbGQocil9Y2xvbmUoKXtyZXR1cm4gbmV3IHQodGhpcyl9Z2V0IGZpcnN0Q2hpbGQoKXt2YXIgZTtyZXR1cm4oZT10aGlzLmNoaWxkcmVuKT09bnVsbD92b2lkIDA6ZVswXX1nZXQgbGFzdENoaWxkKCl7dmFyIGU7cmV0dXJuKGU9dGhpcy5jaGlsZHJlbik9PW51bGw/dm9pZCAwOmVbdGhpcy5jaGlsZHJlbi5sZW5ndGgtMV19Z2V0IHByZXYoKXt2YXIgZSxyO3JldHVybihyPShlPXRoaXMucGFyZW50KT09bnVsbD92b2lkIDA6ZS5jaGlsZHJlbik9PW51bGw/dm9pZCAwOnJbdGhpcy5wYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzKS0xXX1nZXQgbmV4dCgpe3ZhciBlLHI7cmV0dXJuKHI9KGU9dGhpcy5wYXJlbnQpPT1udWxsP3ZvaWQgMDplLmNoaWxkcmVuKT09bnVsbD92b2lkIDA6clt0aGlzLnBhcmVudC5jaGlsZHJlbi5pbmRleE9mKHRoaXMpKzFdfWdldCByYXdOYW1lKCl7cmV0dXJuIHRoaXMuaGFzRXhwbGljaXROYW1lc3BhY2U/dGhpcy5mdWxsTmFtZTp0aGlzLm5hbWV9Z2V0IGZ1bGxOYW1lKCl7cmV0dXJuIHRoaXMubmFtZXNwYWNlP3RoaXMubmFtZXNwYWNlK1wiOlwiK3RoaXMubmFtZTp0aGlzLm5hbWV9Z2V0IGF0dHJNYXAoKXtyZXR1cm4gT2JqZWN0LmZyb21FbnRyaWVzKHRoaXMuYXR0cnMubWFwKGU9PltlLmZ1bGxOYW1lLGUudmFsdWVdKSl9fTtmdW5jdGlvbiBEbyh0LGUpe2xldCByPXQubWFwKGUpO3JldHVybiByLnNvbWUoKG4scyk9Pm4hPT10W3NdKT9yOnR9dmFyIHZvPVt7cmVnZXg6L14oXFxbaWYoW15cXF1dKilcXF0+KSguKj8pPCFcXHMqXFxbZW5kaWZcXF0kL3N1LHBhcnNlOnlvfSx7cmVnZXg6L15cXFtpZihbXlxcXV0qKVxcXT48ISQvdSxwYXJzZTp3b30se3JlZ2V4Oi9ePCFcXHMqXFxbZW5kaWZcXF0kL3UscGFyc2U6Ym99XTtmdW5jdGlvbiBLcyh0LGUpe2lmKHQudmFsdWUpZm9yKGxldHtyZWdleDpyLHBhcnNlOm59b2Ygdm8pe2xldCBzPXQudmFsdWUubWF0Y2gocik7aWYocylyZXR1cm4gbih0LGUscyl9cmV0dXJuIG51bGx9ZnVuY3Rpb24geW8odCxlLHIpe2xldFssbixzLGldPXIsYT00K24ubGVuZ3RoLG89dC5zb3VyY2VTcGFuLnN0YXJ0Lm1vdmVCeShhKSx1PW8ubW92ZUJ5KGkubGVuZ3RoKSxbcCxsXT0oKCk9Pnt0cnl7cmV0dXJuWyEwLGUoaSxvKS5jaGlsZHJlbl19Y2F0Y2h7cmV0dXJuWyExLFt7dHlwZTpcInRleHRcIix2YWx1ZTppLHNvdXJjZVNwYW46bmV3IGgobyx1KX1dXX19KSgpO3JldHVybnt0eXBlOlwiaWVDb25kaXRpb25hbENvbW1lbnRcIixjb21wbGV0ZTpwLGNoaWxkcmVuOmwsY29uZGl0aW9uOncoITEscy50cmltKCksL1xccysvZ3UsXCIgXCIpLHNvdXJjZVNwYW46dC5zb3VyY2VTcGFuLHN0YXJ0U291cmNlU3BhbjpuZXcgaCh0LnNvdXJjZVNwYW4uc3RhcnQsbyksZW5kU291cmNlU3BhbjpuZXcgaCh1LHQuc291cmNlU3Bhbi5lbmQpfX1mdW5jdGlvbiB3byh0LGUscil7bGV0WyxuXT1yO3JldHVybnt0eXBlOlwiaWVDb25kaXRpb25hbFN0YXJ0Q29tbWVudFwiLGNvbmRpdGlvbjp3KCExLG4udHJpbSgpLC9cXHMrL2d1LFwiIFwiKSxzb3VyY2VTcGFuOnQuc291cmNlU3Bhbn19ZnVuY3Rpb24gYm8odCl7cmV0dXJue3R5cGU6XCJpZUNvbmRpdGlvbmFsRW5kQ29tbWVudFwiLHNvdXJjZVNwYW46dC5zb3VyY2VTcGFufX12YXIgaXI9bmV3IE1hcChbW1wiKlwiLG5ldyBTZXQoW1wiYWNjZXNza2V5XCIsXCJhdXRvY2FwaXRhbGl6ZVwiLFwiYXV0b2ZvY3VzXCIsXCJjbGFzc1wiLFwiY29udGVudGVkaXRhYmxlXCIsXCJkaXJcIixcImRyYWdnYWJsZVwiLFwiZW50ZXJrZXloaW50XCIsXCJoaWRkZW5cIixcImlkXCIsXCJpbmVydFwiLFwiaW5wdXRtb2RlXCIsXCJpc1wiLFwiaXRlbWlkXCIsXCJpdGVtcHJvcFwiLFwiaXRlbXJlZlwiLFwiaXRlbXNjb3BlXCIsXCJpdGVtdHlwZVwiLFwibGFuZ1wiLFwibm9uY2VcIixcInBvcG92ZXJcIixcInNsb3RcIixcInNwZWxsY2hlY2tcIixcInN0eWxlXCIsXCJ0YWJpbmRleFwiLFwidGl0bGVcIixcInRyYW5zbGF0ZVwiLFwid3JpdGluZ3N1Z2dlc3Rpb25zXCJdKV0sW1wiYVwiLG5ldyBTZXQoW1wiY2hhcnNldFwiLFwiY29vcmRzXCIsXCJkb3dubG9hZFwiLFwiaHJlZlwiLFwiaHJlZmxhbmdcIixcIm5hbWVcIixcInBpbmdcIixcInJlZmVycmVycG9saWN5XCIsXCJyZWxcIixcInJldlwiLFwic2hhcGVcIixcInRhcmdldFwiLFwidHlwZVwiXSldLFtcImFwcGxldFwiLG5ldyBTZXQoW1wiYWxpZ25cIixcImFsdFwiLFwiYXJjaGl2ZVwiLFwiY29kZVwiLFwiY29kZWJhc2VcIixcImhlaWdodFwiLFwiaHNwYWNlXCIsXCJuYW1lXCIsXCJvYmplY3RcIixcInZzcGFjZVwiLFwid2lkdGhcIl0pXSxbXCJhcmVhXCIsbmV3IFNldChbXCJhbHRcIixcImNvb3Jkc1wiLFwiZG93bmxvYWRcIixcImhyZWZcIixcImhyZWZsYW5nXCIsXCJub2hyZWZcIixcInBpbmdcIixcInJlZmVycmVycG9saWN5XCIsXCJyZWxcIixcInNoYXBlXCIsXCJ0YXJnZXRcIixcInR5cGVcIl0pXSxbXCJhdWRpb1wiLG5ldyBTZXQoW1wiYXV0b3BsYXlcIixcImNvbnRyb2xzXCIsXCJjcm9zc29yaWdpblwiLFwibG9vcFwiLFwibXV0ZWRcIixcInByZWxvYWRcIixcInNyY1wiXSldLFtcImJhc2VcIixuZXcgU2V0KFtcImhyZWZcIixcInRhcmdldFwiXSldLFtcImJhc2Vmb250XCIsbmV3IFNldChbXCJjb2xvclwiLFwiZmFjZVwiLFwic2l6ZVwiXSldLFtcImJsb2NrcXVvdGVcIixuZXcgU2V0KFtcImNpdGVcIl0pXSxbXCJib2R5XCIsbmV3IFNldChbXCJhbGlua1wiLFwiYmFja2dyb3VuZFwiLFwiYmdjb2xvclwiLFwibGlua1wiLFwidGV4dFwiLFwidmxpbmtcIl0pXSxbXCJiclwiLG5ldyBTZXQoW1wiY2xlYXJcIl0pXSxbXCJidXR0b25cIixuZXcgU2V0KFtcImRpc2FibGVkXCIsXCJmb3JtXCIsXCJmb3JtYWN0aW9uXCIsXCJmb3JtZW5jdHlwZVwiLFwiZm9ybW1ldGhvZFwiLFwiZm9ybW5vdmFsaWRhdGVcIixcImZvcm10YXJnZXRcIixcIm5hbWVcIixcInBvcG92ZXJ0YXJnZXRcIixcInBvcG92ZXJ0YXJnZXRhY3Rpb25cIixcInR5cGVcIixcInZhbHVlXCJdKV0sW1wiY2FudmFzXCIsbmV3IFNldChbXCJoZWlnaHRcIixcIndpZHRoXCJdKV0sW1wiY2FwdGlvblwiLG5ldyBTZXQoW1wiYWxpZ25cIl0pXSxbXCJjb2xcIixuZXcgU2V0KFtcImFsaWduXCIsXCJjaGFyXCIsXCJjaGFyb2ZmXCIsXCJzcGFuXCIsXCJ2YWxpZ25cIixcIndpZHRoXCJdKV0sW1wiY29sZ3JvdXBcIixuZXcgU2V0KFtcImFsaWduXCIsXCJjaGFyXCIsXCJjaGFyb2ZmXCIsXCJzcGFuXCIsXCJ2YWxpZ25cIixcIndpZHRoXCJdKV0sW1wiZGF0YVwiLG5ldyBTZXQoW1widmFsdWVcIl0pXSxbXCJkZWxcIixuZXcgU2V0KFtcImNpdGVcIixcImRhdGV0aW1lXCJdKV0sW1wiZGV0YWlsc1wiLG5ldyBTZXQoW1wibmFtZVwiLFwib3BlblwiXSldLFtcImRpYWxvZ1wiLG5ldyBTZXQoW1wib3BlblwiXSldLFtcImRpclwiLG5ldyBTZXQoW1wiY29tcGFjdFwiXSldLFtcImRpdlwiLG5ldyBTZXQoW1wiYWxpZ25cIl0pXSxbXCJkbFwiLG5ldyBTZXQoW1wiY29tcGFjdFwiXSldLFtcImVtYmVkXCIsbmV3IFNldChbXCJoZWlnaHRcIixcInNyY1wiLFwidHlwZVwiLFwid2lkdGhcIl0pXSxbXCJmaWVsZHNldFwiLG5ldyBTZXQoW1wiZGlzYWJsZWRcIixcImZvcm1cIixcIm5hbWVcIl0pXSxbXCJmb250XCIsbmV3IFNldChbXCJjb2xvclwiLFwiZmFjZVwiLFwic2l6ZVwiXSldLFtcImZvcm1cIixuZXcgU2V0KFtcImFjY2VwdFwiLFwiYWNjZXB0LWNoYXJzZXRcIixcImFjdGlvblwiLFwiYXV0b2NvbXBsZXRlXCIsXCJlbmN0eXBlXCIsXCJtZXRob2RcIixcIm5hbWVcIixcIm5vdmFsaWRhdGVcIixcInRhcmdldFwiXSldLFtcImZyYW1lXCIsbmV3IFNldChbXCJmcmFtZWJvcmRlclwiLFwibG9uZ2Rlc2NcIixcIm1hcmdpbmhlaWdodFwiLFwibWFyZ2lud2lkdGhcIixcIm5hbWVcIixcIm5vcmVzaXplXCIsXCJzY3JvbGxpbmdcIixcInNyY1wiXSldLFtcImZyYW1lc2V0XCIsbmV3IFNldChbXCJjb2xzXCIsXCJyb3dzXCJdKV0sW1wiaDFcIixuZXcgU2V0KFtcImFsaWduXCJdKV0sW1wiaDJcIixuZXcgU2V0KFtcImFsaWduXCJdKV0sW1wiaDNcIixuZXcgU2V0KFtcImFsaWduXCJdKV0sW1wiaDRcIixuZXcgU2V0KFtcImFsaWduXCJdKV0sW1wiaDVcIixuZXcgU2V0KFtcImFsaWduXCJdKV0sW1wiaDZcIixuZXcgU2V0KFtcImFsaWduXCJdKV0sW1wiaGVhZFwiLG5ldyBTZXQoW1wicHJvZmlsZVwiXSldLFtcImhyXCIsbmV3IFNldChbXCJhbGlnblwiLFwibm9zaGFkZVwiLFwic2l6ZVwiLFwid2lkdGhcIl0pXSxbXCJodG1sXCIsbmV3IFNldChbXCJtYW5pZmVzdFwiLFwidmVyc2lvblwiXSldLFtcImlmcmFtZVwiLG5ldyBTZXQoW1wiYWxpZ25cIixcImFsbG93XCIsXCJhbGxvd2Z1bGxzY3JlZW5cIixcImFsbG93cGF5bWVudHJlcXVlc3RcIixcImFsbG93dXNlcm1lZGlhXCIsXCJmcmFtZWJvcmRlclwiLFwiaGVpZ2h0XCIsXCJsb2FkaW5nXCIsXCJsb25nZGVzY1wiLFwibWFyZ2luaGVpZ2h0XCIsXCJtYXJnaW53aWR0aFwiLFwibmFtZVwiLFwicmVmZXJyZXJwb2xpY3lcIixcInNhbmRib3hcIixcInNjcm9sbGluZ1wiLFwic3JjXCIsXCJzcmNkb2NcIixcIndpZHRoXCJdKV0sW1wiaW1nXCIsbmV3IFNldChbXCJhbGlnblwiLFwiYWx0XCIsXCJib3JkZXJcIixcImNyb3Nzb3JpZ2luXCIsXCJkZWNvZGluZ1wiLFwiZmV0Y2hwcmlvcml0eVwiLFwiaGVpZ2h0XCIsXCJoc3BhY2VcIixcImlzbWFwXCIsXCJsb2FkaW5nXCIsXCJsb25nZGVzY1wiLFwibmFtZVwiLFwicmVmZXJyZXJwb2xpY3lcIixcInNpemVzXCIsXCJzcmNcIixcInNyY3NldFwiLFwidXNlbWFwXCIsXCJ2c3BhY2VcIixcIndpZHRoXCJdKV0sW1wiaW5wdXRcIixuZXcgU2V0KFtcImFjY2VwdFwiLFwiYWxpZ25cIixcImFsdFwiLFwiYXV0b2NvbXBsZXRlXCIsXCJjaGVja2VkXCIsXCJkaXJuYW1lXCIsXCJkaXNhYmxlZFwiLFwiZm9ybVwiLFwiZm9ybWFjdGlvblwiLFwiZm9ybWVuY3R5cGVcIixcImZvcm1tZXRob2RcIixcImZvcm1ub3ZhbGlkYXRlXCIsXCJmb3JtdGFyZ2V0XCIsXCJoZWlnaHRcIixcImlzbWFwXCIsXCJsaXN0XCIsXCJtYXhcIixcIm1heGxlbmd0aFwiLFwibWluXCIsXCJtaW5sZW5ndGhcIixcIm11bHRpcGxlXCIsXCJuYW1lXCIsXCJwYXR0ZXJuXCIsXCJwbGFjZWhvbGRlclwiLFwicG9wb3ZlcnRhcmdldFwiLFwicG9wb3ZlcnRhcmdldGFjdGlvblwiLFwicmVhZG9ubHlcIixcInJlcXVpcmVkXCIsXCJzaXplXCIsXCJzcmNcIixcInN0ZXBcIixcInR5cGVcIixcInVzZW1hcFwiLFwidmFsdWVcIixcIndpZHRoXCJdKV0sW1wiaW5zXCIsbmV3IFNldChbXCJjaXRlXCIsXCJkYXRldGltZVwiXSldLFtcImlzaW5kZXhcIixuZXcgU2V0KFtcInByb21wdFwiXSldLFtcImxhYmVsXCIsbmV3IFNldChbXCJmb3JcIixcImZvcm1cIl0pXSxbXCJsZWdlbmRcIixuZXcgU2V0KFtcImFsaWduXCJdKV0sW1wibGlcIixuZXcgU2V0KFtcInR5cGVcIixcInZhbHVlXCJdKV0sW1wibGlua1wiLG5ldyBTZXQoW1wiYXNcIixcImJsb2NraW5nXCIsXCJjaGFyc2V0XCIsXCJjb2xvclwiLFwiY3Jvc3NvcmlnaW5cIixcImRpc2FibGVkXCIsXCJmZXRjaHByaW9yaXR5XCIsXCJocmVmXCIsXCJocmVmbGFuZ1wiLFwiaW1hZ2VzaXplc1wiLFwiaW1hZ2VzcmNzZXRcIixcImludGVncml0eVwiLFwibWVkaWFcIixcInJlZmVycmVycG9saWN5XCIsXCJyZWxcIixcInJldlwiLFwic2l6ZXNcIixcInRhcmdldFwiLFwidHlwZVwiXSldLFtcIm1hcFwiLG5ldyBTZXQoW1wibmFtZVwiXSldLFtcIm1lbnVcIixuZXcgU2V0KFtcImNvbXBhY3RcIl0pXSxbXCJtZXRhXCIsbmV3IFNldChbXCJjaGFyc2V0XCIsXCJjb250ZW50XCIsXCJodHRwLWVxdWl2XCIsXCJtZWRpYVwiLFwibmFtZVwiLFwic2NoZW1lXCJdKV0sW1wibWV0ZXJcIixuZXcgU2V0KFtcImhpZ2hcIixcImxvd1wiLFwibWF4XCIsXCJtaW5cIixcIm9wdGltdW1cIixcInZhbHVlXCJdKV0sW1wib2JqZWN0XCIsbmV3IFNldChbXCJhbGlnblwiLFwiYXJjaGl2ZVwiLFwiYm9yZGVyXCIsXCJjbGFzc2lkXCIsXCJjb2RlYmFzZVwiLFwiY29kZXR5cGVcIixcImRhdGFcIixcImRlY2xhcmVcIixcImZvcm1cIixcImhlaWdodFwiLFwiaHNwYWNlXCIsXCJuYW1lXCIsXCJzdGFuZGJ5XCIsXCJ0eXBlXCIsXCJ0eXBlbXVzdG1hdGNoXCIsXCJ1c2VtYXBcIixcInZzcGFjZVwiLFwid2lkdGhcIl0pXSxbXCJvbFwiLG5ldyBTZXQoW1wiY29tcGFjdFwiLFwicmV2ZXJzZWRcIixcInN0YXJ0XCIsXCJ0eXBlXCJdKV0sW1wib3B0Z3JvdXBcIixuZXcgU2V0KFtcImRpc2FibGVkXCIsXCJsYWJlbFwiXSldLFtcIm9wdGlvblwiLG5ldyBTZXQoW1wiZGlzYWJsZWRcIixcImxhYmVsXCIsXCJzZWxlY3RlZFwiLFwidmFsdWVcIl0pXSxbXCJvdXRwdXRcIixuZXcgU2V0KFtcImZvclwiLFwiZm9ybVwiLFwibmFtZVwiXSldLFtcInBcIixuZXcgU2V0KFtcImFsaWduXCJdKV0sW1wicGFyYW1cIixuZXcgU2V0KFtcIm5hbWVcIixcInR5cGVcIixcInZhbHVlXCIsXCJ2YWx1ZXR5cGVcIl0pXSxbXCJwcmVcIixuZXcgU2V0KFtcIndpZHRoXCJdKV0sW1wicHJvZ3Jlc3NcIixuZXcgU2V0KFtcIm1heFwiLFwidmFsdWVcIl0pXSxbXCJxXCIsbmV3IFNldChbXCJjaXRlXCJdKV0sW1wic2NyaXB0XCIsbmV3IFNldChbXCJhc3luY1wiLFwiYmxvY2tpbmdcIixcImNoYXJzZXRcIixcImNyb3Nzb3JpZ2luXCIsXCJkZWZlclwiLFwiZmV0Y2hwcmlvcml0eVwiLFwiaW50ZWdyaXR5XCIsXCJsYW5ndWFnZVwiLFwibm9tb2R1bGVcIixcInJlZmVycmVycG9saWN5XCIsXCJzcmNcIixcInR5cGVcIl0pXSxbXCJzZWxlY3RcIixuZXcgU2V0KFtcImF1dG9jb21wbGV0ZVwiLFwiZGlzYWJsZWRcIixcImZvcm1cIixcIm11bHRpcGxlXCIsXCJuYW1lXCIsXCJyZXF1aXJlZFwiLFwic2l6ZVwiXSldLFtcInNsb3RcIixuZXcgU2V0KFtcIm5hbWVcIl0pXSxbXCJzb3VyY2VcIixuZXcgU2V0KFtcImhlaWdodFwiLFwibWVkaWFcIixcInNpemVzXCIsXCJzcmNcIixcInNyY3NldFwiLFwidHlwZVwiLFwid2lkdGhcIl0pXSxbXCJzdHlsZVwiLG5ldyBTZXQoW1wiYmxvY2tpbmdcIixcIm1lZGlhXCIsXCJ0eXBlXCJdKV0sW1widGFibGVcIixuZXcgU2V0KFtcImFsaWduXCIsXCJiZ2NvbG9yXCIsXCJib3JkZXJcIixcImNlbGxwYWRkaW5nXCIsXCJjZWxsc3BhY2luZ1wiLFwiZnJhbWVcIixcInJ1bGVzXCIsXCJzdW1tYXJ5XCIsXCJ3aWR0aFwiXSldLFtcInRib2R5XCIsbmV3IFNldChbXCJhbGlnblwiLFwiY2hhclwiLFwiY2hhcm9mZlwiLFwidmFsaWduXCJdKV0sW1widGRcIixuZXcgU2V0KFtcImFiYnJcIixcImFsaWduXCIsXCJheGlzXCIsXCJiZ2NvbG9yXCIsXCJjaGFyXCIsXCJjaGFyb2ZmXCIsXCJjb2xzcGFuXCIsXCJoZWFkZXJzXCIsXCJoZWlnaHRcIixcIm5vd3JhcFwiLFwicm93c3BhblwiLFwic2NvcGVcIixcInZhbGlnblwiLFwid2lkdGhcIl0pXSxbXCJ0ZW1wbGF0ZVwiLG5ldyBTZXQoW1wic2hhZG93cm9vdGNsb25hYmxlXCIsXCJzaGFkb3dyb290ZGVsZWdhdGVzZm9jdXNcIixcInNoYWRvd3Jvb3Rtb2RlXCJdKV0sW1widGV4dGFyZWFcIixuZXcgU2V0KFtcImF1dG9jb21wbGV0ZVwiLFwiY29sc1wiLFwiZGlybmFtZVwiLFwiZGlzYWJsZWRcIixcImZvcm1cIixcIm1heGxlbmd0aFwiLFwibWlubGVuZ3RoXCIsXCJuYW1lXCIsXCJwbGFjZWhvbGRlclwiLFwicmVhZG9ubHlcIixcInJlcXVpcmVkXCIsXCJyb3dzXCIsXCJ3cmFwXCJdKV0sW1widGZvb3RcIixuZXcgU2V0KFtcImFsaWduXCIsXCJjaGFyXCIsXCJjaGFyb2ZmXCIsXCJ2YWxpZ25cIl0pXSxbXCJ0aFwiLG5ldyBTZXQoW1wiYWJiclwiLFwiYWxpZ25cIixcImF4aXNcIixcImJnY29sb3JcIixcImNoYXJcIixcImNoYXJvZmZcIixcImNvbHNwYW5cIixcImhlYWRlcnNcIixcImhlaWdodFwiLFwibm93cmFwXCIsXCJyb3dzcGFuXCIsXCJzY29wZVwiLFwidmFsaWduXCIsXCJ3aWR0aFwiXSldLFtcInRoZWFkXCIsbmV3IFNldChbXCJhbGlnblwiLFwiY2hhclwiLFwiY2hhcm9mZlwiLFwidmFsaWduXCJdKV0sW1widGltZVwiLG5ldyBTZXQoW1wiZGF0ZXRpbWVcIl0pXSxbXCJ0clwiLG5ldyBTZXQoW1wiYWxpZ25cIixcImJnY29sb3JcIixcImNoYXJcIixcImNoYXJvZmZcIixcInZhbGlnblwiXSldLFtcInRyYWNrXCIsbmV3IFNldChbXCJkZWZhdWx0XCIsXCJraW5kXCIsXCJsYWJlbFwiLFwic3JjXCIsXCJzcmNsYW5nXCJdKV0sW1widWxcIixuZXcgU2V0KFtcImNvbXBhY3RcIixcInR5cGVcIl0pXSxbXCJ2aWRlb1wiLG5ldyBTZXQoW1wiYXV0b3BsYXlcIixcImNvbnRyb2xzXCIsXCJjcm9zc29yaWdpblwiLFwiaGVpZ2h0XCIsXCJsb29wXCIsXCJtdXRlZFwiLFwicGxheXNpbmxpbmVcIixcInBvc3RlclwiLFwicHJlbG9hZFwiLFwic3JjXCIsXCJ3aWR0aFwiXSldXSk7dmFyIFFzPW5ldyBTZXQoW1wiYVwiLFwiYWJiclwiLFwiYWNyb255bVwiLFwiYWRkcmVzc1wiLFwiYXBwbGV0XCIsXCJhcmVhXCIsXCJhcnRpY2xlXCIsXCJhc2lkZVwiLFwiYXVkaW9cIixcImJcIixcImJhc2VcIixcImJhc2Vmb250XCIsXCJiZGlcIixcImJkb1wiLFwiYmdzb3VuZFwiLFwiYmlnXCIsXCJibGlua1wiLFwiYmxvY2txdW90ZVwiLFwiYm9keVwiLFwiYnJcIixcImJ1dHRvblwiLFwiY2FudmFzXCIsXCJjYXB0aW9uXCIsXCJjZW50ZXJcIixcImNpdGVcIixcImNvZGVcIixcImNvbFwiLFwiY29sZ3JvdXBcIixcImNvbW1hbmRcIixcImNvbnRlbnRcIixcImRhdGFcIixcImRhdGFsaXN0XCIsXCJkZFwiLFwiZGVsXCIsXCJkZXRhaWxzXCIsXCJkZm5cIixcImRpYWxvZ1wiLFwiZGlyXCIsXCJkaXZcIixcImRsXCIsXCJkdFwiLFwiZWxlbWVudFwiLFwiZW1cIixcImVtYmVkXCIsXCJmaWVsZHNldFwiLFwiZmlnY2FwdGlvblwiLFwiZmlndXJlXCIsXCJmb250XCIsXCJmb290ZXJcIixcImZvcm1cIixcImZyYW1lXCIsXCJmcmFtZXNldFwiLFwiaDFcIixcImgyXCIsXCJoM1wiLFwiaDRcIixcImg1XCIsXCJoNlwiLFwiaGVhZFwiLFwiaGVhZGVyXCIsXCJoZ3JvdXBcIixcImhyXCIsXCJodG1sXCIsXCJpXCIsXCJpZnJhbWVcIixcImltYWdlXCIsXCJpbWdcIixcImlucHV0XCIsXCJpbnNcIixcImlzaW5kZXhcIixcImtiZFwiLFwia2V5Z2VuXCIsXCJsYWJlbFwiLFwibGVnZW5kXCIsXCJsaVwiLFwibGlua1wiLFwibGlzdGluZ1wiLFwibWFpblwiLFwibWFwXCIsXCJtYXJrXCIsXCJtYXJxdWVlXCIsXCJtYXRoXCIsXCJtZW51XCIsXCJtZW51aXRlbVwiLFwibWV0YVwiLFwibWV0ZXJcIixcIm11bHRpY29sXCIsXCJuYXZcIixcIm5leHRpZFwiLFwibm9iclwiLFwibm9lbWJlZFwiLFwibm9mcmFtZXNcIixcIm5vc2NyaXB0XCIsXCJvYmplY3RcIixcIm9sXCIsXCJvcHRncm91cFwiLFwib3B0aW9uXCIsXCJvdXRwdXRcIixcInBcIixcInBhcmFtXCIsXCJwaWN0dXJlXCIsXCJwbGFpbnRleHRcIixcInByZVwiLFwicHJvZ3Jlc3NcIixcInFcIixcInJiXCIsXCJyYmNcIixcInJwXCIsXCJydFwiLFwicnRjXCIsXCJydWJ5XCIsXCJzXCIsXCJzYW1wXCIsXCJzY3JpcHRcIixcInNlYXJjaFwiLFwic2VjdGlvblwiLFwic2VsZWN0XCIsXCJzaGFkb3dcIixcInNsb3RcIixcInNtYWxsXCIsXCJzb3VyY2VcIixcInNwYWNlclwiLFwic3BhblwiLFwic3RyaWtlXCIsXCJzdHJvbmdcIixcInN0eWxlXCIsXCJzdWJcIixcInN1bW1hcnlcIixcInN1cFwiLFwic3ZnXCIsXCJ0YWJsZVwiLFwidGJvZHlcIixcInRkXCIsXCJ0ZW1wbGF0ZVwiLFwidGV4dGFyZWFcIixcInRmb290XCIsXCJ0aFwiLFwidGhlYWRcIixcInRpbWVcIixcInRpdGxlXCIsXCJ0clwiLFwidHJhY2tcIixcInR0XCIsXCJ1XCIsXCJ1bFwiLFwidmFyXCIsXCJ2aWRlb1wiLFwid2JyXCIsXCJ4bXBcIl0pO2Z1bmN0aW9uIFRvKHQpe2lmKHQudHlwZT09PVwiYmxvY2tcIil7aWYodC5uYW1lPXcoITEsdC5uYW1lLnRvTG93ZXJDYXNlKCksL1xccysvZ3UsXCIgXCIpLnRyaW0oKSx0LnR5cGU9XCJhbmd1bGFyQ29udHJvbEZsb3dCbG9ja1wiLCFGZSh0LnBhcmFtZXRlcnMpKXtkZWxldGUgdC5wYXJhbWV0ZXJzO3JldHVybn1mb3IobGV0IGUgb2YgdC5wYXJhbWV0ZXJzKWUudHlwZT1cImFuZ3VsYXJDb250cm9sRmxvd0Jsb2NrUGFyYW1ldGVyXCI7dC5wYXJhbWV0ZXJzPXt0eXBlOlwiYW5ndWxhckNvbnRyb2xGbG93QmxvY2tQYXJhbWV0ZXJzXCIsY2hpbGRyZW46dC5wYXJhbWV0ZXJzLHNvdXJjZVNwYW46bmV3IGgodC5wYXJhbWV0ZXJzWzBdLnNvdXJjZVNwYW4uc3RhcnQsc2UoITEsdC5wYXJhbWV0ZXJzLC0xKS5zb3VyY2VTcGFuLmVuZCl9fX1mdW5jdGlvbiB4byh0KXt0LnR5cGU9PT1cImxldERlY2xhcmF0aW9uXCImJih0LnR5cGU9XCJhbmd1bGFyTGV0RGVjbGFyYXRpb25cIix0LmlkPXQubmFtZSx0LmluaXQ9e3R5cGU6XCJhbmd1bGFyTGV0RGVjbGFyYXRpb25Jbml0aWFsaXplclwiLHNvdXJjZVNwYW46bmV3IGgodC52YWx1ZVNwYW4uc3RhcnQsdC52YWx1ZVNwYW4uZW5kKSx2YWx1ZTp0LnZhbHVlfSxkZWxldGUgdC5uYW1lLGRlbGV0ZSB0LnZhbHVlKX1mdW5jdGlvbiBrbyh0KXsodC50eXBlPT09XCJwbHVyYWxcInx8dC50eXBlPT09XCJzZWxlY3RcIikmJih0LmNsYXVzZT10LnR5cGUsdC50eXBlPVwiYW5ndWxhckljdUV4cHJlc3Npb25cIiksdC50eXBlPT09XCJleHBhbnNpb25DYXNlXCImJih0LnR5cGU9XCJhbmd1bGFySWN1Q2FzZVwiKX1mdW5jdGlvbiBKcyh0LGUscil7bGV0e25hbWU6bixjYW5TZWxmQ2xvc2U6cz0hMCxub3JtYWxpemVUYWdOYW1lOmk9ITEsbm9ybWFsaXplQXR0cmlidXRlTmFtZTphPSExLGFsbG93SHRtQ29tcG9uZW50Q2xvc2luZ1RhZ3M6bz0hMSxpc1RhZ05hbWVDYXNlU2Vuc2l0aXZlOnU9ITEsc2hvdWxkUGFyc2VBc1Jhd1RleHQ6cH09ZSx7cm9vdE5vZGVzOmwsZXJyb3JzOmZ9PXpyKHQse2NhblNlbGZDbG9zZTpzLGFsbG93SHRtQ29tcG9uZW50Q2xvc2luZ1RhZ3M6byxpc1RhZ05hbWVDYXNlU2Vuc2l0aXZlOnUsZ2V0VGFnQ29udGVudFR5cGU6cD8oLi4uYyk9PnAoLi4uYyk/SS5SQVdfVEVYVDp2b2lkIDA6dm9pZCAwLHRva2VuaXplQW5ndWxhckJsb2NrczpuPT09XCJhbmd1bGFyXCI/ITA6dm9pZCAwLHRva2VuaXplQW5ndWxhckxldERlY2xhcmF0aW9uOm49PT1cImFuZ3VsYXJcIj8hMDp2b2lkIDB9KTtpZihuPT09XCJ2dWVcIil7aWYobC5zb21lKHg9PngudHlwZT09PVwiZG9jVHlwZVwiJiZ4LnZhbHVlPT09XCJodG1sXCJ8fHgudHlwZT09PVwiZWxlbWVudFwiJiZ4Lm5hbWUudG9Mb3dlckNhc2UoKT09PVwiaHRtbFwiKSlyZXR1cm4gSnModCxlaSxyKTtsZXQgZyx5PSgpPT5nPz8oZz16cih0LHtjYW5TZWxmQ2xvc2U6cyxhbGxvd0h0bUNvbXBvbmVudENsb3NpbmdUYWdzOm8saXNUYWdOYW1lQ2FzZVNlbnNpdGl2ZTp1fSkpLE09eD0+eSgpLnJvb3ROb2Rlcy5maW5kKCh7c3RhcnRTb3VyY2VTcGFuOlZ9KT0+ViYmVi5zdGFydC5vZmZzZXQ9PT14LnN0YXJ0U291cmNlU3Bhbi5zdGFydC5vZmZzZXQpPz94O2ZvcihsZXRbeCxWXW9mIGwuZW50cmllcygpKXtsZXR7ZW5kU291cmNlU3BhbjpqcixzdGFydFNvdXJjZVNwYW46dGl9PVY7aWYoanI9PT1udWxsKWY9eSgpLmVycm9ycyxsW3hdPU0oVik7ZWxzZSBpZihCbyhWLHIpKXtsZXQgS3I9eSgpLmVycm9ycy5maW5kKFFyPT5Rci5zcGFuLnN0YXJ0Lm9mZnNldD50aS5zdGFydC5vZmZzZXQmJlFyLnNwYW4uc3RhcnQub2Zmc2V0PGpyLmVuZC5vZmZzZXQpO0tyJiZYcyhLciksbFt4XT1NKFYpfX19Zi5sZW5ndGg+MCYmWHMoZlswXSk7bGV0IGQ9Yz0+e2xldCBnPWMubmFtZS5zdGFydHNXaXRoKFwiOlwiKT9jLm5hbWUuc2xpY2UoMSkuc3BsaXQoXCI6XCIpWzBdOm51bGwseT1jLm5hbWVTcGFuLnRvU3RyaW5nKCksTT1nIT09bnVsbCYmeS5zdGFydHNXaXRoKGAke2d9OmApLHg9TT95LnNsaWNlKGcubGVuZ3RoKzEpOnk7Yy5uYW1lPXgsYy5uYW1lc3BhY2U9ZyxjLmhhc0V4cGxpY2l0TmFtZXNwYWNlPU19LEM9Yz0+e3N3aXRjaChjLnR5cGUpe2Nhc2VcImVsZW1lbnRcIjpkKGMpO2ZvcihsZXQgZyBvZiBjLmF0dHJzKWQoZyksZy52YWx1ZVNwYW4/KGcudmFsdWU9Zy52YWx1ZVNwYW4udG9TdHJpbmcoKSwvW1wiJ10vdS50ZXN0KGcudmFsdWVbMF0pJiYoZy52YWx1ZT1nLnZhbHVlLnNsaWNlKDEsLTEpKSk6Zy52YWx1ZT1udWxsO2JyZWFrO2Nhc2VcImNvbW1lbnRcIjpjLnZhbHVlPWMuc291cmNlU3Bhbi50b1N0cmluZygpLnNsaWNlKDQsLTMpO2JyZWFrO2Nhc2VcInRleHRcIjpjLnZhbHVlPWMuc291cmNlU3Bhbi50b1N0cmluZygpO2JyZWFrfX0sQT0oYyxnKT0+e2xldCB5PWMudG9Mb3dlckNhc2UoKTtyZXR1cm4gZyh5KT95OmN9LEQ9Yz0+e2lmKGMudHlwZT09PVwiZWxlbWVudFwiJiYoaSYmKCFjLm5hbWVzcGFjZXx8Yy5uYW1lc3BhY2U9PT1jLnRhZ0RlZmluaXRpb24uaW1wbGljaXROYW1lc3BhY2VQcmVmaXh8fHBlKGMpKSYmKGMubmFtZT1BKGMubmFtZSxnPT5Rcy5oYXMoZykpKSxhKSlmb3IobGV0IGcgb2YgYy5hdHRycylnLm5hbWVzcGFjZXx8KGcubmFtZT1BKGcubmFtZSx5PT5pci5oYXMoYy5uYW1lKSYmKGlyLmdldChcIipcIikuaGFzKHkpfHxpci5nZXQoYy5uYW1lKS5oYXMoeSkpKSl9LFI9Yz0+e2Muc291cmNlU3BhbiYmYy5lbmRTb3VyY2VTcGFuJiYoYy5zb3VyY2VTcGFuPW5ldyBoKGMuc291cmNlU3Bhbi5zdGFydCxjLmVuZFNvdXJjZVNwYW4uZW5kKSl9LEY9Yz0+e2lmKGMudHlwZT09PVwiZWxlbWVudFwiKXtsZXQgZz0kZSh1P2MubmFtZTpjLm5hbWUudG9Mb3dlckNhc2UoKSk7IWMubmFtZXNwYWNlfHxjLm5hbWVzcGFjZT09PWcuaW1wbGljaXROYW1lc3BhY2VQcmVmaXh8fHBlKGMpP2MudGFnRGVmaW5pdGlvbj1nOmMudGFnRGVmaW5pdGlvbj0kZShcIlwiKX19O3JldHVybiBqdChuZXcgY2xhc3MgZXh0ZW5kcyBodHt2aXNpdEV4cGFuc2lvbkNhc2UoYyxnKXtuPT09XCJhbmd1bGFyXCImJnRoaXMudmlzaXRDaGlsZHJlbihnLHk9Pnt5KGMuZXhwcmVzc2lvbil9KX12aXNpdChjKXtDKGMpLEYoYyksRChjKSxSKGMpfX0sbCksbH1mdW5jdGlvbiBCbyh0LGUpe3ZhciBuO2lmKHQudHlwZSE9PVwiZWxlbWVudFwifHx0Lm5hbWUhPT1cInRlbXBsYXRlXCIpcmV0dXJuITE7bGV0IHI9KG49dC5hdHRycy5maW5kKHM9PnMubmFtZT09PVwibGFuZ1wiKSk9PW51bGw/dm9pZCAwOm4udmFsdWU7cmV0dXJuIXJ8fEJlKGUse2xhbmd1YWdlOnJ9KT09PVwiaHRtbFwifWZ1bmN0aW9uIFhzKHQpe2xldHttc2c6ZSxzcGFuOntzdGFydDpyLGVuZDpufX09dDt0aHJvdyBHcyhlLHtsb2M6e3N0YXJ0OntsaW5lOnIubGluZSsxLGNvbHVtbjpyLmNvbCsxfSxlbmQ6e2xpbmU6bi5saW5lKzEsY29sdW1uOm4uY29sKzF9fSxjYXVzZTp0fSl9ZnVuY3Rpb24gWnModCxlLHI9e30sbj0hMCl7bGV0e2Zyb250TWF0dGVyOnMsY29udGVudDppfT1uP1lzKHQpOntmcm9udE1hdHRlcjpudWxsLGNvbnRlbnQ6dH0sYT1uZXcgRWUodCxyLmZpbGVwYXRoKSxvPW5ldyBpZShhLDAsMCwwKSx1PW8ubW92ZUJ5KHQubGVuZ3RoKSxwPXt0eXBlOlwicm9vdFwiLHNvdXJjZVNwYW46bmV3IGgobyx1KSxjaGlsZHJlbjpKcyhpLGUscil9O2lmKHMpe2xldCBkPW5ldyBpZShhLDAsMCwwKSxDPWQubW92ZUJ5KHMucmF3Lmxlbmd0aCk7cy5zb3VyY2VTcGFuPW5ldyBoKGQsQykscC5jaGlsZHJlbi51bnNoaWZ0KHMpfWxldCBsPW5ldyBzcihwKSxmPShkLEMpPT57bGV0e29mZnNldDpBfT1DLEQ9dyghMSx0LnNsaWNlKDAsQSksL1teXFxuXFxyXS9ndSxcIiBcIiksRj1acyhEK2QsZSxyLCExKTtGLnNvdXJjZVNwYW49bmV3IGgoQyxzZSghMSxGLmNoaWxkcmVuLC0xKS5zb3VyY2VTcGFuLmVuZCk7bGV0IGM9Ri5jaGlsZHJlblswXTtyZXR1cm4gYy5sZW5ndGg9PT1BP0YuY2hpbGRyZW4uc2hpZnQoKTooYy5zb3VyY2VTcGFuPW5ldyBoKGMuc291cmNlU3Bhbi5zdGFydC5tb3ZlQnkoQSksYy5zb3VyY2VTcGFuLmVuZCksYy52YWx1ZT1jLnZhbHVlLnNsaWNlKEEpKSxGfTtyZXR1cm4gbC53YWxrKGQ9PntpZihkLnR5cGU9PT1cImNvbW1lbnRcIil7bGV0IEM9S3MoZCxmKTtDJiZkLnBhcmVudC5yZXBsYWNlQ2hpbGQoZCxDKX1UbyhkKSx4byhkKSxrbyhkKX0pLGx9ZnVuY3Rpb24gYXIodCl7cmV0dXJue3BhcnNlOihlLHIpPT5acyhlLHQsciksaGFzUHJhZ21hOmFzLGFzdEZvcm1hdDpcImh0bWxcIixsb2NTdGFydDpYLGxvY0VuZDpKfX12YXIgZWk9e25hbWU6XCJodG1sXCIsbm9ybWFsaXplVGFnTmFtZTohMCxub3JtYWxpemVBdHRyaWJ1dGVOYW1lOiEwLGFsbG93SHRtQ29tcG9uZW50Q2xvc2luZ1RhZ3M6ITB9LExvPWFyKGVpKSxGbz1hcih7bmFtZTpcImFuZ3VsYXJcIn0pLE5vPWFyKHtuYW1lOlwidnVlXCIsaXNUYWdOYW1lQ2FzZVNlbnNpdGl2ZTohMCxzaG91bGRQYXJzZUFzUmF3VGV4dCh0LGUscixuKXtyZXR1cm4gdC50b0xvd2VyQ2FzZSgpIT09XCJodG1sXCImJiFyJiYodCE9PVwidGVtcGxhdGVcInx8bi5zb21lKCh7bmFtZTpzLHZhbHVlOml9KT0+cz09PVwibGFuZ1wiJiZpIT09XCJodG1sXCImJmkhPT1cIlwiJiZpIT09dm9pZCAwKSl9fSksUG89YXIoe25hbWU6XCJsd2NcIixjYW5TZWxmQ2xvc2U6ITF9KTt2YXIgSW89e2h0bWw6RXN9O3ZhciBOaD1ZcjtleHBvcnR7TmggYXMgZGVmYXVsdCxBcyBhcyBsYW5ndWFnZXMsdnMgYXMgb3B0aW9ucyxHciBhcyBwYXJzZXJzLElvIGFzIHByaW50ZXJzfTtcbiIsICJ2YXIgY2w9T2JqZWN0LmNyZWF0ZTt2YXIgcHQ9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciBsbD1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yO3ZhciBmbD1PYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lczt2YXIgRGw9T2JqZWN0LmdldFByb3RvdHlwZU9mLHBsPU9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7dmFyIE1uPWU9Pnt0aHJvdyBUeXBlRXJyb3IoZSl9O3ZhciBDPShlLHIpPT4oKT0+KHJ8fGUoKHI9e2V4cG9ydHM6e319KS5leHBvcnRzLHIpLHIuZXhwb3J0cyksem49KGUscik9Pntmb3IodmFyIHQgaW4gcilwdChlLHQse2dldDpyW3RdLGVudW1lcmFibGU6ITB9KX0saGw9KGUscix0LG4pPT57aWYociYmdHlwZW9mIHI9PVwib2JqZWN0XCJ8fHR5cGVvZiByPT1cImZ1bmN0aW9uXCIpZm9yKGxldCBhIG9mIGZsKHIpKSFwbC5jYWxsKGUsYSkmJmEhPT10JiZwdChlLGEse2dldDooKT0+clthXSxlbnVtZXJhYmxlOiEobj1sbChyLGEpKXx8bi5lbnVtZXJhYmxlfSk7cmV0dXJuIGV9O3ZhciBVZT0oZSxyLHQpPT4odD1lIT1udWxsP2NsKERsKGUpKTp7fSxobChyfHwhZXx8IWUuX19lc01vZHVsZT9wdCh0LFwiZGVmYXVsdFwiLHt2YWx1ZTplLGVudW1lcmFibGU6ITB9KTp0LGUpKTt2YXIgWW49KGUscix0KT0+ci5oYXMoZSl8fE1uKFwiQ2Fubm90IFwiK3QpO3ZhciBjZT0oZSxyLHQpPT4oWW4oZSxyLFwicmVhZCBmcm9tIHByaXZhdGUgZmllbGRcIiksdD90LmNhbGwoZSk6ci5nZXQoZSkpLEduPShlLHIsdCk9PnIuaGFzKGUpP01uKFwiQ2Fubm90IGFkZCB0aGUgc2FtZSBwcml2YXRlIG1lbWJlciBtb3JlIHRoYW4gb25jZVwiKTpyIGluc3RhbmNlb2YgV2Vha1NldD9yLmFkZChlKTpyLnNldChlLHQpLFZuPShlLHIsdCxuKT0+KFluKGUscixcIndyaXRlIHRvIHByaXZhdGUgZmllbGRcIiksbj9uLmNhbGwoZSx0KTpyLnNldChlLHQpLHQpO3ZhciBrcj1DKChZbSxqbik9PntcInVzZSBzdHJpY3RcIjtqbi5leHBvcnRzPUZsO2Z1bmN0aW9uIEZsKGUpe3JldHVybiBTdHJpbmcoZSkucmVwbGFjZSgvXFxzKy9nLFwiIFwiKX19KTt2YXIgR2k9QygoYnYsWWkpPT57XCJ1c2Ugc3RyaWN0XCI7WWkuZXhwb3J0cz14Zjt2YXIgRHI9OSxNcj0xMCxqZT0zMixDZj0zMyxiZj01OCwkZT05MSx5Zj05MixxdD05Myxwcj05NCx6cj05NixZcj00LEFmPTEwMjQ7ZnVuY3Rpb24geGYoZSl7dmFyIHI9dGhpcy5QYXJzZXIsdD10aGlzLkNvbXBpbGVyO3dmKHIpJiZCZihyLGUpLGtmKHQpJiZUZih0KX1mdW5jdGlvbiB3ZihlKXtyZXR1cm4hIShlJiZlLnByb3RvdHlwZSYmZS5wcm90b3R5cGUuYmxvY2tUb2tlbml6ZXJzKX1mdW5jdGlvbiBrZihlKXtyZXR1cm4hIShlJiZlLnByb3RvdHlwZSYmZS5wcm90b3R5cGUudmlzaXRvcnMpfWZ1bmN0aW9uIEJmKGUscil7Zm9yKHZhciB0PXJ8fHt9LG49ZS5wcm90b3R5cGUsYT1uLmJsb2NrVG9rZW5pemVycyx1PW4uaW5saW5lVG9rZW5pemVycyxpPW4uYmxvY2tNZXRob2RzLG89bi5pbmxpbmVNZXRob2RzLHM9YS5kZWZpbml0aW9uLGw9dS5yZWZlcmVuY2UsYz1bXSxmPS0xLHA9aS5sZW5ndGgsZDsrK2Y8cDspZD1pW2ZdLCEoZD09PVwibmV3bGluZVwifHxkPT09XCJpbmRlbnRlZENvZGVcInx8ZD09PVwicGFyYWdyYXBoXCJ8fGQ9PT1cImZvb3Rub3RlRGVmaW5pdGlvblwiKSYmYy5wdXNoKFtkXSk7Yy5wdXNoKFtcImZvb3Rub3RlRGVmaW5pdGlvblwiXSksdC5pbmxpbmVOb3RlcyYmKF90KG8sXCJyZWZlcmVuY2VcIixcImlubGluZU5vdGVcIiksdS5pbmxpbmVOb3RlPW0pLF90KGksXCJkZWZpbml0aW9uXCIsXCJmb290bm90ZURlZmluaXRpb25cIiksX3QobyxcInJlZmVyZW5jZVwiLFwiZm9vdG5vdGVDYWxsXCIpLGEuZGVmaW5pdGlvbj15LGEuZm9vdG5vdGVEZWZpbml0aW9uPUQsdS5mb290bm90ZUNhbGw9aCx1LnJlZmVyZW5jZT1GLG4uaW50ZXJydXB0Rm9vdG5vdGVEZWZpbml0aW9uPWMsRi5sb2NhdG9yPWwubG9jYXRvcixoLmxvY2F0b3I9RSxtLmxvY2F0b3I9QjtmdW5jdGlvbiBEKGIsZyxBKXtmb3IodmFyIHg9dGhpcyx2PXguaW50ZXJydXB0Rm9vdG5vdGVEZWZpbml0aW9uLHc9eC5vZmZzZXQsaz1nLmxlbmd0aCsxLFQ9MCxxPVtdLFIsTyxTLF8sTCxCZSxqLEksZWUsWix2ZSxFZSxNO1Q8ayYmKF89Zy5jaGFyQ29kZUF0KFQpLCEoXyE9PURyJiZfIT09amUpKTspVCsrO2lmKGcuY2hhckNvZGVBdChUKyspPT09JGUmJmcuY2hhckNvZGVBdChUKyspPT09cHIpe2ZvcihPPVQ7VDxrOyl7aWYoXz1nLmNoYXJDb2RlQXQoVCksXyE9PV98fF89PT1Ncnx8Xz09PURyfHxfPT09amUpcmV0dXJuO2lmKF89PT1xdCl7Uz1ULFQrKzticmVha31UKyt9aWYoIShTPT09dm9pZCAwfHxPPT09U3x8Zy5jaGFyQ29kZUF0KFQrKykhPT1iZikpe2lmKEEpcmV0dXJuITA7Zm9yKFI9Zy5zbGljZShPLFMpLEw9Yi5ub3coKSxlZT0wLFo9MCx2ZT1ULEVlPVtdO1Q8azspe2lmKF89Zy5jaGFyQ29kZUF0KFQpLF8hPT1ffHxfPT09TXIpTT17c3RhcnQ6ZWUsY29udGVudFN0YXJ0OnZlfHxULGNvbnRlbnRFbmQ6VCxlbmQ6VH0sRWUucHVzaChNKSxfPT09TXImJihlZT1UKzEsWj0wLHZlPXZvaWQgMCxNLmVuZD1lZSk7ZWxzZSBpZihaIT09dm9pZCAwKWlmKF89PT1qZXx8Xz09PURyKVorPV89PT1qZT8xOllyLVolWXIsWj5ZciYmKFo9dm9pZCAwLHZlPVQpO2Vsc2V7aWYoWjxZciYmTSYmKE0uY29udGVudFN0YXJ0PT09TS5jb250ZW50RW5kfHxxZih2LGEseCxbYixnLnNsaWNlKFQsQWYpLCEwXSkpKWJyZWFrO1o9dm9pZCAwLHZlPVR9VCsrfWZvcihUPS0xLGs9RWUubGVuZ3RoO2s+MCYmKE09RWVbay0xXSxNLmNvbnRlbnRTdGFydD09PU0uY29udGVudEVuZCk7KWstLTtmb3IoQmU9YihnLnNsaWNlKDAsTS5jb250ZW50RW5kKSk7KytUPGs7KU09RWVbVF0sd1tMLmxpbmUrVF09KHdbTC5saW5lK1RdfHwwKSsoTS5jb250ZW50U3RhcnQtTS5zdGFydCkscS5wdXNoKGcuc2xpY2UoTS5jb250ZW50U3RhcnQsTS5lbmQpKTtyZXR1cm4gaj14LmVudGVyQmxvY2soKSxJPXgudG9rZW5pemVCbG9jayhxLmpvaW4oXCJcIiksTCksaigpLEJlKHt0eXBlOlwiZm9vdG5vdGVEZWZpbml0aW9uXCIsaWRlbnRpZmllcjpSLnRvTG93ZXJDYXNlKCksbGFiZWw6UixjaGlsZHJlbjpJfSl9fX1mdW5jdGlvbiBoKGIsZyxBKXt2YXIgeD1nLmxlbmd0aCsxLHY9MCx3LGssVCxxO2lmKGcuY2hhckNvZGVBdCh2KyspPT09JGUmJmcuY2hhckNvZGVBdCh2KyspPT09cHIpe2ZvcihrPXY7djx4Oyl7aWYocT1nLmNoYXJDb2RlQXQodikscSE9PXF8fHE9PT1Ncnx8cT09PURyfHxxPT09amUpcmV0dXJuO2lmKHE9PT1xdCl7VD12LHYrKzticmVha312Kyt9aWYoIShUPT09dm9pZCAwfHxrPT09VCkpcmV0dXJuIEE/ITA6KHc9Zy5zbGljZShrLFQpLGIoZy5zbGljZSgwLHYpKSh7dHlwZTpcImZvb3Rub3RlUmVmZXJlbmNlXCIsaWRlbnRpZmllcjp3LnRvTG93ZXJDYXNlKCksbGFiZWw6d30pKX19ZnVuY3Rpb24gbShiLGcsQSl7dmFyIHg9dGhpcyx2PWcubGVuZ3RoKzEsdz0wLGs9MCxULHEsUixPLFMsXyxMO2lmKGcuY2hhckNvZGVBdCh3KyspPT09cHImJmcuY2hhckNvZGVBdCh3KyspPT09JGUpe2ZvcihSPXc7dzx2Oyl7aWYocT1nLmNoYXJDb2RlQXQodykscSE9PXEpcmV0dXJuO2lmKF89PT12b2lkIDApaWYocT09PXlmKXcrPTI7ZWxzZSBpZihxPT09JGUpaysrLHcrKztlbHNlIGlmKHE9PT1xdClpZihrPT09MCl7Tz13LHcrKzticmVha31lbHNlIGstLSx3Kys7ZWxzZSBpZihxPT09enIpe2ZvcihTPXcsXz0xO2cuY2hhckNvZGVBdChTK18pPT09enI7KV8rKzt3Kz1ffWVsc2UgdysrO2Vsc2UgaWYocT09PXpyKXtmb3IoUz13LEw9MTtnLmNoYXJDb2RlQXQoUytMKT09PXpyOylMKys7dys9TCxfPT09TCYmKF89dm9pZCAwKSxMPXZvaWQgMH1lbHNlIHcrK31pZihPIT09dm9pZCAwKXJldHVybiBBPyEwOihUPWIubm93KCksVC5jb2x1bW4rPTIsVC5vZmZzZXQrPTIsYihnLnNsaWNlKDAsdykpKHt0eXBlOlwiZm9vdG5vdGVcIixjaGlsZHJlbjp4LnRva2VuaXplSW5saW5lKGcuc2xpY2UoUixPKSxUKX0pKX19ZnVuY3Rpb24gRihiLGcsQSl7dmFyIHg9MDtpZihnLmNoYXJDb2RlQXQoeCk9PT1DZiYmeCsrLGcuY2hhckNvZGVBdCh4KT09PSRlJiZnLmNoYXJDb2RlQXQoeCsxKSE9PXByKXJldHVybiBsLmNhbGwodGhpcyxiLGcsQSl9ZnVuY3Rpb24geShiLGcsQSl7Zm9yKHZhciB4PTAsdj1nLmNoYXJDb2RlQXQoeCk7dj09PWplfHx2PT09RHI7KXY9Zy5jaGFyQ29kZUF0KCsreCk7aWYodj09PSRlJiZnLmNoYXJDb2RlQXQoeCsxKSE9PXByKXJldHVybiBzLmNhbGwodGhpcyxiLGcsQSl9ZnVuY3Rpb24gRShiLGcpe3JldHVybiBiLmluZGV4T2YoXCJbXCIsZyl9ZnVuY3Rpb24gQihiLGcpe3JldHVybiBiLmluZGV4T2YoXCJeW1wiLGcpfX1mdW5jdGlvbiBUZihlKXt2YXIgcj1lLnByb3RvdHlwZS52aXNpdG9ycyx0PVwiICAgIFwiO3IuZm9vdG5vdGU9bixyLmZvb3Rub3RlUmVmZXJlbmNlPWEsci5mb290bm90ZURlZmluaXRpb249dTtmdW5jdGlvbiBuKGkpe3JldHVyblwiXltcIit0aGlzLmFsbChpKS5qb2luKFwiXCIpK1wiXVwifWZ1bmN0aW9uIGEoaSl7cmV0dXJuXCJbXlwiKyhpLmxhYmVsfHxpLmlkZW50aWZpZXIpK1wiXVwifWZ1bmN0aW9uIHUoaSl7Zm9yKHZhciBvPXRoaXMuYWxsKGkpLmpvaW4oYFxuXG5gKS5zcGxpdChgXG5gKSxzPTAsbD1vLmxlbmd0aCxjOysrczxsOyljPW9bc10sYyE9PVwiXCImJihvW3NdPXQrYyk7cmV0dXJuXCJbXlwiKyhpLmxhYmVsfHxpLmlkZW50aWZpZXIpK1wiXTogXCIrby5qb2luKGBcbmApfX1mdW5jdGlvbiBfdChlLHIsdCl7ZS5zcGxpY2UoZS5pbmRleE9mKHIpLDAsdCl9ZnVuY3Rpb24gcWYoZSxyLHQsbil7Zm9yKHZhciBhPWUubGVuZ3RoLHU9LTE7Kyt1PGE7KWlmKHJbZVt1XVswXV0uYXBwbHkodCxuKSlyZXR1cm4hMDtyZXR1cm4hMX19KTt2YXIgT3Q9QyhTdD0+e1N0LmlzUmVtYXJrUGFyc2VyPV9mO1N0LmlzUmVtYXJrQ29tcGlsZXI9U2Y7ZnVuY3Rpb24gX2YoZSl7cmV0dXJuISEoZSYmZS5wcm90b3R5cGUmJmUucHJvdG90eXBlLmJsb2NrVG9rZW5pemVycyl9ZnVuY3Rpb24gU2YoZSl7cmV0dXJuISEoZSYmZS5wcm90b3R5cGUmJmUucHJvdG90eXBlLnZpc2l0b3JzKX19KTt2YXIgSmk9QygoQXYsS2kpPT57dmFyIFZpPU90KCk7S2kuZXhwb3J0cz1JZjt2YXIgamk9OSwkaT0zMixHcj0zNixPZj00OCxMZj01NyxXaT05MixQZj1bXCJtYXRoXCIsXCJtYXRoLWlubGluZVwiXSxIaT1cIm1hdGgtZGlzcGxheVwiO2Z1bmN0aW9uIElmKGUpe2xldCByPXRoaXMuUGFyc2VyLHQ9dGhpcy5Db21waWxlcjtWaS5pc1JlbWFya1BhcnNlcihyKSYmTmYocixlKSxWaS5pc1JlbWFya0NvbXBpbGVyKHQpJiZSZih0LGUpfWZ1bmN0aW9uIE5mKGUscil7bGV0IHQ9ZS5wcm90b3R5cGUsbj10LmlubGluZU1ldGhvZHM7dS5sb2NhdG9yPWEsdC5pbmxpbmVUb2tlbml6ZXJzLm1hdGg9dSxuLnNwbGljZShuLmluZGV4T2YoXCJ0ZXh0XCIpLDAsXCJtYXRoXCIpO2Z1bmN0aW9uIGEoaSxvKXtyZXR1cm4gaS5pbmRleE9mKFwiJFwiLG8pfWZ1bmN0aW9uIHUoaSxvLHMpe2xldCBsPW8ubGVuZ3RoLGM9ITEsZj0hMSxwPTAsZCxELGgsbSxGLHksRTtpZihvLmNoYXJDb2RlQXQocCk9PT1XaSYmKGY9ITAscCsrKSxvLmNoYXJDb2RlQXQocCk9PT1Hcil7aWYocCsrLGYpcmV0dXJuIHM/ITA6aShvLnNsaWNlKDAscCkpKHt0eXBlOlwidGV4dFwiLHZhbHVlOlwiJFwifSk7aWYoby5jaGFyQ29kZUF0KHApPT09R3ImJihjPSEwLHArKyksaD1vLmNoYXJDb2RlQXQocCksIShoPT09JGl8fGg9PT1qaSkpe2ZvcihtPXA7cDxsOyl7aWYoRD1oLGg9by5jaGFyQ29kZUF0KHArMSksRD09PUdyKXtpZihkPW8uY2hhckNvZGVBdChwLTEpLGQhPT0kaSYmZCE9PWppJiYoaCE9PWh8fGg8T2Z8fGg+TGYpJiYoIWN8fGg9PT1Hcikpe0Y9cC0xLHArKyxjJiZwKysseT1wO2JyZWFrfX1lbHNlIEQ9PT1XaSYmKHArKyxoPW8uY2hhckNvZGVBdChwKzEpKTtwKyt9aWYoeSE9PXZvaWQgMClyZXR1cm4gcz8hMDooRT1vLnNsaWNlKG0sRisxKSxpKG8uc2xpY2UoMCx5KSkoe3R5cGU6XCJpbmxpbmVNYXRoXCIsdmFsdWU6RSxkYXRhOntoTmFtZTpcInNwYW5cIixoUHJvcGVydGllczp7Y2xhc3NOYW1lOlBmLmNvbmNhdChjJiZyLmlubGluZU1hdGhEb3VibGU/W0hpXTpbXSl9LGhDaGlsZHJlbjpbe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6RX1dfX0pKX19fX1mdW5jdGlvbiBSZihlKXtsZXQgcj1lLnByb3RvdHlwZTtyLnZpc2l0b3JzLmlubGluZU1hdGg9dDtmdW5jdGlvbiB0KG4pe2xldCBhPVwiJFwiO3JldHVybihuLmRhdGEmJm4uZGF0YS5oUHJvcGVydGllcyYmbi5kYXRhLmhQcm9wZXJ0aWVzLmNsYXNzTmFtZXx8W10pLmluY2x1ZGVzKEhpKSYmKGE9XCIkJFwiKSxhK24udmFsdWUrYX19fSk7dmFyIHJ1PUMoKHh2LGV1KT0+e3ZhciBYaT1PdCgpO2V1LmV4cG9ydHM9WWY7dmFyIFFpPTEwLGhyPTMyLEx0PTM2LFppPWBcbmAsVWY9XCIkXCIsTWY9Mix6Zj1bXCJtYXRoXCIsXCJtYXRoLWRpc3BsYXlcIl07ZnVuY3Rpb24gWWYoKXtsZXQgZT10aGlzLlBhcnNlcixyPXRoaXMuQ29tcGlsZXI7WGkuaXNSZW1hcmtQYXJzZXIoZSkmJkdmKGUpLFhpLmlzUmVtYXJrQ29tcGlsZXIocikmJlZmKHIpfWZ1bmN0aW9uIEdmKGUpe2xldCByPWUucHJvdG90eXBlLHQ9ci5ibG9ja01ldGhvZHMsbj1yLmludGVycnVwdFBhcmFncmFwaCxhPXIuaW50ZXJydXB0TGlzdCx1PXIuaW50ZXJydXB0QmxvY2txdW90ZTtyLmJsb2NrVG9rZW5pemVycy5tYXRoPWksdC5zcGxpY2UodC5pbmRleE9mKFwiZmVuY2VkQ29kZVwiKSsxLDAsXCJtYXRoXCIpLG4uc3BsaWNlKG4uaW5kZXhPZihcImZlbmNlZENvZGVcIikrMSwwLFtcIm1hdGhcIl0pLGEuc3BsaWNlKGEuaW5kZXhPZihcImZlbmNlZENvZGVcIikrMSwwLFtcIm1hdGhcIl0pLHUuc3BsaWNlKHUuaW5kZXhPZihcImZlbmNlZENvZGVcIikrMSwwLFtcIm1hdGhcIl0pO2Z1bmN0aW9uIGkobyxzLGwpe3ZhciBjPXMubGVuZ3RoLGY9MDtsZXQgcCxkLEQsaCxtLEYseSxFLEIsYixnO2Zvcig7ZjxjJiZzLmNoYXJDb2RlQXQoZik9PT1ocjspZisrO2ZvcihtPWY7ZjxjJiZzLmNoYXJDb2RlQXQoZik9PT1MdDspZisrO2lmKEY9Zi1tLCEoRjxNZikpe2Zvcig7ZjxjJiZzLmNoYXJDb2RlQXQoZik9PT1ocjspZisrO2Zvcih5PWY7ZjxjOyl7aWYocD1zLmNoYXJDb2RlQXQoZikscD09PUx0KXJldHVybjtpZihwPT09UWkpYnJlYWs7ZisrfWlmKHMuY2hhckNvZGVBdChmKT09PVFpKXtpZihsKXJldHVybiEwO2ZvcihkPVtdLHkhPT1mJiZkLnB1c2gocy5zbGljZSh5LGYpKSxmKyssRD1zLmluZGV4T2YoWmksZisxKSxEPUQ9PT0tMT9jOkQ7ZjxjOyl7Zm9yKEU9ITEsYj1mLGc9RCxoPUQsQj0wO2g+YiYmcy5jaGFyQ29kZUF0KGgtMSk9PT1ocjspaC0tO2Zvcig7aD5iJiZzLmNoYXJDb2RlQXQoaC0xKT09PUx0OylCKyssaC0tO2ZvcihGPD1CJiZzLmluZGV4T2YoVWYsYik9PT1oJiYoRT0hMCxnPWgpO2I8PWcmJmItZjxtJiZzLmNoYXJDb2RlQXQoYik9PT1ocjspYisrO2lmKEUpZm9yKDtnPmImJnMuY2hhckNvZGVBdChnLTEpPT09aHI7KWctLTtpZigoIUV8fGIhPT1nKSYmZC5wdXNoKHMuc2xpY2UoYixnKSksRSlicmVhaztmPUQrMSxEPXMuaW5kZXhPZihaaSxmKzEpLEQ9RD09PS0xP2M6RH1yZXR1cm4gZD1kLmpvaW4oYFxuYCksbyhzLnNsaWNlKDAsRCkpKHt0eXBlOlwibWF0aFwiLHZhbHVlOmQsZGF0YTp7aE5hbWU6XCJkaXZcIixoUHJvcGVydGllczp7Y2xhc3NOYW1lOnpmLmNvbmNhdCgpfSxoQ2hpbGRyZW46W3t0eXBlOlwidGV4dFwiLHZhbHVlOmR9XX19KX19fX1mdW5jdGlvbiBWZihlKXtsZXQgcj1lLnByb3RvdHlwZTtyLnZpc2l0b3JzLm1hdGg9dDtmdW5jdGlvbiB0KG4pe3JldHVybmAkJFxuYCtuLnZhbHVlK2BcbiQkYH19fSk7dmFyIG51PUMoKHd2LHR1KT0+e3ZhciBqZj1KaSgpLCRmPXJ1KCk7dHUuZXhwb3J0cz1XZjtmdW5jdGlvbiBXZihlKXt2YXIgcj1lfHx7fTskZi5jYWxsKHRoaXMsciksamYuY2FsbCh0aGlzLHIpfX0pO3ZhciBJZT1DKChrdixpdSk9PntpdS5leHBvcnRzPUtmO3ZhciBIZj1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIEtmKCl7Zm9yKHZhciBlPXt9LHI9MDtyPGFyZ3VtZW50cy5sZW5ndGg7cisrKXt2YXIgdD1hcmd1bWVudHNbcl07Zm9yKHZhciBuIGluIHQpSGYuY2FsbCh0LG4pJiYoZVtuXT10W25dKX1yZXR1cm4gZX19KTt2YXIgdXU9QygoQnYsUHQpPT57dHlwZW9mIE9iamVjdC5jcmVhdGU9PVwiZnVuY3Rpb25cIj9QdC5leHBvcnRzPWZ1bmN0aW9uKHIsdCl7dCYmKHIuc3VwZXJfPXQsci5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZSh0LnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOnIsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSkpfTpQdC5leHBvcnRzPWZ1bmN0aW9uKHIsdCl7aWYodCl7ci5zdXBlcl89dDt2YXIgbj1mdW5jdGlvbigpe307bi5wcm90b3R5cGU9dC5wcm90b3R5cGUsci5wcm90b3R5cGU9bmV3IG4sci5wcm90b3R5cGUuY29uc3RydWN0b3I9cn19fSk7dmFyIHN1PUMoKFR2LG91KT0+e1widXNlIHN0cmljdFwiO3ZhciBKZj1JZSgpLGF1PXV1KCk7b3UuZXhwb3J0cz1YZjtmdW5jdGlvbiBYZihlKXt2YXIgcix0LG47YXUodSxlKSxhdShhLHUpLHI9dS5wcm90b3R5cGU7Zm9yKHQgaW4gciluPXJbdF0sbiYmdHlwZW9mIG49PVwib2JqZWN0XCImJihyW3RdPVwiY29uY2F0XCJpbiBuP24uY29uY2F0KCk6SmYobikpO3JldHVybiB1O2Z1bmN0aW9uIGEoaSl7cmV0dXJuIGUuYXBwbHkodGhpcyxpKX1mdW5jdGlvbiB1KCl7cmV0dXJuIHRoaXMgaW5zdGFuY2VvZiB1P2UuYXBwbHkodGhpcyxhcmd1bWVudHMpOm5ldyBhKGFyZ3VtZW50cyl9fX0pO3ZhciBsdT1DKChxdixjdSk9PntcInVzZSBzdHJpY3RcIjtjdS5leHBvcnRzPVFmO2Z1bmN0aW9uIFFmKGUscix0KXtyZXR1cm4gbjtmdW5jdGlvbiBuKCl7dmFyIGE9dHx8dGhpcyx1PWFbZV07cmV0dXJuIGFbZV09IXIsaTtmdW5jdGlvbiBpKCl7YVtlXT11fX19fSk7dmFyIER1PUMoKF92LGZ1KT0+e1widXNlIHN0cmljdFwiO2Z1LmV4cG9ydHM9WmY7ZnVuY3Rpb24gWmYoZSl7Zm9yKHZhciByPVN0cmluZyhlKSx0PVtdLG49L1xccj9cXG58XFxyL2c7bi5leGVjKHIpOyl0LnB1c2gobi5sYXN0SW5kZXgpO3JldHVybiB0LnB1c2goci5sZW5ndGgrMSkse3RvUG9pbnQ6YSx0b1Bvc2l0aW9uOmEsdG9PZmZzZXQ6dX07ZnVuY3Rpb24gYShpKXt2YXIgbz0tMTtpZihpPi0xJiZpPHRbdC5sZW5ndGgtMV0pe2Zvcig7KytvPHQubGVuZ3RoOylpZih0W29dPmkpcmV0dXJue2xpbmU6bysxLGNvbHVtbjppLSh0W28tMV18fDApKzEsb2Zmc2V0Oml9fXJldHVybnt9fWZ1bmN0aW9uIHUoaSl7dmFyIG89aSYmaS5saW5lLHM9aSYmaS5jb2x1bW4sbDtyZXR1cm4haXNOYU4obykmJiFpc05hTihzKSYmby0xIGluIHQmJihsPSh0W28tMl18fDApK3MtMXx8MCksbD4tMSYmbDx0W3QubGVuZ3RoLTFdP2w6LTF9fX0pO3ZhciBodT1DKChTdixwdSk9PntcInVzZSBzdHJpY3RcIjtwdS5leHBvcnRzPWVEO3ZhciBJdD1cIlxcXFxcIjtmdW5jdGlvbiBlRChlLHIpe3JldHVybiB0O2Z1bmN0aW9uIHQobil7Zm9yKHZhciBhPTAsdT1uLmluZGV4T2YoSXQpLGk9ZVtyXSxvPVtdLHM7dSE9PS0xOylvLnB1c2gobi5zbGljZShhLHUpKSxhPXUrMSxzPW4uY2hhckF0KGEpLCghc3x8aS5pbmRleE9mKHMpPT09LTEpJiZvLnB1c2goSXQpLHU9bi5pbmRleE9mKEl0LGErMSk7cmV0dXJuIG8ucHVzaChuLnNsaWNlKGEpKSxvLmpvaW4oXCJcIil9fX0pO3ZhciBkdT1DKChPdixyRCk9PntyRC5leHBvcnRzPXtBRWxpZzpcIlxceEM2XCIsQU1QOlwiJlwiLEFhY3V0ZTpcIlxceEMxXCIsQWNpcmM6XCJcXHhDMlwiLEFncmF2ZTpcIlxceEMwXCIsQXJpbmc6XCJcXHhDNVwiLEF0aWxkZTpcIlxceEMzXCIsQXVtbDpcIlxceEM0XCIsQ09QWTpcIlxceEE5XCIsQ2NlZGlsOlwiXFx4QzdcIixFVEg6XCJcXHhEMFwiLEVhY3V0ZTpcIlxceEM5XCIsRWNpcmM6XCJcXHhDQVwiLEVncmF2ZTpcIlxceEM4XCIsRXVtbDpcIlxceENCXCIsR1Q6XCI+XCIsSWFjdXRlOlwiXFx4Q0RcIixJY2lyYzpcIlxceENFXCIsSWdyYXZlOlwiXFx4Q0NcIixJdW1sOlwiXFx4Q0ZcIixMVDpcIjxcIixOdGlsZGU6XCJcXHhEMVwiLE9hY3V0ZTpcIlxceEQzXCIsT2NpcmM6XCJcXHhENFwiLE9ncmF2ZTpcIlxceEQyXCIsT3NsYXNoOlwiXFx4RDhcIixPdGlsZGU6XCJcXHhENVwiLE91bWw6XCJcXHhENlwiLFFVT1Q6J1wiJyxSRUc6XCJcXHhBRVwiLFRIT1JOOlwiXFx4REVcIixVYWN1dGU6XCJcXHhEQVwiLFVjaXJjOlwiXFx4REJcIixVZ3JhdmU6XCJcXHhEOVwiLFV1bWw6XCJcXHhEQ1wiLFlhY3V0ZTpcIlxceEREXCIsYWFjdXRlOlwiXFx4RTFcIixhY2lyYzpcIlxceEUyXCIsYWN1dGU6XCJcXHhCNFwiLGFlbGlnOlwiXFx4RTZcIixhZ3JhdmU6XCJcXHhFMFwiLGFtcDpcIiZcIixhcmluZzpcIlxceEU1XCIsYXRpbGRlOlwiXFx4RTNcIixhdW1sOlwiXFx4RTRcIixicnZiYXI6XCJcXHhBNlwiLGNjZWRpbDpcIlxceEU3XCIsY2VkaWw6XCJcXHhCOFwiLGNlbnQ6XCJcXHhBMlwiLGNvcHk6XCJcXHhBOVwiLGN1cnJlbjpcIlxceEE0XCIsZGVnOlwiXFx4QjBcIixkaXZpZGU6XCJcXHhGN1wiLGVhY3V0ZTpcIlxceEU5XCIsZWNpcmM6XCJcXHhFQVwiLGVncmF2ZTpcIlxceEU4XCIsZXRoOlwiXFx4RjBcIixldW1sOlwiXFx4RUJcIixmcmFjMTI6XCJcXHhCRFwiLGZyYWMxNDpcIlxceEJDXCIsZnJhYzM0OlwiXFx4QkVcIixndDpcIj5cIixpYWN1dGU6XCJcXHhFRFwiLGljaXJjOlwiXFx4RUVcIixpZXhjbDpcIlxceEExXCIsaWdyYXZlOlwiXFx4RUNcIixpcXVlc3Q6XCJcXHhCRlwiLGl1bWw6XCJcXHhFRlwiLGxhcXVvOlwiXFx4QUJcIixsdDpcIjxcIixtYWNyOlwiXFx4QUZcIixtaWNybzpcIlxceEI1XCIsbWlkZG90OlwiXFx4QjdcIixuYnNwOlwiXFx4QTBcIixub3Q6XCJcXHhBQ1wiLG50aWxkZTpcIlxceEYxXCIsb2FjdXRlOlwiXFx4RjNcIixvY2lyYzpcIlxceEY0XCIsb2dyYXZlOlwiXFx4RjJcIixvcmRmOlwiXFx4QUFcIixvcmRtOlwiXFx4QkFcIixvc2xhc2g6XCJcXHhGOFwiLG90aWxkZTpcIlxceEY1XCIsb3VtbDpcIlxceEY2XCIscGFyYTpcIlxceEI2XCIscGx1c21uOlwiXFx4QjFcIixwb3VuZDpcIlxceEEzXCIscXVvdDonXCInLHJhcXVvOlwiXFx4QkJcIixyZWc6XCJcXHhBRVwiLHNlY3Q6XCJcXHhBN1wiLHNoeTpcIlxceEFEXCIsc3VwMTpcIlxceEI5XCIsc3VwMjpcIlxceEIyXCIsc3VwMzpcIlxceEIzXCIsc3psaWc6XCJcXHhERlwiLHRob3JuOlwiXFx4RkVcIix0aW1lczpcIlxceEQ3XCIsdWFjdXRlOlwiXFx4RkFcIix1Y2lyYzpcIlxceEZCXCIsdWdyYXZlOlwiXFx4RjlcIix1bWw6XCJcXHhBOFwiLHV1bWw6XCJcXHhGQ1wiLHlhY3V0ZTpcIlxceEZEXCIseWVuOlwiXFx4QTVcIix5dW1sOlwiXFx4RkZcIn19KTt2YXIgbXU9QygoTHYsdEQpPT57dEQuZXhwb3J0cz17XCIwXCI6XCJcXHVGRkZEXCIsXCIxMjhcIjpcIlxcdTIwQUNcIixcIjEzMFwiOlwiXFx1MjAxQVwiLFwiMTMxXCI6XCJcXHUwMTkyXCIsXCIxMzJcIjpcIlxcdTIwMUVcIixcIjEzM1wiOlwiXFx1MjAyNlwiLFwiMTM0XCI6XCJcXHUyMDIwXCIsXCIxMzVcIjpcIlxcdTIwMjFcIixcIjEzNlwiOlwiXFx1MDJDNlwiLFwiMTM3XCI6XCJcXHUyMDMwXCIsXCIxMzhcIjpcIlxcdTAxNjBcIixcIjEzOVwiOlwiXFx1MjAzOVwiLFwiMTQwXCI6XCJcXHUwMTUyXCIsXCIxNDJcIjpcIlxcdTAxN0RcIixcIjE0NVwiOlwiXFx1MjAxOFwiLFwiMTQ2XCI6XCJcXHUyMDE5XCIsXCIxNDdcIjpcIlxcdTIwMUNcIixcIjE0OFwiOlwiXFx1MjAxRFwiLFwiMTQ5XCI6XCJcXHUyMDIyXCIsXCIxNTBcIjpcIlxcdTIwMTNcIixcIjE1MVwiOlwiXFx1MjAxNFwiLFwiMTUyXCI6XCJcXHUwMkRDXCIsXCIxNTNcIjpcIlxcdTIxMjJcIixcIjE1NFwiOlwiXFx1MDE2MVwiLFwiMTU1XCI6XCJcXHUyMDNBXCIsXCIxNTZcIjpcIlxcdTAxNTNcIixcIjE1OFwiOlwiXFx1MDE3RVwiLFwiMTU5XCI6XCJcXHUwMTc4XCJ9fSk7dmFyIE5lPUMoKFB2LEZ1KT0+e1widXNlIHN0cmljdFwiO0Z1LmV4cG9ydHM9bkQ7ZnVuY3Rpb24gbkQoZSl7dmFyIHI9dHlwZW9mIGU9PVwic3RyaW5nXCI/ZS5jaGFyQ29kZUF0KDApOmU7cmV0dXJuIHI+PTQ4JiZyPD01N319KTt2YXIgdnU9QygoSXYsZ3UpPT57XCJ1c2Ugc3RyaWN0XCI7Z3UuZXhwb3J0cz1pRDtmdW5jdGlvbiBpRChlKXt2YXIgcj10eXBlb2YgZT09XCJzdHJpbmdcIj9lLmNoYXJDb2RlQXQoMCk6ZTtyZXR1cm4gcj49OTcmJnI8PTEwMnx8cj49NjUmJnI8PTcwfHxyPj00OCYmcjw9NTd9fSk7dmFyIFdlPUMoKE52LEV1KT0+e1widXNlIHN0cmljdFwiO0V1LmV4cG9ydHM9dUQ7ZnVuY3Rpb24gdUQoZSl7dmFyIHI9dHlwZW9mIGU9PVwic3RyaW5nXCI/ZS5jaGFyQ29kZUF0KDApOmU7cmV0dXJuIHI+PTk3JiZyPD0xMjJ8fHI+PTY1JiZyPD05MH19KTt2YXIgYnU9QygoUnYsQ3UpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGFEPVdlKCksb0Q9TmUoKTtDdS5leHBvcnRzPXNEO2Z1bmN0aW9uIHNEKGUpe3JldHVybiBhRChlKXx8b0QoZSl9fSk7dmFyIHl1PUMoKFV2LGNEKT0+e2NELmV4cG9ydHM9e0FFbGk6XCJcXHhDNlwiLEFFbGlnOlwiXFx4QzZcIixBTTpcIiZcIixBTVA6XCImXCIsQWFjdXQ6XCJcXHhDMVwiLEFhY3V0ZTpcIlxceEMxXCIsQWJyZXZlOlwiXFx1MDEwMlwiLEFjaXI6XCJcXHhDMlwiLEFjaXJjOlwiXFx4QzJcIixBY3k6XCJcXHUwNDEwXCIsQWZyOlwiXFx1ezFENTA0fVwiLEFncmF2OlwiXFx4QzBcIixBZ3JhdmU6XCJcXHhDMFwiLEFscGhhOlwiXFx1MDM5MVwiLEFtYWNyOlwiXFx1MDEwMFwiLEFuZDpcIlxcdTJBNTNcIixBb2dvbjpcIlxcdTAxMDRcIixBb3BmOlwiXFx1ezFENTM4fVwiLEFwcGx5RnVuY3Rpb246XCJcXHUyMDYxXCIsQXJpbjpcIlxceEM1XCIsQXJpbmc6XCJcXHhDNVwiLEFzY3I6XCJcXHV7MUQ0OUN9XCIsQXNzaWduOlwiXFx1MjI1NFwiLEF0aWxkOlwiXFx4QzNcIixBdGlsZGU6XCJcXHhDM1wiLEF1bTpcIlxceEM0XCIsQXVtbDpcIlxceEM0XCIsQmFja3NsYXNoOlwiXFx1MjIxNlwiLEJhcnY6XCJcXHUyQUU3XCIsQmFyd2VkOlwiXFx1MjMwNlwiLEJjeTpcIlxcdTA0MTFcIixCZWNhdXNlOlwiXFx1MjIzNVwiLEJlcm5vdWxsaXM6XCJcXHUyMTJDXCIsQmV0YTpcIlxcdTAzOTJcIixCZnI6XCJcXHV7MUQ1MDV9XCIsQm9wZjpcIlxcdXsxRDUzOX1cIixCcmV2ZTpcIlxcdTAyRDhcIixCc2NyOlwiXFx1MjEyQ1wiLEJ1bXBlcTpcIlxcdTIyNEVcIixDSGN5OlwiXFx1MDQyN1wiLENPUDpcIlxceEE5XCIsQ09QWTpcIlxceEE5XCIsQ2FjdXRlOlwiXFx1MDEwNlwiLENhcDpcIlxcdTIyRDJcIixDYXBpdGFsRGlmZmVyZW50aWFsRDpcIlxcdTIxNDVcIixDYXlsZXlzOlwiXFx1MjEyRFwiLENjYXJvbjpcIlxcdTAxMENcIixDY2VkaTpcIlxceEM3XCIsQ2NlZGlsOlwiXFx4QzdcIixDY2lyYzpcIlxcdTAxMDhcIixDY29uaW50OlwiXFx1MjIzMFwiLENkb3Q6XCJcXHUwMTBBXCIsQ2VkaWxsYTpcIlxceEI4XCIsQ2VudGVyRG90OlwiXFx4QjdcIixDZnI6XCJcXHUyMTJEXCIsQ2hpOlwiXFx1MDNBN1wiLENpcmNsZURvdDpcIlxcdTIyOTlcIixDaXJjbGVNaW51czpcIlxcdTIyOTZcIixDaXJjbGVQbHVzOlwiXFx1MjI5NVwiLENpcmNsZVRpbWVzOlwiXFx1MjI5N1wiLENsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbDpcIlxcdTIyMzJcIixDbG9zZUN1cmx5RG91YmxlUXVvdGU6XCJcXHUyMDFEXCIsQ2xvc2VDdXJseVF1b3RlOlwiXFx1MjAxOVwiLENvbG9uOlwiXFx1MjIzN1wiLENvbG9uZTpcIlxcdTJBNzRcIixDb25ncnVlbnQ6XCJcXHUyMjYxXCIsQ29uaW50OlwiXFx1MjIyRlwiLENvbnRvdXJJbnRlZ3JhbDpcIlxcdTIyMkVcIixDb3BmOlwiXFx1MjEwMlwiLENvcHJvZHVjdDpcIlxcdTIyMTBcIixDb3VudGVyQ2xvY2t3aXNlQ29udG91ckludGVncmFsOlwiXFx1MjIzM1wiLENyb3NzOlwiXFx1MkEyRlwiLENzY3I6XCJcXHV7MUQ0OUV9XCIsQ3VwOlwiXFx1MjJEM1wiLEN1cENhcDpcIlxcdTIyNERcIixERDpcIlxcdTIxNDVcIixERG90cmFoZDpcIlxcdTI5MTFcIixESmN5OlwiXFx1MDQwMlwiLERTY3k6XCJcXHUwNDA1XCIsRFpjeTpcIlxcdTA0MEZcIixEYWdnZXI6XCJcXHUyMDIxXCIsRGFycjpcIlxcdTIxQTFcIixEYXNodjpcIlxcdTJBRTRcIixEY2Fyb246XCJcXHUwMTBFXCIsRGN5OlwiXFx1MDQxNFwiLERlbDpcIlxcdTIyMDdcIixEZWx0YTpcIlxcdTAzOTRcIixEZnI6XCJcXHV7MUQ1MDd9XCIsRGlhY3JpdGljYWxBY3V0ZTpcIlxceEI0XCIsRGlhY3JpdGljYWxEb3Q6XCJcXHUwMkQ5XCIsRGlhY3JpdGljYWxEb3VibGVBY3V0ZTpcIlxcdTAyRERcIixEaWFjcml0aWNhbEdyYXZlOlwiYFwiLERpYWNyaXRpY2FsVGlsZGU6XCJcXHUwMkRDXCIsRGlhbW9uZDpcIlxcdTIyQzRcIixEaWZmZXJlbnRpYWxEOlwiXFx1MjE0NlwiLERvcGY6XCJcXHV7MUQ1M0J9XCIsRG90OlwiXFx4QThcIixEb3REb3Q6XCJcXHUyMERDXCIsRG90RXF1YWw6XCJcXHUyMjUwXCIsRG91YmxlQ29udG91ckludGVncmFsOlwiXFx1MjIyRlwiLERvdWJsZURvdDpcIlxceEE4XCIsRG91YmxlRG93bkFycm93OlwiXFx1MjFEM1wiLERvdWJsZUxlZnRBcnJvdzpcIlxcdTIxRDBcIixEb3VibGVMZWZ0UmlnaHRBcnJvdzpcIlxcdTIxRDRcIixEb3VibGVMZWZ0VGVlOlwiXFx1MkFFNFwiLERvdWJsZUxvbmdMZWZ0QXJyb3c6XCJcXHUyN0Y4XCIsRG91YmxlTG9uZ0xlZnRSaWdodEFycm93OlwiXFx1MjdGQVwiLERvdWJsZUxvbmdSaWdodEFycm93OlwiXFx1MjdGOVwiLERvdWJsZVJpZ2h0QXJyb3c6XCJcXHUyMUQyXCIsRG91YmxlUmlnaHRUZWU6XCJcXHUyMkE4XCIsRG91YmxlVXBBcnJvdzpcIlxcdTIxRDFcIixEb3VibGVVcERvd25BcnJvdzpcIlxcdTIxRDVcIixEb3VibGVWZXJ0aWNhbEJhcjpcIlxcdTIyMjVcIixEb3duQXJyb3c6XCJcXHUyMTkzXCIsRG93bkFycm93QmFyOlwiXFx1MjkxM1wiLERvd25BcnJvd1VwQXJyb3c6XCJcXHUyMUY1XCIsRG93bkJyZXZlOlwiXFx1MDMxMVwiLERvd25MZWZ0UmlnaHRWZWN0b3I6XCJcXHUyOTUwXCIsRG93bkxlZnRUZWVWZWN0b3I6XCJcXHUyOTVFXCIsRG93bkxlZnRWZWN0b3I6XCJcXHUyMUJEXCIsRG93bkxlZnRWZWN0b3JCYXI6XCJcXHUyOTU2XCIsRG93blJpZ2h0VGVlVmVjdG9yOlwiXFx1Mjk1RlwiLERvd25SaWdodFZlY3RvcjpcIlxcdTIxQzFcIixEb3duUmlnaHRWZWN0b3JCYXI6XCJcXHUyOTU3XCIsRG93blRlZTpcIlxcdTIyQTRcIixEb3duVGVlQXJyb3c6XCJcXHUyMUE3XCIsRG93bmFycm93OlwiXFx1MjFEM1wiLERzY3I6XCJcXHV7MUQ0OUZ9XCIsRHN0cm9rOlwiXFx1MDExMFwiLEVORzpcIlxcdTAxNEFcIixFVDpcIlxceEQwXCIsRVRIOlwiXFx4RDBcIixFYWN1dDpcIlxceEM5XCIsRWFjdXRlOlwiXFx4QzlcIixFY2Fyb246XCJcXHUwMTFBXCIsRWNpcjpcIlxceENBXCIsRWNpcmM6XCJcXHhDQVwiLEVjeTpcIlxcdTA0MkRcIixFZG90OlwiXFx1MDExNlwiLEVmcjpcIlxcdXsxRDUwOH1cIixFZ3JhdjpcIlxceEM4XCIsRWdyYXZlOlwiXFx4QzhcIixFbGVtZW50OlwiXFx1MjIwOFwiLEVtYWNyOlwiXFx1MDExMlwiLEVtcHR5U21hbGxTcXVhcmU6XCJcXHUyNUZCXCIsRW1wdHlWZXJ5U21hbGxTcXVhcmU6XCJcXHUyNUFCXCIsRW9nb246XCJcXHUwMTE4XCIsRW9wZjpcIlxcdXsxRDUzQ31cIixFcHNpbG9uOlwiXFx1MDM5NVwiLEVxdWFsOlwiXFx1MkE3NVwiLEVxdWFsVGlsZGU6XCJcXHUyMjQyXCIsRXF1aWxpYnJpdW06XCJcXHUyMUNDXCIsRXNjcjpcIlxcdTIxMzBcIixFc2ltOlwiXFx1MkE3M1wiLEV0YTpcIlxcdTAzOTdcIixFdW06XCJcXHhDQlwiLEV1bWw6XCJcXHhDQlwiLEV4aXN0czpcIlxcdTIyMDNcIixFeHBvbmVudGlhbEU6XCJcXHUyMTQ3XCIsRmN5OlwiXFx1MDQyNFwiLEZmcjpcIlxcdXsxRDUwOX1cIixGaWxsZWRTbWFsbFNxdWFyZTpcIlxcdTI1RkNcIixGaWxsZWRWZXJ5U21hbGxTcXVhcmU6XCJcXHUyNUFBXCIsRm9wZjpcIlxcdXsxRDUzRH1cIixGb3JBbGw6XCJcXHUyMjAwXCIsRm91cmllcnRyZjpcIlxcdTIxMzFcIixGc2NyOlwiXFx1MjEzMVwiLEdKY3k6XCJcXHUwNDAzXCIsRzpcIj5cIixHVDpcIj5cIixHYW1tYTpcIlxcdTAzOTNcIixHYW1tYWQ6XCJcXHUwM0RDXCIsR2JyZXZlOlwiXFx1MDExRVwiLEdjZWRpbDpcIlxcdTAxMjJcIixHY2lyYzpcIlxcdTAxMUNcIixHY3k6XCJcXHUwNDEzXCIsR2RvdDpcIlxcdTAxMjBcIixHZnI6XCJcXHV7MUQ1MEF9XCIsR2c6XCJcXHUyMkQ5XCIsR29wZjpcIlxcdXsxRDUzRX1cIixHcmVhdGVyRXF1YWw6XCJcXHUyMjY1XCIsR3JlYXRlckVxdWFsTGVzczpcIlxcdTIyREJcIixHcmVhdGVyRnVsbEVxdWFsOlwiXFx1MjI2N1wiLEdyZWF0ZXJHcmVhdGVyOlwiXFx1MkFBMlwiLEdyZWF0ZXJMZXNzOlwiXFx1MjI3N1wiLEdyZWF0ZXJTbGFudEVxdWFsOlwiXFx1MkE3RVwiLEdyZWF0ZXJUaWxkZTpcIlxcdTIyNzNcIixHc2NyOlwiXFx1ezFENEEyfVwiLEd0OlwiXFx1MjI2QlwiLEhBUkRjeTpcIlxcdTA0MkFcIixIYWNlazpcIlxcdTAyQzdcIixIYXQ6XCJeXCIsSGNpcmM6XCJcXHUwMTI0XCIsSGZyOlwiXFx1MjEwQ1wiLEhpbGJlcnRTcGFjZTpcIlxcdTIxMEJcIixIb3BmOlwiXFx1MjEwRFwiLEhvcml6b250YWxMaW5lOlwiXFx1MjUwMFwiLEhzY3I6XCJcXHUyMTBCXCIsSHN0cm9rOlwiXFx1MDEyNlwiLEh1bXBEb3duSHVtcDpcIlxcdTIyNEVcIixIdW1wRXF1YWw6XCJcXHUyMjRGXCIsSUVjeTpcIlxcdTA0MTVcIixJSmxpZzpcIlxcdTAxMzJcIixJT2N5OlwiXFx1MDQwMVwiLElhY3V0OlwiXFx4Q0RcIixJYWN1dGU6XCJcXHhDRFwiLEljaXI6XCJcXHhDRVwiLEljaXJjOlwiXFx4Q0VcIixJY3k6XCJcXHUwNDE4XCIsSWRvdDpcIlxcdTAxMzBcIixJZnI6XCJcXHUyMTExXCIsSWdyYXY6XCJcXHhDQ1wiLElncmF2ZTpcIlxceENDXCIsSW06XCJcXHUyMTExXCIsSW1hY3I6XCJcXHUwMTJBXCIsSW1hZ2luYXJ5STpcIlxcdTIxNDhcIixJbXBsaWVzOlwiXFx1MjFEMlwiLEludDpcIlxcdTIyMkNcIixJbnRlZ3JhbDpcIlxcdTIyMkJcIixJbnRlcnNlY3Rpb246XCJcXHUyMkMyXCIsSW52aXNpYmxlQ29tbWE6XCJcXHUyMDYzXCIsSW52aXNpYmxlVGltZXM6XCJcXHUyMDYyXCIsSW9nb246XCJcXHUwMTJFXCIsSW9wZjpcIlxcdXsxRDU0MH1cIixJb3RhOlwiXFx1MDM5OVwiLElzY3I6XCJcXHUyMTEwXCIsSXRpbGRlOlwiXFx1MDEyOFwiLEl1a2N5OlwiXFx1MDQwNlwiLEl1bTpcIlxceENGXCIsSXVtbDpcIlxceENGXCIsSmNpcmM6XCJcXHUwMTM0XCIsSmN5OlwiXFx1MDQxOVwiLEpmcjpcIlxcdXsxRDUwRH1cIixKb3BmOlwiXFx1ezFENTQxfVwiLEpzY3I6XCJcXHV7MUQ0QTV9XCIsSnNlcmN5OlwiXFx1MDQwOFwiLEp1a2N5OlwiXFx1MDQwNFwiLEtIY3k6XCJcXHUwNDI1XCIsS0pjeTpcIlxcdTA0MENcIixLYXBwYTpcIlxcdTAzOUFcIixLY2VkaWw6XCJcXHUwMTM2XCIsS2N5OlwiXFx1MDQxQVwiLEtmcjpcIlxcdXsxRDUwRX1cIixLb3BmOlwiXFx1ezFENTQyfVwiLEtzY3I6XCJcXHV7MUQ0QTZ9XCIsTEpjeTpcIlxcdTA0MDlcIixMOlwiPFwiLExUOlwiPFwiLExhY3V0ZTpcIlxcdTAxMzlcIixMYW1iZGE6XCJcXHUwMzlCXCIsTGFuZzpcIlxcdTI3RUFcIixMYXBsYWNldHJmOlwiXFx1MjExMlwiLExhcnI6XCJcXHUyMTlFXCIsTGNhcm9uOlwiXFx1MDEzRFwiLExjZWRpbDpcIlxcdTAxM0JcIixMY3k6XCJcXHUwNDFCXCIsTGVmdEFuZ2xlQnJhY2tldDpcIlxcdTI3RThcIixMZWZ0QXJyb3c6XCJcXHUyMTkwXCIsTGVmdEFycm93QmFyOlwiXFx1MjFFNFwiLExlZnRBcnJvd1JpZ2h0QXJyb3c6XCJcXHUyMUM2XCIsTGVmdENlaWxpbmc6XCJcXHUyMzA4XCIsTGVmdERvdWJsZUJyYWNrZXQ6XCJcXHUyN0U2XCIsTGVmdERvd25UZWVWZWN0b3I6XCJcXHUyOTYxXCIsTGVmdERvd25WZWN0b3I6XCJcXHUyMUMzXCIsTGVmdERvd25WZWN0b3JCYXI6XCJcXHUyOTU5XCIsTGVmdEZsb29yOlwiXFx1MjMwQVwiLExlZnRSaWdodEFycm93OlwiXFx1MjE5NFwiLExlZnRSaWdodFZlY3RvcjpcIlxcdTI5NEVcIixMZWZ0VGVlOlwiXFx1MjJBM1wiLExlZnRUZWVBcnJvdzpcIlxcdTIxQTRcIixMZWZ0VGVlVmVjdG9yOlwiXFx1Mjk1QVwiLExlZnRUcmlhbmdsZTpcIlxcdTIyQjJcIixMZWZ0VHJpYW5nbGVCYXI6XCJcXHUyOUNGXCIsTGVmdFRyaWFuZ2xlRXF1YWw6XCJcXHUyMkI0XCIsTGVmdFVwRG93blZlY3RvcjpcIlxcdTI5NTFcIixMZWZ0VXBUZWVWZWN0b3I6XCJcXHUyOTYwXCIsTGVmdFVwVmVjdG9yOlwiXFx1MjFCRlwiLExlZnRVcFZlY3RvckJhcjpcIlxcdTI5NThcIixMZWZ0VmVjdG9yOlwiXFx1MjFCQ1wiLExlZnRWZWN0b3JCYXI6XCJcXHUyOTUyXCIsTGVmdGFycm93OlwiXFx1MjFEMFwiLExlZnRyaWdodGFycm93OlwiXFx1MjFENFwiLExlc3NFcXVhbEdyZWF0ZXI6XCJcXHUyMkRBXCIsTGVzc0Z1bGxFcXVhbDpcIlxcdTIyNjZcIixMZXNzR3JlYXRlcjpcIlxcdTIyNzZcIixMZXNzTGVzczpcIlxcdTJBQTFcIixMZXNzU2xhbnRFcXVhbDpcIlxcdTJBN0RcIixMZXNzVGlsZGU6XCJcXHUyMjcyXCIsTGZyOlwiXFx1ezFENTBGfVwiLExsOlwiXFx1MjJEOFwiLExsZWZ0YXJyb3c6XCJcXHUyMURBXCIsTG1pZG90OlwiXFx1MDEzRlwiLExvbmdMZWZ0QXJyb3c6XCJcXHUyN0Y1XCIsTG9uZ0xlZnRSaWdodEFycm93OlwiXFx1MjdGN1wiLExvbmdSaWdodEFycm93OlwiXFx1MjdGNlwiLExvbmdsZWZ0YXJyb3c6XCJcXHUyN0Y4XCIsTG9uZ2xlZnRyaWdodGFycm93OlwiXFx1MjdGQVwiLExvbmdyaWdodGFycm93OlwiXFx1MjdGOVwiLExvcGY6XCJcXHV7MUQ1NDN9XCIsTG93ZXJMZWZ0QXJyb3c6XCJcXHUyMTk5XCIsTG93ZXJSaWdodEFycm93OlwiXFx1MjE5OFwiLExzY3I6XCJcXHUyMTEyXCIsTHNoOlwiXFx1MjFCMFwiLExzdHJvazpcIlxcdTAxNDFcIixMdDpcIlxcdTIyNkFcIixNYXA6XCJcXHUyOTA1XCIsTWN5OlwiXFx1MDQxQ1wiLE1lZGl1bVNwYWNlOlwiXFx1MjA1RlwiLE1lbGxpbnRyZjpcIlxcdTIxMzNcIixNZnI6XCJcXHV7MUQ1MTB9XCIsTWludXNQbHVzOlwiXFx1MjIxM1wiLE1vcGY6XCJcXHV7MUQ1NDR9XCIsTXNjcjpcIlxcdTIxMzNcIixNdTpcIlxcdTAzOUNcIixOSmN5OlwiXFx1MDQwQVwiLE5hY3V0ZTpcIlxcdTAxNDNcIixOY2Fyb246XCJcXHUwMTQ3XCIsTmNlZGlsOlwiXFx1MDE0NVwiLE5jeTpcIlxcdTA0MURcIixOZWdhdGl2ZU1lZGl1bVNwYWNlOlwiXFx1MjAwQlwiLE5lZ2F0aXZlVGhpY2tTcGFjZTpcIlxcdTIwMEJcIixOZWdhdGl2ZVRoaW5TcGFjZTpcIlxcdTIwMEJcIixOZWdhdGl2ZVZlcnlUaGluU3BhY2U6XCJcXHUyMDBCXCIsTmVzdGVkR3JlYXRlckdyZWF0ZXI6XCJcXHUyMjZCXCIsTmVzdGVkTGVzc0xlc3M6XCJcXHUyMjZBXCIsTmV3TGluZTpgXG5gLE5mcjpcIlxcdXsxRDUxMX1cIixOb0JyZWFrOlwiXFx1MjA2MFwiLE5vbkJyZWFraW5nU3BhY2U6XCJcXHhBMFwiLE5vcGY6XCJcXHUyMTE1XCIsTm90OlwiXFx1MkFFQ1wiLE5vdENvbmdydWVudDpcIlxcdTIyNjJcIixOb3RDdXBDYXA6XCJcXHUyMjZEXCIsTm90RG91YmxlVmVydGljYWxCYXI6XCJcXHUyMjI2XCIsTm90RWxlbWVudDpcIlxcdTIyMDlcIixOb3RFcXVhbDpcIlxcdTIyNjBcIixOb3RFcXVhbFRpbGRlOlwiXFx1MjI0MlxcdTAzMzhcIixOb3RFeGlzdHM6XCJcXHUyMjA0XCIsTm90R3JlYXRlcjpcIlxcdTIyNkZcIixOb3RHcmVhdGVyRXF1YWw6XCJcXHUyMjcxXCIsTm90R3JlYXRlckZ1bGxFcXVhbDpcIlxcdTIyNjdcXHUwMzM4XCIsTm90R3JlYXRlckdyZWF0ZXI6XCJcXHUyMjZCXFx1MDMzOFwiLE5vdEdyZWF0ZXJMZXNzOlwiXFx1MjI3OVwiLE5vdEdyZWF0ZXJTbGFudEVxdWFsOlwiXFx1MkE3RVxcdTAzMzhcIixOb3RHcmVhdGVyVGlsZGU6XCJcXHUyMjc1XCIsTm90SHVtcERvd25IdW1wOlwiXFx1MjI0RVxcdTAzMzhcIixOb3RIdW1wRXF1YWw6XCJcXHUyMjRGXFx1MDMzOFwiLE5vdExlZnRUcmlhbmdsZTpcIlxcdTIyRUFcIixOb3RMZWZ0VHJpYW5nbGVCYXI6XCJcXHUyOUNGXFx1MDMzOFwiLE5vdExlZnRUcmlhbmdsZUVxdWFsOlwiXFx1MjJFQ1wiLE5vdExlc3M6XCJcXHUyMjZFXCIsTm90TGVzc0VxdWFsOlwiXFx1MjI3MFwiLE5vdExlc3NHcmVhdGVyOlwiXFx1MjI3OFwiLE5vdExlc3NMZXNzOlwiXFx1MjI2QVxcdTAzMzhcIixOb3RMZXNzU2xhbnRFcXVhbDpcIlxcdTJBN0RcXHUwMzM4XCIsTm90TGVzc1RpbGRlOlwiXFx1MjI3NFwiLE5vdE5lc3RlZEdyZWF0ZXJHcmVhdGVyOlwiXFx1MkFBMlxcdTAzMzhcIixOb3ROZXN0ZWRMZXNzTGVzczpcIlxcdTJBQTFcXHUwMzM4XCIsTm90UHJlY2VkZXM6XCJcXHUyMjgwXCIsTm90UHJlY2VkZXNFcXVhbDpcIlxcdTJBQUZcXHUwMzM4XCIsTm90UHJlY2VkZXNTbGFudEVxdWFsOlwiXFx1MjJFMFwiLE5vdFJldmVyc2VFbGVtZW50OlwiXFx1MjIwQ1wiLE5vdFJpZ2h0VHJpYW5nbGU6XCJcXHUyMkVCXCIsTm90UmlnaHRUcmlhbmdsZUJhcjpcIlxcdTI5RDBcXHUwMzM4XCIsTm90UmlnaHRUcmlhbmdsZUVxdWFsOlwiXFx1MjJFRFwiLE5vdFNxdWFyZVN1YnNldDpcIlxcdTIyOEZcXHUwMzM4XCIsTm90U3F1YXJlU3Vic2V0RXF1YWw6XCJcXHUyMkUyXCIsTm90U3F1YXJlU3VwZXJzZXQ6XCJcXHUyMjkwXFx1MDMzOFwiLE5vdFNxdWFyZVN1cGVyc2V0RXF1YWw6XCJcXHUyMkUzXCIsTm90U3Vic2V0OlwiXFx1MjI4MlxcdTIwRDJcIixOb3RTdWJzZXRFcXVhbDpcIlxcdTIyODhcIixOb3RTdWNjZWVkczpcIlxcdTIyODFcIixOb3RTdWNjZWVkc0VxdWFsOlwiXFx1MkFCMFxcdTAzMzhcIixOb3RTdWNjZWVkc1NsYW50RXF1YWw6XCJcXHUyMkUxXCIsTm90U3VjY2VlZHNUaWxkZTpcIlxcdTIyN0ZcXHUwMzM4XCIsTm90U3VwZXJzZXQ6XCJcXHUyMjgzXFx1MjBEMlwiLE5vdFN1cGVyc2V0RXF1YWw6XCJcXHUyMjg5XCIsTm90VGlsZGU6XCJcXHUyMjQxXCIsTm90VGlsZGVFcXVhbDpcIlxcdTIyNDRcIixOb3RUaWxkZUZ1bGxFcXVhbDpcIlxcdTIyNDdcIixOb3RUaWxkZVRpbGRlOlwiXFx1MjI0OVwiLE5vdFZlcnRpY2FsQmFyOlwiXFx1MjIyNFwiLE5zY3I6XCJcXHV7MUQ0QTl9XCIsTnRpbGQ6XCJcXHhEMVwiLE50aWxkZTpcIlxceEQxXCIsTnU6XCJcXHUwMzlEXCIsT0VsaWc6XCJcXHUwMTUyXCIsT2FjdXQ6XCJcXHhEM1wiLE9hY3V0ZTpcIlxceEQzXCIsT2NpcjpcIlxceEQ0XCIsT2NpcmM6XCJcXHhENFwiLE9jeTpcIlxcdTA0MUVcIixPZGJsYWM6XCJcXHUwMTUwXCIsT2ZyOlwiXFx1ezFENTEyfVwiLE9ncmF2OlwiXFx4RDJcIixPZ3JhdmU6XCJcXHhEMlwiLE9tYWNyOlwiXFx1MDE0Q1wiLE9tZWdhOlwiXFx1MDNBOVwiLE9taWNyb246XCJcXHUwMzlGXCIsT29wZjpcIlxcdXsxRDU0Nn1cIixPcGVuQ3VybHlEb3VibGVRdW90ZTpcIlxcdTIwMUNcIixPcGVuQ3VybHlRdW90ZTpcIlxcdTIwMThcIixPcjpcIlxcdTJBNTRcIixPc2NyOlwiXFx1ezFENEFBfVwiLE9zbGFzOlwiXFx4RDhcIixPc2xhc2g6XCJcXHhEOFwiLE90aWxkOlwiXFx4RDVcIixPdGlsZGU6XCJcXHhENVwiLE90aW1lczpcIlxcdTJBMzdcIixPdW06XCJcXHhENlwiLE91bWw6XCJcXHhENlwiLE92ZXJCYXI6XCJcXHUyMDNFXCIsT3ZlckJyYWNlOlwiXFx1MjNERVwiLE92ZXJCcmFja2V0OlwiXFx1MjNCNFwiLE92ZXJQYXJlbnRoZXNpczpcIlxcdTIzRENcIixQYXJ0aWFsRDpcIlxcdTIyMDJcIixQY3k6XCJcXHUwNDFGXCIsUGZyOlwiXFx1ezFENTEzfVwiLFBoaTpcIlxcdTAzQTZcIixQaTpcIlxcdTAzQTBcIixQbHVzTWludXM6XCJcXHhCMVwiLFBvaW5jYXJlcGxhbmU6XCJcXHUyMTBDXCIsUG9wZjpcIlxcdTIxMTlcIixQcjpcIlxcdTJBQkJcIixQcmVjZWRlczpcIlxcdTIyN0FcIixQcmVjZWRlc0VxdWFsOlwiXFx1MkFBRlwiLFByZWNlZGVzU2xhbnRFcXVhbDpcIlxcdTIyN0NcIixQcmVjZWRlc1RpbGRlOlwiXFx1MjI3RVwiLFByaW1lOlwiXFx1MjAzM1wiLFByb2R1Y3Q6XCJcXHUyMjBGXCIsUHJvcG9ydGlvbjpcIlxcdTIyMzdcIixQcm9wb3J0aW9uYWw6XCJcXHUyMjFEXCIsUHNjcjpcIlxcdXsxRDRBQn1cIixQc2k6XCJcXHUwM0E4XCIsUVVPOidcIicsUVVPVDonXCInLFFmcjpcIlxcdXsxRDUxNH1cIixRb3BmOlwiXFx1MjExQVwiLFFzY3I6XCJcXHV7MUQ0QUN9XCIsUkJhcnI6XCJcXHUyOTEwXCIsUkU6XCJcXHhBRVwiLFJFRzpcIlxceEFFXCIsUmFjdXRlOlwiXFx1MDE1NFwiLFJhbmc6XCJcXHUyN0VCXCIsUmFycjpcIlxcdTIxQTBcIixSYXJydGw6XCJcXHUyOTE2XCIsUmNhcm9uOlwiXFx1MDE1OFwiLFJjZWRpbDpcIlxcdTAxNTZcIixSY3k6XCJcXHUwNDIwXCIsUmU6XCJcXHUyMTFDXCIsUmV2ZXJzZUVsZW1lbnQ6XCJcXHUyMjBCXCIsUmV2ZXJzZUVxdWlsaWJyaXVtOlwiXFx1MjFDQlwiLFJldmVyc2VVcEVxdWlsaWJyaXVtOlwiXFx1Mjk2RlwiLFJmcjpcIlxcdTIxMUNcIixSaG86XCJcXHUwM0ExXCIsUmlnaHRBbmdsZUJyYWNrZXQ6XCJcXHUyN0U5XCIsUmlnaHRBcnJvdzpcIlxcdTIxOTJcIixSaWdodEFycm93QmFyOlwiXFx1MjFFNVwiLFJpZ2h0QXJyb3dMZWZ0QXJyb3c6XCJcXHUyMUM0XCIsUmlnaHRDZWlsaW5nOlwiXFx1MjMwOVwiLFJpZ2h0RG91YmxlQnJhY2tldDpcIlxcdTI3RTdcIixSaWdodERvd25UZWVWZWN0b3I6XCJcXHUyOTVEXCIsUmlnaHREb3duVmVjdG9yOlwiXFx1MjFDMlwiLFJpZ2h0RG93blZlY3RvckJhcjpcIlxcdTI5NTVcIixSaWdodEZsb29yOlwiXFx1MjMwQlwiLFJpZ2h0VGVlOlwiXFx1MjJBMlwiLFJpZ2h0VGVlQXJyb3c6XCJcXHUyMUE2XCIsUmlnaHRUZWVWZWN0b3I6XCJcXHUyOTVCXCIsUmlnaHRUcmlhbmdsZTpcIlxcdTIyQjNcIixSaWdodFRyaWFuZ2xlQmFyOlwiXFx1MjlEMFwiLFJpZ2h0VHJpYW5nbGVFcXVhbDpcIlxcdTIyQjVcIixSaWdodFVwRG93blZlY3RvcjpcIlxcdTI5NEZcIixSaWdodFVwVGVlVmVjdG9yOlwiXFx1Mjk1Q1wiLFJpZ2h0VXBWZWN0b3I6XCJcXHUyMUJFXCIsUmlnaHRVcFZlY3RvckJhcjpcIlxcdTI5NTRcIixSaWdodFZlY3RvcjpcIlxcdTIxQzBcIixSaWdodFZlY3RvckJhcjpcIlxcdTI5NTNcIixSaWdodGFycm93OlwiXFx1MjFEMlwiLFJvcGY6XCJcXHUyMTFEXCIsUm91bmRJbXBsaWVzOlwiXFx1Mjk3MFwiLFJyaWdodGFycm93OlwiXFx1MjFEQlwiLFJzY3I6XCJcXHUyMTFCXCIsUnNoOlwiXFx1MjFCMVwiLFJ1bGVEZWxheWVkOlwiXFx1MjlGNFwiLFNIQ0hjeTpcIlxcdTA0MjlcIixTSGN5OlwiXFx1MDQyOFwiLFNPRlRjeTpcIlxcdTA0MkNcIixTYWN1dGU6XCJcXHUwMTVBXCIsU2M6XCJcXHUyQUJDXCIsU2Nhcm9uOlwiXFx1MDE2MFwiLFNjZWRpbDpcIlxcdTAxNUVcIixTY2lyYzpcIlxcdTAxNUNcIixTY3k6XCJcXHUwNDIxXCIsU2ZyOlwiXFx1ezFENTE2fVwiLFNob3J0RG93bkFycm93OlwiXFx1MjE5M1wiLFNob3J0TGVmdEFycm93OlwiXFx1MjE5MFwiLFNob3J0UmlnaHRBcnJvdzpcIlxcdTIxOTJcIixTaG9ydFVwQXJyb3c6XCJcXHUyMTkxXCIsU2lnbWE6XCJcXHUwM0EzXCIsU21hbGxDaXJjbGU6XCJcXHUyMjE4XCIsU29wZjpcIlxcdXsxRDU0QX1cIixTcXJ0OlwiXFx1MjIxQVwiLFNxdWFyZTpcIlxcdTI1QTFcIixTcXVhcmVJbnRlcnNlY3Rpb246XCJcXHUyMjkzXCIsU3F1YXJlU3Vic2V0OlwiXFx1MjI4RlwiLFNxdWFyZVN1YnNldEVxdWFsOlwiXFx1MjI5MVwiLFNxdWFyZVN1cGVyc2V0OlwiXFx1MjI5MFwiLFNxdWFyZVN1cGVyc2V0RXF1YWw6XCJcXHUyMjkyXCIsU3F1YXJlVW5pb246XCJcXHUyMjk0XCIsU3NjcjpcIlxcdXsxRDRBRX1cIixTdGFyOlwiXFx1MjJDNlwiLFN1YjpcIlxcdTIyRDBcIixTdWJzZXQ6XCJcXHUyMkQwXCIsU3Vic2V0RXF1YWw6XCJcXHUyMjg2XCIsU3VjY2VlZHM6XCJcXHUyMjdCXCIsU3VjY2VlZHNFcXVhbDpcIlxcdTJBQjBcIixTdWNjZWVkc1NsYW50RXF1YWw6XCJcXHUyMjdEXCIsU3VjY2VlZHNUaWxkZTpcIlxcdTIyN0ZcIixTdWNoVGhhdDpcIlxcdTIyMEJcIixTdW06XCJcXHUyMjExXCIsU3VwOlwiXFx1MjJEMVwiLFN1cGVyc2V0OlwiXFx1MjI4M1wiLFN1cGVyc2V0RXF1YWw6XCJcXHUyMjg3XCIsU3Vwc2V0OlwiXFx1MjJEMVwiLFRIT1I6XCJcXHhERVwiLFRIT1JOOlwiXFx4REVcIixUUkFERTpcIlxcdTIxMjJcIixUU0hjeTpcIlxcdTA0MEJcIixUU2N5OlwiXFx1MDQyNlwiLFRhYjpcIlx0XCIsVGF1OlwiXFx1MDNBNFwiLFRjYXJvbjpcIlxcdTAxNjRcIixUY2VkaWw6XCJcXHUwMTYyXCIsVGN5OlwiXFx1MDQyMlwiLFRmcjpcIlxcdXsxRDUxN31cIixUaGVyZWZvcmU6XCJcXHUyMjM0XCIsVGhldGE6XCJcXHUwMzk4XCIsVGhpY2tTcGFjZTpcIlxcdTIwNUZcXHUyMDBBXCIsVGhpblNwYWNlOlwiXFx1MjAwOVwiLFRpbGRlOlwiXFx1MjIzQ1wiLFRpbGRlRXF1YWw6XCJcXHUyMjQzXCIsVGlsZGVGdWxsRXF1YWw6XCJcXHUyMjQ1XCIsVGlsZGVUaWxkZTpcIlxcdTIyNDhcIixUb3BmOlwiXFx1ezFENTRCfVwiLFRyaXBsZURvdDpcIlxcdTIwREJcIixUc2NyOlwiXFx1ezFENEFGfVwiLFRzdHJvazpcIlxcdTAxNjZcIixVYWN1dDpcIlxceERBXCIsVWFjdXRlOlwiXFx4REFcIixVYXJyOlwiXFx1MjE5RlwiLFVhcnJvY2lyOlwiXFx1Mjk0OVwiLFVicmN5OlwiXFx1MDQwRVwiLFVicmV2ZTpcIlxcdTAxNkNcIixVY2lyOlwiXFx4REJcIixVY2lyYzpcIlxceERCXCIsVWN5OlwiXFx1MDQyM1wiLFVkYmxhYzpcIlxcdTAxNzBcIixVZnI6XCJcXHV7MUQ1MTh9XCIsVWdyYXY6XCJcXHhEOVwiLFVncmF2ZTpcIlxceEQ5XCIsVW1hY3I6XCJcXHUwMTZBXCIsVW5kZXJCYXI6XCJfXCIsVW5kZXJCcmFjZTpcIlxcdTIzREZcIixVbmRlckJyYWNrZXQ6XCJcXHUyM0I1XCIsVW5kZXJQYXJlbnRoZXNpczpcIlxcdTIzRERcIixVbmlvbjpcIlxcdTIyQzNcIixVbmlvblBsdXM6XCJcXHUyMjhFXCIsVW9nb246XCJcXHUwMTcyXCIsVW9wZjpcIlxcdXsxRDU0Q31cIixVcEFycm93OlwiXFx1MjE5MVwiLFVwQXJyb3dCYXI6XCJcXHUyOTEyXCIsVXBBcnJvd0Rvd25BcnJvdzpcIlxcdTIxQzVcIixVcERvd25BcnJvdzpcIlxcdTIxOTVcIixVcEVxdWlsaWJyaXVtOlwiXFx1Mjk2RVwiLFVwVGVlOlwiXFx1MjJBNVwiLFVwVGVlQXJyb3c6XCJcXHUyMUE1XCIsVXBhcnJvdzpcIlxcdTIxRDFcIixVcGRvd25hcnJvdzpcIlxcdTIxRDVcIixVcHBlckxlZnRBcnJvdzpcIlxcdTIxOTZcIixVcHBlclJpZ2h0QXJyb3c6XCJcXHUyMTk3XCIsVXBzaTpcIlxcdTAzRDJcIixVcHNpbG9uOlwiXFx1MDNBNVwiLFVyaW5nOlwiXFx1MDE2RVwiLFVzY3I6XCJcXHV7MUQ0QjB9XCIsVXRpbGRlOlwiXFx1MDE2OFwiLFV1bTpcIlxceERDXCIsVXVtbDpcIlxceERDXCIsVkRhc2g6XCJcXHUyMkFCXCIsVmJhcjpcIlxcdTJBRUJcIixWY3k6XCJcXHUwNDEyXCIsVmRhc2g6XCJcXHUyMkE5XCIsVmRhc2hsOlwiXFx1MkFFNlwiLFZlZTpcIlxcdTIyQzFcIixWZXJiYXI6XCJcXHUyMDE2XCIsVmVydDpcIlxcdTIwMTZcIixWZXJ0aWNhbEJhcjpcIlxcdTIyMjNcIixWZXJ0aWNhbExpbmU6XCJ8XCIsVmVydGljYWxTZXBhcmF0b3I6XCJcXHUyNzU4XCIsVmVydGljYWxUaWxkZTpcIlxcdTIyNDBcIixWZXJ5VGhpblNwYWNlOlwiXFx1MjAwQVwiLFZmcjpcIlxcdXsxRDUxOX1cIixWb3BmOlwiXFx1ezFENTREfVwiLFZzY3I6XCJcXHV7MUQ0QjF9XCIsVnZkYXNoOlwiXFx1MjJBQVwiLFdjaXJjOlwiXFx1MDE3NFwiLFdlZGdlOlwiXFx1MjJDMFwiLFdmcjpcIlxcdXsxRDUxQX1cIixXb3BmOlwiXFx1ezFENTRFfVwiLFdzY3I6XCJcXHV7MUQ0QjJ9XCIsWGZyOlwiXFx1ezFENTFCfVwiLFhpOlwiXFx1MDM5RVwiLFhvcGY6XCJcXHV7MUQ1NEZ9XCIsWHNjcjpcIlxcdXsxRDRCM31cIixZQWN5OlwiXFx1MDQyRlwiLFlJY3k6XCJcXHUwNDA3XCIsWVVjeTpcIlxcdTA0MkVcIixZYWN1dDpcIlxceEREXCIsWWFjdXRlOlwiXFx4RERcIixZY2lyYzpcIlxcdTAxNzZcIixZY3k6XCJcXHUwNDJCXCIsWWZyOlwiXFx1ezFENTFDfVwiLFlvcGY6XCJcXHV7MUQ1NTB9XCIsWXNjcjpcIlxcdXsxRDRCNH1cIixZdW1sOlwiXFx1MDE3OFwiLFpIY3k6XCJcXHUwNDE2XCIsWmFjdXRlOlwiXFx1MDE3OVwiLFpjYXJvbjpcIlxcdTAxN0RcIixaY3k6XCJcXHUwNDE3XCIsWmRvdDpcIlxcdTAxN0JcIixaZXJvV2lkdGhTcGFjZTpcIlxcdTIwMEJcIixaZXRhOlwiXFx1MDM5NlwiLFpmcjpcIlxcdTIxMjhcIixab3BmOlwiXFx1MjEyNFwiLFpzY3I6XCJcXHV7MUQ0QjV9XCIsYWFjdXQ6XCJcXHhFMVwiLGFhY3V0ZTpcIlxceEUxXCIsYWJyZXZlOlwiXFx1MDEwM1wiLGFjOlwiXFx1MjIzRVwiLGFjRTpcIlxcdTIyM0VcXHUwMzMzXCIsYWNkOlwiXFx1MjIzRlwiLGFjaXI6XCJcXHhFMlwiLGFjaXJjOlwiXFx4RTJcIixhY3V0OlwiXFx4QjRcIixhY3V0ZTpcIlxceEI0XCIsYWN5OlwiXFx1MDQzMFwiLGFlbGk6XCJcXHhFNlwiLGFlbGlnOlwiXFx4RTZcIixhZjpcIlxcdTIwNjFcIixhZnI6XCJcXHV7MUQ1MUV9XCIsYWdyYXY6XCJcXHhFMFwiLGFncmF2ZTpcIlxceEUwXCIsYWxlZnN5bTpcIlxcdTIxMzVcIixhbGVwaDpcIlxcdTIxMzVcIixhbHBoYTpcIlxcdTAzQjFcIixhbWFjcjpcIlxcdTAxMDFcIixhbWFsZzpcIlxcdTJBM0ZcIixhbTpcIiZcIixhbXA6XCImXCIsYW5kOlwiXFx1MjIyN1wiLGFuZGFuZDpcIlxcdTJBNTVcIixhbmRkOlwiXFx1MkE1Q1wiLGFuZHNsb3BlOlwiXFx1MkE1OFwiLGFuZHY6XCJcXHUyQTVBXCIsYW5nOlwiXFx1MjIyMFwiLGFuZ2U6XCJcXHUyOUE0XCIsYW5nbGU6XCJcXHUyMjIwXCIsYW5nbXNkOlwiXFx1MjIyMVwiLGFuZ21zZGFhOlwiXFx1MjlBOFwiLGFuZ21zZGFiOlwiXFx1MjlBOVwiLGFuZ21zZGFjOlwiXFx1MjlBQVwiLGFuZ21zZGFkOlwiXFx1MjlBQlwiLGFuZ21zZGFlOlwiXFx1MjlBQ1wiLGFuZ21zZGFmOlwiXFx1MjlBRFwiLGFuZ21zZGFnOlwiXFx1MjlBRVwiLGFuZ21zZGFoOlwiXFx1MjlBRlwiLGFuZ3J0OlwiXFx1MjIxRlwiLGFuZ3J0dmI6XCJcXHUyMkJFXCIsYW5ncnR2YmQ6XCJcXHUyOTlEXCIsYW5nc3BoOlwiXFx1MjIyMlwiLGFuZ3N0OlwiXFx4QzVcIixhbmd6YXJyOlwiXFx1MjM3Q1wiLGFvZ29uOlwiXFx1MDEwNVwiLGFvcGY6XCJcXHV7MUQ1NTJ9XCIsYXA6XCJcXHUyMjQ4XCIsYXBFOlwiXFx1MkE3MFwiLGFwYWNpcjpcIlxcdTJBNkZcIixhcGU6XCJcXHUyMjRBXCIsYXBpZDpcIlxcdTIyNEJcIixhcG9zOlwiJ1wiLGFwcHJveDpcIlxcdTIyNDhcIixhcHByb3hlcTpcIlxcdTIyNEFcIixhcmluOlwiXFx4RTVcIixhcmluZzpcIlxceEU1XCIsYXNjcjpcIlxcdXsxRDRCNn1cIixhc3Q6XCIqXCIsYXN5bXA6XCJcXHUyMjQ4XCIsYXN5bXBlcTpcIlxcdTIyNERcIixhdGlsZDpcIlxceEUzXCIsYXRpbGRlOlwiXFx4RTNcIixhdW06XCJcXHhFNFwiLGF1bWw6XCJcXHhFNFwiLGF3Y29uaW50OlwiXFx1MjIzM1wiLGF3aW50OlwiXFx1MkExMVwiLGJOb3Q6XCJcXHUyQUVEXCIsYmFja2Nvbmc6XCJcXHUyMjRDXCIsYmFja2Vwc2lsb246XCJcXHUwM0Y2XCIsYmFja3ByaW1lOlwiXFx1MjAzNVwiLGJhY2tzaW06XCJcXHUyMjNEXCIsYmFja3NpbWVxOlwiXFx1MjJDRFwiLGJhcnZlZTpcIlxcdTIyQkRcIixiYXJ3ZWQ6XCJcXHUyMzA1XCIsYmFyd2VkZ2U6XCJcXHUyMzA1XCIsYmJyazpcIlxcdTIzQjVcIixiYnJrdGJyazpcIlxcdTIzQjZcIixiY29uZzpcIlxcdTIyNENcIixiY3k6XCJcXHUwNDMxXCIsYmRxdW86XCJcXHUyMDFFXCIsYmVjYXVzOlwiXFx1MjIzNVwiLGJlY2F1c2U6XCJcXHUyMjM1XCIsYmVtcHR5djpcIlxcdTI5QjBcIixiZXBzaTpcIlxcdTAzRjZcIixiZXJub3U6XCJcXHUyMTJDXCIsYmV0YTpcIlxcdTAzQjJcIixiZXRoOlwiXFx1MjEzNlwiLGJldHdlZW46XCJcXHUyMjZDXCIsYmZyOlwiXFx1ezFENTFGfVwiLGJpZ2NhcDpcIlxcdTIyQzJcIixiaWdjaXJjOlwiXFx1MjVFRlwiLGJpZ2N1cDpcIlxcdTIyQzNcIixiaWdvZG90OlwiXFx1MkEwMFwiLGJpZ29wbHVzOlwiXFx1MkEwMVwiLGJpZ290aW1lczpcIlxcdTJBMDJcIixiaWdzcWN1cDpcIlxcdTJBMDZcIixiaWdzdGFyOlwiXFx1MjYwNVwiLGJpZ3RyaWFuZ2xlZG93bjpcIlxcdTI1QkRcIixiaWd0cmlhbmdsZXVwOlwiXFx1MjVCM1wiLGJpZ3VwbHVzOlwiXFx1MkEwNFwiLGJpZ3ZlZTpcIlxcdTIyQzFcIixiaWd3ZWRnZTpcIlxcdTIyQzBcIixia2Fyb3c6XCJcXHUyOTBEXCIsYmxhY2tsb3plbmdlOlwiXFx1MjlFQlwiLGJsYWNrc3F1YXJlOlwiXFx1MjVBQVwiLGJsYWNrdHJpYW5nbGU6XCJcXHUyNUI0XCIsYmxhY2t0cmlhbmdsZWRvd246XCJcXHUyNUJFXCIsYmxhY2t0cmlhbmdsZWxlZnQ6XCJcXHUyNUMyXCIsYmxhY2t0cmlhbmdsZXJpZ2h0OlwiXFx1MjVCOFwiLGJsYW5rOlwiXFx1MjQyM1wiLGJsazEyOlwiXFx1MjU5MlwiLGJsazE0OlwiXFx1MjU5MVwiLGJsazM0OlwiXFx1MjU5M1wiLGJsb2NrOlwiXFx1MjU4OFwiLGJuZTpcIj1cXHUyMEU1XCIsYm5lcXVpdjpcIlxcdTIyNjFcXHUyMEU1XCIsYm5vdDpcIlxcdTIzMTBcIixib3BmOlwiXFx1ezFENTUzfVwiLGJvdDpcIlxcdTIyQTVcIixib3R0b206XCJcXHUyMkE1XCIsYm93dGllOlwiXFx1MjJDOFwiLGJveERMOlwiXFx1MjU1N1wiLGJveERSOlwiXFx1MjU1NFwiLGJveERsOlwiXFx1MjU1NlwiLGJveERyOlwiXFx1MjU1M1wiLGJveEg6XCJcXHUyNTUwXCIsYm94SEQ6XCJcXHUyNTY2XCIsYm94SFU6XCJcXHUyNTY5XCIsYm94SGQ6XCJcXHUyNTY0XCIsYm94SHU6XCJcXHUyNTY3XCIsYm94VUw6XCJcXHUyNTVEXCIsYm94VVI6XCJcXHUyNTVBXCIsYm94VWw6XCJcXHUyNTVDXCIsYm94VXI6XCJcXHUyNTU5XCIsYm94VjpcIlxcdTI1NTFcIixib3hWSDpcIlxcdTI1NkNcIixib3hWTDpcIlxcdTI1NjNcIixib3hWUjpcIlxcdTI1NjBcIixib3hWaDpcIlxcdTI1NkJcIixib3hWbDpcIlxcdTI1NjJcIixib3hWcjpcIlxcdTI1NUZcIixib3hib3g6XCJcXHUyOUM5XCIsYm94ZEw6XCJcXHUyNTU1XCIsYm94ZFI6XCJcXHUyNTUyXCIsYm94ZGw6XCJcXHUyNTEwXCIsYm94ZHI6XCJcXHUyNTBDXCIsYm94aDpcIlxcdTI1MDBcIixib3hoRDpcIlxcdTI1NjVcIixib3hoVTpcIlxcdTI1NjhcIixib3hoZDpcIlxcdTI1MkNcIixib3hodTpcIlxcdTI1MzRcIixib3htaW51czpcIlxcdTIyOUZcIixib3hwbHVzOlwiXFx1MjI5RVwiLGJveHRpbWVzOlwiXFx1MjJBMFwiLGJveHVMOlwiXFx1MjU1QlwiLGJveHVSOlwiXFx1MjU1OFwiLGJveHVsOlwiXFx1MjUxOFwiLGJveHVyOlwiXFx1MjUxNFwiLGJveHY6XCJcXHUyNTAyXCIsYm94dkg6XCJcXHUyNTZBXCIsYm94dkw6XCJcXHUyNTYxXCIsYm94dlI6XCJcXHUyNTVFXCIsYm94dmg6XCJcXHUyNTNDXCIsYm94dmw6XCJcXHUyNTI0XCIsYm94dnI6XCJcXHUyNTFDXCIsYnByaW1lOlwiXFx1MjAzNVwiLGJyZXZlOlwiXFx1MDJEOFwiLGJydmJhOlwiXFx4QTZcIixicnZiYXI6XCJcXHhBNlwiLGJzY3I6XCJcXHV7MUQ0Qjd9XCIsYnNlbWk6XCJcXHUyMDRGXCIsYnNpbTpcIlxcdTIyM0RcIixic2ltZTpcIlxcdTIyQ0RcIixic29sOlwiXFxcXFwiLGJzb2xiOlwiXFx1MjlDNVwiLGJzb2xoc3ViOlwiXFx1MjdDOFwiLGJ1bGw6XCJcXHUyMDIyXCIsYnVsbGV0OlwiXFx1MjAyMlwiLGJ1bXA6XCJcXHUyMjRFXCIsYnVtcEU6XCJcXHUyQUFFXCIsYnVtcGU6XCJcXHUyMjRGXCIsYnVtcGVxOlwiXFx1MjI0RlwiLGNhY3V0ZTpcIlxcdTAxMDdcIixjYXA6XCJcXHUyMjI5XCIsY2FwYW5kOlwiXFx1MkE0NFwiLGNhcGJyY3VwOlwiXFx1MkE0OVwiLGNhcGNhcDpcIlxcdTJBNEJcIixjYXBjdXA6XCJcXHUyQTQ3XCIsY2FwZG90OlwiXFx1MkE0MFwiLGNhcHM6XCJcXHUyMjI5XFx1RkUwMFwiLGNhcmV0OlwiXFx1MjA0MVwiLGNhcm9uOlwiXFx1MDJDN1wiLGNjYXBzOlwiXFx1MkE0RFwiLGNjYXJvbjpcIlxcdTAxMERcIixjY2VkaTpcIlxceEU3XCIsY2NlZGlsOlwiXFx4RTdcIixjY2lyYzpcIlxcdTAxMDlcIixjY3VwczpcIlxcdTJBNENcIixjY3Vwc3NtOlwiXFx1MkE1MFwiLGNkb3Q6XCJcXHUwMTBCXCIsY2VkaTpcIlxceEI4XCIsY2VkaWw6XCJcXHhCOFwiLGNlbXB0eXY6XCJcXHUyOUIyXCIsY2VuOlwiXFx4QTJcIixjZW50OlwiXFx4QTJcIixjZW50ZXJkb3Q6XCJcXHhCN1wiLGNmcjpcIlxcdXsxRDUyMH1cIixjaGN5OlwiXFx1MDQ0N1wiLGNoZWNrOlwiXFx1MjcxM1wiLGNoZWNrbWFyazpcIlxcdTI3MTNcIixjaGk6XCJcXHUwM0M3XCIsY2lyOlwiXFx1MjVDQlwiLGNpckU6XCJcXHUyOUMzXCIsY2lyYzpcIlxcdTAyQzZcIixjaXJjZXE6XCJcXHUyMjU3XCIsY2lyY2xlYXJyb3dsZWZ0OlwiXFx1MjFCQVwiLGNpcmNsZWFycm93cmlnaHQ6XCJcXHUyMUJCXCIsY2lyY2xlZFI6XCJcXHhBRVwiLGNpcmNsZWRTOlwiXFx1MjRDOFwiLGNpcmNsZWRhc3Q6XCJcXHUyMjlCXCIsY2lyY2xlZGNpcmM6XCJcXHUyMjlBXCIsY2lyY2xlZGRhc2g6XCJcXHUyMjlEXCIsY2lyZTpcIlxcdTIyNTdcIixjaXJmbmludDpcIlxcdTJBMTBcIixjaXJtaWQ6XCJcXHUyQUVGXCIsY2lyc2NpcjpcIlxcdTI5QzJcIixjbHViczpcIlxcdTI2NjNcIixjbHVic3VpdDpcIlxcdTI2NjNcIixjb2xvbjpcIjpcIixjb2xvbmU6XCJcXHUyMjU0XCIsY29sb25lcTpcIlxcdTIyNTRcIixjb21tYTpcIixcIixjb21tYXQ6XCJAXCIsY29tcDpcIlxcdTIyMDFcIixjb21wZm46XCJcXHUyMjE4XCIsY29tcGxlbWVudDpcIlxcdTIyMDFcIixjb21wbGV4ZXM6XCJcXHUyMTAyXCIsY29uZzpcIlxcdTIyNDVcIixjb25nZG90OlwiXFx1MkE2RFwiLGNvbmludDpcIlxcdTIyMkVcIixjb3BmOlwiXFx1ezFENTU0fVwiLGNvcHJvZDpcIlxcdTIyMTBcIixjb3A6XCJcXHhBOVwiLGNvcHk6XCJcXHhBOVwiLGNvcHlzcjpcIlxcdTIxMTdcIixjcmFycjpcIlxcdTIxQjVcIixjcm9zczpcIlxcdTI3MTdcIixjc2NyOlwiXFx1ezFENEI4fVwiLGNzdWI6XCJcXHUyQUNGXCIsY3N1YmU6XCJcXHUyQUQxXCIsY3N1cDpcIlxcdTJBRDBcIixjc3VwZTpcIlxcdTJBRDJcIixjdGRvdDpcIlxcdTIyRUZcIixjdWRhcnJsOlwiXFx1MjkzOFwiLGN1ZGFycnI6XCJcXHUyOTM1XCIsY3VlcHI6XCJcXHUyMkRFXCIsY3Vlc2M6XCJcXHUyMkRGXCIsY3VsYXJyOlwiXFx1MjFCNlwiLGN1bGFycnA6XCJcXHUyOTNEXCIsY3VwOlwiXFx1MjIyQVwiLGN1cGJyY2FwOlwiXFx1MkE0OFwiLGN1cGNhcDpcIlxcdTJBNDZcIixjdXBjdXA6XCJcXHUyQTRBXCIsY3VwZG90OlwiXFx1MjI4RFwiLGN1cG9yOlwiXFx1MkE0NVwiLGN1cHM6XCJcXHUyMjJBXFx1RkUwMFwiLGN1cmFycjpcIlxcdTIxQjdcIixjdXJhcnJtOlwiXFx1MjkzQ1wiLGN1cmx5ZXFwcmVjOlwiXFx1MjJERVwiLGN1cmx5ZXFzdWNjOlwiXFx1MjJERlwiLGN1cmx5dmVlOlwiXFx1MjJDRVwiLGN1cmx5d2VkZ2U6XCJcXHUyMkNGXCIsY3VycmU6XCJcXHhBNFwiLGN1cnJlbjpcIlxceEE0XCIsY3VydmVhcnJvd2xlZnQ6XCJcXHUyMUI2XCIsY3VydmVhcnJvd3JpZ2h0OlwiXFx1MjFCN1wiLGN1dmVlOlwiXFx1MjJDRVwiLGN1d2VkOlwiXFx1MjJDRlwiLGN3Y29uaW50OlwiXFx1MjIzMlwiLGN3aW50OlwiXFx1MjIzMVwiLGN5bGN0eTpcIlxcdTIzMkRcIixkQXJyOlwiXFx1MjFEM1wiLGRIYXI6XCJcXHUyOTY1XCIsZGFnZ2VyOlwiXFx1MjAyMFwiLGRhbGV0aDpcIlxcdTIxMzhcIixkYXJyOlwiXFx1MjE5M1wiLGRhc2g6XCJcXHUyMDEwXCIsZGFzaHY6XCJcXHUyMkEzXCIsZGJrYXJvdzpcIlxcdTI5MEZcIixkYmxhYzpcIlxcdTAyRERcIixkY2Fyb246XCJcXHUwMTBGXCIsZGN5OlwiXFx1MDQzNFwiLGRkOlwiXFx1MjE0NlwiLGRkYWdnZXI6XCJcXHUyMDIxXCIsZGRhcnI6XCJcXHUyMUNBXCIsZGRvdHNlcTpcIlxcdTJBNzdcIixkZTpcIlxceEIwXCIsZGVnOlwiXFx4QjBcIixkZWx0YTpcIlxcdTAzQjRcIixkZW1wdHl2OlwiXFx1MjlCMVwiLGRmaXNodDpcIlxcdTI5N0ZcIixkZnI6XCJcXHV7MUQ1MjF9XCIsZGhhcmw6XCJcXHUyMUMzXCIsZGhhcnI6XCJcXHUyMUMyXCIsZGlhbTpcIlxcdTIyQzRcIixkaWFtb25kOlwiXFx1MjJDNFwiLGRpYW1vbmRzdWl0OlwiXFx1MjY2NlwiLGRpYW1zOlwiXFx1MjY2NlwiLGRpZTpcIlxceEE4XCIsZGlnYW1tYTpcIlxcdTAzRERcIixkaXNpbjpcIlxcdTIyRjJcIixkaXY6XCJcXHhGN1wiLGRpdmlkOlwiXFx4RjdcIixkaXZpZGU6XCJcXHhGN1wiLGRpdmlkZW9udGltZXM6XCJcXHUyMkM3XCIsZGl2b254OlwiXFx1MjJDN1wiLGRqY3k6XCJcXHUwNDUyXCIsZGxjb3JuOlwiXFx1MjMxRVwiLGRsY3JvcDpcIlxcdTIzMERcIixkb2xsYXI6XCIkXCIsZG9wZjpcIlxcdXsxRDU1NX1cIixkb3Q6XCJcXHUwMkQ5XCIsZG90ZXE6XCJcXHUyMjUwXCIsZG90ZXFkb3Q6XCJcXHUyMjUxXCIsZG90bWludXM6XCJcXHUyMjM4XCIsZG90cGx1czpcIlxcdTIyMTRcIixkb3RzcXVhcmU6XCJcXHUyMkExXCIsZG91YmxlYmFyd2VkZ2U6XCJcXHUyMzA2XCIsZG93bmFycm93OlwiXFx1MjE5M1wiLGRvd25kb3duYXJyb3dzOlwiXFx1MjFDQVwiLGRvd25oYXJwb29ubGVmdDpcIlxcdTIxQzNcIixkb3duaGFycG9vbnJpZ2h0OlwiXFx1MjFDMlwiLGRyYmthcm93OlwiXFx1MjkxMFwiLGRyY29ybjpcIlxcdTIzMUZcIixkcmNyb3A6XCJcXHUyMzBDXCIsZHNjcjpcIlxcdXsxRDRCOX1cIixkc2N5OlwiXFx1MDQ1NVwiLGRzb2w6XCJcXHUyOUY2XCIsZHN0cm9rOlwiXFx1MDExMVwiLGR0ZG90OlwiXFx1MjJGMVwiLGR0cmk6XCJcXHUyNUJGXCIsZHRyaWY6XCJcXHUyNUJFXCIsZHVhcnI6XCJcXHUyMUY1XCIsZHVoYXI6XCJcXHUyOTZGXCIsZHdhbmdsZTpcIlxcdTI5QTZcIixkemN5OlwiXFx1MDQ1RlwiLGR6aWdyYXJyOlwiXFx1MjdGRlwiLGVERG90OlwiXFx1MkE3N1wiLGVEb3Q6XCJcXHUyMjUxXCIsZWFjdXQ6XCJcXHhFOVwiLGVhY3V0ZTpcIlxceEU5XCIsZWFzdGVyOlwiXFx1MkE2RVwiLGVjYXJvbjpcIlxcdTAxMUJcIixlY2lyOlwiXFx4RUFcIixlY2lyYzpcIlxceEVBXCIsZWNvbG9uOlwiXFx1MjI1NVwiLGVjeTpcIlxcdTA0NERcIixlZG90OlwiXFx1MDExN1wiLGVlOlwiXFx1MjE0N1wiLGVmRG90OlwiXFx1MjI1MlwiLGVmcjpcIlxcdXsxRDUyMn1cIixlZzpcIlxcdTJBOUFcIixlZ3JhdjpcIlxceEU4XCIsZWdyYXZlOlwiXFx4RThcIixlZ3M6XCJcXHUyQTk2XCIsZWdzZG90OlwiXFx1MkE5OFwiLGVsOlwiXFx1MkE5OVwiLGVsaW50ZXJzOlwiXFx1MjNFN1wiLGVsbDpcIlxcdTIxMTNcIixlbHM6XCJcXHUyQTk1XCIsZWxzZG90OlwiXFx1MkE5N1wiLGVtYWNyOlwiXFx1MDExM1wiLGVtcHR5OlwiXFx1MjIwNVwiLGVtcHR5c2V0OlwiXFx1MjIwNVwiLGVtcHR5djpcIlxcdTIyMDVcIixlbXNwMTM6XCJcXHUyMDA0XCIsZW1zcDE0OlwiXFx1MjAwNVwiLGVtc3A6XCJcXHUyMDAzXCIsZW5nOlwiXFx1MDE0QlwiLGVuc3A6XCJcXHUyMDAyXCIsZW9nb246XCJcXHUwMTE5XCIsZW9wZjpcIlxcdXsxRDU1Nn1cIixlcGFyOlwiXFx1MjJENVwiLGVwYXJzbDpcIlxcdTI5RTNcIixlcGx1czpcIlxcdTJBNzFcIixlcHNpOlwiXFx1MDNCNVwiLGVwc2lsb246XCJcXHUwM0I1XCIsZXBzaXY6XCJcXHUwM0Y1XCIsZXFjaXJjOlwiXFx1MjI1NlwiLGVxY29sb246XCJcXHUyMjU1XCIsZXFzaW06XCJcXHUyMjQyXCIsZXFzbGFudGd0cjpcIlxcdTJBOTZcIixlcXNsYW50bGVzczpcIlxcdTJBOTVcIixlcXVhbHM6XCI9XCIsZXF1ZXN0OlwiXFx1MjI1RlwiLGVxdWl2OlwiXFx1MjI2MVwiLGVxdWl2REQ6XCJcXHUyQTc4XCIsZXF2cGFyc2w6XCJcXHUyOUU1XCIsZXJEb3Q6XCJcXHUyMjUzXCIsZXJhcnI6XCJcXHUyOTcxXCIsZXNjcjpcIlxcdTIxMkZcIixlc2RvdDpcIlxcdTIyNTBcIixlc2ltOlwiXFx1MjI0MlwiLGV0YTpcIlxcdTAzQjdcIixldDpcIlxceEYwXCIsZXRoOlwiXFx4RjBcIixldW06XCJcXHhFQlwiLGV1bWw6XCJcXHhFQlwiLGV1cm86XCJcXHUyMEFDXCIsZXhjbDpcIiFcIixleGlzdDpcIlxcdTIyMDNcIixleHBlY3RhdGlvbjpcIlxcdTIxMzBcIixleHBvbmVudGlhbGU6XCJcXHUyMTQ3XCIsZmFsbGluZ2RvdHNlcTpcIlxcdTIyNTJcIixmY3k6XCJcXHUwNDQ0XCIsZmVtYWxlOlwiXFx1MjY0MFwiLGZmaWxpZzpcIlxcdUZCMDNcIixmZmxpZzpcIlxcdUZCMDBcIixmZmxsaWc6XCJcXHVGQjA0XCIsZmZyOlwiXFx1ezFENTIzfVwiLGZpbGlnOlwiXFx1RkIwMVwiLGZqbGlnOlwiZmpcIixmbGF0OlwiXFx1MjY2RFwiLGZsbGlnOlwiXFx1RkIwMlwiLGZsdG5zOlwiXFx1MjVCMVwiLGZub2Y6XCJcXHUwMTkyXCIsZm9wZjpcIlxcdXsxRDU1N31cIixmb3JhbGw6XCJcXHUyMjAwXCIsZm9yazpcIlxcdTIyRDRcIixmb3JrdjpcIlxcdTJBRDlcIixmcGFydGludDpcIlxcdTJBMERcIixmcmFjMTpcIlxceEJDXCIsZnJhYzEyOlwiXFx4QkRcIixmcmFjMTM6XCJcXHUyMTUzXCIsZnJhYzE0OlwiXFx4QkNcIixmcmFjMTU6XCJcXHUyMTU1XCIsZnJhYzE2OlwiXFx1MjE1OVwiLGZyYWMxODpcIlxcdTIxNUJcIixmcmFjMjM6XCJcXHUyMTU0XCIsZnJhYzI1OlwiXFx1MjE1NlwiLGZyYWMzOlwiXFx4QkVcIixmcmFjMzQ6XCJcXHhCRVwiLGZyYWMzNTpcIlxcdTIxNTdcIixmcmFjMzg6XCJcXHUyMTVDXCIsZnJhYzQ1OlwiXFx1MjE1OFwiLGZyYWM1NjpcIlxcdTIxNUFcIixmcmFjNTg6XCJcXHUyMTVEXCIsZnJhYzc4OlwiXFx1MjE1RVwiLGZyYXNsOlwiXFx1MjA0NFwiLGZyb3duOlwiXFx1MjMyMlwiLGZzY3I6XCJcXHV7MUQ0QkJ9XCIsZ0U6XCJcXHUyMjY3XCIsZ0VsOlwiXFx1MkE4Q1wiLGdhY3V0ZTpcIlxcdTAxRjVcIixnYW1tYTpcIlxcdTAzQjNcIixnYW1tYWQ6XCJcXHUwM0REXCIsZ2FwOlwiXFx1MkE4NlwiLGdicmV2ZTpcIlxcdTAxMUZcIixnY2lyYzpcIlxcdTAxMURcIixnY3k6XCJcXHUwNDMzXCIsZ2RvdDpcIlxcdTAxMjFcIixnZTpcIlxcdTIyNjVcIixnZWw6XCJcXHUyMkRCXCIsZ2VxOlwiXFx1MjI2NVwiLGdlcXE6XCJcXHUyMjY3XCIsZ2Vxc2xhbnQ6XCJcXHUyQTdFXCIsZ2VzOlwiXFx1MkE3RVwiLGdlc2NjOlwiXFx1MkFBOVwiLGdlc2RvdDpcIlxcdTJBODBcIixnZXNkb3RvOlwiXFx1MkE4MlwiLGdlc2RvdG9sOlwiXFx1MkE4NFwiLGdlc2w6XCJcXHUyMkRCXFx1RkUwMFwiLGdlc2xlczpcIlxcdTJBOTRcIixnZnI6XCJcXHV7MUQ1MjR9XCIsZ2c6XCJcXHUyMjZCXCIsZ2dnOlwiXFx1MjJEOVwiLGdpbWVsOlwiXFx1MjEzN1wiLGdqY3k6XCJcXHUwNDUzXCIsZ2w6XCJcXHUyMjc3XCIsZ2xFOlwiXFx1MkE5MlwiLGdsYTpcIlxcdTJBQTVcIixnbGo6XCJcXHUyQUE0XCIsZ25FOlwiXFx1MjI2OVwiLGduYXA6XCJcXHUyQThBXCIsZ25hcHByb3g6XCJcXHUyQThBXCIsZ25lOlwiXFx1MkE4OFwiLGduZXE6XCJcXHUyQTg4XCIsZ25lcXE6XCJcXHUyMjY5XCIsZ25zaW06XCJcXHUyMkU3XCIsZ29wZjpcIlxcdXsxRDU1OH1cIixncmF2ZTpcImBcIixnc2NyOlwiXFx1MjEwQVwiLGdzaW06XCJcXHUyMjczXCIsZ3NpbWU6XCJcXHUyQThFXCIsZ3NpbWw6XCJcXHUyQTkwXCIsZzpcIj5cIixndDpcIj5cIixndGNjOlwiXFx1MkFBN1wiLGd0Y2lyOlwiXFx1MkE3QVwiLGd0ZG90OlwiXFx1MjJEN1wiLGd0bFBhcjpcIlxcdTI5OTVcIixndHF1ZXN0OlwiXFx1MkE3Q1wiLGd0cmFwcHJveDpcIlxcdTJBODZcIixndHJhcnI6XCJcXHUyOTc4XCIsZ3RyZG90OlwiXFx1MjJEN1wiLGd0cmVxbGVzczpcIlxcdTIyREJcIixndHJlcXFsZXNzOlwiXFx1MkE4Q1wiLGd0cmxlc3M6XCJcXHUyMjc3XCIsZ3Ryc2ltOlwiXFx1MjI3M1wiLGd2ZXJ0bmVxcTpcIlxcdTIyNjlcXHVGRTAwXCIsZ3ZuRTpcIlxcdTIyNjlcXHVGRTAwXCIsaEFycjpcIlxcdTIxRDRcIixoYWlyc3A6XCJcXHUyMDBBXCIsaGFsZjpcIlxceEJEXCIsaGFtaWx0OlwiXFx1MjEwQlwiLGhhcmRjeTpcIlxcdTA0NEFcIixoYXJyOlwiXFx1MjE5NFwiLGhhcnJjaXI6XCJcXHUyOTQ4XCIsaGFycnc6XCJcXHUyMUFEXCIsaGJhcjpcIlxcdTIxMEZcIixoY2lyYzpcIlxcdTAxMjVcIixoZWFydHM6XCJcXHUyNjY1XCIsaGVhcnRzdWl0OlwiXFx1MjY2NVwiLGhlbGxpcDpcIlxcdTIwMjZcIixoZXJjb246XCJcXHUyMkI5XCIsaGZyOlwiXFx1ezFENTI1fVwiLGhrc2Vhcm93OlwiXFx1MjkyNVwiLGhrc3dhcm93OlwiXFx1MjkyNlwiLGhvYXJyOlwiXFx1MjFGRlwiLGhvbXRodDpcIlxcdTIyM0JcIixob29rbGVmdGFycm93OlwiXFx1MjFBOVwiLGhvb2tyaWdodGFycm93OlwiXFx1MjFBQVwiLGhvcGY6XCJcXHV7MUQ1NTl9XCIsaG9yYmFyOlwiXFx1MjAxNVwiLGhzY3I6XCJcXHV7MUQ0QkR9XCIsaHNsYXNoOlwiXFx1MjEwRlwiLGhzdHJvazpcIlxcdTAxMjdcIixoeWJ1bGw6XCJcXHUyMDQzXCIsaHlwaGVuOlwiXFx1MjAxMFwiLGlhY3V0OlwiXFx4RURcIixpYWN1dGU6XCJcXHhFRFwiLGljOlwiXFx1MjA2M1wiLGljaXI6XCJcXHhFRVwiLGljaXJjOlwiXFx4RUVcIixpY3k6XCJcXHUwNDM4XCIsaWVjeTpcIlxcdTA0MzVcIixpZXhjOlwiXFx4QTFcIixpZXhjbDpcIlxceEExXCIsaWZmOlwiXFx1MjFENFwiLGlmcjpcIlxcdXsxRDUyNn1cIixpZ3JhdjpcIlxceEVDXCIsaWdyYXZlOlwiXFx4RUNcIixpaTpcIlxcdTIxNDhcIixpaWlpbnQ6XCJcXHUyQTBDXCIsaWlpbnQ6XCJcXHUyMjJEXCIsaWluZmluOlwiXFx1MjlEQ1wiLGlpb3RhOlwiXFx1MjEyOVwiLGlqbGlnOlwiXFx1MDEzM1wiLGltYWNyOlwiXFx1MDEyQlwiLGltYWdlOlwiXFx1MjExMVwiLGltYWdsaW5lOlwiXFx1MjExMFwiLGltYWdwYXJ0OlwiXFx1MjExMVwiLGltYXRoOlwiXFx1MDEzMVwiLGltb2Y6XCJcXHUyMkI3XCIsaW1wZWQ6XCJcXHUwMUI1XCIsaW46XCJcXHUyMjA4XCIsaW5jYXJlOlwiXFx1MjEwNVwiLGluZmluOlwiXFx1MjIxRVwiLGluZmludGllOlwiXFx1MjlERFwiLGlub2RvdDpcIlxcdTAxMzFcIixpbnQ6XCJcXHUyMjJCXCIsaW50Y2FsOlwiXFx1MjJCQVwiLGludGVnZXJzOlwiXFx1MjEyNFwiLGludGVyY2FsOlwiXFx1MjJCQVwiLGludGxhcmhrOlwiXFx1MkExN1wiLGludHByb2Q6XCJcXHUyQTNDXCIsaW9jeTpcIlxcdTA0NTFcIixpb2dvbjpcIlxcdTAxMkZcIixpb3BmOlwiXFx1ezFENTVBfVwiLGlvdGE6XCJcXHUwM0I5XCIsaXByb2Q6XCJcXHUyQTNDXCIsaXF1ZXM6XCJcXHhCRlwiLGlxdWVzdDpcIlxceEJGXCIsaXNjcjpcIlxcdXsxRDRCRX1cIixpc2luOlwiXFx1MjIwOFwiLGlzaW5FOlwiXFx1MjJGOVwiLGlzaW5kb3Q6XCJcXHUyMkY1XCIsaXNpbnM6XCJcXHUyMkY0XCIsaXNpbnN2OlwiXFx1MjJGM1wiLGlzaW52OlwiXFx1MjIwOFwiLGl0OlwiXFx1MjA2MlwiLGl0aWxkZTpcIlxcdTAxMjlcIixpdWtjeTpcIlxcdTA0NTZcIixpdW06XCJcXHhFRlwiLGl1bWw6XCJcXHhFRlwiLGpjaXJjOlwiXFx1MDEzNVwiLGpjeTpcIlxcdTA0MzlcIixqZnI6XCJcXHV7MUQ1Mjd9XCIsam1hdGg6XCJcXHUwMjM3XCIsam9wZjpcIlxcdXsxRDU1Qn1cIixqc2NyOlwiXFx1ezFENEJGfVwiLGpzZXJjeTpcIlxcdTA0NThcIixqdWtjeTpcIlxcdTA0NTRcIixrYXBwYTpcIlxcdTAzQkFcIixrYXBwYXY6XCJcXHUwM0YwXCIsa2NlZGlsOlwiXFx1MDEzN1wiLGtjeTpcIlxcdTA0M0FcIixrZnI6XCJcXHV7MUQ1Mjh9XCIsa2dyZWVuOlwiXFx1MDEzOFwiLGtoY3k6XCJcXHUwNDQ1XCIsa2pjeTpcIlxcdTA0NUNcIixrb3BmOlwiXFx1ezFENTVDfVwiLGtzY3I6XCJcXHV7MUQ0QzB9XCIsbEFhcnI6XCJcXHUyMURBXCIsbEFycjpcIlxcdTIxRDBcIixsQXRhaWw6XCJcXHUyOTFCXCIsbEJhcnI6XCJcXHUyOTBFXCIsbEU6XCJcXHUyMjY2XCIsbEVnOlwiXFx1MkE4QlwiLGxIYXI6XCJcXHUyOTYyXCIsbGFjdXRlOlwiXFx1MDEzQVwiLGxhZW1wdHl2OlwiXFx1MjlCNFwiLGxhZ3JhbjpcIlxcdTIxMTJcIixsYW1iZGE6XCJcXHUwM0JCXCIsbGFuZzpcIlxcdTI3RThcIixsYW5nZDpcIlxcdTI5OTFcIixsYW5nbGU6XCJcXHUyN0U4XCIsbGFwOlwiXFx1MkE4NVwiLGxhcXU6XCJcXHhBQlwiLGxhcXVvOlwiXFx4QUJcIixsYXJyOlwiXFx1MjE5MFwiLGxhcnJiOlwiXFx1MjFFNFwiLGxhcnJiZnM6XCJcXHUyOTFGXCIsbGFycmZzOlwiXFx1MjkxRFwiLGxhcnJoazpcIlxcdTIxQTlcIixsYXJybHA6XCJcXHUyMUFCXCIsbGFycnBsOlwiXFx1MjkzOVwiLGxhcnJzaW06XCJcXHUyOTczXCIsbGFycnRsOlwiXFx1MjFBMlwiLGxhdDpcIlxcdTJBQUJcIixsYXRhaWw6XCJcXHUyOTE5XCIsbGF0ZTpcIlxcdTJBQURcIixsYXRlczpcIlxcdTJBQURcXHVGRTAwXCIsbGJhcnI6XCJcXHUyOTBDXCIsbGJicms6XCJcXHUyNzcyXCIsbGJyYWNlOlwie1wiLGxicmFjazpcIltcIixsYnJrZTpcIlxcdTI5OEJcIixsYnJrc2xkOlwiXFx1Mjk4RlwiLGxicmtzbHU6XCJcXHUyOThEXCIsbGNhcm9uOlwiXFx1MDEzRVwiLGxjZWRpbDpcIlxcdTAxM0NcIixsY2VpbDpcIlxcdTIzMDhcIixsY3ViOlwie1wiLGxjeTpcIlxcdTA0M0JcIixsZGNhOlwiXFx1MjkzNlwiLGxkcXVvOlwiXFx1MjAxQ1wiLGxkcXVvcjpcIlxcdTIwMUVcIixsZHJkaGFyOlwiXFx1Mjk2N1wiLGxkcnVzaGFyOlwiXFx1Mjk0QlwiLGxkc2g6XCJcXHUyMUIyXCIsbGU6XCJcXHUyMjY0XCIsbGVmdGFycm93OlwiXFx1MjE5MFwiLGxlZnRhcnJvd3RhaWw6XCJcXHUyMUEyXCIsbGVmdGhhcnBvb25kb3duOlwiXFx1MjFCRFwiLGxlZnRoYXJwb29udXA6XCJcXHUyMUJDXCIsbGVmdGxlZnRhcnJvd3M6XCJcXHUyMUM3XCIsbGVmdHJpZ2h0YXJyb3c6XCJcXHUyMTk0XCIsbGVmdHJpZ2h0YXJyb3dzOlwiXFx1MjFDNlwiLGxlZnRyaWdodGhhcnBvb25zOlwiXFx1MjFDQlwiLGxlZnRyaWdodHNxdWlnYXJyb3c6XCJcXHUyMUFEXCIsbGVmdHRocmVldGltZXM6XCJcXHUyMkNCXCIsbGVnOlwiXFx1MjJEQVwiLGxlcTpcIlxcdTIyNjRcIixsZXFxOlwiXFx1MjI2NlwiLGxlcXNsYW50OlwiXFx1MkE3RFwiLGxlczpcIlxcdTJBN0RcIixsZXNjYzpcIlxcdTJBQThcIixsZXNkb3Q6XCJcXHUyQTdGXCIsbGVzZG90bzpcIlxcdTJBODFcIixsZXNkb3RvcjpcIlxcdTJBODNcIixsZXNnOlwiXFx1MjJEQVxcdUZFMDBcIixsZXNnZXM6XCJcXHUyQTkzXCIsbGVzc2FwcHJveDpcIlxcdTJBODVcIixsZXNzZG90OlwiXFx1MjJENlwiLGxlc3NlcWd0cjpcIlxcdTIyREFcIixsZXNzZXFxZ3RyOlwiXFx1MkE4QlwiLGxlc3NndHI6XCJcXHUyMjc2XCIsbGVzc3NpbTpcIlxcdTIyNzJcIixsZmlzaHQ6XCJcXHUyOTdDXCIsbGZsb29yOlwiXFx1MjMwQVwiLGxmcjpcIlxcdXsxRDUyOX1cIixsZzpcIlxcdTIyNzZcIixsZ0U6XCJcXHUyQTkxXCIsbGhhcmQ6XCJcXHUyMUJEXCIsbGhhcnU6XCJcXHUyMUJDXCIsbGhhcnVsOlwiXFx1Mjk2QVwiLGxoYmxrOlwiXFx1MjU4NFwiLGxqY3k6XCJcXHUwNDU5XCIsbGw6XCJcXHUyMjZBXCIsbGxhcnI6XCJcXHUyMUM3XCIsbGxjb3JuZXI6XCJcXHUyMzFFXCIsbGxoYXJkOlwiXFx1Mjk2QlwiLGxsdHJpOlwiXFx1MjVGQVwiLGxtaWRvdDpcIlxcdTAxNDBcIixsbW91c3Q6XCJcXHUyM0IwXCIsbG1vdXN0YWNoZTpcIlxcdTIzQjBcIixsbkU6XCJcXHUyMjY4XCIsbG5hcDpcIlxcdTJBODlcIixsbmFwcHJveDpcIlxcdTJBODlcIixsbmU6XCJcXHUyQTg3XCIsbG5lcTpcIlxcdTJBODdcIixsbmVxcTpcIlxcdTIyNjhcIixsbnNpbTpcIlxcdTIyRTZcIixsb2FuZzpcIlxcdTI3RUNcIixsb2FycjpcIlxcdTIxRkRcIixsb2JyazpcIlxcdTI3RTZcIixsb25nbGVmdGFycm93OlwiXFx1MjdGNVwiLGxvbmdsZWZ0cmlnaHRhcnJvdzpcIlxcdTI3RjdcIixsb25nbWFwc3RvOlwiXFx1MjdGQ1wiLGxvbmdyaWdodGFycm93OlwiXFx1MjdGNlwiLGxvb3BhcnJvd2xlZnQ6XCJcXHUyMUFCXCIsbG9vcGFycm93cmlnaHQ6XCJcXHUyMUFDXCIsbG9wYXI6XCJcXHUyOTg1XCIsbG9wZjpcIlxcdXsxRDU1RH1cIixsb3BsdXM6XCJcXHUyQTJEXCIsbG90aW1lczpcIlxcdTJBMzRcIixsb3dhc3Q6XCJcXHUyMjE3XCIsbG93YmFyOlwiX1wiLGxvejpcIlxcdTI1Q0FcIixsb3plbmdlOlwiXFx1MjVDQVwiLGxvemY6XCJcXHUyOUVCXCIsbHBhcjpcIihcIixscGFybHQ6XCJcXHUyOTkzXCIsbHJhcnI6XCJcXHUyMUM2XCIsbHJjb3JuZXI6XCJcXHUyMzFGXCIsbHJoYXI6XCJcXHUyMUNCXCIsbHJoYXJkOlwiXFx1Mjk2RFwiLGxybTpcIlxcdTIwMEVcIixscnRyaTpcIlxcdTIyQkZcIixsc2FxdW86XCJcXHUyMDM5XCIsbHNjcjpcIlxcdXsxRDRDMX1cIixsc2g6XCJcXHUyMUIwXCIsbHNpbTpcIlxcdTIyNzJcIixsc2ltZTpcIlxcdTJBOERcIixsc2ltZzpcIlxcdTJBOEZcIixsc3FiOlwiW1wiLGxzcXVvOlwiXFx1MjAxOFwiLGxzcXVvcjpcIlxcdTIwMUFcIixsc3Ryb2s6XCJcXHUwMTQyXCIsbDpcIjxcIixsdDpcIjxcIixsdGNjOlwiXFx1MkFBNlwiLGx0Y2lyOlwiXFx1MkE3OVwiLGx0ZG90OlwiXFx1MjJENlwiLGx0aHJlZTpcIlxcdTIyQ0JcIixsdGltZXM6XCJcXHUyMkM5XCIsbHRsYXJyOlwiXFx1Mjk3NlwiLGx0cXVlc3Q6XCJcXHUyQTdCXCIsbHRyUGFyOlwiXFx1Mjk5NlwiLGx0cmk6XCJcXHUyNUMzXCIsbHRyaWU6XCJcXHUyMkI0XCIsbHRyaWY6XCJcXHUyNUMyXCIsbHVyZHNoYXI6XCJcXHUyOTRBXCIsbHVydWhhcjpcIlxcdTI5NjZcIixsdmVydG5lcXE6XCJcXHUyMjY4XFx1RkUwMFwiLGx2bkU6XCJcXHUyMjY4XFx1RkUwMFwiLG1ERG90OlwiXFx1MjIzQVwiLG1hYzpcIlxceEFGXCIsbWFjcjpcIlxceEFGXCIsbWFsZTpcIlxcdTI2NDJcIixtYWx0OlwiXFx1MjcyMFwiLG1hbHRlc2U6XCJcXHUyNzIwXCIsbWFwOlwiXFx1MjFBNlwiLG1hcHN0bzpcIlxcdTIxQTZcIixtYXBzdG9kb3duOlwiXFx1MjFBN1wiLG1hcHN0b2xlZnQ6XCJcXHUyMUE0XCIsbWFwc3RvdXA6XCJcXHUyMUE1XCIsbWFya2VyOlwiXFx1MjVBRVwiLG1jb21tYTpcIlxcdTJBMjlcIixtY3k6XCJcXHUwNDNDXCIsbWRhc2g6XCJcXHUyMDE0XCIsbWVhc3VyZWRhbmdsZTpcIlxcdTIyMjFcIixtZnI6XCJcXHV7MUQ1MkF9XCIsbWhvOlwiXFx1MjEyN1wiLG1pY3I6XCJcXHhCNVwiLG1pY3JvOlwiXFx4QjVcIixtaWQ6XCJcXHUyMjIzXCIsbWlkYXN0OlwiKlwiLG1pZGNpcjpcIlxcdTJBRjBcIixtaWRkbzpcIlxceEI3XCIsbWlkZG90OlwiXFx4QjdcIixtaW51czpcIlxcdTIyMTJcIixtaW51c2I6XCJcXHUyMjlGXCIsbWludXNkOlwiXFx1MjIzOFwiLG1pbnVzZHU6XCJcXHUyQTJBXCIsbWxjcDpcIlxcdTJBREJcIixtbGRyOlwiXFx1MjAyNlwiLG1ucGx1czpcIlxcdTIyMTNcIixtb2RlbHM6XCJcXHUyMkE3XCIsbW9wZjpcIlxcdXsxRDU1RX1cIixtcDpcIlxcdTIyMTNcIixtc2NyOlwiXFx1ezFENEMyfVwiLG1zdHBvczpcIlxcdTIyM0VcIixtdTpcIlxcdTAzQkNcIixtdWx0aW1hcDpcIlxcdTIyQjhcIixtdW1hcDpcIlxcdTIyQjhcIixuR2c6XCJcXHUyMkQ5XFx1MDMzOFwiLG5HdDpcIlxcdTIyNkJcXHUyMEQyXCIsbkd0djpcIlxcdTIyNkJcXHUwMzM4XCIsbkxlZnRhcnJvdzpcIlxcdTIxQ0RcIixuTGVmdHJpZ2h0YXJyb3c6XCJcXHUyMUNFXCIsbkxsOlwiXFx1MjJEOFxcdTAzMzhcIixuTHQ6XCJcXHUyMjZBXFx1MjBEMlwiLG5MdHY6XCJcXHUyMjZBXFx1MDMzOFwiLG5SaWdodGFycm93OlwiXFx1MjFDRlwiLG5WRGFzaDpcIlxcdTIyQUZcIixuVmRhc2g6XCJcXHUyMkFFXCIsbmFibGE6XCJcXHUyMjA3XCIsbmFjdXRlOlwiXFx1MDE0NFwiLG5hbmc6XCJcXHUyMjIwXFx1MjBEMlwiLG5hcDpcIlxcdTIyNDlcIixuYXBFOlwiXFx1MkE3MFxcdTAzMzhcIixuYXBpZDpcIlxcdTIyNEJcXHUwMzM4XCIsbmFwb3M6XCJcXHUwMTQ5XCIsbmFwcHJveDpcIlxcdTIyNDlcIixuYXR1cjpcIlxcdTI2NkVcIixuYXR1cmFsOlwiXFx1MjY2RVwiLG5hdHVyYWxzOlwiXFx1MjExNVwiLG5iczpcIlxceEEwXCIsbmJzcDpcIlxceEEwXCIsbmJ1bXA6XCJcXHUyMjRFXFx1MDMzOFwiLG5idW1wZTpcIlxcdTIyNEZcXHUwMzM4XCIsbmNhcDpcIlxcdTJBNDNcIixuY2Fyb246XCJcXHUwMTQ4XCIsbmNlZGlsOlwiXFx1MDE0NlwiLG5jb25nOlwiXFx1MjI0N1wiLG5jb25nZG90OlwiXFx1MkE2RFxcdTAzMzhcIixuY3VwOlwiXFx1MkE0MlwiLG5jeTpcIlxcdTA0M0RcIixuZGFzaDpcIlxcdTIwMTNcIixuZTpcIlxcdTIyNjBcIixuZUFycjpcIlxcdTIxRDdcIixuZWFyaGs6XCJcXHUyOTI0XCIsbmVhcnI6XCJcXHUyMTk3XCIsbmVhcnJvdzpcIlxcdTIxOTdcIixuZWRvdDpcIlxcdTIyNTBcXHUwMzM4XCIsbmVxdWl2OlwiXFx1MjI2MlwiLG5lc2VhcjpcIlxcdTI5MjhcIixuZXNpbTpcIlxcdTIyNDJcXHUwMzM4XCIsbmV4aXN0OlwiXFx1MjIwNFwiLG5leGlzdHM6XCJcXHUyMjA0XCIsbmZyOlwiXFx1ezFENTJCfVwiLG5nRTpcIlxcdTIyNjdcXHUwMzM4XCIsbmdlOlwiXFx1MjI3MVwiLG5nZXE6XCJcXHUyMjcxXCIsbmdlcXE6XCJcXHUyMjY3XFx1MDMzOFwiLG5nZXFzbGFudDpcIlxcdTJBN0VcXHUwMzM4XCIsbmdlczpcIlxcdTJBN0VcXHUwMzM4XCIsbmdzaW06XCJcXHUyMjc1XCIsbmd0OlwiXFx1MjI2RlwiLG5ndHI6XCJcXHUyMjZGXCIsbmhBcnI6XCJcXHUyMUNFXCIsbmhhcnI6XCJcXHUyMUFFXCIsbmhwYXI6XCJcXHUyQUYyXCIsbmk6XCJcXHUyMjBCXCIsbmlzOlwiXFx1MjJGQ1wiLG5pc2Q6XCJcXHUyMkZBXCIsbml2OlwiXFx1MjIwQlwiLG5qY3k6XCJcXHUwNDVBXCIsbmxBcnI6XCJcXHUyMUNEXCIsbmxFOlwiXFx1MjI2NlxcdTAzMzhcIixubGFycjpcIlxcdTIxOUFcIixubGRyOlwiXFx1MjAyNVwiLG5sZTpcIlxcdTIyNzBcIixubGVmdGFycm93OlwiXFx1MjE5QVwiLG5sZWZ0cmlnaHRhcnJvdzpcIlxcdTIxQUVcIixubGVxOlwiXFx1MjI3MFwiLG5sZXFxOlwiXFx1MjI2NlxcdTAzMzhcIixubGVxc2xhbnQ6XCJcXHUyQTdEXFx1MDMzOFwiLG5sZXM6XCJcXHUyQTdEXFx1MDMzOFwiLG5sZXNzOlwiXFx1MjI2RVwiLG5sc2ltOlwiXFx1MjI3NFwiLG5sdDpcIlxcdTIyNkVcIixubHRyaTpcIlxcdTIyRUFcIixubHRyaWU6XCJcXHUyMkVDXCIsbm1pZDpcIlxcdTIyMjRcIixub3BmOlwiXFx1ezFENTVGfVwiLG5vOlwiXFx4QUNcIixub3Q6XCJcXHhBQ1wiLG5vdGluOlwiXFx1MjIwOVwiLG5vdGluRTpcIlxcdTIyRjlcXHUwMzM4XCIsbm90aW5kb3Q6XCJcXHUyMkY1XFx1MDMzOFwiLG5vdGludmE6XCJcXHUyMjA5XCIsbm90aW52YjpcIlxcdTIyRjdcIixub3RpbnZjOlwiXFx1MjJGNlwiLG5vdG5pOlwiXFx1MjIwQ1wiLG5vdG5pdmE6XCJcXHUyMjBDXCIsbm90bml2YjpcIlxcdTIyRkVcIixub3RuaXZjOlwiXFx1MjJGRFwiLG5wYXI6XCJcXHUyMjI2XCIsbnBhcmFsbGVsOlwiXFx1MjIyNlwiLG5wYXJzbDpcIlxcdTJBRkRcXHUyMEU1XCIsbnBhcnQ6XCJcXHUyMjAyXFx1MDMzOFwiLG5wb2xpbnQ6XCJcXHUyQTE0XCIsbnByOlwiXFx1MjI4MFwiLG5wcmN1ZTpcIlxcdTIyRTBcIixucHJlOlwiXFx1MkFBRlxcdTAzMzhcIixucHJlYzpcIlxcdTIyODBcIixucHJlY2VxOlwiXFx1MkFBRlxcdTAzMzhcIixuckFycjpcIlxcdTIxQ0ZcIixucmFycjpcIlxcdTIxOUJcIixucmFycmM6XCJcXHUyOTMzXFx1MDMzOFwiLG5yYXJydzpcIlxcdTIxOURcXHUwMzM4XCIsbnJpZ2h0YXJyb3c6XCJcXHUyMTlCXCIsbnJ0cmk6XCJcXHUyMkVCXCIsbnJ0cmllOlwiXFx1MjJFRFwiLG5zYzpcIlxcdTIyODFcIixuc2NjdWU6XCJcXHUyMkUxXCIsbnNjZTpcIlxcdTJBQjBcXHUwMzM4XCIsbnNjcjpcIlxcdXsxRDRDM31cIixuc2hvcnRtaWQ6XCJcXHUyMjI0XCIsbnNob3J0cGFyYWxsZWw6XCJcXHUyMjI2XCIsbnNpbTpcIlxcdTIyNDFcIixuc2ltZTpcIlxcdTIyNDRcIixuc2ltZXE6XCJcXHUyMjQ0XCIsbnNtaWQ6XCJcXHUyMjI0XCIsbnNwYXI6XCJcXHUyMjI2XCIsbnNxc3ViZTpcIlxcdTIyRTJcIixuc3FzdXBlOlwiXFx1MjJFM1wiLG5zdWI6XCJcXHUyMjg0XCIsbnN1YkU6XCJcXHUyQUM1XFx1MDMzOFwiLG5zdWJlOlwiXFx1MjI4OFwiLG5zdWJzZXQ6XCJcXHUyMjgyXFx1MjBEMlwiLG5zdWJzZXRlcTpcIlxcdTIyODhcIixuc3Vic2V0ZXFxOlwiXFx1MkFDNVxcdTAzMzhcIixuc3VjYzpcIlxcdTIyODFcIixuc3VjY2VxOlwiXFx1MkFCMFxcdTAzMzhcIixuc3VwOlwiXFx1MjI4NVwiLG5zdXBFOlwiXFx1MkFDNlxcdTAzMzhcIixuc3VwZTpcIlxcdTIyODlcIixuc3Vwc2V0OlwiXFx1MjI4M1xcdTIwRDJcIixuc3Vwc2V0ZXE6XCJcXHUyMjg5XCIsbnN1cHNldGVxcTpcIlxcdTJBQzZcXHUwMzM4XCIsbnRnbDpcIlxcdTIyNzlcIixudGlsZDpcIlxceEYxXCIsbnRpbGRlOlwiXFx4RjFcIixudGxnOlwiXFx1MjI3OFwiLG50cmlhbmdsZWxlZnQ6XCJcXHUyMkVBXCIsbnRyaWFuZ2xlbGVmdGVxOlwiXFx1MjJFQ1wiLG50cmlhbmdsZXJpZ2h0OlwiXFx1MjJFQlwiLG50cmlhbmdsZXJpZ2h0ZXE6XCJcXHUyMkVEXCIsbnU6XCJcXHUwM0JEXCIsbnVtOlwiI1wiLG51bWVybzpcIlxcdTIxMTZcIixudW1zcDpcIlxcdTIwMDdcIixudkRhc2g6XCJcXHUyMkFEXCIsbnZIYXJyOlwiXFx1MjkwNFwiLG52YXA6XCJcXHUyMjREXFx1MjBEMlwiLG52ZGFzaDpcIlxcdTIyQUNcIixudmdlOlwiXFx1MjI2NVxcdTIwRDJcIixudmd0OlwiPlxcdTIwRDJcIixudmluZmluOlwiXFx1MjlERVwiLG52bEFycjpcIlxcdTI5MDJcIixudmxlOlwiXFx1MjI2NFxcdTIwRDJcIixudmx0OlwiPFxcdTIwRDJcIixudmx0cmllOlwiXFx1MjJCNFxcdTIwRDJcIixudnJBcnI6XCJcXHUyOTAzXCIsbnZydHJpZTpcIlxcdTIyQjVcXHUyMEQyXCIsbnZzaW06XCJcXHUyMjNDXFx1MjBEMlwiLG53QXJyOlwiXFx1MjFENlwiLG53YXJoazpcIlxcdTI5MjNcIixud2FycjpcIlxcdTIxOTZcIixud2Fycm93OlwiXFx1MjE5NlwiLG53bmVhcjpcIlxcdTI5MjdcIixvUzpcIlxcdTI0QzhcIixvYWN1dDpcIlxceEYzXCIsb2FjdXRlOlwiXFx4RjNcIixvYXN0OlwiXFx1MjI5QlwiLG9jaXI6XCJcXHhGNFwiLG9jaXJjOlwiXFx4RjRcIixvY3k6XCJcXHUwNDNFXCIsb2Rhc2g6XCJcXHUyMjlEXCIsb2RibGFjOlwiXFx1MDE1MVwiLG9kaXY6XCJcXHUyQTM4XCIsb2RvdDpcIlxcdTIyOTlcIixvZHNvbGQ6XCJcXHUyOUJDXCIsb2VsaWc6XCJcXHUwMTUzXCIsb2ZjaXI6XCJcXHUyOUJGXCIsb2ZyOlwiXFx1ezFENTJDfVwiLG9nb246XCJcXHUwMkRCXCIsb2dyYXY6XCJcXHhGMlwiLG9ncmF2ZTpcIlxceEYyXCIsb2d0OlwiXFx1MjlDMVwiLG9oYmFyOlwiXFx1MjlCNVwiLG9obTpcIlxcdTAzQTlcIixvaW50OlwiXFx1MjIyRVwiLG9sYXJyOlwiXFx1MjFCQVwiLG9sY2lyOlwiXFx1MjlCRVwiLG9sY3Jvc3M6XCJcXHUyOUJCXCIsb2xpbmU6XCJcXHUyMDNFXCIsb2x0OlwiXFx1MjlDMFwiLG9tYWNyOlwiXFx1MDE0RFwiLG9tZWdhOlwiXFx1MDNDOVwiLG9taWNyb246XCJcXHUwM0JGXCIsb21pZDpcIlxcdTI5QjZcIixvbWludXM6XCJcXHUyMjk2XCIsb29wZjpcIlxcdXsxRDU2MH1cIixvcGFyOlwiXFx1MjlCN1wiLG9wZXJwOlwiXFx1MjlCOVwiLG9wbHVzOlwiXFx1MjI5NVwiLG9yOlwiXFx1MjIyOFwiLG9yYXJyOlwiXFx1MjFCQlwiLG9yZDpcIlxceEJBXCIsb3JkZXI6XCJcXHUyMTM0XCIsb3JkZXJvZjpcIlxcdTIxMzRcIixvcmRmOlwiXFx4QUFcIixvcmRtOlwiXFx4QkFcIixvcmlnb2Y6XCJcXHUyMkI2XCIsb3JvcjpcIlxcdTJBNTZcIixvcnNsb3BlOlwiXFx1MkE1N1wiLG9ydjpcIlxcdTJBNUJcIixvc2NyOlwiXFx1MjEzNFwiLG9zbGFzOlwiXFx4RjhcIixvc2xhc2g6XCJcXHhGOFwiLG9zb2w6XCJcXHUyMjk4XCIsb3RpbGQ6XCJcXHhGNVwiLG90aWxkZTpcIlxceEY1XCIsb3RpbWVzOlwiXFx1MjI5N1wiLG90aW1lc2FzOlwiXFx1MkEzNlwiLG91bTpcIlxceEY2XCIsb3VtbDpcIlxceEY2XCIsb3ZiYXI6XCJcXHUyMzNEXCIscGFyOlwiXFx4QjZcIixwYXJhOlwiXFx4QjZcIixwYXJhbGxlbDpcIlxcdTIyMjVcIixwYXJzaW06XCJcXHUyQUYzXCIscGFyc2w6XCJcXHUyQUZEXCIscGFydDpcIlxcdTIyMDJcIixwY3k6XCJcXHUwNDNGXCIscGVyY250OlwiJVwiLHBlcmlvZDpcIi5cIixwZXJtaWw6XCJcXHUyMDMwXCIscGVycDpcIlxcdTIyQTVcIixwZXJ0ZW5rOlwiXFx1MjAzMVwiLHBmcjpcIlxcdXsxRDUyRH1cIixwaGk6XCJcXHUwM0M2XCIscGhpdjpcIlxcdTAzRDVcIixwaG1tYXQ6XCJcXHUyMTMzXCIscGhvbmU6XCJcXHUyNjBFXCIscGk6XCJcXHUwM0MwXCIscGl0Y2hmb3JrOlwiXFx1MjJENFwiLHBpdjpcIlxcdTAzRDZcIixwbGFuY2s6XCJcXHUyMTBGXCIscGxhbmNraDpcIlxcdTIxMEVcIixwbGFua3Y6XCJcXHUyMTBGXCIscGx1czpcIitcIixwbHVzYWNpcjpcIlxcdTJBMjNcIixwbHVzYjpcIlxcdTIyOUVcIixwbHVzY2lyOlwiXFx1MkEyMlwiLHBsdXNkbzpcIlxcdTIyMTRcIixwbHVzZHU6XCJcXHUyQTI1XCIscGx1c2U6XCJcXHUyQTcyXCIscGx1c206XCJcXHhCMVwiLHBsdXNtbjpcIlxceEIxXCIscGx1c3NpbTpcIlxcdTJBMjZcIixwbHVzdHdvOlwiXFx1MkEyN1wiLHBtOlwiXFx4QjFcIixwb2ludGludDpcIlxcdTJBMTVcIixwb3BmOlwiXFx1ezFENTYxfVwiLHBvdW46XCJcXHhBM1wiLHBvdW5kOlwiXFx4QTNcIixwcjpcIlxcdTIyN0FcIixwckU6XCJcXHUyQUIzXCIscHJhcDpcIlxcdTJBQjdcIixwcmN1ZTpcIlxcdTIyN0NcIixwcmU6XCJcXHUyQUFGXCIscHJlYzpcIlxcdTIyN0FcIixwcmVjYXBwcm94OlwiXFx1MkFCN1wiLHByZWNjdXJseWVxOlwiXFx1MjI3Q1wiLHByZWNlcTpcIlxcdTJBQUZcIixwcmVjbmFwcHJveDpcIlxcdTJBQjlcIixwcmVjbmVxcTpcIlxcdTJBQjVcIixwcmVjbnNpbTpcIlxcdTIyRThcIixwcmVjc2ltOlwiXFx1MjI3RVwiLHByaW1lOlwiXFx1MjAzMlwiLHByaW1lczpcIlxcdTIxMTlcIixwcm5FOlwiXFx1MkFCNVwiLHBybmFwOlwiXFx1MkFCOVwiLHBybnNpbTpcIlxcdTIyRThcIixwcm9kOlwiXFx1MjIwRlwiLHByb2ZhbGFyOlwiXFx1MjMyRVwiLHByb2ZsaW5lOlwiXFx1MjMxMlwiLHByb2ZzdXJmOlwiXFx1MjMxM1wiLHByb3A6XCJcXHUyMjFEXCIscHJvcHRvOlwiXFx1MjIxRFwiLHByc2ltOlwiXFx1MjI3RVwiLHBydXJlbDpcIlxcdTIyQjBcIixwc2NyOlwiXFx1ezFENEM1fVwiLHBzaTpcIlxcdTAzQzhcIixwdW5jc3A6XCJcXHUyMDA4XCIscWZyOlwiXFx1ezFENTJFfVwiLHFpbnQ6XCJcXHUyQTBDXCIscW9wZjpcIlxcdXsxRDU2Mn1cIixxcHJpbWU6XCJcXHUyMDU3XCIscXNjcjpcIlxcdXsxRDRDNn1cIixxdWF0ZXJuaW9uczpcIlxcdTIxMERcIixxdWF0aW50OlwiXFx1MkExNlwiLHF1ZXN0OlwiP1wiLHF1ZXN0ZXE6XCJcXHUyMjVGXCIscXVvOidcIicscXVvdDonXCInLHJBYXJyOlwiXFx1MjFEQlwiLHJBcnI6XCJcXHUyMUQyXCIsckF0YWlsOlwiXFx1MjkxQ1wiLHJCYXJyOlwiXFx1MjkwRlwiLHJIYXI6XCJcXHUyOTY0XCIscmFjZTpcIlxcdTIyM0RcXHUwMzMxXCIscmFjdXRlOlwiXFx1MDE1NVwiLHJhZGljOlwiXFx1MjIxQVwiLHJhZW1wdHl2OlwiXFx1MjlCM1wiLHJhbmc6XCJcXHUyN0U5XCIscmFuZ2Q6XCJcXHUyOTkyXCIscmFuZ2U6XCJcXHUyOUE1XCIscmFuZ2xlOlwiXFx1MjdFOVwiLHJhcXU6XCJcXHhCQlwiLHJhcXVvOlwiXFx4QkJcIixyYXJyOlwiXFx1MjE5MlwiLHJhcnJhcDpcIlxcdTI5NzVcIixyYXJyYjpcIlxcdTIxRTVcIixyYXJyYmZzOlwiXFx1MjkyMFwiLHJhcnJjOlwiXFx1MjkzM1wiLHJhcnJmczpcIlxcdTI5MUVcIixyYXJyaGs6XCJcXHUyMUFBXCIscmFycmxwOlwiXFx1MjFBQ1wiLHJhcnJwbDpcIlxcdTI5NDVcIixyYXJyc2ltOlwiXFx1Mjk3NFwiLHJhcnJ0bDpcIlxcdTIxQTNcIixyYXJydzpcIlxcdTIxOURcIixyYXRhaWw6XCJcXHUyOTFBXCIscmF0aW86XCJcXHUyMjM2XCIscmF0aW9uYWxzOlwiXFx1MjExQVwiLHJiYXJyOlwiXFx1MjkwRFwiLHJiYnJrOlwiXFx1Mjc3M1wiLHJicmFjZTpcIn1cIixyYnJhY2s6XCJdXCIscmJya2U6XCJcXHUyOThDXCIscmJya3NsZDpcIlxcdTI5OEVcIixyYnJrc2x1OlwiXFx1Mjk5MFwiLHJjYXJvbjpcIlxcdTAxNTlcIixyY2VkaWw6XCJcXHUwMTU3XCIscmNlaWw6XCJcXHUyMzA5XCIscmN1YjpcIn1cIixyY3k6XCJcXHUwNDQwXCIscmRjYTpcIlxcdTI5MzdcIixyZGxkaGFyOlwiXFx1Mjk2OVwiLHJkcXVvOlwiXFx1MjAxRFwiLHJkcXVvcjpcIlxcdTIwMURcIixyZHNoOlwiXFx1MjFCM1wiLHJlYWw6XCJcXHUyMTFDXCIscmVhbGluZTpcIlxcdTIxMUJcIixyZWFscGFydDpcIlxcdTIxMUNcIixyZWFsczpcIlxcdTIxMURcIixyZWN0OlwiXFx1MjVBRFwiLHJlOlwiXFx4QUVcIixyZWc6XCJcXHhBRVwiLHJmaXNodDpcIlxcdTI5N0RcIixyZmxvb3I6XCJcXHUyMzBCXCIscmZyOlwiXFx1ezFENTJGfVwiLHJoYXJkOlwiXFx1MjFDMVwiLHJoYXJ1OlwiXFx1MjFDMFwiLHJoYXJ1bDpcIlxcdTI5NkNcIixyaG86XCJcXHUwM0MxXCIscmhvdjpcIlxcdTAzRjFcIixyaWdodGFycm93OlwiXFx1MjE5MlwiLHJpZ2h0YXJyb3d0YWlsOlwiXFx1MjFBM1wiLHJpZ2h0aGFycG9vbmRvd246XCJcXHUyMUMxXCIscmlnaHRoYXJwb29udXA6XCJcXHUyMUMwXCIscmlnaHRsZWZ0YXJyb3dzOlwiXFx1MjFDNFwiLHJpZ2h0bGVmdGhhcnBvb25zOlwiXFx1MjFDQ1wiLHJpZ2h0cmlnaHRhcnJvd3M6XCJcXHUyMUM5XCIscmlnaHRzcXVpZ2Fycm93OlwiXFx1MjE5RFwiLHJpZ2h0dGhyZWV0aW1lczpcIlxcdTIyQ0NcIixyaW5nOlwiXFx1MDJEQVwiLHJpc2luZ2RvdHNlcTpcIlxcdTIyNTNcIixybGFycjpcIlxcdTIxQzRcIixybGhhcjpcIlxcdTIxQ0NcIixybG06XCJcXHUyMDBGXCIscm1vdXN0OlwiXFx1MjNCMVwiLHJtb3VzdGFjaGU6XCJcXHUyM0IxXCIscm5taWQ6XCJcXHUyQUVFXCIscm9hbmc6XCJcXHUyN0VEXCIscm9hcnI6XCJcXHUyMUZFXCIscm9icms6XCJcXHUyN0U3XCIscm9wYXI6XCJcXHUyOTg2XCIscm9wZjpcIlxcdXsxRDU2M31cIixyb3BsdXM6XCJcXHUyQTJFXCIscm90aW1lczpcIlxcdTJBMzVcIixycGFyOlwiKVwiLHJwYXJndDpcIlxcdTI5OTRcIixycHBvbGludDpcIlxcdTJBMTJcIixycmFycjpcIlxcdTIxQzlcIixyc2FxdW86XCJcXHUyMDNBXCIscnNjcjpcIlxcdXsxRDRDN31cIixyc2g6XCJcXHUyMUIxXCIscnNxYjpcIl1cIixyc3F1bzpcIlxcdTIwMTlcIixyc3F1b3I6XCJcXHUyMDE5XCIscnRocmVlOlwiXFx1MjJDQ1wiLHJ0aW1lczpcIlxcdTIyQ0FcIixydHJpOlwiXFx1MjVCOVwiLHJ0cmllOlwiXFx1MjJCNVwiLHJ0cmlmOlwiXFx1MjVCOFwiLHJ0cmlsdHJpOlwiXFx1MjlDRVwiLHJ1bHVoYXI6XCJcXHUyOTY4XCIscng6XCJcXHUyMTFFXCIsc2FjdXRlOlwiXFx1MDE1QlwiLHNicXVvOlwiXFx1MjAxQVwiLHNjOlwiXFx1MjI3QlwiLHNjRTpcIlxcdTJBQjRcIixzY2FwOlwiXFx1MkFCOFwiLHNjYXJvbjpcIlxcdTAxNjFcIixzY2N1ZTpcIlxcdTIyN0RcIixzY2U6XCJcXHUyQUIwXCIsc2NlZGlsOlwiXFx1MDE1RlwiLHNjaXJjOlwiXFx1MDE1RFwiLHNjbkU6XCJcXHUyQUI2XCIsc2NuYXA6XCJcXHUyQUJBXCIsc2Nuc2ltOlwiXFx1MjJFOVwiLHNjcG9saW50OlwiXFx1MkExM1wiLHNjc2ltOlwiXFx1MjI3RlwiLHNjeTpcIlxcdTA0NDFcIixzZG90OlwiXFx1MjJDNVwiLHNkb3RiOlwiXFx1MjJBMVwiLHNkb3RlOlwiXFx1MkE2NlwiLHNlQXJyOlwiXFx1MjFEOFwiLHNlYXJoazpcIlxcdTI5MjVcIixzZWFycjpcIlxcdTIxOThcIixzZWFycm93OlwiXFx1MjE5OFwiLHNlYzpcIlxceEE3XCIsc2VjdDpcIlxceEE3XCIsc2VtaTpcIjtcIixzZXN3YXI6XCJcXHUyOTI5XCIsc2V0bWludXM6XCJcXHUyMjE2XCIsc2V0bW46XCJcXHUyMjE2XCIsc2V4dDpcIlxcdTI3MzZcIixzZnI6XCJcXHV7MUQ1MzB9XCIsc2Zyb3duOlwiXFx1MjMyMlwiLHNoYXJwOlwiXFx1MjY2RlwiLHNoY2hjeTpcIlxcdTA0NDlcIixzaGN5OlwiXFx1MDQ0OFwiLHNob3J0bWlkOlwiXFx1MjIyM1wiLHNob3J0cGFyYWxsZWw6XCJcXHUyMjI1XCIsc2g6XCJcXHhBRFwiLHNoeTpcIlxceEFEXCIsc2lnbWE6XCJcXHUwM0MzXCIsc2lnbWFmOlwiXFx1MDNDMlwiLHNpZ21hdjpcIlxcdTAzQzJcIixzaW06XCJcXHUyMjNDXCIsc2ltZG90OlwiXFx1MkE2QVwiLHNpbWU6XCJcXHUyMjQzXCIsc2ltZXE6XCJcXHUyMjQzXCIsc2ltZzpcIlxcdTJBOUVcIixzaW1nRTpcIlxcdTJBQTBcIixzaW1sOlwiXFx1MkE5RFwiLHNpbWxFOlwiXFx1MkE5RlwiLHNpbW5lOlwiXFx1MjI0NlwiLHNpbXBsdXM6XCJcXHUyQTI0XCIsc2ltcmFycjpcIlxcdTI5NzJcIixzbGFycjpcIlxcdTIxOTBcIixzbWFsbHNldG1pbnVzOlwiXFx1MjIxNlwiLHNtYXNocDpcIlxcdTJBMzNcIixzbWVwYXJzbDpcIlxcdTI5RTRcIixzbWlkOlwiXFx1MjIyM1wiLHNtaWxlOlwiXFx1MjMyM1wiLHNtdDpcIlxcdTJBQUFcIixzbXRlOlwiXFx1MkFBQ1wiLHNtdGVzOlwiXFx1MkFBQ1xcdUZFMDBcIixzb2Z0Y3k6XCJcXHUwNDRDXCIsc29sOlwiL1wiLHNvbGI6XCJcXHUyOUM0XCIsc29sYmFyOlwiXFx1MjMzRlwiLHNvcGY6XCJcXHV7MUQ1NjR9XCIsc3BhZGVzOlwiXFx1MjY2MFwiLHNwYWRlc3VpdDpcIlxcdTI2NjBcIixzcGFyOlwiXFx1MjIyNVwiLHNxY2FwOlwiXFx1MjI5M1wiLHNxY2FwczpcIlxcdTIyOTNcXHVGRTAwXCIsc3FjdXA6XCJcXHUyMjk0XCIsc3FjdXBzOlwiXFx1MjI5NFxcdUZFMDBcIixzcXN1YjpcIlxcdTIyOEZcIixzcXN1YmU6XCJcXHUyMjkxXCIsc3FzdWJzZXQ6XCJcXHUyMjhGXCIsc3FzdWJzZXRlcTpcIlxcdTIyOTFcIixzcXN1cDpcIlxcdTIyOTBcIixzcXN1cGU6XCJcXHUyMjkyXCIsc3FzdXBzZXQ6XCJcXHUyMjkwXCIsc3FzdXBzZXRlcTpcIlxcdTIyOTJcIixzcXU6XCJcXHUyNUExXCIsc3F1YXJlOlwiXFx1MjVBMVwiLHNxdWFyZjpcIlxcdTI1QUFcIixzcXVmOlwiXFx1MjVBQVwiLHNyYXJyOlwiXFx1MjE5MlwiLHNzY3I6XCJcXHV7MUQ0Qzh9XCIsc3NldG1uOlwiXFx1MjIxNlwiLHNzbWlsZTpcIlxcdTIzMjNcIixzc3RhcmY6XCJcXHUyMkM2XCIsc3RhcjpcIlxcdTI2MDZcIixzdGFyZjpcIlxcdTI2MDVcIixzdHJhaWdodGVwc2lsb246XCJcXHUwM0Y1XCIsc3RyYWlnaHRwaGk6XCJcXHUwM0Q1XCIsc3RybnM6XCJcXHhBRlwiLHN1YjpcIlxcdTIyODJcIixzdWJFOlwiXFx1MkFDNVwiLHN1YmRvdDpcIlxcdTJBQkRcIixzdWJlOlwiXFx1MjI4NlwiLHN1YmVkb3Q6XCJcXHUyQUMzXCIsc3VibXVsdDpcIlxcdTJBQzFcIixzdWJuRTpcIlxcdTJBQ0JcIixzdWJuZTpcIlxcdTIyOEFcIixzdWJwbHVzOlwiXFx1MkFCRlwiLHN1YnJhcnI6XCJcXHUyOTc5XCIsc3Vic2V0OlwiXFx1MjI4MlwiLHN1YnNldGVxOlwiXFx1MjI4NlwiLHN1YnNldGVxcTpcIlxcdTJBQzVcIixzdWJzZXRuZXE6XCJcXHUyMjhBXCIsc3Vic2V0bmVxcTpcIlxcdTJBQ0JcIixzdWJzaW06XCJcXHUyQUM3XCIsc3Vic3ViOlwiXFx1MkFENVwiLHN1YnN1cDpcIlxcdTJBRDNcIixzdWNjOlwiXFx1MjI3QlwiLHN1Y2NhcHByb3g6XCJcXHUyQUI4XCIsc3VjY2N1cmx5ZXE6XCJcXHUyMjdEXCIsc3VjY2VxOlwiXFx1MkFCMFwiLHN1Y2NuYXBwcm94OlwiXFx1MkFCQVwiLHN1Y2NuZXFxOlwiXFx1MkFCNlwiLHN1Y2Nuc2ltOlwiXFx1MjJFOVwiLHN1Y2NzaW06XCJcXHUyMjdGXCIsc3VtOlwiXFx1MjIxMVwiLHN1bmc6XCJcXHUyNjZBXCIsc3VwOlwiXFx1MjI4M1wiLHN1cDE6XCJcXHhCOVwiLHN1cDI6XCJcXHhCMlwiLHN1cDM6XCJcXHhCM1wiLHN1cEU6XCJcXHUyQUM2XCIsc3VwZG90OlwiXFx1MkFCRVwiLHN1cGRzdWI6XCJcXHUyQUQ4XCIsc3VwZTpcIlxcdTIyODdcIixzdXBlZG90OlwiXFx1MkFDNFwiLHN1cGhzb2w6XCJcXHUyN0M5XCIsc3VwaHN1YjpcIlxcdTJBRDdcIixzdXBsYXJyOlwiXFx1Mjk3QlwiLHN1cG11bHQ6XCJcXHUyQUMyXCIsc3VwbkU6XCJcXHUyQUNDXCIsc3VwbmU6XCJcXHUyMjhCXCIsc3VwcGx1czpcIlxcdTJBQzBcIixzdXBzZXQ6XCJcXHUyMjgzXCIsc3Vwc2V0ZXE6XCJcXHUyMjg3XCIsc3Vwc2V0ZXFxOlwiXFx1MkFDNlwiLHN1cHNldG5lcTpcIlxcdTIyOEJcIixzdXBzZXRuZXFxOlwiXFx1MkFDQ1wiLHN1cHNpbTpcIlxcdTJBQzhcIixzdXBzdWI6XCJcXHUyQUQ0XCIsc3Vwc3VwOlwiXFx1MkFENlwiLHN3QXJyOlwiXFx1MjFEOVwiLHN3YXJoazpcIlxcdTI5MjZcIixzd2FycjpcIlxcdTIxOTlcIixzd2Fycm93OlwiXFx1MjE5OVwiLHN3bndhcjpcIlxcdTI5MkFcIixzemxpOlwiXFx4REZcIixzemxpZzpcIlxceERGXCIsdGFyZ2V0OlwiXFx1MjMxNlwiLHRhdTpcIlxcdTAzQzRcIix0YnJrOlwiXFx1MjNCNFwiLHRjYXJvbjpcIlxcdTAxNjVcIix0Y2VkaWw6XCJcXHUwMTYzXCIsdGN5OlwiXFx1MDQ0MlwiLHRkb3Q6XCJcXHUyMERCXCIsdGVscmVjOlwiXFx1MjMxNVwiLHRmcjpcIlxcdXsxRDUzMX1cIix0aGVyZTQ6XCJcXHUyMjM0XCIsdGhlcmVmb3JlOlwiXFx1MjIzNFwiLHRoZXRhOlwiXFx1MDNCOFwiLHRoZXRhc3ltOlwiXFx1MDNEMVwiLHRoZXRhdjpcIlxcdTAzRDFcIix0aGlja2FwcHJveDpcIlxcdTIyNDhcIix0aGlja3NpbTpcIlxcdTIyM0NcIix0aGluc3A6XCJcXHUyMDA5XCIsdGhrYXA6XCJcXHUyMjQ4XCIsdGhrc2ltOlwiXFx1MjIzQ1wiLHRob3I6XCJcXHhGRVwiLHRob3JuOlwiXFx4RkVcIix0aWxkZTpcIlxcdTAyRENcIix0aW1lOlwiXFx4RDdcIix0aW1lczpcIlxceEQ3XCIsdGltZXNiOlwiXFx1MjJBMFwiLHRpbWVzYmFyOlwiXFx1MkEzMVwiLHRpbWVzZDpcIlxcdTJBMzBcIix0aW50OlwiXFx1MjIyRFwiLHRvZWE6XCJcXHUyOTI4XCIsdG9wOlwiXFx1MjJBNFwiLHRvcGJvdDpcIlxcdTIzMzZcIix0b3BjaXI6XCJcXHUyQUYxXCIsdG9wZjpcIlxcdXsxRDU2NX1cIix0b3Bmb3JrOlwiXFx1MkFEQVwiLHRvc2E6XCJcXHUyOTI5XCIsdHByaW1lOlwiXFx1MjAzNFwiLHRyYWRlOlwiXFx1MjEyMlwiLHRyaWFuZ2xlOlwiXFx1MjVCNVwiLHRyaWFuZ2xlZG93bjpcIlxcdTI1QkZcIix0cmlhbmdsZWxlZnQ6XCJcXHUyNUMzXCIsdHJpYW5nbGVsZWZ0ZXE6XCJcXHUyMkI0XCIsdHJpYW5nbGVxOlwiXFx1MjI1Q1wiLHRyaWFuZ2xlcmlnaHQ6XCJcXHUyNUI5XCIsdHJpYW5nbGVyaWdodGVxOlwiXFx1MjJCNVwiLHRyaWRvdDpcIlxcdTI1RUNcIix0cmllOlwiXFx1MjI1Q1wiLHRyaW1pbnVzOlwiXFx1MkEzQVwiLHRyaXBsdXM6XCJcXHUyQTM5XCIsdHJpc2I6XCJcXHUyOUNEXCIsdHJpdGltZTpcIlxcdTJBM0JcIix0cnBleml1bTpcIlxcdTIzRTJcIix0c2NyOlwiXFx1ezFENEM5fVwiLHRzY3k6XCJcXHUwNDQ2XCIsdHNoY3k6XCJcXHUwNDVCXCIsdHN0cm9rOlwiXFx1MDE2N1wiLHR3aXh0OlwiXFx1MjI2Q1wiLHR3b2hlYWRsZWZ0YXJyb3c6XCJcXHUyMTlFXCIsdHdvaGVhZHJpZ2h0YXJyb3c6XCJcXHUyMUEwXCIsdUFycjpcIlxcdTIxRDFcIix1SGFyOlwiXFx1Mjk2M1wiLHVhY3V0OlwiXFx4RkFcIix1YWN1dGU6XCJcXHhGQVwiLHVhcnI6XCJcXHUyMTkxXCIsdWJyY3k6XCJcXHUwNDVFXCIsdWJyZXZlOlwiXFx1MDE2RFwiLHVjaXI6XCJcXHhGQlwiLHVjaXJjOlwiXFx4RkJcIix1Y3k6XCJcXHUwNDQzXCIsdWRhcnI6XCJcXHUyMUM1XCIsdWRibGFjOlwiXFx1MDE3MVwiLHVkaGFyOlwiXFx1Mjk2RVwiLHVmaXNodDpcIlxcdTI5N0VcIix1ZnI6XCJcXHV7MUQ1MzJ9XCIsdWdyYXY6XCJcXHhGOVwiLHVncmF2ZTpcIlxceEY5XCIsdWhhcmw6XCJcXHUyMUJGXCIsdWhhcnI6XCJcXHUyMUJFXCIsdWhibGs6XCJcXHUyNTgwXCIsdWxjb3JuOlwiXFx1MjMxQ1wiLHVsY29ybmVyOlwiXFx1MjMxQ1wiLHVsY3JvcDpcIlxcdTIzMEZcIix1bHRyaTpcIlxcdTI1RjhcIix1bWFjcjpcIlxcdTAxNkJcIix1bTpcIlxceEE4XCIsdW1sOlwiXFx4QThcIix1b2dvbjpcIlxcdTAxNzNcIix1b3BmOlwiXFx1ezFENTY2fVwiLHVwYXJyb3c6XCJcXHUyMTkxXCIsdXBkb3duYXJyb3c6XCJcXHUyMTk1XCIsdXBoYXJwb29ubGVmdDpcIlxcdTIxQkZcIix1cGhhcnBvb25yaWdodDpcIlxcdTIxQkVcIix1cGx1czpcIlxcdTIyOEVcIix1cHNpOlwiXFx1MDNDNVwiLHVwc2loOlwiXFx1MDNEMlwiLHVwc2lsb246XCJcXHUwM0M1XCIsdXB1cGFycm93czpcIlxcdTIxQzhcIix1cmNvcm46XCJcXHUyMzFEXCIsdXJjb3JuZXI6XCJcXHUyMzFEXCIsdXJjcm9wOlwiXFx1MjMwRVwiLHVyaW5nOlwiXFx1MDE2RlwiLHVydHJpOlwiXFx1MjVGOVwiLHVzY3I6XCJcXHV7MUQ0Q0F9XCIsdXRkb3Q6XCJcXHUyMkYwXCIsdXRpbGRlOlwiXFx1MDE2OVwiLHV0cmk6XCJcXHUyNUI1XCIsdXRyaWY6XCJcXHUyNUI0XCIsdXVhcnI6XCJcXHUyMUM4XCIsdXVtOlwiXFx4RkNcIix1dW1sOlwiXFx4RkNcIix1d2FuZ2xlOlwiXFx1MjlBN1wiLHZBcnI6XCJcXHUyMUQ1XCIsdkJhcjpcIlxcdTJBRThcIix2QmFydjpcIlxcdTJBRTlcIix2RGFzaDpcIlxcdTIyQThcIix2YW5ncnQ6XCJcXHUyOTlDXCIsdmFyZXBzaWxvbjpcIlxcdTAzRjVcIix2YXJrYXBwYTpcIlxcdTAzRjBcIix2YXJub3RoaW5nOlwiXFx1MjIwNVwiLHZhcnBoaTpcIlxcdTAzRDVcIix2YXJwaTpcIlxcdTAzRDZcIix2YXJwcm9wdG86XCJcXHUyMjFEXCIsdmFycjpcIlxcdTIxOTVcIix2YXJyaG86XCJcXHUwM0YxXCIsdmFyc2lnbWE6XCJcXHUwM0MyXCIsdmFyc3Vic2V0bmVxOlwiXFx1MjI4QVxcdUZFMDBcIix2YXJzdWJzZXRuZXFxOlwiXFx1MkFDQlxcdUZFMDBcIix2YXJzdXBzZXRuZXE6XCJcXHUyMjhCXFx1RkUwMFwiLHZhcnN1cHNldG5lcXE6XCJcXHUyQUNDXFx1RkUwMFwiLHZhcnRoZXRhOlwiXFx1MDNEMVwiLHZhcnRyaWFuZ2xlbGVmdDpcIlxcdTIyQjJcIix2YXJ0cmlhbmdsZXJpZ2h0OlwiXFx1MjJCM1wiLHZjeTpcIlxcdTA0MzJcIix2ZGFzaDpcIlxcdTIyQTJcIix2ZWU6XCJcXHUyMjI4XCIsdmVlYmFyOlwiXFx1MjJCQlwiLHZlZWVxOlwiXFx1MjI1QVwiLHZlbGxpcDpcIlxcdTIyRUVcIix2ZXJiYXI6XCJ8XCIsdmVydDpcInxcIix2ZnI6XCJcXHV7MUQ1MzN9XCIsdmx0cmk6XCJcXHUyMkIyXCIsdm5zdWI6XCJcXHUyMjgyXFx1MjBEMlwiLHZuc3VwOlwiXFx1MjI4M1xcdTIwRDJcIix2b3BmOlwiXFx1ezFENTY3fVwiLHZwcm9wOlwiXFx1MjIxRFwiLHZydHJpOlwiXFx1MjJCM1wiLHZzY3I6XCJcXHV7MUQ0Q0J9XCIsdnN1Ym5FOlwiXFx1MkFDQlxcdUZFMDBcIix2c3VibmU6XCJcXHUyMjhBXFx1RkUwMFwiLHZzdXBuRTpcIlxcdTJBQ0NcXHVGRTAwXCIsdnN1cG5lOlwiXFx1MjI4QlxcdUZFMDBcIix2emlnemFnOlwiXFx1Mjk5QVwiLHdjaXJjOlwiXFx1MDE3NVwiLHdlZGJhcjpcIlxcdTJBNUZcIix3ZWRnZTpcIlxcdTIyMjdcIix3ZWRnZXE6XCJcXHUyMjU5XCIsd2VpZXJwOlwiXFx1MjExOFwiLHdmcjpcIlxcdXsxRDUzNH1cIix3b3BmOlwiXFx1ezFENTY4fVwiLHdwOlwiXFx1MjExOFwiLHdyOlwiXFx1MjI0MFwiLHdyZWF0aDpcIlxcdTIyNDBcIix3c2NyOlwiXFx1ezFENENDfVwiLHhjYXA6XCJcXHUyMkMyXCIseGNpcmM6XCJcXHUyNUVGXCIseGN1cDpcIlxcdTIyQzNcIix4ZHRyaTpcIlxcdTI1QkRcIix4ZnI6XCJcXHV7MUQ1MzV9XCIseGhBcnI6XCJcXHUyN0ZBXCIseGhhcnI6XCJcXHUyN0Y3XCIseGk6XCJcXHUwM0JFXCIseGxBcnI6XCJcXHUyN0Y4XCIseGxhcnI6XCJcXHUyN0Y1XCIseG1hcDpcIlxcdTI3RkNcIix4bmlzOlwiXFx1MjJGQlwiLHhvZG90OlwiXFx1MkEwMFwiLHhvcGY6XCJcXHV7MUQ1Njl9XCIseG9wbHVzOlwiXFx1MkEwMVwiLHhvdGltZTpcIlxcdTJBMDJcIix4ckFycjpcIlxcdTI3RjlcIix4cmFycjpcIlxcdTI3RjZcIix4c2NyOlwiXFx1ezFENENEfVwiLHhzcWN1cDpcIlxcdTJBMDZcIix4dXBsdXM6XCJcXHUyQTA0XCIseHV0cmk6XCJcXHUyNUIzXCIseHZlZTpcIlxcdTIyQzFcIix4d2VkZ2U6XCJcXHUyMkMwXCIseWFjdXQ6XCJcXHhGRFwiLHlhY3V0ZTpcIlxceEZEXCIseWFjeTpcIlxcdTA0NEZcIix5Y2lyYzpcIlxcdTAxNzdcIix5Y3k6XCJcXHUwNDRCXCIseWU6XCJcXHhBNVwiLHllbjpcIlxceEE1XCIseWZyOlwiXFx1ezFENTM2fVwiLHlpY3k6XCJcXHUwNDU3XCIseW9wZjpcIlxcdXsxRDU2QX1cIix5c2NyOlwiXFx1ezFENENFfVwiLHl1Y3k6XCJcXHUwNDRFXCIseXVtOlwiXFx4RkZcIix5dW1sOlwiXFx4RkZcIix6YWN1dGU6XCJcXHUwMTdBXCIsemNhcm9uOlwiXFx1MDE3RVwiLHpjeTpcIlxcdTA0MzdcIix6ZG90OlwiXFx1MDE3Q1wiLHplZXRyZjpcIlxcdTIxMjhcIix6ZXRhOlwiXFx1MDNCNlwiLHpmcjpcIlxcdXsxRDUzN31cIix6aGN5OlwiXFx1MDQzNlwiLHppZ3JhcnI6XCJcXHUyMUREXCIsem9wZjpcIlxcdXsxRDU2Qn1cIix6c2NyOlwiXFx1ezFENENGfVwiLHp3ajpcIlxcdTIwMERcIix6d25qOlwiXFx1MjAwQ1wifX0pO3ZhciB3dT1DKChNdix4dSk9PntcInVzZSBzdHJpY3RcIjt2YXIgQXU9eXUoKTt4dS5leHBvcnRzPWZEO3ZhciBsRD17fS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBmRChlKXtyZXR1cm4gbEQuY2FsbChBdSxlKT9BdVtlXTohMX19KTt2YXIgZHI9QygoenYsVXUpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGt1PWR1KCksQnU9bXUoKSxERD1OZSgpLHBEPXZ1KCksU3U9YnUoKSxoRD13dSgpO1V1LmV4cG9ydHM9a0Q7dmFyIGREPXt9Lmhhc093blByb3BlcnR5LEhlPVN0cmluZy5mcm9tQ2hhckNvZGUsbUQ9RnVuY3Rpb24ucHJvdG90eXBlLFR1PXt3YXJuaW5nOm51bGwscmVmZXJlbmNlOm51bGwsdGV4dDpudWxsLHdhcm5pbmdDb250ZXh0Om51bGwscmVmZXJlbmNlQ29udGV4dDpudWxsLHRleHRDb250ZXh0Om51bGwscG9zaXRpb246e30sYWRkaXRpb25hbDpudWxsLGF0dHJpYnV0ZTohMSxub25UZXJtaW5hdGVkOiEwfSxGRD05LHF1PTEwLGdEPTEyLHZEPTMyLF91PTM4LEVEPTU5LENEPTYwLGJEPTYxLHlEPTM1LEFEPTg4LHhEPTEyMCx3RD02NTUzMyxLZT1cIm5hbWVkXCIsUnQ9XCJoZXhhZGVjaW1hbFwiLFV0PVwiZGVjaW1hbFwiLE10PXt9O010W1J0XT0xNjtNdFtVdF09MTA7dmFyIFZyPXt9O1ZyW0tlXT1TdTtWcltVdF09REQ7VnJbUnRdPXBEO3ZhciBPdT0xLEx1PTIsUHU9MyxJdT00LE51PTUsTnQ9NixSdT03LHhlPXt9O3hlW091XT1cIk5hbWVkIGNoYXJhY3RlciByZWZlcmVuY2VzIG11c3QgYmUgdGVybWluYXRlZCBieSBhIHNlbWljb2xvblwiO3hlW0x1XT1cIk51bWVyaWMgY2hhcmFjdGVyIHJlZmVyZW5jZXMgbXVzdCBiZSB0ZXJtaW5hdGVkIGJ5IGEgc2VtaWNvbG9uXCI7eGVbUHVdPVwiTmFtZWQgY2hhcmFjdGVyIHJlZmVyZW5jZXMgY2Fubm90IGJlIGVtcHR5XCI7eGVbSXVdPVwiTnVtZXJpYyBjaGFyYWN0ZXIgcmVmZXJlbmNlcyBjYW5ub3QgYmUgZW1wdHlcIjt4ZVtOdV09XCJOYW1lZCBjaGFyYWN0ZXIgcmVmZXJlbmNlcyBtdXN0IGJlIGtub3duXCI7eGVbTnRdPVwiTnVtZXJpYyBjaGFyYWN0ZXIgcmVmZXJlbmNlcyBjYW5ub3QgYmUgZGlzYWxsb3dlZFwiO3hlW1J1XT1cIk51bWVyaWMgY2hhcmFjdGVyIHJlZmVyZW5jZXMgY2Fubm90IGJlIG91dHNpZGUgdGhlIHBlcm1pc3NpYmxlIFVuaWNvZGUgcmFuZ2VcIjtmdW5jdGlvbiBrRChlLHIpe3ZhciB0PXt9LG4sYTtyfHwocj17fSk7Zm9yKGEgaW4gVHUpbj1yW2FdLHRbYV09bj8/VHVbYV07cmV0dXJuKHQucG9zaXRpb24uaW5kZW50fHx0LnBvc2l0aW9uLnN0YXJ0KSYmKHQuaW5kZW50PXQucG9zaXRpb24uaW5kZW50fHxbXSx0LnBvc2l0aW9uPXQucG9zaXRpb24uc3RhcnQpLEJEKGUsdCl9ZnVuY3Rpb24gQkQoZSxyKXt2YXIgdD1yLmFkZGl0aW9uYWwsbj1yLm5vblRlcm1pbmF0ZWQsYT1yLnRleHQsdT1yLnJlZmVyZW5jZSxpPXIud2FybmluZyxvPXIudGV4dENvbnRleHQscz1yLnJlZmVyZW5jZUNvbnRleHQsbD1yLndhcm5pbmdDb250ZXh0LGM9ci5wb3NpdGlvbixmPXIuaW5kZW50fHxbXSxwPWUubGVuZ3RoLGQ9MCxEPS0xLGg9Yy5jb2x1bW58fDEsbT1jLmxpbmV8fDEsRj1cIlwiLHk9W10sRSxCLGIsZyxBLHgsdix3LGssVCxxLFIsTyxTLF8sTCxCZSxqLEk7Zm9yKHR5cGVvZiB0PT1cInN0cmluZ1wiJiYodD10LmNoYXJDb2RlQXQoMCkpLEw9ZWUoKSx3PWk/WjptRCxkLS0scCsrOysrZDxwOylpZihBPT09cXUmJihoPWZbRF18fDEpLEE9ZS5jaGFyQ29kZUF0KGQpLEE9PT1fdSl7aWYodj1lLmNoYXJDb2RlQXQoZCsxKSx2PT09RkR8fHY9PT1xdXx8dj09PWdEfHx2PT09dkR8fHY9PT1fdXx8dj09PUNEfHx2IT09dnx8dCYmdj09PXQpe0YrPUhlKEEpLGgrKztjb250aW51ZX1mb3IoTz1kKzEsUj1PLEk9Tyx2PT09eUQ/KEk9KytSLHY9ZS5jaGFyQ29kZUF0KEkpLHY9PT1BRHx8dj09PXhEPyhTPVJ0LEk9KytSKTpTPVV0KTpTPUtlLEU9XCJcIixxPVwiXCIsZz1cIlwiLF89VnJbU10sSS0tOysrSTxwJiYodj1lLmNoYXJDb2RlQXQoSSksISFfKHYpKTspZys9SGUodiksUz09PUtlJiZkRC5jYWxsKGt1LGcpJiYoRT1nLHE9a3VbZ10pO2I9ZS5jaGFyQ29kZUF0KEkpPT09RUQsYiYmKEkrKyxCPVM9PT1LZT9oRChnKTohMSxCJiYoRT1nLHE9QikpLGo9MStJLU8sIWImJiFufHwoZz9TPT09S2U/KGImJiFxP3coTnUsMSk6KEUhPT1nJiYoST1SK0UubGVuZ3RoLGo9MStJLVIsYj0hMSksYnx8KGs9RT9PdTpQdSxyLmF0dHJpYnV0ZT8odj1lLmNoYXJDb2RlQXQoSSksdj09PWJEPyh3KGssaikscT1udWxsKTpTdSh2KT9xPW51bGw6dyhrLGopKTp3KGssaikpKSx4PXEpOihifHx3KEx1LGopLHg9cGFyc2VJbnQoZyxNdFtTXSksVEQoeCk/KHcoUnUsaikseD1IZSh3RCkpOnggaW4gQnU/KHcoTnQsaikseD1CdVt4XSk6KFQ9XCJcIixxRCh4KSYmdyhOdCxqKSx4PjY1NTM1JiYoeC09NjU1MzYsVCs9SGUoeD4+PjEwfDU1Mjk2KSx4PTU2MzIwfHgmMTAyMykseD1UK0hlKHgpKSk6UyE9PUtlJiZ3KEl1LGopKSx4Pyh2ZSgpLEw9ZWUoKSxkPUktMSxoKz1JLU8rMSx5LnB1c2goeCksQmU9ZWUoKSxCZS5vZmZzZXQrKyx1JiZ1LmNhbGwocyx4LHtzdGFydDpMLGVuZDpCZX0sZS5zbGljZShPLTEsSSkpLEw9QmUpOihnPWUuc2xpY2UoTy0xLEkpLEYrPWcsaCs9Zy5sZW5ndGgsZD1JLTEpfWVsc2UgQT09PTEwJiYobSsrLEQrKyxoPTApLEE9PT1BPyhGKz1IZShBKSxoKyspOnZlKCk7cmV0dXJuIHkuam9pbihcIlwiKTtmdW5jdGlvbiBlZSgpe3JldHVybntsaW5lOm0sY29sdW1uOmgsb2Zmc2V0OmQrKGMub2Zmc2V0fHwwKX19ZnVuY3Rpb24gWihFZSxNKXt2YXIgRHQ9ZWUoKTtEdC5jb2x1bW4rPU0sRHQub2Zmc2V0Kz1NLGkuY2FsbChsLHhlW0VlXSxEdCxFZSl9ZnVuY3Rpb24gdmUoKXtGJiYoeS5wdXNoKEYpLGEmJmEuY2FsbChvLEYse3N0YXJ0OkwsZW5kOmVlKCl9KSxGPVwiXCIpfX1mdW5jdGlvbiBURChlKXtyZXR1cm4gZT49NTUyOTYmJmU8PTU3MzQzfHxlPjExMTQxMTF9ZnVuY3Rpb24gcUQoZSl7cmV0dXJuIGU+PTEmJmU8PTh8fGU9PT0xMXx8ZT49MTMmJmU8PTMxfHxlPj0xMjcmJmU8PTE1OXx8ZT49NjQ5NzYmJmU8PTY1MDA3fHwoZSY2NTUzNSk9PT02NTUzNXx8KGUmNjU1MzUpPT09NjU1MzR9fSk7dmFyIFl1PUMoKFl2LHp1KT0+e1widXNlIHN0cmljdFwiO3ZhciBfRD1JZSgpLE11PWRyKCk7enUuZXhwb3J0cz1TRDtmdW5jdGlvbiBTRChlKXtyZXR1cm4gdC5yYXc9bix0O2Z1bmN0aW9uIHIodSl7Zm9yKHZhciBpPWUub2Zmc2V0LG89dS5saW5lLHM9W107KytvJiZvIGluIGk7KXMucHVzaCgoaVtvXXx8MCkrMSk7cmV0dXJue3N0YXJ0OnUsaW5kZW50OnN9fWZ1bmN0aW9uIHQodSxpLG8pe011KHUse3Bvc2l0aW9uOnIoaSksd2FybmluZzphLHRleHQ6byxyZWZlcmVuY2U6byx0ZXh0Q29udGV4dDplLHJlZmVyZW5jZUNvbnRleHQ6ZX0pfWZ1bmN0aW9uIG4odSxpLG8pe3JldHVybiBNdSh1LF9EKG8se3Bvc2l0aW9uOnIoaSksd2FybmluZzphfSkpfWZ1bmN0aW9uIGEodSxpLG8pe28hPT0zJiZlLmZpbGUubWVzc2FnZSh1LGkpfX19KTt2YXIganU9QygoR3YsVnUpPT57XCJ1c2Ugc3RyaWN0XCI7VnUuZXhwb3J0cz1PRDtmdW5jdGlvbiBPRChlKXtyZXR1cm4gcjtmdW5jdGlvbiByKHQsbil7dmFyIGE9dGhpcyx1PWEub2Zmc2V0LGk9W10sbz1hW2UrXCJNZXRob2RzXCJdLHM9YVtlK1wiVG9rZW5pemVyc1wiXSxsPW4ubGluZSxjPW4uY29sdW1uLGYscCxkLEQsaCxtO2lmKCF0KXJldHVybiBpO2Zvcih4Lm5vdz1FLHguZmlsZT1hLmZpbGUsRihcIlwiKTt0Oyl7Zm9yKGY9LTEscD1vLmxlbmd0aCxoPSExOysrZjxwJiYoRD1vW2ZdLGQ9c1tEXSwhKGQmJighZC5vbmx5QXRTdGFydHx8YS5hdFN0YXJ0KSYmKCFkLm5vdEluTGlzdHx8IWEuaW5MaXN0KSYmKCFkLm5vdEluQmxvY2t8fCFhLmluQmxvY2spJiYoIWQubm90SW5MaW5rfHwhYS5pbkxpbmspJiYobT10Lmxlbmd0aCxkLmFwcGx5KGEsW3gsdF0pLGg9bSE9PXQubGVuZ3RoLGgpKSk7KTtofHxhLmZpbGUuZmFpbChuZXcgRXJyb3IoXCJJbmZpbml0ZSBsb29wXCIpLHgubm93KCkpfXJldHVybiBhLmVvZj1FKCksaTtmdW5jdGlvbiBGKHYpe2Zvcih2YXIgdz0tMSxrPXYuaW5kZXhPZihgXG5gKTtrIT09LTE7KWwrKyx3PWssaz12LmluZGV4T2YoYFxuYCxrKzEpO3c9PT0tMT9jKz12Lmxlbmd0aDpjPXYubGVuZ3RoLXcsbCBpbiB1JiYodyE9PS0xP2MrPXVbbF06Yzw9dVtsXSYmKGM9dVtsXSsxKSl9ZnVuY3Rpb24geSgpe3ZhciB2PVtdLHc9bCsxO3JldHVybiBmdW5jdGlvbigpe2Zvcih2YXIgaz1sKzE7dzxrOyl2LnB1c2goKHVbd118fDApKzEpLHcrKztyZXR1cm4gdn19ZnVuY3Rpb24gRSgpe3ZhciB2PXtsaW5lOmwsY29sdW1uOmN9O3JldHVybiB2Lm9mZnNldD1hLnRvT2Zmc2V0KHYpLHZ9ZnVuY3Rpb24gQih2KXt0aGlzLnN0YXJ0PXYsdGhpcy5lbmQ9RSgpfWZ1bmN0aW9uIGIodil7dC5zbGljZSgwLHYubGVuZ3RoKSE9PXYmJmEuZmlsZS5mYWlsKG5ldyBFcnJvcihcIkluY29ycmVjdGx5IGVhdGVuIHZhbHVlOiBwbGVhc2UgcmVwb3J0IHRoaXMgd2FybmluZyBvbiBodHRwczovL2dpdC5pby92ZzVGdFwiKSxFKCkpfWZ1bmN0aW9uIGcoKXt2YXIgdj1FKCk7cmV0dXJuIHc7ZnVuY3Rpb24gdyhrLFQpe3ZhciBxPWsucG9zaXRpb24sUj1xP3Euc3RhcnQ6dixPPVtdLFM9cSYmcS5lbmQubGluZSxfPXYubGluZTtpZihrLnBvc2l0aW9uPW5ldyBCKFIpLHEmJlQmJnEuaW5kZW50KXtpZihPPXEuaW5kZW50LFM8Xyl7Zm9yKDsrK1M8XzspTy5wdXNoKCh1W1NdfHwwKSsxKTtPLnB1c2godi5jb2x1bW4pfVQ9Ty5jb25jYXQoVCl9cmV0dXJuIGsucG9zaXRpb24uaW5kZW50PVR8fFtdLGt9fWZ1bmN0aW9uIEEodix3KXt2YXIgaz13P3cuY2hpbGRyZW46aSxUPWtbay5sZW5ndGgtMV0scTtyZXR1cm4gVCYmdi50eXBlPT09VC50eXBlJiYodi50eXBlPT09XCJ0ZXh0XCJ8fHYudHlwZT09PVwiYmxvY2txdW90ZVwiKSYmR3UoVCkmJkd1KHYpJiYocT12LnR5cGU9PT1cInRleHRcIj9MRDpQRCx2PXEuY2FsbChhLFQsdikpLHYhPT1UJiZrLnB1c2godiksYS5hdFN0YXJ0JiZpLmxlbmd0aCE9PTAmJmEuZXhpdFN0YXJ0KCksdn1mdW5jdGlvbiB4KHYpe3ZhciB3PXkoKSxrPWcoKSxUPUUoKTtyZXR1cm4gYih2KSxxLnJlc2V0PVIsUi50ZXN0PU8scS50ZXN0PU8sdD10LnNsaWNlKHYubGVuZ3RoKSxGKHYpLHc9dygpLHE7ZnVuY3Rpb24gcShTLF8pe3JldHVybiBrKEEoayhTKSxfKSx3KX1mdW5jdGlvbiBSKCl7dmFyIFM9cS5hcHBseShudWxsLGFyZ3VtZW50cyk7cmV0dXJuIGw9VC5saW5lLGM9VC5jb2x1bW4sdD12K3QsU31mdW5jdGlvbiBPKCl7dmFyIFM9ayh7fSk7cmV0dXJuIGw9VC5saW5lLGM9VC5jb2x1bW4sdD12K3QsUy5wb3NpdGlvbn19fX1mdW5jdGlvbiBHdShlKXt2YXIgcix0O3JldHVybiBlLnR5cGUhPT1cInRleHRcInx8IWUucG9zaXRpb24/ITA6KHI9ZS5wb3NpdGlvbi5zdGFydCx0PWUucG9zaXRpb24uZW5kLHIubGluZSE9PXQubGluZXx8dC5jb2x1bW4tci5jb2x1bW49PT1lLnZhbHVlLmxlbmd0aCl9ZnVuY3Rpb24gTEQoZSxyKXtyZXR1cm4gZS52YWx1ZSs9ci52YWx1ZSxlfWZ1bmN0aW9uIFBEKGUscil7cmV0dXJuIHRoaXMub3B0aW9ucy5jb21tb25tYXJrfHx0aGlzLm9wdGlvbnMuZ2ZtP3I6KGUuY2hpbGRyZW49ZS5jaGlsZHJlbi5jb25jYXQoci5jaGlsZHJlbiksZSl9fSk7dmFyIEh1PUMoKFZ2LFd1KT0+e1widXNlIHN0cmljdFwiO1d1LmV4cG9ydHM9anI7dmFyIHp0PVtcIlxcXFxcIixcImBcIixcIipcIixcIntcIixcIn1cIixcIltcIixcIl1cIixcIihcIixcIilcIixcIiNcIixcIitcIixcIi1cIixcIi5cIixcIiFcIixcIl9cIixcIj5cIl0sWXQ9enQuY29uY2F0KFtcIn5cIixcInxcIl0pLCR1PVl0LmNvbmNhdChbYFxuYCwnXCInLFwiJFwiLFwiJVwiLFwiJlwiLFwiJ1wiLFwiLFwiLFwiL1wiLFwiOlwiLFwiO1wiLFwiPFwiLFwiPVwiLFwiP1wiLFwiQFwiLFwiXlwiXSk7anIuZGVmYXVsdD16dDtqci5nZm09WXQ7anIuY29tbW9ubWFyaz0kdTtmdW5jdGlvbiBqcihlKXt2YXIgcj1lfHx7fTtyZXR1cm4gci5jb21tb25tYXJrPyR1OnIuZ2ZtP1l0Onp0fX0pO3ZhciBKdT1DKChqdixLdSk9PntcInVzZSBzdHJpY3RcIjtLdS5leHBvcnRzPVtcImFkZHJlc3NcIixcImFydGljbGVcIixcImFzaWRlXCIsXCJiYXNlXCIsXCJiYXNlZm9udFwiLFwiYmxvY2txdW90ZVwiLFwiYm9keVwiLFwiY2FwdGlvblwiLFwiY2VudGVyXCIsXCJjb2xcIixcImNvbGdyb3VwXCIsXCJkZFwiLFwiZGV0YWlsc1wiLFwiZGlhbG9nXCIsXCJkaXJcIixcImRpdlwiLFwiZGxcIixcImR0XCIsXCJmaWVsZHNldFwiLFwiZmlnY2FwdGlvblwiLFwiZmlndXJlXCIsXCJmb290ZXJcIixcImZvcm1cIixcImZyYW1lXCIsXCJmcmFtZXNldFwiLFwiaDFcIixcImgyXCIsXCJoM1wiLFwiaDRcIixcImg1XCIsXCJoNlwiLFwiaGVhZFwiLFwiaGVhZGVyXCIsXCJoZ3JvdXBcIixcImhyXCIsXCJodG1sXCIsXCJpZnJhbWVcIixcImxlZ2VuZFwiLFwibGlcIixcImxpbmtcIixcIm1haW5cIixcIm1lbnVcIixcIm1lbnVpdGVtXCIsXCJtZXRhXCIsXCJuYXZcIixcIm5vZnJhbWVzXCIsXCJvbFwiLFwib3B0Z3JvdXBcIixcIm9wdGlvblwiLFwicFwiLFwicGFyYW1cIixcInByZVwiLFwic2VjdGlvblwiLFwic291cmNlXCIsXCJ0aXRsZVwiLFwic3VtbWFyeVwiLFwidGFibGVcIixcInRib2R5XCIsXCJ0ZFwiLFwidGZvb3RcIixcInRoXCIsXCJ0aGVhZFwiLFwidGl0bGVcIixcInRyXCIsXCJ0cmFja1wiLFwidWxcIl19KTt2YXIgR3Q9QygoJHYsWHUpPT57XCJ1c2Ugc3RyaWN0XCI7WHUuZXhwb3J0cz17cG9zaXRpb246ITAsZ2ZtOiEwLGNvbW1vbm1hcms6ITEscGVkYW50aWM6ITEsYmxvY2tzOkp1KCl9fSk7dmFyIFp1PUMoKFd2LFF1KT0+e1widXNlIHN0cmljdFwiO3ZhciBJRD1JZSgpLE5EPUh1KCksUkQ9R3QoKTtRdS5leHBvcnRzPVVEO2Z1bmN0aW9uIFVEKGUpe3ZhciByPXRoaXMsdD1yLm9wdGlvbnMsbixhO2lmKGU9PW51bGwpZT17fTtlbHNlIGlmKHR5cGVvZiBlPT1cIm9iamVjdFwiKWU9SUQoZSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHZhbHVlIGBcIitlK1wiYCBmb3Igc2V0dGluZyBgb3B0aW9uc2BcIik7Zm9yKG4gaW4gUkQpe2lmKGE9ZVtuXSxhPT1udWxsJiYoYT10W25dKSxuIT09XCJibG9ja3NcIiYmdHlwZW9mIGEhPVwiYm9vbGVhblwifHxuPT09XCJibG9ja3NcIiYmdHlwZW9mIGEhPVwib2JqZWN0XCIpdGhyb3cgbmV3IEVycm9yKFwiSW52YWxpZCB2YWx1ZSBgXCIrYStcImAgZm9yIHNldHRpbmcgYG9wdGlvbnMuXCIrbitcImBcIik7ZVtuXT1hfXJldHVybiByLm9wdGlvbnM9ZSxyLmVzY2FwZT1ORChlKSxyfX0pO3ZhciB0YT1DKChIdixyYSk9PntcInVzZSBzdHJpY3RcIjtyYS5leHBvcnRzPWVhO2Z1bmN0aW9uIGVhKGUpe2lmKGU9PW51bGwpcmV0dXJuIEdEO2lmKHR5cGVvZiBlPT1cInN0cmluZ1wiKXJldHVybiBZRChlKTtpZih0eXBlb2YgZT09XCJvYmplY3RcIilyZXR1cm5cImxlbmd0aFwiaW4gZT96RChlKTpNRChlKTtpZih0eXBlb2YgZT09XCJmdW5jdGlvblwiKXJldHVybiBlO3Rocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIGZ1bmN0aW9uLCBzdHJpbmcsIG9yIG9iamVjdCBhcyB0ZXN0XCIpfWZ1bmN0aW9uIE1EKGUpe3JldHVybiByO2Z1bmN0aW9uIHIodCl7dmFyIG47Zm9yKG4gaW4gZSlpZih0W25dIT09ZVtuXSlyZXR1cm4hMTtyZXR1cm4hMH19ZnVuY3Rpb24gekQoZSl7Zm9yKHZhciByPVtdLHQ9LTE7Kyt0PGUubGVuZ3RoOylyW3RdPWVhKGVbdF0pO3JldHVybiBuO2Z1bmN0aW9uIG4oKXtmb3IodmFyIGE9LTE7KythPHIubGVuZ3RoOylpZihyW2FdLmFwcGx5KHRoaXMsYXJndW1lbnRzKSlyZXR1cm4hMDtyZXR1cm4hMX19ZnVuY3Rpb24gWUQoZSl7cmV0dXJuIHI7ZnVuY3Rpb24gcih0KXtyZXR1cm4hISh0JiZ0LnR5cGU9PT1lKX19ZnVuY3Rpb24gR0QoKXtyZXR1cm4hMH19KTt2YXIgaWE9QygoS3YsbmEpPT57bmEuZXhwb3J0cz1WRDtmdW5jdGlvbiBWRChlKXtyZXR1cm4gZX19KTt2YXIgc2E9QygoSnYsb2EpPT57XCJ1c2Ugc3RyaWN0XCI7b2EuZXhwb3J0cz0kcjt2YXIgakQ9dGEoKSwkRD1pYSgpLHVhPSEwLGFhPVwic2tpcFwiLFZ0PSExOyRyLkNPTlRJTlVFPXVhOyRyLlNLSVA9YWE7JHIuRVhJVD1WdDtmdW5jdGlvbiAkcihlLHIsdCxuKXt2YXIgYSx1O3R5cGVvZiByPT1cImZ1bmN0aW9uXCImJnR5cGVvZiB0IT1cImZ1bmN0aW9uXCImJihuPXQsdD1yLHI9bnVsbCksdT1qRChyKSxhPW4/LTE6MSxpKGUsbnVsbCxbXSkoKTtmdW5jdGlvbiBpKG8scyxsKXt2YXIgYz10eXBlb2Ygbz09XCJvYmplY3RcIiYmbyE9PW51bGw/bzp7fSxmO3JldHVybiB0eXBlb2YgYy50eXBlPT1cInN0cmluZ1wiJiYoZj10eXBlb2YgYy50YWdOYW1lPT1cInN0cmluZ1wiP2MudGFnTmFtZTp0eXBlb2YgYy5uYW1lPT1cInN0cmluZ1wiP2MubmFtZTp2b2lkIDAscC5kaXNwbGF5TmFtZT1cIm5vZGUgKFwiKyREKGMudHlwZSsoZj9cIjxcIitmK1wiPlwiOlwiXCIpKStcIilcIikscDtmdW5jdGlvbiBwKCl7dmFyIGQ9bC5jb25jYXQobyksRD1bXSxoLG07aWYoKCFyfHx1KG8scyxsW2wubGVuZ3RoLTFdfHxudWxsKSkmJihEPVdEKHQobyxsKSksRFswXT09PVZ0KSlyZXR1cm4gRDtpZihvLmNoaWxkcmVuJiZEWzBdIT09YWEpZm9yKG09KG4/by5jaGlsZHJlbi5sZW5ndGg6LTEpK2E7bT4tMSYmbTxvLmNoaWxkcmVuLmxlbmd0aDspe2lmKGg9aShvLmNoaWxkcmVuW21dLG0sZCkoKSxoWzBdPT09VnQpcmV0dXJuIGg7bT10eXBlb2YgaFsxXT09XCJudW1iZXJcIj9oWzFdOm0rYX1yZXR1cm4gRH19fWZ1bmN0aW9uIFdEKGUpe3JldHVybiBlIT09bnVsbCYmdHlwZW9mIGU9PVwib2JqZWN0XCImJlwibGVuZ3RoXCJpbiBlP2U6dHlwZW9mIGU9PVwibnVtYmVyXCI/W3VhLGVdOltlXX19KTt2YXIgbGE9QygoWHYsY2EpPT57XCJ1c2Ugc3RyaWN0XCI7Y2EuZXhwb3J0cz1Icjt2YXIgV3I9c2EoKSxIRD1Xci5DT05USU5VRSxLRD1Xci5TS0lQLEpEPVdyLkVYSVQ7SHIuQ09OVElOVUU9SEQ7SHIuU0tJUD1LRDtIci5FWElUPUpEO2Z1bmN0aW9uIEhyKGUscix0LG4pe3R5cGVvZiByPT1cImZ1bmN0aW9uXCImJnR5cGVvZiB0IT1cImZ1bmN0aW9uXCImJihuPXQsdD1yLHI9bnVsbCksV3IoZSxyLGEsbik7ZnVuY3Rpb24gYSh1LGkpe3ZhciBvPWlbaS5sZW5ndGgtMV0scz1vP28uY2hpbGRyZW4uaW5kZXhPZih1KTpudWxsO3JldHVybiB0KHUscyxvKX19fSk7dmFyIERhPUMoKFF2LGZhKT0+e1widXNlIHN0cmljdFwiO3ZhciBYRD1sYSgpO2ZhLmV4cG9ydHM9UUQ7ZnVuY3Rpb24gUUQoZSxyKXtyZXR1cm4gWEQoZSxyP1pEOmVwKSxlfWZ1bmN0aW9uIFpEKGUpe2RlbGV0ZSBlLnBvc2l0aW9ufWZ1bmN0aW9uIGVwKGUpe2UucG9zaXRpb249dm9pZCAwfX0pO3ZhciBkYT1DKChadixoYSk9PntcInVzZSBzdHJpY3RcIjt2YXIgcGE9SWUoKSxycD1EYSgpO2hhLmV4cG9ydHM9aXA7dmFyIHRwPWBcbmAsbnA9L1xcclxcbnxcXHIvZztmdW5jdGlvbiBpcCgpe3ZhciBlPXRoaXMscj1TdHJpbmcoZS5maWxlKSx0PXtsaW5lOjEsY29sdW1uOjEsb2Zmc2V0OjB9LG49cGEodCksYTtyZXR1cm4gcj1yLnJlcGxhY2UobnAsdHApLHIuY2hhckNvZGVBdCgwKT09PTY1Mjc5JiYocj1yLnNsaWNlKDEpLG4uY29sdW1uKyssbi5vZmZzZXQrKyksYT17dHlwZTpcInJvb3RcIixjaGlsZHJlbjplLnRva2VuaXplQmxvY2socixuKSxwb3NpdGlvbjp7c3RhcnQ6dCxlbmQ6ZS5lb2Z8fHBhKHQpfX0sZS5vcHRpb25zLnBvc2l0aW9ufHxycChhLCEwKSxhfX0pO3ZhciBGYT1DKChlRSxtYSk9PntcInVzZSBzdHJpY3RcIjt2YXIgdXA9L15bIFxcdF0qKFxcbnwkKS87bWEuZXhwb3J0cz1hcDtmdW5jdGlvbiBhcChlLHIsdCl7Zm9yKHZhciBuLGE9XCJcIix1PTAsaT1yLmxlbmd0aDt1PGkmJihuPXVwLmV4ZWMoci5zbGljZSh1KSksbiE9bnVsbCk7KXUrPW5bMF0ubGVuZ3RoLGErPW5bMF07aWYoYSE9PVwiXCIpe2lmKHQpcmV0dXJuITA7ZShhKX19fSk7dmFyIEtyPUMoKHJFLGdhKT0+e1widXNlIHN0cmljdFwiO3ZhciBtZT1cIlwiLGp0O2dhLmV4cG9ydHM9b3A7ZnVuY3Rpb24gb3AoZSxyKXtpZih0eXBlb2YgZSE9XCJzdHJpbmdcIil0aHJvdyBuZXcgVHlwZUVycm9yKFwiZXhwZWN0ZWQgYSBzdHJpbmdcIik7aWYocj09PTEpcmV0dXJuIGU7aWYocj09PTIpcmV0dXJuIGUrZTt2YXIgdD1lLmxlbmd0aCpyO2lmKGp0IT09ZXx8dHlwZW9mIGp0PlwidVwiKWp0PWUsbWU9XCJcIjtlbHNlIGlmKG1lLmxlbmd0aD49dClyZXR1cm4gbWUuc3Vic3RyKDAsdCk7Zm9yKDt0Pm1lLmxlbmd0aCYmcj4xOylyJjEmJihtZSs9ZSkscj4+PTEsZSs9ZTtyZXR1cm4gbWUrPWUsbWU9bWUuc3Vic3RyKDAsdCksbWV9fSk7dmFyICR0PUMoKHRFLHZhKT0+e1widXNlIHN0cmljdFwiO3ZhLmV4cG9ydHM9c3A7ZnVuY3Rpb24gc3AoZSl7cmV0dXJuIFN0cmluZyhlKS5yZXBsYWNlKC9cXG4rJC8sXCJcIil9fSk7dmFyIGJhPUMoKG5FLENhKT0+e1widXNlIHN0cmljdFwiO3ZhciBjcD1LcigpLGxwPSR0KCk7Q2EuZXhwb3J0cz1wcDt2YXIgV3Q9YFxuYCxFYT1cIlx0XCIsSHQ9XCIgXCIsZnA9NCxEcD1jcChIdCxmcCk7ZnVuY3Rpb24gcHAoZSxyLHQpe2Zvcih2YXIgbj0tMSxhPXIubGVuZ3RoLHU9XCJcIixpPVwiXCIsbz1cIlwiLHM9XCJcIixsLGMsZjsrK248YTspaWYobD1yLmNoYXJBdChuKSxmKWlmKGY9ITEsdSs9byxpKz1zLG89XCJcIixzPVwiXCIsbD09PVd0KW89bCxzPWw7ZWxzZSBmb3IodSs9bCxpKz1sOysrbjxhOyl7aWYobD1yLmNoYXJBdChuKSwhbHx8bD09PVd0KXtzPWwsbz1sO2JyZWFrfXUrPWwsaSs9bH1lbHNlIGlmKGw9PT1IdCYmci5jaGFyQXQobisxKT09PWwmJnIuY2hhckF0KG4rMik9PT1sJiZyLmNoYXJBdChuKzMpPT09bClvKz1EcCxuKz0zLGY9ITA7ZWxzZSBpZihsPT09RWEpbys9bCxmPSEwO2Vsc2V7Zm9yKGM9XCJcIjtsPT09RWF8fGw9PT1IdDspYys9bCxsPXIuY2hhckF0KCsrbik7aWYobCE9PVd0KWJyZWFrO28rPWMrbCxzKz1sfWlmKGkpcmV0dXJuIHQ/ITA6ZSh1KSh7dHlwZTpcImNvZGVcIixsYW5nOm51bGwsbWV0YTpudWxsLHZhbHVlOmxwKGkpfSl9fSk7dmFyIHhhPUMoKGlFLEFhKT0+e1widXNlIHN0cmljdFwiO0FhLmV4cG9ydHM9RnA7dmFyIEpyPWBcbmAsbXI9XCJcdFwiLEplPVwiIFwiLGhwPVwiflwiLHlhPVwiYFwiLGRwPTMsbXA9NDtmdW5jdGlvbiBGcChlLHIsdCl7dmFyIG49dGhpcyxhPW4ub3B0aW9ucy5nZm0sdT1yLmxlbmd0aCsxLGk9MCxvPVwiXCIscyxsLGMsZixwLGQsRCxoLG0sRix5LEUsQjtpZihhKXtmb3IoO2k8dSYmKGM9ci5jaGFyQXQoaSksIShjIT09SmUmJmMhPT1tcikpOylvKz1jLGkrKztpZihFPWksYz1yLmNoYXJBdChpKSwhKGMhPT1ocCYmYyE9PXlhKSl7Zm9yKGkrKyxsPWMscz0xLG8rPWM7aTx1JiYoYz1yLmNoYXJBdChpKSxjPT09bCk7KW8rPWMscysrLGkrKztpZighKHM8ZHApKXtmb3IoO2k8dSYmKGM9ci5jaGFyQXQoaSksIShjIT09SmUmJmMhPT1tcikpOylvKz1jLGkrKztmb3IoZj1cIlwiLEQ9XCJcIjtpPHUmJihjPXIuY2hhckF0KGkpLCEoYz09PUpyfHxsPT09eWEmJmM9PT1sKSk7KWM9PT1KZXx8Yz09PW1yP0QrPWM6KGYrPUQrYyxEPVwiXCIpLGkrKztpZihjPXIuY2hhckF0KGkpLCEoYyYmYyE9PUpyKSl7aWYodClyZXR1cm4hMDtCPWUubm93KCksQi5jb2x1bW4rPW8ubGVuZ3RoLEIub2Zmc2V0Kz1vLmxlbmd0aCxvKz1mLGY9bi5kZWNvZGUucmF3KG4udW5lc2NhcGUoZiksQiksRCYmKG8rPUQpLEQ9XCJcIixGPVwiXCIseT1cIlwiLGg9XCJcIixtPVwiXCI7Zm9yKHZhciBiPSEwO2k8dTspe2lmKGM9ci5jaGFyQXQoaSksaCs9RixtKz15LEY9XCJcIix5PVwiXCIsYyE9PUpyKXtoKz1jLHkrPWMsaSsrO2NvbnRpbnVlfWZvcihiPyhvKz1jLGI9ITEpOihGKz1jLHkrPWMpLEQ9XCJcIixpKys7aTx1JiYoYz1yLmNoYXJBdChpKSxjPT09SmUpOylEKz1jLGkrKztpZihGKz1ELHkrPUQuc2xpY2UoRSksIShELmxlbmd0aD49bXApKXtmb3IoRD1cIlwiO2k8dSYmKGM9ci5jaGFyQXQoaSksYz09PWwpOylEKz1jLGkrKztpZihGKz1ELHkrPUQsIShELmxlbmd0aDxzKSl7Zm9yKEQ9XCJcIjtpPHUmJihjPXIuY2hhckF0KGkpLCEoYyE9PUplJiZjIT09bXIpKTspRis9Yyx5Kz1jLGkrKztpZighY3x8Yz09PUpyKWJyZWFrfX19Zm9yKG8rPWgrRixpPS0xLHU9Zi5sZW5ndGg7KytpPHU7KWlmKGM9Zi5jaGFyQXQoaSksYz09PUplfHxjPT09bXIpcHx8KHA9Zi5zbGljZSgwLGkpKTtlbHNlIGlmKHApe2Q9Zi5zbGljZShpKTticmVha31yZXR1cm4gZShvKSh7dHlwZTpcImNvZGVcIixsYW5nOnB8fGZ8fG51bGwsbWV0YTpkfHxudWxsLHZhbHVlOm19KX19fX19fSk7dmFyIFJlPUMoKFhlLHdhKT0+e1hlPXdhLmV4cG9ydHM9Z3A7ZnVuY3Rpb24gZ3AoZSl7cmV0dXJuIGUudHJpbT9lLnRyaW0oKTpYZS5yaWdodChYZS5sZWZ0KGUpKX1YZS5sZWZ0PWZ1bmN0aW9uKGUpe3JldHVybiBlLnRyaW1MZWZ0P2UudHJpbUxlZnQoKTplLnJlcGxhY2UoL15cXHNcXHMqLyxcIlwiKX07WGUucmlnaHQ9ZnVuY3Rpb24oZSl7aWYoZS50cmltUmlnaHQpcmV0dXJuIGUudHJpbVJpZ2h0KCk7Zm9yKHZhciByPS9cXHMvLHQ9ZS5sZW5ndGg7ci50ZXN0KGUuY2hhckF0KC0tdCkpOyk7cmV0dXJuIGUuc2xpY2UoMCx0KzEpfX0pO3ZhciBYcj1DKCh1RSxrYSk9PntcInVzZSBzdHJpY3RcIjtrYS5leHBvcnRzPXZwO2Z1bmN0aW9uIHZwKGUscix0LG4pe2Zvcih2YXIgYT1lLmxlbmd0aCx1PS0xLGksbzsrK3U8YTspaWYoaT1lW3VdLG89aVsxXXx8e30sIShvLnBlZGFudGljIT09dm9pZCAwJiZvLnBlZGFudGljIT09dC5vcHRpb25zLnBlZGFudGljKSYmIShvLmNvbW1vbm1hcmshPT12b2lkIDAmJm8uY29tbW9ubWFyayE9PXQub3B0aW9ucy5jb21tb25tYXJrKSYmcltpWzBdXS5hcHBseSh0LG4pKXJldHVybiEwO3JldHVybiExfX0pO3ZhciBfYT1DKChhRSxxYSk9PntcInVzZSBzdHJpY3RcIjt2YXIgRXA9UmUoKSxDcD1YcigpO3FhLmV4cG9ydHM9YnA7dmFyIEt0PWBcbmAsQmE9XCJcdFwiLEp0PVwiIFwiLFRhPVwiPlwiO2Z1bmN0aW9uIGJwKGUscix0KXtmb3IodmFyIG49dGhpcyxhPW4ub2Zmc2V0LHU9bi5ibG9ja1Rva2VuaXplcnMsaT1uLmludGVycnVwdEJsb2NrcXVvdGUsbz1lLm5vdygpLHM9by5saW5lLGw9ci5sZW5ndGgsYz1bXSxmPVtdLHA9W10sZCxEPTAsaCxtLEYseSxFLEIsYixnO0Q8bCYmKGg9ci5jaGFyQXQoRCksIShoIT09SnQmJmghPT1CYSkpOylEKys7aWYoci5jaGFyQXQoRCk9PT1UYSl7aWYodClyZXR1cm4hMDtmb3IoRD0wO0Q8bDspe2ZvcihGPXIuaW5kZXhPZihLdCxEKSxCPUQsYj0hMSxGPT09LTEmJihGPWwpO0Q8bCYmKGg9ci5jaGFyQXQoRCksIShoIT09SnQmJmghPT1CYSkpOylEKys7aWYoci5jaGFyQXQoRCk9PT1UYT8oRCsrLGI9ITAsci5jaGFyQXQoRCk9PT1KdCYmRCsrKTpEPUIseT1yLnNsaWNlKEQsRiksIWImJiFFcCh5KSl7RD1CO2JyZWFrfWlmKCFiJiYobT1yLnNsaWNlKEQpLENwKGksdSxuLFtlLG0sITBdKSkpYnJlYWs7RT1CPT09RD95OnIuc2xpY2UoQixGKSxwLnB1c2goRC1CKSxjLnB1c2goRSksZi5wdXNoKHkpLEQ9RisxfWZvcihEPS0xLGw9cC5sZW5ndGgsZD1lKGMuam9pbihLdCkpOysrRDxsOylhW3NdPShhW3NdfHwwKStwW0RdLHMrKztyZXR1cm4gZz1uLmVudGVyQmxvY2soKSxmPW4udG9rZW5pemVCbG9jayhmLmpvaW4oS3QpLG8pLGcoKSxkKHt0eXBlOlwiYmxvY2txdW90ZVwiLGNoaWxkcmVuOmZ9KX19fSk7dmFyIExhPUMoKG9FLE9hKT0+e1widXNlIHN0cmljdFwiO09hLmV4cG9ydHM9QXA7dmFyIFNhPWBcbmAsRnI9XCJcdFwiLGdyPVwiIFwiLHZyPVwiI1wiLHlwPTY7ZnVuY3Rpb24gQXAoZSxyLHQpe2Zvcih2YXIgbj10aGlzLGE9bi5vcHRpb25zLnBlZGFudGljLHU9ci5sZW5ndGgrMSxpPS0xLG89ZS5ub3coKSxzPVwiXCIsbD1cIlwiLGMsZixwOysraTx1Oyl7aWYoYz1yLmNoYXJBdChpKSxjIT09Z3ImJmMhPT1Gcil7aS0tO2JyZWFrfXMrPWN9Zm9yKHA9MDsrK2k8PXU7KXtpZihjPXIuY2hhckF0KGkpLGMhPT12cil7aS0tO2JyZWFrfXMrPWMscCsrfWlmKCEocD55cCkmJiEoIXB8fCFhJiZyLmNoYXJBdChpKzEpPT09dnIpKXtmb3IodT1yLmxlbmd0aCsxLGY9XCJcIjsrK2k8dTspe2lmKGM9ci5jaGFyQXQoaSksYyE9PWdyJiZjIT09RnIpe2ktLTticmVha31mKz1jfWlmKCEoIWEmJmYubGVuZ3RoPT09MCYmYyYmYyE9PVNhKSl7aWYodClyZXR1cm4hMDtmb3Iocys9ZixmPVwiXCIsbD1cIlwiOysraTx1JiYoYz1yLmNoYXJBdChpKSwhKCFjfHxjPT09U2EpKTspe2lmKGMhPT1nciYmYyE9PUZyJiZjIT09dnIpe2wrPWYrYyxmPVwiXCI7Y29udGludWV9Zm9yKDtjPT09Z3J8fGM9PT1GcjspZis9YyxjPXIuY2hhckF0KCsraSk7aWYoIWEmJmwmJiFmJiZjPT09dnIpe2wrPWM7Y29udGludWV9Zm9yKDtjPT09dnI7KWYrPWMsYz1yLmNoYXJBdCgrK2kpO2Zvcig7Yz09PWdyfHxjPT09RnI7KWYrPWMsYz1yLmNoYXJBdCgrK2kpO2ktLX1yZXR1cm4gby5jb2x1bW4rPXMubGVuZ3RoLG8ub2Zmc2V0Kz1zLmxlbmd0aCxzKz1sK2YsZShzKSh7dHlwZTpcImhlYWRpbmdcIixkZXB0aDpwLGNoaWxkcmVuOm4udG9rZW5pemVJbmxpbmUobCxvKX0pfX19fSk7dmFyIE5hPUMoKHNFLElhKT0+e1widXNlIHN0cmljdFwiO0lhLmV4cG9ydHM9X3A7dmFyIHhwPVwiXHRcIix3cD1gXG5gLFBhPVwiIFwiLGtwPVwiKlwiLEJwPVwiLVwiLFRwPVwiX1wiLHFwPTM7ZnVuY3Rpb24gX3AoZSxyLHQpe2Zvcih2YXIgbj0tMSxhPXIubGVuZ3RoKzEsdT1cIlwiLGksbyxzLGw7KytuPGEmJihpPXIuY2hhckF0KG4pLCEoaSE9PXhwJiZpIT09UGEpKTspdSs9aTtpZighKGkhPT1rcCYmaSE9PUJwJiZpIT09VHApKWZvcihvPWksdSs9aSxzPTEsbD1cIlwiOysrbjxhOylpZihpPXIuY2hhckF0KG4pLGk9PT1vKXMrKyx1Kz1sK28sbD1cIlwiO2Vsc2UgaWYoaT09PVBhKWwrPWk7ZWxzZSByZXR1cm4gcz49cXAmJighaXx8aT09PXdwKT8odSs9bCx0PyEwOmUodSkoe3R5cGU6XCJ0aGVtYXRpY0JyZWFrXCJ9KSk6dm9pZCAwfX0pO3ZhciBYdD1DKChjRSxVYSk9PntcInVzZSBzdHJpY3RcIjtVYS5leHBvcnRzPVBwO3ZhciBSYT1cIlx0XCIsU3A9XCIgXCIsT3A9MSxMcD00O2Z1bmN0aW9uIFBwKGUpe2Zvcih2YXIgcj0wLHQ9MCxuPWUuY2hhckF0KHIpLGE9e30sdSxpPTA7bj09PVJhfHxuPT09U3A7KXtmb3IodT1uPT09UmE/THA6T3AsdCs9dSx1PjEmJih0PU1hdGguZmxvb3IodC91KSp1KTtpPHQ7KWFbKytpXT1yO249ZS5jaGFyQXQoKytyKX1yZXR1cm57aW5kZW50OnQsc3RvcHM6YX19fSk7dmFyIFlhPUMoKGxFLHphKT0+e1widXNlIHN0cmljdFwiO3ZhciBJcD1SZSgpLE5wPUtyKCksUnA9WHQoKTt6YS5leHBvcnRzPXpwO3ZhciBNYT1gXG5gLFVwPVwiIFwiLE1wPVwiIVwiO2Z1bmN0aW9uIHpwKGUscil7dmFyIHQ9ZS5zcGxpdChNYSksbj10Lmxlbmd0aCsxLGE9MS8wLHU9W10saSxvLHM7Zm9yKHQudW5zaGlmdChOcChVcCxyKStNcCk7bi0tOylpZihvPVJwKHRbbl0pLHVbbl09by5zdG9wcyxJcCh0W25dKS5sZW5ndGghPT0wKWlmKG8uaW5kZW50KW8uaW5kZW50PjAmJm8uaW5kZW50PGEmJihhPW8uaW5kZW50KTtlbHNle2E9MS8wO2JyZWFrfWlmKGEhPT0xLzApZm9yKG49dC5sZW5ndGg7bi0tOyl7Zm9yKHM9dVtuXSxpPWE7aSYmIShpIGluIHMpOylpLS07dFtuXT10W25dLnNsaWNlKHNbaV0rMSl9cmV0dXJuIHQuc2hpZnQoKSx0LmpvaW4oTWEpfX0pO3ZhciBIYT1DKChmRSxXYSk9PntcInVzZSBzdHJpY3RcIjt2YXIgWXA9UmUoKSxHcD1LcigpLEdhPU5lKCksVnA9WHQoKSxqcD1ZYSgpLCRwPVhyKCk7V2EuZXhwb3J0cz1laDt2YXIgUXQ9XCIqXCIsV3A9XCJfXCIsVmE9XCIrXCIsWnQ9XCItXCIsamE9XCIuXCIsRmU9XCIgXCIsYWU9YFxuYCxRcj1cIlx0XCIsJGE9XCIpXCIsSHA9XCJ4XCIsd2U9NCxLcD0vXFxuXFxuKD8hXFxzKiQpLyxKcD0vXlxcWyhbIFhcXHR4XSldWyBcXHRdLyxYcD0vXihbIFxcdF0qKShbKistXXxcXGQrWy4pXSkoIHsxLDR9KD8hICl8IHxcXHR8JHwoPz1cXG4pKShbXlxcbl0qKS8sUXA9L14oWyBcXHRdKikoWyorLV18XFxkK1suKV0pKFsgXFx0XSspLyxacD0vXiggezEsNH18XFx0KT8vZ207ZnVuY3Rpb24gZWgoZSxyLHQpe2Zvcih2YXIgbj10aGlzLGE9bi5vcHRpb25zLmNvbW1vbm1hcmssdT1uLm9wdGlvbnMucGVkYW50aWMsaT1uLmJsb2NrVG9rZW5pemVycyxvPW4uaW50ZXJydXB0TGlzdCxzPTAsbD1yLmxlbmd0aCxjPW51bGwsZixwLGQsRCxoLG0sRix5LEUsQixiLGcsQSx4LHYsdyxrLFQscSxSPSExLE8sUyxfLEw7czxsJiYoRD1yLmNoYXJBdChzKSwhKEQhPT1RciYmRCE9PUZlKSk7KXMrKztpZihEPXIuY2hhckF0KHMpLEQ9PT1RdHx8RD09PVZhfHxEPT09WnQpaD1ELGQ9ITE7ZWxzZXtmb3IoZD0hMCxwPVwiXCI7czxsJiYoRD1yLmNoYXJBdChzKSwhIUdhKEQpKTspcCs9RCxzKys7aWYoRD1yLmNoYXJBdChzKSwhcHx8IShEPT09amF8fGEmJkQ9PT0kYSl8fHQmJnAhPT1cIjFcIilyZXR1cm47Yz1wYXJzZUludChwLDEwKSxoPUR9aWYoRD1yLmNoYXJBdCgrK3MpLCEoRCE9PUZlJiZEIT09UXImJih1fHxEIT09YWUmJkQhPT1cIlwiKSkpe2lmKHQpcmV0dXJuITA7Zm9yKHM9MCx4PVtdLHY9W10sdz1bXTtzPGw7KXtmb3IobT1yLmluZGV4T2YoYWUscyksRj1zLHk9ITEsTD0hMSxtPT09LTEmJihtPWwpLGY9MDtzPGw7KXtpZihEPXIuY2hhckF0KHMpLEQ9PT1RcilmKz13ZS1mJXdlO2Vsc2UgaWYoRD09PUZlKWYrKztlbHNlIGJyZWFrO3MrK31pZihrJiZmPj1rLmluZGVudCYmKEw9ITApLEQ9ci5jaGFyQXQocyksRT1udWxsLCFMKXtpZihEPT09UXR8fEQ9PT1WYXx8RD09PVp0KUU9RCxzKyssZisrO2Vsc2V7Zm9yKHA9XCJcIjtzPGwmJihEPXIuY2hhckF0KHMpLCEhR2EoRCkpOylwKz1ELHMrKztEPXIuY2hhckF0KHMpLHMrKyxwJiYoRD09PWphfHxhJiZEPT09JGEpJiYoRT1ELGYrPXAubGVuZ3RoKzEpfWlmKEUpaWYoRD1yLmNoYXJBdChzKSxEPT09UXIpZis9d2UtZiV3ZSxzKys7ZWxzZSBpZihEPT09RmUpe2ZvcihfPXMrd2U7czxfJiZyLmNoYXJBdChzKT09PUZlOylzKyssZisrO3M9PT1fJiZyLmNoYXJBdChzKT09PUZlJiYocy09d2UtMSxmLT13ZS0xKX1lbHNlIEQhPT1hZSYmRCE9PVwiXCImJihFPW51bGwpfWlmKEUpe2lmKCF1JiZoIT09RSlicmVhazt5PSEwfWVsc2UhYSYmIUwmJnIuY2hhckF0KEYpPT09RmU/TD0hMDphJiZrJiYoTD1mPj1rLmluZGVudHx8Zj53ZSkseT0hMSxzPUY7aWYoYj1yLnNsaWNlKEYsbSksQj1GPT09cz9iOnIuc2xpY2UocyxtKSwoRT09PVF0fHxFPT09V3B8fEU9PT1adCkmJmkudGhlbWF0aWNCcmVhay5jYWxsKG4sZSxiLCEwKSlicmVhaztpZihnPUEsQT0heSYmIVlwKEIpLmxlbmd0aCxMJiZrKWsudmFsdWU9ay52YWx1ZS5jb25jYXQodyxiKSx2PXYuY29uY2F0KHcsYiksdz1bXTtlbHNlIGlmKHkpdy5sZW5ndGghPT0wJiYoUj0hMCxrLnZhbHVlLnB1c2goXCJcIiksay50cmFpbD13LmNvbmNhdCgpKSxrPXt2YWx1ZTpbYl0saW5kZW50OmYsdHJhaWw6W119LHgucHVzaChrKSx2PXYuY29uY2F0KHcsYiksdz1bXTtlbHNlIGlmKEEpe2lmKGcmJiFhKWJyZWFrO3cucHVzaChiKX1lbHNle2lmKGd8fCRwKG8saSxuLFtlLGIsITBdKSlicmVhaztrLnZhbHVlPWsudmFsdWUuY29uY2F0KHcsYiksdj12LmNvbmNhdCh3LGIpLHc9W119cz1tKzF9Zm9yKE89ZSh2LmpvaW4oYWUpKS5yZXNldCh7dHlwZTpcImxpc3RcIixvcmRlcmVkOmQsc3RhcnQ6YyxzcHJlYWQ6UixjaGlsZHJlbjpbXX0pLFQ9bi5lbnRlckxpc3QoKSxxPW4uZW50ZXJCbG9jaygpLHM9LTEsbD14Lmxlbmd0aDsrK3M8bDspaz14W3NdLnZhbHVlLmpvaW4oYWUpLFM9ZS5ub3coKSxlKGspKHJoKG4sayxTKSxPKSxrPXhbc10udHJhaWwuam9pbihhZSkscyE9PWwtMSYmKGsrPWFlKSxlKGspO3JldHVybiBUKCkscSgpLE99fWZ1bmN0aW9uIHJoKGUscix0KXt2YXIgbj1lLm9mZnNldCxhPWUub3B0aW9ucy5wZWRhbnRpYz90aDpuaCx1PW51bGwsaSxvO3JldHVybiByPWEuYXBwbHkobnVsbCxhcmd1bWVudHMpLGUub3B0aW9ucy5nZm0mJihpPXIubWF0Y2goSnApLGkmJihvPWlbMF0ubGVuZ3RoLHU9aVsxXS50b0xvd2VyQ2FzZSgpPT09SHAsblt0LmxpbmVdKz1vLHI9ci5zbGljZShvKSkpLHt0eXBlOlwibGlzdEl0ZW1cIixzcHJlYWQ6S3AudGVzdChyKSxjaGVja2VkOnUsY2hpbGRyZW46ZS50b2tlbml6ZUJsb2NrKHIsdCl9fWZ1bmN0aW9uIHRoKGUscix0KXt2YXIgbj1lLm9mZnNldCxhPXQubGluZTtyZXR1cm4gcj1yLnJlcGxhY2UoUXAsdSksYT10LmxpbmUsci5yZXBsYWNlKFpwLHUpO2Z1bmN0aW9uIHUoaSl7cmV0dXJuIG5bYV09KG5bYV18fDApK2kubGVuZ3RoLGErKyxcIlwifX1mdW5jdGlvbiBuaChlLHIsdCl7dmFyIG49ZS5vZmZzZXQsYT10LmxpbmUsdSxpLG8scyxsLGMsZjtmb3Iocj1yLnJlcGxhY2UoWHAscCkscz1yLnNwbGl0KGFlKSxsPWpwKHIsVnAodSkuaW5kZW50KS5zcGxpdChhZSksbFswXT1vLG5bYV09KG5bYV18fDApK2kubGVuZ3RoLGErKyxjPTAsZj1zLmxlbmd0aDsrK2M8ZjspblthXT0oblthXXx8MCkrc1tjXS5sZW5ndGgtbFtjXS5sZW5ndGgsYSsrO3JldHVybiBsLmpvaW4oYWUpO2Z1bmN0aW9uIHAoZCxELGgsbSxGKXtyZXR1cm4gaT1EK2grbSxvPUYsTnVtYmVyKGgpPDEwJiZpLmxlbmd0aCUyPT09MSYmKGg9RmUraCksdT1EK0dwKEZlLGgubGVuZ3RoKSttLHUrb319fSk7dmFyIFFhPUMoKERFLFhhKT0+e1widXNlIHN0cmljdFwiO1hhLmV4cG9ydHM9Y2g7dmFyIGVuPWBcbmAsaWg9XCJcdFwiLEthPVwiIFwiLEphPVwiPVwiLHVoPVwiLVwiLGFoPTMsb2g9MSxzaD0yO2Z1bmN0aW9uIGNoKGUscix0KXtmb3IodmFyIG49dGhpcyxhPWUubm93KCksdT1yLmxlbmd0aCxpPS0xLG89XCJcIixzLGwsYyxmLHA7KytpPHU7KXtpZihjPXIuY2hhckF0KGkpLGMhPT1LYXx8aT49YWgpe2ktLTticmVha31vKz1jfWZvcihzPVwiXCIsbD1cIlwiOysraTx1Oyl7aWYoYz1yLmNoYXJBdChpKSxjPT09ZW4pe2ktLTticmVha31jPT09S2F8fGM9PT1paD9sKz1jOihzKz1sK2MsbD1cIlwiKX1pZihhLmNvbHVtbis9by5sZW5ndGgsYS5vZmZzZXQrPW8ubGVuZ3RoLG8rPXMrbCxjPXIuY2hhckF0KCsraSksZj1yLmNoYXJBdCgrK2kpLCEoYyE9PWVufHxmIT09SmEmJmYhPT11aCkpe2ZvcihvKz1jLGw9ZixwPWY9PT1KYT9vaDpzaDsrK2k8dTspe2lmKGM9ci5jaGFyQXQoaSksYyE9PWYpe2lmKGMhPT1lbilyZXR1cm47aS0tO2JyZWFrfWwrPWN9cmV0dXJuIHQ/ITA6ZShvK2wpKHt0eXBlOlwiaGVhZGluZ1wiLGRlcHRoOnAsY2hpbGRyZW46bi50b2tlbml6ZUlubGluZShzLGEpfSl9fX0pO3ZhciB0bj1DKHJuPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGxoPVwiW2EtekEtWl86XVthLXpBLVowLTk6Ll8tXSpcIixmaD1cIlteXFxcIic9PD5gXFxcXHUwMDAwLVxcXFx1MDAyMF0rXCIsRGg9XCInW14nXSonXCIscGg9J1wiW15cIl0qXCInLGhoPVwiKD86XCIrZmgrXCJ8XCIrRGgrXCJ8XCIrcGgrXCIpXCIsZGg9XCIoPzpcXFxccytcIitsaCtcIig/OlxcXFxzKj1cXFxccypcIitoaCtcIik/KVwiLFphPVwiPFtBLVphLXpdW0EtWmEtejAtOVxcXFwtXSpcIitkaCtcIipcXFxccypcXFxcLz8+XCIsZW89XCI8XFxcXC9bQS1aYS16XVtBLVphLXowLTlcXFxcLV0qXFxcXHMqPlwiLG1oPVwiPCEtLS0tPnw8IS0tKD86LT9bXj4tXSkoPzotP1teLV0pKi0tPlwiLEZoPVwiPFs/XS4qP1s/XT5cIixnaD1cIjwhW0EtWmEtel0rXFxcXHMrW14+XSo+XCIsdmg9XCI8IVxcXFxbQ0RBVEFcXFxcW1tcXFxcc1xcXFxTXSo/XFxcXF1cXFxcXT5cIjtybi5vcGVuQ2xvc2VUYWc9bmV3IFJlZ0V4cChcIl4oPzpcIitaYStcInxcIitlbytcIilcIik7cm4udGFnPW5ldyBSZWdFeHAoXCJeKD86XCIrWmErXCJ8XCIrZW8rXCJ8XCIrbWgrXCJ8XCIrRmgrXCJ8XCIrZ2grXCJ8XCIrdmgrXCIpXCIpfSk7dmFyIGlvPUMoKGhFLG5vKT0+e1widXNlIHN0cmljdFwiO3ZhciBFaD10bigpLm9wZW5DbG9zZVRhZztuby5leHBvcnRzPVBoO3ZhciBDaD1cIlx0XCIsYmg9XCIgXCIscm89YFxuYCx5aD1cIjxcIixBaD0vXjwoc2NyaXB0fHByZXxzdHlsZSkoPz0oXFxzfD58JCkpL2kseGg9LzxcXC8oc2NyaXB0fHByZXxzdHlsZSk+L2ksd2g9L148IS0tLyxraD0vLS0+LyxCaD0vXjxcXD8vLFRoPS9cXD8+LyxxaD0vXjwhW0EtWmEtel0vLF9oPS8+LyxTaD0vXjwhXFxbQ0RBVEFcXFsvLE9oPS9dXT4vLHRvPS9eJC8sTGg9bmV3IFJlZ0V4cChFaC5zb3VyY2UrXCJcXFxccyokXCIpO2Z1bmN0aW9uIFBoKGUscix0KXtmb3IodmFyIG49dGhpcyxhPW4ub3B0aW9ucy5ibG9ja3Muam9pbihcInxcIiksdT1uZXcgUmVnRXhwKFwiXjwvPyhcIithK1wiKSg/PShcXFxcc3wvPz58JCkpXCIsXCJpXCIpLGk9ci5sZW5ndGgsbz0wLHMsbCxjLGYscCxkLEQsaD1bW0FoLHhoLCEwXSxbd2gsa2gsITBdLFtCaCxUaCwhMF0sW3FoLF9oLCEwXSxbU2gsT2gsITBdLFt1LHRvLCEwXSxbTGgsdG8sITFdXTtvPGkmJihmPXIuY2hhckF0KG8pLCEoZiE9PUNoJiZmIT09YmgpKTspbysrO2lmKHIuY2hhckF0KG8pPT09eWgpe2ZvcihzPXIuaW5kZXhPZihybyxvKzEpLHM9cz09PS0xP2k6cyxsPXIuc2xpY2UobyxzKSxjPS0xLHA9aC5sZW5ndGg7KytjPHA7KWlmKGhbY11bMF0udGVzdChsKSl7ZD1oW2NdO2JyZWFrfWlmKGQpe2lmKHQpcmV0dXJuIGRbMl07aWYobz1zLCFkWzFdLnRlc3QobCkpZm9yKDtvPGk7KXtpZihzPXIuaW5kZXhPZihybyxvKzEpLHM9cz09PS0xP2k6cyxsPXIuc2xpY2UobysxLHMpLGRbMV0udGVzdChsKSl7bCYmKG89cyk7YnJlYWt9bz1zfXJldHVybiBEPXIuc2xpY2UoMCxvKSxlKEQpKHt0eXBlOlwiaHRtbFwiLHZhbHVlOkR9KX19fX0pO3ZhciBvZT1DKChkRSx1byk9PntcInVzZSBzdHJpY3RcIjt1by5leHBvcnRzPVJoO3ZhciBJaD1TdHJpbmcuZnJvbUNoYXJDb2RlLE5oPS9cXHMvO2Z1bmN0aW9uIFJoKGUpe3JldHVybiBOaC50ZXN0KHR5cGVvZiBlPT1cIm51bWJlclwiP0loKGUpOmUuY2hhckF0KDApKX19KTt2YXIgbm49QygobUUsYW8pPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIFVoPWtyKCk7YW8uZXhwb3J0cz1NaDtmdW5jdGlvbiBNaChlKXtyZXR1cm4gVWgoZSkudG9Mb3dlckNhc2UoKX19KTt2YXIgcG89QygoRkUsRG8pPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIHpoPW9lKCksWWg9bm4oKTtEby5leHBvcnRzPSRoO3ZhciBvbz0nXCInLHNvPVwiJ1wiLEdoPVwiXFxcXFwiLFFlPWBcbmAsWnI9XCJcdFwiLGV0PVwiIFwiLGFuPVwiW1wiLEVyPVwiXVwiLFZoPVwiKFwiLGpoPVwiKVwiLGNvPVwiOlwiLGxvPVwiPFwiLGZvPVwiPlwiO2Z1bmN0aW9uICRoKGUscix0KXtmb3IodmFyIG49dGhpcyxhPW4ub3B0aW9ucy5jb21tb25tYXJrLHU9MCxpPXIubGVuZ3RoLG89XCJcIixzLGwsYyxmLHAsZCxELGg7dTxpJiYoZj1yLmNoYXJBdCh1KSwhKGYhPT1ldCYmZiE9PVpyKSk7KW8rPWYsdSsrO2lmKGY9ci5jaGFyQXQodSksZj09PWFuKXtmb3IodSsrLG8rPWYsYz1cIlwiO3U8aSYmKGY9ci5jaGFyQXQodSksZiE9PUVyKTspZj09PUdoJiYoYys9Zix1KyssZj1yLmNoYXJBdCh1KSksYys9Zix1Kys7aWYoISghY3x8ci5jaGFyQXQodSkhPT1Fcnx8ci5jaGFyQXQodSsxKSE9PWNvKSl7Zm9yKGQ9YyxvKz1jK0VyK2NvLHU9by5sZW5ndGgsYz1cIlwiO3U8aSYmKGY9ci5jaGFyQXQodSksIShmIT09WnImJmYhPT1ldCYmZiE9PVFlKSk7KW8rPWYsdSsrO2lmKGY9ci5jaGFyQXQodSksYz1cIlwiLHM9byxmPT09bG8pe2Zvcih1Kys7dTxpJiYoZj1yLmNoYXJBdCh1KSwhIXVuKGYpKTspYys9Zix1Kys7aWYoZj1yLmNoYXJBdCh1KSxmPT09dW4uZGVsaW1pdGVyKW8rPWxvK2MrZix1Kys7ZWxzZXtpZihhKXJldHVybjt1LT1jLmxlbmd0aCsxLGM9XCJcIn19aWYoIWMpe2Zvcig7dTxpJiYoZj1yLmNoYXJBdCh1KSwhIVdoKGYpKTspYys9Zix1Kys7bys9Y31pZihjKXtmb3IoRD1jLGM9XCJcIjt1PGkmJihmPXIuY2hhckF0KHUpLCEoZiE9PVpyJiZmIT09ZXQmJmYhPT1RZSkpOyljKz1mLHUrKztpZihmPXIuY2hhckF0KHUpLHA9bnVsbCxmPT09b28/cD1vbzpmPT09c28/cD1zbzpmPT09VmgmJihwPWpoKSwhcCljPVwiXCIsdT1vLmxlbmd0aDtlbHNlIGlmKGMpe2ZvcihvKz1jK2YsdT1vLmxlbmd0aCxjPVwiXCI7dTxpJiYoZj1yLmNoYXJBdCh1KSxmIT09cCk7KXtpZihmPT09UWUpe2lmKHUrKyxmPXIuY2hhckF0KHUpLGY9PT1RZXx8Zj09PXApcmV0dXJuO2MrPVFlfWMrPWYsdSsrfWlmKGY9ci5jaGFyQXQodSksZiE9PXApcmV0dXJuO2w9byxvKz1jK2YsdSsrLGg9YyxjPVwiXCJ9ZWxzZSByZXR1cm47Zm9yKDt1PGkmJihmPXIuY2hhckF0KHUpLCEoZiE9PVpyJiZmIT09ZXQpKTspbys9Zix1Kys7aWYoZj1yLmNoYXJBdCh1KSwhZnx8Zj09PVFlKXJldHVybiB0PyEwOihzPWUocykudGVzdCgpLmVuZCxEPW4uZGVjb2RlLnJhdyhuLnVuZXNjYXBlKEQpLHMse25vblRlcm1pbmF0ZWQ6ITF9KSxoJiYobD1lKGwpLnRlc3QoKS5lbmQsaD1uLmRlY29kZS5yYXcobi51bmVzY2FwZShoKSxsKSksZShvKSh7dHlwZTpcImRlZmluaXRpb25cIixpZGVudGlmaWVyOlloKGQpLGxhYmVsOmQsdGl0bGU6aHx8bnVsbCx1cmw6RH0pKX19fX1mdW5jdGlvbiB1bihlKXtyZXR1cm4gZSE9PWZvJiZlIT09YW4mJmUhPT1Fcn11bi5kZWxpbWl0ZXI9Zm87ZnVuY3Rpb24gV2goZSl7cmV0dXJuIGUhPT1hbiYmZSE9PUVyJiYhemgoZSl9fSk7dmFyIEZvPUMoKGdFLG1vKT0+e1widXNlIHN0cmljdFwiO3ZhciBIaD1vZSgpO21vLmV4cG9ydHM9aWQ7dmFyIEtoPVwiXHRcIixydD1gXG5gLEpoPVwiIFwiLFhoPVwiLVwiLFFoPVwiOlwiLFpoPVwiXFxcXFwiLG9uPVwifFwiLGVkPTEscmQ9Mixobz1cImxlZnRcIix0ZD1cImNlbnRlclwiLG5kPVwicmlnaHRcIjtmdW5jdGlvbiBpZChlLHIsdCl7dmFyIG49dGhpcyxhLHUsaSxvLHMsbCxjLGYscCxkLEQsaCxtLEYseSxFLEIsYixnLEEseCx2O2lmKG4ub3B0aW9ucy5nZm0pe2ZvcihhPTAsRT0wLGw9ci5sZW5ndGgrMSxjPVtdO2E8bDspe2lmKEE9ci5pbmRleE9mKHJ0LGEpLHg9ci5pbmRleE9mKG9uLGErMSksQT09PS0xJiYoQT1yLmxlbmd0aCkseD09PS0xfHx4PkEpe2lmKEU8cmQpcmV0dXJuO2JyZWFrfWMucHVzaChyLnNsaWNlKGEsQSkpLEUrKyxhPUErMX1mb3Iobz1jLmpvaW4ocnQpLHU9Yy5zcGxpY2UoMSwxKVswXXx8W10sYT0wLGw9dS5sZW5ndGgsRS0tLGk9ITEsRD1bXTthPGw7KXtpZihwPXUuY2hhckF0KGEpLHA9PT1vbil7aWYoZD1udWxsLGk9PT0hMSl7aWYodj09PSExKXJldHVybn1lbHNlIEQucHVzaChpKSxpPSExO3Y9ITF9ZWxzZSBpZihwPT09WGgpZD0hMCxpPWl8fG51bGw7ZWxzZSBpZihwPT09UWgpaT09PWhvP2k9dGQ6ZCYmaT09PW51bGw/aT1uZDppPWhvO2Vsc2UgaWYoIUhoKHApKXJldHVybjthKyt9aWYoaSE9PSExJiZELnB1c2goaSksIShELmxlbmd0aDxlZCkpe2lmKHQpcmV0dXJuITA7Zm9yKHk9LTEsYj1bXSxnPWUobykucmVzZXQoe3R5cGU6XCJ0YWJsZVwiLGFsaWduOkQsY2hpbGRyZW46Yn0pOysreTxFOyl7Zm9yKEI9Y1t5XSxzPXt0eXBlOlwidGFibGVSb3dcIixjaGlsZHJlbjpbXX0seSYmZShydCksZShCKS5yZXNldChzLGcpLGw9Qi5sZW5ndGgrMSxhPTAsZj1cIlwiLGg9XCJcIixtPSEwO2E8bDspe2lmKHA9Qi5jaGFyQXQoYSkscD09PUtofHxwPT09Smgpe2g/Zis9cDplKHApLGErKztjb250aW51ZX1wPT09XCJcInx8cD09PW9uP20/ZShwKTooKGh8fHApJiYhbSYmKG89aCxmLmxlbmd0aD4xJiYocD8obys9Zi5zbGljZSgwLC0xKSxmPWYuY2hhckF0KGYubGVuZ3RoLTEpKToobys9ZixmPVwiXCIpKSxGPWUubm93KCksZShvKSh7dHlwZTpcInRhYmxlQ2VsbFwiLGNoaWxkcmVuOm4udG9rZW5pemVJbmxpbmUoaCxGKX0scykpLGUoZitwKSxmPVwiXCIsaD1cIlwiKTooZiYmKGgrPWYsZj1cIlwiKSxoKz1wLHA9PT1aaCYmYSE9PWwtMiYmKGgrPUIuY2hhckF0KGErMSksYSsrKSksbT0hMSxhKyt9eXx8ZShydCt1KX1yZXR1cm4gZ319fX0pO3ZhciBFbz1DKCh2RSx2byk9PntcInVzZSBzdHJpY3RcIjt2YXIgdWQ9UmUoKSxhZD0kdCgpLG9kPVhyKCk7dm8uZXhwb3J0cz1sZDt2YXIgc2Q9XCJcdFwiLENyPWBcbmAsY2Q9XCIgXCIsZ289NDtmdW5jdGlvbiBsZChlLHIsdCl7Zm9yKHZhciBuPXRoaXMsYT1uLm9wdGlvbnMsdT1hLmNvbW1vbm1hcmssaT1uLmJsb2NrVG9rZW5pemVycyxvPW4uaW50ZXJydXB0UGFyYWdyYXBoLHM9ci5pbmRleE9mKENyKSxsPXIubGVuZ3RoLGMsZixwLGQsRDtzPGw7KXtpZihzPT09LTEpe3M9bDticmVha31pZihyLmNoYXJBdChzKzEpPT09Q3IpYnJlYWs7aWYodSl7Zm9yKGQ9MCxjPXMrMTtjPGw7KXtpZihwPXIuY2hhckF0KGMpLHA9PT1zZCl7ZD1nbzticmVha31lbHNlIGlmKHA9PT1jZClkKys7ZWxzZSBicmVhaztjKyt9aWYoZD49Z28mJnAhPT1Dcil7cz1yLmluZGV4T2YoQ3IscysxKTtjb250aW51ZX19aWYoZj1yLnNsaWNlKHMrMSksb2QobyxpLG4sW2UsZiwhMF0pKWJyZWFrO2lmKGM9cyxzPXIuaW5kZXhPZihDcixzKzEpLHMhPT0tMSYmdWQoci5zbGljZShjLHMpKT09PVwiXCIpe3M9YzticmVha319cmV0dXJuIGY9ci5zbGljZSgwLHMpLHQ/ITA6KEQ9ZS5ub3coKSxmPWFkKGYpLGUoZikoe3R5cGU6XCJwYXJhZ3JhcGhcIixjaGlsZHJlbjpuLnRva2VuaXplSW5saW5lKGYsRCl9KSl9fSk7dmFyIGJvPUMoKEVFLENvKT0+e1widXNlIHN0cmljdFwiO0NvLmV4cG9ydHM9ZmQ7ZnVuY3Rpb24gZmQoZSxyKXtyZXR1cm4gZS5pbmRleE9mKFwiXFxcXFwiLHIpfX0pO3ZhciB3bz1DKChDRSx4byk9PntcInVzZSBzdHJpY3RcIjt2YXIgRGQ9Ym8oKTt4by5leHBvcnRzPUFvO0FvLmxvY2F0b3I9RGQ7dmFyIHBkPWBcbmAseW89XCJcXFxcXCI7ZnVuY3Rpb24gQW8oZSxyLHQpe3ZhciBuPXRoaXMsYSx1O2lmKHIuY2hhckF0KDApPT09eW8mJihhPXIuY2hhckF0KDEpLG4uZXNjYXBlLmluZGV4T2YoYSkhPT0tMSkpcmV0dXJuIHQ/ITA6KGE9PT1wZD91PXt0eXBlOlwiYnJlYWtcIn06dT17dHlwZTpcInRleHRcIix2YWx1ZTphfSxlKHlvK2EpKHUpKX19KTt2YXIgc249QygoYkUsa28pPT57XCJ1c2Ugc3RyaWN0XCI7a28uZXhwb3J0cz1oZDtmdW5jdGlvbiBoZChlLHIpe3JldHVybiBlLmluZGV4T2YoXCI8XCIscil9fSk7dmFyIFNvPUMoKHlFLF9vKT0+e1widXNlIHN0cmljdFwiO3ZhciBCbz1vZSgpLGRkPWRyKCksbWQ9c24oKTtfby5leHBvcnRzPURuO0RuLmxvY2F0b3I9bWQ7RG4ubm90SW5MaW5rPSEwO3ZhciBUbz1cIjxcIixjbj1cIj5cIixxbz1cIkBcIixsbj1cIi9cIixmbj1cIm1haWx0bzpcIix0dD1mbi5sZW5ndGg7ZnVuY3Rpb24gRG4oZSxyLHQpe3ZhciBuPXRoaXMsYT1cIlwiLHU9ci5sZW5ndGgsaT0wLG89XCJcIixzPSExLGw9XCJcIixjLGYscCxkLEQ7aWYoci5jaGFyQXQoMCk9PT1Ubyl7Zm9yKGkrKyxhPVRvO2k8dSYmKGM9ci5jaGFyQXQoaSksIShCbyhjKXx8Yz09PWNufHxjPT09cW98fGM9PT1cIjpcIiYmci5jaGFyQXQoaSsxKT09PWxuKSk7KW8rPWMsaSsrO2lmKG8pe2lmKGwrPW8sbz1cIlwiLGM9ci5jaGFyQXQoaSksbCs9YyxpKyssYz09PXFvKXM9ITA7ZWxzZXtpZihjIT09XCI6XCJ8fHIuY2hhckF0KGkrMSkhPT1sbilyZXR1cm47bCs9bG4saSsrfWZvcig7aTx1JiYoYz1yLmNoYXJBdChpKSwhKEJvKGMpfHxjPT09Y24pKTspbys9YyxpKys7aWYoYz1yLmNoYXJBdChpKSwhKCFvfHxjIT09Y24pKXJldHVybiB0PyEwOihsKz1vLHA9bCxhKz1sK2MsZj1lLm5vdygpLGYuY29sdW1uKyssZi5vZmZzZXQrKyxzJiYobC5zbGljZSgwLHR0KS50b0xvd2VyQ2FzZSgpPT09Zm4/KHA9cC5zbGljZSh0dCksZi5jb2x1bW4rPXR0LGYub2Zmc2V0Kz10dCk6bD1mbitsKSxkPW4uaW5saW5lVG9rZW5pemVycyxuLmlubGluZVRva2VuaXplcnM9e3RleHQ6ZC50ZXh0fSxEPW4uZW50ZXJMaW5rKCkscD1uLnRva2VuaXplSW5saW5lKHAsZiksbi5pbmxpbmVUb2tlbml6ZXJzPWQsRCgpLGUoYSkoe3R5cGU6XCJsaW5rXCIsdGl0bGU6bnVsbCx1cmw6ZGQobCx7bm9uVGVybWluYXRlZDohMX0pLGNoaWxkcmVuOnB9KSl9fX19KTt2YXIgTG89QygoQUUsT28pPT57XCJ1c2Ugc3RyaWN0XCI7T28uZXhwb3J0cz1GZDtmdW5jdGlvbiBGZChlLHIpe3ZhciB0PVN0cmluZyhlKSxuPTAsYTtpZih0eXBlb2YgciE9XCJzdHJpbmdcIil0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBjaGFyYWN0ZXJcIik7Zm9yKGE9dC5pbmRleE9mKHIpO2EhPT0tMTspbisrLGE9dC5pbmRleE9mKHIsYStyLmxlbmd0aCk7cmV0dXJuIG59fSk7dmFyIE5vPUMoKHhFLElvKT0+e1widXNlIHN0cmljdFwiO0lvLmV4cG9ydHM9Z2Q7dmFyIFBvPVtcInd3dy5cIixcImh0dHA6Ly9cIixcImh0dHBzOi8vXCJdO2Z1bmN0aW9uIGdkKGUscil7dmFyIHQ9LTEsbixhLHU7aWYoIXRoaXMub3B0aW9ucy5nZm0pcmV0dXJuIHQ7Zm9yKGE9UG8ubGVuZ3RoLG49LTE7KytuPGE7KXU9ZS5pbmRleE9mKFBvW25dLHIpLHUhPT0tMSYmKHQ9PT0tMXx8dTx0KSYmKHQ9dSk7cmV0dXJuIHR9fSk7dmFyIFlvPUMoKHdFLHpvKT0+e1widXNlIHN0cmljdFwiO3ZhciBSbz1MbygpLHZkPWRyKCksRWQ9TmUoKSxwbj1XZSgpLENkPW9lKCksYmQ9Tm8oKTt6by5leHBvcnRzPWRuO2RuLmxvY2F0b3I9YmQ7ZG4ubm90SW5MaW5rPSEwO3ZhciB5ZD0zMyxBZD0zOCx4ZD00MSx3ZD00MixrZD00NCxCZD00NSxobj00NixUZD01OCxxZD01OSxfZD02MyxTZD02MCxVbz05NSxPZD0xMjYsTGQ9XCIoXCIsTW89XCIpXCI7ZnVuY3Rpb24gZG4oZSxyLHQpe3ZhciBuPXRoaXMsYT1uLm9wdGlvbnMuZ2ZtLHU9bi5pbmxpbmVUb2tlbml6ZXJzLGk9ci5sZW5ndGgsbz0tMSxzPSExLGwsYyxmLHAsZCxELGgsbSxGLHksRSxCLGIsZztpZihhKXtpZihyLnNsaWNlKDAsNCk9PT1cInd3dy5cIilzPSEwLHA9NDtlbHNlIGlmKHIuc2xpY2UoMCw3KS50b0xvd2VyQ2FzZSgpPT09XCJodHRwOi8vXCIpcD03O2Vsc2UgaWYoci5zbGljZSgwLDgpLnRvTG93ZXJDYXNlKCk9PT1cImh0dHBzOi8vXCIpcD04O2Vsc2UgcmV0dXJuO2ZvcihvPXAtMSxmPXAsbD1bXTtwPGk7KXtpZihoPXIuY2hhckNvZGVBdChwKSxoPT09aG4pe2lmKG89PT1wLTEpYnJlYWs7bC5wdXNoKHApLG89cCxwKys7Y29udGludWV9aWYoRWQoaCl8fHBuKGgpfHxoPT09QmR8fGg9PT1Vbyl7cCsrO2NvbnRpbnVlfWJyZWFrfWlmKGg9PT1obiYmKGwucG9wKCkscC0tKSxsWzBdIT09dm9pZCAwJiYoYz1sLmxlbmd0aDwyP2Y6bFtsLmxlbmd0aC0yXSsxLHIuc2xpY2UoYyxwKS5pbmRleE9mKFwiX1wiKT09PS0xKSl7aWYodClyZXR1cm4hMDtmb3IobT1wLGQ9cDtwPGkmJihoPXIuY2hhckNvZGVBdChwKSwhKENkKGgpfHxoPT09U2QpKTspcCsrLGg9PT15ZHx8aD09PXdkfHxoPT09a2R8fGg9PT1obnx8aD09PVRkfHxoPT09X2R8fGg9PT1Vb3x8aD09PU9kfHwobT1wKTtpZihwPW0sci5jaGFyQ29kZUF0KHAtMSk9PT14ZClmb3IoRD1yLnNsaWNlKGQscCksRj1SbyhELExkKSx5PVJvKEQsTW8pO3k+RjspcD1kK0QubGFzdEluZGV4T2YoTW8pLEQ9ci5zbGljZShkLHApLHktLTtpZihyLmNoYXJDb2RlQXQocC0xKT09PXFkJiYocC0tLHBuKHIuY2hhckNvZGVBdChwLTEpKSkpe2ZvcihtPXAtMjtwbihyLmNoYXJDb2RlQXQobSkpOyltLS07ci5jaGFyQ29kZUF0KG0pPT09QWQmJihwPW0pfXJldHVybiBFPXIuc2xpY2UoMCxwKSxiPXZkKEUse25vblRlcm1pbmF0ZWQ6ITF9KSxzJiYoYj1cImh0dHA6Ly9cIitiKSxnPW4uZW50ZXJMaW5rKCksbi5pbmxpbmVUb2tlbml6ZXJzPXt0ZXh0OnUudGV4dH0sQj1uLnRva2VuaXplSW5saW5lKEUsZS5ub3coKSksbi5pbmxpbmVUb2tlbml6ZXJzPXUsZygpLGUoRSkoe3R5cGU6XCJsaW5rXCIsdGl0bGU6bnVsbCx1cmw6YixjaGlsZHJlbjpCfSl9fX19KTt2YXIgJG89Qygoa0Usam8pPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIFBkPU5lKCksSWQ9V2UoKSxOZD00MyxSZD00NSxVZD00NixNZD05NTtqby5leHBvcnRzPVZvO2Z1bmN0aW9uIFZvKGUscil7dmFyIHQ9dGhpcyxuLGE7aWYoIXRoaXMub3B0aW9ucy5nZm18fChuPWUuaW5kZXhPZihcIkBcIixyKSxuPT09LTEpKXJldHVybi0xO2lmKGE9bixhPT09cnx8IUdvKGUuY2hhckNvZGVBdChhLTEpKSlyZXR1cm4gVm8uY2FsbCh0LGUsbisxKTtmb3IoO2E+ciYmR28oZS5jaGFyQ29kZUF0KGEtMSkpOylhLS07cmV0dXJuIGF9ZnVuY3Rpb24gR28oZSl7cmV0dXJuIFBkKGUpfHxJZChlKXx8ZT09PU5kfHxlPT09UmR8fGU9PT1VZHx8ZT09PU1kfX0pO3ZhciBKbz1DKChCRSxLbyk9PntcInVzZSBzdHJpY3RcIjt2YXIgemQ9ZHIoKSxXbz1OZSgpLEhvPVdlKCksWWQ9JG8oKTtLby5leHBvcnRzPWduO2duLmxvY2F0b3I9WWQ7Z24ubm90SW5MaW5rPSEwO3ZhciBHZD00Myxtbj00NSxudD00NixWZD02NCxGbj05NTtmdW5jdGlvbiBnbihlLHIsdCl7dmFyIG49dGhpcyxhPW4ub3B0aW9ucy5nZm0sdT1uLmlubGluZVRva2VuaXplcnMsaT0wLG89ci5sZW5ndGgscz0tMSxsLGMsZixwO2lmKGEpe2ZvcihsPXIuY2hhckNvZGVBdChpKTtXbyhsKXx8SG8obCl8fGw9PT1HZHx8bD09PW1ufHxsPT09bnR8fGw9PT1GbjspbD1yLmNoYXJDb2RlQXQoKytpKTtpZihpIT09MCYmbD09PVZkKXtmb3IoaSsrO2k8bzspe2lmKGw9ci5jaGFyQ29kZUF0KGkpLFdvKGwpfHxIbyhsKXx8bD09PW1ufHxsPT09bnR8fGw9PT1Gbil7aSsrLHM9PT0tMSYmbD09PW50JiYocz1pKTtjb250aW51ZX1icmVha31pZighKHM9PT0tMXx8cz09PWl8fGw9PT1tbnx8bD09PUZuKSlyZXR1cm4gbD09PW50JiZpLS0sYz1yLnNsaWNlKDAsaSksdD8hMDoocD1uLmVudGVyTGluaygpLG4uaW5saW5lVG9rZW5pemVycz17dGV4dDp1LnRleHR9LGY9bi50b2tlbml6ZUlubGluZShjLGUubm93KCkpLG4uaW5saW5lVG9rZW5pemVycz11LHAoKSxlKGMpKHt0eXBlOlwibGlua1wiLHRpdGxlOm51bGwsdXJsOlwibWFpbHRvOlwiK3pkKGMse25vblRlcm1pbmF0ZWQ6ITF9KSxjaGlsZHJlbjpmfSkpfX19fSk7dmFyIFpvPUMoKFRFLFFvKT0+e1widXNlIHN0cmljdFwiO3ZhciBqZD1XZSgpLCRkPXNuKCksV2Q9dG4oKS50YWc7UW8uZXhwb3J0cz1YbztYby5sb2NhdG9yPSRkO3ZhciBIZD1cIjxcIixLZD1cIj9cIixKZD1cIiFcIixYZD1cIi9cIixRZD0vXjxhIC9pLFpkPS9ePFxcL2E+L2k7ZnVuY3Rpb24gWG8oZSxyLHQpe3ZhciBuPXRoaXMsYT1yLmxlbmd0aCx1LGk7aWYoIShyLmNoYXJBdCgwKSE9PUhkfHxhPDMpJiYodT1yLmNoYXJBdCgxKSwhKCFqZCh1KSYmdSE9PUtkJiZ1IT09SmQmJnUhPT1YZCkmJihpPXIubWF0Y2goV2QpLCEhaSkpKXJldHVybiB0PyEwOihpPWlbMF0sIW4uaW5MaW5rJiZRZC50ZXN0KGkpP24uaW5MaW5rPSEwOm4uaW5MaW5rJiZaZC50ZXN0KGkpJiYobi5pbkxpbms9ITEpLGUoaSkoe3R5cGU6XCJodG1sXCIsdmFsdWU6aX0pKX19KTt2YXIgdm49QygocUUsZXMpPT57XCJ1c2Ugc3RyaWN0XCI7ZXMuZXhwb3J0cz1lMDtmdW5jdGlvbiBlMChlLHIpe3ZhciB0PWUuaW5kZXhPZihcIltcIixyKSxuPWUuaW5kZXhPZihcIiFbXCIscik7cmV0dXJuIG49PT0tMXx8dDxuP3Q6bn19KTt2YXIgb3M9QygoX0UsYXMpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGJyPW9lKCkscjA9dm4oKTthcy5leHBvcnRzPXVzO3VzLmxvY2F0b3I9cjA7dmFyIHQwPWBcbmAsbjA9XCIhXCIscnM9J1wiJyx0cz1cIidcIixaZT1cIihcIix5cj1cIilcIixFbj1cIjxcIixDbj1cIj5cIixucz1cIltcIixBcj1cIlxcXFxcIixpMD1cIl1cIixpcz1cImBcIjtmdW5jdGlvbiB1cyhlLHIsdCl7dmFyIG49dGhpcyxhPVwiXCIsdT0wLGk9ci5jaGFyQXQoMCksbz1uLm9wdGlvbnMucGVkYW50aWMscz1uLm9wdGlvbnMuY29tbW9ubWFyayxsPW4ub3B0aW9ucy5nZm0sYyxmLHAsZCxELGgsbSxGLHksRSxCLGIsZyxBLHgsdix3LGs7aWYoaT09PW4wJiYoRj0hMCxhPWksaT1yLmNoYXJBdCgrK3UpKSxpPT09bnMmJiEoIUYmJm4uaW5MaW5rKSl7Zm9yKGErPWksQT1cIlwiLHUrKyxCPXIubGVuZ3RoLHY9ZS5ub3coKSxnPTAsdi5jb2x1bW4rPXUsdi5vZmZzZXQrPXU7dTxCOyl7aWYoaT1yLmNoYXJBdCh1KSxoPWksaT09PWlzKXtmb3IoZj0xO3IuY2hhckF0KHUrMSk9PT1pczspaCs9aSx1KyssZisrO3A/Zj49cCYmKHA9MCk6cD1mfWVsc2UgaWYoaT09PUFyKXUrKyxoKz1yLmNoYXJBdCh1KTtlbHNlIGlmKCghcHx8bCkmJmk9PT1ucylnKys7ZWxzZSBpZigoIXB8fGwpJiZpPT09aTApaWYoZylnLS07ZWxzZXtpZihyLmNoYXJBdCh1KzEpIT09WmUpcmV0dXJuO2grPVplLGM9ITAsdSsrO2JyZWFrfUErPWgsaD1cIlwiLHUrK31pZihjKXtmb3IoeT1BLGErPUEraCx1Kys7dTxCJiYoaT1yLmNoYXJBdCh1KSwhIWJyKGkpKTspYSs9aSx1Kys7aWYoaT1yLmNoYXJBdCh1KSxBPVwiXCIsZD1hLGk9PT1Fbil7Zm9yKHUrKyxkKz1Fbjt1PEImJihpPXIuY2hhckF0KHUpLGkhPT1Dbik7KXtpZihzJiZpPT09dDApcmV0dXJuO0ErPWksdSsrfWlmKHIuY2hhckF0KHUpIT09Q24pcmV0dXJuO2ErPUVuK0ErQ24seD1BLHUrK31lbHNle2ZvcihpPW51bGwsaD1cIlwiO3U8QiYmKGk9ci5jaGFyQXQodSksIShoJiYoaT09PXJzfHxpPT09dHN8fHMmJmk9PT1aZSkpKTspe2lmKGJyKGkpKXtpZighbylicmVhaztoKz1pfWVsc2V7aWYoaT09PVplKWcrKztlbHNlIGlmKGk9PT15cil7aWYoZz09PTApYnJlYWs7Zy0tfUErPWgsaD1cIlwiLGk9PT1BciYmKEErPUFyLGk9ci5jaGFyQXQoKyt1KSksQSs9aX11Kyt9YSs9QSx4PUEsdT1hLmxlbmd0aH1mb3IoQT1cIlwiO3U8QiYmKGk9ci5jaGFyQXQodSksISFicihpKSk7KUErPWksdSsrO2lmKGk9ci5jaGFyQXQodSksYSs9QSxBJiYoaT09PXJzfHxpPT09dHN8fHMmJmk9PT1aZSkpaWYodSsrLGErPWksQT1cIlwiLEU9aT09PVplP3lyOmksRD1hLHMpe2Zvcig7dTxCJiYoaT1yLmNoYXJBdCh1KSxpIT09RSk7KWk9PT1BciYmKEErPUFyLGk9ci5jaGFyQXQoKyt1KSksdSsrLEErPWk7aWYoaT1yLmNoYXJBdCh1KSxpIT09RSlyZXR1cm47Zm9yKGI9QSxhKz1BK2ksdSsrO3U8QiYmKGk9ci5jaGFyQXQodSksISFicihpKSk7KWErPWksdSsrfWVsc2UgZm9yKGg9XCJcIjt1PEI7KXtpZihpPXIuY2hhckF0KHUpLGk9PT1FKW0mJihBKz1FK2gsaD1cIlwiKSxtPSEwO2Vsc2UgaWYoIW0pQSs9aTtlbHNlIGlmKGk9PT15cil7YSs9QStFK2gsYj1BO2JyZWFrfWVsc2UgYnIoaSk/aCs9aTooQSs9RStoK2ksaD1cIlwiLG09ITEpO3UrK31pZihyLmNoYXJBdCh1KT09PXlyKXJldHVybiB0PyEwOihhKz15cix4PW4uZGVjb2RlLnJhdyhuLnVuZXNjYXBlKHgpLGUoZCkudGVzdCgpLmVuZCx7bm9uVGVybWluYXRlZDohMX0pLGImJihEPWUoRCkudGVzdCgpLmVuZCxiPW4uZGVjb2RlLnJhdyhuLnVuZXNjYXBlKGIpLEQpKSxrPXt0eXBlOkY/XCJpbWFnZVwiOlwibGlua1wiLHRpdGxlOmJ8fG51bGwsdXJsOnh9LEY/ay5hbHQ9bi5kZWNvZGUucmF3KG4udW5lc2NhcGUoeSksdil8fG51bGw6KHc9bi5lbnRlckxpbmsoKSxrLmNoaWxkcmVuPW4udG9rZW5pemVJbmxpbmUoeSx2KSx3KCkpLGUoYSkoaykpfX19fSk7dmFyIGxzPUMoKFNFLGNzKT0+e1widXNlIHN0cmljdFwiO3ZhciB1MD1vZSgpLGEwPXZuKCksbzA9bm4oKTtjcy5leHBvcnRzPXNzO3NzLmxvY2F0b3I9YTA7dmFyIGJuPVwibGlua1wiLHMwPVwiaW1hZ2VcIixjMD1cInNob3J0Y3V0XCIsbDA9XCJjb2xsYXBzZWRcIix5bj1cImZ1bGxcIixmMD1cIiFcIixpdD1cIltcIix1dD1cIlxcXFxcIixhdD1cIl1cIjtmdW5jdGlvbiBzcyhlLHIsdCl7dmFyIG49dGhpcyxhPW4ub3B0aW9ucy5jb21tb25tYXJrLHU9ci5jaGFyQXQoMCksaT0wLG89ci5sZW5ndGgscz1cIlwiLGw9XCJcIixjPWJuLGY9YzAscCxkLEQsaCxtLEYseSxFO2lmKHU9PT1mMCYmKGM9czAsbD11LHU9ci5jaGFyQXQoKytpKSksdT09PWl0KXtmb3IoaSsrLGwrPXUsRj1cIlwiLEU9MDtpPG87KXtpZih1PXIuY2hhckF0KGkpLHU9PT1pdCl5PSEwLEUrKztlbHNlIGlmKHU9PT1hdCl7aWYoIUUpYnJlYWs7RS0tfXU9PT11dCYmKEYrPXV0LHU9ci5jaGFyQXQoKytpKSksRis9dSxpKyt9aWYocz1GLHA9Rix1PXIuY2hhckF0KGkpLHU9PT1hdCl7aWYoaSsrLHMrPXUsRj1cIlwiLCFhKWZvcig7aTxvJiYodT1yLmNoYXJBdChpKSwhIXUwKHUpKTspRis9dSxpKys7aWYodT1yLmNoYXJBdChpKSx1PT09aXQpe2ZvcihkPVwiXCIsRis9dSxpKys7aTxvJiYodT1yLmNoYXJBdChpKSwhKHU9PT1pdHx8dT09PWF0KSk7KXU9PT11dCYmKGQrPXV0LHU9ci5jaGFyQXQoKytpKSksZCs9dSxpKys7dT1yLmNoYXJBdChpKSx1PT09YXQ/KGY9ZD95bjpsMCxGKz1kK3UsaSsrKTpkPVwiXCIscys9RixGPVwiXCJ9ZWxzZXtpZighcClyZXR1cm47ZD1wfWlmKCEoZiE9PXluJiZ5KSlyZXR1cm4gcz1sK3MsYz09PWJuJiZuLmluTGluaz9udWxsOnQ/ITA6KEQ9ZS5ub3coKSxELmNvbHVtbis9bC5sZW5ndGgsRC5vZmZzZXQrPWwubGVuZ3RoLGQ9Zj09PXluP2Q6cCxoPXt0eXBlOmMrXCJSZWZlcmVuY2VcIixpZGVudGlmaWVyOm8wKGQpLGxhYmVsOmQscmVmZXJlbmNlVHlwZTpmfSxjPT09Ym4/KG09bi5lbnRlckxpbmsoKSxoLmNoaWxkcmVuPW4udG9rZW5pemVJbmxpbmUocCxEKSxtKCkpOmguYWx0PW4uZGVjb2RlLnJhdyhuLnVuZXNjYXBlKHApLEQpfHxudWxsLGUocykoaCkpfX19fSk7dmFyIERzPUMoKE9FLGZzKT0+e1widXNlIHN0cmljdFwiO2ZzLmV4cG9ydHM9RDA7ZnVuY3Rpb24gRDAoZSxyKXt2YXIgdD1lLmluZGV4T2YoXCIqKlwiLHIpLG49ZS5pbmRleE9mKFwiX19cIixyKTtyZXR1cm4gbj09PS0xP3Q6dD09PS0xfHxuPHQ/bjp0fX0pO3ZhciBtcz1DKChMRSxkcyk9PntcInVzZSBzdHJpY3RcIjt2YXIgcDA9UmUoKSxwcz1vZSgpLGgwPURzKCk7ZHMuZXhwb3J0cz1ocztocy5sb2NhdG9yPWgwO3ZhciBkMD1cIlxcXFxcIixtMD1cIipcIixGMD1cIl9cIjtmdW5jdGlvbiBocyhlLHIsdCl7dmFyIG49dGhpcyxhPTAsdT1yLmNoYXJBdChhKSxpLG8scyxsLGMsZixwO2lmKCEodSE9PW0wJiZ1IT09RjB8fHIuY2hhckF0KCsrYSkhPT11KSYmKG89bi5vcHRpb25zLnBlZGFudGljLHM9dSxjPXMrcyxmPXIubGVuZ3RoLGErKyxsPVwiXCIsdT1cIlwiLCEobyYmcHMoci5jaGFyQXQoYSkpKSkpZm9yKDthPGY7KXtpZihwPXUsdT1yLmNoYXJBdChhKSx1PT09cyYmci5jaGFyQXQoYSsxKT09PXMmJighb3x8IXBzKHApKSYmKHU9ci5jaGFyQXQoYSsyKSx1IT09cykpcmV0dXJuIHAwKGwpP3Q/ITA6KGk9ZS5ub3coKSxpLmNvbHVtbis9MixpLm9mZnNldCs9MixlKGMrbCtjKSh7dHlwZTpcInN0cm9uZ1wiLGNoaWxkcmVuOm4udG9rZW5pemVJbmxpbmUobCxpKX0pKTp2b2lkIDA7IW8mJnU9PT1kMCYmKGwrPXUsdT1yLmNoYXJBdCgrK2EpKSxsKz11LGErK319fSk7dmFyIGdzPUMoKFBFLEZzKT0+e1widXNlIHN0cmljdFwiO0ZzLmV4cG9ydHM9RTA7dmFyIGcwPVN0cmluZy5mcm9tQ2hhckNvZGUsdjA9L1xcdy87ZnVuY3Rpb24gRTAoZSl7cmV0dXJuIHYwLnRlc3QodHlwZW9mIGU9PVwibnVtYmVyXCI/ZzAoZSk6ZS5jaGFyQXQoMCkpfX0pO3ZhciBFcz1DKChJRSx2cyk9PntcInVzZSBzdHJpY3RcIjt2cy5leHBvcnRzPUMwO2Z1bmN0aW9uIEMwKGUscil7dmFyIHQ9ZS5pbmRleE9mKFwiKlwiLHIpLG49ZS5pbmRleE9mKFwiX1wiLHIpO3JldHVybiBuPT09LTE/dDp0PT09LTF8fG48dD9uOnR9fSk7dmFyIHhzPUMoKE5FLEFzKT0+e1widXNlIHN0cmljdFwiO3ZhciBiMD1SZSgpLHkwPWdzKCksQ3M9b2UoKSxBMD1FcygpO0FzLmV4cG9ydHM9eXM7eXMubG9jYXRvcj1BMDt2YXIgeDA9XCIqXCIsYnM9XCJfXCIsdzA9XCJcXFxcXCI7ZnVuY3Rpb24geXMoZSxyLHQpe3ZhciBuPXRoaXMsYT0wLHU9ci5jaGFyQXQoYSksaSxvLHMsbCxjLGYscDtpZighKHUhPT14MCYmdSE9PWJzKSYmKG89bi5vcHRpb25zLnBlZGFudGljLGM9dSxzPXUsZj1yLmxlbmd0aCxhKyssbD1cIlwiLHU9XCJcIiwhKG8mJkNzKHIuY2hhckF0KGEpKSkpKWZvcig7YTxmOyl7aWYocD11LHU9ci5jaGFyQXQoYSksdT09PXMmJighb3x8IUNzKHApKSl7aWYodT1yLmNoYXJBdCgrK2EpLHUhPT1zKXtpZighYjAobCl8fHA9PT1zKXJldHVybjtpZighbyYmcz09PWJzJiZ5MCh1KSl7bCs9cztjb250aW51ZX1yZXR1cm4gdD8hMDooaT1lLm5vdygpLGkuY29sdW1uKyssaS5vZmZzZXQrKyxlKGMrbCtzKSh7dHlwZTpcImVtcGhhc2lzXCIsY2hpbGRyZW46bi50b2tlbml6ZUlubGluZShsLGkpfSkpfWwrPXN9IW8mJnU9PT13MCYmKGwrPXUsdT1yLmNoYXJBdCgrK2EpKSxsKz11LGErK319fSk7dmFyIGtzPUMoKFJFLHdzKT0+e1widXNlIHN0cmljdFwiO3dzLmV4cG9ydHM9azA7ZnVuY3Rpb24gazAoZSxyKXtyZXR1cm4gZS5pbmRleE9mKFwifn5cIixyKX19KTt2YXIgU3M9QygoVUUsX3MpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEJzPW9lKCksQjA9a3MoKTtfcy5leHBvcnRzPXFzO3FzLmxvY2F0b3I9QjA7dmFyIG90PVwiflwiLFRzPVwifn5cIjtmdW5jdGlvbiBxcyhlLHIsdCl7dmFyIG49dGhpcyxhPVwiXCIsdT1cIlwiLGk9XCJcIixvPVwiXCIscyxsLGM7aWYoISghbi5vcHRpb25zLmdmbXx8ci5jaGFyQXQoMCkhPT1vdHx8ci5jaGFyQXQoMSkhPT1vdHx8QnMoci5jaGFyQXQoMikpKSlmb3Iocz0xLGw9ci5sZW5ndGgsYz1lLm5vdygpLGMuY29sdW1uKz0yLGMub2Zmc2V0Kz0yOysrczxsOyl7aWYoYT1yLmNoYXJBdChzKSxhPT09b3QmJnU9PT1vdCYmKCFpfHwhQnMoaSkpKXJldHVybiB0PyEwOmUoVHMrbytUcykoe3R5cGU6XCJkZWxldGVcIixjaGlsZHJlbjpuLnRva2VuaXplSW5saW5lKG8sYyl9KTtvKz11LGk9dSx1PWF9fX0pO3ZhciBMcz1DKChNRSxPcyk9PntcInVzZSBzdHJpY3RcIjtPcy5leHBvcnRzPVQwO2Z1bmN0aW9uIFQwKGUscil7cmV0dXJuIGUuaW5kZXhPZihcImBcIixyKX19KTt2YXIgTnM9QygoekUsSXMpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIHEwPUxzKCk7SXMuZXhwb3J0cz1QcztQcy5sb2NhdG9yPXEwO3ZhciBBbj0xMCx4bj0zMix3bj05NjtmdW5jdGlvbiBQcyhlLHIsdCl7Zm9yKHZhciBuPXIubGVuZ3RoLGE9MCx1LGksbyxzLGwsYzthPG4mJnIuY2hhckNvZGVBdChhKT09PXduOylhKys7aWYoIShhPT09MHx8YT09PW4pKXtmb3IodT1hLGw9ci5jaGFyQ29kZUF0KGEpO2E8bjspe2lmKHM9bCxsPXIuY2hhckNvZGVBdChhKzEpLHM9PT13bil7aWYoaT09PXZvaWQgMCYmKGk9YSksbz1hKzEsbCE9PXduJiZvLWk9PT11KXtjPSEwO2JyZWFrfX1lbHNlIGkhPT12b2lkIDAmJihpPXZvaWQgMCxvPXZvaWQgMCk7YSsrfWlmKGMpe2lmKHQpcmV0dXJuITA7aWYoYT11LG49aSxzPXIuY2hhckNvZGVBdChhKSxsPXIuY2hhckNvZGVBdChuLTEpLGM9ITEsbi1hPjImJihzPT09eG58fHM9PT1BbikmJihsPT09eG58fGw9PT1Bbikpe2ZvcihhKyssbi0tO2E8bjspe2lmKHM9ci5jaGFyQ29kZUF0KGEpLHMhPT14biYmcyE9PUFuKXtjPSEwO2JyZWFrfWErK31jPT09ITAmJih1KyssaS0tKX1yZXR1cm4gZShyLnNsaWNlKDAsbykpKHt0eXBlOlwiaW5saW5lQ29kZVwiLHZhbHVlOnIuc2xpY2UodSxpKX0pfX19fSk7dmFyIFVzPUMoKFlFLFJzKT0+e1widXNlIHN0cmljdFwiO1JzLmV4cG9ydHM9XzA7ZnVuY3Rpb24gXzAoZSxyKXtmb3IodmFyIHQ9ZS5pbmRleE9mKGBcbmAscik7dD5yJiZlLmNoYXJBdCh0LTEpPT09XCIgXCI7KXQtLTtyZXR1cm4gdH19KTt2YXIgWXM9QygoR0UsenMpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIFMwPVVzKCk7enMuZXhwb3J0cz1NcztNcy5sb2NhdG9yPVMwO3ZhciBPMD1cIiBcIixMMD1gXG5gLFAwPTI7ZnVuY3Rpb24gTXMoZSxyLHQpe2Zvcih2YXIgbj1yLmxlbmd0aCxhPS0xLHU9XCJcIixpOysrYTxuOyl7aWYoaT1yLmNoYXJBdChhKSxpPT09TDApcmV0dXJuIGE8UDA/dm9pZCAwOnQ/ITA6KHUrPWksZSh1KSh7dHlwZTpcImJyZWFrXCJ9KSk7aWYoaSE9PU8wKXJldHVybjt1Kz1pfX19KTt2YXIgVnM9QygoVkUsR3MpPT57XCJ1c2Ugc3RyaWN0XCI7R3MuZXhwb3J0cz1JMDtmdW5jdGlvbiBJMChlLHIsdCl7dmFyIG49dGhpcyxhLHUsaSxvLHMsbCxjLGYscCxkO2lmKHQpcmV0dXJuITA7Zm9yKGE9bi5pbmxpbmVNZXRob2RzLG89YS5sZW5ndGgsdT1uLmlubGluZVRva2VuaXplcnMsaT0tMSxwPXIubGVuZ3RoOysraTxvOylmPWFbaV0sIShmPT09XCJ0ZXh0XCJ8fCF1W2ZdKSYmKGM9dVtmXS5sb2NhdG9yLGN8fGUuZmlsZS5mYWlsKFwiTWlzc2luZyBsb2NhdG9yOiBgXCIrZitcImBcIiksbD1jLmNhbGwobixyLDEpLGwhPT0tMSYmbDxwJiYocD1sKSk7cz1yLnNsaWNlKDAscCksZD1lLm5vdygpLG4uZGVjb2RlKHMsZCxEKTtmdW5jdGlvbiBEKGgsbSxGKXtlKEZ8fGgpKHt0eXBlOlwidGV4dFwiLHZhbHVlOmh9KX19fSk7dmFyIEhzPUMoKGpFLFdzKT0+e1widXNlIHN0cmljdFwiO3ZhciBOMD1JZSgpLHN0PWx1KCksUjA9RHUoKSxVMD1odSgpLE0wPVl1KCksa249anUoKTtXcy5leHBvcnRzPWpzO2Z1bmN0aW9uIGpzKGUscil7dGhpcy5maWxlPXIsdGhpcy5vZmZzZXQ9e30sdGhpcy5vcHRpb25zPU4wKHRoaXMub3B0aW9ucyksdGhpcy5zZXRPcHRpb25zKHt9KSx0aGlzLmluTGlzdD0hMSx0aGlzLmluQmxvY2s9ITEsdGhpcy5pbkxpbms9ITEsdGhpcy5hdFN0YXJ0PSEwLHRoaXMudG9PZmZzZXQ9UjAocikudG9PZmZzZXQsdGhpcy51bmVzY2FwZT1VMCh0aGlzLFwiZXNjYXBlXCIpLHRoaXMuZGVjb2RlPU0wKHRoaXMpfXZhciBVPWpzLnByb3RvdHlwZTtVLnNldE9wdGlvbnM9WnUoKTtVLnBhcnNlPWRhKCk7VS5vcHRpb25zPUd0KCk7VS5leGl0U3RhcnQ9c3QoXCJhdFN0YXJ0XCIsITApO1UuZW50ZXJMaXN0PXN0KFwiaW5MaXN0XCIsITEpO1UuZW50ZXJMaW5rPXN0KFwiaW5MaW5rXCIsITEpO1UuZW50ZXJCbG9jaz1zdChcImluQmxvY2tcIiwhMSk7VS5pbnRlcnJ1cHRQYXJhZ3JhcGg9W1tcInRoZW1hdGljQnJlYWtcIl0sW1wibGlzdFwiXSxbXCJhdHhIZWFkaW5nXCJdLFtcImZlbmNlZENvZGVcIl0sW1wiYmxvY2txdW90ZVwiXSxbXCJodG1sXCJdLFtcInNldGV4dEhlYWRpbmdcIix7Y29tbW9ubWFyazohMX1dLFtcImRlZmluaXRpb25cIix7Y29tbW9ubWFyazohMX1dXTtVLmludGVycnVwdExpc3Q9W1tcImF0eEhlYWRpbmdcIix7cGVkYW50aWM6ITF9XSxbXCJmZW5jZWRDb2RlXCIse3BlZGFudGljOiExfV0sW1widGhlbWF0aWNCcmVha1wiLHtwZWRhbnRpYzohMX1dLFtcImRlZmluaXRpb25cIix7Y29tbW9ubWFyazohMX1dXTtVLmludGVycnVwdEJsb2NrcXVvdGU9W1tcImluZGVudGVkQ29kZVwiLHtjb21tb25tYXJrOiEwfV0sW1wiZmVuY2VkQ29kZVwiLHtjb21tb25tYXJrOiEwfV0sW1wiYXR4SGVhZGluZ1wiLHtjb21tb25tYXJrOiEwfV0sW1wic2V0ZXh0SGVhZGluZ1wiLHtjb21tb25tYXJrOiEwfV0sW1widGhlbWF0aWNCcmVha1wiLHtjb21tb25tYXJrOiEwfV0sW1wiaHRtbFwiLHtjb21tb25tYXJrOiEwfV0sW1wibGlzdFwiLHtjb21tb25tYXJrOiEwfV0sW1wiZGVmaW5pdGlvblwiLHtjb21tb25tYXJrOiExfV1dO1UuYmxvY2tUb2tlbml6ZXJzPXtibGFua0xpbmU6RmEoKSxpbmRlbnRlZENvZGU6YmEoKSxmZW5jZWRDb2RlOnhhKCksYmxvY2txdW90ZTpfYSgpLGF0eEhlYWRpbmc6TGEoKSx0aGVtYXRpY0JyZWFrOk5hKCksbGlzdDpIYSgpLHNldGV4dEhlYWRpbmc6UWEoKSxodG1sOmlvKCksZGVmaW5pdGlvbjpwbygpLHRhYmxlOkZvKCkscGFyYWdyYXBoOkVvKCl9O1UuaW5saW5lVG9rZW5pemVycz17ZXNjYXBlOndvKCksYXV0b0xpbms6U28oKSx1cmw6WW8oKSxlbWFpbDpKbygpLGh0bWw6Wm8oKSxsaW5rOm9zKCkscmVmZXJlbmNlOmxzKCksc3Ryb25nOm1zKCksZW1waGFzaXM6eHMoKSxkZWxldGlvbjpTcygpLGNvZGU6TnMoKSxicmVhazpZcygpLHRleHQ6VnMoKX07VS5ibG9ja01ldGhvZHM9JHMoVS5ibG9ja1Rva2VuaXplcnMpO1UuaW5saW5lTWV0aG9kcz0kcyhVLmlubGluZVRva2VuaXplcnMpO1UudG9rZW5pemVCbG9jaz1rbihcImJsb2NrXCIpO1UudG9rZW5pemVJbmxpbmU9a24oXCJpbmxpbmVcIik7VS50b2tlbml6ZUZhY3Rvcnk9a247ZnVuY3Rpb24gJHMoZSl7dmFyIHI9W10sdDtmb3IodCBpbiBlKXIucHVzaCh0KTtyZXR1cm4gcn19KTt2YXIgUXM9QygoJEUsWHMpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIHowPXN1KCksWTA9SWUoKSxLcz1IcygpO1hzLmV4cG9ydHM9SnM7SnMuUGFyc2VyPUtzO2Z1bmN0aW9uIEpzKGUpe3ZhciByPXRoaXMuZGF0YShcInNldHRpbmdzXCIpLHQ9ejAoS3MpO3QucHJvdG90eXBlLm9wdGlvbnM9WTAodC5wcm90b3R5cGUub3B0aW9ucyxyLGUpLHRoaXMuUGFyc2VyPXR9fSk7dmFyIGVjPUMoKFdFLFpzKT0+e1widXNlIHN0cmljdFwiO1pzLmV4cG9ydHM9RzA7ZnVuY3Rpb24gRzAoZSl7aWYoZSl0aHJvdyBlfX0pO3ZhciBCbj1DKChIRSxyYyk9PntyYy5leHBvcnRzPWZ1bmN0aW9uKHIpe3JldHVybiByIT1udWxsJiZyLmNvbnN0cnVjdG9yIT1udWxsJiZ0eXBlb2Ygci5jb25zdHJ1Y3Rvci5pc0J1ZmZlcj09XCJmdW5jdGlvblwiJiZyLmNvbnN0cnVjdG9yLmlzQnVmZmVyKHIpfX0pO3ZhciBsYz1DKChLRSxjYyk9PntcInVzZSBzdHJpY3RcIjt2YXIgY3Q9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eSxzYz1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLHRjPU9iamVjdC5kZWZpbmVQcm9wZXJ0eSxuYz1PYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yLGljPWZ1bmN0aW9uKHIpe3JldHVybiB0eXBlb2YgQXJyYXkuaXNBcnJheT09XCJmdW5jdGlvblwiP0FycmF5LmlzQXJyYXkocik6c2MuY2FsbChyKT09PVwiW29iamVjdCBBcnJheV1cIn0sdWM9ZnVuY3Rpb24ocil7aWYoIXJ8fHNjLmNhbGwocikhPT1cIltvYmplY3QgT2JqZWN0XVwiKXJldHVybiExO3ZhciB0PWN0LmNhbGwocixcImNvbnN0cnVjdG9yXCIpLG49ci5jb25zdHJ1Y3RvciYmci5jb25zdHJ1Y3Rvci5wcm90b3R5cGUmJmN0LmNhbGwoci5jb25zdHJ1Y3Rvci5wcm90b3R5cGUsXCJpc1Byb3RvdHlwZU9mXCIpO2lmKHIuY29uc3RydWN0b3ImJiF0JiYhbilyZXR1cm4hMTt2YXIgYTtmb3IoYSBpbiByKTtyZXR1cm4gdHlwZW9mIGE+XCJ1XCJ8fGN0LmNhbGwocixhKX0sYWM9ZnVuY3Rpb24ocix0KXt0YyYmdC5uYW1lPT09XCJfX3Byb3RvX19cIj90YyhyLHQubmFtZSx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsdmFsdWU6dC5uZXdWYWx1ZSx3cml0YWJsZTohMH0pOnJbdC5uYW1lXT10Lm5ld1ZhbHVlfSxvYz1mdW5jdGlvbihyLHQpe2lmKHQ9PT1cIl9fcHJvdG9fX1wiKWlmKGN0LmNhbGwocix0KSl7aWYobmMpcmV0dXJuIG5jKHIsdCkudmFsdWV9ZWxzZSByZXR1cm47cmV0dXJuIHJbdF19O2NjLmV4cG9ydHM9ZnVuY3Rpb24gZSgpe3ZhciByLHQsbixhLHUsaSxvPWFyZ3VtZW50c1swXSxzPTEsbD1hcmd1bWVudHMubGVuZ3RoLGM9ITE7Zm9yKHR5cGVvZiBvPT1cImJvb2xlYW5cIiYmKGM9byxvPWFyZ3VtZW50c1sxXXx8e30scz0yKSwobz09bnVsbHx8dHlwZW9mIG8hPVwib2JqZWN0XCImJnR5cGVvZiBvIT1cImZ1bmN0aW9uXCIpJiYobz17fSk7czxsOysrcylpZihyPWFyZ3VtZW50c1tzXSxyIT1udWxsKWZvcih0IGluIHIpbj1vYyhvLHQpLGE9b2Mocix0KSxvIT09YSYmKGMmJmEmJih1YyhhKXx8KHU9aWMoYSkpKT8odT8odT0hMSxpPW4mJmljKG4pP246W10pOmk9biYmdWMobik/bjp7fSxhYyhvLHtuYW1lOnQsbmV3VmFsdWU6ZShjLGksYSl9KSk6dHlwZW9mIGE8XCJ1XCImJmFjKG8se25hbWU6dCxuZXdWYWx1ZTphfSkpO3JldHVybiBvfX0pO3ZhciBEYz1DKChKRSxmYyk9PntcInVzZSBzdHJpY3RcIjtmYy5leHBvcnRzPWU9PntpZihPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSkhPT1cIltvYmplY3QgT2JqZWN0XVwiKXJldHVybiExO2xldCByPU9iamVjdC5nZXRQcm90b3R5cGVPZihlKTtyZXR1cm4gcj09PW51bGx8fHI9PT1PYmplY3QucHJvdG90eXBlfX0pO3ZhciBoYz1DKChYRSxwYyk9PntcInVzZSBzdHJpY3RcIjt2YXIgVjA9W10uc2xpY2U7cGMuZXhwb3J0cz1qMDtmdW5jdGlvbiBqMChlLHIpe3ZhciB0O3JldHVybiBuO2Z1bmN0aW9uIG4oKXt2YXIgaT1WMC5jYWxsKGFyZ3VtZW50cywwKSxvPWUubGVuZ3RoPmkubGVuZ3RoLHM7byYmaS5wdXNoKGEpO3RyeXtzPWUuYXBwbHkobnVsbCxpKX1jYXRjaChsKXtpZihvJiZ0KXRocm93IGw7cmV0dXJuIGEobCl9b3x8KHMmJnR5cGVvZiBzLnRoZW49PVwiZnVuY3Rpb25cIj9zLnRoZW4odSxhKTpzIGluc3RhbmNlb2YgRXJyb3I/YShzKTp1KHMpKX1mdW5jdGlvbiBhKCl7dHx8KHQ9ITAsci5hcHBseShudWxsLGFyZ3VtZW50cykpfWZ1bmN0aW9uIHUoaSl7YShudWxsLGkpfX19KTt2YXIgdmM9QygoUUUsZ2MpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIG1jPWhjKCk7Z2MuZXhwb3J0cz1GYztGYy53cmFwPW1jO3ZhciBkYz1bXS5zbGljZTtmdW5jdGlvbiBGYygpe3ZhciBlPVtdLHI9e307cmV0dXJuIHIucnVuPXQsci51c2U9bixyO2Z1bmN0aW9uIHQoKXt2YXIgYT0tMSx1PWRjLmNhbGwoYXJndW1lbnRzLDAsLTEpLGk9YXJndW1lbnRzW2FyZ3VtZW50cy5sZW5ndGgtMV07aWYodHlwZW9mIGkhPVwiZnVuY3Rpb25cIil0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBmdW5jdGlvbiBhcyBsYXN0IGFyZ3VtZW50LCBub3QgXCIraSk7by5hcHBseShudWxsLFtudWxsXS5jb25jYXQodSkpO2Z1bmN0aW9uIG8ocyl7dmFyIGw9ZVsrK2FdLGM9ZGMuY2FsbChhcmd1bWVudHMsMCksZj1jLnNsaWNlKDEpLHA9dS5sZW5ndGgsZD0tMTtpZihzKXtpKHMpO3JldHVybn1mb3IoOysrZDxwOykoZltkXT09PW51bGx8fGZbZF09PT12b2lkIDApJiYoZltkXT11W2RdKTt1PWYsbD9tYyhsLG8pLmFwcGx5KG51bGwsdSk6aS5hcHBseShudWxsLFtudWxsXS5jb25jYXQodSkpfX1mdW5jdGlvbiBuKGEpe2lmKHR5cGVvZiBhIT1cImZ1bmN0aW9uXCIpdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgYGZuYCB0byBiZSBhIGZ1bmN0aW9uLCBub3QgXCIrYSk7cmV0dXJuIGUucHVzaChhKSxyfX19KTt2YXIgeWM9QygoWkUsYmMpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGVyPXt9Lmhhc093blByb3BlcnR5O2JjLmV4cG9ydHM9JDA7ZnVuY3Rpb24gJDAoZSl7cmV0dXJuIWV8fHR5cGVvZiBlIT1cIm9iamVjdFwiP1wiXCI6ZXIuY2FsbChlLFwicG9zaXRpb25cIil8fGVyLmNhbGwoZSxcInR5cGVcIik/RWMoZS5wb3NpdGlvbik6ZXIuY2FsbChlLFwic3RhcnRcIil8fGVyLmNhbGwoZSxcImVuZFwiKT9FYyhlKTplci5jYWxsKGUsXCJsaW5lXCIpfHxlci5jYWxsKGUsXCJjb2x1bW5cIik/VG4oZSk6XCJcIn1mdW5jdGlvbiBUbihlKXtyZXR1cm4oIWV8fHR5cGVvZiBlIT1cIm9iamVjdFwiKSYmKGU9e30pLENjKGUubGluZSkrXCI6XCIrQ2MoZS5jb2x1bW4pfWZ1bmN0aW9uIEVjKGUpe3JldHVybighZXx8dHlwZW9mIGUhPVwib2JqZWN0XCIpJiYoZT17fSksVG4oZS5zdGFydCkrXCItXCIrVG4oZS5lbmQpfWZ1bmN0aW9uIENjKGUpe3JldHVybiBlJiZ0eXBlb2YgZT09XCJudW1iZXJcIj9lOjF9fSk7dmFyIHdjPUMoKGVDLHhjKT0+e1widXNlIHN0cmljdFwiO3ZhciBXMD15YygpO3hjLmV4cG9ydHM9cW47ZnVuY3Rpb24gQWMoKXt9QWMucHJvdG90eXBlPUVycm9yLnByb3RvdHlwZTtxbi5wcm90b3R5cGU9bmV3IEFjO3ZhciBrZT1xbi5wcm90b3R5cGU7a2UuZmlsZT1cIlwiO2tlLm5hbWU9XCJcIjtrZS5yZWFzb249XCJcIjtrZS5tZXNzYWdlPVwiXCI7a2Uuc3RhY2s9XCJcIjtrZS5mYXRhbD1udWxsO2tlLmNvbHVtbj1udWxsO2tlLmxpbmU9bnVsbDtmdW5jdGlvbiBxbihlLHIsdCl7dmFyIG4sYSx1O3R5cGVvZiByPT1cInN0cmluZ1wiJiYodD1yLHI9bnVsbCksbj1IMCh0KSxhPVcwKHIpfHxcIjE6MVwiLHU9e3N0YXJ0OntsaW5lOm51bGwsY29sdW1uOm51bGx9LGVuZDp7bGluZTpudWxsLGNvbHVtbjpudWxsfX0sciYmci5wb3NpdGlvbiYmKHI9ci5wb3NpdGlvbiksciYmKHIuc3RhcnQ/KHU9cixyPXIuc3RhcnQpOnUuc3RhcnQ9ciksZS5zdGFjayYmKHRoaXMuc3RhY2s9ZS5zdGFjayxlPWUubWVzc2FnZSksdGhpcy5tZXNzYWdlPWUsdGhpcy5uYW1lPWEsdGhpcy5yZWFzb249ZSx0aGlzLmxpbmU9cj9yLmxpbmU6bnVsbCx0aGlzLmNvbHVtbj1yP3IuY29sdW1uOm51bGwsdGhpcy5sb2NhdGlvbj11LHRoaXMuc291cmNlPW5bMF0sdGhpcy5ydWxlSWQ9blsxXX1mdW5jdGlvbiBIMChlKXt2YXIgcj1bbnVsbCxudWxsXSx0O3JldHVybiB0eXBlb2YgZT09XCJzdHJpbmdcIiYmKHQ9ZS5pbmRleE9mKFwiOlwiKSx0PT09LTE/clsxXT1lOihyWzBdPWUuc2xpY2UoMCx0KSxyWzFdPWUuc2xpY2UodCsxKSkpLHJ9fSk7dmFyIGtjPUMocnI9PntcInVzZSBzdHJpY3RcIjtyci5iYXNlbmFtZT1LMDtyci5kaXJuYW1lPUowO3JyLmV4dG5hbWU9WDA7cnIuam9pbj1RMDtyci5zZXA9XCIvXCI7ZnVuY3Rpb24gSzAoZSxyKXt2YXIgdD0wLG49LTEsYSx1LGksbztpZihyIT09dm9pZCAwJiZ0eXBlb2YgciE9XCJzdHJpbmdcIil0aHJvdyBuZXcgVHlwZUVycm9yKCdcImV4dFwiIGFyZ3VtZW50IG11c3QgYmUgYSBzdHJpbmcnKTtpZih4cihlKSxhPWUubGVuZ3RoLHI9PT12b2lkIDB8fCFyLmxlbmd0aHx8ci5sZW5ndGg+ZS5sZW5ndGgpe2Zvcig7YS0tOylpZihlLmNoYXJDb2RlQXQoYSk9PT00Nyl7aWYoaSl7dD1hKzE7YnJlYWt9fWVsc2UgbjwwJiYoaT0hMCxuPWErMSk7cmV0dXJuIG48MD9cIlwiOmUuc2xpY2UodCxuKX1pZihyPT09ZSlyZXR1cm5cIlwiO2Zvcih1PS0xLG89ci5sZW5ndGgtMTthLS07KWlmKGUuY2hhckNvZGVBdChhKT09PTQ3KXtpZihpKXt0PWErMTticmVha319ZWxzZSB1PDAmJihpPSEwLHU9YSsxKSxvPi0xJiYoZS5jaGFyQ29kZUF0KGEpPT09ci5jaGFyQ29kZUF0KG8tLSk/bzwwJiYobj1hKToobz0tMSxuPXUpKTtyZXR1cm4gdD09PW4/bj11Om48MCYmKG49ZS5sZW5ndGgpLGUuc2xpY2UodCxuKX1mdW5jdGlvbiBKMChlKXt2YXIgcix0LG47aWYoeHIoZSksIWUubGVuZ3RoKXJldHVyblwiLlwiO2ZvcihyPS0xLG49ZS5sZW5ndGg7LS1uOylpZihlLmNoYXJDb2RlQXQobik9PT00Nyl7aWYodCl7cj1uO2JyZWFrfX1lbHNlIHR8fCh0PSEwKTtyZXR1cm4gcjwwP2UuY2hhckNvZGVBdCgwKT09PTQ3P1wiL1wiOlwiLlwiOnI9PT0xJiZlLmNoYXJDb2RlQXQoMCk9PT00Nz9cIi8vXCI6ZS5zbGljZSgwLHIpfWZ1bmN0aW9uIFgwKGUpe3ZhciByPS0xLHQ9MCxuPS0xLGE9MCx1LGksbztmb3IoeHIoZSksbz1lLmxlbmd0aDtvLS07KXtpZihpPWUuY2hhckNvZGVBdChvKSxpPT09NDcpe2lmKHUpe3Q9bysxO2JyZWFrfWNvbnRpbnVlfW48MCYmKHU9ITAsbj1vKzEpLGk9PT00Nj9yPDA/cj1vOmEhPT0xJiYoYT0xKTpyPi0xJiYoYT0tMSl9cmV0dXJuIHI8MHx8bjwwfHxhPT09MHx8YT09PTEmJnI9PT1uLTEmJnI9PT10KzE/XCJcIjplLnNsaWNlKHIsbil9ZnVuY3Rpb24gUTAoKXtmb3IodmFyIGU9LTEscjsrK2U8YXJndW1lbnRzLmxlbmd0aDspeHIoYXJndW1lbnRzW2VdKSxhcmd1bWVudHNbZV0mJihyPXI9PT12b2lkIDA/YXJndW1lbnRzW2VdOnIrXCIvXCIrYXJndW1lbnRzW2VdKTtyZXR1cm4gcj09PXZvaWQgMD9cIi5cIjpaMChyKX1mdW5jdGlvbiBaMChlKXt2YXIgcix0O3JldHVybiB4cihlKSxyPWUuY2hhckNvZGVBdCgwKT09PTQ3LHQ9ZW0oZSwhciksIXQubGVuZ3RoJiYhciYmKHQ9XCIuXCIpLHQubGVuZ3RoJiZlLmNoYXJDb2RlQXQoZS5sZW5ndGgtMSk9PT00NyYmKHQrPVwiL1wiKSxyP1wiL1wiK3Q6dH1mdW5jdGlvbiBlbShlLHIpe2Zvcih2YXIgdD1cIlwiLG49MCxhPS0xLHU9MCxpPS0xLG8sczsrK2k8PWUubGVuZ3RoOyl7aWYoaTxlLmxlbmd0aClvPWUuY2hhckNvZGVBdChpKTtlbHNle2lmKG89PT00NylicmVhaztvPTQ3fWlmKG89PT00Nyl7aWYoIShhPT09aS0xfHx1PT09MSkpaWYoYSE9PWktMSYmdT09PTIpe2lmKHQubGVuZ3RoPDJ8fG4hPT0yfHx0LmNoYXJDb2RlQXQodC5sZW5ndGgtMSkhPT00Nnx8dC5jaGFyQ29kZUF0KHQubGVuZ3RoLTIpIT09NDYpe2lmKHQubGVuZ3RoPjIpe2lmKHM9dC5sYXN0SW5kZXhPZihcIi9cIikscyE9PXQubGVuZ3RoLTEpe3M8MD8odD1cIlwiLG49MCk6KHQ9dC5zbGljZSgwLHMpLG49dC5sZW5ndGgtMS10Lmxhc3RJbmRleE9mKFwiL1wiKSksYT1pLHU9MDtjb250aW51ZX19ZWxzZSBpZih0Lmxlbmd0aCl7dD1cIlwiLG49MCxhPWksdT0wO2NvbnRpbnVlfX1yJiYodD10Lmxlbmd0aD90K1wiLy4uXCI6XCIuLlwiLG49Mil9ZWxzZSB0Lmxlbmd0aD90Kz1cIi9cIitlLnNsaWNlKGErMSxpKTp0PWUuc2xpY2UoYSsxLGkpLG49aS1hLTE7YT1pLHU9MH1lbHNlIG89PT00NiYmdT4tMT91Kys6dT0tMX1yZXR1cm4gdH1mdW5jdGlvbiB4cihlKXtpZih0eXBlb2YgZSE9XCJzdHJpbmdcIil0aHJvdyBuZXcgVHlwZUVycm9yKFwiUGF0aCBtdXN0IGJlIGEgc3RyaW5nLiBSZWNlaXZlZCBcIitKU09OLnN0cmluZ2lmeShlKSl9fSk7dmFyIFRjPUMoQmM9PntcInVzZSBzdHJpY3RcIjtCYy5jd2Q9cm07ZnVuY3Rpb24gcm0oKXtyZXR1cm5cIi9cIn19KTt2YXIgU2M9QygobkMsX2MpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIHNlPWtjKCksdG09VGMoKSxubT1CbigpO19jLmV4cG9ydHM9Z2U7dmFyIGltPXt9Lmhhc093blByb3BlcnR5LF9uPVtcImhpc3RvcnlcIixcInBhdGhcIixcImJhc2VuYW1lXCIsXCJzdGVtXCIsXCJleHRuYW1lXCIsXCJkaXJuYW1lXCJdO2dlLnByb3RvdHlwZS50b1N0cmluZz1kbTtPYmplY3QuZGVmaW5lUHJvcGVydHkoZ2UucHJvdG90eXBlLFwicGF0aFwiLHtnZXQ6dW0sc2V0OmFtfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGdlLnByb3RvdHlwZSxcImRpcm5hbWVcIix7Z2V0Om9tLHNldDpzbX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShnZS5wcm90b3R5cGUsXCJiYXNlbmFtZVwiLHtnZXQ6Y20sc2V0OmxtfSk7T2JqZWN0LmRlZmluZVByb3BlcnR5KGdlLnByb3RvdHlwZSxcImV4dG5hbWVcIix7Z2V0OmZtLHNldDpEbX0pO09iamVjdC5kZWZpbmVQcm9wZXJ0eShnZS5wcm90b3R5cGUsXCJzdGVtXCIse2dldDpwbSxzZXQ6aG19KTtmdW5jdGlvbiBnZShlKXt2YXIgcix0O2lmKCFlKWU9e307ZWxzZSBpZih0eXBlb2YgZT09XCJzdHJpbmdcInx8bm0oZSkpZT17Y29udGVudHM6ZX07ZWxzZSBpZihcIm1lc3NhZ2VcImluIGUmJlwibWVzc2FnZXNcImluIGUpcmV0dXJuIGU7aWYoISh0aGlzIGluc3RhbmNlb2YgZ2UpKXJldHVybiBuZXcgZ2UoZSk7Zm9yKHRoaXMuZGF0YT17fSx0aGlzLm1lc3NhZ2VzPVtdLHRoaXMuaGlzdG9yeT1bXSx0aGlzLmN3ZD10bS5jd2QoKSx0PS0xOysrdDxfbi5sZW5ndGg7KXI9X25bdF0saW0uY2FsbChlLHIpJiYodGhpc1tyXT1lW3JdKTtmb3IociBpbiBlKV9uLmluZGV4T2Yocik8MCYmKHRoaXNbcl09ZVtyXSl9ZnVuY3Rpb24gdW0oKXtyZXR1cm4gdGhpcy5oaXN0b3J5W3RoaXMuaGlzdG9yeS5sZW5ndGgtMV19ZnVuY3Rpb24gYW0oZSl7T24oZSxcInBhdGhcIiksdGhpcy5wYXRoIT09ZSYmdGhpcy5oaXN0b3J5LnB1c2goZSl9ZnVuY3Rpb24gb20oKXtyZXR1cm4gdHlwZW9mIHRoaXMucGF0aD09XCJzdHJpbmdcIj9zZS5kaXJuYW1lKHRoaXMucGF0aCk6dm9pZCAwfWZ1bmN0aW9uIHNtKGUpe3FjKHRoaXMucGF0aCxcImRpcm5hbWVcIiksdGhpcy5wYXRoPXNlLmpvaW4oZXx8XCJcIix0aGlzLmJhc2VuYW1lKX1mdW5jdGlvbiBjbSgpe3JldHVybiB0eXBlb2YgdGhpcy5wYXRoPT1cInN0cmluZ1wiP3NlLmJhc2VuYW1lKHRoaXMucGF0aCk6dm9pZCAwfWZ1bmN0aW9uIGxtKGUpe09uKGUsXCJiYXNlbmFtZVwiKSxTbihlLFwiYmFzZW5hbWVcIiksdGhpcy5wYXRoPXNlLmpvaW4odGhpcy5kaXJuYW1lfHxcIlwiLGUpfWZ1bmN0aW9uIGZtKCl7cmV0dXJuIHR5cGVvZiB0aGlzLnBhdGg9PVwic3RyaW5nXCI/c2UuZXh0bmFtZSh0aGlzLnBhdGgpOnZvaWQgMH1mdW5jdGlvbiBEbShlKXtpZihTbihlLFwiZXh0bmFtZVwiKSxxYyh0aGlzLnBhdGgsXCJleHRuYW1lXCIpLGUpe2lmKGUuY2hhckNvZGVBdCgwKSE9PTQ2KXRocm93IG5ldyBFcnJvcihcImBleHRuYW1lYCBtdXN0IHN0YXJ0IHdpdGggYC5gXCIpO2lmKGUuaW5kZXhPZihcIi5cIiwxKT4tMSl0aHJvdyBuZXcgRXJyb3IoXCJgZXh0bmFtZWAgY2Fubm90IGNvbnRhaW4gbXVsdGlwbGUgZG90c1wiKX10aGlzLnBhdGg9c2Uuam9pbih0aGlzLmRpcm5hbWUsdGhpcy5zdGVtKyhlfHxcIlwiKSl9ZnVuY3Rpb24gcG0oKXtyZXR1cm4gdHlwZW9mIHRoaXMucGF0aD09XCJzdHJpbmdcIj9zZS5iYXNlbmFtZSh0aGlzLnBhdGgsdGhpcy5leHRuYW1lKTp2b2lkIDB9ZnVuY3Rpb24gaG0oZSl7T24oZSxcInN0ZW1cIiksU24oZSxcInN0ZW1cIiksdGhpcy5wYXRoPXNlLmpvaW4odGhpcy5kaXJuYW1lfHxcIlwiLGUrKHRoaXMuZXh0bmFtZXx8XCJcIikpfWZ1bmN0aW9uIGRtKGUpe3JldHVybih0aGlzLmNvbnRlbnRzfHxcIlwiKS50b1N0cmluZyhlKX1mdW5jdGlvbiBTbihlLHIpe2lmKGUmJmUuaW5kZXhPZihzZS5zZXApPi0xKXRocm93IG5ldyBFcnJvcihcImBcIityK1wiYCBjYW5ub3QgYmUgYSBwYXRoOiBkaWQgbm90IGV4cGVjdCBgXCIrc2Uuc2VwK1wiYFwiKX1mdW5jdGlvbiBPbihlLHIpe2lmKCFlKXRocm93IG5ldyBFcnJvcihcImBcIityK1wiYCBjYW5ub3QgYmUgZW1wdHlcIil9ZnVuY3Rpb24gcWMoZSxyKXtpZighZSl0aHJvdyBuZXcgRXJyb3IoXCJTZXR0aW5nIGBcIityK1wiYCByZXF1aXJlcyBgcGF0aGAgdG8gYmUgc2V0IHRvb1wiKX19KTt2YXIgTGM9QygoaUMsT2MpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIG1tPXdjKCksbHQ9U2MoKTtPYy5leHBvcnRzPWx0O2x0LnByb3RvdHlwZS5tZXNzYWdlPUZtO2x0LnByb3RvdHlwZS5pbmZvPXZtO2x0LnByb3RvdHlwZS5mYWlsPWdtO2Z1bmN0aW9uIEZtKGUscix0KXt2YXIgbj1uZXcgbW0oZSxyLHQpO3JldHVybiB0aGlzLnBhdGgmJihuLm5hbWU9dGhpcy5wYXRoK1wiOlwiK24ubmFtZSxuLmZpbGU9dGhpcy5wYXRoKSxuLmZhdGFsPSExLHRoaXMubWVzc2FnZXMucHVzaChuKSxufWZ1bmN0aW9uIGdtKCl7dmFyIGU9dGhpcy5tZXNzYWdlLmFwcGx5KHRoaXMsYXJndW1lbnRzKTt0aHJvdyBlLmZhdGFsPSEwLGV9ZnVuY3Rpb24gdm0oKXt2YXIgZT10aGlzLm1lc3NhZ2UuYXBwbHkodGhpcyxhcmd1bWVudHMpO3JldHVybiBlLmZhdGFsPW51bGwsZX19KTt2YXIgSWM9QygodUMsUGMpPT57XCJ1c2Ugc3RyaWN0XCI7UGMuZXhwb3J0cz1MYygpfSk7dmFyIGpjPUMoKGFDLFZjKT0+e1widXNlIHN0cmljdFwiO3ZhciBOYz1lYygpLEVtPUJuKCksZnQ9bGMoKSxSYz1EYygpLFljPXZjKCksd3I9SWMoKTtWYy5leHBvcnRzPUdjKCkuZnJlZXplKCk7dmFyIENtPVtdLnNsaWNlLGJtPXt9Lmhhc093blByb3BlcnR5LHltPVljKCkudXNlKEFtKS51c2UoeG0pLnVzZSh3bSk7ZnVuY3Rpb24gQW0oZSxyKXtyLnRyZWU9ZS5wYXJzZShyLmZpbGUpfWZ1bmN0aW9uIHhtKGUscix0KXtlLnJ1bihyLnRyZWUsci5maWxlLG4pO2Z1bmN0aW9uIG4oYSx1LGkpe2E/dChhKTooci50cmVlPXUsci5maWxlPWksdCgpKX19ZnVuY3Rpb24gd20oZSxyKXt2YXIgdD1lLnN0cmluZ2lmeShyLnRyZWUsci5maWxlKTt0PT1udWxsfHwodHlwZW9mIHQ9PVwic3RyaW5nXCJ8fEVtKHQpPyhcInZhbHVlXCJpbiByLmZpbGUmJihyLmZpbGUudmFsdWU9dCksci5maWxlLmNvbnRlbnRzPXQpOnIuZmlsZS5yZXN1bHQ9dCl9ZnVuY3Rpb24gR2MoKXt2YXIgZT1bXSxyPVljKCksdD17fSxuPS0xLGE7cmV0dXJuIHUuZGF0YT1vLHUuZnJlZXplPWksdS5hdHRhY2hlcnM9ZSx1LnVzZT1zLHUucGFyc2U9Yyx1LnN0cmluZ2lmeT1kLHUucnVuPWYsdS5ydW5TeW5jPXAsdS5wcm9jZXNzPUQsdS5wcm9jZXNzU3luYz1oLHU7ZnVuY3Rpb24gdSgpe2Zvcih2YXIgbT1HYygpLEY9LTE7KytGPGUubGVuZ3RoOyltLnVzZS5hcHBseShudWxsLGVbRl0pO3JldHVybiBtLmRhdGEoZnQoITAse30sdCkpLG19ZnVuY3Rpb24gaSgpe3ZhciBtLEY7aWYoYSlyZXR1cm4gdTtmb3IoOysrbjxlLmxlbmd0aDspbT1lW25dLG1bMV0hPT0hMSYmKG1bMV09PT0hMCYmKG1bMV09dm9pZCAwKSxGPW1bMF0uYXBwbHkodSxtLnNsaWNlKDEpKSx0eXBlb2YgRj09XCJmdW5jdGlvblwiJiZyLnVzZShGKSk7cmV0dXJuIGE9ITAsbj0xLzAsdX1mdW5jdGlvbiBvKG0sRil7cmV0dXJuIHR5cGVvZiBtPT1cInN0cmluZ1wiP2FyZ3VtZW50cy5sZW5ndGg9PT0yPyhJbihcImRhdGFcIixhKSx0W21dPUYsdSk6Ym0uY2FsbCh0LG0pJiZ0W21dfHxudWxsOm0/KEluKFwiZGF0YVwiLGEpLHQ9bSx1KTp0fWZ1bmN0aW9uIHMobSl7dmFyIEY7aWYoSW4oXCJ1c2VcIixhKSxtIT1udWxsKWlmKHR5cGVvZiBtPT1cImZ1bmN0aW9uXCIpYi5hcHBseShudWxsLGFyZ3VtZW50cyk7ZWxzZSBpZih0eXBlb2YgbT09XCJvYmplY3RcIilcImxlbmd0aFwiaW4gbT9CKG0pOnkobSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCB1c2FibGUgdmFsdWUsIG5vdCBgXCIrbStcImBcIik7cmV0dXJuIEYmJih0LnNldHRpbmdzPWZ0KHQuc2V0dGluZ3N8fHt9LEYpKSx1O2Z1bmN0aW9uIHkoZyl7QihnLnBsdWdpbnMpLGcuc2V0dGluZ3MmJihGPWZ0KEZ8fHt9LGcuc2V0dGluZ3MpKX1mdW5jdGlvbiBFKGcpe2lmKHR5cGVvZiBnPT1cImZ1bmN0aW9uXCIpYihnKTtlbHNlIGlmKHR5cGVvZiBnPT1cIm9iamVjdFwiKVwibGVuZ3RoXCJpbiBnP2IuYXBwbHkobnVsbCxnKTp5KGcpO2Vsc2UgdGhyb3cgbmV3IEVycm9yKFwiRXhwZWN0ZWQgdXNhYmxlIHZhbHVlLCBub3QgYFwiK2crXCJgXCIpfWZ1bmN0aW9uIEIoZyl7dmFyIEE9LTE7aWYoZyE9bnVsbClpZih0eXBlb2YgZz09XCJvYmplY3RcIiYmXCJsZW5ndGhcImluIGcpZm9yKDsrK0E8Zy5sZW5ndGg7KUUoZ1tBXSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBhIGxpc3Qgb2YgcGx1Z2lucywgbm90IGBcIitnK1wiYFwiKX1mdW5jdGlvbiBiKGcsQSl7dmFyIHg9bChnKTt4PyhSYyh4WzFdKSYmUmMoQSkmJihBPWZ0KCEwLHhbMV0sQSkpLHhbMV09QSk6ZS5wdXNoKENtLmNhbGwoYXJndW1lbnRzKSl9fWZ1bmN0aW9uIGwobSl7Zm9yKHZhciBGPS0xOysrRjxlLmxlbmd0aDspaWYoZVtGXVswXT09PW0pcmV0dXJuIGVbRl19ZnVuY3Rpb24gYyhtKXt2YXIgRj13cihtKSx5O3JldHVybiBpKCkseT11LlBhcnNlcixMbihcInBhcnNlXCIseSksVWMoeSxcInBhcnNlXCIpP25ldyB5KFN0cmluZyhGKSxGKS5wYXJzZSgpOnkoU3RyaW5nKEYpLEYpfWZ1bmN0aW9uIGYobSxGLHkpe2lmKE1jKG0pLGkoKSwheSYmdHlwZW9mIEY9PVwiZnVuY3Rpb25cIiYmKHk9RixGPW51bGwpLCF5KXJldHVybiBuZXcgUHJvbWlzZShFKTtFKG51bGwseSk7ZnVuY3Rpb24gRShCLGIpe3IucnVuKG0sd3IoRiksZyk7ZnVuY3Rpb24gZyhBLHgsdil7eD14fHxtLEE/YihBKTpCP0IoeCk6eShudWxsLHgsdil9fX1mdW5jdGlvbiBwKG0sRil7dmFyIHksRTtyZXR1cm4gZihtLEYsQiksemMoXCJydW5TeW5jXCIsXCJydW5cIixFKSx5O2Z1bmN0aW9uIEIoYixnKXtFPSEwLHk9ZyxOYyhiKX19ZnVuY3Rpb24gZChtLEYpe3ZhciB5PXdyKEYpLEU7cmV0dXJuIGkoKSxFPXUuQ29tcGlsZXIsUG4oXCJzdHJpbmdpZnlcIixFKSxNYyhtKSxVYyhFLFwiY29tcGlsZVwiKT9uZXcgRShtLHkpLmNvbXBpbGUoKTpFKG0seSl9ZnVuY3Rpb24gRChtLEYpe2lmKGkoKSxMbihcInByb2Nlc3NcIix1LlBhcnNlciksUG4oXCJwcm9jZXNzXCIsdS5Db21waWxlciksIUYpcmV0dXJuIG5ldyBQcm9taXNlKHkpO3kobnVsbCxGKTtmdW5jdGlvbiB5KEUsQil7dmFyIGI9d3IobSk7eW0ucnVuKHUse2ZpbGU6Yn0sZyk7ZnVuY3Rpb24gZyhBKXtBP0IoQSk6RT9FKGIpOkYobnVsbCxiKX19fWZ1bmN0aW9uIGgobSl7dmFyIEYseTtyZXR1cm4gaSgpLExuKFwicHJvY2Vzc1N5bmNcIix1LlBhcnNlciksUG4oXCJwcm9jZXNzU3luY1wiLHUuQ29tcGlsZXIpLEY9d3IobSksRChGLEUpLHpjKFwicHJvY2Vzc1N5bmNcIixcInByb2Nlc3NcIix5KSxGO2Z1bmN0aW9uIEUoQil7eT0hMCxOYyhCKX19fWZ1bmN0aW9uIFVjKGUscil7cmV0dXJuIHR5cGVvZiBlPT1cImZ1bmN0aW9uXCImJmUucHJvdG90eXBlJiYoa20oZS5wcm90b3R5cGUpfHxyIGluIGUucHJvdG90eXBlKX1mdW5jdGlvbiBrbShlKXt2YXIgcjtmb3IociBpbiBlKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIExuKGUscil7aWYodHlwZW9mIHIhPVwiZnVuY3Rpb25cIil0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgYFwiK2UrXCJgIHdpdGhvdXQgYFBhcnNlcmBcIil9ZnVuY3Rpb24gUG4oZSxyKXtpZih0eXBlb2YgciE9XCJmdW5jdGlvblwiKXRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBgXCIrZStcImAgd2l0aG91dCBgQ29tcGlsZXJgXCIpfWZ1bmN0aW9uIEluKGUscil7aWYocil0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3QgaW52b2tlIGBcIitlK1wiYCBvbiBhIGZyb3plbiBwcm9jZXNzb3IuXFxuQ3JlYXRlIGEgbmV3IHByb2Nlc3NvciBmaXJzdCwgYnkgaW52b2tpbmcgaXQ6IHVzZSBgcHJvY2Vzc29yKClgIGluc3RlYWQgb2YgYHByb2Nlc3NvcmAuXCIpfWZ1bmN0aW9uIE1jKGUpe2lmKCFlfHx0eXBlb2YgZS50eXBlIT1cInN0cmluZ1wiKXRocm93IG5ldyBFcnJvcihcIkV4cGVjdGVkIG5vZGUsIGdvdCBgXCIrZStcImBcIil9ZnVuY3Rpb24gemMoZSxyLHQpe2lmKCF0KXRocm93IG5ldyBFcnJvcihcImBcIitlK1wiYCBmaW5pc2hlZCBhc3luYy4gVXNlIGBcIityK1wiYCBpbnN0ZWFkXCIpfX0pO3ZhciBVbj17fTt6bihVbix7bGFuZ3VhZ2VzOigpPT5NaSxvcHRpb25zOigpPT56aSxwYXJzZXJzOigpPT5SbixwcmludGVyczooKT0+Um19KTt2YXIgZGw9KGUscix0LG4pPT57aWYoIShlJiZyPT1udWxsKSlyZXR1cm4gci5yZXBsYWNlQWxsP3IucmVwbGFjZUFsbCh0LG4pOnQuZ2xvYmFsP3IucmVwbGFjZSh0LG4pOnIuc3BsaXQodCkuam9pbihuKX0sTj1kbDt2YXIgbWw9KGUscix0KT0+e2lmKCEoZSYmcj09bnVsbCkpcmV0dXJuIEFycmF5LmlzQXJyYXkocil8fHR5cGVvZiByPT1cInN0cmluZ1wiP3JbdDwwP3IubGVuZ3RoK3Q6dF06ci5hdCh0KX0sej1tbDt2YXIgUmk9VWUoa3IoKSwxKTtmdW5jdGlvbiBsZShlKXtpZih0eXBlb2YgZSE9XCJzdHJpbmdcIil0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgYSBzdHJpbmdcIik7cmV0dXJuIGUucmVwbGFjZSgvW3xcXFxce30oKVtcXF1eJCsqPy5dL2csXCJcXFxcJCZcIikucmVwbGFjZSgvLS9nLFwiXFxcXHgyZFwiKX12YXIgJD1cInN0cmluZ1wiLFc9XCJhcnJheVwiLENlPVwiY3Vyc29yXCIscmU9XCJpbmRlbnRcIix0ZT1cImFsaWduXCIsZmU9XCJ0cmltXCIsSz1cImdyb3VwXCIsSj1cImZpbGxcIixYPVwiaWYtYnJlYWtcIixEZT1cImluZGVudC1pZi1icmVha1wiLHBlPVwibGluZS1zdWZmaXhcIixoZT1cImxpbmUtc3VmZml4LWJvdW5kYXJ5XCIsSD1cImxpbmVcIixkZT1cImxhYmVsXCIsbmU9XCJicmVhay1wYXJlbnRcIixCcj1uZXcgU2V0KFtDZSxyZSx0ZSxmZSxLLEosWCxEZSxwZSxoZSxILGRlLG5lXSk7ZnVuY3Rpb24gZ2woZSl7aWYodHlwZW9mIGU9PVwic3RyaW5nXCIpcmV0dXJuICQ7aWYoQXJyYXkuaXNBcnJheShlKSlyZXR1cm4gVztpZighZSlyZXR1cm47bGV0e3R5cGU6cn09ZTtpZihCci5oYXMocikpcmV0dXJuIHJ9dmFyIFk9Z2w7dmFyIHZsPWU9Pm5ldyBJbnRsLkxpc3RGb3JtYXQoXCJlbi1VU1wiLHt0eXBlOlwiZGlzanVuY3Rpb25cIn0pLmZvcm1hdChlKTtmdW5jdGlvbiBFbChlKXtsZXQgcj1lPT09bnVsbD9cIm51bGxcIjp0eXBlb2YgZTtpZihyIT09XCJzdHJpbmdcIiYmciE9PVwib2JqZWN0XCIpcmV0dXJuYFVuZXhwZWN0ZWQgZG9jICcke3J9JywgXG5FeHBlY3RlZCBpdCB0byBiZSAnc3RyaW5nJyBvciAnb2JqZWN0Jy5gO2lmKFkoZSkpdGhyb3cgbmV3IEVycm9yKFwiZG9jIGlzIHZhbGlkLlwiKTtsZXQgdD1PYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZSk7aWYodCE9PVwiW29iamVjdCBPYmplY3RdXCIpcmV0dXJuYFVuZXhwZWN0ZWQgZG9jICcke3R9Jy5gO2xldCBuPXZsKFsuLi5Ccl0ubWFwKGE9PmAnJHthfSdgKSk7cmV0dXJuYFVuZXhwZWN0ZWQgZG9jLnR5cGUgJyR7ZS50eXBlfScuXG5FeHBlY3RlZCBpdCB0byBiZSAke259LmB9dmFyIGh0PWNsYXNzIGV4dGVuZHMgRXJyb3J7bmFtZT1cIkludmFsaWREb2NFcnJvclwiO2NvbnN0cnVjdG9yKHIpe3N1cGVyKEVsKHIpKSx0aGlzLmRvYz1yfX0sVGU9aHQ7dmFyICRuPXt9O2Z1bmN0aW9uIENsKGUscix0LG4pe2xldCBhPVtlXTtmb3IoO2EubGVuZ3RoPjA7KXtsZXQgdT1hLnBvcCgpO2lmKHU9PT0kbil7dChhLnBvcCgpKTtjb250aW51ZX10JiZhLnB1c2godSwkbik7bGV0IGk9WSh1KTtpZighaSl0aHJvdyBuZXcgVGUodSk7aWYoKHI9PW51bGw/dm9pZCAwOnIodSkpIT09ITEpc3dpdGNoKGkpe2Nhc2UgVzpjYXNlIEo6e2xldCBvPWk9PT1XP3U6dS5wYXJ0cztmb3IobGV0IHM9by5sZW5ndGgsbD1zLTE7bD49MDstLWwpYS5wdXNoKG9bbF0pO2JyZWFrfWNhc2UgWDphLnB1c2godS5mbGF0Q29udGVudHMsdS5icmVha0NvbnRlbnRzKTticmVhaztjYXNlIEs6aWYobiYmdS5leHBhbmRlZFN0YXRlcylmb3IobGV0IG89dS5leHBhbmRlZFN0YXRlcy5sZW5ndGgscz1vLTE7cz49MDstLXMpYS5wdXNoKHUuZXhwYW5kZWRTdGF0ZXNbc10pO2Vsc2UgYS5wdXNoKHUuY29udGVudHMpO2JyZWFrO2Nhc2UgdGU6Y2FzZSByZTpjYXNlIERlOmNhc2UgZGU6Y2FzZSBwZTphLnB1c2godS5jb250ZW50cyk7YnJlYWs7Y2FzZSAkOmNhc2UgQ2U6Y2FzZSBmZTpjYXNlIGhlOmNhc2UgSDpjYXNlIG5lOmJyZWFrO2RlZmF1bHQ6dGhyb3cgbmV3IFRlKHUpfX19dmFyIFduPUNsO3ZhciBIbj0oKT0+e30scWU9SG4sVHI9SG47ZnVuY3Rpb24gdHIoZSl7cmV0dXJuIHFlKGUpLHt0eXBlOnJlLGNvbnRlbnRzOmV9fWZ1bmN0aW9uIGJlKGUscil7cmV0dXJuIHFlKHIpLHt0eXBlOnRlLGNvbnRlbnRzOnIsbjplfX1mdW5jdGlvbiBNZShlLHI9e30pe3JldHVybiBxZShlKSxUcihyLmV4cGFuZGVkU3RhdGVzLCEwKSx7dHlwZTpLLGlkOnIuaWQsY29udGVudHM6ZSxicmVhazohIXIuc2hvdWxkQnJlYWssZXhwYW5kZWRTdGF0ZXM6ci5leHBhbmRlZFN0YXRlc319ZnVuY3Rpb24gX2UoZSl7cmV0dXJuIGJlKHt0eXBlOlwicm9vdFwifSxlKX1mdW5jdGlvbiB6ZShlKXtyZXR1cm4gVHIoZSkse3R5cGU6SixwYXJ0czplfX1mdW5jdGlvbiBLbihlLHI9XCJcIix0PXt9KXtyZXR1cm4gcWUoZSksciE9PVwiXCImJnFlKHIpLHt0eXBlOlgsYnJlYWtDb250ZW50czplLGZsYXRDb250ZW50czpyLGdyb3VwSWQ6dC5ncm91cElkfX12YXIgbnI9e3R5cGU6bmV9O3ZhciBpcj17dHlwZTpILGhhcmQ6ITB9LGJsPXt0eXBlOkgsaGFyZDohMCxsaXRlcmFsOiEwfSxxcj17dHlwZTpIfSxfcj17dHlwZTpILHNvZnQ6ITB9LFA9W2lyLG5yXSx1cj1bYmwsbnJdO2Z1bmN0aW9uIFNyKGUscil7cWUoZSksVHIocik7bGV0IHQ9W107Zm9yKGxldCBuPTA7bjxyLmxlbmd0aDtuKyspbiE9PTAmJnQucHVzaChlKSx0LnB1c2gocltuXSk7cmV0dXJuIHR9ZnVuY3Rpb24geWwoZSxyKXtpZih0eXBlb2YgZT09XCJzdHJpbmdcIilyZXR1cm4gcihlKTtsZXQgdD1uZXcgTWFwO3JldHVybiBuKGUpO2Z1bmN0aW9uIG4odSl7aWYodC5oYXModSkpcmV0dXJuIHQuZ2V0KHUpO2xldCBpPWEodSk7cmV0dXJuIHQuc2V0KHUsaSksaX1mdW5jdGlvbiBhKHUpe3N3aXRjaChZKHUpKXtjYXNlIFc6cmV0dXJuIHIodS5tYXAobikpO2Nhc2UgSjpyZXR1cm4gcih7Li4udSxwYXJ0czp1LnBhcnRzLm1hcChuKX0pO2Nhc2UgWDpyZXR1cm4gcih7Li4udSxicmVha0NvbnRlbnRzOm4odS5icmVha0NvbnRlbnRzKSxmbGF0Q29udGVudHM6bih1LmZsYXRDb250ZW50cyl9KTtjYXNlIEs6e2xldHtleHBhbmRlZFN0YXRlczppLGNvbnRlbnRzOm99PXU7cmV0dXJuIGk/KGk9aS5tYXAobiksbz1pWzBdKTpvPW4obykscih7Li4udSxjb250ZW50czpvLGV4cGFuZGVkU3RhdGVzOml9KX1jYXNlIHRlOmNhc2UgcmU6Y2FzZSBEZTpjYXNlIGRlOmNhc2UgcGU6cmV0dXJuIHIoey4uLnUsY29udGVudHM6bih1LmNvbnRlbnRzKX0pO2Nhc2UgJDpjYXNlIENlOmNhc2UgZmU6Y2FzZSBoZTpjYXNlIEg6Y2FzZSBuZTpyZXR1cm4gcih1KTtkZWZhdWx0OnRocm93IG5ldyBUZSh1KX19fWZ1bmN0aW9uIEpuKGUpe2lmKGUubGVuZ3RoPjApe2xldCByPXooITEsZSwtMSk7IXIuZXhwYW5kZWRTdGF0ZXMmJiFyLmJyZWFrJiYoci5icmVhaz1cInByb3BhZ2F0ZWRcIil9cmV0dXJuIG51bGx9ZnVuY3Rpb24gWG4oZSl7bGV0IHI9bmV3IFNldCx0PVtdO2Z1bmN0aW9uIG4odSl7aWYodS50eXBlPT09bmUmJkpuKHQpLHUudHlwZT09PUspe2lmKHQucHVzaCh1KSxyLmhhcyh1KSlyZXR1cm4hMTtyLmFkZCh1KX19ZnVuY3Rpb24gYSh1KXt1LnR5cGU9PT1LJiZ0LnBvcCgpLmJyZWFrJiZKbih0KX1XbihlLG4sYSwhMCl9ZnVuY3Rpb24geWUoZSxyPXVyKXtyZXR1cm4geWwoZSx0PT50eXBlb2YgdD09XCJzdHJpbmdcIj9TcihyLHQuc3BsaXQoYFxuYCkpOnQpfWZ1bmN0aW9uIEFsKGUscil7bGV0IHQ9ZS5tYXRjaChuZXcgUmVnRXhwKGAoJHtsZShyKX0pK2AsXCJndVwiKSk7cmV0dXJuIHQ9PT1udWxsPzA6dC5yZWR1Y2UoKG4sYSk9Pk1hdGgubWF4KG4sYS5sZW5ndGgvci5sZW5ndGgpLDApfXZhciBPcj1BbDtmdW5jdGlvbiB4bChlLHIpe2xldCB0PWUubWF0Y2gobmV3IFJlZ0V4cChgKCR7bGUocil9KStgLFwiZ3VcIikpO2lmKHQ9PT1udWxsKXJldHVybiAwO2xldCBuPW5ldyBNYXAsYT0wO2ZvcihsZXQgdSBvZiB0KXtsZXQgaT11Lmxlbmd0aC9yLmxlbmd0aDtuLnNldChpLCEwKSxpPmEmJihhPWkpfWZvcihsZXQgdT0xO3U8YTt1KyspaWYoIW4uZ2V0KHUpKXJldHVybiB1O3JldHVybiBhKzF9dmFyIFFuPXhsO3ZhciBMcj1cIidcIixabj0nXCInO2Z1bmN0aW9uIHdsKGUscil7bGV0IHQ9cj09PSEwfHxyPT09THI/THI6Wm4sbj10PT09THI/Wm46THIsYT0wLHU9MDtmb3IobGV0IGkgb2YgZSlpPT09dD9hKys6aT09PW4mJnUrKztyZXR1cm4gYT51P246dH12YXIgZWk9d2w7dmFyIGR0PWNsYXNzIGV4dGVuZHMgRXJyb3J7bmFtZT1cIlVuZXhwZWN0ZWROb2RlRXJyb3JcIjtjb25zdHJ1Y3RvcihyLHQsbj1cInR5cGVcIil7c3VwZXIoYFVuZXhwZWN0ZWQgJHt0fSBub2RlICR7bn06ICR7SlNPTi5zdHJpbmdpZnkocltuXSl9LmApLHRoaXMubm9kZT1yfX0scmk9ZHQ7dmFyIGFpPVVlKGtyKCksMSk7ZnVuY3Rpb24ga2woZSl7cmV0dXJuKGU9PW51bGw/dm9pZCAwOmUudHlwZSk9PT1cImZyb250LW1hdHRlclwifXZhciB0aT1rbDt2YXIgYXI9MztmdW5jdGlvbiBCbChlKXtsZXQgcj1lLnNsaWNlKDAsYXIpO2lmKHIhPT1cIi0tLVwiJiZyIT09XCIrKytcIilyZXR1cm47bGV0IHQ9ZS5pbmRleE9mKGBcbmAsYXIpO2lmKHQ9PT0tMSlyZXR1cm47bGV0IG49ZS5zbGljZShhcix0KS50cmltKCksYT1lLmluZGV4T2YoYFxuJHtyfWAsdCksdT1uO2lmKHV8fCh1PXI9PT1cIisrK1wiP1widG9tbFwiOlwieWFtbFwiKSxhPT09LTEmJnI9PT1cIi0tLVwiJiZ1PT09XCJ5YW1sXCImJihhPWUuaW5kZXhPZihgXG4uLi5gLHQpKSxhPT09LTEpcmV0dXJuO2xldCBpPWErMSthcixvPWUuY2hhckF0KGkrMSk7aWYoIS9cXHM/L3UudGVzdChvKSlyZXR1cm47bGV0IHM9ZS5zbGljZSgwLGkpO3JldHVybnt0eXBlOlwiZnJvbnQtbWF0dGVyXCIsbGFuZ3VhZ2U6dSxleHBsaWNpdExhbmd1YWdlOm4sdmFsdWU6ZS5zbGljZSh0KzEsYSksc3RhcnREZWxpbWl0ZXI6cixlbmREZWxpbWl0ZXI6cy5zbGljZSgtYXIpLHJhdzpzfX1mdW5jdGlvbiBUbChlKXtsZXQgcj1CbChlKTtpZighcilyZXR1cm57Y29udGVudDplfTtsZXR7cmF3OnR9PXI7cmV0dXJue2Zyb250TWF0dGVyOnIsY29udGVudDpOKCExLHQsL1teXFxuXS9ndSxcIiBcIikrZS5zbGljZSh0Lmxlbmd0aCl9fXZhciBvcj1UbDt2YXIgbmk9W1wiZm9ybWF0XCIsXCJwcmV0dGllclwiXTtmdW5jdGlvbiBtdChlKXtsZXQgcj1gQCgke25pLmpvaW4oXCJ8XCIpfSlgLHQ9bmV3IFJlZ0V4cChbYDwhLS1cXFxccyoke3J9XFxcXHMqLS0+YCxgXFxcXHtcXFxccypcXFxcL1xcXFwqXFxcXHMqJHtyfVxcXFxzKlxcXFwqXFxcXC9cXFxccypcXFxcfWAsYDwhLS0uKlxccj9cbltcXFxcc1xcXFxTXSooXnxcbilbXlxcXFxTXG5dKiR7cn1bXlxcXFxTXG5dKigkfFxuKVtcXFxcc1xcXFxTXSpcbi4qLS0+YF0uam9pbihcInxcIiksXCJtdVwiKSxuPWUubWF0Y2godCk7cmV0dXJuKG49PW51bGw/dm9pZCAwOm4uaW5kZXgpPT09MH12YXIgaWk9ZT0+bXQob3IoZSkuY29udGVudC50cmltU3RhcnQoKSksdWk9ZT0+e2xldCByPW9yKGUpLHQ9YDwhLS0gQCR7bmlbMF19IC0tPmA7cmV0dXJuIHIuZnJvbnRNYXR0ZXI/YCR7ci5mcm9udE1hdHRlci5yYXd9XG5cbiR7dH1cblxuJHtyLmNvbnRlbnR9YDpgJHt0fVxuXG4ke3IuY29udGVudH1gfTt2YXIgcWw9bmV3IFNldChbXCJwb3NpdGlvblwiLFwicmF3XCJdKTtmdW5jdGlvbiBvaShlLHIsdCl7aWYoKGUudHlwZT09PVwiZnJvbnQtbWF0dGVyXCJ8fGUudHlwZT09PVwiY29kZVwifHxlLnR5cGU9PT1cInlhbWxcInx8ZS50eXBlPT09XCJpbXBvcnRcInx8ZS50eXBlPT09XCJleHBvcnRcInx8ZS50eXBlPT09XCJqc3hcIikmJmRlbGV0ZSByLnZhbHVlLGUudHlwZT09PVwibGlzdFwiJiZkZWxldGUgci5pc0FsaWduZWQsKGUudHlwZT09PVwibGlzdFwifHxlLnR5cGU9PT1cImxpc3RJdGVtXCIpJiZkZWxldGUgci5zcHJlYWQsZS50eXBlPT09XCJ0ZXh0XCIpcmV0dXJuIG51bGw7aWYoZS50eXBlPT09XCJpbmxpbmVDb2RlXCImJihyLnZhbHVlPU4oITEsZS52YWx1ZSxgXG5gLFwiIFwiKSksZS50eXBlPT09XCJ3aWtpTGlua1wiJiYoci52YWx1ZT1OKCExLGUudmFsdWUudHJpbSgpLC9bXFx0XFxuXSsvZ3UsXCIgXCIpKSwoZS50eXBlPT09XCJkZWZpbml0aW9uXCJ8fGUudHlwZT09PVwibGlua1JlZmVyZW5jZVwifHxlLnR5cGU9PT1cImltYWdlUmVmZXJlbmNlXCIpJiYoci5sYWJlbD0oMCxhaS5kZWZhdWx0KShlLmxhYmVsKSksKGUudHlwZT09PVwibGlua1wifHxlLnR5cGU9PT1cImltYWdlXCIpJiZlLnVybCYmZS51cmwuaW5jbHVkZXMoXCIoXCIpKWZvcihsZXQgbiBvZlwiPD5cIilyLnVybD1OKCExLGUudXJsLG4sZW5jb2RlVVJJQ29tcG9uZW50KG4pKTtpZigoZS50eXBlPT09XCJkZWZpbml0aW9uXCJ8fGUudHlwZT09PVwibGlua1wifHxlLnR5cGU9PT1cImltYWdlXCIpJiZlLnRpdGxlJiYoci50aXRsZT1OKCExLGUudGl0bGUsL1xcXFwoPz1bXCInKV0pL2d1LFwiXCIpKSwodD09bnVsbD92b2lkIDA6dC50eXBlKT09PVwicm9vdFwiJiZ0LmNoaWxkcmVuLmxlbmd0aD4wJiYodC5jaGlsZHJlblswXT09PWV8fHRpKHQuY2hpbGRyZW5bMF0pJiZ0LmNoaWxkcmVuWzFdPT09ZSkmJmUudHlwZT09PVwiaHRtbFwiJiZtdChlLnZhbHVlKSlyZXR1cm4gbnVsbH1vaS5pZ25vcmVkUHJvcGVydGllcz1xbDt2YXIgc2k9b2k7dmFyIGNpPS8oPzpbXFx1ezJlYX0tXFx1ezJlYn1cXHV7MTEwMH0tXFx1ezExZmZ9XFx1ezJlODB9LVxcdXsyZTk5fVxcdXsyZTlifS1cXHV7MmVmM31cXHV7MmYwMH0tXFx1ezJmZDV9XFx1ezJmZjB9LVxcdXszMDNmfVxcdXszMDQxfS1cXHV7MzA5Nn1cXHV7MzA5OX0tXFx1ezMwZmZ9XFx1ezMxMDV9LVxcdXszMTJmfVxcdXszMTMxfS1cXHV7MzE4ZX1cXHV7MzE5MH0tXFx1ezRkYmZ9XFx1ezRlMDB9LVxcdXs5ZmZmfVxcdXthNzAwfS1cXHV7YTcwN31cXHV7YTk2MH0tXFx1e2E5N2N9XFx1e2FjMDB9LVxcdXtkN2EzfVxcdXtkN2IwfS1cXHV7ZDdjNn1cXHV7ZDdjYn0tXFx1e2Q3ZmJ9XFx1e2Y5MDB9LVxcdXtmYTZkfVxcdXtmYTcwfS1cXHV7ZmFkOX1cXHV7ZmUxMH0tXFx1e2ZlMWZ9XFx1e2ZlMzB9LVxcdXtmZTZmfVxcdXtmZjAwfS1cXHV7ZmZlZn1cXHV7MTZmZTN9XFx1ezFhZmYwfS1cXHV7MWFmZjN9XFx1ezFhZmY1fS1cXHV7MWFmZmJ9XFx1ezFhZmZkfS1cXHV7MWFmZmV9XFx1ezFiMDAwfS1cXHV7MWIxMjJ9XFx1ezFiMTMyfVxcdXsxYjE1MH0tXFx1ezFiMTUyfVxcdXsxYjE1NX1cXHV7MWIxNjR9LVxcdXsxYjE2N31cXHV7MWYyMDB9XFx1ezFmMjUwfS1cXHV7MWYyNTF9XFx1ezIwMDAwfS1cXHV7MmE2ZGZ9XFx1ezJhNzAwfS1cXHV7MmI3Mzl9XFx1ezJiNzQwfS1cXHV7MmI4MWR9XFx1ezJiODIwfS1cXHV7MmNlYTF9XFx1ezJjZWIwfS1cXHV7MmViZTB9XFx1ezJmODAwfS1cXHV7MmZhMWR9XFx1ezMwMDAwfS1cXHV7MzEzNGF9XFx1ezMxMzUwfS1cXHV7MzIzYWZ9XSkoPzpbXFx1e2ZlMDB9LVxcdXtmZTBmfVxcdXtlMDEwMH0tXFx1e2UwMWVmfV0pPy91LFNlPS8oPzpbXFx1ezIxfS1cXHV7MmZ9XFx1ezNhfS1cXHV7NDB9XFx1ezVifS1cXHV7NjB9XFx1ezdifS1cXHV7N2V9XXxcXHB7R2VuZXJhbF9DYXRlZ29yeT1Db25uZWN0b3JfUHVuY3R1YXRpb259fFxccHtHZW5lcmFsX0NhdGVnb3J5PURhc2hfUHVuY3R1YXRpb259fFxccHtHZW5lcmFsX0NhdGVnb3J5PUNsb3NlX1B1bmN0dWF0aW9ufXxcXHB7R2VuZXJhbF9DYXRlZ29yeT1GaW5hbF9QdW5jdHVhdGlvbn18XFxwe0dlbmVyYWxfQ2F0ZWdvcnk9SW5pdGlhbF9QdW5jdHVhdGlvbn18XFxwe0dlbmVyYWxfQ2F0ZWdvcnk9T3RoZXJfUHVuY3R1YXRpb259fFxccHtHZW5lcmFsX0NhdGVnb3J5PU9wZW5fUHVuY3R1YXRpb259KS91O2FzeW5jIGZ1bmN0aW9uIF9sKGUscil7aWYoZS5sYW5ndWFnZT09PVwieWFtbFwiKXtsZXQgdD1lLnZhbHVlLnRyaW0oKSxuPXQ/YXdhaXQgcih0LHtwYXJzZXI6XCJ5YW1sXCJ9KTpcIlwiO3JldHVybiBfZShbZS5zdGFydERlbGltaXRlcixlLmV4cGxpY2l0TGFuZ3VhZ2UsUCxuLG4/UDpcIlwiLGUuZW5kRGVsaW1pdGVyXSl9fXZhciBsaT1fbDt2YXIgU2w9ZT0+U3RyaW5nKGUpLnNwbGl0KC9bL1xcXFxdL3UpLnBvcCgpO2Z1bmN0aW9uIGZpKGUscil7aWYoIXIpcmV0dXJuO2xldCB0PVNsKHIpLnRvTG93ZXJDYXNlKCk7cmV0dXJuIGUuZmluZCgoe2ZpbGVuYW1lczpufSk9Pm49PW51bGw/dm9pZCAwOm4uc29tZShhPT5hLnRvTG93ZXJDYXNlKCk9PT10KSk/P2UuZmluZCgoe2V4dGVuc2lvbnM6bn0pPT5uPT1udWxsP3ZvaWQgMDpuLnNvbWUoYT0+dC5lbmRzV2l0aChhKSkpfWZ1bmN0aW9uIE9sKGUscil7aWYocilyZXR1cm4gZS5maW5kKCh7bmFtZTp0fSk9PnQudG9Mb3dlckNhc2UoKT09PXIpPz9lLmZpbmQoKHthbGlhc2VzOnR9KT0+dD09bnVsbD92b2lkIDA6dC5pbmNsdWRlcyhyKSk/P2UuZmluZCgoe2V4dGVuc2lvbnM6dH0pPT50PT1udWxsP3ZvaWQgMDp0LmluY2x1ZGVzKGAuJHtyfWApKX1mdW5jdGlvbiBMbChlLHIpe2xldCB0PWUucGx1Z2lucy5mbGF0TWFwKGE9PmEubGFuZ3VhZ2VzPz9bXSksbj1PbCh0LHIubGFuZ3VhZ2UpPz9maSh0LHIucGh5c2ljYWxGaWxlKT8/ZmkodCxyLmZpbGUpPz8oci5waHlzaWNhbEZpbGUsdm9pZCAwKTtyZXR1cm4gbj09bnVsbD92b2lkIDA6bi5wYXJzZXJzWzBdfXZhciBEaT1MbDt2YXIgUGw9bmV3IFByb3h5KCgpPT57fSx7Z2V0OigpPT5QbH0pO2Z1bmN0aW9uIE9lKGUpe3JldHVybiBlLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldH1mdW5jdGlvbiBMZShlKXtyZXR1cm4gZS5wb3NpdGlvbi5lbmQub2Zmc2V0fXZhciBGdD1uZXcgU2V0KFtcImxpcXVpZE5vZGVcIixcImlubGluZUNvZGVcIixcImVtcGhhc2lzXCIsXCJlc0NvbW1lbnRcIixcInN0cm9uZ1wiLFwiZGVsZXRlXCIsXCJ3aWtpTGlua1wiLFwibGlua1wiLFwibGlua1JlZmVyZW5jZVwiLFwiaW1hZ2VcIixcImltYWdlUmVmZXJlbmNlXCIsXCJmb290bm90ZVwiLFwiZm9vdG5vdGVSZWZlcmVuY2VcIixcInNlbnRlbmNlXCIsXCJ3aGl0ZXNwYWNlXCIsXCJ3b3JkXCIsXCJicmVha1wiLFwiaW5saW5lTWF0aFwiXSksUHI9bmV3IFNldChbLi4uRnQsXCJ0YWJsZUNlbGxcIixcInBhcmFncmFwaFwiLFwiaGVhZGluZ1wiXSksR2U9XCJub24tY2prXCIsaWU9XCJjai1sZXR0ZXJcIixQZT1cImstbGV0dGVyXCIsc3I9XCJjamstcHVuY3R1YXRpb25cIixJbD0vXFxwe1NjcmlwdF9FeHRlbnNpb25zPUhhbmd1bH0vdTtmdW5jdGlvbiBJcihlKXtsZXQgcj1bXSx0PWUuc3BsaXQoLyhbXFx0XFxuIF0rKS91KTtmb3IobGV0W2EsdV1vZiB0LmVudHJpZXMoKSl7aWYoYSUyPT09MSl7ci5wdXNoKHt0eXBlOlwid2hpdGVzcGFjZVwiLHZhbHVlOi9cXG4vdS50ZXN0KHUpP2BcbmA6XCIgXCJ9KTtjb250aW51ZX1pZigoYT09PTB8fGE9PT10Lmxlbmd0aC0xKSYmdT09PVwiXCIpY29udGludWU7bGV0IGk9dS5zcGxpdChuZXcgUmVnRXhwKGAoJHtjaS5zb3VyY2V9KWAsXCJ1XCIpKTtmb3IobGV0W28sc11vZiBpLmVudHJpZXMoKSlpZighKChvPT09MHx8bz09PWkubGVuZ3RoLTEpJiZzPT09XCJcIikpe2lmKG8lMj09PTApe3MhPT1cIlwiJiZuKHt0eXBlOlwid29yZFwiLHZhbHVlOnMsa2luZDpHZSxpc0NKOiExLGhhc0xlYWRpbmdQdW5jdHVhdGlvbjpTZS50ZXN0KHNbMF0pLGhhc1RyYWlsaW5nUHVuY3R1YXRpb246U2UudGVzdCh6KCExLHMsLTEpKX0pO2NvbnRpbnVlfWlmKFNlLnRlc3Qocykpe24oe3R5cGU6XCJ3b3JkXCIsdmFsdWU6cyxraW5kOnNyLGlzQ0o6ITAsaGFzTGVhZGluZ1B1bmN0dWF0aW9uOiEwLGhhc1RyYWlsaW5nUHVuY3R1YXRpb246ITB9KTtjb250aW51ZX1pZihJbC50ZXN0KHMpKXtuKHt0eXBlOlwid29yZFwiLHZhbHVlOnMsa2luZDpQZSxpc0NKOiExLGhhc0xlYWRpbmdQdW5jdHVhdGlvbjohMSxoYXNUcmFpbGluZ1B1bmN0dWF0aW9uOiExfSk7Y29udGludWV9bih7dHlwZTpcIndvcmRcIix2YWx1ZTpzLGtpbmQ6aWUsaXNDSjohMCxoYXNMZWFkaW5nUHVuY3R1YXRpb246ITEsaGFzVHJhaWxpbmdQdW5jdHVhdGlvbjohMX0pfX1yZXR1cm4gcjtmdW5jdGlvbiBuKGEpe2xldCB1PXooITEsciwtMSk7KHU9PW51bGw/dm9pZCAwOnUudHlwZSk9PT1cIndvcmRcIiYmIWkoR2Usc3IpJiYhW3UudmFsdWUsYS52YWx1ZV0uc29tZShvPT4vXFx1MzAwMC91LnRlc3QobykpJiZyLnB1c2goe3R5cGU6XCJ3aGl0ZXNwYWNlXCIsdmFsdWU6XCJcIn0pLHIucHVzaChhKTtmdW5jdGlvbiBpKG8scyl7cmV0dXJuIHUua2luZD09PW8mJmEua2luZD09PXN8fHUua2luZD09PXMmJmEua2luZD09PW99fX1mdW5jdGlvbiBZZShlLHIpe2xldCB0PXIub3JpZ2luYWxUZXh0LnNsaWNlKGUucG9zaXRpb24uc3RhcnQub2Zmc2V0LGUucG9zaXRpb24uZW5kLm9mZnNldCkse251bWJlclRleHQ6bixsZWFkaW5nU3BhY2VzOmF9PXQubWF0Y2goL15cXHMqKD88bnVtYmVyVGV4dD5cXGQrKShcXC58XFwpKSg/PGxlYWRpbmdTcGFjZXM+XFxzKikvdSkuZ3JvdXBzO3JldHVybntudW1iZXI6TnVtYmVyKG4pLGxlYWRpbmdTcGFjZXM6YX19ZnVuY3Rpb24gcGkoZSxyKXtyZXR1cm4hZS5vcmRlcmVkfHxlLmNoaWxkcmVuLmxlbmd0aDwyfHxZZShlLmNoaWxkcmVuWzFdLHIpLm51bWJlciE9PTE/ITE6WWUoZS5jaGlsZHJlblswXSxyKS5udW1iZXIhPT0wPyEwOmUuY2hpbGRyZW4ubGVuZ3RoPjImJlllKGUuY2hpbGRyZW5bMl0scikubnVtYmVyPT09MX1mdW5jdGlvbiBOcihlLHIpe2xldHt2YWx1ZTp0fT1lO3JldHVybiBlLnBvc2l0aW9uLmVuZC5vZmZzZXQ9PT1yLmxlbmd0aCYmdC5lbmRzV2l0aChgXG5gKSYmci5lbmRzV2l0aChgXG5gKT90LnNsaWNlKDAsLTEpOnR9ZnVuY3Rpb24gQWUoZSxyKXtyZXR1cm4gZnVuY3Rpb24gdChuLGEsdSl7bGV0IGk9ey4uLnIobixhLHUpfTtyZXR1cm4gaS5jaGlsZHJlbiYmKGkuY2hpbGRyZW49aS5jaGlsZHJlbi5tYXAoKG8scyk9PnQobyxzLFtpLC4uLnVdKSkpLGl9KGUsbnVsbCxbXSl9ZnVuY3Rpb24gZ3QoZSl7aWYoKGU9PW51bGw/dm9pZCAwOmUudHlwZSkhPT1cImxpbmtcInx8ZS5jaGlsZHJlbi5sZW5ndGghPT0xKXJldHVybiExO2xldFtyXT1lLmNoaWxkcmVuO3JldHVybiBPZShlKT09PU9lKHIpJiZMZShlKT09PUxlKHIpfWZ1bmN0aW9uIE5sKGUscil7bGV0e25vZGU6dH09ZTtpZih0LnR5cGU9PT1cImNvZGVcIiYmdC5sYW5nIT09bnVsbCl7bGV0IG49RGkocix7bGFuZ3VhZ2U6dC5sYW5nfSk7aWYobilyZXR1cm4gYXN5bmMgYT0+e2xldCB1PXIuX19pbkpzVGVtcGxhdGU/XCJ+XCI6XCJgXCIsaT11LnJlcGVhdChNYXRoLm1heCgzLE9yKHQudmFsdWUsdSkrMSkpLG89e3BhcnNlcjpufTt0Lmxhbmc9PT1cInRzXCJ8fHQubGFuZz09PVwidHlwZXNjcmlwdFwiP28uZmlsZXBhdGg9XCJkdW1teS50c1wiOnQubGFuZz09PVwidHN4XCImJihvLmZpbGVwYXRoPVwiZHVtbXkudHN4XCIpO2xldCBzPWF3YWl0IGEoTnIodCxyLm9yaWdpbmFsVGV4dCksbyk7cmV0dXJuIF9lKFtpLHQubGFuZyx0Lm1ldGE/XCIgXCIrdC5tZXRhOlwiXCIsUCx5ZShzKSxQLGldKX19c3dpdGNoKHQudHlwZSl7Y2FzZVwiZnJvbnQtbWF0dGVyXCI6cmV0dXJuIG49PmxpKHQsbik7Y2FzZVwiaW1wb3J0XCI6Y2FzZVwiZXhwb3J0XCI6cmV0dXJuIG49Pm4odC52YWx1ZSx7cGFyc2VyOlwiYmFiZWxcIn0pO2Nhc2VcImpzeFwiOnJldHVybiBuPT5uKGA8JD4ke3QudmFsdWV9PC8kPmAse3BhcnNlcjpcIl9fanNfZXhwcmVzc2lvblwiLHJvb3RNYXJrZXI6XCJtZHhcIn0pfXJldHVybiBudWxsfXZhciBoaT1ObDt2YXIgY3I9bnVsbDtmdW5jdGlvbiBscihlKXtpZihjciE9PW51bGwmJnR5cGVvZiBjci5wcm9wZXJ0eSl7bGV0IHI9Y3I7cmV0dXJuIGNyPWxyLnByb3RvdHlwZT1udWxsLHJ9cmV0dXJuIGNyPWxyLnByb3RvdHlwZT1lPz9PYmplY3QuY3JlYXRlKG51bGwpLG5ldyBscn12YXIgUmw9MTA7Zm9yKGxldCBlPTA7ZTw9Umw7ZSsrKWxyKCk7ZnVuY3Rpb24gdnQoZSl7cmV0dXJuIGxyKGUpfWZ1bmN0aW9uIFVsKGUscj1cInR5cGVcIil7dnQoZSk7ZnVuY3Rpb24gdChuKXtsZXQgYT1uW3JdLHU9ZVthXTtpZighQXJyYXkuaXNBcnJheSh1KSl0aHJvdyBPYmplY3QuYXNzaWduKG5ldyBFcnJvcihgTWlzc2luZyB2aXNpdG9yIGtleXMgZm9yICcke2F9Jy5gKSx7bm9kZTpufSk7cmV0dXJuIHV9cmV0dXJuIHR9dmFyIGRpPVVsO3ZhciBNbD17XCJmcm9udC1tYXR0ZXJcIjpbXSxyb290OltcImNoaWxkcmVuXCJdLHBhcmFncmFwaDpbXCJjaGlsZHJlblwiXSxzZW50ZW5jZTpbXCJjaGlsZHJlblwiXSx3b3JkOltdLHdoaXRlc3BhY2U6W10sZW1waGFzaXM6W1wiY2hpbGRyZW5cIl0sc3Ryb25nOltcImNoaWxkcmVuXCJdLGRlbGV0ZTpbXCJjaGlsZHJlblwiXSxpbmxpbmVDb2RlOltdLHdpa2lMaW5rOltdLGxpbms6W1wiY2hpbGRyZW5cIl0saW1hZ2U6W10sYmxvY2txdW90ZTpbXCJjaGlsZHJlblwiXSxoZWFkaW5nOltcImNoaWxkcmVuXCJdLGNvZGU6W10saHRtbDpbXSxsaXN0OltcImNoaWxkcmVuXCJdLHRoZW1hdGljQnJlYWs6W10sbGlua1JlZmVyZW5jZTpbXCJjaGlsZHJlblwiXSxpbWFnZVJlZmVyZW5jZTpbXSxkZWZpbml0aW9uOltdLGZvb3Rub3RlOltcImNoaWxkcmVuXCJdLGZvb3Rub3RlUmVmZXJlbmNlOltdLGZvb3Rub3RlRGVmaW5pdGlvbjpbXCJjaGlsZHJlblwiXSx0YWJsZTpbXCJjaGlsZHJlblwiXSx0YWJsZUNlbGw6W1wiY2hpbGRyZW5cIl0sYnJlYWs6W10sbGlxdWlkTm9kZTpbXSxpbXBvcnQ6W10sZXhwb3J0OltdLGVzQ29tbWVudDpbXSxqc3g6W10sbWF0aDpbXSxpbmxpbmVNYXRoOltdLHRhYmxlUm93OltcImNoaWxkcmVuXCJdLGxpc3RJdGVtOltcImNoaWxkcmVuXCJdLHRleHQ6W119LG1pPU1sO3ZhciB6bD1kaShtaSksRmk9emw7ZnVuY3Rpb24gZ2koZSl7c3dpdGNoKGUpe2Nhc2VcImNyXCI6cmV0dXJuXCJcXHJcIjtjYXNlXCJjcmxmXCI6cmV0dXJuYFxcclxuYDtkZWZhdWx0OnJldHVybmBcbmB9fXZhciB2aT0oKT0+L1sjKjAtOV1cXHVGRTBGP1xcdTIwRTN8W1xceEE5XFx4QUVcXHUyMDNDXFx1MjA0OVxcdTIxMjJcXHUyMTM5XFx1MjE5NC1cXHUyMTk5XFx1MjFBOVxcdTIxQUFcXHUyMzFBXFx1MjMxQlxcdTIzMjhcXHUyM0NGXFx1MjNFRC1cXHUyM0VGXFx1MjNGMVxcdTIzRjJcXHUyM0Y4LVxcdTIzRkFcXHUyNEMyXFx1MjVBQVxcdTI1QUJcXHUyNUI2XFx1MjVDMFxcdTI1RkJcXHUyNUZDXFx1MjVGRVxcdTI2MDAtXFx1MjYwNFxcdTI2MEVcXHUyNjExXFx1MjYxNFxcdTI2MTVcXHUyNjE4XFx1MjYyMFxcdTI2MjJcXHUyNjIzXFx1MjYyNlxcdTI2MkFcXHUyNjJFXFx1MjYyRlxcdTI2MzgtXFx1MjYzQVxcdTI2NDBcXHUyNjQyXFx1MjY0OC1cXHUyNjUzXFx1MjY1RlxcdTI2NjBcXHUyNjYzXFx1MjY2NVxcdTI2NjZcXHUyNjY4XFx1MjY3QlxcdTI2N0VcXHUyNjdGXFx1MjY5MlxcdTI2OTQtXFx1MjY5N1xcdTI2OTlcXHUyNjlCXFx1MjY5Q1xcdTI2QTBcXHUyNkE3XFx1MjZBQVxcdTI2QjBcXHUyNkIxXFx1MjZCRFxcdTI2QkVcXHUyNkM0XFx1MjZDOFxcdTI2Q0ZcXHUyNkQxXFx1MjZFOVxcdTI2RjAtXFx1MjZGNVxcdTI2RjdcXHUyNkY4XFx1MjZGQVxcdTI3MDJcXHUyNzA4XFx1MjcwOVxcdTI3MEZcXHUyNzEyXFx1MjcxNFxcdTI3MTZcXHUyNzFEXFx1MjcyMVxcdTI3MzNcXHUyNzM0XFx1Mjc0NFxcdTI3NDdcXHUyNzU3XFx1Mjc2M1xcdTI3QTFcXHUyOTM0XFx1MjkzNVxcdTJCMDUtXFx1MkIwN1xcdTJCMUJcXHUyQjFDXFx1MkI1NVxcdTMwMzBcXHUzMDNEXFx1MzI5N1xcdTMyOTldXFx1RkUwRj98W1xcdTI2MURcXHUyNzBDXFx1MjcwRF0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RkUwRik/fFtcXHUyNzBBXFx1MjcwQl0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xbXFx1MjNFOS1cXHUyM0VDXFx1MjNGMFxcdTIzRjNcXHUyNUZEXFx1MjY5M1xcdTI2QTFcXHUyNkFCXFx1MjZDNVxcdTI2Q0VcXHUyNkQ0XFx1MjZFQVxcdTI2RkRcXHUyNzA1XFx1MjcyOFxcdTI3NENcXHUyNzRFXFx1Mjc1My1cXHUyNzU1XFx1Mjc5NS1cXHUyNzk3XFx1MjdCMFxcdTI3QkZcXHUyQjUwXXxcXHUyNkQzXFx1RkUwRj8oPzpcXHUyMDBEXFx1RDgzRFxcdURDQTUpP3xcXHUyNkY5KD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUZFMEYpPyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xcXHUyNzY0XFx1RkUwRj8oPzpcXHUyMDBEKD86XFx1RDgzRFxcdUREMjV8XFx1RDgzRVxcdURFNzkpKT98XFx1RDgzQyg/OltcXHVEQzA0XFx1REQ3MFxcdURENzFcXHVERDdFXFx1REQ3RlxcdURFMDJcXHVERTM3XFx1REYyMVxcdURGMjQtXFx1REYyQ1xcdURGMzZcXHVERjdEXFx1REY5NlxcdURGOTdcXHVERjk5LVxcdURGOUJcXHVERjlFXFx1REY5RlxcdURGQ0RcXHVERkNFXFx1REZENC1cXHVERkRGXFx1REZGNVxcdURGRjddXFx1RkUwRj98W1xcdURGODVcXHVERkMyXFx1REZDN10oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xbXFx1REZDNFxcdURGQ0FdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98W1xcdURGQ0JcXHVERkNDXSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVGRTBGKT8oPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98W1xcdURDQ0ZcXHVERDhFXFx1REQ5MS1cXHVERDlBXFx1REUwMVxcdURFMUFcXHVERTJGXFx1REUzMi1cXHVERTM2XFx1REUzOC1cXHVERTNBXFx1REU1MFxcdURFNTFcXHVERjAwLVxcdURGMjBcXHVERjJELVxcdURGMzVcXHVERjM3LVxcdURGNDNcXHVERjQ1LVxcdURGNEFcXHVERjRDLVxcdURGN0NcXHVERjdFLVxcdURGODRcXHVERjg2LVxcdURGOTNcXHVERkEwLVxcdURGQzFcXHVERkM1XFx1REZDNlxcdURGQzhcXHVERkM5XFx1REZDRi1cXHVERkQzXFx1REZFMC1cXHVERkYwXFx1REZGOC1cXHVERkZGXXxcXHVEREU2XFx1RDgzQ1tcXHVEREU4LVxcdURERUNcXHVEREVFXFx1RERGMVxcdURERjJcXHVEREY0XFx1RERGNi1cXHVEREZBXFx1RERGQ1xcdURERkRcXHVEREZGXXxcXHVEREU3XFx1RDgzQ1tcXHVEREU2XFx1RERFN1xcdURERTktXFx1RERFRlxcdURERjEtXFx1RERGNFxcdURERjYtXFx1RERGOVxcdURERkJcXHVEREZDXFx1RERGRVxcdURERkZdfFxcdURERThcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFOVxcdURERUItXFx1RERFRVxcdURERjAtXFx1RERGN1xcdURERkEtXFx1RERGRl18XFx1RERFOVxcdUQ4M0NbXFx1RERFQVxcdURERUNcXHVEREVGXFx1RERGMFxcdURERjJcXHVEREY0XFx1RERGRl18XFx1RERFQVxcdUQ4M0NbXFx1RERFNlxcdURERThcXHVEREVBXFx1RERFQ1xcdURERURcXHVEREY3LVxcdURERkFdfFxcdURERUJcXHVEODNDW1xcdURERUUtXFx1RERGMFxcdURERjJcXHVEREY0XFx1RERGN118XFx1RERFQ1xcdUQ4M0NbXFx1RERFNlxcdURERTdcXHVEREU5LVxcdURERUVcXHVEREYxLVxcdURERjNcXHVEREY1LVxcdURERkFcXHVEREZDXFx1RERGRV18XFx1RERFRFxcdUQ4M0NbXFx1RERGMFxcdURERjJcXHVEREYzXFx1RERGN1xcdURERjlcXHVEREZBXXxcXHVEREVFXFx1RDgzQ1tcXHVEREU4LVxcdURERUFcXHVEREYxLVxcdURERjRcXHVEREY2LVxcdURERjldfFxcdURERUZcXHVEODNDW1xcdURERUFcXHVEREYyXFx1RERGNFxcdURERjVdfFxcdURERjBcXHVEODNDW1xcdURERUFcXHVEREVDLVxcdURERUVcXHVEREYyXFx1RERGM1xcdURERjVcXHVEREY3XFx1RERGQ1xcdURERkVcXHVEREZGXXxcXHVEREYxXFx1RDgzQ1tcXHVEREU2LVxcdURERThcXHVEREVFXFx1RERGMFxcdURERjctXFx1RERGQlxcdURERkVdfFxcdURERjJcXHVEODNDW1xcdURERTZcXHVEREU4LVxcdURERURcXHVEREYwLVxcdURERkZdfFxcdURERjNcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFQS1cXHVEREVDXFx1RERFRVxcdURERjFcXHVEREY0XFx1RERGNVxcdURERjdcXHVEREZBXFx1RERGRl18XFx1RERGNFxcdUQ4M0NcXHVEREYyfFxcdURERjVcXHVEODNDW1xcdURERTZcXHVEREVBLVxcdURERURcXHVEREYwLVxcdURERjNcXHVEREY3LVxcdURERjlcXHVEREZDXFx1RERGRV18XFx1RERGNlxcdUQ4M0NcXHVEREU2fFxcdURERjdcXHVEODNDW1xcdURERUFcXHVEREY0XFx1RERGOFxcdURERkFcXHVEREZDXXxcXHVEREY4XFx1RDgzQ1tcXHVEREU2LVxcdURERUFcXHVEREVDLVxcdURERjRcXHVEREY3LVxcdURERjlcXHVEREZCXFx1RERGRC1cXHVEREZGXXxcXHVEREY5XFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERTlcXHVEREVCLVxcdURERURcXHVEREVGLVxcdURERjRcXHVEREY3XFx1RERGOVxcdURERkJcXHVEREZDXFx1RERGRl18XFx1RERGQVxcdUQ4M0NbXFx1RERFNlxcdURERUNcXHVEREYyXFx1RERGM1xcdURERjhcXHVEREZFXFx1RERGRl18XFx1RERGQlxcdUQ4M0NbXFx1RERFNlxcdURERThcXHVEREVBXFx1RERFQ1xcdURERUVcXHVEREYzXFx1RERGQV18XFx1RERGQ1xcdUQ4M0NbXFx1RERFQlxcdURERjhdfFxcdURERkRcXHVEODNDXFx1RERGMHxcXHVEREZFXFx1RDgzQ1tcXHVEREVBXFx1RERGOV18XFx1RERGRlxcdUQ4M0NbXFx1RERFNlxcdURERjJcXHVEREZDXXxcXHVERjQ0KD86XFx1MjAwRFxcdUQ4M0RcXHVERkVCKT98XFx1REY0Qig/OlxcdTIwMERcXHVEODNEXFx1REZFOSk/fFxcdURGQzMoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pPyg/OlxcdTIwMEQoPzpbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98XFx1MjdBMVxcdUZFMEY/KSk/fFxcdURGRjNcXHVGRTBGPyg/OlxcdTIwMEQoPzpcXHUyNkE3XFx1RkUwRj98XFx1RDgzQ1xcdURGMDgpKT98XFx1REZGNCg/OlxcdTIwMERcXHUyNjIwXFx1RkUwRj98XFx1REI0MFxcdURDNjdcXHVEQjQwXFx1REM2MlxcdURCNDAoPzpcXHVEQzY1XFx1REI0MFxcdURDNkVcXHVEQjQwXFx1REM2N3xcXHVEQzczXFx1REI0MFxcdURDNjNcXHVEQjQwXFx1REM3NHxcXHVEQzc3XFx1REI0MFxcdURDNkNcXHVEQjQwXFx1REM3MylcXHVEQjQwXFx1REM3Rik/KXxcXHVEODNEKD86W1xcdURDM0ZcXHVEQ0ZEXFx1REQ0OVxcdURENEFcXHVERDZGXFx1REQ3MFxcdURENzNcXHVERDc2LVxcdURENzlcXHVERDg3XFx1REQ4QS1cXHVERDhEXFx1RERBNVxcdUREQThcXHVEREIxXFx1RERCMlxcdUREQkNcXHVEREMyLVxcdUREQzRcXHVEREQxLVxcdURERDNcXHVERERDLVxcdUREREVcXHVEREUxXFx1RERFM1xcdURERThcXHVEREVGXFx1RERGM1xcdURERkFcXHVERUNCXFx1REVDRC1cXHVERUNGXFx1REVFMC1cXHVERUU1XFx1REVFOVxcdURFRjBcXHVERUYzXVxcdUZFMEY/fFtcXHVEQzQyXFx1REM0M1xcdURDNDYtXFx1REM1MFxcdURDNjZcXHVEQzY3XFx1REM2Qi1cXHVEQzZEXFx1REM3MlxcdURDNzQtXFx1REM3NlxcdURDNzhcXHVEQzdDXFx1REM4M1xcdURDODVcXHVEQzhGXFx1REM5MVxcdURDQUFcXHVERDdBXFx1REQ5NVxcdUREOTZcXHVERTRDXFx1REU0RlxcdURFQzBcXHVERUNDXSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/fFtcXHVEQzZFXFx1REM3MFxcdURDNzFcXHVEQzczXFx1REM3N1xcdURDODFcXHVEQzgyXFx1REM4NlxcdURDODdcXHVERTQ1LVxcdURFNDdcXHVERTRCXFx1REU0RFxcdURFNEVcXHVERUEzXFx1REVCNFxcdURFQjVdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98W1xcdURENzRcXHVERDkwXSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVGRTBGKT98W1xcdURDMDAtXFx1REMwN1xcdURDMDktXFx1REMxNFxcdURDMTYtXFx1REMyNVxcdURDMjctXFx1REMzQVxcdURDM0MtXFx1REMzRVxcdURDNDBcXHVEQzQ0XFx1REM0NVxcdURDNTEtXFx1REM2NVxcdURDNkFcXHVEQzc5LVxcdURDN0JcXHVEQzdELVxcdURDODBcXHVEQzg0XFx1REM4OC1cXHVEQzhFXFx1REM5MFxcdURDOTItXFx1RENBOVxcdURDQUItXFx1RENGQ1xcdURDRkYtXFx1REQzRFxcdURENEItXFx1REQ0RVxcdURENTAtXFx1REQ2N1xcdUREQTRcXHVEREZCLVxcdURFMkRcXHVERTJGLVxcdURFMzRcXHVERTM3LVxcdURFNDFcXHVERTQzXFx1REU0NFxcdURFNDgtXFx1REU0QVxcdURFODAtXFx1REVBMlxcdURFQTQtXFx1REVCM1xcdURFQjctXFx1REVCRlxcdURFQzEtXFx1REVDNVxcdURFRDAtXFx1REVEMlxcdURFRDUtXFx1REVEN1xcdURFREMtXFx1REVERlxcdURFRUJcXHVERUVDXFx1REVGNC1cXHVERUZDXFx1REZFMC1cXHVERkVCXFx1REZGMF18XFx1REMwOCg/OlxcdTIwMERcXHUyQjFCKT98XFx1REMxNSg/OlxcdTIwMERcXHVEODNFXFx1RERCQSk/fFxcdURDMjYoPzpcXHUyMDBEKD86XFx1MkIxQnxcXHVEODNEXFx1REQyNSkpP3xcXHVEQzNCKD86XFx1MjAwRFxcdTI3NDRcXHVGRTBGPyk/fFxcdURDNDFcXHVGRTBGPyg/OlxcdTIwMERcXHVEODNEXFx1RERFOFxcdUZFMEY/KT98XFx1REM2OCg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9cXHVEQzY4fFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldXFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzY2KD86XFx1MjAwRFxcdUQ4M0RcXHVEQzY2KT98XFx1REM2Nyg/OlxcdTIwMERcXHVEODNEW1xcdURDNjZcXHVEQzY3XSk/KXxbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEQzY2KD86XFx1MjAwRFxcdUQ4M0RcXHVEQzY2KT98XFx1REM2Nyg/OlxcdTIwMERcXHVEODNEW1xcdURDNjZcXHVEQzY3XSk/KXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM10pKXxcXHVEODNDKD86XFx1REZGQig/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9cXHVEQzY4XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OFxcdUQ4M0NbXFx1REZGQy1cXHVERkZGXSkpKT98XFx1REZGQyg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9cXHVEQzY4XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OFxcdUQ4M0NbXFx1REZGQlxcdURGRkQtXFx1REZGRl0pKSk/fFxcdURGRkQoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkJcXHVERkZDXFx1REZGRVxcdURGRkZdKSkpP3xcXHVERkZFKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzhCXFx1MjAwRFxcdUQ4M0QpP1xcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4XFx1RDgzQ1tcXHVERkZCLVxcdURGRkRcXHVERkZGXSkpKT98XFx1REZGRig/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9cXHVEQzY4XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXSkpKT8pKT98XFx1REM2OSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9bXFx1REM2OFxcdURDNjldfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0QoPzpbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEQzY2KD86XFx1MjAwRFxcdUQ4M0RcXHVEQzY2KT98XFx1REM2Nyg/OlxcdTIwMERcXHVEODNEW1xcdURDNjZcXHVEQzY3XSk/fFxcdURDNjlcXHUyMDBEXFx1RDgzRCg/OlxcdURDNjYoPzpcXHUyMDBEXFx1RDgzRFxcdURDNjYpP3xcXHVEQzY3KD86XFx1MjAwRFxcdUQ4M0RbXFx1REM2NlxcdURDNjddKT8pKXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM10pKXxcXHVEODNDKD86XFx1REZGQig/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XXxcXHVEQzhCXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldKVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV1cXHVEODNDW1xcdURGRkMtXFx1REZGRl0pKSk/fFxcdURGRkMoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV18XFx1REM4QlxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldXFx1RDgzQ1tcXHVERkZCXFx1REZGRC1cXHVERkZGXSkpKT98XFx1REZGRCg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XXxcXHVEQzhCXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldKVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV1cXHVEODNDW1xcdURGRkJcXHVERkZDXFx1REZGRVxcdURGRkZdKSkpP3xcXHVERkZFKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldfFxcdURDOEJcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XVxcdUQ4M0NbXFx1REZGQi1cXHVERkZEXFx1REZGRl0pKSk/fFxcdURGRkYoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV18XFx1REM4QlxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldXFx1RDgzQ1tcXHVERkZCLVxcdURGRkVdKSkpPykpP3xcXHVEQzZGKD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFxcdURENzUoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RkUwRik/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFxcdURFMkUoPzpcXHUyMDBEXFx1RDgzRFxcdURDQTgpP3xcXHVERTM1KD86XFx1MjAwRFxcdUQ4M0RcXHVEQ0FCKT98XFx1REUzNig/OlxcdTIwMERcXHVEODNDXFx1REYyQlxcdUZFMEY/KT98XFx1REU0Mig/OlxcdTIwMERbXFx1MjE5NFxcdTIxOTVdXFx1RkUwRj8pP3xcXHVERUI2KD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEKD86W1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFxcdTI3QTFcXHVGRTBGPykpPyl8XFx1RDgzRSg/OltcXHVERDBDXFx1REQwRlxcdUREMTgtXFx1REQxRlxcdUREMzAtXFx1REQzNFxcdUREMzZcXHVERDc3XFx1RERCNVxcdUREQjZcXHVEREJCXFx1REREMlxcdURERDNcXHVEREQ1XFx1REVDMy1cXHVERUM1XFx1REVGMFxcdURFRjItXFx1REVGOF0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xbXFx1REQyNlxcdUREMzVcXHVERDM3LVxcdUREMzlcXHVERDNEXFx1REQzRVxcdUREQjhcXHVEREI5XFx1RERDRFxcdUREQ0ZcXHVEREQ0XFx1RERENi1cXHVEREREXSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERERFXFx1RERERl0oPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98W1xcdUREMERcXHVERDBFXFx1REQxMC1cXHVERDE3XFx1REQyMC1cXHVERDI1XFx1REQyNy1cXHVERDJGXFx1REQzQVxcdUREM0YtXFx1REQ0NVxcdURENDctXFx1REQ3NlxcdURENzgtXFx1RERCNFxcdUREQjdcXHVEREJBXFx1RERCQy1cXHVERENDXFx1REREMFxcdURERTAtXFx1RERGRlxcdURFNzAtXFx1REU3Q1xcdURFODAtXFx1REU4OVxcdURFOEYtXFx1REVDMlxcdURFQzZcXHVERUNFLVxcdURFRENcXHVERURGLVxcdURFRTldfFxcdUREM0MoPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/fFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/fFxcdUREQ0UoPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pPyg/OlxcdTIwMEQoPzpbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98XFx1MjdBMVxcdUZFMEY/KSk/fFxcdURERDEoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxfFxcdURERDFcXHUyMDBEXFx1RDgzRVxcdURERDIoPzpcXHUyMDBEXFx1RDgzRVxcdURERDIpP3xcXHVEREQyKD86XFx1MjAwRFxcdUQ4M0VcXHVEREQyKT8pKXxcXHVEODNDKD86XFx1REZGQig/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMEQoPzpcXHVEODNEXFx1REM4QlxcdTIwMEQpP1xcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZDLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY4NFxcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRl0pKSk/fFxcdURGRkMoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQlxcdURGRkQtXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSkpKT98XFx1REZGRCg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMEQoPzpcXHVEODNEXFx1REM4QlxcdTIwMEQpP1xcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKSkpP3xcXHVERkZFKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCk/XFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRFxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY4NFxcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRl0pKSk/fFxcdURGRkYoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKSkpPykpP3xcXHVERUYxKD86XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEXFx1RDgzRVxcdURFRjJcXHVEODNDW1xcdURGRkMtXFx1REZGRl0pP3xcXHVERkZDKD86XFx1MjAwRFxcdUQ4M0VcXHVERUYyXFx1RDgzQ1tcXHVERkZCXFx1REZGRC1cXHVERkZGXSk/fFxcdURGRkQoPzpcXHUyMDBEXFx1RDgzRVxcdURFRjJcXHVEODNDW1xcdURGRkJcXHVERkZDXFx1REZGRVxcdURGRkZdKT98XFx1REZGRSg/OlxcdTIwMERcXHVEODNFXFx1REVGMlxcdUQ4M0NbXFx1REZGQi1cXHVERkZEXFx1REZGRl0pP3xcXHVERkZGKD86XFx1MjAwRFxcdUQ4M0VcXHVERUYyXFx1RDgzQ1tcXHVERkZCLVxcdURGRkVdKT8pKT8pL2c7ZnVuY3Rpb24gRWkoZSl7cmV0dXJuIGU9PT0xMjI4OHx8ZT49NjUyODEmJmU8PTY1Mzc2fHxlPj02NTUwNCYmZTw9NjU1MTB9ZnVuY3Rpb24gQ2koZSl7cmV0dXJuIGU+PTQzNTImJmU8PTQ0NDd8fGU9PT04OTg2fHxlPT09ODk4N3x8ZT09PTkwMDF8fGU9PT05MDAyfHxlPj05MTkzJiZlPD05MTk2fHxlPT09OTIwMHx8ZT09PTkyMDN8fGU9PT05NzI1fHxlPT09OTcyNnx8ZT09PTk3NDh8fGU9PT05NzQ5fHxlPj05Nzc2JiZlPD05NzgzfHxlPj05ODAwJiZlPD05ODExfHxlPT09OTg1NXx8ZT49OTg2NiYmZTw9OTg3MXx8ZT09PTk4NzV8fGU9PT05ODg5fHxlPT09OTg5OHx8ZT09PTk4OTl8fGU9PT05OTE3fHxlPT09OTkxOHx8ZT09PTk5MjR8fGU9PT05OTI1fHxlPT09OTkzNHx8ZT09PTk5NDB8fGU9PT05OTYyfHxlPT09OTk3MHx8ZT09PTk5NzF8fGU9PT05OTczfHxlPT09OTk3OHx8ZT09PTk5ODF8fGU9PT05OTg5fHxlPT09OTk5NHx8ZT09PTk5OTV8fGU9PT0xMDAyNHx8ZT09PTEwMDYwfHxlPT09MTAwNjJ8fGU+PTEwMDY3JiZlPD0xMDA2OXx8ZT09PTEwMDcxfHxlPj0xMDEzMyYmZTw9MTAxMzV8fGU9PT0xMDE2MHx8ZT09PTEwMTc1fHxlPT09MTEwMzV8fGU9PT0xMTAzNnx8ZT09PTExMDg4fHxlPT09MTEwOTN8fGU+PTExOTA0JiZlPD0xMTkyOXx8ZT49MTE5MzEmJmU8PTEyMDE5fHxlPj0xMjAzMiYmZTw9MTIyNDV8fGU+PTEyMjcyJiZlPD0xMjI4N3x8ZT49MTIyODkmJmU8PTEyMzUwfHxlPj0xMjM1MyYmZTw9MTI0Mzh8fGU+PTEyNDQxJiZlPD0xMjU0M3x8ZT49MTI1NDkmJmU8PTEyNTkxfHxlPj0xMjU5MyYmZTw9MTI2ODZ8fGU+PTEyNjg4JiZlPD0xMjc3M3x8ZT49MTI3ODMmJmU8PTEyODMwfHxlPj0xMjgzMiYmZTw9MTI4NzF8fGU+PTEyODgwJiZlPD00MjEyNHx8ZT49NDIxMjgmJmU8PTQyMTgyfHxlPj00MzM2MCYmZTw9NDMzODh8fGU+PTQ0MDMyJiZlPD01NTIwM3x8ZT49NjM3NDQmJmU8PTY0MjU1fHxlPj02NTA0MCYmZTw9NjUwNDl8fGU+PTY1MDcyJiZlPD02NTEwNnx8ZT49NjUxMDgmJmU8PTY1MTI2fHxlPj02NTEyOCYmZTw9NjUxMzF8fGU+PTk0MTc2JiZlPD05NDE4MHx8ZT09PTk0MTkyfHxlPT09OTQxOTN8fGU+PTk0MjA4JiZlPD0xMDAzNDN8fGU+PTEwMDM1MiYmZTw9MTAxNTg5fHxlPj0xMDE2MzEmJmU8PTEwMTY0MHx8ZT49MTEwNTc2JiZlPD0xMTA1Nzl8fGU+PTExMDU4MSYmZTw9MTEwNTg3fHxlPT09MTEwNTg5fHxlPT09MTEwNTkwfHxlPj0xMTA1OTImJmU8PTExMDg4Mnx8ZT09PTExMDg5OHx8ZT49MTEwOTI4JiZlPD0xMTA5MzB8fGU9PT0xMTA5MzN8fGU+PTExMDk0OCYmZTw9MTEwOTUxfHxlPj0xMTA5NjAmJmU8PTExMTM1NXx8ZT49MTE5NTUyJiZlPD0xMTk2Mzh8fGU+PTExOTY0OCYmZTw9MTE5NjcwfHxlPT09MTI2OTgwfHxlPT09MTI3MTgzfHxlPT09MTI3Mzc0fHxlPj0xMjczNzcmJmU8PTEyNzM4Nnx8ZT49MTI3NDg4JiZlPD0xMjc0OTB8fGU+PTEyNzUwNCYmZTw9MTI3NTQ3fHxlPj0xMjc1NTImJmU8PTEyNzU2MHx8ZT09PTEyNzU2OHx8ZT09PTEyNzU2OXx8ZT49MTI3NTg0JiZlPD0xMjc1ODl8fGU+PTEyNzc0NCYmZTw9MTI3Nzc2fHxlPj0xMjc3ODkmJmU8PTEyNzc5N3x8ZT49MTI3Nzk5JiZlPD0xMjc4Njh8fGU+PTEyNzg3MCYmZTw9MTI3ODkxfHxlPj0xMjc5MDQmJmU8PTEyNzk0Nnx8ZT49MTI3OTUxJiZlPD0xMjc5NTV8fGU+PTEyNzk2OCYmZTw9MTI3OTg0fHxlPT09MTI3OTg4fHxlPj0xMjc5OTImJmU8PTEyODA2Mnx8ZT09PTEyODA2NHx8ZT49MTI4MDY2JiZlPD0xMjgyNTJ8fGU+PTEyODI1NSYmZTw9MTI4MzE3fHxlPj0xMjgzMzEmJmU8PTEyODMzNHx8ZT49MTI4MzM2JiZlPD0xMjgzNTl8fGU9PT0xMjgzNzh8fGU9PT0xMjg0MDV8fGU9PT0xMjg0MDZ8fGU9PT0xMjg0MjB8fGU+PTEyODUwNyYmZTw9MTI4NTkxfHxlPj0xMjg2NDAmJmU8PTEyODcwOXx8ZT09PTEyODcxNnx8ZT49MTI4NzIwJiZlPD0xMjg3MjJ8fGU+PTEyODcyNSYmZTw9MTI4NzI3fHxlPj0xMjg3MzImJmU8PTEyODczNXx8ZT09PTEyODc0N3x8ZT09PTEyODc0OHx8ZT49MTI4NzU2JiZlPD0xMjg3NjR8fGU+PTEyODk5MiYmZTw9MTI5MDAzfHxlPT09MTI5MDA4fHxlPj0xMjkyOTImJmU8PTEyOTMzOHx8ZT49MTI5MzQwJiZlPD0xMjkzNDl8fGU+PTEyOTM1MSYmZTw9MTI5NTM1fHxlPj0xMjk2NDgmJmU8PTEyOTY2MHx8ZT49MTI5NjY0JiZlPD0xMjk2NzN8fGU+PTEyOTY3OSYmZTw9MTI5NzM0fHxlPj0xMjk3NDImJmU8PTEyOTc1Nnx8ZT49MTI5NzU5JiZlPD0xMjk3Njl8fGU+PTEyOTc3NiYmZTw9MTI5Nzg0fHxlPj0xMzEwNzImJmU8PTE5NjYwNXx8ZT49MTk2NjA4JiZlPD0yNjIxNDF9dmFyIGJpPWU9PiEoRWkoZSl8fENpKGUpKTt2YXIgWWw9L1teXFx4MjAtXFx4N0ZdL3U7ZnVuY3Rpb24gR2woZSl7aWYoIWUpcmV0dXJuIDA7aWYoIVlsLnRlc3QoZSkpcmV0dXJuIGUubGVuZ3RoO2U9ZS5yZXBsYWNlKHZpKCksXCIgIFwiKTtsZXQgcj0wO2ZvcihsZXQgdCBvZiBlKXtsZXQgbj10LmNvZGVQb2ludEF0KDApO248PTMxfHxuPj0xMjcmJm48PTE1OXx8bj49NzY4JiZuPD04Nzl8fChyKz1iaShuKT8xOjIpfXJldHVybiByfXZhciBmcj1HbDt2YXIgRz1TeW1ib2woXCJNT0RFX0JSRUFLXCIpLHVlPVN5bWJvbChcIk1PREVfRkxBVFwiKSxWZT1TeW1ib2woXCJjdXJzb3JcIiksRXQ9U3ltYm9sKFwiRE9DX0ZJTExfUFJJTlRFRF9MRU5HVEhcIik7ZnVuY3Rpb24geWkoKXtyZXR1cm57dmFsdWU6XCJcIixsZW5ndGg6MCxxdWV1ZTpbXX19ZnVuY3Rpb24gVmwoZSxyKXtyZXR1cm4gQ3QoZSx7dHlwZTpcImluZGVudFwifSxyKX1mdW5jdGlvbiBqbChlLHIsdCl7cmV0dXJuIHI9PT1OdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFk/ZS5yb290fHx5aSgpOnI8MD9DdChlLHt0eXBlOlwiZGVkZW50XCJ9LHQpOnI/ci50eXBlPT09XCJyb290XCI/ey4uLmUscm9vdDplfTpDdChlLHt0eXBlOnR5cGVvZiByPT1cInN0cmluZ1wiP1wic3RyaW5nQWxpZ25cIjpcIm51bWJlckFsaWduXCIsbjpyfSx0KTplfWZ1bmN0aW9uIEN0KGUscix0KXtsZXQgbj1yLnR5cGU9PT1cImRlZGVudFwiP2UucXVldWUuc2xpY2UoMCwtMSk6Wy4uLmUucXVldWUscl0sYT1cIlwiLHU9MCxpPTAsbz0wO2ZvcihsZXQgRCBvZiBuKXN3aXRjaChELnR5cGUpe2Nhc2VcImluZGVudFwiOmMoKSx0LnVzZVRhYnM/cygxKTpsKHQudGFiV2lkdGgpO2JyZWFrO2Nhc2VcInN0cmluZ0FsaWduXCI6YygpLGErPUQubix1Kz1ELm4ubGVuZ3RoO2JyZWFrO2Nhc2VcIm51bWJlckFsaWduXCI6aSs9MSxvKz1ELm47YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgdHlwZSAnJHtELnR5cGV9J2ApfXJldHVybiBwKCksey4uLmUsdmFsdWU6YSxsZW5ndGg6dSxxdWV1ZTpufTtmdW5jdGlvbiBzKEQpe2ErPVwiXHRcIi5yZXBlYXQoRCksdSs9dC50YWJXaWR0aCpEfWZ1bmN0aW9uIGwoRCl7YSs9XCIgXCIucmVwZWF0KEQpLHUrPUR9ZnVuY3Rpb24gYygpe3QudXNlVGFicz9mKCk6cCgpfWZ1bmN0aW9uIGYoKXtpPjAmJnMoaSksZCgpfWZ1bmN0aW9uIHAoKXtvPjAmJmwobyksZCgpfWZ1bmN0aW9uIGQoKXtpPTAsbz0wfX1mdW5jdGlvbiBidChlKXtsZXQgcj0wLHQ9MCxuPWUubGVuZ3RoO2U6Zm9yKDtuLS07KXtsZXQgYT1lW25dO2lmKGE9PT1WZSl7dCsrO2NvbnRpbnVlfWZvcihsZXQgdT1hLmxlbmd0aC0xO3U+PTA7dS0tKXtsZXQgaT1hW3VdO2lmKGk9PT1cIiBcInx8aT09PVwiXHRcIilyKys7ZWxzZXtlW25dPWEuc2xpY2UoMCx1KzEpO2JyZWFrIGV9fX1pZihyPjB8fHQ+MClmb3IoZS5sZW5ndGg9bisxO3QtLSA+MDspZS5wdXNoKFZlKTtyZXR1cm4gcn1mdW5jdGlvbiBScihlLHIsdCxuLGEsdSl7aWYodD09PU51bWJlci5QT1NJVElWRV9JTkZJTklUWSlyZXR1cm4hMDtsZXQgaT1yLmxlbmd0aCxvPVtlXSxzPVtdO2Zvcig7dD49MDspe2lmKG8ubGVuZ3RoPT09MCl7aWYoaT09PTApcmV0dXJuITA7by5wdXNoKHJbLS1pXSk7Y29udGludWV9bGV0e21vZGU6bCxkb2M6Y309by5wb3AoKSxmPVkoYyk7c3dpdGNoKGYpe2Nhc2UgJDpzLnB1c2goYyksdC09ZnIoYyk7YnJlYWs7Y2FzZSBXOmNhc2UgSjp7bGV0IHA9Zj09PVc/YzpjLnBhcnRzLGQ9Y1tFdF0/PzA7Zm9yKGxldCBEPXAubGVuZ3RoLTE7RD49ZDtELS0pby5wdXNoKHttb2RlOmwsZG9jOnBbRF19KTticmVha31jYXNlIHJlOmNhc2UgdGU6Y2FzZSBEZTpjYXNlIGRlOm8ucHVzaCh7bW9kZTpsLGRvYzpjLmNvbnRlbnRzfSk7YnJlYWs7Y2FzZSBmZTp0Kz1idChzKTticmVhaztjYXNlIEs6e2lmKHUmJmMuYnJlYWspcmV0dXJuITE7bGV0IHA9Yy5icmVhaz9HOmwsZD1jLmV4cGFuZGVkU3RhdGVzJiZwPT09Rz96KCExLGMuZXhwYW5kZWRTdGF0ZXMsLTEpOmMuY29udGVudHM7by5wdXNoKHttb2RlOnAsZG9jOmR9KTticmVha31jYXNlIFg6e2xldCBkPShjLmdyb3VwSWQ/YVtjLmdyb3VwSWRdfHx1ZTpsKT09PUc/Yy5icmVha0NvbnRlbnRzOmMuZmxhdENvbnRlbnRzO2QmJm8ucHVzaCh7bW9kZTpsLGRvYzpkfSk7YnJlYWt9Y2FzZSBIOmlmKGw9PT1HfHxjLmhhcmQpcmV0dXJuITA7Yy5zb2Z0fHwocy5wdXNoKFwiIFwiKSx0LS0pO2JyZWFrO2Nhc2UgcGU6bj0hMDticmVhaztjYXNlIGhlOmlmKG4pcmV0dXJuITE7YnJlYWt9fXJldHVybiExfWZ1bmN0aW9uIEFpKGUscil7bGV0IHQ9e30sbj1yLnByaW50V2lkdGgsYT1naShyLmVuZE9mTGluZSksdT0wLGk9W3tpbmQ6eWkoKSxtb2RlOkcsZG9jOmV9XSxvPVtdLHM9ITEsbD1bXSxjPTA7Zm9yKFhuKGUpO2kubGVuZ3RoPjA7KXtsZXR7aW5kOnAsbW9kZTpkLGRvYzpEfT1pLnBvcCgpO3N3aXRjaChZKEQpKXtjYXNlICQ6e2xldCBoPWEhPT1gXG5gP04oITEsRCxgXG5gLGEpOkQ7by5wdXNoKGgpLGkubGVuZ3RoPjAmJih1Kz1mcihoKSk7YnJlYWt9Y2FzZSBXOmZvcihsZXQgaD1ELmxlbmd0aC0xO2g+PTA7aC0tKWkucHVzaCh7aW5kOnAsbW9kZTpkLGRvYzpEW2hdfSk7YnJlYWs7Y2FzZSBDZTppZihjPj0yKXRocm93IG5ldyBFcnJvcihcIlRoZXJlIGFyZSB0b28gbWFueSAnY3Vyc29yJyBpbiBkb2MuXCIpO28ucHVzaChWZSksYysrO2JyZWFrO2Nhc2UgcmU6aS5wdXNoKHtpbmQ6VmwocCxyKSxtb2RlOmQsZG9jOkQuY29udGVudHN9KTticmVhaztjYXNlIHRlOmkucHVzaCh7aW5kOmpsKHAsRC5uLHIpLG1vZGU6ZCxkb2M6RC5jb250ZW50c30pO2JyZWFrO2Nhc2UgZmU6dS09YnQobyk7YnJlYWs7Y2FzZSBLOnN3aXRjaChkKXtjYXNlIHVlOmlmKCFzKXtpLnB1c2goe2luZDpwLG1vZGU6RC5icmVhaz9HOnVlLGRvYzpELmNvbnRlbnRzfSk7YnJlYWt9Y2FzZSBHOntzPSExO2xldCBoPXtpbmQ6cCxtb2RlOnVlLGRvYzpELmNvbnRlbnRzfSxtPW4tdSxGPWwubGVuZ3RoPjA7aWYoIUQuYnJlYWsmJlJyKGgsaSxtLEYsdCkpaS5wdXNoKGgpO2Vsc2UgaWYoRC5leHBhbmRlZFN0YXRlcyl7bGV0IHk9eighMSxELmV4cGFuZGVkU3RhdGVzLC0xKTtpZihELmJyZWFrKXtpLnB1c2goe2luZDpwLG1vZGU6Ryxkb2M6eX0pO2JyZWFrfWVsc2UgZm9yKGxldCBFPTE7RTxELmV4cGFuZGVkU3RhdGVzLmxlbmd0aCsxO0UrKylpZihFPj1ELmV4cGFuZGVkU3RhdGVzLmxlbmd0aCl7aS5wdXNoKHtpbmQ6cCxtb2RlOkcsZG9jOnl9KTticmVha31lbHNle2xldCBCPUQuZXhwYW5kZWRTdGF0ZXNbRV0sYj17aW5kOnAsbW9kZTp1ZSxkb2M6Qn07aWYoUnIoYixpLG0sRix0KSl7aS5wdXNoKGIpO2JyZWFrfX19ZWxzZSBpLnB1c2goe2luZDpwLG1vZGU6Ryxkb2M6RC5jb250ZW50c30pO2JyZWFrfX1ELmlkJiYodFtELmlkXT16KCExLGksLTEpLm1vZGUpO2JyZWFrO2Nhc2UgSjp7bGV0IGg9bi11LG09RFtFdF0/PzAse3BhcnRzOkZ9PUQseT1GLmxlbmd0aC1tO2lmKHk9PT0wKWJyZWFrO2xldCBFPUZbbSswXSxCPUZbbSsxXSxiPXtpbmQ6cCxtb2RlOnVlLGRvYzpFfSxnPXtpbmQ6cCxtb2RlOkcsZG9jOkV9LEE9UnIoYixbXSxoLGwubGVuZ3RoPjAsdCwhMCk7aWYoeT09PTEpe0E/aS5wdXNoKGIpOmkucHVzaChnKTticmVha31sZXQgeD17aW5kOnAsbW9kZTp1ZSxkb2M6Qn0sdj17aW5kOnAsbW9kZTpHLGRvYzpCfTtpZih5PT09Mil7QT9pLnB1c2goeCxiKTppLnB1c2godixnKTticmVha31sZXQgdz1GW20rMl0saz17aW5kOnAsbW9kZTpkLGRvYzp7Li4uRCxbRXRdOm0rMn19O1JyKHtpbmQ6cCxtb2RlOnVlLGRvYzpbRSxCLHddfSxbXSxoLGwubGVuZ3RoPjAsdCwhMCk/aS5wdXNoKGsseCxiKTpBP2kucHVzaChrLHYsYik6aS5wdXNoKGssdixnKTticmVha31jYXNlIFg6Y2FzZSBEZTp7bGV0IGg9RC5ncm91cElkP3RbRC5ncm91cElkXTpkO2lmKGg9PT1HKXtsZXQgbT1ELnR5cGU9PT1YP0QuYnJlYWtDb250ZW50czpELm5lZ2F0ZT9ELmNvbnRlbnRzOnRyKEQuY29udGVudHMpO20mJmkucHVzaCh7aW5kOnAsbW9kZTpkLGRvYzptfSl9aWYoaD09PXVlKXtsZXQgbT1ELnR5cGU9PT1YP0QuZmxhdENvbnRlbnRzOkQubmVnYXRlP3RyKEQuY29udGVudHMpOkQuY29udGVudHM7bSYmaS5wdXNoKHtpbmQ6cCxtb2RlOmQsZG9jOm19KX1icmVha31jYXNlIHBlOmwucHVzaCh7aW5kOnAsbW9kZTpkLGRvYzpELmNvbnRlbnRzfSk7YnJlYWs7Y2FzZSBoZTpsLmxlbmd0aD4wJiZpLnB1c2goe2luZDpwLG1vZGU6ZCxkb2M6aXJ9KTticmVhaztjYXNlIEg6c3dpdGNoKGQpe2Nhc2UgdWU6aWYoRC5oYXJkKXM9ITA7ZWxzZXtELnNvZnR8fChvLnB1c2goXCIgXCIpLHUrPTEpO2JyZWFrfWNhc2UgRzppZihsLmxlbmd0aD4wKXtpLnB1c2goe2luZDpwLG1vZGU6ZCxkb2M6RH0sLi4ubC5yZXZlcnNlKCkpLGwubGVuZ3RoPTA7YnJlYWt9RC5saXRlcmFsP3Aucm9vdD8oby5wdXNoKGEscC5yb290LnZhbHVlKSx1PXAucm9vdC5sZW5ndGgpOihvLnB1c2goYSksdT0wKToodS09YnQobyksby5wdXNoKGErcC52YWx1ZSksdT1wLmxlbmd0aCk7YnJlYWt9YnJlYWs7Y2FzZSBkZTppLnB1c2goe2luZDpwLG1vZGU6ZCxkb2M6RC5jb250ZW50c30pO2JyZWFrO2Nhc2UgbmU6YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgVGUoRCl9aS5sZW5ndGg9PT0wJiZsLmxlbmd0aD4wJiYoaS5wdXNoKC4uLmwucmV2ZXJzZSgpKSxsLmxlbmd0aD0wKX1sZXQgZj1vLmluZGV4T2YoVmUpO2lmKGYhPT0tMSl7bGV0IHA9by5pbmRleE9mKFZlLGYrMSk7aWYocD09PS0xKXJldHVybntmb3JtYXR0ZWQ6by5maWx0ZXIobT0+bSE9PVZlKS5qb2luKFwiXCIpfTtsZXQgZD1vLnNsaWNlKDAsZikuam9pbihcIlwiKSxEPW8uc2xpY2UoZisxLHApLmpvaW4oXCJcIiksaD1vLnNsaWNlKHArMSkuam9pbihcIlwiKTtyZXR1cm57Zm9ybWF0dGVkOmQrRCtoLGN1cnNvck5vZGVTdGFydDpkLmxlbmd0aCxjdXJzb3JOb2RlVGV4dDpEfX1yZXR1cm57Zm9ybWF0dGVkOm8uam9pbihcIlwiKX19ZnVuY3Rpb24geGkoZSxyLHQpe2xldHtub2RlOm59PWUsYT1bXSx1PWUubWFwKCgpPT5lLm1hcCgoe2luZGV4OmZ9KT0+e2xldCBwPUFpKHQoKSxyKS5mb3JtYXR0ZWQsZD1mcihwKTtyZXR1cm4gYVtmXT1NYXRoLm1heChhW2ZdPz8zLGQpLHt0ZXh0OnAsd2lkdGg6ZH19LFwiY2hpbGRyZW5cIiksXCJjaGlsZHJlblwiKSxpPXMoITEpO2lmKHIucHJvc2VXcmFwIT09XCJuZXZlclwiKXJldHVybltucixpXTtsZXQgbz1zKCEwKTtyZXR1cm5bbnIsTWUoS24obyxpKSldO2Z1bmN0aW9uIHMoZil7cmV0dXJuIFNyKGlyLFtjKHVbMF0sZiksbChmKSwuLi51LnNsaWNlKDEpLm1hcChwPT5jKHAsZikpXS5tYXAocD0+YHwgJHtwLmpvaW4oXCIgfCBcIil9IHxgKSl9ZnVuY3Rpb24gbChmKXtyZXR1cm4gYS5tYXAoKHAsZCk9PntsZXQgRD1uLmFsaWduW2RdLGg9RD09PVwiY2VudGVyXCJ8fEQ9PT1cImxlZnRcIj9cIjpcIjpcIi1cIixtPUQ9PT1cImNlbnRlclwifHxEPT09XCJyaWdodFwiP1wiOlwiOlwiLVwiLEY9Zj9cIi1cIjpcIi1cIi5yZXBlYXQocC0yKTtyZXR1cm5gJHtofSR7Rn0ke219YH0pfWZ1bmN0aW9uIGMoZixwKXtyZXR1cm4gZi5tYXAoKHt0ZXh0OmQsd2lkdGg6RH0saCk9PntpZihwKXJldHVybiBkO2xldCBtPWFbaF0tRCxGPW4uYWxpZ25baF0seT0wO0Y9PT1cInJpZ2h0XCI/eT1tOkY9PT1cImNlbnRlclwiJiYoeT1NYXRoLmZsb29yKG0vMikpO2xldCBFPW0teTtyZXR1cm5gJHtcIiBcIi5yZXBlYXQoeSl9JHtkfSR7XCIgXCIucmVwZWF0KEUpfWB9KX19ZnVuY3Rpb24gd2koZSxyLHQpe2xldCBuPWUubWFwKHQsXCJjaGlsZHJlblwiKTtyZXR1cm4gJGwobil9ZnVuY3Rpb24gJGwoZSl7bGV0IHI9W1wiXCJdO3JldHVybiBmdW5jdGlvbiB0KG4pe2ZvcihsZXQgYSBvZiBuKXtsZXQgdT1ZKGEpO2lmKHU9PT1XKXt0KGEpO2NvbnRpbnVlfWxldCBpPWEsbz1bXTt1PT09SiYmKFtpLC4uLm9dPWEucGFydHMpLHIucHVzaChbci5wb3AoKSxpXSwuLi5vKX19KGUpLHplKHIpfXZhciBRLHl0PWNsYXNze2NvbnN0cnVjdG9yKHIpe0duKHRoaXMsUSk7Vm4odGhpcyxRLG5ldyBTZXQocikpfWdldExlYWRpbmdXaGl0ZXNwYWNlQ291bnQocil7bGV0IHQ9Y2UodGhpcyxRKSxuPTA7Zm9yKGxldCBhPTA7YTxyLmxlbmd0aCYmdC5oYXMoci5jaGFyQXQoYSkpO2ErKyluKys7cmV0dXJuIG59Z2V0VHJhaWxpbmdXaGl0ZXNwYWNlQ291bnQocil7bGV0IHQ9Y2UodGhpcyxRKSxuPTA7Zm9yKGxldCBhPXIubGVuZ3RoLTE7YT49MCYmdC5oYXMoci5jaGFyQXQoYSkpO2EtLSluKys7cmV0dXJuIG59Z2V0TGVhZGluZ1doaXRlc3BhY2Uocil7bGV0IHQ9dGhpcy5nZXRMZWFkaW5nV2hpdGVzcGFjZUNvdW50KHIpO3JldHVybiByLnNsaWNlKDAsdCl9Z2V0VHJhaWxpbmdXaGl0ZXNwYWNlKHIpe2xldCB0PXRoaXMuZ2V0VHJhaWxpbmdXaGl0ZXNwYWNlQ291bnQocik7cmV0dXJuIHIuc2xpY2Uoci5sZW5ndGgtdCl9aGFzTGVhZGluZ1doaXRlc3BhY2Uocil7cmV0dXJuIGNlKHRoaXMsUSkuaGFzKHIuY2hhckF0KDApKX1oYXNUcmFpbGluZ1doaXRlc3BhY2Uocil7cmV0dXJuIGNlKHRoaXMsUSkuaGFzKHooITEsciwtMSkpfXRyaW1TdGFydChyKXtsZXQgdD10aGlzLmdldExlYWRpbmdXaGl0ZXNwYWNlQ291bnQocik7cmV0dXJuIHIuc2xpY2UodCl9dHJpbUVuZChyKXtsZXQgdD10aGlzLmdldFRyYWlsaW5nV2hpdGVzcGFjZUNvdW50KHIpO3JldHVybiByLnNsaWNlKDAsci5sZW5ndGgtdCl9dHJpbShyKXtyZXR1cm4gdGhpcy50cmltRW5kKHRoaXMudHJpbVN0YXJ0KHIpKX1zcGxpdChyLHQ9ITEpe2xldCBuPWBbJHtsZShbLi4uY2UodGhpcyxRKV0uam9pbihcIlwiKSl9XStgLGE9bmV3IFJlZ0V4cCh0P2AoJHtufSlgOm4sXCJ1XCIpO3JldHVybiByLnNwbGl0KGEpfWhhc1doaXRlc3BhY2VDaGFyYWN0ZXIocil7bGV0IHQ9Y2UodGhpcyxRKTtyZXR1cm4gQXJyYXkucHJvdG90eXBlLnNvbWUuY2FsbChyLG49PnQuaGFzKG4pKX1oYXNOb25XaGl0ZXNwYWNlQ2hhcmFjdGVyKHIpe2xldCB0PWNlKHRoaXMsUSk7cmV0dXJuIEFycmF5LnByb3RvdHlwZS5zb21lLmNhbGwocixuPT4hdC5oYXMobikpfWlzV2hpdGVzcGFjZU9ubHkocil7bGV0IHQ9Y2UodGhpcyxRKTtyZXR1cm4gQXJyYXkucHJvdG90eXBlLmV2ZXJ5LmNhbGwocixuPT50LmhhcyhuKSl9fTtRPW5ldyBXZWFrTWFwO3ZhciBraT15dDt2YXIgV2w9W1wiXHRcIixgXG5gLFwiXFxmXCIsXCJcXHJcIixcIiBcIl0sSGw9bmV3IGtpKFdsKSxBdD1IbDt2YXIgS2w9L14uJC9zdTtmdW5jdGlvbiBKbChlLHIpe3JldHVybiBlPVhsKGUsciksZT1abChlKSxlPXJmKGUsciksZT10ZihlLHIpLGU9ZWYoZSksZX1mdW5jdGlvbiBYbChlLHIpe3JldHVybiBBZShlLHQ9PnQudHlwZSE9PVwidGV4dFwifHx0LnZhbHVlPT09XCIqXCJ8fHQudmFsdWU9PT1cIl9cInx8IUtsLnRlc3QodC52YWx1ZSl8fHQucG9zaXRpb24uZW5kLm9mZnNldC10LnBvc2l0aW9uLnN0YXJ0Lm9mZnNldD09PXQudmFsdWUubGVuZ3RoP3Q6ey4uLnQsdmFsdWU6ci5vcmlnaW5hbFRleHQuc2xpY2UodC5wb3NpdGlvbi5zdGFydC5vZmZzZXQsdC5wb3NpdGlvbi5lbmQub2Zmc2V0KX0pfWZ1bmN0aW9uIFFsKGUscix0KXtyZXR1cm4gQWUoZSxuPT57aWYoIW4uY2hpbGRyZW4pcmV0dXJuIG47bGV0IGE9bi5jaGlsZHJlbi5yZWR1Y2UoKHUsaSk9PntsZXQgbz16KCExLHUsLTEpO3JldHVybiBvJiZyKG8saSk/dS5zcGxpY2UoLTEsMSx0KG8saSkpOnUucHVzaChpKSx1fSxbXSk7cmV0dXJuey4uLm4sY2hpbGRyZW46YX19KX1mdW5jdGlvbiBabChlKXtyZXR1cm4gUWwoZSwocix0KT0+ci50eXBlPT09XCJ0ZXh0XCImJnQudHlwZT09PVwidGV4dFwiLChyLHQpPT4oe3R5cGU6XCJ0ZXh0XCIsdmFsdWU6ci52YWx1ZSt0LnZhbHVlLHBvc2l0aW9uOntzdGFydDpyLnBvc2l0aW9uLnN0YXJ0LGVuZDp0LnBvc2l0aW9uLmVuZH19KSl9ZnVuY3Rpb24gZWYoZSl7cmV0dXJuIEFlKGUsKHIsdCxbbl0pPT57aWYoci50eXBlIT09XCJ0ZXh0XCIpcmV0dXJuIHI7bGV0e3ZhbHVlOmF9PXI7cmV0dXJuIG4udHlwZT09PVwicGFyYWdyYXBoXCImJih0PT09MCYmKGE9QXQudHJpbVN0YXJ0KGEpKSx0PT09bi5jaGlsZHJlbi5sZW5ndGgtMSYmKGE9QXQudHJpbUVuZChhKSkpLHt0eXBlOlwic2VudGVuY2VcIixwb3NpdGlvbjpyLnBvc2l0aW9uLGNoaWxkcmVuOklyKGEpfX0pfWZ1bmN0aW9uIHJmKGUscil7cmV0dXJuIEFlKGUsKHQsbixhKT0+e2lmKHQudHlwZT09PVwiY29kZVwiKXtsZXQgdT0vXlxcbj8oPzogezQsfXxcXHQpL3UudGVzdChyLm9yaWdpbmFsVGV4dC5zbGljZSh0LnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCx0LnBvc2l0aW9uLmVuZC5vZmZzZXQpKTtpZih0LmlzSW5kZW50ZWQ9dSx1KWZvcihsZXQgaT0wO2k8YS5sZW5ndGg7aSsrKXtsZXQgbz1hW2ldO2lmKG8uaGFzSW5kZW50ZWRDb2RlYmxvY2spYnJlYWs7by50eXBlPT09XCJsaXN0XCImJihvLmhhc0luZGVudGVkQ29kZWJsb2NrPSEwKX19cmV0dXJuIHR9KX1mdW5jdGlvbiB0ZihlLHIpe3JldHVybiBBZShlLChhLHUsaSk9PntpZihhLnR5cGU9PT1cImxpc3RcIiYmYS5jaGlsZHJlbi5sZW5ndGg+MCl7Zm9yKGxldCBvPTA7bzxpLmxlbmd0aDtvKyspe2xldCBzPWlbb107aWYocy50eXBlPT09XCJsaXN0XCImJiFzLmlzQWxpZ25lZClyZXR1cm4gYS5pc0FsaWduZWQ9ITEsYX1hLmlzQWxpZ25lZD1uKGEpfXJldHVybiBhfSk7ZnVuY3Rpb24gdChhKXtyZXR1cm4gYS5jaGlsZHJlbi5sZW5ndGg9PT0wPy0xOmEuY2hpbGRyZW5bMF0ucG9zaXRpb24uc3RhcnQuY29sdW1uLTF9ZnVuY3Rpb24gbihhKXtpZighYS5vcmRlcmVkKXJldHVybiEwO2xldFt1LGldPWEuY2hpbGRyZW47aWYoWWUodSxyKS5sZWFkaW5nU3BhY2VzLmxlbmd0aD4xKXJldHVybiEwO2xldCBzPXQodSk7aWYocz09PS0xKXJldHVybiExO2lmKGEuY2hpbGRyZW4ubGVuZ3RoPT09MSlyZXR1cm4gcyVyLnRhYldpZHRoPT09MDtsZXQgbD10KGkpO3JldHVybiBzIT09bD8hMTpzJXIudGFiV2lkdGg9PT0wPyEwOlllKGkscikubGVhZGluZ1NwYWNlcy5sZW5ndGg+MX19dmFyIEJpPUpsO2Z1bmN0aW9uIFRpKGUscil7bGV0IHQ9W1wiXCJdO3JldHVybiBlLmVhY2goKCk9PntsZXR7bm9kZTpufT1lLGE9cigpO3N3aXRjaChuLnR5cGUpe2Nhc2VcIndoaXRlc3BhY2VcIjppZihZKGEpIT09JCl7dC5wdXNoKGEsXCJcIik7YnJlYWt9ZGVmYXVsdDp0LnB1c2goW3QucG9wKCksYV0pfX0sXCJjaGlsZHJlblwiKSx6ZSh0KX12YXIgbmY9bmV3IFNldChbXCJoZWFkaW5nXCIsXCJ0YWJsZUNlbGxcIixcImxpbmtcIixcIndpa2lMaW5rXCJdKSxxaT1uZXcgU2V0KFwiIVxcXCIjJCUmJygpKissLS4vOjs8PT4/QFtcXFxcXV5fYHt8fX5cIik7ZnVuY3Rpb24gdWYoe3BhcmVudDplfSl7aWYoZS51c2VzQ0pTcGFjZXM9PT12b2lkIDApe2xldCByPXtcIiBcIjowLFwiXCI6MH0se2NoaWxkcmVuOnR9PWU7Zm9yKGxldCBuPTE7bjx0Lmxlbmd0aC0xOysrbil7bGV0IGE9dFtuXTtpZihhLnR5cGU9PT1cIndoaXRlc3BhY2VcIiYmKGEudmFsdWU9PT1cIiBcInx8YS52YWx1ZT09PVwiXCIpKXtsZXQgdT10W24tMV0ua2luZCxpPXRbbisxXS5raW5kOyh1PT09aWUmJmk9PT1HZXx8dT09PUdlJiZpPT09aWUpJiYrK3JbYS52YWx1ZV19fWUudXNlc0NKU3BhY2VzPXJbXCIgXCJdPnJbXCJcIl19cmV0dXJuIGUudXNlc0NKU3BhY2VzfWZ1bmN0aW9uIGFmKGUscil7aWYocilyZXR1cm4hMDtsZXR7cHJldmlvdXM6dCxuZXh0Om59PWU7aWYoIXR8fCFuKXJldHVybiEwO2xldCBhPXQua2luZCx1PW4ua2luZDtyZXR1cm4gX2koYSkmJl9pKHUpfHxhPT09UGUmJnU9PT1pZXx8dT09PVBlJiZhPT09aWU/ITA6YT09PXNyfHx1PT09c3J8fGE9PT1pZSYmdT09PWllPyExOnFpLmhhcyhuLnZhbHVlWzBdKXx8cWkuaGFzKHooITEsdC52YWx1ZSwtMSkpPyEwOnQuaGFzVHJhaWxpbmdQdW5jdHVhdGlvbnx8bi5oYXNMZWFkaW5nUHVuY3R1YXRpb24/ITE6dWYoZSl9ZnVuY3Rpb24gX2koZSl7cmV0dXJuIGU9PT1HZXx8ZT09PVBlfWZ1bmN0aW9uIG9mKGUscix0LG4pe2lmKHQhPT1cImFsd2F5c1wifHxlLmhhc0FuY2VzdG9yKGk9Pm5mLmhhcyhpLnR5cGUpKSlyZXR1cm4hMTtpZihuKXJldHVybiByIT09XCJcIjtsZXR7cHJldmlvdXM6YSxuZXh0OnV9PWU7cmV0dXJuIWF8fCF1PyEwOnI9PT1cIlwiPyExOmEua2luZD09PVBlJiZ1LmtpbmQ9PT1pZXx8dS5raW5kPT09UGUmJmEua2luZD09PWllPyEwOiEoYS5pc0NKfHx1LmlzQ0opfWZ1bmN0aW9uIHh0KGUscix0LG4pe2lmKHQ9PT1cInByZXNlcnZlXCImJnI9PT1gXG5gKXJldHVybiBQO2xldCBhPXI9PT1cIiBcInx8cj09PWBcbmAmJmFmKGUsbik7cmV0dXJuIG9mKGUscix0LG4pP2E/cXI6X3I6YT9cIiBcIjpcIlwifXZhciBzZj1uZXcgU2V0KFtcImxpc3RJdGVtXCIsXCJkZWZpbml0aW9uXCJdKTtmdW5jdGlvbiBjZihlLHIsdCl7dmFyIGEsdTtsZXR7bm9kZTpufT1lO2lmKGRmKGUpKXtsZXQgaT1bXCJcIl0sbz1JcihyLm9yaWdpbmFsVGV4dC5zbGljZShuLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCxuLnBvc2l0aW9uLmVuZC5vZmZzZXQpKTtmb3IobGV0IHMgb2Ygbyl7aWYocy50eXBlPT09XCJ3b3JkXCIpe2kucHVzaChbaS5wb3AoKSxzLnZhbHVlXSk7Y29udGludWV9bGV0IGw9eHQoZSxzLnZhbHVlLHIucHJvc2VXcmFwLCEwKTtpZihZKGwpPT09JCl7aS5wdXNoKFtpLnBvcCgpLGxdKTtjb250aW51ZX1pLnB1c2gobCxcIlwiKX1yZXR1cm4gemUoaSl9c3dpdGNoKG4udHlwZSl7Y2FzZVwiZnJvbnQtbWF0dGVyXCI6cmV0dXJuIHIub3JpZ2luYWxUZXh0LnNsaWNlKG4ucG9zaXRpb24uc3RhcnQub2Zmc2V0LG4ucG9zaXRpb24uZW5kLm9mZnNldCk7Y2FzZVwicm9vdFwiOnJldHVybiBuLmNoaWxkcmVuLmxlbmd0aD09PTA/XCJcIjpbRGYoZSxyLHQpLFBdO2Nhc2VcInBhcmFncmFwaFwiOnJldHVybiB3aShlLHIsdCk7Y2FzZVwic2VudGVuY2VcIjpyZXR1cm4gVGkoZSx0KTtjYXNlXCJ3b3JkXCI6e2xldCBpPU4oITEsTighMSxuLnZhbHVlLFwiKlwiLFN0cmluZy5yYXdgXFwqYCksbmV3IFJlZ0V4cChbYChefCR7U2Uuc291cmNlfSkoXyspYCxgKF8rKSgke1NlLnNvdXJjZX18JClgXS5qb2luKFwifFwiKSxcImd1XCIpLChsLGMsZixwLGQpPT5OKCExLGY/YCR7Y30ke2Z9YDpgJHtwfSR7ZH1gLFwiX1wiLFN0cmluZy5yYXdgXFxfYCkpLG89KGwsYyxmKT0+bC50eXBlPT09XCJzZW50ZW5jZVwiJiZmPT09MCxzPShsLGMsZik9Pmd0KGwuY2hpbGRyZW5bZi0xXSk7cmV0dXJuIGkhPT1uLnZhbHVlJiYoZS5tYXRjaCh2b2lkIDAsbyxzKXx8ZS5tYXRjaCh2b2lkIDAsbywobCxjLGYpPT5sLnR5cGU9PT1cImVtcGhhc2lzXCImJmY9PT0wLHMpKSYmKGk9aS5yZXBsYWNlKC9eKFxcXFw/WypfXSkrL3UsbD0+TighMSxsLFwiXFxcXFwiLFwiXCIpKSksaX1jYXNlXCJ3aGl0ZXNwYWNlXCI6e2xldHtuZXh0Oml9PWUsbz1pJiYvXj58Xig/OlsqKy1dfCN7MSw2fXxcXGQrWykuXSkkL3UudGVzdChpLnZhbHVlKT9cIm5ldmVyXCI6ci5wcm9zZVdyYXA7cmV0dXJuIHh0KGUsbi52YWx1ZSxvKX1jYXNlXCJlbXBoYXNpc1wiOntsZXQgaTtpZihndChuLmNoaWxkcmVuWzBdKSlpPXIub3JpZ2luYWxUZXh0W24ucG9zaXRpb24uc3RhcnQub2Zmc2V0XTtlbHNle2xldHtwcmV2aW91czpvLG5leHQ6c309ZTtpPShvPT1udWxsP3ZvaWQgMDpvLnR5cGUpPT09XCJzZW50ZW5jZVwiJiYoKGE9eighMSxvLmNoaWxkcmVuLC0xKSk9PW51bGw/dm9pZCAwOmEudHlwZSk9PT1cIndvcmRcIiYmIXooITEsby5jaGlsZHJlbiwtMSkuaGFzVHJhaWxpbmdQdW5jdHVhdGlvbnx8KHM9PW51bGw/dm9pZCAwOnMudHlwZSk9PT1cInNlbnRlbmNlXCImJigodT1zLmNoaWxkcmVuWzBdKT09bnVsbD92b2lkIDA6dS50eXBlKT09PVwid29yZFwiJiYhcy5jaGlsZHJlblswXS5oYXNMZWFkaW5nUHVuY3R1YXRpb258fGUuaGFzQW5jZXN0b3IoYz0+Yy50eXBlPT09XCJlbXBoYXNpc1wiKT9cIipcIjpcIl9cIn1yZXR1cm5baSxWKGUscix0KSxpXX1jYXNlXCJzdHJvbmdcIjpyZXR1cm5bXCIqKlwiLFYoZSxyLHQpLFwiKipcIl07Y2FzZVwiZGVsZXRlXCI6cmV0dXJuW1wifn5cIixWKGUscix0KSxcIn5+XCJdO2Nhc2VcImlubGluZUNvZGVcIjp7bGV0IGk9ci5wcm9zZVdyYXA9PT1cInByZXNlcnZlXCI/bi52YWx1ZTpOKCExLG4udmFsdWUsYFxuYCxcIiBcIiksbz1RbihpLFwiYFwiKSxzPVwiYFwiLnJlcGVhdChvfHwxKSxsPWkuc3RhcnRzV2l0aChcImBcIil8fGkuZW5kc1dpdGgoXCJgXCIpfHwvXltcXG4gXS91LnRlc3QoaSkmJi9bXFxuIF0kL3UudGVzdChpKSYmL1teXFxuIF0vdS50ZXN0KGkpP1wiIFwiOlwiXCI7cmV0dXJuW3MsbCxpLGwsc119Y2FzZVwid2lraUxpbmtcIjp7bGV0IGk9XCJcIjtyZXR1cm4gci5wcm9zZVdyYXA9PT1cInByZXNlcnZlXCI/aT1uLnZhbHVlOmk9TighMSxuLnZhbHVlLC9bXFx0XFxuXSsvZ3UsXCIgXCIpLFtcIltbXCIsaSxcIl1dXCJdfWNhc2VcImxpbmtcIjpzd2l0Y2goci5vcmlnaW5hbFRleHRbbi5wb3NpdGlvbi5zdGFydC5vZmZzZXRdKXtjYXNlXCI8XCI6e2xldCBpPVwibWFpbHRvOlwiO3JldHVybltcIjxcIixuLnVybC5zdGFydHNXaXRoKGkpJiZyLm9yaWdpbmFsVGV4dC5zbGljZShuLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCsxLG4ucG9zaXRpb24uc3RhcnQub2Zmc2V0KzEraS5sZW5ndGgpIT09aT9uLnVybC5zbGljZShpLmxlbmd0aCk6bi51cmwsXCI+XCJdfWNhc2VcIltcIjpyZXR1cm5bXCJbXCIsVihlLHIsdCksXCJdKFwiLHd0KG4udXJsLFwiKVwiKSxVcihuLnRpdGxlLHIpLFwiKVwiXTtkZWZhdWx0OnJldHVybiByLm9yaWdpbmFsVGV4dC5zbGljZShuLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCxuLnBvc2l0aW9uLmVuZC5vZmZzZXQpfWNhc2VcImltYWdlXCI6cmV0dXJuW1wiIVtcIixuLmFsdHx8XCJcIixcIl0oXCIsd3Qobi51cmwsXCIpXCIpLFVyKG4udGl0bGUsciksXCIpXCJdO2Nhc2VcImJsb2NrcXVvdGVcIjpyZXR1cm5bXCI+IFwiLGJlKFwiPiBcIixWKGUscix0KSldO2Nhc2VcImhlYWRpbmdcIjpyZXR1cm5bXCIjXCIucmVwZWF0KG4uZGVwdGgpK1wiIFwiLFYoZSxyLHQpXTtjYXNlXCJjb2RlXCI6e2lmKG4uaXNJbmRlbnRlZCl7bGV0IHM9XCIgXCIucmVwZWF0KDQpO3JldHVybiBiZShzLFtzLHllKG4udmFsdWUsUCldKX1sZXQgaT1yLl9faW5Kc1RlbXBsYXRlP1wiflwiOlwiYFwiLG89aS5yZXBlYXQoTWF0aC5tYXgoMyxPcihuLnZhbHVlLGkpKzEpKTtyZXR1cm5bbyxuLmxhbmd8fFwiXCIsbi5tZXRhP1wiIFwiK24ubWV0YTpcIlwiLFAseWUoTnIobixyLm9yaWdpbmFsVGV4dCksUCksUCxvXX1jYXNlXCJodG1sXCI6e2xldHtwYXJlbnQ6aSxpc0xhc3Q6b309ZSxzPWkudHlwZT09PVwicm9vdFwiJiZvP24udmFsdWUudHJpbUVuZCgpOm4udmFsdWUsbD0vXjwhLS0uKi0tPiQvc3UudGVzdChzKTtyZXR1cm4geWUocyxsP1A6X2UodXIpKX1jYXNlXCJsaXN0XCI6e2xldCBpPU9pKG4sZS5wYXJlbnQpLG89cGkobixyKTtyZXR1cm4gVihlLHIsdCx7cHJvY2Vzc29yKHMpe2xldCBsPWYoKSxjPXMubm9kZTtpZihjLmNoaWxkcmVuLmxlbmd0aD09PTImJmMuY2hpbGRyZW5bMV0udHlwZT09PVwiaHRtbFwiJiZjLmNoaWxkcmVuWzBdLnBvc2l0aW9uLnN0YXJ0LmNvbHVtbiE9PWMuY2hpbGRyZW5bMV0ucG9zaXRpb24uc3RhcnQuY29sdW1uKXJldHVybltsLFNpKHMscix0LGwpXTtyZXR1cm5bbCxiZShcIiBcIi5yZXBlYXQobC5sZW5ndGgpLFNpKHMscix0LGwpKV07ZnVuY3Rpb24gZigpe2xldCBwPW4ub3JkZXJlZD8ocy5pc0ZpcnN0P24uc3RhcnQ6bz8xOm4uc3RhcnQrcy5pbmRleCkrKGklMj09PTA/XCIuIFwiOlwiKSBcIik6aSUyPT09MD9cIi0gXCI6XCIqIFwiO3JldHVybihuLmlzQWxpZ25lZHx8bi5oYXNJbmRlbnRlZENvZGVibG9jaykmJm4ub3JkZXJlZD9sZihwLHIpOnB9fX0pfWNhc2VcInRoZW1hdGljQnJlYWtcIjp7bGV0e2FuY2VzdG9yczppfT1lLG89aS5maW5kSW5kZXgobD0+bC50eXBlPT09XCJsaXN0XCIpO3JldHVybiBvPT09LTE/XCItLS1cIjpPaShpW29dLGlbbysxXSklMj09PTA/XCIqKipcIjpcIi0tLVwifWNhc2VcImxpbmtSZWZlcmVuY2VcIjpyZXR1cm5bXCJbXCIsVihlLHIsdCksXCJdXCIsbi5yZWZlcmVuY2VUeXBlPT09XCJmdWxsXCI/a3Qobik6bi5yZWZlcmVuY2VUeXBlPT09XCJjb2xsYXBzZWRcIj9cIltdXCI6XCJcIl07Y2FzZVwiaW1hZ2VSZWZlcmVuY2VcIjpzd2l0Y2gobi5yZWZlcmVuY2VUeXBlKXtjYXNlXCJmdWxsXCI6cmV0dXJuW1wiIVtcIixuLmFsdHx8XCJcIixcIl1cIixrdChuKV07ZGVmYXVsdDpyZXR1cm5bXCIhW1wiLG4uYWx0LFwiXVwiLG4ucmVmZXJlbmNlVHlwZT09PVwiY29sbGFwc2VkXCI/XCJbXVwiOlwiXCJdfWNhc2VcImRlZmluaXRpb25cIjp7bGV0IGk9ci5wcm9zZVdyYXA9PT1cImFsd2F5c1wiP3FyOlwiIFwiO3JldHVybiBNZShba3QobiksXCI6XCIsdHIoW2ksd3Qobi51cmwpLG4udGl0bGU9PT1udWxsP1wiXCI6W2ksVXIobi50aXRsZSxyLCExKV1dKV0pfWNhc2VcImZvb3Rub3RlXCI6cmV0dXJuW1wiW15cIixWKGUscix0KSxcIl1cIl07Y2FzZVwiZm9vdG5vdGVSZWZlcmVuY2VcIjpyZXR1cm4gTmkobik7Y2FzZVwiZm9vdG5vdGVEZWZpbml0aW9uXCI6e2xldCBpPW4uY2hpbGRyZW4ubGVuZ3RoPT09MSYmbi5jaGlsZHJlblswXS50eXBlPT09XCJwYXJhZ3JhcGhcIiYmKHIucHJvc2VXcmFwPT09XCJuZXZlclwifHxyLnByb3NlV3JhcD09PVwicHJlc2VydmVcIiYmbi5jaGlsZHJlblswXS5wb3NpdGlvbi5zdGFydC5saW5lPT09bi5jaGlsZHJlblswXS5wb3NpdGlvbi5lbmQubGluZSk7cmV0dXJuW05pKG4pLFwiOiBcIixpP1YoZSxyLHQpOk1lKFtiZShcIiBcIi5yZXBlYXQoNCksVihlLHIsdCx7cHJvY2Vzc29yOih7aXNGaXJzdDpvfSk9Pm8/TWUoW19yLHQoKV0pOnQoKX0pKV0pXX1jYXNlXCJ0YWJsZVwiOnJldHVybiB4aShlLHIsdCk7Y2FzZVwidGFibGVDZWxsXCI6cmV0dXJuIFYoZSxyLHQpO2Nhc2VcImJyZWFrXCI6cmV0dXJuL1xccy91LnRlc3Qoci5vcmlnaW5hbFRleHRbbi5wb3NpdGlvbi5zdGFydC5vZmZzZXRdKT9bXCIgIFwiLF9lKHVyKV06W1wiXFxcXFwiLFBdO2Nhc2VcImxpcXVpZE5vZGVcIjpyZXR1cm4geWUobi52YWx1ZSxQKTtjYXNlXCJpbXBvcnRcIjpjYXNlXCJleHBvcnRcIjpjYXNlXCJqc3hcIjpyZXR1cm4gbi52YWx1ZTtjYXNlXCJlc0NvbW1lbnRcIjpyZXR1cm5bXCJ7LyogXCIsbi52YWx1ZSxcIiAqL31cIl07Y2FzZVwibWF0aFwiOnJldHVybltcIiQkXCIsUCxuLnZhbHVlP1t5ZShuLnZhbHVlLFApLFBdOlwiXCIsXCIkJFwiXTtjYXNlXCJpbmxpbmVNYXRoXCI6cmV0dXJuIHIub3JpZ2luYWxUZXh0LnNsaWNlKE9lKG4pLExlKG4pKTtjYXNlXCJ0YWJsZVJvd1wiOmNhc2VcImxpc3RJdGVtXCI6Y2FzZVwidGV4dFwiOmRlZmF1bHQ6dGhyb3cgbmV3IHJpKG4sXCJNYXJrZG93blwiKX19ZnVuY3Rpb24gU2koZSxyLHQsbil7bGV0e25vZGU6YX09ZSx1PWEuY2hlY2tlZD09PW51bGw/XCJcIjphLmNoZWNrZWQ/XCJbeF0gXCI6XCJbIF0gXCI7cmV0dXJuW3UsVihlLHIsdCx7cHJvY2Vzc29yKHtub2RlOmksaXNGaXJzdDpvfSl7aWYobyYmaS50eXBlIT09XCJsaXN0XCIpcmV0dXJuIGJlKFwiIFwiLnJlcGVhdCh1Lmxlbmd0aCksdCgpKTtsZXQgcz1cIiBcIi5yZXBlYXQoRmYoci50YWJXaWR0aC1uLmxlbmd0aCwwLDMpKTtyZXR1cm5bcyxiZShzLHQoKSldfX0pXX1mdW5jdGlvbiBsZihlLHIpe2xldCB0PW4oKTtyZXR1cm4gZStcIiBcIi5yZXBlYXQodD49ND8wOnQpO2Z1bmN0aW9uIG4oKXtsZXQgYT1lLmxlbmd0aCVyLnRhYldpZHRoO3JldHVybiBhPT09MD8wOnIudGFiV2lkdGgtYX19ZnVuY3Rpb24gT2koZSxyKXtyZXR1cm4gZmYoZSxyLHQ9PnQub3JkZXJlZD09PWUub3JkZXJlZCl9ZnVuY3Rpb24gZmYoZSxyLHQpe2xldCBuPS0xO2ZvcihsZXQgYSBvZiByLmNoaWxkcmVuKWlmKGEudHlwZT09PWUudHlwZSYmdChhKT9uKys6bj0tMSxhPT09ZSlyZXR1cm4gbn1mdW5jdGlvbiBEZihlLHIsdCl7bGV0IG49W10sYT1udWxsLHtjaGlsZHJlbjp1fT1lLm5vZGU7Zm9yKGxldFtpLG9db2YgdS5lbnRyaWVzKCkpc3dpdGNoKEJ0KG8pKXtjYXNlXCJzdGFydFwiOmE9PT1udWxsJiYoYT17aW5kZXg6aSxvZmZzZXQ6by5wb3NpdGlvbi5lbmQub2Zmc2V0fSk7YnJlYWs7Y2FzZVwiZW5kXCI6YSE9PW51bGwmJihuLnB1c2goe3N0YXJ0OmEsZW5kOntpbmRleDppLG9mZnNldDpvLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldH19KSxhPW51bGwpO2JyZWFrO2RlZmF1bHQ6YnJlYWt9cmV0dXJuIFYoZSxyLHQse3Byb2Nlc3Nvcih7aW5kZXg6aX0pe2lmKG4ubGVuZ3RoPjApe2xldCBvPW5bMF07aWYoaT09PW8uc3RhcnQuaW5kZXgpcmV0dXJuW0xpKHVbby5zdGFydC5pbmRleF0pLHIub3JpZ2luYWxUZXh0LnNsaWNlKG8uc3RhcnQub2Zmc2V0LG8uZW5kLm9mZnNldCksTGkodVtvLmVuZC5pbmRleF0pXTtpZihvLnN0YXJ0LmluZGV4PGkmJmk8by5lbmQuaW5kZXgpcmV0dXJuITE7aWYoaT09PW8uZW5kLmluZGV4KXJldHVybiBuLnNoaWZ0KCksITF9cmV0dXJuIHQoKX19KX1mdW5jdGlvbiBWKGUscix0LG49e30pe2xldHtwcm9jZXNzb3I6YT10fT1uLHU9W107cmV0dXJuIGUuZWFjaCgoKT0+e2xldCBpPWEoZSk7aSE9PSExJiYodS5sZW5ndGg+MCYmcGYoZSkmJih1LnB1c2goUCksKGhmKGUscil8fElpKGUpKSYmdS5wdXNoKFApLElpKGUpJiZ1LnB1c2goUCkpLHUucHVzaChpKSl9LFwiY2hpbGRyZW5cIiksdX1mdW5jdGlvbiBMaShlKXtpZihlLnR5cGU9PT1cImh0bWxcIilyZXR1cm4gZS52YWx1ZTtpZihlLnR5cGU9PT1cInBhcmFncmFwaFwiJiZBcnJheS5pc0FycmF5KGUuY2hpbGRyZW4pJiZlLmNoaWxkcmVuLmxlbmd0aD09PTEmJmUuY2hpbGRyZW5bMF0udHlwZT09PVwiZXNDb21tZW50XCIpcmV0dXJuW1wiey8qIFwiLGUuY2hpbGRyZW5bMF0udmFsdWUsXCIgKi99XCJdfWZ1bmN0aW9uIEJ0KGUpe2xldCByO2lmKGUudHlwZT09PVwiaHRtbFwiKXI9ZS52YWx1ZS5tYXRjaCgvXjwhLS1cXHMqcHJldHRpZXItaWdub3JlKD86LShzdGFydHxlbmQpKT9cXHMqLS0+JC91KTtlbHNle2xldCB0O2UudHlwZT09PVwiZXNDb21tZW50XCI/dD1lOmUudHlwZT09PVwicGFyYWdyYXBoXCImJmUuY2hpbGRyZW4ubGVuZ3RoPT09MSYmZS5jaGlsZHJlblswXS50eXBlPT09XCJlc0NvbW1lbnRcIiYmKHQ9ZS5jaGlsZHJlblswXSksdCYmKHI9dC52YWx1ZS5tYXRjaCgvXnByZXR0aWVyLWlnbm9yZSg/Oi0oc3RhcnR8ZW5kKSk/JC91KSl9cmV0dXJuIHI/clsxXXx8XCJuZXh0XCI6ITF9ZnVuY3Rpb24gcGYoe25vZGU6ZSxwYXJlbnQ6cn0pe2xldCB0PUZ0LmhhcyhlLnR5cGUpLG49ZS50eXBlPT09XCJodG1sXCImJlByLmhhcyhyLnR5cGUpO3JldHVybiF0JiYhbn1mdW5jdGlvbiBQaShlLHIpe3JldHVybiBlLnR5cGU9PT1cImxpc3RJdGVtXCImJihlLnNwcmVhZHx8ci5vcmlnaW5hbFRleHQuY2hhckF0KGUucG9zaXRpb24uZW5kLm9mZnNldC0xKT09PWBcbmApfWZ1bmN0aW9uIGhmKHtub2RlOmUscHJldmlvdXM6cixwYXJlbnQ6dH0sbil7aWYoUGkocixuKSlyZXR1cm4hMDtsZXQgaT1yLnR5cGU9PT1lLnR5cGUmJnNmLmhhcyhlLnR5cGUpLG89dC50eXBlPT09XCJsaXN0SXRlbVwiJiYhUGkodCxuKSxzPUJ0KHIpPT09XCJuZXh0XCIsbD1lLnR5cGU9PT1cImh0bWxcIiYmci50eXBlPT09XCJodG1sXCImJnIucG9zaXRpb24uZW5kLmxpbmUrMT09PWUucG9zaXRpb24uc3RhcnQubGluZSxjPWUudHlwZT09PVwiaHRtbFwiJiZ0LnR5cGU9PT1cImxpc3RJdGVtXCImJnIudHlwZT09PVwicGFyYWdyYXBoXCImJnIucG9zaXRpb24uZW5kLmxpbmUrMT09PWUucG9zaXRpb24uc3RhcnQubGluZTtyZXR1cm4hKGl8fG98fHN8fGx8fGMpfWZ1bmN0aW9uIElpKHtub2RlOmUscHJldmlvdXM6cn0pe2xldCB0PXIudHlwZT09PVwibGlzdFwiLG49ZS50eXBlPT09XCJjb2RlXCImJmUuaXNJbmRlbnRlZDtyZXR1cm4gdCYmbn1mdW5jdGlvbiBkZihlKXtsZXQgcj1lLmZpbmRBbmNlc3Rvcih0PT50LnR5cGU9PT1cImxpbmtSZWZlcmVuY2VcInx8dC50eXBlPT09XCJpbWFnZVJlZmVyZW5jZVwiKTtyZXR1cm4gciYmKHIudHlwZSE9PVwibGlua1JlZmVyZW5jZVwifHxyLnJlZmVyZW5jZVR5cGUhPT1cImZ1bGxcIil9dmFyIG1mPShlLHIpPT57Zm9yKGxldCB0IG9mIHIpZT1OKCExLGUsdCxlbmNvZGVVUklDb21wb25lbnQodCkpO3JldHVybiBlfTtmdW5jdGlvbiB3dChlLHI9W10pe2xldCB0PVtcIiBcIiwuLi5BcnJheS5pc0FycmF5KHIpP3I6W3JdXTtyZXR1cm4gbmV3IFJlZ0V4cCh0Lm1hcChuPT5sZShuKSkuam9pbihcInxcIiksXCJ1XCIpLnRlc3QoZSk/YDwke21mKGUsXCI8PlwiKX0+YDplfWZ1bmN0aW9uIFVyKGUscix0PSEwKXtpZighZSlyZXR1cm5cIlwiO2lmKHQpcmV0dXJuXCIgXCIrVXIoZSxyLCExKTtpZihlPU4oITEsZSwvXFxcXCg/PVtcIicpXSkvZ3UsXCJcIiksZS5pbmNsdWRlcygnXCInKSYmZS5pbmNsdWRlcyhcIidcIikmJiFlLmluY2x1ZGVzKFwiKVwiKSlyZXR1cm5gKCR7ZX0pYDtsZXQgbj1laShlLHIuc2luZ2xlUXVvdGUpO3JldHVybiBlPU4oITEsZSxcIlxcXFxcIixcIlxcXFxcXFxcXCIpLGU9TighMSxlLG4sYFxcXFwke259YCksYCR7bn0ke2V9JHtufWB9ZnVuY3Rpb24gRmYoZSxyLHQpe3JldHVybiBNYXRoLm1heChyLE1hdGgubWluKGUsdCkpfWZ1bmN0aW9uIGdmKGUpe3JldHVybiBlLmluZGV4PjAmJkJ0KGUucHJldmlvdXMpPT09XCJuZXh0XCJ9ZnVuY3Rpb24ga3QoZSl7cmV0dXJuYFskeygwLFJpLmRlZmF1bHQpKGUubGFiZWwpfV1gfWZ1bmN0aW9uIE5pKGUpe3JldHVybmBbXiR7ZS5sYWJlbH1dYH12YXIgdmY9e3ByZXByb2Nlc3M6QmkscHJpbnQ6Y2YsZW1iZWQ6aGksbWFzc2FnZUFzdE5vZGU6c2ksaGFzUHJldHRpZXJJZ25vcmU6Z2YsaW5zZXJ0UHJhZ21hOnVpLGdldFZpc2l0b3JLZXlzOkZpfSxVaT12Zjt2YXIgTWk9W3tsaW5ndWlzdExhbmd1YWdlSWQ6MjIyLG5hbWU6XCJNYXJrZG93blwiLHR5cGU6XCJwcm9zZVwiLGNvbG9yOlwiIzA4M2ZhMVwiLGFsaWFzZXM6W1wibWRcIixcInBhbmRvY1wiXSxhY2VNb2RlOlwibWFya2Rvd25cIixjb2RlbWlycm9yTW9kZTpcImdmbVwiLGNvZGVtaXJyb3JNaW1lVHlwZTpcInRleHQveC1nZm1cIix3cmFwOiEwLGV4dGVuc2lvbnM6W1wiLm1kXCIsXCIubGl2ZW1kXCIsXCIubWFya2Rvd25cIixcIi5tZG93blwiLFwiLm1kd25cIixcIi5ta2RcIixcIi5ta2RuXCIsXCIubWtkb3duXCIsXCIucm9ublwiLFwiLnNjZFwiLFwiLndvcmtib29rXCJdLGZpbGVuYW1lczpbXCJjb250ZW50cy5sclwiLFwiUkVBRE1FXCJdLHRtU2NvcGU6XCJ0ZXh0Lm1kXCIscGFyc2VyczpbXCJtYXJrZG93blwiXSx2c2NvZGVMYW5ndWFnZUlkczpbXCJtYXJrZG93blwiXX0se2xpbmd1aXN0TGFuZ3VhZ2VJZDoyMjIsbmFtZTpcIk1EWFwiLHR5cGU6XCJwcm9zZVwiLGNvbG9yOlwiIzA4M2ZhMVwiLGFsaWFzZXM6W1wibWRcIixcInBhbmRvY1wiXSxhY2VNb2RlOlwibWFya2Rvd25cIixjb2RlbWlycm9yTW9kZTpcImdmbVwiLGNvZGVtaXJyb3JNaW1lVHlwZTpcInRleHQveC1nZm1cIix3cmFwOiEwLGV4dGVuc2lvbnM6W1wiLm1keFwiXSxmaWxlbmFtZXM6W10sdG1TY29wZTpcInRleHQubWRcIixwYXJzZXJzOltcIm1keFwiXSx2c2NvZGVMYW5ndWFnZUlkczpbXCJtZHhcIl19XTt2YXIgVHQ9e2JyYWNrZXRTcGFjaW5nOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMCxkZXNjcmlwdGlvbjpcIlByaW50IHNwYWNlcyBiZXR3ZWVuIGJyYWNrZXRzLlwiLG9wcG9zaXRlRGVzY3JpcHRpb246XCJEbyBub3QgcHJpbnQgc3BhY2VzIGJldHdlZW4gYnJhY2tldHMuXCJ9LHNpbmdsZVF1b3RlOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMSxkZXNjcmlwdGlvbjpcIlVzZSBzaW5nbGUgcXVvdGVzIGluc3RlYWQgb2YgZG91YmxlIHF1b3Rlcy5cIn0scHJvc2VXcmFwOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJjaG9pY2VcIixkZWZhdWx0OlwicHJlc2VydmVcIixkZXNjcmlwdGlvbjpcIkhvdyB0byB3cmFwIHByb3NlLlwiLGNob2ljZXM6W3t2YWx1ZTpcImFsd2F5c1wiLGRlc2NyaXB0aW9uOlwiV3JhcCBwcm9zZSBpZiBpdCBleGNlZWRzIHRoZSBwcmludCB3aWR0aC5cIn0se3ZhbHVlOlwibmV2ZXJcIixkZXNjcmlwdGlvbjpcIkRvIG5vdCB3cmFwIHByb3NlLlwifSx7dmFsdWU6XCJwcmVzZXJ2ZVwiLGRlc2NyaXB0aW9uOlwiV3JhcCBwcm9zZSBhcy1pcy5cIn1dfSxicmFja2V0U2FtZUxpbmU6e2NhdGVnb3J5OlwiQ29tbW9uXCIsdHlwZTpcImJvb2xlYW5cIixkZWZhdWx0OiExLGRlc2NyaXB0aW9uOlwiUHV0ID4gb2Ygb3BlbmluZyB0YWdzIG9uIHRoZSBsYXN0IGxpbmUgaW5zdGVhZCBvZiBvbiBhIG5ldyBsaW5lLlwifSxzaW5nbGVBdHRyaWJ1dGVQZXJMaW5lOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMSxkZXNjcmlwdGlvbjpcIkVuZm9yY2Ugc2luZ2xlIGF0dHJpYnV0ZSBwZXIgbGluZSBpbiBIVE1MLCBWdWUgYW5kIEpTWC5cIn19O3ZhciBFZj17cHJvc2VXcmFwOlR0LnByb3NlV3JhcCxzaW5nbGVRdW90ZTpUdC5zaW5nbGVRdW90ZX0semk9RWY7dmFyIFJuPXt9O3puKFJuLHttYXJrZG93bjooKT0+SW0sbWR4OigpPT5ObSxyZW1hcms6KCk9PkltfSk7dmFyIG5sPVVlKEdpKCksMSksaWw9VWUobnUoKSwxKSx1bD1VZShRcygpLDEpLGFsPVVlKGpjKCksMSk7dmFyIEJtPS9eaW1wb3J0XFxzL3UsVG09L15leHBvcnRcXHMvdSwkYz1TdHJpbmcucmF3YFthLXpdW2EtejAtOV0qKFxcLlthLXpdW2EtejAtOV0qKSp8YCxXYz0vPCEtLS0tPnw8IS0tLT9bXj4tXSg/Oi0/W14tXSkqLS0+L3UscW09L15cXHtcXHMqXFwvXFwqKC4qKVxcKlxcL1xccypcXH0vdSxfbT1gXG5cbmAsSGM9ZT0+Qm0udGVzdChlKSxObj1lPT5UbS50ZXN0KGUpLEtjPShlLHIpPT57bGV0IHQ9ci5pbmRleE9mKF9tKSxuPXIuc2xpY2UoMCx0KTtpZihObihuKXx8SGMobikpcmV0dXJuIGUobikoe3R5cGU6Tm4obik/XCJleHBvcnRcIjpcImltcG9ydFwiLHZhbHVlOm59KX0sSmM9KGUscik9PntsZXQgdD1xbS5leGVjKHIpO2lmKHQpcmV0dXJuIGUodFswXSkoe3R5cGU6XCJlc0NvbW1lbnRcIix2YWx1ZTp0WzFdLnRyaW0oKX0pfTtLYy5sb2NhdG9yPWU9Pk5uKGUpfHxIYyhlKT8tMToxO0pjLmxvY2F0b3I9KGUscik9PmUuaW5kZXhPZihcIntcIixyKTt2YXIgWGM9ZnVuY3Rpb24oKXtsZXR7UGFyc2VyOmV9PXRoaXMse2Jsb2NrVG9rZW5pemVyczpyLGJsb2NrTWV0aG9kczp0LGlubGluZVRva2VuaXplcnM6bixpbmxpbmVNZXRob2RzOmF9PWUucHJvdG90eXBlO3IuZXNTeW50YXg9S2Msbi5lc0NvbW1lbnQ9SmMsdC5zcGxpY2UodC5pbmRleE9mKFwicGFyYWdyYXBoXCIpLDAsXCJlc1N5bnRheFwiKSxhLnNwbGljZShhLmluZGV4T2YoXCJ0ZXh0XCIpLDAsXCJlc0NvbW1lbnRcIil9O3ZhciBTbT1mdW5jdGlvbigpe2xldCBlPXRoaXMuUGFyc2VyLnByb3RvdHlwZTtlLmJsb2NrTWV0aG9kcz1bXCJmcm9udE1hdHRlclwiLC4uLmUuYmxvY2tNZXRob2RzXSxlLmJsb2NrVG9rZW5pemVycy5mcm9udE1hdHRlcj1yO2Z1bmN0aW9uIHIodCxuKXtsZXQgYT1vcihuKTtpZihhLmZyb250TWF0dGVyKXJldHVybiB0KGEuZnJvbnRNYXR0ZXIucmF3KShhLmZyb250TWF0dGVyKX1yLm9ubHlBdFN0YXJ0PSEwfSxRYz1TbTtmdW5jdGlvbiBPbSgpe3JldHVybiBlPT5BZShlLChyLHQsW25dKT0+ci50eXBlIT09XCJodG1sXCJ8fFdjLnRlc3Qoci52YWx1ZSl8fFByLmhhcyhuLnR5cGUpP3I6ey4uLnIsdHlwZTpcImpzeFwifSl9dmFyIFpjPU9tO3ZhciBMbT1mdW5jdGlvbigpe2xldCBlPXRoaXMuUGFyc2VyLnByb3RvdHlwZSxyPWUuaW5saW5lTWV0aG9kcztyLnNwbGljZShyLmluZGV4T2YoXCJ0ZXh0XCIpLDAsXCJsaXF1aWRcIiksZS5pbmxpbmVUb2tlbml6ZXJzLmxpcXVpZD10O2Z1bmN0aW9uIHQobixhKXtsZXQgdT1hLm1hdGNoKC9eKFxceyUuKj8lXFx9fFxce1xcey4qP1xcfVxcfSkvc3UpO2lmKHUpcmV0dXJuIG4odVswXSkoe3R5cGU6XCJsaXF1aWROb2RlXCIsdmFsdWU6dVswXX0pfXQubG9jYXRvcj1mdW5jdGlvbihuLGEpe3JldHVybiBuLmluZGV4T2YoXCJ7XCIsYSl9fSxlbD1MbTt2YXIgUG09ZnVuY3Rpb24oKXtsZXQgZT1cIndpa2lMaW5rXCIscj0vXlxcW1xcWyg/PGxpbmtDb250ZW50cz4uKz8pXFxdXFxdL3N1LHQ9dGhpcy5QYXJzZXIucHJvdG90eXBlLG49dC5pbmxpbmVNZXRob2RzO24uc3BsaWNlKG4uaW5kZXhPZihcImxpbmtcIiksMCxlKSx0LmlubGluZVRva2VuaXplcnMud2lraUxpbms9YTtmdW5jdGlvbiBhKHUsaSl7bGV0IG89ci5leGVjKGkpO2lmKG8pe2xldCBzPW8uZ3JvdXBzLmxpbmtDb250ZW50cy50cmltKCk7cmV0dXJuIHUob1swXSkoe3R5cGU6ZSx2YWx1ZTpzfSl9fWEubG9jYXRvcj1mdW5jdGlvbih1LGkpe3JldHVybiB1LmluZGV4T2YoXCJbXCIsaSl9fSxybD1QbTtmdW5jdGlvbiBvbCh7aXNNRFg6ZX0pe3JldHVybiByPT57bGV0IHQ9KDAsYWwuZGVmYXVsdCkoKS51c2UodWwuZGVmYXVsdCx7Y29tbW9ubWFyazohMCwuLi5lJiZ7YmxvY2tzOlskY119fSkudXNlKG5sLmRlZmF1bHQpLnVzZShRYykudXNlKGlsLmRlZmF1bHQpLnVzZShlP1hjOnRsKS51c2UoZWwpLnVzZShlP1pjOnRsKS51c2UocmwpO3JldHVybiB0LnJ1bih0LnBhcnNlKHIpKX19ZnVuY3Rpb24gdGwoKXt9dmFyIHNsPXthc3RGb3JtYXQ6XCJtZGFzdFwiLGhhc1ByYWdtYTppaSxsb2NTdGFydDpPZSxsb2NFbmQ6TGV9LEltPXsuLi5zbCxwYXJzZTpvbCh7aXNNRFg6ITF9KX0sTm09ey4uLnNsLHBhcnNlOm9sKHtpc01EWDohMH0pfTt2YXIgUm09e21kYXN0OlVpfTt2YXIga0M9VW47ZXhwb3J0e2tDIGFzIGRlZmF1bHQsTWkgYXMgbGFuZ3VhZ2VzLHppIGFzIG9wdGlvbnMsUm4gYXMgcGFyc2VycyxSbSBhcyBwcmludGVyc307XG4iLCAidmFyIE5lPU9iamVjdC5kZWZpbmVQcm9wZXJ0eTt2YXIgSW49KG4sZSk9Pntmb3IodmFyIHUgaW4gZSlOZShuLHUse2dldDplW3VdLGVudW1lcmFibGU6ITB9KX07dmFyIEJuPXt9O0luKEJuLHtwYXJzZXJzOigpPT53bn0pO3ZhciB3bj17fTtJbih3bix7bWVyaXlhaDooKT0+SzF9KTt2YXIgVmU9KG4sZSx1LHQpPT57aWYoIShuJiZlPT1udWxsKSlyZXR1cm4gZS5yZXBsYWNlQWxsP2UucmVwbGFjZUFsbCh1LHQpOnUuZ2xvYmFsP2UucmVwbGFjZSh1LHQpOmUuc3BsaXQodSkuam9pbih0KX0saTI9VmU7dmFyIE9lPXswOlwiVW5leHBlY3RlZCB0b2tlblwiLDMwOlwiVW5leHBlY3RlZCB0b2tlbjogJyUwJ1wiLDE6XCJPY3RhbCBlc2NhcGUgc2VxdWVuY2VzIGFyZSBub3QgYWxsb3dlZCBpbiBzdHJpY3QgbW9kZVwiLDI6XCJPY3RhbCBlc2NhcGUgc2VxdWVuY2VzIGFyZSBub3QgYWxsb3dlZCBpbiB0ZW1wbGF0ZSBzdHJpbmdzXCIsMzpcIlxcXFw4IGFuZCBcXFxcOSBhcmUgbm90IGFsbG93ZWQgaW4gdGVtcGxhdGUgc3RyaW5nc1wiLDQ6XCJQcml2YXRlIGlkZW50aWZpZXIgIyUwIGlzIG5vdCBkZWZpbmVkXCIsNTpcIklsbGVnYWwgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2VcIiw2OlwiSW52YWxpZCBjb2RlIHBvaW50ICUwXCIsNzpcIkludmFsaWQgaGV4YWRlY2ltYWwgZXNjYXBlIHNlcXVlbmNlXCIsOTpcIk9jdGFsIGxpdGVyYWxzIGFyZSBub3QgYWxsb3dlZCBpbiBzdHJpY3QgbW9kZVwiLDg6XCJEZWNpbWFsIGludGVnZXIgbGl0ZXJhbHMgd2l0aCBhIGxlYWRpbmcgemVybyBhcmUgZm9yYmlkZGVuIGluIHN0cmljdCBtb2RlXCIsMTA6XCJFeHBlY3RlZCBudW1iZXIgaW4gcmFkaXggJTBcIiwxNTE6XCJJbnZhbGlkIGxlZnQtaGFuZCBzaWRlIGFzc2lnbm1lbnQgdG8gYSBkZXN0cnVjdGlibGUgcmlnaHQtaGFuZCBzaWRlXCIsMTE6XCJOb24tbnVtYmVyIGZvdW5kIGFmdGVyIGV4cG9uZW50IGluZGljYXRvclwiLDEyOlwiSW52YWxpZCBCaWdJbnRMaXRlcmFsXCIsMTM6XCJObyBpZGVudGlmaWVycyBhbGxvd2VkIGRpcmVjdGx5IGFmdGVyIG51bWVyaWMgbGl0ZXJhbFwiLDE0OlwiRXNjYXBlcyBcXFxcOCBvciBcXFxcOSBhcmUgbm90IHN5bnRhY3RpY2FsbHkgdmFsaWQgZXNjYXBlc1wiLDE1OlwiRXNjYXBlcyBcXFxcOCBvciBcXFxcOSBhcmUgbm90IGFsbG93ZWQgaW4gc3RyaWN0IG1vZGVcIiwxNjpcIlVudGVybWluYXRlZCBzdHJpbmcgbGl0ZXJhbFwiLDE3OlwiVW50ZXJtaW5hdGVkIHRlbXBsYXRlIGxpdGVyYWxcIiwxODpcIk11bHRpbGluZSBjb21tZW50IHdhcyBub3QgY2xvc2VkIHByb3Blcmx5XCIsMTk6XCJUaGUgaWRlbnRpZmllciBjb250YWluZWQgZHluYW1pYyB1bmljb2RlIGVzY2FwZSB0aGF0IHdhcyBub3QgY2xvc2VkXCIsMjA6XCJJbGxlZ2FsIGNoYXJhY3RlciAnJTAnXCIsMjE6XCJNaXNzaW5nIGhleGFkZWNpbWFsIGRpZ2l0c1wiLDIyOlwiSW52YWxpZCBpbXBsaWNpdCBvY3RhbFwiLDIzOlwiSW52YWxpZCBsaW5lIGJyZWFrIGluIHN0cmluZyBsaXRlcmFsXCIsMjQ6XCJPbmx5IHVuaWNvZGUgZXNjYXBlcyBhcmUgbGVnYWwgaW4gaWRlbnRpZmllciBuYW1lc1wiLDI1OlwiRXhwZWN0ZWQgJyUwJ1wiLDI2OlwiSW52YWxpZCBsZWZ0LWhhbmQgc2lkZSBpbiBhc3NpZ25tZW50XCIsMjc6XCJJbnZhbGlkIGxlZnQtaGFuZCBzaWRlIGluIGFzeW5jIGFycm93XCIsMjg6J0NhbGxzIHRvIHN1cGVyIG11c3QgYmUgaW4gdGhlIFwiY29uc3RydWN0b3JcIiBtZXRob2Qgb2YgYSBjbGFzcyBleHByZXNzaW9uIG9yIGNsYXNzIGRlY2xhcmF0aW9uIHRoYXQgaGFzIGEgc3VwZXJjbGFzcycsMjk6XCJNZW1iZXIgYWNjZXNzIG9uIHN1cGVyIG11c3QgYmUgaW4gYSBtZXRob2RcIiwzMTpcIkF3YWl0IGV4cHJlc3Npb24gbm90IGFsbG93ZWQgaW4gZm9ybWFsIHBhcmFtZXRlclwiLDMyOlwiWWllbGQgZXhwcmVzc2lvbiBub3QgYWxsb3dlZCBpbiBmb3JtYWwgcGFyYW1ldGVyXCIsOTU6XCJVbmV4cGVjdGVkIHRva2VuOiAnZXNjYXBlZCBrZXl3b3JkJ1wiLDMzOlwiVW5hcnkgZXhwcmVzc2lvbnMgYXMgdGhlIGxlZnQgb3BlcmFuZCBvZiBhbiBleHBvbmVudGlhdGlvbiBleHByZXNzaW9uIG11c3QgYmUgZGlzYW1iaWd1YXRlZCB3aXRoIHBhcmVudGhlc2VzXCIsMTIzOlwiQXN5bmMgZnVuY3Rpb25zIGNhbiBvbmx5IGJlIGRlY2xhcmVkIGF0IHRoZSB0b3AgbGV2ZWwgb3IgaW5zaWRlIGEgYmxvY2tcIiwzNDpcIlVudGVybWluYXRlZCByZWd1bGFyIGV4cHJlc3Npb25cIiwzNTpcIlVuZXhwZWN0ZWQgcmVndWxhciBleHByZXNzaW9uIGZsYWdcIiwzNjpcIkR1cGxpY2F0ZSByZWd1bGFyIGV4cHJlc3Npb24gZmxhZyAnJTAnXCIsMzc6XCIlMCBmdW5jdGlvbnMgbXVzdCBoYXZlIGV4YWN0bHkgJTEgYXJndW1lbnQlMlwiLDM4OlwiU2V0dGVyIGZ1bmN0aW9uIGFyZ3VtZW50IG11c3Qgbm90IGJlIGEgcmVzdCBwYXJhbWV0ZXJcIiwzOTpcIiUwIGRlY2xhcmF0aW9uIG11c3QgaGF2ZSBhIG5hbWUgaW4gdGhpcyBjb250ZXh0XCIsNDA6XCJGdW5jdGlvbiBuYW1lIG1heSBub3QgY29udGFpbiBhbnkgcmVzZXJ2ZWQgd29yZHMgb3IgYmUgZXZhbCBvciBhcmd1bWVudHMgaW4gc3RyaWN0IG1vZGVcIiw0MTpcIlRoZSByZXN0IG9wZXJhdG9yIGlzIG1pc3NpbmcgYW4gYXJndW1lbnRcIiw0MjpcIkEgZ2V0dGVyIGNhbm5vdCBiZSBhIGdlbmVyYXRvclwiLDQzOlwiQSBzZXR0ZXIgY2Fubm90IGJlIGEgZ2VuZXJhdG9yXCIsNDQ6XCJBIGNvbXB1dGVkIHByb3BlcnR5IG5hbWUgbXVzdCBiZSBmb2xsb3dlZCBieSBhIGNvbG9uIG9yIHBhcmVuXCIsMTM0OlwiT2JqZWN0IGxpdGVyYWwga2V5cyB0aGF0IGFyZSBzdHJpbmdzIG9yIG51bWJlcnMgbXVzdCBiZSBhIG1ldGhvZCBvciBoYXZlIGEgY29sb25cIiw0NjpcIkZvdW5kIGAqIGFzeW5jIHgoKXt9YCBidXQgdGhpcyBzaG91bGQgYmUgYGFzeW5jICogeCgpe31gXCIsNDU6XCJHZXR0ZXJzIGFuZCBzZXR0ZXJzIGNhbiBub3QgYmUgZ2VuZXJhdG9yc1wiLDQ3OlwiJyUwJyBjYW4gbm90IGJlIGdlbmVyYXRvciBtZXRob2RcIiw0ODpcIk5vIGxpbmUgYnJlYWsgaXMgYWxsb3dlZCBhZnRlciAnPT4nXCIsNDk6XCJUaGUgbGVmdC1oYW5kIHNpZGUgb2YgdGhlIGFycm93IGNhbiBvbmx5IGJlIGRlc3RydWN0ZWQgdGhyb3VnaCBhc3NpZ25tZW50XCIsNTA6XCJUaGUgYmluZGluZyBkZWNsYXJhdGlvbiBpcyBub3QgZGVzdHJ1Y3RpYmxlXCIsNTE6XCJBc3luYyBhcnJvdyBjYW4gbm90IGJlIGZvbGxvd2VkIGJ5IG5ldyBleHByZXNzaW9uXCIsNTI6XCJDbGFzc2VzIG1heSBub3QgaGF2ZSBhIHN0YXRpYyBwcm9wZXJ0eSBuYW1lZCAncHJvdG90eXBlJ1wiLDUzOlwiQ2xhc3MgY29uc3RydWN0b3IgbWF5IG5vdCBiZSBhICUwXCIsNTQ6XCJEdXBsaWNhdGUgY29uc3RydWN0b3IgbWV0aG9kIGluIGNsYXNzXCIsNTU6XCJJbnZhbGlkIGluY3JlbWVudC9kZWNyZW1lbnQgb3BlcmFuZFwiLDU2OlwiSW52YWxpZCB1c2Ugb2YgYG5ld2Aga2V5d29yZCBvbiBhbiBpbmNyZW1lbnQvZGVjcmVtZW50IGV4cHJlc3Npb25cIiw1NzpcImA9PmAgaXMgYW4gaW52YWxpZCBhc3NpZ25tZW50IHRhcmdldFwiLDU4OlwiUmVzdCBlbGVtZW50IG1heSBub3QgaGF2ZSBhIHRyYWlsaW5nIGNvbW1hXCIsNTk6XCJNaXNzaW5nIGluaXRpYWxpemVyIGluICUwIGRlY2xhcmF0aW9uXCIsNjA6XCInZm9yLSUwJyBsb29wIGhlYWQgZGVjbGFyYXRpb25zIGNhbiBub3QgaGF2ZSBhbiBpbml0aWFsaXplclwiLDYxOlwiSW52YWxpZCBsZWZ0LWhhbmQgc2lkZSBpbiBmb3ItJTAgbG9vcDogTXVzdCBoYXZlIGEgc2luZ2xlIGJpbmRpbmdcIiw2MjpcIkludmFsaWQgc2hvcnRoYW5kIHByb3BlcnR5IGluaXRpYWxpemVyXCIsNjM6XCJQcm9wZXJ0eSBuYW1lIF9fcHJvdG9fXyBhcHBlYXJzIG1vcmUgdGhhbiBvbmNlIGluIG9iamVjdCBsaXRlcmFsXCIsNjQ6XCJMZXQgaXMgZGlzYWxsb3dlZCBhcyBhIGxleGljYWxseSBib3VuZCBuYW1lXCIsNjU6XCJJbnZhbGlkIHVzZSBvZiAnJTAnIGluc2lkZSBuZXcgZXhwcmVzc2lvblwiLDY2OlwiSWxsZWdhbCAndXNlIHN0cmljdCcgZGlyZWN0aXZlIGluIGZ1bmN0aW9uIHdpdGggbm9uLXNpbXBsZSBwYXJhbWV0ZXIgbGlzdFwiLDY3OidJZGVudGlmaWVyIFwibGV0XCIgZGlzYWxsb3dlZCBhcyBsZWZ0LWhhbmQgc2lkZSBleHByZXNzaW9uIGluIHN0cmljdCBtb2RlJyw2ODpcIklsbGVnYWwgY29udGludWUgc3RhdGVtZW50XCIsNjk6XCJJbGxlZ2FsIGJyZWFrIHN0YXRlbWVudFwiLDcwOlwiQ2Fubm90IGhhdmUgYGxldFsuLi5dYCBhcyBhIHZhciBuYW1lIGluIHN0cmljdCBtb2RlXCIsNzE6XCJJbnZhbGlkIGRlc3RydWN0dXJpbmcgYXNzaWdubWVudCB0YXJnZXRcIiw3MjpcIlJlc3QgcGFyYW1ldGVyIG1heSBub3QgaGF2ZSBhIGRlZmF1bHQgaW5pdGlhbGl6ZXJcIiw3MzpcIlRoZSByZXN0IGFyZ3VtZW50IG11c3QgdGhlIGJlIGxhc3QgcGFyYW1ldGVyXCIsNzQ6XCJJbnZhbGlkIHJlc3QgYXJndW1lbnRcIiw3NjpcIkluIHN0cmljdCBtb2RlIGNvZGUsIGZ1bmN0aW9ucyBjYW4gb25seSBiZSBkZWNsYXJlZCBhdCB0b3AgbGV2ZWwgb3IgaW5zaWRlIGEgYmxvY2tcIiw3NzpcIkluIG5vbi1zdHJpY3QgbW9kZSBjb2RlLCBmdW5jdGlvbnMgY2FuIG9ubHkgYmUgZGVjbGFyZWQgYXQgdG9wIGxldmVsLCBpbnNpZGUgYSBibG9jaywgb3IgYXMgdGhlIGJvZHkgb2YgYW4gaWYgc3RhdGVtZW50XCIsNzg6XCJXaXRob3V0IHdlYiBjb21wYXRpYmlsaXR5IGVuYWJsZWQgZnVuY3Rpb25zIGNhbiBub3QgYmUgZGVjbGFyZWQgYXQgdG9wIGxldmVsLCBpbnNpZGUgYSBibG9jaywgb3IgYXMgdGhlIGJvZHkgb2YgYW4gaWYgc3RhdGVtZW50XCIsNzk6XCJDbGFzcyBkZWNsYXJhdGlvbiBjYW4ndCBhcHBlYXIgaW4gc2luZ2xlLXN0YXRlbWVudCBjb250ZXh0XCIsODA6XCJJbnZhbGlkIGxlZnQtaGFuZCBzaWRlIGluIGZvci0lMFwiLDgxOlwiSW52YWxpZCBhc3NpZ25tZW50IGluIGZvci0lMFwiLDgyOlwiZm9yIGF3YWl0ICguLi4gb2YgLi4uKSBpcyBvbmx5IHZhbGlkIGluIGFzeW5jIGZ1bmN0aW9ucyBhbmQgYXN5bmMgZ2VuZXJhdG9yc1wiLDgzOlwiVGhlIGZpcnN0IHRva2VuIGFmdGVyIHRoZSB0ZW1wbGF0ZSBleHByZXNzaW9uIHNob3VsZCBiZSBhIGNvbnRpbnVhdGlvbiBvZiB0aGUgdGVtcGxhdGVcIiw4NTpcImBsZXRgIGRlY2xhcmF0aW9uIG5vdCBhbGxvd2VkIGhlcmUgYW5kIGBsZXRgIGNhbm5vdCBiZSBhIHJlZ3VsYXIgdmFyIG5hbWUgaW4gc3RyaWN0IG1vZGVcIiw4NDpcImBsZXQgXFxuIFtgIGlzIGEgcmVzdHJpY3RlZCBwcm9kdWN0aW9uIGF0IHRoZSBzdGFydCBvZiBhIHN0YXRlbWVudFwiLDg2OlwiQ2F0Y2ggY2xhdXNlIHJlcXVpcmVzIGV4YWN0bHkgb25lIHBhcmFtZXRlciwgbm90IG1vcmUgKGFuZCBubyB0cmFpbGluZyBjb21tYSlcIiw4NzpcIkNhdGNoIGNsYXVzZSBwYXJhbWV0ZXIgZG9lcyBub3Qgc3VwcG9ydCBkZWZhdWx0IHZhbHVlc1wiLDg4OlwiTWlzc2luZyBjYXRjaCBvciBmaW5hbGx5IGFmdGVyIHRyeVwiLDg5OlwiTW9yZSB0aGFuIG9uZSBkZWZhdWx0IGNsYXVzZSBpbiBzd2l0Y2ggc3RhdGVtZW50XCIsOTA6XCJJbGxlZ2FsIG5ld2xpbmUgYWZ0ZXIgdGhyb3dcIiw5MTpcIlN0cmljdCBtb2RlIGNvZGUgbWF5IG5vdCBpbmNsdWRlIGEgd2l0aCBzdGF0ZW1lbnRcIiw5MjpcIklsbGVnYWwgcmV0dXJuIHN0YXRlbWVudFwiLDkzOlwiVGhlIGxlZnQgaGFuZCBzaWRlIG9mIHRoZSBmb3ItaGVhZGVyIGJpbmRpbmcgZGVjbGFyYXRpb24gaXMgbm90IGRlc3RydWN0aWJsZVwiLDk0OlwibmV3LnRhcmdldCBvbmx5IGFsbG93ZWQgd2l0aGluIGZ1bmN0aW9ucyBvciBzdGF0aWMgYmxvY2tzXCIsOTY6XCInIycgbm90IGZvbGxvd2VkIGJ5IGlkZW50aWZpZXJcIiwxMDI6XCJJbnZhbGlkIGtleXdvcmRcIiwxMDE6XCJDYW4gbm90IHVzZSAnbGV0JyBhcyBhIGNsYXNzIG5hbWVcIiwxMDA6XCInQSBsZXhpY2FsIGRlY2xhcmF0aW9uIGNhbid0IGRlZmluZSBhICdsZXQnIGJpbmRpbmdcIiw5OTpcIkNhbiBub3QgdXNlIGBsZXRgIGFzIHZhcmlhYmxlIG5hbWUgaW4gc3RyaWN0IG1vZGVcIiw5NzpcIiclMCcgbWF5IG5vdCBiZSB1c2VkIGFzIGFuIGlkZW50aWZpZXIgaW4gdGhpcyBjb250ZXh0XCIsOTg6XCJBd2FpdCBpcyBvbmx5IHZhbGlkIGluIGFzeW5jIGZ1bmN0aW9uc1wiLDEwMzpcIlRoZSAlMCBrZXl3b3JkIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCB0aGUgbW9kdWxlIGdvYWxcIiwxMDQ6XCJVbmljb2RlIGNvZGVwb2ludCBtdXN0IG5vdCBiZSBncmVhdGVyIHRoYW4gMHgxMEZGRkZcIiwxMDU6XCIlMCBzb3VyY2UgbXVzdCBiZSBzdHJpbmdcIiwxMDY6XCJPbmx5IGEgaWRlbnRpZmllciBvciBzdHJpbmcgY2FuIGJlIHVzZWQgdG8gaW5kaWNhdGUgYWxpYXNcIiwxMDc6XCJPbmx5ICcqJyBvciAney4uLn0nIGNhbiBiZSBpbXBvcnRlZCBhZnRlciBkZWZhdWx0XCIsMTA4OlwiVHJhaWxpbmcgZGVjb3JhdG9yIG1heSBiZSBmb2xsb3dlZCBieSBtZXRob2RcIiwxMDk6XCJEZWNvcmF0b3JzIGNhbid0IGJlIHVzZWQgd2l0aCBhIGNvbnN0cnVjdG9yXCIsMTEwOlwiQ2FuIG5vdCB1c2UgYGF3YWl0YCBhcyBpZGVudGlmaWVyIGluIG1vZHVsZSBvciBhc3luYyBmdW5jXCIsMTExOlwiQ2FuIG5vdCB1c2UgYGF3YWl0YCBhcyBpZGVudGlmaWVyIGluIG1vZHVsZVwiLDExMjpcIkhUTUwgY29tbWVudHMgYXJlIG9ubHkgYWxsb3dlZCB3aXRoIHdlYiBjb21wYXRpYmlsaXR5IChBbm5leCBCKVwiLDExMzpcIlRoZSBpZGVudGlmaWVyICdsZXQnIG11c3Qgbm90IGJlIGluIGV4cHJlc3Npb24gcG9zaXRpb24gaW4gc3RyaWN0IG1vZGVcIiwxMTQ6XCJDYW5ub3QgYXNzaWduIHRvIGBldmFsYCBhbmQgYGFyZ3VtZW50c2AgaW4gc3RyaWN0IG1vZGVcIiwxMTU6XCJUaGUgbGVmdC1oYW5kIHNpZGUgb2YgYSBmb3Itb2YgbG9vcCBtYXkgbm90IHN0YXJ0IHdpdGggJ2xldCdcIiwxMTY6XCJCbG9jayBib2R5IGFycm93cyBjYW4gbm90IGJlIGltbWVkaWF0ZWx5IGludm9rZWQgd2l0aG91dCBhIGdyb3VwXCIsMTE3OlwiQmxvY2sgYm9keSBhcnJvd3MgY2FuIG5vdCBiZSBpbW1lZGlhdGVseSBhY2Nlc3NlZCB3aXRob3V0IGEgZ3JvdXBcIiwxMTg6XCJVbmV4cGVjdGVkIHN0cmljdCBtb2RlIHJlc2VydmVkIHdvcmRcIiwxMTk6XCJVbmV4cGVjdGVkIGV2YWwgb3IgYXJndW1lbnRzIGluIHN0cmljdCBtb2RlXCIsMTIwOlwiRGVjb3JhdG9ycyBtdXN0IG5vdCBiZSBmb2xsb3dlZCBieSBhIHNlbWljb2xvblwiLDEyMTpcIkNhbGxpbmcgZGVsZXRlIG9uIGV4cHJlc3Npb24gbm90IGFsbG93ZWQgaW4gc3RyaWN0IG1vZGVcIiwxMjI6XCJQYXR0ZXJuIGNhbiBub3QgaGF2ZSBhIHRhaWxcIiwxMjQ6XCJDYW4gbm90IGhhdmUgYSBgeWllbGRgIGV4cHJlc3Npb24gb24gdGhlIGxlZnQgc2lkZSBvZiBhIHRlcm5hcnlcIiwxMjU6XCJBbiBhcnJvdyBmdW5jdGlvbiBjYW4gbm90IGhhdmUgYSBwb3N0Zml4IHVwZGF0ZSBvcGVyYXRvclwiLDEyNjpcIkludmFsaWQgb2JqZWN0IGxpdGVyYWwga2V5IGNoYXJhY3RlciBhZnRlciBnZW5lcmF0b3Igc3RhclwiLDEyNzpcIlByaXZhdGUgZmllbGRzIGNhbiBub3QgYmUgZGVsZXRlZFwiLDEyOTpcIkNsYXNzZXMgbWF5IG5vdCBoYXZlIGEgZmllbGQgY2FsbGVkIGNvbnN0cnVjdG9yXCIsMTI4OlwiQ2xhc3NlcyBtYXkgbm90IGhhdmUgYSBwcml2YXRlIGVsZW1lbnQgbmFtZWQgY29uc3RydWN0b3JcIiwxMzA6XCJBIGNsYXNzIGZpZWxkIGluaXRpYWxpemVyIG9yIHN0YXRpYyBibG9jayBtYXkgbm90IGNvbnRhaW4gYXJndW1lbnRzXCIsMTMxOlwiR2VuZXJhdG9ycyBjYW4gb25seSBiZSBkZWNsYXJlZCBhdCB0aGUgdG9wIGxldmVsIG9yIGluc2lkZSBhIGJsb2NrXCIsMTMyOlwiQXN5bmMgbWV0aG9kcyBhcmUgYSByZXN0cmljdGVkIHByb2R1Y3Rpb24gYW5kIGNhbm5vdCBoYXZlIGEgbmV3bGluZSBmb2xsb3dpbmcgaXRcIiwxMzM6XCJVbmV4cGVjdGVkIGNoYXJhY3RlciBhZnRlciBvYmplY3QgbGl0ZXJhbCBwcm9wZXJ0eSBuYW1lXCIsMTM1OlwiSW52YWxpZCBrZXkgdG9rZW5cIiwxMzY6XCJMYWJlbCAnJTAnIGhhcyBhbHJlYWR5IGJlZW4gZGVjbGFyZWRcIiwxMzc6XCJjb250aW51ZSBzdGF0ZW1lbnQgbXVzdCBiZSBuZXN0ZWQgd2l0aGluIGFuIGl0ZXJhdGlvbiBzdGF0ZW1lbnRcIiwxMzg6XCJVbmRlZmluZWQgbGFiZWwgJyUwJ1wiLDEzOTpcIlRyYWlsaW5nIGNvbW1hIGlzIGRpc2FsbG93ZWQgaW5zaWRlIGltcG9ydCguLi4pIGFyZ3VtZW50c1wiLDE0MDpcIkludmFsaWQgYmluZGluZyBpbiBKU09OIGltcG9ydFwiLDE0MTpcImltcG9ydCgpIHJlcXVpcmVzIGV4YWN0bHkgb25lIGFyZ3VtZW50XCIsMTQyOlwiQ2Fubm90IHVzZSBuZXcgd2l0aCBpbXBvcnQoLi4uKVwiLDE0MzpcIi4uLiBpcyBub3QgYWxsb3dlZCBpbiBpbXBvcnQoKVwiLDE0NDpcIkV4cGVjdGVkICc9PidcIiwxNDU6XCJEdXBsaWNhdGUgYmluZGluZyAnJTAnXCIsMTQ2OlwiRHVwbGljYXRlIHByaXZhdGUgaWRlbnRpZmllciAjJTBcIiwxNDc6XCJDYW5ub3QgZXhwb3J0IGEgZHVwbGljYXRlIG5hbWUgJyUwJ1wiLDE1MDpcIkR1cGxpY2F0ZSAlMCBmb3ItYmluZGluZ1wiLDE0ODpcIkV4cG9ydGVkIGJpbmRpbmcgJyUwJyBuZWVkcyB0byByZWZlciB0byBhIHRvcC1sZXZlbCBkZWNsYXJlZCB2YXJpYWJsZVwiLDE0OTpcIlVuZXhwZWN0ZWQgcHJpdmF0ZSBmaWVsZFwiLDE1MzpcIk51bWVyaWMgc2VwYXJhdG9ycyBhcmUgbm90IGFsbG93ZWQgYXQgdGhlIGVuZCBvZiBudW1lcmljIGxpdGVyYWxzXCIsMTUyOlwiT25seSBvbmUgdW5kZXJzY29yZSBpcyBhbGxvd2VkIGFzIG51bWVyaWMgc2VwYXJhdG9yXCIsMTU0OlwiSlNYIHZhbHVlIHNob3VsZCBiZSBlaXRoZXIgYW4gZXhwcmVzc2lvbiBvciBhIHF1b3RlZCBKU1ggdGV4dFwiLDE1NTpcIkV4cGVjdGVkIGNvcnJlc3BvbmRpbmcgSlNYIGNsb3NpbmcgdGFnIGZvciAlMFwiLDE1NjpcIkFkamFjZW50IEpTWCBlbGVtZW50cyBtdXN0IGJlIHdyYXBwZWQgaW4gYW4gZW5jbG9zaW5nIHRhZ1wiLDE1NzpcIkpTWCBhdHRyaWJ1dGVzIG11c3Qgb25seSBiZSBhc3NpZ25lZCBhIG5vbi1lbXB0eSAnZXhwcmVzc2lvbidcIiwxNTg6XCInJTAnIGhhcyBhbHJlYWR5IGJlZW4gZGVjbGFyZWRcIiwxNTk6XCInJTAnIHNoYWRvd2VkIGEgY2F0Y2ggY2xhdXNlIGJpbmRpbmdcIiwxNjA6XCJEb3QgcHJvcGVydHkgbXVzdCBiZSBhbiBpZGVudGlmaWVyXCIsMTYxOlwiRW5jb3VudGVyZWQgaW52YWxpZCBpbnB1dCBhZnRlciBzcHJlYWQvcmVzdCBhcmd1bWVudFwiLDE2MjpcIkNhdGNoIHdpdGhvdXQgdHJ5XCIsMTYzOlwiRmluYWxseSB3aXRob3V0IHRyeVwiLDE2NDpcIkV4cGVjdGVkIGNvcnJlc3BvbmRpbmcgY2xvc2luZyB0YWcgZm9yIEpTWCBmcmFnbWVudFwiLDE2NTpcIkNvYWxlc2NpbmcgYW5kIGxvZ2ljYWwgb3BlcmF0b3JzIHVzZWQgdG9nZXRoZXIgaW4gdGhlIHNhbWUgZXhwcmVzc2lvbiBtdXN0IGJlIGRpc2FtYmlndWF0ZWQgd2l0aCBwYXJlbnRoZXNlc1wiLDE2NjpcIkludmFsaWQgdGFnZ2VkIHRlbXBsYXRlIG9uIG9wdGlvbmFsIGNoYWluXCIsMTY3OlwiSW52YWxpZCBvcHRpb25hbCBjaGFpbiBmcm9tIHN1cGVyIHByb3BlcnR5XCIsMTY4OlwiSW52YWxpZCBvcHRpb25hbCBjaGFpbiBmcm9tIG5ldyBleHByZXNzaW9uXCIsMTY5OidDYW5ub3QgdXNlIFwiaW1wb3J0Lm1ldGFcIiBvdXRzaWRlIGEgbW9kdWxlJywxNzA6XCJMZWFkaW5nIGRlY29yYXRvcnMgbXVzdCBiZSBhdHRhY2hlZCB0byBhIGNsYXNzIGRlY2xhcmF0aW9uXCIsMTcxOlwiQW4gZXhwb3J0IG5hbWUgY2Fubm90IGluY2x1ZGUgYSBsb25lIHN1cnJvZ2F0ZSwgZm91bmQgJTBcIiwxNzI6XCJBIHN0cmluZyBsaXRlcmFsIGNhbm5vdCBiZSB1c2VkIGFzIGFuIGV4cG9ydGVkIGJpbmRpbmcgd2l0aG91dCBgZnJvbWBcIiwxNzM6XCJQcml2YXRlIGZpZWxkcyBjYW4ndCBiZSBhY2Nlc3NlZCBvbiBzdXBlclwiLDE3NDpcIlRoZSBvbmx5IHZhbGlkIG1ldGEgcHJvcGVydHkgZm9yIGltcG9ydCBpcyAnaW1wb3J0Lm1ldGEnXCIsMTc1OlwiJ2ltcG9ydC5tZXRhJyBtdXN0IG5vdCBjb250YWluIGVzY2FwZWQgY2hhcmFjdGVyc1wiLDE3NjonY2Fubm90IHVzZSBcImF3YWl0XCIgYXMgaWRlbnRpZmllciBpbnNpZGUgYW4gYXN5bmMgZnVuY3Rpb24nLDE3NzonY2Fubm90IHVzZSBcImF3YWl0XCIgaW4gc3RhdGljIGJsb2Nrcyd9LG0yPWNsYXNzIGV4dGVuZHMgU3ludGF4RXJyb3J7Y29uc3RydWN0b3IoZSx1LHQsbyxpLGwsZiwuLi5kKXtsZXQgZz1cIltcIit1K1wiOlwiK3QrXCItXCIraStcIjpcIitsK1wiXTogXCIrT2VbZl0ucmVwbGFjZSgvJShcXGQrKS9nLChtLHkpPT5kW3ldKTtzdXBlcihgJHtnfWApLHRoaXMuc3RhcnQ9ZSx0aGlzLmVuZD1vLHRoaXMucmFuZ2U9W2Usb10sdGhpcy5sb2M9e3N0YXJ0OntsaW5lOnUsY29sdW1uOnR9LGVuZDp7bGluZTppLGNvbHVtbjpsfX0sdGhpcy5kZXNjcmlwdGlvbj1nfX07ZnVuY3Rpb24gYyhuLGUsLi4udSl7dGhyb3cgbmV3IG0yKG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uLG4uaW5kZXgsbi5saW5lLG4uY29sdW1uLGUsLi4udSl9ZnVuY3Rpb24gejIobil7dGhyb3cgbmV3IG0yKG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uLG4uaW5kZXgsbi5saW5lLG4uY29sdW1uLG4udHlwZSwuLi5uLnBhcmFtcyl9ZnVuY3Rpb24gJChuLGUsdSx0LG8saSxsLC4uLmYpe3Rocm93IG5ldyBtMihuLGUsdSx0LG8saSxsLC4uLmYpfWZ1bmN0aW9uIGgyKG4sZSx1LHQsbyxpLGwpe3Rocm93IG5ldyBtMihuLGUsdSx0LG8saSxsKX1mdW5jdGlvbiBSZShuKXtyZXR1cm4oT25bKG4+Pj41KSswXT4+Pm4mMzEmMSkhPT0wfWZ1bmN0aW9uIFZuKG4pe3JldHVybihPblsobj4+PjUpKzM0ODE2XT4+Pm4mMzEmMSkhPT0wfXZhciBPbj0oKG4sZSk9PntsZXQgdT1uZXcgVWludDMyQXJyYXkoMTA0NDQ4KSx0PTAsbz0wO2Zvcig7dDwzODIyOyl7bGV0IGk9blt0KytdO2lmKGk8MClvLT1pO2Vsc2V7bGV0IGw9blt0KytdO2kmMiYmKGw9ZVtsXSksaSYxP3UuZmlsbChsLG8sbys9blt0KytdKTp1W28rK109bH19cmV0dXJuIHV9KShbLTEsMiwyNiwyLDI3LDIsNSwtMSwwLDc3NTk1NjQ4LDMsNDQsMiwzLDAsMTQsMiw2MywyLDY0LDMsMCwzLDAsMzE2ODc5NjY3MSwwLDQyOTQ5NTY5OTIsMiwxLDIsMCwyLDQxLDMsMCw0LDAsNDI5NDk2NjUyMywzLDAsNCwyLDE2LDIsNjUsMiwwLDAsNDI5NDgzNjczNSwwLDMyMjEyMjU0NzEsMCw0Mjk0OTAxOTQyLDIsNjYsMCwxMzQxNTIxOTIsMywwLDIsMCw0Mjk0OTUxOTM1LDMsMCwyLDAsMjY4MzMwNTk4MywwLDI2ODQzNTQwNDcsMiwxOCwyLDAsMCw0Mjk0OTYxMTUxLDMsMCwyLDIsMTksMiwwLDAsNjA4MTc0MDc5LDIsMCwyLDYwLDIsNywyLDYsMCw0Mjg2NjExMTk5LDMsMCwyLDIsMSwzLDAsMywwLDQyOTQ5MDE3MTEsMiw0MCwwLDQwODk4MzkxMDMsMCwyOTYxMjA5NzU5LDAsMTM0MjQzOTM3NSwwLDQyOTQ1NDMzNDIsMCwzNTQ3MjAxMDIzLDAsMTU3NzIwNDEwMywwLDQxOTQyNDAsMCw0Mjk0Njg4NzUwLDIsMiwwLDgwODMxLDAsNDI2MTQ3ODM1MSwwLDQyOTQ1NDk0ODYsMiwyLDAsMjk2NzQ4NDgzMSwwLDE5NjU1OSwwLDM1OTQzNzMxMDAsMCwzMjg4MzE5NzY4LDAsODQ2OTk1OSwyLDIwMywyLDMsMCw0MDkzNjQwMTkxLDAsNjYwNjE4NzE5LDAsNjU0ODcsMCw0Mjk0ODI4MDE1LDAsNDA5MjU5MTYxNSwwLDE2MTY5MjAwMzEsMCw5ODI5OTEsMiwzLDIsMCwwLDIxNjMyNDQ1MTEsMCw0MjI3OTIzOTE5LDAsNDIzNjI0NzAyMiwyLDcxLDAsNDI4NDQ0OTkxOSwwLDg1MTkwNCwyLDQsMiwxMiwwLDY3MDc2MDk1LC0xLDIsNzIsMCwxMDczNzQxNzQzLDAsNDA5MzYwNzc3NSwtMSwwLDUwMzMxNjQ5LDAsMzI2NTI2NjY4NywyLDMzLDAsNDI5NDg0NDQxNSwwLDQyNzgxOTAwNDcsMiwyMCwyLDEzNywtMSwzLDAsMiwyLDIzLDIsMCwyLDEwLDIsMCwyLDE1LDIsMjIsMywwLDEwLDIsNzQsMiwwLDIsNzUsMiw3NiwyLDc3LDIsMCwyLDc4LDIsMCwyLDExLDAsMjYxNjMyLDIsMjUsMywwLDIsMiwxMywyLDQsMywwLDE4LDIsNzksMiw1LDMsMCwyLDIsODAsMCwyMTUxNjc3OTUxLDIsMjksMiw5LDAsOTA5MzExLDMsMCwyLDAsODE0NzQzNTUxLDIsNDksMCw2NzA5MDQzMiwzLDAsMiwyLDQyLDIsMCwyLDYsMiwwLDIsMzAsMiw4LDAsMjY4Mzc0MDE1LDIsMTEwLDIsNTEsMiwwLDIsODEsMCwxMzQxNTMyMTUsLTEsMiw3LDIsMCwyLDgsMCwyNjg0MzU0NTU5LDAsNjcwNDQzNTEsMCwzMjIxMTYwMDY0LDIsMTcsLTEsMywwLDIsMiw1MywwLDEwNDY1MjgsMywwLDMsMiw5LDIsMCwyLDU0LDAsNDI5NDk2MDEyNywyLDEwLDIsNiwyLDExLDAsNDI5NDM3NzQ3MiwyLDEyLDMsMCwxNiwyLDEzLDIsMCwyLDgyLDIsMTAsMiwwLDIsODMsMiw4NCwyLDg1LDIsMjEwLDIsNTUsMCwxMDQ4NTc3LDIsODYsMiwxNCwtMSwyLDE0LDAsMTMxMDQyLDIsODcsMiw4OCwyLDg5LDIsMCwyLDM0LC04MywzLDAsNywwLDEwNDY1NTksMiwwLDIsMTUsMiwwLDAsMjE0NzUxNjY3MSwyLDIxLDMsOTAsMiwyLDAsLTE2LDIsOTEsMCw1MjQyMjI0NjIsMiw0LDIsMCwwLDQyNjk4MDE0NzEsMiw0LDMsMCwyLDIsMjgsMiwxNiwzLDAsMiwyLDE3LDIsMCwtMSwyLDE4LC0xNiwzLDAsMjA2LC0yLDMsMCw2OTIsMiw3MywtMSwyLDE4LDIsMTAsMywwLDgsMiw5MywyLDEzMywyLDAsMCwzMjIwMjQyNDMxLDMsMCwzLDIsMTksMiw5NCwyLDk1LDMsMCwyLDIsOTYsMiwwLDIsOTcsMiw0NiwyLDAsMCw0MzUxLDIsMCwyLDksMywwLDIsMCw2NzA0MzM5MSwwLDM5MDkwOTEzMjcsMiwwLDIsMjQsMiw5LDIsMjAsMywwLDIsMCw2NzA3NjA5NywyLDgsMiwwLDIsMjEsMCw2NzA1OTcxMSwwLDQyMzYyNDcwMzksMywwLDIsMCw5Mzk1MjQxMDMsMCw4MTkxOTk5LDIsMTAxLDIsMTAyLDIsMjIsMiwyMywzLDAsMywwLDY3MDU3NjYzLDMsMCwzNDksMiwxMDMsMiwxMDQsMiw3LC0yNjQsMywwLDExLDIsMjQsMywwLDIsMiwzMiwtMSwwLDM3NzQzNDk0MzksMiwxMDUsMiwxMDYsMywwLDIsMiwxOSwyLDEwNywzLDAsMTAsMiwxMCwyLDE4LDIsMCwyLDQ3LDIsMCwyLDMxLDIsMTA4LDIsMjUsMCwxNjM4Mzk5LDIsMTgzLDIsMTA5LDMsMCwzLDIsMjAsMiwyNiwyLDI3LDIsNSwyLDI4LDIsMCwyLDgsMiwxMTEsLTEsMiwxMTIsMiwxMTMsMiwxMTQsLTEsMywwLDMsMiwxMiwtMiwyLDAsMiwyOSwtMywyLDE2MywtNCwyLDIwLDIsMCwyLDM2LDAsMSwyLDAsMiw2NywyLDYsMiwxMiwyLDEwLDIsMCwyLDExNSwtMSwzLDAsNCwyLDEwLDIsMjMsMiwxMTYsMiw3LDIsMCwyLDExNywyLDAsMiwxMTgsMiwxMTksMiwxMjAsMiwwLDIsOSwzLDAsOSwyLDIxLDIsMzAsMiwzMSwyLDEyMSwyLDEyMiwtMiwyLDEyMywyLDEyNCwyLDMwLDIsMjEsMiw4LC0yLDIsMTI1LDIsMzAsMiwzMiwtMiwyLDAsMiwzOSwtMiwwLDQyNzcxMzc1MTksMCwyMjY5MTE4NDYzLC0xLDMsMjAsMiwtMSwyLDMzLDIsMzgsMiwwLDMsMzAsMiwyLDM1LDIsMTksLTMsMywwLDIsMiwzNCwtMSwyLDAsMiwzNSwyLDAsMiwzNSwyLDAsMiw0OCwyLDAsMCw0Mjk0OTUwNDYzLDIsMzcsLTcsMiwwLDAsMjAzNzc1LDIsNTcsMiwxNjcsMiwyMCwyLDQzLDIsMzYsMiwxOCwyLDM3LDIsMTgsMiwxMjYsMiwyMSwzLDAsMiwyLDM4LDAsMjE1MTY3Nzg4OCwyLDAsMiwxMiwwLDQyOTQ5MDE3NjQsMiwxNDQsMiwwLDIsNTgsMiw1NiwwLDUyNDI4NzksMywwLDIsMCw0MDI2NDQ1MTEsLTEsMiwxMjgsMiwzOSwwLDMsLTEsMiwxMjksMiwxMzAsMiwwLDAsNjcwNDUzNzUsMiw0MCwwLDQyMjY2NzgyNzEsMCwzNzY2NTY1Mjc5LDAsMjAzOTc1OSwyLDEzMiwyLDQxLDAsMTA0NjQzNywwLDYsMywwLDIsMCwzMjg4MjcwODQ3LDAsMywzLDAsMiwwLDY3MDQzNTE5LC01LDIsMCwwLDQyODIzODQzODMsMCwxMDU2OTY0NjA5LC0xLDMsMCwyLDAsNjcwNDMzNDUsLTEsMiwwLDIsNDIsMiwyMywyLDUwLDIsMTEsMiw2MSwyLDM4LC01LDIsMCwyLDEyLC0zLDMsMCwyLDAsMjE0NzQ4NDY3MSwyLDEzNCwwLDQxOTAxMDk2OTUsMiw1MiwtMiwyLDEzNSwwLDQyNDQ2MzU2NDcsMCwyNywyLDAsMiw4LDIsNDMsMiwwLDIsNjgsMiwxOCwyLDAsMiw0MiwtNiwyLDAsMiw0NSwyLDU5LDIsNDQsMiw0NSwyLDQ2LDIsNDcsMCw4Mzg4MzUxLC0yLDIsMTM2LDAsMzAyODI4NzQ4NywyLDQ4LDIsMTM4LDAsMzMyNTk1MTksMiw0OSwtOSwyLDIxLDAsNDI5NDgzNjIyMywwLDMzNTU0NDMxOTksMCwxMzQxNTIxOTksLTIsMiw2OSwtMiwzLDAsMjgsMiwzMiwtMywzLDAsMywyLDE3LDMsMCw2LDIsNTAsLTgxLDIsMTgsMywwLDIsMiwzNiwzLDAsMzMsMiwyNSwyLDMwLDMsMCwxMjQsMiwxMiwzLDAsMTgsMiwzOCwtMjEzLDIsMCwyLDMyLC01NCwzLDAsMTcsMiw0MiwyLDgsMiwyMywyLDAsMiw4LDIsMjMsMiw1MSwyLDAsMiwyMSwyLDUyLDIsMTM5LDIsMjUsLTEzLDIsMCwyLDUzLC02LDMsMCwyLC00LDMsMCwyLDAsNDI5NDkzNjU3NSwyLDAsMCw0Mjk0OTM0NzgzLC0yLDAsMTk2NjM1LDMsMCwxOTEsMiw1NCwzLDAsMzgsMiwzMCwyLDU1LDIsMzQsLTI3OCwyLDE0MCwzLDAsOSwyLDE0MSwyLDE0MiwyLDU2LDMsMCwxMSwyLDcsLTcyLDMsMCwzLDIsMTQzLDAsMTY3NzY1NjU3NSwtMTMwLDIsMjYsLTE2LDIsMCwyLDI0LDIsMzgsLTE2LDAsNDE2MTI2NjY1NiwwLDQwNzEsMiwyMDUsLTQsMiw1NywtMTMsMywwLDIsMiw1OCwyLDAsMiwxNDUsMiwxNDYsMiw2MiwyLDAsMiwxNDcsMiwxNDgsMiwxNDksMywwLDEwLDIsMTUwLDIsMTUxLDIsMjIsMyw1OCwyLDMsMTUyLDIsMyw1OSwyLDAsNDI5NDk1NDk5OSwyLDAsLTE2LDIsMCwyLDkyLDIsMCwwLDIxMDUzNDMsMCw0MTYwNzQ5NTg0LDIsMTc3LC0zNCwyLDgsMiwxNTQsLTYsMCw0MTk0MzAzODcxLDAsNDI5NDkwMzc3MSwyLDAsMiw2MCwyLDEwMCwtMywyLDAsMCwxMDczNjg0NDc5LDAsMTc0MDcsLTksMiwxOCwyLDE3LDIsMCwyLDMyLC0xNCwyLDE4LDIsMzIsLTYsMiwxOCwyLDEyLC0xNSwyLDE1NSwzLDAsNiwwLDgzMjMxMDMsLTEsMywwLDIsMiw2MSwtMzcsMiw2MiwyLDE1NiwyLDE1NywyLDE1OCwyLDE1OSwyLDE2MCwtMTA1LDIsMjYsLTMyLDMsMCwxMzM1LC0xLDMsMCwxMjksMiwzMiwzLDAsNiwyLDEwLDMsMCwxODAsMiwxNjEsMywwLDIzMywyLDE2MiwzLDAsMTgsMiwxMCwtNzcsMywwLDE2LDIsMTAsLTQ3LDMsMCwxNTQsMiw2LDMsMCwxMzAsMiwyNSwtMjIyNTAsMywwLDcsMiwyNSwtNjEzMCwzLDUsMiwtMSwwLDY5MjA3MDQwLDMsNDQsMiwzLDAsMTQsMiw2MywyLDY0LC0zLDAsMzE2ODczMTEzNiwwLDQyOTQ5NTY4NjQsMiwxLDIsMCwyLDQxLDMsMCw0LDAsNDI5NDk2NjI3NSwzLDAsNCwyLDE2LDIsNjUsMiwwLDIsMzQsLTEsMiwxOCwyLDY2LC0xLDIsMCwwLDIwNDcsMCw0Mjk0ODg1Mzc2LDMsMCwyLDAsMzE0NTcyNywwLDI2MTcyOTQ5NDQsMCw0Mjk0NzcwNjg4LDIsMjUsMiw2NywzLDAsMiwwLDEzMTEzNSwyLDk4LDAsNzAyNTY2MzksMCw3MTMwMzE2NywwLDI3MiwyLDQyLDIsNiwwLDMyNTExLDIsMCwyLDQ5LC0xLDIsOTksMiw2OCwwLDQyNzgyNTU2MTYsMCw0Mjk0ODM2MjI3LDAsNDI5NDU0OTQ3MywwLDYwMDE3ODE3NSwwLDI5NTI4MDY0MDAsMCwyNjg2MzIwNjcsMCw0Mjk0NTQzMzI4LDAsNTc1NDAwOTUsMCwxNTc3MDU4MzA0LDAsMTgzNTAwOCwwLDQyOTQ2ODg3MzYsMiw3MCwyLDY5LDAsMzM1NTQ0MzUsMiwxMzEsMiw3MCwyLDE2NCwwLDEzMTA3NSwwLDM1OTQzNzMwOTYsMCw2NzA5NDI5NiwyLDY5LC0xLDAsNDI5NDgyOGUzLDAsNjAzOTc5MjYzLDAsNjU0MzExNDI0LDAsMywwLDQyOTQ4MjgwMDEsMCw2MDI5MzA2ODcsMiwxNzEsMCwzOTMyMTksMCw0Mjk0ODI4MDE2LDAsNjcxMDg4NjM5LDAsMjE1NDg0MDA2NCwwLDQyMjc4NTg0MzUsMCw0MjM2MjQ3MDA4LDIsNzEsMiwzOCwtMSwyLDQsMCw5MTc1MDMsMiwzOCwtMSwyLDcyLDAsNTM3Nzg4MzM1LDAsNDAyNjUzMTkzNSwtMSwwLDEsLTEsMiwzMywyLDczLDAsNzkzNiwtMywyLDAsMCwyMTQ3NDg1Njk1LDAsMTAxMDc2MTcyOCwwLDQyOTI5ODQ5MzAsMCwxNjM4NywyLDAsMiwxNSwyLDIyLDMsMCwxMCwyLDc0LDIsMCwyLDc1LDIsNzYsMiw3NywyLDAsMiw3OCwyLDAsMiwxMiwtMSwyLDI1LDMsMCwyLDIsMTMsMiw0LDMsMCwxOCwyLDc5LDIsNSwzLDAsMiwyLDgwLDAsMjE0Nzc0NTc5MSwzLDE5LDIsMCwxMjI4NzksMiwwLDIsOSwwLDI3NjgyNDA2NCwtMiwzLDAsMiwyLDQyLDIsMCwwLDQyOTQ5MDMyOTUsMiwwLDIsMzAsMiw4LC0xLDIsMTgsMiw1MSwyLDAsMiw4MSwyLDQ5LC0xLDIsMjEsMiwwLDIsMjksLTIsMCwxMjgsLTIsMiwyOCwyLDksMCw4MTYwLC0xLDIsMTI3LDAsNDIyNzkwNzU4NSwyLDAsMiwzNywyLDAsMiw1MCwyLDE4NCwyLDEwLDIsNiwyLDExLC0xLDAsNzQ0NDAxOTIsMywwLDYsLTIsMywwLDgsMiwxMywyLDAsMiw4MiwyLDEwLDIsMCwyLDgzLDIsODQsMiw4NSwtMywyLDg2LDIsMTQsLTMsMiw4NywyLDg4LDIsODksMiwwLDIsMzQsLTgzLDMsMCw3LDAsODE3MTgzLDIsMCwyLDE1LDIsMCwwLDMzMDIzLDIsMjEsMyw5MCwyLC0xNywyLDkxLDAsNTI0MTU3OTUwLDIsNCwyLDAsMiw5MiwyLDQsMiwwLDIsMjIsMiwyOCwyLDE2LDMsMCwyLDIsMTcsMiwwLC0xLDIsMTgsLTE2LDMsMCwyMDYsLTIsMywwLDY5MiwyLDczLC0xLDIsMTgsMiwxMCwzLDAsOCwyLDkzLDAsMzA3MiwyLDAsMCwyMTQ3NTE2NDE1LDIsMTAsMywwLDIsMiwyNSwyLDk0LDIsOTUsMywwLDIsMiw5NiwyLDAsMiw5NywyLDQ2LDAsNDI5NDk2NTE3OSwwLDcsMiwwLDIsOSwyLDk1LDIsOSwtMSwwLDE3NjEzNDU1MzYsMiw5OCwwLDQyOTQ5MDE4MjMsMiwzOCwyLDIwLDIsOTksMiwzNSwyLDEwMCwwLDIwODA0NDAyODcsMiwwLDIsMzQsMiwxNTMsMCwzMjk2NzIyOTQzLDIsMCwwLDEwNDY2NzU0NTUsMCw5Mzk1MjQxMDEsMCwxODM3MDU1LDIsMTAxLDIsMTAyLDIsMjIsMiwyMywzLDAsMywwLDcsMywwLDM0OSwyLDEwMywyLDEwNCwyLDcsLTI2NCwzLDAsMTEsMiwyNCwzLDAsMiwyLDMyLC0xLDAsMjcwMDYwNzYxNSwyLDEwNSwyLDEwNiwzLDAsMiwyLDE5LDIsMTA3LDMsMCwxMCwyLDEwLDIsMTgsMiwwLDIsNDcsMiwwLDIsMzEsMiwxMDgsLTMsMiwxMDksMywwLDMsMiwyMCwtMSwzLDUsMiwyLDExMCwyLDAsMiw4LDIsMTExLC0xLDIsMTEyLDIsMTEzLDIsMTE0LC0xLDMsMCwzLDIsMTIsLTIsMiwwLDIsMjksLTgsMiwyMCwyLDAsMiwzNiwtMSwyLDAsMiw2NywyLDYsMiwzMCwyLDEwLDIsMCwyLDExNSwtMSwzLDAsNCwyLDEwLDIsMTgsMiwxMTYsMiw3LDIsMCwyLDExNywyLDAsMiwxMTgsMiwxMTksMiwxMjAsMiwwLDIsOSwzLDAsOSwyLDIxLDIsMzAsMiwzMSwyLDEyMSwyLDEyMiwtMiwyLDEyMywyLDEyNCwyLDMwLDIsMjEsMiw4LC0yLDIsMTI1LDIsMzAsMiwzMiwtMiwyLDAsMiwzOSwtMiwwLDQyNzcwNzU5NjksMiwzMCwtMSwzLDIwLDIsLTEsMiwzMywyLDEyNiwyLDAsMywzMCwyLDIsMzUsMiwxOSwtMywzLDAsMiwyLDM0LC0xLDIsMCwyLDM1LDIsMCwyLDM1LDIsMCwyLDUwLDIsOTgsMCw0Mjk0OTM0NTkxLDIsMzcsLTcsMiwwLDAsMTk3NjMxLDIsNTcsLTEsMiwyMCwyLDQzLDIsMzcsMiwxOCwwLDMsMiwxOCwyLDEyNiwyLDIxLDIsMTI3LDIsNTQsLTEsMCwyNDkwMzY4LDIsMTI3LDIsMjUsMiwxOCwyLDM0LDIsMTI3LDIsMzgsMCw0Mjk0OTAxOTA0LDAsNDcxODU5MSwyLDEyNywyLDM1LDAsMzM1NTQ0MzUwLC0xLDIsMTI4LDAsMjE0NzQ4Nzc0MywwLDEsLTEsMiwxMjksMiwxMzAsMiw4LC0xLDIsMTMxLDIsNzAsMCwzNzU4MTYxOTIwLDAsMywyLDEzMiwwLDEyNTgyOTExLDAsNjU1MzYwLC0xLDIsMCwyLDI5LDAsMjE0NzQ4NTU2OCwwLDMsMiwwLDIsMjUsMCwxNzYsLTUsMiwwLDIsMTcsMiwxOTIsLTEsMiwwLDIsMjUsMiwyMDksLTEsMiwwLDAsMTY3NzkyNjMsLTIsMiwxMiwtMSwyLDM4LC01LDIsMCwyLDEzMywtMywzLDAsMiwyLDU1LDIsMTM0LDAsMjE0NzU0OTE4MywwLDIsLTIsMiwxMzUsMiwzNiwwLDEwLDAsNDI5NDk2NTI0OSwwLDY3NjMzMTUxLDAsNDAyNjU5NzM3NiwyLDAsMCw1MzY4NzE5MzUsMiwxOCwyLDAsMiw0MiwtNiwyLDAsMCwxLDIsNTksMiwxNywwLDEsMiw0NiwyLDI1LC0zLDIsMTM2LDIsMzYsMiwxMzcsMiwxMzgsMCwxNjc3ODIzOSwtMTAsMiwzNSwwLDQyOTQ4MzYyMTIsMiw5LC0zLDIsNjksLTIsMywwLDI4LDIsMzIsLTMsMywwLDMsMiwxNywzLDAsNiwyLDUwLC04MSwyLDE4LDMsMCwyLDIsMzYsMywwLDMzLDIsMjUsMCwxMjYsMywwLDEyNCwyLDEyLDMsMCwxOCwyLDM4LC0yMTMsMiwxMCwtNTUsMywwLDE3LDIsNDIsMiw4LDIsMTgsMiwwLDIsOCwyLDE4LDIsNjAsMiwwLDIsMjUsMiw1MCwyLDEzOSwyLDI1LC0xMywyLDAsMiw3MywtNiwzLDAsMiwtNCwzLDAsMiwwLDY3NTgzLC0xLDIsMTA3LC0yLDAsMTEsMywwLDE5MSwyLDU0LDMsMCwzOCwyLDMwLDIsNTUsMiwzNCwtMjc4LDIsMTQwLDMsMCw5LDIsMTQxLDIsMTQyLDIsNTYsMywwLDExLDIsNywtNzIsMywwLDMsMiwxNDMsMiwxNDQsLTE4NywzLDAsMiwyLDU4LDIsMCwyLDE0NSwyLDE0NiwyLDYyLDIsMCwyLDE0NywyLDE0OCwyLDE0OSwzLDAsMTAsMiwxNTAsMiwxNTEsMiwyMiwzLDU4LDIsMywxNTIsMiwzLDU5LDIsMiwxNTMsLTU3LDIsOCwyLDE1NCwtNywyLDE4LDIsMCwyLDYwLC00LDIsMCwwLDEwNjUzNjE0MDcsMCwxNjM4NCwtOSwyLDE4LDIsNjAsMiwwLDIsMTMzLC0xNCwyLDE4LDIsMTMzLC02LDIsMTgsMCw4MTkxOSwtMTUsMiwxNTUsMywwLDYsMiwxMjYsLTEsMywwLDIsMCwyMDYzLC0zNywyLDYyLDIsMTU2LDIsMTU3LDIsMTU4LDIsMTU5LDIsMTYwLC0xMzgsMywwLDEzMzUsLTEsMywwLDEyOSwyLDMyLDMsMCw2LDIsMTAsMywwLDE4MCwyLDE2MSwzLDAsMjMzLDIsMTYyLDMsMCwxOCwyLDEwLC03NywzLDAsMTYsMiwxMCwtNDcsMywwLDE1NCwyLDYsMywwLDEzMCwyLDI1LC0yODM4NiwyLDAsMCwxLC0xLDIsNTUsMiwwLDAsODE5MywtMjEsMiwyMDEsMCwxMDI1NSwwLDQsLTExLDIsNjksMiwxODIsLTEsMCw3MTY4MCwtMSwyLDE3NCwwLDQyOTI5MDA4NjQsMCwyNjg0MzU1MTksLTUsMiwxNjMsLTEsMiwxNzMsLTEsMCw2MTQ0LC0yLDIsNDYsLTEsMiwxNjgsLTEsMCwyMTQ3NTMyODAwLDIsMTY0LDIsMTcwLDAsODM1NTg0MCwtMiwwLDQsLTQsMiwxOTgsMCwyMDUxMjgxOTIsMCwxMzMzNzU3NTM2LDAsMjE0NzQ4MzY5NiwwLDQyMzk1MywwLDc0Nzc2NjI3MiwwLDI3MTc3NjMxOTIsMCw0Mjg2NTc4NzUxLDAsMjc4NTQ1LDIsMTY1LDAsNDI5NDg4NjQ2NCwwLDMzMjkyMzM2LDAsNDE3ODA5LDIsMTY1LDAsMTMyNzQ4MjQ2NCwwLDQyNzgxOTAxMjgsMCw3MDA1OTQxOTUsMCwxMDA2NjQ3NTI3LDAsNDI4NjQ5NzMzNiwwLDQxNjA3NDk2MzEsMiwxNjYsMCwyMDEzMjcxMDQsMCwzNjM0MzQ4NTc2LDAsODMyMzEyMCwyLDE2NiwwLDIwMjM3NTY4MCwwLDI2NzgwNDcyNjQsMCw0MjkzOTg0MzA0LDIsMTY2LC0xLDAsOTgzNTg0LDAsNDgsMCw1ODcyMDI3MywwLDM0ODk5MjMwNzIsMCwxMDUxNzM3NiwwLDQyOTMwNjY4MTUsMCwxLDIsMjEzLDIsMTY3LDIsMCwwLDIwODksMCwzMjIxMjI1NTUyLDAsMjAxMzU5NTIwLDIsMCwtMiwwLDI1NiwwLDEyMjg4MCwwLDE2Nzc3MjE2LDIsMTYzLDAsNDE2MDc1Nzc2MCwyLDAsLTYsMiwxNzksLTExLDAsMzI2MzIxODE3NiwtMSwwLDQ5NjY0LDAsMjE2MDE5NzYzMiwwLDgzODg4MDIsLTEsMCwxMjcxMzk4NCwtMSwyLDE2OCwyLDE4NiwyLDE4NywtMiwyLDE3NSwtMjAsMCwzNzU4MDk2Mzg1LC0yLDIsMTY5LDIsMTk1LDIsOTQsMiwxODAsMCw0Mjk0MDU3OTg0LC0yLDIsMTc2LDIsMTcyLDAsNDIyNzg3NDgxNiwtMiwyLDE2OSwtMSwyLDE3MCwtMSwyLDE4MSwyLDU1LDAsNDAyNjU5MzI4MCwwLDE0LDAsNDI5MjkxOTI5NiwtMSwyLDE3OCwwLDkzOTU4ODYwOCwtMSwwLDgwNTMwNjM2OCwtMSwyLDU1LDIsMTcxLDIsMTcyLDIsMTczLDIsMjExLDIsMCwtMiwwLDgxOTIsLTQsMCwyNjczODY4ODAsLTEsMCwxMTc0NDA1MTIsMCw3MTY4LC0xLDIsMTcwLDIsMTY4LDIsMTc0LDIsMTg4LC0xNiwyLDE3NSwtMSwwLDE0MjYxMTI3MDQsMiwxNzYsLTEsMiwxOTYsMCwyNzE1ODEyMTYsMCwyMTQ5Nzc3NDA4LDIsMjUsMiwxNzQsMiw1NSwwLDg1MTk2NywyLDE4OSwtMSwyLDE3NywyLDE5MCwtNCwyLDE3OCwtMjAsMiw5OCwyLDIwOCwtNTYsMCwzMTQ1NzI4LDIsMTkxLC0xMCwwLDMyNTA1ODU2LC0xLDIsMTc5LC0xLDAsMjE0NzM4NTA4OCwyLDk0LDEsMjE1NTkwNTE1MiwyLC0zLDIsMTc2LDIsMCwwLDY3MTA4ODY0LC0yLDIsMTgwLC02LDIsMTgxLDIsMjUsMCwxLC0xLDAsMSwtMSwyLDE4MiwtMywyLDEyNiwyLDY5LC0yLDIsMTAwLC0yLDAsMzI3MDQsMiw1NSwtOTE1LDIsMTgzLC0xLDIsMjA3LC0xMCwyLDE5NCwtNSwyLDE4NSwtNiwwLDM3NTk0NTYyNTYsMiwxOSwtMSwyLDE4NCwtMSwyLDE4NSwtMiwwLDQyMjc4NzQ3NTIsLTMsMCwyMTQ2NDM1MDcyLDIsMTg2LC0yLDAsMTAwNjY0OTM0NCwyLDU1LC0xLDIsOTQsMCwyMDEzNzU3NDQsLTMsMCwxMzQyMTc3MjAsMiw5NCwwLDQyODY2NzczNzcsMCwzMjg5NiwtMSwyLDE3OCwtMywwLDQyMjc5MDc1ODQsLTM0OSwwLDY1NTIwLDAsMTkyMCwyLDE2NywzLDAsMjY0LC0xMSwyLDE3MywtMiwyLDE4NywyLDAsMCw1MjA2MTc4NTYsMCwyNjkyNzQzMTY4LDAsMzYsLTMsMCw1MjQyODAsLTEzLDIsMTkzLC0xLDAsNDI5NDkzNDI3MiwyLDI1LDIsMTg3LC0xLDIsMjE1LDAsMjE1ODcyMCwtMywyLDE4NiwwLDEsLTQsMiw1NSwwLDM4MDg2MjU0MTEsMCwzNDg5NjI4Mjg4LDAsNDA5NiwwLDEyMDc5NTk2ODAsMCwzMjIxMjc0NjI0LDIsMCwtMywyLDE4OCwwLDEyMCwwLDczNDAwMzIsLTIsMiwxODksMiw0LDIsMjUsMiwxNzYsMywwLDQsMiwxODYsLTEsMiwxOTAsMiwxNjcsLTEsMCw4MTc2LDIsMTcwLDIsMTg4LDAsMTA3Mzc0MTgyNCwtMSwwLDQyOTA3NzMyMzIsMiwwLC00LDIsMTc2LDIsMTk3LDAsMTU3Mjg2NDAsMiwxNjcsLTEsMiwxNzQsLTEsMCwxMzQyNTA0ODAsMCw0NzIwNjQwLDAsMzgyNTQ2NzM5NiwtMSwyLDE4MCwtOSwyLDk0LDIsMTgxLDAsNDI5NDk2NzA0MCwyLDEzNywwLDQxNjA4ODA2NDAsMywwLDIsMCw3MDQsMCwxODQ5Njg4MDY0LDIsMTkxLC0xLDIsNTUsMCw0Mjk0OTAxODg3LDIsMCwwLDEzMDU0NzcxMiwwLDE4NzkwNDgxOTIsMiwyMTIsMywwLDIsLTEsMiwxOTIsMiwxOTMsLTEsMCwxNzgyOTc3NiwwLDIwMjU4NDg4MzIsMCw0MjYxNDc3ODg4LC0yLDIsMCwtMSwwLDQyODY1ODA2MDgsLTEsMCwyOTM2MDEyOCwyLDIwMCwwLDE2MjUyOTI4LDAsMzc5MTM4ODY3MiwyLDEzMCwzLDAsMiwtMiwyLDIwNiwyLDAsLTEsMiwxMDcsLTEsMCw2NjU4NDU3NiwtMSwyLDE5OSwtMSwwLDQ0OCwwLDQyOTQ5MTgwODAsMywwLDYsMiw1NSwtMSwwLDQyOTQ3NTUzMjgsMCw0Mjk0OTY3MjY3LDIsNywtMSwyLDE3NCwyLDE4NywyLDI1LDIsOTgsMiwyNSwyLDE5NCwyLDk0LC0yLDAsMjQ1NzYwLDIsMTk1LC0xLDIsMTYzLDIsMjAyLDAsNDIyNzkyMzQ1NiwtMSwyLDE5NiwyLDE3NCwyLDk0LC0zLDAsNDI5Mjg3MDE0NSwwLDI2MjE0NCwtMSwyLDk1LDIsMCwwLDEwNzM3NTg4NDgsMiwxOTcsLTEsMCw0MjI3OTIxOTIwLDIsMTk4LDAsNjgyODkwMjQsMCw1Mjg0MDIwMTYsMCw0MjkyOTI3NTM2LDAsNDYwODAsMiwxOTEsMCw0MjY1NjA5MzA2LDAsNDI5NDk2NzI4OSwtMiwwLDI2ODQzNTQ1NiwyLDk1LC0yLDIsMTk5LDMsMCw1LC0xLDIsMjAwLDIsMTc2LDIsMCwtMiwwLDQyMjc5MjM5MzYsMiw2NywtMSwyLDE4NywyLDE5NywyLDk5LDIsMTY4LDIsMTc4LDIsMjA0LDMsMCw1LC0xLDIsMTY3LDMsMCwzLC0yLDAsMjE0Njk1OTM2MCwwLDk0NDA2NDAsMCwxMDQ4NTc2MDAsMCw0MjI3OTIzODQwLDMsMCwyLDAsNzY4LDIsMjAxLDIsMjgsLTIsMiwxNzQsLTIsMiwyMDIsLTEsMiwxNjksMiw5OCwzLDAsNSwtMSwwLDQyMjc5MjM5NjQsMCw1MTIsMCw4Mzg4NjA4LDIsMjAzLDIsMTgzLDIsMTkzLDAsNDI4NjU3ODk0NCwzLDAsMiwwLDExNTIsMCwxMjY2Njc5ODA4LDIsMTk5LDAsNTc2LDAsNDI2MTcwNzc3NiwyLDk4LDMsMCw5LDIsMTY5LDAsMTMxMDcyLDAsOTM5NTI0MDk2LDIsMTg4LDMsMCwyLDIsMTYsLTEsMCwyMTQ3MjIxNTA0LC0yOCwyLDE4NywzLDAsMywtMywwLDQyOTI5MDI5MTIsLTYsMiw5OSwzLDAsODEsMiwyNSwtMiwyLDEwNywtMzMsMiwxOCwyLDE4MSwtMTI0LDIsMTg4LC0xOCwyLDIwNCwzLDAsMjEzLC0xLDIsMTg3LDMsMCw1NCwtMTcsMiwxNjksMiw1NSwyLDIwNSwtMSwyLDU1LDIsMTk3LDAsNDI5MDgyMjE0NCwtMiwwLDY3MTc0MzM2LDAsNTIwMDkzNzAwLDIsMTgsMywwLDEzLC0xLDIsMTg3LDMsMCw2LC0yLDIsMTg4LDMsMCwzLC0yLDAsMzA3MjAsLTEsMCwzMjUxMiwzLDAsMiwwLDQyOTQ3NzA2NTYsLTE5MSwyLDE4NSwtMzgsMiwxODEsMiw4LDIsMjA2LDMsMCwyNzgsMCwyNDE3MDMzMjE1LC05LDAsNDI5NDcwNTE0NCwwLDQyOTI0MTEzOTEsMCw2NTI5NSwtMTEsMiwxNjcsMywwLDcyLC0zLDAsMzc1ODE1OTg3MiwwLDIwMTM5MTYxNiwzLDAsMTIzLC03LDIsMTg3LC0xMywyLDE4MCwzLDAsMiwtMSwyLDE3MywyLDIwNywtMywyLDk5LDIsMCwtNywyLDE4MSwtMSwwLDM4NCwtMSwwLDEzMzY5MzQ0MCwtMywyLDIwOCwtMiwyLDExMCwzLDAsMywzLDE4MCwyLC0yLDIsOTQsMiwxNjksMywwLDQsLTIsMiwxOTYsLTEsMiwxNjMsMCwzMzU1NTI5MjMsMiwyMDksLTEsMCw1Mzg5NzQyNzIsMCwyMjE0NTkyNTEyLDAsMTMyZTMsLTEwLDAsMTkyLC04LDIsMjEwLC0yMSwwLDEzNDIxMzYzMiwyLDE2MiwzLDAsMzQsMiw1NSwwLDQyOTQ5NjUyNzksMywwLDYsMCwxMDA2NjM0MjQsMCw2MzUyNCwtMSwyLDIxNCwyLDE1MiwzLDAsMywtMSwwLDMyMjEyODI4MTYsMCw0Mjk0OTE3MTIwLDMsMCw5LDIsMjUsMiwyMTEsLTEsMiwyMTIsMywwLDE0LDIsMjUsMiwxODcsMywwLDYsMiwyNSwyLDIxMywzLDAsMTUsMCwyMTQ3NTIwNjQwLC02LDAsNDI4NjU3ODc4NCwyLDAsLTIsMCwxMDA2Njk0NDAwLDMsMCwyNCwyLDM2LC0xLDAsNDI5Mjg3MDE0NCwzLDAsMiwwLDEsMiwxNzYsMywwLDYsMiwyMDksMCw0MTEwOTQyNTY5LDAsMTQzMjk1MDEzOSwwLDI3MDE2NTgyMTcsMCw0MDI2NTMyODY0LDAsNDAyNjUzMjg4MSwyLDAsMiw0NywzLDAsOCwtMSwyLDE3OCwtMiwyLDE4MCwwLDk4MzA0LDAsNjU1MzcsMiwxODEsLTUsMiwyMTQsMiwwLDIsMzcsMiwyMDIsMiwxNjcsMCw0Mjk0NzcwMTc2LDIsMTEwLDMsMCw0LC0zMCwyLDE5MiwwLDM3NTgxNTM3MjgsLTMsMCwxMjU4MjkxMjAsLTIsMiwxODcsMCw0Mjk0ODk3NjY0LDIsMTc4LC0xLDIsMTk5LC0xLDIsMTc0LDAsNDAyNjU4MDk5MiwyLDk1LDIsMCwtMTAsMiwxODAsMCwzNzU4MTQ1NTM2LDAsMzE3NDQsLTEsMCwxNjEwNjI4OTkyLDAsNDI2MTQ3NzM3NiwtNCwyLDIxNSwtMiwyLDE4NywzLDAsMzIsLTEzMzUsMiwwLC0xMjksMiwxODcsLTYsMiwxNzYsLTE4MCwwLDY1NTMyLC0yMzMsMiwxNzcsLTE4LDIsMTc2LDMsMCw3NywtMTYsMiwxNzYsMywwLDQ3LC0xNTQsMiwxNzAsLTEzMCwyLDE4LDMsMCwyMjI1MCwtNywyLDE4LDMsMCw2MTI4XSxbNDI5NDk2NzI5NSw0Mjk0OTY3MjkxLDQwOTI0NjA1NDMsNDI5NDgyODAzMSw0Mjk0OTY3Mjk0LDEzNDIxNzcyNiw0Mjk0OTAzODA3LDI2ODQzNTQ1NSwyMTQ3NDgzNjQ3LDEwNDg1NzUsMTA3Mzc0MTgyMywzODkyMzE0MTExLDEzNDIxNzcyNywxMDYxMTU4OTExLDUzNjgwNTM3Niw0Mjk0OTEwMTQzLDQyOTQ5MDE3NTksMzI3NjcsNDI5NDkwMTc2MCwyNjIxNDMsNTM2ODcwOTExLDgzODg2MDcsNDE2MDc0OTU2Nyw0Mjk0OTAyNzgzLDQyOTQ5MTgxNDMsNjU1MzUsNjcwNDMzMjgsMjI4MTcwMTM3NCw0Mjk0OTY3MjY0LDIwOTcxNTEsNDE5NDMwMywyNTUsNjcxMDg4NjMsNDI5NDk2NzAzOSw1MTEsNTI0Mjg3LDEzMTA3MSw2MywxMjcsMzIzODAwMjY4Nyw0Mjk0NTQ5NDg3LDQyOTA3NzI5OTEsMzM1NTQ0MzEsNDI5NDkwMTg4OCw0Mjg2NTc4Njg3LDY3MDQzMzI5LDQyOTQ3MDUxNTIsNDI5NDc3MDY4Nyw2NzA0MzU4MywxMDIzLDE1LDIwNDc5OTksNjcwNDMzNDMsNjcwNTE1MTksMTY3NzcyMTUsMjE0NzQ4MzY0OCw0Mjk0OTAyZTMsMjgsNDI5Mjg3MDE0Myw0Mjk0OTY2NzgzLDE2MzgzLDY3MDQ3NDIzLDQyOTQ5NjcyNzksMjYyMDgzLDIwNTExLDQxOTQzMDM5LDQ5MzU2Nyw0Mjk0OTU5MTA0LDYwMzk3OTc3NSw2NTUzNiw2MDI3OTk2MTUsODA1MDQ0MjIzLDQyOTQ5NjUyMDYsODE5MSwxMDMxNzQ5MTE5LDQyOTQ5MTc2MzEsMjEzNDc2OTY2Myw0Mjg2NTc4NDkzLDQyODIyNTMzMTEsNDI5NDk0MjcxOSwzMzU0MDA5NSw0Mjk0OTA1ODU1LDI4Njg4NTQ1OTEsMTYwODUxNTU4MywyNjUyMzIzNDgsNTM0NTE5ODA3LDIxNDc2MTQ3MjAsMTA2MDEwOTQ0NCw0MDkzNjQwMDE2LDE3Mzc2LDIxMzkwNjIxNDMsMjI0LDQxNjkxMzgxNzUsNDI5NDkwOTk1MSw0Mjg2NTc4Njg4LDQyOTQ5NjcyOTIsNDI5NDk2NTc1OSw1MzU1MTEwMzksNDI5NDk2NjI3Miw0Mjk0OTY3MjgwLDMyNzY4LDgyODk5MTgsNDI5NDkzNDM5OSw0Mjk0OTAxNzc1LDQyOTQ5NjUzNzUsMTYwMjIyMzYxNSw0Mjk0OTY3MjU5LDQyOTQ0NDMwMDgsMjY4MzY5OTIwLDQyOTI4MDQ2MDgsNDI5NDk2NzIzMiw0ODYzNDE4ODQsNDI5NDk2MzE5OSwzMDg3MDA3NjE1LDEwNzM2OTI2NzEsNDEyODUyNyw0Mjc5MjM4NjU1LDQyOTQ5MDIwMTUsNDE2MDY4NDA0Nyw0MjkwMjQ2NjU1LDQ2OTQ5OTg5OSw0Mjk0OTY3MjMxLDEzNDA4NjY1NSw0Mjk0OTY2NTkxLDI0NDUyNzkyMzEsMzY3MDAxNSwzMSw0Mjk0OTY3Mjg4LDQyOTQ3MDUxNTEsMzIyMTIwODQ0Nyw0Mjk0OTAyMjcxLDQyOTQ1NDk0NzIsNDI5NDkyMTIxNSw0MDk1LDQyODU1MjY2NTUsNDI5NDk2NjUyNyw0Mjk0OTY2MTQzLDY0LDQyOTQ5NjY3MTksMzc3NDg3MzU5MiwxODc3OTM0MDgwLDI2MjE1MSwyNTU1OTA0LDUzNjgwNzQyMyw2NzA0MzgzOSwzNzU4MDk2MzgzLDM5NTk0MTQzNzIsMzc1NTk5MzAyMywyMDgwMzc0NzgzLDQyOTQ4MzUyOTUsNDI5NDk2NzEwMyw0MTYwNzQ5NTY1LDQyOTQ5MzQ1MjcsNDA4NywyMDE2LDIxNDc0NDY2NTUsMTg0MDI0NzI2LDI4NjIwMTcxNTYsMTU5MzMwOTA3OCwyNjg0MzQ0MzEsMjY4NDM0NDE0LDQyOTQ5MDE3NjMsNDI5NDkwMTc2MSw1MzY4NzA5MTIsMjk1Mjc5MDAxNiwyMDI1MDY3NTIsMTM5MjY0LDQwMjY1MzE4NDAsNDAyNjUzMTg0LDQyNjE0MTI4NjQsNjM0ODgsMTYxMDYxMjczNiw0MjI3OTIyOTQ0LDQ5MTUyLDY1MjgwLDMyMzM4MDgzODQsMzIyMTIyNTQ3Miw2NTUzNCw2MTQ0MCw1NzE1Miw0MjkzOTE4NzIwLDQyOTA3NzI5OTIsMjUxNjU4MjQsNTczNDQsNDIyNzkxNTc3Niw0Mjc4MTkwMDgwLDM3NTgwOTYzODQsNDIyNzg1ODQzMiw0MTYwNzQ5NTY4LDM3NTgxMjkxNTIsNDI5NDgzNjIyNCw0MTk0MzA0LDI1MTY1ODI0MCwxOTY2MDgsNDI5NDk2MzIwMCwyMTQzMjg5MzQ0LDIwOTcxNTIsNjQ1MTIsNDE3ODA4LDQyMjc5MjM3MTIsMTI1ODI5MTIsNTAzMzE2NDgsNjU1MjgsNjU0NzIsNDI5NDk2NzE2OCwxNTM2MCw0Mjk0OTY2Nzg0LDY1NDA4LDQyOTQ5NjUyNDgsMTYsMTIyODgsNDI5NDkzNDUyOCwyMDgwMzc0Nzg0LDIwMTMyNjU5MjAsNDI5NDk1MDkxMiw1MjQyODhdKTtmdW5jdGlvbiBBKG4pe3JldHVybiBuLmNvbHVtbisrLG4uY3VycmVudENoYXI9bi5zb3VyY2UuY2hhckNvZGVBdCgrK24uaW5kZXgpfWZ1bmN0aW9uIHVuKG4pe2xldCBlPW4uY3VycmVudENoYXI7aWYoKGUmNjQ1MTIpIT09NTUyOTYpcmV0dXJuIDA7bGV0IHU9bi5zb3VyY2UuY2hhckNvZGVBdChuLmluZGV4KzEpO3JldHVybih1JjY0NTEyKSE9PTU2MzIwPzA6NjU1MzYrKChlJjEwMjMpPDwxMCkrKHUmMTAyMyl9ZnVuY3Rpb24gdG4obixlKXtuLmN1cnJlbnRDaGFyPW4uc291cmNlLmNoYXJDb2RlQXQoKytuLmluZGV4KSxuLmZsYWdzfD0xLGUmNHx8KG4uY29sdW1uPTAsbi5saW5lKyspfWZ1bmN0aW9uIGsyKG4pe24uZmxhZ3N8PTEsbi5jdXJyZW50Q2hhcj1uLnNvdXJjZS5jaGFyQ29kZUF0KCsrbi5pbmRleCksbi5jb2x1bW49MCxuLmxpbmUrK31mdW5jdGlvbiBVZShuKXtyZXR1cm4gbj09PTE2MHx8bj09PTY1Mjc5fHxuPT09MTMzfHxuPT09NTc2MHx8bj49ODE5MiYmbjw9ODIwM3x8bj09PTgyMzl8fG49PT04Mjg3fHxuPT09MTIyODh8fG49PT04MjAxfHxuPT09NjU1MTl9ZnVuY3Rpb24gVyhuKXtyZXR1cm4gbjw2NT9uLTQ4Om4tNjUrMTAmMTV9ZnVuY3Rpb24gTWUobil7c3dpdGNoKG4pe2Nhc2UgMTM0MjgzMjY2OnJldHVyblwiTnVtZXJpY0xpdGVyYWxcIjtjYXNlIDEzNDI4MzI2NzpyZXR1cm5cIlN0cmluZ0xpdGVyYWxcIjtjYXNlIDg2MDIxOmNhc2UgODYwMjI6cmV0dXJuXCJCb29sZWFuTGl0ZXJhbFwiO2Nhc2UgODYwMjM6cmV0dXJuXCJOdWxsTGl0ZXJhbFwiO2Nhc2UgNjU1NDA6cmV0dXJuXCJSZWd1bGFyRXhwcmVzc2lvblwiO2Nhc2UgNjcxNzQ0MDg6Y2FzZSA2NzE3NDQwOTpjYXNlIDEzMTpyZXR1cm5cIlRlbXBsYXRlTGl0ZXJhbFwiO2RlZmF1bHQ6cmV0dXJuKG4mMTQzMzYwKT09PTE0MzM2MD9cIklkZW50aWZpZXJcIjoobiY0MDk2KT09PTQwOTY/XCJLZXl3b3JkXCI6XCJQdW5jdHVhdG9yXCJ9fXZhciBOPVswLDAsMCwwLDAsMCwwLDAsMCwwLDEwMzIsMCwwLDIwNTYsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDgxOTIsMCwzLDAsMCw4MTkyLDAsMCwwLDI1NiwwLDMzMDI0LDAsMCwyNDIsMjQyLDExNCwxMTQsMTE0LDExNCwxMTQsMTE0LDU5NCw1OTQsMCwwLDE2Mzg0LDAsMCwwLDAsNjcsNjcsNjcsNjcsNjcsNjcsMywzLDMsMywzLDMsMywzLDMsMywzLDMsMywzLDMsMywzLDMsMywzLDAsMSwwLDAsNDA5OSwwLDcxLDcxLDcxLDcxLDcxLDcxLDcsNyw3LDcsNyw3LDcsNyw3LDcsNyw3LDcsNyw3LDcsNyw3LDcsNywxNjM4NCwwLDAsMCwwXSxKZT1bMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwwLDAsMCwwLDEsMCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMCwwLDAsMCwwXSxSbj1bMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMSwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMSwxLDEsMSwxLDEsMSwxLDEsMSwwLDAsMCwwLDAsMCwwLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwwLDAsMCwwLDEsMCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMCwwLDAsMCwwXTtmdW5jdGlvbiBNMihuKXtyZXR1cm4gbjw9MTI3P0plW25dPjA6Vm4obil9ZnVuY3Rpb24gVjIobil7cmV0dXJuIG48PTEyNz9SbltuXT4wOlJlKG4pfHxuPT09ODIwNHx8bj09PTgyMDV9dmFyIFVuPVtcIlNpbmdsZUxpbmVcIixcIk11bHRpTGluZVwiLFwiSFRNTE9wZW5cIixcIkhUTUxDbG9zZVwiLFwiSGFzaGJhbmdDb21tZW50XCJdO2Z1bmN0aW9uIGplKG4pe2xldHtzb3VyY2U6ZX09bjtuLmN1cnJlbnRDaGFyPT09MzUmJmUuY2hhckNvZGVBdChuLmluZGV4KzEpPT09MzMmJihBKG4pLEEobiksb24obixlLDAsNCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbikpfWZ1bmN0aW9uIExuKG4sZSx1LHQsbyxpLGwsZil7cmV0dXJuIHQmNTEyJiZjKG4sMCksb24obixlLHUsbyxpLGwsZil9ZnVuY3Rpb24gb24obixlLHUsdCxvLGksbCl7bGV0e2luZGV4OmZ9PW47Zm9yKG4udG9rZW5JbmRleD1uLmluZGV4LG4udG9rZW5MaW5lPW4ubGluZSxuLnRva2VuQ29sdW1uPW4uY29sdW1uO24uaW5kZXg8bi5lbmQ7KXtpZihOW24uY3VycmVudENoYXJdJjgpe2xldCBkPW4uY3VycmVudENoYXI9PT0xMztrMihuKSxkJiZuLmluZGV4PG4uZW5kJiZuLmN1cnJlbnRDaGFyPT09MTAmJihuLmN1cnJlbnRDaGFyPWUuY2hhckNvZGVBdCgrK24uaW5kZXgpKTticmVha31lbHNlIGlmKChuLmN1cnJlbnRDaGFyXjgyMzIpPD0xKXtrMihuKTticmVha31BKG4pLG4udG9rZW5JbmRleD1uLmluZGV4LG4udG9rZW5MaW5lPW4ubGluZSxuLnRva2VuQ29sdW1uPW4uY29sdW1ufWlmKG4ub25Db21tZW50KXtsZXQgZD17c3RhcnQ6e2xpbmU6aSxjb2x1bW46bH0sZW5kOntsaW5lOm4udG9rZW5MaW5lLGNvbHVtbjpuLnRva2VuQ29sdW1ufX07bi5vbkNvbW1lbnQoVW5bdCYyNTVdLGUuc2xpY2UoZixuLnRva2VuSW5kZXgpLG8sbi50b2tlbkluZGV4LGQpfXJldHVybiB1fDF9ZnVuY3Rpb24gWGUobixlLHUpe2xldHtpbmRleDp0fT1uO2Zvcig7bi5pbmRleDxuLmVuZDspaWYobi5jdXJyZW50Q2hhcjw0Myl7bGV0IG89ITE7Zm9yKDtuLmN1cnJlbnRDaGFyPT09NDI7KWlmKG98fCh1Jj0tNSxvPSEwKSxBKG4pPT09NDcpe2lmKEEobiksbi5vbkNvbW1lbnQpe2xldCBpPXtzdGFydDp7bGluZTpuLnRva2VuTGluZSxjb2x1bW46bi50b2tlbkNvbHVtbn0sZW5kOntsaW5lOm4ubGluZSxjb2x1bW46bi5jb2x1bW59fTtuLm9uQ29tbWVudChVblsxXSxlLnNsaWNlKHQsbi5pbmRleC0yKSx0LTIsbi5pbmRleCxpKX1yZXR1cm4gbi50b2tlbkluZGV4PW4uaW5kZXgsbi50b2tlbkxpbmU9bi5saW5lLG4udG9rZW5Db2x1bW49bi5jb2x1bW4sdX1pZihvKWNvbnRpbnVlO05bbi5jdXJyZW50Q2hhcl0mOD9uLmN1cnJlbnRDaGFyPT09MTM/KHV8PTUsazIobikpOih0bihuLHUpLHU9dSYtNXwxKTpBKG4pfWVsc2Uobi5jdXJyZW50Q2hhcl44MjMyKTw9MT8odT11Ji01fDEsazIobikpOih1Jj0tNSxBKG4pKTtjKG4sMTgpfXZhciBvMjsoZnVuY3Rpb24obil7bltuLkVtcHR5PTBdPVwiRW1wdHlcIixuW24uRXNjYXBlPTFdPVwiRXNjYXBlXCIsbltuLkNsYXNzPTJdPVwiQ2xhc3NcIn0pKG8yfHwobzI9e30pKTt2YXIgWDsoZnVuY3Rpb24obil7bltuLkVtcHR5PTBdPVwiRW1wdHlcIixuW24uSWdub3JlQ2FzZT0xXT1cIklnbm9yZUNhc2VcIixuW24uR2xvYmFsPTJdPVwiR2xvYmFsXCIsbltuLk11bHRpbGluZT00XT1cIk11bHRpbGluZVwiLG5bbi5Vbmljb2RlPTE2XT1cIlVuaWNvZGVcIixuW24uU3RpY2t5PThdPVwiU3RpY2t5XCIsbltuLkRvdEFsbD0zMl09XCJEb3RBbGxcIixuW24uSW5kaWNlcz02NF09XCJJbmRpY2VzXCIsbltuLlVuaWNvZGVTZXRzPTEyOF09XCJVbmljb2RlU2V0c1wifSkoWHx8KFg9e30pKTtmdW5jdGlvbiBIZShuLGUpe2xldCB1PW4uaW5kZXgsdD1vMi5FbXB0eTtuOmZvcig7Oyl7bGV0IG09bi5jdXJyZW50Q2hhcjtpZihBKG4pLHQmbzIuRXNjYXBlKXQmPX5vMi5Fc2NhcGU7ZWxzZSBzd2l0Y2gobSl7Y2FzZSA0NzppZih0KWJyZWFrO2JyZWFrIG47Y2FzZSA5Mjp0fD1vMi5Fc2NhcGU7YnJlYWs7Y2FzZSA5MTp0fD1vMi5DbGFzczticmVhaztjYXNlIDkzOnQmPW8yLkVzY2FwZTticmVha31pZigobT09PTEzfHxtPT09MTB8fG09PT04MjMyfHxtPT09ODIzMykmJmMobiwzNCksbi5pbmRleD49bi5zb3VyY2UubGVuZ3RoKXJldHVybiBjKG4sMzQpfWxldCBvPW4uaW5kZXgtMSxpPVguRW1wdHksbD1uLmN1cnJlbnRDaGFyLHtpbmRleDpmfT1uO2Zvcig7VjIobCk7KXtzd2l0Y2gobCl7Y2FzZSAxMDM6aSZYLkdsb2JhbCYmYyhuLDM2LFwiZ1wiKSxpfD1YLkdsb2JhbDticmVhaztjYXNlIDEwNTppJlguSWdub3JlQ2FzZSYmYyhuLDM2LFwiaVwiKSxpfD1YLklnbm9yZUNhc2U7YnJlYWs7Y2FzZSAxMDk6aSZYLk11bHRpbGluZSYmYyhuLDM2LFwibVwiKSxpfD1YLk11bHRpbGluZTticmVhaztjYXNlIDExNzppJlguVW5pY29kZSYmYyhuLDM2LFwidVwiKSxpJlguVW5pY29kZVNldHMmJmMobiwzNixcInZ1XCIpLGl8PVguVW5pY29kZTticmVhaztjYXNlIDExODppJlguVW5pY29kZSYmYyhuLDM2LFwidXZcIiksaSZYLlVuaWNvZGVTZXRzJiZjKG4sMzYsXCJ2XCIpLGl8PVguVW5pY29kZVNldHM7YnJlYWs7Y2FzZSAxMjE6aSZYLlN0aWNreSYmYyhuLDM2LFwieVwiKSxpfD1YLlN0aWNreTticmVhaztjYXNlIDExNTppJlguRG90QWxsJiZjKG4sMzYsXCJzXCIpLGl8PVguRG90QWxsO2JyZWFrO2Nhc2UgMTAwOmkmWC5JbmRpY2VzJiZjKG4sMzYsXCJkXCIpLGl8PVguSW5kaWNlczticmVhaztkZWZhdWx0OmMobiwzNSl9bD1BKG4pfWxldCBkPW4uc291cmNlLnNsaWNlKGYsbi5pbmRleCksZz1uLnNvdXJjZS5zbGljZSh1LG8pO3JldHVybiBuLnRva2VuUmVnRXhwPXtwYXR0ZXJuOmcsZmxhZ3M6ZH0sZSYxMjgmJihuLnRva2VuUmF3PW4uc291cmNlLnNsaWNlKG4udG9rZW5JbmRleCxuLmluZGV4KSksbi50b2tlblZhbHVlPXplKG4sZyxkKSw2NTU0MH1mdW5jdGlvbiB6ZShuLGUsdSl7dHJ5e3JldHVybiBuZXcgUmVnRXhwKGUsdSl9Y2F0Y2h7dHJ5e3JldHVybiBuZXcgUmVnRXhwKGUsdSksbnVsbH1jYXRjaHtjKG4sMzQpfX19ZnVuY3Rpb24gS2UobixlLHUpe2xldHtpbmRleDp0fT1uLG89XCJcIixpPUEobiksbD1uLmluZGV4O2Zvcig7IShOW2ldJjgpOyl7aWYoaT09PXUpcmV0dXJuIG8rPW4uc291cmNlLnNsaWNlKGwsbi5pbmRleCksQShuKSxlJjEyOCYmKG4udG9rZW5SYXc9bi5zb3VyY2Uuc2xpY2UodCxuLmluZGV4KSksbi50b2tlblZhbHVlPW8sMTM0MjgzMjY3O2lmKChpJjgpPT09OCYmaT09PTkyKXtpZihvKz1uLnNvdXJjZS5zbGljZShsLG4uaW5kZXgpLGk9QShuKSxpPDEyN3x8aT09PTgyMzJ8fGk9PT04MjMzKXtsZXQgZj1NbihuLGUsaSk7Zj49MD9vKz1TdHJpbmcuZnJvbUNvZGVQb2ludChmKTpKbihuLGYsMCl9ZWxzZSBvKz1TdHJpbmcuZnJvbUNvZGVQb2ludChpKTtsPW4uaW5kZXgrMX1uLmluZGV4Pj1uLmVuZCYmYyhuLDE2KSxpPUEobil9YyhuLDE2KX1mdW5jdGlvbiBNbihuLGUsdSx0PTApe3N3aXRjaCh1KXtjYXNlIDk4OnJldHVybiA4O2Nhc2UgMTAyOnJldHVybiAxMjtjYXNlIDExNDpyZXR1cm4gMTM7Y2FzZSAxMTA6cmV0dXJuIDEwO2Nhc2UgMTE2OnJldHVybiA5O2Nhc2UgMTE4OnJldHVybiAxMTtjYXNlIDEzOmlmKG4uaW5kZXg8bi5lbmQpe2xldCBvPW4uc291cmNlLmNoYXJDb2RlQXQobi5pbmRleCsxKTtvPT09MTAmJihuLmluZGV4PW4uaW5kZXgrMSxuLmN1cnJlbnRDaGFyPW8pfWNhc2UgMTA6Y2FzZSA4MjMyOmNhc2UgODIzMzpyZXR1cm4gbi5jb2x1bW49LTEsbi5saW5lKyssLTE7Y2FzZSA0ODpjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTp7bGV0IG89dS00OCxpPW4uaW5kZXgrMSxsPW4uY29sdW1uKzE7aWYoaTxuLmVuZCl7bGV0IGY9bi5zb3VyY2UuY2hhckNvZGVBdChpKTtpZihOW2ZdJjMyKXtpZihlJjI1Nnx8dClyZXR1cm4tMjtpZihuLmN1cnJlbnRDaGFyPWYsbz1vPDwzfGYtNDgsaSsrLGwrKyxpPG4uZW5kKXtsZXQgZD1uLnNvdXJjZS5jaGFyQ29kZUF0KGkpO05bZF0mMzImJihuLmN1cnJlbnRDaGFyPWQsbz1vPDwzfGQtNDgsaSsrLGwrKyl9bi5mbGFnc3w9NjR9ZWxzZSBpZihvIT09MHx8TltmXSY1MTIpe2lmKGUmMjU2fHx0KXJldHVybi0yO24uZmxhZ3N8PTY0fW4uaW5kZXg9aS0xLG4uY29sdW1uPWwtMX1yZXR1cm4gb31jYXNlIDUyOmNhc2UgNTM6Y2FzZSA1NDpjYXNlIDU1OntpZih0fHxlJjI1NilyZXR1cm4tMjtsZXQgbz11LTQ4LGk9bi5pbmRleCsxLGw9bi5jb2x1bW4rMTtpZihpPG4uZW5kKXtsZXQgZj1uLnNvdXJjZS5jaGFyQ29kZUF0KGkpO05bZl0mMzImJihvPW88PDN8Zi00OCxuLmN1cnJlbnRDaGFyPWYsbi5pbmRleD1pLG4uY29sdW1uPWwpfXJldHVybiBuLmZsYWdzfD02NCxvfWNhc2UgMTIwOntsZXQgbz1BKG4pO2lmKCEoTltvXSY2NCkpcmV0dXJuLTQ7bGV0IGk9VyhvKSxsPUEobik7aWYoIShOW2xdJjY0KSlyZXR1cm4tNDtsZXQgZj1XKGwpO3JldHVybiBpPDw0fGZ9Y2FzZSAxMTc6e2xldCBvPUEobik7aWYobi5jdXJyZW50Q2hhcj09PTEyMyl7bGV0IGk9MDtmb3IoO05bQShuKV0mNjQ7KWlmKGk9aTw8NHxXKG4uY3VycmVudENoYXIpLGk+MTExNDExMSlyZXR1cm4tNTtyZXR1cm4gbi5jdXJyZW50Q2hhcjwxfHxuLmN1cnJlbnRDaGFyIT09MTI1Py00Oml9ZWxzZXtpZighKE5bb10mNjQpKXJldHVybi00O2xldCBpPW4uc291cmNlLmNoYXJDb2RlQXQobi5pbmRleCsxKTtpZighKE5baV0mNjQpKXJldHVybi00O2xldCBsPW4uc291cmNlLmNoYXJDb2RlQXQobi5pbmRleCsyKTtpZighKE5bbF0mNjQpKXJldHVybi00O2xldCBmPW4uc291cmNlLmNoYXJDb2RlQXQobi5pbmRleCszKTtyZXR1cm4gTltmXSY2ND8obi5pbmRleCs9MyxuLmNvbHVtbis9MyxuLmN1cnJlbnRDaGFyPW4uc291cmNlLmNoYXJDb2RlQXQobi5pbmRleCksVyhvKTw8MTJ8VyhpKTw8OHxXKGwpPDw0fFcoZikpOi00fX1jYXNlIDU2OmNhc2UgNTc6aWYodHx8IShlJjY0KXx8ZSYyNTYpcmV0dXJuLTM7bi5mbGFnc3w9NDA5NjtkZWZhdWx0OnJldHVybiB1fX1mdW5jdGlvbiBKbihuLGUsdSl7c3dpdGNoKGUpe2Nhc2UtMTpyZXR1cm47Y2FzZS0yOmMobix1PzI6MSk7Y2FzZS0zOmMobix1PzM6MTQpO2Nhc2UtNDpjKG4sNyk7Y2FzZS01OmMobiwxMDQpfX1mdW5jdGlvbiBqbihuLGUpe2xldHtpbmRleDp1fT1uLHQ9NjcxNzQ0MDksbz1cIlwiLGk9QShuKTtmb3IoO2khPT05Njspe2lmKGk9PT0zNiYmbi5zb3VyY2UuY2hhckNvZGVBdChuLmluZGV4KzEpPT09MTIzKXtBKG4pLHQ9NjcxNzQ0MDg7YnJlYWt9ZWxzZSBpZihpPT09OTIpaWYoaT1BKG4pLGk+MTI2KW8rPVN0cmluZy5mcm9tQ29kZVBvaW50KGkpO2Vsc2V7bGV0e2luZGV4OmwsbGluZTpmLGNvbHVtbjpkfT1uLGc9TW4obixlfDI1NixpLDEpO2lmKGc+PTApbys9U3RyaW5nLmZyb21Db2RlUG9pbnQoZyk7ZWxzZSBpZihnIT09LTEmJmUmMTYzODQpe24uaW5kZXg9bCxuLmxpbmU9ZixuLmNvbHVtbj1kLG89bnVsbCxpPSRlKG4saSksaTwwJiYodD02NzE3NDQwOCk7YnJlYWt9ZWxzZSBKbihuLGcsMSl9ZWxzZSBuLmluZGV4PG4uZW5kJiYoaT09PTEzJiZuLnNvdXJjZS5jaGFyQ29kZUF0KG4uaW5kZXgpPT09MTAmJihvKz1TdHJpbmcuZnJvbUNvZGVQb2ludChpKSxuLmN1cnJlbnRDaGFyPW4uc291cmNlLmNoYXJDb2RlQXQoKytuLmluZGV4KSksKChpJjgzKTwzJiZpPT09MTB8fChpXjgyMzIpPD0xKSYmKG4uY29sdW1uPS0xLG4ubGluZSsrKSxvKz1TdHJpbmcuZnJvbUNvZGVQb2ludChpKSk7bi5pbmRleD49bi5lbmQmJmMobiwxNyksaT1BKG4pfXJldHVybiBBKG4pLG4udG9rZW5WYWx1ZT1vLG4udG9rZW5SYXc9bi5zb3VyY2Uuc2xpY2UodSsxLG4uaW5kZXgtKHQ9PT02NzE3NDQwOT8xOjIpKSx0fWZ1bmN0aW9uICRlKG4sZSl7Zm9yKDtlIT09OTY7KXtzd2l0Y2goZSl7Y2FzZSAzNjp7bGV0IHU9bi5pbmRleCsxO2lmKHU8bi5lbmQmJm4uc291cmNlLmNoYXJDb2RlQXQodSk9PT0xMjMpcmV0dXJuIG4uaW5kZXg9dSxuLmNvbHVtbisrLC1lO2JyZWFrfWNhc2UgMTA6Y2FzZSA4MjMyOmNhc2UgODIzMzpuLmNvbHVtbj0tMSxuLmxpbmUrK31uLmluZGV4Pj1uLmVuZCYmYyhuLDE3KSxlPUEobil9cmV0dXJuIGV9ZnVuY3Rpb24gV2UobixlKXtyZXR1cm4gbi5pbmRleD49bi5lbmQmJmMobiwwKSxuLmluZGV4LS0sbi5jb2x1bW4tLSxqbihuLGUpfWZ1bmN0aW9uIEZuKG4sZSx1KXtsZXQgdD1uLmN1cnJlbnRDaGFyLG89MCxpPTksbD11JjY0PzA6MSxmPTAsZD0wO2lmKHUmNjQpbz1cIi5cIit2MihuLHQpLHQ9bi5jdXJyZW50Q2hhcix0PT09MTEwJiZjKG4sMTIpO2Vsc2V7aWYodD09PTQ4KWlmKHQ9QShuKSwodHwzMik9PT0xMjApe2Zvcih1PTEzNix0PUEobik7Tlt0XSY0MTYwOyl7aWYodD09PTk1KXtkfHxjKG4sMTUyKSxkPTAsdD1BKG4pO2NvbnRpbnVlfWQ9MSxvPW8qMTYrVyh0KSxmKyssdD1BKG4pfShmPT09MHx8IWQpJiZjKG4sZj09PTA/MjE6MTUzKX1lbHNlIGlmKCh0fDMyKT09PTExMSl7Zm9yKHU9MTMyLHQ9QShuKTtOW3RdJjQxMjg7KXtpZih0PT09OTUpe2R8fGMobiwxNTIpLGQ9MCx0PUEobik7Y29udGludWV9ZD0xLG89byo4Kyh0LTQ4KSxmKyssdD1BKG4pfShmPT09MHx8IWQpJiZjKG4sZj09PTA/MDoxNTMpfWVsc2UgaWYoKHR8MzIpPT09OTgpe2Zvcih1PTEzMCx0PUEobik7Tlt0XSY0MjI0Oyl7aWYodD09PTk1KXtkfHxjKG4sMTUyKSxkPTAsdD1BKG4pO2NvbnRpbnVlfWQ9MSxvPW8qMisodC00OCksZisrLHQ9QShuKX0oZj09PTB8fCFkKSYmYyhuLGY9PT0wPzA6MTUzKX1lbHNlIGlmKE5bdF0mMzIpZm9yKGUmMjU2JiZjKG4sMSksdT0xO05bdF0mMTY7KXtpZihOW3RdJjUxMil7dT0zMixsPTA7YnJlYWt9bz1vKjgrKHQtNDgpLHQ9QShuKX1lbHNlIE5bdF0mNTEyPyhlJjI1NiYmYyhuLDEpLG4uZmxhZ3N8PTY0LHU9MzIpOnQ9PT05NSYmYyhuLDApO2lmKHUmNDgpe2lmKGwpe2Zvcig7aT49MCYmTlt0XSY0MTEyOyl7aWYodD09PTk1KXt0PUEobiksKHQ9PT05NXx8dSYzMikmJmgyKG4uaW5kZXgsbi5saW5lLG4uY29sdW1uLG4uaW5kZXgrMSxuLmxpbmUsbi5jb2x1bW4sMTUyKSxkPTE7Y29udGludWV9ZD0wLG89MTAqbysodC00OCksdD1BKG4pLC0taX1pZihkJiZoMihuLmluZGV4LG4ubGluZSxuLmNvbHVtbixuLmluZGV4KzEsbi5saW5lLG4uY29sdW1uLDE1MyksaT49MCYmIU0yKHQpJiZ0IT09NDYpcmV0dXJuIG4udG9rZW5WYWx1ZT1vLGUmMTI4JiYobi50b2tlblJhdz1uLnNvdXJjZS5zbGljZShuLnRva2VuSW5kZXgsbi5pbmRleCkpLDEzNDI4MzI2Nn1vKz12MihuLHQpLHQ9bi5jdXJyZW50Q2hhcix0PT09NDYmJihBKG4pPT09OTUmJmMobiwwKSx1PTY0LG8rPVwiLlwiK3YyKG4sbi5jdXJyZW50Q2hhciksdD1uLmN1cnJlbnRDaGFyKX19bGV0IGc9bi5pbmRleCxtPTA7aWYodD09PTExMCYmdSYxMjgpbT0xLHQ9QShuKTtlbHNlIGlmKCh0fDMyKT09PTEwMSl7dD1BKG4pLE5bdF0mMjU2JiYodD1BKG4pKTtsZXR7aW5kZXg6eX09bjtOW3RdJjE2fHxjKG4sMTEpLG8rPW4uc291cmNlLnN1YnN0cmluZyhnLHkpK3YyKG4sdCksdD1uLmN1cnJlbnRDaGFyfXJldHVybihuLmluZGV4PG4uZW5kJiZOW3RdJjE2fHxNMih0KSkmJmMobiwxMyksbT8obi50b2tlblJhdz1uLnNvdXJjZS5zbGljZShuLnRva2VuSW5kZXgsbi5pbmRleCksbi50b2tlblZhbHVlPUJpZ0ludChpMighMSxuLnRva2VuUmF3LnNsaWNlKDAsLTEpLFwiX1wiLFwiXCIpKSwxMzQyODMzODgpOihuLnRva2VuVmFsdWU9dSYxNT9vOnUmMzI/cGFyc2VGbG9hdChuLnNvdXJjZS5zdWJzdHJpbmcobi50b2tlbkluZGV4LG4uaW5kZXgpKTorbyxlJjEyOCYmKG4udG9rZW5SYXc9bi5zb3VyY2Uuc2xpY2Uobi50b2tlbkluZGV4LG4uaW5kZXgpKSwxMzQyODMyNjYpfWZ1bmN0aW9uIHYyKG4sZSl7bGV0IHU9MCx0PW4uaW5kZXgsbz1cIlwiO2Zvcig7TltlXSY0MTEyOyl7aWYoZT09PTk1KXtsZXR7aW5kZXg6aX09bjtlPUEobiksZT09PTk1JiZoMihuLmluZGV4LG4ubGluZSxuLmNvbHVtbixuLmluZGV4KzEsbi5saW5lLG4uY29sdW1uLDE1MiksdT0xLG8rPW4uc291cmNlLnN1YnN0cmluZyh0LGkpLHQ9bi5pbmRleDtjb250aW51ZX11PTAsZT1BKG4pfXJldHVybiB1JiZoMihuLmluZGV4LG4ubGluZSxuLmNvbHVtbixuLmluZGV4KzEsbi5saW5lLG4uY29sdW1uLDE1MyksbytuLnNvdXJjZS5zdWJzdHJpbmcodCxuLmluZGV4KX12YXIgVj1bXCJlbmQgb2Ygc291cmNlXCIsXCJpZGVudGlmaWVyXCIsXCJudW1iZXJcIixcInN0cmluZ1wiLFwicmVndWxhciBleHByZXNzaW9uXCIsXCJmYWxzZVwiLFwidHJ1ZVwiLFwibnVsbFwiLFwidGVtcGxhdGUgY29udGludWF0aW9uXCIsXCJ0ZW1wbGF0ZSB0YWlsXCIsXCI9PlwiLFwiKFwiLFwie1wiLFwiLlwiLFwiLi4uXCIsXCJ9XCIsXCIpXCIsXCI7XCIsXCIsXCIsXCJbXCIsXCJdXCIsXCI6XCIsXCI/XCIsXCInXCIsJ1wiJyxcIisrXCIsXCItLVwiLFwiPVwiLFwiPDw9XCIsXCI+Pj1cIixcIj4+Pj1cIixcIioqPVwiLFwiKz1cIixcIi09XCIsXCIqPVwiLFwiLz1cIixcIiU9XCIsXCJePVwiLFwifD1cIixcIiY9XCIsXCJ8fD1cIixcIiYmPVwiLFwiPz89XCIsXCJ0eXBlb2ZcIixcImRlbGV0ZVwiLFwidm9pZFwiLFwiIVwiLFwiflwiLFwiK1wiLFwiLVwiLFwiaW5cIixcImluc3RhbmNlb2ZcIixcIipcIixcIiVcIixcIi9cIixcIioqXCIsXCImJlwiLFwifHxcIixcIj09PVwiLFwiIT09XCIsXCI9PVwiLFwiIT1cIixcIjw9XCIsXCI+PVwiLFwiPFwiLFwiPlwiLFwiPDxcIixcIj4+XCIsXCI+Pj5cIixcIiZcIixcInxcIixcIl5cIixcInZhclwiLFwibGV0XCIsXCJjb25zdFwiLFwiYnJlYWtcIixcImNhc2VcIixcImNhdGNoXCIsXCJjbGFzc1wiLFwiY29udGludWVcIixcImRlYnVnZ2VyXCIsXCJkZWZhdWx0XCIsXCJkb1wiLFwiZWxzZVwiLFwiZXhwb3J0XCIsXCJleHRlbmRzXCIsXCJmaW5hbGx5XCIsXCJmb3JcIixcImZ1bmN0aW9uXCIsXCJpZlwiLFwiaW1wb3J0XCIsXCJuZXdcIixcInJldHVyblwiLFwic3VwZXJcIixcInN3aXRjaFwiLFwidGhpc1wiLFwidGhyb3dcIixcInRyeVwiLFwid2hpbGVcIixcIndpdGhcIixcImltcGxlbWVudHNcIixcImludGVyZmFjZVwiLFwicGFja2FnZVwiLFwicHJpdmF0ZVwiLFwicHJvdGVjdGVkXCIsXCJwdWJsaWNcIixcInN0YXRpY1wiLFwieWllbGRcIixcImFzXCIsXCJhc3luY1wiLFwiYXdhaXRcIixcImNvbnN0cnVjdG9yXCIsXCJnZXRcIixcInNldFwiLFwiYWNjZXNzb3JcIixcImZyb21cIixcIm9mXCIsXCJlbnVtXCIsXCJldmFsXCIsXCJhcmd1bWVudHNcIixcImVzY2FwZWQga2V5d29yZFwiLFwiZXNjYXBlZCBmdXR1cmUgcmVzZXJ2ZWQga2V5d29yZFwiLFwicmVzZXJ2ZWQgaWYgc3RyaWN0XCIsXCIjXCIsXCJCaWdJbnRMaXRlcmFsXCIsXCI/P1wiLFwiPy5cIixcIldoaXRlU3BhY2VcIixcIklsbGVnYWxcIixcIkxpbmVUZXJtaW5hdG9yXCIsXCJQcml2YXRlRmllbGRcIixcIlRlbXBsYXRlXCIsXCJAXCIsXCJ0YXJnZXRcIixcIm1ldGFcIixcIkxpbmVGZWVkXCIsXCJFc2NhcGVkXCIsXCJKU1hUZXh0XCJdLFhuPU9iamVjdC5jcmVhdGUobnVsbCx7dGhpczp7dmFsdWU6ODYxMTF9LGZ1bmN0aW9uOnt2YWx1ZTo4NjEwNH0saWY6e3ZhbHVlOjIwNTY5fSxyZXR1cm46e3ZhbHVlOjIwNTcyfSx2YXI6e3ZhbHVlOjg2MDg4fSxlbHNlOnt2YWx1ZToyMDU2M30sZm9yOnt2YWx1ZToyMDU2N30sbmV3Ont2YWx1ZTo4NjEwN30saW46e3ZhbHVlOjg2NzMzMzB9LHR5cGVvZjp7dmFsdWU6MTY4NjMyNzV9LHdoaWxlOnt2YWx1ZToyMDU3OH0sY2FzZTp7dmFsdWU6MjA1NTZ9LGJyZWFrOnt2YWx1ZToyMDU1NX0sdHJ5Ont2YWx1ZToyMDU3N30sY2F0Y2g6e3ZhbHVlOjIwNTU3fSxkZWxldGU6e3ZhbHVlOjE2ODYzMjc2fSx0aHJvdzp7dmFsdWU6ODYxMTJ9LHN3aXRjaDp7dmFsdWU6ODYxMTB9LGNvbnRpbnVlOnt2YWx1ZToyMDU1OX0sZGVmYXVsdDp7dmFsdWU6MjA1NjF9LGluc3RhbmNlb2Y6e3ZhbHVlOjg0MTExODd9LGRvOnt2YWx1ZToyMDU2Mn0sdm9pZDp7dmFsdWU6MTY4NjMyNzd9LGZpbmFsbHk6e3ZhbHVlOjIwNTY2fSxhc3luYzp7dmFsdWU6MjA5MDA1fSxhd2FpdDp7dmFsdWU6MjA5MDA2fSxjbGFzczp7dmFsdWU6ODYwOTR9LGNvbnN0Ont2YWx1ZTo4NjA5MH0sY29uc3RydWN0b3I6e3ZhbHVlOjEyMzk5fSxkZWJ1Z2dlcjp7dmFsdWU6MjA1NjB9LGV4cG9ydDp7dmFsdWU6MjA1NjR9LGV4dGVuZHM6e3ZhbHVlOjIwNTY1fSxmYWxzZTp7dmFsdWU6ODYwMjF9LGZyb206e3ZhbHVlOjEyNDAzfSxnZXQ6e3ZhbHVlOjEyNDAwfSxpbXBsZW1lbnRzOnt2YWx1ZTozNjk2NH0saW1wb3J0Ont2YWx1ZTo4NjEwNn0saW50ZXJmYWNlOnt2YWx1ZTozNjk2NX0sbGV0Ont2YWx1ZToyNDE3Mzd9LG51bGw6e3ZhbHVlOjg2MDIzfSxvZjp7dmFsdWU6Mjc0NTQ4fSxwYWNrYWdlOnt2YWx1ZTozNjk2Nn0scHJpdmF0ZTp7dmFsdWU6MzY5Njd9LHByb3RlY3RlZDp7dmFsdWU6MzY5Njh9LHB1YmxpYzp7dmFsdWU6MzY5Njl9LHNldDp7dmFsdWU6MTI0MDF9LHN0YXRpYzp7dmFsdWU6MzY5NzB9LHN1cGVyOnt2YWx1ZTo4NjEwOX0sdHJ1ZTp7dmFsdWU6ODYwMjJ9LHdpdGg6e3ZhbHVlOjIwNTc5fSx5aWVsZDp7dmFsdWU6MjQxNzcxfSxlbnVtOnt2YWx1ZTo4NjEzM30sZXZhbDp7dmFsdWU6NTM3MDc5OTI2fSxhczp7dmFsdWU6Nzc5MzJ9LGFyZ3VtZW50czp7dmFsdWU6NTM3MDc5OTI3fSx0YXJnZXQ6e3ZhbHVlOjIwOTAyOX0sbWV0YTp7dmFsdWU6MjA5MDMwfSxhY2Nlc3Nvcjp7dmFsdWU6MTI0MDJ9fSk7ZnVuY3Rpb24gcW4obixlLHUpe2Zvcig7Um5bQShuKV07KTtyZXR1cm4gbi50b2tlblZhbHVlPW4uc291cmNlLnNsaWNlKG4udG9rZW5JbmRleCxuLmluZGV4KSxuLmN1cnJlbnRDaGFyIT09OTImJm4uY3VycmVudENoYXI8PTEyNj9YbltuLnRva2VuVmFsdWVdfHwyMDg4OTc6bG4obixlLDAsdSl9ZnVuY3Rpb24gX2UobixlKXtsZXQgdT1IbihuKTtyZXR1cm4gTTIodSl8fGMobiw1KSxuLnRva2VuVmFsdWU9U3RyaW5nLmZyb21Db2RlUG9pbnQodSksbG4obixlLDEsTlt1XSY0KX1mdW5jdGlvbiBsbihuLGUsdSx0KXtsZXQgbz1uLmluZGV4O2Zvcig7bi5pbmRleDxuLmVuZDspaWYobi5jdXJyZW50Q2hhcj09PTkyKXtuLnRva2VuVmFsdWUrPW4uc291cmNlLnNsaWNlKG8sbi5pbmRleCksdT0xO2xldCBsPUhuKG4pO1YyKGwpfHxjKG4sNSksdD10JiZOW2xdJjQsbi50b2tlblZhbHVlKz1TdHJpbmcuZnJvbUNvZGVQb2ludChsKSxvPW4uaW5kZXh9ZWxzZXtsZXQgbD11bihuKTtpZihsPjApVjIobCl8fGMobiwyMCxTdHJpbmcuZnJvbUNvZGVQb2ludChsKSksbi5jdXJyZW50Q2hhcj1sLG4uaW5kZXgrKyxuLmNvbHVtbisrO2Vsc2UgaWYoIVYyKG4uY3VycmVudENoYXIpKWJyZWFrO0Eobil9bi5pbmRleDw9bi5lbmQmJihuLnRva2VuVmFsdWUrPW4uc291cmNlLnNsaWNlKG8sbi5pbmRleCkpO2xldHtsZW5ndGg6aX09bi50b2tlblZhbHVlO2lmKHQmJmk+PTImJmk8PTExKXtsZXQgbD1YbltuLnRva2VuVmFsdWVdO3JldHVybiBsPT09dm9pZCAwPzIwODg5N3wodT8tMjE0NzQ4MzY0ODowKTp1P2w9PT0yMDkwMDY/ZSY1MjQ4MDA/LTIxNDc0ODM1Mjg6bHwtMjE0NzQ4MzY0ODplJjI1Nj9sPT09MzY5NzB8fChsJjM2ODY0KT09PTM2ODY0Py0yMTQ3NDgzNTI3OihsJjIwNDgwKT09PTIwNDgwP2UmNjcxMDg4NjQmJiEoZSYyMDQ4KT9sfC0yMTQ3NDgzNjQ4Oi0yMTQ3NDgzNTI4Oi0yMTQ3Mjc0NjMwOmUmNjcxMDg4NjQmJiEoZSYyMDQ4KSYmKGwmMjA0ODApPT09MjA0ODA/bHwtMjE0NzQ4MzY0ODpsPT09MjQxNzcxP2UmNjcxMDg4NjQ/LTIxNDcyNzQ2MzA6ZSYyNjIxNDQ/LTIxNDc0ODM1Mjg6bHwtMjE0NzQ4MzY0ODpsPT09MjA5MDA1Py0yMTQ3Mjc0NjMwOihsJjM2ODY0KT09PTM2ODY0P2x8MTIyODh8LTIxNDc0ODM2NDg6LTIxNDc0ODM1Mjg6bH1yZXR1cm4gMjA4ODk3fCh1Py0yMTQ3NDgzNjQ4OjApfWZ1bmN0aW9uIFllKG4pe2xldCBlPUEobik7aWYoZT09PTkyKXJldHVybiAxMzA7bGV0IHU9dW4obik7cmV0dXJuIHUmJihlPXUpLE0yKGUpfHxjKG4sOTYpLDEzMH1mdW5jdGlvbiBIbihuKXtyZXR1cm4gbi5zb3VyY2UuY2hhckNvZGVBdChuLmluZGV4KzEpIT09MTE3JiZjKG4sNSksbi5jdXJyZW50Q2hhcj1uLnNvdXJjZS5jaGFyQ29kZUF0KG4uaW5kZXgrPTIpLFFlKG4pfWZ1bmN0aW9uIFFlKG4pe2xldCBlPTAsdT1uLmN1cnJlbnRDaGFyO2lmKHU9PT0xMjMpe2xldCBsPW4uaW5kZXgtMjtmb3IoO05bQShuKV0mNjQ7KWU9ZTw8NHxXKG4uY3VycmVudENoYXIpLGU+MTExNDExMSYmaDIobCxuLmxpbmUsbi5jb2x1bW4sbi5pbmRleCxuLmxpbmUsbi5jb2x1bW4sMTA0KTtyZXR1cm4gbi5jdXJyZW50Q2hhciE9PTEyNSYmaDIobCxuLmxpbmUsbi5jb2x1bW4sbi5pbmRleCxuLmxpbmUsbi5jb2x1bW4sNyksQShuKSxlfU5bdV0mNjR8fGMobiw3KTtsZXQgdD1uLnNvdXJjZS5jaGFyQ29kZUF0KG4uaW5kZXgrMSk7Tlt0XSY2NHx8YyhuLDcpO2xldCBvPW4uc291cmNlLmNoYXJDb2RlQXQobi5pbmRleCsyKTtOW29dJjY0fHxjKG4sNyk7bGV0IGk9bi5zb3VyY2UuY2hhckNvZGVBdChuLmluZGV4KzMpO3JldHVybiBOW2ldJjY0fHxjKG4sNyksZT1XKHUpPDwxMnxXKHQpPDw4fFcobyk8PDR8VyhpKSxuLmN1cnJlbnRDaGFyPW4uc291cmNlLmNoYXJDb2RlQXQobi5pbmRleCs9NCksZX12YXIgWmU9WzEyOCwxMjgsMTI4LDEyOCwxMjgsMTI4LDEyOCwxMjgsMTI4LDEyNywxMzUsMTI3LDEyNywxMjksMTI4LDEyOCwxMjgsMTI4LDEyOCwxMjgsMTI4LDEyOCwxMjgsMTI4LDEyOCwxMjgsMTI4LDEyOCwxMjgsMTI4LDEyOCwxMjgsMTI3LDE2ODQyNzk4LDEzNDI4MzI2NywxMzAsMjA4ODk3LDgzOTE0NzcsODM5MDIxMywxMzQyODMyNjcsNjcxNzQ0MTEsMTYsODM5MTQ3NiwyNTIzMzk2OCwxOCwyNTIzMzk2OSw2NzEwODg3Nyw4NDU3MDE0LDEzNDI4MzI2NiwxMzQyODMyNjYsMTM0MjgzMjY2LDEzNDI4MzI2NiwxMzQyODMyNjYsMTM0MjgzMjY2LDEzNDI4MzI2NiwxMzQyODMyNjYsMTM0MjgzMjY2LDEzNDI4MzI2NiwyMSwxMDc0NzkwNDE3LDg0NTYyNTYsMTA3NzkzNjE1NSw4MzkwNzIxLDIyLDEzMiwyMDg4OTcsMjA4ODk3LDIwODg5NywyMDg4OTcsMjA4ODk3LDIwODg5NywyMDg4OTcsMjA4ODk3LDIwODg5NywyMDg4OTcsMjA4ODk3LDIwODg5NywyMDg4OTcsMjA4ODk3LDIwODg5NywyMDg4OTcsMjA4ODk3LDIwODg5NywyMDg4OTcsMjA4ODk3LDIwODg5NywyMDg4OTcsMjA4ODk3LDIwODg5NywyMDg4OTcsMjA4ODk3LDY5MjcxNTcxLDEzNiwyMCw4Mzg5OTU5LDIwODg5NywxMzEsNDA5Niw0MDk2LDQwOTYsNDA5Niw0MDk2LDQwOTYsNDA5NiwyMDg4OTcsNDA5NiwyMDg4OTcsMjA4ODk3LDQwOTYsMjA4ODk3LDQwOTYsMjA4ODk3LDQwOTYsMjA4ODk3LDQwOTYsNDA5Niw0MDk2LDIwODg5Nyw0MDk2LDQwOTYsMjA4ODk3LDQwOTYsNDA5NiwyMTYyNzAwLDgzODk3MDIsMTA3NDc5MDQxNSwxNjg0Mjc5OSwxMjhdO2Z1bmN0aW9uIGIobixlKXtuLmZsYWdzPShuLmZsYWdzfDEpXjEsbi5zdGFydEluZGV4PW4uaW5kZXgsbi5zdGFydENvbHVtbj1uLmNvbHVtbixuLnN0YXJ0TGluZT1uLmxpbmUsbi5zZXRUb2tlbih6bihuLGUsMCkpfWZ1bmN0aW9uIHpuKG4sZSx1KXtsZXQgdD1uLmluZGV4PT09MCx7c291cmNlOm99PW4saT1uLmluZGV4LGw9bi5saW5lLGY9bi5jb2x1bW47Zm9yKDtuLmluZGV4PG4uZW5kOyl7bi50b2tlbkluZGV4PW4uaW5kZXgsbi50b2tlbkNvbHVtbj1uLmNvbHVtbixuLnRva2VuTGluZT1uLmxpbmU7bGV0IGQ9bi5jdXJyZW50Q2hhcjtpZihkPD0xMjYpe2xldCBnPVplW2RdO3N3aXRjaChnKXtjYXNlIDY3MTc0NDExOmNhc2UgMTY6Y2FzZSAyMTYyNzAwOmNhc2UgMTA3NDc5MDQxNTpjYXNlIDY5MjcxNTcxOmNhc2UgMjA6Y2FzZSAyMTpjYXNlIDEwNzQ3OTA0MTc6Y2FzZSAxODpjYXNlIDE2ODQyNzk5OmNhc2UgMTMyOmNhc2UgMTI4OnJldHVybiBBKG4pLGc7Y2FzZSAyMDg4OTc6cmV0dXJuIHFuKG4sZSwwKTtjYXNlIDQwOTY6cmV0dXJuIHFuKG4sZSwxKTtjYXNlIDEzNDI4MzI2NjpyZXR1cm4gRm4obixlLDE0NCk7Y2FzZSAxMzQyODMyNjc6cmV0dXJuIEtlKG4sZSxkKTtjYXNlIDEzMTpyZXR1cm4gam4obixlKTtjYXNlIDEzNjpyZXR1cm4gX2UobixlKTtjYXNlIDEzMDpyZXR1cm4gWWUobik7Y2FzZSAxMjc6QShuKTticmVhaztjYXNlIDEyOTp1fD01LGsyKG4pO2JyZWFrO2Nhc2UgMTM1OnRuKG4sdSksdT11Ji01fDE7YnJlYWs7Y2FzZSA4NDU2MjU2OntsZXQgbT1BKG4pO2lmKG4uaW5kZXg8bi5lbmQpe2lmKG09PT02MClyZXR1cm4gbi5pbmRleDxuLmVuZCYmQShuKT09PTYxPyhBKG4pLDQxOTQzMzIpOjgzOTA5Nzg7aWYobT09PTYxKXJldHVybiBBKG4pLDgzOTA3MTg7aWYobT09PTMzKXtsZXQgeT1uLmluZGV4KzE7aWYoeSsxPG4uZW5kJiZvLmNoYXJDb2RlQXQoeSk9PT00NSYmby5jaGFyQ29kZUF0KHkrMSk9PTQ1KXtuLmNvbHVtbis9MyxuLmN1cnJlbnRDaGFyPW8uY2hhckNvZGVBdChuLmluZGV4Kz0zKSx1PUxuKG4sbyx1LGUsMixuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbiksaT1uLnRva2VuSW5kZXgsbD1uLnRva2VuTGluZSxmPW4udG9rZW5Db2x1bW47Y29udGludWV9cmV0dXJuIDg0NTYyNTZ9fXJldHVybiA4NDU2MjU2fWNhc2UgMTA3NzkzNjE1NTp7QShuKTtsZXQgbT1uLmN1cnJlbnRDaGFyO3JldHVybiBtPT09NjE/QShuKT09PTYxPyhBKG4pLDgzOTA0NTgpOjgzOTA0NjA6bT09PTYyPyhBKG4pLDEwKToxMDc3OTM2MTU1fWNhc2UgMTY4NDI3OTg6cmV0dXJuIEEobikhPT02MT8xNjg0Mjc5ODpBKG4pIT09NjE/ODM5MDQ2MTooQShuKSw4MzkwNDU5KTtjYXNlIDgzOTE0Nzc6cmV0dXJuIEEobikhPT02MT84MzkxNDc3OihBKG4pLDQxOTQzNDApO2Nhc2UgODM5MTQ3Njp7aWYoQShuKSxuLmluZGV4Pj1uLmVuZClyZXR1cm4gODM5MTQ3NjtsZXQgbT1uLmN1cnJlbnRDaGFyO3JldHVybiBtPT09NjE/KEEobiksNDE5NDMzOCk6bSE9PTQyPzgzOTE0NzY6QShuKSE9PTYxPzgzOTE3MzU6KEEobiksNDE5NDMzNSl9Y2FzZSA4Mzg5OTU5OnJldHVybiBBKG4pIT09NjE/ODM4OTk1OTooQShuKSw0MTk0MzQxKTtjYXNlIDI1MjMzOTY4OntBKG4pO2xldCBtPW4uY3VycmVudENoYXI7cmV0dXJuIG09PT00Mz8oQShuKSwzMzYxOTk5Myk6bT09PTYxPyhBKG4pLDQxOTQzMzYpOjI1MjMzOTY4fWNhc2UgMjUyMzM5Njk6e0Eobik7bGV0IG09bi5jdXJyZW50Q2hhcjtpZihtPT09NDUpe2lmKEEobiksKHUmMXx8dCkmJm4uY3VycmVudENoYXI9PT02Mil7ZSY2NHx8YyhuLDExMiksQShuKSx1PUxuKG4sbyx1LGUsMyxpLGwsZiksaT1uLnRva2VuSW5kZXgsbD1uLnRva2VuTGluZSxmPW4udG9rZW5Db2x1bW47Y29udGludWV9cmV0dXJuIDMzNjE5OTk0fXJldHVybiBtPT09NjE/KEEobiksNDE5NDMzNyk6MjUyMzM5Njl9Y2FzZSA4NDU3MDE0OntpZihBKG4pLG4uaW5kZXg8bi5lbmQpe2xldCBtPW4uY3VycmVudENoYXI7aWYobT09PTQ3KXtBKG4pLHU9b24obixvLHUsMCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbiksaT1uLnRva2VuSW5kZXgsbD1uLnRva2VuTGluZSxmPW4udG9rZW5Db2x1bW47Y29udGludWV9aWYobT09PTQyKXtBKG4pLHU9WGUobixvLHUpLGk9bi50b2tlbkluZGV4LGw9bi50b2tlbkxpbmUsZj1uLnRva2VuQ29sdW1uO2NvbnRpbnVlfWlmKGUmODE5MilyZXR1cm4gSGUobixlKTtpZihtPT09NjEpcmV0dXJuIEEobiksNDI1OTg3NX1yZXR1cm4gODQ1NzAxNH1jYXNlIDY3MTA4ODc3OntsZXQgbT1BKG4pO2lmKG0+PTQ4JiZtPD01NylyZXR1cm4gRm4obixlLDgwKTtpZihtPT09NDYpe2xldCB5PW4uaW5kZXgrMTtpZih5PG4uZW5kJiZvLmNoYXJDb2RlQXQoeSk9PT00NilyZXR1cm4gbi5jb2x1bW4rPTIsbi5jdXJyZW50Q2hhcj1vLmNoYXJDb2RlQXQobi5pbmRleCs9MiksMTR9cmV0dXJuIDY3MTA4ODc3fWNhc2UgODM4OTcwMjp7QShuKTtsZXQgbT1uLmN1cnJlbnRDaGFyO3JldHVybiBtPT09MTI0PyhBKG4pLG4uY3VycmVudENoYXI9PT02MT8oQShuKSw0MTk0MzQ0KTo4OTEzNDY1KTptPT09NjE/KEEobiksNDE5NDM0Mik6ODM4OTcwMn1jYXNlIDgzOTA3MjE6e0Eobik7bGV0IG09bi5jdXJyZW50Q2hhcjtpZihtPT09NjEpcmV0dXJuIEEobiksODM5MDcxOTtpZihtIT09NjIpcmV0dXJuIDgzOTA3MjE7aWYoQShuKSxuLmluZGV4PG4uZW5kKXtsZXQgeT1uLmN1cnJlbnRDaGFyO2lmKHk9PT02MilyZXR1cm4gQShuKT09PTYxPyhBKG4pLDQxOTQzMzQpOjgzOTA5ODA7aWYoeT09PTYxKXJldHVybiBBKG4pLDQxOTQzMzN9cmV0dXJuIDgzOTA5Nzl9Y2FzZSA4MzkwMjEzOntBKG4pO2xldCBtPW4uY3VycmVudENoYXI7cmV0dXJuIG09PT0zOD8oQShuKSxuLmN1cnJlbnRDaGFyPT09NjE/KEEobiksNDE5NDM0NSk6ODkxMzcyMCk6bT09PTYxPyhBKG4pLDQxOTQzNDMpOjgzOTAyMTN9Y2FzZSAyMjp7bGV0IG09QShuKTtpZihtPT09NjMpcmV0dXJuIEEobiksbi5jdXJyZW50Q2hhcj09PTYxPyhBKG4pLDQxOTQzNDYpOjI3NjgyNDQ0NTtpZihtPT09NDYpe2xldCB5PW4uaW5kZXgrMTtpZih5PG4uZW5kJiYobT1vLmNoYXJDb2RlQXQoeSksIShtPj00OCYmbTw9NTcpKSlyZXR1cm4gQShuKSw2NzEwODk5MH1yZXR1cm4gMjJ9fX1lbHNle2lmKChkXjgyMzIpPD0xKXt1PXUmLTV8MSxrMihuKTtjb250aW51ZX1sZXQgZz11bihuKTtpZihnPjAmJihkPWcpLFZuKGQpKXJldHVybiBuLnRva2VuVmFsdWU9XCJcIixsbihuLGUsMCwwKTtpZihVZShkKSl7QShuKTtjb250aW51ZX1jKG4sMjAsU3RyaW5nLmZyb21Db2RlUG9pbnQoZCkpfX1yZXR1cm4gMTA0ODU3Nn1mdW5jdGlvbiBHZShuLGUpe3JldHVybiBuLnN0YXJ0SW5kZXg9bi50b2tlbkluZGV4PW4uaW5kZXgsbi5zdGFydENvbHVtbj1uLnRva2VuQ29sdW1uPW4uY29sdW1uLG4uc3RhcnRMaW5lPW4udG9rZW5MaW5lPW4ubGluZSxuLnNldFRva2VuKE5bbi5jdXJyZW50Q2hhcl0mODE5Mj94ZShuLGUpOnpuKG4sZSwwKSksbi5nZXRUb2tlbigpfWZ1bmN0aW9uIHhlKG4sZSl7bGV0IHU9bi5jdXJyZW50Q2hhcix0PUEobiksbz1uLmluZGV4O2Zvcig7dCE9PXU7KW4uaW5kZXg+PW4uZW5kJiZjKG4sMTYpLHQ9QShuKTtyZXR1cm4gdCE9PXUmJmMobiwxNiksbi50b2tlblZhbHVlPW4uc291cmNlLnNsaWNlKG8sbi5pbmRleCksQShuKSxlJjEyOCYmKG4udG9rZW5SYXc9bi5zb3VyY2Uuc2xpY2Uobi50b2tlbkluZGV4LG4uaW5kZXgpKSwxMzQyODMyNjd9ZnVuY3Rpb24gdzIobixlKXtpZihuLnN0YXJ0SW5kZXg9bi50b2tlbkluZGV4PW4uaW5kZXgsbi5zdGFydENvbHVtbj1uLnRva2VuQ29sdW1uPW4uY29sdW1uLG4uc3RhcnRMaW5lPW4udG9rZW5MaW5lPW4ubGluZSxuLmluZGV4Pj1uLmVuZCl7bi5zZXRUb2tlbigxMDQ4NTc2KTtyZXR1cm59aWYobi5jdXJyZW50Q2hhcj09PTYwKXtBKG4pLG4uc2V0VG9rZW4oODQ1NjI1Nik7cmV0dXJufWlmKG4uY3VycmVudENoYXI9PT0xMjMpe0Eobiksbi5zZXRUb2tlbigyMTYyNzAwKTtyZXR1cm59bGV0IHU9MDtmb3IoO24uaW5kZXg8bi5lbmQ7KXtsZXQgbz1OW24uc291cmNlLmNoYXJDb2RlQXQobi5pbmRleCldO2lmKG8mMTAyND8odXw9NSxrMihuKSk6byYyMDQ4Pyh0bihuLHUpLHU9dSYtNXwxKTpBKG4pLE5bbi5jdXJyZW50Q2hhcl0mMTYzODQpYnJlYWt9bi50b2tlbkluZGV4PT09bi5pbmRleCYmYyhuLDApO2xldCB0PW4uc291cmNlLnNsaWNlKG4udG9rZW5JbmRleCxuLmluZGV4KTtlJjEyOCYmKG4udG9rZW5SYXc9dCksbi50b2tlblZhbHVlPXQsbi5zZXRUb2tlbigxMzcpfWZ1bmN0aW9uIHgyKG4pe2lmKChuLmdldFRva2VuKCkmMTQzMzYwKT09PTE0MzM2MCl7bGV0e2luZGV4OmV9PW4sdT1uLmN1cnJlbnRDaGFyO2Zvcig7Tlt1XSYzMjc3MDspdT1BKG4pO24udG9rZW5WYWx1ZSs9bi5zb3VyY2Uuc2xpY2UoZSxuLmluZGV4KX1yZXR1cm4gbi5zZXRUb2tlbigyMDg4OTcsITApLG4uZ2V0VG9rZW4oKX1mdW5jdGlvbiBLKG4sZSl7dmFyIHU7IShuLmZsYWdzJjEpJiYobi5nZXRUb2tlbigpJjEwNDg1NzYpIT09MTA0ODU3NiYmYyhuLDMwLFZbbi5nZXRUb2tlbigpJjI1NV0pLFAobixlLDEwNzQ3OTA0MTcpfHwodT1uLm9uSW5zZXJ0ZWRTZW1pY29sb24pPT1udWxsfHx1LmNhbGwobixuLnN0YXJ0SW5kZXgpfWZ1bmN0aW9uIEtuKG4sZSx1LHQpe3JldHVybiBlLXU8MTMmJnQ9PT1cInVzZSBzdHJpY3RcIiYmKChuLmdldFRva2VuKCkmMTA0ODU3Nik9PT0xMDQ4NTc2fHxuLmZsYWdzJjEpPzE6MH1mdW5jdGlvbiBmbihuLGUsdSl7cmV0dXJuIG4uZ2V0VG9rZW4oKSE9PXU/MDooYihuLGUpLDEpfWZ1bmN0aW9uIFAobixlLHUpe3JldHVybiBuLmdldFRva2VuKCkhPT11PyExOihiKG4sZSksITApfWZ1bmN0aW9uIEMobixlLHUpe24uZ2V0VG9rZW4oKSE9PXUmJmMobiwyNSxWW3UmMjU1XSksYihuLGUpfWZ1bmN0aW9uIHIobixlKXtzd2l0Y2goZS50eXBlKXtjYXNlXCJBcnJheUV4cHJlc3Npb25cIjp7ZS50eXBlPVwiQXJyYXlQYXR0ZXJuXCI7bGV0e2VsZW1lbnRzOnV9PWU7Zm9yKGxldCB0PTAsbz11Lmxlbmd0aDt0PG87Kyt0KXtsZXQgaT11W3RdO2kmJnIobixpKX1yZXR1cm59Y2FzZVwiT2JqZWN0RXhwcmVzc2lvblwiOntlLnR5cGU9XCJPYmplY3RQYXR0ZXJuXCI7bGV0e3Byb3BlcnRpZXM6dX09ZTtmb3IobGV0IHQ9MCxvPXUubGVuZ3RoO3Q8bzsrK3QpcihuLHVbdF0pO3JldHVybn1jYXNlXCJBc3NpZ25tZW50RXhwcmVzc2lvblwiOmUudHlwZT1cIkFzc2lnbm1lbnRQYXR0ZXJuXCIsZS5vcGVyYXRvciE9PVwiPVwiJiZjKG4sNzEpLGRlbGV0ZSBlLm9wZXJhdG9yLHIobixlLmxlZnQpO3JldHVybjtjYXNlXCJQcm9wZXJ0eVwiOnIobixlLnZhbHVlKTtyZXR1cm47Y2FzZVwiU3ByZWFkRWxlbWVudFwiOmUudHlwZT1cIlJlc3RFbGVtZW50XCIscihuLGUuYXJndW1lbnQpfX1mdW5jdGlvbiBKMihuLGUsdSx0LG8pe2UmMjU2JiYoKHQmMzY4NjQpPT09MzY4NjQmJmMobiwxMTgpLCFvJiYodCY1MzcwNzk4MDgpPT09NTM3MDc5ODA4JiZjKG4sMTE5KSksKCh0JjIwNDgwKT09PTIwNDgwfHx0PT09LTIxNDc0ODM1MjgpJiZjKG4sMTAyKSx1JjI0JiYodCYyNTUpPT09NzMmJmMobiwxMDApLGUmNTI0ODAwJiZ0PT09MjA5MDA2JiZjKG4sMTEwKSxlJjI2MjQwMCYmdD09PTI0MTc3MSYmYyhuLDk3LFwieWllbGRcIil9ZnVuY3Rpb24gJG4obixlLHUpe2UmMjU2JiYoKHUmMzY4NjQpPT09MzY4NjQmJmMobiwxMTgpLCh1JjUzNzA3OTgwOCk9PT01MzcwNzk4MDgmJmMobiwxMTkpLHU9PT0tMjE0NzQ4MzUyNyYmYyhuLDk1KSx1PT09LTIxNDc0ODM1MjgmJmMobiw5NSkpLCh1JjIwNDgwKT09PTIwNDgwJiZjKG4sMTAyKSxlJjUyNDgwMCYmdT09PTIwOTAwNiYmYyhuLDExMCksZSYyNjI0MDAmJnU9PT0yNDE3NzEmJmMobiw5NyxcInlpZWxkXCIpfWZ1bmN0aW9uIFduKG4sZSx1KXtyZXR1cm4gdT09PTIwOTAwNiYmKGUmNTI0ODAwJiZjKG4sMTEwKSxuLmRlc3RydWN0aWJsZXw9MTI4KSx1PT09MjQxNzcxJiZlJjI2MjE0NCYmYyhuLDk3LFwieWllbGRcIiksKHUmMjA0ODApPT09MjA0ODB8fCh1JjM2ODY0KT09PTM2ODY0fHx1PT0tMjE0NzQ4MzUyN31mdW5jdGlvbiByZShuKXtyZXR1cm4gbi5wcm9wZXJ0eT9uLnByb3BlcnR5LnR5cGU9PT1cIlByaXZhdGVJZGVudGlmaWVyXCI6ITF9ZnVuY3Rpb24gX24obixlLHUsdCl7Zm9yKDtlOyl7aWYoZVtcIiRcIit1XSlyZXR1cm4gdCYmYyhuLDEzNyksMTt0JiZlLmxvb3AmJih0PTApLGU9ZS4kfXJldHVybiAwfWZ1bmN0aW9uIHBlKG4sZSx1KXtsZXQgdD1lO2Zvcig7dDspdFtcIiRcIit1XSYmYyhuLDEzNix1KSx0PXQuJDtlW1wiJFwiK3VdPTF9ZnVuY3Rpb24gcyhuLGUsdSx0LG8saSl7cmV0dXJuIGUmMiYmKGkuc3RhcnQ9dSxpLmVuZD1uLnN0YXJ0SW5kZXgsaS5yYW5nZT1bdSxuLnN0YXJ0SW5kZXhdKSxlJjQmJihpLmxvYz17c3RhcnQ6e2xpbmU6dCxjb2x1bW46b30sZW5kOntsaW5lOm4uc3RhcnRMaW5lLGNvbHVtbjpuLnN0YXJ0Q29sdW1ufX0sbi5zb3VyY2VGaWxlJiYoaS5sb2Muc291cmNlPW4uc291cmNlRmlsZSkpLGl9ZnVuY3Rpb24gajIobil7c3dpdGNoKG4udHlwZSl7Y2FzZVwiSlNYSWRlbnRpZmllclwiOnJldHVybiBuLm5hbWU7Y2FzZVwiSlNYTmFtZXNwYWNlZE5hbWVcIjpyZXR1cm4gbi5uYW1lc3BhY2UrXCI6XCIrbi5uYW1lO2Nhc2VcIkpTWE1lbWJlckV4cHJlc3Npb25cIjpyZXR1cm4gajIobi5vYmplY3QpK1wiLlwiK2oyKG4ucHJvcGVydHkpfX1mdW5jdGlvbiBLMihuLGUsdSl7bGV0IHQ9aihhMigpLDEwMjQpO3JldHVybiBnMihuLGUsdCx1LDEsMCksdH1mdW5jdGlvbiByMihuLGUsLi4udSl7bGV0e2luZGV4OnQsbGluZTpvLGNvbHVtbjppLHRva2VuSW5kZXg6bCx0b2tlbkxpbmU6Zix0b2tlbkNvbHVtbjpkfT1uO3JldHVybnt0eXBlOmUscGFyYW1zOnUsaW5kZXg6dCxsaW5lOm8sY29sdW1uOmksdG9rZW5JbmRleDpsLHRva2VuTGluZTpmLHRva2VuQ29sdW1uOmR9fWZ1bmN0aW9uIGEyKCl7cmV0dXJue3BhcmVudDp2b2lkIDAsdHlwZToyfX1mdW5jdGlvbiBqKG4sZSl7cmV0dXJue3BhcmVudDpuLHR5cGU6ZSxzY29wZUVycm9yOnZvaWQgMH19ZnVuY3Rpb24gbnUobil7cmV0dXJue3BhcmVudDpuLHJlZnM6T2JqZWN0LmNyZWF0ZShudWxsKX19ZnVuY3Rpb24gbjIobixlLHUsdCxvLGkpe28mND9ZbihuLGUsdSx0LG8pOmcyKG4sZSx1LHQsbyxpKSxpJjY0JiZsMihuLHQpfWZ1bmN0aW9uIGcyKG4sZSx1LHQsbyxpKXtsZXQgbD11W1wiI1wiK3RdO2wmJiEobCYyKSYmKG8mMT91LnNjb3BlRXJyb3I9cjIobiwxNDUsdCk6ZSY2NCYmIShlJjI1NikmJmkmMiYmbD09PTY0JiZvPT09NjR8fGMobiwxNDUsdCkpLHUudHlwZSYxMjgmJnUucGFyZW50W1wiI1wiK3RdJiYhKHUucGFyZW50W1wiI1wiK3RdJjIpJiZjKG4sMTQ1LHQpLHUudHlwZSYxMDI0JiZsJiYhKGwmMikmJm8mMSYmKHUuc2NvcGVFcnJvcj1yMihuLDE0NSx0KSksdS50eXBlJjY0JiZ1LnBhcmVudFtcIiNcIit0XSY3NjgmJmMobiwxNTksdCksdVtcIiNcIit0XT1vfWZ1bmN0aW9uIFluKG4sZSx1LHQsbyl7bGV0IGk9dTtmb3IoO2kmJiEoaS50eXBlJjI1Nik7KXtsZXQgbD1pW1wiI1wiK3RdO2wmMjQ4JiYoZSY2NCYmIShlJjI1NikmJihvJjEyOCYmbCY2OHx8bCYxMjgmJm8mNjgpfHxjKG4sMTQ1LHQpKSxpPT09dSYmbCYxJiZvJjEmJihpLnNjb3BlRXJyb3I9cjIobiwxNDUsdCkpLChsJjI1Nnx8bCY1MTImJiEoZSY2NCkpJiZjKG4sMTQ1LHQpLGlbXCIjXCIrdF09byxpPWkucGFyZW50fX1mdW5jdGlvbiBldShuLGUsdSx0KXtsZXQgbz10JjgwMDtvJjc2OHx8KG98PTc2OCk7bGV0IGk9ZVtcIiNcIit1XTtpIT09dm9pZCAwJiYoKGkmMzIpIT09KG8mMzIpfHxpJm8mNzY4KSYmYyhuLDE0Nix1KSxlW1wiI1wiK3VdPWk/aXxvOm99ZnVuY3Rpb24gdXUobixlLHUpe3ZhciB0Oyh0PWUucmVmcylbdV0/Pyh0W3VdPVtdKSxlLnJlZnNbdV0ucHVzaCh7aW5kZXg6bi50b2tlbkluZGV4LGxpbmU6bi50b2tlbkxpbmUsY29sdW1uOm4udG9rZW5Db2x1bW59KX1mdW5jdGlvbiBRbihuLGUpe3JldHVybiBlW1wiI1wiK25dPzE6ZS5wYXJlbnQ/UW4obixlLnBhcmVudCk6MH1mdW5jdGlvbiB0dShuKXtmb3IobGV0IGUgaW4gbi5yZWZzKWlmKCFRbihlLG4pKXtsZXR7aW5kZXg6dSxsaW5lOnQsY29sdW1uOm99PW4ucmVmc1tlXVswXTt0aHJvdyBuZXcgbTIodSx0LG8sdStlLmxlbmd0aCx0LG8rZS5sZW5ndGgsNCxlKX19ZnVuY3Rpb24gbDIobixlKXtuLmV4cG9ydGVkTmFtZXMhPT12b2lkIDAmJmUhPT1cIlwiJiYobi5leHBvcnRlZE5hbWVzW1wiI1wiK2VdJiZjKG4sMTQ3LGUpLG4uZXhwb3J0ZWROYW1lc1tcIiNcIitlXT0xKX1mdW5jdGlvbiBpdShuLGUpe24uZXhwb3J0ZWRCaW5kaW5ncyE9PXZvaWQgMCYmZSE9PVwiXCImJihuLmV4cG9ydGVkQmluZGluZ3NbXCIjXCIrZV09MSl9ZnVuY3Rpb24gb3UobixlKXtyZXR1cm4gZnVuY3Rpb24odSx0LG8saSxsKXtsZXQgZj17dHlwZTp1LHZhbHVlOnR9O24mMiYmKGYuc3RhcnQ9byxmLmVuZD1pLGYucmFuZ2U9W28saV0pLG4mNCYmKGYubG9jPWwpLGUucHVzaChmKX19ZnVuY3Rpb24gbHUobixlKXtyZXR1cm4gZnVuY3Rpb24odSx0LG8saSl7bGV0IGw9e3Rva2VuOnV9O24mMiYmKGwuc3RhcnQ9dCxsLmVuZD1vLGwucmFuZ2U9W3Qsb10pLG4mNCYmKGwubG9jPWkpLGUucHVzaChsKX19ZnVuY3Rpb24gQjIobixlKXtyZXR1cm4gbiYyNjI0MDA/biY1MTImJmU9PT0yMDkwMDZ8fG4mMjYyMTQ0JiZlPT09MjQxNzcxPyExOihlJjEyMjg4KT09PTEyMjg4OihlJjEyMjg4KT09PTEyMjg4fHwoZSYzNjg2NCk9PT0zNjg2NH1mdW5jdGlvbiAkMihuLGUsdSl7KHUmNTM3MDc5ODA4KT09PTUzNzA3OTgwOCYmKGUmMjU2JiZjKG4sMTE5KSxuLmZsYWdzfD01MTIpLEIyKGUsdSl8fGMobiwwKX1mdW5jdGlvbiBmdShuLGUsdSx0LG8pe2xldCBpPTEwNDg1NzYsbD1udWxsO3JldHVybntzb3VyY2U6bixmbGFnczowLGluZGV4OjAsbGluZToxLGNvbHVtbjowLHN0YXJ0SW5kZXg6MCxlbmQ6bi5sZW5ndGgsdG9rZW5JbmRleDowLHN0YXJ0Q29sdW1uOjAsdG9rZW5Db2x1bW46MCx0b2tlbkxpbmU6MSxzdGFydExpbmU6MSxzb3VyY2VGaWxlOmUsdG9rZW5WYWx1ZTpcIlwiLGdldFRva2VuKCl7cmV0dXJuIGl9LHNldFRva2VuKGYsZD0hMSl7aWYodClpZihmIT09MTA0ODU3Nil7bGV0IGc9e3N0YXJ0OntsaW5lOnRoaXMudG9rZW5MaW5lLGNvbHVtbjp0aGlzLnRva2VuQ29sdW1ufSxlbmQ6e2xpbmU6dGhpcy5saW5lLGNvbHVtbjp0aGlzLmNvbHVtbn19OyFkJiZsJiZ0KC4uLmwpLGw9W01lKGYpLHRoaXMudG9rZW5JbmRleCx0aGlzLmluZGV4LGddfWVsc2UgbCYmKHQoLi4ubCksbD1udWxsKTtyZXR1cm4gaT1mfSx0b2tlblJhdzpcIlwiLHRva2VuUmVnRXhwOnZvaWQgMCxjdXJyZW50Q2hhcjpuLmNoYXJDb2RlQXQoMCksZXhwb3J0ZWROYW1lczpbXSxleHBvcnRlZEJpbmRpbmdzOltdLGFzc2lnbmFibGU6MSxkZXN0cnVjdGlibGU6MCxvbkNvbW1lbnQ6dSxvblRva2VuOnQsb25JbnNlcnRlZFNlbWljb2xvbjpvLGxlYWRpbmdEZWNvcmF0b3JzOltdfX1mdW5jdGlvbiBkdShuLGUsdSl7bGV0IHQ9XCJcIixvLGksbDtlIT1udWxsJiYoZS5tb2R1bGUmJih1fD03NjgpLGUubmV4dCYmKHV8PTEpLGUubG9jJiYodXw9NCksZS5yYW5nZXMmJih1fD0yKSxlLnVuaXF1ZUtleUluUGF0dGVybiYmKHV8PTEzNDIxNzcyOCksZS5sZXhpY2FsJiYodXw9MTYpLGUud2ViY29tcGF0JiYodXw9NjQpLGUuZ2xvYmFsUmV0dXJuJiYodXw9MTA0ODU3NiksZS5yYXcmJih1fD0xMjgpLGUucHJlc2VydmVQYXJlbnMmJih1fD0zMiksZS5pbXBsaWVkU3RyaWN0JiYodXw9MjU2KSxlLmpzeCYmKHV8PTgpLGUuc291cmNlJiYodD1lLnNvdXJjZSksZS5vbkNvbW1lbnQhPW51bGwmJihvPUFycmF5LmlzQXJyYXkoZS5vbkNvbW1lbnQpP291KHUsZS5vbkNvbW1lbnQpOmUub25Db21tZW50KSxlLm9uSW5zZXJ0ZWRTZW1pY29sb24hPW51bGwmJihpPWUub25JbnNlcnRlZFNlbWljb2xvbiksZS5vblRva2VuIT1udWxsJiYobD1BcnJheS5pc0FycmF5KGUub25Ub2tlbik/bHUodSxlLm9uVG9rZW4pOmUub25Ub2tlbikpO2xldCBmPWZ1KG4sdCxvLGwsaSk7amUoZik7bGV0IGQ9dSYxNj9hMigpOnZvaWQgMCxnPVtdLG09XCJzY3JpcHRcIjtpZih1JjUxMil7aWYobT1cIm1vZHVsZVwiLGc9Y3UoZix1fDIwNDgsZCksZClmb3IobGV0IGEgaW4gZi5leHBvcnRlZEJpbmRpbmdzKWFbMF09PT1cIiNcIiYmIWRbYV0mJmMoZiwxNDgsYS5zbGljZSgxKSl9ZWxzZSBnPWd1KGYsdXwyMDQ4LGQpO2xldCB5PXt0eXBlOlwiUHJvZ3JhbVwiLHNvdXJjZVR5cGU6bSxib2R5Omd9O3JldHVybiB1JjImJih5LnN0YXJ0PTAseS5lbmQ9bi5sZW5ndGgseS5yYW5nZT1bMCxuLmxlbmd0aF0pLHUmNCYmKHkubG9jPXtzdGFydDp7bGluZToxLGNvbHVtbjowfSxlbmQ6e2xpbmU6Zi5saW5lLGNvbHVtbjpmLmNvbHVtbn19LGYuc291cmNlRmlsZSYmKHkubG9jLnNvdXJjZT10KSkseX1mdW5jdGlvbiBndShuLGUsdSl7YihuLGV8ODE5Mnw2NzEwODg2NCk7bGV0IHQ9W107Zm9yKDtuLmdldFRva2VuKCk9PT0xMzQyODMyNjc7KXtsZXR7aW5kZXg6byx0b2tlbkluZGV4OmksdG9rZW5WYWx1ZTpsLHRva2VuTGluZTpmLHRva2VuQ29sdW1uOmR9PW4sZz1uLmdldFRva2VuKCksbT1IKG4sZSk7S24obixvLGksbCkmJihlfD0yNTYsbi5mbGFncyY2NCYmJChuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbixuLmluZGV4LG4ubGluZSxuLmNvbHVtbiw5KSxuLmZsYWdzJjQwOTYmJiQobi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4sbi5pbmRleCxuLmxpbmUsbi5jb2x1bW4sMTUpKSx0LnB1c2goZ24obixlLG0sZyxpLGYsZCkpfWZvcig7bi5nZXRUb2tlbigpIT09MTA0ODU3NjspdC5wdXNoKEkyKG4sZSx1LHZvaWQgMCw0LHt9KSk7cmV0dXJuIHR9ZnVuY3Rpb24gY3UobixlLHUpe2IobixlfDgxOTIpO2xldCB0PVtdO2Zvcig7bi5nZXRUb2tlbigpPT09MTM0MjgzMjY3Oyl7bGV0e3Rva2VuSW5kZXg6byx0b2tlbkxpbmU6aSx0b2tlbkNvbHVtbjpsfT1uLGY9bi5nZXRUb2tlbigpO3QucHVzaChnbihuLGUsSChuLGUpLGYsbyxpLGwpKX1mb3IoO24uZ2V0VG9rZW4oKSE9PTEwNDg1NzY7KXQucHVzaChtdShuLGUsdSkpO3JldHVybiB0fWZ1bmN0aW9uIG11KG4sZSx1KXtuLmxlYWRpbmdEZWNvcmF0b3JzPVkyKG4sZSx2b2lkIDApO2xldCB0O3N3aXRjaChuLmdldFRva2VuKCkpe2Nhc2UgMjA1NjQ6dD12dShuLGUsdSk7YnJlYWs7Y2FzZSA4NjEwNjp0PVN1KG4sZSx1KTticmVhaztkZWZhdWx0OnQ9STIobixlLHUsdm9pZCAwLDQse30pfXJldHVybiBuLmxlYWRpbmdEZWNvcmF0b3JzLmxlbmd0aCYmYyhuLDE3MCksdH1mdW5jdGlvbiBJMihuLGUsdSx0LG8saSl7bGV0IGw9bi50b2tlbkluZGV4LGY9bi50b2tlbkxpbmUsZD1uLnRva2VuQ29sdW1uO3N3aXRjaChuLmdldFRva2VuKCkpe2Nhc2UgODYxMDQ6cmV0dXJuIGQyKG4sZSx1LHQsbywxLDAsMCxsLGYsZCk7Y2FzZSAxMzI6Y2FzZSA4NjA5NDpyZXR1cm4gZW4obixlLHUsdCwwLGwsZixkKTtjYXNlIDg2MDkwOnJldHVybiBwMihuLGUsdSx0LDE2LDAsbCxmLGQpO2Nhc2UgMjQxNzM3OnJldHVybiBGdShuLGUsdSx0LG8sbCxmLGQpO2Nhc2UgMjA1NjQ6YyhuLDEwMyxcImV4cG9ydFwiKTtjYXNlIDg2MTA2OnN3aXRjaChiKG4sZSksbi5nZXRUb2tlbigpKXtjYXNlIDY3MTc0NDExOnJldHVybiBwbihuLGUsdCxsLGYsZCk7Y2FzZSA2NzEwODg3NzpyZXR1cm4gcm4obixlLGwsZixkKTtkZWZhdWx0OmMobiwxMDMsXCJpbXBvcnRcIil9Y2FzZSAyMDkwMDU6cmV0dXJuIFpuKG4sZSx1LHQsbyxpLDEsbCxmLGQpO2RlZmF1bHQ6cmV0dXJuIEwyKG4sZSx1LHQsbyxpLDEsbCxmLGQpfX1mdW5jdGlvbiBMMihuLGUsdSx0LG8saSxsLGYsZCxnKXtzd2l0Y2gobi5nZXRUb2tlbigpKXtjYXNlIDg2MDg4OnJldHVybiBHbihuLGUsdSx0LDAsZixkLGcpO2Nhc2UgMjA1NzI6cmV0dXJuIGF1KG4sZSx0LGYsZCxnKTtjYXNlIDIwNTY5OnJldHVybiBodShuLGUsdSx0LGksZixkLGcpO2Nhc2UgMjA1Njc6cmV0dXJuIHF1KG4sZSx1LHQsaSxmLGQsZyk7Y2FzZSAyMDU2MjpyZXR1cm4gTHUobixlLHUsdCxpLGYsZCxnKTtjYXNlIDIwNTc4OnJldHVybiBidShuLGUsdSx0LGksZixkLGcpO2Nhc2UgODYxMTA6cmV0dXJuIEF1KG4sZSx1LHQsaSxmLGQsZyk7Y2FzZSAxMDc0NzkwNDE3OnJldHVybiB5dShuLGUsZixkLGcpO2Nhc2UgMjE2MjcwMDpyZXR1cm4gRTIobixlLHUmJmoodSwyKSx0LGksZixkLGcpO2Nhc2UgODYxMTI6cmV0dXJuIHN1KG4sZSx0LGYsZCxnKTtjYXNlIDIwNTU1OnJldHVybiBUdShuLGUsaSxmLGQsZyk7Y2FzZSAyMDU1OTpyZXR1cm4gRHUobixlLGksZixkLGcpO2Nhc2UgMjA1Nzc6cmV0dXJuIHd1KG4sZSx1LHQsaSxmLGQsZyk7Y2FzZSAyMDU3OTpyZXR1cm4gQ3UobixlLHUsdCxpLGYsZCxnKTtjYXNlIDIwNTYwOnJldHVybiBFdShuLGUsZixkLGcpO2Nhc2UgMjA5MDA1OnJldHVybiBabihuLGUsdSx0LG8saSwwLGYsZCxnKTtjYXNlIDIwNTU3OmMobiwxNjIpO2Nhc2UgMjA1NjY6YyhuLDE2Myk7Y2FzZSA4NjEwNDpjKG4sZSYyNTY/NzY6ZSY2ND83Nzo3OCk7Y2FzZSA4NjA5NDpjKG4sNzkpO2RlZmF1bHQ6cmV0dXJuIGt1KG4sZSx1LHQsbyxpLGwsZixkLGcpfX1mdW5jdGlvbiBrdShuLGUsdSx0LG8saSxsLGYsZCxnKXtsZXR7dG9rZW5WYWx1ZTptfT1uLHk9bi5nZXRUb2tlbigpLGE7c3dpdGNoKHkpe2Nhc2UgMjQxNzM3OmE9UihuLGUpLGUmMjU2JiZjKG4sODUpLG4uZ2V0VG9rZW4oKT09PTY5MjcxNTcxJiZjKG4sODQpO2JyZWFrO2RlZmF1bHQ6YT1fKG4sZSx0LDIsMCwxLDAsMSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbil9cmV0dXJuIHkmMTQzMzYwJiZuLmdldFRva2VuKCk9PT0yMT9kbihuLGUsdSx0LG8saSxtLGEseSxsLGYsZCxnKTooYT1PKG4sZSx0LGEsMCwwLGYsZCxnKSxhPUoobixlLHQsMCwwLGYsZCxnLGEpLG4uZ2V0VG9rZW4oKT09PTE4JiYoYT1lMihuLGUsdCwwLGYsZCxnLGEpKSxBMihuLGUsYSxmLGQsZykpfWZ1bmN0aW9uIEUyKG4sZSx1LHQsbyxpLGwsZil7bGV0IGQ9W107Zm9yKEMobixlfDgxOTIsMjE2MjcwMCk7bi5nZXRUb2tlbigpIT09MTA3NDc5MDQxNTspZC5wdXNoKEkyKG4sZSx1LHQsMix7JDpvfSkpO3JldHVybiBDKG4sZXw4MTkyLDEwNzQ3OTA0MTUpLHMobixlLGksbCxmLHt0eXBlOlwiQmxvY2tTdGF0ZW1lbnRcIixib2R5OmR9KX1mdW5jdGlvbiBhdShuLGUsdSx0LG8saSl7ZSYxMDQ4NTc2fHxjKG4sOTIpLGIobixlfDgxOTIpO2xldCBsPW4uZmxhZ3MmMXx8bi5nZXRUb2tlbigpJjEwNDg1NzY/bnVsbDp6KG4sZSx1LDAsMSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbik7cmV0dXJuIEsobixlfDgxOTIpLHMobixlLHQsbyxpLHt0eXBlOlwiUmV0dXJuU3RhdGVtZW50XCIsYXJndW1lbnQ6bH0pfWZ1bmN0aW9uIEEyKG4sZSx1LHQsbyxpKXtyZXR1cm4gSyhuLGV8ODE5MikscyhuLGUsdCxvLGkse3R5cGU6XCJFeHByZXNzaW9uU3RhdGVtZW50XCIsZXhwcmVzc2lvbjp1fSl9ZnVuY3Rpb24gZG4obixlLHUsdCxvLGksbCxmLGQsZyxtLHksYSl7SjIobixlLDAsZCwxKSxwZShuLGksbCksYihuLGV8ODE5Mik7bGV0IGs9ZyYmIShlJjI1NikmJmUmNjQmJm4uZ2V0VG9rZW4oKT09PTg2MTA0P2QyKG4sZSxqKHUsMiksdCxvLDAsMCwwLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKTpMMihuLGUsdSx0LG8saSxnLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKTtyZXR1cm4gcyhuLGUsbSx5LGEse3R5cGU6XCJMYWJlbGVkU3RhdGVtZW50XCIsbGFiZWw6Zixib2R5Omt9KX1mdW5jdGlvbiBabihuLGUsdSx0LG8saSxsLGYsZCxnKXtsZXR7dG9rZW5WYWx1ZTptfT1uLHk9bi5nZXRUb2tlbigpLGE9UihuLGUpO2lmKG4uZ2V0VG9rZW4oKT09PTIxKXJldHVybiBkbihuLGUsdSx0LG8saSxtLGEseSwxLGYsZCxnKTtsZXQgaz1uLmZsYWdzJjE7aWYoIWspe2lmKG4uZ2V0VG9rZW4oKT09PTg2MTA0KXJldHVybiBsfHxjKG4sMTIzKSxkMihuLGUsdSx0LG8sMSwwLDEsZixkLGcpO2lmKEIyKGUsbi5nZXRUb2tlbigpKSlyZXR1cm4gYT1sZShuLGUsdCwxLGYsZCxnKSxuLmdldFRva2VuKCk9PT0xOCYmKGE9ZTIobixlLHQsMCxmLGQsZyxhKSksQTIobixlLGEsZixkLGcpfXJldHVybiBuLmdldFRva2VuKCk9PT02NzE3NDQxMT9hPXNuKG4sZSx0LGEsMSwxLDAsayxmLGQsZyk6KG4uZ2V0VG9rZW4oKT09PTEwJiYoJDIobixlLHkpLCh5JjM2ODY0KT09PTM2ODY0JiYobi5mbGFnc3w9MjU2KSxhPV8yKG4sZXw1MjQyODgsdCxuLnRva2VuVmFsdWUsYSwwLDEsMCxmLGQsZykpLG4uYXNzaWduYWJsZT0xKSxhPU8obixlLHQsYSwwLDAsZixkLGcpLGE9SihuLGUsdCwwLDAsZixkLGcsYSksbi5hc3NpZ25hYmxlPTEsbi5nZXRUb2tlbigpPT09MTgmJihhPWUyKG4sZSx0LDAsZixkLGcsYSkpLEEyKG4sZSxhLGYsZCxnKX1mdW5jdGlvbiBnbihuLGUsdSx0LG8saSxsKXtsZXQgZj1uLnN0YXJ0SW5kZXg7cmV0dXJuIHQhPT0xMDc0NzkwNDE3JiYobi5hc3NpZ25hYmxlPTIsdT1PKG4sZSx2b2lkIDAsdSwwLDAsbyxpLGwpLG4uZ2V0VG9rZW4oKSE9PTEwNzQ3OTA0MTcmJih1PUoobixlLHZvaWQgMCwwLDAsbyxpLGwsdSksbi5nZXRUb2tlbigpPT09MTgmJih1PWUyKG4sZSx2b2lkIDAsMCxvLGksbCx1KSkpLEsobixlfDgxOTIpKSx1LnR5cGU9PT1cIkxpdGVyYWxcIiYmdHlwZW9mIHUudmFsdWU9PVwic3RyaW5nXCI/cyhuLGUsbyxpLGwse3R5cGU6XCJFeHByZXNzaW9uU3RhdGVtZW50XCIsZXhwcmVzc2lvbjp1LGRpcmVjdGl2ZTpuLnNvdXJjZS5zbGljZShvKzEsZi0xKX0pOnMobixlLG8saSxsLHt0eXBlOlwiRXhwcmVzc2lvblN0YXRlbWVudFwiLGV4cHJlc3Npb246dX0pfWZ1bmN0aW9uIHl1KG4sZSx1LHQsbyl7cmV0dXJuIGIobixlfDgxOTIpLHMobixlLHUsdCxvLHt0eXBlOlwiRW1wdHlTdGF0ZW1lbnRcIn0pfWZ1bmN0aW9uIHN1KG4sZSx1LHQsbyxpKXtiKG4sZXw4MTkyKSxuLmZsYWdzJjEmJmMobiw5MCk7bGV0IGw9eihuLGUsdSwwLDEsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pO3JldHVybiBLKG4sZXw4MTkyKSxzKG4sZSx0LG8saSx7dHlwZTpcIlRocm93U3RhdGVtZW50XCIsYXJndW1lbnQ6bH0pfWZ1bmN0aW9uIGh1KG4sZSx1LHQsbyxpLGwsZil7YihuLGUpLEMobixlfDgxOTIsNjcxNzQ0MTEpLG4uYXNzaWduYWJsZT0xO2xldCBkPXoobixlLHQsMCwxLG4udG9rZW5JbmRleCxuLmxpbmUsbi50b2tlbkNvbHVtbik7QyhuLGV8ODE5MiwxNik7bGV0IGc9U24obixlLHUsdCxvLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKSxtPW51bGw7cmV0dXJuIG4uZ2V0VG9rZW4oKT09PTIwNTYzJiYoYihuLGV8ODE5MiksbT1TbihuLGUsdSx0LG8sbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pKSxzKG4sZSxpLGwsZix7dHlwZTpcIklmU3RhdGVtZW50XCIsdGVzdDpkLGNvbnNlcXVlbnQ6ZyxhbHRlcm5hdGU6bX0pfWZ1bmN0aW9uIFNuKG4sZSx1LHQsbyxpLGwsZil7cmV0dXJuIGUmMjU2fHwhKGUmNjQpfHxuLmdldFRva2VuKCkhPT04NjEwND9MMihuLGUsdSx0LDAseyQ6b30sMCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbik6ZDIobixlLGoodSwyKSx0LDAsMCwwLDAsaSxsLGYpfWZ1bmN0aW9uIEF1KG4sZSx1LHQsbyxpLGwsZil7YihuLGUpLEMobixlfDgxOTIsNjcxNzQ0MTEpO2xldCBkPXoobixlLHQsMCwxLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKTtDKG4sZSwxNiksQyhuLGUsMjE2MjcwMCk7bGV0IGc9W10sbT0wO2Zvcih1JiYodT1qKHUsOCkpO24uZ2V0VG9rZW4oKSE9PTEwNzQ3OTA0MTU7KXtsZXR7dG9rZW5JbmRleDp5LHRva2VuTGluZTphLHRva2VuQ29sdW1uOmt9PW4saD1udWxsLFQ9W107Zm9yKFAobixlfDgxOTIsMjA1NTYpP2g9eihuLGUsdCwwLDEsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pOihDKG4sZXw4MTkyLDIwNTYxKSxtJiZjKG4sODkpLG09MSksQyhuLGV8ODE5MiwyMSk7bi5nZXRUb2tlbigpIT09MjA1NTYmJm4uZ2V0VG9rZW4oKSE9PTEwNzQ3OTA0MTUmJm4uZ2V0VG9rZW4oKSE9PTIwNTYxOylULnB1c2goSTIobixlfDEwMjQsdSx0LDIseyQ6b30pKTtnLnB1c2gocyhuLGUseSxhLGsse3R5cGU6XCJTd2l0Y2hDYXNlXCIsdGVzdDpoLGNvbnNlcXVlbnQ6VH0pKX1yZXR1cm4gQyhuLGV8ODE5MiwxMDc0NzkwNDE1KSxzKG4sZSxpLGwsZix7dHlwZTpcIlN3aXRjaFN0YXRlbWVudFwiLGRpc2NyaW1pbmFudDpkLGNhc2VzOmd9KX1mdW5jdGlvbiBidShuLGUsdSx0LG8saSxsLGYpe2IobixlKSxDKG4sZXw4MTkyLDY3MTc0NDExKTtsZXQgZD16KG4sZSx0LDAsMSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbik7QyhuLGV8ODE5MiwxNik7bGV0IGc9QzIobixlLHUsdCxvKTtyZXR1cm4gcyhuLGUsaSxsLGYse3R5cGU6XCJXaGlsZVN0YXRlbWVudFwiLHRlc3Q6ZCxib2R5Omd9KX1mdW5jdGlvbiBDMihuLGUsdSx0LG8pe3JldHVybiBMMihuLChlfDMzNTU0NDMyKV4zMzU1NDQzMnwzMjc2OCx1LHQsMCx7bG9vcDoxLCQ6b30sMCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbil9ZnVuY3Rpb24gRHUobixlLHUsdCxvLGkpe2UmMzI3Njh8fGMobiw2OCksYihuLGUpO2xldCBsPW51bGw7aWYoIShuLmZsYWdzJjEpJiZuLmdldFRva2VuKCkmMTQzMzYwKXtsZXR7dG9rZW5WYWx1ZTpmfT1uO2w9UihuLGV8ODE5MiksX24obix1LGYsMSl8fGMobiwxMzgsZil9cmV0dXJuIEsobixlfDgxOTIpLHMobixlLHQsbyxpLHt0eXBlOlwiQ29udGludWVTdGF0ZW1lbnRcIixsYWJlbDpsfSl9ZnVuY3Rpb24gVHUobixlLHUsdCxvLGkpe2IobixlfDgxOTIpO2xldCBsPW51bGw7aWYoIShuLmZsYWdzJjEpJiZuLmdldFRva2VuKCkmMTQzMzYwKXtsZXR7dG9rZW5WYWx1ZTpmfT1uO2w9UihuLGV8ODE5MiksX24obix1LGYsMCl8fGMobiwxMzgsZil9ZWxzZSBlJjMzNzkyfHxjKG4sNjkpO3JldHVybiBLKG4sZXw4MTkyKSxzKG4sZSx0LG8saSx7dHlwZTpcIkJyZWFrU3RhdGVtZW50XCIsbGFiZWw6bH0pfWZ1bmN0aW9uIEN1KG4sZSx1LHQsbyxpLGwsZil7YihuLGUpLGUmMjU2JiZjKG4sOTEpLEMobixlfDgxOTIsNjcxNzQ0MTEpO2xldCBkPXoobixlLHQsMCwxLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKTtDKG4sZXw4MTkyLDE2KTtsZXQgZz1MMihuLGUsdSx0LDIsbywwLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKTtyZXR1cm4gcyhuLGUsaSxsLGYse3R5cGU6XCJXaXRoU3RhdGVtZW50XCIsb2JqZWN0OmQsYm9keTpnfSl9ZnVuY3Rpb24gRXUobixlLHUsdCxvKXtyZXR1cm4gYihuLGV8ODE5MiksSyhuLGV8ODE5MikscyhuLGUsdSx0LG8se3R5cGU6XCJEZWJ1Z2dlclN0YXRlbWVudFwifSl9ZnVuY3Rpb24gd3UobixlLHUsdCxvLGksbCxmKXtiKG4sZXw4MTkyKTtsZXQgZD11P2oodSwzMik6dm9pZCAwLGc9RTIobixlLGQsdCx7JDpvfSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbikse3Rva2VuSW5kZXg6bSx0b2tlbkxpbmU6eSx0b2tlbkNvbHVtbjphfT1uLGs9UChuLGV8ODE5MiwyMDU1Nyk/QnUobixlLHUsdCxvLG0seSxhKTpudWxsLGg9bnVsbDtpZihuLmdldFRva2VuKCk9PT0yMDU2Nil7YihuLGV8ODE5Mik7bGV0IFQ9ZD9qKHUsNCk6dm9pZCAwO2g9RTIobixlLFQsdCx7JDpvfSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbil9cmV0dXJuIWsmJiFoJiZjKG4sODgpLHMobixlLGksbCxmLHt0eXBlOlwiVHJ5U3RhdGVtZW50XCIsYmxvY2s6ZyxoYW5kbGVyOmssZmluYWxpemVyOmh9KX1mdW5jdGlvbiBCdShuLGUsdSx0LG8saSxsLGYpe2xldCBkPW51bGwsZz11O1AobixlLDY3MTc0NDExKSYmKHUmJih1PWoodSw0KSksZD1nZShuLGUsdSx0LChuLmdldFRva2VuKCkmMjA5NzE1Mik9PT0yMDk3MTUyPzI1Njo1MTIsMCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbiksbi5nZXRUb2tlbigpPT09MTg/YyhuLDg2KTpuLmdldFRva2VuKCk9PT0xMDc3OTM2MTU1JiZjKG4sODcpLEMobixlfDgxOTIsMTYpKSx1JiYoZz1qKHUsNjQpKTtsZXQgbT1FMihuLGUsZyx0LHskOm99LG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKTtyZXR1cm4gcyhuLGUsaSxsLGYse3R5cGU6XCJDYXRjaENsYXVzZVwiLHBhcmFtOmQsYm9keTptfSl9ZnVuY3Rpb24gSXUobixlLHUsdCxvLGksbCl7dSYmKHU9aih1LDIpKTtsZXQgZj0xNDc1NTg0O2U9KGV8ZileZnw2NTUzNnw1MjQyODh8MjY4NDM1NDU2fDE2Nzc3MjE2O2xldHtib2R5OmR9PUUyKG4sZSx1LHQse30sbyxpLGwpO3JldHVybiBzKG4sZSxvLGksbCx7dHlwZTpcIlN0YXRpY0Jsb2NrXCIsYm9keTpkfSl9ZnVuY3Rpb24gTHUobixlLHUsdCxvLGksbCxmKXtiKG4sZXw4MTkyKTtsZXQgZD1DMihuLGUsdSx0LG8pO0MobixlLDIwNTc4KSxDKG4sZXw4MTkyLDY3MTc0NDExKTtsZXQgZz16KG4sZSx0LDAsMSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbik7cmV0dXJuIEMobixlfDgxOTIsMTYpLFAobixlfDgxOTIsMTA3NDc5MDQxNykscyhuLGUsaSxsLGYse3R5cGU6XCJEb1doaWxlU3RhdGVtZW50XCIsYm9keTpkLHRlc3Q6Z30pfWZ1bmN0aW9uIEZ1KG4sZSx1LHQsbyxpLGwsZil7bGV0e3Rva2VuVmFsdWU6ZH09bixnPW4uZ2V0VG9rZW4oKSxtPVIobixlKTtpZihuLmdldFRva2VuKCkmMjI0MDUxMil7bGV0IHk9czIobixlLHUsdCw4LDApO3JldHVybiBLKG4sZXw4MTkyKSxzKG4sZSxpLGwsZix7dHlwZTpcIlZhcmlhYmxlRGVjbGFyYXRpb25cIixraW5kOlwibGV0XCIsZGVjbGFyYXRpb25zOnl9KX1pZihuLmFzc2lnbmFibGU9MSxlJjI1NiYmYyhuLDg1KSxuLmdldFRva2VuKCk9PT0yMSlyZXR1cm4gZG4obixlLHUsdCxvLHt9LGQsbSxnLDAsaSxsLGYpO2lmKG4uZ2V0VG9rZW4oKT09PTEwKXtsZXQgeTtlJjE2JiYoeT1LMihuLGUsZCkpLG4uZmxhZ3M9KG4uZmxhZ3N8MTI4KV4xMjgsbT1GMihuLGUseSx0LFttXSwwLGksbCxmKX1lbHNlIG09TyhuLGUsdCxtLDAsMCxpLGwsZiksbT1KKG4sZSx0LDAsMCxpLGwsZixtKTtyZXR1cm4gbi5nZXRUb2tlbigpPT09MTgmJihtPWUyKG4sZSx0LDAsaSxsLGYsbSkpLEEyKG4sZSxtLGksbCxmKX1mdW5jdGlvbiBwMihuLGUsdSx0LG8saSxsLGYsZCl7YihuLGUpO2xldCBnPXMyKG4sZSx1LHQsbyxpKTtyZXR1cm4gSyhuLGV8ODE5MikscyhuLGUsbCxmLGQse3R5cGU6XCJWYXJpYWJsZURlY2xhcmF0aW9uXCIsa2luZDpvJjg/XCJsZXRcIjpcImNvbnN0XCIsZGVjbGFyYXRpb25zOmd9KX1mdW5jdGlvbiBHbihuLGUsdSx0LG8saSxsLGYpe2IobixlKTtsZXQgZD1zMihuLGUsdSx0LDQsbyk7cmV0dXJuIEsobixlfDgxOTIpLHMobixlLGksbCxmLHt0eXBlOlwiVmFyaWFibGVEZWNsYXJhdGlvblwiLGtpbmQ6XCJ2YXJcIixkZWNsYXJhdGlvbnM6ZH0pfWZ1bmN0aW9uIHMyKG4sZSx1LHQsbyxpKXtsZXQgbD0xLGY9W1BuKG4sZSx1LHQsbyxpKV07Zm9yKDtQKG4sZSwxOCk7KWwrKyxmLnB1c2goUG4obixlLHUsdCxvLGkpKTtyZXR1cm4gbD4xJiZpJjMyJiZuLmdldFRva2VuKCkmMjYyMTQ0JiZjKG4sNjEsVltuLmdldFRva2VuKCkmMjU1XSksZn1mdW5jdGlvbiBQbihuLGUsdSx0LG8saSl7bGV0e3Rva2VuSW5kZXg6bCx0b2tlbkxpbmU6Zix0b2tlbkNvbHVtbjpkfT1uLGc9bi5nZXRUb2tlbigpLG09bnVsbCx5PWdlKG4sZSx1LHQsbyxpLGwsZixkKTtyZXR1cm4gbi5nZXRUb2tlbigpPT09MTA3NzkzNjE1NT8oYihuLGV8ODE5MiksbT1NKG4sZSx0LDEsMCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbiksKGkmMzJ8fCEoZyYyMDk3MTUyKSkmJihuLmdldFRva2VuKCk9PT0yNzQ1NDh8fG4uZ2V0VG9rZW4oKT09PTg2NzMzMzAmJihnJjIwOTcxNTJ8fCEobyY0KXx8ZSYyNTYpKSYmJChsLGYsZCxuLmluZGV4LG4ubGluZSxuLmNvbHVtbiw2MCxuLmdldFRva2VuKCk9PT0yNzQ1NDg/XCJvZlwiOlwiaW5cIikpOihvJjE2fHwoZyYyMDk3MTUyKT4wKSYmKG4uZ2V0VG9rZW4oKSYyNjIxNDQpIT09MjYyMTQ0JiZjKG4sNTksbyYxNj9cImNvbnN0XCI6XCJkZXN0cnVjdHVyaW5nXCIpLHMobixlLGwsZixkLHt0eXBlOlwiVmFyaWFibGVEZWNsYXJhdG9yXCIsaWQ6eSxpbml0Om19KX1mdW5jdGlvbiBxdShuLGUsdSx0LG8saSxsLGYpe2IobixlKTtsZXQgZD0oKGUmNTI0Mjg4KT4wfHwoZSY1MTIpPjAmJihlJjIwNDgpPjApJiZQKG4sZSwyMDkwMDYpO0MobixlfDgxOTIsNjcxNzQ0MTEpLHUmJih1PWoodSwxKSk7bGV0IGc9bnVsbCxtPW51bGwseT0wLGE9bnVsbCxrPW4uZ2V0VG9rZW4oKT09PTg2MDg4fHxuLmdldFRva2VuKCk9PT0yNDE3Mzd8fG4uZ2V0VG9rZW4oKT09PTg2MDkwLGgse3Rva2VuSW5kZXg6VCx0b2tlbkxpbmU6RSx0b2tlbkNvbHVtbjp3fT1uLEk9bi5nZXRUb2tlbigpO2lmKGs/ST09PTI0MTczNz8oYT1SKG4sZSksbi5nZXRUb2tlbigpJjIyNDA1MTI/KG4uZ2V0VG9rZW4oKT09PTg2NzMzMzA/ZSYyNTYmJmMobiw2Nyk6YT1zKG4sZSxULEUsdyx7dHlwZTpcIlZhcmlhYmxlRGVjbGFyYXRpb25cIixraW5kOlwibGV0XCIsZGVjbGFyYXRpb25zOnMyKG4sZXwzMzU1NDQzMix1LHQsOCwzMil9KSxuLmFzc2lnbmFibGU9MSk6ZSYyNTY/YyhuLDY3KTooaz0hMSxuLmFzc2lnbmFibGU9MSxhPU8obixlLHQsYSwwLDAsVCxFLHcpLG4uZ2V0VG9rZW4oKT09PTI3NDU0OCYmYyhuLDExNSkpKTooYihuLGUpLGE9cyhuLGUsVCxFLHcsST09PTg2MDg4P3t0eXBlOlwiVmFyaWFibGVEZWNsYXJhdGlvblwiLGtpbmQ6XCJ2YXJcIixkZWNsYXJhdGlvbnM6czIobixlfDMzNTU0NDMyLHUsdCw0LDMyKX06e3R5cGU6XCJWYXJpYWJsZURlY2xhcmF0aW9uXCIsa2luZDpcImNvbnN0XCIsZGVjbGFyYXRpb25zOnMyKG4sZXwzMzU1NDQzMix1LHQsMTYsMzIpfSksbi5hc3NpZ25hYmxlPTEpOkk9PT0xMDc0NzkwNDE3P2QmJmMobiw4Mik6KEkmMjA5NzE1Mik9PT0yMDk3MTUyPyhhPUk9PT0yMTYyNzAwP1oobixlLHZvaWQgMCx0LDEsMCwwLDIsMzIsVCxFLHcpOlEobixlLHZvaWQgMCx0LDEsMCwwLDIsMzIsVCxFLHcpLHk9bi5kZXN0cnVjdGlibGUseSY2NCYmYyhuLDYzKSxuLmFzc2lnbmFibGU9eSYxNj8yOjEsYT1PKG4sZXwzMzU1NDQzMix0LGEsMCwwLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKSk6YT1ZKG4sZXwzMzU1NDQzMix0LDEsMCwxLFQsRSx3KSwobi5nZXRUb2tlbigpJjI2MjE0NCk9PT0yNjIxNDQpe2lmKG4uZ2V0VG9rZW4oKT09PTI3NDU0OCl7bi5hc3NpZ25hYmxlJjImJmMobiw4MCxkP1wiYXdhaXRcIjpcIm9mXCIpLHIobixhKSxiKG4sZXw4MTkyKSxoPU0obixlLHQsMSwwLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKSxDKG4sZXw4MTkyLDE2KTtsZXQgcT1DMihuLGUsdSx0LG8pO3JldHVybiBzKG4sZSxpLGwsZix7dHlwZTpcIkZvck9mU3RhdGVtZW50XCIsbGVmdDphLHJpZ2h0OmgsYm9keTpxLGF3YWl0OmR9KX1uLmFzc2lnbmFibGUmMiYmYyhuLDgwLFwiaW5cIikscihuLGEpLGIobixlfDgxOTIpLGQmJmMobiw4MiksaD16KG4sZSx0LDAsMSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbiksQyhuLGV8ODE5MiwxNik7bGV0IEY9QzIobixlLHUsdCxvKTtyZXR1cm4gcyhuLGUsaSxsLGYse3R5cGU6XCJGb3JJblN0YXRlbWVudFwiLGJvZHk6RixsZWZ0OmEscmlnaHQ6aH0pfWQmJmMobiw4Miksa3x8KHkmOCYmbi5nZXRUb2tlbigpIT09MTA3NzkzNjE1NSYmYyhuLDgwLFwibG9vcFwiKSxhPUoobixlfDMzNTU0NDMyLHQsMCwwLFQsRSx3LGEpKSxuLmdldFRva2VuKCk9PT0xOCYmKGE9ZTIobixlLHQsMCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbixhKSksQyhuLGV8ODE5MiwxMDc0NzkwNDE3KSxuLmdldFRva2VuKCkhPT0xMDc0NzkwNDE3JiYoZz16KG4sZSx0LDAsMSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbikpLEMobixlfDgxOTIsMTA3NDc5MDQxNyksbi5nZXRUb2tlbigpIT09MTYmJihtPXoobixlLHQsMCwxLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKSksQyhuLGV8ODE5MiwxNik7bGV0IHY9QzIobixlLHUsdCxvKTtyZXR1cm4gcyhuLGUsaSxsLGYse3R5cGU6XCJGb3JTdGF0ZW1lbnRcIixpbml0OmEsdGVzdDpnLHVwZGF0ZTptLGJvZHk6dn0pfWZ1bmN0aW9uIHhuKG4sZSx1KXtyZXR1cm4gQjIoZSxuLmdldFRva2VuKCkpfHxjKG4sMTE4KSwobi5nZXRUb2tlbigpJjUzNzA3OTgwOCk9PT01MzcwNzk4MDgmJmMobiwxMTkpLHUmJmcyKG4sZSx1LG4udG9rZW5WYWx1ZSw4LDApLFIobixlKX1mdW5jdGlvbiBTdShuLGUsdSl7bGV0IHQ9bi50b2tlbkluZGV4LG89bi50b2tlbkxpbmUsaT1uLnRva2VuQ29sdW1uO2IobixlKTtsZXQgbD1udWxsLHt0b2tlbkluZGV4OmYsdG9rZW5MaW5lOmQsdG9rZW5Db2x1bW46Z309bixtPVtdO2lmKG4uZ2V0VG9rZW4oKT09PTEzNDI4MzI2NylsPUgobixlKTtlbHNle2lmKG4uZ2V0VG9rZW4oKSYxNDMzNjApe2xldCBhPXhuKG4sZSx1KTtpZihtPVtzKG4sZSxmLGQsZyx7dHlwZTpcIkltcG9ydERlZmF1bHRTcGVjaWZpZXJcIixsb2NhbDphfSldLFAobixlLDE4KSlzd2l0Y2gobi5nZXRUb2tlbigpKXtjYXNlIDgzOTE0NzY6bS5wdXNoKHZuKG4sZSx1KSk7YnJlYWs7Y2FzZSAyMTYyNzAwOk5uKG4sZSx1LG0pO2JyZWFrO2RlZmF1bHQ6YyhuLDEwNyl9fWVsc2Ugc3dpdGNoKG4uZ2V0VG9rZW4oKSl7Y2FzZSA4MzkxNDc2Om09W3ZuKG4sZSx1KV07YnJlYWs7Y2FzZSAyMTYyNzAwOk5uKG4sZSx1LG0pO2JyZWFrO2Nhc2UgNjcxNzQ0MTE6cmV0dXJuIHBuKG4sZSx2b2lkIDAsdCxvLGkpO2Nhc2UgNjcxMDg4Nzc6cmV0dXJuIHJuKG4sZSx0LG8saSk7ZGVmYXVsdDpjKG4sMzAsVltuLmdldFRva2VuKCkmMjU1XSl9bD1QdShuLGUpfWxldCB5PXt0eXBlOlwiSW1wb3J0RGVjbGFyYXRpb25cIixzcGVjaWZpZXJzOm0sc291cmNlOmx9O3JldHVybiBlJjEmJih5LmF0dHJpYnV0ZXM9bm4obixlLG0pKSxLKG4sZXw4MTkyKSxzKG4sZSx0LG8saSx5KX1mdW5jdGlvbiB2bihuLGUsdSl7bGV0e3Rva2VuSW5kZXg6dCx0b2tlbkxpbmU6byx0b2tlbkNvbHVtbjppfT1uO3JldHVybiBiKG4sZSksQyhuLGUsNzc5MzIpLChuLmdldFRva2VuKCkmMTM0MjE3NzI4KT09PTEzNDIxNzcyOCYmJCh0LG8saSxuLmluZGV4LG4ubGluZSxuLmNvbHVtbiwzMCxWW24uZ2V0VG9rZW4oKSYyNTVdKSxzKG4sZSx0LG8saSx7dHlwZTpcIkltcG9ydE5hbWVzcGFjZVNwZWNpZmllclwiLGxvY2FsOnhuKG4sZSx1KX0pfWZ1bmN0aW9uIFB1KG4sZSl7cmV0dXJuIEMobixlLDEyNDAzKSxuLmdldFRva2VuKCkhPT0xMzQyODMyNjcmJmMobiwxMDUsXCJJbXBvcnRcIiksSChuLGUpfWZ1bmN0aW9uIE5uKG4sZSx1LHQpe2ZvcihiKG4sZSk7bi5nZXRUb2tlbigpJjE0MzM2MHx8bi5nZXRUb2tlbigpPT09MTM0MjgzMjY3Oyl7bGV0e3Rva2VuVmFsdWU6byx0b2tlbkluZGV4OmksdG9rZW5MaW5lOmwsdG9rZW5Db2x1bW46Zn09bixkPW4uZ2V0VG9rZW4oKSxnPU8yKG4sZSksbTtQKG4sZSw3NzkzMik/KChuLmdldFRva2VuKCkmMTM0MjE3NzI4KT09PTEzNDIxNzcyOHx8bi5nZXRUb2tlbigpPT09MTg/YyhuLDEwNik6SjIobixlLDE2LG4uZ2V0VG9rZW4oKSwwKSxvPW4udG9rZW5WYWx1ZSxtPVIobixlKSk6Zy50eXBlPT09XCJJZGVudGlmaWVyXCI/KEoyKG4sZSwxNixkLDApLG09Zyk6YyhuLDI1LFZbMTA4XSksdSYmZzIobixlLHUsbyw4LDApLHQucHVzaChzKG4sZSxpLGwsZix7dHlwZTpcIkltcG9ydFNwZWNpZmllclwiLGxvY2FsOm0saW1wb3J0ZWQ6Z30pKSxuLmdldFRva2VuKCkhPT0xMDc0NzkwNDE1JiZDKG4sZSwxOCl9cmV0dXJuIEMobixlLDEwNzQ3OTA0MTUpLHR9ZnVuY3Rpb24gcm4obixlLHUsdCxvKXtsZXQgaT1uZShuLGUscyhuLGUsdSx0LG8se3R5cGU6XCJJZGVudGlmaWVyXCIsbmFtZTpcImltcG9ydFwifSksdSx0LG8pO3JldHVybiBpPU8obixlLHZvaWQgMCxpLDAsMCx1LHQsbyksaT1KKG4sZSx2b2lkIDAsMCwwLHUsdCxvLGkpLG4uZ2V0VG9rZW4oKT09PTE4JiYoaT1lMihuLGUsdm9pZCAwLDAsdSx0LG8saSkpLEEyKG4sZSxpLHUsdCxvKX1mdW5jdGlvbiBwbihuLGUsdSx0LG8saSl7bGV0IGw9ZWUobixlLHUsMCx0LG8saSk7cmV0dXJuIGw9TyhuLGUsdSxsLDAsMCx0LG8saSksbi5nZXRUb2tlbigpPT09MTgmJihsPWUyKG4sZSx1LDAsdCxvLGksbCkpLEEyKG4sZSxsLHQsbyxpKX1mdW5jdGlvbiB2dShuLGUsdSl7bGV0IHQ9bi50b2tlbkluZGV4LG89bi50b2tlbkxpbmUsaT1uLnRva2VuQ29sdW1uO2IobixlfDgxOTIpO2xldCBsPVtdLGY9bnVsbCxkPW51bGwsZz1udWxsLG07aWYoUChuLGV8ODE5MiwyMDU2MSkpe3N3aXRjaChuLmdldFRva2VuKCkpe2Nhc2UgODYxMDQ6e2Y9ZDIobixlLHUsdm9pZCAwLDQsMSwxLDAsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pO2JyZWFrfWNhc2UgMTMyOmNhc2UgODYwOTQ6Zj1lbihuLGUsdSx2b2lkIDAsMSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbik7YnJlYWs7Y2FzZSAyMDkwMDU6e2xldHt0b2tlbkluZGV4OmEsdG9rZW5MaW5lOmssdG9rZW5Db2x1bW46aH09bjtmPVIobixlKTtsZXR7ZmxhZ3M6VH09bjtUJjF8fChuLmdldFRva2VuKCk9PT04NjEwND9mPWQyKG4sZSx1LHZvaWQgMCw0LDEsMSwxLGEsayxoKTpuLmdldFRva2VuKCk9PT02NzE3NDQxMT8oZj1zbihuLGUsdm9pZCAwLGYsMSwxLDAsVCxhLGssaCksZj1PKG4sZSx2b2lkIDAsZiwwLDAsYSxrLGgpLGY9SihuLGUsdm9pZCAwLDAsMCxhLGssaCxmKSk6bi5nZXRUb2tlbigpJjE0MzM2MCYmKHUmJih1PUsyKG4sZSxuLnRva2VuVmFsdWUpKSxmPVIobixlKSxmPUYyKG4sZSx1LHZvaWQgMCxbZl0sMSxhLGssaCkpKTticmVha31kZWZhdWx0OmY9TShuLGUsdm9pZCAwLDEsMCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbiksSyhuLGV8ODE5Mil9cmV0dXJuIHUmJmwyKG4sXCJkZWZhdWx0XCIpLHMobixlLHQsbyxpLHt0eXBlOlwiRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uXCIsZGVjbGFyYXRpb246Zn0pfXN3aXRjaChuLmdldFRva2VuKCkpe2Nhc2UgODM5MTQ3Njp7YihuLGUpO2xldCBhPW51bGw7UChuLGUsNzc5MzIpJiYodSYmbDIobixuLnRva2VuVmFsdWUpLGE9TzIobixlKSksQyhuLGUsMTI0MDMpLG4uZ2V0VG9rZW4oKSE9PTEzNDI4MzI2NyYmYyhuLDEwNSxcIkV4cG9ydFwiKSxkPUgobixlKTtsZXQgaD17dHlwZTpcIkV4cG9ydEFsbERlY2xhcmF0aW9uXCIsc291cmNlOmQsZXhwb3J0ZWQ6YX07cmV0dXJuIGUmMSYmKGguYXR0cmlidXRlcz1ubihuLGUpKSxLKG4sZXw4MTkyKSxzKG4sZSx0LG8saSxoKX1jYXNlIDIxNjI3MDA6e2IobixlKTtsZXQgYT1bXSxrPVtdLGg9MDtmb3IoO24uZ2V0VG9rZW4oKSYxNDMzNjB8fG4uZ2V0VG9rZW4oKT09PTEzNDI4MzI2Nzspe2xldHt0b2tlbkluZGV4OlQsdG9rZW5WYWx1ZTpFLHRva2VuTGluZTp3LHRva2VuQ29sdW1uOkl9PW4sdj1PMihuLGUpO3YudHlwZT09PVwiTGl0ZXJhbFwiJiYoaD0xKTtsZXQgRjtuLmdldFRva2VuKCk9PT03NzkzMj8oYihuLGUpLCEobi5nZXRUb2tlbigpJjE0MzM2MCkmJm4uZ2V0VG9rZW4oKSE9PTEzNDI4MzI2NyYmYyhuLDEwNiksdSYmKGEucHVzaChuLnRva2VuVmFsdWUpLGsucHVzaChFKSksRj1PMihuLGUpKToodSYmKGEucHVzaChuLnRva2VuVmFsdWUpLGsucHVzaChuLnRva2VuVmFsdWUpKSxGPXYpLGwucHVzaChzKG4sZSxULHcsSSx7dHlwZTpcIkV4cG9ydFNwZWNpZmllclwiLGxvY2FsOnYsZXhwb3J0ZWQ6Rn0pKSxuLmdldFRva2VuKCkhPT0xMDc0NzkwNDE1JiZDKG4sZSwxOCl9QyhuLGUsMTA3NDc5MDQxNSksUChuLGUsMTI0MDMpPyhuLmdldFRva2VuKCkhPT0xMzQyODMyNjcmJmMobiwxMDUsXCJFeHBvcnRcIiksZD1IKG4sZSksZSYxJiYoZz1ubihuLGUsbCkpLHUmJmEuZm9yRWFjaChUPT5sMihuLFQpKSk6KGgmJmMobiwxNzIpLHUmJihhLmZvckVhY2goVD0+bDIobixUKSksay5mb3JFYWNoKFQ9Pml1KG4sVCkpKSksSyhuLGV8ODE5Mik7YnJlYWt9Y2FzZSA4NjA5NDpmPWVuKG4sZSx1LHZvaWQgMCwyLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKTticmVhaztjYXNlIDg2MTA0OmY9ZDIobixlLHUsdm9pZCAwLDQsMSwyLDAsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pO2JyZWFrO2Nhc2UgMjQxNzM3OmY9cDIobixlLHUsdm9pZCAwLDgsNjQsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pO2JyZWFrO2Nhc2UgODYwOTA6Zj1wMihuLGUsdSx2b2lkIDAsMTYsNjQsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pO2JyZWFrO2Nhc2UgODYwODg6Zj1HbihuLGUsdSx2b2lkIDAsNjQsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pO2JyZWFrO2Nhc2UgMjA5MDA1OntsZXR7dG9rZW5JbmRleDphLHRva2VuTGluZTprLHRva2VuQ29sdW1uOmh9PW47aWYoYihuLGUpLCEobi5mbGFncyYxKSYmbi5nZXRUb2tlbigpPT09ODYxMDQpe2Y9ZDIobixlLHUsdm9pZCAwLDQsMSwyLDEsYSxrLGgpLHUmJihtPWYuaWQ/Zi5pZC5uYW1lOlwiXCIsbDIobixtKSk7YnJlYWt9fWRlZmF1bHQ6YyhuLDMwLFZbbi5nZXRUb2tlbigpJjI1NV0pfWxldCB5PXt0eXBlOlwiRXhwb3J0TmFtZWREZWNsYXJhdGlvblwiLGRlY2xhcmF0aW9uOmYsc3BlY2lmaWVyczpsLHNvdXJjZTpkfTtyZXR1cm4gZyYmKHkuYXR0cmlidXRlcz1nKSxzKG4sZSx0LG8saSx5KX1mdW5jdGlvbiBNKG4sZSx1LHQsbyxpLGwsZil7bGV0IGQ9XyhuLGUsdSwyLDAsdCxvLDEsaSxsLGYpO3JldHVybiBkPU8obixlLHUsZCxvLDAsaSxsLGYpLEoobixlLHUsbywwLGksbCxmLGQpfWZ1bmN0aW9uIGUyKG4sZSx1LHQsbyxpLGwsZil7bGV0IGQ9W2ZdO2Zvcig7UChuLGV8ODE5MiwxOCk7KWQucHVzaChNKG4sZSx1LDEsdCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbikpO3JldHVybiBzKG4sZSxvLGksbCx7dHlwZTpcIlNlcXVlbmNlRXhwcmVzc2lvblwiLGV4cHJlc3Npb25zOmR9KX1mdW5jdGlvbiB6KG4sZSx1LHQsbyxpLGwsZil7bGV0IGQ9TShuLGUsdSxvLHQsaSxsLGYpO3JldHVybiBuLmdldFRva2VuKCk9PT0xOD9lMihuLGUsdSx0LGksbCxmLGQpOmR9ZnVuY3Rpb24gSihuLGUsdSx0LG8saSxsLGYsZCl7bGV0IGc9bi5nZXRUb2tlbigpO2lmKChnJjQxOTQzMDQpPT09NDE5NDMwNCl7bi5hc3NpZ25hYmxlJjImJmMobiwyNiksKCFvJiZnPT09MTA3NzkzNjE1NSYmZC50eXBlPT09XCJBcnJheUV4cHJlc3Npb25cInx8ZC50eXBlPT09XCJPYmplY3RFeHByZXNzaW9uXCIpJiZyKG4sZCksYihuLGV8ODE5Mik7bGV0IG09TShuLGUsdSwxLHQsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pO3JldHVybiBuLmFzc2lnbmFibGU9MixzKG4sZSxpLGwsZixvP3t0eXBlOlwiQXNzaWdubWVudFBhdHRlcm5cIixsZWZ0OmQscmlnaHQ6bX06e3R5cGU6XCJBc3NpZ25tZW50RXhwcmVzc2lvblwiLGxlZnQ6ZCxvcGVyYXRvcjpWW2cmMjU1XSxyaWdodDptfSl9cmV0dXJuKGcmODM4ODYwOCk9PT04Mzg4NjA4JiYoZD1mMihuLGUsdSx0LGksbCxmLDQsZyxkKSksUChuLGV8ODE5MiwyMikmJihkPWMyKG4sZSx1LGQsaSxsLGYpKSxkfWZ1bmN0aW9uIE4yKG4sZSx1LHQsbyxpLGwsZixkKXtsZXQgZz1uLmdldFRva2VuKCk7YihuLGV8ODE5Mik7bGV0IG09TShuLGUsdSwxLHQsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pO3JldHVybiBkPXMobixlLGksbCxmLG8/e3R5cGU6XCJBc3NpZ25tZW50UGF0dGVyblwiLGxlZnQ6ZCxyaWdodDptfTp7dHlwZTpcIkFzc2lnbm1lbnRFeHByZXNzaW9uXCIsbGVmdDpkLG9wZXJhdG9yOlZbZyYyNTVdLHJpZ2h0Om19KSxuLmFzc2lnbmFibGU9MixkfWZ1bmN0aW9uIGMyKG4sZSx1LHQsbyxpLGwpe2xldCBmPU0obiwoZXwzMzU1NDQzMileMzM1NTQ0MzIsdSwxLDAsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pO0MobixlfDgxOTIsMjEpLG4uYXNzaWduYWJsZT0xO2xldCBkPU0obixlLHUsMSwwLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKTtyZXR1cm4gbi5hc3NpZ25hYmxlPTIscyhuLGUsbyxpLGwse3R5cGU6XCJDb25kaXRpb25hbEV4cHJlc3Npb25cIix0ZXN0OnQsY29uc2VxdWVudDpmLGFsdGVybmF0ZTpkfSl9ZnVuY3Rpb24gZjIobixlLHUsdCxvLGksbCxmLGQsZyl7bGV0IG09LSgoZSYzMzU1NDQzMik+MCkmODY3MzMzMCx5LGE7Zm9yKG4uYXNzaWduYWJsZT0yO24uZ2V0VG9rZW4oKSY4Mzg4NjA4JiYoeT1uLmdldFRva2VuKCksYT15JjM4NDAsKHkmNTI0Mjg4JiZkJjI2ODQzNTQ1Nnx8ZCY1MjQyODgmJnkmMjY4NDM1NDU2KSYmYyhuLDE2NSksIShhKygoeT09PTgzOTE3MzUpPDw4KS0oKG09PT15KTw8MTIpPD1mKSk7KWIobixlfDgxOTIpLGc9cyhuLGUsbyxpLGwse3R5cGU6eSY1MjQyODh8fHkmMjY4NDM1NDU2P1wiTG9naWNhbEV4cHJlc3Npb25cIjpcIkJpbmFyeUV4cHJlc3Npb25cIixsZWZ0OmcscmlnaHQ6ZjIobixlLHUsdCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbixhLHksWShuLGUsdSwwLHQsMSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbikpLG9wZXJhdG9yOlZbeSYyNTVdfSk7cmV0dXJuIG4uZ2V0VG9rZW4oKT09PTEwNzc5MzYxNTUmJmMobiwyNiksZ31mdW5jdGlvbiBOdShuLGUsdSx0LG8saSxsLGYpe3R8fGMobiwwKTtsZXQgZD1uLmdldFRva2VuKCk7YihuLGV8ODE5Mik7bGV0IGc9WShuLGUsdSwwLGYsMSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbik7cmV0dXJuIG4uZ2V0VG9rZW4oKT09PTgzOTE3MzUmJmMobiwzMyksZSYyNTYmJmQ9PT0xNjg2MzI3NiYmKGcudHlwZT09PVwiSWRlbnRpZmllclwiP2MobiwxMjEpOnJlKGcpJiZjKG4sMTI3KSksbi5hc3NpZ25hYmxlPTIscyhuLGUsbyxpLGwse3R5cGU6XCJVbmFyeUV4cHJlc3Npb25cIixvcGVyYXRvcjpWW2QmMjU1XSxhcmd1bWVudDpnLHByZWZpeDohMH0pfWZ1bmN0aW9uIFZ1KG4sZSx1LHQsbyxpLGwsZixkLGcpe2xldCBtPW4uZ2V0VG9rZW4oKSx5PVIobixlKSx7ZmxhZ3M6YX09bjtpZighKGEmMSkpe2lmKG4uZ2V0VG9rZW4oKT09PTg2MTA0KXJldHVybiB0ZShuLGUsdSwxLHQsZixkLGcpO2lmKEIyKGUsbi5nZXRUb2tlbigpKSlyZXR1cm4gb3x8YyhuLDApLChuLmdldFRva2VuKCkmMzY4NjQpPT09MzY4NjQmJihuLmZsYWdzfD0yNTYpLGxlKG4sZSx1LGksZixkLGcpfXJldHVybiFsJiZuLmdldFRva2VuKCk9PT02NzE3NDQxMT9zbihuLGUsdSx5LGksMSwwLGEsZixkLGcpOm4uZ2V0VG9rZW4oKT09PTEwPygkMihuLGUsbSksbCYmYyhuLDUxKSwobSYzNjg2NCk9PT0zNjg2NCYmKG4uZmxhZ3N8PTI1NiksXzIobixlLHUsbi50b2tlblZhbHVlLHksbCxpLDAsZixkLGcpKToobi5hc3NpZ25hYmxlPTEseSl9ZnVuY3Rpb24gT3UobixlLHUsdCxvLGksbCxmKXtpZih0JiYobi5kZXN0cnVjdGlibGV8PTI1NiksZSYyNjIxNDQpe2IobixlfDgxOTIpLGUmMjA5NzE1MiYmYyhuLDMyKSxvfHxjKG4sMjYpLG4uZ2V0VG9rZW4oKT09PTIyJiZjKG4sMTI0KTtsZXQgZD1udWxsLGc9ITE7cmV0dXJuIG4uZmxhZ3MmMT9uLmdldFRva2VuKCk9PT04MzkxNDc2JiZjKG4sMzAsVltuLmdldFRva2VuKCkmMjU1XSk6KGc9UChuLGV8ODE5Miw4MzkxNDc2KSwobi5nZXRUb2tlbigpJjc3ODI0fHxnKSYmKGQ9TShuLGUsdSwxLDAsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pKSksbi5hc3NpZ25hYmxlPTIscyhuLGUsaSxsLGYse3R5cGU6XCJZaWVsZEV4cHJlc3Npb25cIixhcmd1bWVudDpkLGRlbGVnYXRlOmd9KX1yZXR1cm4gZSYyNTYmJmMobiw5NyxcInlpZWxkXCIpLHluKG4sZSx1LGksbCxmKX1mdW5jdGlvbiBSdShuLGUsdSx0LG8saSxsLGYpe28mJihuLmRlc3RydWN0aWJsZXw9MTI4KSxlJjI2ODQzNTQ1NiYmYyhuLDE3Nyk7bGV0IGQ9eW4obixlLHUsaSxsLGYpO2lmKGQudHlwZT09PVwiQXJyb3dGdW5jdGlvbkV4cHJlc3Npb25cInx8KG4uZ2V0VG9rZW4oKSY2NTUzNik9PT0wKXJldHVybiBlJjUyNDI4OCYmJChpLGwsZixuLnN0YXJ0SW5kZXgsbi5zdGFydExpbmUsbi5zdGFydENvbHVtbiwxNzYpLGUmNTEyJiYkKGksbCxmLG4uc3RhcnRJbmRleCxuLnN0YXJ0TGluZSxuLnN0YXJ0Q29sdW1uLDExMCksZSYyMDk3MTUyJiZlJjUyNDI4OCYmJChpLGwsZixuLnN0YXJ0SW5kZXgsbi5zdGFydExpbmUsbi5zdGFydENvbHVtbiwxMTApLGQ7aWYoZSYyMDk3MTUyJiYkKGksbCxmLG4uc3RhcnRJbmRleCxuLnN0YXJ0TGluZSxuLnN0YXJ0Q29sdW1uLDMxKSxlJjUyNDI4OHx8ZSY1MTImJmUmMjA0OCl7dCYmJChpLGwsZixuLnN0YXJ0SW5kZXgsbi5zdGFydExpbmUsbi5zdGFydENvbHVtbiwwKTtsZXQgbT1ZKG4sZSx1LDAsMCwxLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKTtyZXR1cm4gbi5nZXRUb2tlbigpPT09ODM5MTczNSYmYyhuLDMzKSxuLmFzc2lnbmFibGU9MixzKG4sZSxpLGwsZix7dHlwZTpcIkF3YWl0RXhwcmVzc2lvblwiLGFyZ3VtZW50Om19KX1yZXR1cm4gZSY1MTImJiQoaSxsLGYsbi5zdGFydEluZGV4LG4uc3RhcnRMaW5lLG4uc3RhcnRDb2x1bW4sOTgpLGR9ZnVuY3Rpb24gVzIobixlLHUsdCxvLGksbCl7bGV0e3Rva2VuSW5kZXg6Zix0b2tlbkxpbmU6ZCx0b2tlbkNvbHVtbjpnfT1uO0MobixlfDgxOTIsMjE2MjcwMCk7bGV0IG09W107aWYobi5nZXRUb2tlbigpIT09MTA3NDc5MDQxNSl7Zm9yKDtuLmdldFRva2VuKCk9PT0xMzQyODMyNjc7KXtsZXR7aW5kZXg6eSx0b2tlbkluZGV4OmEsdG9rZW5WYWx1ZTprfT1uLGg9bi5nZXRUb2tlbigpLFQ9SChuLGUpO0tuKG4seSxhLGspJiYoZXw9MjU2LG4uZmxhZ3MmMTI4JiYkKGEsZCxnLG4uaW5kZXgsbi5saW5lLG4uY29sdW1uLDY2KSxuLmZsYWdzJjY0JiYkKGEsZCxnLG4uaW5kZXgsbi5saW5lLG4uY29sdW1uLDkpLG4uZmxhZ3MmNDA5NiYmJChhLGQsZyxuLmluZGV4LG4ubGluZSxuLmNvbHVtbiwxNSksbCYmejIobCkpLG0ucHVzaChnbihuLGUsVCxoLGEsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbikpfWUmMjU2JiYoaSYmKChpJjUzNzA3OTgwOCk9PT01MzcwNzk4MDgmJmMobiwxMTkpLChpJjM2ODY0KT09PTM2ODY0JiZjKG4sNDApKSxuLmZsYWdzJjUxMiYmYyhuLDExOSksbi5mbGFncyYyNTYmJmMobiwxMTgpKX1mb3Iobi5mbGFncz0obi5mbGFnc3w1MTJ8MjU2fDY0fDQwOTYpXjQ5Mjgsbi5kZXN0cnVjdGlibGU9KG4uZGVzdHJ1Y3RpYmxlfDI1NileMjU2O24uZ2V0VG9rZW4oKSE9PTEwNzQ3OTA0MTU7KW0ucHVzaChJMihuLGUsdSx0LDQse30pKTtyZXR1cm4gQyhuLG8mMjQ/ZXw4MTkyOmUsMTA3NDc5MDQxNSksbi5mbGFncyY9LTQyODksbi5nZXRUb2tlbigpPT09MTA3NzkzNjE1NSYmYyhuLDI2KSxzKG4sZSxmLGQsZyx7dHlwZTpcIkJsb2NrU3RhdGVtZW50XCIsYm9keTptfSl9ZnVuY3Rpb24gVXUobixlLHUsdCxvKXtzd2l0Y2goYihuLGUpLG4uZ2V0VG9rZW4oKSl7Y2FzZSA2NzEwODk5MDpjKG4sMTY3KTtjYXNlIDY3MTc0NDExOntlJjEzMTA3Mnx8YyhuLDI4KSxuLmFzc2lnbmFibGU9MjticmVha31jYXNlIDY5MjcxNTcxOmNhc2UgNjcxMDg4Nzc6e2UmNjU1MzZ8fGMobiwyOSksbi5hc3NpZ25hYmxlPTE7YnJlYWt9ZGVmYXVsdDpjKG4sMzAsXCJzdXBlclwiKX1yZXR1cm4gcyhuLGUsdSx0LG8se3R5cGU6XCJTdXBlclwifSl9ZnVuY3Rpb24gWShuLGUsdSx0LG8saSxsLGYsZCl7bGV0IGc9XyhuLGUsdSwyLDAsdCxvLGksbCxmLGQpO3JldHVybiBPKG4sZSx1LGcsbywwLGwsZixkKX1mdW5jdGlvbiBNdShuLGUsdSx0LG8saSl7bi5hc3NpZ25hYmxlJjImJmMobiw1NSk7bGV0IGw9bi5nZXRUb2tlbigpO3JldHVybiBiKG4sZSksbi5hc3NpZ25hYmxlPTIscyhuLGUsdCxvLGkse3R5cGU6XCJVcGRhdGVFeHByZXNzaW9uXCIsYXJndW1lbnQ6dSxvcGVyYXRvcjpWW2wmMjU1XSxwcmVmaXg6ITF9KX1mdW5jdGlvbiBPKG4sZSx1LHQsbyxpLGwsZixkKXtpZigobi5nZXRUb2tlbigpJjMzNjE5OTY4KT09PTMzNjE5OTY4JiYhKG4uZmxhZ3MmMSkpdD1NdShuLGUsdCxsLGYsZCk7ZWxzZSBpZigobi5nZXRUb2tlbigpJjY3MTA4ODY0KT09PTY3MTA4ODY0KXtzd2l0Y2goZT0oZXwzMzU1NDQzMileMzM1NTQ0MzIsbi5nZXRUb2tlbigpKXtjYXNlIDY3MTA4ODc3OntiKG4sKGV8NjcxMDg4NjR8MjA0OCleMjA0OCksZSY0MDk2JiZuLmdldFRva2VuKCk9PT0xMzAmJm4udG9rZW5WYWx1ZT09PVwic3VwZXJcIiYmYyhuLDE3Myksbi5hc3NpZ25hYmxlPTE7bGV0IGc9Y24obixlfDE2Mzg0LHUpO3Q9cyhuLGUsbCxmLGQse3R5cGU6XCJNZW1iZXJFeHByZXNzaW9uXCIsb2JqZWN0OnQsY29tcHV0ZWQ6ITEscHJvcGVydHk6Z30pO2JyZWFrfWNhc2UgNjkyNzE1NzE6e2xldCBnPSExOyhuLmZsYWdzJjIwNDgpPT09MjA0OCYmKGc9ITAsbi5mbGFncz0obi5mbGFnc3wyMDQ4KV4yMDQ4KSxiKG4sZXw4MTkyKTtsZXR7dG9rZW5JbmRleDptLHRva2VuTGluZTp5LHRva2VuQ29sdW1uOmF9PW4saz16KG4sZSx1LG8sMSxtLHksYSk7QyhuLGUsMjApLG4uYXNzaWduYWJsZT0xLHQ9cyhuLGUsbCxmLGQse3R5cGU6XCJNZW1iZXJFeHByZXNzaW9uXCIsb2JqZWN0OnQsY29tcHV0ZWQ6ITAscHJvcGVydHk6a30pLGcmJihuLmZsYWdzfD0yMDQ4KTticmVha31jYXNlIDY3MTc0NDExOntpZigobi5mbGFncyYxMDI0KT09PTEwMjQpcmV0dXJuIG4uZmxhZ3M9KG4uZmxhZ3N8MTAyNCleMTAyNCx0O2xldCBnPSExOyhuLmZsYWdzJjIwNDgpPT09MjA0OCYmKGc9ITAsbi5mbGFncz0obi5mbGFnc3wyMDQ4KV4yMDQ4KTtsZXQgbT1hbihuLGUsdSxvKTtuLmFzc2lnbmFibGU9Mix0PXMobixlLGwsZixkLHt0eXBlOlwiQ2FsbEV4cHJlc3Npb25cIixjYWxsZWU6dCxhcmd1bWVudHM6bX0pLGcmJihuLmZsYWdzfD0yMDQ4KTticmVha31jYXNlIDY3MTA4OTkwOntiKG4sKGV8NjcxMDg4NjR8MjA0OCleMjA0OCksbi5mbGFnc3w9MjA0OCxuLmFzc2lnbmFibGU9Mix0PUp1KG4sZSx1LHQsbCxmLGQpO2JyZWFrfWRlZmF1bHQ6KG4uZmxhZ3MmMjA0OCk9PT0yMDQ4JiZjKG4sMTY2KSxuLmFzc2lnbmFibGU9Mix0PXMobixlLGwsZixkLHt0eXBlOlwiVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uXCIsdGFnOnQscXVhc2k6bi5nZXRUb2tlbigpPT09NjcxNzQ0MDg/a24obixlfDE2Mzg0LHUpOm1uKG4sZSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbil9KX10PU8obixlLHUsdCwwLDEsbCxmLGQpfXJldHVybiBpPT09MCYmKG4uZmxhZ3MmMjA0OCk9PT0yMDQ4JiYobi5mbGFncz0obi5mbGFnc3wyMDQ4KV4yMDQ4LHQ9cyhuLGUsbCxmLGQse3R5cGU6XCJDaGFpbkV4cHJlc3Npb25cIixleHByZXNzaW9uOnR9KSksdH1mdW5jdGlvbiBKdShuLGUsdSx0LG8saSxsKXtsZXQgZj0hMSxkO2lmKChuLmdldFRva2VuKCk9PT02OTI3MTU3MXx8bi5nZXRUb2tlbigpPT09NjcxNzQ0MTEpJiYobi5mbGFncyYyMDQ4KT09PTIwNDgmJihmPSEwLG4uZmxhZ3M9KG4uZmxhZ3N8MjA0OCleMjA0OCksbi5nZXRUb2tlbigpPT09NjkyNzE1NzEpe2IobixlfDgxOTIpO2xldHt0b2tlbkluZGV4OmcsdG9rZW5MaW5lOm0sdG9rZW5Db2x1bW46eX09bixhPXoobixlLHUsMCwxLGcsbSx5KTtDKG4sZSwyMCksbi5hc3NpZ25hYmxlPTIsZD1zKG4sZSxvLGksbCx7dHlwZTpcIk1lbWJlckV4cHJlc3Npb25cIixvYmplY3Q6dCxjb21wdXRlZDohMCxvcHRpb25hbDohMCxwcm9wZXJ0eTphfSl9ZWxzZSBpZihuLmdldFRva2VuKCk9PT02NzE3NDQxMSl7bGV0IGc9YW4obixlLHUsMCk7bi5hc3NpZ25hYmxlPTIsZD1zKG4sZSxvLGksbCx7dHlwZTpcIkNhbGxFeHByZXNzaW9uXCIsY2FsbGVlOnQsYXJndW1lbnRzOmcsb3B0aW9uYWw6ITB9KX1lbHNle2xldCBnPWNuKG4sZSx1KTtuLmFzc2lnbmFibGU9MixkPXMobixlLG8saSxsLHt0eXBlOlwiTWVtYmVyRXhwcmVzc2lvblwiLG9iamVjdDp0LGNvbXB1dGVkOiExLG9wdGlvbmFsOiEwLHByb3BlcnR5Omd9KX1yZXR1cm4gZiYmKG4uZmxhZ3N8PTIwNDgpLGR9ZnVuY3Rpb24gY24obixlLHUpe3JldHVybiEobi5nZXRUb2tlbigpJjE0MzM2MCkmJm4uZ2V0VG9rZW4oKSE9PS0yMTQ3NDgzNTI4JiZuLmdldFRva2VuKCkhPT0tMjE0NzQ4MzUyNyYmbi5nZXRUb2tlbigpIT09MTMwJiZjKG4sMTYwKSxuLmdldFRva2VuKCk9PT0xMzA/SDIobixlLHUsMCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbik6UihuLGUpfWZ1bmN0aW9uIGp1KG4sZSx1LHQsbyxpLGwsZil7dCYmYyhuLDU2KSxvfHxjKG4sMCk7bGV0IGQ9bi5nZXRUb2tlbigpO2IobixlfDgxOTIpO2xldCBnPVkobixlLHUsMCwwLDEsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pO3JldHVybiBuLmFzc2lnbmFibGUmMiYmYyhuLDU1KSxuLmFzc2lnbmFibGU9MixzKG4sZSxpLGwsZix7dHlwZTpcIlVwZGF0ZUV4cHJlc3Npb25cIixhcmd1bWVudDpnLG9wZXJhdG9yOlZbZCYyNTVdLHByZWZpeDohMH0pfWZ1bmN0aW9uIF8obixlLHUsdCxvLGksbCxmLGQsZyxtKXtpZigobi5nZXRUb2tlbigpJjE0MzM2MCk9PT0xNDMzNjApe3N3aXRjaChuLmdldFRva2VuKCkpe2Nhc2UgMjA5MDA2OnJldHVybiBSdShuLGUsdSxvLGwsZCxnLG0pO2Nhc2UgMjQxNzcxOnJldHVybiBPdShuLGUsdSxsLGksZCxnLG0pO2Nhc2UgMjA5MDA1OnJldHVybiBWdShuLGUsdSxsLGYsaSxvLGQsZyxtKX1sZXR7dG9rZW5WYWx1ZTp5fT1uLGE9bi5nZXRUb2tlbigpLGs9UihuLGV8MTYzODQpO3JldHVybiBuLmdldFRva2VuKCk9PT0xMD8oZnx8YyhuLDApLCQyKG4sZSxhKSwoYSYzNjg2NCk9PT0zNjg2NCYmKG4uZmxhZ3N8PTI1NiksXzIobixlLHUseSxrLG8saSwwLGQsZyxtKSk6KGUmNDA5NiYmIShlJjgzODg2MDgpJiYhKGUmMjA5NzE1MikmJm4udG9rZW5WYWx1ZT09PVwiYXJndW1lbnRzXCImJmMobiwxMzApLChhJjI1NSk9PT03MyYmKGUmMjU2JiZjKG4sMTEzKSx0JjI0JiZjKG4sMTAwKSksbi5hc3NpZ25hYmxlPWUmMjU2JiYoYSY1MzcwNzk4MDgpPT09NTM3MDc5ODA4PzI6MSxrKX1pZigobi5nZXRUb2tlbigpJjEzNDIxNzcyOCk9PT0xMzQyMTc3MjgpcmV0dXJuIEgobixlKTtzd2l0Y2gobi5nZXRUb2tlbigpKXtjYXNlIDMzNjE5OTkzOmNhc2UgMzM2MTk5OTQ6cmV0dXJuIGp1KG4sZSx1LG8sZixkLGcsbSk7Y2FzZSAxNjg2MzI3NjpjYXNlIDE2ODQyNzk4OmNhc2UgMTY4NDI3OTk6Y2FzZSAyNTIzMzk2ODpjYXNlIDI1MjMzOTY5OmNhc2UgMTY4NjMyNzU6Y2FzZSAxNjg2MzI3NzpyZXR1cm4gTnUobixlLHUsZixkLGcsbSxsKTtjYXNlIDg2MTA0OnJldHVybiB0ZShuLGUsdSwwLGwsZCxnLG0pO2Nhc2UgMjE2MjcwMDpyZXR1cm4gUXUobixlLHUsaT8wOjEsbCxkLGcsbSk7Y2FzZSA2OTI3MTU3MTpyZXR1cm4gWXUobixlLHUsaT8wOjEsbCxkLGcsbSk7Y2FzZSA2NzE3NDQxMTpyZXR1cm4gR3UobixlfDE2Mzg0LHUsaSwxLDAsZCxnLG0pO2Nhc2UgODYwMjE6Y2FzZSA4NjAyMjpjYXNlIDg2MDIzOnJldHVybiBXdShuLGUsZCxnLG0pO2Nhc2UgODYxMTE6cmV0dXJuIF91KG4sZSk7Y2FzZSA2NTU0MDpyZXR1cm4gcHUobixlLGQsZyxtKTtjYXNlIDEzMjpjYXNlIDg2MDk0OnJldHVybiBuMShuLGUsdSxsLGQsZyxtKTtjYXNlIDg2MTA5OnJldHVybiBVdShuLGUsZCxnLG0pO2Nhc2UgNjcxNzQ0MDk6cmV0dXJuIG1uKG4sZSxkLGcsbSk7Y2FzZSA2NzE3NDQwODpyZXR1cm4ga24obixlLHUpO2Nhc2UgODYxMDc6cmV0dXJuIHh1KG4sZSx1LGwsZCxnLG0pO2Nhc2UgMTM0MjgzMzg4OnJldHVybiB1ZShuLGUsZCxnLG0pO2Nhc2UgMTMwOnJldHVybiBIMihuLGUsdSwwLGQsZyxtKTtjYXNlIDg2MTA2OnJldHVybiBYdShuLGUsdSxvLGwsZCxnLG0pO2Nhc2UgODQ1NjI1NjppZihlJjgpcmV0dXJuIFEyKG4sZSx1LDAsZCxnLG0pO2RlZmF1bHQ6aWYoQjIoZSxuLmdldFRva2VuKCkpKXJldHVybiB5bihuLGUsdSxkLGcsbSk7YyhuLDMwLFZbbi5nZXRUb2tlbigpJjI1NV0pfX1mdW5jdGlvbiBYdShuLGUsdSx0LG8saSxsLGYpe2xldCBkPVIobixlKTtyZXR1cm4gbi5nZXRUb2tlbigpPT09NjcxMDg4Nzc/bmUobixlLGQsaSxsLGYpOih0JiZjKG4sMTQyKSxkPWVlKG4sZSx1LG8saSxsLGYpLG4uYXNzaWduYWJsZT0yLE8obixlLHUsZCxvLDAsaSxsLGYpKX1mdW5jdGlvbiBuZShuLGUsdSx0LG8saSl7ZSY1MTJ8fGMobiwxNjkpLGIobixlKTtsZXQgbD1uLmdldFRva2VuKCk7cmV0dXJuIGwhPT0yMDkwMzAmJm4udG9rZW5WYWx1ZSE9PVwibWV0YVwiP2MobiwxNzQpOmwmLTIxNDc0ODM2NDgmJmMobiwxNzUpLG4uYXNzaWduYWJsZT0yLHMobixlLHQsbyxpLHt0eXBlOlwiTWV0YVByb3BlcnR5XCIsbWV0YTp1LHByb3BlcnR5OlIobixlKX0pfWZ1bmN0aW9uIGVlKG4sZSx1LHQsbyxpLGwpe0MobixlfDgxOTIsNjcxNzQ0MTEpLG4uZ2V0VG9rZW4oKT09PTE0JiZjKG4sMTQzKTtsZXQgZD17dHlwZTpcIkltcG9ydEV4cHJlc3Npb25cIixzb3VyY2U6TShuLGUsdSwxLHQsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pfTtpZihlJjEpe2xldCBnPW51bGw7aWYobi5nZXRUb2tlbigpPT09MTgmJihDKG4sZSwxOCksbi5nZXRUb2tlbigpIT09MTYpKXtsZXQgbT0oZXwzMzU1NDQzMileMzM1NTQ0MzI7Zz1NKG4sbSx1LDEsdCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbil9ZC5vcHRpb25zPWcsUChuLGUsMTgpfXJldHVybiBDKG4sZSwxNikscyhuLGUsbyxpLGwsZCl9ZnVuY3Rpb24gbm4obixlLHU9bnVsbCl7aWYoIVAobixlLDIwNTc5KSlyZXR1cm5bXTtDKG4sZSwyMTYyNzAwKTtsZXQgdD1bXSxvPW5ldyBTZXQ7Zm9yKDtuLmdldFRva2VuKCkhPT0xMDc0NzkwNDE1Oyl7bGV0IGk9bi50b2tlbkluZGV4LGw9bi50b2tlbkxpbmUsZj1uLnRva2VuQ29sdW1uLGQ9enUobixlKTtDKG4sZSwyMSk7bGV0IGc9SHUobixlKSxtPWQudHlwZT09PVwiTGl0ZXJhbFwiP2QudmFsdWU6ZC5uYW1lO209PT1cInR5cGVcIiYmZy52YWx1ZT09PVwianNvblwiJiYodT09PW51bGx8fHUubGVuZ3RoPT09MSYmKHVbMF0udHlwZT09PVwiSW1wb3J0RGVmYXVsdFNwZWNpZmllclwifHx1WzBdLnR5cGU9PT1cIkltcG9ydE5hbWVzcGFjZVNwZWNpZmllclwifHx1WzBdLnR5cGU9PT1cIkltcG9ydFNwZWNpZmllclwiJiZ1WzBdLmltcG9ydGVkLnR5cGU9PT1cIklkZW50aWZpZXJcIiYmdVswXS5pbXBvcnRlZC5uYW1lPT09XCJkZWZhdWx0XCJ8fHVbMF0udHlwZT09PVwiRXhwb3J0U3BlY2lmaWVyXCImJnVbMF0ubG9jYWwudHlwZT09PVwiSWRlbnRpZmllclwiJiZ1WzBdLmxvY2FsLm5hbWU9PT1cImRlZmF1bHRcIil8fGMobiwxNDApKSxvLmhhcyhtKSYmYyhuLDE0NSxgJHttfWApLG8uYWRkKG0pLHQucHVzaChzKG4sZSxpLGwsZix7dHlwZTpcIkltcG9ydEF0dHJpYnV0ZVwiLGtleTpkLHZhbHVlOmd9KSksbi5nZXRUb2tlbigpIT09MTA3NDc5MDQxNSYmQyhuLGUsMTgpfXJldHVybiBDKG4sZSwxMDc0NzkwNDE1KSx0fWZ1bmN0aW9uIEh1KG4sZSl7aWYobi5nZXRUb2tlbigpPT09MTM0MjgzMjY3KXJldHVybiBIKG4sZSk7YyhuLDMwLFZbbi5nZXRUb2tlbigpJjI1NV0pfWZ1bmN0aW9uIHp1KG4sZSl7aWYobi5nZXRUb2tlbigpPT09MTM0MjgzMjY3KXJldHVybiBIKG4sZSk7aWYobi5nZXRUb2tlbigpJjE0MzM2MClyZXR1cm4gUihuLGUpO2MobiwzMCxWW24uZ2V0VG9rZW4oKSYyNTVdKX1mdW5jdGlvbiBLdShuLGUpe2xldCB1PWUubGVuZ3RoO2ZvcihsZXQgdD0wO3Q8dTt0Kyspe2xldCBvPWUuY2hhckNvZGVBdCh0KTsobyY2NDUxMik9PT01NTI5NiYmKG8+NTYzMTl8fCsrdD49dXx8KGUuY2hhckNvZGVBdCh0KSY2NDUxMikhPT01NjMyMCkmJmMobiwxNzEsSlNPTi5zdHJpbmdpZnkoZS5jaGFyQXQodC0tKSkpfX1mdW5jdGlvbiBPMihuLGUpe2lmKG4uZ2V0VG9rZW4oKT09PTEzNDI4MzI2NylyZXR1cm4gS3UobixuLnRva2VuVmFsdWUpLEgobixlKTtpZihuLmdldFRva2VuKCkmMTQzMzYwKXJldHVybiBSKG4sZSk7YyhuLDMwLFZbbi5nZXRUb2tlbigpJjI1NV0pfWZ1bmN0aW9uIHVlKG4sZSx1LHQsbyl7bGV0e3Rva2VuUmF3OmksdG9rZW5WYWx1ZTpsfT1uO3JldHVybiBiKG4sZSksbi5hc3NpZ25hYmxlPTIscyhuLGUsdSx0LG8sZSYxMjg/e3R5cGU6XCJMaXRlcmFsXCIsdmFsdWU6bCxiaWdpbnQ6aS5zbGljZSgwLC0xKSxyYXc6aX06e3R5cGU6XCJMaXRlcmFsXCIsdmFsdWU6bCxiaWdpbnQ6aS5zbGljZSgwLC0xKX0pfWZ1bmN0aW9uIG1uKG4sZSx1LHQsbyl7bi5hc3NpZ25hYmxlPTI7bGV0e3Rva2VuVmFsdWU6aSx0b2tlblJhdzpsLHRva2VuSW5kZXg6Zix0b2tlbkxpbmU6ZCx0b2tlbkNvbHVtbjpnfT1uO0MobixlLDY3MTc0NDA5KTtsZXQgbT1bUjIobixlLGksbCxmLGQsZywhMCldO3JldHVybiBzKG4sZSx1LHQsbyx7dHlwZTpcIlRlbXBsYXRlTGl0ZXJhbFwiLGV4cHJlc3Npb25zOltdLHF1YXNpczptfSl9ZnVuY3Rpb24ga24obixlLHUpe2U9KGV8MzM1NTQ0MzIpXjMzNTU0NDMyO2xldHt0b2tlblZhbHVlOnQsdG9rZW5SYXc6byx0b2tlbkluZGV4OmksdG9rZW5MaW5lOmwsdG9rZW5Db2x1bW46Zn09bjtDKG4sZSYtMTYzODV8ODE5Miw2NzE3NDQwOCk7bGV0IGQ9W1IyKG4sZSx0LG8saSxsLGYsITEpXSxnPVt6KG4sZSYtMTYzODUsdSwwLDEsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pXTtmb3Iobi5nZXRUb2tlbigpIT09MTA3NDc5MDQxNSYmYyhuLDgzKTtuLnNldFRva2VuKFdlKG4sZSksITApIT09NjcxNzQ0MDk7KXtsZXR7dG9rZW5WYWx1ZTptLHRva2VuUmF3OnksdG9rZW5JbmRleDphLHRva2VuTGluZTprLHRva2VuQ29sdW1uOmh9PW47QyhuLGUmLTE2Mzg1fDgxOTIsNjcxNzQ0MDgpLGQucHVzaChSMihuLGUsbSx5LGEsayxoLCExKSksZy5wdXNoKHoobixlLHUsMCwxLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKSksbi5nZXRUb2tlbigpIT09MTA3NDc5MDQxNSYmYyhuLDgzKX17bGV0e3Rva2VuVmFsdWU6bSx0b2tlblJhdzp5LHRva2VuSW5kZXg6YSx0b2tlbkxpbmU6ayx0b2tlbkNvbHVtbjpofT1uO0MobixlLDY3MTc0NDA5KSxkLnB1c2goUjIobixlLG0seSxhLGssaCwhMCkpfXJldHVybiBzKG4sZSxpLGwsZix7dHlwZTpcIlRlbXBsYXRlTGl0ZXJhbFwiLGV4cHJlc3Npb25zOmcscXVhc2lzOmR9KX1mdW5jdGlvbiBSMihuLGUsdSx0LG8saSxsLGYpe2xldCBkPXMobixlLG8saSxsLHt0eXBlOlwiVGVtcGxhdGVFbGVtZW50XCIsdmFsdWU6e2Nvb2tlZDp1LHJhdzp0fSx0YWlsOmZ9KSxnPWY/MToyO3JldHVybiBlJjImJihkLnN0YXJ0Kz0xLGQucmFuZ2VbMF0rPTEsZC5lbmQtPWcsZC5yYW5nZVsxXS09ZyksZSY0JiYoZC5sb2Muc3RhcnQuY29sdW1uKz0xLGQubG9jLmVuZC5jb2x1bW4tPWcpLGR9ZnVuY3Rpb24gJHUobixlLHUsdCxvLGkpe2U9KGV8MzM1NTQ0MzIpXjMzNTU0NDMyLEMobixlfDgxOTIsMTQpO2xldCBsPU0obixlLHUsMSwwLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKTtyZXR1cm4gbi5hc3NpZ25hYmxlPTEscyhuLGUsdCxvLGkse3R5cGU6XCJTcHJlYWRFbGVtZW50XCIsYXJndW1lbnQ6bH0pfWZ1bmN0aW9uIGFuKG4sZSx1LHQpe2IobixlfDgxOTIpO2xldCBvPVtdO2lmKG4uZ2V0VG9rZW4oKT09PTE2KXJldHVybiBiKG4sZXwxNjM4NCksbztmb3IoO24uZ2V0VG9rZW4oKSE9PTE2JiYobi5nZXRUb2tlbigpPT09MTQ/by5wdXNoKCR1KG4sZSx1LG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKSk6by5wdXNoKE0obixlLHUsMSx0LG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKSksIShuLmdldFRva2VuKCkhPT0xOHx8KGIobixlfDgxOTIpLG4uZ2V0VG9rZW4oKT09PTE2KSkpOyk7cmV0dXJuIEMobixlfDE2Mzg0LDE2KSxvfWZ1bmN0aW9uIFIobixlKXtsZXR7dG9rZW5WYWx1ZTp1LHRva2VuSW5kZXg6dCx0b2tlbkxpbmU6byx0b2tlbkNvbHVtbjppfT1uLGw9dT09PVwiYXdhaXRcIiYmKG4uZ2V0VG9rZW4oKSYtMjE0NzQ4MzY0OCk9PT0wO3JldHVybiBiKG4sZXwobD84MTkyOjApKSxzKG4sZSx0LG8saSx7dHlwZTpcIklkZW50aWZpZXJcIixuYW1lOnV9KX1mdW5jdGlvbiBIKG4sZSl7bGV0e3Rva2VuVmFsdWU6dSx0b2tlblJhdzp0LHRva2VuSW5kZXg6byx0b2tlbkxpbmU6aSx0b2tlbkNvbHVtbjpsfT1uO3JldHVybiBuLmdldFRva2VuKCk9PT0xMzQyODMzODg/dWUobixlLG8saSxsKTooYihuLGUpLG4uYXNzaWduYWJsZT0yLHMobixlLG8saSxsLGUmMTI4P3t0eXBlOlwiTGl0ZXJhbFwiLHZhbHVlOnUscmF3OnR9Ont0eXBlOlwiTGl0ZXJhbFwiLHZhbHVlOnV9KSl9ZnVuY3Rpb24gV3UobixlLHUsdCxvKXtsZXQgaT1WW24uZ2V0VG9rZW4oKSYyNTVdLGw9bi5nZXRUb2tlbigpPT09ODYwMjM/bnVsbDppPT09XCJ0cnVlXCI7cmV0dXJuIGIobixlKSxuLmFzc2lnbmFibGU9MixzKG4sZSx1LHQsbyxlJjEyOD97dHlwZTpcIkxpdGVyYWxcIix2YWx1ZTpsLHJhdzppfTp7dHlwZTpcIkxpdGVyYWxcIix2YWx1ZTpsfSl9ZnVuY3Rpb24gX3UobixlKXtsZXR7dG9rZW5JbmRleDp1LHRva2VuTGluZTp0LHRva2VuQ29sdW1uOm99PW47cmV0dXJuIGIobixlKSxuLmFzc2lnbmFibGU9MixzKG4sZSx1LHQsbyx7dHlwZTpcIlRoaXNFeHByZXNzaW9uXCJ9KX1mdW5jdGlvbiBkMihuLGUsdSx0LG8saSxsLGYsZCxnLG0pe2IobixlfDgxOTIpO2xldCB5PWk/Zm4obixlLDgzOTE0NzYpOjAsYT1udWxsLGssaD11P2EyKCk6dm9pZCAwO2lmKG4uZ2V0VG9rZW4oKT09PTY3MTc0NDExKWwmMXx8YyhuLDM5LFwiRnVuY3Rpb25cIik7ZWxzZXtsZXQgdj1vJjQmJighKGUmMjA0OCl8fCEoZSY1MTIpKT80OjY0fChmPzEwMjQ6MCl8KHk/MTAyNDowKTskbihuLGUsbi5nZXRUb2tlbigpKSx1JiYodiY0P1luKG4sZSx1LG4udG9rZW5WYWx1ZSx2KTpnMihuLGUsdSxuLnRva2VuVmFsdWUsdixvKSxoPWooaCwyNTYpLGwmJmwmMiYmbDIobixuLnRva2VuVmFsdWUpKSxrPW4uZ2V0VG9rZW4oKSxuLmdldFRva2VuKCkmMTQzMzYwP2E9UihuLGUpOmMobiwzMCxWW24uZ2V0VG9rZW4oKSYyNTVdKX1sZXQgVD03Mjc0NDk2O2U9KGV8VCleVHwxNjc3NzIxNnwoZj81MjQyODg6MCl8KHk/MjYyMTQ0OjApfCh5PzA6NjcxMDg4NjQpLHUmJihoPWooaCw1MTIpKTtsZXQgRT1vZShuLChlfDIwOTcxNTIpJi0yNjg0MzU0NTcsaCx0LDAsMSksdz0yNjg0NzEyOTYsST1XMihuLChlfHcpXnd8ODM4ODYwOHwxMDQ4NTc2LHU/aihoLDEyOCk6aCx0LDgsayxoPT1udWxsP3ZvaWQgMDpoLnNjb3BlRXJyb3IpO3JldHVybiBzKG4sZSxkLGcsbSx7dHlwZTpcIkZ1bmN0aW9uRGVjbGFyYXRpb25cIixpZDphLHBhcmFtczpFLGJvZHk6SSxhc3luYzpmPT09MSxnZW5lcmF0b3I6eT09PTF9KX1mdW5jdGlvbiB0ZShuLGUsdSx0LG8saSxsLGYpe2IobixlfDgxOTIpO2xldCBkPWZuKG4sZSw4MzkxNDc2KSxnPSh0PzUyNDI4ODowKXwoZD8yNjIxNDQ6MCksbT1udWxsLHksYT1lJjE2P2EyKCk6dm9pZCAwLGs9Mjc1NzA5OTUyO24uZ2V0VG9rZW4oKSYxNDMzNjAmJigkbihuLChlfGspXmt8ZyxuLmdldFRva2VuKCkpLGEmJihhPWooYSwyNTYpKSx5PW4uZ2V0VG9rZW4oKSxtPVIobixlKSksZT0oZXxrKV5rfDE2Nzc3MjE2fGd8KGQ/MDo2NzEwODg2NCksYSYmKGE9aihhLDUxMikpO2xldCBoPW9lKG4sKGV8MjA5NzE1MikmLTI2ODQzNTQ1NyxhLHUsbywxKSxUPVcyKG4sZSYtMzM1OTQzNjl8ODM4ODYwOHwxMDQ4NTc2LGEmJmooYSwxMjgpLHUsMCx5LGE9PW51bGw/dm9pZCAwOmEuc2NvcGVFcnJvcik7cmV0dXJuIG4uYXNzaWduYWJsZT0yLHMobixlLGksbCxmLHt0eXBlOlwiRnVuY3Rpb25FeHByZXNzaW9uXCIsaWQ6bSxwYXJhbXM6aCxib2R5OlQsYXN5bmM6dD09PTEsZ2VuZXJhdG9yOmQ9PT0xfSl9ZnVuY3Rpb24gWXUobixlLHUsdCxvLGksbCxmKXtsZXQgZD1RKG4sZSx2b2lkIDAsdSx0LG8sMCwyLDAsaSxsLGYpO3JldHVybiBuLmRlc3RydWN0aWJsZSY2NCYmYyhuLDYzKSxuLmRlc3RydWN0aWJsZSY4JiZjKG4sNjIpLGR9ZnVuY3Rpb24gUShuLGUsdSx0LG8saSxsLGYsZCxnLG0seSl7YihuLGV8ODE5Mik7bGV0IGE9W10saz0wO2ZvcihlPShlfDMzNTU0NDMyKV4zMzU1NDQzMjtuLmdldFRva2VuKCkhPT0yMDspaWYoUChuLGV8ODE5MiwxOCkpYS5wdXNoKG51bGwpO2Vsc2V7bGV0IFQse3Rva2VuSW5kZXg6RSx0b2tlbkxpbmU6dyx0b2tlbkNvbHVtbjpJLHRva2VuVmFsdWU6dn09bixGPW4uZ2V0VG9rZW4oKTtpZihGJjE0MzM2MClpZihUPV8obixlLHQsZiwwLDEsaSwxLEUsdyxJKSxuLmdldFRva2VuKCk9PT0xMDc3OTM2MTU1KXtuLmFzc2lnbmFibGUmMiYmYyhuLDI2KSxiKG4sZXw4MTkyKSx1JiZuMihuLGUsdSx2LGYsZCk7bGV0IHE9TShuLGUsdCwxLGksbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pO1Q9cyhuLGUsRSx3LEksbD97dHlwZTpcIkFzc2lnbm1lbnRQYXR0ZXJuXCIsbGVmdDpULHJpZ2h0OnF9Ont0eXBlOlwiQXNzaWdubWVudEV4cHJlc3Npb25cIixvcGVyYXRvcjpcIj1cIixsZWZ0OlQscmlnaHQ6cX0pLGt8PW4uZGVzdHJ1Y3RpYmxlJjI1Nj8yNTY6MHxuLmRlc3RydWN0aWJsZSYxMjg/MTI4OjB9ZWxzZSBuLmdldFRva2VuKCk9PT0xOHx8bi5nZXRUb2tlbigpPT09MjA/KG4uYXNzaWduYWJsZSYyP2t8PTE2OnUmJm4yKG4sZSx1LHYsZixkKSxrfD1uLmRlc3RydWN0aWJsZSYyNTY/MjU2OjB8bi5kZXN0cnVjdGlibGUmMTI4PzEyODowKTooa3w9ZiYxPzMyOmYmMj8wOjE2LFQ9TyhuLGUsdCxULGksMCxFLHcsSSksbi5nZXRUb2tlbigpIT09MTgmJm4uZ2V0VG9rZW4oKSE9PTIwPyhuLmdldFRva2VuKCkhPT0xMDc3OTM2MTU1JiYoa3w9MTYpLFQ9SihuLGUsdCxpLGwsRSx3LEksVCkpOm4uZ2V0VG9rZW4oKSE9PTEwNzc5MzYxNTUmJihrfD1uLmFzc2lnbmFibGUmMj8xNjozMikpO2Vsc2UgRiYyMDk3MTUyPyhUPW4uZ2V0VG9rZW4oKT09PTIxNjI3MDA/WihuLGUsdSx0LDAsaSxsLGYsZCxFLHcsSSk6UShuLGUsdSx0LDAsaSxsLGYsZCxFLHcsSSksa3w9bi5kZXN0cnVjdGlibGUsbi5hc3NpZ25hYmxlPW4uZGVzdHJ1Y3RpYmxlJjE2PzI6MSxuLmdldFRva2VuKCk9PT0xOHx8bi5nZXRUb2tlbigpPT09MjA/bi5hc3NpZ25hYmxlJjImJihrfD0xNik6bi5kZXN0cnVjdGlibGUmOD9jKG4sNzEpOihUPU8obixlLHQsVCxpLDAsRSx3LEkpLGs9bi5hc3NpZ25hYmxlJjI/MTY6MCxuLmdldFRva2VuKCkhPT0xOCYmbi5nZXRUb2tlbigpIT09MjA/VD1KKG4sZSx0LGksbCxFLHcsSSxUKTpuLmdldFRva2VuKCkhPT0xMDc3OTM2MTU1JiYoa3w9bi5hc3NpZ25hYmxlJjI/MTY6MzIpKSk6Rj09PTE0PyhUPWIyKG4sZSx1LHQsMjAsZixkLDAsaSxsLEUsdyxJKSxrfD1uLmRlc3RydWN0aWJsZSxuLmdldFRva2VuKCkhPT0xOCYmbi5nZXRUb2tlbigpIT09MjAmJmMobiwzMCxWW24uZ2V0VG9rZW4oKSYyNTVdKSk6KFQ9WShuLGUsdCwxLDAsMSxFLHcsSSksbi5nZXRUb2tlbigpIT09MTgmJm4uZ2V0VG9rZW4oKSE9PTIwPyhUPUoobixlLHQsaSxsLEUsdyxJLFQpLCEoZiYzKSYmRj09PTY3MTc0NDExJiYoa3w9MTYpKTpuLmFzc2lnbmFibGUmMj9rfD0xNjpGPT09NjcxNzQ0MTEmJihrfD1uLmFzc2lnbmFibGUmMSYmZiYzPzMyOjE2KSk7aWYoYS5wdXNoKFQpLFAobixlfDgxOTIsMTgpKXtpZihuLmdldFRva2VuKCk9PT0yMClicmVha31lbHNlIGJyZWFrfUMobixlLDIwKTtsZXQgaD1zKG4sZSxnLG0seSx7dHlwZTpsP1wiQXJyYXlQYXR0ZXJuXCI6XCJBcnJheUV4cHJlc3Npb25cIixlbGVtZW50czphfSk7cmV0dXJuIW8mJm4uZ2V0VG9rZW4oKSY0MTk0MzA0P2llKG4sZSx0LGssaSxsLGcsbSx5LGgpOihuLmRlc3RydWN0aWJsZT1rLGgpfWZ1bmN0aW9uIGllKG4sZSx1LHQsbyxpLGwsZixkLGcpe24uZ2V0VG9rZW4oKSE9PTEwNzc5MzYxNTUmJmMobiwyNiksYihuLGV8ODE5MiksdCYxNiYmYyhuLDI2KSxpfHxyKG4sZyk7bGV0e3Rva2VuSW5kZXg6bSx0b2tlbkxpbmU6eSx0b2tlbkNvbHVtbjphfT1uLGs9TShuLGUsdSwxLG8sbSx5LGEpO3JldHVybiBuLmRlc3RydWN0aWJsZT0odHw2NHw4KV43Mnwobi5kZXN0cnVjdGlibGUmMTI4PzEyODowKXwobi5kZXN0cnVjdGlibGUmMjU2PzI1NjowKSxzKG4sZSxsLGYsZCxpP3t0eXBlOlwiQXNzaWdubWVudFBhdHRlcm5cIixsZWZ0OmcscmlnaHQ6a306e3R5cGU6XCJBc3NpZ25tZW50RXhwcmVzc2lvblwiLGxlZnQ6ZyxvcGVyYXRvcjpcIj1cIixyaWdodDprfSl9ZnVuY3Rpb24gYjIobixlLHUsdCxvLGksbCxmLGQsZyxtLHksYSl7YihuLGV8ODE5Mik7bGV0IGs9bnVsbCxoPTAse3Rva2VuVmFsdWU6VCx0b2tlbkluZGV4OkUsdG9rZW5MaW5lOncsdG9rZW5Db2x1bW46SX09bix2PW4uZ2V0VG9rZW4oKTtpZih2JjE0MzM2MCluLmFzc2lnbmFibGU9MSxrPV8obixlLHQsaSwwLDEsZCwxLEUsdyxJKSx2PW4uZ2V0VG9rZW4oKSxrPU8obixlLHQsayxkLDAsRSx3LEkpLG4uZ2V0VG9rZW4oKSE9PTE4JiZuLmdldFRva2VuKCkhPT1vJiYobi5hc3NpZ25hYmxlJjImJm4uZ2V0VG9rZW4oKT09PTEwNzc5MzYxNTUmJmMobiw3MSksaHw9MTYsaz1KKG4sZSx0LGQsZyxFLHcsSSxrKSksbi5hc3NpZ25hYmxlJjI/aHw9MTY6dj09PW98fHY9PT0xOD91JiZuMihuLGUsdSxULGksbCk6aHw9MzIsaHw9bi5kZXN0cnVjdGlibGUmMTI4PzEyODowO2Vsc2UgaWYodj09PW8pYyhuLDQxKTtlbHNlIGlmKHYmMjA5NzE1MilrPW4uZ2V0VG9rZW4oKT09PTIxNjI3MDA/WihuLGUsdSx0LDEsZCxnLGksbCxFLHcsSSk6UShuLGUsdSx0LDEsZCxnLGksbCxFLHcsSSksdj1uLmdldFRva2VuKCksdiE9PTEwNzc5MzYxNTUmJnYhPT1vJiZ2IT09MTg/KG4uZGVzdHJ1Y3RpYmxlJjgmJmMobiw3MSksaz1PKG4sZSx0LGssZCwwLEUsdyxJKSxofD1uLmFzc2lnbmFibGUmMj8xNjowLChuLmdldFRva2VuKCkmNDE5NDMwNCk9PT00MTk0MzA0PyhuLmdldFRva2VuKCkhPT0xMDc3OTM2MTU1JiYoaHw9MTYpLGs9SihuLGUsdCxkLGcsRSx3LEksaykpOigobi5nZXRUb2tlbigpJjgzODg2MDgpPT09ODM4ODYwOCYmKGs9ZjIobixlLHQsMSxFLHcsSSw0LHYsaykpLFAobixlfDgxOTIsMjIpJiYoaz1jMihuLGUsdCxrLEUsdyxJKSksaHw9bi5hc3NpZ25hYmxlJjI/MTY6MzIpKTpofD1vPT09MTA3NDc5MDQxNSYmdiE9PTEwNzc5MzYxNTU/MTY6bi5kZXN0cnVjdGlibGU7ZWxzZXtofD0zMixrPVkobixlLHQsMSxkLDEsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pO2xldHt0b2tlbkluZGV4OkYsdG9rZW5MaW5lOnEsdG9rZW5Db2x1bW46VX09bixEPW4uZ2V0VG9rZW4oKTtyZXR1cm4gRD09PTEwNzc5MzYxNTU/KG4uYXNzaWduYWJsZSYyJiZjKG4sMjYpLGs9SihuLGUsdCxkLGcsRixxLFUsayksaHw9MTYpOihEPT09MTg/aHw9MTY6RCE9PW8mJihrPUoobixlLHQsZCxnLEYscSxVLGspKSxofD1uLmFzc2lnbmFibGUmMT8zMjoxNiksbi5kZXN0cnVjdGlibGU9aCxuLmdldFRva2VuKCkhPT1vJiZuLmdldFRva2VuKCkhPT0xOCYmYyhuLDE2MSkscyhuLGUsbSx5LGEse3R5cGU6Zz9cIlJlc3RFbGVtZW50XCI6XCJTcHJlYWRFbGVtZW50XCIsYXJndW1lbnQ6a30pfWlmKG4uZ2V0VG9rZW4oKSE9PW8paWYoaSYxJiYoaHw9Zj8xNjozMiksUChuLGV8ODE5MiwxMDc3OTM2MTU1KSl7aCYxNiYmYyhuLDI2KSxyKG4sayk7bGV0IEY9TShuLGUsdCwxLGQsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pO2s9cyhuLGUsRSx3LEksZz97dHlwZTpcIkFzc2lnbm1lbnRQYXR0ZXJuXCIsbGVmdDprLHJpZ2h0OkZ9Ont0eXBlOlwiQXNzaWdubWVudEV4cHJlc3Npb25cIixsZWZ0Omssb3BlcmF0b3I6XCI9XCIscmlnaHQ6Rn0pLGg9MTZ9ZWxzZSBofD0xNjtyZXR1cm4gbi5kZXN0cnVjdGlibGU9aCxzKG4sZSxtLHksYSx7dHlwZTpnP1wiUmVzdEVsZW1lbnRcIjpcIlNwcmVhZEVsZW1lbnRcIixhcmd1bWVudDprfSl9ZnVuY3Rpb24geChuLGUsdSx0LG8saSxsLGYpe3ZhciBhO2xldCBkPTI4ODM1ODR8KHQmNjQ/MDo0MzI1Mzc2KTtlPShlfGQpXmR8KHQmOD8yNjIxNDQ6MCl8KHQmMTY/NTI0Mjg4OjApfCh0JjY0PzQxOTQzMDQ6MCl8NjU1MzZ8ODM4ODYwOHwxNjc3NzIxNjtsZXQgZz1lJjE2P2ooYTIoKSw1MTIpOnZvaWQgMCxtPVp1KG4sKGV8MjA5NzE1MikmLTI2ODQzNTQ1NyxnLHUsdCwxLG8pO2cmJihnPWooZywxMjgpKTtsZXQgeT1XMihuLGUmLTMwMTk5Mjk2MXw4Mzg4NjA4fDEwNDg1NzYsZyx1LDAsdm9pZCAwLChhPWc9PW51bGw/dm9pZCAwOmcucGFyZW50KT09bnVsbD92b2lkIDA6YS5zY29wZUVycm9yKTtyZXR1cm4gcyhuLGUsaSxsLGYse3R5cGU6XCJGdW5jdGlvbkV4cHJlc3Npb25cIixwYXJhbXM6bSxib2R5OnksYXN5bmM6KHQmMTYpPjAsZ2VuZXJhdG9yOih0JjgpPjAsaWQ6bnVsbH0pfWZ1bmN0aW9uIFF1KG4sZSx1LHQsbyxpLGwsZil7bGV0IGQ9WihuLGUsdm9pZCAwLHUsdCxvLDAsMiwwLGksbCxmKTtyZXR1cm4gbi5kZXN0cnVjdGlibGUmNjQmJmMobiw2Myksbi5kZXN0cnVjdGlibGUmOCYmYyhuLDYyKSxkfWZ1bmN0aW9uIFoobixlLHUsdCxvLGksbCxmLGQsZyxtLHkpe2IobixlKTtsZXQgYT1bXSxrPTAsaD0wO2ZvcihlPShlfDMzNTU0NDMyKV4zMzU1NDQzMjtuLmdldFRva2VuKCkhPT0xMDc0NzkwNDE1Oyl7bGV0e3Rva2VuVmFsdWU6RSx0b2tlbkxpbmU6dyx0b2tlbkNvbHVtbjpJLHRva2VuSW5kZXg6dn09bixGPW4uZ2V0VG9rZW4oKTtpZihGPT09MTQpYS5wdXNoKGIyKG4sZSx1LHQsMTA3NDc5MDQxNSxmLGQsMCxpLGwsdix3LEkpKTtlbHNle2xldCBxPTAsVT1udWxsLEQ7aWYobi5nZXRUb2tlbigpJjE0MzM2MHx8bi5nZXRUb2tlbigpPT09LTIxNDc0ODM1Mjh8fG4uZ2V0VG9rZW4oKT09PS0yMTQ3NDgzNTI3KWlmKG4uZ2V0VG9rZW4oKT09PS0yMTQ3NDgzNTI3JiYoa3w9MTYpLFU9UihuLGUpLG4uZ2V0VG9rZW4oKT09PTE4fHxuLmdldFRva2VuKCk9PT0xMDc0NzkwNDE1fHxuLmdldFRva2VuKCk9PT0xMDc3OTM2MTU1KWlmKHF8PTQsZSYyNTYmJihGJjUzNzA3OTgwOCk9PT01MzcwNzk4MDg/a3w9MTY6SjIobixlLGYsRiwwKSx1JiZuMihuLGUsdSxFLGYsZCksUChuLGV8ODE5MiwxMDc3OTM2MTU1KSl7a3w9ODtsZXQgQj1NKG4sZSx0LDEsaSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbik7a3w9bi5kZXN0cnVjdGlibGUmMjU2PzI1NjowfG4uZGVzdHJ1Y3RpYmxlJjEyOD8xMjg6MCxEPXMobixlLHYsdyxJLHt0eXBlOlwiQXNzaWdubWVudFBhdHRlcm5cIixsZWZ0OmUmMTM0MjE3NzI4P09iamVjdC5hc3NpZ24oe30sVSk6VSxyaWdodDpCfSl9ZWxzZSBrfD0oRj09PTIwOTAwNj8xMjg6MCl8KEY9PT0tMjE0NzQ4MzUyOD8xNjowKSxEPWUmMTM0MjE3NzI4P09iamVjdC5hc3NpZ24oe30sVSk6VTtlbHNlIGlmKFAobixlfDgxOTIsMjEpKXtsZXR7dG9rZW5JbmRleDpCLHRva2VuTGluZTpMLHRva2VuQ29sdW1uOlN9PW47aWYoRT09PVwiX19wcm90b19fXCImJmgrKyxuLmdldFRva2VuKCkmMTQzMzYwKXtsZXQgRDI9bi5nZXRUb2tlbigpLHQyPW4udG9rZW5WYWx1ZTtEPV8obixlLHQsZiwwLDEsaSwxLEIsTCxTKTtsZXQgcD1uLmdldFRva2VuKCk7RD1PKG4sZSx0LEQsaSwwLEIsTCxTKSxuLmdldFRva2VuKCk9PT0xOHx8bi5nZXRUb2tlbigpPT09MTA3NDc5MDQxNT9wPT09MTA3NzkzNjE1NXx8cD09PTEwNzQ3OTA0MTV8fHA9PT0xOD8oa3w9bi5kZXN0cnVjdGlibGUmMTI4PzEyODowLG4uYXNzaWduYWJsZSYyP2t8PTE2OnUmJihEMiYxNDMzNjApPT09MTQzMzYwJiZuMihuLGUsdSx0MixmLGQpKTprfD1uLmFzc2lnbmFibGUmMT8zMjoxNjoobi5nZXRUb2tlbigpJjQxOTQzMDQpPT09NDE5NDMwND8obi5hc3NpZ25hYmxlJjI/a3w9MTY6cCE9PTEwNzc5MzYxNTU/a3w9MzI6dSYmbjIobixlLHUsdDIsZixkKSxEPUoobixlLHQsaSxsLEIsTCxTLEQpKTooa3w9MTYsKG4uZ2V0VG9rZW4oKSY4Mzg4NjA4KT09PTgzODg2MDgmJihEPWYyKG4sZSx0LDEsQixMLFMsNCxwLEQpKSxQKG4sZXw4MTkyLDIyKSYmKEQ9YzIobixlLHQsRCxCLEwsUykpKX1lbHNlKG4uZ2V0VG9rZW4oKSYyMDk3MTUyKT09PTIwOTcxNTI/KEQ9bi5nZXRUb2tlbigpPT09NjkyNzE1NzE/UShuLGUsdSx0LDAsaSxsLGYsZCxCLEwsUyk6WihuLGUsdSx0LDAsaSxsLGYsZCxCLEwsUyksaz1uLmRlc3RydWN0aWJsZSxuLmFzc2lnbmFibGU9ayYxNj8yOjEsbi5nZXRUb2tlbigpPT09MTh8fG4uZ2V0VG9rZW4oKT09PTEwNzQ3OTA0MTU/bi5hc3NpZ25hYmxlJjImJihrfD0xNik6bi5kZXN0cnVjdGlibGUmOD9jKG4sNzEpOihEPU8obixlLHQsRCxpLDAsQixMLFMpLGs9bi5hc3NpZ25hYmxlJjI/MTY6MCwobi5nZXRUb2tlbigpJjQxOTQzMDQpPT09NDE5NDMwND9EPU4yKG4sZSx0LGksbCxCLEwsUyxEKTooKG4uZ2V0VG9rZW4oKSY4Mzg4NjA4KT09PTgzODg2MDgmJihEPWYyKG4sZSx0LDEsQixMLFMsNCxGLEQpKSxQKG4sZXw4MTkyLDIyKSYmKEQ9YzIobixlLHQsRCxCLEwsUykpLGt8PW4uYXNzaWduYWJsZSYyPzE2OjMyKSkpOihEPVkobixlLHQsMSxpLDEsQixMLFMpLGt8PW4uYXNzaWduYWJsZSYxPzMyOjE2LG4uZ2V0VG9rZW4oKT09PTE4fHxuLmdldFRva2VuKCk9PT0xMDc0NzkwNDE1P24uYXNzaWduYWJsZSYyJiYoa3w9MTYpOihEPU8obixlLHQsRCxpLDAsQixMLFMpLGs9bi5hc3NpZ25hYmxlJjI/MTY6MCxuLmdldFRva2VuKCkhPT0xOCYmRiE9PTEwNzQ3OTA0MTUmJihuLmdldFRva2VuKCkhPT0xMDc3OTM2MTU1JiYoa3w9MTYpLEQ9SihuLGUsdCxpLGwsQixMLFMsRCkpKSl9ZWxzZSBuLmdldFRva2VuKCk9PT02OTI3MTU3MT8oa3w9MTYsRj09PTIwOTAwNSYmKHF8PTE2KSxxfD0oRj09PTEyNDAwPzI1NjpGPT09MTI0MDE/NTEyOjEpfDIsVT15MihuLGUsdCxpKSxrfD1uLmFzc2lnbmFibGUsRD14KG4sZSx0LHEsaSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbikpOm4uZ2V0VG9rZW4oKSYxNDMzNjA/KGt8PTE2LEY9PT0tMjE0NzQ4MzUyOCYmYyhuLDk1KSxGPT09MjA5MDA1PyhuLmZsYWdzJjEmJmMobiwxMzIpLHF8PTE3KTpGPT09MTI0MDA/cXw9MjU2OkY9PT0xMjQwMT9xfD01MTI6YyhuLDApLFU9UihuLGUpLEQ9eChuLGUsdCxxLGksbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pKTpuLmdldFRva2VuKCk9PT02NzE3NDQxMT8oa3w9MTYscXw9MSxEPXgobixlLHQscSxpLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKSk6bi5nZXRUb2tlbigpPT09ODM5MTQ3Nj8oa3w9MTYsRj09PTEyNDAwP2Mobiw0Mik6Rj09PTEyNDAxP2Mobiw0Myk6RiE9PTIwOTAwNSYmYyhuLDMwLFZbNTJdKSxiKG4sZSkscXw9OXwoRj09PTIwOTAwNT8xNjowKSxuLmdldFRva2VuKCkmMTQzMzYwP1U9UihuLGUpOihuLmdldFRva2VuKCkmMTM0MjE3NzI4KT09PTEzNDIxNzcyOD9VPUgobixlKTpuLmdldFRva2VuKCk9PT02OTI3MTU3MT8ocXw9MixVPXkyKG4sZSx0LGkpLGt8PW4uYXNzaWduYWJsZSk6YyhuLDMwLFZbbi5nZXRUb2tlbigpJjI1NV0pLEQ9eChuLGUsdCxxLGksbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pKToobi5nZXRUb2tlbigpJjEzNDIxNzcyOCk9PT0xMzQyMTc3Mjg/KEY9PT0yMDkwMDUmJihxfD0xNikscXw9Rj09PTEyNDAwPzI1NjpGPT09MTI0MDE/NTEyOjEsa3w9MTYsVT1IKG4sZSksRD14KG4sZSx0LHEsaSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbikpOmMobiwxMzMpO2Vsc2UgaWYoKG4uZ2V0VG9rZW4oKSYxMzQyMTc3MjgpPT09MTM0MjE3NzI4KWlmKFU9SChuLGUpLG4uZ2V0VG9rZW4oKT09PTIxKXtDKG4sZXw4MTkyLDIxKTtsZXR7dG9rZW5JbmRleDpCLHRva2VuTGluZTpMLHRva2VuQ29sdW1uOlN9PW47aWYoRT09PVwiX19wcm90b19fXCImJmgrKyxuLmdldFRva2VuKCkmMTQzMzYwKXtEPV8obixlLHQsZiwwLDEsaSwxLEIsTCxTKTtsZXR7dG9rZW5WYWx1ZTpEMn09bix0Mj1uLmdldFRva2VuKCk7RD1PKG4sZSx0LEQsaSwwLEIsTCxTKSxuLmdldFRva2VuKCk9PT0xOHx8bi5nZXRUb2tlbigpPT09MTA3NDc5MDQxNT90Mj09PTEwNzc5MzYxNTV8fHQyPT09MTA3NDc5MDQxNXx8dDI9PT0xOD9uLmFzc2lnbmFibGUmMj9rfD0xNjp1JiZuMihuLGUsdSxEMixmLGQpOmt8PW4uYXNzaWduYWJsZSYxPzMyOjE2Om4uZ2V0VG9rZW4oKT09PTEwNzc5MzYxNTU/KG4uYXNzaWduYWJsZSYyJiYoa3w9MTYpLEQ9SihuLGUsdCxpLGwsQixMLFMsRCkpOihrfD0xNixEPUoobixlLHQsaSxsLEIsTCxTLEQpKX1lbHNlKG4uZ2V0VG9rZW4oKSYyMDk3MTUyKT09PTIwOTcxNTI/KEQ9bi5nZXRUb2tlbigpPT09NjkyNzE1NzE/UShuLGUsdSx0LDAsaSxsLGYsZCxCLEwsUyk6WihuLGUsdSx0LDAsaSxsLGYsZCxCLEwsUyksaz1uLmRlc3RydWN0aWJsZSxuLmFzc2lnbmFibGU9ayYxNj8yOjEsbi5nZXRUb2tlbigpPT09MTh8fG4uZ2V0VG9rZW4oKT09PTEwNzQ3OTA0MTU/bi5hc3NpZ25hYmxlJjImJihrfD0xNik6KG4uZGVzdHJ1Y3RpYmxlJjgpIT09OCYmKEQ9TyhuLGUsdCxELGksMCxCLEwsUyksaz1uLmFzc2lnbmFibGUmMj8xNjowLChuLmdldFRva2VuKCkmNDE5NDMwNCk9PT00MTk0MzA0P0Q9TjIobixlLHQsaSxsLEIsTCxTLEQpOigobi5nZXRUb2tlbigpJjgzODg2MDgpPT09ODM4ODYwOCYmKEQ9ZjIobixlLHQsMSxCLEwsUyw0LEYsRCkpLFAobixlfDgxOTIsMjIpJiYoRD1jMihuLGUsdCxELEIsTCxTKSksa3w9bi5hc3NpZ25hYmxlJjI/MTY6MzIpKSk6KEQ9WShuLGUsdCwxLDAsMSxCLEwsUyksa3w9bi5hc3NpZ25hYmxlJjE/MzI6MTYsbi5nZXRUb2tlbigpPT09MTh8fG4uZ2V0VG9rZW4oKT09PTEwNzQ3OTA0MTU/bi5hc3NpZ25hYmxlJjImJihrfD0xNik6KEQ9TyhuLGUsdCxELGksMCxCLEwsUyksaz1uLmFzc2lnbmFibGUmMT8wOjE2LG4uZ2V0VG9rZW4oKSE9PTE4JiZuLmdldFRva2VuKCkhPT0xMDc0NzkwNDE1JiYobi5nZXRUb2tlbigpIT09MTA3NzkzNjE1NSYmKGt8PTE2KSxEPUoobixlLHQsaSxsLEIsTCxTLEQpKSkpfWVsc2Ugbi5nZXRUb2tlbigpPT09NjcxNzQ0MTE/KHF8PTEsRD14KG4sZSx0LHEsaSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbiksaz1uLmFzc2lnbmFibGV8MTYpOmMobiwxMzQpO2Vsc2UgaWYobi5nZXRUb2tlbigpPT09NjkyNzE1NzEpaWYoVT15MihuLGUsdCxpKSxrfD1uLmRlc3RydWN0aWJsZSYyNTY/MjU2OjAscXw9MixuLmdldFRva2VuKCk9PT0yMSl7YihuLGV8ODE5Mik7bGV0e3Rva2VuSW5kZXg6Qix0b2tlbkxpbmU6TCx0b2tlbkNvbHVtbjpTLHRva2VuVmFsdWU6RDJ9PW4sdDI9bi5nZXRUb2tlbigpO2lmKG4uZ2V0VG9rZW4oKSYxNDMzNjApe0Q9XyhuLGUsdCxmLDAsMSxpLDEsQixMLFMpO2xldCBwPW4uZ2V0VG9rZW4oKTtEPU8obixlLHQsRCxpLDAsQixMLFMpLChuLmdldFRva2VuKCkmNDE5NDMwNCk9PT00MTk0MzA0PyhrfD1uLmFzc2lnbmFibGUmMj8xNjpwPT09MTA3NzkzNjE1NT8wOjMyLEQ9TjIobixlLHQsaSxsLEIsTCxTLEQpKTpuLmdldFRva2VuKCk9PT0xOHx8bi5nZXRUb2tlbigpPT09MTA3NDc5MDQxNT9wPT09MTA3NzkzNjE1NXx8cD09PTEwNzQ3OTA0MTV8fHA9PT0xOD9uLmFzc2lnbmFibGUmMj9rfD0xNjp1JiYodDImMTQzMzYwKT09PTE0MzM2MCYmbjIobixlLHUsRDIsZixkKTprfD1uLmFzc2lnbmFibGUmMT8zMjoxNjooa3w9MTYsRD1KKG4sZSx0LGksbCxCLEwsUyxEKSl9ZWxzZShuLmdldFRva2VuKCkmMjA5NzE1Mik9PT0yMDk3MTUyPyhEPW4uZ2V0VG9rZW4oKT09PTY5MjcxNTcxP1EobixlLHUsdCwwLGksbCxmLGQsQixMLFMpOloobixlLHUsdCwwLGksbCxmLGQsQixMLFMpLGs9bi5kZXN0cnVjdGlibGUsbi5hc3NpZ25hYmxlPWsmMTY/MjoxLG4uZ2V0VG9rZW4oKT09PTE4fHxuLmdldFRva2VuKCk9PT0xMDc0NzkwNDE1P24uYXNzaWduYWJsZSYyJiYoa3w9MTYpOmsmOD9jKG4sNjIpOihEPU8obixlLHQsRCxpLDAsQixMLFMpLGs9bi5hc3NpZ25hYmxlJjI/a3wxNjowLChuLmdldFRva2VuKCkmNDE5NDMwNCk9PT00MTk0MzA0PyhuLmdldFRva2VuKCkhPT0xMDc3OTM2MTU1JiYoa3w9MTYpLEQ9TjIobixlLHQsaSxsLEIsTCxTLEQpKTooKG4uZ2V0VG9rZW4oKSY4Mzg4NjA4KT09PTgzODg2MDgmJihEPWYyKG4sZSx0LDEsQixMLFMsNCxGLEQpKSxQKG4sZXw4MTkyLDIyKSYmKEQ9YzIobixlLHQsRCxCLEwsUykpLGt8PW4uYXNzaWduYWJsZSYyPzE2OjMyKSkpOihEPVkobixlLHQsMSwwLDEsQixMLFMpLGt8PW4uYXNzaWduYWJsZSYxPzMyOjE2LG4uZ2V0VG9rZW4oKT09PTE4fHxuLmdldFRva2VuKCk9PT0xMDc0NzkwNDE1P24uYXNzaWduYWJsZSYyJiYoa3w9MTYpOihEPU8obixlLHQsRCxpLDAsQixMLFMpLGs9bi5hc3NpZ25hYmxlJjE/MDoxNixuLmdldFRva2VuKCkhPT0xOCYmbi5nZXRUb2tlbigpIT09MTA3NDc5MDQxNSYmKG4uZ2V0VG9rZW4oKSE9PTEwNzc5MzYxNTUmJihrfD0xNiksRD1KKG4sZSx0LGksbCxCLEwsUyxEKSkpKX1lbHNlIG4uZ2V0VG9rZW4oKT09PTY3MTc0NDExPyhxfD0xLEQ9eChuLGUsdCxxLGksbi50b2tlbkluZGV4LHcsSSksaz0xNik6YyhuLDQ0KTtlbHNlIGlmKEY9PT04MzkxNDc2KWlmKEMobixlfDgxOTIsODM5MTQ3NikscXw9OCxuLmdldFRva2VuKCkmMTQzMzYwKXtsZXQgQj1uLmdldFRva2VuKCk7VT1SKG4sZSkscXw9MSxuLmdldFRva2VuKCk9PT02NzE3NDQxMT8oa3w9MTYsRD14KG4sZSx0LHEsaSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbikpOiQobi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4sbi5pbmRleCxuLmxpbmUsbi5jb2x1bW4sQj09PTIwOTAwNT80NjpCPT09MTI0MDB8fG4uZ2V0VG9rZW4oKT09PTEyNDAxPzQ1OjQ3LFZbQiYyNTVdKX1lbHNlKG4uZ2V0VG9rZW4oKSYxMzQyMTc3MjgpPT09MTM0MjE3NzI4PyhrfD0xNixVPUgobixlKSxxfD0xLEQ9eChuLGUsdCxxLGksdix3LEkpKTpuLmdldFRva2VuKCk9PT02OTI3MTU3MT8oa3w9MTYscXw9MyxVPXkyKG4sZSx0LGkpLEQ9eChuLGUsdCxxLGksbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pKTpjKG4sMTI2KTtlbHNlIGMobiwzMCxWW0YmMjU1XSk7a3w9bi5kZXN0cnVjdGlibGUmMTI4PzEyODowLG4uZGVzdHJ1Y3RpYmxlPWssYS5wdXNoKHMobixlLHYsdyxJLHt0eXBlOlwiUHJvcGVydHlcIixrZXk6VSx2YWx1ZTpELGtpbmQ6cSY3Njg/cSY1MTI/XCJzZXRcIjpcImdldFwiOlwiaW5pdFwiLGNvbXB1dGVkOihxJjIpPjAsbWV0aG9kOihxJjEpPjAsc2hvcnRoYW5kOihxJjQpPjB9KSl9aWYoa3w9bi5kZXN0cnVjdGlibGUsbi5nZXRUb2tlbigpIT09MTgpYnJlYWs7YihuLGUpfUMobixlLDEwNzQ3OTA0MTUpLGg+MSYmKGt8PTY0KTtsZXQgVD1zKG4sZSxnLG0seSx7dHlwZTpsP1wiT2JqZWN0UGF0dGVyblwiOlwiT2JqZWN0RXhwcmVzc2lvblwiLHByb3BlcnRpZXM6YX0pO3JldHVybiFvJiZuLmdldFRva2VuKCkmNDE5NDMwND9pZShuLGUsdCxrLGksbCxnLG0seSxUKToobi5kZXN0cnVjdGlibGU9ayxUKX1mdW5jdGlvbiBadShuLGUsdSx0LG8saSxsKXtDKG4sZSw2NzE3NDQxMSk7bGV0IGY9W107aWYobi5mbGFncz0obi5mbGFnc3wxMjgpXjEyOCxuLmdldFRva2VuKCk9PT0xNilyZXR1cm4gbyY1MTImJmMobiwzNyxcIlNldHRlclwiLFwib25lXCIsXCJcIiksYihuLGUpLGY7byYyNTYmJmMobiwzNyxcIkdldHRlclwiLFwibm9cIixcInNcIiksbyY1MTImJm4uZ2V0VG9rZW4oKT09PTE0JiZjKG4sMzgpLGU9KGV8MzM1NTQ0MzIpXjMzNTU0NDMyO2xldCBkPTAsZz0wO2Zvcig7bi5nZXRUb2tlbigpIT09MTg7KXtsZXQgbT1udWxsLHt0b2tlbkluZGV4OnksdG9rZW5MaW5lOmEsdG9rZW5Db2x1bW46a309bjtpZihuLmdldFRva2VuKCkmMTQzMzYwPyhlJjI1Nnx8KChuLmdldFRva2VuKCkmMzY4NjQpPT09MzY4NjQmJihuLmZsYWdzfD0yNTYpLChuLmdldFRva2VuKCkmNTM3MDc5ODA4KT09PTUzNzA3OTgwOCYmKG4uZmxhZ3N8PTUxMikpLG09aG4obixlLHUsb3wxLDAseSxhLGspKToobi5nZXRUb2tlbigpPT09MjE2MjcwMD9tPVoobixlLHUsdCwxLGwsMSxpLDAseSxhLGspOm4uZ2V0VG9rZW4oKT09PTY5MjcxNTcxP209UShuLGUsdSx0LDEsbCwxLGksMCx5LGEsayk6bi5nZXRUb2tlbigpPT09MTQmJihtPWIyKG4sZSx1LHQsMTYsaSwwLDAsbCwxLHksYSxrKSksZz0xLG4uZGVzdHJ1Y3RpYmxlJjQ4JiZjKG4sNTApKSxuLmdldFRva2VuKCk9PT0xMDc3OTM2MTU1KXtiKG4sZXw4MTkyKSxnPTE7bGV0IGg9TShuLGUsdCwxLDAsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pO209cyhuLGUseSxhLGsse3R5cGU6XCJBc3NpZ25tZW50UGF0dGVyblwiLGxlZnQ6bSxyaWdodDpofSl9aWYoZCsrLGYucHVzaChtKSwhUChuLGUsMTgpfHxuLmdldFRva2VuKCk9PT0xNilicmVha31yZXR1cm4gbyY1MTImJmQhPT0xJiZjKG4sMzcsXCJTZXR0ZXJcIixcIm9uZVwiLFwiXCIpLHUmJnUuc2NvcGVFcnJvciYmejIodS5zY29wZUVycm9yKSxnJiYobi5mbGFnc3w9MTI4KSxDKG4sZSwxNiksZn1mdW5jdGlvbiB5MihuLGUsdSx0KXtiKG4sZXw4MTkyKTtsZXQgbz1NKG4sKGV8MzM1NTQ0MzIpXjMzNTU0NDMyLHUsMSx0LG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKTtyZXR1cm4gQyhuLGUsMjApLG99ZnVuY3Rpb24gR3UobixlLHUsdCxvLGksbCxmLGQpe24uZmxhZ3M9KG4uZmxhZ3N8MTI4KV4xMjg7bGV0e3Rva2VuSW5kZXg6Zyx0b2tlbkxpbmU6bSx0b2tlbkNvbHVtbjp5fT1uO2IobixlfDgxOTJ8NjcxMDg4NjQpO2xldCBhPWUmMTY/aihhMigpLDEwMjQpOnZvaWQgMDtpZihlPShlfDMzNTU0NDMyKV4zMzU1NDQzMixQKG4sZSwxNikpcmV0dXJuIFgyKG4sZSxhLHUsW10sdCwwLGwsZixkKTtsZXQgaz0wO24uZGVzdHJ1Y3RpYmxlJj0tMzg1O2xldCBoLFQ9W10sRT0wLHc9MCxJPTAse3Rva2VuSW5kZXg6dix0b2tlbkxpbmU6Rix0b2tlbkNvbHVtbjpxfT1uO2ZvcihuLmFzc2lnbmFibGU9MTtuLmdldFRva2VuKCkhPT0xNjspe2xldHt0b2tlbkluZGV4OlUsdG9rZW5MaW5lOkQsdG9rZW5Db2x1bW46Qn09bixMPW4uZ2V0VG9rZW4oKTtpZihMJjE0MzM2MClhJiZnMihuLGUsYSxuLnRva2VuVmFsdWUsMSwwKSwoTCY1MzcwNzk4MDgpPT09NTM3MDc5ODA4P3c9MTooTCYzNjg2NCk9PT0zNjg2NCYmKEk9MSksaD1fKG4sZSx1LG8sMCwxLDEsMSxVLEQsQiksbi5nZXRUb2tlbigpPT09MTZ8fG4uZ2V0VG9rZW4oKT09PTE4P24uYXNzaWduYWJsZSYyJiYoa3w9MTYsdz0xKToobi5nZXRUb2tlbigpPT09MTA3NzkzNjE1NT93PTE6a3w9MTYsaD1PKG4sZSx1LGgsMSwwLFUsRCxCKSxuLmdldFRva2VuKCkhPT0xNiYmbi5nZXRUb2tlbigpIT09MTgmJihoPUoobixlLHUsMSwwLFUsRCxCLGgpKSk7ZWxzZSBpZigoTCYyMDk3MTUyKT09PTIwOTcxNTIpaD1MPT09MjE2MjcwMD9aKG4sZXw2NzEwODg2NCxhLHUsMCwxLDAsbyxpLFUsRCxCKTpRKG4sZXw2NzEwODg2NCxhLHUsMCwxLDAsbyxpLFUsRCxCKSxrfD1uLmRlc3RydWN0aWJsZSx3PTEsbi5hc3NpZ25hYmxlPTIsbi5nZXRUb2tlbigpIT09MTYmJm4uZ2V0VG9rZW4oKSE9PTE4JiYoayY4JiZjKG4sMTIyKSxoPU8obixlLHUsaCwwLDAsVSxELEIpLGt8PTE2LG4uZ2V0VG9rZW4oKSE9PTE2JiZuLmdldFRva2VuKCkhPT0xOCYmKGg9SihuLGUsdSwwLDAsVSxELEIsaCkpKTtlbHNlIGlmKEw9PT0xNCl7aD1iMihuLGUsYSx1LDE2LG8saSwwLDEsMCxVLEQsQiksbi5kZXN0cnVjdGlibGUmMTYmJmMobiw3NCksdz0xLEUmJihuLmdldFRva2VuKCk9PT0xNnx8bi5nZXRUb2tlbigpPT09MTgpJiZULnB1c2goaCksa3w9ODticmVha31lbHNle2lmKGt8PTE2LGg9TShuLGUsdSwxLDEsVSxELEIpLEUmJihuLmdldFRva2VuKCk9PT0xNnx8bi5nZXRUb2tlbigpPT09MTgpJiZULnB1c2goaCksbi5nZXRUb2tlbigpPT09MTgmJihFfHwoRT0xLFQ9W2hdKSksRSl7Zm9yKDtQKG4sZXw4MTkyLDE4KTspVC5wdXNoKE0obixlLHUsMSwxLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKSk7bi5hc3NpZ25hYmxlPTIsaD1zKG4sZSx2LEYscSx7dHlwZTpcIlNlcXVlbmNlRXhwcmVzc2lvblwiLGV4cHJlc3Npb25zOlR9KX1yZXR1cm4gQyhuLGUsMTYpLG4uZGVzdHJ1Y3RpYmxlPWssaH1pZihFJiYobi5nZXRUb2tlbigpPT09MTZ8fG4uZ2V0VG9rZW4oKT09PTE4KSYmVC5wdXNoKGgpLCFQKG4sZXw4MTkyLDE4KSlicmVhaztpZihFfHwoRT0xLFQ9W2hdKSxuLmdldFRva2VuKCk9PT0xNil7a3w9ODticmVha319cmV0dXJuIEUmJihuLmFzc2lnbmFibGU9MixoPXMobixlLHYsRixxLHt0eXBlOlwiU2VxdWVuY2VFeHByZXNzaW9uXCIsZXhwcmVzc2lvbnM6VH0pKSxDKG4sZSwxNiksayYxNiYmayY4JiZjKG4sMTUxKSxrfD1uLmRlc3RydWN0aWJsZSYyNTY/MjU2OjB8bi5kZXN0cnVjdGlibGUmMTI4PzEyODowLG4uZ2V0VG9rZW4oKT09PTEwPyhrJjQ4JiZjKG4sNDkpLGUmNTI0ODAwJiZrJjEyOCYmYyhuLDMxKSxlJjI2MjQwMCYmayYyNTYmJmMobiwzMiksdyYmKG4uZmxhZ3N8PTEyOCksSSYmKG4uZmxhZ3N8PTI1NiksWDIobixlLGEsdSxFP1Q6W2hdLHQsMCxsLGYsZCkpOihrJjY0JiZjKG4sNjMpLGsmOCYmYyhuLDE0NCksbi5kZXN0cnVjdGlibGU9KG4uZGVzdHJ1Y3RpYmxlfDI1NileMjU2fGssZSYzMj9zKG4sZSxnLG0seSx7dHlwZTpcIlBhcmVudGhlc2l6ZWRFeHByZXNzaW9uXCIsZXhwcmVzc2lvbjpofSk6aCl9ZnVuY3Rpb24geW4obixlLHUsdCxvLGkpe2xldHt0b2tlblZhbHVlOmx9PW4sZj0wLGQ9MDsobi5nZXRUb2tlbigpJjUzNzA3OTgwOCk9PT01MzcwNzk4MDg/Zj0xOihuLmdldFRva2VuKCkmMzY4NjQpPT09MzY4NjQmJihkPTEpO2xldCBnPVIobixlKTtpZihuLmFzc2lnbmFibGU9MSxuLmdldFRva2VuKCk9PT0xMCl7bGV0IG07cmV0dXJuIGUmMTYmJihtPUsyKG4sZSxsKSksZiYmKG4uZmxhZ3N8PTEyOCksZCYmKG4uZmxhZ3N8PTI1NiksRjIobixlLG0sdSxbZ10sMCx0LG8saSl9cmV0dXJuIGd9ZnVuY3Rpb24gXzIobixlLHUsdCxvLGksbCxmLGQsZyxtKXtsfHxjKG4sNTcpLGkmJmMobiw1MSksbi5mbGFncyY9LTEyOTtsZXQgeT1lJjE2P0syKG4sZSx0KTp2b2lkIDA7cmV0dXJuIEYyKG4sZSx5LHUsW29dLGYsZCxnLG0pfWZ1bmN0aW9uIFgyKG4sZSx1LHQsbyxpLGwsZixkLGcpe2l8fGMobiw1Nyk7Zm9yKGxldCBtPTA7bTxvLmxlbmd0aDsrK20pcihuLG9bbV0pO3JldHVybiBGMihuLGUsdSx0LG8sbCxmLGQsZyl9ZnVuY3Rpb24gRjIobixlLHUsdCxvLGksbCxmLGQpe24uZmxhZ3MmMSYmYyhuLDQ4KSxDKG4sZXw4MTkyLDEwKTtsZXQgZz0yNzEzMTkwNDA7ZT0oZXxnKV5nfChpPzUyNDI4ODowKTtsZXQgbT1uLmdldFRva2VuKCkhPT0yMTYyNzAwLHk7aWYodSYmdS5zY29wZUVycm9yJiZ6Mih1LnNjb3BlRXJyb3IpLG0pbi5mbGFncz0obi5mbGFnc3w1MTJ8MjU2fDY0fDQwOTYpXjQ5MjgseT1NKG4sZSx0LDEsMCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbik7ZWxzZXt1JiYodT1qKHUsMTI4KSk7bGV0IGE9MzM1NTc1MDQ7c3dpdGNoKHk9VzIobiwoZXxhKV5hfDEwNDg1NzYsdSx0LDE2LHZvaWQgMCx2b2lkIDApLG4uZ2V0VG9rZW4oKSl7Y2FzZSA2OTI3MTU3MTpuLmZsYWdzJjF8fGMobiwxMTYpO2JyZWFrO2Nhc2UgNjcxMDg4Nzc6Y2FzZSA2NzE3NDQwOTpjYXNlIDIyOmMobiwxMTcpO2Nhc2UgNjcxNzQ0MTE6bi5mbGFncyYxfHxjKG4sMTE2KSxuLmZsYWdzfD0xMDI0O2JyZWFrfShuLmdldFRva2VuKCkmODM4ODYwOCk9PT04Mzg4NjA4JiYhKG4uZmxhZ3MmMSkmJmMobiwzMCxWW24uZ2V0VG9rZW4oKSYyNTVdKSwobi5nZXRUb2tlbigpJjMzNjE5OTY4KT09PTMzNjE5OTY4JiZjKG4sMTI1KX1yZXR1cm4gbi5hc3NpZ25hYmxlPTIscyhuLGUsbCxmLGQse3R5cGU6XCJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvblwiLHBhcmFtczpvLGJvZHk6eSxhc3luYzppPT09MSxleHByZXNzaW9uOm19KX1mdW5jdGlvbiBvZShuLGUsdSx0LG8saSl7QyhuLGUsNjcxNzQ0MTEpLG4uZmxhZ3M9KG4uZmxhZ3N8MTI4KV4xMjg7bGV0IGw9W107aWYoUChuLGUsMTYpKXJldHVybiBsO2U9KGV8MzM1NTQ0MzIpXjMzNTU0NDMyO2xldCBmPTA7Zm9yKDtuLmdldFRva2VuKCkhPT0xODspe2xldCBkLHt0b2tlbkluZGV4OmcsdG9rZW5MaW5lOm0sdG9rZW5Db2x1bW46eX09bixhPW4uZ2V0VG9rZW4oKTtpZihhJjE0MzM2MD8oZSYyNTZ8fCgoYSYzNjg2NCk9PT0zNjg2NCYmKG4uZmxhZ3N8PTI1NiksKGEmNTM3MDc5ODA4KT09PTUzNzA3OTgwOCYmKG4uZmxhZ3N8PTUxMikpLGQ9aG4obixlLHUsaXwxLDAsZyxtLHkpKTooYT09PTIxNjI3MDA/ZD1aKG4sZSx1LHQsMSxvLDEsaSwwLGcsbSx5KTphPT09NjkyNzE1NzE/ZD1RKG4sZSx1LHQsMSxvLDEsaSwwLGcsbSx5KTphPT09MTQ/ZD1iMihuLGUsdSx0LDE2LGksMCwwLG8sMSxnLG0seSk6YyhuLDMwLFZbYSYyNTVdKSxmPTEsbi5kZXN0cnVjdGlibGUmNDgmJmMobiw1MCkpLG4uZ2V0VG9rZW4oKT09PTEwNzc5MzYxNTUpe2IobixlfDgxOTIpLGY9MTtsZXQgaz1NKG4sZSx0LDEsbyxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbik7ZD1zKG4sZSxnLG0seSx7dHlwZTpcIkFzc2lnbm1lbnRQYXR0ZXJuXCIsbGVmdDpkLHJpZ2h0Omt9KX1pZihsLnB1c2goZCksIVAobixlLDE4KXx8bi5nZXRUb2tlbigpPT09MTYpYnJlYWt9cmV0dXJuIGYmJihuLmZsYWdzfD0xMjgpLHUmJihmfHxlJjI1NikmJnUuc2NvcGVFcnJvciYmejIodS5zY29wZUVycm9yKSxDKG4sZSwxNiksbH1mdW5jdGlvbiBVMihuLGUsdSx0LG8saSxsLGYpe2xldCBkPW4uZ2V0VG9rZW4oKTtpZihkJjY3MTA4ODY0KXtpZihkPT09NjcxMDg4Nzcpe2IobixlfDY3MTA4ODY0KSxuLmFzc2lnbmFibGU9MTtsZXQgZz1jbihuLGUsdSk7cmV0dXJuIFUyKG4sZSx1LHMobixlLGksbCxmLHt0eXBlOlwiTWVtYmVyRXhwcmVzc2lvblwiLG9iamVjdDp0LGNvbXB1dGVkOiExLHByb3BlcnR5Omd9KSwwLGksbCxmKX1lbHNlIGlmKGQ9PT02OTI3MTU3MSl7YihuLGV8ODE5Mik7bGV0e3Rva2VuSW5kZXg6Zyx0b2tlbkxpbmU6bSx0b2tlbkNvbHVtbjp5fT1uLGE9eihuLGUsdSxvLDEsZyxtLHkpO3JldHVybiBDKG4sZSwyMCksbi5hc3NpZ25hYmxlPTEsVTIobixlLHUscyhuLGUsaSxsLGYse3R5cGU6XCJNZW1iZXJFeHByZXNzaW9uXCIsb2JqZWN0OnQsY29tcHV0ZWQ6ITAscHJvcGVydHk6YX0pLDAsaSxsLGYpfWVsc2UgaWYoZD09PTY3MTc0NDA4fHxkPT09NjcxNzQ0MDkpcmV0dXJuIG4uYXNzaWduYWJsZT0yLFUyKG4sZSx1LHMobixlLGksbCxmLHt0eXBlOlwiVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uXCIsdGFnOnQscXVhc2k6bi5nZXRUb2tlbigpPT09NjcxNzQ0MDg/a24obixlfDE2Mzg0LHUpOm1uKG4sZXwxNjM4NCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbil9KSwwLGksbCxmKX1yZXR1cm4gdH1mdW5jdGlvbiB4dShuLGUsdSx0LG8saSxsKXtsZXQgZj1SKG4sZXw4MTkyKSx7dG9rZW5JbmRleDpkLHRva2VuTGluZTpnLHRva2VuQ29sdW1uOm19PW47aWYoUChuLGUsNjcxMDg4NzcpKXtpZihlJjE2Nzc3MjE2JiZuLmdldFRva2VuKCk9PT0yMDkwMjkpcmV0dXJuIG4uYXNzaWduYWJsZT0yLHJ1KG4sZSxmLG8saSxsKTtjKG4sOTQpfW4uYXNzaWduYWJsZT0yLChuLmdldFRva2VuKCkmMTY4NDI3NTIpPT09MTY4NDI3NTImJmMobiw2NSxWW24uZ2V0VG9rZW4oKSYyNTVdKTtsZXQgeT1fKG4sZSx1LDIsMSwwLHQsMSxkLGcsbSk7ZT0oZXwzMzU1NDQzMileMzM1NTQ0MzIsbi5nZXRUb2tlbigpPT09NjcxMDg5OTAmJmMobiwxNjgpO2xldCBhPVUyKG4sZSx1LHksdCxkLGcsbSk7cmV0dXJuIG4uYXNzaWduYWJsZT0yLHMobixlLG8saSxsLHt0eXBlOlwiTmV3RXhwcmVzc2lvblwiLGNhbGxlZTphLGFyZ3VtZW50czpuLmdldFRva2VuKCk9PT02NzE3NDQxMT9hbihuLGUsdSx0KTpbXX0pfWZ1bmN0aW9uIHJ1KG4sZSx1LHQsbyxpKXtsZXQgbD1SKG4sZSk7cmV0dXJuIHMobixlLHQsbyxpLHt0eXBlOlwiTWV0YVByb3BlcnR5XCIsbWV0YTp1LHByb3BlcnR5Omx9KX1mdW5jdGlvbiBsZShuLGUsdSx0LG8saSxsKXtyZXR1cm4gbi5nZXRUb2tlbigpPT09MjA5MDA2JiZjKG4sMzEpLGUmMjYyNDAwJiZuLmdldFRva2VuKCk9PT0yNDE3NzEmJmMobiwzMiksJDIobixlLG4uZ2V0VG9rZW4oKSksKG4uZ2V0VG9rZW4oKSYzNjg2NCk9PT0zNjg2NCYmKG4uZmxhZ3N8PTI1NiksXzIobixlJi0yNjg0MzU0NTd8NTI0Mjg4LHUsbi50b2tlblZhbHVlLFIobixlKSwwLHQsMSxvLGksbCl9ZnVuY3Rpb24gc24obixlLHUsdCxvLGksbCxmLGQsZyxtKXtiKG4sZXw4MTkyKTtsZXQgeT1lJjE2P2ooYTIoKSwxMDI0KTp2b2lkIDA7aWYoZT0oZXwzMzU1NDQzMileMzM1NTQ0MzIsUChuLGUsMTYpKXJldHVybiBuLmdldFRva2VuKCk9PT0xMD8oZiYxJiZjKG4sNDgpLFgyKG4sZSx5LHUsW10sbywxLGQsZyxtKSk6cyhuLGUsZCxnLG0se3R5cGU6XCJDYWxsRXhwcmVzc2lvblwiLGNhbGxlZTp0LGFyZ3VtZW50czpbXX0pO2xldCBhPTAsaz1udWxsLGg9MDtuLmRlc3RydWN0aWJsZT0obi5kZXN0cnVjdGlibGV8MjU2fDEyOCleMzg0O2xldCBUPVtdO2Zvcig7bi5nZXRUb2tlbigpIT09MTY7KXtsZXR7dG9rZW5JbmRleDpFLHRva2VuTGluZTp3LHRva2VuQ29sdW1uOkl9PW4sdj1uLmdldFRva2VuKCk7aWYodiYxNDMzNjApeSYmZzIobixlLHksbi50b2tlblZhbHVlLGksMCksKHYmNTM3MDc5ODA4KT09PTUzNzA3OTgwOD9uLmZsYWdzfD01MTI6KHYmMzY4NjQpPT09MzY4NjQmJihuLmZsYWdzfD0yNTYpLGs9XyhuLGUsdSxpLDAsMSwxLDEsRSx3LEkpLG4uZ2V0VG9rZW4oKT09PTE2fHxuLmdldFRva2VuKCk9PT0xOD9uLmFzc2lnbmFibGUmMiYmKGF8PTE2LGg9MSk6KG4uZ2V0VG9rZW4oKT09PTEwNzc5MzYxNTU/aD0xOmF8PTE2LGs9TyhuLGUsdSxrLDEsMCxFLHcsSSksbi5nZXRUb2tlbigpIT09MTYmJm4uZ2V0VG9rZW4oKSE9PTE4JiYoaz1KKG4sZSx1LDEsMCxFLHcsSSxrKSkpO2Vsc2UgaWYodiYyMDk3MTUyKWs9dj09PTIxNjI3MDA/WihuLGUseSx1LDAsMSwwLGksbCxFLHcsSSk6UShuLGUseSx1LDAsMSwwLGksbCxFLHcsSSksYXw9bi5kZXN0cnVjdGlibGUsaD0xLG4uZ2V0VG9rZW4oKSE9PTE2JiZuLmdldFRva2VuKCkhPT0xOCYmKGEmOCYmYyhuLDEyMiksaz1PKG4sZSx1LGssMCwwLEUsdyxJKSxhfD0xNiwobi5nZXRUb2tlbigpJjgzODg2MDgpPT09ODM4ODYwOCYmKGs9ZjIobixlLHUsMSxkLGcsbSw0LHYsaykpLFAobixlfDgxOTIsMjIpJiYoaz1jMihuLGUsdSxrLGQsZyxtKSkpO2Vsc2UgaWYodj09PTE0KWs9YjIobixlLHksdSwxNixpLGwsMSwxLDAsRSx3LEkpLGF8PShuLmdldFRva2VuKCk9PT0xNj8wOjE2KXxuLmRlc3RydWN0aWJsZSxoPTE7ZWxzZXtmb3Ioaz1NKG4sZSx1LDEsMCxFLHcsSSksYT1uLmFzc2lnbmFibGUsVC5wdXNoKGspO1AobixlfDgxOTIsMTgpOylULnB1c2goTShuLGUsdSwxLDAsRSx3LEkpKTtyZXR1cm4gYXw9bi5hc3NpZ25hYmxlLEMobixlLDE2KSxuLmRlc3RydWN0aWJsZT1hfDE2LG4uYXNzaWduYWJsZT0yLHMobixlLGQsZyxtLHt0eXBlOlwiQ2FsbEV4cHJlc3Npb25cIixjYWxsZWU6dCxhcmd1bWVudHM6VH0pfWlmKFQucHVzaChrKSwhUChuLGV8ODE5MiwxOCkpYnJlYWt9cmV0dXJuIEMobixlLDE2KSxhfD1uLmRlc3RydWN0aWJsZSYyNTY/MjU2OjB8bi5kZXN0cnVjdGlibGUmMTI4PzEyODowLG4uZ2V0VG9rZW4oKT09PTEwPyhhJjQ4JiZjKG4sMjcpLChuLmZsYWdzJjF8fGYmMSkmJmMobiw0OCksYSYxMjgmJmMobiwzMSksZSYyNjI0MDAmJmEmMjU2JiZjKG4sMzIpLGgmJihuLmZsYWdzfD0xMjgpLFgyKG4sZXw1MjQyODgseSx1LFQsbywxLGQsZyxtKSk6KGEmNjQmJmMobiw2MyksYSY4JiZjKG4sNjIpLG4uYXNzaWduYWJsZT0yLHMobixlLGQsZyxtLHt0eXBlOlwiQ2FsbEV4cHJlc3Npb25cIixjYWxsZWU6dCxhcmd1bWVudHM6VH0pKX1mdW5jdGlvbiBwdShuLGUsdSx0LG8pe2xldHt0b2tlblJhdzppLHRva2VuUmVnRXhwOmwsdG9rZW5WYWx1ZTpmfT1uO3JldHVybiBiKG4sZSksbi5hc3NpZ25hYmxlPTIsZSYxMjg/cyhuLGUsdSx0LG8se3R5cGU6XCJMaXRlcmFsXCIsdmFsdWU6ZixyZWdleDpsLHJhdzppfSk6cyhuLGUsdSx0LG8se3R5cGU6XCJMaXRlcmFsXCIsdmFsdWU6ZixyZWdleDpsfSl9ZnVuY3Rpb24gZW4obixlLHUsdCxvLGksbCxmKXtsZXQgZD1ZMihuLGUsdCk7ZC5sZW5ndGgmJihpPW4udG9rZW5JbmRleCxsPW4udG9rZW5MaW5lLGY9bi50b2tlbkNvbHVtbiksbi5sZWFkaW5nRGVjb3JhdG9ycy5sZW5ndGgmJihuLmxlYWRpbmdEZWNvcmF0b3JzLnB1c2goLi4uZCksZD1uLmxlYWRpbmdEZWNvcmF0b3JzLG4ubGVhZGluZ0RlY29yYXRvcnM9W10pLGU9KGV8NDE5NDMwNHwyNTYpXjQxOTQzMDQsYihuLGUpO2xldCBnPW51bGwsbT1udWxsLHt0b2tlblZhbHVlOnl9PW47bi5nZXRUb2tlbigpJjQwOTYmJm4uZ2V0VG9rZW4oKSE9PTIwNTY1PyhXbihuLGUsbi5nZXRUb2tlbigpKSYmYyhuLDExOCksKG4uZ2V0VG9rZW4oKSY1MzcwNzk4MDgpPT09NTM3MDc5ODA4JiZjKG4sMTE5KSx1JiYoZzIobixlLHUseSwzMiwwKSxvJiZvJjImJmwyKG4seSkpLGc9UihuLGUpKTpvJjF8fGMobiwzOSxcIkNsYXNzXCIpO2xldCBhPWU7UChuLGV8ODE5MiwyMDU2NSk/KG09WShuLGUsdCwwLDAsMCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbiksYXw9MTMxMDcyKTphPShhfDEzMTA3MileMTMxMDcyO2xldCBrPWZlKG4sYSxlLHUsdCwyLDgsMCk7cmV0dXJuIHMobixlLGksbCxmLHt0eXBlOlwiQ2xhc3NEZWNsYXJhdGlvblwiLGlkOmcsc3VwZXJDbGFzczptLGJvZHk6aywuLi5lJjE/e2RlY29yYXRvcnM6ZH06bnVsbH0pfWZ1bmN0aW9uIG4xKG4sZSx1LHQsbyxpLGwpe2xldCBmPW51bGwsZD1udWxsLGc9WTIobixlLHUpO2cubGVuZ3RoJiYobz1uLnRva2VuSW5kZXgsaT1uLnRva2VuTGluZSxsPW4udG9rZW5Db2x1bW4pLGU9KGV8MjU2fDQxOTQzMDQpXjQxOTQzMDQsYihuLGUpLG4uZ2V0VG9rZW4oKSY0MDk2JiZuLmdldFRva2VuKCkhPT0yMDU2NSYmKFduKG4sZSxuLmdldFRva2VuKCkpJiZjKG4sMTE4KSwobi5nZXRUb2tlbigpJjUzNzA3OTgwOCk9PT01MzcwNzk4MDgmJmMobiwxMTkpLGY9UihuLGUpKTtsZXQgbT1lO1AobixlfDgxOTIsMjA1NjUpPyhkPVkobixlLHUsMCx0LDAsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pLG18PTEzMTA3Mik6bT0obXwxMzEwNzIpXjEzMTA3MjtsZXQgeT1mZShuLG0sZSx2b2lkIDAsdSwyLDAsdCk7cmV0dXJuIG4uYXNzaWduYWJsZT0yLHMobixlLG8saSxsLHt0eXBlOlwiQ2xhc3NFeHByZXNzaW9uXCIsaWQ6ZixzdXBlckNsYXNzOmQsYm9keTp5LC4uLmUmMT97ZGVjb3JhdG9yczpnfTpudWxsfSl9ZnVuY3Rpb24gWTIobixlLHUpe2xldCB0PVtdO2lmKGUmMSlmb3IoO24uZ2V0VG9rZW4oKT09PTEzMjspdC5wdXNoKGUxKG4sZSx1LG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKSk7cmV0dXJuIHR9ZnVuY3Rpb24gZTEobixlLHUsdCxvLGkpe2IobixlfDgxOTIpO2xldCBsPV8obixlLHUsMiwwLDEsMCwxLHQsbyxpKTtyZXR1cm4gbD1PKG4sZSx1LGwsMCwwLHQsbyxpKSxzKG4sZSx0LG8saSx7dHlwZTpcIkRlY29yYXRvclwiLGV4cHJlc3Npb246bH0pfWZ1bmN0aW9uIGZlKG4sZSx1LHQsbyxpLGwsZil7bGV0e3Rva2VuSW5kZXg6ZCx0b2tlbkxpbmU6Zyx0b2tlbkNvbHVtbjptfT1uLHk9ZSYxNj9udShvKTp2b2lkIDA7QyhuLGV8ODE5MiwyMTYyNzAwKTtsZXQgYT0zMDE5ODk4ODg7ZT0oZXxhKV5hO2xldCBrPW4uZmxhZ3MmMzI7bi5mbGFncz0obi5mbGFnc3wzMileMzI7bGV0IGg9W10sVDtmb3IoO24uZ2V0VG9rZW4oKSE9PTEwNzQ3OTA0MTU7KXtsZXQgRT0wO2lmKFQ9WTIobixlLHkpLEU9VC5sZW5ndGgsRT4wJiZuLnRva2VuVmFsdWU9PT1cImNvbnN0cnVjdG9yXCImJmMobiwxMDkpLG4uZ2V0VG9rZW4oKT09PTEwNzQ3OTA0MTUmJmMobiwxMDgpLFAobixlLDEwNzQ3OTA0MTcpKXtFPjAmJmMobiwxMjApO2NvbnRpbnVlfWgucHVzaChkZShuLGUsdCx5LHUsaSxULDAsZixuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbikpfXJldHVybiBDKG4sbCY4P2V8ODE5MjplLDEwNzQ3OTA0MTUpLHkmJnR1KHkpLG4uZmxhZ3M9bi5mbGFncyYtMzN8ayxzKG4sZSxkLGcsbSx7dHlwZTpcIkNsYXNzQm9keVwiLGJvZHk6aH0pfWZ1bmN0aW9uIGRlKG4sZSx1LHQsbyxpLGwsZixkLGcsbSx5KXtsZXQgYT1mPzMyOjAsaz1udWxsLHt0b2tlbkluZGV4OmgsdG9rZW5MaW5lOlQsdG9rZW5Db2x1bW46RX09bix3PW4uZ2V0VG9rZW4oKTtpZih3JjE3NjEyOHx8dz09PS0yMTQ3NDgzNTI4KXN3aXRjaChrPVIobixlKSx3KXtjYXNlIDM2OTcwOmlmKCFmJiZuLmdldFRva2VuKCkhPT02NzE3NDQxMSYmKG4uZ2V0VG9rZW4oKSYxMDQ4NTc2KSE9PTEwNDg1NzYmJm4uZ2V0VG9rZW4oKSE9PTEwNzc5MzYxNTUpcmV0dXJuIGRlKG4sZSx1LHQsbyxpLGwsMSxkLGcsbSx5KTticmVhaztjYXNlIDIwOTAwNTppZihuLmdldFRva2VuKCkhPT02NzE3NDQxMSYmIShuLmZsYWdzJjEpKXtpZigobi5nZXRUb2tlbigpJjEwNzM3NDE4MjQpPT09MTA3Mzc0MTgyNClyZXR1cm4gVDIobixlLHQsayxhLGwsaCxULEUpO2F8PTE2fChmbihuLGUsODM5MTQ3Nik/ODowKX1icmVhaztjYXNlIDEyNDAwOmlmKG4uZ2V0VG9rZW4oKSE9PTY3MTc0NDExKXtpZigobi5nZXRUb2tlbigpJjEwNzM3NDE4MjQpPT09MTA3Mzc0MTgyNClyZXR1cm4gVDIobixlLHQsayxhLGwsaCxULEUpO2F8PTI1Nn1icmVhaztjYXNlIDEyNDAxOmlmKG4uZ2V0VG9rZW4oKSE9PTY3MTc0NDExKXtpZigobi5nZXRUb2tlbigpJjEwNzM3NDE4MjQpPT09MTA3Mzc0MTgyNClyZXR1cm4gVDIobixlLHQsayxhLGwsaCxULEUpO2F8PTUxMn1icmVhaztjYXNlIDEyNDAyOmlmKG4uZ2V0VG9rZW4oKSE9PTY3MTc0NDExJiYhKG4uZmxhZ3MmMSkpe2lmKChuLmdldFRva2VuKCkmMTA3Mzc0MTgyNCk9PT0xMDczNzQxODI0KXJldHVybiBUMihuLGUsdCxrLGEsbCxoLFQsRSk7ZSYxJiYoYXw9MTAyNCl9YnJlYWt9ZWxzZSBpZih3PT09NjkyNzE1NzEpYXw9MixrPXkyKG4sbyx0LGQpO2Vsc2UgaWYoKHcmMTM0MjE3NzI4KT09PTEzNDIxNzcyOClrPUgobixlKTtlbHNlIGlmKHc9PT04MzkxNDc2KWF8PTgsYihuLGUpO2Vsc2UgaWYobi5nZXRUb2tlbigpPT09MTMwKWF8PTgxOTIsaz1IMihuLGV8NDA5Nix0LDc2OCxoLFQsRSk7ZWxzZSBpZigobi5nZXRUb2tlbigpJjEwNzM3NDE4MjQpPT09MTA3Mzc0MTgyNClhfD0xMjg7ZWxzZXtpZihmJiZ3PT09MjE2MjcwMClyZXR1cm4gSXUobixlfDQwOTYsdSx0LGgsVCxFKTt3PT09LTIxNDc0ODM1Mjc/KGs9UihuLGUpLG4uZ2V0VG9rZW4oKSE9PTY3MTc0NDExJiZjKG4sMzAsVltuLmdldFRva2VuKCkmMjU1XSkpOmMobiwzMCxWW24uZ2V0VG9rZW4oKSYyNTVdKX1pZihhJjE4MTYmJihuLmdldFRva2VuKCkmMTQzMzYwfHxuLmdldFRva2VuKCk9PT0tMjE0NzQ4MzUyOHx8bi5nZXRUb2tlbigpPT09LTIxNDc0ODM1Mjc/az1SKG4sZSk6KG4uZ2V0VG9rZW4oKSYxMzQyMTc3MjgpPT09MTM0MjE3NzI4P2s9SChuLGUpOm4uZ2V0VG9rZW4oKT09PTY5MjcxNTcxPyhhfD0yLGs9eTIobixlLHQsMCkpOm4uZ2V0VG9rZW4oKT09PTEzMD8oYXw9ODE5MixrPUgyKG4sZSx0LGEsaCxULEUpKTpjKG4sMTM1KSksYSYyfHwobi50b2tlblZhbHVlPT09XCJjb25zdHJ1Y3RvclwiPygobi5nZXRUb2tlbigpJjEwNzM3NDE4MjQpPT09MTA3Mzc0MTgyND9jKG4sMTI5KTohKGEmMzIpJiZuLmdldFRva2VuKCk9PT02NzE3NDQxMSYmKGEmOTIwP2Mobiw1MyxcImFjY2Vzc29yXCIpOmUmMTMxMDcyfHwobi5mbGFncyYzMj9jKG4sNTQpOm4uZmxhZ3N8PTMyKSksYXw9NjQpOiEoYSY4MTkyKSYmYSYzMiYmbi50b2tlblZhbHVlPT09XCJwcm90b3R5cGVcIiYmYyhuLDUyKSksYSYxMDI0fHxuLmdldFRva2VuKCkhPT02NzE3NDQxMSYmIShhJjc2OCkpcmV0dXJuIFQyKG4sZSx0LGssYSxsLGgsVCxFKTtsZXQgST14KG4sZXw0MDk2LHQsYSxkLG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKTtyZXR1cm4gcyhuLGUsZyxtLHkse3R5cGU6XCJNZXRob2REZWZpbml0aW9uXCIsa2luZDohKGEmMzIpJiZhJjY0P1wiY29uc3RydWN0b3JcIjphJjI1Nj9cImdldFwiOmEmNTEyP1wic2V0XCI6XCJtZXRob2RcIixzdGF0aWM6KGEmMzIpPjAsY29tcHV0ZWQ6KGEmMik+MCxrZXk6ayx2YWx1ZTpJLC4uLmUmMT97ZGVjb3JhdG9yczpsfTpudWxsfSl9ZnVuY3Rpb24gSDIobixlLHUsdCxvLGksbCl7YihuLGUpO2xldHt0b2tlblZhbHVlOmZ9PW47cmV0dXJuIGY9PT1cImNvbnN0cnVjdG9yXCImJmMobiwxMjgpLGUmMTYmJih1fHxjKG4sNCxmKSx0P2V1KG4sdSxmLHQpOnV1KG4sdSxmKSksYihuLGUpLHMobixlLG8saSxsLHt0eXBlOlwiUHJpdmF0ZUlkZW50aWZpZXJcIixuYW1lOmZ9KX1mdW5jdGlvbiBUMihuLGUsdSx0LG8saSxsLGYsZCl7bGV0IGc9bnVsbDtpZihvJjgmJmMobiwwKSxuLmdldFRva2VuKCk9PT0xMDc3OTM2MTU1KXtiKG4sZXw4MTkyKTtsZXR7dG9rZW5JbmRleDptLHRva2VuTGluZTp5LHRva2VuQ29sdW1uOmF9PW47bi5nZXRUb2tlbigpPT09NTM3MDc5OTI3JiZjKG4sMTE5KTtsZXQgaz0yODgzNTg0fChvJjY0PzA6NDMyNTM3Nik7ZT0oZXxrKV5rfChvJjg/MjYyMTQ0OjApfChvJjE2PzUyNDI4ODowKXwobyY2ND80MTk0MzA0OjApfDY1NTM2fDE2Nzc3MjE2LGc9XyhuLGV8NDA5Nix1LDIsMCwxLDAsMSxtLHksYSksKChuLmdldFRva2VuKCkmMTA3Mzc0MTgyNCkhPT0xMDczNzQxODI0fHwobi5nZXRUb2tlbigpJjQxOTQzMDQpPT09NDE5NDMwNCkmJihnPU8obixlfDQwOTYsdSxnLDAsMCxtLHksYSksZz1KKG4sZXw0MDk2LHUsMCwwLG0seSxhLGcpKX1yZXR1cm4gSyhuLGUpLHMobixlLGwsZixkLHt0eXBlOm8mMTAyND9cIkFjY2Vzc29yUHJvcGVydHlcIjpcIlByb3BlcnR5RGVmaW5pdGlvblwiLGtleTp0LHZhbHVlOmcsc3RhdGljOihvJjMyKT4wLGNvbXB1dGVkOihvJjIpPjAsLi4uZSYxP3tkZWNvcmF0b3JzOml9Om51bGx9KX1mdW5jdGlvbiBnZShuLGUsdSx0LG8saSxsLGYsZCl7aWYobi5nZXRUb2tlbigpJjE0MzM2MHx8IShlJjI1NikmJm4uZ2V0VG9rZW4oKT09PS0yMTQ3NDgzNTI3KXJldHVybiBobihuLGUsdSxvLGksbCxmLGQpOyhuLmdldFRva2VuKCkmMjA5NzE1MikhPT0yMDk3MTUyJiZjKG4sMzAsVltuLmdldFRva2VuKCkmMjU1XSk7bGV0IGc9bi5nZXRUb2tlbigpPT09NjkyNzE1NzE/UShuLGUsdSx0LDEsMCwxLG8saSxsLGYsZCk6WihuLGUsdSx0LDEsMCwxLG8saSxsLGYsZCk7cmV0dXJuIG4uZGVzdHJ1Y3RpYmxlJjE2JiZjKG4sNTApLG4uZGVzdHJ1Y3RpYmxlJjMyJiZjKG4sNTApLGd9ZnVuY3Rpb24gaG4obixlLHUsdCxvLGksbCxmKXtsZXR7dG9rZW5WYWx1ZTpkfT1uLGc9bi5nZXRUb2tlbigpO3JldHVybiBlJjI1NiYmKChnJjUzNzA3OTgwOCk9PT01MzcwNzk4MDg/YyhuLDExOSk6KChnJjM2ODY0KT09PTM2ODY0fHxnPT09LTIxNDc0ODM1MjcpJiZjKG4sMTE4KSksKGcmMjA0ODApPT09MjA0ODAmJmMobiwxMDIpLGc9PT0yNDE3NzEmJihlJjI2MjE0NCYmYyhuLDMyKSxlJjUxMiYmYyhuLDExMSkpLChnJjI1NSk9PT03MyYmdCYyNCYmYyhuLDEwMCksZz09PTIwOTAwNiYmKGUmNTI0Mjg4JiZjKG4sMTc2KSxlJjUxMiYmYyhuLDExMCkpLGIobixlKSx1JiZuMihuLGUsdSxkLHQsbykscyhuLGUsaSxsLGYse3R5cGU6XCJJZGVudGlmaWVyXCIsbmFtZTpkfSl9ZnVuY3Rpb24gUTIobixlLHUsdCxvLGksbCl7aWYodHx8QyhuLGUsODQ1NjI1Niksbi5nZXRUb2tlbigpPT09ODM5MDcyMSl7bGV0IG09dTEobixlLG8saSxsKSxbeSxhXT1sMShuLGUsdSx0KTtyZXR1cm4gcyhuLGUsbyxpLGwse3R5cGU6XCJKU1hGcmFnbWVudFwiLG9wZW5pbmdGcmFnbWVudDptLGNoaWxkcmVuOnksY2xvc2luZ0ZyYWdtZW50OmF9KX1uLmdldFRva2VuKCk9PT04NDU3MDE0JiZjKG4sMzAsVltuLmdldFRva2VuKCkmMjU1XSk7bGV0IGY9bnVsbCxkPVtdLGc9ZzEobixlLHUsdCxvLGksbCk7aWYoIWcuc2VsZkNsb3Npbmcpe1tkLGZdPW8xKG4sZSx1LHQpO2xldCBtPWoyKGYubmFtZSk7ajIoZy5uYW1lKSE9PW0mJmMobiwxNTUsbSl9cmV0dXJuIHMobixlLG8saSxsLHt0eXBlOlwiSlNYRWxlbWVudFwiLGNoaWxkcmVuOmQsb3BlbmluZ0VsZW1lbnQ6ZyxjbG9zaW5nRWxlbWVudDpmfSl9ZnVuY3Rpb24gdTEobixlLHUsdCxvKXtyZXR1cm4gdzIobixlKSxzKG4sZSx1LHQsbyx7dHlwZTpcIkpTWE9wZW5pbmdGcmFnbWVudFwifSl9ZnVuY3Rpb24gdDEobixlLHUsdCxvLGkpe0MobixlLDg0NTcwMTQpO2xldCBsPW1lKG4sZSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbik7cmV0dXJuIG4uZ2V0VG9rZW4oKSE9PTgzOTA3MjEmJmMobiwyNSxWWzY1XSksdT93MihuLGUpOmIobixlKSxzKG4sZSx0LG8saSx7dHlwZTpcIkpTWENsb3NpbmdFbGVtZW50XCIsbmFtZTpsfSl9ZnVuY3Rpb24gaTEobixlLHUsdCxvLGkpe3JldHVybiBDKG4sZSw4NDU3MDE0KSxuLmdldFRva2VuKCkhPT04MzkwNzIxJiZjKG4sMjUsVls2NV0pLHU/dzIobixlKTpiKG4sZSkscyhuLGUsdCxvLGkse3R5cGU6XCJKU1hDbG9zaW5nRnJhZ21lbnRcIn0pfWZ1bmN0aW9uIG8xKG4sZSx1LHQpe2xldCBvPVtdO2Zvcig7Oyl7bGV0IGk9ZjEobixlLHUsdCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbik7aWYoaS50eXBlPT09XCJKU1hDbG9zaW5nRWxlbWVudFwiKXJldHVybltvLGldO28ucHVzaChpKX19ZnVuY3Rpb24gbDEobixlLHUsdCl7bGV0IG89W107Zm9yKDs7KXtsZXQgaT1kMShuLGUsdSx0LG4udG9rZW5JbmRleCxuLnRva2VuTGluZSxuLnRva2VuQ29sdW1uKTtpZihpLnR5cGU9PT1cIkpTWENsb3NpbmdGcmFnbWVudFwiKXJldHVybltvLGldO28ucHVzaChpKX19ZnVuY3Rpb24gZjEobixlLHUsdCxvLGksbCl7aWYobi5nZXRUb2tlbigpPT09MTM3KXJldHVybiBjZShuLGUsbyxpLGwpO2lmKG4uZ2V0VG9rZW4oKT09PTIxNjI3MDApcmV0dXJuIEFuKG4sZSx1LDEsMCxvLGksbCk7aWYobi5nZXRUb2tlbigpPT09ODQ1NjI1NilyZXR1cm4gYihuLGUpLG4uZ2V0VG9rZW4oKT09PTg0NTcwMTQ/dDEobixlLHQsbyxpLGwpOlEyKG4sZSx1LDEsbyxpLGwpO2MobiwwKX1mdW5jdGlvbiBkMShuLGUsdSx0LG8saSxsKXtpZihuLmdldFRva2VuKCk9PT0xMzcpcmV0dXJuIGNlKG4sZSxvLGksbCk7aWYobi5nZXRUb2tlbigpPT09MjE2MjcwMClyZXR1cm4gQW4obixlLHUsMSwwLG8saSxsKTtpZihuLmdldFRva2VuKCk9PT04NDU2MjU2KXJldHVybiBiKG4sZSksbi5nZXRUb2tlbigpPT09ODQ1NzAxND9pMShuLGUsdCxvLGksbCk6UTIobixlLHUsMSxvLGksbCk7YyhuLDApfWZ1bmN0aW9uIGNlKG4sZSx1LHQsbyl7YihuLGUpO2xldCBpPXt0eXBlOlwiSlNYVGV4dFwiLHZhbHVlOm4udG9rZW5WYWx1ZX07cmV0dXJuIGUmMTI4JiYoaS5yYXc9bi50b2tlblJhdykscyhuLGUsdSx0LG8saSl9ZnVuY3Rpb24gZzEobixlLHUsdCxvLGksbCl7KG4uZ2V0VG9rZW4oKSYxNDMzNjApIT09MTQzMzYwJiYobi5nZXRUb2tlbigpJjQwOTYpIT09NDA5NiYmYyhuLDApO2xldCBmPW1lKG4sZSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbiksZD1tMShuLGUsdSksZz1uLmdldFRva2VuKCk9PT04NDU3MDE0O3JldHVybiBnJiZDKG4sZSw4NDU3MDE0KSxuLmdldFRva2VuKCkhPT04MzkwNzIxJiZjKG4sMjUsVls2NV0pLHR8fCFnP3cyKG4sZSk6YihuLGUpLHMobixlLG8saSxsLHt0eXBlOlwiSlNYT3BlbmluZ0VsZW1lbnRcIixuYW1lOmYsYXR0cmlidXRlczpkLHNlbGZDbG9zaW5nOmd9KX1mdW5jdGlvbiBtZShuLGUsdSx0LG8pe3gyKG4pO2xldCBpPVoyKG4sZSx1LHQsbyk7aWYobi5nZXRUb2tlbigpPT09MjEpcmV0dXJuIGtlKG4sZSxpLHUsdCxvKTtmb3IoO1AobixlLDY3MTA4ODc3KTspeDIobiksaT1jMShuLGUsaSx1LHQsbyk7cmV0dXJuIGl9ZnVuY3Rpb24gYzEobixlLHUsdCxvLGkpe2xldCBsPVoyKG4sZSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbik7cmV0dXJuIHMobixlLHQsbyxpLHt0eXBlOlwiSlNYTWVtYmVyRXhwcmVzc2lvblwiLG9iamVjdDp1LHByb3BlcnR5Omx9KX1mdW5jdGlvbiBtMShuLGUsdSl7bGV0IHQ9W107Zm9yKDtuLmdldFRva2VuKCkhPT04NDU3MDE0JiZuLmdldFRva2VuKCkhPT04MzkwNzIxJiZuLmdldFRva2VuKCkhPT0xMDQ4NTc2Oyl0LnB1c2goYTEobixlLHUsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pKTtyZXR1cm4gdH1mdW5jdGlvbiBrMShuLGUsdSx0LG8saSl7YihuLGUpLEMobixlLDE0KTtsZXQgbD1NKG4sZSx1LDEsMCxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbik7cmV0dXJuIEMobixlLDEwNzQ3OTA0MTUpLHMobixlLHQsbyxpLHt0eXBlOlwiSlNYU3ByZWFkQXR0cmlidXRlXCIsYXJndW1lbnQ6bH0pfWZ1bmN0aW9uIGExKG4sZSx1LHQsbyxpKXtpZihuLmdldFRva2VuKCk9PT0yMTYyNzAwKXJldHVybiBrMShuLGUsdSx0LG8saSk7eDIobik7bGV0IGw9bnVsbCxmPVoyKG4sZSx0LG8saSk7aWYobi5nZXRUb2tlbigpPT09MjEmJihmPWtlKG4sZSxmLHQsbyxpKSksbi5nZXRUb2tlbigpPT09MTA3NzkzNjE1NSl7bGV0IGQ9R2UobixlKSx7dG9rZW5JbmRleDpnLHRva2VuTGluZTptLHRva2VuQ29sdW1uOnl9PW47c3dpdGNoKGQpe2Nhc2UgMTM0MjgzMjY3Omw9SChuLGUpO2JyZWFrO2Nhc2UgODQ1NjI1NjpsPVEyKG4sZSx1LDAsZyxtLHkpO2JyZWFrO2Nhc2UgMjE2MjcwMDpsPUFuKG4sZSx1LDAsMSxnLG0seSk7YnJlYWs7ZGVmYXVsdDpjKG4sMTU0KX19cmV0dXJuIHMobixlLHQsbyxpLHt0eXBlOlwiSlNYQXR0cmlidXRlXCIsdmFsdWU6bCxuYW1lOmZ9KX1mdW5jdGlvbiBrZShuLGUsdSx0LG8saSl7QyhuLGUsMjEpO2xldCBsPVoyKG4sZSxuLnRva2VuSW5kZXgsbi50b2tlbkxpbmUsbi50b2tlbkNvbHVtbik7cmV0dXJuIHMobixlLHQsbyxpLHt0eXBlOlwiSlNYTmFtZXNwYWNlZE5hbWVcIixuYW1lc3BhY2U6dSxuYW1lOmx9KX1mdW5jdGlvbiBBbihuLGUsdSx0LG8saSxsLGYpe2IobixlfDgxOTIpO2xldHt0b2tlbkluZGV4OmQsdG9rZW5MaW5lOmcsdG9rZW5Db2x1bW46bX09bjtpZihuLmdldFRva2VuKCk9PT0xNClyZXR1cm4geTEobixlLHUsaSxsLGYpO2xldCB5PW51bGw7cmV0dXJuIG4uZ2V0VG9rZW4oKT09PTEwNzQ3OTA0MTU/KG8mJmMobiwxNTcpLHk9czEobixlLG4uc3RhcnRJbmRleCxuLnN0YXJ0TGluZSxuLnN0YXJ0Q29sdW1uKSk6eT1NKG4sZSx1LDEsMCxkLGcsbSksbi5nZXRUb2tlbigpIT09MTA3NDc5MDQxNSYmYyhuLDI1LFZbMTVdKSx0P3cyKG4sZSk6YihuLGUpLHMobixlLGksbCxmLHt0eXBlOlwiSlNYRXhwcmVzc2lvbkNvbnRhaW5lclwiLGV4cHJlc3Npb246eX0pfWZ1bmN0aW9uIHkxKG4sZSx1LHQsbyxpKXtDKG4sZSwxNCk7bGV0IGw9TShuLGUsdSwxLDAsbi50b2tlbkluZGV4LG4udG9rZW5MaW5lLG4udG9rZW5Db2x1bW4pO3JldHVybiBDKG4sZSwxMDc0NzkwNDE1KSxzKG4sZSx0LG8saSx7dHlwZTpcIkpTWFNwcmVhZENoaWxkXCIsZXhwcmVzc2lvbjpsfSl9ZnVuY3Rpb24gczEobixlLHUsdCxvKXtyZXR1cm4gbi5zdGFydEluZGV4PW4udG9rZW5JbmRleCxuLnN0YXJ0TGluZT1uLnRva2VuTGluZSxuLnN0YXJ0Q29sdW1uPW4udG9rZW5Db2x1bW4scyhuLGUsdSx0LG8se3R5cGU6XCJKU1hFbXB0eUV4cHJlc3Npb25cIn0pfWZ1bmN0aW9uIFoyKG4sZSx1LHQsbyl7bGV0e3Rva2VuVmFsdWU6aX09bjtyZXR1cm4gYihuLGUpLHMobixlLHUsdCxvLHt0eXBlOlwiSlNYSWRlbnRpZmllclwiLG5hbWU6aX0pfWZ1bmN0aW9uIGFlKG4sZSl7cmV0dXJuIGR1KG4sZSwwKX1mdW5jdGlvbiBoMShuLGUpe2xldCB1PW5ldyBTeW50YXhFcnJvcihuK1wiIChcIitlLmxvYy5zdGFydC5saW5lK1wiOlwiK2UubG9jLnN0YXJ0LmNvbHVtbitcIilcIik7cmV0dXJuIE9iamVjdC5hc3NpZ24odSxlKX12YXIgeWU9aDE7ZnVuY3Rpb24gQTEobil7bGV0IGU9W107Zm9yKGxldCB1IG9mIG4pdHJ5e3JldHVybiB1KCl9Y2F0Y2godCl7ZS5wdXNoKHQpfXRocm93IE9iamVjdC5hc3NpZ24obmV3IEVycm9yKFwiQWxsIGNvbWJpbmF0aW9ucyBmYWlsZWRcIikse2Vycm9yczplfSl9dmFyIHNlPUExO3ZhciBiMT0obixlLHUpPT57aWYoIShuJiZlPT1udWxsKSlyZXR1cm4gQXJyYXkuaXNBcnJheShlKXx8dHlwZW9mIGU9PVwic3RyaW5nXCI/ZVt1PDA/ZS5sZW5ndGgrdTp1XTplLmF0KHUpfSxibj1iMTtmdW5jdGlvbiBEMShuKXtyZXR1cm4gQXJyYXkuaXNBcnJheShuKSYmbi5sZW5ndGg+MH12YXIgaGU9RDE7ZnVuY3Rpb24gRyhuKXt2YXIgdCxvLGk7bGV0IGU9KCh0PW4ucmFuZ2UpPT1udWxsP3ZvaWQgMDp0WzBdKT8/bi5zdGFydCx1PShpPSgobz1uLmRlY2xhcmF0aW9uKT09bnVsbD92b2lkIDA6by5kZWNvcmF0b3JzKT8/bi5kZWNvcmF0b3JzKT09bnVsbD92b2lkIDA6aVswXTtyZXR1cm4gdT9NYXRoLm1pbihHKHUpLGUpOmV9ZnVuY3Rpb24gdTIobil7dmFyIGU7cmV0dXJuKChlPW4ucmFuZ2UpPT1udWxsP3ZvaWQgMDplWzFdKT8/bi5lbmR9ZnVuY3Rpb24gVDEobil7bGV0IGU9bmV3IFNldChuKTtyZXR1cm4gdT0+ZS5oYXModT09bnVsbD92b2lkIDA6dS50eXBlKX12YXIgQWU9VDE7dmFyIEMxPUFlKFtcIkJsb2NrXCIsXCJDb21tZW50QmxvY2tcIixcIk11bHRpTGluZVwiXSkscTI9QzE7ZnVuY3Rpb24gRTEobil7bGV0IGU9YCoke24udmFsdWV9KmAuc3BsaXQoYFxuYCk7cmV0dXJuIGUubGVuZ3RoPjEmJmUuZXZlcnkodT0+dS50cmltU3RhcnQoKVswXT09PVwiKlwiKX12YXIgRG49RTE7ZnVuY3Rpb24gdzEobil7cmV0dXJuIHEyKG4pJiZuLnZhbHVlWzBdPT09XCIqXCImJi9AKD86dHlwZXxzYXRpc2ZpZXMpXFxiL3UudGVzdChuLnZhbHVlKX12YXIgYmU9dzE7dmFyIFMyPW51bGw7ZnVuY3Rpb24gUDIobil7aWYoUzIhPT1udWxsJiZ0eXBlb2YgUzIucHJvcGVydHkpe2xldCBlPVMyO3JldHVybiBTMj1QMi5wcm90b3R5cGU9bnVsbCxlfXJldHVybiBTMj1QMi5wcm90b3R5cGU9bj8/T2JqZWN0LmNyZWF0ZShudWxsKSxuZXcgUDJ9dmFyIEIxPTEwO2ZvcihsZXQgbj0wO248PUIxO24rKylQMigpO2Z1bmN0aW9uIFRuKG4pe3JldHVybiBQMihuKX1mdW5jdGlvbiBJMShuLGU9XCJ0eXBlXCIpe1RuKG4pO2Z1bmN0aW9uIHUodCl7bGV0IG89dFtlXSxpPW5bb107aWYoIUFycmF5LmlzQXJyYXkoaSkpdGhyb3cgT2JqZWN0LmFzc2lnbihuZXcgRXJyb3IoYE1pc3NpbmcgdmlzaXRvciBrZXlzIGZvciAnJHtvfScuYCkse25vZGU6dH0pO3JldHVybiBpfXJldHVybiB1fXZhciBEZT1JMTt2YXIgVGU9e0FycmF5RXhwcmVzc2lvbjpbXCJlbGVtZW50c1wiXSxBc3NpZ25tZW50RXhwcmVzc2lvbjpbXCJsZWZ0XCIsXCJyaWdodFwiXSxCaW5hcnlFeHByZXNzaW9uOltcImxlZnRcIixcInJpZ2h0XCJdLEludGVycHJldGVyRGlyZWN0aXZlOltdLERpcmVjdGl2ZTpbXCJ2YWx1ZVwiXSxEaXJlY3RpdmVMaXRlcmFsOltdLEJsb2NrU3RhdGVtZW50OltcImRpcmVjdGl2ZXNcIixcImJvZHlcIl0sQnJlYWtTdGF0ZW1lbnQ6W1wibGFiZWxcIl0sQ2FsbEV4cHJlc3Npb246W1wiY2FsbGVlXCIsXCJhcmd1bWVudHNcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJ0eXBlQXJndW1lbnRzXCJdLENhdGNoQ2xhdXNlOltcInBhcmFtXCIsXCJib2R5XCJdLENvbmRpdGlvbmFsRXhwcmVzc2lvbjpbXCJ0ZXN0XCIsXCJjb25zZXF1ZW50XCIsXCJhbHRlcm5hdGVcIl0sQ29udGludWVTdGF0ZW1lbnQ6W1wibGFiZWxcIl0sRGVidWdnZXJTdGF0ZW1lbnQ6W10sRG9XaGlsZVN0YXRlbWVudDpbXCJib2R5XCIsXCJ0ZXN0XCJdLEVtcHR5U3RhdGVtZW50OltdLEV4cHJlc3Npb25TdGF0ZW1lbnQ6W1wiZXhwcmVzc2lvblwiXSxGaWxlOltcInByb2dyYW1cIl0sRm9ySW5TdGF0ZW1lbnQ6W1wibGVmdFwiLFwicmlnaHRcIixcImJvZHlcIl0sRm9yU3RhdGVtZW50OltcImluaXRcIixcInRlc3RcIixcInVwZGF0ZVwiLFwiYm9keVwiXSxGdW5jdGlvbkRlY2xhcmF0aW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCIsXCJwcmVkaWNhdGVcIl0sRnVuY3Rpb25FeHByZXNzaW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCJdLElkZW50aWZpZXI6W1widHlwZUFubm90YXRpb25cIixcImRlY29yYXRvcnNcIl0sSWZTdGF0ZW1lbnQ6W1widGVzdFwiLFwiY29uc2VxdWVudFwiLFwiYWx0ZXJuYXRlXCJdLExhYmVsZWRTdGF0ZW1lbnQ6W1wibGFiZWxcIixcImJvZHlcIl0sU3RyaW5nTGl0ZXJhbDpbXSxOdW1lcmljTGl0ZXJhbDpbXSxOdWxsTGl0ZXJhbDpbXSxCb29sZWFuTGl0ZXJhbDpbXSxSZWdFeHBMaXRlcmFsOltdLExvZ2ljYWxFeHByZXNzaW9uOltcImxlZnRcIixcInJpZ2h0XCJdLE1lbWJlckV4cHJlc3Npb246W1wib2JqZWN0XCIsXCJwcm9wZXJ0eVwiXSxOZXdFeHByZXNzaW9uOltcImNhbGxlZVwiLFwiYXJndW1lbnRzXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxQcm9ncmFtOltcImRpcmVjdGl2ZXNcIixcImJvZHlcIl0sT2JqZWN0RXhwcmVzc2lvbjpbXCJwcm9wZXJ0aWVzXCJdLE9iamVjdE1ldGhvZDpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcImJvZHlcIl0sT2JqZWN0UHJvcGVydHk6W1wia2V5XCIsXCJ2YWx1ZVwiLFwiZGVjb3JhdG9yc1wiXSxSZXN0RWxlbWVudDpbXCJhcmd1bWVudFwiLFwidHlwZUFubm90YXRpb25cIixcImRlY29yYXRvcnNcIl0sUmV0dXJuU3RhdGVtZW50OltcImFyZ3VtZW50XCJdLFNlcXVlbmNlRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uc1wiXSxQYXJlbnRoZXNpemVkRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCJdLFN3aXRjaENhc2U6W1widGVzdFwiLFwiY29uc2VxdWVudFwiXSxTd2l0Y2hTdGF0ZW1lbnQ6W1wiZGlzY3JpbWluYW50XCIsXCJjYXNlc1wiXSxUaGlzRXhwcmVzc2lvbjpbXSxUaHJvd1N0YXRlbWVudDpbXCJhcmd1bWVudFwiXSxUcnlTdGF0ZW1lbnQ6W1wiYmxvY2tcIixcImhhbmRsZXJcIixcImZpbmFsaXplclwiXSxVbmFyeUV4cHJlc3Npb246W1wiYXJndW1lbnRcIl0sVXBkYXRlRXhwcmVzc2lvbjpbXCJhcmd1bWVudFwiXSxWYXJpYWJsZURlY2xhcmF0aW9uOltcImRlY2xhcmF0aW9uc1wiXSxWYXJpYWJsZURlY2xhcmF0b3I6W1wiaWRcIixcImluaXRcIl0sV2hpbGVTdGF0ZW1lbnQ6W1widGVzdFwiLFwiYm9keVwiXSxXaXRoU3RhdGVtZW50OltcIm9iamVjdFwiLFwiYm9keVwiXSxBc3NpZ25tZW50UGF0dGVybjpbXCJsZWZ0XCIsXCJyaWdodFwiLFwiZGVjb3JhdG9yc1wiLFwidHlwZUFubm90YXRpb25cIl0sQXJyYXlQYXR0ZXJuOltcImVsZW1lbnRzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwiZGVjb3JhdG9yc1wiXSxBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbjpbXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCIsXCJwcmVkaWNhdGVcIl0sQ2xhc3NCb2R5OltcImJvZHlcIl0sQ2xhc3NFeHByZXNzaW9uOltcImRlY29yYXRvcnNcIixcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwic3VwZXJDbGFzc1wiLFwic3VwZXJUeXBlUGFyYW1ldGVyc1wiLFwibWl4aW5zXCIsXCJpbXBsZW1lbnRzXCIsXCJib2R5XCIsXCJzdXBlclR5cGVBcmd1bWVudHNcIl0sQ2xhc3NEZWNsYXJhdGlvbjpbXCJkZWNvcmF0b3JzXCIsXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInN1cGVyQ2xhc3NcIixcInN1cGVyVHlwZVBhcmFtZXRlcnNcIixcIm1peGluc1wiLFwiaW1wbGVtZW50c1wiLFwiYm9keVwiLFwic3VwZXJUeXBlQXJndW1lbnRzXCJdLEV4cG9ydEFsbERlY2xhcmF0aW9uOltcInNvdXJjZVwiLFwiYXR0cmlidXRlc1wiLFwiZXhwb3J0ZWRcIl0sRXhwb3J0RGVmYXVsdERlY2xhcmF0aW9uOltcImRlY2xhcmF0aW9uXCJdLEV4cG9ydE5hbWVkRGVjbGFyYXRpb246W1wiZGVjbGFyYXRpb25cIixcInNwZWNpZmllcnNcIixcInNvdXJjZVwiLFwiYXR0cmlidXRlc1wiXSxFeHBvcnRTcGVjaWZpZXI6W1wibG9jYWxcIixcImV4cG9ydGVkXCJdLEZvck9mU3RhdGVtZW50OltcImxlZnRcIixcInJpZ2h0XCIsXCJib2R5XCJdLEltcG9ydERlY2xhcmF0aW9uOltcInNwZWNpZmllcnNcIixcInNvdXJjZVwiLFwiYXR0cmlidXRlc1wiXSxJbXBvcnREZWZhdWx0U3BlY2lmaWVyOltcImxvY2FsXCJdLEltcG9ydE5hbWVzcGFjZVNwZWNpZmllcjpbXCJsb2NhbFwiXSxJbXBvcnRTcGVjaWZpZXI6W1wiaW1wb3J0ZWRcIixcImxvY2FsXCJdLEltcG9ydEV4cHJlc3Npb246W1wic291cmNlXCIsXCJvcHRpb25zXCJdLE1ldGFQcm9wZXJ0eTpbXCJtZXRhXCIsXCJwcm9wZXJ0eVwiXSxDbGFzc01ldGhvZDpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcImJvZHlcIl0sT2JqZWN0UGF0dGVybjpbXCJwcm9wZXJ0aWVzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwiZGVjb3JhdG9yc1wiXSxTcHJlYWRFbGVtZW50OltcImFyZ3VtZW50XCJdLFN1cGVyOltdLFRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvbjpbXCJ0YWdcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJxdWFzaVwiLFwidHlwZUFyZ3VtZW50c1wiXSxUZW1wbGF0ZUVsZW1lbnQ6W10sVGVtcGxhdGVMaXRlcmFsOltcInF1YXNpc1wiLFwiZXhwcmVzc2lvbnNcIl0sWWllbGRFeHByZXNzaW9uOltcImFyZ3VtZW50XCJdLEF3YWl0RXhwcmVzc2lvbjpbXCJhcmd1bWVudFwiXSxCaWdJbnRMaXRlcmFsOltdLEV4cG9ydE5hbWVzcGFjZVNwZWNpZmllcjpbXCJleHBvcnRlZFwiXSxPcHRpb25hbE1lbWJlckV4cHJlc3Npb246W1wib2JqZWN0XCIsXCJwcm9wZXJ0eVwiXSxPcHRpb25hbENhbGxFeHByZXNzaW9uOltcImNhbGxlZVwiLFwiYXJndW1lbnRzXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxDbGFzc1Byb3BlcnR5OltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIixcInZhbHVlXCIsXCJ2YXJpYW5jZVwiXSxDbGFzc0FjY2Vzc29yUHJvcGVydHk6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwidmFsdWVcIl0sQ2xhc3NQcml2YXRlUHJvcGVydHk6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwidmFsdWVcIixcInZhcmlhbmNlXCJdLENsYXNzUHJpdmF0ZU1ldGhvZDpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcImJvZHlcIl0sUHJpdmF0ZU5hbWU6W1wiaWRcIl0sU3RhdGljQmxvY2s6W1wiYm9keVwiXSxBbnlUeXBlQW5ub3RhdGlvbjpbXSxBcnJheVR5cGVBbm5vdGF0aW9uOltcImVsZW1lbnRUeXBlXCJdLEJvb2xlYW5UeXBlQW5ub3RhdGlvbjpbXSxCb29sZWFuTGl0ZXJhbFR5cGVBbm5vdGF0aW9uOltdLE51bGxMaXRlcmFsVHlwZUFubm90YXRpb246W10sQ2xhc3NJbXBsZW1lbnRzOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiXSxEZWNsYXJlQ2xhc3M6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJleHRlbmRzXCIsXCJtaXhpbnNcIixcImltcGxlbWVudHNcIixcImJvZHlcIl0sRGVjbGFyZUZ1bmN0aW9uOltcImlkXCIsXCJwcmVkaWNhdGVcIl0sRGVjbGFyZUludGVyZmFjZTpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcImV4dGVuZHNcIixcImJvZHlcIl0sRGVjbGFyZU1vZHVsZTpbXCJpZFwiLFwiYm9keVwiXSxEZWNsYXJlTW9kdWxlRXhwb3J0czpbXCJ0eXBlQW5ub3RhdGlvblwiXSxEZWNsYXJlVHlwZUFsaWFzOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicmlnaHRcIl0sRGVjbGFyZU9wYXF1ZVR5cGU6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJzdXBlcnR5cGVcIl0sRGVjbGFyZVZhcmlhYmxlOltcImlkXCJdLERlY2xhcmVFeHBvcnREZWNsYXJhdGlvbjpbXCJkZWNsYXJhdGlvblwiLFwic3BlY2lmaWVyc1wiLFwic291cmNlXCIsXCJhdHRyaWJ1dGVzXCJdLERlY2xhcmVFeHBvcnRBbGxEZWNsYXJhdGlvbjpbXCJzb3VyY2VcIixcImF0dHJpYnV0ZXNcIl0sRGVjbGFyZWRQcmVkaWNhdGU6W1widmFsdWVcIl0sRXhpc3RzVHlwZUFubm90YXRpb246W10sRnVuY3Rpb25UeXBlQW5ub3RhdGlvbjpbXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXN0XCIsXCJyZXR1cm5UeXBlXCIsXCJ0aGlzXCJdLEZ1bmN0aW9uVHlwZVBhcmFtOltcIm5hbWVcIixcInR5cGVBbm5vdGF0aW9uXCJdLEdlbmVyaWNUeXBlQW5ub3RhdGlvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIl0sSW5mZXJyZWRQcmVkaWNhdGU6W10sSW50ZXJmYWNlRXh0ZW5kczpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIl0sSW50ZXJmYWNlRGVjbGFyYXRpb246W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJleHRlbmRzXCIsXCJib2R5XCJdLEludGVyZmFjZVR5cGVBbm5vdGF0aW9uOltcImV4dGVuZHNcIixcImJvZHlcIl0sSW50ZXJzZWN0aW9uVHlwZUFubm90YXRpb246W1widHlwZXNcIl0sTWl4ZWRUeXBlQW5ub3RhdGlvbjpbXSxFbXB0eVR5cGVBbm5vdGF0aW9uOltdLE51bGxhYmxlVHlwZUFubm90YXRpb246W1widHlwZUFubm90YXRpb25cIl0sTnVtYmVyTGl0ZXJhbFR5cGVBbm5vdGF0aW9uOltdLE51bWJlclR5cGVBbm5vdGF0aW9uOltdLE9iamVjdFR5cGVBbm5vdGF0aW9uOltcInByb3BlcnRpZXNcIixcImluZGV4ZXJzXCIsXCJjYWxsUHJvcGVydGllc1wiLFwiaW50ZXJuYWxTbG90c1wiXSxPYmplY3RUeXBlSW50ZXJuYWxTbG90OltcImlkXCIsXCJ2YWx1ZVwiXSxPYmplY3RUeXBlQ2FsbFByb3BlcnR5OltcInZhbHVlXCJdLE9iamVjdFR5cGVJbmRleGVyOltcInZhcmlhbmNlXCIsXCJpZFwiLFwia2V5XCIsXCJ2YWx1ZVwiXSxPYmplY3RUeXBlUHJvcGVydHk6W1wia2V5XCIsXCJ2YWx1ZVwiLFwidmFyaWFuY2VcIl0sT2JqZWN0VHlwZVNwcmVhZFByb3BlcnR5OltcImFyZ3VtZW50XCJdLE9wYXF1ZVR5cGU6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJzdXBlcnR5cGVcIixcImltcGx0eXBlXCJdLFF1YWxpZmllZFR5cGVJZGVudGlmaWVyOltcInF1YWxpZmljYXRpb25cIixcImlkXCJdLFN0cmluZ0xpdGVyYWxUeXBlQW5ub3RhdGlvbjpbXSxTdHJpbmdUeXBlQW5ub3RhdGlvbjpbXSxTeW1ib2xUeXBlQW5ub3RhdGlvbjpbXSxUaGlzVHlwZUFubm90YXRpb246W10sVHVwbGVUeXBlQW5ub3RhdGlvbjpbXCJ0eXBlc1wiLFwiZWxlbWVudFR5cGVzXCJdLFR5cGVvZlR5cGVBbm5vdGF0aW9uOltcImFyZ3VtZW50XCIsXCJ0eXBlQXJndW1lbnRzXCJdLFR5cGVBbGlhczpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInJpZ2h0XCJdLFR5cGVBbm5vdGF0aW9uOltcInR5cGVBbm5vdGF0aW9uXCJdLFR5cGVDYXN0RXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUeXBlUGFyYW1ldGVyOltcImJvdW5kXCIsXCJkZWZhdWx0XCIsXCJ2YXJpYW5jZVwiXSxUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb246W1wicGFyYW1zXCJdLFR5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uOltcInBhcmFtc1wiXSxVbmlvblR5cGVBbm5vdGF0aW9uOltcInR5cGVzXCJdLFZhcmlhbmNlOltdLFZvaWRUeXBlQW5ub3RhdGlvbjpbXSxFbnVtRGVjbGFyYXRpb246W1wiaWRcIixcImJvZHlcIl0sRW51bUJvb2xlYW5Cb2R5OltcIm1lbWJlcnNcIl0sRW51bU51bWJlckJvZHk6W1wibWVtYmVyc1wiXSxFbnVtU3RyaW5nQm9keTpbXCJtZW1iZXJzXCJdLEVudW1TeW1ib2xCb2R5OltcIm1lbWJlcnNcIl0sRW51bUJvb2xlYW5NZW1iZXI6W1wiaWRcIixcImluaXRcIl0sRW51bU51bWJlck1lbWJlcjpbXCJpZFwiLFwiaW5pdFwiXSxFbnVtU3RyaW5nTWVtYmVyOltcImlkXCIsXCJpbml0XCJdLEVudW1EZWZhdWx0ZWRNZW1iZXI6W1wiaWRcIl0sSW5kZXhlZEFjY2Vzc1R5cGU6W1wib2JqZWN0VHlwZVwiLFwiaW5kZXhUeXBlXCJdLE9wdGlvbmFsSW5kZXhlZEFjY2Vzc1R5cGU6W1wib2JqZWN0VHlwZVwiLFwiaW5kZXhUeXBlXCJdLEpTWEF0dHJpYnV0ZTpbXCJuYW1lXCIsXCJ2YWx1ZVwiXSxKU1hDbG9zaW5nRWxlbWVudDpbXCJuYW1lXCJdLEpTWEVsZW1lbnQ6W1wib3BlbmluZ0VsZW1lbnRcIixcImNoaWxkcmVuXCIsXCJjbG9zaW5nRWxlbWVudFwiXSxKU1hFbXB0eUV4cHJlc3Npb246W10sSlNYRXhwcmVzc2lvbkNvbnRhaW5lcjpbXCJleHByZXNzaW9uXCJdLEpTWFNwcmVhZENoaWxkOltcImV4cHJlc3Npb25cIl0sSlNYSWRlbnRpZmllcjpbXSxKU1hNZW1iZXJFeHByZXNzaW9uOltcIm9iamVjdFwiLFwicHJvcGVydHlcIl0sSlNYTmFtZXNwYWNlZE5hbWU6W1wibmFtZXNwYWNlXCIsXCJuYW1lXCJdLEpTWE9wZW5pbmdFbGVtZW50OltcIm5hbWVcIixcImF0dHJpYnV0ZXNcIixcInR5cGVBcmd1bWVudHNcIixcInR5cGVQYXJhbWV0ZXJzXCJdLEpTWFNwcmVhZEF0dHJpYnV0ZTpbXCJhcmd1bWVudFwiXSxKU1hUZXh0OltdLEpTWEZyYWdtZW50OltcIm9wZW5pbmdGcmFnbWVudFwiLFwiY2hpbGRyZW5cIixcImNsb3NpbmdGcmFnbWVudFwiXSxKU1hPcGVuaW5nRnJhZ21lbnQ6W10sSlNYQ2xvc2luZ0ZyYWdtZW50OltdLE5vb3A6W10sUGxhY2Vob2xkZXI6W10sVjhJbnRyaW5zaWNJZGVudGlmaWVyOltdLEFyZ3VtZW50UGxhY2Vob2xkZXI6W10sQmluZEV4cHJlc3Npb246W1wib2JqZWN0XCIsXCJjYWxsZWVcIl0sSW1wb3J0QXR0cmlidXRlOltcImtleVwiLFwidmFsdWVcIl0sRGVjb3JhdG9yOltcImV4cHJlc3Npb25cIl0sRG9FeHByZXNzaW9uOltcImJvZHlcIl0sRXhwb3J0RGVmYXVsdFNwZWNpZmllcjpbXCJleHBvcnRlZFwiXSxSZWNvcmRFeHByZXNzaW9uOltcInByb3BlcnRpZXNcIl0sVHVwbGVFeHByZXNzaW9uOltcImVsZW1lbnRzXCJdLE1vZHVsZUV4cHJlc3Npb246W1wiYm9keVwiXSxUb3BpY1JlZmVyZW5jZTpbXSxQaXBlbGluZVRvcGljRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCJdLFBpcGVsaW5lQmFyZUZ1bmN0aW9uOltcImNhbGxlZVwiXSxQaXBlbGluZVByaW1hcnlUb3BpY1JlZmVyZW5jZTpbXSxUU1BhcmFtZXRlclByb3BlcnR5OltcInBhcmFtZXRlclwiLFwiZGVjb3JhdG9yc1wiXSxUU0RlY2xhcmVGdW5jdGlvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiLFwiYm9keVwiXSxUU0RlY2xhcmVNZXRob2Q6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCJdLFRTUXVhbGlmaWVkTmFtZTpbXCJsZWZ0XCIsXCJyaWdodFwiXSxUU0NhbGxTaWduYXR1cmVEZWNsYXJhdGlvbjpbXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1ldGVyc1wiLFwidHlwZUFubm90YXRpb25cIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiXSxUU0NvbnN0cnVjdFNpZ25hdHVyZURlY2xhcmF0aW9uOltcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbWV0ZXJzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCJdLFRTUHJvcGVydHlTaWduYXR1cmU6W1wia2V5XCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUU01ldGhvZFNpZ25hdHVyZTpbXCJrZXlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbWV0ZXJzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCJdLFRTSW5kZXhTaWduYXR1cmU6W1wicGFyYW1ldGVyc1wiLFwidHlwZUFubm90YXRpb25cIl0sVFNBbnlLZXl3b3JkOltdLFRTQm9vbGVhbktleXdvcmQ6W10sVFNCaWdJbnRLZXl3b3JkOltdLFRTSW50cmluc2ljS2V5d29yZDpbXSxUU05ldmVyS2V5d29yZDpbXSxUU051bGxLZXl3b3JkOltdLFRTTnVtYmVyS2V5d29yZDpbXSxUU09iamVjdEtleXdvcmQ6W10sVFNTdHJpbmdLZXl3b3JkOltdLFRTU3ltYm9sS2V5d29yZDpbXSxUU1VuZGVmaW5lZEtleXdvcmQ6W10sVFNVbmtub3duS2V5d29yZDpbXSxUU1ZvaWRLZXl3b3JkOltdLFRTVGhpc1R5cGU6W10sVFNGdW5jdGlvblR5cGU6W1widHlwZVBhcmFtZXRlcnNcIixcInBhcmFtZXRlcnNcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIl0sVFNDb25zdHJ1Y3RvclR5cGU6W1widHlwZVBhcmFtZXRlcnNcIixcInBhcmFtZXRlcnNcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIl0sVFNUeXBlUmVmZXJlbmNlOltcInR5cGVOYW1lXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxUU1R5cGVQcmVkaWNhdGU6W1wicGFyYW1ldGVyTmFtZVwiLFwidHlwZUFubm90YXRpb25cIl0sVFNUeXBlUXVlcnk6W1wiZXhwck5hbWVcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJ0eXBlQXJndW1lbnRzXCJdLFRTVHlwZUxpdGVyYWw6W1wibWVtYmVyc1wiXSxUU0FycmF5VHlwZTpbXCJlbGVtZW50VHlwZVwiXSxUU1R1cGxlVHlwZTpbXCJlbGVtZW50VHlwZXNcIl0sVFNPcHRpb25hbFR5cGU6W1widHlwZUFubm90YXRpb25cIl0sVFNSZXN0VHlwZTpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUU05hbWVkVHVwbGVNZW1iZXI6W1wibGFiZWxcIixcImVsZW1lbnRUeXBlXCJdLFRTVW5pb25UeXBlOltcInR5cGVzXCJdLFRTSW50ZXJzZWN0aW9uVHlwZTpbXCJ0eXBlc1wiXSxUU0NvbmRpdGlvbmFsVHlwZTpbXCJjaGVja1R5cGVcIixcImV4dGVuZHNUeXBlXCIsXCJ0cnVlVHlwZVwiLFwiZmFsc2VUeXBlXCJdLFRTSW5mZXJUeXBlOltcInR5cGVQYXJhbWV0ZXJcIl0sVFNQYXJlbnRoZXNpemVkVHlwZTpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUU1R5cGVPcGVyYXRvcjpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUU0luZGV4ZWRBY2Nlc3NUeXBlOltcIm9iamVjdFR5cGVcIixcImluZGV4VHlwZVwiXSxUU01hcHBlZFR5cGU6W1widHlwZVBhcmFtZXRlclwiLFwibmFtZVR5cGVcIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTTGl0ZXJhbFR5cGU6W1wibGl0ZXJhbFwiXSxUU0V4cHJlc3Npb25XaXRoVHlwZUFyZ3VtZW50czpbXCJleHByZXNzaW9uXCIsXCJ0eXBlUGFyYW1ldGVyc1wiXSxUU0ludGVyZmFjZURlY2xhcmF0aW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwiZXh0ZW5kc1wiLFwiYm9keVwiXSxUU0ludGVyZmFjZUJvZHk6W1wiYm9keVwiXSxUU1R5cGVBbGlhc0RlY2xhcmF0aW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFubm90YXRpb25cIl0sVFNJbnN0YW50aWF0aW9uRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxUU0FzRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUU1NhdGlzZmllc0V4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwidHlwZUFubm90YXRpb25cIl0sVFNUeXBlQXNzZXJ0aW9uOltcInR5cGVBbm5vdGF0aW9uXCIsXCJleHByZXNzaW9uXCJdLFRTRW51bURlY2xhcmF0aW9uOltcImlkXCIsXCJtZW1iZXJzXCJdLFRTRW51bU1lbWJlcjpbXCJpZFwiLFwiaW5pdGlhbGl6ZXJcIl0sVFNNb2R1bGVEZWNsYXJhdGlvbjpbXCJpZFwiLFwiYm9keVwiXSxUU01vZHVsZUJsb2NrOltcImJvZHlcIl0sVFNJbXBvcnRUeXBlOltcImFyZ3VtZW50XCIsXCJxdWFsaWZpZXJcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJ0eXBlQXJndW1lbnRzXCJdLFRTSW1wb3J0RXF1YWxzRGVjbGFyYXRpb246W1wiaWRcIixcIm1vZHVsZVJlZmVyZW5jZVwiXSxUU0V4dGVybmFsTW9kdWxlUmVmZXJlbmNlOltcImV4cHJlc3Npb25cIl0sVFNOb25OdWxsRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCJdLFRTRXhwb3J0QXNzaWdubWVudDpbXCJleHByZXNzaW9uXCJdLFRTTmFtZXNwYWNlRXhwb3J0RGVjbGFyYXRpb246W1wiaWRcIl0sVFNUeXBlQW5ub3RhdGlvbjpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUU1R5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uOltcInBhcmFtc1wiXSxUU1R5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvbjpbXCJwYXJhbXNcIl0sVFNUeXBlUGFyYW1ldGVyOltcImNvbnN0cmFpbnRcIixcImRlZmF1bHRcIixcIm5hbWVcIl0sQ2hhaW5FeHByZXNzaW9uOltcImV4cHJlc3Npb25cIl0sRXhwZXJpbWVudGFsUmVzdFByb3BlcnR5OltcImFyZ3VtZW50XCJdLEV4cGVyaW1lbnRhbFNwcmVhZFByb3BlcnR5OltcImFyZ3VtZW50XCJdLExpdGVyYWw6W10sTWV0aG9kRGVmaW5pdGlvbjpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInZhbHVlXCJdLFByaXZhdGVJZGVudGlmaWVyOltdLFByb3BlcnR5OltcImtleVwiLFwidmFsdWVcIl0sUHJvcGVydHlEZWZpbml0aW9uOltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIixcInZhbHVlXCIsXCJ2YXJpYW5jZVwiXSxBY2Nlc3NvclByb3BlcnR5OltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIixcInZhbHVlXCJdLFRTQWJzdHJhY3RBY2Nlc3NvclByb3BlcnR5OltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIl0sVFNBYnN0cmFjdEtleXdvcmQ6W10sVFNBYnN0cmFjdE1ldGhvZERlZmluaXRpb246W1wia2V5XCIsXCJ2YWx1ZVwiXSxUU0Fic3RyYWN0UHJvcGVydHlEZWZpbml0aW9uOltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIl0sVFNBc3luY0tleXdvcmQ6W10sVFNDbGFzc0ltcGxlbWVudHM6W1wiZXhwcmVzc2lvblwiLFwidHlwZUFyZ3VtZW50c1wiLFwidHlwZVBhcmFtZXRlcnNcIl0sVFNEZWNsYXJlS2V5d29yZDpbXSxUU0VtcHR5Qm9keUZ1bmN0aW9uRXhwcmVzc2lvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiXSxUU0VudW1Cb2R5OltcIm1lbWJlcnNcIl0sVFNFeHBvcnRLZXl3b3JkOltdLFRTSW50ZXJmYWNlSGVyaXRhZ2U6W1wiZXhwcmVzc2lvblwiLFwidHlwZUFyZ3VtZW50c1wiLFwidHlwZVBhcmFtZXRlcnNcIl0sVFNQcml2YXRlS2V5d29yZDpbXSxUU1Byb3RlY3RlZEtleXdvcmQ6W10sVFNQdWJsaWNLZXl3b3JkOltdLFRTUmVhZG9ubHlLZXl3b3JkOltdLFRTU3RhdGljS2V5d29yZDpbXSxUU1RlbXBsYXRlTGl0ZXJhbFR5cGU6W1wicXVhc2lzXCIsXCJ0eXBlc1wiXSxBc0NvbnN0RXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCJdLEFzRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxCaWdJbnRMaXRlcmFsVHlwZUFubm90YXRpb246W10sQmlnSW50VHlwZUFubm90YXRpb246W10sQ29tcG9uZW50RGVjbGFyYXRpb246W1wiaWRcIixcInBhcmFtc1wiLFwiYm9keVwiLFwidHlwZVBhcmFtZXRlcnNcIixcInJlbmRlcnNUeXBlXCJdLENvbXBvbmVudFBhcmFtZXRlcjpbXCJuYW1lXCIsXCJsb2NhbFwiXSxDb21wb25lbnRUeXBlQW5ub3RhdGlvbjpbXCJwYXJhbXNcIixcInJlc3RcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJyZW5kZXJzVHlwZVwiXSxDb21wb25lbnRUeXBlUGFyYW1ldGVyOltcIm5hbWVcIixcInR5cGVBbm5vdGF0aW9uXCJdLENvbmRpdGlvbmFsVHlwZUFubm90YXRpb246W1wiY2hlY2tUeXBlXCIsXCJleHRlbmRzVHlwZVwiLFwidHJ1ZVR5cGVcIixcImZhbHNlVHlwZVwiXSxEZWNsYXJlQ29tcG9uZW50OltcImlkXCIsXCJwYXJhbXNcIixcInJlc3RcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJyZW5kZXJzVHlwZVwiXSxEZWNsYXJlRW51bTpbXCJpZFwiLFwiYm9keVwiXSxEZWNsYXJlSG9vazpbXCJpZFwiXSxEZWNsYXJlTmFtZXNwYWNlOltcImlkXCIsXCJib2R5XCJdLEVudW1CaWdJbnRCb2R5OltcIm1lbWJlcnNcIl0sRW51bUJpZ0ludE1lbWJlcjpbXCJpZFwiLFwiaW5pdFwiXSxIb29rRGVjbGFyYXRpb246W1wiaWRcIixcInBhcmFtc1wiLFwiYm9keVwiLFwidHlwZVBhcmFtZXRlcnNcIixcInJldHVyblR5cGVcIl0sSG9va1R5cGVBbm5vdGF0aW9uOltcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiLFwicmVzdFwiLFwidHlwZVBhcmFtZXRlcnNcIl0sSW5mZXJUeXBlQW5ub3RhdGlvbjpbXCJ0eXBlUGFyYW1ldGVyXCJdLEtleW9mVHlwZUFubm90YXRpb246W1wiYXJndW1lbnRcIl0sT2JqZWN0VHlwZU1hcHBlZFR5cGVQcm9wZXJ0eTpbXCJrZXlUcGFyYW1cIixcInByb3BUeXBlXCIsXCJzb3VyY2VUeXBlXCIsXCJ2YXJpYW5jZVwiXSxRdWFsaWZpZWRUeXBlb2ZJZGVudGlmaWVyOltcInF1YWxpZmljYXRpb25cIixcImlkXCJdLFR1cGxlVHlwZUxhYmVsZWRFbGVtZW50OltcImxhYmVsXCIsXCJlbGVtZW50VHlwZVwiLFwidmFyaWFuY2VcIl0sVHVwbGVUeXBlU3ByZWFkRWxlbWVudDpbXCJsYWJlbFwiLFwidHlwZUFubm90YXRpb25cIl0sVHlwZU9wZXJhdG9yOltcInR5cGVBbm5vdGF0aW9uXCJdLFR5cGVQcmVkaWNhdGU6W1wicGFyYW1ldGVyTmFtZVwiLFwidHlwZUFubm90YXRpb25cIixcImFzc2VydHNcIl0sTkdSb290OltcIm5vZGVcIl0sTkdQaXBlRXhwcmVzc2lvbjpbXCJsZWZ0XCIsXCJyaWdodFwiLFwiYXJndW1lbnRzXCJdLE5HQ2hhaW5lZEV4cHJlc3Npb246W1wiZXhwcmVzc2lvbnNcIl0sTkdFbXB0eUV4cHJlc3Npb246W10sTkdNaWNyb3N5bnRheDpbXCJib2R5XCJdLE5HTWljcm9zeW50YXhLZXk6W10sTkdNaWNyb3N5bnRheEV4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwiYWxpYXNcIl0sTkdNaWNyb3N5bnRheEtleWVkRXhwcmVzc2lvbjpbXCJrZXlcIixcImV4cHJlc3Npb25cIl0sTkdNaWNyb3N5bnRheExldDpbXCJrZXlcIixcInZhbHVlXCJdLE5HTWljcm9zeW50YXhBczpbXCJrZXlcIixcImFsaWFzXCJdLEpzRXhwcmVzc2lvblJvb3Q6W1wibm9kZVwiXSxKc29uUm9vdDpbXCJub2RlXCJdLFRTSlNEb2NBbGxUeXBlOltdLFRTSlNEb2NVbmtub3duVHlwZTpbXSxUU0pTRG9jTnVsbGFibGVUeXBlOltcInR5cGVBbm5vdGF0aW9uXCJdLFRTSlNEb2NOb25OdWxsYWJsZVR5cGU6W1widHlwZUFubm90YXRpb25cIl0sTmV2ZXJUeXBlQW5ub3RhdGlvbjpbXSxVbmRlZmluZWRUeXBlQW5ub3RhdGlvbjpbXSxVbmtub3duVHlwZUFubm90YXRpb246W10sU2F0aXNmaWVzRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCIsXCJ0eXBlQW5ub3RhdGlvblwiXX07dmFyIEwxPURlKFRlKSxDZT1MMTtmdW5jdGlvbiBDbihuLGUpe2lmKCEobiE9PW51bGwmJnR5cGVvZiBuPT1cIm9iamVjdFwiKSlyZXR1cm4gbjtpZihBcnJheS5pc0FycmF5KG4pKXtmb3IobGV0IHQ9MDt0PG4ubGVuZ3RoO3QrKyluW3RdPUNuKG5bdF0sZSk7cmV0dXJuIG59bGV0IHU9Q2Uobik7Zm9yKGxldCB0PTA7dDx1Lmxlbmd0aDt0Kyspblt1W3RdXT1DbihuW3VbdF1dLGUpO3JldHVybiBlKG4pfHxufXZhciBHMj1DbjtmdW5jdGlvbiBGMShuLGUpe2xldHtwYXJzZXI6dSx0ZXh0OnR9PWU7aWYobi50eXBlPT09XCJGaWxlXCImJm4ucHJvZ3JhbS5pbnRlcnByZXRlcil7bGV0e3Byb2dyYW06e2ludGVycHJldGVyOm99LGNvbW1lbnRzOml9PW47ZGVsZXRlIG4ucHJvZ3JhbS5pbnRlcnByZXRlcixpLnVuc2hpZnQobyl9aWYodT09PVwiYmFiZWxcIil7bGV0IG89bmV3IFNldDtuPUcyKG4saT0+e3ZhciBsOyhsPWkubGVhZGluZ0NvbW1lbnRzKSE9bnVsbCYmbC5zb21lKGJlKSYmby5hZGQoRyhpKSl9KSxuPUcyKG4saT0+e2lmKGkudHlwZT09PVwiUGFyZW50aGVzaXplZEV4cHJlc3Npb25cIil7bGV0e2V4cHJlc3Npb246bH09aTtpZihsLnR5cGU9PT1cIlR5cGVDYXN0RXhwcmVzc2lvblwiKXJldHVybiBsLnJhbmdlPVsuLi5pLnJhbmdlXSxsO2xldCBmPUcoaSk7aWYoIW8uaGFzKGYpKXJldHVybiBsLmV4dHJhPXsuLi5sLmV4dHJhLHBhcmVudGhlc2l6ZWQ6ITB9LGx9fSl9aWYobj1HMihuLG89Pntzd2l0Y2goby50eXBlKXtjYXNlXCJMb2dpY2FsRXhwcmVzc2lvblwiOmlmKEVlKG8pKXJldHVybiBFbihvKTticmVhaztjYXNlXCJWYXJpYWJsZURlY2xhcmF0aW9uXCI6e2xldCBpPWJuKCExLG8uZGVjbGFyYXRpb25zLC0xKTtpIT1udWxsJiZpLmluaXQmJnRbdTIoaSldIT09XCI7XCImJihvLnJhbmdlPVtHKG8pLHUyKGkpXSk7YnJlYWt9Y2FzZVwiVFNQYXJlbnRoZXNpemVkVHlwZVwiOnJldHVybiBvLnR5cGVBbm5vdGF0aW9uO2Nhc2VcIlRTVHlwZVBhcmFtZXRlclwiOmlmKHR5cGVvZiBvLm5hbWU9PVwic3RyaW5nXCIpe2xldCBpPUcobyk7by5uYW1lPXt0eXBlOlwiSWRlbnRpZmllclwiLG5hbWU6by5uYW1lLHJhbmdlOltpLGkrby5uYW1lLmxlbmd0aF19fWJyZWFrO2Nhc2VcIlRvcGljUmVmZXJlbmNlXCI6bi5leHRyYT17Li4ubi5leHRyYSxfX2lzVXNpbmdIYWNrUGlwZWxpbmU6ITB9O2JyZWFrO2Nhc2VcIlRTVW5pb25UeXBlXCI6Y2FzZVwiVFNJbnRlcnNlY3Rpb25UeXBlXCI6aWYoby50eXBlcy5sZW5ndGg9PT0xKXJldHVybiBvLnR5cGVzWzBdO2JyZWFrfX0pLGhlKG4uY29tbWVudHMpKXtsZXQgbz1ibighMSxuLmNvbW1lbnRzLC0xKTtmb3IobGV0IGk9bi5jb21tZW50cy5sZW5ndGgtMjtpPj0wO2ktLSl7bGV0IGw9bi5jb21tZW50c1tpXTt1MihsKT09PUcobykmJnEyKGwpJiZxMihvKSYmRG4obCkmJkRuKG8pJiYobi5jb21tZW50cy5zcGxpY2UoaSsxLDEpLGwudmFsdWUrPVwiKi8vKlwiK28udmFsdWUsbC5yYW5nZT1bRyhsKSx1MihvKV0pLG89bH19cmV0dXJuIG4udHlwZT09PVwiUHJvZ3JhbVwiJiYobi5yYW5nZT1bMCx0Lmxlbmd0aF0pLG59ZnVuY3Rpb24gRWUobil7cmV0dXJuIG4udHlwZT09PVwiTG9naWNhbEV4cHJlc3Npb25cIiYmbi5yaWdodC50eXBlPT09XCJMb2dpY2FsRXhwcmVzc2lvblwiJiZuLm9wZXJhdG9yPT09bi5yaWdodC5vcGVyYXRvcn1mdW5jdGlvbiBFbihuKXtyZXR1cm4gRWUobik/RW4oe3R5cGU6XCJMb2dpY2FsRXhwcmVzc2lvblwiLG9wZXJhdG9yOm4ub3BlcmF0b3IsbGVmdDpFbih7dHlwZTpcIkxvZ2ljYWxFeHByZXNzaW9uXCIsb3BlcmF0b3I6bi5vcGVyYXRvcixsZWZ0Om4ubGVmdCxyaWdodDpuLnJpZ2h0LmxlZnQscmFuZ2U6W0cobi5sZWZ0KSx1MihuLnJpZ2h0LmxlZnQpXX0pLHJpZ2h0Om4ucmlnaHQucmlnaHQscmFuZ2U6W0cobiksdTIobildfSk6bn12YXIgd2U9RjE7dmFyIHExPS9cXCpcXC8kLyxTMT0vXlxcL1xcKlxcKj8vLFAxPS9eXFxzKihcXC9cXCpcXCo/KC58XFxyP1xcbikqP1xcKlxcLykvLHYxPS8oXnxcXHMrKVxcL1xcLyhbXlxcblxccl0qKS9nLEJlPS9eKFxccj9cXG4pKy8sTjE9Lyg/Ol58XFxyP1xcbikgKihAW15cXG5cXHJdKj8pICpcXHI/XFxuICooPyFbXlxcblxcckBdKlxcL1xcL1teXSopKFteXFxzQF1bXlxcblxcckBdKz8pICpcXHI/XFxuL2csSWU9Lyg/Ol58XFxyP1xcbikgKkAoXFxTKykgKihbXlxcblxccl0qKS9nLFYxPS8oXFxyP1xcbnxeKSAqXFwqID8vZyxPMT1bXTtmdW5jdGlvbiBMZShuKXtsZXQgZT1uLm1hdGNoKFAxKTtyZXR1cm4gZT9lWzBdLnRyaW1TdGFydCgpOlwiXCJ9ZnVuY3Rpb24gRmUobil7bGV0IGU9YFxuYDtuPWkyKCExLG4ucmVwbGFjZShTMSxcIlwiKS5yZXBsYWNlKHExLFwiXCIpLFYxLFwiJDFcIik7bGV0IHU9XCJcIjtmb3IoO3UhPT1uOyl1PW4sbj1pMighMSxuLE4xLGAke2V9JDEgJDIke2V9YCk7bj1uLnJlcGxhY2UoQmUsXCJcIikudHJpbUVuZCgpO2xldCB0PU9iamVjdC5jcmVhdGUobnVsbCksbz1pMighMSxuLEllLFwiXCIpLnJlcGxhY2UoQmUsXCJcIikudHJpbUVuZCgpLGk7Zm9yKDtpPUllLmV4ZWMobik7KXtsZXQgbD1pMighMSxpWzJdLHYxLFwiXCIpO2lmKHR5cGVvZiB0W2lbMV1dPT1cInN0cmluZ1wifHxBcnJheS5pc0FycmF5KHRbaVsxXV0pKXtsZXQgZj10W2lbMV1dO3RbaVsxXV09Wy4uLk8xLC4uLkFycmF5LmlzQXJyYXkoZik/ZjpbZl0sbF19ZWxzZSB0W2lbMV1dPWx9cmV0dXJue2NvbW1lbnRzOm8scHJhZ21hczp0fX1mdW5jdGlvbiBSMShuKXtpZighbi5zdGFydHNXaXRoKFwiIyFcIikpcmV0dXJuXCJcIjtsZXQgZT1uLmluZGV4T2YoYFxuYCk7cmV0dXJuIGU9PT0tMT9uOm4uc2xpY2UoMCxlKX12YXIgcWU9UjE7ZnVuY3Rpb24gVTEobil7bGV0IGU9cWUobik7ZSYmKG49bi5zbGljZShlLmxlbmd0aCsxKSk7bGV0IHU9TGUobikse3ByYWdtYXM6dCxjb21tZW50czpvfT1GZSh1KTtyZXR1cm57c2hlYmFuZzplLHRleHQ6bixwcmFnbWFzOnQsY29tbWVudHM6b319ZnVuY3Rpb24gU2Uobil7bGV0e3ByYWdtYXM6ZX09VTEobik7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLFwicHJldHRpZXJcIil8fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLFwiZm9ybWF0XCIpfWZ1bmN0aW9uIE0xKG4pe3JldHVybiBuPXR5cGVvZiBuPT1cImZ1bmN0aW9uXCI/e3BhcnNlOm59Om4se2FzdEZvcm1hdDpcImVzdHJlZVwiLGhhc1ByYWdtYTpTZSxsb2NTdGFydDpHLGxvY0VuZDp1MiwuLi5ufX12YXIgUGU9TTE7ZnVuY3Rpb24gSjEobil7bGV0e2ZpbGVwYXRoOmV9PW47aWYoZSl7aWYoZT1lLnRvTG93ZXJDYXNlKCksZS5lbmRzV2l0aChcIi5janNcIil8fGUuZW5kc1dpdGgoXCIuY3RzXCIpKXJldHVyblwic2NyaXB0XCI7aWYoZS5lbmRzV2l0aChcIi5tanNcIil8fGUuZW5kc1dpdGgoXCIubXRzXCIpKXJldHVyblwibW9kdWxlXCJ9fXZhciB2ZT1KMTt2YXIgajE9e25leHQ6ITAscmFuZ2VzOiEwLHdlYmNvbXBhdDohMCxsb2M6ITAscmF3OiEwLGRpcmVjdGl2ZXM6ITAsZ2xvYmFsUmV0dXJuOiEwLGltcGxpZWRTdHJpY3Q6ITEscHJlc2VydmVQYXJlbnM6ITEsbGV4aWNhbDohMSxqc3g6ITAsdW5pcXVlS2V5SW5QYXR0ZXJuOiExfTtmdW5jdGlvbiBYMShuLGUpe2xldCB1PVtdLHQ9W10sbz1hZShuLHsuLi5qMSxtb2R1bGU6ZT09PVwibW9kdWxlXCIsb25Db21tZW50OnUsb25Ub2tlbjp0fSk7cmV0dXJuIG8uY29tbWVudHM9dSxvLnRva2Vucz10LG99ZnVuY3Rpb24gSDEobil7bGV0e21lc3NhZ2U6ZSxsb2M6dX09bjtpZighdSlyZXR1cm4gbjtsZXQgdD1gWyR7W3Uuc3RhcnQsdS5lbmRdLm1hcCgoe2xpbmU6byxjb2x1bW46aX0pPT5bbyxpXS5qb2luKFwiOlwiKSkuam9pbihcIi1cIil9XTogYDtyZXR1cm4gZS5zdGFydHNXaXRoKHQpJiYoZT1lLnNsaWNlKHQubGVuZ3RoKSkseWUoZSx7bG9jOntzdGFydDp7bGluZTp1LnN0YXJ0LmxpbmUsY29sdW1uOnUuc3RhcnQuY29sdW1uKzF9LGVuZDp7bGluZTp1LmVuZC5saW5lLGNvbHVtbjp1LmVuZC5jb2x1bW4rMX19LGNhdXNlOm59KX1mdW5jdGlvbiB6MShuLGU9e30pe2xldCB1PXZlKGUpLHQ9KHU/W3VdOltcIm1vZHVsZVwiLFwic2NyaXB0XCJdKS5tYXAoaT0+KCk9PlgxKG4saSkpLG87dHJ5e289c2UodCl9Y2F0Y2goe2Vycm9yczpbaV19KXt0aHJvdyBIMShpKX1yZXR1cm4gd2Uobyx7cGFyc2VyOlwibWVyaXlhaFwiLHRleHQ6bn0pfXZhciBLMT1QZSh6MSk7dmFyICQwPUJuO2V4cG9ydHskMCBhcyBkZWZhdWx0LHduIGFzIHBhcnNlcnN9O1xuIiwgInZhciBwbD1PYmplY3QuY3JlYXRlO3ZhciAkcj1PYmplY3QuZGVmaW5lUHJvcGVydHk7dmFyIGhsPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7dmFyIGRsPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzO3ZhciBtbD1PYmplY3QuZ2V0UHJvdG90eXBlT2YseWw9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgZz0odCxlKT0+KCk9PihlfHx0KChlPXtleHBvcnRzOnt9fSkuZXhwb3J0cyxlKSxlLmV4cG9ydHMpLFpzPSh0LGUpPT57Zm9yKHZhciBzIGluIGUpJHIodCxzLHtnZXQ6ZVtzXSxlbnVtZXJhYmxlOiEwfSl9LGdsPSh0LGUscyxyKT0+e2lmKGUmJnR5cGVvZiBlPT1cIm9iamVjdFwifHx0eXBlb2YgZT09XCJmdW5jdGlvblwiKWZvcihsZXQgbiBvZiBkbChlKSkheWwuY2FsbCh0LG4pJiZuIT09cyYmJHIodCxuLHtnZXQ6KCk9PmVbbl0sZW51bWVyYWJsZTohKHI9aGwoZSxuKSl8fHIuZW51bWVyYWJsZX0pO3JldHVybiB0fTt2YXIgeGU9KHQsZSxzKT0+KHM9dCE9bnVsbD9wbChtbCh0KSk6e30sZ2woZXx8IXR8fCF0Ll9fZXNNb2R1bGU/JHIocyxcImRlZmF1bHRcIix7dmFsdWU6dCxlbnVtZXJhYmxlOiEwfSk6cyx0KSk7dmFyIHhpPWcoKGh2LHJzKT0+e3ZhciBfPVN0cmluZyx2aT1mdW5jdGlvbigpe3JldHVybntpc0NvbG9yU3VwcG9ydGVkOiExLHJlc2V0Ol8sYm9sZDpfLGRpbTpfLGl0YWxpYzpfLHVuZGVybGluZTpfLGludmVyc2U6XyxoaWRkZW46XyxzdHJpa2V0aHJvdWdoOl8sYmxhY2s6XyxyZWQ6XyxncmVlbjpfLHllbGxvdzpfLGJsdWU6XyxtYWdlbnRhOl8sY3lhbjpfLHdoaXRlOl8sZ3JheTpfLGJnQmxhY2s6XyxiZ1JlZDpfLGJnR3JlZW46XyxiZ1llbGxvdzpfLGJnQmx1ZTpfLGJnTWFnZW50YTpfLGJnQ3lhbjpfLGJnV2hpdGU6XyxibGFja0JyaWdodDpfLHJlZEJyaWdodDpfLGdyZWVuQnJpZ2h0Ol8seWVsbG93QnJpZ2h0Ol8sYmx1ZUJyaWdodDpfLG1hZ2VudGFCcmlnaHQ6XyxjeWFuQnJpZ2h0Ol8sd2hpdGVCcmlnaHQ6XyxiZ0JsYWNrQnJpZ2h0Ol8sYmdSZWRCcmlnaHQ6XyxiZ0dyZWVuQnJpZ2h0Ol8sYmdZZWxsb3dCcmlnaHQ6XyxiZ0JsdWVCcmlnaHQ6XyxiZ01hZ2VudGFCcmlnaHQ6XyxiZ0N5YW5CcmlnaHQ6XyxiZ1doaXRlQnJpZ2h0Ol99fTtycy5leHBvcnRzPXZpKCk7cnMuZXhwb3J0cy5jcmVhdGVDb2xvcnM9dml9KTt2YXIgc3M9ZygoKT0+e30pO3ZhciBXdD1nKCh5dixraSk9PntcInVzZSBzdHJpY3RcIjt2YXIgYmk9eGkoKSxfaT1zcygpLG90PWNsYXNzIHQgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlLHMscixuLGksbyl7c3VwZXIoZSksdGhpcy5uYW1lPVwiQ3NzU3ludGF4RXJyb3JcIix0aGlzLnJlYXNvbj1lLGkmJih0aGlzLmZpbGU9aSksbiYmKHRoaXMuc291cmNlPW4pLG8mJih0aGlzLnBsdWdpbj1vKSx0eXBlb2YgczxcInVcIiYmdHlwZW9mIHI8XCJ1XCImJih0eXBlb2Ygcz09XCJudW1iZXJcIj8odGhpcy5saW5lPXMsdGhpcy5jb2x1bW49cik6KHRoaXMubGluZT1zLmxpbmUsdGhpcy5jb2x1bW49cy5jb2x1bW4sdGhpcy5lbmRMaW5lPXIubGluZSx0aGlzLmVuZENvbHVtbj1yLmNvbHVtbikpLHRoaXMuc2V0TWVzc2FnZSgpLEVycm9yLmNhcHR1cmVTdGFja1RyYWNlJiZFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLHQpfXNldE1lc3NhZ2UoKXt0aGlzLm1lc3NhZ2U9dGhpcy5wbHVnaW4/dGhpcy5wbHVnaW4rXCI6IFwiOlwiXCIsdGhpcy5tZXNzYWdlKz10aGlzLmZpbGU/dGhpcy5maWxlOlwiPGNzcyBpbnB1dD5cIix0eXBlb2YgdGhpcy5saW5lPFwidVwiJiYodGhpcy5tZXNzYWdlKz1cIjpcIit0aGlzLmxpbmUrXCI6XCIrdGhpcy5jb2x1bW4pLHRoaXMubWVzc2FnZSs9XCI6IFwiK3RoaXMucmVhc29ufXNob3dTb3VyY2VDb2RlKGUpe2lmKCF0aGlzLnNvdXJjZSlyZXR1cm5cIlwiO2xldCBzPXRoaXMuc291cmNlO2U9PW51bGwmJihlPWJpLmlzQ29sb3JTdXBwb3J0ZWQpO2xldCByPWY9PmYsbj1mPT5mLGk9Zj0+ZjtpZihlKXtsZXR7Ym9sZDpmLGdyYXk6cCxyZWQ6bH09YmkuY3JlYXRlQ29sb3JzKCEwKTtuPXk9PmYobCh5KSkscj15PT5wKHkpLF9pJiYoaT15PT5faSh5KSl9bGV0IG89cy5zcGxpdCgvXFxyP1xcbi8pLHU9TWF0aC5tYXgodGhpcy5saW5lLTMsMCksYT1NYXRoLm1pbih0aGlzLmxpbmUrMixvLmxlbmd0aCksYz1TdHJpbmcoYSkubGVuZ3RoO3JldHVybiBvLnNsaWNlKHUsYSkubWFwKChmLHApPT57bGV0IGw9dSsxK3AseT1cIiBcIisoXCIgXCIrbCkuc2xpY2UoLWMpK1wiIHwgXCI7aWYobD09PXRoaXMubGluZSl7aWYoZi5sZW5ndGg+MTYwKXtsZXQgaD0yMCxkPU1hdGgubWF4KDAsdGhpcy5jb2x1bW4taCksbT1NYXRoLm1heCh0aGlzLmNvbHVtbitoLHRoaXMuZW5kQ29sdW1uK2gpLGI9Zi5zbGljZShkLG0pLHc9cih5LnJlcGxhY2UoL1xcZC9nLFwiIFwiKSkrZi5zbGljZSgwLE1hdGgubWluKHRoaXMuY29sdW1uLTEsaC0xKSkucmVwbGFjZSgvW15cXHRdL2csXCIgXCIpO3JldHVybiBuKFwiPlwiKStyKHkpK2koYikrYFxuIGArdytuKFwiXlwiKX1sZXQgeD1yKHkucmVwbGFjZSgvXFxkL2csXCIgXCIpKStmLnNsaWNlKDAsdGhpcy5jb2x1bW4tMSkucmVwbGFjZSgvW15cXHRdL2csXCIgXCIpO3JldHVybiBuKFwiPlwiKStyKHkpK2koZikrYFxuIGAreCtuKFwiXlwiKX1yZXR1cm5cIiBcIityKHkpK2koZil9KS5qb2luKGBcbmApfXRvU3RyaW5nKCl7bGV0IGU9dGhpcy5zaG93U291cmNlQ29kZSgpO3JldHVybiBlJiYoZT1gXG5cbmArZStgXG5gKSx0aGlzLm5hbWUrXCI6IFwiK3RoaXMubWVzc2FnZStlfX07a2kuZXhwb3J0cz1vdDtvdC5kZWZhdWx0PW90fSk7dmFyIFl0PWcoKGd2LFNpKT0+e1widXNlIHN0cmljdFwiO3ZhciBFaT17YWZ0ZXI6YFxuYCxiZWZvcmVDbG9zZTpgXG5gLGJlZm9yZUNvbW1lbnQ6YFxuYCxiZWZvcmVEZWNsOmBcbmAsYmVmb3JlT3BlbjpcIiBcIixiZWZvcmVSdWxlOmBcbmAsY29sb246XCI6IFwiLGNvbW1lbnRMZWZ0OlwiIFwiLGNvbW1lbnRSaWdodDpcIiBcIixlbXB0eUJvZHk6XCJcIixpbmRlbnQ6XCIgICAgXCIsc2VtaWNvbG9uOiExfTtmdW5jdGlvbiBtYyh0KXtyZXR1cm4gdFswXS50b1VwcGVyQ2FzZSgpK3Quc2xpY2UoMSl9dmFyIGF0PWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMuYnVpbGRlcj1lfWF0cnVsZShlLHMpe2xldCByPVwiQFwiK2UubmFtZSxuPWUucGFyYW1zP3RoaXMucmF3VmFsdWUoZSxcInBhcmFtc1wiKTpcIlwiO2lmKHR5cGVvZiBlLnJhd3MuYWZ0ZXJOYW1lPFwidVwiP3IrPWUucmF3cy5hZnRlck5hbWU6biYmKHIrPVwiIFwiKSxlLm5vZGVzKXRoaXMuYmxvY2soZSxyK24pO2Vsc2V7bGV0IGk9KGUucmF3cy5iZXR3ZWVufHxcIlwiKSsocz9cIjtcIjpcIlwiKTt0aGlzLmJ1aWxkZXIocituK2ksZSl9fWJlZm9yZUFmdGVyKGUscyl7bGV0IHI7ZS50eXBlPT09XCJkZWNsXCI/cj10aGlzLnJhdyhlLG51bGwsXCJiZWZvcmVEZWNsXCIpOmUudHlwZT09PVwiY29tbWVudFwiP3I9dGhpcy5yYXcoZSxudWxsLFwiYmVmb3JlQ29tbWVudFwiKTpzPT09XCJiZWZvcmVcIj9yPXRoaXMucmF3KGUsbnVsbCxcImJlZm9yZVJ1bGVcIik6cj10aGlzLnJhdyhlLG51bGwsXCJiZWZvcmVDbG9zZVwiKTtsZXQgbj1lLnBhcmVudCxpPTA7Zm9yKDtuJiZuLnR5cGUhPT1cInJvb3RcIjspaSs9MSxuPW4ucGFyZW50O2lmKHIuaW5jbHVkZXMoYFxuYCkpe2xldCBvPXRoaXMucmF3KGUsbnVsbCxcImluZGVudFwiKTtpZihvLmxlbmd0aClmb3IobGV0IHU9MDt1PGk7dSsrKXIrPW99cmV0dXJuIHJ9YmxvY2soZSxzKXtsZXQgcj10aGlzLnJhdyhlLFwiYmV0d2VlblwiLFwiYmVmb3JlT3BlblwiKTt0aGlzLmJ1aWxkZXIocytyK1wie1wiLGUsXCJzdGFydFwiKTtsZXQgbjtlLm5vZGVzJiZlLm5vZGVzLmxlbmd0aD8odGhpcy5ib2R5KGUpLG49dGhpcy5yYXcoZSxcImFmdGVyXCIpKTpuPXRoaXMucmF3KGUsXCJhZnRlclwiLFwiZW1wdHlCb2R5XCIpLG4mJnRoaXMuYnVpbGRlcihuKSx0aGlzLmJ1aWxkZXIoXCJ9XCIsZSxcImVuZFwiKX1ib2R5KGUpe2xldCBzPWUubm9kZXMubGVuZ3RoLTE7Zm9yKDtzPjAmJmUubm9kZXNbc10udHlwZT09PVwiY29tbWVudFwiOylzLT0xO2xldCByPXRoaXMucmF3KGUsXCJzZW1pY29sb25cIik7Zm9yKGxldCBuPTA7bjxlLm5vZGVzLmxlbmd0aDtuKyspe2xldCBpPWUubm9kZXNbbl0sbz10aGlzLnJhdyhpLFwiYmVmb3JlXCIpO28mJnRoaXMuYnVpbGRlcihvKSx0aGlzLnN0cmluZ2lmeShpLHMhPT1ufHxyKX19Y29tbWVudChlKXtsZXQgcz10aGlzLnJhdyhlLFwibGVmdFwiLFwiY29tbWVudExlZnRcIikscj10aGlzLnJhdyhlLFwicmlnaHRcIixcImNvbW1lbnRSaWdodFwiKTt0aGlzLmJ1aWxkZXIoXCIvKlwiK3MrZS50ZXh0K3IrXCIqL1wiLGUpfWRlY2woZSxzKXtsZXQgcj10aGlzLnJhdyhlLFwiYmV0d2VlblwiLFwiY29sb25cIiksbj1lLnByb3Arcit0aGlzLnJhd1ZhbHVlKGUsXCJ2YWx1ZVwiKTtlLmltcG9ydGFudCYmKG4rPWUucmF3cy5pbXBvcnRhbnR8fFwiICFpbXBvcnRhbnRcIikscyYmKG4rPVwiO1wiKSx0aGlzLmJ1aWxkZXIobixlKX1kb2N1bWVudChlKXt0aGlzLmJvZHkoZSl9cmF3KGUscyxyKXtsZXQgbjtpZihyfHwocj1zKSxzJiYobj1lLnJhd3Nbc10sdHlwZW9mIG48XCJ1XCIpKXJldHVybiBuO2xldCBpPWUucGFyZW50O2lmKHI9PT1cImJlZm9yZVwiJiYoIWl8fGkudHlwZT09PVwicm9vdFwiJiZpLmZpcnN0PT09ZXx8aSYmaS50eXBlPT09XCJkb2N1bWVudFwiKSlyZXR1cm5cIlwiO2lmKCFpKXJldHVybiBFaVtyXTtsZXQgbz1lLnJvb3QoKTtpZihvLnJhd0NhY2hlfHwoby5yYXdDYWNoZT17fSksdHlwZW9mIG8ucmF3Q2FjaGVbcl08XCJ1XCIpcmV0dXJuIG8ucmF3Q2FjaGVbcl07aWYocj09PVwiYmVmb3JlXCJ8fHI9PT1cImFmdGVyXCIpcmV0dXJuIHRoaXMuYmVmb3JlQWZ0ZXIoZSxyKTt7bGV0IHU9XCJyYXdcIittYyhyKTt0aGlzW3VdP249dGhpc1t1XShvLGUpOm8ud2FsayhhPT57aWYobj1hLnJhd3Nbc10sdHlwZW9mIG48XCJ1XCIpcmV0dXJuITF9KX1yZXR1cm4gdHlwZW9mIG4+XCJ1XCImJihuPUVpW3JdKSxvLnJhd0NhY2hlW3JdPW4sbn1yYXdCZWZvcmVDbG9zZShlKXtsZXQgcztyZXR1cm4gZS53YWxrKHI9PntpZihyLm5vZGVzJiZyLm5vZGVzLmxlbmd0aD4wJiZ0eXBlb2Ygci5yYXdzLmFmdGVyPFwidVwiKXJldHVybiBzPXIucmF3cy5hZnRlcixzLmluY2x1ZGVzKGBcbmApJiYocz1zLnJlcGxhY2UoL1teXFxuXSskLyxcIlwiKSksITF9KSxzJiYocz1zLnJlcGxhY2UoL1xcUy9nLFwiXCIpKSxzfXJhd0JlZm9yZUNvbW1lbnQoZSxzKXtsZXQgcjtyZXR1cm4gZS53YWxrQ29tbWVudHMobj0+e2lmKHR5cGVvZiBuLnJhd3MuYmVmb3JlPFwidVwiKXJldHVybiByPW4ucmF3cy5iZWZvcmUsci5pbmNsdWRlcyhgXG5gKSYmKHI9ci5yZXBsYWNlKC9bXlxcbl0rJC8sXCJcIikpLCExfSksdHlwZW9mIHI+XCJ1XCI/cj10aGlzLnJhdyhzLG51bGwsXCJiZWZvcmVEZWNsXCIpOnImJihyPXIucmVwbGFjZSgvXFxTL2csXCJcIikpLHJ9cmF3QmVmb3JlRGVjbChlLHMpe2xldCByO3JldHVybiBlLndhbGtEZWNscyhuPT57aWYodHlwZW9mIG4ucmF3cy5iZWZvcmU8XCJ1XCIpcmV0dXJuIHI9bi5yYXdzLmJlZm9yZSxyLmluY2x1ZGVzKGBcbmApJiYocj1yLnJlcGxhY2UoL1teXFxuXSskLyxcIlwiKSksITF9KSx0eXBlb2Ygcj5cInVcIj9yPXRoaXMucmF3KHMsbnVsbCxcImJlZm9yZVJ1bGVcIik6ciYmKHI9ci5yZXBsYWNlKC9cXFMvZyxcIlwiKSkscn1yYXdCZWZvcmVPcGVuKGUpe2xldCBzO3JldHVybiBlLndhbGsocj0+e2lmKHIudHlwZSE9PVwiZGVjbFwiJiYocz1yLnJhd3MuYmV0d2Vlbix0eXBlb2YgczxcInVcIikpcmV0dXJuITF9KSxzfXJhd0JlZm9yZVJ1bGUoZSl7bGV0IHM7cmV0dXJuIGUud2FsayhyPT57aWYoci5ub2RlcyYmKHIucGFyZW50IT09ZXx8ZS5maXJzdCE9PXIpJiZ0eXBlb2Ygci5yYXdzLmJlZm9yZTxcInVcIilyZXR1cm4gcz1yLnJhd3MuYmVmb3JlLHMuaW5jbHVkZXMoYFxuYCkmJihzPXMucmVwbGFjZSgvW15cXG5dKyQvLFwiXCIpKSwhMX0pLHMmJihzPXMucmVwbGFjZSgvXFxTL2csXCJcIikpLHN9cmF3Q29sb24oZSl7bGV0IHM7cmV0dXJuIGUud2Fsa0RlY2xzKHI9PntpZih0eXBlb2Ygci5yYXdzLmJldHdlZW48XCJ1XCIpcmV0dXJuIHM9ci5yYXdzLmJldHdlZW4ucmVwbGFjZSgvW15cXHM6XS9nLFwiXCIpLCExfSksc31yYXdFbXB0eUJvZHkoZSl7bGV0IHM7cmV0dXJuIGUud2FsayhyPT57aWYoci5ub2RlcyYmci5ub2Rlcy5sZW5ndGg9PT0wJiYocz1yLnJhd3MuYWZ0ZXIsdHlwZW9mIHM8XCJ1XCIpKXJldHVybiExfSksc31yYXdJbmRlbnQoZSl7aWYoZS5yYXdzLmluZGVudClyZXR1cm4gZS5yYXdzLmluZGVudDtsZXQgcztyZXR1cm4gZS53YWxrKHI9PntsZXQgbj1yLnBhcmVudDtpZihuJiZuIT09ZSYmbi5wYXJlbnQmJm4ucGFyZW50PT09ZSYmdHlwZW9mIHIucmF3cy5iZWZvcmU8XCJ1XCIpe2xldCBpPXIucmF3cy5iZWZvcmUuc3BsaXQoYFxuYCk7cmV0dXJuIHM9aVtpLmxlbmd0aC0xXSxzPXMucmVwbGFjZSgvXFxTL2csXCJcIiksITF9fSksc31yYXdTZW1pY29sb24oZSl7bGV0IHM7cmV0dXJuIGUud2FsayhyPT57aWYoci5ub2RlcyYmci5ub2Rlcy5sZW5ndGgmJnIubGFzdC50eXBlPT09XCJkZWNsXCImJihzPXIucmF3cy5zZW1pY29sb24sdHlwZW9mIHM8XCJ1XCIpKXJldHVybiExfSksc31yYXdWYWx1ZShlLHMpe2xldCByPWVbc10sbj1lLnJhd3Nbc107cmV0dXJuIG4mJm4udmFsdWU9PT1yP24ucmF3OnJ9cm9vdChlKXt0aGlzLmJvZHkoZSksZS5yYXdzLmFmdGVyJiZ0aGlzLmJ1aWxkZXIoZS5yYXdzLmFmdGVyKX1ydWxlKGUpe3RoaXMuYmxvY2soZSx0aGlzLnJhd1ZhbHVlKGUsXCJzZWxlY3RvclwiKSksZS5yYXdzLm93blNlbWljb2xvbiYmdGhpcy5idWlsZGVyKGUucmF3cy5vd25TZW1pY29sb24sZSxcImVuZFwiKX1zdHJpbmdpZnkoZSxzKXtpZighdGhpc1tlLnR5cGVdKXRocm93IG5ldyBFcnJvcihcIlVua25vd24gQVNUIG5vZGUgdHlwZSBcIitlLnR5cGUrXCIuIE1heWJlIHlvdSBuZWVkIHRvIGNoYW5nZSBQb3N0Q1NTIHN0cmluZ2lmaWVyLlwiKTt0aGlzW2UudHlwZV0oZSxzKX19O1NpLmV4cG9ydHM9YXQ7YXQuZGVmYXVsdD1hdH0pO3ZhciB1dD1nKCh3dixUaSk9PntcInVzZSBzdHJpY3RcIjt2YXIgeWM9WXQoKTtmdW5jdGlvbiBucyh0LGUpe25ldyB5YyhlKS5zdHJpbmdpZnkodCl9VGkuZXhwb3J0cz1ucztucy5kZWZhdWx0PW5zfSk7dmFyIHp0PWcoKHZ2LGlzKT0+e1widXNlIHN0cmljdFwiO2lzLmV4cG9ydHMuaXNDbGVhbj1TeW1ib2woXCJpc0NsZWFuXCIpO2lzLmV4cG9ydHMubXk9U3ltYm9sKFwibXlcIil9KTt2YXIgcHQ9ZygoeHYsQ2kpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGdjPVd0KCksd2M9WXQoKSx2Yz11dCgpLHtpc0NsZWFuOmx0LG15OnhjfT16dCgpO2Z1bmN0aW9uIG9zKHQsZSl7bGV0IHM9bmV3IHQuY29uc3RydWN0b3I7Zm9yKGxldCByIGluIHQpe2lmKCFPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxyKXx8cj09PVwicHJveHlDYWNoZVwiKWNvbnRpbnVlO2xldCBuPXRbcl0saT10eXBlb2YgbjtyPT09XCJwYXJlbnRcIiYmaT09PVwib2JqZWN0XCI/ZSYmKHNbcl09ZSk6cj09PVwic291cmNlXCI/c1tyXT1uOkFycmF5LmlzQXJyYXkobik/c1tyXT1uLm1hcChvPT5vcyhvLHMpKTooaT09PVwib2JqZWN0XCImJm4hPT1udWxsJiYobj1vcyhuKSksc1tyXT1uKX1yZXR1cm4gc31mdW5jdGlvbiBjdCh0LGUpe2lmKGUmJnR5cGVvZiBlLm9mZnNldDxcInVcIilyZXR1cm4gZS5vZmZzZXQ7bGV0IHM9MSxyPTEsbj0wO2ZvcihsZXQgaT0wO2k8dC5sZW5ndGg7aSsrKXtpZihyPT09ZS5saW5lJiZzPT09ZS5jb2x1bW4pe249aTticmVha310W2ldPT09YFxuYD8ocz0xLHIrPTEpOnMrPTF9cmV0dXJuIG59dmFyIGZ0PWNsYXNze2NvbnN0cnVjdG9yKGU9e30pe3RoaXMucmF3cz17fSx0aGlzW2x0XT0hMSx0aGlzW3hjXT0hMDtmb3IobGV0IHMgaW4gZSlpZihzPT09XCJub2Rlc1wiKXt0aGlzLm5vZGVzPVtdO2ZvcihsZXQgciBvZiBlW3NdKXR5cGVvZiByLmNsb25lPT1cImZ1bmN0aW9uXCI/dGhpcy5hcHBlbmQoci5jbG9uZSgpKTp0aGlzLmFwcGVuZChyKX1lbHNlIHRoaXNbc109ZVtzXX1hZGRUb0Vycm9yKGUpe2lmKGUucG9zdGNzc05vZGU9dGhpcyxlLnN0YWNrJiZ0aGlzLnNvdXJjZSYmL1xcblxcc3s0fWF0IC8udGVzdChlLnN0YWNrKSl7bGV0IHM9dGhpcy5zb3VyY2U7ZS5zdGFjaz1lLnN0YWNrLnJlcGxhY2UoL1xcblxcc3s0fWF0IC8sYCQmJHtzLmlucHV0LmZyb219OiR7cy5zdGFydC5saW5lfToke3Muc3RhcnQuY29sdW1ufSQmYCl9cmV0dXJuIGV9YWZ0ZXIoZSl7cmV0dXJuIHRoaXMucGFyZW50Lmluc2VydEFmdGVyKHRoaXMsZSksdGhpc31hc3NpZ24oZT17fSl7Zm9yKGxldCBzIGluIGUpdGhpc1tzXT1lW3NdO3JldHVybiB0aGlzfWJlZm9yZShlKXtyZXR1cm4gdGhpcy5wYXJlbnQuaW5zZXJ0QmVmb3JlKHRoaXMsZSksdGhpc31jbGVhblJhd3MoZSl7ZGVsZXRlIHRoaXMucmF3cy5iZWZvcmUsZGVsZXRlIHRoaXMucmF3cy5hZnRlcixlfHxkZWxldGUgdGhpcy5yYXdzLmJldHdlZW59Y2xvbmUoZT17fSl7bGV0IHM9b3ModGhpcyk7Zm9yKGxldCByIGluIGUpc1tyXT1lW3JdO3JldHVybiBzfWNsb25lQWZ0ZXIoZT17fSl7bGV0IHM9dGhpcy5jbG9uZShlKTtyZXR1cm4gdGhpcy5wYXJlbnQuaW5zZXJ0QWZ0ZXIodGhpcyxzKSxzfWNsb25lQmVmb3JlKGU9e30pe2xldCBzPXRoaXMuY2xvbmUoZSk7cmV0dXJuIHRoaXMucGFyZW50Lmluc2VydEJlZm9yZSh0aGlzLHMpLHN9ZXJyb3IoZSxzPXt9KXtpZih0aGlzLnNvdXJjZSl7bGV0e2VuZDpyLHN0YXJ0Om59PXRoaXMucmFuZ2VCeShzKTtyZXR1cm4gdGhpcy5zb3VyY2UuaW5wdXQuZXJyb3IoZSx7Y29sdW1uOm4uY29sdW1uLGxpbmU6bi5saW5lfSx7Y29sdW1uOnIuY29sdW1uLGxpbmU6ci5saW5lfSxzKX1yZXR1cm4gbmV3IGdjKGUpfWdldFByb3h5UHJvY2Vzc29yKCl7cmV0dXJue2dldChlLHMpe3JldHVybiBzPT09XCJwcm94eU9mXCI/ZTpzPT09XCJyb290XCI/KCk9PmUucm9vdCgpLnRvUHJveHkoKTplW3NdfSxzZXQoZSxzLHIpe3JldHVybiBlW3NdPT09cnx8KGVbc109ciwocz09PVwicHJvcFwifHxzPT09XCJ2YWx1ZVwifHxzPT09XCJuYW1lXCJ8fHM9PT1cInBhcmFtc1wifHxzPT09XCJpbXBvcnRhbnRcInx8cz09PVwidGV4dFwiKSYmZS5tYXJrRGlydHkoKSksITB9fX1tYXJrQ2xlYW4oKXt0aGlzW2x0XT0hMH1tYXJrRGlydHkoKXtpZih0aGlzW2x0XSl7dGhpc1tsdF09ITE7bGV0IGU9dGhpcztmb3IoO2U9ZS5wYXJlbnQ7KWVbbHRdPSExfX1uZXh0KCl7aWYoIXRoaXMucGFyZW50KXJldHVybjtsZXQgZT10aGlzLnBhcmVudC5pbmRleCh0aGlzKTtyZXR1cm4gdGhpcy5wYXJlbnQubm9kZXNbZSsxXX1wb3NpdGlvbkJ5KGUpe2xldCBzPXRoaXMuc291cmNlLnN0YXJ0O2lmKGUuaW5kZXgpcz10aGlzLnBvc2l0aW9uSW5zaWRlKGUuaW5kZXgpO2Vsc2UgaWYoZS53b3JkKXtsZXQgbj10aGlzLnNvdXJjZS5pbnB1dC5jc3Muc2xpY2UoY3QodGhpcy5zb3VyY2UuaW5wdXQuY3NzLHRoaXMuc291cmNlLnN0YXJ0KSxjdCh0aGlzLnNvdXJjZS5pbnB1dC5jc3MsdGhpcy5zb3VyY2UuZW5kKSkuaW5kZXhPZihlLndvcmQpO24hPT0tMSYmKHM9dGhpcy5wb3NpdGlvbkluc2lkZShuKSl9cmV0dXJuIHN9cG9zaXRpb25JbnNpZGUoZSl7bGV0IHM9dGhpcy5zb3VyY2Uuc3RhcnQuY29sdW1uLHI9dGhpcy5zb3VyY2Uuc3RhcnQubGluZSxuPWN0KHRoaXMuc291cmNlLmlucHV0LmNzcyx0aGlzLnNvdXJjZS5zdGFydCksaT1uK2U7Zm9yKGxldCBvPW47bzxpO28rKyl0aGlzLnNvdXJjZS5pbnB1dC5jc3Nbb109PT1gXG5gPyhzPTEscis9MSk6cys9MTtyZXR1cm57Y29sdW1uOnMsbGluZTpyfX1wcmV2KCl7aWYoIXRoaXMucGFyZW50KXJldHVybjtsZXQgZT10aGlzLnBhcmVudC5pbmRleCh0aGlzKTtyZXR1cm4gdGhpcy5wYXJlbnQubm9kZXNbZS0xXX1yYW5nZUJ5KGUpe2xldCBzPXtjb2x1bW46dGhpcy5zb3VyY2Uuc3RhcnQuY29sdW1uLGxpbmU6dGhpcy5zb3VyY2Uuc3RhcnQubGluZX0scj10aGlzLnNvdXJjZS5lbmQ/e2NvbHVtbjp0aGlzLnNvdXJjZS5lbmQuY29sdW1uKzEsbGluZTp0aGlzLnNvdXJjZS5lbmQubGluZX06e2NvbHVtbjpzLmNvbHVtbisxLGxpbmU6cy5saW5lfTtpZihlLndvcmQpe2xldCBpPXRoaXMuc291cmNlLmlucHV0LmNzcy5zbGljZShjdCh0aGlzLnNvdXJjZS5pbnB1dC5jc3MsdGhpcy5zb3VyY2Uuc3RhcnQpLGN0KHRoaXMuc291cmNlLmlucHV0LmNzcyx0aGlzLnNvdXJjZS5lbmQpKS5pbmRleE9mKGUud29yZCk7aSE9PS0xJiYocz10aGlzLnBvc2l0aW9uSW5zaWRlKGkpLHI9dGhpcy5wb3NpdGlvbkluc2lkZShpK2Uud29yZC5sZW5ndGgpKX1lbHNlIGUuc3RhcnQ/cz17Y29sdW1uOmUuc3RhcnQuY29sdW1uLGxpbmU6ZS5zdGFydC5saW5lfTplLmluZGV4JiYocz10aGlzLnBvc2l0aW9uSW5zaWRlKGUuaW5kZXgpKSxlLmVuZD9yPXtjb2x1bW46ZS5lbmQuY29sdW1uLGxpbmU6ZS5lbmQubGluZX06dHlwZW9mIGUuZW5kSW5kZXg9PVwibnVtYmVyXCI/cj10aGlzLnBvc2l0aW9uSW5zaWRlKGUuZW5kSW5kZXgpOmUuaW5kZXgmJihyPXRoaXMucG9zaXRpb25JbnNpZGUoZS5pbmRleCsxKSk7cmV0dXJuKHIubGluZTxzLmxpbmV8fHIubGluZT09PXMubGluZSYmci5jb2x1bW48PXMuY29sdW1uKSYmKHI9e2NvbHVtbjpzLmNvbHVtbisxLGxpbmU6cy5saW5lfSkse2VuZDpyLHN0YXJ0OnN9fXJhdyhlLHMpe3JldHVybiBuZXcgd2MoKS5yYXcodGhpcyxlLHMpfXJlbW92ZSgpe3JldHVybiB0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQucmVtb3ZlQ2hpbGQodGhpcyksdGhpcy5wYXJlbnQ9dm9pZCAwLHRoaXN9cmVwbGFjZVdpdGgoLi4uZSl7aWYodGhpcy5wYXJlbnQpe2xldCBzPXRoaXMscj0hMTtmb3IobGV0IG4gb2YgZSluPT09dGhpcz9yPSEwOnI/KHRoaXMucGFyZW50Lmluc2VydEFmdGVyKHMsbikscz1uKTp0aGlzLnBhcmVudC5pbnNlcnRCZWZvcmUocyxuKTtyfHx0aGlzLnJlbW92ZSgpfXJldHVybiB0aGlzfXJvb3QoKXtsZXQgZT10aGlzO2Zvcig7ZS5wYXJlbnQmJmUucGFyZW50LnR5cGUhPT1cImRvY3VtZW50XCI7KWU9ZS5wYXJlbnQ7cmV0dXJuIGV9dG9KU09OKGUscyl7bGV0IHI9e30sbj1zPT1udWxsO3M9c3x8bmV3IE1hcDtsZXQgaT0wO2ZvcihsZXQgbyBpbiB0aGlzKXtpZighT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHRoaXMsbyl8fG89PT1cInBhcmVudFwifHxvPT09XCJwcm94eUNhY2hlXCIpY29udGludWU7bGV0IHU9dGhpc1tvXTtpZihBcnJheS5pc0FycmF5KHUpKXJbb109dS5tYXAoYT0+dHlwZW9mIGE9PVwib2JqZWN0XCImJmEudG9KU09OP2EudG9KU09OKG51bGwscyk6YSk7ZWxzZSBpZih0eXBlb2YgdT09XCJvYmplY3RcIiYmdS50b0pTT04pcltvXT11LnRvSlNPTihudWxsLHMpO2Vsc2UgaWYobz09PVwic291cmNlXCIpe2xldCBhPXMuZ2V0KHUuaW5wdXQpO2E9PW51bGwmJihhPWkscy5zZXQodS5pbnB1dCxpKSxpKyspLHJbb109e2VuZDp1LmVuZCxpbnB1dElkOmEsc3RhcnQ6dS5zdGFydH19ZWxzZSByW29dPXV9cmV0dXJuIG4mJihyLmlucHV0cz1bLi4ucy5rZXlzKCldLm1hcChvPT5vLnRvSlNPTigpKSkscn10b1Byb3h5KCl7cmV0dXJuIHRoaXMucHJveHlDYWNoZXx8KHRoaXMucHJveHlDYWNoZT1uZXcgUHJveHkodGhpcyx0aGlzLmdldFByb3h5UHJvY2Vzc29yKCkpKSx0aGlzLnByb3h5Q2FjaGV9dG9TdHJpbmcoZT12Yyl7ZS5zdHJpbmdpZnkmJihlPWUuc3RyaW5naWZ5KTtsZXQgcz1cIlwiO3JldHVybiBlKHRoaXMscj0+e3MrPXJ9KSxzfXdhcm4oZSxzLHIpe2xldCBuPXtub2RlOnRoaXN9O2ZvcihsZXQgaSBpbiByKW5baV09cltpXTtyZXR1cm4gZS53YXJuKHMsbil9Z2V0IHByb3h5T2YoKXtyZXR1cm4gdGhpc319O0NpLmV4cG9ydHM9ZnQ7ZnQuZGVmYXVsdD1mdH0pO3ZhciBSZT1nKChidixPaSk9PntcInVzZSBzdHJpY3RcIjt2YXIgYmM9cHQoKSxodD1jbGFzcyBleHRlbmRzIGJje2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMudHlwZT1cImNvbW1lbnRcIn19O09pLmV4cG9ydHM9aHQ7aHQuZGVmYXVsdD1odH0pO3ZhciBtdD1nKChfdixBaSk9PntcInVzZSBzdHJpY3RcIjt2YXIgX2M9cHQoKSxkdD1jbGFzcyBleHRlbmRzIF9je2NvbnN0cnVjdG9yKGUpe2UmJnR5cGVvZiBlLnZhbHVlPFwidVwiJiZ0eXBlb2YgZS52YWx1ZSE9XCJzdHJpbmdcIiYmKGU9ey4uLmUsdmFsdWU6U3RyaW5nKGUudmFsdWUpfSksc3VwZXIoZSksdGhpcy50eXBlPVwiZGVjbFwifWdldCB2YXJpYWJsZSgpe3JldHVybiB0aGlzLnByb3Auc3RhcnRzV2l0aChcIi0tXCIpfHx0aGlzLnByb3BbMF09PT1cIiRcIn19O0FpLmV4cG9ydHM9ZHQ7ZHQuZGVmYXVsdD1kdH0pO3ZhciB1ZT1nKChrdixNaSk9PntcInVzZSBzdHJpY3RcIjt2YXIgTmk9UmUoKSxQaT1tdCgpLGtjPXB0KCkse2lzQ2xlYW46UmksbXk6SWl9PXp0KCksYXMscWksTGksdXM7ZnVuY3Rpb24gRGkodCl7cmV0dXJuIHQubWFwKGU9PihlLm5vZGVzJiYoZS5ub2Rlcz1EaShlLm5vZGVzKSksZGVsZXRlIGUuc291cmNlLGUpKX1mdW5jdGlvbiBCaSh0KXtpZih0W1JpXT0hMSx0LnByb3h5T2Yubm9kZXMpZm9yKGxldCBlIG9mIHQucHJveHlPZi5ub2RlcylCaShlKX12YXIgVj1jbGFzcyB0IGV4dGVuZHMga2N7YXBwZW5kKC4uLmUpe2ZvcihsZXQgcyBvZiBlKXtsZXQgcj10aGlzLm5vcm1hbGl6ZShzLHRoaXMubGFzdCk7Zm9yKGxldCBuIG9mIHIpdGhpcy5wcm94eU9mLm5vZGVzLnB1c2gobil9cmV0dXJuIHRoaXMubWFya0RpcnR5KCksdGhpc31jbGVhblJhd3MoZSl7aWYoc3VwZXIuY2xlYW5SYXdzKGUpLHRoaXMubm9kZXMpZm9yKGxldCBzIG9mIHRoaXMubm9kZXMpcy5jbGVhblJhd3MoZSl9ZWFjaChlKXtpZighdGhpcy5wcm94eU9mLm5vZGVzKXJldHVybjtsZXQgcz10aGlzLmdldEl0ZXJhdG9yKCkscixuO2Zvcig7dGhpcy5pbmRleGVzW3NdPHRoaXMucHJveHlPZi5ub2Rlcy5sZW5ndGgmJihyPXRoaXMuaW5kZXhlc1tzXSxuPWUodGhpcy5wcm94eU9mLm5vZGVzW3JdLHIpLG4hPT0hMSk7KXRoaXMuaW5kZXhlc1tzXSs9MTtyZXR1cm4gZGVsZXRlIHRoaXMuaW5kZXhlc1tzXSxufWV2ZXJ5KGUpe3JldHVybiB0aGlzLm5vZGVzLmV2ZXJ5KGUpfWdldEl0ZXJhdG9yKCl7dGhpcy5sYXN0RWFjaHx8KHRoaXMubGFzdEVhY2g9MCksdGhpcy5pbmRleGVzfHwodGhpcy5pbmRleGVzPXt9KSx0aGlzLmxhc3RFYWNoKz0xO2xldCBlPXRoaXMubGFzdEVhY2g7cmV0dXJuIHRoaXMuaW5kZXhlc1tlXT0wLGV9Z2V0UHJveHlQcm9jZXNzb3IoKXtyZXR1cm57Z2V0KGUscyl7cmV0dXJuIHM9PT1cInByb3h5T2ZcIj9lOmVbc10/cz09PVwiZWFjaFwifHx0eXBlb2Ygcz09XCJzdHJpbmdcIiYmcy5zdGFydHNXaXRoKFwid2Fsa1wiKT8oLi4ucik9PmVbc10oLi4uci5tYXAobj0+dHlwZW9mIG49PVwiZnVuY3Rpb25cIj8oaSxvKT0+bihpLnRvUHJveHkoKSxvKTpuKSk6cz09PVwiZXZlcnlcInx8cz09PVwic29tZVwiP3I9PmVbc10oKG4sLi4uaSk9PnIobi50b1Byb3h5KCksLi4uaSkpOnM9PT1cInJvb3RcIj8oKT0+ZS5yb290KCkudG9Qcm94eSgpOnM9PT1cIm5vZGVzXCI/ZS5ub2Rlcy5tYXAocj0+ci50b1Byb3h5KCkpOnM9PT1cImZpcnN0XCJ8fHM9PT1cImxhc3RcIj9lW3NdLnRvUHJveHkoKTplW3NdOmVbc119LHNldChlLHMscil7cmV0dXJuIGVbc109PT1yfHwoZVtzXT1yLChzPT09XCJuYW1lXCJ8fHM9PT1cInBhcmFtc1wifHxzPT09XCJzZWxlY3RvclwiKSYmZS5tYXJrRGlydHkoKSksITB9fX1pbmRleChlKXtyZXR1cm4gdHlwZW9mIGU9PVwibnVtYmVyXCI/ZTooZS5wcm94eU9mJiYoZT1lLnByb3h5T2YpLHRoaXMucHJveHlPZi5ub2Rlcy5pbmRleE9mKGUpKX1pbnNlcnRBZnRlcihlLHMpe2xldCByPXRoaXMuaW5kZXgoZSksbj10aGlzLm5vcm1hbGl6ZShzLHRoaXMucHJveHlPZi5ub2Rlc1tyXSkucmV2ZXJzZSgpO3I9dGhpcy5pbmRleChlKTtmb3IobGV0IG8gb2Ygbil0aGlzLnByb3h5T2Yubm9kZXMuc3BsaWNlKHIrMSwwLG8pO2xldCBpO2ZvcihsZXQgbyBpbiB0aGlzLmluZGV4ZXMpaT10aGlzLmluZGV4ZXNbb10scjxpJiYodGhpcy5pbmRleGVzW29dPWkrbi5sZW5ndGgpO3JldHVybiB0aGlzLm1hcmtEaXJ0eSgpLHRoaXN9aW5zZXJ0QmVmb3JlKGUscyl7bGV0IHI9dGhpcy5pbmRleChlKSxuPXI9PT0wP1wicHJlcGVuZFwiOiExLGk9dGhpcy5ub3JtYWxpemUocyx0aGlzLnByb3h5T2Yubm9kZXNbcl0sbikucmV2ZXJzZSgpO3I9dGhpcy5pbmRleChlKTtmb3IobGV0IHUgb2YgaSl0aGlzLnByb3h5T2Yubm9kZXMuc3BsaWNlKHIsMCx1KTtsZXQgbztmb3IobGV0IHUgaW4gdGhpcy5pbmRleGVzKW89dGhpcy5pbmRleGVzW3VdLHI8PW8mJih0aGlzLmluZGV4ZXNbdV09bytpLmxlbmd0aCk7cmV0dXJuIHRoaXMubWFya0RpcnR5KCksdGhpc31ub3JtYWxpemUoZSxzKXtpZih0eXBlb2YgZT09XCJzdHJpbmdcIillPURpKHFpKGUpLm5vZGVzKTtlbHNlIGlmKHR5cGVvZiBlPlwidVwiKWU9W107ZWxzZSBpZihBcnJheS5pc0FycmF5KGUpKXtlPWUuc2xpY2UoMCk7Zm9yKGxldCBuIG9mIGUpbi5wYXJlbnQmJm4ucGFyZW50LnJlbW92ZUNoaWxkKG4sXCJpZ25vcmVcIil9ZWxzZSBpZihlLnR5cGU9PT1cInJvb3RcIiYmdGhpcy50eXBlIT09XCJkb2N1bWVudFwiKXtlPWUubm9kZXMuc2xpY2UoMCk7Zm9yKGxldCBuIG9mIGUpbi5wYXJlbnQmJm4ucGFyZW50LnJlbW92ZUNoaWxkKG4sXCJpZ25vcmVcIil9ZWxzZSBpZihlLnR5cGUpZT1bZV07ZWxzZSBpZihlLnByb3Ape2lmKHR5cGVvZiBlLnZhbHVlPlwidVwiKXRocm93IG5ldyBFcnJvcihcIlZhbHVlIGZpZWxkIGlzIG1pc3NlZCBpbiBub2RlIGNyZWF0aW9uXCIpO3R5cGVvZiBlLnZhbHVlIT1cInN0cmluZ1wiJiYoZS52YWx1ZT1TdHJpbmcoZS52YWx1ZSkpLGU9W25ldyBQaShlKV19ZWxzZSBpZihlLnNlbGVjdG9yfHxlLnNlbGVjdG9ycyllPVtuZXcgdXMoZSldO2Vsc2UgaWYoZS5uYW1lKWU9W25ldyBhcyhlKV07ZWxzZSBpZihlLnRleHQpZT1bbmV3IE5pKGUpXTtlbHNlIHRocm93IG5ldyBFcnJvcihcIlVua25vd24gbm9kZSB0eXBlIGluIG5vZGUgY3JlYXRpb25cIik7cmV0dXJuIGUubWFwKG49PihuW0lpXXx8dC5yZWJ1aWxkKG4pLG49bi5wcm94eU9mLG4ucGFyZW50JiZuLnBhcmVudC5yZW1vdmVDaGlsZChuKSxuW1JpXSYmQmkobiksbi5yYXdzfHwobi5yYXdzPXt9KSx0eXBlb2Ygbi5yYXdzLmJlZm9yZT5cInVcIiYmcyYmdHlwZW9mIHMucmF3cy5iZWZvcmU8XCJ1XCImJihuLnJhd3MuYmVmb3JlPXMucmF3cy5iZWZvcmUucmVwbGFjZSgvXFxTL2csXCJcIikpLG4ucGFyZW50PXRoaXMucHJveHlPZixuKSl9cHJlcGVuZCguLi5lKXtlPWUucmV2ZXJzZSgpO2ZvcihsZXQgcyBvZiBlKXtsZXQgcj10aGlzLm5vcm1hbGl6ZShzLHRoaXMuZmlyc3QsXCJwcmVwZW5kXCIpLnJldmVyc2UoKTtmb3IobGV0IG4gb2Ygcil0aGlzLnByb3h5T2Yubm9kZXMudW5zaGlmdChuKTtmb3IobGV0IG4gaW4gdGhpcy5pbmRleGVzKXRoaXMuaW5kZXhlc1tuXT10aGlzLmluZGV4ZXNbbl0rci5sZW5ndGh9cmV0dXJuIHRoaXMubWFya0RpcnR5KCksdGhpc31wdXNoKGUpe3JldHVybiBlLnBhcmVudD10aGlzLHRoaXMucHJveHlPZi5ub2Rlcy5wdXNoKGUpLHRoaXN9cmVtb3ZlQWxsKCl7Zm9yKGxldCBlIG9mIHRoaXMucHJveHlPZi5ub2RlcyllLnBhcmVudD12b2lkIDA7cmV0dXJuIHRoaXMucHJveHlPZi5ub2Rlcz1bXSx0aGlzLm1hcmtEaXJ0eSgpLHRoaXN9cmVtb3ZlQ2hpbGQoZSl7ZT10aGlzLmluZGV4KGUpLHRoaXMucHJveHlPZi5ub2Rlc1tlXS5wYXJlbnQ9dm9pZCAwLHRoaXMucHJveHlPZi5ub2Rlcy5zcGxpY2UoZSwxKTtsZXQgcztmb3IobGV0IHIgaW4gdGhpcy5pbmRleGVzKXM9dGhpcy5pbmRleGVzW3JdLHM+PWUmJih0aGlzLmluZGV4ZXNbcl09cy0xKTtyZXR1cm4gdGhpcy5tYXJrRGlydHkoKSx0aGlzfXJlcGxhY2VWYWx1ZXMoZSxzLHIpe3JldHVybiByfHwocj1zLHM9e30pLHRoaXMud2Fsa0RlY2xzKG49PntzLnByb3BzJiYhcy5wcm9wcy5pbmNsdWRlcyhuLnByb3ApfHxzLmZhc3QmJiFuLnZhbHVlLmluY2x1ZGVzKHMuZmFzdCl8fChuLnZhbHVlPW4udmFsdWUucmVwbGFjZShlLHIpKX0pLHRoaXMubWFya0RpcnR5KCksdGhpc31zb21lKGUpe3JldHVybiB0aGlzLm5vZGVzLnNvbWUoZSl9d2FsayhlKXtyZXR1cm4gdGhpcy5lYWNoKChzLHIpPT57bGV0IG47dHJ5e249ZShzLHIpfWNhdGNoKGkpe3Rocm93IHMuYWRkVG9FcnJvcihpKX1yZXR1cm4gbiE9PSExJiZzLndhbGsmJihuPXMud2FsayhlKSksbn0pfXdhbGtBdFJ1bGVzKGUscyl7cmV0dXJuIHM/ZSBpbnN0YW5jZW9mIFJlZ0V4cD90aGlzLndhbGsoKHIsbik9PntpZihyLnR5cGU9PT1cImF0cnVsZVwiJiZlLnRlc3Qoci5uYW1lKSlyZXR1cm4gcyhyLG4pfSk6dGhpcy53YWxrKChyLG4pPT57aWYoci50eXBlPT09XCJhdHJ1bGVcIiYmci5uYW1lPT09ZSlyZXR1cm4gcyhyLG4pfSk6KHM9ZSx0aGlzLndhbGsoKHIsbik9PntpZihyLnR5cGU9PT1cImF0cnVsZVwiKXJldHVybiBzKHIsbil9KSl9d2Fsa0NvbW1lbnRzKGUpe3JldHVybiB0aGlzLndhbGsoKHMscik9PntpZihzLnR5cGU9PT1cImNvbW1lbnRcIilyZXR1cm4gZShzLHIpfSl9d2Fsa0RlY2xzKGUscyl7cmV0dXJuIHM/ZSBpbnN0YW5jZW9mIFJlZ0V4cD90aGlzLndhbGsoKHIsbik9PntpZihyLnR5cGU9PT1cImRlY2xcIiYmZS50ZXN0KHIucHJvcCkpcmV0dXJuIHMocixuKX0pOnRoaXMud2FsaygocixuKT0+e2lmKHIudHlwZT09PVwiZGVjbFwiJiZyLnByb3A9PT1lKXJldHVybiBzKHIsbil9KToocz1lLHRoaXMud2FsaygocixuKT0+e2lmKHIudHlwZT09PVwiZGVjbFwiKXJldHVybiBzKHIsbil9KSl9d2Fsa1J1bGVzKGUscyl7cmV0dXJuIHM/ZSBpbnN0YW5jZW9mIFJlZ0V4cD90aGlzLndhbGsoKHIsbik9PntpZihyLnR5cGU9PT1cInJ1bGVcIiYmZS50ZXN0KHIuc2VsZWN0b3IpKXJldHVybiBzKHIsbil9KTp0aGlzLndhbGsoKHIsbik9PntpZihyLnR5cGU9PT1cInJ1bGVcIiYmci5zZWxlY3Rvcj09PWUpcmV0dXJuIHMocixuKX0pOihzPWUsdGhpcy53YWxrKChyLG4pPT57aWYoci50eXBlPT09XCJydWxlXCIpcmV0dXJuIHMocixuKX0pKX1nZXQgZmlyc3QoKXtpZih0aGlzLnByb3h5T2Yubm9kZXMpcmV0dXJuIHRoaXMucHJveHlPZi5ub2Rlc1swXX1nZXQgbGFzdCgpe2lmKHRoaXMucHJveHlPZi5ub2RlcylyZXR1cm4gdGhpcy5wcm94eU9mLm5vZGVzW3RoaXMucHJveHlPZi5ub2Rlcy5sZW5ndGgtMV19fTtWLnJlZ2lzdGVyUGFyc2U9dD0+e3FpPXR9O1YucmVnaXN0ZXJSdWxlPXQ9Pnt1cz10fTtWLnJlZ2lzdGVyQXRSdWxlPXQ9Pnthcz10fTtWLnJlZ2lzdGVyUm9vdD10PT57TGk9dH07TWkuZXhwb3J0cz1WO1YuZGVmYXVsdD1WO1YucmVidWlsZD10PT57dC50eXBlPT09XCJhdHJ1bGVcIj9PYmplY3Quc2V0UHJvdG90eXBlT2YodCxhcy5wcm90b3R5cGUpOnQudHlwZT09PVwicnVsZVwiP09iamVjdC5zZXRQcm90b3R5cGVPZih0LHVzLnByb3RvdHlwZSk6dC50eXBlPT09XCJkZWNsXCI/T2JqZWN0LnNldFByb3RvdHlwZU9mKHQsUGkucHJvdG90eXBlKTp0LnR5cGU9PT1cImNvbW1lbnRcIj9PYmplY3Quc2V0UHJvdG90eXBlT2YodCxOaS5wcm90b3R5cGUpOnQudHlwZT09PVwicm9vdFwiJiZPYmplY3Quc2V0UHJvdG90eXBlT2YodCxMaS5wcm90b3R5cGUpLHRbSWldPSEwLHQubm9kZXMmJnQubm9kZXMuZm9yRWFjaChlPT57Vi5yZWJ1aWxkKGUpfSl9fSk7dmFyIEZpPWcoKEV2LFVpKT0+e3ZhciBFYz1cInVzZWFuZG9tLTI2VDE5ODM0MFBYNzVweEpBQ0tWRVJZTUlOREJVU0hXT0xGX0dRWmJmZ2hqa2xxdnd5enJpY3RcIixTYz0odCxlPTIxKT0+KHM9ZSk9PntsZXQgcj1cIlwiLG49cztmb3IoO24tLTspcis9dFtNYXRoLnJhbmRvbSgpKnQubGVuZ3RofDBdO3JldHVybiByfSxUYz0odD0yMSk9PntsZXQgZT1cIlwiLHM9dDtmb3IoO3MtLTspZSs9RWNbTWF0aC5yYW5kb20oKSo2NHwwXTtyZXR1cm4gZX07VWkuZXhwb3J0cz17bmFub2lkOlRjLGN1c3RvbUFscGhhYmV0OlNjfX0pO3ZhciAkaT1nKCgpPT57fSk7dmFyIGxzPWcoKEN2LFdpKT0+e1dpLmV4cG9ydHM9Y2xhc3N7fX0pO3ZhciBxZT1nKChBdixHaSk9PntcInVzZSBzdHJpY3RcIjt2YXJ7bmFub2lkOkNjfT1GaSgpLHtpc0Fic29sdXRlOnBzLHJlc29sdmU6aHN9PXt9LHtTb3VyY2VNYXBDb25zdW1lcjpPYyxTb3VyY2VNYXBHZW5lcmF0b3I6QWN9PSRpKCkse2ZpbGVVUkxUb1BhdGg6WWkscGF0aFRvRmlsZVVSTDpWdH09e30semk9V3QoKSxOYz1scygpLGNzPXNzKCksZnM9U3ltYm9sKFwiZnJvbU9mZnNldENhY2hlXCIpLFBjPSEhKE9jJiZBYyksVmk9ISEoaHMmJnBzKSxJZT1jbGFzc3tjb25zdHJ1Y3RvcihlLHM9e30pe2lmKGU9PT1udWxsfHx0eXBlb2YgZT5cInVcInx8dHlwZW9mIGU9PVwib2JqZWN0XCImJiFlLnRvU3RyaW5nKXRocm93IG5ldyBFcnJvcihgUG9zdENTUyByZWNlaXZlZCAke2V9IGluc3RlYWQgb2YgQ1NTIHN0cmluZ2ApO2lmKHRoaXMuY3NzPWUudG9TdHJpbmcoKSx0aGlzLmNzc1swXT09PVwiXFx1RkVGRlwifHx0aGlzLmNzc1swXT09PVwiXFx1RkZGRVwiPyh0aGlzLmhhc0JPTT0hMCx0aGlzLmNzcz10aGlzLmNzcy5zbGljZSgxKSk6dGhpcy5oYXNCT009ITEscy5mcm9tJiYoIVZpfHwvXlxcdys6XFwvXFwvLy50ZXN0KHMuZnJvbSl8fHBzKHMuZnJvbSk/dGhpcy5maWxlPXMuZnJvbTp0aGlzLmZpbGU9aHMocy5mcm9tKSksVmkmJlBjKXtsZXQgcj1uZXcgTmModGhpcy5jc3Mscyk7aWYoci50ZXh0KXt0aGlzLm1hcD1yO2xldCBuPXIuY29uc3VtZXIoKS5maWxlOyF0aGlzLmZpbGUmJm4mJih0aGlzLmZpbGU9dGhpcy5tYXBSZXNvbHZlKG4pKX19dGhpcy5maWxlfHwodGhpcy5pZD1cIjxpbnB1dCBjc3MgXCIrQ2MoNikrXCI+XCIpLHRoaXMubWFwJiYodGhpcy5tYXAuZmlsZT10aGlzLmZyb20pfWVycm9yKGUscyxyLG49e30pe2xldCBpLG8sdTtpZihzJiZ0eXBlb2Ygcz09XCJvYmplY3RcIil7bGV0IGM9cyxmPXI7aWYodHlwZW9mIGMub2Zmc2V0PT1cIm51bWJlclwiKXtsZXQgcD10aGlzLmZyb21PZmZzZXQoYy5vZmZzZXQpO3M9cC5saW5lLHI9cC5jb2x9ZWxzZSBzPWMubGluZSxyPWMuY29sdW1uO2lmKHR5cGVvZiBmLm9mZnNldD09XCJudW1iZXJcIil7bGV0IHA9dGhpcy5mcm9tT2Zmc2V0KGYub2Zmc2V0KTtvPXAubGluZSxpPXAuY29sfWVsc2Ugbz1mLmxpbmUsaT1mLmNvbHVtbn1lbHNlIGlmKCFyKXtsZXQgYz10aGlzLmZyb21PZmZzZXQocyk7cz1jLmxpbmUscj1jLmNvbH1sZXQgYT10aGlzLm9yaWdpbihzLHIsbyxpKTtyZXR1cm4gYT91PW5ldyB6aShlLGEuZW5kTGluZT09PXZvaWQgMD9hLmxpbmU6e2NvbHVtbjphLmNvbHVtbixsaW5lOmEubGluZX0sYS5lbmRMaW5lPT09dm9pZCAwP2EuY29sdW1uOntjb2x1bW46YS5lbmRDb2x1bW4sbGluZTphLmVuZExpbmV9LGEuc291cmNlLGEuZmlsZSxuLnBsdWdpbik6dT1uZXcgemkoZSxvPT09dm9pZCAwP3M6e2NvbHVtbjpyLGxpbmU6c30sbz09PXZvaWQgMD9yOntjb2x1bW46aSxsaW5lOm99LHRoaXMuY3NzLHRoaXMuZmlsZSxuLnBsdWdpbiksdS5pbnB1dD17Y29sdW1uOnIsZW5kQ29sdW1uOmksZW5kTGluZTpvLGxpbmU6cyxzb3VyY2U6dGhpcy5jc3N9LHRoaXMuZmlsZSYmKFZ0JiYodS5pbnB1dC51cmw9VnQodGhpcy5maWxlKS50b1N0cmluZygpKSx1LmlucHV0LmZpbGU9dGhpcy5maWxlKSx1fWZyb21PZmZzZXQoZSl7bGV0IHMscjtpZih0aGlzW2ZzXSlyPXRoaXNbZnNdO2Vsc2V7bGV0IGk9dGhpcy5jc3Muc3BsaXQoYFxuYCk7cj1uZXcgQXJyYXkoaS5sZW5ndGgpO2xldCBvPTA7Zm9yKGxldCB1PTAsYT1pLmxlbmd0aDt1PGE7dSsrKXJbdV09byxvKz1pW3VdLmxlbmd0aCsxO3RoaXNbZnNdPXJ9cz1yW3IubGVuZ3RoLTFdO2xldCBuPTA7aWYoZT49cyluPXIubGVuZ3RoLTE7ZWxzZXtsZXQgaT1yLmxlbmd0aC0yLG87Zm9yKDtuPGk7KWlmKG89bisoaS1uPj4xKSxlPHJbb10paT1vLTE7ZWxzZSBpZihlPj1yW28rMV0pbj1vKzE7ZWxzZXtuPW87YnJlYWt9fXJldHVybntjb2w6ZS1yW25dKzEsbGluZTpuKzF9fW1hcFJlc29sdmUoZSl7cmV0dXJuL15cXHcrOlxcL1xcLy8udGVzdChlKT9lOmhzKHRoaXMubWFwLmNvbnN1bWVyKCkuc291cmNlUm9vdHx8dGhpcy5tYXAucm9vdHx8XCIuXCIsZSl9b3JpZ2luKGUscyxyLG4pe2lmKCF0aGlzLm1hcClyZXR1cm4hMTtsZXQgaT10aGlzLm1hcC5jb25zdW1lcigpLG89aS5vcmlnaW5hbFBvc2l0aW9uRm9yKHtjb2x1bW46cyxsaW5lOmV9KTtpZighby5zb3VyY2UpcmV0dXJuITE7bGV0IHU7dHlwZW9mIHI9PVwibnVtYmVyXCImJih1PWkub3JpZ2luYWxQb3NpdGlvbkZvcih7Y29sdW1uOm4sbGluZTpyfSkpO2xldCBhO3BzKG8uc291cmNlKT9hPVZ0KG8uc291cmNlKTphPW5ldyBVUkwoby5zb3VyY2UsdGhpcy5tYXAuY29uc3VtZXIoKS5zb3VyY2VSb290fHxWdCh0aGlzLm1hcC5tYXBGaWxlKSk7bGV0IGM9e2NvbHVtbjpvLmNvbHVtbixlbmRDb2x1bW46dSYmdS5jb2x1bW4sZW5kTGluZTp1JiZ1LmxpbmUsbGluZTpvLmxpbmUsdXJsOmEudG9TdHJpbmcoKX07aWYoYS5wcm90b2NvbD09PVwiZmlsZTpcIilpZihZaSljLmZpbGU9WWkoYSk7ZWxzZSB0aHJvdyBuZXcgRXJyb3IoXCJmaWxlOiBwcm90b2NvbCBpcyBub3QgYXZhaWxhYmxlIGluIHRoaXMgUG9zdENTUyBidWlsZFwiKTtsZXQgZj1pLnNvdXJjZUNvbnRlbnRGb3Ioby5zb3VyY2UpO3JldHVybiBmJiYoYy5zb3VyY2U9ZiksY310b0pTT04oKXtsZXQgZT17fTtmb3IobGV0IHMgb2ZbXCJoYXNCT01cIixcImNzc1wiLFwiZmlsZVwiLFwiaWRcIl0pdGhpc1tzXSE9bnVsbCYmKGVbc109dGhpc1tzXSk7cmV0dXJuIHRoaXMubWFwJiYoZS5tYXA9ey4uLnRoaXMubWFwfSxlLm1hcC5jb25zdW1lckNhY2hlJiYoZS5tYXAuY29uc3VtZXJDYWNoZT12b2lkIDApKSxlfWdldCBmcm9tKCl7cmV0dXJuIHRoaXMuZmlsZXx8dGhpcy5pZH19O0dpLmV4cG9ydHM9SWU7SWUuZGVmYXVsdD1JZTtjcyYmY3MucmVnaXN0ZXJJbnB1dCYmY3MucmVnaXN0ZXJJbnB1dChJZSl9KTt2YXIgR3Q9ZygoTnYsSGkpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGppPXVlKCksTGU9Y2xhc3MgZXh0ZW5kcyBqaXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLnR5cGU9XCJhdHJ1bGVcIn1hcHBlbmQoLi4uZSl7cmV0dXJuIHRoaXMucHJveHlPZi5ub2Rlc3x8KHRoaXMubm9kZXM9W10pLHN1cGVyLmFwcGVuZCguLi5lKX1wcmVwZW5kKC4uLmUpe3JldHVybiB0aGlzLnByb3h5T2Yubm9kZXN8fCh0aGlzLm5vZGVzPVtdKSxzdXBlci5wcmVwZW5kKC4uLmUpfX07SGkuZXhwb3J0cz1MZTtMZS5kZWZhdWx0PUxlO2ppLnJlZ2lzdGVyQXRSdWxlKExlKX0pO3ZhciBEZT1nKChQdixYaSk9PntcInVzZSBzdHJpY3RcIjt2YXIgS2k9dWUoKSxRaSxKaSxsZT1jbGFzcyBleHRlbmRzIEtpe2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMudHlwZT1cInJvb3RcIix0aGlzLm5vZGVzfHwodGhpcy5ub2Rlcz1bXSl9bm9ybWFsaXplKGUscyxyKXtsZXQgbj1zdXBlci5ub3JtYWxpemUoZSk7aWYocyl7aWYocj09PVwicHJlcGVuZFwiKXRoaXMubm9kZXMubGVuZ3RoPjE/cy5yYXdzLmJlZm9yZT10aGlzLm5vZGVzWzFdLnJhd3MuYmVmb3JlOmRlbGV0ZSBzLnJhd3MuYmVmb3JlO2Vsc2UgaWYodGhpcy5maXJzdCE9PXMpZm9yKGxldCBpIG9mIG4paS5yYXdzLmJlZm9yZT1zLnJhd3MuYmVmb3JlfXJldHVybiBufXJlbW92ZUNoaWxkKGUscyl7bGV0IHI9dGhpcy5pbmRleChlKTtyZXR1cm4hcyYmcj09PTAmJnRoaXMubm9kZXMubGVuZ3RoPjEmJih0aGlzLm5vZGVzWzFdLnJhd3MuYmVmb3JlPXRoaXMubm9kZXNbcl0ucmF3cy5iZWZvcmUpLHN1cGVyLnJlbW92ZUNoaWxkKGUpfXRvUmVzdWx0KGU9e30pe3JldHVybiBuZXcgUWkobmV3IEppLHRoaXMsZSkuc3RyaW5naWZ5KCl9fTtsZS5yZWdpc3RlckxhenlSZXN1bHQ9dD0+e1FpPXR9O2xlLnJlZ2lzdGVyUHJvY2Vzc29yPXQ9PntKaT10fTtYaS5leHBvcnRzPWxlO2xlLmRlZmF1bHQ9bGU7S2kucmVnaXN0ZXJSb290KGxlKX0pO3ZhciBkcz1nKChSdixaaSk9PntcInVzZSBzdHJpY3RcIjt2YXIgeXQ9e2NvbW1hKHQpe3JldHVybiB5dC5zcGxpdCh0LFtcIixcIl0sITApfSxzcGFjZSh0KXtsZXQgZT1bXCIgXCIsYFxuYCxcIlx0XCJdO3JldHVybiB5dC5zcGxpdCh0LGUpfSxzcGxpdCh0LGUscyl7bGV0IHI9W10sbj1cIlwiLGk9ITEsbz0wLHU9ITEsYT1cIlwiLGM9ITE7Zm9yKGxldCBmIG9mIHQpYz9jPSExOmY9PT1cIlxcXFxcIj9jPSEwOnU/Zj09PWEmJih1PSExKTpmPT09J1wiJ3x8Zj09PVwiJ1wiPyh1PSEwLGE9Zik6Zj09PVwiKFwiP28rPTE6Zj09PVwiKVwiP28+MCYmKG8tPTEpOm89PT0wJiZlLmluY2x1ZGVzKGYpJiYoaT0hMCksaT8obiE9PVwiXCImJnIucHVzaChuLnRyaW0oKSksbj1cIlwiLGk9ITEpOm4rPWY7cmV0dXJuKHN8fG4hPT1cIlwiKSYmci5wdXNoKG4udHJpbSgpKSxyfX07WmkuZXhwb3J0cz15dDt5dC5kZWZhdWx0PXl0fSk7dmFyIGp0PWcoKEl2LHRvKT0+e1widXNlIHN0cmljdFwiO3ZhciBlbz11ZSgpLFJjPWRzKCksQmU9Y2xhc3MgZXh0ZW5kcyBlb3tjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLnR5cGU9XCJydWxlXCIsdGhpcy5ub2Rlc3x8KHRoaXMubm9kZXM9W10pfWdldCBzZWxlY3RvcnMoKXtyZXR1cm4gUmMuY29tbWEodGhpcy5zZWxlY3Rvcil9c2V0IHNlbGVjdG9ycyhlKXtsZXQgcz10aGlzLnNlbGVjdG9yP3RoaXMuc2VsZWN0b3IubWF0Y2goLyxcXHMqLyk6bnVsbCxyPXM/c1swXTpcIixcIit0aGlzLnJhdyhcImJldHdlZW5cIixcImJlZm9yZU9wZW5cIik7dGhpcy5zZWxlY3Rvcj1lLmpvaW4ocil9fTt0by5leHBvcnRzPUJlO0JlLmRlZmF1bHQ9QmU7ZW8ucmVnaXN0ZXJSdWxlKEJlKX0pO3ZhciBRdD1nKChxdixzbyk9PntcInVzZSBzdHJpY3RcIjt2YXIgSHQ9L1tcXHRcXG5cXGZcXHIgXCIjJygpLztbXFxcXFxcXXt9XS9nLEt0PS9bXFx0XFxuXFxmXFxyICFcIiMnKCk6O0BbXFxcXFxcXXt9XXxcXC8oPz1cXCopL2csSWM9Ly5bXFxyXFxuXCInKC9cXFxcXS8scm89L1tcXGRhLWZdL2k7c28uZXhwb3J0cz1mdW5jdGlvbihlLHM9e30pe2xldCByPWUuY3NzLnZhbHVlT2YoKSxuPXMuaWdub3JlRXJyb3JzLGksbyx1LGEsYyxmLHAsbCx5LHgsaD1yLmxlbmd0aCxkPTAsbT1bXSxiPVtdO2Z1bmN0aW9uIHcoKXtyZXR1cm4gZH1mdW5jdGlvbiB2KFcpe3Rocm93IGUuZXJyb3IoXCJVbmNsb3NlZCBcIitXLGQpfWZ1bmN0aW9uIE4oKXtyZXR1cm4gYi5sZW5ndGg9PT0wJiZkPj1ofWZ1bmN0aW9uIEYoVyl7aWYoYi5sZW5ndGgpcmV0dXJuIGIucG9wKCk7aWYoZD49aClyZXR1cm47bGV0IFQ9Vz9XLmlnbm9yZVVuY2xvc2VkOiExO3N3aXRjaChpPXIuY2hhckNvZGVBdChkKSxpKXtjYXNlIDEwOmNhc2UgMzI6Y2FzZSA5OmNhc2UgMTM6Y2FzZSAxMjp7YT1kO2RvIGErPTEsaT1yLmNoYXJDb2RlQXQoYSk7d2hpbGUoaT09PTMyfHxpPT09MTB8fGk9PT05fHxpPT09MTN8fGk9PT0xMik7Zj1bXCJzcGFjZVwiLHIuc2xpY2UoZCxhKV0sZD1hLTE7YnJlYWt9Y2FzZSA5MTpjYXNlIDkzOmNhc2UgMTIzOmNhc2UgMTI1OmNhc2UgNTg6Y2FzZSA1OTpjYXNlIDQxOntsZXQgQz1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpO2Y9W0MsQyxkXTticmVha31jYXNlIDQwOntpZih4PW0ubGVuZ3RoP20ucG9wKClbMV06XCJcIix5PXIuY2hhckNvZGVBdChkKzEpLHg9PT1cInVybFwiJiZ5IT09MzkmJnkhPT0zNCYmeSE9PTMyJiZ5IT09MTAmJnkhPT05JiZ5IT09MTImJnkhPT0xMyl7YT1kO2Rve2lmKHA9ITEsYT1yLmluZGV4T2YoXCIpXCIsYSsxKSxhPT09LTEpaWYobnx8VCl7YT1kO2JyZWFrfWVsc2UgdihcImJyYWNrZXRcIik7Zm9yKGw9YTtyLmNoYXJDb2RlQXQobC0xKT09PTkyOylsLT0xLHA9IXB9d2hpbGUocCk7Zj1bXCJicmFja2V0c1wiLHIuc2xpY2UoZCxhKzEpLGQsYV0sZD1hfWVsc2UgYT1yLmluZGV4T2YoXCIpXCIsZCsxKSxvPXIuc2xpY2UoZCxhKzEpLGE9PT0tMXx8SWMudGVzdChvKT9mPVtcIihcIixcIihcIixkXTooZj1bXCJicmFja2V0c1wiLG8sZCxhXSxkPWEpO2JyZWFrfWNhc2UgMzk6Y2FzZSAzNDp7Yz1pPT09Mzk/XCInXCI6J1wiJyxhPWQ7ZG97aWYocD0hMSxhPXIuaW5kZXhPZihjLGErMSksYT09PS0xKWlmKG58fFQpe2E9ZCsxO2JyZWFrfWVsc2UgdihcInN0cmluZ1wiKTtmb3IobD1hO3IuY2hhckNvZGVBdChsLTEpPT09OTI7KWwtPTEscD0hcH13aGlsZShwKTtmPVtcInN0cmluZ1wiLHIuc2xpY2UoZCxhKzEpLGQsYV0sZD1hO2JyZWFrfWNhc2UgNjQ6e0h0Lmxhc3RJbmRleD1kKzEsSHQudGVzdChyKSxIdC5sYXN0SW5kZXg9PT0wP2E9ci5sZW5ndGgtMTphPUh0Lmxhc3RJbmRleC0yLGY9W1wiYXQtd29yZFwiLHIuc2xpY2UoZCxhKzEpLGQsYV0sZD1hO2JyZWFrfWNhc2UgOTI6e2ZvcihhPWQsdT0hMDtyLmNoYXJDb2RlQXQoYSsxKT09PTkyOylhKz0xLHU9IXU7aWYoaT1yLmNoYXJDb2RlQXQoYSsxKSx1JiZpIT09NDcmJmkhPT0zMiYmaSE9PTEwJiZpIT09OSYmaSE9PTEzJiZpIT09MTImJihhKz0xLHJvLnRlc3Qoci5jaGFyQXQoYSkpKSl7Zm9yKDtyby50ZXN0KHIuY2hhckF0KGErMSkpOylhKz0xO3IuY2hhckNvZGVBdChhKzEpPT09MzImJihhKz0xKX1mPVtcIndvcmRcIixyLnNsaWNlKGQsYSsxKSxkLGFdLGQ9YTticmVha31kZWZhdWx0OntpPT09NDcmJnIuY2hhckNvZGVBdChkKzEpPT09NDI/KGE9ci5pbmRleE9mKFwiKi9cIixkKzIpKzEsYT09PTAmJihufHxUP2E9ci5sZW5ndGg6dihcImNvbW1lbnRcIikpLGY9W1wiY29tbWVudFwiLHIuc2xpY2UoZCxhKzEpLGQsYV0sZD1hKTooS3QubGFzdEluZGV4PWQrMSxLdC50ZXN0KHIpLEt0Lmxhc3RJbmRleD09PTA/YT1yLmxlbmd0aC0xOmE9S3QubGFzdEluZGV4LTIsZj1bXCJ3b3JkXCIsci5zbGljZShkLGErMSksZCxhXSxtLnB1c2goZiksZD1hKTticmVha319cmV0dXJuIGQrKyxmfWZ1bmN0aW9uIEgoVyl7Yi5wdXNoKFcpfXJldHVybntiYWNrOkgsZW5kT2ZGaWxlOk4sbmV4dFRva2VuOkYscG9zaXRpb246d319fSk7dmFyIEp0PWcoKEx2LG9vKT0+e1widXNlIHN0cmljdFwiO3ZhciBxYz1HdCgpLExjPVJlKCksRGM9bXQoKSxCYz1EZSgpLG5vPWp0KCksTWM9UXQoKSxpbz17ZW1wdHk6ITAsc3BhY2U6ITB9O2Z1bmN0aW9uIFVjKHQpe2ZvcihsZXQgZT10Lmxlbmd0aC0xO2U+PTA7ZS0tKXtsZXQgcz10W2VdLHI9c1szXXx8c1syXTtpZihyKXJldHVybiByfX12YXIgbXM9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy5pbnB1dD1lLHRoaXMucm9vdD1uZXcgQmMsdGhpcy5jdXJyZW50PXRoaXMucm9vdCx0aGlzLnNwYWNlcz1cIlwiLHRoaXMuc2VtaWNvbG9uPSExLHRoaXMuY3JlYXRlVG9rZW5pemVyKCksdGhpcy5yb290LnNvdXJjZT17aW5wdXQ6ZSxzdGFydDp7Y29sdW1uOjEsbGluZToxLG9mZnNldDowfX19YXRydWxlKGUpe2xldCBzPW5ldyBxYztzLm5hbWU9ZVsxXS5zbGljZSgxKSxzLm5hbWU9PT1cIlwiJiZ0aGlzLnVubmFtZWRBdHJ1bGUocyxlKSx0aGlzLmluaXQocyxlWzJdKTtsZXQgcixuLGksbz0hMSx1PSExLGE9W10sYz1bXTtmb3IoOyF0aGlzLnRva2VuaXplci5lbmRPZkZpbGUoKTspe2lmKGU9dGhpcy50b2tlbml6ZXIubmV4dFRva2VuKCkscj1lWzBdLHI9PT1cIihcInx8cj09PVwiW1wiP2MucHVzaChyPT09XCIoXCI/XCIpXCI6XCJdXCIpOnI9PT1cIntcIiYmYy5sZW5ndGg+MD9jLnB1c2goXCJ9XCIpOnI9PT1jW2MubGVuZ3RoLTFdJiZjLnBvcCgpLGMubGVuZ3RoPT09MClpZihyPT09XCI7XCIpe3Muc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKGVbMl0pLHMuc291cmNlLmVuZC5vZmZzZXQrKyx0aGlzLnNlbWljb2xvbj0hMDticmVha31lbHNlIGlmKHI9PT1cIntcIil7dT0hMDticmVha31lbHNlIGlmKHI9PT1cIn1cIil7aWYoYS5sZW5ndGg+MCl7Zm9yKGk9YS5sZW5ndGgtMSxuPWFbaV07biYmblswXT09PVwic3BhY2VcIjspbj1hWy0taV07biYmKHMuc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKG5bM118fG5bMl0pLHMuc291cmNlLmVuZC5vZmZzZXQrKyl9dGhpcy5lbmQoZSk7YnJlYWt9ZWxzZSBhLnB1c2goZSk7ZWxzZSBhLnB1c2goZSk7aWYodGhpcy50b2tlbml6ZXIuZW5kT2ZGaWxlKCkpe289ITA7YnJlYWt9fXMucmF3cy5iZXR3ZWVuPXRoaXMuc3BhY2VzQW5kQ29tbWVudHNGcm9tRW5kKGEpLGEubGVuZ3RoPyhzLnJhd3MuYWZ0ZXJOYW1lPXRoaXMuc3BhY2VzQW5kQ29tbWVudHNGcm9tU3RhcnQoYSksdGhpcy5yYXcocyxcInBhcmFtc1wiLGEpLG8mJihlPWFbYS5sZW5ndGgtMV0scy5zb3VyY2UuZW5kPXRoaXMuZ2V0UG9zaXRpb24oZVszXXx8ZVsyXSkscy5zb3VyY2UuZW5kLm9mZnNldCsrLHRoaXMuc3BhY2VzPXMucmF3cy5iZXR3ZWVuLHMucmF3cy5iZXR3ZWVuPVwiXCIpKToocy5yYXdzLmFmdGVyTmFtZT1cIlwiLHMucGFyYW1zPVwiXCIpLHUmJihzLm5vZGVzPVtdLHRoaXMuY3VycmVudD1zKX1jaGVja01pc3NlZFNlbWljb2xvbihlKXtsZXQgcz10aGlzLmNvbG9uKGUpO2lmKHM9PT0hMSlyZXR1cm47bGV0IHI9MCxuO2ZvcihsZXQgaT1zLTE7aT49MCYmKG49ZVtpXSwhKG5bMF0hPT1cInNwYWNlXCImJihyKz0xLHI9PT0yKSkpO2ktLSk7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcihcIk1pc3NlZCBzZW1pY29sb25cIixuWzBdPT09XCJ3b3JkXCI/blszXSsxOm5bMl0pfWNvbG9uKGUpe2xldCBzPTAscixuLGk7Zm9yKGxldFtvLHVdb2YgZS5lbnRyaWVzKCkpe2lmKG49dSxpPW5bMF0saT09PVwiKFwiJiYocys9MSksaT09PVwiKVwiJiYocy09MSkscz09PTAmJmk9PT1cIjpcIilpZighcil0aGlzLmRvdWJsZUNvbG9uKG4pO2Vsc2V7aWYoclswXT09PVwid29yZFwiJiZyWzFdPT09XCJwcm9naWRcIiljb250aW51ZTtyZXR1cm4gb31yPW59cmV0dXJuITF9Y29tbWVudChlKXtsZXQgcz1uZXcgTGM7dGhpcy5pbml0KHMsZVsyXSkscy5zb3VyY2UuZW5kPXRoaXMuZ2V0UG9zaXRpb24oZVszXXx8ZVsyXSkscy5zb3VyY2UuZW5kLm9mZnNldCsrO2xldCByPWVbMV0uc2xpY2UoMiwtMik7aWYoL15cXHMqJC8udGVzdChyKSlzLnRleHQ9XCJcIixzLnJhd3MubGVmdD1yLHMucmF3cy5yaWdodD1cIlwiO2Vsc2V7bGV0IG49ci5tYXRjaCgvXihcXHMqKShbXl0qXFxTKShcXHMqKSQvKTtzLnRleHQ9blsyXSxzLnJhd3MubGVmdD1uWzFdLHMucmF3cy5yaWdodD1uWzNdfX1jcmVhdGVUb2tlbml6ZXIoKXt0aGlzLnRva2VuaXplcj1NYyh0aGlzLmlucHV0KX1kZWNsKGUscyl7bGV0IHI9bmV3IERjO3RoaXMuaW5pdChyLGVbMF1bMl0pO2xldCBuPWVbZS5sZW5ndGgtMV07Zm9yKG5bMF09PT1cIjtcIiYmKHRoaXMuc2VtaWNvbG9uPSEwLGUucG9wKCkpLHIuc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKG5bM118fG5bMl18fFVjKGUpKSxyLnNvdXJjZS5lbmQub2Zmc2V0Kys7ZVswXVswXSE9PVwid29yZFwiOyllLmxlbmd0aD09PTEmJnRoaXMudW5rbm93bldvcmQoZSksci5yYXdzLmJlZm9yZSs9ZS5zaGlmdCgpWzFdO2ZvcihyLnNvdXJjZS5zdGFydD10aGlzLmdldFBvc2l0aW9uKGVbMF1bMl0pLHIucHJvcD1cIlwiO2UubGVuZ3RoOyl7bGV0IGM9ZVswXVswXTtpZihjPT09XCI6XCJ8fGM9PT1cInNwYWNlXCJ8fGM9PT1cImNvbW1lbnRcIilicmVhaztyLnByb3ArPWUuc2hpZnQoKVsxXX1yLnJhd3MuYmV0d2Vlbj1cIlwiO2xldCBpO2Zvcig7ZS5sZW5ndGg7KWlmKGk9ZS5zaGlmdCgpLGlbMF09PT1cIjpcIil7ci5yYXdzLmJldHdlZW4rPWlbMV07YnJlYWt9ZWxzZSBpWzBdPT09XCJ3b3JkXCImJi9cXHcvLnRlc3QoaVsxXSkmJnRoaXMudW5rbm93bldvcmQoW2ldKSxyLnJhd3MuYmV0d2Vlbis9aVsxXTsoci5wcm9wWzBdPT09XCJfXCJ8fHIucHJvcFswXT09PVwiKlwiKSYmKHIucmF3cy5iZWZvcmUrPXIucHJvcFswXSxyLnByb3A9ci5wcm9wLnNsaWNlKDEpKTtsZXQgbz1bXSx1O2Zvcig7ZS5sZW5ndGgmJih1PWVbMF1bMF0sISh1IT09XCJzcGFjZVwiJiZ1IT09XCJjb21tZW50XCIpKTspby5wdXNoKGUuc2hpZnQoKSk7dGhpcy5wcmVjaGVja01pc3NlZFNlbWljb2xvbihlKTtmb3IobGV0IGM9ZS5sZW5ndGgtMTtjPj0wO2MtLSl7aWYoaT1lW2NdLGlbMV0udG9Mb3dlckNhc2UoKT09PVwiIWltcG9ydGFudFwiKXtyLmltcG9ydGFudD0hMDtsZXQgZj10aGlzLnN0cmluZ0Zyb20oZSxjKTtmPXRoaXMuc3BhY2VzRnJvbUVuZChlKStmLGYhPT1cIiAhaW1wb3J0YW50XCImJihyLnJhd3MuaW1wb3J0YW50PWYpO2JyZWFrfWVsc2UgaWYoaVsxXS50b0xvd2VyQ2FzZSgpPT09XCJpbXBvcnRhbnRcIil7bGV0IGY9ZS5zbGljZSgwKSxwPVwiXCI7Zm9yKGxldCBsPWM7bD4wO2wtLSl7bGV0IHk9ZltsXVswXTtpZihwLnRyaW0oKS5zdGFydHNXaXRoKFwiIVwiKSYmeSE9PVwic3BhY2VcIilicmVhaztwPWYucG9wKClbMV0rcH1wLnRyaW0oKS5zdGFydHNXaXRoKFwiIVwiKSYmKHIuaW1wb3J0YW50PSEwLHIucmF3cy5pbXBvcnRhbnQ9cCxlPWYpfWlmKGlbMF0hPT1cInNwYWNlXCImJmlbMF0hPT1cImNvbW1lbnRcIilicmVha31lLnNvbWUoYz0+Y1swXSE9PVwic3BhY2VcIiYmY1swXSE9PVwiY29tbWVudFwiKSYmKHIucmF3cy5iZXR3ZWVuKz1vLm1hcChjPT5jWzFdKS5qb2luKFwiXCIpLG89W10pLHRoaXMucmF3KHIsXCJ2YWx1ZVwiLG8uY29uY2F0KGUpLHMpLHIudmFsdWUuaW5jbHVkZXMoXCI6XCIpJiYhcyYmdGhpcy5jaGVja01pc3NlZFNlbWljb2xvbihlKX1kb3VibGVDb2xvbihlKXt0aHJvdyB0aGlzLmlucHV0LmVycm9yKFwiRG91YmxlIGNvbG9uXCIse29mZnNldDplWzJdfSx7b2Zmc2V0OmVbMl0rZVsxXS5sZW5ndGh9KX1lbXB0eVJ1bGUoZSl7bGV0IHM9bmV3IG5vO3RoaXMuaW5pdChzLGVbMl0pLHMuc2VsZWN0b3I9XCJcIixzLnJhd3MuYmV0d2Vlbj1cIlwiLHRoaXMuY3VycmVudD1zfWVuZChlKXt0aGlzLmN1cnJlbnQubm9kZXMmJnRoaXMuY3VycmVudC5ub2Rlcy5sZW5ndGgmJih0aGlzLmN1cnJlbnQucmF3cy5zZW1pY29sb249dGhpcy5zZW1pY29sb24pLHRoaXMuc2VtaWNvbG9uPSExLHRoaXMuY3VycmVudC5yYXdzLmFmdGVyPSh0aGlzLmN1cnJlbnQucmF3cy5hZnRlcnx8XCJcIikrdGhpcy5zcGFjZXMsdGhpcy5zcGFjZXM9XCJcIix0aGlzLmN1cnJlbnQucGFyZW50Pyh0aGlzLmN1cnJlbnQuc291cmNlLmVuZD10aGlzLmdldFBvc2l0aW9uKGVbMl0pLHRoaXMuY3VycmVudC5zb3VyY2UuZW5kLm9mZnNldCsrLHRoaXMuY3VycmVudD10aGlzLmN1cnJlbnQucGFyZW50KTp0aGlzLnVuZXhwZWN0ZWRDbG9zZShlKX1lbmRGaWxlKCl7dGhpcy5jdXJyZW50LnBhcmVudCYmdGhpcy51bmNsb3NlZEJsb2NrKCksdGhpcy5jdXJyZW50Lm5vZGVzJiZ0aGlzLmN1cnJlbnQubm9kZXMubGVuZ3RoJiYodGhpcy5jdXJyZW50LnJhd3Muc2VtaWNvbG9uPXRoaXMuc2VtaWNvbG9uKSx0aGlzLmN1cnJlbnQucmF3cy5hZnRlcj0odGhpcy5jdXJyZW50LnJhd3MuYWZ0ZXJ8fFwiXCIpK3RoaXMuc3BhY2VzLHRoaXMucm9vdC5zb3VyY2UuZW5kPXRoaXMuZ2V0UG9zaXRpb24odGhpcy50b2tlbml6ZXIucG9zaXRpb24oKSl9ZnJlZVNlbWljb2xvbihlKXtpZih0aGlzLnNwYWNlcys9ZVsxXSx0aGlzLmN1cnJlbnQubm9kZXMpe2xldCBzPXRoaXMuY3VycmVudC5ub2Rlc1t0aGlzLmN1cnJlbnQubm9kZXMubGVuZ3RoLTFdO3MmJnMudHlwZT09PVwicnVsZVwiJiYhcy5yYXdzLm93blNlbWljb2xvbiYmKHMucmF3cy5vd25TZW1pY29sb249dGhpcy5zcGFjZXMsdGhpcy5zcGFjZXM9XCJcIil9fWdldFBvc2l0aW9uKGUpe2xldCBzPXRoaXMuaW5wdXQuZnJvbU9mZnNldChlKTtyZXR1cm57Y29sdW1uOnMuY29sLGxpbmU6cy5saW5lLG9mZnNldDplfX1pbml0KGUscyl7dGhpcy5jdXJyZW50LnB1c2goZSksZS5zb3VyY2U9e2lucHV0OnRoaXMuaW5wdXQsc3RhcnQ6dGhpcy5nZXRQb3NpdGlvbihzKX0sZS5yYXdzLmJlZm9yZT10aGlzLnNwYWNlcyx0aGlzLnNwYWNlcz1cIlwiLGUudHlwZSE9PVwiY29tbWVudFwiJiYodGhpcy5zZW1pY29sb249ITEpfW90aGVyKGUpe2xldCBzPSExLHI9bnVsbCxuPSExLGk9bnVsbCxvPVtdLHU9ZVsxXS5zdGFydHNXaXRoKFwiLS1cIiksYT1bXSxjPWU7Zm9yKDtjOyl7aWYocj1jWzBdLGEucHVzaChjKSxyPT09XCIoXCJ8fHI9PT1cIltcIilpfHwoaT1jKSxvLnB1c2gocj09PVwiKFwiP1wiKVwiOlwiXVwiKTtlbHNlIGlmKHUmJm4mJnI9PT1cIntcIilpfHwoaT1jKSxvLnB1c2goXCJ9XCIpO2Vsc2UgaWYoby5sZW5ndGg9PT0wKWlmKHI9PT1cIjtcIilpZihuKXt0aGlzLmRlY2woYSx1KTtyZXR1cm59ZWxzZSBicmVhaztlbHNlIGlmKHI9PT1cIntcIil7dGhpcy5ydWxlKGEpO3JldHVybn1lbHNlIGlmKHI9PT1cIn1cIil7dGhpcy50b2tlbml6ZXIuYmFjayhhLnBvcCgpKSxzPSEwO2JyZWFrfWVsc2Ugcj09PVwiOlwiJiYobj0hMCk7ZWxzZSByPT09b1tvLmxlbmd0aC0xXSYmKG8ucG9wKCksby5sZW5ndGg9PT0wJiYoaT1udWxsKSk7Yz10aGlzLnRva2VuaXplci5uZXh0VG9rZW4oKX1pZih0aGlzLnRva2VuaXplci5lbmRPZkZpbGUoKSYmKHM9ITApLG8ubGVuZ3RoPjAmJnRoaXMudW5jbG9zZWRCcmFja2V0KGkpLHMmJm4pe2lmKCF1KWZvcig7YS5sZW5ndGgmJihjPWFbYS5sZW5ndGgtMV1bMF0sIShjIT09XCJzcGFjZVwiJiZjIT09XCJjb21tZW50XCIpKTspdGhpcy50b2tlbml6ZXIuYmFjayhhLnBvcCgpKTt0aGlzLmRlY2woYSx1KX1lbHNlIHRoaXMudW5rbm93bldvcmQoYSl9cGFyc2UoKXtsZXQgZTtmb3IoOyF0aGlzLnRva2VuaXplci5lbmRPZkZpbGUoKTspc3dpdGNoKGU9dGhpcy50b2tlbml6ZXIubmV4dFRva2VuKCksZVswXSl7Y2FzZVwic3BhY2VcIjp0aGlzLnNwYWNlcys9ZVsxXTticmVhaztjYXNlXCI7XCI6dGhpcy5mcmVlU2VtaWNvbG9uKGUpO2JyZWFrO2Nhc2VcIn1cIjp0aGlzLmVuZChlKTticmVhaztjYXNlXCJjb21tZW50XCI6dGhpcy5jb21tZW50KGUpO2JyZWFrO2Nhc2VcImF0LXdvcmRcIjp0aGlzLmF0cnVsZShlKTticmVhaztjYXNlXCJ7XCI6dGhpcy5lbXB0eVJ1bGUoZSk7YnJlYWs7ZGVmYXVsdDp0aGlzLm90aGVyKGUpO2JyZWFrfXRoaXMuZW5kRmlsZSgpfXByZWNoZWNrTWlzc2VkU2VtaWNvbG9uKCl7fXJhdyhlLHMscixuKXtsZXQgaSxvLHU9ci5sZW5ndGgsYT1cIlwiLGM9ITAsZixwO2ZvcihsZXQgbD0wO2w8dTtsKz0xKWk9cltsXSxvPWlbMF0sbz09PVwic3BhY2VcIiYmbD09PXUtMSYmIW4/Yz0hMTpvPT09XCJjb21tZW50XCI/KHA9cltsLTFdP3JbbC0xXVswXTpcImVtcHR5XCIsZj1yW2wrMV0/cltsKzFdWzBdOlwiZW1wdHlcIiwhaW9bcF0mJiFpb1tmXT9hLnNsaWNlKC0xKT09PVwiLFwiP2M9ITE6YSs9aVsxXTpjPSExKTphKz1pWzFdO2lmKCFjKXtsZXQgbD1yLnJlZHVjZSgoeSx4KT0+eSt4WzFdLFwiXCIpO2UucmF3c1tzXT17cmF3OmwsdmFsdWU6YX19ZVtzXT1hfXJ1bGUoZSl7ZS5wb3AoKTtsZXQgcz1uZXcgbm87dGhpcy5pbml0KHMsZVswXVsyXSkscy5yYXdzLmJldHdlZW49dGhpcy5zcGFjZXNBbmRDb21tZW50c0Zyb21FbmQoZSksdGhpcy5yYXcocyxcInNlbGVjdG9yXCIsZSksdGhpcy5jdXJyZW50PXN9c3BhY2VzQW5kQ29tbWVudHNGcm9tRW5kKGUpe2xldCBzLHI9XCJcIjtmb3IoO2UubGVuZ3RoJiYocz1lW2UubGVuZ3RoLTFdWzBdLCEocyE9PVwic3BhY2VcIiYmcyE9PVwiY29tbWVudFwiKSk7KXI9ZS5wb3AoKVsxXStyO3JldHVybiByfXNwYWNlc0FuZENvbW1lbnRzRnJvbVN0YXJ0KGUpe2xldCBzLHI9XCJcIjtmb3IoO2UubGVuZ3RoJiYocz1lWzBdWzBdLCEocyE9PVwic3BhY2VcIiYmcyE9PVwiY29tbWVudFwiKSk7KXIrPWUuc2hpZnQoKVsxXTtyZXR1cm4gcn1zcGFjZXNGcm9tRW5kKGUpe2xldCBzLHI9XCJcIjtmb3IoO2UubGVuZ3RoJiYocz1lW2UubGVuZ3RoLTFdWzBdLHM9PT1cInNwYWNlXCIpOylyPWUucG9wKClbMV0rcjtyZXR1cm4gcn1zdHJpbmdGcm9tKGUscyl7bGV0IHI9XCJcIjtmb3IobGV0IG49cztuPGUubGVuZ3RoO24rKylyKz1lW25dWzFdO3JldHVybiBlLnNwbGljZShzLGUubGVuZ3RoLXMpLHJ9dW5jbG9zZWRCbG9jaygpe2xldCBlPXRoaXMuY3VycmVudC5zb3VyY2Uuc3RhcnQ7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcihcIlVuY2xvc2VkIGJsb2NrXCIsZS5saW5lLGUuY29sdW1uKX11bmNsb3NlZEJyYWNrZXQoZSl7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcihcIlVuY2xvc2VkIGJyYWNrZXRcIix7b2Zmc2V0OmVbMl19LHtvZmZzZXQ6ZVsyXSsxfSl9dW5leHBlY3RlZENsb3NlKGUpe3Rocm93IHRoaXMuaW5wdXQuZXJyb3IoXCJVbmV4cGVjdGVkIH1cIix7b2Zmc2V0OmVbMl19LHtvZmZzZXQ6ZVsyXSsxfSl9dW5rbm93bldvcmQoZSl7dGhyb3cgdGhpcy5pbnB1dC5lcnJvcihcIlVua25vd24gd29yZFwiLHtvZmZzZXQ6ZVswXVsyXX0se29mZnNldDplWzBdWzJdK2VbMF1bMV0ubGVuZ3RofSl9dW5uYW1lZEF0cnVsZShlLHMpe3Rocm93IHRoaXMuaW5wdXQuZXJyb3IoXCJBdC1ydWxlIHdpdGhvdXQgbmFtZVwiLHtvZmZzZXQ6c1syXX0se29mZnNldDpzWzJdK3NbMV0ubGVuZ3RofSl9fTtvby5leHBvcnRzPW1zfSk7dmFyIGd0PWcoKER2LGFvKT0+e1widXNlIHN0cmljdFwiO3ZhciBGYz11ZSgpLCRjPXFlKCksV2M9SnQoKTtmdW5jdGlvbiBYdCh0LGUpe2xldCBzPW5ldyAkYyh0LGUpLHI9bmV3IFdjKHMpO3RyeXtyLnBhcnNlKCl9Y2F0Y2gobil7dGhyb3cgbn1yZXR1cm4gci5yb290fWFvLmV4cG9ydHM9WHQ7WHQuZGVmYXVsdD1YdDtGYy5yZWdpc3RlclBhcnNlKFh0KX0pO3ZhciB1bz1nKChCdix5cyk9Pnt2YXIgWWM9UXQoKSx6Yz1xZSgpO3lzLmV4cG9ydHM9e2lzSW5saW5lQ29tbWVudCh0KXtpZih0WzBdPT09XCJ3b3JkXCImJnRbMV0uc2xpY2UoMCwyKT09PVwiLy9cIil7bGV0IGU9dCxzPVtdLHIsbjtmb3IoO3Q7KXtpZigvXFxyP1xcbi8udGVzdCh0WzFdKSl7aWYoL1snXCJdLipcXHI/XFxuLy50ZXN0KHRbMV0pKXtzLnB1c2godFsxXS5zdWJzdHJpbmcoMCx0WzFdLmluZGV4T2YoYFxuYCkpKSxuPXRbMV0uc3Vic3RyaW5nKHRbMV0uaW5kZXhPZihgXG5gKSk7bGV0IG89dGhpcy5pbnB1dC5jc3MudmFsdWVPZigpLnN1YnN0cmluZyh0aGlzLnRva2VuaXplci5wb3NpdGlvbigpKTtuKz1vLHI9dFszXStvLmxlbmd0aC1uLmxlbmd0aH1lbHNlIHRoaXMudG9rZW5pemVyLmJhY2sodCk7YnJlYWt9cy5wdXNoKHRbMV0pLHI9dFsyXSx0PXRoaXMudG9rZW5pemVyLm5leHRUb2tlbih7aWdub3JlVW5jbG9zZWQ6ITB9KX1sZXQgaT1bXCJjb21tZW50XCIscy5qb2luKFwiXCIpLGVbMl0scl07cmV0dXJuIHRoaXMuaW5saW5lQ29tbWVudChpKSxuJiYodGhpcy5pbnB1dD1uZXcgemMobiksdGhpcy50b2tlbml6ZXI9WWModGhpcy5pbnB1dCkpLCEwfWVsc2UgaWYodFsxXT09PVwiL1wiKXtsZXQgZT10aGlzLnRva2VuaXplci5uZXh0VG9rZW4oe2lnbm9yZVVuY2xvc2VkOiEwfSk7aWYoZVswXT09PVwiY29tbWVudFwiJiYvXlxcL1xcKi8udGVzdChlWzFdKSlyZXR1cm4gZVswXT1cIndvcmRcIixlWzFdPWVbMV0uc2xpY2UoMSksdFsxXT1cIi8vXCIsdGhpcy50b2tlbml6ZXIuYmFjayhlKSx5cy5leHBvcnRzLmlzSW5saW5lQ29tbWVudC5iaW5kKHRoaXMpKHQpfXJldHVybiExfX19KTt2YXIgY289ZygoTXYsbG8pPT57bG8uZXhwb3J0cz17aW50ZXJwb2xhdGlvbih0KXtsZXQgZT1bdCx0aGlzLnRva2VuaXplci5uZXh0VG9rZW4oKV0scz1bXCJ3b3JkXCIsXCJ9XCJdO2lmKGVbMF1bMV0ubGVuZ3RoPjF8fGVbMV1bMF0hPT1cIntcIilyZXR1cm4gdGhpcy50b2tlbml6ZXIuYmFjayhlWzFdKSwhMTtmb3IodD10aGlzLnRva2VuaXplci5uZXh0VG9rZW4oKTt0JiZzLmluY2x1ZGVzKHRbMF0pOyllLnB1c2godCksdD10aGlzLnRva2VuaXplci5uZXh0VG9rZW4oKTtsZXQgcj1lLm1hcCh1PT51WzFdKSxbbl09ZSxpPWUucG9wKCksbz1bXCJ3b3JkXCIsci5qb2luKFwiXCIpLG5bMl0saVsyXV07cmV0dXJuIHRoaXMudG9rZW5pemVyLmJhY2sodCksdGhpcy50b2tlbml6ZXIuYmFjayhvKSwhMH19fSk7dmFyIHBvPWcoKFV2LGZvKT0+e3ZhciBWYz0vXiNbMC05YS1mQS1GXXs2fSR8XiNbMC05YS1mQS1GXXszfSQvLEdjPS9cXC5bMC05XS8samM9dD0+e2xldFssZV09dCxbc109ZTtyZXR1cm4ocz09PVwiLlwifHxzPT09XCIjXCIpJiZWYy50ZXN0KGUpPT09ITEmJkdjLnRlc3QoZSk9PT0hMX07Zm8uZXhwb3J0cz17aXNNaXhpblRva2VuOmpjfX0pO3ZhciBtbz1nKChGdixobyk9Pnt2YXIgSGM9UXQoKSxLYz0vXnVybFxcKCguKylcXCkvO2hvLmV4cG9ydHM9dD0+e2xldHtuYW1lOmUscGFyYW1zOnM9XCJcIn09dDtpZihlPT09XCJpbXBvcnRcIiYmcy5sZW5ndGgpe3QuaW1wb3J0PSEwO2xldCByPUhjKHtjc3M6c30pO2Zvcih0LmZpbGVuYW1lPXMucmVwbGFjZShLYyxcIiQxXCIpOyFyLmVuZE9mRmlsZSgpOyl7bGV0W24saV09ci5uZXh0VG9rZW4oKTtpZihuPT09XCJ3b3JkXCImJmk9PT1cInVybFwiKXJldHVybjtpZihuPT09XCJicmFja2V0c1wiKXt0Lm9wdGlvbnM9aSx0LmZpbGVuYW1lPXMucmVwbGFjZShpLFwiXCIpLnRyaW0oKTticmVha319fX19KTt2YXIgdm89ZygoJHYsd28pPT57dmFyIHlvPS86JC8sZ289L146KFxccyspPy87d28uZXhwb3J0cz10PT57bGV0e25hbWU6ZSxwYXJhbXM6cz1cIlwifT10O2lmKHQubmFtZS5zbGljZSgtMSk9PT1cIjpcIil7aWYoeW8udGVzdChlKSl7bGV0W3JdPWUubWF0Y2goeW8pO3QubmFtZT1lLnJlcGxhY2UocixcIlwiKSx0LnJhd3MuYWZ0ZXJOYW1lPXIrKHQucmF3cy5hZnRlck5hbWV8fFwiXCIpLHQudmFyaWFibGU9ITAsdC52YWx1ZT10LnBhcmFtc31pZihnby50ZXN0KHMpKXtsZXRbcl09cy5tYXRjaChnbyk7dC52YWx1ZT1zLnJlcGxhY2UocixcIlwiKSx0LnJhd3MuYWZ0ZXJOYW1lPSh0LnJhd3MuYWZ0ZXJOYW1lfHxcIlwiKStyLHQudmFyaWFibGU9ITB9fX19KTt2YXIgX289ZygoWXYsYm8pPT57dmFyIFFjPVJlKCksSmM9SnQoKSx7aXNJbmxpbmVDb21tZW50OlhjfT11bygpLHtpbnRlcnBvbGF0aW9uOnhvfT1jbygpLHtpc01peGluVG9rZW46WmN9PXBvKCksZWY9bW8oKSx0Zj12bygpLHJmPS8oIVxccyppbXBvcnRhbnQpJC9pO2JvLmV4cG9ydHM9Y2xhc3MgZXh0ZW5kcyBKY3tjb25zdHJ1Y3RvciguLi5lKXtzdXBlciguLi5lKSx0aGlzLmxhc3ROb2RlPW51bGx9YXRydWxlKGUpe3hvLmJpbmQodGhpcykoZSl8fChzdXBlci5hdHJ1bGUoZSksZWYodGhpcy5sYXN0Tm9kZSksdGYodGhpcy5sYXN0Tm9kZSkpfWRlY2woLi4uZSl7c3VwZXIuZGVjbCguLi5lKSwvZXh0ZW5kXFwoLitcXCkvaS50ZXN0KHRoaXMubGFzdE5vZGUudmFsdWUpJiYodGhpcy5sYXN0Tm9kZS5leHRlbmQ9ITApfWVhY2goZSl7ZVswXVsxXT1gICR7ZVswXVsxXX1gO2xldCBzPWUuZmluZEluZGV4KHU9PnVbMF09PT1cIihcIikscj1lLnJldmVyc2UoKS5maW5kKHU9PnVbMF09PT1cIilcIiksbj1lLnJldmVyc2UoKS5pbmRleE9mKHIpLG89ZS5zcGxpY2UocyxuKS5tYXAodT0+dVsxXSkuam9pbihcIlwiKTtmb3IobGV0IHUgb2YgZS5yZXZlcnNlKCkpdGhpcy50b2tlbml6ZXIuYmFjayh1KTt0aGlzLmF0cnVsZSh0aGlzLnRva2VuaXplci5uZXh0VG9rZW4oKSksdGhpcy5sYXN0Tm9kZS5mdW5jdGlvbj0hMCx0aGlzLmxhc3ROb2RlLnBhcmFtcz1vfWluaXQoZSxzLHIpe3N1cGVyLmluaXQoZSxzLHIpLHRoaXMubGFzdE5vZGU9ZX1pbmxpbmVDb21tZW50KGUpe2xldCBzPW5ldyBRYyxyPWVbMV0uc2xpY2UoMik7aWYodGhpcy5pbml0KHMsZVsyXSkscy5zb3VyY2UuZW5kPXRoaXMuZ2V0UG9zaXRpb24oZVszXXx8ZVsyXSkscy5pbmxpbmU9ITAscy5yYXdzLmJlZ2luPVwiLy9cIiwvXlxccyokLy50ZXN0KHIpKXMudGV4dD1cIlwiLHMucmF3cy5sZWZ0PXIscy5yYXdzLnJpZ2h0PVwiXCI7ZWxzZXtsZXQgbj1yLm1hdGNoKC9eKFxccyopKFteXSpbXlxcc10pKFxccyopJC8pO1sscy5yYXdzLmxlZnQscy50ZXh0LHMucmF3cy5yaWdodF09bn19bWl4aW4oZSl7bGV0W3NdPWUscj1zWzFdLnNsaWNlKDAsMSksbj1lLmZpbmRJbmRleChjPT5jWzBdPT09XCJicmFja2V0c1wiKSxpPWUuZmluZEluZGV4KGM9PmNbMF09PT1cIihcIiksbz1cIlwiO2lmKChuPDB8fG4+MykmJmk+MCl7bGV0IGM9ZS5yZWR1Y2UoKHcsdixOKT0+dlswXT09PVwiKVwiP046dykscD1lLnNsaWNlKGksYytpKS5tYXAodz0+d1sxXSkuam9pbihcIlwiKSxbbF09ZS5zbGljZShpKSx5PVtsWzJdLGxbM11dLFt4XT1lLnNsaWNlKGMsYysxKSxoPVt4WzJdLHhbM11dLGQ9W1wiYnJhY2tldHNcIixwXS5jb25jYXQoeSxoKSxtPWUuc2xpY2UoMCxpKSxiPWUuc2xpY2UoYysxKTtlPW0sZS5wdXNoKGQpLGU9ZS5jb25jYXQoYil9bGV0IHU9W107Zm9yKGxldCBjIG9mIGUpaWYoKGNbMV09PT1cIiFcInx8dS5sZW5ndGgpJiZ1LnB1c2goYyksY1sxXT09PVwiaW1wb3J0YW50XCIpYnJlYWs7aWYodS5sZW5ndGgpe2xldFtjXT11LGY9ZS5pbmRleE9mKGMpLHA9dVt1Lmxlbmd0aC0xXSxsPVtjWzJdLGNbM11dLHk9W3BbNF0scFs1XV0saD1bXCJ3b3JkXCIsdS5tYXAoZD0+ZFsxXSkuam9pbihcIlwiKV0uY29uY2F0KGwseSk7ZS5zcGxpY2UoZix1Lmxlbmd0aCxoKX1sZXQgYT1lLmZpbmRJbmRleChjPT5yZi50ZXN0KGNbMV0pKTthPjAmJihbLG9dPWVbYV0sZS5zcGxpY2UoYSwxKSk7Zm9yKGxldCBjIG9mIGUucmV2ZXJzZSgpKXRoaXMudG9rZW5pemVyLmJhY2soYyk7dGhpcy5hdHJ1bGUodGhpcy50b2tlbml6ZXIubmV4dFRva2VuKCkpLHRoaXMubGFzdE5vZGUubWl4aW49ITAsdGhpcy5sYXN0Tm9kZS5yYXdzLmlkZW50aWZpZXI9cixvJiYodGhpcy5sYXN0Tm9kZS5pbXBvcnRhbnQ9ITAsdGhpcy5sYXN0Tm9kZS5yYXdzLmltcG9ydGFudD1vKX1vdGhlcihlKXtYYy5iaW5kKHRoaXMpKGUpfHxzdXBlci5vdGhlcihlKX1ydWxlKGUpe2xldCBzPWVbZS5sZW5ndGgtMV0scj1lW2UubGVuZ3RoLTJdO2lmKHJbMF09PT1cImF0LXdvcmRcIiYmc1swXT09PVwie1wiJiYodGhpcy50b2tlbml6ZXIuYmFjayhzKSx4by5iaW5kKHRoaXMpKHIpKSl7bGV0IGk9dGhpcy50b2tlbml6ZXIubmV4dFRva2VuKCk7ZT1lLnNsaWNlKDAsZS5sZW5ndGgtMikuY29uY2F0KFtpXSk7Zm9yKGxldCBvIG9mIGUucmV2ZXJzZSgpKXRoaXMudG9rZW5pemVyLmJhY2sobyk7cmV0dXJufXN1cGVyLnJ1bGUoZSksLzpleHRlbmRcXCguK1xcKS9pLnRlc3QodGhpcy5sYXN0Tm9kZS5zZWxlY3RvcikmJih0aGlzLmxhc3ROb2RlLmV4dGVuZD0hMCl9dW5rbm93bldvcmQoZSl7bGV0W3NdPWU7aWYoZVswXVsxXT09PVwiZWFjaFwiJiZlWzFdWzBdPT09XCIoXCIpe3RoaXMuZWFjaChlKTtyZXR1cm59aWYoWmMocykpe3RoaXMubWl4aW4oZSk7cmV0dXJufXN1cGVyLnVua25vd25Xb3JkKGUpfX19KTt2YXIgRW89ZygoVnYsa28pPT57dmFyIHNmPVl0KCk7a28uZXhwb3J0cz1jbGFzcyBleHRlbmRzIHNme2F0cnVsZShlLHMpe2lmKCFlLm1peGluJiYhZS52YXJpYWJsZSYmIWUuZnVuY3Rpb24pe3N1cGVyLmF0cnVsZShlLHMpO3JldHVybn1sZXQgbj1gJHtlLmZ1bmN0aW9uP1wiXCI6ZS5yYXdzLmlkZW50aWZpZXJ8fFwiQFwifSR7ZS5uYW1lfWAsaT1lLnBhcmFtcz90aGlzLnJhd1ZhbHVlKGUsXCJwYXJhbXNcIik6XCJcIixvPWUucmF3cy5pbXBvcnRhbnR8fFwiXCI7aWYoZS52YXJpYWJsZSYmKGk9ZS52YWx1ZSksdHlwZW9mIGUucmF3cy5hZnRlck5hbWU8XCJ1XCI/bis9ZS5yYXdzLmFmdGVyTmFtZTppJiYobis9XCIgXCIpLGUubm9kZXMpdGhpcy5ibG9jayhlLG4raStvKTtlbHNle2xldCB1PShlLnJhd3MuYmV0d2Vlbnx8XCJcIikrbysocz9cIjtcIjpcIlwiKTt0aGlzLmJ1aWxkZXIobitpK3UsZSl9fWNvbW1lbnQoZSl7aWYoZS5pbmxpbmUpe2xldCBzPXRoaXMucmF3KGUsXCJsZWZ0XCIsXCJjb21tZW50TGVmdFwiKSxyPXRoaXMucmF3KGUsXCJyaWdodFwiLFwiY29tbWVudFJpZ2h0XCIpO3RoaXMuYnVpbGRlcihgLy8ke3N9JHtlLnRleHR9JHtyfWAsZSl9ZWxzZSBzdXBlci5jb21tZW50KGUpfX19KTt2YXIgU289ZygoR3YsZ3MpPT57dmFyIG5mPXFlKCksb2Y9X28oKSxhZj1FbygpO2dzLmV4cG9ydHM9e3BhcnNlKHQsZSl7bGV0IHM9bmV3IG5mKHQsZSkscj1uZXcgb2Yocyk7cmV0dXJuIHIucGFyc2UoKSxyLnJvb3Qud2FsayhuPT57bGV0IGk9cy5jc3MubGFzdEluZGV4T2Yobi5zb3VyY2UuaW5wdXQuY3NzKTtpZihpPT09MClyZXR1cm47aWYoaStuLnNvdXJjZS5pbnB1dC5jc3MubGVuZ3RoIT09cy5jc3MubGVuZ3RoKXRocm93IG5ldyBFcnJvcihcIkludmFsaWQgc3RhdGUgZGV0ZWN0ZWQgaW4gcG9zdGNzcy1sZXNzXCIpO2xldCBvPWkrbi5zb3VyY2Uuc3RhcnQub2Zmc2V0LHU9cy5mcm9tT2Zmc2V0KGkrbi5zb3VyY2Uuc3RhcnQub2Zmc2V0KTtpZihuLnNvdXJjZS5zdGFydD17b2Zmc2V0Om8sbGluZTp1LmxpbmUsY29sdW1uOnUuY29sfSxuLnNvdXJjZS5lbmQpe2xldCBhPWkrbi5zb3VyY2UuZW5kLm9mZnNldCxjPXMuZnJvbU9mZnNldChpK24uc291cmNlLmVuZC5vZmZzZXQpO24uc291cmNlLmVuZD17b2Zmc2V0OmEsbGluZTpjLmxpbmUsY29sdW1uOmMuY29sfX19KSxyLnJvb3R9LHN0cmluZ2lmeSh0LGUpe25ldyBhZihlKS5zdHJpbmdpZnkodCl9LG5vZGVUb1N0cmluZyh0KXtsZXQgZT1cIlwiO3JldHVybiBncy5leHBvcnRzLnN0cmluZ2lmeSh0LHM9PntlKz1zfSksZX19fSk7dmFyIFp0PWcoKGp2LE9vKT0+e1widXNlIHN0cmljdFwiO3ZhciB1Zj11ZSgpLFRvLENvLHllPWNsYXNzIGV4dGVuZHMgdWZ7Y29uc3RydWN0b3IoZSl7c3VwZXIoe3R5cGU6XCJkb2N1bWVudFwiLC4uLmV9KSx0aGlzLm5vZGVzfHwodGhpcy5ub2Rlcz1bXSl9dG9SZXN1bHQoZT17fSl7cmV0dXJuIG5ldyBUbyhuZXcgQ28sdGhpcyxlKS5zdHJpbmdpZnkoKX19O3llLnJlZ2lzdGVyTGF6eVJlc3VsdD10PT57VG89dH07eWUucmVnaXN0ZXJQcm9jZXNzb3I9dD0+e0NvPXR9O09vLmV4cG9ydHM9eWU7eWUuZGVmYXVsdD15ZX0pO3ZhciBObz1nKChIdixBbyk9PntcInVzZSBzdHJpY3RcIjt2YXIgbGY9R3QoKSxjZj1SZSgpLGZmPW10KCkscGY9cWUoKSxoZj1scygpLGRmPURlKCksbWY9anQoKTtmdW5jdGlvbiB3dCh0LGUpe2lmKEFycmF5LmlzQXJyYXkodCkpcmV0dXJuIHQubWFwKG49Pnd0KG4pKTtsZXR7aW5wdXRzOnMsLi4ucn09dDtpZihzKXtlPVtdO2ZvcihsZXQgbiBvZiBzKXtsZXQgaT17Li4ubixfX3Byb3RvX186cGYucHJvdG90eXBlfTtpLm1hcCYmKGkubWFwPXsuLi5pLm1hcCxfX3Byb3RvX186aGYucHJvdG90eXBlfSksZS5wdXNoKGkpfX1pZihyLm5vZGVzJiYoci5ub2Rlcz10Lm5vZGVzLm1hcChuPT53dChuLGUpKSksci5zb3VyY2Upe2xldHtpbnB1dElkOm4sLi4uaX09ci5zb3VyY2U7ci5zb3VyY2U9aSxuIT1udWxsJiYoci5zb3VyY2UuaW5wdXQ9ZVtuXSl9aWYoci50eXBlPT09XCJyb290XCIpcmV0dXJuIG5ldyBkZihyKTtpZihyLnR5cGU9PT1cImRlY2xcIilyZXR1cm4gbmV3IGZmKHIpO2lmKHIudHlwZT09PVwicnVsZVwiKXJldHVybiBuZXcgbWYocik7aWYoci50eXBlPT09XCJjb21tZW50XCIpcmV0dXJuIG5ldyBjZihyKTtpZihyLnR5cGU9PT1cImF0cnVsZVwiKXJldHVybiBuZXcgbGYocik7dGhyb3cgbmV3IEVycm9yKFwiVW5rbm93biBub2RlIHR5cGU6IFwiK3QudHlwZSl9QW8uZXhwb3J0cz13dDt3dC5kZWZhdWx0PXd0fSk7dmFyIHdzPWcoKEt2LFBvKT0+e1BvLmV4cG9ydHM9Y2xhc3N7Z2VuZXJhdGUoKXt9fX0pO3ZhciB2cz1nKChKdixSbyk9PntcInVzZSBzdHJpY3RcIjt2YXIgdnQ9Y2xhc3N7Y29uc3RydWN0b3IoZSxzPXt9KXtpZih0aGlzLnR5cGU9XCJ3YXJuaW5nXCIsdGhpcy50ZXh0PWUscy5ub2RlJiZzLm5vZGUuc291cmNlKXtsZXQgcj1zLm5vZGUucmFuZ2VCeShzKTt0aGlzLmxpbmU9ci5zdGFydC5saW5lLHRoaXMuY29sdW1uPXIuc3RhcnQuY29sdW1uLHRoaXMuZW5kTGluZT1yLmVuZC5saW5lLHRoaXMuZW5kQ29sdW1uPXIuZW5kLmNvbHVtbn1mb3IobGV0IHIgaW4gcyl0aGlzW3JdPXNbcl19dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5ub2RlP3RoaXMubm9kZS5lcnJvcih0aGlzLnRleHQse2luZGV4OnRoaXMuaW5kZXgscGx1Z2luOnRoaXMucGx1Z2luLHdvcmQ6dGhpcy53b3JkfSkubWVzc2FnZTp0aGlzLnBsdWdpbj90aGlzLnBsdWdpbitcIjogXCIrdGhpcy50ZXh0OnRoaXMudGV4dH19O1JvLmV4cG9ydHM9dnQ7dnQuZGVmYXVsdD12dH0pO3ZhciBlcj1nKChYdixJbyk9PntcInVzZSBzdHJpY3RcIjt2YXIgeWY9dnMoKSx4dD1jbGFzc3tjb25zdHJ1Y3RvcihlLHMscil7dGhpcy5wcm9jZXNzb3I9ZSx0aGlzLm1lc3NhZ2VzPVtdLHRoaXMucm9vdD1zLHRoaXMub3B0cz1yLHRoaXMuY3NzPXZvaWQgMCx0aGlzLm1hcD12b2lkIDB9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5jc3N9d2FybihlLHM9e30pe3MucGx1Z2lufHx0aGlzLmxhc3RQbHVnaW4mJnRoaXMubGFzdFBsdWdpbi5wb3N0Y3NzUGx1Z2luJiYocy5wbHVnaW49dGhpcy5sYXN0UGx1Z2luLnBvc3Rjc3NQbHVnaW4pO2xldCByPW5ldyB5ZihlLHMpO3JldHVybiB0aGlzLm1lc3NhZ2VzLnB1c2gocikscn13YXJuaW5ncygpe3JldHVybiB0aGlzLm1lc3NhZ2VzLmZpbHRlcihlPT5lLnR5cGU9PT1cIndhcm5pbmdcIil9Z2V0IGNvbnRlbnQoKXtyZXR1cm4gdGhpcy5jc3N9fTtJby5leHBvcnRzPXh0O3h0LmRlZmF1bHQ9eHR9KTt2YXIgeHM9ZygoWnYsTG8pPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIHFvPXt9O0xvLmV4cG9ydHM9ZnVuY3Rpb24oZSl7cW9bZV18fChxb1tlXT0hMCx0eXBlb2YgY29uc29sZTxcInVcIiYmY29uc29sZS53YXJuJiZjb25zb2xlLndhcm4oZSkpfX0pO3ZhciBrcz1nKCh0eCxVbyk9PntcInVzZSBzdHJpY3RcIjt2YXIgZ2Y9dWUoKSx3Zj1adCgpLHZmPXdzKCkseGY9Z3QoKSxEbz1lcigpLGJmPURlKCksX2Y9dXQoKSx7aXNDbGVhbjpqLG15OmtmfT16dCgpLGV4PXhzKCksRWY9e2F0cnVsZTpcIkF0UnVsZVwiLGNvbW1lbnQ6XCJDb21tZW50XCIsZGVjbDpcIkRlY2xhcmF0aW9uXCIsZG9jdW1lbnQ6XCJEb2N1bWVudFwiLHJvb3Q6XCJSb290XCIscnVsZTpcIlJ1bGVcIn0sU2Y9e0F0UnVsZTohMCxBdFJ1bGVFeGl0OiEwLENvbW1lbnQ6ITAsQ29tbWVudEV4aXQ6ITAsRGVjbGFyYXRpb246ITAsRGVjbGFyYXRpb25FeGl0OiEwLERvY3VtZW50OiEwLERvY3VtZW50RXhpdDohMCxPbmNlOiEwLE9uY2VFeGl0OiEwLHBvc3Rjc3NQbHVnaW46ITAscHJlcGFyZTohMCxSb290OiEwLFJvb3RFeGl0OiEwLFJ1bGU6ITAsUnVsZUV4aXQ6ITB9LFRmPXtPbmNlOiEwLHBvc3Rjc3NQbHVnaW46ITAscHJlcGFyZTohMH0sTWU9MDtmdW5jdGlvbiBidCh0KXtyZXR1cm4gdHlwZW9mIHQ9PVwib2JqZWN0XCImJnR5cGVvZiB0LnRoZW49PVwiZnVuY3Rpb25cIn1mdW5jdGlvbiBNbyh0KXtsZXQgZT0hMSxzPUVmW3QudHlwZV07cmV0dXJuIHQudHlwZT09PVwiZGVjbFwiP2U9dC5wcm9wLnRvTG93ZXJDYXNlKCk6dC50eXBlPT09XCJhdHJ1bGVcIiYmKGU9dC5uYW1lLnRvTG93ZXJDYXNlKCkpLGUmJnQuYXBwZW5kP1tzLHMrXCItXCIrZSxNZSxzK1wiRXhpdFwiLHMrXCJFeGl0LVwiK2VdOmU/W3MscytcIi1cIitlLHMrXCJFeGl0XCIscytcIkV4aXQtXCIrZV06dC5hcHBlbmQ/W3MsTWUscytcIkV4aXRcIl06W3MscytcIkV4aXRcIl19ZnVuY3Rpb24gQm8odCl7bGV0IGU7cmV0dXJuIHQudHlwZT09PVwiZG9jdW1lbnRcIj9lPVtcIkRvY3VtZW50XCIsTWUsXCJEb2N1bWVudEV4aXRcIl06dC50eXBlPT09XCJyb290XCI/ZT1bXCJSb290XCIsTWUsXCJSb290RXhpdFwiXTplPU1vKHQpLHtldmVudEluZGV4OjAsZXZlbnRzOmUsaXRlcmF0b3I6MCxub2RlOnQsdmlzaXRvckluZGV4OjAsdmlzaXRvcnM6W119fWZ1bmN0aW9uIGJzKHQpe3JldHVybiB0W2pdPSExLHQubm9kZXMmJnQubm9kZXMuZm9yRWFjaChlPT5icyhlKSksdH12YXIgX3M9e30sY2U9Y2xhc3MgdHtjb25zdHJ1Y3RvcihlLHMscil7dGhpcy5zdHJpbmdpZmllZD0hMSx0aGlzLnByb2Nlc3NlZD0hMTtsZXQgbjtpZih0eXBlb2Ygcz09XCJvYmplY3RcIiYmcyE9PW51bGwmJihzLnR5cGU9PT1cInJvb3RcInx8cy50eXBlPT09XCJkb2N1bWVudFwiKSluPWJzKHMpO2Vsc2UgaWYocyBpbnN0YW5jZW9mIHR8fHMgaW5zdGFuY2VvZiBEbyluPWJzKHMucm9vdCkscy5tYXAmJih0eXBlb2Ygci5tYXA+XCJ1XCImJihyLm1hcD17fSksci5tYXAuaW5saW5lfHwoci5tYXAuaW5saW5lPSExKSxyLm1hcC5wcmV2PXMubWFwKTtlbHNle2xldCBpPXhmO3Iuc3ludGF4JiYoaT1yLnN5bnRheC5wYXJzZSksci5wYXJzZXImJihpPXIucGFyc2VyKSxpLnBhcnNlJiYoaT1pLnBhcnNlKTt0cnl7bj1pKHMscil9Y2F0Y2gobyl7dGhpcy5wcm9jZXNzZWQ9ITAsdGhpcy5lcnJvcj1vfW4mJiFuW2tmXSYmZ2YucmVidWlsZChuKX10aGlzLnJlc3VsdD1uZXcgRG8oZSxuLHIpLHRoaXMuaGVscGVycz17Li4uX3MscG9zdGNzczpfcyxyZXN1bHQ6dGhpcy5yZXN1bHR9LHRoaXMucGx1Z2lucz10aGlzLnByb2Nlc3Nvci5wbHVnaW5zLm1hcChpPT50eXBlb2YgaT09XCJvYmplY3RcIiYmaS5wcmVwYXJlP3suLi5pLC4uLmkucHJlcGFyZSh0aGlzLnJlc3VsdCl9OmkpfWFzeW5jKCl7cmV0dXJuIHRoaXMuZXJyb3I/UHJvbWlzZS5yZWplY3QodGhpcy5lcnJvcik6dGhpcy5wcm9jZXNzZWQ/UHJvbWlzZS5yZXNvbHZlKHRoaXMucmVzdWx0KToodGhpcy5wcm9jZXNzaW5nfHwodGhpcy5wcm9jZXNzaW5nPXRoaXMucnVuQXN5bmMoKSksdGhpcy5wcm9jZXNzaW5nKX1jYXRjaChlKXtyZXR1cm4gdGhpcy5hc3luYygpLmNhdGNoKGUpfWZpbmFsbHkoZSl7cmV0dXJuIHRoaXMuYXN5bmMoKS50aGVuKGUsZSl9Z2V0QXN5bmNFcnJvcigpe3Rocm93IG5ldyBFcnJvcihcIlVzZSBwcm9jZXNzKGNzcykudGhlbihjYikgdG8gd29yayB3aXRoIGFzeW5jIHBsdWdpbnNcIil9aGFuZGxlRXJyb3IoZSxzKXtsZXQgcj10aGlzLnJlc3VsdC5sYXN0UGx1Z2luO3RyeXtzJiZzLmFkZFRvRXJyb3IoZSksdGhpcy5lcnJvcj1lLGUubmFtZT09PVwiQ3NzU3ludGF4RXJyb3JcIiYmIWUucGx1Z2luPyhlLnBsdWdpbj1yLnBvc3Rjc3NQbHVnaW4sZS5zZXRNZXNzYWdlKCkpOnIucG9zdGNzc1ZlcnNpb259Y2F0Y2gobil7Y29uc29sZSYmY29uc29sZS5lcnJvciYmY29uc29sZS5lcnJvcihuKX1yZXR1cm4gZX1wcmVwYXJlVmlzaXRvcnMoKXt0aGlzLmxpc3RlbmVycz17fTtsZXQgZT0ocyxyLG4pPT57dGhpcy5saXN0ZW5lcnNbcl18fCh0aGlzLmxpc3RlbmVyc1tyXT1bXSksdGhpcy5saXN0ZW5lcnNbcl0ucHVzaChbcyxuXSl9O2ZvcihsZXQgcyBvZiB0aGlzLnBsdWdpbnMpaWYodHlwZW9mIHM9PVwib2JqZWN0XCIpZm9yKGxldCByIGluIHMpe2lmKCFTZltyXSYmL15bQS1aXS8udGVzdChyKSl0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gZXZlbnQgJHtyfSBpbiAke3MucG9zdGNzc1BsdWdpbn0uIFRyeSB0byB1cGRhdGUgUG9zdENTUyAoJHt0aGlzLnByb2Nlc3Nvci52ZXJzaW9ufSBub3cpLmApO2lmKCFUZltyXSlpZih0eXBlb2Ygc1tyXT09XCJvYmplY3RcIilmb3IobGV0IG4gaW4gc1tyXSluPT09XCIqXCI/ZShzLHIsc1tyXVtuXSk6ZShzLHIrXCItXCIrbi50b0xvd2VyQ2FzZSgpLHNbcl1bbl0pO2Vsc2UgdHlwZW9mIHNbcl09PVwiZnVuY3Rpb25cIiYmZShzLHIsc1tyXSl9dGhpcy5oYXNMaXN0ZW5lcj1PYmplY3Qua2V5cyh0aGlzLmxpc3RlbmVycykubGVuZ3RoPjB9YXN5bmMgcnVuQXN5bmMoKXt0aGlzLnBsdWdpbj0wO2ZvcihsZXQgZT0wO2U8dGhpcy5wbHVnaW5zLmxlbmd0aDtlKyspe2xldCBzPXRoaXMucGx1Z2luc1tlXSxyPXRoaXMucnVuT25Sb290KHMpO2lmKGJ0KHIpKXRyeXthd2FpdCByfWNhdGNoKG4pe3Rocm93IHRoaXMuaGFuZGxlRXJyb3Iobil9fWlmKHRoaXMucHJlcGFyZVZpc2l0b3JzKCksdGhpcy5oYXNMaXN0ZW5lcil7bGV0IGU9dGhpcy5yZXN1bHQucm9vdDtmb3IoOyFlW2pdOyl7ZVtqXT0hMDtsZXQgcz1bQm8oZSldO2Zvcig7cy5sZW5ndGg+MDspe2xldCByPXRoaXMudmlzaXRUaWNrKHMpO2lmKGJ0KHIpKXRyeXthd2FpdCByfWNhdGNoKG4pe2xldCBpPXNbcy5sZW5ndGgtMV0ubm9kZTt0aHJvdyB0aGlzLmhhbmRsZUVycm9yKG4saSl9fX1pZih0aGlzLmxpc3RlbmVycy5PbmNlRXhpdClmb3IobGV0W3Mscl1vZiB0aGlzLmxpc3RlbmVycy5PbmNlRXhpdCl7dGhpcy5yZXN1bHQubGFzdFBsdWdpbj1zO3RyeXtpZihlLnR5cGU9PT1cImRvY3VtZW50XCIpe2xldCBuPWUubm9kZXMubWFwKGk9PnIoaSx0aGlzLmhlbHBlcnMpKTthd2FpdCBQcm9taXNlLmFsbChuKX1lbHNlIGF3YWl0IHIoZSx0aGlzLmhlbHBlcnMpfWNhdGNoKG4pe3Rocm93IHRoaXMuaGFuZGxlRXJyb3Iobil9fX1yZXR1cm4gdGhpcy5wcm9jZXNzZWQ9ITAsdGhpcy5zdHJpbmdpZnkoKX1ydW5PblJvb3QoZSl7dGhpcy5yZXN1bHQubGFzdFBsdWdpbj1lO3RyeXtpZih0eXBlb2YgZT09XCJvYmplY3RcIiYmZS5PbmNlKXtpZih0aGlzLnJlc3VsdC5yb290LnR5cGU9PT1cImRvY3VtZW50XCIpe2xldCBzPXRoaXMucmVzdWx0LnJvb3Qubm9kZXMubWFwKHI9PmUuT25jZShyLHRoaXMuaGVscGVycykpO3JldHVybiBidChzWzBdKT9Qcm9taXNlLmFsbChzKTpzfXJldHVybiBlLk9uY2UodGhpcy5yZXN1bHQucm9vdCx0aGlzLmhlbHBlcnMpfWVsc2UgaWYodHlwZW9mIGU9PVwiZnVuY3Rpb25cIilyZXR1cm4gZSh0aGlzLnJlc3VsdC5yb290LHRoaXMucmVzdWx0KX1jYXRjaChzKXt0aHJvdyB0aGlzLmhhbmRsZUVycm9yKHMpfX1zdHJpbmdpZnkoKXtpZih0aGlzLmVycm9yKXRocm93IHRoaXMuZXJyb3I7aWYodGhpcy5zdHJpbmdpZmllZClyZXR1cm4gdGhpcy5yZXN1bHQ7dGhpcy5zdHJpbmdpZmllZD0hMCx0aGlzLnN5bmMoKTtsZXQgZT10aGlzLnJlc3VsdC5vcHRzLHM9X2Y7ZS5zeW50YXgmJihzPWUuc3ludGF4LnN0cmluZ2lmeSksZS5zdHJpbmdpZmllciYmKHM9ZS5zdHJpbmdpZmllcikscy5zdHJpbmdpZnkmJihzPXMuc3RyaW5naWZ5KTtsZXQgbj1uZXcgdmYocyx0aGlzLnJlc3VsdC5yb290LHRoaXMucmVzdWx0Lm9wdHMpLmdlbmVyYXRlKCk7cmV0dXJuIHRoaXMucmVzdWx0LmNzcz1uWzBdLHRoaXMucmVzdWx0Lm1hcD1uWzFdLHRoaXMucmVzdWx0fXN5bmMoKXtpZih0aGlzLmVycm9yKXRocm93IHRoaXMuZXJyb3I7aWYodGhpcy5wcm9jZXNzZWQpcmV0dXJuIHRoaXMucmVzdWx0O2lmKHRoaXMucHJvY2Vzc2VkPSEwLHRoaXMucHJvY2Vzc2luZyl0aHJvdyB0aGlzLmdldEFzeW5jRXJyb3IoKTtmb3IobGV0IGUgb2YgdGhpcy5wbHVnaW5zKXtsZXQgcz10aGlzLnJ1bk9uUm9vdChlKTtpZihidChzKSl0aHJvdyB0aGlzLmdldEFzeW5jRXJyb3IoKX1pZih0aGlzLnByZXBhcmVWaXNpdG9ycygpLHRoaXMuaGFzTGlzdGVuZXIpe2xldCBlPXRoaXMucmVzdWx0LnJvb3Q7Zm9yKDshZVtqXTspZVtqXT0hMCx0aGlzLndhbGtTeW5jKGUpO2lmKHRoaXMubGlzdGVuZXJzLk9uY2VFeGl0KWlmKGUudHlwZT09PVwiZG9jdW1lbnRcIilmb3IobGV0IHMgb2YgZS5ub2Rlcyl0aGlzLnZpc2l0U3luYyh0aGlzLmxpc3RlbmVycy5PbmNlRXhpdCxzKTtlbHNlIHRoaXMudmlzaXRTeW5jKHRoaXMubGlzdGVuZXJzLk9uY2VFeGl0LGUpfXJldHVybiB0aGlzLnJlc3VsdH10aGVuKGUscyl7cmV0dXJuIHRoaXMuYXN5bmMoKS50aGVuKGUscyl9dG9TdHJpbmcoKXtyZXR1cm4gdGhpcy5jc3N9dmlzaXRTeW5jKGUscyl7Zm9yKGxldFtyLG5db2YgZSl7dGhpcy5yZXN1bHQubGFzdFBsdWdpbj1yO2xldCBpO3RyeXtpPW4ocyx0aGlzLmhlbHBlcnMpfWNhdGNoKG8pe3Rocm93IHRoaXMuaGFuZGxlRXJyb3IobyxzLnByb3h5T2YpfWlmKHMudHlwZSE9PVwicm9vdFwiJiZzLnR5cGUhPT1cImRvY3VtZW50XCImJiFzLnBhcmVudClyZXR1cm4hMDtpZihidChpKSl0aHJvdyB0aGlzLmdldEFzeW5jRXJyb3IoKX19dmlzaXRUaWNrKGUpe2xldCBzPWVbZS5sZW5ndGgtMV0se25vZGU6cix2aXNpdG9yczpufT1zO2lmKHIudHlwZSE9PVwicm9vdFwiJiZyLnR5cGUhPT1cImRvY3VtZW50XCImJiFyLnBhcmVudCl7ZS5wb3AoKTtyZXR1cm59aWYobi5sZW5ndGg+MCYmcy52aXNpdG9ySW5kZXg8bi5sZW5ndGgpe2xldFtvLHVdPW5bcy52aXNpdG9ySW5kZXhdO3MudmlzaXRvckluZGV4Kz0xLHMudmlzaXRvckluZGV4PT09bi5sZW5ndGgmJihzLnZpc2l0b3JzPVtdLHMudmlzaXRvckluZGV4PTApLHRoaXMucmVzdWx0Lmxhc3RQbHVnaW49bzt0cnl7cmV0dXJuIHUoci50b1Byb3h5KCksdGhpcy5oZWxwZXJzKX1jYXRjaChhKXt0aHJvdyB0aGlzLmhhbmRsZUVycm9yKGEscil9fWlmKHMuaXRlcmF0b3IhPT0wKXtsZXQgbz1zLml0ZXJhdG9yLHU7Zm9yKDt1PXIubm9kZXNbci5pbmRleGVzW29dXTspaWYoci5pbmRleGVzW29dKz0xLCF1W2pdKXt1W2pdPSEwLGUucHVzaChCbyh1KSk7cmV0dXJufXMuaXRlcmF0b3I9MCxkZWxldGUgci5pbmRleGVzW29dfWxldCBpPXMuZXZlbnRzO2Zvcig7cy5ldmVudEluZGV4PGkubGVuZ3RoOyl7bGV0IG89aVtzLmV2ZW50SW5kZXhdO2lmKHMuZXZlbnRJbmRleCs9MSxvPT09TWUpe3Iubm9kZXMmJnIubm9kZXMubGVuZ3RoJiYocltqXT0hMCxzLml0ZXJhdG9yPXIuZ2V0SXRlcmF0b3IoKSk7cmV0dXJufWVsc2UgaWYodGhpcy5saXN0ZW5lcnNbb10pe3MudmlzaXRvcnM9dGhpcy5saXN0ZW5lcnNbb107cmV0dXJufX1lLnBvcCgpfXdhbGtTeW5jKGUpe2Vbal09ITA7bGV0IHM9TW8oZSk7Zm9yKGxldCByIG9mIHMpaWYocj09PU1lKWUubm9kZXMmJmUuZWFjaChuPT57bltqXXx8dGhpcy53YWxrU3luYyhuKX0pO2Vsc2V7bGV0IG49dGhpcy5saXN0ZW5lcnNbcl07aWYobiYmdGhpcy52aXNpdFN5bmMobixlLnRvUHJveHkoKSkpcmV0dXJufX13YXJuaW5ncygpe3JldHVybiB0aGlzLnN5bmMoKS53YXJuaW5ncygpfWdldCBjb250ZW50KCl7cmV0dXJuIHRoaXMuc3RyaW5naWZ5KCkuY29udGVudH1nZXQgY3NzKCl7cmV0dXJuIHRoaXMuc3RyaW5naWZ5KCkuY3NzfWdldCBtYXAoKXtyZXR1cm4gdGhpcy5zdHJpbmdpZnkoKS5tYXB9Z2V0IG1lc3NhZ2VzKCl7cmV0dXJuIHRoaXMuc3luYygpLm1lc3NhZ2VzfWdldCBvcHRzKCl7cmV0dXJuIHRoaXMucmVzdWx0Lm9wdHN9Z2V0IHByb2Nlc3Nvcigpe3JldHVybiB0aGlzLnJlc3VsdC5wcm9jZXNzb3J9Z2V0IHJvb3QoKXtyZXR1cm4gdGhpcy5zeW5jKCkucm9vdH1nZXRbU3ltYm9sLnRvU3RyaW5nVGFnXSgpe3JldHVyblwiTGF6eVJlc3VsdFwifX07Y2UucmVnaXN0ZXJQb3N0Y3NzPXQ9Pntfcz10fTtVby5leHBvcnRzPWNlO2NlLmRlZmF1bHQ9Y2U7YmYucmVnaXN0ZXJMYXp5UmVzdWx0KGNlKTt3Zi5yZWdpc3RlckxhenlSZXN1bHQoY2UpfSk7dmFyICRvPWcoKHN4LEZvKT0+e1widXNlIHN0cmljdFwiO3ZhciBDZj13cygpLE9mPWd0KCksQWY9ZXIoKSxOZj11dCgpLHJ4PXhzKCksX3Q9Y2xhc3N7Y29uc3RydWN0b3IoZSxzLHIpe3M9cy50b1N0cmluZygpLHRoaXMuc3RyaW5naWZpZWQ9ITEsdGhpcy5fcHJvY2Vzc29yPWUsdGhpcy5fY3NzPXMsdGhpcy5fb3B0cz1yLHRoaXMuX21hcD12b2lkIDA7bGV0IG4saT1OZjt0aGlzLnJlc3VsdD1uZXcgQWYodGhpcy5fcHJvY2Vzc29yLG4sdGhpcy5fb3B0cyksdGhpcy5yZXN1bHQuY3NzPXM7bGV0IG89dGhpcztPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcy5yZXN1bHQsXCJyb290XCIse2dldCgpe3JldHVybiBvLnJvb3R9fSk7bGV0IHU9bmV3IENmKGksbix0aGlzLl9vcHRzLHMpO2lmKHUuaXNNYXAoKSl7bGV0W2EsY109dS5nZW5lcmF0ZSgpO2EmJih0aGlzLnJlc3VsdC5jc3M9YSksYyYmKHRoaXMucmVzdWx0Lm1hcD1jKX1lbHNlIHUuY2xlYXJBbm5vdGF0aW9uKCksdGhpcy5yZXN1bHQuY3NzPXUuY3NzfWFzeW5jKCl7cmV0dXJuIHRoaXMuZXJyb3I/UHJvbWlzZS5yZWplY3QodGhpcy5lcnJvcik6UHJvbWlzZS5yZXNvbHZlKHRoaXMucmVzdWx0KX1jYXRjaChlKXtyZXR1cm4gdGhpcy5hc3luYygpLmNhdGNoKGUpfWZpbmFsbHkoZSl7cmV0dXJuIHRoaXMuYXN5bmMoKS50aGVuKGUsZSl9c3luYygpe2lmKHRoaXMuZXJyb3IpdGhyb3cgdGhpcy5lcnJvcjtyZXR1cm4gdGhpcy5yZXN1bHR9dGhlbihlLHMpe3JldHVybiB0aGlzLmFzeW5jKCkudGhlbihlLHMpfXRvU3RyaW5nKCl7cmV0dXJuIHRoaXMuX2Nzc313YXJuaW5ncygpe3JldHVybltdfWdldCBjb250ZW50KCl7cmV0dXJuIHRoaXMucmVzdWx0LmNzc31nZXQgY3NzKCl7cmV0dXJuIHRoaXMucmVzdWx0LmNzc31nZXQgbWFwKCl7cmV0dXJuIHRoaXMucmVzdWx0Lm1hcH1nZXQgbWVzc2FnZXMoKXtyZXR1cm5bXX1nZXQgb3B0cygpe3JldHVybiB0aGlzLnJlc3VsdC5vcHRzfWdldCBwcm9jZXNzb3IoKXtyZXR1cm4gdGhpcy5yZXN1bHQucHJvY2Vzc29yfWdldCByb290KCl7aWYodGhpcy5fcm9vdClyZXR1cm4gdGhpcy5fcm9vdDtsZXQgZSxzPU9mO3RyeXtlPXModGhpcy5fY3NzLHRoaXMuX29wdHMpfWNhdGNoKHIpe3RoaXMuZXJyb3I9cn1pZih0aGlzLmVycm9yKXRocm93IHRoaXMuZXJyb3I7cmV0dXJuIHRoaXMuX3Jvb3Q9ZSxlfWdldFtTeW1ib2wudG9TdHJpbmdUYWddKCl7cmV0dXJuXCJOb1dvcmtSZXN1bHRcIn19O0ZvLmV4cG9ydHM9X3Q7X3QuZGVmYXVsdD1fdH0pO3ZhciBZbz1nKChueCxXbyk9PntcInVzZSBzdHJpY3RcIjt2YXIgUGY9WnQoKSxSZj1rcygpLElmPSRvKCkscWY9RGUoKSxnZT1jbGFzc3tjb25zdHJ1Y3RvcihlPVtdKXt0aGlzLnZlcnNpb249XCI4LjQuNDlcIix0aGlzLnBsdWdpbnM9dGhpcy5ub3JtYWxpemUoZSl9bm9ybWFsaXplKGUpe2xldCBzPVtdO2ZvcihsZXQgciBvZiBlKWlmKHIucG9zdGNzcz09PSEwP3I9cigpOnIucG9zdGNzcyYmKHI9ci5wb3N0Y3NzKSx0eXBlb2Ygcj09XCJvYmplY3RcIiYmQXJyYXkuaXNBcnJheShyLnBsdWdpbnMpKXM9cy5jb25jYXQoci5wbHVnaW5zKTtlbHNlIGlmKHR5cGVvZiByPT1cIm9iamVjdFwiJiZyLnBvc3Rjc3NQbHVnaW4pcy5wdXNoKHIpO2Vsc2UgaWYodHlwZW9mIHI9PVwiZnVuY3Rpb25cIilzLnB1c2gocik7ZWxzZSBpZighKHR5cGVvZiByPT1cIm9iamVjdFwiJiYoci5wYXJzZXx8ci5zdHJpbmdpZnkpKSl0aHJvdyBuZXcgRXJyb3IocitcIiBpcyBub3QgYSBQb3N0Q1NTIHBsdWdpblwiKTtyZXR1cm4gc31wcm9jZXNzKGUscz17fSl7cmV0dXJuIXRoaXMucGx1Z2lucy5sZW5ndGgmJiFzLnBhcnNlciYmIXMuc3RyaW5naWZpZXImJiFzLnN5bnRheD9uZXcgSWYodGhpcyxlLHMpOm5ldyBSZih0aGlzLGUscyl9dXNlKGUpe3JldHVybiB0aGlzLnBsdWdpbnM9dGhpcy5wbHVnaW5zLmNvbmNhdCh0aGlzLm5vcm1hbGl6ZShbZV0pKSx0aGlzfX07V28uZXhwb3J0cz1nZTtnZS5kZWZhdWx0PWdlO3FmLnJlZ2lzdGVyUHJvY2Vzc29yKGdlKTtQZi5yZWdpc3RlclByb2Nlc3NvcihnZSl9KTt2YXIgdHI9ZygoaXgsUW8pPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIHpvPUd0KCksVm89UmUoKSxMZj11ZSgpLERmPVd0KCksR289bXQoKSxqbz1adCgpLEJmPU5vKCksTWY9cWUoKSxVZj1rcygpLEZmPWRzKCksJGY9cHQoKSxXZj1ndCgpLEVzPVlvKCksWWY9ZXIoKSxIbz1EZSgpLEtvPWp0KCksemY9dXQoKSxWZj12cygpO2Z1bmN0aW9uIEUoLi4udCl7cmV0dXJuIHQubGVuZ3RoPT09MSYmQXJyYXkuaXNBcnJheSh0WzBdKSYmKHQ9dFswXSksbmV3IEVzKHQpfUUucGx1Z2luPWZ1bmN0aW9uKGUscyl7bGV0IHI9ITE7ZnVuY3Rpb24gbiguLi5vKXtjb25zb2xlJiZjb25zb2xlLndhcm4mJiFyJiYocj0hMCxjb25zb2xlLndhcm4oZStgOiBwb3N0Y3NzLnBsdWdpbiB3YXMgZGVwcmVjYXRlZC4gTWlncmF0aW9uIGd1aWRlOlxuaHR0cHM6Ly9ldmlsbWFydGlhbnMuY29tL2Nocm9uaWNsZXMvcG9zdGNzcy04LXBsdWdpbi1taWdyYXRpb25gKSk7bGV0IHU9cyguLi5vKTtyZXR1cm4gdS5wb3N0Y3NzUGx1Z2luPWUsdS5wb3N0Y3NzVmVyc2lvbj1uZXcgRXMoKS52ZXJzaW9uLHV9bGV0IGk7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLFwicG9zdGNzc1wiLHtnZXQoKXtyZXR1cm4gaXx8KGk9bigpKSxpfX0pLG4ucHJvY2Vzcz1mdW5jdGlvbihvLHUsYSl7cmV0dXJuIEUoW24oYSldKS5wcm9jZXNzKG8sdSl9LG59O0Uuc3RyaW5naWZ5PXpmO0UucGFyc2U9V2Y7RS5mcm9tSlNPTj1CZjtFLmxpc3Q9RmY7RS5jb21tZW50PXQ9Pm5ldyBWbyh0KTtFLmF0UnVsZT10PT5uZXcgem8odCk7RS5kZWNsPXQ9Pm5ldyBHbyh0KTtFLnJ1bGU9dD0+bmV3IEtvKHQpO0Uucm9vdD10PT5uZXcgSG8odCk7RS5kb2N1bWVudD10PT5uZXcgam8odCk7RS5Dc3NTeW50YXhFcnJvcj1EZjtFLkRlY2xhcmF0aW9uPUdvO0UuQ29udGFpbmVyPUxmO0UuUHJvY2Vzc29yPUVzO0UuRG9jdW1lbnQ9am87RS5Db21tZW50PVZvO0UuV2FybmluZz1WZjtFLkF0UnVsZT16bztFLlJlc3VsdD1ZZjtFLklucHV0PU1mO0UuUnVsZT1LbztFLlJvb3Q9SG87RS5Ob2RlPSRmO1VmLnJlZ2lzdGVyUG9zdGNzcyhFKTtRby5leHBvcnRzPUU7RS5kZWZhdWx0PUV9KTt2YXIgWG89Zygob3gsSm8pPT57dmFye0NvbnRhaW5lcjpHZn09dHIoKSxTcz1jbGFzcyBleHRlbmRzIEdme2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMudHlwZT1cImRlY2xcIix0aGlzLmlzTmVzdGVkPSEwLHRoaXMubm9kZXN8fCh0aGlzLm5vZGVzPVtdKX19O0pvLmV4cG9ydHM9U3N9KTt2YXIgdGE9ZygoYXgsZWEpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIHJyPS9bXFx0XFxuXFxmXFxyIFwiIycoKS87W1xcXFxcXF17fV0vZyxzcj0vWyxcXHRcXG5cXGZcXHIgIVwiIycoKTo7QFtcXFxcXFxde31dfFxcLyg/PVxcKikvZyxqZj0vLltcXHJcXG5cIicoL1xcXFxdLyxabz0vW1xcZGEtZl0vaSxucj0vW1xcblxcZlxccl0vZztlYS5leHBvcnRzPWZ1bmN0aW9uKGUscz17fSl7bGV0IHI9ZS5jc3MudmFsdWVPZigpLG49cy5pZ25vcmVFcnJvcnMsaSxvLHUsYSxjLGYscCxsLHkseD1yLmxlbmd0aCxoPTAsZD1bXSxtPVtdLGI7ZnVuY3Rpb24gdygpe3JldHVybiBofWZ1bmN0aW9uIHYoVCl7dGhyb3cgZS5lcnJvcihcIlVuY2xvc2VkIFwiK1QsaCl9ZnVuY3Rpb24gTigpe3JldHVybiBtLmxlbmd0aD09PTAmJmg+PXh9ZnVuY3Rpb24gRigpe2xldCBUPTEsQz0hMSxPPSExO2Zvcig7VD4wOylvKz0xLHIubGVuZ3RoPD1vJiZ2KFwiaW50ZXJwb2xhdGlvblwiKSxpPXIuY2hhckNvZGVBdChvKSxsPXIuY2hhckNvZGVBdChvKzEpLEM/IU8mJmk9PT1DPyhDPSExLE89ITEpOmk9PT05Mj9PPSFPOk8mJihPPSExKTppPT09Mzl8fGk9PT0zND9DPWk6aT09PTEyNT9ULT0xOmk9PT0zNSYmbD09PTEyMyYmKFQrPTEpfWZ1bmN0aW9uIEgoVCl7aWYobS5sZW5ndGgpcmV0dXJuIG0ucG9wKCk7aWYoaD49eClyZXR1cm47bGV0IEM9VD9ULmlnbm9yZVVuY2xvc2VkOiExO3N3aXRjaChpPXIuY2hhckNvZGVBdChoKSxpKXtjYXNlIDEwOmNhc2UgMzI6Y2FzZSA5OmNhc2UgMTM6Y2FzZSAxMjp7bz1oO2RvIG8rPTEsaT1yLmNoYXJDb2RlQXQobyk7d2hpbGUoaT09PTMyfHxpPT09MTB8fGk9PT05fHxpPT09MTN8fGk9PT0xMik7eT1bXCJzcGFjZVwiLHIuc2xpY2UoaCxvKV0saD1vLTE7YnJlYWt9Y2FzZSA5MTpjYXNlIDkzOmNhc2UgMTIzOmNhc2UgMTI1OmNhc2UgNTg6Y2FzZSA1OTpjYXNlIDQxOntsZXQgTz1TdHJpbmcuZnJvbUNoYXJDb2RlKGkpO3k9W08sTyxoXTticmVha31jYXNlIDQ0Ont5PVtcIndvcmRcIixcIixcIixoLGgrMV07YnJlYWt9Y2FzZSA0MDp7aWYocD1kLmxlbmd0aD9kLnBvcCgpWzFdOlwiXCIsbD1yLmNoYXJDb2RlQXQoaCsxKSxwPT09XCJ1cmxcIiYmbCE9PTM5JiZsIT09MzQpe2ZvcihiPTEsZj0hMSxvPWgrMTtvPD1yLmxlbmd0aC0xOyl7aWYobD1yLmNoYXJDb2RlQXQobyksbD09PTkyKWY9IWY7ZWxzZSBpZihsPT09NDApYis9MTtlbHNlIGlmKGw9PT00MSYmKGItPTEsYj09PTApKWJyZWFrO28rPTF9YT1yLnNsaWNlKGgsbysxKSx5PVtcImJyYWNrZXRzXCIsYSxoLG9dLGg9b31lbHNlIG89ci5pbmRleE9mKFwiKVwiLGgrMSksYT1yLnNsaWNlKGgsbysxKSxvPT09LTF8fGpmLnRlc3QoYSk/eT1bXCIoXCIsXCIoXCIsaF06KHk9W1wiYnJhY2tldHNcIixhLGgsb10saD1vKTticmVha31jYXNlIDM5OmNhc2UgMzQ6e2Zvcih1PWksbz1oLGY9ITE7bzx4JiYobysrLG89PT14JiZ2KFwic3RyaW5nXCIpLGk9ci5jaGFyQ29kZUF0KG8pLGw9ci5jaGFyQ29kZUF0KG8rMSksISghZiYmaT09PXUpKTspaT09PTkyP2Y9IWY6Zj9mPSExOmk9PT0zNSYmbD09PTEyMyYmRigpO3k9W1wic3RyaW5nXCIsci5zbGljZShoLG8rMSksaCxvXSxoPW87YnJlYWt9Y2FzZSA2NDp7cnIubGFzdEluZGV4PWgrMSxyci50ZXN0KHIpLHJyLmxhc3RJbmRleD09PTA/bz1yLmxlbmd0aC0xOm89cnIubGFzdEluZGV4LTIseT1bXCJhdC13b3JkXCIsci5zbGljZShoLG8rMSksaCxvXSxoPW87YnJlYWt9Y2FzZSA5Mjp7Zm9yKG89aCxjPSEwO3IuY2hhckNvZGVBdChvKzEpPT09OTI7KW8rPTEsYz0hYztpZihpPXIuY2hhckNvZGVBdChvKzEpLGMmJmkhPT00NyYmaSE9PTMyJiZpIT09MTAmJmkhPT05JiZpIT09MTMmJmkhPT0xMiYmKG8rPTEsWm8udGVzdChyLmNoYXJBdChvKSkpKXtmb3IoO1pvLnRlc3Qoci5jaGFyQXQobysxKSk7KW8rPTE7ci5jaGFyQ29kZUF0KG8rMSk9PT0zMiYmKG8rPTEpfXk9W1wid29yZFwiLHIuc2xpY2UoaCxvKzEpLGgsb10saD1vO2JyZWFrfWRlZmF1bHQ6bD1yLmNoYXJDb2RlQXQoaCsxKSxpPT09MzUmJmw9PT0xMjM/KG89aCxGKCksYT1yLnNsaWNlKGgsbysxKSx5PVtcIndvcmRcIixhLGgsb10saD1vKTppPT09NDcmJmw9PT00Mj8obz1yLmluZGV4T2YoXCIqL1wiLGgrMikrMSxvPT09MCYmKG58fEM/bz1yLmxlbmd0aDp2KFwiY29tbWVudFwiKSkseT1bXCJjb21tZW50XCIsci5zbGljZShoLG8rMSksaCxvXSxoPW8pOmk9PT00NyYmbD09PTQ3Pyhuci5sYXN0SW5kZXg9aCsxLG5yLnRlc3QociksbnIubGFzdEluZGV4PT09MD9vPXIubGVuZ3RoLTE6bz1uci5sYXN0SW5kZXgtMixhPXIuc2xpY2UoaCxvKzEpLHk9W1wiY29tbWVudFwiLGEsaCxvLFwiaW5saW5lXCJdLGg9byk6KHNyLmxhc3RJbmRleD1oKzEsc3IudGVzdChyKSxzci5sYXN0SW5kZXg9PT0wP289ci5sZW5ndGgtMTpvPXNyLmxhc3RJbmRleC0yLHk9W1wid29yZFwiLHIuc2xpY2UoaCxvKzEpLGgsb10sZC5wdXNoKHkpLGg9byk7YnJlYWt9cmV0dXJuIGgrKyx5fWZ1bmN0aW9uIFcoVCl7bS5wdXNoKFQpfXJldHVybntiYWNrOlcsZW5kT2ZGaWxlOk4sbmV4dFRva2VuOkgscG9zaXRpb246d319fSk7dmFyIHNhPWcoKHV4LHJhKT0+e3ZhcntDb21tZW50OkhmfT10cigpLEtmPUp0KCksUWY9WG8oKSxKZj10YSgpLFRzPWNsYXNzIGV4dGVuZHMgS2Z7YXRydWxlKGUpe2xldCBzPWVbMV0scj1lO2Zvcig7IXRoaXMudG9rZW5pemVyLmVuZE9mRmlsZSgpOyl7bGV0IG49dGhpcy50b2tlbml6ZXIubmV4dFRva2VuKCk7aWYoblswXT09PVwid29yZFwiJiZuWzJdPT09clszXSsxKXMrPW5bMV0scj1uO2Vsc2V7dGhpcy50b2tlbml6ZXIuYmFjayhuKTticmVha319c3VwZXIuYXRydWxlKFtcImF0LXdvcmRcIixzLGVbMl0sclszXV0pfWNvbW1lbnQoZSl7aWYoZVs0XT09PVwiaW5saW5lXCIpe2xldCBzPW5ldyBIZjt0aGlzLmluaXQocyxlWzJdKSxzLnJhd3MuaW5saW5lPSEwO2xldCByPXRoaXMuaW5wdXQuZnJvbU9mZnNldChlWzNdKTtzLnNvdXJjZS5lbmQ9e2NvbHVtbjpyLmNvbCxsaW5lOnIubGluZSxvZmZzZXQ6ZVszXSsxfTtsZXQgbj1lWzFdLnNsaWNlKDIpO2lmKC9eXFxzKiQvLnRlc3Qobikpcy50ZXh0PVwiXCIscy5yYXdzLmxlZnQ9bixzLnJhd3MucmlnaHQ9XCJcIjtlbHNle2xldCBpPW4ubWF0Y2goL14oXFxzKikoW15dKlxcUykoXFxzKikkLyksbz1pWzJdLnJlcGxhY2UoLyhcXCpcXC98XFwvXFwqKS9nLFwiKi8vKlwiKTtzLnRleHQ9byxzLnJhd3MubGVmdD1pWzFdLHMucmF3cy5yaWdodD1pWzNdLHMucmF3cy50ZXh0PWlbMl19fWVsc2Ugc3VwZXIuY29tbWVudChlKX1jcmVhdGVUb2tlbml6ZXIoKXt0aGlzLnRva2VuaXplcj1KZih0aGlzLmlucHV0KX1yYXcoZSxzLHIsbil7aWYoc3VwZXIucmF3KGUscyxyLG4pLGUucmF3c1tzXSl7bGV0IGk9ZS5yYXdzW3NdLnJhdztlLnJhd3Nbc10ucmF3PXIucmVkdWNlKChvLHUpPT57aWYodVswXT09PVwiY29tbWVudFwiJiZ1WzRdPT09XCJpbmxpbmVcIil7bGV0IGE9dVsxXS5zbGljZSgyKS5yZXBsYWNlKC8oXFwqXFwvfFxcL1xcKikvZyxcIiovLypcIik7cmV0dXJuIG8rXCIvKlwiK2ErXCIqL1wifWVsc2UgcmV0dXJuIG8rdVsxXX0sXCJcIiksaSE9PWUucmF3c1tzXS5yYXcmJihlLnJhd3Nbc10uc2Nzcz1pKX19cnVsZShlKXtsZXQgcz0hMSxyPTAsbj1cIlwiO2ZvcihsZXQgaSBvZiBlKWlmKHMpaVswXSE9PVwiY29tbWVudFwiJiZpWzBdIT09XCJ7XCImJihuKz1pWzFdKTtlbHNle2lmKGlbMF09PT1cInNwYWNlXCImJmlbMV0uaW5jbHVkZXMoYFxuYCkpYnJlYWs7aVswXT09PVwiKFwiP3IrPTE6aVswXT09PVwiKVwiP3ItPTE6cj09PTAmJmlbMF09PT1cIjpcIiYmKHM9ITApfWlmKCFzfHxuLnRyaW0oKT09PVwiXCJ8fC9eWyM6QS1aYS16LV0vLnRlc3Qobikpc3VwZXIucnVsZShlKTtlbHNle2UucG9wKCk7bGV0IGk9bmV3IFFmO3RoaXMuaW5pdChpLGVbMF1bMl0pO2xldCBvO2ZvcihsZXQgYT1lLmxlbmd0aC0xO2E+PTA7YS0tKWlmKGVbYV1bMF0hPT1cInNwYWNlXCIpe289ZVthXTticmVha31pZihvWzNdKXtsZXQgYT10aGlzLmlucHV0LmZyb21PZmZzZXQob1szXSk7aS5zb3VyY2UuZW5kPXtjb2x1bW46YS5jb2wsbGluZTphLmxpbmUsb2Zmc2V0Om9bM10rMX19ZWxzZXtsZXQgYT10aGlzLmlucHV0LmZyb21PZmZzZXQob1syXSk7aS5zb3VyY2UuZW5kPXtjb2x1bW46YS5jb2wsbGluZTphLmxpbmUsb2Zmc2V0Om9bMl0rMX19Zm9yKDtlWzBdWzBdIT09XCJ3b3JkXCI7KWkucmF3cy5iZWZvcmUrPWUuc2hpZnQoKVsxXTtpZihlWzBdWzJdKXtsZXQgYT10aGlzLmlucHV0LmZyb21PZmZzZXQoZVswXVsyXSk7aS5zb3VyY2Uuc3RhcnQ9e2NvbHVtbjphLmNvbCxsaW5lOmEubGluZSxvZmZzZXQ6ZVswXVsyXX19Zm9yKGkucHJvcD1cIlwiO2UubGVuZ3RoOyl7bGV0IGE9ZVswXVswXTtpZihhPT09XCI6XCJ8fGE9PT1cInNwYWNlXCJ8fGE9PT1cImNvbW1lbnRcIilicmVhaztpLnByb3ArPWUuc2hpZnQoKVsxXX1pLnJhd3MuYmV0d2Vlbj1cIlwiO2xldCB1O2Zvcig7ZS5sZW5ndGg7KWlmKHU9ZS5zaGlmdCgpLHVbMF09PT1cIjpcIil7aS5yYXdzLmJldHdlZW4rPXVbMV07YnJlYWt9ZWxzZSBpLnJhd3MuYmV0d2Vlbis9dVsxXTsoaS5wcm9wWzBdPT09XCJfXCJ8fGkucHJvcFswXT09PVwiKlwiKSYmKGkucmF3cy5iZWZvcmUrPWkucHJvcFswXSxpLnByb3A9aS5wcm9wLnNsaWNlKDEpKSxpLnJhd3MuYmV0d2Vlbis9dGhpcy5zcGFjZXNBbmRDb21tZW50c0Zyb21TdGFydChlKSx0aGlzLnByZWNoZWNrTWlzc2VkU2VtaWNvbG9uKGUpO2ZvcihsZXQgYT1lLmxlbmd0aC0xO2E+MDthLS0pe2lmKHU9ZVthXSx1WzFdPT09XCIhaW1wb3J0YW50XCIpe2kuaW1wb3J0YW50PSEwO2xldCBjPXRoaXMuc3RyaW5nRnJvbShlLGEpO2M9dGhpcy5zcGFjZXNGcm9tRW5kKGUpK2MsYyE9PVwiICFpbXBvcnRhbnRcIiYmKGkucmF3cy5pbXBvcnRhbnQ9Yyk7YnJlYWt9ZWxzZSBpZih1WzFdPT09XCJpbXBvcnRhbnRcIil7bGV0IGM9ZS5zbGljZSgwKSxmPVwiXCI7Zm9yKGxldCBwPWE7cD4wO3AtLSl7bGV0IGw9Y1twXVswXTtpZihmLnRyaW0oKS5pbmRleE9mKFwiIVwiKT09PTAmJmwhPT1cInNwYWNlXCIpYnJlYWs7Zj1jLnBvcCgpWzFdK2Z9Zi50cmltKCkuaW5kZXhPZihcIiFcIik9PT0wJiYoaS5pbXBvcnRhbnQ9ITAsaS5yYXdzLmltcG9ydGFudD1mLGU9Yyl9aWYodVswXSE9PVwic3BhY2VcIiYmdVswXSE9PVwiY29tbWVudFwiKWJyZWFrfXRoaXMucmF3KGksXCJ2YWx1ZVwiLGUpLGkudmFsdWUuaW5jbHVkZXMoXCI6XCIpJiZ0aGlzLmNoZWNrTWlzc2VkU2VtaWNvbG9uKGUpLHRoaXMuY3VycmVudD1pfX19O3JhLmV4cG9ydHM9VHN9KTt2YXIgaWE9ZygobHgsbmEpPT57dmFye0lucHV0OlhmfT10cigpLFpmPXNhKCk7bmEuZXhwb3J0cz1mdW5jdGlvbihlLHMpe2xldCByPW5ldyBYZihlLHMpLG49bmV3IFpmKHIpO3JldHVybiBuLnBhcnNlKCksbi5yb290fX0pO3ZhciBPcz1nKENzPT57XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KENzLFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pO2Z1bmN0aW9uIHRwKHQpe3RoaXMuYWZ0ZXI9dC5hZnRlcix0aGlzLmJlZm9yZT10LmJlZm9yZSx0aGlzLnR5cGU9dC50eXBlLHRoaXMudmFsdWU9dC52YWx1ZSx0aGlzLnNvdXJjZUluZGV4PXQuc291cmNlSW5kZXh9Q3MuZGVmYXVsdD10cH0pO3ZhciBOcz1nKEFzPT57XCJ1c2Ugc3RyaWN0XCI7T2JqZWN0LmRlZmluZVByb3BlcnR5KEFzLFwiX19lc01vZHVsZVwiLHt2YWx1ZTohMH0pO3ZhciBycD1PcygpLGFhPXNwKHJwKTtmdW5jdGlvbiBzcCh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19ZnVuY3Rpb24ga3QodCl7dmFyIGU9dGhpczt0aGlzLmNvbnN0cnVjdG9yKHQpLHRoaXMubm9kZXM9dC5ub2Rlcyx0aGlzLmFmdGVyPT09dm9pZCAwJiYodGhpcy5hZnRlcj10aGlzLm5vZGVzLmxlbmd0aD4wP3RoaXMubm9kZXNbdGhpcy5ub2Rlcy5sZW5ndGgtMV0uYWZ0ZXI6XCJcIiksdGhpcy5iZWZvcmU9PT12b2lkIDAmJih0aGlzLmJlZm9yZT10aGlzLm5vZGVzLmxlbmd0aD4wP3RoaXMubm9kZXNbMF0uYmVmb3JlOlwiXCIpLHRoaXMuc291cmNlSW5kZXg9PT12b2lkIDAmJih0aGlzLnNvdXJjZUluZGV4PXRoaXMuYmVmb3JlLmxlbmd0aCksdGhpcy5ub2Rlcy5mb3JFYWNoKGZ1bmN0aW9uKHMpe3MucGFyZW50PWV9KX1rdC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShhYS5kZWZhdWx0LnByb3RvdHlwZSk7a3QuY29uc3RydWN0b3I9YWEuZGVmYXVsdDtrdC5wcm90b3R5cGUud2Fsaz1mdW5jdGlvbihlLHMpe2Zvcih2YXIgcj10eXBlb2YgZT09XCJzdHJpbmdcInx8ZSBpbnN0YW5jZW9mIFJlZ0V4cCxuPXI/czplLGk9dHlwZW9mIGU9PVwic3RyaW5nXCI/bmV3IFJlZ0V4cChlKTplLG89MDtvPHRoaXMubm9kZXMubGVuZ3RoO28rKyl7dmFyIHU9dGhpcy5ub2Rlc1tvXSxhPXI/aS50ZXN0KHUudHlwZSk6ITA7aWYoYSYmbiYmbih1LG8sdGhpcy5ub2Rlcyk9PT0hMXx8dS5ub2RlcyYmdS53YWxrKGUscyk9PT0hMSlyZXR1cm4hMX1yZXR1cm4hMH07a3QucHJvdG90eXBlLmVhY2g9ZnVuY3Rpb24oKXtmb3IodmFyIGU9YXJndW1lbnRzLmxlbmd0aDw9MHx8YXJndW1lbnRzWzBdPT09dm9pZCAwP2Z1bmN0aW9uKCl7fTphcmd1bWVudHNbMF0scz0wO3M8dGhpcy5ub2Rlcy5sZW5ndGg7cysrKXt2YXIgcj10aGlzLm5vZGVzW3NdO2lmKGUocixzLHRoaXMubm9kZXMpPT09ITEpcmV0dXJuITF9cmV0dXJuITB9O0FzLmRlZmF1bHQ9a3R9KTt2YXIgZmE9ZyhFdD0+e1widXNlIHN0cmljdFwiO09iamVjdC5kZWZpbmVQcm9wZXJ0eShFdCxcIl9fZXNNb2R1bGVcIix7dmFsdWU6ITB9KTtFdC5wYXJzZU1lZGlhRmVhdHVyZT1jYTtFdC5wYXJzZU1lZGlhUXVlcnk9UnM7RXQucGFyc2VNZWRpYUxpc3Q9b3A7dmFyIG5wPU9zKCksdWE9bGEobnApLGlwPU5zKCksUHM9bGEoaXApO2Z1bmN0aW9uIGxhKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX1mdW5jdGlvbiBjYSh0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPD0xfHxhcmd1bWVudHNbMV09PT12b2lkIDA/MDphcmd1bWVudHNbMV0scz1be21vZGU6XCJub3JtYWxcIixjaGFyYWN0ZXI6bnVsbH1dLHI9W10sbj0wLGk9XCJcIixvPW51bGwsdT1udWxsLGE9ZSxjPXQ7dFswXT09PVwiKFwiJiZ0W3QubGVuZ3RoLTFdPT09XCIpXCImJihjPXQuc3Vic3RyaW5nKDEsdC5sZW5ndGgtMSksYSsrKTtmb3IodmFyIGY9MDtmPGMubGVuZ3RoO2YrKyl7dmFyIHA9Y1tmXTtpZigocD09PVwiJ1wifHxwPT09J1wiJykmJihzW25dLmlzQ2FsY3VsYXRpb25FbmFibGVkPT09ITA/KHMucHVzaCh7bW9kZTpcInN0cmluZ1wiLGlzQ2FsY3VsYXRpb25FbmFibGVkOiExLGNoYXJhY3RlcjpwfSksbisrKTpzW25dLm1vZGU9PT1cInN0cmluZ1wiJiZzW25dLmNoYXJhY3Rlcj09PXAmJmNbZi0xXSE9PVwiXFxcXFwiJiYocy5wb3AoKSxuLS0pKSxwPT09XCJ7XCI/KHMucHVzaCh7bW9kZTpcImludGVycG9sYXRpb25cIixpc0NhbGN1bGF0aW9uRW5hYmxlZDohMH0pLG4rKyk6cD09PVwifVwiJiYocy5wb3AoKSxuLS0pLHNbbl0ubW9kZT09PVwibm9ybWFsXCImJnA9PT1cIjpcIil7dmFyIGw9Yy5zdWJzdHJpbmcoZisxKTt1PXt0eXBlOlwidmFsdWVcIixiZWZvcmU6L14oXFxzKikvLmV4ZWMobClbMV0sYWZ0ZXI6LyhcXHMqKSQvLmV4ZWMobClbMV0sdmFsdWU6bC50cmltKCl9LHUuc291cmNlSW5kZXg9dS5iZWZvcmUubGVuZ3RoK2YrMSthLG89e3R5cGU6XCJjb2xvblwiLHNvdXJjZUluZGV4OmYrYSxhZnRlcjp1LmJlZm9yZSx2YWx1ZTpcIjpcIn07YnJlYWt9aSs9cH1yZXR1cm4gaT17dHlwZTpcIm1lZGlhLWZlYXR1cmVcIixiZWZvcmU6L14oXFxzKikvLmV4ZWMoaSlbMV0sYWZ0ZXI6LyhcXHMqKSQvLmV4ZWMoaSlbMV0sdmFsdWU6aS50cmltKCl9LGkuc291cmNlSW5kZXg9aS5iZWZvcmUubGVuZ3RoK2Esci5wdXNoKGkpLG8hPT1udWxsJiYoby5iZWZvcmU9aS5hZnRlcixyLnB1c2gobykpLHUhPT1udWxsJiZyLnB1c2godSkscn1mdW5jdGlvbiBScyh0KXt2YXIgZT1hcmd1bWVudHMubGVuZ3RoPD0xfHxhcmd1bWVudHNbMV09PT12b2lkIDA/MDphcmd1bWVudHNbMV0scz1bXSxyPTAsbj0hMSxpPXZvaWQgMDtmdW5jdGlvbiBvKCl7cmV0dXJue2JlZm9yZTpcIlwiLGFmdGVyOlwiXCIsdmFsdWU6XCJcIn19aT1vKCk7Zm9yKHZhciB1PTA7dTx0Lmxlbmd0aDt1Kyspe3ZhciBhPXRbdV07bj8oaS52YWx1ZSs9YSwoYT09PVwie1wifHxhPT09XCIoXCIpJiZyKyssKGE9PT1cIilcInx8YT09PVwifVwiKSYmci0tKTphLnNlYXJjaCgvXFxzLykhPT0tMT9pLmJlZm9yZSs9YTooYT09PVwiKFwiJiYoaS50eXBlPVwibWVkaWEtZmVhdHVyZS1leHByZXNzaW9uXCIscisrKSxpLnZhbHVlPWEsaS5zb3VyY2VJbmRleD1lK3Usbj0hMCksbiYmcj09PTAmJihhPT09XCIpXCJ8fHU9PT10Lmxlbmd0aC0xfHx0W3UrMV0uc2VhcmNoKC9cXHMvKSE9PS0xKSYmKFtcIm5vdFwiLFwib25seVwiLFwiYW5kXCJdLmluZGV4T2YoaS52YWx1ZSkhPT0tMSYmKGkudHlwZT1cImtleXdvcmRcIiksaS50eXBlPT09XCJtZWRpYS1mZWF0dXJlLWV4cHJlc3Npb25cIiYmKGkubm9kZXM9Y2EoaS52YWx1ZSxpLnNvdXJjZUluZGV4KSkscy5wdXNoKEFycmF5LmlzQXJyYXkoaS5ub2Rlcyk/bmV3IFBzLmRlZmF1bHQoaSk6bmV3IHVhLmRlZmF1bHQoaSkpLGk9bygpLG49ITEpfWZvcih2YXIgYz0wO2M8cy5sZW5ndGg7YysrKWlmKGk9c1tjXSxjPjAmJihzW2MtMV0uYWZ0ZXI9aS5iZWZvcmUpLGkudHlwZT09PXZvaWQgMCl7aWYoYz4wKXtpZihzW2MtMV0udHlwZT09PVwibWVkaWEtZmVhdHVyZS1leHByZXNzaW9uXCIpe2kudHlwZT1cImtleXdvcmRcIjtjb250aW51ZX1pZihzW2MtMV0udmFsdWU9PT1cIm5vdFwifHxzW2MtMV0udmFsdWU9PT1cIm9ubHlcIil7aS50eXBlPVwibWVkaWEtdHlwZVwiO2NvbnRpbnVlfWlmKHNbYy0xXS52YWx1ZT09PVwiYW5kXCIpe2kudHlwZT1cIm1lZGlhLWZlYXR1cmUtZXhwcmVzc2lvblwiO2NvbnRpbnVlfXNbYy0xXS50eXBlPT09XCJtZWRpYS10eXBlXCImJihzW2MrMV0/aS50eXBlPXNbYysxXS50eXBlPT09XCJtZWRpYS1mZWF0dXJlLWV4cHJlc3Npb25cIj9cImtleXdvcmRcIjpcIm1lZGlhLWZlYXR1cmUtZXhwcmVzc2lvblwiOmkudHlwZT1cIm1lZGlhLWZlYXR1cmUtZXhwcmVzc2lvblwiKX1pZihjPT09MCl7aWYoIXNbYysxXSl7aS50eXBlPVwibWVkaWEtdHlwZVwiO2NvbnRpbnVlfWlmKHNbYysxXSYmKHNbYysxXS50eXBlPT09XCJtZWRpYS1mZWF0dXJlLWV4cHJlc3Npb25cInx8c1tjKzFdLnR5cGU9PT1cImtleXdvcmRcIikpe2kudHlwZT1cIm1lZGlhLXR5cGVcIjtjb250aW51ZX1pZihzW2MrMl0pe2lmKHNbYysyXS50eXBlPT09XCJtZWRpYS1mZWF0dXJlLWV4cHJlc3Npb25cIil7aS50eXBlPVwibWVkaWEtdHlwZVwiLHNbYysxXS50eXBlPVwia2V5d29yZFwiO2NvbnRpbnVlfWlmKHNbYysyXS50eXBlPT09XCJrZXl3b3JkXCIpe2kudHlwZT1cImtleXdvcmRcIixzW2MrMV0udHlwZT1cIm1lZGlhLXR5cGVcIjtjb250aW51ZX19aWYoc1tjKzNdJiZzW2MrM10udHlwZT09PVwibWVkaWEtZmVhdHVyZS1leHByZXNzaW9uXCIpe2kudHlwZT1cImtleXdvcmRcIixzW2MrMV0udHlwZT1cIm1lZGlhLXR5cGVcIixzW2MrMl0udHlwZT1cImtleXdvcmRcIjtjb250aW51ZX19fXJldHVybiBzfWZ1bmN0aW9uIG9wKHQpe3ZhciBlPVtdLHM9MCxyPTAsbj0vXihcXHMqKXVybFxccypcXCgvLmV4ZWModCk7aWYobiE9PW51bGwpe2Zvcih2YXIgaT1uWzBdLmxlbmd0aCxvPTE7bz4wOyl7dmFyIHU9dFtpXTt1PT09XCIoXCImJm8rKyx1PT09XCIpXCImJm8tLSxpKyt9ZS51bnNoaWZ0KG5ldyB1YS5kZWZhdWx0KHt0eXBlOlwidXJsXCIsdmFsdWU6dC5zdWJzdHJpbmcoMCxpKS50cmltKCksc291cmNlSW5kZXg6blsxXS5sZW5ndGgsYmVmb3JlOm5bMV0sYWZ0ZXI6L14oXFxzKikvLmV4ZWModC5zdWJzdHJpbmcoaSkpWzFdfSkpLHM9aX1mb3IodmFyIGE9czthPHQubGVuZ3RoO2ErKyl7dmFyIGM9dFthXTtpZihjPT09XCIoXCImJnIrKyxjPT09XCIpXCImJnItLSxyPT09MCYmYz09PVwiLFwiKXt2YXIgZj10LnN1YnN0cmluZyhzLGEpLHA9L14oXFxzKikvLmV4ZWMoZilbMV07ZS5wdXNoKG5ldyBQcy5kZWZhdWx0KHt0eXBlOlwibWVkaWEtcXVlcnlcIix2YWx1ZTpmLnRyaW0oKSxzb3VyY2VJbmRleDpzK3AubGVuZ3RoLG5vZGVzOlJzKGYscyksYmVmb3JlOnAsYWZ0ZXI6LyhcXHMqKSQvLmV4ZWMoZilbMV19KSkscz1hKzF9fXZhciBsPXQuc3Vic3RyaW5nKHMpLHk9L14oXFxzKikvLmV4ZWMobClbMV07cmV0dXJuIGUucHVzaChuZXcgUHMuZGVmYXVsdCh7dHlwZTpcIm1lZGlhLXF1ZXJ5XCIsdmFsdWU6bC50cmltKCksc291cmNlSW5kZXg6cyt5Lmxlbmd0aCxub2RlczpScyhsLHMpLGJlZm9yZTp5LGFmdGVyOi8oXFxzKikkLy5leGVjKGwpWzFdfSkpLGV9fSk7dmFyIHBhPWcoSXM9PntcInVzZSBzdHJpY3RcIjtPYmplY3QuZGVmaW5lUHJvcGVydHkoSXMsXCJfX2VzTW9kdWxlXCIse3ZhbHVlOiEwfSk7SXMuZGVmYXVsdD1mcDt2YXIgYXA9TnMoKSx1cD1jcChhcCksbHA9ZmEoKTtmdW5jdGlvbiBjcCh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19ZnVuY3Rpb24gZnAodCl7cmV0dXJuIG5ldyB1cC5kZWZhdWx0KHtub2RlczooMCxscC5wYXJzZU1lZGlhTGlzdCkodCksdHlwZTpcIm1lZGlhLXF1ZXJ5LWxpc3RcIix2YWx1ZTp0LnRyaW0oKX0pfX0pO3ZhciBMcz1nKCh3eCxtYSk9PnttYS5leHBvcnRzPWZ1bmN0aW9uKGUscyl7aWYocz10eXBlb2Ygcz09XCJudW1iZXJcIj9zOjEvMCwhcylyZXR1cm4gQXJyYXkuaXNBcnJheShlKT9lLm1hcChmdW5jdGlvbihuKXtyZXR1cm4gbn0pOmU7cmV0dXJuIHIoZSwxKTtmdW5jdGlvbiByKG4saSl7cmV0dXJuIG4ucmVkdWNlKGZ1bmN0aW9uKG8sdSl7cmV0dXJuIEFycmF5LmlzQXJyYXkodSkmJmk8cz9vLmNvbmNhdChyKHUsaSsxKSk6by5jb25jYXQodSl9LFtdKX19fSk7dmFyIERzPWcoKHZ4LHlhKT0+e3lhLmV4cG9ydHM9ZnVuY3Rpb24odCxlKXtmb3IodmFyIHM9LTEscj1bXTsocz10LmluZGV4T2YoZSxzKzEpKSE9PS0xOylyLnB1c2gocyk7cmV0dXJuIHJ9fSk7dmFyIEJzPWcoKHh4LGdhKT0+e1widXNlIHN0cmljdFwiO2Z1bmN0aW9uIGRwKHQsZSl7Zm9yKHZhciBzPTEscj10Lmxlbmd0aCxuPXRbMF0saT10WzBdLG89MTtvPHI7KytvKWlmKGk9bixuPXRbb10sZShuLGkpKXtpZihvPT09cyl7cysrO2NvbnRpbnVlfXRbcysrXT1ufXJldHVybiB0Lmxlbmd0aD1zLHR9ZnVuY3Rpb24gbXAodCl7Zm9yKHZhciBlPTEscz10Lmxlbmd0aCxyPXRbMF0sbj10WzBdLGk9MTtpPHM7KytpLG49cilpZihuPXIscj10W2ldLHIhPT1uKXtpZihpPT09ZSl7ZSsrO2NvbnRpbnVlfXRbZSsrXT1yfXJldHVybiB0Lmxlbmd0aD1lLHR9ZnVuY3Rpb24geXAodCxlLHMpe3JldHVybiB0Lmxlbmd0aD09PTA/dDplPyhzfHx0LnNvcnQoZSksZHAodCxlKSk6KHN8fHQuc29ydCgpLG1wKHQpKX1nYS5leHBvcnRzPXlwfSk7dmFyIHdlPWcoKGlyLHZhKT0+e1widXNlIHN0cmljdFwiO2lyLl9fZXNNb2R1bGU9ITA7dmFyIHdhPXR5cGVvZiBTeW1ib2w9PVwiZnVuY3Rpb25cIiYmdHlwZW9mIFN5bWJvbC5pdGVyYXRvcj09XCJzeW1ib2xcIj9mdW5jdGlvbih0KXtyZXR1cm4gdHlwZW9mIHR9OmZ1bmN0aW9uKHQpe3JldHVybiB0JiZ0eXBlb2YgU3ltYm9sPT1cImZ1bmN0aW9uXCImJnQuY29uc3RydWN0b3I9PT1TeW1ib2wmJnQhPT1TeW1ib2wucHJvdG90eXBlP1wic3ltYm9sXCI6dHlwZW9mIHR9O2Z1bmN0aW9uIGdwKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKX12YXIgd3A9ZnVuY3Rpb24gdChlLHMpe2lmKCh0eXBlb2YgZT5cInVcIj9cInVuZGVmaW5lZFwiOndhKGUpKSE9PVwib2JqZWN0XCIpcmV0dXJuIGU7dmFyIHI9bmV3IGUuY29uc3RydWN0b3I7Zm9yKHZhciBuIGluIGUpaWYoZS5oYXNPd25Qcm9wZXJ0eShuKSl7dmFyIGk9ZVtuXSxvPXR5cGVvZiBpPlwidVwiP1widW5kZWZpbmVkXCI6d2EoaSk7bj09PVwicGFyZW50XCImJm89PT1cIm9iamVjdFwiP3MmJihyW25dPXMpOmkgaW5zdGFuY2VvZiBBcnJheT9yW25dPWkubWFwKGZ1bmN0aW9uKHUpe3JldHVybiB0KHUscil9KTpyW25dPXQoaSxyKX1yZXR1cm4gcn0sdnA9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KCl7dmFyIGU9YXJndW1lbnRzLmxlbmd0aD4wJiZhcmd1bWVudHNbMF0hPT12b2lkIDA/YXJndW1lbnRzWzBdOnt9O2dwKHRoaXMsdCk7Zm9yKHZhciBzIGluIGUpdGhpc1tzXT1lW3NdO3ZhciByPWUuc3BhY2VzO3I9cj09PXZvaWQgMD97fTpyO3ZhciBuPXIuYmVmb3JlLGk9bj09PXZvaWQgMD9cIlwiOm4sbz1yLmFmdGVyLHU9bz09PXZvaWQgMD9cIlwiOm87dGhpcy5zcGFjZXM9e2JlZm9yZTppLGFmdGVyOnV9fXJldHVybiB0LnByb3RvdHlwZS5yZW1vdmU9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5wYXJlbnQmJnRoaXMucGFyZW50LnJlbW92ZUNoaWxkKHRoaXMpLHRoaXMucGFyZW50PXZvaWQgMCx0aGlzfSx0LnByb3RvdHlwZS5yZXBsYWNlV2l0aD1mdW5jdGlvbigpe2lmKHRoaXMucGFyZW50KXtmb3IodmFyIHMgaW4gYXJndW1lbnRzKXRoaXMucGFyZW50Lmluc2VydEJlZm9yZSh0aGlzLGFyZ3VtZW50c1tzXSk7dGhpcy5yZW1vdmUoKX1yZXR1cm4gdGhpc30sdC5wcm90b3R5cGUubmV4dD1mdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudC5hdCh0aGlzLnBhcmVudC5pbmRleCh0aGlzKSsxKX0sdC5wcm90b3R5cGUucHJldj1mdW5jdGlvbigpe3JldHVybiB0aGlzLnBhcmVudC5hdCh0aGlzLnBhcmVudC5pbmRleCh0aGlzKS0xKX0sdC5wcm90b3R5cGUuY2xvbmU9ZnVuY3Rpb24oKXt2YXIgcz1hcmd1bWVudHMubGVuZ3RoPjAmJmFyZ3VtZW50c1swXSE9PXZvaWQgMD9hcmd1bWVudHNbMF06e30scj13cCh0aGlzKTtmb3IodmFyIG4gaW4gcylyW25dPXNbbl07cmV0dXJuIHJ9LHQucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMuc3BhY2VzLmJlZm9yZSxTdHJpbmcodGhpcy52YWx1ZSksdGhpcy5zcGFjZXMuYWZ0ZXJdLmpvaW4oXCJcIil9LHR9KCk7aXIuZGVmYXVsdD12cDt2YS5leHBvcnRzPWlyLmRlZmF1bHR9KTt2YXIgRD1nKE09PntcInVzZSBzdHJpY3RcIjtNLl9fZXNNb2R1bGU9ITA7dmFyIGJ4PU0uVEFHPVwidGFnXCIsX3g9TS5TVFJJTkc9XCJzdHJpbmdcIixreD1NLlNFTEVDVE9SPVwic2VsZWN0b3JcIixFeD1NLlJPT1Q9XCJyb290XCIsU3g9TS5QU0VVRE89XCJwc2V1ZG9cIixUeD1NLk5FU1RJTkc9XCJuZXN0aW5nXCIsQ3g9TS5JRD1cImlkXCIsT3g9TS5DT01NRU5UPVwiY29tbWVudFwiLEF4PU0uQ09NQklOQVRPUj1cImNvbWJpbmF0b3JcIixOeD1NLkNMQVNTPVwiY2xhc3NcIixQeD1NLkFUVFJJQlVURT1cImF0dHJpYnV0ZVwiLFJ4PU0uVU5JVkVSU0FMPVwidW5pdmVyc2FsXCJ9KTt2YXIgYXI9Zygob3IseGEpPT57XCJ1c2Ugc3RyaWN0XCI7b3IuX19lc01vZHVsZT0hMDt2YXIgeHA9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUscyl7Zm9yKHZhciByPTA7cjxzLmxlbmd0aDtyKyspe3ZhciBuPXNbcl07bi5lbnVtZXJhYmxlPW4uZW51bWVyYWJsZXx8ITEsbi5jb25maWd1cmFibGU9ITAsXCJ2YWx1ZVwiaW4gbiYmKG4ud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4ua2V5LG4pfX1yZXR1cm4gZnVuY3Rpb24oZSxzLHIpe3JldHVybiBzJiZ0KGUucHJvdG90eXBlLHMpLHImJnQoZSxyKSxlfX0oKSxicD13ZSgpLF9wPVNwKGJwKSxrcD1EKCksWj1FcChrcCk7ZnVuY3Rpb24gRXAodCl7aWYodCYmdC5fX2VzTW9kdWxlKXJldHVybiB0O3ZhciBlPXt9O2lmKHQhPW51bGwpZm9yKHZhciBzIGluIHQpT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKHQscykmJihlW3NdPXRbc10pO3JldHVybiBlLmRlZmF1bHQ9dCxlfWZ1bmN0aW9uIFNwKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX1mdW5jdGlvbiBUcCh0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9ZnVuY3Rpb24gQ3AodCxlKXtpZighdCl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7cmV0dXJuIGUmJih0eXBlb2YgZT09XCJvYmplY3RcInx8dHlwZW9mIGU9PVwiZnVuY3Rpb25cIik/ZTp0fWZ1bmN0aW9uIE9wKHQsZSl7aWYodHlwZW9mIGUhPVwiZnVuY3Rpb25cIiYmZSE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIrdHlwZW9mIGUpO3QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pLGUmJihPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKHQsZSk6dC5fX3Byb3RvX189ZSl9dmFyIEFwPWZ1bmN0aW9uKHQpe09wKGUsdCk7ZnVuY3Rpb24gZShzKXtUcCh0aGlzLGUpO3ZhciByPUNwKHRoaXMsdC5jYWxsKHRoaXMscykpO3JldHVybiByLm5vZGVzfHwoci5ub2Rlcz1bXSkscn1yZXR1cm4gZS5wcm90b3R5cGUuYXBwZW5kPWZ1bmN0aW9uKHIpe3JldHVybiByLnBhcmVudD10aGlzLHRoaXMubm9kZXMucHVzaChyKSx0aGlzfSxlLnByb3RvdHlwZS5wcmVwZW5kPWZ1bmN0aW9uKHIpe3JldHVybiByLnBhcmVudD10aGlzLHRoaXMubm9kZXMudW5zaGlmdChyKSx0aGlzfSxlLnByb3RvdHlwZS5hdD1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5ub2Rlc1tyXX0sZS5wcm90b3R5cGUuaW5kZXg9ZnVuY3Rpb24ocil7cmV0dXJuIHR5cGVvZiByPT1cIm51bWJlclwiP3I6dGhpcy5ub2Rlcy5pbmRleE9mKHIpfSxlLnByb3RvdHlwZS5yZW1vdmVDaGlsZD1mdW5jdGlvbihyKXtyPXRoaXMuaW5kZXgociksdGhpcy5hdChyKS5wYXJlbnQ9dm9pZCAwLHRoaXMubm9kZXMuc3BsaWNlKHIsMSk7dmFyIG49dm9pZCAwO2Zvcih2YXIgaSBpbiB0aGlzLmluZGV4ZXMpbj10aGlzLmluZGV4ZXNbaV0sbj49ciYmKHRoaXMuaW5kZXhlc1tpXT1uLTEpO3JldHVybiB0aGlzfSxlLnByb3RvdHlwZS5yZW1vdmVBbGw9ZnVuY3Rpb24oKXtmb3IodmFyIGk9dGhpcy5ub2RlcyxyPUFycmF5LmlzQXJyYXkoaSksbj0wLGk9cj9pOmlbU3ltYm9sLml0ZXJhdG9yXSgpOzspe3ZhciBvO2lmKHIpe2lmKG4+PWkubGVuZ3RoKWJyZWFrO289aVtuKytdfWVsc2V7aWYobj1pLm5leHQoKSxuLmRvbmUpYnJlYWs7bz1uLnZhbHVlfXZhciB1PW87dS5wYXJlbnQ9dm9pZCAwfXJldHVybiB0aGlzLm5vZGVzPVtdLHRoaXN9LGUucHJvdG90eXBlLmVtcHR5PWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMucmVtb3ZlQWxsKCl9LGUucHJvdG90eXBlLmluc2VydEFmdGVyPWZ1bmN0aW9uKHIsbil7dmFyIGk9dGhpcy5pbmRleChyKTt0aGlzLm5vZGVzLnNwbGljZShpKzEsMCxuKTt2YXIgbz12b2lkIDA7Zm9yKHZhciB1IGluIHRoaXMuaW5kZXhlcylvPXRoaXMuaW5kZXhlc1t1XSxpPD1vJiYodGhpcy5pbmRleGVzW3VdPW8rdGhpcy5ub2Rlcy5sZW5ndGgpO3JldHVybiB0aGlzfSxlLnByb3RvdHlwZS5pbnNlcnRCZWZvcmU9ZnVuY3Rpb24ocixuKXt2YXIgaT10aGlzLmluZGV4KHIpO3RoaXMubm9kZXMuc3BsaWNlKGksMCxuKTt2YXIgbz12b2lkIDA7Zm9yKHZhciB1IGluIHRoaXMuaW5kZXhlcylvPXRoaXMuaW5kZXhlc1t1XSxpPD1vJiYodGhpcy5pbmRleGVzW3VdPW8rdGhpcy5ub2Rlcy5sZW5ndGgpO3JldHVybiB0aGlzfSxlLnByb3RvdHlwZS5lYWNoPWZ1bmN0aW9uKHIpe3RoaXMubGFzdEVhY2h8fCh0aGlzLmxhc3RFYWNoPTApLHRoaXMuaW5kZXhlc3x8KHRoaXMuaW5kZXhlcz17fSksdGhpcy5sYXN0RWFjaCsrO3ZhciBuPXRoaXMubGFzdEVhY2g7aWYodGhpcy5pbmRleGVzW25dPTAsISF0aGlzLmxlbmd0aCl7Zm9yKHZhciBpPXZvaWQgMCxvPXZvaWQgMDt0aGlzLmluZGV4ZXNbbl08dGhpcy5sZW5ndGgmJihpPXRoaXMuaW5kZXhlc1tuXSxvPXIodGhpcy5hdChpKSxpKSxvIT09ITEpOyl0aGlzLmluZGV4ZXNbbl0rPTE7aWYoZGVsZXRlIHRoaXMuaW5kZXhlc1tuXSxvPT09ITEpcmV0dXJuITF9fSxlLnByb3RvdHlwZS53YWxrPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLmVhY2goZnVuY3Rpb24obixpKXt2YXIgbz1yKG4saSk7aWYobyE9PSExJiZuLmxlbmd0aCYmKG89bi53YWxrKHIpKSxvPT09ITEpcmV0dXJuITF9KX0sZS5wcm90b3R5cGUud2Fsa0F0dHJpYnV0ZXM9ZnVuY3Rpb24ocil7dmFyIG49dGhpcztyZXR1cm4gdGhpcy53YWxrKGZ1bmN0aW9uKGkpe2lmKGkudHlwZT09PVouQVRUUklCVVRFKXJldHVybiByLmNhbGwobixpKX0pfSxlLnByb3RvdHlwZS53YWxrQ2xhc3Nlcz1mdW5jdGlvbihyKXt2YXIgbj10aGlzO3JldHVybiB0aGlzLndhbGsoZnVuY3Rpb24oaSl7aWYoaS50eXBlPT09Wi5DTEFTUylyZXR1cm4gci5jYWxsKG4saSl9KX0sZS5wcm90b3R5cGUud2Fsa0NvbWJpbmF0b3JzPWZ1bmN0aW9uKHIpe3ZhciBuPXRoaXM7cmV0dXJuIHRoaXMud2FsayhmdW5jdGlvbihpKXtpZihpLnR5cGU9PT1aLkNPTUJJTkFUT1IpcmV0dXJuIHIuY2FsbChuLGkpfSl9LGUucHJvdG90eXBlLndhbGtDb21tZW50cz1mdW5jdGlvbihyKXt2YXIgbj10aGlzO3JldHVybiB0aGlzLndhbGsoZnVuY3Rpb24oaSl7aWYoaS50eXBlPT09Wi5DT01NRU5UKXJldHVybiByLmNhbGwobixpKX0pfSxlLnByb3RvdHlwZS53YWxrSWRzPWZ1bmN0aW9uKHIpe3ZhciBuPXRoaXM7cmV0dXJuIHRoaXMud2FsayhmdW5jdGlvbihpKXtpZihpLnR5cGU9PT1aLklEKXJldHVybiByLmNhbGwobixpKX0pfSxlLnByb3RvdHlwZS53YWxrTmVzdGluZz1mdW5jdGlvbihyKXt2YXIgbj10aGlzO3JldHVybiB0aGlzLndhbGsoZnVuY3Rpb24oaSl7aWYoaS50eXBlPT09Wi5ORVNUSU5HKXJldHVybiByLmNhbGwobixpKX0pfSxlLnByb3RvdHlwZS53YWxrUHNldWRvcz1mdW5jdGlvbihyKXt2YXIgbj10aGlzO3JldHVybiB0aGlzLndhbGsoZnVuY3Rpb24oaSl7aWYoaS50eXBlPT09Wi5QU0VVRE8pcmV0dXJuIHIuY2FsbChuLGkpfSl9LGUucHJvdG90eXBlLndhbGtUYWdzPWZ1bmN0aW9uKHIpe3ZhciBuPXRoaXM7cmV0dXJuIHRoaXMud2FsayhmdW5jdGlvbihpKXtpZihpLnR5cGU9PT1aLlRBRylyZXR1cm4gci5jYWxsKG4saSl9KX0sZS5wcm90b3R5cGUud2Fsa1VuaXZlcnNhbHM9ZnVuY3Rpb24ocil7dmFyIG49dGhpcztyZXR1cm4gdGhpcy53YWxrKGZ1bmN0aW9uKGkpe2lmKGkudHlwZT09PVouVU5JVkVSU0FMKXJldHVybiByLmNhbGwobixpKX0pfSxlLnByb3RvdHlwZS5zcGxpdD1mdW5jdGlvbihyKXt2YXIgbj10aGlzLGk9W107cmV0dXJuIHRoaXMucmVkdWNlKGZ1bmN0aW9uKG8sdSxhKXt2YXIgYz1yLmNhbGwobix1KTtyZXR1cm4gaS5wdXNoKHUpLGM/KG8ucHVzaChpKSxpPVtdKTphPT09bi5sZW5ndGgtMSYmby5wdXNoKGkpLG99LFtdKX0sZS5wcm90b3R5cGUubWFwPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLm5vZGVzLm1hcChyKX0sZS5wcm90b3R5cGUucmVkdWNlPWZ1bmN0aW9uKHIsbil7cmV0dXJuIHRoaXMubm9kZXMucmVkdWNlKHIsbil9LGUucHJvdG90eXBlLmV2ZXJ5PWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLm5vZGVzLmV2ZXJ5KHIpfSxlLnByb3RvdHlwZS5zb21lPWZ1bmN0aW9uKHIpe3JldHVybiB0aGlzLm5vZGVzLnNvbWUocil9LGUucHJvdG90eXBlLmZpbHRlcj1mdW5jdGlvbihyKXtyZXR1cm4gdGhpcy5ub2Rlcy5maWx0ZXIocil9LGUucHJvdG90eXBlLnNvcnQ9ZnVuY3Rpb24ocil7cmV0dXJuIHRoaXMubm9kZXMuc29ydChyKX0sZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5tYXAoU3RyaW5nKS5qb2luKFwiXCIpfSx4cChlLFt7a2V5OlwiZmlyc3RcIixnZXQ6ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5hdCgwKX19LHtrZXk6XCJsYXN0XCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuYXQodGhpcy5sZW5ndGgtMSl9fSx7a2V5OlwibGVuZ3RoXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMubm9kZXMubGVuZ3RofX1dKSxlfShfcC5kZWZhdWx0KTtvci5kZWZhdWx0PUFwO3hhLmV4cG9ydHM9b3IuZGVmYXVsdH0pO3ZhciBfYT1nKCh1cixiYSk9PntcInVzZSBzdHJpY3RcIjt1ci5fX2VzTW9kdWxlPSEwO3ZhciBOcD1hcigpLFBwPUlwKE5wKSxScD1EKCk7ZnVuY3Rpb24gSXAodCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fWZ1bmN0aW9uIHFwKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKX1mdW5jdGlvbiBMcCh0LGUpe2lmKCF0KXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTtyZXR1cm4gZSYmKHR5cGVvZiBlPT1cIm9iamVjdFwifHx0eXBlb2YgZT09XCJmdW5jdGlvblwiKT9lOnR9ZnVuY3Rpb24gRHAodCxlKXtpZih0eXBlb2YgZSE9XCJmdW5jdGlvblwiJiZlIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIit0eXBlb2YgZSk7dC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOnQsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksZSYmKE9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YodCxlKTp0Ll9fcHJvdG9fXz1lKX12YXIgQnA9ZnVuY3Rpb24odCl7RHAoZSx0KTtmdW5jdGlvbiBlKHMpe3FwKHRoaXMsZSk7dmFyIHI9THAodGhpcyx0LmNhbGwodGhpcyxzKSk7cmV0dXJuIHIudHlwZT1ScC5ST09ULHJ9cmV0dXJuIGUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7dmFyIHI9dGhpcy5yZWR1Y2UoZnVuY3Rpb24obixpKXt2YXIgbz1TdHJpbmcoaSk7cmV0dXJuIG8/bitvK1wiLFwiOlwiXCJ9LFwiXCIpLnNsaWNlKDAsLTEpO3JldHVybiB0aGlzLnRyYWlsaW5nQ29tbWE/citcIixcIjpyfSxlfShQcC5kZWZhdWx0KTt1ci5kZWZhdWx0PUJwO2JhLmV4cG9ydHM9dXIuZGVmYXVsdH0pO3ZhciBFYT1nKChscixrYSk9PntcInVzZSBzdHJpY3RcIjtsci5fX2VzTW9kdWxlPSEwO3ZhciBNcD1hcigpLFVwPSRwKE1wKSxGcD1EKCk7ZnVuY3Rpb24gJHAodCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fWZ1bmN0aW9uIFdwKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKX1mdW5jdGlvbiBZcCh0LGUpe2lmKCF0KXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTtyZXR1cm4gZSYmKHR5cGVvZiBlPT1cIm9iamVjdFwifHx0eXBlb2YgZT09XCJmdW5jdGlvblwiKT9lOnR9ZnVuY3Rpb24genAodCxlKXtpZih0eXBlb2YgZSE9XCJmdW5jdGlvblwiJiZlIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIit0eXBlb2YgZSk7dC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOnQsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksZSYmKE9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YodCxlKTp0Ll9fcHJvdG9fXz1lKX12YXIgVnA9ZnVuY3Rpb24odCl7enAoZSx0KTtmdW5jdGlvbiBlKHMpe1dwKHRoaXMsZSk7dmFyIHI9WXAodGhpcyx0LmNhbGwodGhpcyxzKSk7cmV0dXJuIHIudHlwZT1GcC5TRUxFQ1RPUixyfXJldHVybiBlfShVcC5kZWZhdWx0KTtsci5kZWZhdWx0PVZwO2thLmV4cG9ydHM9bHIuZGVmYXVsdH0pO3ZhciBVZT1nKChjcixTYSk9PntcInVzZSBzdHJpY3RcIjtjci5fX2VzTW9kdWxlPSEwO3ZhciBHcD1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSxzKXtmb3IodmFyIHI9MDtyPHMubGVuZ3RoO3IrKyl7dmFyIG49c1tyXTtuLmVudW1lcmFibGU9bi5lbnVtZXJhYmxlfHwhMSxuLmNvbmZpZ3VyYWJsZT0hMCxcInZhbHVlXCJpbiBuJiYobi53cml0YWJsZT0hMCksT2JqZWN0LmRlZmluZVByb3BlcnR5KGUsbi5rZXksbil9fXJldHVybiBmdW5jdGlvbihlLHMscil7cmV0dXJuIHMmJnQoZS5wcm90b3R5cGUscyksciYmdChlLHIpLGV9fSgpLGpwPXdlKCksSHA9S3AoanApO2Z1bmN0aW9uIEtwKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX1mdW5jdGlvbiBRcCh0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9ZnVuY3Rpb24gSnAodCxlKXtpZighdCl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7cmV0dXJuIGUmJih0eXBlb2YgZT09XCJvYmplY3RcInx8dHlwZW9mIGU9PVwiZnVuY3Rpb25cIik/ZTp0fWZ1bmN0aW9uIFhwKHQsZSl7aWYodHlwZW9mIGUhPVwiZnVuY3Rpb25cIiYmZSE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIrdHlwZW9mIGUpO3QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pLGUmJihPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKHQsZSk6dC5fX3Byb3RvX189ZSl9dmFyIFpwPWZ1bmN0aW9uKHQpe1hwKGUsdCk7ZnVuY3Rpb24gZSgpe3JldHVybiBRcCh0aGlzLGUpLEpwKHRoaXMsdC5hcHBseSh0aGlzLGFyZ3VtZW50cykpfXJldHVybiBlLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3JldHVyblt0aGlzLnNwYWNlcy5iZWZvcmUsdGhpcy5ucyxTdHJpbmcodGhpcy52YWx1ZSksdGhpcy5zcGFjZXMuYWZ0ZXJdLmpvaW4oXCJcIil9LEdwKGUsW3trZXk6XCJuc1wiLGdldDpmdW5jdGlvbigpe3ZhciByPXRoaXMubmFtZXNwYWNlO3JldHVybiByPyh0eXBlb2Ygcj09XCJzdHJpbmdcIj9yOlwiXCIpK1wifFwiOlwiXCJ9fV0pLGV9KEhwLmRlZmF1bHQpO2NyLmRlZmF1bHQ9WnA7U2EuZXhwb3J0cz1jci5kZWZhdWx0fSk7dmFyIENhPWcoKGZyLFRhKT0+e1widXNlIHN0cmljdFwiO2ZyLl9fZXNNb2R1bGU9ITA7dmFyIGVoPVVlKCksdGg9c2goZWgpLHJoPUQoKTtmdW5jdGlvbiBzaCh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19ZnVuY3Rpb24gbmgodCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfWZ1bmN0aW9uIGloKHQsZSl7aWYoIXQpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpO3JldHVybiBlJiYodHlwZW9mIGU9PVwib2JqZWN0XCJ8fHR5cGVvZiBlPT1cImZ1bmN0aW9uXCIpP2U6dH1mdW5jdGlvbiBvaCh0LGUpe2lmKHR5cGVvZiBlIT1cImZ1bmN0aW9uXCImJmUhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiK3R5cGVvZiBlKTt0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSxlJiYoT2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZih0LGUpOnQuX19wcm90b19fPWUpfXZhciBhaD1mdW5jdGlvbih0KXtvaChlLHQpO2Z1bmN0aW9uIGUocyl7bmgodGhpcyxlKTt2YXIgcj1paCh0aGlzLHQuY2FsbCh0aGlzLHMpKTtyZXR1cm4gci50eXBlPXJoLkNMQVNTLHJ9cmV0dXJuIGUucHJvdG90eXBlLnRvU3RyaW5nPWZ1bmN0aW9uKCl7cmV0dXJuW3RoaXMuc3BhY2VzLmJlZm9yZSx0aGlzLm5zLFwiLlwiK3RoaXMudmFsdWUsdGhpcy5zcGFjZXMuYWZ0ZXJdLmpvaW4oXCJcIil9LGV9KHRoLmRlZmF1bHQpO2ZyLmRlZmF1bHQ9YWg7VGEuZXhwb3J0cz1mci5kZWZhdWx0fSk7dmFyIEFhPWcoKHByLE9hKT0+e1widXNlIHN0cmljdFwiO3ByLl9fZXNNb2R1bGU9ITA7dmFyIHVoPXdlKCksbGg9ZmgodWgpLGNoPUQoKTtmdW5jdGlvbiBmaCh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19ZnVuY3Rpb24gcGgodCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfWZ1bmN0aW9uIGhoKHQsZSl7aWYoIXQpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpO3JldHVybiBlJiYodHlwZW9mIGU9PVwib2JqZWN0XCJ8fHR5cGVvZiBlPT1cImZ1bmN0aW9uXCIpP2U6dH1mdW5jdGlvbiBkaCh0LGUpe2lmKHR5cGVvZiBlIT1cImZ1bmN0aW9uXCImJmUhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiK3R5cGVvZiBlKTt0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSxlJiYoT2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZih0LGUpOnQuX19wcm90b19fPWUpfXZhciBtaD1mdW5jdGlvbih0KXtkaChlLHQpO2Z1bmN0aW9uIGUocyl7cGgodGhpcyxlKTt2YXIgcj1oaCh0aGlzLHQuY2FsbCh0aGlzLHMpKTtyZXR1cm4gci50eXBlPWNoLkNPTU1FTlQscn1yZXR1cm4gZX0obGguZGVmYXVsdCk7cHIuZGVmYXVsdD1taDtPYS5leHBvcnRzPXByLmRlZmF1bHR9KTt2YXIgUGE9ZygoaHIsTmEpPT57XCJ1c2Ugc3RyaWN0XCI7aHIuX19lc01vZHVsZT0hMDt2YXIgeWg9VWUoKSxnaD12aCh5aCksd2g9RCgpO2Z1bmN0aW9uIHZoKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX1mdW5jdGlvbiB4aCh0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9ZnVuY3Rpb24gYmgodCxlKXtpZighdCl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7cmV0dXJuIGUmJih0eXBlb2YgZT09XCJvYmplY3RcInx8dHlwZW9mIGU9PVwiZnVuY3Rpb25cIik/ZTp0fWZ1bmN0aW9uIF9oKHQsZSl7aWYodHlwZW9mIGUhPVwiZnVuY3Rpb25cIiYmZSE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIrdHlwZW9mIGUpO3QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pLGUmJihPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKHQsZSk6dC5fX3Byb3RvX189ZSl9dmFyIGtoPWZ1bmN0aW9uKHQpe19oKGUsdCk7ZnVuY3Rpb24gZShzKXt4aCh0aGlzLGUpO3ZhciByPWJoKHRoaXMsdC5jYWxsKHRoaXMscykpO3JldHVybiByLnR5cGU9d2guSUQscn1yZXR1cm4gZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXtyZXR1cm5bdGhpcy5zcGFjZXMuYmVmb3JlLHRoaXMubnMsXCIjXCIrdGhpcy52YWx1ZSx0aGlzLnNwYWNlcy5hZnRlcl0uam9pbihcIlwiKX0sZX0oZ2guZGVmYXVsdCk7aHIuZGVmYXVsdD1raDtOYS5leHBvcnRzPWhyLmRlZmF1bHR9KTt2YXIgSWE9ZygoZHIsUmEpPT57XCJ1c2Ugc3RyaWN0XCI7ZHIuX19lc01vZHVsZT0hMDt2YXIgRWg9VWUoKSxTaD1DaChFaCksVGg9RCgpO2Z1bmN0aW9uIENoKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX1mdW5jdGlvbiBPaCh0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9ZnVuY3Rpb24gQWgodCxlKXtpZighdCl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7cmV0dXJuIGUmJih0eXBlb2YgZT09XCJvYmplY3RcInx8dHlwZW9mIGU9PVwiZnVuY3Rpb25cIik/ZTp0fWZ1bmN0aW9uIE5oKHQsZSl7aWYodHlwZW9mIGUhPVwiZnVuY3Rpb25cIiYmZSE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIrdHlwZW9mIGUpO3QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pLGUmJihPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKHQsZSk6dC5fX3Byb3RvX189ZSl9dmFyIFBoPWZ1bmN0aW9uKHQpe05oKGUsdCk7ZnVuY3Rpb24gZShzKXtPaCh0aGlzLGUpO3ZhciByPUFoKHRoaXMsdC5jYWxsKHRoaXMscykpO3JldHVybiByLnR5cGU9VGguVEFHLHJ9cmV0dXJuIGV9KFNoLmRlZmF1bHQpO2RyLmRlZmF1bHQ9UGg7UmEuZXhwb3J0cz1kci5kZWZhdWx0fSk7dmFyIExhPWcoKG1yLHFhKT0+e1widXNlIHN0cmljdFwiO21yLl9fZXNNb2R1bGU9ITA7dmFyIFJoPXdlKCksSWg9TGgoUmgpLHFoPUQoKTtmdW5jdGlvbiBMaCh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19ZnVuY3Rpb24gRGgodCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfWZ1bmN0aW9uIEJoKHQsZSl7aWYoIXQpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpO3JldHVybiBlJiYodHlwZW9mIGU9PVwib2JqZWN0XCJ8fHR5cGVvZiBlPT1cImZ1bmN0aW9uXCIpP2U6dH1mdW5jdGlvbiBNaCh0LGUpe2lmKHR5cGVvZiBlIT1cImZ1bmN0aW9uXCImJmUhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiK3R5cGVvZiBlKTt0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSxlJiYoT2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZih0LGUpOnQuX19wcm90b19fPWUpfXZhciBVaD1mdW5jdGlvbih0KXtNaChlLHQpO2Z1bmN0aW9uIGUocyl7RGgodGhpcyxlKTt2YXIgcj1CaCh0aGlzLHQuY2FsbCh0aGlzLHMpKTtyZXR1cm4gci50eXBlPXFoLlNUUklORyxyfXJldHVybiBlfShJaC5kZWZhdWx0KTttci5kZWZhdWx0PVVoO3FhLmV4cG9ydHM9bXIuZGVmYXVsdH0pO3ZhciBCYT1nKCh5cixEYSk9PntcInVzZSBzdHJpY3RcIjt5ci5fX2VzTW9kdWxlPSEwO3ZhciBGaD1hcigpLCRoPVloKEZoKSxXaD1EKCk7ZnVuY3Rpb24gWWgodCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fWZ1bmN0aW9uIHpoKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKX1mdW5jdGlvbiBWaCh0LGUpe2lmKCF0KXRocm93IG5ldyBSZWZlcmVuY2VFcnJvcihcInRoaXMgaGFzbid0IGJlZW4gaW5pdGlhbGlzZWQgLSBzdXBlcigpIGhhc24ndCBiZWVuIGNhbGxlZFwiKTtyZXR1cm4gZSYmKHR5cGVvZiBlPT1cIm9iamVjdFwifHx0eXBlb2YgZT09XCJmdW5jdGlvblwiKT9lOnR9ZnVuY3Rpb24gR2godCxlKXtpZih0eXBlb2YgZSE9XCJmdW5jdGlvblwiJiZlIT09bnVsbCl0aHJvdyBuZXcgVHlwZUVycm9yKFwiU3VwZXIgZXhwcmVzc2lvbiBtdXN0IGVpdGhlciBiZSBudWxsIG9yIGEgZnVuY3Rpb24sIG5vdCBcIit0eXBlb2YgZSk7dC5wcm90b3R5cGU9T2JqZWN0LmNyZWF0ZShlJiZlLnByb3RvdHlwZSx7Y29uc3RydWN0b3I6e3ZhbHVlOnQsZW51bWVyYWJsZTohMSx3cml0YWJsZTohMCxjb25maWd1cmFibGU6ITB9fSksZSYmKE9iamVjdC5zZXRQcm90b3R5cGVPZj9PYmplY3Quc2V0UHJvdG90eXBlT2YodCxlKTp0Ll9fcHJvdG9fXz1lKX12YXIgamg9ZnVuY3Rpb24odCl7R2goZSx0KTtmdW5jdGlvbiBlKHMpe3poKHRoaXMsZSk7dmFyIHI9VmgodGhpcyx0LmNhbGwodGhpcyxzKSk7cmV0dXJuIHIudHlwZT1XaC5QU0VVRE8scn1yZXR1cm4gZS5wcm90b3R5cGUudG9TdHJpbmc9ZnVuY3Rpb24oKXt2YXIgcj10aGlzLmxlbmd0aD9cIihcIit0aGlzLm1hcChTdHJpbmcpLmpvaW4oXCIsXCIpK1wiKVwiOlwiXCI7cmV0dXJuW3RoaXMuc3BhY2VzLmJlZm9yZSxTdHJpbmcodGhpcy52YWx1ZSkscix0aGlzLnNwYWNlcy5hZnRlcl0uam9pbihcIlwiKX0sZX0oJGguZGVmYXVsdCk7eXIuZGVmYXVsdD1qaDtEYS5leHBvcnRzPXlyLmRlZmF1bHR9KTt2YXIgVWE9ZygoZ3IsTWEpPT57XCJ1c2Ugc3RyaWN0XCI7Z3IuX19lc01vZHVsZT0hMDt2YXIgSGg9VWUoKSxLaD1KaChIaCksUWg9RCgpO2Z1bmN0aW9uIEpoKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX1mdW5jdGlvbiBYaCh0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9ZnVuY3Rpb24gWmgodCxlKXtpZighdCl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7cmV0dXJuIGUmJih0eXBlb2YgZT09XCJvYmplY3RcInx8dHlwZW9mIGU9PVwiZnVuY3Rpb25cIik/ZTp0fWZ1bmN0aW9uIGVkKHQsZSl7aWYodHlwZW9mIGUhPVwiZnVuY3Rpb25cIiYmZSE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIrdHlwZW9mIGUpO3QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pLGUmJihPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKHQsZSk6dC5fX3Byb3RvX189ZSl9dmFyIHRkPWZ1bmN0aW9uKHQpe2VkKGUsdCk7ZnVuY3Rpb24gZShzKXtYaCh0aGlzLGUpO3ZhciByPVpoKHRoaXMsdC5jYWxsKHRoaXMscykpO3JldHVybiByLnR5cGU9UWguQVRUUklCVVRFLHIucmF3cz17fSxyfXJldHVybiBlLnByb3RvdHlwZS50b1N0cmluZz1mdW5jdGlvbigpe3ZhciByPVt0aGlzLnNwYWNlcy5iZWZvcmUsXCJbXCIsdGhpcy5ucyx0aGlzLmF0dHJpYnV0ZV07cmV0dXJuIHRoaXMub3BlcmF0b3ImJnIucHVzaCh0aGlzLm9wZXJhdG9yKSx0aGlzLnZhbHVlJiZyLnB1c2godGhpcy52YWx1ZSksdGhpcy5yYXdzLmluc2Vuc2l0aXZlP3IucHVzaCh0aGlzLnJhd3MuaW5zZW5zaXRpdmUpOnRoaXMuaW5zZW5zaXRpdmUmJnIucHVzaChcIiBpXCIpLHIucHVzaChcIl1cIiksci5jb25jYXQodGhpcy5zcGFjZXMuYWZ0ZXIpLmpvaW4oXCJcIil9LGV9KEtoLmRlZmF1bHQpO2dyLmRlZmF1bHQ9dGQ7TWEuZXhwb3J0cz1nci5kZWZhdWx0fSk7dmFyICRhPWcoKHdyLEZhKT0+e1widXNlIHN0cmljdFwiO3dyLl9fZXNNb2R1bGU9ITA7dmFyIHJkPVVlKCksc2Q9aWQocmQpLG5kPUQoKTtmdW5jdGlvbiBpZCh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19ZnVuY3Rpb24gb2QodCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfWZ1bmN0aW9uIGFkKHQsZSl7aWYoIXQpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpO3JldHVybiBlJiYodHlwZW9mIGU9PVwib2JqZWN0XCJ8fHR5cGVvZiBlPT1cImZ1bmN0aW9uXCIpP2U6dH1mdW5jdGlvbiB1ZCh0LGUpe2lmKHR5cGVvZiBlIT1cImZ1bmN0aW9uXCImJmUhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiK3R5cGVvZiBlKTt0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSxlJiYoT2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZih0LGUpOnQuX19wcm90b19fPWUpfXZhciBsZD1mdW5jdGlvbih0KXt1ZChlLHQpO2Z1bmN0aW9uIGUocyl7b2QodGhpcyxlKTt2YXIgcj1hZCh0aGlzLHQuY2FsbCh0aGlzLHMpKTtyZXR1cm4gci50eXBlPW5kLlVOSVZFUlNBTCxyLnZhbHVlPVwiKlwiLHJ9cmV0dXJuIGV9KHNkLmRlZmF1bHQpO3dyLmRlZmF1bHQ9bGQ7RmEuZXhwb3J0cz13ci5kZWZhdWx0fSk7dmFyIFlhPWcoKHZyLFdhKT0+e1widXNlIHN0cmljdFwiO3ZyLl9fZXNNb2R1bGU9ITA7dmFyIGNkPXdlKCksZmQ9aGQoY2QpLHBkPUQoKTtmdW5jdGlvbiBoZCh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19ZnVuY3Rpb24gZGQodCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfWZ1bmN0aW9uIG1kKHQsZSl7aWYoIXQpdGhyb3cgbmV3IFJlZmVyZW5jZUVycm9yKFwidGhpcyBoYXNuJ3QgYmVlbiBpbml0aWFsaXNlZCAtIHN1cGVyKCkgaGFzbid0IGJlZW4gY2FsbGVkXCIpO3JldHVybiBlJiYodHlwZW9mIGU9PVwib2JqZWN0XCJ8fHR5cGVvZiBlPT1cImZ1bmN0aW9uXCIpP2U6dH1mdW5jdGlvbiB5ZCh0LGUpe2lmKHR5cGVvZiBlIT1cImZ1bmN0aW9uXCImJmUhPT1udWxsKXRocm93IG5ldyBUeXBlRXJyb3IoXCJTdXBlciBleHByZXNzaW9uIG11c3QgZWl0aGVyIGJlIG51bGwgb3IgYSBmdW5jdGlvbiwgbm90IFwiK3R5cGVvZiBlKTt0LnByb3RvdHlwZT1PYmplY3QuY3JlYXRlKGUmJmUucHJvdG90eXBlLHtjb25zdHJ1Y3Rvcjp7dmFsdWU6dCxlbnVtZXJhYmxlOiExLHdyaXRhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH19KSxlJiYoT2JqZWN0LnNldFByb3RvdHlwZU9mP09iamVjdC5zZXRQcm90b3R5cGVPZih0LGUpOnQuX19wcm90b19fPWUpfXZhciBnZD1mdW5jdGlvbih0KXt5ZChlLHQpO2Z1bmN0aW9uIGUocyl7ZGQodGhpcyxlKTt2YXIgcj1tZCh0aGlzLHQuY2FsbCh0aGlzLHMpKTtyZXR1cm4gci50eXBlPXBkLkNPTUJJTkFUT1Iscn1yZXR1cm4gZX0oZmQuZGVmYXVsdCk7dnIuZGVmYXVsdD1nZDtXYS5leHBvcnRzPXZyLmRlZmF1bHR9KTt2YXIgVmE9ZygoeHIsemEpPT57XCJ1c2Ugc3RyaWN0XCI7eHIuX19lc01vZHVsZT0hMDt2YXIgd2Q9d2UoKSx2ZD1iZCh3ZCkseGQ9RCgpO2Z1bmN0aW9uIGJkKHQpe3JldHVybiB0JiZ0Ll9fZXNNb2R1bGU/dDp7ZGVmYXVsdDp0fX1mdW5jdGlvbiBfZCh0LGUpe2lmKCEodCBpbnN0YW5jZW9mIGUpKXRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgY2FsbCBhIGNsYXNzIGFzIGEgZnVuY3Rpb25cIil9ZnVuY3Rpb24ga2QodCxlKXtpZighdCl0aHJvdyBuZXcgUmVmZXJlbmNlRXJyb3IoXCJ0aGlzIGhhc24ndCBiZWVuIGluaXRpYWxpc2VkIC0gc3VwZXIoKSBoYXNuJ3QgYmVlbiBjYWxsZWRcIik7cmV0dXJuIGUmJih0eXBlb2YgZT09XCJvYmplY3RcInx8dHlwZW9mIGU9PVwiZnVuY3Rpb25cIik/ZTp0fWZ1bmN0aW9uIEVkKHQsZSl7aWYodHlwZW9mIGUhPVwiZnVuY3Rpb25cIiYmZSE9PW51bGwpdGhyb3cgbmV3IFR5cGVFcnJvcihcIlN1cGVyIGV4cHJlc3Npb24gbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBhIGZ1bmN0aW9uLCBub3QgXCIrdHlwZW9mIGUpO3QucHJvdG90eXBlPU9iamVjdC5jcmVhdGUoZSYmZS5wcm90b3R5cGUse2NvbnN0cnVjdG9yOnt2YWx1ZTp0LGVudW1lcmFibGU6ITEsd3JpdGFibGU6ITAsY29uZmlndXJhYmxlOiEwfX0pLGUmJihPYmplY3Quc2V0UHJvdG90eXBlT2Y/T2JqZWN0LnNldFByb3RvdHlwZU9mKHQsZSk6dC5fX3Byb3RvX189ZSl9dmFyIFNkPWZ1bmN0aW9uKHQpe0VkKGUsdCk7ZnVuY3Rpb24gZShzKXtfZCh0aGlzLGUpO3ZhciByPWtkKHRoaXMsdC5jYWxsKHRoaXMscykpO3JldHVybiByLnR5cGU9eGQuTkVTVElORyxyLnZhbHVlPVwiJlwiLHJ9cmV0dXJuIGV9KHZkLmRlZmF1bHQpO3hyLmRlZmF1bHQ9U2Q7emEuZXhwb3J0cz14ci5kZWZhdWx0fSk7dmFyIGphPWcoKGJyLEdhKT0+e1widXNlIHN0cmljdFwiO2JyLl9fZXNNb2R1bGU9ITA7YnIuZGVmYXVsdD1UZDtmdW5jdGlvbiBUZCh0KXtyZXR1cm4gdC5zb3J0KGZ1bmN0aW9uKGUscyl7cmV0dXJuIGUtc30pfUdhLmV4cG9ydHM9YnIuZGVmYXVsdH0pO3ZhciBydT1nKChFcix0dSk9PntcInVzZSBzdHJpY3RcIjtFci5fX2VzTW9kdWxlPSEwO0VyLmRlZmF1bHQ9QmQ7dmFyIEhhPTM5LENkPTM0LE1zPTkyLEthPTQ3LFN0PTEwLFVzPTMyLEZzPTEyLCRzPTksV3M9MTMsUWE9NDMsSmE9NjIsWGE9MTI2LFphPTEyNCxPZD00NCxBZD00MCxOZD00MSxQZD05MSxSZD05MyxJZD01OSxldT00MixxZD01OCxMZD0zOCxEZD02NCxfcj0vWyBcXG5cXHRcXHJcXHtcXChcXCknXCJcXFxcOy9dL2csa3I9L1sgXFxuXFx0XFxyXFwoXFwpXFwqOjtAISYnXCJcXCtcXHx+PixcXFtcXF1cXFxcXXxcXC8oPz1cXCopL2c7ZnVuY3Rpb24gQmQodCl7Zm9yKHZhciBlPVtdLHM9dC5jc3MudmFsdWVPZigpLHI9dm9pZCAwLG49dm9pZCAwLGk9dm9pZCAwLG89dm9pZCAwLHU9dm9pZCAwLGE9dm9pZCAwLGM9dm9pZCAwLGY9dm9pZCAwLHA9dm9pZCAwLGw9dm9pZCAwLHk9dm9pZCAwLHg9cy5sZW5ndGgsaD0tMSxkPTEsbT0wLGI9ZnVuY3Rpb24odixOKXtpZih0LnNhZmUpcys9TixuPXMubGVuZ3RoLTE7ZWxzZSB0aHJvdyB0LmVycm9yKFwiVW5jbG9zZWQgXCIrdixkLG0taCxtKX07bTx4Oyl7c3dpdGNoKHI9cy5jaGFyQ29kZUF0KG0pLHI9PT1TdCYmKGg9bSxkKz0xKSxyKXtjYXNlIFN0OmNhc2UgVXM6Y2FzZSAkczpjYXNlIFdzOmNhc2UgRnM6bj1tO2RvIG4rPTEscj1zLmNoYXJDb2RlQXQobikscj09PVN0JiYoaD1uLGQrPTEpO3doaWxlKHI9PT1Vc3x8cj09PVN0fHxyPT09JHN8fHI9PT1Xc3x8cj09PUZzKTtlLnB1c2goW1wic3BhY2VcIixzLnNsaWNlKG0sbiksZCxtLWgsbV0pLG09bi0xO2JyZWFrO2Nhc2UgUWE6Y2FzZSBKYTpjYXNlIFhhOmNhc2UgWmE6bj1tO2RvIG4rPTEscj1zLmNoYXJDb2RlQXQobik7d2hpbGUocj09PVFhfHxyPT09SmF8fHI9PT1YYXx8cj09PVphKTtlLnB1c2goW1wiY29tYmluYXRvclwiLHMuc2xpY2UobSxuKSxkLG0taCxtXSksbT1uLTE7YnJlYWs7Y2FzZSBldTplLnB1c2goW1wiKlwiLFwiKlwiLGQsbS1oLG1dKTticmVhaztjYXNlIExkOmUucHVzaChbXCImXCIsXCImXCIsZCxtLWgsbV0pO2JyZWFrO2Nhc2UgT2Q6ZS5wdXNoKFtcIixcIixcIixcIixkLG0taCxtXSk7YnJlYWs7Y2FzZSBQZDplLnB1c2goW1wiW1wiLFwiW1wiLGQsbS1oLG1dKTticmVhaztjYXNlIFJkOmUucHVzaChbXCJdXCIsXCJdXCIsZCxtLWgsbV0pO2JyZWFrO2Nhc2UgcWQ6ZS5wdXNoKFtcIjpcIixcIjpcIixkLG0taCxtXSk7YnJlYWs7Y2FzZSBJZDplLnB1c2goW1wiO1wiLFwiO1wiLGQsbS1oLG1dKTticmVhaztjYXNlIEFkOmUucHVzaChbXCIoXCIsXCIoXCIsZCxtLWgsbV0pO2JyZWFrO2Nhc2UgTmQ6ZS5wdXNoKFtcIilcIixcIilcIixkLG0taCxtXSk7YnJlYWs7Y2FzZSBIYTpjYXNlIENkOmk9cj09PUhhP1wiJ1wiOidcIicsbj1tO2RvIGZvcihsPSExLG49cy5pbmRleE9mKGksbisxKSxuPT09LTEmJmIoXCJxdW90ZVwiLGkpLHk9bjtzLmNoYXJDb2RlQXQoeS0xKT09PU1zOyl5LT0xLGw9IWw7d2hpbGUobCk7ZS5wdXNoKFtcInN0cmluZ1wiLHMuc2xpY2UobSxuKzEpLGQsbS1oLGQsbi1oLG1dKSxtPW47YnJlYWs7Y2FzZSBEZDpfci5sYXN0SW5kZXg9bSsxLF9yLnRlc3QocyksX3IubGFzdEluZGV4PT09MD9uPXMubGVuZ3RoLTE6bj1fci5sYXN0SW5kZXgtMixlLnB1c2goW1wiYXQtd29yZFwiLHMuc2xpY2UobSxuKzEpLGQsbS1oLGQsbi1oLG1dKSxtPW47YnJlYWs7Y2FzZSBNczpmb3Iobj1tLGM9ITA7cy5jaGFyQ29kZUF0KG4rMSk9PT1Nczspbis9MSxjPSFjO3I9cy5jaGFyQ29kZUF0KG4rMSksYyYmciE9PUthJiZyIT09VXMmJnIhPT1TdCYmciE9PSRzJiZyIT09V3MmJnIhPT1GcyYmKG4rPTEpLGUucHVzaChbXCJ3b3JkXCIscy5zbGljZShtLG4rMSksZCxtLWgsZCxuLWgsbV0pLG09bjticmVhaztkZWZhdWx0OnI9PT1LYSYmcy5jaGFyQ29kZUF0KG0rMSk9PT1ldT8obj1zLmluZGV4T2YoXCIqL1wiLG0rMikrMSxuPT09MCYmYihcImNvbW1lbnRcIixcIiovXCIpLGE9cy5zbGljZShtLG4rMSksbz1hLnNwbGl0KGBcbmApLHU9by5sZW5ndGgtMSx1PjA/KGY9ZCt1LHA9bi1vW3VdLmxlbmd0aCk6KGY9ZCxwPWgpLGUucHVzaChbXCJjb21tZW50XCIsYSxkLG0taCxmLG4tcCxtXSksaD1wLGQ9ZixtPW4pOihrci5sYXN0SW5kZXg9bSsxLGtyLnRlc3Qocyksa3IubGFzdEluZGV4PT09MD9uPXMubGVuZ3RoLTE6bj1rci5sYXN0SW5kZXgtMixlLnB1c2goW1wid29yZFwiLHMuc2xpY2UobSxuKzEpLGQsbS1oLGQsbi1oLG1dKSxtPW4pO2JyZWFrfW0rK31yZXR1cm4gZX10dS5leHBvcnRzPUVyLmRlZmF1bHR9KTt2YXIgaXU9ZygoU3IsbnUpPT57XCJ1c2Ugc3RyaWN0XCI7U3IuX19lc01vZHVsZT0hMDt2YXIgTWQ9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUscyl7Zm9yKHZhciByPTA7cjxzLmxlbmd0aDtyKyspe3ZhciBuPXNbcl07bi5lbnVtZXJhYmxlPW4uZW51bWVyYWJsZXx8ITEsbi5jb25maWd1cmFibGU9ITAsXCJ2YWx1ZVwiaW4gbiYmKG4ud3JpdGFibGU9ITApLE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLG4ua2V5LG4pfX1yZXR1cm4gZnVuY3Rpb24oZSxzLHIpe3JldHVybiBzJiZ0KGUucHJvdG90eXBlLHMpLHImJnQoZSxyKSxlfX0oKSxVZD1McygpLEZkPUkoVWQpLCRkPURzKCksWXM9SSgkZCksV2Q9QnMoKSxZZD1JKFdkKSx6ZD1fYSgpLFZkPUkoemQpLEdkPUVhKCksenM9SShHZCksamQ9Q2EoKSxIZD1JKGpkKSxLZD1BYSgpLFFkPUkoS2QpLEpkPVBhKCksWGQ9SShKZCksWmQ9SWEoKSxlbT1JKFpkKSx0bT1MYSgpLHJtPUkodG0pLHNtPUJhKCksbm09SShzbSksaW09VWEoKSxvbT1JKGltKSxhbT0kYSgpLHVtPUkoYW0pLGxtPVlhKCksY209SShsbSksZm09VmEoKSxwbT1JKGZtKSxobT1qYSgpLGRtPUkoaG0pLG1tPXJ1KCksc3U9SShtbSkseW09RCgpLGdtPXdtKHltKTtmdW5jdGlvbiB3bSh0KXtpZih0JiZ0Ll9fZXNNb2R1bGUpcmV0dXJuIHQ7dmFyIGU9e307aWYodCE9bnVsbClmb3IodmFyIHMgaW4gdClPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwodCxzKSYmKGVbc109dFtzXSk7cmV0dXJuIGUuZGVmYXVsdD10LGV9ZnVuY3Rpb24gSSh0KXtyZXR1cm4gdCYmdC5fX2VzTW9kdWxlP3Q6e2RlZmF1bHQ6dH19ZnVuY3Rpb24gdm0odCxlKXtpZighKHQgaW5zdGFuY2VvZiBlKSl0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IGNhbGwgYSBjbGFzcyBhcyBhIGZ1bmN0aW9uXCIpfXZhciB4bT1mdW5jdGlvbigpe2Z1bmN0aW9uIHQoZSl7dm0odGhpcyx0KSx0aGlzLmlucHV0PWUsdGhpcy5sb3NzeT1lLm9wdGlvbnMubG9zc2xlc3M9PT0hMSx0aGlzLnBvc2l0aW9uPTAsdGhpcy5yb290PW5ldyBWZC5kZWZhdWx0O3ZhciBzPW5ldyB6cy5kZWZhdWx0O3JldHVybiB0aGlzLnJvb3QuYXBwZW5kKHMpLHRoaXMuY3VycmVudD1zLHRoaXMubG9zc3k/dGhpcy50b2tlbnM9KDAsc3UuZGVmYXVsdCkoe3NhZmU6ZS5zYWZlLGNzczplLmNzcy50cmltKCl9KTp0aGlzLnRva2Vucz0oMCxzdS5kZWZhdWx0KShlKSx0aGlzLmxvb3AoKX1yZXR1cm4gdC5wcm90b3R5cGUuYXR0cmlidXRlPWZ1bmN0aW9uKCl7dmFyIHM9XCJcIixyPXZvaWQgMCxuPXRoaXMuY3VyclRva2VuO2Zvcih0aGlzLnBvc2l0aW9uKys7dGhpcy5wb3NpdGlvbjx0aGlzLnRva2Vucy5sZW5ndGgmJnRoaXMuY3VyclRva2VuWzBdIT09XCJdXCI7KXMrPXRoaXMudG9rZW5zW3RoaXMucG9zaXRpb25dWzFdLHRoaXMucG9zaXRpb24rKzt0aGlzLnBvc2l0aW9uPT09dGhpcy50b2tlbnMubGVuZ3RoJiYhfnMuaW5kZXhPZihcIl1cIikmJnRoaXMuZXJyb3IoXCJFeHBlY3RlZCBhIGNsb3Npbmcgc3F1YXJlIGJyYWNrZXQuXCIpO3ZhciBpPXMuc3BsaXQoLygoPzpbKn5eJHxdPz0pKShbXl0qKS8pLG89aVswXS5zcGxpdCgvKFxcfCkvZyksdT17b3BlcmF0b3I6aVsxXSx2YWx1ZTppWzJdLHNvdXJjZTp7c3RhcnQ6e2xpbmU6blsyXSxjb2x1bW46blszXX0sZW5kOntsaW5lOnRoaXMuY3VyclRva2VuWzJdLGNvbHVtbjp0aGlzLmN1cnJUb2tlblszXX19LHNvdXJjZUluZGV4Om5bNF19O2lmKG8ubGVuZ3RoPjE/KG9bMF09PT1cIlwiJiYob1swXT0hMCksdS5hdHRyaWJ1dGU9dGhpcy5wYXJzZVZhbHVlKG9bMl0pLHUubmFtZXNwYWNlPXRoaXMucGFyc2VOYW1lc3BhY2Uob1swXSkpOnUuYXR0cmlidXRlPXRoaXMucGFyc2VWYWx1ZShpWzBdKSxyPW5ldyBvbS5kZWZhdWx0KHUpLGlbMl0pe3ZhciBhPWlbMl0uc3BsaXQoLyhcXHMraVxccyo/KSQvKSxjPWFbMF0udHJpbSgpO3IudmFsdWU9dGhpcy5sb3NzeT9jOmFbMF0sYVsxXSYmKHIuaW5zZW5zaXRpdmU9ITAsdGhpcy5sb3NzeXx8KHIucmF3cy5pbnNlbnNpdGl2ZT1hWzFdKSksci5xdW90ZWQ9Y1swXT09PVwiJ1wifHxjWzBdPT09J1wiJyxyLnJhd3MudW5xdW90ZWQ9ci5xdW90ZWQ/Yy5zbGljZSgxLC0xKTpjfXRoaXMubmV3Tm9kZShyKSx0aGlzLnBvc2l0aW9uKyt9LHQucHJvdG90eXBlLmNvbWJpbmF0b3I9ZnVuY3Rpb24oKXtpZih0aGlzLmN1cnJUb2tlblsxXT09PVwifFwiKXJldHVybiB0aGlzLm5hbWVzcGFjZSgpO2Zvcih2YXIgcz1uZXcgY20uZGVmYXVsdCh7dmFsdWU6XCJcIixzb3VyY2U6e3N0YXJ0OntsaW5lOnRoaXMuY3VyclRva2VuWzJdLGNvbHVtbjp0aGlzLmN1cnJUb2tlblszXX0sZW5kOntsaW5lOnRoaXMuY3VyclRva2VuWzJdLGNvbHVtbjp0aGlzLmN1cnJUb2tlblszXX19LHNvdXJjZUluZGV4OnRoaXMuY3VyclRva2VuWzRdfSk7dGhpcy5wb3NpdGlvbjx0aGlzLnRva2Vucy5sZW5ndGgmJnRoaXMuY3VyclRva2VuJiYodGhpcy5jdXJyVG9rZW5bMF09PT1cInNwYWNlXCJ8fHRoaXMuY3VyclRva2VuWzBdPT09XCJjb21iaW5hdG9yXCIpOyl0aGlzLm5leHRUb2tlbiYmdGhpcy5uZXh0VG9rZW5bMF09PT1cImNvbWJpbmF0b3JcIj8ocy5zcGFjZXMuYmVmb3JlPXRoaXMucGFyc2VTcGFjZSh0aGlzLmN1cnJUb2tlblsxXSkscy5zb3VyY2Uuc3RhcnQubGluZT10aGlzLm5leHRUb2tlblsyXSxzLnNvdXJjZS5zdGFydC5jb2x1bW49dGhpcy5uZXh0VG9rZW5bM10scy5zb3VyY2UuZW5kLmNvbHVtbj10aGlzLm5leHRUb2tlblszXSxzLnNvdXJjZS5lbmQubGluZT10aGlzLm5leHRUb2tlblsyXSxzLnNvdXJjZUluZGV4PXRoaXMubmV4dFRva2VuWzRdKTp0aGlzLnByZXZUb2tlbiYmdGhpcy5wcmV2VG9rZW5bMF09PT1cImNvbWJpbmF0b3JcIj9zLnNwYWNlcy5hZnRlcj10aGlzLnBhcnNlU3BhY2UodGhpcy5jdXJyVG9rZW5bMV0pOnRoaXMuY3VyclRva2VuWzBdPT09XCJjb21iaW5hdG9yXCI/cy52YWx1ZT10aGlzLmN1cnJUb2tlblsxXTp0aGlzLmN1cnJUb2tlblswXT09PVwic3BhY2VcIiYmKHMudmFsdWU9dGhpcy5wYXJzZVNwYWNlKHRoaXMuY3VyclRva2VuWzFdLFwiIFwiKSksdGhpcy5wb3NpdGlvbisrO3JldHVybiB0aGlzLm5ld05vZGUocyl9LHQucHJvdG90eXBlLmNvbW1hPWZ1bmN0aW9uKCl7aWYodGhpcy5wb3NpdGlvbj09PXRoaXMudG9rZW5zLmxlbmd0aC0xKXt0aGlzLnJvb3QudHJhaWxpbmdDb21tYT0hMCx0aGlzLnBvc2l0aW9uKys7cmV0dXJufXZhciBzPW5ldyB6cy5kZWZhdWx0O3RoaXMuY3VycmVudC5wYXJlbnQuYXBwZW5kKHMpLHRoaXMuY3VycmVudD1zLHRoaXMucG9zaXRpb24rK30sdC5wcm90b3R5cGUuY29tbWVudD1mdW5jdGlvbigpe3ZhciBzPW5ldyBRZC5kZWZhdWx0KHt2YWx1ZTp0aGlzLmN1cnJUb2tlblsxXSxzb3VyY2U6e3N0YXJ0OntsaW5lOnRoaXMuY3VyclRva2VuWzJdLGNvbHVtbjp0aGlzLmN1cnJUb2tlblszXX0sZW5kOntsaW5lOnRoaXMuY3VyclRva2VuWzRdLGNvbHVtbjp0aGlzLmN1cnJUb2tlbls1XX19LHNvdXJjZUluZGV4OnRoaXMuY3VyclRva2VuWzZdfSk7dGhpcy5uZXdOb2RlKHMpLHRoaXMucG9zaXRpb24rK30sdC5wcm90b3R5cGUuZXJyb3I9ZnVuY3Rpb24ocyl7dGhyb3cgbmV3IHRoaXMuaW5wdXQuZXJyb3Iocyl9LHQucHJvdG90eXBlLm1pc3NpbmdCYWNrc2xhc2g9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcnJvcihcIkV4cGVjdGVkIGEgYmFja3NsYXNoIHByZWNlZGluZyB0aGUgc2VtaWNvbG9uLlwiKX0sdC5wcm90b3R5cGUubWlzc2luZ1BhcmVudGhlc2lzPWZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMuZXJyb3IoXCJFeHBlY3RlZCBvcGVuaW5nIHBhcmVudGhlc2lzLlwiKX0sdC5wcm90b3R5cGUubWlzc2luZ1NxdWFyZUJyYWNrZXQ9ZnVuY3Rpb24oKXtyZXR1cm4gdGhpcy5lcnJvcihcIkV4cGVjdGVkIG9wZW5pbmcgc3F1YXJlIGJyYWNrZXQuXCIpfSx0LnByb3RvdHlwZS5uYW1lc3BhY2U9ZnVuY3Rpb24oKXt2YXIgcz10aGlzLnByZXZUb2tlbiYmdGhpcy5wcmV2VG9rZW5bMV18fCEwO2lmKHRoaXMubmV4dFRva2VuWzBdPT09XCJ3b3JkXCIpcmV0dXJuIHRoaXMucG9zaXRpb24rKyx0aGlzLndvcmQocyk7aWYodGhpcy5uZXh0VG9rZW5bMF09PT1cIipcIilyZXR1cm4gdGhpcy5wb3NpdGlvbisrLHRoaXMudW5pdmVyc2FsKHMpfSx0LnByb3RvdHlwZS5uZXN0aW5nPWZ1bmN0aW9uKCl7dGhpcy5uZXdOb2RlKG5ldyBwbS5kZWZhdWx0KHt2YWx1ZTp0aGlzLmN1cnJUb2tlblsxXSxzb3VyY2U6e3N0YXJ0OntsaW5lOnRoaXMuY3VyclRva2VuWzJdLGNvbHVtbjp0aGlzLmN1cnJUb2tlblszXX0sZW5kOntsaW5lOnRoaXMuY3VyclRva2VuWzJdLGNvbHVtbjp0aGlzLmN1cnJUb2tlblszXX19LHNvdXJjZUluZGV4OnRoaXMuY3VyclRva2VuWzRdfSkpLHRoaXMucG9zaXRpb24rK30sdC5wcm90b3R5cGUucGFyZW50aGVzZXM9ZnVuY3Rpb24oKXt2YXIgcz10aGlzLmN1cnJlbnQubGFzdDtpZihzJiZzLnR5cGU9PT1nbS5QU0VVRE8pe3ZhciByPW5ldyB6cy5kZWZhdWx0LG49dGhpcy5jdXJyZW50O3MuYXBwZW5kKHIpLHRoaXMuY3VycmVudD1yO3ZhciBpPTE7Zm9yKHRoaXMucG9zaXRpb24rKzt0aGlzLnBvc2l0aW9uPHRoaXMudG9rZW5zLmxlbmd0aCYmaTspdGhpcy5jdXJyVG9rZW5bMF09PT1cIihcIiYmaSsrLHRoaXMuY3VyclRva2VuWzBdPT09XCIpXCImJmktLSxpP3RoaXMucGFyc2UoKTooci5wYXJlbnQuc291cmNlLmVuZC5saW5lPXRoaXMuY3VyclRva2VuWzJdLHIucGFyZW50LnNvdXJjZS5lbmQuY29sdW1uPXRoaXMuY3VyclRva2VuWzNdLHRoaXMucG9zaXRpb24rKyk7aSYmdGhpcy5lcnJvcihcIkV4cGVjdGVkIGNsb3NpbmcgcGFyZW50aGVzaXMuXCIpLHRoaXMuY3VycmVudD1ufWVsc2V7dmFyIG89MTtmb3IodGhpcy5wb3NpdGlvbisrLHMudmFsdWUrPVwiKFwiO3RoaXMucG9zaXRpb248dGhpcy50b2tlbnMubGVuZ3RoJiZvOyl0aGlzLmN1cnJUb2tlblswXT09PVwiKFwiJiZvKyssdGhpcy5jdXJyVG9rZW5bMF09PT1cIilcIiYmby0tLHMudmFsdWUrPXRoaXMucGFyc2VQYXJlbnRoZXNpc1Rva2VuKHRoaXMuY3VyclRva2VuKSx0aGlzLnBvc2l0aW9uKys7byYmdGhpcy5lcnJvcihcIkV4cGVjdGVkIGNsb3NpbmcgcGFyZW50aGVzaXMuXCIpfX0sdC5wcm90b3R5cGUucHNldWRvPWZ1bmN0aW9uKCl7Zm9yKHZhciBzPXRoaXMscj1cIlwiLG49dGhpcy5jdXJyVG9rZW47dGhpcy5jdXJyVG9rZW4mJnRoaXMuY3VyclRva2VuWzBdPT09XCI6XCI7KXIrPXRoaXMuY3VyclRva2VuWzFdLHRoaXMucG9zaXRpb24rKztpZighdGhpcy5jdXJyVG9rZW4pcmV0dXJuIHRoaXMuZXJyb3IoXCJFeHBlY3RlZCBwc2V1ZG8tY2xhc3Mgb3IgcHNldWRvLWVsZW1lbnRcIik7aWYodGhpcy5jdXJyVG9rZW5bMF09PT1cIndvcmRcIil7dmFyIGk9dm9pZCAwO3RoaXMuc3BsaXRXb3JkKCExLGZ1bmN0aW9uKG8sdSl7cis9byxpPW5ldyBubS5kZWZhdWx0KHt2YWx1ZTpyLHNvdXJjZTp7c3RhcnQ6e2xpbmU6blsyXSxjb2x1bW46blszXX0sZW5kOntsaW5lOnMuY3VyclRva2VuWzRdLGNvbHVtbjpzLmN1cnJUb2tlbls1XX19LHNvdXJjZUluZGV4Om5bNF19KSxzLm5ld05vZGUoaSksdT4xJiZzLm5leHRUb2tlbiYmcy5uZXh0VG9rZW5bMF09PT1cIihcIiYmcy5lcnJvcihcIk1pc3BsYWNlZCBwYXJlbnRoZXNpcy5cIil9KX1lbHNlIHRoaXMuZXJyb3IoJ1VuZXhwZWN0ZWQgXCInK3RoaXMuY3VyclRva2VuWzBdKydcIiBmb3VuZC4nKX0sdC5wcm90b3R5cGUuc3BhY2U9ZnVuY3Rpb24oKXt2YXIgcz10aGlzLmN1cnJUb2tlbjt0aGlzLnBvc2l0aW9uPT09MHx8dGhpcy5wcmV2VG9rZW5bMF09PT1cIixcInx8dGhpcy5wcmV2VG9rZW5bMF09PT1cIihcIj8odGhpcy5zcGFjZXM9dGhpcy5wYXJzZVNwYWNlKHNbMV0pLHRoaXMucG9zaXRpb24rKyk6dGhpcy5wb3NpdGlvbj09PXRoaXMudG9rZW5zLmxlbmd0aC0xfHx0aGlzLm5leHRUb2tlblswXT09PVwiLFwifHx0aGlzLm5leHRUb2tlblswXT09PVwiKVwiPyh0aGlzLmN1cnJlbnQubGFzdC5zcGFjZXMuYWZ0ZXI9dGhpcy5wYXJzZVNwYWNlKHNbMV0pLHRoaXMucG9zaXRpb24rKyk6dGhpcy5jb21iaW5hdG9yKCl9LHQucHJvdG90eXBlLnN0cmluZz1mdW5jdGlvbigpe3ZhciBzPXRoaXMuY3VyclRva2VuO3RoaXMubmV3Tm9kZShuZXcgcm0uZGVmYXVsdCh7dmFsdWU6dGhpcy5jdXJyVG9rZW5bMV0sc291cmNlOntzdGFydDp7bGluZTpzWzJdLGNvbHVtbjpzWzNdfSxlbmQ6e2xpbmU6c1s0XSxjb2x1bW46c1s1XX19LHNvdXJjZUluZGV4OnNbNl19KSksdGhpcy5wb3NpdGlvbisrfSx0LnByb3RvdHlwZS51bml2ZXJzYWw9ZnVuY3Rpb24ocyl7dmFyIHI9dGhpcy5uZXh0VG9rZW47aWYociYmclsxXT09PVwifFwiKXJldHVybiB0aGlzLnBvc2l0aW9uKyssdGhpcy5uYW1lc3BhY2UoKTt0aGlzLm5ld05vZGUobmV3IHVtLmRlZmF1bHQoe3ZhbHVlOnRoaXMuY3VyclRva2VuWzFdLHNvdXJjZTp7c3RhcnQ6e2xpbmU6dGhpcy5jdXJyVG9rZW5bMl0sY29sdW1uOnRoaXMuY3VyclRva2VuWzNdfSxlbmQ6e2xpbmU6dGhpcy5jdXJyVG9rZW5bMl0sY29sdW1uOnRoaXMuY3VyclRva2VuWzNdfX0sc291cmNlSW5kZXg6dGhpcy5jdXJyVG9rZW5bNF19KSxzKSx0aGlzLnBvc2l0aW9uKyt9LHQucHJvdG90eXBlLnNwbGl0V29yZD1mdW5jdGlvbihzLHIpe2Zvcih2YXIgbj10aGlzLGk9dGhpcy5uZXh0VG9rZW4sbz10aGlzLmN1cnJUb2tlblsxXTtpJiZpWzBdPT09XCJ3b3JkXCI7KXt0aGlzLnBvc2l0aW9uKys7dmFyIHU9dGhpcy5jdXJyVG9rZW5bMV07aWYobys9dSx1Lmxhc3RJbmRleE9mKFwiXFxcXFwiKT09PXUubGVuZ3RoLTEpe3ZhciBhPXRoaXMubmV4dFRva2VuO2EmJmFbMF09PT1cInNwYWNlXCImJihvKz10aGlzLnBhcnNlU3BhY2UoYVsxXSxcIiBcIiksdGhpcy5wb3NpdGlvbisrKX1pPXRoaXMubmV4dFRva2VufXZhciBjPSgwLFlzLmRlZmF1bHQpKG8sXCIuXCIpLGY9KDAsWXMuZGVmYXVsdCkobyxcIiNcIikscD0oMCxZcy5kZWZhdWx0KShvLFwiI3tcIik7cC5sZW5ndGgmJihmPWYuZmlsdGVyKGZ1bmN0aW9uKHkpe3JldHVybiF+cC5pbmRleE9mKHkpfSkpO3ZhciBsPSgwLGRtLmRlZmF1bHQpKCgwLFlkLmRlZmF1bHQpKCgwLEZkLmRlZmF1bHQpKFtbMF0sYyxmXSkpKTtsLmZvckVhY2goZnVuY3Rpb24oeSx4KXt2YXIgaD1sW3grMV18fG8ubGVuZ3RoLGQ9by5zbGljZSh5LGgpO2lmKHg9PT0wJiZyKXJldHVybiByLmNhbGwobixkLGwubGVuZ3RoKTt2YXIgbT12b2lkIDA7fmMuaW5kZXhPZih5KT9tPW5ldyBIZC5kZWZhdWx0KHt2YWx1ZTpkLnNsaWNlKDEpLHNvdXJjZTp7c3RhcnQ6e2xpbmU6bi5jdXJyVG9rZW5bMl0sY29sdW1uOm4uY3VyclRva2VuWzNdK3l9LGVuZDp7bGluZTpuLmN1cnJUb2tlbls0XSxjb2x1bW46bi5jdXJyVG9rZW5bM10rKGgtMSl9fSxzb3VyY2VJbmRleDpuLmN1cnJUb2tlbls2XStsW3hdfSk6fmYuaW5kZXhPZih5KT9tPW5ldyBYZC5kZWZhdWx0KHt2YWx1ZTpkLnNsaWNlKDEpLHNvdXJjZTp7c3RhcnQ6e2xpbmU6bi5jdXJyVG9rZW5bMl0sY29sdW1uOm4uY3VyclRva2VuWzNdK3l9LGVuZDp7bGluZTpuLmN1cnJUb2tlbls0XSxjb2x1bW46bi5jdXJyVG9rZW5bM10rKGgtMSl9fSxzb3VyY2VJbmRleDpuLmN1cnJUb2tlbls2XStsW3hdfSk6bT1uZXcgZW0uZGVmYXVsdCh7dmFsdWU6ZCxzb3VyY2U6e3N0YXJ0OntsaW5lOm4uY3VyclRva2VuWzJdLGNvbHVtbjpuLmN1cnJUb2tlblszXSt5fSxlbmQ6e2xpbmU6bi5jdXJyVG9rZW5bNF0sY29sdW1uOm4uY3VyclRva2VuWzNdKyhoLTEpfX0sc291cmNlSW5kZXg6bi5jdXJyVG9rZW5bNl0rbFt4XX0pLG4ubmV3Tm9kZShtLHMpfSksdGhpcy5wb3NpdGlvbisrfSx0LnByb3RvdHlwZS53b3JkPWZ1bmN0aW9uKHMpe3ZhciByPXRoaXMubmV4dFRva2VuO3JldHVybiByJiZyWzFdPT09XCJ8XCI/KHRoaXMucG9zaXRpb24rKyx0aGlzLm5hbWVzcGFjZSgpKTp0aGlzLnNwbGl0V29yZChzKX0sdC5wcm90b3R5cGUubG9vcD1mdW5jdGlvbigpe2Zvcig7dGhpcy5wb3NpdGlvbjx0aGlzLnRva2Vucy5sZW5ndGg7KXRoaXMucGFyc2UoITApO3JldHVybiB0aGlzLnJvb3R9LHQucHJvdG90eXBlLnBhcnNlPWZ1bmN0aW9uKHMpe3N3aXRjaCh0aGlzLmN1cnJUb2tlblswXSl7Y2FzZVwic3BhY2VcIjp0aGlzLnNwYWNlKCk7YnJlYWs7Y2FzZVwiY29tbWVudFwiOnRoaXMuY29tbWVudCgpO2JyZWFrO2Nhc2VcIihcIjp0aGlzLnBhcmVudGhlc2VzKCk7YnJlYWs7Y2FzZVwiKVwiOnMmJnRoaXMubWlzc2luZ1BhcmVudGhlc2lzKCk7YnJlYWs7Y2FzZVwiW1wiOnRoaXMuYXR0cmlidXRlKCk7YnJlYWs7Y2FzZVwiXVwiOnRoaXMubWlzc2luZ1NxdWFyZUJyYWNrZXQoKTticmVhaztjYXNlXCJhdC13b3JkXCI6Y2FzZVwid29yZFwiOnRoaXMud29yZCgpO2JyZWFrO2Nhc2VcIjpcIjp0aGlzLnBzZXVkbygpO2JyZWFrO2Nhc2VcIjtcIjp0aGlzLm1pc3NpbmdCYWNrc2xhc2goKTticmVhaztjYXNlXCIsXCI6dGhpcy5jb21tYSgpO2JyZWFrO2Nhc2VcIipcIjp0aGlzLnVuaXZlcnNhbCgpO2JyZWFrO2Nhc2VcIiZcIjp0aGlzLm5lc3RpbmcoKTticmVhaztjYXNlXCJjb21iaW5hdG9yXCI6dGhpcy5jb21iaW5hdG9yKCk7YnJlYWs7Y2FzZVwic3RyaW5nXCI6dGhpcy5zdHJpbmcoKTticmVha319LHQucHJvdG90eXBlLnBhcnNlTmFtZXNwYWNlPWZ1bmN0aW9uKHMpe2lmKHRoaXMubG9zc3kmJnR5cGVvZiBzPT1cInN0cmluZ1wiKXt2YXIgcj1zLnRyaW0oKTtyZXR1cm4gci5sZW5ndGg/cjohMH1yZXR1cm4gc30sdC5wcm90b3R5cGUucGFyc2VTcGFjZT1mdW5jdGlvbihzLHIpe3JldHVybiB0aGlzLmxvc3N5P3J8fFwiXCI6c30sdC5wcm90b3R5cGUucGFyc2VWYWx1ZT1mdW5jdGlvbihzKXtyZXR1cm4gdGhpcy5sb3NzeSYmcyYmdHlwZW9mIHM9PVwic3RyaW5nXCI/cy50cmltKCk6c30sdC5wcm90b3R5cGUucGFyc2VQYXJlbnRoZXNpc1Rva2VuPWZ1bmN0aW9uKHMpe3JldHVybiB0aGlzLmxvc3N5P3NbMF09PT1cInNwYWNlXCI/dGhpcy5wYXJzZVNwYWNlKHNbMV0sXCIgXCIpOnRoaXMucGFyc2VWYWx1ZShzWzFdKTpzWzFdfSx0LnByb3RvdHlwZS5uZXdOb2RlPWZ1bmN0aW9uKHMscil7cmV0dXJuIHImJihzLm5hbWVzcGFjZT10aGlzLnBhcnNlTmFtZXNwYWNlKHIpKSx0aGlzLnNwYWNlcyYmKHMuc3BhY2VzLmJlZm9yZT10aGlzLnNwYWNlcyx0aGlzLnNwYWNlcz1cIlwiKSx0aGlzLmN1cnJlbnQuYXBwZW5kKHMpfSxNZCh0LFt7a2V5OlwiY3VyclRva2VuXCIsZ2V0OmZ1bmN0aW9uKCl7cmV0dXJuIHRoaXMudG9rZW5zW3RoaXMucG9zaXRpb25dfX0se2tleTpcIm5leHRUb2tlblwiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRva2Vuc1t0aGlzLnBvc2l0aW9uKzFdfX0se2tleTpcInByZXZUb2tlblwiLGdldDpmdW5jdGlvbigpe3JldHVybiB0aGlzLnRva2Vuc1t0aGlzLnBvc2l0aW9uLTFdfX1dKSx0fSgpO1NyLmRlZmF1bHQ9eG07bnUuZXhwb3J0cz1Tci5kZWZhdWx0fSk7dmFyIGF1PWcoKFRyLG91KT0+e1widXNlIHN0cmljdFwiO1RyLl9fZXNNb2R1bGU9ITA7dmFyIGJtPWZ1bmN0aW9uKCl7ZnVuY3Rpb24gdChlLHMpe2Zvcih2YXIgcj0wO3I8cy5sZW5ndGg7cisrKXt2YXIgbj1zW3JdO24uZW51bWVyYWJsZT1uLmVudW1lcmFibGV8fCExLG4uY29uZmlndXJhYmxlPSEwLFwidmFsdWVcImluIG4mJihuLndyaXRhYmxlPSEwKSxPYmplY3QuZGVmaW5lUHJvcGVydHkoZSxuLmtleSxuKX19cmV0dXJuIGZ1bmN0aW9uKGUscyxyKXtyZXR1cm4gcyYmdChlLnByb3RvdHlwZSxzKSxyJiZ0KGUsciksZX19KCksX209aXUoKSxrbT1FbShfbSk7ZnVuY3Rpb24gRW0odCl7cmV0dXJuIHQmJnQuX19lc01vZHVsZT90OntkZWZhdWx0OnR9fWZ1bmN0aW9uIFNtKHQsZSl7aWYoISh0IGluc3RhbmNlb2YgZSkpdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCBjYWxsIGEgY2xhc3MgYXMgYSBmdW5jdGlvblwiKX12YXIgVG09ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpe3JldHVybiBTbSh0aGlzLHQpLHRoaXMuZnVuYz1lfHxmdW5jdGlvbigpe30sdGhpc31yZXR1cm4gdC5wcm90b3R5cGUucHJvY2Vzcz1mdW5jdGlvbihzKXt2YXIgcj1hcmd1bWVudHMubGVuZ3RoPjEmJmFyZ3VtZW50c1sxXSE9PXZvaWQgMD9hcmd1bWVudHNbMV06e30sbj1uZXcga20uZGVmYXVsdCh7Y3NzOnMsZXJyb3I6ZnVuY3Rpb24obyl7dGhyb3cgbmV3IEVycm9yKG8pfSxvcHRpb25zOnJ9KTtyZXR1cm4gdGhpcy5yZXM9bix0aGlzLmZ1bmMobiksdGhpc30sYm0odCxbe2tleTpcInJlc3VsdFwiLGdldDpmdW5jdGlvbigpe3JldHVybiBTdHJpbmcodGhpcy5yZXMpfX1dKSx0fSgpO1RyLmRlZmF1bHQ9VG07b3UuZXhwb3J0cz1Uci5kZWZhdWx0fSk7dmFyIEc9ZygoQngsbHUpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIFZzPWZ1bmN0aW9uKHQsZSl7bGV0IHM9bmV3IHQuY29uc3RydWN0b3I7Zm9yKGxldCByIGluIHQpe2lmKCF0Lmhhc093blByb3BlcnR5KHIpKWNvbnRpbnVlO2xldCBuPXRbcl0saT10eXBlb2YgbjtyPT09XCJwYXJlbnRcIiYmaT09PVwib2JqZWN0XCI/ZSYmKHNbcl09ZSk6cj09PVwic291cmNlXCI/c1tyXT1uOm4gaW5zdGFuY2VvZiBBcnJheT9zW3JdPW4ubWFwKG89PlZzKG8scykpOnIhPT1cImJlZm9yZVwiJiZyIT09XCJhZnRlclwiJiZyIT09XCJiZXR3ZWVuXCImJnIhPT1cInNlbWljb2xvblwiJiYoaT09PVwib2JqZWN0XCImJm4hPT1udWxsJiYobj1WcyhuKSksc1tyXT1uKX1yZXR1cm4gc307bHUuZXhwb3J0cz1jbGFzc3tjb25zdHJ1Y3RvcihlKXtlPWV8fHt9LHRoaXMucmF3cz17YmVmb3JlOlwiXCIsYWZ0ZXI6XCJcIn07Zm9yKGxldCBzIGluIGUpdGhpc1tzXT1lW3NdfXJlbW92ZSgpe3JldHVybiB0aGlzLnBhcmVudCYmdGhpcy5wYXJlbnQucmVtb3ZlQ2hpbGQodGhpcyksdGhpcy5wYXJlbnQ9dm9pZCAwLHRoaXN9dG9TdHJpbmcoKXtyZXR1cm5bdGhpcy5yYXdzLmJlZm9yZSxTdHJpbmcodGhpcy52YWx1ZSksdGhpcy5yYXdzLmFmdGVyXS5qb2luKFwiXCIpfWNsb25lKGUpe2U9ZXx8e307bGV0IHM9VnModGhpcyk7Zm9yKGxldCByIGluIGUpc1tyXT1lW3JdO3JldHVybiBzfWNsb25lQmVmb3JlKGUpe2U9ZXx8e307bGV0IHM9dGhpcy5jbG9uZShlKTtyZXR1cm4gdGhpcy5wYXJlbnQuaW5zZXJ0QmVmb3JlKHRoaXMscyksc31jbG9uZUFmdGVyKGUpe2U9ZXx8e307bGV0IHM9dGhpcy5jbG9uZShlKTtyZXR1cm4gdGhpcy5wYXJlbnQuaW5zZXJ0QWZ0ZXIodGhpcyxzKSxzfXJlcGxhY2VXaXRoKCl7bGV0IGU9QXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoYXJndW1lbnRzKTtpZih0aGlzLnBhcmVudCl7Zm9yKGxldCBzIG9mIGUpdGhpcy5wYXJlbnQuaW5zZXJ0QmVmb3JlKHRoaXMscyk7dGhpcy5yZW1vdmUoKX1yZXR1cm4gdGhpc31tb3ZlVG8oZSl7cmV0dXJuIHRoaXMuY2xlYW5SYXdzKHRoaXMucm9vdCgpPT09ZS5yb290KCkpLHRoaXMucmVtb3ZlKCksZS5hcHBlbmQodGhpcyksdGhpc31tb3ZlQmVmb3JlKGUpe3JldHVybiB0aGlzLmNsZWFuUmF3cyh0aGlzLnJvb3QoKT09PWUucm9vdCgpKSx0aGlzLnJlbW92ZSgpLGUucGFyZW50Lmluc2VydEJlZm9yZShlLHRoaXMpLHRoaXN9bW92ZUFmdGVyKGUpe3JldHVybiB0aGlzLmNsZWFuUmF3cyh0aGlzLnJvb3QoKT09PWUucm9vdCgpKSx0aGlzLnJlbW92ZSgpLGUucGFyZW50Lmluc2VydEFmdGVyKGUsdGhpcyksdGhpc31uZXh0KCl7bGV0IGU9dGhpcy5wYXJlbnQuaW5kZXgodGhpcyk7cmV0dXJuIHRoaXMucGFyZW50Lm5vZGVzW2UrMV19cHJldigpe2xldCBlPXRoaXMucGFyZW50LmluZGV4KHRoaXMpO3JldHVybiB0aGlzLnBhcmVudC5ub2Rlc1tlLTFdfXRvSlNPTigpe2xldCBlPXt9O2ZvcihsZXQgcyBpbiB0aGlzKXtpZighdGhpcy5oYXNPd25Qcm9wZXJ0eShzKXx8cz09PVwicGFyZW50XCIpY29udGludWU7bGV0IHI9dGhpc1tzXTtyIGluc3RhbmNlb2YgQXJyYXk/ZVtzXT1yLm1hcChuPT50eXBlb2Ygbj09XCJvYmplY3RcIiYmbi50b0pTT04/bi50b0pTT04oKTpuKTp0eXBlb2Ygcj09XCJvYmplY3RcIiYmci50b0pTT04/ZVtzXT1yLnRvSlNPTigpOmVbc109cn1yZXR1cm4gZX1yb290KCl7bGV0IGU9dGhpcztmb3IoO2UucGFyZW50OyllPWUucGFyZW50O3JldHVybiBlfWNsZWFuUmF3cyhlKXtkZWxldGUgdGhpcy5yYXdzLmJlZm9yZSxkZWxldGUgdGhpcy5yYXdzLmFmdGVyLGV8fGRlbGV0ZSB0aGlzLnJhd3MuYmV0d2Vlbn1wb3NpdGlvbkluc2lkZShlKXtsZXQgcz10aGlzLnRvU3RyaW5nKCkscj10aGlzLnNvdXJjZS5zdGFydC5jb2x1bW4sbj10aGlzLnNvdXJjZS5zdGFydC5saW5lO2ZvcihsZXQgaT0wO2k8ZTtpKyspc1tpXT09PWBcbmA/KHI9MSxuKz0xKTpyKz0xO3JldHVybntsaW5lOm4sY29sdW1uOnJ9fXBvc2l0aW9uQnkoZSl7bGV0IHM9dGhpcy5zb3VyY2Uuc3RhcnQ7aWYoT2JqZWN0KGUpLmluZGV4KXM9dGhpcy5wb3NpdGlvbkluc2lkZShlLmluZGV4KTtlbHNlIGlmKE9iamVjdChlKS53b3JkKXtsZXQgcj10aGlzLnRvU3RyaW5nKCkuaW5kZXhPZihlLndvcmQpO3IhPT0tMSYmKHM9dGhpcy5wb3NpdGlvbkluc2lkZShyKSl9cmV0dXJuIHN9fX0pO3ZhciBVPWcoKE14LGN1KT0+e1widXNlIHN0cmljdFwiO3ZhciBPbT1HKCksRmU9Y2xhc3MgZXh0ZW5kcyBPbXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5vZGVzfHwodGhpcy5ub2Rlcz1bXSl9cHVzaChlKXtyZXR1cm4gZS5wYXJlbnQ9dGhpcyx0aGlzLm5vZGVzLnB1c2goZSksdGhpc31lYWNoKGUpe3RoaXMubGFzdEVhY2h8fCh0aGlzLmxhc3RFYWNoPTApLHRoaXMuaW5kZXhlc3x8KHRoaXMuaW5kZXhlcz17fSksdGhpcy5sYXN0RWFjaCs9MTtsZXQgcz10aGlzLmxhc3RFYWNoLHIsbjtpZih0aGlzLmluZGV4ZXNbc109MCwhIXRoaXMubm9kZXMpe2Zvcig7dGhpcy5pbmRleGVzW3NdPHRoaXMubm9kZXMubGVuZ3RoJiYocj10aGlzLmluZGV4ZXNbc10sbj1lKHRoaXMubm9kZXNbcl0sciksbiE9PSExKTspdGhpcy5pbmRleGVzW3NdKz0xO3JldHVybiBkZWxldGUgdGhpcy5pbmRleGVzW3NdLG59fXdhbGsoZSl7cmV0dXJuIHRoaXMuZWFjaCgocyxyKT0+e2xldCBuPWUocyxyKTtyZXR1cm4gbiE9PSExJiZzLndhbGsmJihuPXMud2FsayhlKSksbn0pfXdhbGtUeXBlKGUscyl7aWYoIWV8fCFzKXRocm93IG5ldyBFcnJvcihcIlBhcmFtZXRlcnMge3R5cGV9IGFuZCB7Y2FsbGJhY2t9IGFyZSByZXF1aXJlZC5cIik7bGV0IHI9dHlwZW9mIGU9PVwiZnVuY3Rpb25cIjtyZXR1cm4gdGhpcy53YWxrKChuLGkpPT57aWYociYmbiBpbnN0YW5jZW9mIGV8fCFyJiZuLnR5cGU9PT1lKXJldHVybiBzLmNhbGwodGhpcyxuLGkpfSl9YXBwZW5kKGUpe3JldHVybiBlLnBhcmVudD10aGlzLHRoaXMubm9kZXMucHVzaChlKSx0aGlzfXByZXBlbmQoZSl7cmV0dXJuIGUucGFyZW50PXRoaXMsdGhpcy5ub2Rlcy51bnNoaWZ0KGUpLHRoaXN9Y2xlYW5SYXdzKGUpe2lmKHN1cGVyLmNsZWFuUmF3cyhlKSx0aGlzLm5vZGVzKWZvcihsZXQgcyBvZiB0aGlzLm5vZGVzKXMuY2xlYW5SYXdzKGUpfWluc2VydEFmdGVyKGUscyl7bGV0IHI9dGhpcy5pbmRleChlKSxuO3RoaXMubm9kZXMuc3BsaWNlKHIrMSwwLHMpO2ZvcihsZXQgaSBpbiB0aGlzLmluZGV4ZXMpbj10aGlzLmluZGV4ZXNbaV0scjw9biYmKHRoaXMuaW5kZXhlc1tpXT1uK3RoaXMubm9kZXMubGVuZ3RoKTtyZXR1cm4gdGhpc31pbnNlcnRCZWZvcmUoZSxzKXtsZXQgcj10aGlzLmluZGV4KGUpLG47dGhpcy5ub2Rlcy5zcGxpY2UociwwLHMpO2ZvcihsZXQgaSBpbiB0aGlzLmluZGV4ZXMpbj10aGlzLmluZGV4ZXNbaV0scjw9biYmKHRoaXMuaW5kZXhlc1tpXT1uK3RoaXMubm9kZXMubGVuZ3RoKTtyZXR1cm4gdGhpc31yZW1vdmVDaGlsZChlKXtlPXRoaXMuaW5kZXgoZSksdGhpcy5ub2Rlc1tlXS5wYXJlbnQ9dm9pZCAwLHRoaXMubm9kZXMuc3BsaWNlKGUsMSk7bGV0IHM7Zm9yKGxldCByIGluIHRoaXMuaW5kZXhlcylzPXRoaXMuaW5kZXhlc1tyXSxzPj1lJiYodGhpcy5pbmRleGVzW3JdPXMtMSk7cmV0dXJuIHRoaXN9cmVtb3ZlQWxsKCl7Zm9yKGxldCBlIG9mIHRoaXMubm9kZXMpZS5wYXJlbnQ9dm9pZCAwO3JldHVybiB0aGlzLm5vZGVzPVtdLHRoaXN9ZXZlcnkoZSl7cmV0dXJuIHRoaXMubm9kZXMuZXZlcnkoZSl9c29tZShlKXtyZXR1cm4gdGhpcy5ub2Rlcy5zb21lKGUpfWluZGV4KGUpe3JldHVybiB0eXBlb2YgZT09XCJudW1iZXJcIj9lOnRoaXMubm9kZXMuaW5kZXhPZihlKX1nZXQgZmlyc3QoKXtpZih0aGlzLm5vZGVzKXJldHVybiB0aGlzLm5vZGVzWzBdfWdldCBsYXN0KCl7aWYodGhpcy5ub2RlcylyZXR1cm4gdGhpcy5ub2Rlc1t0aGlzLm5vZGVzLmxlbmd0aC0xXX10b1N0cmluZygpe2xldCBlPXRoaXMubm9kZXMubWFwKFN0cmluZykuam9pbihcIlwiKTtyZXR1cm4gdGhpcy52YWx1ZSYmKGU9dGhpcy52YWx1ZStlKSx0aGlzLnJhd3MuYmVmb3JlJiYoZT10aGlzLnJhd3MuYmVmb3JlK2UpLHRoaXMucmF3cy5hZnRlciYmKGUrPXRoaXMucmF3cy5hZnRlciksZX19O0ZlLnJlZ2lzdGVyV2Fsa2VyPXQ9PntsZXQgZT1cIndhbGtcIit0Lm5hbWU7ZS5sYXN0SW5kZXhPZihcInNcIikhPT1lLmxlbmd0aC0xJiYoZSs9XCJzXCIpLCFGZS5wcm90b3R5cGVbZV0mJihGZS5wcm90b3R5cGVbZV09ZnVuY3Rpb24ocyl7cmV0dXJuIHRoaXMud2Fsa1R5cGUodCxzKX0pfTtjdS5leHBvcnRzPUZlfSk7dmFyIHB1PWcoKEZ4LGZ1KT0+e1widXNlIHN0cmljdFwiO3ZhciBBbT1VKCk7ZnUuZXhwb3J0cz1jbGFzcyBleHRlbmRzIEFte2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMudHlwZT1cInJvb3RcIn19fSk7dmFyIGR1PWcoKFd4LGh1KT0+e1widXNlIHN0cmljdFwiO3ZhciBObT1VKCk7aHUuZXhwb3J0cz1jbGFzcyBleHRlbmRzIE5te2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMudHlwZT1cInZhbHVlXCIsdGhpcy51bmJhbGFuY2VkPTB9fX0pO3ZhciBndT1nKChZeCx5dSk9PntcInVzZSBzdHJpY3RcIjt2YXIgbXU9VSgpLENyPWNsYXNzIGV4dGVuZHMgbXV7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy50eXBlPVwiYXR3b3JkXCJ9dG9TdHJpbmcoKXtsZXQgZT10aGlzLnF1b3RlZD90aGlzLnJhd3MucXVvdGU6XCJcIjtyZXR1cm5bdGhpcy5yYXdzLmJlZm9yZSxcIkBcIixTdHJpbmcucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodGhpcy52YWx1ZSksdGhpcy5yYXdzLmFmdGVyXS5qb2luKFwiXCIpfX07bXUucmVnaXN0ZXJXYWxrZXIoQ3IpO3l1LmV4cG9ydHM9Q3J9KTt2YXIgdnU9Zygoengsd3UpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIFBtPVUoKSxSbT1HKCksT3I9Y2xhc3MgZXh0ZW5kcyBSbXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLnR5cGU9XCJjb2xvblwifX07UG0ucmVnaXN0ZXJXYWxrZXIoT3IpO3d1LmV4cG9ydHM9T3J9KTt2YXIgYnU9ZygoVngseHUpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEltPVUoKSxxbT1HKCksQXI9Y2xhc3MgZXh0ZW5kcyBxbXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLnR5cGU9XCJjb21tYVwifX07SW0ucmVnaXN0ZXJXYWxrZXIoQXIpO3h1LmV4cG9ydHM9QXJ9KTt2YXIga3U9ZygoR3gsX3UpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIExtPVUoKSxEbT1HKCksTnI9Y2xhc3MgZXh0ZW5kcyBEbXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLnR5cGU9XCJjb21tZW50XCIsdGhpcy5pbmxpbmU9T2JqZWN0KGUpLmlubGluZXx8ITF9dG9TdHJpbmcoKXtyZXR1cm5bdGhpcy5yYXdzLmJlZm9yZSx0aGlzLmlubGluZT9cIi8vXCI6XCIvKlwiLFN0cmluZyh0aGlzLnZhbHVlKSx0aGlzLmlubGluZT9cIlwiOlwiKi9cIix0aGlzLnJhd3MuYWZ0ZXJdLmpvaW4oXCJcIil9fTtMbS5yZWdpc3RlcldhbGtlcihOcik7X3UuZXhwb3J0cz1Ocn0pO3ZhciBUdT1nKChqeCxTdSk9PntcInVzZSBzdHJpY3RcIjt2YXIgRXU9VSgpLFByPWNsYXNzIGV4dGVuZHMgRXV7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy50eXBlPVwiZnVuY1wiLHRoaXMudW5iYWxhbmNlZD0tMX19O0V1LnJlZ2lzdGVyV2Fsa2VyKFByKTtTdS5leHBvcnRzPVByfSk7dmFyIE91PWcoKEh4LEN1KT0+e1widXNlIHN0cmljdFwiO3ZhciBCbT1VKCksTW09RygpLFJyPWNsYXNzIGV4dGVuZHMgTW17Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy50eXBlPVwibnVtYmVyXCIsdGhpcy51bml0PU9iamVjdChlKS51bml0fHxcIlwifXRvU3RyaW5nKCl7cmV0dXJuW3RoaXMucmF3cy5iZWZvcmUsU3RyaW5nKHRoaXMudmFsdWUpLHRoaXMudW5pdCx0aGlzLnJhd3MuYWZ0ZXJdLmpvaW4oXCJcIil9fTtCbS5yZWdpc3RlcldhbGtlcihScik7Q3UuZXhwb3J0cz1Scn0pO3ZhciBOdT1nKChLeCxBdSk9PntcInVzZSBzdHJpY3RcIjt2YXIgVW09VSgpLEZtPUcoKSxJcj1jbGFzcyBleHRlbmRzIEZte2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMudHlwZT1cIm9wZXJhdG9yXCJ9fTtVbS5yZWdpc3RlcldhbGtlcihJcik7QXUuZXhwb3J0cz1Jcn0pO3ZhciBSdT1nKChReCxQdSk9PntcInVzZSBzdHJpY3RcIjt2YXIgJG09VSgpLFdtPUcoKSxxcj1jbGFzcyBleHRlbmRzIFdte2NvbnN0cnVjdG9yKGUpe3N1cGVyKGUpLHRoaXMudHlwZT1cInBhcmVuXCIsdGhpcy5wYXJlblR5cGU9XCJcIn19OyRtLnJlZ2lzdGVyV2Fsa2VyKHFyKTtQdS5leHBvcnRzPXFyfSk7dmFyIHF1PWcoKEp4LEl1KT0+e1widXNlIHN0cmljdFwiO3ZhciBZbT1VKCksem09RygpLExyPWNsYXNzIGV4dGVuZHMgem17Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy50eXBlPVwic3RyaW5nXCJ9dG9TdHJpbmcoKXtsZXQgZT10aGlzLnF1b3RlZD90aGlzLnJhd3MucXVvdGU6XCJcIjtyZXR1cm5bdGhpcy5yYXdzLmJlZm9yZSxlLHRoaXMudmFsdWUrXCJcIixlLHRoaXMucmF3cy5hZnRlcl0uam9pbihcIlwiKX19O1ltLnJlZ2lzdGVyV2Fsa2VyKExyKTtJdS5leHBvcnRzPUxyfSk7dmFyIER1PWcoKFh4LEx1KT0+e1widXNlIHN0cmljdFwiO3ZhciBWbT1VKCksR209RygpLERyPWNsYXNzIGV4dGVuZHMgR217Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy50eXBlPVwid29yZFwifX07Vm0ucmVnaXN0ZXJXYWxrZXIoRHIpO0x1LmV4cG9ydHM9RHJ9KTt2YXIgTXU9ZygoWngsQnUpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGptPVUoKSxIbT1HKCksQnI9Y2xhc3MgZXh0ZW5kcyBIbXtjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLnR5cGU9XCJ1bmljb2RlLXJhbmdlXCJ9fTtqbS5yZWdpc3RlcldhbGtlcihCcik7QnUuZXhwb3J0cz1Ccn0pO3ZhciBGdT1nKChlYixVdSk9PntcInVzZSBzdHJpY3RcIjt2YXIgR3M9Y2xhc3MgZXh0ZW5kcyBFcnJvcntjb25zdHJ1Y3RvcihlKXtzdXBlcihlKSx0aGlzLm5hbWU9dGhpcy5jb25zdHJ1Y3Rvci5uYW1lLHRoaXMubWVzc2FnZT1lfHxcIkFuIGVycm9yIG9jdXJyZWQgd2hpbGUgdG9remVuaXppbmcuXCIsdHlwZW9mIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlPT1cImZ1bmN0aW9uXCI/RXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyx0aGlzLmNvbnN0cnVjdG9yKTp0aGlzLnN0YWNrPW5ldyBFcnJvcihlKS5zdGFja319O1V1LmV4cG9ydHM9R3N9KTt2YXIgWXU9ZygodGIsV3UpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIE1yPS9bIFxcblxcdFxcclxce1xcKFxcKSdcIlxcXFw7LC9dL2csS209L1sgXFxuXFx0XFxyXFwoXFwpXFx7XFx9XFwqOjtAISYnXCJcXCtcXHx+PixcXFtcXF1cXFxcXXxcXC8oPz1cXCopL2csJGU9L1sgXFxuXFx0XFxyXFwoXFwpXFx7XFx9XFwqOjtAISYnXCJcXC1cXCtcXHx+PixcXFtcXF1cXFxcXXxcXC8vZyxRbT0vXlthLXowLTldL2ksSm09L15bYS1mMC05P1xcLV0vaSwkdT1GdSgpO1d1LmV4cG9ydHM9ZnVuY3Rpb24oZSxzKXtzPXN8fHt9O2xldCByPVtdLG49ZS52YWx1ZU9mKCksaT1uLmxlbmd0aCxvPS0xLHU9MSxhPTAsYz0wLGY9bnVsbCxwLGwseSx4LGgsZCxtLGIsdyx2LE4sRjtmdW5jdGlvbiBIKFQpe2xldCBDPWBVbmNsb3NlZCAke1R9IGF0IGxpbmU6ICR7dX0sIGNvbHVtbjogJHthLW99LCB0b2tlbjogJHthfWA7dGhyb3cgbmV3ICR1KEMpfWZ1bmN0aW9uIFcoKXtsZXQgVD1gU3ludGF4IGVycm9yIGF0IGxpbmU6ICR7dX0sIGNvbHVtbjogJHthLW99LCB0b2tlbjogJHthfWA7dGhyb3cgbmV3ICR1KFQpfWZvcig7YTxpOyl7c3dpdGNoKHA9bi5jaGFyQ29kZUF0KGEpLHA9PT0xMCYmKG89YSx1Kz0xKSxwKXtjYXNlIDEwOmNhc2UgMzI6Y2FzZSA5OmNhc2UgMTM6Y2FzZSAxMjpsPWE7ZG8gbCs9MSxwPW4uY2hhckNvZGVBdChsKSxwPT09MTAmJihvPWwsdSs9MSk7d2hpbGUocD09PTMyfHxwPT09MTB8fHA9PT05fHxwPT09MTN8fHA9PT0xMik7ci5wdXNoKFtcInNwYWNlXCIsbi5zbGljZShhLGwpLHUsYS1vLHUsbC1vLGFdKSxhPWwtMTticmVhaztjYXNlIDU4Omw9YSsxLHIucHVzaChbXCJjb2xvblwiLG4uc2xpY2UoYSxsKSx1LGEtbyx1LGwtbyxhXSksYT1sLTE7YnJlYWs7Y2FzZSA0NDpsPWErMSxyLnB1c2goW1wiY29tbWFcIixuLnNsaWNlKGEsbCksdSxhLW8sdSxsLW8sYV0pLGE9bC0xO2JyZWFrO2Nhc2UgMTIzOnIucHVzaChbXCJ7XCIsXCJ7XCIsdSxhLW8sdSxsLW8sYV0pO2JyZWFrO2Nhc2UgMTI1OnIucHVzaChbXCJ9XCIsXCJ9XCIsdSxhLW8sdSxsLW8sYV0pO2JyZWFrO2Nhc2UgNDA6YysrLGY9IWYmJmM9PT0xJiZyLmxlbmd0aD4wJiZyW3IubGVuZ3RoLTFdWzBdPT09XCJ3b3JkXCImJnJbci5sZW5ndGgtMV1bMV09PT1cInVybFwiLHIucHVzaChbXCIoXCIsXCIoXCIsdSxhLW8sdSxsLW8sYV0pO2JyZWFrO2Nhc2UgNDE6Yy0tLGY9ZiYmYz4wLHIucHVzaChbXCIpXCIsXCIpXCIsdSxhLW8sdSxsLW8sYV0pO2JyZWFrO2Nhc2UgMzk6Y2FzZSAzNDp5PXA9PT0zOT9cIidcIjonXCInLGw9YTtkbyBmb3Iodj0hMSxsPW4uaW5kZXhPZih5LGwrMSksbD09PS0xJiZIKFwicXVvdGVcIix5KSxOPWw7bi5jaGFyQ29kZUF0KE4tMSk9PT05MjspTi09MSx2PSF2O3doaWxlKHYpO3IucHVzaChbXCJzdHJpbmdcIixuLnNsaWNlKGEsbCsxKSx1LGEtbyx1LGwtbyxhXSksYT1sO2JyZWFrO2Nhc2UgNjQ6TXIubGFzdEluZGV4PWErMSxNci50ZXN0KG4pLE1yLmxhc3RJbmRleD09PTA/bD1uLmxlbmd0aC0xOmw9TXIubGFzdEluZGV4LTIsci5wdXNoKFtcImF0d29yZFwiLG4uc2xpY2UoYSxsKzEpLHUsYS1vLHUsbC1vLGFdKSxhPWw7YnJlYWs7Y2FzZSA5MjpsPWEscD1uLmNoYXJDb2RlQXQobCsxKSxtJiZwIT09NDcmJnAhPT0zMiYmcCE9PTEwJiZwIT09OSYmcCE9PTEzJiZwIT09MTImJihsKz0xKSxyLnB1c2goW1wid29yZFwiLG4uc2xpY2UoYSxsKzEpLHUsYS1vLHUsbC1vLGFdKSxhPWw7YnJlYWs7Y2FzZSA0MzpjYXNlIDQ1OmNhc2UgNDI6bD1hKzEsRj1uLnNsaWNlKGErMSxsKzEpO2xldCBUPW4uc2xpY2UoYS0xLGEpO2lmKHA9PT00NSYmRi5jaGFyQ29kZUF0KDApPT09NDUpe2wrKyxyLnB1c2goW1wid29yZFwiLG4uc2xpY2UoYSxsKSx1LGEtbyx1LGwtbyxhXSksYT1sLTE7YnJlYWt9ci5wdXNoKFtcIm9wZXJhdG9yXCIsbi5zbGljZShhLGwpLHUsYS1vLHUsbC1vLGFdKSxhPWwtMTticmVhaztkZWZhdWx0OmlmKHA9PT00NyYmKG4uY2hhckNvZGVBdChhKzEpPT09NDJ8fHMubG9vc2UmJiFmJiZuLmNoYXJDb2RlQXQoYSsxKT09PTQ3KSl7aWYobi5jaGFyQ29kZUF0KGErMSk9PT00MilsPW4uaW5kZXhPZihcIiovXCIsYSsyKSsxLGw9PT0wJiZIKFwiY29tbWVudFwiLFwiKi9cIik7ZWxzZXtsZXQgTz1uLmluZGV4T2YoYFxuYCxhKzIpO2w9TyE9PS0xP08tMTppfWQ9bi5zbGljZShhLGwrMSkseD1kLnNwbGl0KGBcbmApLGg9eC5sZW5ndGgtMSxoPjA/KGI9dStoLHc9bC14W2hdLmxlbmd0aCk6KGI9dSx3PW8pLHIucHVzaChbXCJjb21tZW50XCIsZCx1LGEtbyxiLGwtdyxhXSksbz13LHU9YixhPWx9ZWxzZSBpZihwPT09MzUmJiFRbS50ZXN0KG4uc2xpY2UoYSsxLGErMikpKWw9YSsxLHIucHVzaChbXCIjXCIsbi5zbGljZShhLGwpLHUsYS1vLHUsbC1vLGFdKSxhPWwtMTtlbHNlIGlmKChwPT09MTE3fHxwPT09ODUpJiZuLmNoYXJDb2RlQXQoYSsxKT09PTQzKXtsPWErMjtkbyBsKz0xLHA9bi5jaGFyQ29kZUF0KGwpO3doaWxlKGw8aSYmSm0udGVzdChuLnNsaWNlKGwsbCsxKSkpO3IucHVzaChbXCJ1bmljb2RlcmFuZ2VcIixuLnNsaWNlKGEsbCksdSxhLW8sdSxsLW8sYV0pLGE9bC0xfWVsc2UgaWYocD09PTQ3KWw9YSsxLHIucHVzaChbXCJvcGVyYXRvclwiLG4uc2xpY2UoYSxsKSx1LGEtbyx1LGwtbyxhXSksYT1sLTE7ZWxzZXtsZXQgQz1LbTtpZihwPj00OCYmcDw9NTcmJihDPSRlKSxDLmxhc3RJbmRleD1hKzEsQy50ZXN0KG4pLEMubGFzdEluZGV4PT09MD9sPW4ubGVuZ3RoLTE6bD1DLmxhc3RJbmRleC0yLEM9PT0kZXx8cD09PTQ2KXtsZXQgTz1uLmNoYXJDb2RlQXQobCksdmU9bi5jaGFyQ29kZUF0KGwrMSksWHM9bi5jaGFyQ29kZUF0KGwrMik7KE89PT0xMDF8fE89PT02OSkmJih2ZT09PTQ1fHx2ZT09PTQzKSYmWHM+PTQ4JiZYczw9NTcmJigkZS5sYXN0SW5kZXg9bCsyLCRlLnRlc3QobiksJGUubGFzdEluZGV4PT09MD9sPW4ubGVuZ3RoLTE6bD0kZS5sYXN0SW5kZXgtMil9ci5wdXNoKFtcIndvcmRcIixuLnNsaWNlKGEsbCsxKSx1LGEtbyx1LGwtbyxhXSksYT1sfWJyZWFrfWErK31yZXR1cm4gcn19KTt2YXIgVnU9ZygocmIsenUpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIGpzPWNsYXNzIGV4dGVuZHMgRXJyb3J7Y29uc3RydWN0b3IoZSl7c3VwZXIoZSksdGhpcy5uYW1lPXRoaXMuY29uc3RydWN0b3IubmFtZSx0aGlzLm1lc3NhZ2U9ZXx8XCJBbiBlcnJvciBvY3VycmVkIHdoaWxlIHBhcnNpbmcuXCIsdHlwZW9mIEVycm9yLmNhcHR1cmVTdGFja1RyYWNlPT1cImZ1bmN0aW9uXCI/RXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UodGhpcyx0aGlzLmNvbnN0cnVjdG9yKTp0aGlzLnN0YWNrPW5ldyBFcnJvcihlKS5zdGFja319O3p1LmV4cG9ydHM9anN9KTt2YXIgS3U9ZygobmIsSHUpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIFhtPXB1KCksWm09ZHUoKSxleT1ndSgpLHR5PXZ1KCkscnk9YnUoKSxzeT1rdSgpLG55PVR1KCksaXk9T3UoKSxveT1OdSgpLEd1PVJ1KCksYXk9cXUoKSxqdT1EdSgpLHV5PU11KCksbHk9WXUoKSxjeT1McygpLGZ5PURzKCkscHk9QnMoKSxoeT1WdSgpO2Z1bmN0aW9uIGR5KHQpe3JldHVybiB0LnNvcnQoKGUscyk9PmUtcyl9SHUuZXhwb3J0cz1jbGFzc3tjb25zdHJ1Y3RvcihlLHMpe2xldCByPXtsb29zZTohMX07dGhpcy5jYWNoZT1bXSx0aGlzLmlucHV0PWUsdGhpcy5vcHRpb25zPU9iamVjdC5hc3NpZ24oe30scixzKSx0aGlzLnBvc2l0aW9uPTAsdGhpcy51bmJhbGFuY2VkPTAsdGhpcy5yb290PW5ldyBYbTtsZXQgbj1uZXcgWm07dGhpcy5yb290LmFwcGVuZChuKSx0aGlzLmN1cnJlbnQ9bix0aGlzLnRva2Vucz1seShlLHRoaXMub3B0aW9ucyl9cGFyc2UoKXtyZXR1cm4gdGhpcy5sb29wKCl9Y29sb24oKXtsZXQgZT10aGlzLmN1cnJUb2tlbjt0aGlzLm5ld05vZGUobmV3IHR5KHt2YWx1ZTplWzFdLHNvdXJjZTp7c3RhcnQ6e2xpbmU6ZVsyXSxjb2x1bW46ZVszXX0sZW5kOntsaW5lOmVbNF0sY29sdW1uOmVbNV19fSxzb3VyY2VJbmRleDplWzZdfSkpLHRoaXMucG9zaXRpb24rK31jb21tYSgpe2xldCBlPXRoaXMuY3VyclRva2VuO3RoaXMubmV3Tm9kZShuZXcgcnkoe3ZhbHVlOmVbMV0sc291cmNlOntzdGFydDp7bGluZTplWzJdLGNvbHVtbjplWzNdfSxlbmQ6e2xpbmU6ZVs0XSxjb2x1bW46ZVs1XX19LHNvdXJjZUluZGV4OmVbNl19KSksdGhpcy5wb3NpdGlvbisrfWNvbW1lbnQoKXtsZXQgZT0hMSxzPXRoaXMuY3VyclRva2VuWzFdLnJlcGxhY2UoL1xcL1xcKnxcXCpcXC8vZyxcIlwiKSxyO3RoaXMub3B0aW9ucy5sb29zZSYmcy5zdGFydHNXaXRoKFwiLy9cIikmJihzPXMuc3Vic3RyaW5nKDIpLGU9ITApLHI9bmV3IHN5KHt2YWx1ZTpzLGlubGluZTplLHNvdXJjZTp7c3RhcnQ6e2xpbmU6dGhpcy5jdXJyVG9rZW5bMl0sY29sdW1uOnRoaXMuY3VyclRva2VuWzNdfSxlbmQ6e2xpbmU6dGhpcy5jdXJyVG9rZW5bNF0sY29sdW1uOnRoaXMuY3VyclRva2VuWzVdfX0sc291cmNlSW5kZXg6dGhpcy5jdXJyVG9rZW5bNl19KSx0aGlzLm5ld05vZGUociksdGhpcy5wb3NpdGlvbisrfWVycm9yKGUscyl7dGhyb3cgbmV3IGh5KGUrYCBhdCBsaW5lOiAke3NbMl19LCBjb2x1bW4gJHtzWzNdfWApfWxvb3AoKXtmb3IoO3RoaXMucG9zaXRpb248dGhpcy50b2tlbnMubGVuZ3RoOyl0aGlzLnBhcnNlVG9rZW5zKCk7cmV0dXJuIXRoaXMuY3VycmVudC5sYXN0JiZ0aGlzLnNwYWNlcz90aGlzLmN1cnJlbnQucmF3cy5iZWZvcmUrPXRoaXMuc3BhY2VzOnRoaXMuc3BhY2VzJiYodGhpcy5jdXJyZW50Lmxhc3QucmF3cy5hZnRlcis9dGhpcy5zcGFjZXMpLHRoaXMuc3BhY2VzPVwiXCIsdGhpcy5yb290fW9wZXJhdG9yKCl7bGV0IGU9dGhpcy5jdXJyVG9rZW5bMV0scztpZihlPT09XCIrXCJ8fGU9PT1cIi1cIil7aWYodGhpcy5vcHRpb25zLmxvb3NlfHx0aGlzLnBvc2l0aW9uPjAmJih0aGlzLmN1cnJlbnQudHlwZT09PVwiZnVuY1wiJiZ0aGlzLmN1cnJlbnQudmFsdWU9PT1cImNhbGNcIj90aGlzLnByZXZUb2tlblswXSE9PVwic3BhY2VcIiYmdGhpcy5wcmV2VG9rZW5bMF0hPT1cIihcIj90aGlzLmVycm9yKFwiU3ludGF4IEVycm9yXCIsdGhpcy5jdXJyVG9rZW4pOnRoaXMubmV4dFRva2VuWzBdIT09XCJzcGFjZVwiJiZ0aGlzLm5leHRUb2tlblswXSE9PVwid29yZFwiP3RoaXMuZXJyb3IoXCJTeW50YXggRXJyb3JcIix0aGlzLmN1cnJUb2tlbik6dGhpcy5uZXh0VG9rZW5bMF09PT1cIndvcmRcIiYmdGhpcy5jdXJyZW50Lmxhc3QudHlwZSE9PVwib3BlcmF0b3JcIiYmdGhpcy5jdXJyZW50Lmxhc3QudmFsdWUhPT1cIihcIiYmdGhpcy5lcnJvcihcIlN5bnRheCBFcnJvclwiLHRoaXMuY3VyclRva2VuKToodGhpcy5uZXh0VG9rZW5bMF09PT1cInNwYWNlXCJ8fHRoaXMubmV4dFRva2VuWzBdPT09XCJvcGVyYXRvclwifHx0aGlzLnByZXZUb2tlblswXT09PVwib3BlcmF0b3JcIikmJnRoaXMuZXJyb3IoXCJTeW50YXggRXJyb3JcIix0aGlzLmN1cnJUb2tlbikpLHRoaXMub3B0aW9ucy5sb29zZSl7aWYoKCF0aGlzLmN1cnJlbnQubm9kZXMubGVuZ3RofHx0aGlzLmN1cnJlbnQubGFzdCYmdGhpcy5jdXJyZW50Lmxhc3QudHlwZT09PVwib3BlcmF0b3JcIikmJnRoaXMubmV4dFRva2VuWzBdPT09XCJ3b3JkXCIpcmV0dXJuIHRoaXMud29yZCgpfWVsc2UgaWYodGhpcy5uZXh0VG9rZW5bMF09PT1cIndvcmRcIilyZXR1cm4gdGhpcy53b3JkKCl9cmV0dXJuIHM9bmV3IG95KHt2YWx1ZTp0aGlzLmN1cnJUb2tlblsxXSxzb3VyY2U6e3N0YXJ0OntsaW5lOnRoaXMuY3VyclRva2VuWzJdLGNvbHVtbjp0aGlzLmN1cnJUb2tlblszXX0sZW5kOntsaW5lOnRoaXMuY3VyclRva2VuWzJdLGNvbHVtbjp0aGlzLmN1cnJUb2tlblszXX19LHNvdXJjZUluZGV4OnRoaXMuY3VyclRva2VuWzRdfSksdGhpcy5wb3NpdGlvbisrLHRoaXMubmV3Tm9kZShzKX1wYXJzZVRva2Vucygpe3N3aXRjaCh0aGlzLmN1cnJUb2tlblswXSl7Y2FzZVwic3BhY2VcIjp0aGlzLnNwYWNlKCk7YnJlYWs7Y2FzZVwiY29sb25cIjp0aGlzLmNvbG9uKCk7YnJlYWs7Y2FzZVwiY29tbWFcIjp0aGlzLmNvbW1hKCk7YnJlYWs7Y2FzZVwiY29tbWVudFwiOnRoaXMuY29tbWVudCgpO2JyZWFrO2Nhc2VcIihcIjp0aGlzLnBhcmVuT3BlbigpO2JyZWFrO2Nhc2VcIilcIjp0aGlzLnBhcmVuQ2xvc2UoKTticmVhaztjYXNlXCJhdHdvcmRcIjpjYXNlXCJ3b3JkXCI6dGhpcy53b3JkKCk7YnJlYWs7Y2FzZVwib3BlcmF0b3JcIjp0aGlzLm9wZXJhdG9yKCk7YnJlYWs7Y2FzZVwic3RyaW5nXCI6dGhpcy5zdHJpbmcoKTticmVhaztjYXNlXCJ1bmljb2RlcmFuZ2VcIjp0aGlzLnVuaWNvZGVSYW5nZSgpO2JyZWFrO2RlZmF1bHQ6dGhpcy53b3JkKCk7YnJlYWt9fXBhcmVuT3Blbigpe2xldCBlPTEscz10aGlzLnBvc2l0aW9uKzEscj10aGlzLmN1cnJUb2tlbixuO2Zvcig7czx0aGlzLnRva2Vucy5sZW5ndGgmJmU7KXtsZXQgaT10aGlzLnRva2Vuc1tzXTtpWzBdPT09XCIoXCImJmUrKyxpWzBdPT09XCIpXCImJmUtLSxzKyt9aWYoZSYmdGhpcy5lcnJvcihcIkV4cGVjdGVkIGNsb3NpbmcgcGFyZW50aGVzaXNcIixyKSxuPXRoaXMuY3VycmVudC5sYXN0LG4mJm4udHlwZT09PVwiZnVuY1wiJiZuLnVuYmFsYW5jZWQ8MCYmKG4udW5iYWxhbmNlZD0wLHRoaXMuY3VycmVudD1uKSx0aGlzLmN1cnJlbnQudW5iYWxhbmNlZCsrLHRoaXMubmV3Tm9kZShuZXcgR3Uoe3ZhbHVlOnJbMV0sc291cmNlOntzdGFydDp7bGluZTpyWzJdLGNvbHVtbjpyWzNdfSxlbmQ6e2xpbmU6cls0XSxjb2x1bW46cls1XX19LHNvdXJjZUluZGV4OnJbNl19KSksdGhpcy5wb3NpdGlvbisrLHRoaXMuY3VycmVudC50eXBlPT09XCJmdW5jXCImJnRoaXMuY3VycmVudC51bmJhbGFuY2VkJiZ0aGlzLmN1cnJlbnQudmFsdWU9PT1cInVybFwiJiZ0aGlzLmN1cnJUb2tlblswXSE9PVwic3RyaW5nXCImJnRoaXMuY3VyclRva2VuWzBdIT09XCIpXCImJiF0aGlzLm9wdGlvbnMubG9vc2Upe2xldCBpPXRoaXMubmV4dFRva2VuLG89dGhpcy5jdXJyVG9rZW5bMV0sdT17bGluZTp0aGlzLmN1cnJUb2tlblsyXSxjb2x1bW46dGhpcy5jdXJyVG9rZW5bM119O2Zvcig7aSYmaVswXSE9PVwiKVwiJiZ0aGlzLmN1cnJlbnQudW5iYWxhbmNlZDspdGhpcy5wb3NpdGlvbisrLG8rPXRoaXMuY3VyclRva2VuWzFdLGk9dGhpcy5uZXh0VG9rZW47dGhpcy5wb3NpdGlvbiE9PXRoaXMudG9rZW5zLmxlbmd0aC0xJiYodGhpcy5wb3NpdGlvbisrLHRoaXMubmV3Tm9kZShuZXcganUoe3ZhbHVlOm8sc291cmNlOntzdGFydDp1LGVuZDp7bGluZTp0aGlzLmN1cnJUb2tlbls0XSxjb2x1bW46dGhpcy5jdXJyVG9rZW5bNV19fSxzb3VyY2VJbmRleDp0aGlzLmN1cnJUb2tlbls2XX0pKSl9fXBhcmVuQ2xvc2UoKXtsZXQgZT10aGlzLmN1cnJUb2tlbjt0aGlzLm5ld05vZGUobmV3IEd1KHt2YWx1ZTplWzFdLHNvdXJjZTp7c3RhcnQ6e2xpbmU6ZVsyXSxjb2x1bW46ZVszXX0sZW5kOntsaW5lOmVbNF0sY29sdW1uOmVbNV19fSxzb3VyY2VJbmRleDplWzZdfSkpLHRoaXMucG9zaXRpb24rKywhKHRoaXMucG9zaXRpb24+PXRoaXMudG9rZW5zLmxlbmd0aC0xJiYhdGhpcy5jdXJyZW50LnVuYmFsYW5jZWQpJiYodGhpcy5jdXJyZW50LnVuYmFsYW5jZWQtLSx0aGlzLmN1cnJlbnQudW5iYWxhbmNlZDwwJiZ0aGlzLmVycm9yKFwiRXhwZWN0ZWQgb3BlbmluZyBwYXJlbnRoZXNpc1wiLGUpLCF0aGlzLmN1cnJlbnQudW5iYWxhbmNlZCYmdGhpcy5jYWNoZS5sZW5ndGgmJih0aGlzLmN1cnJlbnQ9dGhpcy5jYWNoZS5wb3AoKSkpfXNwYWNlKCl7bGV0IGU9dGhpcy5jdXJyVG9rZW47dGhpcy5wb3NpdGlvbj09PXRoaXMudG9rZW5zLmxlbmd0aC0xfHx0aGlzLm5leHRUb2tlblswXT09PVwiLFwifHx0aGlzLm5leHRUb2tlblswXT09PVwiKVwiPyh0aGlzLmN1cnJlbnQubGFzdC5yYXdzLmFmdGVyKz1lWzFdLHRoaXMucG9zaXRpb24rKyk6KHRoaXMuc3BhY2VzPWVbMV0sdGhpcy5wb3NpdGlvbisrKX11bmljb2RlUmFuZ2UoKXtsZXQgZT10aGlzLmN1cnJUb2tlbjt0aGlzLm5ld05vZGUobmV3IHV5KHt2YWx1ZTplWzFdLHNvdXJjZTp7c3RhcnQ6e2xpbmU6ZVsyXSxjb2x1bW46ZVszXX0sZW5kOntsaW5lOmVbNF0sY29sdW1uOmVbNV19fSxzb3VyY2VJbmRleDplWzZdfSkpLHRoaXMucG9zaXRpb24rK31zcGxpdFdvcmQoKXtsZXQgZT10aGlzLm5leHRUb2tlbixzPXRoaXMuY3VyclRva2VuWzFdLHI9L15bXFwrXFwtXT8oKFxcZCsoXFwuXFxkKik/KXwoXFwuXFxkKykpKFtlRV1bXFwrXFwtXT9cXGQrKT8vLG49L14oPyFcXCMoW2EtejAtOV0rKSlbXFwjXFx7XFx9XS9naSxpLG87aWYoIW4udGVzdChzKSlmb3IoO2UmJmVbMF09PT1cIndvcmRcIjspe3RoaXMucG9zaXRpb24rKztsZXQgdT10aGlzLmN1cnJUb2tlblsxXTtzKz11LGU9dGhpcy5uZXh0VG9rZW59aT1meShzLFwiQFwiKSxvPWR5KHB5KGN5KFtbMF0saV0pKSksby5mb3JFYWNoKCh1LGEpPT57bGV0IGM9b1thKzFdfHxzLmxlbmd0aCxmPXMuc2xpY2UodSxjKSxwO2lmKH5pLmluZGV4T2YodSkpcD1uZXcgZXkoe3ZhbHVlOmYuc2xpY2UoMSksc291cmNlOntzdGFydDp7bGluZTp0aGlzLmN1cnJUb2tlblsyXSxjb2x1bW46dGhpcy5jdXJyVG9rZW5bM10rdX0sZW5kOntsaW5lOnRoaXMuY3VyclRva2VuWzRdLGNvbHVtbjp0aGlzLmN1cnJUb2tlblszXSsoYy0xKX19LHNvdXJjZUluZGV4OnRoaXMuY3VyclRva2VuWzZdK29bYV19KTtlbHNlIGlmKHIudGVzdCh0aGlzLmN1cnJUb2tlblsxXSkpe2xldCBsPWYucmVwbGFjZShyLFwiXCIpO3A9bmV3IGl5KHt2YWx1ZTpmLnJlcGxhY2UobCxcIlwiKSxzb3VyY2U6e3N0YXJ0OntsaW5lOnRoaXMuY3VyclRva2VuWzJdLGNvbHVtbjp0aGlzLmN1cnJUb2tlblszXSt1fSxlbmQ6e2xpbmU6dGhpcy5jdXJyVG9rZW5bNF0sY29sdW1uOnRoaXMuY3VyclRva2VuWzNdKyhjLTEpfX0sc291cmNlSW5kZXg6dGhpcy5jdXJyVG9rZW5bNl0rb1thXSx1bml0Omx9KX1lbHNlIHA9bmV3KGUmJmVbMF09PT1cIihcIj9ueTpqdSkoe3ZhbHVlOmYsc291cmNlOntzdGFydDp7bGluZTp0aGlzLmN1cnJUb2tlblsyXSxjb2x1bW46dGhpcy5jdXJyVG9rZW5bM10rdX0sZW5kOntsaW5lOnRoaXMuY3VyclRva2VuWzRdLGNvbHVtbjp0aGlzLmN1cnJUb2tlblszXSsoYy0xKX19LHNvdXJjZUluZGV4OnRoaXMuY3VyclRva2VuWzZdK29bYV19KSxwLnR5cGU9PT1cIndvcmRcIj8ocC5pc0hleD0vXiMoLispLy50ZXN0KGYpLHAuaXNDb2xvcj0vXiMoWzAtOWEtZl17M318WzAtOWEtZl17NH18WzAtOWEtZl17Nn18WzAtOWEtZl17OH0pJC9pLnRlc3QoZikpOnRoaXMuY2FjaGUucHVzaCh0aGlzLmN1cnJlbnQpO3RoaXMubmV3Tm9kZShwKX0pLHRoaXMucG9zaXRpb24rK31zdHJpbmcoKXtsZXQgZT10aGlzLmN1cnJUb2tlbixzPXRoaXMuY3VyclRva2VuWzFdLHI9L14oXFxcInxcXCcpLyxuPXIudGVzdChzKSxpPVwiXCIsbztuJiYoaT1zLm1hdGNoKHIpWzBdLHM9cy5zbGljZSgxLHMubGVuZ3RoLTEpKSxvPW5ldyBheSh7dmFsdWU6cyxzb3VyY2U6e3N0YXJ0OntsaW5lOmVbMl0sY29sdW1uOmVbM119LGVuZDp7bGluZTplWzRdLGNvbHVtbjplWzVdfX0sc291cmNlSW5kZXg6ZVs2XSxxdW90ZWQ6bn0pLG8ucmF3cy5xdW90ZT1pLHRoaXMubmV3Tm9kZShvKSx0aGlzLnBvc2l0aW9uKyt9d29yZCgpe3JldHVybiB0aGlzLnNwbGl0V29yZCgpfW5ld05vZGUoZSl7cmV0dXJuIHRoaXMuc3BhY2VzJiYoZS5yYXdzLmJlZm9yZSs9dGhpcy5zcGFjZXMsdGhpcy5zcGFjZXM9XCJcIiksdGhpcy5jdXJyZW50LmFwcGVuZChlKX1nZXQgY3VyclRva2VuKCl7cmV0dXJuIHRoaXMudG9rZW5zW3RoaXMucG9zaXRpb25dfWdldCBuZXh0VG9rZW4oKXtyZXR1cm4gdGhpcy50b2tlbnNbdGhpcy5wb3NpdGlvbisxXX1nZXQgcHJldlRva2VuKCl7cmV0dXJuIHRoaXMudG9rZW5zW3RoaXMucG9zaXRpb24tMV19fX0pO3ZhciBKcz17fTtacyhKcyx7bGFuZ3VhZ2VzOigpPT55aSxvcHRpb25zOigpPT53aSxwYXJzZXJzOigpPT5RcyxwcmludGVyczooKT0+Tnl9KTt2YXIgd2w9KHQsZSxzLHIpPT57aWYoISh0JiZlPT1udWxsKSlyZXR1cm4gZS5yZXBsYWNlQWxsP2UucmVwbGFjZUFsbChzLHIpOnMuZ2xvYmFsP2UucmVwbGFjZShzLHIpOmUuc3BsaXQocykuam9pbihyKX0saz13bDt2YXIgV2U9XCJzdHJpbmdcIixZZT1cImFycmF5XCIsemU9XCJjdXJzb3JcIix0ZT1cImluZGVudFwiLGJlPVwiYWxpZ25cIixWZT1cInRyaW1cIixyZT1cImdyb3VwXCIsc2U9XCJmaWxsXCIscGU9XCJpZi1icmVha1wiLEdlPVwiaW5kZW50LWlmLWJyZWFrXCIsX2U9XCJsaW5lLXN1ZmZpeFwiLGplPVwibGluZS1zdWZmaXgtYm91bmRhcnlcIixLPVwibGluZVwiLEhlPVwibGFiZWxcIixrZT1cImJyZWFrLXBhcmVudFwiLFR0PW5ldyBTZXQoW3plLHRlLGJlLFZlLHJlLHNlLHBlLEdlLF9lLGplLEssSGUsa2VdKTtmdW5jdGlvbiB2bCh0KXtpZih0eXBlb2YgdD09XCJzdHJpbmdcIilyZXR1cm4gV2U7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gWWU7aWYoIXQpcmV0dXJuO2xldHt0eXBlOmV9PXQ7aWYoVHQuaGFzKGUpKXJldHVybiBlfXZhciBRPXZsO3ZhciB4bD10PT5uZXcgSW50bC5MaXN0Rm9ybWF0KFwiZW4tVVNcIix7dHlwZTpcImRpc2p1bmN0aW9uXCJ9KS5mb3JtYXQodCk7ZnVuY3Rpb24gYmwodCl7bGV0IGU9dD09PW51bGw/XCJudWxsXCI6dHlwZW9mIHQ7aWYoZSE9PVwic3RyaW5nXCImJmUhPT1cIm9iamVjdFwiKXJldHVybmBVbmV4cGVjdGVkIGRvYyAnJHtlfScsIFxuRXhwZWN0ZWQgaXQgdG8gYmUgJ3N0cmluZycgb3IgJ29iamVjdCcuYDtpZihRKHQpKXRocm93IG5ldyBFcnJvcihcImRvYyBpcyB2YWxpZC5cIik7bGV0IHM9T2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHQpO2lmKHMhPT1cIltvYmplY3QgT2JqZWN0XVwiKXJldHVybmBVbmV4cGVjdGVkIGRvYyAnJHtzfScuYDtsZXQgcj14bChbLi4uVHRdLm1hcChuPT5gJyR7bn0nYCkpO3JldHVybmBVbmV4cGVjdGVkIGRvYy50eXBlICcke3QudHlwZX0nLlxuRXhwZWN0ZWQgaXQgdG8gYmUgJHtyfS5gfXZhciBXcj1jbGFzcyBleHRlbmRzIEVycm9ye25hbWU9XCJJbnZhbGlkRG9jRXJyb3JcIjtjb25zdHJ1Y3RvcihlKXtzdXBlcihibChlKSksdGhpcy5kb2M9ZX19LFlyPVdyO3ZhciBlbj0oKT0+e30sbmU9ZW4sRWU9ZW47ZnVuY3Rpb24gcSh0KXtyZXR1cm4gbmUodCkse3R5cGU6dGUsY29udGVudHM6dH19ZnVuY3Rpb24gdG4odCxlKXtyZXR1cm4gbmUoZSkse3R5cGU6YmUsY29udGVudHM6ZSxuOnR9fWZ1bmN0aW9uIEwodCxlPXt9KXtyZXR1cm4gbmUodCksRWUoZS5leHBhbmRlZFN0YXRlcywhMCkse3R5cGU6cmUsaWQ6ZS5pZCxjb250ZW50czp0LGJyZWFrOiEhZS5zaG91bGRCcmVhayxleHBhbmRlZFN0YXRlczplLmV4cGFuZGVkU3RhdGVzfX1mdW5jdGlvbiBybih0KXtyZXR1cm4gdG4oe3R5cGU6XCJyb290XCJ9LHQpfWZ1bmN0aW9uIGllKHQpe3JldHVybiB0bigtMSx0KX1mdW5jdGlvbiBTZSh0KXtyZXR1cm4gRWUodCkse3R5cGU6c2UscGFydHM6dH19ZnVuY3Rpb24gQ3QodCxlPVwiXCIscz17fSl7cmV0dXJuIG5lKHQpLGUhPT1cIlwiJiZuZShlKSx7dHlwZTpwZSxicmVha0NvbnRlbnRzOnQsZmxhdENvbnRlbnRzOmUsZ3JvdXBJZDpzLmdyb3VwSWR9fWZ1bmN0aW9uIHNuKHQpe3JldHVybiBuZSh0KSx7dHlwZTpfZSxjb250ZW50czp0fX12YXIgS2U9e3R5cGU6a2V9O3ZhciBfbD17dHlwZTpLLGhhcmQ6ITB9O3ZhciBBPXt0eXBlOkt9LEI9e3R5cGU6Syxzb2Z0OiEwfSxTPVtfbCxLZV07ZnVuY3Rpb24gWSh0LGUpe25lKHQpLEVlKGUpO2xldCBzPVtdO2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKXIhPT0wJiZzLnB1c2godCkscy5wdXNoKGVbcl0pO3JldHVybiBzfXZhciBrbD0odCxlLHMpPT57aWYoISh0JiZlPT1udWxsKSlyZXR1cm4gQXJyYXkuaXNBcnJheShlKXx8dHlwZW9mIGU9PVwic3RyaW5nXCI/ZVtzPDA/ZS5sZW5ndGgrczpzXTplLmF0KHMpfSwkPWtsO2Z1bmN0aW9uIEVsKHQsZSl7aWYodHlwZW9mIHQ9PVwic3RyaW5nXCIpcmV0dXJuIGUodCk7bGV0IHM9bmV3IE1hcDtyZXR1cm4gcih0KTtmdW5jdGlvbiByKGkpe2lmKHMuaGFzKGkpKXJldHVybiBzLmdldChpKTtsZXQgbz1uKGkpO3JldHVybiBzLnNldChpLG8pLG99ZnVuY3Rpb24gbihpKXtzd2l0Y2goUShpKSl7Y2FzZSBZZTpyZXR1cm4gZShpLm1hcChyKSk7Y2FzZSBzZTpyZXR1cm4gZSh7Li4uaSxwYXJ0czppLnBhcnRzLm1hcChyKX0pO2Nhc2UgcGU6cmV0dXJuIGUoey4uLmksYnJlYWtDb250ZW50czpyKGkuYnJlYWtDb250ZW50cyksZmxhdENvbnRlbnRzOnIoaS5mbGF0Q29udGVudHMpfSk7Y2FzZSByZTp7bGV0e2V4cGFuZGVkU3RhdGVzOm8sY29udGVudHM6dX09aTtyZXR1cm4gbz8obz1vLm1hcChyKSx1PW9bMF0pOnU9cih1KSxlKHsuLi5pLGNvbnRlbnRzOnUsZXhwYW5kZWRTdGF0ZXM6b30pfWNhc2UgYmU6Y2FzZSB0ZTpjYXNlIEdlOmNhc2UgSGU6Y2FzZSBfZTpyZXR1cm4gZSh7Li4uaSxjb250ZW50czpyKGkuY29udGVudHMpfSk7Y2FzZSBXZTpjYXNlIHplOmNhc2UgVmU6Y2FzZSBqZTpjYXNlIEs6Y2FzZSBrZTpyZXR1cm4gZShpKTtkZWZhdWx0OnRocm93IG5ldyBZcihpKX19fWZ1bmN0aW9uIFNsKHQpe3JldHVybiB0LnR5cGU9PT1LJiYhdC5oYXJkP3Quc29mdD9cIlwiOlwiIFwiOnQudHlwZT09PXBlP3QuZmxhdENvbnRlbnRzOnR9ZnVuY3Rpb24gbm4odCl7cmV0dXJuIEVsKHQsU2wpfWZ1bmN0aW9uIFRsKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpJiZ0Lmxlbmd0aD4wfXZhciBvZT1UbDt2YXIgb249bmV3IFByb3h5KCgpPT57fSx7Z2V0OigpPT5vbn0pLGFuPW9uO3ZhciBPdD1cIidcIix1bj0nXCInO2Z1bmN0aW9uIENsKHQsZSl7bGV0IHM9ZT09PSEwfHxlPT09T3Q/T3Q6dW4scj1zPT09T3Q/dW46T3Qsbj0wLGk9MDtmb3IobGV0IG8gb2YgdClvPT09cz9uKys6bz09PXImJmkrKztyZXR1cm4gbj5pP3I6c312YXIgbG49Q2w7ZnVuY3Rpb24gT2wodCxlLHMpe2xldCByPWU9PT0nXCInP1wiJ1wiOidcIicsaT1rKCExLHQsL1xcXFwoLil8KFtcIiddKS9nc3UsKG8sdSxhKT0+dT09PXI/dTphPT09ZT9cIlxcXFxcIithOmF8fChzJiYvXlteXFxuXFxyXCInMC03XFxcXGJmbnJ0LXZ4XFx1MjAyOFxcdTIwMjldJC91LnRlc3QodSk/dTpcIlxcXFxcIit1KSk7cmV0dXJuIGUraStlfXZhciBjbj1PbDtmdW5jdGlvbiBBbCh0LGUpe2FuKC9eKD88cXVvdGU+W1wiJ10pLipcXGs8cXVvdGU+JC9zdS50ZXN0KHQpKTtsZXQgcz10LnNsaWNlKDEsLTEpLHI9ZS5wYXJzZXI9PT1cImpzb25cInx8ZS5wYXJzZXI9PT1cImpzb25jXCJ8fGUucGFyc2VyPT09XCJqc29uNVwiJiZlLnF1b3RlUHJvcHM9PT1cInByZXNlcnZlXCImJiFlLnNpbmdsZVF1b3RlPydcIic6ZS5fX2lzSW5IdG1sQXR0cmlidXRlP1wiJ1wiOmxuKHMsZS5zaW5nbGVRdW90ZSk7cmV0dXJuIHQuY2hhckF0KDApPT09cj90OmNuKHMsciwhMSl9dmFyIEF0PUFsO3ZhciB6cj1jbGFzcyBleHRlbmRzIEVycm9ye25hbWU9XCJVbmV4cGVjdGVkTm9kZUVycm9yXCI7Y29uc3RydWN0b3IoZSxzLHI9XCJ0eXBlXCIpe3N1cGVyKGBVbmV4cGVjdGVkICR7c30gbm9kZSAke3J9OiAke0pTT04uc3RyaW5naWZ5KGVbcl0pfS5gKSx0aGlzLm5vZGU9ZX19LGZuPXpyO2Z1bmN0aW9uIE5sKHQpe3JldHVybih0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJmcm9udC1tYXR0ZXJcIn12YXIgVGU9Tmw7dmFyIFBsPW5ldyBTZXQoW1wicmF3XCIsXCJyYXdzXCIsXCJzb3VyY2VJbmRleFwiLFwic291cmNlXCIsXCJiZWZvcmVcIixcImFmdGVyXCIsXCJ0cmFpbGluZ0NvbW1hXCIsXCJzcGFjZXNcIl0pO2Z1bmN0aW9uIHBuKHQsZSxzKXtpZihUZSh0KSYmdC5sYW5ndWFnZT09PVwieWFtbFwiJiZkZWxldGUgZS52YWx1ZSx0LnR5cGU9PT1cImNzcy1jb21tZW50XCImJnMudHlwZT09PVwiY3NzLXJvb3RcIiYmcy5ub2Rlcy5sZW5ndGg+MCYmKChzLm5vZGVzWzBdPT09dHx8VGUocy5ub2Rlc1swXSkmJnMubm9kZXNbMV09PT10KSYmKGRlbGV0ZSBlLnRleHQsL15cXCpcXHMqQCg/OmZvcm1hdHxwcmV0dGllcilcXHMqJC91LnRlc3QodC50ZXh0KSl8fHMudHlwZT09PVwiY3NzLXJvb3RcIiYmJCghMSxzLm5vZGVzLC0xKT09PXQpKXJldHVybiBudWxsO2lmKHQudHlwZT09PVwidmFsdWUtcm9vdFwiJiZkZWxldGUgZS50ZXh0LCh0LnR5cGU9PT1cIm1lZGlhLXF1ZXJ5XCJ8fHQudHlwZT09PVwibWVkaWEtcXVlcnktbGlzdFwifHx0LnR5cGU9PT1cIm1lZGlhLWZlYXR1cmUtZXhwcmVzc2lvblwiKSYmZGVsZXRlIGUudmFsdWUsdC50eXBlPT09XCJjc3MtcnVsZVwiJiZkZWxldGUgZS5wYXJhbXMsKHQudHlwZT09PVwibWVkaWEtZmVhdHVyZVwifHx0LnR5cGU9PT1cIm1lZGlhLWtleXdvcmRcInx8dC50eXBlPT09XCJtZWRpYS10eXBlXCJ8fHQudHlwZT09PVwibWVkaWEtdW5rbm93blwifHx0LnR5cGU9PT1cIm1lZGlhLXVybFwifHx0LnR5cGU9PT1cIm1lZGlhLXZhbHVlXCJ8fHQudHlwZT09PVwic2VsZWN0b3ItYXR0cmlidXRlXCJ8fHQudHlwZT09PVwic2VsZWN0b3Itc3RyaW5nXCJ8fHQudHlwZT09PVwic2VsZWN0b3ItY2xhc3NcInx8dC50eXBlPT09XCJzZWxlY3Rvci1jb21iaW5hdG9yXCJ8fHQudHlwZT09PVwidmFsdWUtc3RyaW5nXCIpJiZ0LnZhbHVlJiYoZS52YWx1ZT1SbCh0LnZhbHVlKSksdC50eXBlPT09XCJzZWxlY3Rvci1jb21iaW5hdG9yXCImJihlLnZhbHVlPWsoITEsZS52YWx1ZSwvXFxzKy9ndSxcIiBcIikpLHQudHlwZT09PVwibWVkaWEtZmVhdHVyZVwiJiYoZS52YWx1ZT1rKCExLGUudmFsdWUsXCIgXCIsXCJcIikpLCh0LnR5cGU9PT1cInZhbHVlLXdvcmRcIiYmKHQuaXNDb2xvciYmdC5pc0hleHx8W1wiaW5pdGlhbFwiLFwiaW5oZXJpdFwiLFwidW5zZXRcIixcInJldmVydFwiXS5pbmNsdWRlcyh0LnZhbHVlLnRvTG93ZXJDYXNlKCkpKXx8dC50eXBlPT09XCJtZWRpYS1mZWF0dXJlXCJ8fHQudHlwZT09PVwic2VsZWN0b3Itcm9vdC1pbnZhbGlkXCJ8fHQudHlwZT09PVwic2VsZWN0b3ItcHNldWRvXCIpJiYoZS52YWx1ZT1lLnZhbHVlLnRvTG93ZXJDYXNlKCkpLHQudHlwZT09PVwiY3NzLWRlY2xcIiYmKGUucHJvcD10LnByb3AudG9Mb3dlckNhc2UoKSksKHQudHlwZT09PVwiY3NzLWF0cnVsZVwifHx0LnR5cGU9PT1cImNzcy1pbXBvcnRcIikmJihlLm5hbWU9dC5uYW1lLnRvTG93ZXJDYXNlKCkpLHQudHlwZT09PVwidmFsdWUtbnVtYmVyXCImJihlLnVuaXQ9dC51bml0LnRvTG93ZXJDYXNlKCkpLHQudHlwZT09PVwidmFsdWUtdW5rbm93blwiJiYoZS52YWx1ZT1rKCExLGUudmFsdWUsLzskL2d1LFwiXCIpKSx0LnR5cGU9PT1cInNlbGVjdG9yLWF0dHJpYnV0ZVwiJiYoZS5hdHRyaWJ1dGU9dC5hdHRyaWJ1dGUudHJpbSgpLHQubmFtZXNwYWNlJiZ0eXBlb2YgdC5uYW1lc3BhY2U9PVwic3RyaW5nXCImJihlLm5hbWVzcGFjZT10Lm5hbWVzcGFjZS50cmltKCl8fCEwKSx0LnZhbHVlJiYoZS52YWx1ZT1rKCExLGUudmFsdWUudHJpbSgpLC9eW1wiJ118W1wiJ10kL2d1LFwiXCIpLGRlbGV0ZSBlLnF1b3RlZCkpLCh0LnR5cGU9PT1cIm1lZGlhLXZhbHVlXCJ8fHQudHlwZT09PVwibWVkaWEtdHlwZVwifHx0LnR5cGU9PT1cInZhbHVlLW51bWJlclwifHx0LnR5cGU9PT1cInNlbGVjdG9yLXJvb3QtaW52YWxpZFwifHx0LnR5cGU9PT1cInNlbGVjdG9yLWNsYXNzXCJ8fHQudHlwZT09PVwic2VsZWN0b3ItY29tYmluYXRvclwifHx0LnR5cGU9PT1cInNlbGVjdG9yLXRhZ1wiKSYmdC52YWx1ZSYmKGUudmFsdWU9ayghMSxlLnZhbHVlLC8oW1xcZCsuZS1dKykoW2Etel0qKS9naXUsKHIsbixpKT0+e2xldCBvPU51bWJlcihuKTtyZXR1cm4gTnVtYmVyLmlzTmFOKG8pP3I6bytpLnRvTG93ZXJDYXNlKCl9KSksdC50eXBlPT09XCJzZWxlY3Rvci10YWdcIil7bGV0IHI9ZS52YWx1ZS50b0xvd2VyQ2FzZSgpO1tcImZyb21cIixcInRvXCJdLmluY2x1ZGVzKHIpJiYoZS52YWx1ZT1yKX1pZih0LnR5cGU9PT1cImNzcy1hdHJ1bGVcIiYmdC5uYW1lLnRvTG93ZXJDYXNlKCk9PT1cInN1cHBvcnRzXCImJmRlbGV0ZSBlLnZhbHVlLHQudHlwZT09PVwic2VsZWN0b3ItdW5rbm93blwiJiZkZWxldGUgZS52YWx1ZSx0LnR5cGU9PT1cInZhbHVlLWNvbW1hX2dyb3VwXCIpe2xldCByPXQuZ3JvdXBzLmZpbmRJbmRleChuPT5uLnR5cGU9PT1cInZhbHVlLW51bWJlclwiJiZuLnVuaXQ9PT1cIi4uLlwiKTtyIT09LTEmJihlLmdyb3Vwc1tyXS51bml0PVwiXCIsZS5ncm91cHMuc3BsaWNlKHIrMSwwLHt0eXBlOlwidmFsdWUtd29yZFwiLHZhbHVlOlwiLi4uXCIsaXNDb2xvcjohMSxpc0hleDohMX0pKX1pZih0LnR5cGU9PT1cInZhbHVlLWNvbW1hX2dyb3VwXCImJnQuZ3JvdXBzLnNvbWUocj0+ci50eXBlPT09XCJ2YWx1ZS1hdHdvcmRcIiYmci52YWx1ZS5lbmRzV2l0aChcIltcIil8fHIudHlwZT09PVwidmFsdWUtd29yZFwiJiZyLnZhbHVlLnN0YXJ0c1dpdGgoXCJdXCIpKSlyZXR1cm57dHlwZTpcInZhbHVlLWF0d29yZFwiLHZhbHVlOnQuZ3JvdXBzLm1hcChyPT5yLnZhbHVlKS5qb2luKFwiXCIpLGdyb3VwOntvcGVuOm51bGwsY2xvc2U6bnVsbCxncm91cHM6W10sdHlwZTpcInZhbHVlLXBhcmVuX2dyb3VwXCJ9fX1wbi5pZ25vcmVkUHJvcGVydGllcz1QbDtmdW5jdGlvbiBSbCh0KXtyZXR1cm4gayghMSxrKCExLHQsXCInXCIsJ1wiJyksL1xcXFwoW15cXGRhLWZdKS9naXUsXCIkMVwiKX12YXIgaG49cG47YXN5bmMgZnVuY3Rpb24gSWwodCxlKXtpZih0Lmxhbmd1YWdlPT09XCJ5YW1sXCIpe2xldCBzPXQudmFsdWUudHJpbSgpLHI9cz9hd2FpdCBlKHMse3BhcnNlcjpcInlhbWxcIn0pOlwiXCI7cmV0dXJuIHJuKFt0LnN0YXJ0RGVsaW1pdGVyLHQuZXhwbGljaXRMYW5ndWFnZSxTLHIscj9TOlwiXCIsdC5lbmREZWxpbWl0ZXJdKX19dmFyIGRuPUlsO2Z1bmN0aW9uIG1uKHQpe2xldHtub2RlOmV9PXQ7aWYoZS50eXBlPT09XCJmcm9udC1tYXR0ZXJcIilyZXR1cm4gYXN5bmMgcz0+e2xldCByPWF3YWl0IGRuKGUscyk7cmV0dXJuIHI/W3IsU106dm9pZCAwfX1tbi5nZXRWaXNpdG9yS2V5cz10PT50LnR5cGU9PT1cImNzcy1yb290XCI/W1wiZnJvbnRNYXR0ZXJcIl06W107dmFyIHluPW1uO3ZhciBRZT1udWxsO2Z1bmN0aW9uIEplKHQpe2lmKFFlIT09bnVsbCYmdHlwZW9mIFFlLnByb3BlcnR5KXtsZXQgZT1RZTtyZXR1cm4gUWU9SmUucHJvdG90eXBlPW51bGwsZX1yZXR1cm4gUWU9SmUucHJvdG90eXBlPXQ/P09iamVjdC5jcmVhdGUobnVsbCksbmV3IEplfXZhciBxbD0xMDtmb3IobGV0IHQ9MDt0PD1xbDt0KyspSmUoKTtmdW5jdGlvbiBWcih0KXtyZXR1cm4gSmUodCl9ZnVuY3Rpb24gTGwodCxlPVwidHlwZVwiKXtWcih0KTtmdW5jdGlvbiBzKHIpe2xldCBuPXJbZV0saT10W25dO2lmKCFBcnJheS5pc0FycmF5KGkpKXRocm93IE9iamVjdC5hc3NpZ24obmV3IEVycm9yKGBNaXNzaW5nIHZpc2l0b3Iga2V5cyBmb3IgJyR7bn0nLmApLHtub2RlOnJ9KTtyZXR1cm4gaX1yZXR1cm4gc312YXIgZ249TGw7dmFyIERsPXtcImZyb250LW1hdHRlclwiOltdLFwiY3NzLXJvb3RcIjpbXCJmcm9udE1hdHRlclwiLFwibm9kZXNcIl0sXCJjc3MtY29tbWVudFwiOltdLFwiY3NzLXJ1bGVcIjpbXCJzZWxlY3RvclwiLFwibm9kZXNcIl0sXCJjc3MtZGVjbFwiOltcInZhbHVlXCIsXCJzZWxlY3RvclwiLFwibm9kZXNcIl0sXCJjc3MtYXRydWxlXCI6W1wic2VsZWN0b3JcIixcInBhcmFtc1wiLFwidmFsdWVcIixcIm5vZGVzXCJdLFwibWVkaWEtcXVlcnktbGlzdFwiOltcIm5vZGVzXCJdLFwibWVkaWEtcXVlcnlcIjpbXCJub2Rlc1wiXSxcIm1lZGlhLXR5cGVcIjpbXSxcIm1lZGlhLWZlYXR1cmUtZXhwcmVzc2lvblwiOltcIm5vZGVzXCJdLFwibWVkaWEtZmVhdHVyZVwiOltdLFwibWVkaWEtY29sb25cIjpbXSxcIm1lZGlhLXZhbHVlXCI6W10sXCJtZWRpYS1rZXl3b3JkXCI6W10sXCJtZWRpYS11cmxcIjpbXSxcIm1lZGlhLXVua25vd25cIjpbXSxcInNlbGVjdG9yLXJvb3RcIjpbXCJub2Rlc1wiXSxcInNlbGVjdG9yLXNlbGVjdG9yXCI6W1wibm9kZXNcIl0sXCJzZWxlY3Rvci1jb21tZW50XCI6W10sXCJzZWxlY3Rvci1zdHJpbmdcIjpbXSxcInNlbGVjdG9yLXRhZ1wiOltdLFwic2VsZWN0b3ItaWRcIjpbXSxcInNlbGVjdG9yLWNsYXNzXCI6W10sXCJzZWxlY3Rvci1hdHRyaWJ1dGVcIjpbXSxcInNlbGVjdG9yLWNvbWJpbmF0b3JcIjpbXCJub2Rlc1wiXSxcInNlbGVjdG9yLXVuaXZlcnNhbFwiOltdLFwic2VsZWN0b3ItcHNldWRvXCI6W1wibm9kZXNcIl0sXCJzZWxlY3Rvci1uZXN0aW5nXCI6W10sXCJzZWxlY3Rvci11bmtub3duXCI6W10sXCJ2YWx1ZS12YWx1ZVwiOltcImdyb3VwXCJdLFwidmFsdWUtcm9vdFwiOltcImdyb3VwXCJdLFwidmFsdWUtY29tbWVudFwiOltdLFwidmFsdWUtY29tbWFfZ3JvdXBcIjpbXCJncm91cHNcIl0sXCJ2YWx1ZS1wYXJlbl9ncm91cFwiOltcIm9wZW5cIixcImdyb3Vwc1wiLFwiY2xvc2VcIl0sXCJ2YWx1ZS1mdW5jXCI6W1wiZ3JvdXBcIl0sXCJ2YWx1ZS1wYXJlblwiOltdLFwidmFsdWUtbnVtYmVyXCI6W10sXCJ2YWx1ZS1vcGVyYXRvclwiOltdLFwidmFsdWUtd29yZFwiOltdLFwidmFsdWUtY29sb25cIjpbXSxcInZhbHVlLWNvbW1hXCI6W10sXCJ2YWx1ZS1zdHJpbmdcIjpbXSxcInZhbHVlLWF0d29yZFwiOltdLFwidmFsdWUtdW5pY29kZS1yYW5nZVwiOltdLFwidmFsdWUtdW5rbm93blwiOltdfSx3bj1EbDt2YXIgQmw9Z24od24pLHZuPUJsO2Z1bmN0aW9uIE1sKHQsZSl7bGV0IHM9MDtmb3IobGV0IHI9MDtyPHQubGluZS0xOysrcilzPWUuaW5kZXhPZihgXG5gLHMpKzE7cmV0dXJuIHMrdC5jb2x1bW59dmFyIEdyPU1sO2Z1bmN0aW9uIE50KHQpe3JldHVybihlLHMscik9PntsZXQgbj0hIShyIT1udWxsJiZyLmJhY2t3YXJkcyk7aWYocz09PSExKXJldHVybiExO2xldHtsZW5ndGg6aX09ZSxvPXM7Zm9yKDtvPj0wJiZvPGk7KXtsZXQgdT1lLmNoYXJBdChvKTtpZih0IGluc3RhbmNlb2YgUmVnRXhwKXtpZighdC50ZXN0KHUpKXJldHVybiBvfWVsc2UgaWYoIXQuaW5jbHVkZXModSkpcmV0dXJuIG87bj9vLS06bysrfXJldHVybiBvPT09LTF8fG89PT1pP286ITF9fXZhciBJZz1OdCgvXFxzL3UpLFB0PU50KFwiIFx0XCIpLHhuPU50KFwiLDsgXHRcIiksUnQ9TnQoL1teXFxuXFxyXS91KTtmdW5jdGlvbiBibih0LGUpe3ZhciBzLHIsbjtpZih0eXBlb2YoKHI9KHM9dC5zb3VyY2UpPT1udWxsP3ZvaWQgMDpzLnN0YXJ0KT09bnVsbD92b2lkIDA6ci5vZmZzZXQpPT1cIm51bWJlclwiKXJldHVybiB0LnNvdXJjZS5zdGFydC5vZmZzZXQ7aWYodHlwZW9mIHQuc291cmNlSW5kZXg9PVwibnVtYmVyXCIpcmV0dXJuIHQuc291cmNlSW5kZXg7aWYoKG49dC5zb3VyY2UpIT1udWxsJiZuLnN0YXJ0KXJldHVybiBHcih0LnNvdXJjZS5zdGFydCxlKTt0aHJvdyBPYmplY3QuYXNzaWduKG5ldyBFcnJvcihcIkNhbiBub3QgbG9jYXRlIG5vZGUuXCIpLHtub2RlOnR9KX1mdW5jdGlvbiBqcih0LGUpe3ZhciBzLHI7aWYodC50eXBlPT09XCJjc3MtY29tbWVudFwiJiZ0LmlubGluZSlyZXR1cm4gUnQoZSx0LnNvdXJjZS5zdGFydE9mZnNldCk7aWYodHlwZW9mKChyPShzPXQuc291cmNlKT09bnVsbD92b2lkIDA6cy5lbmQpPT1udWxsP3ZvaWQgMDpyLm9mZnNldCk9PVwibnVtYmVyXCIpcmV0dXJuIHQuc291cmNlLmVuZC5vZmZzZXQ7aWYodC5zb3VyY2Upe2lmKHQuc291cmNlLmVuZClyZXR1cm4gR3IodC5zb3VyY2UuZW5kLGUpO2lmKG9lKHQubm9kZXMpKXJldHVybiBqcigkKCExLHQubm9kZXMsLTEpLGUpfXJldHVybiBudWxsfWZ1bmN0aW9uIEhyKHQsZSl7dC5zb3VyY2UmJih0LnNvdXJjZS5zdGFydE9mZnNldD1ibih0LGUpLHQuc291cmNlLmVuZE9mZnNldD1qcih0LGUpKTtmb3IobGV0IHMgaW4gdCl7bGV0IHI9dFtzXTtzPT09XCJzb3VyY2VcInx8IXJ8fHR5cGVvZiByIT1cIm9iamVjdFwifHwoci50eXBlPT09XCJ2YWx1ZS1yb290XCJ8fHIudHlwZT09PVwidmFsdWUtdW5rbm93blwiP19uKHIsVWwodCksci50ZXh0fHxyLnZhbHVlKTpIcihyLGUpKX19ZnVuY3Rpb24gX24odCxlLHMpe3Quc291cmNlJiYodC5zb3VyY2Uuc3RhcnRPZmZzZXQ9Ym4odCxzKStlLHQuc291cmNlLmVuZE9mZnNldD1qcih0LHMpK2UpO2ZvcihsZXQgciBpbiB0KXtsZXQgbj10W3JdO3I9PT1cInNvdXJjZVwifHwhbnx8dHlwZW9mIG4hPVwib2JqZWN0XCJ8fF9uKG4sZSxzKX19ZnVuY3Rpb24gVWwodCl7dmFyIHM7bGV0IGU9dC5zb3VyY2Uuc3RhcnRPZmZzZXQ7cmV0dXJuIHR5cGVvZiB0LnByb3A9PVwic3RyaW5nXCImJihlKz10LnByb3AubGVuZ3RoKSx0LnR5cGU9PT1cImNzcy1hdHJ1bGVcIiYmdHlwZW9mIHQubmFtZT09XCJzdHJpbmdcIiYmKGUrPTErdC5uYW1lLmxlbmd0aCt0LnJhd3MuYWZ0ZXJOYW1lLm1hdGNoKC9eXFxzKjo/XFxzKi91KVswXS5sZW5ndGgpLHQudHlwZSE9PVwiY3NzLWF0cnVsZVwiJiZ0eXBlb2YoKHM9dC5yYXdzKT09bnVsbD92b2lkIDA6cy5iZXR3ZWVuKT09XCJzdHJpbmdcIiYmKGUrPXQucmF3cy5iZXR3ZWVuLmxlbmd0aCksZX1mdW5jdGlvbiBrbih0KXtsZXQgZT1cImluaXRpYWxcIixzPVwiaW5pdGlhbFwiLHIsbj0hMSxpPVtdO2ZvcihsZXQgbz0wO288dC5sZW5ndGg7bysrKXtsZXQgdT10W29dO3N3aXRjaChlKXtjYXNlXCJpbml0aWFsXCI6aWYodT09PVwiJ1wiKXtlPVwic2luZ2xlLXF1b3Rlc1wiO2NvbnRpbnVlfWlmKHU9PT0nXCInKXtlPVwiZG91YmxlLXF1b3Rlc1wiO2NvbnRpbnVlfWlmKCh1PT09XCJ1XCJ8fHU9PT1cIlVcIikmJnQuc2xpY2UobyxvKzQpLnRvTG93ZXJDYXNlKCk9PT1cInVybChcIil7ZT1cInVybFwiLG8rPTM7Y29udGludWV9aWYodT09PVwiKlwiJiZ0W28tMV09PT1cIi9cIil7ZT1cImNvbW1lbnQtYmxvY2tcIjtjb250aW51ZX1pZih1PT09XCIvXCImJnRbby0xXT09PVwiL1wiKXtlPVwiY29tbWVudC1pbmxpbmVcIixyPW8tMTtjb250aW51ZX1jb250aW51ZTtjYXNlXCJzaW5nbGUtcXVvdGVzXCI6aWYodT09PVwiJ1wiJiZ0W28tMV0hPT1cIlxcXFxcIiYmKGU9cyxzPVwiaW5pdGlhbFwiKSx1PT09YFxuYHx8dT09PVwiXFxyXCIpcmV0dXJuIHQ7Y29udGludWU7Y2FzZVwiZG91YmxlLXF1b3Rlc1wiOmlmKHU9PT0nXCInJiZ0W28tMV0hPT1cIlxcXFxcIiYmKGU9cyxzPVwiaW5pdGlhbFwiKSx1PT09YFxuYHx8dT09PVwiXFxyXCIpcmV0dXJuIHQ7Y29udGludWU7Y2FzZVwidXJsXCI6aWYodT09PVwiKVwiJiYoZT1cImluaXRpYWxcIiksdT09PWBcbmB8fHU9PT1cIlxcclwiKXJldHVybiB0O2lmKHU9PT1cIidcIil7ZT1cInNpbmdsZS1xdW90ZXNcIixzPVwidXJsXCI7Y29udGludWV9aWYodT09PSdcIicpe2U9XCJkb3VibGUtcXVvdGVzXCIscz1cInVybFwiO2NvbnRpbnVlfWNvbnRpbnVlO2Nhc2VcImNvbW1lbnQtYmxvY2tcIjp1PT09XCIvXCImJnRbby0xXT09PVwiKlwiJiYoZT1cImluaXRpYWxcIik7Y29udGludWU7Y2FzZVwiY29tbWVudC1pbmxpbmVcIjoodT09PSdcIid8fHU9PT1cIidcInx8dT09PVwiKlwiKSYmKG49ITApLCh1PT09YFxuYHx8dT09PVwiXFxyXCIpJiYobiYmaS5wdXNoKFtyLG9dKSxlPVwiaW5pdGlhbFwiLG49ITEpO2NvbnRpbnVlfX1mb3IobGV0W28sdV1vZiBpKXQ9dC5zbGljZSgwLG8pK2soITEsdC5zbGljZShvLHUpLC9bXCInKl0vZ3UsXCIgXCIpK3Quc2xpY2UodSk7cmV0dXJuIHR9ZnVuY3Rpb24gUCh0KXt2YXIgZTtyZXR1cm4oZT10LnNvdXJjZSk9PW51bGw/dm9pZCAwOmUuc3RhcnRPZmZzZXR9ZnVuY3Rpb24gUih0KXt2YXIgZTtyZXR1cm4oZT10LnNvdXJjZSk9PW51bGw/dm9pZCAwOmUuZW5kT2Zmc2V0fXZhciBGbD0vXFwqXFwvJC8sJGw9L15cXC9cXCpcXCo/LyxDbj0vXlxccyooXFwvXFwqXFwqPygufFxccj9cXG4pKj9cXCpcXC8pLyxXbD0vKF58XFxzKylcXC9cXC8oW15cXG5cXHJdKikvZyxFbj0vXihcXHI/XFxuKSsvLFlsPS8oPzpefFxccj9cXG4pICooQFteXFxuXFxyXSo/KSAqXFxyP1xcbiAqKD8hW15cXG5cXHJAXSpcXC9cXC9bXl0qKShbXlxcc0BdW15cXG5cXHJAXSs/KSAqXFxyP1xcbi9nLFNuPS8oPzpefFxccj9cXG4pICpAKFxcUyspICooW15cXG5cXHJdKikvZyx6bD0vKFxccj9cXG58XikgKlxcKiA/L2csT249W107ZnVuY3Rpb24gQW4odCl7bGV0IGU9dC5tYXRjaChDbik7cmV0dXJuIGU/ZVswXS50cmltU3RhcnQoKTpcIlwifWZ1bmN0aW9uIE5uKHQpe2xldCBlPXQubWF0Y2goQ24pLHM9ZT09bnVsbD92b2lkIDA6ZVswXTtyZXR1cm4gcz09bnVsbD90OnQuc2xpY2Uocy5sZW5ndGgpfWZ1bmN0aW9uIFBuKHQpe2xldCBlPWBcbmA7dD1rKCExLHQucmVwbGFjZSgkbCxcIlwiKS5yZXBsYWNlKEZsLFwiXCIpLHpsLFwiJDFcIik7bGV0IHM9XCJcIjtmb3IoO3MhPT10OylzPXQsdD1rKCExLHQsWWwsYCR7ZX0kMSAkMiR7ZX1gKTt0PXQucmVwbGFjZShFbixcIlwiKS50cmltRW5kKCk7bGV0IHI9T2JqZWN0LmNyZWF0ZShudWxsKSxuPWsoITEsdCxTbixcIlwiKS5yZXBsYWNlKEVuLFwiXCIpLnRyaW1FbmQoKSxpO2Zvcig7aT1Tbi5leGVjKHQpOyl7bGV0IG89ayghMSxpWzJdLFdsLFwiXCIpO2lmKHR5cGVvZiByW2lbMV1dPT1cInN0cmluZ1wifHxBcnJheS5pc0FycmF5KHJbaVsxXV0pKXtsZXQgdT1yW2lbMV1dO3JbaVsxXV09Wy4uLk9uLC4uLkFycmF5LmlzQXJyYXkodSk/dTpbdV0sb119ZWxzZSByW2lbMV1dPW99cmV0dXJue2NvbW1lbnRzOm4scHJhZ21hczpyfX1mdW5jdGlvbiBSbih7Y29tbWVudHM6dD1cIlwiLHByYWdtYXM6ZT17fX0pe2xldCBzPWBcbmAscj1cIi8qKlwiLG49XCIgKlwiLGk9XCIgKi9cIixvPU9iamVjdC5rZXlzKGUpLHU9by5mbGF0TWFwKGM9PlRuKGMsZVtjXSkpLm1hcChjPT5gJHtufSAke2N9JHtzfWApLmpvaW4oXCJcIik7aWYoIXQpe2lmKG8ubGVuZ3RoPT09MClyZXR1cm5cIlwiO2lmKG8ubGVuZ3RoPT09MSYmIUFycmF5LmlzQXJyYXkoZVtvWzBdXSkpe2xldCBjPWVbb1swXV07cmV0dXJuYCR7cn0gJHtUbihvWzBdLGMpWzBdfSR7aX1gfX1sZXQgYT10LnNwbGl0KHMpLm1hcChjPT5gJHtufSAke2N9YCkuam9pbihzKStzO3JldHVybiByK3MrKHQ/YTpcIlwiKSsodCYmby5sZW5ndGg+MD9uK3M6XCJcIikrdStpfWZ1bmN0aW9uIFRuKHQsZSl7cmV0dXJuWy4uLk9uLC4uLkFycmF5LmlzQXJyYXkoZSk/ZTpbZV1dLm1hcChzPT5gQCR7dH0gJHtzfWAudHJpbSgpKX1mdW5jdGlvbiBWbCh0KXtpZighdC5zdGFydHNXaXRoKFwiIyFcIikpcmV0dXJuXCJcIjtsZXQgZT10LmluZGV4T2YoYFxuYCk7cmV0dXJuIGU9PT0tMT90OnQuc2xpY2UoMCxlKX12YXIgSW49Vmw7ZnVuY3Rpb24gcW4odCl7bGV0IGU9SW4odCk7ZSYmKHQ9dC5zbGljZShlLmxlbmd0aCsxKSk7bGV0IHM9QW4odCkse3ByYWdtYXM6cixjb21tZW50czpufT1QbihzKTtyZXR1cm57c2hlYmFuZzplLHRleHQ6dCxwcmFnbWFzOnIsY29tbWVudHM6bn19ZnVuY3Rpb24gTG4odCl7bGV0e3ByYWdtYXM6ZX09cW4odCk7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLFwicHJldHRpZXJcIil8fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChlLFwiZm9ybWF0XCIpfWZ1bmN0aW9uIERuKHQpe2xldHtzaGViYW5nOmUsdGV4dDpzLHByYWdtYXM6cixjb21tZW50czpufT1xbih0KSxpPU5uKHMpLG89Um4oe3ByYWdtYXM6e2Zvcm1hdDpcIlwiLC4uLnJ9LGNvbW1lbnRzOm4udHJpbVN0YXJ0KCl9KTtyZXR1cm4oZT9gJHtlfVxuYDpcIlwiKStvKyhpLnN0YXJ0c1dpdGgoYFxuYCk/YFxuYDpgXG5cbmApK2l9dmFyIFhlPTM7ZnVuY3Rpb24gR2wodCl7bGV0IGU9dC5zbGljZSgwLFhlKTtpZihlIT09XCItLS1cIiYmZSE9PVwiKysrXCIpcmV0dXJuO2xldCBzPXQuaW5kZXhPZihgXG5gLFhlKTtpZihzPT09LTEpcmV0dXJuO2xldCByPXQuc2xpY2UoWGUscykudHJpbSgpLG49dC5pbmRleE9mKGBcbiR7ZX1gLHMpLGk9cjtpZihpfHwoaT1lPT09XCIrKytcIj9cInRvbWxcIjpcInlhbWxcIiksbj09PS0xJiZlPT09XCItLS1cIiYmaT09PVwieWFtbFwiJiYobj10LmluZGV4T2YoYFxuLi4uYCxzKSksbj09PS0xKXJldHVybjtsZXQgbz1uKzErWGUsdT10LmNoYXJBdChvKzEpO2lmKCEvXFxzPy91LnRlc3QodSkpcmV0dXJuO2xldCBhPXQuc2xpY2UoMCxvKTtyZXR1cm57dHlwZTpcImZyb250LW1hdHRlclwiLGxhbmd1YWdlOmksZXhwbGljaXRMYW5ndWFnZTpyLHZhbHVlOnQuc2xpY2UocysxLG4pLHN0YXJ0RGVsaW1pdGVyOmUsZW5kRGVsaW1pdGVyOmEuc2xpY2UoLVhlKSxyYXc6YX19ZnVuY3Rpb24gamwodCl7bGV0IGU9R2wodCk7aWYoIWUpcmV0dXJue2NvbnRlbnQ6dH07bGV0e3JhdzpzfT1lO3JldHVybntmcm9udE1hdHRlcjplLGNvbnRlbnQ6ayghMSxzLC9bXlxcbl0vZ3UsXCIgXCIpK3Quc2xpY2Uocy5sZW5ndGgpfX12YXIgWmU9amw7ZnVuY3Rpb24gQm4odCl7cmV0dXJuIExuKFplKHQpLmNvbnRlbnQpfWZ1bmN0aW9uIE1uKHQpe2xldHtmcm9udE1hdHRlcjplLGNvbnRlbnQ6c309WmUodCk7cmV0dXJuKGU/ZS5yYXcrYFxuXG5gOlwiXCIpK0RuKHMpfXZhciBIbD1uZXcgU2V0KFtcInJlZFwiLFwiZ3JlZW5cIixcImJsdWVcIixcImFscGhhXCIsXCJhXCIsXCJyZ2JcIixcImh1ZVwiLFwiaFwiLFwic2F0dXJhdGlvblwiLFwic1wiLFwibGlnaHRuZXNzXCIsXCJsXCIsXCJ3aGl0ZW5lc3NcIixcIndcIixcImJsYWNrbmVzc1wiLFwiYlwiLFwidGludFwiLFwic2hhZGVcIixcImJsZW5kXCIsXCJibGVuZGFcIixcImNvbnRyYXN0XCIsXCJoc2xcIixcImhzbGFcIixcImh3YlwiLFwiaHdiYVwiXSk7ZnVuY3Rpb24gVW4odCl7dmFyIGUscztyZXR1cm4ocz0oZT10LmZpbmRBbmNlc3RvcihyPT5yLnR5cGU9PT1cImNzcy1kZWNsXCIpKT09bnVsbD92b2lkIDA6ZS5wcm9wKT09bnVsbD92b2lkIDA6cy50b0xvd2VyQ2FzZSgpfXZhciBLbD1uZXcgU2V0KFtcImluaXRpYWxcIixcImluaGVyaXRcIixcInVuc2V0XCIsXCJyZXZlcnRcIl0pO2Z1bmN0aW9uIEZuKHQpe3JldHVybiBLbC5oYXModC50b0xvd2VyQ2FzZSgpKX1mdW5jdGlvbiAkbih0LGUpe3ZhciByO2xldCBzPXQuZmluZEFuY2VzdG9yKG49Pm4udHlwZT09PVwiY3NzLWF0cnVsZVwiKTtyZXR1cm4oKHI9cz09bnVsbD92b2lkIDA6cy5uYW1lKT09bnVsbD92b2lkIDA6ci50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKFwia2V5ZnJhbWVzXCIpKSYmW1wiZnJvbVwiLFwidG9cIl0uaW5jbHVkZXMoZS50b0xvd2VyQ2FzZSgpKX1mdW5jdGlvbiBhZSh0KXtyZXR1cm4gdC5pbmNsdWRlcyhcIiRcIil8fHQuaW5jbHVkZXMoXCJAXCIpfHx0LmluY2x1ZGVzKFwiI1wiKXx8dC5zdGFydHNXaXRoKFwiJVwiKXx8dC5zdGFydHNXaXRoKFwiLS1cIil8fHQuc3RhcnRzV2l0aChcIjotLVwiKXx8dC5pbmNsdWRlcyhcIihcIikmJnQuaW5jbHVkZXMoXCIpXCIpP3Q6dC50b0xvd2VyQ2FzZSgpfWZ1bmN0aW9uIENlKHQsZSl7dmFyIHI7bGV0IHM9dC5maW5kQW5jZXN0b3Iobj0+bi50eXBlPT09XCJ2YWx1ZS1mdW5jXCIpO3JldHVybigocj1zPT1udWxsP3ZvaWQgMDpzLnZhbHVlKT09bnVsbD92b2lkIDA6ci50b0xvd2VyQ2FzZSgpKT09PWV9ZnVuY3Rpb24gV24odCl7dmFyIHI7bGV0IGU9dC5maW5kQW5jZXN0b3Iobj0+bi50eXBlPT09XCJjc3MtcnVsZVwiKSxzPShyPWU9PW51bGw/dm9pZCAwOmUucmF3cyk9PW51bGw/dm9pZCAwOnIuc2VsZWN0b3I7cmV0dXJuIHMmJihzLnN0YXJ0c1dpdGgoXCI6aW1wb3J0XCIpfHxzLnN0YXJ0c1dpdGgoXCI6ZXhwb3J0XCIpKX1mdW5jdGlvbiBPZSh0LGUpe2xldCBzPUFycmF5LmlzQXJyYXkoZSk/ZTpbZV0scj10LmZpbmRBbmNlc3RvcihuPT5uLnR5cGU9PT1cImNzcy1hdHJ1bGVcIik7cmV0dXJuIHImJnMuaW5jbHVkZXMoci5uYW1lLnRvTG93ZXJDYXNlKCkpfWZ1bmN0aW9uIFluKHQpe3ZhciBzO2xldHtub2RlOmV9PXQ7cmV0dXJuIGUuZ3JvdXBzWzBdLnZhbHVlPT09XCJ1cmxcIiYmZS5ncm91cHMubGVuZ3RoPT09MiYmKChzPXQuZmluZEFuY2VzdG9yKHI9PnIudHlwZT09PVwiY3NzLWF0cnVsZVwiKSk9PW51bGw/dm9pZCAwOnMubmFtZSk9PT1cImltcG9ydFwifWZ1bmN0aW9uIHpuKHQpe3JldHVybiB0LnR5cGU9PT1cInZhbHVlLWZ1bmNcIiYmdC52YWx1ZS50b0xvd2VyQ2FzZSgpPT09XCJ1cmxcIn1mdW5jdGlvbiBWbih0KXtyZXR1cm4gdC50eXBlPT09XCJ2YWx1ZS1mdW5jXCImJnQudmFsdWUudG9Mb3dlckNhc2UoKT09PVwidmFyXCJ9ZnVuY3Rpb24gR24odCl7bGV0e3NlbGVjdG9yOmV9PXQ7cmV0dXJuIGU/dHlwZW9mIGU9PVwic3RyaW5nXCImJi9eQC4rOi4qJC91LnRlc3QoZSl8fGUudmFsdWUmJi9eQC4rOi4qJC91LnRlc3QoZS52YWx1ZSk6ITF9ZnVuY3Rpb24gam4odCl7cmV0dXJuIHQudHlwZT09PVwidmFsdWUtd29yZFwiJiZbXCJmcm9tXCIsXCJ0aHJvdWdoXCIsXCJlbmRcIl0uaW5jbHVkZXModC52YWx1ZSl9ZnVuY3Rpb24gSG4odCl7cmV0dXJuIHQudHlwZT09PVwidmFsdWUtd29yZFwiJiZbXCJhbmRcIixcIm9yXCIsXCJub3RcIl0uaW5jbHVkZXModC52YWx1ZSl9ZnVuY3Rpb24gS24odCl7cmV0dXJuIHQudHlwZT09PVwidmFsdWUtd29yZFwiJiZ0LnZhbHVlPT09XCJpblwifWZ1bmN0aW9uIEl0KHQpe3JldHVybiB0LnR5cGU9PT1cInZhbHVlLW9wZXJhdG9yXCImJnQudmFsdWU9PT1cIipcIn1mdW5jdGlvbiBldCh0KXtyZXR1cm4gdC50eXBlPT09XCJ2YWx1ZS1vcGVyYXRvclwiJiZ0LnZhbHVlPT09XCIvXCJ9ZnVuY3Rpb24gSih0KXtyZXR1cm4gdC50eXBlPT09XCJ2YWx1ZS1vcGVyYXRvclwiJiZ0LnZhbHVlPT09XCIrXCJ9ZnVuY3Rpb24gaGUodCl7cmV0dXJuIHQudHlwZT09PVwidmFsdWUtb3BlcmF0b3JcIiYmdC52YWx1ZT09PVwiLVwifWZ1bmN0aW9uIFFsKHQpe3JldHVybiB0LnR5cGU9PT1cInZhbHVlLW9wZXJhdG9yXCImJnQudmFsdWU9PT1cIiVcIn1mdW5jdGlvbiBxdCh0KXtyZXR1cm4gSXQodCl8fGV0KHQpfHxKKHQpfHxoZSh0KXx8UWwodCl9ZnVuY3Rpb24gUW4odCl7cmV0dXJuIHQudHlwZT09PVwidmFsdWUtd29yZFwiJiZbXCI9PVwiLFwiIT1cIl0uaW5jbHVkZXModC52YWx1ZSl9ZnVuY3Rpb24gSm4odCl7cmV0dXJuIHQudHlwZT09PVwidmFsdWUtd29yZFwiJiZbXCI8XCIsXCI+XCIsXCI8PVwiLFwiPj1cIl0uaW5jbHVkZXModC52YWx1ZSl9ZnVuY3Rpb24gdHQodCxlKXtyZXR1cm4gZS5wYXJzZXI9PT1cInNjc3NcIiYmdC50eXBlPT09XCJjc3MtYXRydWxlXCImJltcImlmXCIsXCJlbHNlXCIsXCJmb3JcIixcImVhY2hcIixcIndoaWxlXCJdLmluY2x1ZGVzKHQubmFtZSl9ZnVuY3Rpb24gUXIodCl7dmFyIGU7cmV0dXJuKChlPXQucmF3cyk9PW51bGw/dm9pZCAwOmUucGFyYW1zKSYmL15cXChcXHMqXFwpJC91LnRlc3QodC5yYXdzLnBhcmFtcyl9ZnVuY3Rpb24gTHQodCl7cmV0dXJuIHQubmFtZS5zdGFydHNXaXRoKFwicHJldHRpZXItcGxhY2Vob2xkZXJcIil9ZnVuY3Rpb24gWG4odCl7cmV0dXJuIHQucHJvcC5zdGFydHNXaXRoKFwiQHByZXR0aWVyLXBsYWNlaG9sZGVyXCIpfWZ1bmN0aW9uIFpuKHQsZSl7cmV0dXJuIHQudmFsdWU9PT1cIiQkXCImJnQudHlwZT09PVwidmFsdWUtZnVuY1wiJiYoZT09bnVsbD92b2lkIDA6ZS50eXBlKT09PVwidmFsdWUtd29yZFwiJiYhZS5yYXdzLmJlZm9yZX1mdW5jdGlvbiBlaSh0KXt2YXIgZSxzO3JldHVybigoZT10LnZhbHVlKT09bnVsbD92b2lkIDA6ZS50eXBlKT09PVwidmFsdWUtcm9vdFwiJiYoKHM9dC52YWx1ZS5ncm91cCk9PW51bGw/dm9pZCAwOnMudHlwZSk9PT1cInZhbHVlLXZhbHVlXCImJnQucHJvcC50b0xvd2VyQ2FzZSgpPT09XCJjb21wb3Nlc1wifWZ1bmN0aW9uIHRpKHQpe3ZhciBlLHMscjtyZXR1cm4oKHI9KHM9KGU9dC52YWx1ZSk9PW51bGw/dm9pZCAwOmUuZ3JvdXApPT1udWxsP3ZvaWQgMDpzLmdyb3VwKT09bnVsbD92b2lkIDA6ci50eXBlKT09PVwidmFsdWUtcGFyZW5fZ3JvdXBcIiYmdC52YWx1ZS5ncm91cC5ncm91cC5vcGVuIT09bnVsbCYmdC52YWx1ZS5ncm91cC5ncm91cC5jbG9zZSE9PW51bGx9ZnVuY3Rpb24gZGUodCl7dmFyIGU7cmV0dXJuKChlPXQucmF3cyk9PW51bGw/dm9pZCAwOmUuYmVmb3JlKT09PVwiXCJ9ZnVuY3Rpb24gRHQodCl7dmFyIGUscztyZXR1cm4gdC50eXBlPT09XCJ2YWx1ZS1jb21tYV9ncm91cFwiJiYoKHM9KGU9dC5ncm91cHMpPT1udWxsP3ZvaWQgMDplWzFdKT09bnVsbD92b2lkIDA6cy50eXBlKT09PVwidmFsdWUtY29sb25cIn1mdW5jdGlvbiBLcih0KXt2YXIgZTtyZXR1cm4gdC50eXBlPT09XCJ2YWx1ZS1wYXJlbl9ncm91cFwiJiYoKGU9dC5ncm91cHMpPT1udWxsP3ZvaWQgMDplWzBdKSYmRHQodC5ncm91cHNbMF0pfWZ1bmN0aW9uIEpyKHQsZSl7dmFyIGk7aWYoZS5wYXJzZXIhPT1cInNjc3NcIilyZXR1cm4hMTtsZXR7bm9kZTpzfT10O2lmKHMuZ3JvdXBzLmxlbmd0aD09PTApcmV0dXJuITE7bGV0IHI9dC5ncmFuZHBhcmVudDtpZighS3IocykmJiEociYmS3IocikpKXJldHVybiExO2xldCBuPXQuZmluZEFuY2VzdG9yKG89Pm8udHlwZT09PVwiY3NzLWRlY2xcIik7cmV0dXJuISEoKGk9bj09bnVsbD92b2lkIDA6bi5wcm9wKSE9bnVsbCYmaS5zdGFydHNXaXRoKFwiJFwiKXx8S3Iocil8fHIudHlwZT09PVwidmFsdWUtZnVuY1wiKX1mdW5jdGlvbiBBZSh0KXtyZXR1cm4gdC50eXBlPT09XCJ2YWx1ZS1jb21tZW50XCImJnQuaW5saW5lfWZ1bmN0aW9uIEJ0KHQpe3JldHVybiB0LnR5cGU9PT1cInZhbHVlLXdvcmRcIiYmdC52YWx1ZT09PVwiI1wifWZ1bmN0aW9uIFhyKHQpe3JldHVybiB0LnR5cGU9PT1cInZhbHVlLXdvcmRcIiYmdC52YWx1ZT09PVwie1wifWZ1bmN0aW9uIE10KHQpe3JldHVybiB0LnR5cGU9PT1cInZhbHVlLXdvcmRcIiYmdC52YWx1ZT09PVwifVwifWZ1bmN0aW9uIHJ0KHQpe3JldHVybltcInZhbHVlLXdvcmRcIixcInZhbHVlLWF0d29yZFwiXS5pbmNsdWRlcyh0LnR5cGUpfWZ1bmN0aW9uIHN0KHQpe3JldHVybih0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJ2YWx1ZS1jb2xvblwifWZ1bmN0aW9uIHJpKHQsZSl7aWYoIUR0KGUpKXJldHVybiExO2xldHtncm91cHM6c309ZSxyPXMuaW5kZXhPZih0KTtyZXR1cm4gcj09PS0xPyExOnN0KHNbcisxXSl9ZnVuY3Rpb24gc2kodCl7cmV0dXJuIHQudmFsdWUmJltcIm5vdFwiLFwiYW5kXCIsXCJvclwiXS5pbmNsdWRlcyh0LnZhbHVlLnRvTG93ZXJDYXNlKCkpfWZ1bmN0aW9uIG5pKHQpe3JldHVybiB0LnR5cGUhPT1cInZhbHVlLWZ1bmNcIj8hMTpIbC5oYXModC52YWx1ZS50b0xvd2VyQ2FzZSgpKX1mdW5jdGlvbiBOZSh0KXtyZXR1cm4vXFwvXFwvL3UudGVzdCh0LnNwbGl0KC9bXFxuXFxyXS91KS5wb3AoKSl9ZnVuY3Rpb24gbnQodCl7cmV0dXJuKHQ9PW51bGw/dm9pZCAwOnQudHlwZSk9PT1cInZhbHVlLWF0d29yZFwiJiZ0LnZhbHVlLnN0YXJ0c1dpdGgoXCJwcmV0dGllci1wbGFjZWhvbGRlci1cIil9ZnVuY3Rpb24gaWkodCxlKXt2YXIgcyxyO2lmKCgocz10Lm9wZW4pPT1udWxsP3ZvaWQgMDpzLnZhbHVlKSE9PVwiKFwifHwoKHI9dC5jbG9zZSk9PW51bGw/dm9pZCAwOnIudmFsdWUpIT09XCIpXCJ8fHQuZ3JvdXBzLnNvbWUobj0+bi50eXBlIT09XCJ2YWx1ZS1jb21tYV9ncm91cFwiKSlyZXR1cm4hMTtpZihlLnR5cGU9PT1cInZhbHVlLWNvbW1hX2dyb3VwXCIpe2xldCBuPWUuZ3JvdXBzLmluZGV4T2YodCktMSxpPWUuZ3JvdXBzW25dO2lmKChpPT1udWxsP3ZvaWQgMDppLnR5cGUpPT09XCJ2YWx1ZS13b3JkXCImJmkudmFsdWU9PT1cIndpdGhcIilyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBpdCh0KXt2YXIgZSxzO3JldHVybiB0LnR5cGU9PT1cInZhbHVlLXBhcmVuX2dyb3VwXCImJigoZT10Lm9wZW4pPT1udWxsP3ZvaWQgMDplLnZhbHVlKT09PVwiKFwiJiYoKHM9dC5jbG9zZSk9PW51bGw/dm9pZCAwOnMudmFsdWUpPT09XCIpXCJ9ZnVuY3Rpb24gSmwodCxlLHMpe3ZhciBkO2xldHtub2RlOnJ9PXQsbj10LnBhcmVudCxpPXQuZ3JhbmRwYXJlbnQsbz1Vbih0KSx1PW8mJm4udHlwZT09PVwidmFsdWUtdmFsdWVcIiYmKG89PT1cImdyaWRcInx8by5zdGFydHNXaXRoKFwiZ3JpZC10ZW1wbGF0ZVwiKSksYT10LmZpbmRBbmNlc3RvcihtPT5tLnR5cGU9PT1cImNzcy1hdHJ1bGVcIiksYz1hJiZ0dChhLGUpLGY9ci5ncm91cHMuc29tZShtPT5BZShtKSkscD10Lm1hcChzLFwiZ3JvdXBzXCIpLGw9W1wiXCJdLHk9Q2UodCxcInVybFwiKSx4PSExLGg9ITE7Zm9yKGxldCBtPTA7bTxyLmdyb3Vwcy5sZW5ndGg7KyttKXtsZXQgYj1yLmdyb3Vwc1ttLTFdLHc9ci5ncm91cHNbbV0sdj1yLmdyb3Vwc1ttKzFdLE49ci5ncm91cHNbbSsyXTtpZihBZSh3KSYmIXYpe2wucHVzaChbbC5wb3AoKSxzbihbXCIgXCIscFttXV0pXSk7Y29udGludWV9aWYobC5wdXNoKFtsLnBvcCgpLHBbbV1dKSx5KXsodiYmSih2KXx8Sih3KSkmJmwucHVzaChbbC5wb3AoKSxcIiBcIl0pO2NvbnRpbnVlfWlmKHN0KHYpJiZ3LnR5cGU9PT1cInZhbHVlLXdvcmRcIiYmbC5sZW5ndGg+MiYmci5ncm91cHMuc2xpY2UoMCxtKS5ldmVyeShPPT5PLnR5cGU9PT1cInZhbHVlLWNvbW1lbnRcIikmJiFBZShiKSYmKGxbbC5sZW5ndGgtMl09aWUoJCghMSxsLC0yKSkpLE9lKHQsXCJmb3J3YXJkXCIpJiZ3LnR5cGU9PT1cInZhbHVlLXdvcmRcIiYmdy52YWx1ZSYmYiE9PXZvaWQgMCYmYi50eXBlPT09XCJ2YWx1ZS13b3JkXCImJmIudmFsdWU9PT1cImFzXCImJnYudHlwZT09PVwidmFsdWUtb3BlcmF0b3JcIiYmdi52YWx1ZT09PVwiKlwifHwhdnx8dy50eXBlPT09XCJ2YWx1ZS13b3JkXCImJncudmFsdWUuZW5kc1dpdGgoXCItXCIpJiZudCh2KSljb250aW51ZTtpZih3LnR5cGU9PT1cInZhbHVlLXN0cmluZ1wiJiZ3LnF1b3RlZCl7bGV0IE89dy52YWx1ZS5sYXN0SW5kZXhPZihcIiN7XCIpLHZlPXcudmFsdWUubGFzdEluZGV4T2YoXCJ9XCIpO08hPT0tMSYmdmUhPT0tMT94PU8+dmU6TyE9PS0xP3g9ITA6dmUhPT0tMSYmKHg9ITEpfWlmKHh8fHN0KHcpfHxzdCh2KXx8dy50eXBlPT09XCJ2YWx1ZS1hdHdvcmRcIiYmKHcudmFsdWU9PT1cIlwifHx3LnZhbHVlLmVuZHNXaXRoKFwiW1wiKSl8fHYudHlwZT09PVwidmFsdWUtd29yZFwiJiZ2LnZhbHVlLnN0YXJ0c1dpdGgoXCJdXCIpfHx3LnZhbHVlPT09XCJ+XCJ8fHcudHlwZSE9PVwidmFsdWUtc3RyaW5nXCImJncudmFsdWUmJncudmFsdWUuaW5jbHVkZXMoXCJcXFxcXCIpJiZ2JiZ2LnR5cGUhPT1cInZhbHVlLWNvbW1lbnRcInx8YiE9bnVsbCYmYi52YWx1ZSYmYi52YWx1ZS5pbmRleE9mKFwiXFxcXFwiKT09PWIudmFsdWUubGVuZ3RoLTEmJncudHlwZT09PVwidmFsdWUtb3BlcmF0b3JcIiYmdy52YWx1ZT09PVwiL1wifHx3LnZhbHVlPT09XCJcXFxcXCJ8fFpuKHcsdil8fEJ0KHcpfHxYcih3KXx8TXQodil8fFhyKHYpJiZkZSh2KXx8TXQodykmJmRlKHYpfHx3LnZhbHVlPT09XCItLVwiJiZCdCh2KSljb250aW51ZTtsZXQgRj1xdCh3KSxIPXF0KHYpO2lmKChGJiZCdCh2KXx8SCYmTXQodykpJiZkZSh2KXx8IWImJmV0KHcpfHxDZSh0LFwiY2FsY1wiKSYmKEoodyl8fEoodil8fGhlKHcpfHxoZSh2KSkmJmRlKHYpKWNvbnRpbnVlO2xldCBXPShKKHcpfHxoZSh3KSkmJm09PT0wJiYodi50eXBlPT09XCJ2YWx1ZS1udW1iZXJcInx8di5pc0hleCkmJmkmJm5pKGkpJiYhZGUodiksVD0oTj09bnVsbD92b2lkIDA6Ti50eXBlKT09PVwidmFsdWUtZnVuY1wifHxOJiZydChOKXx8dy50eXBlPT09XCJ2YWx1ZS1mdW5jXCJ8fHJ0KHcpLEM9di50eXBlPT09XCJ2YWx1ZS1mdW5jXCJ8fHJ0KHYpfHwoYj09bnVsbD92b2lkIDA6Yi50eXBlKT09PVwidmFsdWUtZnVuY1wifHxiJiZydChiKTtpZihlLnBhcnNlcj09PVwic2Nzc1wiJiZGJiZ3LnZhbHVlPT09XCItXCImJnYudHlwZT09PVwidmFsdWUtZnVuY1wiJiZSKHcpIT09UCh2KSl7bC5wdXNoKFtsLnBvcCgpLFwiIFwiXSk7Y29udGludWV9aWYoISghKEl0KHYpfHxJdCh3KSkmJiFDZSh0LFwiY2FsY1wiKSYmIVcmJihldCh2KSYmIVR8fGV0KHcpJiYhQ3x8Sih2KSYmIVR8fEoodykmJiFDfHxoZSh2KXx8aGUodykpJiYoZGUodil8fEYmJighYnx8YiYmcXQoYikpKSkmJiEoKGUucGFyc2VyPT09XCJzY3NzXCJ8fGUucGFyc2VyPT09XCJsZXNzXCIpJiZGJiZ3LnZhbHVlPT09XCItXCImJml0KHYpJiZSKHcpPT09UCh2Lm9wZW4pJiZ2Lm9wZW4udmFsdWU9PT1cIihcIikpe2lmKEFlKHcpKXtpZihuLnR5cGU9PT1cInZhbHVlLXBhcmVuX2dyb3VwXCIpe2wucHVzaChpZShTKSxcIlwiKTtjb250aW51ZX1sLnB1c2goUyxcIlwiKTtjb250aW51ZX1pZihjJiYoUW4odil8fEpuKHYpfHxIbih2KXx8S24odyl8fGpuKHcpKSl7bC5wdXNoKFtsLnBvcCgpLFwiIFwiXSk7Y29udGludWV9aWYoYSYmYS5uYW1lLnRvTG93ZXJDYXNlKCk9PT1cIm5hbWVzcGFjZVwiKXtsLnB1c2goW2wucG9wKCksXCIgXCJdKTtjb250aW51ZX1pZih1KXt3LnNvdXJjZSYmdi5zb3VyY2UmJncuc291cmNlLnN0YXJ0LmxpbmUhPT12LnNvdXJjZS5zdGFydC5saW5lPyhsLnB1c2goUyxcIlwiKSxoPSEwKTpsLnB1c2goW2wucG9wKCksXCIgXCJdKTtjb250aW51ZX1pZihIKXtsLnB1c2goW2wucG9wKCksXCIgXCJdKTtjb250aW51ZX1pZigodj09bnVsbD92b2lkIDA6di52YWx1ZSkhPT1cIi4uLlwiJiYhKG50KHcpJiZudCh2KSYmUih3KT09PVAodikpKXtpZihudCh3KSYmaXQodikmJlIodyk9PT1QKHYub3Blbikpe2wucHVzaChCLFwiXCIpO2NvbnRpbnVlfWlmKHcudmFsdWU9PT1cIndpdGhcIiYmaXQodikpe2w9W1tTZShsKSxcIiBcIl1dO2NvbnRpbnVlfShkPXcudmFsdWUpIT1udWxsJiZkLmVuZHNXaXRoKFwiI1wiKSYmdi52YWx1ZT09PVwie1wiJiZpdCh2Lmdyb3VwKXx8QWUodikmJiFOfHxsLnB1c2goQSxcIlwiKX19fXJldHVybiBmJiZsLnB1c2goW2wucG9wKCksS2VdKSxoJiZsLnVuc2hpZnQoXCJcIixTKSxjP0wocShsKSk6WW4odCk/TChTZShsKSk6TChxKFNlKGwpKSl9dmFyIG9pPUpsO2Z1bmN0aW9uIFhsKHQpe3JldHVybiB0Lmxlbmd0aD09PTE/dDp0LnRvTG93ZXJDYXNlKCkucmVwbGFjZSgvXihbKy1dP1tcXGQuXStlKSg/OlxcK3woLSkpPzAqKD89XFxkKS91LFwiJDEkMlwiKS5yZXBsYWNlKC9eKFsrLV0/W1xcZC5dKyllWystXT8wKyQvdSxcIiQxXCIpLnJlcGxhY2UoL14oWystXSk/XFwuL3UsXCIkMTAuXCIpLnJlcGxhY2UoLyhcXC5cXGQrPykwKyg/PWV8JCkvdSxcIiQxXCIpLnJlcGxhY2UoL1xcLig/PWV8JCkvdSxcIlwiKX12YXIgYWk9WGw7dmFyIFpyPW5ldyBNYXAoW1tcImVtXCIsXCJlbVwiXSxbXCJyZW1cIixcInJlbVwiXSxbXCJleFwiLFwiZXhcIl0sW1wicmV4XCIsXCJyZXhcIl0sW1wiY2FwXCIsXCJjYXBcIl0sW1wicmNhcFwiLFwicmNhcFwiXSxbXCJjaFwiLFwiY2hcIl0sW1wicmNoXCIsXCJyY2hcIl0sW1wiaWNcIixcImljXCJdLFtcInJpY1wiLFwicmljXCJdLFtcImxoXCIsXCJsaFwiXSxbXCJybGhcIixcInJsaFwiXSxbXCJ2d1wiLFwidndcIl0sW1wic3Z3XCIsXCJzdndcIl0sW1wibHZ3XCIsXCJsdndcIl0sW1wiZHZ3XCIsXCJkdndcIl0sW1widmhcIixcInZoXCJdLFtcInN2aFwiLFwic3ZoXCJdLFtcImx2aFwiLFwibHZoXCJdLFtcImR2aFwiLFwiZHZoXCJdLFtcInZpXCIsXCJ2aVwiXSxbXCJzdmlcIixcInN2aVwiXSxbXCJsdmlcIixcImx2aVwiXSxbXCJkdmlcIixcImR2aVwiXSxbXCJ2YlwiLFwidmJcIl0sW1wic3ZiXCIsXCJzdmJcIl0sW1wibHZiXCIsXCJsdmJcIl0sW1wiZHZiXCIsXCJkdmJcIl0sW1widm1pblwiLFwidm1pblwiXSxbXCJzdm1pblwiLFwic3ZtaW5cIl0sW1wibHZtaW5cIixcImx2bWluXCJdLFtcImR2bWluXCIsXCJkdm1pblwiXSxbXCJ2bWF4XCIsXCJ2bWF4XCJdLFtcInN2bWF4XCIsXCJzdm1heFwiXSxbXCJsdm1heFwiLFwibHZtYXhcIl0sW1wiZHZtYXhcIixcImR2bWF4XCJdLFtcImNtXCIsXCJjbVwiXSxbXCJtbVwiLFwibW1cIl0sW1wicVwiLFwiUVwiXSxbXCJpblwiLFwiaW5cIl0sW1wicHRcIixcInB0XCJdLFtcInBjXCIsXCJwY1wiXSxbXCJweFwiLFwicHhcIl0sW1wiZGVnXCIsXCJkZWdcIl0sW1wiZ3JhZFwiLFwiZ3JhZFwiXSxbXCJyYWRcIixcInJhZFwiXSxbXCJ0dXJuXCIsXCJ0dXJuXCJdLFtcInNcIixcInNcIl0sW1wibXNcIixcIm1zXCJdLFtcImh6XCIsXCJIelwiXSxbXCJraHpcIixcImtIelwiXSxbXCJkcGlcIixcImRwaVwiXSxbXCJkcGNtXCIsXCJkcGNtXCJdLFtcImRwcHhcIixcImRwcHhcIl0sW1wieFwiLFwieFwiXSxbXCJjcXdcIixcImNxd1wiXSxbXCJjcWhcIixcImNxaFwiXSxbXCJjcWlcIixcImNxaVwiXSxbXCJjcWJcIixcImNxYlwiXSxbXCJjcW1pblwiLFwiY3FtaW5cIl0sW1wiY3FtYXhcIixcImNxbWF4XCJdLFtcImZyXCIsXCJmclwiXV0pO2Z1bmN0aW9uIHVpKHQpe2xldCBlPXQudG9Mb3dlckNhc2UoKTtyZXR1cm4gWnIuaGFzKGUpP1pyLmdldChlKTp0fXZhciBsaT0vKFtcIiddKSg/Oig/IVxcMSlbXlxcXFxdfFxcXFwuKSpcXDEvZ3N1LFpsPS8oPzpcXGQqXFwuXFxkK3xcXGQrXFwuPykoPzplWystXT9cXGQrKT8vZ2l1LGVjPS9bYS16XSsvZ2l1LHRjPS9bJEBdP1tfYS16XFx1MDA4MC1cXHVGRkZGXVtcXHdcXHUwMDgwLVxcdUZGRkYtXSovZ2l1LHJjPW5ldyBSZWdFeHAobGkuc291cmNlK2B8KCR7dGMuc291cmNlfSk/KCR7Wmwuc291cmNlfSkoJHtlYy5zb3VyY2V9KT9gLFwiZ2l1XCIpO2Z1bmN0aW9uIHoodCxlKXtyZXR1cm4gayghMSx0LGxpLHM9PkF0KHMsZSkpfWZ1bmN0aW9uIGNpKHQsZSl7bGV0IHM9ZS5zaW5nbGVRdW90ZT9cIidcIjonXCInO3JldHVybiB0LmluY2x1ZGVzKCdcIicpfHx0LmluY2x1ZGVzKFwiJ1wiKT90OnMrdCtzfWZ1bmN0aW9uIG1lKHQpe3JldHVybiBrKCExLHQscmMsKGUscyxyLG4saSk9PiFyJiZuP2VzKG4pK2FlKGl8fFwiXCIpOmUpfWZ1bmN0aW9uIGVzKHQpe3JldHVybiBhaSh0KS5yZXBsYWNlKC9cXC4wKD89JHxlKS91LFwiXCIpfWZ1bmN0aW9uIGZpKHQpe3JldHVybiB0LnRyYWlsaW5nQ29tbWE9PT1cImVzNVwifHx0LnRyYWlsaW5nQ29tbWE9PT1cImFsbFwifWZ1bmN0aW9uIHNjKHQsZSxzKXtsZXQgcj0hIShzIT1udWxsJiZzLmJhY2t3YXJkcyk7aWYoZT09PSExKXJldHVybiExO2xldCBuPXQuY2hhckF0KGUpO2lmKHIpe2lmKHQuY2hhckF0KGUtMSk9PT1cIlxcclwiJiZuPT09YFxuYClyZXR1cm4gZS0yO2lmKG49PT1gXG5gfHxuPT09XCJcXHJcInx8bj09PVwiXFx1MjAyOFwifHxuPT09XCJcXHUyMDI5XCIpcmV0dXJuIGUtMX1lbHNle2lmKG49PT1cIlxcclwiJiZ0LmNoYXJBdChlKzEpPT09YFxuYClyZXR1cm4gZSsyO2lmKG49PT1gXG5gfHxuPT09XCJcXHJcInx8bj09PVwiXFx1MjAyOFwifHxuPT09XCJcXHUyMDI5XCIpcmV0dXJuIGUrMX1yZXR1cm4gZX12YXIgVXQ9c2M7ZnVuY3Rpb24gbmModCxlLHM9e30pe2xldCByPVB0KHQscy5iYWNrd2FyZHM/ZS0xOmUscyksbj1VdCh0LHIscyk7cmV0dXJuIHIhPT1ufXZhciBGdD1uYztmdW5jdGlvbiBpYyh0LGUpe2lmKGU9PT0hMSlyZXR1cm4hMTtpZih0LmNoYXJBdChlKT09PVwiL1wiJiZ0LmNoYXJBdChlKzEpPT09XCIqXCIpe2ZvcihsZXQgcz1lKzI7czx0Lmxlbmd0aDsrK3MpaWYodC5jaGFyQXQocyk9PT1cIipcIiYmdC5jaGFyQXQocysxKT09PVwiL1wiKXJldHVybiBzKzJ9cmV0dXJuIGV9dmFyIHBpPWljO2Z1bmN0aW9uIG9jKHQsZSl7cmV0dXJuIGU9PT0hMT8hMTp0LmNoYXJBdChlKT09PVwiL1wiJiZ0LmNoYXJBdChlKzEpPT09XCIvXCI/UnQodCxlKTplfXZhciBoaT1vYztmdW5jdGlvbiBhYyh0LGUpe2xldCBzPW51bGwscj1lO2Zvcig7ciE9PXM7KXM9cixyPXhuKHQscikscj1waSh0LHIpLHI9UHQodCxyKTtyZXR1cm4gcj1oaSh0LHIpLHI9VXQodCxyKSxyIT09ITEmJkZ0KHQscil9dmFyICR0PWFjO2Z1bmN0aW9uIHVjKHtub2RlOnQscGFyZW50OmV9LHMpe3JldHVybiEhKHQuc291cmNlJiZzLm9yaWdpbmFsVGV4dC5zbGljZShQKHQpLFAoZS5jbG9zZSkpLnRyaW1FbmQoKS5lbmRzV2l0aChcIixcIikpfWZ1bmN0aW9uIGxjKHQsZSl7cmV0dXJuIFZuKHQuZ3JhbmRwYXJlbnQpJiZ1Yyh0LGUpP1wiLFwiOnQubm9kZS50eXBlIT09XCJ2YWx1ZS1jb21tZW50XCImJiEodC5ub2RlLnR5cGU9PT1cInZhbHVlLWNvbW1hX2dyb3VwXCImJnQubm9kZS5ncm91cHMuZXZlcnkocz0+cy50eXBlPT09XCJ2YWx1ZS1jb21tZW50XCIpKSYmZmkoZSkmJnQuY2FsbFBhcmVudCgoKT0+SnIodCxlKSk/Q3QoXCIsXCIpOlwiXCJ9ZnVuY3Rpb24gZGkodCxlLHMpe2xldHtub2RlOnIscGFyZW50Om59PXQsaT10Lm1hcCgoe25vZGU6eX0pPT50eXBlb2YgeT09XCJzdHJpbmdcIj95OnMoKSxcImdyb3Vwc1wiKTtpZihuJiZ6bihuKSYmKHIuZ3JvdXBzLmxlbmd0aD09PTF8fHIuZ3JvdXBzLmxlbmd0aD4wJiZyLmdyb3Vwc1swXS50eXBlPT09XCJ2YWx1ZS1jb21tYV9ncm91cFwiJiZyLmdyb3Vwc1swXS5ncm91cHMubGVuZ3RoPjAmJnIuZ3JvdXBzWzBdLmdyb3Vwc1swXS50eXBlPT09XCJ2YWx1ZS13b3JkXCImJnIuZ3JvdXBzWzBdLmdyb3Vwc1swXS52YWx1ZS5zdGFydHNXaXRoKFwiZGF0YTpcIikpKXJldHVybltyLm9wZW4/cyhcIm9wZW5cIik6XCJcIixZKFwiLFwiLGkpLHIuY2xvc2U/cyhcImNsb3NlXCIpOlwiXCJdO2lmKCFyLm9wZW4pe2xldCB5PXRzKHQpO0VlKGkpO2xldCB4PWNjKFkoXCIsXCIsaSksMiksaD1ZKHk/UzpBLHgpO3JldHVybiBxKHk/W1MsaF06TChTZShoKSkpfWxldCBvPXQubWFwKCh7bm9kZTp5LGlzTGFzdDp4LGluZGV4Omh9KT0+e3ZhciBiO2xldCBkPWlbaF07RHQoeSkmJnkudHlwZT09PVwidmFsdWUtY29tbWFfZ3JvdXBcIiYmeS5ncm91cHMmJnkuZ3JvdXBzWzBdLnR5cGUhPT1cInZhbHVlLXBhcmVuX2dyb3VwXCImJigoYj15Lmdyb3Vwc1syXSk9PW51bGw/dm9pZCAwOmIudHlwZSk9PT1cInZhbHVlLXBhcmVuX2dyb3VwXCImJlEoZCk9PT1yZSYmUShkLmNvbnRlbnRzKT09PXRlJiZRKGQuY29udGVudHMuY29udGVudHMpPT09c2UmJihkPUwoaWUoZCkpKTtsZXQgbT1bZCx4P2xjKHQsZSk6XCIsXCJdO2lmKCF4JiZ5LnR5cGU9PT1cInZhbHVlLWNvbW1hX2dyb3VwXCImJm9lKHkuZ3JvdXBzKSl7bGV0IHc9JCghMSx5Lmdyb3VwcywtMSk7IXcuc291cmNlJiZ3LmNsb3NlJiYodz13LmNsb3NlKSx3LnNvdXJjZSYmJHQoZS5vcmlnaW5hbFRleHQsUih3KSkmJm0ucHVzaChTKX1yZXR1cm4gbX0sXCJncm91cHNcIiksdT1yaShyLG4pLGE9aWkocixuKSxjPUpyKHQsZSksZj1hfHxjJiYhdSxwPWF8fHUsbD1MKFtyLm9wZW4/cyhcIm9wZW5cIik6XCJcIixxKFtCLFkoQSxvKV0pLEIsci5jbG9zZT9zKFwiY2xvc2VcIik6XCJcIl0se3Nob3VsZEJyZWFrOmZ9KTtyZXR1cm4gcD9pZShsKTpsfWZ1bmN0aW9uIHRzKHQpe3JldHVybiB0Lm1hdGNoKGU9PmUudHlwZT09PVwidmFsdWUtcGFyZW5fZ3JvdXBcIiYmIWUub3BlbiYmZS5ncm91cHMuc29tZShzPT5zLnR5cGU9PT1cInZhbHVlLWNvbW1hX2dyb3VwXCIpLChlLHMpPT5zPT09XCJncm91cFwiJiZlLnR5cGU9PT1cInZhbHVlLXZhbHVlXCIsKGUscyk9PnM9PT1cImdyb3VwXCImJmUudHlwZT09PVwidmFsdWUtcm9vdFwiLChlLHMpPT5zPT09XCJ2YWx1ZVwiJiYoZS50eXBlPT09XCJjc3MtZGVjbFwiJiYhZS5wcm9wLnN0YXJ0c1dpdGgoXCItLVwiKXx8ZS50eXBlPT09XCJjc3MtYXRydWxlXCImJmUudmFyaWFibGUpKX1mdW5jdGlvbiBjYyh0LGUpe2xldCBzPVtdO2ZvcihsZXQgcj0wO3I8dC5sZW5ndGg7cis9ZSlzLnB1c2godC5zbGljZShyLHIrZSkpO3JldHVybiBzfWZ1bmN0aW9uIGZjKHQsZSxzKXtsZXQgcj1bXTtyZXR1cm4gdC5lYWNoKCgpPT57bGV0e25vZGU6bixwcmV2aW91czppfT10O2lmKChpPT1udWxsP3ZvaWQgMDppLnR5cGUpPT09XCJjc3MtY29tbWVudFwiJiZpLnRleHQudHJpbSgpPT09XCJwcmV0dGllci1pZ25vcmVcIj9yLnB1c2goZS5vcmlnaW5hbFRleHQuc2xpY2UoUChuKSxSKG4pKSk6ci5wdXNoKHMoKSksdC5pc0xhc3QpcmV0dXJuO2xldHtuZXh0Om99PXQ7by50eXBlPT09XCJjc3MtY29tbWVudFwiJiYhRnQoZS5vcmlnaW5hbFRleHQsUChvKSx7YmFja3dhcmRzOiEwfSkmJiFUZShuKXx8by50eXBlPT09XCJjc3MtYXRydWxlXCImJm8ubmFtZT09PVwiZWxzZVwiJiZuLnR5cGUhPT1cImNzcy1jb21tZW50XCI/ci5wdXNoKFwiIFwiKTooci5wdXNoKGUuX19pc0hUTUxTdHlsZUF0dHJpYnV0ZT9BOlMpLCR0KGUub3JpZ2luYWxUZXh0LFIobikpJiYhVGUobikmJnIucHVzaChTKSl9LFwibm9kZXNcIikscn12YXIgUGU9ZmM7ZnVuY3Rpb24gcGModCxlLHMpe3ZhciBuLGksbyx1LGEsYztsZXR7bm9kZTpyfT10O3N3aXRjaChyLnR5cGUpe2Nhc2VcImZyb250LW1hdHRlclwiOnJldHVybltyLnJhdyxTXTtjYXNlXCJjc3Mtcm9vdFwiOntsZXQgZj1QZSh0LGUscykscD1yLnJhd3MuYWZ0ZXIudHJpbSgpO3JldHVybiBwLnN0YXJ0c1dpdGgoXCI7XCIpJiYocD1wLnNsaWNlKDEpLnRyaW0oKSksW3IuZnJvbnRNYXR0ZXI/W3MoXCJmcm9udE1hdHRlclwiKSxTXTpcIlwiLGYscD9gICR7cH1gOlwiXCIsci5ub2Rlcy5sZW5ndGg+MD9TOlwiXCJdfWNhc2VcImNzcy1jb21tZW50XCI6e2xldCBmPXIuaW5saW5lfHxyLnJhd3MuaW5saW5lLHA9ZS5vcmlnaW5hbFRleHQuc2xpY2UoUChyKSxSKHIpKTtyZXR1cm4gZj9wLnRyaW1FbmQoKTpwfWNhc2VcImNzcy1ydWxlXCI6cmV0dXJuW3MoXCJzZWxlY3RvclwiKSxyLmltcG9ydGFudD9cIiAhaW1wb3J0YW50XCI6XCJcIixyLm5vZGVzP1soKG49ci5zZWxlY3Rvcik9PW51bGw/dm9pZCAwOm4udHlwZSk9PT1cInNlbGVjdG9yLXVua25vd25cIiYmTmUoci5zZWxlY3Rvci52YWx1ZSk/QTpyLnNlbGVjdG9yP1wiIFwiOlwiXCIsXCJ7XCIsci5ub2Rlcy5sZW5ndGg+MD9xKFtTLFBlKHQsZSxzKV0pOlwiXCIsUyxcIn1cIixHbihyKT9cIjtcIjpcIlwiXTpcIjtcIl07Y2FzZVwiY3NzLWRlY2xcIjp7bGV0IGY9dC5wYXJlbnQse2JldHdlZW46cH09ci5yYXdzLGw9cC50cmltKCkseT1sPT09XCI6XCIseD10eXBlb2Ygci52YWx1ZT09XCJzdHJpbmdcIiYmL14gKiQvdS50ZXN0KHIudmFsdWUpLGg9dHlwZW9mIHIudmFsdWU9PVwic3RyaW5nXCI/ci52YWx1ZTpzKFwidmFsdWVcIik7cmV0dXJuIGg9ZWkocik/bm4oaCk6aCwheSYmTmUobCkmJiEoKG89KGk9ci52YWx1ZSk9PW51bGw/dm9pZCAwOmkuZ3JvdXApIT1udWxsJiZvLmdyb3VwJiZ0LmNhbGwoKCk9PnRzKHQpLFwidmFsdWVcIixcImdyb3VwXCIsXCJncm91cFwiKSkmJihoPXEoW1MsaWUoaCldKSksW2soITEsci5yYXdzLmJlZm9yZSwvW1xccztdL2d1LFwiXCIpLGYudHlwZT09PVwiY3NzLWF0cnVsZVwiJiZmLnZhcmlhYmxlfHxXbih0KT9yLnByb3A6YWUoci5wcm9wKSxsLnN0YXJ0c1dpdGgoXCIvL1wiKT9cIiBcIjpcIlwiLGwsci5leHRlbmR8fHg/XCJcIjpcIiBcIixlLnBhcnNlcj09PVwibGVzc1wiJiZyLmV4dGVuZCYmci5zZWxlY3Rvcj9bXCJleHRlbmQoXCIscyhcInNlbGVjdG9yXCIpLFwiKVwiXTpcIlwiLGgsci5yYXdzLmltcG9ydGFudD9yLnJhd3MuaW1wb3J0YW50LnJlcGxhY2UoL1xccyohXFxzKmltcG9ydGFudC9pdSxcIiAhaW1wb3J0YW50XCIpOnIuaW1wb3J0YW50P1wiICFpbXBvcnRhbnRcIjpcIlwiLHIucmF3cy5zY3NzRGVmYXVsdD9yLnJhd3Muc2Nzc0RlZmF1bHQucmVwbGFjZSgvXFxzKiFkZWZhdWx0L2l1LFwiICFkZWZhdWx0XCIpOnIuc2Nzc0RlZmF1bHQ/XCIgIWRlZmF1bHRcIjpcIlwiLHIucmF3cy5zY3NzR2xvYmFsP3IucmF3cy5zY3NzR2xvYmFsLnJlcGxhY2UoL1xccyohZ2xvYmFsL2l1LFwiICFnbG9iYWxcIik6ci5zY3NzR2xvYmFsP1wiICFnbG9iYWxcIjpcIlwiLHIubm9kZXM/W1wiIHtcIixxKFtCLFBlKHQsZSxzKV0pLEIsXCJ9XCJdOlhuKHIpJiYhZi5yYXdzLnNlbWljb2xvbiYmZS5vcmlnaW5hbFRleHRbUihyKS0xXSE9PVwiO1wiP1wiXCI6ZS5fX2lzSFRNTFN0eWxlQXR0cmlidXRlJiZ0LmlzTGFzdD9DdChcIjtcIik6XCI7XCJdfWNhc2VcImNzcy1hdHJ1bGVcIjp7bGV0IGY9dC5wYXJlbnQscD1MdChyKSYmIWYucmF3cy5zZW1pY29sb24mJmUub3JpZ2luYWxUZXh0W1IociktMV0hPT1cIjtcIjtpZihlLnBhcnNlcj09PVwibGVzc1wiKXtpZihyLm1peGluKXJldHVybltzKFwic2VsZWN0b3JcIiksci5pbXBvcnRhbnQ/XCIgIWltcG9ydGFudFwiOlwiXCIscD9cIlwiOlwiO1wiXTtpZihyLmZ1bmN0aW9uKXJldHVybltyLm5hbWUsdHlwZW9mIHIucGFyYW1zPT1cInN0cmluZ1wiP3IucGFyYW1zOnMoXCJwYXJhbXNcIikscD9cIlwiOlwiO1wiXTtpZihyLnZhcmlhYmxlKXJldHVybltcIkBcIixyLm5hbWUsXCI6IFwiLHIudmFsdWU/cyhcInZhbHVlXCIpOlwiXCIsci5yYXdzLmJldHdlZW4udHJpbSgpP3IucmF3cy5iZXR3ZWVuLnRyaW0oKStcIiBcIjpcIlwiLHIubm9kZXM/W1wie1wiLHEoW3Iubm9kZXMubGVuZ3RoPjA/QjpcIlwiLFBlKHQsZSxzKV0pLEIsXCJ9XCJdOlwiXCIscD9cIlwiOlwiO1wiXX1sZXQgbD1yLm5hbWU9PT1cImltcG9ydFwiJiYoKHU9ci5wYXJhbXMpPT1udWxsP3ZvaWQgMDp1LnR5cGUpPT09XCJ2YWx1ZS11bmtub3duXCImJnIucGFyYW1zLnZhbHVlLmVuZHNXaXRoKFwiO1wiKTtyZXR1cm5bXCJAXCIsUXIocil8fHIubmFtZS5lbmRzV2l0aChcIjpcIil8fEx0KHIpP3IubmFtZTphZShyLm5hbWUpLHIucGFyYW1zP1tRcihyKT9cIlwiOkx0KHIpP3IucmF3cy5hZnRlck5hbWU9PT1cIlwiP1wiXCI6ci5uYW1lLmVuZHNXaXRoKFwiOlwiKT9cIiBcIjovXlxccypcXG5cXHMqXFxuL3UudGVzdChyLnJhd3MuYWZ0ZXJOYW1lKT9bUyxTXTovXlxccypcXG4vdS50ZXN0KHIucmF3cy5hZnRlck5hbWUpP1M6XCIgXCI6XCIgXCIsdHlwZW9mIHIucGFyYW1zPT1cInN0cmluZ1wiP3IucGFyYW1zOnMoXCJwYXJhbXNcIildOlwiXCIsci5zZWxlY3Rvcj9xKFtcIiBcIixzKFwic2VsZWN0b3JcIildKTpcIlwiLHIudmFsdWU/TChbXCIgXCIscyhcInZhbHVlXCIpLHR0KHIsZSk/dGkocik/XCIgXCI6QTpcIlwiXSk6ci5uYW1lPT09XCJlbHNlXCI/XCIgXCI6XCJcIixyLm5vZGVzP1t0dChyLGUpP1wiXCI6ci5zZWxlY3RvciYmIXIuc2VsZWN0b3Iubm9kZXMmJnR5cGVvZiByLnNlbGVjdG9yLnZhbHVlPT1cInN0cmluZ1wiJiZOZShyLnNlbGVjdG9yLnZhbHVlKXx8IXIuc2VsZWN0b3ImJnR5cGVvZiByLnBhcmFtcz09XCJzdHJpbmdcIiYmTmUoci5wYXJhbXMpP0E6XCIgXCIsXCJ7XCIscShbci5ub2Rlcy5sZW5ndGg+MD9COlwiXCIsUGUodCxlLHMpXSksQixcIn1cIl06cHx8bD9cIlwiOlwiO1wiXX1jYXNlXCJtZWRpYS1xdWVyeS1saXN0XCI6e2xldCBmPVtdO3JldHVybiB0LmVhY2goKHtub2RlOnB9KT0+e3AudHlwZT09PVwibWVkaWEtcXVlcnlcIiYmcC52YWx1ZT09PVwiXCJ8fGYucHVzaChzKCkpfSxcIm5vZGVzXCIpLEwocShZKEEsZikpKX1jYXNlXCJtZWRpYS1xdWVyeVwiOnJldHVybltZKFwiIFwiLHQubWFwKHMsXCJub2Rlc1wiKSksdC5pc0xhc3Q/XCJcIjpcIixcIl07Y2FzZVwibWVkaWEtdHlwZVwiOnJldHVybiBtZSh6KHIudmFsdWUsZSkpO2Nhc2VcIm1lZGlhLWZlYXR1cmUtZXhwcmVzc2lvblwiOnJldHVybiByLm5vZGVzP1tcIihcIiwuLi50Lm1hcChzLFwibm9kZXNcIiksXCIpXCJdOnIudmFsdWU7Y2FzZVwibWVkaWEtZmVhdHVyZVwiOnJldHVybiBhZSh6KGsoITEsci52YWx1ZSwvICsvZ3UsXCIgXCIpLGUpKTtjYXNlXCJtZWRpYS1jb2xvblwiOnJldHVybltyLnZhbHVlLFwiIFwiXTtjYXNlXCJtZWRpYS12YWx1ZVwiOnJldHVybiBtZSh6KHIudmFsdWUsZSkpO2Nhc2VcIm1lZGlhLWtleXdvcmRcIjpyZXR1cm4geihyLnZhbHVlLGUpO2Nhc2VcIm1lZGlhLXVybFwiOnJldHVybiB6KGsoITEsayghMSxyLnZhbHVlLC9edXJsXFwoXFxzKy9naXUsXCJ1cmwoXCIpLC9cXHMrXFwpJC9ndSxcIilcIiksZSk7Y2FzZVwibWVkaWEtdW5rbm93blwiOnJldHVybiByLnZhbHVlO2Nhc2VcInNlbGVjdG9yLXJvb3RcIjpyZXR1cm4gTChbT2UodCxcImN1c3RvbS1zZWxlY3RvclwiKT9bdC5maW5kQW5jZXN0b3IoZj0+Zi50eXBlPT09XCJjc3MtYXRydWxlXCIpLmN1c3RvbVNlbGVjdG9yLEFdOlwiXCIsWShbXCIsXCIsT2UodCxbXCJleHRlbmRcIixcImN1c3RvbS1zZWxlY3RvclwiLFwibmVzdFwiXSk/QTpTXSx0Lm1hcChzLFwibm9kZXNcIikpXSk7Y2FzZVwic2VsZWN0b3Itc2VsZWN0b3JcIjp7bGV0IGY9ci5ub2Rlcy5sZW5ndGg+MTtyZXR1cm4gTCgoZj9xOnA9PnApKHQubWFwKHMsXCJub2Rlc1wiKSkpfWNhc2VcInNlbGVjdG9yLWNvbW1lbnRcIjpyZXR1cm4gci52YWx1ZTtjYXNlXCJzZWxlY3Rvci1zdHJpbmdcIjpyZXR1cm4geihyLnZhbHVlLGUpO2Nhc2VcInNlbGVjdG9yLXRhZ1wiOnJldHVybltyLm5hbWVzcGFjZT9bci5uYW1lc3BhY2U9PT0hMD9cIlwiOnIubmFtZXNwYWNlLnRyaW0oKSxcInxcIl06XCJcIiwoKGE9dC5wcmV2aW91cyk9PW51bGw/dm9pZCAwOmEudHlwZSk9PT1cInNlbGVjdG9yLW5lc3RpbmdcIj9yLnZhbHVlOm1lKCRuKHQsci52YWx1ZSk/ci52YWx1ZS50b0xvd2VyQ2FzZSgpOnIudmFsdWUpXTtjYXNlXCJzZWxlY3Rvci1pZFwiOnJldHVybltcIiNcIixyLnZhbHVlXTtjYXNlXCJzZWxlY3Rvci1jbGFzc1wiOnJldHVybltcIi5cIixtZSh6KHIudmFsdWUsZSkpXTtjYXNlXCJzZWxlY3Rvci1hdHRyaWJ1dGVcIjpyZXR1cm5bXCJbXCIsci5uYW1lc3BhY2U/W3IubmFtZXNwYWNlPT09ITA/XCJcIjpyLm5hbWVzcGFjZS50cmltKCksXCJ8XCJdOlwiXCIsci5hdHRyaWJ1dGUudHJpbSgpLHIub3BlcmF0b3I/P1wiXCIsci52YWx1ZT9jaSh6KHIudmFsdWUudHJpbSgpLGUpLGUpOlwiXCIsci5pbnNlbnNpdGl2ZT9cIiBpXCI6XCJcIixcIl1cIl07Y2FzZVwic2VsZWN0b3ItY29tYmluYXRvclwiOntpZihyLnZhbHVlPT09XCIrXCJ8fHIudmFsdWU9PT1cIj5cInx8ci52YWx1ZT09PVwiflwifHxyLnZhbHVlPT09XCI+Pj5cIil7bGV0IGw9dC5wYXJlbnQ7cmV0dXJuW2wudHlwZT09PVwic2VsZWN0b3Itc2VsZWN0b3JcIiYmbC5ub2Rlc1swXT09PXI/XCJcIjpBLHIudmFsdWUsdC5pc0xhc3Q/XCJcIjpcIiBcIl19bGV0IGY9ci52YWx1ZS50cmltKCkuc3RhcnRzV2l0aChcIihcIik/QTpcIlwiLHA9bWUoeihyLnZhbHVlLnRyaW0oKSxlKSl8fEE7cmV0dXJuW2YscF19Y2FzZVwic2VsZWN0b3ItdW5pdmVyc2FsXCI6cmV0dXJuW3IubmFtZXNwYWNlP1tyLm5hbWVzcGFjZT09PSEwP1wiXCI6ci5uYW1lc3BhY2UudHJpbSgpLFwifFwiXTpcIlwiLHIudmFsdWVdO2Nhc2VcInNlbGVjdG9yLXBzZXVkb1wiOnJldHVyblthZShyLnZhbHVlKSxvZShyLm5vZGVzKT9MKFtcIihcIixxKFtCLFkoW1wiLFwiLEFdLHQubWFwKHMsXCJub2Rlc1wiKSldKSxCLFwiKVwiXSk6XCJcIl07Y2FzZVwic2VsZWN0b3ItbmVzdGluZ1wiOnJldHVybiByLnZhbHVlO2Nhc2VcInNlbGVjdG9yLXVua25vd25cIjp7bGV0IGY9dC5maW5kQW5jZXN0b3IoeT0+eS50eXBlPT09XCJjc3MtcnVsZVwiKTtpZihmIT1udWxsJiZmLmlzU0NTU05lc3RlclByb3BlcnR5KXJldHVybiBtZSh6KGFlKHIudmFsdWUpLGUpKTtsZXQgcD10LnBhcmVudDtpZigoYz1wLnJhd3MpIT1udWxsJiZjLnNlbGVjdG9yKXtsZXQgeT1QKHApLHg9eStwLnJhd3Muc2VsZWN0b3IubGVuZ3RoO3JldHVybiBlLm9yaWdpbmFsVGV4dC5zbGljZSh5LHgpLnRyaW0oKX1sZXQgbD10LmdyYW5kcGFyZW50O2lmKHAudHlwZT09PVwidmFsdWUtcGFyZW5fZ3JvdXBcIiYmKGw9PW51bGw/dm9pZCAwOmwudHlwZSk9PT1cInZhbHVlLWZ1bmNcIiYmbC52YWx1ZT09PVwic2VsZWN0b3JcIil7bGV0IHk9UihwLm9wZW4pKzEseD1QKHAuY2xvc2UpLGg9ZS5vcmlnaW5hbFRleHQuc2xpY2UoeSx4KS50cmltKCk7cmV0dXJuIE5lKGgpP1tLZSxoXTpofXJldHVybiByLnZhbHVlfWNhc2VcInZhbHVlLXZhbHVlXCI6Y2FzZVwidmFsdWUtcm9vdFwiOnJldHVybiBzKFwiZ3JvdXBcIik7Y2FzZVwidmFsdWUtY29tbWVudFwiOnJldHVybiBlLm9yaWdpbmFsVGV4dC5zbGljZShQKHIpLFIocikpO2Nhc2VcInZhbHVlLWNvbW1hX2dyb3VwXCI6cmV0dXJuIG9pKHQsZSxzKTtjYXNlXCJ2YWx1ZS1wYXJlbl9ncm91cFwiOnJldHVybiBkaSh0LGUscyk7Y2FzZVwidmFsdWUtZnVuY1wiOnJldHVybltyLnZhbHVlLE9lKHQsXCJzdXBwb3J0c1wiKSYmc2kocik/XCIgXCI6XCJcIixzKFwiZ3JvdXBcIildO2Nhc2VcInZhbHVlLXBhcmVuXCI6cmV0dXJuIHIudmFsdWU7Y2FzZVwidmFsdWUtbnVtYmVyXCI6cmV0dXJuW2VzKHIudmFsdWUpLHVpKHIudW5pdCldO2Nhc2VcInZhbHVlLW9wZXJhdG9yXCI6cmV0dXJuIHIudmFsdWU7Y2FzZVwidmFsdWUtd29yZFwiOnJldHVybiByLmlzQ29sb3ImJnIuaXNIZXh8fEZuKHIudmFsdWUpP3IudmFsdWUudG9Mb3dlckNhc2UoKTpyLnZhbHVlO2Nhc2VcInZhbHVlLWNvbG9uXCI6e2xldHtwcmV2aW91czpmfT10O3JldHVybiBMKFtyLnZhbHVlLHR5cGVvZihmPT1udWxsP3ZvaWQgMDpmLnZhbHVlKT09XCJzdHJpbmdcIiYmZi52YWx1ZS5lbmRzV2l0aChcIlxcXFxcIil8fENlKHQsXCJ1cmxcIik/XCJcIjpBXSl9Y2FzZVwidmFsdWUtc3RyaW5nXCI6cmV0dXJuIEF0KHIucmF3cy5xdW90ZStyLnZhbHVlK3IucmF3cy5xdW90ZSxlKTtjYXNlXCJ2YWx1ZS1hdHdvcmRcIjpyZXR1cm5bXCJAXCIsci52YWx1ZV07Y2FzZVwidmFsdWUtdW5pY29kZS1yYW5nZVwiOnJldHVybiByLnZhbHVlO2Nhc2VcInZhbHVlLXVua25vd25cIjpyZXR1cm4gci52YWx1ZTtjYXNlXCJ2YWx1ZS1jb21tYVwiOmRlZmF1bHQ6dGhyb3cgbmV3IGZuKHIsXCJQb3N0Q1NTXCIpfX12YXIgaGM9e3ByaW50OnBjLGVtYmVkOnluLGluc2VydFByYWdtYTpNbixtYXNzYWdlQXN0Tm9kZTpobixnZXRWaXNpdG9yS2V5czp2bn0sbWk9aGM7dmFyIHlpPVt7bGluZ3Vpc3RMYW5ndWFnZUlkOjUwLG5hbWU6XCJDU1NcIix0eXBlOlwibWFya3VwXCIsdG1TY29wZTpcInNvdXJjZS5jc3NcIixhY2VNb2RlOlwiY3NzXCIsY29kZW1pcnJvck1vZGU6XCJjc3NcIixjb2RlbWlycm9yTWltZVR5cGU6XCJ0ZXh0L2Nzc1wiLGNvbG9yOlwiIzU2M2Q3Y1wiLGV4dGVuc2lvbnM6W1wiLmNzc1wiLFwiLnd4c3NcIl0scGFyc2VyczpbXCJjc3NcIl0sdnNjb2RlTGFuZ3VhZ2VJZHM6W1wiY3NzXCJdfSx7bGluZ3Vpc3RMYW5ndWFnZUlkOjI2Mjc2NDQzNyxuYW1lOlwiUG9zdENTU1wiLHR5cGU6XCJtYXJrdXBcIixjb2xvcjpcIiNkYzNhMGNcIix0bVNjb3BlOlwic291cmNlLnBvc3Rjc3NcIixncm91cDpcIkNTU1wiLGV4dGVuc2lvbnM6W1wiLnBjc3NcIixcIi5wb3N0Y3NzXCJdLGFjZU1vZGU6XCJ0ZXh0XCIscGFyc2VyczpbXCJjc3NcIl0sdnNjb2RlTGFuZ3VhZ2VJZHM6W1wicG9zdGNzc1wiXX0se2xpbmd1aXN0TGFuZ3VhZ2VJZDoxOTgsbmFtZTpcIkxlc3NcIix0eXBlOlwibWFya3VwXCIsY29sb3I6XCIjMWQzNjVkXCIsYWxpYXNlczpbXCJsZXNzLWNzc1wiXSxleHRlbnNpb25zOltcIi5sZXNzXCJdLHRtU2NvcGU6XCJzb3VyY2UuY3NzLmxlc3NcIixhY2VNb2RlOlwibGVzc1wiLGNvZGVtaXJyb3JNb2RlOlwiY3NzXCIsY29kZW1pcnJvck1pbWVUeXBlOlwidGV4dC9jc3NcIixwYXJzZXJzOltcImxlc3NcIl0sdnNjb2RlTGFuZ3VhZ2VJZHM6W1wibGVzc1wiXX0se2xpbmd1aXN0TGFuZ3VhZ2VJZDozMjksbmFtZTpcIlNDU1NcIix0eXBlOlwibWFya3VwXCIsY29sb3I6XCIjYzY1MzhjXCIsdG1TY29wZTpcInNvdXJjZS5jc3Muc2Nzc1wiLGFjZU1vZGU6XCJzY3NzXCIsY29kZW1pcnJvck1vZGU6XCJjc3NcIixjb2RlbWlycm9yTWltZVR5cGU6XCJ0ZXh0L3gtc2Nzc1wiLGV4dGVuc2lvbnM6W1wiLnNjc3NcIl0scGFyc2VyczpbXCJzY3NzXCJdLHZzY29kZUxhbmd1YWdlSWRzOltcInNjc3NcIl19XTt2YXIgZ2k9e2JyYWNrZXRTcGFjaW5nOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMCxkZXNjcmlwdGlvbjpcIlByaW50IHNwYWNlcyBiZXR3ZWVuIGJyYWNrZXRzLlwiLG9wcG9zaXRlRGVzY3JpcHRpb246XCJEbyBub3QgcHJpbnQgc3BhY2VzIGJldHdlZW4gYnJhY2tldHMuXCJ9LHNpbmdsZVF1b3RlOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMSxkZXNjcmlwdGlvbjpcIlVzZSBzaW5nbGUgcXVvdGVzIGluc3RlYWQgb2YgZG91YmxlIHF1b3Rlcy5cIn0scHJvc2VXcmFwOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJjaG9pY2VcIixkZWZhdWx0OlwicHJlc2VydmVcIixkZXNjcmlwdGlvbjpcIkhvdyB0byB3cmFwIHByb3NlLlwiLGNob2ljZXM6W3t2YWx1ZTpcImFsd2F5c1wiLGRlc2NyaXB0aW9uOlwiV3JhcCBwcm9zZSBpZiBpdCBleGNlZWRzIHRoZSBwcmludCB3aWR0aC5cIn0se3ZhbHVlOlwibmV2ZXJcIixkZXNjcmlwdGlvbjpcIkRvIG5vdCB3cmFwIHByb3NlLlwifSx7dmFsdWU6XCJwcmVzZXJ2ZVwiLGRlc2NyaXB0aW9uOlwiV3JhcCBwcm9zZSBhcy1pcy5cIn1dfSxicmFja2V0U2FtZUxpbmU6e2NhdGVnb3J5OlwiQ29tbW9uXCIsdHlwZTpcImJvb2xlYW5cIixkZWZhdWx0OiExLGRlc2NyaXB0aW9uOlwiUHV0ID4gb2Ygb3BlbmluZyB0YWdzIG9uIHRoZSBsYXN0IGxpbmUgaW5zdGVhZCBvZiBvbiBhIG5ldyBsaW5lLlwifSxzaW5nbGVBdHRyaWJ1dGVQZXJMaW5lOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMSxkZXNjcmlwdGlvbjpcIkVuZm9yY2Ugc2luZ2xlIGF0dHJpYnV0ZSBwZXIgbGluZSBpbiBIVE1MLCBWdWUgYW5kIEpTWC5cIn19O3ZhciBkYz17c2luZ2xlUXVvdGU6Z2kuc2luZ2xlUXVvdGV9LHdpPWRjO3ZhciBRcz17fTtacyhRcyx7Y3NzOigpPT5DeSxsZXNzOigpPT5PeSxzY3NzOigpPT5BeX0pO3ZhciBpbD14ZShndCgpLDEpLG9sPXhlKFNvKCksMSksYWw9eGUoaWEoKSwxKTtmdW5jdGlvbiBlcCh0LGUpe2xldCBzPW5ldyBTeW50YXhFcnJvcih0K1wiIChcIitlLmxvYy5zdGFydC5saW5lK1wiOlwiK2UubG9jLnN0YXJ0LmNvbHVtbitcIilcIik7cmV0dXJuIE9iamVjdC5hc3NpZ24ocyxlKX12YXIgb2E9ZXA7dmFyIGhhPXhlKHBhKCksMSk7ZnVuY3Rpb24gWCh0LGUscyl7aWYodCYmdHlwZW9mIHQ9PVwib2JqZWN0XCIpe2RlbGV0ZSB0LnBhcmVudDtmb3IobGV0IHIgaW4gdClYKHRbcl0sZSxzKSxyPT09XCJ0eXBlXCImJnR5cGVvZiB0W3JdPT1cInN0cmluZ1wiJiYhdFtyXS5zdGFydHNXaXRoKGUpJiYoIXN8fCFzLnRlc3QodFtyXSkpJiYodFtyXT1lK3Rbcl0pfXJldHVybiB0fWZ1bmN0aW9uIHFzKHQpe2lmKHQmJnR5cGVvZiB0PT1cIm9iamVjdFwiKXtkZWxldGUgdC5wYXJlbnQ7Zm9yKGxldCBlIGluIHQpcXModFtlXSk7IUFycmF5LmlzQXJyYXkodCkmJnQudmFsdWUmJiF0LnR5cGUmJih0LnR5cGU9XCJ1bmtub3duXCIpfXJldHVybiB0fXZhciBwcD1oYS5kZWZhdWx0LmRlZmF1bHQ7ZnVuY3Rpb24gaHAodCl7bGV0IGU7dHJ5e2U9cHAodCl9Y2F0Y2h7cmV0dXJue3R5cGU6XCJzZWxlY3Rvci11bmtub3duXCIsdmFsdWU6dH19cmV0dXJuIFgocXMoZSksXCJtZWRpYS1cIil9dmFyIGRhPWhwO3ZhciB1dT14ZShhdSgpLDEpO2Z1bmN0aW9uIENtKHQpe2lmKC9cXC9cXC98XFwvXFwqL3UudGVzdCh0KSlyZXR1cm57dHlwZTpcInNlbGVjdG9yLXVua25vd25cIix2YWx1ZTp0LnRyaW0oKX07bGV0IGU7dHJ5e25ldyB1dS5kZWZhdWx0KHM9PntlPXN9KS5wcm9jZXNzKHQpfWNhdGNoe3JldHVybnt0eXBlOlwic2VsZWN0b3ItdW5rbm93blwiLHZhbHVlOnR9fXJldHVybiBYKGUsXCJzZWxlY3Rvci1cIil9dmFyIGVlPUNtO3ZhciB0bD14ZShLdSgpLDEpO3ZhciBteT10PT57Zm9yKDt0LnBhcmVudDspdD10LnBhcmVudDtyZXR1cm4gdH0sVXI9bXk7ZnVuY3Rpb24geXkodCl7cmV0dXJuIFVyKHQpLnRleHQuc2xpY2UodC5ncm91cC5vcGVuLnNvdXJjZUluZGV4KzEsdC5ncm91cC5jbG9zZS5zb3VyY2VJbmRleCkudHJpbSgpfXZhciBRdT15eTtmdW5jdGlvbiBneSh0KXtpZihvZSh0KSl7Zm9yKGxldCBlPXQubGVuZ3RoLTE7ZT4wO2UtLSlpZih0W2VdLnR5cGU9PT1cIndvcmRcIiYmdFtlXS52YWx1ZT09PVwie1wiJiZ0W2UtMV0udHlwZT09PVwid29yZFwiJiZ0W2UtMV0udmFsdWUuZW5kc1dpdGgoXCIjXCIpKXJldHVybiEwfXJldHVybiExfXZhciBKdT1neTtmdW5jdGlvbiB3eSh0KXtyZXR1cm4gdC5zb21lKGU9PmUudHlwZT09PVwic3RyaW5nXCJ8fGUudHlwZT09PVwiZnVuY1wiJiYhZS52YWx1ZS5lbmRzV2l0aChcIlxcXFxcIikpfXZhciBYdT13eTtmdW5jdGlvbiB2eSh0LGUpe3JldHVybiEhKGUucGFyc2VyPT09XCJzY3NzXCImJih0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT09XCJ3b3JkXCImJnQudmFsdWUuc3RhcnRzV2l0aChcIiRcIikpfXZhciBadT12eTt2YXIgZWw9dD0+dC50eXBlPT09XCJwYXJlblwiJiZ0LnZhbHVlPT09XCIpXCI7ZnVuY3Rpb24geHkodCxlKXt2YXIgYTtsZXR7bm9kZXM6c309dCxyPXtvcGVuOm51bGwsY2xvc2U6bnVsbCxncm91cHM6W10sdHlwZTpcInBhcmVuX2dyb3VwXCJ9LG49W3JdLGk9cixvPXtncm91cHM6W10sdHlwZTpcImNvbW1hX2dyb3VwXCJ9LHU9W29dO2ZvcihsZXQgYz0wO2M8cy5sZW5ndGg7KytjKXtsZXQgZj1zW2NdO2lmKGUucGFyc2VyPT09XCJzY3NzXCImJmYudHlwZT09PVwibnVtYmVyXCImJmYudW5pdD09PVwiLi5cIiYmZi52YWx1ZS5lbmRzV2l0aChcIi5cIikmJihmLnZhbHVlPWYudmFsdWUuc2xpY2UoMCwtMSksZi51bml0PVwiLi4uXCIpLGYudHlwZT09PVwiZnVuY1wiJiZmLnZhbHVlPT09XCJzZWxlY3RvclwiJiYoZi5ncm91cC5ncm91cHM9W2VlKFVyKHQpLnRleHQuc2xpY2UoZi5ncm91cC5vcGVuLnNvdXJjZUluZGV4KzEsZi5ncm91cC5jbG9zZS5zb3VyY2VJbmRleCkpXSksZi50eXBlPT09XCJmdW5jXCImJmYudmFsdWU9PT1cInVybFwiKXtsZXQgcD0oKGE9Zi5ncm91cCk9PW51bGw/dm9pZCAwOmEuZ3JvdXBzKT8/W10sbD1bXTtmb3IobGV0IHk9MDt5PHAubGVuZ3RoO3krKyl7bGV0IHg9cFt5XTt4LnR5cGU9PT1cImNvbW1hX2dyb3VwXCI/bD1bLi4ubCwuLi54Lmdyb3Vwc106bC5wdXNoKHgpfShKdShsKXx8IVh1KGwpJiYhWnUobFswXSxlKSkmJihmLmdyb3VwLmdyb3Vwcz1bUXUoZildKX1pZihmLnR5cGU9PT1cInBhcmVuXCImJmYudmFsdWU9PT1cIihcIilyPXtvcGVuOmYsY2xvc2U6bnVsbCxncm91cHM6W10sdHlwZTpcInBhcmVuX2dyb3VwXCJ9LG4ucHVzaChyKSxvPXtncm91cHM6W10sdHlwZTpcImNvbW1hX2dyb3VwXCJ9LHUucHVzaChvKTtlbHNlIGlmKGVsKGYpKXtpZihvLmdyb3Vwcy5sZW5ndGg+MCYmci5ncm91cHMucHVzaChvKSxyLmNsb3NlPWYsdS5sZW5ndGg9PT0xKXRocm93IG5ldyBFcnJvcihcIlVuYmFsYW5jZWQgcGFyZW50aGVzaXNcIik7dS5wb3AoKSxvPSQoITEsdSwtMSksby5ncm91cHMucHVzaChyKSxuLnBvcCgpLHI9JCghMSxuLC0xKX1lbHNlIGlmKGYudHlwZT09PVwiY29tbWFcIil7aWYoYz09PXMubGVuZ3RoLTMmJnNbYysxXS50eXBlPT09XCJjb21tZW50XCImJmVsKHNbYysyXSkpY29udGludWU7ci5ncm91cHMucHVzaChvKSxvPXtncm91cHM6W10sdHlwZTpcImNvbW1hX2dyb3VwXCJ9LHVbdS5sZW5ndGgtMV09b31lbHNlIG8uZ3JvdXBzLnB1c2goZil9cmV0dXJuIG8uZ3JvdXBzLmxlbmd0aD4wJiZyLmdyb3Vwcy5wdXNoKG8pLGl9ZnVuY3Rpb24gRnIodCl7cmV0dXJuIHQudHlwZT09PVwicGFyZW5fZ3JvdXBcIiYmIXQub3BlbiYmIXQuY2xvc2UmJnQuZ3JvdXBzLmxlbmd0aD09PTF8fHQudHlwZT09PVwiY29tbWFfZ3JvdXBcIiYmdC5ncm91cHMubGVuZ3RoPT09MT9Gcih0Lmdyb3Vwc1swXSk6dC50eXBlPT09XCJwYXJlbl9ncm91cFwifHx0LnR5cGU9PT1cImNvbW1hX2dyb3VwXCI/ey4uLnQsZ3JvdXBzOnQuZ3JvdXBzLm1hcChGcil9OnR9ZnVuY3Rpb24gcmwodCxlKXtpZih0JiZ0eXBlb2YgdD09XCJvYmplY3RcIilmb3IobGV0IHMgaW4gdClzIT09XCJwYXJlbnRcIiYmKHJsKHRbc10sZSkscz09PVwibm9kZXNcIiYmKHQuZ3JvdXA9RnIoeHkodCxlKSksZGVsZXRlIHRbc10pKTtyZXR1cm4gdH1mdW5jdGlvbiBieSh0LGUpe2lmKGUucGFyc2VyPT09XCJsZXNzXCImJnQuc3RhcnRzV2l0aChcIn5gXCIpKXJldHVybnt0eXBlOlwidmFsdWUtdW5rbm93blwiLHZhbHVlOnR9O2xldCBzPW51bGw7dHJ5e3M9bmV3IHRsLmRlZmF1bHQodCx7bG9vc2U6ITB9KS5wYXJzZSgpfWNhdGNoe3JldHVybnt0eXBlOlwidmFsdWUtdW5rbm93blwiLHZhbHVlOnR9fXMudGV4dD10O2xldCByPXJsKHMsZSk7cmV0dXJuIFgocixcInZhbHVlLVwiLC9ec2VsZWN0b3ItL3UpfXZhciBmZT1ieTt2YXIgX3k9bmV3IFNldChbXCJpbXBvcnRcIixcInVzZVwiLFwiZm9yd2FyZFwiXSk7ZnVuY3Rpb24ga3kodCl7cmV0dXJuIF95Lmhhcyh0KX12YXIgc2w9a3k7ZnVuY3Rpb24gRXkodCxlKXtyZXR1cm4gZS5wYXJzZXIhPT1cInNjc3NcInx8IXQuc2VsZWN0b3I/ITE6dC5zZWxlY3Rvci5yZXBsYWNlKC9cXC9cXCouKj9cXCpcXC8vdSxcIlwiKS5yZXBsYWNlKC9cXC9cXC8uKlxcbi91LFwiXCIpLnRyaW0oKS5lbmRzV2l0aChcIjpcIil9dmFyIG5sPUV5O3ZhciBTeT0vKFxccyopKCFkZWZhdWx0KS4qJC91LFR5PS8oXFxzKikoIWdsb2JhbCkuKiQvdTtmdW5jdGlvbiB1bCh0LGUpe3ZhciBzLHI7aWYodCYmdHlwZW9mIHQ9PVwib2JqZWN0XCIpe2RlbGV0ZSB0LnBhcmVudDtmb3IobGV0IHUgaW4gdCl1bCh0W3VdLGUpO2lmKCF0LnR5cGUpcmV0dXJuIHQ7aWYodC5yYXdzPz8odC5yYXdzPXt9KSx0LnR5cGU9PT1cImNzcy1kZWNsXCImJnR5cGVvZiB0LnByb3A9PVwic3RyaW5nXCImJnQucHJvcC5zdGFydHNXaXRoKFwiLS1cIikmJnR5cGVvZiB0LnZhbHVlPT1cInN0cmluZ1wiJiZ0LnZhbHVlLnN0YXJ0c1dpdGgoXCJ7XCIpKXtsZXQgdTtpZih0LnZhbHVlLnRyaW1FbmQoKS5lbmRzV2l0aChcIn1cIikpe2xldCBhPWUub3JpZ2luYWxUZXh0LnNsaWNlKDAsdC5zb3VyY2Uuc3RhcnQub2Zmc2V0KSxjPVwiYVwiLnJlcGVhdCh0LnByb3AubGVuZ3RoKStlLm9yaWdpbmFsVGV4dC5zbGljZSh0LnNvdXJjZS5zdGFydC5vZmZzZXQrdC5wcm9wLmxlbmd0aCx0LnNvdXJjZS5lbmQub2Zmc2V0KSxmPWsoITEsYSwvW15cXG5dL2d1LFwiIFwiKStjLHA7ZS5wYXJzZXI9PT1cInNjc3NcIj9wPWZsOmUucGFyc2VyPT09XCJsZXNzXCI/cD1jbDpwPWxsO2xldCBsO3RyeXtsPXAoZix7Li4uZX0pfWNhdGNoe30oKHM9bD09bnVsbD92b2lkIDA6bC5ub2Rlcyk9PW51bGw/dm9pZCAwOnMubGVuZ3RoKT09PTEmJmwubm9kZXNbMF0udHlwZT09PVwiY3NzLXJ1bGVcIiYmKHU9bC5ub2Rlc1swXS5ub2Rlcyl9cmV0dXJuIHU/dC52YWx1ZT17dHlwZTpcImNzcy1ydWxlXCIsbm9kZXM6dX06dC52YWx1ZT17dHlwZTpcInZhbHVlLXVua25vd25cIix2YWx1ZTp0LnJhd3MudmFsdWUucmF3fSx0fWxldCBuPVwiXCI7dHlwZW9mIHQuc2VsZWN0b3I9PVwic3RyaW5nXCImJihuPXQucmF3cy5zZWxlY3Rvcj90LnJhd3Muc2VsZWN0b3Iuc2Nzcz8/dC5yYXdzLnNlbGVjdG9yLnJhdzp0LnNlbGVjdG9yLHQucmF3cy5iZXR3ZWVuJiZ0LnJhd3MuYmV0d2Vlbi50cmltKCkubGVuZ3RoPjAmJihuKz10LnJhd3MuYmV0d2VlbiksdC5yYXdzLnNlbGVjdG9yPW4pO2xldCBpPVwiXCI7dHlwZW9mIHQudmFsdWU9PVwic3RyaW5nXCImJihpPXQucmF3cy52YWx1ZT90LnJhd3MudmFsdWUuc2Nzcz8/dC5yYXdzLnZhbHVlLnJhdzp0LnZhbHVlLHQucmF3cy52YWx1ZT1pLnRyaW0oKSk7bGV0IG89XCJcIjtpZih0eXBlb2YgdC5wYXJhbXM9PVwic3RyaW5nXCImJihvPXQucmF3cy5wYXJhbXM/dC5yYXdzLnBhcmFtcy5zY3NzPz90LnJhd3MucGFyYW1zLnJhdzp0LnBhcmFtcyx0LnJhd3MuYWZ0ZXJOYW1lJiZ0LnJhd3MuYWZ0ZXJOYW1lLnRyaW0oKS5sZW5ndGg+MCYmKG89dC5yYXdzLmFmdGVyTmFtZStvKSx0LnJhd3MuYmV0d2VlbiYmdC5yYXdzLmJldHdlZW4udHJpbSgpLmxlbmd0aD4wJiYobz1vK3QucmF3cy5iZXR3ZWVuKSxvPW8udHJpbSgpLHQucmF3cy5wYXJhbXM9byksbi50cmltKCkubGVuZ3RoPjApcmV0dXJuIG4uc3RhcnRzV2l0aChcIkBcIikmJm4uZW5kc1dpdGgoXCI6XCIpP3Q6dC5taXhpbj8odC5zZWxlY3Rvcj1mZShuLGUpLHQpOihubCh0LGUpJiYodC5pc1NDU1NOZXN0ZXJQcm9wZXJ0eT0hMCksdC5zZWxlY3Rvcj1lZShuKSx0KTtpZihpLnRyaW0oKS5sZW5ndGg+MCl7bGV0IHU9aS5tYXRjaChTeSk7dSYmKGk9aS5zbGljZSgwLHUuaW5kZXgpLHQuc2Nzc0RlZmF1bHQ9ITAsdVswXS50cmltKCkhPT1cIiFkZWZhdWx0XCImJih0LnJhd3Muc2Nzc0RlZmF1bHQ9dVswXSkpO2xldCBhPWkubWF0Y2goVHkpO2lmKGEmJihpPWkuc2xpY2UoMCxhLmluZGV4KSx0LnNjc3NHbG9iYWw9ITAsYVswXS50cmltKCkhPT1cIiFnbG9iYWxcIiYmKHQucmF3cy5zY3NzR2xvYmFsPWFbMF0pKSxpLnN0YXJ0c1dpdGgoXCJwcm9naWQ6XCIpKXJldHVybnt0eXBlOlwidmFsdWUtdW5rbm93blwiLHZhbHVlOml9O3QudmFsdWU9ZmUoaSxlKX1pZihlLnBhcnNlcj09PVwibGVzc1wiJiZ0LnR5cGU9PT1cImNzcy1kZWNsXCImJmkuc3RhcnRzV2l0aChcImV4dGVuZChcIikmJih0LmV4dGVuZHx8KHQuZXh0ZW5kPXQucmF3cy5iZXR3ZWVuPT09XCI6XCIpLHQuZXh0ZW5kJiYhdC5zZWxlY3RvciYmKGRlbGV0ZSB0LnZhbHVlLHQuc2VsZWN0b3I9ZWUoaS5zbGljZSg3LC0xKSkpKSx0LnR5cGU9PT1cImNzcy1hdHJ1bGVcIil7aWYoZS5wYXJzZXI9PT1cImxlc3NcIil7aWYodC5taXhpbil7bGV0IHU9dC5yYXdzLmlkZW50aWZpZXIrdC5uYW1lK3QucmF3cy5hZnRlck5hbWUrdC5yYXdzLnBhcmFtcztyZXR1cm4gdC5zZWxlY3Rvcj1lZSh1KSxkZWxldGUgdC5wYXJhbXMsdH1pZih0LmZ1bmN0aW9uKXJldHVybiB0fWlmKGUucGFyc2VyPT09XCJjc3NcIiYmdC5uYW1lPT09XCJjdXN0b20tc2VsZWN0b3JcIil7bGV0IHU9dC5wYXJhbXMubWF0Y2goLzotLVxcUytcXHMrL3UpWzBdLnRyaW0oKTtyZXR1cm4gdC5jdXN0b21TZWxlY3Rvcj11LHQuc2VsZWN0b3I9ZWUodC5wYXJhbXMuc2xpY2UodS5sZW5ndGgpLnRyaW0oKSksZGVsZXRlIHQucGFyYW1zLHR9aWYoZS5wYXJzZXI9PT1cImxlc3NcIil7aWYodC5uYW1lLmluY2x1ZGVzKFwiOlwiKSYmIXQucGFyYW1zKXt0LnZhcmlhYmxlPSEwO2xldCB1PXQubmFtZS5zcGxpdChcIjpcIik7dC5uYW1lPXVbMF0sdC52YWx1ZT1mZSh1LnNsaWNlKDEpLmpvaW4oXCI6XCIpLGUpfWlmKCFbXCJwYWdlXCIsXCJuZXN0XCIsXCJrZXlmcmFtZXNcIl0uaW5jbHVkZXModC5uYW1lKSYmKChyPXQucGFyYW1zKT09bnVsbD92b2lkIDA6clswXSk9PT1cIjpcIil7dC52YXJpYWJsZT0hMDtsZXQgdT10LnBhcmFtcy5zbGljZSgxKTt1JiYodC52YWx1ZT1mZSh1LGUpKSx0LnJhd3MuYWZ0ZXJOYW1lKz1cIjpcIn1pZih0LnZhcmlhYmxlKXJldHVybiBkZWxldGUgdC5wYXJhbXMsdC52YWx1ZXx8ZGVsZXRlIHQudmFsdWUsdH19aWYodC50eXBlPT09XCJjc3MtYXRydWxlXCImJm8ubGVuZ3RoPjApe2xldHtuYW1lOnV9PXQsYT10Lm5hbWUudG9Mb3dlckNhc2UoKTtyZXR1cm4gdT09PVwid2FyblwifHx1PT09XCJlcnJvclwiPyh0LnBhcmFtcz17dHlwZTpcIm1lZGlhLXVua25vd25cIix2YWx1ZTpvfSx0KTp1PT09XCJleHRlbmRcInx8dT09PVwibmVzdFwiPyh0LnNlbGVjdG9yPWVlKG8pLGRlbGV0ZSB0LnBhcmFtcyx0KTp1PT09XCJhdC1yb290XCI/KC9eXFwoXFxzKig/OndpdGhvdXR8d2l0aClcXHMqOi4rXFwpJC9zdS50ZXN0KG8pP3QucGFyYW1zPWZlKG8sZSk6KHQuc2VsZWN0b3I9ZWUobyksZGVsZXRlIHQucGFyYW1zKSx0KTpzbChhKT8odC5pbXBvcnQ9ITAsZGVsZXRlIHQuZmlsZW5hbWUsdC5wYXJhbXM9ZmUobyxlKSx0KTpbXCJuYW1lc3BhY2VcIixcInN1cHBvcnRzXCIsXCJpZlwiLFwiZWxzZVwiLFwiZm9yXCIsXCJlYWNoXCIsXCJ3aGlsZVwiLFwiZGVidWdcIixcIm1peGluXCIsXCJpbmNsdWRlXCIsXCJmdW5jdGlvblwiLFwicmV0dXJuXCIsXCJkZWZpbmUtbWl4aW5cIixcImFkZC1taXhpblwiXS5pbmNsdWRlcyh1KT8obz1vLnJlcGxhY2UoLyhcXCRcXFMrPykoXFxzKyk/XFwuezN9L3UsXCIkMS4uLiQyXCIpLG89by5yZXBsYWNlKC9eKD8haWYpKFxcUyspKFxccyspXFwoL3UsXCIkMSgkMlwiKSx0LnZhbHVlPWZlKG8sZSksZGVsZXRlIHQucGFyYW1zLHQpOltcIm1lZGlhXCIsXCJjdXN0b20tbWVkaWFcIl0uaW5jbHVkZXMoYSk/by5pbmNsdWRlcyhcIiN7XCIpP3t0eXBlOlwibWVkaWEtdW5rbm93blwiLHZhbHVlOm99Oih0LnBhcmFtcz1kYShvKSx0KToodC5wYXJhbXM9byx0KX19cmV0dXJuIHR9ZnVuY3Rpb24gSHModCxlLHMpe2xldCByPVplKGUpLHtmcm9udE1hdHRlcjpufT1yO2U9ci5jb250ZW50O2xldCBpO3RyeXtpPXQoZSx7bWFwOiExfSl9Y2F0Y2gobyl7bGV0e25hbWU6dSxyZWFzb246YSxsaW5lOmMsY29sdW1uOmZ9PW87dGhyb3cgdHlwZW9mIGMhPVwibnVtYmVyXCI/bzpvYShgJHt1fTogJHthfWAse2xvYzp7c3RhcnQ6e2xpbmU6Yyxjb2x1bW46Zn19LGNhdXNlOm99KX1yZXR1cm4gcy5vcmlnaW5hbFRleHQ9ZSxpPXVsKFgoaSxcImNzcy1cIikscyksSHIoaSxlKSxuJiYobi5zb3VyY2U9e3N0YXJ0T2Zmc2V0OjAsZW5kT2Zmc2V0Om4ucmF3Lmxlbmd0aH0saS5mcm9udE1hdHRlcj1uKSxpfWZ1bmN0aW9uIGxsKHQsZT17fSl7cmV0dXJuIEhzKGlsLmRlZmF1bHQuZGVmYXVsdCx0LGUpfWZ1bmN0aW9uIGNsKHQsZT17fSl7cmV0dXJuIEhzKHM9Pm9sLmRlZmF1bHQucGFyc2Uoa24ocykpLHQsZSl9ZnVuY3Rpb24gZmwodCxlPXt9KXtyZXR1cm4gSHMoYWwuZGVmYXVsdCx0LGUpfXZhciBLcz17YXN0Rm9ybWF0OlwicG9zdGNzc1wiLGhhc1ByYWdtYTpCbixsb2NTdGFydDpQLGxvY0VuZDpSfSxDeT17Li4uS3MscGFyc2U6bGx9LE95PXsuLi5LcyxwYXJzZTpjbH0sQXk9ey4uLktzLHBhcnNlOmZsfTt2YXIgTnk9e3Bvc3Rjc3M6bWl9O3ZhciBVYj1KcztleHBvcnR7VWIgYXMgZGVmYXVsdCx5aSBhcyBsYW5ndWFnZXMsd2kgYXMgb3B0aW9ucyxRcyBhcyBwYXJzZXJzLE55IGFzIHByaW50ZXJzfTtcbiIsICJ2YXIgdmQ9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciBUZD1lPT57dGhyb3cgVHlwZUVycm9yKGUpfTt2YXIgUTA9KGUsdCxhKT0+dCBpbiBlP3ZkKGUsdCx7ZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITAsdmFsdWU6YX0pOmVbdF09YTt2YXIgeGQ9KGUsdCk9Pntmb3IodmFyIGEgaW4gdCl2ZChlLGEse2dldDp0W2FdLGVudW1lcmFibGU6ITB9KX07dmFyIE5hPShlLHQsYSk9PlEwKGUsdHlwZW9mIHQhPVwic3ltYm9sXCI/dCtcIlwiOnQsYSksSzA9KGUsdCxhKT0+dC5oYXMoZSl8fFRkKFwiQ2Fubm90IFwiK2EpO3ZhciB5cD0oZSx0LGEpPT50LmhhcyhlKT9UZChcIkNhbm5vdCBhZGQgdGhlIHNhbWUgcHJpdmF0ZSBtZW1iZXIgbW9yZSB0aGFuIG9uY2VcIik6dCBpbnN0YW5jZW9mIFdlYWtTZXQ/dC5hZGQoZSk6dC5zZXQoZSxhKTt2YXIgZ2U9KGUsdCxhKT0+KEswKGUsdCxcImFjY2VzcyBwcml2YXRlIG1ldGhvZFwiKSxhKTt2YXIgZGQ9e307eGQoZGQse3BhcnNlcnM6KCk9PmZkfSk7dmFyIGZkPXt9O3hkKGZkLHt0eXBlc2NyaXB0OigpPT5MNH0pO3ZhciBaMD0oKT0+KCk9Pnt9LElhPVowO3ZhciBleT0oZSx0LGEsbyk9PntpZighKGUmJnQ9PW51bGwpKXJldHVybiB0LnJlcGxhY2VBbGw/dC5yZXBsYWNlQWxsKGEsbyk6YS5nbG9iYWw/dC5yZXBsYWNlKGEsbyk6dC5zcGxpdChhKS5qb2luKG8pfSxTcj1leTt2YXIgd209XCI1LjdcIjt2YXIgYnQ9W10sdHk9bmV3IE1hcDtmdW5jdGlvbiB0cyhlKXtyZXR1cm4gZSE9PXZvaWQgMD9lLmxlbmd0aDowfWZ1bmN0aW9uIFVuKGUsdCl7aWYoZSE9PXZvaWQgMClmb3IobGV0IGE9MDthPGUubGVuZ3RoO2ErKyl7bGV0IG89dChlW2FdLGEpO2lmKG8pcmV0dXJuIG99fWZ1bmN0aW9uIG55KGUsdCl7aWYoZSE9PXZvaWQgMClmb3IobGV0IGE9MDthPGUubGVuZ3RoO2ErKyl7bGV0IG89dChlW2FdLGEpO2lmKG8hPT12b2lkIDApcmV0dXJuIG99fWZ1bmN0aW9uIFNkKGUsdCxhKXtsZXQgbz1bXTtCLmFzc2VydEVxdWFsKGUubGVuZ3RoLHQubGVuZ3RoKTtmb3IobGV0IG09MDttPGUubGVuZ3RoO20rKylvLnB1c2goYShlW21dLHRbbV0sbSkpO3JldHVybiBvfWZ1bmN0aW9uIEdwKGUsdCl7aWYoZSE9PXZvaWQgMCl7Zm9yKGxldCBhPTA7YTxlLmxlbmd0aDthKyspaWYoIXQoZVthXSxhKSlyZXR1cm4hMX1yZXR1cm4hMH1mdW5jdGlvbiBrbShlLHQsYSl7aWYoZSE9PXZvaWQgMClmb3IobGV0IG89YT8/MDtvPGUubGVuZ3RoO28rKyl7bGV0IG09ZVtvXTtpZih0KG0sbykpcmV0dXJuIG19fWZ1bmN0aW9uIGdwKGUsdCxhKXtpZihlPT09dm9pZCAwKXJldHVybi0xO2ZvcihsZXQgbz1hPz8wO288ZS5sZW5ndGg7bysrKWlmKHQoZVtvXSxvKSlyZXR1cm4gbztyZXR1cm4tMX1mdW5jdGlvbiByeShlLHQsYT1YcCl7aWYoZSE9PXZvaWQgMCl7Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspaWYoYShlW29dLHQpKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIEdyKGUsdCl7aWYoZSE9PXZvaWQgMCl7bGV0IGE9ZS5sZW5ndGgsbz0wO2Zvcig7bzxhJiZ0KGVbb10pOylvKys7aWYobzxhKXtsZXQgbT1lLnNsaWNlKDAsbyk7Zm9yKG8rKztvPGE7KXtsZXQgdj1lW29dO3QodikmJm0ucHVzaCh2KSxvKyt9cmV0dXJuIG19fXJldHVybiBlfWZ1bmN0aW9uIFBwKGUsdCl7bGV0IGE7aWYoZSE9PXZvaWQgMCl7YT1bXTtmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKylhLnB1c2godChlW29dLG8pKX1yZXR1cm4gYX1mdW5jdGlvbiBFbShlKXtsZXQgdD1bXTtmb3IobGV0IGE9MDthPGUubGVuZ3RoO2ErKyl7bGV0IG89ZVthXTtvJiYoWXIobyk/RG4odCxvKTp0LnB1c2gobykpfXJldHVybiB0fWZ1bmN0aW9uIEFtKGUsdCl7bGV0IGE7aWYoZSE9PXZvaWQgMClmb3IobGV0IG89MDtvPGUubGVuZ3RoO28rKyl7bGV0IG09dChlW29dLG8pO20mJihZcihtKT9hPURuKGEsbSk6YT1BbihhLG0pKX1yZXR1cm4gYT8/YnR9ZnVuY3Rpb24gaXkoZSx0KXtsZXQgYTtpZihlIT09dm9pZCAwKWZvcihsZXQgbz0wO288ZS5sZW5ndGg7bysrKXtsZXQgbT1lW29dLHY9dChtLG8pOyhhfHxtIT09dnx8WXIodikpJiYoYXx8KGE9ZS5zbGljZSgwLG8pKSxZcih2KT9EbihhLHYpOmEucHVzaCh2KSl9cmV0dXJuIGE/P2V9ZnVuY3Rpb24gYXkoZSx0KXtsZXQgYT1bXTtpZihlIT09dm9pZCAwKWZvcihsZXQgbz0wO288ZS5sZW5ndGg7bysrKXtsZXQgbT10KGVbb10sbyk7bSE9PXZvaWQgMCYmYS5wdXNoKG0pfXJldHVybiBhfWZ1bmN0aW9uIEh0KGUsdCl7aWYoZSE9PXZvaWQgMClpZih0IT09dm9pZCAwKXtmb3IobGV0IGE9MDthPGUubGVuZ3RoO2ErKylpZih0KGVbYV0pKXJldHVybiEwfWVsc2UgcmV0dXJuIGUubGVuZ3RoPjA7cmV0dXJuITF9ZnVuY3Rpb24gWXAoZSx0KXtyZXR1cm4gdD09PXZvaWQgMHx8dC5sZW5ndGg9PT0wP2U6ZT09PXZvaWQgMHx8ZS5sZW5ndGg9PT0wP3Q6Wy4uLmUsLi4udF19ZnVuY3Rpb24gX3koZSx0LGE9WHApe2lmKGU9PT12b2lkIDB8fHQ9PT12b2lkIDApcmV0dXJuIGU9PT10O2lmKGUubGVuZ3RoIT09dC5sZW5ndGgpcmV0dXJuITE7Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspaWYoIWEoZVtvXSx0W29dLG8pKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIEFuKGUsdCl7cmV0dXJuIHQ9PT12b2lkIDA/ZTplPT09dm9pZCAwP1t0XTooZS5wdXNoKHQpLGUpfWZ1bmN0aW9uIE5wKGUsdCl7cmV0dXJuIHQ8MD9lLmxlbmd0aCt0OnR9ZnVuY3Rpb24gRG4oZSx0LGEsbyl7aWYodD09PXZvaWQgMHx8dC5sZW5ndGg9PT0wKXJldHVybiBlO2lmKGU9PT12b2lkIDApcmV0dXJuIHQuc2xpY2UoYSxvKTthPWE9PT12b2lkIDA/MDpOcCh0LGEpLG89bz09PXZvaWQgMD90Lmxlbmd0aDpOcCh0LG8pO2ZvcihsZXQgbT1hO208byYmbTx0Lmxlbmd0aDttKyspdFttXSE9PXZvaWQgMCYmZS5wdXNoKHRbbV0pO3JldHVybiBlfWZ1bmN0aW9uIHN5KGUsdCxhKXtyZXR1cm4gcnkoZSx0LGEpPyExOihlLnB1c2godCksITApfWZ1bmN0aW9uIG95KGUsdCxhKXtyZXR1cm4gZSE9PXZvaWQgMD8oc3koZSx0LGEpLGUpOlt0XX1mdW5jdGlvbiBjeShlLHQpe3JldHVybiBlLmxlbmd0aD09PTA/YnQ6ZS5zbGljZSgpLnNvcnQodCl9dmFyIEI0PUFycmF5LnByb3RvdHlwZS5hdD8oZSx0KT0+ZT09bnVsbD92b2lkIDA6ZS5hdCh0KTooZSx0KT0+e2lmKGUhPT12b2lkIDAmJih0PU5wKGUsdCksdDxlLmxlbmd0aCkpcmV0dXJuIGVbdF19O2Z1bmN0aW9uIEhwKGUpe3JldHVybiBlPT09dm9pZCAwfHxlLmxlbmd0aD09PTA/dm9pZCAwOmVbMF19ZnVuY3Rpb24gR2koZSl7cmV0dXJuIGU9PT12b2lkIDB8fGUubGVuZ3RoPT09MD92b2lkIDA6ZVtlLmxlbmd0aC0xXX1mdW5jdGlvbiBseShlKXtyZXR1cm4gQi5hc3NlcnQoZS5sZW5ndGghPT0wKSxlW2UubGVuZ3RoLTFdfWZ1bmN0aW9uIHV5KGUpe3JldHVybiBlIT09dm9pZCAwJiZlLmxlbmd0aD09PTE/ZVswXTp2b2lkIDB9ZnVuY3Rpb24gcHkoZSx0LGEsbyxtKXtyZXR1cm4gZnkoZSxhKHQpLGEsbyxtKX1mdW5jdGlvbiBmeShlLHQsYSxvLG0pe2lmKCFIdChlKSlyZXR1cm4tMTtsZXQgdj1tPz8wLEE9ZS5sZW5ndGgtMTtmb3IoO3Y8PUE7KXtsZXQgUD12KyhBLXY+PjEpLGw9YShlW1BdLFApO3N3aXRjaChvKGwsdCkpe2Nhc2UtMTp2PVArMTticmVhaztjYXNlIDA6cmV0dXJuIFA7Y2FzZSAxOkE9UC0xO2JyZWFrfX1yZXR1cm5+dn1mdW5jdGlvbiBkeShlLHQsYSxvLG0pe2lmKGUmJmUubGVuZ3RoPjApe2xldCB2PWUubGVuZ3RoO2lmKHY+MCl7bGV0IEE9bz09PXZvaWQgMHx8bzwwPzA6byxQPW09PT12b2lkIDB8fEErbT52LTE/di0xOkErbSxsO2Zvcihhcmd1bWVudHMubGVuZ3RoPD0yPyhsPWVbQV0sQSsrKTpsPWE7QTw9UDspbD10KGwsZVtBXSxBKSxBKys7cmV0dXJuIGx9fXJldHVybiBhfXZhciBDbT1PYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIENyKGUsdCl7cmV0dXJuIENtLmNhbGwoZSx0KX1mdW5jdGlvbiBteShlKXtsZXQgdD1bXTtmb3IobGV0IGEgaW4gZSlDbS5jYWxsKGUsYSkmJnQucHVzaChhKTtyZXR1cm4gdH1mdW5jdGlvbiBoeSgpe2xldCBlPW5ldyBNYXA7cmV0dXJuIGUuYWRkPXl5LGUucmVtb3ZlPWd5LGV9ZnVuY3Rpb24geXkoZSx0KXtsZXQgYT10aGlzLmdldChlKTtyZXR1cm4gYSE9PXZvaWQgMD9hLnB1c2godCk6dGhpcy5zZXQoZSxhPVt0XSksYX1mdW5jdGlvbiBneShlLHQpe2xldCBhPXRoaXMuZ2V0KGUpO2EhPT12b2lkIDAmJihBeShhLHQpLGEubGVuZ3RofHx0aGlzLmRlbGV0ZShlKSl9ZnVuY3Rpb24gWXIoZSl7cmV0dXJuIEFycmF5LmlzQXJyYXkoZSl9ZnVuY3Rpb24gYnAoZSl7cmV0dXJuIFlyKGUpP2U6W2VdfWZ1bmN0aW9uIGJ5KGUsdCl7cmV0dXJuIGUhPT12b2lkIDAmJnQoZSk/ZTp2b2lkIDB9ZnVuY3Rpb24ga3IoZSx0KXtyZXR1cm4gZSE9PXZvaWQgMCYmdChlKT9lOkIuZmFpbChgSW52YWxpZCBjYXN0LiBUaGUgc3VwcGxpZWQgdmFsdWUgJHtlfSBkaWQgbm90IHBhc3MgdGhlIHRlc3QgJyR7Qi5nZXRGdW5jdGlvbk5hbWUodCl9Jy5gKX1mdW5jdGlvbiBGYShlKXt9ZnVuY3Rpb24gdnkoKXtyZXR1cm4hMH1mdW5jdGlvbiBndChlKXtyZXR1cm4gZX1mdW5jdGlvbiB3ZChlKXtsZXQgdDtyZXR1cm4oKT0+KGUmJih0PWUoKSxlPXZvaWQgMCksdCl9ZnVuY3Rpb24gS24oZSl7bGV0IHQ9bmV3IE1hcDtyZXR1cm4gYT0+e2xldCBvPWAke3R5cGVvZiBhfToke2F9YCxtPXQuZ2V0KG8pO3JldHVybiBtPT09dm9pZCAwJiYhdC5oYXMobykmJihtPWUoYSksdC5zZXQobyxtKSksbX19ZnVuY3Rpb24gWHAoZSx0KXtyZXR1cm4gZT09PXR9ZnVuY3Rpb24gJHAoZSx0KXtyZXR1cm4gZT09PXR8fGUhPT12b2lkIDAmJnQhPT12b2lkIDAmJmUudG9VcHBlckNhc2UoKT09PXQudG9VcHBlckNhc2UoKX1mdW5jdGlvbiBUeShlLHQpe3JldHVybiBYcChlLHQpfWZ1bmN0aW9uIHh5KGUsdCl7cmV0dXJuIGU9PT10PzA6ZT09PXZvaWQgMD8tMTp0PT09dm9pZCAwPzE6ZTx0Py0xOjF9ZnVuY3Rpb24gRG0oZSx0KXtyZXR1cm4geHkoZSx0KX1mdW5jdGlvbiBTeShlLHQsYSl7Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspdD1NYXRoLm1heCh0LGEoZVtvXSkpO3JldHVybiB0fWZ1bmN0aW9uIG5zKGUsdCxhKXtsZXQgbz1NYXRoLm1heCgyLE1hdGguZmxvb3IoZS5sZW5ndGgqLjM0KSksbT1NYXRoLmZsb29yKGUubGVuZ3RoKi40KSsxLHY7Zm9yKGxldCBBIG9mIHQpe2xldCBQPWEoQSk7aWYoUCE9PXZvaWQgMCYmTWF0aC5hYnMoUC5sZW5ndGgtZS5sZW5ndGgpPD1vKXtpZihQPT09ZXx8UC5sZW5ndGg8MyYmUC50b0xvd2VyQ2FzZSgpIT09ZS50b0xvd2VyQ2FzZSgpKWNvbnRpbnVlO2xldCBsPXd5KGUsUCxtLS4xKTtpZihsPT09dm9pZCAwKWNvbnRpbnVlO0IuYXNzZXJ0KGw8bSksbT1sLHY9QX19cmV0dXJuIHZ9ZnVuY3Rpb24gd3koZSx0LGEpe2xldCBvPW5ldyBBcnJheSh0Lmxlbmd0aCsxKSxtPW5ldyBBcnJheSh0Lmxlbmd0aCsxKSx2PWErLjAxO2ZvcihsZXQgUD0wO1A8PXQubGVuZ3RoO1ArKylvW1BdPVA7Zm9yKGxldCBQPTE7UDw9ZS5sZW5ndGg7UCsrKXtsZXQgbD1lLmNoYXJDb2RlQXQoUC0xKSxRPU1hdGguY2VpbChQPmE/UC1hOjEpLGg9TWF0aC5mbG9vcih0Lmxlbmd0aD5hK1A/YStQOnQubGVuZ3RoKTttWzBdPVA7bGV0IHk9UDtmb3IobGV0IHg9MTt4PFE7eCsrKW1beF09djtmb3IobGV0IHg9UTt4PD1oO3grKyl7bGV0IEk9ZVtQLTFdLnRvTG93ZXJDYXNlKCk9PT10W3gtMV0udG9Mb3dlckNhc2UoKT9vW3gtMV0rLjE6b1t4LTFdKzIscmU9bD09PXQuY2hhckNvZGVBdCh4LTEpP29beC0xXTpNYXRoLm1pbihvW3hdKzEsbVt4LTFdKzEsSSk7bVt4XT1yZSx5PU1hdGgubWluKHkscmUpfWZvcihsZXQgeD1oKzE7eDw9dC5sZW5ndGg7eCsrKW1beF09djtpZih5PmEpcmV0dXJuO2xldCBnPW87bz1tLG09Z31sZXQgQT1vW3QubGVuZ3RoXTtyZXR1cm4gQT5hP3ZvaWQgMDpBfWZ1bmN0aW9uIGt5KGUsdCxhKXtsZXQgbz1lLmxlbmd0aC10Lmxlbmd0aDtyZXR1cm4gbz49MCYmKGE/JHAoZS5zbGljZShvKSx0KTplLmluZGV4T2YodCxvKT09PW8pfWZ1bmN0aW9uIEV5KGUsdCl7ZVt0XT1lW2UubGVuZ3RoLTFdLGUucG9wKCl9ZnVuY3Rpb24gQXkoZSx0KXtyZXR1cm4gQ3koZSxhPT5hPT09dCl9ZnVuY3Rpb24gQ3koZSx0KXtmb3IobGV0IGE9MDthPGUubGVuZ3RoO2ErKylpZih0KGVbYV0pKXJldHVybiBFeShlLGEpLCEwO3JldHVybiExfWZ1bmN0aW9uIHVsKGUsdCxhKXtyZXR1cm4gYT8kcChlLnNsaWNlKDAsdC5sZW5ndGgpLHQpOmUubGFzdEluZGV4T2YodCwwKT09PTB9ZnVuY3Rpb24gSXAoZSl7cmV0dXJuIGU9PT12b2lkIDA/dm9pZCAwOltlXX12YXIgQjsoZT0+e2xldCB0PTA7ZS5jdXJyZW50TG9nTGV2ZWw9MixlLmlzRGVidWdnaW5nPSExO2Z1bmN0aW9uIGEoTCl7cmV0dXJuIGUuY3VycmVudExvZ0xldmVsPD1MfWUuc2hvdWxkTG9nPWE7ZnVuY3Rpb24gbyhMLHNlKXtlLmxvZ2dpbmdIb3N0JiZhKEwpJiZlLmxvZ2dpbmdIb3N0LmxvZyhMLHNlKX1mdW5jdGlvbiBtKEwpe28oMyxMKX1lLmxvZz1tLChMPT57ZnVuY3Rpb24gc2UoS2Upe28oMSxLZSl9TC5lcnJvcj1zZTtmdW5jdGlvbiBmZShLZSl7bygyLEtlKX1MLndhcm49ZmU7ZnVuY3Rpb24gVGUoS2Upe28oMyxLZSl9TC5sb2c9VGU7ZnVuY3Rpb24gWGUoS2Upe28oNCxLZSl9TC50cmFjZT1YZX0pKG09ZS5sb2d8fChlLmxvZz17fSkpO2xldCB2PXt9O2Z1bmN0aW9uIEEoKXtyZXR1cm4gdH1lLmdldEFzc2VydGlvbkxldmVsPUE7ZnVuY3Rpb24gUChMKXtsZXQgc2U9dDtpZih0PUwsTD5zZSlmb3IobGV0IGZlIG9mIG15KHYpKXtsZXQgVGU9dltmZV07VGUhPT12b2lkIDAmJmVbZmVdIT09VGUuYXNzZXJ0aW9uJiZMPj1UZS5sZXZlbCYmKGVbZmVdPVRlLHZbZmVdPXZvaWQgMCl9fWUuc2V0QXNzZXJ0aW9uTGV2ZWw9UDtmdW5jdGlvbiBsKEwpe3JldHVybiB0Pj1MfWUuc2hvdWxkQXNzZXJ0PWw7ZnVuY3Rpb24gUShMLHNlKXtyZXR1cm4gbChMKT8hMDoodltzZV09e2xldmVsOkwsYXNzZXJ0aW9uOmVbc2VdfSxlW3NlXT1GYSwhMSl9ZnVuY3Rpb24gaChMLHNlKXtkZWJ1Z2dlcjtsZXQgZmU9bmV3IEVycm9yKEw/YERlYnVnIEZhaWx1cmUuICR7TH1gOlwiRGVidWcgRmFpbHVyZS5cIik7dGhyb3cgRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UmJkVycm9yLmNhcHR1cmVTdGFja1RyYWNlKGZlLHNlfHxoKSxmZX1lLmZhaWw9aDtmdW5jdGlvbiB5KEwsc2UsZmUpe3JldHVybiBoKGAke3NlfHxcIlVuZXhwZWN0ZWQgbm9kZS5cIn1cXHJcbk5vZGUgJHtPdChMLmtpbmQpfSB3YXMgdW5leHBlY3RlZC5gLGZlfHx5KX1lLmZhaWxCYWRTeW50YXhLaW5kPXk7ZnVuY3Rpb24gZyhMLHNlLGZlLFRlKXtMfHwoc2U9c2U/YEZhbHNlIGV4cHJlc3Npb246ICR7c2V9YDpcIkZhbHNlIGV4cHJlc3Npb24uXCIsZmUmJihzZSs9YFxcclxuVmVyYm9zZSBEZWJ1ZyBJbmZvcm1hdGlvbjogYCsodHlwZW9mIGZlPT1cInN0cmluZ1wiP2ZlOmZlKCkpKSxoKHNlLFRlfHxnKSl9ZS5hc3NlcnQ9ZztmdW5jdGlvbiB4KEwsc2UsZmUsVGUsWGUpe2lmKEwhPT1zZSl7bGV0IEtlPWZlP1RlP2Ake2ZlfSAke1RlfWA6ZmU6XCJcIjtoKGBFeHBlY3RlZCAke0x9ID09PSAke3NlfS4gJHtLZX1gLFhlfHx4KX19ZS5hc3NlcnRFcXVhbD14O2Z1bmN0aW9uIEkoTCxzZSxmZSxUZSl7TD49c2UmJmgoYEV4cGVjdGVkICR7TH0gPCAke3NlfS4gJHtmZXx8XCJcIn1gLFRlfHxJKX1lLmFzc2VydExlc3NUaGFuPUk7ZnVuY3Rpb24gcmUoTCxzZSxmZSl7TD5zZSYmaChgRXhwZWN0ZWQgJHtMfSA8PSAke3NlfWAsZmV8fHJlKX1lLmFzc2VydExlc3NUaGFuT3JFcXVhbD1yZTtmdW5jdGlvbiBoZShMLHNlLGZlKXtMPHNlJiZoKGBFeHBlY3RlZCAke0x9ID49ICR7c2V9YCxmZXx8aGUpfWUuYXNzZXJ0R3JlYXRlclRoYW5PckVxdWFsPWhlO2Z1bmN0aW9uIHllKEwsc2UsZmUpe0w9PW51bGwmJmgoc2UsZmV8fHllKX1lLmFzc2VydElzRGVmaW5lZD15ZTtmdW5jdGlvbiBkZShMLHNlLGZlKXtyZXR1cm4geWUoTCxzZSxmZXx8ZGUpLEx9ZS5jaGVja0RlZmluZWQ9ZGU7ZnVuY3Rpb24gTShMLHNlLGZlKXtmb3IobGV0IFRlIG9mIEwpeWUoVGUsc2UsZmV8fE0pfWUuYXNzZXJ0RWFjaElzRGVmaW5lZD1NO2Z1bmN0aW9uIGFlKEwsc2UsZmUpe3JldHVybiBNKEwsc2UsZmV8fGFlKSxMfWUuY2hlY2tFYWNoRGVmaW5lZD1hZTtmdW5jdGlvbiBPZShMLHNlPVwiSWxsZWdhbCB2YWx1ZTpcIixmZSl7bGV0IFRlPXR5cGVvZiBMPT1cIm9iamVjdFwiJiZDcihMLFwia2luZFwiKSYmQ3IoTCxcInBvc1wiKT9cIlN5bnRheEtpbmQ6IFwiK090KEwua2luZCk6SlNPTi5zdHJpbmdpZnkoTCk7cmV0dXJuIGgoYCR7c2V9ICR7VGV9YCxmZXx8T2UpfWUuYXNzZXJ0TmV2ZXI9T2U7ZnVuY3Rpb24gVihMLHNlLGZlLFRlKXtRKDEsXCJhc3NlcnRFYWNoTm9kZVwiKSYmZyhzZT09PXZvaWQgMHx8R3AoTCxzZSksZmV8fFwiVW5leHBlY3RlZCBub2RlLlwiLCgpPT5gTm9kZSBhcnJheSBkaWQgbm90IHBhc3MgdGVzdCAnJHtibihzZSl9Jy5gLFRlfHxWKX1lLmFzc2VydEVhY2hOb2RlPVY7ZnVuY3Rpb24gb2UoTCxzZSxmZSxUZSl7USgxLFwiYXNzZXJ0Tm9kZVwiKSYmZyhMIT09dm9pZCAwJiYoc2U9PT12b2lkIDB8fHNlKEwpKSxmZXx8XCJVbmV4cGVjdGVkIG5vZGUuXCIsKCk9PmBOb2RlICR7T3QoTD09bnVsbD92b2lkIDA6TC5raW5kKX0gZGlkIG5vdCBwYXNzIHRlc3QgJyR7Ym4oc2UpfScuYCxUZXx8b2UpfWUuYXNzZXJ0Tm9kZT1vZTtmdW5jdGlvbiBXKEwsc2UsZmUsVGUpe1EoMSxcImFzc2VydE5vdE5vZGVcIikmJmcoTD09PXZvaWQgMHx8c2U9PT12b2lkIDB8fCFzZShMKSxmZXx8XCJVbmV4cGVjdGVkIG5vZGUuXCIsKCk9PmBOb2RlICR7T3QoTC5raW5kKX0gc2hvdWxkIG5vdCBoYXZlIHBhc3NlZCB0ZXN0ICcke2JuKHNlKX0nLmAsVGV8fFcpfWUuYXNzZXJ0Tm90Tm9kZT1XO2Z1bmN0aW9uIGR0KEwsc2UsZmUsVGUpe1EoMSxcImFzc2VydE9wdGlvbmFsTm9kZVwiKSYmZyhzZT09PXZvaWQgMHx8TD09PXZvaWQgMHx8c2UoTCksZmV8fFwiVW5leHBlY3RlZCBub2RlLlwiLCgpPT5gTm9kZSAke090KEw9PW51bGw/dm9pZCAwOkwua2luZCl9IGRpZCBub3QgcGFzcyB0ZXN0ICcke2JuKHNlKX0nLmAsVGV8fGR0KX1lLmFzc2VydE9wdGlvbmFsTm9kZT1kdDtmdW5jdGlvbiBucihMLHNlLGZlLFRlKXtRKDEsXCJhc3NlcnRPcHRpb25hbFRva2VuXCIpJiZnKHNlPT09dm9pZCAwfHxMPT09dm9pZCAwfHxMLmtpbmQ9PT1zZSxmZXx8XCJVbmV4cGVjdGVkIG5vZGUuXCIsKCk9PmBOb2RlICR7T3QoTD09bnVsbD92b2lkIDA6TC5raW5kKX0gd2FzIG5vdCBhICcke090KHNlKX0nIHRva2VuLmAsVGV8fG5yKX1lLmFzc2VydE9wdGlvbmFsVG9rZW49bnI7ZnVuY3Rpb24gZ24oTCxzZSxmZSl7USgxLFwiYXNzZXJ0TWlzc2luZ05vZGVcIikmJmcoTD09PXZvaWQgMCxzZXx8XCJVbmV4cGVjdGVkIG5vZGUuXCIsKCk9PmBOb2RlICR7T3QoTC5raW5kKX0gd2FzIHVuZXhwZWN0ZWQnLmAsZmV8fGduKX1lLmFzc2VydE1pc3NpbmdOb2RlPWduO2Z1bmN0aW9uIHJyKEwpe31lLnR5cGU9cnI7ZnVuY3Rpb24gYm4oTCl7aWYodHlwZW9mIEwhPVwiZnVuY3Rpb25cIilyZXR1cm5cIlwiO2lmKENyKEwsXCJuYW1lXCIpKXJldHVybiBMLm5hbWU7e2xldCBzZT1GdW5jdGlvbi5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChMKSxmZT0vXmZ1bmN0aW9uXFxzKyhbXFx3JF0rKVxccypcXCgvLmV4ZWMoc2UpO3JldHVybiBmZT9mZVsxXTpcIlwifX1lLmdldEZ1bmN0aW9uTmFtZT1ibjtmdW5jdGlvbiBJbihMKXtyZXR1cm5geyBuYW1lOiAke2NzKEwuZXNjYXBlZE5hbWUpfTsgZmxhZ3M6ICR7Y3QoTC5mbGFncyl9OyBkZWNsYXJhdGlvbnM6ICR7UHAoTC5kZWNsYXJhdGlvbnMsc2U9Pk90KHNlLmtpbmQpKX0gfWB9ZS5mb3JtYXRTeW1ib2w9SW47ZnVuY3Rpb24gR2UoTD0wLHNlLGZlKXtsZXQgVGU9UHIoc2UpO2lmKEw9PT0wKXJldHVybiBUZS5sZW5ndGg+MCYmVGVbMF1bMF09PT0wP1RlWzBdWzFdOlwiMFwiO2lmKGZlKXtsZXQgWGU9W10sS2U9TDtmb3IobGV0W3N0LER0XW9mIFRlKXtpZihzdD5MKWJyZWFrO3N0IT09MCYmc3QmTCYmKFhlLnB1c2goRHQpLEtlJj1+c3QpfWlmKEtlPT09MClyZXR1cm4gWGUuam9pbihcInxcIil9ZWxzZSBmb3IobGV0W1hlLEtlXW9mIFRlKWlmKFhlPT09TClyZXR1cm4gS2U7cmV0dXJuIEwudG9TdHJpbmcoKX1lLmZvcm1hdEVudW09R2U7bGV0IGlyPW5ldyBNYXA7ZnVuY3Rpb24gUHIoTCl7bGV0IHNlPWlyLmdldChMKTtpZihzZSlyZXR1cm4gc2U7bGV0IGZlPVtdO2ZvcihsZXQgWGUgaW4gTCl7bGV0IEtlPUxbWGVdO3R5cGVvZiBLZT09XCJudW1iZXJcIiYmZmUucHVzaChbS2UsWGVdKX1sZXQgVGU9Y3koZmUsKFhlLEtlKT0+RG0oWGVbMF0sS2VbMF0pKTtyZXR1cm4gaXIuc2V0KEwsVGUpLFRlfWZ1bmN0aW9uIE90KEwpe3JldHVybiBHZShMLE5lLCExKX1lLmZvcm1hdFN5bnRheEtpbmQ9T3Q7ZnVuY3Rpb24gQm4oTCl7cmV0dXJuIEdlKEwsTW0sITEpfWUuZm9ybWF0U25pcHBldEtpbmQ9Qm47ZnVuY3Rpb24gT24oTCl7cmV0dXJuIEdlKEwsRHIsITEpfWUuZm9ybWF0U2NyaXB0S2luZD1PbjtmdW5jdGlvbiBNdChMKXtyZXR1cm4gR2UoTCxvbiwhMCl9ZS5mb3JtYXROb2RlRmxhZ3M9TXQ7ZnVuY3Rpb24gdnQoTCl7cmV0dXJuIEdlKEwsTm0sITApfWUuZm9ybWF0Tm9kZUNoZWNrRmxhZ3M9dnQ7ZnVuY3Rpb24gUWUoTCl7cmV0dXJuIEdlKEwsUXAsITApfWUuZm9ybWF0TW9kaWZpZXJGbGFncz1RZTtmdW5jdGlvbiBxbihMKXtyZXR1cm4gR2UoTCxPbSwhMCl9ZS5mb3JtYXRUcmFuc2Zvcm1GbGFncz1xbjtmdW5jdGlvbiAkdChMKXtyZXR1cm4gR2UoTCxKbSwhMCl9ZS5mb3JtYXRFbWl0RmxhZ3M9JHQ7ZnVuY3Rpb24gY3QoTCl7cmV0dXJuIEdlKEwsS3AsITApfWUuZm9ybWF0U3ltYm9sRmxhZ3M9Y3Q7ZnVuY3Rpb24gX3QoTCl7cmV0dXJuIEdlKEwsbm4sITApfWUuZm9ybWF0VHlwZUZsYWdzPV90O2Z1bmN0aW9uIFV0KEwpe3JldHVybiBHZShMLEltLCEwKX1lLmZvcm1hdFNpZ25hdHVyZUZsYWdzPVV0O2Z1bmN0aW9uIEp0KEwpe3JldHVybiBHZShMLFpwLCEwKX1lLmZvcm1hdE9iamVjdEZsYWdzPUp0O2Z1bmN0aW9uIGx0KEwpe3JldHVybiBHZShMLE9wLCEwKX1lLmZvcm1hdEZsb3dGbGFncz1sdDtmdW5jdGlvbiBhcihMKXtyZXR1cm4gR2UoTCxQbSwhMCl9ZS5mb3JtYXRSZWxhdGlvbkNvbXBhcmlzb25SZXN1bHQ9YXI7ZnVuY3Rpb24gbXQoTCl7cmV0dXJuIEdlKEwsQ2hlY2tNb2RlLCEwKX1lLmZvcm1hdENoZWNrTW9kZT1tdDtmdW5jdGlvbiB2bihMKXtyZXR1cm4gR2UoTCxTaWduYXR1cmVDaGVja01vZGUsITApfWUuZm9ybWF0U2lnbmF0dXJlQ2hlY2tNb2RlPXZuO2Z1bmN0aW9uIHl0KEwpe3JldHVybiBHZShMLFR5cGVGYWN0cywhMCl9ZS5mb3JtYXRUeXBlRmFjdHM9eXQ7bGV0IGNuPSExLG50O2Z1bmN0aW9uIEJ0KEwpe1wiX19kZWJ1Z0Zsb3dGbGFnc1wiaW4gTHx8T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoTCx7X190c0RlYnVnZ2VyRGlzcGxheTp7dmFsdWUoKXtsZXQgc2U9dGhpcy5mbGFncyYyP1wiRmxvd1N0YXJ0XCI6dGhpcy5mbGFncyY0P1wiRmxvd0JyYW5jaExhYmVsXCI6dGhpcy5mbGFncyY4P1wiRmxvd0xvb3BMYWJlbFwiOnRoaXMuZmxhZ3MmMTY/XCJGbG93QXNzaWdubWVudFwiOnRoaXMuZmxhZ3MmMzI/XCJGbG93VHJ1ZUNvbmRpdGlvblwiOnRoaXMuZmxhZ3MmNjQ/XCJGbG93RmFsc2VDb25kaXRpb25cIjp0aGlzLmZsYWdzJjEyOD9cIkZsb3dTd2l0Y2hDbGF1c2VcIjp0aGlzLmZsYWdzJjI1Nj9cIkZsb3dBcnJheU11dGF0aW9uXCI6dGhpcy5mbGFncyY1MTI/XCJGbG93Q2FsbFwiOnRoaXMuZmxhZ3MmMTAyND9cIkZsb3dSZWR1Y2VMYWJlbFwiOnRoaXMuZmxhZ3MmMT9cIkZsb3dVbnJlYWNoYWJsZVwiOlwiVW5rbm93bkZsb3dcIixmZT10aGlzLmZsYWdzJi0yMDQ4O3JldHVybmAke3NlfSR7ZmU/YCAoJHtsdChmZSl9KWA6XCJcIn1gfX0sX19kZWJ1Z0Zsb3dGbGFnczp7Z2V0KCl7cmV0dXJuIEdlKHRoaXMuZmxhZ3MsT3AsITApfX0sX19kZWJ1Z1RvU3RyaW5nOnt2YWx1ZSgpe3JldHVybiBtcih0aGlzKX19fSl9ZnVuY3Rpb24gcm4oTCl7cmV0dXJuIGNuJiYodHlwZW9mIE9iamVjdC5zZXRQcm90b3R5cGVPZj09XCJmdW5jdGlvblwiPyhudHx8KG50PU9iamVjdC5jcmVhdGUoT2JqZWN0LnByb3RvdHlwZSksQnQobnQpKSxPYmplY3Quc2V0UHJvdG90eXBlT2YoTCxudCkpOkJ0KEwpKSxMfWUuYXR0YWNoRmxvd05vZGVEZWJ1Z0luZm89cm47bGV0IF9yO2Z1bmN0aW9uIGZyKEwpe1wiX190c0RlYnVnZ2VyRGlzcGxheVwiaW4gTHx8T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoTCx7X190c0RlYnVnZ2VyRGlzcGxheTp7dmFsdWUoc2Upe3JldHVybiBzZT1TdHJpbmcoc2UpLnJlcGxhY2UoLyg/OixbXFxzXFx3XSs6W14sXSspK1xcXSQvLFwiXVwiKSxgTm9kZUFycmF5ICR7c2V9YH19fSl9ZnVuY3Rpb24gZHIoTCl7Y24mJih0eXBlb2YgT2JqZWN0LnNldFByb3RvdHlwZU9mPT1cImZ1bmN0aW9uXCI/KF9yfHwoX3I9T2JqZWN0LmNyZWF0ZShBcnJheS5wcm90b3R5cGUpLGZyKF9yKSksT2JqZWN0LnNldFByb3RvdHlwZU9mKEwsX3IpKTpmcihMKSl9ZS5hdHRhY2hOb2RlQXJyYXlEZWJ1Z0luZm89ZHI7ZnVuY3Rpb24gem4oKXtpZihjbilyZXR1cm47bGV0IEw9bmV3IFdlYWtNYXAsc2U9bmV3IFdlYWtNYXA7T2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQXQuZ2V0U3ltYm9sQ29uc3RydWN0b3IoKS5wcm90b3R5cGUse19fdHNEZWJ1Z2dlckRpc3BsYXk6e3ZhbHVlKCl7bGV0IFRlPXRoaXMuZmxhZ3MmMzM1NTQ0MzI/XCJUcmFuc2llbnRTeW1ib2xcIjpcIlN5bWJvbFwiLFhlPXRoaXMuZmxhZ3MmLTMzNTU0NDMzO3JldHVybmAke1RlfSAnJHtMcCh0aGlzKX0nJHtYZT9gICgke2N0KFhlKX0pYDpcIlwifWB9fSxfX2RlYnVnRmxhZ3M6e2dldCgpe3JldHVybiBjdCh0aGlzLmZsYWdzKX19fSksT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoQXQuZ2V0VHlwZUNvbnN0cnVjdG9yKCkucHJvdG90eXBlLHtfX3RzRGVidWdnZXJEaXNwbGF5Ont2YWx1ZSgpe2xldCBUZT10aGlzLmZsYWdzJjY3MzU5MzI3P2BJbnRyaW5zaWNUeXBlICR7dGhpcy5pbnRyaW5zaWNOYW1lfSR7dGhpcy5kZWJ1Z0ludHJpbnNpY05hbWU/YCAoJHt0aGlzLmRlYnVnSW50cmluc2ljTmFtZX0pYDpcIlwifWA6dGhpcy5mbGFncyY5ODMwND9cIk51bGxhYmxlVHlwZVwiOnRoaXMuZmxhZ3MmMzg0P2BMaXRlcmFsVHlwZSAke0pTT04uc3RyaW5naWZ5KHRoaXMudmFsdWUpfWA6dGhpcy5mbGFncyYyMDQ4P2BMaXRlcmFsVHlwZSAke3RoaXMudmFsdWUubmVnYXRpdmU/XCItXCI6XCJcIn0ke3RoaXMudmFsdWUuYmFzZTEwVmFsdWV9bmA6dGhpcy5mbGFncyY4MTkyP1wiVW5pcXVlRVNTeW1ib2xUeXBlXCI6dGhpcy5mbGFncyYzMj9cIkVudW1UeXBlXCI6dGhpcy5mbGFncyYxMDQ4NTc2P1wiVW5pb25UeXBlXCI6dGhpcy5mbGFncyYyMDk3MTUyP1wiSW50ZXJzZWN0aW9uVHlwZVwiOnRoaXMuZmxhZ3MmNDE5NDMwND9cIkluZGV4VHlwZVwiOnRoaXMuZmxhZ3MmODM4ODYwOD9cIkluZGV4ZWRBY2Nlc3NUeXBlXCI6dGhpcy5mbGFncyYxNjc3NzIxNj9cIkNvbmRpdGlvbmFsVHlwZVwiOnRoaXMuZmxhZ3MmMzM1NTQ0MzI/XCJTdWJzdGl0dXRpb25UeXBlXCI6dGhpcy5mbGFncyYyNjIxNDQ/XCJUeXBlUGFyYW1ldGVyXCI6dGhpcy5mbGFncyY1MjQyODg/dGhpcy5vYmplY3RGbGFncyYzP1wiSW50ZXJmYWNlVHlwZVwiOnRoaXMub2JqZWN0RmxhZ3MmND9cIlR5cGVSZWZlcmVuY2VcIjp0aGlzLm9iamVjdEZsYWdzJjg/XCJUdXBsZVR5cGVcIjp0aGlzLm9iamVjdEZsYWdzJjE2P1wiQW5vbnltb3VzVHlwZVwiOnRoaXMub2JqZWN0RmxhZ3MmMzI/XCJNYXBwZWRUeXBlXCI6dGhpcy5vYmplY3RGbGFncyYxMDI0P1wiUmV2ZXJzZU1hcHBlZFR5cGVcIjp0aGlzLm9iamVjdEZsYWdzJjI1Nj9cIkV2b2x2aW5nQXJyYXlUeXBlXCI6XCJPYmplY3RUeXBlXCI6XCJUeXBlXCIsWGU9dGhpcy5mbGFncyY1MjQyODg/dGhpcy5vYmplY3RGbGFncyYtMTM0NDowO3JldHVybmAke1RlfSR7dGhpcy5zeW1ib2w/YCAnJHtMcCh0aGlzLnN5bWJvbCl9J2A6XCJcIn0ke1hlP2AgKCR7SnQoWGUpfSlgOlwiXCJ9YH19LF9fZGVidWdGbGFnczp7Z2V0KCl7cmV0dXJuIF90KHRoaXMuZmxhZ3MpfX0sX19kZWJ1Z09iamVjdEZsYWdzOntnZXQoKXtyZXR1cm4gdGhpcy5mbGFncyY1MjQyODg/SnQodGhpcy5vYmplY3RGbGFncyk6XCJcIn19LF9fZGVidWdUeXBlVG9TdHJpbmc6e3ZhbHVlKCl7bGV0IFRlPUwuZ2V0KHRoaXMpO3JldHVybiBUZT09PXZvaWQgMCYmKFRlPXRoaXMuY2hlY2tlci50eXBlVG9TdHJpbmcodGhpcyksTC5zZXQodGhpcyxUZSkpLFRlfX19KSxPYmplY3QuZGVmaW5lUHJvcGVydGllcyhBdC5nZXRTaWduYXR1cmVDb25zdHJ1Y3RvcigpLnByb3RvdHlwZSx7X19kZWJ1Z0ZsYWdzOntnZXQoKXtyZXR1cm4gVXQodGhpcy5mbGFncyl9fSxfX2RlYnVnU2lnbmF0dXJlVG9TdHJpbmc6e3ZhbHVlKCl7dmFyIFRlO3JldHVybihUZT10aGlzLmNoZWNrZXIpPT1udWxsP3ZvaWQgMDpUZS5zaWduYXR1cmVUb1N0cmluZyh0aGlzKX19fSk7bGV0IGZlPVtBdC5nZXROb2RlQ29uc3RydWN0b3IoKSxBdC5nZXRJZGVudGlmaWVyQ29uc3RydWN0b3IoKSxBdC5nZXRUb2tlbkNvbnN0cnVjdG9yKCksQXQuZ2V0U291cmNlRmlsZUNvbnN0cnVjdG9yKCldO2ZvcihsZXQgVGUgb2YgZmUpQ3IoVGUucHJvdG90eXBlLFwiX19kZWJ1Z0tpbmRcIil8fE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKFRlLnByb3RvdHlwZSx7X190c0RlYnVnZ2VyRGlzcGxheTp7dmFsdWUoKXtyZXR1cm5gJHtVYSh0aGlzKT9cIkdlbmVyYXRlZElkZW50aWZpZXJcIjp0dCh0aGlzKT9gSWRlbnRpZmllciAnJHtQbih0aGlzKX0nYDpnaSh0aGlzKT9gUHJpdmF0ZUlkZW50aWZpZXIgJyR7UG4odGhpcyl9J2A6WWEodGhpcyk/YFN0cmluZ0xpdGVyYWwgJHtKU09OLnN0cmluZ2lmeSh0aGlzLnRleHQubGVuZ3RoPDEwP3RoaXMudGV4dDp0aGlzLnRleHQuc2xpY2UoMTApK1wiLi4uXCIpfWA6ZWEodGhpcyk/YE51bWVyaWNMaXRlcmFsICR7dGhpcy50ZXh0fWA6RDEodGhpcyk/YEJpZ0ludExpdGVyYWwgJHt0aGlzLnRleHR9bmA6RWYodGhpcyk/XCJUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb25cIjpkcyh0aGlzKT9cIlBhcmFtZXRlckRlY2xhcmF0aW9uXCI6QWYodGhpcyk/XCJDb25zdHJ1Y3RvckRlY2xhcmF0aW9uXCI6Z2wodGhpcyk/XCJHZXRBY2Nlc3NvckRlY2xhcmF0aW9uXCI6aHModGhpcyk/XCJTZXRBY2Nlc3NvckRlY2xhcmF0aW9uXCI6TTEodGhpcyk/XCJDYWxsU2lnbmF0dXJlRGVjbGFyYXRpb25cIjpKMSh0aGlzKT9cIkNvbnN0cnVjdFNpZ25hdHVyZURlY2xhcmF0aW9uXCI6Q2YodGhpcyk/XCJJbmRleFNpZ25hdHVyZURlY2xhcmF0aW9uXCI6TDEodGhpcyk/XCJUeXBlUHJlZGljYXRlTm9kZVwiOkRmKHRoaXMpP1wiVHlwZVJlZmVyZW5jZU5vZGVcIjpQZih0aGlzKT9cIkZ1bmN0aW9uVHlwZU5vZGVcIjpOZih0aGlzKT9cIkNvbnN0cnVjdG9yVHlwZU5vZGVcIjpCYih0aGlzKT9cIlR5cGVRdWVyeU5vZGVcIjpqMSh0aGlzKT9cIlR5cGVMaXRlcmFsTm9kZVwiOnFiKHRoaXMpP1wiQXJyYXlUeXBlTm9kZVwiOnpiKHRoaXMpP1wiVHVwbGVUeXBlTm9kZVwiOkZiKHRoaXMpP1wiT3B0aW9uYWxUeXBlTm9kZVwiOlZiKHRoaXMpP1wiUmVzdFR5cGVOb2RlXCI6VTEodGhpcyk/XCJVbmlvblR5cGVOb2RlXCI6QjEodGhpcyk/XCJJbnRlcnNlY3Rpb25UeXBlTm9kZVwiOldiKHRoaXMpP1wiQ29uZGl0aW9uYWxUeXBlTm9kZVwiOkdiKHRoaXMpP1wiSW5mZXJUeXBlTm9kZVwiOnExKHRoaXMpP1wiUGFyZW50aGVzaXplZFR5cGVOb2RlXCI6WWIodGhpcyk/XCJUaGlzVHlwZU5vZGVcIjp6MSh0aGlzKT9cIlR5cGVPcGVyYXRvck5vZGVcIjpIYih0aGlzKT9cIkluZGV4ZWRBY2Nlc3NUeXBlTm9kZVwiOkYxKHRoaXMpP1wiTWFwcGVkVHlwZU5vZGVcIjpYYih0aGlzKT9cIkxpdGVyYWxUeXBlTm9kZVwiOlIxKHRoaXMpP1wiTmFtZWRUdXBsZU1lbWJlclwiOiRiKHRoaXMpP1wiSW1wb3J0VHlwZU5vZGVcIjpPdCh0aGlzLmtpbmQpfSR7dGhpcy5mbGFncz9gICgke010KHRoaXMuZmxhZ3MpfSlgOlwiXCJ9YH19LF9fZGVidWdLaW5kOntnZXQoKXtyZXR1cm4gT3QodGhpcy5raW5kKX19LF9fZGVidWdOb2RlRmxhZ3M6e2dldCgpe3JldHVybiBNdCh0aGlzLmZsYWdzKX19LF9fZGVidWdNb2RpZmllckZsYWdzOntnZXQoKXtyZXR1cm4gUWUoWTIodGhpcykpfX0sX19kZWJ1Z1RyYW5zZm9ybUZsYWdzOntnZXQoKXtyZXR1cm4gcW4odGhpcy50cmFuc2Zvcm1GbGFncyl9fSxfX2RlYnVnSXNQYXJzZVRyZWVOb2RlOntnZXQoKXtyZXR1cm4gbWwodGhpcyl9fSxfX2RlYnVnRW1pdEZsYWdzOntnZXQoKXtyZXR1cm4gJHQoemEodGhpcykpfX0sX19kZWJ1Z0dldFRleHQ6e3ZhbHVlKFhlKXtpZihMYSh0aGlzKSlyZXR1cm5cIlwiO2xldCBLZT1zZS5nZXQodGhpcyk7aWYoS2U9PT12b2lkIDApe2xldCBzdD1kZyh0aGlzKSxEdD1zdCYmaGkoc3QpO0tlPUR0P1VkKER0LHN0LFhlKTpcIlwiLHNlLnNldCh0aGlzLEtlKX1yZXR1cm4gS2V9fX0pO2NuPSEwfWUuZW5hYmxlRGVidWdJbmZvPXpuO2Z1bmN0aW9uIEZuKEwpe2xldCBzZT1MJjcsZmU9c2U9PT0wP1wiaW4gb3V0XCI6c2U9PT0zP1wiW2JpdmFyaWFudF1cIjpzZT09PTI/XCJpblwiOnNlPT09MT9cIm91dFwiOnNlPT09ND9cIltpbmRlcGVuZGVudF1cIjpcIlwiO3JldHVybiBMJjg/ZmUrPVwiICh1bm1lYXN1cmFibGUpXCI6TCYxNiYmKGZlKz1cIiAodW5yZWxpYWJsZSlcIiksZmV9ZS5mb3JtYXRWYXJpYW5jZT1GbjtjbGFzcyBOcntfX2RlYnVnVG9TdHJpbmcoKXt2YXIgc2U7c3dpdGNoKHRoaXMua2luZCl7Y2FzZSAzOnJldHVybigoc2U9dGhpcy5kZWJ1Z0luZm8pPT1udWxsP3ZvaWQgMDpzZS5jYWxsKHRoaXMpKXx8XCIoZnVuY3Rpb24gbWFwcGVyKVwiO2Nhc2UgMDpyZXR1cm5gJHt0aGlzLnNvdXJjZS5fX2RlYnVnVHlwZVRvU3RyaW5nKCl9IC0+ICR7dGhpcy50YXJnZXQuX19kZWJ1Z1R5cGVUb1N0cmluZygpfWA7Y2FzZSAxOnJldHVybiBTZCh0aGlzLnNvdXJjZXMsdGhpcy50YXJnZXRzfHxQcCh0aGlzLnNvdXJjZXMsKCk9PlwiYW55XCIpLChmZSxUZSk9PmAke2ZlLl9fZGVidWdUeXBlVG9TdHJpbmcoKX0gLT4gJHt0eXBlb2YgVGU9PVwic3RyaW5nXCI/VGU6VGUuX19kZWJ1Z1R5cGVUb1N0cmluZygpfWApLmpvaW4oXCIsIFwiKTtjYXNlIDI6cmV0dXJuIFNkKHRoaXMuc291cmNlcyx0aGlzLnRhcmdldHMsKGZlLFRlKT0+YCR7ZmUuX19kZWJ1Z1R5cGVUb1N0cmluZygpfSAtPiAke1RlKCkuX19kZWJ1Z1R5cGVUb1N0cmluZygpfWApLmpvaW4oXCIsIFwiKTtjYXNlIDU6Y2FzZSA0OnJldHVybmBtMTogJHt0aGlzLm1hcHBlcjEuX19kZWJ1Z1RvU3RyaW5nKCkuc3BsaXQoYFxuYCkuam9pbihgXG4gICAgYCl9XG5tMjogJHt0aGlzLm1hcHBlcjIuX19kZWJ1Z1RvU3RyaW5nKCkuc3BsaXQoYFxuYCkuam9pbihgXG4gICAgYCl9YDtkZWZhdWx0OnJldHVybiBPZSh0aGlzKX19fWUuRGVidWdUeXBlTWFwcGVyPU5yO2Z1bmN0aW9uIFZuKEwpe3JldHVybiBlLmlzRGVidWdnaW5nP09iamVjdC5zZXRQcm90b3R5cGVPZihMLE5yLnByb3RvdHlwZSk6TH1lLmF0dGFjaERlYnVnUHJvdG90eXBlSWZEZWJ1Zz1WbjtmdW5jdGlvbiBDZShMKXtyZXR1cm4gY29uc29sZS5sb2cobXIoTCkpfWUucHJpbnRDb250cm9sRmxvd0dyYXBoPUNlO2Z1bmN0aW9uIG1yKEwpe2xldCBzZT0tMTtmdW5jdGlvbiBmZSh1KXtyZXR1cm4gdS5pZHx8KHUuaWQ9c2Usc2UtLSksdS5pZH1sZXQgVGU7KHU9Pnt1LmxyPVwiXFx1MjUwMFwiLHUudWQ9XCJcXHUyNTAyXCIsdS5kcj1cIlxcdTI1NkRcIix1LmRsPVwiXFx1MjU2RVwiLHUudWw9XCJcXHUyNTZGXCIsdS51cj1cIlxcdTI1NzBcIix1LnVkcj1cIlxcdTI1MUNcIix1LnVkbD1cIlxcdTI1MjRcIix1LmRscj1cIlxcdTI1MkNcIix1LnVscj1cIlxcdTI1MzRcIix1LnVkbHI9XCJcXHUyNTZCXCJ9KShUZXx8KFRlPXt9KSk7bGV0IFhlOyh1PT57dVt1Lk5vbmU9MF09XCJOb25lXCIsdVt1LlVwPTFdPVwiVXBcIix1W3UuRG93bj0yXT1cIkRvd25cIix1W3UuTGVmdD00XT1cIkxlZnRcIix1W3UuUmlnaHQ9OF09XCJSaWdodFwiLHVbdS5VcERvd249M109XCJVcERvd25cIix1W3UuTGVmdFJpZ2h0PTEyXT1cIkxlZnRSaWdodFwiLHVbdS5VcExlZnQ9NV09XCJVcExlZnRcIix1W3UuVXBSaWdodD05XT1cIlVwUmlnaHRcIix1W3UuRG93bkxlZnQ9Nl09XCJEb3duTGVmdFwiLHVbdS5Eb3duUmlnaHQ9MTBdPVwiRG93blJpZ2h0XCIsdVt1LlVwRG93bkxlZnQ9N109XCJVcERvd25MZWZ0XCIsdVt1LlVwRG93blJpZ2h0PTExXT1cIlVwRG93blJpZ2h0XCIsdVt1LlVwTGVmdFJpZ2h0PTEzXT1cIlVwTGVmdFJpZ2h0XCIsdVt1LkRvd25MZWZ0UmlnaHQ9MTRdPVwiRG93bkxlZnRSaWdodFwiLHVbdS5VcERvd25MZWZ0UmlnaHQ9MTVdPVwiVXBEb3duTGVmdFJpZ2h0XCIsdVt1Lk5vQ2hpbGRyZW49MTZdPVwiTm9DaGlsZHJlblwifSkoWGV8fChYZT17fSkpO2xldCBLZT0yMDMyLHN0PTg4MixEdD1PYmplY3QuY3JlYXRlKG51bGwpLFR0PVtdLHV0PVtdLElyPVNlKEwsbmV3IFNldCk7Zm9yKGxldCB1IG9mIFR0KXUudGV4dD1ydCh1LmZsb3dOb2RlLHUuY2lyY3VsYXIpLGJlKHUpO2xldCBocj1XZShJciksTW49WmUoaHIpO3JldHVybiBZZShJciwwKSxsbigpO2Z1bmN0aW9uIFduKHUpe3JldHVybiEhKHUuZmxhZ3MmMTI4KX1mdW5jdGlvbiBTaSh1KXtyZXR1cm4hISh1LmZsYWdzJjEyKSYmISF1LmFudGVjZWRlbnR9ZnVuY3Rpb24gUih1KXtyZXR1cm4hISh1LmZsYWdzJktlKX1mdW5jdGlvbiAkKHUpe3JldHVybiEhKHUuZmxhZ3Mmc3QpfWZ1bmN0aW9uIEsodSl7bGV0IEllPVtdO2ZvcihsZXQgTWUgb2YgdS5lZGdlcylNZS5zb3VyY2U9PT11JiZJZS5wdXNoKE1lLnRhcmdldCk7cmV0dXJuIEllfWZ1bmN0aW9uIHhlKHUpe2xldCBJZT1bXTtmb3IobGV0IE1lIG9mIHUuZWRnZXMpTWUudGFyZ2V0PT09dSYmSWUucHVzaChNZS5zb3VyY2UpO3JldHVybiBJZX1mdW5jdGlvbiBTZSh1LEllKXtsZXQgTWU9ZmUodSksVT1EdFtNZV07aWYoVSYmSWUuaGFzKHUpKXJldHVybiBVLmNpcmN1bGFyPSEwLFU9e2lkOi0xLGZsb3dOb2RlOnUsZWRnZXM6W10sdGV4dDpcIlwiLGxhbmU6LTEsZW5kTGFuZTotMSxsZXZlbDotMSxjaXJjdWxhcjpcImNpcmN1bGFyaXR5XCJ9LFR0LnB1c2goVSksVTtpZihJZS5hZGQodSksIVUpaWYoRHRbTWVdPVU9e2lkOk1lLGZsb3dOb2RlOnUsZWRnZXM6W10sdGV4dDpcIlwiLGxhbmU6LTEsZW5kTGFuZTotMSxsZXZlbDotMSxjaXJjdWxhcjohMX0sVHQucHVzaChVKSxTaSh1KSlmb3IobGV0IHplIG9mIHUuYW50ZWNlZGVudCl3ZShVLHplLEllKTtlbHNlIFIodSkmJndlKFUsdS5hbnRlY2VkZW50LEllKTtyZXR1cm4gSWUuZGVsZXRlKHUpLFV9ZnVuY3Rpb24gd2UodSxJZSxNZSl7bGV0IFU9U2UoSWUsTWUpLHplPXtzb3VyY2U6dSx0YXJnZXQ6VX07dXQucHVzaCh6ZSksdS5lZGdlcy5wdXNoKHplKSxVLmVkZ2VzLnB1c2goemUpfWZ1bmN0aW9uIGJlKHUpe2lmKHUubGV2ZWwhPT0tMSlyZXR1cm4gdS5sZXZlbDtsZXQgSWU9MDtmb3IobGV0IE1lIG9mIHhlKHUpKUllPU1hdGgubWF4KEllLGJlKE1lKSsxKTtyZXR1cm4gdS5sZXZlbD1JZX1mdW5jdGlvbiBXZSh1KXtsZXQgSWU9MDtmb3IobGV0IE1lIG9mIEsodSkpSWU9TWF0aC5tYXgoSWUsV2UoTWUpKTtyZXR1cm4gSWUrMX1mdW5jdGlvbiBaZSh1KXtsZXQgSWU9SihBcnJheSh1KSwwKTtmb3IobGV0IE1lIG9mIFR0KUllW01lLmxldmVsXT1NYXRoLm1heChJZVtNZS5sZXZlbF0sTWUudGV4dC5sZW5ndGgpO3JldHVybiBJZX1mdW5jdGlvbiBZZSh1LEllKXtpZih1LmxhbmU9PT0tMSl7dS5sYW5lPUllLHUuZW5kTGFuZT1JZTtsZXQgTWU9Syh1KTtmb3IobGV0IFU9MDtVPE1lLmxlbmd0aDtVKyspe1U+MCYmSWUrKztsZXQgemU9TWVbVV07WWUoemUsSWUpLHplLmVuZExhbmU+dS5lbmRMYW5lJiYoSWU9emUuZW5kTGFuZSl9dS5lbmRMYW5lPUllfX1mdW5jdGlvbiBFZSh1KXtpZih1JjIpcmV0dXJuXCJTdGFydFwiO2lmKHUmNClyZXR1cm5cIkJyYW5jaFwiO2lmKHUmOClyZXR1cm5cIkxvb3BcIjtpZih1JjE2KXJldHVyblwiQXNzaWdubWVudFwiO2lmKHUmMzIpcmV0dXJuXCJUcnVlXCI7aWYodSY2NClyZXR1cm5cIkZhbHNlXCI7aWYodSYxMjgpcmV0dXJuXCJTd2l0Y2hDbGF1c2VcIjtpZih1JjI1NilyZXR1cm5cIkFycmF5TXV0YXRpb25cIjtpZih1JjUxMilyZXR1cm5cIkNhbGxcIjtpZih1JjEwMjQpcmV0dXJuXCJSZWR1Y2VMYWJlbFwiO2lmKHUmMSlyZXR1cm5cIlVucmVhY2hhYmxlXCI7dGhyb3cgbmV3IEVycm9yfWZ1bmN0aW9uIFRuKHUpe2xldCBJZT1oaSh1KTtyZXR1cm4gVWQoSWUsdSwhMSl9ZnVuY3Rpb24gcnQodSxJZSl7bGV0IE1lPUVlKHUuZmxhZ3MpO2lmKEllJiYoTWU9YCR7TWV9IyR7ZmUodSl9YCksV24odSkpe2xldCBVPVtdLHtzd2l0Y2hTdGF0ZW1lbnQ6emUsY2xhdXNlU3RhcnQ6YW4sY2xhdXNlRW5kOlZlfT11Lm5vZGU7Zm9yKGxldCAkZT1hbjskZTxWZTskZSsrKXtsZXQgUHQ9emUuY2FzZUJsb2NrLmNsYXVzZXNbJGVdO242KFB0KT9VLnB1c2goXCJkZWZhdWx0XCIpOlUucHVzaChUbihQdC5leHByZXNzaW9uKSl9TWUrPWAgKCR7VS5qb2luKFwiLCBcIil9KWB9ZWxzZSAkKHUpJiZ1Lm5vZGUmJihNZSs9YCAoJHtUbih1Lm5vZGUpfSlgKTtyZXR1cm4gSWU9PT1cImNpcmN1bGFyaXR5XCI/YENpcmN1bGFyKCR7TWV9KWA6TWV9ZnVuY3Rpb24gbG4oKXtsZXQgdT1Nbi5sZW5ndGgsSWU9U3koVHQsMCxWZT0+VmUubGFuZSkrMSxNZT1KKEFycmF5KEllKSxcIlwiKSxVPU1uLm1hcCgoKT0+QXJyYXkoSWUpKSx6ZT1Nbi5tYXAoKCk9PkooQXJyYXkoSWUpLDApKTtmb3IobGV0IFZlIG9mIFR0KXtVW1ZlLmxldmVsXVtWZS5sYW5lXT1WZTtsZXQgJGU9SyhWZSk7Zm9yKGxldCBrdD0wO2t0PCRlLmxlbmd0aDtrdCsrKXtsZXQgTnQ9JGVba3RdLHF0PTg7TnQubGFuZT09PVZlLmxhbmUmJihxdHw9NCksa3Q+MCYmKHF0fD0xKSxrdDwkZS5sZW5ndGgtMSYmKHF0fD0yKSx6ZVtWZS5sZXZlbF1bTnQubGFuZV18PXF0fSRlLmxlbmd0aD09PTAmJih6ZVtWZS5sZXZlbF1bVmUubGFuZV18PTE2KTtsZXQgUHQ9eGUoVmUpO2ZvcihsZXQga3Q9MDtrdDxQdC5sZW5ndGg7a3QrKyl7bGV0IE50PVB0W2t0XSxxdD00O2t0PjAmJihxdHw9MSksa3Q8UHQubGVuZ3RoLTEmJihxdHw9MiksemVbVmUubGV2ZWwtMV1bTnQubGFuZV18PXF0fX1mb3IobGV0IFZlPTA7VmU8dTtWZSsrKWZvcihsZXQgJGU9MDskZTxJZTskZSsrKXtsZXQgUHQ9VmU+MD96ZVtWZS0xXVskZV06MCxrdD0kZT4wP3plW1ZlXVskZS0xXTowLE50PXplW1ZlXVskZV07TnR8fChQdCY4JiYoTnR8PTEyKSxrdCYyJiYoTnR8PTMpLHplW1ZlXVskZV09TnQpfWZvcihsZXQgVmU9MDtWZTx1O1ZlKyspZm9yKGxldCAkZT0wOyRlPE1lLmxlbmd0aDskZSsrKXtsZXQgUHQ9emVbVmVdWyRlXSxrdD1QdCY0P1wiXFx1MjUwMFwiOlwiIFwiLE50PVVbVmVdWyRlXTtOdD8oYW4oJGUsTnQudGV4dCksVmU8dS0xJiYoYW4oJGUsXCIgXCIpLGFuKCRlLHFlKGt0LE1uW1ZlXS1OdC50ZXh0Lmxlbmd0aCkpKSk6VmU8dS0xJiZhbigkZSxxZShrdCxNbltWZV0rMSkpLGFuKCRlLFpyKFB0KSksYW4oJGUsUHQmOCYmVmU8dS0xJiYhVVtWZSsxXVskZV0/XCJcXHUyNTAwXCI6XCIgXCIpfXJldHVybmBcbiR7TWUuam9pbihgXG5gKX1cbmA7ZnVuY3Rpb24gYW4oVmUsJGUpe01lW1ZlXSs9JGV9fWZ1bmN0aW9uIFpyKHUpe3N3aXRjaCh1KXtjYXNlIDM6cmV0dXJuXCJcXHUyNTAyXCI7Y2FzZSAxMjpyZXR1cm5cIlxcdTI1MDBcIjtjYXNlIDU6cmV0dXJuXCJcXHUyNTZGXCI7Y2FzZSA5OnJldHVyblwiXFx1MjU3MFwiO2Nhc2UgNjpyZXR1cm5cIlxcdTI1NkVcIjtjYXNlIDEwOnJldHVyblwiXFx1MjU2RFwiO2Nhc2UgNzpyZXR1cm5cIlxcdTI1MjRcIjtjYXNlIDExOnJldHVyblwiXFx1MjUxQ1wiO2Nhc2UgMTM6cmV0dXJuXCJcXHUyNTM0XCI7Y2FzZSAxNDpyZXR1cm5cIlxcdTI1MkNcIjtjYXNlIDE1OnJldHVyblwiXFx1MjU2QlwifXJldHVyblwiIFwifWZ1bmN0aW9uIEoodSxJZSl7aWYodS5maWxsKXUuZmlsbChJZSk7ZWxzZSBmb3IobGV0IE1lPTA7TWU8dS5sZW5ndGg7TWUrKyl1W01lXT1JZTtyZXR1cm4gdX1mdW5jdGlvbiBxZSh1LEllKXtpZih1LnJlcGVhdClyZXR1cm4gSWU+MD91LnJlcGVhdChJZSk6XCJcIjtsZXQgTWU9XCJcIjtmb3IoO01lLmxlbmd0aDxJZTspTWUrPXU7cmV0dXJuIE1lfX1lLmZvcm1hdENvbnRyb2xGbG93R3JhcGg9bXJ9KShCfHwoQj17fSkpO3ZhciBxND1EYXRlLm5vdyxrZD0oKT0+e30sRHk9KCk9Pnt9LF9sLE5lPShlPT4oZVtlLlVua25vd249MF09XCJVbmtub3duXCIsZVtlLkVuZE9mRmlsZVRva2VuPTFdPVwiRW5kT2ZGaWxlVG9rZW5cIixlW2UuU2luZ2xlTGluZUNvbW1lbnRUcml2aWE9Ml09XCJTaW5nbGVMaW5lQ29tbWVudFRyaXZpYVwiLGVbZS5NdWx0aUxpbmVDb21tZW50VHJpdmlhPTNdPVwiTXVsdGlMaW5lQ29tbWVudFRyaXZpYVwiLGVbZS5OZXdMaW5lVHJpdmlhPTRdPVwiTmV3TGluZVRyaXZpYVwiLGVbZS5XaGl0ZXNwYWNlVHJpdmlhPTVdPVwiV2hpdGVzcGFjZVRyaXZpYVwiLGVbZS5TaGViYW5nVHJpdmlhPTZdPVwiU2hlYmFuZ1RyaXZpYVwiLGVbZS5Db25mbGljdE1hcmtlclRyaXZpYT03XT1cIkNvbmZsaWN0TWFya2VyVHJpdmlhXCIsZVtlLk5vblRleHRGaWxlTWFya2VyVHJpdmlhPThdPVwiTm9uVGV4dEZpbGVNYXJrZXJUcml2aWFcIixlW2UuTnVtZXJpY0xpdGVyYWw9OV09XCJOdW1lcmljTGl0ZXJhbFwiLGVbZS5CaWdJbnRMaXRlcmFsPTEwXT1cIkJpZ0ludExpdGVyYWxcIixlW2UuU3RyaW5nTGl0ZXJhbD0xMV09XCJTdHJpbmdMaXRlcmFsXCIsZVtlLkpzeFRleHQ9MTJdPVwiSnN4VGV4dFwiLGVbZS5Kc3hUZXh0QWxsV2hpdGVTcGFjZXM9MTNdPVwiSnN4VGV4dEFsbFdoaXRlU3BhY2VzXCIsZVtlLlJlZ3VsYXJFeHByZXNzaW9uTGl0ZXJhbD0xNF09XCJSZWd1bGFyRXhwcmVzc2lvbkxpdGVyYWxcIixlW2UuTm9TdWJzdGl0dXRpb25UZW1wbGF0ZUxpdGVyYWw9MTVdPVwiTm9TdWJzdGl0dXRpb25UZW1wbGF0ZUxpdGVyYWxcIixlW2UuVGVtcGxhdGVIZWFkPTE2XT1cIlRlbXBsYXRlSGVhZFwiLGVbZS5UZW1wbGF0ZU1pZGRsZT0xN109XCJUZW1wbGF0ZU1pZGRsZVwiLGVbZS5UZW1wbGF0ZVRhaWw9MThdPVwiVGVtcGxhdGVUYWlsXCIsZVtlLk9wZW5CcmFjZVRva2VuPTE5XT1cIk9wZW5CcmFjZVRva2VuXCIsZVtlLkNsb3NlQnJhY2VUb2tlbj0yMF09XCJDbG9zZUJyYWNlVG9rZW5cIixlW2UuT3BlblBhcmVuVG9rZW49MjFdPVwiT3BlblBhcmVuVG9rZW5cIixlW2UuQ2xvc2VQYXJlblRva2VuPTIyXT1cIkNsb3NlUGFyZW5Ub2tlblwiLGVbZS5PcGVuQnJhY2tldFRva2VuPTIzXT1cIk9wZW5CcmFja2V0VG9rZW5cIixlW2UuQ2xvc2VCcmFja2V0VG9rZW49MjRdPVwiQ2xvc2VCcmFja2V0VG9rZW5cIixlW2UuRG90VG9rZW49MjVdPVwiRG90VG9rZW5cIixlW2UuRG90RG90RG90VG9rZW49MjZdPVwiRG90RG90RG90VG9rZW5cIixlW2UuU2VtaWNvbG9uVG9rZW49MjddPVwiU2VtaWNvbG9uVG9rZW5cIixlW2UuQ29tbWFUb2tlbj0yOF09XCJDb21tYVRva2VuXCIsZVtlLlF1ZXN0aW9uRG90VG9rZW49MjldPVwiUXVlc3Rpb25Eb3RUb2tlblwiLGVbZS5MZXNzVGhhblRva2VuPTMwXT1cIkxlc3NUaGFuVG9rZW5cIixlW2UuTGVzc1RoYW5TbGFzaFRva2VuPTMxXT1cIkxlc3NUaGFuU2xhc2hUb2tlblwiLGVbZS5HcmVhdGVyVGhhblRva2VuPTMyXT1cIkdyZWF0ZXJUaGFuVG9rZW5cIixlW2UuTGVzc1RoYW5FcXVhbHNUb2tlbj0zM109XCJMZXNzVGhhbkVxdWFsc1Rva2VuXCIsZVtlLkdyZWF0ZXJUaGFuRXF1YWxzVG9rZW49MzRdPVwiR3JlYXRlclRoYW5FcXVhbHNUb2tlblwiLGVbZS5FcXVhbHNFcXVhbHNUb2tlbj0zNV09XCJFcXVhbHNFcXVhbHNUb2tlblwiLGVbZS5FeGNsYW1hdGlvbkVxdWFsc1Rva2VuPTM2XT1cIkV4Y2xhbWF0aW9uRXF1YWxzVG9rZW5cIixlW2UuRXF1YWxzRXF1YWxzRXF1YWxzVG9rZW49MzddPVwiRXF1YWxzRXF1YWxzRXF1YWxzVG9rZW5cIixlW2UuRXhjbGFtYXRpb25FcXVhbHNFcXVhbHNUb2tlbj0zOF09XCJFeGNsYW1hdGlvbkVxdWFsc0VxdWFsc1Rva2VuXCIsZVtlLkVxdWFsc0dyZWF0ZXJUaGFuVG9rZW49MzldPVwiRXF1YWxzR3JlYXRlclRoYW5Ub2tlblwiLGVbZS5QbHVzVG9rZW49NDBdPVwiUGx1c1Rva2VuXCIsZVtlLk1pbnVzVG9rZW49NDFdPVwiTWludXNUb2tlblwiLGVbZS5Bc3Rlcmlza1Rva2VuPTQyXT1cIkFzdGVyaXNrVG9rZW5cIixlW2UuQXN0ZXJpc2tBc3Rlcmlza1Rva2VuPTQzXT1cIkFzdGVyaXNrQXN0ZXJpc2tUb2tlblwiLGVbZS5TbGFzaFRva2VuPTQ0XT1cIlNsYXNoVG9rZW5cIixlW2UuUGVyY2VudFRva2VuPTQ1XT1cIlBlcmNlbnRUb2tlblwiLGVbZS5QbHVzUGx1c1Rva2VuPTQ2XT1cIlBsdXNQbHVzVG9rZW5cIixlW2UuTWludXNNaW51c1Rva2VuPTQ3XT1cIk1pbnVzTWludXNUb2tlblwiLGVbZS5MZXNzVGhhbkxlc3NUaGFuVG9rZW49NDhdPVwiTGVzc1RoYW5MZXNzVGhhblRva2VuXCIsZVtlLkdyZWF0ZXJUaGFuR3JlYXRlclRoYW5Ub2tlbj00OV09XCJHcmVhdGVyVGhhbkdyZWF0ZXJUaGFuVG9rZW5cIixlW2UuR3JlYXRlclRoYW5HcmVhdGVyVGhhbkdyZWF0ZXJUaGFuVG9rZW49NTBdPVwiR3JlYXRlclRoYW5HcmVhdGVyVGhhbkdyZWF0ZXJUaGFuVG9rZW5cIixlW2UuQW1wZXJzYW5kVG9rZW49NTFdPVwiQW1wZXJzYW5kVG9rZW5cIixlW2UuQmFyVG9rZW49NTJdPVwiQmFyVG9rZW5cIixlW2UuQ2FyZXRUb2tlbj01M109XCJDYXJldFRva2VuXCIsZVtlLkV4Y2xhbWF0aW9uVG9rZW49NTRdPVwiRXhjbGFtYXRpb25Ub2tlblwiLGVbZS5UaWxkZVRva2VuPTU1XT1cIlRpbGRlVG9rZW5cIixlW2UuQW1wZXJzYW5kQW1wZXJzYW5kVG9rZW49NTZdPVwiQW1wZXJzYW5kQW1wZXJzYW5kVG9rZW5cIixlW2UuQmFyQmFyVG9rZW49NTddPVwiQmFyQmFyVG9rZW5cIixlW2UuUXVlc3Rpb25Ub2tlbj01OF09XCJRdWVzdGlvblRva2VuXCIsZVtlLkNvbG9uVG9rZW49NTldPVwiQ29sb25Ub2tlblwiLGVbZS5BdFRva2VuPTYwXT1cIkF0VG9rZW5cIixlW2UuUXVlc3Rpb25RdWVzdGlvblRva2VuPTYxXT1cIlF1ZXN0aW9uUXVlc3Rpb25Ub2tlblwiLGVbZS5CYWNrdGlja1Rva2VuPTYyXT1cIkJhY2t0aWNrVG9rZW5cIixlW2UuSGFzaFRva2VuPTYzXT1cIkhhc2hUb2tlblwiLGVbZS5FcXVhbHNUb2tlbj02NF09XCJFcXVhbHNUb2tlblwiLGVbZS5QbHVzRXF1YWxzVG9rZW49NjVdPVwiUGx1c0VxdWFsc1Rva2VuXCIsZVtlLk1pbnVzRXF1YWxzVG9rZW49NjZdPVwiTWludXNFcXVhbHNUb2tlblwiLGVbZS5Bc3Rlcmlza0VxdWFsc1Rva2VuPTY3XT1cIkFzdGVyaXNrRXF1YWxzVG9rZW5cIixlW2UuQXN0ZXJpc2tBc3Rlcmlza0VxdWFsc1Rva2VuPTY4XT1cIkFzdGVyaXNrQXN0ZXJpc2tFcXVhbHNUb2tlblwiLGVbZS5TbGFzaEVxdWFsc1Rva2VuPTY5XT1cIlNsYXNoRXF1YWxzVG9rZW5cIixlW2UuUGVyY2VudEVxdWFsc1Rva2VuPTcwXT1cIlBlcmNlbnRFcXVhbHNUb2tlblwiLGVbZS5MZXNzVGhhbkxlc3NUaGFuRXF1YWxzVG9rZW49NzFdPVwiTGVzc1RoYW5MZXNzVGhhbkVxdWFsc1Rva2VuXCIsZVtlLkdyZWF0ZXJUaGFuR3JlYXRlclRoYW5FcXVhbHNUb2tlbj03Ml09XCJHcmVhdGVyVGhhbkdyZWF0ZXJUaGFuRXF1YWxzVG9rZW5cIixlW2UuR3JlYXRlclRoYW5HcmVhdGVyVGhhbkdyZWF0ZXJUaGFuRXF1YWxzVG9rZW49NzNdPVwiR3JlYXRlclRoYW5HcmVhdGVyVGhhbkdyZWF0ZXJUaGFuRXF1YWxzVG9rZW5cIixlW2UuQW1wZXJzYW5kRXF1YWxzVG9rZW49NzRdPVwiQW1wZXJzYW5kRXF1YWxzVG9rZW5cIixlW2UuQmFyRXF1YWxzVG9rZW49NzVdPVwiQmFyRXF1YWxzVG9rZW5cIixlW2UuQmFyQmFyRXF1YWxzVG9rZW49NzZdPVwiQmFyQmFyRXF1YWxzVG9rZW5cIixlW2UuQW1wZXJzYW5kQW1wZXJzYW5kRXF1YWxzVG9rZW49NzddPVwiQW1wZXJzYW5kQW1wZXJzYW5kRXF1YWxzVG9rZW5cIixlW2UuUXVlc3Rpb25RdWVzdGlvbkVxdWFsc1Rva2VuPTc4XT1cIlF1ZXN0aW9uUXVlc3Rpb25FcXVhbHNUb2tlblwiLGVbZS5DYXJldEVxdWFsc1Rva2VuPTc5XT1cIkNhcmV0RXF1YWxzVG9rZW5cIixlW2UuSWRlbnRpZmllcj04MF09XCJJZGVudGlmaWVyXCIsZVtlLlByaXZhdGVJZGVudGlmaWVyPTgxXT1cIlByaXZhdGVJZGVudGlmaWVyXCIsZVtlLkpTRG9jQ29tbWVudFRleHRUb2tlbj04Ml09XCJKU0RvY0NvbW1lbnRUZXh0VG9rZW5cIixlW2UuQnJlYWtLZXl3b3JkPTgzXT1cIkJyZWFrS2V5d29yZFwiLGVbZS5DYXNlS2V5d29yZD04NF09XCJDYXNlS2V5d29yZFwiLGVbZS5DYXRjaEtleXdvcmQ9ODVdPVwiQ2F0Y2hLZXl3b3JkXCIsZVtlLkNsYXNzS2V5d29yZD04Nl09XCJDbGFzc0tleXdvcmRcIixlW2UuQ29uc3RLZXl3b3JkPTg3XT1cIkNvbnN0S2V5d29yZFwiLGVbZS5Db250aW51ZUtleXdvcmQ9ODhdPVwiQ29udGludWVLZXl3b3JkXCIsZVtlLkRlYnVnZ2VyS2V5d29yZD04OV09XCJEZWJ1Z2dlcktleXdvcmRcIixlW2UuRGVmYXVsdEtleXdvcmQ9OTBdPVwiRGVmYXVsdEtleXdvcmRcIixlW2UuRGVsZXRlS2V5d29yZD05MV09XCJEZWxldGVLZXl3b3JkXCIsZVtlLkRvS2V5d29yZD05Ml09XCJEb0tleXdvcmRcIixlW2UuRWxzZUtleXdvcmQ9OTNdPVwiRWxzZUtleXdvcmRcIixlW2UuRW51bUtleXdvcmQ9OTRdPVwiRW51bUtleXdvcmRcIixlW2UuRXhwb3J0S2V5d29yZD05NV09XCJFeHBvcnRLZXl3b3JkXCIsZVtlLkV4dGVuZHNLZXl3b3JkPTk2XT1cIkV4dGVuZHNLZXl3b3JkXCIsZVtlLkZhbHNlS2V5d29yZD05N109XCJGYWxzZUtleXdvcmRcIixlW2UuRmluYWxseUtleXdvcmQ9OThdPVwiRmluYWxseUtleXdvcmRcIixlW2UuRm9yS2V5d29yZD05OV09XCJGb3JLZXl3b3JkXCIsZVtlLkZ1bmN0aW9uS2V5d29yZD0xMDBdPVwiRnVuY3Rpb25LZXl3b3JkXCIsZVtlLklmS2V5d29yZD0xMDFdPVwiSWZLZXl3b3JkXCIsZVtlLkltcG9ydEtleXdvcmQ9MTAyXT1cIkltcG9ydEtleXdvcmRcIixlW2UuSW5LZXl3b3JkPTEwM109XCJJbktleXdvcmRcIixlW2UuSW5zdGFuY2VPZktleXdvcmQ9MTA0XT1cIkluc3RhbmNlT2ZLZXl3b3JkXCIsZVtlLk5ld0tleXdvcmQ9MTA1XT1cIk5ld0tleXdvcmRcIixlW2UuTnVsbEtleXdvcmQ9MTA2XT1cIk51bGxLZXl3b3JkXCIsZVtlLlJldHVybktleXdvcmQ9MTA3XT1cIlJldHVybktleXdvcmRcIixlW2UuU3VwZXJLZXl3b3JkPTEwOF09XCJTdXBlcktleXdvcmRcIixlW2UuU3dpdGNoS2V5d29yZD0xMDldPVwiU3dpdGNoS2V5d29yZFwiLGVbZS5UaGlzS2V5d29yZD0xMTBdPVwiVGhpc0tleXdvcmRcIixlW2UuVGhyb3dLZXl3b3JkPTExMV09XCJUaHJvd0tleXdvcmRcIixlW2UuVHJ1ZUtleXdvcmQ9MTEyXT1cIlRydWVLZXl3b3JkXCIsZVtlLlRyeUtleXdvcmQ9MTEzXT1cIlRyeUtleXdvcmRcIixlW2UuVHlwZU9mS2V5d29yZD0xMTRdPVwiVHlwZU9mS2V5d29yZFwiLGVbZS5WYXJLZXl3b3JkPTExNV09XCJWYXJLZXl3b3JkXCIsZVtlLlZvaWRLZXl3b3JkPTExNl09XCJWb2lkS2V5d29yZFwiLGVbZS5XaGlsZUtleXdvcmQ9MTE3XT1cIldoaWxlS2V5d29yZFwiLGVbZS5XaXRoS2V5d29yZD0xMThdPVwiV2l0aEtleXdvcmRcIixlW2UuSW1wbGVtZW50c0tleXdvcmQ9MTE5XT1cIkltcGxlbWVudHNLZXl3b3JkXCIsZVtlLkludGVyZmFjZUtleXdvcmQ9MTIwXT1cIkludGVyZmFjZUtleXdvcmRcIixlW2UuTGV0S2V5d29yZD0xMjFdPVwiTGV0S2V5d29yZFwiLGVbZS5QYWNrYWdlS2V5d29yZD0xMjJdPVwiUGFja2FnZUtleXdvcmRcIixlW2UuUHJpdmF0ZUtleXdvcmQ9MTIzXT1cIlByaXZhdGVLZXl3b3JkXCIsZVtlLlByb3RlY3RlZEtleXdvcmQ9MTI0XT1cIlByb3RlY3RlZEtleXdvcmRcIixlW2UuUHVibGljS2V5d29yZD0xMjVdPVwiUHVibGljS2V5d29yZFwiLGVbZS5TdGF0aWNLZXl3b3JkPTEyNl09XCJTdGF0aWNLZXl3b3JkXCIsZVtlLllpZWxkS2V5d29yZD0xMjddPVwiWWllbGRLZXl3b3JkXCIsZVtlLkFic3RyYWN0S2V5d29yZD0xMjhdPVwiQWJzdHJhY3RLZXl3b3JkXCIsZVtlLkFjY2Vzc29yS2V5d29yZD0xMjldPVwiQWNjZXNzb3JLZXl3b3JkXCIsZVtlLkFzS2V5d29yZD0xMzBdPVwiQXNLZXl3b3JkXCIsZVtlLkFzc2VydHNLZXl3b3JkPTEzMV09XCJBc3NlcnRzS2V5d29yZFwiLGVbZS5Bc3NlcnRLZXl3b3JkPTEzMl09XCJBc3NlcnRLZXl3b3JkXCIsZVtlLkFueUtleXdvcmQ9MTMzXT1cIkFueUtleXdvcmRcIixlW2UuQXN5bmNLZXl3b3JkPTEzNF09XCJBc3luY0tleXdvcmRcIixlW2UuQXdhaXRLZXl3b3JkPTEzNV09XCJBd2FpdEtleXdvcmRcIixlW2UuQm9vbGVhbktleXdvcmQ9MTM2XT1cIkJvb2xlYW5LZXl3b3JkXCIsZVtlLkNvbnN0cnVjdG9yS2V5d29yZD0xMzddPVwiQ29uc3RydWN0b3JLZXl3b3JkXCIsZVtlLkRlY2xhcmVLZXl3b3JkPTEzOF09XCJEZWNsYXJlS2V5d29yZFwiLGVbZS5HZXRLZXl3b3JkPTEzOV09XCJHZXRLZXl3b3JkXCIsZVtlLkluZmVyS2V5d29yZD0xNDBdPVwiSW5mZXJLZXl3b3JkXCIsZVtlLkludHJpbnNpY0tleXdvcmQ9MTQxXT1cIkludHJpbnNpY0tleXdvcmRcIixlW2UuSXNLZXl3b3JkPTE0Ml09XCJJc0tleXdvcmRcIixlW2UuS2V5T2ZLZXl3b3JkPTE0M109XCJLZXlPZktleXdvcmRcIixlW2UuTW9kdWxlS2V5d29yZD0xNDRdPVwiTW9kdWxlS2V5d29yZFwiLGVbZS5OYW1lc3BhY2VLZXl3b3JkPTE0NV09XCJOYW1lc3BhY2VLZXl3b3JkXCIsZVtlLk5ldmVyS2V5d29yZD0xNDZdPVwiTmV2ZXJLZXl3b3JkXCIsZVtlLk91dEtleXdvcmQ9MTQ3XT1cIk91dEtleXdvcmRcIixlW2UuUmVhZG9ubHlLZXl3b3JkPTE0OF09XCJSZWFkb25seUtleXdvcmRcIixlW2UuUmVxdWlyZUtleXdvcmQ9MTQ5XT1cIlJlcXVpcmVLZXl3b3JkXCIsZVtlLk51bWJlcktleXdvcmQ9MTUwXT1cIk51bWJlcktleXdvcmRcIixlW2UuT2JqZWN0S2V5d29yZD0xNTFdPVwiT2JqZWN0S2V5d29yZFwiLGVbZS5TYXRpc2ZpZXNLZXl3b3JkPTE1Ml09XCJTYXRpc2ZpZXNLZXl3b3JkXCIsZVtlLlNldEtleXdvcmQ9MTUzXT1cIlNldEtleXdvcmRcIixlW2UuU3RyaW5nS2V5d29yZD0xNTRdPVwiU3RyaW5nS2V5d29yZFwiLGVbZS5TeW1ib2xLZXl3b3JkPTE1NV09XCJTeW1ib2xLZXl3b3JkXCIsZVtlLlR5cGVLZXl3b3JkPTE1Nl09XCJUeXBlS2V5d29yZFwiLGVbZS5VbmRlZmluZWRLZXl3b3JkPTE1N109XCJVbmRlZmluZWRLZXl3b3JkXCIsZVtlLlVuaXF1ZUtleXdvcmQ9MTU4XT1cIlVuaXF1ZUtleXdvcmRcIixlW2UuVW5rbm93bktleXdvcmQ9MTU5XT1cIlVua25vd25LZXl3b3JkXCIsZVtlLlVzaW5nS2V5d29yZD0xNjBdPVwiVXNpbmdLZXl3b3JkXCIsZVtlLkZyb21LZXl3b3JkPTE2MV09XCJGcm9tS2V5d29yZFwiLGVbZS5HbG9iYWxLZXl3b3JkPTE2Ml09XCJHbG9iYWxLZXl3b3JkXCIsZVtlLkJpZ0ludEtleXdvcmQ9MTYzXT1cIkJpZ0ludEtleXdvcmRcIixlW2UuT3ZlcnJpZGVLZXl3b3JkPTE2NF09XCJPdmVycmlkZUtleXdvcmRcIixlW2UuT2ZLZXl3b3JkPTE2NV09XCJPZktleXdvcmRcIixlW2UuUXVhbGlmaWVkTmFtZT0xNjZdPVwiUXVhbGlmaWVkTmFtZVwiLGVbZS5Db21wdXRlZFByb3BlcnR5TmFtZT0xNjddPVwiQ29tcHV0ZWRQcm9wZXJ0eU5hbWVcIixlW2UuVHlwZVBhcmFtZXRlcj0xNjhdPVwiVHlwZVBhcmFtZXRlclwiLGVbZS5QYXJhbWV0ZXI9MTY5XT1cIlBhcmFtZXRlclwiLGVbZS5EZWNvcmF0b3I9MTcwXT1cIkRlY29yYXRvclwiLGVbZS5Qcm9wZXJ0eVNpZ25hdHVyZT0xNzFdPVwiUHJvcGVydHlTaWduYXR1cmVcIixlW2UuUHJvcGVydHlEZWNsYXJhdGlvbj0xNzJdPVwiUHJvcGVydHlEZWNsYXJhdGlvblwiLGVbZS5NZXRob2RTaWduYXR1cmU9MTczXT1cIk1ldGhvZFNpZ25hdHVyZVwiLGVbZS5NZXRob2REZWNsYXJhdGlvbj0xNzRdPVwiTWV0aG9kRGVjbGFyYXRpb25cIixlW2UuQ2xhc3NTdGF0aWNCbG9ja0RlY2xhcmF0aW9uPTE3NV09XCJDbGFzc1N0YXRpY0Jsb2NrRGVjbGFyYXRpb25cIixlW2UuQ29uc3RydWN0b3I9MTc2XT1cIkNvbnN0cnVjdG9yXCIsZVtlLkdldEFjY2Vzc29yPTE3N109XCJHZXRBY2Nlc3NvclwiLGVbZS5TZXRBY2Nlc3Nvcj0xNzhdPVwiU2V0QWNjZXNzb3JcIixlW2UuQ2FsbFNpZ25hdHVyZT0xNzldPVwiQ2FsbFNpZ25hdHVyZVwiLGVbZS5Db25zdHJ1Y3RTaWduYXR1cmU9MTgwXT1cIkNvbnN0cnVjdFNpZ25hdHVyZVwiLGVbZS5JbmRleFNpZ25hdHVyZT0xODFdPVwiSW5kZXhTaWduYXR1cmVcIixlW2UuVHlwZVByZWRpY2F0ZT0xODJdPVwiVHlwZVByZWRpY2F0ZVwiLGVbZS5UeXBlUmVmZXJlbmNlPTE4M109XCJUeXBlUmVmZXJlbmNlXCIsZVtlLkZ1bmN0aW9uVHlwZT0xODRdPVwiRnVuY3Rpb25UeXBlXCIsZVtlLkNvbnN0cnVjdG9yVHlwZT0xODVdPVwiQ29uc3RydWN0b3JUeXBlXCIsZVtlLlR5cGVRdWVyeT0xODZdPVwiVHlwZVF1ZXJ5XCIsZVtlLlR5cGVMaXRlcmFsPTE4N109XCJUeXBlTGl0ZXJhbFwiLGVbZS5BcnJheVR5cGU9MTg4XT1cIkFycmF5VHlwZVwiLGVbZS5UdXBsZVR5cGU9MTg5XT1cIlR1cGxlVHlwZVwiLGVbZS5PcHRpb25hbFR5cGU9MTkwXT1cIk9wdGlvbmFsVHlwZVwiLGVbZS5SZXN0VHlwZT0xOTFdPVwiUmVzdFR5cGVcIixlW2UuVW5pb25UeXBlPTE5Ml09XCJVbmlvblR5cGVcIixlW2UuSW50ZXJzZWN0aW9uVHlwZT0xOTNdPVwiSW50ZXJzZWN0aW9uVHlwZVwiLGVbZS5Db25kaXRpb25hbFR5cGU9MTk0XT1cIkNvbmRpdGlvbmFsVHlwZVwiLGVbZS5JbmZlclR5cGU9MTk1XT1cIkluZmVyVHlwZVwiLGVbZS5QYXJlbnRoZXNpemVkVHlwZT0xOTZdPVwiUGFyZW50aGVzaXplZFR5cGVcIixlW2UuVGhpc1R5cGU9MTk3XT1cIlRoaXNUeXBlXCIsZVtlLlR5cGVPcGVyYXRvcj0xOThdPVwiVHlwZU9wZXJhdG9yXCIsZVtlLkluZGV4ZWRBY2Nlc3NUeXBlPTE5OV09XCJJbmRleGVkQWNjZXNzVHlwZVwiLGVbZS5NYXBwZWRUeXBlPTIwMF09XCJNYXBwZWRUeXBlXCIsZVtlLkxpdGVyYWxUeXBlPTIwMV09XCJMaXRlcmFsVHlwZVwiLGVbZS5OYW1lZFR1cGxlTWVtYmVyPTIwMl09XCJOYW1lZFR1cGxlTWVtYmVyXCIsZVtlLlRlbXBsYXRlTGl0ZXJhbFR5cGU9MjAzXT1cIlRlbXBsYXRlTGl0ZXJhbFR5cGVcIixlW2UuVGVtcGxhdGVMaXRlcmFsVHlwZVNwYW49MjA0XT1cIlRlbXBsYXRlTGl0ZXJhbFR5cGVTcGFuXCIsZVtlLkltcG9ydFR5cGU9MjA1XT1cIkltcG9ydFR5cGVcIixlW2UuT2JqZWN0QmluZGluZ1BhdHRlcm49MjA2XT1cIk9iamVjdEJpbmRpbmdQYXR0ZXJuXCIsZVtlLkFycmF5QmluZGluZ1BhdHRlcm49MjA3XT1cIkFycmF5QmluZGluZ1BhdHRlcm5cIixlW2UuQmluZGluZ0VsZW1lbnQ9MjA4XT1cIkJpbmRpbmdFbGVtZW50XCIsZVtlLkFycmF5TGl0ZXJhbEV4cHJlc3Npb249MjA5XT1cIkFycmF5TGl0ZXJhbEV4cHJlc3Npb25cIixlW2UuT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb249MjEwXT1cIk9iamVjdExpdGVyYWxFeHByZXNzaW9uXCIsZVtlLlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbj0yMTFdPVwiUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uXCIsZVtlLkVsZW1lbnRBY2Nlc3NFeHByZXNzaW9uPTIxMl09XCJFbGVtZW50QWNjZXNzRXhwcmVzc2lvblwiLGVbZS5DYWxsRXhwcmVzc2lvbj0yMTNdPVwiQ2FsbEV4cHJlc3Npb25cIixlW2UuTmV3RXhwcmVzc2lvbj0yMTRdPVwiTmV3RXhwcmVzc2lvblwiLGVbZS5UYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb249MjE1XT1cIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvblwiLGVbZS5UeXBlQXNzZXJ0aW9uRXhwcmVzc2lvbj0yMTZdPVwiVHlwZUFzc2VydGlvbkV4cHJlc3Npb25cIixlW2UuUGFyZW50aGVzaXplZEV4cHJlc3Npb249MjE3XT1cIlBhcmVudGhlc2l6ZWRFeHByZXNzaW9uXCIsZVtlLkZ1bmN0aW9uRXhwcmVzc2lvbj0yMThdPVwiRnVuY3Rpb25FeHByZXNzaW9uXCIsZVtlLkFycm93RnVuY3Rpb249MjE5XT1cIkFycm93RnVuY3Rpb25cIixlW2UuRGVsZXRlRXhwcmVzc2lvbj0yMjBdPVwiRGVsZXRlRXhwcmVzc2lvblwiLGVbZS5UeXBlT2ZFeHByZXNzaW9uPTIyMV09XCJUeXBlT2ZFeHByZXNzaW9uXCIsZVtlLlZvaWRFeHByZXNzaW9uPTIyMl09XCJWb2lkRXhwcmVzc2lvblwiLGVbZS5Bd2FpdEV4cHJlc3Npb249MjIzXT1cIkF3YWl0RXhwcmVzc2lvblwiLGVbZS5QcmVmaXhVbmFyeUV4cHJlc3Npb249MjI0XT1cIlByZWZpeFVuYXJ5RXhwcmVzc2lvblwiLGVbZS5Qb3N0Zml4VW5hcnlFeHByZXNzaW9uPTIyNV09XCJQb3N0Zml4VW5hcnlFeHByZXNzaW9uXCIsZVtlLkJpbmFyeUV4cHJlc3Npb249MjI2XT1cIkJpbmFyeUV4cHJlc3Npb25cIixlW2UuQ29uZGl0aW9uYWxFeHByZXNzaW9uPTIyN109XCJDb25kaXRpb25hbEV4cHJlc3Npb25cIixlW2UuVGVtcGxhdGVFeHByZXNzaW9uPTIyOF09XCJUZW1wbGF0ZUV4cHJlc3Npb25cIixlW2UuWWllbGRFeHByZXNzaW9uPTIyOV09XCJZaWVsZEV4cHJlc3Npb25cIixlW2UuU3ByZWFkRWxlbWVudD0yMzBdPVwiU3ByZWFkRWxlbWVudFwiLGVbZS5DbGFzc0V4cHJlc3Npb249MjMxXT1cIkNsYXNzRXhwcmVzc2lvblwiLGVbZS5PbWl0dGVkRXhwcmVzc2lvbj0yMzJdPVwiT21pdHRlZEV4cHJlc3Npb25cIixlW2UuRXhwcmVzc2lvbldpdGhUeXBlQXJndW1lbnRzPTIzM109XCJFeHByZXNzaW9uV2l0aFR5cGVBcmd1bWVudHNcIixlW2UuQXNFeHByZXNzaW9uPTIzNF09XCJBc0V4cHJlc3Npb25cIixlW2UuTm9uTnVsbEV4cHJlc3Npb249MjM1XT1cIk5vbk51bGxFeHByZXNzaW9uXCIsZVtlLk1ldGFQcm9wZXJ0eT0yMzZdPVwiTWV0YVByb3BlcnR5XCIsZVtlLlN5bnRoZXRpY0V4cHJlc3Npb249MjM3XT1cIlN5bnRoZXRpY0V4cHJlc3Npb25cIixlW2UuU2F0aXNmaWVzRXhwcmVzc2lvbj0yMzhdPVwiU2F0aXNmaWVzRXhwcmVzc2lvblwiLGVbZS5UZW1wbGF0ZVNwYW49MjM5XT1cIlRlbXBsYXRlU3BhblwiLGVbZS5TZW1pY29sb25DbGFzc0VsZW1lbnQ9MjQwXT1cIlNlbWljb2xvbkNsYXNzRWxlbWVudFwiLGVbZS5CbG9jaz0yNDFdPVwiQmxvY2tcIixlW2UuRW1wdHlTdGF0ZW1lbnQ9MjQyXT1cIkVtcHR5U3RhdGVtZW50XCIsZVtlLlZhcmlhYmxlU3RhdGVtZW50PTI0M109XCJWYXJpYWJsZVN0YXRlbWVudFwiLGVbZS5FeHByZXNzaW9uU3RhdGVtZW50PTI0NF09XCJFeHByZXNzaW9uU3RhdGVtZW50XCIsZVtlLklmU3RhdGVtZW50PTI0NV09XCJJZlN0YXRlbWVudFwiLGVbZS5Eb1N0YXRlbWVudD0yNDZdPVwiRG9TdGF0ZW1lbnRcIixlW2UuV2hpbGVTdGF0ZW1lbnQ9MjQ3XT1cIldoaWxlU3RhdGVtZW50XCIsZVtlLkZvclN0YXRlbWVudD0yNDhdPVwiRm9yU3RhdGVtZW50XCIsZVtlLkZvckluU3RhdGVtZW50PTI0OV09XCJGb3JJblN0YXRlbWVudFwiLGVbZS5Gb3JPZlN0YXRlbWVudD0yNTBdPVwiRm9yT2ZTdGF0ZW1lbnRcIixlW2UuQ29udGludWVTdGF0ZW1lbnQ9MjUxXT1cIkNvbnRpbnVlU3RhdGVtZW50XCIsZVtlLkJyZWFrU3RhdGVtZW50PTI1Ml09XCJCcmVha1N0YXRlbWVudFwiLGVbZS5SZXR1cm5TdGF0ZW1lbnQ9MjUzXT1cIlJldHVyblN0YXRlbWVudFwiLGVbZS5XaXRoU3RhdGVtZW50PTI1NF09XCJXaXRoU3RhdGVtZW50XCIsZVtlLlN3aXRjaFN0YXRlbWVudD0yNTVdPVwiU3dpdGNoU3RhdGVtZW50XCIsZVtlLkxhYmVsZWRTdGF0ZW1lbnQ9MjU2XT1cIkxhYmVsZWRTdGF0ZW1lbnRcIixlW2UuVGhyb3dTdGF0ZW1lbnQ9MjU3XT1cIlRocm93U3RhdGVtZW50XCIsZVtlLlRyeVN0YXRlbWVudD0yNThdPVwiVHJ5U3RhdGVtZW50XCIsZVtlLkRlYnVnZ2VyU3RhdGVtZW50PTI1OV09XCJEZWJ1Z2dlclN0YXRlbWVudFwiLGVbZS5WYXJpYWJsZURlY2xhcmF0aW9uPTI2MF09XCJWYXJpYWJsZURlY2xhcmF0aW9uXCIsZVtlLlZhcmlhYmxlRGVjbGFyYXRpb25MaXN0PTI2MV09XCJWYXJpYWJsZURlY2xhcmF0aW9uTGlzdFwiLGVbZS5GdW5jdGlvbkRlY2xhcmF0aW9uPTI2Ml09XCJGdW5jdGlvbkRlY2xhcmF0aW9uXCIsZVtlLkNsYXNzRGVjbGFyYXRpb249MjYzXT1cIkNsYXNzRGVjbGFyYXRpb25cIixlW2UuSW50ZXJmYWNlRGVjbGFyYXRpb249MjY0XT1cIkludGVyZmFjZURlY2xhcmF0aW9uXCIsZVtlLlR5cGVBbGlhc0RlY2xhcmF0aW9uPTI2NV09XCJUeXBlQWxpYXNEZWNsYXJhdGlvblwiLGVbZS5FbnVtRGVjbGFyYXRpb249MjY2XT1cIkVudW1EZWNsYXJhdGlvblwiLGVbZS5Nb2R1bGVEZWNsYXJhdGlvbj0yNjddPVwiTW9kdWxlRGVjbGFyYXRpb25cIixlW2UuTW9kdWxlQmxvY2s9MjY4XT1cIk1vZHVsZUJsb2NrXCIsZVtlLkNhc2VCbG9jaz0yNjldPVwiQ2FzZUJsb2NrXCIsZVtlLk5hbWVzcGFjZUV4cG9ydERlY2xhcmF0aW9uPTI3MF09XCJOYW1lc3BhY2VFeHBvcnREZWNsYXJhdGlvblwiLGVbZS5JbXBvcnRFcXVhbHNEZWNsYXJhdGlvbj0yNzFdPVwiSW1wb3J0RXF1YWxzRGVjbGFyYXRpb25cIixlW2UuSW1wb3J0RGVjbGFyYXRpb249MjcyXT1cIkltcG9ydERlY2xhcmF0aW9uXCIsZVtlLkltcG9ydENsYXVzZT0yNzNdPVwiSW1wb3J0Q2xhdXNlXCIsZVtlLk5hbWVzcGFjZUltcG9ydD0yNzRdPVwiTmFtZXNwYWNlSW1wb3J0XCIsZVtlLk5hbWVkSW1wb3J0cz0yNzVdPVwiTmFtZWRJbXBvcnRzXCIsZVtlLkltcG9ydFNwZWNpZmllcj0yNzZdPVwiSW1wb3J0U3BlY2lmaWVyXCIsZVtlLkV4cG9ydEFzc2lnbm1lbnQ9Mjc3XT1cIkV4cG9ydEFzc2lnbm1lbnRcIixlW2UuRXhwb3J0RGVjbGFyYXRpb249Mjc4XT1cIkV4cG9ydERlY2xhcmF0aW9uXCIsZVtlLk5hbWVkRXhwb3J0cz0yNzldPVwiTmFtZWRFeHBvcnRzXCIsZVtlLk5hbWVzcGFjZUV4cG9ydD0yODBdPVwiTmFtZXNwYWNlRXhwb3J0XCIsZVtlLkV4cG9ydFNwZWNpZmllcj0yODFdPVwiRXhwb3J0U3BlY2lmaWVyXCIsZVtlLk1pc3NpbmdEZWNsYXJhdGlvbj0yODJdPVwiTWlzc2luZ0RlY2xhcmF0aW9uXCIsZVtlLkV4dGVybmFsTW9kdWxlUmVmZXJlbmNlPTI4M109XCJFeHRlcm5hbE1vZHVsZVJlZmVyZW5jZVwiLGVbZS5Kc3hFbGVtZW50PTI4NF09XCJKc3hFbGVtZW50XCIsZVtlLkpzeFNlbGZDbG9zaW5nRWxlbWVudD0yODVdPVwiSnN4U2VsZkNsb3NpbmdFbGVtZW50XCIsZVtlLkpzeE9wZW5pbmdFbGVtZW50PTI4Nl09XCJKc3hPcGVuaW5nRWxlbWVudFwiLGVbZS5Kc3hDbG9zaW5nRWxlbWVudD0yODddPVwiSnN4Q2xvc2luZ0VsZW1lbnRcIixlW2UuSnN4RnJhZ21lbnQ9Mjg4XT1cIkpzeEZyYWdtZW50XCIsZVtlLkpzeE9wZW5pbmdGcmFnbWVudD0yODldPVwiSnN4T3BlbmluZ0ZyYWdtZW50XCIsZVtlLkpzeENsb3NpbmdGcmFnbWVudD0yOTBdPVwiSnN4Q2xvc2luZ0ZyYWdtZW50XCIsZVtlLkpzeEF0dHJpYnV0ZT0yOTFdPVwiSnN4QXR0cmlidXRlXCIsZVtlLkpzeEF0dHJpYnV0ZXM9MjkyXT1cIkpzeEF0dHJpYnV0ZXNcIixlW2UuSnN4U3ByZWFkQXR0cmlidXRlPTI5M109XCJKc3hTcHJlYWRBdHRyaWJ1dGVcIixlW2UuSnN4RXhwcmVzc2lvbj0yOTRdPVwiSnN4RXhwcmVzc2lvblwiLGVbZS5Kc3hOYW1lc3BhY2VkTmFtZT0yOTVdPVwiSnN4TmFtZXNwYWNlZE5hbWVcIixlW2UuQ2FzZUNsYXVzZT0yOTZdPVwiQ2FzZUNsYXVzZVwiLGVbZS5EZWZhdWx0Q2xhdXNlPTI5N109XCJEZWZhdWx0Q2xhdXNlXCIsZVtlLkhlcml0YWdlQ2xhdXNlPTI5OF09XCJIZXJpdGFnZUNsYXVzZVwiLGVbZS5DYXRjaENsYXVzZT0yOTldPVwiQ2F0Y2hDbGF1c2VcIixlW2UuSW1wb3J0QXR0cmlidXRlcz0zMDBdPVwiSW1wb3J0QXR0cmlidXRlc1wiLGVbZS5JbXBvcnRBdHRyaWJ1dGU9MzAxXT1cIkltcG9ydEF0dHJpYnV0ZVwiLGVbZS5Bc3NlcnRDbGF1c2U9MzAwXT1cIkFzc2VydENsYXVzZVwiLGVbZS5Bc3NlcnRFbnRyeT0zMDFdPVwiQXNzZXJ0RW50cnlcIixlW2UuSW1wb3J0VHlwZUFzc2VydGlvbkNvbnRhaW5lcj0zMDJdPVwiSW1wb3J0VHlwZUFzc2VydGlvbkNvbnRhaW5lclwiLGVbZS5Qcm9wZXJ0eUFzc2lnbm1lbnQ9MzAzXT1cIlByb3BlcnR5QXNzaWdubWVudFwiLGVbZS5TaG9ydGhhbmRQcm9wZXJ0eUFzc2lnbm1lbnQ9MzA0XT1cIlNob3J0aGFuZFByb3BlcnR5QXNzaWdubWVudFwiLGVbZS5TcHJlYWRBc3NpZ25tZW50PTMwNV09XCJTcHJlYWRBc3NpZ25tZW50XCIsZVtlLkVudW1NZW1iZXI9MzA2XT1cIkVudW1NZW1iZXJcIixlW2UuU291cmNlRmlsZT0zMDddPVwiU291cmNlRmlsZVwiLGVbZS5CdW5kbGU9MzA4XT1cIkJ1bmRsZVwiLGVbZS5KU0RvY1R5cGVFeHByZXNzaW9uPTMwOV09XCJKU0RvY1R5cGVFeHByZXNzaW9uXCIsZVtlLkpTRG9jTmFtZVJlZmVyZW5jZT0zMTBdPVwiSlNEb2NOYW1lUmVmZXJlbmNlXCIsZVtlLkpTRG9jTWVtYmVyTmFtZT0zMTFdPVwiSlNEb2NNZW1iZXJOYW1lXCIsZVtlLkpTRG9jQWxsVHlwZT0zMTJdPVwiSlNEb2NBbGxUeXBlXCIsZVtlLkpTRG9jVW5rbm93blR5cGU9MzEzXT1cIkpTRG9jVW5rbm93blR5cGVcIixlW2UuSlNEb2NOdWxsYWJsZVR5cGU9MzE0XT1cIkpTRG9jTnVsbGFibGVUeXBlXCIsZVtlLkpTRG9jTm9uTnVsbGFibGVUeXBlPTMxNV09XCJKU0RvY05vbk51bGxhYmxlVHlwZVwiLGVbZS5KU0RvY09wdGlvbmFsVHlwZT0zMTZdPVwiSlNEb2NPcHRpb25hbFR5cGVcIixlW2UuSlNEb2NGdW5jdGlvblR5cGU9MzE3XT1cIkpTRG9jRnVuY3Rpb25UeXBlXCIsZVtlLkpTRG9jVmFyaWFkaWNUeXBlPTMxOF09XCJKU0RvY1ZhcmlhZGljVHlwZVwiLGVbZS5KU0RvY05hbWVwYXRoVHlwZT0zMTldPVwiSlNEb2NOYW1lcGF0aFR5cGVcIixlW2UuSlNEb2M9MzIwXT1cIkpTRG9jXCIsZVtlLkpTRG9jQ29tbWVudD0zMjBdPVwiSlNEb2NDb21tZW50XCIsZVtlLkpTRG9jVGV4dD0zMjFdPVwiSlNEb2NUZXh0XCIsZVtlLkpTRG9jVHlwZUxpdGVyYWw9MzIyXT1cIkpTRG9jVHlwZUxpdGVyYWxcIixlW2UuSlNEb2NTaWduYXR1cmU9MzIzXT1cIkpTRG9jU2lnbmF0dXJlXCIsZVtlLkpTRG9jTGluaz0zMjRdPVwiSlNEb2NMaW5rXCIsZVtlLkpTRG9jTGlua0NvZGU9MzI1XT1cIkpTRG9jTGlua0NvZGVcIixlW2UuSlNEb2NMaW5rUGxhaW49MzI2XT1cIkpTRG9jTGlua1BsYWluXCIsZVtlLkpTRG9jVGFnPTMyN109XCJKU0RvY1RhZ1wiLGVbZS5KU0RvY0F1Z21lbnRzVGFnPTMyOF09XCJKU0RvY0F1Z21lbnRzVGFnXCIsZVtlLkpTRG9jSW1wbGVtZW50c1RhZz0zMjldPVwiSlNEb2NJbXBsZW1lbnRzVGFnXCIsZVtlLkpTRG9jQXV0aG9yVGFnPTMzMF09XCJKU0RvY0F1dGhvclRhZ1wiLGVbZS5KU0RvY0RlcHJlY2F0ZWRUYWc9MzMxXT1cIkpTRG9jRGVwcmVjYXRlZFRhZ1wiLGVbZS5KU0RvY0NsYXNzVGFnPTMzMl09XCJKU0RvY0NsYXNzVGFnXCIsZVtlLkpTRG9jUHVibGljVGFnPTMzM109XCJKU0RvY1B1YmxpY1RhZ1wiLGVbZS5KU0RvY1ByaXZhdGVUYWc9MzM0XT1cIkpTRG9jUHJpdmF0ZVRhZ1wiLGVbZS5KU0RvY1Byb3RlY3RlZFRhZz0zMzVdPVwiSlNEb2NQcm90ZWN0ZWRUYWdcIixlW2UuSlNEb2NSZWFkb25seVRhZz0zMzZdPVwiSlNEb2NSZWFkb25seVRhZ1wiLGVbZS5KU0RvY092ZXJyaWRlVGFnPTMzN109XCJKU0RvY092ZXJyaWRlVGFnXCIsZVtlLkpTRG9jQ2FsbGJhY2tUYWc9MzM4XT1cIkpTRG9jQ2FsbGJhY2tUYWdcIixlW2UuSlNEb2NPdmVybG9hZFRhZz0zMzldPVwiSlNEb2NPdmVybG9hZFRhZ1wiLGVbZS5KU0RvY0VudW1UYWc9MzQwXT1cIkpTRG9jRW51bVRhZ1wiLGVbZS5KU0RvY1BhcmFtZXRlclRhZz0zNDFdPVwiSlNEb2NQYXJhbWV0ZXJUYWdcIixlW2UuSlNEb2NSZXR1cm5UYWc9MzQyXT1cIkpTRG9jUmV0dXJuVGFnXCIsZVtlLkpTRG9jVGhpc1RhZz0zNDNdPVwiSlNEb2NUaGlzVGFnXCIsZVtlLkpTRG9jVHlwZVRhZz0zNDRdPVwiSlNEb2NUeXBlVGFnXCIsZVtlLkpTRG9jVGVtcGxhdGVUYWc9MzQ1XT1cIkpTRG9jVGVtcGxhdGVUYWdcIixlW2UuSlNEb2NUeXBlZGVmVGFnPTM0Nl09XCJKU0RvY1R5cGVkZWZUYWdcIixlW2UuSlNEb2NTZWVUYWc9MzQ3XT1cIkpTRG9jU2VlVGFnXCIsZVtlLkpTRG9jUHJvcGVydHlUYWc9MzQ4XT1cIkpTRG9jUHJvcGVydHlUYWdcIixlW2UuSlNEb2NUaHJvd3NUYWc9MzQ5XT1cIkpTRG9jVGhyb3dzVGFnXCIsZVtlLkpTRG9jU2F0aXNmaWVzVGFnPTM1MF09XCJKU0RvY1NhdGlzZmllc1RhZ1wiLGVbZS5KU0RvY0ltcG9ydFRhZz0zNTFdPVwiSlNEb2NJbXBvcnRUYWdcIixlW2UuU3ludGF4TGlzdD0zNTJdPVwiU3ludGF4TGlzdFwiLGVbZS5Ob3RFbWl0dGVkU3RhdGVtZW50PTM1M109XCJOb3RFbWl0dGVkU3RhdGVtZW50XCIsZVtlLk5vdEVtaXR0ZWRUeXBlRWxlbWVudD0zNTRdPVwiTm90RW1pdHRlZFR5cGVFbGVtZW50XCIsZVtlLlBhcnRpYWxseUVtaXR0ZWRFeHByZXNzaW9uPTM1NV09XCJQYXJ0aWFsbHlFbWl0dGVkRXhwcmVzc2lvblwiLGVbZS5Db21tYUxpc3RFeHByZXNzaW9uPTM1Nl09XCJDb21tYUxpc3RFeHByZXNzaW9uXCIsZVtlLlN5bnRoZXRpY1JlZmVyZW5jZUV4cHJlc3Npb249MzU3XT1cIlN5bnRoZXRpY1JlZmVyZW5jZUV4cHJlc3Npb25cIixlW2UuQ291bnQ9MzU4XT1cIkNvdW50XCIsZVtlLkZpcnN0QXNzaWdubWVudD02NF09XCJGaXJzdEFzc2lnbm1lbnRcIixlW2UuTGFzdEFzc2lnbm1lbnQ9NzldPVwiTGFzdEFzc2lnbm1lbnRcIixlW2UuRmlyc3RDb21wb3VuZEFzc2lnbm1lbnQ9NjVdPVwiRmlyc3RDb21wb3VuZEFzc2lnbm1lbnRcIixlW2UuTGFzdENvbXBvdW5kQXNzaWdubWVudD03OV09XCJMYXN0Q29tcG91bmRBc3NpZ25tZW50XCIsZVtlLkZpcnN0UmVzZXJ2ZWRXb3JkPTgzXT1cIkZpcnN0UmVzZXJ2ZWRXb3JkXCIsZVtlLkxhc3RSZXNlcnZlZFdvcmQ9MTE4XT1cIkxhc3RSZXNlcnZlZFdvcmRcIixlW2UuRmlyc3RLZXl3b3JkPTgzXT1cIkZpcnN0S2V5d29yZFwiLGVbZS5MYXN0S2V5d29yZD0xNjVdPVwiTGFzdEtleXdvcmRcIixlW2UuRmlyc3RGdXR1cmVSZXNlcnZlZFdvcmQ9MTE5XT1cIkZpcnN0RnV0dXJlUmVzZXJ2ZWRXb3JkXCIsZVtlLkxhc3RGdXR1cmVSZXNlcnZlZFdvcmQ9MTI3XT1cIkxhc3RGdXR1cmVSZXNlcnZlZFdvcmRcIixlW2UuRmlyc3RUeXBlTm9kZT0xODJdPVwiRmlyc3RUeXBlTm9kZVwiLGVbZS5MYXN0VHlwZU5vZGU9MjA1XT1cIkxhc3RUeXBlTm9kZVwiLGVbZS5GaXJzdFB1bmN0dWF0aW9uPTE5XT1cIkZpcnN0UHVuY3R1YXRpb25cIixlW2UuTGFzdFB1bmN0dWF0aW9uPTc5XT1cIkxhc3RQdW5jdHVhdGlvblwiLGVbZS5GaXJzdFRva2VuPTBdPVwiRmlyc3RUb2tlblwiLGVbZS5MYXN0VG9rZW49MTY1XT1cIkxhc3RUb2tlblwiLGVbZS5GaXJzdFRyaXZpYVRva2VuPTJdPVwiRmlyc3RUcml2aWFUb2tlblwiLGVbZS5MYXN0VHJpdmlhVG9rZW49N109XCJMYXN0VHJpdmlhVG9rZW5cIixlW2UuRmlyc3RMaXRlcmFsVG9rZW49OV09XCJGaXJzdExpdGVyYWxUb2tlblwiLGVbZS5MYXN0TGl0ZXJhbFRva2VuPTE1XT1cIkxhc3RMaXRlcmFsVG9rZW5cIixlW2UuRmlyc3RUZW1wbGF0ZVRva2VuPTE1XT1cIkZpcnN0VGVtcGxhdGVUb2tlblwiLGVbZS5MYXN0VGVtcGxhdGVUb2tlbj0xOF09XCJMYXN0VGVtcGxhdGVUb2tlblwiLGVbZS5GaXJzdEJpbmFyeU9wZXJhdG9yPTMwXT1cIkZpcnN0QmluYXJ5T3BlcmF0b3JcIixlW2UuTGFzdEJpbmFyeU9wZXJhdG9yPTc5XT1cIkxhc3RCaW5hcnlPcGVyYXRvclwiLGVbZS5GaXJzdFN0YXRlbWVudD0yNDNdPVwiRmlyc3RTdGF0ZW1lbnRcIixlW2UuTGFzdFN0YXRlbWVudD0yNTldPVwiTGFzdFN0YXRlbWVudFwiLGVbZS5GaXJzdE5vZGU9MTY2XT1cIkZpcnN0Tm9kZVwiLGVbZS5GaXJzdEpTRG9jTm9kZT0zMDldPVwiRmlyc3RKU0RvY05vZGVcIixlW2UuTGFzdEpTRG9jTm9kZT0zNTFdPVwiTGFzdEpTRG9jTm9kZVwiLGVbZS5GaXJzdEpTRG9jVGFnTm9kZT0zMjddPVwiRmlyc3RKU0RvY1RhZ05vZGVcIixlW2UuTGFzdEpTRG9jVGFnTm9kZT0zNTFdPVwiTGFzdEpTRG9jVGFnTm9kZVwiLGVbZS5GaXJzdENvbnRleHR1YWxLZXl3b3JkPTEyOF09XCJGaXJzdENvbnRleHR1YWxLZXl3b3JkXCIsZVtlLkxhc3RDb250ZXh0dWFsS2V5d29yZD0xNjVdPVwiTGFzdENvbnRleHR1YWxLZXl3b3JkXCIsZSkpKE5lfHx7fSksb249KGU9PihlW2UuTm9uZT0wXT1cIk5vbmVcIixlW2UuTGV0PTFdPVwiTGV0XCIsZVtlLkNvbnN0PTJdPVwiQ29uc3RcIixlW2UuVXNpbmc9NF09XCJVc2luZ1wiLGVbZS5Bd2FpdFVzaW5nPTZdPVwiQXdhaXRVc2luZ1wiLGVbZS5OZXN0ZWROYW1lc3BhY2U9OF09XCJOZXN0ZWROYW1lc3BhY2VcIixlW2UuU3ludGhlc2l6ZWQ9MTZdPVwiU3ludGhlc2l6ZWRcIixlW2UuTmFtZXNwYWNlPTMyXT1cIk5hbWVzcGFjZVwiLGVbZS5PcHRpb25hbENoYWluPTY0XT1cIk9wdGlvbmFsQ2hhaW5cIixlW2UuRXhwb3J0Q29udGV4dD0xMjhdPVwiRXhwb3J0Q29udGV4dFwiLGVbZS5Db250YWluc1RoaXM9MjU2XT1cIkNvbnRhaW5zVGhpc1wiLGVbZS5IYXNJbXBsaWNpdFJldHVybj01MTJdPVwiSGFzSW1wbGljaXRSZXR1cm5cIixlW2UuSGFzRXhwbGljaXRSZXR1cm49MTAyNF09XCJIYXNFeHBsaWNpdFJldHVyblwiLGVbZS5HbG9iYWxBdWdtZW50YXRpb249MjA0OF09XCJHbG9iYWxBdWdtZW50YXRpb25cIixlW2UuSGFzQXN5bmNGdW5jdGlvbnM9NDA5Nl09XCJIYXNBc3luY0Z1bmN0aW9uc1wiLGVbZS5EaXNhbGxvd0luQ29udGV4dD04MTkyXT1cIkRpc2FsbG93SW5Db250ZXh0XCIsZVtlLllpZWxkQ29udGV4dD0xNjM4NF09XCJZaWVsZENvbnRleHRcIixlW2UuRGVjb3JhdG9yQ29udGV4dD0zMjc2OF09XCJEZWNvcmF0b3JDb250ZXh0XCIsZVtlLkF3YWl0Q29udGV4dD02NTUzNl09XCJBd2FpdENvbnRleHRcIixlW2UuRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dD0xMzEwNzJdPVwiRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dFwiLGVbZS5UaGlzTm9kZUhhc0Vycm9yPTI2MjE0NF09XCJUaGlzTm9kZUhhc0Vycm9yXCIsZVtlLkphdmFTY3JpcHRGaWxlPTUyNDI4OF09XCJKYXZhU2NyaXB0RmlsZVwiLGVbZS5UaGlzTm9kZU9yQW55U3ViTm9kZXNIYXNFcnJvcj0xMDQ4NTc2XT1cIlRoaXNOb2RlT3JBbnlTdWJOb2Rlc0hhc0Vycm9yXCIsZVtlLkhhc0FnZ3JlZ2F0ZWRDaGlsZERhdGE9MjA5NzE1Ml09XCJIYXNBZ2dyZWdhdGVkQ2hpbGREYXRhXCIsZVtlLlBvc3NpYmx5Q29udGFpbnNEeW5hbWljSW1wb3J0PTQxOTQzMDRdPVwiUG9zc2libHlDb250YWluc0R5bmFtaWNJbXBvcnRcIixlW2UuUG9zc2libHlDb250YWluc0ltcG9ydE1ldGE9ODM4ODYwOF09XCJQb3NzaWJseUNvbnRhaW5zSW1wb3J0TWV0YVwiLGVbZS5KU0RvYz0xNjc3NzIxNl09XCJKU0RvY1wiLGVbZS5BbWJpZW50PTMzNTU0NDMyXT1cIkFtYmllbnRcIixlW2UuSW5XaXRoU3RhdGVtZW50PTY3MTA4ODY0XT1cIkluV2l0aFN0YXRlbWVudFwiLGVbZS5Kc29uRmlsZT0xMzQyMTc3MjhdPVwiSnNvbkZpbGVcIixlW2UuVHlwZUNhY2hlZD0yNjg0MzU0NTZdPVwiVHlwZUNhY2hlZFwiLGVbZS5EZXByZWNhdGVkPTUzNjg3MDkxMl09XCJEZXByZWNhdGVkXCIsZVtlLkJsb2NrU2NvcGVkPTddPVwiQmxvY2tTY29wZWRcIixlW2UuQ29uc3RhbnQ9Nl09XCJDb25zdGFudFwiLGVbZS5SZWFjaGFiaWxpdHlDaGVja0ZsYWdzPTE1MzZdPVwiUmVhY2hhYmlsaXR5Q2hlY2tGbGFnc1wiLGVbZS5SZWFjaGFiaWxpdHlBbmRFbWl0RmxhZ3M9NTYzMl09XCJSZWFjaGFiaWxpdHlBbmRFbWl0RmxhZ3NcIixlW2UuQ29udGV4dEZsYWdzPTEwMTQ0MTUzNl09XCJDb250ZXh0RmxhZ3NcIixlW2UuVHlwZUV4Y2x1ZGVzRmxhZ3M9ODE5MjBdPVwiVHlwZUV4Y2x1ZGVzRmxhZ3NcIixlW2UuUGVybWFuZW50bHlTZXRJbmNyZW1lbnRhbEZsYWdzPTEyNTgyOTEyXT1cIlBlcm1hbmVudGx5U2V0SW5jcmVtZW50YWxGbGFnc1wiLGVbZS5JZGVudGlmaWVySGFzRXh0ZW5kZWRVbmljb2RlRXNjYXBlPTI1Nl09XCJJZGVudGlmaWVySGFzRXh0ZW5kZWRVbmljb2RlRXNjYXBlXCIsZVtlLklkZW50aWZpZXJJc0luSlNEb2NOYW1lc3BhY2U9NDA5Nl09XCJJZGVudGlmaWVySXNJbkpTRG9jTmFtZXNwYWNlXCIsZSkpKG9ufHx7fSksUXA9KGU9PihlW2UuTm9uZT0wXT1cIk5vbmVcIixlW2UuUHVibGljPTFdPVwiUHVibGljXCIsZVtlLlByaXZhdGU9Ml09XCJQcml2YXRlXCIsZVtlLlByb3RlY3RlZD00XT1cIlByb3RlY3RlZFwiLGVbZS5SZWFkb25seT04XT1cIlJlYWRvbmx5XCIsZVtlLk92ZXJyaWRlPTE2XT1cIk92ZXJyaWRlXCIsZVtlLkV4cG9ydD0zMl09XCJFeHBvcnRcIixlW2UuQWJzdHJhY3Q9NjRdPVwiQWJzdHJhY3RcIixlW2UuQW1iaWVudD0xMjhdPVwiQW1iaWVudFwiLGVbZS5TdGF0aWM9MjU2XT1cIlN0YXRpY1wiLGVbZS5BY2Nlc3Nvcj01MTJdPVwiQWNjZXNzb3JcIixlW2UuQXN5bmM9MTAyNF09XCJBc3luY1wiLGVbZS5EZWZhdWx0PTIwNDhdPVwiRGVmYXVsdFwiLGVbZS5Db25zdD00MDk2XT1cIkNvbnN0XCIsZVtlLkluPTgxOTJdPVwiSW5cIixlW2UuT3V0PTE2Mzg0XT1cIk91dFwiLGVbZS5EZWNvcmF0b3I9MzI3NjhdPVwiRGVjb3JhdG9yXCIsZVtlLkRlcHJlY2F0ZWQ9NjU1MzZdPVwiRGVwcmVjYXRlZFwiLGVbZS5KU0RvY1B1YmxpYz04Mzg4NjA4XT1cIkpTRG9jUHVibGljXCIsZVtlLkpTRG9jUHJpdmF0ZT0xNjc3NzIxNl09XCJKU0RvY1ByaXZhdGVcIixlW2UuSlNEb2NQcm90ZWN0ZWQ9MzM1NTQ0MzJdPVwiSlNEb2NQcm90ZWN0ZWRcIixlW2UuSlNEb2NSZWFkb25seT02NzEwODg2NF09XCJKU0RvY1JlYWRvbmx5XCIsZVtlLkpTRG9jT3ZlcnJpZGU9MTM0MjE3NzI4XT1cIkpTRG9jT3ZlcnJpZGVcIixlW2UuU3ludGFjdGljT3JKU0RvY01vZGlmaWVycz0zMV09XCJTeW50YWN0aWNPckpTRG9jTW9kaWZpZXJzXCIsZVtlLlN5bnRhY3RpY09ubHlNb2RpZmllcnM9NjU1MDRdPVwiU3ludGFjdGljT25seU1vZGlmaWVyc1wiLGVbZS5TeW50YWN0aWNNb2RpZmllcnM9NjU1MzVdPVwiU3ludGFjdGljTW9kaWZpZXJzXCIsZVtlLkpTRG9jQ2FjaGVPbmx5TW9kaWZpZXJzPTI2MDA0Njg0OF09XCJKU0RvY0NhY2hlT25seU1vZGlmaWVyc1wiLGVbZS5KU0RvY09ubHlNb2RpZmllcnM9NjU1MzZdPVwiSlNEb2NPbmx5TW9kaWZpZXJzXCIsZVtlLk5vbkNhY2hlT25seU1vZGlmaWVycz0xMzEwNzFdPVwiTm9uQ2FjaGVPbmx5TW9kaWZpZXJzXCIsZVtlLkhhc0NvbXB1dGVkSlNEb2NNb2RpZmllcnM9MjY4NDM1NDU2XT1cIkhhc0NvbXB1dGVkSlNEb2NNb2RpZmllcnNcIixlW2UuSGFzQ29tcHV0ZWRGbGFncz01MzY4NzA5MTJdPVwiSGFzQ29tcHV0ZWRGbGFnc1wiLGVbZS5BY2Nlc3NpYmlsaXR5TW9kaWZpZXI9N109XCJBY2Nlc3NpYmlsaXR5TW9kaWZpZXJcIixlW2UuUGFyYW1ldGVyUHJvcGVydHlNb2RpZmllcj0zMV09XCJQYXJhbWV0ZXJQcm9wZXJ0eU1vZGlmaWVyXCIsZVtlLk5vblB1YmxpY0FjY2Vzc2liaWxpdHlNb2RpZmllcj02XT1cIk5vblB1YmxpY0FjY2Vzc2liaWxpdHlNb2RpZmllclwiLGVbZS5UeXBlU2NyaXB0TW9kaWZpZXI9Mjg4OTVdPVwiVHlwZVNjcmlwdE1vZGlmaWVyXCIsZVtlLkV4cG9ydERlZmF1bHQ9MjA4MF09XCJFeHBvcnREZWZhdWx0XCIsZVtlLkFsbD0xMzEwNzFdPVwiQWxsXCIsZVtlLk1vZGlmaWVyPTk4MzAzXT1cIk1vZGlmaWVyXCIsZSkpKFFwfHx7fSk7dmFyIFBtPShlPT4oZVtlLk5vbmU9MF09XCJOb25lXCIsZVtlLlN1Y2NlZWRlZD0xXT1cIlN1Y2NlZWRlZFwiLGVbZS5GYWlsZWQ9Ml09XCJGYWlsZWRcIixlW2UuUmVwb3J0c1VubWVhc3VyYWJsZT04XT1cIlJlcG9ydHNVbm1lYXN1cmFibGVcIixlW2UuUmVwb3J0c1VucmVsaWFibGU9MTZdPVwiUmVwb3J0c1VucmVsaWFibGVcIixlW2UuUmVwb3J0c01hc2s9MjRdPVwiUmVwb3J0c01hc2tcIixlW2UuQ29tcGxleGl0eU92ZXJmbG93PTMyXT1cIkNvbXBsZXhpdHlPdmVyZmxvd1wiLGVbZS5TdGFja0RlcHRoT3ZlcmZsb3c9NjRdPVwiU3RhY2tEZXB0aE92ZXJmbG93XCIsZVtlLk92ZXJmbG93PTk2XT1cIk92ZXJmbG93XCIsZSkpKFBtfHx7fSk7dmFyIE9wPShlPT4oZVtlLlVucmVhY2hhYmxlPTFdPVwiVW5yZWFjaGFibGVcIixlW2UuU3RhcnQ9Ml09XCJTdGFydFwiLGVbZS5CcmFuY2hMYWJlbD00XT1cIkJyYW5jaExhYmVsXCIsZVtlLkxvb3BMYWJlbD04XT1cIkxvb3BMYWJlbFwiLGVbZS5Bc3NpZ25tZW50PTE2XT1cIkFzc2lnbm1lbnRcIixlW2UuVHJ1ZUNvbmRpdGlvbj0zMl09XCJUcnVlQ29uZGl0aW9uXCIsZVtlLkZhbHNlQ29uZGl0aW9uPTY0XT1cIkZhbHNlQ29uZGl0aW9uXCIsZVtlLlN3aXRjaENsYXVzZT0xMjhdPVwiU3dpdGNoQ2xhdXNlXCIsZVtlLkFycmF5TXV0YXRpb249MjU2XT1cIkFycmF5TXV0YXRpb25cIixlW2UuQ2FsbD01MTJdPVwiQ2FsbFwiLGVbZS5SZWR1Y2VMYWJlbD0xMDI0XT1cIlJlZHVjZUxhYmVsXCIsZVtlLlJlZmVyZW5jZWQ9MjA0OF09XCJSZWZlcmVuY2VkXCIsZVtlLlNoYXJlZD00MDk2XT1cIlNoYXJlZFwiLGVbZS5MYWJlbD0xMl09XCJMYWJlbFwiLGVbZS5Db25kaXRpb249OTZdPVwiQ29uZGl0aW9uXCIsZSkpKE9wfHx7fSk7dmFyIEtwPShlPT4oZVtlLk5vbmU9MF09XCJOb25lXCIsZVtlLkZ1bmN0aW9uU2NvcGVkVmFyaWFibGU9MV09XCJGdW5jdGlvblNjb3BlZFZhcmlhYmxlXCIsZVtlLkJsb2NrU2NvcGVkVmFyaWFibGU9Ml09XCJCbG9ja1Njb3BlZFZhcmlhYmxlXCIsZVtlLlByb3BlcnR5PTRdPVwiUHJvcGVydHlcIixlW2UuRW51bU1lbWJlcj04XT1cIkVudW1NZW1iZXJcIixlW2UuRnVuY3Rpb249MTZdPVwiRnVuY3Rpb25cIixlW2UuQ2xhc3M9MzJdPVwiQ2xhc3NcIixlW2UuSW50ZXJmYWNlPTY0XT1cIkludGVyZmFjZVwiLGVbZS5Db25zdEVudW09MTI4XT1cIkNvbnN0RW51bVwiLGVbZS5SZWd1bGFyRW51bT0yNTZdPVwiUmVndWxhckVudW1cIixlW2UuVmFsdWVNb2R1bGU9NTEyXT1cIlZhbHVlTW9kdWxlXCIsZVtlLk5hbWVzcGFjZU1vZHVsZT0xMDI0XT1cIk5hbWVzcGFjZU1vZHVsZVwiLGVbZS5UeXBlTGl0ZXJhbD0yMDQ4XT1cIlR5cGVMaXRlcmFsXCIsZVtlLk9iamVjdExpdGVyYWw9NDA5Nl09XCJPYmplY3RMaXRlcmFsXCIsZVtlLk1ldGhvZD04MTkyXT1cIk1ldGhvZFwiLGVbZS5Db25zdHJ1Y3Rvcj0xNjM4NF09XCJDb25zdHJ1Y3RvclwiLGVbZS5HZXRBY2Nlc3Nvcj0zMjc2OF09XCJHZXRBY2Nlc3NvclwiLGVbZS5TZXRBY2Nlc3Nvcj02NTUzNl09XCJTZXRBY2Nlc3NvclwiLGVbZS5TaWduYXR1cmU9MTMxMDcyXT1cIlNpZ25hdHVyZVwiLGVbZS5UeXBlUGFyYW1ldGVyPTI2MjE0NF09XCJUeXBlUGFyYW1ldGVyXCIsZVtlLlR5cGVBbGlhcz01MjQyODhdPVwiVHlwZUFsaWFzXCIsZVtlLkV4cG9ydFZhbHVlPTEwNDg1NzZdPVwiRXhwb3J0VmFsdWVcIixlW2UuQWxpYXM9MjA5NzE1Ml09XCJBbGlhc1wiLGVbZS5Qcm90b3R5cGU9NDE5NDMwNF09XCJQcm90b3R5cGVcIixlW2UuRXhwb3J0U3Rhcj04Mzg4NjA4XT1cIkV4cG9ydFN0YXJcIixlW2UuT3B0aW9uYWw9MTY3NzcyMTZdPVwiT3B0aW9uYWxcIixlW2UuVHJhbnNpZW50PTMzNTU0NDMyXT1cIlRyYW5zaWVudFwiLGVbZS5Bc3NpZ25tZW50PTY3MTA4ODY0XT1cIkFzc2lnbm1lbnRcIixlW2UuTW9kdWxlRXhwb3J0cz0xMzQyMTc3MjhdPVwiTW9kdWxlRXhwb3J0c1wiLGVbZS5BbGw9LTFdPVwiQWxsXCIsZVtlLkVudW09Mzg0XT1cIkVudW1cIixlW2UuVmFyaWFibGU9M109XCJWYXJpYWJsZVwiLGVbZS5WYWx1ZT0xMTE1NTFdPVwiVmFsdWVcIixlW2UuVHlwZT03ODg5NjhdPVwiVHlwZVwiLGVbZS5OYW1lc3BhY2U9MTkyMF09XCJOYW1lc3BhY2VcIixlW2UuTW9kdWxlPTE1MzZdPVwiTW9kdWxlXCIsZVtlLkFjY2Vzc29yPTk4MzA0XT1cIkFjY2Vzc29yXCIsZVtlLkZ1bmN0aW9uU2NvcGVkVmFyaWFibGVFeGNsdWRlcz0xMTE1NTBdPVwiRnVuY3Rpb25TY29wZWRWYXJpYWJsZUV4Y2x1ZGVzXCIsZVtlLkJsb2NrU2NvcGVkVmFyaWFibGVFeGNsdWRlcz0xMTE1NTFdPVwiQmxvY2tTY29wZWRWYXJpYWJsZUV4Y2x1ZGVzXCIsZVtlLlBhcmFtZXRlckV4Y2x1ZGVzPTExMTU1MV09XCJQYXJhbWV0ZXJFeGNsdWRlc1wiLGVbZS5Qcm9wZXJ0eUV4Y2x1ZGVzPTBdPVwiUHJvcGVydHlFeGNsdWRlc1wiLGVbZS5FbnVtTWVtYmVyRXhjbHVkZXM9OTAwMDk1XT1cIkVudW1NZW1iZXJFeGNsdWRlc1wiLGVbZS5GdW5jdGlvbkV4Y2x1ZGVzPTExMDk5MV09XCJGdW5jdGlvbkV4Y2x1ZGVzXCIsZVtlLkNsYXNzRXhjbHVkZXM9ODk5NTAzXT1cIkNsYXNzRXhjbHVkZXNcIixlW2UuSW50ZXJmYWNlRXhjbHVkZXM9Nzg4ODcyXT1cIkludGVyZmFjZUV4Y2x1ZGVzXCIsZVtlLlJlZ3VsYXJFbnVtRXhjbHVkZXM9ODk5MzI3XT1cIlJlZ3VsYXJFbnVtRXhjbHVkZXNcIixlW2UuQ29uc3RFbnVtRXhjbHVkZXM9ODk5OTY3XT1cIkNvbnN0RW51bUV4Y2x1ZGVzXCIsZVtlLlZhbHVlTW9kdWxlRXhjbHVkZXM9MTEwNzM1XT1cIlZhbHVlTW9kdWxlRXhjbHVkZXNcIixlW2UuTmFtZXNwYWNlTW9kdWxlRXhjbHVkZXM9MF09XCJOYW1lc3BhY2VNb2R1bGVFeGNsdWRlc1wiLGVbZS5NZXRob2RFeGNsdWRlcz0xMDMzNTldPVwiTWV0aG9kRXhjbHVkZXNcIixlW2UuR2V0QWNjZXNzb3JFeGNsdWRlcz00NjAxNV09XCJHZXRBY2Nlc3NvckV4Y2x1ZGVzXCIsZVtlLlNldEFjY2Vzc29yRXhjbHVkZXM9Nzg3ODNdPVwiU2V0QWNjZXNzb3JFeGNsdWRlc1wiLGVbZS5BY2Nlc3NvckV4Y2x1ZGVzPTEzMjQ3XT1cIkFjY2Vzc29yRXhjbHVkZXNcIixlW2UuVHlwZVBhcmFtZXRlckV4Y2x1ZGVzPTUyNjgyNF09XCJUeXBlUGFyYW1ldGVyRXhjbHVkZXNcIixlW2UuVHlwZUFsaWFzRXhjbHVkZXM9Nzg4OTY4XT1cIlR5cGVBbGlhc0V4Y2x1ZGVzXCIsZVtlLkFsaWFzRXhjbHVkZXM9MjA5NzE1Ml09XCJBbGlhc0V4Y2x1ZGVzXCIsZVtlLk1vZHVsZU1lbWJlcj0yNjIzNDc1XT1cIk1vZHVsZU1lbWJlclwiLGVbZS5FeHBvcnRIYXNMb2NhbD05NDRdPVwiRXhwb3J0SGFzTG9jYWxcIixlW2UuQmxvY2tTY29wZWQ9NDE4XT1cIkJsb2NrU2NvcGVkXCIsZVtlLlByb3BlcnR5T3JBY2Nlc3Nvcj05ODMwOF09XCJQcm9wZXJ0eU9yQWNjZXNzb3JcIixlW2UuQ2xhc3NNZW1iZXI9MTA2NTAwXT1cIkNsYXNzTWVtYmVyXCIsZVtlLkV4cG9ydFN1cHBvcnRzRGVmYXVsdE1vZGlmaWVyPTExMl09XCJFeHBvcnRTdXBwb3J0c0RlZmF1bHRNb2RpZmllclwiLGVbZS5FeHBvcnREb2VzTm90U3VwcG9ydERlZmF1bHRNb2RpZmllcj0tMTEzXT1cIkV4cG9ydERvZXNOb3RTdXBwb3J0RGVmYXVsdE1vZGlmaWVyXCIsZVtlLkNsYXNzaWZpYWJsZT0yODg1NjAwXT1cIkNsYXNzaWZpYWJsZVwiLGVbZS5MYXRlQmluZGluZ0NvbnRhaW5lcj02MjU2XT1cIkxhdGVCaW5kaW5nQ29udGFpbmVyXCIsZSkpKEtwfHx7fSk7dmFyIE5tPShlPT4oZVtlLk5vbmU9MF09XCJOb25lXCIsZVtlLlR5cGVDaGVja2VkPTFdPVwiVHlwZUNoZWNrZWRcIixlW2UuTGV4aWNhbFRoaXM9Ml09XCJMZXhpY2FsVGhpc1wiLGVbZS5DYXB0dXJlVGhpcz00XT1cIkNhcHR1cmVUaGlzXCIsZVtlLkNhcHR1cmVOZXdUYXJnZXQ9OF09XCJDYXB0dXJlTmV3VGFyZ2V0XCIsZVtlLlN1cGVySW5zdGFuY2U9MTZdPVwiU3VwZXJJbnN0YW5jZVwiLGVbZS5TdXBlclN0YXRpYz0zMl09XCJTdXBlclN0YXRpY1wiLGVbZS5Db250ZXh0Q2hlY2tlZD02NF09XCJDb250ZXh0Q2hlY2tlZFwiLGVbZS5NZXRob2RXaXRoU3VwZXJQcm9wZXJ0eUFjY2Vzc0luQXN5bmM9MTI4XT1cIk1ldGhvZFdpdGhTdXBlclByb3BlcnR5QWNjZXNzSW5Bc3luY1wiLGVbZS5NZXRob2RXaXRoU3VwZXJQcm9wZXJ0eUFzc2lnbm1lbnRJbkFzeW5jPTI1Nl09XCJNZXRob2RXaXRoU3VwZXJQcm9wZXJ0eUFzc2lnbm1lbnRJbkFzeW5jXCIsZVtlLkNhcHR1cmVBcmd1bWVudHM9NTEyXT1cIkNhcHR1cmVBcmd1bWVudHNcIixlW2UuRW51bVZhbHVlc0NvbXB1dGVkPTEwMjRdPVwiRW51bVZhbHVlc0NvbXB1dGVkXCIsZVtlLkxleGljYWxNb2R1bGVNZXJnZXNXaXRoQ2xhc3M9MjA0OF09XCJMZXhpY2FsTW9kdWxlTWVyZ2VzV2l0aENsYXNzXCIsZVtlLkxvb3BXaXRoQ2FwdHVyZWRCbG9ja1Njb3BlZEJpbmRpbmc9NDA5Nl09XCJMb29wV2l0aENhcHR1cmVkQmxvY2tTY29wZWRCaW5kaW5nXCIsZVtlLkNvbnRhaW5zQ2FwdHVyZWRCbG9ja1Njb3BlQmluZGluZz04MTkyXT1cIkNvbnRhaW5zQ2FwdHVyZWRCbG9ja1Njb3BlQmluZGluZ1wiLGVbZS5DYXB0dXJlZEJsb2NrU2NvcGVkQmluZGluZz0xNjM4NF09XCJDYXB0dXJlZEJsb2NrU2NvcGVkQmluZGluZ1wiLGVbZS5CbG9ja1Njb3BlZEJpbmRpbmdJbkxvb3A9MzI3NjhdPVwiQmxvY2tTY29wZWRCaW5kaW5nSW5Mb29wXCIsZVtlLk5lZWRzTG9vcE91dFBhcmFtZXRlcj02NTUzNl09XCJOZWVkc0xvb3BPdXRQYXJhbWV0ZXJcIixlW2UuQXNzaWdubWVudHNNYXJrZWQ9MTMxMDcyXT1cIkFzc2lnbm1lbnRzTWFya2VkXCIsZVtlLkNvbnRhaW5zQ29uc3RydWN0b3JSZWZlcmVuY2U9MjYyMTQ0XT1cIkNvbnRhaW5zQ29uc3RydWN0b3JSZWZlcmVuY2VcIixlW2UuQ29uc3RydWN0b3JSZWZlcmVuY2U9NTM2ODcwOTEyXT1cIkNvbnN0cnVjdG9yUmVmZXJlbmNlXCIsZVtlLkNvbnRhaW5zQ2xhc3NXaXRoUHJpdmF0ZUlkZW50aWZpZXJzPTEwNDg1NzZdPVwiQ29udGFpbnNDbGFzc1dpdGhQcml2YXRlSWRlbnRpZmllcnNcIixlW2UuQ29udGFpbnNTdXBlclByb3BlcnR5SW5TdGF0aWNJbml0aWFsaXplcj0yMDk3MTUyXT1cIkNvbnRhaW5zU3VwZXJQcm9wZXJ0eUluU3RhdGljSW5pdGlhbGl6ZXJcIixlW2UuSW5DaGVja0lkZW50aWZpZXI9NDE5NDMwNF09XCJJbkNoZWNrSWRlbnRpZmllclwiLGVbZS5QYXJ0aWFsbHlUeXBlQ2hlY2tlZD04Mzg4NjA4XT1cIlBhcnRpYWxseVR5cGVDaGVja2VkXCIsZVtlLkxhenlGbGFncz01MzkzNTgxMjhdPVwiTGF6eUZsYWdzXCIsZSkpKE5tfHx7fSksbm49KGU9PihlW2UuQW55PTFdPVwiQW55XCIsZVtlLlVua25vd249Ml09XCJVbmtub3duXCIsZVtlLlN0cmluZz00XT1cIlN0cmluZ1wiLGVbZS5OdW1iZXI9OF09XCJOdW1iZXJcIixlW2UuQm9vbGVhbj0xNl09XCJCb29sZWFuXCIsZVtlLkVudW09MzJdPVwiRW51bVwiLGVbZS5CaWdJbnQ9NjRdPVwiQmlnSW50XCIsZVtlLlN0cmluZ0xpdGVyYWw9MTI4XT1cIlN0cmluZ0xpdGVyYWxcIixlW2UuTnVtYmVyTGl0ZXJhbD0yNTZdPVwiTnVtYmVyTGl0ZXJhbFwiLGVbZS5Cb29sZWFuTGl0ZXJhbD01MTJdPVwiQm9vbGVhbkxpdGVyYWxcIixlW2UuRW51bUxpdGVyYWw9MTAyNF09XCJFbnVtTGl0ZXJhbFwiLGVbZS5CaWdJbnRMaXRlcmFsPTIwNDhdPVwiQmlnSW50TGl0ZXJhbFwiLGVbZS5FU1N5bWJvbD00MDk2XT1cIkVTU3ltYm9sXCIsZVtlLlVuaXF1ZUVTU3ltYm9sPTgxOTJdPVwiVW5pcXVlRVNTeW1ib2xcIixlW2UuVm9pZD0xNjM4NF09XCJWb2lkXCIsZVtlLlVuZGVmaW5lZD0zMjc2OF09XCJVbmRlZmluZWRcIixlW2UuTnVsbD02NTUzNl09XCJOdWxsXCIsZVtlLk5ldmVyPTEzMTA3Ml09XCJOZXZlclwiLGVbZS5UeXBlUGFyYW1ldGVyPTI2MjE0NF09XCJUeXBlUGFyYW1ldGVyXCIsZVtlLk9iamVjdD01MjQyODhdPVwiT2JqZWN0XCIsZVtlLlVuaW9uPTEwNDg1NzZdPVwiVW5pb25cIixlW2UuSW50ZXJzZWN0aW9uPTIwOTcxNTJdPVwiSW50ZXJzZWN0aW9uXCIsZVtlLkluZGV4PTQxOTQzMDRdPVwiSW5kZXhcIixlW2UuSW5kZXhlZEFjY2Vzcz04Mzg4NjA4XT1cIkluZGV4ZWRBY2Nlc3NcIixlW2UuQ29uZGl0aW9uYWw9MTY3NzcyMTZdPVwiQ29uZGl0aW9uYWxcIixlW2UuU3Vic3RpdHV0aW9uPTMzNTU0NDMyXT1cIlN1YnN0aXR1dGlvblwiLGVbZS5Ob25QcmltaXRpdmU9NjcxMDg4NjRdPVwiTm9uUHJpbWl0aXZlXCIsZVtlLlRlbXBsYXRlTGl0ZXJhbD0xMzQyMTc3MjhdPVwiVGVtcGxhdGVMaXRlcmFsXCIsZVtlLlN0cmluZ01hcHBpbmc9MjY4NDM1NDU2XT1cIlN0cmluZ01hcHBpbmdcIixlW2UuUmVzZXJ2ZWQxPTUzNjg3MDkxMl09XCJSZXNlcnZlZDFcIixlW2UuUmVzZXJ2ZWQyPTEwNzM3NDE4MjRdPVwiUmVzZXJ2ZWQyXCIsZVtlLkFueU9yVW5rbm93bj0zXT1cIkFueU9yVW5rbm93blwiLGVbZS5OdWxsYWJsZT05ODMwNF09XCJOdWxsYWJsZVwiLGVbZS5MaXRlcmFsPTI5NDRdPVwiTGl0ZXJhbFwiLGVbZS5Vbml0PTEwOTQ3Ml09XCJVbml0XCIsZVtlLkZyZXNoYWJsZT0yOTc2XT1cIkZyZXNoYWJsZVwiLGVbZS5TdHJpbmdPck51bWJlckxpdGVyYWw9Mzg0XT1cIlN0cmluZ09yTnVtYmVyTGl0ZXJhbFwiLGVbZS5TdHJpbmdPck51bWJlckxpdGVyYWxPclVuaXF1ZT04NTc2XT1cIlN0cmluZ09yTnVtYmVyTGl0ZXJhbE9yVW5pcXVlXCIsZVtlLkRlZmluaXRlbHlGYWxzeT0xMTc2MzJdPVwiRGVmaW5pdGVseUZhbHN5XCIsZVtlLlBvc3NpYmx5RmFsc3k9MTE3NzI0XT1cIlBvc3NpYmx5RmFsc3lcIixlW2UuSW50cmluc2ljPTY3MzU5MzI3XT1cIkludHJpbnNpY1wiLGVbZS5TdHJpbmdMaWtlPTQwMjY1MzMxNl09XCJTdHJpbmdMaWtlXCIsZVtlLk51bWJlckxpa2U9Mjk2XT1cIk51bWJlckxpa2VcIixlW2UuQmlnSW50TGlrZT0yMTEyXT1cIkJpZ0ludExpa2VcIixlW2UuQm9vbGVhbkxpa2U9NTI4XT1cIkJvb2xlYW5MaWtlXCIsZVtlLkVudW1MaWtlPTEwNTZdPVwiRW51bUxpa2VcIixlW2UuRVNTeW1ib2xMaWtlPTEyMjg4XT1cIkVTU3ltYm9sTGlrZVwiLGVbZS5Wb2lkTGlrZT00OTE1Ml09XCJWb2lkTGlrZVwiLGVbZS5QcmltaXRpdmU9NDAyNzg0MjUyXT1cIlByaW1pdGl2ZVwiLGVbZS5EZWZpbml0ZWx5Tm9uTnVsbGFibGU9NDcwMzAyNzE2XT1cIkRlZmluaXRlbHlOb25OdWxsYWJsZVwiLGVbZS5EaXNqb2ludERvbWFpbnM9NDY5ODkyMDkyXT1cIkRpc2pvaW50RG9tYWluc1wiLGVbZS5Vbmlvbk9ySW50ZXJzZWN0aW9uPTMxNDU3MjhdPVwiVW5pb25PckludGVyc2VjdGlvblwiLGVbZS5TdHJ1Y3R1cmVkVHlwZT0zNjcwMDE2XT1cIlN0cnVjdHVyZWRUeXBlXCIsZVtlLlR5cGVWYXJpYWJsZT04NjUwNzUyXT1cIlR5cGVWYXJpYWJsZVwiLGVbZS5JbnN0YW50aWFibGVOb25QcmltaXRpdmU9NTg5ODI0MDBdPVwiSW5zdGFudGlhYmxlTm9uUHJpbWl0aXZlXCIsZVtlLkluc3RhbnRpYWJsZVByaW1pdGl2ZT00MDY4NDc0ODhdPVwiSW5zdGFudGlhYmxlUHJpbWl0aXZlXCIsZVtlLkluc3RhbnRpYWJsZT00NjU4Mjk4ODhdPVwiSW5zdGFudGlhYmxlXCIsZVtlLlN0cnVjdHVyZWRPckluc3RhbnRpYWJsZT00Njk0OTk5MDRdPVwiU3RydWN0dXJlZE9ySW5zdGFudGlhYmxlXCIsZVtlLk9iamVjdEZsYWdzVHlwZT0zODk5MzkzXT1cIk9iamVjdEZsYWdzVHlwZVwiLGVbZS5TaW1wbGlmaWFibGU9MjUxNjU4MjRdPVwiU2ltcGxpZmlhYmxlXCIsZVtlLlNpbmdsZXRvbj02NzM1ODgxNV09XCJTaW5nbGV0b25cIixlW2UuTmFycm93YWJsZT01MzY2MjQxMjddPVwiTmFycm93YWJsZVwiLGVbZS5JbmNsdWRlc01hc2s9NDczNjk0MjA3XT1cIkluY2x1ZGVzTWFza1wiLGVbZS5JbmNsdWRlc01pc3NpbmdUeXBlPTI2MjE0NF09XCJJbmNsdWRlc01pc3NpbmdUeXBlXCIsZVtlLkluY2x1ZGVzTm9uV2lkZW5pbmdUeXBlPTQxOTQzMDRdPVwiSW5jbHVkZXNOb25XaWRlbmluZ1R5cGVcIixlW2UuSW5jbHVkZXNXaWxkY2FyZD04Mzg4NjA4XT1cIkluY2x1ZGVzV2lsZGNhcmRcIixlW2UuSW5jbHVkZXNFbXB0eU9iamVjdD0xNjc3NzIxNl09XCJJbmNsdWRlc0VtcHR5T2JqZWN0XCIsZVtlLkluY2x1ZGVzSW5zdGFudGlhYmxlPTMzNTU0NDMyXT1cIkluY2x1ZGVzSW5zdGFudGlhYmxlXCIsZVtlLkluY2x1ZGVzQ29uc3RyYWluZWRUeXBlVmFyaWFibGU9NTM2ODcwOTEyXT1cIkluY2x1ZGVzQ29uc3RyYWluZWRUeXBlVmFyaWFibGVcIixlW2UuSW5jbHVkZXNFcnJvcj0xMDczNzQxODI0XT1cIkluY2x1ZGVzRXJyb3JcIixlW2UuTm90UHJpbWl0aXZlVW5pb249MzYzMjMzMzFdPVwiTm90UHJpbWl0aXZlVW5pb25cIixlKSkobm58fHt9KSxacD0oZT0+KGVbZS5Ob25lPTBdPVwiTm9uZVwiLGVbZS5DbGFzcz0xXT1cIkNsYXNzXCIsZVtlLkludGVyZmFjZT0yXT1cIkludGVyZmFjZVwiLGVbZS5SZWZlcmVuY2U9NF09XCJSZWZlcmVuY2VcIixlW2UuVHVwbGU9OF09XCJUdXBsZVwiLGVbZS5Bbm9ueW1vdXM9MTZdPVwiQW5vbnltb3VzXCIsZVtlLk1hcHBlZD0zMl09XCJNYXBwZWRcIixlW2UuSW5zdGFudGlhdGVkPTY0XT1cIkluc3RhbnRpYXRlZFwiLGVbZS5PYmplY3RMaXRlcmFsPTEyOF09XCJPYmplY3RMaXRlcmFsXCIsZVtlLkV2b2x2aW5nQXJyYXk9MjU2XT1cIkV2b2x2aW5nQXJyYXlcIixlW2UuT2JqZWN0TGl0ZXJhbFBhdHRlcm5XaXRoQ29tcHV0ZWRQcm9wZXJ0aWVzPTUxMl09XCJPYmplY3RMaXRlcmFsUGF0dGVybldpdGhDb21wdXRlZFByb3BlcnRpZXNcIixlW2UuUmV2ZXJzZU1hcHBlZD0xMDI0XT1cIlJldmVyc2VNYXBwZWRcIixlW2UuSnN4QXR0cmlidXRlcz0yMDQ4XT1cIkpzeEF0dHJpYnV0ZXNcIixlW2UuSlNMaXRlcmFsPTQwOTZdPVwiSlNMaXRlcmFsXCIsZVtlLkZyZXNoTGl0ZXJhbD04MTkyXT1cIkZyZXNoTGl0ZXJhbFwiLGVbZS5BcnJheUxpdGVyYWw9MTYzODRdPVwiQXJyYXlMaXRlcmFsXCIsZVtlLlByaW1pdGl2ZVVuaW9uPTMyNzY4XT1cIlByaW1pdGl2ZVVuaW9uXCIsZVtlLkNvbnRhaW5zV2lkZW5pbmdUeXBlPTY1NTM2XT1cIkNvbnRhaW5zV2lkZW5pbmdUeXBlXCIsZVtlLkNvbnRhaW5zT2JqZWN0T3JBcnJheUxpdGVyYWw9MTMxMDcyXT1cIkNvbnRhaW5zT2JqZWN0T3JBcnJheUxpdGVyYWxcIixlW2UuTm9uSW5mZXJyYWJsZVR5cGU9MjYyMTQ0XT1cIk5vbkluZmVycmFibGVUeXBlXCIsZVtlLkNvdWxkQ29udGFpblR5cGVWYXJpYWJsZXNDb21wdXRlZD01MjQyODhdPVwiQ291bGRDb250YWluVHlwZVZhcmlhYmxlc0NvbXB1dGVkXCIsZVtlLkNvdWxkQ29udGFpblR5cGVWYXJpYWJsZXM9MTA0ODU3Nl09XCJDb3VsZENvbnRhaW5UeXBlVmFyaWFibGVzXCIsZVtlLkNsYXNzT3JJbnRlcmZhY2U9M109XCJDbGFzc09ySW50ZXJmYWNlXCIsZVtlLlJlcXVpcmVzV2lkZW5pbmc9MTk2NjA4XT1cIlJlcXVpcmVzV2lkZW5pbmdcIixlW2UuUHJvcGFnYXRpbmdGbGFncz00NTg3NTJdPVwiUHJvcGFnYXRpbmdGbGFnc1wiLGVbZS5JbnN0YW50aWF0ZWRNYXBwZWQ9OTZdPVwiSW5zdGFudGlhdGVkTWFwcGVkXCIsZVtlLk9iamVjdFR5cGVLaW5kTWFzaz0xMzQzXT1cIk9iamVjdFR5cGVLaW5kTWFza1wiLGVbZS5Db250YWluc1NwcmVhZD0yMDk3MTUyXT1cIkNvbnRhaW5zU3ByZWFkXCIsZVtlLk9iamVjdFJlc3RUeXBlPTQxOTQzMDRdPVwiT2JqZWN0UmVzdFR5cGVcIixlW2UuSW5zdGFudGlhdGlvbkV4cHJlc3Npb25UeXBlPTgzODg2MDhdPVwiSW5zdGFudGlhdGlvbkV4cHJlc3Npb25UeXBlXCIsZVtlLlNpbmdsZVNpZ25hdHVyZVR5cGU9MTM0MjE3NzI4XT1cIlNpbmdsZVNpZ25hdHVyZVR5cGVcIixlW2UuSXNDbGFzc0luc3RhbmNlQ2xvbmU9MTY3NzcyMTZdPVwiSXNDbGFzc0luc3RhbmNlQ2xvbmVcIixlW2UuSWRlbnRpY2FsQmFzZVR5cGVDYWxjdWxhdGVkPTMzNTU0NDMyXT1cIklkZW50aWNhbEJhc2VUeXBlQ2FsY3VsYXRlZFwiLGVbZS5JZGVudGljYWxCYXNlVHlwZUV4aXN0cz02NzEwODg2NF09XCJJZGVudGljYWxCYXNlVHlwZUV4aXN0c1wiLGVbZS5Jc0dlbmVyaWNUeXBlQ29tcHV0ZWQ9MjA5NzE1Ml09XCJJc0dlbmVyaWNUeXBlQ29tcHV0ZWRcIixlW2UuSXNHZW5lcmljT2JqZWN0VHlwZT00MTk0MzA0XT1cIklzR2VuZXJpY09iamVjdFR5cGVcIixlW2UuSXNHZW5lcmljSW5kZXhUeXBlPTgzODg2MDhdPVwiSXNHZW5lcmljSW5kZXhUeXBlXCIsZVtlLklzR2VuZXJpY1R5cGU9MTI1ODI5MTJdPVwiSXNHZW5lcmljVHlwZVwiLGVbZS5Db250YWluc0ludGVyc2VjdGlvbnM9MTY3NzcyMTZdPVwiQ29udGFpbnNJbnRlcnNlY3Rpb25zXCIsZVtlLklzVW5rbm93bkxpa2VVbmlvbkNvbXB1dGVkPTMzNTU0NDMyXT1cIklzVW5rbm93bkxpa2VVbmlvbkNvbXB1dGVkXCIsZVtlLklzVW5rbm93bkxpa2VVbmlvbj02NzEwODg2NF09XCJJc1Vua25vd25MaWtlVW5pb25cIixlW2UuSXNOZXZlckludGVyc2VjdGlvbkNvbXB1dGVkPTE2Nzc3MjE2XT1cIklzTmV2ZXJJbnRlcnNlY3Rpb25Db21wdXRlZFwiLGVbZS5Jc05ldmVySW50ZXJzZWN0aW9uPTMzNTU0NDMyXT1cIklzTmV2ZXJJbnRlcnNlY3Rpb25cIixlW2UuSXNDb25zdHJhaW5lZFR5cGVWYXJpYWJsZT02NzEwODg2NF09XCJJc0NvbnN0cmFpbmVkVHlwZVZhcmlhYmxlXCIsZSkpKFpwfHx7fSk7dmFyIEltPShlPT4oZVtlLk5vbmU9MF09XCJOb25lXCIsZVtlLkhhc1Jlc3RQYXJhbWV0ZXI9MV09XCJIYXNSZXN0UGFyYW1ldGVyXCIsZVtlLkhhc0xpdGVyYWxUeXBlcz0yXT1cIkhhc0xpdGVyYWxUeXBlc1wiLGVbZS5BYnN0cmFjdD00XT1cIkFic3RyYWN0XCIsZVtlLklzSW5uZXJDYWxsQ2hhaW49OF09XCJJc0lubmVyQ2FsbENoYWluXCIsZVtlLklzT3V0ZXJDYWxsQ2hhaW49MTZdPVwiSXNPdXRlckNhbGxDaGFpblwiLGVbZS5Jc1VudHlwZWRTaWduYXR1cmVJbkpTRmlsZT0zMl09XCJJc1VudHlwZWRTaWduYXR1cmVJbkpTRmlsZVwiLGVbZS5Jc05vbkluZmVycmFibGU9NjRdPVwiSXNOb25JbmZlcnJhYmxlXCIsZVtlLklzU2lnbmF0dXJlQ2FuZGlkYXRlRm9yT3ZlcmxvYWRGYWlsdXJlPTEyOF09XCJJc1NpZ25hdHVyZUNhbmRpZGF0ZUZvck92ZXJsb2FkRmFpbHVyZVwiLGVbZS5Qcm9wYWdhdGluZ0ZsYWdzPTE2N109XCJQcm9wYWdhdGluZ0ZsYWdzXCIsZVtlLkNhbGxDaGFpbkZsYWdzPTI0XT1cIkNhbGxDaGFpbkZsYWdzXCIsZSkpKEltfHx7fSk7dmFyIERyPShlPT4oZVtlLlVua25vd249MF09XCJVbmtub3duXCIsZVtlLkpTPTFdPVwiSlNcIixlW2UuSlNYPTJdPVwiSlNYXCIsZVtlLlRTPTNdPVwiVFNcIixlW2UuVFNYPTRdPVwiVFNYXCIsZVtlLkV4dGVybmFsPTVdPVwiRXh0ZXJuYWxcIixlW2UuSlNPTj02XT1cIkpTT05cIixlW2UuRGVmZXJyZWQ9N109XCJEZWZlcnJlZFwiLGUpKShEcnx8e30pLHlzPShlPT4oZVtlLkVTMz0wXT1cIkVTM1wiLGVbZS5FUzU9MV09XCJFUzVcIixlW2UuRVMyMDE1PTJdPVwiRVMyMDE1XCIsZVtlLkVTMjAxNj0zXT1cIkVTMjAxNlwiLGVbZS5FUzIwMTc9NF09XCJFUzIwMTdcIixlW2UuRVMyMDE4PTVdPVwiRVMyMDE4XCIsZVtlLkVTMjAxOT02XT1cIkVTMjAxOVwiLGVbZS5FUzIwMjA9N109XCJFUzIwMjBcIixlW2UuRVMyMDIxPThdPVwiRVMyMDIxXCIsZVtlLkVTMjAyMj05XT1cIkVTMjAyMlwiLGVbZS5FUzIwMjM9MTBdPVwiRVMyMDIzXCIsZVtlLkVTMjAyND0xMV09XCJFUzIwMjRcIixlW2UuRVNOZXh0PTk5XT1cIkVTTmV4dFwiLGVbZS5KU09OPTEwMF09XCJKU09OXCIsZVtlLkxhdGVzdD05OV09XCJMYXRlc3RcIixlKSkoeXN8fHt9KSxUbD0oZT0+KGVbZS5TdGFuZGFyZD0wXT1cIlN0YW5kYXJkXCIsZVtlLkpTWD0xXT1cIkpTWFwiLGUpKShUbHx8e30pO3ZhciBObj0oZT0+KGUuVHM9XCIudHNcIixlLlRzeD1cIi50c3hcIixlLkR0cz1cIi5kLnRzXCIsZS5Kcz1cIi5qc1wiLGUuSnN4PVwiLmpzeFwiLGUuSnNvbj1cIi5qc29uXCIsZS5Uc0J1aWxkSW5mbz1cIi50c2J1aWxkaW5mb1wiLGUuTWpzPVwiLm1qc1wiLGUuTXRzPVwiLm10c1wiLGUuRG10cz1cIi5kLm10c1wiLGUuQ2pzPVwiLmNqc1wiLGUuQ3RzPVwiLmN0c1wiLGUuRGN0cz1cIi5kLmN0c1wiLGUpKShObnx8e30pLE9tPShlPT4oZVtlLk5vbmU9MF09XCJOb25lXCIsZVtlLkNvbnRhaW5zVHlwZVNjcmlwdD0xXT1cIkNvbnRhaW5zVHlwZVNjcmlwdFwiLGVbZS5Db250YWluc0pzeD0yXT1cIkNvbnRhaW5zSnN4XCIsZVtlLkNvbnRhaW5zRVNOZXh0PTRdPVwiQ29udGFpbnNFU05leHRcIixlW2UuQ29udGFpbnNFUzIwMjI9OF09XCJDb250YWluc0VTMjAyMlwiLGVbZS5Db250YWluc0VTMjAyMT0xNl09XCJDb250YWluc0VTMjAyMVwiLGVbZS5Db250YWluc0VTMjAyMD0zMl09XCJDb250YWluc0VTMjAyMFwiLGVbZS5Db250YWluc0VTMjAxOT02NF09XCJDb250YWluc0VTMjAxOVwiLGVbZS5Db250YWluc0VTMjAxOD0xMjhdPVwiQ29udGFpbnNFUzIwMThcIixlW2UuQ29udGFpbnNFUzIwMTc9MjU2XT1cIkNvbnRhaW5zRVMyMDE3XCIsZVtlLkNvbnRhaW5zRVMyMDE2PTUxMl09XCJDb250YWluc0VTMjAxNlwiLGVbZS5Db250YWluc0VTMjAxNT0xMDI0XT1cIkNvbnRhaW5zRVMyMDE1XCIsZVtlLkNvbnRhaW5zR2VuZXJhdG9yPTIwNDhdPVwiQ29udGFpbnNHZW5lcmF0b3JcIixlW2UuQ29udGFpbnNEZXN0cnVjdHVyaW5nQXNzaWdubWVudD00MDk2XT1cIkNvbnRhaW5zRGVzdHJ1Y3R1cmluZ0Fzc2lnbm1lbnRcIixlW2UuQ29udGFpbnNUeXBlU2NyaXB0Q2xhc3NTeW50YXg9ODE5Ml09XCJDb250YWluc1R5cGVTY3JpcHRDbGFzc1N5bnRheFwiLGVbZS5Db250YWluc0xleGljYWxUaGlzPTE2Mzg0XT1cIkNvbnRhaW5zTGV4aWNhbFRoaXNcIixlW2UuQ29udGFpbnNSZXN0T3JTcHJlYWQ9MzI3NjhdPVwiQ29udGFpbnNSZXN0T3JTcHJlYWRcIixlW2UuQ29udGFpbnNPYmplY3RSZXN0T3JTcHJlYWQ9NjU1MzZdPVwiQ29udGFpbnNPYmplY3RSZXN0T3JTcHJlYWRcIixlW2UuQ29udGFpbnNDb21wdXRlZFByb3BlcnR5TmFtZT0xMzEwNzJdPVwiQ29udGFpbnNDb21wdXRlZFByb3BlcnR5TmFtZVwiLGVbZS5Db250YWluc0Jsb2NrU2NvcGVkQmluZGluZz0yNjIxNDRdPVwiQ29udGFpbnNCbG9ja1Njb3BlZEJpbmRpbmdcIixlW2UuQ29udGFpbnNCaW5kaW5nUGF0dGVybj01MjQyODhdPVwiQ29udGFpbnNCaW5kaW5nUGF0dGVyblwiLGVbZS5Db250YWluc1lpZWxkPTEwNDg1NzZdPVwiQ29udGFpbnNZaWVsZFwiLGVbZS5Db250YWluc0F3YWl0PTIwOTcxNTJdPVwiQ29udGFpbnNBd2FpdFwiLGVbZS5Db250YWluc0hvaXN0ZWREZWNsYXJhdGlvbk9yQ29tcGxldGlvbj00MTk0MzA0XT1cIkNvbnRhaW5zSG9pc3RlZERlY2xhcmF0aW9uT3JDb21wbGV0aW9uXCIsZVtlLkNvbnRhaW5zRHluYW1pY0ltcG9ydD04Mzg4NjA4XT1cIkNvbnRhaW5zRHluYW1pY0ltcG9ydFwiLGVbZS5Db250YWluc0NsYXNzRmllbGRzPTE2Nzc3MjE2XT1cIkNvbnRhaW5zQ2xhc3NGaWVsZHNcIixlW2UuQ29udGFpbnNEZWNvcmF0b3JzPTMzNTU0NDMyXT1cIkNvbnRhaW5zRGVjb3JhdG9yc1wiLGVbZS5Db250YWluc1Bvc3NpYmxlVG9wTGV2ZWxBd2FpdD02NzEwODg2NF09XCJDb250YWluc1Bvc3NpYmxlVG9wTGV2ZWxBd2FpdFwiLGVbZS5Db250YWluc0xleGljYWxTdXBlcj0xMzQyMTc3MjhdPVwiQ29udGFpbnNMZXhpY2FsU3VwZXJcIixlW2UuQ29udGFpbnNVcGRhdGVFeHByZXNzaW9uRm9ySWRlbnRpZmllcj0yNjg0MzU0NTZdPVwiQ29udGFpbnNVcGRhdGVFeHByZXNzaW9uRm9ySWRlbnRpZmllclwiLGVbZS5Db250YWluc1ByaXZhdGVJZGVudGlmaWVySW5FeHByZXNzaW9uPTUzNjg3MDkxMl09XCJDb250YWluc1ByaXZhdGVJZGVudGlmaWVySW5FeHByZXNzaW9uXCIsZVtlLkhhc0NvbXB1dGVkRmxhZ3M9LTIxNDc0ODM2NDhdPVwiSGFzQ29tcHV0ZWRGbGFnc1wiLGVbZS5Bc3NlcnRUeXBlU2NyaXB0PTFdPVwiQXNzZXJ0VHlwZVNjcmlwdFwiLGVbZS5Bc3NlcnRKc3g9Ml09XCJBc3NlcnRKc3hcIixlW2UuQXNzZXJ0RVNOZXh0PTRdPVwiQXNzZXJ0RVNOZXh0XCIsZVtlLkFzc2VydEVTMjAyMj04XT1cIkFzc2VydEVTMjAyMlwiLGVbZS5Bc3NlcnRFUzIwMjE9MTZdPVwiQXNzZXJ0RVMyMDIxXCIsZVtlLkFzc2VydEVTMjAyMD0zMl09XCJBc3NlcnRFUzIwMjBcIixlW2UuQXNzZXJ0RVMyMDE5PTY0XT1cIkFzc2VydEVTMjAxOVwiLGVbZS5Bc3NlcnRFUzIwMTg9MTI4XT1cIkFzc2VydEVTMjAxOFwiLGVbZS5Bc3NlcnRFUzIwMTc9MjU2XT1cIkFzc2VydEVTMjAxN1wiLGVbZS5Bc3NlcnRFUzIwMTY9NTEyXT1cIkFzc2VydEVTMjAxNlwiLGVbZS5Bc3NlcnRFUzIwMTU9MTAyNF09XCJBc3NlcnRFUzIwMTVcIixlW2UuQXNzZXJ0R2VuZXJhdG9yPTIwNDhdPVwiQXNzZXJ0R2VuZXJhdG9yXCIsZVtlLkFzc2VydERlc3RydWN0dXJpbmdBc3NpZ25tZW50PTQwOTZdPVwiQXNzZXJ0RGVzdHJ1Y3R1cmluZ0Fzc2lnbm1lbnRcIixlW2UuT3V0ZXJFeHByZXNzaW9uRXhjbHVkZXM9LTIxNDc0ODM2NDhdPVwiT3V0ZXJFeHByZXNzaW9uRXhjbHVkZXNcIixlW2UuUHJvcGVydHlBY2Nlc3NFeGNsdWRlcz0tMjE0NzQ4MzY0OF09XCJQcm9wZXJ0eUFjY2Vzc0V4Y2x1ZGVzXCIsZVtlLk5vZGVFeGNsdWRlcz0tMjE0NzQ4MzY0OF09XCJOb2RlRXhjbHVkZXNcIixlW2UuQXJyb3dGdW5jdGlvbkV4Y2x1ZGVzPS0yMDcyMTc0NTkyXT1cIkFycm93RnVuY3Rpb25FeGNsdWRlc1wiLGVbZS5GdW5jdGlvbkV4Y2x1ZGVzPS0xOTM3OTQwNDgwXT1cIkZ1bmN0aW9uRXhjbHVkZXNcIixlW2UuQ29uc3RydWN0b3JFeGNsdWRlcz0tMTkzNzk0ODY3Ml09XCJDb25zdHJ1Y3RvckV4Y2x1ZGVzXCIsZVtlLk1ldGhvZE9yQWNjZXNzb3JFeGNsdWRlcz0tMjAwNTA1NzUzNl09XCJNZXRob2RPckFjY2Vzc29yRXhjbHVkZXNcIixlW2UuUHJvcGVydHlFeGNsdWRlcz0tMjAxMzI0OTUzNl09XCJQcm9wZXJ0eUV4Y2x1ZGVzXCIsZVtlLkNsYXNzRXhjbHVkZXM9LTIxNDczNDQzODRdPVwiQ2xhc3NFeGNsdWRlc1wiLGVbZS5Nb2R1bGVFeGNsdWRlcz0tMTk0MTY3NjAzMl09XCJNb2R1bGVFeGNsdWRlc1wiLGVbZS5UeXBlRXhjbHVkZXM9LTJdPVwiVHlwZUV4Y2x1ZGVzXCIsZVtlLk9iamVjdExpdGVyYWxFeGNsdWRlcz0tMjE0NzI3ODg0OF09XCJPYmplY3RMaXRlcmFsRXhjbHVkZXNcIixlW2UuQXJyYXlMaXRlcmFsT3JDYWxsT3JOZXdFeGNsdWRlcz0tMjE0NzQ1MDg4MF09XCJBcnJheUxpdGVyYWxPckNhbGxPck5ld0V4Y2x1ZGVzXCIsZVtlLlZhcmlhYmxlRGVjbGFyYXRpb25MaXN0RXhjbHVkZXM9LTIxNDY4OTM4MjRdPVwiVmFyaWFibGVEZWNsYXJhdGlvbkxpc3RFeGNsdWRlc1wiLGVbZS5QYXJhbWV0ZXJFeGNsdWRlcz0tMjE0NzQ4MzY0OF09XCJQYXJhbWV0ZXJFeGNsdWRlc1wiLGVbZS5DYXRjaENsYXVzZUV4Y2x1ZGVzPS0yMTQ3NDE4MTEyXT1cIkNhdGNoQ2xhdXNlRXhjbHVkZXNcIixlW2UuQmluZGluZ1BhdHRlcm5FeGNsdWRlcz0tMjE0NzQ1MDg4MF09XCJCaW5kaW5nUGF0dGVybkV4Y2x1ZGVzXCIsZVtlLkNvbnRhaW5zTGV4aWNhbFRoaXNPclN1cGVyPTEzNDIzNDExMl09XCJDb250YWluc0xleGljYWxUaGlzT3JTdXBlclwiLGVbZS5Qcm9wZXJ0eU5hbWVQcm9wYWdhdGluZ0ZsYWdzPTEzNDIzNDExMl09XCJQcm9wZXJ0eU5hbWVQcm9wYWdhdGluZ0ZsYWdzXCIsZSkpKE9tfHx7fSksTW09KGU9PihlW2UuVGFiU3RvcD0wXT1cIlRhYlN0b3BcIixlW2UuUGxhY2Vob2xkZXI9MV09XCJQbGFjZWhvbGRlclwiLGVbZS5DaG9pY2U9Ml09XCJDaG9pY2VcIixlW2UuVmFyaWFibGU9M109XCJWYXJpYWJsZVwiLGUpKShNbXx8e30pLEptPShlPT4oZVtlLk5vbmU9MF09XCJOb25lXCIsZVtlLlNpbmdsZUxpbmU9MV09XCJTaW5nbGVMaW5lXCIsZVtlLk11bHRpTGluZT0yXT1cIk11bHRpTGluZVwiLGVbZS5BZHZpc2VPbkVtaXROb2RlPTRdPVwiQWR2aXNlT25FbWl0Tm9kZVwiLGVbZS5Ob1N1YnN0aXR1dGlvbj04XT1cIk5vU3Vic3RpdHV0aW9uXCIsZVtlLkNhcHR1cmVzVGhpcz0xNl09XCJDYXB0dXJlc1RoaXNcIixlW2UuTm9MZWFkaW5nU291cmNlTWFwPTMyXT1cIk5vTGVhZGluZ1NvdXJjZU1hcFwiLGVbZS5Ob1RyYWlsaW5nU291cmNlTWFwPTY0XT1cIk5vVHJhaWxpbmdTb3VyY2VNYXBcIixlW2UuTm9Tb3VyY2VNYXA9OTZdPVwiTm9Tb3VyY2VNYXBcIixlW2UuTm9OZXN0ZWRTb3VyY2VNYXBzPTEyOF09XCJOb05lc3RlZFNvdXJjZU1hcHNcIixlW2UuTm9Ub2tlbkxlYWRpbmdTb3VyY2VNYXBzPTI1Nl09XCJOb1Rva2VuTGVhZGluZ1NvdXJjZU1hcHNcIixlW2UuTm9Ub2tlblRyYWlsaW5nU291cmNlTWFwcz01MTJdPVwiTm9Ub2tlblRyYWlsaW5nU291cmNlTWFwc1wiLGVbZS5Ob1Rva2VuU291cmNlTWFwcz03NjhdPVwiTm9Ub2tlblNvdXJjZU1hcHNcIixlW2UuTm9MZWFkaW5nQ29tbWVudHM9MTAyNF09XCJOb0xlYWRpbmdDb21tZW50c1wiLGVbZS5Ob1RyYWlsaW5nQ29tbWVudHM9MjA0OF09XCJOb1RyYWlsaW5nQ29tbWVudHNcIixlW2UuTm9Db21tZW50cz0zMDcyXT1cIk5vQ29tbWVudHNcIixlW2UuTm9OZXN0ZWRDb21tZW50cz00MDk2XT1cIk5vTmVzdGVkQ29tbWVudHNcIixlW2UuSGVscGVyTmFtZT04MTkyXT1cIkhlbHBlck5hbWVcIixlW2UuRXhwb3J0TmFtZT0xNjM4NF09XCJFeHBvcnROYW1lXCIsZVtlLkxvY2FsTmFtZT0zMjc2OF09XCJMb2NhbE5hbWVcIixlW2UuSW50ZXJuYWxOYW1lPTY1NTM2XT1cIkludGVybmFsTmFtZVwiLGVbZS5JbmRlbnRlZD0xMzEwNzJdPVwiSW5kZW50ZWRcIixlW2UuTm9JbmRlbnRhdGlvbj0yNjIxNDRdPVwiTm9JbmRlbnRhdGlvblwiLGVbZS5Bc3luY0Z1bmN0aW9uQm9keT01MjQyODhdPVwiQXN5bmNGdW5jdGlvbkJvZHlcIixlW2UuUmV1c2VUZW1wVmFyaWFibGVTY29wZT0xMDQ4NTc2XT1cIlJldXNlVGVtcFZhcmlhYmxlU2NvcGVcIixlW2UuQ3VzdG9tUHJvbG9ndWU9MjA5NzE1Ml09XCJDdXN0b21Qcm9sb2d1ZVwiLGVbZS5Ob0hvaXN0aW5nPTQxOTQzMDRdPVwiTm9Ib2lzdGluZ1wiLGVbZS5JdGVyYXRvcj04Mzg4NjA4XT1cIkl0ZXJhdG9yXCIsZVtlLk5vQXNjaWlFc2NhcGluZz0xNjc3NzIxNl09XCJOb0FzY2lpRXNjYXBpbmdcIixlKSkoSm18fHt9KTt2YXIgUV89e0NsYXNzZXM6MixGb3JPZjoyLEdlbmVyYXRvcnM6MixJdGVyYXRpb246MixTcHJlYWRFbGVtZW50czoyLFJlc3RFbGVtZW50czoyLFRhZ2dlZFRlbXBsYXRlczoyLERlc3RydWN0dXJpbmdBc3NpZ25tZW50OjIsQmluZGluZ1BhdHRlcm5zOjIsQXJyb3dGdW5jdGlvbnM6MixCbG9ja1Njb3BlZFZhcmlhYmxlczoyLE9iamVjdEFzc2lnbjoyLFJlZ3VsYXJFeHByZXNzaW9uRmxhZ3NVbmljb2RlOjIsUmVndWxhckV4cHJlc3Npb25GbGFnc1N0aWNreToyLEV4cG9uZW50aWF0aW9uOjMsQXN5bmNGdW5jdGlvbnM6NCxGb3JBd2FpdE9mOjUsQXN5bmNHZW5lcmF0b3JzOjUsQXN5bmNJdGVyYXRpb246NSxPYmplY3RTcHJlYWRSZXN0OjUsUmVndWxhckV4cHJlc3Npb25GbGFnc0RvdEFsbDo1LEJpbmRpbmdsZXNzQ2F0Y2g6NixCaWdJbnQ6NyxOdWxsaXNoQ29hbGVzY2U6NyxPcHRpb25hbENoYWluaW5nOjcsTG9naWNhbEFzc2lnbm1lbnQ6OCxUb3BMZXZlbEF3YWl0OjksQ2xhc3NGaWVsZHM6OSxQcml2YXRlTmFtZXNBbmRDbGFzc1N0YXRpY0Jsb2Nrczo5LFJlZ3VsYXJFeHByZXNzaW9uRmxhZ3NIYXNJbmRpY2VzOjksU2hlYmFuZ0NvbW1lbnRzOjEwLFJlZ3VsYXJFeHByZXNzaW9uRmxhZ3NVbmljb2RlU2V0czoxMSxVc2luZ0FuZEF3YWl0VXNpbmc6OTksQ2xhc3NBbmRDbGFzc0VsZW1lbnREZWNvcmF0b3JzOjk5fTt2YXIgTG09e3JlZmVyZW5jZTp7YXJnczpbe25hbWU6XCJ0eXBlc1wiLG9wdGlvbmFsOiEwLGNhcHR1cmVTcGFuOiEwfSx7bmFtZTpcImxpYlwiLG9wdGlvbmFsOiEwLGNhcHR1cmVTcGFuOiEwfSx7bmFtZTpcInBhdGhcIixvcHRpb25hbDohMCxjYXB0dXJlU3BhbjohMH0se25hbWU6XCJuby1kZWZhdWx0LWxpYlwiLG9wdGlvbmFsOiEwfSx7bmFtZTpcInJlc29sdXRpb24tbW9kZVwiLG9wdGlvbmFsOiEwfSx7bmFtZTpcInByZXNlcnZlXCIsb3B0aW9uYWw6ITB9XSxraW5kOjF9LFwiYW1kLWRlcGVuZGVuY3lcIjp7YXJnczpbe25hbWU6XCJwYXRoXCJ9LHtuYW1lOlwibmFtZVwiLG9wdGlvbmFsOiEwfV0sa2luZDoxfSxcImFtZC1tb2R1bGVcIjp7YXJnczpbe25hbWU6XCJuYW1lXCJ9XSxraW5kOjF9LFwidHMtY2hlY2tcIjp7a2luZDoyfSxcInRzLW5vY2hlY2tcIjp7a2luZDoyfSxqc3g6e2FyZ3M6W3tuYW1lOlwiZmFjdG9yeVwifV0sa2luZDo0fSxqc3hmcmFnOnthcmdzOlt7bmFtZTpcImZhY3RvcnlcIn1dLGtpbmQ6NH0sanN4aW1wb3J0c291cmNlOnthcmdzOlt7bmFtZTpcImZhY3RvcnlcIn1dLGtpbmQ6NH0sanN4cnVudGltZTp7YXJnczpbe25hbWU6XCJmYWN0b3J5XCJ9XSxraW5kOjR9fSxHYT0oZT0+KGVbZS5QYXJzZUFsbD0wXT1cIlBhcnNlQWxsXCIsZVtlLlBhcnNlTm9uZT0xXT1cIlBhcnNlTm9uZVwiLGVbZS5QYXJzZUZvclR5cGVFcnJvcnM9Ml09XCJQYXJzZUZvclR5cGVFcnJvcnNcIixlW2UuUGFyc2VGb3JUeXBlSW5mbz0zXT1cIlBhcnNlRm9yVHlwZUluZm9cIixlKSkoR2F8fHt9KTt2YXIgUWk9XCIvXCIsUHk9XCJcXFxcXCIsRWQ9XCI6Ly9cIixOeT0vXFxcXC9nO2Z1bmN0aW9uIEl5KGUpe3JldHVybiBlPT09NDd8fGU9PT05Mn1mdW5jdGlvbiBPeShlLHQpe3JldHVybiBlLmxlbmd0aD50Lmxlbmd0aCYma3koZSx0KX1mdW5jdGlvbiBlZihlKXtyZXR1cm4gZS5sZW5ndGg+MCYmSXkoZS5jaGFyQ29kZUF0KGUubGVuZ3RoLTEpKX1mdW5jdGlvbiBBZChlKXtyZXR1cm4gZT49OTcmJmU8PTEyMnx8ZT49NjUmJmU8PTkwfWZ1bmN0aW9uIE15KGUsdCl7bGV0IGE9ZS5jaGFyQ29kZUF0KHQpO2lmKGE9PT01OClyZXR1cm4gdCsxO2lmKGE9PT0zNyYmZS5jaGFyQ29kZUF0KHQrMSk9PT01MSl7bGV0IG89ZS5jaGFyQ29kZUF0KHQrMik7aWYobz09PTk3fHxvPT09NjUpcmV0dXJuIHQrM31yZXR1cm4tMX1mdW5jdGlvbiBKeShlKXtpZighZSlyZXR1cm4gMDtsZXQgdD1lLmNoYXJDb2RlQXQoMCk7aWYodD09PTQ3fHx0PT09OTIpe2lmKGUuY2hhckNvZGVBdCgxKSE9PXQpcmV0dXJuIDE7bGV0IG89ZS5pbmRleE9mKHQ9PT00Nz9RaTpQeSwyKTtyZXR1cm4gbzwwP2UubGVuZ3RoOm8rMX1pZihBZCh0KSYmZS5jaGFyQ29kZUF0KDEpPT09NTgpe2xldCBvPWUuY2hhckNvZGVBdCgyKTtpZihvPT09NDd8fG89PT05MilyZXR1cm4gMztpZihlLmxlbmd0aD09PTIpcmV0dXJuIDJ9bGV0IGE9ZS5pbmRleE9mKEVkKTtpZihhIT09LTEpe2xldCBvPWErRWQubGVuZ3RoLG09ZS5pbmRleE9mKFFpLG8pO2lmKG0hPT0tMSl7bGV0IHY9ZS5zbGljZSgwLGEpLEE9ZS5zbGljZShvLG0pO2lmKHY9PT1cImZpbGVcIiYmKEE9PT1cIlwifHxBPT09XCJsb2NhbGhvc3RcIikmJkFkKGUuY2hhckNvZGVBdChtKzEpKSl7bGV0IFA9TXkoZSxtKzIpO2lmKFAhPT0tMSl7aWYoZS5jaGFyQ29kZUF0KFApPT09NDcpcmV0dXJufihQKzEpO2lmKFA9PT1lLmxlbmd0aClyZXR1cm5+UH19cmV0dXJufihtKzEpfXJldHVybn5lLmxlbmd0aH1yZXR1cm4gMH1mdW5jdGlvbiBwbChlKXtsZXQgdD1KeShlKTtyZXR1cm4gdDwwP350OnR9ZnVuY3Rpb24gam0oZSx0LGEpe2lmKGU9ZmwoZSkscGwoZSk9PT1lLmxlbmd0aClyZXR1cm5cIlwiO2U9VW0oZSk7bGV0IG09ZS5zbGljZShNYXRoLm1heChwbChlKSxlLmxhc3RJbmRleE9mKFFpKSsxKSksdj10IT09dm9pZCAwJiZhIT09dm9pZCAwP1JtKG0sdCxhKTp2b2lkIDA7cmV0dXJuIHY/bS5zbGljZSgwLG0ubGVuZ3RoLXYubGVuZ3RoKTptfWZ1bmN0aW9uIENkKGUsdCxhKXtpZih1bCh0LFwiLlwiKXx8KHQ9XCIuXCIrdCksZS5sZW5ndGg+PXQubGVuZ3RoJiZlLmNoYXJDb2RlQXQoZS5sZW5ndGgtdC5sZW5ndGgpPT09NDYpe2xldCBvPWUuc2xpY2UoZS5sZW5ndGgtdC5sZW5ndGgpO2lmKGEobyx0KSlyZXR1cm4gb319ZnVuY3Rpb24gTHkoZSx0LGEpe2lmKHR5cGVvZiB0PT1cInN0cmluZ1wiKXJldHVybiBDZChlLHQsYSl8fFwiXCI7Zm9yKGxldCBvIG9mIHQpe2xldCBtPUNkKGUsbyxhKTtpZihtKXJldHVybiBtfXJldHVyblwiXCJ9ZnVuY3Rpb24gUm0oZSx0LGEpe2lmKHQpcmV0dXJuIEx5KFVtKGUpLHQsYT8kcDpUeSk7bGV0IG89am0oZSksbT1vLmxhc3RJbmRleE9mKFwiLlwiKTtyZXR1cm4gbT49MD9vLnN1YnN0cmluZyhtKTpcIlwifWZ1bmN0aW9uIGp5KGUsdCl7bGV0IGE9ZS5zdWJzdHJpbmcoMCx0KSxvPWUuc3Vic3RyaW5nKHQpLnNwbGl0KFFpKTtyZXR1cm4gby5sZW5ndGgmJiFHaShvKSYmby5wb3AoKSxbYSwuLi5vXX1mdW5jdGlvbiBSeShlLHQ9XCJcIil7cmV0dXJuIGU9cXkodCxlKSxqeShlLHBsKGUpKX1mdW5jdGlvbiBVeShlLHQpe3JldHVybiBlLmxlbmd0aD09PTA/XCJcIjooZVswXSYmdGYoZVswXSkpK2Uuc2xpY2UoMSx0KS5qb2luKFFpKX1mdW5jdGlvbiBmbChlKXtyZXR1cm4gZS5pbmNsdWRlcyhcIlxcXFxcIik/ZS5yZXBsYWNlKE55LFFpKTplfWZ1bmN0aW9uIEJ5KGUpe2lmKCFIdChlKSlyZXR1cm5bXTtsZXQgdD1bZVswXV07Zm9yKGxldCBhPTE7YTxlLmxlbmd0aDthKyspe2xldCBvPWVbYV07aWYobyYmbyE9PVwiLlwiKXtpZihvPT09XCIuLlwiKXtpZih0Lmxlbmd0aD4xKXtpZih0W3QubGVuZ3RoLTFdIT09XCIuLlwiKXt0LnBvcCgpO2NvbnRpbnVlfX1lbHNlIGlmKHRbMF0pY29udGludWV9dC5wdXNoKG8pfX1yZXR1cm4gdH1mdW5jdGlvbiBxeShlLC4uLnQpe2UmJihlPWZsKGUpKTtmb3IobGV0IGEgb2YgdClhJiYoYT1mbChhKSwhZXx8cGwoYSkhPT0wP2U9YTplPXRmKGUpK2EpO3JldHVybiBlfWZ1bmN0aW9uIHp5KGUpe2lmKGU9ZmwoZSksIURkLnRlc3QoZSkpcmV0dXJuIGU7bGV0IHQ9ZS5yZXBsYWNlKC9cXC9cXC5cXC8vZyxcIi9cIikucmVwbGFjZSgvXlxcLlxcLy8sXCJcIik7aWYodCE9PWUmJihlPXQsIURkLnRlc3QoZSkpKXJldHVybiBlO2xldCBhPVV5KEJ5KFJ5KGUpKSk7cmV0dXJuIGEmJmVmKGUpP3RmKGEpOmF9ZnVuY3Rpb24gVW0oZSl7cmV0dXJuIGVmKGUpP2Uuc3Vic3RyKDAsZS5sZW5ndGgtMSk6ZX1mdW5jdGlvbiB0ZihlKXtyZXR1cm4gZWYoZSk/ZTplK1FpfXZhciBEZD0vXFwvXFwvfCg/Ol58XFwvKVxcLlxcLj8oPzokfFxcLykvO2Z1bmN0aW9uIHIoZSx0LGEsbyxtLHYsQSl7cmV0dXJue2NvZGU6ZSxjYXRlZ29yeTp0LGtleTphLG1lc3NhZ2U6byxyZXBvcnRzVW5uZWNlc3Nhcnk6bSxlbGlkZWRJbkNvbXBhdGFiaWxpdHlQeXJhbWlkOnYscmVwb3J0c0RlcHJlY2F0ZWQ6QX19dmFyIEU9e1VudGVybWluYXRlZF9zdHJpbmdfbGl0ZXJhbDpyKDEwMDIsMSxcIlVudGVybWluYXRlZF9zdHJpbmdfbGl0ZXJhbF8xMDAyXCIsXCJVbnRlcm1pbmF0ZWQgc3RyaW5nIGxpdGVyYWwuXCIpLElkZW50aWZpZXJfZXhwZWN0ZWQ6cigxMDAzLDEsXCJJZGVudGlmaWVyX2V4cGVjdGVkXzEwMDNcIixcIklkZW50aWZpZXIgZXhwZWN0ZWQuXCIpLF8wX2V4cGVjdGVkOnIoMTAwNSwxLFwiXzBfZXhwZWN0ZWRfMTAwNVwiLFwiJ3swfScgZXhwZWN0ZWQuXCIpLEFfZmlsZV9jYW5ub3RfaGF2ZV9hX3JlZmVyZW5jZV90b19pdHNlbGY6cigxMDA2LDEsXCJBX2ZpbGVfY2Fubm90X2hhdmVfYV9yZWZlcmVuY2VfdG9faXRzZWxmXzEwMDZcIixcIkEgZmlsZSBjYW5ub3QgaGF2ZSBhIHJlZmVyZW5jZSB0byBpdHNlbGYuXCIpLFRoZV9wYXJzZXJfZXhwZWN0ZWRfdG9fZmluZF9hXzFfdG9fbWF0Y2hfdGhlXzBfdG9rZW5faGVyZTpyKDEwMDcsMSxcIlRoZV9wYXJzZXJfZXhwZWN0ZWRfdG9fZmluZF9hXzFfdG9fbWF0Y2hfdGhlXzBfdG9rZW5faGVyZV8xMDA3XCIsXCJUaGUgcGFyc2VyIGV4cGVjdGVkIHRvIGZpbmQgYSAnezF9JyB0byBtYXRjaCB0aGUgJ3swfScgdG9rZW4gaGVyZS5cIiksVHJhaWxpbmdfY29tbWFfbm90X2FsbG93ZWQ6cigxMDA5LDEsXCJUcmFpbGluZ19jb21tYV9ub3RfYWxsb3dlZF8xMDA5XCIsXCJUcmFpbGluZyBjb21tYSBub3QgYWxsb3dlZC5cIiksQXN0ZXJpc2tfU2xhc2hfZXhwZWN0ZWQ6cigxMDEwLDEsXCJBc3Rlcmlza19TbGFzaF9leHBlY3RlZF8xMDEwXCIsXCInKi8nIGV4cGVjdGVkLlwiKSxBbl9lbGVtZW50X2FjY2Vzc19leHByZXNzaW9uX3Nob3VsZF90YWtlX2FuX2FyZ3VtZW50OnIoMTAxMSwxLFwiQW5fZWxlbWVudF9hY2Nlc3NfZXhwcmVzc2lvbl9zaG91bGRfdGFrZV9hbl9hcmd1bWVudF8xMDExXCIsXCJBbiBlbGVtZW50IGFjY2VzcyBleHByZXNzaW9uIHNob3VsZCB0YWtlIGFuIGFyZ3VtZW50LlwiKSxVbmV4cGVjdGVkX3Rva2VuOnIoMTAxMiwxLFwiVW5leHBlY3RlZF90b2tlbl8xMDEyXCIsXCJVbmV4cGVjdGVkIHRva2VuLlwiKSxBX3Jlc3RfcGFyYW1ldGVyX29yX2JpbmRpbmdfcGF0dGVybl9tYXlfbm90X2hhdmVfYV90cmFpbGluZ19jb21tYTpyKDEwMTMsMSxcIkFfcmVzdF9wYXJhbWV0ZXJfb3JfYmluZGluZ19wYXR0ZXJuX21heV9ub3RfaGF2ZV9hX3RyYWlsaW5nX2NvbW1hXzEwMTNcIixcIkEgcmVzdCBwYXJhbWV0ZXIgb3IgYmluZGluZyBwYXR0ZXJuIG1heSBub3QgaGF2ZSBhIHRyYWlsaW5nIGNvbW1hLlwiKSxBX3Jlc3RfcGFyYW1ldGVyX211c3RfYmVfbGFzdF9pbl9hX3BhcmFtZXRlcl9saXN0OnIoMTAxNCwxLFwiQV9yZXN0X3BhcmFtZXRlcl9tdXN0X2JlX2xhc3RfaW5fYV9wYXJhbWV0ZXJfbGlzdF8xMDE0XCIsXCJBIHJlc3QgcGFyYW1ldGVyIG11c3QgYmUgbGFzdCBpbiBhIHBhcmFtZXRlciBsaXN0LlwiKSxQYXJhbWV0ZXJfY2Fubm90X2hhdmVfcXVlc3Rpb25fbWFya19hbmRfaW5pdGlhbGl6ZXI6cigxMDE1LDEsXCJQYXJhbWV0ZXJfY2Fubm90X2hhdmVfcXVlc3Rpb25fbWFya19hbmRfaW5pdGlhbGl6ZXJfMTAxNVwiLFwiUGFyYW1ldGVyIGNhbm5vdCBoYXZlIHF1ZXN0aW9uIG1hcmsgYW5kIGluaXRpYWxpemVyLlwiKSxBX3JlcXVpcmVkX3BhcmFtZXRlcl9jYW5ub3RfZm9sbG93X2FuX29wdGlvbmFsX3BhcmFtZXRlcjpyKDEwMTYsMSxcIkFfcmVxdWlyZWRfcGFyYW1ldGVyX2Nhbm5vdF9mb2xsb3dfYW5fb3B0aW9uYWxfcGFyYW1ldGVyXzEwMTZcIixcIkEgcmVxdWlyZWQgcGFyYW1ldGVyIGNhbm5vdCBmb2xsb3cgYW4gb3B0aW9uYWwgcGFyYW1ldGVyLlwiKSxBbl9pbmRleF9zaWduYXR1cmVfY2Fubm90X2hhdmVfYV9yZXN0X3BhcmFtZXRlcjpyKDEwMTcsMSxcIkFuX2luZGV4X3NpZ25hdHVyZV9jYW5ub3RfaGF2ZV9hX3Jlc3RfcGFyYW1ldGVyXzEwMTdcIixcIkFuIGluZGV4IHNpZ25hdHVyZSBjYW5ub3QgaGF2ZSBhIHJlc3QgcGFyYW1ldGVyLlwiKSxBbl9pbmRleF9zaWduYXR1cmVfcGFyYW1ldGVyX2Nhbm5vdF9oYXZlX2FuX2FjY2Vzc2liaWxpdHlfbW9kaWZpZXI6cigxMDE4LDEsXCJBbl9pbmRleF9zaWduYXR1cmVfcGFyYW1ldGVyX2Nhbm5vdF9oYXZlX2FuX2FjY2Vzc2liaWxpdHlfbW9kaWZpZXJfMTAxOFwiLFwiQW4gaW5kZXggc2lnbmF0dXJlIHBhcmFtZXRlciBjYW5ub3QgaGF2ZSBhbiBhY2Nlc3NpYmlsaXR5IG1vZGlmaWVyLlwiKSxBbl9pbmRleF9zaWduYXR1cmVfcGFyYW1ldGVyX2Nhbm5vdF9oYXZlX2FfcXVlc3Rpb25fbWFyazpyKDEwMTksMSxcIkFuX2luZGV4X3NpZ25hdHVyZV9wYXJhbWV0ZXJfY2Fubm90X2hhdmVfYV9xdWVzdGlvbl9tYXJrXzEwMTlcIixcIkFuIGluZGV4IHNpZ25hdHVyZSBwYXJhbWV0ZXIgY2Fubm90IGhhdmUgYSBxdWVzdGlvbiBtYXJrLlwiKSxBbl9pbmRleF9zaWduYXR1cmVfcGFyYW1ldGVyX2Nhbm5vdF9oYXZlX2FuX2luaXRpYWxpemVyOnIoMTAyMCwxLFwiQW5faW5kZXhfc2lnbmF0dXJlX3BhcmFtZXRlcl9jYW5ub3RfaGF2ZV9hbl9pbml0aWFsaXplcl8xMDIwXCIsXCJBbiBpbmRleCBzaWduYXR1cmUgcGFyYW1ldGVyIGNhbm5vdCBoYXZlIGFuIGluaXRpYWxpemVyLlwiKSxBbl9pbmRleF9zaWduYXR1cmVfbXVzdF9oYXZlX2FfdHlwZV9hbm5vdGF0aW9uOnIoMTAyMSwxLFwiQW5faW5kZXhfc2lnbmF0dXJlX211c3RfaGF2ZV9hX3R5cGVfYW5ub3RhdGlvbl8xMDIxXCIsXCJBbiBpbmRleCBzaWduYXR1cmUgbXVzdCBoYXZlIGEgdHlwZSBhbm5vdGF0aW9uLlwiKSxBbl9pbmRleF9zaWduYXR1cmVfcGFyYW1ldGVyX211c3RfaGF2ZV9hX3R5cGVfYW5ub3RhdGlvbjpyKDEwMjIsMSxcIkFuX2luZGV4X3NpZ25hdHVyZV9wYXJhbWV0ZXJfbXVzdF9oYXZlX2FfdHlwZV9hbm5vdGF0aW9uXzEwMjJcIixcIkFuIGluZGV4IHNpZ25hdHVyZSBwYXJhbWV0ZXIgbXVzdCBoYXZlIGEgdHlwZSBhbm5vdGF0aW9uLlwiKSxyZWFkb25seV9tb2RpZmllcl9jYW5fb25seV9hcHBlYXJfb25fYV9wcm9wZXJ0eV9kZWNsYXJhdGlvbl9vcl9pbmRleF9zaWduYXR1cmU6cigxMDI0LDEsXCJyZWFkb25seV9tb2RpZmllcl9jYW5fb25seV9hcHBlYXJfb25fYV9wcm9wZXJ0eV9kZWNsYXJhdGlvbl9vcl9pbmRleF9zaWduYXR1cmVfMTAyNFwiLFwiJ3JlYWRvbmx5JyBtb2RpZmllciBjYW4gb25seSBhcHBlYXIgb24gYSBwcm9wZXJ0eSBkZWNsYXJhdGlvbiBvciBpbmRleCBzaWduYXR1cmUuXCIpLEFuX2luZGV4X3NpZ25hdHVyZV9jYW5ub3RfaGF2ZV9hX3RyYWlsaW5nX2NvbW1hOnIoMTAyNSwxLFwiQW5faW5kZXhfc2lnbmF0dXJlX2Nhbm5vdF9oYXZlX2FfdHJhaWxpbmdfY29tbWFfMTAyNVwiLFwiQW4gaW5kZXggc2lnbmF0dXJlIGNhbm5vdCBoYXZlIGEgdHJhaWxpbmcgY29tbWEuXCIpLEFjY2Vzc2liaWxpdHlfbW9kaWZpZXJfYWxyZWFkeV9zZWVuOnIoMTAyOCwxLFwiQWNjZXNzaWJpbGl0eV9tb2RpZmllcl9hbHJlYWR5X3NlZW5fMTAyOFwiLFwiQWNjZXNzaWJpbGl0eSBtb2RpZmllciBhbHJlYWR5IHNlZW4uXCIpLF8wX21vZGlmaWVyX211c3RfcHJlY2VkZV8xX21vZGlmaWVyOnIoMTAyOSwxLFwiXzBfbW9kaWZpZXJfbXVzdF9wcmVjZWRlXzFfbW9kaWZpZXJfMTAyOVwiLFwiJ3swfScgbW9kaWZpZXIgbXVzdCBwcmVjZWRlICd7MX0nIG1vZGlmaWVyLlwiKSxfMF9tb2RpZmllcl9hbHJlYWR5X3NlZW46cigxMDMwLDEsXCJfMF9tb2RpZmllcl9hbHJlYWR5X3NlZW5fMTAzMFwiLFwiJ3swfScgbW9kaWZpZXIgYWxyZWFkeSBzZWVuLlwiKSxfMF9tb2RpZmllcl9jYW5ub3RfYXBwZWFyX29uX2NsYXNzX2VsZW1lbnRzX29mX3RoaXNfa2luZDpyKDEwMzEsMSxcIl8wX21vZGlmaWVyX2Nhbm5vdF9hcHBlYXJfb25fY2xhc3NfZWxlbWVudHNfb2ZfdGhpc19raW5kXzEwMzFcIixcIid7MH0nIG1vZGlmaWVyIGNhbm5vdCBhcHBlYXIgb24gY2xhc3MgZWxlbWVudHMgb2YgdGhpcyBraW5kLlwiKSxzdXBlcl9tdXN0X2JlX2ZvbGxvd2VkX2J5X2FuX2FyZ3VtZW50X2xpc3Rfb3JfbWVtYmVyX2FjY2VzczpyKDEwMzQsMSxcInN1cGVyX211c3RfYmVfZm9sbG93ZWRfYnlfYW5fYXJndW1lbnRfbGlzdF9vcl9tZW1iZXJfYWNjZXNzXzEwMzRcIixcIidzdXBlcicgbXVzdCBiZSBmb2xsb3dlZCBieSBhbiBhcmd1bWVudCBsaXN0IG9yIG1lbWJlciBhY2Nlc3MuXCIpLE9ubHlfYW1iaWVudF9tb2R1bGVzX2Nhbl91c2VfcXVvdGVkX25hbWVzOnIoMTAzNSwxLFwiT25seV9hbWJpZW50X21vZHVsZXNfY2FuX3VzZV9xdW90ZWRfbmFtZXNfMTAzNVwiLFwiT25seSBhbWJpZW50IG1vZHVsZXMgY2FuIHVzZSBxdW90ZWQgbmFtZXMuXCIpLFN0YXRlbWVudHNfYXJlX25vdF9hbGxvd2VkX2luX2FtYmllbnRfY29udGV4dHM6cigxMDM2LDEsXCJTdGF0ZW1lbnRzX2FyZV9ub3RfYWxsb3dlZF9pbl9hbWJpZW50X2NvbnRleHRzXzEwMzZcIixcIlN0YXRlbWVudHMgYXJlIG5vdCBhbGxvd2VkIGluIGFtYmllbnQgY29udGV4dHMuXCIpLEFfZGVjbGFyZV9tb2RpZmllcl9jYW5ub3RfYmVfdXNlZF9pbl9hbl9hbHJlYWR5X2FtYmllbnRfY29udGV4dDpyKDEwMzgsMSxcIkFfZGVjbGFyZV9tb2RpZmllcl9jYW5ub3RfYmVfdXNlZF9pbl9hbl9hbHJlYWR5X2FtYmllbnRfY29udGV4dF8xMDM4XCIsXCJBICdkZWNsYXJlJyBtb2RpZmllciBjYW5ub3QgYmUgdXNlZCBpbiBhbiBhbHJlYWR5IGFtYmllbnQgY29udGV4dC5cIiksSW5pdGlhbGl6ZXJzX2FyZV9ub3RfYWxsb3dlZF9pbl9hbWJpZW50X2NvbnRleHRzOnIoMTAzOSwxLFwiSW5pdGlhbGl6ZXJzX2FyZV9ub3RfYWxsb3dlZF9pbl9hbWJpZW50X2NvbnRleHRzXzEwMzlcIixcIkluaXRpYWxpemVycyBhcmUgbm90IGFsbG93ZWQgaW4gYW1iaWVudCBjb250ZXh0cy5cIiksXzBfbW9kaWZpZXJfY2Fubm90X2JlX3VzZWRfaW5fYW5fYW1iaWVudF9jb250ZXh0OnIoMTA0MCwxLFwiXzBfbW9kaWZpZXJfY2Fubm90X2JlX3VzZWRfaW5fYW5fYW1iaWVudF9jb250ZXh0XzEwNDBcIixcIid7MH0nIG1vZGlmaWVyIGNhbm5vdCBiZSB1c2VkIGluIGFuIGFtYmllbnQgY29udGV4dC5cIiksXzBfbW9kaWZpZXJfY2Fubm90X2JlX3VzZWRfaGVyZTpyKDEwNDIsMSxcIl8wX21vZGlmaWVyX2Nhbm5vdF9iZV91c2VkX2hlcmVfMTA0MlwiLFwiJ3swfScgbW9kaWZpZXIgY2Fubm90IGJlIHVzZWQgaGVyZS5cIiksXzBfbW9kaWZpZXJfY2Fubm90X2FwcGVhcl9vbl9hX21vZHVsZV9vcl9uYW1lc3BhY2VfZWxlbWVudDpyKDEwNDQsMSxcIl8wX21vZGlmaWVyX2Nhbm5vdF9hcHBlYXJfb25fYV9tb2R1bGVfb3JfbmFtZXNwYWNlX2VsZW1lbnRfMTA0NFwiLFwiJ3swfScgbW9kaWZpZXIgY2Fubm90IGFwcGVhciBvbiBhIG1vZHVsZSBvciBuYW1lc3BhY2UgZWxlbWVudC5cIiksVG9wX2xldmVsX2RlY2xhcmF0aW9uc19pbl9kX3RzX2ZpbGVzX211c3Rfc3RhcnRfd2l0aF9laXRoZXJfYV9kZWNsYXJlX29yX2V4cG9ydF9tb2RpZmllcjpyKDEwNDYsMSxcIlRvcF9sZXZlbF9kZWNsYXJhdGlvbnNfaW5fZF90c19maWxlc19tdXN0X3N0YXJ0X3dpdGhfZWl0aGVyX2FfZGVjbGFyZV9vcl9leHBvcnRfbW9kaWZpZXJfMTA0NlwiLFwiVG9wLWxldmVsIGRlY2xhcmF0aW9ucyBpbiAuZC50cyBmaWxlcyBtdXN0IHN0YXJ0IHdpdGggZWl0aGVyIGEgJ2RlY2xhcmUnIG9yICdleHBvcnQnIG1vZGlmaWVyLlwiKSxBX3Jlc3RfcGFyYW1ldGVyX2Nhbm5vdF9iZV9vcHRpb25hbDpyKDEwNDcsMSxcIkFfcmVzdF9wYXJhbWV0ZXJfY2Fubm90X2JlX29wdGlvbmFsXzEwNDdcIixcIkEgcmVzdCBwYXJhbWV0ZXIgY2Fubm90IGJlIG9wdGlvbmFsLlwiKSxBX3Jlc3RfcGFyYW1ldGVyX2Nhbm5vdF9oYXZlX2FuX2luaXRpYWxpemVyOnIoMTA0OCwxLFwiQV9yZXN0X3BhcmFtZXRlcl9jYW5ub3RfaGF2ZV9hbl9pbml0aWFsaXplcl8xMDQ4XCIsXCJBIHJlc3QgcGFyYW1ldGVyIGNhbm5vdCBoYXZlIGFuIGluaXRpYWxpemVyLlwiKSxBX3NldF9hY2Nlc3Nvcl9tdXN0X2hhdmVfZXhhY3RseV9vbmVfcGFyYW1ldGVyOnIoMTA0OSwxLFwiQV9zZXRfYWNjZXNzb3JfbXVzdF9oYXZlX2V4YWN0bHlfb25lX3BhcmFtZXRlcl8xMDQ5XCIsXCJBICdzZXQnIGFjY2Vzc29yIG11c3QgaGF2ZSBleGFjdGx5IG9uZSBwYXJhbWV0ZXIuXCIpLEFfc2V0X2FjY2Vzc29yX2Nhbm5vdF9oYXZlX2FuX29wdGlvbmFsX3BhcmFtZXRlcjpyKDEwNTEsMSxcIkFfc2V0X2FjY2Vzc29yX2Nhbm5vdF9oYXZlX2FuX29wdGlvbmFsX3BhcmFtZXRlcl8xMDUxXCIsXCJBICdzZXQnIGFjY2Vzc29yIGNhbm5vdCBoYXZlIGFuIG9wdGlvbmFsIHBhcmFtZXRlci5cIiksQV9zZXRfYWNjZXNzb3JfcGFyYW1ldGVyX2Nhbm5vdF9oYXZlX2FuX2luaXRpYWxpemVyOnIoMTA1MiwxLFwiQV9zZXRfYWNjZXNzb3JfcGFyYW1ldGVyX2Nhbm5vdF9oYXZlX2FuX2luaXRpYWxpemVyXzEwNTJcIixcIkEgJ3NldCcgYWNjZXNzb3IgcGFyYW1ldGVyIGNhbm5vdCBoYXZlIGFuIGluaXRpYWxpemVyLlwiKSxBX3NldF9hY2Nlc3Nvcl9jYW5ub3RfaGF2ZV9yZXN0X3BhcmFtZXRlcjpyKDEwNTMsMSxcIkFfc2V0X2FjY2Vzc29yX2Nhbm5vdF9oYXZlX3Jlc3RfcGFyYW1ldGVyXzEwNTNcIixcIkEgJ3NldCcgYWNjZXNzb3IgY2Fubm90IGhhdmUgcmVzdCBwYXJhbWV0ZXIuXCIpLEFfZ2V0X2FjY2Vzc29yX2Nhbm5vdF9oYXZlX3BhcmFtZXRlcnM6cigxMDU0LDEsXCJBX2dldF9hY2Nlc3Nvcl9jYW5ub3RfaGF2ZV9wYXJhbWV0ZXJzXzEwNTRcIixcIkEgJ2dldCcgYWNjZXNzb3IgY2Fubm90IGhhdmUgcGFyYW1ldGVycy5cIiksVHlwZV8wX2lzX25vdF9hX3ZhbGlkX2FzeW5jX2Z1bmN0aW9uX3JldHVybl90eXBlX2luX0VTNV9iZWNhdXNlX2l0X2RvZXNfbm90X3JlZmVyX3RvX2FfUHJvbWlzZV9jb21wYXRpYmxlX2NvbnN0cnVjdG9yX3ZhbHVlOnIoMTA1NSwxLFwiVHlwZV8wX2lzX25vdF9hX3ZhbGlkX2FzeW5jX2Z1bmN0aW9uX3JldHVybl90eXBlX2luX0VTNV9iZWNhdXNlX2l0X2RvZXNfbm90X3JlZmVyX3RvX2FfUHJvbWlzZV9jb21wYV8xMDU1XCIsXCJUeXBlICd7MH0nIGlzIG5vdCBhIHZhbGlkIGFzeW5jIGZ1bmN0aW9uIHJldHVybiB0eXBlIGluIEVTNSBiZWNhdXNlIGl0IGRvZXMgbm90IHJlZmVyIHRvIGEgUHJvbWlzZS1jb21wYXRpYmxlIGNvbnN0cnVjdG9yIHZhbHVlLlwiKSxBY2Nlc3NvcnNfYXJlX29ubHlfYXZhaWxhYmxlX3doZW5fdGFyZ2V0aW5nX0VDTUFTY3JpcHRfNV9hbmRfaGlnaGVyOnIoMTA1NiwxLFwiQWNjZXNzb3JzX2FyZV9vbmx5X2F2YWlsYWJsZV93aGVuX3RhcmdldGluZ19FQ01BU2NyaXB0XzVfYW5kX2hpZ2hlcl8xMDU2XCIsXCJBY2Nlc3NvcnMgYXJlIG9ubHkgYXZhaWxhYmxlIHdoZW4gdGFyZ2V0aW5nIEVDTUFTY3JpcHQgNSBhbmQgaGlnaGVyLlwiKSxUaGVfcmV0dXJuX3R5cGVfb2ZfYW5fYXN5bmNfZnVuY3Rpb25fbXVzdF9laXRoZXJfYmVfYV92YWxpZF9wcm9taXNlX29yX211c3Rfbm90X2NvbnRhaW5fYV9jYWxsYWJsZV90aGVuX21lbWJlcjpyKDEwNTgsMSxcIlRoZV9yZXR1cm5fdHlwZV9vZl9hbl9hc3luY19mdW5jdGlvbl9tdXN0X2VpdGhlcl9iZV9hX3ZhbGlkX3Byb21pc2Vfb3JfbXVzdF9ub3RfY29udGFpbl9hX2NhbGxhYmxlX3RfMTA1OFwiLFwiVGhlIHJldHVybiB0eXBlIG9mIGFuIGFzeW5jIGZ1bmN0aW9uIG11c3QgZWl0aGVyIGJlIGEgdmFsaWQgcHJvbWlzZSBvciBtdXN0IG5vdCBjb250YWluIGEgY2FsbGFibGUgJ3RoZW4nIG1lbWJlci5cIiksQV9wcm9taXNlX211c3RfaGF2ZV9hX3RoZW5fbWV0aG9kOnIoMTA1OSwxLFwiQV9wcm9taXNlX211c3RfaGF2ZV9hX3RoZW5fbWV0aG9kXzEwNTlcIixcIkEgcHJvbWlzZSBtdXN0IGhhdmUgYSAndGhlbicgbWV0aG9kLlwiKSxUaGVfZmlyc3RfcGFyYW1ldGVyX29mX3RoZV90aGVuX21ldGhvZF9vZl9hX3Byb21pc2VfbXVzdF9iZV9hX2NhbGxiYWNrOnIoMTA2MCwxLFwiVGhlX2ZpcnN0X3BhcmFtZXRlcl9vZl90aGVfdGhlbl9tZXRob2Rfb2ZfYV9wcm9taXNlX211c3RfYmVfYV9jYWxsYmFja18xMDYwXCIsXCJUaGUgZmlyc3QgcGFyYW1ldGVyIG9mIHRoZSAndGhlbicgbWV0aG9kIG9mIGEgcHJvbWlzZSBtdXN0IGJlIGEgY2FsbGJhY2suXCIpLEVudW1fbWVtYmVyX211c3RfaGF2ZV9pbml0aWFsaXplcjpyKDEwNjEsMSxcIkVudW1fbWVtYmVyX211c3RfaGF2ZV9pbml0aWFsaXplcl8xMDYxXCIsXCJFbnVtIG1lbWJlciBtdXN0IGhhdmUgaW5pdGlhbGl6ZXIuXCIpLFR5cGVfaXNfcmVmZXJlbmNlZF9kaXJlY3RseV9vcl9pbmRpcmVjdGx5X2luX3RoZV9mdWxmaWxsbWVudF9jYWxsYmFja19vZl9pdHNfb3duX3RoZW5fbWV0aG9kOnIoMTA2MiwxLFwiVHlwZV9pc19yZWZlcmVuY2VkX2RpcmVjdGx5X29yX2luZGlyZWN0bHlfaW5fdGhlX2Z1bGZpbGxtZW50X2NhbGxiYWNrX29mX2l0c19vd25fdGhlbl9tZXRob2RfMTA2MlwiLFwiVHlwZSBpcyByZWZlcmVuY2VkIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgaW4gdGhlIGZ1bGZpbGxtZW50IGNhbGxiYWNrIG9mIGl0cyBvd24gJ3RoZW4nIG1ldGhvZC5cIiksQW5fZXhwb3J0X2Fzc2lnbm1lbnRfY2Fubm90X2JlX3VzZWRfaW5fYV9uYW1lc3BhY2U6cigxMDYzLDEsXCJBbl9leHBvcnRfYXNzaWdubWVudF9jYW5ub3RfYmVfdXNlZF9pbl9hX25hbWVzcGFjZV8xMDYzXCIsXCJBbiBleHBvcnQgYXNzaWdubWVudCBjYW5ub3QgYmUgdXNlZCBpbiBhIG5hbWVzcGFjZS5cIiksVGhlX3JldHVybl90eXBlX29mX2FuX2FzeW5jX2Z1bmN0aW9uX29yX21ldGhvZF9tdXN0X2JlX3RoZV9nbG9iYWxfUHJvbWlzZV9UX3R5cGVfRGlkX3lvdV9tZWFuX3RvX3dyaXRlX1Byb21pc2VfMDpyKDEwNjQsMSxcIlRoZV9yZXR1cm5fdHlwZV9vZl9hbl9hc3luY19mdW5jdGlvbl9vcl9tZXRob2RfbXVzdF9iZV90aGVfZ2xvYmFsX1Byb21pc2VfVF90eXBlX0RpZF95b3VfbWVhbl90b193cmlfMTA2NFwiLFwiVGhlIHJldHVybiB0eXBlIG9mIGFuIGFzeW5jIGZ1bmN0aW9uIG9yIG1ldGhvZCBtdXN0IGJlIHRoZSBnbG9iYWwgUHJvbWlzZTxUPiB0eXBlLiBEaWQgeW91IG1lYW4gdG8gd3JpdGUgJ1Byb21pc2U8ezB9Pic/XCIpLFRoZV9yZXR1cm5fdHlwZV9vZl9hbl9hc3luY19mdW5jdGlvbl9vcl9tZXRob2RfbXVzdF9iZV90aGVfZ2xvYmFsX1Byb21pc2VfVF90eXBlOnIoMTA2NSwxLFwiVGhlX3JldHVybl90eXBlX29mX2FuX2FzeW5jX2Z1bmN0aW9uX29yX21ldGhvZF9tdXN0X2JlX3RoZV9nbG9iYWxfUHJvbWlzZV9UX3R5cGVfMTA2NVwiLFwiVGhlIHJldHVybiB0eXBlIG9mIGFuIGFzeW5jIGZ1bmN0aW9uIG9yIG1ldGhvZCBtdXN0IGJlIHRoZSBnbG9iYWwgUHJvbWlzZTxUPiB0eXBlLlwiKSxJbl9hbWJpZW50X2VudW1fZGVjbGFyYXRpb25zX21lbWJlcl9pbml0aWFsaXplcl9tdXN0X2JlX2NvbnN0YW50X2V4cHJlc3Npb246cigxMDY2LDEsXCJJbl9hbWJpZW50X2VudW1fZGVjbGFyYXRpb25zX21lbWJlcl9pbml0aWFsaXplcl9tdXN0X2JlX2NvbnN0YW50X2V4cHJlc3Npb25fMTA2NlwiLFwiSW4gYW1iaWVudCBlbnVtIGRlY2xhcmF0aW9ucyBtZW1iZXIgaW5pdGlhbGl6ZXIgbXVzdCBiZSBjb25zdGFudCBleHByZXNzaW9uLlwiKSxVbmV4cGVjdGVkX3Rva2VuX0FfY29uc3RydWN0b3JfbWV0aG9kX2FjY2Vzc29yX29yX3Byb3BlcnR5X3dhc19leHBlY3RlZDpyKDEwNjgsMSxcIlVuZXhwZWN0ZWRfdG9rZW5fQV9jb25zdHJ1Y3Rvcl9tZXRob2RfYWNjZXNzb3Jfb3JfcHJvcGVydHlfd2FzX2V4cGVjdGVkXzEwNjhcIixcIlVuZXhwZWN0ZWQgdG9rZW4uIEEgY29uc3RydWN0b3IsIG1ldGhvZCwgYWNjZXNzb3IsIG9yIHByb3BlcnR5IHdhcyBleHBlY3RlZC5cIiksVW5leHBlY3RlZF90b2tlbl9BX3R5cGVfcGFyYW1ldGVyX25hbWVfd2FzX2V4cGVjdGVkX3dpdGhvdXRfY3VybHlfYnJhY2VzOnIoMTA2OSwxLFwiVW5leHBlY3RlZF90b2tlbl9BX3R5cGVfcGFyYW1ldGVyX25hbWVfd2FzX2V4cGVjdGVkX3dpdGhvdXRfY3VybHlfYnJhY2VzXzEwNjlcIixcIlVuZXhwZWN0ZWQgdG9rZW4uIEEgdHlwZSBwYXJhbWV0ZXIgbmFtZSB3YXMgZXhwZWN0ZWQgd2l0aG91dCBjdXJseSBicmFjZXMuXCIpLF8wX21vZGlmaWVyX2Nhbm5vdF9hcHBlYXJfb25fYV90eXBlX21lbWJlcjpyKDEwNzAsMSxcIl8wX21vZGlmaWVyX2Nhbm5vdF9hcHBlYXJfb25fYV90eXBlX21lbWJlcl8xMDcwXCIsXCInezB9JyBtb2RpZmllciBjYW5ub3QgYXBwZWFyIG9uIGEgdHlwZSBtZW1iZXIuXCIpLF8wX21vZGlmaWVyX2Nhbm5vdF9hcHBlYXJfb25fYW5faW5kZXhfc2lnbmF0dXJlOnIoMTA3MSwxLFwiXzBfbW9kaWZpZXJfY2Fubm90X2FwcGVhcl9vbl9hbl9pbmRleF9zaWduYXR1cmVfMTA3MVwiLFwiJ3swfScgbW9kaWZpZXIgY2Fubm90IGFwcGVhciBvbiBhbiBpbmRleCBzaWduYXR1cmUuXCIpLEFfMF9tb2RpZmllcl9jYW5ub3RfYmVfdXNlZF93aXRoX2FuX2ltcG9ydF9kZWNsYXJhdGlvbjpyKDEwNzksMSxcIkFfMF9tb2RpZmllcl9jYW5ub3RfYmVfdXNlZF93aXRoX2FuX2ltcG9ydF9kZWNsYXJhdGlvbl8xMDc5XCIsXCJBICd7MH0nIG1vZGlmaWVyIGNhbm5vdCBiZSB1c2VkIHdpdGggYW4gaW1wb3J0IGRlY2xhcmF0aW9uLlwiKSxJbnZhbGlkX3JlZmVyZW5jZV9kaXJlY3RpdmVfc3ludGF4OnIoMTA4NCwxLFwiSW52YWxpZF9yZWZlcmVuY2VfZGlyZWN0aXZlX3N5bnRheF8xMDg0XCIsXCJJbnZhbGlkICdyZWZlcmVuY2UnIGRpcmVjdGl2ZSBzeW50YXguXCIpLF8wX21vZGlmaWVyX2Nhbm5vdF9hcHBlYXJfb25fYV9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbjpyKDEwODksMSxcIl8wX21vZGlmaWVyX2Nhbm5vdF9hcHBlYXJfb25fYV9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbl8xMDg5XCIsXCInezB9JyBtb2RpZmllciBjYW5ub3QgYXBwZWFyIG9uIGEgY29uc3RydWN0b3IgZGVjbGFyYXRpb24uXCIpLF8wX21vZGlmaWVyX2Nhbm5vdF9hcHBlYXJfb25fYV9wYXJhbWV0ZXI6cigxMDkwLDEsXCJfMF9tb2RpZmllcl9jYW5ub3RfYXBwZWFyX29uX2FfcGFyYW1ldGVyXzEwOTBcIixcIid7MH0nIG1vZGlmaWVyIGNhbm5vdCBhcHBlYXIgb24gYSBwYXJhbWV0ZXIuXCIpLE9ubHlfYV9zaW5nbGVfdmFyaWFibGVfZGVjbGFyYXRpb25faXNfYWxsb3dlZF9pbl9hX2Zvcl9pbl9zdGF0ZW1lbnQ6cigxMDkxLDEsXCJPbmx5X2Ffc2luZ2xlX3ZhcmlhYmxlX2RlY2xhcmF0aW9uX2lzX2FsbG93ZWRfaW5fYV9mb3JfaW5fc3RhdGVtZW50XzEwOTFcIixcIk9ubHkgYSBzaW5nbGUgdmFyaWFibGUgZGVjbGFyYXRpb24gaXMgYWxsb3dlZCBpbiBhICdmb3IuLi5pbicgc3RhdGVtZW50LlwiKSxUeXBlX3BhcmFtZXRlcnNfY2Fubm90X2FwcGVhcl9vbl9hX2NvbnN0cnVjdG9yX2RlY2xhcmF0aW9uOnIoMTA5MiwxLFwiVHlwZV9wYXJhbWV0ZXJzX2Nhbm5vdF9hcHBlYXJfb25fYV9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbl8xMDkyXCIsXCJUeXBlIHBhcmFtZXRlcnMgY2Fubm90IGFwcGVhciBvbiBhIGNvbnN0cnVjdG9yIGRlY2xhcmF0aW9uLlwiKSxUeXBlX2Fubm90YXRpb25fY2Fubm90X2FwcGVhcl9vbl9hX2NvbnN0cnVjdG9yX2RlY2xhcmF0aW9uOnIoMTA5MywxLFwiVHlwZV9hbm5vdGF0aW9uX2Nhbm5vdF9hcHBlYXJfb25fYV9jb25zdHJ1Y3Rvcl9kZWNsYXJhdGlvbl8xMDkzXCIsXCJUeXBlIGFubm90YXRpb24gY2Fubm90IGFwcGVhciBvbiBhIGNvbnN0cnVjdG9yIGRlY2xhcmF0aW9uLlwiKSxBbl9hY2Nlc3Nvcl9jYW5ub3RfaGF2ZV90eXBlX3BhcmFtZXRlcnM6cigxMDk0LDEsXCJBbl9hY2Nlc3Nvcl9jYW5ub3RfaGF2ZV90eXBlX3BhcmFtZXRlcnNfMTA5NFwiLFwiQW4gYWNjZXNzb3IgY2Fubm90IGhhdmUgdHlwZSBwYXJhbWV0ZXJzLlwiKSxBX3NldF9hY2Nlc3Nvcl9jYW5ub3RfaGF2ZV9hX3JldHVybl90eXBlX2Fubm90YXRpb246cigxMDk1LDEsXCJBX3NldF9hY2Nlc3Nvcl9jYW5ub3RfaGF2ZV9hX3JldHVybl90eXBlX2Fubm90YXRpb25fMTA5NVwiLFwiQSAnc2V0JyBhY2Nlc3NvciBjYW5ub3QgaGF2ZSBhIHJldHVybiB0eXBlIGFubm90YXRpb24uXCIpLEFuX2luZGV4X3NpZ25hdHVyZV9tdXN0X2hhdmVfZXhhY3RseV9vbmVfcGFyYW1ldGVyOnIoMTA5NiwxLFwiQW5faW5kZXhfc2lnbmF0dXJlX211c3RfaGF2ZV9leGFjdGx5X29uZV9wYXJhbWV0ZXJfMTA5NlwiLFwiQW4gaW5kZXggc2lnbmF0dXJlIG11c3QgaGF2ZSBleGFjdGx5IG9uZSBwYXJhbWV0ZXIuXCIpLF8wX2xpc3RfY2Fubm90X2JlX2VtcHR5OnIoMTA5NywxLFwiXzBfbGlzdF9jYW5ub3RfYmVfZW1wdHlfMTA5N1wiLFwiJ3swfScgbGlzdCBjYW5ub3QgYmUgZW1wdHkuXCIpLFR5cGVfcGFyYW1ldGVyX2xpc3RfY2Fubm90X2JlX2VtcHR5OnIoMTA5OCwxLFwiVHlwZV9wYXJhbWV0ZXJfbGlzdF9jYW5ub3RfYmVfZW1wdHlfMTA5OFwiLFwiVHlwZSBwYXJhbWV0ZXIgbGlzdCBjYW5ub3QgYmUgZW1wdHkuXCIpLFR5cGVfYXJndW1lbnRfbGlzdF9jYW5ub3RfYmVfZW1wdHk6cigxMDk5LDEsXCJUeXBlX2FyZ3VtZW50X2xpc3RfY2Fubm90X2JlX2VtcHR5XzEwOTlcIixcIlR5cGUgYXJndW1lbnQgbGlzdCBjYW5ub3QgYmUgZW1wdHkuXCIpLEludmFsaWRfdXNlX29mXzBfaW5fc3RyaWN0X21vZGU6cigxMTAwLDEsXCJJbnZhbGlkX3VzZV9vZl8wX2luX3N0cmljdF9tb2RlXzExMDBcIixcIkludmFsaWQgdXNlIG9mICd7MH0nIGluIHN0cmljdCBtb2RlLlwiKSx3aXRoX3N0YXRlbWVudHNfYXJlX25vdF9hbGxvd2VkX2luX3N0cmljdF9tb2RlOnIoMTEwMSwxLFwid2l0aF9zdGF0ZW1lbnRzX2FyZV9ub3RfYWxsb3dlZF9pbl9zdHJpY3RfbW9kZV8xMTAxXCIsXCInd2l0aCcgc3RhdGVtZW50cyBhcmUgbm90IGFsbG93ZWQgaW4gc3RyaWN0IG1vZGUuXCIpLGRlbGV0ZV9jYW5ub3RfYmVfY2FsbGVkX29uX2FuX2lkZW50aWZpZXJfaW5fc3RyaWN0X21vZGU6cigxMTAyLDEsXCJkZWxldGVfY2Fubm90X2JlX2NhbGxlZF9vbl9hbl9pZGVudGlmaWVyX2luX3N0cmljdF9tb2RlXzExMDJcIixcIidkZWxldGUnIGNhbm5vdCBiZSBjYWxsZWQgb24gYW4gaWRlbnRpZmllciBpbiBzdHJpY3QgbW9kZS5cIiksZm9yX2F3YWl0X2xvb3BzX2FyZV9vbmx5X2FsbG93ZWRfd2l0aGluX2FzeW5jX2Z1bmN0aW9uc19hbmRfYXRfdGhlX3RvcF9sZXZlbHNfb2ZfbW9kdWxlczpyKDExMDMsMSxcImZvcl9hd2FpdF9sb29wc19hcmVfb25seV9hbGxvd2VkX3dpdGhpbl9hc3luY19mdW5jdGlvbnNfYW5kX2F0X3RoZV90b3BfbGV2ZWxzX29mX21vZHVsZXNfMTEwM1wiLFwiJ2ZvciBhd2FpdCcgbG9vcHMgYXJlIG9ubHkgYWxsb3dlZCB3aXRoaW4gYXN5bmMgZnVuY3Rpb25zIGFuZCBhdCB0aGUgdG9wIGxldmVscyBvZiBtb2R1bGVzLlwiKSxBX2NvbnRpbnVlX3N0YXRlbWVudF9jYW5fb25seV9iZV91c2VkX3dpdGhpbl9hbl9lbmNsb3NpbmdfaXRlcmF0aW9uX3N0YXRlbWVudDpyKDExMDQsMSxcIkFfY29udGludWVfc3RhdGVtZW50X2Nhbl9vbmx5X2JlX3VzZWRfd2l0aGluX2FuX2VuY2xvc2luZ19pdGVyYXRpb25fc3RhdGVtZW50XzExMDRcIixcIkEgJ2NvbnRpbnVlJyBzdGF0ZW1lbnQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoaW4gYW4gZW5jbG9zaW5nIGl0ZXJhdGlvbiBzdGF0ZW1lbnQuXCIpLEFfYnJlYWtfc3RhdGVtZW50X2Nhbl9vbmx5X2JlX3VzZWRfd2l0aGluX2FuX2VuY2xvc2luZ19pdGVyYXRpb25fb3Jfc3dpdGNoX3N0YXRlbWVudDpyKDExMDUsMSxcIkFfYnJlYWtfc3RhdGVtZW50X2Nhbl9vbmx5X2JlX3VzZWRfd2l0aGluX2FuX2VuY2xvc2luZ19pdGVyYXRpb25fb3Jfc3dpdGNoX3N0YXRlbWVudF8xMTA1XCIsXCJBICdicmVhaycgc3RhdGVtZW50IGNhbiBvbmx5IGJlIHVzZWQgd2l0aGluIGFuIGVuY2xvc2luZyBpdGVyYXRpb24gb3Igc3dpdGNoIHN0YXRlbWVudC5cIiksVGhlX2xlZnRfaGFuZF9zaWRlX29mX2FfZm9yX29mX3N0YXRlbWVudF9tYXlfbm90X2JlX2FzeW5jOnIoMTEwNiwxLFwiVGhlX2xlZnRfaGFuZF9zaWRlX29mX2FfZm9yX29mX3N0YXRlbWVudF9tYXlfbm90X2JlX2FzeW5jXzExMDZcIixcIlRoZSBsZWZ0LWhhbmQgc2lkZSBvZiBhICdmb3IuLi5vZicgc3RhdGVtZW50IG1heSBub3QgYmUgJ2FzeW5jJy5cIiksSnVtcF90YXJnZXRfY2Fubm90X2Nyb3NzX2Z1bmN0aW9uX2JvdW5kYXJ5OnIoMTEwNywxLFwiSnVtcF90YXJnZXRfY2Fubm90X2Nyb3NzX2Z1bmN0aW9uX2JvdW5kYXJ5XzExMDdcIixcIkp1bXAgdGFyZ2V0IGNhbm5vdCBjcm9zcyBmdW5jdGlvbiBib3VuZGFyeS5cIiksQV9yZXR1cm5fc3RhdGVtZW50X2Nhbl9vbmx5X2JlX3VzZWRfd2l0aGluX2FfZnVuY3Rpb25fYm9keTpyKDExMDgsMSxcIkFfcmV0dXJuX3N0YXRlbWVudF9jYW5fb25seV9iZV91c2VkX3dpdGhpbl9hX2Z1bmN0aW9uX2JvZHlfMTEwOFwiLFwiQSAncmV0dXJuJyBzdGF0ZW1lbnQgY2FuIG9ubHkgYmUgdXNlZCB3aXRoaW4gYSBmdW5jdGlvbiBib2R5LlwiKSxFeHByZXNzaW9uX2V4cGVjdGVkOnIoMTEwOSwxLFwiRXhwcmVzc2lvbl9leHBlY3RlZF8xMTA5XCIsXCJFeHByZXNzaW9uIGV4cGVjdGVkLlwiKSxUeXBlX2V4cGVjdGVkOnIoMTExMCwxLFwiVHlwZV9leHBlY3RlZF8xMTEwXCIsXCJUeXBlIGV4cGVjdGVkLlwiKSxQcml2YXRlX2ZpZWxkXzBfbXVzdF9iZV9kZWNsYXJlZF9pbl9hbl9lbmNsb3NpbmdfY2xhc3M6cigxMTExLDEsXCJQcml2YXRlX2ZpZWxkXzBfbXVzdF9iZV9kZWNsYXJlZF9pbl9hbl9lbmNsb3NpbmdfY2xhc3NfMTExMVwiLFwiUHJpdmF0ZSBmaWVsZCAnezB9JyBtdXN0IGJlIGRlY2xhcmVkIGluIGFuIGVuY2xvc2luZyBjbGFzcy5cIiksQV9kZWZhdWx0X2NsYXVzZV9jYW5ub3RfYXBwZWFyX21vcmVfdGhhbl9vbmNlX2luX2Ffc3dpdGNoX3N0YXRlbWVudDpyKDExMTMsMSxcIkFfZGVmYXVsdF9jbGF1c2VfY2Fubm90X2FwcGVhcl9tb3JlX3RoYW5fb25jZV9pbl9hX3N3aXRjaF9zdGF0ZW1lbnRfMTExM1wiLFwiQSAnZGVmYXVsdCcgY2xhdXNlIGNhbm5vdCBhcHBlYXIgbW9yZSB0aGFuIG9uY2UgaW4gYSAnc3dpdGNoJyBzdGF0ZW1lbnQuXCIpLER1cGxpY2F0ZV9sYWJlbF8wOnIoMTExNCwxLFwiRHVwbGljYXRlX2xhYmVsXzBfMTExNFwiLFwiRHVwbGljYXRlIGxhYmVsICd7MH0nLlwiKSxBX2NvbnRpbnVlX3N0YXRlbWVudF9jYW5fb25seV9qdW1wX3RvX2FfbGFiZWxfb2ZfYW5fZW5jbG9zaW5nX2l0ZXJhdGlvbl9zdGF0ZW1lbnQ6cigxMTE1LDEsXCJBX2NvbnRpbnVlX3N0YXRlbWVudF9jYW5fb25seV9qdW1wX3RvX2FfbGFiZWxfb2ZfYW5fZW5jbG9zaW5nX2l0ZXJhdGlvbl9zdGF0ZW1lbnRfMTExNVwiLFwiQSAnY29udGludWUnIHN0YXRlbWVudCBjYW4gb25seSBqdW1wIHRvIGEgbGFiZWwgb2YgYW4gZW5jbG9zaW5nIGl0ZXJhdGlvbiBzdGF0ZW1lbnQuXCIpLEFfYnJlYWtfc3RhdGVtZW50X2Nhbl9vbmx5X2p1bXBfdG9fYV9sYWJlbF9vZl9hbl9lbmNsb3Npbmdfc3RhdGVtZW50OnIoMTExNiwxLFwiQV9icmVha19zdGF0ZW1lbnRfY2FuX29ubHlfanVtcF90b19hX2xhYmVsX29mX2FuX2VuY2xvc2luZ19zdGF0ZW1lbnRfMTExNlwiLFwiQSAnYnJlYWsnIHN0YXRlbWVudCBjYW4gb25seSBqdW1wIHRvIGEgbGFiZWwgb2YgYW4gZW5jbG9zaW5nIHN0YXRlbWVudC5cIiksQW5fb2JqZWN0X2xpdGVyYWxfY2Fubm90X2hhdmVfbXVsdGlwbGVfcHJvcGVydGllc193aXRoX3RoZV9zYW1lX25hbWU6cigxMTE3LDEsXCJBbl9vYmplY3RfbGl0ZXJhbF9jYW5ub3RfaGF2ZV9tdWx0aXBsZV9wcm9wZXJ0aWVzX3dpdGhfdGhlX3NhbWVfbmFtZV8xMTE3XCIsXCJBbiBvYmplY3QgbGl0ZXJhbCBjYW5ub3QgaGF2ZSBtdWx0aXBsZSBwcm9wZXJ0aWVzIHdpdGggdGhlIHNhbWUgbmFtZS5cIiksQW5fb2JqZWN0X2xpdGVyYWxfY2Fubm90X2hhdmVfbXVsdGlwbGVfZ2V0X1NsYXNoc2V0X2FjY2Vzc29yc193aXRoX3RoZV9zYW1lX25hbWU6cigxMTE4LDEsXCJBbl9vYmplY3RfbGl0ZXJhbF9jYW5ub3RfaGF2ZV9tdWx0aXBsZV9nZXRfU2xhc2hzZXRfYWNjZXNzb3JzX3dpdGhfdGhlX3NhbWVfbmFtZV8xMTE4XCIsXCJBbiBvYmplY3QgbGl0ZXJhbCBjYW5ub3QgaGF2ZSBtdWx0aXBsZSBnZXQvc2V0IGFjY2Vzc29ycyB3aXRoIHRoZSBzYW1lIG5hbWUuXCIpLEFuX29iamVjdF9saXRlcmFsX2Nhbm5vdF9oYXZlX3Byb3BlcnR5X2FuZF9hY2Nlc3Nvcl93aXRoX3RoZV9zYW1lX25hbWU6cigxMTE5LDEsXCJBbl9vYmplY3RfbGl0ZXJhbF9jYW5ub3RfaGF2ZV9wcm9wZXJ0eV9hbmRfYWNjZXNzb3Jfd2l0aF90aGVfc2FtZV9uYW1lXzExMTlcIixcIkFuIG9iamVjdCBsaXRlcmFsIGNhbm5vdCBoYXZlIHByb3BlcnR5IGFuZCBhY2Nlc3NvciB3aXRoIHRoZSBzYW1lIG5hbWUuXCIpLEFuX2V4cG9ydF9hc3NpZ25tZW50X2Nhbm5vdF9oYXZlX21vZGlmaWVyczpyKDExMjAsMSxcIkFuX2V4cG9ydF9hc3NpZ25tZW50X2Nhbm5vdF9oYXZlX21vZGlmaWVyc18xMTIwXCIsXCJBbiBleHBvcnQgYXNzaWdubWVudCBjYW5ub3QgaGF2ZSBtb2RpZmllcnMuXCIpLE9jdGFsX2xpdGVyYWxzX2FyZV9ub3RfYWxsb3dlZF9Vc2VfdGhlX3N5bnRheF8wOnIoMTEyMSwxLFwiT2N0YWxfbGl0ZXJhbHNfYXJlX25vdF9hbGxvd2VkX1VzZV90aGVfc3ludGF4XzBfMTEyMVwiLFwiT2N0YWwgbGl0ZXJhbHMgYXJlIG5vdCBhbGxvd2VkLiBVc2UgdGhlIHN5bnRheCAnezB9Jy5cIiksVmFyaWFibGVfZGVjbGFyYXRpb25fbGlzdF9jYW5ub3RfYmVfZW1wdHk6cigxMTIzLDEsXCJWYXJpYWJsZV9kZWNsYXJhdGlvbl9saXN0X2Nhbm5vdF9iZV9lbXB0eV8xMTIzXCIsXCJWYXJpYWJsZSBkZWNsYXJhdGlvbiBsaXN0IGNhbm5vdCBiZSBlbXB0eS5cIiksRGlnaXRfZXhwZWN0ZWQ6cigxMTI0LDEsXCJEaWdpdF9leHBlY3RlZF8xMTI0XCIsXCJEaWdpdCBleHBlY3RlZC5cIiksSGV4YWRlY2ltYWxfZGlnaXRfZXhwZWN0ZWQ6cigxMTI1LDEsXCJIZXhhZGVjaW1hbF9kaWdpdF9leHBlY3RlZF8xMTI1XCIsXCJIZXhhZGVjaW1hbCBkaWdpdCBleHBlY3RlZC5cIiksVW5leHBlY3RlZF9lbmRfb2ZfdGV4dDpyKDExMjYsMSxcIlVuZXhwZWN0ZWRfZW5kX29mX3RleHRfMTEyNlwiLFwiVW5leHBlY3RlZCBlbmQgb2YgdGV4dC5cIiksSW52YWxpZF9jaGFyYWN0ZXI6cigxMTI3LDEsXCJJbnZhbGlkX2NoYXJhY3Rlcl8xMTI3XCIsXCJJbnZhbGlkIGNoYXJhY3Rlci5cIiksRGVjbGFyYXRpb25fb3Jfc3RhdGVtZW50X2V4cGVjdGVkOnIoMTEyOCwxLFwiRGVjbGFyYXRpb25fb3Jfc3RhdGVtZW50X2V4cGVjdGVkXzExMjhcIixcIkRlY2xhcmF0aW9uIG9yIHN0YXRlbWVudCBleHBlY3RlZC5cIiksU3RhdGVtZW50X2V4cGVjdGVkOnIoMTEyOSwxLFwiU3RhdGVtZW50X2V4cGVjdGVkXzExMjlcIixcIlN0YXRlbWVudCBleHBlY3RlZC5cIiksY2FzZV9vcl9kZWZhdWx0X2V4cGVjdGVkOnIoMTEzMCwxLFwiY2FzZV9vcl9kZWZhdWx0X2V4cGVjdGVkXzExMzBcIixcIidjYXNlJyBvciAnZGVmYXVsdCcgZXhwZWN0ZWQuXCIpLFByb3BlcnR5X29yX3NpZ25hdHVyZV9leHBlY3RlZDpyKDExMzEsMSxcIlByb3BlcnR5X29yX3NpZ25hdHVyZV9leHBlY3RlZF8xMTMxXCIsXCJQcm9wZXJ0eSBvciBzaWduYXR1cmUgZXhwZWN0ZWQuXCIpLEVudW1fbWVtYmVyX2V4cGVjdGVkOnIoMTEzMiwxLFwiRW51bV9tZW1iZXJfZXhwZWN0ZWRfMTEzMlwiLFwiRW51bSBtZW1iZXIgZXhwZWN0ZWQuXCIpLFZhcmlhYmxlX2RlY2xhcmF0aW9uX2V4cGVjdGVkOnIoMTEzNCwxLFwiVmFyaWFibGVfZGVjbGFyYXRpb25fZXhwZWN0ZWRfMTEzNFwiLFwiVmFyaWFibGUgZGVjbGFyYXRpb24gZXhwZWN0ZWQuXCIpLEFyZ3VtZW50X2V4cHJlc3Npb25fZXhwZWN0ZWQ6cigxMTM1LDEsXCJBcmd1bWVudF9leHByZXNzaW9uX2V4cGVjdGVkXzExMzVcIixcIkFyZ3VtZW50IGV4cHJlc3Npb24gZXhwZWN0ZWQuXCIpLFByb3BlcnR5X2Fzc2lnbm1lbnRfZXhwZWN0ZWQ6cigxMTM2LDEsXCJQcm9wZXJ0eV9hc3NpZ25tZW50X2V4cGVjdGVkXzExMzZcIixcIlByb3BlcnR5IGFzc2lnbm1lbnQgZXhwZWN0ZWQuXCIpLEV4cHJlc3Npb25fb3JfY29tbWFfZXhwZWN0ZWQ6cigxMTM3LDEsXCJFeHByZXNzaW9uX29yX2NvbW1hX2V4cGVjdGVkXzExMzdcIixcIkV4cHJlc3Npb24gb3IgY29tbWEgZXhwZWN0ZWQuXCIpLFBhcmFtZXRlcl9kZWNsYXJhdGlvbl9leHBlY3RlZDpyKDExMzgsMSxcIlBhcmFtZXRlcl9kZWNsYXJhdGlvbl9leHBlY3RlZF8xMTM4XCIsXCJQYXJhbWV0ZXIgZGVjbGFyYXRpb24gZXhwZWN0ZWQuXCIpLFR5cGVfcGFyYW1ldGVyX2RlY2xhcmF0aW9uX2V4cGVjdGVkOnIoMTEzOSwxLFwiVHlwZV9wYXJhbWV0ZXJfZGVjbGFyYXRpb25fZXhwZWN0ZWRfMTEzOVwiLFwiVHlwZSBwYXJhbWV0ZXIgZGVjbGFyYXRpb24gZXhwZWN0ZWQuXCIpLFR5cGVfYXJndW1lbnRfZXhwZWN0ZWQ6cigxMTQwLDEsXCJUeXBlX2FyZ3VtZW50X2V4cGVjdGVkXzExNDBcIixcIlR5cGUgYXJndW1lbnQgZXhwZWN0ZWQuXCIpLFN0cmluZ19saXRlcmFsX2V4cGVjdGVkOnIoMTE0MSwxLFwiU3RyaW5nX2xpdGVyYWxfZXhwZWN0ZWRfMTE0MVwiLFwiU3RyaW5nIGxpdGVyYWwgZXhwZWN0ZWQuXCIpLExpbmVfYnJlYWtfbm90X3Blcm1pdHRlZF9oZXJlOnIoMTE0MiwxLFwiTGluZV9icmVha19ub3RfcGVybWl0dGVkX2hlcmVfMTE0MlwiLFwiTGluZSBicmVhayBub3QgcGVybWl0dGVkIGhlcmUuXCIpLG9yX2V4cGVjdGVkOnIoMTE0NCwxLFwib3JfZXhwZWN0ZWRfMTE0NFwiLFwiJ3snIG9yICc7JyBleHBlY3RlZC5cIiksb3JfSlNYX2VsZW1lbnRfZXhwZWN0ZWQ6cigxMTQ1LDEsXCJvcl9KU1hfZWxlbWVudF9leHBlY3RlZF8xMTQ1XCIsXCIneycgb3IgSlNYIGVsZW1lbnQgZXhwZWN0ZWQuXCIpLERlY2xhcmF0aW9uX2V4cGVjdGVkOnIoMTE0NiwxLFwiRGVjbGFyYXRpb25fZXhwZWN0ZWRfMTE0NlwiLFwiRGVjbGFyYXRpb24gZXhwZWN0ZWQuXCIpLEltcG9ydF9kZWNsYXJhdGlvbnNfaW5fYV9uYW1lc3BhY2VfY2Fubm90X3JlZmVyZW5jZV9hX21vZHVsZTpyKDExNDcsMSxcIkltcG9ydF9kZWNsYXJhdGlvbnNfaW5fYV9uYW1lc3BhY2VfY2Fubm90X3JlZmVyZW5jZV9hX21vZHVsZV8xMTQ3XCIsXCJJbXBvcnQgZGVjbGFyYXRpb25zIGluIGEgbmFtZXNwYWNlIGNhbm5vdCByZWZlcmVuY2UgYSBtb2R1bGUuXCIpLENhbm5vdF91c2VfaW1wb3J0c19leHBvcnRzX29yX21vZHVsZV9hdWdtZW50YXRpb25zX3doZW5fbW9kdWxlX2lzX25vbmU6cigxMTQ4LDEsXCJDYW5ub3RfdXNlX2ltcG9ydHNfZXhwb3J0c19vcl9tb2R1bGVfYXVnbWVudGF0aW9uc193aGVuX21vZHVsZV9pc19ub25lXzExNDhcIixcIkNhbm5vdCB1c2UgaW1wb3J0cywgZXhwb3J0cywgb3IgbW9kdWxlIGF1Z21lbnRhdGlvbnMgd2hlbiAnLS1tb2R1bGUnIGlzICdub25lJy5cIiksRmlsZV9uYW1lXzBfZGlmZmVyc19mcm9tX2FscmVhZHlfaW5jbHVkZWRfZmlsZV9uYW1lXzFfb25seV9pbl9jYXNpbmc6cigxMTQ5LDEsXCJGaWxlX25hbWVfMF9kaWZmZXJzX2Zyb21fYWxyZWFkeV9pbmNsdWRlZF9maWxlX25hbWVfMV9vbmx5X2luX2Nhc2luZ18xMTQ5XCIsXCJGaWxlIG5hbWUgJ3swfScgZGlmZmVycyBmcm9tIGFscmVhZHkgaW5jbHVkZWQgZmlsZSBuYW1lICd7MX0nIG9ubHkgaW4gY2FzaW5nLlwiKSxfMF9kZWNsYXJhdGlvbnNfbXVzdF9iZV9pbml0aWFsaXplZDpyKDExNTUsMSxcIl8wX2RlY2xhcmF0aW9uc19tdXN0X2JlX2luaXRpYWxpemVkXzExNTVcIixcIid7MH0nIGRlY2xhcmF0aW9ucyBtdXN0IGJlIGluaXRpYWxpemVkLlwiKSxfMF9kZWNsYXJhdGlvbnNfY2FuX29ubHlfYmVfZGVjbGFyZWRfaW5zaWRlX2FfYmxvY2s6cigxMTU2LDEsXCJfMF9kZWNsYXJhdGlvbnNfY2FuX29ubHlfYmVfZGVjbGFyZWRfaW5zaWRlX2FfYmxvY2tfMTE1NlwiLFwiJ3swfScgZGVjbGFyYXRpb25zIGNhbiBvbmx5IGJlIGRlY2xhcmVkIGluc2lkZSBhIGJsb2NrLlwiKSxVbnRlcm1pbmF0ZWRfdGVtcGxhdGVfbGl0ZXJhbDpyKDExNjAsMSxcIlVudGVybWluYXRlZF90ZW1wbGF0ZV9saXRlcmFsXzExNjBcIixcIlVudGVybWluYXRlZCB0ZW1wbGF0ZSBsaXRlcmFsLlwiKSxVbnRlcm1pbmF0ZWRfcmVndWxhcl9leHByZXNzaW9uX2xpdGVyYWw6cigxMTYxLDEsXCJVbnRlcm1pbmF0ZWRfcmVndWxhcl9leHByZXNzaW9uX2xpdGVyYWxfMTE2MVwiLFwiVW50ZXJtaW5hdGVkIHJlZ3VsYXIgZXhwcmVzc2lvbiBsaXRlcmFsLlwiKSxBbl9vYmplY3RfbWVtYmVyX2Nhbm5vdF9iZV9kZWNsYXJlZF9vcHRpb25hbDpyKDExNjIsMSxcIkFuX29iamVjdF9tZW1iZXJfY2Fubm90X2JlX2RlY2xhcmVkX29wdGlvbmFsXzExNjJcIixcIkFuIG9iamVjdCBtZW1iZXIgY2Fubm90IGJlIGRlY2xhcmVkIG9wdGlvbmFsLlwiKSxBX3lpZWxkX2V4cHJlc3Npb25faXNfb25seV9hbGxvd2VkX2luX2FfZ2VuZXJhdG9yX2JvZHk6cigxMTYzLDEsXCJBX3lpZWxkX2V4cHJlc3Npb25faXNfb25seV9hbGxvd2VkX2luX2FfZ2VuZXJhdG9yX2JvZHlfMTE2M1wiLFwiQSAneWllbGQnIGV4cHJlc3Npb24gaXMgb25seSBhbGxvd2VkIGluIGEgZ2VuZXJhdG9yIGJvZHkuXCIpLENvbXB1dGVkX3Byb3BlcnR5X25hbWVzX2FyZV9ub3RfYWxsb3dlZF9pbl9lbnVtczpyKDExNjQsMSxcIkNvbXB1dGVkX3Byb3BlcnR5X25hbWVzX2FyZV9ub3RfYWxsb3dlZF9pbl9lbnVtc18xMTY0XCIsXCJDb21wdXRlZCBwcm9wZXJ0eSBuYW1lcyBhcmUgbm90IGFsbG93ZWQgaW4gZW51bXMuXCIpLEFfY29tcHV0ZWRfcHJvcGVydHlfbmFtZV9pbl9hbl9hbWJpZW50X2NvbnRleHRfbXVzdF9yZWZlcl90b19hbl9leHByZXNzaW9uX3dob3NlX3R5cGVfaXNfYV9saXRlcmFsX3R5cGVfb3JfYV91bmlxdWVfc3ltYm9sX3R5cGU6cigxMTY1LDEsXCJBX2NvbXB1dGVkX3Byb3BlcnR5X25hbWVfaW5fYW5fYW1iaWVudF9jb250ZXh0X211c3RfcmVmZXJfdG9fYW5fZXhwcmVzc2lvbl93aG9zZV90eXBlX2lzX2FfbGl0ZXJhbF90XzExNjVcIixcIkEgY29tcHV0ZWQgcHJvcGVydHkgbmFtZSBpbiBhbiBhbWJpZW50IGNvbnRleHQgbXVzdCByZWZlciB0byBhbiBleHByZXNzaW9uIHdob3NlIHR5cGUgaXMgYSBsaXRlcmFsIHR5cGUgb3IgYSAndW5pcXVlIHN5bWJvbCcgdHlwZS5cIiksQV9jb21wdXRlZF9wcm9wZXJ0eV9uYW1lX2luX2FfY2xhc3NfcHJvcGVydHlfZGVjbGFyYXRpb25fbXVzdF9oYXZlX2Ffc2ltcGxlX2xpdGVyYWxfdHlwZV9vcl9hX3VuaXF1ZV9zeW1ib2xfdHlwZTpyKDExNjYsMSxcIkFfY29tcHV0ZWRfcHJvcGVydHlfbmFtZV9pbl9hX2NsYXNzX3Byb3BlcnR5X2RlY2xhcmF0aW9uX211c3RfaGF2ZV9hX3NpbXBsZV9saXRlcmFsX3R5cGVfb3JfYV91bmlxdWVfMTE2NlwiLFwiQSBjb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGluIGEgY2xhc3MgcHJvcGVydHkgZGVjbGFyYXRpb24gbXVzdCBoYXZlIGEgc2ltcGxlIGxpdGVyYWwgdHlwZSBvciBhICd1bmlxdWUgc3ltYm9sJyB0eXBlLlwiKSxBX2NvbXB1dGVkX3Byb3BlcnR5X25hbWVfaW5fYV9tZXRob2Rfb3ZlcmxvYWRfbXVzdF9yZWZlcl90b19hbl9leHByZXNzaW9uX3dob3NlX3R5cGVfaXNfYV9saXRlcmFsX3R5cGVfb3JfYV91bmlxdWVfc3ltYm9sX3R5cGU6cigxMTY4LDEsXCJBX2NvbXB1dGVkX3Byb3BlcnR5X25hbWVfaW5fYV9tZXRob2Rfb3ZlcmxvYWRfbXVzdF9yZWZlcl90b19hbl9leHByZXNzaW9uX3dob3NlX3R5cGVfaXNfYV9saXRlcmFsX3R5XzExNjhcIixcIkEgY29tcHV0ZWQgcHJvcGVydHkgbmFtZSBpbiBhIG1ldGhvZCBvdmVybG9hZCBtdXN0IHJlZmVyIHRvIGFuIGV4cHJlc3Npb24gd2hvc2UgdHlwZSBpcyBhIGxpdGVyYWwgdHlwZSBvciBhICd1bmlxdWUgc3ltYm9sJyB0eXBlLlwiKSxBX2NvbXB1dGVkX3Byb3BlcnR5X25hbWVfaW5fYW5faW50ZXJmYWNlX211c3RfcmVmZXJfdG9fYW5fZXhwcmVzc2lvbl93aG9zZV90eXBlX2lzX2FfbGl0ZXJhbF90eXBlX29yX2FfdW5pcXVlX3N5bWJvbF90eXBlOnIoMTE2OSwxLFwiQV9jb21wdXRlZF9wcm9wZXJ0eV9uYW1lX2luX2FuX2ludGVyZmFjZV9tdXN0X3JlZmVyX3RvX2FuX2V4cHJlc3Npb25fd2hvc2VfdHlwZV9pc19hX2xpdGVyYWxfdHlwZV9vcl8xMTY5XCIsXCJBIGNvbXB1dGVkIHByb3BlcnR5IG5hbWUgaW4gYW4gaW50ZXJmYWNlIG11c3QgcmVmZXIgdG8gYW4gZXhwcmVzc2lvbiB3aG9zZSB0eXBlIGlzIGEgbGl0ZXJhbCB0eXBlIG9yIGEgJ3VuaXF1ZSBzeW1ib2wnIHR5cGUuXCIpLEFfY29tcHV0ZWRfcHJvcGVydHlfbmFtZV9pbl9hX3R5cGVfbGl0ZXJhbF9tdXN0X3JlZmVyX3RvX2FuX2V4cHJlc3Npb25fd2hvc2VfdHlwZV9pc19hX2xpdGVyYWxfdHlwZV9vcl9hX3VuaXF1ZV9zeW1ib2xfdHlwZTpyKDExNzAsMSxcIkFfY29tcHV0ZWRfcHJvcGVydHlfbmFtZV9pbl9hX3R5cGVfbGl0ZXJhbF9tdXN0X3JlZmVyX3RvX2FuX2V4cHJlc3Npb25fd2hvc2VfdHlwZV9pc19hX2xpdGVyYWxfdHlwZV9fMTE3MFwiLFwiQSBjb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGluIGEgdHlwZSBsaXRlcmFsIG11c3QgcmVmZXIgdG8gYW4gZXhwcmVzc2lvbiB3aG9zZSB0eXBlIGlzIGEgbGl0ZXJhbCB0eXBlIG9yIGEgJ3VuaXF1ZSBzeW1ib2wnIHR5cGUuXCIpLEFfY29tbWFfZXhwcmVzc2lvbl9pc19ub3RfYWxsb3dlZF9pbl9hX2NvbXB1dGVkX3Byb3BlcnR5X25hbWU6cigxMTcxLDEsXCJBX2NvbW1hX2V4cHJlc3Npb25faXNfbm90X2FsbG93ZWRfaW5fYV9jb21wdXRlZF9wcm9wZXJ0eV9uYW1lXzExNzFcIixcIkEgY29tbWEgZXhwcmVzc2lvbiBpcyBub3QgYWxsb3dlZCBpbiBhIGNvbXB1dGVkIHByb3BlcnR5IG5hbWUuXCIpLGV4dGVuZHNfY2xhdXNlX2FscmVhZHlfc2VlbjpyKDExNzIsMSxcImV4dGVuZHNfY2xhdXNlX2FscmVhZHlfc2Vlbl8xMTcyXCIsXCInZXh0ZW5kcycgY2xhdXNlIGFscmVhZHkgc2Vlbi5cIiksZXh0ZW5kc19jbGF1c2VfbXVzdF9wcmVjZWRlX2ltcGxlbWVudHNfY2xhdXNlOnIoMTE3MywxLFwiZXh0ZW5kc19jbGF1c2VfbXVzdF9wcmVjZWRlX2ltcGxlbWVudHNfY2xhdXNlXzExNzNcIixcIidleHRlbmRzJyBjbGF1c2UgbXVzdCBwcmVjZWRlICdpbXBsZW1lbnRzJyBjbGF1c2UuXCIpLENsYXNzZXNfY2FuX29ubHlfZXh0ZW5kX2Ffc2luZ2xlX2NsYXNzOnIoMTE3NCwxLFwiQ2xhc3Nlc19jYW5fb25seV9leHRlbmRfYV9zaW5nbGVfY2xhc3NfMTE3NFwiLFwiQ2xhc3NlcyBjYW4gb25seSBleHRlbmQgYSBzaW5nbGUgY2xhc3MuXCIpLGltcGxlbWVudHNfY2xhdXNlX2FscmVhZHlfc2VlbjpyKDExNzUsMSxcImltcGxlbWVudHNfY2xhdXNlX2FscmVhZHlfc2Vlbl8xMTc1XCIsXCInaW1wbGVtZW50cycgY2xhdXNlIGFscmVhZHkgc2Vlbi5cIiksSW50ZXJmYWNlX2RlY2xhcmF0aW9uX2Nhbm5vdF9oYXZlX2ltcGxlbWVudHNfY2xhdXNlOnIoMTE3NiwxLFwiSW50ZXJmYWNlX2RlY2xhcmF0aW9uX2Nhbm5vdF9oYXZlX2ltcGxlbWVudHNfY2xhdXNlXzExNzZcIixcIkludGVyZmFjZSBkZWNsYXJhdGlvbiBjYW5ub3QgaGF2ZSAnaW1wbGVtZW50cycgY2xhdXNlLlwiKSxCaW5hcnlfZGlnaXRfZXhwZWN0ZWQ6cigxMTc3LDEsXCJCaW5hcnlfZGlnaXRfZXhwZWN0ZWRfMTE3N1wiLFwiQmluYXJ5IGRpZ2l0IGV4cGVjdGVkLlwiKSxPY3RhbF9kaWdpdF9leHBlY3RlZDpyKDExNzgsMSxcIk9jdGFsX2RpZ2l0X2V4cGVjdGVkXzExNzhcIixcIk9jdGFsIGRpZ2l0IGV4cGVjdGVkLlwiKSxVbmV4cGVjdGVkX3Rva2VuX2V4cGVjdGVkOnIoMTE3OSwxLFwiVW5leHBlY3RlZF90b2tlbl9leHBlY3RlZF8xMTc5XCIsXCJVbmV4cGVjdGVkIHRva2VuLiAneycgZXhwZWN0ZWQuXCIpLFByb3BlcnR5X2Rlc3RydWN0dXJpbmdfcGF0dGVybl9leHBlY3RlZDpyKDExODAsMSxcIlByb3BlcnR5X2Rlc3RydWN0dXJpbmdfcGF0dGVybl9leHBlY3RlZF8xMTgwXCIsXCJQcm9wZXJ0eSBkZXN0cnVjdHVyaW5nIHBhdHRlcm4gZXhwZWN0ZWQuXCIpLEFycmF5X2VsZW1lbnRfZGVzdHJ1Y3R1cmluZ19wYXR0ZXJuX2V4cGVjdGVkOnIoMTE4MSwxLFwiQXJyYXlfZWxlbWVudF9kZXN0cnVjdHVyaW5nX3BhdHRlcm5fZXhwZWN0ZWRfMTE4MVwiLFwiQXJyYXkgZWxlbWVudCBkZXN0cnVjdHVyaW5nIHBhdHRlcm4gZXhwZWN0ZWQuXCIpLEFfZGVzdHJ1Y3R1cmluZ19kZWNsYXJhdGlvbl9tdXN0X2hhdmVfYW5faW5pdGlhbGl6ZXI6cigxMTgyLDEsXCJBX2Rlc3RydWN0dXJpbmdfZGVjbGFyYXRpb25fbXVzdF9oYXZlX2FuX2luaXRpYWxpemVyXzExODJcIixcIkEgZGVzdHJ1Y3R1cmluZyBkZWNsYXJhdGlvbiBtdXN0IGhhdmUgYW4gaW5pdGlhbGl6ZXIuXCIpLEFuX2ltcGxlbWVudGF0aW9uX2Nhbm5vdF9iZV9kZWNsYXJlZF9pbl9hbWJpZW50X2NvbnRleHRzOnIoMTE4MywxLFwiQW5faW1wbGVtZW50YXRpb25fY2Fubm90X2JlX2RlY2xhcmVkX2luX2FtYmllbnRfY29udGV4dHNfMTE4M1wiLFwiQW4gaW1wbGVtZW50YXRpb24gY2Fubm90IGJlIGRlY2xhcmVkIGluIGFtYmllbnQgY29udGV4dHMuXCIpLE1vZGlmaWVyc19jYW5ub3RfYXBwZWFyX2hlcmU6cigxMTg0LDEsXCJNb2RpZmllcnNfY2Fubm90X2FwcGVhcl9oZXJlXzExODRcIixcIk1vZGlmaWVycyBjYW5ub3QgYXBwZWFyIGhlcmUuXCIpLE1lcmdlX2NvbmZsaWN0X21hcmtlcl9lbmNvdW50ZXJlZDpyKDExODUsMSxcIk1lcmdlX2NvbmZsaWN0X21hcmtlcl9lbmNvdW50ZXJlZF8xMTg1XCIsXCJNZXJnZSBjb25mbGljdCBtYXJrZXIgZW5jb3VudGVyZWQuXCIpLEFfcmVzdF9lbGVtZW50X2Nhbm5vdF9oYXZlX2FuX2luaXRpYWxpemVyOnIoMTE4NiwxLFwiQV9yZXN0X2VsZW1lbnRfY2Fubm90X2hhdmVfYW5faW5pdGlhbGl6ZXJfMTE4NlwiLFwiQSByZXN0IGVsZW1lbnQgY2Fubm90IGhhdmUgYW4gaW5pdGlhbGl6ZXIuXCIpLEFfcGFyYW1ldGVyX3Byb3BlcnR5X21heV9ub3RfYmVfZGVjbGFyZWRfdXNpbmdfYV9iaW5kaW5nX3BhdHRlcm46cigxMTg3LDEsXCJBX3BhcmFtZXRlcl9wcm9wZXJ0eV9tYXlfbm90X2JlX2RlY2xhcmVkX3VzaW5nX2FfYmluZGluZ19wYXR0ZXJuXzExODdcIixcIkEgcGFyYW1ldGVyIHByb3BlcnR5IG1heSBub3QgYmUgZGVjbGFyZWQgdXNpbmcgYSBiaW5kaW5nIHBhdHRlcm4uXCIpLE9ubHlfYV9zaW5nbGVfdmFyaWFibGVfZGVjbGFyYXRpb25faXNfYWxsb3dlZF9pbl9hX2Zvcl9vZl9zdGF0ZW1lbnQ6cigxMTg4LDEsXCJPbmx5X2Ffc2luZ2xlX3ZhcmlhYmxlX2RlY2xhcmF0aW9uX2lzX2FsbG93ZWRfaW5fYV9mb3Jfb2Zfc3RhdGVtZW50XzExODhcIixcIk9ubHkgYSBzaW5nbGUgdmFyaWFibGUgZGVjbGFyYXRpb24gaXMgYWxsb3dlZCBpbiBhICdmb3IuLi5vZicgc3RhdGVtZW50LlwiKSxUaGVfdmFyaWFibGVfZGVjbGFyYXRpb25fb2ZfYV9mb3JfaW5fc3RhdGVtZW50X2Nhbm5vdF9oYXZlX2FuX2luaXRpYWxpemVyOnIoMTE4OSwxLFwiVGhlX3ZhcmlhYmxlX2RlY2xhcmF0aW9uX29mX2FfZm9yX2luX3N0YXRlbWVudF9jYW5ub3RfaGF2ZV9hbl9pbml0aWFsaXplcl8xMTg5XCIsXCJUaGUgdmFyaWFibGUgZGVjbGFyYXRpb24gb2YgYSAnZm9yLi4uaW4nIHN0YXRlbWVudCBjYW5ub3QgaGF2ZSBhbiBpbml0aWFsaXplci5cIiksVGhlX3ZhcmlhYmxlX2RlY2xhcmF0aW9uX29mX2FfZm9yX29mX3N0YXRlbWVudF9jYW5ub3RfaGF2ZV9hbl9pbml0aWFsaXplcjpyKDExOTAsMSxcIlRoZV92YXJpYWJsZV9kZWNsYXJhdGlvbl9vZl9hX2Zvcl9vZl9zdGF0ZW1lbnRfY2Fubm90X2hhdmVfYW5faW5pdGlhbGl6ZXJfMTE5MFwiLFwiVGhlIHZhcmlhYmxlIGRlY2xhcmF0aW9uIG9mIGEgJ2Zvci4uLm9mJyBzdGF0ZW1lbnQgY2Fubm90IGhhdmUgYW4gaW5pdGlhbGl6ZXIuXCIpLEFuX2ltcG9ydF9kZWNsYXJhdGlvbl9jYW5ub3RfaGF2ZV9tb2RpZmllcnM6cigxMTkxLDEsXCJBbl9pbXBvcnRfZGVjbGFyYXRpb25fY2Fubm90X2hhdmVfbW9kaWZpZXJzXzExOTFcIixcIkFuIGltcG9ydCBkZWNsYXJhdGlvbiBjYW5ub3QgaGF2ZSBtb2RpZmllcnMuXCIpLE1vZHVsZV8wX2hhc19ub19kZWZhdWx0X2V4cG9ydDpyKDExOTIsMSxcIk1vZHVsZV8wX2hhc19ub19kZWZhdWx0X2V4cG9ydF8xMTkyXCIsXCJNb2R1bGUgJ3swfScgaGFzIG5vIGRlZmF1bHQgZXhwb3J0LlwiKSxBbl9leHBvcnRfZGVjbGFyYXRpb25fY2Fubm90X2hhdmVfbW9kaWZpZXJzOnIoMTE5MywxLFwiQW5fZXhwb3J0X2RlY2xhcmF0aW9uX2Nhbm5vdF9oYXZlX21vZGlmaWVyc18xMTkzXCIsXCJBbiBleHBvcnQgZGVjbGFyYXRpb24gY2Fubm90IGhhdmUgbW9kaWZpZXJzLlwiKSxFeHBvcnRfZGVjbGFyYXRpb25zX2FyZV9ub3RfcGVybWl0dGVkX2luX2FfbmFtZXNwYWNlOnIoMTE5NCwxLFwiRXhwb3J0X2RlY2xhcmF0aW9uc19hcmVfbm90X3Blcm1pdHRlZF9pbl9hX25hbWVzcGFjZV8xMTk0XCIsXCJFeHBvcnQgZGVjbGFyYXRpb25zIGFyZSBub3QgcGVybWl0dGVkIGluIGEgbmFtZXNwYWNlLlwiKSxleHBvcnRfQXN0ZXJpc2tfZG9lc19ub3RfcmVfZXhwb3J0X2FfZGVmYXVsdDpyKDExOTUsMSxcImV4cG9ydF9Bc3Rlcmlza19kb2VzX25vdF9yZV9leHBvcnRfYV9kZWZhdWx0XzExOTVcIixcIidleHBvcnQgKicgZG9lcyBub3QgcmUtZXhwb3J0IGEgZGVmYXVsdC5cIiksQ2F0Y2hfY2xhdXNlX3ZhcmlhYmxlX3R5cGVfYW5ub3RhdGlvbl9tdXN0X2JlX2FueV9vcl91bmtub3duX2lmX3NwZWNpZmllZDpyKDExOTYsMSxcIkNhdGNoX2NsYXVzZV92YXJpYWJsZV90eXBlX2Fubm90YXRpb25fbXVzdF9iZV9hbnlfb3JfdW5rbm93bl9pZl9zcGVjaWZpZWRfMTE5NlwiLFwiQ2F0Y2ggY2xhdXNlIHZhcmlhYmxlIHR5cGUgYW5ub3RhdGlvbiBtdXN0IGJlICdhbnknIG9yICd1bmtub3duJyBpZiBzcGVjaWZpZWQuXCIpLENhdGNoX2NsYXVzZV92YXJpYWJsZV9jYW5ub3RfaGF2ZV9hbl9pbml0aWFsaXplcjpyKDExOTcsMSxcIkNhdGNoX2NsYXVzZV92YXJpYWJsZV9jYW5ub3RfaGF2ZV9hbl9pbml0aWFsaXplcl8xMTk3XCIsXCJDYXRjaCBjbGF1c2UgdmFyaWFibGUgY2Fubm90IGhhdmUgYW4gaW5pdGlhbGl6ZXIuXCIpLEFuX2V4dGVuZGVkX1VuaWNvZGVfZXNjYXBlX3ZhbHVlX211c3RfYmVfYmV0d2Vlbl8weDBfYW5kXzB4MTBGRkZGX2luY2x1c2l2ZTpyKDExOTgsMSxcIkFuX2V4dGVuZGVkX1VuaWNvZGVfZXNjYXBlX3ZhbHVlX211c3RfYmVfYmV0d2Vlbl8weDBfYW5kXzB4MTBGRkZGX2luY2x1c2l2ZV8xMTk4XCIsXCJBbiBleHRlbmRlZCBVbmljb2RlIGVzY2FwZSB2YWx1ZSBtdXN0IGJlIGJldHdlZW4gMHgwIGFuZCAweDEwRkZGRiBpbmNsdXNpdmUuXCIpLFVudGVybWluYXRlZF9Vbmljb2RlX2VzY2FwZV9zZXF1ZW5jZTpyKDExOTksMSxcIlVudGVybWluYXRlZF9Vbmljb2RlX2VzY2FwZV9zZXF1ZW5jZV8xMTk5XCIsXCJVbnRlcm1pbmF0ZWQgVW5pY29kZSBlc2NhcGUgc2VxdWVuY2UuXCIpLExpbmVfdGVybWluYXRvcl9ub3RfcGVybWl0dGVkX2JlZm9yZV9hcnJvdzpyKDEyMDAsMSxcIkxpbmVfdGVybWluYXRvcl9ub3RfcGVybWl0dGVkX2JlZm9yZV9hcnJvd18xMjAwXCIsXCJMaW5lIHRlcm1pbmF0b3Igbm90IHBlcm1pdHRlZCBiZWZvcmUgYXJyb3cuXCIpLEltcG9ydF9hc3NpZ25tZW50X2Nhbm5vdF9iZV91c2VkX3doZW5fdGFyZ2V0aW5nX0VDTUFTY3JpcHRfbW9kdWxlc19Db25zaWRlcl91c2luZ19pbXBvcnRfQXN0ZXJpc2tfYXNfbnNfZnJvbV9tb2RfaW1wb3J0X2FfZnJvbV9tb2RfaW1wb3J0X2RfZnJvbV9tb2Rfb3JfYW5vdGhlcl9tb2R1bGVfZm9ybWF0X2luc3RlYWQ6cigxMjAyLDEsXCJJbXBvcnRfYXNzaWdubWVudF9jYW5ub3RfYmVfdXNlZF93aGVuX3RhcmdldGluZ19FQ01BU2NyaXB0X21vZHVsZXNfQ29uc2lkZXJfdXNpbmdfaW1wb3J0X0FzdGVyaXNrX2FzXzEyMDJcIixgSW1wb3J0IGFzc2lnbm1lbnQgY2Fubm90IGJlIHVzZWQgd2hlbiB0YXJnZXRpbmcgRUNNQVNjcmlwdCBtb2R1bGVzLiBDb25zaWRlciB1c2luZyAnaW1wb3J0ICogYXMgbnMgZnJvbSBcIm1vZFwiJywgJ2ltcG9ydCB7YX0gZnJvbSBcIm1vZFwiJywgJ2ltcG9ydCBkIGZyb20gXCJtb2RcIicsIG9yIGFub3RoZXIgbW9kdWxlIGZvcm1hdCBpbnN0ZWFkLmApLEV4cG9ydF9hc3NpZ25tZW50X2Nhbm5vdF9iZV91c2VkX3doZW5fdGFyZ2V0aW5nX0VDTUFTY3JpcHRfbW9kdWxlc19Db25zaWRlcl91c2luZ19leHBvcnRfZGVmYXVsdF9vcl9hbm90aGVyX21vZHVsZV9mb3JtYXRfaW5zdGVhZDpyKDEyMDMsMSxcIkV4cG9ydF9hc3NpZ25tZW50X2Nhbm5vdF9iZV91c2VkX3doZW5fdGFyZ2V0aW5nX0VDTUFTY3JpcHRfbW9kdWxlc19Db25zaWRlcl91c2luZ19leHBvcnRfZGVmYXVsdF9vcl9fMTIwM1wiLFwiRXhwb3J0IGFzc2lnbm1lbnQgY2Fubm90IGJlIHVzZWQgd2hlbiB0YXJnZXRpbmcgRUNNQVNjcmlwdCBtb2R1bGVzLiBDb25zaWRlciB1c2luZyAnZXhwb3J0IGRlZmF1bHQnIG9yIGFub3RoZXIgbW9kdWxlIGZvcm1hdCBpbnN0ZWFkLlwiKSxSZV9leHBvcnRpbmdfYV90eXBlX3doZW5fMF9pc19lbmFibGVkX3JlcXVpcmVzX3VzaW5nX2V4cG9ydF90eXBlOnIoMTIwNSwxLFwiUmVfZXhwb3J0aW5nX2FfdHlwZV93aGVuXzBfaXNfZW5hYmxlZF9yZXF1aXJlc191c2luZ19leHBvcnRfdHlwZV8xMjA1XCIsXCJSZS1leHBvcnRpbmcgYSB0eXBlIHdoZW4gJ3swfScgaXMgZW5hYmxlZCByZXF1aXJlcyB1c2luZyAnZXhwb3J0IHR5cGUnLlwiKSxEZWNvcmF0b3JzX2FyZV9ub3RfdmFsaWRfaGVyZTpyKDEyMDYsMSxcIkRlY29yYXRvcnNfYXJlX25vdF92YWxpZF9oZXJlXzEyMDZcIixcIkRlY29yYXRvcnMgYXJlIG5vdCB2YWxpZCBoZXJlLlwiKSxEZWNvcmF0b3JzX2Nhbm5vdF9iZV9hcHBsaWVkX3RvX211bHRpcGxlX2dldF9TbGFzaHNldF9hY2Nlc3NvcnNfb2ZfdGhlX3NhbWVfbmFtZTpyKDEyMDcsMSxcIkRlY29yYXRvcnNfY2Fubm90X2JlX2FwcGxpZWRfdG9fbXVsdGlwbGVfZ2V0X1NsYXNoc2V0X2FjY2Vzc29yc19vZl90aGVfc2FtZV9uYW1lXzEyMDdcIixcIkRlY29yYXRvcnMgY2Fubm90IGJlIGFwcGxpZWQgdG8gbXVsdGlwbGUgZ2V0L3NldCBhY2Nlc3NvcnMgb2YgdGhlIHNhbWUgbmFtZS5cIiksSW52YWxpZF9vcHRpb25hbF9jaGFpbl9mcm9tX25ld19leHByZXNzaW9uX0RpZF95b3VfbWVhbl90b19jYWxsXzA6cigxMjA5LDEsXCJJbnZhbGlkX29wdGlvbmFsX2NoYWluX2Zyb21fbmV3X2V4cHJlc3Npb25fRGlkX3lvdV9tZWFuX3RvX2NhbGxfMF8xMjA5XCIsXCJJbnZhbGlkIG9wdGlvbmFsIGNoYWluIGZyb20gbmV3IGV4cHJlc3Npb24uIERpZCB5b3UgbWVhbiB0byBjYWxsICd7MH0oKSc/XCIpLENvZGVfY29udGFpbmVkX2luX2FfY2xhc3NfaXNfZXZhbHVhdGVkX2luX0phdmFTY3JpcHRfc19zdHJpY3RfbW9kZV93aGljaF9kb2VzX25vdF9hbGxvd190aGlzX3VzZV9vZl8wX0Zvcl9tb3JlX2luZm9ybWF0aW9uX3NlZV9odHRwc19Db2xvbl9TbGFzaF9TbGFzaGRldmVsb3Blcl9tb3ppbGxhX29yZ19TbGFzaGVuX1VTX1NsYXNoZG9jc19TbGFzaFdlYl9TbGFzaEphdmFTY3JpcHRfU2xhc2hSZWZlcmVuY2VfU2xhc2hTdHJpY3RfbW9kZTpyKDEyMTAsMSxcIkNvZGVfY29udGFpbmVkX2luX2FfY2xhc3NfaXNfZXZhbHVhdGVkX2luX0phdmFTY3JpcHRfc19zdHJpY3RfbW9kZV93aGljaF9kb2VzX25vdF9hbGxvd190aGlzX3VzZV9vZl9fMTIxMFwiLFwiQ29kZSBjb250YWluZWQgaW4gYSBjbGFzcyBpcyBldmFsdWF0ZWQgaW4gSmF2YVNjcmlwdCdzIHN0cmljdCBtb2RlIHdoaWNoIGRvZXMgbm90IGFsbG93IHRoaXMgdXNlIG9mICd7MH0nLiBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL1N0cmljdF9tb2RlLlwiKSxBX2NsYXNzX2RlY2xhcmF0aW9uX3dpdGhvdXRfdGhlX2RlZmF1bHRfbW9kaWZpZXJfbXVzdF9oYXZlX2FfbmFtZTpyKDEyMTEsMSxcIkFfY2xhc3NfZGVjbGFyYXRpb25fd2l0aG91dF90aGVfZGVmYXVsdF9tb2RpZmllcl9tdXN0X2hhdmVfYV9uYW1lXzEyMTFcIixcIkEgY2xhc3MgZGVjbGFyYXRpb24gd2l0aG91dCB0aGUgJ2RlZmF1bHQnIG1vZGlmaWVyIG11c3QgaGF2ZSBhIG5hbWUuXCIpLElkZW50aWZpZXJfZXhwZWN0ZWRfMF9pc19hX3Jlc2VydmVkX3dvcmRfaW5fc3RyaWN0X21vZGU6cigxMjEyLDEsXCJJZGVudGlmaWVyX2V4cGVjdGVkXzBfaXNfYV9yZXNlcnZlZF93b3JkX2luX3N0cmljdF9tb2RlXzEyMTJcIixcIklkZW50aWZpZXIgZXhwZWN0ZWQuICd7MH0nIGlzIGEgcmVzZXJ2ZWQgd29yZCBpbiBzdHJpY3QgbW9kZS5cIiksSWRlbnRpZmllcl9leHBlY3RlZF8wX2lzX2FfcmVzZXJ2ZWRfd29yZF9pbl9zdHJpY3RfbW9kZV9DbGFzc19kZWZpbml0aW9uc19hcmVfYXV0b21hdGljYWxseV9pbl9zdHJpY3RfbW9kZTpyKDEyMTMsMSxcIklkZW50aWZpZXJfZXhwZWN0ZWRfMF9pc19hX3Jlc2VydmVkX3dvcmRfaW5fc3RyaWN0X21vZGVfQ2xhc3NfZGVmaW5pdGlvbnNfYXJlX2F1dG9tYXRpY2FsbHlfaW5fc3RyaWNfMTIxM1wiLFwiSWRlbnRpZmllciBleHBlY3RlZC4gJ3swfScgaXMgYSByZXNlcnZlZCB3b3JkIGluIHN0cmljdCBtb2RlLiBDbGFzcyBkZWZpbml0aW9ucyBhcmUgYXV0b21hdGljYWxseSBpbiBzdHJpY3QgbW9kZS5cIiksSWRlbnRpZmllcl9leHBlY3RlZF8wX2lzX2FfcmVzZXJ2ZWRfd29yZF9pbl9zdHJpY3RfbW9kZV9Nb2R1bGVzX2FyZV9hdXRvbWF0aWNhbGx5X2luX3N0cmljdF9tb2RlOnIoMTIxNCwxLFwiSWRlbnRpZmllcl9leHBlY3RlZF8wX2lzX2FfcmVzZXJ2ZWRfd29yZF9pbl9zdHJpY3RfbW9kZV9Nb2R1bGVzX2FyZV9hdXRvbWF0aWNhbGx5X2luX3N0cmljdF9tb2RlXzEyMTRcIixcIklkZW50aWZpZXIgZXhwZWN0ZWQuICd7MH0nIGlzIGEgcmVzZXJ2ZWQgd29yZCBpbiBzdHJpY3QgbW9kZS4gTW9kdWxlcyBhcmUgYXV0b21hdGljYWxseSBpbiBzdHJpY3QgbW9kZS5cIiksSW52YWxpZF91c2Vfb2ZfMF9Nb2R1bGVzX2FyZV9hdXRvbWF0aWNhbGx5X2luX3N0cmljdF9tb2RlOnIoMTIxNSwxLFwiSW52YWxpZF91c2Vfb2ZfMF9Nb2R1bGVzX2FyZV9hdXRvbWF0aWNhbGx5X2luX3N0cmljdF9tb2RlXzEyMTVcIixcIkludmFsaWQgdXNlIG9mICd7MH0nLiBNb2R1bGVzIGFyZSBhdXRvbWF0aWNhbGx5IGluIHN0cmljdCBtb2RlLlwiKSxJZGVudGlmaWVyX2V4cGVjdGVkX2VzTW9kdWxlX2lzX3Jlc2VydmVkX2FzX2FuX2V4cG9ydGVkX21hcmtlcl93aGVuX3RyYW5zZm9ybWluZ19FQ01BU2NyaXB0X21vZHVsZXM6cigxMjE2LDEsXCJJZGVudGlmaWVyX2V4cGVjdGVkX2VzTW9kdWxlX2lzX3Jlc2VydmVkX2FzX2FuX2V4cG9ydGVkX21hcmtlcl93aGVuX3RyYW5zZm9ybWluZ19FQ01BU2NyaXB0X21vZHVsZXNfMTIxNlwiLFwiSWRlbnRpZmllciBleHBlY3RlZC4gJ19fZXNNb2R1bGUnIGlzIHJlc2VydmVkIGFzIGFuIGV4cG9ydGVkIG1hcmtlciB3aGVuIHRyYW5zZm9ybWluZyBFQ01BU2NyaXB0IG1vZHVsZXMuXCIpLEV4cG9ydF9hc3NpZ25tZW50X2lzX25vdF9zdXBwb3J0ZWRfd2hlbl9tb2R1bGVfZmxhZ19pc19zeXN0ZW06cigxMjE4LDEsXCJFeHBvcnRfYXNzaWdubWVudF9pc19ub3Rfc3VwcG9ydGVkX3doZW5fbW9kdWxlX2ZsYWdfaXNfc3lzdGVtXzEyMThcIixcIkV4cG9ydCBhc3NpZ25tZW50IGlzIG5vdCBzdXBwb3J0ZWQgd2hlbiAnLS1tb2R1bGUnIGZsYWcgaXMgJ3N5c3RlbScuXCIpLEdlbmVyYXRvcnNfYXJlX25vdF9hbGxvd2VkX2luX2FuX2FtYmllbnRfY29udGV4dDpyKDEyMjEsMSxcIkdlbmVyYXRvcnNfYXJlX25vdF9hbGxvd2VkX2luX2FuX2FtYmllbnRfY29udGV4dF8xMjIxXCIsXCJHZW5lcmF0b3JzIGFyZSBub3QgYWxsb3dlZCBpbiBhbiBhbWJpZW50IGNvbnRleHQuXCIpLEFuX292ZXJsb2FkX3NpZ25hdHVyZV9jYW5ub3RfYmVfZGVjbGFyZWRfYXNfYV9nZW5lcmF0b3I6cigxMjIyLDEsXCJBbl9vdmVybG9hZF9zaWduYXR1cmVfY2Fubm90X2JlX2RlY2xhcmVkX2FzX2FfZ2VuZXJhdG9yXzEyMjJcIixcIkFuIG92ZXJsb2FkIHNpZ25hdHVyZSBjYW5ub3QgYmUgZGVjbGFyZWQgYXMgYSBnZW5lcmF0b3IuXCIpLF8wX3RhZ19hbHJlYWR5X3NwZWNpZmllZDpyKDEyMjMsMSxcIl8wX3RhZ19hbHJlYWR5X3NwZWNpZmllZF8xMjIzXCIsXCInezB9JyB0YWcgYWxyZWFkeSBzcGVjaWZpZWQuXCIpLFNpZ25hdHVyZV8wX211c3RfYmVfYV90eXBlX3ByZWRpY2F0ZTpyKDEyMjQsMSxcIlNpZ25hdHVyZV8wX211c3RfYmVfYV90eXBlX3ByZWRpY2F0ZV8xMjI0XCIsXCJTaWduYXR1cmUgJ3swfScgbXVzdCBiZSBhIHR5cGUgcHJlZGljYXRlLlwiKSxDYW5ub3RfZmluZF9wYXJhbWV0ZXJfMDpyKDEyMjUsMSxcIkNhbm5vdF9maW5kX3BhcmFtZXRlcl8wXzEyMjVcIixcIkNhbm5vdCBmaW5kIHBhcmFtZXRlciAnezB9Jy5cIiksVHlwZV9wcmVkaWNhdGVfMF9pc19ub3RfYXNzaWduYWJsZV90b18xOnIoMTIyNiwxLFwiVHlwZV9wcmVkaWNhdGVfMF9pc19ub3RfYXNzaWduYWJsZV90b18xXzEyMjZcIixcIlR5cGUgcHJlZGljYXRlICd7MH0nIGlzIG5vdCBhc3NpZ25hYmxlIHRvICd7MX0nLlwiKSxQYXJhbWV0ZXJfMF9pc19ub3RfaW5fdGhlX3NhbWVfcG9zaXRpb25fYXNfcGFyYW1ldGVyXzE6cigxMjI3LDEsXCJQYXJhbWV0ZXJfMF9pc19ub3RfaW5fdGhlX3NhbWVfcG9zaXRpb25fYXNfcGFyYW1ldGVyXzFfMTIyN1wiLFwiUGFyYW1ldGVyICd7MH0nIGlzIG5vdCBpbiB0aGUgc2FtZSBwb3NpdGlvbiBhcyBwYXJhbWV0ZXIgJ3sxfScuXCIpLEFfdHlwZV9wcmVkaWNhdGVfaXNfb25seV9hbGxvd2VkX2luX3JldHVybl90eXBlX3Bvc2l0aW9uX2Zvcl9mdW5jdGlvbnNfYW5kX21ldGhvZHM6cigxMjI4LDEsXCJBX3R5cGVfcHJlZGljYXRlX2lzX29ubHlfYWxsb3dlZF9pbl9yZXR1cm5fdHlwZV9wb3NpdGlvbl9mb3JfZnVuY3Rpb25zX2FuZF9tZXRob2RzXzEyMjhcIixcIkEgdHlwZSBwcmVkaWNhdGUgaXMgb25seSBhbGxvd2VkIGluIHJldHVybiB0eXBlIHBvc2l0aW9uIGZvciBmdW5jdGlvbnMgYW5kIG1ldGhvZHMuXCIpLEFfdHlwZV9wcmVkaWNhdGVfY2Fubm90X3JlZmVyZW5jZV9hX3Jlc3RfcGFyYW1ldGVyOnIoMTIyOSwxLFwiQV90eXBlX3ByZWRpY2F0ZV9jYW5ub3RfcmVmZXJlbmNlX2FfcmVzdF9wYXJhbWV0ZXJfMTIyOVwiLFwiQSB0eXBlIHByZWRpY2F0ZSBjYW5ub3QgcmVmZXJlbmNlIGEgcmVzdCBwYXJhbWV0ZXIuXCIpLEFfdHlwZV9wcmVkaWNhdGVfY2Fubm90X3JlZmVyZW5jZV9lbGVtZW50XzBfaW5fYV9iaW5kaW5nX3BhdHRlcm46cigxMjMwLDEsXCJBX3R5cGVfcHJlZGljYXRlX2Nhbm5vdF9yZWZlcmVuY2VfZWxlbWVudF8wX2luX2FfYmluZGluZ19wYXR0ZXJuXzEyMzBcIixcIkEgdHlwZSBwcmVkaWNhdGUgY2Fubm90IHJlZmVyZW5jZSBlbGVtZW50ICd7MH0nIGluIGEgYmluZGluZyBwYXR0ZXJuLlwiKSxBbl9leHBvcnRfYXNzaWdubWVudF9tdXN0X2JlX2F0X3RoZV90b3BfbGV2ZWxfb2ZfYV9maWxlX29yX21vZHVsZV9kZWNsYXJhdGlvbjpyKDEyMzEsMSxcIkFuX2V4cG9ydF9hc3NpZ25tZW50X211c3RfYmVfYXRfdGhlX3RvcF9sZXZlbF9vZl9hX2ZpbGVfb3JfbW9kdWxlX2RlY2xhcmF0aW9uXzEyMzFcIixcIkFuIGV4cG9ydCBhc3NpZ25tZW50IG11c3QgYmUgYXQgdGhlIHRvcCBsZXZlbCBvZiBhIGZpbGUgb3IgbW9kdWxlIGRlY2xhcmF0aW9uLlwiKSxBbl9pbXBvcnRfZGVjbGFyYXRpb25fY2FuX29ubHlfYmVfdXNlZF9hdF90aGVfdG9wX2xldmVsX29mX2FfbmFtZXNwYWNlX29yX21vZHVsZTpyKDEyMzIsMSxcIkFuX2ltcG9ydF9kZWNsYXJhdGlvbl9jYW5fb25seV9iZV91c2VkX2F0X3RoZV90b3BfbGV2ZWxfb2ZfYV9uYW1lc3BhY2Vfb3JfbW9kdWxlXzEyMzJcIixcIkFuIGltcG9ydCBkZWNsYXJhdGlvbiBjYW4gb25seSBiZSB1c2VkIGF0IHRoZSB0b3AgbGV2ZWwgb2YgYSBuYW1lc3BhY2Ugb3IgbW9kdWxlLlwiKSxBbl9leHBvcnRfZGVjbGFyYXRpb25fY2FuX29ubHlfYmVfdXNlZF9hdF90aGVfdG9wX2xldmVsX29mX2FfbmFtZXNwYWNlX29yX21vZHVsZTpyKDEyMzMsMSxcIkFuX2V4cG9ydF9kZWNsYXJhdGlvbl9jYW5fb25seV9iZV91c2VkX2F0X3RoZV90b3BfbGV2ZWxfb2ZfYV9uYW1lc3BhY2Vfb3JfbW9kdWxlXzEyMzNcIixcIkFuIGV4cG9ydCBkZWNsYXJhdGlvbiBjYW4gb25seSBiZSB1c2VkIGF0IHRoZSB0b3AgbGV2ZWwgb2YgYSBuYW1lc3BhY2Ugb3IgbW9kdWxlLlwiKSxBbl9hbWJpZW50X21vZHVsZV9kZWNsYXJhdGlvbl9pc19vbmx5X2FsbG93ZWRfYXRfdGhlX3RvcF9sZXZlbF9pbl9hX2ZpbGU6cigxMjM0LDEsXCJBbl9hbWJpZW50X21vZHVsZV9kZWNsYXJhdGlvbl9pc19vbmx5X2FsbG93ZWRfYXRfdGhlX3RvcF9sZXZlbF9pbl9hX2ZpbGVfMTIzNFwiLFwiQW4gYW1iaWVudCBtb2R1bGUgZGVjbGFyYXRpb24gaXMgb25seSBhbGxvd2VkIGF0IHRoZSB0b3AgbGV2ZWwgaW4gYSBmaWxlLlwiKSxBX25hbWVzcGFjZV9kZWNsYXJhdGlvbl9pc19vbmx5X2FsbG93ZWRfYXRfdGhlX3RvcF9sZXZlbF9vZl9hX25hbWVzcGFjZV9vcl9tb2R1bGU6cigxMjM1LDEsXCJBX25hbWVzcGFjZV9kZWNsYXJhdGlvbl9pc19vbmx5X2FsbG93ZWRfYXRfdGhlX3RvcF9sZXZlbF9vZl9hX25hbWVzcGFjZV9vcl9tb2R1bGVfMTIzNVwiLFwiQSBuYW1lc3BhY2UgZGVjbGFyYXRpb24gaXMgb25seSBhbGxvd2VkIGF0IHRoZSB0b3AgbGV2ZWwgb2YgYSBuYW1lc3BhY2Ugb3IgbW9kdWxlLlwiKSxUaGVfcmV0dXJuX3R5cGVfb2ZfYV9wcm9wZXJ0eV9kZWNvcmF0b3JfZnVuY3Rpb25fbXVzdF9iZV9laXRoZXJfdm9pZF9vcl9hbnk6cigxMjM2LDEsXCJUaGVfcmV0dXJuX3R5cGVfb2ZfYV9wcm9wZXJ0eV9kZWNvcmF0b3JfZnVuY3Rpb25fbXVzdF9iZV9laXRoZXJfdm9pZF9vcl9hbnlfMTIzNlwiLFwiVGhlIHJldHVybiB0eXBlIG9mIGEgcHJvcGVydHkgZGVjb3JhdG9yIGZ1bmN0aW9uIG11c3QgYmUgZWl0aGVyICd2b2lkJyBvciAnYW55Jy5cIiksVGhlX3JldHVybl90eXBlX29mX2FfcGFyYW1ldGVyX2RlY29yYXRvcl9mdW5jdGlvbl9tdXN0X2JlX2VpdGhlcl92b2lkX29yX2FueTpyKDEyMzcsMSxcIlRoZV9yZXR1cm5fdHlwZV9vZl9hX3BhcmFtZXRlcl9kZWNvcmF0b3JfZnVuY3Rpb25fbXVzdF9iZV9laXRoZXJfdm9pZF9vcl9hbnlfMTIzN1wiLFwiVGhlIHJldHVybiB0eXBlIG9mIGEgcGFyYW1ldGVyIGRlY29yYXRvciBmdW5jdGlvbiBtdXN0IGJlIGVpdGhlciAndm9pZCcgb3IgJ2FueScuXCIpLFVuYWJsZV90b19yZXNvbHZlX3NpZ25hdHVyZV9vZl9jbGFzc19kZWNvcmF0b3Jfd2hlbl9jYWxsZWRfYXNfYW5fZXhwcmVzc2lvbjpyKDEyMzgsMSxcIlVuYWJsZV90b19yZXNvbHZlX3NpZ25hdHVyZV9vZl9jbGFzc19kZWNvcmF0b3Jfd2hlbl9jYWxsZWRfYXNfYW5fZXhwcmVzc2lvbl8xMjM4XCIsXCJVbmFibGUgdG8gcmVzb2x2ZSBzaWduYXR1cmUgb2YgY2xhc3MgZGVjb3JhdG9yIHdoZW4gY2FsbGVkIGFzIGFuIGV4cHJlc3Npb24uXCIpLFVuYWJsZV90b19yZXNvbHZlX3NpZ25hdHVyZV9vZl9wYXJhbWV0ZXJfZGVjb3JhdG9yX3doZW5fY2FsbGVkX2FzX2FuX2V4cHJlc3Npb246cigxMjM5LDEsXCJVbmFibGVfdG9fcmVzb2x2ZV9zaWduYXR1cmVfb2ZfcGFyYW1ldGVyX2RlY29yYXRvcl93aGVuX2NhbGxlZF9hc19hbl9leHByZXNzaW9uXzEyMzlcIixcIlVuYWJsZSB0byByZXNvbHZlIHNpZ25hdHVyZSBvZiBwYXJhbWV0ZXIgZGVjb3JhdG9yIHdoZW4gY2FsbGVkIGFzIGFuIGV4cHJlc3Npb24uXCIpLFVuYWJsZV90b19yZXNvbHZlX3NpZ25hdHVyZV9vZl9wcm9wZXJ0eV9kZWNvcmF0b3Jfd2hlbl9jYWxsZWRfYXNfYW5fZXhwcmVzc2lvbjpyKDEyNDAsMSxcIlVuYWJsZV90b19yZXNvbHZlX3NpZ25hdHVyZV9vZl9wcm9wZXJ0eV9kZWNvcmF0b3Jfd2hlbl9jYWxsZWRfYXNfYW5fZXhwcmVzc2lvbl8xMjQwXCIsXCJVbmFibGUgdG8gcmVzb2x2ZSBzaWduYXR1cmUgb2YgcHJvcGVydHkgZGVjb3JhdG9yIHdoZW4gY2FsbGVkIGFzIGFuIGV4cHJlc3Npb24uXCIpLFVuYWJsZV90b19yZXNvbHZlX3NpZ25hdHVyZV9vZl9tZXRob2RfZGVjb3JhdG9yX3doZW5fY2FsbGVkX2FzX2FuX2V4cHJlc3Npb246cigxMjQxLDEsXCJVbmFibGVfdG9fcmVzb2x2ZV9zaWduYXR1cmVfb2ZfbWV0aG9kX2RlY29yYXRvcl93aGVuX2NhbGxlZF9hc19hbl9leHByZXNzaW9uXzEyNDFcIixcIlVuYWJsZSB0byByZXNvbHZlIHNpZ25hdHVyZSBvZiBtZXRob2QgZGVjb3JhdG9yIHdoZW4gY2FsbGVkIGFzIGFuIGV4cHJlc3Npb24uXCIpLGFic3RyYWN0X21vZGlmaWVyX2Nhbl9vbmx5X2FwcGVhcl9vbl9hX2NsYXNzX21ldGhvZF9vcl9wcm9wZXJ0eV9kZWNsYXJhdGlvbjpyKDEyNDIsMSxcImFic3RyYWN0X21vZGlmaWVyX2Nhbl9vbmx5X2FwcGVhcl9vbl9hX2NsYXNzX21ldGhvZF9vcl9wcm9wZXJ0eV9kZWNsYXJhdGlvbl8xMjQyXCIsXCInYWJzdHJhY3QnIG1vZGlmaWVyIGNhbiBvbmx5IGFwcGVhciBvbiBhIGNsYXNzLCBtZXRob2QsIG9yIHByb3BlcnR5IGRlY2xhcmF0aW9uLlwiKSxfMF9tb2RpZmllcl9jYW5ub3RfYmVfdXNlZF93aXRoXzFfbW9kaWZpZXI6cigxMjQzLDEsXCJfMF9tb2RpZmllcl9jYW5ub3RfYmVfdXNlZF93aXRoXzFfbW9kaWZpZXJfMTI0M1wiLFwiJ3swfScgbW9kaWZpZXIgY2Fubm90IGJlIHVzZWQgd2l0aCAnezF9JyBtb2RpZmllci5cIiksQWJzdHJhY3RfbWV0aG9kc19jYW5fb25seV9hcHBlYXJfd2l0aGluX2FuX2Fic3RyYWN0X2NsYXNzOnIoMTI0NCwxLFwiQWJzdHJhY3RfbWV0aG9kc19jYW5fb25seV9hcHBlYXJfd2l0aGluX2FuX2Fic3RyYWN0X2NsYXNzXzEyNDRcIixcIkFic3RyYWN0IG1ldGhvZHMgY2FuIG9ubHkgYXBwZWFyIHdpdGhpbiBhbiBhYnN0cmFjdCBjbGFzcy5cIiksTWV0aG9kXzBfY2Fubm90X2hhdmVfYW5faW1wbGVtZW50YXRpb25fYmVjYXVzZV9pdF9pc19tYXJrZWRfYWJzdHJhY3Q6cigxMjQ1LDEsXCJNZXRob2RfMF9jYW5ub3RfaGF2ZV9hbl9pbXBsZW1lbnRhdGlvbl9iZWNhdXNlX2l0X2lzX21hcmtlZF9hYnN0cmFjdF8xMjQ1XCIsXCJNZXRob2QgJ3swfScgY2Fubm90IGhhdmUgYW4gaW1wbGVtZW50YXRpb24gYmVjYXVzZSBpdCBpcyBtYXJrZWQgYWJzdHJhY3QuXCIpLEFuX2ludGVyZmFjZV9wcm9wZXJ0eV9jYW5ub3RfaGF2ZV9hbl9pbml0aWFsaXplcjpyKDEyNDYsMSxcIkFuX2ludGVyZmFjZV9wcm9wZXJ0eV9jYW5ub3RfaGF2ZV9hbl9pbml0aWFsaXplcl8xMjQ2XCIsXCJBbiBpbnRlcmZhY2UgcHJvcGVydHkgY2Fubm90IGhhdmUgYW4gaW5pdGlhbGl6ZXIuXCIpLEFfdHlwZV9saXRlcmFsX3Byb3BlcnR5X2Nhbm5vdF9oYXZlX2FuX2luaXRpYWxpemVyOnIoMTI0NywxLFwiQV90eXBlX2xpdGVyYWxfcHJvcGVydHlfY2Fubm90X2hhdmVfYW5faW5pdGlhbGl6ZXJfMTI0N1wiLFwiQSB0eXBlIGxpdGVyYWwgcHJvcGVydHkgY2Fubm90IGhhdmUgYW4gaW5pdGlhbGl6ZXIuXCIpLEFfY2xhc3NfbWVtYmVyX2Nhbm5vdF9oYXZlX3RoZV8wX2tleXdvcmQ6cigxMjQ4LDEsXCJBX2NsYXNzX21lbWJlcl9jYW5ub3RfaGF2ZV90aGVfMF9rZXl3b3JkXzEyNDhcIixcIkEgY2xhc3MgbWVtYmVyIGNhbm5vdCBoYXZlIHRoZSAnezB9JyBrZXl3b3JkLlwiKSxBX2RlY29yYXRvcl9jYW5fb25seV9kZWNvcmF0ZV9hX21ldGhvZF9pbXBsZW1lbnRhdGlvbl9ub3RfYW5fb3ZlcmxvYWQ6cigxMjQ5LDEsXCJBX2RlY29yYXRvcl9jYW5fb25seV9kZWNvcmF0ZV9hX21ldGhvZF9pbXBsZW1lbnRhdGlvbl9ub3RfYW5fb3ZlcmxvYWRfMTI0OVwiLFwiQSBkZWNvcmF0b3IgY2FuIG9ubHkgZGVjb3JhdGUgYSBtZXRob2QgaW1wbGVtZW50YXRpb24sIG5vdCBhbiBvdmVybG9hZC5cIiksRnVuY3Rpb25fZGVjbGFyYXRpb25zX2FyZV9ub3RfYWxsb3dlZF9pbnNpZGVfYmxvY2tzX2luX3N0cmljdF9tb2RlX3doZW5fdGFyZ2V0aW5nX0VTNTpyKDEyNTAsMSxcIkZ1bmN0aW9uX2RlY2xhcmF0aW9uc19hcmVfbm90X2FsbG93ZWRfaW5zaWRlX2Jsb2Nrc19pbl9zdHJpY3RfbW9kZV93aGVuX3RhcmdldGluZ19FUzVfMTI1MFwiLFwiRnVuY3Rpb24gZGVjbGFyYXRpb25zIGFyZSBub3QgYWxsb3dlZCBpbnNpZGUgYmxvY2tzIGluIHN0cmljdCBtb2RlIHdoZW4gdGFyZ2V0aW5nICdFUzUnLlwiKSxGdW5jdGlvbl9kZWNsYXJhdGlvbnNfYXJlX25vdF9hbGxvd2VkX2luc2lkZV9ibG9ja3NfaW5fc3RyaWN0X21vZGVfd2hlbl90YXJnZXRpbmdfRVM1X0NsYXNzX2RlZmluaXRpb25zX2FyZV9hdXRvbWF0aWNhbGx5X2luX3N0cmljdF9tb2RlOnIoMTI1MSwxLFwiRnVuY3Rpb25fZGVjbGFyYXRpb25zX2FyZV9ub3RfYWxsb3dlZF9pbnNpZGVfYmxvY2tzX2luX3N0cmljdF9tb2RlX3doZW5fdGFyZ2V0aW5nX0VTNV9DbGFzc19kZWZpbml0aV8xMjUxXCIsXCJGdW5jdGlvbiBkZWNsYXJhdGlvbnMgYXJlIG5vdCBhbGxvd2VkIGluc2lkZSBibG9ja3MgaW4gc3RyaWN0IG1vZGUgd2hlbiB0YXJnZXRpbmcgJ0VTNScuIENsYXNzIGRlZmluaXRpb25zIGFyZSBhdXRvbWF0aWNhbGx5IGluIHN0cmljdCBtb2RlLlwiKSxGdW5jdGlvbl9kZWNsYXJhdGlvbnNfYXJlX25vdF9hbGxvd2VkX2luc2lkZV9ibG9ja3NfaW5fc3RyaWN0X21vZGVfd2hlbl90YXJnZXRpbmdfRVM1X01vZHVsZXNfYXJlX2F1dG9tYXRpY2FsbHlfaW5fc3RyaWN0X21vZGU6cigxMjUyLDEsXCJGdW5jdGlvbl9kZWNsYXJhdGlvbnNfYXJlX25vdF9hbGxvd2VkX2luc2lkZV9ibG9ja3NfaW5fc3RyaWN0X21vZGVfd2hlbl90YXJnZXRpbmdfRVM1X01vZHVsZXNfYXJlX2F1XzEyNTJcIixcIkZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW5zaWRlIGJsb2NrcyBpbiBzdHJpY3QgbW9kZSB3aGVuIHRhcmdldGluZyAnRVM1Jy4gTW9kdWxlcyBhcmUgYXV0b21hdGljYWxseSBpbiBzdHJpY3QgbW9kZS5cIiksQWJzdHJhY3RfcHJvcGVydGllc19jYW5fb25seV9hcHBlYXJfd2l0aGluX2FuX2Fic3RyYWN0X2NsYXNzOnIoMTI1MywxLFwiQWJzdHJhY3RfcHJvcGVydGllc19jYW5fb25seV9hcHBlYXJfd2l0aGluX2FuX2Fic3RyYWN0X2NsYXNzXzEyNTNcIixcIkFic3RyYWN0IHByb3BlcnRpZXMgY2FuIG9ubHkgYXBwZWFyIHdpdGhpbiBhbiBhYnN0cmFjdCBjbGFzcy5cIiksQV9jb25zdF9pbml0aWFsaXplcl9pbl9hbl9hbWJpZW50X2NvbnRleHRfbXVzdF9iZV9hX3N0cmluZ19vcl9udW1lcmljX2xpdGVyYWxfb3JfbGl0ZXJhbF9lbnVtX3JlZmVyZW5jZTpyKDEyNTQsMSxcIkFfY29uc3RfaW5pdGlhbGl6ZXJfaW5fYW5fYW1iaWVudF9jb250ZXh0X211c3RfYmVfYV9zdHJpbmdfb3JfbnVtZXJpY19saXRlcmFsX29yX2xpdGVyYWxfZW51bV9yZWZlcmVfMTI1NFwiLFwiQSAnY29uc3QnIGluaXRpYWxpemVyIGluIGFuIGFtYmllbnQgY29udGV4dCBtdXN0IGJlIGEgc3RyaW5nIG9yIG51bWVyaWMgbGl0ZXJhbCBvciBsaXRlcmFsIGVudW0gcmVmZXJlbmNlLlwiKSxBX2RlZmluaXRlX2Fzc2lnbm1lbnRfYXNzZXJ0aW9uX2lzX25vdF9wZXJtaXR0ZWRfaW5fdGhpc19jb250ZXh0OnIoMTI1NSwxLFwiQV9kZWZpbml0ZV9hc3NpZ25tZW50X2Fzc2VydGlvbl9pc19ub3RfcGVybWl0dGVkX2luX3RoaXNfY29udGV4dF8xMjU1XCIsXCJBIGRlZmluaXRlIGFzc2lnbm1lbnQgYXNzZXJ0aW9uICchJyBpcyBub3QgcGVybWl0dGVkIGluIHRoaXMgY29udGV4dC5cIiksQV9yZXF1aXJlZF9lbGVtZW50X2Nhbm5vdF9mb2xsb3dfYW5fb3B0aW9uYWxfZWxlbWVudDpyKDEyNTcsMSxcIkFfcmVxdWlyZWRfZWxlbWVudF9jYW5ub3RfZm9sbG93X2FuX29wdGlvbmFsX2VsZW1lbnRfMTI1N1wiLFwiQSByZXF1aXJlZCBlbGVtZW50IGNhbm5vdCBmb2xsb3cgYW4gb3B0aW9uYWwgZWxlbWVudC5cIiksQV9kZWZhdWx0X2V4cG9ydF9tdXN0X2JlX2F0X3RoZV90b3BfbGV2ZWxfb2ZfYV9maWxlX29yX21vZHVsZV9kZWNsYXJhdGlvbjpyKDEyNTgsMSxcIkFfZGVmYXVsdF9leHBvcnRfbXVzdF9iZV9hdF90aGVfdG9wX2xldmVsX29mX2FfZmlsZV9vcl9tb2R1bGVfZGVjbGFyYXRpb25fMTI1OFwiLFwiQSBkZWZhdWx0IGV4cG9ydCBtdXN0IGJlIGF0IHRoZSB0b3AgbGV2ZWwgb2YgYSBmaWxlIG9yIG1vZHVsZSBkZWNsYXJhdGlvbi5cIiksTW9kdWxlXzBfY2FuX29ubHlfYmVfZGVmYXVsdF9pbXBvcnRlZF91c2luZ190aGVfMV9mbGFnOnIoMTI1OSwxLFwiTW9kdWxlXzBfY2FuX29ubHlfYmVfZGVmYXVsdF9pbXBvcnRlZF91c2luZ190aGVfMV9mbGFnXzEyNTlcIixcIk1vZHVsZSAnezB9JyBjYW4gb25seSBiZSBkZWZhdWx0LWltcG9ydGVkIHVzaW5nIHRoZSAnezF9JyBmbGFnXCIpLEtleXdvcmRzX2Nhbm5vdF9jb250YWluX2VzY2FwZV9jaGFyYWN0ZXJzOnIoMTI2MCwxLFwiS2V5d29yZHNfY2Fubm90X2NvbnRhaW5fZXNjYXBlX2NoYXJhY3RlcnNfMTI2MFwiLFwiS2V5d29yZHMgY2Fubm90IGNvbnRhaW4gZXNjYXBlIGNoYXJhY3RlcnMuXCIpLEFscmVhZHlfaW5jbHVkZWRfZmlsZV9uYW1lXzBfZGlmZmVyc19mcm9tX2ZpbGVfbmFtZV8xX29ubHlfaW5fY2FzaW5nOnIoMTI2MSwxLFwiQWxyZWFkeV9pbmNsdWRlZF9maWxlX25hbWVfMF9kaWZmZXJzX2Zyb21fZmlsZV9uYW1lXzFfb25seV9pbl9jYXNpbmdfMTI2MVwiLFwiQWxyZWFkeSBpbmNsdWRlZCBmaWxlIG5hbWUgJ3swfScgZGlmZmVycyBmcm9tIGZpbGUgbmFtZSAnezF9JyBvbmx5IGluIGNhc2luZy5cIiksSWRlbnRpZmllcl9leHBlY3RlZF8wX2lzX2FfcmVzZXJ2ZWRfd29yZF9hdF90aGVfdG9wX2xldmVsX29mX2FfbW9kdWxlOnIoMTI2MiwxLFwiSWRlbnRpZmllcl9leHBlY3RlZF8wX2lzX2FfcmVzZXJ2ZWRfd29yZF9hdF90aGVfdG9wX2xldmVsX29mX2FfbW9kdWxlXzEyNjJcIixcIklkZW50aWZpZXIgZXhwZWN0ZWQuICd7MH0nIGlzIGEgcmVzZXJ2ZWQgd29yZCBhdCB0aGUgdG9wLWxldmVsIG9mIGEgbW9kdWxlLlwiKSxEZWNsYXJhdGlvbnNfd2l0aF9pbml0aWFsaXplcnNfY2Fubm90X2Fsc29faGF2ZV9kZWZpbml0ZV9hc3NpZ25tZW50X2Fzc2VydGlvbnM6cigxMjYzLDEsXCJEZWNsYXJhdGlvbnNfd2l0aF9pbml0aWFsaXplcnNfY2Fubm90X2Fsc29faGF2ZV9kZWZpbml0ZV9hc3NpZ25tZW50X2Fzc2VydGlvbnNfMTI2M1wiLFwiRGVjbGFyYXRpb25zIHdpdGggaW5pdGlhbGl6ZXJzIGNhbm5vdCBhbHNvIGhhdmUgZGVmaW5pdGUgYXNzaWdubWVudCBhc3NlcnRpb25zLlwiKSxEZWNsYXJhdGlvbnNfd2l0aF9kZWZpbml0ZV9hc3NpZ25tZW50X2Fzc2VydGlvbnNfbXVzdF9hbHNvX2hhdmVfdHlwZV9hbm5vdGF0aW9uczpyKDEyNjQsMSxcIkRlY2xhcmF0aW9uc193aXRoX2RlZmluaXRlX2Fzc2lnbm1lbnRfYXNzZXJ0aW9uc19tdXN0X2Fsc29faGF2ZV90eXBlX2Fubm90YXRpb25zXzEyNjRcIixcIkRlY2xhcmF0aW9ucyB3aXRoIGRlZmluaXRlIGFzc2lnbm1lbnQgYXNzZXJ0aW9ucyBtdXN0IGFsc28gaGF2ZSB0eXBlIGFubm90YXRpb25zLlwiKSxBX3Jlc3RfZWxlbWVudF9jYW5ub3RfZm9sbG93X2Fub3RoZXJfcmVzdF9lbGVtZW50OnIoMTI2NSwxLFwiQV9yZXN0X2VsZW1lbnRfY2Fubm90X2ZvbGxvd19hbm90aGVyX3Jlc3RfZWxlbWVudF8xMjY1XCIsXCJBIHJlc3QgZWxlbWVudCBjYW5ub3QgZm9sbG93IGFub3RoZXIgcmVzdCBlbGVtZW50LlwiKSxBbl9vcHRpb25hbF9lbGVtZW50X2Nhbm5vdF9mb2xsb3dfYV9yZXN0X2VsZW1lbnQ6cigxMjY2LDEsXCJBbl9vcHRpb25hbF9lbGVtZW50X2Nhbm5vdF9mb2xsb3dfYV9yZXN0X2VsZW1lbnRfMTI2NlwiLFwiQW4gb3B0aW9uYWwgZWxlbWVudCBjYW5ub3QgZm9sbG93IGEgcmVzdCBlbGVtZW50LlwiKSxQcm9wZXJ0eV8wX2Nhbm5vdF9oYXZlX2FuX2luaXRpYWxpemVyX2JlY2F1c2VfaXRfaXNfbWFya2VkX2Fic3RyYWN0OnIoMTI2NywxLFwiUHJvcGVydHlfMF9jYW5ub3RfaGF2ZV9hbl9pbml0aWFsaXplcl9iZWNhdXNlX2l0X2lzX21hcmtlZF9hYnN0cmFjdF8xMjY3XCIsXCJQcm9wZXJ0eSAnezB9JyBjYW5ub3QgaGF2ZSBhbiBpbml0aWFsaXplciBiZWNhdXNlIGl0IGlzIG1hcmtlZCBhYnN0cmFjdC5cIiksQW5faW5kZXhfc2lnbmF0dXJlX3BhcmFtZXRlcl90eXBlX211c3RfYmVfc3RyaW5nX251bWJlcl9zeW1ib2xfb3JfYV90ZW1wbGF0ZV9saXRlcmFsX3R5cGU6cigxMjY4LDEsXCJBbl9pbmRleF9zaWduYXR1cmVfcGFyYW1ldGVyX3R5cGVfbXVzdF9iZV9zdHJpbmdfbnVtYmVyX3N5bWJvbF9vcl9hX3RlbXBsYXRlX2xpdGVyYWxfdHlwZV8xMjY4XCIsXCJBbiBpbmRleCBzaWduYXR1cmUgcGFyYW1ldGVyIHR5cGUgbXVzdCBiZSAnc3RyaW5nJywgJ251bWJlcicsICdzeW1ib2wnLCBvciBhIHRlbXBsYXRlIGxpdGVyYWwgdHlwZS5cIiksQ2Fubm90X3VzZV9leHBvcnRfaW1wb3J0X29uX2FfdHlwZV9vcl90eXBlX29ubHlfbmFtZXNwYWNlX3doZW5fMF9pc19lbmFibGVkOnIoMTI2OSwxLFwiQ2Fubm90X3VzZV9leHBvcnRfaW1wb3J0X29uX2FfdHlwZV9vcl90eXBlX29ubHlfbmFtZXNwYWNlX3doZW5fMF9pc19lbmFibGVkXzEyNjlcIixcIkNhbm5vdCB1c2UgJ2V4cG9ydCBpbXBvcnQnIG9uIGEgdHlwZSBvciB0eXBlLW9ubHkgbmFtZXNwYWNlIHdoZW4gJ3swfScgaXMgZW5hYmxlZC5cIiksRGVjb3JhdG9yX2Z1bmN0aW9uX3JldHVybl90eXBlXzBfaXNfbm90X2Fzc2lnbmFibGVfdG9fdHlwZV8xOnIoMTI3MCwxLFwiRGVjb3JhdG9yX2Z1bmN0aW9uX3JldHVybl90eXBlXzBfaXNfbm90X2Fzc2lnbmFibGVfdG9fdHlwZV8xXzEyNzBcIixcIkRlY29yYXRvciBmdW5jdGlvbiByZXR1cm4gdHlwZSAnezB9JyBpcyBub3QgYXNzaWduYWJsZSB0byB0eXBlICd7MX0nLlwiKSxEZWNvcmF0b3JfZnVuY3Rpb25fcmV0dXJuX3R5cGVfaXNfMF9idXRfaXNfZXhwZWN0ZWRfdG9fYmVfdm9pZF9vcl9hbnk6cigxMjcxLDEsXCJEZWNvcmF0b3JfZnVuY3Rpb25fcmV0dXJuX3R5cGVfaXNfMF9idXRfaXNfZXhwZWN0ZWRfdG9fYmVfdm9pZF9vcl9hbnlfMTI3MVwiLFwiRGVjb3JhdG9yIGZ1bmN0aW9uIHJldHVybiB0eXBlIGlzICd7MH0nIGJ1dCBpcyBleHBlY3RlZCB0byBiZSAndm9pZCcgb3IgJ2FueScuXCIpLEFfdHlwZV9yZWZlcmVuY2VkX2luX2FfZGVjb3JhdGVkX3NpZ25hdHVyZV9tdXN0X2JlX2ltcG9ydGVkX3dpdGhfaW1wb3J0X3R5cGVfb3JfYV9uYW1lc3BhY2VfaW1wb3J0X3doZW5faXNvbGF0ZWRNb2R1bGVzX2FuZF9lbWl0RGVjb3JhdG9yTWV0YWRhdGFfYXJlX2VuYWJsZWQ6cigxMjcyLDEsXCJBX3R5cGVfcmVmZXJlbmNlZF9pbl9hX2RlY29yYXRlZF9zaWduYXR1cmVfbXVzdF9iZV9pbXBvcnRlZF93aXRoX2ltcG9ydF90eXBlX29yX2FfbmFtZXNwYWNlX2ltcG9ydF93XzEyNzJcIixcIkEgdHlwZSByZWZlcmVuY2VkIGluIGEgZGVjb3JhdGVkIHNpZ25hdHVyZSBtdXN0IGJlIGltcG9ydGVkIHdpdGggJ2ltcG9ydCB0eXBlJyBvciBhIG5hbWVzcGFjZSBpbXBvcnQgd2hlbiAnaXNvbGF0ZWRNb2R1bGVzJyBhbmQgJ2VtaXREZWNvcmF0b3JNZXRhZGF0YScgYXJlIGVuYWJsZWQuXCIpLF8wX21vZGlmaWVyX2Nhbm5vdF9hcHBlYXJfb25fYV90eXBlX3BhcmFtZXRlcjpyKDEyNzMsMSxcIl8wX21vZGlmaWVyX2Nhbm5vdF9hcHBlYXJfb25fYV90eXBlX3BhcmFtZXRlcl8xMjczXCIsXCInezB9JyBtb2RpZmllciBjYW5ub3QgYXBwZWFyIG9uIGEgdHlwZSBwYXJhbWV0ZXJcIiksXzBfbW9kaWZpZXJfY2FuX29ubHlfYXBwZWFyX29uX2FfdHlwZV9wYXJhbWV0ZXJfb2ZfYV9jbGFzc19pbnRlcmZhY2Vfb3JfdHlwZV9hbGlhczpyKDEyNzQsMSxcIl8wX21vZGlmaWVyX2Nhbl9vbmx5X2FwcGVhcl9vbl9hX3R5cGVfcGFyYW1ldGVyX29mX2FfY2xhc3NfaW50ZXJmYWNlX29yX3R5cGVfYWxpYXNfMTI3NFwiLFwiJ3swfScgbW9kaWZpZXIgY2FuIG9ubHkgYXBwZWFyIG9uIGEgdHlwZSBwYXJhbWV0ZXIgb2YgYSBjbGFzcywgaW50ZXJmYWNlIG9yIHR5cGUgYWxpYXNcIiksYWNjZXNzb3JfbW9kaWZpZXJfY2FuX29ubHlfYXBwZWFyX29uX2FfcHJvcGVydHlfZGVjbGFyYXRpb246cigxMjc1LDEsXCJhY2Nlc3Nvcl9tb2RpZmllcl9jYW5fb25seV9hcHBlYXJfb25fYV9wcm9wZXJ0eV9kZWNsYXJhdGlvbl8xMjc1XCIsXCInYWNjZXNzb3InIG1vZGlmaWVyIGNhbiBvbmx5IGFwcGVhciBvbiBhIHByb3BlcnR5IGRlY2xhcmF0aW9uLlwiKSxBbl9hY2Nlc3Nvcl9wcm9wZXJ0eV9jYW5ub3RfYmVfZGVjbGFyZWRfb3B0aW9uYWw6cigxMjc2LDEsXCJBbl9hY2Nlc3Nvcl9wcm9wZXJ0eV9jYW5ub3RfYmVfZGVjbGFyZWRfb3B0aW9uYWxfMTI3NlwiLFwiQW4gJ2FjY2Vzc29yJyBwcm9wZXJ0eSBjYW5ub3QgYmUgZGVjbGFyZWQgb3B0aW9uYWwuXCIpLF8wX21vZGlmaWVyX2Nhbl9vbmx5X2FwcGVhcl9vbl9hX3R5cGVfcGFyYW1ldGVyX29mX2FfZnVuY3Rpb25fbWV0aG9kX29yX2NsYXNzOnIoMTI3NywxLFwiXzBfbW9kaWZpZXJfY2FuX29ubHlfYXBwZWFyX29uX2FfdHlwZV9wYXJhbWV0ZXJfb2ZfYV9mdW5jdGlvbl9tZXRob2Rfb3JfY2xhc3NfMTI3N1wiLFwiJ3swfScgbW9kaWZpZXIgY2FuIG9ubHkgYXBwZWFyIG9uIGEgdHlwZSBwYXJhbWV0ZXIgb2YgYSBmdW5jdGlvbiwgbWV0aG9kIG9yIGNsYXNzXCIpLFRoZV9ydW50aW1lX3dpbGxfaW52b2tlX3RoZV9kZWNvcmF0b3Jfd2l0aF8xX2FyZ3VtZW50c19idXRfdGhlX2RlY29yYXRvcl9leHBlY3RzXzA6cigxMjc4LDEsXCJUaGVfcnVudGltZV93aWxsX2ludm9rZV90aGVfZGVjb3JhdG9yX3dpdGhfMV9hcmd1bWVudHNfYnV0X3RoZV9kZWNvcmF0b3JfZXhwZWN0c18wXzEyNzhcIixcIlRoZSBydW50aW1lIHdpbGwgaW52b2tlIHRoZSBkZWNvcmF0b3Igd2l0aCB7MX0gYXJndW1lbnRzLCBidXQgdGhlIGRlY29yYXRvciBleHBlY3RzIHswfS5cIiksVGhlX3J1bnRpbWVfd2lsbF9pbnZva2VfdGhlX2RlY29yYXRvcl93aXRoXzFfYXJndW1lbnRzX2J1dF90aGVfZGVjb3JhdG9yX2V4cGVjdHNfYXRfbGVhc3RfMDpyKDEyNzksMSxcIlRoZV9ydW50aW1lX3dpbGxfaW52b2tlX3RoZV9kZWNvcmF0b3Jfd2l0aF8xX2FyZ3VtZW50c19idXRfdGhlX2RlY29yYXRvcl9leHBlY3RzX2F0X2xlYXN0XzBfMTI3OVwiLFwiVGhlIHJ1bnRpbWUgd2lsbCBpbnZva2UgdGhlIGRlY29yYXRvciB3aXRoIHsxfSBhcmd1bWVudHMsIGJ1dCB0aGUgZGVjb3JhdG9yIGV4cGVjdHMgYXQgbGVhc3QgezB9LlwiKSxOYW1lc3BhY2VzX2FyZV9ub3RfYWxsb3dlZF9pbl9nbG9iYWxfc2NyaXB0X2ZpbGVzX3doZW5fMF9pc19lbmFibGVkX0lmX3RoaXNfZmlsZV9pc19ub3RfaW50ZW5kZWRfdG9fYmVfYV9nbG9iYWxfc2NyaXB0X3NldF9tb2R1bGVEZXRlY3Rpb25fdG9fZm9yY2Vfb3JfYWRkX2FuX2VtcHR5X2V4cG9ydF9zdGF0ZW1lbnQ6cigxMjgwLDEsXCJOYW1lc3BhY2VzX2FyZV9ub3RfYWxsb3dlZF9pbl9nbG9iYWxfc2NyaXB0X2ZpbGVzX3doZW5fMF9pc19lbmFibGVkX0lmX3RoaXNfZmlsZV9pc19ub3RfaW50ZW5kZWRfdG9fXzEyODBcIixcIk5hbWVzcGFjZXMgYXJlIG5vdCBhbGxvd2VkIGluIGdsb2JhbCBzY3JpcHQgZmlsZXMgd2hlbiAnezB9JyBpcyBlbmFibGVkLiBJZiB0aGlzIGZpbGUgaXMgbm90IGludGVuZGVkIHRvIGJlIGEgZ2xvYmFsIHNjcmlwdCwgc2V0ICdtb2R1bGVEZXRlY3Rpb24nIHRvICdmb3JjZScgb3IgYWRkIGFuIGVtcHR5ICdleHBvcnQge30nIHN0YXRlbWVudC5cIiksQ2Fubm90X2FjY2Vzc18wX2Zyb21fYW5vdGhlcl9maWxlX3dpdGhvdXRfcXVhbGlmaWNhdGlvbl93aGVuXzFfaXNfZW5hYmxlZF9Vc2VfMl9pbnN0ZWFkOnIoMTI4MSwxLFwiQ2Fubm90X2FjY2Vzc18wX2Zyb21fYW5vdGhlcl9maWxlX3dpdGhvdXRfcXVhbGlmaWNhdGlvbl93aGVuXzFfaXNfZW5hYmxlZF9Vc2VfMl9pbnN0ZWFkXzEyODFcIixcIkNhbm5vdCBhY2Nlc3MgJ3swfScgZnJvbSBhbm90aGVyIGZpbGUgd2l0aG91dCBxdWFsaWZpY2F0aW9uIHdoZW4gJ3sxfScgaXMgZW5hYmxlZC4gVXNlICd7Mn0nIGluc3RlYWQuXCIpLEFuX2V4cG9ydF9kZWNsYXJhdGlvbl9tdXN0X3JlZmVyZW5jZV9hX3ZhbHVlX3doZW5fdmVyYmF0aW1Nb2R1bGVTeW50YXhfaXNfZW5hYmxlZF9idXRfMF9vbmx5X3JlZmVyc190b19hX3R5cGU6cigxMjgyLDEsXCJBbl9leHBvcnRfZGVjbGFyYXRpb25fbXVzdF9yZWZlcmVuY2VfYV92YWx1ZV93aGVuX3ZlcmJhdGltTW9kdWxlU3ludGF4X2lzX2VuYWJsZWRfYnV0XzBfb25seV9yZWZlcnNfXzEyODJcIixcIkFuICdleHBvcnQgPScgZGVjbGFyYXRpb24gbXVzdCByZWZlcmVuY2UgYSB2YWx1ZSB3aGVuICd2ZXJiYXRpbU1vZHVsZVN5bnRheCcgaXMgZW5hYmxlZCwgYnV0ICd7MH0nIG9ubHkgcmVmZXJzIHRvIGEgdHlwZS5cIiksQW5fZXhwb3J0X2RlY2xhcmF0aW9uX211c3RfcmVmZXJlbmNlX2FfcmVhbF92YWx1ZV93aGVuX3ZlcmJhdGltTW9kdWxlU3ludGF4X2lzX2VuYWJsZWRfYnV0XzBfcmVzb2x2ZXNfdG9fYV90eXBlX29ubHlfZGVjbGFyYXRpb246cigxMjgzLDEsXCJBbl9leHBvcnRfZGVjbGFyYXRpb25fbXVzdF9yZWZlcmVuY2VfYV9yZWFsX3ZhbHVlX3doZW5fdmVyYmF0aW1Nb2R1bGVTeW50YXhfaXNfZW5hYmxlZF9idXRfMF9yZXNvbHZlXzEyODNcIixcIkFuICdleHBvcnQgPScgZGVjbGFyYXRpb24gbXVzdCByZWZlcmVuY2UgYSByZWFsIHZhbHVlIHdoZW4gJ3ZlcmJhdGltTW9kdWxlU3ludGF4JyBpcyBlbmFibGVkLCBidXQgJ3swfScgcmVzb2x2ZXMgdG8gYSB0eXBlLW9ubHkgZGVjbGFyYXRpb24uXCIpLEFuX2V4cG9ydF9kZWZhdWx0X211c3RfcmVmZXJlbmNlX2FfdmFsdWVfd2hlbl92ZXJiYXRpbU1vZHVsZVN5bnRheF9pc19lbmFibGVkX2J1dF8wX29ubHlfcmVmZXJzX3RvX2FfdHlwZTpyKDEyODQsMSxcIkFuX2V4cG9ydF9kZWZhdWx0X211c3RfcmVmZXJlbmNlX2FfdmFsdWVfd2hlbl92ZXJiYXRpbU1vZHVsZVN5bnRheF9pc19lbmFibGVkX2J1dF8wX29ubHlfcmVmZXJzX3RvX2FfMTI4NFwiLFwiQW4gJ2V4cG9ydCBkZWZhdWx0JyBtdXN0IHJlZmVyZW5jZSBhIHZhbHVlIHdoZW4gJ3ZlcmJhdGltTW9kdWxlU3ludGF4JyBpcyBlbmFibGVkLCBidXQgJ3swfScgb25seSByZWZlcnMgdG8gYSB0eXBlLlwiKSxBbl9leHBvcnRfZGVmYXVsdF9tdXN0X3JlZmVyZW5jZV9hX3JlYWxfdmFsdWVfd2hlbl92ZXJiYXRpbU1vZHVsZVN5bnRheF9pc19lbmFibGVkX2J1dF8wX3Jlc29sdmVzX3RvX2FfdHlwZV9vbmx5X2RlY2xhcmF0aW9uOnIoMTI4NSwxLFwiQW5fZXhwb3J0X2RlZmF1bHRfbXVzdF9yZWZlcmVuY2VfYV9yZWFsX3ZhbHVlX3doZW5fdmVyYmF0aW1Nb2R1bGVTeW50YXhfaXNfZW5hYmxlZF9idXRfMF9yZXNvbHZlc190b18xMjg1XCIsXCJBbiAnZXhwb3J0IGRlZmF1bHQnIG11c3QgcmVmZXJlbmNlIGEgcmVhbCB2YWx1ZSB3aGVuICd2ZXJiYXRpbU1vZHVsZVN5bnRheCcgaXMgZW5hYmxlZCwgYnV0ICd7MH0nIHJlc29sdmVzIHRvIGEgdHlwZS1vbmx5IGRlY2xhcmF0aW9uLlwiKSxFU01fc3ludGF4X2lzX25vdF9hbGxvd2VkX2luX2FfQ29tbW9uSlNfbW9kdWxlX3doZW5fdmVyYmF0aW1Nb2R1bGVTeW50YXhfaXNfZW5hYmxlZDpyKDEyODYsMSxcIkVTTV9zeW50YXhfaXNfbm90X2FsbG93ZWRfaW5fYV9Db21tb25KU19tb2R1bGVfd2hlbl92ZXJiYXRpbU1vZHVsZVN5bnRheF9pc19lbmFibGVkXzEyODZcIixcIkVTTSBzeW50YXggaXMgbm90IGFsbG93ZWQgaW4gYSBDb21tb25KUyBtb2R1bGUgd2hlbiAndmVyYmF0aW1Nb2R1bGVTeW50YXgnIGlzIGVuYWJsZWQuXCIpLEFfdG9wX2xldmVsX2V4cG9ydF9tb2RpZmllcl9jYW5ub3RfYmVfdXNlZF9vbl92YWx1ZV9kZWNsYXJhdGlvbnNfaW5fYV9Db21tb25KU19tb2R1bGVfd2hlbl92ZXJiYXRpbU1vZHVsZVN5bnRheF9pc19lbmFibGVkOnIoMTI4NywxLFwiQV90b3BfbGV2ZWxfZXhwb3J0X21vZGlmaWVyX2Nhbm5vdF9iZV91c2VkX29uX3ZhbHVlX2RlY2xhcmF0aW9uc19pbl9hX0NvbW1vbkpTX21vZHVsZV93aGVuX3ZlcmJhdGltTV8xMjg3XCIsXCJBIHRvcC1sZXZlbCAnZXhwb3J0JyBtb2RpZmllciBjYW5ub3QgYmUgdXNlZCBvbiB2YWx1ZSBkZWNsYXJhdGlvbnMgaW4gYSBDb21tb25KUyBtb2R1bGUgd2hlbiAndmVyYmF0aW1Nb2R1bGVTeW50YXgnIGlzIGVuYWJsZWQuXCIpLEFuX2ltcG9ydF9hbGlhc19jYW5ub3RfcmVzb2x2ZV90b19hX3R5cGVfb3JfdHlwZV9vbmx5X2RlY2xhcmF0aW9uX3doZW5fdmVyYmF0aW1Nb2R1bGVTeW50YXhfaXNfZW5hYmxlZDpyKDEyODgsMSxcIkFuX2ltcG9ydF9hbGlhc19jYW5ub3RfcmVzb2x2ZV90b19hX3R5cGVfb3JfdHlwZV9vbmx5X2RlY2xhcmF0aW9uX3doZW5fdmVyYmF0aW1Nb2R1bGVTeW50YXhfaXNfZW5hYmxfMTI4OFwiLFwiQW4gaW1wb3J0IGFsaWFzIGNhbm5vdCByZXNvbHZlIHRvIGEgdHlwZSBvciB0eXBlLW9ubHkgZGVjbGFyYXRpb24gd2hlbiAndmVyYmF0aW1Nb2R1bGVTeW50YXgnIGlzIGVuYWJsZWQuXCIpLF8wX3Jlc29sdmVzX3RvX2FfdHlwZV9vbmx5X2RlY2xhcmF0aW9uX2FuZF9tdXN0X2JlX21hcmtlZF90eXBlX29ubHlfaW5fdGhpc19maWxlX2JlZm9yZV9yZV9leHBvcnRpbmdfd2hlbl8xX2lzX2VuYWJsZWRfQ29uc2lkZXJfdXNpbmdfaW1wb3J0X3R5cGVfd2hlcmVfMF9pc19pbXBvcnRlZDpyKDEyODksMSxcIl8wX3Jlc29sdmVzX3RvX2FfdHlwZV9vbmx5X2RlY2xhcmF0aW9uX2FuZF9tdXN0X2JlX21hcmtlZF90eXBlX29ubHlfaW5fdGhpc19maWxlX2JlZm9yZV9yZV9leHBvcnRpbmdfMTI4OVwiLFwiJ3swfScgcmVzb2x2ZXMgdG8gYSB0eXBlLW9ubHkgZGVjbGFyYXRpb24gYW5kIG11c3QgYmUgbWFya2VkIHR5cGUtb25seSBpbiB0aGlzIGZpbGUgYmVmb3JlIHJlLWV4cG9ydGluZyB3aGVuICd7MX0nIGlzIGVuYWJsZWQuIENvbnNpZGVyIHVzaW5nICdpbXBvcnQgdHlwZScgd2hlcmUgJ3swfScgaXMgaW1wb3J0ZWQuXCIpLF8wX3Jlc29sdmVzX3RvX2FfdHlwZV9vbmx5X2RlY2xhcmF0aW9uX2FuZF9tdXN0X2JlX21hcmtlZF90eXBlX29ubHlfaW5fdGhpc19maWxlX2JlZm9yZV9yZV9leHBvcnRpbmdfd2hlbl8xX2lzX2VuYWJsZWRfQ29uc2lkZXJfdXNpbmdfZXhwb3J0X3R5cGVfMF9hc19kZWZhdWx0OnIoMTI5MCwxLFwiXzBfcmVzb2x2ZXNfdG9fYV90eXBlX29ubHlfZGVjbGFyYXRpb25fYW5kX211c3RfYmVfbWFya2VkX3R5cGVfb25seV9pbl90aGlzX2ZpbGVfYmVmb3JlX3JlX2V4cG9ydGluZ18xMjkwXCIsXCInezB9JyByZXNvbHZlcyB0byBhIHR5cGUtb25seSBkZWNsYXJhdGlvbiBhbmQgbXVzdCBiZSBtYXJrZWQgdHlwZS1vbmx5IGluIHRoaXMgZmlsZSBiZWZvcmUgcmUtZXhwb3J0aW5nIHdoZW4gJ3sxfScgaXMgZW5hYmxlZC4gQ29uc2lkZXIgdXNpbmcgJ2V4cG9ydCB0eXBlIHsgezB9IGFzIGRlZmF1bHQgfScuXCIpLF8wX3Jlc29sdmVzX3RvX2FfdHlwZV9hbmRfbXVzdF9iZV9tYXJrZWRfdHlwZV9vbmx5X2luX3RoaXNfZmlsZV9iZWZvcmVfcmVfZXhwb3J0aW5nX3doZW5fMV9pc19lbmFibGVkX0NvbnNpZGVyX3VzaW5nX2ltcG9ydF90eXBlX3doZXJlXzBfaXNfaW1wb3J0ZWQ6cigxMjkxLDEsXCJfMF9yZXNvbHZlc190b19hX3R5cGVfYW5kX211c3RfYmVfbWFya2VkX3R5cGVfb25seV9pbl90aGlzX2ZpbGVfYmVmb3JlX3JlX2V4cG9ydGluZ193aGVuXzFfaXNfZW5hYmxlXzEyOTFcIixcIid7MH0nIHJlc29sdmVzIHRvIGEgdHlwZSBhbmQgbXVzdCBiZSBtYXJrZWQgdHlwZS1vbmx5IGluIHRoaXMgZmlsZSBiZWZvcmUgcmUtZXhwb3J0aW5nIHdoZW4gJ3sxfScgaXMgZW5hYmxlZC4gQ29uc2lkZXIgdXNpbmcgJ2ltcG9ydCB0eXBlJyB3aGVyZSAnezB9JyBpcyBpbXBvcnRlZC5cIiksXzBfcmVzb2x2ZXNfdG9fYV90eXBlX2FuZF9tdXN0X2JlX21hcmtlZF90eXBlX29ubHlfaW5fdGhpc19maWxlX2JlZm9yZV9yZV9leHBvcnRpbmdfd2hlbl8xX2lzX2VuYWJsZWRfQ29uc2lkZXJfdXNpbmdfZXhwb3J0X3R5cGVfMF9hc19kZWZhdWx0OnIoMTI5MiwxLFwiXzBfcmVzb2x2ZXNfdG9fYV90eXBlX2FuZF9tdXN0X2JlX21hcmtlZF90eXBlX29ubHlfaW5fdGhpc19maWxlX2JlZm9yZV9yZV9leHBvcnRpbmdfd2hlbl8xX2lzX2VuYWJsZV8xMjkyXCIsXCInezB9JyByZXNvbHZlcyB0byBhIHR5cGUgYW5kIG11c3QgYmUgbWFya2VkIHR5cGUtb25seSBpbiB0aGlzIGZpbGUgYmVmb3JlIHJlLWV4cG9ydGluZyB3aGVuICd7MX0nIGlzIGVuYWJsZWQuIENvbnNpZGVyIHVzaW5nICdleHBvcnQgdHlwZSB7IHswfSBhcyBkZWZhdWx0IH0nLlwiKSxFU01fc3ludGF4X2lzX25vdF9hbGxvd2VkX2luX2FfQ29tbW9uSlNfbW9kdWxlX3doZW5fbW9kdWxlX2lzX3NldF90b19wcmVzZXJ2ZTpyKDEyOTMsMSxcIkVTTV9zeW50YXhfaXNfbm90X2FsbG93ZWRfaW5fYV9Db21tb25KU19tb2R1bGVfd2hlbl9tb2R1bGVfaXNfc2V0X3RvX3ByZXNlcnZlXzEyOTNcIixcIkVTTSBzeW50YXggaXMgbm90IGFsbG93ZWQgaW4gYSBDb21tb25KUyBtb2R1bGUgd2hlbiAnbW9kdWxlJyBpcyBzZXQgdG8gJ3ByZXNlcnZlJy5cIiksd2l0aF9zdGF0ZW1lbnRzX2FyZV9ub3RfYWxsb3dlZF9pbl9hbl9hc3luY19mdW5jdGlvbl9ibG9jazpyKDEzMDAsMSxcIndpdGhfc3RhdGVtZW50c19hcmVfbm90X2FsbG93ZWRfaW5fYW5fYXN5bmNfZnVuY3Rpb25fYmxvY2tfMTMwMFwiLFwiJ3dpdGgnIHN0YXRlbWVudHMgYXJlIG5vdCBhbGxvd2VkIGluIGFuIGFzeW5jIGZ1bmN0aW9uIGJsb2NrLlwiKSxhd2FpdF9leHByZXNzaW9uc19hcmVfb25seV9hbGxvd2VkX3dpdGhpbl9hc3luY19mdW5jdGlvbnNfYW5kX2F0X3RoZV90b3BfbGV2ZWxzX29mX21vZHVsZXM6cigxMzA4LDEsXCJhd2FpdF9leHByZXNzaW9uc19hcmVfb25seV9hbGxvd2VkX3dpdGhpbl9hc3luY19mdW5jdGlvbnNfYW5kX2F0X3RoZV90b3BfbGV2ZWxzX29mX21vZHVsZXNfMTMwOFwiLFwiJ2F3YWl0JyBleHByZXNzaW9ucyBhcmUgb25seSBhbGxvd2VkIHdpdGhpbiBhc3luYyBmdW5jdGlvbnMgYW5kIGF0IHRoZSB0b3AgbGV2ZWxzIG9mIG1vZHVsZXMuXCIpLFRoZV9jdXJyZW50X2ZpbGVfaXNfYV9Db21tb25KU19tb2R1bGVfYW5kX2Nhbm5vdF91c2VfYXdhaXRfYXRfdGhlX3RvcF9sZXZlbDpyKDEzMDksMSxcIlRoZV9jdXJyZW50X2ZpbGVfaXNfYV9Db21tb25KU19tb2R1bGVfYW5kX2Nhbm5vdF91c2VfYXdhaXRfYXRfdGhlX3RvcF9sZXZlbF8xMzA5XCIsXCJUaGUgY3VycmVudCBmaWxlIGlzIGEgQ29tbW9uSlMgbW9kdWxlIGFuZCBjYW5ub3QgdXNlICdhd2FpdCcgYXQgdGhlIHRvcCBsZXZlbC5cIiksRGlkX3lvdV9tZWFuX3RvX3VzZV9hX0NvbG9uX0FuX2Nhbl9vbmx5X2ZvbGxvd19hX3Byb3BlcnR5X25hbWVfd2hlbl90aGVfY29udGFpbmluZ19vYmplY3RfbGl0ZXJhbF9pc19wYXJ0X29mX2FfZGVzdHJ1Y3R1cmluZ19wYXR0ZXJuOnIoMTMxMiwxLFwiRGlkX3lvdV9tZWFuX3RvX3VzZV9hX0NvbG9uX0FuX2Nhbl9vbmx5X2ZvbGxvd19hX3Byb3BlcnR5X25hbWVfd2hlbl90aGVfY29udGFpbmluZ19vYmplY3RfbGl0ZXJhbF9pc18xMzEyXCIsXCJEaWQgeW91IG1lYW4gdG8gdXNlIGEgJzonPyBBbiAnPScgY2FuIG9ubHkgZm9sbG93IGEgcHJvcGVydHkgbmFtZSB3aGVuIHRoZSBjb250YWluaW5nIG9iamVjdCBsaXRlcmFsIGlzIHBhcnQgb2YgYSBkZXN0cnVjdHVyaW5nIHBhdHRlcm4uXCIpLFRoZV9ib2R5X29mX2FuX2lmX3N0YXRlbWVudF9jYW5ub3RfYmVfdGhlX2VtcHR5X3N0YXRlbWVudDpyKDEzMTMsMSxcIlRoZV9ib2R5X29mX2FuX2lmX3N0YXRlbWVudF9jYW5ub3RfYmVfdGhlX2VtcHR5X3N0YXRlbWVudF8xMzEzXCIsXCJUaGUgYm9keSBvZiBhbiAnaWYnIHN0YXRlbWVudCBjYW5ub3QgYmUgdGhlIGVtcHR5IHN0YXRlbWVudC5cIiksR2xvYmFsX21vZHVsZV9leHBvcnRzX21heV9vbmx5X2FwcGVhcl9pbl9tb2R1bGVfZmlsZXM6cigxMzE0LDEsXCJHbG9iYWxfbW9kdWxlX2V4cG9ydHNfbWF5X29ubHlfYXBwZWFyX2luX21vZHVsZV9maWxlc18xMzE0XCIsXCJHbG9iYWwgbW9kdWxlIGV4cG9ydHMgbWF5IG9ubHkgYXBwZWFyIGluIG1vZHVsZSBmaWxlcy5cIiksR2xvYmFsX21vZHVsZV9leHBvcnRzX21heV9vbmx5X2FwcGVhcl9pbl9kZWNsYXJhdGlvbl9maWxlczpyKDEzMTUsMSxcIkdsb2JhbF9tb2R1bGVfZXhwb3J0c19tYXlfb25seV9hcHBlYXJfaW5fZGVjbGFyYXRpb25fZmlsZXNfMTMxNVwiLFwiR2xvYmFsIG1vZHVsZSBleHBvcnRzIG1heSBvbmx5IGFwcGVhciBpbiBkZWNsYXJhdGlvbiBmaWxlcy5cIiksR2xvYmFsX21vZHVsZV9leHBvcnRzX21heV9vbmx5X2FwcGVhcl9hdF90b3BfbGV2ZWw6cigxMzE2LDEsXCJHbG9iYWxfbW9kdWxlX2V4cG9ydHNfbWF5X29ubHlfYXBwZWFyX2F0X3RvcF9sZXZlbF8xMzE2XCIsXCJHbG9iYWwgbW9kdWxlIGV4cG9ydHMgbWF5IG9ubHkgYXBwZWFyIGF0IHRvcCBsZXZlbC5cIiksQV9wYXJhbWV0ZXJfcHJvcGVydHlfY2Fubm90X2JlX2RlY2xhcmVkX3VzaW5nX2FfcmVzdF9wYXJhbWV0ZXI6cigxMzE3LDEsXCJBX3BhcmFtZXRlcl9wcm9wZXJ0eV9jYW5ub3RfYmVfZGVjbGFyZWRfdXNpbmdfYV9yZXN0X3BhcmFtZXRlcl8xMzE3XCIsXCJBIHBhcmFtZXRlciBwcm9wZXJ0eSBjYW5ub3QgYmUgZGVjbGFyZWQgdXNpbmcgYSByZXN0IHBhcmFtZXRlci5cIiksQW5fYWJzdHJhY3RfYWNjZXNzb3JfY2Fubm90X2hhdmVfYW5faW1wbGVtZW50YXRpb246cigxMzE4LDEsXCJBbl9hYnN0cmFjdF9hY2Nlc3Nvcl9jYW5ub3RfaGF2ZV9hbl9pbXBsZW1lbnRhdGlvbl8xMzE4XCIsXCJBbiBhYnN0cmFjdCBhY2Nlc3NvciBjYW5ub3QgaGF2ZSBhbiBpbXBsZW1lbnRhdGlvbi5cIiksQV9kZWZhdWx0X2V4cG9ydF9jYW5fb25seV9iZV91c2VkX2luX2FuX0VDTUFTY3JpcHRfc3R5bGVfbW9kdWxlOnIoMTMxOSwxLFwiQV9kZWZhdWx0X2V4cG9ydF9jYW5fb25seV9iZV91c2VkX2luX2FuX0VDTUFTY3JpcHRfc3R5bGVfbW9kdWxlXzEzMTlcIixcIkEgZGVmYXVsdCBleHBvcnQgY2FuIG9ubHkgYmUgdXNlZCBpbiBhbiBFQ01BU2NyaXB0LXN0eWxlIG1vZHVsZS5cIiksVHlwZV9vZl9hd2FpdF9vcGVyYW5kX211c3RfZWl0aGVyX2JlX2FfdmFsaWRfcHJvbWlzZV9vcl9tdXN0X25vdF9jb250YWluX2FfY2FsbGFibGVfdGhlbl9tZW1iZXI6cigxMzIwLDEsXCJUeXBlX29mX2F3YWl0X29wZXJhbmRfbXVzdF9laXRoZXJfYmVfYV92YWxpZF9wcm9taXNlX29yX211c3Rfbm90X2NvbnRhaW5fYV9jYWxsYWJsZV90aGVuX21lbWJlcl8xMzIwXCIsXCJUeXBlIG9mICdhd2FpdCcgb3BlcmFuZCBtdXN0IGVpdGhlciBiZSBhIHZhbGlkIHByb21pc2Ugb3IgbXVzdCBub3QgY29udGFpbiBhIGNhbGxhYmxlICd0aGVuJyBtZW1iZXIuXCIpLFR5cGVfb2ZfeWllbGRfb3BlcmFuZF9pbl9hbl9hc3luY19nZW5lcmF0b3JfbXVzdF9laXRoZXJfYmVfYV92YWxpZF9wcm9taXNlX29yX211c3Rfbm90X2NvbnRhaW5fYV9jYWxsYWJsZV90aGVuX21lbWJlcjpyKDEzMjEsMSxcIlR5cGVfb2ZfeWllbGRfb3BlcmFuZF9pbl9hbl9hc3luY19nZW5lcmF0b3JfbXVzdF9laXRoZXJfYmVfYV92YWxpZF9wcm9taXNlX29yX211c3Rfbm90X2NvbnRhaW5fYV9jYWxfMTMyMVwiLFwiVHlwZSBvZiAneWllbGQnIG9wZXJhbmQgaW4gYW4gYXN5bmMgZ2VuZXJhdG9yIG11c3QgZWl0aGVyIGJlIGEgdmFsaWQgcHJvbWlzZSBvciBtdXN0IG5vdCBjb250YWluIGEgY2FsbGFibGUgJ3RoZW4nIG1lbWJlci5cIiksVHlwZV9vZl9pdGVyYXRlZF9lbGVtZW50c19vZl9hX3lpZWxkX0FzdGVyaXNrX29wZXJhbmRfbXVzdF9laXRoZXJfYmVfYV92YWxpZF9wcm9taXNlX29yX211c3Rfbm90X2NvbnRhaW5fYV9jYWxsYWJsZV90aGVuX21lbWJlcjpyKDEzMjIsMSxcIlR5cGVfb2ZfaXRlcmF0ZWRfZWxlbWVudHNfb2ZfYV95aWVsZF9Bc3Rlcmlza19vcGVyYW5kX211c3RfZWl0aGVyX2JlX2FfdmFsaWRfcHJvbWlzZV9vcl9tdXN0X25vdF9jb25fMTMyMlwiLFwiVHlwZSBvZiBpdGVyYXRlZCBlbGVtZW50cyBvZiBhICd5aWVsZConIG9wZXJhbmQgbXVzdCBlaXRoZXIgYmUgYSB2YWxpZCBwcm9taXNlIG9yIG11c3Qgbm90IGNvbnRhaW4gYSBjYWxsYWJsZSAndGhlbicgbWVtYmVyLlwiKSxEeW5hbWljX2ltcG9ydHNfYXJlX29ubHlfc3VwcG9ydGVkX3doZW5fdGhlX21vZHVsZV9mbGFnX2lzX3NldF90b19lczIwMjBfZXMyMDIyX2VzbmV4dF9jb21tb25qc19hbWRfc3lzdGVtX3VtZF9ub2RlMTZfb3Jfbm9kZW5leHQ6cigxMzIzLDEsXCJEeW5hbWljX2ltcG9ydHNfYXJlX29ubHlfc3VwcG9ydGVkX3doZW5fdGhlX21vZHVsZV9mbGFnX2lzX3NldF90b19lczIwMjBfZXMyMDIyX2VzbmV4dF9jb21tb25qc19hbWRfXzEzMjNcIixcIkR5bmFtaWMgaW1wb3J0cyBhcmUgb25seSBzdXBwb3J0ZWQgd2hlbiB0aGUgJy0tbW9kdWxlJyBmbGFnIGlzIHNldCB0byAnZXMyMDIwJywgJ2VzMjAyMicsICdlc25leHQnLCAnY29tbW9uanMnLCAnYW1kJywgJ3N5c3RlbScsICd1bWQnLCAnbm9kZTE2Jywgb3IgJ25vZGVuZXh0Jy5cIiksRHluYW1pY19pbXBvcnRzX29ubHlfc3VwcG9ydF9hX3NlY29uZF9hcmd1bWVudF93aGVuX3RoZV9tb2R1bGVfb3B0aW9uX2lzX3NldF90b19lc25leHRfbm9kZTE2X25vZGVuZXh0X29yX3ByZXNlcnZlOnIoMTMyNCwxLFwiRHluYW1pY19pbXBvcnRzX29ubHlfc3VwcG9ydF9hX3NlY29uZF9hcmd1bWVudF93aGVuX3RoZV9tb2R1bGVfb3B0aW9uX2lzX3NldF90b19lc25leHRfbm9kZTE2X25vZGVuZV8xMzI0XCIsXCJEeW5hbWljIGltcG9ydHMgb25seSBzdXBwb3J0IGEgc2Vjb25kIGFyZ3VtZW50IHdoZW4gdGhlICctLW1vZHVsZScgb3B0aW9uIGlzIHNldCB0byAnZXNuZXh0JywgJ25vZGUxNicsICdub2RlbmV4dCcsIG9yICdwcmVzZXJ2ZScuXCIpLEFyZ3VtZW50X29mX2R5bmFtaWNfaW1wb3J0X2Nhbm5vdF9iZV9zcHJlYWRfZWxlbWVudDpyKDEzMjUsMSxcIkFyZ3VtZW50X29mX2R5bmFtaWNfaW1wb3J0X2Nhbm5vdF9iZV9zcHJlYWRfZWxlbWVudF8xMzI1XCIsXCJBcmd1bWVudCBvZiBkeW5hbWljIGltcG9ydCBjYW5ub3QgYmUgc3ByZWFkIGVsZW1lbnQuXCIpLFRoaXNfdXNlX29mX2ltcG9ydF9pc19pbnZhbGlkX2ltcG9ydF9jYWxsc19jYW5fYmVfd3JpdHRlbl9idXRfdGhleV9tdXN0X2hhdmVfcGFyZW50aGVzZXNfYW5kX2Nhbm5vdF9oYXZlX3R5cGVfYXJndW1lbnRzOnIoMTMyNiwxLFwiVGhpc191c2Vfb2ZfaW1wb3J0X2lzX2ludmFsaWRfaW1wb3J0X2NhbGxzX2Nhbl9iZV93cml0dGVuX2J1dF90aGV5X211c3RfaGF2ZV9wYXJlbnRoZXNlc19hbmRfY2Fubm90X18xMzI2XCIsXCJUaGlzIHVzZSBvZiAnaW1wb3J0JyBpcyBpbnZhbGlkLiAnaW1wb3J0KCknIGNhbGxzIGNhbiBiZSB3cml0dGVuLCBidXQgdGhleSBtdXN0IGhhdmUgcGFyZW50aGVzZXMgYW5kIGNhbm5vdCBoYXZlIHR5cGUgYXJndW1lbnRzLlwiKSxTdHJpbmdfbGl0ZXJhbF93aXRoX2RvdWJsZV9xdW90ZXNfZXhwZWN0ZWQ6cigxMzI3LDEsXCJTdHJpbmdfbGl0ZXJhbF93aXRoX2RvdWJsZV9xdW90ZXNfZXhwZWN0ZWRfMTMyN1wiLFwiU3RyaW5nIGxpdGVyYWwgd2l0aCBkb3VibGUgcXVvdGVzIGV4cGVjdGVkLlwiKSxQcm9wZXJ0eV92YWx1ZV9jYW5fb25seV9iZV9zdHJpbmdfbGl0ZXJhbF9udW1lcmljX2xpdGVyYWxfdHJ1ZV9mYWxzZV9udWxsX29iamVjdF9saXRlcmFsX29yX2FycmF5X2xpdGVyYWw6cigxMzI4LDEsXCJQcm9wZXJ0eV92YWx1ZV9jYW5fb25seV9iZV9zdHJpbmdfbGl0ZXJhbF9udW1lcmljX2xpdGVyYWxfdHJ1ZV9mYWxzZV9udWxsX29iamVjdF9saXRlcmFsX29yX2FycmF5X2xpXzEzMjhcIixcIlByb3BlcnR5IHZhbHVlIGNhbiBvbmx5IGJlIHN0cmluZyBsaXRlcmFsLCBudW1lcmljIGxpdGVyYWwsICd0cnVlJywgJ2ZhbHNlJywgJ251bGwnLCBvYmplY3QgbGl0ZXJhbCBvciBhcnJheSBsaXRlcmFsLlwiKSxfMF9hY2NlcHRzX3Rvb19mZXdfYXJndW1lbnRzX3RvX2JlX3VzZWRfYXNfYV9kZWNvcmF0b3JfaGVyZV9EaWRfeW91X21lYW5fdG9fY2FsbF9pdF9maXJzdF9hbmRfd3JpdGVfMDpyKDEzMjksMSxcIl8wX2FjY2VwdHNfdG9vX2Zld19hcmd1bWVudHNfdG9fYmVfdXNlZF9hc19hX2RlY29yYXRvcl9oZXJlX0RpZF95b3VfbWVhbl90b19jYWxsX2l0X2ZpcnN0X2FuZF93cml0ZV9fMTMyOVwiLFwiJ3swfScgYWNjZXB0cyB0b28gZmV3IGFyZ3VtZW50cyB0byBiZSB1c2VkIGFzIGEgZGVjb3JhdG9yIGhlcmUuIERpZCB5b3UgbWVhbiB0byBjYWxsIGl0IGZpcnN0IGFuZCB3cml0ZSAnQHswfSgpJz9cIiksQV9wcm9wZXJ0eV9vZl9hbl9pbnRlcmZhY2Vfb3JfdHlwZV9saXRlcmFsX3dob3NlX3R5cGVfaXNfYV91bmlxdWVfc3ltYm9sX3R5cGVfbXVzdF9iZV9yZWFkb25seTpyKDEzMzAsMSxcIkFfcHJvcGVydHlfb2ZfYW5faW50ZXJmYWNlX29yX3R5cGVfbGl0ZXJhbF93aG9zZV90eXBlX2lzX2FfdW5pcXVlX3N5bWJvbF90eXBlX211c3RfYmVfcmVhZG9ubHlfMTMzMFwiLFwiQSBwcm9wZXJ0eSBvZiBhbiBpbnRlcmZhY2Ugb3IgdHlwZSBsaXRlcmFsIHdob3NlIHR5cGUgaXMgYSAndW5pcXVlIHN5bWJvbCcgdHlwZSBtdXN0IGJlICdyZWFkb25seScuXCIpLEFfcHJvcGVydHlfb2ZfYV9jbGFzc193aG9zZV90eXBlX2lzX2FfdW5pcXVlX3N5bWJvbF90eXBlX211c3RfYmVfYm90aF9zdGF0aWNfYW5kX3JlYWRvbmx5OnIoMTMzMSwxLFwiQV9wcm9wZXJ0eV9vZl9hX2NsYXNzX3dob3NlX3R5cGVfaXNfYV91bmlxdWVfc3ltYm9sX3R5cGVfbXVzdF9iZV9ib3RoX3N0YXRpY19hbmRfcmVhZG9ubHlfMTMzMVwiLFwiQSBwcm9wZXJ0eSBvZiBhIGNsYXNzIHdob3NlIHR5cGUgaXMgYSAndW5pcXVlIHN5bWJvbCcgdHlwZSBtdXN0IGJlIGJvdGggJ3N0YXRpYycgYW5kICdyZWFkb25seScuXCIpLEFfdmFyaWFibGVfd2hvc2VfdHlwZV9pc19hX3VuaXF1ZV9zeW1ib2xfdHlwZV9tdXN0X2JlX2NvbnN0OnIoMTMzMiwxLFwiQV92YXJpYWJsZV93aG9zZV90eXBlX2lzX2FfdW5pcXVlX3N5bWJvbF90eXBlX211c3RfYmVfY29uc3RfMTMzMlwiLFwiQSB2YXJpYWJsZSB3aG9zZSB0eXBlIGlzIGEgJ3VuaXF1ZSBzeW1ib2wnIHR5cGUgbXVzdCBiZSAnY29uc3QnLlwiKSx1bmlxdWVfc3ltYm9sX3R5cGVzX21heV9ub3RfYmVfdXNlZF9vbl9hX3ZhcmlhYmxlX2RlY2xhcmF0aW9uX3dpdGhfYV9iaW5kaW5nX25hbWU6cigxMzMzLDEsXCJ1bmlxdWVfc3ltYm9sX3R5cGVzX21heV9ub3RfYmVfdXNlZF9vbl9hX3ZhcmlhYmxlX2RlY2xhcmF0aW9uX3dpdGhfYV9iaW5kaW5nX25hbWVfMTMzM1wiLFwiJ3VuaXF1ZSBzeW1ib2wnIHR5cGVzIG1heSBub3QgYmUgdXNlZCBvbiBhIHZhcmlhYmxlIGRlY2xhcmF0aW9uIHdpdGggYSBiaW5kaW5nIG5hbWUuXCIpLHVuaXF1ZV9zeW1ib2xfdHlwZXNfYXJlX29ubHlfYWxsb3dlZF9vbl92YXJpYWJsZXNfaW5fYV92YXJpYWJsZV9zdGF0ZW1lbnQ6cigxMzM0LDEsXCJ1bmlxdWVfc3ltYm9sX3R5cGVzX2FyZV9vbmx5X2FsbG93ZWRfb25fdmFyaWFibGVzX2luX2FfdmFyaWFibGVfc3RhdGVtZW50XzEzMzRcIixcIid1bmlxdWUgc3ltYm9sJyB0eXBlcyBhcmUgb25seSBhbGxvd2VkIG9uIHZhcmlhYmxlcyBpbiBhIHZhcmlhYmxlIHN0YXRlbWVudC5cIiksdW5pcXVlX3N5bWJvbF90eXBlc19hcmVfbm90X2FsbG93ZWRfaGVyZTpyKDEzMzUsMSxcInVuaXF1ZV9zeW1ib2xfdHlwZXNfYXJlX25vdF9hbGxvd2VkX2hlcmVfMTMzNVwiLFwiJ3VuaXF1ZSBzeW1ib2wnIHR5cGVzIGFyZSBub3QgYWxsb3dlZCBoZXJlLlwiKSxBbl9pbmRleF9zaWduYXR1cmVfcGFyYW1ldGVyX3R5cGVfY2Fubm90X2JlX2FfbGl0ZXJhbF90eXBlX29yX2dlbmVyaWNfdHlwZV9Db25zaWRlcl91c2luZ19hX21hcHBlZF9vYmplY3RfdHlwZV9pbnN0ZWFkOnIoMTMzNywxLFwiQW5faW5kZXhfc2lnbmF0dXJlX3BhcmFtZXRlcl90eXBlX2Nhbm5vdF9iZV9hX2xpdGVyYWxfdHlwZV9vcl9nZW5lcmljX3R5cGVfQ29uc2lkZXJfdXNpbmdfYV9tYXBwZWRfb18xMzM3XCIsXCJBbiBpbmRleCBzaWduYXR1cmUgcGFyYW1ldGVyIHR5cGUgY2Fubm90IGJlIGEgbGl0ZXJhbCB0eXBlIG9yIGdlbmVyaWMgdHlwZS4gQ29uc2lkZXIgdXNpbmcgYSBtYXBwZWQgb2JqZWN0IHR5cGUgaW5zdGVhZC5cIiksaW5mZXJfZGVjbGFyYXRpb25zX2FyZV9vbmx5X3Blcm1pdHRlZF9pbl90aGVfZXh0ZW5kc19jbGF1c2Vfb2ZfYV9jb25kaXRpb25hbF90eXBlOnIoMTMzOCwxLFwiaW5mZXJfZGVjbGFyYXRpb25zX2FyZV9vbmx5X3Blcm1pdHRlZF9pbl90aGVfZXh0ZW5kc19jbGF1c2Vfb2ZfYV9jb25kaXRpb25hbF90eXBlXzEzMzhcIixcIidpbmZlcicgZGVjbGFyYXRpb25zIGFyZSBvbmx5IHBlcm1pdHRlZCBpbiB0aGUgJ2V4dGVuZHMnIGNsYXVzZSBvZiBhIGNvbmRpdGlvbmFsIHR5cGUuXCIpLE1vZHVsZV8wX2RvZXNfbm90X3JlZmVyX3RvX2FfdmFsdWVfYnV0X2lzX3VzZWRfYXNfYV92YWx1ZV9oZXJlOnIoMTMzOSwxLFwiTW9kdWxlXzBfZG9lc19ub3RfcmVmZXJfdG9fYV92YWx1ZV9idXRfaXNfdXNlZF9hc19hX3ZhbHVlX2hlcmVfMTMzOVwiLFwiTW9kdWxlICd7MH0nIGRvZXMgbm90IHJlZmVyIHRvIGEgdmFsdWUsIGJ1dCBpcyB1c2VkIGFzIGEgdmFsdWUgaGVyZS5cIiksTW9kdWxlXzBfZG9lc19ub3RfcmVmZXJfdG9fYV90eXBlX2J1dF9pc191c2VkX2FzX2FfdHlwZV9oZXJlX0RpZF95b3VfbWVhbl90eXBlb2ZfaW1wb3J0XzA6cigxMzQwLDEsXCJNb2R1bGVfMF9kb2VzX25vdF9yZWZlcl90b19hX3R5cGVfYnV0X2lzX3VzZWRfYXNfYV90eXBlX2hlcmVfRGlkX3lvdV9tZWFuX3R5cGVvZl9pbXBvcnRfMF8xMzQwXCIsXCJNb2R1bGUgJ3swfScgZG9lcyBub3QgcmVmZXIgdG8gYSB0eXBlLCBidXQgaXMgdXNlZCBhcyBhIHR5cGUgaGVyZS4gRGlkIHlvdSBtZWFuICd0eXBlb2YgaW1wb3J0KCd7MH0nKSc/XCIpLENsYXNzX2NvbnN0cnVjdG9yX21heV9ub3RfYmVfYW5fYWNjZXNzb3I6cigxMzQxLDEsXCJDbGFzc19jb25zdHJ1Y3Rvcl9tYXlfbm90X2JlX2FuX2FjY2Vzc29yXzEzNDFcIixcIkNsYXNzIGNvbnN0cnVjdG9yIG1heSBub3QgYmUgYW4gYWNjZXNzb3IuXCIpLFRoZV9pbXBvcnRfbWV0YV9tZXRhX3Byb3BlcnR5X2lzX29ubHlfYWxsb3dlZF93aGVuX3RoZV9tb2R1bGVfb3B0aW9uX2lzX2VzMjAyMF9lczIwMjJfZXNuZXh0X3N5c3RlbV9ub2RlMTZfb3Jfbm9kZW5leHQ6cigxMzQzLDEsXCJUaGVfaW1wb3J0X21ldGFfbWV0YV9wcm9wZXJ0eV9pc19vbmx5X2FsbG93ZWRfd2hlbl90aGVfbW9kdWxlX29wdGlvbl9pc19lczIwMjBfZXMyMDIyX2VzbmV4dF9zeXN0ZW1fXzEzNDNcIixcIlRoZSAnaW1wb3J0Lm1ldGEnIG1ldGEtcHJvcGVydHkgaXMgb25seSBhbGxvd2VkIHdoZW4gdGhlICctLW1vZHVsZScgb3B0aW9uIGlzICdlczIwMjAnLCAnZXMyMDIyJywgJ2VzbmV4dCcsICdzeXN0ZW0nLCAnbm9kZTE2Jywgb3IgJ25vZGVuZXh0Jy5cIiksQV9sYWJlbF9pc19ub3RfYWxsb3dlZF9oZXJlOnIoMTM0NCwxLFwiQV9sYWJlbF9pc19ub3RfYWxsb3dlZF9oZXJlXzEzNDRcIixcIidBIGxhYmVsIGlzIG5vdCBhbGxvd2VkIGhlcmUuXCIpLEFuX2V4cHJlc3Npb25fb2ZfdHlwZV92b2lkX2Nhbm5vdF9iZV90ZXN0ZWRfZm9yX3RydXRoaW5lc3M6cigxMzQ1LDEsXCJBbl9leHByZXNzaW9uX29mX3R5cGVfdm9pZF9jYW5ub3RfYmVfdGVzdGVkX2Zvcl90cnV0aGluZXNzXzEzNDVcIixcIkFuIGV4cHJlc3Npb24gb2YgdHlwZSAndm9pZCcgY2Fubm90IGJlIHRlc3RlZCBmb3IgdHJ1dGhpbmVzcy5cIiksVGhpc19wYXJhbWV0ZXJfaXNfbm90X2FsbG93ZWRfd2l0aF91c2Vfc3RyaWN0X2RpcmVjdGl2ZTpyKDEzNDYsMSxcIlRoaXNfcGFyYW1ldGVyX2lzX25vdF9hbGxvd2VkX3dpdGhfdXNlX3N0cmljdF9kaXJlY3RpdmVfMTM0NlwiLFwiVGhpcyBwYXJhbWV0ZXIgaXMgbm90IGFsbG93ZWQgd2l0aCAndXNlIHN0cmljdCcgZGlyZWN0aXZlLlwiKSx1c2Vfc3RyaWN0X2RpcmVjdGl2ZV9jYW5ub3RfYmVfdXNlZF93aXRoX25vbl9zaW1wbGVfcGFyYW1ldGVyX2xpc3Q6cigxMzQ3LDEsXCJ1c2Vfc3RyaWN0X2RpcmVjdGl2ZV9jYW5ub3RfYmVfdXNlZF93aXRoX25vbl9zaW1wbGVfcGFyYW1ldGVyX2xpc3RfMTM0N1wiLFwiJ3VzZSBzdHJpY3QnIGRpcmVjdGl2ZSBjYW5ub3QgYmUgdXNlZCB3aXRoIG5vbi1zaW1wbGUgcGFyYW1ldGVyIGxpc3QuXCIpLE5vbl9zaW1wbGVfcGFyYW1ldGVyX2RlY2xhcmVkX2hlcmU6cigxMzQ4LDEsXCJOb25fc2ltcGxlX3BhcmFtZXRlcl9kZWNsYXJlZF9oZXJlXzEzNDhcIixcIk5vbi1zaW1wbGUgcGFyYW1ldGVyIGRlY2xhcmVkIGhlcmUuXCIpLHVzZV9zdHJpY3RfZGlyZWN0aXZlX3VzZWRfaGVyZTpyKDEzNDksMSxcInVzZV9zdHJpY3RfZGlyZWN0aXZlX3VzZWRfaGVyZV8xMzQ5XCIsXCIndXNlIHN0cmljdCcgZGlyZWN0aXZlIHVzZWQgaGVyZS5cIiksUHJpbnRfdGhlX2ZpbmFsX2NvbmZpZ3VyYXRpb25faW5zdGVhZF9vZl9idWlsZGluZzpyKDEzNTAsMyxcIlByaW50X3RoZV9maW5hbF9jb25maWd1cmF0aW9uX2luc3RlYWRfb2ZfYnVpbGRpbmdfMTM1MFwiLFwiUHJpbnQgdGhlIGZpbmFsIGNvbmZpZ3VyYXRpb24gaW5zdGVhZCBvZiBidWlsZGluZy5cIiksQW5faWRlbnRpZmllcl9vcl9rZXl3b3JkX2Nhbm5vdF9pbW1lZGlhdGVseV9mb2xsb3dfYV9udW1lcmljX2xpdGVyYWw6cigxMzUxLDEsXCJBbl9pZGVudGlmaWVyX29yX2tleXdvcmRfY2Fubm90X2ltbWVkaWF0ZWx5X2ZvbGxvd19hX251bWVyaWNfbGl0ZXJhbF8xMzUxXCIsXCJBbiBpZGVudGlmaWVyIG9yIGtleXdvcmQgY2Fubm90IGltbWVkaWF0ZWx5IGZvbGxvdyBhIG51bWVyaWMgbGl0ZXJhbC5cIiksQV9iaWdpbnRfbGl0ZXJhbF9jYW5ub3RfdXNlX2V4cG9uZW50aWFsX25vdGF0aW9uOnIoMTM1MiwxLFwiQV9iaWdpbnRfbGl0ZXJhbF9jYW5ub3RfdXNlX2V4cG9uZW50aWFsX25vdGF0aW9uXzEzNTJcIixcIkEgYmlnaW50IGxpdGVyYWwgY2Fubm90IHVzZSBleHBvbmVudGlhbCBub3RhdGlvbi5cIiksQV9iaWdpbnRfbGl0ZXJhbF9tdXN0X2JlX2FuX2ludGVnZXI6cigxMzUzLDEsXCJBX2JpZ2ludF9saXRlcmFsX211c3RfYmVfYW5faW50ZWdlcl8xMzUzXCIsXCJBIGJpZ2ludCBsaXRlcmFsIG11c3QgYmUgYW4gaW50ZWdlci5cIikscmVhZG9ubHlfdHlwZV9tb2RpZmllcl9pc19vbmx5X3Blcm1pdHRlZF9vbl9hcnJheV9hbmRfdHVwbGVfbGl0ZXJhbF90eXBlczpyKDEzNTQsMSxcInJlYWRvbmx5X3R5cGVfbW9kaWZpZXJfaXNfb25seV9wZXJtaXR0ZWRfb25fYXJyYXlfYW5kX3R1cGxlX2xpdGVyYWxfdHlwZXNfMTM1NFwiLFwiJ3JlYWRvbmx5JyB0eXBlIG1vZGlmaWVyIGlzIG9ubHkgcGVybWl0dGVkIG9uIGFycmF5IGFuZCB0dXBsZSBsaXRlcmFsIHR5cGVzLlwiKSxBX2NvbnN0X2Fzc2VydGlvbnNfY2FuX29ubHlfYmVfYXBwbGllZF90b19yZWZlcmVuY2VzX3RvX2VudW1fbWVtYmVyc19vcl9zdHJpbmdfbnVtYmVyX2Jvb2xlYW5fYXJyYXlfb3Jfb2JqZWN0X2xpdGVyYWxzOnIoMTM1NSwxLFwiQV9jb25zdF9hc3NlcnRpb25zX2Nhbl9vbmx5X2JlX2FwcGxpZWRfdG9fcmVmZXJlbmNlc190b19lbnVtX21lbWJlcnNfb3Jfc3RyaW5nX251bWJlcl9ib29sZWFuX2FycmF5X18xMzU1XCIsXCJBICdjb25zdCcgYXNzZXJ0aW9ucyBjYW4gb25seSBiZSBhcHBsaWVkIHRvIHJlZmVyZW5jZXMgdG8gZW51bSBtZW1iZXJzLCBvciBzdHJpbmcsIG51bWJlciwgYm9vbGVhbiwgYXJyYXksIG9yIG9iamVjdCBsaXRlcmFscy5cIiksRGlkX3lvdV9tZWFuX3RvX21hcmtfdGhpc19mdW5jdGlvbl9hc19hc3luYzpyKDEzNTYsMSxcIkRpZF95b3VfbWVhbl90b19tYXJrX3RoaXNfZnVuY3Rpb25fYXNfYXN5bmNfMTM1NlwiLFwiRGlkIHlvdSBtZWFuIHRvIG1hcmsgdGhpcyBmdW5jdGlvbiBhcyAnYXN5bmMnP1wiKSxBbl9lbnVtX21lbWJlcl9uYW1lX211c3RfYmVfZm9sbG93ZWRfYnlfYV9vcjpyKDEzNTcsMSxcIkFuX2VudW1fbWVtYmVyX25hbWVfbXVzdF9iZV9mb2xsb3dlZF9ieV9hX29yXzEzNTdcIixcIkFuIGVudW0gbWVtYmVyIG5hbWUgbXVzdCBiZSBmb2xsb3dlZCBieSBhICcsJywgJz0nLCBvciAnfScuXCIpLFRhZ2dlZF90ZW1wbGF0ZV9leHByZXNzaW9uc19hcmVfbm90X3Blcm1pdHRlZF9pbl9hbl9vcHRpb25hbF9jaGFpbjpyKDEzNTgsMSxcIlRhZ2dlZF90ZW1wbGF0ZV9leHByZXNzaW9uc19hcmVfbm90X3Blcm1pdHRlZF9pbl9hbl9vcHRpb25hbF9jaGFpbl8xMzU4XCIsXCJUYWdnZWQgdGVtcGxhdGUgZXhwcmVzc2lvbnMgYXJlIG5vdCBwZXJtaXR0ZWQgaW4gYW4gb3B0aW9uYWwgY2hhaW4uXCIpLElkZW50aWZpZXJfZXhwZWN0ZWRfMF9pc19hX3Jlc2VydmVkX3dvcmRfdGhhdF9jYW5ub3RfYmVfdXNlZF9oZXJlOnIoMTM1OSwxLFwiSWRlbnRpZmllcl9leHBlY3RlZF8wX2lzX2FfcmVzZXJ2ZWRfd29yZF90aGF0X2Nhbm5vdF9iZV91c2VkX2hlcmVfMTM1OVwiLFwiSWRlbnRpZmllciBleHBlY3RlZC4gJ3swfScgaXMgYSByZXNlcnZlZCB3b3JkIHRoYXQgY2Fubm90IGJlIHVzZWQgaGVyZS5cIiksVHlwZV8wX2RvZXNfbm90X3NhdGlzZnlfdGhlX2V4cGVjdGVkX3R5cGVfMTpyKDEzNjAsMSxcIlR5cGVfMF9kb2VzX25vdF9zYXRpc2Z5X3RoZV9leHBlY3RlZF90eXBlXzFfMTM2MFwiLFwiVHlwZSAnezB9JyBkb2VzIG5vdCBzYXRpc2Z5IHRoZSBleHBlY3RlZCB0eXBlICd7MX0nLlwiKSxfMF9jYW5ub3RfYmVfdXNlZF9hc19hX3ZhbHVlX2JlY2F1c2VfaXRfd2FzX2ltcG9ydGVkX3VzaW5nX2ltcG9ydF90eXBlOnIoMTM2MSwxLFwiXzBfY2Fubm90X2JlX3VzZWRfYXNfYV92YWx1ZV9iZWNhdXNlX2l0X3dhc19pbXBvcnRlZF91c2luZ19pbXBvcnRfdHlwZV8xMzYxXCIsXCInezB9JyBjYW5ub3QgYmUgdXNlZCBhcyBhIHZhbHVlIGJlY2F1c2UgaXQgd2FzIGltcG9ydGVkIHVzaW5nICdpbXBvcnQgdHlwZScuXCIpLF8wX2Nhbm5vdF9iZV91c2VkX2FzX2FfdmFsdWVfYmVjYXVzZV9pdF93YXNfZXhwb3J0ZWRfdXNpbmdfZXhwb3J0X3R5cGU6cigxMzYyLDEsXCJfMF9jYW5ub3RfYmVfdXNlZF9hc19hX3ZhbHVlX2JlY2F1c2VfaXRfd2FzX2V4cG9ydGVkX3VzaW5nX2V4cG9ydF90eXBlXzEzNjJcIixcIid7MH0nIGNhbm5vdCBiZSB1c2VkIGFzIGEgdmFsdWUgYmVjYXVzZSBpdCB3YXMgZXhwb3J0ZWQgdXNpbmcgJ2V4cG9ydCB0eXBlJy5cIiksQV90eXBlX29ubHlfaW1wb3J0X2Nhbl9zcGVjaWZ5X2FfZGVmYXVsdF9pbXBvcnRfb3JfbmFtZWRfYmluZGluZ3NfYnV0X25vdF9ib3RoOnIoMTM2MywxLFwiQV90eXBlX29ubHlfaW1wb3J0X2Nhbl9zcGVjaWZ5X2FfZGVmYXVsdF9pbXBvcnRfb3JfbmFtZWRfYmluZGluZ3NfYnV0X25vdF9ib3RoXzEzNjNcIixcIkEgdHlwZS1vbmx5IGltcG9ydCBjYW4gc3BlY2lmeSBhIGRlZmF1bHQgaW1wb3J0IG9yIG5hbWVkIGJpbmRpbmdzLCBidXQgbm90IGJvdGguXCIpLENvbnZlcnRfdG9fdHlwZV9vbmx5X2V4cG9ydDpyKDEzNjQsMyxcIkNvbnZlcnRfdG9fdHlwZV9vbmx5X2V4cG9ydF8xMzY0XCIsXCJDb252ZXJ0IHRvIHR5cGUtb25seSBleHBvcnRcIiksQ29udmVydF9hbGxfcmVfZXhwb3J0ZWRfdHlwZXNfdG9fdHlwZV9vbmx5X2V4cG9ydHM6cigxMzY1LDMsXCJDb252ZXJ0X2FsbF9yZV9leHBvcnRlZF90eXBlc190b190eXBlX29ubHlfZXhwb3J0c18xMzY1XCIsXCJDb252ZXJ0IGFsbCByZS1leHBvcnRlZCB0eXBlcyB0byB0eXBlLW9ubHkgZXhwb3J0c1wiKSxTcGxpdF9pbnRvX3R3b19zZXBhcmF0ZV9pbXBvcnRfZGVjbGFyYXRpb25zOnIoMTM2NiwzLFwiU3BsaXRfaW50b190d29fc2VwYXJhdGVfaW1wb3J0X2RlY2xhcmF0aW9uc18xMzY2XCIsXCJTcGxpdCBpbnRvIHR3byBzZXBhcmF0ZSBpbXBvcnQgZGVjbGFyYXRpb25zXCIpLFNwbGl0X2FsbF9pbnZhbGlkX3R5cGVfb25seV9pbXBvcnRzOnIoMTM2NywzLFwiU3BsaXRfYWxsX2ludmFsaWRfdHlwZV9vbmx5X2ltcG9ydHNfMTM2N1wiLFwiU3BsaXQgYWxsIGludmFsaWQgdHlwZS1vbmx5IGltcG9ydHNcIiksQ2xhc3NfY29uc3RydWN0b3JfbWF5X25vdF9iZV9hX2dlbmVyYXRvcjpyKDEzNjgsMSxcIkNsYXNzX2NvbnN0cnVjdG9yX21heV9ub3RfYmVfYV9nZW5lcmF0b3JfMTM2OFwiLFwiQ2xhc3MgY29uc3RydWN0b3IgbWF5IG5vdCBiZSBhIGdlbmVyYXRvci5cIiksRGlkX3lvdV9tZWFuXzA6cigxMzY5LDMsXCJEaWRfeW91X21lYW5fMF8xMzY5XCIsXCJEaWQgeW91IG1lYW4gJ3swfSc/XCIpLGF3YWl0X2V4cHJlc3Npb25zX2FyZV9vbmx5X2FsbG93ZWRfYXRfdGhlX3RvcF9sZXZlbF9vZl9hX2ZpbGVfd2hlbl90aGF0X2ZpbGVfaXNfYV9tb2R1bGVfYnV0X3RoaXNfZmlsZV9oYXNfbm9faW1wb3J0c19vcl9leHBvcnRzX0NvbnNpZGVyX2FkZGluZ19hbl9lbXB0eV9leHBvcnRfdG9fbWFrZV90aGlzX2ZpbGVfYV9tb2R1bGU6cigxMzc1LDEsXCJhd2FpdF9leHByZXNzaW9uc19hcmVfb25seV9hbGxvd2VkX2F0X3RoZV90b3BfbGV2ZWxfb2ZfYV9maWxlX3doZW5fdGhhdF9maWxlX2lzX2FfbW9kdWxlX2J1dF90aGlzX2ZpXzEzNzVcIixcIidhd2FpdCcgZXhwcmVzc2lvbnMgYXJlIG9ubHkgYWxsb3dlZCBhdCB0aGUgdG9wIGxldmVsIG9mIGEgZmlsZSB3aGVuIHRoYXQgZmlsZSBpcyBhIG1vZHVsZSwgYnV0IHRoaXMgZmlsZSBoYXMgbm8gaW1wb3J0cyBvciBleHBvcnRzLiBDb25zaWRlciBhZGRpbmcgYW4gZW1wdHkgJ2V4cG9ydCB7fScgdG8gbWFrZSB0aGlzIGZpbGUgYSBtb2R1bGUuXCIpLF8wX3dhc19pbXBvcnRlZF9oZXJlOnIoMTM3NiwzLFwiXzBfd2FzX2ltcG9ydGVkX2hlcmVfMTM3NlwiLFwiJ3swfScgd2FzIGltcG9ydGVkIGhlcmUuXCIpLF8wX3dhc19leHBvcnRlZF9oZXJlOnIoMTM3NywzLFwiXzBfd2FzX2V4cG9ydGVkX2hlcmVfMTM3N1wiLFwiJ3swfScgd2FzIGV4cG9ydGVkIGhlcmUuXCIpLFRvcF9sZXZlbF9hd2FpdF9leHByZXNzaW9uc19hcmVfb25seV9hbGxvd2VkX3doZW5fdGhlX21vZHVsZV9vcHRpb25faXNfc2V0X3RvX2VzMjAyMl9lc25leHRfc3lzdGVtX25vZGUxNl9ub2RlbmV4dF9vcl9wcmVzZXJ2ZV9hbmRfdGhlX3RhcmdldF9vcHRpb25faXNfc2V0X3RvX2VzMjAxN19vcl9oaWdoZXI6cigxMzc4LDEsXCJUb3BfbGV2ZWxfYXdhaXRfZXhwcmVzc2lvbnNfYXJlX29ubHlfYWxsb3dlZF93aGVuX3RoZV9tb2R1bGVfb3B0aW9uX2lzX3NldF90b19lczIwMjJfZXNuZXh0X3N5c3RlbV9uXzEzNzhcIixcIlRvcC1sZXZlbCAnYXdhaXQnIGV4cHJlc3Npb25zIGFyZSBvbmx5IGFsbG93ZWQgd2hlbiB0aGUgJ21vZHVsZScgb3B0aW9uIGlzIHNldCB0byAnZXMyMDIyJywgJ2VzbmV4dCcsICdzeXN0ZW0nLCAnbm9kZTE2JywgJ25vZGVuZXh0Jywgb3IgJ3ByZXNlcnZlJywgYW5kIHRoZSAndGFyZ2V0JyBvcHRpb24gaXMgc2V0IHRvICdlczIwMTcnIG9yIGhpZ2hlci5cIiksQW5faW1wb3J0X2FsaWFzX2Nhbm5vdF9yZWZlcmVuY2VfYV9kZWNsYXJhdGlvbl90aGF0X3dhc19leHBvcnRlZF91c2luZ19leHBvcnRfdHlwZTpyKDEzNzksMSxcIkFuX2ltcG9ydF9hbGlhc19jYW5ub3RfcmVmZXJlbmNlX2FfZGVjbGFyYXRpb25fdGhhdF93YXNfZXhwb3J0ZWRfdXNpbmdfZXhwb3J0X3R5cGVfMTM3OVwiLFwiQW4gaW1wb3J0IGFsaWFzIGNhbm5vdCByZWZlcmVuY2UgYSBkZWNsYXJhdGlvbiB0aGF0IHdhcyBleHBvcnRlZCB1c2luZyAnZXhwb3J0IHR5cGUnLlwiKSxBbl9pbXBvcnRfYWxpYXNfY2Fubm90X3JlZmVyZW5jZV9hX2RlY2xhcmF0aW9uX3RoYXRfd2FzX2ltcG9ydGVkX3VzaW5nX2ltcG9ydF90eXBlOnIoMTM4MCwxLFwiQW5faW1wb3J0X2FsaWFzX2Nhbm5vdF9yZWZlcmVuY2VfYV9kZWNsYXJhdGlvbl90aGF0X3dhc19pbXBvcnRlZF91c2luZ19pbXBvcnRfdHlwZV8xMzgwXCIsXCJBbiBpbXBvcnQgYWxpYXMgY2Fubm90IHJlZmVyZW5jZSBhIGRlY2xhcmF0aW9uIHRoYXQgd2FzIGltcG9ydGVkIHVzaW5nICdpbXBvcnQgdHlwZScuXCIpLFVuZXhwZWN0ZWRfdG9rZW5fRGlkX3lvdV9tZWFuX29yX3JicmFjZTpyKDEzODEsMSxcIlVuZXhwZWN0ZWRfdG9rZW5fRGlkX3lvdV9tZWFuX29yX3JicmFjZV8xMzgxXCIsXCJVbmV4cGVjdGVkIHRva2VuLiBEaWQgeW91IG1lYW4gYHsnfSd9YCBvciBgJnJicmFjZTtgP1wiKSxVbmV4cGVjdGVkX3Rva2VuX0RpZF95b3VfbWVhbl9vcl9ndDpyKDEzODIsMSxcIlVuZXhwZWN0ZWRfdG9rZW5fRGlkX3lvdV9tZWFuX29yX2d0XzEzODJcIixcIlVuZXhwZWN0ZWQgdG9rZW4uIERpZCB5b3UgbWVhbiBgeyc+J31gIG9yIGAmZ3Q7YD9cIiksRnVuY3Rpb25fdHlwZV9ub3RhdGlvbl9tdXN0X2JlX3BhcmVudGhlc2l6ZWRfd2hlbl91c2VkX2luX2FfdW5pb25fdHlwZTpyKDEzODUsMSxcIkZ1bmN0aW9uX3R5cGVfbm90YXRpb25fbXVzdF9iZV9wYXJlbnRoZXNpemVkX3doZW5fdXNlZF9pbl9hX3VuaW9uX3R5cGVfMTM4NVwiLFwiRnVuY3Rpb24gdHlwZSBub3RhdGlvbiBtdXN0IGJlIHBhcmVudGhlc2l6ZWQgd2hlbiB1c2VkIGluIGEgdW5pb24gdHlwZS5cIiksQ29uc3RydWN0b3JfdHlwZV9ub3RhdGlvbl9tdXN0X2JlX3BhcmVudGhlc2l6ZWRfd2hlbl91c2VkX2luX2FfdW5pb25fdHlwZTpyKDEzODYsMSxcIkNvbnN0cnVjdG9yX3R5cGVfbm90YXRpb25fbXVzdF9iZV9wYXJlbnRoZXNpemVkX3doZW5fdXNlZF9pbl9hX3VuaW9uX3R5cGVfMTM4NlwiLFwiQ29uc3RydWN0b3IgdHlwZSBub3RhdGlvbiBtdXN0IGJlIHBhcmVudGhlc2l6ZWQgd2hlbiB1c2VkIGluIGEgdW5pb24gdHlwZS5cIiksRnVuY3Rpb25fdHlwZV9ub3RhdGlvbl9tdXN0X2JlX3BhcmVudGhlc2l6ZWRfd2hlbl91c2VkX2luX2FuX2ludGVyc2VjdGlvbl90eXBlOnIoMTM4NywxLFwiRnVuY3Rpb25fdHlwZV9ub3RhdGlvbl9tdXN0X2JlX3BhcmVudGhlc2l6ZWRfd2hlbl91c2VkX2luX2FuX2ludGVyc2VjdGlvbl90eXBlXzEzODdcIixcIkZ1bmN0aW9uIHR5cGUgbm90YXRpb24gbXVzdCBiZSBwYXJlbnRoZXNpemVkIHdoZW4gdXNlZCBpbiBhbiBpbnRlcnNlY3Rpb24gdHlwZS5cIiksQ29uc3RydWN0b3JfdHlwZV9ub3RhdGlvbl9tdXN0X2JlX3BhcmVudGhlc2l6ZWRfd2hlbl91c2VkX2luX2FuX2ludGVyc2VjdGlvbl90eXBlOnIoMTM4OCwxLFwiQ29uc3RydWN0b3JfdHlwZV9ub3RhdGlvbl9tdXN0X2JlX3BhcmVudGhlc2l6ZWRfd2hlbl91c2VkX2luX2FuX2ludGVyc2VjdGlvbl90eXBlXzEzODhcIixcIkNvbnN0cnVjdG9yIHR5cGUgbm90YXRpb24gbXVzdCBiZSBwYXJlbnRoZXNpemVkIHdoZW4gdXNlZCBpbiBhbiBpbnRlcnNlY3Rpb24gdHlwZS5cIiksXzBfaXNfbm90X2FsbG93ZWRfYXNfYV92YXJpYWJsZV9kZWNsYXJhdGlvbl9uYW1lOnIoMTM4OSwxLFwiXzBfaXNfbm90X2FsbG93ZWRfYXNfYV92YXJpYWJsZV9kZWNsYXJhdGlvbl9uYW1lXzEzODlcIixcIid7MH0nIGlzIG5vdCBhbGxvd2VkIGFzIGEgdmFyaWFibGUgZGVjbGFyYXRpb24gbmFtZS5cIiksXzBfaXNfbm90X2FsbG93ZWRfYXNfYV9wYXJhbWV0ZXJfbmFtZTpyKDEzOTAsMSxcIl8wX2lzX25vdF9hbGxvd2VkX2FzX2FfcGFyYW1ldGVyX25hbWVfMTM5MFwiLFwiJ3swfScgaXMgbm90IGFsbG93ZWQgYXMgYSBwYXJhbWV0ZXIgbmFtZS5cIiksQW5faW1wb3J0X2FsaWFzX2Nhbm5vdF91c2VfaW1wb3J0X3R5cGU6cigxMzkyLDEsXCJBbl9pbXBvcnRfYWxpYXNfY2Fubm90X3VzZV9pbXBvcnRfdHlwZV8xMzkyXCIsXCJBbiBpbXBvcnQgYWxpYXMgY2Fubm90IHVzZSAnaW1wb3J0IHR5cGUnXCIpLEltcG9ydGVkX3ZpYV8wX2Zyb21fZmlsZV8xOnIoMTM5MywzLFwiSW1wb3J0ZWRfdmlhXzBfZnJvbV9maWxlXzFfMTM5M1wiLFwiSW1wb3J0ZWQgdmlhIHswfSBmcm9tIGZpbGUgJ3sxfSdcIiksSW1wb3J0ZWRfdmlhXzBfZnJvbV9maWxlXzFfd2l0aF9wYWNrYWdlSWRfMjpyKDEzOTQsMyxcIkltcG9ydGVkX3ZpYV8wX2Zyb21fZmlsZV8xX3dpdGhfcGFja2FnZUlkXzJfMTM5NFwiLFwiSW1wb3J0ZWQgdmlhIHswfSBmcm9tIGZpbGUgJ3sxfScgd2l0aCBwYWNrYWdlSWQgJ3syfSdcIiksSW1wb3J0ZWRfdmlhXzBfZnJvbV9maWxlXzFfdG9faW1wb3J0X2ltcG9ydEhlbHBlcnNfYXNfc3BlY2lmaWVkX2luX2NvbXBpbGVyT3B0aW9uczpyKDEzOTUsMyxcIkltcG9ydGVkX3ZpYV8wX2Zyb21fZmlsZV8xX3RvX2ltcG9ydF9pbXBvcnRIZWxwZXJzX2FzX3NwZWNpZmllZF9pbl9jb21waWxlck9wdGlvbnNfMTM5NVwiLFwiSW1wb3J0ZWQgdmlhIHswfSBmcm9tIGZpbGUgJ3sxfScgdG8gaW1wb3J0ICdpbXBvcnRIZWxwZXJzJyBhcyBzcGVjaWZpZWQgaW4gY29tcGlsZXJPcHRpb25zXCIpLEltcG9ydGVkX3ZpYV8wX2Zyb21fZmlsZV8xX3dpdGhfcGFja2FnZUlkXzJfdG9faW1wb3J0X2ltcG9ydEhlbHBlcnNfYXNfc3BlY2lmaWVkX2luX2NvbXBpbGVyT3B0aW9uczpyKDEzOTYsMyxcIkltcG9ydGVkX3ZpYV8wX2Zyb21fZmlsZV8xX3dpdGhfcGFja2FnZUlkXzJfdG9faW1wb3J0X2ltcG9ydEhlbHBlcnNfYXNfc3BlY2lmaWVkX2luX2NvbXBpbGVyT3B0aW9uc18xMzk2XCIsXCJJbXBvcnRlZCB2aWEgezB9IGZyb20gZmlsZSAnezF9JyB3aXRoIHBhY2thZ2VJZCAnezJ9JyB0byBpbXBvcnQgJ2ltcG9ydEhlbHBlcnMnIGFzIHNwZWNpZmllZCBpbiBjb21waWxlck9wdGlvbnNcIiksSW1wb3J0ZWRfdmlhXzBfZnJvbV9maWxlXzFfdG9faW1wb3J0X2pzeF9hbmRfanN4c19mYWN0b3J5X2Z1bmN0aW9uczpyKDEzOTcsMyxcIkltcG9ydGVkX3ZpYV8wX2Zyb21fZmlsZV8xX3RvX2ltcG9ydF9qc3hfYW5kX2pzeHNfZmFjdG9yeV9mdW5jdGlvbnNfMTM5N1wiLFwiSW1wb3J0ZWQgdmlhIHswfSBmcm9tIGZpbGUgJ3sxfScgdG8gaW1wb3J0ICdqc3gnIGFuZCAnanN4cycgZmFjdG9yeSBmdW5jdGlvbnNcIiksSW1wb3J0ZWRfdmlhXzBfZnJvbV9maWxlXzFfd2l0aF9wYWNrYWdlSWRfMl90b19pbXBvcnRfanN4X2FuZF9qc3hzX2ZhY3RvcnlfZnVuY3Rpb25zOnIoMTM5OCwzLFwiSW1wb3J0ZWRfdmlhXzBfZnJvbV9maWxlXzFfd2l0aF9wYWNrYWdlSWRfMl90b19pbXBvcnRfanN4X2FuZF9qc3hzX2ZhY3RvcnlfZnVuY3Rpb25zXzEzOThcIixcIkltcG9ydGVkIHZpYSB7MH0gZnJvbSBmaWxlICd7MX0nIHdpdGggcGFja2FnZUlkICd7Mn0nIHRvIGltcG9ydCAnanN4JyBhbmQgJ2pzeHMnIGZhY3RvcnkgZnVuY3Rpb25zXCIpLEZpbGVfaXNfaW5jbHVkZWRfdmlhX2ltcG9ydF9oZXJlOnIoMTM5OSwzLFwiRmlsZV9pc19pbmNsdWRlZF92aWFfaW1wb3J0X2hlcmVfMTM5OVwiLFwiRmlsZSBpcyBpbmNsdWRlZCB2aWEgaW1wb3J0IGhlcmUuXCIpLFJlZmVyZW5jZWRfdmlhXzBfZnJvbV9maWxlXzE6cigxNDAwLDMsXCJSZWZlcmVuY2VkX3ZpYV8wX2Zyb21fZmlsZV8xXzE0MDBcIixcIlJlZmVyZW5jZWQgdmlhICd7MH0nIGZyb20gZmlsZSAnezF9J1wiKSxGaWxlX2lzX2luY2x1ZGVkX3ZpYV9yZWZlcmVuY2VfaGVyZTpyKDE0MDEsMyxcIkZpbGVfaXNfaW5jbHVkZWRfdmlhX3JlZmVyZW5jZV9oZXJlXzE0MDFcIixcIkZpbGUgaXMgaW5jbHVkZWQgdmlhIHJlZmVyZW5jZSBoZXJlLlwiKSxUeXBlX2xpYnJhcnlfcmVmZXJlbmNlZF92aWFfMF9mcm9tX2ZpbGVfMTpyKDE0MDIsMyxcIlR5cGVfbGlicmFyeV9yZWZlcmVuY2VkX3ZpYV8wX2Zyb21fZmlsZV8xXzE0MDJcIixcIlR5cGUgbGlicmFyeSByZWZlcmVuY2VkIHZpYSAnezB9JyBmcm9tIGZpbGUgJ3sxfSdcIiksVHlwZV9saWJyYXJ5X3JlZmVyZW5jZWRfdmlhXzBfZnJvbV9maWxlXzFfd2l0aF9wYWNrYWdlSWRfMjpyKDE0MDMsMyxcIlR5cGVfbGlicmFyeV9yZWZlcmVuY2VkX3ZpYV8wX2Zyb21fZmlsZV8xX3dpdGhfcGFja2FnZUlkXzJfMTQwM1wiLFwiVHlwZSBsaWJyYXJ5IHJlZmVyZW5jZWQgdmlhICd7MH0nIGZyb20gZmlsZSAnezF9JyB3aXRoIHBhY2thZ2VJZCAnezJ9J1wiKSxGaWxlX2lzX2luY2x1ZGVkX3ZpYV90eXBlX2xpYnJhcnlfcmVmZXJlbmNlX2hlcmU6cigxNDA0LDMsXCJGaWxlX2lzX2luY2x1ZGVkX3ZpYV90eXBlX2xpYnJhcnlfcmVmZXJlbmNlX2hlcmVfMTQwNFwiLFwiRmlsZSBpcyBpbmNsdWRlZCB2aWEgdHlwZSBsaWJyYXJ5IHJlZmVyZW5jZSBoZXJlLlwiKSxMaWJyYXJ5X3JlZmVyZW5jZWRfdmlhXzBfZnJvbV9maWxlXzE6cigxNDA1LDMsXCJMaWJyYXJ5X3JlZmVyZW5jZWRfdmlhXzBfZnJvbV9maWxlXzFfMTQwNVwiLFwiTGlicmFyeSByZWZlcmVuY2VkIHZpYSAnezB9JyBmcm9tIGZpbGUgJ3sxfSdcIiksRmlsZV9pc19pbmNsdWRlZF92aWFfbGlicmFyeV9yZWZlcmVuY2VfaGVyZTpyKDE0MDYsMyxcIkZpbGVfaXNfaW5jbHVkZWRfdmlhX2xpYnJhcnlfcmVmZXJlbmNlX2hlcmVfMTQwNlwiLFwiRmlsZSBpcyBpbmNsdWRlZCB2aWEgbGlicmFyeSByZWZlcmVuY2UgaGVyZS5cIiksTWF0Y2hlZF9ieV9pbmNsdWRlX3BhdHRlcm5fMF9pbl8xOnIoMTQwNywzLFwiTWF0Y2hlZF9ieV9pbmNsdWRlX3BhdHRlcm5fMF9pbl8xXzE0MDdcIixcIk1hdGNoZWQgYnkgaW5jbHVkZSBwYXR0ZXJuICd7MH0nIGluICd7MX0nXCIpLEZpbGVfaXNfbWF0Y2hlZF9ieV9pbmNsdWRlX3BhdHRlcm5fc3BlY2lmaWVkX2hlcmU6cigxNDA4LDMsXCJGaWxlX2lzX21hdGNoZWRfYnlfaW5jbHVkZV9wYXR0ZXJuX3NwZWNpZmllZF9oZXJlXzE0MDhcIixcIkZpbGUgaXMgbWF0Y2hlZCBieSBpbmNsdWRlIHBhdHRlcm4gc3BlY2lmaWVkIGhlcmUuXCIpLFBhcnRfb2ZfZmlsZXNfbGlzdF9pbl90c2NvbmZpZ19qc29uOnIoMTQwOSwzLFwiUGFydF9vZl9maWxlc19saXN0X2luX3RzY29uZmlnX2pzb25fMTQwOVwiLFwiUGFydCBvZiAnZmlsZXMnIGxpc3QgaW4gdHNjb25maWcuanNvblwiKSxGaWxlX2lzX21hdGNoZWRfYnlfZmlsZXNfbGlzdF9zcGVjaWZpZWRfaGVyZTpyKDE0MTAsMyxcIkZpbGVfaXNfbWF0Y2hlZF9ieV9maWxlc19saXN0X3NwZWNpZmllZF9oZXJlXzE0MTBcIixcIkZpbGUgaXMgbWF0Y2hlZCBieSAnZmlsZXMnIGxpc3Qgc3BlY2lmaWVkIGhlcmUuXCIpLE91dHB1dF9mcm9tX3JlZmVyZW5jZWRfcHJvamVjdF8wX2luY2x1ZGVkX2JlY2F1c2VfMV9zcGVjaWZpZWQ6cigxNDExLDMsXCJPdXRwdXRfZnJvbV9yZWZlcmVuY2VkX3Byb2plY3RfMF9pbmNsdWRlZF9iZWNhdXNlXzFfc3BlY2lmaWVkXzE0MTFcIixcIk91dHB1dCBmcm9tIHJlZmVyZW5jZWQgcHJvamVjdCAnezB9JyBpbmNsdWRlZCBiZWNhdXNlICd7MX0nIHNwZWNpZmllZFwiKSxPdXRwdXRfZnJvbV9yZWZlcmVuY2VkX3Byb2plY3RfMF9pbmNsdWRlZF9iZWNhdXNlX21vZHVsZV9pc19zcGVjaWZpZWRfYXNfbm9uZTpyKDE0MTIsMyxcIk91dHB1dF9mcm9tX3JlZmVyZW5jZWRfcHJvamVjdF8wX2luY2x1ZGVkX2JlY2F1c2VfbW9kdWxlX2lzX3NwZWNpZmllZF9hc19ub25lXzE0MTJcIixcIk91dHB1dCBmcm9tIHJlZmVyZW5jZWQgcHJvamVjdCAnezB9JyBpbmNsdWRlZCBiZWNhdXNlICctLW1vZHVsZScgaXMgc3BlY2lmaWVkIGFzICdub25lJ1wiKSxGaWxlX2lzX291dHB1dF9mcm9tX3JlZmVyZW5jZWRfcHJvamVjdF9zcGVjaWZpZWRfaGVyZTpyKDE0MTMsMyxcIkZpbGVfaXNfb3V0cHV0X2Zyb21fcmVmZXJlbmNlZF9wcm9qZWN0X3NwZWNpZmllZF9oZXJlXzE0MTNcIixcIkZpbGUgaXMgb3V0cHV0IGZyb20gcmVmZXJlbmNlZCBwcm9qZWN0IHNwZWNpZmllZCBoZXJlLlwiKSxTb3VyY2VfZnJvbV9yZWZlcmVuY2VkX3Byb2plY3RfMF9pbmNsdWRlZF9iZWNhdXNlXzFfc3BlY2lmaWVkOnIoMTQxNCwzLFwiU291cmNlX2Zyb21fcmVmZXJlbmNlZF9wcm9qZWN0XzBfaW5jbHVkZWRfYmVjYXVzZV8xX3NwZWNpZmllZF8xNDE0XCIsXCJTb3VyY2UgZnJvbSByZWZlcmVuY2VkIHByb2plY3QgJ3swfScgaW5jbHVkZWQgYmVjYXVzZSAnezF9JyBzcGVjaWZpZWRcIiksU291cmNlX2Zyb21fcmVmZXJlbmNlZF9wcm9qZWN0XzBfaW5jbHVkZWRfYmVjYXVzZV9tb2R1bGVfaXNfc3BlY2lmaWVkX2FzX25vbmU6cigxNDE1LDMsXCJTb3VyY2VfZnJvbV9yZWZlcmVuY2VkX3Byb2plY3RfMF9pbmNsdWRlZF9iZWNhdXNlX21vZHVsZV9pc19zcGVjaWZpZWRfYXNfbm9uZV8xNDE1XCIsXCJTb3VyY2UgZnJvbSByZWZlcmVuY2VkIHByb2plY3QgJ3swfScgaW5jbHVkZWQgYmVjYXVzZSAnLS1tb2R1bGUnIGlzIHNwZWNpZmllZCBhcyAnbm9uZSdcIiksRmlsZV9pc19zb3VyY2VfZnJvbV9yZWZlcmVuY2VkX3Byb2plY3Rfc3BlY2lmaWVkX2hlcmU6cigxNDE2LDMsXCJGaWxlX2lzX3NvdXJjZV9mcm9tX3JlZmVyZW5jZWRfcHJvamVjdF9zcGVjaWZpZWRfaGVyZV8xNDE2XCIsXCJGaWxlIGlzIHNvdXJjZSBmcm9tIHJlZmVyZW5jZWQgcHJvamVjdCBzcGVjaWZpZWQgaGVyZS5cIiksRW50cnlfcG9pbnRfb2ZfdHlwZV9saWJyYXJ5XzBfc3BlY2lmaWVkX2luX2NvbXBpbGVyT3B0aW9uczpyKDE0MTcsMyxcIkVudHJ5X3BvaW50X29mX3R5cGVfbGlicmFyeV8wX3NwZWNpZmllZF9pbl9jb21waWxlck9wdGlvbnNfMTQxN1wiLFwiRW50cnkgcG9pbnQgb2YgdHlwZSBsaWJyYXJ5ICd7MH0nIHNwZWNpZmllZCBpbiBjb21waWxlck9wdGlvbnNcIiksRW50cnlfcG9pbnRfb2ZfdHlwZV9saWJyYXJ5XzBfc3BlY2lmaWVkX2luX2NvbXBpbGVyT3B0aW9uc193aXRoX3BhY2thZ2VJZF8xOnIoMTQxOCwzLFwiRW50cnlfcG9pbnRfb2ZfdHlwZV9saWJyYXJ5XzBfc3BlY2lmaWVkX2luX2NvbXBpbGVyT3B0aW9uc193aXRoX3BhY2thZ2VJZF8xXzE0MThcIixcIkVudHJ5IHBvaW50IG9mIHR5cGUgbGlicmFyeSAnezB9JyBzcGVjaWZpZWQgaW4gY29tcGlsZXJPcHRpb25zIHdpdGggcGFja2FnZUlkICd7MX0nXCIpLEZpbGVfaXNfZW50cnlfcG9pbnRfb2ZfdHlwZV9saWJyYXJ5X3NwZWNpZmllZF9oZXJlOnIoMTQxOSwzLFwiRmlsZV9pc19lbnRyeV9wb2ludF9vZl90eXBlX2xpYnJhcnlfc3BlY2lmaWVkX2hlcmVfMTQxOVwiLFwiRmlsZSBpcyBlbnRyeSBwb2ludCBvZiB0eXBlIGxpYnJhcnkgc3BlY2lmaWVkIGhlcmUuXCIpLEVudHJ5X3BvaW50X2Zvcl9pbXBsaWNpdF90eXBlX2xpYnJhcnlfMDpyKDE0MjAsMyxcIkVudHJ5X3BvaW50X2Zvcl9pbXBsaWNpdF90eXBlX2xpYnJhcnlfMF8xNDIwXCIsXCJFbnRyeSBwb2ludCBmb3IgaW1wbGljaXQgdHlwZSBsaWJyYXJ5ICd7MH0nXCIpLEVudHJ5X3BvaW50X2Zvcl9pbXBsaWNpdF90eXBlX2xpYnJhcnlfMF93aXRoX3BhY2thZ2VJZF8xOnIoMTQyMSwzLFwiRW50cnlfcG9pbnRfZm9yX2ltcGxpY2l0X3R5cGVfbGlicmFyeV8wX3dpdGhfcGFja2FnZUlkXzFfMTQyMVwiLFwiRW50cnkgcG9pbnQgZm9yIGltcGxpY2l0IHR5cGUgbGlicmFyeSAnezB9JyB3aXRoIHBhY2thZ2VJZCAnezF9J1wiKSxMaWJyYXJ5XzBfc3BlY2lmaWVkX2luX2NvbXBpbGVyT3B0aW9uczpyKDE0MjIsMyxcIkxpYnJhcnlfMF9zcGVjaWZpZWRfaW5fY29tcGlsZXJPcHRpb25zXzE0MjJcIixcIkxpYnJhcnkgJ3swfScgc3BlY2lmaWVkIGluIGNvbXBpbGVyT3B0aW9uc1wiKSxGaWxlX2lzX2xpYnJhcnlfc3BlY2lmaWVkX2hlcmU6cigxNDIzLDMsXCJGaWxlX2lzX2xpYnJhcnlfc3BlY2lmaWVkX2hlcmVfMTQyM1wiLFwiRmlsZSBpcyBsaWJyYXJ5IHNwZWNpZmllZCBoZXJlLlwiKSxEZWZhdWx0X2xpYnJhcnk6cigxNDI0LDMsXCJEZWZhdWx0X2xpYnJhcnlfMTQyNFwiLFwiRGVmYXVsdCBsaWJyYXJ5XCIpLERlZmF1bHRfbGlicmFyeV9mb3JfdGFyZ2V0XzA6cigxNDI1LDMsXCJEZWZhdWx0X2xpYnJhcnlfZm9yX3RhcmdldF8wXzE0MjVcIixcIkRlZmF1bHQgbGlicmFyeSBmb3IgdGFyZ2V0ICd7MH0nXCIpLEZpbGVfaXNfZGVmYXVsdF9saWJyYXJ5X2Zvcl90YXJnZXRfc3BlY2lmaWVkX2hlcmU6cigxNDI2LDMsXCJGaWxlX2lzX2RlZmF1bHRfbGlicmFyeV9mb3JfdGFyZ2V0X3NwZWNpZmllZF9oZXJlXzE0MjZcIixcIkZpbGUgaXMgZGVmYXVsdCBsaWJyYXJ5IGZvciB0YXJnZXQgc3BlY2lmaWVkIGhlcmUuXCIpLFJvb3RfZmlsZV9zcGVjaWZpZWRfZm9yX2NvbXBpbGF0aW9uOnIoMTQyNywzLFwiUm9vdF9maWxlX3NwZWNpZmllZF9mb3JfY29tcGlsYXRpb25fMTQyN1wiLFwiUm9vdCBmaWxlIHNwZWNpZmllZCBmb3IgY29tcGlsYXRpb25cIiksRmlsZV9pc19vdXRwdXRfb2ZfcHJvamVjdF9yZWZlcmVuY2Vfc291cmNlXzA6cigxNDI4LDMsXCJGaWxlX2lzX291dHB1dF9vZl9wcm9qZWN0X3JlZmVyZW5jZV9zb3VyY2VfMF8xNDI4XCIsXCJGaWxlIGlzIG91dHB1dCBvZiBwcm9qZWN0IHJlZmVyZW5jZSBzb3VyY2UgJ3swfSdcIiksRmlsZV9yZWRpcmVjdHNfdG9fZmlsZV8wOnIoMTQyOSwzLFwiRmlsZV9yZWRpcmVjdHNfdG9fZmlsZV8wXzE0MjlcIixcIkZpbGUgcmVkaXJlY3RzIHRvIGZpbGUgJ3swfSdcIiksVGhlX2ZpbGVfaXNfaW5fdGhlX3Byb2dyYW1fYmVjYXVzZV9Db2xvbjpyKDE0MzAsMyxcIlRoZV9maWxlX2lzX2luX3RoZV9wcm9ncmFtX2JlY2F1c2VfQ29sb25fMTQzMFwiLFwiVGhlIGZpbGUgaXMgaW4gdGhlIHByb2dyYW0gYmVjYXVzZTpcIiksZm9yX2F3YWl0X2xvb3BzX2FyZV9vbmx5X2FsbG93ZWRfYXRfdGhlX3RvcF9sZXZlbF9vZl9hX2ZpbGVfd2hlbl90aGF0X2ZpbGVfaXNfYV9tb2R1bGVfYnV0X3RoaXNfZmlsZV9oYXNfbm9faW1wb3J0c19vcl9leHBvcnRzX0NvbnNpZGVyX2FkZGluZ19hbl9lbXB0eV9leHBvcnRfdG9fbWFrZV90aGlzX2ZpbGVfYV9tb2R1bGU6cigxNDMxLDEsXCJmb3JfYXdhaXRfbG9vcHNfYXJlX29ubHlfYWxsb3dlZF9hdF90aGVfdG9wX2xldmVsX29mX2FfZmlsZV93aGVuX3RoYXRfZmlsZV9pc19hX21vZHVsZV9idXRfdGhpc19maWxlXzE0MzFcIixcIidmb3IgYXdhaXQnIGxvb3BzIGFyZSBvbmx5IGFsbG93ZWQgYXQgdGhlIHRvcCBsZXZlbCBvZiBhIGZpbGUgd2hlbiB0aGF0IGZpbGUgaXMgYSBtb2R1bGUsIGJ1dCB0aGlzIGZpbGUgaGFzIG5vIGltcG9ydHMgb3IgZXhwb3J0cy4gQ29uc2lkZXIgYWRkaW5nIGFuIGVtcHR5ICdleHBvcnQge30nIHRvIG1ha2UgdGhpcyBmaWxlIGEgbW9kdWxlLlwiKSxUb3BfbGV2ZWxfZm9yX2F3YWl0X2xvb3BzX2FyZV9vbmx5X2FsbG93ZWRfd2hlbl90aGVfbW9kdWxlX29wdGlvbl9pc19zZXRfdG9fZXMyMDIyX2VzbmV4dF9zeXN0ZW1fbm9kZTE2X25vZGVuZXh0X29yX3ByZXNlcnZlX2FuZF90aGVfdGFyZ2V0X29wdGlvbl9pc19zZXRfdG9fZXMyMDE3X29yX2hpZ2hlcjpyKDE0MzIsMSxcIlRvcF9sZXZlbF9mb3JfYXdhaXRfbG9vcHNfYXJlX29ubHlfYWxsb3dlZF93aGVuX3RoZV9tb2R1bGVfb3B0aW9uX2lzX3NldF90b19lczIwMjJfZXNuZXh0X3N5c3RlbV9ub2RfMTQzMlwiLFwiVG9wLWxldmVsICdmb3IgYXdhaXQnIGxvb3BzIGFyZSBvbmx5IGFsbG93ZWQgd2hlbiB0aGUgJ21vZHVsZScgb3B0aW9uIGlzIHNldCB0byAnZXMyMDIyJywgJ2VzbmV4dCcsICdzeXN0ZW0nLCAnbm9kZTE2JywgJ25vZGVuZXh0Jywgb3IgJ3ByZXNlcnZlJywgYW5kIHRoZSAndGFyZ2V0JyBvcHRpb24gaXMgc2V0IHRvICdlczIwMTcnIG9yIGhpZ2hlci5cIiksTmVpdGhlcl9kZWNvcmF0b3JzX25vcl9tb2RpZmllcnNfbWF5X2JlX2FwcGxpZWRfdG9fdGhpc19wYXJhbWV0ZXJzOnIoMTQzMywxLFwiTmVpdGhlcl9kZWNvcmF0b3JzX25vcl9tb2RpZmllcnNfbWF5X2JlX2FwcGxpZWRfdG9fdGhpc19wYXJhbWV0ZXJzXzE0MzNcIixcIk5laXRoZXIgZGVjb3JhdG9ycyBub3IgbW9kaWZpZXJzIG1heSBiZSBhcHBsaWVkIHRvICd0aGlzJyBwYXJhbWV0ZXJzLlwiKSxVbmV4cGVjdGVkX2tleXdvcmRfb3JfaWRlbnRpZmllcjpyKDE0MzQsMSxcIlVuZXhwZWN0ZWRfa2V5d29yZF9vcl9pZGVudGlmaWVyXzE0MzRcIixcIlVuZXhwZWN0ZWQga2V5d29yZCBvciBpZGVudGlmaWVyLlwiKSxVbmtub3duX2tleXdvcmRfb3JfaWRlbnRpZmllcl9EaWRfeW91X21lYW5fMDpyKDE0MzUsMSxcIlVua25vd25fa2V5d29yZF9vcl9pZGVudGlmaWVyX0RpZF95b3VfbWVhbl8wXzE0MzVcIixcIlVua25vd24ga2V5d29yZCBvciBpZGVudGlmaWVyLiBEaWQgeW91IG1lYW4gJ3swfSc/XCIpLERlY29yYXRvcnNfbXVzdF9wcmVjZWRlX3RoZV9uYW1lX2FuZF9hbGxfa2V5d29yZHNfb2ZfcHJvcGVydHlfZGVjbGFyYXRpb25zOnIoMTQzNiwxLFwiRGVjb3JhdG9yc19tdXN0X3ByZWNlZGVfdGhlX25hbWVfYW5kX2FsbF9rZXl3b3Jkc19vZl9wcm9wZXJ0eV9kZWNsYXJhdGlvbnNfMTQzNlwiLFwiRGVjb3JhdG9ycyBtdXN0IHByZWNlZGUgdGhlIG5hbWUgYW5kIGFsbCBrZXl3b3JkcyBvZiBwcm9wZXJ0eSBkZWNsYXJhdGlvbnMuXCIpLE5hbWVzcGFjZV9tdXN0X2JlX2dpdmVuX2FfbmFtZTpyKDE0MzcsMSxcIk5hbWVzcGFjZV9tdXN0X2JlX2dpdmVuX2FfbmFtZV8xNDM3XCIsXCJOYW1lc3BhY2UgbXVzdCBiZSBnaXZlbiBhIG5hbWUuXCIpLEludGVyZmFjZV9tdXN0X2JlX2dpdmVuX2FfbmFtZTpyKDE0MzgsMSxcIkludGVyZmFjZV9tdXN0X2JlX2dpdmVuX2FfbmFtZV8xNDM4XCIsXCJJbnRlcmZhY2UgbXVzdCBiZSBnaXZlbiBhIG5hbWUuXCIpLFR5cGVfYWxpYXNfbXVzdF9iZV9naXZlbl9hX25hbWU6cigxNDM5LDEsXCJUeXBlX2FsaWFzX211c3RfYmVfZ2l2ZW5fYV9uYW1lXzE0MzlcIixcIlR5cGUgYWxpYXMgbXVzdCBiZSBnaXZlbiBhIG5hbWUuXCIpLFZhcmlhYmxlX2RlY2xhcmF0aW9uX25vdF9hbGxvd2VkX2F0X3RoaXNfbG9jYXRpb246cigxNDQwLDEsXCJWYXJpYWJsZV9kZWNsYXJhdGlvbl9ub3RfYWxsb3dlZF9hdF90aGlzX2xvY2F0aW9uXzE0NDBcIixcIlZhcmlhYmxlIGRlY2xhcmF0aW9uIG5vdCBhbGxvd2VkIGF0IHRoaXMgbG9jYXRpb24uXCIpLENhbm5vdF9zdGFydF9hX2Z1bmN0aW9uX2NhbGxfaW5fYV90eXBlX2Fubm90YXRpb246cigxNDQxLDEsXCJDYW5ub3Rfc3RhcnRfYV9mdW5jdGlvbl9jYWxsX2luX2FfdHlwZV9hbm5vdGF0aW9uXzE0NDFcIixcIkNhbm5vdCBzdGFydCBhIGZ1bmN0aW9uIGNhbGwgaW4gYSB0eXBlIGFubm90YXRpb24uXCIpLEV4cGVjdGVkX2Zvcl9wcm9wZXJ0eV9pbml0aWFsaXplcjpyKDE0NDIsMSxcIkV4cGVjdGVkX2Zvcl9wcm9wZXJ0eV9pbml0aWFsaXplcl8xNDQyXCIsXCJFeHBlY3RlZCAnPScgZm9yIHByb3BlcnR5IGluaXRpYWxpemVyLlwiKSxNb2R1bGVfZGVjbGFyYXRpb25fbmFtZXNfbWF5X29ubHlfdXNlX29yX3F1b3RlZF9zdHJpbmdzOnIoMTQ0MywxLFwiTW9kdWxlX2RlY2xhcmF0aW9uX25hbWVzX21heV9vbmx5X3VzZV9vcl9xdW90ZWRfc3RyaW5nc18xNDQzXCIsYE1vZHVsZSBkZWNsYXJhdGlvbiBuYW1lcyBtYXkgb25seSB1c2UgJyBvciBcIiBxdW90ZWQgc3RyaW5ncy5gKSxfMF9yZXNvbHZlc190b19hX3R5cGVfb25seV9kZWNsYXJhdGlvbl9hbmRfbXVzdF9iZV9yZV9leHBvcnRlZF91c2luZ19hX3R5cGVfb25seV9yZV9leHBvcnRfd2hlbl8xX2lzX2VuYWJsZWQ6cigxNDQ4LDEsXCJfMF9yZXNvbHZlc190b19hX3R5cGVfb25seV9kZWNsYXJhdGlvbl9hbmRfbXVzdF9iZV9yZV9leHBvcnRlZF91c2luZ19hX3R5cGVfb25seV9yZV9leHBvcnRfd2hlbl8xX2lzXzE0NDhcIixcIid7MH0nIHJlc29sdmVzIHRvIGEgdHlwZS1vbmx5IGRlY2xhcmF0aW9uIGFuZCBtdXN0IGJlIHJlLWV4cG9ydGVkIHVzaW5nIGEgdHlwZS1vbmx5IHJlLWV4cG9ydCB3aGVuICd7MX0nIGlzIGVuYWJsZWQuXCIpLFByZXNlcnZlX3VudXNlZF9pbXBvcnRlZF92YWx1ZXNfaW5fdGhlX0phdmFTY3JpcHRfb3V0cHV0X3RoYXRfd291bGRfb3RoZXJ3aXNlX2JlX3JlbW92ZWQ6cigxNDQ5LDMsXCJQcmVzZXJ2ZV91bnVzZWRfaW1wb3J0ZWRfdmFsdWVzX2luX3RoZV9KYXZhU2NyaXB0X291dHB1dF90aGF0X3dvdWxkX290aGVyd2lzZV9iZV9yZW1vdmVkXzE0NDlcIixcIlByZXNlcnZlIHVudXNlZCBpbXBvcnRlZCB2YWx1ZXMgaW4gdGhlIEphdmFTY3JpcHQgb3V0cHV0IHRoYXQgd291bGQgb3RoZXJ3aXNlIGJlIHJlbW92ZWQuXCIpLER5bmFtaWNfaW1wb3J0c19jYW5fb25seV9hY2NlcHRfYV9tb2R1bGVfc3BlY2lmaWVyX2FuZF9hbl9vcHRpb25hbF9zZXRfb2ZfYXR0cmlidXRlc19hc19hcmd1bWVudHM6cigxNDUwLDMsXCJEeW5hbWljX2ltcG9ydHNfY2FuX29ubHlfYWNjZXB0X2FfbW9kdWxlX3NwZWNpZmllcl9hbmRfYW5fb3B0aW9uYWxfc2V0X29mX2F0dHJpYnV0ZXNfYXNfYXJndW1lbnRzXzE0NTBcIixcIkR5bmFtaWMgaW1wb3J0cyBjYW4gb25seSBhY2NlcHQgYSBtb2R1bGUgc3BlY2lmaWVyIGFuZCBhbiBvcHRpb25hbCBzZXQgb2YgYXR0cmlidXRlcyBhcyBhcmd1bWVudHNcIiksUHJpdmF0ZV9pZGVudGlmaWVyc19hcmVfb25seV9hbGxvd2VkX2luX2NsYXNzX2JvZGllc19hbmRfbWF5X29ubHlfYmVfdXNlZF9hc19wYXJ0X29mX2FfY2xhc3NfbWVtYmVyX2RlY2xhcmF0aW9uX3Byb3BlcnR5X2FjY2Vzc19vcl9vbl90aGVfbGVmdF9oYW5kX3NpZGVfb2ZfYW5faW5fZXhwcmVzc2lvbjpyKDE0NTEsMSxcIlByaXZhdGVfaWRlbnRpZmllcnNfYXJlX29ubHlfYWxsb3dlZF9pbl9jbGFzc19ib2RpZXNfYW5kX21heV9vbmx5X2JlX3VzZWRfYXNfcGFydF9vZl9hX2NsYXNzX21lbWJlcl9fMTQ1MVwiLFwiUHJpdmF0ZSBpZGVudGlmaWVycyBhcmUgb25seSBhbGxvd2VkIGluIGNsYXNzIGJvZGllcyBhbmQgbWF5IG9ubHkgYmUgdXNlZCBhcyBwYXJ0IG9mIGEgY2xhc3MgbWVtYmVyIGRlY2xhcmF0aW9uLCBwcm9wZXJ0eSBhY2Nlc3MsIG9yIG9uIHRoZSBsZWZ0LWhhbmQtc2lkZSBvZiBhbiAnaW4nIGV4cHJlc3Npb25cIikscmVzb2x1dGlvbl9tb2RlX3Nob3VsZF9iZV9laXRoZXJfcmVxdWlyZV9vcl9pbXBvcnQ6cigxNDUzLDEsXCJyZXNvbHV0aW9uX21vZGVfc2hvdWxkX2JlX2VpdGhlcl9yZXF1aXJlX29yX2ltcG9ydF8xNDUzXCIsXCJgcmVzb2x1dGlvbi1tb2RlYCBzaG91bGQgYmUgZWl0aGVyIGByZXF1aXJlYCBvciBgaW1wb3J0YC5cIikscmVzb2x1dGlvbl9tb2RlX2Nhbl9vbmx5X2JlX3NldF9mb3JfdHlwZV9vbmx5X2ltcG9ydHM6cigxNDU0LDEsXCJyZXNvbHV0aW9uX21vZGVfY2FuX29ubHlfYmVfc2V0X2Zvcl90eXBlX29ubHlfaW1wb3J0c18xNDU0XCIsXCJgcmVzb2x1dGlvbi1tb2RlYCBjYW4gb25seSBiZSBzZXQgZm9yIHR5cGUtb25seSBpbXBvcnRzLlwiKSxyZXNvbHV0aW9uX21vZGVfaXNfdGhlX29ubHlfdmFsaWRfa2V5X2Zvcl90eXBlX2ltcG9ydF9hc3NlcnRpb25zOnIoMTQ1NSwxLFwicmVzb2x1dGlvbl9tb2RlX2lzX3RoZV9vbmx5X3ZhbGlkX2tleV9mb3JfdHlwZV9pbXBvcnRfYXNzZXJ0aW9uc18xNDU1XCIsXCJgcmVzb2x1dGlvbi1tb2RlYCBpcyB0aGUgb25seSB2YWxpZCBrZXkgZm9yIHR5cGUgaW1wb3J0IGFzc2VydGlvbnMuXCIpLFR5cGVfaW1wb3J0X2Fzc2VydGlvbnNfc2hvdWxkX2hhdmVfZXhhY3RseV9vbmVfa2V5X3Jlc29sdXRpb25fbW9kZV93aXRoX3ZhbHVlX2ltcG9ydF9vcl9yZXF1aXJlOnIoMTQ1NiwxLFwiVHlwZV9pbXBvcnRfYXNzZXJ0aW9uc19zaG91bGRfaGF2ZV9leGFjdGx5X29uZV9rZXlfcmVzb2x1dGlvbl9tb2RlX3dpdGhfdmFsdWVfaW1wb3J0X29yX3JlcXVpcmVfMTQ1NlwiLFwiVHlwZSBpbXBvcnQgYXNzZXJ0aW9ucyBzaG91bGQgaGF2ZSBleGFjdGx5IG9uZSBrZXkgLSBgcmVzb2x1dGlvbi1tb2RlYCAtIHdpdGggdmFsdWUgYGltcG9ydGAgb3IgYHJlcXVpcmVgLlwiKSxNYXRjaGVkX2J5X2RlZmF1bHRfaW5jbHVkZV9wYXR0ZXJuX0FzdGVyaXNrX0FzdGVyaXNrX1NsYXNoX0FzdGVyaXNrOnIoMTQ1NywzLFwiTWF0Y2hlZF9ieV9kZWZhdWx0X2luY2x1ZGVfcGF0dGVybl9Bc3Rlcmlza19Bc3Rlcmlza19TbGFzaF9Bc3Rlcmlza18xNDU3XCIsXCJNYXRjaGVkIGJ5IGRlZmF1bHQgaW5jbHVkZSBwYXR0ZXJuICcqKi8qJ1wiKSxGaWxlX2lzX0VDTUFTY3JpcHRfbW9kdWxlX2JlY2F1c2VfMF9oYXNfZmllbGRfdHlwZV93aXRoX3ZhbHVlX21vZHVsZTpyKDE0NTgsMyxcIkZpbGVfaXNfRUNNQVNjcmlwdF9tb2R1bGVfYmVjYXVzZV8wX2hhc19maWVsZF90eXBlX3dpdGhfdmFsdWVfbW9kdWxlXzE0NThcIixgRmlsZSBpcyBFQ01BU2NyaXB0IG1vZHVsZSBiZWNhdXNlICd7MH0nIGhhcyBmaWVsZCBcInR5cGVcIiB3aXRoIHZhbHVlIFwibW9kdWxlXCJgKSxGaWxlX2lzX0NvbW1vbkpTX21vZHVsZV9iZWNhdXNlXzBfaGFzX2ZpZWxkX3R5cGVfd2hvc2VfdmFsdWVfaXNfbm90X21vZHVsZTpyKDE0NTksMyxcIkZpbGVfaXNfQ29tbW9uSlNfbW9kdWxlX2JlY2F1c2VfMF9oYXNfZmllbGRfdHlwZV93aG9zZV92YWx1ZV9pc19ub3RfbW9kdWxlXzE0NTlcIixgRmlsZSBpcyBDb21tb25KUyBtb2R1bGUgYmVjYXVzZSAnezB9JyBoYXMgZmllbGQgXCJ0eXBlXCIgd2hvc2UgdmFsdWUgaXMgbm90IFwibW9kdWxlXCJgKSxGaWxlX2lzX0NvbW1vbkpTX21vZHVsZV9iZWNhdXNlXzBfZG9lc19ub3RfaGF2ZV9maWVsZF90eXBlOnIoMTQ2MCwzLFwiRmlsZV9pc19Db21tb25KU19tb2R1bGVfYmVjYXVzZV8wX2RvZXNfbm90X2hhdmVfZmllbGRfdHlwZV8xNDYwXCIsYEZpbGUgaXMgQ29tbW9uSlMgbW9kdWxlIGJlY2F1c2UgJ3swfScgZG9lcyBub3QgaGF2ZSBmaWVsZCBcInR5cGVcImApLEZpbGVfaXNfQ29tbW9uSlNfbW9kdWxlX2JlY2F1c2VfcGFja2FnZV9qc29uX3dhc19ub3RfZm91bmQ6cigxNDYxLDMsXCJGaWxlX2lzX0NvbW1vbkpTX21vZHVsZV9iZWNhdXNlX3BhY2thZ2VfanNvbl93YXNfbm90X2ZvdW5kXzE0NjFcIixcIkZpbGUgaXMgQ29tbW9uSlMgbW9kdWxlIGJlY2F1c2UgJ3BhY2thZ2UuanNvbicgd2FzIG5vdCBmb3VuZFwiKSxyZXNvbHV0aW9uX21vZGVfaXNfdGhlX29ubHlfdmFsaWRfa2V5X2Zvcl90eXBlX2ltcG9ydF9hdHRyaWJ1dGVzOnIoMTQ2MywxLFwicmVzb2x1dGlvbl9tb2RlX2lzX3RoZV9vbmx5X3ZhbGlkX2tleV9mb3JfdHlwZV9pbXBvcnRfYXR0cmlidXRlc18xNDYzXCIsXCIncmVzb2x1dGlvbi1tb2RlJyBpcyB0aGUgb25seSB2YWxpZCBrZXkgZm9yIHR5cGUgaW1wb3J0IGF0dHJpYnV0ZXMuXCIpLFR5cGVfaW1wb3J0X2F0dHJpYnV0ZXNfc2hvdWxkX2hhdmVfZXhhY3RseV9vbmVfa2V5X3Jlc29sdXRpb25fbW9kZV93aXRoX3ZhbHVlX2ltcG9ydF9vcl9yZXF1aXJlOnIoMTQ2NCwxLFwiVHlwZV9pbXBvcnRfYXR0cmlidXRlc19zaG91bGRfaGF2ZV9leGFjdGx5X29uZV9rZXlfcmVzb2x1dGlvbl9tb2RlX3dpdGhfdmFsdWVfaW1wb3J0X29yX3JlcXVpcmVfMTQ2NFwiLFwiVHlwZSBpbXBvcnQgYXR0cmlidXRlcyBzaG91bGQgaGF2ZSBleGFjdGx5IG9uZSBrZXkgLSAncmVzb2x1dGlvbi1tb2RlJyAtIHdpdGggdmFsdWUgJ2ltcG9ydCcgb3IgJ3JlcXVpcmUnLlwiKSxUaGVfaW1wb3J0X21ldGFfbWV0YV9wcm9wZXJ0eV9pc19ub3RfYWxsb3dlZF9pbl9maWxlc193aGljaF93aWxsX2J1aWxkX2ludG9fQ29tbW9uSlNfb3V0cHV0OnIoMTQ3MCwxLFwiVGhlX2ltcG9ydF9tZXRhX21ldGFfcHJvcGVydHlfaXNfbm90X2FsbG93ZWRfaW5fZmlsZXNfd2hpY2hfd2lsbF9idWlsZF9pbnRvX0NvbW1vbkpTX291dHB1dF8xNDcwXCIsXCJUaGUgJ2ltcG9ydC5tZXRhJyBtZXRhLXByb3BlcnR5IGlzIG5vdCBhbGxvd2VkIGluIGZpbGVzIHdoaWNoIHdpbGwgYnVpbGQgaW50byBDb21tb25KUyBvdXRwdXQuXCIpLE1vZHVsZV8wX2Nhbm5vdF9iZV9pbXBvcnRlZF91c2luZ190aGlzX2NvbnN0cnVjdF9UaGVfc3BlY2lmaWVyX29ubHlfcmVzb2x2ZXNfdG9fYW5fRVNfbW9kdWxlX3doaWNoX2Nhbm5vdF9iZV9pbXBvcnRlZF93aXRoX3JlcXVpcmVfVXNlX2FuX0VDTUFTY3JpcHRfaW1wb3J0X2luc3RlYWQ6cigxNDcxLDEsXCJNb2R1bGVfMF9jYW5ub3RfYmVfaW1wb3J0ZWRfdXNpbmdfdGhpc19jb25zdHJ1Y3RfVGhlX3NwZWNpZmllcl9vbmx5X3Jlc29sdmVzX3RvX2FuX0VTX21vZHVsZV93aGljaF9jXzE0NzFcIixcIk1vZHVsZSAnezB9JyBjYW5ub3QgYmUgaW1wb3J0ZWQgdXNpbmcgdGhpcyBjb25zdHJ1Y3QuIFRoZSBzcGVjaWZpZXIgb25seSByZXNvbHZlcyB0byBhbiBFUyBtb2R1bGUsIHdoaWNoIGNhbm5vdCBiZSBpbXBvcnRlZCB3aXRoICdyZXF1aXJlJy4gVXNlIGFuIEVDTUFTY3JpcHQgaW1wb3J0IGluc3RlYWQuXCIpLGNhdGNoX29yX2ZpbmFsbHlfZXhwZWN0ZWQ6cigxNDcyLDEsXCJjYXRjaF9vcl9maW5hbGx5X2V4cGVjdGVkXzE0NzJcIixcIidjYXRjaCcgb3IgJ2ZpbmFsbHknIGV4cGVjdGVkLlwiKSxBbl9pbXBvcnRfZGVjbGFyYXRpb25fY2FuX29ubHlfYmVfdXNlZF9hdF90aGVfdG9wX2xldmVsX29mX2FfbW9kdWxlOnIoMTQ3MywxLFwiQW5faW1wb3J0X2RlY2xhcmF0aW9uX2Nhbl9vbmx5X2JlX3VzZWRfYXRfdGhlX3RvcF9sZXZlbF9vZl9hX21vZHVsZV8xNDczXCIsXCJBbiBpbXBvcnQgZGVjbGFyYXRpb24gY2FuIG9ubHkgYmUgdXNlZCBhdCB0aGUgdG9wIGxldmVsIG9mIGEgbW9kdWxlLlwiKSxBbl9leHBvcnRfZGVjbGFyYXRpb25fY2FuX29ubHlfYmVfdXNlZF9hdF90aGVfdG9wX2xldmVsX29mX2FfbW9kdWxlOnIoMTQ3NCwxLFwiQW5fZXhwb3J0X2RlY2xhcmF0aW9uX2Nhbl9vbmx5X2JlX3VzZWRfYXRfdGhlX3RvcF9sZXZlbF9vZl9hX21vZHVsZV8xNDc0XCIsXCJBbiBleHBvcnQgZGVjbGFyYXRpb24gY2FuIG9ubHkgYmUgdXNlZCBhdCB0aGUgdG9wIGxldmVsIG9mIGEgbW9kdWxlLlwiKSxDb250cm9sX3doYXRfbWV0aG9kX2lzX3VzZWRfdG9fZGV0ZWN0X21vZHVsZV9mb3JtYXRfSlNfZmlsZXM6cigxNDc1LDMsXCJDb250cm9sX3doYXRfbWV0aG9kX2lzX3VzZWRfdG9fZGV0ZWN0X21vZHVsZV9mb3JtYXRfSlNfZmlsZXNfMTQ3NVwiLFwiQ29udHJvbCB3aGF0IG1ldGhvZCBpcyB1c2VkIHRvIGRldGVjdCBtb2R1bGUtZm9ybWF0IEpTIGZpbGVzLlwiKSxhdXRvX0NvbG9uX1RyZWF0X2ZpbGVzX3dpdGhfaW1wb3J0c19leHBvcnRzX2ltcG9ydF9tZXRhX2pzeF93aXRoX2pzeF9Db2xvbl9yZWFjdF9qc3hfb3JfZXNtX2Zvcm1hdF93aXRoX21vZHVsZV9Db2xvbl9ub2RlMTZfYXNfbW9kdWxlczpyKDE0NzYsMyxcImF1dG9fQ29sb25fVHJlYXRfZmlsZXNfd2l0aF9pbXBvcnRzX2V4cG9ydHNfaW1wb3J0X21ldGFfanN4X3dpdGhfanN4X0NvbG9uX3JlYWN0X2pzeF9vcl9lc21fZm9ybWF0X3dfMTQ3NlwiLCdcImF1dG9cIjogVHJlYXQgZmlsZXMgd2l0aCBpbXBvcnRzLCBleHBvcnRzLCBpbXBvcnQubWV0YSwganN4ICh3aXRoIGpzeDogcmVhY3QtanN4KSwgb3IgZXNtIGZvcm1hdCAod2l0aCBtb2R1bGU6IG5vZGUxNispIGFzIG1vZHVsZXMuJyksQW5faW5zdGFudGlhdGlvbl9leHByZXNzaW9uX2Nhbm5vdF9iZV9mb2xsb3dlZF9ieV9hX3Byb3BlcnR5X2FjY2VzczpyKDE0NzcsMSxcIkFuX2luc3RhbnRpYXRpb25fZXhwcmVzc2lvbl9jYW5ub3RfYmVfZm9sbG93ZWRfYnlfYV9wcm9wZXJ0eV9hY2Nlc3NfMTQ3N1wiLFwiQW4gaW5zdGFudGlhdGlvbiBleHByZXNzaW9uIGNhbm5vdCBiZSBmb2xsb3dlZCBieSBhIHByb3BlcnR5IGFjY2Vzcy5cIiksSWRlbnRpZmllcl9vcl9zdHJpbmdfbGl0ZXJhbF9leHBlY3RlZDpyKDE0NzgsMSxcIklkZW50aWZpZXJfb3Jfc3RyaW5nX2xpdGVyYWxfZXhwZWN0ZWRfMTQ3OFwiLFwiSWRlbnRpZmllciBvciBzdHJpbmcgbGl0ZXJhbCBleHBlY3RlZC5cIiksVGhlX2N1cnJlbnRfZmlsZV9pc19hX0NvbW1vbkpTX21vZHVsZV93aG9zZV9pbXBvcnRzX3dpbGxfcHJvZHVjZV9yZXF1aXJlX2NhbGxzX2hvd2V2ZXJfdGhlX3JlZmVyZW5jZWRfZmlsZV9pc19hbl9FQ01BU2NyaXB0X21vZHVsZV9hbmRfY2Fubm90X2JlX2ltcG9ydGVkX3dpdGhfcmVxdWlyZV9Db25zaWRlcl93cml0aW5nX2FfZHluYW1pY19pbXBvcnRfMF9jYWxsX2luc3RlYWQ6cigxNDc5LDEsXCJUaGVfY3VycmVudF9maWxlX2lzX2FfQ29tbW9uSlNfbW9kdWxlX3dob3NlX2ltcG9ydHNfd2lsbF9wcm9kdWNlX3JlcXVpcmVfY2FsbHNfaG93ZXZlcl90aGVfcmVmZXJlbmNlXzE0NzlcIixgVGhlIGN1cnJlbnQgZmlsZSBpcyBhIENvbW1vbkpTIG1vZHVsZSB3aG9zZSBpbXBvcnRzIHdpbGwgcHJvZHVjZSAncmVxdWlyZScgY2FsbHM7IGhvd2V2ZXIsIHRoZSByZWZlcmVuY2VkIGZpbGUgaXMgYW4gRUNNQVNjcmlwdCBtb2R1bGUgYW5kIGNhbm5vdCBiZSBpbXBvcnRlZCB3aXRoICdyZXF1aXJlJy4gQ29uc2lkZXIgd3JpdGluZyBhIGR5bmFtaWMgJ2ltcG9ydChcInswfVwiKScgY2FsbCBpbnN0ZWFkLmApLFRvX2NvbnZlcnRfdGhpc19maWxlX3RvX2FuX0VDTUFTY3JpcHRfbW9kdWxlX2NoYW5nZV9pdHNfZmlsZV9leHRlbnNpb25fdG9fMF9vcl9jcmVhdGVfYV9sb2NhbF9wYWNrYWdlX2pzb25fZmlsZV93aXRoX3R5cGVfQ29sb25fbW9kdWxlOnIoMTQ4MCwzLFwiVG9fY29udmVydF90aGlzX2ZpbGVfdG9fYW5fRUNNQVNjcmlwdF9tb2R1bGVfY2hhbmdlX2l0c19maWxlX2V4dGVuc2lvbl90b18wX29yX2NyZWF0ZV9hX2xvY2FsX3BhY2thZ18xNDgwXCIsJ1RvIGNvbnZlcnQgdGhpcyBmaWxlIHRvIGFuIEVDTUFTY3JpcHQgbW9kdWxlLCBjaGFuZ2UgaXRzIGZpbGUgZXh0ZW5zaW9uIHRvIFxcJ3swfVxcJyBvciBjcmVhdGUgYSBsb2NhbCBwYWNrYWdlLmpzb24gZmlsZSB3aXRoIGB7IFwidHlwZVwiOiBcIm1vZHVsZVwiIH1gLicpLFRvX2NvbnZlcnRfdGhpc19maWxlX3RvX2FuX0VDTUFTY3JpcHRfbW9kdWxlX2NoYW5nZV9pdHNfZmlsZV9leHRlbnNpb25fdG9fMF9vcl9hZGRfdGhlX2ZpZWxkX3R5cGVfQ29sb25fbW9kdWxlX3RvXzE6cigxNDgxLDMsXCJUb19jb252ZXJ0X3RoaXNfZmlsZV90b19hbl9FQ01BU2NyaXB0X21vZHVsZV9jaGFuZ2VfaXRzX2ZpbGVfZXh0ZW5zaW9uX3RvXzBfb3JfYWRkX3RoZV9maWVsZF90eXBlX0NvXzE0ODFcIixgVG8gY29udmVydCB0aGlzIGZpbGUgdG8gYW4gRUNNQVNjcmlwdCBtb2R1bGUsIGNoYW5nZSBpdHMgZmlsZSBleHRlbnNpb24gdG8gJ3swfScsIG9yIGFkZCB0aGUgZmllbGQgXFxgXCJ0eXBlXCI6IFwibW9kdWxlXCJcXGAgdG8gJ3sxfScuYCksVG9fY29udmVydF90aGlzX2ZpbGVfdG9fYW5fRUNNQVNjcmlwdF9tb2R1bGVfYWRkX3RoZV9maWVsZF90eXBlX0NvbG9uX21vZHVsZV90b18wOnIoMTQ4MiwzLFwiVG9fY29udmVydF90aGlzX2ZpbGVfdG9fYW5fRUNNQVNjcmlwdF9tb2R1bGVfYWRkX3RoZV9maWVsZF90eXBlX0NvbG9uX21vZHVsZV90b18wXzE0ODJcIiwnVG8gY29udmVydCB0aGlzIGZpbGUgdG8gYW4gRUNNQVNjcmlwdCBtb2R1bGUsIGFkZCB0aGUgZmllbGQgYFwidHlwZVwiOiBcIm1vZHVsZVwiYCB0byBcXCd7MH1cXCcuJyksVG9fY29udmVydF90aGlzX2ZpbGVfdG9fYW5fRUNNQVNjcmlwdF9tb2R1bGVfY3JlYXRlX2FfbG9jYWxfcGFja2FnZV9qc29uX2ZpbGVfd2l0aF90eXBlX0NvbG9uX21vZHVsZTpyKDE0ODMsMyxcIlRvX2NvbnZlcnRfdGhpc19maWxlX3RvX2FuX0VDTUFTY3JpcHRfbW9kdWxlX2NyZWF0ZV9hX2xvY2FsX3BhY2thZ2VfanNvbl9maWxlX3dpdGhfdHlwZV9Db2xvbl9tb2R1bGVfMTQ4M1wiLCdUbyBjb252ZXJ0IHRoaXMgZmlsZSB0byBhbiBFQ01BU2NyaXB0IG1vZHVsZSwgY3JlYXRlIGEgbG9jYWwgcGFja2FnZS5qc29uIGZpbGUgd2l0aCBgeyBcInR5cGVcIjogXCJtb2R1bGVcIiB9YC4nKSxfMF9pc19hX3R5cGVfYW5kX211c3RfYmVfaW1wb3J0ZWRfdXNpbmdfYV90eXBlX29ubHlfaW1wb3J0X3doZW5fdmVyYmF0aW1Nb2R1bGVTeW50YXhfaXNfZW5hYmxlZDpyKDE0ODQsMSxcIl8wX2lzX2FfdHlwZV9hbmRfbXVzdF9iZV9pbXBvcnRlZF91c2luZ19hX3R5cGVfb25seV9pbXBvcnRfd2hlbl92ZXJiYXRpbU1vZHVsZVN5bnRheF9pc19lbmFibGVkXzE0ODRcIixcIid7MH0nIGlzIGEgdHlwZSBhbmQgbXVzdCBiZSBpbXBvcnRlZCB1c2luZyBhIHR5cGUtb25seSBpbXBvcnQgd2hlbiAndmVyYmF0aW1Nb2R1bGVTeW50YXgnIGlzIGVuYWJsZWQuXCIpLF8wX3Jlc29sdmVzX3RvX2FfdHlwZV9vbmx5X2RlY2xhcmF0aW9uX2FuZF9tdXN0X2JlX2ltcG9ydGVkX3VzaW5nX2FfdHlwZV9vbmx5X2ltcG9ydF93aGVuX3ZlcmJhdGltTW9kdWxlU3ludGF4X2lzX2VuYWJsZWQ6cigxNDg1LDEsXCJfMF9yZXNvbHZlc190b19hX3R5cGVfb25seV9kZWNsYXJhdGlvbl9hbmRfbXVzdF9iZV9pbXBvcnRlZF91c2luZ19hX3R5cGVfb25seV9pbXBvcnRfd2hlbl92ZXJiYXRpbU1vXzE0ODVcIixcIid7MH0nIHJlc29sdmVzIHRvIGEgdHlwZS1vbmx5IGRlY2xhcmF0aW9uIGFuZCBtdXN0IGJlIGltcG9ydGVkIHVzaW5nIGEgdHlwZS1vbmx5IGltcG9ydCB3aGVuICd2ZXJiYXRpbU1vZHVsZVN5bnRheCcgaXMgZW5hYmxlZC5cIiksRGVjb3JhdG9yX3VzZWRfYmVmb3JlX2V4cG9ydF9oZXJlOnIoMTQ4NiwxLFwiRGVjb3JhdG9yX3VzZWRfYmVmb3JlX2V4cG9ydF9oZXJlXzE0ODZcIixcIkRlY29yYXRvciB1c2VkIGJlZm9yZSAnZXhwb3J0JyBoZXJlLlwiKSxPY3RhbF9lc2NhcGVfc2VxdWVuY2VzX2FyZV9ub3RfYWxsb3dlZF9Vc2VfdGhlX3N5bnRheF8wOnIoMTQ4NywxLFwiT2N0YWxfZXNjYXBlX3NlcXVlbmNlc19hcmVfbm90X2FsbG93ZWRfVXNlX3RoZV9zeW50YXhfMF8xNDg3XCIsXCJPY3RhbCBlc2NhcGUgc2VxdWVuY2VzIGFyZSBub3QgYWxsb3dlZC4gVXNlIHRoZSBzeW50YXggJ3swfScuXCIpLEVzY2FwZV9zZXF1ZW5jZV8wX2lzX25vdF9hbGxvd2VkOnIoMTQ4OCwxLFwiRXNjYXBlX3NlcXVlbmNlXzBfaXNfbm90X2FsbG93ZWRfMTQ4OFwiLFwiRXNjYXBlIHNlcXVlbmNlICd7MH0nIGlzIG5vdCBhbGxvd2VkLlwiKSxEZWNpbWFsc193aXRoX2xlYWRpbmdfemVyb3NfYXJlX25vdF9hbGxvd2VkOnIoMTQ4OSwxLFwiRGVjaW1hbHNfd2l0aF9sZWFkaW5nX3plcm9zX2FyZV9ub3RfYWxsb3dlZF8xNDg5XCIsXCJEZWNpbWFscyB3aXRoIGxlYWRpbmcgemVyb3MgYXJlIG5vdCBhbGxvd2VkLlwiKSxGaWxlX2FwcGVhcnNfdG9fYmVfYmluYXJ5OnIoMTQ5MCwxLFwiRmlsZV9hcHBlYXJzX3RvX2JlX2JpbmFyeV8xNDkwXCIsXCJGaWxlIGFwcGVhcnMgdG8gYmUgYmluYXJ5LlwiKSxfMF9tb2RpZmllcl9jYW5ub3RfYXBwZWFyX29uX2FfdXNpbmdfZGVjbGFyYXRpb246cigxNDkxLDEsXCJfMF9tb2RpZmllcl9jYW5ub3RfYXBwZWFyX29uX2FfdXNpbmdfZGVjbGFyYXRpb25fMTQ5MVwiLFwiJ3swfScgbW9kaWZpZXIgY2Fubm90IGFwcGVhciBvbiBhICd1c2luZycgZGVjbGFyYXRpb24uXCIpLF8wX2RlY2xhcmF0aW9uc19tYXlfbm90X2hhdmVfYmluZGluZ19wYXR0ZXJuczpyKDE0OTIsMSxcIl8wX2RlY2xhcmF0aW9uc19tYXlfbm90X2hhdmVfYmluZGluZ19wYXR0ZXJuc18xNDkyXCIsXCInezB9JyBkZWNsYXJhdGlvbnMgbWF5IG5vdCBoYXZlIGJpbmRpbmcgcGF0dGVybnMuXCIpLFRoZV9sZWZ0X2hhbmRfc2lkZV9vZl9hX2Zvcl9pbl9zdGF0ZW1lbnRfY2Fubm90X2JlX2FfdXNpbmdfZGVjbGFyYXRpb246cigxNDkzLDEsXCJUaGVfbGVmdF9oYW5kX3NpZGVfb2ZfYV9mb3JfaW5fc3RhdGVtZW50X2Nhbm5vdF9iZV9hX3VzaW5nX2RlY2xhcmF0aW9uXzE0OTNcIixcIlRoZSBsZWZ0LWhhbmQgc2lkZSBvZiBhICdmb3IuLi5pbicgc3RhdGVtZW50IGNhbm5vdCBiZSBhICd1c2luZycgZGVjbGFyYXRpb24uXCIpLFRoZV9sZWZ0X2hhbmRfc2lkZV9vZl9hX2Zvcl9pbl9zdGF0ZW1lbnRfY2Fubm90X2JlX2FuX2F3YWl0X3VzaW5nX2RlY2xhcmF0aW9uOnIoMTQ5NCwxLFwiVGhlX2xlZnRfaGFuZF9zaWRlX29mX2FfZm9yX2luX3N0YXRlbWVudF9jYW5ub3RfYmVfYW5fYXdhaXRfdXNpbmdfZGVjbGFyYXRpb25fMTQ5NFwiLFwiVGhlIGxlZnQtaGFuZCBzaWRlIG9mIGEgJ2Zvci4uLmluJyBzdGF0ZW1lbnQgY2Fubm90IGJlIGFuICdhd2FpdCB1c2luZycgZGVjbGFyYXRpb24uXCIpLF8wX21vZGlmaWVyX2Nhbm5vdF9hcHBlYXJfb25fYW5fYXdhaXRfdXNpbmdfZGVjbGFyYXRpb246cigxNDk1LDEsXCJfMF9tb2RpZmllcl9jYW5ub3RfYXBwZWFyX29uX2FuX2F3YWl0X3VzaW5nX2RlY2xhcmF0aW9uXzE0OTVcIixcIid7MH0nIG1vZGlmaWVyIGNhbm5vdCBhcHBlYXIgb24gYW4gJ2F3YWl0IHVzaW5nJyBkZWNsYXJhdGlvbi5cIiksSWRlbnRpZmllcl9zdHJpbmdfbGl0ZXJhbF9vcl9udW1iZXJfbGl0ZXJhbF9leHBlY3RlZDpyKDE0OTYsMSxcIklkZW50aWZpZXJfc3RyaW5nX2xpdGVyYWxfb3JfbnVtYmVyX2xpdGVyYWxfZXhwZWN0ZWRfMTQ5NlwiLFwiSWRlbnRpZmllciwgc3RyaW5nIGxpdGVyYWwsIG9yIG51bWJlciBsaXRlcmFsIGV4cGVjdGVkLlwiKSxFeHByZXNzaW9uX211c3RfYmVfZW5jbG9zZWRfaW5fcGFyZW50aGVzZXNfdG9fYmVfdXNlZF9hc19hX2RlY29yYXRvcjpyKDE0OTcsMSxcIkV4cHJlc3Npb25fbXVzdF9iZV9lbmNsb3NlZF9pbl9wYXJlbnRoZXNlc190b19iZV91c2VkX2FzX2FfZGVjb3JhdG9yXzE0OTdcIixcIkV4cHJlc3Npb24gbXVzdCBiZSBlbmNsb3NlZCBpbiBwYXJlbnRoZXNlcyB0byBiZSB1c2VkIGFzIGEgZGVjb3JhdG9yLlwiKSxJbnZhbGlkX3N5bnRheF9pbl9kZWNvcmF0b3I6cigxNDk4LDEsXCJJbnZhbGlkX3N5bnRheF9pbl9kZWNvcmF0b3JfMTQ5OFwiLFwiSW52YWxpZCBzeW50YXggaW4gZGVjb3JhdG9yLlwiKSxVbmtub3duX3JlZ3VsYXJfZXhwcmVzc2lvbl9mbGFnOnIoMTQ5OSwxLFwiVW5rbm93bl9yZWd1bGFyX2V4cHJlc3Npb25fZmxhZ18xNDk5XCIsXCJVbmtub3duIHJlZ3VsYXIgZXhwcmVzc2lvbiBmbGFnLlwiKSxEdXBsaWNhdGVfcmVndWxhcl9leHByZXNzaW9uX2ZsYWc6cigxNTAwLDEsXCJEdXBsaWNhdGVfcmVndWxhcl9leHByZXNzaW9uX2ZsYWdfMTUwMFwiLFwiRHVwbGljYXRlIHJlZ3VsYXIgZXhwcmVzc2lvbiBmbGFnLlwiKSxUaGlzX3JlZ3VsYXJfZXhwcmVzc2lvbl9mbGFnX2lzX29ubHlfYXZhaWxhYmxlX3doZW5fdGFyZ2V0aW5nXzBfb3JfbGF0ZXI6cigxNTAxLDEsXCJUaGlzX3JlZ3VsYXJfZXhwcmVzc2lvbl9mbGFnX2lzX29ubHlfYXZhaWxhYmxlX3doZW5fdGFyZ2V0aW5nXzBfb3JfbGF0ZXJfMTUwMVwiLFwiVGhpcyByZWd1bGFyIGV4cHJlc3Npb24gZmxhZyBpcyBvbmx5IGF2YWlsYWJsZSB3aGVuIHRhcmdldGluZyAnezB9JyBvciBsYXRlci5cIiksVGhlX1VuaWNvZGVfdV9mbGFnX2FuZF90aGVfVW5pY29kZV9TZXRzX3ZfZmxhZ19jYW5ub3RfYmVfc2V0X3NpbXVsdGFuZW91c2x5OnIoMTUwMiwxLFwiVGhlX1VuaWNvZGVfdV9mbGFnX2FuZF90aGVfVW5pY29kZV9TZXRzX3ZfZmxhZ19jYW5ub3RfYmVfc2V0X3NpbXVsdGFuZW91c2x5XzE1MDJcIixcIlRoZSBVbmljb2RlICh1KSBmbGFnIGFuZCB0aGUgVW5pY29kZSBTZXRzICh2KSBmbGFnIGNhbm5vdCBiZSBzZXQgc2ltdWx0YW5lb3VzbHkuXCIpLE5hbWVkX2NhcHR1cmluZ19ncm91cHNfYXJlX29ubHlfYXZhaWxhYmxlX3doZW5fdGFyZ2V0aW5nX0VTMjAxOF9vcl9sYXRlcjpyKDE1MDMsMSxcIk5hbWVkX2NhcHR1cmluZ19ncm91cHNfYXJlX29ubHlfYXZhaWxhYmxlX3doZW5fdGFyZ2V0aW5nX0VTMjAxOF9vcl9sYXRlcl8xNTAzXCIsXCJOYW1lZCBjYXB0dXJpbmcgZ3JvdXBzIGFyZSBvbmx5IGF2YWlsYWJsZSB3aGVuIHRhcmdldGluZyAnRVMyMDE4JyBvciBsYXRlci5cIiksU3VicGF0dGVybl9mbGFnc19tdXN0X2JlX3ByZXNlbnRfd2hlbl90aGVyZV9pc19hX21pbnVzX3NpZ246cigxNTA0LDEsXCJTdWJwYXR0ZXJuX2ZsYWdzX211c3RfYmVfcHJlc2VudF93aGVuX3RoZXJlX2lzX2FfbWludXNfc2lnbl8xNTA0XCIsXCJTdWJwYXR0ZXJuIGZsYWdzIG11c3QgYmUgcHJlc2VudCB3aGVuIHRoZXJlIGlzIGEgbWludXMgc2lnbi5cIiksSW5jb21wbGV0ZV9xdWFudGlmaWVyX0RpZ2l0X2V4cGVjdGVkOnIoMTUwNSwxLFwiSW5jb21wbGV0ZV9xdWFudGlmaWVyX0RpZ2l0X2V4cGVjdGVkXzE1MDVcIixcIkluY29tcGxldGUgcXVhbnRpZmllci4gRGlnaXQgZXhwZWN0ZWQuXCIpLE51bWJlcnNfb3V0X29mX29yZGVyX2luX3F1YW50aWZpZXI6cigxNTA2LDEsXCJOdW1iZXJzX291dF9vZl9vcmRlcl9pbl9xdWFudGlmaWVyXzE1MDZcIixcIk51bWJlcnMgb3V0IG9mIG9yZGVyIGluIHF1YW50aWZpZXIuXCIpLFRoZXJlX2lzX25vdGhpbmdfYXZhaWxhYmxlX2Zvcl9yZXBldGl0aW9uOnIoMTUwNywxLFwiVGhlcmVfaXNfbm90aGluZ19hdmFpbGFibGVfZm9yX3JlcGV0aXRpb25fMTUwN1wiLFwiVGhlcmUgaXMgbm90aGluZyBhdmFpbGFibGUgZm9yIHJlcGV0aXRpb24uXCIpLFVuZXhwZWN0ZWRfMF9EaWRfeW91X21lYW5fdG9fZXNjYXBlX2l0X3dpdGhfYmFja3NsYXNoOnIoMTUwOCwxLFwiVW5leHBlY3RlZF8wX0RpZF95b3VfbWVhbl90b19lc2NhcGVfaXRfd2l0aF9iYWNrc2xhc2hfMTUwOFwiLFwiVW5leHBlY3RlZCAnezB9Jy4gRGlkIHlvdSBtZWFuIHRvIGVzY2FwZSBpdCB3aXRoIGJhY2tzbGFzaD9cIiksVGhpc19yZWd1bGFyX2V4cHJlc3Npb25fZmxhZ19jYW5ub3RfYmVfdG9nZ2xlZF93aXRoaW5fYV9zdWJwYXR0ZXJuOnIoMTUwOSwxLFwiVGhpc19yZWd1bGFyX2V4cHJlc3Npb25fZmxhZ19jYW5ub3RfYmVfdG9nZ2xlZF93aXRoaW5fYV9zdWJwYXR0ZXJuXzE1MDlcIixcIlRoaXMgcmVndWxhciBleHByZXNzaW9uIGZsYWcgY2Fubm90IGJlIHRvZ2dsZWQgd2l0aGluIGEgc3VicGF0dGVybi5cIiksa19tdXN0X2JlX2ZvbGxvd2VkX2J5X2FfY2FwdHVyaW5nX2dyb3VwX25hbWVfZW5jbG9zZWRfaW5fYW5nbGVfYnJhY2tldHM6cigxNTEwLDEsXCJrX211c3RfYmVfZm9sbG93ZWRfYnlfYV9jYXB0dXJpbmdfZ3JvdXBfbmFtZV9lbmNsb3NlZF9pbl9hbmdsZV9icmFja2V0c18xNTEwXCIsXCInXFxcXGsnIG11c3QgYmUgZm9sbG93ZWQgYnkgYSBjYXB0dXJpbmcgZ3JvdXAgbmFtZSBlbmNsb3NlZCBpbiBhbmdsZSBicmFja2V0cy5cIikscV9pc19vbmx5X2F2YWlsYWJsZV9pbnNpZGVfY2hhcmFjdGVyX2NsYXNzOnIoMTUxMSwxLFwicV9pc19vbmx5X2F2YWlsYWJsZV9pbnNpZGVfY2hhcmFjdGVyX2NsYXNzXzE1MTFcIixcIidcXFxccScgaXMgb25seSBhdmFpbGFibGUgaW5zaWRlIGNoYXJhY3RlciBjbGFzcy5cIiksY19tdXN0X2JlX2ZvbGxvd2VkX2J5X2FuX0FTQ0lJX2xldHRlcjpyKDE1MTIsMSxcImNfbXVzdF9iZV9mb2xsb3dlZF9ieV9hbl9BU0NJSV9sZXR0ZXJfMTUxMlwiLFwiJ1xcXFxjJyBtdXN0IGJlIGZvbGxvd2VkIGJ5IGFuIEFTQ0lJIGxldHRlci5cIiksVW5kZXRlcm1pbmVkX2NoYXJhY3Rlcl9lc2NhcGU6cigxNTEzLDEsXCJVbmRldGVybWluZWRfY2hhcmFjdGVyX2VzY2FwZV8xNTEzXCIsXCJVbmRldGVybWluZWQgY2hhcmFjdGVyIGVzY2FwZS5cIiksRXhwZWN0ZWRfYV9jYXB0dXJpbmdfZ3JvdXBfbmFtZTpyKDE1MTQsMSxcIkV4cGVjdGVkX2FfY2FwdHVyaW5nX2dyb3VwX25hbWVfMTUxNFwiLFwiRXhwZWN0ZWQgYSBjYXB0dXJpbmcgZ3JvdXAgbmFtZS5cIiksTmFtZWRfY2FwdHVyaW5nX2dyb3Vwc193aXRoX3RoZV9zYW1lX25hbWVfbXVzdF9iZV9tdXR1YWxseV9leGNsdXNpdmVfdG9fZWFjaF9vdGhlcjpyKDE1MTUsMSxcIk5hbWVkX2NhcHR1cmluZ19ncm91cHNfd2l0aF90aGVfc2FtZV9uYW1lX211c3RfYmVfbXV0dWFsbHlfZXhjbHVzaXZlX3RvX2VhY2hfb3RoZXJfMTUxNVwiLFwiTmFtZWQgY2FwdHVyaW5nIGdyb3VwcyB3aXRoIHRoZSBzYW1lIG5hbWUgbXVzdCBiZSBtdXR1YWxseSBleGNsdXNpdmUgdG8gZWFjaCBvdGhlci5cIiksQV9jaGFyYWN0ZXJfY2xhc3NfcmFuZ2VfbXVzdF9ub3RfYmVfYm91bmRlZF9ieV9hbm90aGVyX2NoYXJhY3Rlcl9jbGFzczpyKDE1MTYsMSxcIkFfY2hhcmFjdGVyX2NsYXNzX3JhbmdlX211c3Rfbm90X2JlX2JvdW5kZWRfYnlfYW5vdGhlcl9jaGFyYWN0ZXJfY2xhc3NfMTUxNlwiLFwiQSBjaGFyYWN0ZXIgY2xhc3MgcmFuZ2UgbXVzdCBub3QgYmUgYm91bmRlZCBieSBhbm90aGVyIGNoYXJhY3RlciBjbGFzcy5cIiksUmFuZ2Vfb3V0X29mX29yZGVyX2luX2NoYXJhY3Rlcl9jbGFzczpyKDE1MTcsMSxcIlJhbmdlX291dF9vZl9vcmRlcl9pbl9jaGFyYWN0ZXJfY2xhc3NfMTUxN1wiLFwiUmFuZ2Ugb3V0IG9mIG9yZGVyIGluIGNoYXJhY3RlciBjbGFzcy5cIiksQW55dGhpbmdfdGhhdF93b3VsZF9wb3NzaWJseV9tYXRjaF9tb3JlX3RoYW5fYV9zaW5nbGVfY2hhcmFjdGVyX2lzX2ludmFsaWRfaW5zaWRlX2FfbmVnYXRlZF9jaGFyYWN0ZXJfY2xhc3M6cigxNTE4LDEsXCJBbnl0aGluZ190aGF0X3dvdWxkX3Bvc3NpYmx5X21hdGNoX21vcmVfdGhhbl9hX3NpbmdsZV9jaGFyYWN0ZXJfaXNfaW52YWxpZF9pbnNpZGVfYV9uZWdhdGVkX2NoYXJhY3RlXzE1MThcIixcIkFueXRoaW5nIHRoYXQgd291bGQgcG9zc2libHkgbWF0Y2ggbW9yZSB0aGFuIGEgc2luZ2xlIGNoYXJhY3RlciBpcyBpbnZhbGlkIGluc2lkZSBhIG5lZ2F0ZWQgY2hhcmFjdGVyIGNsYXNzLlwiKSxPcGVyYXRvcnNfbXVzdF9ub3RfYmVfbWl4ZWRfd2l0aGluX2FfY2hhcmFjdGVyX2NsYXNzX1dyYXBfaXRfaW5fYV9uZXN0ZWRfY2xhc3NfaW5zdGVhZDpyKDE1MTksMSxcIk9wZXJhdG9yc19tdXN0X25vdF9iZV9taXhlZF93aXRoaW5fYV9jaGFyYWN0ZXJfY2xhc3NfV3JhcF9pdF9pbl9hX25lc3RlZF9jbGFzc19pbnN0ZWFkXzE1MTlcIixcIk9wZXJhdG9ycyBtdXN0IG5vdCBiZSBtaXhlZCB3aXRoaW4gYSBjaGFyYWN0ZXIgY2xhc3MuIFdyYXAgaXQgaW4gYSBuZXN0ZWQgY2xhc3MgaW5zdGVhZC5cIiksRXhwZWN0ZWRfYV9jbGFzc19zZXRfb3BlcmFuZDpyKDE1MjAsMSxcIkV4cGVjdGVkX2FfY2xhc3Nfc2V0X29wZXJhbmRfMTUyMFwiLFwiRXhwZWN0ZWQgYSBjbGFzcyBzZXQgb3BlcmFuZC5cIikscV9tdXN0X2JlX2ZvbGxvd2VkX2J5X3N0cmluZ19hbHRlcm5hdGl2ZXNfZW5jbG9zZWRfaW5fYnJhY2VzOnIoMTUyMSwxLFwicV9tdXN0X2JlX2ZvbGxvd2VkX2J5X3N0cmluZ19hbHRlcm5hdGl2ZXNfZW5jbG9zZWRfaW5fYnJhY2VzXzE1MjFcIixcIidcXFxccScgbXVzdCBiZSBmb2xsb3dlZCBieSBzdHJpbmcgYWx0ZXJuYXRpdmVzIGVuY2xvc2VkIGluIGJyYWNlcy5cIiksQV9jaGFyYWN0ZXJfY2xhc3NfbXVzdF9ub3RfY29udGFpbl9hX3Jlc2VydmVkX2RvdWJsZV9wdW5jdHVhdG9yX0RpZF95b3VfbWVhbl90b19lc2NhcGVfaXRfd2l0aF9iYWNrc2xhc2g6cigxNTIyLDEsXCJBX2NoYXJhY3Rlcl9jbGFzc19tdXN0X25vdF9jb250YWluX2FfcmVzZXJ2ZWRfZG91YmxlX3B1bmN0dWF0b3JfRGlkX3lvdV9tZWFuX3RvX2VzY2FwZV9pdF93aXRoX2JhY2tzXzE1MjJcIixcIkEgY2hhcmFjdGVyIGNsYXNzIG11c3Qgbm90IGNvbnRhaW4gYSByZXNlcnZlZCBkb3VibGUgcHVuY3R1YXRvci4gRGlkIHlvdSBtZWFuIHRvIGVzY2FwZSBpdCB3aXRoIGJhY2tzbGFzaD9cIiksRXhwZWN0ZWRfYV9Vbmljb2RlX3Byb3BlcnR5X25hbWU6cigxNTIzLDEsXCJFeHBlY3RlZF9hX1VuaWNvZGVfcHJvcGVydHlfbmFtZV8xNTIzXCIsXCJFeHBlY3RlZCBhIFVuaWNvZGUgcHJvcGVydHkgbmFtZS5cIiksVW5rbm93bl9Vbmljb2RlX3Byb3BlcnR5X25hbWU6cigxNTI0LDEsXCJVbmtub3duX1VuaWNvZGVfcHJvcGVydHlfbmFtZV8xNTI0XCIsXCJVbmtub3duIFVuaWNvZGUgcHJvcGVydHkgbmFtZS5cIiksRXhwZWN0ZWRfYV9Vbmljb2RlX3Byb3BlcnR5X3ZhbHVlOnIoMTUyNSwxLFwiRXhwZWN0ZWRfYV9Vbmljb2RlX3Byb3BlcnR5X3ZhbHVlXzE1MjVcIixcIkV4cGVjdGVkIGEgVW5pY29kZSBwcm9wZXJ0eSB2YWx1ZS5cIiksVW5rbm93bl9Vbmljb2RlX3Byb3BlcnR5X3ZhbHVlOnIoMTUyNiwxLFwiVW5rbm93bl9Vbmljb2RlX3Byb3BlcnR5X3ZhbHVlXzE1MjZcIixcIlVua25vd24gVW5pY29kZSBwcm9wZXJ0eSB2YWx1ZS5cIiksRXhwZWN0ZWRfYV9Vbmljb2RlX3Byb3BlcnR5X25hbWVfb3JfdmFsdWU6cigxNTI3LDEsXCJFeHBlY3RlZF9hX1VuaWNvZGVfcHJvcGVydHlfbmFtZV9vcl92YWx1ZV8xNTI3XCIsXCJFeHBlY3RlZCBhIFVuaWNvZGUgcHJvcGVydHkgbmFtZSBvciB2YWx1ZS5cIiksQW55X1VuaWNvZGVfcHJvcGVydHlfdGhhdF93b3VsZF9wb3NzaWJseV9tYXRjaF9tb3JlX3RoYW5fYV9zaW5nbGVfY2hhcmFjdGVyX2lzX29ubHlfYXZhaWxhYmxlX3doZW5fdGhlX1VuaWNvZGVfU2V0c192X2ZsYWdfaXNfc2V0OnIoMTUyOCwxLFwiQW55X1VuaWNvZGVfcHJvcGVydHlfdGhhdF93b3VsZF9wb3NzaWJseV9tYXRjaF9tb3JlX3RoYW5fYV9zaW5nbGVfY2hhcmFjdGVyX2lzX29ubHlfYXZhaWxhYmxlX3doZW5fdF8xNTI4XCIsXCJBbnkgVW5pY29kZSBwcm9wZXJ0eSB0aGF0IHdvdWxkIHBvc3NpYmx5IG1hdGNoIG1vcmUgdGhhbiBhIHNpbmdsZSBjaGFyYWN0ZXIgaXMgb25seSBhdmFpbGFibGUgd2hlbiB0aGUgVW5pY29kZSBTZXRzICh2KSBmbGFnIGlzIHNldC5cIiksVW5rbm93bl9Vbmljb2RlX3Byb3BlcnR5X25hbWVfb3JfdmFsdWU6cigxNTI5LDEsXCJVbmtub3duX1VuaWNvZGVfcHJvcGVydHlfbmFtZV9vcl92YWx1ZV8xNTI5XCIsXCJVbmtub3duIFVuaWNvZGUgcHJvcGVydHkgbmFtZSBvciB2YWx1ZS5cIiksVW5pY29kZV9wcm9wZXJ0eV92YWx1ZV9leHByZXNzaW9uc19hcmVfb25seV9hdmFpbGFibGVfd2hlbl90aGVfVW5pY29kZV91X2ZsYWdfb3JfdGhlX1VuaWNvZGVfU2V0c192X2ZsYWdfaXNfc2V0OnIoMTUzMCwxLFwiVW5pY29kZV9wcm9wZXJ0eV92YWx1ZV9leHByZXNzaW9uc19hcmVfb25seV9hdmFpbGFibGVfd2hlbl90aGVfVW5pY29kZV91X2ZsYWdfb3JfdGhlX1VuaWNvZGVfU2V0c192X18xNTMwXCIsXCJVbmljb2RlIHByb3BlcnR5IHZhbHVlIGV4cHJlc3Npb25zIGFyZSBvbmx5IGF2YWlsYWJsZSB3aGVuIHRoZSBVbmljb2RlICh1KSBmbGFnIG9yIHRoZSBVbmljb2RlIFNldHMgKHYpIGZsYWcgaXMgc2V0LlwiKSxfMF9tdXN0X2JlX2ZvbGxvd2VkX2J5X2FfVW5pY29kZV9wcm9wZXJ0eV92YWx1ZV9leHByZXNzaW9uX2VuY2xvc2VkX2luX2JyYWNlczpyKDE1MzEsMSxcIl8wX211c3RfYmVfZm9sbG93ZWRfYnlfYV9Vbmljb2RlX3Byb3BlcnR5X3ZhbHVlX2V4cHJlc3Npb25fZW5jbG9zZWRfaW5fYnJhY2VzXzE1MzFcIixcIidcXFxcezB9JyBtdXN0IGJlIGZvbGxvd2VkIGJ5IGEgVW5pY29kZSBwcm9wZXJ0eSB2YWx1ZSBleHByZXNzaW9uIGVuY2xvc2VkIGluIGJyYWNlcy5cIiksVGhlcmVfaXNfbm9fY2FwdHVyaW5nX2dyb3VwX25hbWVkXzBfaW5fdGhpc19yZWd1bGFyX2V4cHJlc3Npb246cigxNTMyLDEsXCJUaGVyZV9pc19ub19jYXB0dXJpbmdfZ3JvdXBfbmFtZWRfMF9pbl90aGlzX3JlZ3VsYXJfZXhwcmVzc2lvbl8xNTMyXCIsXCJUaGVyZSBpcyBubyBjYXB0dXJpbmcgZ3JvdXAgbmFtZWQgJ3swfScgaW4gdGhpcyByZWd1bGFyIGV4cHJlc3Npb24uXCIpLFRoaXNfYmFja3JlZmVyZW5jZV9yZWZlcnNfdG9fYV9ncm91cF90aGF0X2RvZXNfbm90X2V4aXN0X1RoZXJlX2FyZV9vbmx5XzBfY2FwdHVyaW5nX2dyb3Vwc19pbl90aGlzX3JlZ3VsYXJfZXhwcmVzc2lvbjpyKDE1MzMsMSxcIlRoaXNfYmFja3JlZmVyZW5jZV9yZWZlcnNfdG9fYV9ncm91cF90aGF0X2RvZXNfbm90X2V4aXN0X1RoZXJlX2FyZV9vbmx5XzBfY2FwdHVyaW5nX2dyb3Vwc19pbl90aGlzX3JfMTUzM1wiLFwiVGhpcyBiYWNrcmVmZXJlbmNlIHJlZmVycyB0byBhIGdyb3VwIHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZXJlIGFyZSBvbmx5IHswfSBjYXB0dXJpbmcgZ3JvdXBzIGluIHRoaXMgcmVndWxhciBleHByZXNzaW9uLlwiKSxUaGlzX2JhY2tyZWZlcmVuY2VfcmVmZXJzX3RvX2FfZ3JvdXBfdGhhdF9kb2VzX25vdF9leGlzdF9UaGVyZV9hcmVfbm9fY2FwdHVyaW5nX2dyb3Vwc19pbl90aGlzX3JlZ3VsYXJfZXhwcmVzc2lvbjpyKDE1MzQsMSxcIlRoaXNfYmFja3JlZmVyZW5jZV9yZWZlcnNfdG9fYV9ncm91cF90aGF0X2RvZXNfbm90X2V4aXN0X1RoZXJlX2FyZV9ub19jYXB0dXJpbmdfZ3JvdXBzX2luX3RoaXNfcmVndWxfMTUzNFwiLFwiVGhpcyBiYWNrcmVmZXJlbmNlIHJlZmVycyB0byBhIGdyb3VwIHRoYXQgZG9lcyBub3QgZXhpc3QuIFRoZXJlIGFyZSBubyBjYXB0dXJpbmcgZ3JvdXBzIGluIHRoaXMgcmVndWxhciBleHByZXNzaW9uLlwiKSxUaGlzX2NoYXJhY3Rlcl9jYW5ub3RfYmVfZXNjYXBlZF9pbl9hX3JlZ3VsYXJfZXhwcmVzc2lvbjpyKDE1MzUsMSxcIlRoaXNfY2hhcmFjdGVyX2Nhbm5vdF9iZV9lc2NhcGVkX2luX2FfcmVndWxhcl9leHByZXNzaW9uXzE1MzVcIixcIlRoaXMgY2hhcmFjdGVyIGNhbm5vdCBiZSBlc2NhcGVkIGluIGEgcmVndWxhciBleHByZXNzaW9uLlwiKSxPY3RhbF9lc2NhcGVfc2VxdWVuY2VzX2FuZF9iYWNrcmVmZXJlbmNlc19hcmVfbm90X2FsbG93ZWRfaW5fYV9jaGFyYWN0ZXJfY2xhc3NfSWZfdGhpc193YXNfaW50ZW5kZWRfYXNfYW5fZXNjYXBlX3NlcXVlbmNlX3VzZV90aGVfc3ludGF4XzBfaW5zdGVhZDpyKDE1MzYsMSxcIk9jdGFsX2VzY2FwZV9zZXF1ZW5jZXNfYW5kX2JhY2tyZWZlcmVuY2VzX2FyZV9ub3RfYWxsb3dlZF9pbl9hX2NoYXJhY3Rlcl9jbGFzc19JZl90aGlzX3dhc19pbnRlbmRlZF9fMTUzNlwiLFwiT2N0YWwgZXNjYXBlIHNlcXVlbmNlcyBhbmQgYmFja3JlZmVyZW5jZXMgYXJlIG5vdCBhbGxvd2VkIGluIGEgY2hhcmFjdGVyIGNsYXNzLiBJZiB0aGlzIHdhcyBpbnRlbmRlZCBhcyBhbiBlc2NhcGUgc2VxdWVuY2UsIHVzZSB0aGUgc3ludGF4ICd7MH0nIGluc3RlYWQuXCIpLERlY2ltYWxfZXNjYXBlX3NlcXVlbmNlc19hbmRfYmFja3JlZmVyZW5jZXNfYXJlX25vdF9hbGxvd2VkX2luX2FfY2hhcmFjdGVyX2NsYXNzOnIoMTUzNywxLFwiRGVjaW1hbF9lc2NhcGVfc2VxdWVuY2VzX2FuZF9iYWNrcmVmZXJlbmNlc19hcmVfbm90X2FsbG93ZWRfaW5fYV9jaGFyYWN0ZXJfY2xhc3NfMTUzN1wiLFwiRGVjaW1hbCBlc2NhcGUgc2VxdWVuY2VzIGFuZCBiYWNrcmVmZXJlbmNlcyBhcmUgbm90IGFsbG93ZWQgaW4gYSBjaGFyYWN0ZXIgY2xhc3MuXCIpLFVuaWNvZGVfZXNjYXBlX3NlcXVlbmNlc19hcmVfb25seV9hdmFpbGFibGVfd2hlbl90aGVfVW5pY29kZV91X2ZsYWdfb3JfdGhlX1VuaWNvZGVfU2V0c192X2ZsYWdfaXNfc2V0OnIoMTUzOCwxLFwiVW5pY29kZV9lc2NhcGVfc2VxdWVuY2VzX2FyZV9vbmx5X2F2YWlsYWJsZV93aGVuX3RoZV9Vbmljb2RlX3VfZmxhZ19vcl90aGVfVW5pY29kZV9TZXRzX3ZfZmxhZ19pc19zZV8xNTM4XCIsXCJVbmljb2RlIGVzY2FwZSBzZXF1ZW5jZXMgYXJlIG9ubHkgYXZhaWxhYmxlIHdoZW4gdGhlIFVuaWNvZGUgKHUpIGZsYWcgb3IgdGhlIFVuaWNvZGUgU2V0cyAodikgZmxhZyBpcyBzZXQuXCIpLEFfYmlnaW50X2xpdGVyYWxfY2Fubm90X2JlX3VzZWRfYXNfYV9wcm9wZXJ0eV9uYW1lOnIoMTUzOSwxLFwiQV9iaWdpbnRfbGl0ZXJhbF9jYW5ub3RfYmVfdXNlZF9hc19hX3Byb3BlcnR5X25hbWVfMTUzOVwiLFwiQSAnYmlnaW50JyBsaXRlcmFsIGNhbm5vdCBiZSB1c2VkIGFzIGEgcHJvcGVydHkgbmFtZS5cIiksQV9uYW1lc3BhY2VfZGVjbGFyYXRpb25fc2hvdWxkX25vdF9iZV9kZWNsYXJlZF91c2luZ190aGVfbW9kdWxlX2tleXdvcmRfUGxlYXNlX3VzZV90aGVfbmFtZXNwYWNlX2tleXdvcmRfaW5zdGVhZDpyKDE1NDAsMixcIkFfbmFtZXNwYWNlX2RlY2xhcmF0aW9uX3Nob3VsZF9ub3RfYmVfZGVjbGFyZWRfdXNpbmdfdGhlX21vZHVsZV9rZXl3b3JkX1BsZWFzZV91c2VfdGhlX25hbWVzcGFjZV9rZXlfMTU0MFwiLFwiQSAnbmFtZXNwYWNlJyBkZWNsYXJhdGlvbiBzaG91bGQgbm90IGJlIGRlY2xhcmVkIHVzaW5nIHRoZSAnbW9kdWxlJyBrZXl3b3JkLiBQbGVhc2UgdXNlIHRoZSAnbmFtZXNwYWNlJyBrZXl3b3JkIGluc3RlYWQuXCIsdm9pZCAwLHZvaWQgMCwhMCksVHlwZV9vbmx5X2ltcG9ydF9vZl9hbl9FQ01BU2NyaXB0X21vZHVsZV9mcm9tX2FfQ29tbW9uSlNfbW9kdWxlX211c3RfaGF2ZV9hX3Jlc29sdXRpb25fbW9kZV9hdHRyaWJ1dGU6cigxNTQxLDEsXCJUeXBlX29ubHlfaW1wb3J0X29mX2FuX0VDTUFTY3JpcHRfbW9kdWxlX2Zyb21fYV9Db21tb25KU19tb2R1bGVfbXVzdF9oYXZlX2FfcmVzb2x1dGlvbl9tb2RlX2F0dHJpYnV0XzE1NDFcIixcIlR5cGUtb25seSBpbXBvcnQgb2YgYW4gRUNNQVNjcmlwdCBtb2R1bGUgZnJvbSBhIENvbW1vbkpTIG1vZHVsZSBtdXN0IGhhdmUgYSAncmVzb2x1dGlvbi1tb2RlJyBhdHRyaWJ1dGUuXCIpLFR5cGVfaW1wb3J0X29mX2FuX0VDTUFTY3JpcHRfbW9kdWxlX2Zyb21fYV9Db21tb25KU19tb2R1bGVfbXVzdF9oYXZlX2FfcmVzb2x1dGlvbl9tb2RlX2F0dHJpYnV0ZTpyKDE1NDIsMSxcIlR5cGVfaW1wb3J0X29mX2FuX0VDTUFTY3JpcHRfbW9kdWxlX2Zyb21fYV9Db21tb25KU19tb2R1bGVfbXVzdF9oYXZlX2FfcmVzb2x1dGlvbl9tb2RlX2F0dHJpYnV0ZV8xNTQyXCIsXCJUeXBlIGltcG9ydCBvZiBhbiBFQ01BU2NyaXB0IG1vZHVsZSBmcm9tIGEgQ29tbW9uSlMgbW9kdWxlIG11c3QgaGF2ZSBhICdyZXNvbHV0aW9uLW1vZGUnIGF0dHJpYnV0ZS5cIiksSW1wb3J0aW5nX2FfSlNPTl9maWxlX2ludG9fYW5fRUNNQVNjcmlwdF9tb2R1bGVfcmVxdWlyZXNfYV90eXBlX0NvbG9uX2pzb25faW1wb3J0X2F0dHJpYnV0ZV93aGVuX21vZHVsZV9pc19zZXRfdG9fMDpyKDE1NDMsMSxcIkltcG9ydGluZ19hX0pTT05fZmlsZV9pbnRvX2FuX0VDTUFTY3JpcHRfbW9kdWxlX3JlcXVpcmVzX2FfdHlwZV9Db2xvbl9qc29uX2ltcG9ydF9hdHRyaWJ1dGVfd2hlbl9tb2RfMTU0M1wiLGBJbXBvcnRpbmcgYSBKU09OIGZpbGUgaW50byBhbiBFQ01BU2NyaXB0IG1vZHVsZSByZXF1aXJlcyBhICd0eXBlOiBcImpzb25cIicgaW1wb3J0IGF0dHJpYnV0ZSB3aGVuICdtb2R1bGUnIGlzIHNldCB0byAnezB9Jy5gKSxOYW1lZF9pbXBvcnRzX2Zyb21fYV9KU09OX2ZpbGVfaW50b19hbl9FQ01BU2NyaXB0X21vZHVsZV9hcmVfbm90X2FsbG93ZWRfd2hlbl9tb2R1bGVfaXNfc2V0X3RvXzA6cigxNTQ0LDEsXCJOYW1lZF9pbXBvcnRzX2Zyb21fYV9KU09OX2ZpbGVfaW50b19hbl9FQ01BU2NyaXB0X21vZHVsZV9hcmVfbm90X2FsbG93ZWRfd2hlbl9tb2R1bGVfaXNfc2V0X3RvXzBfMTU0NFwiLFwiTmFtZWQgaW1wb3J0cyBmcm9tIGEgSlNPTiBmaWxlIGludG8gYW4gRUNNQVNjcmlwdCBtb2R1bGUgYXJlIG5vdCBhbGxvd2VkIHdoZW4gJ21vZHVsZScgaXMgc2V0IHRvICd7MH0nLlwiKSxUaGVfdHlwZXNfb2ZfMF9hcmVfaW5jb21wYXRpYmxlX2JldHdlZW5fdGhlc2VfdHlwZXM6cigyMjAwLDEsXCJUaGVfdHlwZXNfb2ZfMF9hcmVfaW5jb21wYXRpYmxlX2JldHdlZW5fdGhlc2VfdHlwZXNfMjIwMFwiLFwiVGhlIHR5cGVzIG9mICd7MH0nIGFyZSBpbmNvbXBhdGlibGUgYmV0d2VlbiB0aGVzZSB0eXBlcy5cIiksVGhlX3R5cGVzX3JldHVybmVkX2J5XzBfYXJlX2luY29tcGF0aWJsZV9iZXR3ZWVuX3RoZXNlX3R5cGVzOnIoMjIwMSwxLFwiVGhlX3R5cGVzX3JldHVybmVkX2J5XzBfYXJlX2luY29tcGF0aWJsZV9iZXR3ZWVuX3RoZXNlX3R5cGVzXzIyMDFcIixcIlRoZSB0eXBlcyByZXR1cm5lZCBieSAnezB9JyBhcmUgaW5jb21wYXRpYmxlIGJldHdlZW4gdGhlc2UgdHlwZXMuXCIpLENhbGxfc2lnbmF0dXJlX3JldHVybl90eXBlc18wX2FuZF8xX2FyZV9pbmNvbXBhdGlibGU6cigyMjAyLDEsXCJDYWxsX3NpZ25hdHVyZV9yZXR1cm5fdHlwZXNfMF9hbmRfMV9hcmVfaW5jb21wYXRpYmxlXzIyMDJcIixcIkNhbGwgc2lnbmF0dXJlIHJldHVybiB0eXBlcyAnezB9JyBhbmQgJ3sxfScgYXJlIGluY29tcGF0aWJsZS5cIix2b2lkIDAsITApLENvbnN0cnVjdF9zaWduYXR1cmVfcmV0dXJuX3R5cGVzXzBfYW5kXzFfYXJlX2luY29tcGF0aWJsZTpyKDIyMDMsMSxcIkNvbnN0cnVjdF9zaWduYXR1cmVfcmV0dXJuX3R5cGVzXzBfYW5kXzFfYXJlX2luY29tcGF0aWJsZV8yMjAzXCIsXCJDb25zdHJ1Y3Qgc2lnbmF0dXJlIHJldHVybiB0eXBlcyAnezB9JyBhbmQgJ3sxfScgYXJlIGluY29tcGF0aWJsZS5cIix2b2lkIDAsITApLENhbGxfc2lnbmF0dXJlc193aXRoX25vX2FyZ3VtZW50c19oYXZlX2luY29tcGF0aWJsZV9yZXR1cm5fdHlwZXNfMF9hbmRfMTpyKDIyMDQsMSxcIkNhbGxfc2lnbmF0dXJlc193aXRoX25vX2FyZ3VtZW50c19oYXZlX2luY29tcGF0aWJsZV9yZXR1cm5fdHlwZXNfMF9hbmRfMV8yMjA0XCIsXCJDYWxsIHNpZ25hdHVyZXMgd2l0aCBubyBhcmd1bWVudHMgaGF2ZSBpbmNvbXBhdGlibGUgcmV0dXJuIHR5cGVzICd7MH0nIGFuZCAnezF9Jy5cIix2b2lkIDAsITApLENvbnN0cnVjdF9zaWduYXR1cmVzX3dpdGhfbm9fYXJndW1lbnRzX2hhdmVfaW5jb21wYXRpYmxlX3JldHVybl90eXBlc18wX2FuZF8xOnIoMjIwNSwxLFwiQ29uc3RydWN0X3NpZ25hdHVyZXNfd2l0aF9ub19hcmd1bWVudHNfaGF2ZV9pbmNvbXBhdGlibGVfcmV0dXJuX3R5cGVzXzBfYW5kXzFfMjIwNVwiLFwiQ29uc3RydWN0IHNpZ25hdHVyZXMgd2l0aCBubyBhcmd1bWVudHMgaGF2ZSBpbmNvbXBhdGlibGUgcmV0dXJuIHR5cGVzICd7MH0nIGFuZCAnezF9Jy5cIix2b2lkIDAsITApLFRoZV90eXBlX21vZGlmaWVyX2Nhbm5vdF9iZV91c2VkX29uX2FfbmFtZWRfaW1wb3J0X3doZW5faW1wb3J0X3R5cGVfaXNfdXNlZF9vbl9pdHNfaW1wb3J0X3N0YXRlbWVudDpyKDIyMDYsMSxcIlRoZV90eXBlX21vZGlmaWVyX2Nhbm5vdF9iZV91c2VkX29uX2FfbmFtZWRfaW1wb3J0X3doZW5faW1wb3J0X3R5cGVfaXNfdXNlZF9vbl9pdHNfaW1wb3J0X3N0YXRlbWVudF8yMjA2XCIsXCJUaGUgJ3R5cGUnIG1vZGlmaWVyIGNhbm5vdCBiZSB1c2VkIG9uIGEgbmFtZWQgaW1wb3J0IHdoZW4gJ2ltcG9ydCB0eXBlJyBpcyB1c2VkIG9uIGl0cyBpbXBvcnQgc3RhdGVtZW50LlwiKSxUaGVfdHlwZV9tb2RpZmllcl9jYW5ub3RfYmVfdXNlZF9vbl9hX25hbWVkX2V4cG9ydF93aGVuX2V4cG9ydF90eXBlX2lzX3VzZWRfb25faXRzX2V4cG9ydF9zdGF0ZW1lbnQ6cigyMjA3LDEsXCJUaGVfdHlwZV9tb2RpZmllcl9jYW5ub3RfYmVfdXNlZF9vbl9hX25hbWVkX2V4cG9ydF93aGVuX2V4cG9ydF90eXBlX2lzX3VzZWRfb25faXRzX2V4cG9ydF9zdGF0ZW1lbnRfMjIwN1wiLFwiVGhlICd0eXBlJyBtb2RpZmllciBjYW5ub3QgYmUgdXNlZCBvbiBhIG5hbWVkIGV4cG9ydCB3aGVuICdleHBvcnQgdHlwZScgaXMgdXNlZCBvbiBpdHMgZXhwb3J0IHN0YXRlbWVudC5cIiksVGhpc190eXBlX3BhcmFtZXRlcl9taWdodF9uZWVkX2FuX2V4dGVuZHNfMF9jb25zdHJhaW50OnIoMjIwOCwxLFwiVGhpc190eXBlX3BhcmFtZXRlcl9taWdodF9uZWVkX2FuX2V4dGVuZHNfMF9jb25zdHJhaW50XzIyMDhcIixcIlRoaXMgdHlwZSBwYXJhbWV0ZXIgbWlnaHQgbmVlZCBhbiBgZXh0ZW5kcyB7MH1gIGNvbnN0cmFpbnQuXCIpLFRoZV9wcm9qZWN0X3Jvb3RfaXNfYW1iaWd1b3VzX2J1dF9pc19yZXF1aXJlZF90b19yZXNvbHZlX2V4cG9ydF9tYXBfZW50cnlfMF9pbl9maWxlXzFfU3VwcGx5X3RoZV9yb290RGlyX2NvbXBpbGVyX29wdGlvbl90b19kaXNhbWJpZ3VhdGU6cigyMjA5LDEsXCJUaGVfcHJvamVjdF9yb290X2lzX2FtYmlndW91c19idXRfaXNfcmVxdWlyZWRfdG9fcmVzb2x2ZV9leHBvcnRfbWFwX2VudHJ5XzBfaW5fZmlsZV8xX1N1cHBseV90aGVfcm9vXzIyMDlcIixcIlRoZSBwcm9qZWN0IHJvb3QgaXMgYW1iaWd1b3VzLCBidXQgaXMgcmVxdWlyZWQgdG8gcmVzb2x2ZSBleHBvcnQgbWFwIGVudHJ5ICd7MH0nIGluIGZpbGUgJ3sxfScuIFN1cHBseSB0aGUgYHJvb3REaXJgIGNvbXBpbGVyIG9wdGlvbiB0byBkaXNhbWJpZ3VhdGUuXCIpLFRoZV9wcm9qZWN0X3Jvb3RfaXNfYW1iaWd1b3VzX2J1dF9pc19yZXF1aXJlZF90b19yZXNvbHZlX2ltcG9ydF9tYXBfZW50cnlfMF9pbl9maWxlXzFfU3VwcGx5X3RoZV9yb290RGlyX2NvbXBpbGVyX29wdGlvbl90b19kaXNhbWJpZ3VhdGU6cigyMjEwLDEsXCJUaGVfcHJvamVjdF9yb290X2lzX2FtYmlndW91c19idXRfaXNfcmVxdWlyZWRfdG9fcmVzb2x2ZV9pbXBvcnRfbWFwX2VudHJ5XzBfaW5fZmlsZV8xX1N1cHBseV90aGVfcm9vXzIyMTBcIixcIlRoZSBwcm9qZWN0IHJvb3QgaXMgYW1iaWd1b3VzLCBidXQgaXMgcmVxdWlyZWQgdG8gcmVzb2x2ZSBpbXBvcnQgbWFwIGVudHJ5ICd7MH0nIGluIGZpbGUgJ3sxfScuIFN1cHBseSB0aGUgYHJvb3REaXJgIGNvbXBpbGVyIG9wdGlvbiB0byBkaXNhbWJpZ3VhdGUuXCIpLEFkZF9leHRlbmRzX2NvbnN0cmFpbnQ6cigyMjExLDMsXCJBZGRfZXh0ZW5kc19jb25zdHJhaW50XzIyMTFcIixcIkFkZCBgZXh0ZW5kc2AgY29uc3RyYWludC5cIiksQWRkX2V4dGVuZHNfY29uc3RyYWludF90b19hbGxfdHlwZV9wYXJhbWV0ZXJzOnIoMjIxMiwzLFwiQWRkX2V4dGVuZHNfY29uc3RyYWludF90b19hbGxfdHlwZV9wYXJhbWV0ZXJzXzIyMTJcIixcIkFkZCBgZXh0ZW5kc2AgY29uc3RyYWludCB0byBhbGwgdHlwZSBwYXJhbWV0ZXJzXCIpLER1cGxpY2F0ZV9pZGVudGlmaWVyXzA6cigyMzAwLDEsXCJEdXBsaWNhdGVfaWRlbnRpZmllcl8wXzIzMDBcIixcIkR1cGxpY2F0ZSBpZGVudGlmaWVyICd7MH0nLlwiKSxJbml0aWFsaXplcl9vZl9pbnN0YW5jZV9tZW1iZXJfdmFyaWFibGVfMF9jYW5ub3RfcmVmZXJlbmNlX2lkZW50aWZpZXJfMV9kZWNsYXJlZF9pbl90aGVfY29uc3RydWN0b3I6cigyMzAxLDEsXCJJbml0aWFsaXplcl9vZl9pbnN0YW5jZV9tZW1iZXJfdmFyaWFibGVfMF9jYW5ub3RfcmVmZXJlbmNlX2lkZW50aWZpZXJfMV9kZWNsYXJlZF9pbl90aGVfY29uc3RydWN0b3JfMjMwMVwiLFwiSW5pdGlhbGl6ZXIgb2YgaW5zdGFuY2UgbWVtYmVyIHZhcmlhYmxlICd7MH0nIGNhbm5vdCByZWZlcmVuY2UgaWRlbnRpZmllciAnezF9JyBkZWNsYXJlZCBpbiB0aGUgY29uc3RydWN0b3IuXCIpLFN0YXRpY19tZW1iZXJzX2Nhbm5vdF9yZWZlcmVuY2VfY2xhc3NfdHlwZV9wYXJhbWV0ZXJzOnIoMjMwMiwxLFwiU3RhdGljX21lbWJlcnNfY2Fubm90X3JlZmVyZW5jZV9jbGFzc190eXBlX3BhcmFtZXRlcnNfMjMwMlwiLFwiU3RhdGljIG1lbWJlcnMgY2Fubm90IHJlZmVyZW5jZSBjbGFzcyB0eXBlIHBhcmFtZXRlcnMuXCIpLENpcmN1bGFyX2RlZmluaXRpb25fb2ZfaW1wb3J0X2FsaWFzXzA6cigyMzAzLDEsXCJDaXJjdWxhcl9kZWZpbml0aW9uX29mX2ltcG9ydF9hbGlhc18wXzIzMDNcIixcIkNpcmN1bGFyIGRlZmluaXRpb24gb2YgaW1wb3J0IGFsaWFzICd7MH0nLlwiKSxDYW5ub3RfZmluZF9uYW1lXzA6cigyMzA0LDEsXCJDYW5ub3RfZmluZF9uYW1lXzBfMjMwNFwiLFwiQ2Fubm90IGZpbmQgbmFtZSAnezB9Jy5cIiksTW9kdWxlXzBfaGFzX25vX2V4cG9ydGVkX21lbWJlcl8xOnIoMjMwNSwxLFwiTW9kdWxlXzBfaGFzX25vX2V4cG9ydGVkX21lbWJlcl8xXzIzMDVcIixcIk1vZHVsZSAnezB9JyBoYXMgbm8gZXhwb3J0ZWQgbWVtYmVyICd7MX0nLlwiKSxGaWxlXzBfaXNfbm90X2FfbW9kdWxlOnIoMjMwNiwxLFwiRmlsZV8wX2lzX25vdF9hX21vZHVsZV8yMzA2XCIsXCJGaWxlICd7MH0nIGlzIG5vdCBhIG1vZHVsZS5cIiksQ2Fubm90X2ZpbmRfbW9kdWxlXzBfb3JfaXRzX2NvcnJlc3BvbmRpbmdfdHlwZV9kZWNsYXJhdGlvbnM6cigyMzA3LDEsXCJDYW5ub3RfZmluZF9tb2R1bGVfMF9vcl9pdHNfY29ycmVzcG9uZGluZ190eXBlX2RlY2xhcmF0aW9uc18yMzA3XCIsXCJDYW5ub3QgZmluZCBtb2R1bGUgJ3swfScgb3IgaXRzIGNvcnJlc3BvbmRpbmcgdHlwZSBkZWNsYXJhdGlvbnMuXCIpLE1vZHVsZV8wX2hhc19hbHJlYWR5X2V4cG9ydGVkX2FfbWVtYmVyX25hbWVkXzFfQ29uc2lkZXJfZXhwbGljaXRseV9yZV9leHBvcnRpbmdfdG9fcmVzb2x2ZV90aGVfYW1iaWd1aXR5OnIoMjMwOCwxLFwiTW9kdWxlXzBfaGFzX2FscmVhZHlfZXhwb3J0ZWRfYV9tZW1iZXJfbmFtZWRfMV9Db25zaWRlcl9leHBsaWNpdGx5X3JlX2V4cG9ydGluZ190b19yZXNvbHZlX3RoZV9hbWJpZ18yMzA4XCIsXCJNb2R1bGUgezB9IGhhcyBhbHJlYWR5IGV4cG9ydGVkIGEgbWVtYmVyIG5hbWVkICd7MX0nLiBDb25zaWRlciBleHBsaWNpdGx5IHJlLWV4cG9ydGluZyB0byByZXNvbHZlIHRoZSBhbWJpZ3VpdHkuXCIpLEFuX2V4cG9ydF9hc3NpZ25tZW50X2Nhbm5vdF9iZV91c2VkX2luX2FfbW9kdWxlX3dpdGhfb3RoZXJfZXhwb3J0ZWRfZWxlbWVudHM6cigyMzA5LDEsXCJBbl9leHBvcnRfYXNzaWdubWVudF9jYW5ub3RfYmVfdXNlZF9pbl9hX21vZHVsZV93aXRoX290aGVyX2V4cG9ydGVkX2VsZW1lbnRzXzIzMDlcIixcIkFuIGV4cG9ydCBhc3NpZ25tZW50IGNhbm5vdCBiZSB1c2VkIGluIGEgbW9kdWxlIHdpdGggb3RoZXIgZXhwb3J0ZWQgZWxlbWVudHMuXCIpLFR5cGVfMF9yZWN1cnNpdmVseV9yZWZlcmVuY2VzX2l0c2VsZl9hc19hX2Jhc2VfdHlwZTpyKDIzMTAsMSxcIlR5cGVfMF9yZWN1cnNpdmVseV9yZWZlcmVuY2VzX2l0c2VsZl9hc19hX2Jhc2VfdHlwZV8yMzEwXCIsXCJUeXBlICd7MH0nIHJlY3Vyc2l2ZWx5IHJlZmVyZW5jZXMgaXRzZWxmIGFzIGEgYmFzZSB0eXBlLlwiKSxDYW5ub3RfZmluZF9uYW1lXzBfRGlkX3lvdV9tZWFuX3RvX3dyaXRlX3RoaXNfaW5fYW5fYXN5bmNfZnVuY3Rpb246cigyMzExLDEsXCJDYW5ub3RfZmluZF9uYW1lXzBfRGlkX3lvdV9tZWFuX3RvX3dyaXRlX3RoaXNfaW5fYW5fYXN5bmNfZnVuY3Rpb25fMjMxMVwiLFwiQ2Fubm90IGZpbmQgbmFtZSAnezB9Jy4gRGlkIHlvdSBtZWFuIHRvIHdyaXRlIHRoaXMgaW4gYW4gYXN5bmMgZnVuY3Rpb24/XCIpLEFuX2ludGVyZmFjZV9jYW5fb25seV9leHRlbmRfYW5fb2JqZWN0X3R5cGVfb3JfaW50ZXJzZWN0aW9uX29mX29iamVjdF90eXBlc193aXRoX3N0YXRpY2FsbHlfa25vd25fbWVtYmVyczpyKDIzMTIsMSxcIkFuX2ludGVyZmFjZV9jYW5fb25seV9leHRlbmRfYW5fb2JqZWN0X3R5cGVfb3JfaW50ZXJzZWN0aW9uX29mX29iamVjdF90eXBlc193aXRoX3N0YXRpY2FsbHlfa25vd25fbWVfMjMxMlwiLFwiQW4gaW50ZXJmYWNlIGNhbiBvbmx5IGV4dGVuZCBhbiBvYmplY3QgdHlwZSBvciBpbnRlcnNlY3Rpb24gb2Ygb2JqZWN0IHR5cGVzIHdpdGggc3RhdGljYWxseSBrbm93biBtZW1iZXJzLlwiKSxUeXBlX3BhcmFtZXRlcl8wX2hhc19hX2NpcmN1bGFyX2NvbnN0cmFpbnQ6cigyMzEzLDEsXCJUeXBlX3BhcmFtZXRlcl8wX2hhc19hX2NpcmN1bGFyX2NvbnN0cmFpbnRfMjMxM1wiLFwiVHlwZSBwYXJhbWV0ZXIgJ3swfScgaGFzIGEgY2lyY3VsYXIgY29uc3RyYWludC5cIiksR2VuZXJpY190eXBlXzBfcmVxdWlyZXNfMV90eXBlX2FyZ3VtZW50X3M6cigyMzE0LDEsXCJHZW5lcmljX3R5cGVfMF9yZXF1aXJlc18xX3R5cGVfYXJndW1lbnRfc18yMzE0XCIsXCJHZW5lcmljIHR5cGUgJ3swfScgcmVxdWlyZXMgezF9IHR5cGUgYXJndW1lbnQocykuXCIpLFR5cGVfMF9pc19ub3RfZ2VuZXJpYzpyKDIzMTUsMSxcIlR5cGVfMF9pc19ub3RfZ2VuZXJpY18yMzE1XCIsXCJUeXBlICd7MH0nIGlzIG5vdCBnZW5lcmljLlwiKSxHbG9iYWxfdHlwZV8wX211c3RfYmVfYV9jbGFzc19vcl9pbnRlcmZhY2VfdHlwZTpyKDIzMTYsMSxcIkdsb2JhbF90eXBlXzBfbXVzdF9iZV9hX2NsYXNzX29yX2ludGVyZmFjZV90eXBlXzIzMTZcIixcIkdsb2JhbCB0eXBlICd7MH0nIG11c3QgYmUgYSBjbGFzcyBvciBpbnRlcmZhY2UgdHlwZS5cIiksR2xvYmFsX3R5cGVfMF9tdXN0X2hhdmVfMV90eXBlX3BhcmFtZXRlcl9zOnIoMjMxNywxLFwiR2xvYmFsX3R5cGVfMF9tdXN0X2hhdmVfMV90eXBlX3BhcmFtZXRlcl9zXzIzMTdcIixcIkdsb2JhbCB0eXBlICd7MH0nIG11c3QgaGF2ZSB7MX0gdHlwZSBwYXJhbWV0ZXIocykuXCIpLENhbm5vdF9maW5kX2dsb2JhbF90eXBlXzA6cigyMzE4LDEsXCJDYW5ub3RfZmluZF9nbG9iYWxfdHlwZV8wXzIzMThcIixcIkNhbm5vdCBmaW5kIGdsb2JhbCB0eXBlICd7MH0nLlwiKSxOYW1lZF9wcm9wZXJ0eV8wX29mX3R5cGVzXzFfYW5kXzJfYXJlX25vdF9pZGVudGljYWw6cigyMzE5LDEsXCJOYW1lZF9wcm9wZXJ0eV8wX29mX3R5cGVzXzFfYW5kXzJfYXJlX25vdF9pZGVudGljYWxfMjMxOVwiLFwiTmFtZWQgcHJvcGVydHkgJ3swfScgb2YgdHlwZXMgJ3sxfScgYW5kICd7Mn0nIGFyZSBub3QgaWRlbnRpY2FsLlwiKSxJbnRlcmZhY2VfMF9jYW5ub3Rfc2ltdWx0YW5lb3VzbHlfZXh0ZW5kX3R5cGVzXzFfYW5kXzI6cigyMzIwLDEsXCJJbnRlcmZhY2VfMF9jYW5ub3Rfc2ltdWx0YW5lb3VzbHlfZXh0ZW5kX3R5cGVzXzFfYW5kXzJfMjMyMFwiLFwiSW50ZXJmYWNlICd7MH0nIGNhbm5vdCBzaW11bHRhbmVvdXNseSBleHRlbmQgdHlwZXMgJ3sxfScgYW5kICd7Mn0nLlwiKSxFeGNlc3NpdmVfc3RhY2tfZGVwdGhfY29tcGFyaW5nX3R5cGVzXzBfYW5kXzE6cigyMzIxLDEsXCJFeGNlc3NpdmVfc3RhY2tfZGVwdGhfY29tcGFyaW5nX3R5cGVzXzBfYW5kXzFfMjMyMVwiLFwiRXhjZXNzaXZlIHN0YWNrIGRlcHRoIGNvbXBhcmluZyB0eXBlcyAnezB9JyBhbmQgJ3sxfScuXCIpLFR5cGVfMF9pc19ub3RfYXNzaWduYWJsZV90b190eXBlXzE6cigyMzIyLDEsXCJUeXBlXzBfaXNfbm90X2Fzc2lnbmFibGVfdG9fdHlwZV8xXzIzMjJcIixcIlR5cGUgJ3swfScgaXMgbm90IGFzc2lnbmFibGUgdG8gdHlwZSAnezF9Jy5cIiksQ2Fubm90X3JlZGVjbGFyZV9leHBvcnRlZF92YXJpYWJsZV8wOnIoMjMyMywxLFwiQ2Fubm90X3JlZGVjbGFyZV9leHBvcnRlZF92YXJpYWJsZV8wXzIzMjNcIixcIkNhbm5vdCByZWRlY2xhcmUgZXhwb3J0ZWQgdmFyaWFibGUgJ3swfScuXCIpLFByb3BlcnR5XzBfaXNfbWlzc2luZ19pbl90eXBlXzE6cigyMzI0LDEsXCJQcm9wZXJ0eV8wX2lzX21pc3NpbmdfaW5fdHlwZV8xXzIzMjRcIixcIlByb3BlcnR5ICd7MH0nIGlzIG1pc3NpbmcgaW4gdHlwZSAnezF9Jy5cIiksUHJvcGVydHlfMF9pc19wcml2YXRlX2luX3R5cGVfMV9idXRfbm90X2luX3R5cGVfMjpyKDIzMjUsMSxcIlByb3BlcnR5XzBfaXNfcHJpdmF0ZV9pbl90eXBlXzFfYnV0X25vdF9pbl90eXBlXzJfMjMyNVwiLFwiUHJvcGVydHkgJ3swfScgaXMgcHJpdmF0ZSBpbiB0eXBlICd7MX0nIGJ1dCBub3QgaW4gdHlwZSAnezJ9Jy5cIiksVHlwZXNfb2ZfcHJvcGVydHlfMF9hcmVfaW5jb21wYXRpYmxlOnIoMjMyNiwxLFwiVHlwZXNfb2ZfcHJvcGVydHlfMF9hcmVfaW5jb21wYXRpYmxlXzIzMjZcIixcIlR5cGVzIG9mIHByb3BlcnR5ICd7MH0nIGFyZSBpbmNvbXBhdGlibGUuXCIpLFByb3BlcnR5XzBfaXNfb3B0aW9uYWxfaW5fdHlwZV8xX2J1dF9yZXF1aXJlZF9pbl90eXBlXzI6cigyMzI3LDEsXCJQcm9wZXJ0eV8wX2lzX29wdGlvbmFsX2luX3R5cGVfMV9idXRfcmVxdWlyZWRfaW5fdHlwZV8yXzIzMjdcIixcIlByb3BlcnR5ICd7MH0nIGlzIG9wdGlvbmFsIGluIHR5cGUgJ3sxfScgYnV0IHJlcXVpcmVkIGluIHR5cGUgJ3syfScuXCIpLFR5cGVzX29mX3BhcmFtZXRlcnNfMF9hbmRfMV9hcmVfaW5jb21wYXRpYmxlOnIoMjMyOCwxLFwiVHlwZXNfb2ZfcGFyYW1ldGVyc18wX2FuZF8xX2FyZV9pbmNvbXBhdGlibGVfMjMyOFwiLFwiVHlwZXMgb2YgcGFyYW1ldGVycyAnezB9JyBhbmQgJ3sxfScgYXJlIGluY29tcGF0aWJsZS5cIiksSW5kZXhfc2lnbmF0dXJlX2Zvcl90eXBlXzBfaXNfbWlzc2luZ19pbl90eXBlXzE6cigyMzI5LDEsXCJJbmRleF9zaWduYXR1cmVfZm9yX3R5cGVfMF9pc19taXNzaW5nX2luX3R5cGVfMV8yMzI5XCIsXCJJbmRleCBzaWduYXR1cmUgZm9yIHR5cGUgJ3swfScgaXMgbWlzc2luZyBpbiB0eXBlICd7MX0nLlwiKSxfMF9hbmRfMV9pbmRleF9zaWduYXR1cmVzX2FyZV9pbmNvbXBhdGlibGU6cigyMzMwLDEsXCJfMF9hbmRfMV9pbmRleF9zaWduYXR1cmVzX2FyZV9pbmNvbXBhdGlibGVfMjMzMFwiLFwiJ3swfScgYW5kICd7MX0nIGluZGV4IHNpZ25hdHVyZXMgYXJlIGluY29tcGF0aWJsZS5cIiksdGhpc19jYW5ub3RfYmVfcmVmZXJlbmNlZF9pbl9hX21vZHVsZV9vcl9uYW1lc3BhY2VfYm9keTpyKDIzMzEsMSxcInRoaXNfY2Fubm90X2JlX3JlZmVyZW5jZWRfaW5fYV9tb2R1bGVfb3JfbmFtZXNwYWNlX2JvZHlfMjMzMVwiLFwiJ3RoaXMnIGNhbm5vdCBiZSByZWZlcmVuY2VkIGluIGEgbW9kdWxlIG9yIG5hbWVzcGFjZSBib2R5LlwiKSx0aGlzX2Nhbm5vdF9iZV9yZWZlcmVuY2VkX2luX2N1cnJlbnRfbG9jYXRpb246cigyMzMyLDEsXCJ0aGlzX2Nhbm5vdF9iZV9yZWZlcmVuY2VkX2luX2N1cnJlbnRfbG9jYXRpb25fMjMzMlwiLFwiJ3RoaXMnIGNhbm5vdCBiZSByZWZlcmVuY2VkIGluIGN1cnJlbnQgbG9jYXRpb24uXCIpLHRoaXNfY2Fubm90X2JlX3JlZmVyZW5jZWRfaW5fYV9zdGF0aWNfcHJvcGVydHlfaW5pdGlhbGl6ZXI6cigyMzM0LDEsXCJ0aGlzX2Nhbm5vdF9iZV9yZWZlcmVuY2VkX2luX2Ffc3RhdGljX3Byb3BlcnR5X2luaXRpYWxpemVyXzIzMzRcIixcIid0aGlzJyBjYW5ub3QgYmUgcmVmZXJlbmNlZCBpbiBhIHN0YXRpYyBwcm9wZXJ0eSBpbml0aWFsaXplci5cIiksc3VwZXJfY2FuX29ubHlfYmVfcmVmZXJlbmNlZF9pbl9hX2Rlcml2ZWRfY2xhc3M6cigyMzM1LDEsXCJzdXBlcl9jYW5fb25seV9iZV9yZWZlcmVuY2VkX2luX2FfZGVyaXZlZF9jbGFzc18yMzM1XCIsXCInc3VwZXInIGNhbiBvbmx5IGJlIHJlZmVyZW5jZWQgaW4gYSBkZXJpdmVkIGNsYXNzLlwiKSxzdXBlcl9jYW5ub3RfYmVfcmVmZXJlbmNlZF9pbl9jb25zdHJ1Y3Rvcl9hcmd1bWVudHM6cigyMzM2LDEsXCJzdXBlcl9jYW5ub3RfYmVfcmVmZXJlbmNlZF9pbl9jb25zdHJ1Y3Rvcl9hcmd1bWVudHNfMjMzNlwiLFwiJ3N1cGVyJyBjYW5ub3QgYmUgcmVmZXJlbmNlZCBpbiBjb25zdHJ1Y3RvciBhcmd1bWVudHMuXCIpLFN1cGVyX2NhbGxzX2FyZV9ub3RfcGVybWl0dGVkX291dHNpZGVfY29uc3RydWN0b3JzX29yX2luX25lc3RlZF9mdW5jdGlvbnNfaW5zaWRlX2NvbnN0cnVjdG9yczpyKDIzMzcsMSxcIlN1cGVyX2NhbGxzX2FyZV9ub3RfcGVybWl0dGVkX291dHNpZGVfY29uc3RydWN0b3JzX29yX2luX25lc3RlZF9mdW5jdGlvbnNfaW5zaWRlX2NvbnN0cnVjdG9yc18yMzM3XCIsXCJTdXBlciBjYWxscyBhcmUgbm90IHBlcm1pdHRlZCBvdXRzaWRlIGNvbnN0cnVjdG9ycyBvciBpbiBuZXN0ZWQgZnVuY3Rpb25zIGluc2lkZSBjb25zdHJ1Y3RvcnMuXCIpLHN1cGVyX3Byb3BlcnR5X2FjY2Vzc19pc19wZXJtaXR0ZWRfb25seV9pbl9hX2NvbnN0cnVjdG9yX21lbWJlcl9mdW5jdGlvbl9vcl9tZW1iZXJfYWNjZXNzb3Jfb2ZfYV9kZXJpdmVkX2NsYXNzOnIoMjMzOCwxLFwic3VwZXJfcHJvcGVydHlfYWNjZXNzX2lzX3Blcm1pdHRlZF9vbmx5X2luX2FfY29uc3RydWN0b3JfbWVtYmVyX2Z1bmN0aW9uX29yX21lbWJlcl9hY2Nlc3Nvcl9vZl9hX2Rlcl8yMzM4XCIsXCInc3VwZXInIHByb3BlcnR5IGFjY2VzcyBpcyBwZXJtaXR0ZWQgb25seSBpbiBhIGNvbnN0cnVjdG9yLCBtZW1iZXIgZnVuY3Rpb24sIG9yIG1lbWJlciBhY2Nlc3NvciBvZiBhIGRlcml2ZWQgY2xhc3MuXCIpLFByb3BlcnR5XzBfZG9lc19ub3RfZXhpc3Rfb25fdHlwZV8xOnIoMjMzOSwxLFwiUHJvcGVydHlfMF9kb2VzX25vdF9leGlzdF9vbl90eXBlXzFfMjMzOVwiLFwiUHJvcGVydHkgJ3swfScgZG9lcyBub3QgZXhpc3Qgb24gdHlwZSAnezF9Jy5cIiksT25seV9wdWJsaWNfYW5kX3Byb3RlY3RlZF9tZXRob2RzX29mX3RoZV9iYXNlX2NsYXNzX2FyZV9hY2Nlc3NpYmxlX3ZpYV90aGVfc3VwZXJfa2V5d29yZDpyKDIzNDAsMSxcIk9ubHlfcHVibGljX2FuZF9wcm90ZWN0ZWRfbWV0aG9kc19vZl90aGVfYmFzZV9jbGFzc19hcmVfYWNjZXNzaWJsZV92aWFfdGhlX3N1cGVyX2tleXdvcmRfMjM0MFwiLFwiT25seSBwdWJsaWMgYW5kIHByb3RlY3RlZCBtZXRob2RzIG9mIHRoZSBiYXNlIGNsYXNzIGFyZSBhY2Nlc3NpYmxlIHZpYSB0aGUgJ3N1cGVyJyBrZXl3b3JkLlwiKSxQcm9wZXJ0eV8wX2lzX3ByaXZhdGVfYW5kX29ubHlfYWNjZXNzaWJsZV93aXRoaW5fY2xhc3NfMTpyKDIzNDEsMSxcIlByb3BlcnR5XzBfaXNfcHJpdmF0ZV9hbmRfb25seV9hY2Nlc3NpYmxlX3dpdGhpbl9jbGFzc18xXzIzNDFcIixcIlByb3BlcnR5ICd7MH0nIGlzIHByaXZhdGUgYW5kIG9ubHkgYWNjZXNzaWJsZSB3aXRoaW4gY2xhc3MgJ3sxfScuXCIpLFRoaXNfc3ludGF4X3JlcXVpcmVzX2FuX2ltcG9ydGVkX2hlbHBlcl9uYW1lZF8xX3doaWNoX2RvZXNfbm90X2V4aXN0X2luXzBfQ29uc2lkZXJfdXBncmFkaW5nX3lvdXJfdmVyc2lvbl9vZl8wOnIoMjM0MywxLFwiVGhpc19zeW50YXhfcmVxdWlyZXNfYW5faW1wb3J0ZWRfaGVscGVyX25hbWVkXzFfd2hpY2hfZG9lc19ub3RfZXhpc3RfaW5fMF9Db25zaWRlcl91cGdyYWRpbmdfeW91cl92ZV8yMzQzXCIsXCJUaGlzIHN5bnRheCByZXF1aXJlcyBhbiBpbXBvcnRlZCBoZWxwZXIgbmFtZWQgJ3sxfScgd2hpY2ggZG9lcyBub3QgZXhpc3QgaW4gJ3swfScuIENvbnNpZGVyIHVwZ3JhZGluZyB5b3VyIHZlcnNpb24gb2YgJ3swfScuXCIpLFR5cGVfMF9kb2VzX25vdF9zYXRpc2Z5X3RoZV9jb25zdHJhaW50XzE6cigyMzQ0LDEsXCJUeXBlXzBfZG9lc19ub3Rfc2F0aXNmeV90aGVfY29uc3RyYWludF8xXzIzNDRcIixcIlR5cGUgJ3swfScgZG9lcyBub3Qgc2F0aXNmeSB0aGUgY29uc3RyYWludCAnezF9Jy5cIiksQXJndW1lbnRfb2ZfdHlwZV8wX2lzX25vdF9hc3NpZ25hYmxlX3RvX3BhcmFtZXRlcl9vZl90eXBlXzE6cigyMzQ1LDEsXCJBcmd1bWVudF9vZl90eXBlXzBfaXNfbm90X2Fzc2lnbmFibGVfdG9fcGFyYW1ldGVyX29mX3R5cGVfMV8yMzQ1XCIsXCJBcmd1bWVudCBvZiB0eXBlICd7MH0nIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHBhcmFtZXRlciBvZiB0eXBlICd7MX0nLlwiKSxVbnR5cGVkX2Z1bmN0aW9uX2NhbGxzX21heV9ub3RfYWNjZXB0X3R5cGVfYXJndW1lbnRzOnIoMjM0NywxLFwiVW50eXBlZF9mdW5jdGlvbl9jYWxsc19tYXlfbm90X2FjY2VwdF90eXBlX2FyZ3VtZW50c18yMzQ3XCIsXCJVbnR5cGVkIGZ1bmN0aW9uIGNhbGxzIG1heSBub3QgYWNjZXB0IHR5cGUgYXJndW1lbnRzLlwiKSxWYWx1ZV9vZl90eXBlXzBfaXNfbm90X2NhbGxhYmxlX0RpZF95b3VfbWVhbl90b19pbmNsdWRlX25ldzpyKDIzNDgsMSxcIlZhbHVlX29mX3R5cGVfMF9pc19ub3RfY2FsbGFibGVfRGlkX3lvdV9tZWFuX3RvX2luY2x1ZGVfbmV3XzIzNDhcIixcIlZhbHVlIG9mIHR5cGUgJ3swfScgaXMgbm90IGNhbGxhYmxlLiBEaWQgeW91IG1lYW4gdG8gaW5jbHVkZSAnbmV3Jz9cIiksVGhpc19leHByZXNzaW9uX2lzX25vdF9jYWxsYWJsZTpyKDIzNDksMSxcIlRoaXNfZXhwcmVzc2lvbl9pc19ub3RfY2FsbGFibGVfMjM0OVwiLFwiVGhpcyBleHByZXNzaW9uIGlzIG5vdCBjYWxsYWJsZS5cIiksT25seV9hX3ZvaWRfZnVuY3Rpb25fY2FuX2JlX2NhbGxlZF93aXRoX3RoZV9uZXdfa2V5d29yZDpyKDIzNTAsMSxcIk9ubHlfYV92b2lkX2Z1bmN0aW9uX2Nhbl9iZV9jYWxsZWRfd2l0aF90aGVfbmV3X2tleXdvcmRfMjM1MFwiLFwiT25seSBhIHZvaWQgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCB3aXRoIHRoZSAnbmV3JyBrZXl3b3JkLlwiKSxUaGlzX2V4cHJlc3Npb25faXNfbm90X2NvbnN0cnVjdGFibGU6cigyMzUxLDEsXCJUaGlzX2V4cHJlc3Npb25faXNfbm90X2NvbnN0cnVjdGFibGVfMjM1MVwiLFwiVGhpcyBleHByZXNzaW9uIGlzIG5vdCBjb25zdHJ1Y3RhYmxlLlwiKSxDb252ZXJzaW9uX29mX3R5cGVfMF90b190eXBlXzFfbWF5X2JlX2FfbWlzdGFrZV9iZWNhdXNlX25laXRoZXJfdHlwZV9zdWZmaWNpZW50bHlfb3ZlcmxhcHNfd2l0aF90aGVfb3RoZXJfSWZfdGhpc193YXNfaW50ZW50aW9uYWxfY29udmVydF90aGVfZXhwcmVzc2lvbl90b191bmtub3duX2ZpcnN0OnIoMjM1MiwxLFwiQ29udmVyc2lvbl9vZl90eXBlXzBfdG9fdHlwZV8xX21heV9iZV9hX21pc3Rha2VfYmVjYXVzZV9uZWl0aGVyX3R5cGVfc3VmZmljaWVudGx5X292ZXJsYXBzX3dpdGhfdGhlX18yMzUyXCIsXCJDb252ZXJzaW9uIG9mIHR5cGUgJ3swfScgdG8gdHlwZSAnezF9JyBtYXkgYmUgYSBtaXN0YWtlIGJlY2F1c2UgbmVpdGhlciB0eXBlIHN1ZmZpY2llbnRseSBvdmVybGFwcyB3aXRoIHRoZSBvdGhlci4gSWYgdGhpcyB3YXMgaW50ZW50aW9uYWwsIGNvbnZlcnQgdGhlIGV4cHJlc3Npb24gdG8gJ3Vua25vd24nIGZpcnN0LlwiKSxPYmplY3RfbGl0ZXJhbF9tYXlfb25seV9zcGVjaWZ5X2tub3duX3Byb3BlcnRpZXNfYW5kXzBfZG9lc19ub3RfZXhpc3RfaW5fdHlwZV8xOnIoMjM1MywxLFwiT2JqZWN0X2xpdGVyYWxfbWF5X29ubHlfc3BlY2lmeV9rbm93bl9wcm9wZXJ0aWVzX2FuZF8wX2RvZXNfbm90X2V4aXN0X2luX3R5cGVfMV8yMzUzXCIsXCJPYmplY3QgbGl0ZXJhbCBtYXkgb25seSBzcGVjaWZ5IGtub3duIHByb3BlcnRpZXMsIGFuZCAnezB9JyBkb2VzIG5vdCBleGlzdCBpbiB0eXBlICd7MX0nLlwiKSxUaGlzX3N5bnRheF9yZXF1aXJlc19hbl9pbXBvcnRlZF9oZWxwZXJfYnV0X21vZHVsZV8wX2Nhbm5vdF9iZV9mb3VuZDpyKDIzNTQsMSxcIlRoaXNfc3ludGF4X3JlcXVpcmVzX2FuX2ltcG9ydGVkX2hlbHBlcl9idXRfbW9kdWxlXzBfY2Fubm90X2JlX2ZvdW5kXzIzNTRcIixcIlRoaXMgc3ludGF4IHJlcXVpcmVzIGFuIGltcG9ydGVkIGhlbHBlciBidXQgbW9kdWxlICd7MH0nIGNhbm5vdCBiZSBmb3VuZC5cIiksQV9mdW5jdGlvbl93aG9zZV9kZWNsYXJlZF90eXBlX2lzX25laXRoZXJfdW5kZWZpbmVkX3ZvaWRfbm9yX2FueV9tdXN0X3JldHVybl9hX3ZhbHVlOnIoMjM1NSwxLFwiQV9mdW5jdGlvbl93aG9zZV9kZWNsYXJlZF90eXBlX2lzX25laXRoZXJfdW5kZWZpbmVkX3ZvaWRfbm9yX2FueV9tdXN0X3JldHVybl9hX3ZhbHVlXzIzNTVcIixcIkEgZnVuY3Rpb24gd2hvc2UgZGVjbGFyZWQgdHlwZSBpcyBuZWl0aGVyICd1bmRlZmluZWQnLCAndm9pZCcsIG5vciAnYW55JyBtdXN0IHJldHVybiBhIHZhbHVlLlwiKSxBbl9hcml0aG1ldGljX29wZXJhbmRfbXVzdF9iZV9vZl90eXBlX2FueV9udW1iZXJfYmlnaW50X29yX2FuX2VudW1fdHlwZTpyKDIzNTYsMSxcIkFuX2FyaXRobWV0aWNfb3BlcmFuZF9tdXN0X2JlX29mX3R5cGVfYW55X251bWJlcl9iaWdpbnRfb3JfYW5fZW51bV90eXBlXzIzNTZcIixcIkFuIGFyaXRobWV0aWMgb3BlcmFuZCBtdXN0IGJlIG9mIHR5cGUgJ2FueScsICdudW1iZXInLCAnYmlnaW50JyBvciBhbiBlbnVtIHR5cGUuXCIpLFRoZV9vcGVyYW5kX29mX2FuX2luY3JlbWVudF9vcl9kZWNyZW1lbnRfb3BlcmF0b3JfbXVzdF9iZV9hX3ZhcmlhYmxlX29yX2FfcHJvcGVydHlfYWNjZXNzOnIoMjM1NywxLFwiVGhlX29wZXJhbmRfb2ZfYW5faW5jcmVtZW50X29yX2RlY3JlbWVudF9vcGVyYXRvcl9tdXN0X2JlX2FfdmFyaWFibGVfb3JfYV9wcm9wZXJ0eV9hY2Nlc3NfMjM1N1wiLFwiVGhlIG9wZXJhbmQgb2YgYW4gaW5jcmVtZW50IG9yIGRlY3JlbWVudCBvcGVyYXRvciBtdXN0IGJlIGEgdmFyaWFibGUgb3IgYSBwcm9wZXJ0eSBhY2Nlc3MuXCIpLFRoZV9sZWZ0X2hhbmRfc2lkZV9vZl9hbl9pbnN0YW5jZW9mX2V4cHJlc3Npb25fbXVzdF9iZV9vZl90eXBlX2FueV9hbl9vYmplY3RfdHlwZV9vcl9hX3R5cGVfcGFyYW1ldGVyOnIoMjM1OCwxLFwiVGhlX2xlZnRfaGFuZF9zaWRlX29mX2FuX2luc3RhbmNlb2ZfZXhwcmVzc2lvbl9tdXN0X2JlX29mX3R5cGVfYW55X2FuX29iamVjdF90eXBlX29yX2FfdHlwZV9wYXJhbWV0ZV8yMzU4XCIsXCJUaGUgbGVmdC1oYW5kIHNpZGUgb2YgYW4gJ2luc3RhbmNlb2YnIGV4cHJlc3Npb24gbXVzdCBiZSBvZiB0eXBlICdhbnknLCBhbiBvYmplY3QgdHlwZSBvciBhIHR5cGUgcGFyYW1ldGVyLlwiKSxUaGVfcmlnaHRfaGFuZF9zaWRlX29mX2FuX2luc3RhbmNlb2ZfZXhwcmVzc2lvbl9tdXN0X2JlX2VpdGhlcl9vZl90eXBlX2FueV9hX2NsYXNzX2Z1bmN0aW9uX29yX290aGVyX3R5cGVfYXNzaWduYWJsZV90b190aGVfRnVuY3Rpb25faW50ZXJmYWNlX3R5cGVfb3JfYW5fb2JqZWN0X3R5cGVfd2l0aF9hX1N5bWJvbF9oYXNJbnN0YW5jZV9tZXRob2Q6cigyMzU5LDEsXCJUaGVfcmlnaHRfaGFuZF9zaWRlX29mX2FuX2luc3RhbmNlb2ZfZXhwcmVzc2lvbl9tdXN0X2JlX2VpdGhlcl9vZl90eXBlX2FueV9hX2NsYXNzX2Z1bmN0aW9uX29yX290aGVyXzIzNTlcIixcIlRoZSByaWdodC1oYW5kIHNpZGUgb2YgYW4gJ2luc3RhbmNlb2YnIGV4cHJlc3Npb24gbXVzdCBiZSBlaXRoZXIgb2YgdHlwZSAnYW55JywgYSBjbGFzcywgZnVuY3Rpb24sIG9yIG90aGVyIHR5cGUgYXNzaWduYWJsZSB0byB0aGUgJ0Z1bmN0aW9uJyBpbnRlcmZhY2UgdHlwZSwgb3IgYW4gb2JqZWN0IHR5cGUgd2l0aCBhICdTeW1ib2wuaGFzSW5zdGFuY2UnIG1ldGhvZC5cIiksVGhlX2xlZnRfaGFuZF9zaWRlX29mX2FuX2FyaXRobWV0aWNfb3BlcmF0aW9uX211c3RfYmVfb2ZfdHlwZV9hbnlfbnVtYmVyX2JpZ2ludF9vcl9hbl9lbnVtX3R5cGU6cigyMzYyLDEsXCJUaGVfbGVmdF9oYW5kX3NpZGVfb2ZfYW5fYXJpdGhtZXRpY19vcGVyYXRpb25fbXVzdF9iZV9vZl90eXBlX2FueV9udW1iZXJfYmlnaW50X29yX2FuX2VudW1fdHlwZV8yMzYyXCIsXCJUaGUgbGVmdC1oYW5kIHNpZGUgb2YgYW4gYXJpdGhtZXRpYyBvcGVyYXRpb24gbXVzdCBiZSBvZiB0eXBlICdhbnknLCAnbnVtYmVyJywgJ2JpZ2ludCcgb3IgYW4gZW51bSB0eXBlLlwiKSxUaGVfcmlnaHRfaGFuZF9zaWRlX29mX2FuX2FyaXRobWV0aWNfb3BlcmF0aW9uX211c3RfYmVfb2ZfdHlwZV9hbnlfbnVtYmVyX2JpZ2ludF9vcl9hbl9lbnVtX3R5cGU6cigyMzYzLDEsXCJUaGVfcmlnaHRfaGFuZF9zaWRlX29mX2FuX2FyaXRobWV0aWNfb3BlcmF0aW9uX211c3RfYmVfb2ZfdHlwZV9hbnlfbnVtYmVyX2JpZ2ludF9vcl9hbl9lbnVtX3R5cGVfMjM2M1wiLFwiVGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiBhbiBhcml0aG1ldGljIG9wZXJhdGlvbiBtdXN0IGJlIG9mIHR5cGUgJ2FueScsICdudW1iZXInLCAnYmlnaW50JyBvciBhbiBlbnVtIHR5cGUuXCIpLFRoZV9sZWZ0X2hhbmRfc2lkZV9vZl9hbl9hc3NpZ25tZW50X2V4cHJlc3Npb25fbXVzdF9iZV9hX3ZhcmlhYmxlX29yX2FfcHJvcGVydHlfYWNjZXNzOnIoMjM2NCwxLFwiVGhlX2xlZnRfaGFuZF9zaWRlX29mX2FuX2Fzc2lnbm1lbnRfZXhwcmVzc2lvbl9tdXN0X2JlX2FfdmFyaWFibGVfb3JfYV9wcm9wZXJ0eV9hY2Nlc3NfMjM2NFwiLFwiVGhlIGxlZnQtaGFuZCBzaWRlIG9mIGFuIGFzc2lnbm1lbnQgZXhwcmVzc2lvbiBtdXN0IGJlIGEgdmFyaWFibGUgb3IgYSBwcm9wZXJ0eSBhY2Nlc3MuXCIpLE9wZXJhdG9yXzBfY2Fubm90X2JlX2FwcGxpZWRfdG9fdHlwZXNfMV9hbmRfMjpyKDIzNjUsMSxcIk9wZXJhdG9yXzBfY2Fubm90X2JlX2FwcGxpZWRfdG9fdHlwZXNfMV9hbmRfMl8yMzY1XCIsXCJPcGVyYXRvciAnezB9JyBjYW5ub3QgYmUgYXBwbGllZCB0byB0eXBlcyAnezF9JyBhbmQgJ3syfScuXCIpLEZ1bmN0aW9uX2xhY2tzX2VuZGluZ19yZXR1cm5fc3RhdGVtZW50X2FuZF9yZXR1cm5fdHlwZV9kb2VzX25vdF9pbmNsdWRlX3VuZGVmaW5lZDpyKDIzNjYsMSxcIkZ1bmN0aW9uX2xhY2tzX2VuZGluZ19yZXR1cm5fc3RhdGVtZW50X2FuZF9yZXR1cm5fdHlwZV9kb2VzX25vdF9pbmNsdWRlX3VuZGVmaW5lZF8yMzY2XCIsXCJGdW5jdGlvbiBsYWNrcyBlbmRpbmcgcmV0dXJuIHN0YXRlbWVudCBhbmQgcmV0dXJuIHR5cGUgZG9lcyBub3QgaW5jbHVkZSAndW5kZWZpbmVkJy5cIiksVGhpc19jb21wYXJpc29uX2FwcGVhcnNfdG9fYmVfdW5pbnRlbnRpb25hbF9iZWNhdXNlX3RoZV90eXBlc18wX2FuZF8xX2hhdmVfbm9fb3ZlcmxhcDpyKDIzNjcsMSxcIlRoaXNfY29tcGFyaXNvbl9hcHBlYXJzX3RvX2JlX3VuaW50ZW50aW9uYWxfYmVjYXVzZV90aGVfdHlwZXNfMF9hbmRfMV9oYXZlX25vX292ZXJsYXBfMjM2N1wiLFwiVGhpcyBjb21wYXJpc29uIGFwcGVhcnMgdG8gYmUgdW5pbnRlbnRpb25hbCBiZWNhdXNlIHRoZSB0eXBlcyAnezB9JyBhbmQgJ3sxfScgaGF2ZSBubyBvdmVybGFwLlwiKSxUeXBlX3BhcmFtZXRlcl9uYW1lX2Nhbm5vdF9iZV8wOnIoMjM2OCwxLFwiVHlwZV9wYXJhbWV0ZXJfbmFtZV9jYW5ub3RfYmVfMF8yMzY4XCIsXCJUeXBlIHBhcmFtZXRlciBuYW1lIGNhbm5vdCBiZSAnezB9Jy5cIiksQV9wYXJhbWV0ZXJfcHJvcGVydHlfaXNfb25seV9hbGxvd2VkX2luX2FfY29uc3RydWN0b3JfaW1wbGVtZW50YXRpb246cigyMzY5LDEsXCJBX3BhcmFtZXRlcl9wcm9wZXJ0eV9pc19vbmx5X2FsbG93ZWRfaW5fYV9jb25zdHJ1Y3Rvcl9pbXBsZW1lbnRhdGlvbl8yMzY5XCIsXCJBIHBhcmFtZXRlciBwcm9wZXJ0eSBpcyBvbmx5IGFsbG93ZWQgaW4gYSBjb25zdHJ1Y3RvciBpbXBsZW1lbnRhdGlvbi5cIiksQV9yZXN0X3BhcmFtZXRlcl9tdXN0X2JlX29mX2FuX2FycmF5X3R5cGU6cigyMzcwLDEsXCJBX3Jlc3RfcGFyYW1ldGVyX211c3RfYmVfb2ZfYW5fYXJyYXlfdHlwZV8yMzcwXCIsXCJBIHJlc3QgcGFyYW1ldGVyIG11c3QgYmUgb2YgYW4gYXJyYXkgdHlwZS5cIiksQV9wYXJhbWV0ZXJfaW5pdGlhbGl6ZXJfaXNfb25seV9hbGxvd2VkX2luX2FfZnVuY3Rpb25fb3JfY29uc3RydWN0b3JfaW1wbGVtZW50YXRpb246cigyMzcxLDEsXCJBX3BhcmFtZXRlcl9pbml0aWFsaXplcl9pc19vbmx5X2FsbG93ZWRfaW5fYV9mdW5jdGlvbl9vcl9jb25zdHJ1Y3Rvcl9pbXBsZW1lbnRhdGlvbl8yMzcxXCIsXCJBIHBhcmFtZXRlciBpbml0aWFsaXplciBpcyBvbmx5IGFsbG93ZWQgaW4gYSBmdW5jdGlvbiBvciBjb25zdHJ1Y3RvciBpbXBsZW1lbnRhdGlvbi5cIiksUGFyYW1ldGVyXzBfY2Fubm90X3JlZmVyZW5jZV9pdHNlbGY6cigyMzcyLDEsXCJQYXJhbWV0ZXJfMF9jYW5ub3RfcmVmZXJlbmNlX2l0c2VsZl8yMzcyXCIsXCJQYXJhbWV0ZXIgJ3swfScgY2Fubm90IHJlZmVyZW5jZSBpdHNlbGYuXCIpLFBhcmFtZXRlcl8wX2Nhbm5vdF9yZWZlcmVuY2VfaWRlbnRpZmllcl8xX2RlY2xhcmVkX2FmdGVyX2l0OnIoMjM3MywxLFwiUGFyYW1ldGVyXzBfY2Fubm90X3JlZmVyZW5jZV9pZGVudGlmaWVyXzFfZGVjbGFyZWRfYWZ0ZXJfaXRfMjM3M1wiLFwiUGFyYW1ldGVyICd7MH0nIGNhbm5vdCByZWZlcmVuY2UgaWRlbnRpZmllciAnezF9JyBkZWNsYXJlZCBhZnRlciBpdC5cIiksRHVwbGljYXRlX2luZGV4X3NpZ25hdHVyZV9mb3JfdHlwZV8wOnIoMjM3NCwxLFwiRHVwbGljYXRlX2luZGV4X3NpZ25hdHVyZV9mb3JfdHlwZV8wXzIzNzRcIixcIkR1cGxpY2F0ZSBpbmRleCBzaWduYXR1cmUgZm9yIHR5cGUgJ3swfScuXCIpLFR5cGVfMF9pc19ub3RfYXNzaWduYWJsZV90b190eXBlXzFfd2l0aF9leGFjdE9wdGlvbmFsUHJvcGVydHlUeXBlc19Db2xvbl90cnVlX0NvbnNpZGVyX2FkZGluZ191bmRlZmluZWRfdG9fdGhlX3R5cGVzX29mX3RoZV90YXJnZXRfc19wcm9wZXJ0aWVzOnIoMjM3NSwxLFwiVHlwZV8wX2lzX25vdF9hc3NpZ25hYmxlX3RvX3R5cGVfMV93aXRoX2V4YWN0T3B0aW9uYWxQcm9wZXJ0eVR5cGVzX0NvbG9uX3RydWVfQ29uc2lkZXJfYWRkaW5nX3VuZGVmaV8yMzc1XCIsXCJUeXBlICd7MH0nIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHR5cGUgJ3sxfScgd2l0aCAnZXhhY3RPcHRpb25hbFByb3BlcnR5VHlwZXM6IHRydWUnLiBDb25zaWRlciBhZGRpbmcgJ3VuZGVmaW5lZCcgdG8gdGhlIHR5cGVzIG9mIHRoZSB0YXJnZXQncyBwcm9wZXJ0aWVzLlwiKSxBX3N1cGVyX2NhbGxfbXVzdF9iZV90aGVfZmlyc3Rfc3RhdGVtZW50X2luX3RoZV9jb25zdHJ1Y3Rvcl90b19yZWZlcl90b19zdXBlcl9vcl90aGlzX3doZW5fYV9kZXJpdmVkX2NsYXNzX2NvbnRhaW5zX2luaXRpYWxpemVkX3Byb3BlcnRpZXNfcGFyYW1ldGVyX3Byb3BlcnRpZXNfb3JfcHJpdmF0ZV9pZGVudGlmaWVyczpyKDIzNzYsMSxcIkFfc3VwZXJfY2FsbF9tdXN0X2JlX3RoZV9maXJzdF9zdGF0ZW1lbnRfaW5fdGhlX2NvbnN0cnVjdG9yX3RvX3JlZmVyX3RvX3N1cGVyX29yX3RoaXNfd2hlbl9hX2Rlcml2ZWRfMjM3NlwiLFwiQSAnc3VwZXInIGNhbGwgbXVzdCBiZSB0aGUgZmlyc3Qgc3RhdGVtZW50IGluIHRoZSBjb25zdHJ1Y3RvciB0byByZWZlciB0byAnc3VwZXInIG9yICd0aGlzJyB3aGVuIGEgZGVyaXZlZCBjbGFzcyBjb250YWlucyBpbml0aWFsaXplZCBwcm9wZXJ0aWVzLCBwYXJhbWV0ZXIgcHJvcGVydGllcywgb3IgcHJpdmF0ZSBpZGVudGlmaWVycy5cIiksQ29uc3RydWN0b3JzX2Zvcl9kZXJpdmVkX2NsYXNzZXNfbXVzdF9jb250YWluX2Ffc3VwZXJfY2FsbDpyKDIzNzcsMSxcIkNvbnN0cnVjdG9yc19mb3JfZGVyaXZlZF9jbGFzc2VzX211c3RfY29udGFpbl9hX3N1cGVyX2NhbGxfMjM3N1wiLFwiQ29uc3RydWN0b3JzIGZvciBkZXJpdmVkIGNsYXNzZXMgbXVzdCBjb250YWluIGEgJ3N1cGVyJyBjYWxsLlwiKSxBX2dldF9hY2Nlc3Nvcl9tdXN0X3JldHVybl9hX3ZhbHVlOnIoMjM3OCwxLFwiQV9nZXRfYWNjZXNzb3JfbXVzdF9yZXR1cm5fYV92YWx1ZV8yMzc4XCIsXCJBICdnZXQnIGFjY2Vzc29yIG11c3QgcmV0dXJuIGEgdmFsdWUuXCIpLEFyZ3VtZW50X29mX3R5cGVfMF9pc19ub3RfYXNzaWduYWJsZV90b19wYXJhbWV0ZXJfb2ZfdHlwZV8xX3dpdGhfZXhhY3RPcHRpb25hbFByb3BlcnR5VHlwZXNfQ29sb25fdHJ1ZV9Db25zaWRlcl9hZGRpbmdfdW5kZWZpbmVkX3RvX3RoZV90eXBlc19vZl90aGVfdGFyZ2V0X3NfcHJvcGVydGllczpyKDIzNzksMSxcIkFyZ3VtZW50X29mX3R5cGVfMF9pc19ub3RfYXNzaWduYWJsZV90b19wYXJhbWV0ZXJfb2ZfdHlwZV8xX3dpdGhfZXhhY3RPcHRpb25hbFByb3BlcnR5VHlwZXNfQ29sb25fdHJfMjM3OVwiLFwiQXJndW1lbnQgb2YgdHlwZSAnezB9JyBpcyBub3QgYXNzaWduYWJsZSB0byBwYXJhbWV0ZXIgb2YgdHlwZSAnezF9JyB3aXRoICdleGFjdE9wdGlvbmFsUHJvcGVydHlUeXBlczogdHJ1ZScuIENvbnNpZGVyIGFkZGluZyAndW5kZWZpbmVkJyB0byB0aGUgdHlwZXMgb2YgdGhlIHRhcmdldCdzIHByb3BlcnRpZXMuXCIpLE92ZXJsb2FkX3NpZ25hdHVyZXNfbXVzdF9hbGxfYmVfZXhwb3J0ZWRfb3Jfbm9uX2V4cG9ydGVkOnIoMjM4MywxLFwiT3ZlcmxvYWRfc2lnbmF0dXJlc19tdXN0X2FsbF9iZV9leHBvcnRlZF9vcl9ub25fZXhwb3J0ZWRfMjM4M1wiLFwiT3ZlcmxvYWQgc2lnbmF0dXJlcyBtdXN0IGFsbCBiZSBleHBvcnRlZCBvciBub24tZXhwb3J0ZWQuXCIpLE92ZXJsb2FkX3NpZ25hdHVyZXNfbXVzdF9hbGxfYmVfYW1iaWVudF9vcl9ub25fYW1iaWVudDpyKDIzODQsMSxcIk92ZXJsb2FkX3NpZ25hdHVyZXNfbXVzdF9hbGxfYmVfYW1iaWVudF9vcl9ub25fYW1iaWVudF8yMzg0XCIsXCJPdmVybG9hZCBzaWduYXR1cmVzIG11c3QgYWxsIGJlIGFtYmllbnQgb3Igbm9uLWFtYmllbnQuXCIpLE92ZXJsb2FkX3NpZ25hdHVyZXNfbXVzdF9hbGxfYmVfcHVibGljX3ByaXZhdGVfb3JfcHJvdGVjdGVkOnIoMjM4NSwxLFwiT3ZlcmxvYWRfc2lnbmF0dXJlc19tdXN0X2FsbF9iZV9wdWJsaWNfcHJpdmF0ZV9vcl9wcm90ZWN0ZWRfMjM4NVwiLFwiT3ZlcmxvYWQgc2lnbmF0dXJlcyBtdXN0IGFsbCBiZSBwdWJsaWMsIHByaXZhdGUgb3IgcHJvdGVjdGVkLlwiKSxPdmVybG9hZF9zaWduYXR1cmVzX211c3RfYWxsX2JlX29wdGlvbmFsX29yX3JlcXVpcmVkOnIoMjM4NiwxLFwiT3ZlcmxvYWRfc2lnbmF0dXJlc19tdXN0X2FsbF9iZV9vcHRpb25hbF9vcl9yZXF1aXJlZF8yMzg2XCIsXCJPdmVybG9hZCBzaWduYXR1cmVzIG11c3QgYWxsIGJlIG9wdGlvbmFsIG9yIHJlcXVpcmVkLlwiKSxGdW5jdGlvbl9vdmVybG9hZF9tdXN0X2JlX3N0YXRpYzpyKDIzODcsMSxcIkZ1bmN0aW9uX292ZXJsb2FkX211c3RfYmVfc3RhdGljXzIzODdcIixcIkZ1bmN0aW9uIG92ZXJsb2FkIG11c3QgYmUgc3RhdGljLlwiKSxGdW5jdGlvbl9vdmVybG9hZF9tdXN0X25vdF9iZV9zdGF0aWM6cigyMzg4LDEsXCJGdW5jdGlvbl9vdmVybG9hZF9tdXN0X25vdF9iZV9zdGF0aWNfMjM4OFwiLFwiRnVuY3Rpb24gb3ZlcmxvYWQgbXVzdCBub3QgYmUgc3RhdGljLlwiKSxGdW5jdGlvbl9pbXBsZW1lbnRhdGlvbl9uYW1lX211c3RfYmVfMDpyKDIzODksMSxcIkZ1bmN0aW9uX2ltcGxlbWVudGF0aW9uX25hbWVfbXVzdF9iZV8wXzIzODlcIixcIkZ1bmN0aW9uIGltcGxlbWVudGF0aW9uIG5hbWUgbXVzdCBiZSAnezB9Jy5cIiksQ29uc3RydWN0b3JfaW1wbGVtZW50YXRpb25faXNfbWlzc2luZzpyKDIzOTAsMSxcIkNvbnN0cnVjdG9yX2ltcGxlbWVudGF0aW9uX2lzX21pc3NpbmdfMjM5MFwiLFwiQ29uc3RydWN0b3IgaW1wbGVtZW50YXRpb24gaXMgbWlzc2luZy5cIiksRnVuY3Rpb25faW1wbGVtZW50YXRpb25faXNfbWlzc2luZ19vcl9ub3RfaW1tZWRpYXRlbHlfZm9sbG93aW5nX3RoZV9kZWNsYXJhdGlvbjpyKDIzOTEsMSxcIkZ1bmN0aW9uX2ltcGxlbWVudGF0aW9uX2lzX21pc3Npbmdfb3Jfbm90X2ltbWVkaWF0ZWx5X2ZvbGxvd2luZ190aGVfZGVjbGFyYXRpb25fMjM5MVwiLFwiRnVuY3Rpb24gaW1wbGVtZW50YXRpb24gaXMgbWlzc2luZyBvciBub3QgaW1tZWRpYXRlbHkgZm9sbG93aW5nIHRoZSBkZWNsYXJhdGlvbi5cIiksTXVsdGlwbGVfY29uc3RydWN0b3JfaW1wbGVtZW50YXRpb25zX2FyZV9ub3RfYWxsb3dlZDpyKDIzOTIsMSxcIk11bHRpcGxlX2NvbnN0cnVjdG9yX2ltcGxlbWVudGF0aW9uc19hcmVfbm90X2FsbG93ZWRfMjM5MlwiLFwiTXVsdGlwbGUgY29uc3RydWN0b3IgaW1wbGVtZW50YXRpb25zIGFyZSBub3QgYWxsb3dlZC5cIiksRHVwbGljYXRlX2Z1bmN0aW9uX2ltcGxlbWVudGF0aW9uOnIoMjM5MywxLFwiRHVwbGljYXRlX2Z1bmN0aW9uX2ltcGxlbWVudGF0aW9uXzIzOTNcIixcIkR1cGxpY2F0ZSBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbi5cIiksVGhpc19vdmVybG9hZF9zaWduYXR1cmVfaXNfbm90X2NvbXBhdGlibGVfd2l0aF9pdHNfaW1wbGVtZW50YXRpb25fc2lnbmF0dXJlOnIoMjM5NCwxLFwiVGhpc19vdmVybG9hZF9zaWduYXR1cmVfaXNfbm90X2NvbXBhdGlibGVfd2l0aF9pdHNfaW1wbGVtZW50YXRpb25fc2lnbmF0dXJlXzIzOTRcIixcIlRoaXMgb3ZlcmxvYWQgc2lnbmF0dXJlIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggaXRzIGltcGxlbWVudGF0aW9uIHNpZ25hdHVyZS5cIiksSW5kaXZpZHVhbF9kZWNsYXJhdGlvbnNfaW5fbWVyZ2VkX2RlY2xhcmF0aW9uXzBfbXVzdF9iZV9hbGxfZXhwb3J0ZWRfb3JfYWxsX2xvY2FsOnIoMjM5NSwxLFwiSW5kaXZpZHVhbF9kZWNsYXJhdGlvbnNfaW5fbWVyZ2VkX2RlY2xhcmF0aW9uXzBfbXVzdF9iZV9hbGxfZXhwb3J0ZWRfb3JfYWxsX2xvY2FsXzIzOTVcIixcIkluZGl2aWR1YWwgZGVjbGFyYXRpb25zIGluIG1lcmdlZCBkZWNsYXJhdGlvbiAnezB9JyBtdXN0IGJlIGFsbCBleHBvcnRlZCBvciBhbGwgbG9jYWwuXCIpLER1cGxpY2F0ZV9pZGVudGlmaWVyX2FyZ3VtZW50c19Db21waWxlcl91c2VzX2FyZ3VtZW50c190b19pbml0aWFsaXplX3Jlc3RfcGFyYW1ldGVyczpyKDIzOTYsMSxcIkR1cGxpY2F0ZV9pZGVudGlmaWVyX2FyZ3VtZW50c19Db21waWxlcl91c2VzX2FyZ3VtZW50c190b19pbml0aWFsaXplX3Jlc3RfcGFyYW1ldGVyc18yMzk2XCIsXCJEdXBsaWNhdGUgaWRlbnRpZmllciAnYXJndW1lbnRzJy4gQ29tcGlsZXIgdXNlcyAnYXJndW1lbnRzJyB0byBpbml0aWFsaXplIHJlc3QgcGFyYW1ldGVycy5cIiksRGVjbGFyYXRpb25fbmFtZV9jb25mbGljdHNfd2l0aF9idWlsdF9pbl9nbG9iYWxfaWRlbnRpZmllcl8wOnIoMjM5NywxLFwiRGVjbGFyYXRpb25fbmFtZV9jb25mbGljdHNfd2l0aF9idWlsdF9pbl9nbG9iYWxfaWRlbnRpZmllcl8wXzIzOTdcIixcIkRlY2xhcmF0aW9uIG5hbWUgY29uZmxpY3RzIHdpdGggYnVpbHQtaW4gZ2xvYmFsIGlkZW50aWZpZXIgJ3swfScuXCIpLGNvbnN0cnVjdG9yX2Nhbm5vdF9iZV91c2VkX2FzX2FfcGFyYW1ldGVyX3Byb3BlcnR5X25hbWU6cigyMzk4LDEsXCJjb25zdHJ1Y3Rvcl9jYW5ub3RfYmVfdXNlZF9hc19hX3BhcmFtZXRlcl9wcm9wZXJ0eV9uYW1lXzIzOThcIixcIidjb25zdHJ1Y3RvcicgY2Fubm90IGJlIHVzZWQgYXMgYSBwYXJhbWV0ZXIgcHJvcGVydHkgbmFtZS5cIiksRHVwbGljYXRlX2lkZW50aWZpZXJfdGhpc19Db21waWxlcl91c2VzX3ZhcmlhYmxlX2RlY2xhcmF0aW9uX3RoaXNfdG9fY2FwdHVyZV90aGlzX3JlZmVyZW5jZTpyKDIzOTksMSxcIkR1cGxpY2F0ZV9pZGVudGlmaWVyX3RoaXNfQ29tcGlsZXJfdXNlc192YXJpYWJsZV9kZWNsYXJhdGlvbl90aGlzX3RvX2NhcHR1cmVfdGhpc19yZWZlcmVuY2VfMjM5OVwiLFwiRHVwbGljYXRlIGlkZW50aWZpZXIgJ190aGlzJy4gQ29tcGlsZXIgdXNlcyB2YXJpYWJsZSBkZWNsYXJhdGlvbiAnX3RoaXMnIHRvIGNhcHR1cmUgJ3RoaXMnIHJlZmVyZW5jZS5cIiksRXhwcmVzc2lvbl9yZXNvbHZlc190b192YXJpYWJsZV9kZWNsYXJhdGlvbl90aGlzX3RoYXRfY29tcGlsZXJfdXNlc190b19jYXB0dXJlX3RoaXNfcmVmZXJlbmNlOnIoMjQwMCwxLFwiRXhwcmVzc2lvbl9yZXNvbHZlc190b192YXJpYWJsZV9kZWNsYXJhdGlvbl90aGlzX3RoYXRfY29tcGlsZXJfdXNlc190b19jYXB0dXJlX3RoaXNfcmVmZXJlbmNlXzI0MDBcIixcIkV4cHJlc3Npb24gcmVzb2x2ZXMgdG8gdmFyaWFibGUgZGVjbGFyYXRpb24gJ190aGlzJyB0aGF0IGNvbXBpbGVyIHVzZXMgdG8gY2FwdHVyZSAndGhpcycgcmVmZXJlbmNlLlwiKSxBX3N1cGVyX2NhbGxfbXVzdF9iZV9hX3Jvb3RfbGV2ZWxfc3RhdGVtZW50X3dpdGhpbl9hX2NvbnN0cnVjdG9yX29mX2FfZGVyaXZlZF9jbGFzc190aGF0X2NvbnRhaW5zX2luaXRpYWxpemVkX3Byb3BlcnRpZXNfcGFyYW1ldGVyX3Byb3BlcnRpZXNfb3JfcHJpdmF0ZV9pZGVudGlmaWVyczpyKDI0MDEsMSxcIkFfc3VwZXJfY2FsbF9tdXN0X2JlX2Ffcm9vdF9sZXZlbF9zdGF0ZW1lbnRfd2l0aGluX2FfY29uc3RydWN0b3Jfb2ZfYV9kZXJpdmVkX2NsYXNzX3RoYXRfY29udGFpbnNfaW5fMjQwMVwiLFwiQSAnc3VwZXInIGNhbGwgbXVzdCBiZSBhIHJvb3QtbGV2ZWwgc3RhdGVtZW50IHdpdGhpbiBhIGNvbnN0cnVjdG9yIG9mIGEgZGVyaXZlZCBjbGFzcyB0aGF0IGNvbnRhaW5zIGluaXRpYWxpemVkIHByb3BlcnRpZXMsIHBhcmFtZXRlciBwcm9wZXJ0aWVzLCBvciBwcml2YXRlIGlkZW50aWZpZXJzLlwiKSxFeHByZXNzaW9uX3Jlc29sdmVzX3RvX3N1cGVyX3RoYXRfY29tcGlsZXJfdXNlc190b19jYXB0dXJlX2Jhc2VfY2xhc3NfcmVmZXJlbmNlOnIoMjQwMiwxLFwiRXhwcmVzc2lvbl9yZXNvbHZlc190b19zdXBlcl90aGF0X2NvbXBpbGVyX3VzZXNfdG9fY2FwdHVyZV9iYXNlX2NsYXNzX3JlZmVyZW5jZV8yNDAyXCIsXCJFeHByZXNzaW9uIHJlc29sdmVzIHRvICdfc3VwZXInIHRoYXQgY29tcGlsZXIgdXNlcyB0byBjYXB0dXJlIGJhc2UgY2xhc3MgcmVmZXJlbmNlLlwiKSxTdWJzZXF1ZW50X3ZhcmlhYmxlX2RlY2xhcmF0aW9uc19tdXN0X2hhdmVfdGhlX3NhbWVfdHlwZV9WYXJpYWJsZV8wX211c3RfYmVfb2ZfdHlwZV8xX2J1dF9oZXJlX2hhc190eXBlXzI6cigyNDAzLDEsXCJTdWJzZXF1ZW50X3ZhcmlhYmxlX2RlY2xhcmF0aW9uc19tdXN0X2hhdmVfdGhlX3NhbWVfdHlwZV9WYXJpYWJsZV8wX211c3RfYmVfb2ZfdHlwZV8xX2J1dF9oZXJlX2hhc190XzI0MDNcIixcIlN1YnNlcXVlbnQgdmFyaWFibGUgZGVjbGFyYXRpb25zIG11c3QgaGF2ZSB0aGUgc2FtZSB0eXBlLiAgVmFyaWFibGUgJ3swfScgbXVzdCBiZSBvZiB0eXBlICd7MX0nLCBidXQgaGVyZSBoYXMgdHlwZSAnezJ9Jy5cIiksVGhlX2xlZnRfaGFuZF9zaWRlX29mX2FfZm9yX2luX3N0YXRlbWVudF9jYW5ub3RfdXNlX2FfdHlwZV9hbm5vdGF0aW9uOnIoMjQwNCwxLFwiVGhlX2xlZnRfaGFuZF9zaWRlX29mX2FfZm9yX2luX3N0YXRlbWVudF9jYW5ub3RfdXNlX2FfdHlwZV9hbm5vdGF0aW9uXzI0MDRcIixcIlRoZSBsZWZ0LWhhbmQgc2lkZSBvZiBhICdmb3IuLi5pbicgc3RhdGVtZW50IGNhbm5vdCB1c2UgYSB0eXBlIGFubm90YXRpb24uXCIpLFRoZV9sZWZ0X2hhbmRfc2lkZV9vZl9hX2Zvcl9pbl9zdGF0ZW1lbnRfbXVzdF9iZV9vZl90eXBlX3N0cmluZ19vcl9hbnk6cigyNDA1LDEsXCJUaGVfbGVmdF9oYW5kX3NpZGVfb2ZfYV9mb3JfaW5fc3RhdGVtZW50X211c3RfYmVfb2ZfdHlwZV9zdHJpbmdfb3JfYW55XzI0MDVcIixcIlRoZSBsZWZ0LWhhbmQgc2lkZSBvZiBhICdmb3IuLi5pbicgc3RhdGVtZW50IG11c3QgYmUgb2YgdHlwZSAnc3RyaW5nJyBvciAnYW55Jy5cIiksVGhlX2xlZnRfaGFuZF9zaWRlX29mX2FfZm9yX2luX3N0YXRlbWVudF9tdXN0X2JlX2FfdmFyaWFibGVfb3JfYV9wcm9wZXJ0eV9hY2Nlc3M6cigyNDA2LDEsXCJUaGVfbGVmdF9oYW5kX3NpZGVfb2ZfYV9mb3JfaW5fc3RhdGVtZW50X211c3RfYmVfYV92YXJpYWJsZV9vcl9hX3Byb3BlcnR5X2FjY2Vzc18yNDA2XCIsXCJUaGUgbGVmdC1oYW5kIHNpZGUgb2YgYSAnZm9yLi4uaW4nIHN0YXRlbWVudCBtdXN0IGJlIGEgdmFyaWFibGUgb3IgYSBwcm9wZXJ0eSBhY2Nlc3MuXCIpLFRoZV9yaWdodF9oYW5kX3NpZGVfb2ZfYV9mb3JfaW5fc3RhdGVtZW50X211c3RfYmVfb2ZfdHlwZV9hbnlfYW5fb2JqZWN0X3R5cGVfb3JfYV90eXBlX3BhcmFtZXRlcl9idXRfaGVyZV9oYXNfdHlwZV8wOnIoMjQwNywxLFwiVGhlX3JpZ2h0X2hhbmRfc2lkZV9vZl9hX2Zvcl9pbl9zdGF0ZW1lbnRfbXVzdF9iZV9vZl90eXBlX2FueV9hbl9vYmplY3RfdHlwZV9vcl9hX3R5cGVfcGFyYW1ldGVyX2J1dF8yNDA3XCIsXCJUaGUgcmlnaHQtaGFuZCBzaWRlIG9mIGEgJ2Zvci4uLmluJyBzdGF0ZW1lbnQgbXVzdCBiZSBvZiB0eXBlICdhbnknLCBhbiBvYmplY3QgdHlwZSBvciBhIHR5cGUgcGFyYW1ldGVyLCBidXQgaGVyZSBoYXMgdHlwZSAnezB9Jy5cIiksU2V0dGVyc19jYW5ub3RfcmV0dXJuX2FfdmFsdWU6cigyNDA4LDEsXCJTZXR0ZXJzX2Nhbm5vdF9yZXR1cm5fYV92YWx1ZV8yNDA4XCIsXCJTZXR0ZXJzIGNhbm5vdCByZXR1cm4gYSB2YWx1ZS5cIiksUmV0dXJuX3R5cGVfb2ZfY29uc3RydWN0b3Jfc2lnbmF0dXJlX211c3RfYmVfYXNzaWduYWJsZV90b190aGVfaW5zdGFuY2VfdHlwZV9vZl90aGVfY2xhc3M6cigyNDA5LDEsXCJSZXR1cm5fdHlwZV9vZl9jb25zdHJ1Y3Rvcl9zaWduYXR1cmVfbXVzdF9iZV9hc3NpZ25hYmxlX3RvX3RoZV9pbnN0YW5jZV90eXBlX29mX3RoZV9jbGFzc18yNDA5XCIsXCJSZXR1cm4gdHlwZSBvZiBjb25zdHJ1Y3RvciBzaWduYXR1cmUgbXVzdCBiZSBhc3NpZ25hYmxlIHRvIHRoZSBpbnN0YW5jZSB0eXBlIG9mIHRoZSBjbGFzcy5cIiksVGhlX3dpdGhfc3RhdGVtZW50X2lzX25vdF9zdXBwb3J0ZWRfQWxsX3N5bWJvbHNfaW5fYV93aXRoX2Jsb2NrX3dpbGxfaGF2ZV90eXBlX2FueTpyKDI0MTAsMSxcIlRoZV93aXRoX3N0YXRlbWVudF9pc19ub3Rfc3VwcG9ydGVkX0FsbF9zeW1ib2xzX2luX2Ffd2l0aF9ibG9ja193aWxsX2hhdmVfdHlwZV9hbnlfMjQxMFwiLFwiVGhlICd3aXRoJyBzdGF0ZW1lbnQgaXMgbm90IHN1cHBvcnRlZC4gQWxsIHN5bWJvbHMgaW4gYSAnd2l0aCcgYmxvY2sgd2lsbCBoYXZlIHR5cGUgJ2FueScuXCIpLFR5cGVfMF9pc19ub3RfYXNzaWduYWJsZV90b190eXBlXzFfd2l0aF9leGFjdE9wdGlvbmFsUHJvcGVydHlUeXBlc19Db2xvbl90cnVlX0NvbnNpZGVyX2FkZGluZ191bmRlZmluZWRfdG9fdGhlX3R5cGVfb2ZfdGhlX3RhcmdldDpyKDI0MTIsMSxcIlR5cGVfMF9pc19ub3RfYXNzaWduYWJsZV90b190eXBlXzFfd2l0aF9leGFjdE9wdGlvbmFsUHJvcGVydHlUeXBlc19Db2xvbl90cnVlX0NvbnNpZGVyX2FkZGluZ191bmRlZmlfMjQxMlwiLFwiVHlwZSAnezB9JyBpcyBub3QgYXNzaWduYWJsZSB0byB0eXBlICd7MX0nIHdpdGggJ2V4YWN0T3B0aW9uYWxQcm9wZXJ0eVR5cGVzOiB0cnVlJy4gQ29uc2lkZXIgYWRkaW5nICd1bmRlZmluZWQnIHRvIHRoZSB0eXBlIG9mIHRoZSB0YXJnZXQuXCIpLFByb3BlcnR5XzBfb2ZfdHlwZV8xX2lzX25vdF9hc3NpZ25hYmxlX3RvXzJfaW5kZXhfdHlwZV8zOnIoMjQxMSwxLFwiUHJvcGVydHlfMF9vZl90eXBlXzFfaXNfbm90X2Fzc2lnbmFibGVfdG9fMl9pbmRleF90eXBlXzNfMjQxMVwiLFwiUHJvcGVydHkgJ3swfScgb2YgdHlwZSAnezF9JyBpcyBub3QgYXNzaWduYWJsZSB0byAnezJ9JyBpbmRleCB0eXBlICd7M30nLlwiKSxfMF9pbmRleF90eXBlXzFfaXNfbm90X2Fzc2lnbmFibGVfdG9fMl9pbmRleF90eXBlXzM6cigyNDEzLDEsXCJfMF9pbmRleF90eXBlXzFfaXNfbm90X2Fzc2lnbmFibGVfdG9fMl9pbmRleF90eXBlXzNfMjQxM1wiLFwiJ3swfScgaW5kZXggdHlwZSAnezF9JyBpcyBub3QgYXNzaWduYWJsZSB0byAnezJ9JyBpbmRleCB0eXBlICd7M30nLlwiKSxDbGFzc19uYW1lX2Nhbm5vdF9iZV8wOnIoMjQxNCwxLFwiQ2xhc3NfbmFtZV9jYW5ub3RfYmVfMF8yNDE0XCIsXCJDbGFzcyBuYW1lIGNhbm5vdCBiZSAnezB9Jy5cIiksQ2xhc3NfMF9pbmNvcnJlY3RseV9leHRlbmRzX2Jhc2VfY2xhc3NfMTpyKDI0MTUsMSxcIkNsYXNzXzBfaW5jb3JyZWN0bHlfZXh0ZW5kc19iYXNlX2NsYXNzXzFfMjQxNVwiLFwiQ2xhc3MgJ3swfScgaW5jb3JyZWN0bHkgZXh0ZW5kcyBiYXNlIGNsYXNzICd7MX0nLlwiKSxQcm9wZXJ0eV8wX2luX3R5cGVfMV9pc19ub3RfYXNzaWduYWJsZV90b190aGVfc2FtZV9wcm9wZXJ0eV9pbl9iYXNlX3R5cGVfMjpyKDI0MTYsMSxcIlByb3BlcnR5XzBfaW5fdHlwZV8xX2lzX25vdF9hc3NpZ25hYmxlX3RvX3RoZV9zYW1lX3Byb3BlcnR5X2luX2Jhc2VfdHlwZV8yXzI0MTZcIixcIlByb3BlcnR5ICd7MH0nIGluIHR5cGUgJ3sxfScgaXMgbm90IGFzc2lnbmFibGUgdG8gdGhlIHNhbWUgcHJvcGVydHkgaW4gYmFzZSB0eXBlICd7Mn0nLlwiKSxDbGFzc19zdGF0aWNfc2lkZV8wX2luY29ycmVjdGx5X2V4dGVuZHNfYmFzZV9jbGFzc19zdGF0aWNfc2lkZV8xOnIoMjQxNywxLFwiQ2xhc3Nfc3RhdGljX3NpZGVfMF9pbmNvcnJlY3RseV9leHRlbmRzX2Jhc2VfY2xhc3Nfc3RhdGljX3NpZGVfMV8yNDE3XCIsXCJDbGFzcyBzdGF0aWMgc2lkZSAnezB9JyBpbmNvcnJlY3RseSBleHRlbmRzIGJhc2UgY2xhc3Mgc3RhdGljIHNpZGUgJ3sxfScuXCIpLFR5cGVfb2ZfY29tcHV0ZWRfcHJvcGVydHlfc192YWx1ZV9pc18wX3doaWNoX2lzX25vdF9hc3NpZ25hYmxlX3RvX3R5cGVfMTpyKDI0MTgsMSxcIlR5cGVfb2ZfY29tcHV0ZWRfcHJvcGVydHlfc192YWx1ZV9pc18wX3doaWNoX2lzX25vdF9hc3NpZ25hYmxlX3RvX3R5cGVfMV8yNDE4XCIsXCJUeXBlIG9mIGNvbXB1dGVkIHByb3BlcnR5J3MgdmFsdWUgaXMgJ3swfScsIHdoaWNoIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHR5cGUgJ3sxfScuXCIpLFR5cGVzX29mX2NvbnN0cnVjdF9zaWduYXR1cmVzX2FyZV9pbmNvbXBhdGlibGU6cigyNDE5LDEsXCJUeXBlc19vZl9jb25zdHJ1Y3Rfc2lnbmF0dXJlc19hcmVfaW5jb21wYXRpYmxlXzI0MTlcIixcIlR5cGVzIG9mIGNvbnN0cnVjdCBzaWduYXR1cmVzIGFyZSBpbmNvbXBhdGlibGUuXCIpLENsYXNzXzBfaW5jb3JyZWN0bHlfaW1wbGVtZW50c19pbnRlcmZhY2VfMTpyKDI0MjAsMSxcIkNsYXNzXzBfaW5jb3JyZWN0bHlfaW1wbGVtZW50c19pbnRlcmZhY2VfMV8yNDIwXCIsXCJDbGFzcyAnezB9JyBpbmNvcnJlY3RseSBpbXBsZW1lbnRzIGludGVyZmFjZSAnezF9Jy5cIiksQV9jbGFzc19jYW5fb25seV9pbXBsZW1lbnRfYW5fb2JqZWN0X3R5cGVfb3JfaW50ZXJzZWN0aW9uX29mX29iamVjdF90eXBlc193aXRoX3N0YXRpY2FsbHlfa25vd25fbWVtYmVyczpyKDI0MjIsMSxcIkFfY2xhc3NfY2FuX29ubHlfaW1wbGVtZW50X2FuX29iamVjdF90eXBlX29yX2ludGVyc2VjdGlvbl9vZl9vYmplY3RfdHlwZXNfd2l0aF9zdGF0aWNhbGx5X2tub3duX21lbWJfMjQyMlwiLFwiQSBjbGFzcyBjYW4gb25seSBpbXBsZW1lbnQgYW4gb2JqZWN0IHR5cGUgb3IgaW50ZXJzZWN0aW9uIG9mIG9iamVjdCB0eXBlcyB3aXRoIHN0YXRpY2FsbHkga25vd24gbWVtYmVycy5cIiksQ2xhc3NfMF9kZWZpbmVzX2luc3RhbmNlX21lbWJlcl9mdW5jdGlvbl8xX2J1dF9leHRlbmRlZF9jbGFzc18yX2RlZmluZXNfaXRfYXNfaW5zdGFuY2VfbWVtYmVyX2FjY2Vzc29yOnIoMjQyMywxLFwiQ2xhc3NfMF9kZWZpbmVzX2luc3RhbmNlX21lbWJlcl9mdW5jdGlvbl8xX2J1dF9leHRlbmRlZF9jbGFzc18yX2RlZmluZXNfaXRfYXNfaW5zdGFuY2VfbWVtYmVyX2FjY2Vzc18yNDIzXCIsXCJDbGFzcyAnezB9JyBkZWZpbmVzIGluc3RhbmNlIG1lbWJlciBmdW5jdGlvbiAnezF9JywgYnV0IGV4dGVuZGVkIGNsYXNzICd7Mn0nIGRlZmluZXMgaXQgYXMgaW5zdGFuY2UgbWVtYmVyIGFjY2Vzc29yLlwiKSxDbGFzc18wX2RlZmluZXNfaW5zdGFuY2VfbWVtYmVyX3Byb3BlcnR5XzFfYnV0X2V4dGVuZGVkX2NsYXNzXzJfZGVmaW5lc19pdF9hc19pbnN0YW5jZV9tZW1iZXJfZnVuY3Rpb246cigyNDI1LDEsXCJDbGFzc18wX2RlZmluZXNfaW5zdGFuY2VfbWVtYmVyX3Byb3BlcnR5XzFfYnV0X2V4dGVuZGVkX2NsYXNzXzJfZGVmaW5lc19pdF9hc19pbnN0YW5jZV9tZW1iZXJfZnVuY3RpXzI0MjVcIixcIkNsYXNzICd7MH0nIGRlZmluZXMgaW5zdGFuY2UgbWVtYmVyIHByb3BlcnR5ICd7MX0nLCBidXQgZXh0ZW5kZWQgY2xhc3MgJ3syfScgZGVmaW5lcyBpdCBhcyBpbnN0YW5jZSBtZW1iZXIgZnVuY3Rpb24uXCIpLENsYXNzXzBfZGVmaW5lc19pbnN0YW5jZV9tZW1iZXJfYWNjZXNzb3JfMV9idXRfZXh0ZW5kZWRfY2xhc3NfMl9kZWZpbmVzX2l0X2FzX2luc3RhbmNlX21lbWJlcl9mdW5jdGlvbjpyKDI0MjYsMSxcIkNsYXNzXzBfZGVmaW5lc19pbnN0YW5jZV9tZW1iZXJfYWNjZXNzb3JfMV9idXRfZXh0ZW5kZWRfY2xhc3NfMl9kZWZpbmVzX2l0X2FzX2luc3RhbmNlX21lbWJlcl9mdW5jdGlfMjQyNlwiLFwiQ2xhc3MgJ3swfScgZGVmaW5lcyBpbnN0YW5jZSBtZW1iZXIgYWNjZXNzb3IgJ3sxfScsIGJ1dCBleHRlbmRlZCBjbGFzcyAnezJ9JyBkZWZpbmVzIGl0IGFzIGluc3RhbmNlIG1lbWJlciBmdW5jdGlvbi5cIiksSW50ZXJmYWNlX25hbWVfY2Fubm90X2JlXzA6cigyNDI3LDEsXCJJbnRlcmZhY2VfbmFtZV9jYW5ub3RfYmVfMF8yNDI3XCIsXCJJbnRlcmZhY2UgbmFtZSBjYW5ub3QgYmUgJ3swfScuXCIpLEFsbF9kZWNsYXJhdGlvbnNfb2ZfMF9tdXN0X2hhdmVfaWRlbnRpY2FsX3R5cGVfcGFyYW1ldGVyczpyKDI0MjgsMSxcIkFsbF9kZWNsYXJhdGlvbnNfb2ZfMF9tdXN0X2hhdmVfaWRlbnRpY2FsX3R5cGVfcGFyYW1ldGVyc18yNDI4XCIsXCJBbGwgZGVjbGFyYXRpb25zIG9mICd7MH0nIG11c3QgaGF2ZSBpZGVudGljYWwgdHlwZSBwYXJhbWV0ZXJzLlwiKSxJbnRlcmZhY2VfMF9pbmNvcnJlY3RseV9leHRlbmRzX2ludGVyZmFjZV8xOnIoMjQzMCwxLFwiSW50ZXJmYWNlXzBfaW5jb3JyZWN0bHlfZXh0ZW5kc19pbnRlcmZhY2VfMV8yNDMwXCIsXCJJbnRlcmZhY2UgJ3swfScgaW5jb3JyZWN0bHkgZXh0ZW5kcyBpbnRlcmZhY2UgJ3sxfScuXCIpLEVudW1fbmFtZV9jYW5ub3RfYmVfMDpyKDI0MzEsMSxcIkVudW1fbmFtZV9jYW5ub3RfYmVfMF8yNDMxXCIsXCJFbnVtIG5hbWUgY2Fubm90IGJlICd7MH0nLlwiKSxJbl9hbl9lbnVtX3dpdGhfbXVsdGlwbGVfZGVjbGFyYXRpb25zX29ubHlfb25lX2RlY2xhcmF0aW9uX2Nhbl9vbWl0X2FuX2luaXRpYWxpemVyX2Zvcl9pdHNfZmlyc3RfZW51bV9lbGVtZW50OnIoMjQzMiwxLFwiSW5fYW5fZW51bV93aXRoX211bHRpcGxlX2RlY2xhcmF0aW9uc19vbmx5X29uZV9kZWNsYXJhdGlvbl9jYW5fb21pdF9hbl9pbml0aWFsaXplcl9mb3JfaXRzX2ZpcnN0X2VudV8yNDMyXCIsXCJJbiBhbiBlbnVtIHdpdGggbXVsdGlwbGUgZGVjbGFyYXRpb25zLCBvbmx5IG9uZSBkZWNsYXJhdGlvbiBjYW4gb21pdCBhbiBpbml0aWFsaXplciBmb3IgaXRzIGZpcnN0IGVudW0gZWxlbWVudC5cIiksQV9uYW1lc3BhY2VfZGVjbGFyYXRpb25fY2Fubm90X2JlX2luX2FfZGlmZmVyZW50X2ZpbGVfZnJvbV9hX2NsYXNzX29yX2Z1bmN0aW9uX3dpdGhfd2hpY2hfaXRfaXNfbWVyZ2VkOnIoMjQzMywxLFwiQV9uYW1lc3BhY2VfZGVjbGFyYXRpb25fY2Fubm90X2JlX2luX2FfZGlmZmVyZW50X2ZpbGVfZnJvbV9hX2NsYXNzX29yX2Z1bmN0aW9uX3dpdGhfd2hpY2hfaXRfaXNfbWVyZ18yNDMzXCIsXCJBIG5hbWVzcGFjZSBkZWNsYXJhdGlvbiBjYW5ub3QgYmUgaW4gYSBkaWZmZXJlbnQgZmlsZSBmcm9tIGEgY2xhc3Mgb3IgZnVuY3Rpb24gd2l0aCB3aGljaCBpdCBpcyBtZXJnZWQuXCIpLEFfbmFtZXNwYWNlX2RlY2xhcmF0aW9uX2Nhbm5vdF9iZV9sb2NhdGVkX3ByaW9yX3RvX2FfY2xhc3Nfb3JfZnVuY3Rpb25fd2l0aF93aGljaF9pdF9pc19tZXJnZWQ6cigyNDM0LDEsXCJBX25hbWVzcGFjZV9kZWNsYXJhdGlvbl9jYW5ub3RfYmVfbG9jYXRlZF9wcmlvcl90b19hX2NsYXNzX29yX2Z1bmN0aW9uX3dpdGhfd2hpY2hfaXRfaXNfbWVyZ2VkXzI0MzRcIixcIkEgbmFtZXNwYWNlIGRlY2xhcmF0aW9uIGNhbm5vdCBiZSBsb2NhdGVkIHByaW9yIHRvIGEgY2xhc3Mgb3IgZnVuY3Rpb24gd2l0aCB3aGljaCBpdCBpcyBtZXJnZWQuXCIpLEFtYmllbnRfbW9kdWxlc19jYW5ub3RfYmVfbmVzdGVkX2luX290aGVyX21vZHVsZXNfb3JfbmFtZXNwYWNlczpyKDI0MzUsMSxcIkFtYmllbnRfbW9kdWxlc19jYW5ub3RfYmVfbmVzdGVkX2luX290aGVyX21vZHVsZXNfb3JfbmFtZXNwYWNlc18yNDM1XCIsXCJBbWJpZW50IG1vZHVsZXMgY2Fubm90IGJlIG5lc3RlZCBpbiBvdGhlciBtb2R1bGVzIG9yIG5hbWVzcGFjZXMuXCIpLEFtYmllbnRfbW9kdWxlX2RlY2xhcmF0aW9uX2Nhbm5vdF9zcGVjaWZ5X3JlbGF0aXZlX21vZHVsZV9uYW1lOnIoMjQzNiwxLFwiQW1iaWVudF9tb2R1bGVfZGVjbGFyYXRpb25fY2Fubm90X3NwZWNpZnlfcmVsYXRpdmVfbW9kdWxlX25hbWVfMjQzNlwiLFwiQW1iaWVudCBtb2R1bGUgZGVjbGFyYXRpb24gY2Fubm90IHNwZWNpZnkgcmVsYXRpdmUgbW9kdWxlIG5hbWUuXCIpLE1vZHVsZV8wX2lzX2hpZGRlbl9ieV9hX2xvY2FsX2RlY2xhcmF0aW9uX3dpdGhfdGhlX3NhbWVfbmFtZTpyKDI0MzcsMSxcIk1vZHVsZV8wX2lzX2hpZGRlbl9ieV9hX2xvY2FsX2RlY2xhcmF0aW9uX3dpdGhfdGhlX3NhbWVfbmFtZV8yNDM3XCIsXCJNb2R1bGUgJ3swfScgaXMgaGlkZGVuIGJ5IGEgbG9jYWwgZGVjbGFyYXRpb24gd2l0aCB0aGUgc2FtZSBuYW1lLlwiKSxJbXBvcnRfbmFtZV9jYW5ub3RfYmVfMDpyKDI0MzgsMSxcIkltcG9ydF9uYW1lX2Nhbm5vdF9iZV8wXzI0MzhcIixcIkltcG9ydCBuYW1lIGNhbm5vdCBiZSAnezB9Jy5cIiksSW1wb3J0X29yX2V4cG9ydF9kZWNsYXJhdGlvbl9pbl9hbl9hbWJpZW50X21vZHVsZV9kZWNsYXJhdGlvbl9jYW5ub3RfcmVmZXJlbmNlX21vZHVsZV90aHJvdWdoX3JlbGF0aXZlX21vZHVsZV9uYW1lOnIoMjQzOSwxLFwiSW1wb3J0X29yX2V4cG9ydF9kZWNsYXJhdGlvbl9pbl9hbl9hbWJpZW50X21vZHVsZV9kZWNsYXJhdGlvbl9jYW5ub3RfcmVmZXJlbmNlX21vZHVsZV90aHJvdWdoX3JlbGF0aV8yNDM5XCIsXCJJbXBvcnQgb3IgZXhwb3J0IGRlY2xhcmF0aW9uIGluIGFuIGFtYmllbnQgbW9kdWxlIGRlY2xhcmF0aW9uIGNhbm5vdCByZWZlcmVuY2UgbW9kdWxlIHRocm91Z2ggcmVsYXRpdmUgbW9kdWxlIG5hbWUuXCIpLEltcG9ydF9kZWNsYXJhdGlvbl9jb25mbGljdHNfd2l0aF9sb2NhbF9kZWNsYXJhdGlvbl9vZl8wOnIoMjQ0MCwxLFwiSW1wb3J0X2RlY2xhcmF0aW9uX2NvbmZsaWN0c193aXRoX2xvY2FsX2RlY2xhcmF0aW9uX29mXzBfMjQ0MFwiLFwiSW1wb3J0IGRlY2xhcmF0aW9uIGNvbmZsaWN0cyB3aXRoIGxvY2FsIGRlY2xhcmF0aW9uIG9mICd7MH0nLlwiKSxEdXBsaWNhdGVfaWRlbnRpZmllcl8wX0NvbXBpbGVyX3Jlc2VydmVzX25hbWVfMV9pbl90b3BfbGV2ZWxfc2NvcGVfb2ZfYV9tb2R1bGU6cigyNDQxLDEsXCJEdXBsaWNhdGVfaWRlbnRpZmllcl8wX0NvbXBpbGVyX3Jlc2VydmVzX25hbWVfMV9pbl90b3BfbGV2ZWxfc2NvcGVfb2ZfYV9tb2R1bGVfMjQ0MVwiLFwiRHVwbGljYXRlIGlkZW50aWZpZXIgJ3swfScuIENvbXBpbGVyIHJlc2VydmVzIG5hbWUgJ3sxfScgaW4gdG9wIGxldmVsIHNjb3BlIG9mIGEgbW9kdWxlLlwiKSxUeXBlc19oYXZlX3NlcGFyYXRlX2RlY2xhcmF0aW9uc19vZl9hX3ByaXZhdGVfcHJvcGVydHlfMDpyKDI0NDIsMSxcIlR5cGVzX2hhdmVfc2VwYXJhdGVfZGVjbGFyYXRpb25zX29mX2FfcHJpdmF0ZV9wcm9wZXJ0eV8wXzI0NDJcIixcIlR5cGVzIGhhdmUgc2VwYXJhdGUgZGVjbGFyYXRpb25zIG9mIGEgcHJpdmF0ZSBwcm9wZXJ0eSAnezB9Jy5cIiksUHJvcGVydHlfMF9pc19wcm90ZWN0ZWRfYnV0X3R5cGVfMV9pc19ub3RfYV9jbGFzc19kZXJpdmVkX2Zyb21fMjpyKDI0NDMsMSxcIlByb3BlcnR5XzBfaXNfcHJvdGVjdGVkX2J1dF90eXBlXzFfaXNfbm90X2FfY2xhc3NfZGVyaXZlZF9mcm9tXzJfMjQ0M1wiLFwiUHJvcGVydHkgJ3swfScgaXMgcHJvdGVjdGVkIGJ1dCB0eXBlICd7MX0nIGlzIG5vdCBhIGNsYXNzIGRlcml2ZWQgZnJvbSAnezJ9Jy5cIiksUHJvcGVydHlfMF9pc19wcm90ZWN0ZWRfaW5fdHlwZV8xX2J1dF9wdWJsaWNfaW5fdHlwZV8yOnIoMjQ0NCwxLFwiUHJvcGVydHlfMF9pc19wcm90ZWN0ZWRfaW5fdHlwZV8xX2J1dF9wdWJsaWNfaW5fdHlwZV8yXzI0NDRcIixcIlByb3BlcnR5ICd7MH0nIGlzIHByb3RlY3RlZCBpbiB0eXBlICd7MX0nIGJ1dCBwdWJsaWMgaW4gdHlwZSAnezJ9Jy5cIiksUHJvcGVydHlfMF9pc19wcm90ZWN0ZWRfYW5kX29ubHlfYWNjZXNzaWJsZV93aXRoaW5fY2xhc3NfMV9hbmRfaXRzX3N1YmNsYXNzZXM6cigyNDQ1LDEsXCJQcm9wZXJ0eV8wX2lzX3Byb3RlY3RlZF9hbmRfb25seV9hY2Nlc3NpYmxlX3dpdGhpbl9jbGFzc18xX2FuZF9pdHNfc3ViY2xhc3Nlc18yNDQ1XCIsXCJQcm9wZXJ0eSAnezB9JyBpcyBwcm90ZWN0ZWQgYW5kIG9ubHkgYWNjZXNzaWJsZSB3aXRoaW4gY2xhc3MgJ3sxfScgYW5kIGl0cyBzdWJjbGFzc2VzLlwiKSxQcm9wZXJ0eV8wX2lzX3Byb3RlY3RlZF9hbmRfb25seV9hY2Nlc3NpYmxlX3Rocm91Z2hfYW5faW5zdGFuY2Vfb2ZfY2xhc3NfMV9UaGlzX2lzX2FuX2luc3RhbmNlX29mX2NsYXNzXzI6cigyNDQ2LDEsXCJQcm9wZXJ0eV8wX2lzX3Byb3RlY3RlZF9hbmRfb25seV9hY2Nlc3NpYmxlX3Rocm91Z2hfYW5faW5zdGFuY2Vfb2ZfY2xhc3NfMV9UaGlzX2lzX2FuX2luc3RhbmNlX29mX2NsXzI0NDZcIixcIlByb3BlcnR5ICd7MH0nIGlzIHByb3RlY3RlZCBhbmQgb25seSBhY2Nlc3NpYmxlIHRocm91Z2ggYW4gaW5zdGFuY2Ugb2YgY2xhc3MgJ3sxfScuIFRoaXMgaXMgYW4gaW5zdGFuY2Ugb2YgY2xhc3MgJ3syfScuXCIpLFRoZV8wX29wZXJhdG9yX2lzX25vdF9hbGxvd2VkX2Zvcl9ib29sZWFuX3R5cGVzX0NvbnNpZGVyX3VzaW5nXzFfaW5zdGVhZDpyKDI0NDcsMSxcIlRoZV8wX29wZXJhdG9yX2lzX25vdF9hbGxvd2VkX2Zvcl9ib29sZWFuX3R5cGVzX0NvbnNpZGVyX3VzaW5nXzFfaW5zdGVhZF8yNDQ3XCIsXCJUaGUgJ3swfScgb3BlcmF0b3IgaXMgbm90IGFsbG93ZWQgZm9yIGJvb2xlYW4gdHlwZXMuIENvbnNpZGVyIHVzaW5nICd7MX0nIGluc3RlYWQuXCIpLEJsb2NrX3Njb3BlZF92YXJpYWJsZV8wX3VzZWRfYmVmb3JlX2l0c19kZWNsYXJhdGlvbjpyKDI0NDgsMSxcIkJsb2NrX3Njb3BlZF92YXJpYWJsZV8wX3VzZWRfYmVmb3JlX2l0c19kZWNsYXJhdGlvbl8yNDQ4XCIsXCJCbG9jay1zY29wZWQgdmFyaWFibGUgJ3swfScgdXNlZCBiZWZvcmUgaXRzIGRlY2xhcmF0aW9uLlwiKSxDbGFzc18wX3VzZWRfYmVmb3JlX2l0c19kZWNsYXJhdGlvbjpyKDI0NDksMSxcIkNsYXNzXzBfdXNlZF9iZWZvcmVfaXRzX2RlY2xhcmF0aW9uXzI0NDlcIixcIkNsYXNzICd7MH0nIHVzZWQgYmVmb3JlIGl0cyBkZWNsYXJhdGlvbi5cIiksRW51bV8wX3VzZWRfYmVmb3JlX2l0c19kZWNsYXJhdGlvbjpyKDI0NTAsMSxcIkVudW1fMF91c2VkX2JlZm9yZV9pdHNfZGVjbGFyYXRpb25fMjQ1MFwiLFwiRW51bSAnezB9JyB1c2VkIGJlZm9yZSBpdHMgZGVjbGFyYXRpb24uXCIpLENhbm5vdF9yZWRlY2xhcmVfYmxvY2tfc2NvcGVkX3ZhcmlhYmxlXzA6cigyNDUxLDEsXCJDYW5ub3RfcmVkZWNsYXJlX2Jsb2NrX3Njb3BlZF92YXJpYWJsZV8wXzI0NTFcIixcIkNhbm5vdCByZWRlY2xhcmUgYmxvY2stc2NvcGVkIHZhcmlhYmxlICd7MH0nLlwiKSxBbl9lbnVtX21lbWJlcl9jYW5ub3RfaGF2ZV9hX251bWVyaWNfbmFtZTpyKDI0NTIsMSxcIkFuX2VudW1fbWVtYmVyX2Nhbm5vdF9oYXZlX2FfbnVtZXJpY19uYW1lXzI0NTJcIixcIkFuIGVudW0gbWVtYmVyIGNhbm5vdCBoYXZlIGEgbnVtZXJpYyBuYW1lLlwiKSxWYXJpYWJsZV8wX2lzX3VzZWRfYmVmb3JlX2JlaW5nX2Fzc2lnbmVkOnIoMjQ1NCwxLFwiVmFyaWFibGVfMF9pc191c2VkX2JlZm9yZV9iZWluZ19hc3NpZ25lZF8yNDU0XCIsXCJWYXJpYWJsZSAnezB9JyBpcyB1c2VkIGJlZm9yZSBiZWluZyBhc3NpZ25lZC5cIiksVHlwZV9hbGlhc18wX2NpcmN1bGFybHlfcmVmZXJlbmNlc19pdHNlbGY6cigyNDU2LDEsXCJUeXBlX2FsaWFzXzBfY2lyY3VsYXJseV9yZWZlcmVuY2VzX2l0c2VsZl8yNDU2XCIsXCJUeXBlIGFsaWFzICd7MH0nIGNpcmN1bGFybHkgcmVmZXJlbmNlcyBpdHNlbGYuXCIpLFR5cGVfYWxpYXNfbmFtZV9jYW5ub3RfYmVfMDpyKDI0NTcsMSxcIlR5cGVfYWxpYXNfbmFtZV9jYW5ub3RfYmVfMF8yNDU3XCIsXCJUeXBlIGFsaWFzIG5hbWUgY2Fubm90IGJlICd7MH0nLlwiKSxBbl9BTURfbW9kdWxlX2Nhbm5vdF9oYXZlX211bHRpcGxlX25hbWVfYXNzaWdubWVudHM6cigyNDU4LDEsXCJBbl9BTURfbW9kdWxlX2Nhbm5vdF9oYXZlX211bHRpcGxlX25hbWVfYXNzaWdubWVudHNfMjQ1OFwiLFwiQW4gQU1EIG1vZHVsZSBjYW5ub3QgaGF2ZSBtdWx0aXBsZSBuYW1lIGFzc2lnbm1lbnRzLlwiKSxNb2R1bGVfMF9kZWNsYXJlc18xX2xvY2FsbHlfYnV0X2l0X2lzX25vdF9leHBvcnRlZDpyKDI0NTksMSxcIk1vZHVsZV8wX2RlY2xhcmVzXzFfbG9jYWxseV9idXRfaXRfaXNfbm90X2V4cG9ydGVkXzI0NTlcIixcIk1vZHVsZSAnezB9JyBkZWNsYXJlcyAnezF9JyBsb2NhbGx5LCBidXQgaXQgaXMgbm90IGV4cG9ydGVkLlwiKSxNb2R1bGVfMF9kZWNsYXJlc18xX2xvY2FsbHlfYnV0X2l0X2lzX2V4cG9ydGVkX2FzXzI6cigyNDYwLDEsXCJNb2R1bGVfMF9kZWNsYXJlc18xX2xvY2FsbHlfYnV0X2l0X2lzX2V4cG9ydGVkX2FzXzJfMjQ2MFwiLFwiTW9kdWxlICd7MH0nIGRlY2xhcmVzICd7MX0nIGxvY2FsbHksIGJ1dCBpdCBpcyBleHBvcnRlZCBhcyAnezJ9Jy5cIiksVHlwZV8wX2lzX25vdF9hbl9hcnJheV90eXBlOnIoMjQ2MSwxLFwiVHlwZV8wX2lzX25vdF9hbl9hcnJheV90eXBlXzI0NjFcIixcIlR5cGUgJ3swfScgaXMgbm90IGFuIGFycmF5IHR5cGUuXCIpLEFfcmVzdF9lbGVtZW50X211c3RfYmVfbGFzdF9pbl9hX2Rlc3RydWN0dXJpbmdfcGF0dGVybjpyKDI0NjIsMSxcIkFfcmVzdF9lbGVtZW50X211c3RfYmVfbGFzdF9pbl9hX2Rlc3RydWN0dXJpbmdfcGF0dGVybl8yNDYyXCIsXCJBIHJlc3QgZWxlbWVudCBtdXN0IGJlIGxhc3QgaW4gYSBkZXN0cnVjdHVyaW5nIHBhdHRlcm4uXCIpLEFfYmluZGluZ19wYXR0ZXJuX3BhcmFtZXRlcl9jYW5ub3RfYmVfb3B0aW9uYWxfaW5fYW5faW1wbGVtZW50YXRpb25fc2lnbmF0dXJlOnIoMjQ2MywxLFwiQV9iaW5kaW5nX3BhdHRlcm5fcGFyYW1ldGVyX2Nhbm5vdF9iZV9vcHRpb25hbF9pbl9hbl9pbXBsZW1lbnRhdGlvbl9zaWduYXR1cmVfMjQ2M1wiLFwiQSBiaW5kaW5nIHBhdHRlcm4gcGFyYW1ldGVyIGNhbm5vdCBiZSBvcHRpb25hbCBpbiBhbiBpbXBsZW1lbnRhdGlvbiBzaWduYXR1cmUuXCIpLEFfY29tcHV0ZWRfcHJvcGVydHlfbmFtZV9tdXN0X2JlX29mX3R5cGVfc3RyaW5nX251bWJlcl9zeW1ib2xfb3JfYW55OnIoMjQ2NCwxLFwiQV9jb21wdXRlZF9wcm9wZXJ0eV9uYW1lX211c3RfYmVfb2ZfdHlwZV9zdHJpbmdfbnVtYmVyX3N5bWJvbF9vcl9hbnlfMjQ2NFwiLFwiQSBjb21wdXRlZCBwcm9wZXJ0eSBuYW1lIG11c3QgYmUgb2YgdHlwZSAnc3RyaW5nJywgJ251bWJlcicsICdzeW1ib2wnLCBvciAnYW55Jy5cIiksdGhpc19jYW5ub3RfYmVfcmVmZXJlbmNlZF9pbl9hX2NvbXB1dGVkX3Byb3BlcnR5X25hbWU6cigyNDY1LDEsXCJ0aGlzX2Nhbm5vdF9iZV9yZWZlcmVuY2VkX2luX2FfY29tcHV0ZWRfcHJvcGVydHlfbmFtZV8yNDY1XCIsXCIndGhpcycgY2Fubm90IGJlIHJlZmVyZW5jZWQgaW4gYSBjb21wdXRlZCBwcm9wZXJ0eSBuYW1lLlwiKSxzdXBlcl9jYW5ub3RfYmVfcmVmZXJlbmNlZF9pbl9hX2NvbXB1dGVkX3Byb3BlcnR5X25hbWU6cigyNDY2LDEsXCJzdXBlcl9jYW5ub3RfYmVfcmVmZXJlbmNlZF9pbl9hX2NvbXB1dGVkX3Byb3BlcnR5X25hbWVfMjQ2NlwiLFwiJ3N1cGVyJyBjYW5ub3QgYmUgcmVmZXJlbmNlZCBpbiBhIGNvbXB1dGVkIHByb3BlcnR5IG5hbWUuXCIpLEFfY29tcHV0ZWRfcHJvcGVydHlfbmFtZV9jYW5ub3RfcmVmZXJlbmNlX2FfdHlwZV9wYXJhbWV0ZXJfZnJvbV9pdHNfY29udGFpbmluZ190eXBlOnIoMjQ2NywxLFwiQV9jb21wdXRlZF9wcm9wZXJ0eV9uYW1lX2Nhbm5vdF9yZWZlcmVuY2VfYV90eXBlX3BhcmFtZXRlcl9mcm9tX2l0c19jb250YWluaW5nX3R5cGVfMjQ2N1wiLFwiQSBjb21wdXRlZCBwcm9wZXJ0eSBuYW1lIGNhbm5vdCByZWZlcmVuY2UgYSB0eXBlIHBhcmFtZXRlciBmcm9tIGl0cyBjb250YWluaW5nIHR5cGUuXCIpLENhbm5vdF9maW5kX2dsb2JhbF92YWx1ZV8wOnIoMjQ2OCwxLFwiQ2Fubm90X2ZpbmRfZ2xvYmFsX3ZhbHVlXzBfMjQ2OFwiLFwiQ2Fubm90IGZpbmQgZ2xvYmFsIHZhbHVlICd7MH0nLlwiKSxUaGVfMF9vcGVyYXRvcl9jYW5ub3RfYmVfYXBwbGllZF90b190eXBlX3N5bWJvbDpyKDI0NjksMSxcIlRoZV8wX29wZXJhdG9yX2Nhbm5vdF9iZV9hcHBsaWVkX3RvX3R5cGVfc3ltYm9sXzI0NjlcIixcIlRoZSAnezB9JyBvcGVyYXRvciBjYW5ub3QgYmUgYXBwbGllZCB0byB0eXBlICdzeW1ib2wnLlwiKSxTcHJlYWRfb3BlcmF0b3JfaW5fbmV3X2V4cHJlc3Npb25zX2lzX29ubHlfYXZhaWxhYmxlX3doZW5fdGFyZ2V0aW5nX0VDTUFTY3JpcHRfNV9hbmRfaGlnaGVyOnIoMjQ3MiwxLFwiU3ByZWFkX29wZXJhdG9yX2luX25ld19leHByZXNzaW9uc19pc19vbmx5X2F2YWlsYWJsZV93aGVuX3RhcmdldGluZ19FQ01BU2NyaXB0XzVfYW5kX2hpZ2hlcl8yNDcyXCIsXCJTcHJlYWQgb3BlcmF0b3IgaW4gJ25ldycgZXhwcmVzc2lvbnMgaXMgb25seSBhdmFpbGFibGUgd2hlbiB0YXJnZXRpbmcgRUNNQVNjcmlwdCA1IGFuZCBoaWdoZXIuXCIpLEVudW1fZGVjbGFyYXRpb25zX211c3RfYWxsX2JlX2NvbnN0X29yX25vbl9jb25zdDpyKDI0NzMsMSxcIkVudW1fZGVjbGFyYXRpb25zX211c3RfYWxsX2JlX2NvbnN0X29yX25vbl9jb25zdF8yNDczXCIsXCJFbnVtIGRlY2xhcmF0aW9ucyBtdXN0IGFsbCBiZSBjb25zdCBvciBub24tY29uc3QuXCIpLGNvbnN0X2VudW1fbWVtYmVyX2luaXRpYWxpemVyc19tdXN0X2JlX2NvbnN0YW50X2V4cHJlc3Npb25zOnIoMjQ3NCwxLFwiY29uc3RfZW51bV9tZW1iZXJfaW5pdGlhbGl6ZXJzX211c3RfYmVfY29uc3RhbnRfZXhwcmVzc2lvbnNfMjQ3NFwiLFwiY29uc3QgZW51bSBtZW1iZXIgaW5pdGlhbGl6ZXJzIG11c3QgYmUgY29uc3RhbnQgZXhwcmVzc2lvbnMuXCIpLGNvbnN0X2VudW1zX2Nhbl9vbmx5X2JlX3VzZWRfaW5fcHJvcGVydHlfb3JfaW5kZXhfYWNjZXNzX2V4cHJlc3Npb25zX29yX3RoZV9yaWdodF9oYW5kX3NpZGVfb2ZfYW5faW1wb3J0X2RlY2xhcmF0aW9uX29yX2V4cG9ydF9hc3NpZ25tZW50X29yX3R5cGVfcXVlcnk6cigyNDc1LDEsXCJjb25zdF9lbnVtc19jYW5fb25seV9iZV91c2VkX2luX3Byb3BlcnR5X29yX2luZGV4X2FjY2Vzc19leHByZXNzaW9uc19vcl90aGVfcmlnaHRfaGFuZF9zaWRlX29mX2FuX2ltXzI0NzVcIixcIidjb25zdCcgZW51bXMgY2FuIG9ubHkgYmUgdXNlZCBpbiBwcm9wZXJ0eSBvciBpbmRleCBhY2Nlc3MgZXhwcmVzc2lvbnMgb3IgdGhlIHJpZ2h0IGhhbmQgc2lkZSBvZiBhbiBpbXBvcnQgZGVjbGFyYXRpb24gb3IgZXhwb3J0IGFzc2lnbm1lbnQgb3IgdHlwZSBxdWVyeS5cIiksQV9jb25zdF9lbnVtX21lbWJlcl9jYW5fb25seV9iZV9hY2Nlc3NlZF91c2luZ19hX3N0cmluZ19saXRlcmFsOnIoMjQ3NiwxLFwiQV9jb25zdF9lbnVtX21lbWJlcl9jYW5fb25seV9iZV9hY2Nlc3NlZF91c2luZ19hX3N0cmluZ19saXRlcmFsXzI0NzZcIixcIkEgY29uc3QgZW51bSBtZW1iZXIgY2FuIG9ubHkgYmUgYWNjZXNzZWQgdXNpbmcgYSBzdHJpbmcgbGl0ZXJhbC5cIiksY29uc3RfZW51bV9tZW1iZXJfaW5pdGlhbGl6ZXJfd2FzX2V2YWx1YXRlZF90b19hX25vbl9maW5pdGVfdmFsdWU6cigyNDc3LDEsXCJjb25zdF9lbnVtX21lbWJlcl9pbml0aWFsaXplcl93YXNfZXZhbHVhdGVkX3RvX2Ffbm9uX2Zpbml0ZV92YWx1ZV8yNDc3XCIsXCInY29uc3QnIGVudW0gbWVtYmVyIGluaXRpYWxpemVyIHdhcyBldmFsdWF0ZWQgdG8gYSBub24tZmluaXRlIHZhbHVlLlwiKSxjb25zdF9lbnVtX21lbWJlcl9pbml0aWFsaXplcl93YXNfZXZhbHVhdGVkX3RvX2Rpc2FsbG93ZWRfdmFsdWVfTmFOOnIoMjQ3OCwxLFwiY29uc3RfZW51bV9tZW1iZXJfaW5pdGlhbGl6ZXJfd2FzX2V2YWx1YXRlZF90b19kaXNhbGxvd2VkX3ZhbHVlX05hTl8yNDc4XCIsXCInY29uc3QnIGVudW0gbWVtYmVyIGluaXRpYWxpemVyIHdhcyBldmFsdWF0ZWQgdG8gZGlzYWxsb3dlZCB2YWx1ZSAnTmFOJy5cIiksbGV0X2lzX25vdF9hbGxvd2VkX3RvX2JlX3VzZWRfYXNfYV9uYW1lX2luX2xldF9vcl9jb25zdF9kZWNsYXJhdGlvbnM6cigyNDgwLDEsXCJsZXRfaXNfbm90X2FsbG93ZWRfdG9fYmVfdXNlZF9hc19hX25hbWVfaW5fbGV0X29yX2NvbnN0X2RlY2xhcmF0aW9uc18yNDgwXCIsXCInbGV0JyBpcyBub3QgYWxsb3dlZCB0byBiZSB1c2VkIGFzIGEgbmFtZSBpbiAnbGV0JyBvciAnY29uc3QnIGRlY2xhcmF0aW9ucy5cIiksQ2Fubm90X2luaXRpYWxpemVfb3V0ZXJfc2NvcGVkX3ZhcmlhYmxlXzBfaW5fdGhlX3NhbWVfc2NvcGVfYXNfYmxvY2tfc2NvcGVkX2RlY2xhcmF0aW9uXzE6cigyNDgxLDEsXCJDYW5ub3RfaW5pdGlhbGl6ZV9vdXRlcl9zY29wZWRfdmFyaWFibGVfMF9pbl90aGVfc2FtZV9zY29wZV9hc19ibG9ja19zY29wZWRfZGVjbGFyYXRpb25fMV8yNDgxXCIsXCJDYW5ub3QgaW5pdGlhbGl6ZSBvdXRlciBzY29wZWQgdmFyaWFibGUgJ3swfScgaW4gdGhlIHNhbWUgc2NvcGUgYXMgYmxvY2sgc2NvcGVkIGRlY2xhcmF0aW9uICd7MX0nLlwiKSxUaGVfbGVmdF9oYW5kX3NpZGVfb2ZfYV9mb3Jfb2Zfc3RhdGVtZW50X2Nhbm5vdF91c2VfYV90eXBlX2Fubm90YXRpb246cigyNDgzLDEsXCJUaGVfbGVmdF9oYW5kX3NpZGVfb2ZfYV9mb3Jfb2Zfc3RhdGVtZW50X2Nhbm5vdF91c2VfYV90eXBlX2Fubm90YXRpb25fMjQ4M1wiLFwiVGhlIGxlZnQtaGFuZCBzaWRlIG9mIGEgJ2Zvci4uLm9mJyBzdGF0ZW1lbnQgY2Fubm90IHVzZSBhIHR5cGUgYW5ub3RhdGlvbi5cIiksRXhwb3J0X2RlY2xhcmF0aW9uX2NvbmZsaWN0c193aXRoX2V4cG9ydGVkX2RlY2xhcmF0aW9uX29mXzA6cigyNDg0LDEsXCJFeHBvcnRfZGVjbGFyYXRpb25fY29uZmxpY3RzX3dpdGhfZXhwb3J0ZWRfZGVjbGFyYXRpb25fb2ZfMF8yNDg0XCIsXCJFeHBvcnQgZGVjbGFyYXRpb24gY29uZmxpY3RzIHdpdGggZXhwb3J0ZWQgZGVjbGFyYXRpb24gb2YgJ3swfScuXCIpLFRoZV9sZWZ0X2hhbmRfc2lkZV9vZl9hX2Zvcl9vZl9zdGF0ZW1lbnRfbXVzdF9iZV9hX3ZhcmlhYmxlX29yX2FfcHJvcGVydHlfYWNjZXNzOnIoMjQ4NywxLFwiVGhlX2xlZnRfaGFuZF9zaWRlX29mX2FfZm9yX29mX3N0YXRlbWVudF9tdXN0X2JlX2FfdmFyaWFibGVfb3JfYV9wcm9wZXJ0eV9hY2Nlc3NfMjQ4N1wiLFwiVGhlIGxlZnQtaGFuZCBzaWRlIG9mIGEgJ2Zvci4uLm9mJyBzdGF0ZW1lbnQgbXVzdCBiZSBhIHZhcmlhYmxlIG9yIGEgcHJvcGVydHkgYWNjZXNzLlwiKSxUeXBlXzBfbXVzdF9oYXZlX2FfU3ltYm9sX2l0ZXJhdG9yX21ldGhvZF90aGF0X3JldHVybnNfYW5faXRlcmF0b3I6cigyNDg4LDEsXCJUeXBlXzBfbXVzdF9oYXZlX2FfU3ltYm9sX2l0ZXJhdG9yX21ldGhvZF90aGF0X3JldHVybnNfYW5faXRlcmF0b3JfMjQ4OFwiLFwiVHlwZSAnezB9JyBtdXN0IGhhdmUgYSAnW1N5bWJvbC5pdGVyYXRvcl0oKScgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBpdGVyYXRvci5cIiksQW5faXRlcmF0b3JfbXVzdF9oYXZlX2FfbmV4dF9tZXRob2Q6cigyNDg5LDEsXCJBbl9pdGVyYXRvcl9tdXN0X2hhdmVfYV9uZXh0X21ldGhvZF8yNDg5XCIsXCJBbiBpdGVyYXRvciBtdXN0IGhhdmUgYSAnbmV4dCgpJyBtZXRob2QuXCIpLFRoZV90eXBlX3JldHVybmVkX2J5X3RoZV8wX21ldGhvZF9vZl9hbl9pdGVyYXRvcl9tdXN0X2hhdmVfYV92YWx1ZV9wcm9wZXJ0eTpyKDI0OTAsMSxcIlRoZV90eXBlX3JldHVybmVkX2J5X3RoZV8wX21ldGhvZF9vZl9hbl9pdGVyYXRvcl9tdXN0X2hhdmVfYV92YWx1ZV9wcm9wZXJ0eV8yNDkwXCIsXCJUaGUgdHlwZSByZXR1cm5lZCBieSB0aGUgJ3swfSgpJyBtZXRob2Qgb2YgYW4gaXRlcmF0b3IgbXVzdCBoYXZlIGEgJ3ZhbHVlJyBwcm9wZXJ0eS5cIiksVGhlX2xlZnRfaGFuZF9zaWRlX29mX2FfZm9yX2luX3N0YXRlbWVudF9jYW5ub3RfYmVfYV9kZXN0cnVjdHVyaW5nX3BhdHRlcm46cigyNDkxLDEsXCJUaGVfbGVmdF9oYW5kX3NpZGVfb2ZfYV9mb3JfaW5fc3RhdGVtZW50X2Nhbm5vdF9iZV9hX2Rlc3RydWN0dXJpbmdfcGF0dGVybl8yNDkxXCIsXCJUaGUgbGVmdC1oYW5kIHNpZGUgb2YgYSAnZm9yLi4uaW4nIHN0YXRlbWVudCBjYW5ub3QgYmUgYSBkZXN0cnVjdHVyaW5nIHBhdHRlcm4uXCIpLENhbm5vdF9yZWRlY2xhcmVfaWRlbnRpZmllcl8wX2luX2NhdGNoX2NsYXVzZTpyKDI0OTIsMSxcIkNhbm5vdF9yZWRlY2xhcmVfaWRlbnRpZmllcl8wX2luX2NhdGNoX2NsYXVzZV8yNDkyXCIsXCJDYW5ub3QgcmVkZWNsYXJlIGlkZW50aWZpZXIgJ3swfScgaW4gY2F0Y2ggY2xhdXNlLlwiKSxUdXBsZV90eXBlXzBfb2ZfbGVuZ3RoXzFfaGFzX25vX2VsZW1lbnRfYXRfaW5kZXhfMjpyKDI0OTMsMSxcIlR1cGxlX3R5cGVfMF9vZl9sZW5ndGhfMV9oYXNfbm9fZWxlbWVudF9hdF9pbmRleF8yXzI0OTNcIixcIlR1cGxlIHR5cGUgJ3swfScgb2YgbGVuZ3RoICd7MX0nIGhhcyBubyBlbGVtZW50IGF0IGluZGV4ICd7Mn0nLlwiKSxVc2luZ19hX3N0cmluZ19pbl9hX2Zvcl9vZl9zdGF0ZW1lbnRfaXNfb25seV9zdXBwb3J0ZWRfaW5fRUNNQVNjcmlwdF81X2FuZF9oaWdoZXI6cigyNDk0LDEsXCJVc2luZ19hX3N0cmluZ19pbl9hX2Zvcl9vZl9zdGF0ZW1lbnRfaXNfb25seV9zdXBwb3J0ZWRfaW5fRUNNQVNjcmlwdF81X2FuZF9oaWdoZXJfMjQ5NFwiLFwiVXNpbmcgYSBzdHJpbmcgaW4gYSAnZm9yLi4ub2YnIHN0YXRlbWVudCBpcyBvbmx5IHN1cHBvcnRlZCBpbiBFQ01BU2NyaXB0IDUgYW5kIGhpZ2hlci5cIiksVHlwZV8wX2lzX25vdF9hbl9hcnJheV90eXBlX29yX2Ffc3RyaW5nX3R5cGU6cigyNDk1LDEsXCJUeXBlXzBfaXNfbm90X2FuX2FycmF5X3R5cGVfb3JfYV9zdHJpbmdfdHlwZV8yNDk1XCIsXCJUeXBlICd7MH0nIGlzIG5vdCBhbiBhcnJheSB0eXBlIG9yIGEgc3RyaW5nIHR5cGUuXCIpLFRoZV9hcmd1bWVudHNfb2JqZWN0X2Nhbm5vdF9iZV9yZWZlcmVuY2VkX2luX2FuX2Fycm93X2Z1bmN0aW9uX2luX0VTNV9Db25zaWRlcl91c2luZ19hX3N0YW5kYXJkX2Z1bmN0aW9uX2V4cHJlc3Npb246cigyNDk2LDEsXCJUaGVfYXJndW1lbnRzX29iamVjdF9jYW5ub3RfYmVfcmVmZXJlbmNlZF9pbl9hbl9hcnJvd19mdW5jdGlvbl9pbl9FUzVfQ29uc2lkZXJfdXNpbmdfYV9zdGFuZGFyZF9mdW5jXzI0OTZcIixcIlRoZSAnYXJndW1lbnRzJyBvYmplY3QgY2Fubm90IGJlIHJlZmVyZW5jZWQgaW4gYW4gYXJyb3cgZnVuY3Rpb24gaW4gRVM1LiBDb25zaWRlciB1c2luZyBhIHN0YW5kYXJkIGZ1bmN0aW9uIGV4cHJlc3Npb24uXCIpLFRoaXNfbW9kdWxlX2Nhbl9vbmx5X2JlX3JlZmVyZW5jZWRfd2l0aF9FQ01BU2NyaXB0X2ltcG9ydHNfU2xhc2hleHBvcnRzX2J5X3R1cm5pbmdfb25fdGhlXzBfZmxhZ19hbmRfcmVmZXJlbmNpbmdfaXRzX2RlZmF1bHRfZXhwb3J0OnIoMjQ5NywxLFwiVGhpc19tb2R1bGVfY2FuX29ubHlfYmVfcmVmZXJlbmNlZF93aXRoX0VDTUFTY3JpcHRfaW1wb3J0c19TbGFzaGV4cG9ydHNfYnlfdHVybmluZ19vbl90aGVfMF9mbGFnX2FuZF8yNDk3XCIsXCJUaGlzIG1vZHVsZSBjYW4gb25seSBiZSByZWZlcmVuY2VkIHdpdGggRUNNQVNjcmlwdCBpbXBvcnRzL2V4cG9ydHMgYnkgdHVybmluZyBvbiB0aGUgJ3swfScgZmxhZyBhbmQgcmVmZXJlbmNpbmcgaXRzIGRlZmF1bHQgZXhwb3J0LlwiKSxNb2R1bGVfMF91c2VzX2V4cG9ydF9hbmRfY2Fubm90X2JlX3VzZWRfd2l0aF9leHBvcnRfQXN0ZXJpc2s6cigyNDk4LDEsXCJNb2R1bGVfMF91c2VzX2V4cG9ydF9hbmRfY2Fubm90X2JlX3VzZWRfd2l0aF9leHBvcnRfQXN0ZXJpc2tfMjQ5OFwiLFwiTW9kdWxlICd7MH0nIHVzZXMgJ2V4cG9ydCA9JyBhbmQgY2Fubm90IGJlIHVzZWQgd2l0aCAnZXhwb3J0IConLlwiKSxBbl9pbnRlcmZhY2VfY2FuX29ubHlfZXh0ZW5kX2FuX2lkZW50aWZpZXJfU2xhc2hxdWFsaWZpZWRfbmFtZV93aXRoX29wdGlvbmFsX3R5cGVfYXJndW1lbnRzOnIoMjQ5OSwxLFwiQW5faW50ZXJmYWNlX2Nhbl9vbmx5X2V4dGVuZF9hbl9pZGVudGlmaWVyX1NsYXNocXVhbGlmaWVkX25hbWVfd2l0aF9vcHRpb25hbF90eXBlX2FyZ3VtZW50c18yNDk5XCIsXCJBbiBpbnRlcmZhY2UgY2FuIG9ubHkgZXh0ZW5kIGFuIGlkZW50aWZpZXIvcXVhbGlmaWVkLW5hbWUgd2l0aCBvcHRpb25hbCB0eXBlIGFyZ3VtZW50cy5cIiksQV9jbGFzc19jYW5fb25seV9pbXBsZW1lbnRfYW5faWRlbnRpZmllcl9TbGFzaHF1YWxpZmllZF9uYW1lX3dpdGhfb3B0aW9uYWxfdHlwZV9hcmd1bWVudHM6cigyNTAwLDEsXCJBX2NsYXNzX2Nhbl9vbmx5X2ltcGxlbWVudF9hbl9pZGVudGlmaWVyX1NsYXNocXVhbGlmaWVkX25hbWVfd2l0aF9vcHRpb25hbF90eXBlX2FyZ3VtZW50c18yNTAwXCIsXCJBIGNsYXNzIGNhbiBvbmx5IGltcGxlbWVudCBhbiBpZGVudGlmaWVyL3F1YWxpZmllZC1uYW1lIHdpdGggb3B0aW9uYWwgdHlwZSBhcmd1bWVudHMuXCIpLEFfcmVzdF9lbGVtZW50X2Nhbm5vdF9jb250YWluX2FfYmluZGluZ19wYXR0ZXJuOnIoMjUwMSwxLFwiQV9yZXN0X2VsZW1lbnRfY2Fubm90X2NvbnRhaW5fYV9iaW5kaW5nX3BhdHRlcm5fMjUwMVwiLFwiQSByZXN0IGVsZW1lbnQgY2Fubm90IGNvbnRhaW4gYSBiaW5kaW5nIHBhdHRlcm4uXCIpLF8wX2lzX3JlZmVyZW5jZWRfZGlyZWN0bHlfb3JfaW5kaXJlY3RseV9pbl9pdHNfb3duX3R5cGVfYW5ub3RhdGlvbjpyKDI1MDIsMSxcIl8wX2lzX3JlZmVyZW5jZWRfZGlyZWN0bHlfb3JfaW5kaXJlY3RseV9pbl9pdHNfb3duX3R5cGVfYW5ub3RhdGlvbl8yNTAyXCIsXCInezB9JyBpcyByZWZlcmVuY2VkIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgaW4gaXRzIG93biB0eXBlIGFubm90YXRpb24uXCIpLENhbm5vdF9maW5kX25hbWVzcGFjZV8wOnIoMjUwMywxLFwiQ2Fubm90X2ZpbmRfbmFtZXNwYWNlXzBfMjUwM1wiLFwiQ2Fubm90IGZpbmQgbmFtZXNwYWNlICd7MH0nLlwiKSxUeXBlXzBfbXVzdF9oYXZlX2FfU3ltYm9sX2FzeW5jSXRlcmF0b3JfbWV0aG9kX3RoYXRfcmV0dXJuc19hbl9hc3luY19pdGVyYXRvcjpyKDI1MDQsMSxcIlR5cGVfMF9tdXN0X2hhdmVfYV9TeW1ib2xfYXN5bmNJdGVyYXRvcl9tZXRob2RfdGhhdF9yZXR1cm5zX2FuX2FzeW5jX2l0ZXJhdG9yXzI1MDRcIixcIlR5cGUgJ3swfScgbXVzdCBoYXZlIGEgJ1tTeW1ib2wuYXN5bmNJdGVyYXRvcl0oKScgbWV0aG9kIHRoYXQgcmV0dXJucyBhbiBhc3luYyBpdGVyYXRvci5cIiksQV9nZW5lcmF0b3JfY2Fubm90X2hhdmVfYV92b2lkX3R5cGVfYW5ub3RhdGlvbjpyKDI1MDUsMSxcIkFfZ2VuZXJhdG9yX2Nhbm5vdF9oYXZlX2Ffdm9pZF90eXBlX2Fubm90YXRpb25fMjUwNVwiLFwiQSBnZW5lcmF0b3IgY2Fubm90IGhhdmUgYSAndm9pZCcgdHlwZSBhbm5vdGF0aW9uLlwiKSxfMF9pc19yZWZlcmVuY2VkX2RpcmVjdGx5X29yX2luZGlyZWN0bHlfaW5faXRzX293bl9iYXNlX2V4cHJlc3Npb246cigyNTA2LDEsXCJfMF9pc19yZWZlcmVuY2VkX2RpcmVjdGx5X29yX2luZGlyZWN0bHlfaW5faXRzX293bl9iYXNlX2V4cHJlc3Npb25fMjUwNlwiLFwiJ3swfScgaXMgcmVmZXJlbmNlZCBkaXJlY3RseSBvciBpbmRpcmVjdGx5IGluIGl0cyBvd24gYmFzZSBleHByZXNzaW9uLlwiKSxUeXBlXzBfaXNfbm90X2FfY29uc3RydWN0b3JfZnVuY3Rpb25fdHlwZTpyKDI1MDcsMSxcIlR5cGVfMF9pc19ub3RfYV9jb25zdHJ1Y3Rvcl9mdW5jdGlvbl90eXBlXzI1MDdcIixcIlR5cGUgJ3swfScgaXMgbm90IGEgY29uc3RydWN0b3IgZnVuY3Rpb24gdHlwZS5cIiksTm9fYmFzZV9jb25zdHJ1Y3Rvcl9oYXNfdGhlX3NwZWNpZmllZF9udW1iZXJfb2ZfdHlwZV9hcmd1bWVudHM6cigyNTA4LDEsXCJOb19iYXNlX2NvbnN0cnVjdG9yX2hhc190aGVfc3BlY2lmaWVkX251bWJlcl9vZl90eXBlX2FyZ3VtZW50c18yNTA4XCIsXCJObyBiYXNlIGNvbnN0cnVjdG9yIGhhcyB0aGUgc3BlY2lmaWVkIG51bWJlciBvZiB0eXBlIGFyZ3VtZW50cy5cIiksQmFzZV9jb25zdHJ1Y3Rvcl9yZXR1cm5fdHlwZV8wX2lzX25vdF9hbl9vYmplY3RfdHlwZV9vcl9pbnRlcnNlY3Rpb25fb2Zfb2JqZWN0X3R5cGVzX3dpdGhfc3RhdGljYWxseV9rbm93bl9tZW1iZXJzOnIoMjUwOSwxLFwiQmFzZV9jb25zdHJ1Y3Rvcl9yZXR1cm5fdHlwZV8wX2lzX25vdF9hbl9vYmplY3RfdHlwZV9vcl9pbnRlcnNlY3Rpb25fb2Zfb2JqZWN0X3R5cGVzX3dpdGhfc3RhdGljYWxseV8yNTA5XCIsXCJCYXNlIGNvbnN0cnVjdG9yIHJldHVybiB0eXBlICd7MH0nIGlzIG5vdCBhbiBvYmplY3QgdHlwZSBvciBpbnRlcnNlY3Rpb24gb2Ygb2JqZWN0IHR5cGVzIHdpdGggc3RhdGljYWxseSBrbm93biBtZW1iZXJzLlwiKSxCYXNlX2NvbnN0cnVjdG9yc19tdXN0X2FsbF9oYXZlX3RoZV9zYW1lX3JldHVybl90eXBlOnIoMjUxMCwxLFwiQmFzZV9jb25zdHJ1Y3RvcnNfbXVzdF9hbGxfaGF2ZV90aGVfc2FtZV9yZXR1cm5fdHlwZV8yNTEwXCIsXCJCYXNlIGNvbnN0cnVjdG9ycyBtdXN0IGFsbCBoYXZlIHRoZSBzYW1lIHJldHVybiB0eXBlLlwiKSxDYW5ub3RfY3JlYXRlX2FuX2luc3RhbmNlX29mX2FuX2Fic3RyYWN0X2NsYXNzOnIoMjUxMSwxLFwiQ2Fubm90X2NyZWF0ZV9hbl9pbnN0YW5jZV9vZl9hbl9hYnN0cmFjdF9jbGFzc18yNTExXCIsXCJDYW5ub3QgY3JlYXRlIGFuIGluc3RhbmNlIG9mIGFuIGFic3RyYWN0IGNsYXNzLlwiKSxPdmVybG9hZF9zaWduYXR1cmVzX211c3RfYWxsX2JlX2Fic3RyYWN0X29yX25vbl9hYnN0cmFjdDpyKDI1MTIsMSxcIk92ZXJsb2FkX3NpZ25hdHVyZXNfbXVzdF9hbGxfYmVfYWJzdHJhY3Rfb3Jfbm9uX2Fic3RyYWN0XzI1MTJcIixcIk92ZXJsb2FkIHNpZ25hdHVyZXMgbXVzdCBhbGwgYmUgYWJzdHJhY3Qgb3Igbm9uLWFic3RyYWN0LlwiKSxBYnN0cmFjdF9tZXRob2RfMF9pbl9jbGFzc18xX2Nhbm5vdF9iZV9hY2Nlc3NlZF92aWFfc3VwZXJfZXhwcmVzc2lvbjpyKDI1MTMsMSxcIkFic3RyYWN0X21ldGhvZF8wX2luX2NsYXNzXzFfY2Fubm90X2JlX2FjY2Vzc2VkX3ZpYV9zdXBlcl9leHByZXNzaW9uXzI1MTNcIixcIkFic3RyYWN0IG1ldGhvZCAnezB9JyBpbiBjbGFzcyAnezF9JyBjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIHN1cGVyIGV4cHJlc3Npb24uXCIpLEFfdHVwbGVfdHlwZV9jYW5ub3RfYmVfaW5kZXhlZF93aXRoX2FfbmVnYXRpdmVfdmFsdWU6cigyNTE0LDEsXCJBX3R1cGxlX3R5cGVfY2Fubm90X2JlX2luZGV4ZWRfd2l0aF9hX25lZ2F0aXZlX3ZhbHVlXzI1MTRcIixcIkEgdHVwbGUgdHlwZSBjYW5ub3QgYmUgaW5kZXhlZCB3aXRoIGEgbmVnYXRpdmUgdmFsdWUuXCIpLE5vbl9hYnN0cmFjdF9jbGFzc18wX2RvZXNfbm90X2ltcGxlbWVudF9pbmhlcml0ZWRfYWJzdHJhY3RfbWVtYmVyXzFfZnJvbV9jbGFzc18yOnIoMjUxNSwxLFwiTm9uX2Fic3RyYWN0X2NsYXNzXzBfZG9lc19ub3RfaW1wbGVtZW50X2luaGVyaXRlZF9hYnN0cmFjdF9tZW1iZXJfMV9mcm9tX2NsYXNzXzJfMjUxNVwiLFwiTm9uLWFic3RyYWN0IGNsYXNzICd7MH0nIGRvZXMgbm90IGltcGxlbWVudCBpbmhlcml0ZWQgYWJzdHJhY3QgbWVtYmVyIHsxfSBmcm9tIGNsYXNzICd7Mn0nLlwiKSxBbGxfZGVjbGFyYXRpb25zX29mX2FuX2Fic3RyYWN0X21ldGhvZF9tdXN0X2JlX2NvbnNlY3V0aXZlOnIoMjUxNiwxLFwiQWxsX2RlY2xhcmF0aW9uc19vZl9hbl9hYnN0cmFjdF9tZXRob2RfbXVzdF9iZV9jb25zZWN1dGl2ZV8yNTE2XCIsXCJBbGwgZGVjbGFyYXRpb25zIG9mIGFuIGFic3RyYWN0IG1ldGhvZCBtdXN0IGJlIGNvbnNlY3V0aXZlLlwiKSxDYW5ub3RfYXNzaWduX2FuX2Fic3RyYWN0X2NvbnN0cnVjdG9yX3R5cGVfdG9fYV9ub25fYWJzdHJhY3RfY29uc3RydWN0b3JfdHlwZTpyKDI1MTcsMSxcIkNhbm5vdF9hc3NpZ25fYW5fYWJzdHJhY3RfY29uc3RydWN0b3JfdHlwZV90b19hX25vbl9hYnN0cmFjdF9jb25zdHJ1Y3Rvcl90eXBlXzI1MTdcIixcIkNhbm5vdCBhc3NpZ24gYW4gYWJzdHJhY3QgY29uc3RydWN0b3IgdHlwZSB0byBhIG5vbi1hYnN0cmFjdCBjb25zdHJ1Y3RvciB0eXBlLlwiKSxBX3RoaXNfYmFzZWRfdHlwZV9ndWFyZF9pc19ub3RfY29tcGF0aWJsZV93aXRoX2FfcGFyYW1ldGVyX2Jhc2VkX3R5cGVfZ3VhcmQ6cigyNTE4LDEsXCJBX3RoaXNfYmFzZWRfdHlwZV9ndWFyZF9pc19ub3RfY29tcGF0aWJsZV93aXRoX2FfcGFyYW1ldGVyX2Jhc2VkX3R5cGVfZ3VhcmRfMjUxOFwiLFwiQSAndGhpcyctYmFzZWQgdHlwZSBndWFyZCBpcyBub3QgY29tcGF0aWJsZSB3aXRoIGEgcGFyYW1ldGVyLWJhc2VkIHR5cGUgZ3VhcmQuXCIpLEFuX2FzeW5jX2l0ZXJhdG9yX211c3RfaGF2ZV9hX25leHRfbWV0aG9kOnIoMjUxOSwxLFwiQW5fYXN5bmNfaXRlcmF0b3JfbXVzdF9oYXZlX2FfbmV4dF9tZXRob2RfMjUxOVwiLFwiQW4gYXN5bmMgaXRlcmF0b3IgbXVzdCBoYXZlIGEgJ25leHQoKScgbWV0aG9kLlwiKSxEdXBsaWNhdGVfaWRlbnRpZmllcl8wX0NvbXBpbGVyX3VzZXNfZGVjbGFyYXRpb25fMV90b19zdXBwb3J0X2FzeW5jX2Z1bmN0aW9uczpyKDI1MjAsMSxcIkR1cGxpY2F0ZV9pZGVudGlmaWVyXzBfQ29tcGlsZXJfdXNlc19kZWNsYXJhdGlvbl8xX3RvX3N1cHBvcnRfYXN5bmNfZnVuY3Rpb25zXzI1MjBcIixcIkR1cGxpY2F0ZSBpZGVudGlmaWVyICd7MH0nLiBDb21waWxlciB1c2VzIGRlY2xhcmF0aW9uICd7MX0nIHRvIHN1cHBvcnQgYXN5bmMgZnVuY3Rpb25zLlwiKSxUaGVfYXJndW1lbnRzX29iamVjdF9jYW5ub3RfYmVfcmVmZXJlbmNlZF9pbl9hbl9hc3luY19mdW5jdGlvbl9vcl9tZXRob2RfaW5fRVM1X0NvbnNpZGVyX3VzaW5nX2Ffc3RhbmRhcmRfZnVuY3Rpb25fb3JfbWV0aG9kOnIoMjUyMiwxLFwiVGhlX2FyZ3VtZW50c19vYmplY3RfY2Fubm90X2JlX3JlZmVyZW5jZWRfaW5fYW5fYXN5bmNfZnVuY3Rpb25fb3JfbWV0aG9kX2luX0VTNV9Db25zaWRlcl91c2luZ19hX3N0YV8yNTIyXCIsXCJUaGUgJ2FyZ3VtZW50cycgb2JqZWN0IGNhbm5vdCBiZSByZWZlcmVuY2VkIGluIGFuIGFzeW5jIGZ1bmN0aW9uIG9yIG1ldGhvZCBpbiBFUzUuIENvbnNpZGVyIHVzaW5nIGEgc3RhbmRhcmQgZnVuY3Rpb24gb3IgbWV0aG9kLlwiKSx5aWVsZF9leHByZXNzaW9uc19jYW5ub3RfYmVfdXNlZF9pbl9hX3BhcmFtZXRlcl9pbml0aWFsaXplcjpyKDI1MjMsMSxcInlpZWxkX2V4cHJlc3Npb25zX2Nhbm5vdF9iZV91c2VkX2luX2FfcGFyYW1ldGVyX2luaXRpYWxpemVyXzI1MjNcIixcIid5aWVsZCcgZXhwcmVzc2lvbnMgY2Fubm90IGJlIHVzZWQgaW4gYSBwYXJhbWV0ZXIgaW5pdGlhbGl6ZXIuXCIpLGF3YWl0X2V4cHJlc3Npb25zX2Nhbm5vdF9iZV91c2VkX2luX2FfcGFyYW1ldGVyX2luaXRpYWxpemVyOnIoMjUyNCwxLFwiYXdhaXRfZXhwcmVzc2lvbnNfY2Fubm90X2JlX3VzZWRfaW5fYV9wYXJhbWV0ZXJfaW5pdGlhbGl6ZXJfMjUyNFwiLFwiJ2F3YWl0JyBleHByZXNzaW9ucyBjYW5ub3QgYmUgdXNlZCBpbiBhIHBhcmFtZXRlciBpbml0aWFsaXplci5cIiksQV90aGlzX3R5cGVfaXNfYXZhaWxhYmxlX29ubHlfaW5fYV9ub25fc3RhdGljX21lbWJlcl9vZl9hX2NsYXNzX29yX2ludGVyZmFjZTpyKDI1MjYsMSxcIkFfdGhpc190eXBlX2lzX2F2YWlsYWJsZV9vbmx5X2luX2Ffbm9uX3N0YXRpY19tZW1iZXJfb2ZfYV9jbGFzc19vcl9pbnRlcmZhY2VfMjUyNlwiLFwiQSAndGhpcycgdHlwZSBpcyBhdmFpbGFibGUgb25seSBpbiBhIG5vbi1zdGF0aWMgbWVtYmVyIG9mIGEgY2xhc3Mgb3IgaW50ZXJmYWNlLlwiKSxUaGVfaW5mZXJyZWRfdHlwZV9vZl8wX3JlZmVyZW5jZXNfYW5faW5hY2Nlc3NpYmxlXzFfdHlwZV9BX3R5cGVfYW5ub3RhdGlvbl9pc19uZWNlc3Nhcnk6cigyNTI3LDEsXCJUaGVfaW5mZXJyZWRfdHlwZV9vZl8wX3JlZmVyZW5jZXNfYW5faW5hY2Nlc3NpYmxlXzFfdHlwZV9BX3R5cGVfYW5ub3RhdGlvbl9pc19uZWNlc3NhcnlfMjUyN1wiLFwiVGhlIGluZmVycmVkIHR5cGUgb2YgJ3swfScgcmVmZXJlbmNlcyBhbiBpbmFjY2Vzc2libGUgJ3sxfScgdHlwZS4gQSB0eXBlIGFubm90YXRpb24gaXMgbmVjZXNzYXJ5LlwiKSxBX21vZHVsZV9jYW5ub3RfaGF2ZV9tdWx0aXBsZV9kZWZhdWx0X2V4cG9ydHM6cigyNTI4LDEsXCJBX21vZHVsZV9jYW5ub3RfaGF2ZV9tdWx0aXBsZV9kZWZhdWx0X2V4cG9ydHNfMjUyOFwiLFwiQSBtb2R1bGUgY2Fubm90IGhhdmUgbXVsdGlwbGUgZGVmYXVsdCBleHBvcnRzLlwiKSxEdXBsaWNhdGVfaWRlbnRpZmllcl8wX0NvbXBpbGVyX3Jlc2VydmVzX25hbWVfMV9pbl90b3BfbGV2ZWxfc2NvcGVfb2ZfYV9tb2R1bGVfY29udGFpbmluZ19hc3luY19mdW5jdGlvbnM6cigyNTI5LDEsXCJEdXBsaWNhdGVfaWRlbnRpZmllcl8wX0NvbXBpbGVyX3Jlc2VydmVzX25hbWVfMV9pbl90b3BfbGV2ZWxfc2NvcGVfb2ZfYV9tb2R1bGVfY29udGFpbmluZ19hc3luY19mdW5jXzI1MjlcIixcIkR1cGxpY2F0ZSBpZGVudGlmaWVyICd7MH0nLiBDb21waWxlciByZXNlcnZlcyBuYW1lICd7MX0nIGluIHRvcCBsZXZlbCBzY29wZSBvZiBhIG1vZHVsZSBjb250YWluaW5nIGFzeW5jIGZ1bmN0aW9ucy5cIiksUHJvcGVydHlfMF9pc19pbmNvbXBhdGlibGVfd2l0aF9pbmRleF9zaWduYXR1cmU6cigyNTMwLDEsXCJQcm9wZXJ0eV8wX2lzX2luY29tcGF0aWJsZV93aXRoX2luZGV4X3NpZ25hdHVyZV8yNTMwXCIsXCJQcm9wZXJ0eSAnezB9JyBpcyBpbmNvbXBhdGlibGUgd2l0aCBpbmRleCBzaWduYXR1cmUuXCIpLE9iamVjdF9pc19wb3NzaWJseV9udWxsOnIoMjUzMSwxLFwiT2JqZWN0X2lzX3Bvc3NpYmx5X251bGxfMjUzMVwiLFwiT2JqZWN0IGlzIHBvc3NpYmx5ICdudWxsJy5cIiksT2JqZWN0X2lzX3Bvc3NpYmx5X3VuZGVmaW5lZDpyKDI1MzIsMSxcIk9iamVjdF9pc19wb3NzaWJseV91bmRlZmluZWRfMjUzMlwiLFwiT2JqZWN0IGlzIHBvc3NpYmx5ICd1bmRlZmluZWQnLlwiKSxPYmplY3RfaXNfcG9zc2libHlfbnVsbF9vcl91bmRlZmluZWQ6cigyNTMzLDEsXCJPYmplY3RfaXNfcG9zc2libHlfbnVsbF9vcl91bmRlZmluZWRfMjUzM1wiLFwiT2JqZWN0IGlzIHBvc3NpYmx5ICdudWxsJyBvciAndW5kZWZpbmVkJy5cIiksQV9mdW5jdGlvbl9yZXR1cm5pbmdfbmV2ZXJfY2Fubm90X2hhdmVfYV9yZWFjaGFibGVfZW5kX3BvaW50OnIoMjUzNCwxLFwiQV9mdW5jdGlvbl9yZXR1cm5pbmdfbmV2ZXJfY2Fubm90X2hhdmVfYV9yZWFjaGFibGVfZW5kX3BvaW50XzI1MzRcIixcIkEgZnVuY3Rpb24gcmV0dXJuaW5nICduZXZlcicgY2Fubm90IGhhdmUgYSByZWFjaGFibGUgZW5kIHBvaW50LlwiKSxUeXBlXzBfY2Fubm90X2JlX3VzZWRfdG9faW5kZXhfdHlwZV8xOnIoMjUzNiwxLFwiVHlwZV8wX2Nhbm5vdF9iZV91c2VkX3RvX2luZGV4X3R5cGVfMV8yNTM2XCIsXCJUeXBlICd7MH0nIGNhbm5vdCBiZSB1c2VkIHRvIGluZGV4IHR5cGUgJ3sxfScuXCIpLFR5cGVfMF9oYXNfbm9fbWF0Y2hpbmdfaW5kZXhfc2lnbmF0dXJlX2Zvcl90eXBlXzE6cigyNTM3LDEsXCJUeXBlXzBfaGFzX25vX21hdGNoaW5nX2luZGV4X3NpZ25hdHVyZV9mb3JfdHlwZV8xXzI1MzdcIixcIlR5cGUgJ3swfScgaGFzIG5vIG1hdGNoaW5nIGluZGV4IHNpZ25hdHVyZSBmb3IgdHlwZSAnezF9Jy5cIiksVHlwZV8wX2Nhbm5vdF9iZV91c2VkX2FzX2FuX2luZGV4X3R5cGU6cigyNTM4LDEsXCJUeXBlXzBfY2Fubm90X2JlX3VzZWRfYXNfYW5faW5kZXhfdHlwZV8yNTM4XCIsXCJUeXBlICd7MH0nIGNhbm5vdCBiZSB1c2VkIGFzIGFuIGluZGV4IHR5cGUuXCIpLENhbm5vdF9hc3NpZ25fdG9fMF9iZWNhdXNlX2l0X2lzX25vdF9hX3ZhcmlhYmxlOnIoMjUzOSwxLFwiQ2Fubm90X2Fzc2lnbl90b18wX2JlY2F1c2VfaXRfaXNfbm90X2FfdmFyaWFibGVfMjUzOVwiLFwiQ2Fubm90IGFzc2lnbiB0byAnezB9JyBiZWNhdXNlIGl0IGlzIG5vdCBhIHZhcmlhYmxlLlwiKSxDYW5ub3RfYXNzaWduX3RvXzBfYmVjYXVzZV9pdF9pc19hX3JlYWRfb25seV9wcm9wZXJ0eTpyKDI1NDAsMSxcIkNhbm5vdF9hc3NpZ25fdG9fMF9iZWNhdXNlX2l0X2lzX2FfcmVhZF9vbmx5X3Byb3BlcnR5XzI1NDBcIixcIkNhbm5vdCBhc3NpZ24gdG8gJ3swfScgYmVjYXVzZSBpdCBpcyBhIHJlYWQtb25seSBwcm9wZXJ0eS5cIiksSW5kZXhfc2lnbmF0dXJlX2luX3R5cGVfMF9vbmx5X3Blcm1pdHNfcmVhZGluZzpyKDI1NDIsMSxcIkluZGV4X3NpZ25hdHVyZV9pbl90eXBlXzBfb25seV9wZXJtaXRzX3JlYWRpbmdfMjU0MlwiLFwiSW5kZXggc2lnbmF0dXJlIGluIHR5cGUgJ3swfScgb25seSBwZXJtaXRzIHJlYWRpbmcuXCIpLER1cGxpY2F0ZV9pZGVudGlmaWVyX25ld1RhcmdldF9Db21waWxlcl91c2VzX3ZhcmlhYmxlX2RlY2xhcmF0aW9uX25ld1RhcmdldF90b19jYXB0dXJlX25ld190YXJnZXRfbWV0YV9wcm9wZXJ0eV9yZWZlcmVuY2U6cigyNTQzLDEsXCJEdXBsaWNhdGVfaWRlbnRpZmllcl9uZXdUYXJnZXRfQ29tcGlsZXJfdXNlc192YXJpYWJsZV9kZWNsYXJhdGlvbl9uZXdUYXJnZXRfdG9fY2FwdHVyZV9uZXdfdGFyZ2V0X21lXzI1NDNcIixcIkR1cGxpY2F0ZSBpZGVudGlmaWVyICdfbmV3VGFyZ2V0Jy4gQ29tcGlsZXIgdXNlcyB2YXJpYWJsZSBkZWNsYXJhdGlvbiAnX25ld1RhcmdldCcgdG8gY2FwdHVyZSAnbmV3LnRhcmdldCcgbWV0YS1wcm9wZXJ0eSByZWZlcmVuY2UuXCIpLEV4cHJlc3Npb25fcmVzb2x2ZXNfdG9fdmFyaWFibGVfZGVjbGFyYXRpb25fbmV3VGFyZ2V0X3RoYXRfY29tcGlsZXJfdXNlc190b19jYXB0dXJlX25ld190YXJnZXRfbWV0YV9wcm9wZXJ0eV9yZWZlcmVuY2U6cigyNTQ0LDEsXCJFeHByZXNzaW9uX3Jlc29sdmVzX3RvX3ZhcmlhYmxlX2RlY2xhcmF0aW9uX25ld1RhcmdldF90aGF0X2NvbXBpbGVyX3VzZXNfdG9fY2FwdHVyZV9uZXdfdGFyZ2V0X21ldGFfXzI1NDRcIixcIkV4cHJlc3Npb24gcmVzb2x2ZXMgdG8gdmFyaWFibGUgZGVjbGFyYXRpb24gJ19uZXdUYXJnZXQnIHRoYXQgY29tcGlsZXIgdXNlcyB0byBjYXB0dXJlICduZXcudGFyZ2V0JyBtZXRhLXByb3BlcnR5IHJlZmVyZW5jZS5cIiksQV9taXhpbl9jbGFzc19tdXN0X2hhdmVfYV9jb25zdHJ1Y3Rvcl93aXRoX2Ffc2luZ2xlX3Jlc3RfcGFyYW1ldGVyX29mX3R5cGVfYW55OnIoMjU0NSwxLFwiQV9taXhpbl9jbGFzc19tdXN0X2hhdmVfYV9jb25zdHJ1Y3Rvcl93aXRoX2Ffc2luZ2xlX3Jlc3RfcGFyYW1ldGVyX29mX3R5cGVfYW55XzI1NDVcIixcIkEgbWl4aW4gY2xhc3MgbXVzdCBoYXZlIGEgY29uc3RydWN0b3Igd2l0aCBhIHNpbmdsZSByZXN0IHBhcmFtZXRlciBvZiB0eXBlICdhbnlbXScuXCIpLFRoZV90eXBlX3JldHVybmVkX2J5X3RoZV8wX21ldGhvZF9vZl9hbl9hc3luY19pdGVyYXRvcl9tdXN0X2JlX2FfcHJvbWlzZV9mb3JfYV90eXBlX3dpdGhfYV92YWx1ZV9wcm9wZXJ0eTpyKDI1NDcsMSxcIlRoZV90eXBlX3JldHVybmVkX2J5X3RoZV8wX21ldGhvZF9vZl9hbl9hc3luY19pdGVyYXRvcl9tdXN0X2JlX2FfcHJvbWlzZV9mb3JfYV90eXBlX3dpdGhfYV92YWx1ZV9wcm9fMjU0N1wiLFwiVGhlIHR5cGUgcmV0dXJuZWQgYnkgdGhlICd7MH0oKScgbWV0aG9kIG9mIGFuIGFzeW5jIGl0ZXJhdG9yIG11c3QgYmUgYSBwcm9taXNlIGZvciBhIHR5cGUgd2l0aCBhICd2YWx1ZScgcHJvcGVydHkuXCIpLFR5cGVfMF9pc19ub3RfYW5fYXJyYXlfdHlwZV9vcl9kb2VzX25vdF9oYXZlX2FfU3ltYm9sX2l0ZXJhdG9yX21ldGhvZF90aGF0X3JldHVybnNfYW5faXRlcmF0b3I6cigyNTQ4LDEsXCJUeXBlXzBfaXNfbm90X2FuX2FycmF5X3R5cGVfb3JfZG9lc19ub3RfaGF2ZV9hX1N5bWJvbF9pdGVyYXRvcl9tZXRob2RfdGhhdF9yZXR1cm5zX2FuX2l0ZXJhdG9yXzI1NDhcIixcIlR5cGUgJ3swfScgaXMgbm90IGFuIGFycmF5IHR5cGUgb3IgZG9lcyBub3QgaGF2ZSBhICdbU3ltYm9sLml0ZXJhdG9yXSgpJyBtZXRob2QgdGhhdCByZXR1cm5zIGFuIGl0ZXJhdG9yLlwiKSxUeXBlXzBfaXNfbm90X2FuX2FycmF5X3R5cGVfb3JfYV9zdHJpbmdfdHlwZV9vcl9kb2VzX25vdF9oYXZlX2FfU3ltYm9sX2l0ZXJhdG9yX21ldGhvZF90aGF0X3JldHVybnNfYW5faXRlcmF0b3I6cigyNTQ5LDEsXCJUeXBlXzBfaXNfbm90X2FuX2FycmF5X3R5cGVfb3JfYV9zdHJpbmdfdHlwZV9vcl9kb2VzX25vdF9oYXZlX2FfU3ltYm9sX2l0ZXJhdG9yX21ldGhvZF90aGF0X3JldHVybnNfXzI1NDlcIixcIlR5cGUgJ3swfScgaXMgbm90IGFuIGFycmF5IHR5cGUgb3IgYSBzdHJpbmcgdHlwZSBvciBkb2VzIG5vdCBoYXZlIGEgJ1tTeW1ib2wuaXRlcmF0b3JdKCknIG1ldGhvZCB0aGF0IHJldHVybnMgYW4gaXRlcmF0b3IuXCIpLFByb3BlcnR5XzBfZG9lc19ub3RfZXhpc3Rfb25fdHlwZV8xX0RvX3lvdV9uZWVkX3RvX2NoYW5nZV95b3VyX3RhcmdldF9saWJyYXJ5X1RyeV9jaGFuZ2luZ190aGVfbGliX2NvbXBpbGVyX29wdGlvbl90b18yX29yX2xhdGVyOnIoMjU1MCwxLFwiUHJvcGVydHlfMF9kb2VzX25vdF9leGlzdF9vbl90eXBlXzFfRG9feW91X25lZWRfdG9fY2hhbmdlX3lvdXJfdGFyZ2V0X2xpYnJhcnlfVHJ5X2NoYW5naW5nX3RoZV9saWJfY18yNTUwXCIsXCJQcm9wZXJ0eSAnezB9JyBkb2VzIG5vdCBleGlzdCBvbiB0eXBlICd7MX0nLiBEbyB5b3UgbmVlZCB0byBjaGFuZ2UgeW91ciB0YXJnZXQgbGlicmFyeT8gVHJ5IGNoYW5naW5nIHRoZSAnbGliJyBjb21waWxlciBvcHRpb24gdG8gJ3syfScgb3IgbGF0ZXIuXCIpLFByb3BlcnR5XzBfZG9lc19ub3RfZXhpc3Rfb25fdHlwZV8xX0RpZF95b3VfbWVhbl8yOnIoMjU1MSwxLFwiUHJvcGVydHlfMF9kb2VzX25vdF9leGlzdF9vbl90eXBlXzFfRGlkX3lvdV9tZWFuXzJfMjU1MVwiLFwiUHJvcGVydHkgJ3swfScgZG9lcyBub3QgZXhpc3Qgb24gdHlwZSAnezF9Jy4gRGlkIHlvdSBtZWFuICd7Mn0nP1wiKSxDYW5ub3RfZmluZF9uYW1lXzBfRGlkX3lvdV9tZWFuXzE6cigyNTUyLDEsXCJDYW5ub3RfZmluZF9uYW1lXzBfRGlkX3lvdV9tZWFuXzFfMjU1MlwiLFwiQ2Fubm90IGZpbmQgbmFtZSAnezB9Jy4gRGlkIHlvdSBtZWFuICd7MX0nP1wiKSxDb21wdXRlZF92YWx1ZXNfYXJlX25vdF9wZXJtaXR0ZWRfaW5fYW5fZW51bV93aXRoX3N0cmluZ192YWx1ZWRfbWVtYmVyczpyKDI1NTMsMSxcIkNvbXB1dGVkX3ZhbHVlc19hcmVfbm90X3Blcm1pdHRlZF9pbl9hbl9lbnVtX3dpdGhfc3RyaW5nX3ZhbHVlZF9tZW1iZXJzXzI1NTNcIixcIkNvbXB1dGVkIHZhbHVlcyBhcmUgbm90IHBlcm1pdHRlZCBpbiBhbiBlbnVtIHdpdGggc3RyaW5nIHZhbHVlZCBtZW1iZXJzLlwiKSxFeHBlY3RlZF8wX2FyZ3VtZW50c19idXRfZ290XzE6cigyNTU0LDEsXCJFeHBlY3RlZF8wX2FyZ3VtZW50c19idXRfZ290XzFfMjU1NFwiLFwiRXhwZWN0ZWQgezB9IGFyZ3VtZW50cywgYnV0IGdvdCB7MX0uXCIpLEV4cGVjdGVkX2F0X2xlYXN0XzBfYXJndW1lbnRzX2J1dF9nb3RfMTpyKDI1NTUsMSxcIkV4cGVjdGVkX2F0X2xlYXN0XzBfYXJndW1lbnRzX2J1dF9nb3RfMV8yNTU1XCIsXCJFeHBlY3RlZCBhdCBsZWFzdCB7MH0gYXJndW1lbnRzLCBidXQgZ290IHsxfS5cIiksQV9zcHJlYWRfYXJndW1lbnRfbXVzdF9laXRoZXJfaGF2ZV9hX3R1cGxlX3R5cGVfb3JfYmVfcGFzc2VkX3RvX2FfcmVzdF9wYXJhbWV0ZXI6cigyNTU2LDEsXCJBX3NwcmVhZF9hcmd1bWVudF9tdXN0X2VpdGhlcl9oYXZlX2FfdHVwbGVfdHlwZV9vcl9iZV9wYXNzZWRfdG9fYV9yZXN0X3BhcmFtZXRlcl8yNTU2XCIsXCJBIHNwcmVhZCBhcmd1bWVudCBtdXN0IGVpdGhlciBoYXZlIGEgdHVwbGUgdHlwZSBvciBiZSBwYXNzZWQgdG8gYSByZXN0IHBhcmFtZXRlci5cIiksRXhwZWN0ZWRfMF90eXBlX2FyZ3VtZW50c19idXRfZ290XzE6cigyNTU4LDEsXCJFeHBlY3RlZF8wX3R5cGVfYXJndW1lbnRzX2J1dF9nb3RfMV8yNTU4XCIsXCJFeHBlY3RlZCB7MH0gdHlwZSBhcmd1bWVudHMsIGJ1dCBnb3QgezF9LlwiKSxUeXBlXzBfaGFzX25vX3Byb3BlcnRpZXNfaW5fY29tbW9uX3dpdGhfdHlwZV8xOnIoMjU1OSwxLFwiVHlwZV8wX2hhc19ub19wcm9wZXJ0aWVzX2luX2NvbW1vbl93aXRoX3R5cGVfMV8yNTU5XCIsXCJUeXBlICd7MH0nIGhhcyBubyBwcm9wZXJ0aWVzIGluIGNvbW1vbiB3aXRoIHR5cGUgJ3sxfScuXCIpLFZhbHVlX29mX3R5cGVfMF9oYXNfbm9fcHJvcGVydGllc19pbl9jb21tb25fd2l0aF90eXBlXzFfRGlkX3lvdV9tZWFuX3RvX2NhbGxfaXQ6cigyNTYwLDEsXCJWYWx1ZV9vZl90eXBlXzBfaGFzX25vX3Byb3BlcnRpZXNfaW5fY29tbW9uX3dpdGhfdHlwZV8xX0RpZF95b3VfbWVhbl90b19jYWxsX2l0XzI1NjBcIixcIlZhbHVlIG9mIHR5cGUgJ3swfScgaGFzIG5vIHByb3BlcnRpZXMgaW4gY29tbW9uIHdpdGggdHlwZSAnezF9Jy4gRGlkIHlvdSBtZWFuIHRvIGNhbGwgaXQ/XCIpLE9iamVjdF9saXRlcmFsX21heV9vbmx5X3NwZWNpZnlfa25vd25fcHJvcGVydGllc19idXRfMF9kb2VzX25vdF9leGlzdF9pbl90eXBlXzFfRGlkX3lvdV9tZWFuX3RvX3dyaXRlXzI6cigyNTYxLDEsXCJPYmplY3RfbGl0ZXJhbF9tYXlfb25seV9zcGVjaWZ5X2tub3duX3Byb3BlcnRpZXNfYnV0XzBfZG9lc19ub3RfZXhpc3RfaW5fdHlwZV8xX0RpZF95b3VfbWVhbl90b193cml0XzI1NjFcIixcIk9iamVjdCBsaXRlcmFsIG1heSBvbmx5IHNwZWNpZnkga25vd24gcHJvcGVydGllcywgYnV0ICd7MH0nIGRvZXMgbm90IGV4aXN0IGluIHR5cGUgJ3sxfScuIERpZCB5b3UgbWVhbiB0byB3cml0ZSAnezJ9Jz9cIiksQmFzZV9jbGFzc19leHByZXNzaW9uc19jYW5ub3RfcmVmZXJlbmNlX2NsYXNzX3R5cGVfcGFyYW1ldGVyczpyKDI1NjIsMSxcIkJhc2VfY2xhc3NfZXhwcmVzc2lvbnNfY2Fubm90X3JlZmVyZW5jZV9jbGFzc190eXBlX3BhcmFtZXRlcnNfMjU2MlwiLFwiQmFzZSBjbGFzcyBleHByZXNzaW9ucyBjYW5ub3QgcmVmZXJlbmNlIGNsYXNzIHR5cGUgcGFyYW1ldGVycy5cIiksVGhlX2NvbnRhaW5pbmdfZnVuY3Rpb25fb3JfbW9kdWxlX2JvZHlfaXNfdG9vX2xhcmdlX2Zvcl9jb250cm9sX2Zsb3dfYW5hbHlzaXM6cigyNTYzLDEsXCJUaGVfY29udGFpbmluZ19mdW5jdGlvbl9vcl9tb2R1bGVfYm9keV9pc190b29fbGFyZ2VfZm9yX2NvbnRyb2xfZmxvd19hbmFseXNpc18yNTYzXCIsXCJUaGUgY29udGFpbmluZyBmdW5jdGlvbiBvciBtb2R1bGUgYm9keSBpcyB0b28gbGFyZ2UgZm9yIGNvbnRyb2wgZmxvdyBhbmFseXNpcy5cIiksUHJvcGVydHlfMF9oYXNfbm9faW5pdGlhbGl6ZXJfYW5kX2lzX25vdF9kZWZpbml0ZWx5X2Fzc2lnbmVkX2luX3RoZV9jb25zdHJ1Y3RvcjpyKDI1NjQsMSxcIlByb3BlcnR5XzBfaGFzX25vX2luaXRpYWxpemVyX2FuZF9pc19ub3RfZGVmaW5pdGVseV9hc3NpZ25lZF9pbl90aGVfY29uc3RydWN0b3JfMjU2NFwiLFwiUHJvcGVydHkgJ3swfScgaGFzIG5vIGluaXRpYWxpemVyIGFuZCBpcyBub3QgZGVmaW5pdGVseSBhc3NpZ25lZCBpbiB0aGUgY29uc3RydWN0b3IuXCIpLFByb3BlcnR5XzBfaXNfdXNlZF9iZWZvcmVfYmVpbmdfYXNzaWduZWQ6cigyNTY1LDEsXCJQcm9wZXJ0eV8wX2lzX3VzZWRfYmVmb3JlX2JlaW5nX2Fzc2lnbmVkXzI1NjVcIixcIlByb3BlcnR5ICd7MH0nIGlzIHVzZWQgYmVmb3JlIGJlaW5nIGFzc2lnbmVkLlwiKSxBX3Jlc3RfZWxlbWVudF9jYW5ub3RfaGF2ZV9hX3Byb3BlcnR5X25hbWU6cigyNTY2LDEsXCJBX3Jlc3RfZWxlbWVudF9jYW5ub3RfaGF2ZV9hX3Byb3BlcnR5X25hbWVfMjU2NlwiLFwiQSByZXN0IGVsZW1lbnQgY2Fubm90IGhhdmUgYSBwcm9wZXJ0eSBuYW1lLlwiKSxFbnVtX2RlY2xhcmF0aW9uc19jYW5fb25seV9tZXJnZV93aXRoX25hbWVzcGFjZV9vcl9vdGhlcl9lbnVtX2RlY2xhcmF0aW9uczpyKDI1NjcsMSxcIkVudW1fZGVjbGFyYXRpb25zX2Nhbl9vbmx5X21lcmdlX3dpdGhfbmFtZXNwYWNlX29yX290aGVyX2VudW1fZGVjbGFyYXRpb25zXzI1NjdcIixcIkVudW0gZGVjbGFyYXRpb25zIGNhbiBvbmx5IG1lcmdlIHdpdGggbmFtZXNwYWNlIG9yIG90aGVyIGVudW0gZGVjbGFyYXRpb25zLlwiKSxQcm9wZXJ0eV8wX21heV9ub3RfZXhpc3Rfb25fdHlwZV8xX0RpZF95b3VfbWVhbl8yOnIoMjU2OCwxLFwiUHJvcGVydHlfMF9tYXlfbm90X2V4aXN0X29uX3R5cGVfMV9EaWRfeW91X21lYW5fMl8yNTY4XCIsXCJQcm9wZXJ0eSAnezB9JyBtYXkgbm90IGV4aXN0IG9uIHR5cGUgJ3sxfScuIERpZCB5b3UgbWVhbiAnezJ9Jz9cIiksQ291bGRfbm90X2ZpbmRfbmFtZV8wX0RpZF95b3VfbWVhbl8xOnIoMjU3MCwxLFwiQ291bGRfbm90X2ZpbmRfbmFtZV8wX0RpZF95b3VfbWVhbl8xXzI1NzBcIixcIkNvdWxkIG5vdCBmaW5kIG5hbWUgJ3swfScuIERpZCB5b3UgbWVhbiAnezF9Jz9cIiksT2JqZWN0X2lzX29mX3R5cGVfdW5rbm93bjpyKDI1NzEsMSxcIk9iamVjdF9pc19vZl90eXBlX3Vua25vd25fMjU3MVwiLFwiT2JqZWN0IGlzIG9mIHR5cGUgJ3Vua25vd24nLlwiKSxBX3Jlc3RfZWxlbWVudF90eXBlX211c3RfYmVfYW5fYXJyYXlfdHlwZTpyKDI1NzQsMSxcIkFfcmVzdF9lbGVtZW50X3R5cGVfbXVzdF9iZV9hbl9hcnJheV90eXBlXzI1NzRcIixcIkEgcmVzdCBlbGVtZW50IHR5cGUgbXVzdCBiZSBhbiBhcnJheSB0eXBlLlwiKSxOb19vdmVybG9hZF9leHBlY3RzXzBfYXJndW1lbnRzX2J1dF9vdmVybG9hZHNfZG9fZXhpc3RfdGhhdF9leHBlY3RfZWl0aGVyXzFfb3JfMl9hcmd1bWVudHM6cigyNTc1LDEsXCJOb19vdmVybG9hZF9leHBlY3RzXzBfYXJndW1lbnRzX2J1dF9vdmVybG9hZHNfZG9fZXhpc3RfdGhhdF9leHBlY3RfZWl0aGVyXzFfb3JfMl9hcmd1bWVudHNfMjU3NVwiLFwiTm8gb3ZlcmxvYWQgZXhwZWN0cyB7MH0gYXJndW1lbnRzLCBidXQgb3ZlcmxvYWRzIGRvIGV4aXN0IHRoYXQgZXhwZWN0IGVpdGhlciB7MX0gb3IgezJ9IGFyZ3VtZW50cy5cIiksUHJvcGVydHlfMF9kb2VzX25vdF9leGlzdF9vbl90eXBlXzFfRGlkX3lvdV9tZWFuX3RvX2FjY2Vzc190aGVfc3RhdGljX21lbWJlcl8yX2luc3RlYWQ6cigyNTc2LDEsXCJQcm9wZXJ0eV8wX2RvZXNfbm90X2V4aXN0X29uX3R5cGVfMV9EaWRfeW91X21lYW5fdG9fYWNjZXNzX3RoZV9zdGF0aWNfbWVtYmVyXzJfaW5zdGVhZF8yNTc2XCIsXCJQcm9wZXJ0eSAnezB9JyBkb2VzIG5vdCBleGlzdCBvbiB0eXBlICd7MX0nLiBEaWQgeW91IG1lYW4gdG8gYWNjZXNzIHRoZSBzdGF0aWMgbWVtYmVyICd7Mn0nIGluc3RlYWQ/XCIpLFJldHVybl90eXBlX2Fubm90YXRpb25fY2lyY3VsYXJseV9yZWZlcmVuY2VzX2l0c2VsZjpyKDI1NzcsMSxcIlJldHVybl90eXBlX2Fubm90YXRpb25fY2lyY3VsYXJseV9yZWZlcmVuY2VzX2l0c2VsZl8yNTc3XCIsXCJSZXR1cm4gdHlwZSBhbm5vdGF0aW9uIGNpcmN1bGFybHkgcmVmZXJlbmNlcyBpdHNlbGYuXCIpLFVudXNlZF90c19leHBlY3RfZXJyb3JfZGlyZWN0aXZlOnIoMjU3OCwxLFwiVW51c2VkX3RzX2V4cGVjdF9lcnJvcl9kaXJlY3RpdmVfMjU3OFwiLFwiVW51c2VkICdAdHMtZXhwZWN0LWVycm9yJyBkaXJlY3RpdmUuXCIpLENhbm5vdF9maW5kX25hbWVfMF9Eb195b3VfbmVlZF90b19pbnN0YWxsX3R5cGVfZGVmaW5pdGlvbnNfZm9yX25vZGVfVHJ5X25wbV9pX3NhdmVfZGV2X3R5cGVzX1NsYXNobm9kZTpyKDI1ODAsMSxcIkNhbm5vdF9maW5kX25hbWVfMF9Eb195b3VfbmVlZF90b19pbnN0YWxsX3R5cGVfZGVmaW5pdGlvbnNfZm9yX25vZGVfVHJ5X25wbV9pX3NhdmVfZGV2X3R5cGVzX1NsYXNobm9fMjU4MFwiLFwiQ2Fubm90IGZpbmQgbmFtZSAnezB9Jy4gRG8geW91IG5lZWQgdG8gaW5zdGFsbCB0eXBlIGRlZmluaXRpb25zIGZvciBub2RlPyBUcnkgYG5wbSBpIC0tc2F2ZS1kZXYgQHR5cGVzL25vZGVgLlwiKSxDYW5ub3RfZmluZF9uYW1lXzBfRG9feW91X25lZWRfdG9faW5zdGFsbF90eXBlX2RlZmluaXRpb25zX2Zvcl9qUXVlcnlfVHJ5X25wbV9pX3NhdmVfZGV2X3R5cGVzX1NsYXNoanF1ZXJ5OnIoMjU4MSwxLFwiQ2Fubm90X2ZpbmRfbmFtZV8wX0RvX3lvdV9uZWVkX3RvX2luc3RhbGxfdHlwZV9kZWZpbml0aW9uc19mb3JfalF1ZXJ5X1RyeV9ucG1faV9zYXZlX2Rldl90eXBlc19TbGFzaF8yNTgxXCIsXCJDYW5ub3QgZmluZCBuYW1lICd7MH0nLiBEbyB5b3UgbmVlZCB0byBpbnN0YWxsIHR5cGUgZGVmaW5pdGlvbnMgZm9yIGpRdWVyeT8gVHJ5IGBucG0gaSAtLXNhdmUtZGV2IEB0eXBlcy9qcXVlcnlgLlwiKSxDYW5ub3RfZmluZF9uYW1lXzBfRG9feW91X25lZWRfdG9faW5zdGFsbF90eXBlX2RlZmluaXRpb25zX2Zvcl9hX3Rlc3RfcnVubmVyX1RyeV9ucG1faV9zYXZlX2Rldl90eXBlc19TbGFzaGplc3Rfb3JfbnBtX2lfc2F2ZV9kZXZfdHlwZXNfU2xhc2htb2NoYTpyKDI1ODIsMSxcIkNhbm5vdF9maW5kX25hbWVfMF9Eb195b3VfbmVlZF90b19pbnN0YWxsX3R5cGVfZGVmaW5pdGlvbnNfZm9yX2FfdGVzdF9ydW5uZXJfVHJ5X25wbV9pX3NhdmVfZGV2X3R5cGVfMjU4MlwiLFwiQ2Fubm90IGZpbmQgbmFtZSAnezB9Jy4gRG8geW91IG5lZWQgdG8gaW5zdGFsbCB0eXBlIGRlZmluaXRpb25zIGZvciBhIHRlc3QgcnVubmVyPyBUcnkgYG5wbSBpIC0tc2F2ZS1kZXYgQHR5cGVzL2plc3RgIG9yIGBucG0gaSAtLXNhdmUtZGV2IEB0eXBlcy9tb2NoYWAuXCIpLENhbm5vdF9maW5kX25hbWVfMF9Eb195b3VfbmVlZF90b19jaGFuZ2VfeW91cl90YXJnZXRfbGlicmFyeV9UcnlfY2hhbmdpbmdfdGhlX2xpYl9jb21waWxlcl9vcHRpb25fdG9fMV9vcl9sYXRlcjpyKDI1ODMsMSxcIkNhbm5vdF9maW5kX25hbWVfMF9Eb195b3VfbmVlZF90b19jaGFuZ2VfeW91cl90YXJnZXRfbGlicmFyeV9UcnlfY2hhbmdpbmdfdGhlX2xpYl9jb21waWxlcl9vcHRpb25fdG9fMjU4M1wiLFwiQ2Fubm90IGZpbmQgbmFtZSAnezB9Jy4gRG8geW91IG5lZWQgdG8gY2hhbmdlIHlvdXIgdGFyZ2V0IGxpYnJhcnk/IFRyeSBjaGFuZ2luZyB0aGUgJ2xpYicgY29tcGlsZXIgb3B0aW9uIHRvICd7MX0nIG9yIGxhdGVyLlwiKSxDYW5ub3RfZmluZF9uYW1lXzBfRG9feW91X25lZWRfdG9fY2hhbmdlX3lvdXJfdGFyZ2V0X2xpYnJhcnlfVHJ5X2NoYW5naW5nX3RoZV9saWJfY29tcGlsZXJfb3B0aW9uX3RvX2luY2x1ZGVfZG9tOnIoMjU4NCwxLFwiQ2Fubm90X2ZpbmRfbmFtZV8wX0RvX3lvdV9uZWVkX3RvX2NoYW5nZV95b3VyX3RhcmdldF9saWJyYXJ5X1RyeV9jaGFuZ2luZ190aGVfbGliX2NvbXBpbGVyX29wdGlvbl90b18yNTg0XCIsXCJDYW5ub3QgZmluZCBuYW1lICd7MH0nLiBEbyB5b3UgbmVlZCB0byBjaGFuZ2UgeW91ciB0YXJnZXQgbGlicmFyeT8gVHJ5IGNoYW5naW5nIHRoZSAnbGliJyBjb21waWxlciBvcHRpb24gdG8gaW5jbHVkZSAnZG9tJy5cIiksXzBfb25seV9yZWZlcnNfdG9fYV90eXBlX2J1dF9pc19iZWluZ191c2VkX2FzX2FfdmFsdWVfaGVyZV9Eb195b3VfbmVlZF90b19jaGFuZ2VfeW91cl90YXJnZXRfbGlicmFyeV9UcnlfY2hhbmdpbmdfdGhlX2xpYl9jb21waWxlcl9vcHRpb25fdG9fZXMyMDE1X29yX2xhdGVyOnIoMjU4NSwxLFwiXzBfb25seV9yZWZlcnNfdG9fYV90eXBlX2J1dF9pc19iZWluZ191c2VkX2FzX2FfdmFsdWVfaGVyZV9Eb195b3VfbmVlZF90b19jaGFuZ2VfeW91cl90YXJnZXRfbGlicmFyeV8yNTg1XCIsXCInezB9JyBvbmx5IHJlZmVycyB0byBhIHR5cGUsIGJ1dCBpcyBiZWluZyB1c2VkIGFzIGEgdmFsdWUgaGVyZS4gRG8geW91IG5lZWQgdG8gY2hhbmdlIHlvdXIgdGFyZ2V0IGxpYnJhcnk/IFRyeSBjaGFuZ2luZyB0aGUgJ2xpYicgY29tcGlsZXIgb3B0aW9uIHRvIGVzMjAxNSBvciBsYXRlci5cIiksQ2Fubm90X2Fzc2lnbl90b18wX2JlY2F1c2VfaXRfaXNfYV9jb25zdGFudDpyKDI1ODgsMSxcIkNhbm5vdF9hc3NpZ25fdG9fMF9iZWNhdXNlX2l0X2lzX2FfY29uc3RhbnRfMjU4OFwiLFwiQ2Fubm90IGFzc2lnbiB0byAnezB9JyBiZWNhdXNlIGl0IGlzIGEgY29uc3RhbnQuXCIpLFR5cGVfaW5zdGFudGlhdGlvbl9pc19leGNlc3NpdmVseV9kZWVwX2FuZF9wb3NzaWJseV9pbmZpbml0ZTpyKDI1ODksMSxcIlR5cGVfaW5zdGFudGlhdGlvbl9pc19leGNlc3NpdmVseV9kZWVwX2FuZF9wb3NzaWJseV9pbmZpbml0ZV8yNTg5XCIsXCJUeXBlIGluc3RhbnRpYXRpb24gaXMgZXhjZXNzaXZlbHkgZGVlcCBhbmQgcG9zc2libHkgaW5maW5pdGUuXCIpLEV4cHJlc3Npb25fcHJvZHVjZXNfYV91bmlvbl90eXBlX3RoYXRfaXNfdG9vX2NvbXBsZXhfdG9fcmVwcmVzZW50OnIoMjU5MCwxLFwiRXhwcmVzc2lvbl9wcm9kdWNlc19hX3VuaW9uX3R5cGVfdGhhdF9pc190b29fY29tcGxleF90b19yZXByZXNlbnRfMjU5MFwiLFwiRXhwcmVzc2lvbiBwcm9kdWNlcyBhIHVuaW9uIHR5cGUgdGhhdCBpcyB0b28gY29tcGxleCB0byByZXByZXNlbnQuXCIpLENhbm5vdF9maW5kX25hbWVfMF9Eb195b3VfbmVlZF90b19pbnN0YWxsX3R5cGVfZGVmaW5pdGlvbnNfZm9yX25vZGVfVHJ5X25wbV9pX3NhdmVfZGV2X3R5cGVzX1NsYXNobm9kZV9hbmRfdGhlbl9hZGRfbm9kZV90b190aGVfdHlwZXNfZmllbGRfaW5feW91cl90c2NvbmZpZzpyKDI1OTEsMSxcIkNhbm5vdF9maW5kX25hbWVfMF9Eb195b3VfbmVlZF90b19pbnN0YWxsX3R5cGVfZGVmaW5pdGlvbnNfZm9yX25vZGVfVHJ5X25wbV9pX3NhdmVfZGV2X3R5cGVzX1NsYXNobm9fMjU5MVwiLFwiQ2Fubm90IGZpbmQgbmFtZSAnezB9Jy4gRG8geW91IG5lZWQgdG8gaW5zdGFsbCB0eXBlIGRlZmluaXRpb25zIGZvciBub2RlPyBUcnkgYG5wbSBpIC0tc2F2ZS1kZXYgQHR5cGVzL25vZGVgIGFuZCB0aGVuIGFkZCAnbm9kZScgdG8gdGhlIHR5cGVzIGZpZWxkIGluIHlvdXIgdHNjb25maWcuXCIpLENhbm5vdF9maW5kX25hbWVfMF9Eb195b3VfbmVlZF90b19pbnN0YWxsX3R5cGVfZGVmaW5pdGlvbnNfZm9yX2pRdWVyeV9UcnlfbnBtX2lfc2F2ZV9kZXZfdHlwZXNfU2xhc2hqcXVlcnlfYW5kX3RoZW5fYWRkX2pxdWVyeV90b190aGVfdHlwZXNfZmllbGRfaW5feW91cl90c2NvbmZpZzpyKDI1OTIsMSxcIkNhbm5vdF9maW5kX25hbWVfMF9Eb195b3VfbmVlZF90b19pbnN0YWxsX3R5cGVfZGVmaW5pdGlvbnNfZm9yX2pRdWVyeV9UcnlfbnBtX2lfc2F2ZV9kZXZfdHlwZXNfU2xhc2hfMjU5MlwiLFwiQ2Fubm90IGZpbmQgbmFtZSAnezB9Jy4gRG8geW91IG5lZWQgdG8gaW5zdGFsbCB0eXBlIGRlZmluaXRpb25zIGZvciBqUXVlcnk/IFRyeSBgbnBtIGkgLS1zYXZlLWRldiBAdHlwZXMvanF1ZXJ5YCBhbmQgdGhlbiBhZGQgJ2pxdWVyeScgdG8gdGhlIHR5cGVzIGZpZWxkIGluIHlvdXIgdHNjb25maWcuXCIpLENhbm5vdF9maW5kX25hbWVfMF9Eb195b3VfbmVlZF90b19pbnN0YWxsX3R5cGVfZGVmaW5pdGlvbnNfZm9yX2FfdGVzdF9ydW5uZXJfVHJ5X25wbV9pX3NhdmVfZGV2X3R5cGVzX1NsYXNoamVzdF9vcl9ucG1faV9zYXZlX2Rldl90eXBlc19TbGFzaG1vY2hhX2FuZF90aGVuX2FkZF9qZXN0X29yX21vY2hhX3RvX3RoZV90eXBlc19maWVsZF9pbl95b3VyX3RzY29uZmlnOnIoMjU5MywxLFwiQ2Fubm90X2ZpbmRfbmFtZV8wX0RvX3lvdV9uZWVkX3RvX2luc3RhbGxfdHlwZV9kZWZpbml0aW9uc19mb3JfYV90ZXN0X3J1bm5lcl9UcnlfbnBtX2lfc2F2ZV9kZXZfdHlwZV8yNTkzXCIsXCJDYW5ub3QgZmluZCBuYW1lICd7MH0nLiBEbyB5b3UgbmVlZCB0byBpbnN0YWxsIHR5cGUgZGVmaW5pdGlvbnMgZm9yIGEgdGVzdCBydW5uZXI/IFRyeSBgbnBtIGkgLS1zYXZlLWRldiBAdHlwZXMvamVzdGAgb3IgYG5wbSBpIC0tc2F2ZS1kZXYgQHR5cGVzL21vY2hhYCBhbmQgdGhlbiBhZGQgJ2plc3QnIG9yICdtb2NoYScgdG8gdGhlIHR5cGVzIGZpZWxkIGluIHlvdXIgdHNjb25maWcuXCIpLFRoaXNfbW9kdWxlX2lzX2RlY2xhcmVkX3dpdGhfZXhwb3J0X2FuZF9jYW5fb25seV9iZV91c2VkX3dpdGhfYV9kZWZhdWx0X2ltcG9ydF93aGVuX3VzaW5nX3RoZV8wX2ZsYWc6cigyNTk0LDEsXCJUaGlzX21vZHVsZV9pc19kZWNsYXJlZF93aXRoX2V4cG9ydF9hbmRfY2FuX29ubHlfYmVfdXNlZF93aXRoX2FfZGVmYXVsdF9pbXBvcnRfd2hlbl91c2luZ190aGVfMF9mbGFnXzI1OTRcIixcIlRoaXMgbW9kdWxlIGlzIGRlY2xhcmVkIHdpdGggJ2V4cG9ydCA9JywgYW5kIGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBhIGRlZmF1bHQgaW1wb3J0IHdoZW4gdXNpbmcgdGhlICd7MH0nIGZsYWcuXCIpLF8wX2Nhbl9vbmx5X2JlX2ltcG9ydGVkX2J5X3VzaW5nX2FfZGVmYXVsdF9pbXBvcnQ6cigyNTk1LDEsXCJfMF9jYW5fb25seV9iZV9pbXBvcnRlZF9ieV91c2luZ19hX2RlZmF1bHRfaW1wb3J0XzI1OTVcIixcIid7MH0nIGNhbiBvbmx5IGJlIGltcG9ydGVkIGJ5IHVzaW5nIGEgZGVmYXVsdCBpbXBvcnQuXCIpLF8wX2Nhbl9vbmx5X2JlX2ltcG9ydGVkX2J5X3R1cm5pbmdfb25fdGhlX2VzTW9kdWxlSW50ZXJvcF9mbGFnX2FuZF91c2luZ19hX2RlZmF1bHRfaW1wb3J0OnIoMjU5NiwxLFwiXzBfY2FuX29ubHlfYmVfaW1wb3J0ZWRfYnlfdHVybmluZ19vbl90aGVfZXNNb2R1bGVJbnRlcm9wX2ZsYWdfYW5kX3VzaW5nX2FfZGVmYXVsdF9pbXBvcnRfMjU5NlwiLFwiJ3swfScgY2FuIG9ubHkgYmUgaW1wb3J0ZWQgYnkgdHVybmluZyBvbiB0aGUgJ2VzTW9kdWxlSW50ZXJvcCcgZmxhZyBhbmQgdXNpbmcgYSBkZWZhdWx0IGltcG9ydC5cIiksXzBfY2FuX29ubHlfYmVfaW1wb3J0ZWRfYnlfdXNpbmdfYV9yZXF1aXJlX2NhbGxfb3JfYnlfdXNpbmdfYV9kZWZhdWx0X2ltcG9ydDpyKDI1OTcsMSxcIl8wX2Nhbl9vbmx5X2JlX2ltcG9ydGVkX2J5X3VzaW5nX2FfcmVxdWlyZV9jYWxsX29yX2J5X3VzaW5nX2FfZGVmYXVsdF9pbXBvcnRfMjU5N1wiLFwiJ3swfScgY2FuIG9ubHkgYmUgaW1wb3J0ZWQgYnkgdXNpbmcgYSAncmVxdWlyZScgY2FsbCBvciBieSB1c2luZyBhIGRlZmF1bHQgaW1wb3J0LlwiKSxfMF9jYW5fb25seV9iZV9pbXBvcnRlZF9ieV91c2luZ19hX3JlcXVpcmVfY2FsbF9vcl9ieV90dXJuaW5nX29uX3RoZV9lc01vZHVsZUludGVyb3BfZmxhZ19hbmRfdXNpbmdfYV9kZWZhdWx0X2ltcG9ydDpyKDI1OTgsMSxcIl8wX2Nhbl9vbmx5X2JlX2ltcG9ydGVkX2J5X3VzaW5nX2FfcmVxdWlyZV9jYWxsX29yX2J5X3R1cm5pbmdfb25fdGhlX2VzTW9kdWxlSW50ZXJvcF9mbGFnX2FuZF91c2luZ19fMjU5OFwiLFwiJ3swfScgY2FuIG9ubHkgYmUgaW1wb3J0ZWQgYnkgdXNpbmcgYSAncmVxdWlyZScgY2FsbCBvciBieSB0dXJuaW5nIG9uIHRoZSAnZXNNb2R1bGVJbnRlcm9wJyBmbGFnIGFuZCB1c2luZyBhIGRlZmF1bHQgaW1wb3J0LlwiKSxKU1hfZWxlbWVudF9pbXBsaWNpdGx5X2hhc190eXBlX2FueV9iZWNhdXNlX3RoZV9nbG9iYWxfdHlwZV9KU1hfRWxlbWVudF9kb2VzX25vdF9leGlzdDpyKDI2MDIsMSxcIkpTWF9lbGVtZW50X2ltcGxpY2l0bHlfaGFzX3R5cGVfYW55X2JlY2F1c2VfdGhlX2dsb2JhbF90eXBlX0pTWF9FbGVtZW50X2RvZXNfbm90X2V4aXN0XzI2MDJcIixcIkpTWCBlbGVtZW50IGltcGxpY2l0bHkgaGFzIHR5cGUgJ2FueScgYmVjYXVzZSB0aGUgZ2xvYmFsIHR5cGUgJ0pTWC5FbGVtZW50JyBkb2VzIG5vdCBleGlzdC5cIiksUHJvcGVydHlfMF9pbl90eXBlXzFfaXNfbm90X2Fzc2lnbmFibGVfdG9fdHlwZV8yOnIoMjYwMywxLFwiUHJvcGVydHlfMF9pbl90eXBlXzFfaXNfbm90X2Fzc2lnbmFibGVfdG9fdHlwZV8yXzI2MDNcIixcIlByb3BlcnR5ICd7MH0nIGluIHR5cGUgJ3sxfScgaXMgbm90IGFzc2lnbmFibGUgdG8gdHlwZSAnezJ9Jy5cIiksSlNYX2VsZW1lbnRfdHlwZV8wX2RvZXNfbm90X2hhdmVfYW55X2NvbnN0cnVjdF9vcl9jYWxsX3NpZ25hdHVyZXM6cigyNjA0LDEsXCJKU1hfZWxlbWVudF90eXBlXzBfZG9lc19ub3RfaGF2ZV9hbnlfY29uc3RydWN0X29yX2NhbGxfc2lnbmF0dXJlc18yNjA0XCIsXCJKU1ggZWxlbWVudCB0eXBlICd7MH0nIGRvZXMgbm90IGhhdmUgYW55IGNvbnN0cnVjdCBvciBjYWxsIHNpZ25hdHVyZXMuXCIpLFByb3BlcnR5XzBfb2ZfSlNYX3NwcmVhZF9hdHRyaWJ1dGVfaXNfbm90X2Fzc2lnbmFibGVfdG9fdGFyZ2V0X3Byb3BlcnR5OnIoMjYwNiwxLFwiUHJvcGVydHlfMF9vZl9KU1hfc3ByZWFkX2F0dHJpYnV0ZV9pc19ub3RfYXNzaWduYWJsZV90b190YXJnZXRfcHJvcGVydHlfMjYwNlwiLFwiUHJvcGVydHkgJ3swfScgb2YgSlNYIHNwcmVhZCBhdHRyaWJ1dGUgaXMgbm90IGFzc2lnbmFibGUgdG8gdGFyZ2V0IHByb3BlcnR5LlwiKSxKU1hfZWxlbWVudF9jbGFzc19kb2VzX25vdF9zdXBwb3J0X2F0dHJpYnV0ZXNfYmVjYXVzZV9pdF9kb2VzX25vdF9oYXZlX2FfMF9wcm9wZXJ0eTpyKDI2MDcsMSxcIkpTWF9lbGVtZW50X2NsYXNzX2RvZXNfbm90X3N1cHBvcnRfYXR0cmlidXRlc19iZWNhdXNlX2l0X2RvZXNfbm90X2hhdmVfYV8wX3Byb3BlcnR5XzI2MDdcIixcIkpTWCBlbGVtZW50IGNsYXNzIGRvZXMgbm90IHN1cHBvcnQgYXR0cmlidXRlcyBiZWNhdXNlIGl0IGRvZXMgbm90IGhhdmUgYSAnezB9JyBwcm9wZXJ0eS5cIiksVGhlX2dsb2JhbF90eXBlX0pTWF8wX21heV9ub3RfaGF2ZV9tb3JlX3RoYW5fb25lX3Byb3BlcnR5OnIoMjYwOCwxLFwiVGhlX2dsb2JhbF90eXBlX0pTWF8wX21heV9ub3RfaGF2ZV9tb3JlX3RoYW5fb25lX3Byb3BlcnR5XzI2MDhcIixcIlRoZSBnbG9iYWwgdHlwZSAnSlNYLnswfScgbWF5IG5vdCBoYXZlIG1vcmUgdGhhbiBvbmUgcHJvcGVydHkuXCIpLEpTWF9zcHJlYWRfY2hpbGRfbXVzdF9iZV9hbl9hcnJheV90eXBlOnIoMjYwOSwxLFwiSlNYX3NwcmVhZF9jaGlsZF9tdXN0X2JlX2FuX2FycmF5X3R5cGVfMjYwOVwiLFwiSlNYIHNwcmVhZCBjaGlsZCBtdXN0IGJlIGFuIGFycmF5IHR5cGUuXCIpLF8wX2lzX2RlZmluZWRfYXNfYW5fYWNjZXNzb3JfaW5fY2xhc3NfMV9idXRfaXNfb3ZlcnJpZGRlbl9oZXJlX2luXzJfYXNfYW5faW5zdGFuY2VfcHJvcGVydHk6cigyNjEwLDEsXCJfMF9pc19kZWZpbmVkX2FzX2FuX2FjY2Vzc29yX2luX2NsYXNzXzFfYnV0X2lzX292ZXJyaWRkZW5faGVyZV9pbl8yX2FzX2FuX2luc3RhbmNlX3Byb3BlcnR5XzI2MTBcIixcIid7MH0nIGlzIGRlZmluZWQgYXMgYW4gYWNjZXNzb3IgaW4gY2xhc3MgJ3sxfScsIGJ1dCBpcyBvdmVycmlkZGVuIGhlcmUgaW4gJ3syfScgYXMgYW4gaW5zdGFuY2UgcHJvcGVydHkuXCIpLF8wX2lzX2RlZmluZWRfYXNfYV9wcm9wZXJ0eV9pbl9jbGFzc18xX2J1dF9pc19vdmVycmlkZGVuX2hlcmVfaW5fMl9hc19hbl9hY2Nlc3NvcjpyKDI2MTEsMSxcIl8wX2lzX2RlZmluZWRfYXNfYV9wcm9wZXJ0eV9pbl9jbGFzc18xX2J1dF9pc19vdmVycmlkZGVuX2hlcmVfaW5fMl9hc19hbl9hY2Nlc3Nvcl8yNjExXCIsXCInezB9JyBpcyBkZWZpbmVkIGFzIGEgcHJvcGVydHkgaW4gY2xhc3MgJ3sxfScsIGJ1dCBpcyBvdmVycmlkZGVuIGhlcmUgaW4gJ3syfScgYXMgYW4gYWNjZXNzb3IuXCIpLFByb3BlcnR5XzBfd2lsbF9vdmVyd3JpdGVfdGhlX2Jhc2VfcHJvcGVydHlfaW5fMV9JZl90aGlzX2lzX2ludGVudGlvbmFsX2FkZF9hbl9pbml0aWFsaXplcl9PdGhlcndpc2VfYWRkX2FfZGVjbGFyZV9tb2RpZmllcl9vcl9yZW1vdmVfdGhlX3JlZHVuZGFudF9kZWNsYXJhdGlvbjpyKDI2MTIsMSxcIlByb3BlcnR5XzBfd2lsbF9vdmVyd3JpdGVfdGhlX2Jhc2VfcHJvcGVydHlfaW5fMV9JZl90aGlzX2lzX2ludGVudGlvbmFsX2FkZF9hbl9pbml0aWFsaXplcl9PdGhlcndpc2VfMjYxMlwiLFwiUHJvcGVydHkgJ3swfScgd2lsbCBvdmVyd3JpdGUgdGhlIGJhc2UgcHJvcGVydHkgaW4gJ3sxfScuIElmIHRoaXMgaXMgaW50ZW50aW9uYWwsIGFkZCBhbiBpbml0aWFsaXplci4gT3RoZXJ3aXNlLCBhZGQgYSAnZGVjbGFyZScgbW9kaWZpZXIgb3IgcmVtb3ZlIHRoZSByZWR1bmRhbnQgZGVjbGFyYXRpb24uXCIpLE1vZHVsZV8wX2hhc19ub19kZWZhdWx0X2V4cG9ydF9EaWRfeW91X21lYW5fdG9fdXNlX2ltcG9ydF8xX2Zyb21fMF9pbnN0ZWFkOnIoMjYxMywxLFwiTW9kdWxlXzBfaGFzX25vX2RlZmF1bHRfZXhwb3J0X0RpZF95b3VfbWVhbl90b191c2VfaW1wb3J0XzFfZnJvbV8wX2luc3RlYWRfMjYxM1wiLFwiTW9kdWxlICd7MH0nIGhhcyBubyBkZWZhdWx0IGV4cG9ydC4gRGlkIHlvdSBtZWFuIHRvIHVzZSAnaW1wb3J0IHsgezF9IH0gZnJvbSB7MH0nIGluc3RlYWQ/XCIpLE1vZHVsZV8wX2hhc19ub19leHBvcnRlZF9tZW1iZXJfMV9EaWRfeW91X21lYW5fdG9fdXNlX2ltcG9ydF8xX2Zyb21fMF9pbnN0ZWFkOnIoMjYxNCwxLFwiTW9kdWxlXzBfaGFzX25vX2V4cG9ydGVkX21lbWJlcl8xX0RpZF95b3VfbWVhbl90b191c2VfaW1wb3J0XzFfZnJvbV8wX2luc3RlYWRfMjYxNFwiLFwiTW9kdWxlICd7MH0nIGhhcyBubyBleHBvcnRlZCBtZW1iZXIgJ3sxfScuIERpZCB5b3UgbWVhbiB0byB1c2UgJ2ltcG9ydCB7MX0gZnJvbSB7MH0nIGluc3RlYWQ/XCIpLFR5cGVfb2ZfcHJvcGVydHlfMF9jaXJjdWxhcmx5X3JlZmVyZW5jZXNfaXRzZWxmX2luX21hcHBlZF90eXBlXzE6cigyNjE1LDEsXCJUeXBlX29mX3Byb3BlcnR5XzBfY2lyY3VsYXJseV9yZWZlcmVuY2VzX2l0c2VsZl9pbl9tYXBwZWRfdHlwZV8xXzI2MTVcIixcIlR5cGUgb2YgcHJvcGVydHkgJ3swfScgY2lyY3VsYXJseSByZWZlcmVuY2VzIGl0c2VsZiBpbiBtYXBwZWQgdHlwZSAnezF9Jy5cIiksXzBfY2FuX29ubHlfYmVfaW1wb3J0ZWRfYnlfdXNpbmdfaW1wb3J0XzFfcmVxdWlyZV8yX29yX2FfZGVmYXVsdF9pbXBvcnQ6cigyNjE2LDEsXCJfMF9jYW5fb25seV9iZV9pbXBvcnRlZF9ieV91c2luZ19pbXBvcnRfMV9yZXF1aXJlXzJfb3JfYV9kZWZhdWx0X2ltcG9ydF8yNjE2XCIsXCInezB9JyBjYW4gb25seSBiZSBpbXBvcnRlZCBieSB1c2luZyAnaW1wb3J0IHsxfSA9IHJlcXVpcmUoezJ9KScgb3IgYSBkZWZhdWx0IGltcG9ydC5cIiksXzBfY2FuX29ubHlfYmVfaW1wb3J0ZWRfYnlfdXNpbmdfaW1wb3J0XzFfcmVxdWlyZV8yX29yX2J5X3R1cm5pbmdfb25fdGhlX2VzTW9kdWxlSW50ZXJvcF9mbGFnX2FuZF91c2luZ19hX2RlZmF1bHRfaW1wb3J0OnIoMjYxNywxLFwiXzBfY2FuX29ubHlfYmVfaW1wb3J0ZWRfYnlfdXNpbmdfaW1wb3J0XzFfcmVxdWlyZV8yX29yX2J5X3R1cm5pbmdfb25fdGhlX2VzTW9kdWxlSW50ZXJvcF9mbGFnX2FuZF91c18yNjE3XCIsXCInezB9JyBjYW4gb25seSBiZSBpbXBvcnRlZCBieSB1c2luZyAnaW1wb3J0IHsxfSA9IHJlcXVpcmUoezJ9KScgb3IgYnkgdHVybmluZyBvbiB0aGUgJ2VzTW9kdWxlSW50ZXJvcCcgZmxhZyBhbmQgdXNpbmcgYSBkZWZhdWx0IGltcG9ydC5cIiksU291cmNlX2hhc18wX2VsZW1lbnRfc19idXRfdGFyZ2V0X3JlcXVpcmVzXzE6cigyNjE4LDEsXCJTb3VyY2VfaGFzXzBfZWxlbWVudF9zX2J1dF90YXJnZXRfcmVxdWlyZXNfMV8yNjE4XCIsXCJTb3VyY2UgaGFzIHswfSBlbGVtZW50KHMpIGJ1dCB0YXJnZXQgcmVxdWlyZXMgezF9LlwiKSxTb3VyY2VfaGFzXzBfZWxlbWVudF9zX2J1dF90YXJnZXRfYWxsb3dzX29ubHlfMTpyKDI2MTksMSxcIlNvdXJjZV9oYXNfMF9lbGVtZW50X3NfYnV0X3RhcmdldF9hbGxvd3Nfb25seV8xXzI2MTlcIixcIlNvdXJjZSBoYXMgezB9IGVsZW1lbnQocykgYnV0IHRhcmdldCBhbGxvd3Mgb25seSB7MX0uXCIpLFRhcmdldF9yZXF1aXJlc18wX2VsZW1lbnRfc19idXRfc291cmNlX21heV9oYXZlX2Zld2VyOnIoMjYyMCwxLFwiVGFyZ2V0X3JlcXVpcmVzXzBfZWxlbWVudF9zX2J1dF9zb3VyY2VfbWF5X2hhdmVfZmV3ZXJfMjYyMFwiLFwiVGFyZ2V0IHJlcXVpcmVzIHswfSBlbGVtZW50KHMpIGJ1dCBzb3VyY2UgbWF5IGhhdmUgZmV3ZXIuXCIpLFRhcmdldF9hbGxvd3Nfb25seV8wX2VsZW1lbnRfc19idXRfc291cmNlX21heV9oYXZlX21vcmU6cigyNjIxLDEsXCJUYXJnZXRfYWxsb3dzX29ubHlfMF9lbGVtZW50X3NfYnV0X3NvdXJjZV9tYXlfaGF2ZV9tb3JlXzI2MjFcIixcIlRhcmdldCBhbGxvd3Mgb25seSB7MH0gZWxlbWVudChzKSBidXQgc291cmNlIG1heSBoYXZlIG1vcmUuXCIpLFNvdXJjZV9wcm92aWRlc19ub19tYXRjaF9mb3JfcmVxdWlyZWRfZWxlbWVudF9hdF9wb3NpdGlvbl8wX2luX3RhcmdldDpyKDI2MjMsMSxcIlNvdXJjZV9wcm92aWRlc19ub19tYXRjaF9mb3JfcmVxdWlyZWRfZWxlbWVudF9hdF9wb3NpdGlvbl8wX2luX3RhcmdldF8yNjIzXCIsXCJTb3VyY2UgcHJvdmlkZXMgbm8gbWF0Y2ggZm9yIHJlcXVpcmVkIGVsZW1lbnQgYXQgcG9zaXRpb24gezB9IGluIHRhcmdldC5cIiksU291cmNlX3Byb3ZpZGVzX25vX21hdGNoX2Zvcl92YXJpYWRpY19lbGVtZW50X2F0X3Bvc2l0aW9uXzBfaW5fdGFyZ2V0OnIoMjYyNCwxLFwiU291cmNlX3Byb3ZpZGVzX25vX21hdGNoX2Zvcl92YXJpYWRpY19lbGVtZW50X2F0X3Bvc2l0aW9uXzBfaW5fdGFyZ2V0XzI2MjRcIixcIlNvdXJjZSBwcm92aWRlcyBubyBtYXRjaCBmb3IgdmFyaWFkaWMgZWxlbWVudCBhdCBwb3NpdGlvbiB7MH0gaW4gdGFyZ2V0LlwiKSxWYXJpYWRpY19lbGVtZW50X2F0X3Bvc2l0aW9uXzBfaW5fc291cmNlX2RvZXNfbm90X21hdGNoX2VsZW1lbnRfYXRfcG9zaXRpb25fMV9pbl90YXJnZXQ6cigyNjI1LDEsXCJWYXJpYWRpY19lbGVtZW50X2F0X3Bvc2l0aW9uXzBfaW5fc291cmNlX2RvZXNfbm90X21hdGNoX2VsZW1lbnRfYXRfcG9zaXRpb25fMV9pbl90YXJnZXRfMjYyNVwiLFwiVmFyaWFkaWMgZWxlbWVudCBhdCBwb3NpdGlvbiB7MH0gaW4gc291cmNlIGRvZXMgbm90IG1hdGNoIGVsZW1lbnQgYXQgcG9zaXRpb24gezF9IGluIHRhcmdldC5cIiksVHlwZV9hdF9wb3NpdGlvbl8wX2luX3NvdXJjZV9pc19ub3RfY29tcGF0aWJsZV93aXRoX3R5cGVfYXRfcG9zaXRpb25fMV9pbl90YXJnZXQ6cigyNjI2LDEsXCJUeXBlX2F0X3Bvc2l0aW9uXzBfaW5fc291cmNlX2lzX25vdF9jb21wYXRpYmxlX3dpdGhfdHlwZV9hdF9wb3NpdGlvbl8xX2luX3RhcmdldF8yNjI2XCIsXCJUeXBlIGF0IHBvc2l0aW9uIHswfSBpbiBzb3VyY2UgaXMgbm90IGNvbXBhdGlibGUgd2l0aCB0eXBlIGF0IHBvc2l0aW9uIHsxfSBpbiB0YXJnZXQuXCIpLFR5cGVfYXRfcG9zaXRpb25zXzBfdGhyb3VnaF8xX2luX3NvdXJjZV9pc19ub3RfY29tcGF0aWJsZV93aXRoX3R5cGVfYXRfcG9zaXRpb25fMl9pbl90YXJnZXQ6cigyNjI3LDEsXCJUeXBlX2F0X3Bvc2l0aW9uc18wX3Rocm91Z2hfMV9pbl9zb3VyY2VfaXNfbm90X2NvbXBhdGlibGVfd2l0aF90eXBlX2F0X3Bvc2l0aW9uXzJfaW5fdGFyZ2V0XzI2MjdcIixcIlR5cGUgYXQgcG9zaXRpb25zIHswfSB0aHJvdWdoIHsxfSBpbiBzb3VyY2UgaXMgbm90IGNvbXBhdGlibGUgd2l0aCB0eXBlIGF0IHBvc2l0aW9uIHsyfSBpbiB0YXJnZXQuXCIpLENhbm5vdF9hc3NpZ25fdG9fMF9iZWNhdXNlX2l0X2lzX2FuX2VudW06cigyNjI4LDEsXCJDYW5ub3RfYXNzaWduX3RvXzBfYmVjYXVzZV9pdF9pc19hbl9lbnVtXzI2MjhcIixcIkNhbm5vdCBhc3NpZ24gdG8gJ3swfScgYmVjYXVzZSBpdCBpcyBhbiBlbnVtLlwiKSxDYW5ub3RfYXNzaWduX3RvXzBfYmVjYXVzZV9pdF9pc19hX2NsYXNzOnIoMjYyOSwxLFwiQ2Fubm90X2Fzc2lnbl90b18wX2JlY2F1c2VfaXRfaXNfYV9jbGFzc18yNjI5XCIsXCJDYW5ub3QgYXNzaWduIHRvICd7MH0nIGJlY2F1c2UgaXQgaXMgYSBjbGFzcy5cIiksQ2Fubm90X2Fzc2lnbl90b18wX2JlY2F1c2VfaXRfaXNfYV9mdW5jdGlvbjpyKDI2MzAsMSxcIkNhbm5vdF9hc3NpZ25fdG9fMF9iZWNhdXNlX2l0X2lzX2FfZnVuY3Rpb25fMjYzMFwiLFwiQ2Fubm90IGFzc2lnbiB0byAnezB9JyBiZWNhdXNlIGl0IGlzIGEgZnVuY3Rpb24uXCIpLENhbm5vdF9hc3NpZ25fdG9fMF9iZWNhdXNlX2l0X2lzX2FfbmFtZXNwYWNlOnIoMjYzMSwxLFwiQ2Fubm90X2Fzc2lnbl90b18wX2JlY2F1c2VfaXRfaXNfYV9uYW1lc3BhY2VfMjYzMVwiLFwiQ2Fubm90IGFzc2lnbiB0byAnezB9JyBiZWNhdXNlIGl0IGlzIGEgbmFtZXNwYWNlLlwiKSxDYW5ub3RfYXNzaWduX3RvXzBfYmVjYXVzZV9pdF9pc19hbl9pbXBvcnQ6cigyNjMyLDEsXCJDYW5ub3RfYXNzaWduX3RvXzBfYmVjYXVzZV9pdF9pc19hbl9pbXBvcnRfMjYzMlwiLFwiQ2Fubm90IGFzc2lnbiB0byAnezB9JyBiZWNhdXNlIGl0IGlzIGFuIGltcG9ydC5cIiksSlNYX3Byb3BlcnR5X2FjY2Vzc19leHByZXNzaW9uc19jYW5ub3RfaW5jbHVkZV9KU1hfbmFtZXNwYWNlX25hbWVzOnIoMjYzMywxLFwiSlNYX3Byb3BlcnR5X2FjY2Vzc19leHByZXNzaW9uc19jYW5ub3RfaW5jbHVkZV9KU1hfbmFtZXNwYWNlX25hbWVzXzI2MzNcIixcIkpTWCBwcm9wZXJ0eSBhY2Nlc3MgZXhwcmVzc2lvbnMgY2Fubm90IGluY2x1ZGUgSlNYIG5hbWVzcGFjZSBuYW1lc1wiKSxfMF9pbmRleF9zaWduYXR1cmVzX2FyZV9pbmNvbXBhdGlibGU6cigyNjM0LDEsXCJfMF9pbmRleF9zaWduYXR1cmVzX2FyZV9pbmNvbXBhdGlibGVfMjYzNFwiLFwiJ3swfScgaW5kZXggc2lnbmF0dXJlcyBhcmUgaW5jb21wYXRpYmxlLlwiKSxUeXBlXzBfaGFzX25vX3NpZ25hdHVyZXNfZm9yX3doaWNoX3RoZV90eXBlX2FyZ3VtZW50X2xpc3RfaXNfYXBwbGljYWJsZTpyKDI2MzUsMSxcIlR5cGVfMF9oYXNfbm9fc2lnbmF0dXJlc19mb3Jfd2hpY2hfdGhlX3R5cGVfYXJndW1lbnRfbGlzdF9pc19hcHBsaWNhYmxlXzI2MzVcIixcIlR5cGUgJ3swfScgaGFzIG5vIHNpZ25hdHVyZXMgZm9yIHdoaWNoIHRoZSB0eXBlIGFyZ3VtZW50IGxpc3QgaXMgYXBwbGljYWJsZS5cIiksVHlwZV8wX2lzX25vdF9hc3NpZ25hYmxlX3RvX3R5cGVfMV9hc19pbXBsaWVkX2J5X3ZhcmlhbmNlX2Fubm90YXRpb246cigyNjM2LDEsXCJUeXBlXzBfaXNfbm90X2Fzc2lnbmFibGVfdG9fdHlwZV8xX2FzX2ltcGxpZWRfYnlfdmFyaWFuY2VfYW5ub3RhdGlvbl8yNjM2XCIsXCJUeXBlICd7MH0nIGlzIG5vdCBhc3NpZ25hYmxlIHRvIHR5cGUgJ3sxfScgYXMgaW1wbGllZCBieSB2YXJpYW5jZSBhbm5vdGF0aW9uLlwiKSxWYXJpYW5jZV9hbm5vdGF0aW9uc19hcmVfb25seV9zdXBwb3J0ZWRfaW5fdHlwZV9hbGlhc2VzX2Zvcl9vYmplY3RfZnVuY3Rpb25fY29uc3RydWN0b3JfYW5kX21hcHBlZF90eXBlczpyKDI2MzcsMSxcIlZhcmlhbmNlX2Fubm90YXRpb25zX2FyZV9vbmx5X3N1cHBvcnRlZF9pbl90eXBlX2FsaWFzZXNfZm9yX29iamVjdF9mdW5jdGlvbl9jb25zdHJ1Y3Rvcl9hbmRfbWFwcGVkX3RfMjYzN1wiLFwiVmFyaWFuY2UgYW5ub3RhdGlvbnMgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHR5cGUgYWxpYXNlcyBmb3Igb2JqZWN0LCBmdW5jdGlvbiwgY29uc3RydWN0b3IsIGFuZCBtYXBwZWQgdHlwZXMuXCIpLFR5cGVfMF9tYXlfcmVwcmVzZW50X2FfcHJpbWl0aXZlX3ZhbHVlX3doaWNoX2lzX25vdF9wZXJtaXR0ZWRfYXNfdGhlX3JpZ2h0X29wZXJhbmRfb2ZfdGhlX2luX29wZXJhdG9yOnIoMjYzOCwxLFwiVHlwZV8wX21heV9yZXByZXNlbnRfYV9wcmltaXRpdmVfdmFsdWVfd2hpY2hfaXNfbm90X3Blcm1pdHRlZF9hc190aGVfcmlnaHRfb3BlcmFuZF9vZl90aGVfaW5fb3BlcmF0b18yNjM4XCIsXCJUeXBlICd7MH0nIG1heSByZXByZXNlbnQgYSBwcmltaXRpdmUgdmFsdWUsIHdoaWNoIGlzIG5vdCBwZXJtaXR0ZWQgYXMgdGhlIHJpZ2h0IG9wZXJhbmQgb2YgdGhlICdpbicgb3BlcmF0b3IuXCIpLFJlYWN0X2NvbXBvbmVudHNfY2Fubm90X2luY2x1ZGVfSlNYX25hbWVzcGFjZV9uYW1lczpyKDI2MzksMSxcIlJlYWN0X2NvbXBvbmVudHNfY2Fubm90X2luY2x1ZGVfSlNYX25hbWVzcGFjZV9uYW1lc18yNjM5XCIsXCJSZWFjdCBjb21wb25lbnRzIGNhbm5vdCBpbmNsdWRlIEpTWCBuYW1lc3BhY2UgbmFtZXNcIiksQ2Fubm90X2F1Z21lbnRfbW9kdWxlXzBfd2l0aF92YWx1ZV9leHBvcnRzX2JlY2F1c2VfaXRfcmVzb2x2ZXNfdG9fYV9ub25fbW9kdWxlX2VudGl0eTpyKDI2NDksMSxcIkNhbm5vdF9hdWdtZW50X21vZHVsZV8wX3dpdGhfdmFsdWVfZXhwb3J0c19iZWNhdXNlX2l0X3Jlc29sdmVzX3RvX2Ffbm9uX21vZHVsZV9lbnRpdHlfMjY0OVwiLFwiQ2Fubm90IGF1Z21lbnQgbW9kdWxlICd7MH0nIHdpdGggdmFsdWUgZXhwb3J0cyBiZWNhdXNlIGl0IHJlc29sdmVzIHRvIGEgbm9uLW1vZHVsZSBlbnRpdHkuXCIpLE5vbl9hYnN0cmFjdF9jbGFzc19leHByZXNzaW9uX2lzX21pc3NpbmdfaW1wbGVtZW50YXRpb25zX2Zvcl90aGVfZm9sbG93aW5nX21lbWJlcnNfb2ZfMF9Db2xvbl8xX2FuZF8yX21vcmU6cigyNjUwLDEsXCJOb25fYWJzdHJhY3RfY2xhc3NfZXhwcmVzc2lvbl9pc19taXNzaW5nX2ltcGxlbWVudGF0aW9uc19mb3JfdGhlX2ZvbGxvd2luZ19tZW1iZXJzX29mXzBfQ29sb25fMV9hbmRfXzI2NTBcIixcIk5vbi1hYnN0cmFjdCBjbGFzcyBleHByZXNzaW9uIGlzIG1pc3NpbmcgaW1wbGVtZW50YXRpb25zIGZvciB0aGUgZm9sbG93aW5nIG1lbWJlcnMgb2YgJ3swfSc6IHsxfSBhbmQgezJ9IG1vcmUuXCIpLEFfbWVtYmVyX2luaXRpYWxpemVyX2luX2FfZW51bV9kZWNsYXJhdGlvbl9jYW5ub3RfcmVmZXJlbmNlX21lbWJlcnNfZGVjbGFyZWRfYWZ0ZXJfaXRfaW5jbHVkaW5nX21lbWJlcnNfZGVmaW5lZF9pbl9vdGhlcl9lbnVtczpyKDI2NTEsMSxcIkFfbWVtYmVyX2luaXRpYWxpemVyX2luX2FfZW51bV9kZWNsYXJhdGlvbl9jYW5ub3RfcmVmZXJlbmNlX21lbWJlcnNfZGVjbGFyZWRfYWZ0ZXJfaXRfaW5jbHVkaW5nX21lbWJfMjY1MVwiLFwiQSBtZW1iZXIgaW5pdGlhbGl6ZXIgaW4gYSBlbnVtIGRlY2xhcmF0aW9uIGNhbm5vdCByZWZlcmVuY2UgbWVtYmVycyBkZWNsYXJlZCBhZnRlciBpdCwgaW5jbHVkaW5nIG1lbWJlcnMgZGVmaW5lZCBpbiBvdGhlciBlbnVtcy5cIiksTWVyZ2VkX2RlY2xhcmF0aW9uXzBfY2Fubm90X2luY2x1ZGVfYV9kZWZhdWx0X2V4cG9ydF9kZWNsYXJhdGlvbl9Db25zaWRlcl9hZGRpbmdfYV9zZXBhcmF0ZV9leHBvcnRfZGVmYXVsdF8wX2RlY2xhcmF0aW9uX2luc3RlYWQ6cigyNjUyLDEsXCJNZXJnZWRfZGVjbGFyYXRpb25fMF9jYW5ub3RfaW5jbHVkZV9hX2RlZmF1bHRfZXhwb3J0X2RlY2xhcmF0aW9uX0NvbnNpZGVyX2FkZGluZ19hX3NlcGFyYXRlX2V4cG9ydF9kXzI2NTJcIixcIk1lcmdlZCBkZWNsYXJhdGlvbiAnezB9JyBjYW5ub3QgaW5jbHVkZSBhIGRlZmF1bHQgZXhwb3J0IGRlY2xhcmF0aW9uLiBDb25zaWRlciBhZGRpbmcgYSBzZXBhcmF0ZSAnZXhwb3J0IGRlZmF1bHQgezB9JyBkZWNsYXJhdGlvbiBpbnN0ZWFkLlwiKSxOb25fYWJzdHJhY3RfY2xhc3NfZXhwcmVzc2lvbl9kb2VzX25vdF9pbXBsZW1lbnRfaW5oZXJpdGVkX2Fic3RyYWN0X21lbWJlcl8wX2Zyb21fY2xhc3NfMTpyKDI2NTMsMSxcIk5vbl9hYnN0cmFjdF9jbGFzc19leHByZXNzaW9uX2RvZXNfbm90X2ltcGxlbWVudF9pbmhlcml0ZWRfYWJzdHJhY3RfbWVtYmVyXzBfZnJvbV9jbGFzc18xXzI2NTNcIixcIk5vbi1hYnN0cmFjdCBjbGFzcyBleHByZXNzaW9uIGRvZXMgbm90IGltcGxlbWVudCBpbmhlcml0ZWQgYWJzdHJhY3QgbWVtYmVyICd7MH0nIGZyb20gY2xhc3MgJ3sxfScuXCIpLE5vbl9hYnN0cmFjdF9jbGFzc18wX2lzX21pc3NpbmdfaW1wbGVtZW50YXRpb25zX2Zvcl90aGVfZm9sbG93aW5nX21lbWJlcnNfb2ZfMV9Db2xvbl8yOnIoMjY1NCwxLFwiTm9uX2Fic3RyYWN0X2NsYXNzXzBfaXNfbWlzc2luZ19pbXBsZW1lbnRhdGlvbnNfZm9yX3RoZV9mb2xsb3dpbmdfbWVtYmVyc19vZl8xX0NvbG9uXzJfMjY1NFwiLFwiTm9uLWFic3RyYWN0IGNsYXNzICd7MH0nIGlzIG1pc3NpbmcgaW1wbGVtZW50YXRpb25zIGZvciB0aGUgZm9sbG93aW5nIG1lbWJlcnMgb2YgJ3sxfSc6IHsyfS5cIiksTm9uX2Fic3RyYWN0X2NsYXNzXzBfaXNfbWlzc2luZ19pbXBsZW1lbnRhdGlvbnNfZm9yX3RoZV9mb2xsb3dpbmdfbWVtYmVyc19vZl8xX0NvbG9uXzJfYW5kXzNfbW9yZTpyKDI2NTUsMSxcIk5vbl9hYnN0cmFjdF9jbGFzc18wX2lzX21pc3NpbmdfaW1wbGVtZW50YXRpb25zX2Zvcl90aGVfZm9sbG93aW5nX21lbWJlcnNfb2ZfMV9Db2xvbl8yX2FuZF8zX21vcmVfMjY1NVwiLFwiTm9uLWFic3RyYWN0IGNsYXNzICd7MH0nIGlzIG1pc3NpbmcgaW1wbGVtZW50YXRpb25zIGZvciB0aGUgZm9sbG93aW5nIG1lbWJlcnMgb2YgJ3sxfSc6IHsyfSBhbmQgezN9IG1vcmUuXCIpLE5vbl9hYnN0cmFjdF9jbGFzc19leHByZXNzaW9uX2lzX21pc3NpbmdfaW1wbGVtZW50YXRpb25zX2Zvcl90aGVfZm9sbG93aW5nX21lbWJlcnNfb2ZfMF9Db2xvbl8xOnIoMjY1NiwxLFwiTm9uX2Fic3RyYWN0X2NsYXNzX2V4cHJlc3Npb25faXNfbWlzc2luZ19pbXBsZW1lbnRhdGlvbnNfZm9yX3RoZV9mb2xsb3dpbmdfbWVtYmVyc19vZl8wX0NvbG9uXzFfMjY1NlwiLFwiTm9uLWFic3RyYWN0IGNsYXNzIGV4cHJlc3Npb24gaXMgbWlzc2luZyBpbXBsZW1lbnRhdGlvbnMgZm9yIHRoZSBmb2xsb3dpbmcgbWVtYmVycyBvZiAnezB9JzogezF9LlwiKSxKU1hfZXhwcmVzc2lvbnNfbXVzdF9oYXZlX29uZV9wYXJlbnRfZWxlbWVudDpyKDI2NTcsMSxcIkpTWF9leHByZXNzaW9uc19tdXN0X2hhdmVfb25lX3BhcmVudF9lbGVtZW50XzI2NTdcIixcIkpTWCBleHByZXNzaW9ucyBtdXN0IGhhdmUgb25lIHBhcmVudCBlbGVtZW50LlwiKSxUeXBlXzBfcHJvdmlkZXNfbm9fbWF0Y2hfZm9yX3RoZV9zaWduYXR1cmVfMTpyKDI2NTgsMSxcIlR5cGVfMF9wcm92aWRlc19ub19tYXRjaF9mb3JfdGhlX3NpZ25hdHVyZV8xXzI2NThcIixcIlR5cGUgJ3swfScgcHJvdmlkZXMgbm8gbWF0Y2ggZm9yIHRoZSBzaWduYXR1cmUgJ3sxfScuXCIpLHN1cGVyX2lzX29ubHlfYWxsb3dlZF9pbl9tZW1iZXJzX29mX29iamVjdF9saXRlcmFsX2V4cHJlc3Npb25zX3doZW5fb3B0aW9uX3RhcmdldF9pc19FUzIwMTVfb3JfaGlnaGVyOnIoMjY1OSwxLFwic3VwZXJfaXNfb25seV9hbGxvd2VkX2luX21lbWJlcnNfb2Zfb2JqZWN0X2xpdGVyYWxfZXhwcmVzc2lvbnNfd2hlbl9vcHRpb25fdGFyZ2V0X2lzX0VTMjAxNV9vcl9oaWdoZV8yNjU5XCIsXCInc3VwZXInIGlzIG9ubHkgYWxsb3dlZCBpbiBtZW1iZXJzIG9mIG9iamVjdCBsaXRlcmFsIGV4cHJlc3Npb25zIHdoZW4gb3B0aW9uICd0YXJnZXQnIGlzICdFUzIwMTUnIG9yIGhpZ2hlci5cIiksc3VwZXJfY2FuX29ubHlfYmVfcmVmZXJlbmNlZF9pbl9tZW1iZXJzX29mX2Rlcml2ZWRfY2xhc3Nlc19vcl9vYmplY3RfbGl0ZXJhbF9leHByZXNzaW9uczpyKDI2NjAsMSxcInN1cGVyX2Nhbl9vbmx5X2JlX3JlZmVyZW5jZWRfaW5fbWVtYmVyc19vZl9kZXJpdmVkX2NsYXNzZXNfb3Jfb2JqZWN0X2xpdGVyYWxfZXhwcmVzc2lvbnNfMjY2MFwiLFwiJ3N1cGVyJyBjYW4gb25seSBiZSByZWZlcmVuY2VkIGluIG1lbWJlcnMgb2YgZGVyaXZlZCBjbGFzc2VzIG9yIG9iamVjdCBsaXRlcmFsIGV4cHJlc3Npb25zLlwiKSxDYW5ub3RfZXhwb3J0XzBfT25seV9sb2NhbF9kZWNsYXJhdGlvbnNfY2FuX2JlX2V4cG9ydGVkX2Zyb21fYV9tb2R1bGU6cigyNjYxLDEsXCJDYW5ub3RfZXhwb3J0XzBfT25seV9sb2NhbF9kZWNsYXJhdGlvbnNfY2FuX2JlX2V4cG9ydGVkX2Zyb21fYV9tb2R1bGVfMjY2MVwiLFwiQ2Fubm90IGV4cG9ydCAnezB9Jy4gT25seSBsb2NhbCBkZWNsYXJhdGlvbnMgY2FuIGJlIGV4cG9ydGVkIGZyb20gYSBtb2R1bGUuXCIpLENhbm5vdF9maW5kX25hbWVfMF9EaWRfeW91X21lYW5fdGhlX3N0YXRpY19tZW1iZXJfMV8wOnIoMjY2MiwxLFwiQ2Fubm90X2ZpbmRfbmFtZV8wX0RpZF95b3VfbWVhbl90aGVfc3RhdGljX21lbWJlcl8xXzBfMjY2MlwiLFwiQ2Fubm90IGZpbmQgbmFtZSAnezB9Jy4gRGlkIHlvdSBtZWFuIHRoZSBzdGF0aWMgbWVtYmVyICd7MX0uezB9Jz9cIiksQ2Fubm90X2ZpbmRfbmFtZV8wX0RpZF95b3VfbWVhbl90aGVfaW5zdGFuY2VfbWVtYmVyX3RoaXNfMDpyKDI2NjMsMSxcIkNhbm5vdF9maW5kX25hbWVfMF9EaWRfeW91X21lYW5fdGhlX2luc3RhbmNlX21lbWJlcl90aGlzXzBfMjY2M1wiLFwiQ2Fubm90IGZpbmQgbmFtZSAnezB9Jy4gRGlkIHlvdSBtZWFuIHRoZSBpbnN0YW5jZSBtZW1iZXIgJ3RoaXMuezB9Jz9cIiksSW52YWxpZF9tb2R1bGVfbmFtZV9pbl9hdWdtZW50YXRpb25fbW9kdWxlXzBfY2Fubm90X2JlX2ZvdW5kOnIoMjY2NCwxLFwiSW52YWxpZF9tb2R1bGVfbmFtZV9pbl9hdWdtZW50YXRpb25fbW9kdWxlXzBfY2Fubm90X2JlX2ZvdW5kXzI2NjRcIixcIkludmFsaWQgbW9kdWxlIG5hbWUgaW4gYXVnbWVudGF0aW9uLCBtb2R1bGUgJ3swfScgY2Fubm90IGJlIGZvdW5kLlwiKSxJbnZhbGlkX21vZHVsZV9uYW1lX2luX2F1Z21lbnRhdGlvbl9Nb2R1bGVfMF9yZXNvbHZlc190b19hbl91bnR5cGVkX21vZHVsZV9hdF8xX3doaWNoX2Nhbm5vdF9iZV9hdWdtZW50ZWQ6cigyNjY1LDEsXCJJbnZhbGlkX21vZHVsZV9uYW1lX2luX2F1Z21lbnRhdGlvbl9Nb2R1bGVfMF9yZXNvbHZlc190b19hbl91bnR5cGVkX21vZHVsZV9hdF8xX3doaWNoX2Nhbm5vdF9iZV9hdWdtXzI2NjVcIixcIkludmFsaWQgbW9kdWxlIG5hbWUgaW4gYXVnbWVudGF0aW9uLiBNb2R1bGUgJ3swfScgcmVzb2x2ZXMgdG8gYW4gdW50eXBlZCBtb2R1bGUgYXQgJ3sxfScsIHdoaWNoIGNhbm5vdCBiZSBhdWdtZW50ZWQuXCIpLEV4cG9ydHNfYW5kX2V4cG9ydF9hc3NpZ25tZW50c19hcmVfbm90X3Blcm1pdHRlZF9pbl9tb2R1bGVfYXVnbWVudGF0aW9uczpyKDI2NjYsMSxcIkV4cG9ydHNfYW5kX2V4cG9ydF9hc3NpZ25tZW50c19hcmVfbm90X3Blcm1pdHRlZF9pbl9tb2R1bGVfYXVnbWVudGF0aW9uc18yNjY2XCIsXCJFeHBvcnRzIGFuZCBleHBvcnQgYXNzaWdubWVudHMgYXJlIG5vdCBwZXJtaXR0ZWQgaW4gbW9kdWxlIGF1Z21lbnRhdGlvbnMuXCIpLEltcG9ydHNfYXJlX25vdF9wZXJtaXR0ZWRfaW5fbW9kdWxlX2F1Z21lbnRhdGlvbnNfQ29uc2lkZXJfbW92aW5nX3RoZW1fdG9fdGhlX2VuY2xvc2luZ19leHRlcm5hbF9tb2R1bGU6cigyNjY3LDEsXCJJbXBvcnRzX2FyZV9ub3RfcGVybWl0dGVkX2luX21vZHVsZV9hdWdtZW50YXRpb25zX0NvbnNpZGVyX21vdmluZ190aGVtX3RvX3RoZV9lbmNsb3NpbmdfZXh0ZXJuYWxfbW9kXzI2NjdcIixcIkltcG9ydHMgYXJlIG5vdCBwZXJtaXR0ZWQgaW4gbW9kdWxlIGF1Z21lbnRhdGlvbnMuIENvbnNpZGVyIG1vdmluZyB0aGVtIHRvIHRoZSBlbmNsb3NpbmcgZXh0ZXJuYWwgbW9kdWxlLlwiKSxleHBvcnRfbW9kaWZpZXJfY2Fubm90X2JlX2FwcGxpZWRfdG9fYW1iaWVudF9tb2R1bGVzX2FuZF9tb2R1bGVfYXVnbWVudGF0aW9uc19zaW5jZV90aGV5X2FyZV9hbHdheXNfdmlzaWJsZTpyKDI2NjgsMSxcImV4cG9ydF9tb2RpZmllcl9jYW5ub3RfYmVfYXBwbGllZF90b19hbWJpZW50X21vZHVsZXNfYW5kX21vZHVsZV9hdWdtZW50YXRpb25zX3NpbmNlX3RoZXlfYXJlX2Fsd2F5c19fMjY2OFwiLFwiJ2V4cG9ydCcgbW9kaWZpZXIgY2Fubm90IGJlIGFwcGxpZWQgdG8gYW1iaWVudCBtb2R1bGVzIGFuZCBtb2R1bGUgYXVnbWVudGF0aW9ucyBzaW5jZSB0aGV5IGFyZSBhbHdheXMgdmlzaWJsZS5cIiksQXVnbWVudGF0aW9uc19mb3JfdGhlX2dsb2JhbF9zY29wZV9jYW5fb25seV9iZV9kaXJlY3RseV9uZXN0ZWRfaW5fZXh0ZXJuYWxfbW9kdWxlc19vcl9hbWJpZW50X21vZHVsZV9kZWNsYXJhdGlvbnM6cigyNjY5LDEsXCJBdWdtZW50YXRpb25zX2Zvcl90aGVfZ2xvYmFsX3Njb3BlX2Nhbl9vbmx5X2JlX2RpcmVjdGx5X25lc3RlZF9pbl9leHRlcm5hbF9tb2R1bGVzX29yX2FtYmllbnRfbW9kdWxlXzI2NjlcIixcIkF1Z21lbnRhdGlvbnMgZm9yIHRoZSBnbG9iYWwgc2NvcGUgY2FuIG9ubHkgYmUgZGlyZWN0bHkgbmVzdGVkIGluIGV4dGVybmFsIG1vZHVsZXMgb3IgYW1iaWVudCBtb2R1bGUgZGVjbGFyYXRpb25zLlwiKSxBdWdtZW50YXRpb25zX2Zvcl90aGVfZ2xvYmFsX3Njb3BlX3Nob3VsZF9oYXZlX2RlY2xhcmVfbW9kaWZpZXJfdW5sZXNzX3RoZXlfYXBwZWFyX2luX2FscmVhZHlfYW1iaWVudF9jb250ZXh0OnIoMjY3MCwxLFwiQXVnbWVudGF0aW9uc19mb3JfdGhlX2dsb2JhbF9zY29wZV9zaG91bGRfaGF2ZV9kZWNsYXJlX21vZGlmaWVyX3VubGVzc190aGV5X2FwcGVhcl9pbl9hbHJlYWR5X2FtYmllbl8yNjcwXCIsXCJBdWdtZW50YXRpb25zIGZvciB0aGUgZ2xvYmFsIHNjb3BlIHNob3VsZCBoYXZlICdkZWNsYXJlJyBtb2RpZmllciB1bmxlc3MgdGhleSBhcHBlYXIgaW4gYWxyZWFkeSBhbWJpZW50IGNvbnRleHQuXCIpLENhbm5vdF9hdWdtZW50X21vZHVsZV8wX2JlY2F1c2VfaXRfcmVzb2x2ZXNfdG9fYV9ub25fbW9kdWxlX2VudGl0eTpyKDI2NzEsMSxcIkNhbm5vdF9hdWdtZW50X21vZHVsZV8wX2JlY2F1c2VfaXRfcmVzb2x2ZXNfdG9fYV9ub25fbW9kdWxlX2VudGl0eV8yNjcxXCIsXCJDYW5ub3QgYXVnbWVudCBtb2R1bGUgJ3swfScgYmVjYXVzZSBpdCByZXNvbHZlcyB0byBhIG5vbi1tb2R1bGUgZW50aXR5LlwiKSxDYW5ub3RfYXNzaWduX2FfMF9jb25zdHJ1Y3Rvcl90eXBlX3RvX2FfMV9jb25zdHJ1Y3Rvcl90eXBlOnIoMjY3MiwxLFwiQ2Fubm90X2Fzc2lnbl9hXzBfY29uc3RydWN0b3JfdHlwZV90b19hXzFfY29uc3RydWN0b3JfdHlwZV8yNjcyXCIsXCJDYW5ub3QgYXNzaWduIGEgJ3swfScgY29uc3RydWN0b3IgdHlwZSB0byBhICd7MX0nIGNvbnN0cnVjdG9yIHR5cGUuXCIpLENvbnN0cnVjdG9yX29mX2NsYXNzXzBfaXNfcHJpdmF0ZV9hbmRfb25seV9hY2Nlc3NpYmxlX3dpdGhpbl90aGVfY2xhc3NfZGVjbGFyYXRpb246cigyNjczLDEsXCJDb25zdHJ1Y3Rvcl9vZl9jbGFzc18wX2lzX3ByaXZhdGVfYW5kX29ubHlfYWNjZXNzaWJsZV93aXRoaW5fdGhlX2NsYXNzX2RlY2xhcmF0aW9uXzI2NzNcIixcIkNvbnN0cnVjdG9yIG9mIGNsYXNzICd7MH0nIGlzIHByaXZhdGUgYW5kIG9ubHkgYWNjZXNzaWJsZSB3aXRoaW4gdGhlIGNsYXNzIGRlY2xhcmF0aW9uLlwiKSxDb25zdHJ1Y3Rvcl9vZl9jbGFzc18wX2lzX3Byb3RlY3RlZF9hbmRfb25seV9hY2Nlc3NpYmxlX3dpdGhpbl90aGVfY2xhc3NfZGVjbGFyYXRpb246cigyNjc0LDEsXCJDb25zdHJ1Y3Rvcl9vZl9jbGFzc18wX2lzX3Byb3RlY3RlZF9hbmRfb25seV9hY2Nlc3NpYmxlX3dpdGhpbl90aGVfY2xhc3NfZGVjbGFyYXRpb25fMjY3NFwiLFwiQ29uc3RydWN0b3Igb2YgY2xhc3MgJ3swfScgaXMgcHJvdGVjdGVkIGFuZCBvbmx5IGFjY2Vzc2libGUgd2l0aGluIHRoZSBjbGFzcyBkZWNsYXJhdGlvbi5cIiksQ2Fubm90X2V4dGVuZF9hX2NsYXNzXzBfQ2xhc3NfY29uc3RydWN0b3JfaXNfbWFya2VkX2FzX3ByaXZhdGU6cigyNjc1LDEsXCJDYW5ub3RfZXh0ZW5kX2FfY2xhc3NfMF9DbGFzc19jb25zdHJ1Y3Rvcl9pc19tYXJrZWRfYXNfcHJpdmF0ZV8yNjc1XCIsXCJDYW5ub3QgZXh0ZW5kIGEgY2xhc3MgJ3swfScuIENsYXNzIGNvbnN0cnVjdG9yIGlzIG1hcmtlZCBhcyBwcml2YXRlLlwiKSxBY2Nlc3NvcnNfbXVzdF9ib3RoX2JlX2Fic3RyYWN0X29yX25vbl9hYnN0cmFjdDpyKDI2NzYsMSxcIkFjY2Vzc29yc19tdXN0X2JvdGhfYmVfYWJzdHJhY3Rfb3Jfbm9uX2Fic3RyYWN0XzI2NzZcIixcIkFjY2Vzc29ycyBtdXN0IGJvdGggYmUgYWJzdHJhY3Qgb3Igbm9uLWFic3RyYWN0LlwiKSxBX3R5cGVfcHJlZGljYXRlX3NfdHlwZV9tdXN0X2JlX2Fzc2lnbmFibGVfdG9faXRzX3BhcmFtZXRlcl9zX3R5cGU6cigyNjc3LDEsXCJBX3R5cGVfcHJlZGljYXRlX3NfdHlwZV9tdXN0X2JlX2Fzc2lnbmFibGVfdG9faXRzX3BhcmFtZXRlcl9zX3R5cGVfMjY3N1wiLFwiQSB0eXBlIHByZWRpY2F0ZSdzIHR5cGUgbXVzdCBiZSBhc3NpZ25hYmxlIHRvIGl0cyBwYXJhbWV0ZXIncyB0eXBlLlwiKSxUeXBlXzBfaXNfbm90X2NvbXBhcmFibGVfdG9fdHlwZV8xOnIoMjY3OCwxLFwiVHlwZV8wX2lzX25vdF9jb21wYXJhYmxlX3RvX3R5cGVfMV8yNjc4XCIsXCJUeXBlICd7MH0nIGlzIG5vdCBjb21wYXJhYmxlIHRvIHR5cGUgJ3sxfScuXCIpLEFfZnVuY3Rpb25fdGhhdF9pc19jYWxsZWRfd2l0aF90aGVfbmV3X2tleXdvcmRfY2Fubm90X2hhdmVfYV90aGlzX3R5cGVfdGhhdF9pc192b2lkOnIoMjY3OSwxLFwiQV9mdW5jdGlvbl90aGF0X2lzX2NhbGxlZF93aXRoX3RoZV9uZXdfa2V5d29yZF9jYW5ub3RfaGF2ZV9hX3RoaXNfdHlwZV90aGF0X2lzX3ZvaWRfMjY3OVwiLFwiQSBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aXRoIHRoZSAnbmV3JyBrZXl3b3JkIGNhbm5vdCBoYXZlIGEgJ3RoaXMnIHR5cGUgdGhhdCBpcyAndm9pZCcuXCIpLEFfMF9wYXJhbWV0ZXJfbXVzdF9iZV90aGVfZmlyc3RfcGFyYW1ldGVyOnIoMjY4MCwxLFwiQV8wX3BhcmFtZXRlcl9tdXN0X2JlX3RoZV9maXJzdF9wYXJhbWV0ZXJfMjY4MFwiLFwiQSAnezB9JyBwYXJhbWV0ZXIgbXVzdCBiZSB0aGUgZmlyc3QgcGFyYW1ldGVyLlwiKSxBX2NvbnN0cnVjdG9yX2Nhbm5vdF9oYXZlX2FfdGhpc19wYXJhbWV0ZXI6cigyNjgxLDEsXCJBX2NvbnN0cnVjdG9yX2Nhbm5vdF9oYXZlX2FfdGhpc19wYXJhbWV0ZXJfMjY4MVwiLFwiQSBjb25zdHJ1Y3RvciBjYW5ub3QgaGF2ZSBhICd0aGlzJyBwYXJhbWV0ZXIuXCIpLHRoaXNfaW1wbGljaXRseV9oYXNfdHlwZV9hbnlfYmVjYXVzZV9pdF9kb2VzX25vdF9oYXZlX2FfdHlwZV9hbm5vdGF0aW9uOnIoMjY4MywxLFwidGhpc19pbXBsaWNpdGx5X2hhc190eXBlX2FueV9iZWNhdXNlX2l0X2RvZXNfbm90X2hhdmVfYV90eXBlX2Fubm90YXRpb25fMjY4M1wiLFwiJ3RoaXMnIGltcGxpY2l0bHkgaGFzIHR5cGUgJ2FueScgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgdHlwZSBhbm5vdGF0aW9uLlwiKSxUaGVfdGhpc19jb250ZXh0X29mX3R5cGVfMF9pc19ub3RfYXNzaWduYWJsZV90b19tZXRob2Rfc190aGlzX29mX3R5cGVfMTpyKDI2ODQsMSxcIlRoZV90aGlzX2NvbnRleHRfb2ZfdHlwZV8wX2lzX25vdF9hc3NpZ25hYmxlX3RvX21ldGhvZF9zX3RoaXNfb2ZfdHlwZV8xXzI2ODRcIixcIlRoZSAndGhpcycgY29udGV4dCBvZiB0eXBlICd7MH0nIGlzIG5vdCBhc3NpZ25hYmxlIHRvIG1ldGhvZCdzICd0aGlzJyBvZiB0eXBlICd7MX0nLlwiKSxUaGVfdGhpc190eXBlc19vZl9lYWNoX3NpZ25hdHVyZV9hcmVfaW5jb21wYXRpYmxlOnIoMjY4NSwxLFwiVGhlX3RoaXNfdHlwZXNfb2ZfZWFjaF9zaWduYXR1cmVfYXJlX2luY29tcGF0aWJsZV8yNjg1XCIsXCJUaGUgJ3RoaXMnIHR5cGVzIG9mIGVhY2ggc2lnbmF0dXJlIGFyZSBpbmNvbXBhdGlibGUuXCIpLF8wX3JlZmVyc190b19hX1VNRF9nbG9iYWxfYnV0X3RoZV9jdXJyZW50X2ZpbGVfaXNfYV9tb2R1bGVfQ29uc2lkZXJfYWRkaW5nX2FuX2ltcG9ydF9pbnN0ZWFkOnIoMjY4NiwxLFwiXzBfcmVmZXJzX3RvX2FfVU1EX2dsb2JhbF9idXRfdGhlX2N1cnJlbnRfZmlsZV9pc19hX21vZHVsZV9Db25zaWRlcl9hZGRpbmdfYW5faW1wb3J0X2luc3RlYWRfMjY4NlwiLFwiJ3swfScgcmVmZXJzIHRvIGEgVU1EIGdsb2JhbCwgYnV0IHRoZSBjdXJyZW50IGZpbGUgaXMgYSBtb2R1bGUuIENvbnNpZGVyIGFkZGluZyBhbiBpbXBvcnQgaW5zdGVhZC5cIiksQWxsX2RlY2xhcmF0aW9uc19vZl8wX211c3RfaGF2ZV9pZGVudGljYWxfbW9kaWZpZXJzOnIoMjY4NywxLFwiQWxsX2RlY2xhcmF0aW9uc19vZl8wX211c3RfaGF2ZV9pZGVudGljYWxfbW9kaWZpZXJzXzI2ODdcIixcIkFsbCBkZWNsYXJhdGlvbnMgb2YgJ3swfScgbXVzdCBoYXZlIGlkZW50aWNhbCBtb2RpZmllcnMuXCIpLENhbm5vdF9maW5kX3R5cGVfZGVmaW5pdGlvbl9maWxlX2Zvcl8wOnIoMjY4OCwxLFwiQ2Fubm90X2ZpbmRfdHlwZV9kZWZpbml0aW9uX2ZpbGVfZm9yXzBfMjY4OFwiLFwiQ2Fubm90IGZpbmQgdHlwZSBkZWZpbml0aW9uIGZpbGUgZm9yICd7MH0nLlwiKSxDYW5ub3RfZXh0ZW5kX2FuX2ludGVyZmFjZV8wX0RpZF95b3VfbWVhbl9pbXBsZW1lbnRzOnIoMjY4OSwxLFwiQ2Fubm90X2V4dGVuZF9hbl9pbnRlcmZhY2VfMF9EaWRfeW91X21lYW5faW1wbGVtZW50c18yNjg5XCIsXCJDYW5ub3QgZXh0ZW5kIGFuIGludGVyZmFjZSAnezB9Jy4gRGlkIHlvdSBtZWFuICdpbXBsZW1lbnRzJz9cIiksXzBfb25seV9yZWZlcnNfdG9fYV90eXBlX2J1dF9pc19iZWluZ191c2VkX2FzX2FfdmFsdWVfaGVyZV9EaWRfeW91X21lYW5fdG9fdXNlXzFfaW5fMDpyKDI2OTAsMSxcIl8wX29ubHlfcmVmZXJzX3RvX2FfdHlwZV9idXRfaXNfYmVpbmdfdXNlZF9hc19hX3ZhbHVlX2hlcmVfRGlkX3lvdV9tZWFuX3RvX3VzZV8xX2luXzBfMjY5MFwiLFwiJ3swfScgb25seSByZWZlcnMgdG8gYSB0eXBlLCBidXQgaXMgYmVpbmcgdXNlZCBhcyBhIHZhbHVlIGhlcmUuIERpZCB5b3UgbWVhbiB0byB1c2UgJ3sxfSBpbiB7MH0nP1wiKSxfMF9pc19hX3ByaW1pdGl2ZV9idXRfMV9pc19hX3dyYXBwZXJfb2JqZWN0X1ByZWZlcl91c2luZ18wX3doZW5fcG9zc2libGU6cigyNjkyLDEsXCJfMF9pc19hX3ByaW1pdGl2ZV9idXRfMV9pc19hX3dyYXBwZXJfb2JqZWN0X1ByZWZlcl91c2luZ18wX3doZW5fcG9zc2libGVfMjY5MlwiLFwiJ3swfScgaXMgYSBwcmltaXRpdmUsIGJ1dCAnezF9JyBpcyBhIHdyYXBwZXIgb2JqZWN0LiBQcmVmZXIgdXNpbmcgJ3swfScgd2hlbiBwb3NzaWJsZS5cIiksXzBfb25seV9yZWZlcnNfdG9fYV90eXBlX2J1dF9pc19iZWluZ191c2VkX2FzX2FfdmFsdWVfaGVyZTpyKDI2OTMsMSxcIl8wX29ubHlfcmVmZXJzX3RvX2FfdHlwZV9idXRfaXNfYmVpbmdfdXNlZF9hc19hX3ZhbHVlX2hlcmVfMjY5M1wiLFwiJ3swfScgb25seSByZWZlcnMgdG8gYSB0eXBlLCBidXQgaXMgYmVpbmcgdXNlZCBhcyBhIHZhbHVlIGhlcmUuXCIpLE5hbWVzcGFjZV8wX2hhc19ub19leHBvcnRlZF9tZW1iZXJfMTpyKDI2OTQsMSxcIk5hbWVzcGFjZV8wX2hhc19ub19leHBvcnRlZF9tZW1iZXJfMV8yNjk0XCIsXCJOYW1lc3BhY2UgJ3swfScgaGFzIG5vIGV4cG9ydGVkIG1lbWJlciAnezF9Jy5cIiksTGVmdF9zaWRlX29mX2NvbW1hX29wZXJhdG9yX2lzX3VudXNlZF9hbmRfaGFzX25vX3NpZGVfZWZmZWN0czpyKDI2OTUsMSxcIkxlZnRfc2lkZV9vZl9jb21tYV9vcGVyYXRvcl9pc191bnVzZWRfYW5kX2hhc19ub19zaWRlX2VmZmVjdHNfMjY5NVwiLFwiTGVmdCBzaWRlIG9mIGNvbW1hIG9wZXJhdG9yIGlzIHVudXNlZCBhbmQgaGFzIG5vIHNpZGUgZWZmZWN0cy5cIiwhMCksVGhlX09iamVjdF90eXBlX2lzX2Fzc2lnbmFibGVfdG9fdmVyeV9mZXdfb3RoZXJfdHlwZXNfRGlkX3lvdV9tZWFuX3RvX3VzZV90aGVfYW55X3R5cGVfaW5zdGVhZDpyKDI2OTYsMSxcIlRoZV9PYmplY3RfdHlwZV9pc19hc3NpZ25hYmxlX3RvX3ZlcnlfZmV3X290aGVyX3R5cGVzX0RpZF95b3VfbWVhbl90b191c2VfdGhlX2FueV90eXBlX2luc3RlYWRfMjY5NlwiLFwiVGhlICdPYmplY3QnIHR5cGUgaXMgYXNzaWduYWJsZSB0byB2ZXJ5IGZldyBvdGhlciB0eXBlcy4gRGlkIHlvdSBtZWFuIHRvIHVzZSB0aGUgJ2FueScgdHlwZSBpbnN0ZWFkP1wiKSxBbl9hc3luY19mdW5jdGlvbl9vcl9tZXRob2RfbXVzdF9yZXR1cm5fYV9Qcm9taXNlX01ha2Vfc3VyZV95b3VfaGF2ZV9hX2RlY2xhcmF0aW9uX2Zvcl9Qcm9taXNlX29yX2luY2x1ZGVfRVMyMDE1X2luX3lvdXJfbGliX29wdGlvbjpyKDI2OTcsMSxcIkFuX2FzeW5jX2Z1bmN0aW9uX29yX21ldGhvZF9tdXN0X3JldHVybl9hX1Byb21pc2VfTWFrZV9zdXJlX3lvdV9oYXZlX2FfZGVjbGFyYXRpb25fZm9yX1Byb21pc2Vfb3JfaW5fMjY5N1wiLFwiQW4gYXN5bmMgZnVuY3Rpb24gb3IgbWV0aG9kIG11c3QgcmV0dXJuIGEgJ1Byb21pc2UnLiBNYWtlIHN1cmUgeW91IGhhdmUgYSBkZWNsYXJhdGlvbiBmb3IgJ1Byb21pc2UnIG9yIGluY2x1ZGUgJ0VTMjAxNScgaW4geW91ciAnLS1saWInIG9wdGlvbi5cIiksU3ByZWFkX3R5cGVzX21heV9vbmx5X2JlX2NyZWF0ZWRfZnJvbV9vYmplY3RfdHlwZXM6cigyNjk4LDEsXCJTcHJlYWRfdHlwZXNfbWF5X29ubHlfYmVfY3JlYXRlZF9mcm9tX29iamVjdF90eXBlc18yNjk4XCIsXCJTcHJlYWQgdHlwZXMgbWF5IG9ubHkgYmUgY3JlYXRlZCBmcm9tIG9iamVjdCB0eXBlcy5cIiksU3RhdGljX3Byb3BlcnR5XzBfY29uZmxpY3RzX3dpdGhfYnVpbHRfaW5fcHJvcGVydHlfRnVuY3Rpb25fMF9vZl9jb25zdHJ1Y3Rvcl9mdW5jdGlvbl8xOnIoMjY5OSwxLFwiU3RhdGljX3Byb3BlcnR5XzBfY29uZmxpY3RzX3dpdGhfYnVpbHRfaW5fcHJvcGVydHlfRnVuY3Rpb25fMF9vZl9jb25zdHJ1Y3Rvcl9mdW5jdGlvbl8xXzI2OTlcIixcIlN0YXRpYyBwcm9wZXJ0eSAnezB9JyBjb25mbGljdHMgd2l0aCBidWlsdC1pbiBwcm9wZXJ0eSAnRnVuY3Rpb24uezB9JyBvZiBjb25zdHJ1Y3RvciBmdW5jdGlvbiAnezF9Jy5cIiksUmVzdF90eXBlc19tYXlfb25seV9iZV9jcmVhdGVkX2Zyb21fb2JqZWN0X3R5cGVzOnIoMjcwMCwxLFwiUmVzdF90eXBlc19tYXlfb25seV9iZV9jcmVhdGVkX2Zyb21fb2JqZWN0X3R5cGVzXzI3MDBcIixcIlJlc3QgdHlwZXMgbWF5IG9ubHkgYmUgY3JlYXRlZCBmcm9tIG9iamVjdCB0eXBlcy5cIiksVGhlX3RhcmdldF9vZl9hbl9vYmplY3RfcmVzdF9hc3NpZ25tZW50X211c3RfYmVfYV92YXJpYWJsZV9vcl9hX3Byb3BlcnR5X2FjY2VzczpyKDI3MDEsMSxcIlRoZV90YXJnZXRfb2ZfYW5fb2JqZWN0X3Jlc3RfYXNzaWdubWVudF9tdXN0X2JlX2FfdmFyaWFibGVfb3JfYV9wcm9wZXJ0eV9hY2Nlc3NfMjcwMVwiLFwiVGhlIHRhcmdldCBvZiBhbiBvYmplY3QgcmVzdCBhc3NpZ25tZW50IG11c3QgYmUgYSB2YXJpYWJsZSBvciBhIHByb3BlcnR5IGFjY2Vzcy5cIiksXzBfb25seV9yZWZlcnNfdG9fYV90eXBlX2J1dF9pc19iZWluZ191c2VkX2FzX2FfbmFtZXNwYWNlX2hlcmU6cigyNzAyLDEsXCJfMF9vbmx5X3JlZmVyc190b19hX3R5cGVfYnV0X2lzX2JlaW5nX3VzZWRfYXNfYV9uYW1lc3BhY2VfaGVyZV8yNzAyXCIsXCInezB9JyBvbmx5IHJlZmVycyB0byBhIHR5cGUsIGJ1dCBpcyBiZWluZyB1c2VkIGFzIGEgbmFtZXNwYWNlIGhlcmUuXCIpLFRoZV9vcGVyYW5kX29mX2FfZGVsZXRlX29wZXJhdG9yX211c3RfYmVfYV9wcm9wZXJ0eV9yZWZlcmVuY2U6cigyNzAzLDEsXCJUaGVfb3BlcmFuZF9vZl9hX2RlbGV0ZV9vcGVyYXRvcl9tdXN0X2JlX2FfcHJvcGVydHlfcmVmZXJlbmNlXzI3MDNcIixcIlRoZSBvcGVyYW5kIG9mIGEgJ2RlbGV0ZScgb3BlcmF0b3IgbXVzdCBiZSBhIHByb3BlcnR5IHJlZmVyZW5jZS5cIiksVGhlX29wZXJhbmRfb2ZfYV9kZWxldGVfb3BlcmF0b3JfY2Fubm90X2JlX2FfcmVhZF9vbmx5X3Byb3BlcnR5OnIoMjcwNCwxLFwiVGhlX29wZXJhbmRfb2ZfYV9kZWxldGVfb3BlcmF0b3JfY2Fubm90X2JlX2FfcmVhZF9vbmx5X3Byb3BlcnR5XzI3MDRcIixcIlRoZSBvcGVyYW5kIG9mIGEgJ2RlbGV0ZScgb3BlcmF0b3IgY2Fubm90IGJlIGEgcmVhZC1vbmx5IHByb3BlcnR5LlwiKSxBbl9hc3luY19mdW5jdGlvbl9vcl9tZXRob2RfaW5fRVM1X3JlcXVpcmVzX3RoZV9Qcm9taXNlX2NvbnN0cnVjdG9yX01ha2Vfc3VyZV95b3VfaGF2ZV9hX2RlY2xhcmF0aW9uX2Zvcl90aGVfUHJvbWlzZV9jb25zdHJ1Y3Rvcl9vcl9pbmNsdWRlX0VTMjAxNV9pbl95b3VyX2xpYl9vcHRpb246cigyNzA1LDEsXCJBbl9hc3luY19mdW5jdGlvbl9vcl9tZXRob2RfaW5fRVM1X3JlcXVpcmVzX3RoZV9Qcm9taXNlX2NvbnN0cnVjdG9yX01ha2Vfc3VyZV95b3VfaGF2ZV9hX2RlY2xhcmF0aW9uXzI3MDVcIixcIkFuIGFzeW5jIGZ1bmN0aW9uIG9yIG1ldGhvZCBpbiBFUzUgcmVxdWlyZXMgdGhlICdQcm9taXNlJyBjb25zdHJ1Y3Rvci4gIE1ha2Ugc3VyZSB5b3UgaGF2ZSBhIGRlY2xhcmF0aW9uIGZvciB0aGUgJ1Byb21pc2UnIGNvbnN0cnVjdG9yIG9yIGluY2x1ZGUgJ0VTMjAxNScgaW4geW91ciAnLS1saWInIG9wdGlvbi5cIiksUmVxdWlyZWRfdHlwZV9wYXJhbWV0ZXJzX21heV9ub3RfZm9sbG93X29wdGlvbmFsX3R5cGVfcGFyYW1ldGVyczpyKDI3MDYsMSxcIlJlcXVpcmVkX3R5cGVfcGFyYW1ldGVyc19tYXlfbm90X2ZvbGxvd19vcHRpb25hbF90eXBlX3BhcmFtZXRlcnNfMjcwNlwiLFwiUmVxdWlyZWQgdHlwZSBwYXJhbWV0ZXJzIG1heSBub3QgZm9sbG93IG9wdGlvbmFsIHR5cGUgcGFyYW1ldGVycy5cIiksR2VuZXJpY190eXBlXzBfcmVxdWlyZXNfYmV0d2Vlbl8xX2FuZF8yX3R5cGVfYXJndW1lbnRzOnIoMjcwNywxLFwiR2VuZXJpY190eXBlXzBfcmVxdWlyZXNfYmV0d2Vlbl8xX2FuZF8yX3R5cGVfYXJndW1lbnRzXzI3MDdcIixcIkdlbmVyaWMgdHlwZSAnezB9JyByZXF1aXJlcyBiZXR3ZWVuIHsxfSBhbmQgezJ9IHR5cGUgYXJndW1lbnRzLlwiKSxDYW5ub3RfdXNlX25hbWVzcGFjZV8wX2FzX2FfdmFsdWU6cigyNzA4LDEsXCJDYW5ub3RfdXNlX25hbWVzcGFjZV8wX2FzX2FfdmFsdWVfMjcwOFwiLFwiQ2Fubm90IHVzZSBuYW1lc3BhY2UgJ3swfScgYXMgYSB2YWx1ZS5cIiksQ2Fubm90X3VzZV9uYW1lc3BhY2VfMF9hc19hX3R5cGU6cigyNzA5LDEsXCJDYW5ub3RfdXNlX25hbWVzcGFjZV8wX2FzX2FfdHlwZV8yNzA5XCIsXCJDYW5ub3QgdXNlIG5hbWVzcGFjZSAnezB9JyBhcyBhIHR5cGUuXCIpLF8wX2FyZV9zcGVjaWZpZWRfdHdpY2VfVGhlX2F0dHJpYnV0ZV9uYW1lZF8wX3dpbGxfYmVfb3ZlcndyaXR0ZW46cigyNzEwLDEsXCJfMF9hcmVfc3BlY2lmaWVkX3R3aWNlX1RoZV9hdHRyaWJ1dGVfbmFtZWRfMF93aWxsX2JlX292ZXJ3cml0dGVuXzI3MTBcIixcIid7MH0nIGFyZSBzcGVjaWZpZWQgdHdpY2UuIFRoZSBhdHRyaWJ1dGUgbmFtZWQgJ3swfScgd2lsbCBiZSBvdmVyd3JpdHRlbi5cIiksQV9keW5hbWljX2ltcG9ydF9jYWxsX3JldHVybnNfYV9Qcm9taXNlX01ha2Vfc3VyZV95b3VfaGF2ZV9hX2RlY2xhcmF0aW9uX2Zvcl9Qcm9taXNlX29yX2luY2x1ZGVfRVMyMDE1X2luX3lvdXJfbGliX29wdGlvbjpyKDI3MTEsMSxcIkFfZHluYW1pY19pbXBvcnRfY2FsbF9yZXR1cm5zX2FfUHJvbWlzZV9NYWtlX3N1cmVfeW91X2hhdmVfYV9kZWNsYXJhdGlvbl9mb3JfUHJvbWlzZV9vcl9pbmNsdWRlX0VTMjBfMjcxMVwiLFwiQSBkeW5hbWljIGltcG9ydCBjYWxsIHJldHVybnMgYSAnUHJvbWlzZScuIE1ha2Ugc3VyZSB5b3UgaGF2ZSBhIGRlY2xhcmF0aW9uIGZvciAnUHJvbWlzZScgb3IgaW5jbHVkZSAnRVMyMDE1JyBpbiB5b3VyICctLWxpYicgb3B0aW9uLlwiKSxBX2R5bmFtaWNfaW1wb3J0X2NhbGxfaW5fRVM1X3JlcXVpcmVzX3RoZV9Qcm9taXNlX2NvbnN0cnVjdG9yX01ha2Vfc3VyZV95b3VfaGF2ZV9hX2RlY2xhcmF0aW9uX2Zvcl90aGVfUHJvbWlzZV9jb25zdHJ1Y3Rvcl9vcl9pbmNsdWRlX0VTMjAxNV9pbl95b3VyX2xpYl9vcHRpb246cigyNzEyLDEsXCJBX2R5bmFtaWNfaW1wb3J0X2NhbGxfaW5fRVM1X3JlcXVpcmVzX3RoZV9Qcm9taXNlX2NvbnN0cnVjdG9yX01ha2Vfc3VyZV95b3VfaGF2ZV9hX2RlY2xhcmF0aW9uX2Zvcl90XzI3MTJcIixcIkEgZHluYW1pYyBpbXBvcnQgY2FsbCBpbiBFUzUgcmVxdWlyZXMgdGhlICdQcm9taXNlJyBjb25zdHJ1Y3Rvci4gIE1ha2Ugc3VyZSB5b3UgaGF2ZSBhIGRlY2xhcmF0aW9uIGZvciB0aGUgJ1Byb21pc2UnIGNvbnN0cnVjdG9yIG9yIGluY2x1ZGUgJ0VTMjAxNScgaW4geW91ciAnLS1saWInIG9wdGlvbi5cIiksQ2Fubm90X2FjY2Vzc18wXzFfYmVjYXVzZV8wX2lzX2FfdHlwZV9idXRfbm90X2FfbmFtZXNwYWNlX0RpZF95b3VfbWVhbl90b19yZXRyaWV2ZV90aGVfdHlwZV9vZl90aGVfcHJvcGVydHlfMV9pbl8wX3dpdGhfMF8xOnIoMjcxMywxLFwiQ2Fubm90X2FjY2Vzc18wXzFfYmVjYXVzZV8wX2lzX2FfdHlwZV9idXRfbm90X2FfbmFtZXNwYWNlX0RpZF95b3VfbWVhbl90b19yZXRyaWV2ZV90aGVfdHlwZV9vZl90aGVfcF8yNzEzXCIsYENhbm5vdCBhY2Nlc3MgJ3swfS57MX0nIGJlY2F1c2UgJ3swfScgaXMgYSB0eXBlLCBidXQgbm90IGEgbmFtZXNwYWNlLiBEaWQgeW91IG1lYW4gdG8gcmV0cmlldmUgdGhlIHR5cGUgb2YgdGhlIHByb3BlcnR5ICd7MX0nIGluICd7MH0nIHdpdGggJ3swfVtcInsxfVwiXSc/YCksVGhlX2V4cHJlc3Npb25fb2ZfYW5fZXhwb3J0X2Fzc2lnbm1lbnRfbXVzdF9iZV9hbl9pZGVudGlmaWVyX29yX3F1YWxpZmllZF9uYW1lX2luX2FuX2FtYmllbnRfY29udGV4dDpyKDI3MTQsMSxcIlRoZV9leHByZXNzaW9uX29mX2FuX2V4cG9ydF9hc3NpZ25tZW50X211c3RfYmVfYW5faWRlbnRpZmllcl9vcl9xdWFsaWZpZWRfbmFtZV9pbl9hbl9hbWJpZW50X2NvbnRleHRfMjcxNFwiLFwiVGhlIGV4cHJlc3Npb24gb2YgYW4gZXhwb3J0IGFzc2lnbm1lbnQgbXVzdCBiZSBhbiBpZGVudGlmaWVyIG9yIHF1YWxpZmllZCBuYW1lIGluIGFuIGFtYmllbnQgY29udGV4dC5cIiksQWJzdHJhY3RfcHJvcGVydHlfMF9pbl9jbGFzc18xX2Nhbm5vdF9iZV9hY2Nlc3NlZF9pbl90aGVfY29uc3RydWN0b3I6cigyNzE1LDEsXCJBYnN0cmFjdF9wcm9wZXJ0eV8wX2luX2NsYXNzXzFfY2Fubm90X2JlX2FjY2Vzc2VkX2luX3RoZV9jb25zdHJ1Y3Rvcl8yNzE1XCIsXCJBYnN0cmFjdCBwcm9wZXJ0eSAnezB9JyBpbiBjbGFzcyAnezF9JyBjYW5ub3QgYmUgYWNjZXNzZWQgaW4gdGhlIGNvbnN0cnVjdG9yLlwiKSxUeXBlX3BhcmFtZXRlcl8wX2hhc19hX2NpcmN1bGFyX2RlZmF1bHQ6cigyNzE2LDEsXCJUeXBlX3BhcmFtZXRlcl8wX2hhc19hX2NpcmN1bGFyX2RlZmF1bHRfMjcxNlwiLFwiVHlwZSBwYXJhbWV0ZXIgJ3swfScgaGFzIGEgY2lyY3VsYXIgZGVmYXVsdC5cIiksU3Vic2VxdWVudF9wcm9wZXJ0eV9kZWNsYXJhdGlvbnNfbXVzdF9oYXZlX3RoZV9zYW1lX3R5cGVfUHJvcGVydHlfMF9tdXN0X2JlX29mX3R5cGVfMV9idXRfaGVyZV9oYXNfdHlwZV8yOnIoMjcxNywxLFwiU3Vic2VxdWVudF9wcm9wZXJ0eV9kZWNsYXJhdGlvbnNfbXVzdF9oYXZlX3RoZV9zYW1lX3R5cGVfUHJvcGVydHlfMF9tdXN0X2JlX29mX3R5cGVfMV9idXRfaGVyZV9oYXNfdF8yNzE3XCIsXCJTdWJzZXF1ZW50IHByb3BlcnR5IGRlY2xhcmF0aW9ucyBtdXN0IGhhdmUgdGhlIHNhbWUgdHlwZS4gIFByb3BlcnR5ICd7MH0nIG11c3QgYmUgb2YgdHlwZSAnezF9JywgYnV0IGhlcmUgaGFzIHR5cGUgJ3syfScuXCIpLER1cGxpY2F0ZV9wcm9wZXJ0eV8wOnIoMjcxOCwxLFwiRHVwbGljYXRlX3Byb3BlcnR5XzBfMjcxOFwiLFwiRHVwbGljYXRlIHByb3BlcnR5ICd7MH0nLlwiKSxUeXBlXzBfaXNfbm90X2Fzc2lnbmFibGVfdG9fdHlwZV8xX1R3b19kaWZmZXJlbnRfdHlwZXNfd2l0aF90aGlzX25hbWVfZXhpc3RfYnV0X3RoZXlfYXJlX3VucmVsYXRlZDpyKDI3MTksMSxcIlR5cGVfMF9pc19ub3RfYXNzaWduYWJsZV90b190eXBlXzFfVHdvX2RpZmZlcmVudF90eXBlc193aXRoX3RoaXNfbmFtZV9leGlzdF9idXRfdGhleV9hcmVfdW5yZWxhdGVkXzI3MTlcIixcIlR5cGUgJ3swfScgaXMgbm90IGFzc2lnbmFibGUgdG8gdHlwZSAnezF9Jy4gVHdvIGRpZmZlcmVudCB0eXBlcyB3aXRoIHRoaXMgbmFtZSBleGlzdCwgYnV0IHRoZXkgYXJlIHVucmVsYXRlZC5cIiksQ2xhc3NfMF9pbmNvcnJlY3RseV9pbXBsZW1lbnRzX2NsYXNzXzFfRGlkX3lvdV9tZWFuX3RvX2V4dGVuZF8xX2FuZF9pbmhlcml0X2l0c19tZW1iZXJzX2FzX2Ffc3ViY2xhc3M6cigyNzIwLDEsXCJDbGFzc18wX2luY29ycmVjdGx5X2ltcGxlbWVudHNfY2xhc3NfMV9EaWRfeW91X21lYW5fdG9fZXh0ZW5kXzFfYW5kX2luaGVyaXRfaXRzX21lbWJlcnNfYXNfYV9zdWJjbGFzXzI3MjBcIixcIkNsYXNzICd7MH0nIGluY29ycmVjdGx5IGltcGxlbWVudHMgY2xhc3MgJ3sxfScuIERpZCB5b3UgbWVhbiB0byBleHRlbmQgJ3sxfScgYW5kIGluaGVyaXQgaXRzIG1lbWJlcnMgYXMgYSBzdWJjbGFzcz9cIiksQ2Fubm90X2ludm9rZV9hbl9vYmplY3Rfd2hpY2hfaXNfcG9zc2libHlfbnVsbDpyKDI3MjEsMSxcIkNhbm5vdF9pbnZva2VfYW5fb2JqZWN0X3doaWNoX2lzX3Bvc3NpYmx5X251bGxfMjcyMVwiLFwiQ2Fubm90IGludm9rZSBhbiBvYmplY3Qgd2hpY2ggaXMgcG9zc2libHkgJ251bGwnLlwiKSxDYW5ub3RfaW52b2tlX2FuX29iamVjdF93aGljaF9pc19wb3NzaWJseV91bmRlZmluZWQ6cigyNzIyLDEsXCJDYW5ub3RfaW52b2tlX2FuX29iamVjdF93aGljaF9pc19wb3NzaWJseV91bmRlZmluZWRfMjcyMlwiLFwiQ2Fubm90IGludm9rZSBhbiBvYmplY3Qgd2hpY2ggaXMgcG9zc2libHkgJ3VuZGVmaW5lZCcuXCIpLENhbm5vdF9pbnZva2VfYW5fb2JqZWN0X3doaWNoX2lzX3Bvc3NpYmx5X251bGxfb3JfdW5kZWZpbmVkOnIoMjcyMywxLFwiQ2Fubm90X2ludm9rZV9hbl9vYmplY3Rfd2hpY2hfaXNfcG9zc2libHlfbnVsbF9vcl91bmRlZmluZWRfMjcyM1wiLFwiQ2Fubm90IGludm9rZSBhbiBvYmplY3Qgd2hpY2ggaXMgcG9zc2libHkgJ251bGwnIG9yICd1bmRlZmluZWQnLlwiKSxfMF9oYXNfbm9fZXhwb3J0ZWRfbWVtYmVyX25hbWVkXzFfRGlkX3lvdV9tZWFuXzI6cigyNzI0LDEsXCJfMF9oYXNfbm9fZXhwb3J0ZWRfbWVtYmVyX25hbWVkXzFfRGlkX3lvdV9tZWFuXzJfMjcyNFwiLFwiJ3swfScgaGFzIG5vIGV4cG9ydGVkIG1lbWJlciBuYW1lZCAnezF9Jy4gRGlkIHlvdSBtZWFuICd7Mn0nP1wiKSxDbGFzc19uYW1lX2Nhbm5vdF9iZV9PYmplY3Rfd2hlbl90YXJnZXRpbmdfRVM1X3dpdGhfbW9kdWxlXzA6cigyNzI1LDEsXCJDbGFzc19uYW1lX2Nhbm5vdF9iZV9PYmplY3Rfd2hlbl90YXJnZXRpbmdfRVM1X3dpdGhfbW9kdWxlXzBfMjcyNVwiLFwiQ2xhc3MgbmFtZSBjYW5ub3QgYmUgJ09iamVjdCcgd2hlbiB0YXJnZXRpbmcgRVM1IHdpdGggbW9kdWxlIHswfS5cIiksQ2Fubm90X2ZpbmRfbGliX2RlZmluaXRpb25fZm9yXzA6cigyNzI2LDEsXCJDYW5ub3RfZmluZF9saWJfZGVmaW5pdGlvbl9mb3JfMF8yNzI2XCIsXCJDYW5ub3QgZmluZCBsaWIgZGVmaW5pdGlvbiBmb3IgJ3swfScuXCIpLENhbm5vdF9maW5kX2xpYl9kZWZpbml0aW9uX2Zvcl8wX0RpZF95b3VfbWVhbl8xOnIoMjcyNywxLFwiQ2Fubm90X2ZpbmRfbGliX2RlZmluaXRpb25fZm9yXzBfRGlkX3lvdV9tZWFuXzFfMjcyN1wiLFwiQ2Fubm90IGZpbmQgbGliIGRlZmluaXRpb24gZm9yICd7MH0nLiBEaWQgeW91IG1lYW4gJ3sxfSc/XCIpLF8wX2lzX2RlY2xhcmVkX2hlcmU6cigyNzI4LDMsXCJfMF9pc19kZWNsYXJlZF9oZXJlXzI3MjhcIixcIid7MH0nIGlzIGRlY2xhcmVkIGhlcmUuXCIpLFByb3BlcnR5XzBfaXNfdXNlZF9iZWZvcmVfaXRzX2luaXRpYWxpemF0aW9uOnIoMjcyOSwxLFwiUHJvcGVydHlfMF9pc191c2VkX2JlZm9yZV9pdHNfaW5pdGlhbGl6YXRpb25fMjcyOVwiLFwiUHJvcGVydHkgJ3swfScgaXMgdXNlZCBiZWZvcmUgaXRzIGluaXRpYWxpemF0aW9uLlwiKSxBbl9hcnJvd19mdW5jdGlvbl9jYW5ub3RfaGF2ZV9hX3RoaXNfcGFyYW1ldGVyOnIoMjczMCwxLFwiQW5fYXJyb3dfZnVuY3Rpb25fY2Fubm90X2hhdmVfYV90aGlzX3BhcmFtZXRlcl8yNzMwXCIsXCJBbiBhcnJvdyBmdW5jdGlvbiBjYW5ub3QgaGF2ZSBhICd0aGlzJyBwYXJhbWV0ZXIuXCIpLEltcGxpY2l0X2NvbnZlcnNpb25fb2ZfYV9zeW1ib2xfdG9fYV9zdHJpbmdfd2lsbF9mYWlsX2F0X3J1bnRpbWVfQ29uc2lkZXJfd3JhcHBpbmdfdGhpc19leHByZXNzaW9uX2luX1N0cmluZzpyKDI3MzEsMSxcIkltcGxpY2l0X2NvbnZlcnNpb25fb2ZfYV9zeW1ib2xfdG9fYV9zdHJpbmdfd2lsbF9mYWlsX2F0X3J1bnRpbWVfQ29uc2lkZXJfd3JhcHBpbmdfdGhpc19leHByZXNzaW9uX2lfMjczMVwiLFwiSW1wbGljaXQgY29udmVyc2lvbiBvZiBhICdzeW1ib2wnIHRvIGEgJ3N0cmluZycgd2lsbCBmYWlsIGF0IHJ1bnRpbWUuIENvbnNpZGVyIHdyYXBwaW5nIHRoaXMgZXhwcmVzc2lvbiBpbiAnU3RyaW5nKC4uLiknLlwiKSxDYW5ub3RfZmluZF9tb2R1bGVfMF9Db25zaWRlcl91c2luZ19yZXNvbHZlSnNvbk1vZHVsZV90b19pbXBvcnRfbW9kdWxlX3dpdGhfanNvbl9leHRlbnNpb246cigyNzMyLDEsXCJDYW5ub3RfZmluZF9tb2R1bGVfMF9Db25zaWRlcl91c2luZ19yZXNvbHZlSnNvbk1vZHVsZV90b19pbXBvcnRfbW9kdWxlX3dpdGhfanNvbl9leHRlbnNpb25fMjczMlwiLFwiQ2Fubm90IGZpbmQgbW9kdWxlICd7MH0nLiBDb25zaWRlciB1c2luZyAnLS1yZXNvbHZlSnNvbk1vZHVsZScgdG8gaW1wb3J0IG1vZHVsZSB3aXRoICcuanNvbicgZXh0ZW5zaW9uLlwiKSxQcm9wZXJ0eV8wX3dhc19hbHNvX2RlY2xhcmVkX2hlcmU6cigyNzMzLDEsXCJQcm9wZXJ0eV8wX3dhc19hbHNvX2RlY2xhcmVkX2hlcmVfMjczM1wiLFwiUHJvcGVydHkgJ3swfScgd2FzIGFsc28gZGVjbGFyZWQgaGVyZS5cIiksQXJlX3lvdV9taXNzaW5nX2Ffc2VtaWNvbG9uOnIoMjczNCwxLFwiQXJlX3lvdV9taXNzaW5nX2Ffc2VtaWNvbG9uXzI3MzRcIixcIkFyZSB5b3UgbWlzc2luZyBhIHNlbWljb2xvbj9cIiksRGlkX3lvdV9tZWFuX2Zvcl8wX3RvX2JlX2NvbnN0cmFpbmVkX3RvX3R5cGVfbmV3X2FyZ3NfQ29sb25fYW55XzE6cigyNzM1LDEsXCJEaWRfeW91X21lYW5fZm9yXzBfdG9fYmVfY29uc3RyYWluZWRfdG9fdHlwZV9uZXdfYXJnc19Db2xvbl9hbnlfMV8yNzM1XCIsXCJEaWQgeW91IG1lYW4gZm9yICd7MH0nIHRvIGJlIGNvbnN0cmFpbmVkIHRvIHR5cGUgJ25ldyAoLi4uYXJnczogYW55W10pID0+IHsxfSc/XCIpLE9wZXJhdG9yXzBfY2Fubm90X2JlX2FwcGxpZWRfdG9fdHlwZV8xOnIoMjczNiwxLFwiT3BlcmF0b3JfMF9jYW5ub3RfYmVfYXBwbGllZF90b190eXBlXzFfMjczNlwiLFwiT3BlcmF0b3IgJ3swfScgY2Fubm90IGJlIGFwcGxpZWQgdG8gdHlwZSAnezF9Jy5cIiksQmlnSW50X2xpdGVyYWxzX2FyZV9ub3RfYXZhaWxhYmxlX3doZW5fdGFyZ2V0aW5nX2xvd2VyX3RoYW5fRVMyMDIwOnIoMjczNywxLFwiQmlnSW50X2xpdGVyYWxzX2FyZV9ub3RfYXZhaWxhYmxlX3doZW5fdGFyZ2V0aW5nX2xvd2VyX3RoYW5fRVMyMDIwXzI3MzdcIixcIkJpZ0ludCBsaXRlcmFscyBhcmUgbm90IGF2YWlsYWJsZSB3aGVuIHRhcmdldGluZyBsb3dlciB0aGFuIEVTMjAyMC5cIiksQW5fb3V0ZXJfdmFsdWVfb2ZfdGhpc19pc19zaGFkb3dlZF9ieV90aGlzX2NvbnRhaW5lcjpyKDI3MzgsMyxcIkFuX291dGVyX3ZhbHVlX29mX3RoaXNfaXNfc2hhZG93ZWRfYnlfdGhpc19jb250YWluZXJfMjczOFwiLFwiQW4gb3V0ZXIgdmFsdWUgb2YgJ3RoaXMnIGlzIHNoYWRvd2VkIGJ5IHRoaXMgY29udGFpbmVyLlwiKSxUeXBlXzBfaXNfbWlzc2luZ190aGVfZm9sbG93aW5nX3Byb3BlcnRpZXNfZnJvbV90eXBlXzFfQ29sb25fMjpyKDI3MzksMSxcIlR5cGVfMF9pc19taXNzaW5nX3RoZV9mb2xsb3dpbmdfcHJvcGVydGllc19mcm9tX3R5cGVfMV9Db2xvbl8yXzI3MzlcIixcIlR5cGUgJ3swfScgaXMgbWlzc2luZyB0aGUgZm9sbG93aW5nIHByb3BlcnRpZXMgZnJvbSB0eXBlICd7MX0nOiB7Mn1cIiksVHlwZV8wX2lzX21pc3NpbmdfdGhlX2ZvbGxvd2luZ19wcm9wZXJ0aWVzX2Zyb21fdHlwZV8xX0NvbG9uXzJfYW5kXzNfbW9yZTpyKDI3NDAsMSxcIlR5cGVfMF9pc19taXNzaW5nX3RoZV9mb2xsb3dpbmdfcHJvcGVydGllc19mcm9tX3R5cGVfMV9Db2xvbl8yX2FuZF8zX21vcmVfMjc0MFwiLFwiVHlwZSAnezB9JyBpcyBtaXNzaW5nIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcyBmcm9tIHR5cGUgJ3sxfSc6IHsyfSwgYW5kIHszfSBtb3JlLlwiKSxQcm9wZXJ0eV8wX2lzX21pc3NpbmdfaW5fdHlwZV8xX2J1dF9yZXF1aXJlZF9pbl90eXBlXzI6cigyNzQxLDEsXCJQcm9wZXJ0eV8wX2lzX21pc3NpbmdfaW5fdHlwZV8xX2J1dF9yZXF1aXJlZF9pbl90eXBlXzJfMjc0MVwiLFwiUHJvcGVydHkgJ3swfScgaXMgbWlzc2luZyBpbiB0eXBlICd7MX0nIGJ1dCByZXF1aXJlZCBpbiB0eXBlICd7Mn0nLlwiKSxUaGVfaW5mZXJyZWRfdHlwZV9vZl8wX2Nhbm5vdF9iZV9uYW1lZF93aXRob3V0X2FfcmVmZXJlbmNlX3RvXzFfVGhpc19pc19saWtlbHlfbm90X3BvcnRhYmxlX0FfdHlwZV9hbm5vdGF0aW9uX2lzX25lY2Vzc2FyeTpyKDI3NDIsMSxcIlRoZV9pbmZlcnJlZF90eXBlX29mXzBfY2Fubm90X2JlX25hbWVkX3dpdGhvdXRfYV9yZWZlcmVuY2VfdG9fMV9UaGlzX2lzX2xpa2VseV9ub3RfcG9ydGFibGVfQV90eXBlX2FfMjc0MlwiLFwiVGhlIGluZmVycmVkIHR5cGUgb2YgJ3swfScgY2Fubm90IGJlIG5hbWVkIHdpdGhvdXQgYSByZWZlcmVuY2UgdG8gJ3sxfScuIFRoaXMgaXMgbGlrZWx5IG5vdCBwb3J0YWJsZS4gQSB0eXBlIGFubm90YXRpb24gaXMgbmVjZXNzYXJ5LlwiKSxOb19vdmVybG9hZF9leHBlY3RzXzBfdHlwZV9hcmd1bWVudHNfYnV0X292ZXJsb2Fkc19kb19leGlzdF90aGF0X2V4cGVjdF9laXRoZXJfMV9vcl8yX3R5cGVfYXJndW1lbnRzOnIoMjc0MywxLFwiTm9fb3ZlcmxvYWRfZXhwZWN0c18wX3R5cGVfYXJndW1lbnRzX2J1dF9vdmVybG9hZHNfZG9fZXhpc3RfdGhhdF9leHBlY3RfZWl0aGVyXzFfb3JfMl90eXBlX2FyZ3VtZW50c18yNzQzXCIsXCJObyBvdmVybG9hZCBleHBlY3RzIHswfSB0eXBlIGFyZ3VtZW50cywgYnV0IG92ZXJsb2FkcyBkbyBleGlzdCB0aGF0IGV4cGVjdCBlaXRoZXIgezF9IG9yIHsyfSB0eXBlIGFyZ3VtZW50cy5cIiksVHlwZV9wYXJhbWV0ZXJfZGVmYXVsdHNfY2FuX29ubHlfcmVmZXJlbmNlX3ByZXZpb3VzbHlfZGVjbGFyZWRfdHlwZV9wYXJhbWV0ZXJzOnIoMjc0NCwxLFwiVHlwZV9wYXJhbWV0ZXJfZGVmYXVsdHNfY2FuX29ubHlfcmVmZXJlbmNlX3ByZXZpb3VzbHlfZGVjbGFyZWRfdHlwZV9wYXJhbWV0ZXJzXzI3NDRcIixcIlR5cGUgcGFyYW1ldGVyIGRlZmF1bHRzIGNhbiBvbmx5IHJlZmVyZW5jZSBwcmV2aW91c2x5IGRlY2xhcmVkIHR5cGUgcGFyYW1ldGVycy5cIiksVGhpc19KU1hfdGFnX3NfMF9wcm9wX2V4cGVjdHNfdHlwZV8xX3doaWNoX3JlcXVpcmVzX211bHRpcGxlX2NoaWxkcmVuX2J1dF9vbmx5X2Ffc2luZ2xlX2NoaWxkX3dhc19wcm92aWRlZDpyKDI3NDUsMSxcIlRoaXNfSlNYX3RhZ19zXzBfcHJvcF9leHBlY3RzX3R5cGVfMV93aGljaF9yZXF1aXJlc19tdWx0aXBsZV9jaGlsZHJlbl9idXRfb25seV9hX3NpbmdsZV9jaGlsZF93YXNfcHJfMjc0NVwiLFwiVGhpcyBKU1ggdGFnJ3MgJ3swfScgcHJvcCBleHBlY3RzIHR5cGUgJ3sxfScgd2hpY2ggcmVxdWlyZXMgbXVsdGlwbGUgY2hpbGRyZW4sIGJ1dCBvbmx5IGEgc2luZ2xlIGNoaWxkIHdhcyBwcm92aWRlZC5cIiksVGhpc19KU1hfdGFnX3NfMF9wcm9wX2V4cGVjdHNfYV9zaW5nbGVfY2hpbGRfb2ZfdHlwZV8xX2J1dF9tdWx0aXBsZV9jaGlsZHJlbl93ZXJlX3Byb3ZpZGVkOnIoMjc0NiwxLFwiVGhpc19KU1hfdGFnX3NfMF9wcm9wX2V4cGVjdHNfYV9zaW5nbGVfY2hpbGRfb2ZfdHlwZV8xX2J1dF9tdWx0aXBsZV9jaGlsZHJlbl93ZXJlX3Byb3ZpZGVkXzI3NDZcIixcIlRoaXMgSlNYIHRhZydzICd7MH0nIHByb3AgZXhwZWN0cyBhIHNpbmdsZSBjaGlsZCBvZiB0eXBlICd7MX0nLCBidXQgbXVsdGlwbGUgY2hpbGRyZW4gd2VyZSBwcm92aWRlZC5cIiksXzBfY29tcG9uZW50c19kb25fdF9hY2NlcHRfdGV4dF9hc19jaGlsZF9lbGVtZW50c19UZXh0X2luX0pTWF9oYXNfdGhlX3R5cGVfc3RyaW5nX2J1dF90aGVfZXhwZWN0ZWRfdHlwZV9vZl8xX2lzXzI6cigyNzQ3LDEsXCJfMF9jb21wb25lbnRzX2Rvbl90X2FjY2VwdF90ZXh0X2FzX2NoaWxkX2VsZW1lbnRzX1RleHRfaW5fSlNYX2hhc190aGVfdHlwZV9zdHJpbmdfYnV0X3RoZV9leHBlY3RlZF90XzI3NDdcIixcIid7MH0nIGNvbXBvbmVudHMgZG9uJ3QgYWNjZXB0IHRleHQgYXMgY2hpbGQgZWxlbWVudHMuIFRleHQgaW4gSlNYIGhhcyB0aGUgdHlwZSAnc3RyaW5nJywgYnV0IHRoZSBleHBlY3RlZCB0eXBlIG9mICd7MX0nIGlzICd7Mn0nLlwiKSxDYW5ub3RfYWNjZXNzX2FtYmllbnRfY29uc3RfZW51bXNfd2hlbl8wX2lzX2VuYWJsZWQ6cigyNzQ4LDEsXCJDYW5ub3RfYWNjZXNzX2FtYmllbnRfY29uc3RfZW51bXNfd2hlbl8wX2lzX2VuYWJsZWRfMjc0OFwiLFwiQ2Fubm90IGFjY2VzcyBhbWJpZW50IGNvbnN0IGVudW1zIHdoZW4gJ3swfScgaXMgZW5hYmxlZC5cIiksXzBfcmVmZXJzX3RvX2FfdmFsdWVfYnV0X2lzX2JlaW5nX3VzZWRfYXNfYV90eXBlX2hlcmVfRGlkX3lvdV9tZWFuX3R5cGVvZl8wOnIoMjc0OSwxLFwiXzBfcmVmZXJzX3RvX2FfdmFsdWVfYnV0X2lzX2JlaW5nX3VzZWRfYXNfYV90eXBlX2hlcmVfRGlkX3lvdV9tZWFuX3R5cGVvZl8wXzI3NDlcIixcIid7MH0nIHJlZmVycyB0byBhIHZhbHVlLCBidXQgaXMgYmVpbmcgdXNlZCBhcyBhIHR5cGUgaGVyZS4gRGlkIHlvdSBtZWFuICd0eXBlb2YgezB9Jz9cIiksVGhlX2ltcGxlbWVudGF0aW9uX3NpZ25hdHVyZV9pc19kZWNsYXJlZF9oZXJlOnIoMjc1MCwxLFwiVGhlX2ltcGxlbWVudGF0aW9uX3NpZ25hdHVyZV9pc19kZWNsYXJlZF9oZXJlXzI3NTBcIixcIlRoZSBpbXBsZW1lbnRhdGlvbiBzaWduYXR1cmUgaXMgZGVjbGFyZWQgaGVyZS5cIiksQ2lyY3VsYXJpdHlfb3JpZ2luYXRlc19pbl90eXBlX2F0X3RoaXNfbG9jYXRpb246cigyNzUxLDEsXCJDaXJjdWxhcml0eV9vcmlnaW5hdGVzX2luX3R5cGVfYXRfdGhpc19sb2NhdGlvbl8yNzUxXCIsXCJDaXJjdWxhcml0eSBvcmlnaW5hdGVzIGluIHR5cGUgYXQgdGhpcyBsb2NhdGlvbi5cIiksVGhlX2ZpcnN0X2V4cG9ydF9kZWZhdWx0X2lzX2hlcmU6cigyNzUyLDEsXCJUaGVfZmlyc3RfZXhwb3J0X2RlZmF1bHRfaXNfaGVyZV8yNzUyXCIsXCJUaGUgZmlyc3QgZXhwb3J0IGRlZmF1bHQgaXMgaGVyZS5cIiksQW5vdGhlcl9leHBvcnRfZGVmYXVsdF9pc19oZXJlOnIoMjc1MywxLFwiQW5vdGhlcl9leHBvcnRfZGVmYXVsdF9pc19oZXJlXzI3NTNcIixcIkFub3RoZXIgZXhwb3J0IGRlZmF1bHQgaXMgaGVyZS5cIiksc3VwZXJfbWF5X25vdF91c2VfdHlwZV9hcmd1bWVudHM6cigyNzU0LDEsXCJzdXBlcl9tYXlfbm90X3VzZV90eXBlX2FyZ3VtZW50c18yNzU0XCIsXCInc3VwZXInIG1heSBub3QgdXNlIHR5cGUgYXJndW1lbnRzLlwiKSxOb19jb25zdGl0dWVudF9vZl90eXBlXzBfaXNfY2FsbGFibGU6cigyNzU1LDEsXCJOb19jb25zdGl0dWVudF9vZl90eXBlXzBfaXNfY2FsbGFibGVfMjc1NVwiLFwiTm8gY29uc3RpdHVlbnQgb2YgdHlwZSAnezB9JyBpcyBjYWxsYWJsZS5cIiksTm90X2FsbF9jb25zdGl0dWVudHNfb2ZfdHlwZV8wX2FyZV9jYWxsYWJsZTpyKDI3NTYsMSxcIk5vdF9hbGxfY29uc3RpdHVlbnRzX29mX3R5cGVfMF9hcmVfY2FsbGFibGVfMjc1NlwiLFwiTm90IGFsbCBjb25zdGl0dWVudHMgb2YgdHlwZSAnezB9JyBhcmUgY2FsbGFibGUuXCIpLFR5cGVfMF9oYXNfbm9fY2FsbF9zaWduYXR1cmVzOnIoMjc1NywxLFwiVHlwZV8wX2hhc19ub19jYWxsX3NpZ25hdHVyZXNfMjc1N1wiLFwiVHlwZSAnezB9JyBoYXMgbm8gY2FsbCBzaWduYXR1cmVzLlwiKSxFYWNoX21lbWJlcl9vZl90aGVfdW5pb25fdHlwZV8wX2hhc19zaWduYXR1cmVzX2J1dF9ub25lX29mX3Rob3NlX3NpZ25hdHVyZXNfYXJlX2NvbXBhdGlibGVfd2l0aF9lYWNoX290aGVyOnIoMjc1OCwxLFwiRWFjaF9tZW1iZXJfb2ZfdGhlX3VuaW9uX3R5cGVfMF9oYXNfc2lnbmF0dXJlc19idXRfbm9uZV9vZl90aG9zZV9zaWduYXR1cmVzX2FyZV9jb21wYXRpYmxlX3dpdGhfZWFjaF8yNzU4XCIsXCJFYWNoIG1lbWJlciBvZiB0aGUgdW5pb24gdHlwZSAnezB9JyBoYXMgc2lnbmF0dXJlcywgYnV0IG5vbmUgb2YgdGhvc2Ugc2lnbmF0dXJlcyBhcmUgY29tcGF0aWJsZSB3aXRoIGVhY2ggb3RoZXIuXCIpLE5vX2NvbnN0aXR1ZW50X29mX3R5cGVfMF9pc19jb25zdHJ1Y3RhYmxlOnIoMjc1OSwxLFwiTm9fY29uc3RpdHVlbnRfb2ZfdHlwZV8wX2lzX2NvbnN0cnVjdGFibGVfMjc1OVwiLFwiTm8gY29uc3RpdHVlbnQgb2YgdHlwZSAnezB9JyBpcyBjb25zdHJ1Y3RhYmxlLlwiKSxOb3RfYWxsX2NvbnN0aXR1ZW50c19vZl90eXBlXzBfYXJlX2NvbnN0cnVjdGFibGU6cigyNzYwLDEsXCJOb3RfYWxsX2NvbnN0aXR1ZW50c19vZl90eXBlXzBfYXJlX2NvbnN0cnVjdGFibGVfMjc2MFwiLFwiTm90IGFsbCBjb25zdGl0dWVudHMgb2YgdHlwZSAnezB9JyBhcmUgY29uc3RydWN0YWJsZS5cIiksVHlwZV8wX2hhc19ub19jb25zdHJ1Y3Rfc2lnbmF0dXJlczpyKDI3NjEsMSxcIlR5cGVfMF9oYXNfbm9fY29uc3RydWN0X3NpZ25hdHVyZXNfMjc2MVwiLFwiVHlwZSAnezB9JyBoYXMgbm8gY29uc3RydWN0IHNpZ25hdHVyZXMuXCIpLEVhY2hfbWVtYmVyX29mX3RoZV91bmlvbl90eXBlXzBfaGFzX2NvbnN0cnVjdF9zaWduYXR1cmVzX2J1dF9ub25lX29mX3Rob3NlX3NpZ25hdHVyZXNfYXJlX2NvbXBhdGlibGVfd2l0aF9lYWNoX290aGVyOnIoMjc2MiwxLFwiRWFjaF9tZW1iZXJfb2ZfdGhlX3VuaW9uX3R5cGVfMF9oYXNfY29uc3RydWN0X3NpZ25hdHVyZXNfYnV0X25vbmVfb2ZfdGhvc2Vfc2lnbmF0dXJlc19hcmVfY29tcGF0aWJsZV8yNzYyXCIsXCJFYWNoIG1lbWJlciBvZiB0aGUgdW5pb24gdHlwZSAnezB9JyBoYXMgY29uc3RydWN0IHNpZ25hdHVyZXMsIGJ1dCBub25lIG9mIHRob3NlIHNpZ25hdHVyZXMgYXJlIGNvbXBhdGlibGUgd2l0aCBlYWNoIG90aGVyLlwiKSxDYW5ub3RfaXRlcmF0ZV92YWx1ZV9iZWNhdXNlX3RoZV9uZXh0X21ldGhvZF9vZl9pdHNfaXRlcmF0b3JfZXhwZWN0c190eXBlXzFfYnV0X2Zvcl9vZl93aWxsX2Fsd2F5c19zZW5kXzA6cigyNzYzLDEsXCJDYW5ub3RfaXRlcmF0ZV92YWx1ZV9iZWNhdXNlX3RoZV9uZXh0X21ldGhvZF9vZl9pdHNfaXRlcmF0b3JfZXhwZWN0c190eXBlXzFfYnV0X2Zvcl9vZl93aWxsX2Fsd2F5c19zXzI3NjNcIixcIkNhbm5vdCBpdGVyYXRlIHZhbHVlIGJlY2F1c2UgdGhlICduZXh0JyBtZXRob2Qgb2YgaXRzIGl0ZXJhdG9yIGV4cGVjdHMgdHlwZSAnezF9JywgYnV0IGZvci1vZiB3aWxsIGFsd2F5cyBzZW5kICd7MH0nLlwiKSxDYW5ub3RfaXRlcmF0ZV92YWx1ZV9iZWNhdXNlX3RoZV9uZXh0X21ldGhvZF9vZl9pdHNfaXRlcmF0b3JfZXhwZWN0c190eXBlXzFfYnV0X2FycmF5X3NwcmVhZF93aWxsX2Fsd2F5c19zZW5kXzA6cigyNzY0LDEsXCJDYW5ub3RfaXRlcmF0ZV92YWx1ZV9iZWNhdXNlX3RoZV9uZXh0X21ldGhvZF9vZl9pdHNfaXRlcmF0b3JfZXhwZWN0c190eXBlXzFfYnV0X2FycmF5X3NwcmVhZF93aWxsX2FsXzI3NjRcIixcIkNhbm5vdCBpdGVyYXRlIHZhbHVlIGJlY2F1c2UgdGhlICduZXh0JyBtZXRob2Qgb2YgaXRzIGl0ZXJhdG9yIGV4cGVjdHMgdHlwZSAnezF9JywgYnV0IGFycmF5IHNwcmVhZCB3aWxsIGFsd2F5cyBzZW5kICd7MH0nLlwiKSxDYW5ub3RfaXRlcmF0ZV92YWx1ZV9iZWNhdXNlX3RoZV9uZXh0X21ldGhvZF9vZl9pdHNfaXRlcmF0b3JfZXhwZWN0c190eXBlXzFfYnV0X2FycmF5X2Rlc3RydWN0dXJpbmdfd2lsbF9hbHdheXNfc2VuZF8wOnIoMjc2NSwxLFwiQ2Fubm90X2l0ZXJhdGVfdmFsdWVfYmVjYXVzZV90aGVfbmV4dF9tZXRob2Rfb2ZfaXRzX2l0ZXJhdG9yX2V4cGVjdHNfdHlwZV8xX2J1dF9hcnJheV9kZXN0cnVjdHVyaW5nX18yNzY1XCIsXCJDYW5ub3QgaXRlcmF0ZSB2YWx1ZSBiZWNhdXNlIHRoZSAnbmV4dCcgbWV0aG9kIG9mIGl0cyBpdGVyYXRvciBleHBlY3RzIHR5cGUgJ3sxfScsIGJ1dCBhcnJheSBkZXN0cnVjdHVyaW5nIHdpbGwgYWx3YXlzIHNlbmQgJ3swfScuXCIpLENhbm5vdF9kZWxlZ2F0ZV9pdGVyYXRpb25fdG9fdmFsdWVfYmVjYXVzZV90aGVfbmV4dF9tZXRob2Rfb2ZfaXRzX2l0ZXJhdG9yX2V4cGVjdHNfdHlwZV8xX2J1dF90aGVfY29udGFpbmluZ19nZW5lcmF0b3Jfd2lsbF9hbHdheXNfc2VuZF8wOnIoMjc2NiwxLFwiQ2Fubm90X2RlbGVnYXRlX2l0ZXJhdGlvbl90b192YWx1ZV9iZWNhdXNlX3RoZV9uZXh0X21ldGhvZF9vZl9pdHNfaXRlcmF0b3JfZXhwZWN0c190eXBlXzFfYnV0X3RoZV9jb18yNzY2XCIsXCJDYW5ub3QgZGVsZWdhdGUgaXRlcmF0aW9uIHRvIHZhbHVlIGJlY2F1c2UgdGhlICduZXh0JyBtZXRob2Qgb2YgaXRzIGl0ZXJhdG9yIGV4cGVjdHMgdHlwZSAnezF9JywgYnV0IHRoZSBjb250YWluaW5nIGdlbmVyYXRvciB3aWxsIGFsd2F5cyBzZW5kICd7MH0nLlwiKSxUaGVfMF9wcm9wZXJ0eV9vZl9hbl9pdGVyYXRvcl9tdXN0X2JlX2FfbWV0aG9kOnIoMjc2NywxLFwiVGhlXzBfcHJvcGVydHlfb2ZfYW5faXRlcmF0b3JfbXVzdF9iZV9hX21ldGhvZF8yNzY3XCIsXCJUaGUgJ3swfScgcHJvcGVydHkgb2YgYW4gaXRlcmF0b3IgbXVzdCBiZSBhIG1ldGhvZC5cIiksVGhlXzBfcHJvcGVydHlfb2ZfYW5fYXN5bmNfaXRlcmF0b3JfbXVzdF9iZV9hX21ldGhvZDpyKDI3NjgsMSxcIlRoZV8wX3Byb3BlcnR5X29mX2FuX2FzeW5jX2l0ZXJhdG9yX211c3RfYmVfYV9tZXRob2RfMjc2OFwiLFwiVGhlICd7MH0nIHByb3BlcnR5IG9mIGFuIGFzeW5jIGl0ZXJhdG9yIG11c3QgYmUgYSBtZXRob2QuXCIpLE5vX292ZXJsb2FkX21hdGNoZXNfdGhpc19jYWxsOnIoMjc2OSwxLFwiTm9fb3ZlcmxvYWRfbWF0Y2hlc190aGlzX2NhbGxfMjc2OVwiLFwiTm8gb3ZlcmxvYWQgbWF0Y2hlcyB0aGlzIGNhbGwuXCIpLFRoZV9sYXN0X292ZXJsb2FkX2dhdmVfdGhlX2ZvbGxvd2luZ19lcnJvcjpyKDI3NzAsMSxcIlRoZV9sYXN0X292ZXJsb2FkX2dhdmVfdGhlX2ZvbGxvd2luZ19lcnJvcl8yNzcwXCIsXCJUaGUgbGFzdCBvdmVybG9hZCBnYXZlIHRoZSBmb2xsb3dpbmcgZXJyb3IuXCIpLFRoZV9sYXN0X292ZXJsb2FkX2lzX2RlY2xhcmVkX2hlcmU6cigyNzcxLDEsXCJUaGVfbGFzdF9vdmVybG9hZF9pc19kZWNsYXJlZF9oZXJlXzI3NzFcIixcIlRoZSBsYXN0IG92ZXJsb2FkIGlzIGRlY2xhcmVkIGhlcmUuXCIpLE92ZXJsb2FkXzBfb2ZfMV8yX2dhdmVfdGhlX2ZvbGxvd2luZ19lcnJvcjpyKDI3NzIsMSxcIk92ZXJsb2FkXzBfb2ZfMV8yX2dhdmVfdGhlX2ZvbGxvd2luZ19lcnJvcl8yNzcyXCIsXCJPdmVybG9hZCB7MH0gb2YgezF9LCAnezJ9JywgZ2F2ZSB0aGUgZm9sbG93aW5nIGVycm9yLlwiKSxEaWRfeW91X2ZvcmdldF90b191c2VfYXdhaXQ6cigyNzczLDEsXCJEaWRfeW91X2ZvcmdldF90b191c2VfYXdhaXRfMjc3M1wiLFwiRGlkIHlvdSBmb3JnZXQgdG8gdXNlICdhd2FpdCc/XCIpLFRoaXNfY29uZGl0aW9uX3dpbGxfYWx3YXlzX3JldHVybl90cnVlX3NpbmNlX3RoaXNfZnVuY3Rpb25faXNfYWx3YXlzX2RlZmluZWRfRGlkX3lvdV9tZWFuX3RvX2NhbGxfaXRfaW5zdGVhZDpyKDI3NzQsMSxcIlRoaXNfY29uZGl0aW9uX3dpbGxfYWx3YXlzX3JldHVybl90cnVlX3NpbmNlX3RoaXNfZnVuY3Rpb25faXNfYWx3YXlzX2RlZmluZWRfRGlkX3lvdV9tZWFuX3RvX2NhbGxfaXRfMjc3NFwiLFwiVGhpcyBjb25kaXRpb24gd2lsbCBhbHdheXMgcmV0dXJuIHRydWUgc2luY2UgdGhpcyBmdW5jdGlvbiBpcyBhbHdheXMgZGVmaW5lZC4gRGlkIHlvdSBtZWFuIHRvIGNhbGwgaXQgaW5zdGVhZD9cIiksQXNzZXJ0aW9uc19yZXF1aXJlX2V2ZXJ5X25hbWVfaW5fdGhlX2NhbGxfdGFyZ2V0X3RvX2JlX2RlY2xhcmVkX3dpdGhfYW5fZXhwbGljaXRfdHlwZV9hbm5vdGF0aW9uOnIoMjc3NSwxLFwiQXNzZXJ0aW9uc19yZXF1aXJlX2V2ZXJ5X25hbWVfaW5fdGhlX2NhbGxfdGFyZ2V0X3RvX2JlX2RlY2xhcmVkX3dpdGhfYW5fZXhwbGljaXRfdHlwZV9hbm5vdGF0aW9uXzI3NzVcIixcIkFzc2VydGlvbnMgcmVxdWlyZSBldmVyeSBuYW1lIGluIHRoZSBjYWxsIHRhcmdldCB0byBiZSBkZWNsYXJlZCB3aXRoIGFuIGV4cGxpY2l0IHR5cGUgYW5ub3RhdGlvbi5cIiksQXNzZXJ0aW9uc19yZXF1aXJlX3RoZV9jYWxsX3RhcmdldF90b19iZV9hbl9pZGVudGlmaWVyX29yX3F1YWxpZmllZF9uYW1lOnIoMjc3NiwxLFwiQXNzZXJ0aW9uc19yZXF1aXJlX3RoZV9jYWxsX3RhcmdldF90b19iZV9hbl9pZGVudGlmaWVyX29yX3F1YWxpZmllZF9uYW1lXzI3NzZcIixcIkFzc2VydGlvbnMgcmVxdWlyZSB0aGUgY2FsbCB0YXJnZXQgdG8gYmUgYW4gaWRlbnRpZmllciBvciBxdWFsaWZpZWQgbmFtZS5cIiksVGhlX29wZXJhbmRfb2ZfYW5faW5jcmVtZW50X29yX2RlY3JlbWVudF9vcGVyYXRvcl9tYXlfbm90X2JlX2FuX29wdGlvbmFsX3Byb3BlcnR5X2FjY2VzczpyKDI3NzcsMSxcIlRoZV9vcGVyYW5kX29mX2FuX2luY3JlbWVudF9vcl9kZWNyZW1lbnRfb3BlcmF0b3JfbWF5X25vdF9iZV9hbl9vcHRpb25hbF9wcm9wZXJ0eV9hY2Nlc3NfMjc3N1wiLFwiVGhlIG9wZXJhbmQgb2YgYW4gaW5jcmVtZW50IG9yIGRlY3JlbWVudCBvcGVyYXRvciBtYXkgbm90IGJlIGFuIG9wdGlvbmFsIHByb3BlcnR5IGFjY2Vzcy5cIiksVGhlX3RhcmdldF9vZl9hbl9vYmplY3RfcmVzdF9hc3NpZ25tZW50X21heV9ub3RfYmVfYW5fb3B0aW9uYWxfcHJvcGVydHlfYWNjZXNzOnIoMjc3OCwxLFwiVGhlX3RhcmdldF9vZl9hbl9vYmplY3RfcmVzdF9hc3NpZ25tZW50X21heV9ub3RfYmVfYW5fb3B0aW9uYWxfcHJvcGVydHlfYWNjZXNzXzI3NzhcIixcIlRoZSB0YXJnZXQgb2YgYW4gb2JqZWN0IHJlc3QgYXNzaWdubWVudCBtYXkgbm90IGJlIGFuIG9wdGlvbmFsIHByb3BlcnR5IGFjY2Vzcy5cIiksVGhlX2xlZnRfaGFuZF9zaWRlX29mX2FuX2Fzc2lnbm1lbnRfZXhwcmVzc2lvbl9tYXlfbm90X2JlX2FuX29wdGlvbmFsX3Byb3BlcnR5X2FjY2VzczpyKDI3NzksMSxcIlRoZV9sZWZ0X2hhbmRfc2lkZV9vZl9hbl9hc3NpZ25tZW50X2V4cHJlc3Npb25fbWF5X25vdF9iZV9hbl9vcHRpb25hbF9wcm9wZXJ0eV9hY2Nlc3NfMjc3OVwiLFwiVGhlIGxlZnQtaGFuZCBzaWRlIG9mIGFuIGFzc2lnbm1lbnQgZXhwcmVzc2lvbiBtYXkgbm90IGJlIGFuIG9wdGlvbmFsIHByb3BlcnR5IGFjY2Vzcy5cIiksVGhlX2xlZnRfaGFuZF9zaWRlX29mX2FfZm9yX2luX3N0YXRlbWVudF9tYXlfbm90X2JlX2FuX29wdGlvbmFsX3Byb3BlcnR5X2FjY2VzczpyKDI3ODAsMSxcIlRoZV9sZWZ0X2hhbmRfc2lkZV9vZl9hX2Zvcl9pbl9zdGF0ZW1lbnRfbWF5X25vdF9iZV9hbl9vcHRpb25hbF9wcm9wZXJ0eV9hY2Nlc3NfMjc4MFwiLFwiVGhlIGxlZnQtaGFuZCBzaWRlIG9mIGEgJ2Zvci4uLmluJyBzdGF0ZW1lbnQgbWF5IG5vdCBiZSBhbiBvcHRpb25hbCBwcm9wZXJ0eSBhY2Nlc3MuXCIpLFRoZV9sZWZ0X2hhbmRfc2lkZV9vZl9hX2Zvcl9vZl9zdGF0ZW1lbnRfbWF5X25vdF9iZV9hbl9vcHRpb25hbF9wcm9wZXJ0eV9hY2Nlc3M6cigyNzgxLDEsXCJUaGVfbGVmdF9oYW5kX3NpZGVfb2ZfYV9mb3Jfb2Zfc3RhdGVtZW50X21heV9ub3RfYmVfYW5fb3B0aW9uYWxfcHJvcGVydHlfYWNjZXNzXzI3ODFcIixcIlRoZSBsZWZ0LWhhbmQgc2lkZSBvZiBhICdmb3IuLi5vZicgc3RhdGVtZW50IG1heSBub3QgYmUgYW4gb3B0aW9uYWwgcHJvcGVydHkgYWNjZXNzLlwiKSxfMF9uZWVkc19hbl9leHBsaWNpdF90eXBlX2Fubm90YXRpb246cigyNzgyLDMsXCJfMF9uZWVkc19hbl9leHBsaWNpdF90eXBlX2Fubm90YXRpb25fMjc4MlwiLFwiJ3swfScgbmVlZHMgYW4gZXhwbGljaXQgdHlwZSBhbm5vdGF0aW9uLlwiKSxfMF9pc19zcGVjaWZpZWRfbW9yZV90aGFuX29uY2Vfc29fdGhpc191c2FnZV93aWxsX2JlX292ZXJ3cml0dGVuOnIoMjc4MywxLFwiXzBfaXNfc3BlY2lmaWVkX21vcmVfdGhhbl9vbmNlX3NvX3RoaXNfdXNhZ2Vfd2lsbF9iZV9vdmVyd3JpdHRlbl8yNzgzXCIsXCInezB9JyBpcyBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UsIHNvIHRoaXMgdXNhZ2Ugd2lsbCBiZSBvdmVyd3JpdHRlbi5cIiksZ2V0X2FuZF9zZXRfYWNjZXNzb3JzX2Nhbm5vdF9kZWNsYXJlX3RoaXNfcGFyYW1ldGVyczpyKDI3ODQsMSxcImdldF9hbmRfc2V0X2FjY2Vzc29yc19jYW5ub3RfZGVjbGFyZV90aGlzX3BhcmFtZXRlcnNfMjc4NFwiLFwiJ2dldCcgYW5kICdzZXQnIGFjY2Vzc29ycyBjYW5ub3QgZGVjbGFyZSAndGhpcycgcGFyYW1ldGVycy5cIiksVGhpc19zcHJlYWRfYWx3YXlzX292ZXJ3cml0ZXNfdGhpc19wcm9wZXJ0eTpyKDI3ODUsMSxcIlRoaXNfc3ByZWFkX2Fsd2F5c19vdmVyd3JpdGVzX3RoaXNfcHJvcGVydHlfMjc4NVwiLFwiVGhpcyBzcHJlYWQgYWx3YXlzIG92ZXJ3cml0ZXMgdGhpcyBwcm9wZXJ0eS5cIiksXzBfY2Fubm90X2JlX3VzZWRfYXNfYV9KU1hfY29tcG9uZW50OnIoMjc4NiwxLFwiXzBfY2Fubm90X2JlX3VzZWRfYXNfYV9KU1hfY29tcG9uZW50XzI3ODZcIixcIid7MH0nIGNhbm5vdCBiZSB1c2VkIGFzIGEgSlNYIGNvbXBvbmVudC5cIiksSXRzX3JldHVybl90eXBlXzBfaXNfbm90X2FfdmFsaWRfSlNYX2VsZW1lbnQ6cigyNzg3LDEsXCJJdHNfcmV0dXJuX3R5cGVfMF9pc19ub3RfYV92YWxpZF9KU1hfZWxlbWVudF8yNzg3XCIsXCJJdHMgcmV0dXJuIHR5cGUgJ3swfScgaXMgbm90IGEgdmFsaWQgSlNYIGVsZW1lbnQuXCIpLEl0c19pbnN0YW5jZV90eXBlXzBfaXNfbm90X2FfdmFsaWRfSlNYX2VsZW1lbnQ6cigyNzg4LDEsXCJJdHNfaW5zdGFuY2VfdHlwZV8wX2lzX25vdF9hX3ZhbGlkX0pTWF9lbGVtZW50XzI3ODhcIixcIkl0cyBpbnN0YW5jZSB0eXBlICd7MH0nIGlzIG5vdCBhIHZhbGlkIEpTWCBlbGVtZW50LlwiKSxJdHNfZWxlbWVudF90eXBlXzBfaXNfbm90X2FfdmFsaWRfSlNYX2VsZW1lbnQ6cigyNzg5LDEsXCJJdHNfZWxlbWVudF90eXBlXzBfaXNfbm90X2FfdmFsaWRfSlNYX2VsZW1lbnRfMjc4OVwiLFwiSXRzIGVsZW1lbnQgdHlwZSAnezB9JyBpcyBub3QgYSB2YWxpZCBKU1ggZWxlbWVudC5cIiksVGhlX29wZXJhbmRfb2ZfYV9kZWxldGVfb3BlcmF0b3JfbXVzdF9iZV9vcHRpb25hbDpyKDI3OTAsMSxcIlRoZV9vcGVyYW5kX29mX2FfZGVsZXRlX29wZXJhdG9yX211c3RfYmVfb3B0aW9uYWxfMjc5MFwiLFwiVGhlIG9wZXJhbmQgb2YgYSAnZGVsZXRlJyBvcGVyYXRvciBtdXN0IGJlIG9wdGlvbmFsLlwiKSxFeHBvbmVudGlhdGlvbl9jYW5ub3RfYmVfcGVyZm9ybWVkX29uX2JpZ2ludF92YWx1ZXNfdW5sZXNzX3RoZV90YXJnZXRfb3B0aW9uX2lzX3NldF90b19lczIwMTZfb3JfbGF0ZXI6cigyNzkxLDEsXCJFeHBvbmVudGlhdGlvbl9jYW5ub3RfYmVfcGVyZm9ybWVkX29uX2JpZ2ludF92YWx1ZXNfdW5sZXNzX3RoZV90YXJnZXRfb3B0aW9uX2lzX3NldF90b19lczIwMTZfb3JfbGF0XzI3OTFcIixcIkV4cG9uZW50aWF0aW9uIGNhbm5vdCBiZSBwZXJmb3JtZWQgb24gJ2JpZ2ludCcgdmFsdWVzIHVubGVzcyB0aGUgJ3RhcmdldCcgb3B0aW9uIGlzIHNldCB0byAnZXMyMDE2JyBvciBsYXRlci5cIiksQ2Fubm90X2ZpbmRfbW9kdWxlXzBfRGlkX3lvdV9tZWFuX3RvX3NldF90aGVfbW9kdWxlUmVzb2x1dGlvbl9vcHRpb25fdG9fbm9kZW5leHRfb3JfdG9fYWRkX2FsaWFzZXNfdG9fdGhlX3BhdGhzX29wdGlvbjpyKDI3OTIsMSxcIkNhbm5vdF9maW5kX21vZHVsZV8wX0RpZF95b3VfbWVhbl90b19zZXRfdGhlX21vZHVsZVJlc29sdXRpb25fb3B0aW9uX3RvX25vZGVuZXh0X29yX3RvX2FkZF9hbGlhc2VzX3RfMjc5MlwiLFwiQ2Fubm90IGZpbmQgbW9kdWxlICd7MH0nLiBEaWQgeW91IG1lYW4gdG8gc2V0IHRoZSAnbW9kdWxlUmVzb2x1dGlvbicgb3B0aW9uIHRvICdub2RlbmV4dCcsIG9yIHRvIGFkZCBhbGlhc2VzIHRvIHRoZSAncGF0aHMnIG9wdGlvbj9cIiksVGhlX2NhbGxfd291bGRfaGF2ZV9zdWNjZWVkZWRfYWdhaW5zdF90aGlzX2ltcGxlbWVudGF0aW9uX2J1dF9pbXBsZW1lbnRhdGlvbl9zaWduYXR1cmVzX29mX292ZXJsb2Fkc19hcmVfbm90X2V4dGVybmFsbHlfdmlzaWJsZTpyKDI3OTMsMSxcIlRoZV9jYWxsX3dvdWxkX2hhdmVfc3VjY2VlZGVkX2FnYWluc3RfdGhpc19pbXBsZW1lbnRhdGlvbl9idXRfaW1wbGVtZW50YXRpb25fc2lnbmF0dXJlc19vZl9vdmVybG9hZHNfMjc5M1wiLFwiVGhlIGNhbGwgd291bGQgaGF2ZSBzdWNjZWVkZWQgYWdhaW5zdCB0aGlzIGltcGxlbWVudGF0aW9uLCBidXQgaW1wbGVtZW50YXRpb24gc2lnbmF0dXJlcyBvZiBvdmVybG9hZHMgYXJlIG5vdCBleHRlcm5hbGx5IHZpc2libGUuXCIpLEV4cGVjdGVkXzBfYXJndW1lbnRzX2J1dF9nb3RfMV9EaWRfeW91X2ZvcmdldF90b19pbmNsdWRlX3ZvaWRfaW5feW91cl90eXBlX2FyZ3VtZW50X3RvX1Byb21pc2U6cigyNzk0LDEsXCJFeHBlY3RlZF8wX2FyZ3VtZW50c19idXRfZ290XzFfRGlkX3lvdV9mb3JnZXRfdG9faW5jbHVkZV92b2lkX2luX3lvdXJfdHlwZV9hcmd1bWVudF90b19Qcm9taXNlXzI3OTRcIixcIkV4cGVjdGVkIHswfSBhcmd1bWVudHMsIGJ1dCBnb3QgezF9LiBEaWQgeW91IGZvcmdldCB0byBpbmNsdWRlICd2b2lkJyBpbiB5b3VyIHR5cGUgYXJndW1lbnQgdG8gJ1Byb21pc2UnP1wiKSxUaGVfaW50cmluc2ljX2tleXdvcmRfY2FuX29ubHlfYmVfdXNlZF90b19kZWNsYXJlX2NvbXBpbGVyX3Byb3ZpZGVkX2ludHJpbnNpY190eXBlczpyKDI3OTUsMSxcIlRoZV9pbnRyaW5zaWNfa2V5d29yZF9jYW5fb25seV9iZV91c2VkX3RvX2RlY2xhcmVfY29tcGlsZXJfcHJvdmlkZWRfaW50cmluc2ljX3R5cGVzXzI3OTVcIixcIlRoZSAnaW50cmluc2ljJyBrZXl3b3JkIGNhbiBvbmx5IGJlIHVzZWQgdG8gZGVjbGFyZSBjb21waWxlciBwcm92aWRlZCBpbnRyaW5zaWMgdHlwZXMuXCIpLEl0X2lzX2xpa2VseV90aGF0X3lvdV9hcmVfbWlzc2luZ19hX2NvbW1hX3RvX3NlcGFyYXRlX3RoZXNlX3R3b190ZW1wbGF0ZV9leHByZXNzaW9uc19UaGV5X2Zvcm1fYV90YWdnZWRfdGVtcGxhdGVfZXhwcmVzc2lvbl93aGljaF9jYW5ub3RfYmVfaW52b2tlZDpyKDI3OTYsMSxcIkl0X2lzX2xpa2VseV90aGF0X3lvdV9hcmVfbWlzc2luZ19hX2NvbW1hX3RvX3NlcGFyYXRlX3RoZXNlX3R3b190ZW1wbGF0ZV9leHByZXNzaW9uc19UaGV5X2Zvcm1fYV90YWdfMjc5NlwiLFwiSXQgaXMgbGlrZWx5IHRoYXQgeW91IGFyZSBtaXNzaW5nIGEgY29tbWEgdG8gc2VwYXJhdGUgdGhlc2UgdHdvIHRlbXBsYXRlIGV4cHJlc3Npb25zLiBUaGV5IGZvcm0gYSB0YWdnZWQgdGVtcGxhdGUgZXhwcmVzc2lvbiB3aGljaCBjYW5ub3QgYmUgaW52b2tlZC5cIiksQV9taXhpbl9jbGFzc190aGF0X2V4dGVuZHNfZnJvbV9hX3R5cGVfdmFyaWFibGVfY29udGFpbmluZ19hbl9hYnN0cmFjdF9jb25zdHJ1Y3Rfc2lnbmF0dXJlX211c3RfYWxzb19iZV9kZWNsYXJlZF9hYnN0cmFjdDpyKDI3OTcsMSxcIkFfbWl4aW5fY2xhc3NfdGhhdF9leHRlbmRzX2Zyb21fYV90eXBlX3ZhcmlhYmxlX2NvbnRhaW5pbmdfYW5fYWJzdHJhY3RfY29uc3RydWN0X3NpZ25hdHVyZV9tdXN0X2Fsc29fMjc5N1wiLFwiQSBtaXhpbiBjbGFzcyB0aGF0IGV4dGVuZHMgZnJvbSBhIHR5cGUgdmFyaWFibGUgY29udGFpbmluZyBhbiBhYnN0cmFjdCBjb25zdHJ1Y3Qgc2lnbmF0dXJlIG11c3QgYWxzbyBiZSBkZWNsYXJlZCAnYWJzdHJhY3QnLlwiKSxUaGVfZGVjbGFyYXRpb25fd2FzX21hcmtlZF9hc19kZXByZWNhdGVkX2hlcmU6cigyNzk4LDEsXCJUaGVfZGVjbGFyYXRpb25fd2FzX21hcmtlZF9hc19kZXByZWNhdGVkX2hlcmVfMjc5OFwiLFwiVGhlIGRlY2xhcmF0aW9uIHdhcyBtYXJrZWQgYXMgZGVwcmVjYXRlZCBoZXJlLlwiKSxUeXBlX3Byb2R1Y2VzX2FfdHVwbGVfdHlwZV90aGF0X2lzX3Rvb19sYXJnZV90b19yZXByZXNlbnQ6cigyNzk5LDEsXCJUeXBlX3Byb2R1Y2VzX2FfdHVwbGVfdHlwZV90aGF0X2lzX3Rvb19sYXJnZV90b19yZXByZXNlbnRfMjc5OVwiLFwiVHlwZSBwcm9kdWNlcyBhIHR1cGxlIHR5cGUgdGhhdCBpcyB0b28gbGFyZ2UgdG8gcmVwcmVzZW50LlwiKSxFeHByZXNzaW9uX3Byb2R1Y2VzX2FfdHVwbGVfdHlwZV90aGF0X2lzX3Rvb19sYXJnZV90b19yZXByZXNlbnQ6cigyODAwLDEsXCJFeHByZXNzaW9uX3Byb2R1Y2VzX2FfdHVwbGVfdHlwZV90aGF0X2lzX3Rvb19sYXJnZV90b19yZXByZXNlbnRfMjgwMFwiLFwiRXhwcmVzc2lvbiBwcm9kdWNlcyBhIHR1cGxlIHR5cGUgdGhhdCBpcyB0b28gbGFyZ2UgdG8gcmVwcmVzZW50LlwiKSxUaGlzX2NvbmRpdGlvbl93aWxsX2Fsd2F5c19yZXR1cm5fdHJ1ZV9zaW5jZV90aGlzXzBfaXNfYWx3YXlzX2RlZmluZWQ6cigyODAxLDEsXCJUaGlzX2NvbmRpdGlvbl93aWxsX2Fsd2F5c19yZXR1cm5fdHJ1ZV9zaW5jZV90aGlzXzBfaXNfYWx3YXlzX2RlZmluZWRfMjgwMVwiLFwiVGhpcyBjb25kaXRpb24gd2lsbCBhbHdheXMgcmV0dXJuIHRydWUgc2luY2UgdGhpcyAnezB9JyBpcyBhbHdheXMgZGVmaW5lZC5cIiksVHlwZV8wX2Nhbl9vbmx5X2JlX2l0ZXJhdGVkX3Rocm91Z2hfd2hlbl91c2luZ190aGVfZG93bmxldmVsSXRlcmF0aW9uX2ZsYWdfb3Jfd2l0aF9hX3RhcmdldF9vZl9lczIwMTVfb3JfaGlnaGVyOnIoMjgwMiwxLFwiVHlwZV8wX2Nhbl9vbmx5X2JlX2l0ZXJhdGVkX3Rocm91Z2hfd2hlbl91c2luZ190aGVfZG93bmxldmVsSXRlcmF0aW9uX2ZsYWdfb3Jfd2l0aF9hX3RhcmdldF9vZl9lczIwMV8yODAyXCIsXCJUeXBlICd7MH0nIGNhbiBvbmx5IGJlIGl0ZXJhdGVkIHRocm91Z2ggd2hlbiB1c2luZyB0aGUgJy0tZG93bmxldmVsSXRlcmF0aW9uJyBmbGFnIG9yIHdpdGggYSAnLS10YXJnZXQnIG9mICdlczIwMTUnIG9yIGhpZ2hlci5cIiksQ2Fubm90X2Fzc2lnbl90b19wcml2YXRlX21ldGhvZF8wX1ByaXZhdGVfbWV0aG9kc19hcmVfbm90X3dyaXRhYmxlOnIoMjgwMywxLFwiQ2Fubm90X2Fzc2lnbl90b19wcml2YXRlX21ldGhvZF8wX1ByaXZhdGVfbWV0aG9kc19hcmVfbm90X3dyaXRhYmxlXzI4MDNcIixcIkNhbm5vdCBhc3NpZ24gdG8gcHJpdmF0ZSBtZXRob2QgJ3swfScuIFByaXZhdGUgbWV0aG9kcyBhcmUgbm90IHdyaXRhYmxlLlwiKSxEdXBsaWNhdGVfaWRlbnRpZmllcl8wX1N0YXRpY19hbmRfaW5zdGFuY2VfZWxlbWVudHNfY2Fubm90X3NoYXJlX3RoZV9zYW1lX3ByaXZhdGVfbmFtZTpyKDI4MDQsMSxcIkR1cGxpY2F0ZV9pZGVudGlmaWVyXzBfU3RhdGljX2FuZF9pbnN0YW5jZV9lbGVtZW50c19jYW5ub3Rfc2hhcmVfdGhlX3NhbWVfcHJpdmF0ZV9uYW1lXzI4MDRcIixcIkR1cGxpY2F0ZSBpZGVudGlmaWVyICd7MH0nLiBTdGF0aWMgYW5kIGluc3RhbmNlIGVsZW1lbnRzIGNhbm5vdCBzaGFyZSB0aGUgc2FtZSBwcml2YXRlIG5hbWUuXCIpLFByaXZhdGVfYWNjZXNzb3Jfd2FzX2RlZmluZWRfd2l0aG91dF9hX2dldHRlcjpyKDI4MDYsMSxcIlByaXZhdGVfYWNjZXNzb3Jfd2FzX2RlZmluZWRfd2l0aG91dF9hX2dldHRlcl8yODA2XCIsXCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBnZXR0ZXIuXCIpLFRoaXNfc3ludGF4X3JlcXVpcmVzX2FuX2ltcG9ydGVkX2hlbHBlcl9uYW1lZF8xX3dpdGhfMl9wYXJhbWV0ZXJzX3doaWNoX2lzX25vdF9jb21wYXRpYmxlX3dpdGhfdGhlX29uZV9pbl8wX0NvbnNpZGVyX3VwZ3JhZGluZ195b3VyX3ZlcnNpb25fb2ZfMDpyKDI4MDcsMSxcIlRoaXNfc3ludGF4X3JlcXVpcmVzX2FuX2ltcG9ydGVkX2hlbHBlcl9uYW1lZF8xX3dpdGhfMl9wYXJhbWV0ZXJzX3doaWNoX2lzX25vdF9jb21wYXRpYmxlX3dpdGhfdGhlX29fMjgwN1wiLFwiVGhpcyBzeW50YXggcmVxdWlyZXMgYW4gaW1wb3J0ZWQgaGVscGVyIG5hbWVkICd7MX0nIHdpdGggezJ9IHBhcmFtZXRlcnMsIHdoaWNoIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggdGhlIG9uZSBpbiAnezB9Jy4gQ29uc2lkZXIgdXBncmFkaW5nIHlvdXIgdmVyc2lvbiBvZiAnezB9Jy5cIiksQV9nZXRfYWNjZXNzb3JfbXVzdF9iZV9hdF9sZWFzdF9hc19hY2Nlc3NpYmxlX2FzX3RoZV9zZXR0ZXI6cigyODA4LDEsXCJBX2dldF9hY2Nlc3Nvcl9tdXN0X2JlX2F0X2xlYXN0X2FzX2FjY2Vzc2libGVfYXNfdGhlX3NldHRlcl8yODA4XCIsXCJBIGdldCBhY2Nlc3NvciBtdXN0IGJlIGF0IGxlYXN0IGFzIGFjY2Vzc2libGUgYXMgdGhlIHNldHRlclwiKSxEZWNsYXJhdGlvbl9vcl9zdGF0ZW1lbnRfZXhwZWN0ZWRfVGhpc19mb2xsb3dzX2FfYmxvY2tfb2Zfc3RhdGVtZW50c19zb19pZl95b3VfaW50ZW5kZWRfdG9fd3JpdGVfYV9kZXN0cnVjdHVyaW5nX2Fzc2lnbm1lbnRfeW91X21pZ2h0X25lZWRfdG9fd3JhcF90aGVfd2hvbGVfYXNzaWdubWVudF9pbl9wYXJlbnRoZXNlczpyKDI4MDksMSxcIkRlY2xhcmF0aW9uX29yX3N0YXRlbWVudF9leHBlY3RlZF9UaGlzX2ZvbGxvd3NfYV9ibG9ja19vZl9zdGF0ZW1lbnRzX3NvX2lmX3lvdV9pbnRlbmRlZF90b193cml0ZV9hX2RfMjgwOVwiLFwiRGVjbGFyYXRpb24gb3Igc3RhdGVtZW50IGV4cGVjdGVkLiBUaGlzICc9JyBmb2xsb3dzIGEgYmxvY2sgb2Ygc3RhdGVtZW50cywgc28gaWYgeW91IGludGVuZGVkIHRvIHdyaXRlIGEgZGVzdHJ1Y3R1cmluZyBhc3NpZ25tZW50LCB5b3UgbWlnaHQgbmVlZCB0byB3cmFwIHRoZSB3aG9sZSBhc3NpZ25tZW50IGluIHBhcmVudGhlc2VzLlwiKSxFeHBlY3RlZF8xX2FyZ3VtZW50X2J1dF9nb3RfMF9uZXdfUHJvbWlzZV9uZWVkc19hX0pTRG9jX2hpbnRfdG9fcHJvZHVjZV9hX3Jlc29sdmVfdGhhdF9jYW5fYmVfY2FsbGVkX3dpdGhvdXRfYXJndW1lbnRzOnIoMjgxMCwxLFwiRXhwZWN0ZWRfMV9hcmd1bWVudF9idXRfZ290XzBfbmV3X1Byb21pc2VfbmVlZHNfYV9KU0RvY19oaW50X3RvX3Byb2R1Y2VfYV9yZXNvbHZlX3RoYXRfY2FuX2JlX2NhbGxlZF8yODEwXCIsXCJFeHBlY3RlZCAxIGFyZ3VtZW50LCBidXQgZ290IDAuICduZXcgUHJvbWlzZSgpJyBuZWVkcyBhIEpTRG9jIGhpbnQgdG8gcHJvZHVjZSBhICdyZXNvbHZlJyB0aGF0IGNhbiBiZSBjYWxsZWQgd2l0aG91dCBhcmd1bWVudHMuXCIpLEluaXRpYWxpemVyX2Zvcl9wcm9wZXJ0eV8wOnIoMjgxMSwxLFwiSW5pdGlhbGl6ZXJfZm9yX3Byb3BlcnR5XzBfMjgxMVwiLFwiSW5pdGlhbGl6ZXIgZm9yIHByb3BlcnR5ICd7MH0nXCIpLFByb3BlcnR5XzBfZG9lc19ub3RfZXhpc3Rfb25fdHlwZV8xX1RyeV9jaGFuZ2luZ190aGVfbGliX2NvbXBpbGVyX29wdGlvbl90b19pbmNsdWRlX2RvbTpyKDI4MTIsMSxcIlByb3BlcnR5XzBfZG9lc19ub3RfZXhpc3Rfb25fdHlwZV8xX1RyeV9jaGFuZ2luZ190aGVfbGliX2NvbXBpbGVyX29wdGlvbl90b19pbmNsdWRlX2RvbV8yODEyXCIsXCJQcm9wZXJ0eSAnezB9JyBkb2VzIG5vdCBleGlzdCBvbiB0eXBlICd7MX0nLiBUcnkgY2hhbmdpbmcgdGhlICdsaWInIGNvbXBpbGVyIG9wdGlvbiB0byBpbmNsdWRlICdkb20nLlwiKSxDbGFzc19kZWNsYXJhdGlvbl9jYW5ub3RfaW1wbGVtZW50X292ZXJsb2FkX2xpc3RfZm9yXzA6cigyODEzLDEsXCJDbGFzc19kZWNsYXJhdGlvbl9jYW5ub3RfaW1wbGVtZW50X292ZXJsb2FkX2xpc3RfZm9yXzBfMjgxM1wiLFwiQ2xhc3MgZGVjbGFyYXRpb24gY2Fubm90IGltcGxlbWVudCBvdmVybG9hZCBsaXN0IGZvciAnezB9Jy5cIiksRnVuY3Rpb25fd2l0aF9ib2RpZXNfY2FuX29ubHlfbWVyZ2Vfd2l0aF9jbGFzc2VzX3RoYXRfYXJlX2FtYmllbnQ6cigyODE0LDEsXCJGdW5jdGlvbl93aXRoX2JvZGllc19jYW5fb25seV9tZXJnZV93aXRoX2NsYXNzZXNfdGhhdF9hcmVfYW1iaWVudF8yODE0XCIsXCJGdW5jdGlvbiB3aXRoIGJvZGllcyBjYW4gb25seSBtZXJnZSB3aXRoIGNsYXNzZXMgdGhhdCBhcmUgYW1iaWVudC5cIiksYXJndW1lbnRzX2Nhbm5vdF9iZV9yZWZlcmVuY2VkX2luX3Byb3BlcnR5X2luaXRpYWxpemVyczpyKDI4MTUsMSxcImFyZ3VtZW50c19jYW5ub3RfYmVfcmVmZXJlbmNlZF9pbl9wcm9wZXJ0eV9pbml0aWFsaXplcnNfMjgxNVwiLFwiJ2FyZ3VtZW50cycgY2Fubm90IGJlIHJlZmVyZW5jZWQgaW4gcHJvcGVydHkgaW5pdGlhbGl6ZXJzLlwiKSxDYW5ub3RfdXNlX3RoaXNfaW5fYV9zdGF0aWNfcHJvcGVydHlfaW5pdGlhbGl6ZXJfb2ZfYV9kZWNvcmF0ZWRfY2xhc3M6cigyODE2LDEsXCJDYW5ub3RfdXNlX3RoaXNfaW5fYV9zdGF0aWNfcHJvcGVydHlfaW5pdGlhbGl6ZXJfb2ZfYV9kZWNvcmF0ZWRfY2xhc3NfMjgxNlwiLFwiQ2Fubm90IHVzZSAndGhpcycgaW4gYSBzdGF0aWMgcHJvcGVydHkgaW5pdGlhbGl6ZXIgb2YgYSBkZWNvcmF0ZWQgY2xhc3MuXCIpLFByb3BlcnR5XzBfaGFzX25vX2luaXRpYWxpemVyX2FuZF9pc19ub3RfZGVmaW5pdGVseV9hc3NpZ25lZF9pbl9hX2NsYXNzX3N0YXRpY19ibG9jazpyKDI4MTcsMSxcIlByb3BlcnR5XzBfaGFzX25vX2luaXRpYWxpemVyX2FuZF9pc19ub3RfZGVmaW5pdGVseV9hc3NpZ25lZF9pbl9hX2NsYXNzX3N0YXRpY19ibG9ja18yODE3XCIsXCJQcm9wZXJ0eSAnezB9JyBoYXMgbm8gaW5pdGlhbGl6ZXIgYW5kIGlzIG5vdCBkZWZpbml0ZWx5IGFzc2lnbmVkIGluIGEgY2xhc3Mgc3RhdGljIGJsb2NrLlwiKSxEdXBsaWNhdGVfaWRlbnRpZmllcl8wX0NvbXBpbGVyX3Jlc2VydmVzX25hbWVfMV93aGVuX2VtaXR0aW5nX3N1cGVyX3JlZmVyZW5jZXNfaW5fc3RhdGljX2luaXRpYWxpemVyczpyKDI4MTgsMSxcIkR1cGxpY2F0ZV9pZGVudGlmaWVyXzBfQ29tcGlsZXJfcmVzZXJ2ZXNfbmFtZV8xX3doZW5fZW1pdHRpbmdfc3VwZXJfcmVmZXJlbmNlc19pbl9zdGF0aWNfaW5pdGlhbGl6ZXJfMjgxOFwiLFwiRHVwbGljYXRlIGlkZW50aWZpZXIgJ3swfScuIENvbXBpbGVyIHJlc2VydmVzIG5hbWUgJ3sxfScgd2hlbiBlbWl0dGluZyAnc3VwZXInIHJlZmVyZW5jZXMgaW4gc3RhdGljIGluaXRpYWxpemVycy5cIiksTmFtZXNwYWNlX25hbWVfY2Fubm90X2JlXzA6cigyODE5LDEsXCJOYW1lc3BhY2VfbmFtZV9jYW5ub3RfYmVfMF8yODE5XCIsXCJOYW1lc3BhY2UgbmFtZSBjYW5ub3QgYmUgJ3swfScuXCIpLFR5cGVfMF9pc19ub3RfYXNzaWduYWJsZV90b190eXBlXzFfRGlkX3lvdV9tZWFuXzI6cigyODIwLDEsXCJUeXBlXzBfaXNfbm90X2Fzc2lnbmFibGVfdG9fdHlwZV8xX0RpZF95b3VfbWVhbl8yXzI4MjBcIixcIlR5cGUgJ3swfScgaXMgbm90IGFzc2lnbmFibGUgdG8gdHlwZSAnezF9Jy4gRGlkIHlvdSBtZWFuICd7Mn0nP1wiKSxJbXBvcnRfYXNzZXJ0aW9uc19hcmVfb25seV9zdXBwb3J0ZWRfd2hlbl90aGVfbW9kdWxlX29wdGlvbl9pc19zZXRfdG9fZXNuZXh0X25vZGVuZXh0X29yX3ByZXNlcnZlOnIoMjgyMSwxLFwiSW1wb3J0X2Fzc2VydGlvbnNfYXJlX29ubHlfc3VwcG9ydGVkX3doZW5fdGhlX21vZHVsZV9vcHRpb25faXNfc2V0X3RvX2VzbmV4dF9ub2RlbmV4dF9vcl9wcmVzZXJ2ZV8yODIxXCIsXCJJbXBvcnQgYXNzZXJ0aW9ucyBhcmUgb25seSBzdXBwb3J0ZWQgd2hlbiB0aGUgJy0tbW9kdWxlJyBvcHRpb24gaXMgc2V0IHRvICdlc25leHQnLCAnbm9kZW5leHQnLCBvciAncHJlc2VydmUnLlwiKSxJbXBvcnRfYXNzZXJ0aW9uc19jYW5ub3RfYmVfdXNlZF93aXRoX3R5cGVfb25seV9pbXBvcnRzX29yX2V4cG9ydHM6cigyODIyLDEsXCJJbXBvcnRfYXNzZXJ0aW9uc19jYW5ub3RfYmVfdXNlZF93aXRoX3R5cGVfb25seV9pbXBvcnRzX29yX2V4cG9ydHNfMjgyMlwiLFwiSW1wb3J0IGFzc2VydGlvbnMgY2Fubm90IGJlIHVzZWQgd2l0aCB0eXBlLW9ubHkgaW1wb3J0cyBvciBleHBvcnRzLlwiKSxJbXBvcnRfYXR0cmlidXRlc19hcmVfb25seV9zdXBwb3J0ZWRfd2hlbl90aGVfbW9kdWxlX29wdGlvbl9pc19zZXRfdG9fZXNuZXh0X25vZGVuZXh0X29yX3ByZXNlcnZlOnIoMjgyMywxLFwiSW1wb3J0X2F0dHJpYnV0ZXNfYXJlX29ubHlfc3VwcG9ydGVkX3doZW5fdGhlX21vZHVsZV9vcHRpb25faXNfc2V0X3RvX2VzbmV4dF9ub2RlbmV4dF9vcl9wcmVzZXJ2ZV8yODIzXCIsXCJJbXBvcnQgYXR0cmlidXRlcyBhcmUgb25seSBzdXBwb3J0ZWQgd2hlbiB0aGUgJy0tbW9kdWxlJyBvcHRpb24gaXMgc2V0IHRvICdlc25leHQnLCAnbm9kZW5leHQnLCBvciAncHJlc2VydmUnLlwiKSxDYW5ub3RfZmluZF9uYW1lc3BhY2VfMF9EaWRfeW91X21lYW5fMTpyKDI4MzMsMSxcIkNhbm5vdF9maW5kX25hbWVzcGFjZV8wX0RpZF95b3VfbWVhbl8xXzI4MzNcIixcIkNhbm5vdCBmaW5kIG5hbWVzcGFjZSAnezB9Jy4gRGlkIHlvdSBtZWFuICd7MX0nP1wiKSxSZWxhdGl2ZV9pbXBvcnRfcGF0aHNfbmVlZF9leHBsaWNpdF9maWxlX2V4dGVuc2lvbnNfaW5fRUNNQVNjcmlwdF9pbXBvcnRzX3doZW5fbW9kdWxlUmVzb2x1dGlvbl9pc19ub2RlMTZfb3Jfbm9kZW5leHRfQ29uc2lkZXJfYWRkaW5nX2FuX2V4dGVuc2lvbl90b190aGVfaW1wb3J0X3BhdGg6cigyODM0LDEsXCJSZWxhdGl2ZV9pbXBvcnRfcGF0aHNfbmVlZF9leHBsaWNpdF9maWxlX2V4dGVuc2lvbnNfaW5fRUNNQVNjcmlwdF9pbXBvcnRzX3doZW5fbW9kdWxlUmVzb2x1dGlvbl9pc19uXzI4MzRcIixcIlJlbGF0aXZlIGltcG9ydCBwYXRocyBuZWVkIGV4cGxpY2l0IGZpbGUgZXh0ZW5zaW9ucyBpbiBFQ01BU2NyaXB0IGltcG9ydHMgd2hlbiAnLS1tb2R1bGVSZXNvbHV0aW9uJyBpcyAnbm9kZTE2JyBvciAnbm9kZW5leHQnLiBDb25zaWRlciBhZGRpbmcgYW4gZXh0ZW5zaW9uIHRvIHRoZSBpbXBvcnQgcGF0aC5cIiksUmVsYXRpdmVfaW1wb3J0X3BhdGhzX25lZWRfZXhwbGljaXRfZmlsZV9leHRlbnNpb25zX2luX0VDTUFTY3JpcHRfaW1wb3J0c193aGVuX21vZHVsZVJlc29sdXRpb25faXNfbm9kZTE2X29yX25vZGVuZXh0X0RpZF95b3VfbWVhbl8wOnIoMjgzNSwxLFwiUmVsYXRpdmVfaW1wb3J0X3BhdGhzX25lZWRfZXhwbGljaXRfZmlsZV9leHRlbnNpb25zX2luX0VDTUFTY3JpcHRfaW1wb3J0c193aGVuX21vZHVsZVJlc29sdXRpb25faXNfbl8yODM1XCIsXCJSZWxhdGl2ZSBpbXBvcnQgcGF0aHMgbmVlZCBleHBsaWNpdCBmaWxlIGV4dGVuc2lvbnMgaW4gRUNNQVNjcmlwdCBpbXBvcnRzIHdoZW4gJy0tbW9kdWxlUmVzb2x1dGlvbicgaXMgJ25vZGUxNicgb3IgJ25vZGVuZXh0Jy4gRGlkIHlvdSBtZWFuICd7MH0nP1wiKSxJbXBvcnRfYXNzZXJ0aW9uc19hcmVfbm90X2FsbG93ZWRfb25fc3RhdGVtZW50c190aGF0X2NvbXBpbGVfdG9fQ29tbW9uSlNfcmVxdWlyZV9jYWxsczpyKDI4MzYsMSxcIkltcG9ydF9hc3NlcnRpb25zX2FyZV9ub3RfYWxsb3dlZF9vbl9zdGF0ZW1lbnRzX3RoYXRfY29tcGlsZV90b19Db21tb25KU19yZXF1aXJlX2NhbGxzXzI4MzZcIixcIkltcG9ydCBhc3NlcnRpb25zIGFyZSBub3QgYWxsb3dlZCBvbiBzdGF0ZW1lbnRzIHRoYXQgY29tcGlsZSB0byBDb21tb25KUyAncmVxdWlyZScgY2FsbHMuXCIpLEltcG9ydF9hc3NlcnRpb25fdmFsdWVzX211c3RfYmVfc3RyaW5nX2xpdGVyYWxfZXhwcmVzc2lvbnM6cigyODM3LDEsXCJJbXBvcnRfYXNzZXJ0aW9uX3ZhbHVlc19tdXN0X2JlX3N0cmluZ19saXRlcmFsX2V4cHJlc3Npb25zXzI4MzdcIixcIkltcG9ydCBhc3NlcnRpb24gdmFsdWVzIG11c3QgYmUgc3RyaW5nIGxpdGVyYWwgZXhwcmVzc2lvbnMuXCIpLEFsbF9kZWNsYXJhdGlvbnNfb2ZfMF9tdXN0X2hhdmVfaWRlbnRpY2FsX2NvbnN0cmFpbnRzOnIoMjgzOCwxLFwiQWxsX2RlY2xhcmF0aW9uc19vZl8wX211c3RfaGF2ZV9pZGVudGljYWxfY29uc3RyYWludHNfMjgzOFwiLFwiQWxsIGRlY2xhcmF0aW9ucyBvZiAnezB9JyBtdXN0IGhhdmUgaWRlbnRpY2FsIGNvbnN0cmFpbnRzLlwiKSxUaGlzX2NvbmRpdGlvbl93aWxsX2Fsd2F5c19yZXR1cm5fMF9zaW5jZV9KYXZhU2NyaXB0X2NvbXBhcmVzX29iamVjdHNfYnlfcmVmZXJlbmNlX25vdF92YWx1ZTpyKDI4MzksMSxcIlRoaXNfY29uZGl0aW9uX3dpbGxfYWx3YXlzX3JldHVybl8wX3NpbmNlX0phdmFTY3JpcHRfY29tcGFyZXNfb2JqZWN0c19ieV9yZWZlcmVuY2Vfbm90X3ZhbHVlXzI4MzlcIixcIlRoaXMgY29uZGl0aW9uIHdpbGwgYWx3YXlzIHJldHVybiAnezB9JyBzaW5jZSBKYXZhU2NyaXB0IGNvbXBhcmVzIG9iamVjdHMgYnkgcmVmZXJlbmNlLCBub3QgdmFsdWUuXCIpLEFuX2ludGVyZmFjZV9jYW5ub3RfZXh0ZW5kX2FfcHJpbWl0aXZlX3R5cGVfbGlrZV8wX0l0X2Nhbl9vbmx5X2V4dGVuZF9vdGhlcl9uYW1lZF9vYmplY3RfdHlwZXM6cigyODQwLDEsXCJBbl9pbnRlcmZhY2VfY2Fubm90X2V4dGVuZF9hX3ByaW1pdGl2ZV90eXBlX2xpa2VfMF9JdF9jYW5fb25seV9leHRlbmRfb3RoZXJfbmFtZWRfb2JqZWN0X3R5cGVzXzI4NDBcIixcIkFuIGludGVyZmFjZSBjYW5ub3QgZXh0ZW5kIGEgcHJpbWl0aXZlIHR5cGUgbGlrZSAnezB9Jy4gSXQgY2FuIG9ubHkgZXh0ZW5kIG90aGVyIG5hbWVkIG9iamVjdCB0eXBlcy5cIiksXzBfaXNfYW5fdW51c2VkX3JlbmFtaW5nX29mXzFfRGlkX3lvdV9pbnRlbmRfdG9fdXNlX2l0X2FzX2FfdHlwZV9hbm5vdGF0aW9uOnIoMjg0MiwxLFwiXzBfaXNfYW5fdW51c2VkX3JlbmFtaW5nX29mXzFfRGlkX3lvdV9pbnRlbmRfdG9fdXNlX2l0X2FzX2FfdHlwZV9hbm5vdGF0aW9uXzI4NDJcIixcIid7MH0nIGlzIGFuIHVudXNlZCByZW5hbWluZyBvZiAnezF9Jy4gRGlkIHlvdSBpbnRlbmQgdG8gdXNlIGl0IGFzIGEgdHlwZSBhbm5vdGF0aW9uP1wiKSxXZV9jYW5fb25seV93cml0ZV9hX3R5cGVfZm9yXzBfYnlfYWRkaW5nX2FfdHlwZV9mb3JfdGhlX2VudGlyZV9wYXJhbWV0ZXJfaGVyZTpyKDI4NDMsMSxcIldlX2Nhbl9vbmx5X3dyaXRlX2FfdHlwZV9mb3JfMF9ieV9hZGRpbmdfYV90eXBlX2Zvcl90aGVfZW50aXJlX3BhcmFtZXRlcl9oZXJlXzI4NDNcIixcIldlIGNhbiBvbmx5IHdyaXRlIGEgdHlwZSBmb3IgJ3swfScgYnkgYWRkaW5nIGEgdHlwZSBmb3IgdGhlIGVudGlyZSBwYXJhbWV0ZXIgaGVyZS5cIiksVHlwZV9vZl9pbnN0YW5jZV9tZW1iZXJfdmFyaWFibGVfMF9jYW5ub3RfcmVmZXJlbmNlX2lkZW50aWZpZXJfMV9kZWNsYXJlZF9pbl90aGVfY29uc3RydWN0b3I6cigyODQ0LDEsXCJUeXBlX29mX2luc3RhbmNlX21lbWJlcl92YXJpYWJsZV8wX2Nhbm5vdF9yZWZlcmVuY2VfaWRlbnRpZmllcl8xX2RlY2xhcmVkX2luX3RoZV9jb25zdHJ1Y3Rvcl8yODQ0XCIsXCJUeXBlIG9mIGluc3RhbmNlIG1lbWJlciB2YXJpYWJsZSAnezB9JyBjYW5ub3QgcmVmZXJlbmNlIGlkZW50aWZpZXIgJ3sxfScgZGVjbGFyZWQgaW4gdGhlIGNvbnN0cnVjdG9yLlwiKSxUaGlzX2NvbmRpdGlvbl93aWxsX2Fsd2F5c19yZXR1cm5fMDpyKDI4NDUsMSxcIlRoaXNfY29uZGl0aW9uX3dpbGxfYWx3YXlzX3JldHVybl8wXzI4NDVcIixcIlRoaXMgY29uZGl0aW9uIHdpbGwgYWx3YXlzIHJldHVybiAnezB9Jy5cIiksQV9kZWNsYXJhdGlvbl9maWxlX2Nhbm5vdF9iZV9pbXBvcnRlZF93aXRob3V0X2ltcG9ydF90eXBlX0RpZF95b3VfbWVhbl90b19pbXBvcnRfYW5faW1wbGVtZW50YXRpb25fZmlsZV8wX2luc3RlYWQ6cigyODQ2LDEsXCJBX2RlY2xhcmF0aW9uX2ZpbGVfY2Fubm90X2JlX2ltcG9ydGVkX3dpdGhvdXRfaW1wb3J0X3R5cGVfRGlkX3lvdV9tZWFuX3RvX2ltcG9ydF9hbl9pbXBsZW1lbnRhdGlvbl9mXzI4NDZcIixcIkEgZGVjbGFyYXRpb24gZmlsZSBjYW5ub3QgYmUgaW1wb3J0ZWQgd2l0aG91dCAnaW1wb3J0IHR5cGUnLiBEaWQgeW91IG1lYW4gdG8gaW1wb3J0IGFuIGltcGxlbWVudGF0aW9uIGZpbGUgJ3swfScgaW5zdGVhZD9cIiksVGhlX3JpZ2h0X2hhbmRfc2lkZV9vZl9hbl9pbnN0YW5jZW9mX2V4cHJlc3Npb25fbXVzdF9ub3RfYmVfYW5faW5zdGFudGlhdGlvbl9leHByZXNzaW9uOnIoMjg0OCwxLFwiVGhlX3JpZ2h0X2hhbmRfc2lkZV9vZl9hbl9pbnN0YW5jZW9mX2V4cHJlc3Npb25fbXVzdF9ub3RfYmVfYW5faW5zdGFudGlhdGlvbl9leHByZXNzaW9uXzI4NDhcIixcIlRoZSByaWdodC1oYW5kIHNpZGUgb2YgYW4gJ2luc3RhbmNlb2YnIGV4cHJlc3Npb24gbXVzdCBub3QgYmUgYW4gaW5zdGFudGlhdGlvbiBleHByZXNzaW9uLlwiKSxUYXJnZXRfc2lnbmF0dXJlX3Byb3ZpZGVzX3Rvb19mZXdfYXJndW1lbnRzX0V4cGVjdGVkXzBfb3JfbW9yZV9idXRfZ290XzE6cigyODQ5LDEsXCJUYXJnZXRfc2lnbmF0dXJlX3Byb3ZpZGVzX3Rvb19mZXdfYXJndW1lbnRzX0V4cGVjdGVkXzBfb3JfbW9yZV9idXRfZ290XzFfMjg0OVwiLFwiVGFyZ2V0IHNpZ25hdHVyZSBwcm92aWRlcyB0b28gZmV3IGFyZ3VtZW50cy4gRXhwZWN0ZWQgezB9IG9yIG1vcmUsIGJ1dCBnb3QgezF9LlwiKSxUaGVfaW5pdGlhbGl6ZXJfb2ZfYV91c2luZ19kZWNsYXJhdGlvbl9tdXN0X2JlX2VpdGhlcl9hbl9vYmplY3Rfd2l0aF9hX1N5bWJvbF9kaXNwb3NlX21ldGhvZF9vcl9iZV9udWxsX29yX3VuZGVmaW5lZDpyKDI4NTAsMSxcIlRoZV9pbml0aWFsaXplcl9vZl9hX3VzaW5nX2RlY2xhcmF0aW9uX211c3RfYmVfZWl0aGVyX2FuX29iamVjdF93aXRoX2FfU3ltYm9sX2Rpc3Bvc2VfbWV0aG9kX29yX2JlX25fMjg1MFwiLFwiVGhlIGluaXRpYWxpemVyIG9mIGEgJ3VzaW5nJyBkZWNsYXJhdGlvbiBtdXN0IGJlIGVpdGhlciBhbiBvYmplY3Qgd2l0aCBhICdbU3ltYm9sLmRpc3Bvc2VdKCknIG1ldGhvZCwgb3IgYmUgJ251bGwnIG9yICd1bmRlZmluZWQnLlwiKSxUaGVfaW5pdGlhbGl6ZXJfb2ZfYW5fYXdhaXRfdXNpbmdfZGVjbGFyYXRpb25fbXVzdF9iZV9laXRoZXJfYW5fb2JqZWN0X3dpdGhfYV9TeW1ib2xfYXN5bmNEaXNwb3NlX29yX1N5bWJvbF9kaXNwb3NlX21ldGhvZF9vcl9iZV9udWxsX29yX3VuZGVmaW5lZDpyKDI4NTEsMSxcIlRoZV9pbml0aWFsaXplcl9vZl9hbl9hd2FpdF91c2luZ19kZWNsYXJhdGlvbl9tdXN0X2JlX2VpdGhlcl9hbl9vYmplY3Rfd2l0aF9hX1N5bWJvbF9hc3luY0Rpc3Bvc2Vfb3JfMjg1MVwiLFwiVGhlIGluaXRpYWxpemVyIG9mIGFuICdhd2FpdCB1c2luZycgZGVjbGFyYXRpb24gbXVzdCBiZSBlaXRoZXIgYW4gb2JqZWN0IHdpdGggYSAnW1N5bWJvbC5hc3luY0Rpc3Bvc2VdKCknIG9yICdbU3ltYm9sLmRpc3Bvc2VdKCknIG1ldGhvZCwgb3IgYmUgJ251bGwnIG9yICd1bmRlZmluZWQnLlwiKSxhd2FpdF91c2luZ19zdGF0ZW1lbnRzX2FyZV9vbmx5X2FsbG93ZWRfd2l0aGluX2FzeW5jX2Z1bmN0aW9uc19hbmRfYXRfdGhlX3RvcF9sZXZlbHNfb2ZfbW9kdWxlczpyKDI4NTIsMSxcImF3YWl0X3VzaW5nX3N0YXRlbWVudHNfYXJlX29ubHlfYWxsb3dlZF93aXRoaW5fYXN5bmNfZnVuY3Rpb25zX2FuZF9hdF90aGVfdG9wX2xldmVsc19vZl9tb2R1bGVzXzI4NTJcIixcIidhd2FpdCB1c2luZycgc3RhdGVtZW50cyBhcmUgb25seSBhbGxvd2VkIHdpdGhpbiBhc3luYyBmdW5jdGlvbnMgYW5kIGF0IHRoZSB0b3AgbGV2ZWxzIG9mIG1vZHVsZXMuXCIpLGF3YWl0X3VzaW5nX3N0YXRlbWVudHNfYXJlX29ubHlfYWxsb3dlZF9hdF90aGVfdG9wX2xldmVsX29mX2FfZmlsZV93aGVuX3RoYXRfZmlsZV9pc19hX21vZHVsZV9idXRfdGhpc19maWxlX2hhc19ub19pbXBvcnRzX29yX2V4cG9ydHNfQ29uc2lkZXJfYWRkaW5nX2FuX2VtcHR5X2V4cG9ydF90b19tYWtlX3RoaXNfZmlsZV9hX21vZHVsZTpyKDI4NTMsMSxcImF3YWl0X3VzaW5nX3N0YXRlbWVudHNfYXJlX29ubHlfYWxsb3dlZF9hdF90aGVfdG9wX2xldmVsX29mX2FfZmlsZV93aGVuX3RoYXRfZmlsZV9pc19hX21vZHVsZV9idXRfdGhfMjg1M1wiLFwiJ2F3YWl0IHVzaW5nJyBzdGF0ZW1lbnRzIGFyZSBvbmx5IGFsbG93ZWQgYXQgdGhlIHRvcCBsZXZlbCBvZiBhIGZpbGUgd2hlbiB0aGF0IGZpbGUgaXMgYSBtb2R1bGUsIGJ1dCB0aGlzIGZpbGUgaGFzIG5vIGltcG9ydHMgb3IgZXhwb3J0cy4gQ29uc2lkZXIgYWRkaW5nIGFuIGVtcHR5ICdleHBvcnQge30nIHRvIG1ha2UgdGhpcyBmaWxlIGEgbW9kdWxlLlwiKSxUb3BfbGV2ZWxfYXdhaXRfdXNpbmdfc3RhdGVtZW50c19hcmVfb25seV9hbGxvd2VkX3doZW5fdGhlX21vZHVsZV9vcHRpb25faXNfc2V0X3RvX2VzMjAyMl9lc25leHRfc3lzdGVtX25vZGUxNl9ub2RlbmV4dF9vcl9wcmVzZXJ2ZV9hbmRfdGhlX3RhcmdldF9vcHRpb25faXNfc2V0X3RvX2VzMjAxN19vcl9oaWdoZXI6cigyODU0LDEsXCJUb3BfbGV2ZWxfYXdhaXRfdXNpbmdfc3RhdGVtZW50c19hcmVfb25seV9hbGxvd2VkX3doZW5fdGhlX21vZHVsZV9vcHRpb25faXNfc2V0X3RvX2VzMjAyMl9lc25leHRfc3lzXzI4NTRcIixcIlRvcC1sZXZlbCAnYXdhaXQgdXNpbmcnIHN0YXRlbWVudHMgYXJlIG9ubHkgYWxsb3dlZCB3aGVuIHRoZSAnbW9kdWxlJyBvcHRpb24gaXMgc2V0IHRvICdlczIwMjInLCAnZXNuZXh0JywgJ3N5c3RlbScsICdub2RlMTYnLCAnbm9kZW5leHQnLCBvciAncHJlc2VydmUnLCBhbmQgdGhlICd0YXJnZXQnIG9wdGlvbiBpcyBzZXQgdG8gJ2VzMjAxNycgb3IgaGlnaGVyLlwiKSxDbGFzc19maWVsZF8wX2RlZmluZWRfYnlfdGhlX3BhcmVudF9jbGFzc19pc19ub3RfYWNjZXNzaWJsZV9pbl90aGVfY2hpbGRfY2xhc3NfdmlhX3N1cGVyOnIoMjg1NSwxLFwiQ2xhc3NfZmllbGRfMF9kZWZpbmVkX2J5X3RoZV9wYXJlbnRfY2xhc3NfaXNfbm90X2FjY2Vzc2libGVfaW5fdGhlX2NoaWxkX2NsYXNzX3ZpYV9zdXBlcl8yODU1XCIsXCJDbGFzcyBmaWVsZCAnezB9JyBkZWZpbmVkIGJ5IHRoZSBwYXJlbnQgY2xhc3MgaXMgbm90IGFjY2Vzc2libGUgaW4gdGhlIGNoaWxkIGNsYXNzIHZpYSBzdXBlci5cIiksSW1wb3J0X2F0dHJpYnV0ZXNfYXJlX25vdF9hbGxvd2VkX29uX3N0YXRlbWVudHNfdGhhdF9jb21waWxlX3RvX0NvbW1vbkpTX3JlcXVpcmVfY2FsbHM6cigyODU2LDEsXCJJbXBvcnRfYXR0cmlidXRlc19hcmVfbm90X2FsbG93ZWRfb25fc3RhdGVtZW50c190aGF0X2NvbXBpbGVfdG9fQ29tbW9uSlNfcmVxdWlyZV9jYWxsc18yODU2XCIsXCJJbXBvcnQgYXR0cmlidXRlcyBhcmUgbm90IGFsbG93ZWQgb24gc3RhdGVtZW50cyB0aGF0IGNvbXBpbGUgdG8gQ29tbW9uSlMgJ3JlcXVpcmUnIGNhbGxzLlwiKSxJbXBvcnRfYXR0cmlidXRlc19jYW5ub3RfYmVfdXNlZF93aXRoX3R5cGVfb25seV9pbXBvcnRzX29yX2V4cG9ydHM6cigyODU3LDEsXCJJbXBvcnRfYXR0cmlidXRlc19jYW5ub3RfYmVfdXNlZF93aXRoX3R5cGVfb25seV9pbXBvcnRzX29yX2V4cG9ydHNfMjg1N1wiLFwiSW1wb3J0IGF0dHJpYnV0ZXMgY2Fubm90IGJlIHVzZWQgd2l0aCB0eXBlLW9ubHkgaW1wb3J0cyBvciBleHBvcnRzLlwiKSxJbXBvcnRfYXR0cmlidXRlX3ZhbHVlc19tdXN0X2JlX3N0cmluZ19saXRlcmFsX2V4cHJlc3Npb25zOnIoMjg1OCwxLFwiSW1wb3J0X2F0dHJpYnV0ZV92YWx1ZXNfbXVzdF9iZV9zdHJpbmdfbGl0ZXJhbF9leHByZXNzaW9uc18yODU4XCIsXCJJbXBvcnQgYXR0cmlidXRlIHZhbHVlcyBtdXN0IGJlIHN0cmluZyBsaXRlcmFsIGV4cHJlc3Npb25zLlwiKSxFeGNlc3NpdmVfY29tcGxleGl0eV9jb21wYXJpbmdfdHlwZXNfMF9hbmRfMTpyKDI4NTksMSxcIkV4Y2Vzc2l2ZV9jb21wbGV4aXR5X2NvbXBhcmluZ190eXBlc18wX2FuZF8xXzI4NTlcIixcIkV4Y2Vzc2l2ZSBjb21wbGV4aXR5IGNvbXBhcmluZyB0eXBlcyAnezB9JyBhbmQgJ3sxfScuXCIpLFRoZV9sZWZ0X2hhbmRfc2lkZV9vZl9hbl9pbnN0YW5jZW9mX2V4cHJlc3Npb25fbXVzdF9iZV9hc3NpZ25hYmxlX3RvX3RoZV9maXJzdF9hcmd1bWVudF9vZl90aGVfcmlnaHRfaGFuZF9zaWRlX3NfU3ltYm9sX2hhc0luc3RhbmNlX21ldGhvZDpyKDI4NjAsMSxcIlRoZV9sZWZ0X2hhbmRfc2lkZV9vZl9hbl9pbnN0YW5jZW9mX2V4cHJlc3Npb25fbXVzdF9iZV9hc3NpZ25hYmxlX3RvX3RoZV9maXJzdF9hcmd1bWVudF9vZl90aGVfcmlnaHRfMjg2MFwiLFwiVGhlIGxlZnQtaGFuZCBzaWRlIG9mIGFuICdpbnN0YW5jZW9mJyBleHByZXNzaW9uIG11c3QgYmUgYXNzaWduYWJsZSB0byB0aGUgZmlyc3QgYXJndW1lbnQgb2YgdGhlIHJpZ2h0LWhhbmQgc2lkZSdzICdbU3ltYm9sLmhhc0luc3RhbmNlXScgbWV0aG9kLlwiKSxBbl9vYmplY3Rfc19TeW1ib2xfaGFzSW5zdGFuY2VfbWV0aG9kX211c3RfcmV0dXJuX2FfYm9vbGVhbl92YWx1ZV9mb3JfaXRfdG9fYmVfdXNlZF9vbl90aGVfcmlnaHRfaGFuZF9zaWRlX29mX2FuX2luc3RhbmNlb2ZfZXhwcmVzc2lvbjpyKDI4NjEsMSxcIkFuX29iamVjdF9zX1N5bWJvbF9oYXNJbnN0YW5jZV9tZXRob2RfbXVzdF9yZXR1cm5fYV9ib29sZWFuX3ZhbHVlX2Zvcl9pdF90b19iZV91c2VkX29uX3RoZV9yaWdodF9oYW5fMjg2MVwiLFwiQW4gb2JqZWN0J3MgJ1tTeW1ib2wuaGFzSW5zdGFuY2VdJyBtZXRob2QgbXVzdCByZXR1cm4gYSBib29sZWFuIHZhbHVlIGZvciBpdCB0byBiZSB1c2VkIG9uIHRoZSByaWdodC1oYW5kIHNpZGUgb2YgYW4gJ2luc3RhbmNlb2YnIGV4cHJlc3Npb24uXCIpLFR5cGVfMF9pc19nZW5lcmljX2FuZF9jYW5fb25seV9iZV9pbmRleGVkX2Zvcl9yZWFkaW5nOnIoMjg2MiwxLFwiVHlwZV8wX2lzX2dlbmVyaWNfYW5kX2Nhbl9vbmx5X2JlX2luZGV4ZWRfZm9yX3JlYWRpbmdfMjg2MlwiLFwiVHlwZSAnezB9JyBpcyBnZW5lcmljIGFuZCBjYW4gb25seSBiZSBpbmRleGVkIGZvciByZWFkaW5nLlwiKSxBX2NsYXNzX2Nhbm5vdF9leHRlbmRfYV9wcmltaXRpdmVfdHlwZV9saWtlXzBfQ2xhc3Nlc19jYW5fb25seV9leHRlbmRfY29uc3RydWN0YWJsZV92YWx1ZXM6cigyODYzLDEsXCJBX2NsYXNzX2Nhbm5vdF9leHRlbmRfYV9wcmltaXRpdmVfdHlwZV9saWtlXzBfQ2xhc3Nlc19jYW5fb25seV9leHRlbmRfY29uc3RydWN0YWJsZV92YWx1ZXNfMjg2M1wiLFwiQSBjbGFzcyBjYW5ub3QgZXh0ZW5kIGEgcHJpbWl0aXZlIHR5cGUgbGlrZSAnezB9Jy4gQ2xhc3NlcyBjYW4gb25seSBleHRlbmQgY29uc3RydWN0YWJsZSB2YWx1ZXMuXCIpLEFfY2xhc3NfY2Fubm90X2ltcGxlbWVudF9hX3ByaW1pdGl2ZV90eXBlX2xpa2VfMF9JdF9jYW5fb25seV9pbXBsZW1lbnRfb3RoZXJfbmFtZWRfb2JqZWN0X3R5cGVzOnIoMjg2NCwxLFwiQV9jbGFzc19jYW5ub3RfaW1wbGVtZW50X2FfcHJpbWl0aXZlX3R5cGVfbGlrZV8wX0l0X2Nhbl9vbmx5X2ltcGxlbWVudF9vdGhlcl9uYW1lZF9vYmplY3RfdHlwZXNfMjg2NFwiLFwiQSBjbGFzcyBjYW5ub3QgaW1wbGVtZW50IGEgcHJpbWl0aXZlIHR5cGUgbGlrZSAnezB9Jy4gSXQgY2FuIG9ubHkgaW1wbGVtZW50IG90aGVyIG5hbWVkIG9iamVjdCB0eXBlcy5cIiksSW1wb3J0XzBfY29uZmxpY3RzX3dpdGhfbG9jYWxfdmFsdWVfc29fbXVzdF9iZV9kZWNsYXJlZF93aXRoX2FfdHlwZV9vbmx5X2ltcG9ydF93aGVuX2lzb2xhdGVkTW9kdWxlc19pc19lbmFibGVkOnIoMjg2NSwxLFwiSW1wb3J0XzBfY29uZmxpY3RzX3dpdGhfbG9jYWxfdmFsdWVfc29fbXVzdF9iZV9kZWNsYXJlZF93aXRoX2FfdHlwZV9vbmx5X2ltcG9ydF93aGVuX2lzb2xhdGVkTW9kdWxlc18yODY1XCIsXCJJbXBvcnQgJ3swfScgY29uZmxpY3RzIHdpdGggbG9jYWwgdmFsdWUsIHNvIG11c3QgYmUgZGVjbGFyZWQgd2l0aCBhIHR5cGUtb25seSBpbXBvcnQgd2hlbiAnaXNvbGF0ZWRNb2R1bGVzJyBpcyBlbmFibGVkLlwiKSxJbXBvcnRfMF9jb25mbGljdHNfd2l0aF9nbG9iYWxfdmFsdWVfdXNlZF9pbl90aGlzX2ZpbGVfc29fbXVzdF9iZV9kZWNsYXJlZF93aXRoX2FfdHlwZV9vbmx5X2ltcG9ydF93aGVuX2lzb2xhdGVkTW9kdWxlc19pc19lbmFibGVkOnIoMjg2NiwxLFwiSW1wb3J0XzBfY29uZmxpY3RzX3dpdGhfZ2xvYmFsX3ZhbHVlX3VzZWRfaW5fdGhpc19maWxlX3NvX211c3RfYmVfZGVjbGFyZWRfd2l0aF9hX3R5cGVfb25seV9pbXBvcnRfd18yODY2XCIsXCJJbXBvcnQgJ3swfScgY29uZmxpY3RzIHdpdGggZ2xvYmFsIHZhbHVlIHVzZWQgaW4gdGhpcyBmaWxlLCBzbyBtdXN0IGJlIGRlY2xhcmVkIHdpdGggYSB0eXBlLW9ubHkgaW1wb3J0IHdoZW4gJ2lzb2xhdGVkTW9kdWxlcycgaXMgZW5hYmxlZC5cIiksQ2Fubm90X2ZpbmRfbmFtZV8wX0RvX3lvdV9uZWVkX3RvX2luc3RhbGxfdHlwZV9kZWZpbml0aW9uc19mb3JfQnVuX1RyeV9ucG1faV9zYXZlX2Rldl90eXBlc19TbGFzaGJ1bjpyKDI4NjcsMSxcIkNhbm5vdF9maW5kX25hbWVfMF9Eb195b3VfbmVlZF90b19pbnN0YWxsX3R5cGVfZGVmaW5pdGlvbnNfZm9yX0J1bl9UcnlfbnBtX2lfc2F2ZV9kZXZfdHlwZXNfU2xhc2hidW5fMjg2N1wiLFwiQ2Fubm90IGZpbmQgbmFtZSAnezB9Jy4gRG8geW91IG5lZWQgdG8gaW5zdGFsbCB0eXBlIGRlZmluaXRpb25zIGZvciBCdW4/IFRyeSBgbnBtIGkgLS1zYXZlLWRldiBAdHlwZXMvYnVuYC5cIiksQ2Fubm90X2ZpbmRfbmFtZV8wX0RvX3lvdV9uZWVkX3RvX2luc3RhbGxfdHlwZV9kZWZpbml0aW9uc19mb3JfQnVuX1RyeV9ucG1faV9zYXZlX2Rldl90eXBlc19TbGFzaGJ1bl9hbmRfdGhlbl9hZGRfYnVuX3RvX3RoZV90eXBlc19maWVsZF9pbl95b3VyX3RzY29uZmlnOnIoMjg2OCwxLFwiQ2Fubm90X2ZpbmRfbmFtZV8wX0RvX3lvdV9uZWVkX3RvX2luc3RhbGxfdHlwZV9kZWZpbml0aW9uc19mb3JfQnVuX1RyeV9ucG1faV9zYXZlX2Rldl90eXBlc19TbGFzaGJ1bl8yODY4XCIsXCJDYW5ub3QgZmluZCBuYW1lICd7MH0nLiBEbyB5b3UgbmVlZCB0byBpbnN0YWxsIHR5cGUgZGVmaW5pdGlvbnMgZm9yIEJ1bj8gVHJ5IGBucG0gaSAtLXNhdmUtZGV2IEB0eXBlcy9idW5gIGFuZCB0aGVuIGFkZCAnYnVuJyB0byB0aGUgdHlwZXMgZmllbGQgaW4geW91ciB0c2NvbmZpZy5cIiksUmlnaHRfb3BlcmFuZF9vZl9pc191bnJlYWNoYWJsZV9iZWNhdXNlX3RoZV9sZWZ0X29wZXJhbmRfaXNfbmV2ZXJfbnVsbGlzaDpyKDI4NjksMSxcIlJpZ2h0X29wZXJhbmRfb2ZfaXNfdW5yZWFjaGFibGVfYmVjYXVzZV90aGVfbGVmdF9vcGVyYW5kX2lzX25ldmVyX251bGxpc2hfMjg2OVwiLFwiUmlnaHQgb3BlcmFuZCBvZiA/PyBpcyB1bnJlYWNoYWJsZSBiZWNhdXNlIHRoZSBsZWZ0IG9wZXJhbmQgaXMgbmV2ZXIgbnVsbGlzaC5cIiksVGhpc19iaW5hcnlfZXhwcmVzc2lvbl9pc19uZXZlcl9udWxsaXNoX0FyZV95b3VfbWlzc2luZ19wYXJlbnRoZXNlczpyKDI4NzAsMSxcIlRoaXNfYmluYXJ5X2V4cHJlc3Npb25faXNfbmV2ZXJfbnVsbGlzaF9BcmVfeW91X21pc3NpbmdfcGFyZW50aGVzZXNfMjg3MFwiLFwiVGhpcyBiaW5hcnkgZXhwcmVzc2lvbiBpcyBuZXZlciBudWxsaXNoLiBBcmUgeW91IG1pc3NpbmcgcGFyZW50aGVzZXM/XCIpLFRoaXNfZXhwcmVzc2lvbl9pc19hbHdheXNfbnVsbGlzaDpyKDI4NzEsMSxcIlRoaXNfZXhwcmVzc2lvbl9pc19hbHdheXNfbnVsbGlzaF8yODcxXCIsXCJUaGlzIGV4cHJlc3Npb24gaXMgYWx3YXlzIG51bGxpc2guXCIpLFRoaXNfa2luZF9vZl9leHByZXNzaW9uX2lzX2Fsd2F5c190cnV0aHk6cigyODcyLDEsXCJUaGlzX2tpbmRfb2ZfZXhwcmVzc2lvbl9pc19hbHdheXNfdHJ1dGh5XzI4NzJcIixcIlRoaXMga2luZCBvZiBleHByZXNzaW9uIGlzIGFsd2F5cyB0cnV0aHkuXCIpLFRoaXNfa2luZF9vZl9leHByZXNzaW9uX2lzX2Fsd2F5c19mYWxzeTpyKDI4NzMsMSxcIlRoaXNfa2luZF9vZl9leHByZXNzaW9uX2lzX2Fsd2F5c19mYWxzeV8yODczXCIsXCJUaGlzIGtpbmQgb2YgZXhwcmVzc2lvbiBpcyBhbHdheXMgZmFsc3kuXCIpLFRoaXNfSlNYX3RhZ19yZXF1aXJlc18wX3RvX2JlX2luX3Njb3BlX2J1dF9pdF9jb3VsZF9ub3RfYmVfZm91bmQ6cigyODc0LDEsXCJUaGlzX0pTWF90YWdfcmVxdWlyZXNfMF90b19iZV9pbl9zY29wZV9idXRfaXRfY291bGRfbm90X2JlX2ZvdW5kXzI4NzRcIixcIlRoaXMgSlNYIHRhZyByZXF1aXJlcyAnezB9JyB0byBiZSBpbiBzY29wZSwgYnV0IGl0IGNvdWxkIG5vdCBiZSBmb3VuZC5cIiksVGhpc19KU1hfdGFnX3JlcXVpcmVzX3RoZV9tb2R1bGVfcGF0aF8wX3RvX2V4aXN0X2J1dF9ub25lX2NvdWxkX2JlX2ZvdW5kX01ha2Vfc3VyZV95b3VfaGF2ZV90eXBlc19mb3JfdGhlX2FwcHJvcHJpYXRlX3BhY2thZ2VfaW5zdGFsbGVkOnIoMjg3NSwxLFwiVGhpc19KU1hfdGFnX3JlcXVpcmVzX3RoZV9tb2R1bGVfcGF0aF8wX3RvX2V4aXN0X2J1dF9ub25lX2NvdWxkX2JlX2ZvdW5kX01ha2Vfc3VyZV95b3VfaGF2ZV90eXBlc19mb18yODc1XCIsXCJUaGlzIEpTWCB0YWcgcmVxdWlyZXMgdGhlIG1vZHVsZSBwYXRoICd7MH0nIHRvIGV4aXN0LCBidXQgbm9uZSBjb3VsZCBiZSBmb3VuZC4gTWFrZSBzdXJlIHlvdSBoYXZlIHR5cGVzIGZvciB0aGUgYXBwcm9wcmlhdGUgcGFja2FnZSBpbnN0YWxsZWQuXCIpLFRoaXNfcmVsYXRpdmVfaW1wb3J0X3BhdGhfaXNfdW5zYWZlX3RvX3Jld3JpdGVfYmVjYXVzZV9pdF9sb29rc19saWtlX2FfZmlsZV9uYW1lX2J1dF9hY3R1YWxseV9yZXNvbHZlc190b18wOnIoMjg3NiwxLFwiVGhpc19yZWxhdGl2ZV9pbXBvcnRfcGF0aF9pc191bnNhZmVfdG9fcmV3cml0ZV9iZWNhdXNlX2l0X2xvb2tzX2xpa2VfYV9maWxlX25hbWVfYnV0X2FjdHVhbGx5X3Jlc29sdl8yODc2XCIsJ1RoaXMgcmVsYXRpdmUgaW1wb3J0IHBhdGggaXMgdW5zYWZlIHRvIHJld3JpdGUgYmVjYXVzZSBpdCBsb29rcyBsaWtlIGEgZmlsZSBuYW1lLCBidXQgYWN0dWFsbHkgcmVzb2x2ZXMgdG8gXCJ7MH1cIi4nKSxUaGlzX2ltcG9ydF91c2VzX2FfMF9leHRlbnNpb25fdG9fcmVzb2x2ZV90b19hbl9pbnB1dF9UeXBlU2NyaXB0X2ZpbGVfYnV0X3dpbGxfbm90X2JlX3Jld3JpdHRlbl9kdXJpbmdfZW1pdF9iZWNhdXNlX2l0X2lzX25vdF9hX3JlbGF0aXZlX3BhdGg6cigyODc3LDEsXCJUaGlzX2ltcG9ydF91c2VzX2FfMF9leHRlbnNpb25fdG9fcmVzb2x2ZV90b19hbl9pbnB1dF9UeXBlU2NyaXB0X2ZpbGVfYnV0X3dpbGxfbm90X2JlX3Jld3JpdHRlbl9kdXJpXzI4NzdcIixcIlRoaXMgaW1wb3J0IHVzZXMgYSAnezB9JyBleHRlbnNpb24gdG8gcmVzb2x2ZSB0byBhbiBpbnB1dCBUeXBlU2NyaXB0IGZpbGUsIGJ1dCB3aWxsIG5vdCBiZSByZXdyaXR0ZW4gZHVyaW5nIGVtaXQgYmVjYXVzZSBpdCBpcyBub3QgYSByZWxhdGl2ZSBwYXRoLlwiKSxUaGlzX2ltcG9ydF9wYXRoX2lzX3Vuc2FmZV90b19yZXdyaXRlX2JlY2F1c2VfaXRfcmVzb2x2ZXNfdG9fYW5vdGhlcl9wcm9qZWN0X2FuZF90aGVfcmVsYXRpdmVfcGF0aF9iZXR3ZWVuX3RoZV9wcm9qZWN0c19vdXRwdXRfZmlsZXNfaXNfbm90X3RoZV9zYW1lX2FzX3RoZV9yZWxhdGl2ZV9wYXRoX2JldHdlZW5faXRzX2lucHV0X2ZpbGVzOnIoMjg3OCwxLFwiVGhpc19pbXBvcnRfcGF0aF9pc191bnNhZmVfdG9fcmV3cml0ZV9iZWNhdXNlX2l0X3Jlc29sdmVzX3RvX2Fub3RoZXJfcHJvamVjdF9hbmRfdGhlX3JlbGF0aXZlX3BhdGhfYl8yODc4XCIsXCJUaGlzIGltcG9ydCBwYXRoIGlzIHVuc2FmZSB0byByZXdyaXRlIGJlY2F1c2UgaXQgcmVzb2x2ZXMgdG8gYW5vdGhlciBwcm9qZWN0LCBhbmQgdGhlIHJlbGF0aXZlIHBhdGggYmV0d2VlbiB0aGUgcHJvamVjdHMnIG91dHB1dCBmaWxlcyBpcyBub3QgdGhlIHNhbWUgYXMgdGhlIHJlbGF0aXZlIHBhdGggYmV0d2VlbiBpdHMgaW5wdXQgZmlsZXMuXCIpLFVzaW5nX0pTWF9mcmFnbWVudHNfcmVxdWlyZXNfZnJhZ21lbnRfZmFjdG9yeV8wX3RvX2JlX2luX3Njb3BlX2J1dF9pdF9jb3VsZF9ub3RfYmVfZm91bmQ6cigyODc5LDEsXCJVc2luZ19KU1hfZnJhZ21lbnRzX3JlcXVpcmVzX2ZyYWdtZW50X2ZhY3RvcnlfMF90b19iZV9pbl9zY29wZV9idXRfaXRfY291bGRfbm90X2JlX2ZvdW5kXzI4NzlcIixcIlVzaW5nIEpTWCBmcmFnbWVudHMgcmVxdWlyZXMgZnJhZ21lbnQgZmFjdG9yeSAnezB9JyB0byBiZSBpbiBzY29wZSwgYnV0IGl0IGNvdWxkIG5vdCBiZSBmb3VuZC5cIiksSW1wb3J0X2RlY2xhcmF0aW9uXzBfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzE6cig0ZTMsMSxcIkltcG9ydF9kZWNsYXJhdGlvbl8wX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xXzQwMDBcIixcIkltcG9ydCBkZWNsYXJhdGlvbiAnezB9JyBpcyB1c2luZyBwcml2YXRlIG5hbWUgJ3sxfScuXCIpLFR5cGVfcGFyYW1ldGVyXzBfb2ZfZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xOnIoNDAwMiwxLFwiVHlwZV9wYXJhbWV0ZXJfMF9vZl9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDAwMlwiLFwiVHlwZSBwYXJhbWV0ZXIgJ3swfScgb2YgZXhwb3J0ZWQgY2xhc3MgaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezF9Jy5cIiksVHlwZV9wYXJhbWV0ZXJfMF9vZl9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xOnIoNDAwNCwxLFwiVHlwZV9wYXJhbWV0ZXJfMF9vZl9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xXzQwMDRcIixcIlR5cGUgcGFyYW1ldGVyICd7MH0nIG9mIGV4cG9ydGVkIGludGVyZmFjZSBoYXMgb3IgaXMgdXNpbmcgcHJpdmF0ZSBuYW1lICd7MX0nLlwiKSxUeXBlX3BhcmFtZXRlcl8wX29mX2NvbnN0cnVjdG9yX3NpZ25hdHVyZV9mcm9tX2V4cG9ydGVkX2ludGVyZmFjZV9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzE6cig0MDA2LDEsXCJUeXBlX3BhcmFtZXRlcl8wX29mX2NvbnN0cnVjdG9yX3NpZ25hdHVyZV9mcm9tX2V4cG9ydGVkX2ludGVyZmFjZV9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDAwNlwiLFwiVHlwZSBwYXJhbWV0ZXIgJ3swfScgb2YgY29uc3RydWN0b3Igc2lnbmF0dXJlIGZyb20gZXhwb3J0ZWQgaW50ZXJmYWNlIGhhcyBvciBpcyB1c2luZyBwcml2YXRlIG5hbWUgJ3sxfScuXCIpLFR5cGVfcGFyYW1ldGVyXzBfb2ZfY2FsbF9zaWduYXR1cmVfZnJvbV9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xOnIoNDAwOCwxLFwiVHlwZV9wYXJhbWV0ZXJfMF9vZl9jYWxsX3NpZ25hdHVyZV9mcm9tX2V4cG9ydGVkX2ludGVyZmFjZV9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDAwOFwiLFwiVHlwZSBwYXJhbWV0ZXIgJ3swfScgb2YgY2FsbCBzaWduYXR1cmUgZnJvbSBleHBvcnRlZCBpbnRlcmZhY2UgaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezF9Jy5cIiksVHlwZV9wYXJhbWV0ZXJfMF9vZl9wdWJsaWNfc3RhdGljX21ldGhvZF9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMTpyKDQwMTAsMSxcIlR5cGVfcGFyYW1ldGVyXzBfb2ZfcHVibGljX3N0YXRpY19tZXRob2RfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDAxMFwiLFwiVHlwZSBwYXJhbWV0ZXIgJ3swfScgb2YgcHVibGljIHN0YXRpYyBtZXRob2QgZnJvbSBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgcHJpdmF0ZSBuYW1lICd7MX0nLlwiKSxUeXBlX3BhcmFtZXRlcl8wX29mX3B1YmxpY19tZXRob2RfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzE6cig0MDEyLDEsXCJUeXBlX3BhcmFtZXRlcl8wX29mX3B1YmxpY19tZXRob2RfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDAxMlwiLFwiVHlwZSBwYXJhbWV0ZXIgJ3swfScgb2YgcHVibGljIG1ldGhvZCBmcm9tIGV4cG9ydGVkIGNsYXNzIGhhcyBvciBpcyB1c2luZyBwcml2YXRlIG5hbWUgJ3sxfScuXCIpLFR5cGVfcGFyYW1ldGVyXzBfb2ZfbWV0aG9kX2Zyb21fZXhwb3J0ZWRfaW50ZXJmYWNlX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMTpyKDQwMTQsMSxcIlR5cGVfcGFyYW1ldGVyXzBfb2ZfbWV0aG9kX2Zyb21fZXhwb3J0ZWRfaW50ZXJmYWNlX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMV80MDE0XCIsXCJUeXBlIHBhcmFtZXRlciAnezB9JyBvZiBtZXRob2QgZnJvbSBleHBvcnRlZCBpbnRlcmZhY2UgaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezF9Jy5cIiksVHlwZV9wYXJhbWV0ZXJfMF9vZl9leHBvcnRlZF9mdW5jdGlvbl9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzE6cig0MDE2LDEsXCJUeXBlX3BhcmFtZXRlcl8wX29mX2V4cG9ydGVkX2Z1bmN0aW9uX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMV80MDE2XCIsXCJUeXBlIHBhcmFtZXRlciAnezB9JyBvZiBleHBvcnRlZCBmdW5jdGlvbiBoYXMgb3IgaXMgdXNpbmcgcHJpdmF0ZSBuYW1lICd7MX0nLlwiKSxJbXBsZW1lbnRzX2NsYXVzZV9vZl9leHBvcnRlZF9jbGFzc18wX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMTpyKDQwMTksMSxcIkltcGxlbWVudHNfY2xhdXNlX29mX2V4cG9ydGVkX2NsYXNzXzBfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xXzQwMTlcIixcIkltcGxlbWVudHMgY2xhdXNlIG9mIGV4cG9ydGVkIGNsYXNzICd7MH0nIGhhcyBvciBpcyB1c2luZyBwcml2YXRlIG5hbWUgJ3sxfScuXCIpLGV4dGVuZHNfY2xhdXNlX29mX2V4cG9ydGVkX2NsYXNzXzBfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xOnIoNDAyMCwxLFwiZXh0ZW5kc19jbGF1c2Vfb2ZfZXhwb3J0ZWRfY2xhc3NfMF9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDAyMFwiLFwiJ2V4dGVuZHMnIGNsYXVzZSBvZiBleHBvcnRlZCBjbGFzcyAnezB9JyBoYXMgb3IgaXMgdXNpbmcgcHJpdmF0ZSBuYW1lICd7MX0nLlwiKSxleHRlbmRzX2NsYXVzZV9vZl9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzA6cig0MDIxLDEsXCJleHRlbmRzX2NsYXVzZV9vZl9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzBfNDAyMVwiLFwiJ2V4dGVuZHMnIGNsYXVzZSBvZiBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgcHJpdmF0ZSBuYW1lICd7MH0nLlwiKSxleHRlbmRzX2NsYXVzZV9vZl9leHBvcnRlZF9pbnRlcmZhY2VfMF9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzE6cig0MDIyLDEsXCJleHRlbmRzX2NsYXVzZV9vZl9leHBvcnRlZF9pbnRlcmZhY2VfMF9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDAyMlwiLFwiJ2V4dGVuZHMnIGNsYXVzZSBvZiBleHBvcnRlZCBpbnRlcmZhY2UgJ3swfScgaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezF9Jy5cIiksRXhwb3J0ZWRfdmFyaWFibGVfMF9oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fZXh0ZXJuYWxfbW9kdWxlXzJfYnV0X2Nhbm5vdF9iZV9uYW1lZDpyKDQwMjMsMSxcIkV4cG9ydGVkX3ZhcmlhYmxlXzBfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX2V4dGVybmFsX21vZHVsZV8yX2J1dF9jYW5ub3RfYmVfbmFtZWRfNDAyM1wiLFwiRXhwb3J0ZWQgdmFyaWFibGUgJ3swfScgaGFzIG9yIGlzIHVzaW5nIG5hbWUgJ3sxfScgZnJvbSBleHRlcm5hbCBtb2R1bGUgezJ9IGJ1dCBjYW5ub3QgYmUgbmFtZWQuXCIpLEV4cG9ydGVkX3ZhcmlhYmxlXzBfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzI6cig0MDI0LDEsXCJFeHBvcnRlZF92YXJpYWJsZV8wX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9wcml2YXRlX21vZHVsZV8yXzQwMjRcIixcIkV4cG9ydGVkIHZhcmlhYmxlICd7MH0nIGhhcyBvciBpcyB1c2luZyBuYW1lICd7MX0nIGZyb20gcHJpdmF0ZSBtb2R1bGUgJ3syfScuXCIpLEV4cG9ydGVkX3ZhcmlhYmxlXzBfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xOnIoNDAyNSwxLFwiRXhwb3J0ZWRfdmFyaWFibGVfMF9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDAyNVwiLFwiRXhwb3J0ZWQgdmFyaWFibGUgJ3swfScgaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezF9Jy5cIiksUHVibGljX3N0YXRpY19wcm9wZXJ0eV8wX29mX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9leHRlcm5hbF9tb2R1bGVfMl9idXRfY2Fubm90X2JlX25hbWVkOnIoNDAyNiwxLFwiUHVibGljX3N0YXRpY19wcm9wZXJ0eV8wX29mX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9leHRlcm5hbF9tb2R1bGVfMl9idXRfY2Fubm90X180MDI2XCIsXCJQdWJsaWMgc3RhdGljIHByb3BlcnR5ICd7MH0nIG9mIGV4cG9ydGVkIGNsYXNzIGhhcyBvciBpcyB1c2luZyBuYW1lICd7MX0nIGZyb20gZXh0ZXJuYWwgbW9kdWxlIHsyfSBidXQgY2Fubm90IGJlIG5hbWVkLlwiKSxQdWJsaWNfc3RhdGljX3Byb3BlcnR5XzBfb2ZfZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzI6cig0MDI3LDEsXCJQdWJsaWNfc3RhdGljX3Byb3BlcnR5XzBfb2ZfZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzJfNDAyN1wiLFwiUHVibGljIHN0YXRpYyBwcm9wZXJ0eSAnezB9JyBvZiBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezF9JyBmcm9tIHByaXZhdGUgbW9kdWxlICd7Mn0nLlwiKSxQdWJsaWNfc3RhdGljX3Byb3BlcnR5XzBfb2ZfZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xOnIoNDAyOCwxLFwiUHVibGljX3N0YXRpY19wcm9wZXJ0eV8wX29mX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMV80MDI4XCIsXCJQdWJsaWMgc3RhdGljIHByb3BlcnR5ICd7MH0nIG9mIGV4cG9ydGVkIGNsYXNzIGhhcyBvciBpcyB1c2luZyBwcml2YXRlIG5hbWUgJ3sxfScuXCIpLFB1YmxpY19wcm9wZXJ0eV8wX29mX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9leHRlcm5hbF9tb2R1bGVfMl9idXRfY2Fubm90X2JlX25hbWVkOnIoNDAyOSwxLFwiUHVibGljX3Byb3BlcnR5XzBfb2ZfZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX2V4dGVybmFsX21vZHVsZV8yX2J1dF9jYW5ub3RfYmVfbmFtZV80MDI5XCIsXCJQdWJsaWMgcHJvcGVydHkgJ3swfScgb2YgZXhwb3J0ZWQgY2xhc3MgaGFzIG9yIGlzIHVzaW5nIG5hbWUgJ3sxfScgZnJvbSBleHRlcm5hbCBtb2R1bGUgezJ9IGJ1dCBjYW5ub3QgYmUgbmFtZWQuXCIpLFB1YmxpY19wcm9wZXJ0eV8wX29mX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9wcml2YXRlX21vZHVsZV8yOnIoNDAzMCwxLFwiUHVibGljX3Byb3BlcnR5XzBfb2ZfZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzJfNDAzMFwiLFwiUHVibGljIHByb3BlcnR5ICd7MH0nIG9mIGV4cG9ydGVkIGNsYXNzIGhhcyBvciBpcyB1c2luZyBuYW1lICd7MX0nIGZyb20gcHJpdmF0ZSBtb2R1bGUgJ3syfScuXCIpLFB1YmxpY19wcm9wZXJ0eV8wX29mX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMTpyKDQwMzEsMSxcIlB1YmxpY19wcm9wZXJ0eV8wX29mX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMV80MDMxXCIsXCJQdWJsaWMgcHJvcGVydHkgJ3swfScgb2YgZXhwb3J0ZWQgY2xhc3MgaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezF9Jy5cIiksUHJvcGVydHlfMF9vZl9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzI6cig0MDMyLDEsXCJQcm9wZXJ0eV8wX29mX2V4cG9ydGVkX2ludGVyZmFjZV9oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fcHJpdmF0ZV9tb2R1bGVfMl80MDMyXCIsXCJQcm9wZXJ0eSAnezB9JyBvZiBleHBvcnRlZCBpbnRlcmZhY2UgaGFzIG9yIGlzIHVzaW5nIG5hbWUgJ3sxfScgZnJvbSBwcml2YXRlIG1vZHVsZSAnezJ9Jy5cIiksUHJvcGVydHlfMF9vZl9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xOnIoNDAzMywxLFwiUHJvcGVydHlfMF9vZl9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xXzQwMzNcIixcIlByb3BlcnR5ICd7MH0nIG9mIGV4cG9ydGVkIGludGVyZmFjZSBoYXMgb3IgaXMgdXNpbmcgcHJpdmF0ZSBuYW1lICd7MX0nLlwiKSxQYXJhbWV0ZXJfdHlwZV9vZl9wdWJsaWNfc3RhdGljX3NldHRlcl8wX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzI6cig0MDM0LDEsXCJQYXJhbWV0ZXJfdHlwZV9vZl9wdWJsaWNfc3RhdGljX3NldHRlcl8wX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kXzQwMzRcIixcIlBhcmFtZXRlciB0eXBlIG9mIHB1YmxpYyBzdGF0aWMgc2V0dGVyICd7MH0nIGZyb20gZXhwb3J0ZWQgY2xhc3MgaGFzIG9yIGlzIHVzaW5nIG5hbWUgJ3sxfScgZnJvbSBwcml2YXRlIG1vZHVsZSAnezJ9Jy5cIiksUGFyYW1ldGVyX3R5cGVfb2ZfcHVibGljX3N0YXRpY19zZXR0ZXJfMF9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMTpyKDQwMzUsMSxcIlBhcmFtZXRlcl90eXBlX29mX3B1YmxpY19zdGF0aWNfc2V0dGVyXzBfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDAzNVwiLFwiUGFyYW1ldGVyIHR5cGUgb2YgcHVibGljIHN0YXRpYyBzZXR0ZXIgJ3swfScgZnJvbSBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgcHJpdmF0ZSBuYW1lICd7MX0nLlwiKSxQYXJhbWV0ZXJfdHlwZV9vZl9wdWJsaWNfc2V0dGVyXzBfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fcHJpdmF0ZV9tb2R1bGVfMjpyKDQwMzYsMSxcIlBhcmFtZXRlcl90eXBlX29mX3B1YmxpY19zZXR0ZXJfMF9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9wcml2YXRlX21vZHVsZV8yXzQwMzZcIixcIlBhcmFtZXRlciB0eXBlIG9mIHB1YmxpYyBzZXR0ZXIgJ3swfScgZnJvbSBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezF9JyBmcm9tIHByaXZhdGUgbW9kdWxlICd7Mn0nLlwiKSxQYXJhbWV0ZXJfdHlwZV9vZl9wdWJsaWNfc2V0dGVyXzBfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzE6cig0MDM3LDEsXCJQYXJhbWV0ZXJfdHlwZV9vZl9wdWJsaWNfc2V0dGVyXzBfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDAzN1wiLFwiUGFyYW1ldGVyIHR5cGUgb2YgcHVibGljIHNldHRlciAnezB9JyBmcm9tIGV4cG9ydGVkIGNsYXNzIGhhcyBvciBpcyB1c2luZyBwcml2YXRlIG5hbWUgJ3sxfScuXCIpLFJldHVybl90eXBlX29mX3B1YmxpY19zdGF0aWNfZ2V0dGVyXzBfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fZXh0ZXJuYWxfbW9kdWxlXzJfYnV0X2Nhbm5vdF9iZV9uYW1lZDpyKDQwMzgsMSxcIlJldHVybl90eXBlX29mX3B1YmxpY19zdGF0aWNfZ2V0dGVyXzBfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fZXh0ZXJuYWxfbW9kdWxfNDAzOFwiLFwiUmV0dXJuIHR5cGUgb2YgcHVibGljIHN0YXRpYyBnZXR0ZXIgJ3swfScgZnJvbSBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezF9JyBmcm9tIGV4dGVybmFsIG1vZHVsZSB7Mn0gYnV0IGNhbm5vdCBiZSBuYW1lZC5cIiksUmV0dXJuX3R5cGVfb2ZfcHVibGljX3N0YXRpY19nZXR0ZXJfMF9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9wcml2YXRlX21vZHVsZV8yOnIoNDAzOSwxLFwiUmV0dXJuX3R5cGVfb2ZfcHVibGljX3N0YXRpY19nZXR0ZXJfMF9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9wcml2YXRlX21vZHVsZV80MDM5XCIsXCJSZXR1cm4gdHlwZSBvZiBwdWJsaWMgc3RhdGljIGdldHRlciAnezB9JyBmcm9tIGV4cG9ydGVkIGNsYXNzIGhhcyBvciBpcyB1c2luZyBuYW1lICd7MX0nIGZyb20gcHJpdmF0ZSBtb2R1bGUgJ3syfScuXCIpLFJldHVybl90eXBlX29mX3B1YmxpY19zdGF0aWNfZ2V0dGVyXzBfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzE6cig0MDQwLDEsXCJSZXR1cm5fdHlwZV9vZl9wdWJsaWNfc3RhdGljX2dldHRlcl8wX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xXzQwNDBcIixcIlJldHVybiB0eXBlIG9mIHB1YmxpYyBzdGF0aWMgZ2V0dGVyICd7MH0nIGZyb20gZXhwb3J0ZWQgY2xhc3MgaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezF9Jy5cIiksUmV0dXJuX3R5cGVfb2ZfcHVibGljX2dldHRlcl8wX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX2V4dGVybmFsX21vZHVsZV8yX2J1dF9jYW5ub3RfYmVfbmFtZWQ6cig0MDQxLDEsXCJSZXR1cm5fdHlwZV9vZl9wdWJsaWNfZ2V0dGVyXzBfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fZXh0ZXJuYWxfbW9kdWxlXzJfYnV0XzQwNDFcIixcIlJldHVybiB0eXBlIG9mIHB1YmxpYyBnZXR0ZXIgJ3swfScgZnJvbSBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezF9JyBmcm9tIGV4dGVybmFsIG1vZHVsZSB7Mn0gYnV0IGNhbm5vdCBiZSBuYW1lZC5cIiksUmV0dXJuX3R5cGVfb2ZfcHVibGljX2dldHRlcl8wX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzI6cig0MDQyLDEsXCJSZXR1cm5fdHlwZV9vZl9wdWJsaWNfZ2V0dGVyXzBfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fcHJpdmF0ZV9tb2R1bGVfMl80MDQyXCIsXCJSZXR1cm4gdHlwZSBvZiBwdWJsaWMgZ2V0dGVyICd7MH0nIGZyb20gZXhwb3J0ZWQgY2xhc3MgaGFzIG9yIGlzIHVzaW5nIG5hbWUgJ3sxfScgZnJvbSBwcml2YXRlIG1vZHVsZSAnezJ9Jy5cIiksUmV0dXJuX3R5cGVfb2ZfcHVibGljX2dldHRlcl8wX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xOnIoNDA0MywxLFwiUmV0dXJuX3R5cGVfb2ZfcHVibGljX2dldHRlcl8wX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xXzQwNDNcIixcIlJldHVybiB0eXBlIG9mIHB1YmxpYyBnZXR0ZXIgJ3swfScgZnJvbSBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgcHJpdmF0ZSBuYW1lICd7MX0nLlwiKSxSZXR1cm5fdHlwZV9vZl9jb25zdHJ1Y3Rvcl9zaWduYXR1cmVfZnJvbV9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX25hbWVfMF9mcm9tX3ByaXZhdGVfbW9kdWxlXzE6cig0MDQ0LDEsXCJSZXR1cm5fdHlwZV9vZl9jb25zdHJ1Y3Rvcl9zaWduYXR1cmVfZnJvbV9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX25hbWVfMF9mcm9tX3ByaXZhdGVfbW9kXzQwNDRcIixcIlJldHVybiB0eXBlIG9mIGNvbnN0cnVjdG9yIHNpZ25hdHVyZSBmcm9tIGV4cG9ydGVkIGludGVyZmFjZSBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezB9JyBmcm9tIHByaXZhdGUgbW9kdWxlICd7MX0nLlwiKSxSZXR1cm5fdHlwZV9vZl9jb25zdHJ1Y3Rvcl9zaWduYXR1cmVfZnJvbV9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8wOnIoNDA0NSwxLFwiUmV0dXJuX3R5cGVfb2ZfY29uc3RydWN0b3Jfc2lnbmF0dXJlX2Zyb21fZXhwb3J0ZWRfaW50ZXJmYWNlX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMF80MDQ1XCIsXCJSZXR1cm4gdHlwZSBvZiBjb25zdHJ1Y3RvciBzaWduYXR1cmUgZnJvbSBleHBvcnRlZCBpbnRlcmZhY2UgaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezB9Jy5cIiksUmV0dXJuX3R5cGVfb2ZfY2FsbF9zaWduYXR1cmVfZnJvbV9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX25hbWVfMF9mcm9tX3ByaXZhdGVfbW9kdWxlXzE6cig0MDQ2LDEsXCJSZXR1cm5fdHlwZV9vZl9jYWxsX3NpZ25hdHVyZV9mcm9tX2V4cG9ydGVkX2ludGVyZmFjZV9oYXNfb3JfaXNfdXNpbmdfbmFtZV8wX2Zyb21fcHJpdmF0ZV9tb2R1bGVfMV80MDQ2XCIsXCJSZXR1cm4gdHlwZSBvZiBjYWxsIHNpZ25hdHVyZSBmcm9tIGV4cG9ydGVkIGludGVyZmFjZSBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezB9JyBmcm9tIHByaXZhdGUgbW9kdWxlICd7MX0nLlwiKSxSZXR1cm5fdHlwZV9vZl9jYWxsX3NpZ25hdHVyZV9mcm9tX2V4cG9ydGVkX2ludGVyZmFjZV9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzA6cig0MDQ3LDEsXCJSZXR1cm5fdHlwZV9vZl9jYWxsX3NpZ25hdHVyZV9mcm9tX2V4cG9ydGVkX2ludGVyZmFjZV9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzBfNDA0N1wiLFwiUmV0dXJuIHR5cGUgb2YgY2FsbCBzaWduYXR1cmUgZnJvbSBleHBvcnRlZCBpbnRlcmZhY2UgaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezB9Jy5cIiksUmV0dXJuX3R5cGVfb2ZfaW5kZXhfc2lnbmF0dXJlX2Zyb21fZXhwb3J0ZWRfaW50ZXJmYWNlX2hhc19vcl9pc191c2luZ19uYW1lXzBfZnJvbV9wcml2YXRlX21vZHVsZV8xOnIoNDA0OCwxLFwiUmV0dXJuX3R5cGVfb2ZfaW5kZXhfc2lnbmF0dXJlX2Zyb21fZXhwb3J0ZWRfaW50ZXJmYWNlX2hhc19vcl9pc191c2luZ19uYW1lXzBfZnJvbV9wcml2YXRlX21vZHVsZV8xXzQwNDhcIixcIlJldHVybiB0eXBlIG9mIGluZGV4IHNpZ25hdHVyZSBmcm9tIGV4cG9ydGVkIGludGVyZmFjZSBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezB9JyBmcm9tIHByaXZhdGUgbW9kdWxlICd7MX0nLlwiKSxSZXR1cm5fdHlwZV9vZl9pbmRleF9zaWduYXR1cmVfZnJvbV9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8wOnIoNDA0OSwxLFwiUmV0dXJuX3R5cGVfb2ZfaW5kZXhfc2lnbmF0dXJlX2Zyb21fZXhwb3J0ZWRfaW50ZXJmYWNlX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMF80MDQ5XCIsXCJSZXR1cm4gdHlwZSBvZiBpbmRleCBzaWduYXR1cmUgZnJvbSBleHBvcnRlZCBpbnRlcmZhY2UgaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezB9Jy5cIiksUmV0dXJuX3R5cGVfb2ZfcHVibGljX3N0YXRpY19tZXRob2RfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfbmFtZV8wX2Zyb21fZXh0ZXJuYWxfbW9kdWxlXzFfYnV0X2Nhbm5vdF9iZV9uYW1lZDpyKDQwNTAsMSxcIlJldHVybl90eXBlX29mX3B1YmxpY19zdGF0aWNfbWV0aG9kX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMF9mcm9tX2V4dGVybmFsX21vZHVsZV9fNDA1MFwiLFwiUmV0dXJuIHR5cGUgb2YgcHVibGljIHN0YXRpYyBtZXRob2QgZnJvbSBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezB9JyBmcm9tIGV4dGVybmFsIG1vZHVsZSB7MX0gYnV0IGNhbm5vdCBiZSBuYW1lZC5cIiksUmV0dXJuX3R5cGVfb2ZfcHVibGljX3N0YXRpY19tZXRob2RfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfbmFtZV8wX2Zyb21fcHJpdmF0ZV9tb2R1bGVfMTpyKDQwNTEsMSxcIlJldHVybl90eXBlX29mX3B1YmxpY19zdGF0aWNfbWV0aG9kX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMF9mcm9tX3ByaXZhdGVfbW9kdWxlXzFfNDA1MVwiLFwiUmV0dXJuIHR5cGUgb2YgcHVibGljIHN0YXRpYyBtZXRob2QgZnJvbSBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezB9JyBmcm9tIHByaXZhdGUgbW9kdWxlICd7MX0nLlwiKSxSZXR1cm5fdHlwZV9vZl9wdWJsaWNfc3RhdGljX21ldGhvZF9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMDpyKDQwNTIsMSxcIlJldHVybl90eXBlX29mX3B1YmxpY19zdGF0aWNfbWV0aG9kX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8wXzQwNTJcIixcIlJldHVybiB0eXBlIG9mIHB1YmxpYyBzdGF0aWMgbWV0aG9kIGZyb20gZXhwb3J0ZWQgY2xhc3MgaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezB9Jy5cIiksUmV0dXJuX3R5cGVfb2ZfcHVibGljX21ldGhvZF9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzBfZnJvbV9leHRlcm5hbF9tb2R1bGVfMV9idXRfY2Fubm90X2JlX25hbWVkOnIoNDA1MywxLFwiUmV0dXJuX3R5cGVfb2ZfcHVibGljX21ldGhvZF9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzBfZnJvbV9leHRlcm5hbF9tb2R1bGVfMV9idXRfY180MDUzXCIsXCJSZXR1cm4gdHlwZSBvZiBwdWJsaWMgbWV0aG9kIGZyb20gZXhwb3J0ZWQgY2xhc3MgaGFzIG9yIGlzIHVzaW5nIG5hbWUgJ3swfScgZnJvbSBleHRlcm5hbCBtb2R1bGUgezF9IGJ1dCBjYW5ub3QgYmUgbmFtZWQuXCIpLFJldHVybl90eXBlX29mX3B1YmxpY19tZXRob2RfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfbmFtZV8wX2Zyb21fcHJpdmF0ZV9tb2R1bGVfMTpyKDQwNTQsMSxcIlJldHVybl90eXBlX29mX3B1YmxpY19tZXRob2RfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfbmFtZV8wX2Zyb21fcHJpdmF0ZV9tb2R1bGVfMV80MDU0XCIsXCJSZXR1cm4gdHlwZSBvZiBwdWJsaWMgbWV0aG9kIGZyb20gZXhwb3J0ZWQgY2xhc3MgaGFzIG9yIGlzIHVzaW5nIG5hbWUgJ3swfScgZnJvbSBwcml2YXRlIG1vZHVsZSAnezF9Jy5cIiksUmV0dXJuX3R5cGVfb2ZfcHVibGljX21ldGhvZF9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMDpyKDQwNTUsMSxcIlJldHVybl90eXBlX29mX3B1YmxpY19tZXRob2RfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzBfNDA1NVwiLFwiUmV0dXJuIHR5cGUgb2YgcHVibGljIG1ldGhvZCBmcm9tIGV4cG9ydGVkIGNsYXNzIGhhcyBvciBpcyB1c2luZyBwcml2YXRlIG5hbWUgJ3swfScuXCIpLFJldHVybl90eXBlX29mX21ldGhvZF9mcm9tX2V4cG9ydGVkX2ludGVyZmFjZV9oYXNfb3JfaXNfdXNpbmdfbmFtZV8wX2Zyb21fcHJpdmF0ZV9tb2R1bGVfMTpyKDQwNTYsMSxcIlJldHVybl90eXBlX29mX21ldGhvZF9mcm9tX2V4cG9ydGVkX2ludGVyZmFjZV9oYXNfb3JfaXNfdXNpbmdfbmFtZV8wX2Zyb21fcHJpdmF0ZV9tb2R1bGVfMV80MDU2XCIsXCJSZXR1cm4gdHlwZSBvZiBtZXRob2QgZnJvbSBleHBvcnRlZCBpbnRlcmZhY2UgaGFzIG9yIGlzIHVzaW5nIG5hbWUgJ3swfScgZnJvbSBwcml2YXRlIG1vZHVsZSAnezF9Jy5cIiksUmV0dXJuX3R5cGVfb2ZfbWV0aG9kX2Zyb21fZXhwb3J0ZWRfaW50ZXJmYWNlX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMDpyKDQwNTcsMSxcIlJldHVybl90eXBlX29mX21ldGhvZF9mcm9tX2V4cG9ydGVkX2ludGVyZmFjZV9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzBfNDA1N1wiLFwiUmV0dXJuIHR5cGUgb2YgbWV0aG9kIGZyb20gZXhwb3J0ZWQgaW50ZXJmYWNlIGhhcyBvciBpcyB1c2luZyBwcml2YXRlIG5hbWUgJ3swfScuXCIpLFJldHVybl90eXBlX29mX2V4cG9ydGVkX2Z1bmN0aW9uX2hhc19vcl9pc191c2luZ19uYW1lXzBfZnJvbV9leHRlcm5hbF9tb2R1bGVfMV9idXRfY2Fubm90X2JlX25hbWVkOnIoNDA1OCwxLFwiUmV0dXJuX3R5cGVfb2ZfZXhwb3J0ZWRfZnVuY3Rpb25faGFzX29yX2lzX3VzaW5nX25hbWVfMF9mcm9tX2V4dGVybmFsX21vZHVsZV8xX2J1dF9jYW5ub3RfYmVfbmFtZWRfNDA1OFwiLFwiUmV0dXJuIHR5cGUgb2YgZXhwb3J0ZWQgZnVuY3Rpb24gaGFzIG9yIGlzIHVzaW5nIG5hbWUgJ3swfScgZnJvbSBleHRlcm5hbCBtb2R1bGUgezF9IGJ1dCBjYW5ub3QgYmUgbmFtZWQuXCIpLFJldHVybl90eXBlX29mX2V4cG9ydGVkX2Z1bmN0aW9uX2hhc19vcl9pc191c2luZ19uYW1lXzBfZnJvbV9wcml2YXRlX21vZHVsZV8xOnIoNDA1OSwxLFwiUmV0dXJuX3R5cGVfb2ZfZXhwb3J0ZWRfZnVuY3Rpb25faGFzX29yX2lzX3VzaW5nX25hbWVfMF9mcm9tX3ByaXZhdGVfbW9kdWxlXzFfNDA1OVwiLFwiUmV0dXJuIHR5cGUgb2YgZXhwb3J0ZWQgZnVuY3Rpb24gaGFzIG9yIGlzIHVzaW5nIG5hbWUgJ3swfScgZnJvbSBwcml2YXRlIG1vZHVsZSAnezF9Jy5cIiksUmV0dXJuX3R5cGVfb2ZfZXhwb3J0ZWRfZnVuY3Rpb25faGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8wOnIoNDA2MCwxLFwiUmV0dXJuX3R5cGVfb2ZfZXhwb3J0ZWRfZnVuY3Rpb25faGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8wXzQwNjBcIixcIlJldHVybiB0eXBlIG9mIGV4cG9ydGVkIGZ1bmN0aW9uIGhhcyBvciBpcyB1c2luZyBwcml2YXRlIG5hbWUgJ3swfScuXCIpLFBhcmFtZXRlcl8wX29mX2NvbnN0cnVjdG9yX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX2V4dGVybmFsX21vZHVsZV8yX2J1dF9jYW5ub3RfYmVfbmFtZWQ6cig0MDYxLDEsXCJQYXJhbWV0ZXJfMF9vZl9jb25zdHJ1Y3Rvcl9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9leHRlcm5hbF9tb2R1bGVfMl9idXRfY2FuXzQwNjFcIixcIlBhcmFtZXRlciAnezB9JyBvZiBjb25zdHJ1Y3RvciBmcm9tIGV4cG9ydGVkIGNsYXNzIGhhcyBvciBpcyB1c2luZyBuYW1lICd7MX0nIGZyb20gZXh0ZXJuYWwgbW9kdWxlIHsyfSBidXQgY2Fubm90IGJlIG5hbWVkLlwiKSxQYXJhbWV0ZXJfMF9vZl9jb25zdHJ1Y3Rvcl9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9wcml2YXRlX21vZHVsZV8yOnIoNDA2MiwxLFwiUGFyYW1ldGVyXzBfb2ZfY29uc3RydWN0b3JfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fcHJpdmF0ZV9tb2R1bGVfMl80MDYyXCIsXCJQYXJhbWV0ZXIgJ3swfScgb2YgY29uc3RydWN0b3IgZnJvbSBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezF9JyBmcm9tIHByaXZhdGUgbW9kdWxlICd7Mn0nLlwiKSxQYXJhbWV0ZXJfMF9vZl9jb25zdHJ1Y3Rvcl9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMTpyKDQwNjMsMSxcIlBhcmFtZXRlcl8wX29mX2NvbnN0cnVjdG9yX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xXzQwNjNcIixcIlBhcmFtZXRlciAnezB9JyBvZiBjb25zdHJ1Y3RvciBmcm9tIGV4cG9ydGVkIGNsYXNzIGhhcyBvciBpcyB1c2luZyBwcml2YXRlIG5hbWUgJ3sxfScuXCIpLFBhcmFtZXRlcl8wX29mX2NvbnN0cnVjdG9yX3NpZ25hdHVyZV9mcm9tX2V4cG9ydGVkX2ludGVyZmFjZV9oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fcHJpdmF0ZV9tb2R1bGVfMjpyKDQwNjQsMSxcIlBhcmFtZXRlcl8wX29mX2NvbnN0cnVjdG9yX3NpZ25hdHVyZV9mcm9tX2V4cG9ydGVkX2ludGVyZmFjZV9oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fcHJpdmF0ZV9tb2RfNDA2NFwiLFwiUGFyYW1ldGVyICd7MH0nIG9mIGNvbnN0cnVjdG9yIHNpZ25hdHVyZSBmcm9tIGV4cG9ydGVkIGludGVyZmFjZSBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezF9JyBmcm9tIHByaXZhdGUgbW9kdWxlICd7Mn0nLlwiKSxQYXJhbWV0ZXJfMF9vZl9jb25zdHJ1Y3Rvcl9zaWduYXR1cmVfZnJvbV9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xOnIoNDA2NSwxLFwiUGFyYW1ldGVyXzBfb2ZfY29uc3RydWN0b3Jfc2lnbmF0dXJlX2Zyb21fZXhwb3J0ZWRfaW50ZXJmYWNlX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMV80MDY1XCIsXCJQYXJhbWV0ZXIgJ3swfScgb2YgY29uc3RydWN0b3Igc2lnbmF0dXJlIGZyb20gZXhwb3J0ZWQgaW50ZXJmYWNlIGhhcyBvciBpcyB1c2luZyBwcml2YXRlIG5hbWUgJ3sxfScuXCIpLFBhcmFtZXRlcl8wX29mX2NhbGxfc2lnbmF0dXJlX2Zyb21fZXhwb3J0ZWRfaW50ZXJmYWNlX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9wcml2YXRlX21vZHVsZV8yOnIoNDA2NiwxLFwiUGFyYW1ldGVyXzBfb2ZfY2FsbF9zaWduYXR1cmVfZnJvbV9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzJfNDA2NlwiLFwiUGFyYW1ldGVyICd7MH0nIG9mIGNhbGwgc2lnbmF0dXJlIGZyb20gZXhwb3J0ZWQgaW50ZXJmYWNlIGhhcyBvciBpcyB1c2luZyBuYW1lICd7MX0nIGZyb20gcHJpdmF0ZSBtb2R1bGUgJ3syfScuXCIpLFBhcmFtZXRlcl8wX29mX2NhbGxfc2lnbmF0dXJlX2Zyb21fZXhwb3J0ZWRfaW50ZXJmYWNlX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMTpyKDQwNjcsMSxcIlBhcmFtZXRlcl8wX29mX2NhbGxfc2lnbmF0dXJlX2Zyb21fZXhwb3J0ZWRfaW50ZXJmYWNlX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMV80MDY3XCIsXCJQYXJhbWV0ZXIgJ3swfScgb2YgY2FsbCBzaWduYXR1cmUgZnJvbSBleHBvcnRlZCBpbnRlcmZhY2UgaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezF9Jy5cIiksUGFyYW1ldGVyXzBfb2ZfcHVibGljX3N0YXRpY19tZXRob2RfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fZXh0ZXJuYWxfbW9kdWxlXzJfYnV0X2Nhbm5vdF9iZV9uYW1lZDpyKDQwNjgsMSxcIlBhcmFtZXRlcl8wX29mX3B1YmxpY19zdGF0aWNfbWV0aG9kX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX2V4dGVybmFsX21vZHVsZV9fNDA2OFwiLFwiUGFyYW1ldGVyICd7MH0nIG9mIHB1YmxpYyBzdGF0aWMgbWV0aG9kIGZyb20gZXhwb3J0ZWQgY2xhc3MgaGFzIG9yIGlzIHVzaW5nIG5hbWUgJ3sxfScgZnJvbSBleHRlcm5hbCBtb2R1bGUgezJ9IGJ1dCBjYW5ub3QgYmUgbmFtZWQuXCIpLFBhcmFtZXRlcl8wX29mX3B1YmxpY19zdGF0aWNfbWV0aG9kX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzI6cig0MDY5LDEsXCJQYXJhbWV0ZXJfMF9vZl9wdWJsaWNfc3RhdGljX21ldGhvZF9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9wcml2YXRlX21vZHVsZV8yXzQwNjlcIixcIlBhcmFtZXRlciAnezB9JyBvZiBwdWJsaWMgc3RhdGljIG1ldGhvZCBmcm9tIGV4cG9ydGVkIGNsYXNzIGhhcyBvciBpcyB1c2luZyBuYW1lICd7MX0nIGZyb20gcHJpdmF0ZSBtb2R1bGUgJ3syfScuXCIpLFBhcmFtZXRlcl8wX29mX3B1YmxpY19zdGF0aWNfbWV0aG9kX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xOnIoNDA3MCwxLFwiUGFyYW1ldGVyXzBfb2ZfcHVibGljX3N0YXRpY19tZXRob2RfZnJvbV9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDA3MFwiLFwiUGFyYW1ldGVyICd7MH0nIG9mIHB1YmxpYyBzdGF0aWMgbWV0aG9kIGZyb20gZXhwb3J0ZWQgY2xhc3MgaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezF9Jy5cIiksUGFyYW1ldGVyXzBfb2ZfcHVibGljX21ldGhvZF9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9leHRlcm5hbF9tb2R1bGVfMl9idXRfY2Fubm90X2JlX25hbWVkOnIoNDA3MSwxLFwiUGFyYW1ldGVyXzBfb2ZfcHVibGljX21ldGhvZF9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9leHRlcm5hbF9tb2R1bGVfMl9idXRfY180MDcxXCIsXCJQYXJhbWV0ZXIgJ3swfScgb2YgcHVibGljIG1ldGhvZCBmcm9tIGV4cG9ydGVkIGNsYXNzIGhhcyBvciBpcyB1c2luZyBuYW1lICd7MX0nIGZyb20gZXh0ZXJuYWwgbW9kdWxlIHsyfSBidXQgY2Fubm90IGJlIG5hbWVkLlwiKSxQYXJhbWV0ZXJfMF9vZl9wdWJsaWNfbWV0aG9kX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzI6cig0MDcyLDEsXCJQYXJhbWV0ZXJfMF9vZl9wdWJsaWNfbWV0aG9kX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzJfNDA3MlwiLFwiUGFyYW1ldGVyICd7MH0nIG9mIHB1YmxpYyBtZXRob2QgZnJvbSBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezF9JyBmcm9tIHByaXZhdGUgbW9kdWxlICd7Mn0nLlwiKSxQYXJhbWV0ZXJfMF9vZl9wdWJsaWNfbWV0aG9kX2Zyb21fZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xOnIoNDA3MywxLFwiUGFyYW1ldGVyXzBfb2ZfcHVibGljX21ldGhvZF9mcm9tX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMV80MDczXCIsXCJQYXJhbWV0ZXIgJ3swfScgb2YgcHVibGljIG1ldGhvZCBmcm9tIGV4cG9ydGVkIGNsYXNzIGhhcyBvciBpcyB1c2luZyBwcml2YXRlIG5hbWUgJ3sxfScuXCIpLFBhcmFtZXRlcl8wX29mX21ldGhvZF9mcm9tX2V4cG9ydGVkX2ludGVyZmFjZV9oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fcHJpdmF0ZV9tb2R1bGVfMjpyKDQwNzQsMSxcIlBhcmFtZXRlcl8wX29mX21ldGhvZF9mcm9tX2V4cG9ydGVkX2ludGVyZmFjZV9oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fcHJpdmF0ZV9tb2R1bGVfMl80MDc0XCIsXCJQYXJhbWV0ZXIgJ3swfScgb2YgbWV0aG9kIGZyb20gZXhwb3J0ZWQgaW50ZXJmYWNlIGhhcyBvciBpcyB1c2luZyBuYW1lICd7MX0nIGZyb20gcHJpdmF0ZSBtb2R1bGUgJ3syfScuXCIpLFBhcmFtZXRlcl8wX29mX21ldGhvZF9mcm9tX2V4cG9ydGVkX2ludGVyZmFjZV9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzE6cig0MDc1LDEsXCJQYXJhbWV0ZXJfMF9vZl9tZXRob2RfZnJvbV9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xXzQwNzVcIixcIlBhcmFtZXRlciAnezB9JyBvZiBtZXRob2QgZnJvbSBleHBvcnRlZCBpbnRlcmZhY2UgaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezF9Jy5cIiksUGFyYW1ldGVyXzBfb2ZfZXhwb3J0ZWRfZnVuY3Rpb25faGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX2V4dGVybmFsX21vZHVsZV8yX2J1dF9jYW5ub3RfYmVfbmFtZWQ6cig0MDc2LDEsXCJQYXJhbWV0ZXJfMF9vZl9leHBvcnRlZF9mdW5jdGlvbl9oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fZXh0ZXJuYWxfbW9kdWxlXzJfYnV0X2Nhbm5vdF9iZV9uYW1lZF80MDc2XCIsXCJQYXJhbWV0ZXIgJ3swfScgb2YgZXhwb3J0ZWQgZnVuY3Rpb24gaGFzIG9yIGlzIHVzaW5nIG5hbWUgJ3sxfScgZnJvbSBleHRlcm5hbCBtb2R1bGUgezJ9IGJ1dCBjYW5ub3QgYmUgbmFtZWQuXCIpLFBhcmFtZXRlcl8wX29mX2V4cG9ydGVkX2Z1bmN0aW9uX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9wcml2YXRlX21vZHVsZV8yOnIoNDA3NywxLFwiUGFyYW1ldGVyXzBfb2ZfZXhwb3J0ZWRfZnVuY3Rpb25faGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzJfNDA3N1wiLFwiUGFyYW1ldGVyICd7MH0nIG9mIGV4cG9ydGVkIGZ1bmN0aW9uIGhhcyBvciBpcyB1c2luZyBuYW1lICd7MX0nIGZyb20gcHJpdmF0ZSBtb2R1bGUgJ3syfScuXCIpLFBhcmFtZXRlcl8wX29mX2V4cG9ydGVkX2Z1bmN0aW9uX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMTpyKDQwNzgsMSxcIlBhcmFtZXRlcl8wX29mX2V4cG9ydGVkX2Z1bmN0aW9uX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMV80MDc4XCIsXCJQYXJhbWV0ZXIgJ3swfScgb2YgZXhwb3J0ZWQgZnVuY3Rpb24gaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezF9Jy5cIiksRXhwb3J0ZWRfdHlwZV9hbGlhc18wX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMTpyKDQwODEsMSxcIkV4cG9ydGVkX3R5cGVfYWxpYXNfMF9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDA4MVwiLFwiRXhwb3J0ZWQgdHlwZSBhbGlhcyAnezB9JyBoYXMgb3IgaXMgdXNpbmcgcHJpdmF0ZSBuYW1lICd7MX0nLlwiKSxEZWZhdWx0X2V4cG9ydF9vZl90aGVfbW9kdWxlX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMDpyKDQwODIsMSxcIkRlZmF1bHRfZXhwb3J0X29mX3RoZV9tb2R1bGVfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8wXzQwODJcIixcIkRlZmF1bHQgZXhwb3J0IG9mIHRoZSBtb2R1bGUgaGFzIG9yIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezB9Jy5cIiksVHlwZV9wYXJhbWV0ZXJfMF9vZl9leHBvcnRlZF90eXBlX2FsaWFzX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMTpyKDQwODMsMSxcIlR5cGVfcGFyYW1ldGVyXzBfb2ZfZXhwb3J0ZWRfdHlwZV9hbGlhc19oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDA4M1wiLFwiVHlwZSBwYXJhbWV0ZXIgJ3swfScgb2YgZXhwb3J0ZWQgdHlwZSBhbGlhcyBoYXMgb3IgaXMgdXNpbmcgcHJpdmF0ZSBuYW1lICd7MX0nLlwiKSxFeHBvcnRlZF90eXBlX2FsaWFzXzBfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xX2Zyb21fbW9kdWxlXzI6cig0MDg0LDEsXCJFeHBvcnRlZF90eXBlX2FsaWFzXzBfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xX2Zyb21fbW9kdWxlXzJfNDA4NFwiLFwiRXhwb3J0ZWQgdHlwZSBhbGlhcyAnezB9JyBoYXMgb3IgaXMgdXNpbmcgcHJpdmF0ZSBuYW1lICd7MX0nIGZyb20gbW9kdWxlIHsyfS5cIiksRXh0ZW5kc19jbGF1c2VfZm9yX2luZmVycmVkX3R5cGVfMF9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzE6cig0MDg1LDEsXCJFeHRlbmRzX2NsYXVzZV9mb3JfaW5mZXJyZWRfdHlwZV8wX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMV80MDg1XCIsXCJFeHRlbmRzIGNsYXVzZSBmb3IgaW5mZXJyZWQgdHlwZSAnezB9JyBoYXMgb3IgaXMgdXNpbmcgcHJpdmF0ZSBuYW1lICd7MX0nLlwiKSxQYXJhbWV0ZXJfMF9vZl9pbmRleF9zaWduYXR1cmVfZnJvbV9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzI6cig0MDkxLDEsXCJQYXJhbWV0ZXJfMF9vZl9pbmRleF9zaWduYXR1cmVfZnJvbV9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzJfNDA5MVwiLFwiUGFyYW1ldGVyICd7MH0nIG9mIGluZGV4IHNpZ25hdHVyZSBmcm9tIGV4cG9ydGVkIGludGVyZmFjZSBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezF9JyBmcm9tIHByaXZhdGUgbW9kdWxlICd7Mn0nLlwiKSxQYXJhbWV0ZXJfMF9vZl9pbmRleF9zaWduYXR1cmVfZnJvbV9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xOnIoNDA5MiwxLFwiUGFyYW1ldGVyXzBfb2ZfaW5kZXhfc2lnbmF0dXJlX2Zyb21fZXhwb3J0ZWRfaW50ZXJmYWNlX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMV80MDkyXCIsXCJQYXJhbWV0ZXIgJ3swfScgb2YgaW5kZXggc2lnbmF0dXJlIGZyb20gZXhwb3J0ZWQgaW50ZXJmYWNlIGhhcyBvciBpcyB1c2luZyBwcml2YXRlIG5hbWUgJ3sxfScuXCIpLFByb3BlcnR5XzBfb2ZfZXhwb3J0ZWRfYW5vbnltb3VzX2NsYXNzX3R5cGVfbWF5X25vdF9iZV9wcml2YXRlX29yX3Byb3RlY3RlZDpyKDQwOTQsMSxcIlByb3BlcnR5XzBfb2ZfZXhwb3J0ZWRfYW5vbnltb3VzX2NsYXNzX3R5cGVfbWF5X25vdF9iZV9wcml2YXRlX29yX3Byb3RlY3RlZF80MDk0XCIsXCJQcm9wZXJ0eSAnezB9JyBvZiBleHBvcnRlZCBhbm9ueW1vdXMgY2xhc3MgdHlwZSBtYXkgbm90IGJlIHByaXZhdGUgb3IgcHJvdGVjdGVkLlwiKSxQdWJsaWNfc3RhdGljX21ldGhvZF8wX29mX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9leHRlcm5hbF9tb2R1bGVfMl9idXRfY2Fubm90X2JlX25hbWVkOnIoNDA5NSwxLFwiUHVibGljX3N0YXRpY19tZXRob2RfMF9vZl9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fZXh0ZXJuYWxfbW9kdWxlXzJfYnV0X2Nhbm5vdF9iZV80MDk1XCIsXCJQdWJsaWMgc3RhdGljIG1ldGhvZCAnezB9JyBvZiBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezF9JyBmcm9tIGV4dGVybmFsIG1vZHVsZSB7Mn0gYnV0IGNhbm5vdCBiZSBuYW1lZC5cIiksUHVibGljX3N0YXRpY19tZXRob2RfMF9vZl9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfbmFtZV8xX2Zyb21fcHJpdmF0ZV9tb2R1bGVfMjpyKDQwOTYsMSxcIlB1YmxpY19zdGF0aWNfbWV0aG9kXzBfb2ZfZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzJfNDA5NlwiLFwiUHVibGljIHN0YXRpYyBtZXRob2QgJ3swfScgb2YgZXhwb3J0ZWQgY2xhc3MgaGFzIG9yIGlzIHVzaW5nIG5hbWUgJ3sxfScgZnJvbSBwcml2YXRlIG1vZHVsZSAnezJ9Jy5cIiksUHVibGljX3N0YXRpY19tZXRob2RfMF9vZl9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzE6cig0MDk3LDEsXCJQdWJsaWNfc3RhdGljX21ldGhvZF8wX29mX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMV80MDk3XCIsXCJQdWJsaWMgc3RhdGljIG1ldGhvZCAnezB9JyBvZiBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgcHJpdmF0ZSBuYW1lICd7MX0nLlwiKSxQdWJsaWNfbWV0aG9kXzBfb2ZfZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX2V4dGVybmFsX21vZHVsZV8yX2J1dF9jYW5ub3RfYmVfbmFtZWQ6cig0MDk4LDEsXCJQdWJsaWNfbWV0aG9kXzBfb2ZfZXhwb3J0ZWRfY2xhc3NfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX2V4dGVybmFsX21vZHVsZV8yX2J1dF9jYW5ub3RfYmVfbmFtZWRfNDA5OFwiLFwiUHVibGljIG1ldGhvZCAnezB9JyBvZiBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezF9JyBmcm9tIGV4dGVybmFsIG1vZHVsZSB7Mn0gYnV0IGNhbm5vdCBiZSBuYW1lZC5cIiksUHVibGljX21ldGhvZF8wX29mX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9wcml2YXRlX21vZHVsZV8yOnIoNDA5OSwxLFwiUHVibGljX21ldGhvZF8wX29mX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9wcml2YXRlX21vZHVsZV8yXzQwOTlcIixcIlB1YmxpYyBtZXRob2QgJ3swfScgb2YgZXhwb3J0ZWQgY2xhc3MgaGFzIG9yIGlzIHVzaW5nIG5hbWUgJ3sxfScgZnJvbSBwcml2YXRlIG1vZHVsZSAnezJ9Jy5cIiksUHVibGljX21ldGhvZF8wX29mX2V4cG9ydGVkX2NsYXNzX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMTpyKDQxMDAsMSxcIlB1YmxpY19tZXRob2RfMF9vZl9leHBvcnRlZF9jbGFzc19oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDEwMFwiLFwiUHVibGljIG1ldGhvZCAnezB9JyBvZiBleHBvcnRlZCBjbGFzcyBoYXMgb3IgaXMgdXNpbmcgcHJpdmF0ZSBuYW1lICd7MX0nLlwiKSxNZXRob2RfMF9vZl9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzI6cig0MTAxLDEsXCJNZXRob2RfMF9vZl9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzJfNDEwMVwiLFwiTWV0aG9kICd7MH0nIG9mIGV4cG9ydGVkIGludGVyZmFjZSBoYXMgb3IgaXMgdXNpbmcgbmFtZSAnezF9JyBmcm9tIHByaXZhdGUgbW9kdWxlICd7Mn0nLlwiKSxNZXRob2RfMF9vZl9leHBvcnRlZF9pbnRlcmZhY2VfaGFzX29yX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xOnIoNDEwMiwxLFwiTWV0aG9kXzBfb2ZfZXhwb3J0ZWRfaW50ZXJmYWNlX2hhc19vcl9pc191c2luZ19wcml2YXRlX25hbWVfMV80MTAyXCIsXCJNZXRob2QgJ3swfScgb2YgZXhwb3J0ZWQgaW50ZXJmYWNlIGhhcyBvciBpcyB1c2luZyBwcml2YXRlIG5hbWUgJ3sxfScuXCIpLFR5cGVfcGFyYW1ldGVyXzBfb2ZfZXhwb3J0ZWRfbWFwcGVkX29iamVjdF90eXBlX2lzX3VzaW5nX3ByaXZhdGVfbmFtZV8xOnIoNDEwMywxLFwiVHlwZV9wYXJhbWV0ZXJfMF9vZl9leHBvcnRlZF9tYXBwZWRfb2JqZWN0X3R5cGVfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDEwM1wiLFwiVHlwZSBwYXJhbWV0ZXIgJ3swfScgb2YgZXhwb3J0ZWQgbWFwcGVkIG9iamVjdCB0eXBlIGlzIHVzaW5nIHByaXZhdGUgbmFtZSAnezF9Jy5cIiksVGhlX3R5cGVfMF9pc19yZWFkb25seV9hbmRfY2Fubm90X2JlX2Fzc2lnbmVkX3RvX3RoZV9tdXRhYmxlX3R5cGVfMTpyKDQxMDQsMSxcIlRoZV90eXBlXzBfaXNfcmVhZG9ubHlfYW5kX2Nhbm5vdF9iZV9hc3NpZ25lZF90b190aGVfbXV0YWJsZV90eXBlXzFfNDEwNFwiLFwiVGhlIHR5cGUgJ3swfScgaXMgJ3JlYWRvbmx5JyBhbmQgY2Fubm90IGJlIGFzc2lnbmVkIHRvIHRoZSBtdXRhYmxlIHR5cGUgJ3sxfScuXCIpLFByaXZhdGVfb3JfcHJvdGVjdGVkX21lbWJlcl8wX2Nhbm5vdF9iZV9hY2Nlc3NlZF9vbl9hX3R5cGVfcGFyYW1ldGVyOnIoNDEwNSwxLFwiUHJpdmF0ZV9vcl9wcm90ZWN0ZWRfbWVtYmVyXzBfY2Fubm90X2JlX2FjY2Vzc2VkX29uX2FfdHlwZV9wYXJhbWV0ZXJfNDEwNVwiLFwiUHJpdmF0ZSBvciBwcm90ZWN0ZWQgbWVtYmVyICd7MH0nIGNhbm5vdCBiZSBhY2Nlc3NlZCBvbiBhIHR5cGUgcGFyYW1ldGVyLlwiKSxQYXJhbWV0ZXJfMF9vZl9hY2Nlc3Nvcl9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzE6cig0MTA2LDEsXCJQYXJhbWV0ZXJfMF9vZl9hY2Nlc3Nvcl9oYXNfb3JfaXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzFfNDEwNlwiLFwiUGFyYW1ldGVyICd7MH0nIG9mIGFjY2Vzc29yIGhhcyBvciBpcyB1c2luZyBwcml2YXRlIG5hbWUgJ3sxfScuXCIpLFBhcmFtZXRlcl8wX29mX2FjY2Vzc29yX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9wcml2YXRlX21vZHVsZV8yOnIoNDEwNywxLFwiUGFyYW1ldGVyXzBfb2ZfYWNjZXNzb3JfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX3ByaXZhdGVfbW9kdWxlXzJfNDEwN1wiLFwiUGFyYW1ldGVyICd7MH0nIG9mIGFjY2Vzc29yIGhhcyBvciBpcyB1c2luZyBuYW1lICd7MX0nIGZyb20gcHJpdmF0ZSBtb2R1bGUgJ3syfScuXCIpLFBhcmFtZXRlcl8wX29mX2FjY2Vzc29yX2hhc19vcl9pc191c2luZ19uYW1lXzFfZnJvbV9leHRlcm5hbF9tb2R1bGVfMl9idXRfY2Fubm90X2JlX25hbWVkOnIoNDEwOCwxLFwiUGFyYW1ldGVyXzBfb2ZfYWNjZXNzb3JfaGFzX29yX2lzX3VzaW5nX25hbWVfMV9mcm9tX2V4dGVybmFsX21vZHVsZV8yX2J1dF9jYW5ub3RfYmVfbmFtZWRfNDEwOFwiLFwiUGFyYW1ldGVyICd7MH0nIG9mIGFjY2Vzc29yIGhhcyBvciBpcyB1c2luZyBuYW1lICd7MX0nIGZyb20gZXh0ZXJuYWwgbW9kdWxlICd7Mn0nIGJ1dCBjYW5ub3QgYmUgbmFtZWQuXCIpLFR5cGVfYXJndW1lbnRzX2Zvcl8wX2NpcmN1bGFybHlfcmVmZXJlbmNlX3RoZW1zZWx2ZXM6cig0MTA5LDEsXCJUeXBlX2FyZ3VtZW50c19mb3JfMF9jaXJjdWxhcmx5X3JlZmVyZW5jZV90aGVtc2VsdmVzXzQxMDlcIixcIlR5cGUgYXJndW1lbnRzIGZvciAnezB9JyBjaXJjdWxhcmx5IHJlZmVyZW5jZSB0aGVtc2VsdmVzLlwiKSxUdXBsZV90eXBlX2FyZ3VtZW50c19jaXJjdWxhcmx5X3JlZmVyZW5jZV90aGVtc2VsdmVzOnIoNDExMCwxLFwiVHVwbGVfdHlwZV9hcmd1bWVudHNfY2lyY3VsYXJseV9yZWZlcmVuY2VfdGhlbXNlbHZlc180MTEwXCIsXCJUdXBsZSB0eXBlIGFyZ3VtZW50cyBjaXJjdWxhcmx5IHJlZmVyZW5jZSB0aGVtc2VsdmVzLlwiKSxQcm9wZXJ0eV8wX2NvbWVzX2Zyb21fYW5faW5kZXhfc2lnbmF0dXJlX3NvX2l0X211c3RfYmVfYWNjZXNzZWRfd2l0aF8wOnIoNDExMSwxLFwiUHJvcGVydHlfMF9jb21lc19mcm9tX2FuX2luZGV4X3NpZ25hdHVyZV9zb19pdF9tdXN0X2JlX2FjY2Vzc2VkX3dpdGhfMF80MTExXCIsXCJQcm9wZXJ0eSAnezB9JyBjb21lcyBmcm9tIGFuIGluZGV4IHNpZ25hdHVyZSwgc28gaXQgbXVzdCBiZSBhY2Nlc3NlZCB3aXRoIFsnezB9J10uXCIpLFRoaXNfbWVtYmVyX2Nhbm5vdF9oYXZlX2FuX292ZXJyaWRlX21vZGlmaWVyX2JlY2F1c2VfaXRzX2NvbnRhaW5pbmdfY2xhc3NfMF9kb2VzX25vdF9leHRlbmRfYW5vdGhlcl9jbGFzczpyKDQxMTIsMSxcIlRoaXNfbWVtYmVyX2Nhbm5vdF9oYXZlX2FuX292ZXJyaWRlX21vZGlmaWVyX2JlY2F1c2VfaXRzX2NvbnRhaW5pbmdfY2xhc3NfMF9kb2VzX25vdF9leHRlbmRfYW5vdGhlcl9fNDExMlwiLFwiVGhpcyBtZW1iZXIgY2Fubm90IGhhdmUgYW4gJ292ZXJyaWRlJyBtb2RpZmllciBiZWNhdXNlIGl0cyBjb250YWluaW5nIGNsYXNzICd7MH0nIGRvZXMgbm90IGV4dGVuZCBhbm90aGVyIGNsYXNzLlwiKSxUaGlzX21lbWJlcl9jYW5ub3RfaGF2ZV9hbl9vdmVycmlkZV9tb2RpZmllcl9iZWNhdXNlX2l0X2lzX25vdF9kZWNsYXJlZF9pbl90aGVfYmFzZV9jbGFzc18wOnIoNDExMywxLFwiVGhpc19tZW1iZXJfY2Fubm90X2hhdmVfYW5fb3ZlcnJpZGVfbW9kaWZpZXJfYmVjYXVzZV9pdF9pc19ub3RfZGVjbGFyZWRfaW5fdGhlX2Jhc2VfY2xhc3NfMF80MTEzXCIsXCJUaGlzIG1lbWJlciBjYW5ub3QgaGF2ZSBhbiAnb3ZlcnJpZGUnIG1vZGlmaWVyIGJlY2F1c2UgaXQgaXMgbm90IGRlY2xhcmVkIGluIHRoZSBiYXNlIGNsYXNzICd7MH0nLlwiKSxUaGlzX21lbWJlcl9tdXN0X2hhdmVfYW5fb3ZlcnJpZGVfbW9kaWZpZXJfYmVjYXVzZV9pdF9vdmVycmlkZXNfYV9tZW1iZXJfaW5fdGhlX2Jhc2VfY2xhc3NfMDpyKDQxMTQsMSxcIlRoaXNfbWVtYmVyX211c3RfaGF2ZV9hbl9vdmVycmlkZV9tb2RpZmllcl9iZWNhdXNlX2l0X292ZXJyaWRlc19hX21lbWJlcl9pbl90aGVfYmFzZV9jbGFzc18wXzQxMTRcIixcIlRoaXMgbWVtYmVyIG11c3QgaGF2ZSBhbiAnb3ZlcnJpZGUnIG1vZGlmaWVyIGJlY2F1c2UgaXQgb3ZlcnJpZGVzIGEgbWVtYmVyIGluIHRoZSBiYXNlIGNsYXNzICd7MH0nLlwiKSxUaGlzX3BhcmFtZXRlcl9wcm9wZXJ0eV9tdXN0X2hhdmVfYW5fb3ZlcnJpZGVfbW9kaWZpZXJfYmVjYXVzZV9pdF9vdmVycmlkZXNfYV9tZW1iZXJfaW5fYmFzZV9jbGFzc18wOnIoNDExNSwxLFwiVGhpc19wYXJhbWV0ZXJfcHJvcGVydHlfbXVzdF9oYXZlX2FuX292ZXJyaWRlX21vZGlmaWVyX2JlY2F1c2VfaXRfb3ZlcnJpZGVzX2FfbWVtYmVyX2luX2Jhc2VfY2xhc3NfMF80MTE1XCIsXCJUaGlzIHBhcmFtZXRlciBwcm9wZXJ0eSBtdXN0IGhhdmUgYW4gJ292ZXJyaWRlJyBtb2RpZmllciBiZWNhdXNlIGl0IG92ZXJyaWRlcyBhIG1lbWJlciBpbiBiYXNlIGNsYXNzICd7MH0nLlwiKSxUaGlzX21lbWJlcl9tdXN0X2hhdmVfYW5fb3ZlcnJpZGVfbW9kaWZpZXJfYmVjYXVzZV9pdF9vdmVycmlkZXNfYW5fYWJzdHJhY3RfbWV0aG9kX3RoYXRfaXNfZGVjbGFyZWRfaW5fdGhlX2Jhc2VfY2xhc3NfMDpyKDQxMTYsMSxcIlRoaXNfbWVtYmVyX211c3RfaGF2ZV9hbl9vdmVycmlkZV9tb2RpZmllcl9iZWNhdXNlX2l0X292ZXJyaWRlc19hbl9hYnN0cmFjdF9tZXRob2RfdGhhdF9pc19kZWNsYXJlZF9fNDExNlwiLFwiVGhpcyBtZW1iZXIgbXVzdCBoYXZlIGFuICdvdmVycmlkZScgbW9kaWZpZXIgYmVjYXVzZSBpdCBvdmVycmlkZXMgYW4gYWJzdHJhY3QgbWV0aG9kIHRoYXQgaXMgZGVjbGFyZWQgaW4gdGhlIGJhc2UgY2xhc3MgJ3swfScuXCIpLFRoaXNfbWVtYmVyX2Nhbm5vdF9oYXZlX2FuX292ZXJyaWRlX21vZGlmaWVyX2JlY2F1c2VfaXRfaXNfbm90X2RlY2xhcmVkX2luX3RoZV9iYXNlX2NsYXNzXzBfRGlkX3lvdV9tZWFuXzE6cig0MTE3LDEsXCJUaGlzX21lbWJlcl9jYW5ub3RfaGF2ZV9hbl9vdmVycmlkZV9tb2RpZmllcl9iZWNhdXNlX2l0X2lzX25vdF9kZWNsYXJlZF9pbl90aGVfYmFzZV9jbGFzc18wX0RpZF95b3VfXzQxMTdcIixcIlRoaXMgbWVtYmVyIGNhbm5vdCBoYXZlIGFuICdvdmVycmlkZScgbW9kaWZpZXIgYmVjYXVzZSBpdCBpcyBub3QgZGVjbGFyZWQgaW4gdGhlIGJhc2UgY2xhc3MgJ3swfScuIERpZCB5b3UgbWVhbiAnezF9Jz9cIiksVGhlX3R5cGVfb2ZfdGhpc19ub2RlX2Nhbm5vdF9iZV9zZXJpYWxpemVkX2JlY2F1c2VfaXRzX3Byb3BlcnR5XzBfY2Fubm90X2JlX3NlcmlhbGl6ZWQ6cig0MTE4LDEsXCJUaGVfdHlwZV9vZl90aGlzX25vZGVfY2Fubm90X2JlX3NlcmlhbGl6ZWRfYmVjYXVzZV9pdHNfcHJvcGVydHlfMF9jYW5ub3RfYmVfc2VyaWFsaXplZF80MTE4XCIsXCJUaGUgdHlwZSBvZiB0aGlzIG5vZGUgY2Fubm90IGJlIHNlcmlhbGl6ZWQgYmVjYXVzZSBpdHMgcHJvcGVydHkgJ3swfScgY2Fubm90IGJlIHNlcmlhbGl6ZWQuXCIpLFRoaXNfbWVtYmVyX211c3RfaGF2ZV9hX0pTRG9jX2NvbW1lbnRfd2l0aF9hbl9vdmVycmlkZV90YWdfYmVjYXVzZV9pdF9vdmVycmlkZXNfYV9tZW1iZXJfaW5fdGhlX2Jhc2VfY2xhc3NfMDpyKDQxMTksMSxcIlRoaXNfbWVtYmVyX211c3RfaGF2ZV9hX0pTRG9jX2NvbW1lbnRfd2l0aF9hbl9vdmVycmlkZV90YWdfYmVjYXVzZV9pdF9vdmVycmlkZXNfYV9tZW1iZXJfaW5fdGhlX2Jhc2VfNDExOVwiLFwiVGhpcyBtZW1iZXIgbXVzdCBoYXZlIGEgSlNEb2MgY29tbWVudCB3aXRoIGFuICdAb3ZlcnJpZGUnIHRhZyBiZWNhdXNlIGl0IG92ZXJyaWRlcyBhIG1lbWJlciBpbiB0aGUgYmFzZSBjbGFzcyAnezB9Jy5cIiksVGhpc19wYXJhbWV0ZXJfcHJvcGVydHlfbXVzdF9oYXZlX2FfSlNEb2NfY29tbWVudF93aXRoX2FuX292ZXJyaWRlX3RhZ19iZWNhdXNlX2l0X292ZXJyaWRlc19hX21lbWJlcl9pbl90aGVfYmFzZV9jbGFzc18wOnIoNDEyMCwxLFwiVGhpc19wYXJhbWV0ZXJfcHJvcGVydHlfbXVzdF9oYXZlX2FfSlNEb2NfY29tbWVudF93aXRoX2FuX292ZXJyaWRlX3RhZ19iZWNhdXNlX2l0X292ZXJyaWRlc19hX21lbWJlcl80MTIwXCIsXCJUaGlzIHBhcmFtZXRlciBwcm9wZXJ0eSBtdXN0IGhhdmUgYSBKU0RvYyBjb21tZW50IHdpdGggYW4gJ0BvdmVycmlkZScgdGFnIGJlY2F1c2UgaXQgb3ZlcnJpZGVzIGEgbWVtYmVyIGluIHRoZSBiYXNlIGNsYXNzICd7MH0nLlwiKSxUaGlzX21lbWJlcl9jYW5ub3RfaGF2ZV9hX0pTRG9jX2NvbW1lbnRfd2l0aF9hbl9vdmVycmlkZV90YWdfYmVjYXVzZV9pdHNfY29udGFpbmluZ19jbGFzc18wX2RvZXNfbm90X2V4dGVuZF9hbm90aGVyX2NsYXNzOnIoNDEyMSwxLFwiVGhpc19tZW1iZXJfY2Fubm90X2hhdmVfYV9KU0RvY19jb21tZW50X3dpdGhfYW5fb3ZlcnJpZGVfdGFnX2JlY2F1c2VfaXRzX2NvbnRhaW5pbmdfY2xhc3NfMF9kb2VzX25vdF80MTIxXCIsXCJUaGlzIG1lbWJlciBjYW5ub3QgaGF2ZSBhIEpTRG9jIGNvbW1lbnQgd2l0aCBhbiAnQG92ZXJyaWRlJyB0YWcgYmVjYXVzZSBpdHMgY29udGFpbmluZyBjbGFzcyAnezB9JyBkb2VzIG5vdCBleHRlbmQgYW5vdGhlciBjbGFzcy5cIiksVGhpc19tZW1iZXJfY2Fubm90X2hhdmVfYV9KU0RvY19jb21tZW50X3dpdGhfYW5fb3ZlcnJpZGVfdGFnX2JlY2F1c2VfaXRfaXNfbm90X2RlY2xhcmVkX2luX3RoZV9iYXNlX2NsYXNzXzA6cig0MTIyLDEsXCJUaGlzX21lbWJlcl9jYW5ub3RfaGF2ZV9hX0pTRG9jX2NvbW1lbnRfd2l0aF9hbl9vdmVycmlkZV90YWdfYmVjYXVzZV9pdF9pc19ub3RfZGVjbGFyZWRfaW5fdGhlX2Jhc2VfXzQxMjJcIixcIlRoaXMgbWVtYmVyIGNhbm5vdCBoYXZlIGEgSlNEb2MgY29tbWVudCB3aXRoIGFuICdAb3ZlcnJpZGUnIHRhZyBiZWNhdXNlIGl0IGlzIG5vdCBkZWNsYXJlZCBpbiB0aGUgYmFzZSBjbGFzcyAnezB9Jy5cIiksVGhpc19tZW1iZXJfY2Fubm90X2hhdmVfYV9KU0RvY19jb21tZW50X3dpdGhfYW5fb3ZlcnJpZGVfdGFnX2JlY2F1c2VfaXRfaXNfbm90X2RlY2xhcmVkX2luX3RoZV9iYXNlX2NsYXNzXzBfRGlkX3lvdV9tZWFuXzE6cig0MTIzLDEsXCJUaGlzX21lbWJlcl9jYW5ub3RfaGF2ZV9hX0pTRG9jX2NvbW1lbnRfd2l0aF9hbl9vdmVycmlkZV90YWdfYmVjYXVzZV9pdF9pc19ub3RfZGVjbGFyZWRfaW5fdGhlX2Jhc2VfXzQxMjNcIixcIlRoaXMgbWVtYmVyIGNhbm5vdCBoYXZlIGEgSlNEb2MgY29tbWVudCB3aXRoIGFuICdvdmVycmlkZScgdGFnIGJlY2F1c2UgaXQgaXMgbm90IGRlY2xhcmVkIGluIHRoZSBiYXNlIGNsYXNzICd7MH0nLiBEaWQgeW91IG1lYW4gJ3sxfSc/XCIpLENvbXBpbGVyX29wdGlvbl8wX29mX3ZhbHVlXzFfaXNfdW5zdGFibGVfVXNlX25pZ2h0bHlfVHlwZVNjcmlwdF90b19zaWxlbmNlX3RoaXNfZXJyb3JfVHJ5X3VwZGF0aW5nX3dpdGhfbnBtX2luc3RhbGxfRF90eXBlc2NyaXB0X25leHQ6cig0MTI0LDEsXCJDb21waWxlcl9vcHRpb25fMF9vZl92YWx1ZV8xX2lzX3Vuc3RhYmxlX1VzZV9uaWdodGx5X1R5cGVTY3JpcHRfdG9fc2lsZW5jZV90aGlzX2Vycm9yX1RyeV91cGRhdGluZ193XzQxMjRcIixcIkNvbXBpbGVyIG9wdGlvbiAnezB9JyBvZiB2YWx1ZSAnezF9JyBpcyB1bnN0YWJsZS4gVXNlIG5pZ2h0bHkgVHlwZVNjcmlwdCB0byBzaWxlbmNlIHRoaXMgZXJyb3IuIFRyeSB1cGRhdGluZyB3aXRoICducG0gaW5zdGFsbCAtRCB0eXBlc2NyaXB0QG5leHQnLlwiKSxFYWNoX2RlY2xhcmF0aW9uX29mXzBfMV9kaWZmZXJzX2luX2l0c192YWx1ZV93aGVyZV8yX3dhc19leHBlY3RlZF9idXRfM193YXNfZ2l2ZW46cig0MTI1LDEsXCJFYWNoX2RlY2xhcmF0aW9uX29mXzBfMV9kaWZmZXJzX2luX2l0c192YWx1ZV93aGVyZV8yX3dhc19leHBlY3RlZF9idXRfM193YXNfZ2l2ZW5fNDEyNVwiLFwiRWFjaCBkZWNsYXJhdGlvbiBvZiAnezB9LnsxfScgZGlmZmVycyBpbiBpdHMgdmFsdWUsIHdoZXJlICd7Mn0nIHdhcyBleHBlY3RlZCBidXQgJ3szfScgd2FzIGdpdmVuLlwiKSxPbmVfdmFsdWVfb2ZfMF8xX2lzX3RoZV9zdHJpbmdfMl9hbmRfdGhlX290aGVyX2lzX2Fzc3VtZWRfdG9fYmVfYW5fdW5rbm93bl9udW1lcmljX3ZhbHVlOnIoNDEyNiwxLFwiT25lX3ZhbHVlX29mXzBfMV9pc190aGVfc3RyaW5nXzJfYW5kX3RoZV9vdGhlcl9pc19hc3N1bWVkX3RvX2JlX2FuX3Vua25vd25fbnVtZXJpY192YWx1ZV80MTI2XCIsXCJPbmUgdmFsdWUgb2YgJ3swfS57MX0nIGlzIHRoZSBzdHJpbmcgJ3syfScsIGFuZCB0aGUgb3RoZXIgaXMgYXNzdW1lZCB0byBiZSBhbiB1bmtub3duIG51bWVyaWMgdmFsdWUuXCIpLFRoZV9jdXJyZW50X2hvc3RfZG9lc19ub3Rfc3VwcG9ydF90aGVfMF9vcHRpb246cig1MDAxLDEsXCJUaGVfY3VycmVudF9ob3N0X2RvZXNfbm90X3N1cHBvcnRfdGhlXzBfb3B0aW9uXzUwMDFcIixcIlRoZSBjdXJyZW50IGhvc3QgZG9lcyBub3Qgc3VwcG9ydCB0aGUgJ3swfScgb3B0aW9uLlwiKSxDYW5ub3RfZmluZF90aGVfY29tbW9uX3N1YmRpcmVjdG9yeV9wYXRoX2Zvcl90aGVfaW5wdXRfZmlsZXM6cig1MDA5LDEsXCJDYW5ub3RfZmluZF90aGVfY29tbW9uX3N1YmRpcmVjdG9yeV9wYXRoX2Zvcl90aGVfaW5wdXRfZmlsZXNfNTAwOVwiLFwiQ2Fubm90IGZpbmQgdGhlIGNvbW1vbiBzdWJkaXJlY3RvcnkgcGF0aCBmb3IgdGhlIGlucHV0IGZpbGVzLlwiKSxGaWxlX3NwZWNpZmljYXRpb25fY2Fubm90X2VuZF9pbl9hX3JlY3Vyc2l2ZV9kaXJlY3Rvcnlfd2lsZGNhcmRfQXN0ZXJpc2tfQXN0ZXJpc2tfQ29sb25fMDpyKDUwMTAsMSxcIkZpbGVfc3BlY2lmaWNhdGlvbl9jYW5ub3RfZW5kX2luX2FfcmVjdXJzaXZlX2RpcmVjdG9yeV93aWxkY2FyZF9Bc3Rlcmlza19Bc3Rlcmlza19Db2xvbl8wXzUwMTBcIixcIkZpbGUgc3BlY2lmaWNhdGlvbiBjYW5ub3QgZW5kIGluIGEgcmVjdXJzaXZlIGRpcmVjdG9yeSB3aWxkY2FyZCAoJyoqJyk6ICd7MH0nLlwiKSxDYW5ub3RfcmVhZF9maWxlXzBfQ29sb25fMTpyKDUwMTIsMSxcIkNhbm5vdF9yZWFkX2ZpbGVfMF9Db2xvbl8xXzUwMTJcIixcIkNhbm5vdCByZWFkIGZpbGUgJ3swfSc6IHsxfS5cIiksVW5rbm93bl9jb21waWxlcl9vcHRpb25fMDpyKDUwMjMsMSxcIlVua25vd25fY29tcGlsZXJfb3B0aW9uXzBfNTAyM1wiLFwiVW5rbm93biBjb21waWxlciBvcHRpb24gJ3swfScuXCIpLENvbXBpbGVyX29wdGlvbl8wX3JlcXVpcmVzX2FfdmFsdWVfb2ZfdHlwZV8xOnIoNTAyNCwxLFwiQ29tcGlsZXJfb3B0aW9uXzBfcmVxdWlyZXNfYV92YWx1ZV9vZl90eXBlXzFfNTAyNFwiLFwiQ29tcGlsZXIgb3B0aW9uICd7MH0nIHJlcXVpcmVzIGEgdmFsdWUgb2YgdHlwZSB7MX0uXCIpLFVua25vd25fY29tcGlsZXJfb3B0aW9uXzBfRGlkX3lvdV9tZWFuXzE6cig1MDI1LDEsXCJVbmtub3duX2NvbXBpbGVyX29wdGlvbl8wX0RpZF95b3VfbWVhbl8xXzUwMjVcIixcIlVua25vd24gY29tcGlsZXIgb3B0aW9uICd7MH0nLiBEaWQgeW91IG1lYW4gJ3sxfSc/XCIpLENvdWxkX25vdF93cml0ZV9maWxlXzBfQ29sb25fMTpyKDUwMzMsMSxcIkNvdWxkX25vdF93cml0ZV9maWxlXzBfQ29sb25fMV81MDMzXCIsXCJDb3VsZCBub3Qgd3JpdGUgZmlsZSAnezB9JzogezF9LlwiKSxPcHRpb25fcHJvamVjdF9jYW5ub3RfYmVfbWl4ZWRfd2l0aF9zb3VyY2VfZmlsZXNfb25fYV9jb21tYW5kX2xpbmU6cig1MDQyLDEsXCJPcHRpb25fcHJvamVjdF9jYW5ub3RfYmVfbWl4ZWRfd2l0aF9zb3VyY2VfZmlsZXNfb25fYV9jb21tYW5kX2xpbmVfNTA0MlwiLFwiT3B0aW9uICdwcm9qZWN0JyBjYW5ub3QgYmUgbWl4ZWQgd2l0aCBzb3VyY2UgZmlsZXMgb24gYSBjb21tYW5kIGxpbmUuXCIpLE9wdGlvbl9pc29sYXRlZE1vZHVsZXNfY2FuX29ubHlfYmVfdXNlZF93aGVuX2VpdGhlcl9vcHRpb25fbW9kdWxlX2lzX3Byb3ZpZGVkX29yX29wdGlvbl90YXJnZXRfaXNfRVMyMDE1X29yX2hpZ2hlcjpyKDUwNDcsMSxcIk9wdGlvbl9pc29sYXRlZE1vZHVsZXNfY2FuX29ubHlfYmVfdXNlZF93aGVuX2VpdGhlcl9vcHRpb25fbW9kdWxlX2lzX3Byb3ZpZGVkX29yX29wdGlvbl90YXJnZXRfaXNfRVNfNTA0N1wiLFwiT3B0aW9uICdpc29sYXRlZE1vZHVsZXMnIGNhbiBvbmx5IGJlIHVzZWQgd2hlbiBlaXRoZXIgb3B0aW9uICctLW1vZHVsZScgaXMgcHJvdmlkZWQgb3Igb3B0aW9uICd0YXJnZXQnIGlzICdFUzIwMTUnIG9yIGhpZ2hlci5cIiksT3B0aW9uXzBfY2FuX29ubHlfYmVfdXNlZF93aGVuX2VpdGhlcl9vcHRpb25faW5saW5lU291cmNlTWFwX29yX29wdGlvbl9zb3VyY2VNYXBfaXNfcHJvdmlkZWQ6cig1MDUxLDEsXCJPcHRpb25fMF9jYW5fb25seV9iZV91c2VkX3doZW5fZWl0aGVyX29wdGlvbl9pbmxpbmVTb3VyY2VNYXBfb3Jfb3B0aW9uX3NvdXJjZU1hcF9pc19wcm92aWRlZF81MDUxXCIsXCJPcHRpb24gJ3swfSBjYW4gb25seSBiZSB1c2VkIHdoZW4gZWl0aGVyIG9wdGlvbiAnLS1pbmxpbmVTb3VyY2VNYXAnIG9yIG9wdGlvbiAnLS1zb3VyY2VNYXAnIGlzIHByb3ZpZGVkLlwiKSxPcHRpb25fMF9jYW5ub3RfYmVfc3BlY2lmaWVkX3dpdGhvdXRfc3BlY2lmeWluZ19vcHRpb25fMTpyKDUwNTIsMSxcIk9wdGlvbl8wX2Nhbm5vdF9iZV9zcGVjaWZpZWRfd2l0aG91dF9zcGVjaWZ5aW5nX29wdGlvbl8xXzUwNTJcIixcIk9wdGlvbiAnezB9JyBjYW5ub3QgYmUgc3BlY2lmaWVkIHdpdGhvdXQgc3BlY2lmeWluZyBvcHRpb24gJ3sxfScuXCIpLE9wdGlvbl8wX2Nhbm5vdF9iZV9zcGVjaWZpZWRfd2l0aF9vcHRpb25fMTpyKDUwNTMsMSxcIk9wdGlvbl8wX2Nhbm5vdF9iZV9zcGVjaWZpZWRfd2l0aF9vcHRpb25fMV81MDUzXCIsXCJPcHRpb24gJ3swfScgY2Fubm90IGJlIHNwZWNpZmllZCB3aXRoIG9wdGlvbiAnezF9Jy5cIiksQV90c2NvbmZpZ19qc29uX2ZpbGVfaXNfYWxyZWFkeV9kZWZpbmVkX2F0X0NvbG9uXzA6cig1MDU0LDEsXCJBX3RzY29uZmlnX2pzb25fZmlsZV9pc19hbHJlYWR5X2RlZmluZWRfYXRfQ29sb25fMF81MDU0XCIsXCJBICd0c2NvbmZpZy5qc29uJyBmaWxlIGlzIGFscmVhZHkgZGVmaW5lZCBhdDogJ3swfScuXCIpLENhbm5vdF93cml0ZV9maWxlXzBfYmVjYXVzZV9pdF93b3VsZF9vdmVyd3JpdGVfaW5wdXRfZmlsZTpyKDUwNTUsMSxcIkNhbm5vdF93cml0ZV9maWxlXzBfYmVjYXVzZV9pdF93b3VsZF9vdmVyd3JpdGVfaW5wdXRfZmlsZV81MDU1XCIsXCJDYW5ub3Qgd3JpdGUgZmlsZSAnezB9JyBiZWNhdXNlIGl0IHdvdWxkIG92ZXJ3cml0ZSBpbnB1dCBmaWxlLlwiKSxDYW5ub3Rfd3JpdGVfZmlsZV8wX2JlY2F1c2VfaXRfd291bGRfYmVfb3ZlcndyaXR0ZW5fYnlfbXVsdGlwbGVfaW5wdXRfZmlsZXM6cig1MDU2LDEsXCJDYW5ub3Rfd3JpdGVfZmlsZV8wX2JlY2F1c2VfaXRfd291bGRfYmVfb3ZlcndyaXR0ZW5fYnlfbXVsdGlwbGVfaW5wdXRfZmlsZXNfNTA1NlwiLFwiQ2Fubm90IHdyaXRlIGZpbGUgJ3swfScgYmVjYXVzZSBpdCB3b3VsZCBiZSBvdmVyd3JpdHRlbiBieSBtdWx0aXBsZSBpbnB1dCBmaWxlcy5cIiksQ2Fubm90X2ZpbmRfYV90c2NvbmZpZ19qc29uX2ZpbGVfYXRfdGhlX3NwZWNpZmllZF9kaXJlY3RvcnlfQ29sb25fMDpyKDUwNTcsMSxcIkNhbm5vdF9maW5kX2FfdHNjb25maWdfanNvbl9maWxlX2F0X3RoZV9zcGVjaWZpZWRfZGlyZWN0b3J5X0NvbG9uXzBfNTA1N1wiLFwiQ2Fubm90IGZpbmQgYSB0c2NvbmZpZy5qc29uIGZpbGUgYXQgdGhlIHNwZWNpZmllZCBkaXJlY3Rvcnk6ICd7MH0nLlwiKSxUaGVfc3BlY2lmaWVkX3BhdGhfZG9lc19ub3RfZXhpc3RfQ29sb25fMDpyKDUwNTgsMSxcIlRoZV9zcGVjaWZpZWRfcGF0aF9kb2VzX25vdF9leGlzdF9Db2xvbl8wXzUwNThcIixcIlRoZSBzcGVjaWZpZWQgcGF0aCBkb2VzIG5vdCBleGlzdDogJ3swfScuXCIpLEludmFsaWRfdmFsdWVfZm9yX3JlYWN0TmFtZXNwYWNlXzBfaXNfbm90X2FfdmFsaWRfaWRlbnRpZmllcjpyKDUwNTksMSxcIkludmFsaWRfdmFsdWVfZm9yX3JlYWN0TmFtZXNwYWNlXzBfaXNfbm90X2FfdmFsaWRfaWRlbnRpZmllcl81MDU5XCIsXCJJbnZhbGlkIHZhbHVlIGZvciAnLS1yZWFjdE5hbWVzcGFjZScuICd7MH0nIGlzIG5vdCBhIHZhbGlkIGlkZW50aWZpZXIuXCIpLFBhdHRlcm5fMF9jYW5faGF2ZV9hdF9tb3N0X29uZV9Bc3Rlcmlza19jaGFyYWN0ZXI6cig1MDYxLDEsXCJQYXR0ZXJuXzBfY2FuX2hhdmVfYXRfbW9zdF9vbmVfQXN0ZXJpc2tfY2hhcmFjdGVyXzUwNjFcIixcIlBhdHRlcm4gJ3swfScgY2FuIGhhdmUgYXQgbW9zdCBvbmUgJyonIGNoYXJhY3Rlci5cIiksU3Vic3RpdHV0aW9uXzBfaW5fcGF0dGVybl8xX2Nhbl9oYXZlX2F0X21vc3Rfb25lX0FzdGVyaXNrX2NoYXJhY3RlcjpyKDUwNjIsMSxcIlN1YnN0aXR1dGlvbl8wX2luX3BhdHRlcm5fMV9jYW5faGF2ZV9hdF9tb3N0X29uZV9Bc3Rlcmlza19jaGFyYWN0ZXJfNTA2MlwiLFwiU3Vic3RpdHV0aW9uICd7MH0nIGluIHBhdHRlcm4gJ3sxfScgY2FuIGhhdmUgYXQgbW9zdCBvbmUgJyonIGNoYXJhY3Rlci5cIiksU3Vic3RpdHV0aW9uc19mb3JfcGF0dGVybl8wX3Nob3VsZF9iZV9hbl9hcnJheTpyKDUwNjMsMSxcIlN1YnN0aXR1dGlvbnNfZm9yX3BhdHRlcm5fMF9zaG91bGRfYmVfYW5fYXJyYXlfNTA2M1wiLFwiU3Vic3RpdHV0aW9ucyBmb3IgcGF0dGVybiAnezB9JyBzaG91bGQgYmUgYW4gYXJyYXkuXCIpLFN1YnN0aXR1dGlvbl8wX2Zvcl9wYXR0ZXJuXzFfaGFzX2luY29ycmVjdF90eXBlX2V4cGVjdGVkX3N0cmluZ19nb3RfMjpyKDUwNjQsMSxcIlN1YnN0aXR1dGlvbl8wX2Zvcl9wYXR0ZXJuXzFfaGFzX2luY29ycmVjdF90eXBlX2V4cGVjdGVkX3N0cmluZ19nb3RfMl81MDY0XCIsXCJTdWJzdGl0dXRpb24gJ3swfScgZm9yIHBhdHRlcm4gJ3sxfScgaGFzIGluY29ycmVjdCB0eXBlLCBleHBlY3RlZCAnc3RyaW5nJywgZ290ICd7Mn0nLlwiKSxGaWxlX3NwZWNpZmljYXRpb25fY2Fubm90X2NvbnRhaW5fYV9wYXJlbnRfZGlyZWN0b3J5X3RoYXRfYXBwZWFyc19hZnRlcl9hX3JlY3Vyc2l2ZV9kaXJlY3Rvcnlfd2lsZGNhcmRfQXN0ZXJpc2tfQXN0ZXJpc2tfQ29sb25fMDpyKDUwNjUsMSxcIkZpbGVfc3BlY2lmaWNhdGlvbl9jYW5ub3RfY29udGFpbl9hX3BhcmVudF9kaXJlY3RvcnlfdGhhdF9hcHBlYXJzX2FmdGVyX2FfcmVjdXJzaXZlX2RpcmVjdG9yeV93aWxkY2FfNTA2NVwiLFwiRmlsZSBzcGVjaWZpY2F0aW9uIGNhbm5vdCBjb250YWluIGEgcGFyZW50IGRpcmVjdG9yeSAoJy4uJykgdGhhdCBhcHBlYXJzIGFmdGVyIGEgcmVjdXJzaXZlIGRpcmVjdG9yeSB3aWxkY2FyZCAoJyoqJyk6ICd7MH0nLlwiKSxTdWJzdGl0dXRpb25zX2Zvcl9wYXR0ZXJuXzBfc2hvdWxkbl90X2JlX2FuX2VtcHR5X2FycmF5OnIoNTA2NiwxLFwiU3Vic3RpdHV0aW9uc19mb3JfcGF0dGVybl8wX3Nob3VsZG5fdF9iZV9hbl9lbXB0eV9hcnJheV81MDY2XCIsXCJTdWJzdGl0dXRpb25zIGZvciBwYXR0ZXJuICd7MH0nIHNob3VsZG4ndCBiZSBhbiBlbXB0eSBhcnJheS5cIiksSW52YWxpZF92YWx1ZV9mb3JfanN4RmFjdG9yeV8wX2lzX25vdF9hX3ZhbGlkX2lkZW50aWZpZXJfb3JfcXVhbGlmaWVkX25hbWU6cig1MDY3LDEsXCJJbnZhbGlkX3ZhbHVlX2Zvcl9qc3hGYWN0b3J5XzBfaXNfbm90X2FfdmFsaWRfaWRlbnRpZmllcl9vcl9xdWFsaWZpZWRfbmFtZV81MDY3XCIsXCJJbnZhbGlkIHZhbHVlIGZvciAnanN4RmFjdG9yeScuICd7MH0nIGlzIG5vdCBhIHZhbGlkIGlkZW50aWZpZXIgb3IgcXVhbGlmaWVkLW5hbWUuXCIpLEFkZGluZ19hX3RzY29uZmlnX2pzb25fZmlsZV93aWxsX2hlbHBfb3JnYW5pemVfcHJvamVjdHNfdGhhdF9jb250YWluX2JvdGhfVHlwZVNjcmlwdF9hbmRfSmF2YVNjcmlwdF9maWxlc19MZWFybl9tb3JlX2F0X2h0dHBzX0NvbG9uX1NsYXNoX1NsYXNoYWthX21zX1NsYXNodHNjb25maWc6cig1MDY4LDEsXCJBZGRpbmdfYV90c2NvbmZpZ19qc29uX2ZpbGVfd2lsbF9oZWxwX29yZ2FuaXplX3Byb2plY3RzX3RoYXRfY29udGFpbl9ib3RoX1R5cGVTY3JpcHRfYW5kX0phdmFTY3JpcHRfXzUwNjhcIixcIkFkZGluZyBhIHRzY29uZmlnLmpzb24gZmlsZSB3aWxsIGhlbHAgb3JnYW5pemUgcHJvamVjdHMgdGhhdCBjb250YWluIGJvdGggVHlwZVNjcmlwdCBhbmQgSmF2YVNjcmlwdCBmaWxlcy4gTGVhcm4gbW9yZSBhdCBodHRwczovL2FrYS5tcy90c2NvbmZpZy5cIiksT3B0aW9uXzBfY2Fubm90X2JlX3NwZWNpZmllZF93aXRob3V0X3NwZWNpZnlpbmdfb3B0aW9uXzFfb3Jfb3B0aW9uXzI6cig1MDY5LDEsXCJPcHRpb25fMF9jYW5ub3RfYmVfc3BlY2lmaWVkX3dpdGhvdXRfc3BlY2lmeWluZ19vcHRpb25fMV9vcl9vcHRpb25fMl81MDY5XCIsXCJPcHRpb24gJ3swfScgY2Fubm90IGJlIHNwZWNpZmllZCB3aXRob3V0IHNwZWNpZnlpbmcgb3B0aW9uICd7MX0nIG9yIG9wdGlvbiAnezJ9Jy5cIiksT3B0aW9uX3Jlc29sdmVKc29uTW9kdWxlX2Nhbm5vdF9iZV9zcGVjaWZpZWRfd2hlbl9tb2R1bGVSZXNvbHV0aW9uX2lzX3NldF90b19jbGFzc2ljOnIoNTA3MCwxLFwiT3B0aW9uX3Jlc29sdmVKc29uTW9kdWxlX2Nhbm5vdF9iZV9zcGVjaWZpZWRfd2hlbl9tb2R1bGVSZXNvbHV0aW9uX2lzX3NldF90b19jbGFzc2ljXzUwNzBcIixcIk9wdGlvbiAnLS1yZXNvbHZlSnNvbk1vZHVsZScgY2Fubm90IGJlIHNwZWNpZmllZCB3aGVuICdtb2R1bGVSZXNvbHV0aW9uJyBpcyBzZXQgdG8gJ2NsYXNzaWMnLlwiKSxPcHRpb25fcmVzb2x2ZUpzb25Nb2R1bGVfY2Fubm90X2JlX3NwZWNpZmllZF93aGVuX21vZHVsZV9pc19zZXRfdG9fbm9uZV9zeXN0ZW1fb3JfdW1kOnIoNTA3MSwxLFwiT3B0aW9uX3Jlc29sdmVKc29uTW9kdWxlX2Nhbm5vdF9iZV9zcGVjaWZpZWRfd2hlbl9tb2R1bGVfaXNfc2V0X3RvX25vbmVfc3lzdGVtX29yX3VtZF81MDcxXCIsXCJPcHRpb24gJy0tcmVzb2x2ZUpzb25Nb2R1bGUnIGNhbm5vdCBiZSBzcGVjaWZpZWQgd2hlbiAnbW9kdWxlJyBpcyBzZXQgdG8gJ25vbmUnLCAnc3lzdGVtJywgb3IgJ3VtZCcuXCIpLFVua25vd25fYnVpbGRfb3B0aW9uXzA6cig1MDcyLDEsXCJVbmtub3duX2J1aWxkX29wdGlvbl8wXzUwNzJcIixcIlVua25vd24gYnVpbGQgb3B0aW9uICd7MH0nLlwiKSxCdWlsZF9vcHRpb25fMF9yZXF1aXJlc19hX3ZhbHVlX29mX3R5cGVfMTpyKDUwNzMsMSxcIkJ1aWxkX29wdGlvbl8wX3JlcXVpcmVzX2FfdmFsdWVfb2ZfdHlwZV8xXzUwNzNcIixcIkJ1aWxkIG9wdGlvbiAnezB9JyByZXF1aXJlcyBhIHZhbHVlIG9mIHR5cGUgezF9LlwiKSxPcHRpb25faW5jcmVtZW50YWxfY2FuX29ubHlfYmVfc3BlY2lmaWVkX3VzaW5nX3RzY29uZmlnX2VtaXR0aW5nX3RvX3NpbmdsZV9maWxlX29yX3doZW5fb3B0aW9uX3RzQnVpbGRJbmZvRmlsZV9pc19zcGVjaWZpZWQ6cig1MDc0LDEsXCJPcHRpb25faW5jcmVtZW50YWxfY2FuX29ubHlfYmVfc3BlY2lmaWVkX3VzaW5nX3RzY29uZmlnX2VtaXR0aW5nX3RvX3NpbmdsZV9maWxlX29yX3doZW5fb3B0aW9uX3RzQnVpXzUwNzRcIixcIk9wdGlvbiAnLS1pbmNyZW1lbnRhbCcgY2FuIG9ubHkgYmUgc3BlY2lmaWVkIHVzaW5nIHRzY29uZmlnLCBlbWl0dGluZyB0byBzaW5nbGUgZmlsZSBvciB3aGVuIG9wdGlvbiAnLS10c0J1aWxkSW5mb0ZpbGUnIGlzIHNwZWNpZmllZC5cIiksXzBfaXNfYXNzaWduYWJsZV90b190aGVfY29uc3RyYWludF9vZl90eXBlXzFfYnV0XzFfY291bGRfYmVfaW5zdGFudGlhdGVkX3dpdGhfYV9kaWZmZXJlbnRfc3VidHlwZV9vZl9jb25zdHJhaW50XzI6cig1MDc1LDEsXCJfMF9pc19hc3NpZ25hYmxlX3RvX3RoZV9jb25zdHJhaW50X29mX3R5cGVfMV9idXRfMV9jb3VsZF9iZV9pbnN0YW50aWF0ZWRfd2l0aF9hX2RpZmZlcmVudF9zdWJ0eXBlX29mXzUwNzVcIixcIid7MH0nIGlzIGFzc2lnbmFibGUgdG8gdGhlIGNvbnN0cmFpbnQgb2YgdHlwZSAnezF9JywgYnV0ICd7MX0nIGNvdWxkIGJlIGluc3RhbnRpYXRlZCB3aXRoIGEgZGlmZmVyZW50IHN1YnR5cGUgb2YgY29uc3RyYWludCAnezJ9Jy5cIiksXzBfYW5kXzFfb3BlcmF0aW9uc19jYW5ub3RfYmVfbWl4ZWRfd2l0aG91dF9wYXJlbnRoZXNlczpyKDUwNzYsMSxcIl8wX2FuZF8xX29wZXJhdGlvbnNfY2Fubm90X2JlX21peGVkX3dpdGhvdXRfcGFyZW50aGVzZXNfNTA3NlwiLFwiJ3swfScgYW5kICd7MX0nIG9wZXJhdGlvbnMgY2Fubm90IGJlIG1peGVkIHdpdGhvdXQgcGFyZW50aGVzZXMuXCIpLFVua25vd25fYnVpbGRfb3B0aW9uXzBfRGlkX3lvdV9tZWFuXzE6cig1MDc3LDEsXCJVbmtub3duX2J1aWxkX29wdGlvbl8wX0RpZF95b3VfbWVhbl8xXzUwNzdcIixcIlVua25vd24gYnVpbGQgb3B0aW9uICd7MH0nLiBEaWQgeW91IG1lYW4gJ3sxfSc/XCIpLFVua25vd25fd2F0Y2hfb3B0aW9uXzA6cig1MDc4LDEsXCJVbmtub3duX3dhdGNoX29wdGlvbl8wXzUwNzhcIixcIlVua25vd24gd2F0Y2ggb3B0aW9uICd7MH0nLlwiKSxVbmtub3duX3dhdGNoX29wdGlvbl8wX0RpZF95b3VfbWVhbl8xOnIoNTA3OSwxLFwiVW5rbm93bl93YXRjaF9vcHRpb25fMF9EaWRfeW91X21lYW5fMV81MDc5XCIsXCJVbmtub3duIHdhdGNoIG9wdGlvbiAnezB9Jy4gRGlkIHlvdSBtZWFuICd7MX0nP1wiKSxXYXRjaF9vcHRpb25fMF9yZXF1aXJlc19hX3ZhbHVlX29mX3R5cGVfMTpyKDUwODAsMSxcIldhdGNoX29wdGlvbl8wX3JlcXVpcmVzX2FfdmFsdWVfb2ZfdHlwZV8xXzUwODBcIixcIldhdGNoIG9wdGlvbiAnezB9JyByZXF1aXJlcyBhIHZhbHVlIG9mIHR5cGUgezF9LlwiKSxDYW5ub3RfZmluZF9hX3RzY29uZmlnX2pzb25fZmlsZV9hdF90aGVfY3VycmVudF9kaXJlY3RvcnlfQ29sb25fMDpyKDUwODEsMSxcIkNhbm5vdF9maW5kX2FfdHNjb25maWdfanNvbl9maWxlX2F0X3RoZV9jdXJyZW50X2RpcmVjdG9yeV9Db2xvbl8wXzUwODFcIixcIkNhbm5vdCBmaW5kIGEgdHNjb25maWcuanNvbiBmaWxlIGF0IHRoZSBjdXJyZW50IGRpcmVjdG9yeTogezB9LlwiKSxfMF9jb3VsZF9iZV9pbnN0YW50aWF0ZWRfd2l0aF9hbl9hcmJpdHJhcnlfdHlwZV93aGljaF9jb3VsZF9iZV91bnJlbGF0ZWRfdG9fMTpyKDUwODIsMSxcIl8wX2NvdWxkX2JlX2luc3RhbnRpYXRlZF93aXRoX2FuX2FyYml0cmFyeV90eXBlX3doaWNoX2NvdWxkX2JlX3VucmVsYXRlZF90b18xXzUwODJcIixcIid7MH0nIGNvdWxkIGJlIGluc3RhbnRpYXRlZCB3aXRoIGFuIGFyYml0cmFyeSB0eXBlIHdoaWNoIGNvdWxkIGJlIHVucmVsYXRlZCB0byAnezF9Jy5cIiksQ2Fubm90X3JlYWRfZmlsZV8wOnIoNTA4MywxLFwiQ2Fubm90X3JlYWRfZmlsZV8wXzUwODNcIixcIkNhbm5vdCByZWFkIGZpbGUgJ3swfScuXCIpLEFfdHVwbGVfbWVtYmVyX2Nhbm5vdF9iZV9ib3RoX29wdGlvbmFsX2FuZF9yZXN0OnIoNTA4NSwxLFwiQV90dXBsZV9tZW1iZXJfY2Fubm90X2JlX2JvdGhfb3B0aW9uYWxfYW5kX3Jlc3RfNTA4NVwiLFwiQSB0dXBsZSBtZW1iZXIgY2Fubm90IGJlIGJvdGggb3B0aW9uYWwgYW5kIHJlc3QuXCIpLEFfbGFiZWxlZF90dXBsZV9lbGVtZW50X2lzX2RlY2xhcmVkX2FzX29wdGlvbmFsX3dpdGhfYV9xdWVzdGlvbl9tYXJrX2FmdGVyX3RoZV9uYW1lX2FuZF9iZWZvcmVfdGhlX2NvbG9uX3JhdGhlcl90aGFuX2FmdGVyX3RoZV90eXBlOnIoNTA4NiwxLFwiQV9sYWJlbGVkX3R1cGxlX2VsZW1lbnRfaXNfZGVjbGFyZWRfYXNfb3B0aW9uYWxfd2l0aF9hX3F1ZXN0aW9uX21hcmtfYWZ0ZXJfdGhlX25hbWVfYW5kX2JlZm9yZV90aGVfY181MDg2XCIsXCJBIGxhYmVsZWQgdHVwbGUgZWxlbWVudCBpcyBkZWNsYXJlZCBhcyBvcHRpb25hbCB3aXRoIGEgcXVlc3Rpb24gbWFyayBhZnRlciB0aGUgbmFtZSBhbmQgYmVmb3JlIHRoZSBjb2xvbiwgcmF0aGVyIHRoYW4gYWZ0ZXIgdGhlIHR5cGUuXCIpLEFfbGFiZWxlZF90dXBsZV9lbGVtZW50X2lzX2RlY2xhcmVkX2FzX3Jlc3Rfd2l0aF9hX2JlZm9yZV90aGVfbmFtZV9yYXRoZXJfdGhhbl9iZWZvcmVfdGhlX3R5cGU6cig1MDg3LDEsXCJBX2xhYmVsZWRfdHVwbGVfZWxlbWVudF9pc19kZWNsYXJlZF9hc19yZXN0X3dpdGhfYV9iZWZvcmVfdGhlX25hbWVfcmF0aGVyX3RoYW5fYmVmb3JlX3RoZV90eXBlXzUwODdcIixcIkEgbGFiZWxlZCB0dXBsZSBlbGVtZW50IGlzIGRlY2xhcmVkIGFzIHJlc3Qgd2l0aCBhICcuLi4nIGJlZm9yZSB0aGUgbmFtZSwgcmF0aGVyIHRoYW4gYmVmb3JlIHRoZSB0eXBlLlwiKSxUaGVfaW5mZXJyZWRfdHlwZV9vZl8wX3JlZmVyZW5jZXNfYV90eXBlX3dpdGhfYV9jeWNsaWNfc3RydWN0dXJlX3doaWNoX2Nhbm5vdF9iZV90cml2aWFsbHlfc2VyaWFsaXplZF9BX3R5cGVfYW5ub3RhdGlvbl9pc19uZWNlc3Nhcnk6cig1MDg4LDEsXCJUaGVfaW5mZXJyZWRfdHlwZV9vZl8wX3JlZmVyZW5jZXNfYV90eXBlX3dpdGhfYV9jeWNsaWNfc3RydWN0dXJlX3doaWNoX2Nhbm5vdF9iZV90cml2aWFsbHlfc2VyaWFsaXplXzUwODhcIixcIlRoZSBpbmZlcnJlZCB0eXBlIG9mICd7MH0nIHJlZmVyZW5jZXMgYSB0eXBlIHdpdGggYSBjeWNsaWMgc3RydWN0dXJlIHdoaWNoIGNhbm5vdCBiZSB0cml2aWFsbHkgc2VyaWFsaXplZC4gQSB0eXBlIGFubm90YXRpb24gaXMgbmVjZXNzYXJ5LlwiKSxPcHRpb25fMF9jYW5ub3RfYmVfc3BlY2lmaWVkX3doZW5fb3B0aW9uX2pzeF9pc18xOnIoNTA4OSwxLFwiT3B0aW9uXzBfY2Fubm90X2JlX3NwZWNpZmllZF93aGVuX29wdGlvbl9qc3hfaXNfMV81MDg5XCIsXCJPcHRpb24gJ3swfScgY2Fubm90IGJlIHNwZWNpZmllZCB3aGVuIG9wdGlvbiAnanN4JyBpcyAnezF9Jy5cIiksTm9uX3JlbGF0aXZlX3BhdGhzX2FyZV9ub3RfYWxsb3dlZF93aGVuX2Jhc2VVcmxfaXNfbm90X3NldF9EaWRfeW91X2ZvcmdldF9hX2xlYWRpbmdfU2xhc2g6cig1MDkwLDEsXCJOb25fcmVsYXRpdmVfcGF0aHNfYXJlX25vdF9hbGxvd2VkX3doZW5fYmFzZVVybF9pc19ub3Rfc2V0X0RpZF95b3VfZm9yZ2V0X2FfbGVhZGluZ19TbGFzaF81MDkwXCIsXCJOb24tcmVsYXRpdmUgcGF0aHMgYXJlIG5vdCBhbGxvd2VkIHdoZW4gJ2Jhc2VVcmwnIGlzIG5vdCBzZXQuIERpZCB5b3UgZm9yZ2V0IGEgbGVhZGluZyAnLi8nP1wiKSxPcHRpb25fcHJlc2VydmVDb25zdEVudW1zX2Nhbm5vdF9iZV9kaXNhYmxlZF93aGVuXzBfaXNfZW5hYmxlZDpyKDUwOTEsMSxcIk9wdGlvbl9wcmVzZXJ2ZUNvbnN0RW51bXNfY2Fubm90X2JlX2Rpc2FibGVkX3doZW5fMF9pc19lbmFibGVkXzUwOTFcIixcIk9wdGlvbiAncHJlc2VydmVDb25zdEVudW1zJyBjYW5ub3QgYmUgZGlzYWJsZWQgd2hlbiAnezB9JyBpcyBlbmFibGVkLlwiKSxUaGVfcm9vdF92YWx1ZV9vZl9hXzBfZmlsZV9tdXN0X2JlX2FuX29iamVjdDpyKDUwOTIsMSxcIlRoZV9yb290X3ZhbHVlX29mX2FfMF9maWxlX211c3RfYmVfYW5fb2JqZWN0XzUwOTJcIixcIlRoZSByb290IHZhbHVlIG9mIGEgJ3swfScgZmlsZSBtdXN0IGJlIGFuIG9iamVjdC5cIiksQ29tcGlsZXJfb3B0aW9uXzBfbWF5X29ubHlfYmVfdXNlZF93aXRoX2J1aWxkOnIoNTA5MywxLFwiQ29tcGlsZXJfb3B0aW9uXzBfbWF5X29ubHlfYmVfdXNlZF93aXRoX2J1aWxkXzUwOTNcIixcIkNvbXBpbGVyIG9wdGlvbiAnLS17MH0nIG1heSBvbmx5IGJlIHVzZWQgd2l0aCAnLS1idWlsZCcuXCIpLENvbXBpbGVyX29wdGlvbl8wX21heV9ub3RfYmVfdXNlZF93aXRoX2J1aWxkOnIoNTA5NCwxLFwiQ29tcGlsZXJfb3B0aW9uXzBfbWF5X25vdF9iZV91c2VkX3dpdGhfYnVpbGRfNTA5NFwiLFwiQ29tcGlsZXIgb3B0aW9uICctLXswfScgbWF5IG5vdCBiZSB1c2VkIHdpdGggJy0tYnVpbGQnLlwiKSxPcHRpb25fMF9jYW5fb25seV9iZV91c2VkX3doZW5fbW9kdWxlX2lzX3NldF90b19wcmVzZXJ2ZV9vcl90b19lczIwMTVfb3JfbGF0ZXI6cig1MDk1LDEsXCJPcHRpb25fMF9jYW5fb25seV9iZV91c2VkX3doZW5fbW9kdWxlX2lzX3NldF90b19wcmVzZXJ2ZV9vcl90b19lczIwMTVfb3JfbGF0ZXJfNTA5NVwiLFwiT3B0aW9uICd7MH0nIGNhbiBvbmx5IGJlIHVzZWQgd2hlbiAnbW9kdWxlJyBpcyBzZXQgdG8gJ3ByZXNlcnZlJyBvciB0byAnZXMyMDE1JyBvciBsYXRlci5cIiksT3B0aW9uX2FsbG93SW1wb3J0aW5nVHNFeHRlbnNpb25zX2Nhbl9vbmx5X2JlX3VzZWRfd2hlbl9laXRoZXJfbm9FbWl0X29yX2VtaXREZWNsYXJhdGlvbk9ubHlfaXNfc2V0OnIoNTA5NiwxLFwiT3B0aW9uX2FsbG93SW1wb3J0aW5nVHNFeHRlbnNpb25zX2Nhbl9vbmx5X2JlX3VzZWRfd2hlbl9laXRoZXJfbm9FbWl0X29yX2VtaXREZWNsYXJhdGlvbk9ubHlfaXNfc2V0XzUwOTZcIixcIk9wdGlvbiAnYWxsb3dJbXBvcnRpbmdUc0V4dGVuc2lvbnMnIGNhbiBvbmx5IGJlIHVzZWQgd2hlbiBlaXRoZXIgJ25vRW1pdCcgb3IgJ2VtaXREZWNsYXJhdGlvbk9ubHknIGlzIHNldC5cIiksQW5faW1wb3J0X3BhdGhfY2FuX29ubHlfZW5kX3dpdGhfYV8wX2V4dGVuc2lvbl93aGVuX2FsbG93SW1wb3J0aW5nVHNFeHRlbnNpb25zX2lzX2VuYWJsZWQ6cig1MDk3LDEsXCJBbl9pbXBvcnRfcGF0aF9jYW5fb25seV9lbmRfd2l0aF9hXzBfZXh0ZW5zaW9uX3doZW5fYWxsb3dJbXBvcnRpbmdUc0V4dGVuc2lvbnNfaXNfZW5hYmxlZF81MDk3XCIsXCJBbiBpbXBvcnQgcGF0aCBjYW4gb25seSBlbmQgd2l0aCBhICd7MH0nIGV4dGVuc2lvbiB3aGVuICdhbGxvd0ltcG9ydGluZ1RzRXh0ZW5zaW9ucycgaXMgZW5hYmxlZC5cIiksT3B0aW9uXzBfY2FuX29ubHlfYmVfdXNlZF93aGVuX21vZHVsZVJlc29sdXRpb25faXNfc2V0X3RvX25vZGUxNl9ub2RlbmV4dF9vcl9idW5kbGVyOnIoNTA5OCwxLFwiT3B0aW9uXzBfY2FuX29ubHlfYmVfdXNlZF93aGVuX21vZHVsZVJlc29sdXRpb25faXNfc2V0X3RvX25vZGUxNl9ub2RlbmV4dF9vcl9idW5kbGVyXzUwOThcIixcIk9wdGlvbiAnezB9JyBjYW4gb25seSBiZSB1c2VkIHdoZW4gJ21vZHVsZVJlc29sdXRpb24nIGlzIHNldCB0byAnbm9kZTE2JywgJ25vZGVuZXh0Jywgb3IgJ2J1bmRsZXInLlwiKSxPcHRpb25fMF9pc19kZXByZWNhdGVkX2FuZF93aWxsX3N0b3BfZnVuY3Rpb25pbmdfaW5fVHlwZVNjcmlwdF8xX1NwZWNpZnlfY29tcGlsZXJPcHRpb25faWdub3JlRGVwcmVjYXRpb25zX0NvbG9uXzJfdG9fc2lsZW5jZV90aGlzX2Vycm9yOnIoNTEwMSwxLFwiT3B0aW9uXzBfaXNfZGVwcmVjYXRlZF9hbmRfd2lsbF9zdG9wX2Z1bmN0aW9uaW5nX2luX1R5cGVTY3JpcHRfMV9TcGVjaWZ5X2NvbXBpbGVyT3B0aW9uX2lnbm9yZURlcHJlY181MTAxXCIsYE9wdGlvbiAnezB9JyBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIHN0b3AgZnVuY3Rpb25pbmcgaW4gVHlwZVNjcmlwdCB7MX0uIFNwZWNpZnkgY29tcGlsZXJPcHRpb24gJ1wiaWdub3JlRGVwcmVjYXRpb25zXCI6IFwiezJ9XCInIHRvIHNpbGVuY2UgdGhpcyBlcnJvci5gKSxPcHRpb25fMF9oYXNfYmVlbl9yZW1vdmVkX1BsZWFzZV9yZW1vdmVfaXRfZnJvbV95b3VyX2NvbmZpZ3VyYXRpb246cig1MTAyLDEsXCJPcHRpb25fMF9oYXNfYmVlbl9yZW1vdmVkX1BsZWFzZV9yZW1vdmVfaXRfZnJvbV95b3VyX2NvbmZpZ3VyYXRpb25fNTEwMlwiLFwiT3B0aW9uICd7MH0nIGhhcyBiZWVuIHJlbW92ZWQuIFBsZWFzZSByZW1vdmUgaXQgZnJvbSB5b3VyIGNvbmZpZ3VyYXRpb24uXCIpLEludmFsaWRfdmFsdWVfZm9yX2lnbm9yZURlcHJlY2F0aW9uczpyKDUxMDMsMSxcIkludmFsaWRfdmFsdWVfZm9yX2lnbm9yZURlcHJlY2F0aW9uc181MTAzXCIsXCJJbnZhbGlkIHZhbHVlIGZvciAnLS1pZ25vcmVEZXByZWNhdGlvbnMnLlwiKSxPcHRpb25fMF9pc19yZWR1bmRhbnRfYW5kX2Nhbm5vdF9iZV9zcGVjaWZpZWRfd2l0aF9vcHRpb25fMTpyKDUxMDQsMSxcIk9wdGlvbl8wX2lzX3JlZHVuZGFudF9hbmRfY2Fubm90X2JlX3NwZWNpZmllZF93aXRoX29wdGlvbl8xXzUxMDRcIixcIk9wdGlvbiAnezB9JyBpcyByZWR1bmRhbnQgYW5kIGNhbm5vdCBiZSBzcGVjaWZpZWQgd2l0aCBvcHRpb24gJ3sxfScuXCIpLE9wdGlvbl92ZXJiYXRpbU1vZHVsZVN5bnRheF9jYW5ub3RfYmVfdXNlZF93aGVuX21vZHVsZV9pc19zZXRfdG9fVU1EX0FNRF9vcl9TeXN0ZW06cig1MTA1LDEsXCJPcHRpb25fdmVyYmF0aW1Nb2R1bGVTeW50YXhfY2Fubm90X2JlX3VzZWRfd2hlbl9tb2R1bGVfaXNfc2V0X3RvX1VNRF9BTURfb3JfU3lzdGVtXzUxMDVcIixcIk9wdGlvbiAndmVyYmF0aW1Nb2R1bGVTeW50YXgnIGNhbm5vdCBiZSB1c2VkIHdoZW4gJ21vZHVsZScgaXMgc2V0IHRvICdVTUQnLCAnQU1EJywgb3IgJ1N5c3RlbScuXCIpLFVzZV8wX2luc3RlYWQ6cig1MTA2LDMsXCJVc2VfMF9pbnN0ZWFkXzUxMDZcIixcIlVzZSAnezB9JyBpbnN0ZWFkLlwiKSxPcHRpb25fMF8xX2lzX2RlcHJlY2F0ZWRfYW5kX3dpbGxfc3RvcF9mdW5jdGlvbmluZ19pbl9UeXBlU2NyaXB0XzJfU3BlY2lmeV9jb21waWxlck9wdGlvbl9pZ25vcmVEZXByZWNhdGlvbnNfQ29sb25fM190b19zaWxlbmNlX3RoaXNfZXJyb3I6cig1MTA3LDEsXCJPcHRpb25fMF8xX2lzX2RlcHJlY2F0ZWRfYW5kX3dpbGxfc3RvcF9mdW5jdGlvbmluZ19pbl9UeXBlU2NyaXB0XzJfU3BlY2lmeV9jb21waWxlck9wdGlvbl9pZ25vcmVEZXByXzUxMDdcIixgT3B0aW9uICd7MH09ezF9JyBpcyBkZXByZWNhdGVkIGFuZCB3aWxsIHN0b3AgZnVuY3Rpb25pbmcgaW4gVHlwZVNjcmlwdCB7Mn0uIFNwZWNpZnkgY29tcGlsZXJPcHRpb24gJ1wiaWdub3JlRGVwcmVjYXRpb25zXCI6IFwiezN9XCInIHRvIHNpbGVuY2UgdGhpcyBlcnJvci5gKSxPcHRpb25fMF8xX2hhc19iZWVuX3JlbW92ZWRfUGxlYXNlX3JlbW92ZV9pdF9mcm9tX3lvdXJfY29uZmlndXJhdGlvbjpyKDUxMDgsMSxcIk9wdGlvbl8wXzFfaGFzX2JlZW5fcmVtb3ZlZF9QbGVhc2VfcmVtb3ZlX2l0X2Zyb21feW91cl9jb25maWd1cmF0aW9uXzUxMDhcIixcIk9wdGlvbiAnezB9PXsxfScgaGFzIGJlZW4gcmVtb3ZlZC4gUGxlYXNlIHJlbW92ZSBpdCBmcm9tIHlvdXIgY29uZmlndXJhdGlvbi5cIiksT3B0aW9uX21vZHVsZVJlc29sdXRpb25fbXVzdF9iZV9zZXRfdG9fMF9vcl9sZWZ0X3Vuc3BlY2lmaWVkX3doZW5fb3B0aW9uX21vZHVsZV9pc19zZXRfdG9fMTpyKDUxMDksMSxcIk9wdGlvbl9tb2R1bGVSZXNvbHV0aW9uX211c3RfYmVfc2V0X3RvXzBfb3JfbGVmdF91bnNwZWNpZmllZF93aGVuX29wdGlvbl9tb2R1bGVfaXNfc2V0X3RvXzFfNTEwOVwiLFwiT3B0aW9uICdtb2R1bGVSZXNvbHV0aW9uJyBtdXN0IGJlIHNldCB0byAnezB9JyAob3IgbGVmdCB1bnNwZWNpZmllZCkgd2hlbiBvcHRpb24gJ21vZHVsZScgaXMgc2V0IHRvICd7MX0nLlwiKSxPcHRpb25fbW9kdWxlX211c3RfYmVfc2V0X3RvXzBfd2hlbl9vcHRpb25fbW9kdWxlUmVzb2x1dGlvbl9pc19zZXRfdG9fMTpyKDUxMTAsMSxcIk9wdGlvbl9tb2R1bGVfbXVzdF9iZV9zZXRfdG9fMF93aGVuX29wdGlvbl9tb2R1bGVSZXNvbHV0aW9uX2lzX3NldF90b18xXzUxMTBcIixcIk9wdGlvbiAnbW9kdWxlJyBtdXN0IGJlIHNldCB0byAnezB9JyB3aGVuIG9wdGlvbiAnbW9kdWxlUmVzb2x1dGlvbicgaXMgc2V0IHRvICd7MX0nLlwiKSxHZW5lcmF0ZXNfYV9zb3VyY2VtYXBfZm9yX2VhY2hfY29ycmVzcG9uZGluZ19kX3RzX2ZpbGU6cig2ZTMsMyxcIkdlbmVyYXRlc19hX3NvdXJjZW1hcF9mb3JfZWFjaF9jb3JyZXNwb25kaW5nX2RfdHNfZmlsZV82MDAwXCIsXCJHZW5lcmF0ZXMgYSBzb3VyY2VtYXAgZm9yIGVhY2ggY29ycmVzcG9uZGluZyAnLmQudHMnIGZpbGUuXCIpLENvbmNhdGVuYXRlX2FuZF9lbWl0X291dHB1dF90b19zaW5nbGVfZmlsZTpyKDYwMDEsMyxcIkNvbmNhdGVuYXRlX2FuZF9lbWl0X291dHB1dF90b19zaW5nbGVfZmlsZV82MDAxXCIsXCJDb25jYXRlbmF0ZSBhbmQgZW1pdCBvdXRwdXQgdG8gc2luZ2xlIGZpbGUuXCIpLEdlbmVyYXRlc19jb3JyZXNwb25kaW5nX2RfdHNfZmlsZTpyKDYwMDIsMyxcIkdlbmVyYXRlc19jb3JyZXNwb25kaW5nX2RfdHNfZmlsZV82MDAyXCIsXCJHZW5lcmF0ZXMgY29ycmVzcG9uZGluZyAnLmQudHMnIGZpbGUuXCIpLFNwZWNpZnlfdGhlX2xvY2F0aW9uX3doZXJlX2RlYnVnZ2VyX3Nob3VsZF9sb2NhdGVfVHlwZVNjcmlwdF9maWxlc19pbnN0ZWFkX29mX3NvdXJjZV9sb2NhdGlvbnM6cig2MDA0LDMsXCJTcGVjaWZ5X3RoZV9sb2NhdGlvbl93aGVyZV9kZWJ1Z2dlcl9zaG91bGRfbG9jYXRlX1R5cGVTY3JpcHRfZmlsZXNfaW5zdGVhZF9vZl9zb3VyY2VfbG9jYXRpb25zXzYwMDRcIixcIlNwZWNpZnkgdGhlIGxvY2F0aW9uIHdoZXJlIGRlYnVnZ2VyIHNob3VsZCBsb2NhdGUgVHlwZVNjcmlwdCBmaWxlcyBpbnN0ZWFkIG9mIHNvdXJjZSBsb2NhdGlvbnMuXCIpLFdhdGNoX2lucHV0X2ZpbGVzOnIoNjAwNSwzLFwiV2F0Y2hfaW5wdXRfZmlsZXNfNjAwNVwiLFwiV2F0Y2ggaW5wdXQgZmlsZXMuXCIpLFJlZGlyZWN0X291dHB1dF9zdHJ1Y3R1cmVfdG9fdGhlX2RpcmVjdG9yeTpyKDYwMDYsMyxcIlJlZGlyZWN0X291dHB1dF9zdHJ1Y3R1cmVfdG9fdGhlX2RpcmVjdG9yeV82MDA2XCIsXCJSZWRpcmVjdCBvdXRwdXQgc3RydWN0dXJlIHRvIHRoZSBkaXJlY3RvcnkuXCIpLERvX25vdF9lcmFzZV9jb25zdF9lbnVtX2RlY2xhcmF0aW9uc19pbl9nZW5lcmF0ZWRfY29kZTpyKDYwMDcsMyxcIkRvX25vdF9lcmFzZV9jb25zdF9lbnVtX2RlY2xhcmF0aW9uc19pbl9nZW5lcmF0ZWRfY29kZV82MDA3XCIsXCJEbyBub3QgZXJhc2UgY29uc3QgZW51bSBkZWNsYXJhdGlvbnMgaW4gZ2VuZXJhdGVkIGNvZGUuXCIpLERvX25vdF9lbWl0X291dHB1dHNfaWZfYW55X2Vycm9yc193ZXJlX3JlcG9ydGVkOnIoNjAwOCwzLFwiRG9fbm90X2VtaXRfb3V0cHV0c19pZl9hbnlfZXJyb3JzX3dlcmVfcmVwb3J0ZWRfNjAwOFwiLFwiRG8gbm90IGVtaXQgb3V0cHV0cyBpZiBhbnkgZXJyb3JzIHdlcmUgcmVwb3J0ZWQuXCIpLERvX25vdF9lbWl0X2NvbW1lbnRzX3RvX291dHB1dDpyKDYwMDksMyxcIkRvX25vdF9lbWl0X2NvbW1lbnRzX3RvX291dHB1dF82MDA5XCIsXCJEbyBub3QgZW1pdCBjb21tZW50cyB0byBvdXRwdXQuXCIpLERvX25vdF9lbWl0X291dHB1dHM6cig2MDEwLDMsXCJEb19ub3RfZW1pdF9vdXRwdXRzXzYwMTBcIixcIkRvIG5vdCBlbWl0IG91dHB1dHMuXCIpLEFsbG93X2RlZmF1bHRfaW1wb3J0c19mcm9tX21vZHVsZXNfd2l0aF9ub19kZWZhdWx0X2V4cG9ydF9UaGlzX2RvZXNfbm90X2FmZmVjdF9jb2RlX2VtaXRfanVzdF90eXBlY2hlY2tpbmc6cig2MDExLDMsXCJBbGxvd19kZWZhdWx0X2ltcG9ydHNfZnJvbV9tb2R1bGVzX3dpdGhfbm9fZGVmYXVsdF9leHBvcnRfVGhpc19kb2VzX25vdF9hZmZlY3RfY29kZV9lbWl0X2p1c3RfdHlwZWNoXzYwMTFcIixcIkFsbG93IGRlZmF1bHQgaW1wb3J0cyBmcm9tIG1vZHVsZXMgd2l0aCBubyBkZWZhdWx0IGV4cG9ydC4gVGhpcyBkb2VzIG5vdCBhZmZlY3QgY29kZSBlbWl0LCBqdXN0IHR5cGVjaGVja2luZy5cIiksU2tpcF90eXBlX2NoZWNraW5nX29mX2RlY2xhcmF0aW9uX2ZpbGVzOnIoNjAxMiwzLFwiU2tpcF90eXBlX2NoZWNraW5nX29mX2RlY2xhcmF0aW9uX2ZpbGVzXzYwMTJcIixcIlNraXAgdHlwZSBjaGVja2luZyBvZiBkZWNsYXJhdGlvbiBmaWxlcy5cIiksRG9fbm90X3Jlc29sdmVfdGhlX3JlYWxfcGF0aF9vZl9zeW1saW5rczpyKDYwMTMsMyxcIkRvX25vdF9yZXNvbHZlX3RoZV9yZWFsX3BhdGhfb2Zfc3ltbGlua3NfNjAxM1wiLFwiRG8gbm90IHJlc29sdmUgdGhlIHJlYWwgcGF0aCBvZiBzeW1saW5rcy5cIiksT25seV9lbWl0X2RfdHNfZGVjbGFyYXRpb25fZmlsZXM6cig2MDE0LDMsXCJPbmx5X2VtaXRfZF90c19kZWNsYXJhdGlvbl9maWxlc182MDE0XCIsXCJPbmx5IGVtaXQgJy5kLnRzJyBkZWNsYXJhdGlvbiBmaWxlcy5cIiksU3BlY2lmeV9FQ01BU2NyaXB0X3RhcmdldF92ZXJzaW9uOnIoNjAxNSwzLFwiU3BlY2lmeV9FQ01BU2NyaXB0X3RhcmdldF92ZXJzaW9uXzYwMTVcIixcIlNwZWNpZnkgRUNNQVNjcmlwdCB0YXJnZXQgdmVyc2lvbi5cIiksU3BlY2lmeV9tb2R1bGVfY29kZV9nZW5lcmF0aW9uOnIoNjAxNiwzLFwiU3BlY2lmeV9tb2R1bGVfY29kZV9nZW5lcmF0aW9uXzYwMTZcIixcIlNwZWNpZnkgbW9kdWxlIGNvZGUgZ2VuZXJhdGlvbi5cIiksUHJpbnRfdGhpc19tZXNzYWdlOnIoNjAxNywzLFwiUHJpbnRfdGhpc19tZXNzYWdlXzYwMTdcIixcIlByaW50IHRoaXMgbWVzc2FnZS5cIiksUHJpbnRfdGhlX2NvbXBpbGVyX3NfdmVyc2lvbjpyKDYwMTksMyxcIlByaW50X3RoZV9jb21waWxlcl9zX3ZlcnNpb25fNjAxOVwiLFwiUHJpbnQgdGhlIGNvbXBpbGVyJ3MgdmVyc2lvbi5cIiksQ29tcGlsZV90aGVfcHJvamVjdF9naXZlbl90aGVfcGF0aF90b19pdHNfY29uZmlndXJhdGlvbl9maWxlX29yX3RvX2FfZm9sZGVyX3dpdGhfYV90c2NvbmZpZ19qc29uOnIoNjAyMCwzLFwiQ29tcGlsZV90aGVfcHJvamVjdF9naXZlbl90aGVfcGF0aF90b19pdHNfY29uZmlndXJhdGlvbl9maWxlX29yX3RvX2FfZm9sZGVyX3dpdGhfYV90c2NvbmZpZ19qc29uXzYwMjBcIixcIkNvbXBpbGUgdGhlIHByb2plY3QgZ2l2ZW4gdGhlIHBhdGggdG8gaXRzIGNvbmZpZ3VyYXRpb24gZmlsZSwgb3IgdG8gYSBmb2xkZXIgd2l0aCBhICd0c2NvbmZpZy5qc29uJy5cIiksU3ludGF4X0NvbG9uXzA6cig2MDIzLDMsXCJTeW50YXhfQ29sb25fMF82MDIzXCIsXCJTeW50YXg6IHswfVwiKSxvcHRpb25zOnIoNjAyNCwzLFwib3B0aW9uc182MDI0XCIsXCJvcHRpb25zXCIpLGZpbGU6cig2MDI1LDMsXCJmaWxlXzYwMjVcIixcImZpbGVcIiksRXhhbXBsZXNfQ29sb25fMDpyKDYwMjYsMyxcIkV4YW1wbGVzX0NvbG9uXzBfNjAyNlwiLFwiRXhhbXBsZXM6IHswfVwiKSxPcHRpb25zX0NvbG9uOnIoNjAyNywzLFwiT3B0aW9uc19Db2xvbl82MDI3XCIsXCJPcHRpb25zOlwiKSxWZXJzaW9uXzA6cig2MDI5LDMsXCJWZXJzaW9uXzBfNjAyOVwiLFwiVmVyc2lvbiB7MH1cIiksSW5zZXJ0X2NvbW1hbmRfbGluZV9vcHRpb25zX2FuZF9maWxlc19mcm9tX2FfZmlsZTpyKDYwMzAsMyxcIkluc2VydF9jb21tYW5kX2xpbmVfb3B0aW9uc19hbmRfZmlsZXNfZnJvbV9hX2ZpbGVfNjAzMFwiLFwiSW5zZXJ0IGNvbW1hbmQgbGluZSBvcHRpb25zIGFuZCBmaWxlcyBmcm9tIGEgZmlsZS5cIiksU3RhcnRpbmdfY29tcGlsYXRpb25faW5fd2F0Y2hfbW9kZTpyKDYwMzEsMyxcIlN0YXJ0aW5nX2NvbXBpbGF0aW9uX2luX3dhdGNoX21vZGVfNjAzMVwiLFwiU3RhcnRpbmcgY29tcGlsYXRpb24gaW4gd2F0Y2ggbW9kZS4uLlwiKSxGaWxlX2NoYW5nZV9kZXRlY3RlZF9TdGFydGluZ19pbmNyZW1lbnRhbF9jb21waWxhdGlvbjpyKDYwMzIsMyxcIkZpbGVfY2hhbmdlX2RldGVjdGVkX1N0YXJ0aW5nX2luY3JlbWVudGFsX2NvbXBpbGF0aW9uXzYwMzJcIixcIkZpbGUgY2hhbmdlIGRldGVjdGVkLiBTdGFydGluZyBpbmNyZW1lbnRhbCBjb21waWxhdGlvbi4uLlwiKSxLSU5EOnIoNjAzNCwzLFwiS0lORF82MDM0XCIsXCJLSU5EXCIpLEZJTEU6cig2MDM1LDMsXCJGSUxFXzYwMzVcIixcIkZJTEVcIiksVkVSU0lPTjpyKDYwMzYsMyxcIlZFUlNJT05fNjAzNlwiLFwiVkVSU0lPTlwiKSxMT0NBVElPTjpyKDYwMzcsMyxcIkxPQ0FUSU9OXzYwMzdcIixcIkxPQ0FUSU9OXCIpLERJUkVDVE9SWTpyKDYwMzgsMyxcIkRJUkVDVE9SWV82MDM4XCIsXCJESVJFQ1RPUllcIiksU1RSQVRFR1k6cig2MDM5LDMsXCJTVFJBVEVHWV82MDM5XCIsXCJTVFJBVEVHWVwiKSxGSUxFX09SX0RJUkVDVE9SWTpyKDYwNDAsMyxcIkZJTEVfT1JfRElSRUNUT1JZXzYwNDBcIixcIkZJTEUgT1IgRElSRUNUT1JZXCIpLEVycm9yc19GaWxlczpyKDYwNDEsMyxcIkVycm9yc19GaWxlc182MDQxXCIsXCJFcnJvcnMgIEZpbGVzXCIpLEdlbmVyYXRlc19jb3JyZXNwb25kaW5nX21hcF9maWxlOnIoNjA0MywzLFwiR2VuZXJhdGVzX2NvcnJlc3BvbmRpbmdfbWFwX2ZpbGVfNjA0M1wiLFwiR2VuZXJhdGVzIGNvcnJlc3BvbmRpbmcgJy5tYXAnIGZpbGUuXCIpLENvbXBpbGVyX29wdGlvbl8wX2V4cGVjdHNfYW5fYXJndW1lbnQ6cig2MDQ0LDEsXCJDb21waWxlcl9vcHRpb25fMF9leHBlY3RzX2FuX2FyZ3VtZW50XzYwNDRcIixcIkNvbXBpbGVyIG9wdGlvbiAnezB9JyBleHBlY3RzIGFuIGFyZ3VtZW50LlwiKSxVbnRlcm1pbmF0ZWRfcXVvdGVkX3N0cmluZ19pbl9yZXNwb25zZV9maWxlXzA6cig2MDQ1LDEsXCJVbnRlcm1pbmF0ZWRfcXVvdGVkX3N0cmluZ19pbl9yZXNwb25zZV9maWxlXzBfNjA0NVwiLFwiVW50ZXJtaW5hdGVkIHF1b3RlZCBzdHJpbmcgaW4gcmVzcG9uc2UgZmlsZSAnezB9Jy5cIiksQXJndW1lbnRfZm9yXzBfb3B0aW9uX211c3RfYmVfQ29sb25fMTpyKDYwNDYsMSxcIkFyZ3VtZW50X2Zvcl8wX29wdGlvbl9tdXN0X2JlX0NvbG9uXzFfNjA0NlwiLFwiQXJndW1lbnQgZm9yICd7MH0nIG9wdGlvbiBtdXN0IGJlOiB7MX0uXCIpLExvY2FsZV9tdXN0X2JlX29mX3RoZV9mb3JtX2xhbmd1YWdlX29yX2xhbmd1YWdlX3RlcnJpdG9yeV9Gb3JfZXhhbXBsZV8wX29yXzE6cig2MDQ4LDEsXCJMb2NhbGVfbXVzdF9iZV9vZl90aGVfZm9ybV9sYW5ndWFnZV9vcl9sYW5ndWFnZV90ZXJyaXRvcnlfRm9yX2V4YW1wbGVfMF9vcl8xXzYwNDhcIixcIkxvY2FsZSBtdXN0IGJlIG9mIHRoZSBmb3JtIDxsYW5ndWFnZT4gb3IgPGxhbmd1YWdlPi08dGVycml0b3J5Pi4gRm9yIGV4YW1wbGUgJ3swfScgb3IgJ3sxfScuXCIpLFVuYWJsZV90b19vcGVuX2ZpbGVfMDpyKDYwNTAsMSxcIlVuYWJsZV90b19vcGVuX2ZpbGVfMF82MDUwXCIsXCJVbmFibGUgdG8gb3BlbiBmaWxlICd7MH0nLlwiKSxDb3JydXB0ZWRfbG9jYWxlX2ZpbGVfMDpyKDYwNTEsMSxcIkNvcnJ1cHRlZF9sb2NhbGVfZmlsZV8wXzYwNTFcIixcIkNvcnJ1cHRlZCBsb2NhbGUgZmlsZSB7MH0uXCIpLFJhaXNlX2Vycm9yX29uX2V4cHJlc3Npb25zX2FuZF9kZWNsYXJhdGlvbnNfd2l0aF9hbl9pbXBsaWVkX2FueV90eXBlOnIoNjA1MiwzLFwiUmFpc2VfZXJyb3Jfb25fZXhwcmVzc2lvbnNfYW5kX2RlY2xhcmF0aW9uc193aXRoX2FuX2ltcGxpZWRfYW55X3R5cGVfNjA1MlwiLFwiUmFpc2UgZXJyb3Igb24gZXhwcmVzc2lvbnMgYW5kIGRlY2xhcmF0aW9ucyB3aXRoIGFuIGltcGxpZWQgJ2FueScgdHlwZS5cIiksRmlsZV8wX25vdF9mb3VuZDpyKDYwNTMsMSxcIkZpbGVfMF9ub3RfZm91bmRfNjA1M1wiLFwiRmlsZSAnezB9JyBub3QgZm91bmQuXCIpLEZpbGVfMF9oYXNfYW5fdW5zdXBwb3J0ZWRfZXh0ZW5zaW9uX1RoZV9vbmx5X3N1cHBvcnRlZF9leHRlbnNpb25zX2FyZV8xOnIoNjA1NCwxLFwiRmlsZV8wX2hhc19hbl91bnN1cHBvcnRlZF9leHRlbnNpb25fVGhlX29ubHlfc3VwcG9ydGVkX2V4dGVuc2lvbnNfYXJlXzFfNjA1NFwiLFwiRmlsZSAnezB9JyBoYXMgYW4gdW5zdXBwb3J0ZWQgZXh0ZW5zaW9uLiBUaGUgb25seSBzdXBwb3J0ZWQgZXh0ZW5zaW9ucyBhcmUgezF9LlwiKSxTdXBwcmVzc19ub0ltcGxpY2l0QW55X2Vycm9yc19mb3JfaW5kZXhpbmdfb2JqZWN0c19sYWNraW5nX2luZGV4X3NpZ25hdHVyZXM6cig2MDU1LDMsXCJTdXBwcmVzc19ub0ltcGxpY2l0QW55X2Vycm9yc19mb3JfaW5kZXhpbmdfb2JqZWN0c19sYWNraW5nX2luZGV4X3NpZ25hdHVyZXNfNjA1NVwiLFwiU3VwcHJlc3Mgbm9JbXBsaWNpdEFueSBlcnJvcnMgZm9yIGluZGV4aW5nIG9iamVjdHMgbGFja2luZyBpbmRleCBzaWduYXR1cmVzLlwiKSxEb19ub3RfZW1pdF9kZWNsYXJhdGlvbnNfZm9yX2NvZGVfdGhhdF9oYXNfYW5faW50ZXJuYWxfYW5ub3RhdGlvbjpyKDYwNTYsMyxcIkRvX25vdF9lbWl0X2RlY2xhcmF0aW9uc19mb3JfY29kZV90aGF0X2hhc19hbl9pbnRlcm5hbF9hbm5vdGF0aW9uXzYwNTZcIixcIkRvIG5vdCBlbWl0IGRlY2xhcmF0aW9ucyBmb3IgY29kZSB0aGF0IGhhcyBhbiAnQGludGVybmFsJyBhbm5vdGF0aW9uLlwiKSxTcGVjaWZ5X3RoZV9yb290X2RpcmVjdG9yeV9vZl9pbnB1dF9maWxlc19Vc2VfdG9fY29udHJvbF90aGVfb3V0cHV0X2RpcmVjdG9yeV9zdHJ1Y3R1cmVfd2l0aF9vdXREaXI6cig2MDU4LDMsXCJTcGVjaWZ5X3RoZV9yb290X2RpcmVjdG9yeV9vZl9pbnB1dF9maWxlc19Vc2VfdG9fY29udHJvbF90aGVfb3V0cHV0X2RpcmVjdG9yeV9zdHJ1Y3R1cmVfd2l0aF9vdXREaXJfNjA1OFwiLFwiU3BlY2lmeSB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgaW5wdXQgZmlsZXMuIFVzZSB0byBjb250cm9sIHRoZSBvdXRwdXQgZGlyZWN0b3J5IHN0cnVjdHVyZSB3aXRoIC0tb3V0RGlyLlwiKSxGaWxlXzBfaXNfbm90X3VuZGVyX3Jvb3REaXJfMV9yb290RGlyX2lzX2V4cGVjdGVkX3RvX2NvbnRhaW5fYWxsX3NvdXJjZV9maWxlczpyKDYwNTksMSxcIkZpbGVfMF9pc19ub3RfdW5kZXJfcm9vdERpcl8xX3Jvb3REaXJfaXNfZXhwZWN0ZWRfdG9fY29udGFpbl9hbGxfc291cmNlX2ZpbGVzXzYwNTlcIixcIkZpbGUgJ3swfScgaXMgbm90IHVuZGVyICdyb290RGlyJyAnezF9Jy4gJ3Jvb3REaXInIGlzIGV4cGVjdGVkIHRvIGNvbnRhaW4gYWxsIHNvdXJjZSBmaWxlcy5cIiksU3BlY2lmeV90aGVfZW5kX29mX2xpbmVfc2VxdWVuY2VfdG9fYmVfdXNlZF93aGVuX2VtaXR0aW5nX2ZpbGVzX0NvbG9uX0NSTEZfZG9zX29yX0xGX3VuaXg6cig2MDYwLDMsXCJTcGVjaWZ5X3RoZV9lbmRfb2ZfbGluZV9zZXF1ZW5jZV90b19iZV91c2VkX3doZW5fZW1pdHRpbmdfZmlsZXNfQ29sb25fQ1JMRl9kb3Nfb3JfTEZfdW5peF82MDYwXCIsXCJTcGVjaWZ5IHRoZSBlbmQgb2YgbGluZSBzZXF1ZW5jZSB0byBiZSB1c2VkIHdoZW4gZW1pdHRpbmcgZmlsZXM6ICdDUkxGJyAoZG9zKSBvciAnTEYnICh1bml4KS5cIiksTkVXTElORTpyKDYwNjEsMyxcIk5FV0xJTkVfNjA2MVwiLFwiTkVXTElORVwiKSxPcHRpb25fMF9jYW5fb25seV9iZV9zcGVjaWZpZWRfaW5fdHNjb25maWdfanNvbl9maWxlX29yX3NldF90b19udWxsX29uX2NvbW1hbmRfbGluZTpyKDYwNjQsMSxcIk9wdGlvbl8wX2Nhbl9vbmx5X2JlX3NwZWNpZmllZF9pbl90c2NvbmZpZ19qc29uX2ZpbGVfb3Jfc2V0X3RvX251bGxfb25fY29tbWFuZF9saW5lXzYwNjRcIixcIk9wdGlvbiAnezB9JyBjYW4gb25seSBiZSBzcGVjaWZpZWQgaW4gJ3RzY29uZmlnLmpzb24nIGZpbGUgb3Igc2V0IHRvICdudWxsJyBvbiBjb21tYW5kIGxpbmUuXCIpLEVuYWJsZXNfZXhwZXJpbWVudGFsX3N1cHBvcnRfZm9yX0VTN19kZWNvcmF0b3JzOnIoNjA2NSwzLFwiRW5hYmxlc19leHBlcmltZW50YWxfc3VwcG9ydF9mb3JfRVM3X2RlY29yYXRvcnNfNjA2NVwiLFwiRW5hYmxlcyBleHBlcmltZW50YWwgc3VwcG9ydCBmb3IgRVM3IGRlY29yYXRvcnMuXCIpLEVuYWJsZXNfZXhwZXJpbWVudGFsX3N1cHBvcnRfZm9yX2VtaXR0aW5nX3R5cGVfbWV0YWRhdGFfZm9yX2RlY29yYXRvcnM6cig2MDY2LDMsXCJFbmFibGVzX2V4cGVyaW1lbnRhbF9zdXBwb3J0X2Zvcl9lbWl0dGluZ190eXBlX21ldGFkYXRhX2Zvcl9kZWNvcmF0b3JzXzYwNjZcIixcIkVuYWJsZXMgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIGVtaXR0aW5nIHR5cGUgbWV0YWRhdGEgZm9yIGRlY29yYXRvcnMuXCIpLEluaXRpYWxpemVzX2FfVHlwZVNjcmlwdF9wcm9qZWN0X2FuZF9jcmVhdGVzX2FfdHNjb25maWdfanNvbl9maWxlOnIoNjA3MCwzLFwiSW5pdGlhbGl6ZXNfYV9UeXBlU2NyaXB0X3Byb2plY3RfYW5kX2NyZWF0ZXNfYV90c2NvbmZpZ19qc29uX2ZpbGVfNjA3MFwiLFwiSW5pdGlhbGl6ZXMgYSBUeXBlU2NyaXB0IHByb2plY3QgYW5kIGNyZWF0ZXMgYSB0c2NvbmZpZy5qc29uIGZpbGUuXCIpLFN1Y2Nlc3NmdWxseV9jcmVhdGVkX2FfdHNjb25maWdfanNvbl9maWxlOnIoNjA3MSwzLFwiU3VjY2Vzc2Z1bGx5X2NyZWF0ZWRfYV90c2NvbmZpZ19qc29uX2ZpbGVfNjA3MVwiLFwiU3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgYSB0c2NvbmZpZy5qc29uIGZpbGUuXCIpLFN1cHByZXNzX2V4Y2Vzc19wcm9wZXJ0eV9jaGVja3NfZm9yX29iamVjdF9saXRlcmFsczpyKDYwNzIsMyxcIlN1cHByZXNzX2V4Y2Vzc19wcm9wZXJ0eV9jaGVja3NfZm9yX29iamVjdF9saXRlcmFsc182MDcyXCIsXCJTdXBwcmVzcyBleGNlc3MgcHJvcGVydHkgY2hlY2tzIGZvciBvYmplY3QgbGl0ZXJhbHMuXCIpLFN0eWxpemVfZXJyb3JzX2FuZF9tZXNzYWdlc191c2luZ19jb2xvcl9hbmRfY29udGV4dF9leHBlcmltZW50YWw6cig2MDczLDMsXCJTdHlsaXplX2Vycm9yc19hbmRfbWVzc2FnZXNfdXNpbmdfY29sb3JfYW5kX2NvbnRleHRfZXhwZXJpbWVudGFsXzYwNzNcIixcIlN0eWxpemUgZXJyb3JzIGFuZCBtZXNzYWdlcyB1c2luZyBjb2xvciBhbmQgY29udGV4dCAoZXhwZXJpbWVudGFsKS5cIiksRG9fbm90X3JlcG9ydF9lcnJvcnNfb25fdW51c2VkX2xhYmVsczpyKDYwNzQsMyxcIkRvX25vdF9yZXBvcnRfZXJyb3JzX29uX3VudXNlZF9sYWJlbHNfNjA3NFwiLFwiRG8gbm90IHJlcG9ydCBlcnJvcnMgb24gdW51c2VkIGxhYmVscy5cIiksUmVwb3J0X2Vycm9yX3doZW5fbm90X2FsbF9jb2RlX3BhdGhzX2luX2Z1bmN0aW9uX3JldHVybl9hX3ZhbHVlOnIoNjA3NSwzLFwiUmVwb3J0X2Vycm9yX3doZW5fbm90X2FsbF9jb2RlX3BhdGhzX2luX2Z1bmN0aW9uX3JldHVybl9hX3ZhbHVlXzYwNzVcIixcIlJlcG9ydCBlcnJvciB3aGVuIG5vdCBhbGwgY29kZSBwYXRocyBpbiBmdW5jdGlvbiByZXR1cm4gYSB2YWx1ZS5cIiksUmVwb3J0X2Vycm9yc19mb3JfZmFsbHRocm91Z2hfY2FzZXNfaW5fc3dpdGNoX3N0YXRlbWVudDpyKDYwNzYsMyxcIlJlcG9ydF9lcnJvcnNfZm9yX2ZhbGx0aHJvdWdoX2Nhc2VzX2luX3N3aXRjaF9zdGF0ZW1lbnRfNjA3NlwiLFwiUmVwb3J0IGVycm9ycyBmb3IgZmFsbHRocm91Z2ggY2FzZXMgaW4gc3dpdGNoIHN0YXRlbWVudC5cIiksRG9fbm90X3JlcG9ydF9lcnJvcnNfb25fdW5yZWFjaGFibGVfY29kZTpyKDYwNzcsMyxcIkRvX25vdF9yZXBvcnRfZXJyb3JzX29uX3VucmVhY2hhYmxlX2NvZGVfNjA3N1wiLFwiRG8gbm90IHJlcG9ydCBlcnJvcnMgb24gdW5yZWFjaGFibGUgY29kZS5cIiksRGlzYWxsb3dfaW5jb25zaXN0ZW50bHlfY2FzZWRfcmVmZXJlbmNlc190b190aGVfc2FtZV9maWxlOnIoNjA3OCwzLFwiRGlzYWxsb3dfaW5jb25zaXN0ZW50bHlfY2FzZWRfcmVmZXJlbmNlc190b190aGVfc2FtZV9maWxlXzYwNzhcIixcIkRpc2FsbG93IGluY29uc2lzdGVudGx5LWNhc2VkIHJlZmVyZW5jZXMgdG8gdGhlIHNhbWUgZmlsZS5cIiksU3BlY2lmeV9saWJyYXJ5X2ZpbGVzX3RvX2JlX2luY2x1ZGVkX2luX3RoZV9jb21waWxhdGlvbjpyKDYwNzksMyxcIlNwZWNpZnlfbGlicmFyeV9maWxlc190b19iZV9pbmNsdWRlZF9pbl90aGVfY29tcGlsYXRpb25fNjA3OVwiLFwiU3BlY2lmeSBsaWJyYXJ5IGZpbGVzIHRvIGJlIGluY2x1ZGVkIGluIHRoZSBjb21waWxhdGlvbi5cIiksU3BlY2lmeV9KU1hfY29kZV9nZW5lcmF0aW9uOnIoNjA4MCwzLFwiU3BlY2lmeV9KU1hfY29kZV9nZW5lcmF0aW9uXzYwODBcIixcIlNwZWNpZnkgSlNYIGNvZGUgZ2VuZXJhdGlvbi5cIiksT25seV9hbWRfYW5kX3N5c3RlbV9tb2R1bGVzX2FyZV9zdXBwb3J0ZWRfYWxvbmdzaWRlXzA6cig2MDgyLDEsXCJPbmx5X2FtZF9hbmRfc3lzdGVtX21vZHVsZXNfYXJlX3N1cHBvcnRlZF9hbG9uZ3NpZGVfMF82MDgyXCIsXCJPbmx5ICdhbWQnIGFuZCAnc3lzdGVtJyBtb2R1bGVzIGFyZSBzdXBwb3J0ZWQgYWxvbmdzaWRlIC0tezB9LlwiKSxCYXNlX2RpcmVjdG9yeV90b19yZXNvbHZlX25vbl9hYnNvbHV0ZV9tb2R1bGVfbmFtZXM6cig2MDgzLDMsXCJCYXNlX2RpcmVjdG9yeV90b19yZXNvbHZlX25vbl9hYnNvbHV0ZV9tb2R1bGVfbmFtZXNfNjA4M1wiLFwiQmFzZSBkaXJlY3RvcnkgdG8gcmVzb2x2ZSBub24tYWJzb2x1dGUgbW9kdWxlIG5hbWVzLlwiKSxEZXByZWNhdGVkX1VzZV9qc3hGYWN0b3J5X2luc3RlYWRfU3BlY2lmeV90aGVfb2JqZWN0X2ludm9rZWRfZm9yX2NyZWF0ZUVsZW1lbnRfd2hlbl90YXJnZXRpbmdfcmVhY3RfSlNYX2VtaXQ6cig2MDg0LDMsXCJEZXByZWNhdGVkX1VzZV9qc3hGYWN0b3J5X2luc3RlYWRfU3BlY2lmeV90aGVfb2JqZWN0X2ludm9rZWRfZm9yX2NyZWF0ZUVsZW1lbnRfd2hlbl90YXJnZXRpbmdfcmVhY3RfXzYwODRcIixcIltEZXByZWNhdGVkXSBVc2UgJy0tanN4RmFjdG9yeScgaW5zdGVhZC4gU3BlY2lmeSB0aGUgb2JqZWN0IGludm9rZWQgZm9yIGNyZWF0ZUVsZW1lbnQgd2hlbiB0YXJnZXRpbmcgJ3JlYWN0JyBKU1ggZW1pdFwiKSxFbmFibGVfdHJhY2luZ19vZl90aGVfbmFtZV9yZXNvbHV0aW9uX3Byb2Nlc3M6cig2MDg1LDMsXCJFbmFibGVfdHJhY2luZ19vZl90aGVfbmFtZV9yZXNvbHV0aW9uX3Byb2Nlc3NfNjA4NVwiLFwiRW5hYmxlIHRyYWNpbmcgb2YgdGhlIG5hbWUgcmVzb2x1dGlvbiBwcm9jZXNzLlwiKSxSZXNvbHZpbmdfbW9kdWxlXzBfZnJvbV8xOnIoNjA4NiwzLFwiUmVzb2x2aW5nX21vZHVsZV8wX2Zyb21fMV82MDg2XCIsXCI9PT09PT09PSBSZXNvbHZpbmcgbW9kdWxlICd7MH0nIGZyb20gJ3sxfScuID09PT09PT09XCIpLEV4cGxpY2l0bHlfc3BlY2lmaWVkX21vZHVsZV9yZXNvbHV0aW9uX2tpbmRfQ29sb25fMDpyKDYwODcsMyxcIkV4cGxpY2l0bHlfc3BlY2lmaWVkX21vZHVsZV9yZXNvbHV0aW9uX2tpbmRfQ29sb25fMF82MDg3XCIsXCJFeHBsaWNpdGx5IHNwZWNpZmllZCBtb2R1bGUgcmVzb2x1dGlvbiBraW5kOiAnezB9Jy5cIiksTW9kdWxlX3Jlc29sdXRpb25fa2luZF9pc19ub3Rfc3BlY2lmaWVkX3VzaW5nXzA6cig2MDg4LDMsXCJNb2R1bGVfcmVzb2x1dGlvbl9raW5kX2lzX25vdF9zcGVjaWZpZWRfdXNpbmdfMF82MDg4XCIsXCJNb2R1bGUgcmVzb2x1dGlvbiBraW5kIGlzIG5vdCBzcGVjaWZpZWQsIHVzaW5nICd7MH0nLlwiKSxNb2R1bGVfbmFtZV8wX3dhc19zdWNjZXNzZnVsbHlfcmVzb2x2ZWRfdG9fMTpyKDYwODksMyxcIk1vZHVsZV9uYW1lXzBfd2FzX3N1Y2Nlc3NmdWxseV9yZXNvbHZlZF90b18xXzYwODlcIixcIj09PT09PT09IE1vZHVsZSBuYW1lICd7MH0nIHdhcyBzdWNjZXNzZnVsbHkgcmVzb2x2ZWQgdG8gJ3sxfScuID09PT09PT09XCIpLE1vZHVsZV9uYW1lXzBfd2FzX25vdF9yZXNvbHZlZDpyKDYwOTAsMyxcIk1vZHVsZV9uYW1lXzBfd2FzX25vdF9yZXNvbHZlZF82MDkwXCIsXCI9PT09PT09PSBNb2R1bGUgbmFtZSAnezB9JyB3YXMgbm90IHJlc29sdmVkLiA9PT09PT09PVwiKSxwYXRoc19vcHRpb25faXNfc3BlY2lmaWVkX2xvb2tpbmdfZm9yX2FfcGF0dGVybl90b19tYXRjaF9tb2R1bGVfbmFtZV8wOnIoNjA5MSwzLFwicGF0aHNfb3B0aW9uX2lzX3NwZWNpZmllZF9sb29raW5nX2Zvcl9hX3BhdHRlcm5fdG9fbWF0Y2hfbW9kdWxlX25hbWVfMF82MDkxXCIsXCIncGF0aHMnIG9wdGlvbiBpcyBzcGVjaWZpZWQsIGxvb2tpbmcgZm9yIGEgcGF0dGVybiB0byBtYXRjaCBtb2R1bGUgbmFtZSAnezB9Jy5cIiksTW9kdWxlX25hbWVfMF9tYXRjaGVkX3BhdHRlcm5fMTpyKDYwOTIsMyxcIk1vZHVsZV9uYW1lXzBfbWF0Y2hlZF9wYXR0ZXJuXzFfNjA5MlwiLFwiTW9kdWxlIG5hbWUgJ3swfScsIG1hdGNoZWQgcGF0dGVybiAnezF9Jy5cIiksVHJ5aW5nX3N1YnN0aXR1dGlvbl8wX2NhbmRpZGF0ZV9tb2R1bGVfbG9jYXRpb25fQ29sb25fMTpyKDYwOTMsMyxcIlRyeWluZ19zdWJzdGl0dXRpb25fMF9jYW5kaWRhdGVfbW9kdWxlX2xvY2F0aW9uX0NvbG9uXzFfNjA5M1wiLFwiVHJ5aW5nIHN1YnN0aXR1dGlvbiAnezB9JywgY2FuZGlkYXRlIG1vZHVsZSBsb2NhdGlvbjogJ3sxfScuXCIpLFJlc29sdmluZ19tb2R1bGVfbmFtZV8wX3JlbGF0aXZlX3RvX2Jhc2VfdXJsXzFfMjpyKDYwOTQsMyxcIlJlc29sdmluZ19tb2R1bGVfbmFtZV8wX3JlbGF0aXZlX3RvX2Jhc2VfdXJsXzFfMl82MDk0XCIsXCJSZXNvbHZpbmcgbW9kdWxlIG5hbWUgJ3swfScgcmVsYXRpdmUgdG8gYmFzZSB1cmwgJ3sxfScgLSAnezJ9Jy5cIiksTG9hZGluZ19tb2R1bGVfYXNfZmlsZV9TbGFzaF9mb2xkZXJfY2FuZGlkYXRlX21vZHVsZV9sb2NhdGlvbl8wX3RhcmdldF9maWxlX3R5cGVzX0NvbG9uXzE6cig2MDk1LDMsXCJMb2FkaW5nX21vZHVsZV9hc19maWxlX1NsYXNoX2ZvbGRlcl9jYW5kaWRhdGVfbW9kdWxlX2xvY2F0aW9uXzBfdGFyZ2V0X2ZpbGVfdHlwZXNfQ29sb25fMV82MDk1XCIsXCJMb2FkaW5nIG1vZHVsZSBhcyBmaWxlIC8gZm9sZGVyLCBjYW5kaWRhdGUgbW9kdWxlIGxvY2F0aW9uICd7MH0nLCB0YXJnZXQgZmlsZSB0eXBlczogezF9LlwiKSxGaWxlXzBfZG9lc19ub3RfZXhpc3Q6cig2MDk2LDMsXCJGaWxlXzBfZG9lc19ub3RfZXhpc3RfNjA5NlwiLFwiRmlsZSAnezB9JyBkb2VzIG5vdCBleGlzdC5cIiksRmlsZV8wX2V4aXN0c191c2VfaXRfYXNfYV9uYW1lX3Jlc29sdXRpb25fcmVzdWx0OnIoNjA5NywzLFwiRmlsZV8wX2V4aXN0c191c2VfaXRfYXNfYV9uYW1lX3Jlc29sdXRpb25fcmVzdWx0XzYwOTdcIixcIkZpbGUgJ3swfScgZXhpc3RzIC0gdXNlIGl0IGFzIGEgbmFtZSByZXNvbHV0aW9uIHJlc3VsdC5cIiksTG9hZGluZ19tb2R1bGVfMF9mcm9tX25vZGVfbW9kdWxlc19mb2xkZXJfdGFyZ2V0X2ZpbGVfdHlwZXNfQ29sb25fMTpyKDYwOTgsMyxcIkxvYWRpbmdfbW9kdWxlXzBfZnJvbV9ub2RlX21vZHVsZXNfZm9sZGVyX3RhcmdldF9maWxlX3R5cGVzX0NvbG9uXzFfNjA5OFwiLFwiTG9hZGluZyBtb2R1bGUgJ3swfScgZnJvbSAnbm9kZV9tb2R1bGVzJyBmb2xkZXIsIHRhcmdldCBmaWxlIHR5cGVzOiB7MX0uXCIpLEZvdW5kX3BhY2thZ2VfanNvbl9hdF8wOnIoNjA5OSwzLFwiRm91bmRfcGFja2FnZV9qc29uX2F0XzBfNjA5OVwiLFwiRm91bmQgJ3BhY2thZ2UuanNvbicgYXQgJ3swfScuXCIpLHBhY2thZ2VfanNvbl9kb2VzX25vdF9oYXZlX2FfMF9maWVsZDpyKDYxMDAsMyxcInBhY2thZ2VfanNvbl9kb2VzX25vdF9oYXZlX2FfMF9maWVsZF82MTAwXCIsXCIncGFja2FnZS5qc29uJyBkb2VzIG5vdCBoYXZlIGEgJ3swfScgZmllbGQuXCIpLHBhY2thZ2VfanNvbl9oYXNfMF9maWVsZF8xX3RoYXRfcmVmZXJlbmNlc18yOnIoNjEwMSwzLFwicGFja2FnZV9qc29uX2hhc18wX2ZpZWxkXzFfdGhhdF9yZWZlcmVuY2VzXzJfNjEwMVwiLFwiJ3BhY2thZ2UuanNvbicgaGFzICd7MH0nIGZpZWxkICd7MX0nIHRoYXQgcmVmZXJlbmNlcyAnezJ9Jy5cIiksQWxsb3dfamF2YXNjcmlwdF9maWxlc190b19iZV9jb21waWxlZDpyKDYxMDIsMyxcIkFsbG93X2phdmFzY3JpcHRfZmlsZXNfdG9fYmVfY29tcGlsZWRfNjEwMlwiLFwiQWxsb3cgamF2YXNjcmlwdCBmaWxlcyB0byBiZSBjb21waWxlZC5cIiksQ2hlY2tpbmdfaWZfMF9pc190aGVfbG9uZ2VzdF9tYXRjaGluZ19wcmVmaXhfZm9yXzFfMjpyKDYxMDQsMyxcIkNoZWNraW5nX2lmXzBfaXNfdGhlX2xvbmdlc3RfbWF0Y2hpbmdfcHJlZml4X2Zvcl8xXzJfNjEwNFwiLFwiQ2hlY2tpbmcgaWYgJ3swfScgaXMgdGhlIGxvbmdlc3QgbWF0Y2hpbmcgcHJlZml4IGZvciAnezF9JyAtICd7Mn0nLlwiKSxFeHBlY3RlZF90eXBlX29mXzBfZmllbGRfaW5fcGFja2FnZV9qc29uX3RvX2JlXzFfZ290XzI6cig2MTA1LDMsXCJFeHBlY3RlZF90eXBlX29mXzBfZmllbGRfaW5fcGFja2FnZV9qc29uX3RvX2JlXzFfZ290XzJfNjEwNVwiLFwiRXhwZWN0ZWQgdHlwZSBvZiAnezB9JyBmaWVsZCBpbiAncGFja2FnZS5qc29uJyB0byBiZSAnezF9JywgZ290ICd7Mn0nLlwiKSxiYXNlVXJsX29wdGlvbl9pc19zZXRfdG9fMF91c2luZ190aGlzX3ZhbHVlX3RvX3Jlc29sdmVfbm9uX3JlbGF0aXZlX21vZHVsZV9uYW1lXzE6cig2MTA2LDMsXCJiYXNlVXJsX29wdGlvbl9pc19zZXRfdG9fMF91c2luZ190aGlzX3ZhbHVlX3RvX3Jlc29sdmVfbm9uX3JlbGF0aXZlX21vZHVsZV9uYW1lXzFfNjEwNlwiLFwiJ2Jhc2VVcmwnIG9wdGlvbiBpcyBzZXQgdG8gJ3swfScsIHVzaW5nIHRoaXMgdmFsdWUgdG8gcmVzb2x2ZSBub24tcmVsYXRpdmUgbW9kdWxlIG5hbWUgJ3sxfScuXCIpLHJvb3REaXJzX29wdGlvbl9pc19zZXRfdXNpbmdfaXRfdG9fcmVzb2x2ZV9yZWxhdGl2ZV9tb2R1bGVfbmFtZV8wOnIoNjEwNywzLFwicm9vdERpcnNfb3B0aW9uX2lzX3NldF91c2luZ19pdF90b19yZXNvbHZlX3JlbGF0aXZlX21vZHVsZV9uYW1lXzBfNjEwN1wiLFwiJ3Jvb3REaXJzJyBvcHRpb24gaXMgc2V0LCB1c2luZyBpdCB0byByZXNvbHZlIHJlbGF0aXZlIG1vZHVsZSBuYW1lICd7MH0nLlwiKSxMb25nZXN0X21hdGNoaW5nX3ByZWZpeF9mb3JfMF9pc18xOnIoNjEwOCwzLFwiTG9uZ2VzdF9tYXRjaGluZ19wcmVmaXhfZm9yXzBfaXNfMV82MTA4XCIsXCJMb25nZXN0IG1hdGNoaW5nIHByZWZpeCBmb3IgJ3swfScgaXMgJ3sxfScuXCIpLExvYWRpbmdfMF9mcm9tX3RoZV9yb290X2Rpcl8xX2NhbmRpZGF0ZV9sb2NhdGlvbl8yOnIoNjEwOSwzLFwiTG9hZGluZ18wX2Zyb21fdGhlX3Jvb3RfZGlyXzFfY2FuZGlkYXRlX2xvY2F0aW9uXzJfNjEwOVwiLFwiTG9hZGluZyAnezB9JyBmcm9tIHRoZSByb290IGRpciAnezF9JywgY2FuZGlkYXRlIGxvY2F0aW9uICd7Mn0nLlwiKSxUcnlpbmdfb3RoZXJfZW50cmllc19pbl9yb290RGlyczpyKDYxMTAsMyxcIlRyeWluZ19vdGhlcl9lbnRyaWVzX2luX3Jvb3REaXJzXzYxMTBcIixcIlRyeWluZyBvdGhlciBlbnRyaWVzIGluICdyb290RGlycycuXCIpLE1vZHVsZV9yZXNvbHV0aW9uX3VzaW5nX3Jvb3REaXJzX2hhc19mYWlsZWQ6cig2MTExLDMsXCJNb2R1bGVfcmVzb2x1dGlvbl91c2luZ19yb290RGlyc19oYXNfZmFpbGVkXzYxMTFcIixcIk1vZHVsZSByZXNvbHV0aW9uIHVzaW5nICdyb290RGlycycgaGFzIGZhaWxlZC5cIiksRG9fbm90X2VtaXRfdXNlX3N0cmljdF9kaXJlY3RpdmVzX2luX21vZHVsZV9vdXRwdXQ6cig2MTEyLDMsXCJEb19ub3RfZW1pdF91c2Vfc3RyaWN0X2RpcmVjdGl2ZXNfaW5fbW9kdWxlX291dHB1dF82MTEyXCIsXCJEbyBub3QgZW1pdCAndXNlIHN0cmljdCcgZGlyZWN0aXZlcyBpbiBtb2R1bGUgb3V0cHV0LlwiKSxFbmFibGVfc3RyaWN0X251bGxfY2hlY2tzOnIoNjExMywzLFwiRW5hYmxlX3N0cmljdF9udWxsX2NoZWNrc182MTEzXCIsXCJFbmFibGUgc3RyaWN0IG51bGwgY2hlY2tzLlwiKSxVbmtub3duX29wdGlvbl9leGNsdWRlc19EaWRfeW91X21lYW5fZXhjbHVkZTpyKDYxMTQsMSxcIlVua25vd25fb3B0aW9uX2V4Y2x1ZGVzX0RpZF95b3VfbWVhbl9leGNsdWRlXzYxMTRcIixcIlVua25vd24gb3B0aW9uICdleGNsdWRlcycuIERpZCB5b3UgbWVhbiAnZXhjbHVkZSc/XCIpLFJhaXNlX2Vycm9yX29uX3RoaXNfZXhwcmVzc2lvbnNfd2l0aF9hbl9pbXBsaWVkX2FueV90eXBlOnIoNjExNSwzLFwiUmFpc2VfZXJyb3Jfb25fdGhpc19leHByZXNzaW9uc193aXRoX2FuX2ltcGxpZWRfYW55X3R5cGVfNjExNVwiLFwiUmFpc2UgZXJyb3Igb24gJ3RoaXMnIGV4cHJlc3Npb25zIHdpdGggYW4gaW1wbGllZCAnYW55JyB0eXBlLlwiKSxSZXNvbHZpbmdfdHlwZV9yZWZlcmVuY2VfZGlyZWN0aXZlXzBfY29udGFpbmluZ19maWxlXzFfcm9vdF9kaXJlY3RvcnlfMjpyKDYxMTYsMyxcIlJlc29sdmluZ190eXBlX3JlZmVyZW5jZV9kaXJlY3RpdmVfMF9jb250YWluaW5nX2ZpbGVfMV9yb290X2RpcmVjdG9yeV8yXzYxMTZcIixcIj09PT09PT09IFJlc29sdmluZyB0eXBlIHJlZmVyZW5jZSBkaXJlY3RpdmUgJ3swfScsIGNvbnRhaW5pbmcgZmlsZSAnezF9Jywgcm9vdCBkaXJlY3RvcnkgJ3syfScuID09PT09PT09XCIpLFR5cGVfcmVmZXJlbmNlX2RpcmVjdGl2ZV8wX3dhc19zdWNjZXNzZnVsbHlfcmVzb2x2ZWRfdG9fMV9wcmltYXJ5X0NvbG9uXzI6cig2MTE5LDMsXCJUeXBlX3JlZmVyZW5jZV9kaXJlY3RpdmVfMF93YXNfc3VjY2Vzc2Z1bGx5X3Jlc29sdmVkX3RvXzFfcHJpbWFyeV9Db2xvbl8yXzYxMTlcIixcIj09PT09PT09IFR5cGUgcmVmZXJlbmNlIGRpcmVjdGl2ZSAnezB9JyB3YXMgc3VjY2Vzc2Z1bGx5IHJlc29sdmVkIHRvICd7MX0nLCBwcmltYXJ5OiB7Mn0uID09PT09PT09XCIpLFR5cGVfcmVmZXJlbmNlX2RpcmVjdGl2ZV8wX3dhc19ub3RfcmVzb2x2ZWQ6cig2MTIwLDMsXCJUeXBlX3JlZmVyZW5jZV9kaXJlY3RpdmVfMF93YXNfbm90X3Jlc29sdmVkXzYxMjBcIixcIj09PT09PT09IFR5cGUgcmVmZXJlbmNlIGRpcmVjdGl2ZSAnezB9JyB3YXMgbm90IHJlc29sdmVkLiA9PT09PT09PVwiKSxSZXNvbHZpbmdfd2l0aF9wcmltYXJ5X3NlYXJjaF9wYXRoXzA6cig2MTIxLDMsXCJSZXNvbHZpbmdfd2l0aF9wcmltYXJ5X3NlYXJjaF9wYXRoXzBfNjEyMVwiLFwiUmVzb2x2aW5nIHdpdGggcHJpbWFyeSBzZWFyY2ggcGF0aCAnezB9Jy5cIiksUm9vdF9kaXJlY3RvcnlfY2Fubm90X2JlX2RldGVybWluZWRfc2tpcHBpbmdfcHJpbWFyeV9zZWFyY2hfcGF0aHM6cig2MTIyLDMsXCJSb290X2RpcmVjdG9yeV9jYW5ub3RfYmVfZGV0ZXJtaW5lZF9za2lwcGluZ19wcmltYXJ5X3NlYXJjaF9wYXRoc182MTIyXCIsXCJSb290IGRpcmVjdG9yeSBjYW5ub3QgYmUgZGV0ZXJtaW5lZCwgc2tpcHBpbmcgcHJpbWFyeSBzZWFyY2ggcGF0aHMuXCIpLFJlc29sdmluZ190eXBlX3JlZmVyZW5jZV9kaXJlY3RpdmVfMF9jb250YWluaW5nX2ZpbGVfMV9yb290X2RpcmVjdG9yeV9ub3Rfc2V0OnIoNjEyMywzLFwiUmVzb2x2aW5nX3R5cGVfcmVmZXJlbmNlX2RpcmVjdGl2ZV8wX2NvbnRhaW5pbmdfZmlsZV8xX3Jvb3RfZGlyZWN0b3J5X25vdF9zZXRfNjEyM1wiLFwiPT09PT09PT0gUmVzb2x2aW5nIHR5cGUgcmVmZXJlbmNlIGRpcmVjdGl2ZSAnezB9JywgY29udGFpbmluZyBmaWxlICd7MX0nLCByb290IGRpcmVjdG9yeSBub3Qgc2V0LiA9PT09PT09PVwiKSxUeXBlX2RlY2xhcmF0aW9uX2ZpbGVzX3RvX2JlX2luY2x1ZGVkX2luX2NvbXBpbGF0aW9uOnIoNjEyNCwzLFwiVHlwZV9kZWNsYXJhdGlvbl9maWxlc190b19iZV9pbmNsdWRlZF9pbl9jb21waWxhdGlvbl82MTI0XCIsXCJUeXBlIGRlY2xhcmF0aW9uIGZpbGVzIHRvIGJlIGluY2x1ZGVkIGluIGNvbXBpbGF0aW9uLlwiKSxMb29raW5nX3VwX2luX25vZGVfbW9kdWxlc19mb2xkZXJfaW5pdGlhbF9sb2NhdGlvbl8wOnIoNjEyNSwzLFwiTG9va2luZ191cF9pbl9ub2RlX21vZHVsZXNfZm9sZGVyX2luaXRpYWxfbG9jYXRpb25fMF82MTI1XCIsXCJMb29raW5nIHVwIGluICdub2RlX21vZHVsZXMnIGZvbGRlciwgaW5pdGlhbCBsb2NhdGlvbiAnezB9Jy5cIiksQ29udGFpbmluZ19maWxlX2lzX25vdF9zcGVjaWZpZWRfYW5kX3Jvb3RfZGlyZWN0b3J5X2Nhbm5vdF9iZV9kZXRlcm1pbmVkX3NraXBwaW5nX2xvb2t1cF9pbl9ub2RlX21vZHVsZXNfZm9sZGVyOnIoNjEyNiwzLFwiQ29udGFpbmluZ19maWxlX2lzX25vdF9zcGVjaWZpZWRfYW5kX3Jvb3RfZGlyZWN0b3J5X2Nhbm5vdF9iZV9kZXRlcm1pbmVkX3NraXBwaW5nX2xvb2t1cF9pbl9ub2RlX21vZF82MTI2XCIsXCJDb250YWluaW5nIGZpbGUgaXMgbm90IHNwZWNpZmllZCBhbmQgcm9vdCBkaXJlY3RvcnkgY2Fubm90IGJlIGRldGVybWluZWQsIHNraXBwaW5nIGxvb2t1cCBpbiAnbm9kZV9tb2R1bGVzJyBmb2xkZXIuXCIpLFJlc29sdmluZ190eXBlX3JlZmVyZW5jZV9kaXJlY3RpdmVfMF9jb250YWluaW5nX2ZpbGVfbm90X3NldF9yb290X2RpcmVjdG9yeV8xOnIoNjEyNywzLFwiUmVzb2x2aW5nX3R5cGVfcmVmZXJlbmNlX2RpcmVjdGl2ZV8wX2NvbnRhaW5pbmdfZmlsZV9ub3Rfc2V0X3Jvb3RfZGlyZWN0b3J5XzFfNjEyN1wiLFwiPT09PT09PT0gUmVzb2x2aW5nIHR5cGUgcmVmZXJlbmNlIGRpcmVjdGl2ZSAnezB9JywgY29udGFpbmluZyBmaWxlIG5vdCBzZXQsIHJvb3QgZGlyZWN0b3J5ICd7MX0nLiA9PT09PT09PVwiKSxSZXNvbHZpbmdfdHlwZV9yZWZlcmVuY2VfZGlyZWN0aXZlXzBfY29udGFpbmluZ19maWxlX25vdF9zZXRfcm9vdF9kaXJlY3Rvcnlfbm90X3NldDpyKDYxMjgsMyxcIlJlc29sdmluZ190eXBlX3JlZmVyZW5jZV9kaXJlY3RpdmVfMF9jb250YWluaW5nX2ZpbGVfbm90X3NldF9yb290X2RpcmVjdG9yeV9ub3Rfc2V0XzYxMjhcIixcIj09PT09PT09IFJlc29sdmluZyB0eXBlIHJlZmVyZW5jZSBkaXJlY3RpdmUgJ3swfScsIGNvbnRhaW5pbmcgZmlsZSBub3Qgc2V0LCByb290IGRpcmVjdG9yeSBub3Qgc2V0LiA9PT09PT09PVwiKSxSZXNvbHZpbmdfcmVhbF9wYXRoX2Zvcl8wX3Jlc3VsdF8xOnIoNjEzMCwzLFwiUmVzb2x2aW5nX3JlYWxfcGF0aF9mb3JfMF9yZXN1bHRfMV82MTMwXCIsXCJSZXNvbHZpbmcgcmVhbCBwYXRoIGZvciAnezB9JywgcmVzdWx0ICd7MX0nLlwiKSxDYW5ub3RfY29tcGlsZV9tb2R1bGVzX3VzaW5nX29wdGlvbl8wX3VubGVzc190aGVfbW9kdWxlX2ZsYWdfaXNfYW1kX29yX3N5c3RlbTpyKDYxMzEsMSxcIkNhbm5vdF9jb21waWxlX21vZHVsZXNfdXNpbmdfb3B0aW9uXzBfdW5sZXNzX3RoZV9tb2R1bGVfZmxhZ19pc19hbWRfb3Jfc3lzdGVtXzYxMzFcIixcIkNhbm5vdCBjb21waWxlIG1vZHVsZXMgdXNpbmcgb3B0aW9uICd7MH0nIHVubGVzcyB0aGUgJy0tbW9kdWxlJyBmbGFnIGlzICdhbWQnIG9yICdzeXN0ZW0nLlwiKSxGaWxlX25hbWVfMF9oYXNfYV8xX2V4dGVuc2lvbl9zdHJpcHBpbmdfaXQ6cig2MTMyLDMsXCJGaWxlX25hbWVfMF9oYXNfYV8xX2V4dGVuc2lvbl9zdHJpcHBpbmdfaXRfNjEzMlwiLFwiRmlsZSBuYW1lICd7MH0nIGhhcyBhICd7MX0nIGV4dGVuc2lvbiAtIHN0cmlwcGluZyBpdC5cIiksXzBfaXNfZGVjbGFyZWRfYnV0X2l0c192YWx1ZV9pc19uZXZlcl9yZWFkOnIoNjEzMywxLFwiXzBfaXNfZGVjbGFyZWRfYnV0X2l0c192YWx1ZV9pc19uZXZlcl9yZWFkXzYxMzNcIixcIid7MH0nIGlzIGRlY2xhcmVkIGJ1dCBpdHMgdmFsdWUgaXMgbmV2ZXIgcmVhZC5cIiwhMCksUmVwb3J0X2Vycm9yc19vbl91bnVzZWRfbG9jYWxzOnIoNjEzNCwzLFwiUmVwb3J0X2Vycm9yc19vbl91bnVzZWRfbG9jYWxzXzYxMzRcIixcIlJlcG9ydCBlcnJvcnMgb24gdW51c2VkIGxvY2Fscy5cIiksUmVwb3J0X2Vycm9yc19vbl91bnVzZWRfcGFyYW1ldGVyczpyKDYxMzUsMyxcIlJlcG9ydF9lcnJvcnNfb25fdW51c2VkX3BhcmFtZXRlcnNfNjEzNVwiLFwiUmVwb3J0IGVycm9ycyBvbiB1bnVzZWQgcGFyYW1ldGVycy5cIiksVGhlX21heGltdW1fZGVwZW5kZW5jeV9kZXB0aF90b19zZWFyY2hfdW5kZXJfbm9kZV9tb2R1bGVzX2FuZF9sb2FkX0phdmFTY3JpcHRfZmlsZXM6cig2MTM2LDMsXCJUaGVfbWF4aW11bV9kZXBlbmRlbmN5X2RlcHRoX3RvX3NlYXJjaF91bmRlcl9ub2RlX21vZHVsZXNfYW5kX2xvYWRfSmF2YVNjcmlwdF9maWxlc182MTM2XCIsXCJUaGUgbWF4aW11bSBkZXBlbmRlbmN5IGRlcHRoIHRvIHNlYXJjaCB1bmRlciBub2RlX21vZHVsZXMgYW5kIGxvYWQgSmF2YVNjcmlwdCBmaWxlcy5cIiksQ2Fubm90X2ltcG9ydF90eXBlX2RlY2xhcmF0aW9uX2ZpbGVzX0NvbnNpZGVyX2ltcG9ydGluZ18wX2luc3RlYWRfb2ZfMTpyKDYxMzcsMSxcIkNhbm5vdF9pbXBvcnRfdHlwZV9kZWNsYXJhdGlvbl9maWxlc19Db25zaWRlcl9pbXBvcnRpbmdfMF9pbnN0ZWFkX29mXzFfNjEzN1wiLFwiQ2Fubm90IGltcG9ydCB0eXBlIGRlY2xhcmF0aW9uIGZpbGVzLiBDb25zaWRlciBpbXBvcnRpbmcgJ3swfScgaW5zdGVhZCBvZiAnezF9Jy5cIiksUHJvcGVydHlfMF9pc19kZWNsYXJlZF9idXRfaXRzX3ZhbHVlX2lzX25ldmVyX3JlYWQ6cig2MTM4LDEsXCJQcm9wZXJ0eV8wX2lzX2RlY2xhcmVkX2J1dF9pdHNfdmFsdWVfaXNfbmV2ZXJfcmVhZF82MTM4XCIsXCJQcm9wZXJ0eSAnezB9JyBpcyBkZWNsYXJlZCBidXQgaXRzIHZhbHVlIGlzIG5ldmVyIHJlYWQuXCIsITApLEltcG9ydF9lbWl0X2hlbHBlcnNfZnJvbV90c2xpYjpyKDYxMzksMyxcIkltcG9ydF9lbWl0X2hlbHBlcnNfZnJvbV90c2xpYl82MTM5XCIsXCJJbXBvcnQgZW1pdCBoZWxwZXJzIGZyb20gJ3RzbGliJy5cIiksQXV0b19kaXNjb3ZlcnlfZm9yX3R5cGluZ3NfaXNfZW5hYmxlZF9pbl9wcm9qZWN0XzBfUnVubmluZ19leHRyYV9yZXNvbHV0aW9uX3Bhc3NfZm9yX21vZHVsZV8xX3VzaW5nX2NhY2hlX2xvY2F0aW9uXzI6cig2MTQwLDEsXCJBdXRvX2Rpc2NvdmVyeV9mb3JfdHlwaW5nc19pc19lbmFibGVkX2luX3Byb2plY3RfMF9SdW5uaW5nX2V4dHJhX3Jlc29sdXRpb25fcGFzc19mb3JfbW9kdWxlXzFfdXNpbmdfXzYxNDBcIixcIkF1dG8gZGlzY292ZXJ5IGZvciB0eXBpbmdzIGlzIGVuYWJsZWQgaW4gcHJvamVjdCAnezB9Jy4gUnVubmluZyBleHRyYSByZXNvbHV0aW9uIHBhc3MgZm9yIG1vZHVsZSAnezF9JyB1c2luZyBjYWNoZSBsb2NhdGlvbiAnezJ9Jy5cIiksUGFyc2VfaW5fc3RyaWN0X21vZGVfYW5kX2VtaXRfdXNlX3N0cmljdF9mb3JfZWFjaF9zb3VyY2VfZmlsZTpyKDYxNDEsMyxcIlBhcnNlX2luX3N0cmljdF9tb2RlX2FuZF9lbWl0X3VzZV9zdHJpY3RfZm9yX2VhY2hfc291cmNlX2ZpbGVfNjE0MVwiLCdQYXJzZSBpbiBzdHJpY3QgbW9kZSBhbmQgZW1pdCBcInVzZSBzdHJpY3RcIiBmb3IgZWFjaCBzb3VyY2UgZmlsZS4nKSxNb2R1bGVfMF93YXNfcmVzb2x2ZWRfdG9fMV9idXRfanN4X2lzX25vdF9zZXQ6cig2MTQyLDEsXCJNb2R1bGVfMF93YXNfcmVzb2x2ZWRfdG9fMV9idXRfanN4X2lzX25vdF9zZXRfNjE0MlwiLFwiTW9kdWxlICd7MH0nIHdhcyByZXNvbHZlZCB0byAnezF9JywgYnV0ICctLWpzeCcgaXMgbm90IHNldC5cIiksTW9kdWxlXzBfd2FzX3Jlc29sdmVkX2FzX2xvY2FsbHlfZGVjbGFyZWRfYW1iaWVudF9tb2R1bGVfaW5fZmlsZV8xOnIoNjE0NCwzLFwiTW9kdWxlXzBfd2FzX3Jlc29sdmVkX2FzX2xvY2FsbHlfZGVjbGFyZWRfYW1iaWVudF9tb2R1bGVfaW5fZmlsZV8xXzYxNDRcIixcIk1vZHVsZSAnezB9JyB3YXMgcmVzb2x2ZWQgYXMgbG9jYWxseSBkZWNsYXJlZCBhbWJpZW50IG1vZHVsZSBpbiBmaWxlICd7MX0nLlwiKSxTcGVjaWZ5X3RoZV9KU1hfZmFjdG9yeV9mdW5jdGlvbl90b191c2Vfd2hlbl90YXJnZXRpbmdfcmVhY3RfSlNYX2VtaXRfZV9nX1JlYWN0X2NyZWF0ZUVsZW1lbnRfb3JfaDpyKDYxNDYsMyxcIlNwZWNpZnlfdGhlX0pTWF9mYWN0b3J5X2Z1bmN0aW9uX3RvX3VzZV93aGVuX3RhcmdldGluZ19yZWFjdF9KU1hfZW1pdF9lX2dfUmVhY3RfY3JlYXRlRWxlbWVudF9vcl9oXzYxNDZcIixcIlNwZWNpZnkgdGhlIEpTWCBmYWN0b3J5IGZ1bmN0aW9uIHRvIHVzZSB3aGVuIHRhcmdldGluZyAncmVhY3QnIEpTWCBlbWl0LCBlLmcuICdSZWFjdC5jcmVhdGVFbGVtZW50JyBvciAnaCcuXCIpLFJlc29sdXRpb25fZm9yX21vZHVsZV8wX3dhc19mb3VuZF9pbl9jYWNoZV9mcm9tX2xvY2F0aW9uXzE6cig2MTQ3LDMsXCJSZXNvbHV0aW9uX2Zvcl9tb2R1bGVfMF93YXNfZm91bmRfaW5fY2FjaGVfZnJvbV9sb2NhdGlvbl8xXzYxNDdcIixcIlJlc29sdXRpb24gZm9yIG1vZHVsZSAnezB9JyB3YXMgZm91bmQgaW4gY2FjaGUgZnJvbSBsb2NhdGlvbiAnezF9Jy5cIiksRGlyZWN0b3J5XzBfZG9lc19ub3RfZXhpc3Rfc2tpcHBpbmdfYWxsX2xvb2t1cHNfaW5faXQ6cig2MTQ4LDMsXCJEaXJlY3RvcnlfMF9kb2VzX25vdF9leGlzdF9za2lwcGluZ19hbGxfbG9va3Vwc19pbl9pdF82MTQ4XCIsXCJEaXJlY3RvcnkgJ3swfScgZG9lcyBub3QgZXhpc3QsIHNraXBwaW5nIGFsbCBsb29rdXBzIGluIGl0LlwiKSxTaG93X2RpYWdub3N0aWNfaW5mb3JtYXRpb246cig2MTQ5LDMsXCJTaG93X2RpYWdub3N0aWNfaW5mb3JtYXRpb25fNjE0OVwiLFwiU2hvdyBkaWFnbm9zdGljIGluZm9ybWF0aW9uLlwiKSxTaG93X3ZlcmJvc2VfZGlhZ25vc3RpY19pbmZvcm1hdGlvbjpyKDYxNTAsMyxcIlNob3dfdmVyYm9zZV9kaWFnbm9zdGljX2luZm9ybWF0aW9uXzYxNTBcIixcIlNob3cgdmVyYm9zZSBkaWFnbm9zdGljIGluZm9ybWF0aW9uLlwiKSxFbWl0X2Ffc2luZ2xlX2ZpbGVfd2l0aF9zb3VyY2VfbWFwc19pbnN0ZWFkX29mX2hhdmluZ19hX3NlcGFyYXRlX2ZpbGU6cig2MTUxLDMsXCJFbWl0X2Ffc2luZ2xlX2ZpbGVfd2l0aF9zb3VyY2VfbWFwc19pbnN0ZWFkX29mX2hhdmluZ19hX3NlcGFyYXRlX2ZpbGVfNjE1MVwiLFwiRW1pdCBhIHNpbmdsZSBmaWxlIHdpdGggc291cmNlIG1hcHMgaW5zdGVhZCBvZiBoYXZpbmcgYSBzZXBhcmF0ZSBmaWxlLlwiKSxFbWl0X3RoZV9zb3VyY2VfYWxvbmdzaWRlX3RoZV9zb3VyY2VtYXBzX3dpdGhpbl9hX3NpbmdsZV9maWxlX3JlcXVpcmVzX2lubGluZVNvdXJjZU1hcF9vcl9zb3VyY2VNYXBfdG9fYmVfc2V0OnIoNjE1MiwzLFwiRW1pdF90aGVfc291cmNlX2Fsb25nc2lkZV90aGVfc291cmNlbWFwc193aXRoaW5fYV9zaW5nbGVfZmlsZV9yZXF1aXJlc19pbmxpbmVTb3VyY2VNYXBfb3Jfc291cmNlTWFwX182MTUyXCIsXCJFbWl0IHRoZSBzb3VyY2UgYWxvbmdzaWRlIHRoZSBzb3VyY2VtYXBzIHdpdGhpbiBhIHNpbmdsZSBmaWxlOyByZXF1aXJlcyAnLS1pbmxpbmVTb3VyY2VNYXAnIG9yICctLXNvdXJjZU1hcCcgdG8gYmUgc2V0LlwiKSxUcmFuc3BpbGVfZWFjaF9maWxlX2FzX2Ffc2VwYXJhdGVfbW9kdWxlX3NpbWlsYXJfdG9fdHNfdHJhbnNwaWxlTW9kdWxlOnIoNjE1MywzLFwiVHJhbnNwaWxlX2VhY2hfZmlsZV9hc19hX3NlcGFyYXRlX21vZHVsZV9zaW1pbGFyX3RvX3RzX3RyYW5zcGlsZU1vZHVsZV82MTUzXCIsXCJUcmFuc3BpbGUgZWFjaCBmaWxlIGFzIGEgc2VwYXJhdGUgbW9kdWxlIChzaW1pbGFyIHRvICd0cy50cmFuc3BpbGVNb2R1bGUnKS5cIiksUHJpbnRfbmFtZXNfb2ZfZ2VuZXJhdGVkX2ZpbGVzX3BhcnRfb2ZfdGhlX2NvbXBpbGF0aW9uOnIoNjE1NCwzLFwiUHJpbnRfbmFtZXNfb2ZfZ2VuZXJhdGVkX2ZpbGVzX3BhcnRfb2ZfdGhlX2NvbXBpbGF0aW9uXzYxNTRcIixcIlByaW50IG5hbWVzIG9mIGdlbmVyYXRlZCBmaWxlcyBwYXJ0IG9mIHRoZSBjb21waWxhdGlvbi5cIiksUHJpbnRfbmFtZXNfb2ZfZmlsZXNfcGFydF9vZl90aGVfY29tcGlsYXRpb246cig2MTU1LDMsXCJQcmludF9uYW1lc19vZl9maWxlc19wYXJ0X29mX3RoZV9jb21waWxhdGlvbl82MTU1XCIsXCJQcmludCBuYW1lcyBvZiBmaWxlcyBwYXJ0IG9mIHRoZSBjb21waWxhdGlvbi5cIiksVGhlX2xvY2FsZV91c2VkX3doZW5fZGlzcGxheWluZ19tZXNzYWdlc190b190aGVfdXNlcl9lX2dfZW5fdXM6cig2MTU2LDMsXCJUaGVfbG9jYWxlX3VzZWRfd2hlbl9kaXNwbGF5aW5nX21lc3NhZ2VzX3RvX3RoZV91c2VyX2VfZ19lbl91c182MTU2XCIsXCJUaGUgbG9jYWxlIHVzZWQgd2hlbiBkaXNwbGF5aW5nIG1lc3NhZ2VzIHRvIHRoZSB1c2VyIChlLmcuICdlbi11cycpXCIpLERvX25vdF9nZW5lcmF0ZV9jdXN0b21faGVscGVyX2Z1bmN0aW9uc19saWtlX2V4dGVuZHNfaW5fY29tcGlsZWRfb3V0cHV0OnIoNjE1NywzLFwiRG9fbm90X2dlbmVyYXRlX2N1c3RvbV9oZWxwZXJfZnVuY3Rpb25zX2xpa2VfZXh0ZW5kc19pbl9jb21waWxlZF9vdXRwdXRfNjE1N1wiLFwiRG8gbm90IGdlbmVyYXRlIGN1c3RvbSBoZWxwZXIgZnVuY3Rpb25zIGxpa2UgJ19fZXh0ZW5kcycgaW4gY29tcGlsZWQgb3V0cHV0LlwiKSxEb19ub3RfaW5jbHVkZV90aGVfZGVmYXVsdF9saWJyYXJ5X2ZpbGVfbGliX2RfdHM6cig2MTU4LDMsXCJEb19ub3RfaW5jbHVkZV90aGVfZGVmYXVsdF9saWJyYXJ5X2ZpbGVfbGliX2RfdHNfNjE1OFwiLFwiRG8gbm90IGluY2x1ZGUgdGhlIGRlZmF1bHQgbGlicmFyeSBmaWxlIChsaWIuZC50cykuXCIpLERvX25vdF9hZGRfdHJpcGxlX3NsYXNoX3JlZmVyZW5jZXNfb3JfaW1wb3J0ZWRfbW9kdWxlc190b190aGVfbGlzdF9vZl9jb21waWxlZF9maWxlczpyKDYxNTksMyxcIkRvX25vdF9hZGRfdHJpcGxlX3NsYXNoX3JlZmVyZW5jZXNfb3JfaW1wb3J0ZWRfbW9kdWxlc190b190aGVfbGlzdF9vZl9jb21waWxlZF9maWxlc182MTU5XCIsXCJEbyBub3QgYWRkIHRyaXBsZS1zbGFzaCByZWZlcmVuY2VzIG9yIGltcG9ydGVkIG1vZHVsZXMgdG8gdGhlIGxpc3Qgb2YgY29tcGlsZWQgZmlsZXMuXCIpLERlcHJlY2F0ZWRfVXNlX3NraXBMaWJDaGVja19pbnN0ZWFkX1NraXBfdHlwZV9jaGVja2luZ19vZl9kZWZhdWx0X2xpYnJhcnlfZGVjbGFyYXRpb25fZmlsZXM6cig2MTYwLDMsXCJEZXByZWNhdGVkX1VzZV9za2lwTGliQ2hlY2tfaW5zdGVhZF9Ta2lwX3R5cGVfY2hlY2tpbmdfb2ZfZGVmYXVsdF9saWJyYXJ5X2RlY2xhcmF0aW9uX2ZpbGVzXzYxNjBcIixcIltEZXByZWNhdGVkXSBVc2UgJy0tc2tpcExpYkNoZWNrJyBpbnN0ZWFkLiBTa2lwIHR5cGUgY2hlY2tpbmcgb2YgZGVmYXVsdCBsaWJyYXJ5IGRlY2xhcmF0aW9uIGZpbGVzLlwiKSxMaXN0X29mX2ZvbGRlcnNfdG9faW5jbHVkZV90eXBlX2RlZmluaXRpb25zX2Zyb206cig2MTYxLDMsXCJMaXN0X29mX2ZvbGRlcnNfdG9faW5jbHVkZV90eXBlX2RlZmluaXRpb25zX2Zyb21fNjE2MVwiLFwiTGlzdCBvZiBmb2xkZXJzIHRvIGluY2x1ZGUgdHlwZSBkZWZpbml0aW9ucyBmcm9tLlwiKSxEaXNhYmxlX3NpemVfbGltaXRhdGlvbnNfb25fSmF2YVNjcmlwdF9wcm9qZWN0czpyKDYxNjIsMyxcIkRpc2FibGVfc2l6ZV9saW1pdGF0aW9uc19vbl9KYXZhU2NyaXB0X3Byb2plY3RzXzYxNjJcIixcIkRpc2FibGUgc2l6ZSBsaW1pdGF0aW9ucyBvbiBKYXZhU2NyaXB0IHByb2plY3RzLlwiKSxUaGVfY2hhcmFjdGVyX3NldF9vZl90aGVfaW5wdXRfZmlsZXM6cig2MTYzLDMsXCJUaGVfY2hhcmFjdGVyX3NldF9vZl90aGVfaW5wdXRfZmlsZXNfNjE2M1wiLFwiVGhlIGNoYXJhY3RlciBzZXQgb2YgdGhlIGlucHV0IGZpbGVzLlwiKSxTa2lwcGluZ19tb2R1bGVfMF90aGF0X2xvb2tzX2xpa2VfYW5fYWJzb2x1dGVfVVJJX3RhcmdldF9maWxlX3R5cGVzX0NvbG9uXzE6cig2MTY0LDMsXCJTa2lwcGluZ19tb2R1bGVfMF90aGF0X2xvb2tzX2xpa2VfYW5fYWJzb2x1dGVfVVJJX3RhcmdldF9maWxlX3R5cGVzX0NvbG9uXzFfNjE2NFwiLFwiU2tpcHBpbmcgbW9kdWxlICd7MH0nIHRoYXQgbG9va3MgbGlrZSBhbiBhYnNvbHV0ZSBVUkksIHRhcmdldCBmaWxlIHR5cGVzOiB7MX0uXCIpLERvX25vdF90cnVuY2F0ZV9lcnJvcl9tZXNzYWdlczpyKDYxNjUsMyxcIkRvX25vdF90cnVuY2F0ZV9lcnJvcl9tZXNzYWdlc182MTY1XCIsXCJEbyBub3QgdHJ1bmNhdGUgZXJyb3IgbWVzc2FnZXMuXCIpLE91dHB1dF9kaXJlY3RvcnlfZm9yX2dlbmVyYXRlZF9kZWNsYXJhdGlvbl9maWxlczpyKDYxNjYsMyxcIk91dHB1dF9kaXJlY3RvcnlfZm9yX2dlbmVyYXRlZF9kZWNsYXJhdGlvbl9maWxlc182MTY2XCIsXCJPdXRwdXQgZGlyZWN0b3J5IGZvciBnZW5lcmF0ZWQgZGVjbGFyYXRpb24gZmlsZXMuXCIpLEFfc2VyaWVzX29mX2VudHJpZXNfd2hpY2hfcmVfbWFwX2ltcG9ydHNfdG9fbG9va3VwX2xvY2F0aW9uc19yZWxhdGl2ZV90b190aGVfYmFzZVVybDpyKDYxNjcsMyxcIkFfc2VyaWVzX29mX2VudHJpZXNfd2hpY2hfcmVfbWFwX2ltcG9ydHNfdG9fbG9va3VwX2xvY2F0aW9uc19yZWxhdGl2ZV90b190aGVfYmFzZVVybF82MTY3XCIsXCJBIHNlcmllcyBvZiBlbnRyaWVzIHdoaWNoIHJlLW1hcCBpbXBvcnRzIHRvIGxvb2t1cCBsb2NhdGlvbnMgcmVsYXRpdmUgdG8gdGhlICdiYXNlVXJsJy5cIiksTGlzdF9vZl9yb290X2ZvbGRlcnNfd2hvc2VfY29tYmluZWRfY29udGVudF9yZXByZXNlbnRzX3RoZV9zdHJ1Y3R1cmVfb2ZfdGhlX3Byb2plY3RfYXRfcnVudGltZTpyKDYxNjgsMyxcIkxpc3Rfb2Zfcm9vdF9mb2xkZXJzX3dob3NlX2NvbWJpbmVkX2NvbnRlbnRfcmVwcmVzZW50c190aGVfc3RydWN0dXJlX29mX3RoZV9wcm9qZWN0X2F0X3J1bnRpbWVfNjE2OFwiLFwiTGlzdCBvZiByb290IGZvbGRlcnMgd2hvc2UgY29tYmluZWQgY29udGVudCByZXByZXNlbnRzIHRoZSBzdHJ1Y3R1cmUgb2YgdGhlIHByb2plY3QgYXQgcnVudGltZS5cIiksU2hvd19hbGxfY29tcGlsZXJfb3B0aW9uczpyKDYxNjksMyxcIlNob3dfYWxsX2NvbXBpbGVyX29wdGlvbnNfNjE2OVwiLFwiU2hvdyBhbGwgY29tcGlsZXIgb3B0aW9ucy5cIiksRGVwcmVjYXRlZF9Vc2Vfb3V0RmlsZV9pbnN0ZWFkX0NvbmNhdGVuYXRlX2FuZF9lbWl0X291dHB1dF90b19zaW5nbGVfZmlsZTpyKDYxNzAsMyxcIkRlcHJlY2F0ZWRfVXNlX291dEZpbGVfaW5zdGVhZF9Db25jYXRlbmF0ZV9hbmRfZW1pdF9vdXRwdXRfdG9fc2luZ2xlX2ZpbGVfNjE3MFwiLFwiW0RlcHJlY2F0ZWRdIFVzZSAnLS1vdXRGaWxlJyBpbnN0ZWFkLiBDb25jYXRlbmF0ZSBhbmQgZW1pdCBvdXRwdXQgdG8gc2luZ2xlIGZpbGVcIiksQ29tbWFuZF9saW5lX09wdGlvbnM6cig2MTcxLDMsXCJDb21tYW5kX2xpbmVfT3B0aW9uc182MTcxXCIsXCJDb21tYW5kLWxpbmUgT3B0aW9uc1wiKSxQcm92aWRlX2Z1bGxfc3VwcG9ydF9mb3JfaXRlcmFibGVzX2luX2Zvcl9vZl9zcHJlYWRfYW5kX2Rlc3RydWN0dXJpbmdfd2hlbl90YXJnZXRpbmdfRVM1OnIoNjE3OSwzLFwiUHJvdmlkZV9mdWxsX3N1cHBvcnRfZm9yX2l0ZXJhYmxlc19pbl9mb3Jfb2Zfc3ByZWFkX2FuZF9kZXN0cnVjdHVyaW5nX3doZW5fdGFyZ2V0aW5nX0VTNV82MTc5XCIsXCJQcm92aWRlIGZ1bGwgc3VwcG9ydCBmb3IgaXRlcmFibGVzIGluICdmb3Itb2YnLCBzcHJlYWQsIGFuZCBkZXN0cnVjdHVyaW5nIHdoZW4gdGFyZ2V0aW5nICdFUzUnLlwiKSxFbmFibGVfYWxsX3N0cmljdF90eXBlX2NoZWNraW5nX29wdGlvbnM6cig2MTgwLDMsXCJFbmFibGVfYWxsX3N0cmljdF90eXBlX2NoZWNraW5nX29wdGlvbnNfNjE4MFwiLFwiRW5hYmxlIGFsbCBzdHJpY3QgdHlwZS1jaGVja2luZyBvcHRpb25zLlwiKSxTY29wZWRfcGFja2FnZV9kZXRlY3RlZF9sb29raW5nX2luXzA6cig2MTgyLDMsXCJTY29wZWRfcGFja2FnZV9kZXRlY3RlZF9sb29raW5nX2luXzBfNjE4MlwiLFwiU2NvcGVkIHBhY2thZ2UgZGV0ZWN0ZWQsIGxvb2tpbmcgaW4gJ3swfSdcIiksUmV1c2luZ19yZXNvbHV0aW9uX29mX21vZHVsZV8wX2Zyb21fMV9vZl9vbGRfcHJvZ3JhbV9pdF93YXNfc3VjY2Vzc2Z1bGx5X3Jlc29sdmVkX3RvXzI6cig2MTgzLDMsXCJSZXVzaW5nX3Jlc29sdXRpb25fb2ZfbW9kdWxlXzBfZnJvbV8xX29mX29sZF9wcm9ncmFtX2l0X3dhc19zdWNjZXNzZnVsbHlfcmVzb2x2ZWRfdG9fMl82MTgzXCIsXCJSZXVzaW5nIHJlc29sdXRpb24gb2YgbW9kdWxlICd7MH0nIGZyb20gJ3sxfScgb2Ygb2xkIHByb2dyYW0sIGl0IHdhcyBzdWNjZXNzZnVsbHkgcmVzb2x2ZWQgdG8gJ3syfScuXCIpLFJldXNpbmdfcmVzb2x1dGlvbl9vZl9tb2R1bGVfMF9mcm9tXzFfb2Zfb2xkX3Byb2dyYW1faXRfd2FzX3N1Y2Nlc3NmdWxseV9yZXNvbHZlZF90b18yX3dpdGhfUGFja2FnZV9JRF8zOnIoNjE4NCwzLFwiUmV1c2luZ19yZXNvbHV0aW9uX29mX21vZHVsZV8wX2Zyb21fMV9vZl9vbGRfcHJvZ3JhbV9pdF93YXNfc3VjY2Vzc2Z1bGx5X3Jlc29sdmVkX3RvXzJfd2l0aF9QYWNrYWdlX182MTg0XCIsXCJSZXVzaW5nIHJlc29sdXRpb24gb2YgbW9kdWxlICd7MH0nIGZyb20gJ3sxfScgb2Ygb2xkIHByb2dyYW0sIGl0IHdhcyBzdWNjZXNzZnVsbHkgcmVzb2x2ZWQgdG8gJ3syfScgd2l0aCBQYWNrYWdlIElEICd7M30nLlwiKSxFbmFibGVfc3RyaWN0X2NoZWNraW5nX29mX2Z1bmN0aW9uX3R5cGVzOnIoNjE4NiwzLFwiRW5hYmxlX3N0cmljdF9jaGVja2luZ19vZl9mdW5jdGlvbl90eXBlc182MTg2XCIsXCJFbmFibGUgc3RyaWN0IGNoZWNraW5nIG9mIGZ1bmN0aW9uIHR5cGVzLlwiKSxFbmFibGVfc3RyaWN0X2NoZWNraW5nX29mX3Byb3BlcnR5X2luaXRpYWxpemF0aW9uX2luX2NsYXNzZXM6cig2MTg3LDMsXCJFbmFibGVfc3RyaWN0X2NoZWNraW5nX29mX3Byb3BlcnR5X2luaXRpYWxpemF0aW9uX2luX2NsYXNzZXNfNjE4N1wiLFwiRW5hYmxlIHN0cmljdCBjaGVja2luZyBvZiBwcm9wZXJ0eSBpbml0aWFsaXphdGlvbiBpbiBjbGFzc2VzLlwiKSxOdW1lcmljX3NlcGFyYXRvcnNfYXJlX25vdF9hbGxvd2VkX2hlcmU6cig2MTg4LDEsXCJOdW1lcmljX3NlcGFyYXRvcnNfYXJlX25vdF9hbGxvd2VkX2hlcmVfNjE4OFwiLFwiTnVtZXJpYyBzZXBhcmF0b3JzIGFyZSBub3QgYWxsb3dlZCBoZXJlLlwiKSxNdWx0aXBsZV9jb25zZWN1dGl2ZV9udW1lcmljX3NlcGFyYXRvcnNfYXJlX25vdF9wZXJtaXR0ZWQ6cig2MTg5LDEsXCJNdWx0aXBsZV9jb25zZWN1dGl2ZV9udW1lcmljX3NlcGFyYXRvcnNfYXJlX25vdF9wZXJtaXR0ZWRfNjE4OVwiLFwiTXVsdGlwbGUgY29uc2VjdXRpdmUgbnVtZXJpYyBzZXBhcmF0b3JzIGFyZSBub3QgcGVybWl0dGVkLlwiKSxXaGV0aGVyX3RvX2tlZXBfb3V0ZGF0ZWRfY29uc29sZV9vdXRwdXRfaW5fd2F0Y2hfbW9kZV9pbnN0ZWFkX29mX2NsZWFyaW5nX3RoZV9zY3JlZW46cig2MTkxLDMsXCJXaGV0aGVyX3RvX2tlZXBfb3V0ZGF0ZWRfY29uc29sZV9vdXRwdXRfaW5fd2F0Y2hfbW9kZV9pbnN0ZWFkX29mX2NsZWFyaW5nX3RoZV9zY3JlZW5fNjE5MVwiLFwiV2hldGhlciB0byBrZWVwIG91dGRhdGVkIGNvbnNvbGUgb3V0cHV0IGluIHdhdGNoIG1vZGUgaW5zdGVhZCBvZiBjbGVhcmluZyB0aGUgc2NyZWVuLlwiKSxBbGxfaW1wb3J0c19pbl9pbXBvcnRfZGVjbGFyYXRpb25fYXJlX3VudXNlZDpyKDYxOTIsMSxcIkFsbF9pbXBvcnRzX2luX2ltcG9ydF9kZWNsYXJhdGlvbl9hcmVfdW51c2VkXzYxOTJcIixcIkFsbCBpbXBvcnRzIGluIGltcG9ydCBkZWNsYXJhdGlvbiBhcmUgdW51c2VkLlwiLCEwKSxGb3VuZF8xX2Vycm9yX1dhdGNoaW5nX2Zvcl9maWxlX2NoYW5nZXM6cig2MTkzLDMsXCJGb3VuZF8xX2Vycm9yX1dhdGNoaW5nX2Zvcl9maWxlX2NoYW5nZXNfNjE5M1wiLFwiRm91bmQgMSBlcnJvci4gV2F0Y2hpbmcgZm9yIGZpbGUgY2hhbmdlcy5cIiksRm91bmRfMF9lcnJvcnNfV2F0Y2hpbmdfZm9yX2ZpbGVfY2hhbmdlczpyKDYxOTQsMyxcIkZvdW5kXzBfZXJyb3JzX1dhdGNoaW5nX2Zvcl9maWxlX2NoYW5nZXNfNjE5NFwiLFwiRm91bmQgezB9IGVycm9ycy4gV2F0Y2hpbmcgZm9yIGZpbGUgY2hhbmdlcy5cIiksUmVzb2x2ZV9rZXlvZl90b19zdHJpbmdfdmFsdWVkX3Byb3BlcnR5X25hbWVzX29ubHlfbm9fbnVtYmVyc19vcl9zeW1ib2xzOnIoNjE5NSwzLFwiUmVzb2x2ZV9rZXlvZl90b19zdHJpbmdfdmFsdWVkX3Byb3BlcnR5X25hbWVzX29ubHlfbm9fbnVtYmVyc19vcl9zeW1ib2xzXzYxOTVcIixcIlJlc29sdmUgJ2tleW9mJyB0byBzdHJpbmcgdmFsdWVkIHByb3BlcnR5IG5hbWVzIG9ubHkgKG5vIG51bWJlcnMgb3Igc3ltYm9scykuXCIpLF8wX2lzX2RlY2xhcmVkX2J1dF9uZXZlcl91c2VkOnIoNjE5NiwxLFwiXzBfaXNfZGVjbGFyZWRfYnV0X25ldmVyX3VzZWRfNjE5NlwiLFwiJ3swfScgaXMgZGVjbGFyZWQgYnV0IG5ldmVyIHVzZWQuXCIsITApLEluY2x1ZGVfbW9kdWxlc19pbXBvcnRlZF93aXRoX2pzb25fZXh0ZW5zaW9uOnIoNjE5NywzLFwiSW5jbHVkZV9tb2R1bGVzX2ltcG9ydGVkX3dpdGhfanNvbl9leHRlbnNpb25fNjE5N1wiLFwiSW5jbHVkZSBtb2R1bGVzIGltcG9ydGVkIHdpdGggJy5qc29uJyBleHRlbnNpb25cIiksQWxsX2Rlc3RydWN0dXJlZF9lbGVtZW50c19hcmVfdW51c2VkOnIoNjE5OCwxLFwiQWxsX2Rlc3RydWN0dXJlZF9lbGVtZW50c19hcmVfdW51c2VkXzYxOThcIixcIkFsbCBkZXN0cnVjdHVyZWQgZWxlbWVudHMgYXJlIHVudXNlZC5cIiwhMCksQWxsX3ZhcmlhYmxlc19hcmVfdW51c2VkOnIoNjE5OSwxLFwiQWxsX3ZhcmlhYmxlc19hcmVfdW51c2VkXzYxOTlcIixcIkFsbCB2YXJpYWJsZXMgYXJlIHVudXNlZC5cIiwhMCksRGVmaW5pdGlvbnNfb2ZfdGhlX2ZvbGxvd2luZ19pZGVudGlmaWVyc19jb25mbGljdF93aXRoX3Rob3NlX2luX2Fub3RoZXJfZmlsZV9Db2xvbl8wOnIoNjIwMCwxLFwiRGVmaW5pdGlvbnNfb2ZfdGhlX2ZvbGxvd2luZ19pZGVudGlmaWVyc19jb25mbGljdF93aXRoX3Rob3NlX2luX2Fub3RoZXJfZmlsZV9Db2xvbl8wXzYyMDBcIixcIkRlZmluaXRpb25zIG9mIHRoZSBmb2xsb3dpbmcgaWRlbnRpZmllcnMgY29uZmxpY3Qgd2l0aCB0aG9zZSBpbiBhbm90aGVyIGZpbGU6IHswfVwiKSxDb25mbGljdHNfYXJlX2luX3RoaXNfZmlsZTpyKDYyMDEsMyxcIkNvbmZsaWN0c19hcmVfaW5fdGhpc19maWxlXzYyMDFcIixcIkNvbmZsaWN0cyBhcmUgaW4gdGhpcyBmaWxlLlwiKSxQcm9qZWN0X3JlZmVyZW5jZXNfbWF5X25vdF9mb3JtX2FfY2lyY3VsYXJfZ3JhcGhfQ3ljbGVfZGV0ZWN0ZWRfQ29sb25fMDpyKDYyMDIsMSxcIlByb2plY3RfcmVmZXJlbmNlc19tYXlfbm90X2Zvcm1fYV9jaXJjdWxhcl9ncmFwaF9DeWNsZV9kZXRlY3RlZF9Db2xvbl8wXzYyMDJcIixcIlByb2plY3QgcmVmZXJlbmNlcyBtYXkgbm90IGZvcm0gYSBjaXJjdWxhciBncmFwaC4gQ3ljbGUgZGV0ZWN0ZWQ6IHswfVwiKSxfMF93YXNfYWxzb19kZWNsYXJlZF9oZXJlOnIoNjIwMywzLFwiXzBfd2FzX2Fsc29fZGVjbGFyZWRfaGVyZV82MjAzXCIsXCInezB9JyB3YXMgYWxzbyBkZWNsYXJlZCBoZXJlLlwiKSxhbmRfaGVyZTpyKDYyMDQsMyxcImFuZF9oZXJlXzYyMDRcIixcImFuZCBoZXJlLlwiKSxBbGxfdHlwZV9wYXJhbWV0ZXJzX2FyZV91bnVzZWQ6cig2MjA1LDEsXCJBbGxfdHlwZV9wYXJhbWV0ZXJzX2FyZV91bnVzZWRfNjIwNVwiLFwiQWxsIHR5cGUgcGFyYW1ldGVycyBhcmUgdW51c2VkLlwiKSxwYWNrYWdlX2pzb25faGFzX2FfdHlwZXNWZXJzaW9uc19maWVsZF93aXRoX3ZlcnNpb25fc3BlY2lmaWNfcGF0aF9tYXBwaW5nczpyKDYyMDYsMyxcInBhY2thZ2VfanNvbl9oYXNfYV90eXBlc1ZlcnNpb25zX2ZpZWxkX3dpdGhfdmVyc2lvbl9zcGVjaWZpY19wYXRoX21hcHBpbmdzXzYyMDZcIixcIidwYWNrYWdlLmpzb24nIGhhcyBhICd0eXBlc1ZlcnNpb25zJyBmaWVsZCB3aXRoIHZlcnNpb24tc3BlY2lmaWMgcGF0aCBtYXBwaW5ncy5cIikscGFja2FnZV9qc29uX2RvZXNfbm90X2hhdmVfYV90eXBlc1ZlcnNpb25zX2VudHJ5X3RoYXRfbWF0Y2hlc192ZXJzaW9uXzA6cig2MjA3LDMsXCJwYWNrYWdlX2pzb25fZG9lc19ub3RfaGF2ZV9hX3R5cGVzVmVyc2lvbnNfZW50cnlfdGhhdF9tYXRjaGVzX3ZlcnNpb25fMF82MjA3XCIsXCIncGFja2FnZS5qc29uJyBkb2VzIG5vdCBoYXZlIGEgJ3R5cGVzVmVyc2lvbnMnIGVudHJ5IHRoYXQgbWF0Y2hlcyB2ZXJzaW9uICd7MH0nLlwiKSxwYWNrYWdlX2pzb25faGFzX2FfdHlwZXNWZXJzaW9uc19lbnRyeV8wX3RoYXRfbWF0Y2hlc19jb21waWxlcl92ZXJzaW9uXzFfbG9va2luZ19mb3JfYV9wYXR0ZXJuX3RvX21hdGNoX21vZHVsZV9uYW1lXzI6cig2MjA4LDMsXCJwYWNrYWdlX2pzb25faGFzX2FfdHlwZXNWZXJzaW9uc19lbnRyeV8wX3RoYXRfbWF0Y2hlc19jb21waWxlcl92ZXJzaW9uXzFfbG9va2luZ19mb3JfYV9wYXR0ZXJuX3RvX21hXzYyMDhcIixcIidwYWNrYWdlLmpzb24nIGhhcyBhICd0eXBlc1ZlcnNpb25zJyBlbnRyeSAnezB9JyB0aGF0IG1hdGNoZXMgY29tcGlsZXIgdmVyc2lvbiAnezF9JywgbG9va2luZyBmb3IgYSBwYXR0ZXJuIHRvIG1hdGNoIG1vZHVsZSBuYW1lICd7Mn0nLlwiKSxwYWNrYWdlX2pzb25faGFzX2FfdHlwZXNWZXJzaW9uc19lbnRyeV8wX3RoYXRfaXNfbm90X2FfdmFsaWRfc2VtdmVyX3JhbmdlOnIoNjIwOSwzLFwicGFja2FnZV9qc29uX2hhc19hX3R5cGVzVmVyc2lvbnNfZW50cnlfMF90aGF0X2lzX25vdF9hX3ZhbGlkX3NlbXZlcl9yYW5nZV82MjA5XCIsXCIncGFja2FnZS5qc29uJyBoYXMgYSAndHlwZXNWZXJzaW9ucycgZW50cnkgJ3swfScgdGhhdCBpcyBub3QgYSB2YWxpZCBzZW12ZXIgcmFuZ2UuXCIpLEFuX2FyZ3VtZW50X2Zvcl8wX3dhc19ub3RfcHJvdmlkZWQ6cig2MjEwLDMsXCJBbl9hcmd1bWVudF9mb3JfMF93YXNfbm90X3Byb3ZpZGVkXzYyMTBcIixcIkFuIGFyZ3VtZW50IGZvciAnezB9JyB3YXMgbm90IHByb3ZpZGVkLlwiKSxBbl9hcmd1bWVudF9tYXRjaGluZ190aGlzX2JpbmRpbmdfcGF0dGVybl93YXNfbm90X3Byb3ZpZGVkOnIoNjIxMSwzLFwiQW5fYXJndW1lbnRfbWF0Y2hpbmdfdGhpc19iaW5kaW5nX3BhdHRlcm5fd2FzX25vdF9wcm92aWRlZF82MjExXCIsXCJBbiBhcmd1bWVudCBtYXRjaGluZyB0aGlzIGJpbmRpbmcgcGF0dGVybiB3YXMgbm90IHByb3ZpZGVkLlwiKSxEaWRfeW91X21lYW5fdG9fY2FsbF90aGlzX2V4cHJlc3Npb246cig2MjEyLDMsXCJEaWRfeW91X21lYW5fdG9fY2FsbF90aGlzX2V4cHJlc3Npb25fNjIxMlwiLFwiRGlkIHlvdSBtZWFuIHRvIGNhbGwgdGhpcyBleHByZXNzaW9uP1wiKSxEaWRfeW91X21lYW5fdG9fdXNlX25ld193aXRoX3RoaXNfZXhwcmVzc2lvbjpyKDYyMTMsMyxcIkRpZF95b3VfbWVhbl90b191c2VfbmV3X3dpdGhfdGhpc19leHByZXNzaW9uXzYyMTNcIixcIkRpZCB5b3UgbWVhbiB0byB1c2UgJ25ldycgd2l0aCB0aGlzIGV4cHJlc3Npb24/XCIpLEVuYWJsZV9zdHJpY3RfYmluZF9jYWxsX2FuZF9hcHBseV9tZXRob2RzX29uX2Z1bmN0aW9uczpyKDYyMTQsMyxcIkVuYWJsZV9zdHJpY3RfYmluZF9jYWxsX2FuZF9hcHBseV9tZXRob2RzX29uX2Z1bmN0aW9uc182MjE0XCIsXCJFbmFibGUgc3RyaWN0ICdiaW5kJywgJ2NhbGwnLCBhbmQgJ2FwcGx5JyBtZXRob2RzIG9uIGZ1bmN0aW9ucy5cIiksVXNpbmdfY29tcGlsZXJfb3B0aW9uc19vZl9wcm9qZWN0X3JlZmVyZW5jZV9yZWRpcmVjdF8wOnIoNjIxNSwzLFwiVXNpbmdfY29tcGlsZXJfb3B0aW9uc19vZl9wcm9qZWN0X3JlZmVyZW5jZV9yZWRpcmVjdF8wXzYyMTVcIixcIlVzaW5nIGNvbXBpbGVyIG9wdGlvbnMgb2YgcHJvamVjdCByZWZlcmVuY2UgcmVkaXJlY3QgJ3swfScuXCIpLEZvdW5kXzFfZXJyb3I6cig2MjE2LDMsXCJGb3VuZF8xX2Vycm9yXzYyMTZcIixcIkZvdW5kIDEgZXJyb3IuXCIpLEZvdW5kXzBfZXJyb3JzOnIoNjIxNywzLFwiRm91bmRfMF9lcnJvcnNfNjIxN1wiLFwiRm91bmQgezB9IGVycm9ycy5cIiksTW9kdWxlX25hbWVfMF93YXNfc3VjY2Vzc2Z1bGx5X3Jlc29sdmVkX3RvXzFfd2l0aF9QYWNrYWdlX0lEXzI6cig2MjE4LDMsXCJNb2R1bGVfbmFtZV8wX3dhc19zdWNjZXNzZnVsbHlfcmVzb2x2ZWRfdG9fMV93aXRoX1BhY2thZ2VfSURfMl82MjE4XCIsXCI9PT09PT09PSBNb2R1bGUgbmFtZSAnezB9JyB3YXMgc3VjY2Vzc2Z1bGx5IHJlc29sdmVkIHRvICd7MX0nIHdpdGggUGFja2FnZSBJRCAnezJ9Jy4gPT09PT09PT1cIiksVHlwZV9yZWZlcmVuY2VfZGlyZWN0aXZlXzBfd2FzX3N1Y2Nlc3NmdWxseV9yZXNvbHZlZF90b18xX3dpdGhfUGFja2FnZV9JRF8yX3ByaW1hcnlfQ29sb25fMzpyKDYyMTksMyxcIlR5cGVfcmVmZXJlbmNlX2RpcmVjdGl2ZV8wX3dhc19zdWNjZXNzZnVsbHlfcmVzb2x2ZWRfdG9fMV93aXRoX1BhY2thZ2VfSURfMl9wcmltYXJ5X0NvbG9uXzNfNjIxOVwiLFwiPT09PT09PT0gVHlwZSByZWZlcmVuY2UgZGlyZWN0aXZlICd7MH0nIHdhcyBzdWNjZXNzZnVsbHkgcmVzb2x2ZWQgdG8gJ3sxfScgd2l0aCBQYWNrYWdlIElEICd7Mn0nLCBwcmltYXJ5OiB7M30uID09PT09PT09XCIpLHBhY2thZ2VfanNvbl9oYWRfYV9mYWxzeV8wX2ZpZWxkOnIoNjIyMCwzLFwicGFja2FnZV9qc29uX2hhZF9hX2ZhbHN5XzBfZmllbGRfNjIyMFwiLFwiJ3BhY2thZ2UuanNvbicgaGFkIGEgZmFsc3kgJ3swfScgZmllbGQuXCIpLERpc2FibGVfdXNlX29mX3NvdXJjZV9maWxlc19pbnN0ZWFkX29mX2RlY2xhcmF0aW9uX2ZpbGVzX2Zyb21fcmVmZXJlbmNlZF9wcm9qZWN0czpyKDYyMjEsMyxcIkRpc2FibGVfdXNlX29mX3NvdXJjZV9maWxlc19pbnN0ZWFkX29mX2RlY2xhcmF0aW9uX2ZpbGVzX2Zyb21fcmVmZXJlbmNlZF9wcm9qZWN0c182MjIxXCIsXCJEaXNhYmxlIHVzZSBvZiBzb3VyY2UgZmlsZXMgaW5zdGVhZCBvZiBkZWNsYXJhdGlvbiBmaWxlcyBmcm9tIHJlZmVyZW5jZWQgcHJvamVjdHMuXCIpLEVtaXRfY2xhc3NfZmllbGRzX3dpdGhfRGVmaW5lX2luc3RlYWRfb2ZfU2V0OnIoNjIyMiwzLFwiRW1pdF9jbGFzc19maWVsZHNfd2l0aF9EZWZpbmVfaW5zdGVhZF9vZl9TZXRfNjIyMlwiLFwiRW1pdCBjbGFzcyBmaWVsZHMgd2l0aCBEZWZpbmUgaW5zdGVhZCBvZiBTZXQuXCIpLEdlbmVyYXRlc19hX0NQVV9wcm9maWxlOnIoNjIyMywzLFwiR2VuZXJhdGVzX2FfQ1BVX3Byb2ZpbGVfNjIyM1wiLFwiR2VuZXJhdGVzIGEgQ1BVIHByb2ZpbGUuXCIpLERpc2FibGVfc29sdXRpb25fc2VhcmNoaW5nX2Zvcl90aGlzX3Byb2plY3Q6cig2MjI0LDMsXCJEaXNhYmxlX3NvbHV0aW9uX3NlYXJjaGluZ19mb3JfdGhpc19wcm9qZWN0XzYyMjRcIixcIkRpc2FibGUgc29sdXRpb24gc2VhcmNoaW5nIGZvciB0aGlzIHByb2plY3QuXCIpLFNwZWNpZnlfc3RyYXRlZ3lfZm9yX3dhdGNoaW5nX2ZpbGVfQ29sb25fRml4ZWRQb2xsaW5nSW50ZXJ2YWxfZGVmYXVsdF9Qcmlvcml0eVBvbGxpbmdJbnRlcnZhbF9EeW5hbWljUHJpb3JpdHlQb2xsaW5nX0ZpeGVkQ2h1bmtTaXplUG9sbGluZ19Vc2VGc0V2ZW50c19Vc2VGc0V2ZW50c09uUGFyZW50RGlyZWN0b3J5OnIoNjIyNSwzLFwiU3BlY2lmeV9zdHJhdGVneV9mb3Jfd2F0Y2hpbmdfZmlsZV9Db2xvbl9GaXhlZFBvbGxpbmdJbnRlcnZhbF9kZWZhdWx0X1ByaW9yaXR5UG9sbGluZ0ludGVydmFsX0R5bmFtaV82MjI1XCIsXCJTcGVjaWZ5IHN0cmF0ZWd5IGZvciB3YXRjaGluZyBmaWxlOiAnRml4ZWRQb2xsaW5nSW50ZXJ2YWwnIChkZWZhdWx0KSwgJ1ByaW9yaXR5UG9sbGluZ0ludGVydmFsJywgJ0R5bmFtaWNQcmlvcml0eVBvbGxpbmcnLCAnRml4ZWRDaHVua1NpemVQb2xsaW5nJywgJ1VzZUZzRXZlbnRzJywgJ1VzZUZzRXZlbnRzT25QYXJlbnREaXJlY3RvcnknLlwiKSxTcGVjaWZ5X3N0cmF0ZWd5X2Zvcl93YXRjaGluZ19kaXJlY3Rvcnlfb25fcGxhdGZvcm1zX3RoYXRfZG9uX3Rfc3VwcG9ydF9yZWN1cnNpdmVfd2F0Y2hpbmdfbmF0aXZlbHlfQ29sb25fVXNlRnNFdmVudHNfZGVmYXVsdF9GaXhlZFBvbGxpbmdJbnRlcnZhbF9EeW5hbWljUHJpb3JpdHlQb2xsaW5nX0ZpeGVkQ2h1bmtTaXplUG9sbGluZzpyKDYyMjYsMyxcIlNwZWNpZnlfc3RyYXRlZ3lfZm9yX3dhdGNoaW5nX2RpcmVjdG9yeV9vbl9wbGF0Zm9ybXNfdGhhdF9kb25fdF9zdXBwb3J0X3JlY3Vyc2l2ZV93YXRjaGluZ19uYXRpdmVseV9fNjIyNlwiLFwiU3BlY2lmeSBzdHJhdGVneSBmb3Igd2F0Y2hpbmcgZGlyZWN0b3J5IG9uIHBsYXRmb3JtcyB0aGF0IGRvbid0IHN1cHBvcnQgcmVjdXJzaXZlIHdhdGNoaW5nIG5hdGl2ZWx5OiAnVXNlRnNFdmVudHMnIChkZWZhdWx0KSwgJ0ZpeGVkUG9sbGluZ0ludGVydmFsJywgJ0R5bmFtaWNQcmlvcml0eVBvbGxpbmcnLCAnRml4ZWRDaHVua1NpemVQb2xsaW5nJy5cIiksU3BlY2lmeV9zdHJhdGVneV9mb3JfY3JlYXRpbmdfYV9wb2xsaW5nX3dhdGNoX3doZW5faXRfZmFpbHNfdG9fY3JlYXRlX3VzaW5nX2ZpbGVfc3lzdGVtX2V2ZW50c19Db2xvbl9GaXhlZEludGVydmFsX2RlZmF1bHRfUHJpb3JpdHlJbnRlcnZhbF9EeW5hbWljUHJpb3JpdHlfRml4ZWRDaHVua1NpemU6cig2MjI3LDMsXCJTcGVjaWZ5X3N0cmF0ZWd5X2Zvcl9jcmVhdGluZ19hX3BvbGxpbmdfd2F0Y2hfd2hlbl9pdF9mYWlsc190b19jcmVhdGVfdXNpbmdfZmlsZV9zeXN0ZW1fZXZlbnRzX0NvbG9uXzYyMjdcIixcIlNwZWNpZnkgc3RyYXRlZ3kgZm9yIGNyZWF0aW5nIGEgcG9sbGluZyB3YXRjaCB3aGVuIGl0IGZhaWxzIHRvIGNyZWF0ZSB1c2luZyBmaWxlIHN5c3RlbSBldmVudHM6ICdGaXhlZEludGVydmFsJyAoZGVmYXVsdCksICdQcmlvcml0eUludGVydmFsJywgJ0R5bmFtaWNQcmlvcml0eScsICdGaXhlZENodW5rU2l6ZScuXCIpLFRhZ18wX2V4cGVjdHNfYXRfbGVhc3RfMV9hcmd1bWVudHNfYnV0X3RoZV9KU1hfZmFjdG9yeV8yX3Byb3ZpZGVzX2F0X21vc3RfMzpyKDYyMjksMSxcIlRhZ18wX2V4cGVjdHNfYXRfbGVhc3RfMV9hcmd1bWVudHNfYnV0X3RoZV9KU1hfZmFjdG9yeV8yX3Byb3ZpZGVzX2F0X21vc3RfM182MjI5XCIsXCJUYWcgJ3swfScgZXhwZWN0cyBhdCBsZWFzdCAnezF9JyBhcmd1bWVudHMsIGJ1dCB0aGUgSlNYIGZhY3RvcnkgJ3syfScgcHJvdmlkZXMgYXQgbW9zdCAnezN9Jy5cIiksT3B0aW9uXzBfY2FuX29ubHlfYmVfc3BlY2lmaWVkX2luX3RzY29uZmlnX2pzb25fZmlsZV9vcl9zZXRfdG9fZmFsc2Vfb3JfbnVsbF9vbl9jb21tYW5kX2xpbmU6cig2MjMwLDEsXCJPcHRpb25fMF9jYW5fb25seV9iZV9zcGVjaWZpZWRfaW5fdHNjb25maWdfanNvbl9maWxlX29yX3NldF90b19mYWxzZV9vcl9udWxsX29uX2NvbW1hbmRfbGluZV82MjMwXCIsXCJPcHRpb24gJ3swfScgY2FuIG9ubHkgYmUgc3BlY2lmaWVkIGluICd0c2NvbmZpZy5qc29uJyBmaWxlIG9yIHNldCB0byAnZmFsc2UnIG9yICdudWxsJyBvbiBjb21tYW5kIGxpbmUuXCIpLENvdWxkX25vdF9yZXNvbHZlX3RoZV9wYXRoXzBfd2l0aF90aGVfZXh0ZW5zaW9uc19Db2xvbl8xOnIoNjIzMSwxLFwiQ291bGRfbm90X3Jlc29sdmVfdGhlX3BhdGhfMF93aXRoX3RoZV9leHRlbnNpb25zX0NvbG9uXzFfNjIzMVwiLFwiQ291bGQgbm90IHJlc29sdmUgdGhlIHBhdGggJ3swfScgd2l0aCB0aGUgZXh0ZW5zaW9uczogezF9LlwiKSxEZWNsYXJhdGlvbl9hdWdtZW50c19kZWNsYXJhdGlvbl9pbl9hbm90aGVyX2ZpbGVfVGhpc19jYW5ub3RfYmVfc2VyaWFsaXplZDpyKDYyMzIsMSxcIkRlY2xhcmF0aW9uX2F1Z21lbnRzX2RlY2xhcmF0aW9uX2luX2Fub3RoZXJfZmlsZV9UaGlzX2Nhbm5vdF9iZV9zZXJpYWxpemVkXzYyMzJcIixcIkRlY2xhcmF0aW9uIGF1Z21lbnRzIGRlY2xhcmF0aW9uIGluIGFub3RoZXIgZmlsZS4gVGhpcyBjYW5ub3QgYmUgc2VyaWFsaXplZC5cIiksVGhpc19pc190aGVfZGVjbGFyYXRpb25fYmVpbmdfYXVnbWVudGVkX0NvbnNpZGVyX21vdmluZ190aGVfYXVnbWVudGluZ19kZWNsYXJhdGlvbl9pbnRvX3RoZV9zYW1lX2ZpbGU6cig2MjMzLDEsXCJUaGlzX2lzX3RoZV9kZWNsYXJhdGlvbl9iZWluZ19hdWdtZW50ZWRfQ29uc2lkZXJfbW92aW5nX3RoZV9hdWdtZW50aW5nX2RlY2xhcmF0aW9uX2ludG9fdGhlX3NhbWVfZmlsXzYyMzNcIixcIlRoaXMgaXMgdGhlIGRlY2xhcmF0aW9uIGJlaW5nIGF1Z21lbnRlZC4gQ29uc2lkZXIgbW92aW5nIHRoZSBhdWdtZW50aW5nIGRlY2xhcmF0aW9uIGludG8gdGhlIHNhbWUgZmlsZS5cIiksVGhpc19leHByZXNzaW9uX2lzX25vdF9jYWxsYWJsZV9iZWNhdXNlX2l0X2lzX2FfZ2V0X2FjY2Vzc29yX0RpZF95b3VfbWVhbl90b191c2VfaXRfd2l0aG91dDpyKDYyMzQsMSxcIlRoaXNfZXhwcmVzc2lvbl9pc19ub3RfY2FsbGFibGVfYmVjYXVzZV9pdF9pc19hX2dldF9hY2Nlc3Nvcl9EaWRfeW91X21lYW5fdG9fdXNlX2l0X3dpdGhvdXRfNjIzNFwiLFwiVGhpcyBleHByZXNzaW9uIGlzIG5vdCBjYWxsYWJsZSBiZWNhdXNlIGl0IGlzIGEgJ2dldCcgYWNjZXNzb3IuIERpZCB5b3UgbWVhbiB0byB1c2UgaXQgd2l0aG91dCAnKCknP1wiKSxEaXNhYmxlX2xvYWRpbmdfcmVmZXJlbmNlZF9wcm9qZWN0czpyKDYyMzUsMyxcIkRpc2FibGVfbG9hZGluZ19yZWZlcmVuY2VkX3Byb2plY3RzXzYyMzVcIixcIkRpc2FibGUgbG9hZGluZyByZWZlcmVuY2VkIHByb2plY3RzLlwiKSxBcmd1bWVudHNfZm9yX3RoZV9yZXN0X3BhcmFtZXRlcl8wX3dlcmVfbm90X3Byb3ZpZGVkOnIoNjIzNiwxLFwiQXJndW1lbnRzX2Zvcl90aGVfcmVzdF9wYXJhbWV0ZXJfMF93ZXJlX25vdF9wcm92aWRlZF82MjM2XCIsXCJBcmd1bWVudHMgZm9yIHRoZSByZXN0IHBhcmFtZXRlciAnezB9JyB3ZXJlIG5vdCBwcm92aWRlZC5cIiksR2VuZXJhdGVzX2FuX2V2ZW50X3RyYWNlX2FuZF9hX2xpc3Rfb2ZfdHlwZXM6cig2MjM3LDMsXCJHZW5lcmF0ZXNfYW5fZXZlbnRfdHJhY2VfYW5kX2FfbGlzdF9vZl90eXBlc182MjM3XCIsXCJHZW5lcmF0ZXMgYW4gZXZlbnQgdHJhY2UgYW5kIGEgbGlzdCBvZiB0eXBlcy5cIiksU3BlY2lmeV90aGVfbW9kdWxlX3NwZWNpZmllcl90b19iZV91c2VkX3RvX2ltcG9ydF90aGVfanN4X2FuZF9qc3hzX2ZhY3RvcnlfZnVuY3Rpb25zX2Zyb21fZWdfcmVhY3Q6cig2MjM4LDEsXCJTcGVjaWZ5X3RoZV9tb2R1bGVfc3BlY2lmaWVyX3RvX2JlX3VzZWRfdG9faW1wb3J0X3RoZV9qc3hfYW5kX2pzeHNfZmFjdG9yeV9mdW5jdGlvbnNfZnJvbV9lZ19yZWFjdF82MjM4XCIsXCJTcGVjaWZ5IHRoZSBtb2R1bGUgc3BlY2lmaWVyIHRvIGJlIHVzZWQgdG8gaW1wb3J0IHRoZSAnanN4JyBhbmQgJ2pzeHMnIGZhY3RvcnkgZnVuY3Rpb25zIGZyb20uIGVnLCByZWFjdFwiKSxGaWxlXzBfZXhpc3RzX2FjY29yZGluZ190b19lYXJsaWVyX2NhY2hlZF9sb29rdXBzOnIoNjIzOSwzLFwiRmlsZV8wX2V4aXN0c19hY2NvcmRpbmdfdG9fZWFybGllcl9jYWNoZWRfbG9va3Vwc182MjM5XCIsXCJGaWxlICd7MH0nIGV4aXN0cyBhY2NvcmRpbmcgdG8gZWFybGllciBjYWNoZWQgbG9va3Vwcy5cIiksRmlsZV8wX2RvZXNfbm90X2V4aXN0X2FjY29yZGluZ190b19lYXJsaWVyX2NhY2hlZF9sb29rdXBzOnIoNjI0MCwzLFwiRmlsZV8wX2RvZXNfbm90X2V4aXN0X2FjY29yZGluZ190b19lYXJsaWVyX2NhY2hlZF9sb29rdXBzXzYyNDBcIixcIkZpbGUgJ3swfScgZG9lcyBub3QgZXhpc3QgYWNjb3JkaW5nIHRvIGVhcmxpZXIgY2FjaGVkIGxvb2t1cHMuXCIpLFJlc29sdXRpb25fZm9yX3R5cGVfcmVmZXJlbmNlX2RpcmVjdGl2ZV8wX3dhc19mb3VuZF9pbl9jYWNoZV9mcm9tX2xvY2F0aW9uXzE6cig2MjQxLDMsXCJSZXNvbHV0aW9uX2Zvcl90eXBlX3JlZmVyZW5jZV9kaXJlY3RpdmVfMF93YXNfZm91bmRfaW5fY2FjaGVfZnJvbV9sb2NhdGlvbl8xXzYyNDFcIixcIlJlc29sdXRpb24gZm9yIHR5cGUgcmVmZXJlbmNlIGRpcmVjdGl2ZSAnezB9JyB3YXMgZm91bmQgaW4gY2FjaGUgZnJvbSBsb2NhdGlvbiAnezF9Jy5cIiksUmVzb2x2aW5nX3R5cGVfcmVmZXJlbmNlX2RpcmVjdGl2ZV8wX2NvbnRhaW5pbmdfZmlsZV8xOnIoNjI0MiwzLFwiUmVzb2x2aW5nX3R5cGVfcmVmZXJlbmNlX2RpcmVjdGl2ZV8wX2NvbnRhaW5pbmdfZmlsZV8xXzYyNDJcIixcIj09PT09PT09IFJlc29sdmluZyB0eXBlIHJlZmVyZW5jZSBkaXJlY3RpdmUgJ3swfScsIGNvbnRhaW5pbmcgZmlsZSAnezF9Jy4gPT09PT09PT1cIiksSW50ZXJwcmV0X29wdGlvbmFsX3Byb3BlcnR5X3R5cGVzX2FzX3dyaXR0ZW5fcmF0aGVyX3RoYW5fYWRkaW5nX3VuZGVmaW5lZDpyKDYyNDMsMyxcIkludGVycHJldF9vcHRpb25hbF9wcm9wZXJ0eV90eXBlc19hc193cml0dGVuX3JhdGhlcl90aGFuX2FkZGluZ191bmRlZmluZWRfNjI0M1wiLFwiSW50ZXJwcmV0IG9wdGlvbmFsIHByb3BlcnR5IHR5cGVzIGFzIHdyaXR0ZW4sIHJhdGhlciB0aGFuIGFkZGluZyAndW5kZWZpbmVkJy5cIiksTW9kdWxlczpyKDYyNDQsMyxcIk1vZHVsZXNfNjI0NFwiLFwiTW9kdWxlc1wiKSxGaWxlX01hbmFnZW1lbnQ6cig2MjQ1LDMsXCJGaWxlX01hbmFnZW1lbnRfNjI0NVwiLFwiRmlsZSBNYW5hZ2VtZW50XCIpLEVtaXQ6cig2MjQ2LDMsXCJFbWl0XzYyNDZcIixcIkVtaXRcIiksSmF2YVNjcmlwdF9TdXBwb3J0OnIoNjI0NywzLFwiSmF2YVNjcmlwdF9TdXBwb3J0XzYyNDdcIixcIkphdmFTY3JpcHQgU3VwcG9ydFwiKSxUeXBlX0NoZWNraW5nOnIoNjI0OCwzLFwiVHlwZV9DaGVja2luZ182MjQ4XCIsXCJUeXBlIENoZWNraW5nXCIpLEVkaXRvcl9TdXBwb3J0OnIoNjI0OSwzLFwiRWRpdG9yX1N1cHBvcnRfNjI0OVwiLFwiRWRpdG9yIFN1cHBvcnRcIiksV2F0Y2hfYW5kX0J1aWxkX01vZGVzOnIoNjI1MCwzLFwiV2F0Y2hfYW5kX0J1aWxkX01vZGVzXzYyNTBcIixcIldhdGNoIGFuZCBCdWlsZCBNb2Rlc1wiKSxDb21waWxlcl9EaWFnbm9zdGljczpyKDYyNTEsMyxcIkNvbXBpbGVyX0RpYWdub3N0aWNzXzYyNTFcIixcIkNvbXBpbGVyIERpYWdub3N0aWNzXCIpLEludGVyb3BfQ29uc3RyYWludHM6cig2MjUyLDMsXCJJbnRlcm9wX0NvbnN0cmFpbnRzXzYyNTJcIixcIkludGVyb3AgQ29uc3RyYWludHNcIiksQmFja3dhcmRzX0NvbXBhdGliaWxpdHk6cig2MjUzLDMsXCJCYWNrd2FyZHNfQ29tcGF0aWJpbGl0eV82MjUzXCIsXCJCYWNrd2FyZHMgQ29tcGF0aWJpbGl0eVwiKSxMYW5ndWFnZV9hbmRfRW52aXJvbm1lbnQ6cig2MjU0LDMsXCJMYW5ndWFnZV9hbmRfRW52aXJvbm1lbnRfNjI1NFwiLFwiTGFuZ3VhZ2UgYW5kIEVudmlyb25tZW50XCIpLFByb2plY3RzOnIoNjI1NSwzLFwiUHJvamVjdHNfNjI1NVwiLFwiUHJvamVjdHNcIiksT3V0cHV0X0Zvcm1hdHRpbmc6cig2MjU2LDMsXCJPdXRwdXRfRm9ybWF0dGluZ182MjU2XCIsXCJPdXRwdXQgRm9ybWF0dGluZ1wiKSxDb21wbGV0ZW5lc3M6cig2MjU3LDMsXCJDb21wbGV0ZW5lc3NfNjI1N1wiLFwiQ29tcGxldGVuZXNzXCIpLF8wX3Nob3VsZF9iZV9zZXRfaW5zaWRlX3RoZV9jb21waWxlck9wdGlvbnNfb2JqZWN0X29mX3RoZV9jb25maWdfanNvbl9maWxlOnIoNjI1OCwxLFwiXzBfc2hvdWxkX2JlX3NldF9pbnNpZGVfdGhlX2NvbXBpbGVyT3B0aW9uc19vYmplY3Rfb2ZfdGhlX2NvbmZpZ19qc29uX2ZpbGVfNjI1OFwiLFwiJ3swfScgc2hvdWxkIGJlIHNldCBpbnNpZGUgdGhlICdjb21waWxlck9wdGlvbnMnIG9iamVjdCBvZiB0aGUgY29uZmlnIGpzb24gZmlsZVwiKSxGb3VuZF8xX2Vycm9yX2luXzA6cig2MjU5LDMsXCJGb3VuZF8xX2Vycm9yX2luXzBfNjI1OVwiLFwiRm91bmQgMSBlcnJvciBpbiB7MH1cIiksRm91bmRfMF9lcnJvcnNfaW5fdGhlX3NhbWVfZmlsZV9zdGFydGluZ19hdF9Db2xvbl8xOnIoNjI2MCwzLFwiRm91bmRfMF9lcnJvcnNfaW5fdGhlX3NhbWVfZmlsZV9zdGFydGluZ19hdF9Db2xvbl8xXzYyNjBcIixcIkZvdW5kIHswfSBlcnJvcnMgaW4gdGhlIHNhbWUgZmlsZSwgc3RhcnRpbmcgYXQ6IHsxfVwiKSxGb3VuZF8wX2Vycm9yc19pbl8xX2ZpbGVzOnIoNjI2MSwzLFwiRm91bmRfMF9lcnJvcnNfaW5fMV9maWxlc182MjYxXCIsXCJGb3VuZCB7MH0gZXJyb3JzIGluIHsxfSBmaWxlcy5cIiksRmlsZV9uYW1lXzBfaGFzX2FfMV9leHRlbnNpb25fbG9va2luZ191cF8yX2luc3RlYWQ6cig2MjYyLDMsXCJGaWxlX25hbWVfMF9oYXNfYV8xX2V4dGVuc2lvbl9sb29raW5nX3VwXzJfaW5zdGVhZF82MjYyXCIsXCJGaWxlIG5hbWUgJ3swfScgaGFzIGEgJ3sxfScgZXh0ZW5zaW9uIC0gbG9va2luZyB1cCAnezJ9JyBpbnN0ZWFkLlwiKSxNb2R1bGVfMF93YXNfcmVzb2x2ZWRfdG9fMV9idXRfYWxsb3dBcmJpdHJhcnlFeHRlbnNpb25zX2lzX25vdF9zZXQ6cig2MjYzLDEsXCJNb2R1bGVfMF93YXNfcmVzb2x2ZWRfdG9fMV9idXRfYWxsb3dBcmJpdHJhcnlFeHRlbnNpb25zX2lzX25vdF9zZXRfNjI2M1wiLFwiTW9kdWxlICd7MH0nIHdhcyByZXNvbHZlZCB0byAnezF9JywgYnV0ICctLWFsbG93QXJiaXRyYXJ5RXh0ZW5zaW9ucycgaXMgbm90IHNldC5cIiksRW5hYmxlX2ltcG9ydGluZ19maWxlc193aXRoX2FueV9leHRlbnNpb25fcHJvdmlkZWRfYV9kZWNsYXJhdGlvbl9maWxlX2lzX3ByZXNlbnQ6cig2MjY0LDMsXCJFbmFibGVfaW1wb3J0aW5nX2ZpbGVzX3dpdGhfYW55X2V4dGVuc2lvbl9wcm92aWRlZF9hX2RlY2xhcmF0aW9uX2ZpbGVfaXNfcHJlc2VudF82MjY0XCIsXCJFbmFibGUgaW1wb3J0aW5nIGZpbGVzIHdpdGggYW55IGV4dGVuc2lvbiwgcHJvdmlkZWQgYSBkZWNsYXJhdGlvbiBmaWxlIGlzIHByZXNlbnQuXCIpLFJlc29sdmluZ190eXBlX3JlZmVyZW5jZV9kaXJlY3RpdmVfZm9yX3Byb2dyYW1fdGhhdF9zcGVjaWZpZXNfY3VzdG9tX3R5cGVSb290c19za2lwcGluZ19sb29rdXBfaW5fbm9kZV9tb2R1bGVzX2ZvbGRlcjpyKDYyNjUsMyxcIlJlc29sdmluZ190eXBlX3JlZmVyZW5jZV9kaXJlY3RpdmVfZm9yX3Byb2dyYW1fdGhhdF9zcGVjaWZpZXNfY3VzdG9tX3R5cGVSb290c19za2lwcGluZ19sb29rdXBfaW5fbm9fNjI2NVwiLFwiUmVzb2x2aW5nIHR5cGUgcmVmZXJlbmNlIGRpcmVjdGl2ZSBmb3IgcHJvZ3JhbSB0aGF0IHNwZWNpZmllcyBjdXN0b20gdHlwZVJvb3RzLCBza2lwcGluZyBsb29rdXAgaW4gJ25vZGVfbW9kdWxlcycgZm9sZGVyLlwiKSxPcHRpb25fMF9jYW5fb25seV9iZV9zcGVjaWZpZWRfb25fY29tbWFuZF9saW5lOnIoNjI2NiwxLFwiT3B0aW9uXzBfY2FuX29ubHlfYmVfc3BlY2lmaWVkX29uX2NvbW1hbmRfbGluZV82MjY2XCIsXCJPcHRpb24gJ3swfScgY2FuIG9ubHkgYmUgc3BlY2lmaWVkIG9uIGNvbW1hbmQgbGluZS5cIiksRGlyZWN0b3J5XzBfaGFzX25vX2NvbnRhaW5pbmdfcGFja2FnZV9qc29uX3Njb3BlX0ltcG9ydHNfd2lsbF9ub3RfcmVzb2x2ZTpyKDYyNzAsMyxcIkRpcmVjdG9yeV8wX2hhc19ub19jb250YWluaW5nX3BhY2thZ2VfanNvbl9zY29wZV9JbXBvcnRzX3dpbGxfbm90X3Jlc29sdmVfNjI3MFwiLFwiRGlyZWN0b3J5ICd7MH0nIGhhcyBubyBjb250YWluaW5nIHBhY2thZ2UuanNvbiBzY29wZS4gSW1wb3J0cyB3aWxsIG5vdCByZXNvbHZlLlwiKSxJbXBvcnRfc3BlY2lmaWVyXzBfZG9lc19ub3RfZXhpc3RfaW5fcGFja2FnZV9qc29uX3Njb3BlX2F0X3BhdGhfMTpyKDYyNzEsMyxcIkltcG9ydF9zcGVjaWZpZXJfMF9kb2VzX25vdF9leGlzdF9pbl9wYWNrYWdlX2pzb25fc2NvcGVfYXRfcGF0aF8xXzYyNzFcIixcIkltcG9ydCBzcGVjaWZpZXIgJ3swfScgZG9lcyBub3QgZXhpc3QgaW4gcGFja2FnZS5qc29uIHNjb3BlIGF0IHBhdGggJ3sxfScuXCIpLEludmFsaWRfaW1wb3J0X3NwZWNpZmllcl8wX2hhc19ub19wb3NzaWJsZV9yZXNvbHV0aW9uczpyKDYyNzIsMyxcIkludmFsaWRfaW1wb3J0X3NwZWNpZmllcl8wX2hhc19ub19wb3NzaWJsZV9yZXNvbHV0aW9uc182MjcyXCIsXCJJbnZhbGlkIGltcG9ydCBzcGVjaWZpZXIgJ3swfScgaGFzIG5vIHBvc3NpYmxlIHJlc29sdXRpb25zLlwiKSxwYWNrYWdlX2pzb25fc2NvcGVfMF9oYXNfbm9faW1wb3J0c19kZWZpbmVkOnIoNjI3MywzLFwicGFja2FnZV9qc29uX3Njb3BlXzBfaGFzX25vX2ltcG9ydHNfZGVmaW5lZF82MjczXCIsXCJwYWNrYWdlLmpzb24gc2NvcGUgJ3swfScgaGFzIG5vIGltcG9ydHMgZGVmaW5lZC5cIikscGFja2FnZV9qc29uX3Njb3BlXzBfZXhwbGljaXRseV9tYXBzX3NwZWNpZmllcl8xX3RvX251bGw6cig2Mjc0LDMsXCJwYWNrYWdlX2pzb25fc2NvcGVfMF9leHBsaWNpdGx5X21hcHNfc3BlY2lmaWVyXzFfdG9fbnVsbF82Mjc0XCIsXCJwYWNrYWdlLmpzb24gc2NvcGUgJ3swfScgZXhwbGljaXRseSBtYXBzIHNwZWNpZmllciAnezF9JyB0byBudWxsLlwiKSxwYWNrYWdlX2pzb25fc2NvcGVfMF9oYXNfaW52YWxpZF90eXBlX2Zvcl90YXJnZXRfb2Zfc3BlY2lmaWVyXzE6cig2Mjc1LDMsXCJwYWNrYWdlX2pzb25fc2NvcGVfMF9oYXNfaW52YWxpZF90eXBlX2Zvcl90YXJnZXRfb2Zfc3BlY2lmaWVyXzFfNjI3NVwiLFwicGFja2FnZS5qc29uIHNjb3BlICd7MH0nIGhhcyBpbnZhbGlkIHR5cGUgZm9yIHRhcmdldCBvZiBzcGVjaWZpZXIgJ3sxfSdcIiksRXhwb3J0X3NwZWNpZmllcl8wX2RvZXNfbm90X2V4aXN0X2luX3BhY2thZ2VfanNvbl9zY29wZV9hdF9wYXRoXzE6cig2Mjc2LDMsXCJFeHBvcnRfc3BlY2lmaWVyXzBfZG9lc19ub3RfZXhpc3RfaW5fcGFja2FnZV9qc29uX3Njb3BlX2F0X3BhdGhfMV82Mjc2XCIsXCJFeHBvcnQgc3BlY2lmaWVyICd7MH0nIGRvZXMgbm90IGV4aXN0IGluIHBhY2thZ2UuanNvbiBzY29wZSBhdCBwYXRoICd7MX0nLlwiKSxSZXNvbHV0aW9uX29mX25vbl9yZWxhdGl2ZV9uYW1lX2ZhaWxlZF90cnlpbmdfd2l0aF9tb2Rlcm5fTm9kZV9yZXNvbHV0aW9uX2ZlYXR1cmVzX2Rpc2FibGVkX3RvX3NlZV9pZl9ucG1fbGlicmFyeV9uZWVkc19jb25maWd1cmF0aW9uX3VwZGF0ZTpyKDYyNzcsMyxcIlJlc29sdXRpb25fb2Zfbm9uX3JlbGF0aXZlX25hbWVfZmFpbGVkX3RyeWluZ193aXRoX21vZGVybl9Ob2RlX3Jlc29sdXRpb25fZmVhdHVyZXNfZGlzYWJsZWRfdG9fc2VlX2lfNjI3N1wiLFwiUmVzb2x1dGlvbiBvZiBub24tcmVsYXRpdmUgbmFtZSBmYWlsZWQ7IHRyeWluZyB3aXRoIG1vZGVybiBOb2RlIHJlc29sdXRpb24gZmVhdHVyZXMgZGlzYWJsZWQgdG8gc2VlIGlmIG5wbSBsaWJyYXJ5IG5lZWRzIGNvbmZpZ3VyYXRpb24gdXBkYXRlLlwiKSxUaGVyZV9hcmVfdHlwZXNfYXRfMF9idXRfdGhpc19yZXN1bHRfY291bGRfbm90X2JlX3Jlc29sdmVkX3doZW5fcmVzcGVjdGluZ19wYWNrYWdlX2pzb25fZXhwb3J0c19UaGVfMV9saWJyYXJ5X21heV9uZWVkX3RvX3VwZGF0ZV9pdHNfcGFja2FnZV9qc29uX29yX3R5cGluZ3M6cig2Mjc4LDMsXCJUaGVyZV9hcmVfdHlwZXNfYXRfMF9idXRfdGhpc19yZXN1bHRfY291bGRfbm90X2JlX3Jlc29sdmVkX3doZW5fcmVzcGVjdGluZ19wYWNrYWdlX2pzb25fZXhwb3J0c19UaGVfXzYyNzhcIixgVGhlcmUgYXJlIHR5cGVzIGF0ICd7MH0nLCBidXQgdGhpcyByZXN1bHQgY291bGQgbm90IGJlIHJlc29sdmVkIHdoZW4gcmVzcGVjdGluZyBwYWNrYWdlLmpzb24gXCJleHBvcnRzXCIuIFRoZSAnezF9JyBsaWJyYXJ5IG1heSBuZWVkIHRvIHVwZGF0ZSBpdHMgcGFja2FnZS5qc29uIG9yIHR5cGluZ3MuYCksUmVzb2x1dGlvbl9vZl9ub25fcmVsYXRpdmVfbmFtZV9mYWlsZWRfdHJ5aW5nX3dpdGhfbW9kdWxlUmVzb2x1dGlvbl9idW5kbGVyX3RvX3NlZV9pZl9wcm9qZWN0X21heV9uZWVkX2NvbmZpZ3VyYXRpb25fdXBkYXRlOnIoNjI3OSwzLFwiUmVzb2x1dGlvbl9vZl9ub25fcmVsYXRpdmVfbmFtZV9mYWlsZWRfdHJ5aW5nX3dpdGhfbW9kdWxlUmVzb2x1dGlvbl9idW5kbGVyX3RvX3NlZV9pZl9wcm9qZWN0X21heV9uZV82Mjc5XCIsXCJSZXNvbHV0aW9uIG9mIG5vbi1yZWxhdGl2ZSBuYW1lIGZhaWxlZDsgdHJ5aW5nIHdpdGggJy0tbW9kdWxlUmVzb2x1dGlvbiBidW5kbGVyJyB0byBzZWUgaWYgcHJvamVjdCBtYXkgbmVlZCBjb25maWd1cmF0aW9uIHVwZGF0ZS5cIiksVGhlcmVfYXJlX3R5cGVzX2F0XzBfYnV0X3RoaXNfcmVzdWx0X2NvdWxkX25vdF9iZV9yZXNvbHZlZF91bmRlcl95b3VyX2N1cnJlbnRfbW9kdWxlUmVzb2x1dGlvbl9zZXR0aW5nX0NvbnNpZGVyX3VwZGF0aW5nX3RvX25vZGUxNl9ub2RlbmV4dF9vcl9idW5kbGVyOnIoNjI4MCwzLFwiVGhlcmVfYXJlX3R5cGVzX2F0XzBfYnV0X3RoaXNfcmVzdWx0X2NvdWxkX25vdF9iZV9yZXNvbHZlZF91bmRlcl95b3VyX2N1cnJlbnRfbW9kdWxlUmVzb2x1dGlvbl9zZXR0aV82MjgwXCIsXCJUaGVyZSBhcmUgdHlwZXMgYXQgJ3swfScsIGJ1dCB0aGlzIHJlc3VsdCBjb3VsZCBub3QgYmUgcmVzb2x2ZWQgdW5kZXIgeW91ciBjdXJyZW50ICdtb2R1bGVSZXNvbHV0aW9uJyBzZXR0aW5nLiBDb25zaWRlciB1cGRhdGluZyB0byAnbm9kZTE2JywgJ25vZGVuZXh0Jywgb3IgJ2J1bmRsZXInLlwiKSxwYWNrYWdlX2pzb25faGFzX2FfcGVlckRlcGVuZGVuY2llc19maWVsZDpyKDYyODEsMyxcInBhY2thZ2VfanNvbl9oYXNfYV9wZWVyRGVwZW5kZW5jaWVzX2ZpZWxkXzYyODFcIixcIidwYWNrYWdlLmpzb24nIGhhcyBhICdwZWVyRGVwZW5kZW5jaWVzJyBmaWVsZC5cIiksRm91bmRfcGVlckRlcGVuZGVuY3lfMF93aXRoXzFfdmVyc2lvbjpyKDYyODIsMyxcIkZvdW5kX3BlZXJEZXBlbmRlbmN5XzBfd2l0aF8xX3ZlcnNpb25fNjI4MlwiLFwiRm91bmQgcGVlckRlcGVuZGVuY3kgJ3swfScgd2l0aCAnezF9JyB2ZXJzaW9uLlwiKSxGYWlsZWRfdG9fZmluZF9wZWVyRGVwZW5kZW5jeV8wOnIoNjI4MywzLFwiRmFpbGVkX3RvX2ZpbmRfcGVlckRlcGVuZGVuY3lfMF82MjgzXCIsXCJGYWlsZWQgdG8gZmluZCBwZWVyRGVwZW5kZW5jeSAnezB9Jy5cIiksRW5hYmxlX3Byb2plY3RfY29tcGlsYXRpb246cig2MzAyLDMsXCJFbmFibGVfcHJvamVjdF9jb21waWxhdGlvbl82MzAyXCIsXCJFbmFibGUgcHJvamVjdCBjb21waWxhdGlvblwiKSxDb21wb3NpdGVfcHJvamVjdHNfbWF5X25vdF9kaXNhYmxlX2RlY2xhcmF0aW9uX2VtaXQ6cig2MzA0LDEsXCJDb21wb3NpdGVfcHJvamVjdHNfbWF5X25vdF9kaXNhYmxlX2RlY2xhcmF0aW9uX2VtaXRfNjMwNFwiLFwiQ29tcG9zaXRlIHByb2plY3RzIG1heSBub3QgZGlzYWJsZSBkZWNsYXJhdGlvbiBlbWl0LlwiKSxPdXRwdXRfZmlsZV8wX2hhc19ub3RfYmVlbl9idWlsdF9mcm9tX3NvdXJjZV9maWxlXzE6cig2MzA1LDEsXCJPdXRwdXRfZmlsZV8wX2hhc19ub3RfYmVlbl9idWlsdF9mcm9tX3NvdXJjZV9maWxlXzFfNjMwNVwiLFwiT3V0cHV0IGZpbGUgJ3swfScgaGFzIG5vdCBiZWVuIGJ1aWx0IGZyb20gc291cmNlIGZpbGUgJ3sxfScuXCIpLFJlZmVyZW5jZWRfcHJvamVjdF8wX211c3RfaGF2ZV9zZXR0aW5nX2NvbXBvc2l0ZV9Db2xvbl90cnVlOnIoNjMwNiwxLFwiUmVmZXJlbmNlZF9wcm9qZWN0XzBfbXVzdF9oYXZlX3NldHRpbmdfY29tcG9zaXRlX0NvbG9uX3RydWVfNjMwNlwiLGBSZWZlcmVuY2VkIHByb2plY3QgJ3swfScgbXVzdCBoYXZlIHNldHRpbmcgXCJjb21wb3NpdGVcIjogdHJ1ZS5gKSxGaWxlXzBfaXNfbm90X2xpc3RlZF93aXRoaW5fdGhlX2ZpbGVfbGlzdF9vZl9wcm9qZWN0XzFfUHJvamVjdHNfbXVzdF9saXN0X2FsbF9maWxlc19vcl91c2VfYW5faW5jbHVkZV9wYXR0ZXJuOnIoNjMwNywxLFwiRmlsZV8wX2lzX25vdF9saXN0ZWRfd2l0aGluX3RoZV9maWxlX2xpc3Rfb2ZfcHJvamVjdF8xX1Byb2plY3RzX211c3RfbGlzdF9hbGxfZmlsZXNfb3JfdXNlX2FuX2luY2x1ZF82MzA3XCIsXCJGaWxlICd7MH0nIGlzIG5vdCBsaXN0ZWQgd2l0aGluIHRoZSBmaWxlIGxpc3Qgb2YgcHJvamVjdCAnezF9Jy4gUHJvamVjdHMgbXVzdCBsaXN0IGFsbCBmaWxlcyBvciB1c2UgYW4gJ2luY2x1ZGUnIHBhdHRlcm4uXCIpLFJlZmVyZW5jZWRfcHJvamVjdF8wX21heV9ub3RfZGlzYWJsZV9lbWl0OnIoNjMxMCwxLFwiUmVmZXJlbmNlZF9wcm9qZWN0XzBfbWF5X25vdF9kaXNhYmxlX2VtaXRfNjMxMFwiLFwiUmVmZXJlbmNlZCBwcm9qZWN0ICd7MH0nIG1heSBub3QgZGlzYWJsZSBlbWl0LlwiKSxQcm9qZWN0XzBfaXNfb3V0X29mX2RhdGVfYmVjYXVzZV9vdXRwdXRfMV9pc19vbGRlcl90aGFuX2lucHV0XzI6cig2MzUwLDMsXCJQcm9qZWN0XzBfaXNfb3V0X29mX2RhdGVfYmVjYXVzZV9vdXRwdXRfMV9pc19vbGRlcl90aGFuX2lucHV0XzJfNjM1MFwiLFwiUHJvamVjdCAnezB9JyBpcyBvdXQgb2YgZGF0ZSBiZWNhdXNlIG91dHB1dCAnezF9JyBpcyBvbGRlciB0aGFuIGlucHV0ICd7Mn0nXCIpLFByb2plY3RfMF9pc191cF90b19kYXRlX2JlY2F1c2VfbmV3ZXN0X2lucHV0XzFfaXNfb2xkZXJfdGhhbl9vdXRwdXRfMjpyKDYzNTEsMyxcIlByb2plY3RfMF9pc191cF90b19kYXRlX2JlY2F1c2VfbmV3ZXN0X2lucHV0XzFfaXNfb2xkZXJfdGhhbl9vdXRwdXRfMl82MzUxXCIsXCJQcm9qZWN0ICd7MH0nIGlzIHVwIHRvIGRhdGUgYmVjYXVzZSBuZXdlc3QgaW5wdXQgJ3sxfScgaXMgb2xkZXIgdGhhbiBvdXRwdXQgJ3syfSdcIiksUHJvamVjdF8wX2lzX291dF9vZl9kYXRlX2JlY2F1c2Vfb3V0cHV0X2ZpbGVfMV9kb2VzX25vdF9leGlzdDpyKDYzNTIsMyxcIlByb2plY3RfMF9pc19vdXRfb2ZfZGF0ZV9iZWNhdXNlX291dHB1dF9maWxlXzFfZG9lc19ub3RfZXhpc3RfNjM1MlwiLFwiUHJvamVjdCAnezB9JyBpcyBvdXQgb2YgZGF0ZSBiZWNhdXNlIG91dHB1dCBmaWxlICd7MX0nIGRvZXMgbm90IGV4aXN0XCIpLFByb2plY3RfMF9pc19vdXRfb2ZfZGF0ZV9iZWNhdXNlX2l0c19kZXBlbmRlbmN5XzFfaXNfb3V0X29mX2RhdGU6cig2MzUzLDMsXCJQcm9qZWN0XzBfaXNfb3V0X29mX2RhdGVfYmVjYXVzZV9pdHNfZGVwZW5kZW5jeV8xX2lzX291dF9vZl9kYXRlXzYzNTNcIixcIlByb2plY3QgJ3swfScgaXMgb3V0IG9mIGRhdGUgYmVjYXVzZSBpdHMgZGVwZW5kZW5jeSAnezF9JyBpcyBvdXQgb2YgZGF0ZVwiKSxQcm9qZWN0XzBfaXNfdXBfdG9fZGF0ZV93aXRoX2RfdHNfZmlsZXNfZnJvbV9pdHNfZGVwZW5kZW5jaWVzOnIoNjM1NCwzLFwiUHJvamVjdF8wX2lzX3VwX3RvX2RhdGVfd2l0aF9kX3RzX2ZpbGVzX2Zyb21faXRzX2RlcGVuZGVuY2llc182MzU0XCIsXCJQcm9qZWN0ICd7MH0nIGlzIHVwIHRvIGRhdGUgd2l0aCAuZC50cyBmaWxlcyBmcm9tIGl0cyBkZXBlbmRlbmNpZXNcIiksUHJvamVjdHNfaW5fdGhpc19idWlsZF9Db2xvbl8wOnIoNjM1NSwzLFwiUHJvamVjdHNfaW5fdGhpc19idWlsZF9Db2xvbl8wXzYzNTVcIixcIlByb2plY3RzIGluIHRoaXMgYnVpbGQ6IHswfVwiKSxBX25vbl9kcnlfYnVpbGRfd291bGRfZGVsZXRlX3RoZV9mb2xsb3dpbmdfZmlsZXNfQ29sb25fMDpyKDYzNTYsMyxcIkFfbm9uX2RyeV9idWlsZF93b3VsZF9kZWxldGVfdGhlX2ZvbGxvd2luZ19maWxlc19Db2xvbl8wXzYzNTZcIixcIkEgbm9uLWRyeSBidWlsZCB3b3VsZCBkZWxldGUgdGhlIGZvbGxvd2luZyBmaWxlczogezB9XCIpLEFfbm9uX2RyeV9idWlsZF93b3VsZF9idWlsZF9wcm9qZWN0XzA6cig2MzU3LDMsXCJBX25vbl9kcnlfYnVpbGRfd291bGRfYnVpbGRfcHJvamVjdF8wXzYzNTdcIixcIkEgbm9uLWRyeSBidWlsZCB3b3VsZCBidWlsZCBwcm9qZWN0ICd7MH0nXCIpLEJ1aWxkaW5nX3Byb2plY3RfMDpyKDYzNTgsMyxcIkJ1aWxkaW5nX3Byb2plY3RfMF82MzU4XCIsXCJCdWlsZGluZyBwcm9qZWN0ICd7MH0nLi4uXCIpLFVwZGF0aW5nX291dHB1dF90aW1lc3RhbXBzX29mX3Byb2plY3RfMDpyKDYzNTksMyxcIlVwZGF0aW5nX291dHB1dF90aW1lc3RhbXBzX29mX3Byb2plY3RfMF82MzU5XCIsXCJVcGRhdGluZyBvdXRwdXQgdGltZXN0YW1wcyBvZiBwcm9qZWN0ICd7MH0nLi4uXCIpLFByb2plY3RfMF9pc191cF90b19kYXRlOnIoNjM2MSwzLFwiUHJvamVjdF8wX2lzX3VwX3RvX2RhdGVfNjM2MVwiLFwiUHJvamVjdCAnezB9JyBpcyB1cCB0byBkYXRlXCIpLFNraXBwaW5nX2J1aWxkX29mX3Byb2plY3RfMF9iZWNhdXNlX2l0c19kZXBlbmRlbmN5XzFfaGFzX2Vycm9yczpyKDYzNjIsMyxcIlNraXBwaW5nX2J1aWxkX29mX3Byb2plY3RfMF9iZWNhdXNlX2l0c19kZXBlbmRlbmN5XzFfaGFzX2Vycm9yc182MzYyXCIsXCJTa2lwcGluZyBidWlsZCBvZiBwcm9qZWN0ICd7MH0nIGJlY2F1c2UgaXRzIGRlcGVuZGVuY3kgJ3sxfScgaGFzIGVycm9yc1wiKSxQcm9qZWN0XzBfY2FuX3RfYmVfYnVpbHRfYmVjYXVzZV9pdHNfZGVwZW5kZW5jeV8xX2hhc19lcnJvcnM6cig2MzYzLDMsXCJQcm9qZWN0XzBfY2FuX3RfYmVfYnVpbHRfYmVjYXVzZV9pdHNfZGVwZW5kZW5jeV8xX2hhc19lcnJvcnNfNjM2M1wiLFwiUHJvamVjdCAnezB9JyBjYW4ndCBiZSBidWlsdCBiZWNhdXNlIGl0cyBkZXBlbmRlbmN5ICd7MX0nIGhhcyBlcnJvcnNcIiksQnVpbGRfb25lX29yX21vcmVfcHJvamVjdHNfYW5kX3RoZWlyX2RlcGVuZGVuY2llc19pZl9vdXRfb2ZfZGF0ZTpyKDYzNjQsMyxcIkJ1aWxkX29uZV9vcl9tb3JlX3Byb2plY3RzX2FuZF90aGVpcl9kZXBlbmRlbmNpZXNfaWZfb3V0X29mX2RhdGVfNjM2NFwiLFwiQnVpbGQgb25lIG9yIG1vcmUgcHJvamVjdHMgYW5kIHRoZWlyIGRlcGVuZGVuY2llcywgaWYgb3V0IG9mIGRhdGVcIiksRGVsZXRlX3RoZV9vdXRwdXRzX29mX2FsbF9wcm9qZWN0czpyKDYzNjUsMyxcIkRlbGV0ZV90aGVfb3V0cHV0c19vZl9hbGxfcHJvamVjdHNfNjM2NVwiLFwiRGVsZXRlIHRoZSBvdXRwdXRzIG9mIGFsbCBwcm9qZWN0cy5cIiksU2hvd193aGF0X3dvdWxkX2JlX2J1aWx0X29yX2RlbGV0ZWRfaWZfc3BlY2lmaWVkX3dpdGhfY2xlYW46cig2MzY3LDMsXCJTaG93X3doYXRfd291bGRfYmVfYnVpbHRfb3JfZGVsZXRlZF9pZl9zcGVjaWZpZWRfd2l0aF9jbGVhbl82MzY3XCIsXCJTaG93IHdoYXQgd291bGQgYmUgYnVpbHQgKG9yIGRlbGV0ZWQsIGlmIHNwZWNpZmllZCB3aXRoICctLWNsZWFuJylcIiksT3B0aW9uX2J1aWxkX211c3RfYmVfdGhlX2ZpcnN0X2NvbW1hbmRfbGluZV9hcmd1bWVudDpyKDYzNjksMSxcIk9wdGlvbl9idWlsZF9tdXN0X2JlX3RoZV9maXJzdF9jb21tYW5kX2xpbmVfYXJndW1lbnRfNjM2OVwiLFwiT3B0aW9uICctLWJ1aWxkJyBtdXN0IGJlIHRoZSBmaXJzdCBjb21tYW5kIGxpbmUgYXJndW1lbnQuXCIpLE9wdGlvbnNfMF9hbmRfMV9jYW5ub3RfYmVfY29tYmluZWQ6cig2MzcwLDEsXCJPcHRpb25zXzBfYW5kXzFfY2Fubm90X2JlX2NvbWJpbmVkXzYzNzBcIixcIk9wdGlvbnMgJ3swfScgYW5kICd7MX0nIGNhbm5vdCBiZSBjb21iaW5lZC5cIiksVXBkYXRpbmdfdW5jaGFuZ2VkX291dHB1dF90aW1lc3RhbXBzX29mX3Byb2plY3RfMDpyKDYzNzEsMyxcIlVwZGF0aW5nX3VuY2hhbmdlZF9vdXRwdXRfdGltZXN0YW1wc19vZl9wcm9qZWN0XzBfNjM3MVwiLFwiVXBkYXRpbmcgdW5jaGFuZ2VkIG91dHB1dCB0aW1lc3RhbXBzIG9mIHByb2plY3QgJ3swfScuLi5cIiksQV9ub25fZHJ5X2J1aWxkX3dvdWxkX3VwZGF0ZV90aW1lc3RhbXBzX2Zvcl9vdXRwdXRfb2ZfcHJvamVjdF8wOnIoNjM3NCwzLFwiQV9ub25fZHJ5X2J1aWxkX3dvdWxkX3VwZGF0ZV90aW1lc3RhbXBzX2Zvcl9vdXRwdXRfb2ZfcHJvamVjdF8wXzYzNzRcIixcIkEgbm9uLWRyeSBidWlsZCB3b3VsZCB1cGRhdGUgdGltZXN0YW1wcyBmb3Igb3V0cHV0IG9mIHByb2plY3QgJ3swfSdcIiksQ2Fubm90X3dyaXRlX2ZpbGVfMF9iZWNhdXNlX2l0X3dpbGxfb3ZlcndyaXRlX3RzYnVpbGRpbmZvX2ZpbGVfZ2VuZXJhdGVkX2J5X3JlZmVyZW5jZWRfcHJvamVjdF8xOnIoNjM3NywxLFwiQ2Fubm90X3dyaXRlX2ZpbGVfMF9iZWNhdXNlX2l0X3dpbGxfb3ZlcndyaXRlX3RzYnVpbGRpbmZvX2ZpbGVfZ2VuZXJhdGVkX2J5X3JlZmVyZW5jZWRfcHJvamVjdF8xXzYzNzdcIixcIkNhbm5vdCB3cml0ZSBmaWxlICd7MH0nIGJlY2F1c2UgaXQgd2lsbCBvdmVyd3JpdGUgJy50c2J1aWxkaW5mbycgZmlsZSBnZW5lcmF0ZWQgYnkgcmVmZXJlbmNlZCBwcm9qZWN0ICd7MX0nXCIpLENvbXBvc2l0ZV9wcm9qZWN0c19tYXlfbm90X2Rpc2FibGVfaW5jcmVtZW50YWxfY29tcGlsYXRpb246cig2Mzc5LDEsXCJDb21wb3NpdGVfcHJvamVjdHNfbWF5X25vdF9kaXNhYmxlX2luY3JlbWVudGFsX2NvbXBpbGF0aW9uXzYzNzlcIixcIkNvbXBvc2l0ZSBwcm9qZWN0cyBtYXkgbm90IGRpc2FibGUgaW5jcmVtZW50YWwgY29tcGlsYXRpb24uXCIpLFNwZWNpZnlfZmlsZV90b19zdG9yZV9pbmNyZW1lbnRhbF9jb21waWxhdGlvbl9pbmZvcm1hdGlvbjpyKDYzODAsMyxcIlNwZWNpZnlfZmlsZV90b19zdG9yZV9pbmNyZW1lbnRhbF9jb21waWxhdGlvbl9pbmZvcm1hdGlvbl82MzgwXCIsXCJTcGVjaWZ5IGZpbGUgdG8gc3RvcmUgaW5jcmVtZW50YWwgY29tcGlsYXRpb24gaW5mb3JtYXRpb25cIiksUHJvamVjdF8wX2lzX291dF9vZl9kYXRlX2JlY2F1c2Vfb3V0cHV0X2Zvcl9pdF93YXNfZ2VuZXJhdGVkX3dpdGhfdmVyc2lvbl8xX3RoYXRfZGlmZmVyc193aXRoX2N1cnJlbnRfdmVyc2lvbl8yOnIoNjM4MSwzLFwiUHJvamVjdF8wX2lzX291dF9vZl9kYXRlX2JlY2F1c2Vfb3V0cHV0X2Zvcl9pdF93YXNfZ2VuZXJhdGVkX3dpdGhfdmVyc2lvbl8xX3RoYXRfZGlmZmVyc193aXRoX2N1cnJlbl82MzgxXCIsXCJQcm9qZWN0ICd7MH0nIGlzIG91dCBvZiBkYXRlIGJlY2F1c2Ugb3V0cHV0IGZvciBpdCB3YXMgZ2VuZXJhdGVkIHdpdGggdmVyc2lvbiAnezF9JyB0aGF0IGRpZmZlcnMgd2l0aCBjdXJyZW50IHZlcnNpb24gJ3syfSdcIiksU2tpcHBpbmdfYnVpbGRfb2ZfcHJvamVjdF8wX2JlY2F1c2VfaXRzX2RlcGVuZGVuY3lfMV93YXNfbm90X2J1aWx0OnIoNjM4MiwzLFwiU2tpcHBpbmdfYnVpbGRfb2ZfcHJvamVjdF8wX2JlY2F1c2VfaXRzX2RlcGVuZGVuY3lfMV93YXNfbm90X2J1aWx0XzYzODJcIixcIlNraXBwaW5nIGJ1aWxkIG9mIHByb2plY3QgJ3swfScgYmVjYXVzZSBpdHMgZGVwZW5kZW5jeSAnezF9JyB3YXMgbm90IGJ1aWx0XCIpLFByb2plY3RfMF9jYW5fdF9iZV9idWlsdF9iZWNhdXNlX2l0c19kZXBlbmRlbmN5XzFfd2FzX25vdF9idWlsdDpyKDYzODMsMyxcIlByb2plY3RfMF9jYW5fdF9iZV9idWlsdF9iZWNhdXNlX2l0c19kZXBlbmRlbmN5XzFfd2FzX25vdF9idWlsdF82MzgzXCIsXCJQcm9qZWN0ICd7MH0nIGNhbid0IGJlIGJ1aWx0IGJlY2F1c2UgaXRzIGRlcGVuZGVuY3kgJ3sxfScgd2FzIG5vdCBidWlsdFwiKSxIYXZlX3JlY29tcGlsZXNfaW5faW5jcmVtZW50YWxfYW5kX3dhdGNoX2Fzc3VtZV90aGF0X2NoYW5nZXNfd2l0aGluX2FfZmlsZV93aWxsX29ubHlfYWZmZWN0X2ZpbGVzX2RpcmVjdGx5X2RlcGVuZGluZ19vbl9pdDpyKDYzODQsMyxcIkhhdmVfcmVjb21waWxlc19pbl9pbmNyZW1lbnRhbF9hbmRfd2F0Y2hfYXNzdW1lX3RoYXRfY2hhbmdlc193aXRoaW5fYV9maWxlX3dpbGxfb25seV9hZmZlY3RfZmlsZXNfZGlfNjM4NFwiLFwiSGF2ZSByZWNvbXBpbGVzIGluICctLWluY3JlbWVudGFsJyBhbmQgJy0td2F0Y2gnIGFzc3VtZSB0aGF0IGNoYW5nZXMgd2l0aGluIGEgZmlsZSB3aWxsIG9ubHkgYWZmZWN0IGZpbGVzIGRpcmVjdGx5IGRlcGVuZGluZyBvbiBpdC5cIiksXzBfaXNfZGVwcmVjYXRlZDpyKDYzODUsMixcIl8wX2lzX2RlcHJlY2F0ZWRfNjM4NVwiLFwiJ3swfScgaXMgZGVwcmVjYXRlZC5cIix2b2lkIDAsdm9pZCAwLCEwKSxQZXJmb3JtYW5jZV90aW1pbmdzX2Zvcl9kaWFnbm9zdGljc19vcl9leHRlbmRlZERpYWdub3N0aWNzX2FyZV9ub3RfYXZhaWxhYmxlX2luX3RoaXNfc2Vzc2lvbl9BX25hdGl2ZV9pbXBsZW1lbnRhdGlvbl9vZl90aGVfV2ViX1BlcmZvcm1hbmNlX0FQSV9jb3VsZF9ub3RfYmVfZm91bmQ6cig2Mzg2LDMsXCJQZXJmb3JtYW5jZV90aW1pbmdzX2Zvcl9kaWFnbm9zdGljc19vcl9leHRlbmRlZERpYWdub3N0aWNzX2FyZV9ub3RfYXZhaWxhYmxlX2luX3RoaXNfc2Vzc2lvbl9BX25hdGl2XzYzODZcIixcIlBlcmZvcm1hbmNlIHRpbWluZ3MgZm9yICctLWRpYWdub3N0aWNzJyBvciAnLS1leHRlbmRlZERpYWdub3N0aWNzJyBhcmUgbm90IGF2YWlsYWJsZSBpbiB0aGlzIHNlc3Npb24uIEEgbmF0aXZlIGltcGxlbWVudGF0aW9uIG9mIHRoZSBXZWIgUGVyZm9ybWFuY2UgQVBJIGNvdWxkIG5vdCBiZSBmb3VuZC5cIiksVGhlX3NpZ25hdHVyZV8wX29mXzFfaXNfZGVwcmVjYXRlZDpyKDYzODcsMixcIlRoZV9zaWduYXR1cmVfMF9vZl8xX2lzX2RlcHJlY2F0ZWRfNjM4N1wiLFwiVGhlIHNpZ25hdHVyZSAnezB9JyBvZiAnezF9JyBpcyBkZXByZWNhdGVkLlwiLHZvaWQgMCx2b2lkIDAsITApLFByb2plY3RfMF9pc19iZWluZ19mb3JjaWJseV9yZWJ1aWx0OnIoNjM4OCwzLFwiUHJvamVjdF8wX2lzX2JlaW5nX2ZvcmNpYmx5X3JlYnVpbHRfNjM4OFwiLFwiUHJvamVjdCAnezB9JyBpcyBiZWluZyBmb3JjaWJseSByZWJ1aWx0XCIpLFJldXNpbmdfcmVzb2x1dGlvbl9vZl9tb2R1bGVfMF9mcm9tXzFfb2Zfb2xkX3Byb2dyYW1faXRfd2FzX25vdF9yZXNvbHZlZDpyKDYzODksMyxcIlJldXNpbmdfcmVzb2x1dGlvbl9vZl9tb2R1bGVfMF9mcm9tXzFfb2Zfb2xkX3Byb2dyYW1faXRfd2FzX25vdF9yZXNvbHZlZF82Mzg5XCIsXCJSZXVzaW5nIHJlc29sdXRpb24gb2YgbW9kdWxlICd7MH0nIGZyb20gJ3sxfScgb2Ygb2xkIHByb2dyYW0sIGl0IHdhcyBub3QgcmVzb2x2ZWQuXCIpLFJldXNpbmdfcmVzb2x1dGlvbl9vZl90eXBlX3JlZmVyZW5jZV9kaXJlY3RpdmVfMF9mcm9tXzFfb2Zfb2xkX3Byb2dyYW1faXRfd2FzX3N1Y2Nlc3NmdWxseV9yZXNvbHZlZF90b18yOnIoNjM5MCwzLFwiUmV1c2luZ19yZXNvbHV0aW9uX29mX3R5cGVfcmVmZXJlbmNlX2RpcmVjdGl2ZV8wX2Zyb21fMV9vZl9vbGRfcHJvZ3JhbV9pdF93YXNfc3VjY2Vzc2Z1bGx5X3Jlc29sdmVkX182MzkwXCIsXCJSZXVzaW5nIHJlc29sdXRpb24gb2YgdHlwZSByZWZlcmVuY2UgZGlyZWN0aXZlICd7MH0nIGZyb20gJ3sxfScgb2Ygb2xkIHByb2dyYW0sIGl0IHdhcyBzdWNjZXNzZnVsbHkgcmVzb2x2ZWQgdG8gJ3syfScuXCIpLFJldXNpbmdfcmVzb2x1dGlvbl9vZl90eXBlX3JlZmVyZW5jZV9kaXJlY3RpdmVfMF9mcm9tXzFfb2Zfb2xkX3Byb2dyYW1faXRfd2FzX3N1Y2Nlc3NmdWxseV9yZXNvbHZlZF90b18yX3dpdGhfUGFja2FnZV9JRF8zOnIoNjM5MSwzLFwiUmV1c2luZ19yZXNvbHV0aW9uX29mX3R5cGVfcmVmZXJlbmNlX2RpcmVjdGl2ZV8wX2Zyb21fMV9vZl9vbGRfcHJvZ3JhbV9pdF93YXNfc3VjY2Vzc2Z1bGx5X3Jlc29sdmVkX182MzkxXCIsXCJSZXVzaW5nIHJlc29sdXRpb24gb2YgdHlwZSByZWZlcmVuY2UgZGlyZWN0aXZlICd7MH0nIGZyb20gJ3sxfScgb2Ygb2xkIHByb2dyYW0sIGl0IHdhcyBzdWNjZXNzZnVsbHkgcmVzb2x2ZWQgdG8gJ3syfScgd2l0aCBQYWNrYWdlIElEICd7M30nLlwiKSxSZXVzaW5nX3Jlc29sdXRpb25fb2ZfdHlwZV9yZWZlcmVuY2VfZGlyZWN0aXZlXzBfZnJvbV8xX29mX29sZF9wcm9ncmFtX2l0X3dhc19ub3RfcmVzb2x2ZWQ6cig2MzkyLDMsXCJSZXVzaW5nX3Jlc29sdXRpb25fb2ZfdHlwZV9yZWZlcmVuY2VfZGlyZWN0aXZlXzBfZnJvbV8xX29mX29sZF9wcm9ncmFtX2l0X3dhc19ub3RfcmVzb2x2ZWRfNjM5MlwiLFwiUmV1c2luZyByZXNvbHV0aW9uIG9mIHR5cGUgcmVmZXJlbmNlIGRpcmVjdGl2ZSAnezB9JyBmcm9tICd7MX0nIG9mIG9sZCBwcm9ncmFtLCBpdCB3YXMgbm90IHJlc29sdmVkLlwiKSxSZXVzaW5nX3Jlc29sdXRpb25fb2ZfbW9kdWxlXzBfZnJvbV8xX2ZvdW5kX2luX2NhY2hlX2Zyb21fbG9jYXRpb25fMl9pdF93YXNfc3VjY2Vzc2Z1bGx5X3Jlc29sdmVkX3RvXzM6cig2MzkzLDMsXCJSZXVzaW5nX3Jlc29sdXRpb25fb2ZfbW9kdWxlXzBfZnJvbV8xX2ZvdW5kX2luX2NhY2hlX2Zyb21fbG9jYXRpb25fMl9pdF93YXNfc3VjY2Vzc2Z1bGx5X3Jlc29sdmVkX3RvXzYzOTNcIixcIlJldXNpbmcgcmVzb2x1dGlvbiBvZiBtb2R1bGUgJ3swfScgZnJvbSAnezF9JyBmb3VuZCBpbiBjYWNoZSBmcm9tIGxvY2F0aW9uICd7Mn0nLCBpdCB3YXMgc3VjY2Vzc2Z1bGx5IHJlc29sdmVkIHRvICd7M30nLlwiKSxSZXVzaW5nX3Jlc29sdXRpb25fb2ZfbW9kdWxlXzBfZnJvbV8xX2ZvdW5kX2luX2NhY2hlX2Zyb21fbG9jYXRpb25fMl9pdF93YXNfc3VjY2Vzc2Z1bGx5X3Jlc29sdmVkX3RvXzNfd2l0aF9QYWNrYWdlX0lEXzQ6cig2Mzk0LDMsXCJSZXVzaW5nX3Jlc29sdXRpb25fb2ZfbW9kdWxlXzBfZnJvbV8xX2ZvdW5kX2luX2NhY2hlX2Zyb21fbG9jYXRpb25fMl9pdF93YXNfc3VjY2Vzc2Z1bGx5X3Jlc29sdmVkX3RvXzYzOTRcIixcIlJldXNpbmcgcmVzb2x1dGlvbiBvZiBtb2R1bGUgJ3swfScgZnJvbSAnezF9JyBmb3VuZCBpbiBjYWNoZSBmcm9tIGxvY2F0aW9uICd7Mn0nLCBpdCB3YXMgc3VjY2Vzc2Z1bGx5IHJlc29sdmVkIHRvICd7M30nIHdpdGggUGFja2FnZSBJRCAnezR9Jy5cIiksUmV1c2luZ19yZXNvbHV0aW9uX29mX21vZHVsZV8wX2Zyb21fMV9mb3VuZF9pbl9jYWNoZV9mcm9tX2xvY2F0aW9uXzJfaXRfd2FzX25vdF9yZXNvbHZlZDpyKDYzOTUsMyxcIlJldXNpbmdfcmVzb2x1dGlvbl9vZl9tb2R1bGVfMF9mcm9tXzFfZm91bmRfaW5fY2FjaGVfZnJvbV9sb2NhdGlvbl8yX2l0X3dhc19ub3RfcmVzb2x2ZWRfNjM5NVwiLFwiUmV1c2luZyByZXNvbHV0aW9uIG9mIG1vZHVsZSAnezB9JyBmcm9tICd7MX0nIGZvdW5kIGluIGNhY2hlIGZyb20gbG9jYXRpb24gJ3syfScsIGl0IHdhcyBub3QgcmVzb2x2ZWQuXCIpLFJldXNpbmdfcmVzb2x1dGlvbl9vZl90eXBlX3JlZmVyZW5jZV9kaXJlY3RpdmVfMF9mcm9tXzFfZm91bmRfaW5fY2FjaGVfZnJvbV9sb2NhdGlvbl8yX2l0X3dhc19zdWNjZXNzZnVsbHlfcmVzb2x2ZWRfdG9fMzpyKDYzOTYsMyxcIlJldXNpbmdfcmVzb2x1dGlvbl9vZl90eXBlX3JlZmVyZW5jZV9kaXJlY3RpdmVfMF9mcm9tXzFfZm91bmRfaW5fY2FjaGVfZnJvbV9sb2NhdGlvbl8yX2l0X3dhc19zdWNjZXNfNjM5NlwiLFwiUmV1c2luZyByZXNvbHV0aW9uIG9mIHR5cGUgcmVmZXJlbmNlIGRpcmVjdGl2ZSAnezB9JyBmcm9tICd7MX0nIGZvdW5kIGluIGNhY2hlIGZyb20gbG9jYXRpb24gJ3syfScsIGl0IHdhcyBzdWNjZXNzZnVsbHkgcmVzb2x2ZWQgdG8gJ3szfScuXCIpLFJldXNpbmdfcmVzb2x1dGlvbl9vZl90eXBlX3JlZmVyZW5jZV9kaXJlY3RpdmVfMF9mcm9tXzFfZm91bmRfaW5fY2FjaGVfZnJvbV9sb2NhdGlvbl8yX2l0X3dhc19zdWNjZXNzZnVsbHlfcmVzb2x2ZWRfdG9fM193aXRoX1BhY2thZ2VfSURfNDpyKDYzOTcsMyxcIlJldXNpbmdfcmVzb2x1dGlvbl9vZl90eXBlX3JlZmVyZW5jZV9kaXJlY3RpdmVfMF9mcm9tXzFfZm91bmRfaW5fY2FjaGVfZnJvbV9sb2NhdGlvbl8yX2l0X3dhc19zdWNjZXNfNjM5N1wiLFwiUmV1c2luZyByZXNvbHV0aW9uIG9mIHR5cGUgcmVmZXJlbmNlIGRpcmVjdGl2ZSAnezB9JyBmcm9tICd7MX0nIGZvdW5kIGluIGNhY2hlIGZyb20gbG9jYXRpb24gJ3syfScsIGl0IHdhcyBzdWNjZXNzZnVsbHkgcmVzb2x2ZWQgdG8gJ3szfScgd2l0aCBQYWNrYWdlIElEICd7NH0nLlwiKSxSZXVzaW5nX3Jlc29sdXRpb25fb2ZfdHlwZV9yZWZlcmVuY2VfZGlyZWN0aXZlXzBfZnJvbV8xX2ZvdW5kX2luX2NhY2hlX2Zyb21fbG9jYXRpb25fMl9pdF93YXNfbm90X3Jlc29sdmVkOnIoNjM5OCwzLFwiUmV1c2luZ19yZXNvbHV0aW9uX29mX3R5cGVfcmVmZXJlbmNlX2RpcmVjdGl2ZV8wX2Zyb21fMV9mb3VuZF9pbl9jYWNoZV9mcm9tX2xvY2F0aW9uXzJfaXRfd2FzX25vdF9yZV82Mzk4XCIsXCJSZXVzaW5nIHJlc29sdXRpb24gb2YgdHlwZSByZWZlcmVuY2UgZGlyZWN0aXZlICd7MH0nIGZyb20gJ3sxfScgZm91bmQgaW4gY2FjaGUgZnJvbSBsb2NhdGlvbiAnezJ9JywgaXQgd2FzIG5vdCByZXNvbHZlZC5cIiksUHJvamVjdF8wX2lzX291dF9vZl9kYXRlX2JlY2F1c2VfYnVpbGRpbmZvX2ZpbGVfMV9pbmRpY2F0ZXNfdGhhdF9zb21lX29mX3RoZV9jaGFuZ2VzX3dlcmVfbm90X2VtaXR0ZWQ6cig2Mzk5LDMsXCJQcm9qZWN0XzBfaXNfb3V0X29mX2RhdGVfYmVjYXVzZV9idWlsZGluZm9fZmlsZV8xX2luZGljYXRlc190aGF0X3NvbWVfb2ZfdGhlX2NoYW5nZXNfd2VyZV9ub3RfZW1pdHRlXzYzOTlcIixcIlByb2plY3QgJ3swfScgaXMgb3V0IG9mIGRhdGUgYmVjYXVzZSBidWlsZGluZm8gZmlsZSAnezF9JyBpbmRpY2F0ZXMgdGhhdCBzb21lIG9mIHRoZSBjaGFuZ2VzIHdlcmUgbm90IGVtaXR0ZWRcIiksUHJvamVjdF8wX2lzX3VwX3RvX2RhdGVfYnV0X25lZWRzX3RvX3VwZGF0ZV90aW1lc3RhbXBzX29mX291dHB1dF9maWxlc190aGF0X2FyZV9vbGRlcl90aGFuX2lucHV0X2ZpbGVzOnIoNjQwMCwzLFwiUHJvamVjdF8wX2lzX3VwX3RvX2RhdGVfYnV0X25lZWRzX3RvX3VwZGF0ZV90aW1lc3RhbXBzX29mX291dHB1dF9maWxlc190aGF0X2FyZV9vbGRlcl90aGFuX2lucHV0X2ZpbF82NDAwXCIsXCJQcm9qZWN0ICd7MH0nIGlzIHVwIHRvIGRhdGUgYnV0IG5lZWRzIHRvIHVwZGF0ZSB0aW1lc3RhbXBzIG9mIG91dHB1dCBmaWxlcyB0aGF0IGFyZSBvbGRlciB0aGFuIGlucHV0IGZpbGVzXCIpLFByb2plY3RfMF9pc19vdXRfb2ZfZGF0ZV9iZWNhdXNlX3RoZXJlX3dhc19lcnJvcl9yZWFkaW5nX2ZpbGVfMTpyKDY0MDEsMyxcIlByb2plY3RfMF9pc19vdXRfb2ZfZGF0ZV9iZWNhdXNlX3RoZXJlX3dhc19lcnJvcl9yZWFkaW5nX2ZpbGVfMV82NDAxXCIsXCJQcm9qZWN0ICd7MH0nIGlzIG91dCBvZiBkYXRlIGJlY2F1c2UgdGhlcmUgd2FzIGVycm9yIHJlYWRpbmcgZmlsZSAnezF9J1wiKSxSZXNvbHZpbmdfaW5fMF9tb2RlX3dpdGhfY29uZGl0aW9uc18xOnIoNjQwMiwzLFwiUmVzb2x2aW5nX2luXzBfbW9kZV93aXRoX2NvbmRpdGlvbnNfMV82NDAyXCIsXCJSZXNvbHZpbmcgaW4gezB9IG1vZGUgd2l0aCBjb25kaXRpb25zIHsxfS5cIiksTWF0Y2hlZF8wX2NvbmRpdGlvbl8xOnIoNjQwMywzLFwiTWF0Y2hlZF8wX2NvbmRpdGlvbl8xXzY0MDNcIixcIk1hdGNoZWQgJ3swfScgY29uZGl0aW9uICd7MX0nLlwiKSxVc2luZ18wX3N1YnBhdGhfMV93aXRoX3RhcmdldF8yOnIoNjQwNCwzLFwiVXNpbmdfMF9zdWJwYXRoXzFfd2l0aF90YXJnZXRfMl82NDA0XCIsXCJVc2luZyAnezB9JyBzdWJwYXRoICd7MX0nIHdpdGggdGFyZ2V0ICd7Mn0nLlwiKSxTYXdfbm9uX21hdGNoaW5nX2NvbmRpdGlvbl8wOnIoNjQwNSwzLFwiU2F3X25vbl9tYXRjaGluZ19jb25kaXRpb25fMF82NDA1XCIsXCJTYXcgbm9uLW1hdGNoaW5nIGNvbmRpdGlvbiAnezB9Jy5cIiksUHJvamVjdF8wX2lzX291dF9vZl9kYXRlX2JlY2F1c2VfYnVpbGRpbmZvX2ZpbGVfMV9pbmRpY2F0ZXNfdGhlcmVfaXNfY2hhbmdlX2luX2NvbXBpbGVyT3B0aW9uczpyKDY0MDYsMyxcIlByb2plY3RfMF9pc19vdXRfb2ZfZGF0ZV9iZWNhdXNlX2J1aWxkaW5mb19maWxlXzFfaW5kaWNhdGVzX3RoZXJlX2lzX2NoYW5nZV9pbl9jb21waWxlck9wdGlvbnNfNjQwNlwiLFwiUHJvamVjdCAnezB9JyBpcyBvdXQgb2YgZGF0ZSBiZWNhdXNlIGJ1aWxkaW5mbyBmaWxlICd7MX0nIGluZGljYXRlcyB0aGVyZSBpcyBjaGFuZ2UgaW4gY29tcGlsZXJPcHRpb25zXCIpLEFsbG93X2ltcG9ydHNfdG9faW5jbHVkZV9UeXBlU2NyaXB0X2ZpbGVfZXh0ZW5zaW9uc19SZXF1aXJlc19tb2R1bGVSZXNvbHV0aW9uX2J1bmRsZXJfYW5kX2VpdGhlcl9ub0VtaXRfb3JfZW1pdERlY2xhcmF0aW9uT25seV90b19iZV9zZXQ6cig2NDA3LDMsXCJBbGxvd19pbXBvcnRzX3RvX2luY2x1ZGVfVHlwZVNjcmlwdF9maWxlX2V4dGVuc2lvbnNfUmVxdWlyZXNfbW9kdWxlUmVzb2x1dGlvbl9idW5kbGVyX2FuZF9laXRoZXJfbm9FXzY0MDdcIixcIkFsbG93IGltcG9ydHMgdG8gaW5jbHVkZSBUeXBlU2NyaXB0IGZpbGUgZXh0ZW5zaW9ucy4gUmVxdWlyZXMgJy0tbW9kdWxlUmVzb2x1dGlvbiBidW5kbGVyJyBhbmQgZWl0aGVyICctLW5vRW1pdCcgb3IgJy0tZW1pdERlY2xhcmF0aW9uT25seScgdG8gYmUgc2V0LlwiKSxVc2VfdGhlX3BhY2thZ2VfanNvbl9leHBvcnRzX2ZpZWxkX3doZW5fcmVzb2x2aW5nX3BhY2thZ2VfaW1wb3J0czpyKDY0MDgsMyxcIlVzZV90aGVfcGFja2FnZV9qc29uX2V4cG9ydHNfZmllbGRfd2hlbl9yZXNvbHZpbmdfcGFja2FnZV9pbXBvcnRzXzY0MDhcIixcIlVzZSB0aGUgcGFja2FnZS5qc29uICdleHBvcnRzJyBmaWVsZCB3aGVuIHJlc29sdmluZyBwYWNrYWdlIGltcG9ydHMuXCIpLFVzZV90aGVfcGFja2FnZV9qc29uX2ltcG9ydHNfZmllbGRfd2hlbl9yZXNvbHZpbmdfaW1wb3J0czpyKDY0MDksMyxcIlVzZV90aGVfcGFja2FnZV9qc29uX2ltcG9ydHNfZmllbGRfd2hlbl9yZXNvbHZpbmdfaW1wb3J0c182NDA5XCIsXCJVc2UgdGhlIHBhY2thZ2UuanNvbiAnaW1wb3J0cycgZmllbGQgd2hlbiByZXNvbHZpbmcgaW1wb3J0cy5cIiksQ29uZGl0aW9uc190b19zZXRfaW5fYWRkaXRpb25fdG9fdGhlX3Jlc29sdmVyX3NwZWNpZmljX2RlZmF1bHRzX3doZW5fcmVzb2x2aW5nX2ltcG9ydHM6cig2NDEwLDMsXCJDb25kaXRpb25zX3RvX3NldF9pbl9hZGRpdGlvbl90b190aGVfcmVzb2x2ZXJfc3BlY2lmaWNfZGVmYXVsdHNfd2hlbl9yZXNvbHZpbmdfaW1wb3J0c182NDEwXCIsXCJDb25kaXRpb25zIHRvIHNldCBpbiBhZGRpdGlvbiB0byB0aGUgcmVzb2x2ZXItc3BlY2lmaWMgZGVmYXVsdHMgd2hlbiByZXNvbHZpbmcgaW1wb3J0cy5cIiksdHJ1ZV93aGVuX21vZHVsZVJlc29sdXRpb25faXNfbm9kZTE2X25vZGVuZXh0X29yX2J1bmRsZXJfb3RoZXJ3aXNlX2ZhbHNlOnIoNjQxMSwzLFwidHJ1ZV93aGVuX21vZHVsZVJlc29sdXRpb25faXNfbm9kZTE2X25vZGVuZXh0X29yX2J1bmRsZXJfb3RoZXJ3aXNlX2ZhbHNlXzY0MTFcIixcImB0cnVlYCB3aGVuICdtb2R1bGVSZXNvbHV0aW9uJyBpcyAnbm9kZTE2JywgJ25vZGVuZXh0Jywgb3IgJ2J1bmRsZXInOyBvdGhlcndpc2UgYGZhbHNlYC5cIiksUHJvamVjdF8wX2lzX291dF9vZl9kYXRlX2JlY2F1c2VfYnVpbGRpbmZvX2ZpbGVfMV9pbmRpY2F0ZXNfdGhhdF9maWxlXzJfd2FzX3Jvb3RfZmlsZV9vZl9jb21waWxhdGlvbl9idXRfbm90X2FueV9tb3JlOnIoNjQxMiwzLFwiUHJvamVjdF8wX2lzX291dF9vZl9kYXRlX2JlY2F1c2VfYnVpbGRpbmZvX2ZpbGVfMV9pbmRpY2F0ZXNfdGhhdF9maWxlXzJfd2FzX3Jvb3RfZmlsZV9vZl9jb21waWxhdGlvbl82NDEyXCIsXCJQcm9qZWN0ICd7MH0nIGlzIG91dCBvZiBkYXRlIGJlY2F1c2UgYnVpbGRpbmZvIGZpbGUgJ3sxfScgaW5kaWNhdGVzIHRoYXQgZmlsZSAnezJ9JyB3YXMgcm9vdCBmaWxlIG9mIGNvbXBpbGF0aW9uIGJ1dCBub3QgYW55IG1vcmUuXCIpLEVudGVyaW5nX2NvbmRpdGlvbmFsX2V4cG9ydHM6cig2NDEzLDMsXCJFbnRlcmluZ19jb25kaXRpb25hbF9leHBvcnRzXzY0MTNcIixcIkVudGVyaW5nIGNvbmRpdGlvbmFsIGV4cG9ydHMuXCIpLFJlc29sdmVkX3VuZGVyX2NvbmRpdGlvbl8wOnIoNjQxNCwzLFwiUmVzb2x2ZWRfdW5kZXJfY29uZGl0aW9uXzBfNjQxNFwiLFwiUmVzb2x2ZWQgdW5kZXIgY29uZGl0aW9uICd7MH0nLlwiKSxGYWlsZWRfdG9fcmVzb2x2ZV91bmRlcl9jb25kaXRpb25fMDpyKDY0MTUsMyxcIkZhaWxlZF90b19yZXNvbHZlX3VuZGVyX2NvbmRpdGlvbl8wXzY0MTVcIixcIkZhaWxlZCB0byByZXNvbHZlIHVuZGVyIGNvbmRpdGlvbiAnezB9Jy5cIiksRXhpdGluZ19jb25kaXRpb25hbF9leHBvcnRzOnIoNjQxNiwzLFwiRXhpdGluZ19jb25kaXRpb25hbF9leHBvcnRzXzY0MTZcIixcIkV4aXRpbmcgY29uZGl0aW9uYWwgZXhwb3J0cy5cIiksU2VhcmNoaW5nX2FsbF9hbmNlc3Rvcl9ub2RlX21vZHVsZXNfZGlyZWN0b3JpZXNfZm9yX3ByZWZlcnJlZF9leHRlbnNpb25zX0NvbG9uXzA6cig2NDE3LDMsXCJTZWFyY2hpbmdfYWxsX2FuY2VzdG9yX25vZGVfbW9kdWxlc19kaXJlY3Rvcmllc19mb3JfcHJlZmVycmVkX2V4dGVuc2lvbnNfQ29sb25fMF82NDE3XCIsXCJTZWFyY2hpbmcgYWxsIGFuY2VzdG9yIG5vZGVfbW9kdWxlcyBkaXJlY3RvcmllcyBmb3IgcHJlZmVycmVkIGV4dGVuc2lvbnM6IHswfS5cIiksU2VhcmNoaW5nX2FsbF9hbmNlc3Rvcl9ub2RlX21vZHVsZXNfZGlyZWN0b3JpZXNfZm9yX2ZhbGxiYWNrX2V4dGVuc2lvbnNfQ29sb25fMDpyKDY0MTgsMyxcIlNlYXJjaGluZ19hbGxfYW5jZXN0b3Jfbm9kZV9tb2R1bGVzX2RpcmVjdG9yaWVzX2Zvcl9mYWxsYmFja19leHRlbnNpb25zX0NvbG9uXzBfNjQxOFwiLFwiU2VhcmNoaW5nIGFsbCBhbmNlc3RvciBub2RlX21vZHVsZXMgZGlyZWN0b3JpZXMgZm9yIGZhbGxiYWNrIGV4dGVuc2lvbnM6IHswfS5cIiksUHJvamVjdF8wX2lzX291dF9vZl9kYXRlX2JlY2F1c2VfYnVpbGRpbmZvX2ZpbGVfMV9pbmRpY2F0ZXNfdGhhdF9wcm9ncmFtX25lZWRzX3RvX3JlcG9ydF9lcnJvcnM6cig2NDE5LDMsXCJQcm9qZWN0XzBfaXNfb3V0X29mX2RhdGVfYmVjYXVzZV9idWlsZGluZm9fZmlsZV8xX2luZGljYXRlc190aGF0X3Byb2dyYW1fbmVlZHNfdG9fcmVwb3J0X2Vycm9yc182NDE5XCIsXCJQcm9qZWN0ICd7MH0nIGlzIG91dCBvZiBkYXRlIGJlY2F1c2UgYnVpbGRpbmZvIGZpbGUgJ3sxfScgaW5kaWNhdGVzIHRoYXQgcHJvZ3JhbSBuZWVkcyB0byByZXBvcnQgZXJyb3JzLlwiKSxQcm9qZWN0XzBfaXNfb3V0X29mX2RhdGVfYmVjYXVzZV8xOnIoNjQyMCwzLFwiUHJvamVjdF8wX2lzX291dF9vZl9kYXRlX2JlY2F1c2VfMV82NDIwXCIsXCJQcm9qZWN0ICd7MH0nIGlzIG91dCBvZiBkYXRlIGJlY2F1c2UgezF9LlwiKSxSZXdyaXRlX3RzX3RzeF9tdHNfYW5kX2N0c19maWxlX2V4dGVuc2lvbnNfaW5fcmVsYXRpdmVfaW1wb3J0X3BhdGhzX3RvX3RoZWlyX0phdmFTY3JpcHRfZXF1aXZhbGVudF9pbl9vdXRwdXRfZmlsZXM6cig2NDIxLDMsXCJSZXdyaXRlX3RzX3RzeF9tdHNfYW5kX2N0c19maWxlX2V4dGVuc2lvbnNfaW5fcmVsYXRpdmVfaW1wb3J0X3BhdGhzX3RvX3RoZWlyX0phdmFTY3JpcHRfZXF1aXZhbGVudF9pXzY0MjFcIixcIlJld3JpdGUgJy50cycsICcudHN4JywgJy5tdHMnLCBhbmQgJy5jdHMnIGZpbGUgZXh0ZW5zaW9ucyBpbiByZWxhdGl2ZSBpbXBvcnQgcGF0aHMgdG8gdGhlaXIgSmF2YVNjcmlwdCBlcXVpdmFsZW50IGluIG91dHB1dCBmaWxlcy5cIiksVGhlX2V4cGVjdGVkX3R5cGVfY29tZXNfZnJvbV9wcm9wZXJ0eV8wX3doaWNoX2lzX2RlY2xhcmVkX2hlcmVfb25fdHlwZV8xOnIoNjUwMCwzLFwiVGhlX2V4cGVjdGVkX3R5cGVfY29tZXNfZnJvbV9wcm9wZXJ0eV8wX3doaWNoX2lzX2RlY2xhcmVkX2hlcmVfb25fdHlwZV8xXzY1MDBcIixcIlRoZSBleHBlY3RlZCB0eXBlIGNvbWVzIGZyb20gcHJvcGVydHkgJ3swfScgd2hpY2ggaXMgZGVjbGFyZWQgaGVyZSBvbiB0eXBlICd7MX0nXCIpLFRoZV9leHBlY3RlZF90eXBlX2NvbWVzX2Zyb21fdGhpc19pbmRleF9zaWduYXR1cmU6cig2NTAxLDMsXCJUaGVfZXhwZWN0ZWRfdHlwZV9jb21lc19mcm9tX3RoaXNfaW5kZXhfc2lnbmF0dXJlXzY1MDFcIixcIlRoZSBleHBlY3RlZCB0eXBlIGNvbWVzIGZyb20gdGhpcyBpbmRleCBzaWduYXR1cmUuXCIpLFRoZV9leHBlY3RlZF90eXBlX2NvbWVzX2Zyb21fdGhlX3JldHVybl90eXBlX29mX3RoaXNfc2lnbmF0dXJlOnIoNjUwMiwzLFwiVGhlX2V4cGVjdGVkX3R5cGVfY29tZXNfZnJvbV90aGVfcmV0dXJuX3R5cGVfb2ZfdGhpc19zaWduYXR1cmVfNjUwMlwiLFwiVGhlIGV4cGVjdGVkIHR5cGUgY29tZXMgZnJvbSB0aGUgcmV0dXJuIHR5cGUgb2YgdGhpcyBzaWduYXR1cmUuXCIpLFByaW50X25hbWVzX29mX2ZpbGVzX3RoYXRfYXJlX3BhcnRfb2ZfdGhlX2NvbXBpbGF0aW9uX2FuZF90aGVuX3N0b3BfcHJvY2Vzc2luZzpyKDY1MDMsMyxcIlByaW50X25hbWVzX29mX2ZpbGVzX3RoYXRfYXJlX3BhcnRfb2ZfdGhlX2NvbXBpbGF0aW9uX2FuZF90aGVuX3N0b3BfcHJvY2Vzc2luZ182NTAzXCIsXCJQcmludCBuYW1lcyBvZiBmaWxlcyB0aGF0IGFyZSBwYXJ0IG9mIHRoZSBjb21waWxhdGlvbiBhbmQgdGhlbiBzdG9wIHByb2Nlc3NpbmcuXCIpLEZpbGVfMF9pc19hX0phdmFTY3JpcHRfZmlsZV9EaWRfeW91X21lYW5fdG9fZW5hYmxlX3RoZV9hbGxvd0pzX29wdGlvbjpyKDY1MDQsMSxcIkZpbGVfMF9pc19hX0phdmFTY3JpcHRfZmlsZV9EaWRfeW91X21lYW5fdG9fZW5hYmxlX3RoZV9hbGxvd0pzX29wdGlvbl82NTA0XCIsXCJGaWxlICd7MH0nIGlzIGEgSmF2YVNjcmlwdCBmaWxlLiBEaWQgeW91IG1lYW4gdG8gZW5hYmxlIHRoZSAnYWxsb3dKcycgb3B0aW9uP1wiKSxQcmludF9uYW1lc19vZl9maWxlc19hbmRfdGhlX3JlYXNvbl90aGV5X2FyZV9wYXJ0X29mX3RoZV9jb21waWxhdGlvbjpyKDY1MDUsMyxcIlByaW50X25hbWVzX29mX2ZpbGVzX2FuZF90aGVfcmVhc29uX3RoZXlfYXJlX3BhcnRfb2ZfdGhlX2NvbXBpbGF0aW9uXzY1MDVcIixcIlByaW50IG5hbWVzIG9mIGZpbGVzIGFuZCB0aGUgcmVhc29uIHRoZXkgYXJlIHBhcnQgb2YgdGhlIGNvbXBpbGF0aW9uLlwiKSxDb25zaWRlcl9hZGRpbmdfYV9kZWNsYXJlX21vZGlmaWVyX3RvX3RoaXNfY2xhc3M6cig2NTA2LDMsXCJDb25zaWRlcl9hZGRpbmdfYV9kZWNsYXJlX21vZGlmaWVyX3RvX3RoaXNfY2xhc3NfNjUwNlwiLFwiQ29uc2lkZXIgYWRkaW5nIGEgJ2RlY2xhcmUnIG1vZGlmaWVyIHRvIHRoaXMgY2xhc3MuXCIpLEFsbG93X0phdmFTY3JpcHRfZmlsZXNfdG9fYmVfYV9wYXJ0X29mX3lvdXJfcHJvZ3JhbV9Vc2VfdGhlX2NoZWNrSlNfb3B0aW9uX3RvX2dldF9lcnJvcnNfZnJvbV90aGVzZV9maWxlczpyKDY2MDAsMyxcIkFsbG93X0phdmFTY3JpcHRfZmlsZXNfdG9fYmVfYV9wYXJ0X29mX3lvdXJfcHJvZ3JhbV9Vc2VfdGhlX2NoZWNrSlNfb3B0aW9uX3RvX2dldF9lcnJvcnNfZnJvbV90aGVzZV9fNjYwMFwiLFwiQWxsb3cgSmF2YVNjcmlwdCBmaWxlcyB0byBiZSBhIHBhcnQgb2YgeW91ciBwcm9ncmFtLiBVc2UgdGhlICdjaGVja0pTJyBvcHRpb24gdG8gZ2V0IGVycm9ycyBmcm9tIHRoZXNlIGZpbGVzLlwiKSxBbGxvd19pbXBvcnRfeF9mcm9tX3lfd2hlbl9hX21vZHVsZV9kb2Vzbl90X2hhdmVfYV9kZWZhdWx0X2V4cG9ydDpyKDY2MDEsMyxcIkFsbG93X2ltcG9ydF94X2Zyb21feV93aGVuX2FfbW9kdWxlX2RvZXNuX3RfaGF2ZV9hX2RlZmF1bHRfZXhwb3J0XzY2MDFcIixcIkFsbG93ICdpbXBvcnQgeCBmcm9tIHknIHdoZW4gYSBtb2R1bGUgZG9lc24ndCBoYXZlIGEgZGVmYXVsdCBleHBvcnQuXCIpLEFsbG93X2FjY2Vzc2luZ19VTURfZ2xvYmFsc19mcm9tX21vZHVsZXM6cig2NjAyLDMsXCJBbGxvd19hY2Nlc3NpbmdfVU1EX2dsb2JhbHNfZnJvbV9tb2R1bGVzXzY2MDJcIixcIkFsbG93IGFjY2Vzc2luZyBVTUQgZ2xvYmFscyBmcm9tIG1vZHVsZXMuXCIpLERpc2FibGVfZXJyb3JfcmVwb3J0aW5nX2Zvcl91bnJlYWNoYWJsZV9jb2RlOnIoNjYwMywzLFwiRGlzYWJsZV9lcnJvcl9yZXBvcnRpbmdfZm9yX3VucmVhY2hhYmxlX2NvZGVfNjYwM1wiLFwiRGlzYWJsZSBlcnJvciByZXBvcnRpbmcgZm9yIHVucmVhY2hhYmxlIGNvZGUuXCIpLERpc2FibGVfZXJyb3JfcmVwb3J0aW5nX2Zvcl91bnVzZWRfbGFiZWxzOnIoNjYwNCwzLFwiRGlzYWJsZV9lcnJvcl9yZXBvcnRpbmdfZm9yX3VudXNlZF9sYWJlbHNfNjYwNFwiLFwiRGlzYWJsZSBlcnJvciByZXBvcnRpbmcgZm9yIHVudXNlZCBsYWJlbHMuXCIpLEVuc3VyZV91c2Vfc3RyaWN0X2lzX2Fsd2F5c19lbWl0dGVkOnIoNjYwNSwzLFwiRW5zdXJlX3VzZV9zdHJpY3RfaXNfYWx3YXlzX2VtaXR0ZWRfNjYwNVwiLFwiRW5zdXJlICd1c2Ugc3RyaWN0JyBpcyBhbHdheXMgZW1pdHRlZC5cIiksSGF2ZV9yZWNvbXBpbGVzX2luX3Byb2plY3RzX3RoYXRfdXNlX2luY3JlbWVudGFsX2FuZF93YXRjaF9tb2RlX2Fzc3VtZV90aGF0X2NoYW5nZXNfd2l0aGluX2FfZmlsZV93aWxsX29ubHlfYWZmZWN0X2ZpbGVzX2RpcmVjdGx5X2RlcGVuZGluZ19vbl9pdDpyKDY2MDYsMyxcIkhhdmVfcmVjb21waWxlc19pbl9wcm9qZWN0c190aGF0X3VzZV9pbmNyZW1lbnRhbF9hbmRfd2F0Y2hfbW9kZV9hc3N1bWVfdGhhdF9jaGFuZ2VzX3dpdGhpbl9hX2ZpbGVfd2lfNjYwNlwiLFwiSGF2ZSByZWNvbXBpbGVzIGluIHByb2plY3RzIHRoYXQgdXNlICdpbmNyZW1lbnRhbCcgYW5kICd3YXRjaCcgbW9kZSBhc3N1bWUgdGhhdCBjaGFuZ2VzIHdpdGhpbiBhIGZpbGUgd2lsbCBvbmx5IGFmZmVjdCBmaWxlcyBkaXJlY3RseSBkZXBlbmRpbmcgb24gaXQuXCIpLFNwZWNpZnlfdGhlX2Jhc2VfZGlyZWN0b3J5X3RvX3Jlc29sdmVfbm9uX3JlbGF0aXZlX21vZHVsZV9uYW1lczpyKDY2MDcsMyxcIlNwZWNpZnlfdGhlX2Jhc2VfZGlyZWN0b3J5X3RvX3Jlc29sdmVfbm9uX3JlbGF0aXZlX21vZHVsZV9uYW1lc182NjA3XCIsXCJTcGVjaWZ5IHRoZSBiYXNlIGRpcmVjdG9yeSB0byByZXNvbHZlIG5vbi1yZWxhdGl2ZSBtb2R1bGUgbmFtZXMuXCIpLE5vX2xvbmdlcl9zdXBwb3J0ZWRfSW5fZWFybHlfdmVyc2lvbnNfbWFudWFsbHlfc2V0X3RoZV90ZXh0X2VuY29kaW5nX2Zvcl9yZWFkaW5nX2ZpbGVzOnIoNjYwOCwzLFwiTm9fbG9uZ2VyX3N1cHBvcnRlZF9Jbl9lYXJseV92ZXJzaW9uc19tYW51YWxseV9zZXRfdGhlX3RleHRfZW5jb2RpbmdfZm9yX3JlYWRpbmdfZmlsZXNfNjYwOFwiLFwiTm8gbG9uZ2VyIHN1cHBvcnRlZC4gSW4gZWFybHkgdmVyc2lvbnMsIG1hbnVhbGx5IHNldCB0aGUgdGV4dCBlbmNvZGluZyBmb3IgcmVhZGluZyBmaWxlcy5cIiksRW5hYmxlX2Vycm9yX3JlcG9ydGluZ19pbl90eXBlX2NoZWNrZWRfSmF2YVNjcmlwdF9maWxlczpyKDY2MDksMyxcIkVuYWJsZV9lcnJvcl9yZXBvcnRpbmdfaW5fdHlwZV9jaGVja2VkX0phdmFTY3JpcHRfZmlsZXNfNjYwOVwiLFwiRW5hYmxlIGVycm9yIHJlcG9ydGluZyBpbiB0eXBlLWNoZWNrZWQgSmF2YVNjcmlwdCBmaWxlcy5cIiksRW5hYmxlX2NvbnN0cmFpbnRzX3RoYXRfYWxsb3dfYV9UeXBlU2NyaXB0X3Byb2plY3RfdG9fYmVfdXNlZF93aXRoX3Byb2plY3RfcmVmZXJlbmNlczpyKDY2MTEsMyxcIkVuYWJsZV9jb25zdHJhaW50c190aGF0X2FsbG93X2FfVHlwZVNjcmlwdF9wcm9qZWN0X3RvX2JlX3VzZWRfd2l0aF9wcm9qZWN0X3JlZmVyZW5jZXNfNjYxMVwiLFwiRW5hYmxlIGNvbnN0cmFpbnRzIHRoYXQgYWxsb3cgYSBUeXBlU2NyaXB0IHByb2plY3QgdG8gYmUgdXNlZCB3aXRoIHByb2plY3QgcmVmZXJlbmNlcy5cIiksR2VuZXJhdGVfZF90c19maWxlc19mcm9tX1R5cGVTY3JpcHRfYW5kX0phdmFTY3JpcHRfZmlsZXNfaW5feW91cl9wcm9qZWN0OnIoNjYxMiwzLFwiR2VuZXJhdGVfZF90c19maWxlc19mcm9tX1R5cGVTY3JpcHRfYW5kX0phdmFTY3JpcHRfZmlsZXNfaW5feW91cl9wcm9qZWN0XzY2MTJcIixcIkdlbmVyYXRlIC5kLnRzIGZpbGVzIGZyb20gVHlwZVNjcmlwdCBhbmQgSmF2YVNjcmlwdCBmaWxlcyBpbiB5b3VyIHByb2plY3QuXCIpLFNwZWNpZnlfdGhlX291dHB1dF9kaXJlY3RvcnlfZm9yX2dlbmVyYXRlZF9kZWNsYXJhdGlvbl9maWxlczpyKDY2MTMsMyxcIlNwZWNpZnlfdGhlX291dHB1dF9kaXJlY3RvcnlfZm9yX2dlbmVyYXRlZF9kZWNsYXJhdGlvbl9maWxlc182NjEzXCIsXCJTcGVjaWZ5IHRoZSBvdXRwdXQgZGlyZWN0b3J5IGZvciBnZW5lcmF0ZWQgZGVjbGFyYXRpb24gZmlsZXMuXCIpLENyZWF0ZV9zb3VyY2VtYXBzX2Zvcl9kX3RzX2ZpbGVzOnIoNjYxNCwzLFwiQ3JlYXRlX3NvdXJjZW1hcHNfZm9yX2RfdHNfZmlsZXNfNjYxNFwiLFwiQ3JlYXRlIHNvdXJjZW1hcHMgZm9yIGQudHMgZmlsZXMuXCIpLE91dHB1dF9jb21waWxlcl9wZXJmb3JtYW5jZV9pbmZvcm1hdGlvbl9hZnRlcl9idWlsZGluZzpyKDY2MTUsMyxcIk91dHB1dF9jb21waWxlcl9wZXJmb3JtYW5jZV9pbmZvcm1hdGlvbl9hZnRlcl9idWlsZGluZ182NjE1XCIsXCJPdXRwdXQgY29tcGlsZXIgcGVyZm9ybWFuY2UgaW5mb3JtYXRpb24gYWZ0ZXIgYnVpbGRpbmcuXCIpLERpc2FibGVzX2luZmVyZW5jZV9mb3JfdHlwZV9hY3F1aXNpdGlvbl9ieV9sb29raW5nX2F0X2ZpbGVuYW1lc19pbl9hX3Byb2plY3Q6cig2NjE2LDMsXCJEaXNhYmxlc19pbmZlcmVuY2VfZm9yX3R5cGVfYWNxdWlzaXRpb25fYnlfbG9va2luZ19hdF9maWxlbmFtZXNfaW5fYV9wcm9qZWN0XzY2MTZcIixcIkRpc2FibGVzIGluZmVyZW5jZSBmb3IgdHlwZSBhY3F1aXNpdGlvbiBieSBsb29raW5nIGF0IGZpbGVuYW1lcyBpbiBhIHByb2plY3QuXCIpLFJlZHVjZV90aGVfbnVtYmVyX29mX3Byb2plY3RzX2xvYWRlZF9hdXRvbWF0aWNhbGx5X2J5X1R5cGVTY3JpcHQ6cig2NjE3LDMsXCJSZWR1Y2VfdGhlX251bWJlcl9vZl9wcm9qZWN0c19sb2FkZWRfYXV0b21hdGljYWxseV9ieV9UeXBlU2NyaXB0XzY2MTdcIixcIlJlZHVjZSB0aGUgbnVtYmVyIG9mIHByb2plY3RzIGxvYWRlZCBhdXRvbWF0aWNhbGx5IGJ5IFR5cGVTY3JpcHQuXCIpLFJlbW92ZV90aGVfMjBtYl9jYXBfb25fdG90YWxfc291cmNlX2NvZGVfc2l6ZV9mb3JfSmF2YVNjcmlwdF9maWxlc19pbl90aGVfVHlwZVNjcmlwdF9sYW5ndWFnZV9zZXJ2ZXI6cig2NjE4LDMsXCJSZW1vdmVfdGhlXzIwbWJfY2FwX29uX3RvdGFsX3NvdXJjZV9jb2RlX3NpemVfZm9yX0phdmFTY3JpcHRfZmlsZXNfaW5fdGhlX1R5cGVTY3JpcHRfbGFuZ3VhZ2Vfc2VydmVyXzY2MThcIixcIlJlbW92ZSB0aGUgMjBtYiBjYXAgb24gdG90YWwgc291cmNlIGNvZGUgc2l6ZSBmb3IgSmF2YVNjcmlwdCBmaWxlcyBpbiB0aGUgVHlwZVNjcmlwdCBsYW5ndWFnZSBzZXJ2ZXIuXCIpLE9wdF9hX3Byb2plY3Rfb3V0X29mX211bHRpX3Byb2plY3RfcmVmZXJlbmNlX2NoZWNraW5nX3doZW5fZWRpdGluZzpyKDY2MTksMyxcIk9wdF9hX3Byb2plY3Rfb3V0X29mX211bHRpX3Byb2plY3RfcmVmZXJlbmNlX2NoZWNraW5nX3doZW5fZWRpdGluZ182NjE5XCIsXCJPcHQgYSBwcm9qZWN0IG91dCBvZiBtdWx0aS1wcm9qZWN0IHJlZmVyZW5jZSBjaGVja2luZyB3aGVuIGVkaXRpbmcuXCIpLERpc2FibGVfcHJlZmVycmluZ19zb3VyY2VfZmlsZXNfaW5zdGVhZF9vZl9kZWNsYXJhdGlvbl9maWxlc193aGVuX3JlZmVyZW5jaW5nX2NvbXBvc2l0ZV9wcm9qZWN0czpyKDY2MjAsMyxcIkRpc2FibGVfcHJlZmVycmluZ19zb3VyY2VfZmlsZXNfaW5zdGVhZF9vZl9kZWNsYXJhdGlvbl9maWxlc193aGVuX3JlZmVyZW5jaW5nX2NvbXBvc2l0ZV9wcm9qZWN0c182NjIwXCIsXCJEaXNhYmxlIHByZWZlcnJpbmcgc291cmNlIGZpbGVzIGluc3RlYWQgb2YgZGVjbGFyYXRpb24gZmlsZXMgd2hlbiByZWZlcmVuY2luZyBjb21wb3NpdGUgcHJvamVjdHMuXCIpLEVtaXRfbW9yZV9jb21wbGlhbnRfYnV0X3ZlcmJvc2VfYW5kX2xlc3NfcGVyZm9ybWFudF9KYXZhU2NyaXB0X2Zvcl9pdGVyYXRpb246cig2NjIxLDMsXCJFbWl0X21vcmVfY29tcGxpYW50X2J1dF92ZXJib3NlX2FuZF9sZXNzX3BlcmZvcm1hbnRfSmF2YVNjcmlwdF9mb3JfaXRlcmF0aW9uXzY2MjFcIixcIkVtaXQgbW9yZSBjb21wbGlhbnQsIGJ1dCB2ZXJib3NlIGFuZCBsZXNzIHBlcmZvcm1hbnQgSmF2YVNjcmlwdCBmb3IgaXRlcmF0aW9uLlwiKSxFbWl0X2FfVVRGXzhfQnl0ZV9PcmRlcl9NYXJrX0JPTV9pbl90aGVfYmVnaW5uaW5nX29mX291dHB1dF9maWxlczpyKDY2MjIsMyxcIkVtaXRfYV9VVEZfOF9CeXRlX09yZGVyX01hcmtfQk9NX2luX3RoZV9iZWdpbm5pbmdfb2Zfb3V0cHV0X2ZpbGVzXzY2MjJcIixcIkVtaXQgYSBVVEYtOCBCeXRlIE9yZGVyIE1hcmsgKEJPTSkgaW4gdGhlIGJlZ2lubmluZyBvZiBvdXRwdXQgZmlsZXMuXCIpLE9ubHlfb3V0cHV0X2RfdHNfZmlsZXNfYW5kX25vdF9KYXZhU2NyaXB0X2ZpbGVzOnIoNjYyMywzLFwiT25seV9vdXRwdXRfZF90c19maWxlc19hbmRfbm90X0phdmFTY3JpcHRfZmlsZXNfNjYyM1wiLFwiT25seSBvdXRwdXQgZC50cyBmaWxlcyBhbmQgbm90IEphdmFTY3JpcHQgZmlsZXMuXCIpLEVtaXRfZGVzaWduX3R5cGVfbWV0YWRhdGFfZm9yX2RlY29yYXRlZF9kZWNsYXJhdGlvbnNfaW5fc291cmNlX2ZpbGVzOnIoNjYyNCwzLFwiRW1pdF9kZXNpZ25fdHlwZV9tZXRhZGF0YV9mb3JfZGVjb3JhdGVkX2RlY2xhcmF0aW9uc19pbl9zb3VyY2VfZmlsZXNfNjYyNFwiLFwiRW1pdCBkZXNpZ24tdHlwZSBtZXRhZGF0YSBmb3IgZGVjb3JhdGVkIGRlY2xhcmF0aW9ucyBpbiBzb3VyY2UgZmlsZXMuXCIpLERpc2FibGVfdGhlX3R5cGVfYWNxdWlzaXRpb25fZm9yX0phdmFTY3JpcHRfcHJvamVjdHM6cig2NjI1LDMsXCJEaXNhYmxlX3RoZV90eXBlX2FjcXVpc2l0aW9uX2Zvcl9KYXZhU2NyaXB0X3Byb2plY3RzXzY2MjVcIixcIkRpc2FibGUgdGhlIHR5cGUgYWNxdWlzaXRpb24gZm9yIEphdmFTY3JpcHQgcHJvamVjdHNcIiksRW1pdF9hZGRpdGlvbmFsX0phdmFTY3JpcHRfdG9fZWFzZV9zdXBwb3J0X2Zvcl9pbXBvcnRpbmdfQ29tbW9uSlNfbW9kdWxlc19UaGlzX2VuYWJsZXNfYWxsb3dTeW50aGV0aWNEZWZhdWx0SW1wb3J0c19mb3JfdHlwZV9jb21wYXRpYmlsaXR5OnIoNjYyNiwzLFwiRW1pdF9hZGRpdGlvbmFsX0phdmFTY3JpcHRfdG9fZWFzZV9zdXBwb3J0X2Zvcl9pbXBvcnRpbmdfQ29tbW9uSlNfbW9kdWxlc19UaGlzX2VuYWJsZXNfYWxsb3dTeW50aGV0aV82NjI2XCIsXCJFbWl0IGFkZGl0aW9uYWwgSmF2YVNjcmlwdCB0byBlYXNlIHN1cHBvcnQgZm9yIGltcG9ydGluZyBDb21tb25KUyBtb2R1bGVzLiBUaGlzIGVuYWJsZXMgJ2FsbG93U3ludGhldGljRGVmYXVsdEltcG9ydHMnIGZvciB0eXBlIGNvbXBhdGliaWxpdHkuXCIpLEZpbHRlcnNfcmVzdWx0c19mcm9tX3RoZV9pbmNsdWRlX29wdGlvbjpyKDY2MjcsMyxcIkZpbHRlcnNfcmVzdWx0c19mcm9tX3RoZV9pbmNsdWRlX29wdGlvbl82NjI3XCIsXCJGaWx0ZXJzIHJlc3VsdHMgZnJvbSB0aGUgYGluY2x1ZGVgIG9wdGlvbi5cIiksUmVtb3ZlX2FfbGlzdF9vZl9kaXJlY3Rvcmllc19mcm9tX3RoZV93YXRjaF9wcm9jZXNzOnIoNjYyOCwzLFwiUmVtb3ZlX2FfbGlzdF9vZl9kaXJlY3Rvcmllc19mcm9tX3RoZV93YXRjaF9wcm9jZXNzXzY2MjhcIixcIlJlbW92ZSBhIGxpc3Qgb2YgZGlyZWN0b3JpZXMgZnJvbSB0aGUgd2F0Y2ggcHJvY2Vzcy5cIiksUmVtb3ZlX2FfbGlzdF9vZl9maWxlc19mcm9tX3RoZV93YXRjaF9tb2RlX3NfcHJvY2Vzc2luZzpyKDY2MjksMyxcIlJlbW92ZV9hX2xpc3Rfb2ZfZmlsZXNfZnJvbV90aGVfd2F0Y2hfbW9kZV9zX3Byb2Nlc3NpbmdfNjYyOVwiLFwiUmVtb3ZlIGEgbGlzdCBvZiBmaWxlcyBmcm9tIHRoZSB3YXRjaCBtb2RlJ3MgcHJvY2Vzc2luZy5cIiksRW5hYmxlX2V4cGVyaW1lbnRhbF9zdXBwb3J0X2Zvcl9sZWdhY3lfZXhwZXJpbWVudGFsX2RlY29yYXRvcnM6cig2NjMwLDMsXCJFbmFibGVfZXhwZXJpbWVudGFsX3N1cHBvcnRfZm9yX2xlZ2FjeV9leHBlcmltZW50YWxfZGVjb3JhdG9yc182NjMwXCIsXCJFbmFibGUgZXhwZXJpbWVudGFsIHN1cHBvcnQgZm9yIGxlZ2FjeSBleHBlcmltZW50YWwgZGVjb3JhdG9ycy5cIiksUHJpbnRfZmlsZXNfcmVhZF9kdXJpbmdfdGhlX2NvbXBpbGF0aW9uX2luY2x1ZGluZ193aHlfaXRfd2FzX2luY2x1ZGVkOnIoNjYzMSwzLFwiUHJpbnRfZmlsZXNfcmVhZF9kdXJpbmdfdGhlX2NvbXBpbGF0aW9uX2luY2x1ZGluZ193aHlfaXRfd2FzX2luY2x1ZGVkXzY2MzFcIixcIlByaW50IGZpbGVzIHJlYWQgZHVyaW5nIHRoZSBjb21waWxhdGlvbiBpbmNsdWRpbmcgd2h5IGl0IHdhcyBpbmNsdWRlZC5cIiksT3V0cHV0X21vcmVfZGV0YWlsZWRfY29tcGlsZXJfcGVyZm9ybWFuY2VfaW5mb3JtYXRpb25fYWZ0ZXJfYnVpbGRpbmc6cig2NjMyLDMsXCJPdXRwdXRfbW9yZV9kZXRhaWxlZF9jb21waWxlcl9wZXJmb3JtYW5jZV9pbmZvcm1hdGlvbl9hZnRlcl9idWlsZGluZ182NjMyXCIsXCJPdXRwdXQgbW9yZSBkZXRhaWxlZCBjb21waWxlciBwZXJmb3JtYW5jZSBpbmZvcm1hdGlvbiBhZnRlciBidWlsZGluZy5cIiksU3BlY2lmeV9vbmVfb3JfbW9yZV9wYXRoX29yX25vZGVfbW9kdWxlX3JlZmVyZW5jZXNfdG9fYmFzZV9jb25maWd1cmF0aW9uX2ZpbGVzX2Zyb21fd2hpY2hfc2V0dGluZ3NfYXJlX2luaGVyaXRlZDpyKDY2MzMsMyxcIlNwZWNpZnlfb25lX29yX21vcmVfcGF0aF9vcl9ub2RlX21vZHVsZV9yZWZlcmVuY2VzX3RvX2Jhc2VfY29uZmlndXJhdGlvbl9maWxlc19mcm9tX3doaWNoX3NldHRpbmdzX2FfNjYzM1wiLFwiU3BlY2lmeSBvbmUgb3IgbW9yZSBwYXRoIG9yIG5vZGUgbW9kdWxlIHJlZmVyZW5jZXMgdG8gYmFzZSBjb25maWd1cmF0aW9uIGZpbGVzIGZyb20gd2hpY2ggc2V0dGluZ3MgYXJlIGluaGVyaXRlZC5cIiksU3BlY2lmeV93aGF0X2FwcHJvYWNoX3RoZV93YXRjaGVyX3Nob3VsZF91c2VfaWZfdGhlX3N5c3RlbV9ydW5zX291dF9vZl9uYXRpdmVfZmlsZV93YXRjaGVyczpyKDY2MzQsMyxcIlNwZWNpZnlfd2hhdF9hcHByb2FjaF90aGVfd2F0Y2hlcl9zaG91bGRfdXNlX2lmX3RoZV9zeXN0ZW1fcnVuc19vdXRfb2ZfbmF0aXZlX2ZpbGVfd2F0Y2hlcnNfNjYzNFwiLFwiU3BlY2lmeSB3aGF0IGFwcHJvYWNoIHRoZSB3YXRjaGVyIHNob3VsZCB1c2UgaWYgdGhlIHN5c3RlbSBydW5zIG91dCBvZiBuYXRpdmUgZmlsZSB3YXRjaGVycy5cIiksSW5jbHVkZV9hX2xpc3Rfb2ZfZmlsZXNfVGhpc19kb2VzX25vdF9zdXBwb3J0X2dsb2JfcGF0dGVybnNfYXNfb3Bwb3NlZF90b19pbmNsdWRlOnIoNjYzNSwzLFwiSW5jbHVkZV9hX2xpc3Rfb2ZfZmlsZXNfVGhpc19kb2VzX25vdF9zdXBwb3J0X2dsb2JfcGF0dGVybnNfYXNfb3Bwb3NlZF90b19pbmNsdWRlXzY2MzVcIixcIkluY2x1ZGUgYSBsaXN0IG9mIGZpbGVzLiBUaGlzIGRvZXMgbm90IHN1cHBvcnQgZ2xvYiBwYXR0ZXJucywgYXMgb3Bwb3NlZCB0byBgaW5jbHVkZWAuXCIpLEJ1aWxkX2FsbF9wcm9qZWN0c19pbmNsdWRpbmdfdGhvc2VfdGhhdF9hcHBlYXJfdG9fYmVfdXBfdG9fZGF0ZTpyKDY2MzYsMyxcIkJ1aWxkX2FsbF9wcm9qZWN0c19pbmNsdWRpbmdfdGhvc2VfdGhhdF9hcHBlYXJfdG9fYmVfdXBfdG9fZGF0ZV82NjM2XCIsXCJCdWlsZCBhbGwgcHJvamVjdHMsIGluY2x1ZGluZyB0aG9zZSB0aGF0IGFwcGVhciB0byBiZSB1cCB0byBkYXRlLlwiKSxFbnN1cmVfdGhhdF9jYXNpbmdfaXNfY29ycmVjdF9pbl9pbXBvcnRzOnIoNjYzNywzLFwiRW5zdXJlX3RoYXRfY2FzaW5nX2lzX2NvcnJlY3RfaW5faW1wb3J0c182NjM3XCIsXCJFbnN1cmUgdGhhdCBjYXNpbmcgaXMgY29ycmVjdCBpbiBpbXBvcnRzLlwiKSxFbWl0X2FfdjhfQ1BVX3Byb2ZpbGVfb2ZfdGhlX2NvbXBpbGVyX3J1bl9mb3JfZGVidWdnaW5nOnIoNjYzOCwzLFwiRW1pdF9hX3Y4X0NQVV9wcm9maWxlX29mX3RoZV9jb21waWxlcl9ydW5fZm9yX2RlYnVnZ2luZ182NjM4XCIsXCJFbWl0IGEgdjggQ1BVIHByb2ZpbGUgb2YgdGhlIGNvbXBpbGVyIHJ1biBmb3IgZGVidWdnaW5nLlwiKSxBbGxvd19pbXBvcnRpbmdfaGVscGVyX2Z1bmN0aW9uc19mcm9tX3RzbGliX29uY2VfcGVyX3Byb2plY3RfaW5zdGVhZF9vZl9pbmNsdWRpbmdfdGhlbV9wZXJfZmlsZTpyKDY2MzksMyxcIkFsbG93X2ltcG9ydGluZ19oZWxwZXJfZnVuY3Rpb25zX2Zyb21fdHNsaWJfb25jZV9wZXJfcHJvamVjdF9pbnN0ZWFkX29mX2luY2x1ZGluZ190aGVtX3Blcl9maWxlXzY2MzlcIixcIkFsbG93IGltcG9ydGluZyBoZWxwZXIgZnVuY3Rpb25zIGZyb20gdHNsaWIgb25jZSBwZXIgcHJvamVjdCwgaW5zdGVhZCBvZiBpbmNsdWRpbmcgdGhlbSBwZXItZmlsZS5cIiksU2tpcF9idWlsZGluZ19kb3duc3RyZWFtX3Byb2plY3RzX29uX2Vycm9yX2luX3Vwc3RyZWFtX3Byb2plY3Q6cig2NjQwLDMsXCJTa2lwX2J1aWxkaW5nX2Rvd25zdHJlYW1fcHJvamVjdHNfb25fZXJyb3JfaW5fdXBzdHJlYW1fcHJvamVjdF82NjQwXCIsXCJTa2lwIGJ1aWxkaW5nIGRvd25zdHJlYW0gcHJvamVjdHMgb24gZXJyb3IgaW4gdXBzdHJlYW0gcHJvamVjdC5cIiksU3BlY2lmeV9hX2xpc3Rfb2ZfZ2xvYl9wYXR0ZXJuc190aGF0X21hdGNoX2ZpbGVzX3RvX2JlX2luY2x1ZGVkX2luX2NvbXBpbGF0aW9uOnIoNjY0MSwzLFwiU3BlY2lmeV9hX2xpc3Rfb2ZfZ2xvYl9wYXR0ZXJuc190aGF0X21hdGNoX2ZpbGVzX3RvX2JlX2luY2x1ZGVkX2luX2NvbXBpbGF0aW9uXzY2NDFcIixcIlNwZWNpZnkgYSBsaXN0IG9mIGdsb2IgcGF0dGVybnMgdGhhdCBtYXRjaCBmaWxlcyB0byBiZSBpbmNsdWRlZCBpbiBjb21waWxhdGlvbi5cIiksU2F2ZV90c2J1aWxkaW5mb19maWxlc190b19hbGxvd19mb3JfaW5jcmVtZW50YWxfY29tcGlsYXRpb25fb2ZfcHJvamVjdHM6cig2NjQyLDMsXCJTYXZlX3RzYnVpbGRpbmZvX2ZpbGVzX3RvX2FsbG93X2Zvcl9pbmNyZW1lbnRhbF9jb21waWxhdGlvbl9vZl9wcm9qZWN0c182NjQyXCIsXCJTYXZlIC50c2J1aWxkaW5mbyBmaWxlcyB0byBhbGxvdyBmb3IgaW5jcmVtZW50YWwgY29tcGlsYXRpb24gb2YgcHJvamVjdHMuXCIpLEluY2x1ZGVfc291cmNlbWFwX2ZpbGVzX2luc2lkZV90aGVfZW1pdHRlZF9KYXZhU2NyaXB0OnIoNjY0MywzLFwiSW5jbHVkZV9zb3VyY2VtYXBfZmlsZXNfaW5zaWRlX3RoZV9lbWl0dGVkX0phdmFTY3JpcHRfNjY0M1wiLFwiSW5jbHVkZSBzb3VyY2VtYXAgZmlsZXMgaW5zaWRlIHRoZSBlbWl0dGVkIEphdmFTY3JpcHQuXCIpLEluY2x1ZGVfc291cmNlX2NvZGVfaW5fdGhlX3NvdXJjZW1hcHNfaW5zaWRlX3RoZV9lbWl0dGVkX0phdmFTY3JpcHQ6cig2NjQ0LDMsXCJJbmNsdWRlX3NvdXJjZV9jb2RlX2luX3RoZV9zb3VyY2VtYXBzX2luc2lkZV90aGVfZW1pdHRlZF9KYXZhU2NyaXB0XzY2NDRcIixcIkluY2x1ZGUgc291cmNlIGNvZGUgaW4gdGhlIHNvdXJjZW1hcHMgaW5zaWRlIHRoZSBlbWl0dGVkIEphdmFTY3JpcHQuXCIpLEVuc3VyZV90aGF0X2VhY2hfZmlsZV9jYW5fYmVfc2FmZWx5X3RyYW5zcGlsZWRfd2l0aG91dF9yZWx5aW5nX29uX290aGVyX2ltcG9ydHM6cig2NjQ1LDMsXCJFbnN1cmVfdGhhdF9lYWNoX2ZpbGVfY2FuX2JlX3NhZmVseV90cmFuc3BpbGVkX3dpdGhvdXRfcmVseWluZ19vbl9vdGhlcl9pbXBvcnRzXzY2NDVcIixcIkVuc3VyZSB0aGF0IGVhY2ggZmlsZSBjYW4gYmUgc2FmZWx5IHRyYW5zcGlsZWQgd2l0aG91dCByZWx5aW5nIG9uIG90aGVyIGltcG9ydHMuXCIpLFNwZWNpZnlfd2hhdF9KU1hfY29kZV9pc19nZW5lcmF0ZWQ6cig2NjQ2LDMsXCJTcGVjaWZ5X3doYXRfSlNYX2NvZGVfaXNfZ2VuZXJhdGVkXzY2NDZcIixcIlNwZWNpZnkgd2hhdCBKU1ggY29kZSBpcyBnZW5lcmF0ZWQuXCIpLFNwZWNpZnlfdGhlX0pTWF9mYWN0b3J5X2Z1bmN0aW9uX3VzZWRfd2hlbl90YXJnZXRpbmdfUmVhY3RfSlNYX2VtaXRfZV9nX1JlYWN0X2NyZWF0ZUVsZW1lbnRfb3JfaDpyKDY2NDcsMyxcIlNwZWNpZnlfdGhlX0pTWF9mYWN0b3J5X2Z1bmN0aW9uX3VzZWRfd2hlbl90YXJnZXRpbmdfUmVhY3RfSlNYX2VtaXRfZV9nX1JlYWN0X2NyZWF0ZUVsZW1lbnRfb3JfaF82NjQ3XCIsXCJTcGVjaWZ5IHRoZSBKU1ggZmFjdG9yeSBmdW5jdGlvbiB1c2VkIHdoZW4gdGFyZ2V0aW5nIFJlYWN0IEpTWCBlbWl0LCBlLmcuICdSZWFjdC5jcmVhdGVFbGVtZW50JyBvciAnaCcuXCIpLFNwZWNpZnlfdGhlX0pTWF9GcmFnbWVudF9yZWZlcmVuY2VfdXNlZF9mb3JfZnJhZ21lbnRzX3doZW5fdGFyZ2V0aW5nX1JlYWN0X0pTWF9lbWl0X2VfZ19SZWFjdF9GcmFnbWVudF9vcl9GcmFnbWVudDpyKDY2NDgsMyxcIlNwZWNpZnlfdGhlX0pTWF9GcmFnbWVudF9yZWZlcmVuY2VfdXNlZF9mb3JfZnJhZ21lbnRzX3doZW5fdGFyZ2V0aW5nX1JlYWN0X0pTWF9lbWl0X2VfZ19SZWFjdF9GcmFnbWVfNjY0OFwiLFwiU3BlY2lmeSB0aGUgSlNYIEZyYWdtZW50IHJlZmVyZW5jZSB1c2VkIGZvciBmcmFnbWVudHMgd2hlbiB0YXJnZXRpbmcgUmVhY3QgSlNYIGVtaXQgZS5nLiAnUmVhY3QuRnJhZ21lbnQnIG9yICdGcmFnbWVudCcuXCIpLFNwZWNpZnlfbW9kdWxlX3NwZWNpZmllcl91c2VkX3RvX2ltcG9ydF90aGVfSlNYX2ZhY3RvcnlfZnVuY3Rpb25zX3doZW5fdXNpbmdfanN4X0NvbG9uX3JlYWN0X2pzeF9Bc3RlcmlzazpyKDY2NDksMyxcIlNwZWNpZnlfbW9kdWxlX3NwZWNpZmllcl91c2VkX3RvX2ltcG9ydF90aGVfSlNYX2ZhY3RvcnlfZnVuY3Rpb25zX3doZW5fdXNpbmdfanN4X0NvbG9uX3JlYWN0X2pzeF9Bc3RfNjY0OVwiLFwiU3BlY2lmeSBtb2R1bGUgc3BlY2lmaWVyIHVzZWQgdG8gaW1wb3J0IHRoZSBKU1ggZmFjdG9yeSBmdW5jdGlvbnMgd2hlbiB1c2luZyAnanN4OiByZWFjdC1qc3gqJy5cIiksTWFrZV9rZXlvZl9vbmx5X3JldHVybl9zdHJpbmdzX2luc3RlYWRfb2Zfc3RyaW5nX251bWJlcnNfb3Jfc3ltYm9sc19MZWdhY3lfb3B0aW9uOnIoNjY1MCwzLFwiTWFrZV9rZXlvZl9vbmx5X3JldHVybl9zdHJpbmdzX2luc3RlYWRfb2Zfc3RyaW5nX251bWJlcnNfb3Jfc3ltYm9sc19MZWdhY3lfb3B0aW9uXzY2NTBcIixcIk1ha2Uga2V5b2Ygb25seSByZXR1cm4gc3RyaW5ncyBpbnN0ZWFkIG9mIHN0cmluZywgbnVtYmVycyBvciBzeW1ib2xzLiBMZWdhY3kgb3B0aW9uLlwiKSxTcGVjaWZ5X2Ffc2V0X29mX2J1bmRsZWRfbGlicmFyeV9kZWNsYXJhdGlvbl9maWxlc190aGF0X2Rlc2NyaWJlX3RoZV90YXJnZXRfcnVudGltZV9lbnZpcm9ubWVudDpyKDY2NTEsMyxcIlNwZWNpZnlfYV9zZXRfb2ZfYnVuZGxlZF9saWJyYXJ5X2RlY2xhcmF0aW9uX2ZpbGVzX3RoYXRfZGVzY3JpYmVfdGhlX3RhcmdldF9ydW50aW1lX2Vudmlyb25tZW50XzY2NTFcIixcIlNwZWNpZnkgYSBzZXQgb2YgYnVuZGxlZCBsaWJyYXJ5IGRlY2xhcmF0aW9uIGZpbGVzIHRoYXQgZGVzY3JpYmUgdGhlIHRhcmdldCBydW50aW1lIGVudmlyb25tZW50LlwiKSxQcmludF90aGVfbmFtZXNfb2ZfZW1pdHRlZF9maWxlc19hZnRlcl9hX2NvbXBpbGF0aW9uOnIoNjY1MiwzLFwiUHJpbnRfdGhlX25hbWVzX29mX2VtaXR0ZWRfZmlsZXNfYWZ0ZXJfYV9jb21waWxhdGlvbl82NjUyXCIsXCJQcmludCB0aGUgbmFtZXMgb2YgZW1pdHRlZCBmaWxlcyBhZnRlciBhIGNvbXBpbGF0aW9uLlwiKSxQcmludF9hbGxfb2ZfdGhlX2ZpbGVzX3JlYWRfZHVyaW5nX3RoZV9jb21waWxhdGlvbjpyKDY2NTMsMyxcIlByaW50X2FsbF9vZl90aGVfZmlsZXNfcmVhZF9kdXJpbmdfdGhlX2NvbXBpbGF0aW9uXzY2NTNcIixcIlByaW50IGFsbCBvZiB0aGUgZmlsZXMgcmVhZCBkdXJpbmcgdGhlIGNvbXBpbGF0aW9uLlwiKSxTZXRfdGhlX2xhbmd1YWdlX29mX3RoZV9tZXNzYWdpbmdfZnJvbV9UeXBlU2NyaXB0X1RoaXNfZG9lc19ub3RfYWZmZWN0X2VtaXQ6cig2NjU0LDMsXCJTZXRfdGhlX2xhbmd1YWdlX29mX3RoZV9tZXNzYWdpbmdfZnJvbV9UeXBlU2NyaXB0X1RoaXNfZG9lc19ub3RfYWZmZWN0X2VtaXRfNjY1NFwiLFwiU2V0IHRoZSBsYW5ndWFnZSBvZiB0aGUgbWVzc2FnaW5nIGZyb20gVHlwZVNjcmlwdC4gVGhpcyBkb2VzIG5vdCBhZmZlY3QgZW1pdC5cIiksU3BlY2lmeV90aGVfbG9jYXRpb25fd2hlcmVfZGVidWdnZXJfc2hvdWxkX2xvY2F0ZV9tYXBfZmlsZXNfaW5zdGVhZF9vZl9nZW5lcmF0ZWRfbG9jYXRpb25zOnIoNjY1NSwzLFwiU3BlY2lmeV90aGVfbG9jYXRpb25fd2hlcmVfZGVidWdnZXJfc2hvdWxkX2xvY2F0ZV9tYXBfZmlsZXNfaW5zdGVhZF9vZl9nZW5lcmF0ZWRfbG9jYXRpb25zXzY2NTVcIixcIlNwZWNpZnkgdGhlIGxvY2F0aW9uIHdoZXJlIGRlYnVnZ2VyIHNob3VsZCBsb2NhdGUgbWFwIGZpbGVzIGluc3RlYWQgb2YgZ2VuZXJhdGVkIGxvY2F0aW9ucy5cIiksU3BlY2lmeV90aGVfbWF4aW11bV9mb2xkZXJfZGVwdGhfdXNlZF9mb3JfY2hlY2tpbmdfSmF2YVNjcmlwdF9maWxlc19mcm9tX25vZGVfbW9kdWxlc19Pbmx5X2FwcGxpY2FibGVfd2l0aF9hbGxvd0pzOnIoNjY1NiwzLFwiU3BlY2lmeV90aGVfbWF4aW11bV9mb2xkZXJfZGVwdGhfdXNlZF9mb3JfY2hlY2tpbmdfSmF2YVNjcmlwdF9maWxlc19mcm9tX25vZGVfbW9kdWxlc19Pbmx5X2FwcGxpY2FibF82NjU2XCIsXCJTcGVjaWZ5IHRoZSBtYXhpbXVtIGZvbGRlciBkZXB0aCB1c2VkIGZvciBjaGVja2luZyBKYXZhU2NyaXB0IGZpbGVzIGZyb20gJ25vZGVfbW9kdWxlcycuIE9ubHkgYXBwbGljYWJsZSB3aXRoICdhbGxvd0pzJy5cIiksU3BlY2lmeV93aGF0X21vZHVsZV9jb2RlX2lzX2dlbmVyYXRlZDpyKDY2NTcsMyxcIlNwZWNpZnlfd2hhdF9tb2R1bGVfY29kZV9pc19nZW5lcmF0ZWRfNjY1N1wiLFwiU3BlY2lmeSB3aGF0IG1vZHVsZSBjb2RlIGlzIGdlbmVyYXRlZC5cIiksU3BlY2lmeV9ob3dfVHlwZVNjcmlwdF9sb29rc191cF9hX2ZpbGVfZnJvbV9hX2dpdmVuX21vZHVsZV9zcGVjaWZpZXI6cig2NjU4LDMsXCJTcGVjaWZ5X2hvd19UeXBlU2NyaXB0X2xvb2tzX3VwX2FfZmlsZV9mcm9tX2FfZ2l2ZW5fbW9kdWxlX3NwZWNpZmllcl82NjU4XCIsXCJTcGVjaWZ5IGhvdyBUeXBlU2NyaXB0IGxvb2tzIHVwIGEgZmlsZSBmcm9tIGEgZ2l2ZW4gbW9kdWxlIHNwZWNpZmllci5cIiksU2V0X3RoZV9uZXdsaW5lX2NoYXJhY3Rlcl9mb3JfZW1pdHRpbmdfZmlsZXM6cig2NjU5LDMsXCJTZXRfdGhlX25ld2xpbmVfY2hhcmFjdGVyX2Zvcl9lbWl0dGluZ19maWxlc182NjU5XCIsXCJTZXQgdGhlIG5ld2xpbmUgY2hhcmFjdGVyIGZvciBlbWl0dGluZyBmaWxlcy5cIiksRGlzYWJsZV9lbWl0dGluZ19maWxlc19mcm9tX2FfY29tcGlsYXRpb246cig2NjYwLDMsXCJEaXNhYmxlX2VtaXR0aW5nX2ZpbGVzX2Zyb21fYV9jb21waWxhdGlvbl82NjYwXCIsXCJEaXNhYmxlIGVtaXR0aW5nIGZpbGVzIGZyb20gYSBjb21waWxhdGlvbi5cIiksRGlzYWJsZV9nZW5lcmF0aW5nX2N1c3RvbV9oZWxwZXJfZnVuY3Rpb25zX2xpa2VfZXh0ZW5kc19pbl9jb21waWxlZF9vdXRwdXQ6cig2NjYxLDMsXCJEaXNhYmxlX2dlbmVyYXRpbmdfY3VzdG9tX2hlbHBlcl9mdW5jdGlvbnNfbGlrZV9leHRlbmRzX2luX2NvbXBpbGVkX291dHB1dF82NjYxXCIsXCJEaXNhYmxlIGdlbmVyYXRpbmcgY3VzdG9tIGhlbHBlciBmdW5jdGlvbnMgbGlrZSAnX19leHRlbmRzJyBpbiBjb21waWxlZCBvdXRwdXQuXCIpLERpc2FibGVfZW1pdHRpbmdfZmlsZXNfaWZfYW55X3R5cGVfY2hlY2tpbmdfZXJyb3JzX2FyZV9yZXBvcnRlZDpyKDY2NjIsMyxcIkRpc2FibGVfZW1pdHRpbmdfZmlsZXNfaWZfYW55X3R5cGVfY2hlY2tpbmdfZXJyb3JzX2FyZV9yZXBvcnRlZF82NjYyXCIsXCJEaXNhYmxlIGVtaXR0aW5nIGZpbGVzIGlmIGFueSB0eXBlIGNoZWNraW5nIGVycm9ycyBhcmUgcmVwb3J0ZWQuXCIpLERpc2FibGVfdHJ1bmNhdGluZ190eXBlc19pbl9lcnJvcl9tZXNzYWdlczpyKDY2NjMsMyxcIkRpc2FibGVfdHJ1bmNhdGluZ190eXBlc19pbl9lcnJvcl9tZXNzYWdlc182NjYzXCIsXCJEaXNhYmxlIHRydW5jYXRpbmcgdHlwZXMgaW4gZXJyb3IgbWVzc2FnZXMuXCIpLEVuYWJsZV9lcnJvcl9yZXBvcnRpbmdfZm9yX2ZhbGx0aHJvdWdoX2Nhc2VzX2luX3N3aXRjaF9zdGF0ZW1lbnRzOnIoNjY2NCwzLFwiRW5hYmxlX2Vycm9yX3JlcG9ydGluZ19mb3JfZmFsbHRocm91Z2hfY2FzZXNfaW5fc3dpdGNoX3N0YXRlbWVudHNfNjY2NFwiLFwiRW5hYmxlIGVycm9yIHJlcG9ydGluZyBmb3IgZmFsbHRocm91Z2ggY2FzZXMgaW4gc3dpdGNoIHN0YXRlbWVudHMuXCIpLEVuYWJsZV9lcnJvcl9yZXBvcnRpbmdfZm9yX2V4cHJlc3Npb25zX2FuZF9kZWNsYXJhdGlvbnNfd2l0aF9hbl9pbXBsaWVkX2FueV90eXBlOnIoNjY2NSwzLFwiRW5hYmxlX2Vycm9yX3JlcG9ydGluZ19mb3JfZXhwcmVzc2lvbnNfYW5kX2RlY2xhcmF0aW9uc193aXRoX2FuX2ltcGxpZWRfYW55X3R5cGVfNjY2NVwiLFwiRW5hYmxlIGVycm9yIHJlcG9ydGluZyBmb3IgZXhwcmVzc2lvbnMgYW5kIGRlY2xhcmF0aW9ucyB3aXRoIGFuIGltcGxpZWQgJ2FueScgdHlwZS5cIiksRW5zdXJlX292ZXJyaWRpbmdfbWVtYmVyc19pbl9kZXJpdmVkX2NsYXNzZXNfYXJlX21hcmtlZF93aXRoX2FuX292ZXJyaWRlX21vZGlmaWVyOnIoNjY2NiwzLFwiRW5zdXJlX292ZXJyaWRpbmdfbWVtYmVyc19pbl9kZXJpdmVkX2NsYXNzZXNfYXJlX21hcmtlZF93aXRoX2FuX292ZXJyaWRlX21vZGlmaWVyXzY2NjZcIixcIkVuc3VyZSBvdmVycmlkaW5nIG1lbWJlcnMgaW4gZGVyaXZlZCBjbGFzc2VzIGFyZSBtYXJrZWQgd2l0aCBhbiBvdmVycmlkZSBtb2RpZmllci5cIiksRW5hYmxlX2Vycm9yX3JlcG9ydGluZ19mb3JfY29kZXBhdGhzX3RoYXRfZG9fbm90X2V4cGxpY2l0bHlfcmV0dXJuX2luX2FfZnVuY3Rpb246cig2NjY3LDMsXCJFbmFibGVfZXJyb3JfcmVwb3J0aW5nX2Zvcl9jb2RlcGF0aHNfdGhhdF9kb19ub3RfZXhwbGljaXRseV9yZXR1cm5faW5fYV9mdW5jdGlvbl82NjY3XCIsXCJFbmFibGUgZXJyb3IgcmVwb3J0aW5nIGZvciBjb2RlcGF0aHMgdGhhdCBkbyBub3QgZXhwbGljaXRseSByZXR1cm4gaW4gYSBmdW5jdGlvbi5cIiksRW5hYmxlX2Vycm9yX3JlcG9ydGluZ193aGVuX3RoaXNfaXNfZ2l2ZW5fdGhlX3R5cGVfYW55OnIoNjY2OCwzLFwiRW5hYmxlX2Vycm9yX3JlcG9ydGluZ193aGVuX3RoaXNfaXNfZ2l2ZW5fdGhlX3R5cGVfYW55XzY2NjhcIixcIkVuYWJsZSBlcnJvciByZXBvcnRpbmcgd2hlbiAndGhpcycgaXMgZ2l2ZW4gdGhlIHR5cGUgJ2FueScuXCIpLERpc2FibGVfYWRkaW5nX3VzZV9zdHJpY3RfZGlyZWN0aXZlc19pbl9lbWl0dGVkX0phdmFTY3JpcHRfZmlsZXM6cig2NjY5LDMsXCJEaXNhYmxlX2FkZGluZ191c2Vfc3RyaWN0X2RpcmVjdGl2ZXNfaW5fZW1pdHRlZF9KYXZhU2NyaXB0X2ZpbGVzXzY2NjlcIixcIkRpc2FibGUgYWRkaW5nICd1c2Ugc3RyaWN0JyBkaXJlY3RpdmVzIGluIGVtaXR0ZWQgSmF2YVNjcmlwdCBmaWxlcy5cIiksRGlzYWJsZV9pbmNsdWRpbmdfYW55X2xpYnJhcnlfZmlsZXNfaW5jbHVkaW5nX3RoZV9kZWZhdWx0X2xpYl9kX3RzOnIoNjY3MCwzLFwiRGlzYWJsZV9pbmNsdWRpbmdfYW55X2xpYnJhcnlfZmlsZXNfaW5jbHVkaW5nX3RoZV9kZWZhdWx0X2xpYl9kX3RzXzY2NzBcIixcIkRpc2FibGUgaW5jbHVkaW5nIGFueSBsaWJyYXJ5IGZpbGVzLCBpbmNsdWRpbmcgdGhlIGRlZmF1bHQgbGliLmQudHMuXCIpLEVuZm9yY2VzX3VzaW5nX2luZGV4ZWRfYWNjZXNzb3JzX2Zvcl9rZXlzX2RlY2xhcmVkX3VzaW5nX2FuX2luZGV4ZWRfdHlwZTpyKDY2NzEsMyxcIkVuZm9yY2VzX3VzaW5nX2luZGV4ZWRfYWNjZXNzb3JzX2Zvcl9rZXlzX2RlY2xhcmVkX3VzaW5nX2FuX2luZGV4ZWRfdHlwZV82NjcxXCIsXCJFbmZvcmNlcyB1c2luZyBpbmRleGVkIGFjY2Vzc29ycyBmb3Iga2V5cyBkZWNsYXJlZCB1c2luZyBhbiBpbmRleGVkIHR5cGUuXCIpLERpc2FsbG93X2ltcG9ydF9zX3JlcXVpcmVfc19vcl9yZWZlcmVuY2Vfc19mcm9tX2V4cGFuZGluZ190aGVfbnVtYmVyX29mX2ZpbGVzX1R5cGVTY3JpcHRfc2hvdWxkX2FkZF90b19hX3Byb2plY3Q6cig2NjcyLDMsXCJEaXNhbGxvd19pbXBvcnRfc19yZXF1aXJlX3Nfb3JfcmVmZXJlbmNlX3NfZnJvbV9leHBhbmRpbmdfdGhlX251bWJlcl9vZl9maWxlc19UeXBlU2NyaXB0X3Nob3VsZF9hZGRfXzY2NzJcIixcIkRpc2FsbG93ICdpbXBvcnQncywgJ3JlcXVpcmUncyBvciAnPHJlZmVyZW5jZT4ncyBmcm9tIGV4cGFuZGluZyB0aGUgbnVtYmVyIG9mIGZpbGVzIFR5cGVTY3JpcHQgc2hvdWxkIGFkZCB0byBhIHByb2plY3QuXCIpLERpc2FibGVfc3RyaWN0X2NoZWNraW5nX29mX2dlbmVyaWNfc2lnbmF0dXJlc19pbl9mdW5jdGlvbl90eXBlczpyKDY2NzMsMyxcIkRpc2FibGVfc3RyaWN0X2NoZWNraW5nX29mX2dlbmVyaWNfc2lnbmF0dXJlc19pbl9mdW5jdGlvbl90eXBlc182NjczXCIsXCJEaXNhYmxlIHN0cmljdCBjaGVja2luZyBvZiBnZW5lcmljIHNpZ25hdHVyZXMgaW4gZnVuY3Rpb24gdHlwZXMuXCIpLEFkZF91bmRlZmluZWRfdG9fYV90eXBlX3doZW5fYWNjZXNzZWRfdXNpbmdfYW5faW5kZXg6cig2Njc0LDMsXCJBZGRfdW5kZWZpbmVkX3RvX2FfdHlwZV93aGVuX2FjY2Vzc2VkX3VzaW5nX2FuX2luZGV4XzY2NzRcIixcIkFkZCAndW5kZWZpbmVkJyB0byBhIHR5cGUgd2hlbiBhY2Nlc3NlZCB1c2luZyBhbiBpbmRleC5cIiksRW5hYmxlX2Vycm9yX3JlcG9ydGluZ193aGVuX2xvY2FsX3ZhcmlhYmxlc19hcmVuX3RfcmVhZDpyKDY2NzUsMyxcIkVuYWJsZV9lcnJvcl9yZXBvcnRpbmdfd2hlbl9sb2NhbF92YXJpYWJsZXNfYXJlbl90X3JlYWRfNjY3NVwiLFwiRW5hYmxlIGVycm9yIHJlcG9ydGluZyB3aGVuIGxvY2FsIHZhcmlhYmxlcyBhcmVuJ3QgcmVhZC5cIiksUmFpc2VfYW5fZXJyb3Jfd2hlbl9hX2Z1bmN0aW9uX3BhcmFtZXRlcl9pc25fdF9yZWFkOnIoNjY3NiwzLFwiUmFpc2VfYW5fZXJyb3Jfd2hlbl9hX2Z1bmN0aW9uX3BhcmFtZXRlcl9pc25fdF9yZWFkXzY2NzZcIixcIlJhaXNlIGFuIGVycm9yIHdoZW4gYSBmdW5jdGlvbiBwYXJhbWV0ZXIgaXNuJ3QgcmVhZC5cIiksRGVwcmVjYXRlZF9zZXR0aW5nX1VzZV9vdXRGaWxlX2luc3RlYWQ6cig2Njc3LDMsXCJEZXByZWNhdGVkX3NldHRpbmdfVXNlX291dEZpbGVfaW5zdGVhZF82Njc3XCIsXCJEZXByZWNhdGVkIHNldHRpbmcuIFVzZSAnb3V0RmlsZScgaW5zdGVhZC5cIiksU3BlY2lmeV9hbl9vdXRwdXRfZm9sZGVyX2Zvcl9hbGxfZW1pdHRlZF9maWxlczpyKDY2NzgsMyxcIlNwZWNpZnlfYW5fb3V0cHV0X2ZvbGRlcl9mb3JfYWxsX2VtaXR0ZWRfZmlsZXNfNjY3OFwiLFwiU3BlY2lmeSBhbiBvdXRwdXQgZm9sZGVyIGZvciBhbGwgZW1pdHRlZCBmaWxlcy5cIiksU3BlY2lmeV9hX2ZpbGVfdGhhdF9idW5kbGVzX2FsbF9vdXRwdXRzX2ludG9fb25lX0phdmFTY3JpcHRfZmlsZV9JZl9kZWNsYXJhdGlvbl9pc190cnVlX2Fsc29fZGVzaWduYXRlc19hX2ZpbGVfdGhhdF9idW5kbGVzX2FsbF9kX3RzX291dHB1dDpyKDY2NzksMyxcIlNwZWNpZnlfYV9maWxlX3RoYXRfYnVuZGxlc19hbGxfb3V0cHV0c19pbnRvX29uZV9KYXZhU2NyaXB0X2ZpbGVfSWZfZGVjbGFyYXRpb25faXNfdHJ1ZV9hbHNvX2Rlc2lnbmFfNjY3OVwiLFwiU3BlY2lmeSBhIGZpbGUgdGhhdCBidW5kbGVzIGFsbCBvdXRwdXRzIGludG8gb25lIEphdmFTY3JpcHQgZmlsZS4gSWYgJ2RlY2xhcmF0aW9uJyBpcyB0cnVlLCBhbHNvIGRlc2lnbmF0ZXMgYSBmaWxlIHRoYXQgYnVuZGxlcyBhbGwgLmQudHMgb3V0cHV0LlwiKSxTcGVjaWZ5X2Ffc2V0X29mX2VudHJpZXNfdGhhdF9yZV9tYXBfaW1wb3J0c190b19hZGRpdGlvbmFsX2xvb2t1cF9sb2NhdGlvbnM6cig2NjgwLDMsXCJTcGVjaWZ5X2Ffc2V0X29mX2VudHJpZXNfdGhhdF9yZV9tYXBfaW1wb3J0c190b19hZGRpdGlvbmFsX2xvb2t1cF9sb2NhdGlvbnNfNjY4MFwiLFwiU3BlY2lmeSBhIHNldCBvZiBlbnRyaWVzIHRoYXQgcmUtbWFwIGltcG9ydHMgdG8gYWRkaXRpb25hbCBsb29rdXAgbG9jYXRpb25zLlwiKSxTcGVjaWZ5X2FfbGlzdF9vZl9sYW5ndWFnZV9zZXJ2aWNlX3BsdWdpbnNfdG9faW5jbHVkZTpyKDY2ODEsMyxcIlNwZWNpZnlfYV9saXN0X29mX2xhbmd1YWdlX3NlcnZpY2VfcGx1Z2luc190b19pbmNsdWRlXzY2ODFcIixcIlNwZWNpZnkgYSBsaXN0IG9mIGxhbmd1YWdlIHNlcnZpY2UgcGx1Z2lucyB0byBpbmNsdWRlLlwiKSxEaXNhYmxlX2VyYXNpbmdfY29uc3RfZW51bV9kZWNsYXJhdGlvbnNfaW5fZ2VuZXJhdGVkX2NvZGU6cig2NjgyLDMsXCJEaXNhYmxlX2VyYXNpbmdfY29uc3RfZW51bV9kZWNsYXJhdGlvbnNfaW5fZ2VuZXJhdGVkX2NvZGVfNjY4MlwiLFwiRGlzYWJsZSBlcmFzaW5nICdjb25zdCBlbnVtJyBkZWNsYXJhdGlvbnMgaW4gZ2VuZXJhdGVkIGNvZGUuXCIpLERpc2FibGVfcmVzb2x2aW5nX3N5bWxpbmtzX3RvX3RoZWlyX3JlYWxwYXRoX1RoaXNfY29ycmVsYXRlc190b190aGVfc2FtZV9mbGFnX2luX25vZGU6cig2NjgzLDMsXCJEaXNhYmxlX3Jlc29sdmluZ19zeW1saW5rc190b190aGVpcl9yZWFscGF0aF9UaGlzX2NvcnJlbGF0ZXNfdG9fdGhlX3NhbWVfZmxhZ19pbl9ub2RlXzY2ODNcIixcIkRpc2FibGUgcmVzb2x2aW5nIHN5bWxpbmtzIHRvIHRoZWlyIHJlYWxwYXRoLiBUaGlzIGNvcnJlbGF0ZXMgdG8gdGhlIHNhbWUgZmxhZyBpbiBub2RlLlwiKSxEaXNhYmxlX3dpcGluZ190aGVfY29uc29sZV9pbl93YXRjaF9tb2RlOnIoNjY4NCwzLFwiRGlzYWJsZV93aXBpbmdfdGhlX2NvbnNvbGVfaW5fd2F0Y2hfbW9kZV82Njg0XCIsXCJEaXNhYmxlIHdpcGluZyB0aGUgY29uc29sZSBpbiB3YXRjaCBtb2RlLlwiKSxFbmFibGVfY29sb3JfYW5kX2Zvcm1hdHRpbmdfaW5fVHlwZVNjcmlwdF9zX291dHB1dF90b19tYWtlX2NvbXBpbGVyX2Vycm9yc19lYXNpZXJfdG9fcmVhZDpyKDY2ODUsMyxcIkVuYWJsZV9jb2xvcl9hbmRfZm9ybWF0dGluZ19pbl9UeXBlU2NyaXB0X3Nfb3V0cHV0X3RvX21ha2VfY29tcGlsZXJfZXJyb3JzX2Vhc2llcl90b19yZWFkXzY2ODVcIixcIkVuYWJsZSBjb2xvciBhbmQgZm9ybWF0dGluZyBpbiBUeXBlU2NyaXB0J3Mgb3V0cHV0IHRvIG1ha2UgY29tcGlsZXIgZXJyb3JzIGVhc2llciB0byByZWFkLlwiKSxTcGVjaWZ5X3RoZV9vYmplY3RfaW52b2tlZF9mb3JfY3JlYXRlRWxlbWVudF9UaGlzX29ubHlfYXBwbGllc193aGVuX3RhcmdldGluZ19yZWFjdF9KU1hfZW1pdDpyKDY2ODYsMyxcIlNwZWNpZnlfdGhlX29iamVjdF9pbnZva2VkX2Zvcl9jcmVhdGVFbGVtZW50X1RoaXNfb25seV9hcHBsaWVzX3doZW5fdGFyZ2V0aW5nX3JlYWN0X0pTWF9lbWl0XzY2ODZcIixcIlNwZWNpZnkgdGhlIG9iamVjdCBpbnZva2VkIGZvciAnY3JlYXRlRWxlbWVudCcuIFRoaXMgb25seSBhcHBsaWVzIHdoZW4gdGFyZ2V0aW5nICdyZWFjdCcgSlNYIGVtaXQuXCIpLFNwZWNpZnlfYW5fYXJyYXlfb2Zfb2JqZWN0c190aGF0X3NwZWNpZnlfcGF0aHNfZm9yX3Byb2plY3RzX1VzZWRfaW5fcHJvamVjdF9yZWZlcmVuY2VzOnIoNjY4NywzLFwiU3BlY2lmeV9hbl9hcnJheV9vZl9vYmplY3RzX3RoYXRfc3BlY2lmeV9wYXRoc19mb3JfcHJvamVjdHNfVXNlZF9pbl9wcm9qZWN0X3JlZmVyZW5jZXNfNjY4N1wiLFwiU3BlY2lmeSBhbiBhcnJheSBvZiBvYmplY3RzIHRoYXQgc3BlY2lmeSBwYXRocyBmb3IgcHJvamVjdHMuIFVzZWQgaW4gcHJvamVjdCByZWZlcmVuY2VzLlwiKSxEaXNhYmxlX2VtaXR0aW5nX2NvbW1lbnRzOnIoNjY4OCwzLFwiRGlzYWJsZV9lbWl0dGluZ19jb21tZW50c182Njg4XCIsXCJEaXNhYmxlIGVtaXR0aW5nIGNvbW1lbnRzLlwiKSxFbmFibGVfaW1wb3J0aW5nX2pzb25fZmlsZXM6cig2Njg5LDMsXCJFbmFibGVfaW1wb3J0aW5nX2pzb25fZmlsZXNfNjY4OVwiLFwiRW5hYmxlIGltcG9ydGluZyAuanNvbiBmaWxlcy5cIiksU3BlY2lmeV90aGVfcm9vdF9mb2xkZXJfd2l0aGluX3lvdXJfc291cmNlX2ZpbGVzOnIoNjY5MCwzLFwiU3BlY2lmeV90aGVfcm9vdF9mb2xkZXJfd2l0aGluX3lvdXJfc291cmNlX2ZpbGVzXzY2OTBcIixcIlNwZWNpZnkgdGhlIHJvb3QgZm9sZGVyIHdpdGhpbiB5b3VyIHNvdXJjZSBmaWxlcy5cIiksQWxsb3dfbXVsdGlwbGVfZm9sZGVyc190b19iZV90cmVhdGVkX2FzX29uZV93aGVuX3Jlc29sdmluZ19tb2R1bGVzOnIoNjY5MSwzLFwiQWxsb3dfbXVsdGlwbGVfZm9sZGVyc190b19iZV90cmVhdGVkX2FzX29uZV93aGVuX3Jlc29sdmluZ19tb2R1bGVzXzY2OTFcIixcIkFsbG93IG11bHRpcGxlIGZvbGRlcnMgdG8gYmUgdHJlYXRlZCBhcyBvbmUgd2hlbiByZXNvbHZpbmcgbW9kdWxlcy5cIiksU2tpcF90eXBlX2NoZWNraW5nX2RfdHNfZmlsZXNfdGhhdF9hcmVfaW5jbHVkZWRfd2l0aF9UeXBlU2NyaXB0OnIoNjY5MiwzLFwiU2tpcF90eXBlX2NoZWNraW5nX2RfdHNfZmlsZXNfdGhhdF9hcmVfaW5jbHVkZWRfd2l0aF9UeXBlU2NyaXB0XzY2OTJcIixcIlNraXAgdHlwZSBjaGVja2luZyAuZC50cyBmaWxlcyB0aGF0IGFyZSBpbmNsdWRlZCB3aXRoIFR5cGVTY3JpcHQuXCIpLFNraXBfdHlwZV9jaGVja2luZ19hbGxfZF90c19maWxlczpyKDY2OTMsMyxcIlNraXBfdHlwZV9jaGVja2luZ19hbGxfZF90c19maWxlc182NjkzXCIsXCJTa2lwIHR5cGUgY2hlY2tpbmcgYWxsIC5kLnRzIGZpbGVzLlwiKSxDcmVhdGVfc291cmNlX21hcF9maWxlc19mb3JfZW1pdHRlZF9KYXZhU2NyaXB0X2ZpbGVzOnIoNjY5NCwzLFwiQ3JlYXRlX3NvdXJjZV9tYXBfZmlsZXNfZm9yX2VtaXR0ZWRfSmF2YVNjcmlwdF9maWxlc182Njk0XCIsXCJDcmVhdGUgc291cmNlIG1hcCBmaWxlcyBmb3IgZW1pdHRlZCBKYXZhU2NyaXB0IGZpbGVzLlwiKSxTcGVjaWZ5X3RoZV9yb290X3BhdGhfZm9yX2RlYnVnZ2Vyc190b19maW5kX3RoZV9yZWZlcmVuY2Vfc291cmNlX2NvZGU6cig2Njk1LDMsXCJTcGVjaWZ5X3RoZV9yb290X3BhdGhfZm9yX2RlYnVnZ2Vyc190b19maW5kX3RoZV9yZWZlcmVuY2Vfc291cmNlX2NvZGVfNjY5NVwiLFwiU3BlY2lmeSB0aGUgcm9vdCBwYXRoIGZvciBkZWJ1Z2dlcnMgdG8gZmluZCB0aGUgcmVmZXJlbmNlIHNvdXJjZSBjb2RlLlwiKSxDaGVja190aGF0X3RoZV9hcmd1bWVudHNfZm9yX2JpbmRfY2FsbF9hbmRfYXBwbHlfbWV0aG9kc19tYXRjaF90aGVfb3JpZ2luYWxfZnVuY3Rpb246cig2Njk3LDMsXCJDaGVja190aGF0X3RoZV9hcmd1bWVudHNfZm9yX2JpbmRfY2FsbF9hbmRfYXBwbHlfbWV0aG9kc19tYXRjaF90aGVfb3JpZ2luYWxfZnVuY3Rpb25fNjY5N1wiLFwiQ2hlY2sgdGhhdCB0aGUgYXJndW1lbnRzIGZvciAnYmluZCcsICdjYWxsJywgYW5kICdhcHBseScgbWV0aG9kcyBtYXRjaCB0aGUgb3JpZ2luYWwgZnVuY3Rpb24uXCIpLFdoZW5fYXNzaWduaW5nX2Z1bmN0aW9uc19jaGVja190b19lbnN1cmVfcGFyYW1ldGVyc19hbmRfdGhlX3JldHVybl92YWx1ZXNfYXJlX3N1YnR5cGVfY29tcGF0aWJsZTpyKDY2OTgsMyxcIldoZW5fYXNzaWduaW5nX2Z1bmN0aW9uc19jaGVja190b19lbnN1cmVfcGFyYW1ldGVyc19hbmRfdGhlX3JldHVybl92YWx1ZXNfYXJlX3N1YnR5cGVfY29tcGF0aWJsZV82Njk4XCIsXCJXaGVuIGFzc2lnbmluZyBmdW5jdGlvbnMsIGNoZWNrIHRvIGVuc3VyZSBwYXJhbWV0ZXJzIGFuZCB0aGUgcmV0dXJuIHZhbHVlcyBhcmUgc3VidHlwZS1jb21wYXRpYmxlLlwiKSxXaGVuX3R5cGVfY2hlY2tpbmdfdGFrZV9pbnRvX2FjY291bnRfbnVsbF9hbmRfdW5kZWZpbmVkOnIoNjY5OSwzLFwiV2hlbl90eXBlX2NoZWNraW5nX3Rha2VfaW50b19hY2NvdW50X251bGxfYW5kX3VuZGVmaW5lZF82Njk5XCIsXCJXaGVuIHR5cGUgY2hlY2tpbmcsIHRha2UgaW50byBhY2NvdW50ICdudWxsJyBhbmQgJ3VuZGVmaW5lZCcuXCIpLENoZWNrX2Zvcl9jbGFzc19wcm9wZXJ0aWVzX3RoYXRfYXJlX2RlY2xhcmVkX2J1dF9ub3Rfc2V0X2luX3RoZV9jb25zdHJ1Y3RvcjpyKDY3MDAsMyxcIkNoZWNrX2Zvcl9jbGFzc19wcm9wZXJ0aWVzX3RoYXRfYXJlX2RlY2xhcmVkX2J1dF9ub3Rfc2V0X2luX3RoZV9jb25zdHJ1Y3Rvcl82NzAwXCIsXCJDaGVjayBmb3IgY2xhc3MgcHJvcGVydGllcyB0aGF0IGFyZSBkZWNsYXJlZCBidXQgbm90IHNldCBpbiB0aGUgY29uc3RydWN0b3IuXCIpLERpc2FibGVfZW1pdHRpbmdfZGVjbGFyYXRpb25zX3RoYXRfaGF2ZV9pbnRlcm5hbF9pbl90aGVpcl9KU0RvY19jb21tZW50czpyKDY3MDEsMyxcIkRpc2FibGVfZW1pdHRpbmdfZGVjbGFyYXRpb25zX3RoYXRfaGF2ZV9pbnRlcm5hbF9pbl90aGVpcl9KU0RvY19jb21tZW50c182NzAxXCIsXCJEaXNhYmxlIGVtaXR0aW5nIGRlY2xhcmF0aW9ucyB0aGF0IGhhdmUgJ0BpbnRlcm5hbCcgaW4gdGhlaXIgSlNEb2MgY29tbWVudHMuXCIpLERpc2FibGVfcmVwb3J0aW5nX29mX2V4Y2Vzc19wcm9wZXJ0eV9lcnJvcnNfZHVyaW5nX3RoZV9jcmVhdGlvbl9vZl9vYmplY3RfbGl0ZXJhbHM6cig2NzAyLDMsXCJEaXNhYmxlX3JlcG9ydGluZ19vZl9leGNlc3NfcHJvcGVydHlfZXJyb3JzX2R1cmluZ190aGVfY3JlYXRpb25fb2Zfb2JqZWN0X2xpdGVyYWxzXzY3MDJcIixcIkRpc2FibGUgcmVwb3J0aW5nIG9mIGV4Y2VzcyBwcm9wZXJ0eSBlcnJvcnMgZHVyaW5nIHRoZSBjcmVhdGlvbiBvZiBvYmplY3QgbGl0ZXJhbHMuXCIpLFN1cHByZXNzX25vSW1wbGljaXRBbnlfZXJyb3JzX3doZW5faW5kZXhpbmdfb2JqZWN0c190aGF0X2xhY2tfaW5kZXhfc2lnbmF0dXJlczpyKDY3MDMsMyxcIlN1cHByZXNzX25vSW1wbGljaXRBbnlfZXJyb3JzX3doZW5faW5kZXhpbmdfb2JqZWN0c190aGF0X2xhY2tfaW5kZXhfc2lnbmF0dXJlc182NzAzXCIsXCJTdXBwcmVzcyAnbm9JbXBsaWNpdEFueScgZXJyb3JzIHdoZW4gaW5kZXhpbmcgb2JqZWN0cyB0aGF0IGxhY2sgaW5kZXggc2lnbmF0dXJlcy5cIiksU3luY2hyb25vdXNseV9jYWxsX2NhbGxiYWNrc19hbmRfdXBkYXRlX3RoZV9zdGF0ZV9vZl9kaXJlY3Rvcnlfd2F0Y2hlcnNfb25fcGxhdGZvcm1zX3RoYXRfZG9uX3Rfc3VwcG9ydF9yZWN1cnNpdmVfd2F0Y2hpbmdfbmF0aXZlbHk6cig2NzA0LDMsXCJTeW5jaHJvbm91c2x5X2NhbGxfY2FsbGJhY2tzX2FuZF91cGRhdGVfdGhlX3N0YXRlX29mX2RpcmVjdG9yeV93YXRjaGVyc19vbl9wbGF0Zm9ybXNfdGhhdF9kb25fdF9zdXBwXzY3MDRcIixcIlN5bmNocm9ub3VzbHkgY2FsbCBjYWxsYmFja3MgYW5kIHVwZGF0ZSB0aGUgc3RhdGUgb2YgZGlyZWN0b3J5IHdhdGNoZXJzIG9uIHBsYXRmb3JtcyB0aGF0IGRvbmB0IHN1cHBvcnQgcmVjdXJzaXZlIHdhdGNoaW5nIG5hdGl2ZWx5LlwiKSxTZXRfdGhlX0phdmFTY3JpcHRfbGFuZ3VhZ2VfdmVyc2lvbl9mb3JfZW1pdHRlZF9KYXZhU2NyaXB0X2FuZF9pbmNsdWRlX2NvbXBhdGlibGVfbGlicmFyeV9kZWNsYXJhdGlvbnM6cig2NzA1LDMsXCJTZXRfdGhlX0phdmFTY3JpcHRfbGFuZ3VhZ2VfdmVyc2lvbl9mb3JfZW1pdHRlZF9KYXZhU2NyaXB0X2FuZF9pbmNsdWRlX2NvbXBhdGlibGVfbGlicmFyeV9kZWNsYXJhdGlvXzY3MDVcIixcIlNldCB0aGUgSmF2YVNjcmlwdCBsYW5ndWFnZSB2ZXJzaW9uIGZvciBlbWl0dGVkIEphdmFTY3JpcHQgYW5kIGluY2x1ZGUgY29tcGF0aWJsZSBsaWJyYXJ5IGRlY2xhcmF0aW9ucy5cIiksTG9nX3BhdGhzX3VzZWRfZHVyaW5nX3RoZV9tb2R1bGVSZXNvbHV0aW9uX3Byb2Nlc3M6cig2NzA2LDMsXCJMb2dfcGF0aHNfdXNlZF9kdXJpbmdfdGhlX21vZHVsZVJlc29sdXRpb25fcHJvY2Vzc182NzA2XCIsXCJMb2cgcGF0aHMgdXNlZCBkdXJpbmcgdGhlICdtb2R1bGVSZXNvbHV0aW9uJyBwcm9jZXNzLlwiKSxTcGVjaWZ5X3RoZV9wYXRoX3RvX3RzYnVpbGRpbmZvX2luY3JlbWVudGFsX2NvbXBpbGF0aW9uX2ZpbGU6cig2NzA3LDMsXCJTcGVjaWZ5X3RoZV9wYXRoX3RvX3RzYnVpbGRpbmZvX2luY3JlbWVudGFsX2NvbXBpbGF0aW9uX2ZpbGVfNjcwN1wiLFwiU3BlY2lmeSB0aGUgcGF0aCB0byAudHNidWlsZGluZm8gaW5jcmVtZW50YWwgY29tcGlsYXRpb24gZmlsZS5cIiksU3BlY2lmeV9vcHRpb25zX2Zvcl9hdXRvbWF0aWNfYWNxdWlzaXRpb25fb2ZfZGVjbGFyYXRpb25fZmlsZXM6cig2NzA5LDMsXCJTcGVjaWZ5X29wdGlvbnNfZm9yX2F1dG9tYXRpY19hY3F1aXNpdGlvbl9vZl9kZWNsYXJhdGlvbl9maWxlc182NzA5XCIsXCJTcGVjaWZ5IG9wdGlvbnMgZm9yIGF1dG9tYXRpYyBhY3F1aXNpdGlvbiBvZiBkZWNsYXJhdGlvbiBmaWxlcy5cIiksU3BlY2lmeV9tdWx0aXBsZV9mb2xkZXJzX3RoYXRfYWN0X2xpa2VfU2xhc2hub2RlX21vZHVsZXNfU2xhc2hfdHlwZXM6cig2NzEwLDMsXCJTcGVjaWZ5X211bHRpcGxlX2ZvbGRlcnNfdGhhdF9hY3RfbGlrZV9TbGFzaG5vZGVfbW9kdWxlc19TbGFzaF90eXBlc182NzEwXCIsXCJTcGVjaWZ5IG11bHRpcGxlIGZvbGRlcnMgdGhhdCBhY3QgbGlrZSAnLi9ub2RlX21vZHVsZXMvQHR5cGVzJy5cIiksU3BlY2lmeV90eXBlX3BhY2thZ2VfbmFtZXNfdG9fYmVfaW5jbHVkZWRfd2l0aG91dF9iZWluZ19yZWZlcmVuY2VkX2luX2Ffc291cmNlX2ZpbGU6cig2NzExLDMsXCJTcGVjaWZ5X3R5cGVfcGFja2FnZV9uYW1lc190b19iZV9pbmNsdWRlZF93aXRob3V0X2JlaW5nX3JlZmVyZW5jZWRfaW5fYV9zb3VyY2VfZmlsZV82NzExXCIsXCJTcGVjaWZ5IHR5cGUgcGFja2FnZSBuYW1lcyB0byBiZSBpbmNsdWRlZCB3aXRob3V0IGJlaW5nIHJlZmVyZW5jZWQgaW4gYSBzb3VyY2UgZmlsZS5cIiksRW1pdF9FQ01BU2NyaXB0X3N0YW5kYXJkX2NvbXBsaWFudF9jbGFzc19maWVsZHM6cig2NzEyLDMsXCJFbWl0X0VDTUFTY3JpcHRfc3RhbmRhcmRfY29tcGxpYW50X2NsYXNzX2ZpZWxkc182NzEyXCIsXCJFbWl0IEVDTUFTY3JpcHQtc3RhbmRhcmQtY29tcGxpYW50IGNsYXNzIGZpZWxkcy5cIiksRW5hYmxlX3ZlcmJvc2VfbG9nZ2luZzpyKDY3MTMsMyxcIkVuYWJsZV92ZXJib3NlX2xvZ2dpbmdfNjcxM1wiLFwiRW5hYmxlIHZlcmJvc2UgbG9nZ2luZy5cIiksU3BlY2lmeV9ob3dfZGlyZWN0b3JpZXNfYXJlX3dhdGNoZWRfb25fc3lzdGVtc190aGF0X2xhY2tfcmVjdXJzaXZlX2ZpbGVfd2F0Y2hpbmdfZnVuY3Rpb25hbGl0eTpyKDY3MTQsMyxcIlNwZWNpZnlfaG93X2RpcmVjdG9yaWVzX2FyZV93YXRjaGVkX29uX3N5c3RlbXNfdGhhdF9sYWNrX3JlY3Vyc2l2ZV9maWxlX3dhdGNoaW5nX2Z1bmN0aW9uYWxpdHlfNjcxNFwiLFwiU3BlY2lmeSBob3cgZGlyZWN0b3JpZXMgYXJlIHdhdGNoZWQgb24gc3lzdGVtcyB0aGF0IGxhY2sgcmVjdXJzaXZlIGZpbGUtd2F0Y2hpbmcgZnVuY3Rpb25hbGl0eS5cIiksU3BlY2lmeV9ob3dfdGhlX1R5cGVTY3JpcHRfd2F0Y2hfbW9kZV93b3JrczpyKDY3MTUsMyxcIlNwZWNpZnlfaG93X3RoZV9UeXBlU2NyaXB0X3dhdGNoX21vZGVfd29ya3NfNjcxNVwiLFwiU3BlY2lmeSBob3cgdGhlIFR5cGVTY3JpcHQgd2F0Y2ggbW9kZSB3b3Jrcy5cIiksUmVxdWlyZV91bmRlY2xhcmVkX3Byb3BlcnRpZXNfZnJvbV9pbmRleF9zaWduYXR1cmVzX3RvX3VzZV9lbGVtZW50X2FjY2Vzc2VzOnIoNjcxNywzLFwiUmVxdWlyZV91bmRlY2xhcmVkX3Byb3BlcnRpZXNfZnJvbV9pbmRleF9zaWduYXR1cmVzX3RvX3VzZV9lbGVtZW50X2FjY2Vzc2VzXzY3MTdcIixcIlJlcXVpcmUgdW5kZWNsYXJlZCBwcm9wZXJ0aWVzIGZyb20gaW5kZXggc2lnbmF0dXJlcyB0byB1c2UgZWxlbWVudCBhY2Nlc3Nlcy5cIiksU3BlY2lmeV9lbWl0X1NsYXNoY2hlY2tpbmdfYmVoYXZpb3JfZm9yX2ltcG9ydHNfdGhhdF9hcmVfb25seV91c2VkX2Zvcl90eXBlczpyKDY3MTgsMyxcIlNwZWNpZnlfZW1pdF9TbGFzaGNoZWNraW5nX2JlaGF2aW9yX2Zvcl9pbXBvcnRzX3RoYXRfYXJlX29ubHlfdXNlZF9mb3JfdHlwZXNfNjcxOFwiLFwiU3BlY2lmeSBlbWl0L2NoZWNraW5nIGJlaGF2aW9yIGZvciBpbXBvcnRzIHRoYXQgYXJlIG9ubHkgdXNlZCBmb3IgdHlwZXMuXCIpLFJlcXVpcmVfc3VmZmljaWVudF9hbm5vdGF0aW9uX29uX2V4cG9ydHNfc29fb3RoZXJfdG9vbHNfY2FuX3RyaXZpYWxseV9nZW5lcmF0ZV9kZWNsYXJhdGlvbl9maWxlczpyKDY3MTksMyxcIlJlcXVpcmVfc3VmZmljaWVudF9hbm5vdGF0aW9uX29uX2V4cG9ydHNfc29fb3RoZXJfdG9vbHNfY2FuX3RyaXZpYWxseV9nZW5lcmF0ZV9kZWNsYXJhdGlvbl9maWxlc182NzE5XCIsXCJSZXF1aXJlIHN1ZmZpY2llbnQgYW5ub3RhdGlvbiBvbiBleHBvcnRzIHNvIG90aGVyIHRvb2xzIGNhbiB0cml2aWFsbHkgZ2VuZXJhdGUgZGVjbGFyYXRpb24gZmlsZXMuXCIpLEJ1aWx0X2luX2l0ZXJhdG9yc19hcmVfaW5zdGFudGlhdGVkX3dpdGhfYV9UUmV0dXJuX3R5cGVfb2ZfdW5kZWZpbmVkX2luc3RlYWRfb2ZfYW55OnIoNjcyMCwzLFwiQnVpbHRfaW5faXRlcmF0b3JzX2FyZV9pbnN0YW50aWF0ZWRfd2l0aF9hX1RSZXR1cm5fdHlwZV9vZl91bmRlZmluZWRfaW5zdGVhZF9vZl9hbnlfNjcyMFwiLFwiQnVpbHQtaW4gaXRlcmF0b3JzIGFyZSBpbnN0YW50aWF0ZWQgd2l0aCBhICdUUmV0dXJuJyB0eXBlIG9mICd1bmRlZmluZWQnIGluc3RlYWQgb2YgJ2FueScuXCIpLERlZmF1bHRfY2F0Y2hfY2xhdXNlX3ZhcmlhYmxlc19hc191bmtub3duX2luc3RlYWRfb2ZfYW55OnIoNjgwMywzLFwiRGVmYXVsdF9jYXRjaF9jbGF1c2VfdmFyaWFibGVzX2FzX3Vua25vd25faW5zdGVhZF9vZl9hbnlfNjgwM1wiLFwiRGVmYXVsdCBjYXRjaCBjbGF1c2UgdmFyaWFibGVzIGFzICd1bmtub3duJyBpbnN0ZWFkIG9mICdhbnknLlwiKSxEb19ub3RfdHJhbnNmb3JtX29yX2VsaWRlX2FueV9pbXBvcnRzX29yX2V4cG9ydHNfbm90X21hcmtlZF9hc190eXBlX29ubHlfZW5zdXJpbmdfdGhleV9hcmVfd3JpdHRlbl9pbl90aGVfb3V0cHV0X2ZpbGVfc19mb3JtYXRfYmFzZWRfb25fdGhlX21vZHVsZV9zZXR0aW5nOnIoNjgwNCwzLFwiRG9fbm90X3RyYW5zZm9ybV9vcl9lbGlkZV9hbnlfaW1wb3J0c19vcl9leHBvcnRzX25vdF9tYXJrZWRfYXNfdHlwZV9vbmx5X2Vuc3VyaW5nX3RoZXlfYXJlX3dyaXR0ZW5faV82ODA0XCIsXCJEbyBub3QgdHJhbnNmb3JtIG9yIGVsaWRlIGFueSBpbXBvcnRzIG9yIGV4cG9ydHMgbm90IG1hcmtlZCBhcyB0eXBlLW9ubHksIGVuc3VyaW5nIHRoZXkgYXJlIHdyaXR0ZW4gaW4gdGhlIG91dHB1dCBmaWxlJ3MgZm9ybWF0IGJhc2VkIG9uIHRoZSAnbW9kdWxlJyBzZXR0aW5nLlwiKSxEaXNhYmxlX2Z1bGxfdHlwZV9jaGVja2luZ19vbmx5X2NyaXRpY2FsX3BhcnNlX2FuZF9lbWl0X2Vycm9yc193aWxsX2JlX3JlcG9ydGVkOnIoNjgwNSwzLFwiRGlzYWJsZV9mdWxsX3R5cGVfY2hlY2tpbmdfb25seV9jcml0aWNhbF9wYXJzZV9hbmRfZW1pdF9lcnJvcnNfd2lsbF9iZV9yZXBvcnRlZF82ODA1XCIsXCJEaXNhYmxlIGZ1bGwgdHlwZSBjaGVja2luZyAob25seSBjcml0aWNhbCBwYXJzZSBhbmQgZW1pdCBlcnJvcnMgd2lsbCBiZSByZXBvcnRlZCkuXCIpLENoZWNrX3NpZGVfZWZmZWN0X2ltcG9ydHM6cig2ODA2LDMsXCJDaGVja19zaWRlX2VmZmVjdF9pbXBvcnRzXzY4MDZcIixcIkNoZWNrIHNpZGUgZWZmZWN0IGltcG9ydHMuXCIpLFRoaXNfb3BlcmF0aW9uX2Nhbl9iZV9zaW1wbGlmaWVkX1RoaXNfc2hpZnRfaXNfaWRlbnRpY2FsX3RvXzBfMV8yOnIoNjgwNywxLFwiVGhpc19vcGVyYXRpb25fY2FuX2JlX3NpbXBsaWZpZWRfVGhpc19zaGlmdF9pc19pZGVudGljYWxfdG9fMF8xXzJfNjgwN1wiLFwiVGhpcyBvcGVyYXRpb24gY2FuIGJlIHNpbXBsaWZpZWQuIFRoaXMgc2hpZnQgaXMgaWRlbnRpY2FsIHRvIGB7MH0gezF9IHsyfWAuXCIpLG9uZV9vZl9Db2xvbjpyKDY5MDAsMyxcIm9uZV9vZl9Db2xvbl82OTAwXCIsXCJvbmUgb2Y6XCIpLG9uZV9vcl9tb3JlX0NvbG9uOnIoNjkwMSwzLFwib25lX29yX21vcmVfQ29sb25fNjkwMVwiLFwib25lIG9yIG1vcmU6XCIpLHR5cGVfQ29sb246cig2OTAyLDMsXCJ0eXBlX0NvbG9uXzY5MDJcIixcInR5cGU6XCIpLGRlZmF1bHRfQ29sb246cig2OTAzLDMsXCJkZWZhdWx0X0NvbG9uXzY5MDNcIixcImRlZmF1bHQ6XCIpLG1vZHVsZV9zeXN0ZW1fb3JfZXNNb2R1bGVJbnRlcm9wOnIoNjkwNCwzLFwibW9kdWxlX3N5c3RlbV9vcl9lc01vZHVsZUludGVyb3BfNjkwNFwiLCdtb2R1bGUgPT09IFwic3lzdGVtXCIgb3IgZXNNb2R1bGVJbnRlcm9wJyksZmFsc2VfdW5sZXNzX3N0cmljdF9pc19zZXQ6cig2OTA1LDMsXCJmYWxzZV91bmxlc3Nfc3RyaWN0X2lzX3NldF82OTA1XCIsXCJgZmFsc2VgLCB1bmxlc3MgYHN0cmljdGAgaXMgc2V0XCIpLGZhbHNlX3VubGVzc19jb21wb3NpdGVfaXNfc2V0OnIoNjkwNiwzLFwiZmFsc2VfdW5sZXNzX2NvbXBvc2l0ZV9pc19zZXRfNjkwNlwiLFwiYGZhbHNlYCwgdW5sZXNzIGBjb21wb3NpdGVgIGlzIHNldFwiKSxub2RlX21vZHVsZXNfYm93ZXJfY29tcG9uZW50c19qc3BtX3BhY2thZ2VzX3BsdXNfdGhlX3ZhbHVlX29mX291dERpcl9pZl9vbmVfaXNfc3BlY2lmaWVkOnIoNjkwNywzLFwibm9kZV9tb2R1bGVzX2Jvd2VyX2NvbXBvbmVudHNfanNwbV9wYWNrYWdlc19wbHVzX3RoZV92YWx1ZV9vZl9vdXREaXJfaWZfb25lX2lzX3NwZWNpZmllZF82OTA3XCIsJ2BbXCJub2RlX21vZHVsZXNcIiwgXCJib3dlcl9jb21wb25lbnRzXCIsIFwianNwbV9wYWNrYWdlc1wiXWAsIHBsdXMgdGhlIHZhbHVlIG9mIGBvdXREaXJgIGlmIG9uZSBpcyBzcGVjaWZpZWQuJyksaWZfZmlsZXNfaXNfc3BlY2lmaWVkX290aGVyd2lzZV9Bc3Rlcmlza19Bc3Rlcmlza19TbGFzaF9Bc3RlcmlzazpyKDY5MDgsMyxcImlmX2ZpbGVzX2lzX3NwZWNpZmllZF9vdGhlcndpc2VfQXN0ZXJpc2tfQXN0ZXJpc2tfU2xhc2hfQXN0ZXJpc2tfNjkwOFwiLCdgW11gIGlmIGBmaWxlc2AgaXMgc3BlY2lmaWVkLCBvdGhlcndpc2UgYFtcIioqLypcIl1gJyksdHJ1ZV9pZl9jb21wb3NpdGVfZmFsc2Vfb3RoZXJ3aXNlOnIoNjkwOSwzLFwidHJ1ZV9pZl9jb21wb3NpdGVfZmFsc2Vfb3RoZXJ3aXNlXzY5MDlcIixcImB0cnVlYCBpZiBgY29tcG9zaXRlYCwgYGZhbHNlYCBvdGhlcndpc2VcIiksbW9kdWxlX0FNRF9vcl9VTURfb3JfU3lzdGVtX29yX0VTNl90aGVuX0NsYXNzaWNfT3RoZXJ3aXNlX05vZGU6cig2OTAxMCwzLFwibW9kdWxlX0FNRF9vcl9VTURfb3JfU3lzdGVtX29yX0VTNl90aGVuX0NsYXNzaWNfT3RoZXJ3aXNlX05vZGVfNjkwMTBcIixcIm1vZHVsZSA9PT0gYEFNRGAgb3IgYFVNRGAgb3IgYFN5c3RlbWAgb3IgYEVTNmAsIHRoZW4gYENsYXNzaWNgLCBPdGhlcndpc2UgYE5vZGVgXCIpLENvbXB1dGVkX2Zyb21fdGhlX2xpc3Rfb2ZfaW5wdXRfZmlsZXM6cig2OTExLDMsXCJDb21wdXRlZF9mcm9tX3RoZV9saXN0X29mX2lucHV0X2ZpbGVzXzY5MTFcIixcIkNvbXB1dGVkIGZyb20gdGhlIGxpc3Qgb2YgaW5wdXQgZmlsZXNcIiksUGxhdGZvcm1fc3BlY2lmaWM6cig2OTEyLDMsXCJQbGF0Zm9ybV9zcGVjaWZpY182OTEyXCIsXCJQbGF0Zm9ybSBzcGVjaWZpY1wiKSxZb3VfY2FuX2xlYXJuX2Fib3V0X2FsbF9vZl90aGVfY29tcGlsZXJfb3B0aW9uc19hdF8wOnIoNjkxMywzLFwiWW91X2Nhbl9sZWFybl9hYm91dF9hbGxfb2ZfdGhlX2NvbXBpbGVyX29wdGlvbnNfYXRfMF82OTEzXCIsXCJZb3UgY2FuIGxlYXJuIGFib3V0IGFsbCBvZiB0aGUgY29tcGlsZXIgb3B0aW9ucyBhdCB7MH1cIiksSW5jbHVkaW5nX3dhdGNoX3dfd2lsbF9zdGFydF93YXRjaGluZ190aGVfY3VycmVudF9wcm9qZWN0X2Zvcl90aGVfZmlsZV9jaGFuZ2VzX09uY2Vfc2V0X3lvdV9jYW5fY29uZmlnX3dhdGNoX21vZGVfd2l0aF9Db2xvbjpyKDY5MTQsMyxcIkluY2x1ZGluZ193YXRjaF93X3dpbGxfc3RhcnRfd2F0Y2hpbmdfdGhlX2N1cnJlbnRfcHJvamVjdF9mb3JfdGhlX2ZpbGVfY2hhbmdlc19PbmNlX3NldF95b3VfY2FuX2NvbmZfNjkxNFwiLFwiSW5jbHVkaW5nIC0td2F0Y2gsIC13IHdpbGwgc3RhcnQgd2F0Y2hpbmcgdGhlIGN1cnJlbnQgcHJvamVjdCBmb3IgdGhlIGZpbGUgY2hhbmdlcy4gT25jZSBzZXQsIHlvdSBjYW4gY29uZmlnIHdhdGNoIG1vZGUgd2l0aDpcIiksVXNpbmdfYnVpbGRfYl93aWxsX21ha2VfdHNjX2JlaGF2ZV9tb3JlX2xpa2VfYV9idWlsZF9vcmNoZXN0cmF0b3JfdGhhbl9hX2NvbXBpbGVyX1RoaXNfaXNfdXNlZF90b190cmlnZ2VyX2J1aWxkaW5nX2NvbXBvc2l0ZV9wcm9qZWN0c193aGljaF95b3VfY2FuX2xlYXJuX21vcmVfYWJvdXRfYXRfMDpyKDY5MTUsMyxcIlVzaW5nX2J1aWxkX2Jfd2lsbF9tYWtlX3RzY19iZWhhdmVfbW9yZV9saWtlX2FfYnVpbGRfb3JjaGVzdHJhdG9yX3RoYW5fYV9jb21waWxlcl9UaGlzX2lzX3VzZWRfdG9fdHJfNjkxNVwiLFwiVXNpbmcgLS1idWlsZCwgLWIgd2lsbCBtYWtlIHRzYyBiZWhhdmUgbW9yZSBsaWtlIGEgYnVpbGQgb3JjaGVzdHJhdG9yIHRoYW4gYSBjb21waWxlci4gVGhpcyBpcyB1c2VkIHRvIHRyaWdnZXIgYnVpbGRpbmcgY29tcG9zaXRlIHByb2plY3RzIHdoaWNoIHlvdSBjYW4gbGVhcm4gbW9yZSBhYm91dCBhdCB7MH1cIiksQ09NTU9OX0NPTU1BTkRTOnIoNjkxNiwzLFwiQ09NTU9OX0NPTU1BTkRTXzY5MTZcIixcIkNPTU1PTiBDT01NQU5EU1wiKSxBTExfQ09NUElMRVJfT1BUSU9OUzpyKDY5MTcsMyxcIkFMTF9DT01QSUxFUl9PUFRJT05TXzY5MTdcIixcIkFMTCBDT01QSUxFUiBPUFRJT05TXCIpLFdBVENIX09QVElPTlM6cig2OTE4LDMsXCJXQVRDSF9PUFRJT05TXzY5MThcIixcIldBVENIIE9QVElPTlNcIiksQlVJTERfT1BUSU9OUzpyKDY5MTksMyxcIkJVSUxEX09QVElPTlNfNjkxOVwiLFwiQlVJTEQgT1BUSU9OU1wiKSxDT01NT05fQ09NUElMRVJfT1BUSU9OUzpyKDY5MjAsMyxcIkNPTU1PTl9DT01QSUxFUl9PUFRJT05TXzY5MjBcIixcIkNPTU1PTiBDT01QSUxFUiBPUFRJT05TXCIpLENPTU1BTkRfTElORV9GTEFHUzpyKDY5MjEsMyxcIkNPTU1BTkRfTElORV9GTEFHU182OTIxXCIsXCJDT01NQU5EIExJTkUgRkxBR1NcIiksdHNjX0NvbG9uX1RoZV9UeXBlU2NyaXB0X0NvbXBpbGVyOnIoNjkyMiwzLFwidHNjX0NvbG9uX1RoZV9UeXBlU2NyaXB0X0NvbXBpbGVyXzY5MjJcIixcInRzYzogVGhlIFR5cGVTY3JpcHQgQ29tcGlsZXJcIiksQ29tcGlsZXNfdGhlX2N1cnJlbnRfcHJvamVjdF90c2NvbmZpZ19qc29uX2luX3RoZV93b3JraW5nX2RpcmVjdG9yeTpyKDY5MjMsMyxcIkNvbXBpbGVzX3RoZV9jdXJyZW50X3Byb2plY3RfdHNjb25maWdfanNvbl9pbl90aGVfd29ya2luZ19kaXJlY3RvcnlfNjkyM1wiLFwiQ29tcGlsZXMgdGhlIGN1cnJlbnQgcHJvamVjdCAodHNjb25maWcuanNvbiBpbiB0aGUgd29ya2luZyBkaXJlY3RvcnkuKVwiKSxJZ25vcmluZ190c2NvbmZpZ19qc29uX2NvbXBpbGVzX3RoZV9zcGVjaWZpZWRfZmlsZXNfd2l0aF9kZWZhdWx0X2NvbXBpbGVyX29wdGlvbnM6cig2OTI0LDMsXCJJZ25vcmluZ190c2NvbmZpZ19qc29uX2NvbXBpbGVzX3RoZV9zcGVjaWZpZWRfZmlsZXNfd2l0aF9kZWZhdWx0X2NvbXBpbGVyX29wdGlvbnNfNjkyNFwiLFwiSWdub3JpbmcgdHNjb25maWcuanNvbiwgY29tcGlsZXMgdGhlIHNwZWNpZmllZCBmaWxlcyB3aXRoIGRlZmF1bHQgY29tcGlsZXIgb3B0aW9ucy5cIiksQnVpbGRfYV9jb21wb3NpdGVfcHJvamVjdF9pbl90aGVfd29ya2luZ19kaXJlY3Rvcnk6cig2OTI1LDMsXCJCdWlsZF9hX2NvbXBvc2l0ZV9wcm9qZWN0X2luX3RoZV93b3JraW5nX2RpcmVjdG9yeV82OTI1XCIsXCJCdWlsZCBhIGNvbXBvc2l0ZSBwcm9qZWN0IGluIHRoZSB3b3JraW5nIGRpcmVjdG9yeS5cIiksQ3JlYXRlc19hX3RzY29uZmlnX2pzb25fd2l0aF90aGVfcmVjb21tZW5kZWRfc2V0dGluZ3NfaW5fdGhlX3dvcmtpbmdfZGlyZWN0b3J5OnIoNjkyNiwzLFwiQ3JlYXRlc19hX3RzY29uZmlnX2pzb25fd2l0aF90aGVfcmVjb21tZW5kZWRfc2V0dGluZ3NfaW5fdGhlX3dvcmtpbmdfZGlyZWN0b3J5XzY5MjZcIixcIkNyZWF0ZXMgYSB0c2NvbmZpZy5qc29uIHdpdGggdGhlIHJlY29tbWVuZGVkIHNldHRpbmdzIGluIHRoZSB3b3JraW5nIGRpcmVjdG9yeS5cIiksQ29tcGlsZXNfdGhlX1R5cGVTY3JpcHRfcHJvamVjdF9sb2NhdGVkX2F0X3RoZV9zcGVjaWZpZWRfcGF0aDpyKDY5MjcsMyxcIkNvbXBpbGVzX3RoZV9UeXBlU2NyaXB0X3Byb2plY3RfbG9jYXRlZF9hdF90aGVfc3BlY2lmaWVkX3BhdGhfNjkyN1wiLFwiQ29tcGlsZXMgdGhlIFR5cGVTY3JpcHQgcHJvamVjdCBsb2NhdGVkIGF0IHRoZSBzcGVjaWZpZWQgcGF0aC5cIiksQW5fZXhwYW5kZWRfdmVyc2lvbl9vZl90aGlzX2luZm9ybWF0aW9uX3Nob3dpbmdfYWxsX3Bvc3NpYmxlX2NvbXBpbGVyX29wdGlvbnM6cig2OTI4LDMsXCJBbl9leHBhbmRlZF92ZXJzaW9uX29mX3RoaXNfaW5mb3JtYXRpb25fc2hvd2luZ19hbGxfcG9zc2libGVfY29tcGlsZXJfb3B0aW9uc182OTI4XCIsXCJBbiBleHBhbmRlZCB2ZXJzaW9uIG9mIHRoaXMgaW5mb3JtYXRpb24sIHNob3dpbmcgYWxsIHBvc3NpYmxlIGNvbXBpbGVyIG9wdGlvbnNcIiksQ29tcGlsZXNfdGhlX2N1cnJlbnRfcHJvamVjdF93aXRoX2FkZGl0aW9uYWxfc2V0dGluZ3M6cig2OTI5LDMsXCJDb21waWxlc190aGVfY3VycmVudF9wcm9qZWN0X3dpdGhfYWRkaXRpb25hbF9zZXR0aW5nc182OTI5XCIsXCJDb21waWxlcyB0aGUgY3VycmVudCBwcm9qZWN0LCB3aXRoIGFkZGl0aW9uYWwgc2V0dGluZ3MuXCIpLHRydWVfZm9yX0VTMjAyMl9hbmRfYWJvdmVfaW5jbHVkaW5nX0VTTmV4dDpyKDY5MzAsMyxcInRydWVfZm9yX0VTMjAyMl9hbmRfYWJvdmVfaW5jbHVkaW5nX0VTTmV4dF82OTMwXCIsXCJgdHJ1ZWAgZm9yIEVTMjAyMiBhbmQgYWJvdmUsIGluY2x1ZGluZyBFU05leHQuXCIpLExpc3Rfb2ZfZmlsZV9uYW1lX3N1ZmZpeGVzX3RvX3NlYXJjaF93aGVuX3Jlc29sdmluZ19hX21vZHVsZTpyKDY5MzEsMSxcIkxpc3Rfb2ZfZmlsZV9uYW1lX3N1ZmZpeGVzX3RvX3NlYXJjaF93aGVuX3Jlc29sdmluZ19hX21vZHVsZV82OTMxXCIsXCJMaXN0IG9mIGZpbGUgbmFtZSBzdWZmaXhlcyB0byBzZWFyY2ggd2hlbiByZXNvbHZpbmcgYSBtb2R1bGUuXCIpLFZhcmlhYmxlXzBfaW1wbGljaXRseV9oYXNfYW5fMV90eXBlOnIoNzAwNSwxLFwiVmFyaWFibGVfMF9pbXBsaWNpdGx5X2hhc19hbl8xX3R5cGVfNzAwNVwiLFwiVmFyaWFibGUgJ3swfScgaW1wbGljaXRseSBoYXMgYW4gJ3sxfScgdHlwZS5cIiksUGFyYW1ldGVyXzBfaW1wbGljaXRseV9oYXNfYW5fMV90eXBlOnIoNzAwNiwxLFwiUGFyYW1ldGVyXzBfaW1wbGljaXRseV9oYXNfYW5fMV90eXBlXzcwMDZcIixcIlBhcmFtZXRlciAnezB9JyBpbXBsaWNpdGx5IGhhcyBhbiAnezF9JyB0eXBlLlwiKSxNZW1iZXJfMF9pbXBsaWNpdGx5X2hhc19hbl8xX3R5cGU6cig3MDA4LDEsXCJNZW1iZXJfMF9pbXBsaWNpdGx5X2hhc19hbl8xX3R5cGVfNzAwOFwiLFwiTWVtYmVyICd7MH0nIGltcGxpY2l0bHkgaGFzIGFuICd7MX0nIHR5cGUuXCIpLG5ld19leHByZXNzaW9uX3dob3NlX3RhcmdldF9sYWNrc19hX2NvbnN0cnVjdF9zaWduYXR1cmVfaW1wbGljaXRseV9oYXNfYW5fYW55X3R5cGU6cig3MDA5LDEsXCJuZXdfZXhwcmVzc2lvbl93aG9zZV90YXJnZXRfbGFja3NfYV9jb25zdHJ1Y3Rfc2lnbmF0dXJlX2ltcGxpY2l0bHlfaGFzX2FuX2FueV90eXBlXzcwMDlcIixcIiduZXcnIGV4cHJlc3Npb24sIHdob3NlIHRhcmdldCBsYWNrcyBhIGNvbnN0cnVjdCBzaWduYXR1cmUsIGltcGxpY2l0bHkgaGFzIGFuICdhbnknIHR5cGUuXCIpLF8wX3doaWNoX2xhY2tzX3JldHVybl90eXBlX2Fubm90YXRpb25faW1wbGljaXRseV9oYXNfYW5fMV9yZXR1cm5fdHlwZTpyKDcwMTAsMSxcIl8wX3doaWNoX2xhY2tzX3JldHVybl90eXBlX2Fubm90YXRpb25faW1wbGljaXRseV9oYXNfYW5fMV9yZXR1cm5fdHlwZV83MDEwXCIsXCInezB9Jywgd2hpY2ggbGFja3MgcmV0dXJuLXR5cGUgYW5ub3RhdGlvbiwgaW1wbGljaXRseSBoYXMgYW4gJ3sxfScgcmV0dXJuIHR5cGUuXCIpLEZ1bmN0aW9uX2V4cHJlc3Npb25fd2hpY2hfbGFja3NfcmV0dXJuX3R5cGVfYW5ub3RhdGlvbl9pbXBsaWNpdGx5X2hhc19hbl8wX3JldHVybl90eXBlOnIoNzAxMSwxLFwiRnVuY3Rpb25fZXhwcmVzc2lvbl93aGljaF9sYWNrc19yZXR1cm5fdHlwZV9hbm5vdGF0aW9uX2ltcGxpY2l0bHlfaGFzX2FuXzBfcmV0dXJuX3R5cGVfNzAxMVwiLFwiRnVuY3Rpb24gZXhwcmVzc2lvbiwgd2hpY2ggbGFja3MgcmV0dXJuLXR5cGUgYW5ub3RhdGlvbiwgaW1wbGljaXRseSBoYXMgYW4gJ3swfScgcmV0dXJuIHR5cGUuXCIpLFRoaXNfb3ZlcmxvYWRfaW1wbGljaXRseV9yZXR1cm5zX3RoZV90eXBlXzBfYmVjYXVzZV9pdF9sYWNrc19hX3JldHVybl90eXBlX2Fubm90YXRpb246cig3MDEyLDEsXCJUaGlzX292ZXJsb2FkX2ltcGxpY2l0bHlfcmV0dXJuc190aGVfdHlwZV8wX2JlY2F1c2VfaXRfbGFja3NfYV9yZXR1cm5fdHlwZV9hbm5vdGF0aW9uXzcwMTJcIixcIlRoaXMgb3ZlcmxvYWQgaW1wbGljaXRseSByZXR1cm5zIHRoZSB0eXBlICd7MH0nIGJlY2F1c2UgaXQgbGFja3MgYSByZXR1cm4gdHlwZSBhbm5vdGF0aW9uLlwiKSxDb25zdHJ1Y3Rfc2lnbmF0dXJlX3doaWNoX2xhY2tzX3JldHVybl90eXBlX2Fubm90YXRpb25faW1wbGljaXRseV9oYXNfYW5fYW55X3JldHVybl90eXBlOnIoNzAxMywxLFwiQ29uc3RydWN0X3NpZ25hdHVyZV93aGljaF9sYWNrc19yZXR1cm5fdHlwZV9hbm5vdGF0aW9uX2ltcGxpY2l0bHlfaGFzX2FuX2FueV9yZXR1cm5fdHlwZV83MDEzXCIsXCJDb25zdHJ1Y3Qgc2lnbmF0dXJlLCB3aGljaCBsYWNrcyByZXR1cm4tdHlwZSBhbm5vdGF0aW9uLCBpbXBsaWNpdGx5IGhhcyBhbiAnYW55JyByZXR1cm4gdHlwZS5cIiksRnVuY3Rpb25fdHlwZV93aGljaF9sYWNrc19yZXR1cm5fdHlwZV9hbm5vdGF0aW9uX2ltcGxpY2l0bHlfaGFzX2FuXzBfcmV0dXJuX3R5cGU6cig3MDE0LDEsXCJGdW5jdGlvbl90eXBlX3doaWNoX2xhY2tzX3JldHVybl90eXBlX2Fubm90YXRpb25faW1wbGljaXRseV9oYXNfYW5fMF9yZXR1cm5fdHlwZV83MDE0XCIsXCJGdW5jdGlvbiB0eXBlLCB3aGljaCBsYWNrcyByZXR1cm4tdHlwZSBhbm5vdGF0aW9uLCBpbXBsaWNpdGx5IGhhcyBhbiAnezB9JyByZXR1cm4gdHlwZS5cIiksRWxlbWVudF9pbXBsaWNpdGx5X2hhc19hbl9hbnlfdHlwZV9iZWNhdXNlX2luZGV4X2V4cHJlc3Npb25faXNfbm90X29mX3R5cGVfbnVtYmVyOnIoNzAxNSwxLFwiRWxlbWVudF9pbXBsaWNpdGx5X2hhc19hbl9hbnlfdHlwZV9iZWNhdXNlX2luZGV4X2V4cHJlc3Npb25faXNfbm90X29mX3R5cGVfbnVtYmVyXzcwMTVcIixcIkVsZW1lbnQgaW1wbGljaXRseSBoYXMgYW4gJ2FueScgdHlwZSBiZWNhdXNlIGluZGV4IGV4cHJlc3Npb24gaXMgbm90IG9mIHR5cGUgJ251bWJlcicuXCIpLENvdWxkX25vdF9maW5kX2FfZGVjbGFyYXRpb25fZmlsZV9mb3JfbW9kdWxlXzBfMV9pbXBsaWNpdGx5X2hhc19hbl9hbnlfdHlwZTpyKDcwMTYsMSxcIkNvdWxkX25vdF9maW5kX2FfZGVjbGFyYXRpb25fZmlsZV9mb3JfbW9kdWxlXzBfMV9pbXBsaWNpdGx5X2hhc19hbl9hbnlfdHlwZV83MDE2XCIsXCJDb3VsZCBub3QgZmluZCBhIGRlY2xhcmF0aW9uIGZpbGUgZm9yIG1vZHVsZSAnezB9Jy4gJ3sxfScgaW1wbGljaXRseSBoYXMgYW4gJ2FueScgdHlwZS5cIiksRWxlbWVudF9pbXBsaWNpdGx5X2hhc19hbl9hbnlfdHlwZV9iZWNhdXNlX3R5cGVfMF9oYXNfbm9faW5kZXhfc2lnbmF0dXJlOnIoNzAxNywxLFwiRWxlbWVudF9pbXBsaWNpdGx5X2hhc19hbl9hbnlfdHlwZV9iZWNhdXNlX3R5cGVfMF9oYXNfbm9faW5kZXhfc2lnbmF0dXJlXzcwMTdcIixcIkVsZW1lbnQgaW1wbGljaXRseSBoYXMgYW4gJ2FueScgdHlwZSBiZWNhdXNlIHR5cGUgJ3swfScgaGFzIG5vIGluZGV4IHNpZ25hdHVyZS5cIiksT2JqZWN0X2xpdGVyYWxfc19wcm9wZXJ0eV8wX2ltcGxpY2l0bHlfaGFzX2FuXzFfdHlwZTpyKDcwMTgsMSxcIk9iamVjdF9saXRlcmFsX3NfcHJvcGVydHlfMF9pbXBsaWNpdGx5X2hhc19hbl8xX3R5cGVfNzAxOFwiLFwiT2JqZWN0IGxpdGVyYWwncyBwcm9wZXJ0eSAnezB9JyBpbXBsaWNpdGx5IGhhcyBhbiAnezF9JyB0eXBlLlwiKSxSZXN0X3BhcmFtZXRlcl8wX2ltcGxpY2l0bHlfaGFzX2FuX2FueV90eXBlOnIoNzAxOSwxLFwiUmVzdF9wYXJhbWV0ZXJfMF9pbXBsaWNpdGx5X2hhc19hbl9hbnlfdHlwZV83MDE5XCIsXCJSZXN0IHBhcmFtZXRlciAnezB9JyBpbXBsaWNpdGx5IGhhcyBhbiAnYW55W10nIHR5cGUuXCIpLENhbGxfc2lnbmF0dXJlX3doaWNoX2xhY2tzX3JldHVybl90eXBlX2Fubm90YXRpb25faW1wbGljaXRseV9oYXNfYW5fYW55X3JldHVybl90eXBlOnIoNzAyMCwxLFwiQ2FsbF9zaWduYXR1cmVfd2hpY2hfbGFja3NfcmV0dXJuX3R5cGVfYW5ub3RhdGlvbl9pbXBsaWNpdGx5X2hhc19hbl9hbnlfcmV0dXJuX3R5cGVfNzAyMFwiLFwiQ2FsbCBzaWduYXR1cmUsIHdoaWNoIGxhY2tzIHJldHVybi10eXBlIGFubm90YXRpb24sIGltcGxpY2l0bHkgaGFzIGFuICdhbnknIHJldHVybiB0eXBlLlwiKSxfMF9pbXBsaWNpdGx5X2hhc190eXBlX2FueV9iZWNhdXNlX2l0X2RvZXNfbm90X2hhdmVfYV90eXBlX2Fubm90YXRpb25fYW5kX2lzX3JlZmVyZW5jZWRfZGlyZWN0bHlfb3JfaW5kaXJlY3RseV9pbl9pdHNfb3duX2luaXRpYWxpemVyOnIoNzAyMiwxLFwiXzBfaW1wbGljaXRseV9oYXNfdHlwZV9hbnlfYmVjYXVzZV9pdF9kb2VzX25vdF9oYXZlX2FfdHlwZV9hbm5vdGF0aW9uX2FuZF9pc19yZWZlcmVuY2VkX2RpcmVjdGx5X29yX183MDIyXCIsXCInezB9JyBpbXBsaWNpdGx5IGhhcyB0eXBlICdhbnknIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHR5cGUgYW5ub3RhdGlvbiBhbmQgaXMgcmVmZXJlbmNlZCBkaXJlY3RseSBvciBpbmRpcmVjdGx5IGluIGl0cyBvd24gaW5pdGlhbGl6ZXIuXCIpLF8wX2ltcGxpY2l0bHlfaGFzX3JldHVybl90eXBlX2FueV9iZWNhdXNlX2l0X2RvZXNfbm90X2hhdmVfYV9yZXR1cm5fdHlwZV9hbm5vdGF0aW9uX2FuZF9pc19yZWZlcmVuY2VkX2RpcmVjdGx5X29yX2luZGlyZWN0bHlfaW5fb25lX29mX2l0c19yZXR1cm5fZXhwcmVzc2lvbnM6cig3MDIzLDEsXCJfMF9pbXBsaWNpdGx5X2hhc19yZXR1cm5fdHlwZV9hbnlfYmVjYXVzZV9pdF9kb2VzX25vdF9oYXZlX2FfcmV0dXJuX3R5cGVfYW5ub3RhdGlvbl9hbmRfaXNfcmVmZXJlbmNlXzcwMjNcIixcIid7MH0nIGltcGxpY2l0bHkgaGFzIHJldHVybiB0eXBlICdhbnknIGJlY2F1c2UgaXQgZG9lcyBub3QgaGF2ZSBhIHJldHVybiB0eXBlIGFubm90YXRpb24gYW5kIGlzIHJlZmVyZW5jZWQgZGlyZWN0bHkgb3IgaW5kaXJlY3RseSBpbiBvbmUgb2YgaXRzIHJldHVybiBleHByZXNzaW9ucy5cIiksRnVuY3Rpb25faW1wbGljaXRseV9oYXNfcmV0dXJuX3R5cGVfYW55X2JlY2F1c2VfaXRfZG9lc19ub3RfaGF2ZV9hX3JldHVybl90eXBlX2Fubm90YXRpb25fYW5kX2lzX3JlZmVyZW5jZWRfZGlyZWN0bHlfb3JfaW5kaXJlY3RseV9pbl9vbmVfb2ZfaXRzX3JldHVybl9leHByZXNzaW9uczpyKDcwMjQsMSxcIkZ1bmN0aW9uX2ltcGxpY2l0bHlfaGFzX3JldHVybl90eXBlX2FueV9iZWNhdXNlX2l0X2RvZXNfbm90X2hhdmVfYV9yZXR1cm5fdHlwZV9hbm5vdGF0aW9uX2FuZF9pc19yZWZfNzAyNFwiLFwiRnVuY3Rpb24gaW1wbGljaXRseSBoYXMgcmV0dXJuIHR5cGUgJ2FueScgYmVjYXVzZSBpdCBkb2VzIG5vdCBoYXZlIGEgcmV0dXJuIHR5cGUgYW5ub3RhdGlvbiBhbmQgaXMgcmVmZXJlbmNlZCBkaXJlY3RseSBvciBpbmRpcmVjdGx5IGluIG9uZSBvZiBpdHMgcmV0dXJuIGV4cHJlc3Npb25zLlwiKSxHZW5lcmF0b3JfaW1wbGljaXRseV9oYXNfeWllbGRfdHlwZV8wX0NvbnNpZGVyX3N1cHBseWluZ19hX3JldHVybl90eXBlX2Fubm90YXRpb246cig3MDI1LDEsXCJHZW5lcmF0b3JfaW1wbGljaXRseV9oYXNfeWllbGRfdHlwZV8wX0NvbnNpZGVyX3N1cHBseWluZ19hX3JldHVybl90eXBlX2Fubm90YXRpb25fNzAyNVwiLFwiR2VuZXJhdG9yIGltcGxpY2l0bHkgaGFzIHlpZWxkIHR5cGUgJ3swfScuIENvbnNpZGVyIHN1cHBseWluZyBhIHJldHVybiB0eXBlIGFubm90YXRpb24uXCIpLEpTWF9lbGVtZW50X2ltcGxpY2l0bHlfaGFzX3R5cGVfYW55X2JlY2F1c2Vfbm9faW50ZXJmYWNlX0pTWF8wX2V4aXN0czpyKDcwMjYsMSxcIkpTWF9lbGVtZW50X2ltcGxpY2l0bHlfaGFzX3R5cGVfYW55X2JlY2F1c2Vfbm9faW50ZXJmYWNlX0pTWF8wX2V4aXN0c183MDI2XCIsXCJKU1ggZWxlbWVudCBpbXBsaWNpdGx5IGhhcyB0eXBlICdhbnknIGJlY2F1c2Ugbm8gaW50ZXJmYWNlICdKU1guezB9JyBleGlzdHMuXCIpLFVucmVhY2hhYmxlX2NvZGVfZGV0ZWN0ZWQ6cig3MDI3LDEsXCJVbnJlYWNoYWJsZV9jb2RlX2RldGVjdGVkXzcwMjdcIixcIlVucmVhY2hhYmxlIGNvZGUgZGV0ZWN0ZWQuXCIsITApLFVudXNlZF9sYWJlbDpyKDcwMjgsMSxcIlVudXNlZF9sYWJlbF83MDI4XCIsXCJVbnVzZWQgbGFiZWwuXCIsITApLEZhbGx0aHJvdWdoX2Nhc2VfaW5fc3dpdGNoOnIoNzAyOSwxLFwiRmFsbHRocm91Z2hfY2FzZV9pbl9zd2l0Y2hfNzAyOVwiLFwiRmFsbHRocm91Z2ggY2FzZSBpbiBzd2l0Y2guXCIpLE5vdF9hbGxfY29kZV9wYXRoc19yZXR1cm5fYV92YWx1ZTpyKDcwMzAsMSxcIk5vdF9hbGxfY29kZV9wYXRoc19yZXR1cm5fYV92YWx1ZV83MDMwXCIsXCJOb3QgYWxsIGNvZGUgcGF0aHMgcmV0dXJuIGEgdmFsdWUuXCIpLEJpbmRpbmdfZWxlbWVudF8wX2ltcGxpY2l0bHlfaGFzX2FuXzFfdHlwZTpyKDcwMzEsMSxcIkJpbmRpbmdfZWxlbWVudF8wX2ltcGxpY2l0bHlfaGFzX2FuXzFfdHlwZV83MDMxXCIsXCJCaW5kaW5nIGVsZW1lbnQgJ3swfScgaW1wbGljaXRseSBoYXMgYW4gJ3sxfScgdHlwZS5cIiksUHJvcGVydHlfMF9pbXBsaWNpdGx5X2hhc190eXBlX2FueV9iZWNhdXNlX2l0c19zZXRfYWNjZXNzb3JfbGFja3NfYV9wYXJhbWV0ZXJfdHlwZV9hbm5vdGF0aW9uOnIoNzAzMiwxLFwiUHJvcGVydHlfMF9pbXBsaWNpdGx5X2hhc190eXBlX2FueV9iZWNhdXNlX2l0c19zZXRfYWNjZXNzb3JfbGFja3NfYV9wYXJhbWV0ZXJfdHlwZV9hbm5vdGF0aW9uXzcwMzJcIixcIlByb3BlcnR5ICd7MH0nIGltcGxpY2l0bHkgaGFzIHR5cGUgJ2FueScsIGJlY2F1c2UgaXRzIHNldCBhY2Nlc3NvciBsYWNrcyBhIHBhcmFtZXRlciB0eXBlIGFubm90YXRpb24uXCIpLFByb3BlcnR5XzBfaW1wbGljaXRseV9oYXNfdHlwZV9hbnlfYmVjYXVzZV9pdHNfZ2V0X2FjY2Vzc29yX2xhY2tzX2FfcmV0dXJuX3R5cGVfYW5ub3RhdGlvbjpyKDcwMzMsMSxcIlByb3BlcnR5XzBfaW1wbGljaXRseV9oYXNfdHlwZV9hbnlfYmVjYXVzZV9pdHNfZ2V0X2FjY2Vzc29yX2xhY2tzX2FfcmV0dXJuX3R5cGVfYW5ub3RhdGlvbl83MDMzXCIsXCJQcm9wZXJ0eSAnezB9JyBpbXBsaWNpdGx5IGhhcyB0eXBlICdhbnknLCBiZWNhdXNlIGl0cyBnZXQgYWNjZXNzb3IgbGFja3MgYSByZXR1cm4gdHlwZSBhbm5vdGF0aW9uLlwiKSxWYXJpYWJsZV8wX2ltcGxpY2l0bHlfaGFzX3R5cGVfMV9pbl9zb21lX2xvY2F0aW9uc193aGVyZV9pdHNfdHlwZV9jYW5ub3RfYmVfZGV0ZXJtaW5lZDpyKDcwMzQsMSxcIlZhcmlhYmxlXzBfaW1wbGljaXRseV9oYXNfdHlwZV8xX2luX3NvbWVfbG9jYXRpb25zX3doZXJlX2l0c190eXBlX2Nhbm5vdF9iZV9kZXRlcm1pbmVkXzcwMzRcIixcIlZhcmlhYmxlICd7MH0nIGltcGxpY2l0bHkgaGFzIHR5cGUgJ3sxfScgaW4gc29tZSBsb2NhdGlvbnMgd2hlcmUgaXRzIHR5cGUgY2Fubm90IGJlIGRldGVybWluZWQuXCIpLFRyeV9ucG1faV9zYXZlX2Rldl90eXBlc19TbGFzaF8xX2lmX2l0X2V4aXN0c19vcl9hZGRfYV9uZXdfZGVjbGFyYXRpb25fZF90c19maWxlX2NvbnRhaW5pbmdfZGVjbGFyZV9tb2R1bGVfMDpyKDcwMzUsMSxcIlRyeV9ucG1faV9zYXZlX2Rldl90eXBlc19TbGFzaF8xX2lmX2l0X2V4aXN0c19vcl9hZGRfYV9uZXdfZGVjbGFyYXRpb25fZF90c19maWxlX2NvbnRhaW5pbmdfZGVjbGFyZV9fNzAzNVwiLFwiVHJ5IGBucG0gaSAtLXNhdmUtZGV2IEB0eXBlcy97MX1gIGlmIGl0IGV4aXN0cyBvciBhZGQgYSBuZXcgZGVjbGFyYXRpb24gKC5kLnRzKSBmaWxlIGNvbnRhaW5pbmcgYGRlY2xhcmUgbW9kdWxlICd7MH0nO2BcIiksRHluYW1pY19pbXBvcnRfc19zcGVjaWZpZXJfbXVzdF9iZV9vZl90eXBlX3N0cmluZ19idXRfaGVyZV9oYXNfdHlwZV8wOnIoNzAzNiwxLFwiRHluYW1pY19pbXBvcnRfc19zcGVjaWZpZXJfbXVzdF9iZV9vZl90eXBlX3N0cmluZ19idXRfaGVyZV9oYXNfdHlwZV8wXzcwMzZcIixcIkR5bmFtaWMgaW1wb3J0J3Mgc3BlY2lmaWVyIG11c3QgYmUgb2YgdHlwZSAnc3RyaW5nJywgYnV0IGhlcmUgaGFzIHR5cGUgJ3swfScuXCIpLEVuYWJsZXNfZW1pdF9pbnRlcm9wZXJhYmlsaXR5X2JldHdlZW5fQ29tbW9uSlNfYW5kX0VTX01vZHVsZXNfdmlhX2NyZWF0aW9uX29mX25hbWVzcGFjZV9vYmplY3RzX2Zvcl9hbGxfaW1wb3J0c19JbXBsaWVzX2FsbG93U3ludGhldGljRGVmYXVsdEltcG9ydHM6cig3MDM3LDMsXCJFbmFibGVzX2VtaXRfaW50ZXJvcGVyYWJpbGl0eV9iZXR3ZWVuX0NvbW1vbkpTX2FuZF9FU19Nb2R1bGVzX3ZpYV9jcmVhdGlvbl9vZl9uYW1lc3BhY2Vfb2JqZWN0c19mb3JfXzcwMzdcIixcIkVuYWJsZXMgZW1pdCBpbnRlcm9wZXJhYmlsaXR5IGJldHdlZW4gQ29tbW9uSlMgYW5kIEVTIE1vZHVsZXMgdmlhIGNyZWF0aW9uIG9mIG5hbWVzcGFjZSBvYmplY3RzIGZvciBhbGwgaW1wb3J0cy4gSW1wbGllcyAnYWxsb3dTeW50aGV0aWNEZWZhdWx0SW1wb3J0cycuXCIpLFR5cGVfb3JpZ2luYXRlc19hdF90aGlzX2ltcG9ydF9BX25hbWVzcGFjZV9zdHlsZV9pbXBvcnRfY2Fubm90X2JlX2NhbGxlZF9vcl9jb25zdHJ1Y3RlZF9hbmRfd2lsbF9jYXVzZV9hX2ZhaWx1cmVfYXRfcnVudGltZV9Db25zaWRlcl91c2luZ19hX2RlZmF1bHRfaW1wb3J0X29yX2ltcG9ydF9yZXF1aXJlX2hlcmVfaW5zdGVhZDpyKDcwMzgsMyxcIlR5cGVfb3JpZ2luYXRlc19hdF90aGlzX2ltcG9ydF9BX25hbWVzcGFjZV9zdHlsZV9pbXBvcnRfY2Fubm90X2JlX2NhbGxlZF9vcl9jb25zdHJ1Y3RlZF9hbmRfd2lsbF9jYXVfNzAzOFwiLFwiVHlwZSBvcmlnaW5hdGVzIGF0IHRoaXMgaW1wb3J0LiBBIG5hbWVzcGFjZS1zdHlsZSBpbXBvcnQgY2Fubm90IGJlIGNhbGxlZCBvciBjb25zdHJ1Y3RlZCwgYW5kIHdpbGwgY2F1c2UgYSBmYWlsdXJlIGF0IHJ1bnRpbWUuIENvbnNpZGVyIHVzaW5nIGEgZGVmYXVsdCBpbXBvcnQgb3IgaW1wb3J0IHJlcXVpcmUgaGVyZSBpbnN0ZWFkLlwiKSxNYXBwZWRfb2JqZWN0X3R5cGVfaW1wbGljaXRseV9oYXNfYW5fYW55X3RlbXBsYXRlX3R5cGU6cig3MDM5LDEsXCJNYXBwZWRfb2JqZWN0X3R5cGVfaW1wbGljaXRseV9oYXNfYW5fYW55X3RlbXBsYXRlX3R5cGVfNzAzOVwiLFwiTWFwcGVkIG9iamVjdCB0eXBlIGltcGxpY2l0bHkgaGFzIGFuICdhbnknIHRlbXBsYXRlIHR5cGUuXCIpLElmX3RoZV8wX3BhY2thZ2VfYWN0dWFsbHlfZXhwb3Nlc190aGlzX21vZHVsZV9jb25zaWRlcl9zZW5kaW5nX2FfcHVsbF9yZXF1ZXN0X3RvX2FtZW5kX2h0dHBzX0NvbG9uX1NsYXNoX1NsYXNoZ2l0aHViX2NvbV9TbGFzaERlZmluaXRlbHlUeXBlZF9TbGFzaERlZmluaXRlbHlUeXBlZF9TbGFzaHRyZWVfU2xhc2htYXN0ZXJfU2xhc2h0eXBlc19TbGFzaF8xOnIoNzA0MCwxLFwiSWZfdGhlXzBfcGFja2FnZV9hY3R1YWxseV9leHBvc2VzX3RoaXNfbW9kdWxlX2NvbnNpZGVyX3NlbmRpbmdfYV9wdWxsX3JlcXVlc3RfdG9fYW1lbmRfaHR0cHNfQ29sb25fU183MDQwXCIsXCJJZiB0aGUgJ3swfScgcGFja2FnZSBhY3R1YWxseSBleHBvc2VzIHRoaXMgbW9kdWxlLCBjb25zaWRlciBzZW5kaW5nIGEgcHVsbCByZXF1ZXN0IHRvIGFtZW5kICdodHRwczovL2dpdGh1Yi5jb20vRGVmaW5pdGVseVR5cGVkL0RlZmluaXRlbHlUeXBlZC90cmVlL21hc3Rlci90eXBlcy97MX0nXCIpLFRoZV9jb250YWluaW5nX2Fycm93X2Z1bmN0aW9uX2NhcHR1cmVzX3RoZV9nbG9iYWxfdmFsdWVfb2ZfdGhpczpyKDcwNDEsMSxcIlRoZV9jb250YWluaW5nX2Fycm93X2Z1bmN0aW9uX2NhcHR1cmVzX3RoZV9nbG9iYWxfdmFsdWVfb2ZfdGhpc183MDQxXCIsXCJUaGUgY29udGFpbmluZyBhcnJvdyBmdW5jdGlvbiBjYXB0dXJlcyB0aGUgZ2xvYmFsIHZhbHVlIG9mICd0aGlzJy5cIiksTW9kdWxlXzBfd2FzX3Jlc29sdmVkX3RvXzFfYnV0X3Jlc29sdmVKc29uTW9kdWxlX2lzX25vdF91c2VkOnIoNzA0MiwxLFwiTW9kdWxlXzBfd2FzX3Jlc29sdmVkX3RvXzFfYnV0X3Jlc29sdmVKc29uTW9kdWxlX2lzX25vdF91c2VkXzcwNDJcIixcIk1vZHVsZSAnezB9JyB3YXMgcmVzb2x2ZWQgdG8gJ3sxfScsIGJ1dCAnLS1yZXNvbHZlSnNvbk1vZHVsZScgaXMgbm90IHVzZWQuXCIpLFZhcmlhYmxlXzBfaW1wbGljaXRseV9oYXNfYW5fMV90eXBlX2J1dF9hX2JldHRlcl90eXBlX21heV9iZV9pbmZlcnJlZF9mcm9tX3VzYWdlOnIoNzA0MywyLFwiVmFyaWFibGVfMF9pbXBsaWNpdGx5X2hhc19hbl8xX3R5cGVfYnV0X2FfYmV0dGVyX3R5cGVfbWF5X2JlX2luZmVycmVkX2Zyb21fdXNhZ2VfNzA0M1wiLFwiVmFyaWFibGUgJ3swfScgaW1wbGljaXRseSBoYXMgYW4gJ3sxfScgdHlwZSwgYnV0IGEgYmV0dGVyIHR5cGUgbWF5IGJlIGluZmVycmVkIGZyb20gdXNhZ2UuXCIpLFBhcmFtZXRlcl8wX2ltcGxpY2l0bHlfaGFzX2FuXzFfdHlwZV9idXRfYV9iZXR0ZXJfdHlwZV9tYXlfYmVfaW5mZXJyZWRfZnJvbV91c2FnZTpyKDcwNDQsMixcIlBhcmFtZXRlcl8wX2ltcGxpY2l0bHlfaGFzX2FuXzFfdHlwZV9idXRfYV9iZXR0ZXJfdHlwZV9tYXlfYmVfaW5mZXJyZWRfZnJvbV91c2FnZV83MDQ0XCIsXCJQYXJhbWV0ZXIgJ3swfScgaW1wbGljaXRseSBoYXMgYW4gJ3sxfScgdHlwZSwgYnV0IGEgYmV0dGVyIHR5cGUgbWF5IGJlIGluZmVycmVkIGZyb20gdXNhZ2UuXCIpLE1lbWJlcl8wX2ltcGxpY2l0bHlfaGFzX2FuXzFfdHlwZV9idXRfYV9iZXR0ZXJfdHlwZV9tYXlfYmVfaW5mZXJyZWRfZnJvbV91c2FnZTpyKDcwNDUsMixcIk1lbWJlcl8wX2ltcGxpY2l0bHlfaGFzX2FuXzFfdHlwZV9idXRfYV9iZXR0ZXJfdHlwZV9tYXlfYmVfaW5mZXJyZWRfZnJvbV91c2FnZV83MDQ1XCIsXCJNZW1iZXIgJ3swfScgaW1wbGljaXRseSBoYXMgYW4gJ3sxfScgdHlwZSwgYnV0IGEgYmV0dGVyIHR5cGUgbWF5IGJlIGluZmVycmVkIGZyb20gdXNhZ2UuXCIpLFZhcmlhYmxlXzBfaW1wbGljaXRseV9oYXNfdHlwZV8xX2luX3NvbWVfbG9jYXRpb25zX2J1dF9hX2JldHRlcl90eXBlX21heV9iZV9pbmZlcnJlZF9mcm9tX3VzYWdlOnIoNzA0NiwyLFwiVmFyaWFibGVfMF9pbXBsaWNpdGx5X2hhc190eXBlXzFfaW5fc29tZV9sb2NhdGlvbnNfYnV0X2FfYmV0dGVyX3R5cGVfbWF5X2JlX2luZmVycmVkX2Zyb21fdXNhZ2VfNzA0NlwiLFwiVmFyaWFibGUgJ3swfScgaW1wbGljaXRseSBoYXMgdHlwZSAnezF9JyBpbiBzb21lIGxvY2F0aW9ucywgYnV0IGEgYmV0dGVyIHR5cGUgbWF5IGJlIGluZmVycmVkIGZyb20gdXNhZ2UuXCIpLFJlc3RfcGFyYW1ldGVyXzBfaW1wbGljaXRseV9oYXNfYW5fYW55X3R5cGVfYnV0X2FfYmV0dGVyX3R5cGVfbWF5X2JlX2luZmVycmVkX2Zyb21fdXNhZ2U6cig3MDQ3LDIsXCJSZXN0X3BhcmFtZXRlcl8wX2ltcGxpY2l0bHlfaGFzX2FuX2FueV90eXBlX2J1dF9hX2JldHRlcl90eXBlX21heV9iZV9pbmZlcnJlZF9mcm9tX3VzYWdlXzcwNDdcIixcIlJlc3QgcGFyYW1ldGVyICd7MH0nIGltcGxpY2l0bHkgaGFzIGFuICdhbnlbXScgdHlwZSwgYnV0IGEgYmV0dGVyIHR5cGUgbWF5IGJlIGluZmVycmVkIGZyb20gdXNhZ2UuXCIpLFByb3BlcnR5XzBfaW1wbGljaXRseV9oYXNfdHlwZV9hbnlfYnV0X2FfYmV0dGVyX3R5cGVfZm9yX2l0c19nZXRfYWNjZXNzb3JfbWF5X2JlX2luZmVycmVkX2Zyb21fdXNhZ2U6cig3MDQ4LDIsXCJQcm9wZXJ0eV8wX2ltcGxpY2l0bHlfaGFzX3R5cGVfYW55X2J1dF9hX2JldHRlcl90eXBlX2Zvcl9pdHNfZ2V0X2FjY2Vzc29yX21heV9iZV9pbmZlcnJlZF9mcm9tX3VzYWdlXzcwNDhcIixcIlByb3BlcnR5ICd7MH0nIGltcGxpY2l0bHkgaGFzIHR5cGUgJ2FueScsIGJ1dCBhIGJldHRlciB0eXBlIGZvciBpdHMgZ2V0IGFjY2Vzc29yIG1heSBiZSBpbmZlcnJlZCBmcm9tIHVzYWdlLlwiKSxQcm9wZXJ0eV8wX2ltcGxpY2l0bHlfaGFzX3R5cGVfYW55X2J1dF9hX2JldHRlcl90eXBlX2Zvcl9pdHNfc2V0X2FjY2Vzc29yX21heV9iZV9pbmZlcnJlZF9mcm9tX3VzYWdlOnIoNzA0OSwyLFwiUHJvcGVydHlfMF9pbXBsaWNpdGx5X2hhc190eXBlX2FueV9idXRfYV9iZXR0ZXJfdHlwZV9mb3JfaXRzX3NldF9hY2Nlc3Nvcl9tYXlfYmVfaW5mZXJyZWRfZnJvbV91c2FnZV83MDQ5XCIsXCJQcm9wZXJ0eSAnezB9JyBpbXBsaWNpdGx5IGhhcyB0eXBlICdhbnknLCBidXQgYSBiZXR0ZXIgdHlwZSBmb3IgaXRzIHNldCBhY2Nlc3NvciBtYXkgYmUgaW5mZXJyZWQgZnJvbSB1c2FnZS5cIiksXzBfaW1wbGljaXRseV9oYXNfYW5fMV9yZXR1cm5fdHlwZV9idXRfYV9iZXR0ZXJfdHlwZV9tYXlfYmVfaW5mZXJyZWRfZnJvbV91c2FnZTpyKDcwNTAsMixcIl8wX2ltcGxpY2l0bHlfaGFzX2FuXzFfcmV0dXJuX3R5cGVfYnV0X2FfYmV0dGVyX3R5cGVfbWF5X2JlX2luZmVycmVkX2Zyb21fdXNhZ2VfNzA1MFwiLFwiJ3swfScgaW1wbGljaXRseSBoYXMgYW4gJ3sxfScgcmV0dXJuIHR5cGUsIGJ1dCBhIGJldHRlciB0eXBlIG1heSBiZSBpbmZlcnJlZCBmcm9tIHVzYWdlLlwiKSxQYXJhbWV0ZXJfaGFzX2FfbmFtZV9idXRfbm9fdHlwZV9EaWRfeW91X21lYW5fMF9Db2xvbl8xOnIoNzA1MSwxLFwiUGFyYW1ldGVyX2hhc19hX25hbWVfYnV0X25vX3R5cGVfRGlkX3lvdV9tZWFuXzBfQ29sb25fMV83MDUxXCIsXCJQYXJhbWV0ZXIgaGFzIGEgbmFtZSBidXQgbm8gdHlwZS4gRGlkIHlvdSBtZWFuICd7MH06IHsxfSc/XCIpLEVsZW1lbnRfaW1wbGljaXRseV9oYXNfYW5fYW55X3R5cGVfYmVjYXVzZV90eXBlXzBfaGFzX25vX2luZGV4X3NpZ25hdHVyZV9EaWRfeW91X21lYW5fdG9fY2FsbF8xOnIoNzA1MiwxLFwiRWxlbWVudF9pbXBsaWNpdGx5X2hhc19hbl9hbnlfdHlwZV9iZWNhdXNlX3R5cGVfMF9oYXNfbm9faW5kZXhfc2lnbmF0dXJlX0RpZF95b3VfbWVhbl90b19jYWxsXzFfNzA1MlwiLFwiRWxlbWVudCBpbXBsaWNpdGx5IGhhcyBhbiAnYW55JyB0eXBlIGJlY2F1c2UgdHlwZSAnezB9JyBoYXMgbm8gaW5kZXggc2lnbmF0dXJlLiBEaWQgeW91IG1lYW4gdG8gY2FsbCAnezF9Jz9cIiksRWxlbWVudF9pbXBsaWNpdGx5X2hhc19hbl9hbnlfdHlwZV9iZWNhdXNlX2V4cHJlc3Npb25fb2ZfdHlwZV8wX2Nhbl90X2JlX3VzZWRfdG9faW5kZXhfdHlwZV8xOnIoNzA1MywxLFwiRWxlbWVudF9pbXBsaWNpdGx5X2hhc19hbl9hbnlfdHlwZV9iZWNhdXNlX2V4cHJlc3Npb25fb2ZfdHlwZV8wX2Nhbl90X2JlX3VzZWRfdG9faW5kZXhfdHlwZV8xXzcwNTNcIixcIkVsZW1lbnQgaW1wbGljaXRseSBoYXMgYW4gJ2FueScgdHlwZSBiZWNhdXNlIGV4cHJlc3Npb24gb2YgdHlwZSAnezB9JyBjYW4ndCBiZSB1c2VkIHRvIGluZGV4IHR5cGUgJ3sxfScuXCIpLE5vX2luZGV4X3NpZ25hdHVyZV93aXRoX2FfcGFyYW1ldGVyX29mX3R5cGVfMF93YXNfZm91bmRfb25fdHlwZV8xOnIoNzA1NCwxLFwiTm9faW5kZXhfc2lnbmF0dXJlX3dpdGhfYV9wYXJhbWV0ZXJfb2ZfdHlwZV8wX3dhc19mb3VuZF9vbl90eXBlXzFfNzA1NFwiLFwiTm8gaW5kZXggc2lnbmF0dXJlIHdpdGggYSBwYXJhbWV0ZXIgb2YgdHlwZSAnezB9JyB3YXMgZm91bmQgb24gdHlwZSAnezF9Jy5cIiksXzBfd2hpY2hfbGFja3NfcmV0dXJuX3R5cGVfYW5ub3RhdGlvbl9pbXBsaWNpdGx5X2hhc19hbl8xX3lpZWxkX3R5cGU6cig3MDU1LDEsXCJfMF93aGljaF9sYWNrc19yZXR1cm5fdHlwZV9hbm5vdGF0aW9uX2ltcGxpY2l0bHlfaGFzX2FuXzFfeWllbGRfdHlwZV83MDU1XCIsXCInezB9Jywgd2hpY2ggbGFja3MgcmV0dXJuLXR5cGUgYW5ub3RhdGlvbiwgaW1wbGljaXRseSBoYXMgYW4gJ3sxfScgeWllbGQgdHlwZS5cIiksVGhlX2luZmVycmVkX3R5cGVfb2ZfdGhpc19ub2RlX2V4Y2VlZHNfdGhlX21heGltdW1fbGVuZ3RoX3RoZV9jb21waWxlcl93aWxsX3NlcmlhbGl6ZV9Bbl9leHBsaWNpdF90eXBlX2Fubm90YXRpb25faXNfbmVlZGVkOnIoNzA1NiwxLFwiVGhlX2luZmVycmVkX3R5cGVfb2ZfdGhpc19ub2RlX2V4Y2VlZHNfdGhlX21heGltdW1fbGVuZ3RoX3RoZV9jb21waWxlcl93aWxsX3NlcmlhbGl6ZV9Bbl9leHBsaWNpdF90eV83MDU2XCIsXCJUaGUgaW5mZXJyZWQgdHlwZSBvZiB0aGlzIG5vZGUgZXhjZWVkcyB0aGUgbWF4aW11bSBsZW5ndGggdGhlIGNvbXBpbGVyIHdpbGwgc2VyaWFsaXplLiBBbiBleHBsaWNpdCB0eXBlIGFubm90YXRpb24gaXMgbmVlZGVkLlwiKSx5aWVsZF9leHByZXNzaW9uX2ltcGxpY2l0bHlfcmVzdWx0c19pbl9hbl9hbnlfdHlwZV9iZWNhdXNlX2l0c19jb250YWluaW5nX2dlbmVyYXRvcl9sYWNrc19hX3JldHVybl90eXBlX2Fubm90YXRpb246cig3MDU3LDEsXCJ5aWVsZF9leHByZXNzaW9uX2ltcGxpY2l0bHlfcmVzdWx0c19pbl9hbl9hbnlfdHlwZV9iZWNhdXNlX2l0c19jb250YWluaW5nX2dlbmVyYXRvcl9sYWNrc19hX3JldHVybl90XzcwNTdcIixcIid5aWVsZCcgZXhwcmVzc2lvbiBpbXBsaWNpdGx5IHJlc3VsdHMgaW4gYW4gJ2FueScgdHlwZSBiZWNhdXNlIGl0cyBjb250YWluaW5nIGdlbmVyYXRvciBsYWNrcyBhIHJldHVybi10eXBlIGFubm90YXRpb24uXCIpLElmX3RoZV8wX3BhY2thZ2VfYWN0dWFsbHlfZXhwb3Nlc190aGlzX21vZHVsZV90cnlfYWRkaW5nX2FfbmV3X2RlY2xhcmF0aW9uX2RfdHNfZmlsZV9jb250YWluaW5nX2RlY2xhcmVfbW9kdWxlXzE6cig3MDU4LDEsXCJJZl90aGVfMF9wYWNrYWdlX2FjdHVhbGx5X2V4cG9zZXNfdGhpc19tb2R1bGVfdHJ5X2FkZGluZ19hX25ld19kZWNsYXJhdGlvbl9kX3RzX2ZpbGVfY29udGFpbmluZ19kZWNsXzcwNThcIixcIklmIHRoZSAnezB9JyBwYWNrYWdlIGFjdHVhbGx5IGV4cG9zZXMgdGhpcyBtb2R1bGUsIHRyeSBhZGRpbmcgYSBuZXcgZGVjbGFyYXRpb24gKC5kLnRzKSBmaWxlIGNvbnRhaW5pbmcgYGRlY2xhcmUgbW9kdWxlICd7MX0nO2BcIiksVGhpc19zeW50YXhfaXNfcmVzZXJ2ZWRfaW5fZmlsZXNfd2l0aF90aGVfbXRzX29yX2N0c19leHRlbnNpb25fVXNlX2FuX2FzX2V4cHJlc3Npb25faW5zdGVhZDpyKDcwNTksMSxcIlRoaXNfc3ludGF4X2lzX3Jlc2VydmVkX2luX2ZpbGVzX3dpdGhfdGhlX210c19vcl9jdHNfZXh0ZW5zaW9uX1VzZV9hbl9hc19leHByZXNzaW9uX2luc3RlYWRfNzA1OVwiLFwiVGhpcyBzeW50YXggaXMgcmVzZXJ2ZWQgaW4gZmlsZXMgd2l0aCB0aGUgLm10cyBvciAuY3RzIGV4dGVuc2lvbi4gVXNlIGFuIGBhc2AgZXhwcmVzc2lvbiBpbnN0ZWFkLlwiKSxUaGlzX3N5bnRheF9pc19yZXNlcnZlZF9pbl9maWxlc193aXRoX3RoZV9tdHNfb3JfY3RzX2V4dGVuc2lvbl9BZGRfYV90cmFpbGluZ19jb21tYV9vcl9leHBsaWNpdF9jb25zdHJhaW50OnIoNzA2MCwxLFwiVGhpc19zeW50YXhfaXNfcmVzZXJ2ZWRfaW5fZmlsZXNfd2l0aF90aGVfbXRzX29yX2N0c19leHRlbnNpb25fQWRkX2FfdHJhaWxpbmdfY29tbWFfb3JfZXhwbGljaXRfY29uc183MDYwXCIsXCJUaGlzIHN5bnRheCBpcyByZXNlcnZlZCBpbiBmaWxlcyB3aXRoIHRoZSAubXRzIG9yIC5jdHMgZXh0ZW5zaW9uLiBBZGQgYSB0cmFpbGluZyBjb21tYSBvciBleHBsaWNpdCBjb25zdHJhaW50LlwiKSxBX21hcHBlZF90eXBlX21heV9ub3RfZGVjbGFyZV9wcm9wZXJ0aWVzX29yX21ldGhvZHM6cig3MDYxLDEsXCJBX21hcHBlZF90eXBlX21heV9ub3RfZGVjbGFyZV9wcm9wZXJ0aWVzX29yX21ldGhvZHNfNzA2MVwiLFwiQSBtYXBwZWQgdHlwZSBtYXkgbm90IGRlY2xhcmUgcHJvcGVydGllcyBvciBtZXRob2RzLlwiKSxZb3VfY2Fubm90X3JlbmFtZV90aGlzX2VsZW1lbnQ6cig4ZTMsMSxcIllvdV9jYW5ub3RfcmVuYW1lX3RoaXNfZWxlbWVudF84MDAwXCIsXCJZb3UgY2Fubm90IHJlbmFtZSB0aGlzIGVsZW1lbnQuXCIpLFlvdV9jYW5ub3RfcmVuYW1lX2VsZW1lbnRzX3RoYXRfYXJlX2RlZmluZWRfaW5fdGhlX3N0YW5kYXJkX1R5cGVTY3JpcHRfbGlicmFyeTpyKDgwMDEsMSxcIllvdV9jYW5ub3RfcmVuYW1lX2VsZW1lbnRzX3RoYXRfYXJlX2RlZmluZWRfaW5fdGhlX3N0YW5kYXJkX1R5cGVTY3JpcHRfbGlicmFyeV84MDAxXCIsXCJZb3UgY2Fubm90IHJlbmFtZSBlbGVtZW50cyB0aGF0IGFyZSBkZWZpbmVkIGluIHRoZSBzdGFuZGFyZCBUeXBlU2NyaXB0IGxpYnJhcnkuXCIpLGltcG9ydF9jYW5fb25seV9iZV91c2VkX2luX1R5cGVTY3JpcHRfZmlsZXM6cig4MDAyLDEsXCJpbXBvcnRfY2FuX29ubHlfYmVfdXNlZF9pbl9UeXBlU2NyaXB0X2ZpbGVzXzgwMDJcIixcIidpbXBvcnQgLi4uID0nIGNhbiBvbmx5IGJlIHVzZWQgaW4gVHlwZVNjcmlwdCBmaWxlcy5cIiksZXhwb3J0X2Nhbl9vbmx5X2JlX3VzZWRfaW5fVHlwZVNjcmlwdF9maWxlczpyKDgwMDMsMSxcImV4cG9ydF9jYW5fb25seV9iZV91c2VkX2luX1R5cGVTY3JpcHRfZmlsZXNfODAwM1wiLFwiJ2V4cG9ydCA9JyBjYW4gb25seSBiZSB1c2VkIGluIFR5cGVTY3JpcHQgZmlsZXMuXCIpLFR5cGVfcGFyYW1ldGVyX2RlY2xhcmF0aW9uc19jYW5fb25seV9iZV91c2VkX2luX1R5cGVTY3JpcHRfZmlsZXM6cig4MDA0LDEsXCJUeXBlX3BhcmFtZXRlcl9kZWNsYXJhdGlvbnNfY2FuX29ubHlfYmVfdXNlZF9pbl9UeXBlU2NyaXB0X2ZpbGVzXzgwMDRcIixcIlR5cGUgcGFyYW1ldGVyIGRlY2xhcmF0aW9ucyBjYW4gb25seSBiZSB1c2VkIGluIFR5cGVTY3JpcHQgZmlsZXMuXCIpLGltcGxlbWVudHNfY2xhdXNlc19jYW5fb25seV9iZV91c2VkX2luX1R5cGVTY3JpcHRfZmlsZXM6cig4MDA1LDEsXCJpbXBsZW1lbnRzX2NsYXVzZXNfY2FuX29ubHlfYmVfdXNlZF9pbl9UeXBlU2NyaXB0X2ZpbGVzXzgwMDVcIixcIidpbXBsZW1lbnRzJyBjbGF1c2VzIGNhbiBvbmx5IGJlIHVzZWQgaW4gVHlwZVNjcmlwdCBmaWxlcy5cIiksXzBfZGVjbGFyYXRpb25zX2Nhbl9vbmx5X2JlX3VzZWRfaW5fVHlwZVNjcmlwdF9maWxlczpyKDgwMDYsMSxcIl8wX2RlY2xhcmF0aW9uc19jYW5fb25seV9iZV91c2VkX2luX1R5cGVTY3JpcHRfZmlsZXNfODAwNlwiLFwiJ3swfScgZGVjbGFyYXRpb25zIGNhbiBvbmx5IGJlIHVzZWQgaW4gVHlwZVNjcmlwdCBmaWxlcy5cIiksVHlwZV9hbGlhc2VzX2Nhbl9vbmx5X2JlX3VzZWRfaW5fVHlwZVNjcmlwdF9maWxlczpyKDgwMDgsMSxcIlR5cGVfYWxpYXNlc19jYW5fb25seV9iZV91c2VkX2luX1R5cGVTY3JpcHRfZmlsZXNfODAwOFwiLFwiVHlwZSBhbGlhc2VzIGNhbiBvbmx5IGJlIHVzZWQgaW4gVHlwZVNjcmlwdCBmaWxlcy5cIiksVGhlXzBfbW9kaWZpZXJfY2FuX29ubHlfYmVfdXNlZF9pbl9UeXBlU2NyaXB0X2ZpbGVzOnIoODAwOSwxLFwiVGhlXzBfbW9kaWZpZXJfY2FuX29ubHlfYmVfdXNlZF9pbl9UeXBlU2NyaXB0X2ZpbGVzXzgwMDlcIixcIlRoZSAnezB9JyBtb2RpZmllciBjYW4gb25seSBiZSB1c2VkIGluIFR5cGVTY3JpcHQgZmlsZXMuXCIpLFR5cGVfYW5ub3RhdGlvbnNfY2FuX29ubHlfYmVfdXNlZF9pbl9UeXBlU2NyaXB0X2ZpbGVzOnIoODAxMCwxLFwiVHlwZV9hbm5vdGF0aW9uc19jYW5fb25seV9iZV91c2VkX2luX1R5cGVTY3JpcHRfZmlsZXNfODAxMFwiLFwiVHlwZSBhbm5vdGF0aW9ucyBjYW4gb25seSBiZSB1c2VkIGluIFR5cGVTY3JpcHQgZmlsZXMuXCIpLFR5cGVfYXJndW1lbnRzX2Nhbl9vbmx5X2JlX3VzZWRfaW5fVHlwZVNjcmlwdF9maWxlczpyKDgwMTEsMSxcIlR5cGVfYXJndW1lbnRzX2Nhbl9vbmx5X2JlX3VzZWRfaW5fVHlwZVNjcmlwdF9maWxlc184MDExXCIsXCJUeXBlIGFyZ3VtZW50cyBjYW4gb25seSBiZSB1c2VkIGluIFR5cGVTY3JpcHQgZmlsZXMuXCIpLFBhcmFtZXRlcl9tb2RpZmllcnNfY2FuX29ubHlfYmVfdXNlZF9pbl9UeXBlU2NyaXB0X2ZpbGVzOnIoODAxMiwxLFwiUGFyYW1ldGVyX21vZGlmaWVyc19jYW5fb25seV9iZV91c2VkX2luX1R5cGVTY3JpcHRfZmlsZXNfODAxMlwiLFwiUGFyYW1ldGVyIG1vZGlmaWVycyBjYW4gb25seSBiZSB1c2VkIGluIFR5cGVTY3JpcHQgZmlsZXMuXCIpLE5vbl9udWxsX2Fzc2VydGlvbnNfY2FuX29ubHlfYmVfdXNlZF9pbl9UeXBlU2NyaXB0X2ZpbGVzOnIoODAxMywxLFwiTm9uX251bGxfYXNzZXJ0aW9uc19jYW5fb25seV9iZV91c2VkX2luX1R5cGVTY3JpcHRfZmlsZXNfODAxM1wiLFwiTm9uLW51bGwgYXNzZXJ0aW9ucyBjYW4gb25seSBiZSB1c2VkIGluIFR5cGVTY3JpcHQgZmlsZXMuXCIpLFR5cGVfYXNzZXJ0aW9uX2V4cHJlc3Npb25zX2Nhbl9vbmx5X2JlX3VzZWRfaW5fVHlwZVNjcmlwdF9maWxlczpyKDgwMTYsMSxcIlR5cGVfYXNzZXJ0aW9uX2V4cHJlc3Npb25zX2Nhbl9vbmx5X2JlX3VzZWRfaW5fVHlwZVNjcmlwdF9maWxlc184MDE2XCIsXCJUeXBlIGFzc2VydGlvbiBleHByZXNzaW9ucyBjYW4gb25seSBiZSB1c2VkIGluIFR5cGVTY3JpcHQgZmlsZXMuXCIpLFNpZ25hdHVyZV9kZWNsYXJhdGlvbnNfY2FuX29ubHlfYmVfdXNlZF9pbl9UeXBlU2NyaXB0X2ZpbGVzOnIoODAxNywxLFwiU2lnbmF0dXJlX2RlY2xhcmF0aW9uc19jYW5fb25seV9iZV91c2VkX2luX1R5cGVTY3JpcHRfZmlsZXNfODAxN1wiLFwiU2lnbmF0dXJlIGRlY2xhcmF0aW9ucyBjYW4gb25seSBiZSB1c2VkIGluIFR5cGVTY3JpcHQgZmlsZXMuXCIpLFJlcG9ydF9lcnJvcnNfaW5fanNfZmlsZXM6cig4MDE5LDMsXCJSZXBvcnRfZXJyb3JzX2luX2pzX2ZpbGVzXzgwMTlcIixcIlJlcG9ydCBlcnJvcnMgaW4gLmpzIGZpbGVzLlwiKSxKU0RvY190eXBlc19jYW5fb25seV9iZV91c2VkX2luc2lkZV9kb2N1bWVudGF0aW9uX2NvbW1lbnRzOnIoODAyMCwxLFwiSlNEb2NfdHlwZXNfY2FuX29ubHlfYmVfdXNlZF9pbnNpZGVfZG9jdW1lbnRhdGlvbl9jb21tZW50c184MDIwXCIsXCJKU0RvYyB0eXBlcyBjYW4gb25seSBiZSB1c2VkIGluc2lkZSBkb2N1bWVudGF0aW9uIGNvbW1lbnRzLlwiKSxKU0RvY190eXBlZGVmX3RhZ19zaG91bGRfZWl0aGVyX2hhdmVfYV90eXBlX2Fubm90YXRpb25fb3JfYmVfZm9sbG93ZWRfYnlfcHJvcGVydHlfb3JfbWVtYmVyX3RhZ3M6cig4MDIxLDEsXCJKU0RvY190eXBlZGVmX3RhZ19zaG91bGRfZWl0aGVyX2hhdmVfYV90eXBlX2Fubm90YXRpb25fb3JfYmVfZm9sbG93ZWRfYnlfcHJvcGVydHlfb3JfbWVtYmVyX3RhZ3NfODAyMVwiLFwiSlNEb2MgJ0B0eXBlZGVmJyB0YWcgc2hvdWxkIGVpdGhlciBoYXZlIGEgdHlwZSBhbm5vdGF0aW9uIG9yIGJlIGZvbGxvd2VkIGJ5ICdAcHJvcGVydHknIG9yICdAbWVtYmVyJyB0YWdzLlwiKSxKU0RvY18wX2lzX25vdF9hdHRhY2hlZF90b19hX2NsYXNzOnIoODAyMiwxLFwiSlNEb2NfMF9pc19ub3RfYXR0YWNoZWRfdG9fYV9jbGFzc184MDIyXCIsXCJKU0RvYyAnQHswfScgaXMgbm90IGF0dGFjaGVkIHRvIGEgY2xhc3MuXCIpLEpTRG9jXzBfMV9kb2VzX25vdF9tYXRjaF90aGVfZXh0ZW5kc18yX2NsYXVzZTpyKDgwMjMsMSxcIkpTRG9jXzBfMV9kb2VzX25vdF9tYXRjaF90aGVfZXh0ZW5kc18yX2NsYXVzZV84MDIzXCIsXCJKU0RvYyAnQHswfSB7MX0nIGRvZXMgbm90IG1hdGNoIHRoZSAnZXh0ZW5kcyB7Mn0nIGNsYXVzZS5cIiksSlNEb2NfcGFyYW1fdGFnX2hhc19uYW1lXzBfYnV0X3RoZXJlX2lzX25vX3BhcmFtZXRlcl93aXRoX3RoYXRfbmFtZTpyKDgwMjQsMSxcIkpTRG9jX3BhcmFtX3RhZ19oYXNfbmFtZV8wX2J1dF90aGVyZV9pc19ub19wYXJhbWV0ZXJfd2l0aF90aGF0X25hbWVfODAyNFwiLFwiSlNEb2MgJ0BwYXJhbScgdGFnIGhhcyBuYW1lICd7MH0nLCBidXQgdGhlcmUgaXMgbm8gcGFyYW1ldGVyIHdpdGggdGhhdCBuYW1lLlwiKSxDbGFzc19kZWNsYXJhdGlvbnNfY2Fubm90X2hhdmVfbW9yZV90aGFuX29uZV9hdWdtZW50c19vcl9leHRlbmRzX3RhZzpyKDgwMjUsMSxcIkNsYXNzX2RlY2xhcmF0aW9uc19jYW5ub3RfaGF2ZV9tb3JlX3RoYW5fb25lX2F1Z21lbnRzX29yX2V4dGVuZHNfdGFnXzgwMjVcIixcIkNsYXNzIGRlY2xhcmF0aW9ucyBjYW5ub3QgaGF2ZSBtb3JlIHRoYW4gb25lICdAYXVnbWVudHMnIG9yICdAZXh0ZW5kcycgdGFnLlwiKSxFeHBlY3RlZF8wX3R5cGVfYXJndW1lbnRzX3Byb3ZpZGVfdGhlc2Vfd2l0aF9hbl9leHRlbmRzX3RhZzpyKDgwMjYsMSxcIkV4cGVjdGVkXzBfdHlwZV9hcmd1bWVudHNfcHJvdmlkZV90aGVzZV93aXRoX2FuX2V4dGVuZHNfdGFnXzgwMjZcIixcIkV4cGVjdGVkIHswfSB0eXBlIGFyZ3VtZW50czsgcHJvdmlkZSB0aGVzZSB3aXRoIGFuICdAZXh0ZW5kcycgdGFnLlwiKSxFeHBlY3RlZF8wXzFfdHlwZV9hcmd1bWVudHNfcHJvdmlkZV90aGVzZV93aXRoX2FuX2V4dGVuZHNfdGFnOnIoODAyNywxLFwiRXhwZWN0ZWRfMF8xX3R5cGVfYXJndW1lbnRzX3Byb3ZpZGVfdGhlc2Vfd2l0aF9hbl9leHRlbmRzX3RhZ184MDI3XCIsXCJFeHBlY3RlZCB7MH0tezF9IHR5cGUgYXJndW1lbnRzOyBwcm92aWRlIHRoZXNlIHdpdGggYW4gJ0BleHRlbmRzJyB0YWcuXCIpLEpTRG9jX21heV9vbmx5X2FwcGVhcl9pbl90aGVfbGFzdF9wYXJhbWV0ZXJfb2ZfYV9zaWduYXR1cmU6cig4MDI4LDEsXCJKU0RvY19tYXlfb25seV9hcHBlYXJfaW5fdGhlX2xhc3RfcGFyYW1ldGVyX29mX2Ffc2lnbmF0dXJlXzgwMjhcIixcIkpTRG9jICcuLi4nIG1heSBvbmx5IGFwcGVhciBpbiB0aGUgbGFzdCBwYXJhbWV0ZXIgb2YgYSBzaWduYXR1cmUuXCIpLEpTRG9jX3BhcmFtX3RhZ19oYXNfbmFtZV8wX2J1dF90aGVyZV9pc19ub19wYXJhbWV0ZXJfd2l0aF90aGF0X25hbWVfSXRfd291bGRfbWF0Y2hfYXJndW1lbnRzX2lmX2l0X2hhZF9hbl9hcnJheV90eXBlOnIoODAyOSwxLFwiSlNEb2NfcGFyYW1fdGFnX2hhc19uYW1lXzBfYnV0X3RoZXJlX2lzX25vX3BhcmFtZXRlcl93aXRoX3RoYXRfbmFtZV9JdF93b3VsZF9tYXRjaF9hcmd1bWVudHNfaWZfaXRfaF84MDI5XCIsXCJKU0RvYyAnQHBhcmFtJyB0YWcgaGFzIG5hbWUgJ3swfScsIGJ1dCB0aGVyZSBpcyBubyBwYXJhbWV0ZXIgd2l0aCB0aGF0IG5hbWUuIEl0IHdvdWxkIG1hdGNoICdhcmd1bWVudHMnIGlmIGl0IGhhZCBhbiBhcnJheSB0eXBlLlwiKSxUaGVfdHlwZV9vZl9hX2Z1bmN0aW9uX2RlY2xhcmF0aW9uX211c3RfbWF0Y2hfdGhlX2Z1bmN0aW9uX3Nfc2lnbmF0dXJlOnIoODAzMCwxLFwiVGhlX3R5cGVfb2ZfYV9mdW5jdGlvbl9kZWNsYXJhdGlvbl9tdXN0X21hdGNoX3RoZV9mdW5jdGlvbl9zX3NpZ25hdHVyZV84MDMwXCIsXCJUaGUgdHlwZSBvZiBhIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIG11c3QgbWF0Y2ggdGhlIGZ1bmN0aW9uJ3Mgc2lnbmF0dXJlLlwiKSxZb3VfY2Fubm90X3JlbmFtZV9hX21vZHVsZV92aWFfYV9nbG9iYWxfaW1wb3J0OnIoODAzMSwxLFwiWW91X2Nhbm5vdF9yZW5hbWVfYV9tb2R1bGVfdmlhX2FfZ2xvYmFsX2ltcG9ydF84MDMxXCIsXCJZb3UgY2Fubm90IHJlbmFtZSBhIG1vZHVsZSB2aWEgYSBnbG9iYWwgaW1wb3J0LlwiKSxRdWFsaWZpZWRfbmFtZV8wX2lzX25vdF9hbGxvd2VkX3dpdGhvdXRfYV9sZWFkaW5nX3BhcmFtX29iamVjdF8xOnIoODAzMiwxLFwiUXVhbGlmaWVkX25hbWVfMF9pc19ub3RfYWxsb3dlZF93aXRob3V0X2FfbGVhZGluZ19wYXJhbV9vYmplY3RfMV84MDMyXCIsXCJRdWFsaWZpZWQgbmFtZSAnezB9JyBpcyBub3QgYWxsb3dlZCB3aXRob3V0IGEgbGVhZGluZyAnQHBhcmFtIHtvYmplY3R9IHsxfScuXCIpLEFfSlNEb2NfdHlwZWRlZl9jb21tZW50X21heV9ub3RfY29udGFpbl9tdWx0aXBsZV90eXBlX3RhZ3M6cig4MDMzLDEsXCJBX0pTRG9jX3R5cGVkZWZfY29tbWVudF9tYXlfbm90X2NvbnRhaW5fbXVsdGlwbGVfdHlwZV90YWdzXzgwMzNcIixcIkEgSlNEb2MgJ0B0eXBlZGVmJyBjb21tZW50IG1heSBub3QgY29udGFpbiBtdWx0aXBsZSAnQHR5cGUnIHRhZ3MuXCIpLFRoZV90YWdfd2FzX2ZpcnN0X3NwZWNpZmllZF9oZXJlOnIoODAzNCwxLFwiVGhlX3RhZ193YXNfZmlyc3Rfc3BlY2lmaWVkX2hlcmVfODAzNFwiLFwiVGhlIHRhZyB3YXMgZmlyc3Qgc3BlY2lmaWVkIGhlcmUuXCIpLFlvdV9jYW5ub3RfcmVuYW1lX2VsZW1lbnRzX3RoYXRfYXJlX2RlZmluZWRfaW5fYV9ub2RlX21vZHVsZXNfZm9sZGVyOnIoODAzNSwxLFwiWW91X2Nhbm5vdF9yZW5hbWVfZWxlbWVudHNfdGhhdF9hcmVfZGVmaW5lZF9pbl9hX25vZGVfbW9kdWxlc19mb2xkZXJfODAzNVwiLFwiWW91IGNhbm5vdCByZW5hbWUgZWxlbWVudHMgdGhhdCBhcmUgZGVmaW5lZCBpbiBhICdub2RlX21vZHVsZXMnIGZvbGRlci5cIiksWW91X2Nhbm5vdF9yZW5hbWVfZWxlbWVudHNfdGhhdF9hcmVfZGVmaW5lZF9pbl9hbm90aGVyX25vZGVfbW9kdWxlc19mb2xkZXI6cig4MDM2LDEsXCJZb3VfY2Fubm90X3JlbmFtZV9lbGVtZW50c190aGF0X2FyZV9kZWZpbmVkX2luX2Fub3RoZXJfbm9kZV9tb2R1bGVzX2ZvbGRlcl84MDM2XCIsXCJZb3UgY2Fubm90IHJlbmFtZSBlbGVtZW50cyB0aGF0IGFyZSBkZWZpbmVkIGluIGFub3RoZXIgJ25vZGVfbW9kdWxlcycgZm9sZGVyLlwiKSxUeXBlX3NhdGlzZmFjdGlvbl9leHByZXNzaW9uc19jYW5fb25seV9iZV91c2VkX2luX1R5cGVTY3JpcHRfZmlsZXM6cig4MDM3LDEsXCJUeXBlX3NhdGlzZmFjdGlvbl9leHByZXNzaW9uc19jYW5fb25seV9iZV91c2VkX2luX1R5cGVTY3JpcHRfZmlsZXNfODAzN1wiLFwiVHlwZSBzYXRpc2ZhY3Rpb24gZXhwcmVzc2lvbnMgY2FuIG9ubHkgYmUgdXNlZCBpbiBUeXBlU2NyaXB0IGZpbGVzLlwiKSxEZWNvcmF0b3JzX21heV9ub3RfYXBwZWFyX2FmdGVyX2V4cG9ydF9vcl9leHBvcnRfZGVmYXVsdF9pZl90aGV5X2Fsc29fYXBwZWFyX2JlZm9yZV9leHBvcnQ6cig4MDM4LDEsXCJEZWNvcmF0b3JzX21heV9ub3RfYXBwZWFyX2FmdGVyX2V4cG9ydF9vcl9leHBvcnRfZGVmYXVsdF9pZl90aGV5X2Fsc29fYXBwZWFyX2JlZm9yZV9leHBvcnRfODAzOFwiLFwiRGVjb3JhdG9ycyBtYXkgbm90IGFwcGVhciBhZnRlciAnZXhwb3J0JyBvciAnZXhwb3J0IGRlZmF1bHQnIGlmIHRoZXkgYWxzbyBhcHBlYXIgYmVmb3JlICdleHBvcnQnLlwiKSxBX0pTRG9jX3RlbXBsYXRlX3RhZ19tYXlfbm90X2ZvbGxvd19hX3R5cGVkZWZfY2FsbGJhY2tfb3Jfb3ZlcmxvYWRfdGFnOnIoODAzOSwxLFwiQV9KU0RvY190ZW1wbGF0ZV90YWdfbWF5X25vdF9mb2xsb3dfYV90eXBlZGVmX2NhbGxiYWNrX29yX292ZXJsb2FkX3RhZ184MDM5XCIsXCJBIEpTRG9jICdAdGVtcGxhdGUnIHRhZyBtYXkgbm90IGZvbGxvdyBhICdAdHlwZWRlZicsICdAY2FsbGJhY2snLCBvciAnQG92ZXJsb2FkJyB0YWdcIiksRGVjbGFyYXRpb25fZW1pdF9mb3JfdGhpc19maWxlX3JlcXVpcmVzX3VzaW5nX3ByaXZhdGVfbmFtZV8wX0FuX2V4cGxpY2l0X3R5cGVfYW5ub3RhdGlvbl9tYXlfdW5ibG9ja19kZWNsYXJhdGlvbl9lbWl0OnIoOTAwNSwxLFwiRGVjbGFyYXRpb25fZW1pdF9mb3JfdGhpc19maWxlX3JlcXVpcmVzX3VzaW5nX3ByaXZhdGVfbmFtZV8wX0FuX2V4cGxpY2l0X3R5cGVfYW5ub3RhdGlvbl9tYXlfdW5ibG9ja185MDA1XCIsXCJEZWNsYXJhdGlvbiBlbWl0IGZvciB0aGlzIGZpbGUgcmVxdWlyZXMgdXNpbmcgcHJpdmF0ZSBuYW1lICd7MH0nLiBBbiBleHBsaWNpdCB0eXBlIGFubm90YXRpb24gbWF5IHVuYmxvY2sgZGVjbGFyYXRpb24gZW1pdC5cIiksRGVjbGFyYXRpb25fZW1pdF9mb3JfdGhpc19maWxlX3JlcXVpcmVzX3VzaW5nX3ByaXZhdGVfbmFtZV8wX2Zyb21fbW9kdWxlXzFfQW5fZXhwbGljaXRfdHlwZV9hbm5vdGF0aW9uX21heV91bmJsb2NrX2RlY2xhcmF0aW9uX2VtaXQ6cig5MDA2LDEsXCJEZWNsYXJhdGlvbl9lbWl0X2Zvcl90aGlzX2ZpbGVfcmVxdWlyZXNfdXNpbmdfcHJpdmF0ZV9uYW1lXzBfZnJvbV9tb2R1bGVfMV9Bbl9leHBsaWNpdF90eXBlX2Fubm90YXRpXzkwMDZcIixcIkRlY2xhcmF0aW9uIGVtaXQgZm9yIHRoaXMgZmlsZSByZXF1aXJlcyB1c2luZyBwcml2YXRlIG5hbWUgJ3swfScgZnJvbSBtb2R1bGUgJ3sxfScuIEFuIGV4cGxpY2l0IHR5cGUgYW5ub3RhdGlvbiBtYXkgdW5ibG9jayBkZWNsYXJhdGlvbiBlbWl0LlwiKSxGdW5jdGlvbl9tdXN0X2hhdmVfYW5fZXhwbGljaXRfcmV0dXJuX3R5cGVfYW5ub3RhdGlvbl93aXRoX2lzb2xhdGVkRGVjbGFyYXRpb25zOnIoOTAwNywxLFwiRnVuY3Rpb25fbXVzdF9oYXZlX2FuX2V4cGxpY2l0X3JldHVybl90eXBlX2Fubm90YXRpb25fd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uc185MDA3XCIsXCJGdW5jdGlvbiBtdXN0IGhhdmUgYW4gZXhwbGljaXQgcmV0dXJuIHR5cGUgYW5ub3RhdGlvbiB3aXRoIC0taXNvbGF0ZWREZWNsYXJhdGlvbnMuXCIpLE1ldGhvZF9tdXN0X2hhdmVfYW5fZXhwbGljaXRfcmV0dXJuX3R5cGVfYW5ub3RhdGlvbl93aXRoX2lzb2xhdGVkRGVjbGFyYXRpb25zOnIoOTAwOCwxLFwiTWV0aG9kX211c3RfaGF2ZV9hbl9leHBsaWNpdF9yZXR1cm5fdHlwZV9hbm5vdGF0aW9uX3dpdGhfaXNvbGF0ZWREZWNsYXJhdGlvbnNfOTAwOFwiLFwiTWV0aG9kIG11c3QgaGF2ZSBhbiBleHBsaWNpdCByZXR1cm4gdHlwZSBhbm5vdGF0aW9uIHdpdGggLS1pc29sYXRlZERlY2xhcmF0aW9ucy5cIiksQXRfbGVhc3Rfb25lX2FjY2Vzc29yX211c3RfaGF2ZV9hbl9leHBsaWNpdF90eXBlX2Fubm90YXRpb25fd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uczpyKDkwMDksMSxcIkF0X2xlYXN0X29uZV9hY2Nlc3Nvcl9tdXN0X2hhdmVfYW5fZXhwbGljaXRfdHlwZV9hbm5vdGF0aW9uX3dpdGhfaXNvbGF0ZWREZWNsYXJhdGlvbnNfOTAwOVwiLFwiQXQgbGVhc3Qgb25lIGFjY2Vzc29yIG11c3QgaGF2ZSBhbiBleHBsaWNpdCB0eXBlIGFubm90YXRpb24gd2l0aCAtLWlzb2xhdGVkRGVjbGFyYXRpb25zLlwiKSxWYXJpYWJsZV9tdXN0X2hhdmVfYW5fZXhwbGljaXRfdHlwZV9hbm5vdGF0aW9uX3dpdGhfaXNvbGF0ZWREZWNsYXJhdGlvbnM6cig5MDEwLDEsXCJWYXJpYWJsZV9tdXN0X2hhdmVfYW5fZXhwbGljaXRfdHlwZV9hbm5vdGF0aW9uX3dpdGhfaXNvbGF0ZWREZWNsYXJhdGlvbnNfOTAxMFwiLFwiVmFyaWFibGUgbXVzdCBoYXZlIGFuIGV4cGxpY2l0IHR5cGUgYW5ub3RhdGlvbiB3aXRoIC0taXNvbGF0ZWREZWNsYXJhdGlvbnMuXCIpLFBhcmFtZXRlcl9tdXN0X2hhdmVfYW5fZXhwbGljaXRfdHlwZV9hbm5vdGF0aW9uX3dpdGhfaXNvbGF0ZWREZWNsYXJhdGlvbnM6cig5MDExLDEsXCJQYXJhbWV0ZXJfbXVzdF9oYXZlX2FuX2V4cGxpY2l0X3R5cGVfYW5ub3RhdGlvbl93aXRoX2lzb2xhdGVkRGVjbGFyYXRpb25zXzkwMTFcIixcIlBhcmFtZXRlciBtdXN0IGhhdmUgYW4gZXhwbGljaXQgdHlwZSBhbm5vdGF0aW9uIHdpdGggLS1pc29sYXRlZERlY2xhcmF0aW9ucy5cIiksUHJvcGVydHlfbXVzdF9oYXZlX2FuX2V4cGxpY2l0X3R5cGVfYW5ub3RhdGlvbl93aXRoX2lzb2xhdGVkRGVjbGFyYXRpb25zOnIoOTAxMiwxLFwiUHJvcGVydHlfbXVzdF9oYXZlX2FuX2V4cGxpY2l0X3R5cGVfYW5ub3RhdGlvbl93aXRoX2lzb2xhdGVkRGVjbGFyYXRpb25zXzkwMTJcIixcIlByb3BlcnR5IG11c3QgaGF2ZSBhbiBleHBsaWNpdCB0eXBlIGFubm90YXRpb24gd2l0aCAtLWlzb2xhdGVkRGVjbGFyYXRpb25zLlwiKSxFeHByZXNzaW9uX3R5cGVfY2FuX3RfYmVfaW5mZXJyZWRfd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uczpyKDkwMTMsMSxcIkV4cHJlc3Npb25fdHlwZV9jYW5fdF9iZV9pbmZlcnJlZF93aXRoX2lzb2xhdGVkRGVjbGFyYXRpb25zXzkwMTNcIixcIkV4cHJlc3Npb24gdHlwZSBjYW4ndCBiZSBpbmZlcnJlZCB3aXRoIC0taXNvbGF0ZWREZWNsYXJhdGlvbnMuXCIpLENvbXB1dGVkX3Byb3BlcnRpZXNfbXVzdF9iZV9udW1iZXJfb3Jfc3RyaW5nX2xpdGVyYWxzX3ZhcmlhYmxlc19vcl9kb3R0ZWRfZXhwcmVzc2lvbnNfd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uczpyKDkwMTQsMSxcIkNvbXB1dGVkX3Byb3BlcnRpZXNfbXVzdF9iZV9udW1iZXJfb3Jfc3RyaW5nX2xpdGVyYWxzX3ZhcmlhYmxlc19vcl9kb3R0ZWRfZXhwcmVzc2lvbnNfd2l0aF9pc29sYXRlZERfOTAxNFwiLFwiQ29tcHV0ZWQgcHJvcGVydGllcyBtdXN0IGJlIG51bWJlciBvciBzdHJpbmcgbGl0ZXJhbHMsIHZhcmlhYmxlcyBvciBkb3R0ZWQgZXhwcmVzc2lvbnMgd2l0aCAtLWlzb2xhdGVkRGVjbGFyYXRpb25zLlwiKSxPYmplY3RzX3RoYXRfY29udGFpbl9zcHJlYWRfYXNzaWdubWVudHNfY2FuX3RfYmVfaW5mZXJyZWRfd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uczpyKDkwMTUsMSxcIk9iamVjdHNfdGhhdF9jb250YWluX3NwcmVhZF9hc3NpZ25tZW50c19jYW5fdF9iZV9pbmZlcnJlZF93aXRoX2lzb2xhdGVkRGVjbGFyYXRpb25zXzkwMTVcIixcIk9iamVjdHMgdGhhdCBjb250YWluIHNwcmVhZCBhc3NpZ25tZW50cyBjYW4ndCBiZSBpbmZlcnJlZCB3aXRoIC0taXNvbGF0ZWREZWNsYXJhdGlvbnMuXCIpLE9iamVjdHNfdGhhdF9jb250YWluX3Nob3J0aGFuZF9wcm9wZXJ0aWVzX2Nhbl90X2JlX2luZmVycmVkX3dpdGhfaXNvbGF0ZWREZWNsYXJhdGlvbnM6cig5MDE2LDEsXCJPYmplY3RzX3RoYXRfY29udGFpbl9zaG9ydGhhbmRfcHJvcGVydGllc19jYW5fdF9iZV9pbmZlcnJlZF93aXRoX2lzb2xhdGVkRGVjbGFyYXRpb25zXzkwMTZcIixcIk9iamVjdHMgdGhhdCBjb250YWluIHNob3J0aGFuZCBwcm9wZXJ0aWVzIGNhbid0IGJlIGluZmVycmVkIHdpdGggLS1pc29sYXRlZERlY2xhcmF0aW9ucy5cIiksT25seV9jb25zdF9hcnJheXNfY2FuX2JlX2luZmVycmVkX3dpdGhfaXNvbGF0ZWREZWNsYXJhdGlvbnM6cig5MDE3LDEsXCJPbmx5X2NvbnN0X2FycmF5c19jYW5fYmVfaW5mZXJyZWRfd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uc185MDE3XCIsXCJPbmx5IGNvbnN0IGFycmF5cyBjYW4gYmUgaW5mZXJyZWQgd2l0aCAtLWlzb2xhdGVkRGVjbGFyYXRpb25zLlwiKSxBcnJheXNfd2l0aF9zcHJlYWRfZWxlbWVudHNfY2FuX3RfaW5mZXJyZWRfd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uczpyKDkwMTgsMSxcIkFycmF5c193aXRoX3NwcmVhZF9lbGVtZW50c19jYW5fdF9pbmZlcnJlZF93aXRoX2lzb2xhdGVkRGVjbGFyYXRpb25zXzkwMThcIixcIkFycmF5cyB3aXRoIHNwcmVhZCBlbGVtZW50cyBjYW4ndCBpbmZlcnJlZCB3aXRoIC0taXNvbGF0ZWREZWNsYXJhdGlvbnMuXCIpLEJpbmRpbmdfZWxlbWVudHNfY2FuX3RfYmVfZXhwb3J0ZWRfZGlyZWN0bHlfd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uczpyKDkwMTksMSxcIkJpbmRpbmdfZWxlbWVudHNfY2FuX3RfYmVfZXhwb3J0ZWRfZGlyZWN0bHlfd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uc185MDE5XCIsXCJCaW5kaW5nIGVsZW1lbnRzIGNhbid0IGJlIGV4cG9ydGVkIGRpcmVjdGx5IHdpdGggLS1pc29sYXRlZERlY2xhcmF0aW9ucy5cIiksRW51bV9tZW1iZXJfaW5pdGlhbGl6ZXJzX211c3RfYmVfY29tcHV0YWJsZV93aXRob3V0X3JlZmVyZW5jZXNfdG9fZXh0ZXJuYWxfc3ltYm9sc193aXRoX2lzb2xhdGVkRGVjbGFyYXRpb25zOnIoOTAyMCwxLFwiRW51bV9tZW1iZXJfaW5pdGlhbGl6ZXJzX211c3RfYmVfY29tcHV0YWJsZV93aXRob3V0X3JlZmVyZW5jZXNfdG9fZXh0ZXJuYWxfc3ltYm9sc193aXRoX2lzb2xhdGVkRGVjbF85MDIwXCIsXCJFbnVtIG1lbWJlciBpbml0aWFsaXplcnMgbXVzdCBiZSBjb21wdXRhYmxlIHdpdGhvdXQgcmVmZXJlbmNlcyB0byBleHRlcm5hbCBzeW1ib2xzIHdpdGggLS1pc29sYXRlZERlY2xhcmF0aW9ucy5cIiksRXh0ZW5kc19jbGF1c2VfY2FuX3RfY29udGFpbl9hbl9leHByZXNzaW9uX3dpdGhfaXNvbGF0ZWREZWNsYXJhdGlvbnM6cig5MDIxLDEsXCJFeHRlbmRzX2NsYXVzZV9jYW5fdF9jb250YWluX2FuX2V4cHJlc3Npb25fd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uc185MDIxXCIsXCJFeHRlbmRzIGNsYXVzZSBjYW4ndCBjb250YWluIGFuIGV4cHJlc3Npb24gd2l0aCAtLWlzb2xhdGVkRGVjbGFyYXRpb25zLlwiKSxJbmZlcmVuY2VfZnJvbV9jbGFzc19leHByZXNzaW9uc19pc19ub3Rfc3VwcG9ydGVkX3dpdGhfaXNvbGF0ZWREZWNsYXJhdGlvbnM6cig5MDIyLDEsXCJJbmZlcmVuY2VfZnJvbV9jbGFzc19leHByZXNzaW9uc19pc19ub3Rfc3VwcG9ydGVkX3dpdGhfaXNvbGF0ZWREZWNsYXJhdGlvbnNfOTAyMlwiLFwiSW5mZXJlbmNlIGZyb20gY2xhc3MgZXhwcmVzc2lvbnMgaXMgbm90IHN1cHBvcnRlZCB3aXRoIC0taXNvbGF0ZWREZWNsYXJhdGlvbnMuXCIpLEFzc2lnbmluZ19wcm9wZXJ0aWVzX3RvX2Z1bmN0aW9uc193aXRob3V0X2RlY2xhcmluZ190aGVtX2lzX25vdF9zdXBwb3J0ZWRfd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uc19BZGRfYW5fZXhwbGljaXRfZGVjbGFyYXRpb25fZm9yX3RoZV9wcm9wZXJ0aWVzX2Fzc2lnbmVkX3RvX3RoaXNfZnVuY3Rpb246cig5MDIzLDEsXCJBc3NpZ25pbmdfcHJvcGVydGllc190b19mdW5jdGlvbnNfd2l0aG91dF9kZWNsYXJpbmdfdGhlbV9pc19ub3Rfc3VwcG9ydGVkX3dpdGhfaXNvbGF0ZWREZWNsYXJhdGlvbnNfXzkwMjNcIixcIkFzc2lnbmluZyBwcm9wZXJ0aWVzIHRvIGZ1bmN0aW9ucyB3aXRob3V0IGRlY2xhcmluZyB0aGVtIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCAtLWlzb2xhdGVkRGVjbGFyYXRpb25zLiBBZGQgYW4gZXhwbGljaXQgZGVjbGFyYXRpb24gZm9yIHRoZSBwcm9wZXJ0aWVzIGFzc2lnbmVkIHRvIHRoaXMgZnVuY3Rpb24uXCIpLERlY2xhcmF0aW9uX2VtaXRfZm9yX3RoaXNfcGFyYW1ldGVyX3JlcXVpcmVzX2ltcGxpY2l0bHlfYWRkaW5nX3VuZGVmaW5lZF90b19pdHNfdHlwZV9UaGlzX2lzX25vdF9zdXBwb3J0ZWRfd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uczpyKDkwMjUsMSxcIkRlY2xhcmF0aW9uX2VtaXRfZm9yX3RoaXNfcGFyYW1ldGVyX3JlcXVpcmVzX2ltcGxpY2l0bHlfYWRkaW5nX3VuZGVmaW5lZF90b19pdHNfdHlwZV9UaGlzX2lzX25vdF9zdXBfOTAyNVwiLFwiRGVjbGFyYXRpb24gZW1pdCBmb3IgdGhpcyBwYXJhbWV0ZXIgcmVxdWlyZXMgaW1wbGljaXRseSBhZGRpbmcgdW5kZWZpbmVkIHRvIGl0cyB0eXBlLiBUaGlzIGlzIG5vdCBzdXBwb3J0ZWQgd2l0aCAtLWlzb2xhdGVkRGVjbGFyYXRpb25zLlwiKSxEZWNsYXJhdGlvbl9lbWl0X2Zvcl90aGlzX2ZpbGVfcmVxdWlyZXNfcHJlc2VydmluZ190aGlzX2ltcG9ydF9mb3JfYXVnbWVudGF0aW9uc19UaGlzX2lzX25vdF9zdXBwb3J0ZWRfd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uczpyKDkwMjYsMSxcIkRlY2xhcmF0aW9uX2VtaXRfZm9yX3RoaXNfZmlsZV9yZXF1aXJlc19wcmVzZXJ2aW5nX3RoaXNfaW1wb3J0X2Zvcl9hdWdtZW50YXRpb25zX1RoaXNfaXNfbm90X3N1cHBvcnRfOTAyNlwiLFwiRGVjbGFyYXRpb24gZW1pdCBmb3IgdGhpcyBmaWxlIHJlcXVpcmVzIHByZXNlcnZpbmcgdGhpcyBpbXBvcnQgZm9yIGF1Z21lbnRhdGlvbnMuIFRoaXMgaXMgbm90IHN1cHBvcnRlZCB3aXRoIC0taXNvbGF0ZWREZWNsYXJhdGlvbnMuXCIpLEFkZF9hX3R5cGVfYW5ub3RhdGlvbl90b190aGVfdmFyaWFibGVfMDpyKDkwMjcsMSxcIkFkZF9hX3R5cGVfYW5ub3RhdGlvbl90b190aGVfdmFyaWFibGVfMF85MDI3XCIsXCJBZGQgYSB0eXBlIGFubm90YXRpb24gdG8gdGhlIHZhcmlhYmxlIHswfS5cIiksQWRkX2FfdHlwZV9hbm5vdGF0aW9uX3RvX3RoZV9wYXJhbWV0ZXJfMDpyKDkwMjgsMSxcIkFkZF9hX3R5cGVfYW5ub3RhdGlvbl90b190aGVfcGFyYW1ldGVyXzBfOTAyOFwiLFwiQWRkIGEgdHlwZSBhbm5vdGF0aW9uIHRvIHRoZSBwYXJhbWV0ZXIgezB9LlwiKSxBZGRfYV90eXBlX2Fubm90YXRpb25fdG9fdGhlX3Byb3BlcnR5XzA6cig5MDI5LDEsXCJBZGRfYV90eXBlX2Fubm90YXRpb25fdG9fdGhlX3Byb3BlcnR5XzBfOTAyOVwiLFwiQWRkIGEgdHlwZSBhbm5vdGF0aW9uIHRvIHRoZSBwcm9wZXJ0eSB7MH0uXCIpLEFkZF9hX3JldHVybl90eXBlX3RvX3RoZV9mdW5jdGlvbl9leHByZXNzaW9uOnIoOTAzMCwxLFwiQWRkX2FfcmV0dXJuX3R5cGVfdG9fdGhlX2Z1bmN0aW9uX2V4cHJlc3Npb25fOTAzMFwiLFwiQWRkIGEgcmV0dXJuIHR5cGUgdG8gdGhlIGZ1bmN0aW9uIGV4cHJlc3Npb24uXCIpLEFkZF9hX3JldHVybl90eXBlX3RvX3RoZV9mdW5jdGlvbl9kZWNsYXJhdGlvbjpyKDkwMzEsMSxcIkFkZF9hX3JldHVybl90eXBlX3RvX3RoZV9mdW5jdGlvbl9kZWNsYXJhdGlvbl85MDMxXCIsXCJBZGQgYSByZXR1cm4gdHlwZSB0byB0aGUgZnVuY3Rpb24gZGVjbGFyYXRpb24uXCIpLEFkZF9hX3JldHVybl90eXBlX3RvX3RoZV9nZXRfYWNjZXNzb3JfZGVjbGFyYXRpb246cig5MDMyLDEsXCJBZGRfYV9yZXR1cm5fdHlwZV90b190aGVfZ2V0X2FjY2Vzc29yX2RlY2xhcmF0aW9uXzkwMzJcIixcIkFkZCBhIHJldHVybiB0eXBlIHRvIHRoZSBnZXQgYWNjZXNzb3IgZGVjbGFyYXRpb24uXCIpLEFkZF9hX3R5cGVfdG9fcGFyYW1ldGVyX29mX3RoZV9zZXRfYWNjZXNzb3JfZGVjbGFyYXRpb246cig5MDMzLDEsXCJBZGRfYV90eXBlX3RvX3BhcmFtZXRlcl9vZl90aGVfc2V0X2FjY2Vzc29yX2RlY2xhcmF0aW9uXzkwMzNcIixcIkFkZCBhIHR5cGUgdG8gcGFyYW1ldGVyIG9mIHRoZSBzZXQgYWNjZXNzb3IgZGVjbGFyYXRpb24uXCIpLEFkZF9hX3JldHVybl90eXBlX3RvX3RoZV9tZXRob2Q6cig5MDM0LDEsXCJBZGRfYV9yZXR1cm5fdHlwZV90b190aGVfbWV0aG9kXzkwMzRcIixcIkFkZCBhIHJldHVybiB0eXBlIHRvIHRoZSBtZXRob2RcIiksQWRkX3NhdGlzZmllc19hbmRfYV90eXBlX2Fzc2VydGlvbl90b190aGlzX2V4cHJlc3Npb25fc2F0aXNmaWVzX1RfYXNfVF90b19tYWtlX3RoZV90eXBlX2V4cGxpY2l0OnIoOTAzNSwxLFwiQWRkX3NhdGlzZmllc19hbmRfYV90eXBlX2Fzc2VydGlvbl90b190aGlzX2V4cHJlc3Npb25fc2F0aXNmaWVzX1RfYXNfVF90b19tYWtlX3RoZV90eXBlX2V4cGxpY2l0XzkwMzVcIixcIkFkZCBzYXRpc2ZpZXMgYW5kIGEgdHlwZSBhc3NlcnRpb24gdG8gdGhpcyBleHByZXNzaW9uIChzYXRpc2ZpZXMgVCBhcyBUKSB0byBtYWtlIHRoZSB0eXBlIGV4cGxpY2l0LlwiKSxNb3ZlX3RoZV9leHByZXNzaW9uX2luX2RlZmF1bHRfZXhwb3J0X3RvX2FfdmFyaWFibGVfYW5kX2FkZF9hX3R5cGVfYW5ub3RhdGlvbl90b19pdDpyKDkwMzYsMSxcIk1vdmVfdGhlX2V4cHJlc3Npb25faW5fZGVmYXVsdF9leHBvcnRfdG9fYV92YXJpYWJsZV9hbmRfYWRkX2FfdHlwZV9hbm5vdGF0aW9uX3RvX2l0XzkwMzZcIixcIk1vdmUgdGhlIGV4cHJlc3Npb24gaW4gZGVmYXVsdCBleHBvcnQgdG8gYSB2YXJpYWJsZSBhbmQgYWRkIGEgdHlwZSBhbm5vdGF0aW9uIHRvIGl0LlwiKSxEZWZhdWx0X2V4cG9ydHNfY2FuX3RfYmVfaW5mZXJyZWRfd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uczpyKDkwMzcsMSxcIkRlZmF1bHRfZXhwb3J0c19jYW5fdF9iZV9pbmZlcnJlZF93aXRoX2lzb2xhdGVkRGVjbGFyYXRpb25zXzkwMzdcIixcIkRlZmF1bHQgZXhwb3J0cyBjYW4ndCBiZSBpbmZlcnJlZCB3aXRoIC0taXNvbGF0ZWREZWNsYXJhdGlvbnMuXCIpLENvbXB1dGVkX3Byb3BlcnR5X25hbWVzX29uX2NsYXNzX29yX29iamVjdF9saXRlcmFsc19jYW5ub3RfYmVfaW5mZXJyZWRfd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uczpyKDkwMzgsMSxcIkNvbXB1dGVkX3Byb3BlcnR5X25hbWVzX29uX2NsYXNzX29yX29iamVjdF9saXRlcmFsc19jYW5ub3RfYmVfaW5mZXJyZWRfd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uc185MDM4XCIsXCJDb21wdXRlZCBwcm9wZXJ0eSBuYW1lcyBvbiBjbGFzcyBvciBvYmplY3QgbGl0ZXJhbHMgY2Fubm90IGJlIGluZmVycmVkIHdpdGggLS1pc29sYXRlZERlY2xhcmF0aW9ucy5cIiksVHlwZV9jb250YWluaW5nX3ByaXZhdGVfbmFtZV8wX2Nhbl90X2JlX3VzZWRfd2l0aF9pc29sYXRlZERlY2xhcmF0aW9uczpyKDkwMzksMSxcIlR5cGVfY29udGFpbmluZ19wcml2YXRlX25hbWVfMF9jYW5fdF9iZV91c2VkX3dpdGhfaXNvbGF0ZWREZWNsYXJhdGlvbnNfOTAzOVwiLFwiVHlwZSBjb250YWluaW5nIHByaXZhdGUgbmFtZSAnezB9JyBjYW4ndCBiZSB1c2VkIHdpdGggLS1pc29sYXRlZERlY2xhcmF0aW9ucy5cIiksSlNYX2F0dHJpYnV0ZXNfbXVzdF9vbmx5X2JlX2Fzc2lnbmVkX2Ffbm9uX2VtcHR5X2V4cHJlc3Npb246cigxN2UzLDEsXCJKU1hfYXR0cmlidXRlc19tdXN0X29ubHlfYmVfYXNzaWduZWRfYV9ub25fZW1wdHlfZXhwcmVzc2lvbl8xNzAwMFwiLFwiSlNYIGF0dHJpYnV0ZXMgbXVzdCBvbmx5IGJlIGFzc2lnbmVkIGEgbm9uLWVtcHR5ICdleHByZXNzaW9uJy5cIiksSlNYX2VsZW1lbnRzX2Nhbm5vdF9oYXZlX211bHRpcGxlX2F0dHJpYnV0ZXNfd2l0aF90aGVfc2FtZV9uYW1lOnIoMTcwMDEsMSxcIkpTWF9lbGVtZW50c19jYW5ub3RfaGF2ZV9tdWx0aXBsZV9hdHRyaWJ1dGVzX3dpdGhfdGhlX3NhbWVfbmFtZV8xNzAwMVwiLFwiSlNYIGVsZW1lbnRzIGNhbm5vdCBoYXZlIG11bHRpcGxlIGF0dHJpYnV0ZXMgd2l0aCB0aGUgc2FtZSBuYW1lLlwiKSxFeHBlY3RlZF9jb3JyZXNwb25kaW5nX0pTWF9jbG9zaW5nX3RhZ19mb3JfMDpyKDE3MDAyLDEsXCJFeHBlY3RlZF9jb3JyZXNwb25kaW5nX0pTWF9jbG9zaW5nX3RhZ19mb3JfMF8xNzAwMlwiLFwiRXhwZWN0ZWQgY29ycmVzcG9uZGluZyBKU1ggY2xvc2luZyB0YWcgZm9yICd7MH0nLlwiKSxDYW5ub3RfdXNlX0pTWF91bmxlc3NfdGhlX2pzeF9mbGFnX2lzX3Byb3ZpZGVkOnIoMTcwMDQsMSxcIkNhbm5vdF91c2VfSlNYX3VubGVzc190aGVfanN4X2ZsYWdfaXNfcHJvdmlkZWRfMTcwMDRcIixcIkNhbm5vdCB1c2UgSlNYIHVubGVzcyB0aGUgJy0tanN4JyBmbGFnIGlzIHByb3ZpZGVkLlwiKSxBX2NvbnN0cnVjdG9yX2Nhbm5vdF9jb250YWluX2Ffc3VwZXJfY2FsbF93aGVuX2l0c19jbGFzc19leHRlbmRzX251bGw6cigxNzAwNSwxLFwiQV9jb25zdHJ1Y3Rvcl9jYW5ub3RfY29udGFpbl9hX3N1cGVyX2NhbGxfd2hlbl9pdHNfY2xhc3NfZXh0ZW5kc19udWxsXzE3MDA1XCIsXCJBIGNvbnN0cnVjdG9yIGNhbm5vdCBjb250YWluIGEgJ3N1cGVyJyBjYWxsIHdoZW4gaXRzIGNsYXNzIGV4dGVuZHMgJ251bGwnLlwiKSxBbl91bmFyeV9leHByZXNzaW9uX3dpdGhfdGhlXzBfb3BlcmF0b3JfaXNfbm90X2FsbG93ZWRfaW5fdGhlX2xlZnRfaGFuZF9zaWRlX29mX2FuX2V4cG9uZW50aWF0aW9uX2V4cHJlc3Npb25fQ29uc2lkZXJfZW5jbG9zaW5nX3RoZV9leHByZXNzaW9uX2luX3BhcmVudGhlc2VzOnIoMTcwMDYsMSxcIkFuX3VuYXJ5X2V4cHJlc3Npb25fd2l0aF90aGVfMF9vcGVyYXRvcl9pc19ub3RfYWxsb3dlZF9pbl90aGVfbGVmdF9oYW5kX3NpZGVfb2ZfYW5fZXhwb25lbnRpYXRpb25fZXhfMTcwMDZcIixcIkFuIHVuYXJ5IGV4cHJlc3Npb24gd2l0aCB0aGUgJ3swfScgb3BlcmF0b3IgaXMgbm90IGFsbG93ZWQgaW4gdGhlIGxlZnQtaGFuZCBzaWRlIG9mIGFuIGV4cG9uZW50aWF0aW9uIGV4cHJlc3Npb24uIENvbnNpZGVyIGVuY2xvc2luZyB0aGUgZXhwcmVzc2lvbiBpbiBwYXJlbnRoZXNlcy5cIiksQV90eXBlX2Fzc2VydGlvbl9leHByZXNzaW9uX2lzX25vdF9hbGxvd2VkX2luX3RoZV9sZWZ0X2hhbmRfc2lkZV9vZl9hbl9leHBvbmVudGlhdGlvbl9leHByZXNzaW9uX0NvbnNpZGVyX2VuY2xvc2luZ190aGVfZXhwcmVzc2lvbl9pbl9wYXJlbnRoZXNlczpyKDE3MDA3LDEsXCJBX3R5cGVfYXNzZXJ0aW9uX2V4cHJlc3Npb25faXNfbm90X2FsbG93ZWRfaW5fdGhlX2xlZnRfaGFuZF9zaWRlX29mX2FuX2V4cG9uZW50aWF0aW9uX2V4cHJlc3Npb25fQ29uXzE3MDA3XCIsXCJBIHR5cGUgYXNzZXJ0aW9uIGV4cHJlc3Npb24gaXMgbm90IGFsbG93ZWQgaW4gdGhlIGxlZnQtaGFuZCBzaWRlIG9mIGFuIGV4cG9uZW50aWF0aW9uIGV4cHJlc3Npb24uIENvbnNpZGVyIGVuY2xvc2luZyB0aGUgZXhwcmVzc2lvbiBpbiBwYXJlbnRoZXNlcy5cIiksSlNYX2VsZW1lbnRfMF9oYXNfbm9fY29ycmVzcG9uZGluZ19jbG9zaW5nX3RhZzpyKDE3MDA4LDEsXCJKU1hfZWxlbWVudF8wX2hhc19ub19jb3JyZXNwb25kaW5nX2Nsb3NpbmdfdGFnXzE3MDA4XCIsXCJKU1ggZWxlbWVudCAnezB9JyBoYXMgbm8gY29ycmVzcG9uZGluZyBjbG9zaW5nIHRhZy5cIiksc3VwZXJfbXVzdF9iZV9jYWxsZWRfYmVmb3JlX2FjY2Vzc2luZ190aGlzX2luX3RoZV9jb25zdHJ1Y3Rvcl9vZl9hX2Rlcml2ZWRfY2xhc3M6cigxNzAwOSwxLFwic3VwZXJfbXVzdF9iZV9jYWxsZWRfYmVmb3JlX2FjY2Vzc2luZ190aGlzX2luX3RoZV9jb25zdHJ1Y3Rvcl9vZl9hX2Rlcml2ZWRfY2xhc3NfMTcwMDlcIixcIidzdXBlcicgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGFjY2Vzc2luZyAndGhpcycgaW4gdGhlIGNvbnN0cnVjdG9yIG9mIGEgZGVyaXZlZCBjbGFzcy5cIiksVW5rbm93bl90eXBlX2FjcXVpc2l0aW9uX29wdGlvbl8wOnIoMTcwMTAsMSxcIlVua25vd25fdHlwZV9hY3F1aXNpdGlvbl9vcHRpb25fMF8xNzAxMFwiLFwiVW5rbm93biB0eXBlIGFjcXVpc2l0aW9uIG9wdGlvbiAnezB9Jy5cIiksc3VwZXJfbXVzdF9iZV9jYWxsZWRfYmVmb3JlX2FjY2Vzc2luZ19hX3Byb3BlcnR5X29mX3N1cGVyX2luX3RoZV9jb25zdHJ1Y3Rvcl9vZl9hX2Rlcml2ZWRfY2xhc3M6cigxNzAxMSwxLFwic3VwZXJfbXVzdF9iZV9jYWxsZWRfYmVmb3JlX2FjY2Vzc2luZ19hX3Byb3BlcnR5X29mX3N1cGVyX2luX3RoZV9jb25zdHJ1Y3Rvcl9vZl9hX2Rlcml2ZWRfY2xhc3NfMTcwMTFcIixcIidzdXBlcicgbXVzdCBiZSBjYWxsZWQgYmVmb3JlIGFjY2Vzc2luZyBhIHByb3BlcnR5IG9mICdzdXBlcicgaW4gdGhlIGNvbnN0cnVjdG9yIG9mIGEgZGVyaXZlZCBjbGFzcy5cIiksXzBfaXNfbm90X2FfdmFsaWRfbWV0YV9wcm9wZXJ0eV9mb3Jfa2V5d29yZF8xX0RpZF95b3VfbWVhbl8yOnIoMTcwMTIsMSxcIl8wX2lzX25vdF9hX3ZhbGlkX21ldGFfcHJvcGVydHlfZm9yX2tleXdvcmRfMV9EaWRfeW91X21lYW5fMl8xNzAxMlwiLFwiJ3swfScgaXMgbm90IGEgdmFsaWQgbWV0YS1wcm9wZXJ0eSBmb3Iga2V5d29yZCAnezF9Jy4gRGlkIHlvdSBtZWFuICd7Mn0nP1wiKSxNZXRhX3Byb3BlcnR5XzBfaXNfb25seV9hbGxvd2VkX2luX3RoZV9ib2R5X29mX2FfZnVuY3Rpb25fZGVjbGFyYXRpb25fZnVuY3Rpb25fZXhwcmVzc2lvbl9vcl9jb25zdHJ1Y3RvcjpyKDE3MDEzLDEsXCJNZXRhX3Byb3BlcnR5XzBfaXNfb25seV9hbGxvd2VkX2luX3RoZV9ib2R5X29mX2FfZnVuY3Rpb25fZGVjbGFyYXRpb25fZnVuY3Rpb25fZXhwcmVzc2lvbl9vcl9jb25zdHJ1XzE3MDEzXCIsXCJNZXRhLXByb3BlcnR5ICd7MH0nIGlzIG9ubHkgYWxsb3dlZCBpbiB0aGUgYm9keSBvZiBhIGZ1bmN0aW9uIGRlY2xhcmF0aW9uLCBmdW5jdGlvbiBleHByZXNzaW9uLCBvciBjb25zdHJ1Y3Rvci5cIiksSlNYX2ZyYWdtZW50X2hhc19ub19jb3JyZXNwb25kaW5nX2Nsb3NpbmdfdGFnOnIoMTcwMTQsMSxcIkpTWF9mcmFnbWVudF9oYXNfbm9fY29ycmVzcG9uZGluZ19jbG9zaW5nX3RhZ18xNzAxNFwiLFwiSlNYIGZyYWdtZW50IGhhcyBubyBjb3JyZXNwb25kaW5nIGNsb3NpbmcgdGFnLlwiKSxFeHBlY3RlZF9jb3JyZXNwb25kaW5nX2Nsb3NpbmdfdGFnX2Zvcl9KU1hfZnJhZ21lbnQ6cigxNzAxNSwxLFwiRXhwZWN0ZWRfY29ycmVzcG9uZGluZ19jbG9zaW5nX3RhZ19mb3JfSlNYX2ZyYWdtZW50XzE3MDE1XCIsXCJFeHBlY3RlZCBjb3JyZXNwb25kaW5nIGNsb3NpbmcgdGFnIGZvciBKU1ggZnJhZ21lbnQuXCIpLFRoZV9qc3hGcmFnbWVudEZhY3RvcnlfY29tcGlsZXJfb3B0aW9uX211c3RfYmVfcHJvdmlkZWRfdG9fdXNlX0pTWF9mcmFnbWVudHNfd2l0aF90aGVfanN4RmFjdG9yeV9jb21waWxlcl9vcHRpb246cigxNzAxNiwxLFwiVGhlX2pzeEZyYWdtZW50RmFjdG9yeV9jb21waWxlcl9vcHRpb25fbXVzdF9iZV9wcm92aWRlZF90b191c2VfSlNYX2ZyYWdtZW50c193aXRoX3RoZV9qc3hGYWN0b3J5X2NvbV8xNzAxNlwiLFwiVGhlICdqc3hGcmFnbWVudEZhY3RvcnknIGNvbXBpbGVyIG9wdGlvbiBtdXN0IGJlIHByb3ZpZGVkIHRvIHVzZSBKU1ggZnJhZ21lbnRzIHdpdGggdGhlICdqc3hGYWN0b3J5JyBjb21waWxlciBvcHRpb24uXCIpLEFuX2pzeEZyYWdfcHJhZ21hX2lzX3JlcXVpcmVkX3doZW5fdXNpbmdfYW5fanN4X3ByYWdtYV93aXRoX0pTWF9mcmFnbWVudHM6cigxNzAxNywxLFwiQW5fanN4RnJhZ19wcmFnbWFfaXNfcmVxdWlyZWRfd2hlbl91c2luZ19hbl9qc3hfcHJhZ21hX3dpdGhfSlNYX2ZyYWdtZW50c18xNzAxN1wiLFwiQW4gQGpzeEZyYWcgcHJhZ21hIGlzIHJlcXVpcmVkIHdoZW4gdXNpbmcgYW4gQGpzeCBwcmFnbWEgd2l0aCBKU1ggZnJhZ21lbnRzLlwiKSxVbmtub3duX3R5cGVfYWNxdWlzaXRpb25fb3B0aW9uXzBfRGlkX3lvdV9tZWFuXzE6cigxNzAxOCwxLFwiVW5rbm93bl90eXBlX2FjcXVpc2l0aW9uX29wdGlvbl8wX0RpZF95b3VfbWVhbl8xXzE3MDE4XCIsXCJVbmtub3duIHR5cGUgYWNxdWlzaXRpb24gb3B0aW9uICd7MH0nLiBEaWQgeW91IG1lYW4gJ3sxfSc/XCIpLF8wX2F0X3RoZV9lbmRfb2ZfYV90eXBlX2lzX25vdF92YWxpZF9UeXBlU2NyaXB0X3N5bnRheF9EaWRfeW91X21lYW5fdG9fd3JpdGVfMTpyKDE3MDE5LDEsXCJfMF9hdF90aGVfZW5kX29mX2FfdHlwZV9pc19ub3RfdmFsaWRfVHlwZVNjcmlwdF9zeW50YXhfRGlkX3lvdV9tZWFuX3RvX3dyaXRlXzFfMTcwMTlcIixcIid7MH0nIGF0IHRoZSBlbmQgb2YgYSB0eXBlIGlzIG5vdCB2YWxpZCBUeXBlU2NyaXB0IHN5bnRheC4gRGlkIHlvdSBtZWFuIHRvIHdyaXRlICd7MX0nP1wiKSxfMF9hdF90aGVfc3RhcnRfb2ZfYV90eXBlX2lzX25vdF92YWxpZF9UeXBlU2NyaXB0X3N5bnRheF9EaWRfeW91X21lYW5fdG9fd3JpdGVfMTpyKDE3MDIwLDEsXCJfMF9hdF90aGVfc3RhcnRfb2ZfYV90eXBlX2lzX25vdF92YWxpZF9UeXBlU2NyaXB0X3N5bnRheF9EaWRfeW91X21lYW5fdG9fd3JpdGVfMV8xNzAyMFwiLFwiJ3swfScgYXQgdGhlIHN0YXJ0IG9mIGEgdHlwZSBpcyBub3QgdmFsaWQgVHlwZVNjcmlwdCBzeW50YXguIERpZCB5b3UgbWVhbiB0byB3cml0ZSAnezF9Jz9cIiksVW5pY29kZV9lc2NhcGVfc2VxdWVuY2VfY2Fubm90X2FwcGVhcl9oZXJlOnIoMTcwMjEsMSxcIlVuaWNvZGVfZXNjYXBlX3NlcXVlbmNlX2Nhbm5vdF9hcHBlYXJfaGVyZV8xNzAyMVwiLFwiVW5pY29kZSBlc2NhcGUgc2VxdWVuY2UgY2Fubm90IGFwcGVhciBoZXJlLlwiKSxDaXJjdWxhcml0eV9kZXRlY3RlZF93aGlsZV9yZXNvbHZpbmdfY29uZmlndXJhdGlvbl9Db2xvbl8wOnIoMThlMywxLFwiQ2lyY3VsYXJpdHlfZGV0ZWN0ZWRfd2hpbGVfcmVzb2x2aW5nX2NvbmZpZ3VyYXRpb25fQ29sb25fMF8xODAwMFwiLFwiQ2lyY3VsYXJpdHkgZGV0ZWN0ZWQgd2hpbGUgcmVzb2x2aW5nIGNvbmZpZ3VyYXRpb246IHswfVwiKSxUaGVfZmlsZXNfbGlzdF9pbl9jb25maWdfZmlsZV8wX2lzX2VtcHR5OnIoMTgwMDIsMSxcIlRoZV9maWxlc19saXN0X2luX2NvbmZpZ19maWxlXzBfaXNfZW1wdHlfMTgwMDJcIixcIlRoZSAnZmlsZXMnIGxpc3QgaW4gY29uZmlnIGZpbGUgJ3swfScgaXMgZW1wdHkuXCIpLE5vX2lucHV0c193ZXJlX2ZvdW5kX2luX2NvbmZpZ19maWxlXzBfU3BlY2lmaWVkX2luY2x1ZGVfcGF0aHNfd2VyZV8xX2FuZF9leGNsdWRlX3BhdGhzX3dlcmVfMjpyKDE4MDAzLDEsXCJOb19pbnB1dHNfd2VyZV9mb3VuZF9pbl9jb25maWdfZmlsZV8wX1NwZWNpZmllZF9pbmNsdWRlX3BhdGhzX3dlcmVfMV9hbmRfZXhjbHVkZV9wYXRoc193ZXJlXzJfMTgwMDNcIixcIk5vIGlucHV0cyB3ZXJlIGZvdW5kIGluIGNvbmZpZyBmaWxlICd7MH0nLiBTcGVjaWZpZWQgJ2luY2x1ZGUnIHBhdGhzIHdlcmUgJ3sxfScgYW5kICdleGNsdWRlJyBwYXRocyB3ZXJlICd7Mn0nLlwiKSxGaWxlX2lzX2FfQ29tbW9uSlNfbW9kdWxlX2l0X21heV9iZV9jb252ZXJ0ZWRfdG9fYW5fRVNfbW9kdWxlOnIoODAwMDEsMixcIkZpbGVfaXNfYV9Db21tb25KU19tb2R1bGVfaXRfbWF5X2JlX2NvbnZlcnRlZF90b19hbl9FU19tb2R1bGVfODAwMDFcIixcIkZpbGUgaXMgYSBDb21tb25KUyBtb2R1bGU7IGl0IG1heSBiZSBjb252ZXJ0ZWQgdG8gYW4gRVMgbW9kdWxlLlwiKSxUaGlzX2NvbnN0cnVjdG9yX2Z1bmN0aW9uX21heV9iZV9jb252ZXJ0ZWRfdG9fYV9jbGFzc19kZWNsYXJhdGlvbjpyKDgwMDAyLDIsXCJUaGlzX2NvbnN0cnVjdG9yX2Z1bmN0aW9uX21heV9iZV9jb252ZXJ0ZWRfdG9fYV9jbGFzc19kZWNsYXJhdGlvbl84MDAwMlwiLFwiVGhpcyBjb25zdHJ1Y3RvciBmdW5jdGlvbiBtYXkgYmUgY29udmVydGVkIHRvIGEgY2xhc3MgZGVjbGFyYXRpb24uXCIpLEltcG9ydF9tYXlfYmVfY29udmVydGVkX3RvX2FfZGVmYXVsdF9pbXBvcnQ6cig4MDAwMywyLFwiSW1wb3J0X21heV9iZV9jb252ZXJ0ZWRfdG9fYV9kZWZhdWx0X2ltcG9ydF84MDAwM1wiLFwiSW1wb3J0IG1heSBiZSBjb252ZXJ0ZWQgdG8gYSBkZWZhdWx0IGltcG9ydC5cIiksSlNEb2NfdHlwZXNfbWF5X2JlX21vdmVkX3RvX1R5cGVTY3JpcHRfdHlwZXM6cig4MDAwNCwyLFwiSlNEb2NfdHlwZXNfbWF5X2JlX21vdmVkX3RvX1R5cGVTY3JpcHRfdHlwZXNfODAwMDRcIixcIkpTRG9jIHR5cGVzIG1heSBiZSBtb3ZlZCB0byBUeXBlU2NyaXB0IHR5cGVzLlwiKSxyZXF1aXJlX2NhbGxfbWF5X2JlX2NvbnZlcnRlZF90b19hbl9pbXBvcnQ6cig4MDAwNSwyLFwicmVxdWlyZV9jYWxsX21heV9iZV9jb252ZXJ0ZWRfdG9fYW5faW1wb3J0XzgwMDA1XCIsXCIncmVxdWlyZScgY2FsbCBtYXkgYmUgY29udmVydGVkIHRvIGFuIGltcG9ydC5cIiksVGhpc19tYXlfYmVfY29udmVydGVkX3RvX2FuX2FzeW5jX2Z1bmN0aW9uOnIoODAwMDYsMixcIlRoaXNfbWF5X2JlX2NvbnZlcnRlZF90b19hbl9hc3luY19mdW5jdGlvbl84MDAwNlwiLFwiVGhpcyBtYXkgYmUgY29udmVydGVkIHRvIGFuIGFzeW5jIGZ1bmN0aW9uLlwiKSxhd2FpdF9oYXNfbm9fZWZmZWN0X29uX3RoZV90eXBlX29mX3RoaXNfZXhwcmVzc2lvbjpyKDgwMDA3LDIsXCJhd2FpdF9oYXNfbm9fZWZmZWN0X29uX3RoZV90eXBlX29mX3RoaXNfZXhwcmVzc2lvbl84MDAwN1wiLFwiJ2F3YWl0JyBoYXMgbm8gZWZmZWN0IG9uIHRoZSB0eXBlIG9mIHRoaXMgZXhwcmVzc2lvbi5cIiksTnVtZXJpY19saXRlcmFsc193aXRoX2Fic29sdXRlX3ZhbHVlc19lcXVhbF90b18yXzUzX29yX2dyZWF0ZXJfYXJlX3Rvb19sYXJnZV90b19iZV9yZXByZXNlbnRlZF9hY2N1cmF0ZWx5X2FzX2ludGVnZXJzOnIoODAwMDgsMixcIk51bWVyaWNfbGl0ZXJhbHNfd2l0aF9hYnNvbHV0ZV92YWx1ZXNfZXF1YWxfdG9fMl81M19vcl9ncmVhdGVyX2FyZV90b29fbGFyZ2VfdG9fYmVfcmVwcmVzZW50ZWRfYWNjdXJfODAwMDhcIixcIk51bWVyaWMgbGl0ZXJhbHMgd2l0aCBhYnNvbHV0ZSB2YWx1ZXMgZXF1YWwgdG8gMl41MyBvciBncmVhdGVyIGFyZSB0b28gbGFyZ2UgdG8gYmUgcmVwcmVzZW50ZWQgYWNjdXJhdGVseSBhcyBpbnRlZ2Vycy5cIiksSlNEb2NfdHlwZWRlZl9tYXlfYmVfY29udmVydGVkX3RvX1R5cGVTY3JpcHRfdHlwZTpyKDgwMDA5LDIsXCJKU0RvY190eXBlZGVmX21heV9iZV9jb252ZXJ0ZWRfdG9fVHlwZVNjcmlwdF90eXBlXzgwMDA5XCIsXCJKU0RvYyB0eXBlZGVmIG1heSBiZSBjb252ZXJ0ZWQgdG8gVHlwZVNjcmlwdCB0eXBlLlwiKSxKU0RvY190eXBlZGVmc19tYXlfYmVfY29udmVydGVkX3RvX1R5cGVTY3JpcHRfdHlwZXM6cig4MDAxMCwyLFwiSlNEb2NfdHlwZWRlZnNfbWF5X2JlX2NvbnZlcnRlZF90b19UeXBlU2NyaXB0X3R5cGVzXzgwMDEwXCIsXCJKU0RvYyB0eXBlZGVmcyBtYXkgYmUgY29udmVydGVkIHRvIFR5cGVTY3JpcHQgdHlwZXMuXCIpLEFkZF9taXNzaW5nX3N1cGVyX2NhbGw6cig5MDAwMSwzLFwiQWRkX21pc3Npbmdfc3VwZXJfY2FsbF85MDAwMVwiLFwiQWRkIG1pc3NpbmcgJ3N1cGVyKCknIGNhbGxcIiksTWFrZV9zdXBlcl9jYWxsX3RoZV9maXJzdF9zdGF0ZW1lbnRfaW5fdGhlX2NvbnN0cnVjdG9yOnIoOTAwMDIsMyxcIk1ha2Vfc3VwZXJfY2FsbF90aGVfZmlyc3Rfc3RhdGVtZW50X2luX3RoZV9jb25zdHJ1Y3Rvcl85MDAwMlwiLFwiTWFrZSAnc3VwZXIoKScgY2FsbCB0aGUgZmlyc3Qgc3RhdGVtZW50IGluIHRoZSBjb25zdHJ1Y3RvclwiKSxDaGFuZ2VfZXh0ZW5kc190b19pbXBsZW1lbnRzOnIoOTAwMDMsMyxcIkNoYW5nZV9leHRlbmRzX3RvX2ltcGxlbWVudHNfOTAwMDNcIixcIkNoYW5nZSAnZXh0ZW5kcycgdG8gJ2ltcGxlbWVudHMnXCIpLFJlbW92ZV91bnVzZWRfZGVjbGFyYXRpb25fZm9yX0NvbG9uXzA6cig5MDAwNCwzLFwiUmVtb3ZlX3VudXNlZF9kZWNsYXJhdGlvbl9mb3JfQ29sb25fMF85MDAwNFwiLFwiUmVtb3ZlIHVudXNlZCBkZWNsYXJhdGlvbiBmb3I6ICd7MH0nXCIpLFJlbW92ZV9pbXBvcnRfZnJvbV8wOnIoOTAwMDUsMyxcIlJlbW92ZV9pbXBvcnRfZnJvbV8wXzkwMDA1XCIsXCJSZW1vdmUgaW1wb3J0IGZyb20gJ3swfSdcIiksSW1wbGVtZW50X2ludGVyZmFjZV8wOnIoOTAwMDYsMyxcIkltcGxlbWVudF9pbnRlcmZhY2VfMF85MDAwNlwiLFwiSW1wbGVtZW50IGludGVyZmFjZSAnezB9J1wiKSxJbXBsZW1lbnRfaW5oZXJpdGVkX2Fic3RyYWN0X2NsYXNzOnIoOTAwMDcsMyxcIkltcGxlbWVudF9pbmhlcml0ZWRfYWJzdHJhY3RfY2xhc3NfOTAwMDdcIixcIkltcGxlbWVudCBpbmhlcml0ZWQgYWJzdHJhY3QgY2xhc3NcIiksQWRkXzBfdG9fdW5yZXNvbHZlZF92YXJpYWJsZTpyKDkwMDA4LDMsXCJBZGRfMF90b191bnJlc29sdmVkX3ZhcmlhYmxlXzkwMDA4XCIsXCJBZGQgJ3swfS4nIHRvIHVucmVzb2x2ZWQgdmFyaWFibGVcIiksUmVtb3ZlX3ZhcmlhYmxlX3N0YXRlbWVudDpyKDkwMDEwLDMsXCJSZW1vdmVfdmFyaWFibGVfc3RhdGVtZW50XzkwMDEwXCIsXCJSZW1vdmUgdmFyaWFibGUgc3RhdGVtZW50XCIpLFJlbW92ZV90ZW1wbGF0ZV90YWc6cig5MDAxMSwzLFwiUmVtb3ZlX3RlbXBsYXRlX3RhZ185MDAxMVwiLFwiUmVtb3ZlIHRlbXBsYXRlIHRhZ1wiKSxSZW1vdmVfdHlwZV9wYXJhbWV0ZXJzOnIoOTAwMTIsMyxcIlJlbW92ZV90eXBlX3BhcmFtZXRlcnNfOTAwMTJcIixcIlJlbW92ZSB0eXBlIHBhcmFtZXRlcnNcIiksSW1wb3J0XzBfZnJvbV8xOnIoOTAwMTMsMyxcIkltcG9ydF8wX2Zyb21fMV85MDAxM1wiLGBJbXBvcnQgJ3swfScgZnJvbSBcInsxfVwiYCksQ2hhbmdlXzBfdG9fMTpyKDkwMDE0LDMsXCJDaGFuZ2VfMF90b18xXzkwMDE0XCIsXCJDaGFuZ2UgJ3swfScgdG8gJ3sxfSdcIiksRGVjbGFyZV9wcm9wZXJ0eV8wOnIoOTAwMTYsMyxcIkRlY2xhcmVfcHJvcGVydHlfMF85MDAxNlwiLFwiRGVjbGFyZSBwcm9wZXJ0eSAnezB9J1wiKSxBZGRfaW5kZXhfc2lnbmF0dXJlX2Zvcl9wcm9wZXJ0eV8wOnIoOTAwMTcsMyxcIkFkZF9pbmRleF9zaWduYXR1cmVfZm9yX3Byb3BlcnR5XzBfOTAwMTdcIixcIkFkZCBpbmRleCBzaWduYXR1cmUgZm9yIHByb3BlcnR5ICd7MH0nXCIpLERpc2FibGVfY2hlY2tpbmdfZm9yX3RoaXNfZmlsZTpyKDkwMDE4LDMsXCJEaXNhYmxlX2NoZWNraW5nX2Zvcl90aGlzX2ZpbGVfOTAwMThcIixcIkRpc2FibGUgY2hlY2tpbmcgZm9yIHRoaXMgZmlsZVwiKSxJZ25vcmVfdGhpc19lcnJvcl9tZXNzYWdlOnIoOTAwMTksMyxcIklnbm9yZV90aGlzX2Vycm9yX21lc3NhZ2VfOTAwMTlcIixcIklnbm9yZSB0aGlzIGVycm9yIG1lc3NhZ2VcIiksSW5pdGlhbGl6ZV9wcm9wZXJ0eV8wX2luX3RoZV9jb25zdHJ1Y3RvcjpyKDkwMDIwLDMsXCJJbml0aWFsaXplX3Byb3BlcnR5XzBfaW5fdGhlX2NvbnN0cnVjdG9yXzkwMDIwXCIsXCJJbml0aWFsaXplIHByb3BlcnR5ICd7MH0nIGluIHRoZSBjb25zdHJ1Y3RvclwiKSxJbml0aWFsaXplX3N0YXRpY19wcm9wZXJ0eV8wOnIoOTAwMjEsMyxcIkluaXRpYWxpemVfc3RhdGljX3Byb3BlcnR5XzBfOTAwMjFcIixcIkluaXRpYWxpemUgc3RhdGljIHByb3BlcnR5ICd7MH0nXCIpLENoYW5nZV9zcGVsbGluZ190b18wOnIoOTAwMjIsMyxcIkNoYW5nZV9zcGVsbGluZ190b18wXzkwMDIyXCIsXCJDaGFuZ2Ugc3BlbGxpbmcgdG8gJ3swfSdcIiksRGVjbGFyZV9tZXRob2RfMDpyKDkwMDIzLDMsXCJEZWNsYXJlX21ldGhvZF8wXzkwMDIzXCIsXCJEZWNsYXJlIG1ldGhvZCAnezB9J1wiKSxEZWNsYXJlX3N0YXRpY19tZXRob2RfMDpyKDkwMDI0LDMsXCJEZWNsYXJlX3N0YXRpY19tZXRob2RfMF85MDAyNFwiLFwiRGVjbGFyZSBzdGF0aWMgbWV0aG9kICd7MH0nXCIpLFByZWZpeF8wX3dpdGhfYW5fdW5kZXJzY29yZTpyKDkwMDI1LDMsXCJQcmVmaXhfMF93aXRoX2FuX3VuZGVyc2NvcmVfOTAwMjVcIixcIlByZWZpeCAnezB9JyB3aXRoIGFuIHVuZGVyc2NvcmVcIiksUmV3cml0ZV9hc190aGVfaW5kZXhlZF9hY2Nlc3NfdHlwZV8wOnIoOTAwMjYsMyxcIlJld3JpdGVfYXNfdGhlX2luZGV4ZWRfYWNjZXNzX3R5cGVfMF85MDAyNlwiLFwiUmV3cml0ZSBhcyB0aGUgaW5kZXhlZCBhY2Nlc3MgdHlwZSAnezB9J1wiKSxEZWNsYXJlX3N0YXRpY19wcm9wZXJ0eV8wOnIoOTAwMjcsMyxcIkRlY2xhcmVfc3RhdGljX3Byb3BlcnR5XzBfOTAwMjdcIixcIkRlY2xhcmUgc3RhdGljIHByb3BlcnR5ICd7MH0nXCIpLENhbGxfZGVjb3JhdG9yX2V4cHJlc3Npb246cig5MDAyOCwzLFwiQ2FsbF9kZWNvcmF0b3JfZXhwcmVzc2lvbl85MDAyOFwiLFwiQ2FsbCBkZWNvcmF0b3IgZXhwcmVzc2lvblwiKSxBZGRfYXN5bmNfbW9kaWZpZXJfdG9fY29udGFpbmluZ19mdW5jdGlvbjpyKDkwMDI5LDMsXCJBZGRfYXN5bmNfbW9kaWZpZXJfdG9fY29udGFpbmluZ19mdW5jdGlvbl85MDAyOVwiLFwiQWRkIGFzeW5jIG1vZGlmaWVyIHRvIGNvbnRhaW5pbmcgZnVuY3Rpb25cIiksUmVwbGFjZV9pbmZlcl8wX3dpdGhfdW5rbm93bjpyKDkwMDMwLDMsXCJSZXBsYWNlX2luZmVyXzBfd2l0aF91bmtub3duXzkwMDMwXCIsXCJSZXBsYWNlICdpbmZlciB7MH0nIHdpdGggJ3Vua25vd24nXCIpLFJlcGxhY2VfYWxsX3VudXNlZF9pbmZlcl93aXRoX3Vua25vd246cig5MDAzMSwzLFwiUmVwbGFjZV9hbGxfdW51c2VkX2luZmVyX3dpdGhfdW5rbm93bl85MDAzMVwiLFwiUmVwbGFjZSBhbGwgdW51c2VkICdpbmZlcicgd2l0aCAndW5rbm93bidcIiksQWRkX3BhcmFtZXRlcl9uYW1lOnIoOTAwMzQsMyxcIkFkZF9wYXJhbWV0ZXJfbmFtZV85MDAzNFwiLFwiQWRkIHBhcmFtZXRlciBuYW1lXCIpLERlY2xhcmVfcHJpdmF0ZV9wcm9wZXJ0eV8wOnIoOTAwMzUsMyxcIkRlY2xhcmVfcHJpdmF0ZV9wcm9wZXJ0eV8wXzkwMDM1XCIsXCJEZWNsYXJlIHByaXZhdGUgcHJvcGVydHkgJ3swfSdcIiksUmVwbGFjZV8wX3dpdGhfUHJvbWlzZV8xOnIoOTAwMzYsMyxcIlJlcGxhY2VfMF93aXRoX1Byb21pc2VfMV85MDAzNlwiLFwiUmVwbGFjZSAnezB9JyB3aXRoICdQcm9taXNlPHsxfT4nXCIpLEZpeF9hbGxfaW5jb3JyZWN0X3JldHVybl90eXBlX29mX2FuX2FzeW5jX2Z1bmN0aW9uczpyKDkwMDM3LDMsXCJGaXhfYWxsX2luY29ycmVjdF9yZXR1cm5fdHlwZV9vZl9hbl9hc3luY19mdW5jdGlvbnNfOTAwMzdcIixcIkZpeCBhbGwgaW5jb3JyZWN0IHJldHVybiB0eXBlIG9mIGFuIGFzeW5jIGZ1bmN0aW9uc1wiKSxEZWNsYXJlX3ByaXZhdGVfbWV0aG9kXzA6cig5MDAzOCwzLFwiRGVjbGFyZV9wcml2YXRlX21ldGhvZF8wXzkwMDM4XCIsXCJEZWNsYXJlIHByaXZhdGUgbWV0aG9kICd7MH0nXCIpLFJlbW92ZV91bnVzZWRfZGVzdHJ1Y3R1cmluZ19kZWNsYXJhdGlvbjpyKDkwMDM5LDMsXCJSZW1vdmVfdW51c2VkX2Rlc3RydWN0dXJpbmdfZGVjbGFyYXRpb25fOTAwMzlcIixcIlJlbW92ZSB1bnVzZWQgZGVzdHJ1Y3R1cmluZyBkZWNsYXJhdGlvblwiKSxSZW1vdmVfdW51c2VkX2RlY2xhcmF0aW9uc19mb3JfQ29sb25fMDpyKDkwMDQxLDMsXCJSZW1vdmVfdW51c2VkX2RlY2xhcmF0aW9uc19mb3JfQ29sb25fMF85MDA0MVwiLFwiUmVtb3ZlIHVudXNlZCBkZWNsYXJhdGlvbnMgZm9yOiAnezB9J1wiKSxEZWNsYXJlX2FfcHJpdmF0ZV9maWVsZF9uYW1lZF8wOnIoOTAwNTMsMyxcIkRlY2xhcmVfYV9wcml2YXRlX2ZpZWxkX25hbWVkXzBfOTAwNTNcIixcIkRlY2xhcmUgYSBwcml2YXRlIGZpZWxkIG5hbWVkICd7MH0nLlwiKSxJbmNsdWRlc19pbXBvcnRzX29mX3R5cGVzX3JlZmVyZW5jZWRfYnlfMDpyKDkwMDU0LDMsXCJJbmNsdWRlc19pbXBvcnRzX29mX3R5cGVzX3JlZmVyZW5jZWRfYnlfMF85MDA1NFwiLFwiSW5jbHVkZXMgaW1wb3J0cyBvZiB0eXBlcyByZWZlcmVuY2VkIGJ5ICd7MH0nXCIpLFJlbW92ZV90eXBlX2Zyb21faW1wb3J0X2RlY2xhcmF0aW9uX2Zyb21fMDpyKDkwMDU1LDMsXCJSZW1vdmVfdHlwZV9mcm9tX2ltcG9ydF9kZWNsYXJhdGlvbl9mcm9tXzBfOTAwNTVcIixgUmVtb3ZlICd0eXBlJyBmcm9tIGltcG9ydCBkZWNsYXJhdGlvbiBmcm9tIFwiezB9XCJgKSxSZW1vdmVfdHlwZV9mcm9tX2ltcG9ydF9vZl8wX2Zyb21fMTpyKDkwMDU2LDMsXCJSZW1vdmVfdHlwZV9mcm9tX2ltcG9ydF9vZl8wX2Zyb21fMV85MDA1NlwiLGBSZW1vdmUgJ3R5cGUnIGZyb20gaW1wb3J0IG9mICd7MH0nIGZyb20gXCJ7MX1cImApLEFkZF9pbXBvcnRfZnJvbV8wOnIoOTAwNTcsMyxcIkFkZF9pbXBvcnRfZnJvbV8wXzkwMDU3XCIsJ0FkZCBpbXBvcnQgZnJvbSBcInswfVwiJyksVXBkYXRlX2ltcG9ydF9mcm9tXzA6cig5MDA1OCwzLFwiVXBkYXRlX2ltcG9ydF9mcm9tXzBfOTAwNThcIiwnVXBkYXRlIGltcG9ydCBmcm9tIFwiezB9XCInKSxFeHBvcnRfMF9mcm9tX21vZHVsZV8xOnIoOTAwNTksMyxcIkV4cG9ydF8wX2Zyb21fbW9kdWxlXzFfOTAwNTlcIixcIkV4cG9ydCAnezB9JyBmcm9tIG1vZHVsZSAnezF9J1wiKSxFeHBvcnRfYWxsX3JlZmVyZW5jZWRfbG9jYWxzOnIoOTAwNjAsMyxcIkV4cG9ydF9hbGxfcmVmZXJlbmNlZF9sb2NhbHNfOTAwNjBcIixcIkV4cG9ydCBhbGwgcmVmZXJlbmNlZCBsb2NhbHNcIiksVXBkYXRlX21vZGlmaWVyc19vZl8wOnIoOTAwNjEsMyxcIlVwZGF0ZV9tb2RpZmllcnNfb2ZfMF85MDA2MVwiLFwiVXBkYXRlIG1vZGlmaWVycyBvZiAnezB9J1wiKSxBZGRfYW5ub3RhdGlvbl9vZl90eXBlXzA6cig5MDA2MiwzLFwiQWRkX2Fubm90YXRpb25fb2ZfdHlwZV8wXzkwMDYyXCIsXCJBZGQgYW5ub3RhdGlvbiBvZiB0eXBlICd7MH0nXCIpLEFkZF9yZXR1cm5fdHlwZV8wOnIoOTAwNjMsMyxcIkFkZF9yZXR1cm5fdHlwZV8wXzkwMDYzXCIsXCJBZGQgcmV0dXJuIHR5cGUgJ3swfSdcIiksRXh0cmFjdF9iYXNlX2NsYXNzX3RvX3ZhcmlhYmxlOnIoOTAwNjQsMyxcIkV4dHJhY3RfYmFzZV9jbGFzc190b192YXJpYWJsZV85MDA2NFwiLFwiRXh0cmFjdCBiYXNlIGNsYXNzIHRvIHZhcmlhYmxlXCIpLEV4dHJhY3RfZGVmYXVsdF9leHBvcnRfdG9fdmFyaWFibGU6cig5MDA2NSwzLFwiRXh0cmFjdF9kZWZhdWx0X2V4cG9ydF90b192YXJpYWJsZV85MDA2NVwiLFwiRXh0cmFjdCBkZWZhdWx0IGV4cG9ydCB0byB2YXJpYWJsZVwiKSxFeHRyYWN0X2JpbmRpbmdfZXhwcmVzc2lvbnNfdG9fdmFyaWFibGU6cig5MDA2NiwzLFwiRXh0cmFjdF9iaW5kaW5nX2V4cHJlc3Npb25zX3RvX3ZhcmlhYmxlXzkwMDY2XCIsXCJFeHRyYWN0IGJpbmRpbmcgZXhwcmVzc2lvbnMgdG8gdmFyaWFibGVcIiksQWRkX2FsbF9taXNzaW5nX3R5cGVfYW5ub3RhdGlvbnM6cig5MDA2NywzLFwiQWRkX2FsbF9taXNzaW5nX3R5cGVfYW5ub3RhdGlvbnNfOTAwNjdcIixcIkFkZCBhbGwgbWlzc2luZyB0eXBlIGFubm90YXRpb25zXCIpLEFkZF9zYXRpc2ZpZXNfYW5kX2FuX2lubGluZV90eXBlX2Fzc2VydGlvbl93aXRoXzA6cig5MDA2OCwzLFwiQWRkX3NhdGlzZmllc19hbmRfYW5faW5saW5lX3R5cGVfYXNzZXJ0aW9uX3dpdGhfMF85MDA2OFwiLFwiQWRkIHNhdGlzZmllcyBhbmQgYW4gaW5saW5lIHR5cGUgYXNzZXJ0aW9uIHdpdGggJ3swfSdcIiksRXh0cmFjdF90b192YXJpYWJsZV9hbmRfcmVwbGFjZV93aXRoXzBfYXNfdHlwZW9mXzA6cig5MDA2OSwzLFwiRXh0cmFjdF90b192YXJpYWJsZV9hbmRfcmVwbGFjZV93aXRoXzBfYXNfdHlwZW9mXzBfOTAwNjlcIixcIkV4dHJhY3QgdG8gdmFyaWFibGUgYW5kIHJlcGxhY2Ugd2l0aCAnezB9IGFzIHR5cGVvZiB7MH0nXCIpLE1hcmtfYXJyYXlfbGl0ZXJhbF9hc19jb25zdDpyKDkwMDcwLDMsXCJNYXJrX2FycmF5X2xpdGVyYWxfYXNfY29uc3RfOTAwNzBcIixcIk1hcmsgYXJyYXkgbGl0ZXJhbCBhcyBjb25zdFwiKSxBbm5vdGF0ZV90eXBlc19vZl9wcm9wZXJ0aWVzX2V4cGFuZG9fZnVuY3Rpb25faW5fYV9uYW1lc3BhY2U6cig5MDA3MSwzLFwiQW5ub3RhdGVfdHlwZXNfb2ZfcHJvcGVydGllc19leHBhbmRvX2Z1bmN0aW9uX2luX2FfbmFtZXNwYWNlXzkwMDcxXCIsXCJBbm5vdGF0ZSB0eXBlcyBvZiBwcm9wZXJ0aWVzIGV4cGFuZG8gZnVuY3Rpb24gaW4gYSBuYW1lc3BhY2VcIiksQ29udmVydF9mdW5jdGlvbl90b19hbl9FUzIwMTVfY2xhc3M6cig5NTAwMSwzLFwiQ29udmVydF9mdW5jdGlvbl90b19hbl9FUzIwMTVfY2xhc3NfOTUwMDFcIixcIkNvbnZlcnQgZnVuY3Rpb24gdG8gYW4gRVMyMDE1IGNsYXNzXCIpLENvbnZlcnRfMF90b18xX2luXzA6cig5NTAwMywzLFwiQ29udmVydF8wX3RvXzFfaW5fMF85NTAwM1wiLFwiQ29udmVydCAnezB9JyB0byAnezF9IGluIHswfSdcIiksRXh0cmFjdF90b18wX2luXzE6cig5NTAwNCwzLFwiRXh0cmFjdF90b18wX2luXzFfOTUwMDRcIixcIkV4dHJhY3QgdG8gezB9IGluIHsxfVwiKSxFeHRyYWN0X2Z1bmN0aW9uOnIoOTUwMDUsMyxcIkV4dHJhY3RfZnVuY3Rpb25fOTUwMDVcIixcIkV4dHJhY3QgZnVuY3Rpb25cIiksRXh0cmFjdF9jb25zdGFudDpyKDk1MDA2LDMsXCJFeHRyYWN0X2NvbnN0YW50Xzk1MDA2XCIsXCJFeHRyYWN0IGNvbnN0YW50XCIpLEV4dHJhY3RfdG9fMF9pbl9lbmNsb3Npbmdfc2NvcGU6cig5NTAwNywzLFwiRXh0cmFjdF90b18wX2luX2VuY2xvc2luZ19zY29wZV85NTAwN1wiLFwiRXh0cmFjdCB0byB7MH0gaW4gZW5jbG9zaW5nIHNjb3BlXCIpLEV4dHJhY3RfdG9fMF9pbl8xX3Njb3BlOnIoOTUwMDgsMyxcIkV4dHJhY3RfdG9fMF9pbl8xX3Njb3BlXzk1MDA4XCIsXCJFeHRyYWN0IHRvIHswfSBpbiB7MX0gc2NvcGVcIiksQW5ub3RhdGVfd2l0aF90eXBlX2Zyb21fSlNEb2M6cig5NTAwOSwzLFwiQW5ub3RhdGVfd2l0aF90eXBlX2Zyb21fSlNEb2NfOTUwMDlcIixcIkFubm90YXRlIHdpdGggdHlwZSBmcm9tIEpTRG9jXCIpLEluZmVyX3R5cGVfb2ZfMF9mcm9tX3VzYWdlOnIoOTUwMTEsMyxcIkluZmVyX3R5cGVfb2ZfMF9mcm9tX3VzYWdlXzk1MDExXCIsXCJJbmZlciB0eXBlIG9mICd7MH0nIGZyb20gdXNhZ2VcIiksSW5mZXJfcGFyYW1ldGVyX3R5cGVzX2Zyb21fdXNhZ2U6cig5NTAxMiwzLFwiSW5mZXJfcGFyYW1ldGVyX3R5cGVzX2Zyb21fdXNhZ2VfOTUwMTJcIixcIkluZmVyIHBhcmFtZXRlciB0eXBlcyBmcm9tIHVzYWdlXCIpLENvbnZlcnRfdG9fZGVmYXVsdF9pbXBvcnQ6cig5NTAxMywzLFwiQ29udmVydF90b19kZWZhdWx0X2ltcG9ydF85NTAxM1wiLFwiQ29udmVydCB0byBkZWZhdWx0IGltcG9ydFwiKSxJbnN0YWxsXzA6cig5NTAxNCwzLFwiSW5zdGFsbF8wXzk1MDE0XCIsXCJJbnN0YWxsICd7MH0nXCIpLFJlcGxhY2VfaW1wb3J0X3dpdGhfMDpyKDk1MDE1LDMsXCJSZXBsYWNlX2ltcG9ydF93aXRoXzBfOTUwMTVcIixcIlJlcGxhY2UgaW1wb3J0IHdpdGggJ3swfScuXCIpLFVzZV9zeW50aGV0aWNfZGVmYXVsdF9tZW1iZXI6cig5NTAxNiwzLFwiVXNlX3N5bnRoZXRpY19kZWZhdWx0X21lbWJlcl85NTAxNlwiLFwiVXNlIHN5bnRoZXRpYyAnZGVmYXVsdCcgbWVtYmVyLlwiKSxDb252ZXJ0X3RvX0VTX21vZHVsZTpyKDk1MDE3LDMsXCJDb252ZXJ0X3RvX0VTX21vZHVsZV85NTAxN1wiLFwiQ29udmVydCB0byBFUyBtb2R1bGVcIiksQWRkX3VuZGVmaW5lZF90eXBlX3RvX3Byb3BlcnR5XzA6cig5NTAxOCwzLFwiQWRkX3VuZGVmaW5lZF90eXBlX3RvX3Byb3BlcnR5XzBfOTUwMThcIixcIkFkZCAndW5kZWZpbmVkJyB0eXBlIHRvIHByb3BlcnR5ICd7MH0nXCIpLEFkZF9pbml0aWFsaXplcl90b19wcm9wZXJ0eV8wOnIoOTUwMTksMyxcIkFkZF9pbml0aWFsaXplcl90b19wcm9wZXJ0eV8wXzk1MDE5XCIsXCJBZGQgaW5pdGlhbGl6ZXIgdG8gcHJvcGVydHkgJ3swfSdcIiksQWRkX2RlZmluaXRlX2Fzc2lnbm1lbnRfYXNzZXJ0aW9uX3RvX3Byb3BlcnR5XzA6cig5NTAyMCwzLFwiQWRkX2RlZmluaXRlX2Fzc2lnbm1lbnRfYXNzZXJ0aW9uX3RvX3Byb3BlcnR5XzBfOTUwMjBcIixcIkFkZCBkZWZpbml0ZSBhc3NpZ25tZW50IGFzc2VydGlvbiB0byBwcm9wZXJ0eSAnezB9J1wiKSxDb252ZXJ0X2FsbF90eXBlX2xpdGVyYWxzX3RvX21hcHBlZF90eXBlOnIoOTUwMjEsMyxcIkNvbnZlcnRfYWxsX3R5cGVfbGl0ZXJhbHNfdG9fbWFwcGVkX3R5cGVfOTUwMjFcIixcIkNvbnZlcnQgYWxsIHR5cGUgbGl0ZXJhbHMgdG8gbWFwcGVkIHR5cGVcIiksQWRkX2FsbF9taXNzaW5nX21lbWJlcnM6cig5NTAyMiwzLFwiQWRkX2FsbF9taXNzaW5nX21lbWJlcnNfOTUwMjJcIixcIkFkZCBhbGwgbWlzc2luZyBtZW1iZXJzXCIpLEluZmVyX2FsbF90eXBlc19mcm9tX3VzYWdlOnIoOTUwMjMsMyxcIkluZmVyX2FsbF90eXBlc19mcm9tX3VzYWdlXzk1MDIzXCIsXCJJbmZlciBhbGwgdHlwZXMgZnJvbSB1c2FnZVwiKSxEZWxldGVfYWxsX3VudXNlZF9kZWNsYXJhdGlvbnM6cig5NTAyNCwzLFwiRGVsZXRlX2FsbF91bnVzZWRfZGVjbGFyYXRpb25zXzk1MDI0XCIsXCJEZWxldGUgYWxsIHVudXNlZCBkZWNsYXJhdGlvbnNcIiksUHJlZml4X2FsbF91bnVzZWRfZGVjbGFyYXRpb25zX3dpdGhfd2hlcmVfcG9zc2libGU6cig5NTAyNSwzLFwiUHJlZml4X2FsbF91bnVzZWRfZGVjbGFyYXRpb25zX3dpdGhfd2hlcmVfcG9zc2libGVfOTUwMjVcIixcIlByZWZpeCBhbGwgdW51c2VkIGRlY2xhcmF0aW9ucyB3aXRoICdfJyB3aGVyZSBwb3NzaWJsZVwiKSxGaXhfYWxsX2RldGVjdGVkX3NwZWxsaW5nX2Vycm9yczpyKDk1MDI2LDMsXCJGaXhfYWxsX2RldGVjdGVkX3NwZWxsaW5nX2Vycm9yc185NTAyNlwiLFwiRml4IGFsbCBkZXRlY3RlZCBzcGVsbGluZyBlcnJvcnNcIiksQWRkX2luaXRpYWxpemVyc190b19hbGxfdW5pbml0aWFsaXplZF9wcm9wZXJ0aWVzOnIoOTUwMjcsMyxcIkFkZF9pbml0aWFsaXplcnNfdG9fYWxsX3VuaW5pdGlhbGl6ZWRfcHJvcGVydGllc185NTAyN1wiLFwiQWRkIGluaXRpYWxpemVycyB0byBhbGwgdW5pbml0aWFsaXplZCBwcm9wZXJ0aWVzXCIpLEFkZF9kZWZpbml0ZV9hc3NpZ25tZW50X2Fzc2VydGlvbnNfdG9fYWxsX3VuaW5pdGlhbGl6ZWRfcHJvcGVydGllczpyKDk1MDI4LDMsXCJBZGRfZGVmaW5pdGVfYXNzaWdubWVudF9hc3NlcnRpb25zX3RvX2FsbF91bmluaXRpYWxpemVkX3Byb3BlcnRpZXNfOTUwMjhcIixcIkFkZCBkZWZpbml0ZSBhc3NpZ25tZW50IGFzc2VydGlvbnMgdG8gYWxsIHVuaW5pdGlhbGl6ZWQgcHJvcGVydGllc1wiKSxBZGRfdW5kZWZpbmVkX3R5cGVfdG9fYWxsX3VuaW5pdGlhbGl6ZWRfcHJvcGVydGllczpyKDk1MDI5LDMsXCJBZGRfdW5kZWZpbmVkX3R5cGVfdG9fYWxsX3VuaW5pdGlhbGl6ZWRfcHJvcGVydGllc185NTAyOVwiLFwiQWRkIHVuZGVmaW5lZCB0eXBlIHRvIGFsbCB1bmluaXRpYWxpemVkIHByb3BlcnRpZXNcIiksQ2hhbmdlX2FsbF9qc2RvY19zdHlsZV90eXBlc190b19UeXBlU2NyaXB0OnIoOTUwMzAsMyxcIkNoYW5nZV9hbGxfanNkb2Nfc3R5bGVfdHlwZXNfdG9fVHlwZVNjcmlwdF85NTAzMFwiLFwiQ2hhbmdlIGFsbCBqc2RvYy1zdHlsZSB0eXBlcyB0byBUeXBlU2NyaXB0XCIpLENoYW5nZV9hbGxfanNkb2Nfc3R5bGVfdHlwZXNfdG9fVHlwZVNjcmlwdF9hbmRfYWRkX3VuZGVmaW5lZF90b19udWxsYWJsZV90eXBlczpyKDk1MDMxLDMsXCJDaGFuZ2VfYWxsX2pzZG9jX3N0eWxlX3R5cGVzX3RvX1R5cGVTY3JpcHRfYW5kX2FkZF91bmRlZmluZWRfdG9fbnVsbGFibGVfdHlwZXNfOTUwMzFcIixcIkNoYW5nZSBhbGwganNkb2Mtc3R5bGUgdHlwZXMgdG8gVHlwZVNjcmlwdCAoYW5kIGFkZCAnfCB1bmRlZmluZWQnIHRvIG51bGxhYmxlIHR5cGVzKVwiKSxJbXBsZW1lbnRfYWxsX3VuaW1wbGVtZW50ZWRfaW50ZXJmYWNlczpyKDk1MDMyLDMsXCJJbXBsZW1lbnRfYWxsX3VuaW1wbGVtZW50ZWRfaW50ZXJmYWNlc185NTAzMlwiLFwiSW1wbGVtZW50IGFsbCB1bmltcGxlbWVudGVkIGludGVyZmFjZXNcIiksSW5zdGFsbF9hbGxfbWlzc2luZ190eXBlc19wYWNrYWdlczpyKDk1MDMzLDMsXCJJbnN0YWxsX2FsbF9taXNzaW5nX3R5cGVzX3BhY2thZ2VzXzk1MDMzXCIsXCJJbnN0YWxsIGFsbCBtaXNzaW5nIHR5cGVzIHBhY2thZ2VzXCIpLFJld3JpdGVfYWxsX2FzX2luZGV4ZWRfYWNjZXNzX3R5cGVzOnIoOTUwMzQsMyxcIlJld3JpdGVfYWxsX2FzX2luZGV4ZWRfYWNjZXNzX3R5cGVzXzk1MDM0XCIsXCJSZXdyaXRlIGFsbCBhcyBpbmRleGVkIGFjY2VzcyB0eXBlc1wiKSxDb252ZXJ0X2FsbF90b19kZWZhdWx0X2ltcG9ydHM6cig5NTAzNSwzLFwiQ29udmVydF9hbGxfdG9fZGVmYXVsdF9pbXBvcnRzXzk1MDM1XCIsXCJDb252ZXJ0IGFsbCB0byBkZWZhdWx0IGltcG9ydHNcIiksTWFrZV9hbGxfc3VwZXJfY2FsbHNfdGhlX2ZpcnN0X3N0YXRlbWVudF9pbl90aGVpcl9jb25zdHJ1Y3RvcjpyKDk1MDM2LDMsXCJNYWtlX2FsbF9zdXBlcl9jYWxsc190aGVfZmlyc3Rfc3RhdGVtZW50X2luX3RoZWlyX2NvbnN0cnVjdG9yXzk1MDM2XCIsXCJNYWtlIGFsbCAnc3VwZXIoKScgY2FsbHMgdGhlIGZpcnN0IHN0YXRlbWVudCBpbiB0aGVpciBjb25zdHJ1Y3RvclwiKSxBZGRfcXVhbGlmaWVyX3RvX2FsbF91bnJlc29sdmVkX3ZhcmlhYmxlc19tYXRjaGluZ19hX21lbWJlcl9uYW1lOnIoOTUwMzcsMyxcIkFkZF9xdWFsaWZpZXJfdG9fYWxsX3VucmVzb2x2ZWRfdmFyaWFibGVzX21hdGNoaW5nX2FfbWVtYmVyX25hbWVfOTUwMzdcIixcIkFkZCBxdWFsaWZpZXIgdG8gYWxsIHVucmVzb2x2ZWQgdmFyaWFibGVzIG1hdGNoaW5nIGEgbWVtYmVyIG5hbWVcIiksQ2hhbmdlX2FsbF9leHRlbmRlZF9pbnRlcmZhY2VzX3RvX2ltcGxlbWVudHM6cig5NTAzOCwzLFwiQ2hhbmdlX2FsbF9leHRlbmRlZF9pbnRlcmZhY2VzX3RvX2ltcGxlbWVudHNfOTUwMzhcIixcIkNoYW5nZSBhbGwgZXh0ZW5kZWQgaW50ZXJmYWNlcyB0byAnaW1wbGVtZW50cydcIiksQWRkX2FsbF9taXNzaW5nX3N1cGVyX2NhbGxzOnIoOTUwMzksMyxcIkFkZF9hbGxfbWlzc2luZ19zdXBlcl9jYWxsc185NTAzOVwiLFwiQWRkIGFsbCBtaXNzaW5nIHN1cGVyIGNhbGxzXCIpLEltcGxlbWVudF9hbGxfaW5oZXJpdGVkX2Fic3RyYWN0X2NsYXNzZXM6cig5NTA0MCwzLFwiSW1wbGVtZW50X2FsbF9pbmhlcml0ZWRfYWJzdHJhY3RfY2xhc3Nlc185NTA0MFwiLFwiSW1wbGVtZW50IGFsbCBpbmhlcml0ZWQgYWJzdHJhY3QgY2xhc3Nlc1wiKSxBZGRfYWxsX21pc3NpbmdfYXN5bmNfbW9kaWZpZXJzOnIoOTUwNDEsMyxcIkFkZF9hbGxfbWlzc2luZ19hc3luY19tb2RpZmllcnNfOTUwNDFcIixcIkFkZCBhbGwgbWlzc2luZyAnYXN5bmMnIG1vZGlmaWVyc1wiKSxBZGRfdHNfaWdub3JlX3RvX2FsbF9lcnJvcl9tZXNzYWdlczpyKDk1MDQyLDMsXCJBZGRfdHNfaWdub3JlX3RvX2FsbF9lcnJvcl9tZXNzYWdlc185NTA0MlwiLFwiQWRkICdAdHMtaWdub3JlJyB0byBhbGwgZXJyb3IgbWVzc2FnZXNcIiksQW5ub3RhdGVfZXZlcnl0aGluZ193aXRoX3R5cGVzX2Zyb21fSlNEb2M6cig5NTA0MywzLFwiQW5ub3RhdGVfZXZlcnl0aGluZ193aXRoX3R5cGVzX2Zyb21fSlNEb2NfOTUwNDNcIixcIkFubm90YXRlIGV2ZXJ5dGhpbmcgd2l0aCB0eXBlcyBmcm9tIEpTRG9jXCIpLEFkZF90b19hbGxfdW5jYWxsZWRfZGVjb3JhdG9yczpyKDk1MDQ0LDMsXCJBZGRfdG9fYWxsX3VuY2FsbGVkX2RlY29yYXRvcnNfOTUwNDRcIixcIkFkZCAnKCknIHRvIGFsbCB1bmNhbGxlZCBkZWNvcmF0b3JzXCIpLENvbnZlcnRfYWxsX2NvbnN0cnVjdG9yX2Z1bmN0aW9uc190b19jbGFzc2VzOnIoOTUwNDUsMyxcIkNvbnZlcnRfYWxsX2NvbnN0cnVjdG9yX2Z1bmN0aW9uc190b19jbGFzc2VzXzk1MDQ1XCIsXCJDb252ZXJ0IGFsbCBjb25zdHJ1Y3RvciBmdW5jdGlvbnMgdG8gY2xhc3Nlc1wiKSxHZW5lcmF0ZV9nZXRfYW5kX3NldF9hY2Nlc3NvcnM6cig5NTA0NiwzLFwiR2VuZXJhdGVfZ2V0X2FuZF9zZXRfYWNjZXNzb3JzXzk1MDQ2XCIsXCJHZW5lcmF0ZSAnZ2V0JyBhbmQgJ3NldCcgYWNjZXNzb3JzXCIpLENvbnZlcnRfcmVxdWlyZV90b19pbXBvcnQ6cig5NTA0NywzLFwiQ29udmVydF9yZXF1aXJlX3RvX2ltcG9ydF85NTA0N1wiLFwiQ29udmVydCAncmVxdWlyZScgdG8gJ2ltcG9ydCdcIiksQ29udmVydF9hbGxfcmVxdWlyZV90b19pbXBvcnQ6cig5NTA0OCwzLFwiQ29udmVydF9hbGxfcmVxdWlyZV90b19pbXBvcnRfOTUwNDhcIixcIkNvbnZlcnQgYWxsICdyZXF1aXJlJyB0byAnaW1wb3J0J1wiKSxNb3ZlX3RvX2FfbmV3X2ZpbGU6cig5NTA0OSwzLFwiTW92ZV90b19hX25ld19maWxlXzk1MDQ5XCIsXCJNb3ZlIHRvIGEgbmV3IGZpbGVcIiksUmVtb3ZlX3VucmVhY2hhYmxlX2NvZGU6cig5NTA1MCwzLFwiUmVtb3ZlX3VucmVhY2hhYmxlX2NvZGVfOTUwNTBcIixcIlJlbW92ZSB1bnJlYWNoYWJsZSBjb2RlXCIpLFJlbW92ZV9hbGxfdW5yZWFjaGFibGVfY29kZTpyKDk1MDUxLDMsXCJSZW1vdmVfYWxsX3VucmVhY2hhYmxlX2NvZGVfOTUwNTFcIixcIlJlbW92ZSBhbGwgdW5yZWFjaGFibGUgY29kZVwiKSxBZGRfbWlzc2luZ190eXBlb2Y6cig5NTA1MiwzLFwiQWRkX21pc3NpbmdfdHlwZW9mXzk1MDUyXCIsXCJBZGQgbWlzc2luZyAndHlwZW9mJ1wiKSxSZW1vdmVfdW51c2VkX2xhYmVsOnIoOTUwNTMsMyxcIlJlbW92ZV91bnVzZWRfbGFiZWxfOTUwNTNcIixcIlJlbW92ZSB1bnVzZWQgbGFiZWxcIiksUmVtb3ZlX2FsbF91bnVzZWRfbGFiZWxzOnIoOTUwNTQsMyxcIlJlbW92ZV9hbGxfdW51c2VkX2xhYmVsc185NTA1NFwiLFwiUmVtb3ZlIGFsbCB1bnVzZWQgbGFiZWxzXCIpLENvbnZlcnRfMF90b19tYXBwZWRfb2JqZWN0X3R5cGU6cig5NTA1NSwzLFwiQ29udmVydF8wX3RvX21hcHBlZF9vYmplY3RfdHlwZV85NTA1NVwiLFwiQ29udmVydCAnezB9JyB0byBtYXBwZWQgb2JqZWN0IHR5cGVcIiksQ29udmVydF9uYW1lc3BhY2VfaW1wb3J0X3RvX25hbWVkX2ltcG9ydHM6cig5NTA1NiwzLFwiQ29udmVydF9uYW1lc3BhY2VfaW1wb3J0X3RvX25hbWVkX2ltcG9ydHNfOTUwNTZcIixcIkNvbnZlcnQgbmFtZXNwYWNlIGltcG9ydCB0byBuYW1lZCBpbXBvcnRzXCIpLENvbnZlcnRfbmFtZWRfaW1wb3J0c190b19uYW1lc3BhY2VfaW1wb3J0OnIoOTUwNTcsMyxcIkNvbnZlcnRfbmFtZWRfaW1wb3J0c190b19uYW1lc3BhY2VfaW1wb3J0Xzk1MDU3XCIsXCJDb252ZXJ0IG5hbWVkIGltcG9ydHMgdG8gbmFtZXNwYWNlIGltcG9ydFwiKSxBZGRfb3JfcmVtb3ZlX2JyYWNlc19pbl9hbl9hcnJvd19mdW5jdGlvbjpyKDk1MDU4LDMsXCJBZGRfb3JfcmVtb3ZlX2JyYWNlc19pbl9hbl9hcnJvd19mdW5jdGlvbl85NTA1OFwiLFwiQWRkIG9yIHJlbW92ZSBicmFjZXMgaW4gYW4gYXJyb3cgZnVuY3Rpb25cIiksQWRkX2JyYWNlc190b19hcnJvd19mdW5jdGlvbjpyKDk1MDU5LDMsXCJBZGRfYnJhY2VzX3RvX2Fycm93X2Z1bmN0aW9uXzk1MDU5XCIsXCJBZGQgYnJhY2VzIHRvIGFycm93IGZ1bmN0aW9uXCIpLFJlbW92ZV9icmFjZXNfZnJvbV9hcnJvd19mdW5jdGlvbjpyKDk1MDYwLDMsXCJSZW1vdmVfYnJhY2VzX2Zyb21fYXJyb3dfZnVuY3Rpb25fOTUwNjBcIixcIlJlbW92ZSBicmFjZXMgZnJvbSBhcnJvdyBmdW5jdGlvblwiKSxDb252ZXJ0X2RlZmF1bHRfZXhwb3J0X3RvX25hbWVkX2V4cG9ydDpyKDk1MDYxLDMsXCJDb252ZXJ0X2RlZmF1bHRfZXhwb3J0X3RvX25hbWVkX2V4cG9ydF85NTA2MVwiLFwiQ29udmVydCBkZWZhdWx0IGV4cG9ydCB0byBuYW1lZCBleHBvcnRcIiksQ29udmVydF9uYW1lZF9leHBvcnRfdG9fZGVmYXVsdF9leHBvcnQ6cig5NTA2MiwzLFwiQ29udmVydF9uYW1lZF9leHBvcnRfdG9fZGVmYXVsdF9leHBvcnRfOTUwNjJcIixcIkNvbnZlcnQgbmFtZWQgZXhwb3J0IHRvIGRlZmF1bHQgZXhwb3J0XCIpLEFkZF9taXNzaW5nX2VudW1fbWVtYmVyXzA6cig5NTA2MywzLFwiQWRkX21pc3NpbmdfZW51bV9tZW1iZXJfMF85NTA2M1wiLFwiQWRkIG1pc3NpbmcgZW51bSBtZW1iZXIgJ3swfSdcIiksQWRkX2FsbF9taXNzaW5nX2ltcG9ydHM6cig5NTA2NCwzLFwiQWRkX2FsbF9taXNzaW5nX2ltcG9ydHNfOTUwNjRcIixcIkFkZCBhbGwgbWlzc2luZyBpbXBvcnRzXCIpLENvbnZlcnRfdG9fYXN5bmNfZnVuY3Rpb246cig5NTA2NSwzLFwiQ29udmVydF90b19hc3luY19mdW5jdGlvbl85NTA2NVwiLFwiQ29udmVydCB0byBhc3luYyBmdW5jdGlvblwiKSxDb252ZXJ0X2FsbF90b19hc3luY19mdW5jdGlvbnM6cig5NTA2NiwzLFwiQ29udmVydF9hbGxfdG9fYXN5bmNfZnVuY3Rpb25zXzk1MDY2XCIsXCJDb252ZXJ0IGFsbCB0byBhc3luYyBmdW5jdGlvbnNcIiksQWRkX21pc3NpbmdfY2FsbF9wYXJlbnRoZXNlczpyKDk1MDY3LDMsXCJBZGRfbWlzc2luZ19jYWxsX3BhcmVudGhlc2VzXzk1MDY3XCIsXCJBZGQgbWlzc2luZyBjYWxsIHBhcmVudGhlc2VzXCIpLEFkZF9hbGxfbWlzc2luZ19jYWxsX3BhcmVudGhlc2VzOnIoOTUwNjgsMyxcIkFkZF9hbGxfbWlzc2luZ19jYWxsX3BhcmVudGhlc2VzXzk1MDY4XCIsXCJBZGQgYWxsIG1pc3NpbmcgY2FsbCBwYXJlbnRoZXNlc1wiKSxBZGRfdW5rbm93bl9jb252ZXJzaW9uX2Zvcl9ub25fb3ZlcmxhcHBpbmdfdHlwZXM6cig5NTA2OSwzLFwiQWRkX3Vua25vd25fY29udmVyc2lvbl9mb3Jfbm9uX292ZXJsYXBwaW5nX3R5cGVzXzk1MDY5XCIsXCJBZGQgJ3Vua25vd24nIGNvbnZlcnNpb24gZm9yIG5vbi1vdmVybGFwcGluZyB0eXBlc1wiKSxBZGRfdW5rbm93bl90b19hbGxfY29udmVyc2lvbnNfb2Zfbm9uX292ZXJsYXBwaW5nX3R5cGVzOnIoOTUwNzAsMyxcIkFkZF91bmtub3duX3RvX2FsbF9jb252ZXJzaW9uc19vZl9ub25fb3ZlcmxhcHBpbmdfdHlwZXNfOTUwNzBcIixcIkFkZCAndW5rbm93bicgdG8gYWxsIGNvbnZlcnNpb25zIG9mIG5vbi1vdmVybGFwcGluZyB0eXBlc1wiKSxBZGRfbWlzc2luZ19uZXdfb3BlcmF0b3JfdG9fY2FsbDpyKDk1MDcxLDMsXCJBZGRfbWlzc2luZ19uZXdfb3BlcmF0b3JfdG9fY2FsbF85NTA3MVwiLFwiQWRkIG1pc3NpbmcgJ25ldycgb3BlcmF0b3IgdG8gY2FsbFwiKSxBZGRfbWlzc2luZ19uZXdfb3BlcmF0b3JfdG9fYWxsX2NhbGxzOnIoOTUwNzIsMyxcIkFkZF9taXNzaW5nX25ld19vcGVyYXRvcl90b19hbGxfY2FsbHNfOTUwNzJcIixcIkFkZCBtaXNzaW5nICduZXcnIG9wZXJhdG9yIHRvIGFsbCBjYWxsc1wiKSxBZGRfbmFtZXNfdG9fYWxsX3BhcmFtZXRlcnNfd2l0aG91dF9uYW1lczpyKDk1MDczLDMsXCJBZGRfbmFtZXNfdG9fYWxsX3BhcmFtZXRlcnNfd2l0aG91dF9uYW1lc185NTA3M1wiLFwiQWRkIG5hbWVzIHRvIGFsbCBwYXJhbWV0ZXJzIHdpdGhvdXQgbmFtZXNcIiksRW5hYmxlX3RoZV9leHBlcmltZW50YWxEZWNvcmF0b3JzX29wdGlvbl9pbl95b3VyX2NvbmZpZ3VyYXRpb25fZmlsZTpyKDk1MDc0LDMsXCJFbmFibGVfdGhlX2V4cGVyaW1lbnRhbERlY29yYXRvcnNfb3B0aW9uX2luX3lvdXJfY29uZmlndXJhdGlvbl9maWxlXzk1MDc0XCIsXCJFbmFibGUgdGhlICdleHBlcmltZW50YWxEZWNvcmF0b3JzJyBvcHRpb24gaW4geW91ciBjb25maWd1cmF0aW9uIGZpbGVcIiksQ29udmVydF9wYXJhbWV0ZXJzX3RvX2Rlc3RydWN0dXJlZF9vYmplY3Q6cig5NTA3NSwzLFwiQ29udmVydF9wYXJhbWV0ZXJzX3RvX2Rlc3RydWN0dXJlZF9vYmplY3RfOTUwNzVcIixcIkNvbnZlcnQgcGFyYW1ldGVycyB0byBkZXN0cnVjdHVyZWQgb2JqZWN0XCIpLEV4dHJhY3RfdHlwZTpyKDk1MDc3LDMsXCJFeHRyYWN0X3R5cGVfOTUwNzdcIixcIkV4dHJhY3QgdHlwZVwiKSxFeHRyYWN0X3RvX3R5cGVfYWxpYXM6cig5NTA3OCwzLFwiRXh0cmFjdF90b190eXBlX2FsaWFzXzk1MDc4XCIsXCJFeHRyYWN0IHRvIHR5cGUgYWxpYXNcIiksRXh0cmFjdF90b190eXBlZGVmOnIoOTUwNzksMyxcIkV4dHJhY3RfdG9fdHlwZWRlZl85NTA3OVwiLFwiRXh0cmFjdCB0byB0eXBlZGVmXCIpLEluZmVyX3RoaXNfdHlwZV9vZl8wX2Zyb21fdXNhZ2U6cig5NTA4MCwzLFwiSW5mZXJfdGhpc190eXBlX29mXzBfZnJvbV91c2FnZV85NTA4MFwiLFwiSW5mZXIgJ3RoaXMnIHR5cGUgb2YgJ3swfScgZnJvbSB1c2FnZVwiKSxBZGRfY29uc3RfdG9fdW5yZXNvbHZlZF92YXJpYWJsZTpyKDk1MDgxLDMsXCJBZGRfY29uc3RfdG9fdW5yZXNvbHZlZF92YXJpYWJsZV85NTA4MVwiLFwiQWRkICdjb25zdCcgdG8gdW5yZXNvbHZlZCB2YXJpYWJsZVwiKSxBZGRfY29uc3RfdG9fYWxsX3VucmVzb2x2ZWRfdmFyaWFibGVzOnIoOTUwODIsMyxcIkFkZF9jb25zdF90b19hbGxfdW5yZXNvbHZlZF92YXJpYWJsZXNfOTUwODJcIixcIkFkZCAnY29uc3QnIHRvIGFsbCB1bnJlc29sdmVkIHZhcmlhYmxlc1wiKSxBZGRfYXdhaXQ6cig5NTA4MywzLFwiQWRkX2F3YWl0Xzk1MDgzXCIsXCJBZGQgJ2F3YWl0J1wiKSxBZGRfYXdhaXRfdG9faW5pdGlhbGl6ZXJfZm9yXzA6cig5NTA4NCwzLFwiQWRkX2F3YWl0X3RvX2luaXRpYWxpemVyX2Zvcl8wXzk1MDg0XCIsXCJBZGQgJ2F3YWl0JyB0byBpbml0aWFsaXplciBmb3IgJ3swfSdcIiksRml4X2FsbF9leHByZXNzaW9uc19wb3NzaWJseV9taXNzaW5nX2F3YWl0OnIoOTUwODUsMyxcIkZpeF9hbGxfZXhwcmVzc2lvbnNfcG9zc2libHlfbWlzc2luZ19hd2FpdF85NTA4NVwiLFwiRml4IGFsbCBleHByZXNzaW9ucyBwb3NzaWJseSBtaXNzaW5nICdhd2FpdCdcIiksUmVtb3ZlX3VubmVjZXNzYXJ5X2F3YWl0OnIoOTUwODYsMyxcIlJlbW92ZV91bm5lY2Vzc2FyeV9hd2FpdF85NTA4NlwiLFwiUmVtb3ZlIHVubmVjZXNzYXJ5ICdhd2FpdCdcIiksUmVtb3ZlX2FsbF91bm5lY2Vzc2FyeV91c2VzX29mX2F3YWl0OnIoOTUwODcsMyxcIlJlbW92ZV9hbGxfdW5uZWNlc3NhcnlfdXNlc19vZl9hd2FpdF85NTA4N1wiLFwiUmVtb3ZlIGFsbCB1bm5lY2Vzc2FyeSB1c2VzIG9mICdhd2FpdCdcIiksRW5hYmxlX3RoZV9qc3hfZmxhZ19pbl95b3VyX2NvbmZpZ3VyYXRpb25fZmlsZTpyKDk1MDg4LDMsXCJFbmFibGVfdGhlX2pzeF9mbGFnX2luX3lvdXJfY29uZmlndXJhdGlvbl9maWxlXzk1MDg4XCIsXCJFbmFibGUgdGhlICctLWpzeCcgZmxhZyBpbiB5b3VyIGNvbmZpZ3VyYXRpb24gZmlsZVwiKSxBZGRfYXdhaXRfdG9faW5pdGlhbGl6ZXJzOnIoOTUwODksMyxcIkFkZF9hd2FpdF90b19pbml0aWFsaXplcnNfOTUwODlcIixcIkFkZCAnYXdhaXQnIHRvIGluaXRpYWxpemVyc1wiKSxFeHRyYWN0X3RvX2ludGVyZmFjZTpyKDk1MDkwLDMsXCJFeHRyYWN0X3RvX2ludGVyZmFjZV85NTA5MFwiLFwiRXh0cmFjdCB0byBpbnRlcmZhY2VcIiksQ29udmVydF90b19hX2JpZ2ludF9udW1lcmljX2xpdGVyYWw6cig5NTA5MSwzLFwiQ29udmVydF90b19hX2JpZ2ludF9udW1lcmljX2xpdGVyYWxfOTUwOTFcIixcIkNvbnZlcnQgdG8gYSBiaWdpbnQgbnVtZXJpYyBsaXRlcmFsXCIpLENvbnZlcnRfYWxsX3RvX2JpZ2ludF9udW1lcmljX2xpdGVyYWxzOnIoOTUwOTIsMyxcIkNvbnZlcnRfYWxsX3RvX2JpZ2ludF9udW1lcmljX2xpdGVyYWxzXzk1MDkyXCIsXCJDb252ZXJ0IGFsbCB0byBiaWdpbnQgbnVtZXJpYyBsaXRlcmFsc1wiKSxDb252ZXJ0X2NvbnN0X3RvX2xldDpyKDk1MDkzLDMsXCJDb252ZXJ0X2NvbnN0X3RvX2xldF85NTA5M1wiLFwiQ29udmVydCAnY29uc3QnIHRvICdsZXQnXCIpLFByZWZpeF93aXRoX2RlY2xhcmU6cig5NTA5NCwzLFwiUHJlZml4X3dpdGhfZGVjbGFyZV85NTA5NFwiLFwiUHJlZml4IHdpdGggJ2RlY2xhcmUnXCIpLFByZWZpeF9hbGxfaW5jb3JyZWN0X3Byb3BlcnR5X2RlY2xhcmF0aW9uc193aXRoX2RlY2xhcmU6cig5NTA5NSwzLFwiUHJlZml4X2FsbF9pbmNvcnJlY3RfcHJvcGVydHlfZGVjbGFyYXRpb25zX3dpdGhfZGVjbGFyZV85NTA5NVwiLFwiUHJlZml4IGFsbCBpbmNvcnJlY3QgcHJvcGVydHkgZGVjbGFyYXRpb25zIHdpdGggJ2RlY2xhcmUnXCIpLENvbnZlcnRfdG9fdGVtcGxhdGVfc3RyaW5nOnIoOTUwOTYsMyxcIkNvbnZlcnRfdG9fdGVtcGxhdGVfc3RyaW5nXzk1MDk2XCIsXCJDb252ZXJ0IHRvIHRlbXBsYXRlIHN0cmluZ1wiKSxBZGRfZXhwb3J0X3RvX21ha2VfdGhpc19maWxlX2ludG9fYV9tb2R1bGU6cig5NTA5NywzLFwiQWRkX2V4cG9ydF90b19tYWtlX3RoaXNfZmlsZV9pbnRvX2FfbW9kdWxlXzk1MDk3XCIsXCJBZGQgJ2V4cG9ydCB7fScgdG8gbWFrZSB0aGlzIGZpbGUgaW50byBhIG1vZHVsZVwiKSxTZXRfdGhlX3RhcmdldF9vcHRpb25faW5feW91cl9jb25maWd1cmF0aW9uX2ZpbGVfdG9fMDpyKDk1MDk4LDMsXCJTZXRfdGhlX3RhcmdldF9vcHRpb25faW5feW91cl9jb25maWd1cmF0aW9uX2ZpbGVfdG9fMF85NTA5OFwiLFwiU2V0IHRoZSAndGFyZ2V0JyBvcHRpb24gaW4geW91ciBjb25maWd1cmF0aW9uIGZpbGUgdG8gJ3swfSdcIiksU2V0X3RoZV9tb2R1bGVfb3B0aW9uX2luX3lvdXJfY29uZmlndXJhdGlvbl9maWxlX3RvXzA6cig5NTA5OSwzLFwiU2V0X3RoZV9tb2R1bGVfb3B0aW9uX2luX3lvdXJfY29uZmlndXJhdGlvbl9maWxlX3RvXzBfOTUwOTlcIixcIlNldCB0aGUgJ21vZHVsZScgb3B0aW9uIGluIHlvdXIgY29uZmlndXJhdGlvbiBmaWxlIHRvICd7MH0nXCIpLENvbnZlcnRfaW52YWxpZF9jaGFyYWN0ZXJfdG9faXRzX2h0bWxfZW50aXR5X2NvZGU6cig5NTEwMCwzLFwiQ29udmVydF9pbnZhbGlkX2NoYXJhY3Rlcl90b19pdHNfaHRtbF9lbnRpdHlfY29kZV85NTEwMFwiLFwiQ29udmVydCBpbnZhbGlkIGNoYXJhY3RlciB0byBpdHMgaHRtbCBlbnRpdHkgY29kZVwiKSxDb252ZXJ0X2FsbF9pbnZhbGlkX2NoYXJhY3RlcnNfdG9fSFRNTF9lbnRpdHlfY29kZTpyKDk1MTAxLDMsXCJDb252ZXJ0X2FsbF9pbnZhbGlkX2NoYXJhY3RlcnNfdG9fSFRNTF9lbnRpdHlfY29kZV85NTEwMVwiLFwiQ29udmVydCBhbGwgaW52YWxpZCBjaGFyYWN0ZXJzIHRvIEhUTUwgZW50aXR5IGNvZGVcIiksQ29udmVydF9hbGxfY29uc3RfdG9fbGV0OnIoOTUxMDIsMyxcIkNvbnZlcnRfYWxsX2NvbnN0X3RvX2xldF85NTEwMlwiLFwiQ29udmVydCBhbGwgJ2NvbnN0JyB0byAnbGV0J1wiKSxDb252ZXJ0X2Z1bmN0aW9uX2V4cHJlc3Npb25fMF90b19hcnJvd19mdW5jdGlvbjpyKDk1MTA1LDMsXCJDb252ZXJ0X2Z1bmN0aW9uX2V4cHJlc3Npb25fMF90b19hcnJvd19mdW5jdGlvbl85NTEwNVwiLFwiQ29udmVydCBmdW5jdGlvbiBleHByZXNzaW9uICd7MH0nIHRvIGFycm93IGZ1bmN0aW9uXCIpLENvbnZlcnRfZnVuY3Rpb25fZGVjbGFyYXRpb25fMF90b19hcnJvd19mdW5jdGlvbjpyKDk1MTA2LDMsXCJDb252ZXJ0X2Z1bmN0aW9uX2RlY2xhcmF0aW9uXzBfdG9fYXJyb3dfZnVuY3Rpb25fOTUxMDZcIixcIkNvbnZlcnQgZnVuY3Rpb24gZGVjbGFyYXRpb24gJ3swfScgdG8gYXJyb3cgZnVuY3Rpb25cIiksRml4X2FsbF9pbXBsaWNpdF90aGlzX2Vycm9yczpyKDk1MTA3LDMsXCJGaXhfYWxsX2ltcGxpY2l0X3RoaXNfZXJyb3JzXzk1MTA3XCIsXCJGaXggYWxsIGltcGxpY2l0LSd0aGlzJyBlcnJvcnNcIiksV3JhcF9pbnZhbGlkX2NoYXJhY3Rlcl9pbl9hbl9leHByZXNzaW9uX2NvbnRhaW5lcjpyKDk1MTA4LDMsXCJXcmFwX2ludmFsaWRfY2hhcmFjdGVyX2luX2FuX2V4cHJlc3Npb25fY29udGFpbmVyXzk1MTA4XCIsXCJXcmFwIGludmFsaWQgY2hhcmFjdGVyIGluIGFuIGV4cHJlc3Npb24gY29udGFpbmVyXCIpLFdyYXBfYWxsX2ludmFsaWRfY2hhcmFjdGVyc19pbl9hbl9leHByZXNzaW9uX2NvbnRhaW5lcjpyKDk1MTA5LDMsXCJXcmFwX2FsbF9pbnZhbGlkX2NoYXJhY3RlcnNfaW5fYW5fZXhwcmVzc2lvbl9jb250YWluZXJfOTUxMDlcIixcIldyYXAgYWxsIGludmFsaWQgY2hhcmFjdGVycyBpbiBhbiBleHByZXNzaW9uIGNvbnRhaW5lclwiKSxWaXNpdF9odHRwc19Db2xvbl9TbGFzaF9TbGFzaGFrYV9tc19TbGFzaHRzY29uZmlnX3RvX3JlYWRfbW9yZV9hYm91dF90aGlzX2ZpbGU6cig5NTExMCwzLFwiVmlzaXRfaHR0cHNfQ29sb25fU2xhc2hfU2xhc2hha2FfbXNfU2xhc2h0c2NvbmZpZ190b19yZWFkX21vcmVfYWJvdXRfdGhpc19maWxlXzk1MTEwXCIsXCJWaXNpdCBodHRwczovL2FrYS5tcy90c2NvbmZpZyB0byByZWFkIG1vcmUgYWJvdXQgdGhpcyBmaWxlXCIpLEFkZF9hX3JldHVybl9zdGF0ZW1lbnQ6cig5NTExMSwzLFwiQWRkX2FfcmV0dXJuX3N0YXRlbWVudF85NTExMVwiLFwiQWRkIGEgcmV0dXJuIHN0YXRlbWVudFwiKSxSZW1vdmVfYnJhY2VzX2Zyb21fYXJyb3dfZnVuY3Rpb25fYm9keTpyKDk1MTEyLDMsXCJSZW1vdmVfYnJhY2VzX2Zyb21fYXJyb3dfZnVuY3Rpb25fYm9keV85NTExMlwiLFwiUmVtb3ZlIGJyYWNlcyBmcm9tIGFycm93IGZ1bmN0aW9uIGJvZHlcIiksV3JhcF90aGVfZm9sbG93aW5nX2JvZHlfd2l0aF9wYXJlbnRoZXNlc193aGljaF9zaG91bGRfYmVfYW5fb2JqZWN0X2xpdGVyYWw6cig5NTExMywzLFwiV3JhcF90aGVfZm9sbG93aW5nX2JvZHlfd2l0aF9wYXJlbnRoZXNlc193aGljaF9zaG91bGRfYmVfYW5fb2JqZWN0X2xpdGVyYWxfOTUxMTNcIixcIldyYXAgdGhlIGZvbGxvd2luZyBib2R5IHdpdGggcGFyZW50aGVzZXMgd2hpY2ggc2hvdWxkIGJlIGFuIG9iamVjdCBsaXRlcmFsXCIpLEFkZF9hbGxfbWlzc2luZ19yZXR1cm5fc3RhdGVtZW50OnIoOTUxMTQsMyxcIkFkZF9hbGxfbWlzc2luZ19yZXR1cm5fc3RhdGVtZW50Xzk1MTE0XCIsXCJBZGQgYWxsIG1pc3NpbmcgcmV0dXJuIHN0YXRlbWVudFwiKSxSZW1vdmVfYnJhY2VzX2Zyb21fYWxsX2Fycm93X2Z1bmN0aW9uX2JvZGllc193aXRoX3JlbGV2YW50X2lzc3VlczpyKDk1MTE1LDMsXCJSZW1vdmVfYnJhY2VzX2Zyb21fYWxsX2Fycm93X2Z1bmN0aW9uX2JvZGllc193aXRoX3JlbGV2YW50X2lzc3Vlc185NTExNVwiLFwiUmVtb3ZlIGJyYWNlcyBmcm9tIGFsbCBhcnJvdyBmdW5jdGlvbiBib2RpZXMgd2l0aCByZWxldmFudCBpc3N1ZXNcIiksV3JhcF9hbGxfb2JqZWN0X2xpdGVyYWxfd2l0aF9wYXJlbnRoZXNlczpyKDk1MTE2LDMsXCJXcmFwX2FsbF9vYmplY3RfbGl0ZXJhbF93aXRoX3BhcmVudGhlc2VzXzk1MTE2XCIsXCJXcmFwIGFsbCBvYmplY3QgbGl0ZXJhbCB3aXRoIHBhcmVudGhlc2VzXCIpLE1vdmVfbGFiZWxlZF90dXBsZV9lbGVtZW50X21vZGlmaWVyc190b19sYWJlbHM6cig5NTExNywzLFwiTW92ZV9sYWJlbGVkX3R1cGxlX2VsZW1lbnRfbW9kaWZpZXJzX3RvX2xhYmVsc185NTExN1wiLFwiTW92ZSBsYWJlbGVkIHR1cGxlIGVsZW1lbnQgbW9kaWZpZXJzIHRvIGxhYmVsc1wiKSxDb252ZXJ0X292ZXJsb2FkX2xpc3RfdG9fc2luZ2xlX3NpZ25hdHVyZTpyKDk1MTE4LDMsXCJDb252ZXJ0X292ZXJsb2FkX2xpc3RfdG9fc2luZ2xlX3NpZ25hdHVyZV85NTExOFwiLFwiQ29udmVydCBvdmVybG9hZCBsaXN0IHRvIHNpbmdsZSBzaWduYXR1cmVcIiksR2VuZXJhdGVfZ2V0X2FuZF9zZXRfYWNjZXNzb3JzX2Zvcl9hbGxfb3ZlcnJpZGluZ19wcm9wZXJ0aWVzOnIoOTUxMTksMyxcIkdlbmVyYXRlX2dldF9hbmRfc2V0X2FjY2Vzc29yc19mb3JfYWxsX292ZXJyaWRpbmdfcHJvcGVydGllc185NTExOVwiLFwiR2VuZXJhdGUgJ2dldCcgYW5kICdzZXQnIGFjY2Vzc29ycyBmb3IgYWxsIG92ZXJyaWRpbmcgcHJvcGVydGllc1wiKSxXcmFwX2luX0pTWF9mcmFnbWVudDpyKDk1MTIwLDMsXCJXcmFwX2luX0pTWF9mcmFnbWVudF85NTEyMFwiLFwiV3JhcCBpbiBKU1ggZnJhZ21lbnRcIiksV3JhcF9hbGxfdW5wYXJlbnRlZF9KU1hfaW5fSlNYX2ZyYWdtZW50OnIoOTUxMjEsMyxcIldyYXBfYWxsX3VucGFyZW50ZWRfSlNYX2luX0pTWF9mcmFnbWVudF85NTEyMVwiLFwiV3JhcCBhbGwgdW5wYXJlbnRlZCBKU1ggaW4gSlNYIGZyYWdtZW50XCIpLENvbnZlcnRfYXJyb3dfZnVuY3Rpb25fb3JfZnVuY3Rpb25fZXhwcmVzc2lvbjpyKDk1MTIyLDMsXCJDb252ZXJ0X2Fycm93X2Z1bmN0aW9uX29yX2Z1bmN0aW9uX2V4cHJlc3Npb25fOTUxMjJcIixcIkNvbnZlcnQgYXJyb3cgZnVuY3Rpb24gb3IgZnVuY3Rpb24gZXhwcmVzc2lvblwiKSxDb252ZXJ0X3RvX2Fub255bW91c19mdW5jdGlvbjpyKDk1MTIzLDMsXCJDb252ZXJ0X3RvX2Fub255bW91c19mdW5jdGlvbl85NTEyM1wiLFwiQ29udmVydCB0byBhbm9ueW1vdXMgZnVuY3Rpb25cIiksQ29udmVydF90b19uYW1lZF9mdW5jdGlvbjpyKDk1MTI0LDMsXCJDb252ZXJ0X3RvX25hbWVkX2Z1bmN0aW9uXzk1MTI0XCIsXCJDb252ZXJ0IHRvIG5hbWVkIGZ1bmN0aW9uXCIpLENvbnZlcnRfdG9fYXJyb3dfZnVuY3Rpb246cig5NTEyNSwzLFwiQ29udmVydF90b19hcnJvd19mdW5jdGlvbl85NTEyNVwiLFwiQ29udmVydCB0byBhcnJvdyBmdW5jdGlvblwiKSxSZW1vdmVfcGFyZW50aGVzZXM6cig5NTEyNiwzLFwiUmVtb3ZlX3BhcmVudGhlc2VzXzk1MTI2XCIsXCJSZW1vdmUgcGFyZW50aGVzZXNcIiksQ291bGRfbm90X2ZpbmRfYV9jb250YWluaW5nX2Fycm93X2Z1bmN0aW9uOnIoOTUxMjcsMyxcIkNvdWxkX25vdF9maW5kX2FfY29udGFpbmluZ19hcnJvd19mdW5jdGlvbl85NTEyN1wiLFwiQ291bGQgbm90IGZpbmQgYSBjb250YWluaW5nIGFycm93IGZ1bmN0aW9uXCIpLENvbnRhaW5pbmdfZnVuY3Rpb25faXNfbm90X2FuX2Fycm93X2Z1bmN0aW9uOnIoOTUxMjgsMyxcIkNvbnRhaW5pbmdfZnVuY3Rpb25faXNfbm90X2FuX2Fycm93X2Z1bmN0aW9uXzk1MTI4XCIsXCJDb250YWluaW5nIGZ1bmN0aW9uIGlzIG5vdCBhbiBhcnJvdyBmdW5jdGlvblwiKSxDb3VsZF9ub3RfZmluZF9leHBvcnRfc3RhdGVtZW50OnIoOTUxMjksMyxcIkNvdWxkX25vdF9maW5kX2V4cG9ydF9zdGF0ZW1lbnRfOTUxMjlcIixcIkNvdWxkIG5vdCBmaW5kIGV4cG9ydCBzdGF0ZW1lbnRcIiksVGhpc19maWxlX2FscmVhZHlfaGFzX2FfZGVmYXVsdF9leHBvcnQ6cig5NTEzMCwzLFwiVGhpc19maWxlX2FscmVhZHlfaGFzX2FfZGVmYXVsdF9leHBvcnRfOTUxMzBcIixcIlRoaXMgZmlsZSBhbHJlYWR5IGhhcyBhIGRlZmF1bHQgZXhwb3J0XCIpLENvdWxkX25vdF9maW5kX2ltcG9ydF9jbGF1c2U6cig5NTEzMSwzLFwiQ291bGRfbm90X2ZpbmRfaW1wb3J0X2NsYXVzZV85NTEzMVwiLFwiQ291bGQgbm90IGZpbmQgaW1wb3J0IGNsYXVzZVwiKSxDb3VsZF9ub3RfZmluZF9uYW1lc3BhY2VfaW1wb3J0X29yX25hbWVkX2ltcG9ydHM6cig5NTEzMiwzLFwiQ291bGRfbm90X2ZpbmRfbmFtZXNwYWNlX2ltcG9ydF9vcl9uYW1lZF9pbXBvcnRzXzk1MTMyXCIsXCJDb3VsZCBub3QgZmluZCBuYW1lc3BhY2UgaW1wb3J0IG9yIG5hbWVkIGltcG9ydHNcIiksU2VsZWN0aW9uX2lzX25vdF9hX3ZhbGlkX3R5cGVfbm9kZTpyKDk1MTMzLDMsXCJTZWxlY3Rpb25faXNfbm90X2FfdmFsaWRfdHlwZV9ub2RlXzk1MTMzXCIsXCJTZWxlY3Rpb24gaXMgbm90IGEgdmFsaWQgdHlwZSBub2RlXCIpLE5vX3R5cGVfY291bGRfYmVfZXh0cmFjdGVkX2Zyb21fdGhpc190eXBlX25vZGU6cig5NTEzNCwzLFwiTm9fdHlwZV9jb3VsZF9iZV9leHRyYWN0ZWRfZnJvbV90aGlzX3R5cGVfbm9kZV85NTEzNFwiLFwiTm8gdHlwZSBjb3VsZCBiZSBleHRyYWN0ZWQgZnJvbSB0aGlzIHR5cGUgbm9kZVwiKSxDb3VsZF9ub3RfZmluZF9wcm9wZXJ0eV9mb3Jfd2hpY2hfdG9fZ2VuZXJhdGVfYWNjZXNzb3I6cig5NTEzNSwzLFwiQ291bGRfbm90X2ZpbmRfcHJvcGVydHlfZm9yX3doaWNoX3RvX2dlbmVyYXRlX2FjY2Vzc29yXzk1MTM1XCIsXCJDb3VsZCBub3QgZmluZCBwcm9wZXJ0eSBmb3Igd2hpY2ggdG8gZ2VuZXJhdGUgYWNjZXNzb3JcIiksTmFtZV9pc19ub3RfdmFsaWQ6cig5NTEzNiwzLFwiTmFtZV9pc19ub3RfdmFsaWRfOTUxMzZcIixcIk5hbWUgaXMgbm90IHZhbGlkXCIpLENhbl9vbmx5X2NvbnZlcnRfcHJvcGVydHlfd2l0aF9tb2RpZmllcjpyKDk1MTM3LDMsXCJDYW5fb25seV9jb252ZXJ0X3Byb3BlcnR5X3dpdGhfbW9kaWZpZXJfOTUxMzdcIixcIkNhbiBvbmx5IGNvbnZlcnQgcHJvcGVydHkgd2l0aCBtb2RpZmllclwiKSxTd2l0Y2hfZWFjaF9taXN1c2VkXzBfdG9fMTpyKDk1MTM4LDMsXCJTd2l0Y2hfZWFjaF9taXN1c2VkXzBfdG9fMV85NTEzOFwiLFwiU3dpdGNoIGVhY2ggbWlzdXNlZCAnezB9JyB0byAnezF9J1wiKSxDb252ZXJ0X3RvX29wdGlvbmFsX2NoYWluX2V4cHJlc3Npb246cig5NTEzOSwzLFwiQ29udmVydF90b19vcHRpb25hbF9jaGFpbl9leHByZXNzaW9uXzk1MTM5XCIsXCJDb252ZXJ0IHRvIG9wdGlvbmFsIGNoYWluIGV4cHJlc3Npb25cIiksQ291bGRfbm90X2ZpbmRfY29udmVydGlibGVfYWNjZXNzX2V4cHJlc3Npb246cig5NTE0MCwzLFwiQ291bGRfbm90X2ZpbmRfY29udmVydGlibGVfYWNjZXNzX2V4cHJlc3Npb25fOTUxNDBcIixcIkNvdWxkIG5vdCBmaW5kIGNvbnZlcnRpYmxlIGFjY2VzcyBleHByZXNzaW9uXCIpLENvdWxkX25vdF9maW5kX21hdGNoaW5nX2FjY2Vzc19leHByZXNzaW9uczpyKDk1MTQxLDMsXCJDb3VsZF9ub3RfZmluZF9tYXRjaGluZ19hY2Nlc3NfZXhwcmVzc2lvbnNfOTUxNDFcIixcIkNvdWxkIG5vdCBmaW5kIG1hdGNoaW5nIGFjY2VzcyBleHByZXNzaW9uc1wiKSxDYW5fb25seV9jb252ZXJ0X2xvZ2ljYWxfQU5EX2FjY2Vzc19jaGFpbnM6cig5NTE0MiwzLFwiQ2FuX29ubHlfY29udmVydF9sb2dpY2FsX0FORF9hY2Nlc3NfY2hhaW5zXzk1MTQyXCIsXCJDYW4gb25seSBjb252ZXJ0IGxvZ2ljYWwgQU5EIGFjY2VzcyBjaGFpbnNcIiksQWRkX3ZvaWRfdG9fUHJvbWlzZV9yZXNvbHZlZF93aXRob3V0X2FfdmFsdWU6cig5NTE0MywzLFwiQWRkX3ZvaWRfdG9fUHJvbWlzZV9yZXNvbHZlZF93aXRob3V0X2FfdmFsdWVfOTUxNDNcIixcIkFkZCAndm9pZCcgdG8gUHJvbWlzZSByZXNvbHZlZCB3aXRob3V0IGEgdmFsdWVcIiksQWRkX3ZvaWRfdG9fYWxsX1Byb21pc2VzX3Jlc29sdmVkX3dpdGhvdXRfYV92YWx1ZTpyKDk1MTQ0LDMsXCJBZGRfdm9pZF90b19hbGxfUHJvbWlzZXNfcmVzb2x2ZWRfd2l0aG91dF9hX3ZhbHVlXzk1MTQ0XCIsXCJBZGQgJ3ZvaWQnIHRvIGFsbCBQcm9taXNlcyByZXNvbHZlZCB3aXRob3V0IGEgdmFsdWVcIiksVXNlX2VsZW1lbnRfYWNjZXNzX2Zvcl8wOnIoOTUxNDUsMyxcIlVzZV9lbGVtZW50X2FjY2Vzc19mb3JfMF85NTE0NVwiLFwiVXNlIGVsZW1lbnQgYWNjZXNzIGZvciAnezB9J1wiKSxVc2VfZWxlbWVudF9hY2Nlc3NfZm9yX2FsbF91bmRlY2xhcmVkX3Byb3BlcnRpZXM6cig5NTE0NiwzLFwiVXNlX2VsZW1lbnRfYWNjZXNzX2Zvcl9hbGxfdW5kZWNsYXJlZF9wcm9wZXJ0aWVzXzk1MTQ2XCIsXCJVc2UgZWxlbWVudCBhY2Nlc3MgZm9yIGFsbCB1bmRlY2xhcmVkIHByb3BlcnRpZXMuXCIpLERlbGV0ZV9hbGxfdW51c2VkX2ltcG9ydHM6cig5NTE0NywzLFwiRGVsZXRlX2FsbF91bnVzZWRfaW1wb3J0c185NTE0N1wiLFwiRGVsZXRlIGFsbCB1bnVzZWQgaW1wb3J0c1wiKSxJbmZlcl9mdW5jdGlvbl9yZXR1cm5fdHlwZTpyKDk1MTQ4LDMsXCJJbmZlcl9mdW5jdGlvbl9yZXR1cm5fdHlwZV85NTE0OFwiLFwiSW5mZXIgZnVuY3Rpb24gcmV0dXJuIHR5cGVcIiksUmV0dXJuX3R5cGVfbXVzdF9iZV9pbmZlcnJlZF9mcm9tX2FfZnVuY3Rpb246cig5NTE0OSwzLFwiUmV0dXJuX3R5cGVfbXVzdF9iZV9pbmZlcnJlZF9mcm9tX2FfZnVuY3Rpb25fOTUxNDlcIixcIlJldHVybiB0eXBlIG11c3QgYmUgaW5mZXJyZWQgZnJvbSBhIGZ1bmN0aW9uXCIpLENvdWxkX25vdF9kZXRlcm1pbmVfZnVuY3Rpb25fcmV0dXJuX3R5cGU6cig5NTE1MCwzLFwiQ291bGRfbm90X2RldGVybWluZV9mdW5jdGlvbl9yZXR1cm5fdHlwZV85NTE1MFwiLFwiQ291bGQgbm90IGRldGVybWluZSBmdW5jdGlvbiByZXR1cm4gdHlwZVwiKSxDb3VsZF9ub3RfY29udmVydF90b19hcnJvd19mdW5jdGlvbjpyKDk1MTUxLDMsXCJDb3VsZF9ub3RfY29udmVydF90b19hcnJvd19mdW5jdGlvbl85NTE1MVwiLFwiQ291bGQgbm90IGNvbnZlcnQgdG8gYXJyb3cgZnVuY3Rpb25cIiksQ291bGRfbm90X2NvbnZlcnRfdG9fbmFtZWRfZnVuY3Rpb246cig5NTE1MiwzLFwiQ291bGRfbm90X2NvbnZlcnRfdG9fbmFtZWRfZnVuY3Rpb25fOTUxNTJcIixcIkNvdWxkIG5vdCBjb252ZXJ0IHRvIG5hbWVkIGZ1bmN0aW9uXCIpLENvdWxkX25vdF9jb252ZXJ0X3RvX2Fub255bW91c19mdW5jdGlvbjpyKDk1MTUzLDMsXCJDb3VsZF9ub3RfY29udmVydF90b19hbm9ueW1vdXNfZnVuY3Rpb25fOTUxNTNcIixcIkNvdWxkIG5vdCBjb252ZXJ0IHRvIGFub255bW91cyBmdW5jdGlvblwiKSxDYW5fb25seV9jb252ZXJ0X3N0cmluZ19jb25jYXRlbmF0aW9uc19hbmRfc3RyaW5nX2xpdGVyYWxzOnIoOTUxNTQsMyxcIkNhbl9vbmx5X2NvbnZlcnRfc3RyaW5nX2NvbmNhdGVuYXRpb25zX2FuZF9zdHJpbmdfbGl0ZXJhbHNfOTUxNTRcIixcIkNhbiBvbmx5IGNvbnZlcnQgc3RyaW5nIGNvbmNhdGVuYXRpb25zIGFuZCBzdHJpbmcgbGl0ZXJhbHNcIiksU2VsZWN0aW9uX2lzX25vdF9hX3ZhbGlkX3N0YXRlbWVudF9vcl9zdGF0ZW1lbnRzOnIoOTUxNTUsMyxcIlNlbGVjdGlvbl9pc19ub3RfYV92YWxpZF9zdGF0ZW1lbnRfb3Jfc3RhdGVtZW50c185NTE1NVwiLFwiU2VsZWN0aW9uIGlzIG5vdCBhIHZhbGlkIHN0YXRlbWVudCBvciBzdGF0ZW1lbnRzXCIpLEFkZF9taXNzaW5nX2Z1bmN0aW9uX2RlY2xhcmF0aW9uXzA6cig5NTE1NiwzLFwiQWRkX21pc3NpbmdfZnVuY3Rpb25fZGVjbGFyYXRpb25fMF85NTE1NlwiLFwiQWRkIG1pc3NpbmcgZnVuY3Rpb24gZGVjbGFyYXRpb24gJ3swfSdcIiksQWRkX2FsbF9taXNzaW5nX2Z1bmN0aW9uX2RlY2xhcmF0aW9uczpyKDk1MTU3LDMsXCJBZGRfYWxsX21pc3NpbmdfZnVuY3Rpb25fZGVjbGFyYXRpb25zXzk1MTU3XCIsXCJBZGQgYWxsIG1pc3NpbmcgZnVuY3Rpb24gZGVjbGFyYXRpb25zXCIpLE1ldGhvZF9ub3RfaW1wbGVtZW50ZWQ6cig5NTE1OCwzLFwiTWV0aG9kX25vdF9pbXBsZW1lbnRlZF85NTE1OFwiLFwiTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC5cIiksRnVuY3Rpb25fbm90X2ltcGxlbWVudGVkOnIoOTUxNTksMyxcIkZ1bmN0aW9uX25vdF9pbXBsZW1lbnRlZF85NTE1OVwiLFwiRnVuY3Rpb24gbm90IGltcGxlbWVudGVkLlwiKSxBZGRfb3ZlcnJpZGVfbW9kaWZpZXI6cig5NTE2MCwzLFwiQWRkX292ZXJyaWRlX21vZGlmaWVyXzk1MTYwXCIsXCJBZGQgJ292ZXJyaWRlJyBtb2RpZmllclwiKSxSZW1vdmVfb3ZlcnJpZGVfbW9kaWZpZXI6cig5NTE2MSwzLFwiUmVtb3ZlX292ZXJyaWRlX21vZGlmaWVyXzk1MTYxXCIsXCJSZW1vdmUgJ292ZXJyaWRlJyBtb2RpZmllclwiKSxBZGRfYWxsX21pc3Npbmdfb3ZlcnJpZGVfbW9kaWZpZXJzOnIoOTUxNjIsMyxcIkFkZF9hbGxfbWlzc2luZ19vdmVycmlkZV9tb2RpZmllcnNfOTUxNjJcIixcIkFkZCBhbGwgbWlzc2luZyAnb3ZlcnJpZGUnIG1vZGlmaWVyc1wiKSxSZW1vdmVfYWxsX3VubmVjZXNzYXJ5X292ZXJyaWRlX21vZGlmaWVyczpyKDk1MTYzLDMsXCJSZW1vdmVfYWxsX3VubmVjZXNzYXJ5X292ZXJyaWRlX21vZGlmaWVyc185NTE2M1wiLFwiUmVtb3ZlIGFsbCB1bm5lY2Vzc2FyeSAnb3ZlcnJpZGUnIG1vZGlmaWVyc1wiKSxDYW5fb25seV9jb252ZXJ0X25hbWVkX2V4cG9ydDpyKDk1MTY0LDMsXCJDYW5fb25seV9jb252ZXJ0X25hbWVkX2V4cG9ydF85NTE2NFwiLFwiQ2FuIG9ubHkgY29udmVydCBuYW1lZCBleHBvcnRcIiksQWRkX21pc3NpbmdfcHJvcGVydGllczpyKDk1MTY1LDMsXCJBZGRfbWlzc2luZ19wcm9wZXJ0aWVzXzk1MTY1XCIsXCJBZGQgbWlzc2luZyBwcm9wZXJ0aWVzXCIpLEFkZF9hbGxfbWlzc2luZ19wcm9wZXJ0aWVzOnIoOTUxNjYsMyxcIkFkZF9hbGxfbWlzc2luZ19wcm9wZXJ0aWVzXzk1MTY2XCIsXCJBZGQgYWxsIG1pc3NpbmcgcHJvcGVydGllc1wiKSxBZGRfbWlzc2luZ19hdHRyaWJ1dGVzOnIoOTUxNjcsMyxcIkFkZF9taXNzaW5nX2F0dHJpYnV0ZXNfOTUxNjdcIixcIkFkZCBtaXNzaW5nIGF0dHJpYnV0ZXNcIiksQWRkX2FsbF9taXNzaW5nX2F0dHJpYnV0ZXM6cig5NTE2OCwzLFwiQWRkX2FsbF9taXNzaW5nX2F0dHJpYnV0ZXNfOTUxNjhcIixcIkFkZCBhbGwgbWlzc2luZyBhdHRyaWJ1dGVzXCIpLEFkZF91bmRlZmluZWRfdG9fb3B0aW9uYWxfcHJvcGVydHlfdHlwZTpyKDk1MTY5LDMsXCJBZGRfdW5kZWZpbmVkX3RvX29wdGlvbmFsX3Byb3BlcnR5X3R5cGVfOTUxNjlcIixcIkFkZCAndW5kZWZpbmVkJyB0byBvcHRpb25hbCBwcm9wZXJ0eSB0eXBlXCIpLENvbnZlcnRfbmFtZWRfaW1wb3J0c190b19kZWZhdWx0X2ltcG9ydDpyKDk1MTcwLDMsXCJDb252ZXJ0X25hbWVkX2ltcG9ydHNfdG9fZGVmYXVsdF9pbXBvcnRfOTUxNzBcIixcIkNvbnZlcnQgbmFtZWQgaW1wb3J0cyB0byBkZWZhdWx0IGltcG9ydFwiKSxEZWxldGVfdW51c2VkX3BhcmFtX3RhZ18wOnIoOTUxNzEsMyxcIkRlbGV0ZV91bnVzZWRfcGFyYW1fdGFnXzBfOTUxNzFcIixcIkRlbGV0ZSB1bnVzZWQgJ0BwYXJhbScgdGFnICd7MH0nXCIpLERlbGV0ZV9hbGxfdW51c2VkX3BhcmFtX3RhZ3M6cig5NTE3MiwzLFwiRGVsZXRlX2FsbF91bnVzZWRfcGFyYW1fdGFnc185NTE3MlwiLFwiRGVsZXRlIGFsbCB1bnVzZWQgJ0BwYXJhbScgdGFnc1wiKSxSZW5hbWVfcGFyYW1fdGFnX25hbWVfMF90b18xOnIoOTUxNzMsMyxcIlJlbmFtZV9wYXJhbV90YWdfbmFtZV8wX3RvXzFfOTUxNzNcIixcIlJlbmFtZSAnQHBhcmFtJyB0YWcgbmFtZSAnezB9JyB0byAnezF9J1wiKSxVc2VfMDpyKDk1MTc0LDMsXCJVc2VfMF85NTE3NFwiLFwiVXNlIGB7MH1gLlwiKSxVc2VfTnVtYmVyX2lzTmFOX2luX2FsbF9jb25kaXRpb25zOnIoOTUxNzUsMyxcIlVzZV9OdW1iZXJfaXNOYU5faW5fYWxsX2NvbmRpdGlvbnNfOTUxNzVcIixcIlVzZSBgTnVtYmVyLmlzTmFOYCBpbiBhbGwgY29uZGl0aW9ucy5cIiksQ29udmVydF90eXBlZGVmX3RvX1R5cGVTY3JpcHRfdHlwZTpyKDk1MTc2LDMsXCJDb252ZXJ0X3R5cGVkZWZfdG9fVHlwZVNjcmlwdF90eXBlXzk1MTc2XCIsXCJDb252ZXJ0IHR5cGVkZWYgdG8gVHlwZVNjcmlwdCB0eXBlLlwiKSxDb252ZXJ0X2FsbF90eXBlZGVmX3RvX1R5cGVTY3JpcHRfdHlwZXM6cig5NTE3NywzLFwiQ29udmVydF9hbGxfdHlwZWRlZl90b19UeXBlU2NyaXB0X3R5cGVzXzk1MTc3XCIsXCJDb252ZXJ0IGFsbCB0eXBlZGVmIHRvIFR5cGVTY3JpcHQgdHlwZXMuXCIpLE1vdmVfdG9fZmlsZTpyKDk1MTc4LDMsXCJNb3ZlX3RvX2ZpbGVfOTUxNzhcIixcIk1vdmUgdG8gZmlsZVwiKSxDYW5ub3RfbW92ZV90b19maWxlX3NlbGVjdGVkX2ZpbGVfaXNfaW52YWxpZDpyKDk1MTc5LDMsXCJDYW5ub3RfbW92ZV90b19maWxlX3NlbGVjdGVkX2ZpbGVfaXNfaW52YWxpZF85NTE3OVwiLFwiQ2Fubm90IG1vdmUgdG8gZmlsZSwgc2VsZWN0ZWQgZmlsZSBpcyBpbnZhbGlkXCIpLFVzZV9pbXBvcnRfdHlwZTpyKDk1MTgwLDMsXCJVc2VfaW1wb3J0X3R5cGVfOTUxODBcIixcIlVzZSAnaW1wb3J0IHR5cGUnXCIpLFVzZV90eXBlXzA6cig5NTE4MSwzLFwiVXNlX3R5cGVfMF85NTE4MVwiLFwiVXNlICd0eXBlIHswfSdcIiksRml4X2FsbF93aXRoX3R5cGVfb25seV9pbXBvcnRzOnIoOTUxODIsMyxcIkZpeF9hbGxfd2l0aF90eXBlX29ubHlfaW1wb3J0c185NTE4MlwiLFwiRml4IGFsbCB3aXRoIHR5cGUtb25seSBpbXBvcnRzXCIpLENhbm5vdF9tb3ZlX3N0YXRlbWVudHNfdG9fdGhlX3NlbGVjdGVkX2ZpbGU6cig5NTE4MywzLFwiQ2Fubm90X21vdmVfc3RhdGVtZW50c190b190aGVfc2VsZWN0ZWRfZmlsZV85NTE4M1wiLFwiQ2Fubm90IG1vdmUgc3RhdGVtZW50cyB0byB0aGUgc2VsZWN0ZWQgZmlsZVwiKSxJbmxpbmVfdmFyaWFibGU6cig5NTE4NCwzLFwiSW5saW5lX3ZhcmlhYmxlXzk1MTg0XCIsXCJJbmxpbmUgdmFyaWFibGVcIiksQ291bGRfbm90X2ZpbmRfdmFyaWFibGVfdG9faW5saW5lOnIoOTUxODUsMyxcIkNvdWxkX25vdF9maW5kX3ZhcmlhYmxlX3RvX2lubGluZV85NTE4NVwiLFwiQ291bGQgbm90IGZpbmQgdmFyaWFibGUgdG8gaW5saW5lLlwiKSxWYXJpYWJsZXNfd2l0aF9tdWx0aXBsZV9kZWNsYXJhdGlvbnNfY2Fubm90X2JlX2lubGluZWQ6cig5NTE4NiwzLFwiVmFyaWFibGVzX3dpdGhfbXVsdGlwbGVfZGVjbGFyYXRpb25zX2Nhbm5vdF9iZV9pbmxpbmVkXzk1MTg2XCIsXCJWYXJpYWJsZXMgd2l0aCBtdWx0aXBsZSBkZWNsYXJhdGlvbnMgY2Fubm90IGJlIGlubGluZWQuXCIpLEFkZF9taXNzaW5nX2NvbW1hX2Zvcl9vYmplY3RfbWVtYmVyX2NvbXBsZXRpb25fMDpyKDk1MTg3LDMsXCJBZGRfbWlzc2luZ19jb21tYV9mb3Jfb2JqZWN0X21lbWJlcl9jb21wbGV0aW9uXzBfOTUxODdcIixcIkFkZCBtaXNzaW5nIGNvbW1hIGZvciBvYmplY3QgbWVtYmVyIGNvbXBsZXRpb24gJ3swfScuXCIpLEFkZF9taXNzaW5nX3BhcmFtZXRlcl90b18wOnIoOTUxODgsMyxcIkFkZF9taXNzaW5nX3BhcmFtZXRlcl90b18wXzk1MTg4XCIsXCJBZGQgbWlzc2luZyBwYXJhbWV0ZXIgdG8gJ3swfSdcIiksQWRkX21pc3NpbmdfcGFyYW1ldGVyc190b18wOnIoOTUxODksMyxcIkFkZF9taXNzaW5nX3BhcmFtZXRlcnNfdG9fMF85NTE4OVwiLFwiQWRkIG1pc3NpbmcgcGFyYW1ldGVycyB0byAnezB9J1wiKSxBZGRfYWxsX21pc3NpbmdfcGFyYW1ldGVyczpyKDk1MTkwLDMsXCJBZGRfYWxsX21pc3NpbmdfcGFyYW1ldGVyc185NTE5MFwiLFwiQWRkIGFsbCBtaXNzaW5nIHBhcmFtZXRlcnNcIiksQWRkX29wdGlvbmFsX3BhcmFtZXRlcl90b18wOnIoOTUxOTEsMyxcIkFkZF9vcHRpb25hbF9wYXJhbWV0ZXJfdG9fMF85NTE5MVwiLFwiQWRkIG9wdGlvbmFsIHBhcmFtZXRlciB0byAnezB9J1wiKSxBZGRfb3B0aW9uYWxfcGFyYW1ldGVyc190b18wOnIoOTUxOTIsMyxcIkFkZF9vcHRpb25hbF9wYXJhbWV0ZXJzX3RvXzBfOTUxOTJcIixcIkFkZCBvcHRpb25hbCBwYXJhbWV0ZXJzIHRvICd7MH0nXCIpLEFkZF9hbGxfb3B0aW9uYWxfcGFyYW1ldGVyczpyKDk1MTkzLDMsXCJBZGRfYWxsX29wdGlvbmFsX3BhcmFtZXRlcnNfOTUxOTNcIixcIkFkZCBhbGwgb3B0aW9uYWwgcGFyYW1ldGVyc1wiKSxXcmFwX2luX3BhcmVudGhlc2VzOnIoOTUxOTQsMyxcIldyYXBfaW5fcGFyZW50aGVzZXNfOTUxOTRcIixcIldyYXAgaW4gcGFyZW50aGVzZXNcIiksV3JhcF9hbGxfaW52YWxpZF9kZWNvcmF0b3JfZXhwcmVzc2lvbnNfaW5fcGFyZW50aGVzZXM6cig5NTE5NSwzLFwiV3JhcF9hbGxfaW52YWxpZF9kZWNvcmF0b3JfZXhwcmVzc2lvbnNfaW5fcGFyZW50aGVzZXNfOTUxOTVcIixcIldyYXAgYWxsIGludmFsaWQgZGVjb3JhdG9yIGV4cHJlc3Npb25zIGluIHBhcmVudGhlc2VzXCIpLEFkZF9yZXNvbHV0aW9uX21vZGVfaW1wb3J0X2F0dHJpYnV0ZTpyKDk1MTk2LDMsXCJBZGRfcmVzb2x1dGlvbl9tb2RlX2ltcG9ydF9hdHRyaWJ1dGVfOTUxOTZcIixcIkFkZCAncmVzb2x1dGlvbi1tb2RlJyBpbXBvcnQgYXR0cmlidXRlXCIpLEFkZF9yZXNvbHV0aW9uX21vZGVfaW1wb3J0X2F0dHJpYnV0ZV90b19hbGxfdHlwZV9vbmx5X2ltcG9ydHNfdGhhdF9uZWVkX2l0OnIoOTUxOTcsMyxcIkFkZF9yZXNvbHV0aW9uX21vZGVfaW1wb3J0X2F0dHJpYnV0ZV90b19hbGxfdHlwZV9vbmx5X2ltcG9ydHNfdGhhdF9uZWVkX2l0Xzk1MTk3XCIsXCJBZGQgJ3Jlc29sdXRpb24tbW9kZScgaW1wb3J0IGF0dHJpYnV0ZSB0byBhbGwgdHlwZS1vbmx5IGltcG9ydHMgdGhhdCBuZWVkIGl0XCIpLE5vX3ZhbHVlX2V4aXN0c19pbl9zY29wZV9mb3JfdGhlX3Nob3J0aGFuZF9wcm9wZXJ0eV8wX0VpdGhlcl9kZWNsYXJlX29uZV9vcl9wcm92aWRlX2FuX2luaXRpYWxpemVyOnIoMTgwMDQsMSxcIk5vX3ZhbHVlX2V4aXN0c19pbl9zY29wZV9mb3JfdGhlX3Nob3J0aGFuZF9wcm9wZXJ0eV8wX0VpdGhlcl9kZWNsYXJlX29uZV9vcl9wcm92aWRlX2FuX2luaXRpYWxpemVyXzE4MDA0XCIsXCJObyB2YWx1ZSBleGlzdHMgaW4gc2NvcGUgZm9yIHRoZSBzaG9ydGhhbmQgcHJvcGVydHkgJ3swfScuIEVpdGhlciBkZWNsYXJlIG9uZSBvciBwcm92aWRlIGFuIGluaXRpYWxpemVyLlwiKSxDbGFzc2VzX21heV9ub3RfaGF2ZV9hX2ZpZWxkX25hbWVkX2NvbnN0cnVjdG9yOnIoMTgwMDYsMSxcIkNsYXNzZXNfbWF5X25vdF9oYXZlX2FfZmllbGRfbmFtZWRfY29uc3RydWN0b3JfMTgwMDZcIixcIkNsYXNzZXMgbWF5IG5vdCBoYXZlIGEgZmllbGQgbmFtZWQgJ2NvbnN0cnVjdG9yJy5cIiksSlNYX2V4cHJlc3Npb25zX21heV9ub3RfdXNlX3RoZV9jb21tYV9vcGVyYXRvcl9EaWRfeW91X21lYW5fdG9fd3JpdGVfYW5fYXJyYXk6cigxODAwNywxLFwiSlNYX2V4cHJlc3Npb25zX21heV9ub3RfdXNlX3RoZV9jb21tYV9vcGVyYXRvcl9EaWRfeW91X21lYW5fdG9fd3JpdGVfYW5fYXJyYXlfMTgwMDdcIixcIkpTWCBleHByZXNzaW9ucyBtYXkgbm90IHVzZSB0aGUgY29tbWEgb3BlcmF0b3IuIERpZCB5b3UgbWVhbiB0byB3cml0ZSBhbiBhcnJheT9cIiksUHJpdmF0ZV9pZGVudGlmaWVyc19jYW5ub3RfYmVfdXNlZF9hc19wYXJhbWV0ZXJzOnIoMTgwMDksMSxcIlByaXZhdGVfaWRlbnRpZmllcnNfY2Fubm90X2JlX3VzZWRfYXNfcGFyYW1ldGVyc18xODAwOVwiLFwiUHJpdmF0ZSBpZGVudGlmaWVycyBjYW5ub3QgYmUgdXNlZCBhcyBwYXJhbWV0ZXJzLlwiKSxBbl9hY2Nlc3NpYmlsaXR5X21vZGlmaWVyX2Nhbm5vdF9iZV91c2VkX3dpdGhfYV9wcml2YXRlX2lkZW50aWZpZXI6cigxODAxMCwxLFwiQW5fYWNjZXNzaWJpbGl0eV9tb2RpZmllcl9jYW5ub3RfYmVfdXNlZF93aXRoX2FfcHJpdmF0ZV9pZGVudGlmaWVyXzE4MDEwXCIsXCJBbiBhY2Nlc3NpYmlsaXR5IG1vZGlmaWVyIGNhbm5vdCBiZSB1c2VkIHdpdGggYSBwcml2YXRlIGlkZW50aWZpZXIuXCIpLFRoZV9vcGVyYW5kX29mX2FfZGVsZXRlX29wZXJhdG9yX2Nhbm5vdF9iZV9hX3ByaXZhdGVfaWRlbnRpZmllcjpyKDE4MDExLDEsXCJUaGVfb3BlcmFuZF9vZl9hX2RlbGV0ZV9vcGVyYXRvcl9jYW5ub3RfYmVfYV9wcml2YXRlX2lkZW50aWZpZXJfMTgwMTFcIixcIlRoZSBvcGVyYW5kIG9mIGEgJ2RlbGV0ZScgb3BlcmF0b3IgY2Fubm90IGJlIGEgcHJpdmF0ZSBpZGVudGlmaWVyLlwiKSxjb25zdHJ1Y3Rvcl9pc19hX3Jlc2VydmVkX3dvcmQ6cigxODAxMiwxLFwiY29uc3RydWN0b3JfaXNfYV9yZXNlcnZlZF93b3JkXzE4MDEyXCIsXCInI2NvbnN0cnVjdG9yJyBpcyBhIHJlc2VydmVkIHdvcmQuXCIpLFByb3BlcnR5XzBfaXNfbm90X2FjY2Vzc2libGVfb3V0c2lkZV9jbGFzc18xX2JlY2F1c2VfaXRfaGFzX2FfcHJpdmF0ZV9pZGVudGlmaWVyOnIoMTgwMTMsMSxcIlByb3BlcnR5XzBfaXNfbm90X2FjY2Vzc2libGVfb3V0c2lkZV9jbGFzc18xX2JlY2F1c2VfaXRfaGFzX2FfcHJpdmF0ZV9pZGVudGlmaWVyXzE4MDEzXCIsXCJQcm9wZXJ0eSAnezB9JyBpcyBub3QgYWNjZXNzaWJsZSBvdXRzaWRlIGNsYXNzICd7MX0nIGJlY2F1c2UgaXQgaGFzIGEgcHJpdmF0ZSBpZGVudGlmaWVyLlwiKSxUaGVfcHJvcGVydHlfMF9jYW5ub3RfYmVfYWNjZXNzZWRfb25fdHlwZV8xX3dpdGhpbl90aGlzX2NsYXNzX2JlY2F1c2VfaXRfaXNfc2hhZG93ZWRfYnlfYW5vdGhlcl9wcml2YXRlX2lkZW50aWZpZXJfd2l0aF90aGVfc2FtZV9zcGVsbGluZzpyKDE4MDE0LDEsXCJUaGVfcHJvcGVydHlfMF9jYW5ub3RfYmVfYWNjZXNzZWRfb25fdHlwZV8xX3dpdGhpbl90aGlzX2NsYXNzX2JlY2F1c2VfaXRfaXNfc2hhZG93ZWRfYnlfYW5vdGhlcl9wcml2XzE4MDE0XCIsXCJUaGUgcHJvcGVydHkgJ3swfScgY2Fubm90IGJlIGFjY2Vzc2VkIG9uIHR5cGUgJ3sxfScgd2l0aGluIHRoaXMgY2xhc3MgYmVjYXVzZSBpdCBpcyBzaGFkb3dlZCBieSBhbm90aGVyIHByaXZhdGUgaWRlbnRpZmllciB3aXRoIHRoZSBzYW1lIHNwZWxsaW5nLlwiKSxQcm9wZXJ0eV8wX2luX3R5cGVfMV9yZWZlcnNfdG9fYV9kaWZmZXJlbnRfbWVtYmVyX3RoYXRfY2Fubm90X2JlX2FjY2Vzc2VkX2Zyb21fd2l0aGluX3R5cGVfMjpyKDE4MDE1LDEsXCJQcm9wZXJ0eV8wX2luX3R5cGVfMV9yZWZlcnNfdG9fYV9kaWZmZXJlbnRfbWVtYmVyX3RoYXRfY2Fubm90X2JlX2FjY2Vzc2VkX2Zyb21fd2l0aGluX3R5cGVfMl8xODAxNVwiLFwiUHJvcGVydHkgJ3swfScgaW4gdHlwZSAnezF9JyByZWZlcnMgdG8gYSBkaWZmZXJlbnQgbWVtYmVyIHRoYXQgY2Fubm90IGJlIGFjY2Vzc2VkIGZyb20gd2l0aGluIHR5cGUgJ3syfScuXCIpLFByaXZhdGVfaWRlbnRpZmllcnNfYXJlX25vdF9hbGxvd2VkX291dHNpZGVfY2xhc3NfYm9kaWVzOnIoMTgwMTYsMSxcIlByaXZhdGVfaWRlbnRpZmllcnNfYXJlX25vdF9hbGxvd2VkX291dHNpZGVfY2xhc3NfYm9kaWVzXzE4MDE2XCIsXCJQcml2YXRlIGlkZW50aWZpZXJzIGFyZSBub3QgYWxsb3dlZCBvdXRzaWRlIGNsYXNzIGJvZGllcy5cIiksVGhlX3NoYWRvd2luZ19kZWNsYXJhdGlvbl9vZl8wX2lzX2RlZmluZWRfaGVyZTpyKDE4MDE3LDEsXCJUaGVfc2hhZG93aW5nX2RlY2xhcmF0aW9uX29mXzBfaXNfZGVmaW5lZF9oZXJlXzE4MDE3XCIsXCJUaGUgc2hhZG93aW5nIGRlY2xhcmF0aW9uIG9mICd7MH0nIGlzIGRlZmluZWQgaGVyZVwiKSxUaGVfZGVjbGFyYXRpb25fb2ZfMF90aGF0X3lvdV9wcm9iYWJseV9pbnRlbmRlZF90b191c2VfaXNfZGVmaW5lZF9oZXJlOnIoMTgwMTgsMSxcIlRoZV9kZWNsYXJhdGlvbl9vZl8wX3RoYXRfeW91X3Byb2JhYmx5X2ludGVuZGVkX3RvX3VzZV9pc19kZWZpbmVkX2hlcmVfMTgwMThcIixcIlRoZSBkZWNsYXJhdGlvbiBvZiAnezB9JyB0aGF0IHlvdSBwcm9iYWJseSBpbnRlbmRlZCB0byB1c2UgaXMgZGVmaW5lZCBoZXJlXCIpLF8wX21vZGlmaWVyX2Nhbm5vdF9iZV91c2VkX3dpdGhfYV9wcml2YXRlX2lkZW50aWZpZXI6cigxODAxOSwxLFwiXzBfbW9kaWZpZXJfY2Fubm90X2JlX3VzZWRfd2l0aF9hX3ByaXZhdGVfaWRlbnRpZmllcl8xODAxOVwiLFwiJ3swfScgbW9kaWZpZXIgY2Fubm90IGJlIHVzZWQgd2l0aCBhIHByaXZhdGUgaWRlbnRpZmllci5cIiksQW5fZW51bV9tZW1iZXJfY2Fubm90X2JlX25hbWVkX3dpdGhfYV9wcml2YXRlX2lkZW50aWZpZXI6cigxODAyNCwxLFwiQW5fZW51bV9tZW1iZXJfY2Fubm90X2JlX25hbWVkX3dpdGhfYV9wcml2YXRlX2lkZW50aWZpZXJfMTgwMjRcIixcIkFuIGVudW0gbWVtYmVyIGNhbm5vdCBiZSBuYW1lZCB3aXRoIGEgcHJpdmF0ZSBpZGVudGlmaWVyLlwiKSxjYW5fb25seV9iZV91c2VkX2F0X3RoZV9zdGFydF9vZl9hX2ZpbGU6cigxODAyNiwxLFwiY2FuX29ubHlfYmVfdXNlZF9hdF90aGVfc3RhcnRfb2ZfYV9maWxlXzE4MDI2XCIsXCInIyEnIGNhbiBvbmx5IGJlIHVzZWQgYXQgdGhlIHN0YXJ0IG9mIGEgZmlsZS5cIiksQ29tcGlsZXJfcmVzZXJ2ZXNfbmFtZV8wX3doZW5fZW1pdHRpbmdfcHJpdmF0ZV9pZGVudGlmaWVyX2Rvd25sZXZlbDpyKDE4MDI3LDEsXCJDb21waWxlcl9yZXNlcnZlc19uYW1lXzBfd2hlbl9lbWl0dGluZ19wcml2YXRlX2lkZW50aWZpZXJfZG93bmxldmVsXzE4MDI3XCIsXCJDb21waWxlciByZXNlcnZlcyBuYW1lICd7MH0nIHdoZW4gZW1pdHRpbmcgcHJpdmF0ZSBpZGVudGlmaWVyIGRvd25sZXZlbC5cIiksUHJpdmF0ZV9pZGVudGlmaWVyc19hcmVfb25seV9hdmFpbGFibGVfd2hlbl90YXJnZXRpbmdfRUNNQVNjcmlwdF8yMDE1X2FuZF9oaWdoZXI6cigxODAyOCwxLFwiUHJpdmF0ZV9pZGVudGlmaWVyc19hcmVfb25seV9hdmFpbGFibGVfd2hlbl90YXJnZXRpbmdfRUNNQVNjcmlwdF8yMDE1X2FuZF9oaWdoZXJfMTgwMjhcIixcIlByaXZhdGUgaWRlbnRpZmllcnMgYXJlIG9ubHkgYXZhaWxhYmxlIHdoZW4gdGFyZ2V0aW5nIEVDTUFTY3JpcHQgMjAxNSBhbmQgaGlnaGVyLlwiKSxQcml2YXRlX2lkZW50aWZpZXJzX2FyZV9ub3RfYWxsb3dlZF9pbl92YXJpYWJsZV9kZWNsYXJhdGlvbnM6cigxODAyOSwxLFwiUHJpdmF0ZV9pZGVudGlmaWVyc19hcmVfbm90X2FsbG93ZWRfaW5fdmFyaWFibGVfZGVjbGFyYXRpb25zXzE4MDI5XCIsXCJQcml2YXRlIGlkZW50aWZpZXJzIGFyZSBub3QgYWxsb3dlZCBpbiB2YXJpYWJsZSBkZWNsYXJhdGlvbnMuXCIpLEFuX29wdGlvbmFsX2NoYWluX2Nhbm5vdF9jb250YWluX3ByaXZhdGVfaWRlbnRpZmllcnM6cigxODAzMCwxLFwiQW5fb3B0aW9uYWxfY2hhaW5fY2Fubm90X2NvbnRhaW5fcHJpdmF0ZV9pZGVudGlmaWVyc18xODAzMFwiLFwiQW4gb3B0aW9uYWwgY2hhaW4gY2Fubm90IGNvbnRhaW4gcHJpdmF0ZSBpZGVudGlmaWVycy5cIiksVGhlX2ludGVyc2VjdGlvbl8wX3dhc19yZWR1Y2VkX3RvX25ldmVyX2JlY2F1c2VfcHJvcGVydHlfMV9oYXNfY29uZmxpY3RpbmdfdHlwZXNfaW5fc29tZV9jb25zdGl0dWVudHM6cigxODAzMSwxLFwiVGhlX2ludGVyc2VjdGlvbl8wX3dhc19yZWR1Y2VkX3RvX25ldmVyX2JlY2F1c2VfcHJvcGVydHlfMV9oYXNfY29uZmxpY3RpbmdfdHlwZXNfaW5fc29tZV9jb25zdGl0dWVudF8xODAzMVwiLFwiVGhlIGludGVyc2VjdGlvbiAnezB9JyB3YXMgcmVkdWNlZCB0byAnbmV2ZXInIGJlY2F1c2UgcHJvcGVydHkgJ3sxfScgaGFzIGNvbmZsaWN0aW5nIHR5cGVzIGluIHNvbWUgY29uc3RpdHVlbnRzLlwiKSxUaGVfaW50ZXJzZWN0aW9uXzBfd2FzX3JlZHVjZWRfdG9fbmV2ZXJfYmVjYXVzZV9wcm9wZXJ0eV8xX2V4aXN0c19pbl9tdWx0aXBsZV9jb25zdGl0dWVudHNfYW5kX2lzX3ByaXZhdGVfaW5fc29tZTpyKDE4MDMyLDEsXCJUaGVfaW50ZXJzZWN0aW9uXzBfd2FzX3JlZHVjZWRfdG9fbmV2ZXJfYmVjYXVzZV9wcm9wZXJ0eV8xX2V4aXN0c19pbl9tdWx0aXBsZV9jb25zdGl0dWVudHNfYW5kX2lzX3ByXzE4MDMyXCIsXCJUaGUgaW50ZXJzZWN0aW9uICd7MH0nIHdhcyByZWR1Y2VkIHRvICduZXZlcicgYmVjYXVzZSBwcm9wZXJ0eSAnezF9JyBleGlzdHMgaW4gbXVsdGlwbGUgY29uc3RpdHVlbnRzIGFuZCBpcyBwcml2YXRlIGluIHNvbWUuXCIpLFR5cGVfMF9pc19ub3RfYXNzaWduYWJsZV90b190eXBlXzFfYXNfcmVxdWlyZWRfZm9yX2NvbXB1dGVkX2VudW1fbWVtYmVyX3ZhbHVlczpyKDE4MDMzLDEsXCJUeXBlXzBfaXNfbm90X2Fzc2lnbmFibGVfdG9fdHlwZV8xX2FzX3JlcXVpcmVkX2Zvcl9jb21wdXRlZF9lbnVtX21lbWJlcl92YWx1ZXNfMTgwMzNcIixcIlR5cGUgJ3swfScgaXMgbm90IGFzc2lnbmFibGUgdG8gdHlwZSAnezF9JyBhcyByZXF1aXJlZCBmb3IgY29tcHV0ZWQgZW51bSBtZW1iZXIgdmFsdWVzLlwiKSxTcGVjaWZ5X3RoZV9KU1hfZnJhZ21lbnRfZmFjdG9yeV9mdW5jdGlvbl90b191c2Vfd2hlbl90YXJnZXRpbmdfcmVhY3RfSlNYX2VtaXRfd2l0aF9qc3hGYWN0b3J5X2NvbXBpbGVyX29wdGlvbl9pc19zcGVjaWZpZWRfZV9nX0ZyYWdtZW50OnIoMTgwMzQsMyxcIlNwZWNpZnlfdGhlX0pTWF9mcmFnbWVudF9mYWN0b3J5X2Z1bmN0aW9uX3RvX3VzZV93aGVuX3RhcmdldGluZ19yZWFjdF9KU1hfZW1pdF93aXRoX2pzeEZhY3RvcnlfY29tcGlfMTgwMzRcIixcIlNwZWNpZnkgdGhlIEpTWCBmcmFnbWVudCBmYWN0b3J5IGZ1bmN0aW9uIHRvIHVzZSB3aGVuIHRhcmdldGluZyAncmVhY3QnIEpTWCBlbWl0IHdpdGggJ2pzeEZhY3RvcnknIGNvbXBpbGVyIG9wdGlvbiBpcyBzcGVjaWZpZWQsIGUuZy4gJ0ZyYWdtZW50Jy5cIiksSW52YWxpZF92YWx1ZV9mb3JfanN4RnJhZ21lbnRGYWN0b3J5XzBfaXNfbm90X2FfdmFsaWRfaWRlbnRpZmllcl9vcl9xdWFsaWZpZWRfbmFtZTpyKDE4MDM1LDEsXCJJbnZhbGlkX3ZhbHVlX2Zvcl9qc3hGcmFnbWVudEZhY3RvcnlfMF9pc19ub3RfYV92YWxpZF9pZGVudGlmaWVyX29yX3F1YWxpZmllZF9uYW1lXzE4MDM1XCIsXCJJbnZhbGlkIHZhbHVlIGZvciAnanN4RnJhZ21lbnRGYWN0b3J5Jy4gJ3swfScgaXMgbm90IGEgdmFsaWQgaWRlbnRpZmllciBvciBxdWFsaWZpZWQtbmFtZS5cIiksQ2xhc3NfZGVjb3JhdG9yc19jYW5fdF9iZV91c2VkX3dpdGhfc3RhdGljX3ByaXZhdGVfaWRlbnRpZmllcl9Db25zaWRlcl9yZW1vdmluZ190aGVfZXhwZXJpbWVudGFsX2RlY29yYXRvcjpyKDE4MDM2LDEsXCJDbGFzc19kZWNvcmF0b3JzX2Nhbl90X2JlX3VzZWRfd2l0aF9zdGF0aWNfcHJpdmF0ZV9pZGVudGlmaWVyX0NvbnNpZGVyX3JlbW92aW5nX3RoZV9leHBlcmltZW50YWxfZGVjXzE4MDM2XCIsXCJDbGFzcyBkZWNvcmF0b3JzIGNhbid0IGJlIHVzZWQgd2l0aCBzdGF0aWMgcHJpdmF0ZSBpZGVudGlmaWVyLiBDb25zaWRlciByZW1vdmluZyB0aGUgZXhwZXJpbWVudGFsIGRlY29yYXRvci5cIiksYXdhaXRfZXhwcmVzc2lvbl9jYW5ub3RfYmVfdXNlZF9pbnNpZGVfYV9jbGFzc19zdGF0aWNfYmxvY2s6cigxODAzNywxLFwiYXdhaXRfZXhwcmVzc2lvbl9jYW5ub3RfYmVfdXNlZF9pbnNpZGVfYV9jbGFzc19zdGF0aWNfYmxvY2tfMTgwMzdcIixcIidhd2FpdCcgZXhwcmVzc2lvbiBjYW5ub3QgYmUgdXNlZCBpbnNpZGUgYSBjbGFzcyBzdGF0aWMgYmxvY2suXCIpLGZvcl9hd2FpdF9sb29wc19jYW5ub3RfYmVfdXNlZF9pbnNpZGVfYV9jbGFzc19zdGF0aWNfYmxvY2s6cigxODAzOCwxLFwiZm9yX2F3YWl0X2xvb3BzX2Nhbm5vdF9iZV91c2VkX2luc2lkZV9hX2NsYXNzX3N0YXRpY19ibG9ja18xODAzOFwiLFwiJ2ZvciBhd2FpdCcgbG9vcHMgY2Fubm90IGJlIHVzZWQgaW5zaWRlIGEgY2xhc3Mgc3RhdGljIGJsb2NrLlwiKSxJbnZhbGlkX3VzZV9vZl8wX0l0X2Nhbm5vdF9iZV91c2VkX2luc2lkZV9hX2NsYXNzX3N0YXRpY19ibG9jazpyKDE4MDM5LDEsXCJJbnZhbGlkX3VzZV9vZl8wX0l0X2Nhbm5vdF9iZV91c2VkX2luc2lkZV9hX2NsYXNzX3N0YXRpY19ibG9ja18xODAzOVwiLFwiSW52YWxpZCB1c2Ugb2YgJ3swfScuIEl0IGNhbm5vdCBiZSB1c2VkIGluc2lkZSBhIGNsYXNzIHN0YXRpYyBibG9jay5cIiksQV9yZXR1cm5fc3RhdGVtZW50X2Nhbm5vdF9iZV91c2VkX2luc2lkZV9hX2NsYXNzX3N0YXRpY19ibG9jazpyKDE4MDQxLDEsXCJBX3JldHVybl9zdGF0ZW1lbnRfY2Fubm90X2JlX3VzZWRfaW5zaWRlX2FfY2xhc3Nfc3RhdGljX2Jsb2NrXzE4MDQxXCIsXCJBICdyZXR1cm4nIHN0YXRlbWVudCBjYW5ub3QgYmUgdXNlZCBpbnNpZGUgYSBjbGFzcyBzdGF0aWMgYmxvY2suXCIpLF8wX2lzX2FfdHlwZV9hbmRfY2Fubm90X2JlX2ltcG9ydGVkX2luX0phdmFTY3JpcHRfZmlsZXNfVXNlXzFfaW5fYV9KU0RvY190eXBlX2Fubm90YXRpb246cigxODA0MiwxLFwiXzBfaXNfYV90eXBlX2FuZF9jYW5ub3RfYmVfaW1wb3J0ZWRfaW5fSmF2YVNjcmlwdF9maWxlc19Vc2VfMV9pbl9hX0pTRG9jX3R5cGVfYW5ub3RhdGlvbl8xODA0MlwiLFwiJ3swfScgaXMgYSB0eXBlIGFuZCBjYW5ub3QgYmUgaW1wb3J0ZWQgaW4gSmF2YVNjcmlwdCBmaWxlcy4gVXNlICd7MX0nIGluIGEgSlNEb2MgdHlwZSBhbm5vdGF0aW9uLlwiKSxUeXBlc19jYW5ub3RfYXBwZWFyX2luX2V4cG9ydF9kZWNsYXJhdGlvbnNfaW5fSmF2YVNjcmlwdF9maWxlczpyKDE4MDQzLDEsXCJUeXBlc19jYW5ub3RfYXBwZWFyX2luX2V4cG9ydF9kZWNsYXJhdGlvbnNfaW5fSmF2YVNjcmlwdF9maWxlc18xODA0M1wiLFwiVHlwZXMgY2Fubm90IGFwcGVhciBpbiBleHBvcnQgZGVjbGFyYXRpb25zIGluIEphdmFTY3JpcHQgZmlsZXMuXCIpLF8wX2lzX2F1dG9tYXRpY2FsbHlfZXhwb3J0ZWRfaGVyZTpyKDE4MDQ0LDMsXCJfMF9pc19hdXRvbWF0aWNhbGx5X2V4cG9ydGVkX2hlcmVfMTgwNDRcIixcIid7MH0nIGlzIGF1dG9tYXRpY2FsbHkgZXhwb3J0ZWQgaGVyZS5cIiksUHJvcGVydGllc193aXRoX3RoZV9hY2Nlc3Nvcl9tb2RpZmllcl9hcmVfb25seV9hdmFpbGFibGVfd2hlbl90YXJnZXRpbmdfRUNNQVNjcmlwdF8yMDE1X2FuZF9oaWdoZXI6cigxODA0NSwxLFwiUHJvcGVydGllc193aXRoX3RoZV9hY2Nlc3Nvcl9tb2RpZmllcl9hcmVfb25seV9hdmFpbGFibGVfd2hlbl90YXJnZXRpbmdfRUNNQVNjcmlwdF8yMDE1X2FuZF9oaWdoZXJfMTgwNDVcIixcIlByb3BlcnRpZXMgd2l0aCB0aGUgJ2FjY2Vzc29yJyBtb2RpZmllciBhcmUgb25seSBhdmFpbGFibGUgd2hlbiB0YXJnZXRpbmcgRUNNQVNjcmlwdCAyMDE1IGFuZCBoaWdoZXIuXCIpLF8wX2lzX29mX3R5cGVfdW5rbm93bjpyKDE4MDQ2LDEsXCJfMF9pc19vZl90eXBlX3Vua25vd25fMTgwNDZcIixcIid7MH0nIGlzIG9mIHR5cGUgJ3Vua25vd24nLlwiKSxfMF9pc19wb3NzaWJseV9udWxsOnIoMTgwNDcsMSxcIl8wX2lzX3Bvc3NpYmx5X251bGxfMTgwNDdcIixcIid7MH0nIGlzIHBvc3NpYmx5ICdudWxsJy5cIiksXzBfaXNfcG9zc2libHlfdW5kZWZpbmVkOnIoMTgwNDgsMSxcIl8wX2lzX3Bvc3NpYmx5X3VuZGVmaW5lZF8xODA0OFwiLFwiJ3swfScgaXMgcG9zc2libHkgJ3VuZGVmaW5lZCcuXCIpLF8wX2lzX3Bvc3NpYmx5X251bGxfb3JfdW5kZWZpbmVkOnIoMTgwNDksMSxcIl8wX2lzX3Bvc3NpYmx5X251bGxfb3JfdW5kZWZpbmVkXzE4MDQ5XCIsXCInezB9JyBpcyBwb3NzaWJseSAnbnVsbCcgb3IgJ3VuZGVmaW5lZCcuXCIpLFRoZV92YWx1ZV8wX2Nhbm5vdF9iZV91c2VkX2hlcmU6cigxODA1MCwxLFwiVGhlX3ZhbHVlXzBfY2Fubm90X2JlX3VzZWRfaGVyZV8xODA1MFwiLFwiVGhlIHZhbHVlICd7MH0nIGNhbm5vdCBiZSB1c2VkIGhlcmUuXCIpLENvbXBpbGVyX29wdGlvbl8wX2Nhbm5vdF9iZV9naXZlbl9hbl9lbXB0eV9zdHJpbmc6cigxODA1MSwxLFwiQ29tcGlsZXJfb3B0aW9uXzBfY2Fubm90X2JlX2dpdmVuX2FuX2VtcHR5X3N0cmluZ18xODA1MVwiLFwiQ29tcGlsZXIgb3B0aW9uICd7MH0nIGNhbm5vdCBiZSBnaXZlbiBhbiBlbXB0eSBzdHJpbmcuXCIpLEl0c190eXBlXzBfaXNfbm90X2FfdmFsaWRfSlNYX2VsZW1lbnRfdHlwZTpyKDE4MDUzLDEsXCJJdHNfdHlwZV8wX2lzX25vdF9hX3ZhbGlkX0pTWF9lbGVtZW50X3R5cGVfMTgwNTNcIixcIkl0cyB0eXBlICd7MH0nIGlzIG5vdCBhIHZhbGlkIEpTWCBlbGVtZW50IHR5cGUuXCIpLGF3YWl0X3VzaW5nX3N0YXRlbWVudHNfY2Fubm90X2JlX3VzZWRfaW5zaWRlX2FfY2xhc3Nfc3RhdGljX2Jsb2NrOnIoMTgwNTQsMSxcImF3YWl0X3VzaW5nX3N0YXRlbWVudHNfY2Fubm90X2JlX3VzZWRfaW5zaWRlX2FfY2xhc3Nfc3RhdGljX2Jsb2NrXzE4MDU0XCIsXCInYXdhaXQgdXNpbmcnIHN0YXRlbWVudHMgY2Fubm90IGJlIHVzZWQgaW5zaWRlIGEgY2xhc3Mgc3RhdGljIGJsb2NrLlwiKSxfMF9oYXNfYV9zdHJpbmdfdHlwZV9idXRfbXVzdF9oYXZlX3N5bnRhY3RpY2FsbHlfcmVjb2duaXphYmxlX3N0cmluZ19zeW50YXhfd2hlbl9pc29sYXRlZE1vZHVsZXNfaXNfZW5hYmxlZDpyKDE4MDU1LDEsXCJfMF9oYXNfYV9zdHJpbmdfdHlwZV9idXRfbXVzdF9oYXZlX3N5bnRhY3RpY2FsbHlfcmVjb2duaXphYmxlX3N0cmluZ19zeW50YXhfd2hlbl9pc29sYXRlZE1vZHVsZXNfaXNfXzE4MDU1XCIsXCInezB9JyBoYXMgYSBzdHJpbmcgdHlwZSwgYnV0IG11c3QgaGF2ZSBzeW50YWN0aWNhbGx5IHJlY29nbml6YWJsZSBzdHJpbmcgc3ludGF4IHdoZW4gJ2lzb2xhdGVkTW9kdWxlcycgaXMgZW5hYmxlZC5cIiksRW51bV9tZW1iZXJfZm9sbG93aW5nX2Ffbm9uX2xpdGVyYWxfbnVtZXJpY19tZW1iZXJfbXVzdF9oYXZlX2FuX2luaXRpYWxpemVyX3doZW5faXNvbGF0ZWRNb2R1bGVzX2lzX2VuYWJsZWQ6cigxODA1NiwxLFwiRW51bV9tZW1iZXJfZm9sbG93aW5nX2Ffbm9uX2xpdGVyYWxfbnVtZXJpY19tZW1iZXJfbXVzdF9oYXZlX2FuX2luaXRpYWxpemVyX3doZW5faXNvbGF0ZWRNb2R1bGVzX2lzX18xODA1NlwiLFwiRW51bSBtZW1iZXIgZm9sbG93aW5nIGEgbm9uLWxpdGVyYWwgbnVtZXJpYyBtZW1iZXIgbXVzdCBoYXZlIGFuIGluaXRpYWxpemVyIHdoZW4gJ2lzb2xhdGVkTW9kdWxlcycgaXMgZW5hYmxlZC5cIiksU3RyaW5nX2xpdGVyYWxfaW1wb3J0X2FuZF9leHBvcnRfbmFtZXNfYXJlX25vdF9zdXBwb3J0ZWRfd2hlbl90aGVfbW9kdWxlX2ZsYWdfaXNfc2V0X3RvX2VzMjAxNV9vcl9lczIwMjA6cigxODA1NywxLFwiU3RyaW5nX2xpdGVyYWxfaW1wb3J0X2FuZF9leHBvcnRfbmFtZXNfYXJlX25vdF9zdXBwb3J0ZWRfd2hlbl90aGVfbW9kdWxlX2ZsYWdfaXNfc2V0X3RvX2VzMjAxNV9vcl9lc18xODA1N1wiLFwiU3RyaW5nIGxpdGVyYWwgaW1wb3J0IGFuZCBleHBvcnQgbmFtZXMgYXJlIG5vdCBzdXBwb3J0ZWQgd2hlbiB0aGUgJy0tbW9kdWxlJyBmbGFnIGlzIHNldCB0byAnZXMyMDE1JyBvciAnZXMyMDIwJy5cIil9O2Z1bmN0aW9uIHd0KGUpe3JldHVybiBlPj04MH1mdW5jdGlvbiBGeShlKXtyZXR1cm4gZT09PTMyfHx3dChlKX12YXIgbmY9e2Fic3RyYWN0OjEyOCxhY2Nlc3NvcjoxMjksYW55OjEzMyxhczoxMzAsYXNzZXJ0czoxMzEsYXNzZXJ0OjEzMixiaWdpbnQ6MTYzLGJvb2xlYW46MTM2LGJyZWFrOjgzLGNhc2U6ODQsY2F0Y2g6ODUsY2xhc3M6ODYsY29udGludWU6ODgsY29uc3Q6ODcsY29uc3RydWN0b3I6MTM3LGRlYnVnZ2VyOjg5LGRlY2xhcmU6MTM4LGRlZmF1bHQ6OTAsZGVsZXRlOjkxLGRvOjkyLGVsc2U6OTMsZW51bTo5NCxleHBvcnQ6OTUsZXh0ZW5kczo5NixmYWxzZTo5NyxmaW5hbGx5Ojk4LGZvcjo5OSxmcm9tOjE2MSxmdW5jdGlvbjoxMDAsZ2V0OjEzOSxpZjoxMDEsaW1wbGVtZW50czoxMTksaW1wb3J0OjEwMixpbjoxMDMsaW5mZXI6MTQwLGluc3RhbmNlb2Y6MTA0LGludGVyZmFjZToxMjAsaW50cmluc2ljOjE0MSxpczoxNDIsa2V5b2Y6MTQzLGxldDoxMjEsbW9kdWxlOjE0NCxuYW1lc3BhY2U6MTQ1LG5ldmVyOjE0NixuZXc6MTA1LG51bGw6MTA2LG51bWJlcjoxNTAsb2JqZWN0OjE1MSxwYWNrYWdlOjEyMixwcml2YXRlOjEyMyxwcm90ZWN0ZWQ6MTI0LHB1YmxpYzoxMjUsb3ZlcnJpZGU6MTY0LG91dDoxNDcscmVhZG9ubHk6MTQ4LHJlcXVpcmU6MTQ5LGdsb2JhbDoxNjIscmV0dXJuOjEwNyxzYXRpc2ZpZXM6MTUyLHNldDoxNTMsc3RhdGljOjEyNixzdHJpbmc6MTU0LHN1cGVyOjEwOCxzd2l0Y2g6MTA5LHN5bWJvbDoxNTUsdGhpczoxMTAsdGhyb3c6MTExLHRydWU6MTEyLHRyeToxMTMsdHlwZToxNTYsdHlwZW9mOjExNCx1bmRlZmluZWQ6MTU3LHVuaXF1ZToxNTgsdW5rbm93bjoxNTksdXNpbmc6MTYwLHZhcjoxMTUsdm9pZDoxMTYsd2hpbGU6MTE3LHdpdGg6MTE4LHlpZWxkOjEyNyxhc3luYzoxMzQsYXdhaXQ6MTM1LG9mOjE2NX0sVnk9bmV3IE1hcChPYmplY3QuZW50cmllcyhuZikpLEJtPW5ldyBNYXAoT2JqZWN0LmVudHJpZXMoey4uLm5mLFwie1wiOjE5LFwifVwiOjIwLFwiKFwiOjIxLFwiKVwiOjIyLFwiW1wiOjIzLFwiXVwiOjI0LFwiLlwiOjI1LFwiLi4uXCI6MjYsXCI7XCI6MjcsXCIsXCI6MjgsXCI8XCI6MzAsXCI+XCI6MzIsXCI8PVwiOjMzLFwiPj1cIjozNCxcIj09XCI6MzUsXCIhPVwiOjM2LFwiPT09XCI6MzcsXCIhPT1cIjozOCxcIj0+XCI6MzksXCIrXCI6NDAsXCItXCI6NDEsXCIqKlwiOjQzLFwiKlwiOjQyLFwiL1wiOjQ0LFwiJVwiOjQ1LFwiKytcIjo0NixcIi0tXCI6NDcsXCI8PFwiOjQ4LFwiPC9cIjozMSxcIj4+XCI6NDksXCI+Pj5cIjo1MCxcIiZcIjo1MSxcInxcIjo1MixcIl5cIjo1MyxcIiFcIjo1NCxcIn5cIjo1NSxcIiYmXCI6NTYsXCJ8fFwiOjU3LFwiP1wiOjU4LFwiPz9cIjo2MSxcIj8uXCI6MjksXCI6XCI6NTksXCI9XCI6NjQsXCIrPVwiOjY1LFwiLT1cIjo2NixcIio9XCI6NjcsXCIqKj1cIjo2OCxcIi89XCI6NjksXCIlPVwiOjcwLFwiPDw9XCI6NzEsXCI+Pj1cIjo3MixcIj4+Pj1cIjo3MyxcIiY9XCI6NzQsXCJ8PVwiOjc1LFwiXj1cIjo3OSxcInx8PVwiOjc2LFwiJiY9XCI6NzcsXCI/Pz1cIjo3OCxcIkBcIjo2MCxcIiNcIjo2MyxcImBcIjo2Mn0pKSxxbT1uZXcgTWFwKFtbMTAwLDFdLFsxMDMsMl0sWzEwNSw0XSxbMTA5LDhdLFsxMTUsMTZdLFsxMTcsMzJdLFsxMTgsNjRdLFsxMjEsMTI4XV0pLFd5PW5ldyBNYXAoW1sxLFFfLlJlZ3VsYXJFeHByZXNzaW9uRmxhZ3NIYXNJbmRpY2VzXSxbMTYsUV8uUmVndWxhckV4cHJlc3Npb25GbGFnc0RvdEFsbF0sWzMyLFFfLlJlZ3VsYXJFeHByZXNzaW9uRmxhZ3NVbmljb2RlXSxbNjQsUV8uUmVndWxhckV4cHJlc3Npb25GbGFnc1VuaWNvZGVTZXRzXSxbMTI4LFFfLlJlZ3VsYXJFeHByZXNzaW9uRmxhZ3NTdGlja3ldXSksR3k9WzE3MCwxNzAsMTgxLDE4MSwxODYsMTg2LDE5MiwyMTQsMjE2LDI0NiwyNDgsNzA1LDcxMCw3MjEsNzM2LDc0MCw3NDgsNzQ4LDc1MCw3NTAsODgwLDg4NCw4ODYsODg3LDg5MCw4OTMsOTAyLDkwMiw5MDQsOTA2LDkwOCw5MDgsOTEwLDkyOSw5MzEsMTAxMywxMDE1LDExNTMsMTE2MiwxMzE5LDEzMjksMTM2NiwxMzY5LDEzNjksMTM3NywxNDE1LDE0ODgsMTUxNCwxNTIwLDE1MjIsMTU2OCwxNjEwLDE2NDYsMTY0NywxNjQ5LDE3NDcsMTc0OSwxNzQ5LDE3NjUsMTc2NiwxNzc0LDE3NzUsMTc4NiwxNzg4LDE3OTEsMTc5MSwxODA4LDE4MDgsMTgxMCwxODM5LDE4NjksMTk1NywxOTY5LDE5NjksMTk5NCwyMDI2LDIwMzYsMjAzNywyMDQyLDIwNDIsMjA0OCwyMDY5LDIwNzQsMjA3NCwyMDg0LDIwODQsMjA4OCwyMDg4LDIxMTIsMjEzNiwyMjA4LDIyMDgsMjIxMCwyMjIwLDIzMDgsMjM2MSwyMzY1LDIzNjUsMjM4NCwyMzg0LDIzOTIsMjQwMSwyNDE3LDI0MjMsMjQyNSwyNDMxLDI0MzcsMjQ0NCwyNDQ3LDI0NDgsMjQ1MSwyNDcyLDI0NzQsMjQ4MCwyNDgyLDI0ODIsMjQ4NiwyNDg5LDI0OTMsMjQ5MywyNTEwLDI1MTAsMjUyNCwyNTI1LDI1MjcsMjUyOSwyNTQ0LDI1NDUsMjU2NSwyNTcwLDI1NzUsMjU3NiwyNTc5LDI2MDAsMjYwMiwyNjA4LDI2MTAsMjYxMSwyNjEzLDI2MTQsMjYxNiwyNjE3LDI2NDksMjY1MiwyNjU0LDI2NTQsMjY3NCwyNjc2LDI2OTMsMjcwMSwyNzAzLDI3MDUsMjcwNywyNzI4LDI3MzAsMjczNiwyNzM4LDI3MzksMjc0MSwyNzQ1LDI3NDksMjc0OSwyNzY4LDI3NjgsMjc4NCwyNzg1LDI4MjEsMjgyOCwyODMxLDI4MzIsMjgzNSwyODU2LDI4NTgsMjg2NCwyODY2LDI4NjcsMjg2OSwyODczLDI4NzcsMjg3NywyOTA4LDI5MDksMjkxMSwyOTEzLDI5MjksMjkyOSwyOTQ3LDI5NDcsMjk0OSwyOTU0LDI5NTgsMjk2MCwyOTYyLDI5NjUsMjk2OSwyOTcwLDI5NzIsMjk3MiwyOTc0LDI5NzUsMjk3OSwyOTgwLDI5ODQsMjk4NiwyOTkwLDMwMDEsMzAyNCwzMDI0LDMwNzcsMzA4NCwzMDg2LDMwODgsMzA5MCwzMTEyLDMxMTQsMzEyMywzMTI1LDMxMjksMzEzMywzMTMzLDMxNjAsMzE2MSwzMTY4LDMxNjksMzIwNSwzMjEyLDMyMTQsMzIxNiwzMjE4LDMyNDAsMzI0MiwzMjUxLDMyNTMsMzI1NywzMjYxLDMyNjEsMzI5NCwzMjk0LDMyOTYsMzI5NywzMzEzLDMzMTQsMzMzMywzMzQwLDMzNDIsMzM0NCwzMzQ2LDMzODYsMzM4OSwzMzg5LDM0MDYsMzQwNiwzNDI0LDM0MjUsMzQ1MCwzNDU1LDM0NjEsMzQ3OCwzNDgyLDM1MDUsMzUwNywzNTE1LDM1MTcsMzUxNywzNTIwLDM1MjYsMzU4NSwzNjMyLDM2MzQsMzYzNSwzNjQ4LDM2NTQsMzcxMywzNzE0LDM3MTYsMzcxNiwzNzE5LDM3MjAsMzcyMiwzNzIyLDM3MjUsMzcyNSwzNzMyLDM3MzUsMzczNywzNzQzLDM3NDUsMzc0NywzNzQ5LDM3NDksMzc1MSwzNzUxLDM3NTQsMzc1NSwzNzU3LDM3NjAsMzc2MiwzNzYzLDM3NzMsMzc3MywzNzc2LDM3ODAsMzc4MiwzNzgyLDM4MDQsMzgwNywzODQwLDM4NDAsMzkwNCwzOTExLDM5MTMsMzk0OCwzOTc2LDM5ODAsNDA5Niw0MTM4LDQxNTksNDE1OSw0MTc2LDQxODEsNDE4Niw0MTg5LDQxOTMsNDE5Myw0MTk3LDQxOTgsNDIwNiw0MjA4LDQyMTMsNDIyNSw0MjM4LDQyMzgsNDI1Niw0MjkzLDQyOTUsNDI5NSw0MzAxLDQzMDEsNDMwNCw0MzQ2LDQzNDgsNDY4MCw0NjgyLDQ2ODUsNDY4OCw0Njk0LDQ2OTYsNDY5Niw0Njk4LDQ3MDEsNDcwNCw0NzQ0LDQ3NDYsNDc0OSw0NzUyLDQ3ODQsNDc4Niw0Nzg5LDQ3OTIsNDc5OCw0ODAwLDQ4MDAsNDgwMiw0ODA1LDQ4MDgsNDgyMiw0ODI0LDQ4ODAsNDg4Miw0ODg1LDQ4ODgsNDk1NCw0OTkyLDUwMDcsNTAyNCw1MTA4LDUxMjEsNTc0MCw1NzQzLDU3NTksNTc2MSw1Nzg2LDU3OTIsNTg2Niw1ODcwLDU4NzIsNTg4OCw1OTAwLDU5MDIsNTkwNSw1OTIwLDU5MzcsNTk1Miw1OTY5LDU5ODQsNTk5Niw1OTk4LDZlMyw2MDE2LDYwNjcsNjEwMyw2MTAzLDYxMDgsNjEwOCw2MTc2LDYyNjMsNjI3Miw2MzEyLDYzMTQsNjMxNCw2MzIwLDYzODksNjQwMCw2NDI4LDY0ODAsNjUwOSw2NTEyLDY1MTYsNjUyOCw2NTcxLDY1OTMsNjU5OSw2NjU2LDY2NzgsNjY4OCw2NzQwLDY4MjMsNjgyMyw2OTE3LDY5NjMsNjk4MSw2OTg3LDcwNDMsNzA3Miw3MDg2LDcwODcsNzA5OCw3MTQxLDcxNjgsNzIwMyw3MjQ1LDcyNDcsNzI1OCw3MjkzLDc0MDEsNzQwNCw3NDA2LDc0MDksNzQxMyw3NDE0LDc0MjQsNzYxNSw3NjgwLDc5NTcsNzk2MCw3OTY1LDc5NjgsODAwNSw4MDA4LDgwMTMsODAxNiw4MDIzLDgwMjUsODAyNSw4MDI3LDgwMjcsODAyOSw4MDI5LDgwMzEsODA2MSw4MDY0LDgxMTYsODExOCw4MTI0LDgxMjYsODEyNiw4MTMwLDgxMzIsODEzNCw4MTQwLDgxNDQsODE0Nyw4MTUwLDgxNTUsODE2MCw4MTcyLDgxNzgsODE4MCw4MTgyLDgxODgsODMwNSw4MzA1LDgzMTksODMxOSw4MzM2LDgzNDgsODQ1MCw4NDUwLDg0NTUsODQ1NSw4NDU4LDg0NjcsODQ2OSw4NDY5LDg0NzMsODQ3Nyw4NDg0LDg0ODQsODQ4Niw4NDg2LDg0ODgsODQ4OCw4NDkwLDg0OTMsODQ5NSw4NTA1LDg1MDgsODUxMSw4NTE3LDg1MjEsODUyNiw4NTI2LDg1NDQsODU4NCwxMTI2NCwxMTMxMCwxMTMxMiwxMTM1OCwxMTM2MCwxMTQ5MiwxMTQ5OSwxMTUwMiwxMTUwNiwxMTUwNywxMTUyMCwxMTU1NywxMTU1OSwxMTU1OSwxMTU2NSwxMTU2NSwxMTU2OCwxMTYyMywxMTYzMSwxMTYzMSwxMTY0OCwxMTY3MCwxMTY4MCwxMTY4NiwxMTY4OCwxMTY5NCwxMTY5NiwxMTcwMiwxMTcwNCwxMTcxMCwxMTcxMiwxMTcxOCwxMTcyMCwxMTcyNiwxMTcyOCwxMTczNCwxMTczNiwxMTc0MiwxMTgyMywxMTgyMywxMjI5MywxMjI5NSwxMjMyMSwxMjMyOSwxMjMzNywxMjM0MSwxMjM0NCwxMjM0OCwxMjM1MywxMjQzOCwxMjQ0NSwxMjQ0NywxMjQ0OSwxMjUzOCwxMjU0MCwxMjU0MywxMjU0OSwxMjU4OSwxMjU5MywxMjY4NiwxMjcwNCwxMjczMCwxMjc4NCwxMjc5OSwxMzMxMiwxOTg5MywxOTk2OCw0MDkwOCw0MDk2MCw0MjEyNCw0MjE5Miw0MjIzNyw0MjI0MCw0MjUwOCw0MjUxMiw0MjUyNyw0MjUzOCw0MjUzOSw0MjU2MCw0MjYwNiw0MjYyMyw0MjY0Nyw0MjY1Niw0MjczNSw0Mjc3NSw0Mjc4Myw0Mjc4Niw0Mjg4OCw0Mjg5MSw0Mjg5NCw0Mjg5Niw0Mjg5OSw0MjkxMiw0MjkyMiw0M2UzLDQzMDA5LDQzMDExLDQzMDEzLDQzMDE1LDQzMDE4LDQzMDIwLDQzMDQyLDQzMDcyLDQzMTIzLDQzMTM4LDQzMTg3LDQzMjUwLDQzMjU1LDQzMjU5LDQzMjU5LDQzMjc0LDQzMzAxLDQzMzEyLDQzMzM0LDQzMzYwLDQzMzg4LDQzMzk2LDQzNDQyLDQzNDcxLDQzNDcxLDQzNTIwLDQzNTYwLDQzNTg0LDQzNTg2LDQzNTg4LDQzNTk1LDQzNjE2LDQzNjM4LDQzNjQyLDQzNjQyLDQzNjQ4LDQzNjk1LDQzNjk3LDQzNjk3LDQzNzAxLDQzNzAyLDQzNzA1LDQzNzA5LDQzNzEyLDQzNzEyLDQzNzE0LDQzNzE0LDQzNzM5LDQzNzQxLDQzNzQ0LDQzNzU0LDQzNzYyLDQzNzY0LDQzNzc3LDQzNzgyLDQzNzg1LDQzNzkwLDQzNzkzLDQzNzk4LDQzODA4LDQzODE0LDQzODE2LDQzODIyLDQzOTY4LDQ0MDAyLDQ0MDMyLDU1MjAzLDU1MjE2LDU1MjM4LDU1MjQzLDU1MjkxLDYzNzQ0LDY0MTA5LDY0MTEyLDY0MjE3LDY0MjU2LDY0MjYyLDY0Mjc1LDY0Mjc5LDY0Mjg1LDY0Mjg1LDY0Mjg3LDY0Mjk2LDY0Mjk4LDY0MzEwLDY0MzEyLDY0MzE2LDY0MzE4LDY0MzE4LDY0MzIwLDY0MzIxLDY0MzIzLDY0MzI0LDY0MzI2LDY0NDMzLDY0NDY3LDY0ODI5LDY0ODQ4LDY0OTExLDY0OTE0LDY0OTY3LDY1MDA4LDY1MDE5LDY1MTM2LDY1MTQwLDY1MTQyLDY1Mjc2LDY1MzEzLDY1MzM4LDY1MzQ1LDY1MzcwLDY1MzgyLDY1NDcwLDY1NDc0LDY1NDc5LDY1NDgyLDY1NDg3LDY1NDkwLDY1NDk1LDY1NDk4LDY1NTAwXSxZeT1bMTcwLDE3MCwxODEsMTgxLDE4NiwxODYsMTkyLDIxNCwyMTYsMjQ2LDI0OCw3MDUsNzEwLDcyMSw3MzYsNzQwLDc0OCw3NDgsNzUwLDc1MCw3NjgsODg0LDg4Niw4ODcsODkwLDg5Myw5MDIsOTAyLDkwNCw5MDYsOTA4LDkwOCw5MTAsOTI5LDkzMSwxMDEzLDEwMTUsMTE1MywxMTU1LDExNTksMTE2MiwxMzE5LDEzMjksMTM2NiwxMzY5LDEzNjksMTM3NywxNDE1LDE0MjUsMTQ2OSwxNDcxLDE0NzEsMTQ3MywxNDc0LDE0NzYsMTQ3NywxNDc5LDE0NzksMTQ4OCwxNTE0LDE1MjAsMTUyMiwxNTUyLDE1NjIsMTU2OCwxNjQxLDE2NDYsMTc0NywxNzQ5LDE3NTYsMTc1OSwxNzY4LDE3NzAsMTc4OCwxNzkxLDE3OTEsMTgwOCwxODY2LDE4NjksMTk2OSwxOTg0LDIwMzcsMjA0MiwyMDQyLDIwNDgsMjA5MywyMTEyLDIxMzksMjIwOCwyMjA4LDIyMTAsMjIyMCwyMjc2LDIzMDIsMjMwNCwyNDAzLDI0MDYsMjQxNSwyNDE3LDI0MjMsMjQyNSwyNDMxLDI0MzMsMjQzNSwyNDM3LDI0NDQsMjQ0NywyNDQ4LDI0NTEsMjQ3MiwyNDc0LDI0ODAsMjQ4MiwyNDgyLDI0ODYsMjQ4OSwyNDkyLDI1MDAsMjUwMywyNTA0LDI1MDcsMjUxMCwyNTE5LDI1MTksMjUyNCwyNTI1LDI1MjcsMjUzMSwyNTM0LDI1NDUsMjU2MSwyNTYzLDI1NjUsMjU3MCwyNTc1LDI1NzYsMjU3OSwyNjAwLDI2MDIsMjYwOCwyNjEwLDI2MTEsMjYxMywyNjE0LDI2MTYsMjYxNywyNjIwLDI2MjAsMjYyMiwyNjI2LDI2MzEsMjYzMiwyNjM1LDI2MzcsMjY0MSwyNjQxLDI2NDksMjY1MiwyNjU0LDI2NTQsMjY2MiwyNjc3LDI2ODksMjY5MSwyNjkzLDI3MDEsMjcwMywyNzA1LDI3MDcsMjcyOCwyNzMwLDI3MzYsMjczOCwyNzM5LDI3NDEsMjc0NSwyNzQ4LDI3NTcsMjc1OSwyNzYxLDI3NjMsMjc2NSwyNzY4LDI3NjgsMjc4NCwyNzg3LDI3OTAsMjc5OSwyODE3LDI4MTksMjgyMSwyODI4LDI4MzEsMjgzMiwyODM1LDI4NTYsMjg1OCwyODY0LDI4NjYsMjg2NywyODY5LDI4NzMsMjg3NiwyODg0LDI4ODcsMjg4OCwyODkxLDI4OTMsMjkwMiwyOTAzLDI5MDgsMjkwOSwyOTExLDI5MTUsMjkxOCwyOTI3LDI5MjksMjkyOSwyOTQ2LDI5NDcsMjk0OSwyOTU0LDI5NTgsMjk2MCwyOTYyLDI5NjUsMjk2OSwyOTcwLDI5NzIsMjk3MiwyOTc0LDI5NzUsMjk3OSwyOTgwLDI5ODQsMjk4NiwyOTkwLDMwMDEsMzAwNiwzMDEwLDMwMTQsMzAxNiwzMDE4LDMwMjEsMzAyNCwzMDI0LDMwMzEsMzAzMSwzMDQ2LDMwNTUsMzA3MywzMDc1LDMwNzcsMzA4NCwzMDg2LDMwODgsMzA5MCwzMTEyLDMxMTQsMzEyMywzMTI1LDMxMjksMzEzMywzMTQwLDMxNDIsMzE0NCwzMTQ2LDMxNDksMzE1NywzMTU4LDMxNjAsMzE2MSwzMTY4LDMxNzEsMzE3NCwzMTgzLDMyMDIsMzIwMywzMjA1LDMyMTIsMzIxNCwzMjE2LDMyMTgsMzI0MCwzMjQyLDMyNTEsMzI1MywzMjU3LDMyNjAsMzI2OCwzMjcwLDMyNzIsMzI3NCwzMjc3LDMyODUsMzI4NiwzMjk0LDMyOTQsMzI5NiwzMjk5LDMzMDIsMzMxMSwzMzEzLDMzMTQsMzMzMCwzMzMxLDMzMzMsMzM0MCwzMzQyLDMzNDQsMzM0NiwzMzg2LDMzODksMzM5NiwzMzk4LDM0MDAsMzQwMiwzNDA2LDM0MTUsMzQxNSwzNDI0LDM0MjcsMzQzMCwzNDM5LDM0NTAsMzQ1NSwzNDU4LDM0NTksMzQ2MSwzNDc4LDM0ODIsMzUwNSwzNTA3LDM1MTUsMzUxNywzNTE3LDM1MjAsMzUyNiwzNTMwLDM1MzAsMzUzNSwzNTQwLDM1NDIsMzU0MiwzNTQ0LDM1NTEsMzU3MCwzNTcxLDM1ODUsMzY0MiwzNjQ4LDM2NjIsMzY2NCwzNjczLDM3MTMsMzcxNCwzNzE2LDM3MTYsMzcxOSwzNzIwLDM3MjIsMzcyMiwzNzI1LDM3MjUsMzczMiwzNzM1LDM3MzcsMzc0MywzNzQ1LDM3NDcsMzc0OSwzNzQ5LDM3NTEsMzc1MSwzNzU0LDM3NTUsMzc1NywzNzY5LDM3NzEsMzc3MywzNzc2LDM3ODAsMzc4MiwzNzgyLDM3ODQsMzc4OSwzNzkyLDM4MDEsMzgwNCwzODA3LDM4NDAsMzg0MCwzODY0LDM4NjUsMzg3MiwzODgxLDM4OTMsMzg5MywzODk1LDM4OTUsMzg5NywzODk3LDM5MDIsMzkxMSwzOTEzLDM5NDgsMzk1MywzOTcyLDM5NzQsMzk5MSwzOTkzLDQwMjgsNDAzOCw0MDM4LDQwOTYsNDE2OSw0MTc2LDQyNTMsNDI1Niw0MjkzLDQyOTUsNDI5NSw0MzAxLDQzMDEsNDMwNCw0MzQ2LDQzNDgsNDY4MCw0NjgyLDQ2ODUsNDY4OCw0Njk0LDQ2OTYsNDY5Niw0Njk4LDQ3MDEsNDcwNCw0NzQ0LDQ3NDYsNDc0OSw0NzUyLDQ3ODQsNDc4Niw0Nzg5LDQ3OTIsNDc5OCw0ODAwLDQ4MDAsNDgwMiw0ODA1LDQ4MDgsNDgyMiw0ODI0LDQ4ODAsNDg4Miw0ODg1LDQ4ODgsNDk1NCw0OTU3LDQ5NTksNDk5Miw1MDA3LDUwMjQsNTEwOCw1MTIxLDU3NDAsNTc0Myw1NzU5LDU3NjEsNTc4Niw1NzkyLDU4NjYsNTg3MCw1ODcyLDU4ODgsNTkwMCw1OTAyLDU5MDgsNTkyMCw1OTQwLDU5NTIsNTk3MSw1OTg0LDU5OTYsNTk5OCw2ZTMsNjAwMiw2MDAzLDYwMTYsNjA5OSw2MTAzLDYxMDMsNjEwOCw2MTA5LDYxMTIsNjEyMSw2MTU1LDYxNTcsNjE2MCw2MTY5LDYxNzYsNjI2Myw2MjcyLDYzMTQsNjMyMCw2Mzg5LDY0MDAsNjQyOCw2NDMyLDY0NDMsNjQ0OCw2NDU5LDY0NzAsNjUwOSw2NTEyLDY1MTYsNjUyOCw2NTcxLDY1NzYsNjYwMSw2NjA4LDY2MTcsNjY1Niw2NjgzLDY2ODgsNjc1MCw2NzUyLDY3ODAsNjc4Myw2NzkzLDY4MDAsNjgwOSw2ODIzLDY4MjMsNjkxMiw2OTg3LDY5OTIsNzAwMSw3MDE5LDcwMjcsNzA0MCw3MTU1LDcxNjgsNzIyMyw3MjMyLDcyNDEsNzI0NSw3MjkzLDczNzYsNzM3OCw3MzgwLDc0MTQsNzQyNCw3NjU0LDc2NzYsNzk1Nyw3OTYwLDc5NjUsNzk2OCw4MDA1LDgwMDgsODAxMyw4MDE2LDgwMjMsODAyNSw4MDI1LDgwMjcsODAyNyw4MDI5LDgwMjksODAzMSw4MDYxLDgwNjQsODExNiw4MTE4LDgxMjQsODEyNiw4MTI2LDgxMzAsODEzMiw4MTM0LDgxNDAsODE0NCw4MTQ3LDgxNTAsODE1NSw4MTYwLDgxNzIsODE3OCw4MTgwLDgxODIsODE4OCw4MjA0LDgyMDUsODI1NSw4MjU2LDgyNzYsODI3Niw4MzA1LDgzMDUsODMxOSw4MzE5LDgzMzYsODM0OCw4NDAwLDg0MTIsODQxNyw4NDE3LDg0MjEsODQzMiw4NDUwLDg0NTAsODQ1NSw4NDU1LDg0NTgsODQ2Nyw4NDY5LDg0NjksODQ3Myw4NDc3LDg0ODQsODQ4NCw4NDg2LDg0ODYsODQ4OCw4NDg4LDg0OTAsODQ5Myw4NDk1LDg1MDUsODUwOCw4NTExLDg1MTcsODUyMSw4NTI2LDg1MjYsODU0NCw4NTg0LDExMjY0LDExMzEwLDExMzEyLDExMzU4LDExMzYwLDExNDkyLDExNDk5LDExNTA3LDExNTIwLDExNTU3LDExNTU5LDExNTU5LDExNTY1LDExNTY1LDExNTY4LDExNjIzLDExNjMxLDExNjMxLDExNjQ3LDExNjcwLDExNjgwLDExNjg2LDExNjg4LDExNjk0LDExNjk2LDExNzAyLDExNzA0LDExNzEwLDExNzEyLDExNzE4LDExNzIwLDExNzI2LDExNzI4LDExNzM0LDExNzM2LDExNzQyLDExNzQ0LDExNzc1LDExODIzLDExODIzLDEyMjkzLDEyMjk1LDEyMzIxLDEyMzM1LDEyMzM3LDEyMzQxLDEyMzQ0LDEyMzQ4LDEyMzUzLDEyNDM4LDEyNDQxLDEyNDQyLDEyNDQ1LDEyNDQ3LDEyNDQ5LDEyNTM4LDEyNTQwLDEyNTQzLDEyNTQ5LDEyNTg5LDEyNTkzLDEyNjg2LDEyNzA0LDEyNzMwLDEyNzg0LDEyNzk5LDEzMzEyLDE5ODkzLDE5OTY4LDQwOTA4LDQwOTYwLDQyMTI0LDQyMTkyLDQyMjM3LDQyMjQwLDQyNTA4LDQyNTEyLDQyNTM5LDQyNTYwLDQyNjA3LDQyNjEyLDQyNjIxLDQyNjIzLDQyNjQ3LDQyNjU1LDQyNzM3LDQyNzc1LDQyNzgzLDQyNzg2LDQyODg4LDQyODkxLDQyODk0LDQyODk2LDQyODk5LDQyOTEyLDQyOTIyLDQzZTMsNDMwNDcsNDMwNzIsNDMxMjMsNDMxMzYsNDMyMDQsNDMyMTYsNDMyMjUsNDMyMzIsNDMyNTUsNDMyNTksNDMyNTksNDMyNjQsNDMzMDksNDMzMTIsNDMzNDcsNDMzNjAsNDMzODgsNDMzOTIsNDM0NTYsNDM0NzEsNDM0ODEsNDM1MjAsNDM1NzQsNDM1ODQsNDM1OTcsNDM2MDAsNDM2MDksNDM2MTYsNDM2MzgsNDM2NDIsNDM2NDMsNDM2NDgsNDM3MTQsNDM3MzksNDM3NDEsNDM3NDQsNDM3NTksNDM3NjIsNDM3NjYsNDM3NzcsNDM3ODIsNDM3ODUsNDM3OTAsNDM3OTMsNDM3OTgsNDM4MDgsNDM4MTQsNDM4MTYsNDM4MjIsNDM5NjgsNDQwMTAsNDQwMTIsNDQwMTMsNDQwMTYsNDQwMjUsNDQwMzIsNTUyMDMsNTUyMTYsNTUyMzgsNTUyNDMsNTUyOTEsNjM3NDQsNjQxMDksNjQxMTIsNjQyMTcsNjQyNTYsNjQyNjIsNjQyNzUsNjQyNzksNjQyODUsNjQyOTYsNjQyOTgsNjQzMTAsNjQzMTIsNjQzMTYsNjQzMTgsNjQzMTgsNjQzMjAsNjQzMjEsNjQzMjMsNjQzMjQsNjQzMjYsNjQ0MzMsNjQ0NjcsNjQ4MjksNjQ4NDgsNjQ5MTEsNjQ5MTQsNjQ5NjcsNjUwMDgsNjUwMTksNjUwMjQsNjUwMzksNjUwNTYsNjUwNjIsNjUwNzUsNjUwNzYsNjUxMDEsNjUxMDMsNjUxMzYsNjUxNDAsNjUxNDIsNjUyNzYsNjUyOTYsNjUzMDUsNjUzMTMsNjUzMzgsNjUzNDMsNjUzNDMsNjUzNDUsNjUzNzAsNjUzODIsNjU0NzAsNjU0NzQsNjU0NzksNjU0ODIsNjU0ODcsNjU0OTAsNjU0OTUsNjU0OTgsNjU1MDBdLEh5PVs2NSw5MCw5NywxMjIsMTcwLDE3MCwxODEsMTgxLDE4NiwxODYsMTkyLDIxNCwyMTYsMjQ2LDI0OCw3MDUsNzEwLDcyMSw3MzYsNzQwLDc0OCw3NDgsNzUwLDc1MCw4ODAsODg0LDg4Niw4ODcsODkwLDg5Myw4OTUsODk1LDkwMiw5MDIsOTA0LDkwNiw5MDgsOTA4LDkxMCw5MjksOTMxLDEwMTMsMTAxNSwxMTUzLDExNjIsMTMyNywxMzI5LDEzNjYsMTM2OSwxMzY5LDEzNzYsMTQxNiwxNDg4LDE1MTQsMTUxOSwxNTIyLDE1NjgsMTYxMCwxNjQ2LDE2NDcsMTY0OSwxNzQ3LDE3NDksMTc0OSwxNzY1LDE3NjYsMTc3NCwxNzc1LDE3ODYsMTc4OCwxNzkxLDE3OTEsMTgwOCwxODA4LDE4MTAsMTgzOSwxODY5LDE5NTcsMTk2OSwxOTY5LDE5OTQsMjAyNiwyMDM2LDIwMzcsMjA0MiwyMDQyLDIwNDgsMjA2OSwyMDc0LDIwNzQsMjA4NCwyMDg0LDIwODgsMjA4OCwyMTEyLDIxMzYsMjE0NCwyMTU0LDIxNjAsMjE4MywyMTg1LDIxOTAsMjIwOCwyMjQ5LDIzMDgsMjM2MSwyMzY1LDIzNjUsMjM4NCwyMzg0LDIzOTIsMjQwMSwyNDE3LDI0MzIsMjQzNywyNDQ0LDI0NDcsMjQ0OCwyNDUxLDI0NzIsMjQ3NCwyNDgwLDI0ODIsMjQ4MiwyNDg2LDI0ODksMjQ5MywyNDkzLDI1MTAsMjUxMCwyNTI0LDI1MjUsMjUyNywyNTI5LDI1NDQsMjU0NSwyNTU2LDI1NTYsMjU2NSwyNTcwLDI1NzUsMjU3NiwyNTc5LDI2MDAsMjYwMiwyNjA4LDI2MTAsMjYxMSwyNjEzLDI2MTQsMjYxNiwyNjE3LDI2NDksMjY1MiwyNjU0LDI2NTQsMjY3NCwyNjc2LDI2OTMsMjcwMSwyNzAzLDI3MDUsMjcwNywyNzI4LDI3MzAsMjczNiwyNzM4LDI3MzksMjc0MSwyNzQ1LDI3NDksMjc0OSwyNzY4LDI3NjgsMjc4NCwyNzg1LDI4MDksMjgwOSwyODIxLDI4MjgsMjgzMSwyODMyLDI4MzUsMjg1NiwyODU4LDI4NjQsMjg2NiwyODY3LDI4NjksMjg3MywyODc3LDI4NzcsMjkwOCwyOTA5LDI5MTEsMjkxMywyOTI5LDI5MjksMjk0NywyOTQ3LDI5NDksMjk1NCwyOTU4LDI5NjAsMjk2MiwyOTY1LDI5NjksMjk3MCwyOTcyLDI5NzIsMjk3NCwyOTc1LDI5NzksMjk4MCwyOTg0LDI5ODYsMjk5MCwzMDAxLDMwMjQsMzAyNCwzMDc3LDMwODQsMzA4NiwzMDg4LDMwOTAsMzExMiwzMTE0LDMxMjksMzEzMywzMTMzLDMxNjAsMzE2MiwzMTY1LDMxNjUsMzE2OCwzMTY5LDMyMDAsMzIwMCwzMjA1LDMyMTIsMzIxNCwzMjE2LDMyMTgsMzI0MCwzMjQyLDMyNTEsMzI1MywzMjU3LDMyNjEsMzI2MSwzMjkzLDMyOTQsMzI5NiwzMjk3LDMzMTMsMzMxNCwzMzMyLDMzNDAsMzM0MiwzMzQ0LDMzNDYsMzM4NiwzMzg5LDMzODksMzQwNiwzNDA2LDM0MTIsMzQxNCwzNDIzLDM0MjUsMzQ1MCwzNDU1LDM0NjEsMzQ3OCwzNDgyLDM1MDUsMzUwNywzNTE1LDM1MTcsMzUxNywzNTIwLDM1MjYsMzU4NSwzNjMyLDM2MzQsMzYzNSwzNjQ4LDM2NTQsMzcxMywzNzE0LDM3MTYsMzcxNiwzNzE4LDM3MjIsMzcyNCwzNzQ3LDM3NDksMzc0OSwzNzUxLDM3NjAsMzc2MiwzNzYzLDM3NzMsMzc3MywzNzc2LDM3ODAsMzc4MiwzNzgyLDM4MDQsMzgwNywzODQwLDM4NDAsMzkwNCwzOTExLDM5MTMsMzk0OCwzOTc2LDM5ODAsNDA5Niw0MTM4LDQxNTksNDE1OSw0MTc2LDQxODEsNDE4Niw0MTg5LDQxOTMsNDE5Myw0MTk3LDQxOTgsNDIwNiw0MjA4LDQyMTMsNDIyNSw0MjM4LDQyMzgsNDI1Niw0MjkzLDQyOTUsNDI5NSw0MzAxLDQzMDEsNDMwNCw0MzQ2LDQzNDgsNDY4MCw0NjgyLDQ2ODUsNDY4OCw0Njk0LDQ2OTYsNDY5Niw0Njk4LDQ3MDEsNDcwNCw0NzQ0LDQ3NDYsNDc0OSw0NzUyLDQ3ODQsNDc4Niw0Nzg5LDQ3OTIsNDc5OCw0ODAwLDQ4MDAsNDgwMiw0ODA1LDQ4MDgsNDgyMiw0ODI0LDQ4ODAsNDg4Miw0ODg1LDQ4ODgsNDk1NCw0OTkyLDUwMDcsNTAyNCw1MTA5LDUxMTIsNTExNyw1MTIxLDU3NDAsNTc0Myw1NzU5LDU3NjEsNTc4Niw1NzkyLDU4NjYsNTg3MCw1ODgwLDU4ODgsNTkwNSw1OTE5LDU5MzcsNTk1Miw1OTY5LDU5ODQsNTk5Niw1OTk4LDZlMyw2MDE2LDYwNjcsNjEwMyw2MTAzLDYxMDgsNjEwOCw2MTc2LDYyNjQsNjI3Miw2MzEyLDYzMTQsNjMxNCw2MzIwLDYzODksNjQwMCw2NDMwLDY0ODAsNjUwOSw2NTEyLDY1MTYsNjUyOCw2NTcxLDY1NzYsNjYwMSw2NjU2LDY2NzgsNjY4OCw2NzQwLDY4MjMsNjgyMyw2OTE3LDY5NjMsNjk4MSw2OTg4LDcwNDMsNzA3Miw3MDg2LDcwODcsNzA5OCw3MTQxLDcxNjgsNzIwMyw3MjQ1LDcyNDcsNzI1OCw3MjkzLDcyOTYsNzMwNCw3MzEyLDczNTQsNzM1Nyw3MzU5LDc0MDEsNzQwNCw3NDA2LDc0MTEsNzQxMyw3NDE0LDc0MTgsNzQxOCw3NDI0LDc2MTUsNzY4MCw3OTU3LDc5NjAsNzk2NSw3OTY4LDgwMDUsODAwOCw4MDEzLDgwMTYsODAyMyw4MDI1LDgwMjUsODAyNyw4MDI3LDgwMjksODAyOSw4MDMxLDgwNjEsODA2NCw4MTE2LDgxMTgsODEyNCw4MTI2LDgxMjYsODEzMCw4MTMyLDgxMzQsODE0MCw4MTQ0LDgxNDcsODE1MCw4MTU1LDgxNjAsODE3Miw4MTc4LDgxODAsODE4Miw4MTg4LDgzMDUsODMwNSw4MzE5LDgzMTksODMzNiw4MzQ4LDg0NTAsODQ1MCw4NDU1LDg0NTUsODQ1OCw4NDY3LDg0NjksODQ2OSw4NDcyLDg0NzcsODQ4NCw4NDg0LDg0ODYsODQ4Niw4NDg4LDg0ODgsODQ5MCw4NTA1LDg1MDgsODUxMSw4NTE3LDg1MjEsODUyNiw4NTI2LDg1NDQsODU4NCwxMTI2NCwxMTQ5MiwxMTQ5OSwxMTUwMiwxMTUwNiwxMTUwNywxMTUyMCwxMTU1NywxMTU1OSwxMTU1OSwxMTU2NSwxMTU2NSwxMTU2OCwxMTYyMywxMTYzMSwxMTYzMSwxMTY0OCwxMTY3MCwxMTY4MCwxMTY4NiwxMTY4OCwxMTY5NCwxMTY5NiwxMTcwMiwxMTcwNCwxMTcxMCwxMTcxMiwxMTcxOCwxMTcyMCwxMTcyNiwxMTcyOCwxMTczNCwxMTczNiwxMTc0MiwxMjI5MywxMjI5NSwxMjMyMSwxMjMyOSwxMjMzNywxMjM0MSwxMjM0NCwxMjM0OCwxMjM1MywxMjQzOCwxMjQ0MywxMjQ0NywxMjQ0OSwxMjUzOCwxMjU0MCwxMjU0MywxMjU0OSwxMjU5MSwxMjU5MywxMjY4NiwxMjcwNCwxMjczNSwxMjc4NCwxMjc5OSwxMzMxMiwxOTkwMywxOTk2OCw0MjEyNCw0MjE5Miw0MjIzNyw0MjI0MCw0MjUwOCw0MjUxMiw0MjUyNyw0MjUzOCw0MjUzOSw0MjU2MCw0MjYwNiw0MjYyMyw0MjY1Myw0MjY1Niw0MjczNSw0Mjc3NSw0Mjc4Myw0Mjc4Niw0Mjg4OCw0Mjg5MSw0Mjk1NCw0Mjk2MCw0Mjk2MSw0Mjk2Myw0Mjk2Myw0Mjk2NSw0Mjk2OSw0Mjk5NCw0MzAwOSw0MzAxMSw0MzAxMyw0MzAxNSw0MzAxOCw0MzAyMCw0MzA0Miw0MzA3Miw0MzEyMyw0MzEzOCw0MzE4Nyw0MzI1MCw0MzI1NSw0MzI1OSw0MzI1OSw0MzI2MSw0MzI2Miw0MzI3NCw0MzMwMSw0MzMxMiw0MzMzNCw0MzM2MCw0MzM4OCw0MzM5Niw0MzQ0Miw0MzQ3MSw0MzQ3MSw0MzQ4OCw0MzQ5Miw0MzQ5NCw0MzUwMyw0MzUxNCw0MzUxOCw0MzUyMCw0MzU2MCw0MzU4NCw0MzU4Niw0MzU4OCw0MzU5NSw0MzYxNiw0MzYzOCw0MzY0Miw0MzY0Miw0MzY0Niw0MzY5NSw0MzY5Nyw0MzY5Nyw0MzcwMSw0MzcwMiw0MzcwNSw0MzcwOSw0MzcxMiw0MzcxMiw0MzcxNCw0MzcxNCw0MzczOSw0Mzc0MSw0Mzc0NCw0Mzc1NCw0Mzc2Miw0Mzc2NCw0Mzc3Nyw0Mzc4Miw0Mzc4NSw0Mzc5MCw0Mzc5Myw0Mzc5OCw0MzgwOCw0MzgxNCw0MzgxNiw0MzgyMiw0MzgyNCw0Mzg2Niw0Mzg2OCw0Mzg4MSw0Mzg4OCw0NDAwMiw0NDAzMiw1NTIwMyw1NTIxNiw1NTIzOCw1NTI0Myw1NTI5MSw2Mzc0NCw2NDEwOSw2NDExMiw2NDIxNyw2NDI1Niw2NDI2Miw2NDI3NSw2NDI3OSw2NDI4NSw2NDI4NSw2NDI4Nyw2NDI5Niw2NDI5OCw2NDMxMCw2NDMxMiw2NDMxNiw2NDMxOCw2NDMxOCw2NDMyMCw2NDMyMSw2NDMyMyw2NDMyNCw2NDMyNiw2NDQzMyw2NDQ2Nyw2NDgyOSw2NDg0OCw2NDkxMSw2NDkxNCw2NDk2Nyw2NTAwOCw2NTAxOSw2NTEzNiw2NTE0MCw2NTE0Miw2NTI3Niw2NTMxMyw2NTMzOCw2NTM0NSw2NTM3MCw2NTM4Miw2NTQ3MCw2NTQ3NCw2NTQ3OSw2NTQ4Miw2NTQ4Nyw2NTQ5MCw2NTQ5NSw2NTQ5OCw2NTUwMCw2NTUzNiw2NTU0Nyw2NTU0OSw2NTU3NCw2NTU3Niw2NTU5NCw2NTU5Niw2NTU5Nyw2NTU5OSw2NTYxMyw2NTYxNiw2NTYyOSw2NTY2NCw2NTc4Niw2NTg1Niw2NTkwOCw2NjE3Niw2NjIwNCw2NjIwOCw2NjI1Niw2NjMwNCw2NjMzNSw2NjM0OSw2NjM3OCw2NjM4NCw2NjQyMSw2NjQzMiw2NjQ2MSw2NjQ2NCw2NjQ5OSw2NjUwNCw2NjUxMSw2NjUxMyw2NjUxNyw2NjU2MCw2NjcxNyw2NjczNiw2Njc3MSw2Njc3Niw2NjgxMSw2NjgxNiw2Njg1NSw2Njg2NCw2NjkxNSw2NjkyOCw2NjkzOCw2Njk0MCw2Njk1NCw2Njk1Niw2Njk2Miw2Njk2NCw2Njk2NSw2Njk2Nyw2Njk3Nyw2Njk3OSw2Njk5Myw2Njk5NSw2NzAwMSw2NzAwMyw2NzAwNCw2NzA3Miw2NzM4Miw2NzM5Miw2NzQxMyw2NzQyNCw2NzQzMSw2NzQ1Niw2NzQ2MSw2NzQ2Myw2NzUwNCw2NzUwNiw2NzUxNCw2NzU4NCw2NzU4OSw2NzU5Miw2NzU5Miw2NzU5NCw2NzYzNyw2NzYzOSw2NzY0MCw2NzY0NCw2NzY0NCw2NzY0Nyw2NzY2OSw2NzY4MCw2NzcwMiw2NzcxMiw2Nzc0Miw2NzgwOCw2NzgyNiw2NzgyOCw2NzgyOSw2Nzg0MCw2Nzg2MSw2Nzg3Miw2Nzg5Nyw2Nzk2OCw2ODAyMyw2ODAzMCw2ODAzMSw2ODA5Niw2ODA5Niw2ODExMiw2ODExNSw2ODExNyw2ODExOSw2ODEyMSw2ODE0OSw2ODE5Miw2ODIyMCw2ODIyNCw2ODI1Miw2ODI4OCw2ODI5NSw2ODI5Nyw2ODMyNCw2ODM1Miw2ODQwNSw2ODQxNiw2ODQzNyw2ODQ0OCw2ODQ2Niw2ODQ4MCw2ODQ5Nyw2ODYwOCw2ODY4MCw2ODczNiw2ODc4Niw2ODgwMCw2ODg1MCw2ODg2NCw2ODg5OSw2OTI0OCw2OTI4OSw2OTI5Niw2OTI5Nyw2OTM3Niw2OTQwNCw2OTQxNSw2OTQxNSw2OTQyNCw2OTQ0NSw2OTQ4OCw2OTUwNSw2OTU1Miw2OTU3Miw2OTYwMCw2OTYyMiw2OTYzNSw2OTY4Nyw2OTc0NSw2OTc0Niw2OTc0OSw2OTc0OSw2OTc2Myw2OTgwNyw2OTg0MCw2OTg2NCw2OTg5MSw2OTkyNiw2OTk1Niw2OTk1Niw2OTk1OSw2OTk1OSw2OTk2OCw3MDAwMiw3MDAwNiw3MDAwNiw3MDAxOSw3MDA2Niw3MDA4MSw3MDA4NCw3MDEwNiw3MDEwNiw3MDEwOCw3MDEwOCw3MDE0NCw3MDE2MSw3MDE2Myw3MDE4Nyw3MDIwNyw3MDIwOCw3MDI3Miw3MDI3OCw3MDI4MCw3MDI4MCw3MDI4Miw3MDI4NSw3MDI4Nyw3MDMwMSw3MDMwMyw3MDMxMiw3MDMyMCw3MDM2Niw3MDQwNSw3MDQxMiw3MDQxNSw3MDQxNiw3MDQxOSw3MDQ0MCw3MDQ0Miw3MDQ0OCw3MDQ1MCw3MDQ1MSw3MDQ1Myw3MDQ1Nyw3MDQ2MSw3MDQ2MSw3MDQ4MCw3MDQ4MCw3MDQ5Myw3MDQ5Nyw3MDY1Niw3MDcwOCw3MDcyNyw3MDczMCw3MDc1MSw3MDc1Myw3MDc4NCw3MDgzMSw3MDg1Miw3MDg1Myw3MDg1NSw3MDg1NSw3MTA0MCw3MTA4Niw3MTEyOCw3MTEzMSw3MTE2OCw3MTIxNSw3MTIzNiw3MTIzNiw3MTI5Niw3MTMzOCw3MTM1Miw3MTM1Miw3MTQyNCw3MTQ1MCw3MTQ4OCw3MTQ5NCw3MTY4MCw3MTcyMyw3MTg0MCw3MTkwMyw3MTkzNSw3MTk0Miw3MTk0NSw3MTk0NSw3MTk0OCw3MTk1NSw3MTk1Nyw3MTk1OCw3MTk2MCw3MTk4Myw3MTk5OSw3MTk5OSw3MjAwMSw3MjAwMSw3MjA5Niw3MjEwMyw3MjEwNiw3MjE0NCw3MjE2MSw3MjE2MSw3MjE2Myw3MjE2Myw3MjE5Miw3MjE5Miw3MjIwMyw3MjI0Miw3MjI1MCw3MjI1MCw3MjI3Miw3MjI3Miw3MjI4NCw3MjMyOSw3MjM0OSw3MjM0OSw3MjM2OCw3MjQ0MCw3MjcwNCw3MjcxMiw3MjcxNCw3Mjc1MCw3Mjc2OCw3Mjc2OCw3MjgxOCw3Mjg0Nyw3Mjk2MCw3Mjk2Niw3Mjk2OCw3Mjk2OSw3Mjk3MSw3MzAwOCw3MzAzMCw3MzAzMCw3MzA1Niw3MzA2MSw3MzA2Myw3MzA2NCw3MzA2Niw3MzA5Nyw3MzExMiw3MzExMiw3MzQ0MCw3MzQ1OCw3MzQ3NCw3MzQ3NCw3MzQ3Niw3MzQ4OCw3MzQ5MCw3MzUyMyw3MzY0OCw3MzY0OCw3MzcyOCw3NDY0OSw3NDc1Miw3NDg2Miw3NDg4MCw3NTA3NSw3NzcxMiw3NzgwOCw3NzgyNCw3ODg5NSw3ODkxMyw3ODkxOCw4Mjk0NCw4MzUyNiw5MjE2MCw5MjcyOCw5MjczNiw5Mjc2Niw5Mjc4NCw5Mjg2Miw5Mjg4MCw5MjkwOSw5MjkyOCw5Mjk3NSw5Mjk5Miw5Mjk5NSw5MzAyNyw5MzA0Nyw5MzA1Myw5MzA3MSw5Mzc2MCw5MzgyMyw5Mzk1Miw5NDAyNiw5NDAzMiw5NDAzMiw5NDA5OSw5NDExMSw5NDE3Niw5NDE3Nyw5NDE3OSw5NDE3OSw5NDIwOCwxMDAzNDMsMTAwMzUyLDEwMTU4OSwxMDE2MzIsMTAxNjQwLDExMDU3NiwxMTA1NzksMTEwNTgxLDExMDU4NywxMTA1ODksMTEwNTkwLDExMDU5MiwxMTA4ODIsMTEwODk4LDExMDg5OCwxMTA5MjgsMTEwOTMwLDExMDkzMywxMTA5MzMsMTEwOTQ4LDExMDk1MSwxMTA5NjAsMTExMzU1LDExMzY2NCwxMTM3NzAsMTEzNzc2LDExMzc4OCwxMTM3OTIsMTEzODAwLDExMzgwOCwxMTM4MTcsMTE5ODA4LDExOTg5MiwxMTk4OTQsMTE5OTY0LDExOTk2NiwxMTk5NjcsMTE5OTcwLDExOTk3MCwxMTk5NzMsMTE5OTc0LDExOTk3NywxMTk5ODAsMTE5OTgyLDExOTk5MywxMTk5OTUsMTE5OTk1LDExOTk5NywxMjAwMDMsMTIwMDA1LDEyMDA2OSwxMjAwNzEsMTIwMDc0LDEyMDA3NywxMjAwODQsMTIwMDg2LDEyMDA5MiwxMjAwOTQsMTIwMTIxLDEyMDEyMywxMjAxMjYsMTIwMTI4LDEyMDEzMiwxMjAxMzQsMTIwMTM0LDEyMDEzOCwxMjAxNDQsMTIwMTQ2LDEyMDQ4NSwxMjA0ODgsMTIwNTEyLDEyMDUxNCwxMjA1MzgsMTIwNTQwLDEyMDU3MCwxMjA1NzIsMTIwNTk2LDEyMDU5OCwxMjA2MjgsMTIwNjMwLDEyMDY1NCwxMjA2NTYsMTIwNjg2LDEyMDY4OCwxMjA3MTIsMTIwNzE0LDEyMDc0NCwxMjA3NDYsMTIwNzcwLDEyMDc3MiwxMjA3NzksMTIyNjI0LDEyMjY1NCwxMjI2NjEsMTIyNjY2LDEyMjkyOCwxMjI5ODksMTIzMTM2LDEyMzE4MCwxMjMxOTEsMTIzMTk3LDEyMzIxNCwxMjMyMTQsMTIzNTM2LDEyMzU2NSwxMjM1ODQsMTIzNjI3LDEyNDExMiwxMjQxMzksMTI0ODk2LDEyNDkwMiwxMjQ5MDQsMTI0OTA3LDEyNDkwOSwxMjQ5MTAsMTI0OTEyLDEyNDkyNiwxMjQ5MjgsMTI1MTI0LDEyNTE4NCwxMjUyNTEsMTI1MjU5LDEyNTI1OSwxMjY0NjQsMTI2NDY3LDEyNjQ2OSwxMjY0OTUsMTI2NDk3LDEyNjQ5OCwxMjY1MDAsMTI2NTAwLDEyNjUwMywxMjY1MDMsMTI2NTA1LDEyNjUxNCwxMjY1MTYsMTI2NTE5LDEyNjUyMSwxMjY1MjEsMTI2NTIzLDEyNjUyMywxMjY1MzAsMTI2NTMwLDEyNjUzNSwxMjY1MzUsMTI2NTM3LDEyNjUzNywxMjY1MzksMTI2NTM5LDEyNjU0MSwxMjY1NDMsMTI2NTQ1LDEyNjU0NiwxMjY1NDgsMTI2NTQ4LDEyNjU1MSwxMjY1NTEsMTI2NTUzLDEyNjU1MywxMjY1NTUsMTI2NTU1LDEyNjU1NywxMjY1NTcsMTI2NTU5LDEyNjU1OSwxMjY1NjEsMTI2NTYyLDEyNjU2NCwxMjY1NjQsMTI2NTY3LDEyNjU3MCwxMjY1NzIsMTI2NTc4LDEyNjU4MCwxMjY1ODMsMTI2NTg1LDEyNjU4OCwxMjY1OTAsMTI2NTkwLDEyNjU5MiwxMjY2MDEsMTI2NjAzLDEyNjYxOSwxMjY2MjUsMTI2NjI3LDEyNjYyOSwxMjY2MzMsMTI2NjM1LDEyNjY1MSwxMzEwNzIsMTczNzkxLDE3MzgyNCwxNzc5NzcsMTc3OTg0LDE3ODIwNSwxNzgyMDgsMTgzOTY5LDE4Mzk4NCwxOTE0NTYsMTkxNDcyLDE5MjA5MywxOTQ1NjAsMTk1MTAxLDE5NjYwOCwyMDE1NDYsMjAxNTUyLDIwNTc0M10sWHk9WzQ4LDU3LDY1LDkwLDk1LDk1LDk3LDEyMiwxNzAsMTcwLDE4MSwxODEsMTgzLDE4MywxODYsMTg2LDE5MiwyMTQsMjE2LDI0NiwyNDgsNzA1LDcxMCw3MjEsNzM2LDc0MCw3NDgsNzQ4LDc1MCw3NTAsNzY4LDg4NCw4ODYsODg3LDg5MCw4OTMsODk1LDg5NSw5MDIsOTA2LDkwOCw5MDgsOTEwLDkyOSw5MzEsMTAxMywxMDE1LDExNTMsMTE1NSwxMTU5LDExNjIsMTMyNywxMzI5LDEzNjYsMTM2OSwxMzY5LDEzNzYsMTQxNiwxNDI1LDE0NjksMTQ3MSwxNDcxLDE0NzMsMTQ3NCwxNDc2LDE0NzcsMTQ3OSwxNDc5LDE0ODgsMTUxNCwxNTE5LDE1MjIsMTU1MiwxNTYyLDE1NjgsMTY0MSwxNjQ2LDE3NDcsMTc0OSwxNzU2LDE3NTksMTc2OCwxNzcwLDE3ODgsMTc5MSwxNzkxLDE4MDgsMTg2NiwxODY5LDE5NjksMTk4NCwyMDM3LDIwNDIsMjA0MiwyMDQ1LDIwNDUsMjA0OCwyMDkzLDIxMTIsMjEzOSwyMTQ0LDIxNTQsMjE2MCwyMTgzLDIxODUsMjE5MCwyMjAwLDIyNzMsMjI3NSwyNDAzLDI0MDYsMjQxNSwyNDE3LDI0MzUsMjQzNywyNDQ0LDI0NDcsMjQ0OCwyNDUxLDI0NzIsMjQ3NCwyNDgwLDI0ODIsMjQ4MiwyNDg2LDI0ODksMjQ5MiwyNTAwLDI1MDMsMjUwNCwyNTA3LDI1MTAsMjUxOSwyNTE5LDI1MjQsMjUyNSwyNTI3LDI1MzEsMjUzNCwyNTQ1LDI1NTYsMjU1NiwyNTU4LDI1NTgsMjU2MSwyNTYzLDI1NjUsMjU3MCwyNTc1LDI1NzYsMjU3OSwyNjAwLDI2MDIsMjYwOCwyNjEwLDI2MTEsMjYxMywyNjE0LDI2MTYsMjYxNywyNjIwLDI2MjAsMjYyMiwyNjI2LDI2MzEsMjYzMiwyNjM1LDI2MzcsMjY0MSwyNjQxLDI2NDksMjY1MiwyNjU0LDI2NTQsMjY2MiwyNjc3LDI2ODksMjY5MSwyNjkzLDI3MDEsMjcwMywyNzA1LDI3MDcsMjcyOCwyNzMwLDI3MzYsMjczOCwyNzM5LDI3NDEsMjc0NSwyNzQ4LDI3NTcsMjc1OSwyNzYxLDI3NjMsMjc2NSwyNzY4LDI3NjgsMjc4NCwyNzg3LDI3OTAsMjc5OSwyODA5LDI4MTUsMjgxNywyODE5LDI4MjEsMjgyOCwyODMxLDI4MzIsMjgzNSwyODU2LDI4NTgsMjg2NCwyODY2LDI4NjcsMjg2OSwyODczLDI4NzYsMjg4NCwyODg3LDI4ODgsMjg5MSwyODkzLDI5MDEsMjkwMywyOTA4LDI5MDksMjkxMSwyOTE1LDI5MTgsMjkyNywyOTI5LDI5MjksMjk0NiwyOTQ3LDI5NDksMjk1NCwyOTU4LDI5NjAsMjk2MiwyOTY1LDI5NjksMjk3MCwyOTcyLDI5NzIsMjk3NCwyOTc1LDI5NzksMjk4MCwyOTg0LDI5ODYsMjk5MCwzMDAxLDMwMDYsMzAxMCwzMDE0LDMwMTYsMzAxOCwzMDIxLDMwMjQsMzAyNCwzMDMxLDMwMzEsMzA0NiwzMDU1LDMwNzIsMzA4NCwzMDg2LDMwODgsMzA5MCwzMTEyLDMxMTQsMzEyOSwzMTMyLDMxNDAsMzE0MiwzMTQ0LDMxNDYsMzE0OSwzMTU3LDMxNTgsMzE2MCwzMTYyLDMxNjUsMzE2NSwzMTY4LDMxNzEsMzE3NCwzMTgzLDMyMDAsMzIwMywzMjA1LDMyMTIsMzIxNCwzMjE2LDMyMTgsMzI0MCwzMjQyLDMyNTEsMzI1MywzMjU3LDMyNjAsMzI2OCwzMjcwLDMyNzIsMzI3NCwzMjc3LDMyODUsMzI4NiwzMjkzLDMyOTQsMzI5NiwzMjk5LDMzMDIsMzMxMSwzMzEzLDMzMTUsMzMyOCwzMzQwLDMzNDIsMzM0NCwzMzQ2LDMzOTYsMzM5OCwzNDAwLDM0MDIsMzQwNiwzNDEyLDM0MTUsMzQyMywzNDI3LDM0MzAsMzQzOSwzNDUwLDM0NTUsMzQ1NywzNDU5LDM0NjEsMzQ3OCwzNDgyLDM1MDUsMzUwNywzNTE1LDM1MTcsMzUxNywzNTIwLDM1MjYsMzUzMCwzNTMwLDM1MzUsMzU0MCwzNTQyLDM1NDIsMzU0NCwzNTUxLDM1NTgsMzU2NywzNTcwLDM1NzEsMzU4NSwzNjQyLDM2NDgsMzY2MiwzNjY0LDM2NzMsMzcxMywzNzE0LDM3MTYsMzcxNiwzNzE4LDM3MjIsMzcyNCwzNzQ3LDM3NDksMzc0OSwzNzUxLDM3NzMsMzc3NiwzNzgwLDM3ODIsMzc4MiwzNzg0LDM3OTAsMzc5MiwzODAxLDM4MDQsMzgwNywzODQwLDM4NDAsMzg2NCwzODY1LDM4NzIsMzg4MSwzODkzLDM4OTMsMzg5NSwzODk1LDM4OTcsMzg5NywzOTAyLDM5MTEsMzkxMywzOTQ4LDM5NTMsMzk3MiwzOTc0LDM5OTEsMzk5Myw0MDI4LDQwMzgsNDAzOCw0MDk2LDQxNjksNDE3Niw0MjUzLDQyNTYsNDI5Myw0Mjk1LDQyOTUsNDMwMSw0MzAxLDQzMDQsNDM0Niw0MzQ4LDQ2ODAsNDY4Miw0Njg1LDQ2ODgsNDY5NCw0Njk2LDQ2OTYsNDY5OCw0NzAxLDQ3MDQsNDc0NCw0NzQ2LDQ3NDksNDc1Miw0Nzg0LDQ3ODYsNDc4OSw0NzkyLDQ3OTgsNDgwMCw0ODAwLDQ4MDIsNDgwNSw0ODA4LDQ4MjIsNDgyNCw0ODgwLDQ4ODIsNDg4NSw0ODg4LDQ5NTQsNDk1Nyw0OTU5LDQ5NjksNDk3Nyw0OTkyLDUwMDcsNTAyNCw1MTA5LDUxMTIsNTExNyw1MTIxLDU3NDAsNTc0Myw1NzU5LDU3NjEsNTc4Niw1NzkyLDU4NjYsNTg3MCw1ODgwLDU4ODgsNTkwOSw1OTE5LDU5NDAsNTk1Miw1OTcxLDU5ODQsNTk5Niw1OTk4LDZlMyw2MDAyLDYwMDMsNjAxNiw2MDk5LDYxMDMsNjEwMyw2MTA4LDYxMDksNjExMiw2MTIxLDYxNTUsNjE1Nyw2MTU5LDYxNjksNjE3Niw2MjY0LDYyNzIsNjMxNCw2MzIwLDYzODksNjQwMCw2NDMwLDY0MzIsNjQ0Myw2NDQ4LDY0NTksNjQ3MCw2NTA5LDY1MTIsNjUxNiw2NTI4LDY1NzEsNjU3Niw2NjAxLDY2MDgsNjYxOCw2NjU2LDY2ODMsNjY4OCw2NzUwLDY3NTIsNjc4MCw2NzgzLDY3OTMsNjgwMCw2ODA5LDY4MjMsNjgyMyw2ODMyLDY4NDUsNjg0Nyw2ODYyLDY5MTIsNjk4OCw2OTkyLDcwMDEsNzAxOSw3MDI3LDcwNDAsNzE1NSw3MTY4LDcyMjMsNzIzMiw3MjQxLDcyNDUsNzI5Myw3Mjk2LDczMDQsNzMxMiw3MzU0LDczNTcsNzM1OSw3Mzc2LDczNzgsNzM4MCw3NDE4LDc0MjQsNzk1Nyw3OTYwLDc5NjUsNzk2OCw4MDA1LDgwMDgsODAxMyw4MDE2LDgwMjMsODAyNSw4MDI1LDgwMjcsODAyNyw4MDI5LDgwMjksODAzMSw4MDYxLDgwNjQsODExNiw4MTE4LDgxMjQsODEyNiw4MTI2LDgxMzAsODEzMiw4MTM0LDgxNDAsODE0NCw4MTQ3LDgxNTAsODE1NSw4MTYwLDgxNzIsODE3OCw4MTgwLDgxODIsODE4OCw4MjA0LDgyMDUsODI1NSw4MjU2LDgyNzYsODI3Niw4MzA1LDgzMDUsODMxOSw4MzE5LDgzMzYsODM0OCw4NDAwLDg0MTIsODQxNyw4NDE3LDg0MjEsODQzMiw4NDUwLDg0NTAsODQ1NSw4NDU1LDg0NTgsODQ2Nyw4NDY5LDg0NjksODQ3Miw4NDc3LDg0ODQsODQ4NCw4NDg2LDg0ODYsODQ4OCw4NDg4LDg0OTAsODUwNSw4NTA4LDg1MTEsODUxNyw4NTIxLDg1MjYsODUyNiw4NTQ0LDg1ODQsMTEyNjQsMTE0OTIsMTE0OTksMTE1MDcsMTE1MjAsMTE1NTcsMTE1NTksMTE1NTksMTE1NjUsMTE1NjUsMTE1NjgsMTE2MjMsMTE2MzEsMTE2MzEsMTE2NDcsMTE2NzAsMTE2ODAsMTE2ODYsMTE2ODgsMTE2OTQsMTE2OTYsMTE3MDIsMTE3MDQsMTE3MTAsMTE3MTIsMTE3MTgsMTE3MjAsMTE3MjYsMTE3MjgsMTE3MzQsMTE3MzYsMTE3NDIsMTE3NDQsMTE3NzUsMTIyOTMsMTIyOTUsMTIzMjEsMTIzMzUsMTIzMzcsMTIzNDEsMTIzNDQsMTIzNDgsMTIzNTMsMTI0MzgsMTI0NDEsMTI0NDcsMTI0NDksMTI1NDMsMTI1NDksMTI1OTEsMTI1OTMsMTI2ODYsMTI3MDQsMTI3MzUsMTI3ODQsMTI3OTksMTMzMTIsMTk5MDMsMTk5NjgsNDIxMjQsNDIxOTIsNDIyMzcsNDIyNDAsNDI1MDgsNDI1MTIsNDI1MzksNDI1NjAsNDI2MDcsNDI2MTIsNDI2MjEsNDI2MjMsNDI3MzcsNDI3NzUsNDI3ODMsNDI3ODYsNDI4ODgsNDI4OTEsNDI5NTQsNDI5NjAsNDI5NjEsNDI5NjMsNDI5NjMsNDI5NjUsNDI5NjksNDI5OTQsNDMwNDcsNDMwNTIsNDMwNTIsNDMwNzIsNDMxMjMsNDMxMzYsNDMyMDUsNDMyMTYsNDMyMjUsNDMyMzIsNDMyNTUsNDMyNTksNDMyNTksNDMyNjEsNDMzMDksNDMzMTIsNDMzNDcsNDMzNjAsNDMzODgsNDMzOTIsNDM0NTYsNDM0NzEsNDM0ODEsNDM0ODgsNDM1MTgsNDM1MjAsNDM1NzQsNDM1ODQsNDM1OTcsNDM2MDAsNDM2MDksNDM2MTYsNDM2MzgsNDM2NDIsNDM3MTQsNDM3MzksNDM3NDEsNDM3NDQsNDM3NTksNDM3NjIsNDM3NjYsNDM3NzcsNDM3ODIsNDM3ODUsNDM3OTAsNDM3OTMsNDM3OTgsNDM4MDgsNDM4MTQsNDM4MTYsNDM4MjIsNDM4MjQsNDM4NjYsNDM4NjgsNDM4ODEsNDM4ODgsNDQwMTAsNDQwMTIsNDQwMTMsNDQwMTYsNDQwMjUsNDQwMzIsNTUyMDMsNTUyMTYsNTUyMzgsNTUyNDMsNTUyOTEsNjM3NDQsNjQxMDksNjQxMTIsNjQyMTcsNjQyNTYsNjQyNjIsNjQyNzUsNjQyNzksNjQyODUsNjQyOTYsNjQyOTgsNjQzMTAsNjQzMTIsNjQzMTYsNjQzMTgsNjQzMTgsNjQzMjAsNjQzMjEsNjQzMjMsNjQzMjQsNjQzMjYsNjQ0MzMsNjQ0NjcsNjQ4MjksNjQ4NDgsNjQ5MTEsNjQ5MTQsNjQ5NjcsNjUwMDgsNjUwMTksNjUwMjQsNjUwMzksNjUwNTYsNjUwNzEsNjUwNzUsNjUwNzYsNjUxMDEsNjUxMDMsNjUxMzYsNjUxNDAsNjUxNDIsNjUyNzYsNjUyOTYsNjUzMDUsNjUzMTMsNjUzMzgsNjUzNDMsNjUzNDMsNjUzNDUsNjUzNzAsNjUzODEsNjU0NzAsNjU0NzQsNjU0NzksNjU0ODIsNjU0ODcsNjU0OTAsNjU0OTUsNjU0OTgsNjU1MDAsNjU1MzYsNjU1NDcsNjU1NDksNjU1NzQsNjU1NzYsNjU1OTQsNjU1OTYsNjU1OTcsNjU1OTksNjU2MTMsNjU2MTYsNjU2MjksNjU2NjQsNjU3ODYsNjU4NTYsNjU5MDgsNjYwNDUsNjYwNDUsNjYxNzYsNjYyMDQsNjYyMDgsNjYyNTYsNjYyNzIsNjYyNzIsNjYzMDQsNjYzMzUsNjYzNDksNjYzNzgsNjYzODQsNjY0MjYsNjY0MzIsNjY0NjEsNjY0NjQsNjY0OTksNjY1MDQsNjY1MTEsNjY1MTMsNjY1MTcsNjY1NjAsNjY3MTcsNjY3MjAsNjY3MjksNjY3MzYsNjY3NzEsNjY3NzYsNjY4MTEsNjY4MTYsNjY4NTUsNjY4NjQsNjY5MTUsNjY5MjgsNjY5MzgsNjY5NDAsNjY5NTQsNjY5NTYsNjY5NjIsNjY5NjQsNjY5NjUsNjY5NjcsNjY5NzcsNjY5NzksNjY5OTMsNjY5OTUsNjcwMDEsNjcwMDMsNjcwMDQsNjcwNzIsNjczODIsNjczOTIsNjc0MTMsNjc0MjQsNjc0MzEsNjc0NTYsNjc0NjEsNjc0NjMsNjc1MDQsNjc1MDYsNjc1MTQsNjc1ODQsNjc1ODksNjc1OTIsNjc1OTIsNjc1OTQsNjc2MzcsNjc2MzksNjc2NDAsNjc2NDQsNjc2NDQsNjc2NDcsNjc2NjksNjc2ODAsNjc3MDIsNjc3MTIsNjc3NDIsNjc4MDgsNjc4MjYsNjc4MjgsNjc4MjksNjc4NDAsNjc4NjEsNjc4NzIsNjc4OTcsNjc5NjgsNjgwMjMsNjgwMzAsNjgwMzEsNjgwOTYsNjgwOTksNjgxMDEsNjgxMDIsNjgxMDgsNjgxMTUsNjgxMTcsNjgxMTksNjgxMjEsNjgxNDksNjgxNTIsNjgxNTQsNjgxNTksNjgxNTksNjgxOTIsNjgyMjAsNjgyMjQsNjgyNTIsNjgyODgsNjgyOTUsNjgyOTcsNjgzMjYsNjgzNTIsNjg0MDUsNjg0MTYsNjg0MzcsNjg0NDgsNjg0NjYsNjg0ODAsNjg0OTcsNjg2MDgsNjg2ODAsNjg3MzYsNjg3ODYsNjg4MDAsNjg4NTAsNjg4NjQsNjg5MDMsNjg5MTIsNjg5MjEsNjkyNDgsNjkyODksNjkyOTEsNjkyOTIsNjkyOTYsNjkyOTcsNjkzNzMsNjk0MDQsNjk0MTUsNjk0MTUsNjk0MjQsNjk0NTYsNjk0ODgsNjk1MDksNjk1NTIsNjk1NzIsNjk2MDAsNjk2MjIsNjk2MzIsNjk3MDIsNjk3MzQsNjk3NDksNjk3NTksNjk4MTgsNjk4MjYsNjk4MjYsNjk4NDAsNjk4NjQsNjk4NzIsNjk4ODEsNjk4ODgsNjk5NDAsNjk5NDIsNjk5NTEsNjk5NTYsNjk5NTksNjk5NjgsNzAwMDMsNzAwMDYsNzAwMDYsNzAwMTYsNzAwODQsNzAwODksNzAwOTIsNzAwOTQsNzAxMDYsNzAxMDgsNzAxMDgsNzAxNDQsNzAxNjEsNzAxNjMsNzAxOTksNzAyMDYsNzAyMDksNzAyNzIsNzAyNzgsNzAyODAsNzAyODAsNzAyODIsNzAyODUsNzAyODcsNzAzMDEsNzAzMDMsNzAzMTIsNzAzMjAsNzAzNzgsNzAzODQsNzAzOTMsNzA0MDAsNzA0MDMsNzA0MDUsNzA0MTIsNzA0MTUsNzA0MTYsNzA0MTksNzA0NDAsNzA0NDIsNzA0NDgsNzA0NTAsNzA0NTEsNzA0NTMsNzA0NTcsNzA0NTksNzA0NjgsNzA0NzEsNzA0NzIsNzA0NzUsNzA0NzcsNzA0ODAsNzA0ODAsNzA0ODcsNzA0ODcsNzA0OTMsNzA0OTksNzA1MDIsNzA1MDgsNzA1MTIsNzA1MTYsNzA2NTYsNzA3MzAsNzA3MzYsNzA3NDUsNzA3NTAsNzA3NTMsNzA3ODQsNzA4NTMsNzA4NTUsNzA4NTUsNzA4NjQsNzA4NzMsNzEwNDAsNzEwOTMsNzEwOTYsNzExMDQsNzExMjgsNzExMzMsNzExNjgsNzEyMzIsNzEyMzYsNzEyMzYsNzEyNDgsNzEyNTcsNzEyOTYsNzEzNTIsNzEzNjAsNzEzNjksNzE0MjQsNzE0NTAsNzE0NTMsNzE0NjcsNzE0NzIsNzE0ODEsNzE0ODgsNzE0OTQsNzE2ODAsNzE3MzgsNzE4NDAsNzE5MTMsNzE5MzUsNzE5NDIsNzE5NDUsNzE5NDUsNzE5NDgsNzE5NTUsNzE5NTcsNzE5NTgsNzE5NjAsNzE5ODksNzE5OTEsNzE5OTIsNzE5OTUsNzIwMDMsNzIwMTYsNzIwMjUsNzIwOTYsNzIxMDMsNzIxMDYsNzIxNTEsNzIxNTQsNzIxNjEsNzIxNjMsNzIxNjQsNzIxOTIsNzIyNTQsNzIyNjMsNzIyNjMsNzIyNzIsNzIzNDUsNzIzNDksNzIzNDksNzIzNjgsNzI0NDAsNzI3MDQsNzI3MTIsNzI3MTQsNzI3NTgsNzI3NjAsNzI3NjgsNzI3ODQsNzI3OTMsNzI4MTgsNzI4NDcsNzI4NTAsNzI4NzEsNzI4NzMsNzI4ODYsNzI5NjAsNzI5NjYsNzI5NjgsNzI5NjksNzI5NzEsNzMwMTQsNzMwMTgsNzMwMTgsNzMwMjAsNzMwMjEsNzMwMjMsNzMwMzEsNzMwNDAsNzMwNDksNzMwNTYsNzMwNjEsNzMwNjMsNzMwNjQsNzMwNjYsNzMxMDIsNzMxMDQsNzMxMDUsNzMxMDcsNzMxMTIsNzMxMjAsNzMxMjksNzM0NDAsNzM0NjIsNzM0NzIsNzM0ODgsNzM0OTAsNzM1MzAsNzM1MzQsNzM1MzgsNzM1NTIsNzM1NjEsNzM2NDgsNzM2NDgsNzM3MjgsNzQ2NDksNzQ3NTIsNzQ4NjIsNzQ4ODAsNzUwNzUsNzc3MTIsNzc4MDgsNzc4MjQsNzg4OTUsNzg5MTIsNzg5MzMsODI5NDQsODM1MjYsOTIxNjAsOTI3MjgsOTI3MzYsOTI3NjYsOTI3NjgsOTI3NzcsOTI3ODQsOTI4NjIsOTI4NjQsOTI4NzMsOTI4ODAsOTI5MDksOTI5MTIsOTI5MTYsOTI5MjgsOTI5ODIsOTI5OTIsOTI5OTUsOTMwMDgsOTMwMTcsOTMwMjcsOTMwNDcsOTMwNTMsOTMwNzEsOTM3NjAsOTM4MjMsOTM5NTIsOTQwMjYsOTQwMzEsOTQwODcsOTQwOTUsOTQxMTEsOTQxNzYsOTQxNzcsOTQxNzksOTQxODAsOTQxOTIsOTQxOTMsOTQyMDgsMTAwMzQzLDEwMDM1MiwxMDE1ODksMTAxNjMyLDEwMTY0MCwxMTA1NzYsMTEwNTc5LDExMDU4MSwxMTA1ODcsMTEwNTg5LDExMDU5MCwxMTA1OTIsMTEwODgyLDExMDg5OCwxMTA4OTgsMTEwOTI4LDExMDkzMCwxMTA5MzMsMTEwOTMzLDExMDk0OCwxMTA5NTEsMTEwOTYwLDExMTM1NSwxMTM2NjQsMTEzNzcwLDExMzc3NiwxMTM3ODgsMTEzNzkyLDExMzgwMCwxMTM4MDgsMTEzODE3LDExMzgyMSwxMTM4MjIsMTE4NTI4LDExODU3MywxMTg1NzYsMTE4NTk4LDExOTE0MSwxMTkxNDUsMTE5MTQ5LDExOTE1NCwxMTkxNjMsMTE5MTcwLDExOTE3MywxMTkxNzksMTE5MjEwLDExOTIxMywxMTkzNjIsMTE5MzY0LDExOTgwOCwxMTk4OTIsMTE5ODk0LDExOTk2NCwxMTk5NjYsMTE5OTY3LDExOTk3MCwxMTk5NzAsMTE5OTczLDExOTk3NCwxMTk5NzcsMTE5OTgwLDExOTk4MiwxMTk5OTMsMTE5OTk1LDExOTk5NSwxMTk5OTcsMTIwMDAzLDEyMDAwNSwxMjAwNjksMTIwMDcxLDEyMDA3NCwxMjAwNzcsMTIwMDg0LDEyMDA4NiwxMjAwOTIsMTIwMDk0LDEyMDEyMSwxMjAxMjMsMTIwMTI2LDEyMDEyOCwxMjAxMzIsMTIwMTM0LDEyMDEzNCwxMjAxMzgsMTIwMTQ0LDEyMDE0NiwxMjA0ODUsMTIwNDg4LDEyMDUxMiwxMjA1MTQsMTIwNTM4LDEyMDU0MCwxMjA1NzAsMTIwNTcyLDEyMDU5NiwxMjA1OTgsMTIwNjI4LDEyMDYzMCwxMjA2NTQsMTIwNjU2LDEyMDY4NiwxMjA2ODgsMTIwNzEyLDEyMDcxNCwxMjA3NDQsMTIwNzQ2LDEyMDc3MCwxMjA3NzIsMTIwNzc5LDEyMDc4MiwxMjA4MzEsMTIxMzQ0LDEyMTM5OCwxMjE0MDMsMTIxNDUyLDEyMTQ2MSwxMjE0NjEsMTIxNDc2LDEyMTQ3NiwxMjE0OTksMTIxNTAzLDEyMTUwNSwxMjE1MTksMTIyNjI0LDEyMjY1NCwxMjI2NjEsMTIyNjY2LDEyMjg4MCwxMjI4ODYsMTIyODg4LDEyMjkwNCwxMjI5MDcsMTIyOTEzLDEyMjkxNSwxMjI5MTYsMTIyOTE4LDEyMjkyMiwxMjI5MjgsMTIyOTg5LDEyMzAyMywxMjMwMjMsMTIzMTM2LDEyMzE4MCwxMjMxODQsMTIzMTk3LDEyMzIwMCwxMjMyMDksMTIzMjE0LDEyMzIxNCwxMjM1MzYsMTIzNTY2LDEyMzU4NCwxMjM2NDEsMTI0MTEyLDEyNDE1MywxMjQ4OTYsMTI0OTAyLDEyNDkwNCwxMjQ5MDcsMTI0OTA5LDEyNDkxMCwxMjQ5MTIsMTI0OTI2LDEyNDkyOCwxMjUxMjQsMTI1MTM2LDEyNTE0MiwxMjUxODQsMTI1MjU5LDEyNTI2NCwxMjUyNzMsMTI2NDY0LDEyNjQ2NywxMjY0NjksMTI2NDk1LDEyNjQ5NywxMjY0OTgsMTI2NTAwLDEyNjUwMCwxMjY1MDMsMTI2NTAzLDEyNjUwNSwxMjY1MTQsMTI2NTE2LDEyNjUxOSwxMjY1MjEsMTI2NTIxLDEyNjUyMywxMjY1MjMsMTI2NTMwLDEyNjUzMCwxMjY1MzUsMTI2NTM1LDEyNjUzNywxMjY1MzcsMTI2NTM5LDEyNjUzOSwxMjY1NDEsMTI2NTQzLDEyNjU0NSwxMjY1NDYsMTI2NTQ4LDEyNjU0OCwxMjY1NTEsMTI2NTUxLDEyNjU1MywxMjY1NTMsMTI2NTU1LDEyNjU1NSwxMjY1NTcsMTI2NTU3LDEyNjU1OSwxMjY1NTksMTI2NTYxLDEyNjU2MiwxMjY1NjQsMTI2NTY0LDEyNjU2NywxMjY1NzAsMTI2NTcyLDEyNjU3OCwxMjY1ODAsMTI2NTgzLDEyNjU4NSwxMjY1ODgsMTI2NTkwLDEyNjU5MCwxMjY1OTIsMTI2NjAxLDEyNjYwMywxMjY2MTksMTI2NjI1LDEyNjYyNywxMjY2MjksMTI2NjMzLDEyNjYzNSwxMjY2NTEsMTMwMDMyLDEzMDA0MSwxMzEwNzIsMTczNzkxLDE3MzgyNCwxNzc5NzcsMTc3OTg0LDE3ODIwNSwxNzgyMDgsMTgzOTY5LDE4Mzk4NCwxOTE0NTYsMTkxNDcyLDE5MjA5MywxOTQ1NjAsMTk1MTAxLDE5NjYwOCwyMDE1NDYsMjAxNTUyLDIwNTc0Myw5MTc3NjAsOTE3OTk5XSwkeT0vXlxcL1xcL1xcLz9cXHMqQCh0cy1leHBlY3QtZXJyb3J8dHMtaWdub3JlKS8sUXk9L14oPzpcXC98XFwqKSpcXHMqQCh0cy1leHBlY3QtZXJyb3J8dHMtaWdub3JlKS8sS3k9L0AoPzpzZWV8bGluaykvaTtmdW5jdGlvbiBkbChlLHQpe2lmKGU8dFswXSlyZXR1cm4hMTtsZXQgYT0wLG89dC5sZW5ndGgsbTtmb3IoO2ErMTxvOyl7aWYobT1hKyhvLWEpLzIsbS09bSUyLHRbbV08PWUmJmU8PXRbbSsxXSlyZXR1cm4hMDtlPHRbbV0/bz1tOmE9bSsyfXJldHVybiExfWZ1bmN0aW9uIFp5KGUsdCl7cmV0dXJuIHQ+PTI/ZGwoZSxIeSk6ZGwoZSxHeSl9ZnVuY3Rpb24gZWcoZSx0KXtyZXR1cm4gdD49Mj9kbChlLFh5KTpkbChlLFl5KX1mdW5jdGlvbiB6bShlKXtsZXQgdD1bXTtyZXR1cm4gZS5mb3JFYWNoKChhLG8pPT57dFthXT1vfSksdH12YXIgdGc9em0oQm0pO2Z1bmN0aW9uIGl0KGUpe3JldHVybiB0Z1tlXX1mdW5jdGlvbiBGbShlKXtyZXR1cm4gQm0uZ2V0KGUpfXZhciB6ND16bShxbSk7ZnVuY3Rpb24gUGQoZSl7cmV0dXJuIHFtLmdldChlKX1mdW5jdGlvbiBWbShlKXtsZXQgdD1bXSxhPTAsbz0wO2Zvcig7YTxlLmxlbmd0aDspe2xldCBtPWUuY2hhckNvZGVBdChhKTtzd2l0Y2goYSsrLG0pe2Nhc2UgMTM6ZS5jaGFyQ29kZUF0KGEpPT09MTAmJmErKztjYXNlIDEwOnQucHVzaChvKSxvPWE7YnJlYWs7ZGVmYXVsdDptPjEyNyYmQ24obSkmJih0LnB1c2gobyksbz1hKTticmVha319cmV0dXJuIHQucHVzaChvKSx0fWZ1bmN0aW9uIG5nKGUsdCxhLG8sbSl7KHQ8MHx8dD49ZS5sZW5ndGgpJiYobT90PXQ8MD8wOnQ+PWUubGVuZ3RoP2UubGVuZ3RoLTE6dDpCLmZhaWwoYEJhZCBsaW5lIG51bWJlci4gTGluZTogJHt0fSwgbGluZVN0YXJ0cy5sZW5ndGg6ICR7ZS5sZW5ndGh9ICwgbGluZSBtYXAgaXMgY29ycmVjdD8gJHtvIT09dm9pZCAwP195KGUsVm0obykpOlwidW5rbm93blwifWApKTtsZXQgdj1lW3RdK2E7cmV0dXJuIG0/dj5lW3QrMV0/ZVt0KzFdOnR5cGVvZiBvPT1cInN0cmluZ1wiJiZ2Pm8ubGVuZ3RoP28ubGVuZ3RoOnY6KHQ8ZS5sZW5ndGgtMT9CLmFzc2VydCh2PGVbdCsxXSk6byE9PXZvaWQgMCYmQi5hc3NlcnQodjw9by5sZW5ndGgpLHYpfWZ1bmN0aW9uIE1wKGUpe3JldHVybiBlLmxpbmVNYXB8fChlLmxpbmVNYXA9Vm0oZS50ZXh0KSl9ZnVuY3Rpb24gcmcoZSx0KXtsZXQgYT1pZyhlLHQpO3JldHVybntsaW5lOmEsY2hhcmFjdGVyOnQtZVthXX19ZnVuY3Rpb24gaWcoZSx0LGEpe2xldCBvPXB5KGUsdCxndCxEbSxhKTtyZXR1cm4gbzwwJiYobz1+by0xLEIuYXNzZXJ0KG8hPT0tMSxcInBvc2l0aW9uIGNhbm5vdCBwcmVjZWRlIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbGVcIikpLG99ZnVuY3Rpb24gV20oZSx0KXtyZXR1cm4gcmcoTXAoZSksdCl9ZnVuY3Rpb24gQmEoZSl7cmV0dXJuIHJzKGUpfHxDbihlKX1mdW5jdGlvbiBycyhlKXtyZXR1cm4gZT09PTMyfHxlPT09OXx8ZT09PTExfHxlPT09MTJ8fGU9PT0xNjB8fGU9PT0xMzN8fGU9PT01NzYwfHxlPj04MTkyJiZlPD04MjAzfHxlPT09ODIzOXx8ZT09PTgyODd8fGU9PT0xMjI4OHx8ZT09PTY1Mjc5fWZ1bmN0aW9uIENuKGUpe3JldHVybiBlPT09MTB8fGU9PT0xM3x8ZT09PTgyMzJ8fGU9PT04MjMzfWZ1bmN0aW9uIGZpKGUpe3JldHVybiBlPj00OCYmZTw9NTd9ZnVuY3Rpb24gdnAoZSl7cmV0dXJuIGZpKGUpfHxlPj02NSYmZTw9NzB8fGU+PTk3JiZlPD0xMDJ9ZnVuY3Rpb24gcmYoZSl7cmV0dXJuIGU+PTY1JiZlPD05MHx8ZT49OTcmJmU8PTEyMn1mdW5jdGlvbiBHbShlKXtyZXR1cm4gcmYoZSl8fGZpKGUpfHxlPT09OTV9ZnVuY3Rpb24gVHAoZSl7cmV0dXJuIGU+PTQ4JiZlPD01NX1mdW5jdGlvbiBBcihlLHQsYSxvLG0pe2lmKGZzKHQpKXJldHVybiB0O2xldCB2PSExO2Zvcig7Oyl7bGV0IEE9ZS5jaGFyQ29kZUF0KHQpO3N3aXRjaChBKXtjYXNlIDEzOmUuY2hhckNvZGVBdCh0KzEpPT09MTAmJnQrKztjYXNlIDEwOmlmKHQrKyxhKXJldHVybiB0O3Y9ISFtO2NvbnRpbnVlO2Nhc2UgOTpjYXNlIDExOmNhc2UgMTI6Y2FzZSAzMjp0Kys7Y29udGludWU7Y2FzZSA0NzppZihvKWJyZWFrO2lmKGUuY2hhckNvZGVBdCh0KzEpPT09NDcpe2Zvcih0Kz0yO3Q8ZS5sZW5ndGgmJiFDbihlLmNoYXJDb2RlQXQodCkpOyl0Kys7dj0hMTtjb250aW51ZX1pZihlLmNoYXJDb2RlQXQodCsxKT09PTQyKXtmb3IodCs9Mjt0PGUubGVuZ3RoOyl7aWYoZS5jaGFyQ29kZUF0KHQpPT09NDImJmUuY2hhckNvZGVBdCh0KzEpPT09NDcpe3QrPTI7YnJlYWt9dCsrfXY9ITE7Y29udGludWV9YnJlYWs7Y2FzZSA2MDpjYXNlIDEyNDpjYXNlIDYxOmNhc2UgNjI6aWYoVmkoZSx0KSl7dD1NYShlLHQpLHY9ITE7Y29udGludWV9YnJlYWs7Y2FzZSAzNTppZih0PT09MCYmWW0oZSx0KSl7dD1IbShlLHQpLHY9ITE7Y29udGludWV9YnJlYWs7Y2FzZSA0MjppZih2KXt0Kyssdj0hMTtjb250aW51ZX1icmVhaztkZWZhdWx0OmlmKEE+MTI3JiZCYShBKSl7dCsrO2NvbnRpbnVlfWJyZWFrfXJldHVybiB0fX12YXIgc2w9NztmdW5jdGlvbiBWaShlLHQpe2lmKEIuYXNzZXJ0KHQ+PTApLHQ9PT0wfHxDbihlLmNoYXJDb2RlQXQodC0xKSkpe2xldCBhPWUuY2hhckNvZGVBdCh0KTtpZih0K3NsPGUubGVuZ3RoKXtmb3IobGV0IG89MDtvPHNsO28rKylpZihlLmNoYXJDb2RlQXQodCtvKSE9PWEpcmV0dXJuITE7cmV0dXJuIGE9PT02MXx8ZS5jaGFyQ29kZUF0KHQrc2wpPT09MzJ9fXJldHVybiExfWZ1bmN0aW9uIE1hKGUsdCxhKXthJiZhKEUuTWVyZ2VfY29uZmxpY3RfbWFya2VyX2VuY291bnRlcmVkLHQsc2wpO2xldCBvPWUuY2hhckNvZGVBdCh0KSxtPWUubGVuZ3RoO2lmKG89PT02MHx8bz09PTYyKWZvcig7dDxtJiYhQ24oZS5jaGFyQ29kZUF0KHQpKTspdCsrO2Vsc2UgZm9yKEIuYXNzZXJ0KG89PT0xMjR8fG89PT02MSk7dDxtOyl7bGV0IHY9ZS5jaGFyQ29kZUF0KHQpO2lmKCh2PT09NjF8fHY9PT02MikmJnYhPT1vJiZWaShlLHQpKWJyZWFrO3QrK31yZXR1cm4gdH12YXIgYWY9L14jIS4qLztmdW5jdGlvbiBZbShlLHQpe3JldHVybiBCLmFzc2VydCh0PT09MCksYWYudGVzdChlKX1mdW5jdGlvbiBIbShlLHQpe2xldCBhPWFmLmV4ZWMoZSlbMF07cmV0dXJuIHQ9dCthLmxlbmd0aCx0fWZ1bmN0aW9uIHhsKGUsdCxhLG8sbSx2LEEpe2xldCBQLGwsUSxoLHk9ITEsZz1vLHg9QTtpZihhPT09MCl7Zz0hMDtsZXQgST1fZih0KTtJJiYoYT1JLmxlbmd0aCl9ZTpmb3IoO2E+PTAmJmE8dC5sZW5ndGg7KXtsZXQgST10LmNoYXJDb2RlQXQoYSk7c3dpdGNoKEkpe2Nhc2UgMTM6dC5jaGFyQ29kZUF0KGErMSk9PT0xMCYmYSsrO2Nhc2UgMTA6aWYoYSsrLG8pYnJlYWsgZTtnPSEwLHkmJihoPSEwKTtjb250aW51ZTtjYXNlIDk6Y2FzZSAxMTpjYXNlIDEyOmNhc2UgMzI6YSsrO2NvbnRpbnVlO2Nhc2UgNDc6bGV0IHJlPXQuY2hhckNvZGVBdChhKzEpLGhlPSExO2lmKHJlPT09NDd8fHJlPT09NDIpe2xldCB5ZT1yZT09PTQ3PzI6MyxkZT1hO2lmKGErPTIscmU9PT00Nylmb3IoO2E8dC5sZW5ndGg7KXtpZihDbih0LmNoYXJDb2RlQXQoYSkpKXtoZT0hMDticmVha31hKyt9ZWxzZSBmb3IoO2E8dC5sZW5ndGg7KXtpZih0LmNoYXJDb2RlQXQoYSk9PT00MiYmdC5jaGFyQ29kZUF0KGErMSk9PT00Nyl7YSs9MjticmVha31hKyt9aWYoZyl7aWYoeSYmKHg9bShQLGwsUSxoLHYseCksIWUmJngpKXJldHVybiB4O1A9ZGUsbD1hLFE9eWUsaD1oZSx5PSEwfWNvbnRpbnVlfWJyZWFrIGU7ZGVmYXVsdDppZihJPjEyNyYmQmEoSSkpe3kmJkNuKEkpJiYoaD0hMCksYSsrO2NvbnRpbnVlfWJyZWFrIGV9fXJldHVybiB5JiYoeD1tKFAsbCxRLGgsdix4KSkseH1mdW5jdGlvbiBYbShlLHQsYSxvKXtyZXR1cm4geGwoITEsZSx0LCExLGEsbyl9ZnVuY3Rpb24gJG0oZSx0LGEsbyl7cmV0dXJuIHhsKCExLGUsdCwhMCxhLG8pfWZ1bmN0aW9uIGFnKGUsdCxhLG8sbSl7cmV0dXJuIHhsKCEwLGUsdCwhMSxhLG8sbSl9ZnVuY3Rpb24gX2coZSx0LGEsbyxtKXtyZXR1cm4geGwoITAsZSx0LCEwLGEsbyxtKX1mdW5jdGlvbiBRbShlLHQsYSxvLG0sdj1bXSl7cmV0dXJuIHYucHVzaCh7a2luZDphLHBvczplLGVuZDp0LGhhc1RyYWlsaW5nTmV3TGluZTpvfSksdn1mdW5jdGlvbiBKcChlLHQpe3JldHVybiBhZyhlLHQsUW0sdm9pZCAwLHZvaWQgMCl9ZnVuY3Rpb24gc2coZSx0KXtyZXR1cm4gX2coZSx0LFFtLHZvaWQgMCx2b2lkIDApfWZ1bmN0aW9uIF9mKGUpe2xldCB0PWFmLmV4ZWMoZSk7aWYodClyZXR1cm4gdFswXX1mdW5jdGlvbiBabihlLHQpe3JldHVybiByZihlKXx8ZT09PTM2fHxlPT09OTV8fGU+MTI3JiZaeShlLHQpfWZ1bmN0aW9uIEVyKGUsdCxhKXtyZXR1cm4gR20oZSl8fGU9PT0zNnx8KGE9PT0xP2U9PT00NXx8ZT09PTU4OiExKXx8ZT4xMjcmJmVnKGUsdCl9ZnVuY3Rpb24gb2coZSx0LGEpe2xldCBvPVdpKGUsMCk7aWYoIVpuKG8sdCkpcmV0dXJuITE7Zm9yKGxldCBtPUZ0KG8pO208ZS5sZW5ndGg7bSs9RnQobykpaWYoIUVyKG89V2koZSxtKSx0LGEpKXJldHVybiExO3JldHVybiEwfWZ1bmN0aW9uIHNmKGUsdCxhPTAsbyxtLHYsQSl7dmFyIFA9byxsLFEsaCx5LGcseCxJLHJlLGhlPTAseWU9MCxkZT0wO0R0KFAsdixBKTt2YXIgTT17Z2V0VG9rZW5GdWxsU3RhcnQ6KCk9PmgsZ2V0U3RhcnRQb3M6KCk9PmgsZ2V0VG9rZW5FbmQ6KCk9PmwsZ2V0VGV4dFBvczooKT0+bCxnZXRUb2tlbjooKT0+ZyxnZXRUb2tlblN0YXJ0OigpPT55LGdldFRva2VuUG9zOigpPT55LGdldFRva2VuVGV4dDooKT0+UC5zdWJzdHJpbmcoeSxsKSxnZXRUb2tlblZhbHVlOigpPT54LGhhc1VuaWNvZGVFc2NhcGU6KCk9PihJJjEwMjQpIT09MCxoYXNFeHRlbmRlZFVuaWNvZGVFc2NhcGU6KCk9PihJJjgpIT09MCxoYXNQcmVjZWRpbmdMaW5lQnJlYWs6KCk9PihJJjEpIT09MCxoYXNQcmVjZWRpbmdKU0RvY0NvbW1lbnQ6KCk9PihJJjIpIT09MCxoYXNQcmVjZWRpbmdKU0RvY0xlYWRpbmdBc3Rlcmlza3M6KCk9PihJJjMyNzY4KSE9PTAsaXNJZGVudGlmaWVyOigpPT5nPT09ODB8fGc+MTE4LGlzUmVzZXJ2ZWRXb3JkOigpPT5nPj04MyYmZzw9MTE4LGlzVW50ZXJtaW5hdGVkOigpPT4oSSY0KSE9PTAsZ2V0Q29tbWVudERpcmVjdGl2ZXM6KCk9PnJlLGdldE51bWVyaWNMaXRlcmFsRmxhZ3M6KCk9PkkmMjU1ODQsZ2V0VG9rZW5GbGFnczooKT0+SSxyZVNjYW5HcmVhdGVyVG9rZW46bHQscmVTY2FuQXN0ZXJpc2tFcXVhbHNUb2tlbjphcixyZVNjYW5TbGFzaFRva2VuOm10LHJlU2NhblRlbXBsYXRlVG9rZW46QnQscmVTY2FuVGVtcGxhdGVIZWFkT3JOb1N1YnN0aXR1dGlvblRlbXBsYXRlOnJuLHNjYW5Kc3hJZGVudGlmaWVyOk5yLHNjYW5Kc3hBdHRyaWJ1dGVWYWx1ZTpWbixyZVNjYW5Kc3hBdHRyaWJ1dGVWYWx1ZTpDZSxyZVNjYW5Kc3hUb2tlbjpfcixyZVNjYW5MZXNzVGhhblRva2VuOmZyLHJlU2Nhbkhhc2hUb2tlbjpkcixyZVNjYW5RdWVzdGlvblRva2VuOnpuLHJlU2NhbkludmFsaWRJZGVudGlmaWVyOlV0LHNjYW5Kc3hUb2tlbjpGbixzY2FuSnNEb2NUb2tlbjpMLHNjYW5KU0RvY0NvbW1lbnRUZXh0VG9rZW46bXIsc2NhbjpjdCxnZXRUZXh0OktlLGNsZWFyQ29tbWVudERpcmVjdGl2ZXM6c3Qsc2V0VGV4dDpEdCxzZXRTY3JpcHRUYXJnZXQ6dXQsc2V0TGFuZ3VhZ2VWYXJpYW50OklyLHNldFNjcmlwdEtpbmQ6aHIsc2V0SlNEb2NQYXJzaW5nTW9kZTpNbixzZXRPbkVycm9yOlR0LHJlc2V0VG9rZW5TdGF0ZTpXbixzZXRUZXh0UG9zOlduLHNldFNraXBKc0RvY0xlYWRpbmdBc3Rlcmlza3M6U2ksdHJ5U2NhbjpYZSxsb29rQWhlYWQ6VGUsc2NhblJhbmdlOmZlfTtyZXR1cm4gQi5pc0RlYnVnZ2luZyYmT2JqZWN0LmRlZmluZVByb3BlcnR5KE0sXCJfX2RlYnVnU2hvd0N1cnJlbnRQb3NpdGlvbkluVGV4dFwiLHtnZXQ6KCk9PntsZXQgUj1NLmdldFRleHQoKTtyZXR1cm4gUi5zbGljZSgwLE0uZ2V0VG9rZW5GdWxsU3RhcnQoKSkrXCJcXHUyNTUxXCIrUi5zbGljZShNLmdldFRva2VuRnVsbFN0YXJ0KCkpfX0pLE07ZnVuY3Rpb24gYWUoUil7cmV0dXJuIFdpKFAsUil9ZnVuY3Rpb24gT2UoUil7cmV0dXJuIFI+PTAmJlI8UT9hZShSKTotMX1mdW5jdGlvbiBWKFIpe3JldHVybiBQLmNoYXJDb2RlQXQoUil9ZnVuY3Rpb24gb2UoUil7cmV0dXJuIFI+PTAmJlI8UT9WKFIpOi0xfWZ1bmN0aW9uIFcoUiwkPWwsSyx4ZSl7aWYobSl7bGV0IFNlPWw7bD0kLG0oUixLfHwwLHhlKSxsPVNlfX1mdW5jdGlvbiBkdCgpe2xldCBSPWwsJD0hMSxLPSExLHhlPVwiXCI7Zm9yKDs7KXtsZXQgU2U9VihsKTtpZihTZT09PTk1KXtJfD01MTIsJD8oJD0hMSxLPSEwLHhlKz1QLnN1YnN0cmluZyhSLGwpKTooSXw9MTYzODQsVyhLP0UuTXVsdGlwbGVfY29uc2VjdXRpdmVfbnVtZXJpY19zZXBhcmF0b3JzX2FyZV9ub3RfcGVybWl0dGVkOkUuTnVtZXJpY19zZXBhcmF0b3JzX2FyZV9ub3RfYWxsb3dlZF9oZXJlLGwsMSkpLGwrKyxSPWw7Y29udGludWV9aWYoZmkoU2UpKXskPSEwLEs9ITEsbCsrO2NvbnRpbnVlfWJyZWFrfXJldHVybiBWKGwtMSk9PT05NSYmKEl8PTE2Mzg0LFcoRS5OdW1lcmljX3NlcGFyYXRvcnNfYXJlX25vdF9hbGxvd2VkX2hlcmUsbC0xLDEpKSx4ZStQLnN1YnN0cmluZyhSLGwpfWZ1bmN0aW9uIG5yKCl7bGV0IFI9bCwkO2lmKFYobCk9PT00OClpZihsKyssVihsKT09PTk1KUl8PTE2ODk2LFcoRS5OdW1lcmljX3NlcGFyYXRvcnNfYXJlX25vdF9hbGxvd2VkX2hlcmUsbCwxKSxsLS0sJD1kdCgpO2Vsc2UgaWYoIXJyKCkpSXw9ODE5MiwkPVwiXCIrICt4O2Vsc2UgaWYoIXgpJD1cIjBcIjtlbHNle3g9XCJcIitwYXJzZUludCh4LDgpLEl8PTMyO2xldCBiZT1nPT09NDEsV2U9KGJlP1wiLVwiOlwiXCIpK1wiMG9cIisoK3gpLnRvU3RyaW5nKDgpO3JldHVybiBiZSYmUi0tLFcoRS5PY3RhbF9saXRlcmFsc19hcmVfbm90X2FsbG93ZWRfVXNlX3RoZV9zeW50YXhfMCxSLGwtUixXZSksOX1lbHNlICQ9ZHQoKTtsZXQgSyx4ZTtWKGwpPT09NDYmJihsKyssSz1kdCgpKTtsZXQgU2U9bDtpZihWKGwpPT09Njl8fFYobCk9PT0xMDEpe2wrKyxJfD0xNiwoVihsKT09PTQzfHxWKGwpPT09NDUpJiZsKys7bGV0IGJlPWwsV2U9ZHQoKTtXZT8oeGU9UC5zdWJzdHJpbmcoU2UsYmUpK1dlLFNlPWwpOlcoRS5EaWdpdF9leHBlY3RlZCl9bGV0IHdlO2lmKEkmNTEyPyh3ZT0kLEsmJih3ZSs9XCIuXCIrSykseGUmJih3ZSs9eGUpKTp3ZT1QLnN1YnN0cmluZyhSLFNlKSxJJjgxOTIpcmV0dXJuIFcoRS5EZWNpbWFsc193aXRoX2xlYWRpbmdfemVyb3NfYXJlX25vdF9hbGxvd2VkLFIsU2UtUikseD1cIlwiKyArd2UsOTtpZihLIT09dm9pZCAwfHxJJjE2KXJldHVybiBnbihSLEs9PT12b2lkIDAmJiEhKEkmMTYpKSx4PVwiXCIrICt3ZSw5O3t4PXdlO2xldCBiZT0kdCgpO3JldHVybiBnbihSKSxiZX19ZnVuY3Rpb24gZ24oUiwkKXtpZighWm4oYWUobCksZSkpcmV0dXJuO2xldCBLPWwse2xlbmd0aDp4ZX09dnQoKTt4ZT09PTEmJlBbS109PT1cIm5cIj9XKCQ/RS5BX2JpZ2ludF9saXRlcmFsX2Nhbm5vdF91c2VfZXhwb25lbnRpYWxfbm90YXRpb246RS5BX2JpZ2ludF9saXRlcmFsX211c3RfYmVfYW5faW50ZWdlcixSLEstUisxKTooVyhFLkFuX2lkZW50aWZpZXJfb3Jfa2V5d29yZF9jYW5ub3RfaW1tZWRpYXRlbHlfZm9sbG93X2FfbnVtZXJpY19saXRlcmFsLEsseGUpLGw9Syl9ZnVuY3Rpb24gcnIoKXtsZXQgUj1sLCQ9ITA7Zm9yKDtmaShvZShsKSk7KVRwKFYobCkpfHwoJD0hMSksbCsrO3JldHVybiB4PVAuc3Vic3RyaW5nKFIsbCksJH1mdW5jdGlvbiBibihSLCQpe2xldCBLPUdlKFIsITEsJCk7cmV0dXJuIEs/cGFyc2VJbnQoSywxNik6LTF9ZnVuY3Rpb24gSW4oUiwkKXtyZXR1cm4gR2UoUiwhMCwkKX1mdW5jdGlvbiBHZShSLCQsSyl7bGV0IHhlPVtdLFNlPSExLHdlPSExO2Zvcig7eGUubGVuZ3RoPFJ8fCQ7KXtsZXQgYmU9VihsKTtpZihLJiZiZT09PTk1KXtJfD01MTIsU2U/KFNlPSExLHdlPSEwKTpXKHdlP0UuTXVsdGlwbGVfY29uc2VjdXRpdmVfbnVtZXJpY19zZXBhcmF0b3JzX2FyZV9ub3RfcGVybWl0dGVkOkUuTnVtZXJpY19zZXBhcmF0b3JzX2FyZV9ub3RfYWxsb3dlZF9oZXJlLGwsMSksbCsrO2NvbnRpbnVlfWlmKFNlPUssYmU+PTY1JiZiZTw9NzApYmUrPTMyO2Vsc2UgaWYoIShiZT49NDgmJmJlPD01N3x8YmU+PTk3JiZiZTw9MTAyKSlicmVhazt4ZS5wdXNoKGJlKSxsKyssd2U9ITF9cmV0dXJuIHhlLmxlbmd0aDxSJiYoeGU9W10pLFYobC0xKT09PTk1JiZXKEUuTnVtZXJpY19zZXBhcmF0b3JzX2FyZV9ub3RfYWxsb3dlZF9oZXJlLGwtMSwxKSxTdHJpbmcuZnJvbUNoYXJDb2RlKC4uLnhlKX1mdW5jdGlvbiBpcihSPSExKXtsZXQgJD1WKGwpO2wrKztsZXQgSz1cIlwiLHhlPWw7Zm9yKDs7KXtpZihsPj1RKXtLKz1QLnN1YnN0cmluZyh4ZSxsKSxJfD00LFcoRS5VbnRlcm1pbmF0ZWRfc3RyaW5nX2xpdGVyYWwpO2JyZWFrfWxldCBTZT1WKGwpO2lmKFNlPT09JCl7Sys9UC5zdWJzdHJpbmcoeGUsbCksbCsrO2JyZWFrfWlmKFNlPT09OTImJiFSKXtLKz1QLnN1YnN0cmluZyh4ZSxsKSxLKz1PdCgzKSx4ZT1sO2NvbnRpbnVlfWlmKChTZT09PTEwfHxTZT09PTEzKSYmIVIpe0srPVAuc3Vic3RyaW5nKHhlLGwpLEl8PTQsVyhFLlVudGVybWluYXRlZF9zdHJpbmdfbGl0ZXJhbCk7YnJlYWt9bCsrfXJldHVybiBLfWZ1bmN0aW9uIFByKFIpe2xldCAkPVYobCk9PT05NjtsKys7bGV0IEs9bCx4ZT1cIlwiLFNlO2Zvcig7Oyl7aWYobD49USl7eGUrPVAuc3Vic3RyaW5nKEssbCksSXw9NCxXKEUuVW50ZXJtaW5hdGVkX3RlbXBsYXRlX2xpdGVyYWwpLFNlPSQ/MTU6MTg7YnJlYWt9bGV0IHdlPVYobCk7aWYod2U9PT05Nil7eGUrPVAuc3Vic3RyaW5nKEssbCksbCsrLFNlPSQ/MTU6MTg7YnJlYWt9aWYod2U9PT0zNiYmbCsxPFEmJlYobCsxKT09PTEyMyl7eGUrPVAuc3Vic3RyaW5nKEssbCksbCs9MixTZT0kPzE2OjE3O2JyZWFrfWlmKHdlPT09OTIpe3hlKz1QLnN1YnN0cmluZyhLLGwpLHhlKz1PdCgxfChSPzI6MCkpLEs9bDtjb250aW51ZX1pZih3ZT09PTEzKXt4ZSs9UC5zdWJzdHJpbmcoSyxsKSxsKyssbDxRJiZWKGwpPT09MTAmJmwrKyx4ZSs9YFxuYCxLPWw7Y29udGludWV9bCsrfXJldHVybiBCLmFzc2VydChTZSE9PXZvaWQgMCkseD14ZSxTZX1mdW5jdGlvbiBPdChSKXtsZXQgJD1sO2lmKGwrKyxsPj1RKXJldHVybiBXKEUuVW5leHBlY3RlZF9lbmRfb2ZfdGV4dCksXCJcIjtsZXQgSz1WKGwpO3N3aXRjaChsKyssSyl7Y2FzZSA0ODppZihsPj1RfHwhZmkoVihsKSkpcmV0dXJuXCJcXDBcIjtjYXNlIDQ5OmNhc2UgNTA6Y2FzZSA1MTpsPFEmJlRwKFYobCkpJiZsKys7Y2FzZSA1MjpjYXNlIDUzOmNhc2UgNTQ6Y2FzZSA1NTppZihsPFEmJlRwKFYobCkpJiZsKyssSXw9MjA0OCxSJjYpe2xldCB3ZT1wYXJzZUludChQLnN1YnN0cmluZygkKzEsbCksOCk7cmV0dXJuIFImNCYmIShSJjMyKSYmSyE9PTQ4P1coRS5PY3RhbF9lc2NhcGVfc2VxdWVuY2VzX2FuZF9iYWNrcmVmZXJlbmNlc19hcmVfbm90X2FsbG93ZWRfaW5fYV9jaGFyYWN0ZXJfY2xhc3NfSWZfdGhpc193YXNfaW50ZW5kZWRfYXNfYW5fZXNjYXBlX3NlcXVlbmNlX3VzZV90aGVfc3ludGF4XzBfaW5zdGVhZCwkLGwtJCxcIlxcXFx4XCIrd2UudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsXCIwXCIpKTpXKEUuT2N0YWxfZXNjYXBlX3NlcXVlbmNlc19hcmVfbm90X2FsbG93ZWRfVXNlX3RoZV9zeW50YXhfMCwkLGwtJCxcIlxcXFx4XCIrd2UudG9TdHJpbmcoMTYpLnBhZFN0YXJ0KDIsXCIwXCIpKSxTdHJpbmcuZnJvbUNoYXJDb2RlKHdlKX1yZXR1cm4gUC5zdWJzdHJpbmcoJCxsKTtjYXNlIDU2OmNhc2UgNTc6cmV0dXJuIEl8PTIwNDgsUiY2PyhSJjQmJiEoUiYzMik/VyhFLkRlY2ltYWxfZXNjYXBlX3NlcXVlbmNlc19hbmRfYmFja3JlZmVyZW5jZXNfYXJlX25vdF9hbGxvd2VkX2luX2FfY2hhcmFjdGVyX2NsYXNzLCQsbC0kKTpXKEUuRXNjYXBlX3NlcXVlbmNlXzBfaXNfbm90X2FsbG93ZWQsJCxsLSQsUC5zdWJzdHJpbmcoJCxsKSksU3RyaW5nLmZyb21DaGFyQ29kZShLKSk6UC5zdWJzdHJpbmcoJCxsKTtjYXNlIDk4OnJldHVyblwiXFxiXCI7Y2FzZSAxMTY6cmV0dXJuXCJcdFwiO2Nhc2UgMTEwOnJldHVybmBcbmA7Y2FzZSAxMTg6cmV0dXJuXCJcXHZcIjtjYXNlIDEwMjpyZXR1cm5cIlxcZlwiO2Nhc2UgMTE0OnJldHVyblwiXFxyXCI7Y2FzZSAzOTpyZXR1cm5cIidcIjtjYXNlIDM0OnJldHVybidcIic7Y2FzZSAxMTc6aWYobDxRJiZWKGwpPT09MTIzKXtsLT0yO2xldCB3ZT1CbighIShSJjYpKTtyZXR1cm4gUiYxN3x8KEl8PTIwNDgsUiY2JiZXKEUuVW5pY29kZV9lc2NhcGVfc2VxdWVuY2VzX2FyZV9vbmx5X2F2YWlsYWJsZV93aGVuX3RoZV9Vbmljb2RlX3VfZmxhZ19vcl90aGVfVW5pY29kZV9TZXRzX3ZfZmxhZ19pc19zZXQsJCxsLSQpKSx3ZX1mb3IoO2w8JCs2O2wrKylpZighKGw8USYmdnAoVihsKSkpKXJldHVybiBJfD0yMDQ4LFImNiYmVyhFLkhleGFkZWNpbWFsX2RpZ2l0X2V4cGVjdGVkKSxQLnN1YnN0cmluZygkLGwpO0l8PTEwMjQ7bGV0IHhlPXBhcnNlSW50KFAuc3Vic3RyaW5nKCQrMixsKSwxNiksU2U9U3RyaW5nLmZyb21DaGFyQ29kZSh4ZSk7aWYoUiYxNiYmeGU+PTU1Mjk2JiZ4ZTw9NTYzMTkmJmwrNjxRJiZQLnN1YnN0cmluZyhsLGwrMik9PT1cIlxcXFx1XCImJlYobCsyKSE9PTEyMyl7bGV0IHdlPWwsYmU9bCsyO2Zvcig7YmU8d2UrNjtiZSsrKWlmKCF2cChWKGJlKSkpcmV0dXJuIFNlO2xldCBXZT1wYXJzZUludChQLnN1YnN0cmluZyh3ZSsyLGJlKSwxNik7aWYoV2U+PTU2MzIwJiZXZTw9NTczNDMpcmV0dXJuIGw9YmUsU2UrU3RyaW5nLmZyb21DaGFyQ29kZShXZSl9cmV0dXJuIFNlO2Nhc2UgMTIwOmZvcig7bDwkKzQ7bCsrKWlmKCEobDxRJiZ2cChWKGwpKSkpcmV0dXJuIEl8PTIwNDgsUiY2JiZXKEUuSGV4YWRlY2ltYWxfZGlnaXRfZXhwZWN0ZWQpLFAuc3Vic3RyaW5nKCQsbCk7cmV0dXJuIEl8PTQwOTYsU3RyaW5nLmZyb21DaGFyQ29kZShwYXJzZUludChQLnN1YnN0cmluZygkKzIsbCksMTYpKTtjYXNlIDEzOmw8USYmVihsKT09PTEwJiZsKys7Y2FzZSAxMDpjYXNlIDgyMzI6Y2FzZSA4MjMzOnJldHVyblwiXCI7ZGVmYXVsdDpyZXR1cm4oUiYxNnx8UiY0JiYhKFImOCkmJkVyKEssZSkpJiZXKEUuVGhpc19jaGFyYWN0ZXJfY2Fubm90X2JlX2VzY2FwZWRfaW5fYV9yZWd1bGFyX2V4cHJlc3Npb24sbC0yLDIpLFN0cmluZy5mcm9tQ2hhckNvZGUoSyl9fWZ1bmN0aW9uIEJuKFIpe2xldCAkPWw7bCs9MztsZXQgSz1sLHhlPUluKDEsITEpLFNlPXhlP3BhcnNlSW50KHhlLDE2KTotMSx3ZT0hMTtyZXR1cm4gU2U8MD8oUiYmVyhFLkhleGFkZWNpbWFsX2RpZ2l0X2V4cGVjdGVkKSx3ZT0hMCk6U2U+MTExNDExMSYmKFImJlcoRS5Bbl9leHRlbmRlZF9Vbmljb2RlX2VzY2FwZV92YWx1ZV9tdXN0X2JlX2JldHdlZW5fMHgwX2FuZF8weDEwRkZGRl9pbmNsdXNpdmUsSyxsLUspLHdlPSEwKSxsPj1RPyhSJiZXKEUuVW5leHBlY3RlZF9lbmRfb2ZfdGV4dCksd2U9ITApOlYobCk9PT0xMjU/bCsrOihSJiZXKEUuVW50ZXJtaW5hdGVkX1VuaWNvZGVfZXNjYXBlX3NlcXVlbmNlKSx3ZT0hMCksd2U/KEl8PTIwNDgsUC5zdWJzdHJpbmcoJCxsKSk6KEl8PTgsTmQoU2UpKX1mdW5jdGlvbiBPbigpe2lmKGwrNTxRJiZWKGwrMSk9PT0xMTcpe2xldCBSPWw7bCs9MjtsZXQgJD1ibig0LCExKTtyZXR1cm4gbD1SLCR9cmV0dXJuLTF9ZnVuY3Rpb24gTXQoKXtpZihhZShsKzEpPT09MTE3JiZhZShsKzIpPT09MTIzKXtsZXQgUj1sO2wrPTM7bGV0ICQ9SW4oMSwhMSksSz0kP3BhcnNlSW50KCQsMTYpOi0xO3JldHVybiBsPVIsS31yZXR1cm4tMX1mdW5jdGlvbiB2dCgpe2xldCBSPVwiXCIsJD1sO2Zvcig7bDxROyl7bGV0IEs9YWUobCk7aWYoRXIoSyxlKSlsKz1GdChLKTtlbHNlIGlmKEs9PT05Mil7aWYoSz1NdCgpLEs+PTAmJkVyKEssZSkpe1IrPUJuKCEwKSwkPWw7Y29udGludWV9aWYoSz1PbigpLCEoSz49MCYmRXIoSyxlKSkpYnJlYWs7SXw9MTAyNCxSKz1QLnN1YnN0cmluZygkLGwpLFIrPU5kKEspLGwrPTYsJD1sfWVsc2UgYnJlYWt9cmV0dXJuIFIrPVAuc3Vic3RyaW5nKCQsbCksUn1mdW5jdGlvbiBRZSgpe2xldCBSPXgubGVuZ3RoO2lmKFI+PTImJlI8PTEyKXtsZXQgJD14LmNoYXJDb2RlQXQoMCk7aWYoJD49OTcmJiQ8PTEyMil7bGV0IEs9VnkuZ2V0KHgpO2lmKEshPT12b2lkIDApcmV0dXJuIGc9S319cmV0dXJuIGc9ODB9ZnVuY3Rpb24gcW4oUil7bGV0ICQ9XCJcIixLPSExLHhlPSExO2Zvcig7Oyl7bGV0IFNlPVYobCk7aWYoU2U9PT05NSl7SXw9NTEyLEs/KEs9ITEseGU9ITApOlcoeGU/RS5NdWx0aXBsZV9jb25zZWN1dGl2ZV9udW1lcmljX3NlcGFyYXRvcnNfYXJlX25vdF9wZXJtaXR0ZWQ6RS5OdW1lcmljX3NlcGFyYXRvcnNfYXJlX25vdF9hbGxvd2VkX2hlcmUsbCwxKSxsKys7Y29udGludWV9aWYoSz0hMCwhZmkoU2UpfHxTZS00OD49UilicmVhazskKz1QW2xdLGwrKyx4ZT0hMX1yZXR1cm4gVihsLTEpPT09OTUmJlcoRS5OdW1lcmljX3NlcGFyYXRvcnNfYXJlX25vdF9hbGxvd2VkX2hlcmUsbC0xLDEpLCR9ZnVuY3Rpb24gJHQoKXtyZXR1cm4gVihsKT09PTExMD8oeCs9XCJuXCIsSSYzODQmJih4PWJiKHgpK1wiblwiKSxsKyssMTApOih4PVwiXCIrKEkmMTI4P3BhcnNlSW50KHguc2xpY2UoMiksMik6SSYyNTY/cGFyc2VJbnQoeC5zbGljZSgyKSw4KToreCksOSl9ZnVuY3Rpb24gY3QoKXtmb3IoaD1sLEk9MDs7KXtpZih5PWwsbD49USlyZXR1cm4gZz0xO2xldCBSPWFlKGwpO2lmKGw9PT0wJiZSPT09MzUmJlltKFAsbCkpe2lmKGw9SG0oUCxsKSx0KWNvbnRpbnVlO3JldHVybiBnPTZ9c3dpdGNoKFIpe2Nhc2UgMTA6Y2FzZSAxMzppZihJfD0xLHQpe2wrKztjb250aW51ZX1lbHNlIHJldHVybiBSPT09MTMmJmwrMTxRJiZWKGwrMSk9PT0xMD9sKz0yOmwrKyxnPTQ7Y2FzZSA5OmNhc2UgMTE6Y2FzZSAxMjpjYXNlIDMyOmNhc2UgMTYwOmNhc2UgNTc2MDpjYXNlIDgxOTI6Y2FzZSA4MTkzOmNhc2UgODE5NDpjYXNlIDgxOTU6Y2FzZSA4MTk2OmNhc2UgODE5NzpjYXNlIDgxOTg6Y2FzZSA4MTk5OmNhc2UgODIwMDpjYXNlIDgyMDE6Y2FzZSA4MjAyOmNhc2UgODIwMzpjYXNlIDgyMzk6Y2FzZSA4Mjg3OmNhc2UgMTIyODg6Y2FzZSA2NTI3OTppZih0KXtsKys7Y29udGludWV9ZWxzZXtmb3IoO2w8USYmcnMoVihsKSk7KWwrKztyZXR1cm4gZz01fWNhc2UgMzM6cmV0dXJuIFYobCsxKT09PTYxP1YobCsyKT09PTYxPyhsKz0zLGc9MzgpOihsKz0yLGc9MzYpOihsKyssZz01NCk7Y2FzZSAzNDpjYXNlIDM5OnJldHVybiB4PWlyKCksZz0xMTtjYXNlIDk2OnJldHVybiBnPVByKCExKTtjYXNlIDM3OnJldHVybiBWKGwrMSk9PT02MT8obCs9MixnPTcwKToobCsrLGc9NDUpO2Nhc2UgMzg6cmV0dXJuIFYobCsxKT09PTM4P1YobCsyKT09PTYxPyhsKz0zLGc9NzcpOihsKz0yLGc9NTYpOlYobCsxKT09PTYxPyhsKz0yLGc9NzQpOihsKyssZz01MSk7Y2FzZSA0MDpyZXR1cm4gbCsrLGc9MjE7Y2FzZSA0MTpyZXR1cm4gbCsrLGc9MjI7Y2FzZSA0MjppZihWKGwrMSk9PT02MSlyZXR1cm4gbCs9MixnPTY3O2lmKFYobCsxKT09PTQyKXJldHVybiBWKGwrMik9PT02MT8obCs9MyxnPTY4KToobCs9MixnPTQzKTtpZihsKyssaGUmJiEoSSYzMjc2OCkmJkkmMSl7SXw9MzI3Njg7Y29udGludWV9cmV0dXJuIGc9NDI7Y2FzZSA0MzpyZXR1cm4gVihsKzEpPT09NDM/KGwrPTIsZz00Nik6VihsKzEpPT09NjE/KGwrPTIsZz02NSk6KGwrKyxnPTQwKTtjYXNlIDQ0OnJldHVybiBsKyssZz0yODtjYXNlIDQ1OnJldHVybiBWKGwrMSk9PT00NT8obCs9MixnPTQ3KTpWKGwrMSk9PT02MT8obCs9MixnPTY2KToobCsrLGc9NDEpO2Nhc2UgNDY6cmV0dXJuIGZpKFYobCsxKSk/KG5yKCksZz05KTpWKGwrMSk9PT00NiYmVihsKzIpPT09NDY/KGwrPTMsZz0yNik6KGwrKyxnPTI1KTtjYXNlIDQ3OmlmKFYobCsxKT09PTQ3KXtmb3IobCs9MjtsPFEmJiFDbihWKGwpKTspbCsrO2lmKHJlPWNuKHJlLFAuc2xpY2UoeSxsKSwkeSx5KSx0KWNvbnRpbnVlO3JldHVybiBnPTJ9aWYoVihsKzEpPT09NDIpe2wrPTI7bGV0IGJlPVYobCk9PT00MiYmVihsKzEpIT09NDcsV2U9ITEsWmU9eTtmb3IoO2w8UTspe2xldCBZZT1WKGwpO2lmKFllPT09NDImJlYobCsxKT09PTQ3KXtsKz0yLFdlPSEwO2JyZWFrfWwrKyxDbihZZSkmJihaZT1sLEl8PTEpfWlmKGJlJiZfdCgpJiYoSXw9MikscmU9Y24ocmUsUC5zbGljZShaZSxsKSxReSxaZSksV2V8fFcoRS5Bc3Rlcmlza19TbGFzaF9leHBlY3RlZCksdCljb250aW51ZTtyZXR1cm4gV2V8fChJfD00KSxnPTN9cmV0dXJuIFYobCsxKT09PTYxPyhsKz0yLGc9NjkpOihsKyssZz00NCk7Y2FzZSA0ODppZihsKzI8USYmKFYobCsxKT09PTg4fHxWKGwrMSk9PT0xMjApKXJldHVybiBsKz0yLHg9SW4oMSwhMCkseHx8KFcoRS5IZXhhZGVjaW1hbF9kaWdpdF9leHBlY3RlZCkseD1cIjBcIikseD1cIjB4XCIreCxJfD02NCxnPSR0KCk7aWYobCsyPFEmJihWKGwrMSk9PT02Nnx8VihsKzEpPT09OTgpKXJldHVybiBsKz0yLHg9cW4oMikseHx8KFcoRS5CaW5hcnlfZGlnaXRfZXhwZWN0ZWQpLHg9XCIwXCIpLHg9XCIwYlwiK3gsSXw9MTI4LGc9JHQoKTtpZihsKzI8USYmKFYobCsxKT09PTc5fHxWKGwrMSk9PT0xMTEpKXJldHVybiBsKz0yLHg9cW4oOCkseHx8KFcoRS5PY3RhbF9kaWdpdF9leHBlY3RlZCkseD1cIjBcIikseD1cIjBvXCIreCxJfD0yNTYsZz0kdCgpO2Nhc2UgNDk6Y2FzZSA1MDpjYXNlIDUxOmNhc2UgNTI6Y2FzZSA1MzpjYXNlIDU0OmNhc2UgNTU6Y2FzZSA1NjpjYXNlIDU3OnJldHVybiBnPW5yKCk7Y2FzZSA1ODpyZXR1cm4gbCsrLGc9NTk7Y2FzZSA1OTpyZXR1cm4gbCsrLGc9Mjc7Y2FzZSA2MDppZihWaShQLGwpKXtpZihsPU1hKFAsbCxXKSx0KWNvbnRpbnVlO3JldHVybiBnPTd9cmV0dXJuIFYobCsxKT09PTYwP1YobCsyKT09PTYxPyhsKz0zLGc9NzEpOihsKz0yLGc9NDgpOlYobCsxKT09PTYxPyhsKz0yLGc9MzMpOmE9PT0xJiZWKGwrMSk9PT00NyYmVihsKzIpIT09NDI/KGwrPTIsZz0zMSk6KGwrKyxnPTMwKTtjYXNlIDYxOmlmKFZpKFAsbCkpe2lmKGw9TWEoUCxsLFcpLHQpY29udGludWU7cmV0dXJuIGc9N31yZXR1cm4gVihsKzEpPT09NjE/VihsKzIpPT09NjE/KGwrPTMsZz0zNyk6KGwrPTIsZz0zNSk6VihsKzEpPT09NjI/KGwrPTIsZz0zOSk6KGwrKyxnPTY0KTtjYXNlIDYyOmlmKFZpKFAsbCkpe2lmKGw9TWEoUCxsLFcpLHQpY29udGludWU7cmV0dXJuIGc9N31yZXR1cm4gbCsrLGc9MzI7Y2FzZSA2MzpyZXR1cm4gVihsKzEpPT09NDYmJiFmaShWKGwrMikpPyhsKz0yLGc9MjkpOlYobCsxKT09PTYzP1YobCsyKT09PTYxPyhsKz0zLGc9NzgpOihsKz0yLGc9NjEpOihsKyssZz01OCk7Y2FzZSA5MTpyZXR1cm4gbCsrLGc9MjM7Y2FzZSA5MzpyZXR1cm4gbCsrLGc9MjQ7Y2FzZSA5NDpyZXR1cm4gVihsKzEpPT09NjE/KGwrPTIsZz03OSk6KGwrKyxnPTUzKTtjYXNlIDEyMzpyZXR1cm4gbCsrLGc9MTk7Y2FzZSAxMjQ6aWYoVmkoUCxsKSl7aWYobD1NYShQLGwsVyksdCljb250aW51ZTtyZXR1cm4gZz03fXJldHVybiBWKGwrMSk9PT0xMjQ/VihsKzIpPT09NjE/KGwrPTMsZz03Nik6KGwrPTIsZz01Nyk6VihsKzEpPT09NjE/KGwrPTIsZz03NSk6KGwrKyxnPTUyKTtjYXNlIDEyNTpyZXR1cm4gbCsrLGc9MjA7Y2FzZSAxMjY6cmV0dXJuIGwrKyxnPTU1O2Nhc2UgNjQ6cmV0dXJuIGwrKyxnPTYwO2Nhc2UgOTI6bGV0ICQ9TXQoKTtpZigkPj0wJiZabigkLGUpKXJldHVybiB4PUJuKCEwKSt2dCgpLGc9UWUoKTtsZXQgSz1PbigpO3JldHVybiBLPj0wJiZabihLLGUpPyhsKz02LEl8PTEwMjQseD1TdHJpbmcuZnJvbUNoYXJDb2RlKEspK3Z0KCksZz1RZSgpKTooVyhFLkludmFsaWRfY2hhcmFjdGVyKSxsKyssZz0wKTtjYXNlIDM1OmlmKGwhPT0wJiZQW2wrMV09PT1cIiFcIilyZXR1cm4gVyhFLmNhbl9vbmx5X2JlX3VzZWRfYXRfdGhlX3N0YXJ0X29mX2FfZmlsZSxsLDIpLGwrKyxnPTA7bGV0IHhlPWFlKGwrMSk7aWYoeGU9PT05Mil7bCsrO2xldCBiZT1NdCgpO2lmKGJlPj0wJiZabihiZSxlKSlyZXR1cm4geD1cIiNcIitCbighMCkrdnQoKSxnPTgxO2xldCBXZT1PbigpO2lmKFdlPj0wJiZabihXZSxlKSlyZXR1cm4gbCs9NixJfD0xMDI0LHg9XCIjXCIrU3RyaW5nLmZyb21DaGFyQ29kZShXZSkrdnQoKSxnPTgxO2wtLX1yZXR1cm4gWm4oeGUsZSk/KGwrKyxKdCh4ZSxlKSk6KHg9XCIjXCIsVyhFLkludmFsaWRfY2hhcmFjdGVyLGwrKyxGdChSKSkpLGc9ODE7Y2FzZSA2NTUzMzpyZXR1cm4gVyhFLkZpbGVfYXBwZWFyc190b19iZV9iaW5hcnksMCwwKSxsPVEsZz04O2RlZmF1bHQ6bGV0IFNlPUp0KFIsZSk7aWYoU2UpcmV0dXJuIGc9U2U7aWYocnMoUikpe2wrPUZ0KFIpO2NvbnRpbnVlfWVsc2UgaWYoQ24oUikpe0l8PTEsbCs9RnQoUik7Y29udGludWV9bGV0IHdlPUZ0KFIpO3JldHVybiBXKEUuSW52YWxpZF9jaGFyYWN0ZXIsbCx3ZSksbCs9d2UsZz0wfX19ZnVuY3Rpb24gX3QoKXtzd2l0Y2goZGUpe2Nhc2UgMDpyZXR1cm4hMDtjYXNlIDE6cmV0dXJuITF9cmV0dXJuIHllIT09MyYmeWUhPT00PyEwOmRlPT09Mz8hMTpLeS50ZXN0KFAuc2xpY2UoaCxsKSl9ZnVuY3Rpb24gVXQoKXtCLmFzc2VydChnPT09MCxcIidyZVNjYW5JbnZhbGlkSWRlbnRpZmllcicgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIHdoZW4gdGhlIGN1cnJlbnQgdG9rZW4gaXMgJ1N5bnRheEtpbmQuVW5rbm93bicuXCIpLGw9eT1oLEk9MDtsZXQgUj1hZShsKSwkPUp0KFIsOTkpO3JldHVybiAkP2c9JDoobCs9RnQoUiksZyl9ZnVuY3Rpb24gSnQoUiwkKXtsZXQgSz1SO2lmKFpuKEssJCkpe2ZvcihsKz1GdChLKTtsPFEmJkVyKEs9YWUobCksJCk7KWwrPUZ0KEspO3JldHVybiB4PVAuc3Vic3RyaW5nKHksbCksSz09PTkyJiYoeCs9dnQoKSksUWUoKX19ZnVuY3Rpb24gbHQoKXtpZihnPT09MzIpe2lmKFYobCk9PT02MilyZXR1cm4gVihsKzEpPT09NjI/VihsKzIpPT09NjE/KGwrPTMsZz03Myk6KGwrPTIsZz01MCk6VihsKzEpPT09NjE/KGwrPTIsZz03Mik6KGwrKyxnPTQ5KTtpZihWKGwpPT09NjEpcmV0dXJuIGwrKyxnPTM0fXJldHVybiBnfWZ1bmN0aW9uIGFyKCl7cmV0dXJuIEIuYXNzZXJ0KGc9PT02NyxcIidyZVNjYW5Bc3Rlcmlza0VxdWFsc1Rva2VuJyBzaG91bGQgb25seSBiZSBjYWxsZWQgb24gYSAnKj0nXCIpLGw9eSsxLGc9NjR9ZnVuY3Rpb24gbXQoUil7aWYoZz09PTQ0fHxnPT09Njkpe2xldCAkPXkrMTtsPSQ7bGV0IEs9ITEseGU9ITEsU2U9ITE7Zm9yKDs7KXtsZXQgYmU9b2UobCk7aWYoYmU9PT0tMXx8Q24oYmUpKXtJfD00O2JyZWFrfWlmKEspSz0hMTtlbHNle2lmKGJlPT09NDcmJiFTZSlicmVhaztiZT09PTkxP1NlPSEwOmJlPT09OTI/Sz0hMDpiZT09PTkzP1NlPSExOiFTZSYmYmU9PT00MCYmb2UobCsxKT09PTYzJiZvZShsKzIpPT09NjAmJm9lKGwrMykhPT02MSYmb2UobCszKSE9PTMzJiYoeGU9ITApfWwrK31sZXQgd2U9bDtpZihJJjQpe2w9JCxLPSExO2xldCBiZT0wLFdlPSExLFplPTA7Zm9yKDtsPHdlOyl7bGV0IFllPVYobCk7aWYoSylLPSExO2Vsc2UgaWYoWWU9PT05MilLPSEwO2Vsc2UgaWYoWWU9PT05MSliZSsrO2Vsc2UgaWYoWWU9PT05MyYmYmUpYmUtLTtlbHNlIGlmKCFiZSl7aWYoWWU9PT0xMjMpV2U9ITA7ZWxzZSBpZihZZT09PTEyNSYmV2UpV2U9ITE7ZWxzZSBpZighV2Upe2lmKFllPT09NDApWmUrKztlbHNlIGlmKFllPT09NDEmJlplKVplLS07ZWxzZSBpZihZZT09PTQxfHxZZT09PTkzfHxZZT09PTEyNSlicmVha319bCsrfWZvcig7QmEob2UobC0xKSl8fG9lKGwtMSk9PT01OTspbC0tO1coRS5VbnRlcm1pbmF0ZWRfcmVndWxhcl9leHByZXNzaW9uX2xpdGVyYWwseSxsLXkpfWVsc2V7bCsrO2xldCBiZT0wO2Zvcig7Oyl7bGV0IFdlPU9lKGwpO2lmKFdlPT09LTF8fCFFcihXZSxlKSlicmVhaztsZXQgWmU9RnQoV2UpO2lmKFIpe2xldCBZZT1QZChXZSk7WWU9PT12b2lkIDA/VyhFLlVua25vd25fcmVndWxhcl9leHByZXNzaW9uX2ZsYWcsbCxaZSk6YmUmWWU/VyhFLkR1cGxpY2F0ZV9yZWd1bGFyX2V4cHJlc3Npb25fZmxhZyxsLFplKTooKGJlfFllKSY5Nik9PT05Nj9XKEUuVGhlX1VuaWNvZGVfdV9mbGFnX2FuZF90aGVfVW5pY29kZV9TZXRzX3ZfZmxhZ19jYW5ub3RfYmVfc2V0X3NpbXVsdGFuZW91c2x5LGwsWmUpOihiZXw9WWUseXQoWWUsWmUpKX1sKz1aZX1SJiZmZSgkLHdlLSQsKCk9Pnt2bihiZSwhMCx4ZSl9KX14PVAuc3Vic3RyaW5nKHksbCksZz0xNH1yZXR1cm4gZ31mdW5jdGlvbiB2bihSLCQsSyl7dmFyIHhlPSEhKFImNjQpLFNlPSEhKFImOTYpLHdlPVNlfHwhJCxiZT0hMSxXZT0wLFplLFllLEVlLFRuPVtdLHJ0O2Z1bmN0aW9uIGxuKEcpe2Zvcig7Oyl7aWYoVG4ucHVzaChydCkscnQ9dm9pZCAwLFpyKEcpLHJ0PVRuLnBvcCgpLG9lKGwpIT09MTI0KXJldHVybjtsKyt9fWZ1bmN0aW9uIFpyKEcpe2xldCBsZT0hMTtmb3IoOzspe2xldCBGZT1sLHZlPW9lKGwpO3N3aXRjaCh2ZSl7Y2FzZS0xOnJldHVybjtjYXNlIDk0OmNhc2UgMzY6bCsrLGxlPSExO2JyZWFrO2Nhc2UgOTI6c3dpdGNoKGwrKyxvZShsKSl7Y2FzZSA5ODpjYXNlIDY2OmwrKyxsZT0hMTticmVhaztkZWZhdWx0OnFlKCksbGU9ITA7YnJlYWt9YnJlYWs7Y2FzZSA0MDppZihsKyssb2UobCk9PT02Mylzd2l0Y2gobCsrLG9lKGwpKXtjYXNlIDYxOmNhc2UgMzM6bCsrLGxlPSF3ZTticmVhaztjYXNlIDYwOmxldCB4dD1sO3N3aXRjaChsKyssb2UobCkpe2Nhc2UgNjE6Y2FzZSAzMzpsKyssbGU9ITE7YnJlYWs7ZGVmYXVsdDpNZSghMSksdW4oNjIpLGU8NSYmVyhFLk5hbWVkX2NhcHR1cmluZ19ncm91cHNfYXJlX29ubHlfYXZhaWxhYmxlX3doZW5fdGFyZ2V0aW5nX0VTMjAxOF9vcl9sYXRlcix4dCxsLXh0KSxXZSsrLGxlPSEwO2JyZWFrfWJyZWFrO2RlZmF1bHQ6bGV0IEx0PWwscG49SigwKTtvZShsKT09PTQ1JiYobCsrLEoocG4pLGw9PT1MdCsxJiZXKEUuU3VicGF0dGVybl9mbGFnc19tdXN0X2JlX3ByZXNlbnRfd2hlbl90aGVyZV9pc19hX21pbnVzX3NpZ24sTHQsbC1MdCkpLHVuKDU4KSxsZT0hMDticmVha31lbHNlIFdlKyssbGU9ITA7bG4oITApLHVuKDQxKTticmVhaztjYXNlIDEyMzpsKys7bGV0IGo9bDtycigpO2xldCBodD14O2lmKCF3ZSYmIWh0KXtsZT0hMDticmVha31pZihvZShsKT09PTQ0KXtsKysscnIoKTtsZXQgeHQ9eDtpZihodCl4dCYmTnVtYmVyLnBhcnNlSW50KGh0KT5OdW1iZXIucGFyc2VJbnQoeHQpJiYod2V8fG9lKGwpPT09MTI1KSYmVyhFLk51bWJlcnNfb3V0X29mX29yZGVyX2luX3F1YW50aWZpZXIsaixsLWopO2Vsc2UgaWYoeHR8fG9lKGwpPT09MTI1KVcoRS5JbmNvbXBsZXRlX3F1YW50aWZpZXJfRGlnaXRfZXhwZWN0ZWQsaiwwKTtlbHNle1coRS5VbmV4cGVjdGVkXzBfRGlkX3lvdV9tZWFuX3RvX2VzY2FwZV9pdF93aXRoX2JhY2tzbGFzaCxGZSwxLFN0cmluZy5mcm9tQ2hhckNvZGUodmUpKSxsZT0hMDticmVha319ZWxzZSBpZighaHQpe3dlJiZXKEUuVW5leHBlY3RlZF8wX0RpZF95b3VfbWVhbl90b19lc2NhcGVfaXRfd2l0aF9iYWNrc2xhc2gsRmUsMSxTdHJpbmcuZnJvbUNoYXJDb2RlKHZlKSksbGU9ITA7YnJlYWt9aWYob2UobCkhPT0xMjUpaWYod2UpVyhFLl8wX2V4cGVjdGVkLGwsMCxcIn1cIiksbC0tO2Vsc2V7bGU9ITA7YnJlYWt9Y2FzZSA0MjpjYXNlIDQzOmNhc2UgNjM6bCsrLG9lKGwpPT09NjMmJmwrKyxsZXx8VyhFLlRoZXJlX2lzX25vdGhpbmdfYXZhaWxhYmxlX2Zvcl9yZXBldGl0aW9uLEZlLGwtRmUpLGxlPSExO2JyZWFrO2Nhc2UgNDY6bCsrLGxlPSEwO2JyZWFrO2Nhc2UgOTE6bCsrLHhlP2FuKCk6emUoKSx1big5MyksbGU9ITA7YnJlYWs7Y2FzZSA0MTppZihHKXJldHVybjtjYXNlIDkzOmNhc2UgMTI1Oih3ZXx8dmU9PT00MSkmJlcoRS5VbmV4cGVjdGVkXzBfRGlkX3lvdV9tZWFuX3RvX2VzY2FwZV9pdF93aXRoX2JhY2tzbGFzaCxsLDEsU3RyaW5nLmZyb21DaGFyQ29kZSh2ZSkpLGwrKyxsZT0hMDticmVhaztjYXNlIDQ3OmNhc2UgMTI0OnJldHVybjtkZWZhdWx0OndpKCksbGU9ITA7YnJlYWt9fX1mdW5jdGlvbiBKKEcpe2Zvcig7Oyl7bGV0IGxlPU9lKGwpO2lmKGxlPT09LTF8fCFFcihsZSxlKSlicmVhaztsZXQgRmU9RnQobGUpLHZlPVBkKGxlKTt2ZT09PXZvaWQgMD9XKEUuVW5rbm93bl9yZWd1bGFyX2V4cHJlc3Npb25fZmxhZyxsLEZlKTpHJnZlP1coRS5EdXBsaWNhdGVfcmVndWxhcl9leHByZXNzaW9uX2ZsYWcsbCxGZSk6dmUmMjg/KEd8PXZlLHl0KHZlLEZlKSk6VyhFLlRoaXNfcmVndWxhcl9leHByZXNzaW9uX2ZsYWdfY2Fubm90X2JlX3RvZ2dsZWRfd2l0aGluX2Ffc3VicGF0dGVybixsLEZlKSxsKz1GZX1yZXR1cm4gR31mdW5jdGlvbiBxZSgpe3N3aXRjaChCLmFzc2VydEVxdWFsKFYobC0xKSw5Miksb2UobCkpe2Nhc2UgMTA3OmwrKyxvZShsKT09PTYwPyhsKyssTWUoITApLHVuKDYyKSk6KHdlfHxLKSYmVyhFLmtfbXVzdF9iZV9mb2xsb3dlZF9ieV9hX2NhcHR1cmluZ19ncm91cF9uYW1lX2VuY2xvc2VkX2luX2FuZ2xlX2JyYWNrZXRzLGwtMiwyKTticmVhaztjYXNlIDExMzppZih4ZSl7bCsrLFcoRS5xX2lzX29ubHlfYXZhaWxhYmxlX2luc2lkZV9jaGFyYWN0ZXJfY2xhc3MsbC0yLDIpO2JyZWFrfWRlZmF1bHQ6Qi5hc3NlcnQocXQoKXx8dSgpfHxJZSghMCkpO2JyZWFrfX1mdW5jdGlvbiB1KCl7Qi5hc3NlcnRFcXVhbChWKGwtMSksOTIpO2xldCBHPW9lKGwpO2lmKEc+PTQ5JiZHPD01Nyl7bGV0IGxlPWw7cmV0dXJuIHJyKCksRWU9QW4oRWUse3BvczpsZSxlbmQ6bCx2YWx1ZToreH0pLCEwfXJldHVybiExfWZ1bmN0aW9uIEllKEcpe0IuYXNzZXJ0RXF1YWwoVihsLTEpLDkyKTtsZXQgbGU9b2UobCk7c3dpdGNoKGxlKXtjYXNlLTE6cmV0dXJuIFcoRS5VbmRldGVybWluZWRfY2hhcmFjdGVyX2VzY2FwZSxsLTEsMSksXCJcXFxcXCI7Y2FzZSA5OTppZihsKyssbGU9b2UobCkscmYobGUpKXJldHVybiBsKyssU3RyaW5nLmZyb21DaGFyQ29kZShsZSYzMSk7aWYod2UpVyhFLmNfbXVzdF9iZV9mb2xsb3dlZF9ieV9hbl9BU0NJSV9sZXR0ZXIsbC0yLDIpO2Vsc2UgaWYoRylyZXR1cm4gbC0tLFwiXFxcXFwiO3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKGxlKTtjYXNlIDk0OmNhc2UgMzY6Y2FzZSA0NzpjYXNlIDkyOmNhc2UgNDY6Y2FzZSA0MjpjYXNlIDQzOmNhc2UgNjM6Y2FzZSA0MDpjYXNlIDQxOmNhc2UgOTE6Y2FzZSA5MzpjYXNlIDEyMzpjYXNlIDEyNTpjYXNlIDEyNDpyZXR1cm4gbCsrLFN0cmluZy5mcm9tQ2hhckNvZGUobGUpO2RlZmF1bHQ6cmV0dXJuIGwtLSxPdCg0fCgkPzg6MCl8KFNlPzE2OjApfChHPzMyOjApKX19ZnVuY3Rpb24gTWUoRyl7Qi5hc3NlcnRFcXVhbChWKGwtMSksNjApLHk9bCxKdChPZShsKSxlKSxsPT09eT9XKEUuRXhwZWN0ZWRfYV9jYXB0dXJpbmdfZ3JvdXBfbmFtZSk6Rz9ZZT1BbihZZSx7cG9zOnksZW5kOmwsbmFtZTp4fSk6cnQhPW51bGwmJnJ0Lmhhcyh4KXx8VG4uc29tZShsZT0+bGU9PW51bGw/dm9pZCAwOmxlLmhhcyh4KSk/VyhFLk5hbWVkX2NhcHR1cmluZ19ncm91cHNfd2l0aF90aGVfc2FtZV9uYW1lX211c3RfYmVfbXV0dWFsbHlfZXhjbHVzaXZlX3RvX2VhY2hfb3RoZXIseSxsLXkpOihydD8/KHJ0PW5ldyBTZXQpLHJ0LmFkZCh4KSxaZT8/KFplPW5ldyBTZXQpLFplLmFkZCh4KSl9ZnVuY3Rpb24gVShHKXtyZXR1cm4gRz09PTkzfHxHPT09LTF8fGw+PVF9ZnVuY3Rpb24gemUoKXtmb3IoQi5hc3NlcnRFcXVhbChWKGwtMSksOTEpLG9lKGwpPT09OTQmJmwrKzs7KXtsZXQgRz1vZShsKTtpZihVKEcpKXJldHVybjtsZXQgbGU9bCxGZT1OdCgpO2lmKG9lKGwpPT09NDUpe2wrKztsZXQgdmU9b2UobCk7aWYoVSh2ZSkpcmV0dXJuOyFGZSYmd2UmJlcoRS5BX2NoYXJhY3Rlcl9jbGFzc19yYW5nZV9tdXN0X25vdF9iZV9ib3VuZGVkX2J5X2Fub3RoZXJfY2hhcmFjdGVyX2NsYXNzLGxlLGwtMS1sZSk7bGV0IGo9bCxodD1OdCgpO2lmKCFodCYmd2Upe1coRS5BX2NoYXJhY3Rlcl9jbGFzc19yYW5nZV9tdXN0X25vdF9iZV9ib3VuZGVkX2J5X2Fub3RoZXJfY2hhcmFjdGVyX2NsYXNzLGosbC1qKTtjb250aW51ZX1pZighRmUpY29udGludWU7bGV0IHh0PVdpKEZlLDApLEx0PVdpKGh0LDApO0ZlLmxlbmd0aD09PUZ0KHh0KSYmaHQubGVuZ3RoPT09RnQoTHQpJiZ4dD5MdCYmVyhFLlJhbmdlX291dF9vZl9vcmRlcl9pbl9jaGFyYWN0ZXJfY2xhc3MsbGUsbC1sZSl9fX1mdW5jdGlvbiBhbigpe0IuYXNzZXJ0RXF1YWwoVihsLTEpLDkxKTtsZXQgRz0hMTtvZShsKT09PTk0JiYobCsrLEc9ITApO2xldCBsZT0hMSxGZT1vZShsKTtpZihVKEZlKSlyZXR1cm47bGV0IHZlPWwsajtzd2l0Y2goUC5zbGljZShsLGwrMikpe2Nhc2VcIi0tXCI6Y2FzZVwiJiZcIjpXKEUuRXhwZWN0ZWRfYV9jbGFzc19zZXRfb3BlcmFuZCksYmU9ITE7YnJlYWs7ZGVmYXVsdDpqPSRlKCk7YnJlYWt9c3dpdGNoKG9lKGwpKXtjYXNlIDQ1OmlmKG9lKGwrMSk9PT00NSl7RyYmYmUmJlcoRS5Bbnl0aGluZ190aGF0X3dvdWxkX3Bvc3NpYmx5X21hdGNoX21vcmVfdGhhbl9hX3NpbmdsZV9jaGFyYWN0ZXJfaXNfaW52YWxpZF9pbnNpZGVfYV9uZWdhdGVkX2NoYXJhY3Rlcl9jbGFzcyx2ZSxsLXZlKSxsZT1iZSxWZSgzKSxiZT0hRyYmbGU7cmV0dXJufWJyZWFrO2Nhc2UgMzg6aWYob2UobCsxKT09PTM4KXtWZSgyKSxHJiZiZSYmVyhFLkFueXRoaW5nX3RoYXRfd291bGRfcG9zc2libHlfbWF0Y2hfbW9yZV90aGFuX2Ffc2luZ2xlX2NoYXJhY3Rlcl9pc19pbnZhbGlkX2luc2lkZV9hX25lZ2F0ZWRfY2hhcmFjdGVyX2NsYXNzLHZlLGwtdmUpLGxlPWJlLGJlPSFHJiZsZTtyZXR1cm59ZWxzZSBXKEUuVW5leHBlY3RlZF8wX0RpZF95b3VfbWVhbl90b19lc2NhcGVfaXRfd2l0aF9iYWNrc2xhc2gsbCwxLFN0cmluZy5mcm9tQ2hhckNvZGUoRmUpKTticmVhaztkZWZhdWx0OkcmJmJlJiZXKEUuQW55dGhpbmdfdGhhdF93b3VsZF9wb3NzaWJseV9tYXRjaF9tb3JlX3RoYW5fYV9zaW5nbGVfY2hhcmFjdGVyX2lzX2ludmFsaWRfaW5zaWRlX2FfbmVnYXRlZF9jaGFyYWN0ZXJfY2xhc3MsdmUsbC12ZSksbGU9YmU7YnJlYWt9Zm9yKDtGZT1vZShsKSxGZSE9PS0xOyl7c3dpdGNoKEZlKXtjYXNlIDQ1OmlmKGwrKyxGZT1vZShsKSxVKEZlKSl7YmU9IUcmJmxlO3JldHVybn1pZihGZT09PTQ1KXtsKyssVyhFLk9wZXJhdG9yc19tdXN0X25vdF9iZV9taXhlZF93aXRoaW5fYV9jaGFyYWN0ZXJfY2xhc3NfV3JhcF9pdF9pbl9hX25lc3RlZF9jbGFzc19pbnN0ZWFkLGwtMiwyKSx2ZT1sLTIsaj1QLnNsaWNlKHZlLGwpO2NvbnRpbnVlfWVsc2V7anx8VyhFLkFfY2hhcmFjdGVyX2NsYXNzX3JhbmdlX211c3Rfbm90X2JlX2JvdW5kZWRfYnlfYW5vdGhlcl9jaGFyYWN0ZXJfY2xhc3MsdmUsbC0xLXZlKTtsZXQgaHQ9bCx4dD0kZSgpO2lmKEcmJmJlJiZXKEUuQW55dGhpbmdfdGhhdF93b3VsZF9wb3NzaWJseV9tYXRjaF9tb3JlX3RoYW5fYV9zaW5nbGVfY2hhcmFjdGVyX2lzX2ludmFsaWRfaW5zaWRlX2FfbmVnYXRlZF9jaGFyYWN0ZXJfY2xhc3MsaHQsbC1odCksbGV8fChsZT1iZSksIXh0KXtXKEUuQV9jaGFyYWN0ZXJfY2xhc3NfcmFuZ2VfbXVzdF9ub3RfYmVfYm91bmRlZF9ieV9hbm90aGVyX2NoYXJhY3Rlcl9jbGFzcyxodCxsLWh0KTticmVha31pZighailicmVhaztsZXQgTHQ9V2koaiwwKSxwbj1XaSh4dCwwKTtqLmxlbmd0aD09PUZ0KEx0KSYmeHQubGVuZ3RoPT09RnQocG4pJiZMdD5wbiYmVyhFLlJhbmdlX291dF9vZl9vcmRlcl9pbl9jaGFyYWN0ZXJfY2xhc3MsdmUsbC12ZSl9YnJlYWs7Y2FzZSAzODp2ZT1sLGwrKyxvZShsKT09PTM4PyhsKyssVyhFLk9wZXJhdG9yc19tdXN0X25vdF9iZV9taXhlZF93aXRoaW5fYV9jaGFyYWN0ZXJfY2xhc3NfV3JhcF9pdF9pbl9hX25lc3RlZF9jbGFzc19pbnN0ZWFkLGwtMiwyKSxvZShsKT09PTM4JiYoVyhFLlVuZXhwZWN0ZWRfMF9EaWRfeW91X21lYW5fdG9fZXNjYXBlX2l0X3dpdGhfYmFja3NsYXNoLGwsMSxTdHJpbmcuZnJvbUNoYXJDb2RlKEZlKSksbCsrKSk6VyhFLlVuZXhwZWN0ZWRfMF9EaWRfeW91X21lYW5fdG9fZXNjYXBlX2l0X3dpdGhfYmFja3NsYXNoLGwtMSwxLFN0cmluZy5mcm9tQ2hhckNvZGUoRmUpKSxqPVAuc2xpY2UodmUsbCk7Y29udGludWV9aWYoVShvZShsKSkpYnJlYWs7c3dpdGNoKHZlPWwsUC5zbGljZShsLGwrMikpe2Nhc2VcIi0tXCI6Y2FzZVwiJiZcIjpXKEUuT3BlcmF0b3JzX211c3Rfbm90X2JlX21peGVkX3dpdGhpbl9hX2NoYXJhY3Rlcl9jbGFzc19XcmFwX2l0X2luX2FfbmVzdGVkX2NsYXNzX2luc3RlYWQsbCwyKSxsKz0yLGo9UC5zbGljZSh2ZSxsKTticmVhaztkZWZhdWx0Omo9JGUoKTticmVha319YmU9IUcmJmxlfWZ1bmN0aW9uIFZlKEcpe2xldCBsZT1iZTtmb3IoOzspe2xldCBGZT1vZShsKTtpZihVKEZlKSlicmVhaztzd2l0Y2goRmUpe2Nhc2UgNDU6bCsrLG9lKGwpPT09NDU/KGwrKyxHIT09MyYmVyhFLk9wZXJhdG9yc19tdXN0X25vdF9iZV9taXhlZF93aXRoaW5fYV9jaGFyYWN0ZXJfY2xhc3NfV3JhcF9pdF9pbl9hX25lc3RlZF9jbGFzc19pbnN0ZWFkLGwtMiwyKSk6VyhFLk9wZXJhdG9yc19tdXN0X25vdF9iZV9taXhlZF93aXRoaW5fYV9jaGFyYWN0ZXJfY2xhc3NfV3JhcF9pdF9pbl9hX25lc3RlZF9jbGFzc19pbnN0ZWFkLGwtMSwxKTticmVhaztjYXNlIDM4OmwrKyxvZShsKT09PTM4PyhsKyssRyE9PTImJlcoRS5PcGVyYXRvcnNfbXVzdF9ub3RfYmVfbWl4ZWRfd2l0aGluX2FfY2hhcmFjdGVyX2NsYXNzX1dyYXBfaXRfaW5fYV9uZXN0ZWRfY2xhc3NfaW5zdGVhZCxsLTIsMiksb2UobCk9PT0zOCYmKFcoRS5VbmV4cGVjdGVkXzBfRGlkX3lvdV9tZWFuX3RvX2VzY2FwZV9pdF93aXRoX2JhY2tzbGFzaCxsLDEsU3RyaW5nLmZyb21DaGFyQ29kZShGZSkpLGwrKykpOlcoRS5VbmV4cGVjdGVkXzBfRGlkX3lvdV9tZWFuX3RvX2VzY2FwZV9pdF93aXRoX2JhY2tzbGFzaCxsLTEsMSxTdHJpbmcuZnJvbUNoYXJDb2RlKEZlKSk7YnJlYWs7ZGVmYXVsdDpzd2l0Y2goRyl7Y2FzZSAzOlcoRS5fMF9leHBlY3RlZCxsLDAsXCItLVwiKTticmVhaztjYXNlIDI6VyhFLl8wX2V4cGVjdGVkLGwsMCxcIiYmXCIpO2JyZWFrO2RlZmF1bHQ6YnJlYWt9YnJlYWt9aWYoRmU9b2UobCksVShGZSkpe1coRS5FeHBlY3RlZF9hX2NsYXNzX3NldF9vcGVyYW5kKTticmVha30kZSgpLGxlJiYobGU9YmUpfWJlPWxlfWZ1bmN0aW9uICRlKCl7c3dpdGNoKGJlPSExLG9lKGwpKXtjYXNlLTE6cmV0dXJuXCJcIjtjYXNlIDkxOnJldHVybiBsKyssYW4oKSx1big5MyksXCJcIjtjYXNlIDkyOmlmKGwrKyxxdCgpKXJldHVyblwiXCI7aWYob2UobCk9PT0xMTMpcmV0dXJuIGwrKyxvZShsKT09PTEyMz8obCsrLFB0KCksdW4oMTI1KSxcIlwiKTooVyhFLnFfbXVzdF9iZV9mb2xsb3dlZF9ieV9zdHJpbmdfYWx0ZXJuYXRpdmVzX2VuY2xvc2VkX2luX2JyYWNlcyxsLTIsMiksXCJxXCIpO2wtLTtkZWZhdWx0OnJldHVybiBrdCgpfX1mdW5jdGlvbiBQdCgpe0IuYXNzZXJ0RXF1YWwoVihsLTEpLDEyMyk7bGV0IEc9MDtmb3IoOzspc3dpdGNoKG9lKGwpKXtjYXNlLTE6cmV0dXJuO2Nhc2UgMTI1OkchPT0xJiYoYmU9ITApO3JldHVybjtjYXNlIDEyNDpHIT09MSYmKGJlPSEwKSxsKyssdj1sLEc9MDticmVhaztkZWZhdWx0Omt0KCksRysrO2JyZWFrfX1mdW5jdGlvbiBrdCgpe2xldCBHPW9lKGwpO2lmKEc9PT0tMSlyZXR1cm5cIlwiO2lmKEc9PT05Mil7bCsrO2xldCBsZT1vZShsKTtzd2l0Y2gobGUpe2Nhc2UgOTg6cmV0dXJuIGwrKyxcIlxcYlwiO2Nhc2UgMzg6Y2FzZSA0NTpjYXNlIDMzOmNhc2UgMzU6Y2FzZSAzNzpjYXNlIDQ0OmNhc2UgNTg6Y2FzZSA1OTpjYXNlIDYwOmNhc2UgNjE6Y2FzZSA2MjpjYXNlIDY0OmNhc2UgOTY6Y2FzZSAxMjY6cmV0dXJuIGwrKyxTdHJpbmcuZnJvbUNoYXJDb2RlKGxlKTtkZWZhdWx0OnJldHVybiBJZSghMSl9fWVsc2UgaWYoRz09PW9lKGwrMSkpc3dpdGNoKEcpe2Nhc2UgMzg6Y2FzZSAzMzpjYXNlIDM1OmNhc2UgMzc6Y2FzZSA0MjpjYXNlIDQzOmNhc2UgNDQ6Y2FzZSA0NjpjYXNlIDU4OmNhc2UgNTk6Y2FzZSA2MDpjYXNlIDYxOmNhc2UgNjI6Y2FzZSA2MzpjYXNlIDY0OmNhc2UgOTY6Y2FzZSAxMjY6cmV0dXJuIFcoRS5BX2NoYXJhY3Rlcl9jbGFzc19tdXN0X25vdF9jb250YWluX2FfcmVzZXJ2ZWRfZG91YmxlX3B1bmN0dWF0b3JfRGlkX3lvdV9tZWFuX3RvX2VzY2FwZV9pdF93aXRoX2JhY2tzbGFzaCxsLDIpLGwrPTIsUC5zdWJzdHJpbmcobC0yLGwpfXN3aXRjaChHKXtjYXNlIDQ3OmNhc2UgNDA6Y2FzZSA0MTpjYXNlIDkxOmNhc2UgOTM6Y2FzZSAxMjM6Y2FzZSAxMjU6Y2FzZSA0NTpjYXNlIDEyNDpyZXR1cm4gVyhFLlVuZXhwZWN0ZWRfMF9EaWRfeW91X21lYW5fdG9fZXNjYXBlX2l0X3dpdGhfYmFja3NsYXNoLGwsMSxTdHJpbmcuZnJvbUNoYXJDb2RlKEcpKSxsKyssU3RyaW5nLmZyb21DaGFyQ29kZShHKX1yZXR1cm4gd2koKX1mdW5jdGlvbiBOdCgpe2lmKG9lKGwpPT09OTIpe2wrKztsZXQgRz1vZShsKTtzd2l0Y2goRyl7Y2FzZSA5ODpyZXR1cm4gbCsrLFwiXFxiXCI7Y2FzZSA0NTpyZXR1cm4gbCsrLFN0cmluZy5mcm9tQ2hhckNvZGUoRyk7ZGVmYXVsdDpyZXR1cm4gcXQoKT9cIlwiOkllKCExKX19ZWxzZSByZXR1cm4gd2koKX1mdW5jdGlvbiBxdCgpe0IuYXNzZXJ0RXF1YWwoVihsLTEpLDkyKTtsZXQgRz0hMSxsZT1sLTEsRmU9b2UobCk7c3dpdGNoKEZlKXtjYXNlIDEwMDpjYXNlIDY4OmNhc2UgMTE1OmNhc2UgODM6Y2FzZSAxMTk6Y2FzZSA4NzpyZXR1cm4gbCsrLCEwO2Nhc2UgODA6Rz0hMDtjYXNlIDExMjppZihsKyssb2UobCk9PT0xMjMpe2wrKztsZXQgdmU9bCxqPUduKCk7aWYob2UobCk9PT02MSl7bGV0IGh0PUlkLmdldChqKTtpZihsPT09dmUpVyhFLkV4cGVjdGVkX2FfVW5pY29kZV9wcm9wZXJ0eV9uYW1lKTtlbHNlIGlmKGh0PT09dm9pZCAwKXtXKEUuVW5rbm93bl9Vbmljb2RlX3Byb3BlcnR5X25hbWUsdmUsbC12ZSk7bGV0IHBuPW5zKGosSWQua2V5cygpLGd0KTtwbiYmVyhFLkRpZF95b3VfbWVhbl8wLHZlLGwtdmUscG4pfWwrKztsZXQgeHQ9bCxMdD1HbigpO2lmKGw9PT14dClXKEUuRXhwZWN0ZWRfYV9Vbmljb2RlX3Byb3BlcnR5X3ZhbHVlKTtlbHNlIGlmKGh0IT09dm9pZCAwJiYhUmFbaHRdLmhhcyhMdCkpe1coRS5Vbmtub3duX1VuaWNvZGVfcHJvcGVydHlfdmFsdWUseHQsbC14dCk7bGV0IHBuPW5zKEx0LFJhW2h0XSxndCk7cG4mJlcoRS5EaWRfeW91X21lYW5fMCx4dCxsLXh0LHBuKX19ZWxzZSBpZihsPT09dmUpVyhFLkV4cGVjdGVkX2FfVW5pY29kZV9wcm9wZXJ0eV9uYW1lX29yX3ZhbHVlKTtlbHNlIGlmKE1kLmhhcyhqKSl4ZT9HP1coRS5Bbnl0aGluZ190aGF0X3dvdWxkX3Bvc3NpYmx5X21hdGNoX21vcmVfdGhhbl9hX3NpbmdsZV9jaGFyYWN0ZXJfaXNfaW52YWxpZF9pbnNpZGVfYV9uZWdhdGVkX2NoYXJhY3Rlcl9jbGFzcyx2ZSxsLXZlKTpiZT0hMDpXKEUuQW55X1VuaWNvZGVfcHJvcGVydHlfdGhhdF93b3VsZF9wb3NzaWJseV9tYXRjaF9tb3JlX3RoYW5fYV9zaW5nbGVfY2hhcmFjdGVyX2lzX29ubHlfYXZhaWxhYmxlX3doZW5fdGhlX1VuaWNvZGVfU2V0c192X2ZsYWdfaXNfc2V0LHZlLGwtdmUpO2Vsc2UgaWYoIVJhLkdlbmVyYWxfQ2F0ZWdvcnkuaGFzKGopJiYhT2QuaGFzKGopKXtXKEUuVW5rbm93bl9Vbmljb2RlX3Byb3BlcnR5X25hbWVfb3JfdmFsdWUsdmUsbC12ZSk7bGV0IGh0PW5zKGosWy4uLlJhLkdlbmVyYWxfQ2F0ZWdvcnksLi4uT2QsLi4uTWRdLGd0KTtodCYmVyhFLkRpZF95b3VfbWVhbl8wLHZlLGwtdmUsaHQpfXVuKDEyNSksU2V8fFcoRS5Vbmljb2RlX3Byb3BlcnR5X3ZhbHVlX2V4cHJlc3Npb25zX2FyZV9vbmx5X2F2YWlsYWJsZV93aGVuX3RoZV9Vbmljb2RlX3VfZmxhZ19vcl90aGVfVW5pY29kZV9TZXRzX3ZfZmxhZ19pc19zZXQsbGUsbC1sZSl9ZWxzZSBpZih3ZSlXKEUuXzBfbXVzdF9iZV9mb2xsb3dlZF9ieV9hX1VuaWNvZGVfcHJvcGVydHlfdmFsdWVfZXhwcmVzc2lvbl9lbmNsb3NlZF9pbl9icmFjZXMsbC0yLDIsU3RyaW5nLmZyb21DaGFyQ29kZShGZSkpO2Vsc2UgcmV0dXJuIGwtLSwhMTtyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBHbigpe2xldCBHPVwiXCI7Zm9yKDs7KXtsZXQgbGU9b2UobCk7aWYobGU9PT0tMXx8IUdtKGxlKSlicmVhaztHKz1TdHJpbmcuZnJvbUNoYXJDb2RlKGxlKSxsKyt9cmV0dXJuIEd9ZnVuY3Rpb24gd2koKXtsZXQgRz1TZT9GdChPZShsKSk6MTtyZXR1cm4gbCs9RyxHPjA/UC5zdWJzdHJpbmcobC1HLGwpOlwiXCJ9ZnVuY3Rpb24gdW4oRyl7b2UobCk9PT1HP2wrKzpXKEUuXzBfZXhwZWN0ZWQsbCwwLFN0cmluZy5mcm9tQ2hhckNvZGUoRykpfWxuKCExKSxVbihZZSxHPT57aWYoIShaZSE9bnVsbCYmWmUuaGFzKEcubmFtZSkpJiYoVyhFLlRoZXJlX2lzX25vX2NhcHR1cmluZ19ncm91cF9uYW1lZF8wX2luX3RoaXNfcmVndWxhcl9leHByZXNzaW9uLEcucG9zLEcuZW5kLUcucG9zLEcubmFtZSksWmUpKXtsZXQgbGU9bnMoRy5uYW1lLFplLGd0KTtsZSYmVyhFLkRpZF95b3VfbWVhbl8wLEcucG9zLEcuZW5kLUcucG9zLGxlKX19KSxVbihFZSxHPT57Ry52YWx1ZT5XZSYmKFdlP1coRS5UaGlzX2JhY2tyZWZlcmVuY2VfcmVmZXJzX3RvX2FfZ3JvdXBfdGhhdF9kb2VzX25vdF9leGlzdF9UaGVyZV9hcmVfb25seV8wX2NhcHR1cmluZ19ncm91cHNfaW5fdGhpc19yZWd1bGFyX2V4cHJlc3Npb24sRy5wb3MsRy5lbmQtRy5wb3MsV2UpOlcoRS5UaGlzX2JhY2tyZWZlcmVuY2VfcmVmZXJzX3RvX2FfZ3JvdXBfdGhhdF9kb2VzX25vdF9leGlzdF9UaGVyZV9hcmVfbm9fY2FwdHVyaW5nX2dyb3Vwc19pbl90aGlzX3JlZ3VsYXJfZXhwcmVzc2lvbixHLnBvcyxHLmVuZC1HLnBvcykpfSl9ZnVuY3Rpb24geXQoUiwkKXtsZXQgSz1XeS5nZXQoUik7SyYmZTxLJiZXKEUuVGhpc19yZWd1bGFyX2V4cHJlc3Npb25fZmxhZ19pc19vbmx5X2F2YWlsYWJsZV93aGVuX3RhcmdldGluZ18wX29yX2xhdGVyLGwsJCxsYihLKSl9ZnVuY3Rpb24gY24oUiwkLEsseGUpe2xldCBTZT1udCgkLnRyaW1TdGFydCgpLEspO3JldHVybiBTZT09PXZvaWQgMD9SOkFuKFIse3JhbmdlOntwb3M6eGUsZW5kOmx9LHR5cGU6U2V9KX1mdW5jdGlvbiBudChSLCQpe2xldCBLPSQuZXhlYyhSKTtpZihLKXN3aXRjaChLWzFdKXtjYXNlXCJ0cy1leHBlY3QtZXJyb3JcIjpyZXR1cm4gMDtjYXNlXCJ0cy1pZ25vcmVcIjpyZXR1cm4gMX19ZnVuY3Rpb24gQnQoUil7cmV0dXJuIGw9eSxnPVByKCFSKX1mdW5jdGlvbiBybigpe3JldHVybiBsPXksZz1QcighMCl9ZnVuY3Rpb24gX3IoUj0hMCl7cmV0dXJuIGw9eT1oLGc9Rm4oUil9ZnVuY3Rpb24gZnIoKXtyZXR1cm4gZz09PTQ4PyhsPXkrMSxnPTMwKTpnfWZ1bmN0aW9uIGRyKCl7cmV0dXJuIGc9PT04MT8obD15KzEsZz02Myk6Z31mdW5jdGlvbiB6bigpe3JldHVybiBCLmFzc2VydChnPT09NjEsXCIncmVTY2FuUXVlc3Rpb25Ub2tlbicgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIG9uIGEgJz8/J1wiKSxsPXkrMSxnPTU4fWZ1bmN0aW9uIEZuKFI9ITApe2lmKGg9eT1sLGw+PVEpcmV0dXJuIGc9MTtsZXQgJD1WKGwpO2lmKCQ9PT02MClyZXR1cm4gVihsKzEpPT09NDc/KGwrPTIsZz0zMSk6KGwrKyxnPTMwKTtpZigkPT09MTIzKXJldHVybiBsKyssZz0xOTtsZXQgSz0wO2Zvcig7bDxRJiYoJD1WKGwpLCQhPT0xMjMpOyl7aWYoJD09PTYwKXtpZihWaShQLGwpKXJldHVybiBsPU1hKFAsbCxXKSxnPTc7YnJlYWt9aWYoJD09PTYyJiZXKEUuVW5leHBlY3RlZF90b2tlbl9EaWRfeW91X21lYW5fb3JfZ3QsbCwxKSwkPT09MTI1JiZXKEUuVW5leHBlY3RlZF90b2tlbl9EaWRfeW91X21lYW5fb3JfcmJyYWNlLGwsMSksQ24oJCkmJks9PT0wKUs9LTE7ZWxzZXtpZighUiYmQ24oJCkmJks+MClicmVhaztCYSgkKXx8KEs9bCl9bCsrfXJldHVybiB4PVAuc3Vic3RyaW5nKGgsbCksSz09PS0xPzEzOjEyfWZ1bmN0aW9uIE5yKCl7aWYod3QoZykpe2Zvcig7bDxROyl7aWYoVihsKT09PTQ1KXt4Kz1cIi1cIixsKys7Y29udGludWV9bGV0ICQ9bDtpZih4Kz12dCgpLGw9PT0kKWJyZWFrfXJldHVybiBRZSgpfXJldHVybiBnfWZ1bmN0aW9uIFZuKCl7c3dpdGNoKGg9bCxWKGwpKXtjYXNlIDM0OmNhc2UgMzk6cmV0dXJuIHg9aXIoITApLGc9MTE7ZGVmYXVsdDpyZXR1cm4gY3QoKX19ZnVuY3Rpb24gQ2UoKXtyZXR1cm4gbD15PWgsVm4oKX1mdW5jdGlvbiBtcihSKXtpZihoPXk9bCxJPTAsbD49USlyZXR1cm4gZz0xO2ZvcihsZXQgJD1WKGwpO2w8USYmIUNuKCQpJiYkIT09OTY7JD1hZSgrK2wpKWlmKCFSKXtpZigkPT09MTIzKWJyZWFrO2lmKCQ9PT02NCYmbC0xPj0wJiZycyhWKGwtMSkpJiYhKGwrMTxRJiZCYShWKGwrMSkpKSlicmVha31yZXR1cm4gbD09PXk/TCgpOih4PVAuc3Vic3RyaW5nKHksbCksZz04Mil9ZnVuY3Rpb24gTCgpe2lmKGg9eT1sLEk9MCxsPj1RKXJldHVybiBnPTE7bGV0IFI9YWUobCk7c3dpdGNoKGwrPUZ0KFIpLFIpe2Nhc2UgOTpjYXNlIDExOmNhc2UgMTI6Y2FzZSAzMjpmb3IoO2w8USYmcnMoVihsKSk7KWwrKztyZXR1cm4gZz01O2Nhc2UgNjQ6cmV0dXJuIGc9NjA7Y2FzZSAxMzpWKGwpPT09MTAmJmwrKztjYXNlIDEwOnJldHVybiBJfD0xLGc9NDtjYXNlIDQyOnJldHVybiBnPTQyO2Nhc2UgMTIzOnJldHVybiBnPTE5O2Nhc2UgMTI1OnJldHVybiBnPTIwO2Nhc2UgOTE6cmV0dXJuIGc9MjM7Y2FzZSA5MzpyZXR1cm4gZz0yNDtjYXNlIDQwOnJldHVybiBnPTIxO2Nhc2UgNDE6cmV0dXJuIGc9MjI7Y2FzZSA2MDpyZXR1cm4gZz0zMDtjYXNlIDYyOnJldHVybiBnPTMyO2Nhc2UgNjE6cmV0dXJuIGc9NjQ7Y2FzZSA0NDpyZXR1cm4gZz0yODtjYXNlIDQ2OnJldHVybiBnPTI1O2Nhc2UgOTY6cmV0dXJuIGc9NjI7Y2FzZSAzNTpyZXR1cm4gZz02MztjYXNlIDkyOmwtLTtsZXQgJD1NdCgpO2lmKCQ+PTAmJlpuKCQsZSkpcmV0dXJuIHg9Qm4oITApK3Z0KCksZz1RZSgpO2xldCBLPU9uKCk7cmV0dXJuIEs+PTAmJlpuKEssZSk/KGwrPTYsSXw9MTAyNCx4PVN0cmluZy5mcm9tQ2hhckNvZGUoSykrdnQoKSxnPVFlKCkpOihsKyssZz0wKX1pZihabihSLGUpKXtsZXQgJD1SO2Zvcig7bDxRJiZFcigkPWFlKGwpLGUpfHwkPT09NDU7KWwrPUZ0KCQpO3JldHVybiB4PVAuc3Vic3RyaW5nKHksbCksJD09PTkyJiYoeCs9dnQoKSksZz1RZSgpfWVsc2UgcmV0dXJuIGc9MH1mdW5jdGlvbiBzZShSLCQpe2xldCBLPWwseGU9aCxTZT15LHdlPWcsYmU9eCxXZT1JLFplPVIoKTtyZXR1cm4oIVplfHwkKSYmKGw9SyxoPXhlLHk9U2UsZz13ZSx4PWJlLEk9V2UpLFplfWZ1bmN0aW9uIGZlKFIsJCxLKXtsZXQgeGU9USxTZT1sLHdlPWgsYmU9eSxXZT1nLFplPXgsWWU9SSxFZT1yZTtEdChQLFIsJCk7bGV0IFRuPUsoKTtyZXR1cm4gUT14ZSxsPVNlLGg9d2UseT1iZSxnPVdlLHg9WmUsST1ZZSxyZT1FZSxUbn1mdW5jdGlvbiBUZShSKXtyZXR1cm4gc2UoUiwhMCl9ZnVuY3Rpb24gWGUoUil7cmV0dXJuIHNlKFIsITEpfWZ1bmN0aW9uIEtlKCl7cmV0dXJuIFB9ZnVuY3Rpb24gc3QoKXtyZT12b2lkIDB9ZnVuY3Rpb24gRHQoUiwkLEspe1A9Unx8XCJcIixRPUs9PT12b2lkIDA/UC5sZW5ndGg6JCtLLFduKCR8fDApfWZ1bmN0aW9uIFR0KFIpe209Un1mdW5jdGlvbiB1dChSKXtlPVJ9ZnVuY3Rpb24gSXIoUil7YT1SfWZ1bmN0aW9uIGhyKFIpe3llPVJ9ZnVuY3Rpb24gTW4oUil7ZGU9Un1mdW5jdGlvbiBXbihSKXtCLmFzc2VydChSPj0wKSxsPVIsaD1SLHk9UixnPTAseD12b2lkIDAsST0wfWZ1bmN0aW9uIFNpKFIpe2hlKz1SPzE6LTF9fWZ1bmN0aW9uIFdpKGUsdCl7cmV0dXJuIGUuY29kZVBvaW50QXQodCl9ZnVuY3Rpb24gRnQoZSl7cmV0dXJuIGU+PTY1NTM2PzI6ZT09PS0xPzA6MX1mdW5jdGlvbiBjZyhlKXtpZihCLmFzc2VydCgwPD1lJiZlPD0xMTE0MTExKSxlPD02NTUzNSlyZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShlKTtsZXQgdD1NYXRoLmZsb29yKChlLTY1NTM2KS8xMDI0KSs1NTI5NixhPShlLTY1NTM2KSUxMDI0KzU2MzIwO3JldHVybiBTdHJpbmcuZnJvbUNoYXJDb2RlKHQsYSl9dmFyIGxnPVN0cmluZy5mcm9tQ29kZVBvaW50P2U9PlN0cmluZy5mcm9tQ29kZVBvaW50KGUpOmNnO2Z1bmN0aW9uIE5kKGUpe3JldHVybiBsZyhlKX12YXIgSWQ9bmV3IE1hcChPYmplY3QuZW50cmllcyh7R2VuZXJhbF9DYXRlZ29yeTpcIkdlbmVyYWxfQ2F0ZWdvcnlcIixnYzpcIkdlbmVyYWxfQ2F0ZWdvcnlcIixTY3JpcHQ6XCJTY3JpcHRcIixzYzpcIlNjcmlwdFwiLFNjcmlwdF9FeHRlbnNpb25zOlwiU2NyaXB0X0V4dGVuc2lvbnNcIixzY3g6XCJTY3JpcHRfRXh0ZW5zaW9uc1wifSkpLE9kPW5ldyBTZXQoW1wiQVNDSUlcIixcIkFTQ0lJX0hleF9EaWdpdFwiLFwiQUhleFwiLFwiQWxwaGFiZXRpY1wiLFwiQWxwaGFcIixcIkFueVwiLFwiQXNzaWduZWRcIixcIkJpZGlfQ29udHJvbFwiLFwiQmlkaV9DXCIsXCJCaWRpX01pcnJvcmVkXCIsXCJCaWRpX01cIixcIkNhc2VfSWdub3JhYmxlXCIsXCJDSVwiLFwiQ2FzZWRcIixcIkNoYW5nZXNfV2hlbl9DYXNlZm9sZGVkXCIsXCJDV0NGXCIsXCJDaGFuZ2VzX1doZW5fQ2FzZW1hcHBlZFwiLFwiQ1dDTVwiLFwiQ2hhbmdlc19XaGVuX0xvd2VyY2FzZWRcIixcIkNXTFwiLFwiQ2hhbmdlc19XaGVuX05GS0NfQ2FzZWZvbGRlZFwiLFwiQ1dLQ0ZcIixcIkNoYW5nZXNfV2hlbl9UaXRsZWNhc2VkXCIsXCJDV1RcIixcIkNoYW5nZXNfV2hlbl9VcHBlcmNhc2VkXCIsXCJDV1VcIixcIkRhc2hcIixcIkRlZmF1bHRfSWdub3JhYmxlX0NvZGVfUG9pbnRcIixcIkRJXCIsXCJEZXByZWNhdGVkXCIsXCJEZXBcIixcIkRpYWNyaXRpY1wiLFwiRGlhXCIsXCJFbW9qaVwiLFwiRW1vamlfQ29tcG9uZW50XCIsXCJFQ29tcFwiLFwiRW1vamlfTW9kaWZpZXJcIixcIkVNb2RcIixcIkVtb2ppX01vZGlmaWVyX0Jhc2VcIixcIkVCYXNlXCIsXCJFbW9qaV9QcmVzZW50YXRpb25cIixcIkVQcmVzXCIsXCJFeHRlbmRlZF9QaWN0b2dyYXBoaWNcIixcIkV4dFBpY3RcIixcIkV4dGVuZGVyXCIsXCJFeHRcIixcIkdyYXBoZW1lX0Jhc2VcIixcIkdyX0Jhc2VcIixcIkdyYXBoZW1lX0V4dGVuZFwiLFwiR3JfRXh0XCIsXCJIZXhfRGlnaXRcIixcIkhleFwiLFwiSURTX0JpbmFyeV9PcGVyYXRvclwiLFwiSURTQlwiLFwiSURTX1RyaW5hcnlfT3BlcmF0b3JcIixcIklEU1RcIixcIklEX0NvbnRpbnVlXCIsXCJJRENcIixcIklEX1N0YXJ0XCIsXCJJRFNcIixcIklkZW9ncmFwaGljXCIsXCJJZGVvXCIsXCJKb2luX0NvbnRyb2xcIixcIkpvaW5fQ1wiLFwiTG9naWNhbF9PcmRlcl9FeGNlcHRpb25cIixcIkxPRVwiLFwiTG93ZXJjYXNlXCIsXCJMb3dlclwiLFwiTWF0aFwiLFwiTm9uY2hhcmFjdGVyX0NvZGVfUG9pbnRcIixcIk5DaGFyXCIsXCJQYXR0ZXJuX1N5bnRheFwiLFwiUGF0X1N5blwiLFwiUGF0dGVybl9XaGl0ZV9TcGFjZVwiLFwiUGF0X1dTXCIsXCJRdW90YXRpb25fTWFya1wiLFwiUU1hcmtcIixcIlJhZGljYWxcIixcIlJlZ2lvbmFsX0luZGljYXRvclwiLFwiUklcIixcIlNlbnRlbmNlX1Rlcm1pbmFsXCIsXCJTVGVybVwiLFwiU29mdF9Eb3R0ZWRcIixcIlNEXCIsXCJUZXJtaW5hbF9QdW5jdHVhdGlvblwiLFwiVGVybVwiLFwiVW5pZmllZF9JZGVvZ3JhcGhcIixcIlVJZGVvXCIsXCJVcHBlcmNhc2VcIixcIlVwcGVyXCIsXCJWYXJpYXRpb25fU2VsZWN0b3JcIixcIlZTXCIsXCJXaGl0ZV9TcGFjZVwiLFwic3BhY2VcIixcIlhJRF9Db250aW51ZVwiLFwiWElEQ1wiLFwiWElEX1N0YXJ0XCIsXCJYSURTXCJdKSxNZD1uZXcgU2V0KFtcIkJhc2ljX0Vtb2ppXCIsXCJFbW9qaV9LZXljYXBfU2VxdWVuY2VcIixcIlJHSV9FbW9qaV9Nb2RpZmllcl9TZXF1ZW5jZVwiLFwiUkdJX0Vtb2ppX0ZsYWdfU2VxdWVuY2VcIixcIlJHSV9FbW9qaV9UYWdfU2VxdWVuY2VcIixcIlJHSV9FbW9qaV9aV0pfU2VxdWVuY2VcIixcIlJHSV9FbW9qaVwiXSksUmE9e0dlbmVyYWxfQ2F0ZWdvcnk6bmV3IFNldChbXCJDXCIsXCJPdGhlclwiLFwiQ2NcIixcIkNvbnRyb2xcIixcImNudHJsXCIsXCJDZlwiLFwiRm9ybWF0XCIsXCJDblwiLFwiVW5hc3NpZ25lZFwiLFwiQ29cIixcIlByaXZhdGVfVXNlXCIsXCJDc1wiLFwiU3Vycm9nYXRlXCIsXCJMXCIsXCJMZXR0ZXJcIixcIkxDXCIsXCJDYXNlZF9MZXR0ZXJcIixcIkxsXCIsXCJMb3dlcmNhc2VfTGV0dGVyXCIsXCJMbVwiLFwiTW9kaWZpZXJfTGV0dGVyXCIsXCJMb1wiLFwiT3RoZXJfTGV0dGVyXCIsXCJMdFwiLFwiVGl0bGVjYXNlX0xldHRlclwiLFwiTHVcIixcIlVwcGVyY2FzZV9MZXR0ZXJcIixcIk1cIixcIk1hcmtcIixcIkNvbWJpbmluZ19NYXJrXCIsXCJNY1wiLFwiU3BhY2luZ19NYXJrXCIsXCJNZVwiLFwiRW5jbG9zaW5nX01hcmtcIixcIk1uXCIsXCJOb25zcGFjaW5nX01hcmtcIixcIk5cIixcIk51bWJlclwiLFwiTmRcIixcIkRlY2ltYWxfTnVtYmVyXCIsXCJkaWdpdFwiLFwiTmxcIixcIkxldHRlcl9OdW1iZXJcIixcIk5vXCIsXCJPdGhlcl9OdW1iZXJcIixcIlBcIixcIlB1bmN0dWF0aW9uXCIsXCJwdW5jdFwiLFwiUGNcIixcIkNvbm5lY3Rvcl9QdW5jdHVhdGlvblwiLFwiUGRcIixcIkRhc2hfUHVuY3R1YXRpb25cIixcIlBlXCIsXCJDbG9zZV9QdW5jdHVhdGlvblwiLFwiUGZcIixcIkZpbmFsX1B1bmN0dWF0aW9uXCIsXCJQaVwiLFwiSW5pdGlhbF9QdW5jdHVhdGlvblwiLFwiUG9cIixcIk90aGVyX1B1bmN0dWF0aW9uXCIsXCJQc1wiLFwiT3Blbl9QdW5jdHVhdGlvblwiLFwiU1wiLFwiU3ltYm9sXCIsXCJTY1wiLFwiQ3VycmVuY3lfU3ltYm9sXCIsXCJTa1wiLFwiTW9kaWZpZXJfU3ltYm9sXCIsXCJTbVwiLFwiTWF0aF9TeW1ib2xcIixcIlNvXCIsXCJPdGhlcl9TeW1ib2xcIixcIlpcIixcIlNlcGFyYXRvclwiLFwiWmxcIixcIkxpbmVfU2VwYXJhdG9yXCIsXCJacFwiLFwiUGFyYWdyYXBoX1NlcGFyYXRvclwiLFwiWnNcIixcIlNwYWNlX1NlcGFyYXRvclwiXSksU2NyaXB0Om5ldyBTZXQoW1wiQWRsbVwiLFwiQWRsYW1cIixcIkFnaGJcIixcIkNhdWNhc2lhbl9BbGJhbmlhblwiLFwiQWhvbVwiLFwiQXJhYlwiLFwiQXJhYmljXCIsXCJBcm1pXCIsXCJJbXBlcmlhbF9BcmFtYWljXCIsXCJBcm1uXCIsXCJBcm1lbmlhblwiLFwiQXZzdFwiLFwiQXZlc3RhblwiLFwiQmFsaVwiLFwiQmFsaW5lc2VcIixcIkJhbXVcIixcIkJhbXVtXCIsXCJCYXNzXCIsXCJCYXNzYV9WYWhcIixcIkJhdGtcIixcIkJhdGFrXCIsXCJCZW5nXCIsXCJCZW5nYWxpXCIsXCJCaGtzXCIsXCJCaGFpa3N1a2lcIixcIkJvcG9cIixcIkJvcG9tb2ZvXCIsXCJCcmFoXCIsXCJCcmFobWlcIixcIkJyYWlcIixcIkJyYWlsbGVcIixcIkJ1Z2lcIixcIkJ1Z2luZXNlXCIsXCJCdWhkXCIsXCJCdWhpZFwiLFwiQ2FrbVwiLFwiQ2hha21hXCIsXCJDYW5zXCIsXCJDYW5hZGlhbl9BYm9yaWdpbmFsXCIsXCJDYXJpXCIsXCJDYXJpYW5cIixcIkNoYW1cIixcIkNoZXJcIixcIkNoZXJva2VlXCIsXCJDaHJzXCIsXCJDaG9yYXNtaWFuXCIsXCJDb3B0XCIsXCJDb3B0aWNcIixcIlFhYWNcIixcIkNwbW5cIixcIkN5cHJvX01pbm9hblwiLFwiQ3BydFwiLFwiQ3lwcmlvdFwiLFwiQ3lybFwiLFwiQ3lyaWxsaWNcIixcIkRldmFcIixcIkRldmFuYWdhcmlcIixcIkRpYWtcIixcIkRpdmVzX0FrdXJ1XCIsXCJEb2dyXCIsXCJEb2dyYVwiLFwiRHNydFwiLFwiRGVzZXJldFwiLFwiRHVwbFwiLFwiRHVwbG95YW5cIixcIkVneXBcIixcIkVneXB0aWFuX0hpZXJvZ2x5cGhzXCIsXCJFbGJhXCIsXCJFbGJhc2FuXCIsXCJFbHltXCIsXCJFbHltYWljXCIsXCJFdGhpXCIsXCJFdGhpb3BpY1wiLFwiR2VvclwiLFwiR2VvcmdpYW5cIixcIkdsYWdcIixcIkdsYWdvbGl0aWNcIixcIkdvbmdcIixcIkd1bmphbGFfR29uZGlcIixcIkdvbm1cIixcIk1hc2FyYW1fR29uZGlcIixcIkdvdGhcIixcIkdvdGhpY1wiLFwiR3JhblwiLFwiR3JhbnRoYVwiLFwiR3Jla1wiLFwiR3JlZWtcIixcIkd1anJcIixcIkd1amFyYXRpXCIsXCJHdXJ1XCIsXCJHdXJtdWtoaVwiLFwiSGFuZ1wiLFwiSGFuZ3VsXCIsXCJIYW5pXCIsXCJIYW5cIixcIkhhbm9cIixcIkhhbnVub29cIixcIkhhdHJcIixcIkhhdHJhblwiLFwiSGViclwiLFwiSGVicmV3XCIsXCJIaXJhXCIsXCJIaXJhZ2FuYVwiLFwiSGx1d1wiLFwiQW5hdG9saWFuX0hpZXJvZ2x5cGhzXCIsXCJIbW5nXCIsXCJQYWhhd2hfSG1vbmdcIixcIkhtbnBcIixcIk55aWFrZW5nX1B1YWNodWVfSG1vbmdcIixcIkhya3RcIixcIkthdGFrYW5hX09yX0hpcmFnYW5hXCIsXCJIdW5nXCIsXCJPbGRfSHVuZ2FyaWFuXCIsXCJJdGFsXCIsXCJPbGRfSXRhbGljXCIsXCJKYXZhXCIsXCJKYXZhbmVzZVwiLFwiS2FsaVwiLFwiS2F5YWhfTGlcIixcIkthbmFcIixcIkthdGFrYW5hXCIsXCJLYXdpXCIsXCJLaGFyXCIsXCJLaGFyb3NodGhpXCIsXCJLaG1yXCIsXCJLaG1lclwiLFwiS2hvalwiLFwiS2hvamtpXCIsXCJLaXRzXCIsXCJLaGl0YW5fU21hbGxfU2NyaXB0XCIsXCJLbmRhXCIsXCJLYW5uYWRhXCIsXCJLdGhpXCIsXCJLYWl0aGlcIixcIkxhbmFcIixcIlRhaV9UaGFtXCIsXCJMYW9vXCIsXCJMYW9cIixcIkxhdG5cIixcIkxhdGluXCIsXCJMZXBjXCIsXCJMZXBjaGFcIixcIkxpbWJcIixcIkxpbWJ1XCIsXCJMaW5hXCIsXCJMaW5lYXJfQVwiLFwiTGluYlwiLFwiTGluZWFyX0JcIixcIkxpc3VcIixcIkx5Y2lcIixcIkx5Y2lhblwiLFwiTHlkaVwiLFwiTHlkaWFuXCIsXCJNYWhqXCIsXCJNYWhhamFuaVwiLFwiTWFrYVwiLFwiTWFrYXNhclwiLFwiTWFuZFwiLFwiTWFuZGFpY1wiLFwiTWFuaVwiLFwiTWFuaWNoYWVhblwiLFwiTWFyY1wiLFwiTWFyY2hlblwiLFwiTWVkZlwiLFwiTWVkZWZhaWRyaW5cIixcIk1lbmRcIixcIk1lbmRlX0tpa2FrdWlcIixcIk1lcmNcIixcIk1lcm9pdGljX0N1cnNpdmVcIixcIk1lcm9cIixcIk1lcm9pdGljX0hpZXJvZ2x5cGhzXCIsXCJNbHltXCIsXCJNYWxheWFsYW1cIixcIk1vZGlcIixcIk1vbmdcIixcIk1vbmdvbGlhblwiLFwiTXJvb1wiLFwiTXJvXCIsXCJNdGVpXCIsXCJNZWV0ZWlfTWF5ZWtcIixcIk11bHRcIixcIk11bHRhbmlcIixcIk15bXJcIixcIk15YW5tYXJcIixcIk5hZ21cIixcIk5hZ19NdW5kYXJpXCIsXCJOYW5kXCIsXCJOYW5kaW5hZ2FyaVwiLFwiTmFyYlwiLFwiT2xkX05vcnRoX0FyYWJpYW5cIixcIk5iYXRcIixcIk5hYmF0YWVhblwiLFwiTmV3YVwiLFwiTmtvb1wiLFwiTmtvXCIsXCJOc2h1XCIsXCJOdXNodVwiLFwiT2dhbVwiLFwiT2doYW1cIixcIk9sY2tcIixcIk9sX0NoaWtpXCIsXCJPcmtoXCIsXCJPbGRfVHVya2ljXCIsXCJPcnlhXCIsXCJPcml5YVwiLFwiT3NnZVwiLFwiT3NhZ2VcIixcIk9zbWFcIixcIk9zbWFueWFcIixcIk91Z3JcIixcIk9sZF9VeWdodXJcIixcIlBhbG1cIixcIlBhbG15cmVuZVwiLFwiUGF1Y1wiLFwiUGF1X0Npbl9IYXVcIixcIlBlcm1cIixcIk9sZF9QZXJtaWNcIixcIlBoYWdcIixcIlBoYWdzX1BhXCIsXCJQaGxpXCIsXCJJbnNjcmlwdGlvbmFsX1BhaGxhdmlcIixcIlBobHBcIixcIlBzYWx0ZXJfUGFobGF2aVwiLFwiUGhueFwiLFwiUGhvZW5pY2lhblwiLFwiUGxyZFwiLFwiTWlhb1wiLFwiUHJ0aVwiLFwiSW5zY3JpcHRpb25hbF9QYXJ0aGlhblwiLFwiUmpuZ1wiLFwiUmVqYW5nXCIsXCJSb2hnXCIsXCJIYW5pZmlfUm9oaW5neWFcIixcIlJ1bnJcIixcIlJ1bmljXCIsXCJTYW1yXCIsXCJTYW1hcml0YW5cIixcIlNhcmJcIixcIk9sZF9Tb3V0aF9BcmFiaWFuXCIsXCJTYXVyXCIsXCJTYXVyYXNodHJhXCIsXCJTZ253XCIsXCJTaWduV3JpdGluZ1wiLFwiU2hhd1wiLFwiU2hhdmlhblwiLFwiU2hyZFwiLFwiU2hhcmFkYVwiLFwiU2lkZFwiLFwiU2lkZGhhbVwiLFwiU2luZFwiLFwiS2h1ZGF3YWRpXCIsXCJTaW5oXCIsXCJTaW5oYWxhXCIsXCJTb2dkXCIsXCJTb2dkaWFuXCIsXCJTb2dvXCIsXCJPbGRfU29nZGlhblwiLFwiU29yYVwiLFwiU29yYV9Tb21wZW5nXCIsXCJTb3lvXCIsXCJTb3lvbWJvXCIsXCJTdW5kXCIsXCJTdW5kYW5lc2VcIixcIlN5bG9cIixcIlN5bG90aV9OYWdyaVwiLFwiU3lyY1wiLFwiU3lyaWFjXCIsXCJUYWdiXCIsXCJUYWdiYW53YVwiLFwiVGFrclwiLFwiVGFrcmlcIixcIlRhbGVcIixcIlRhaV9MZVwiLFwiVGFsdVwiLFwiTmV3X1RhaV9MdWVcIixcIlRhbWxcIixcIlRhbWlsXCIsXCJUYW5nXCIsXCJUYW5ndXRcIixcIlRhdnRcIixcIlRhaV9WaWV0XCIsXCJUZWx1XCIsXCJUZWx1Z3VcIixcIlRmbmdcIixcIlRpZmluYWdoXCIsXCJUZ2xnXCIsXCJUYWdhbG9nXCIsXCJUaGFhXCIsXCJUaGFhbmFcIixcIlRoYWlcIixcIlRpYnRcIixcIlRpYmV0YW5cIixcIlRpcmhcIixcIlRpcmh1dGFcIixcIlRuc2FcIixcIlRhbmdzYVwiLFwiVG90b1wiLFwiVWdhclwiLFwiVWdhcml0aWNcIixcIlZhaWlcIixcIlZhaVwiLFwiVml0aFwiLFwiVml0aGt1cWlcIixcIldhcmFcIixcIldhcmFuZ19DaXRpXCIsXCJXY2hvXCIsXCJXYW5jaG9cIixcIlhwZW9cIixcIk9sZF9QZXJzaWFuXCIsXCJYc3V4XCIsXCJDdW5laWZvcm1cIixcIlllemlcIixcIlllemlkaVwiLFwiWWlpaVwiLFwiWWlcIixcIlphbmJcIixcIlphbmFiYXphcl9TcXVhcmVcIixcIlppbmhcIixcIkluaGVyaXRlZFwiLFwiUWFhaVwiLFwiWnl5eVwiLFwiQ29tbW9uXCIsXCJaenp6XCIsXCJVbmtub3duXCJdKSxTY3JpcHRfRXh0ZW5zaW9uczp2b2lkIDB9O1JhLlNjcmlwdF9FeHRlbnNpb25zPVJhLlNjcmlwdDtmdW5jdGlvbiB3cihlKXtyZXR1cm4gZS5zdGFydCtlLmxlbmd0aH1mdW5jdGlvbiB1ZyhlKXtyZXR1cm4gZS5sZW5ndGg9PT0wfWZ1bmN0aW9uIG9mKGUsdCl7aWYoZTwwKXRocm93IG5ldyBFcnJvcihcInN0YXJ0IDwgMFwiKTtpZih0PDApdGhyb3cgbmV3IEVycm9yKFwibGVuZ3RoIDwgMFwiKTtyZXR1cm57c3RhcnQ6ZSxsZW5ndGg6dH19ZnVuY3Rpb24gcGcoZSx0KXtyZXR1cm4gb2YoZSx0LWUpfWZ1bmN0aW9uIEtfKGUpe3JldHVybiBvZihlLnNwYW4uc3RhcnQsZS5uZXdMZW5ndGgpfWZ1bmN0aW9uIGZnKGUpe3JldHVybiB1ZyhlLnNwYW4pJiZlLm5ld0xlbmd0aD09PTB9ZnVuY3Rpb24gS20oZSx0KXtpZih0PDApdGhyb3cgbmV3IEVycm9yKFwibmV3TGVuZ3RoIDwgMFwiKTtyZXR1cm57c3BhbjplLG5ld0xlbmd0aDp0fX12YXIgRjQ9S20ob2YoMCwwKSwwKTtmdW5jdGlvbiBjZihlLHQpe2Zvcig7ZTspe2xldCBhPXQoZSk7aWYoYT09PVwicXVpdFwiKXJldHVybjtpZihhKXJldHVybiBlO2U9ZS5wYXJlbnR9fWZ1bmN0aW9uIG1sKGUpe3JldHVybihlLmZsYWdzJjE2KT09PTB9ZnVuY3Rpb24gZGcoZSx0KXtpZihlPT09dm9pZCAwfHxtbChlKSlyZXR1cm4gZTtmb3IoZT1lLm9yaWdpbmFsO2U7KXtpZihtbChlKSlyZXR1cm4hdHx8dChlKT9lOnZvaWQgMDtlPWUub3JpZ2luYWx9fWZ1bmN0aW9uIEphKGUpe3JldHVybiBlLmxlbmd0aD49MiYmZS5jaGFyQ29kZUF0KDApPT09OTUmJmUuY2hhckNvZGVBdCgxKT09PTk1P1wiX1wiK2U6ZX1mdW5jdGlvbiBjcyhlKXtsZXQgdD1lO3JldHVybiB0Lmxlbmd0aD49MyYmdC5jaGFyQ29kZUF0KDApPT09OTUmJnQuY2hhckNvZGVBdCgxKT09PTk1JiZ0LmNoYXJDb2RlQXQoMik9PT05NT90LnN1YnN0cigxKTp0fWZ1bmN0aW9uIFBuKGUpe3JldHVybiBjcyhlLmVzY2FwZWRUZXh0KX1mdW5jdGlvbiBTbChlKXtsZXQgdD1GbShlLmVzY2FwZWRUZXh0KTtyZXR1cm4gdD9ieSh0LGRpKTp2b2lkIDB9ZnVuY3Rpb24gTHAoZSl7cmV0dXJuIGUudmFsdWVEZWNsYXJhdGlvbiYmTGcoZS52YWx1ZURlY2xhcmF0aW9uKT9QbihlLnZhbHVlRGVjbGFyYXRpb24ubmFtZSk6Y3MoZS5lc2NhcGVkTmFtZSl9ZnVuY3Rpb24gWm0oZSl7bGV0IHQ9ZS5wYXJlbnQucGFyZW50O2lmKHQpe2lmKGpkKHQpKXJldHVybiBaYyh0KTtzd2l0Y2godC5raW5kKXtjYXNlIDI0MzppZih0LmRlY2xhcmF0aW9uTGlzdCYmdC5kZWNsYXJhdGlvbkxpc3QuZGVjbGFyYXRpb25zWzBdKXJldHVybiBaYyh0LmRlY2xhcmF0aW9uTGlzdC5kZWNsYXJhdGlvbnNbMF0pO2JyZWFrO2Nhc2UgMjQ0OmxldCBhPXQuZXhwcmVzc2lvbjtzd2l0Y2goYS5raW5kPT09MjI2JiZhLm9wZXJhdG9yVG9rZW4ua2luZD09PTY0JiYoYT1hLmxlZnQpLGEua2luZCl7Y2FzZSAyMTE6cmV0dXJuIGEubmFtZTtjYXNlIDIxMjpsZXQgbz1hLmFyZ3VtZW50RXhwcmVzc2lvbjtpZih0dChvKSlyZXR1cm4gb31icmVhaztjYXNlIDIxNzpyZXR1cm4gWmModC5leHByZXNzaW9uKTtjYXNlIDI1Njp7aWYoamQodC5zdGF0ZW1lbnQpfHx1MSh0LnN0YXRlbWVudCkpcmV0dXJuIFpjKHQuc3RhdGVtZW50KTticmVha319fX1mdW5jdGlvbiBaYyhlKXtsZXQgdD1lMShlKTtyZXR1cm4gdCYmdHQodCk/dDp2b2lkIDB9ZnVuY3Rpb24gbWcoZSl7cmV0dXJuIGUubmFtZXx8Wm0oZSl9ZnVuY3Rpb24gaGcoZSl7cmV0dXJuISFlLm5hbWV9ZnVuY3Rpb24gbGYoZSl7c3dpdGNoKGUua2luZCl7Y2FzZSA4MDpyZXR1cm4gZTtjYXNlIDM0ODpjYXNlIDM0MTp7bGV0e25hbWU6YX09ZTtpZihhLmtpbmQ9PT0xNjYpcmV0dXJuIGEucmlnaHQ7YnJlYWt9Y2FzZSAyMTM6Y2FzZSAyMjY6e2xldCBhPWU7c3dpdGNoKHlmKGEpKXtjYXNlIDE6Y2FzZSA0OmNhc2UgNTpjYXNlIDM6cmV0dXJuIGdmKGEubGVmdCk7Y2FzZSA3OmNhc2UgODpjYXNlIDk6cmV0dXJuIGEuYXJndW1lbnRzWzFdO2RlZmF1bHQ6cmV0dXJufX1jYXNlIDM0NjpyZXR1cm4gbWcoZSk7Y2FzZSAzNDA6cmV0dXJuIFptKGUpO2Nhc2UgMjc3OntsZXR7ZXhwcmVzc2lvbjphfT1lO3JldHVybiB0dChhKT9hOnZvaWQgMH1jYXNlIDIxMjpsZXQgdD1lO2lmKGcxKHQpKXJldHVybiB0LmFyZ3VtZW50RXhwcmVzc2lvbn1yZXR1cm4gZS5uYW1lfWZ1bmN0aW9uIGUxKGUpe2lmKGUhPT12b2lkIDApcmV0dXJuIGxmKGUpfHwoTWYoZSl8fEpmKGUpfHxibChlKT95ZyhlKTp2b2lkIDApfWZ1bmN0aW9uIHlnKGUpe2lmKGUucGFyZW50KXtpZihuaChlLnBhcmVudCl8fFYxKGUucGFyZW50KSlyZXR1cm4gZS5wYXJlbnQubmFtZTtpZihLaShlLnBhcmVudCkmJmU9PT1lLnBhcmVudC5yaWdodCl7aWYodHQoZS5wYXJlbnQubGVmdCkpcmV0dXJuIGUucGFyZW50LmxlZnQ7aWYodzEoZS5wYXJlbnQubGVmdCkpcmV0dXJuIGdmKGUucGFyZW50LmxlZnQpfWVsc2UgaWYoTGYoZS5wYXJlbnQpJiZ0dChlLnBhcmVudC5uYW1lKSlyZXR1cm4gZS5wYXJlbnQubmFtZX1lbHNlIHJldHVybn1mdW5jdGlvbiB1ZihlKXtpZihxMihlKSlyZXR1cm4gR3IoZS5tb2RpZmllcnMsRWwpfWZ1bmN0aW9uIHQxKGUpe2lmKGJzKGUsOTgzMDMpKXJldHVybiBHcihlLm1vZGlmaWVycyxVZyl9ZnVuY3Rpb24gbjEoZSx0KXtpZihlLm5hbWUpaWYodHQoZS5uYW1lKSl7bGV0IGE9ZS5uYW1lLmVzY2FwZWRUZXh0O3JldHVybiBscyhlLnBhcmVudCx0KS5maWx0ZXIobz0+RnAobykmJnR0KG8ubmFtZSkmJm8ubmFtZS5lc2NhcGVkVGV4dD09PWEpfWVsc2V7bGV0IGE9ZS5wYXJlbnQucGFyYW1ldGVycy5pbmRleE9mKGUpO0IuYXNzZXJ0KGE+LTEsXCJQYXJhbWV0ZXJzIHNob3VsZCBhbHdheXMgYmUgaW4gdGhlaXIgcGFyZW50cycgcGFyYW1ldGVyIGxpc3RcIik7bGV0IG89bHMoZS5wYXJlbnQsdCkuZmlsdGVyKEZwKTtpZihhPG8ubGVuZ3RoKXJldHVybltvW2FdXX1yZXR1cm4gYnR9ZnVuY3Rpb24gZ2coZSl7cmV0dXJuIG4xKGUsITEpfWZ1bmN0aW9uIGJnKGUpe3JldHVybiBuMShlLCEwKX1mdW5jdGlvbiByMShlLHQpe2xldCBhPWUubmFtZS5lc2NhcGVkVGV4dDtyZXR1cm4gbHMoZS5wYXJlbnQsdCkuZmlsdGVyKG89Pm9oKG8pJiZvLnR5cGVQYXJhbWV0ZXJzLnNvbWUobT0+bS5uYW1lLmVzY2FwZWRUZXh0PT09YSkpfWZ1bmN0aW9uIHZnKGUpe3JldHVybiByMShlLCExKX1mdW5jdGlvbiBUZyhlKXtyZXR1cm4gcjEoZSwhMCl9ZnVuY3Rpb24geGcoZSl7cmV0dXJuIGJpKGUsaTYpfWZ1bmN0aW9uIFNnKGUpe3JldHVybiBOZyhlLGY2KX1mdW5jdGlvbiB3ZyhlKXtyZXR1cm4gYmkoZSxhNiwhMCl9ZnVuY3Rpb24ga2coZSl7cmV0dXJuIGJpKGUsXzYsITApfWZ1bmN0aW9uIEVnKGUpe3JldHVybiBiaShlLHM2LCEwKX1mdW5jdGlvbiBBZyhlKXtyZXR1cm4gYmkoZSxvNiwhMCl9ZnVuY3Rpb24gQ2coZSl7cmV0dXJuIGJpKGUsYzYsITApfWZ1bmN0aW9uIERnKGUpe3JldHVybiBiaShlLHU2LCEwKX1mdW5jdGlvbiBQZyhlKXtsZXQgdD1iaShlLEZmKTtpZih0JiZ0LnR5cGVFeHByZXNzaW9uJiZ0LnR5cGVFeHByZXNzaW9uLnR5cGUpcmV0dXJuIHR9ZnVuY3Rpb24gbHMoZSx0KXt2YXIgYTtpZighYmYoZSkpcmV0dXJuIGJ0O2xldCBvPShhPWUuanNEb2MpPT1udWxsP3ZvaWQgMDphLmpzRG9jQ2FjaGU7aWYobz09PXZvaWQgMHx8dCl7bGV0IG09azIoZSx0KTtCLmFzc2VydChtLmxlbmd0aDwyfHxtWzBdIT09bVsxXSksbz1BbShtLHY9PnNoKHYpP3YudGFnczp2KSx0fHwoZS5qc0RvYz8/KGUuanNEb2M9W10pLGUuanNEb2MuanNEb2NDYWNoZT1vKX1yZXR1cm4gb31mdW5jdGlvbiBpMShlKXtyZXR1cm4gbHMoZSwhMSl9ZnVuY3Rpb24gYmkoZSx0LGEpe3JldHVybiBrbShscyhlLGEpLHQpfWZ1bmN0aW9uIE5nKGUsdCl7cmV0dXJuIGkxKGUpLmZpbHRlcih0KX1mdW5jdGlvbiBqcChlKXtyZXR1cm4gZS5raW5kPT09ODB8fGUua2luZD09PTgxfWZ1bmN0aW9uIElnKGUpe3JldHVybiBIcihlKSYmISEoZS5mbGFncyY2NCl9ZnVuY3Rpb24gT2coZSl7cmV0dXJuIEhhKGUpJiYhIShlLmZsYWdzJjY0KX1mdW5jdGlvbiBKZChlKXtyZXR1cm4gT2YoZSkmJiEhKGUuZmxhZ3MmNjQpfWZ1bmN0aW9uIHBmKGUpe3JldHVybiBWZihlLDgpfWZ1bmN0aW9uIE1nKGUpe3JldHVybiBjbChlKSYmISEoZS5mbGFncyY2NCl9ZnVuY3Rpb24gZmYoZSl7cmV0dXJuIGU+PTE2Nn1mdW5jdGlvbiBkZihlKXtyZXR1cm4gZT49MCYmZTw9MTY1fWZ1bmN0aW9uIGExKGUpe3JldHVybiBkZihlLmtpbmQpfWZ1bmN0aW9uIG1pKGUpe3JldHVybiBDcihlLFwicG9zXCIpJiZDcihlLFwiZW5kXCIpfWZ1bmN0aW9uIEpnKGUpe3JldHVybiA5PD1lJiZlPD0xNX1mdW5jdGlvbiBMZChlKXtyZXR1cm4gMTU8PWUmJmU8PTE4fWZ1bmN0aW9uIFVhKGUpe3ZhciB0O3JldHVybiB0dChlKSYmKCh0PWUuZW1pdE5vZGUpPT1udWxsP3ZvaWQgMDp0LmF1dG9HZW5lcmF0ZSkhPT12b2lkIDB9ZnVuY3Rpb24gXzEoZSl7dmFyIHQ7cmV0dXJuIGdpKGUpJiYoKHQ9ZS5lbWl0Tm9kZSk9PW51bGw/dm9pZCAwOnQuYXV0b0dlbmVyYXRlKSE9PXZvaWQgMH1mdW5jdGlvbiBMZyhlKXtyZXR1cm4oVmEoZSl8fHpnKGUpKSYmZ2koZS5uYW1lKX1mdW5jdGlvbiBXcihlKXtzd2l0Y2goZSl7Y2FzZSAxMjg6Y2FzZSAxMjk6Y2FzZSAxMzQ6Y2FzZSA4NzpjYXNlIDEzODpjYXNlIDkwOmNhc2UgOTU6Y2FzZSAxMDM6Y2FzZSAxMjU6Y2FzZSAxMjM6Y2FzZSAxMjQ6Y2FzZSAxNDg6Y2FzZSAxMjY6Y2FzZSAxNDc6Y2FzZSAxNjQ6cmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gamcoZSl7cmV0dXJuISEoeDEoZSkmMzEpfWZ1bmN0aW9uIFJnKGUpe3JldHVybiBqZyhlKXx8ZT09PTEyNnx8ZT09PTE2NHx8ZT09PTEyOX1mdW5jdGlvbiBVZyhlKXtyZXR1cm4gV3IoZS5raW5kKX1mdW5jdGlvbiBzMShlKXtsZXQgdD1lLmtpbmQ7cmV0dXJuIHQ9PT04MHx8dD09PTgxfHx0PT09MTF8fHQ9PT05fHx0PT09MTY3fWZ1bmN0aW9uIG1mKGUpe3JldHVybiEhZSYmcWcoZS5raW5kKX1mdW5jdGlvbiBCZyhlKXtzd2l0Y2goZSl7Y2FzZSAyNjI6Y2FzZSAxNzQ6Y2FzZSAxNzY6Y2FzZSAxNzc6Y2FzZSAxNzg6Y2FzZSAyMTg6Y2FzZSAyMTk6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gcWcoZSl7c3dpdGNoKGUpe2Nhc2UgMTczOmNhc2UgMTc5OmNhc2UgMzIzOmNhc2UgMTgwOmNhc2UgMTgxOmNhc2UgMTg0OmNhc2UgMzE3OmNhc2UgMTg1OnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuIEJnKGUpfX1mdW5jdGlvbiB2aShlKXtyZXR1cm4gZSYmKGUua2luZD09PTI2M3x8ZS5raW5kPT09MjMxKX1mdW5jdGlvbiB6ZyhlKXtzd2l0Y2goZS5raW5kKXtjYXNlIDE3NDpjYXNlIDE3NzpjYXNlIDE3ODpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBGZyhlKXtsZXQgdD1lLmtpbmQ7cmV0dXJuIHQ9PT0zMDN8fHQ9PT0zMDR8fHQ9PT0zMDV8fHQ9PT0xNzR8fHQ9PT0xNzd8fHQ9PT0xNzh9ZnVuY3Rpb24gbzEoZSl7cmV0dXJuIEsyKGUua2luZCl9ZnVuY3Rpb24gVmcoZSl7aWYoZSl7bGV0IHQ9ZS5raW5kO3JldHVybiB0PT09MjA3fHx0PT09MjA2fXJldHVybiExfWZ1bmN0aW9uIFdnKGUpe2xldCB0PWUua2luZDtyZXR1cm4gdD09PTIwOXx8dD09PTIxMH1mdW5jdGlvbiBHZyhlKXtzd2l0Y2goZS5raW5kKXtjYXNlIDI2MDpjYXNlIDE2OTpjYXNlIDIwODpyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBxYShlKXtyZXR1cm4gYzEocGYoZSkua2luZCl9ZnVuY3Rpb24gYzEoZSl7c3dpdGNoKGUpe2Nhc2UgMjExOmNhc2UgMjEyOmNhc2UgMjE0OmNhc2UgMjEzOmNhc2UgMjg0OmNhc2UgMjg1OmNhc2UgMjg4OmNhc2UgMjE1OmNhc2UgMjA5OmNhc2UgMjE3OmNhc2UgMjEwOmNhc2UgMjMxOmNhc2UgMjE4OmNhc2UgODA6Y2FzZSA4MTpjYXNlIDE0OmNhc2UgOTpjYXNlIDEwOmNhc2UgMTE6Y2FzZSAxNTpjYXNlIDIyODpjYXNlIDk3OmNhc2UgMTA2OmNhc2UgMTEwOmNhc2UgMTEyOmNhc2UgMTA4OmNhc2UgMjM1OmNhc2UgMjMzOmNhc2UgMjM2OmNhc2UgMTAyOmNhc2UgMjgyOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIFlnKGUpe3JldHVybiBsMShwZihlKS5raW5kKX1mdW5jdGlvbiBsMShlKXtzd2l0Y2goZSl7Y2FzZSAyMjQ6Y2FzZSAyMjU6Y2FzZSAyMjA6Y2FzZSAyMjE6Y2FzZSAyMjI6Y2FzZSAyMjM6Y2FzZSAyMTY6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4gYzEoZSl9fWZ1bmN0aW9uIHUxKGUpe3JldHVybiBIZyhwZihlKS5raW5kKX1mdW5jdGlvbiBIZyhlKXtzd2l0Y2goZSl7Y2FzZSAyMjc6Y2FzZSAyMjk6Y2FzZSAyMTk6Y2FzZSAyMjY6Y2FzZSAyMzA6Y2FzZSAyMzQ6Y2FzZSAyMzI6Y2FzZSAzNTY6Y2FzZSAzNTU6Y2FzZSAyMzg6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4gbDEoZSl9fWZ1bmN0aW9uIFhnKGUpe3JldHVybiBlPT09MjE5fHxlPT09MjA4fHxlPT09MjYzfHxlPT09MjMxfHxlPT09MTc1fHxlPT09MTc2fHxlPT09MjY2fHxlPT09MzA2fHxlPT09MjgxfHxlPT09MjYyfHxlPT09MjE4fHxlPT09MTc3fHxlPT09MjczfHxlPT09MjcxfHxlPT09Mjc2fHxlPT09MjY0fHxlPT09MjkxfHxlPT09MTc0fHxlPT09MTczfHxlPT09MjY3fHxlPT09MjcwfHxlPT09Mjc0fHxlPT09MjgwfHxlPT09MTY5fHxlPT09MzAzfHxlPT09MTcyfHxlPT09MTcxfHxlPT09MTc4fHxlPT09MzA0fHxlPT09MjY1fHxlPT09MTY4fHxlPT09MjYwfHxlPT09MzQ2fHxlPT09MzM4fHxlPT09MzQ4fHxlPT09MjAyfWZ1bmN0aW9uIHAxKGUpe3JldHVybiBlPT09MjYyfHxlPT09MjgyfHxlPT09MjYzfHxlPT09MjY0fHxlPT09MjY1fHxlPT09MjY2fHxlPT09MjY3fHxlPT09MjcyfHxlPT09MjcxfHxlPT09Mjc4fHxlPT09Mjc3fHxlPT09MjcwfWZ1bmN0aW9uIGYxKGUpe3JldHVybiBlPT09MjUyfHxlPT09MjUxfHxlPT09MjU5fHxlPT09MjQ2fHxlPT09MjQ0fHxlPT09MjQyfHxlPT09MjQ5fHxlPT09MjUwfHxlPT09MjQ4fHxlPT09MjQ1fHxlPT09MjU2fHxlPT09MjUzfHxlPT09MjU1fHxlPT09MjU3fHxlPT09MjU4fHxlPT09MjQzfHxlPT09MjQ3fHxlPT09MjU0fHxlPT09MzUzfWZ1bmN0aW9uIGpkKGUpe3JldHVybiBlLmtpbmQ9PT0xNjg/ZS5wYXJlbnQmJmUucGFyZW50LmtpbmQhPT0zNDV8fFppKGUpOlhnKGUua2luZCl9ZnVuY3Rpb24gJGcoZSl7bGV0IHQ9ZS5raW5kO3JldHVybiBmMSh0KXx8cDEodCl8fFFnKGUpfWZ1bmN0aW9uIFFnKGUpe3JldHVybiBlLmtpbmQhPT0yNDF8fGUucGFyZW50IT09dm9pZCAwJiYoZS5wYXJlbnQua2luZD09PTI1OHx8ZS5wYXJlbnQua2luZD09PTI5OSk/ITE6IXAyKGUpfWZ1bmN0aW9uIEtnKGUpe2xldCB0PWUua2luZDtyZXR1cm4gZjEodCl8fHAxKHQpfHx0PT09MjQxfWZ1bmN0aW9uIGQxKGUpe3JldHVybiBlLmtpbmQ+PTMwOSYmZS5raW5kPD0zNTF9ZnVuY3Rpb24gWmcoZSl7cmV0dXJuIGUua2luZD09PTMyMHx8ZS5raW5kPT09MzE5fHxlLmtpbmQ9PT0zMjF8fG4yKGUpfHxlMihlKXx8cjYoZSl8fFBsKGUpfWZ1bmN0aW9uIGUyKGUpe3JldHVybiBlLmtpbmQ+PTMyNyYmZS5raW5kPD0zNTF9ZnVuY3Rpb24gZWwoZSl7cmV0dXJuIGUua2luZD09PTE3OH1mdW5jdGlvbiB0bChlKXtyZXR1cm4gZS5raW5kPT09MTc3fWZ1bmN0aW9uIFlpKGUpe2lmKCFiZihlKSlyZXR1cm4hMTtsZXR7anNEb2M6dH09ZTtyZXR1cm4hIXQmJnQubGVuZ3RoPjB9ZnVuY3Rpb24gdDIoZSl7cmV0dXJuISFlLmluaXRpYWxpemVyfWZ1bmN0aW9uIHdsKGUpe3JldHVybiBlLmtpbmQ9PT0xMXx8ZS5raW5kPT09MTV9ZnVuY3Rpb24gbjIoZSl7cmV0dXJuIGUua2luZD09PTMyNHx8ZS5raW5kPT09MzI1fHxlLmtpbmQ9PT0zMjZ9ZnVuY3Rpb24gUmQoZSl7cmV0dXJuKGUuZmxhZ3MmMzM1NTQ0MzIpIT09MH12YXIgVjQ9cjIoKTtmdW5jdGlvbiByMigpe3ZhciBlPVwiXCI7bGV0IHQ9YT0+ZSs9YTtyZXR1cm57Z2V0VGV4dDooKT0+ZSx3cml0ZTp0LHJhd1dyaXRlOnQsd3JpdGVLZXl3b3JkOnQsd3JpdGVPcGVyYXRvcjp0LHdyaXRlUHVuY3R1YXRpb246dCx3cml0ZVNwYWNlOnQsd3JpdGVTdHJpbmdMaXRlcmFsOnQsd3JpdGVMaXRlcmFsOnQsd3JpdGVQYXJhbWV0ZXI6dCx3cml0ZVByb3BlcnR5OnQsd3JpdGVTeW1ib2w6KGEsbyk9PnQoYSksd3JpdGVUcmFpbGluZ1NlbWljb2xvbjp0LHdyaXRlQ29tbWVudDp0LGdldFRleHRQb3M6KCk9PmUubGVuZ3RoLGdldExpbmU6KCk9PjAsZ2V0Q29sdW1uOigpPT4wLGdldEluZGVudDooKT0+MCxpc0F0U3RhcnRPZkxpbmU6KCk9PiExLGhhc1RyYWlsaW5nQ29tbWVudDooKT0+ITEsaGFzVHJhaWxpbmdXaGl0ZXNwYWNlOigpPT4hIWUubGVuZ3RoJiZCYShlLmNoYXJDb2RlQXQoZS5sZW5ndGgtMSkpLHdyaXRlTGluZTooKT0+ZSs9XCIgXCIsaW5jcmVhc2VJbmRlbnQ6RmEsZGVjcmVhc2VJbmRlbnQ6RmEsY2xlYXI6KCk9PmU9XCJcIn19ZnVuY3Rpb24gaTIoZSx0KXtsZXQgYT1lLmVudHJpZXMoKTtmb3IobGV0W28sbV1vZiBhKXtsZXQgdj10KG0sbyk7aWYodilyZXR1cm4gdn19ZnVuY3Rpb24gYTIoZSl7cmV0dXJuIGUuZW5kLWUucG9zfWZ1bmN0aW9uIG0xKGUpe3JldHVybiBfMihlKSwoZS5mbGFncyYxMDQ4NTc2KSE9PTB9ZnVuY3Rpb24gXzIoZSl7ZS5mbGFncyYyMDk3MTUyfHwoKGUuZmxhZ3MmMjYyMTQ0fHxYdChlLG0xKSkmJihlLmZsYWdzfD0xMDQ4NTc2KSxlLmZsYWdzfD0yMDk3MTUyKX1mdW5jdGlvbiBoaShlKXtmb3IoO2UmJmUua2luZCE9PTMwNzspZT1lLnBhcmVudDtyZXR1cm4gZX1mdW5jdGlvbiBIaShlKXtyZXR1cm4gZT09PXZvaWQgMD8hMDplLnBvcz09PWUuZW5kJiZlLnBvcz49MCYmZS5raW5kIT09MX1mdW5jdGlvbiBScChlKXtyZXR1cm4hSGkoZSl9ZnVuY3Rpb24gaGwoZSx0LGEpe2lmKEhpKGUpKXJldHVybiBlLnBvcztpZihkMShlKXx8ZS5raW5kPT09MTIpcmV0dXJuIEFyKCh0Pz9oaShlKSkudGV4dCxlLnBvcywhMSwhMCk7aWYoYSYmWWkoZSkpcmV0dXJuIGhsKGUuanNEb2NbMF0sdCk7aWYoZS5raW5kPT09MzUyKXt0Pz8odD1oaShlKSk7bGV0IG89SHAoY2goZSx0KSk7aWYobylyZXR1cm4gaGwobyx0LGEpfXJldHVybiBBcigodD8/aGkoZSkpLnRleHQsZS5wb3MsITEsITEsZjIoZSkpfWZ1bmN0aW9uIFVkKGUsdCxhPSExKXtyZXR1cm4gaXMoZS50ZXh0LHQsYSl9ZnVuY3Rpb24gczIoZSl7cmV0dXJuISFjZihlLGloKX1mdW5jdGlvbiBpcyhlLHQsYT0hMSl7aWYoSGkodCkpcmV0dXJuXCJcIjtsZXQgbz1lLnN1YnN0cmluZyhhP3QucG9zOkFyKGUsdC5wb3MpLHQuZW5kKTtyZXR1cm4gczIodCkmJihvPW8uc3BsaXQoL1xcclxcbnxcXG58XFxyLykubWFwKG09Pm0ucmVwbGFjZSgvXlxccypcXCovLFwiXCIpLnRyaW1TdGFydCgpKS5qb2luKGBcbmApKSxvfWZ1bmN0aW9uIHphKGUpe2xldCB0PWUuZW1pdE5vZGU7cmV0dXJuIHQmJnQuZmxhZ3N8fDB9ZnVuY3Rpb24gbzIoZSx0LGEpe0IuYXNzZXJ0R3JlYXRlclRoYW5PckVxdWFsKHQsMCksQi5hc3NlcnRHcmVhdGVyVGhhbk9yRXF1YWwoYSwwKSxCLmFzc2VydExlc3NUaGFuT3JFcXVhbCh0LGUubGVuZ3RoKSxCLmFzc2VydExlc3NUaGFuT3JFcXVhbCh0K2EsZS5sZW5ndGgpfWZ1bmN0aW9uIG9sKGUpe3JldHVybiBlLmtpbmQ9PT0yNDQmJmUuZXhwcmVzc2lvbi5raW5kPT09MTF9ZnVuY3Rpb24gaGYoZSl7cmV0dXJuISEoemEoZSkmMjA5NzE1Mil9ZnVuY3Rpb24gQmQoZSl7cmV0dXJuIGhmKGUpJiZqZihlKX1mdW5jdGlvbiBjMihlKXtyZXR1cm4gdHQoZS5uYW1lKSYmIWUuaW5pdGlhbGl6ZXJ9ZnVuY3Rpb24gcWQoZSl7cmV0dXJuIGhmKGUpJiZYYShlKSYmR3AoZS5kZWNsYXJhdGlvbkxpc3QuZGVjbGFyYXRpb25zLGMyKX1mdW5jdGlvbiBsMihlLHQpe2xldCBhPWUua2luZD09PTE2OXx8ZS5raW5kPT09MTY4fHxlLmtpbmQ9PT0yMTh8fGUua2luZD09PTIxOXx8ZS5raW5kPT09MjE3fHxlLmtpbmQ9PT0yNjB8fGUua2luZD09PTI4MT9ZcChzZyh0LGUucG9zKSxKcCh0LGUucG9zKSk6SnAodCxlLnBvcyk7cmV0dXJuIEdyKGEsbz0+by5lbmQ8PWUuZW5kJiZ0LmNoYXJDb2RlQXQoby5wb3MrMSk9PT00MiYmdC5jaGFyQ29kZUF0KG8ucG9zKzIpPT09NDImJnQuY2hhckNvZGVBdChvLnBvcyszKSE9PTQ3KX1mdW5jdGlvbiB1MihlKXtpZihlKXN3aXRjaChlLmtpbmQpe2Nhc2UgMjA4OmNhc2UgMzA2OmNhc2UgMTY5OmNhc2UgMzAzOmNhc2UgMTcyOmNhc2UgMTcxOmNhc2UgMzA0OmNhc2UgMjYwOnJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIHAyKGUpe3JldHVybiBlJiZlLmtpbmQ9PT0yNDEmJm1mKGUucGFyZW50KX1mdW5jdGlvbiB6ZChlKXtsZXQgdD1lLmtpbmQ7cmV0dXJuKHQ9PT0yMTF8fHQ9PT0yMTIpJiZlLmV4cHJlc3Npb24ua2luZD09PTEwOH1mdW5jdGlvbiBaaShlKXtyZXR1cm4hIWUmJiEhKGUuZmxhZ3MmNTI0Mjg4KX1mdW5jdGlvbiBmMihlKXtyZXR1cm4hIWUmJiEhKGUuZmxhZ3MmMTY3NzcyMTYpfWZ1bmN0aW9uIGQyKGUpe2Zvcig7eWwoZSwhMCk7KWU9ZS5yaWdodDtyZXR1cm4gZX1mdW5jdGlvbiBtMihlKXtyZXR1cm4gdHQoZSkmJmUuZXNjYXBlZFRleHQ9PT1cImV4cG9ydHNcIn1mdW5jdGlvbiBoMihlKXtyZXR1cm4gdHQoZSkmJmUuZXNjYXBlZFRleHQ9PT1cIm1vZHVsZVwifWZ1bmN0aW9uIGgxKGUpe3JldHVybihIcihlKXx8eTEoZSkpJiZoMihlLmV4cHJlc3Npb24pJiZwcyhlKT09PVwiZXhwb3J0c1wifWZ1bmN0aW9uIHlmKGUpe2xldCB0PWcyKGUpO3JldHVybiB0PT09NXx8WmkoZSk/dDowfWZ1bmN0aW9uIHkyKGUpe3JldHVybiB0cyhlLmFyZ3VtZW50cyk9PT0zJiZIcihlLmV4cHJlc3Npb24pJiZ0dChlLmV4cHJlc3Npb24uZXhwcmVzc2lvbikmJlBuKGUuZXhwcmVzc2lvbi5leHByZXNzaW9uKT09PVwiT2JqZWN0XCImJlBuKGUuZXhwcmVzc2lvbi5uYW1lKT09PVwiZGVmaW5lUHJvcGVydHlcIiYma2woZS5hcmd1bWVudHNbMV0pJiZ1cyhlLmFyZ3VtZW50c1swXSwhMCl9ZnVuY3Rpb24geTEoZSl7cmV0dXJuIEhhKGUpJiZrbChlLmFyZ3VtZW50RXhwcmVzc2lvbil9ZnVuY3Rpb24gZ3MoZSx0KXtyZXR1cm4gSHIoZSkmJighdCYmZS5leHByZXNzaW9uLmtpbmQ9PT0xMTB8fHR0KGUubmFtZSkmJnVzKGUuZXhwcmVzc2lvbiwhMCkpfHxnMShlLHQpfWZ1bmN0aW9uIGcxKGUsdCl7cmV0dXJuIHkxKGUpJiYoIXQmJmUuZXhwcmVzc2lvbi5raW5kPT09MTEwfHx4ZihlLmV4cHJlc3Npb24pfHxncyhlLmV4cHJlc3Npb24sITApKX1mdW5jdGlvbiB1cyhlLHQpe3JldHVybiB4ZihlKXx8Z3MoZSx0KX1mdW5jdGlvbiBnMihlKXtpZihPZihlKSl7aWYoIXkyKGUpKXJldHVybiAwO2xldCB0PWUuYXJndW1lbnRzWzBdO3JldHVybiBtMih0KXx8aDEodCk/ODpncyh0KSYmcHModCk9PT1cInByb3RvdHlwZVwiPzk6N31yZXR1cm4gZS5vcGVyYXRvclRva2VuLmtpbmQhPT02NHx8IXcxKGUubGVmdCl8fGIyKGQyKGUpKT8wOnVzKGUubGVmdC5leHByZXNzaW9uLCEwKSYmcHMoZS5sZWZ0KT09PVwicHJvdG90eXBlXCImJklmKFQyKGUpKT82OnYyKGUubGVmdCl9ZnVuY3Rpb24gYjIoZSl7cmV0dXJuIFFiKGUpJiZlYShlLmV4cHJlc3Npb24pJiZlLmV4cHJlc3Npb24udGV4dD09PVwiMFwifWZ1bmN0aW9uIGdmKGUpe2lmKEhyKGUpKXJldHVybiBlLm5hbWU7bGV0IHQ9dmYoZS5hcmd1bWVudEV4cHJlc3Npb24pO3JldHVybiBlYSh0KXx8d2wodCk/dDplfWZ1bmN0aW9uIHBzKGUpe2xldCB0PWdmKGUpO2lmKHQpe2lmKHR0KHQpKXJldHVybiB0LmVzY2FwZWRUZXh0O2lmKHdsKHQpfHxlYSh0KSlyZXR1cm4gSmEodC50ZXh0KX19ZnVuY3Rpb24gdjIoZSl7aWYoZS5leHByZXNzaW9uLmtpbmQ9PT0xMTApcmV0dXJuIDQ7aWYoaDEoZSkpcmV0dXJuIDI7aWYodXMoZS5leHByZXNzaW9uLCEwKSl7aWYoJDIoZS5leHByZXNzaW9uKSlyZXR1cm4gMztsZXQgdD1lO2Zvcig7IXR0KHQuZXhwcmVzc2lvbik7KXQ9dC5leHByZXNzaW9uO2xldCBhPXQuZXhwcmVzc2lvbjtpZigoYS5lc2NhcGVkVGV4dD09PVwiZXhwb3J0c1wifHxhLmVzY2FwZWRUZXh0PT09XCJtb2R1bGVcIiYmcHModCk9PT1cImV4cG9ydHNcIikmJmdzKGUpKXJldHVybiAxO2lmKHVzKGUsITApfHxIYShlKSYmSjIoZSkpcmV0dXJuIDV9cmV0dXJuIDB9ZnVuY3Rpb24gVDIoZSl7Zm9yKDtLaShlLnJpZ2h0KTspZT1lLnJpZ2h0O3JldHVybiBlLnJpZ2h0fWZ1bmN0aW9uIHgyKGUpe3JldHVybiBDbChlKSYmS2koZS5leHByZXNzaW9uKSYmeWYoZS5leHByZXNzaW9uKSE9PTAmJktpKGUuZXhwcmVzc2lvbi5yaWdodCkmJihlLmV4cHJlc3Npb24ucmlnaHQub3BlcmF0b3JUb2tlbi5raW5kPT09NTd8fGUuZXhwcmVzc2lvbi5yaWdodC5vcGVyYXRvclRva2VuLmtpbmQ9PT02MSk/ZS5leHByZXNzaW9uLnJpZ2h0LnJpZ2h0OnZvaWQgMH1mdW5jdGlvbiBTMihlKXtzd2l0Y2goZS5raW5kKXtjYXNlIDI0MzpsZXQgdD1VcChlKTtyZXR1cm4gdCYmdC5pbml0aWFsaXplcjtjYXNlIDE3MjpyZXR1cm4gZS5pbml0aWFsaXplcjtjYXNlIDMwMzpyZXR1cm4gZS5pbml0aWFsaXplcn19ZnVuY3Rpb24gVXAoZSl7cmV0dXJuIFhhKGUpP0hwKGUuZGVjbGFyYXRpb25MaXN0LmRlY2xhcmF0aW9ucyk6dm9pZCAwfWZ1bmN0aW9uIHcyKGUpe3JldHVybiBUaShlKSYmZS5ib2R5JiZlLmJvZHkua2luZD09PTI2Nz9lLmJvZHk6dm9pZCAwfWZ1bmN0aW9uIGJmKGUpe3N3aXRjaChlLmtpbmQpe2Nhc2UgMjE5OmNhc2UgMjI2OmNhc2UgMjQxOmNhc2UgMjUyOmNhc2UgMTc5OmNhc2UgMjk2OmNhc2UgMjYzOmNhc2UgMjMxOmNhc2UgMTc1OmNhc2UgMTc2OmNhc2UgMTg1OmNhc2UgMTgwOmNhc2UgMjUxOmNhc2UgMjU5OmNhc2UgMjQ2OmNhc2UgMjEyOmNhc2UgMjQyOmNhc2UgMTpjYXNlIDI2NjpjYXNlIDMwNjpjYXNlIDI3NzpjYXNlIDI3ODpjYXNlIDI4MTpjYXNlIDI0NDpjYXNlIDI0OTpjYXNlIDI1MDpjYXNlIDI0ODpjYXNlIDI2MjpjYXNlIDIxODpjYXNlIDE4NDpjYXNlIDE3NzpjYXNlIDgwOmNhc2UgMjQ1OmNhc2UgMjcyOmNhc2UgMjcxOmNhc2UgMTgxOmNhc2UgMjY0OmNhc2UgMzE3OmNhc2UgMzIzOmNhc2UgMjU2OmNhc2UgMTc0OmNhc2UgMTczOmNhc2UgMjY3OmNhc2UgMjAyOmNhc2UgMjcwOmNhc2UgMjEwOmNhc2UgMTY5OmNhc2UgMjE3OmNhc2UgMjExOmNhc2UgMzAzOmNhc2UgMTcyOmNhc2UgMTcxOmNhc2UgMjUzOmNhc2UgMjQwOmNhc2UgMTc4OmNhc2UgMzA0OmNhc2UgMzA1OmNhc2UgMjU1OmNhc2UgMjU3OmNhc2UgMjU4OmNhc2UgMjY1OmNhc2UgMTY4OmNhc2UgMjYwOmNhc2UgMjQzOmNhc2UgMjQ3OmNhc2UgMjU0OnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIGsyKGUsdCl7bGV0IGE7dTIoZSkmJnQyKGUpJiZZaShlLmluaXRpYWxpemVyKSYmKGE9RG4oYSxGZChlLGUuaW5pdGlhbGl6ZXIuanNEb2MpKSk7bGV0IG89ZTtmb3IoO28mJm8ucGFyZW50Oyl7aWYoWWkobykmJihhPURuKGEsRmQoZSxvLmpzRG9jKSkpLG8ua2luZD09PTE2OSl7YT1EbihhLCh0P2JnOmdnKShvKSk7YnJlYWt9aWYoby5raW5kPT09MTY4KXthPURuKGEsKHQ/VGc6dmcpKG8pKTticmVha31vPUEyKG8pfXJldHVybiBhfHxidH1mdW5jdGlvbiBGZChlLHQpe2xldCBhPWx5KHQpO3JldHVybiBBbSh0LG89PntpZihvPT09YSl7bGV0IG09R3Ioby50YWdzLHY9PkUyKGUsdikpO3JldHVybiBvLnRhZ3M9PT1tP1tvXTptfWVsc2UgcmV0dXJuIEdyKG8udGFncyxsNil9KX1mdW5jdGlvbiBFMihlLHQpe3JldHVybiEoRmYodCl8fGQ2KHQpKXx8IXQucGFyZW50fHwhc2godC5wYXJlbnQpfHwhQWwodC5wYXJlbnQucGFyZW50KXx8dC5wYXJlbnQucGFyZW50PT09ZX1mdW5jdGlvbiBBMihlKXtsZXQgdD1lLnBhcmVudDtpZih0LmtpbmQ9PT0zMDN8fHQua2luZD09PTI3N3x8dC5raW5kPT09MTcyfHx0LmtpbmQ9PT0yNDQmJmUua2luZD09PTIxMXx8dC5raW5kPT09MjUzfHx3Mih0KXx8eWwoZSkpcmV0dXJuIHQ7aWYodC5wYXJlbnQmJihVcCh0LnBhcmVudCk9PT1lfHx5bCh0KSkpcmV0dXJuIHQucGFyZW50O2lmKHQucGFyZW50JiZ0LnBhcmVudC5wYXJlbnQmJihVcCh0LnBhcmVudC5wYXJlbnQpfHxTMih0LnBhcmVudC5wYXJlbnQpPT09ZXx8eDIodC5wYXJlbnQucGFyZW50KSkpcmV0dXJuIHQucGFyZW50LnBhcmVudH1mdW5jdGlvbiB2ZihlLHQpe3JldHVybiBWZihlLHQ/LTIxNDc0ODM2NDc6MSl9ZnVuY3Rpb24gQzIoZSl7bGV0IHQ9RDIoZSk7aWYodCYmWmkoZSkpe2xldCBhPXhnKGUpO2lmKGEpcmV0dXJuIGEuY2xhc3N9cmV0dXJuIHR9ZnVuY3Rpb24gRDIoZSl7bGV0IHQ9VGYoZS5oZXJpdGFnZUNsYXVzZXMsOTYpO3JldHVybiB0JiZ0LnR5cGVzLmxlbmd0aD4wP3QudHlwZXNbMF06dm9pZCAwfWZ1bmN0aW9uIFAyKGUpe2lmKFppKGUpKXJldHVybiBTZyhlKS5tYXAodD0+dC5jbGFzcyk7e2xldCB0PVRmKGUuaGVyaXRhZ2VDbGF1c2VzLDExOSk7cmV0dXJuIHQ9PW51bGw/dm9pZCAwOnQudHlwZXN9fWZ1bmN0aW9uIE4yKGUpe3JldHVybiB2cyhlKT9JMihlKXx8YnQ6dmkoZSkmJllwKElwKEMyKGUpKSxQMihlKSl8fGJ0fWZ1bmN0aW9uIEkyKGUpe2xldCB0PVRmKGUuaGVyaXRhZ2VDbGF1c2VzLDk2KTtyZXR1cm4gdD90LnR5cGVzOnZvaWQgMH1mdW5jdGlvbiBUZihlLHQpe2lmKGUpe2ZvcihsZXQgYSBvZiBlKWlmKGEudG9rZW49PT10KXJldHVybiBhfX1mdW5jdGlvbiBkaShlKXtyZXR1cm4gODM8PWUmJmU8PTE2NX1mdW5jdGlvbiBPMihlKXtyZXR1cm4gMTk8PWUmJmU8PTc5fWZ1bmN0aW9uIHhwKGUpe3JldHVybiBkaShlKXx8TzIoZSl9ZnVuY3Rpb24ga2woZSl7cmV0dXJuIHdsKGUpfHxlYShlKX1mdW5jdGlvbiBNMihlKXtyZXR1cm4gWTEoZSkmJihlLm9wZXJhdG9yPT09NDB8fGUub3BlcmF0b3I9PT00MSkmJmVhKGUub3BlcmFuZCl9ZnVuY3Rpb24gSjIoZSl7aWYoIShlLmtpbmQ9PT0xNjd8fGUua2luZD09PTIxMikpcmV0dXJuITE7bGV0IHQ9SGEoZSk/dmYoZS5hcmd1bWVudEV4cHJlc3Npb24pOmUuZXhwcmVzc2lvbjtyZXR1cm4ha2wodCkmJiFNMih0KX1mdW5jdGlvbiBMMihlKXtyZXR1cm4ganAoZSk/UG4oZSk6dGgoZSk/a2IoZSk6ZS50ZXh0fWZ1bmN0aW9uIExhKGUpe3JldHVybiBmcyhlLnBvcyl8fGZzKGUuZW5kKX1mdW5jdGlvbiBTcChlKXtzd2l0Y2goZSl7Y2FzZSA2MTpyZXR1cm4gNDtjYXNlIDU3OnJldHVybiA1O2Nhc2UgNTY6cmV0dXJuIDY7Y2FzZSA1MjpyZXR1cm4gNztjYXNlIDUzOnJldHVybiA4O2Nhc2UgNTE6cmV0dXJuIDk7Y2FzZSAzNTpjYXNlIDM2OmNhc2UgMzc6Y2FzZSAzODpyZXR1cm4gMTA7Y2FzZSAzMDpjYXNlIDMyOmNhc2UgMzM6Y2FzZSAzNDpjYXNlIDEwNDpjYXNlIDEwMzpjYXNlIDEzMDpjYXNlIDE1MjpyZXR1cm4gMTE7Y2FzZSA0ODpjYXNlIDQ5OmNhc2UgNTA6cmV0dXJuIDEyO2Nhc2UgNDA6Y2FzZSA0MTpyZXR1cm4gMTM7Y2FzZSA0MjpjYXNlIDQ0OmNhc2UgNDU6cmV0dXJuIDE0O2Nhc2UgNDM6cmV0dXJuIDE1fXJldHVybi0xfWZ1bmN0aW9uIHdwKGUpe3JldHVybiEhKChlLnRlbXBsYXRlRmxhZ3N8fDApJjIwNDgpfWZ1bmN0aW9uIGoyKGUpe3JldHVybiBlJiYhIShQMShlKT93cChlKTp3cChlLmhlYWQpfHxIdChlLnRlbXBsYXRlU3BhbnMsdD0+d3AodC5saXRlcmFsKSkpfXZhciBXND1uZXcgTWFwKE9iamVjdC5lbnRyaWVzKHtcIlx0XCI6XCJcXFxcdFwiLFwiXFx2XCI6XCJcXFxcdlwiLFwiXFxmXCI6XCJcXFxcZlwiLFwiXFxiXCI6XCJcXFxcYlwiLFwiXFxyXCI6XCJcXFxcclwiLFwiXFxuXCI6XCJcXFxcblwiLFwiXFxcXFwiOlwiXFxcXFxcXFxcIiwnXCInOidcXFxcXCInLFwiJ1wiOlwiXFxcXCdcIixcImBcIjpcIlxcXFxgXCIsXCJcXHUyMDI4XCI6XCJcXFxcdTIwMjhcIixcIlxcdTIwMjlcIjpcIlxcXFx1MjAyOVwiLFwiXFx4ODVcIjpcIlxcXFx1MDA4NVwiLFwiXFxyXFxuXCI6XCJcXFxcclxcXFxuXCJ9KSk7dmFyIEc0PW5ldyBNYXAoT2JqZWN0LmVudHJpZXMoeydcIic6XCImcXVvdDtcIixcIidcIjpcIiZhcG9zO1wifSkpO2Z1bmN0aW9uIFIyKGUpe3JldHVybiEhZSYmZS5raW5kPT09ODAmJlUyKGUpfWZ1bmN0aW9uIFUyKGUpe3JldHVybiBlLmVzY2FwZWRUZXh0PT09XCJ0aGlzXCJ9ZnVuY3Rpb24gYnMoZSx0KXtyZXR1cm4hIXoyKGUsdCl9ZnVuY3Rpb24gQjIoZSl7cmV0dXJuIGJzKGUsMjU2KX1mdW5jdGlvbiBxMihlKXtyZXR1cm4gYnMoZSwzMjc2OCl9ZnVuY3Rpb24gejIoZSx0KXtyZXR1cm4gVjIoZSkmdH1mdW5jdGlvbiBGMihlLHQsYSl7cmV0dXJuIGUua2luZD49MCYmZS5raW5kPD0xNjU/MDooZS5tb2RpZmllckZsYWdzQ2FjaGUmNTM2ODcwOTEyfHwoZS5tb2RpZmllckZsYWdzQ2FjaGU9VDEoZSl8NTM2ODcwOTEyKSxhfHx0JiZaaShlKT8oIShlLm1vZGlmaWVyRmxhZ3NDYWNoZSYyNjg0MzU0NTYpJiZlLnBhcmVudCYmKGUubW9kaWZpZXJGbGFnc0NhY2hlfD1iMShlKXwyNjg0MzU0NTYpLHYxKGUubW9kaWZpZXJGbGFnc0NhY2hlKSk6VzIoZS5tb2RpZmllckZsYWdzQ2FjaGUpKX1mdW5jdGlvbiBWMihlKXtyZXR1cm4gRjIoZSwhMSl9ZnVuY3Rpb24gYjEoZSl7bGV0IHQ9MDtyZXR1cm4gZS5wYXJlbnQmJiFkcyhlKSYmKFppKGUpJiYod2coZSkmJih0fD04Mzg4NjA4KSxrZyhlKSYmKHR8PTE2Nzc3MjE2KSxFZyhlKSYmKHR8PTMzNTU0NDMyKSxBZyhlKSYmKHR8PTY3MTA4ODY0KSxDZyhlKSYmKHR8PTEzNDIxNzcyOCkpLERnKGUpJiYodHw9NjU1MzYpKSx0fWZ1bmN0aW9uIFcyKGUpe3JldHVybiBlJjY1NTM1fWZ1bmN0aW9uIHYxKGUpe3JldHVybiBlJjEzMTA3MXwoZSYyNjAwNDY4NDgpPj4+MjN9ZnVuY3Rpb24gRzIoZSl7cmV0dXJuIHYxKGIxKGUpKX1mdW5jdGlvbiBZMihlKXtyZXR1cm4gVDEoZSl8RzIoZSl9ZnVuY3Rpb24gVDEoZSl7bGV0IHQ9TmwoZSk/Um4oZS5tb2RpZmllcnMpOjA7cmV0dXJuKGUuZmxhZ3MmOHx8ZS5raW5kPT09ODAmJmUuZmxhZ3MmNDA5NikmJih0fD0zMiksdH1mdW5jdGlvbiBSbihlKXtsZXQgdD0wO2lmKGUpZm9yKGxldCBhIG9mIGUpdHw9eDEoYS5raW5kKTtyZXR1cm4gdH1mdW5jdGlvbiB4MShlKXtzd2l0Y2goZSl7Y2FzZSAxMjY6cmV0dXJuIDI1NjtjYXNlIDEyNTpyZXR1cm4gMTtjYXNlIDEyNDpyZXR1cm4gNDtjYXNlIDEyMzpyZXR1cm4gMjtjYXNlIDEyODpyZXR1cm4gNjQ7Y2FzZSAxMjk6cmV0dXJuIDUxMjtjYXNlIDk1OnJldHVybiAzMjtjYXNlIDEzODpyZXR1cm4gMTI4O2Nhc2UgODc6cmV0dXJuIDQwOTY7Y2FzZSA5MDpyZXR1cm4gMjA0ODtjYXNlIDEzNDpyZXR1cm4gMTAyNDtjYXNlIDE0ODpyZXR1cm4gODtjYXNlIDE2NDpyZXR1cm4gMTY7Y2FzZSAxMDM6cmV0dXJuIDgxOTI7Y2FzZSAxNDc6cmV0dXJuIDE2Mzg0O2Nhc2UgMTcwOnJldHVybiAzMjc2OH1yZXR1cm4gMH1mdW5jdGlvbiBIMihlKXtyZXR1cm4gZT09PTc2fHxlPT09Nzd8fGU9PT03OH1mdW5jdGlvbiBTMShlKXtyZXR1cm4gZT49NjQmJmU8PTc5fWZ1bmN0aW9uIHlsKGUsdCl7cmV0dXJuIEtpKGUpJiYodD9lLm9wZXJhdG9yVG9rZW4ua2luZD09PTY0OlMxKGUub3BlcmF0b3JUb2tlbi5raW5kKSkmJnFhKGUubGVmdCl9ZnVuY3Rpb24geGYoZSl7cmV0dXJuIGUua2luZD09PTgwfHxYMihlKX1mdW5jdGlvbiBYMihlKXtyZXR1cm4gSHIoZSkmJnR0KGUubmFtZSkmJnhmKGUuZXhwcmVzc2lvbil9ZnVuY3Rpb24gJDIoZSl7cmV0dXJuIGdzKGUpJiZwcyhlKT09PVwicHJvdG90eXBlXCJ9ZnVuY3Rpb24ga3AoZSl7cmV0dXJuIGUuZmxhZ3MmMzg5OTM5Mz9lLm9iamVjdEZsYWdzOjB9ZnVuY3Rpb24gUTIoZSl7bGV0IHQ7cmV0dXJuIFh0KGUsYT0+e1JwKGEpJiYodD1hKX0sYT0+e2ZvcihsZXQgbz1hLmxlbmd0aC0xO28+PTA7by0tKWlmKFJwKGFbb10pKXt0PWFbb107YnJlYWt9fSksdH1mdW5jdGlvbiBLMihlKXtyZXR1cm4gZT49MTgyJiZlPD0yMDV8fGU9PT0xMzN8fGU9PT0xNTl8fGU9PT0xNTB8fGU9PT0xNjN8fGU9PT0xNTF8fGU9PT0xMzZ8fGU9PT0xNTR8fGU9PT0xNTV8fGU9PT0xMTZ8fGU9PT0xNTd8fGU9PT0xNDZ8fGU9PT0xNDF8fGU9PT0yMzN8fGU9PT0zMTJ8fGU9PT0zMTN8fGU9PT0zMTR8fGU9PT0zMTV8fGU9PT0zMTZ8fGU9PT0zMTd8fGU9PT0zMTh9ZnVuY3Rpb24gdzEoZSl7cmV0dXJuIGUua2luZD09PTIxMXx8ZS5raW5kPT09MjEyfWZ1bmN0aW9uIFoyKGUsdCl7dGhpcy5mbGFncz1lLHRoaXMuZXNjYXBlZE5hbWU9dCx0aGlzLmRlY2xhcmF0aW9ucz12b2lkIDAsdGhpcy52YWx1ZURlY2xhcmF0aW9uPXZvaWQgMCx0aGlzLmlkPTAsdGhpcy5tZXJnZUlkPTAsdGhpcy5wYXJlbnQ9dm9pZCAwLHRoaXMubWVtYmVycz12b2lkIDAsdGhpcy5leHBvcnRzPXZvaWQgMCx0aGlzLmV4cG9ydFN5bWJvbD12b2lkIDAsdGhpcy5jb25zdEVudW1Pbmx5TW9kdWxlPXZvaWQgMCx0aGlzLmlzUmVmZXJlbmNlZD12b2lkIDAsdGhpcy5sYXN0QXNzaWdubWVudFBvcz12b2lkIDAsdGhpcy5saW5rcz12b2lkIDB9ZnVuY3Rpb24gZWIoZSx0KXt0aGlzLmZsYWdzPXQsKEIuaXNEZWJ1Z2dpbmd8fF9sKSYmKHRoaXMuY2hlY2tlcj1lKX1mdW5jdGlvbiB0YihlLHQpe3RoaXMuZmxhZ3M9dCxCLmlzRGVidWdnaW5nJiYodGhpcy5jaGVja2VyPWUpfWZ1bmN0aW9uIEVwKGUsdCxhKXt0aGlzLnBvcz10LHRoaXMuZW5kPWEsdGhpcy5raW5kPWUsdGhpcy5pZD0wLHRoaXMuZmxhZ3M9MCx0aGlzLm1vZGlmaWVyRmxhZ3NDYWNoZT0wLHRoaXMudHJhbnNmb3JtRmxhZ3M9MCx0aGlzLnBhcmVudD12b2lkIDAsdGhpcy5vcmlnaW5hbD12b2lkIDAsdGhpcy5lbWl0Tm9kZT12b2lkIDB9ZnVuY3Rpb24gbmIoZSx0LGEpe3RoaXMucG9zPXQsdGhpcy5lbmQ9YSx0aGlzLmtpbmQ9ZSx0aGlzLmlkPTAsdGhpcy5mbGFncz0wLHRoaXMudHJhbnNmb3JtRmxhZ3M9MCx0aGlzLnBhcmVudD12b2lkIDAsdGhpcy5lbWl0Tm9kZT12b2lkIDB9ZnVuY3Rpb24gcmIoZSx0LGEpe3RoaXMucG9zPXQsdGhpcy5lbmQ9YSx0aGlzLmtpbmQ9ZSx0aGlzLmlkPTAsdGhpcy5mbGFncz0wLHRoaXMudHJhbnNmb3JtRmxhZ3M9MCx0aGlzLnBhcmVudD12b2lkIDAsdGhpcy5vcmlnaW5hbD12b2lkIDAsdGhpcy5lbWl0Tm9kZT12b2lkIDB9ZnVuY3Rpb24gaWIoZSx0LGEpe3RoaXMuZmlsZU5hbWU9ZSx0aGlzLnRleHQ9dCx0aGlzLnNraXBUcml2aWE9YXx8KG89Pm8pfXZhciBBdD17Z2V0Tm9kZUNvbnN0cnVjdG9yOigpPT5FcCxnZXRUb2tlbkNvbnN0cnVjdG9yOigpPT5uYixnZXRJZGVudGlmaWVyQ29uc3RydWN0b3I6KCk9PnJiLGdldFByaXZhdGVJZGVudGlmaWVyQ29uc3RydWN0b3I6KCk9PkVwLGdldFNvdXJjZUZpbGVDb25zdHJ1Y3RvcjooKT0+RXAsZ2V0U3ltYm9sQ29uc3RydWN0b3I6KCk9PloyLGdldFR5cGVDb25zdHJ1Y3RvcjooKT0+ZWIsZ2V0U2lnbmF0dXJlQ29uc3RydWN0b3I6KCk9PnRiLGdldFNvdXJjZU1hcFNvdXJjZUNvbnN0cnVjdG9yOigpPT5pYn0sYWI9W107ZnVuY3Rpb24gX2IoZSl7T2JqZWN0LmFzc2lnbihBdCxlKSxVbihhYix0PT50KEF0KSl9ZnVuY3Rpb24gc2IoZSx0KXtyZXR1cm4gZS5yZXBsYWNlKC9cXHsoXFxkKylcXH0vZywoYSxvKT0+XCJcIitCLmNoZWNrRGVmaW5lZCh0WytvXSkpfXZhciBWZDtmdW5jdGlvbiBvYihlKXtyZXR1cm4gVmQmJlZkW2Uua2V5XXx8ZS5tZXNzYWdlfWZ1bmN0aW9uIE9hKGUsdCxhLG8sbSwuLi52KXthK28+dC5sZW5ndGgmJihvPXQubGVuZ3RoLWEpLG8yKHQsYSxvKTtsZXQgQT1vYihtKTtyZXR1cm4gSHQodikmJihBPXNiKEEsdikpLHtmaWxlOnZvaWQgMCxzdGFydDphLGxlbmd0aDpvLG1lc3NhZ2VUZXh0OkEsY2F0ZWdvcnk6bS5jYXRlZ29yeSxjb2RlOm0uY29kZSxyZXBvcnRzVW5uZWNlc3Nhcnk6bS5yZXBvcnRzVW5uZWNlc3NhcnksZmlsZU5hbWU6ZX19ZnVuY3Rpb24gY2IoZSl7cmV0dXJuIGUuZmlsZT09PXZvaWQgMCYmZS5zdGFydCE9PXZvaWQgMCYmZS5sZW5ndGghPT12b2lkIDAmJnR5cGVvZiBlLmZpbGVOYW1lPT1cInN0cmluZ1wifWZ1bmN0aW9uIGsxKGUsdCl7bGV0IGE9dC5maWxlTmFtZXx8XCJcIixvPXQudGV4dC5sZW5ndGg7Qi5hc3NlcnRFcXVhbChlLmZpbGVOYW1lLGEpLEIuYXNzZXJ0TGVzc1RoYW5PckVxdWFsKGUuc3RhcnQsbyksQi5hc3NlcnRMZXNzVGhhbk9yRXF1YWwoZS5zdGFydCtlLmxlbmd0aCxvKTtsZXQgbT17ZmlsZTp0LHN0YXJ0OmUuc3RhcnQsbGVuZ3RoOmUubGVuZ3RoLG1lc3NhZ2VUZXh0OmUubWVzc2FnZVRleHQsY2F0ZWdvcnk6ZS5jYXRlZ29yeSxjb2RlOmUuY29kZSxyZXBvcnRzVW5uZWNlc3Nhcnk6ZS5yZXBvcnRzVW5uZWNlc3Nhcnl9O2lmKGUucmVsYXRlZEluZm9ybWF0aW9uKXttLnJlbGF0ZWRJbmZvcm1hdGlvbj1bXTtmb3IobGV0IHYgb2YgZS5yZWxhdGVkSW5mb3JtYXRpb24pY2IodikmJnYuZmlsZU5hbWU9PT1hPyhCLmFzc2VydExlc3NUaGFuT3JFcXVhbCh2LnN0YXJ0LG8pLEIuYXNzZXJ0TGVzc1RoYW5PckVxdWFsKHYuc3RhcnQrdi5sZW5ndGgsbyksbS5yZWxhdGVkSW5mb3JtYXRpb24ucHVzaChrMSh2LHQpKSk6bS5yZWxhdGVkSW5mb3JtYXRpb24ucHVzaCh2KX1yZXR1cm4gbX1mdW5jdGlvbiBxaShlLHQpe2xldCBhPVtdO2ZvcihsZXQgbyBvZiBlKWEucHVzaChrMShvLHQpKTtyZXR1cm4gYX1mdW5jdGlvbiBXZChlKXtyZXR1cm4gZT09PTR8fGU9PT0yfHxlPT09MXx8ZT09PTY/MTowfXZhciBhdD17YWxsb3dJbXBvcnRpbmdUc0V4dGVuc2lvbnM6e2RlcGVuZGVuY2llczpbXCJyZXdyaXRlUmVsYXRpdmVJbXBvcnRFeHRlbnNpb25zXCJdLGNvbXB1dGVWYWx1ZTplPT4hIShlLmFsbG93SW1wb3J0aW5nVHNFeHRlbnNpb25zfHxlLnJld3JpdGVSZWxhdGl2ZUltcG9ydEV4dGVuc2lvbnMpfSx0YXJnZXQ6e2RlcGVuZGVuY2llczpbXCJtb2R1bGVcIl0sY29tcHV0ZVZhbHVlOmU9PihlLnRhcmdldD09PTA/dm9pZCAwOmUudGFyZ2V0KT8/KGUubW9kdWxlPT09MTAwJiY5fHxlLm1vZHVsZT09PTE5OSYmOTl8fDEpfSxtb2R1bGU6e2RlcGVuZGVuY2llczpbXCJ0YXJnZXRcIl0sY29tcHV0ZVZhbHVlOmU9PnR5cGVvZiBlLm1vZHVsZT09XCJudW1iZXJcIj9lLm1vZHVsZTphdC50YXJnZXQuY29tcHV0ZVZhbHVlKGUpPj0yPzU6MX0sbW9kdWxlUmVzb2x1dGlvbjp7ZGVwZW5kZW5jaWVzOltcIm1vZHVsZVwiLFwidGFyZ2V0XCJdLGNvbXB1dGVWYWx1ZTplPT57bGV0IHQ9ZS5tb2R1bGVSZXNvbHV0aW9uO2lmKHQ9PT12b2lkIDApc3dpdGNoKGF0Lm1vZHVsZS5jb21wdXRlVmFsdWUoZSkpe2Nhc2UgMTp0PTI7YnJlYWs7Y2FzZSAxMDA6dD0zO2JyZWFrO2Nhc2UgMTk5OnQ9OTk7YnJlYWs7Y2FzZSAyMDA6dD0xMDA7YnJlYWs7ZGVmYXVsdDp0PTE7YnJlYWt9cmV0dXJuIHR9fSxtb2R1bGVEZXRlY3Rpb246e2RlcGVuZGVuY2llczpbXCJtb2R1bGVcIixcInRhcmdldFwiXSxjb21wdXRlVmFsdWU6ZT0+ZS5tb2R1bGVEZXRlY3Rpb258fChhdC5tb2R1bGUuY29tcHV0ZVZhbHVlKGUpPT09MTAwfHxhdC5tb2R1bGUuY29tcHV0ZVZhbHVlKGUpPT09MTk5PzM6Mil9LGlzb2xhdGVkTW9kdWxlczp7ZGVwZW5kZW5jaWVzOltcInZlcmJhdGltTW9kdWxlU3ludGF4XCJdLGNvbXB1dGVWYWx1ZTplPT4hIShlLmlzb2xhdGVkTW9kdWxlc3x8ZS52ZXJiYXRpbU1vZHVsZVN5bnRheCl9LGVzTW9kdWxlSW50ZXJvcDp7ZGVwZW5kZW5jaWVzOltcIm1vZHVsZVwiLFwidGFyZ2V0XCJdLGNvbXB1dGVWYWx1ZTplPT57aWYoZS5lc01vZHVsZUludGVyb3AhPT12b2lkIDApcmV0dXJuIGUuZXNNb2R1bGVJbnRlcm9wO3N3aXRjaChhdC5tb2R1bGUuY29tcHV0ZVZhbHVlKGUpKXtjYXNlIDEwMDpjYXNlIDE5OTpjYXNlIDIwMDpyZXR1cm4hMH1yZXR1cm4hMX19LGFsbG93U3ludGhldGljRGVmYXVsdEltcG9ydHM6e2RlcGVuZGVuY2llczpbXCJtb2R1bGVcIixcInRhcmdldFwiLFwibW9kdWxlUmVzb2x1dGlvblwiXSxjb21wdXRlVmFsdWU6ZT0+ZS5hbGxvd1N5bnRoZXRpY0RlZmF1bHRJbXBvcnRzIT09dm9pZCAwP2UuYWxsb3dTeW50aGV0aWNEZWZhdWx0SW1wb3J0czphdC5lc01vZHVsZUludGVyb3AuY29tcHV0ZVZhbHVlKGUpfHxhdC5tb2R1bGUuY29tcHV0ZVZhbHVlKGUpPT09NHx8YXQubW9kdWxlUmVzb2x1dGlvbi5jb21wdXRlVmFsdWUoZSk9PT0xMDB9LHJlc29sdmVQYWNrYWdlSnNvbkV4cG9ydHM6e2RlcGVuZGVuY2llczpbXCJtb2R1bGVSZXNvbHV0aW9uXCJdLGNvbXB1dGVWYWx1ZTplPT57bGV0IHQ9YXQubW9kdWxlUmVzb2x1dGlvbi5jb21wdXRlVmFsdWUoZSk7aWYoIUdkKHQpKXJldHVybiExO2lmKGUucmVzb2x2ZVBhY2thZ2VKc29uRXhwb3J0cyE9PXZvaWQgMClyZXR1cm4gZS5yZXNvbHZlUGFja2FnZUpzb25FeHBvcnRzO3N3aXRjaCh0KXtjYXNlIDM6Y2FzZSA5OTpjYXNlIDEwMDpyZXR1cm4hMH1yZXR1cm4hMX19LHJlc29sdmVQYWNrYWdlSnNvbkltcG9ydHM6e2RlcGVuZGVuY2llczpbXCJtb2R1bGVSZXNvbHV0aW9uXCIsXCJyZXNvbHZlUGFja2FnZUpzb25FeHBvcnRzXCJdLGNvbXB1dGVWYWx1ZTplPT57bGV0IHQ9YXQubW9kdWxlUmVzb2x1dGlvbi5jb21wdXRlVmFsdWUoZSk7aWYoIUdkKHQpKXJldHVybiExO2lmKGUucmVzb2x2ZVBhY2thZ2VKc29uRXhwb3J0cyE9PXZvaWQgMClyZXR1cm4gZS5yZXNvbHZlUGFja2FnZUpzb25FeHBvcnRzO3N3aXRjaCh0KXtjYXNlIDM6Y2FzZSA5OTpjYXNlIDEwMDpyZXR1cm4hMH1yZXR1cm4hMX19LHJlc29sdmVKc29uTW9kdWxlOntkZXBlbmRlbmNpZXM6W1wibW9kdWxlUmVzb2x1dGlvblwiLFwibW9kdWxlXCIsXCJ0YXJnZXRcIl0sY29tcHV0ZVZhbHVlOmU9PmUucmVzb2x2ZUpzb25Nb2R1bGUhPT12b2lkIDA/ZS5yZXNvbHZlSnNvbk1vZHVsZTphdC5tb2R1bGVSZXNvbHV0aW9uLmNvbXB1dGVWYWx1ZShlKT09PTEwMH0sZGVjbGFyYXRpb246e2RlcGVuZGVuY2llczpbXCJjb21wb3NpdGVcIl0sY29tcHV0ZVZhbHVlOmU9PiEhKGUuZGVjbGFyYXRpb258fGUuY29tcG9zaXRlKX0scHJlc2VydmVDb25zdEVudW1zOntkZXBlbmRlbmNpZXM6W1wiaXNvbGF0ZWRNb2R1bGVzXCIsXCJ2ZXJiYXRpbU1vZHVsZVN5bnRheFwiXSxjb21wdXRlVmFsdWU6ZT0+ISEoZS5wcmVzZXJ2ZUNvbnN0RW51bXN8fGF0Lmlzb2xhdGVkTW9kdWxlcy5jb21wdXRlVmFsdWUoZSkpfSxpbmNyZW1lbnRhbDp7ZGVwZW5kZW5jaWVzOltcImNvbXBvc2l0ZVwiXSxjb21wdXRlVmFsdWU6ZT0+ISEoZS5pbmNyZW1lbnRhbHx8ZS5jb21wb3NpdGUpfSxkZWNsYXJhdGlvbk1hcDp7ZGVwZW5kZW5jaWVzOltcImRlY2xhcmF0aW9uXCIsXCJjb21wb3NpdGVcIl0sY29tcHV0ZVZhbHVlOmU9PiEhKGUuZGVjbGFyYXRpb25NYXAmJmF0LmRlY2xhcmF0aW9uLmNvbXB1dGVWYWx1ZShlKSl9LGFsbG93SnM6e2RlcGVuZGVuY2llczpbXCJjaGVja0pzXCJdLGNvbXB1dGVWYWx1ZTplPT5lLmFsbG93SnM9PT12b2lkIDA/ISFlLmNoZWNrSnM6ZS5hbGxvd0pzfSx1c2VEZWZpbmVGb3JDbGFzc0ZpZWxkczp7ZGVwZW5kZW5jaWVzOltcInRhcmdldFwiLFwibW9kdWxlXCJdLGNvbXB1dGVWYWx1ZTplPT5lLnVzZURlZmluZUZvckNsYXNzRmllbGRzPT09dm9pZCAwP2F0LnRhcmdldC5jb21wdXRlVmFsdWUoZSk+PTk6ZS51c2VEZWZpbmVGb3JDbGFzc0ZpZWxkc30sbm9JbXBsaWNpdEFueTp7ZGVwZW5kZW5jaWVzOltcInN0cmljdFwiXSxjb21wdXRlVmFsdWU6ZT0+VnIoZSxcIm5vSW1wbGljaXRBbnlcIil9LG5vSW1wbGljaXRUaGlzOntkZXBlbmRlbmNpZXM6W1wic3RyaWN0XCJdLGNvbXB1dGVWYWx1ZTplPT5WcihlLFwibm9JbXBsaWNpdFRoaXNcIil9LHN0cmljdE51bGxDaGVja3M6e2RlcGVuZGVuY2llczpbXCJzdHJpY3RcIl0sY29tcHV0ZVZhbHVlOmU9PlZyKGUsXCJzdHJpY3ROdWxsQ2hlY2tzXCIpfSxzdHJpY3RGdW5jdGlvblR5cGVzOntkZXBlbmRlbmNpZXM6W1wic3RyaWN0XCJdLGNvbXB1dGVWYWx1ZTplPT5WcihlLFwic3RyaWN0RnVuY3Rpb25UeXBlc1wiKX0sc3RyaWN0QmluZENhbGxBcHBseTp7ZGVwZW5kZW5jaWVzOltcInN0cmljdFwiXSxjb21wdXRlVmFsdWU6ZT0+VnIoZSxcInN0cmljdEJpbmRDYWxsQXBwbHlcIil9LHN0cmljdFByb3BlcnR5SW5pdGlhbGl6YXRpb246e2RlcGVuZGVuY2llczpbXCJzdHJpY3RcIl0sY29tcHV0ZVZhbHVlOmU9PlZyKGUsXCJzdHJpY3RQcm9wZXJ0eUluaXRpYWxpemF0aW9uXCIpfSxzdHJpY3RCdWlsdGluSXRlcmF0b3JSZXR1cm46e2RlcGVuZGVuY2llczpbXCJzdHJpY3RcIl0sY29tcHV0ZVZhbHVlOmU9PlZyKGUsXCJzdHJpY3RCdWlsdGluSXRlcmF0b3JSZXR1cm5cIil9LGFsd2F5c1N0cmljdDp7ZGVwZW5kZW5jaWVzOltcInN0cmljdFwiXSxjb21wdXRlVmFsdWU6ZT0+VnIoZSxcImFsd2F5c1N0cmljdFwiKX0sdXNlVW5rbm93bkluQ2F0Y2hWYXJpYWJsZXM6e2RlcGVuZGVuY2llczpbXCJzdHJpY3RcIl0sY29tcHV0ZVZhbHVlOmU9PlZyKGUsXCJ1c2VVbmtub3duSW5DYXRjaFZhcmlhYmxlc1wiKX19O3ZhciBZND1hdC5hbGxvd0ltcG9ydGluZ1RzRXh0ZW5zaW9ucy5jb21wdXRlVmFsdWUsSDQ9YXQudGFyZ2V0LmNvbXB1dGVWYWx1ZSxYND1hdC5tb2R1bGUuY29tcHV0ZVZhbHVlLCQ0PWF0Lm1vZHVsZVJlc29sdXRpb24uY29tcHV0ZVZhbHVlLFE0PWF0Lm1vZHVsZURldGVjdGlvbi5jb21wdXRlVmFsdWUsSzQ9YXQuaXNvbGF0ZWRNb2R1bGVzLmNvbXB1dGVWYWx1ZSxaND1hdC5lc01vZHVsZUludGVyb3AuY29tcHV0ZVZhbHVlLGUzPWF0LmFsbG93U3ludGhldGljRGVmYXVsdEltcG9ydHMuY29tcHV0ZVZhbHVlLHQzPWF0LnJlc29sdmVQYWNrYWdlSnNvbkV4cG9ydHMuY29tcHV0ZVZhbHVlLG4zPWF0LnJlc29sdmVQYWNrYWdlSnNvbkltcG9ydHMuY29tcHV0ZVZhbHVlLHIzPWF0LnJlc29sdmVKc29uTW9kdWxlLmNvbXB1dGVWYWx1ZSxpMz1hdC5kZWNsYXJhdGlvbi5jb21wdXRlVmFsdWUsYTM9YXQucHJlc2VydmVDb25zdEVudW1zLmNvbXB1dGVWYWx1ZSxfMz1hdC5pbmNyZW1lbnRhbC5jb21wdXRlVmFsdWUsczM9YXQuZGVjbGFyYXRpb25NYXAuY29tcHV0ZVZhbHVlLG8zPWF0LmFsbG93SnMuY29tcHV0ZVZhbHVlLGMzPWF0LnVzZURlZmluZUZvckNsYXNzRmllbGRzLmNvbXB1dGVWYWx1ZTtmdW5jdGlvbiBHZChlKXtyZXR1cm4gZT49MyYmZTw9OTl8fGU9PT0xMDB9ZnVuY3Rpb24gVnIoZSx0KXtyZXR1cm4gZVt0XT09PXZvaWQgMD8hIWUuc3RyaWN0OiEhZVt0XX1mdW5jdGlvbiBsYihlKXtyZXR1cm4gaTIodGFyZ2V0T3B0aW9uRGVjbGFyYXRpb24udHlwZSwodCxhKT0+dD09PWU/YTp2b2lkIDApfXZhciB1Yj1bXCJub2RlX21vZHVsZXNcIixcImJvd2VyX2NvbXBvbmVudHNcIixcImpzcG1fcGFja2FnZXNcIl0sRTE9YCg/ISgke3ViLmpvaW4oXCJ8XCIpfSkoL3wkKSlgLHBiPXtzaW5nbGVBc3Rlcmlza1JlZ2V4RnJhZ21lbnQ6XCIoW14uL118KFxcXFwuKD8hbWluXFxcXC5qcyQpKT8pKlwiLGRvdWJsZUFzdGVyaXNrUmVnZXhGcmFnbWVudDpgKC8ke0UxfVteLy5dW14vXSopKj9gLHJlcGxhY2VXaWxkY2FyZENoYXJhY3RlcjplPT5BMShlLHBiLnNpbmdsZUFzdGVyaXNrUmVnZXhGcmFnbWVudCl9LGZiPXtzaW5nbGVBc3Rlcmlza1JlZ2V4RnJhZ21lbnQ6XCJbXi9dKlwiLGRvdWJsZUFzdGVyaXNrUmVnZXhGcmFnbWVudDpgKC8ke0UxfVteLy5dW14vXSopKj9gLHJlcGxhY2VXaWxkY2FyZENoYXJhY3RlcjplPT5BMShlLGZiLnNpbmdsZUFzdGVyaXNrUmVnZXhGcmFnbWVudCl9O2Z1bmN0aW9uIEExKGUsdCl7cmV0dXJuIGU9PT1cIipcIj90OmU9PT1cIj9cIj9cIlteL11cIjpcIlxcXFxcIitlfWZ1bmN0aW9uIGRiKGUsdCl7cmV0dXJuIHR8fG1iKGUpfHwzfWZ1bmN0aW9uIG1iKGUpe3N3aXRjaChlLnN1YnN0cihlLmxhc3RJbmRleE9mKFwiLlwiKSkudG9Mb3dlckNhc2UoKSl7Y2FzZVwiLmpzXCI6Y2FzZVwiLmNqc1wiOmNhc2VcIi5tanNcIjpyZXR1cm4gMTtjYXNlXCIuanN4XCI6cmV0dXJuIDI7Y2FzZVwiLnRzXCI6Y2FzZVwiLmN0c1wiOmNhc2VcIi5tdHNcIjpyZXR1cm4gMztjYXNlXCIudHN4XCI6cmV0dXJuIDQ7Y2FzZVwiLmpzb25cIjpyZXR1cm4gNjtkZWZhdWx0OnJldHVybiAwfX12YXIgQzE9W1tcIi50c1wiLFwiLnRzeFwiLFwiLmQudHNcIl0sW1wiLmN0c1wiLFwiLmQuY3RzXCJdLFtcIi5tdHNcIixcIi5kLm10c1wiXV0sbDM9RW0oQzEpLHUzPVsuLi5DMSxbXCIuanNvblwiXV07dmFyIGhiPVtbXCIuanNcIixcIi5qc3hcIl0sW1wiLm1qc1wiXSxbXCIuY2pzXCJdXSxwMz1FbShoYikseWI9W1tcIi50c1wiLFwiLnRzeFwiLFwiLmQudHNcIixcIi5qc1wiLFwiLmpzeFwiXSxbXCIuY3RzXCIsXCIuZC5jdHNcIixcIi5janNcIl0sW1wiLm10c1wiLFwiLmQubXRzXCIsXCIubWpzXCJdXSxmMz1bLi4ueWIsW1wiLmpzb25cIl1dLGdiPVtcIi5kLnRzXCIsXCIuZC5jdHNcIixcIi5kLm10c1wiXTtmdW5jdGlvbiBmcyhlKXtyZXR1cm4hKGU+PTApfWZ1bmN0aW9uIG5sKGUsLi4udCl7cmV0dXJuIHQubGVuZ3RoJiYoZS5yZWxhdGVkSW5mb3JtYXRpb258fChlLnJlbGF0ZWRJbmZvcm1hdGlvbj1bXSksQi5hc3NlcnQoZS5yZWxhdGVkSW5mb3JtYXRpb24hPT1idCxcIkRpYWdub3N0aWMgaGFkIGVtcHR5IGFycmF5IHNpbmdsZXRvbiBmb3IgcmVsYXRlZCBpbmZvLCBidXQgaXMgc3RpbGwgYmVpbmcgY29uc3RydWN0ZWQhXCIpLGUucmVsYXRlZEluZm9ybWF0aW9uLnB1c2goLi4udCkpLGV9ZnVuY3Rpb24gYmIoZSl7bGV0IHQ7c3dpdGNoKGUuY2hhckNvZGVBdCgxKSl7Y2FzZSA5ODpjYXNlIDY2OnQ9MTticmVhaztjYXNlIDExMTpjYXNlIDc5OnQ9MzticmVhaztjYXNlIDEyMDpjYXNlIDg4OnQ9NDticmVhaztkZWZhdWx0OmxldCBRPWUubGVuZ3RoLTEsaD0wO2Zvcig7ZS5jaGFyQ29kZUF0KGgpPT09NDg7KWgrKztyZXR1cm4gZS5zbGljZShoLFEpfHxcIjBcIn1sZXQgYT0yLG89ZS5sZW5ndGgtMSxtPShvLWEpKnQsdj1uZXcgVWludDE2QXJyYXkoKG0+Pj40KSsobSYxNT8xOjApKTtmb3IobGV0IFE9by0xLGg9MDtRPj1hO1EtLSxoKz10KXtsZXQgeT1oPj4+NCxnPWUuY2hhckNvZGVBdChRKSxJPShnPD01Nz9nLTQ4OjEwK2ctKGc8PTcwPzY1Ojk3KSk8PChoJjE1KTt2W3ldfD1JO2xldCByZT1JPj4+MTY7cmUmJih2W3krMV18PXJlKX1sZXQgQT1cIlwiLFA9di5sZW5ndGgtMSxsPSEwO2Zvcig7bDspe2xldCBRPTA7bD0hMTtmb3IobGV0IGg9UDtoPj0wO2gtLSl7bGV0IHk9UTw8MTZ8dltoXSxnPXkvMTB8MDt2W2hdPWcsUT15LWcqMTAsZyYmIWwmJihQPWgsbD0hMCl9QT1RK0F9cmV0dXJuIEF9ZnVuY3Rpb24gdmIoe25lZ2F0aXZlOmUsYmFzZTEwVmFsdWU6dH0pe3JldHVybihlJiZ0IT09XCIwXCI/XCItXCI6XCJcIikrdH1mdW5jdGlvbiBCcChlLHQpe3JldHVybiBlLnBvcz10LGV9ZnVuY3Rpb24gVGIoZSx0KXtyZXR1cm4gZS5lbmQ9dCxlfWZ1bmN0aW9uIHlpKGUsdCxhKXtyZXR1cm4gVGIoQnAoZSx0KSxhKX1mdW5jdGlvbiBZZChlLHQsYSl7cmV0dXJuIHlpKGUsdCx0K2EpfWZ1bmN0aW9uIFNmKGUsdCl7cmV0dXJuIGUmJnQmJihlLnBhcmVudD10KSxlfWZ1bmN0aW9uIHhiKGUsdCl7aWYoIWUpcmV0dXJuIGU7cmV0dXJuIHZtKGUsZDEoZSk/YTptKSxlO2Z1bmN0aW9uIGEodixBKXtpZih0JiZ2LnBhcmVudD09PUEpcmV0dXJuXCJza2lwXCI7U2YodixBKX1mdW5jdGlvbiBvKHYpe2lmKFlpKHYpKWZvcihsZXQgQSBvZiB2LmpzRG9jKWEoQSx2KSx2bShBLGEpfWZ1bmN0aW9uIG0odixBKXtyZXR1cm4gYSh2LEEpfHxvKHYpfX1mdW5jdGlvbiBTYihlKXtyZXR1cm4hIShlLmZsYWdzJjI2MjE0NCYmZS5pc1RoaXNUeXBlKX1mdW5jdGlvbiB3YihlKXt2YXIgdDtyZXR1cm4oKHQ9Z2V0U25pcHBldEVsZW1lbnQoZSkpPT1udWxsP3ZvaWQgMDp0LmtpbmQpPT09MH1mdW5jdGlvbiBrYihlKXtyZXR1cm5gJHtQbihlLm5hbWVzcGFjZSl9OiR7UG4oZS5uYW1lKX1gfXZhciBkMz1TdHJpbmcucHJvdG90eXBlLnJlcGxhY2U7dmFyIHFwPVtcImFzc2VydFwiLFwiYXNzZXJ0L3N0cmljdFwiLFwiYXN5bmNfaG9va3NcIixcImJ1ZmZlclwiLFwiY2hpbGRfcHJvY2Vzc1wiLFwiY2x1c3RlclwiLFwiY29uc29sZVwiLFwiY29uc3RhbnRzXCIsXCJjcnlwdG9cIixcImRncmFtXCIsXCJkaWFnbm9zdGljc19jaGFubmVsXCIsXCJkbnNcIixcImRucy9wcm9taXNlc1wiLFwiZG9tYWluXCIsXCJldmVudHNcIixcImZzXCIsXCJmcy9wcm9taXNlc1wiLFwiaHR0cFwiLFwiaHR0cDJcIixcImh0dHBzXCIsXCJpbnNwZWN0b3JcIixcImluc3BlY3Rvci9wcm9taXNlc1wiLFwibW9kdWxlXCIsXCJuZXRcIixcIm9zXCIsXCJwYXRoXCIsXCJwYXRoL3Bvc2l4XCIsXCJwYXRoL3dpbjMyXCIsXCJwZXJmX2hvb2tzXCIsXCJwcm9jZXNzXCIsXCJwdW55Y29kZVwiLFwicXVlcnlzdHJpbmdcIixcInJlYWRsaW5lXCIsXCJyZWFkbGluZS9wcm9taXNlc1wiLFwicmVwbFwiLFwic3RyZWFtXCIsXCJzdHJlYW0vY29uc3VtZXJzXCIsXCJzdHJlYW0vcHJvbWlzZXNcIixcInN0cmVhbS93ZWJcIixcInN0cmluZ19kZWNvZGVyXCIsXCJzeXNcIixcInRlc3QvbW9ja19sb2FkZXJcIixcInRpbWVyc1wiLFwidGltZXJzL3Byb21pc2VzXCIsXCJ0bHNcIixcInRyYWNlX2V2ZW50c1wiLFwidHR5XCIsXCJ1cmxcIixcInV0aWxcIixcInV0aWwvdHlwZXNcIixcInY4XCIsXCJ2bVwiLFwid2FzaVwiLFwid29ya2VyX3RocmVhZHNcIixcInpsaWJcIl0sbTM9bmV3IFNldChxcCksRWI9bmV3IFNldChbXCJub2RlOnNlYVwiLFwibm9kZTpzcWxpdGVcIixcIm5vZGU6dGVzdFwiLFwibm9kZTp0ZXN0L3JlcG9ydGVyc1wiXSksaDM9bmV3IFNldChbLi4ucXAsLi4ucXAubWFwKGU9PmBub2RlOiR7ZX1gKSwuLi5FYl0pO2Z1bmN0aW9uIEFiKCl7bGV0IGUsdCxhLG8sbTtyZXR1cm57Y3JlYXRlQmFzZVNvdXJjZUZpbGVOb2RlOnYsY3JlYXRlQmFzZUlkZW50aWZpZXJOb2RlOkEsY3JlYXRlQmFzZVByaXZhdGVJZGVudGlmaWVyTm9kZTpQLGNyZWF0ZUJhc2VUb2tlbk5vZGU6bCxjcmVhdGVCYXNlTm9kZTpRfTtmdW5jdGlvbiB2KGgpe3JldHVybiBuZXcobXx8KG09QXQuZ2V0U291cmNlRmlsZUNvbnN0cnVjdG9yKCkpKShoLC0xLC0xKX1mdW5jdGlvbiBBKGgpe3JldHVybiBuZXcoYXx8KGE9QXQuZ2V0SWRlbnRpZmllckNvbnN0cnVjdG9yKCkpKShoLC0xLC0xKX1mdW5jdGlvbiBQKGgpe3JldHVybiBuZXcob3x8KG89QXQuZ2V0UHJpdmF0ZUlkZW50aWZpZXJDb25zdHJ1Y3RvcigpKSkoaCwtMSwtMSl9ZnVuY3Rpb24gbChoKXtyZXR1cm4gbmV3KHR8fCh0PUF0LmdldFRva2VuQ29uc3RydWN0b3IoKSkpKGgsLTEsLTEpfWZ1bmN0aW9uIFEoaCl7cmV0dXJuIG5ldyhlfHwoZT1BdC5nZXROb2RlQ29uc3RydWN0b3IoKSkpKGgsLTEsLTEpfX12YXIgQ2I9e2dldFBhcmVudGhlc2l6ZUxlZnRTaWRlT2ZCaW5hcnlGb3JPcGVyYXRvcjplPT5ndCxnZXRQYXJlbnRoZXNpemVSaWdodFNpZGVPZkJpbmFyeUZvck9wZXJhdG9yOmU9Pmd0LHBhcmVudGhlc2l6ZUxlZnRTaWRlT2ZCaW5hcnk6KGUsdCk9PnQscGFyZW50aGVzaXplUmlnaHRTaWRlT2ZCaW5hcnk6KGUsdCxhKT0+YSxwYXJlbnRoZXNpemVFeHByZXNzaW9uT2ZDb21wdXRlZFByb3BlcnR5TmFtZTpndCxwYXJlbnRoZXNpemVDb25kaXRpb25PZkNvbmRpdGlvbmFsRXhwcmVzc2lvbjpndCxwYXJlbnRoZXNpemVCcmFuY2hPZkNvbmRpdGlvbmFsRXhwcmVzc2lvbjpndCxwYXJlbnRoZXNpemVFeHByZXNzaW9uT2ZFeHBvcnREZWZhdWx0Omd0LHBhcmVudGhlc2l6ZUV4cHJlc3Npb25PZk5ldzplPT5rcihlLHFhKSxwYXJlbnRoZXNpemVMZWZ0U2lkZU9mQWNjZXNzOmU9PmtyKGUscWEpLHBhcmVudGhlc2l6ZU9wZXJhbmRPZlBvc3RmaXhVbmFyeTplPT5rcihlLHFhKSxwYXJlbnRoZXNpemVPcGVyYW5kT2ZQcmVmaXhVbmFyeTplPT5rcihlLFlnKSxwYXJlbnRoZXNpemVFeHByZXNzaW9uc09mQ29tbWFEZWxpbWl0ZWRMaXN0OmU9PmtyKGUsbWkpLHBhcmVudGhlc2l6ZUV4cHJlc3Npb25Gb3JEaXNhbGxvd2VkQ29tbWE6Z3QscGFyZW50aGVzaXplRXhwcmVzc2lvbk9mRXhwcmVzc2lvblN0YXRlbWVudDpndCxwYXJlbnRoZXNpemVDb25jaXNlQm9keU9mQXJyb3dGdW5jdGlvbjpndCxwYXJlbnRoZXNpemVDaGVja1R5cGVPZkNvbmRpdGlvbmFsVHlwZTpndCxwYXJlbnRoZXNpemVFeHRlbmRzVHlwZU9mQ29uZGl0aW9uYWxUeXBlOmd0LHBhcmVudGhlc2l6ZUNvbnN0aXR1ZW50VHlwZXNPZlVuaW9uVHlwZTplPT5rcihlLG1pKSxwYXJlbnRoZXNpemVDb25zdGl0dWVudFR5cGVPZlVuaW9uVHlwZTpndCxwYXJlbnRoZXNpemVDb25zdGl0dWVudFR5cGVzT2ZJbnRlcnNlY3Rpb25UeXBlOmU9PmtyKGUsbWkpLHBhcmVudGhlc2l6ZUNvbnN0aXR1ZW50VHlwZU9mSW50ZXJzZWN0aW9uVHlwZTpndCxwYXJlbnRoZXNpemVPcGVyYW5kT2ZUeXBlT3BlcmF0b3I6Z3QscGFyZW50aGVzaXplT3BlcmFuZE9mUmVhZG9ubHlUeXBlT3BlcmF0b3I6Z3QscGFyZW50aGVzaXplTm9uQXJyYXlUeXBlT2ZQb3N0Zml4VHlwZTpndCxwYXJlbnRoZXNpemVFbGVtZW50VHlwZXNPZlR1cGxlVHlwZTplPT5rcihlLG1pKSxwYXJlbnRoZXNpemVFbGVtZW50VHlwZU9mVHVwbGVUeXBlOmd0LHBhcmVudGhlc2l6ZVR5cGVPZk9wdGlvbmFsVHlwZTpndCxwYXJlbnRoZXNpemVUeXBlQXJndW1lbnRzOmU9PmUmJmtyKGUsbWkpLHBhcmVudGhlc2l6ZUxlYWRpbmdUeXBlQXJndW1lbnQ6Z3R9LHJsPTA7dmFyIERiPVtdO2Z1bmN0aW9uIHdmKGUsdCl7bGV0IGE9ZSY4P2d0Ok1iLG89d2QoKCk9PmUmMT9DYjpjcmVhdGVQYXJlbnRoZXNpemVyUnVsZXMoeWUpKSxtPXdkKCgpPT5lJjI/bnVsbE5vZGVDb252ZXJ0ZXJzOmNyZWF0ZU5vZGVDb252ZXJ0ZXJzKHllKSksdj1LbihuPT4oaSxfKT0+bGEoaSxuLF8pKSxBPUtuKG49Pmk9PmpyKG4saSkpLFA9S24obj0+aT0+bmkoaSxuKSksbD1LbihuPT4oKT0+WG8obikpLFE9S24obj0+aT0+Q18obixpKSksaD1LbihuPT4oaSxfKT0+eHUobixpLF8pKSx5PUtuKG49PihpLF8pPT4kbyhuLGksXykpLGc9S24obj0+KGksXyk9PlR1KG4saSxfKSkseD1LbihuPT4oaSxfKT0+ZGMobixpLF8pKSxJPUtuKG49PihpLF8sYyk9Pk91KG4saSxfLGMpKSxyZT1LbihuPT4oaSxfLGMpPT5tYyhuLGksXyxjKSksaGU9S24obj0+KGksXyxjLGYpPT5NdShuLGksXyxjLGYpKSx5ZT17Z2V0IHBhcmVudGhlc2l6ZXIoKXtyZXR1cm4gbygpfSxnZXQgY29udmVydGVycygpe3JldHVybiBtKCl9LGJhc2VGYWN0b3J5OnQsZmxhZ3M6ZSxjcmVhdGVOb2RlQXJyYXk6ZGUsY3JlYXRlTnVtZXJpY0xpdGVyYWw6VixjcmVhdGVCaWdJbnRMaXRlcmFsOm9lLGNyZWF0ZVN0cmluZ0xpdGVyYWw6ZHQsY3JlYXRlU3RyaW5nTGl0ZXJhbEZyb21Ob2RlOm5yLGNyZWF0ZVJlZ3VsYXJFeHByZXNzaW9uTGl0ZXJhbDpnbixjcmVhdGVMaXRlcmFsTGlrZU5vZGU6cnIsY3JlYXRlSWRlbnRpZmllcjpHZSxjcmVhdGVUZW1wVmFyaWFibGU6aXIsY3JlYXRlTG9vcFZhcmlhYmxlOlByLGNyZWF0ZVVuaXF1ZU5hbWU6T3QsZ2V0R2VuZXJhdGVkTmFtZUZvck5vZGU6Qm4sY3JlYXRlUHJpdmF0ZUlkZW50aWZpZXI6TXQsY3JlYXRlVW5pcXVlUHJpdmF0ZU5hbWU6UWUsZ2V0R2VuZXJhdGVkUHJpdmF0ZU5hbWVGb3JOb2RlOnFuLGNyZWF0ZVRva2VuOmN0LGNyZWF0ZVN1cGVyOl90LGNyZWF0ZVRoaXM6VXQsY3JlYXRlTnVsbDpKdCxjcmVhdGVUcnVlOmx0LGNyZWF0ZUZhbHNlOmFyLGNyZWF0ZU1vZGlmaWVyOm10LGNyZWF0ZU1vZGlmaWVyc0Zyb21Nb2RpZmllckZsYWdzOnZuLGNyZWF0ZVF1YWxpZmllZE5hbWU6eXQsdXBkYXRlUXVhbGlmaWVkTmFtZTpjbixjcmVhdGVDb21wdXRlZFByb3BlcnR5TmFtZTpudCx1cGRhdGVDb21wdXRlZFByb3BlcnR5TmFtZTpCdCxjcmVhdGVUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb246cm4sdXBkYXRlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uOl9yLGNyZWF0ZVBhcmFtZXRlckRlY2xhcmF0aW9uOmZyLHVwZGF0ZVBhcmFtZXRlckRlY2xhcmF0aW9uOmRyLGNyZWF0ZURlY29yYXRvcjp6bix1cGRhdGVEZWNvcmF0b3I6Rm4sY3JlYXRlUHJvcGVydHlTaWduYXR1cmU6TnIsdXBkYXRlUHJvcGVydHlTaWduYXR1cmU6Vm4sY3JlYXRlUHJvcGVydHlEZWNsYXJhdGlvbjptcix1cGRhdGVQcm9wZXJ0eURlY2xhcmF0aW9uOkwsY3JlYXRlTWV0aG9kU2lnbmF0dXJlOnNlLHVwZGF0ZU1ldGhvZFNpZ25hdHVyZTpmZSxjcmVhdGVNZXRob2REZWNsYXJhdGlvbjpUZSx1cGRhdGVNZXRob2REZWNsYXJhdGlvbjpYZSxjcmVhdGVDb25zdHJ1Y3RvckRlY2xhcmF0aW9uOnV0LHVwZGF0ZUNvbnN0cnVjdG9yRGVjbGFyYXRpb246SXIsY3JlYXRlR2V0QWNjZXNzb3JEZWNsYXJhdGlvbjpNbix1cGRhdGVHZXRBY2Nlc3NvckRlY2xhcmF0aW9uOlduLGNyZWF0ZVNldEFjY2Vzc29yRGVjbGFyYXRpb246Uix1cGRhdGVTZXRBY2Nlc3NvckRlY2xhcmF0aW9uOiQsY3JlYXRlQ2FsbFNpZ25hdHVyZTp4ZSx1cGRhdGVDYWxsU2lnbmF0dXJlOlNlLGNyZWF0ZUNvbnN0cnVjdFNpZ25hdHVyZTp3ZSx1cGRhdGVDb25zdHJ1Y3RTaWduYXR1cmU6YmUsY3JlYXRlSW5kZXhTaWduYXR1cmU6V2UsdXBkYXRlSW5kZXhTaWduYXR1cmU6WmUsY3JlYXRlQ2xhc3NTdGF0aWNCbG9ja0RlY2xhcmF0aW9uOnN0LHVwZGF0ZUNsYXNzU3RhdGljQmxvY2tEZWNsYXJhdGlvbjpEdCxjcmVhdGVUZW1wbGF0ZUxpdGVyYWxUeXBlU3BhbjpZZSx1cGRhdGVUZW1wbGF0ZUxpdGVyYWxUeXBlU3BhbjpFZSxjcmVhdGVLZXl3b3JkVHlwZU5vZGU6VG4sY3JlYXRlVHlwZVByZWRpY2F0ZU5vZGU6cnQsdXBkYXRlVHlwZVByZWRpY2F0ZU5vZGU6bG4sY3JlYXRlVHlwZVJlZmVyZW5jZU5vZGU6WnIsdXBkYXRlVHlwZVJlZmVyZW5jZU5vZGU6SixjcmVhdGVGdW5jdGlvblR5cGVOb2RlOnFlLHVwZGF0ZUZ1bmN0aW9uVHlwZU5vZGU6dSxjcmVhdGVDb25zdHJ1Y3RvclR5cGVOb2RlOk1lLHVwZGF0ZUNvbnN0cnVjdG9yVHlwZU5vZGU6YW4sY3JlYXRlVHlwZVF1ZXJ5Tm9kZTpQdCx1cGRhdGVUeXBlUXVlcnlOb2RlOmt0LGNyZWF0ZVR5cGVMaXRlcmFsTm9kZTpOdCx1cGRhdGVUeXBlTGl0ZXJhbE5vZGU6cXQsY3JlYXRlQXJyYXlUeXBlTm9kZTpHbix1cGRhdGVBcnJheVR5cGVOb2RlOndpLGNyZWF0ZVR1cGxlVHlwZU5vZGU6dW4sdXBkYXRlVHVwbGVUeXBlTm9kZTpHLGNyZWF0ZU5hbWVkVHVwbGVNZW1iZXI6bGUsdXBkYXRlTmFtZWRUdXBsZU1lbWJlcjpGZSxjcmVhdGVPcHRpb25hbFR5cGVOb2RlOnZlLHVwZGF0ZU9wdGlvbmFsVHlwZU5vZGU6aixjcmVhdGVSZXN0VHlwZU5vZGU6aHQsdXBkYXRlUmVzdFR5cGVOb2RlOnh0LGNyZWF0ZVVuaW9uVHlwZU5vZGU6VWwsdXBkYXRlVW5pb25UeXBlTm9kZTpFcyxjcmVhdGVJbnRlcnNlY3Rpb25UeXBlTm9kZTpPcix1cGRhdGVJbnRlcnNlY3Rpb25UeXBlTm9kZTpKZSxjcmVhdGVDb25kaXRpb25hbFR5cGVOb2RlOmZ0LHVwZGF0ZUNvbmRpdGlvbmFsVHlwZU5vZGU6QmwsY3JlYXRlSW5mZXJUeXBlTm9kZTpZbix1cGRhdGVJbmZlclR5cGVOb2RlOnFsLGNyZWF0ZUltcG9ydFR5cGVOb2RlOnNyLHVwZGF0ZUltcG9ydFR5cGVOb2RlOmlhLGNyZWF0ZVBhcmVudGhlc2l6ZWRUeXBlOlF0LHVwZGF0ZVBhcmVudGhlc2l6ZWRUeXBlOkN0LGNyZWF0ZVRoaXNUeXBlTm9kZTpELGNyZWF0ZVR5cGVPcGVyYXRvck5vZGU6R3QsdXBkYXRlVHlwZU9wZXJhdG9yTm9kZTpNcixjcmVhdGVJbmRleGVkQWNjZXNzVHlwZU5vZGU6b3IsdXBkYXRlSW5kZXhlZEFjY2Vzc1R5cGVOb2RlOkthLGNyZWF0ZU1hcHBlZFR5cGVOb2RlOlN0LHVwZGF0ZU1hcHBlZFR5cGVOb2RlOmp0LGNyZWF0ZUxpdGVyYWxUeXBlTm9kZTplaSx1cGRhdGVMaXRlcmFsVHlwZU5vZGU6eXIsY3JlYXRlVGVtcGxhdGVMaXRlcmFsVHlwZTpXdCx1cGRhdGVUZW1wbGF0ZUxpdGVyYWxUeXBlOnpsLGNyZWF0ZU9iamVjdEJpbmRpbmdQYXR0ZXJuOkFzLHVwZGF0ZU9iamVjdEJpbmRpbmdQYXR0ZXJuOkZsLGNyZWF0ZUFycmF5QmluZGluZ1BhdHRlcm46SnIsdXBkYXRlQXJyYXlCaW5kaW5nUGF0dGVybjpWbCxjcmVhdGVCaW5kaW5nRWxlbWVudDphYSx1cGRhdGVCaW5kaW5nRWxlbWVudDp0aSxjcmVhdGVBcnJheUxpdGVyYWxFeHByZXNzaW9uOlphLHVwZGF0ZUFycmF5TGl0ZXJhbEV4cHJlc3Npb246Q3MsY3JlYXRlT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb246a2ksdXBkYXRlT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb246V2wsY3JlYXRlUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOmUmND8obixpKT0+c2V0RW1pdEZsYWdzKGNyKG4saSksMjYyMTQ0KTpjcix1cGRhdGVQcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246R2wsY3JlYXRlUHJvcGVydHlBY2Nlc3NDaGFpbjplJjQ/KG4saSxfKT0+c2V0RW1pdEZsYWdzKEVpKG4saSxfKSwyNjIxNDQpOkVpLHVwZGF0ZVByb3BlcnR5QWNjZXNzQ2hhaW46X2EsY3JlYXRlRWxlbWVudEFjY2Vzc0V4cHJlc3Npb246QWksdXBkYXRlRWxlbWVudEFjY2Vzc0V4cHJlc3Npb246WWwsY3JlYXRlRWxlbWVudEFjY2Vzc0NoYWluOk5zLHVwZGF0ZUVsZW1lbnRBY2Nlc3NDaGFpbjplXyxjcmVhdGVDYWxsRXhwcmVzc2lvbjpDaSx1cGRhdGVDYWxsRXhwcmVzc2lvbjpzYSxjcmVhdGVDYWxsQ2hhaW46dF8sdXBkYXRlQ2FsbENoYWluOk9zLGNyZWF0ZU5ld0V4cHJlc3Npb246eG4sdXBkYXRlTmV3RXhwcmVzc2lvbjpuXyxjcmVhdGVUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb246b2EsdXBkYXRlVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uOk1zLGNyZWF0ZVR5cGVBc3NlcnRpb246SnMsdXBkYXRlVHlwZUFzc2VydGlvbjpMcyxjcmVhdGVQYXJlbnRoZXNpemVkRXhwcmVzc2lvbjpyXyx1cGRhdGVQYXJlbnRoZXNpemVkRXhwcmVzc2lvbjpqcyxjcmVhdGVGdW5jdGlvbkV4cHJlc3Npb246aV8sdXBkYXRlRnVuY3Rpb25FeHByZXNzaW9uOlJzLGNyZWF0ZUFycm93RnVuY3Rpb246YV8sdXBkYXRlQXJyb3dGdW5jdGlvbjpVcyxjcmVhdGVEZWxldGVFeHByZXNzaW9uOkJzLHVwZGF0ZURlbGV0ZUV4cHJlc3Npb246cXMsY3JlYXRlVHlwZU9mRXhwcmVzc2lvbjpjYSx1cGRhdGVUeXBlT2ZFeHByZXNzaW9uOmZuLGNyZWF0ZVZvaWRFeHByZXNzaW9uOl9fLHVwZGF0ZVZvaWRFeHByZXNzaW9uOmxyLGNyZWF0ZUF3YWl0RXhwcmVzc2lvbjp6cyx1cGRhdGVBd2FpdEV4cHJlc3Npb246THIsY3JlYXRlUHJlZml4VW5hcnlFeHByZXNzaW9uOmpyLHVwZGF0ZVByZWZpeFVuYXJ5RXhwcmVzc2lvbjpIbCxjcmVhdGVQb3N0Zml4VW5hcnlFeHByZXNzaW9uOm5pLHVwZGF0ZVBvc3RmaXhVbmFyeUV4cHJlc3Npb246WGwsY3JlYXRlQmluYXJ5RXhwcmVzc2lvbjpsYSx1cGRhdGVCaW5hcnlFeHByZXNzaW9uOiRsLGNyZWF0ZUNvbmRpdGlvbmFsRXhwcmVzc2lvbjpWcyx1cGRhdGVDb25kaXRpb25hbEV4cHJlc3Npb246V3MsY3JlYXRlVGVtcGxhdGVFeHByZXNzaW9uOkdzLHVwZGF0ZVRlbXBsYXRlRXhwcmVzc2lvbjpIbixjcmVhdGVUZW1wbGF0ZUhlYWQ6SHMsY3JlYXRlVGVtcGxhdGVNaWRkbGU6dWEsY3JlYXRlVGVtcGxhdGVUYWlsOnNfLGNyZWF0ZU5vU3Vic3RpdHV0aW9uVGVtcGxhdGVMaXRlcmFsOktsLGNyZWF0ZVRlbXBsYXRlTGl0ZXJhbExpa2VOb2RlOmlpLGNyZWF0ZVlpZWxkRXhwcmVzc2lvbjpvXyx1cGRhdGVZaWVsZEV4cHJlc3Npb246WmwsY3JlYXRlU3ByZWFkRWxlbWVudDpYcyx1cGRhdGVTcHJlYWRFbGVtZW50OmV1LGNyZWF0ZUNsYXNzRXhwcmVzc2lvbjokcyx1cGRhdGVDbGFzc0V4cHJlc3Npb246Y18sY3JlYXRlT21pdHRlZEV4cHJlc3Npb246bF8sY3JlYXRlRXhwcmVzc2lvbldpdGhUeXBlQXJndW1lbnRzOlFzLHVwZGF0ZUV4cHJlc3Npb25XaXRoVHlwZUFyZ3VtZW50czpLcyxjcmVhdGVBc0V4cHJlc3Npb246ZG4sdXBkYXRlQXNFeHByZXNzaW9uOnBhLGNyZWF0ZU5vbk51bGxFeHByZXNzaW9uOlpzLHVwZGF0ZU5vbk51bGxFeHByZXNzaW9uOmVvLGNyZWF0ZVNhdGlzZmllc0V4cHJlc3Npb246dV8sdXBkYXRlU2F0aXNmaWVzRXhwcmVzc2lvbjp0byxjcmVhdGVOb25OdWxsQ2hhaW46cF8sdXBkYXRlTm9uTnVsbENoYWluOkpuLGNyZWF0ZU1ldGFQcm9wZXJ0eTpubyx1cGRhdGVNZXRhUHJvcGVydHk6Zl8sY3JlYXRlVGVtcGxhdGVTcGFuOlhuLHVwZGF0ZVRlbXBsYXRlU3BhbjpmYSxjcmVhdGVTZW1pY29sb25DbGFzc0VsZW1lbnQ6cm8sY3JlYXRlQmxvY2s6UnIsdXBkYXRlQmxvY2s6dHUsY3JlYXRlVmFyaWFibGVTdGF0ZW1lbnQ6ZF8sdXBkYXRlVmFyaWFibGVTdGF0ZW1lbnQ6aW8sY3JlYXRlRW1wdHlTdGF0ZW1lbnQ6YW8sY3JlYXRlRXhwcmVzc2lvblN0YXRlbWVudDpQaSx1cGRhdGVFeHByZXNzaW9uU3RhdGVtZW50Ol9vLGNyZWF0ZUlmU3RhdGVtZW50OnNvLHVwZGF0ZUlmU3RhdGVtZW50Om9vLGNyZWF0ZURvU3RhdGVtZW50OmNvLHVwZGF0ZURvU3RhdGVtZW50OmxvLGNyZWF0ZVdoaWxlU3RhdGVtZW50OnVvLHVwZGF0ZVdoaWxlU3RhdGVtZW50Om51LGNyZWF0ZUZvclN0YXRlbWVudDpwbyx1cGRhdGVGb3JTdGF0ZW1lbnQ6Zm8sY3JlYXRlRm9ySW5TdGF0ZW1lbnQ6bV8sdXBkYXRlRm9ySW5TdGF0ZW1lbnQ6cnUsY3JlYXRlRm9yT2ZTdGF0ZW1lbnQ6bW8sdXBkYXRlRm9yT2ZTdGF0ZW1lbnQ6aXUsY3JlYXRlQ29udGludWVTdGF0ZW1lbnQ6aG8sdXBkYXRlQ29udGludWVTdGF0ZW1lbnQ6YXUsY3JlYXRlQnJlYWtTdGF0ZW1lbnQ6aF8sdXBkYXRlQnJlYWtTdGF0ZW1lbnQ6eW8sY3JlYXRlUmV0dXJuU3RhdGVtZW50OnlfLHVwZGF0ZVJldHVyblN0YXRlbWVudDpfdSxjcmVhdGVXaXRoU3RhdGVtZW50OmdfLHVwZGF0ZVdpdGhTdGF0ZW1lbnQ6Z28sY3JlYXRlU3dpdGNoU3RhdGVtZW50OmJfLHVwZGF0ZVN3aXRjaFN0YXRlbWVudDphaSxjcmVhdGVMYWJlbGVkU3RhdGVtZW50OmJvLHVwZGF0ZUxhYmVsZWRTdGF0ZW1lbnQ6dm8sY3JlYXRlVGhyb3dTdGF0ZW1lbnQ6VG8sdXBkYXRlVGhyb3dTdGF0ZW1lbnQ6c3UsY3JlYXRlVHJ5U3RhdGVtZW50OnhvLHVwZGF0ZVRyeVN0YXRlbWVudDpvdSxjcmVhdGVEZWJ1Z2dlclN0YXRlbWVudDpTbyxjcmVhdGVWYXJpYWJsZURlY2xhcmF0aW9uOmRhLHVwZGF0ZVZhcmlhYmxlRGVjbGFyYXRpb246d28sY3JlYXRlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3Q6dl8sdXBkYXRlVmFyaWFibGVEZWNsYXJhdGlvbkxpc3Q6Y3UsY3JlYXRlRnVuY3Rpb25EZWNsYXJhdGlvbjprbyx1cGRhdGVGdW5jdGlvbkRlY2xhcmF0aW9uOlRfLGNyZWF0ZUNsYXNzRGVjbGFyYXRpb246RW8sdXBkYXRlQ2xhc3NEZWNsYXJhdGlvbjptYSxjcmVhdGVJbnRlcmZhY2VEZWNsYXJhdGlvbjpBbyx1cGRhdGVJbnRlcmZhY2VEZWNsYXJhdGlvbjpDbyxjcmVhdGVUeXBlQWxpYXNEZWNsYXJhdGlvbjpvdCx1cGRhdGVUeXBlQWxpYXNEZWNsYXJhdGlvbjpncixjcmVhdGVFbnVtRGVjbGFyYXRpb246eF8sdXBkYXRlRW51bURlY2xhcmF0aW9uOmJyLGNyZWF0ZU1vZHVsZURlY2xhcmF0aW9uOkRvLHVwZGF0ZU1vZHVsZURlY2xhcmF0aW9uOkV0LGNyZWF0ZU1vZHVsZUJsb2NrOnZyLHVwZGF0ZU1vZHVsZUJsb2NrOnp0LGNyZWF0ZUNhc2VCbG9jazpQbyx1cGRhdGVDYXNlQmxvY2s6dXUsY3JlYXRlTmFtZXNwYWNlRXhwb3J0RGVjbGFyYXRpb246Tm8sdXBkYXRlTmFtZXNwYWNlRXhwb3J0RGVjbGFyYXRpb246SW8sY3JlYXRlSW1wb3J0RXF1YWxzRGVjbGFyYXRpb246T28sdXBkYXRlSW1wb3J0RXF1YWxzRGVjbGFyYXRpb246TW8sY3JlYXRlSW1wb3J0RGVjbGFyYXRpb246Sm8sdXBkYXRlSW1wb3J0RGVjbGFyYXRpb246TG8sY3JlYXRlSW1wb3J0Q2xhdXNlOmpvLHVwZGF0ZUltcG9ydENsYXVzZTpSbyxjcmVhdGVBc3NlcnRDbGF1c2U6U18sdXBkYXRlQXNzZXJ0Q2xhdXNlOmZ1LGNyZWF0ZUFzc2VydEVudHJ5Ok5pLHVwZGF0ZUFzc2VydEVudHJ5OlVvLGNyZWF0ZUltcG9ydFR5cGVBc3NlcnRpb25Db250YWluZXI6d18sdXBkYXRlSW1wb3J0VHlwZUFzc2VydGlvbkNvbnRhaW5lcjpCbyxjcmVhdGVJbXBvcnRBdHRyaWJ1dGVzOnFvLHVwZGF0ZUltcG9ydEF0dHJpYnV0ZXM6a18sY3JlYXRlSW1wb3J0QXR0cmlidXRlOnpvLHVwZGF0ZUltcG9ydEF0dHJpYnV0ZTpGbyxjcmVhdGVOYW1lc3BhY2VJbXBvcnQ6Vm8sdXBkYXRlTmFtZXNwYWNlSW1wb3J0OmR1LGNyZWF0ZU5hbWVzcGFjZUV4cG9ydDpXbyx1cGRhdGVOYW1lc3BhY2VFeHBvcnQ6bXUsY3JlYXRlTmFtZWRJbXBvcnRzOkdvLHVwZGF0ZU5hbWVkSW1wb3J0czpZbyxjcmVhdGVJbXBvcnRTcGVjaWZpZXI6VHIsdXBkYXRlSW1wb3J0U3BlY2lmaWVyOmh1LGNyZWF0ZUV4cG9ydEFzc2lnbm1lbnQ6aGEsdXBkYXRlRXhwb3J0QXNzaWdubWVudDpJaSxjcmVhdGVFeHBvcnREZWNsYXJhdGlvbjp5YSx1cGRhdGVFeHBvcnREZWNsYXJhdGlvbjpIbyxjcmVhdGVOYW1lZEV4cG9ydHM6RV8sdXBkYXRlTmFtZWRFeHBvcnRzOnl1LGNyZWF0ZUV4cG9ydFNwZWNpZmllcjpnYSx1cGRhdGVFeHBvcnRTcGVjaWZpZXI6Z3UsY3JlYXRlTWlzc2luZ0RlY2xhcmF0aW9uOmJ1LGNyZWF0ZUV4dGVybmFsTW9kdWxlUmVmZXJlbmNlOkFfLHVwZGF0ZUV4dGVybmFsTW9kdWxlUmVmZXJlbmNlOnZ1LGdldCBjcmVhdGVKU0RvY0FsbFR5cGUoKXtyZXR1cm4gbCgzMTIpfSxnZXQgY3JlYXRlSlNEb2NVbmtub3duVHlwZSgpe3JldHVybiBsKDMxMyl9LGdldCBjcmVhdGVKU0RvY05vbk51bGxhYmxlVHlwZSgpe3JldHVybiB5KDMxNSl9LGdldCB1cGRhdGVKU0RvY05vbk51bGxhYmxlVHlwZSgpe3JldHVybiBnKDMxNSl9LGdldCBjcmVhdGVKU0RvY051bGxhYmxlVHlwZSgpe3JldHVybiB5KDMxNCl9LGdldCB1cGRhdGVKU0RvY051bGxhYmxlVHlwZSgpe3JldHVybiBnKDMxNCl9LGdldCBjcmVhdGVKU0RvY09wdGlvbmFsVHlwZSgpe3JldHVybiBRKDMxNil9LGdldCB1cGRhdGVKU0RvY09wdGlvbmFsVHlwZSgpe3JldHVybiBoKDMxNil9LGdldCBjcmVhdGVKU0RvY1ZhcmlhZGljVHlwZSgpe3JldHVybiBRKDMxOCl9LGdldCB1cGRhdGVKU0RvY1ZhcmlhZGljVHlwZSgpe3JldHVybiBoKDMxOCl9LGdldCBjcmVhdGVKU0RvY05hbWVwYXRoVHlwZSgpe3JldHVybiBRKDMxOSl9LGdldCB1cGRhdGVKU0RvY05hbWVwYXRoVHlwZSgpe3JldHVybiBoKDMxOSl9LGNyZWF0ZUpTRG9jRnVuY3Rpb25UeXBlOlFvLHVwZGF0ZUpTRG9jRnVuY3Rpb25UeXBlOlN1LGNyZWF0ZUpTRG9jVHlwZUxpdGVyYWw6S28sdXBkYXRlSlNEb2NUeXBlTGl0ZXJhbDp3dSxjcmVhdGVKU0RvY1R5cGVFeHByZXNzaW9uOlpvLHVwZGF0ZUpTRG9jVHlwZUV4cHJlc3Npb246RF8sY3JlYXRlSlNEb2NTaWduYXR1cmU6ZWMsdXBkYXRlSlNEb2NTaWduYXR1cmU6a3UsY3JlYXRlSlNEb2NUZW1wbGF0ZVRhZzpQXyx1cGRhdGVKU0RvY1RlbXBsYXRlVGFnOnRjLGNyZWF0ZUpTRG9jVHlwZWRlZlRhZzpiYSx1cGRhdGVKU0RvY1R5cGVkZWZUYWc6RXUsY3JlYXRlSlNEb2NQYXJhbWV0ZXJUYWc6Tl8sdXBkYXRlSlNEb2NQYXJhbWV0ZXJUYWc6QXUsY3JlYXRlSlNEb2NQcm9wZXJ0eVRhZzpuYyx1cGRhdGVKU0RvY1Byb3BlcnR5VGFnOnJjLGNyZWF0ZUpTRG9jQ2FsbGJhY2tUYWc6aWMsdXBkYXRlSlNEb2NDYWxsYmFja1RhZzphYyxjcmVhdGVKU0RvY092ZXJsb2FkVGFnOl9jLHVwZGF0ZUpTRG9jT3ZlcmxvYWRUYWc6SV8sY3JlYXRlSlNEb2NBdWdtZW50c1RhZzpPXyx1cGRhdGVKU0RvY0F1Z21lbnRzVGFnOk1pLGNyZWF0ZUpTRG9jSW1wbGVtZW50c1RhZzpzYyx1cGRhdGVKU0RvY0ltcGxlbWVudHNUYWc6SXUsY3JlYXRlSlNEb2NTZWVUYWc6QnIsdXBkYXRlSlNEb2NTZWVUYWc6dmEsY3JlYXRlSlNEb2NJbXBvcnRUYWc6Z2MsdXBkYXRlSlNEb2NJbXBvcnRUYWc6YmMsY3JlYXRlSlNEb2NOYW1lUmVmZXJlbmNlOm9jLHVwZGF0ZUpTRG9jTmFtZVJlZmVyZW5jZTpDdSxjcmVhdGVKU0RvY01lbWJlck5hbWU6Y2MsdXBkYXRlSlNEb2NNZW1iZXJOYW1lOkR1LGNyZWF0ZUpTRG9jTGluazpsYyx1cGRhdGVKU0RvY0xpbms6dWMsY3JlYXRlSlNEb2NMaW5rQ29kZTpwYyx1cGRhdGVKU0RvY0xpbmtDb2RlOlB1LGNyZWF0ZUpTRG9jTGlua1BsYWluOmZjLHVwZGF0ZUpTRG9jTGlua1BsYWluOk51LGdldCBjcmVhdGVKU0RvY1R5cGVUYWcoKXtyZXR1cm4gcmUoMzQ0KX0sZ2V0IHVwZGF0ZUpTRG9jVHlwZVRhZygpe3JldHVybiBoZSgzNDQpfSxnZXQgY3JlYXRlSlNEb2NSZXR1cm5UYWcoKXtyZXR1cm4gcmUoMzQyKX0sZ2V0IHVwZGF0ZUpTRG9jUmV0dXJuVGFnKCl7cmV0dXJuIGhlKDM0Mil9LGdldCBjcmVhdGVKU0RvY1RoaXNUYWcoKXtyZXR1cm4gcmUoMzQzKX0sZ2V0IHVwZGF0ZUpTRG9jVGhpc1RhZygpe3JldHVybiBoZSgzNDMpfSxnZXQgY3JlYXRlSlNEb2NBdXRob3JUYWcoKXtyZXR1cm4geCgzMzApfSxnZXQgdXBkYXRlSlNEb2NBdXRob3JUYWcoKXtyZXR1cm4gSSgzMzApfSxnZXQgY3JlYXRlSlNEb2NDbGFzc1RhZygpe3JldHVybiB4KDMzMil9LGdldCB1cGRhdGVKU0RvY0NsYXNzVGFnKCl7cmV0dXJuIEkoMzMyKX0sZ2V0IGNyZWF0ZUpTRG9jUHVibGljVGFnKCl7cmV0dXJuIHgoMzMzKX0sZ2V0IHVwZGF0ZUpTRG9jUHVibGljVGFnKCl7cmV0dXJuIEkoMzMzKX0sZ2V0IGNyZWF0ZUpTRG9jUHJpdmF0ZVRhZygpe3JldHVybiB4KDMzNCl9LGdldCB1cGRhdGVKU0RvY1ByaXZhdGVUYWcoKXtyZXR1cm4gSSgzMzQpfSxnZXQgY3JlYXRlSlNEb2NQcm90ZWN0ZWRUYWcoKXtyZXR1cm4geCgzMzUpfSxnZXQgdXBkYXRlSlNEb2NQcm90ZWN0ZWRUYWcoKXtyZXR1cm4gSSgzMzUpfSxnZXQgY3JlYXRlSlNEb2NSZWFkb25seVRhZygpe3JldHVybiB4KDMzNil9LGdldCB1cGRhdGVKU0RvY1JlYWRvbmx5VGFnKCl7cmV0dXJuIEkoMzM2KX0sZ2V0IGNyZWF0ZUpTRG9jT3ZlcnJpZGVUYWcoKXtyZXR1cm4geCgzMzcpfSxnZXQgdXBkYXRlSlNEb2NPdmVycmlkZVRhZygpe3JldHVybiBJKDMzNyl9LGdldCBjcmVhdGVKU0RvY0RlcHJlY2F0ZWRUYWcoKXtyZXR1cm4geCgzMzEpfSxnZXQgdXBkYXRlSlNEb2NEZXByZWNhdGVkVGFnKCl7cmV0dXJuIEkoMzMxKX0sZ2V0IGNyZWF0ZUpTRG9jVGhyb3dzVGFnKCl7cmV0dXJuIHJlKDM0OSl9LGdldCB1cGRhdGVKU0RvY1Rocm93c1RhZygpe3JldHVybiBoZSgzNDkpfSxnZXQgY3JlYXRlSlNEb2NTYXRpc2ZpZXNUYWcoKXtyZXR1cm4gcmUoMzUwKX0sZ2V0IHVwZGF0ZUpTRG9jU2F0aXNmaWVzVGFnKCl7cmV0dXJuIGhlKDM1MCl9LGNyZWF0ZUpTRG9jRW51bVRhZzp5Yyx1cGRhdGVKU0RvY0VudW1UYWc6TV8sY3JlYXRlSlNEb2NVbmtub3duVGFnOmhjLHVwZGF0ZUpTRG9jVW5rbm93blRhZzpKdSxjcmVhdGVKU0RvY1RleHQ6Sl8sdXBkYXRlSlNEb2NUZXh0Okx1LGNyZWF0ZUpTRG9jQ29tbWVudDpKaSx1cGRhdGVKU0RvY0NvbW1lbnQ6dmMsY3JlYXRlSnN4RWxlbWVudDpUYyx1cGRhdGVKc3hFbGVtZW50Omp1LGNyZWF0ZUpzeFNlbGZDbG9zaW5nRWxlbWVudDp4Yyx1cGRhdGVKc3hTZWxmQ2xvc2luZ0VsZW1lbnQ6TF8sY3JlYXRlSnN4T3BlbmluZ0VsZW1lbnQ6al8sdXBkYXRlSnN4T3BlbmluZ0VsZW1lbnQ6U2MsY3JlYXRlSnN4Q2xvc2luZ0VsZW1lbnQ6VGEsdXBkYXRlSnN4Q2xvc2luZ0VsZW1lbnQ6S3QsY3JlYXRlSnN4RnJhZ21lbnQ6Ul8sY3JlYXRlSnN4VGV4dDp4YSx1cGRhdGVKc3hUZXh0OmtjLGNyZWF0ZUpzeE9wZW5pbmdGcmFnbWVudDpSdSxjcmVhdGVKc3hKc3hDbG9zaW5nRnJhZ21lbnQ6VXUsdXBkYXRlSnN4RnJhZ21lbnQ6d2MsY3JlYXRlSnN4QXR0cmlidXRlOkVjLHVwZGF0ZUpzeEF0dHJpYnV0ZTpTYSxjcmVhdGVKc3hBdHRyaWJ1dGVzOkFjLHVwZGF0ZUpzeEF0dHJpYnV0ZXM6QnUsY3JlYXRlSnN4U3ByZWFkQXR0cmlidXRlOkNjLHVwZGF0ZUpzeFNwcmVhZEF0dHJpYnV0ZTpxdSxjcmVhdGVKc3hFeHByZXNzaW9uOndhLHVwZGF0ZUpzeEV4cHJlc3Npb246TGksY3JlYXRlSnN4TmFtZXNwYWNlZE5hbWU6RGMsdXBkYXRlSnN4TmFtZXNwYWNlZE5hbWU6VV8sY3JlYXRlQ2FzZUNsYXVzZTpCXyx1cGRhdGVDYXNlQ2xhdXNlOnp1LGNyZWF0ZURlZmF1bHRDbGF1c2U6X2ksdXBkYXRlRGVmYXVsdENsYXVzZTpQYyxjcmVhdGVIZXJpdGFnZUNsYXVzZTpOYyx1cGRhdGVIZXJpdGFnZUNsYXVzZTpGdSxjcmVhdGVDYXRjaENsYXVzZTpxXyx1cGRhdGVDYXRjaENsYXVzZTpJYyxjcmVhdGVQcm9wZXJ0eUFzc2lnbm1lbnQ6a2EsdXBkYXRlUHJvcGVydHlBc3NpZ25tZW50OnFyLGNyZWF0ZVNob3J0aGFuZFByb3BlcnR5QXNzaWdubWVudDpPYyx1cGRhdGVTaG9ydGhhbmRQcm9wZXJ0eUFzc2lnbm1lbnQ6V3UsY3JlYXRlU3ByZWFkQXNzaWdubWVudDp6Xyx1cGRhdGVTcHJlYWRBc3NpZ25tZW50Ok1jLGNyZWF0ZUVudW1NZW1iZXI6d24sdXBkYXRlRW51bU1lbWJlcjpKYyxjcmVhdGVTb3VyY2VGaWxlOll1LHVwZGF0ZVNvdXJjZUZpbGU6JHUsY3JlYXRlUmVkaXJlY3RlZFNvdXJjZUZpbGU6TGMsY3JlYXRlQnVuZGxlOkZfLHVwZGF0ZUJ1bmRsZTpRdSxjcmVhdGVTeW50aGV0aWNFeHByZXNzaW9uOkt1LGNyZWF0ZVN5bnRheExpc3Q6QWEsY3JlYXRlTm90RW1pdHRlZFN0YXRlbWVudDpSYyxjcmVhdGVOb3RFbWl0dGVkVHlwZUVsZW1lbnQ6WnUsY3JlYXRlUGFydGlhbGx5RW1pdHRlZEV4cHJlc3Npb246VWMsdXBkYXRlUGFydGlhbGx5RW1pdHRlZEV4cHJlc3Npb246QmMsY3JlYXRlQ29tbWFMaXN0RXhwcmVzc2lvbjpWXyx1cGRhdGVDb21tYUxpc3RFeHByZXNzaW9uOnFjLGNyZWF0ZVN5bnRoZXRpY1JlZmVyZW5jZUV4cHJlc3Npb246V18sdXBkYXRlU3ludGhldGljUmVmZXJlbmNlRXhwcmVzc2lvbjp6YyxjbG9uZU5vZGU6R18sZ2V0IGNyZWF0ZUNvbW1hKCl7cmV0dXJuIHYoMjgpfSxnZXQgY3JlYXRlQXNzaWdubWVudCgpe3JldHVybiB2KDY0KX0sZ2V0IGNyZWF0ZUxvZ2ljYWxPcigpe3JldHVybiB2KDU3KX0sZ2V0IGNyZWF0ZUxvZ2ljYWxBbmQoKXtyZXR1cm4gdig1Nil9LGdldCBjcmVhdGVCaXR3aXNlT3IoKXtyZXR1cm4gdig1Mil9LGdldCBjcmVhdGVCaXR3aXNlWG9yKCl7cmV0dXJuIHYoNTMpfSxnZXQgY3JlYXRlQml0d2lzZUFuZCgpe3JldHVybiB2KDUxKX0sZ2V0IGNyZWF0ZVN0cmljdEVxdWFsaXR5KCl7cmV0dXJuIHYoMzcpfSxnZXQgY3JlYXRlU3RyaWN0SW5lcXVhbGl0eSgpe3JldHVybiB2KDM4KX0sZ2V0IGNyZWF0ZUVxdWFsaXR5KCl7cmV0dXJuIHYoMzUpfSxnZXQgY3JlYXRlSW5lcXVhbGl0eSgpe3JldHVybiB2KDM2KX0sZ2V0IGNyZWF0ZUxlc3NUaGFuKCl7cmV0dXJuIHYoMzApfSxnZXQgY3JlYXRlTGVzc1RoYW5FcXVhbHMoKXtyZXR1cm4gdigzMyl9LGdldCBjcmVhdGVHcmVhdGVyVGhhbigpe3JldHVybiB2KDMyKX0sZ2V0IGNyZWF0ZUdyZWF0ZXJUaGFuRXF1YWxzKCl7cmV0dXJuIHYoMzQpfSxnZXQgY3JlYXRlTGVmdFNoaWZ0KCl7cmV0dXJuIHYoNDgpfSxnZXQgY3JlYXRlUmlnaHRTaGlmdCgpe3JldHVybiB2KDQ5KX0sZ2V0IGNyZWF0ZVVuc2lnbmVkUmlnaHRTaGlmdCgpe3JldHVybiB2KDUwKX0sZ2V0IGNyZWF0ZUFkZCgpe3JldHVybiB2KDQwKX0sZ2V0IGNyZWF0ZVN1YnRyYWN0KCl7cmV0dXJuIHYoNDEpfSxnZXQgY3JlYXRlTXVsdGlwbHkoKXtyZXR1cm4gdig0Mil9LGdldCBjcmVhdGVEaXZpZGUoKXtyZXR1cm4gdig0NCl9LGdldCBjcmVhdGVNb2R1bG8oKXtyZXR1cm4gdig0NSl9LGdldCBjcmVhdGVFeHBvbmVudCgpe3JldHVybiB2KDQzKX0sZ2V0IGNyZWF0ZVByZWZpeFBsdXMoKXtyZXR1cm4gQSg0MCl9LGdldCBjcmVhdGVQcmVmaXhNaW51cygpe3JldHVybiBBKDQxKX0sZ2V0IGNyZWF0ZVByZWZpeEluY3JlbWVudCgpe3JldHVybiBBKDQ2KX0sZ2V0IGNyZWF0ZVByZWZpeERlY3JlbWVudCgpe3JldHVybiBBKDQ3KX0sZ2V0IGNyZWF0ZUJpdHdpc2VOb3QoKXtyZXR1cm4gQSg1NSl9LGdldCBjcmVhdGVMb2dpY2FsTm90KCl7cmV0dXJuIEEoNTQpfSxnZXQgY3JlYXRlUG9zdGZpeEluY3JlbWVudCgpe3JldHVybiBQKDQ2KX0sZ2V0IGNyZWF0ZVBvc3RmaXhEZWNyZW1lbnQoKXtyZXR1cm4gUCg0Nyl9LGNyZWF0ZUltbWVkaWF0ZWx5SW52b2tlZEZ1bmN0aW9uRXhwcmVzc2lvbjpycCxjcmVhdGVJbW1lZGlhdGVseUludm9rZWRBcnJvd0Z1bmN0aW9uOmlwLGNyZWF0ZVZvaWRaZXJvOnNpLGNyZWF0ZUV4cG9ydERlZmF1bHQ6V2MsY3JlYXRlRXh0ZXJuYWxNb2R1bGVFeHBvcnQ6YXAsY3JlYXRlVHlwZUNoZWNrOllfLGNyZWF0ZUlzTm90VHlwZUNoZWNrOl9wLGNyZWF0ZU1ldGhvZENhbGw6enIsY3JlYXRlR2xvYmFsTWV0aG9kQ2FsbDpqaSxjcmVhdGVGdW5jdGlvbkJpbmRDYWxsOnNwLGNyZWF0ZUZ1bmN0aW9uQ2FsbENhbGw6b3AsY3JlYXRlRnVuY3Rpb25BcHBseUNhbGw6Y3AsY3JlYXRlQXJyYXlTbGljZUNhbGw6UmksY3JlYXRlQXJyYXlDb25jYXRDYWxsOmxwLGNyZWF0ZU9iamVjdERlZmluZVByb3BlcnR5Q2FsbDpIXyxjcmVhdGVPYmplY3RHZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JDYWxsOm9pLGNyZWF0ZVJlZmxlY3RHZXRDYWxsOkdjLGNyZWF0ZVJlZmxlY3RTZXRDYWxsOnVwLGNyZWF0ZVByb3BlcnR5RGVzY3JpcHRvcjpZYyxjcmVhdGVDYWxsQmluZGluZzpYYyxjcmVhdGVBc3NpZ25tZW50VGFyZ2V0V3JhcHBlcjpzLGlubGluZUV4cHJlc3Npb25zOnAsZ2V0SW50ZXJuYWxOYW1lOmIsZ2V0TG9jYWxOYW1lOlMsZ2V0RXhwb3J0TmFtZTpOLGdldERlY2xhcmF0aW9uTmFtZTpYLGdldE5hbWVzcGFjZU1lbWJlck5hbWU6X2UsZ2V0RXh0ZXJuYWxNb2R1bGVPck5hbWVzcGFjZUV4cG9ydE5hbWU6WixyZXN0b3JlT3V0ZXJFeHByZXNzaW9uczpIYyxyZXN0b3JlRW5jbG9zaW5nTGFiZWw6WF8sY3JlYXRlVXNlU3RyaWN0UHJvbG9ndWU6TGUsY29weVByb2xvZ3VlOmVlLGNvcHlTdGFuZGFyZFByb2xvZ3VlOmplLGNvcHlDdXN0b21Qcm9sb2d1ZTpBZSxlbnN1cmVVc2VTdHJpY3Q6WXQsbGlmdFRvQmxvY2s6bW4sbWVyZ2VMZXhpY2FsRW52aXJvbm1lbnQ6dXIscmVwbGFjZU1vZGlmaWVyczpMbixyZXBsYWNlRGVjb3JhdG9yc0FuZE1vZGlmaWVyczpGcixyZXBsYWNlUHJvcGVydHlOYW1lOmRwfTtyZXR1cm4gVW4oRGIsbj0+bih5ZSkpLHllO2Z1bmN0aW9uIGRlKG4saSl7aWYobj09PXZvaWQgMHx8bj09PWJ0KW49W107ZWxzZSBpZihtaShuKSl7aWYoaT09PXZvaWQgMHx8bi5oYXNUcmFpbGluZ0NvbW1hPT09aSlyZXR1cm4gbi50cmFuc2Zvcm1GbGFncz09PXZvaWQgMCYmWGQobiksQi5hdHRhY2hOb2RlQXJyYXlEZWJ1Z0luZm8obiksbjtsZXQgZj1uLnNsaWNlKCk7cmV0dXJuIGYucG9zPW4ucG9zLGYuZW5kPW4uZW5kLGYuaGFzVHJhaWxpbmdDb21tYT1pLGYudHJhbnNmb3JtRmxhZ3M9bi50cmFuc2Zvcm1GbGFncyxCLmF0dGFjaE5vZGVBcnJheURlYnVnSW5mbyhmKSxmfWxldCBfPW4ubGVuZ3RoLGM9Xz49MSYmXzw9ND9uLnNsaWNlKCk6bjtyZXR1cm4gYy5wb3M9LTEsYy5lbmQ9LTEsYy5oYXNUcmFpbGluZ0NvbW1hPSEhaSxjLnRyYW5zZm9ybUZsYWdzPTAsWGQoYyksQi5hdHRhY2hOb2RlQXJyYXlEZWJ1Z0luZm8oYyksY31mdW5jdGlvbiBNKG4pe3JldHVybiB0LmNyZWF0ZUJhc2VOb2RlKG4pfWZ1bmN0aW9uIGFlKG4pe2xldCBpPU0obik7cmV0dXJuIGkuc3ltYm9sPXZvaWQgMCxpLmxvY2FsU3ltYm9sPXZvaWQgMCxpfWZ1bmN0aW9uIE9lKG4saSl7cmV0dXJuIG4hPT1pJiYobi50eXBlQXJndW1lbnRzPWkudHlwZUFyZ3VtZW50cykscShuLGkpfWZ1bmN0aW9uIFYobixpPTApe2xldCBfPXR5cGVvZiBuPT1cIm51bWJlclwiP24rXCJcIjpuO0IuYXNzZXJ0KF8uY2hhckNvZGVBdCgwKSE9PTQ1LFwiTmVnYXRpdmUgbnVtYmVycyBzaG91bGQgYmUgY3JlYXRlZCBpbiBjb21iaW5hdGlvbiB3aXRoIGNyZWF0ZVByZWZpeFVuYXJ5RXhwcmVzc2lvblwiKTtsZXQgYz1hZSg5KTtyZXR1cm4gYy50ZXh0PV8sYy5udW1lcmljTGl0ZXJhbEZsYWdzPWksaSYzODQmJihjLnRyYW5zZm9ybUZsYWdzfD0xMDI0KSxjfWZ1bmN0aW9uIG9lKG4pe2xldCBpPSR0KDEwKTtyZXR1cm4gaS50ZXh0PXR5cGVvZiBuPT1cInN0cmluZ1wiP246dmIobikrXCJuXCIsaS50cmFuc2Zvcm1GbGFnc3w9MzIsaX1mdW5jdGlvbiBXKG4saSl7bGV0IF89YWUoMTEpO3JldHVybiBfLnRleHQ9bixfLnNpbmdsZVF1b3RlPWksX31mdW5jdGlvbiBkdChuLGksXyl7bGV0IGM9VyhuLGkpO3JldHVybiBjLmhhc0V4dGVuZGVkVW5pY29kZUVzY2FwZT1fLF8mJihjLnRyYW5zZm9ybUZsYWdzfD0xMDI0KSxjfWZ1bmN0aW9uIG5yKG4pe2xldCBpPVcoTDIobiksdm9pZCAwKTtyZXR1cm4gaS50ZXh0U291cmNlTm9kZT1uLGl9ZnVuY3Rpb24gZ24obil7bGV0IGk9JHQoMTQpO3JldHVybiBpLnRleHQ9bixpfWZ1bmN0aW9uIHJyKG4saSl7c3dpdGNoKG4pe2Nhc2UgOTpyZXR1cm4gVihpLDApO2Nhc2UgMTA6cmV0dXJuIG9lKGkpO2Nhc2UgMTE6cmV0dXJuIGR0KGksdm9pZCAwKTtjYXNlIDEyOnJldHVybiB4YShpLCExKTtjYXNlIDEzOnJldHVybiB4YShpLCEwKTtjYXNlIDE0OnJldHVybiBnbihpKTtjYXNlIDE1OnJldHVybiBpaShuLGksdm9pZCAwLDApfX1mdW5jdGlvbiBibihuKXtsZXQgaT10LmNyZWF0ZUJhc2VJZGVudGlmaWVyTm9kZSg4MCk7cmV0dXJuIGkuZXNjYXBlZFRleHQ9bixpLmpzRG9jPXZvaWQgMCxpLmZsb3dOb2RlPXZvaWQgMCxpLnN5bWJvbD12b2lkIDAsaX1mdW5jdGlvbiBJbihuLGksXyxjKXtsZXQgZj1ibihKYShuKSk7cmV0dXJuIHNldElkZW50aWZpZXJBdXRvR2VuZXJhdGUoZix7ZmxhZ3M6aSxpZDpybCxwcmVmaXg6XyxzdWZmaXg6Y30pLHJsKyssZn1mdW5jdGlvbiBHZShuLGksXyl7aT09PXZvaWQgMCYmbiYmKGk9Rm0obikpLGk9PT04MCYmKGk9dm9pZCAwKTtsZXQgYz1ibihKYShuKSk7cmV0dXJuIF8mJihjLmZsYWdzfD0yNTYpLGMuZXNjYXBlZFRleHQ9PT1cImF3YWl0XCImJihjLnRyYW5zZm9ybUZsYWdzfD02NzEwODg2NCksYy5mbGFncyYyNTYmJihjLnRyYW5zZm9ybUZsYWdzfD0xMDI0KSxjfWZ1bmN0aW9uIGlyKG4saSxfLGMpe2xldCBmPTE7aSYmKGZ8PTgpO2xldCB3PUluKFwiXCIsZixfLGMpO3JldHVybiBuJiZuKHcpLHd9ZnVuY3Rpb24gUHIobil7bGV0IGk9MjtyZXR1cm4gbiYmKGl8PTgpLEluKFwiXCIsaSx2b2lkIDAsdm9pZCAwKX1mdW5jdGlvbiBPdChuLGk9MCxfLGMpe3JldHVybiBCLmFzc2VydCghKGkmNyksXCJBcmd1bWVudCBvdXQgb2YgcmFuZ2U6IGZsYWdzXCIpLEIuYXNzZXJ0KChpJjQ4KSE9PTMyLFwiR2VuZXJhdGVkSWRlbnRpZmllckZsYWdzLkZpbGVMZXZlbCBjYW5ub3QgYmUgc2V0IHdpdGhvdXQgYWxzbyBzZXR0aW5nIEdlbmVyYXRlZElkZW50aWZpZXJGbGFncy5PcHRpbWlzdGljXCIpLEluKG4sM3xpLF8sYyl9ZnVuY3Rpb24gQm4obixpPTAsXyxjKXtCLmFzc2VydCghKGkmNyksXCJBcmd1bWVudCBvdXQgb2YgcmFuZ2U6IGZsYWdzXCIpO2xldCBmPW4/anAobik/VnAoITEsXyxuLGMsUG4pOmBnZW5lcmF0ZWRAJHtnZXROb2RlSWQobil9YDpcIlwiOyhffHxjKSYmKGl8PTE2KTtsZXQgdz1JbihmLDR8aSxfLGMpO3JldHVybiB3Lm9yaWdpbmFsPW4sd31mdW5jdGlvbiBPbihuKXtsZXQgaT10LmNyZWF0ZUJhc2VQcml2YXRlSWRlbnRpZmllck5vZGUoODEpO3JldHVybiBpLmVzY2FwZWRUZXh0PW4saS50cmFuc2Zvcm1GbGFnc3w9MTY3NzcyMTYsaX1mdW5jdGlvbiBNdChuKXtyZXR1cm4gdWwobixcIiNcIil8fEIuZmFpbChcIkZpcnN0IGNoYXJhY3RlciBvZiBwcml2YXRlIGlkZW50aWZpZXIgbXVzdCBiZSAjOiBcIituKSxPbihKYShuKSl9ZnVuY3Rpb24gdnQobixpLF8sYyl7bGV0IGY9T24oSmEobikpO3JldHVybiBzZXRJZGVudGlmaWVyQXV0b0dlbmVyYXRlKGYse2ZsYWdzOmksaWQ6cmwscHJlZml4Ol8sc3VmZml4OmN9KSxybCsrLGZ9ZnVuY3Rpb24gUWUobixpLF8pe24mJiF1bChuLFwiI1wiKSYmQi5mYWlsKFwiRmlyc3QgY2hhcmFjdGVyIG9mIHByaXZhdGUgaWRlbnRpZmllciBtdXN0IGJlICM6IFwiK24pO2xldCBjPTh8KG4/MzoxKTtyZXR1cm4gdnQobj8/XCJcIixjLGksXyl9ZnVuY3Rpb24gcW4obixpLF8pe2xldCBjPWpwKG4pP1ZwKCEwLGksbixfLFBuKTpgI2dlbmVyYXRlZEAke2dldE5vZGVJZChuKX1gLHc9dnQoYyw0fChpfHxfPzE2OjApLGksXyk7cmV0dXJuIHcub3JpZ2luYWw9bix3fWZ1bmN0aW9uICR0KG4pe3JldHVybiB0LmNyZWF0ZUJhc2VUb2tlbk5vZGUobil9ZnVuY3Rpb24gY3Qobil7Qi5hc3NlcnQobj49MCYmbjw9MTY1LFwiSW52YWxpZCB0b2tlblwiKSxCLmFzc2VydChuPD0xNXx8bj49MTgsXCJJbnZhbGlkIHRva2VuLiBVc2UgJ2NyZWF0ZVRlbXBsYXRlTGl0ZXJhbExpa2VOb2RlJyB0byBjcmVhdGUgdGVtcGxhdGUgbGl0ZXJhbHMuXCIpLEIuYXNzZXJ0KG48PTl8fG4+PTE1LFwiSW52YWxpZCB0b2tlbi4gVXNlICdjcmVhdGVMaXRlcmFsTGlrZU5vZGUnIHRvIGNyZWF0ZSBsaXRlcmFscy5cIiksQi5hc3NlcnQobiE9PTgwLFwiSW52YWxpZCB0b2tlbi4gVXNlICdjcmVhdGVJZGVudGlmaWVyJyB0byBjcmVhdGUgaWRlbnRpZmllcnNcIik7bGV0IGk9JHQobiksXz0wO3N3aXRjaChuKXtjYXNlIDEzNDpfPTM4NDticmVhaztjYXNlIDE2MDpfPTQ7YnJlYWs7Y2FzZSAxMjU6Y2FzZSAxMjM6Y2FzZSAxMjQ6Y2FzZSAxNDg6Y2FzZSAxMjg6Y2FzZSAxMzg6Y2FzZSA4NzpjYXNlIDEzMzpjYXNlIDE1MDpjYXNlIDE2MzpjYXNlIDE0NjpjYXNlIDE1MTpjYXNlIDEwMzpjYXNlIDE0NzpjYXNlIDE2NDpjYXNlIDE1NDpjYXNlIDEzNjpjYXNlIDE1NTpjYXNlIDExNjpjYXNlIDE1OTpjYXNlIDE1NzpfPTE7YnJlYWs7Y2FzZSAxMDg6Xz0xMzQyMTg3NTIsaS5mbG93Tm9kZT12b2lkIDA7YnJlYWs7Y2FzZSAxMjY6Xz0xMDI0O2JyZWFrO2Nhc2UgMTI5Ol89MTY3NzcyMTY7YnJlYWs7Y2FzZSAxMTA6Xz0xNjM4NCxpLmZsb3dOb2RlPXZvaWQgMDticmVha31yZXR1cm4gXyYmKGkudHJhbnNmb3JtRmxhZ3N8PV8pLGl9ZnVuY3Rpb24gX3QoKXtyZXR1cm4gY3QoMTA4KX1mdW5jdGlvbiBVdCgpe3JldHVybiBjdCgxMTApfWZ1bmN0aW9uIEp0KCl7cmV0dXJuIGN0KDEwNil9ZnVuY3Rpb24gbHQoKXtyZXR1cm4gY3QoMTEyKX1mdW5jdGlvbiBhcigpe3JldHVybiBjdCg5Nyl9ZnVuY3Rpb24gbXQobil7cmV0dXJuIGN0KG4pfWZ1bmN0aW9uIHZuKG4pe2xldCBpPVtdO3JldHVybiBuJjMyJiZpLnB1c2gobXQoOTUpKSxuJjEyOCYmaS5wdXNoKG10KDEzOCkpLG4mMjA0OCYmaS5wdXNoKG10KDkwKSksbiY0MDk2JiZpLnB1c2gobXQoODcpKSxuJjEmJmkucHVzaChtdCgxMjUpKSxuJjImJmkucHVzaChtdCgxMjMpKSxuJjQmJmkucHVzaChtdCgxMjQpKSxuJjY0JiZpLnB1c2gobXQoMTI4KSksbiYyNTYmJmkucHVzaChtdCgxMjYpKSxuJjE2JiZpLnB1c2gobXQoMTY0KSksbiY4JiZpLnB1c2gobXQoMTQ4KSksbiY1MTImJmkucHVzaChtdCgxMjkpKSxuJjEwMjQmJmkucHVzaChtdCgxMzQpKSxuJjgxOTImJmkucHVzaChtdCgxMDMpKSxuJjE2Mzg0JiZpLnB1c2gobXQoMTQ3KSksaS5sZW5ndGg/aTp2b2lkIDB9ZnVuY3Rpb24geXQobixpKXtsZXQgXz1NKDE2Nik7cmV0dXJuIF8ubGVmdD1uLF8ucmlnaHQ9ZXQoaSksXy50cmFuc2Zvcm1GbGFnc3w9eihfLmxlZnQpfGphKF8ucmlnaHQpLF8uZmxvd05vZGU9dm9pZCAwLF99ZnVuY3Rpb24gY24obixpLF8pe3JldHVybiBuLmxlZnQhPT1pfHxuLnJpZ2h0IT09Xz9xKHl0KGksXyksbik6bn1mdW5jdGlvbiBudChuKXtsZXQgaT1NKDE2Nyk7cmV0dXJuIGkuZXhwcmVzc2lvbj1vKCkucGFyZW50aGVzaXplRXhwcmVzc2lvbk9mQ29tcHV0ZWRQcm9wZXJ0eU5hbWUobiksaS50cmFuc2Zvcm1GbGFnc3w9eihpLmV4cHJlc3Npb24pfDEwMjR8MTMxMDcyLGl9ZnVuY3Rpb24gQnQobixpKXtyZXR1cm4gbi5leHByZXNzaW9uIT09aT9xKG50KGkpLG4pOm59ZnVuY3Rpb24gcm4obixpLF8sYyl7bGV0IGY9YWUoMTY4KTtyZXR1cm4gZi5tb2RpZmllcnM9RGUobiksZi5uYW1lPWV0KGkpLGYuY29uc3RyYWludD1fLGYuZGVmYXVsdD1jLGYudHJhbnNmb3JtRmxhZ3M9MSxmLmV4cHJlc3Npb249dm9pZCAwLGYuanNEb2M9dm9pZCAwLGZ9ZnVuY3Rpb24gX3IobixpLF8sYyxmKXtyZXR1cm4gbi5tb2RpZmllcnMhPT1pfHxuLm5hbWUhPT1ffHxuLmNvbnN0cmFpbnQhPT1jfHxuLmRlZmF1bHQhPT1mP3Eocm4oaSxfLGMsZiksbik6bn1mdW5jdGlvbiBmcihuLGksXyxjLGYsdyl7bGV0IEY9YWUoMTY5KTtyZXR1cm4gRi5tb2RpZmllcnM9RGUobiksRi5kb3REb3REb3RUb2tlbj1pLEYubmFtZT1ldChfKSxGLnF1ZXN0aW9uVG9rZW49YyxGLnR5cGU9ZixGLmluaXRpYWxpemVyPUNhKHcpLFIyKEYubmFtZSk/Ri50cmFuc2Zvcm1GbGFncz0xOkYudHJhbnNmb3JtRmxhZ3M9a2UoRi5tb2RpZmllcnMpfHooRi5kb3REb3REb3RUb2tlbil8am4oRi5uYW1lKXx6KEYucXVlc3Rpb25Ub2tlbil8eihGLmluaXRpYWxpemVyKXwoRi5xdWVzdGlvblRva2VuPz9GLnR5cGU/MTowKXwoRi5kb3REb3REb3RUb2tlbj8/Ri5pbml0aWFsaXplcj8xMDI0OjApfChSbihGLm1vZGlmaWVycykmMzE/ODE5MjowKSxGLmpzRG9jPXZvaWQgMCxGfWZ1bmN0aW9uIGRyKG4saSxfLGMsZix3LEYpe3JldHVybiBuLm1vZGlmaWVycyE9PWl8fG4uZG90RG90RG90VG9rZW4hPT1ffHxuLm5hbWUhPT1jfHxuLnF1ZXN0aW9uVG9rZW4hPT1mfHxuLnR5cGUhPT13fHxuLmluaXRpYWxpemVyIT09Rj9xKGZyKGksXyxjLGYsdyxGKSxuKTpufWZ1bmN0aW9uIHpuKG4pe2xldCBpPU0oMTcwKTtyZXR1cm4gaS5leHByZXNzaW9uPW8oKS5wYXJlbnRoZXNpemVMZWZ0U2lkZU9mQWNjZXNzKG4sITEpLGkudHJhbnNmb3JtRmxhZ3N8PXooaS5leHByZXNzaW9uKXwxfDgxOTJ8MzM1NTQ0MzIsaX1mdW5jdGlvbiBGbihuLGkpe3JldHVybiBuLmV4cHJlc3Npb24hPT1pP3Eoem4oaSksbik6bn1mdW5jdGlvbiBOcihuLGksXyxjKXtsZXQgZj1hZSgxNzEpO3JldHVybiBmLm1vZGlmaWVycz1EZShuKSxmLm5hbWU9ZXQoaSksZi50eXBlPWMsZi5xdWVzdGlvblRva2VuPV8sZi50cmFuc2Zvcm1GbGFncz0xLGYuaW5pdGlhbGl6ZXI9dm9pZCAwLGYuanNEb2M9dm9pZCAwLGZ9ZnVuY3Rpb24gVm4obixpLF8sYyxmKXtyZXR1cm4gbi5tb2RpZmllcnMhPT1pfHxuLm5hbWUhPT1ffHxuLnF1ZXN0aW9uVG9rZW4hPT1jfHxuLnR5cGUhPT1mP0NlKE5yKGksXyxjLGYpLG4pOm59ZnVuY3Rpb24gQ2UobixpKXtyZXR1cm4gbiE9PWkmJihuLmluaXRpYWxpemVyPWkuaW5pdGlhbGl6ZXIpLHEobixpKX1mdW5jdGlvbiBtcihuLGksXyxjLGYpe2xldCB3PWFlKDE3Mik7dy5tb2RpZmllcnM9RGUobiksdy5uYW1lPWV0KGkpLHcucXVlc3Rpb25Ub2tlbj1fJiZRZChfKT9fOnZvaWQgMCx3LmV4Y2xhbWF0aW9uVG9rZW49XyYmJGQoXyk/Xzp2b2lkIDAsdy50eXBlPWMsdy5pbml0aWFsaXplcj1DYShmKTtsZXQgRj13LmZsYWdzJjMzNTU0NDMyfHxSbih3Lm1vZGlmaWVycykmMTI4O3JldHVybiB3LnRyYW5zZm9ybUZsYWdzPWtlKHcubW9kaWZpZXJzKXxqbih3Lm5hbWUpfHoody5pbml0aWFsaXplcil8KEZ8fHcucXVlc3Rpb25Ub2tlbnx8dy5leGNsYW1hdGlvblRva2VufHx3LnR5cGU/MTowKXwoa2Yody5uYW1lKXx8Um4ody5tb2RpZmllcnMpJjI1NiYmdy5pbml0aWFsaXplcj84MTkyOjApfDE2Nzc3MjE2LHcuanNEb2M9dm9pZCAwLHd9ZnVuY3Rpb24gTChuLGksXyxjLGYsdyl7cmV0dXJuIG4ubW9kaWZpZXJzIT09aXx8bi5uYW1lIT09X3x8bi5xdWVzdGlvblRva2VuIT09KGMhPT12b2lkIDAmJlFkKGMpP2M6dm9pZCAwKXx8bi5leGNsYW1hdGlvblRva2VuIT09KGMhPT12b2lkIDAmJiRkKGMpP2M6dm9pZCAwKXx8bi50eXBlIT09Znx8bi5pbml0aWFsaXplciE9PXc/cShtcihpLF8sYyxmLHcpLG4pOm59ZnVuY3Rpb24gc2UobixpLF8sYyxmLHcpe2xldCBGPWFlKDE3Myk7cmV0dXJuIEYubW9kaWZpZXJzPURlKG4pLEYubmFtZT1ldChpKSxGLnF1ZXN0aW9uVG9rZW49XyxGLnR5cGVQYXJhbWV0ZXJzPURlKGMpLEYucGFyYW1ldGVycz1EZShmKSxGLnR5cGU9dyxGLnRyYW5zZm9ybUZsYWdzPTEsRi5qc0RvYz12b2lkIDAsRi5sb2NhbHM9dm9pZCAwLEYubmV4dENvbnRhaW5lcj12b2lkIDAsRi50eXBlQXJndW1lbnRzPXZvaWQgMCxGfWZ1bmN0aW9uIGZlKG4saSxfLGMsZix3LEYpe3JldHVybiBuLm1vZGlmaWVycyE9PWl8fG4ubmFtZSE9PV98fG4ucXVlc3Rpb25Ub2tlbiE9PWN8fG4udHlwZVBhcmFtZXRlcnMhPT1mfHxuLnBhcmFtZXRlcnMhPT13fHxuLnR5cGUhPT1GP09lKHNlKGksXyxjLGYsdyxGKSxuKTpufWZ1bmN0aW9uIFRlKG4saSxfLGMsZix3LEYscGUpe2xldCBSZT1hZSgxNzQpO2lmKFJlLm1vZGlmaWVycz1EZShuKSxSZS5hc3Rlcmlza1Rva2VuPWksUmUubmFtZT1ldChfKSxSZS5xdWVzdGlvblRva2VuPWMsUmUuZXhjbGFtYXRpb25Ub2tlbj12b2lkIDAsUmUudHlwZVBhcmFtZXRlcnM9RGUoZiksUmUucGFyYW1ldGVycz1kZSh3KSxSZS50eXBlPUYsUmUuYm9keT1wZSwhUmUuYm9keSlSZS50cmFuc2Zvcm1GbGFncz0xO2Vsc2V7bGV0IGVuPVJuKFJlLm1vZGlmaWVycykmMTAyNCxrbj0hIVJlLmFzdGVyaXNrVG9rZW4sJG49ZW4mJmtuO1JlLnRyYW5zZm9ybUZsYWdzPWtlKFJlLm1vZGlmaWVycyl8eihSZS5hc3Rlcmlza1Rva2VuKXxqbihSZS5uYW1lKXx6KFJlLnF1ZXN0aW9uVG9rZW4pfGtlKFJlLnR5cGVQYXJhbWV0ZXJzKXxrZShSZS5wYXJhbWV0ZXJzKXx6KFJlLnR5cGUpfHooUmUuYm9keSkmLTY3MTA4ODY1fCgkbj8xMjg6ZW4/MjU2OmtuPzIwNDg6MCl8KFJlLnF1ZXN0aW9uVG9rZW58fFJlLnR5cGVQYXJhbWV0ZXJzfHxSZS50eXBlPzE6MCl8MTAyNH1yZXR1cm4gUmUudHlwZUFyZ3VtZW50cz12b2lkIDAsUmUuanNEb2M9dm9pZCAwLFJlLmxvY2Fscz12b2lkIDAsUmUubmV4dENvbnRhaW5lcj12b2lkIDAsUmUuZmxvd05vZGU9dm9pZCAwLFJlLmVuZEZsb3dOb2RlPXZvaWQgMCxSZS5yZXR1cm5GbG93Tm9kZT12b2lkIDAsUmV9ZnVuY3Rpb24gWGUobixpLF8sYyxmLHcsRixwZSxSZSl7cmV0dXJuIG4ubW9kaWZpZXJzIT09aXx8bi5hc3Rlcmlza1Rva2VuIT09X3x8bi5uYW1lIT09Y3x8bi5xdWVzdGlvblRva2VuIT09Znx8bi50eXBlUGFyYW1ldGVycyE9PXd8fG4ucGFyYW1ldGVycyE9PUZ8fG4udHlwZSE9PXBlfHxuLmJvZHkhPT1SZT9LZShUZShpLF8sYyxmLHcsRixwZSxSZSksbik6bn1mdW5jdGlvbiBLZShuLGkpe3JldHVybiBuIT09aSYmKG4uZXhjbGFtYXRpb25Ub2tlbj1pLmV4Y2xhbWF0aW9uVG9rZW4pLHEobixpKX1mdW5jdGlvbiBzdChuKXtsZXQgaT1hZSgxNzUpO3JldHVybiBpLmJvZHk9bixpLnRyYW5zZm9ybUZsYWdzPXoobil8MTY3NzcyMTYsaS5tb2RpZmllcnM9dm9pZCAwLGkuanNEb2M9dm9pZCAwLGkubG9jYWxzPXZvaWQgMCxpLm5leHRDb250YWluZXI9dm9pZCAwLGkuZW5kRmxvd05vZGU9dm9pZCAwLGkucmV0dXJuRmxvd05vZGU9dm9pZCAwLGl9ZnVuY3Rpb24gRHQobixpKXtyZXR1cm4gbi5ib2R5IT09aT9UdChzdChpKSxuKTpufWZ1bmN0aW9uIFR0KG4saSl7cmV0dXJuIG4hPT1pJiYobi5tb2RpZmllcnM9aS5tb2RpZmllcnMpLHEobixpKX1mdW5jdGlvbiB1dChuLGksXyl7bGV0IGM9YWUoMTc2KTtyZXR1cm4gYy5tb2RpZmllcnM9RGUobiksYy5wYXJhbWV0ZXJzPWRlKGkpLGMuYm9keT1fLGMuYm9keT9jLnRyYW5zZm9ybUZsYWdzPWtlKGMubW9kaWZpZXJzKXxrZShjLnBhcmFtZXRlcnMpfHooYy5ib2R5KSYtNjcxMDg4NjV8MTAyNDpjLnRyYW5zZm9ybUZsYWdzPTEsYy50eXBlUGFyYW1ldGVycz12b2lkIDAsYy50eXBlPXZvaWQgMCxjLnR5cGVBcmd1bWVudHM9dm9pZCAwLGMuanNEb2M9dm9pZCAwLGMubG9jYWxzPXZvaWQgMCxjLm5leHRDb250YWluZXI9dm9pZCAwLGMuZW5kRmxvd05vZGU9dm9pZCAwLGMucmV0dXJuRmxvd05vZGU9dm9pZCAwLGN9ZnVuY3Rpb24gSXIobixpLF8sYyl7cmV0dXJuIG4ubW9kaWZpZXJzIT09aXx8bi5wYXJhbWV0ZXJzIT09X3x8bi5ib2R5IT09Yz9ocih1dChpLF8sYyksbik6bn1mdW5jdGlvbiBocihuLGkpe3JldHVybiBuIT09aSYmKG4udHlwZVBhcmFtZXRlcnM9aS50eXBlUGFyYW1ldGVycyxuLnR5cGU9aS50eXBlKSxPZShuLGkpfWZ1bmN0aW9uIE1uKG4saSxfLGMsZil7bGV0IHc9YWUoMTc3KTtyZXR1cm4gdy5tb2RpZmllcnM9RGUobiksdy5uYW1lPWV0KGkpLHcucGFyYW1ldGVycz1kZShfKSx3LnR5cGU9Yyx3LmJvZHk9Zix3LmJvZHk/dy50cmFuc2Zvcm1GbGFncz1rZSh3Lm1vZGlmaWVycyl8am4ody5uYW1lKXxrZSh3LnBhcmFtZXRlcnMpfHoody50eXBlKXx6KHcuYm9keSkmLTY3MTA4ODY1fCh3LnR5cGU/MTowKTp3LnRyYW5zZm9ybUZsYWdzPTEsdy50eXBlQXJndW1lbnRzPXZvaWQgMCx3LnR5cGVQYXJhbWV0ZXJzPXZvaWQgMCx3LmpzRG9jPXZvaWQgMCx3LmxvY2Fscz12b2lkIDAsdy5uZXh0Q29udGFpbmVyPXZvaWQgMCx3LmZsb3dOb2RlPXZvaWQgMCx3LmVuZEZsb3dOb2RlPXZvaWQgMCx3LnJldHVybkZsb3dOb2RlPXZvaWQgMCx3fWZ1bmN0aW9uIFduKG4saSxfLGMsZix3KXtyZXR1cm4gbi5tb2RpZmllcnMhPT1pfHxuLm5hbWUhPT1ffHxuLnBhcmFtZXRlcnMhPT1jfHxuLnR5cGUhPT1mfHxuLmJvZHkhPT13P1NpKE1uKGksXyxjLGYsdyksbik6bn1mdW5jdGlvbiBTaShuLGkpe3JldHVybiBuIT09aSYmKG4udHlwZVBhcmFtZXRlcnM9aS50eXBlUGFyYW1ldGVycyksT2UobixpKX1mdW5jdGlvbiBSKG4saSxfLGMpe2xldCBmPWFlKDE3OCk7cmV0dXJuIGYubW9kaWZpZXJzPURlKG4pLGYubmFtZT1ldChpKSxmLnBhcmFtZXRlcnM9ZGUoXyksZi5ib2R5PWMsZi5ib2R5P2YudHJhbnNmb3JtRmxhZ3M9a2UoZi5tb2RpZmllcnMpfGpuKGYubmFtZSl8a2UoZi5wYXJhbWV0ZXJzKXx6KGYuYm9keSkmLTY3MTA4ODY1fChmLnR5cGU/MTowKTpmLnRyYW5zZm9ybUZsYWdzPTEsZi50eXBlQXJndW1lbnRzPXZvaWQgMCxmLnR5cGVQYXJhbWV0ZXJzPXZvaWQgMCxmLnR5cGU9dm9pZCAwLGYuanNEb2M9dm9pZCAwLGYubG9jYWxzPXZvaWQgMCxmLm5leHRDb250YWluZXI9dm9pZCAwLGYuZmxvd05vZGU9dm9pZCAwLGYuZW5kRmxvd05vZGU9dm9pZCAwLGYucmV0dXJuRmxvd05vZGU9dm9pZCAwLGZ9ZnVuY3Rpb24gJChuLGksXyxjLGYpe3JldHVybiBuLm1vZGlmaWVycyE9PWl8fG4ubmFtZSE9PV98fG4ucGFyYW1ldGVycyE9PWN8fG4uYm9keSE9PWY/SyhSKGksXyxjLGYpLG4pOm59ZnVuY3Rpb24gSyhuLGkpe3JldHVybiBuIT09aSYmKG4udHlwZVBhcmFtZXRlcnM9aS50eXBlUGFyYW1ldGVycyxuLnR5cGU9aS50eXBlKSxPZShuLGkpfWZ1bmN0aW9uIHhlKG4saSxfKXtsZXQgYz1hZSgxNzkpO3JldHVybiBjLnR5cGVQYXJhbWV0ZXJzPURlKG4pLGMucGFyYW1ldGVycz1EZShpKSxjLnR5cGU9XyxjLnRyYW5zZm9ybUZsYWdzPTEsYy5qc0RvYz12b2lkIDAsYy5sb2NhbHM9dm9pZCAwLGMubmV4dENvbnRhaW5lcj12b2lkIDAsYy50eXBlQXJndW1lbnRzPXZvaWQgMCxjfWZ1bmN0aW9uIFNlKG4saSxfLGMpe3JldHVybiBuLnR5cGVQYXJhbWV0ZXJzIT09aXx8bi5wYXJhbWV0ZXJzIT09X3x8bi50eXBlIT09Yz9PZSh4ZShpLF8sYyksbik6bn1mdW5jdGlvbiB3ZShuLGksXyl7bGV0IGM9YWUoMTgwKTtyZXR1cm4gYy50eXBlUGFyYW1ldGVycz1EZShuKSxjLnBhcmFtZXRlcnM9RGUoaSksYy50eXBlPV8sYy50cmFuc2Zvcm1GbGFncz0xLGMuanNEb2M9dm9pZCAwLGMubG9jYWxzPXZvaWQgMCxjLm5leHRDb250YWluZXI9dm9pZCAwLGMudHlwZUFyZ3VtZW50cz12b2lkIDAsY31mdW5jdGlvbiBiZShuLGksXyxjKXtyZXR1cm4gbi50eXBlUGFyYW1ldGVycyE9PWl8fG4ucGFyYW1ldGVycyE9PV98fG4udHlwZSE9PWM/T2Uod2UoaSxfLGMpLG4pOm59ZnVuY3Rpb24gV2UobixpLF8pe2xldCBjPWFlKDE4MSk7cmV0dXJuIGMubW9kaWZpZXJzPURlKG4pLGMucGFyYW1ldGVycz1EZShpKSxjLnR5cGU9XyxjLnRyYW5zZm9ybUZsYWdzPTEsYy5qc0RvYz12b2lkIDAsYy5sb2NhbHM9dm9pZCAwLGMubmV4dENvbnRhaW5lcj12b2lkIDAsYy50eXBlQXJndW1lbnRzPXZvaWQgMCxjfWZ1bmN0aW9uIFplKG4saSxfLGMpe3JldHVybiBuLnBhcmFtZXRlcnMhPT1ffHxuLnR5cGUhPT1jfHxuLm1vZGlmaWVycyE9PWk/T2UoV2UoaSxfLGMpLG4pOm59ZnVuY3Rpb24gWWUobixpKXtsZXQgXz1NKDIwNCk7cmV0dXJuIF8udHlwZT1uLF8ubGl0ZXJhbD1pLF8udHJhbnNmb3JtRmxhZ3M9MSxffWZ1bmN0aW9uIEVlKG4saSxfKXtyZXR1cm4gbi50eXBlIT09aXx8bi5saXRlcmFsIT09Xz9xKFllKGksXyksbik6bn1mdW5jdGlvbiBUbihuKXtyZXR1cm4gY3Qobil9ZnVuY3Rpb24gcnQobixpLF8pe2xldCBjPU0oMTgyKTtyZXR1cm4gYy5hc3NlcnRzTW9kaWZpZXI9bixjLnBhcmFtZXRlck5hbWU9ZXQoaSksYy50eXBlPV8sYy50cmFuc2Zvcm1GbGFncz0xLGN9ZnVuY3Rpb24gbG4obixpLF8sYyl7cmV0dXJuIG4uYXNzZXJ0c01vZGlmaWVyIT09aXx8bi5wYXJhbWV0ZXJOYW1lIT09X3x8bi50eXBlIT09Yz9xKHJ0KGksXyxjKSxuKTpufWZ1bmN0aW9uIFpyKG4saSl7bGV0IF89TSgxODMpO3JldHVybiBfLnR5cGVOYW1lPWV0KG4pLF8udHlwZUFyZ3VtZW50cz1pJiZvKCkucGFyZW50aGVzaXplVHlwZUFyZ3VtZW50cyhkZShpKSksXy50cmFuc2Zvcm1GbGFncz0xLF99ZnVuY3Rpb24gSihuLGksXyl7cmV0dXJuIG4udHlwZU5hbWUhPT1pfHxuLnR5cGVBcmd1bWVudHMhPT1fP3EoWnIoaSxfKSxuKTpufWZ1bmN0aW9uIHFlKG4saSxfKXtsZXQgYz1hZSgxODQpO3JldHVybiBjLnR5cGVQYXJhbWV0ZXJzPURlKG4pLGMucGFyYW1ldGVycz1EZShpKSxjLnR5cGU9XyxjLnRyYW5zZm9ybUZsYWdzPTEsYy5tb2RpZmllcnM9dm9pZCAwLGMuanNEb2M9dm9pZCAwLGMubG9jYWxzPXZvaWQgMCxjLm5leHRDb250YWluZXI9dm9pZCAwLGMudHlwZUFyZ3VtZW50cz12b2lkIDAsY31mdW5jdGlvbiB1KG4saSxfLGMpe3JldHVybiBuLnR5cGVQYXJhbWV0ZXJzIT09aXx8bi5wYXJhbWV0ZXJzIT09X3x8bi50eXBlIT09Yz9JZShxZShpLF8sYyksbik6bn1mdW5jdGlvbiBJZShuLGkpe3JldHVybiBuIT09aSYmKG4ubW9kaWZpZXJzPWkubW9kaWZpZXJzKSxPZShuLGkpfWZ1bmN0aW9uIE1lKC4uLm4pe3JldHVybiBuLmxlbmd0aD09PTQ/VSguLi5uKTpuLmxlbmd0aD09PTM/emUoLi4ubik6Qi5mYWlsKFwiSW5jb3JyZWN0IG51bWJlciBvZiBhcmd1bWVudHMgc3BlY2lmaWVkLlwiKX1mdW5jdGlvbiBVKG4saSxfLGMpe2xldCBmPWFlKDE4NSk7cmV0dXJuIGYubW9kaWZpZXJzPURlKG4pLGYudHlwZVBhcmFtZXRlcnM9RGUoaSksZi5wYXJhbWV0ZXJzPURlKF8pLGYudHlwZT1jLGYudHJhbnNmb3JtRmxhZ3M9MSxmLmpzRG9jPXZvaWQgMCxmLmxvY2Fscz12b2lkIDAsZi5uZXh0Q29udGFpbmVyPXZvaWQgMCxmLnR5cGVBcmd1bWVudHM9dm9pZCAwLGZ9ZnVuY3Rpb24gemUobixpLF8pe3JldHVybiBVKHZvaWQgMCxuLGksXyl9ZnVuY3Rpb24gYW4oLi4ubil7cmV0dXJuIG4ubGVuZ3RoPT09NT9WZSguLi5uKTpuLmxlbmd0aD09PTQ/JGUoLi4ubik6Qi5mYWlsKFwiSW5jb3JyZWN0IG51bWJlciBvZiBhcmd1bWVudHMgc3BlY2lmaWVkLlwiKX1mdW5jdGlvbiBWZShuLGksXyxjLGYpe3JldHVybiBuLm1vZGlmaWVycyE9PWl8fG4udHlwZVBhcmFtZXRlcnMhPT1ffHxuLnBhcmFtZXRlcnMhPT1jfHxuLnR5cGUhPT1mP09lKE1lKGksXyxjLGYpLG4pOm59ZnVuY3Rpb24gJGUobixpLF8sYyl7cmV0dXJuIFZlKG4sbi5tb2RpZmllcnMsaSxfLGMpfWZ1bmN0aW9uIFB0KG4saSl7bGV0IF89TSgxODYpO3JldHVybiBfLmV4cHJOYW1lPW4sXy50eXBlQXJndW1lbnRzPWkmJm8oKS5wYXJlbnRoZXNpemVUeXBlQXJndW1lbnRzKGkpLF8udHJhbnNmb3JtRmxhZ3M9MSxffWZ1bmN0aW9uIGt0KG4saSxfKXtyZXR1cm4gbi5leHByTmFtZSE9PWl8fG4udHlwZUFyZ3VtZW50cyE9PV8/cShQdChpLF8pLG4pOm59ZnVuY3Rpb24gTnQobil7bGV0IGk9YWUoMTg3KTtyZXR1cm4gaS5tZW1iZXJzPWRlKG4pLGkudHJhbnNmb3JtRmxhZ3M9MSxpfWZ1bmN0aW9uIHF0KG4saSl7cmV0dXJuIG4ubWVtYmVycyE9PWk/cShOdChpKSxuKTpufWZ1bmN0aW9uIEduKG4pe2xldCBpPU0oMTg4KTtyZXR1cm4gaS5lbGVtZW50VHlwZT1vKCkucGFyZW50aGVzaXplTm9uQXJyYXlUeXBlT2ZQb3N0Zml4VHlwZShuKSxpLnRyYW5zZm9ybUZsYWdzPTEsaX1mdW5jdGlvbiB3aShuLGkpe3JldHVybiBuLmVsZW1lbnRUeXBlIT09aT9xKEduKGkpLG4pOm59ZnVuY3Rpb24gdW4obil7bGV0IGk9TSgxODkpO3JldHVybiBpLmVsZW1lbnRzPWRlKG8oKS5wYXJlbnRoZXNpemVFbGVtZW50VHlwZXNPZlR1cGxlVHlwZShuKSksaS50cmFuc2Zvcm1GbGFncz0xLGl9ZnVuY3Rpb24gRyhuLGkpe3JldHVybiBuLmVsZW1lbnRzIT09aT9xKHVuKGkpLG4pOm59ZnVuY3Rpb24gbGUobixpLF8sYyl7bGV0IGY9YWUoMjAyKTtyZXR1cm4gZi5kb3REb3REb3RUb2tlbj1uLGYubmFtZT1pLGYucXVlc3Rpb25Ub2tlbj1fLGYudHlwZT1jLGYudHJhbnNmb3JtRmxhZ3M9MSxmLmpzRG9jPXZvaWQgMCxmfWZ1bmN0aW9uIEZlKG4saSxfLGMsZil7cmV0dXJuIG4uZG90RG90RG90VG9rZW4hPT1pfHxuLm5hbWUhPT1ffHxuLnF1ZXN0aW9uVG9rZW4hPT1jfHxuLnR5cGUhPT1mP3EobGUoaSxfLGMsZiksbik6bn1mdW5jdGlvbiB2ZShuKXtsZXQgaT1NKDE5MCk7cmV0dXJuIGkudHlwZT1vKCkucGFyZW50aGVzaXplVHlwZU9mT3B0aW9uYWxUeXBlKG4pLGkudHJhbnNmb3JtRmxhZ3M9MSxpfWZ1bmN0aW9uIGoobixpKXtyZXR1cm4gbi50eXBlIT09aT9xKHZlKGkpLG4pOm59ZnVuY3Rpb24gaHQobil7bGV0IGk9TSgxOTEpO3JldHVybiBpLnR5cGU9bixpLnRyYW5zZm9ybUZsYWdzPTEsaX1mdW5jdGlvbiB4dChuLGkpe3JldHVybiBuLnR5cGUhPT1pP3EoaHQoaSksbik6bn1mdW5jdGlvbiBMdChuLGksXyl7bGV0IGM9TShuKTtyZXR1cm4gYy50eXBlcz15ZS5jcmVhdGVOb2RlQXJyYXkoXyhpKSksYy50cmFuc2Zvcm1GbGFncz0xLGN9ZnVuY3Rpb24gcG4obixpLF8pe3JldHVybiBuLnR5cGVzIT09aT9xKEx0KG4ua2luZCxpLF8pLG4pOm59ZnVuY3Rpb24gVWwobil7cmV0dXJuIEx0KDE5MixuLG8oKS5wYXJlbnRoZXNpemVDb25zdGl0dWVudFR5cGVzT2ZVbmlvblR5cGUpfWZ1bmN0aW9uIEVzKG4saSl7cmV0dXJuIHBuKG4saSxvKCkucGFyZW50aGVzaXplQ29uc3RpdHVlbnRUeXBlc09mVW5pb25UeXBlKX1mdW5jdGlvbiBPcihuKXtyZXR1cm4gTHQoMTkzLG4sbygpLnBhcmVudGhlc2l6ZUNvbnN0aXR1ZW50VHlwZXNPZkludGVyc2VjdGlvblR5cGUpfWZ1bmN0aW9uIEplKG4saSl7cmV0dXJuIHBuKG4saSxvKCkucGFyZW50aGVzaXplQ29uc3RpdHVlbnRUeXBlc09mSW50ZXJzZWN0aW9uVHlwZSl9ZnVuY3Rpb24gZnQobixpLF8sYyl7bGV0IGY9TSgxOTQpO3JldHVybiBmLmNoZWNrVHlwZT1vKCkucGFyZW50aGVzaXplQ2hlY2tUeXBlT2ZDb25kaXRpb25hbFR5cGUobiksZi5leHRlbmRzVHlwZT1vKCkucGFyZW50aGVzaXplRXh0ZW5kc1R5cGVPZkNvbmRpdGlvbmFsVHlwZShpKSxmLnRydWVUeXBlPV8sZi5mYWxzZVR5cGU9YyxmLnRyYW5zZm9ybUZsYWdzPTEsZi5sb2NhbHM9dm9pZCAwLGYubmV4dENvbnRhaW5lcj12b2lkIDAsZn1mdW5jdGlvbiBCbChuLGksXyxjLGYpe3JldHVybiBuLmNoZWNrVHlwZSE9PWl8fG4uZXh0ZW5kc1R5cGUhPT1ffHxuLnRydWVUeXBlIT09Y3x8bi5mYWxzZVR5cGUhPT1mP3EoZnQoaSxfLGMsZiksbik6bn1mdW5jdGlvbiBZbihuKXtsZXQgaT1NKDE5NSk7cmV0dXJuIGkudHlwZVBhcmFtZXRlcj1uLGkudHJhbnNmb3JtRmxhZ3M9MSxpfWZ1bmN0aW9uIHFsKG4saSl7cmV0dXJuIG4udHlwZVBhcmFtZXRlciE9PWk/cShZbihpKSxuKTpufWZ1bmN0aW9uIFd0KG4saSl7bGV0IF89TSgyMDMpO3JldHVybiBfLmhlYWQ9bixfLnRlbXBsYXRlU3BhbnM9ZGUoaSksXy50cmFuc2Zvcm1GbGFncz0xLF99ZnVuY3Rpb24gemwobixpLF8pe3JldHVybiBuLmhlYWQhPT1pfHxuLnRlbXBsYXRlU3BhbnMhPT1fP3EoV3QoaSxfKSxuKTpufWZ1bmN0aW9uIHNyKG4saSxfLGMsZj0hMSl7bGV0IHc9TSgyMDUpO3JldHVybiB3LmFyZ3VtZW50PW4sdy5hdHRyaWJ1dGVzPWksdy5hc3NlcnRpb25zJiZ3LmFzc2VydGlvbnMuYXNzZXJ0Q2xhdXNlJiZ3LmF0dHJpYnV0ZXMmJih3LmFzc2VydGlvbnMuYXNzZXJ0Q2xhdXNlPXcuYXR0cmlidXRlcyksdy5xdWFsaWZpZXI9Xyx3LnR5cGVBcmd1bWVudHM9YyYmbygpLnBhcmVudGhlc2l6ZVR5cGVBcmd1bWVudHMoYyksdy5pc1R5cGVPZj1mLHcudHJhbnNmb3JtRmxhZ3M9MSx3fWZ1bmN0aW9uIGlhKG4saSxfLGMsZix3PW4uaXNUeXBlT2Ype3JldHVybiBuLmFyZ3VtZW50IT09aXx8bi5hdHRyaWJ1dGVzIT09X3x8bi5xdWFsaWZpZXIhPT1jfHxuLnR5cGVBcmd1bWVudHMhPT1mfHxuLmlzVHlwZU9mIT09dz9xKHNyKGksXyxjLGYsdyksbik6bn1mdW5jdGlvbiBRdChuKXtsZXQgaT1NKDE5Nik7cmV0dXJuIGkudHlwZT1uLGkudHJhbnNmb3JtRmxhZ3M9MSxpfWZ1bmN0aW9uIEN0KG4saSl7cmV0dXJuIG4udHlwZSE9PWk/cShRdChpKSxuKTpufWZ1bmN0aW9uIEQoKXtsZXQgbj1NKDE5Nyk7cmV0dXJuIG4udHJhbnNmb3JtRmxhZ3M9MSxufWZ1bmN0aW9uIEd0KG4saSl7bGV0IF89TSgxOTgpO3JldHVybiBfLm9wZXJhdG9yPW4sXy50eXBlPW49PT0xNDg/bygpLnBhcmVudGhlc2l6ZU9wZXJhbmRPZlJlYWRvbmx5VHlwZU9wZXJhdG9yKGkpOm8oKS5wYXJlbnRoZXNpemVPcGVyYW5kT2ZUeXBlT3BlcmF0b3IoaSksXy50cmFuc2Zvcm1GbGFncz0xLF99ZnVuY3Rpb24gTXIobixpKXtyZXR1cm4gbi50eXBlIT09aT9xKEd0KG4ub3BlcmF0b3IsaSksbik6bn1mdW5jdGlvbiBvcihuLGkpe2xldCBfPU0oMTk5KTtyZXR1cm4gXy5vYmplY3RUeXBlPW8oKS5wYXJlbnRoZXNpemVOb25BcnJheVR5cGVPZlBvc3RmaXhUeXBlKG4pLF8uaW5kZXhUeXBlPWksXy50cmFuc2Zvcm1GbGFncz0xLF99ZnVuY3Rpb24gS2EobixpLF8pe3JldHVybiBuLm9iamVjdFR5cGUhPT1pfHxuLmluZGV4VHlwZSE9PV8/cShvcihpLF8pLG4pOm59ZnVuY3Rpb24gU3QobixpLF8sYyxmLHcpe2xldCBGPWFlKDIwMCk7cmV0dXJuIEYucmVhZG9ubHlUb2tlbj1uLEYudHlwZVBhcmFtZXRlcj1pLEYubmFtZVR5cGU9XyxGLnF1ZXN0aW9uVG9rZW49YyxGLnR5cGU9ZixGLm1lbWJlcnM9dyYmZGUodyksRi50cmFuc2Zvcm1GbGFncz0xLEYubG9jYWxzPXZvaWQgMCxGLm5leHRDb250YWluZXI9dm9pZCAwLEZ9ZnVuY3Rpb24ganQobixpLF8sYyxmLHcsRil7cmV0dXJuIG4ucmVhZG9ubHlUb2tlbiE9PWl8fG4udHlwZVBhcmFtZXRlciE9PV98fG4ubmFtZVR5cGUhPT1jfHxuLnF1ZXN0aW9uVG9rZW4hPT1mfHxuLnR5cGUhPT13fHxuLm1lbWJlcnMhPT1GP3EoU3QoaSxfLGMsZix3LEYpLG4pOm59ZnVuY3Rpb24gZWkobil7bGV0IGk9TSgyMDEpO3JldHVybiBpLmxpdGVyYWw9bixpLnRyYW5zZm9ybUZsYWdzPTEsaX1mdW5jdGlvbiB5cihuLGkpe3JldHVybiBuLmxpdGVyYWwhPT1pP3EoZWkoaSksbik6bn1mdW5jdGlvbiBBcyhuKXtsZXQgaT1NKDIwNik7cmV0dXJuIGkuZWxlbWVudHM9ZGUobiksaS50cmFuc2Zvcm1GbGFnc3w9a2UoaS5lbGVtZW50cyl8MTAyNHw1MjQyODgsaS50cmFuc2Zvcm1GbGFncyYzMjc2OCYmKGkudHJhbnNmb3JtRmxhZ3N8PTY1NjY0KSxpfWZ1bmN0aW9uIEZsKG4saSl7cmV0dXJuIG4uZWxlbWVudHMhPT1pP3EoQXMoaSksbik6bn1mdW5jdGlvbiBKcihuKXtsZXQgaT1NKDIwNyk7cmV0dXJuIGkuZWxlbWVudHM9ZGUobiksaS50cmFuc2Zvcm1GbGFnc3w9a2UoaS5lbGVtZW50cyl8MTAyNHw1MjQyODgsaX1mdW5jdGlvbiBWbChuLGkpe3JldHVybiBuLmVsZW1lbnRzIT09aT9xKEpyKGkpLG4pOm59ZnVuY3Rpb24gYWEobixpLF8sYyl7bGV0IGY9YWUoMjA4KTtyZXR1cm4gZi5kb3REb3REb3RUb2tlbj1uLGYucHJvcGVydHlOYW1lPWV0KGkpLGYubmFtZT1ldChfKSxmLmluaXRpYWxpemVyPUNhKGMpLGYudHJhbnNmb3JtRmxhZ3N8PXooZi5kb3REb3REb3RUb2tlbil8am4oZi5wcm9wZXJ0eU5hbWUpfGpuKGYubmFtZSl8eihmLmluaXRpYWxpemVyKXwoZi5kb3REb3REb3RUb2tlbj8zMjc2ODowKXwxMDI0LGYuZmxvd05vZGU9dm9pZCAwLGZ9ZnVuY3Rpb24gdGkobixpLF8sYyxmKXtyZXR1cm4gbi5wcm9wZXJ0eU5hbWUhPT1ffHxuLmRvdERvdERvdFRva2VuIT09aXx8bi5uYW1lIT09Y3x8bi5pbml0aWFsaXplciE9PWY/cShhYShpLF8sYyxmKSxuKTpufWZ1bmN0aW9uIFphKG4saSl7bGV0IF89TSgyMDkpLGM9biYmR2kobiksZj1kZShuLGMmJlgxKGMpPyEwOnZvaWQgMCk7cmV0dXJuIF8uZWxlbWVudHM9bygpLnBhcmVudGhlc2l6ZUV4cHJlc3Npb25zT2ZDb21tYURlbGltaXRlZExpc3QoZiksXy5tdWx0aUxpbmU9aSxfLnRyYW5zZm9ybUZsYWdzfD1rZShfLmVsZW1lbnRzKSxffWZ1bmN0aW9uIENzKG4saSl7cmV0dXJuIG4uZWxlbWVudHMhPT1pP3EoWmEoaSxuLm11bHRpTGluZSksbik6bn1mdW5jdGlvbiBraShuLGkpe2xldCBfPWFlKDIxMCk7cmV0dXJuIF8ucHJvcGVydGllcz1kZShuKSxfLm11bHRpTGluZT1pLF8udHJhbnNmb3JtRmxhZ3N8PWtlKF8ucHJvcGVydGllcyksXy5qc0RvYz12b2lkIDAsX31mdW5jdGlvbiBXbChuLGkpe3JldHVybiBuLnByb3BlcnRpZXMhPT1pP3Eoa2koaSxuLm11bHRpTGluZSksbik6bn1mdW5jdGlvbiBEcyhuLGksXyl7bGV0IGM9YWUoMjExKTtyZXR1cm4gYy5leHByZXNzaW9uPW4sYy5xdWVzdGlvbkRvdFRva2VuPWksYy5uYW1lPV8sYy50cmFuc2Zvcm1GbGFncz16KGMuZXhwcmVzc2lvbil8eihjLnF1ZXN0aW9uRG90VG9rZW4pfCh0dChjLm5hbWUpP2phKGMubmFtZSk6eihjLm5hbWUpfDUzNjg3MDkxMiksYy5qc0RvYz12b2lkIDAsYy5mbG93Tm9kZT12b2lkIDAsY31mdW5jdGlvbiBjcihuLGkpe2xldCBfPURzKG8oKS5wYXJlbnRoZXNpemVMZWZ0U2lkZU9mQWNjZXNzKG4sITEpLHZvaWQgMCxldChpKSk7cmV0dXJuIEFwKG4pJiYoXy50cmFuc2Zvcm1GbGFnc3w9Mzg0KSxffWZ1bmN0aW9uIEdsKG4saSxfKXtyZXR1cm4gSWcobik/X2EobixpLG4ucXVlc3Rpb25Eb3RUb2tlbixrcihfLHR0KSk6bi5leHByZXNzaW9uIT09aXx8bi5uYW1lIT09Xz9xKGNyKGksXyksbik6bn1mdW5jdGlvbiBFaShuLGksXyl7bGV0IGM9RHMobygpLnBhcmVudGhlc2l6ZUxlZnRTaWRlT2ZBY2Nlc3MobiwhMCksaSxldChfKSk7cmV0dXJuIGMuZmxhZ3N8PTY0LGMudHJhbnNmb3JtRmxhZ3N8PTMyLGN9ZnVuY3Rpb24gX2EobixpLF8sYyl7cmV0dXJuIEIuYXNzZXJ0KCEhKG4uZmxhZ3MmNjQpLFwiQ2Fubm90IHVwZGF0ZSBhIFByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiB1c2luZyB1cGRhdGVQcm9wZXJ0eUFjY2Vzc0NoYWluLiBVc2UgdXBkYXRlUHJvcGVydHlBY2Nlc3MgaW5zdGVhZC5cIiksbi5leHByZXNzaW9uIT09aXx8bi5xdWVzdGlvbkRvdFRva2VuIT09X3x8bi5uYW1lIT09Yz9xKEVpKGksXyxjKSxuKTpufWZ1bmN0aW9uIFBzKG4saSxfKXtsZXQgYz1hZSgyMTIpO3JldHVybiBjLmV4cHJlc3Npb249bixjLnF1ZXN0aW9uRG90VG9rZW49aSxjLmFyZ3VtZW50RXhwcmVzc2lvbj1fLGMudHJhbnNmb3JtRmxhZ3N8PXooYy5leHByZXNzaW9uKXx6KGMucXVlc3Rpb25Eb3RUb2tlbil8eihjLmFyZ3VtZW50RXhwcmVzc2lvbiksYy5qc0RvYz12b2lkIDAsYy5mbG93Tm9kZT12b2lkIDAsY31mdW5jdGlvbiBBaShuLGkpe2xldCBfPVBzKG8oKS5wYXJlbnRoZXNpemVMZWZ0U2lkZU9mQWNjZXNzKG4sITEpLHZvaWQgMCxwcihpKSk7cmV0dXJuIEFwKG4pJiYoXy50cmFuc2Zvcm1GbGFnc3w9Mzg0KSxffWZ1bmN0aW9uIFlsKG4saSxfKXtyZXR1cm4gT2cobik/ZV8obixpLG4ucXVlc3Rpb25Eb3RUb2tlbixfKTpuLmV4cHJlc3Npb24hPT1pfHxuLmFyZ3VtZW50RXhwcmVzc2lvbiE9PV8/cShBaShpLF8pLG4pOm59ZnVuY3Rpb24gTnMobixpLF8pe2xldCBjPVBzKG8oKS5wYXJlbnRoZXNpemVMZWZ0U2lkZU9mQWNjZXNzKG4sITApLGkscHIoXykpO3JldHVybiBjLmZsYWdzfD02NCxjLnRyYW5zZm9ybUZsYWdzfD0zMixjfWZ1bmN0aW9uIGVfKG4saSxfLGMpe3JldHVybiBCLmFzc2VydCghIShuLmZsYWdzJjY0KSxcIkNhbm5vdCB1cGRhdGUgYSBFbGVtZW50QWNjZXNzRXhwcmVzc2lvbiB1c2luZyB1cGRhdGVFbGVtZW50QWNjZXNzQ2hhaW4uIFVzZSB1cGRhdGVFbGVtZW50QWNjZXNzIGluc3RlYWQuXCIpLG4uZXhwcmVzc2lvbiE9PWl8fG4ucXVlc3Rpb25Eb3RUb2tlbiE9PV98fG4uYXJndW1lbnRFeHByZXNzaW9uIT09Yz9xKE5zKGksXyxjKSxuKTpufWZ1bmN0aW9uIElzKG4saSxfLGMpe2xldCBmPWFlKDIxMyk7cmV0dXJuIGYuZXhwcmVzc2lvbj1uLGYucXVlc3Rpb25Eb3RUb2tlbj1pLGYudHlwZUFyZ3VtZW50cz1fLGYuYXJndW1lbnRzPWMsZi50cmFuc2Zvcm1GbGFnc3w9eihmLmV4cHJlc3Npb24pfHooZi5xdWVzdGlvbkRvdFRva2VuKXxrZShmLnR5cGVBcmd1bWVudHMpfGtlKGYuYXJndW1lbnRzKSxmLnR5cGVBcmd1bWVudHMmJihmLnRyYW5zZm9ybUZsYWdzfD0xKSx6ZChmLmV4cHJlc3Npb24pJiYoZi50cmFuc2Zvcm1GbGFnc3w9MTYzODQpLGZ9ZnVuY3Rpb24gQ2kobixpLF8pe2xldCBjPUlzKG8oKS5wYXJlbnRoZXNpemVMZWZ0U2lkZU9mQWNjZXNzKG4sITEpLHZvaWQgMCxEZShpKSxvKCkucGFyZW50aGVzaXplRXhwcmVzc2lvbnNPZkNvbW1hRGVsaW1pdGVkTGlzdChkZShfKSkpO3JldHVybiBVYihjLmV4cHJlc3Npb24pJiYoYy50cmFuc2Zvcm1GbGFnc3w9ODM4ODYwOCksY31mdW5jdGlvbiBzYShuLGksXyxjKXtyZXR1cm4gSmQobik/T3MobixpLG4ucXVlc3Rpb25Eb3RUb2tlbixfLGMpOm4uZXhwcmVzc2lvbiE9PWl8fG4udHlwZUFyZ3VtZW50cyE9PV98fG4uYXJndW1lbnRzIT09Yz9xKENpKGksXyxjKSxuKTpufWZ1bmN0aW9uIHRfKG4saSxfLGMpe2xldCBmPUlzKG8oKS5wYXJlbnRoZXNpemVMZWZ0U2lkZU9mQWNjZXNzKG4sITApLGksRGUoXyksbygpLnBhcmVudGhlc2l6ZUV4cHJlc3Npb25zT2ZDb21tYURlbGltaXRlZExpc3QoZGUoYykpKTtyZXR1cm4gZi5mbGFnc3w9NjQsZi50cmFuc2Zvcm1GbGFnc3w9MzIsZn1mdW5jdGlvbiBPcyhuLGksXyxjLGYpe3JldHVybiBCLmFzc2VydCghIShuLmZsYWdzJjY0KSxcIkNhbm5vdCB1cGRhdGUgYSBDYWxsRXhwcmVzc2lvbiB1c2luZyB1cGRhdGVDYWxsQ2hhaW4uIFVzZSB1cGRhdGVDYWxsIGluc3RlYWQuXCIpLG4uZXhwcmVzc2lvbiE9PWl8fG4ucXVlc3Rpb25Eb3RUb2tlbiE9PV98fG4udHlwZUFyZ3VtZW50cyE9PWN8fG4uYXJndW1lbnRzIT09Zj9xKHRfKGksXyxjLGYpLG4pOm59ZnVuY3Rpb24geG4obixpLF8pe2xldCBjPWFlKDIxNCk7cmV0dXJuIGMuZXhwcmVzc2lvbj1vKCkucGFyZW50aGVzaXplRXhwcmVzc2lvbk9mTmV3KG4pLGMudHlwZUFyZ3VtZW50cz1EZShpKSxjLmFyZ3VtZW50cz1fP28oKS5wYXJlbnRoZXNpemVFeHByZXNzaW9uc09mQ29tbWFEZWxpbWl0ZWRMaXN0KF8pOnZvaWQgMCxjLnRyYW5zZm9ybUZsYWdzfD16KGMuZXhwcmVzc2lvbil8a2UoYy50eXBlQXJndW1lbnRzKXxrZShjLmFyZ3VtZW50cyl8MzIsYy50eXBlQXJndW1lbnRzJiYoYy50cmFuc2Zvcm1GbGFnc3w9MSksY31mdW5jdGlvbiBuXyhuLGksXyxjKXtyZXR1cm4gbi5leHByZXNzaW9uIT09aXx8bi50eXBlQXJndW1lbnRzIT09X3x8bi5hcmd1bWVudHMhPT1jP3EoeG4oaSxfLGMpLG4pOm59ZnVuY3Rpb24gb2EobixpLF8pe2xldCBjPU0oMjE1KTtyZXR1cm4gYy50YWc9bygpLnBhcmVudGhlc2l6ZUxlZnRTaWRlT2ZBY2Nlc3MobiwhMSksYy50eXBlQXJndW1lbnRzPURlKGkpLGMudGVtcGxhdGU9XyxjLnRyYW5zZm9ybUZsYWdzfD16KGMudGFnKXxrZShjLnR5cGVBcmd1bWVudHMpfHooYy50ZW1wbGF0ZSl8MTAyNCxjLnR5cGVBcmd1bWVudHMmJihjLnRyYW5zZm9ybUZsYWdzfD0xKSxqMihjLnRlbXBsYXRlKSYmKGMudHJhbnNmb3JtRmxhZ3N8PTEyOCksY31mdW5jdGlvbiBNcyhuLGksXyxjKXtyZXR1cm4gbi50YWchPT1pfHxuLnR5cGVBcmd1bWVudHMhPT1ffHxuLnRlbXBsYXRlIT09Yz9xKG9hKGksXyxjKSxuKTpufWZ1bmN0aW9uIEpzKG4saSl7bGV0IF89TSgyMTYpO3JldHVybiBfLmV4cHJlc3Npb249bygpLnBhcmVudGhlc2l6ZU9wZXJhbmRPZlByZWZpeFVuYXJ5KGkpLF8udHlwZT1uLF8udHJhbnNmb3JtRmxhZ3N8PXooXy5leHByZXNzaW9uKXx6KF8udHlwZSl8MSxffWZ1bmN0aW9uIExzKG4saSxfKXtyZXR1cm4gbi50eXBlIT09aXx8bi5leHByZXNzaW9uIT09Xz9xKEpzKGksXyksbik6bn1mdW5jdGlvbiByXyhuKXtsZXQgaT1NKDIxNyk7cmV0dXJuIGkuZXhwcmVzc2lvbj1uLGkudHJhbnNmb3JtRmxhZ3M9eihpLmV4cHJlc3Npb24pLGkuanNEb2M9dm9pZCAwLGl9ZnVuY3Rpb24ganMobixpKXtyZXR1cm4gbi5leHByZXNzaW9uIT09aT9xKHJfKGkpLG4pOm59ZnVuY3Rpb24gaV8obixpLF8sYyxmLHcsRil7bGV0IHBlPWFlKDIxOCk7cGUubW9kaWZpZXJzPURlKG4pLHBlLmFzdGVyaXNrVG9rZW49aSxwZS5uYW1lPWV0KF8pLHBlLnR5cGVQYXJhbWV0ZXJzPURlKGMpLHBlLnBhcmFtZXRlcnM9ZGUoZikscGUudHlwZT13LHBlLmJvZHk9RjtsZXQgUmU9Um4ocGUubW9kaWZpZXJzKSYxMDI0LGVuPSEhcGUuYXN0ZXJpc2tUb2tlbixrbj1SZSYmZW47cmV0dXJuIHBlLnRyYW5zZm9ybUZsYWdzPWtlKHBlLm1vZGlmaWVycyl8eihwZS5hc3Rlcmlza1Rva2VuKXxqbihwZS5uYW1lKXxrZShwZS50eXBlUGFyYW1ldGVycyl8a2UocGUucGFyYW1ldGVycyl8eihwZS50eXBlKXx6KHBlLmJvZHkpJi02NzEwODg2NXwoa24/MTI4OlJlPzI1Njplbj8yMDQ4OjApfChwZS50eXBlUGFyYW1ldGVyc3x8cGUudHlwZT8xOjApfDQxOTQzMDQscGUudHlwZUFyZ3VtZW50cz12b2lkIDAscGUuanNEb2M9dm9pZCAwLHBlLmxvY2Fscz12b2lkIDAscGUubmV4dENvbnRhaW5lcj12b2lkIDAscGUuZmxvd05vZGU9dm9pZCAwLHBlLmVuZEZsb3dOb2RlPXZvaWQgMCxwZS5yZXR1cm5GbG93Tm9kZT12b2lkIDAscGV9ZnVuY3Rpb24gUnMobixpLF8sYyxmLHcsRixwZSl7cmV0dXJuIG4ubmFtZSE9PWN8fG4ubW9kaWZpZXJzIT09aXx8bi5hc3Rlcmlza1Rva2VuIT09X3x8bi50eXBlUGFyYW1ldGVycyE9PWZ8fG4ucGFyYW1ldGVycyE9PXd8fG4udHlwZSE9PUZ8fG4uYm9keSE9PXBlP09lKGlfKGksXyxjLGYsdyxGLHBlKSxuKTpufWZ1bmN0aW9uIGFfKG4saSxfLGMsZix3KXtsZXQgRj1hZSgyMTkpO0YubW9kaWZpZXJzPURlKG4pLEYudHlwZVBhcmFtZXRlcnM9RGUoaSksRi5wYXJhbWV0ZXJzPWRlKF8pLEYudHlwZT1jLEYuZXF1YWxzR3JlYXRlclRoYW5Ub2tlbj1mPz9jdCgzOSksRi5ib2R5PW8oKS5wYXJlbnRoZXNpemVDb25jaXNlQm9keU9mQXJyb3dGdW5jdGlvbih3KTtsZXQgcGU9Um4oRi5tb2RpZmllcnMpJjEwMjQ7cmV0dXJuIEYudHJhbnNmb3JtRmxhZ3M9a2UoRi5tb2RpZmllcnMpfGtlKEYudHlwZVBhcmFtZXRlcnMpfGtlKEYucGFyYW1ldGVycyl8eihGLnR5cGUpfHooRi5lcXVhbHNHcmVhdGVyVGhhblRva2VuKXx6KEYuYm9keSkmLTY3MTA4ODY1fChGLnR5cGVQYXJhbWV0ZXJzfHxGLnR5cGU/MTowKXwocGU/MTY2NDA6MCl8MTAyNCxGLnR5cGVBcmd1bWVudHM9dm9pZCAwLEYuanNEb2M9dm9pZCAwLEYubG9jYWxzPXZvaWQgMCxGLm5leHRDb250YWluZXI9dm9pZCAwLEYuZmxvd05vZGU9dm9pZCAwLEYuZW5kRmxvd05vZGU9dm9pZCAwLEYucmV0dXJuRmxvd05vZGU9dm9pZCAwLEZ9ZnVuY3Rpb24gVXMobixpLF8sYyxmLHcsRil7cmV0dXJuIG4ubW9kaWZpZXJzIT09aXx8bi50eXBlUGFyYW1ldGVycyE9PV98fG4ucGFyYW1ldGVycyE9PWN8fG4udHlwZSE9PWZ8fG4uZXF1YWxzR3JlYXRlclRoYW5Ub2tlbiE9PXd8fG4uYm9keSE9PUY/T2UoYV8oaSxfLGMsZix3LEYpLG4pOm59ZnVuY3Rpb24gQnMobil7bGV0IGk9TSgyMjApO3JldHVybiBpLmV4cHJlc3Npb249bygpLnBhcmVudGhlc2l6ZU9wZXJhbmRPZlByZWZpeFVuYXJ5KG4pLGkudHJhbnNmb3JtRmxhZ3N8PXooaS5leHByZXNzaW9uKSxpfWZ1bmN0aW9uIHFzKG4saSl7cmV0dXJuIG4uZXhwcmVzc2lvbiE9PWk/cShCcyhpKSxuKTpufWZ1bmN0aW9uIGNhKG4pe2xldCBpPU0oMjIxKTtyZXR1cm4gaS5leHByZXNzaW9uPW8oKS5wYXJlbnRoZXNpemVPcGVyYW5kT2ZQcmVmaXhVbmFyeShuKSxpLnRyYW5zZm9ybUZsYWdzfD16KGkuZXhwcmVzc2lvbiksaX1mdW5jdGlvbiBmbihuLGkpe3JldHVybiBuLmV4cHJlc3Npb24hPT1pP3EoY2EoaSksbik6bn1mdW5jdGlvbiBfXyhuKXtsZXQgaT1NKDIyMik7cmV0dXJuIGkuZXhwcmVzc2lvbj1vKCkucGFyZW50aGVzaXplT3BlcmFuZE9mUHJlZml4VW5hcnkobiksaS50cmFuc2Zvcm1GbGFnc3w9eihpLmV4cHJlc3Npb24pLGl9ZnVuY3Rpb24gbHIobixpKXtyZXR1cm4gbi5leHByZXNzaW9uIT09aT9xKF9fKGkpLG4pOm59ZnVuY3Rpb24genMobil7bGV0IGk9TSgyMjMpO3JldHVybiBpLmV4cHJlc3Npb249bygpLnBhcmVudGhlc2l6ZU9wZXJhbmRPZlByZWZpeFVuYXJ5KG4pLGkudHJhbnNmb3JtRmxhZ3N8PXooaS5leHByZXNzaW9uKXwyNTZ8MTI4fDIwOTcxNTIsaX1mdW5jdGlvbiBMcihuLGkpe3JldHVybiBuLmV4cHJlc3Npb24hPT1pP3EoenMoaSksbik6bn1mdW5jdGlvbiBqcihuLGkpe2xldCBfPU0oMjI0KTtyZXR1cm4gXy5vcGVyYXRvcj1uLF8ub3BlcmFuZD1vKCkucGFyZW50aGVzaXplT3BlcmFuZE9mUHJlZml4VW5hcnkoaSksXy50cmFuc2Zvcm1GbGFnc3w9eihfLm9wZXJhbmQpLChuPT09NDZ8fG49PT00NykmJnR0KF8ub3BlcmFuZCkmJiFVYShfLm9wZXJhbmQpJiYhWmQoXy5vcGVyYW5kKSYmKF8udHJhbnNmb3JtRmxhZ3N8PTI2ODQzNTQ1NiksX31mdW5jdGlvbiBIbChuLGkpe3JldHVybiBuLm9wZXJhbmQhPT1pP3EoanIobi5vcGVyYXRvcixpKSxuKTpufWZ1bmN0aW9uIG5pKG4saSl7bGV0IF89TSgyMjUpO3JldHVybiBfLm9wZXJhdG9yPWksXy5vcGVyYW5kPW8oKS5wYXJlbnRoZXNpemVPcGVyYW5kT2ZQb3N0Zml4VW5hcnkobiksXy50cmFuc2Zvcm1GbGFnc3w9eihfLm9wZXJhbmQpLHR0KF8ub3BlcmFuZCkmJiFVYShfLm9wZXJhbmQpJiYhWmQoXy5vcGVyYW5kKSYmKF8udHJhbnNmb3JtRmxhZ3N8PTI2ODQzNTQ1NiksX31mdW5jdGlvbiBYbChuLGkpe3JldHVybiBuLm9wZXJhbmQhPT1pP3EobmkoaSxuLm9wZXJhdG9yKSxuKTpufWZ1bmN0aW9uIGxhKG4saSxfKXtsZXQgYz1hZSgyMjYpLGY9JGMoaSksdz1mLmtpbmQ7cmV0dXJuIGMubGVmdD1vKCkucGFyZW50aGVzaXplTGVmdFNpZGVPZkJpbmFyeSh3LG4pLGMub3BlcmF0b3JUb2tlbj1mLGMucmlnaHQ9bygpLnBhcmVudGhlc2l6ZVJpZ2h0U2lkZU9mQmluYXJ5KHcsYy5sZWZ0LF8pLGMudHJhbnNmb3JtRmxhZ3N8PXooYy5sZWZ0KXx6KGMub3BlcmF0b3JUb2tlbil8eihjLnJpZ2h0KSx3PT09NjE/Yy50cmFuc2Zvcm1GbGFnc3w9MzI6dz09PTY0P0lmKGMubGVmdCk/Yy50cmFuc2Zvcm1GbGFnc3w9NTI0OHxGcyhjLmxlZnQpOlcxKGMubGVmdCkmJihjLnRyYW5zZm9ybUZsYWdzfD01MTIwfEZzKGMubGVmdCkpOnc9PT00M3x8dz09PTY4P2MudHJhbnNmb3JtRmxhZ3N8PTUxMjpIMih3KSYmKGMudHJhbnNmb3JtRmxhZ3N8PTE2KSx3PT09MTAzJiZnaShjLmxlZnQpJiYoYy50cmFuc2Zvcm1GbGFnc3w9NTM2ODcwOTEyKSxjLmpzRG9jPXZvaWQgMCxjfWZ1bmN0aW9uIEZzKG4pe3JldHVybiB1aChuKT82NTUzNjowfWZ1bmN0aW9uICRsKG4saSxfLGMpe3JldHVybiBuLmxlZnQhPT1pfHxuLm9wZXJhdG9yVG9rZW4hPT1ffHxuLnJpZ2h0IT09Yz9xKGxhKGksXyxjKSxuKTpufWZ1bmN0aW9uIFZzKG4saSxfLGMsZil7bGV0IHc9TSgyMjcpO3JldHVybiB3LmNvbmRpdGlvbj1vKCkucGFyZW50aGVzaXplQ29uZGl0aW9uT2ZDb25kaXRpb25hbEV4cHJlc3Npb24obiksdy5xdWVzdGlvblRva2VuPWk/P2N0KDU4KSx3LndoZW5UcnVlPW8oKS5wYXJlbnRoZXNpemVCcmFuY2hPZkNvbmRpdGlvbmFsRXhwcmVzc2lvbihfKSx3LmNvbG9uVG9rZW49Yz8/Y3QoNTkpLHcud2hlbkZhbHNlPW8oKS5wYXJlbnRoZXNpemVCcmFuY2hPZkNvbmRpdGlvbmFsRXhwcmVzc2lvbihmKSx3LnRyYW5zZm9ybUZsYWdzfD16KHcuY29uZGl0aW9uKXx6KHcucXVlc3Rpb25Ub2tlbil8eih3LndoZW5UcnVlKXx6KHcuY29sb25Ub2tlbil8eih3LndoZW5GYWxzZSksd31mdW5jdGlvbiBXcyhuLGksXyxjLGYsdyl7cmV0dXJuIG4uY29uZGl0aW9uIT09aXx8bi5xdWVzdGlvblRva2VuIT09X3x8bi53aGVuVHJ1ZSE9PWN8fG4uY29sb25Ub2tlbiE9PWZ8fG4ud2hlbkZhbHNlIT09dz9xKFZzKGksXyxjLGYsdyksbik6bn1mdW5jdGlvbiBHcyhuLGkpe2xldCBfPU0oMjI4KTtyZXR1cm4gXy5oZWFkPW4sXy50ZW1wbGF0ZVNwYW5zPWRlKGkpLF8udHJhbnNmb3JtRmxhZ3N8PXooXy5oZWFkKXxrZShfLnRlbXBsYXRlU3BhbnMpfDEwMjQsX31mdW5jdGlvbiBIbihuLGksXyl7cmV0dXJuIG4uaGVhZCE9PWl8fG4udGVtcGxhdGVTcGFucyE9PV8/cShHcyhpLF8pLG4pOm59ZnVuY3Rpb24gRGkobixpLF8sYz0wKXtCLmFzc2VydCghKGMmLTcxNzcpLFwiVW5zdXBwb3J0ZWQgdGVtcGxhdGUgZmxhZ3MuXCIpO2xldCBmO2lmKF8hPT12b2lkIDAmJl8hPT1pJiYoZj1QYihuLF8pLHR5cGVvZiBmPT1cIm9iamVjdFwiKSlyZXR1cm4gQi5mYWlsKFwiSW52YWxpZCByYXcgdGV4dFwiKTtpZihpPT09dm9pZCAwKXtpZihmPT09dm9pZCAwKXJldHVybiBCLmZhaWwoXCJBcmd1bWVudHMgJ3RleHQnIGFuZCAncmF3VGV4dCcgbWF5IG5vdCBib3RoIGJlIHVuZGVmaW5lZC5cIik7aT1mfWVsc2UgZiE9PXZvaWQgMCYmQi5hc3NlcnQoaT09PWYsXCJFeHBlY3RlZCBhcmd1bWVudCAndGV4dCcgdG8gYmUgdGhlIG5vcm1hbGl6ZWQgKGkuZS4gJ2Nvb2tlZCcpIHZlcnNpb24gb2YgYXJndW1lbnQgJ3Jhd1RleHQnLlwiKTtyZXR1cm4gaX1mdW5jdGlvbiBZcyhuKXtsZXQgaT0xMDI0O3JldHVybiBuJiYoaXw9MTI4KSxpfWZ1bmN0aW9uIFFsKG4saSxfLGMpe2xldCBmPSR0KG4pO3JldHVybiBmLnRleHQ9aSxmLnJhd1RleHQ9XyxmLnRlbXBsYXRlRmxhZ3M9YyY3MTc2LGYudHJhbnNmb3JtRmxhZ3M9WXMoZi50ZW1wbGF0ZUZsYWdzKSxmfWZ1bmN0aW9uIHJpKG4saSxfLGMpe2xldCBmPWFlKG4pO3JldHVybiBmLnRleHQ9aSxmLnJhd1RleHQ9XyxmLnRlbXBsYXRlRmxhZ3M9YyY3MTc2LGYudHJhbnNmb3JtRmxhZ3M9WXMoZi50ZW1wbGF0ZUZsYWdzKSxmfWZ1bmN0aW9uIGlpKG4saSxfLGMpe3JldHVybiBuPT09MTU/cmkobixpLF8sYyk6UWwobixpLF8sYyl9ZnVuY3Rpb24gSHMobixpLF8pe3JldHVybiBuPURpKDE2LG4saSxfKSxpaSgxNixuLGksXyl9ZnVuY3Rpb24gdWEobixpLF8pe3JldHVybiBuPURpKDE2LG4saSxfKSxpaSgxNyxuLGksXyl9ZnVuY3Rpb24gc18obixpLF8pe3JldHVybiBuPURpKDE2LG4saSxfKSxpaSgxOCxuLGksXyl9ZnVuY3Rpb24gS2wobixpLF8pe3JldHVybiBuPURpKDE2LG4saSxfKSxyaSgxNSxuLGksXyl9ZnVuY3Rpb24gb18obixpKXtCLmFzc2VydCghbnx8ISFpLFwiQSBgWWllbGRFeHByZXNzaW9uYCB3aXRoIGFuIGFzdGVyaXNrVG9rZW4gbXVzdCBoYXZlIGFuIGV4cHJlc3Npb24uXCIpO2xldCBfPU0oMjI5KTtyZXR1cm4gXy5leHByZXNzaW9uPWkmJm8oKS5wYXJlbnRoZXNpemVFeHByZXNzaW9uRm9yRGlzYWxsb3dlZENvbW1hKGkpLF8uYXN0ZXJpc2tUb2tlbj1uLF8udHJhbnNmb3JtRmxhZ3N8PXooXy5leHByZXNzaW9uKXx6KF8uYXN0ZXJpc2tUb2tlbil8MTAyNHwxMjh8MTA0ODU3NixffWZ1bmN0aW9uIFpsKG4saSxfKXtyZXR1cm4gbi5leHByZXNzaW9uIT09X3x8bi5hc3Rlcmlza1Rva2VuIT09aT9xKG9fKGksXyksbik6bn1mdW5jdGlvbiBYcyhuKXtsZXQgaT1NKDIzMCk7cmV0dXJuIGkuZXhwcmVzc2lvbj1vKCkucGFyZW50aGVzaXplRXhwcmVzc2lvbkZvckRpc2FsbG93ZWRDb21tYShuKSxpLnRyYW5zZm9ybUZsYWdzfD16KGkuZXhwcmVzc2lvbil8MTAyNHwzMjc2OCxpfWZ1bmN0aW9uIGV1KG4saSl7cmV0dXJuIG4uZXhwcmVzc2lvbiE9PWk/cShYcyhpKSxuKTpufWZ1bmN0aW9uICRzKG4saSxfLGMsZil7bGV0IHc9YWUoMjMxKTtyZXR1cm4gdy5tb2RpZmllcnM9RGUobiksdy5uYW1lPWV0KGkpLHcudHlwZVBhcmFtZXRlcnM9RGUoXyksdy5oZXJpdGFnZUNsYXVzZXM9RGUoYyksdy5tZW1iZXJzPWRlKGYpLHcudHJhbnNmb3JtRmxhZ3N8PWtlKHcubW9kaWZpZXJzKXxqbih3Lm5hbWUpfGtlKHcudHlwZVBhcmFtZXRlcnMpfGtlKHcuaGVyaXRhZ2VDbGF1c2VzKXxrZSh3Lm1lbWJlcnMpfCh3LnR5cGVQYXJhbWV0ZXJzPzE6MCl8MTAyNCx3LmpzRG9jPXZvaWQgMCx3fWZ1bmN0aW9uIGNfKG4saSxfLGMsZix3KXtyZXR1cm4gbi5tb2RpZmllcnMhPT1pfHxuLm5hbWUhPT1ffHxuLnR5cGVQYXJhbWV0ZXJzIT09Y3x8bi5oZXJpdGFnZUNsYXVzZXMhPT1mfHxuLm1lbWJlcnMhPT13P3EoJHMoaSxfLGMsZix3KSxuKTpufWZ1bmN0aW9uIGxfKCl7cmV0dXJuIE0oMjMyKX1mdW5jdGlvbiBRcyhuLGkpe2xldCBfPU0oMjMzKTtyZXR1cm4gXy5leHByZXNzaW9uPW8oKS5wYXJlbnRoZXNpemVMZWZ0U2lkZU9mQWNjZXNzKG4sITEpLF8udHlwZUFyZ3VtZW50cz1pJiZvKCkucGFyZW50aGVzaXplVHlwZUFyZ3VtZW50cyhpKSxfLnRyYW5zZm9ybUZsYWdzfD16KF8uZXhwcmVzc2lvbil8a2UoXy50eXBlQXJndW1lbnRzKXwxMDI0LF99ZnVuY3Rpb24gS3MobixpLF8pe3JldHVybiBuLmV4cHJlc3Npb24hPT1pfHxuLnR5cGVBcmd1bWVudHMhPT1fP3EoUXMoaSxfKSxuKTpufWZ1bmN0aW9uIGRuKG4saSl7bGV0IF89TSgyMzQpO3JldHVybiBfLmV4cHJlc3Npb249bixfLnR5cGU9aSxfLnRyYW5zZm9ybUZsYWdzfD16KF8uZXhwcmVzc2lvbil8eihfLnR5cGUpfDEsX31mdW5jdGlvbiBwYShuLGksXyl7cmV0dXJuIG4uZXhwcmVzc2lvbiE9PWl8fG4udHlwZSE9PV8/cShkbihpLF8pLG4pOm59ZnVuY3Rpb24gWnMobil7bGV0IGk9TSgyMzUpO3JldHVybiBpLmV4cHJlc3Npb249bygpLnBhcmVudGhlc2l6ZUxlZnRTaWRlT2ZBY2Nlc3MobiwhMSksaS50cmFuc2Zvcm1GbGFnc3w9eihpLmV4cHJlc3Npb24pfDEsaX1mdW5jdGlvbiBlbyhuLGkpe3JldHVybiBNZyhuKT9KbihuLGkpOm4uZXhwcmVzc2lvbiE9PWk/cShacyhpKSxuKTpufWZ1bmN0aW9uIHVfKG4saSl7bGV0IF89TSgyMzgpO3JldHVybiBfLmV4cHJlc3Npb249bixfLnR5cGU9aSxfLnRyYW5zZm9ybUZsYWdzfD16KF8uZXhwcmVzc2lvbil8eihfLnR5cGUpfDEsX31mdW5jdGlvbiB0byhuLGksXyl7cmV0dXJuIG4uZXhwcmVzc2lvbiE9PWl8fG4udHlwZSE9PV8/cSh1XyhpLF8pLG4pOm59ZnVuY3Rpb24gcF8obil7bGV0IGk9TSgyMzUpO3JldHVybiBpLmZsYWdzfD02NCxpLmV4cHJlc3Npb249bygpLnBhcmVudGhlc2l6ZUxlZnRTaWRlT2ZBY2Nlc3MobiwhMCksaS50cmFuc2Zvcm1GbGFnc3w9eihpLmV4cHJlc3Npb24pfDEsaX1mdW5jdGlvbiBKbihuLGkpe3JldHVybiBCLmFzc2VydCghIShuLmZsYWdzJjY0KSxcIkNhbm5vdCB1cGRhdGUgYSBOb25OdWxsRXhwcmVzc2lvbiB1c2luZyB1cGRhdGVOb25OdWxsQ2hhaW4uIFVzZSB1cGRhdGVOb25OdWxsRXhwcmVzc2lvbiBpbnN0ZWFkLlwiKSxuLmV4cHJlc3Npb24hPT1pP3EocF8oaSksbik6bn1mdW5jdGlvbiBubyhuLGkpe2xldCBfPU0oMjM2KTtzd2l0Y2goXy5rZXl3b3JkVG9rZW49bixfLm5hbWU9aSxfLnRyYW5zZm9ybUZsYWdzfD16KF8ubmFtZSksbil7Y2FzZSAxMDU6Xy50cmFuc2Zvcm1GbGFnc3w9MTAyNDticmVhaztjYXNlIDEwMjpfLnRyYW5zZm9ybUZsYWdzfD0zMjticmVhaztkZWZhdWx0OnJldHVybiBCLmFzc2VydE5ldmVyKG4pfXJldHVybiBfLmZsb3dOb2RlPXZvaWQgMCxffWZ1bmN0aW9uIGZfKG4saSl7cmV0dXJuIG4ubmFtZSE9PWk/cShubyhuLmtleXdvcmRUb2tlbixpKSxuKTpufWZ1bmN0aW9uIFhuKG4saSl7bGV0IF89TSgyMzkpO3JldHVybiBfLmV4cHJlc3Npb249bixfLmxpdGVyYWw9aSxfLnRyYW5zZm9ybUZsYWdzfD16KF8uZXhwcmVzc2lvbil8eihfLmxpdGVyYWwpfDEwMjQsX31mdW5jdGlvbiBmYShuLGksXyl7cmV0dXJuIG4uZXhwcmVzc2lvbiE9PWl8fG4ubGl0ZXJhbCE9PV8/cShYbihpLF8pLG4pOm59ZnVuY3Rpb24gcm8oKXtsZXQgbj1NKDI0MCk7cmV0dXJuIG4udHJhbnNmb3JtRmxhZ3N8PTEwMjQsbn1mdW5jdGlvbiBScihuLGkpe2xldCBfPU0oMjQxKTtyZXR1cm4gXy5zdGF0ZW1lbnRzPWRlKG4pLF8ubXVsdGlMaW5lPWksXy50cmFuc2Zvcm1GbGFnc3w9a2UoXy5zdGF0ZW1lbnRzKSxfLmpzRG9jPXZvaWQgMCxfLmxvY2Fscz12b2lkIDAsXy5uZXh0Q29udGFpbmVyPXZvaWQgMCxffWZ1bmN0aW9uIHR1KG4saSl7cmV0dXJuIG4uc3RhdGVtZW50cyE9PWk/cShScihpLG4ubXVsdGlMaW5lKSxuKTpufWZ1bmN0aW9uIGRfKG4saSl7bGV0IF89TSgyNDMpO3JldHVybiBfLm1vZGlmaWVycz1EZShuKSxfLmRlY2xhcmF0aW9uTGlzdD1ZcihpKT92XyhpKTppLF8udHJhbnNmb3JtRmxhZ3N8PWtlKF8ubW9kaWZpZXJzKXx6KF8uZGVjbGFyYXRpb25MaXN0KSxSbihfLm1vZGlmaWVycykmMTI4JiYoXy50cmFuc2Zvcm1GbGFncz0xKSxfLmpzRG9jPXZvaWQgMCxfLmZsb3dOb2RlPXZvaWQgMCxffWZ1bmN0aW9uIGlvKG4saSxfKXtyZXR1cm4gbi5tb2RpZmllcnMhPT1pfHxuLmRlY2xhcmF0aW9uTGlzdCE9PV8/cShkXyhpLF8pLG4pOm59ZnVuY3Rpb24gYW8oKXtsZXQgbj1NKDI0Mik7cmV0dXJuIG4uanNEb2M9dm9pZCAwLG59ZnVuY3Rpb24gUGkobil7bGV0IGk9TSgyNDQpO3JldHVybiBpLmV4cHJlc3Npb249bygpLnBhcmVudGhlc2l6ZUV4cHJlc3Npb25PZkV4cHJlc3Npb25TdGF0ZW1lbnQobiksaS50cmFuc2Zvcm1GbGFnc3w9eihpLmV4cHJlc3Npb24pLGkuanNEb2M9dm9pZCAwLGkuZmxvd05vZGU9dm9pZCAwLGl9ZnVuY3Rpb24gX28obixpKXtyZXR1cm4gbi5leHByZXNzaW9uIT09aT9xKFBpKGkpLG4pOm59ZnVuY3Rpb24gc28obixpLF8pe2xldCBjPU0oMjQ1KTtyZXR1cm4gYy5leHByZXNzaW9uPW4sYy50aGVuU3RhdGVtZW50PUl0KGkpLGMuZWxzZVN0YXRlbWVudD1JdChfKSxjLnRyYW5zZm9ybUZsYWdzfD16KGMuZXhwcmVzc2lvbil8eihjLnRoZW5TdGF0ZW1lbnQpfHooYy5lbHNlU3RhdGVtZW50KSxjLmpzRG9jPXZvaWQgMCxjLmZsb3dOb2RlPXZvaWQgMCxjfWZ1bmN0aW9uIG9vKG4saSxfLGMpe3JldHVybiBuLmV4cHJlc3Npb24hPT1pfHxuLnRoZW5TdGF0ZW1lbnQhPT1ffHxuLmVsc2VTdGF0ZW1lbnQhPT1jP3Eoc28oaSxfLGMpLG4pOm59ZnVuY3Rpb24gY28obixpKXtsZXQgXz1NKDI0Nik7cmV0dXJuIF8uc3RhdGVtZW50PUl0KG4pLF8uZXhwcmVzc2lvbj1pLF8udHJhbnNmb3JtRmxhZ3N8PXooXy5zdGF0ZW1lbnQpfHooXy5leHByZXNzaW9uKSxfLmpzRG9jPXZvaWQgMCxfLmZsb3dOb2RlPXZvaWQgMCxffWZ1bmN0aW9uIGxvKG4saSxfKXtyZXR1cm4gbi5zdGF0ZW1lbnQhPT1pfHxuLmV4cHJlc3Npb24hPT1fP3EoY28oaSxfKSxuKTpufWZ1bmN0aW9uIHVvKG4saSl7bGV0IF89TSgyNDcpO3JldHVybiBfLmV4cHJlc3Npb249bixfLnN0YXRlbWVudD1JdChpKSxfLnRyYW5zZm9ybUZsYWdzfD16KF8uZXhwcmVzc2lvbil8eihfLnN0YXRlbWVudCksXy5qc0RvYz12b2lkIDAsXy5mbG93Tm9kZT12b2lkIDAsX31mdW5jdGlvbiBudShuLGksXyl7cmV0dXJuIG4uZXhwcmVzc2lvbiE9PWl8fG4uc3RhdGVtZW50IT09Xz9xKHVvKGksXyksbik6bn1mdW5jdGlvbiBwbyhuLGksXyxjKXtsZXQgZj1NKDI0OCk7cmV0dXJuIGYuaW5pdGlhbGl6ZXI9bixmLmNvbmRpdGlvbj1pLGYuaW5jcmVtZW50b3I9XyxmLnN0YXRlbWVudD1JdChjKSxmLnRyYW5zZm9ybUZsYWdzfD16KGYuaW5pdGlhbGl6ZXIpfHooZi5jb25kaXRpb24pfHooZi5pbmNyZW1lbnRvcil8eihmLnN0YXRlbWVudCksZi5qc0RvYz12b2lkIDAsZi5sb2NhbHM9dm9pZCAwLGYubmV4dENvbnRhaW5lcj12b2lkIDAsZi5mbG93Tm9kZT12b2lkIDAsZn1mdW5jdGlvbiBmbyhuLGksXyxjLGYpe3JldHVybiBuLmluaXRpYWxpemVyIT09aXx8bi5jb25kaXRpb24hPT1ffHxuLmluY3JlbWVudG9yIT09Y3x8bi5zdGF0ZW1lbnQhPT1mP3EocG8oaSxfLGMsZiksbik6bn1mdW5jdGlvbiBtXyhuLGksXyl7bGV0IGM9TSgyNDkpO3JldHVybiBjLmluaXRpYWxpemVyPW4sYy5leHByZXNzaW9uPWksYy5zdGF0ZW1lbnQ9SXQoXyksYy50cmFuc2Zvcm1GbGFnc3w9eihjLmluaXRpYWxpemVyKXx6KGMuZXhwcmVzc2lvbil8eihjLnN0YXRlbWVudCksYy5qc0RvYz12b2lkIDAsYy5sb2NhbHM9dm9pZCAwLGMubmV4dENvbnRhaW5lcj12b2lkIDAsYy5mbG93Tm9kZT12b2lkIDAsY31mdW5jdGlvbiBydShuLGksXyxjKXtyZXR1cm4gbi5pbml0aWFsaXplciE9PWl8fG4uZXhwcmVzc2lvbiE9PV98fG4uc3RhdGVtZW50IT09Yz9xKG1fKGksXyxjKSxuKTpufWZ1bmN0aW9uIG1vKG4saSxfLGMpe2xldCBmPU0oMjUwKTtyZXR1cm4gZi5hd2FpdE1vZGlmaWVyPW4sZi5pbml0aWFsaXplcj1pLGYuZXhwcmVzc2lvbj1vKCkucGFyZW50aGVzaXplRXhwcmVzc2lvbkZvckRpc2FsbG93ZWRDb21tYShfKSxmLnN0YXRlbWVudD1JdChjKSxmLnRyYW5zZm9ybUZsYWdzfD16KGYuYXdhaXRNb2RpZmllcil8eihmLmluaXRpYWxpemVyKXx6KGYuZXhwcmVzc2lvbil8eihmLnN0YXRlbWVudCl8MTAyNCxuJiYoZi50cmFuc2Zvcm1GbGFnc3w9MTI4KSxmLmpzRG9jPXZvaWQgMCxmLmxvY2Fscz12b2lkIDAsZi5uZXh0Q29udGFpbmVyPXZvaWQgMCxmLmZsb3dOb2RlPXZvaWQgMCxmfWZ1bmN0aW9uIGl1KG4saSxfLGMsZil7cmV0dXJuIG4uYXdhaXRNb2RpZmllciE9PWl8fG4uaW5pdGlhbGl6ZXIhPT1ffHxuLmV4cHJlc3Npb24hPT1jfHxuLnN0YXRlbWVudCE9PWY/cShtbyhpLF8sYyxmKSxuKTpufWZ1bmN0aW9uIGhvKG4pe2xldCBpPU0oMjUxKTtyZXR1cm4gaS5sYWJlbD1ldChuKSxpLnRyYW5zZm9ybUZsYWdzfD16KGkubGFiZWwpfDQxOTQzMDQsaS5qc0RvYz12b2lkIDAsaS5mbG93Tm9kZT12b2lkIDAsaX1mdW5jdGlvbiBhdShuLGkpe3JldHVybiBuLmxhYmVsIT09aT9xKGhvKGkpLG4pOm59ZnVuY3Rpb24gaF8obil7bGV0IGk9TSgyNTIpO3JldHVybiBpLmxhYmVsPWV0KG4pLGkudHJhbnNmb3JtRmxhZ3N8PXooaS5sYWJlbCl8NDE5NDMwNCxpLmpzRG9jPXZvaWQgMCxpLmZsb3dOb2RlPXZvaWQgMCxpfWZ1bmN0aW9uIHlvKG4saSl7cmV0dXJuIG4ubGFiZWwhPT1pP3EoaF8oaSksbik6bn1mdW5jdGlvbiB5XyhuKXtsZXQgaT1NKDI1Myk7cmV0dXJuIGkuZXhwcmVzc2lvbj1uLGkudHJhbnNmb3JtRmxhZ3N8PXooaS5leHByZXNzaW9uKXwxMjh8NDE5NDMwNCxpLmpzRG9jPXZvaWQgMCxpLmZsb3dOb2RlPXZvaWQgMCxpfWZ1bmN0aW9uIF91KG4saSl7cmV0dXJuIG4uZXhwcmVzc2lvbiE9PWk/cSh5XyhpKSxuKTpufWZ1bmN0aW9uIGdfKG4saSl7bGV0IF89TSgyNTQpO3JldHVybiBfLmV4cHJlc3Npb249bixfLnN0YXRlbWVudD1JdChpKSxfLnRyYW5zZm9ybUZsYWdzfD16KF8uZXhwcmVzc2lvbil8eihfLnN0YXRlbWVudCksXy5qc0RvYz12b2lkIDAsXy5mbG93Tm9kZT12b2lkIDAsX31mdW5jdGlvbiBnbyhuLGksXyl7cmV0dXJuIG4uZXhwcmVzc2lvbiE9PWl8fG4uc3RhdGVtZW50IT09Xz9xKGdfKGksXyksbik6bn1mdW5jdGlvbiBiXyhuLGkpe2xldCBfPU0oMjU1KTtyZXR1cm4gXy5leHByZXNzaW9uPW8oKS5wYXJlbnRoZXNpemVFeHByZXNzaW9uRm9yRGlzYWxsb3dlZENvbW1hKG4pLF8uY2FzZUJsb2NrPWksXy50cmFuc2Zvcm1GbGFnc3w9eihfLmV4cHJlc3Npb24pfHooXy5jYXNlQmxvY2spLF8uanNEb2M9dm9pZCAwLF8uZmxvd05vZGU9dm9pZCAwLF8ucG9zc2libHlFeGhhdXN0aXZlPSExLF99ZnVuY3Rpb24gYWkobixpLF8pe3JldHVybiBuLmV4cHJlc3Npb24hPT1pfHxuLmNhc2VCbG9jayE9PV8/cShiXyhpLF8pLG4pOm59ZnVuY3Rpb24gYm8obixpKXtsZXQgXz1NKDI1Nik7cmV0dXJuIF8ubGFiZWw9ZXQobiksXy5zdGF0ZW1lbnQ9SXQoaSksXy50cmFuc2Zvcm1GbGFnc3w9eihfLmxhYmVsKXx6KF8uc3RhdGVtZW50KSxfLmpzRG9jPXZvaWQgMCxfLmZsb3dOb2RlPXZvaWQgMCxffWZ1bmN0aW9uIHZvKG4saSxfKXtyZXR1cm4gbi5sYWJlbCE9PWl8fG4uc3RhdGVtZW50IT09Xz9xKGJvKGksXyksbik6bn1mdW5jdGlvbiBUbyhuKXtsZXQgaT1NKDI1Nyk7cmV0dXJuIGkuZXhwcmVzc2lvbj1uLGkudHJhbnNmb3JtRmxhZ3N8PXooaS5leHByZXNzaW9uKSxpLmpzRG9jPXZvaWQgMCxpLmZsb3dOb2RlPXZvaWQgMCxpfWZ1bmN0aW9uIHN1KG4saSl7cmV0dXJuIG4uZXhwcmVzc2lvbiE9PWk/cShUbyhpKSxuKTpufWZ1bmN0aW9uIHhvKG4saSxfKXtsZXQgYz1NKDI1OCk7cmV0dXJuIGMudHJ5QmxvY2s9bixjLmNhdGNoQ2xhdXNlPWksYy5maW5hbGx5QmxvY2s9XyxjLnRyYW5zZm9ybUZsYWdzfD16KGMudHJ5QmxvY2spfHooYy5jYXRjaENsYXVzZSl8eihjLmZpbmFsbHlCbG9jayksYy5qc0RvYz12b2lkIDAsYy5mbG93Tm9kZT12b2lkIDAsY31mdW5jdGlvbiBvdShuLGksXyxjKXtyZXR1cm4gbi50cnlCbG9jayE9PWl8fG4uY2F0Y2hDbGF1c2UhPT1ffHxuLmZpbmFsbHlCbG9jayE9PWM/cSh4byhpLF8sYyksbik6bn1mdW5jdGlvbiBTbygpe2xldCBuPU0oMjU5KTtyZXR1cm4gbi5qc0RvYz12b2lkIDAsbi5mbG93Tm9kZT12b2lkIDAsbn1mdW5jdGlvbiBkYShuLGksXyxjKXtsZXQgZj1hZSgyNjApO3JldHVybiBmLm5hbWU9ZXQobiksZi5leGNsYW1hdGlvblRva2VuPWksZi50eXBlPV8sZi5pbml0aWFsaXplcj1DYShjKSxmLnRyYW5zZm9ybUZsYWdzfD1qbihmLm5hbWUpfHooZi5pbml0aWFsaXplcil8KGYuZXhjbGFtYXRpb25Ub2tlbj8/Zi50eXBlPzE6MCksZi5qc0RvYz12b2lkIDAsZn1mdW5jdGlvbiB3byhuLGksXyxjLGYpe3JldHVybiBuLm5hbWUhPT1pfHxuLnR5cGUhPT1jfHxuLmV4Y2xhbWF0aW9uVG9rZW4hPT1ffHxuLmluaXRpYWxpemVyIT09Zj9xKGRhKGksXyxjLGYpLG4pOm59ZnVuY3Rpb24gdl8obixpPTApe2xldCBfPU0oMjYxKTtyZXR1cm4gXy5mbGFnc3w9aSY3LF8uZGVjbGFyYXRpb25zPWRlKG4pLF8udHJhbnNmb3JtRmxhZ3N8PWtlKF8uZGVjbGFyYXRpb25zKXw0MTk0MzA0LGkmNyYmKF8udHJhbnNmb3JtRmxhZ3N8PTI2MzE2OCksaSY0JiYoXy50cmFuc2Zvcm1GbGFnc3w9NCksX31mdW5jdGlvbiBjdShuLGkpe3JldHVybiBuLmRlY2xhcmF0aW9ucyE9PWk/cSh2XyhpLG4uZmxhZ3MpLG4pOm59ZnVuY3Rpb24ga28obixpLF8sYyxmLHcsRil7bGV0IHBlPWFlKDI2Mik7aWYocGUubW9kaWZpZXJzPURlKG4pLHBlLmFzdGVyaXNrVG9rZW49aSxwZS5uYW1lPWV0KF8pLHBlLnR5cGVQYXJhbWV0ZXJzPURlKGMpLHBlLnBhcmFtZXRlcnM9ZGUoZikscGUudHlwZT13LHBlLmJvZHk9RiwhcGUuYm9keXx8Um4ocGUubW9kaWZpZXJzKSYxMjgpcGUudHJhbnNmb3JtRmxhZ3M9MTtlbHNle2xldCBSZT1SbihwZS5tb2RpZmllcnMpJjEwMjQsZW49ISFwZS5hc3Rlcmlza1Rva2VuLGtuPVJlJiZlbjtwZS50cmFuc2Zvcm1GbGFncz1rZShwZS5tb2RpZmllcnMpfHoocGUuYXN0ZXJpc2tUb2tlbil8am4ocGUubmFtZSl8a2UocGUudHlwZVBhcmFtZXRlcnMpfGtlKHBlLnBhcmFtZXRlcnMpfHoocGUudHlwZSl8eihwZS5ib2R5KSYtNjcxMDg4NjV8KGtuPzEyODpSZT8yNTY6ZW4/MjA0ODowKXwocGUudHlwZVBhcmFtZXRlcnN8fHBlLnR5cGU/MTowKXw0MTk0MzA0fXJldHVybiBwZS50eXBlQXJndW1lbnRzPXZvaWQgMCxwZS5qc0RvYz12b2lkIDAscGUubG9jYWxzPXZvaWQgMCxwZS5uZXh0Q29udGFpbmVyPXZvaWQgMCxwZS5lbmRGbG93Tm9kZT12b2lkIDAscGUucmV0dXJuRmxvd05vZGU9dm9pZCAwLHBlfWZ1bmN0aW9uIFRfKG4saSxfLGMsZix3LEYscGUpe3JldHVybiBuLm1vZGlmaWVycyE9PWl8fG4uYXN0ZXJpc2tUb2tlbiE9PV98fG4ubmFtZSE9PWN8fG4udHlwZVBhcmFtZXRlcnMhPT1mfHxuLnBhcmFtZXRlcnMhPT13fHxuLnR5cGUhPT1GfHxuLmJvZHkhPT1wZT9sdShrbyhpLF8sYyxmLHcsRixwZSksbik6bn1mdW5jdGlvbiBsdShuLGkpe3JldHVybiBuIT09aSYmbi5tb2RpZmllcnM9PT1pLm1vZGlmaWVycyYmKG4ubW9kaWZpZXJzPWkubW9kaWZpZXJzKSxPZShuLGkpfWZ1bmN0aW9uIEVvKG4saSxfLGMsZil7bGV0IHc9YWUoMjYzKTtyZXR1cm4gdy5tb2RpZmllcnM9RGUobiksdy5uYW1lPWV0KGkpLHcudHlwZVBhcmFtZXRlcnM9RGUoXyksdy5oZXJpdGFnZUNsYXVzZXM9RGUoYyksdy5tZW1iZXJzPWRlKGYpLFJuKHcubW9kaWZpZXJzKSYxMjg/dy50cmFuc2Zvcm1GbGFncz0xOih3LnRyYW5zZm9ybUZsYWdzfD1rZSh3Lm1vZGlmaWVycyl8am4ody5uYW1lKXxrZSh3LnR5cGVQYXJhbWV0ZXJzKXxrZSh3Lmhlcml0YWdlQ2xhdXNlcyl8a2Uody5tZW1iZXJzKXwody50eXBlUGFyYW1ldGVycz8xOjApfDEwMjQsdy50cmFuc2Zvcm1GbGFncyY4MTkyJiYody50cmFuc2Zvcm1GbGFnc3w9MSkpLHcuanNEb2M9dm9pZCAwLHd9ZnVuY3Rpb24gbWEobixpLF8sYyxmLHcpe3JldHVybiBuLm1vZGlmaWVycyE9PWl8fG4ubmFtZSE9PV98fG4udHlwZVBhcmFtZXRlcnMhPT1jfHxuLmhlcml0YWdlQ2xhdXNlcyE9PWZ8fG4ubWVtYmVycyE9PXc/cShFbyhpLF8sYyxmLHcpLG4pOm59ZnVuY3Rpb24gQW8obixpLF8sYyxmKXtsZXQgdz1hZSgyNjQpO3JldHVybiB3Lm1vZGlmaWVycz1EZShuKSx3Lm5hbWU9ZXQoaSksdy50eXBlUGFyYW1ldGVycz1EZShfKSx3Lmhlcml0YWdlQ2xhdXNlcz1EZShjKSx3Lm1lbWJlcnM9ZGUoZiksdy50cmFuc2Zvcm1GbGFncz0xLHcuanNEb2M9dm9pZCAwLHd9ZnVuY3Rpb24gQ28obixpLF8sYyxmLHcpe3JldHVybiBuLm1vZGlmaWVycyE9PWl8fG4ubmFtZSE9PV98fG4udHlwZVBhcmFtZXRlcnMhPT1jfHxuLmhlcml0YWdlQ2xhdXNlcyE9PWZ8fG4ubWVtYmVycyE9PXc/cShBbyhpLF8sYyxmLHcpLG4pOm59ZnVuY3Rpb24gb3QobixpLF8sYyl7bGV0IGY9YWUoMjY1KTtyZXR1cm4gZi5tb2RpZmllcnM9RGUobiksZi5uYW1lPWV0KGkpLGYudHlwZVBhcmFtZXRlcnM9RGUoXyksZi50eXBlPWMsZi50cmFuc2Zvcm1GbGFncz0xLGYuanNEb2M9dm9pZCAwLGYubG9jYWxzPXZvaWQgMCxmLm5leHRDb250YWluZXI9dm9pZCAwLGZ9ZnVuY3Rpb24gZ3IobixpLF8sYyxmKXtyZXR1cm4gbi5tb2RpZmllcnMhPT1pfHxuLm5hbWUhPT1ffHxuLnR5cGVQYXJhbWV0ZXJzIT09Y3x8bi50eXBlIT09Zj9xKG90KGksXyxjLGYpLG4pOm59ZnVuY3Rpb24geF8obixpLF8pe2xldCBjPWFlKDI2Nik7cmV0dXJuIGMubW9kaWZpZXJzPURlKG4pLGMubmFtZT1ldChpKSxjLm1lbWJlcnM9ZGUoXyksYy50cmFuc2Zvcm1GbGFnc3w9a2UoYy5tb2RpZmllcnMpfHooYy5uYW1lKXxrZShjLm1lbWJlcnMpfDEsYy50cmFuc2Zvcm1GbGFncyY9LTY3MTA4ODY1LGMuanNEb2M9dm9pZCAwLGN9ZnVuY3Rpb24gYnIobixpLF8sYyl7cmV0dXJuIG4ubW9kaWZpZXJzIT09aXx8bi5uYW1lIT09X3x8bi5tZW1iZXJzIT09Yz9xKHhfKGksXyxjKSxuKTpufWZ1bmN0aW9uIERvKG4saSxfLGM9MCl7bGV0IGY9YWUoMjY3KTtyZXR1cm4gZi5tb2RpZmllcnM9RGUobiksZi5mbGFnc3w9YyYyMDg4LGYubmFtZT1pLGYuYm9keT1fLFJuKGYubW9kaWZpZXJzKSYxMjg/Zi50cmFuc2Zvcm1GbGFncz0xOmYudHJhbnNmb3JtRmxhZ3N8PWtlKGYubW9kaWZpZXJzKXx6KGYubmFtZSl8eihmLmJvZHkpfDEsZi50cmFuc2Zvcm1GbGFncyY9LTY3MTA4ODY1LGYuanNEb2M9dm9pZCAwLGYubG9jYWxzPXZvaWQgMCxmLm5leHRDb250YWluZXI9dm9pZCAwLGZ9ZnVuY3Rpb24gRXQobixpLF8sYyl7cmV0dXJuIG4ubW9kaWZpZXJzIT09aXx8bi5uYW1lIT09X3x8bi5ib2R5IT09Yz9xKERvKGksXyxjLG4uZmxhZ3MpLG4pOm59ZnVuY3Rpb24gdnIobil7bGV0IGk9TSgyNjgpO3JldHVybiBpLnN0YXRlbWVudHM9ZGUobiksaS50cmFuc2Zvcm1GbGFnc3w9a2UoaS5zdGF0ZW1lbnRzKSxpLmpzRG9jPXZvaWQgMCxpfWZ1bmN0aW9uIHp0KG4saSl7cmV0dXJuIG4uc3RhdGVtZW50cyE9PWk/cSh2cihpKSxuKTpufWZ1bmN0aW9uIFBvKG4pe2xldCBpPU0oMjY5KTtyZXR1cm4gaS5jbGF1c2VzPWRlKG4pLGkudHJhbnNmb3JtRmxhZ3N8PWtlKGkuY2xhdXNlcyksaS5sb2NhbHM9dm9pZCAwLGkubmV4dENvbnRhaW5lcj12b2lkIDAsaX1mdW5jdGlvbiB1dShuLGkpe3JldHVybiBuLmNsYXVzZXMhPT1pP3EoUG8oaSksbik6bn1mdW5jdGlvbiBObyhuKXtsZXQgaT1hZSgyNzApO3JldHVybiBpLm5hbWU9ZXQobiksaS50cmFuc2Zvcm1GbGFnc3w9amEoaS5uYW1lKXwxLGkubW9kaWZpZXJzPXZvaWQgMCxpLmpzRG9jPXZvaWQgMCxpfWZ1bmN0aW9uIElvKG4saSl7cmV0dXJuIG4ubmFtZSE9PWk/cHUoTm8oaSksbik6bn1mdW5jdGlvbiBwdShuLGkpe3JldHVybiBuIT09aSYmKG4ubW9kaWZpZXJzPWkubW9kaWZpZXJzKSxxKG4saSl9ZnVuY3Rpb24gT28obixpLF8sYyl7bGV0IGY9YWUoMjcxKTtyZXR1cm4gZi5tb2RpZmllcnM9RGUobiksZi5uYW1lPWV0KF8pLGYuaXNUeXBlT25seT1pLGYubW9kdWxlUmVmZXJlbmNlPWMsZi50cmFuc2Zvcm1GbGFnc3w9a2UoZi5tb2RpZmllcnMpfGphKGYubmFtZSl8eihmLm1vZHVsZVJlZmVyZW5jZSksemYoZi5tb2R1bGVSZWZlcmVuY2UpfHwoZi50cmFuc2Zvcm1GbGFnc3w9MSksZi50cmFuc2Zvcm1GbGFncyY9LTY3MTA4ODY1LGYuanNEb2M9dm9pZCAwLGZ9ZnVuY3Rpb24gTW8obixpLF8sYyxmKXtyZXR1cm4gbi5tb2RpZmllcnMhPT1pfHxuLmlzVHlwZU9ubHkhPT1ffHxuLm5hbWUhPT1jfHxuLm1vZHVsZVJlZmVyZW5jZSE9PWY/cShPbyhpLF8sYyxmKSxuKTpufWZ1bmN0aW9uIEpvKG4saSxfLGMpe2xldCBmPU0oMjcyKTtyZXR1cm4gZi5tb2RpZmllcnM9RGUobiksZi5pbXBvcnRDbGF1c2U9aSxmLm1vZHVsZVNwZWNpZmllcj1fLGYuYXR0cmlidXRlcz1mLmFzc2VydENsYXVzZT1jLGYudHJhbnNmb3JtRmxhZ3N8PXooZi5pbXBvcnRDbGF1c2UpfHooZi5tb2R1bGVTcGVjaWZpZXIpLGYudHJhbnNmb3JtRmxhZ3MmPS02NzEwODg2NSxmLmpzRG9jPXZvaWQgMCxmfWZ1bmN0aW9uIExvKG4saSxfLGMsZil7cmV0dXJuIG4ubW9kaWZpZXJzIT09aXx8bi5pbXBvcnRDbGF1c2UhPT1ffHxuLm1vZHVsZVNwZWNpZmllciE9PWN8fG4uYXR0cmlidXRlcyE9PWY/cShKbyhpLF8sYyxmKSxuKTpufWZ1bmN0aW9uIGpvKG4saSxfKXtsZXQgYz1hZSgyNzMpO3JldHVybiBjLmlzVHlwZU9ubHk9bixjLm5hbWU9aSxjLm5hbWVkQmluZGluZ3M9XyxjLnRyYW5zZm9ybUZsYWdzfD16KGMubmFtZSl8eihjLm5hbWVkQmluZGluZ3MpLG4mJihjLnRyYW5zZm9ybUZsYWdzfD0xKSxjLnRyYW5zZm9ybUZsYWdzJj0tNjcxMDg4NjUsY31mdW5jdGlvbiBSbyhuLGksXyxjKXtyZXR1cm4gbi5pc1R5cGVPbmx5IT09aXx8bi5uYW1lIT09X3x8bi5uYW1lZEJpbmRpbmdzIT09Yz9xKGpvKGksXyxjKSxuKTpufWZ1bmN0aW9uIFNfKG4saSl7bGV0IF89TSgzMDApO3JldHVybiBfLmVsZW1lbnRzPWRlKG4pLF8ubXVsdGlMaW5lPWksXy50b2tlbj0xMzIsXy50cmFuc2Zvcm1GbGFnc3w9NCxffWZ1bmN0aW9uIGZ1KG4saSxfKXtyZXR1cm4gbi5lbGVtZW50cyE9PWl8fG4ubXVsdGlMaW5lIT09Xz9xKFNfKGksXyksbik6bn1mdW5jdGlvbiBOaShuLGkpe2xldCBfPU0oMzAxKTtyZXR1cm4gXy5uYW1lPW4sXy52YWx1ZT1pLF8udHJhbnNmb3JtRmxhZ3N8PTQsX31mdW5jdGlvbiBVbyhuLGksXyl7cmV0dXJuIG4ubmFtZSE9PWl8fG4udmFsdWUhPT1fP3EoTmkoaSxfKSxuKTpufWZ1bmN0aW9uIHdfKG4saSl7bGV0IF89TSgzMDIpO3JldHVybiBfLmFzc2VydENsYXVzZT1uLF8ubXVsdGlMaW5lPWksX31mdW5jdGlvbiBCbyhuLGksXyl7cmV0dXJuIG4uYXNzZXJ0Q2xhdXNlIT09aXx8bi5tdWx0aUxpbmUhPT1fP3Eod18oaSxfKSxuKTpufWZ1bmN0aW9uIHFvKG4saSxfKXtsZXQgYz1NKDMwMCk7cmV0dXJuIGMudG9rZW49Xz8/MTE4LGMuZWxlbWVudHM9ZGUobiksYy5tdWx0aUxpbmU9aSxjLnRyYW5zZm9ybUZsYWdzfD00LGN9ZnVuY3Rpb24ga18obixpLF8pe3JldHVybiBuLmVsZW1lbnRzIT09aXx8bi5tdWx0aUxpbmUhPT1fP3EocW8oaSxfLG4udG9rZW4pLG4pOm59ZnVuY3Rpb24gem8obixpKXtsZXQgXz1NKDMwMSk7cmV0dXJuIF8ubmFtZT1uLF8udmFsdWU9aSxfLnRyYW5zZm9ybUZsYWdzfD00LF99ZnVuY3Rpb24gRm8obixpLF8pe3JldHVybiBuLm5hbWUhPT1pfHxuLnZhbHVlIT09Xz9xKHpvKGksXyksbik6bn1mdW5jdGlvbiBWbyhuKXtsZXQgaT1hZSgyNzQpO3JldHVybiBpLm5hbWU9bixpLnRyYW5zZm9ybUZsYWdzfD16KGkubmFtZSksaS50cmFuc2Zvcm1GbGFncyY9LTY3MTA4ODY1LGl9ZnVuY3Rpb24gZHUobixpKXtyZXR1cm4gbi5uYW1lIT09aT9xKFZvKGkpLG4pOm59ZnVuY3Rpb24gV28obil7bGV0IGk9YWUoMjgwKTtyZXR1cm4gaS5uYW1lPW4saS50cmFuc2Zvcm1GbGFnc3w9eihpLm5hbWUpfDMyLGkudHJhbnNmb3JtRmxhZ3MmPS02NzEwODg2NSxpfWZ1bmN0aW9uIG11KG4saSl7cmV0dXJuIG4ubmFtZSE9PWk/cShXbyhpKSxuKTpufWZ1bmN0aW9uIEdvKG4pe2xldCBpPU0oMjc1KTtyZXR1cm4gaS5lbGVtZW50cz1kZShuKSxpLnRyYW5zZm9ybUZsYWdzfD1rZShpLmVsZW1lbnRzKSxpLnRyYW5zZm9ybUZsYWdzJj0tNjcxMDg4NjUsaX1mdW5jdGlvbiBZbyhuLGkpe3JldHVybiBuLmVsZW1lbnRzIT09aT9xKEdvKGkpLG4pOm59ZnVuY3Rpb24gVHIobixpLF8pe2xldCBjPWFlKDI3Nik7cmV0dXJuIGMuaXNUeXBlT25seT1uLGMucHJvcGVydHlOYW1lPWksYy5uYW1lPV8sYy50cmFuc2Zvcm1GbGFnc3w9eihjLnByb3BlcnR5TmFtZSl8eihjLm5hbWUpLGMudHJhbnNmb3JtRmxhZ3MmPS02NzEwODg2NSxjfWZ1bmN0aW9uIGh1KG4saSxfLGMpe3JldHVybiBuLmlzVHlwZU9ubHkhPT1pfHxuLnByb3BlcnR5TmFtZSE9PV98fG4ubmFtZSE9PWM/cShUcihpLF8sYyksbik6bn1mdW5jdGlvbiBoYShuLGksXyl7bGV0IGM9YWUoMjc3KTtyZXR1cm4gYy5tb2RpZmllcnM9RGUobiksYy5pc0V4cG9ydEVxdWFscz1pLGMuZXhwcmVzc2lvbj1pP28oKS5wYXJlbnRoZXNpemVSaWdodFNpZGVPZkJpbmFyeSg2NCx2b2lkIDAsXyk6bygpLnBhcmVudGhlc2l6ZUV4cHJlc3Npb25PZkV4cG9ydERlZmF1bHQoXyksYy50cmFuc2Zvcm1GbGFnc3w9a2UoYy5tb2RpZmllcnMpfHooYy5leHByZXNzaW9uKSxjLnRyYW5zZm9ybUZsYWdzJj0tNjcxMDg4NjUsYy5qc0RvYz12b2lkIDAsY31mdW5jdGlvbiBJaShuLGksXyl7cmV0dXJuIG4ubW9kaWZpZXJzIT09aXx8bi5leHByZXNzaW9uIT09Xz9xKGhhKGksbi5pc0V4cG9ydEVxdWFscyxfKSxuKTpufWZ1bmN0aW9uIHlhKG4saSxfLGMsZil7bGV0IHc9YWUoMjc4KTtyZXR1cm4gdy5tb2RpZmllcnM9RGUobiksdy5pc1R5cGVPbmx5PWksdy5leHBvcnRDbGF1c2U9Xyx3Lm1vZHVsZVNwZWNpZmllcj1jLHcuYXR0cmlidXRlcz13LmFzc2VydENsYXVzZT1mLHcudHJhbnNmb3JtRmxhZ3N8PWtlKHcubW9kaWZpZXJzKXx6KHcuZXhwb3J0Q2xhdXNlKXx6KHcubW9kdWxlU3BlY2lmaWVyKSx3LnRyYW5zZm9ybUZsYWdzJj0tNjcxMDg4NjUsdy5qc0RvYz12b2lkIDAsd31mdW5jdGlvbiBIbyhuLGksXyxjLGYsdyl7cmV0dXJuIG4ubW9kaWZpZXJzIT09aXx8bi5pc1R5cGVPbmx5IT09X3x8bi5leHBvcnRDbGF1c2UhPT1jfHxuLm1vZHVsZVNwZWNpZmllciE9PWZ8fG4uYXR0cmlidXRlcyE9PXc/T2koeWEoaSxfLGMsZix3KSxuKTpufWZ1bmN0aW9uIE9pKG4saSl7cmV0dXJuIG4hPT1pJiZuLm1vZGlmaWVycz09PWkubW9kaWZpZXJzJiYobi5tb2RpZmllcnM9aS5tb2RpZmllcnMpLHEobixpKX1mdW5jdGlvbiBFXyhuKXtsZXQgaT1NKDI3OSk7cmV0dXJuIGkuZWxlbWVudHM9ZGUobiksaS50cmFuc2Zvcm1GbGFnc3w9a2UoaS5lbGVtZW50cyksaS50cmFuc2Zvcm1GbGFncyY9LTY3MTA4ODY1LGl9ZnVuY3Rpb24geXUobixpKXtyZXR1cm4gbi5lbGVtZW50cyE9PWk/cShFXyhpKSxuKTpufWZ1bmN0aW9uIGdhKG4saSxfKXtsZXQgYz1NKDI4MSk7cmV0dXJuIGMuaXNUeXBlT25seT1uLGMucHJvcGVydHlOYW1lPWV0KGkpLGMubmFtZT1ldChfKSxjLnRyYW5zZm9ybUZsYWdzfD16KGMucHJvcGVydHlOYW1lKXx6KGMubmFtZSksYy50cmFuc2Zvcm1GbGFncyY9LTY3MTA4ODY1LGMuanNEb2M9dm9pZCAwLGN9ZnVuY3Rpb24gZ3UobixpLF8sYyl7cmV0dXJuIG4uaXNUeXBlT25seSE9PWl8fG4ucHJvcGVydHlOYW1lIT09X3x8bi5uYW1lIT09Yz9xKGdhKGksXyxjKSxuKTpufWZ1bmN0aW9uIGJ1KCl7bGV0IG49YWUoMjgyKTtyZXR1cm4gbi5qc0RvYz12b2lkIDAsbn1mdW5jdGlvbiBBXyhuKXtsZXQgaT1NKDI4Myk7cmV0dXJuIGkuZXhwcmVzc2lvbj1uLGkudHJhbnNmb3JtRmxhZ3N8PXooaS5leHByZXNzaW9uKSxpLnRyYW5zZm9ybUZsYWdzJj0tNjcxMDg4NjUsaX1mdW5jdGlvbiB2dShuLGkpe3JldHVybiBuLmV4cHJlc3Npb24hPT1pP3EoQV8oaSksbik6bn1mdW5jdGlvbiBYbyhuKXtyZXR1cm4gTShuKX1mdW5jdGlvbiAkbyhuLGksXz0hMSl7bGV0IGM9Q18obixfP2kmJm8oKS5wYXJlbnRoZXNpemVOb25BcnJheVR5cGVPZlBvc3RmaXhUeXBlKGkpOmkpO3JldHVybiBjLnBvc3RmaXg9XyxjfWZ1bmN0aW9uIENfKG4saSl7bGV0IF89TShuKTtyZXR1cm4gXy50eXBlPWksX31mdW5jdGlvbiBUdShuLGksXyl7cmV0dXJuIGkudHlwZSE9PV8/cSgkbyhuLF8saS5wb3N0Zml4KSxpKTppfWZ1bmN0aW9uIHh1KG4saSxfKXtyZXR1cm4gaS50eXBlIT09Xz9xKENfKG4sXyksaSk6aX1mdW5jdGlvbiBRbyhuLGkpe2xldCBfPWFlKDMxNyk7cmV0dXJuIF8ucGFyYW1ldGVycz1EZShuKSxfLnR5cGU9aSxfLnRyYW5zZm9ybUZsYWdzPWtlKF8ucGFyYW1ldGVycyl8KF8udHlwZT8xOjApLF8uanNEb2M9dm9pZCAwLF8ubG9jYWxzPXZvaWQgMCxfLm5leHRDb250YWluZXI9dm9pZCAwLF8udHlwZUFyZ3VtZW50cz12b2lkIDAsX31mdW5jdGlvbiBTdShuLGksXyl7cmV0dXJuIG4ucGFyYW1ldGVycyE9PWl8fG4udHlwZSE9PV8/cShRbyhpLF8pLG4pOm59ZnVuY3Rpb24gS28obixpPSExKXtsZXQgXz1hZSgzMjIpO3JldHVybiBfLmpzRG9jUHJvcGVydHlUYWdzPURlKG4pLF8uaXNBcnJheVR5cGU9aSxffWZ1bmN0aW9uIHd1KG4saSxfKXtyZXR1cm4gbi5qc0RvY1Byb3BlcnR5VGFncyE9PWl8fG4uaXNBcnJheVR5cGUhPT1fP3EoS28oaSxfKSxuKTpufWZ1bmN0aW9uIFpvKG4pe2xldCBpPU0oMzA5KTtyZXR1cm4gaS50eXBlPW4saX1mdW5jdGlvbiBEXyhuLGkpe3JldHVybiBuLnR5cGUhPT1pP3EoWm8oaSksbik6bn1mdW5jdGlvbiBlYyhuLGksXyl7bGV0IGM9YWUoMzIzKTtyZXR1cm4gYy50eXBlUGFyYW1ldGVycz1EZShuKSxjLnBhcmFtZXRlcnM9ZGUoaSksYy50eXBlPV8sYy5qc0RvYz12b2lkIDAsYy5sb2NhbHM9dm9pZCAwLGMubmV4dENvbnRhaW5lcj12b2lkIDAsY31mdW5jdGlvbiBrdShuLGksXyxjKXtyZXR1cm4gbi50eXBlUGFyYW1ldGVycyE9PWl8fG4ucGFyYW1ldGVycyE9PV98fG4udHlwZSE9PWM/cShlYyhpLF8sYyksbik6bn1mdW5jdGlvbiBfbihuKXtsZXQgaT1pbChuLmtpbmQpO3JldHVybiBuLnRhZ05hbWUuZXNjYXBlZFRleHQ9PT1KYShpKT9uLnRhZ05hbWU6R2UoaSl9ZnVuY3Rpb24gU24obixpLF8pe2xldCBjPU0obik7cmV0dXJuIGMudGFnTmFtZT1pLGMuY29tbWVudD1fLGN9ZnVuY3Rpb24gVXIobixpLF8pe2xldCBjPWFlKG4pO3JldHVybiBjLnRhZ05hbWU9aSxjLmNvbW1lbnQ9XyxjfWZ1bmN0aW9uIFBfKG4saSxfLGMpe2xldCBmPVNuKDM0NSxuPz9HZShcInRlbXBsYXRlXCIpLGMpO3JldHVybiBmLmNvbnN0cmFpbnQ9aSxmLnR5cGVQYXJhbWV0ZXJzPWRlKF8pLGZ9ZnVuY3Rpb24gdGMobixpPV9uKG4pLF8sYyxmKXtyZXR1cm4gbi50YWdOYW1lIT09aXx8bi5jb25zdHJhaW50IT09X3x8bi50eXBlUGFyYW1ldGVycyE9PWN8fG4uY29tbWVudCE9PWY/cShQXyhpLF8sYyxmKSxuKTpufWZ1bmN0aW9uIGJhKG4saSxfLGMpe2xldCBmPVVyKDM0NixuPz9HZShcInR5cGVkZWZcIiksYyk7cmV0dXJuIGYudHlwZUV4cHJlc3Npb249aSxmLmZ1bGxOYW1lPV8sZi5uYW1lPWVtKF8pLGYubG9jYWxzPXZvaWQgMCxmLm5leHRDb250YWluZXI9dm9pZCAwLGZ9ZnVuY3Rpb24gRXUobixpPV9uKG4pLF8sYyxmKXtyZXR1cm4gbi50YWdOYW1lIT09aXx8bi50eXBlRXhwcmVzc2lvbiE9PV98fG4uZnVsbE5hbWUhPT1jfHxuLmNvbW1lbnQhPT1mP3EoYmEoaSxfLGMsZiksbik6bn1mdW5jdGlvbiBOXyhuLGksXyxjLGYsdyl7bGV0IEY9VXIoMzQxLG4/P0dlKFwicGFyYW1cIiksdyk7cmV0dXJuIEYudHlwZUV4cHJlc3Npb249YyxGLm5hbWU9aSxGLmlzTmFtZUZpcnN0PSEhZixGLmlzQnJhY2tldGVkPV8sRn1mdW5jdGlvbiBBdShuLGk9X24obiksXyxjLGYsdyxGKXtyZXR1cm4gbi50YWdOYW1lIT09aXx8bi5uYW1lIT09X3x8bi5pc0JyYWNrZXRlZCE9PWN8fG4udHlwZUV4cHJlc3Npb24hPT1mfHxuLmlzTmFtZUZpcnN0IT09d3x8bi5jb21tZW50IT09Rj9xKE5fKGksXyxjLGYsdyxGKSxuKTpufWZ1bmN0aW9uIG5jKG4saSxfLGMsZix3KXtsZXQgRj1VcigzNDgsbj8/R2UoXCJwcm9wXCIpLHcpO3JldHVybiBGLnR5cGVFeHByZXNzaW9uPWMsRi5uYW1lPWksRi5pc05hbWVGaXJzdD0hIWYsRi5pc0JyYWNrZXRlZD1fLEZ9ZnVuY3Rpb24gcmMobixpPV9uKG4pLF8sYyxmLHcsRil7cmV0dXJuIG4udGFnTmFtZSE9PWl8fG4ubmFtZSE9PV98fG4uaXNCcmFja2V0ZWQhPT1jfHxuLnR5cGVFeHByZXNzaW9uIT09Znx8bi5pc05hbWVGaXJzdCE9PXd8fG4uY29tbWVudCE9PUY/cShuYyhpLF8sYyxmLHcsRiksbik6bn1mdW5jdGlvbiBpYyhuLGksXyxjKXtsZXQgZj1VcigzMzgsbj8/R2UoXCJjYWxsYmFja1wiKSxjKTtyZXR1cm4gZi50eXBlRXhwcmVzc2lvbj1pLGYuZnVsbE5hbWU9XyxmLm5hbWU9ZW0oXyksZi5sb2NhbHM9dm9pZCAwLGYubmV4dENvbnRhaW5lcj12b2lkIDAsZn1mdW5jdGlvbiBhYyhuLGk9X24obiksXyxjLGYpe3JldHVybiBuLnRhZ05hbWUhPT1pfHxuLnR5cGVFeHByZXNzaW9uIT09X3x8bi5mdWxsTmFtZSE9PWN8fG4uY29tbWVudCE9PWY/cShpYyhpLF8sYyxmKSxuKTpufWZ1bmN0aW9uIF9jKG4saSxfKXtsZXQgYz1TbigzMzksbj8/R2UoXCJvdmVybG9hZFwiKSxfKTtyZXR1cm4gYy50eXBlRXhwcmVzc2lvbj1pLGN9ZnVuY3Rpb24gSV8obixpPV9uKG4pLF8sYyl7cmV0dXJuIG4udGFnTmFtZSE9PWl8fG4udHlwZUV4cHJlc3Npb24hPT1ffHxuLmNvbW1lbnQhPT1jP3EoX2MoaSxfLGMpLG4pOm59ZnVuY3Rpb24gT18obixpLF8pe2xldCBjPVNuKDMyOCxuPz9HZShcImF1Z21lbnRzXCIpLF8pO3JldHVybiBjLmNsYXNzPWksY31mdW5jdGlvbiBNaShuLGk9X24obiksXyxjKXtyZXR1cm4gbi50YWdOYW1lIT09aXx8bi5jbGFzcyE9PV98fG4uY29tbWVudCE9PWM/cShPXyhpLF8sYyksbik6bn1mdW5jdGlvbiBzYyhuLGksXyl7bGV0IGM9U24oMzI5LG4/P0dlKFwiaW1wbGVtZW50c1wiKSxfKTtyZXR1cm4gYy5jbGFzcz1pLGN9ZnVuY3Rpb24gQnIobixpLF8pe2xldCBjPVNuKDM0NyxuPz9HZShcInNlZVwiKSxfKTtyZXR1cm4gYy5uYW1lPWksY31mdW5jdGlvbiB2YShuLGksXyxjKXtyZXR1cm4gbi50YWdOYW1lIT09aXx8bi5uYW1lIT09X3x8bi5jb21tZW50IT09Yz9xKEJyKGksXyxjKSxuKTpufWZ1bmN0aW9uIG9jKG4pe2xldCBpPU0oMzEwKTtyZXR1cm4gaS5uYW1lPW4saX1mdW5jdGlvbiBDdShuLGkpe3JldHVybiBuLm5hbWUhPT1pP3Eob2MoaSksbik6bn1mdW5jdGlvbiBjYyhuLGkpe2xldCBfPU0oMzExKTtyZXR1cm4gXy5sZWZ0PW4sXy5yaWdodD1pLF8udHJhbnNmb3JtRmxhZ3N8PXooXy5sZWZ0KXx6KF8ucmlnaHQpLF99ZnVuY3Rpb24gRHUobixpLF8pe3JldHVybiBuLmxlZnQhPT1pfHxuLnJpZ2h0IT09Xz9xKGNjKGksXyksbik6bn1mdW5jdGlvbiBsYyhuLGkpe2xldCBfPU0oMzI0KTtyZXR1cm4gXy5uYW1lPW4sXy50ZXh0PWksX31mdW5jdGlvbiB1YyhuLGksXyl7cmV0dXJuIG4ubmFtZSE9PWk/cShsYyhpLF8pLG4pOm59ZnVuY3Rpb24gcGMobixpKXtsZXQgXz1NKDMyNSk7cmV0dXJuIF8ubmFtZT1uLF8udGV4dD1pLF99ZnVuY3Rpb24gUHUobixpLF8pe3JldHVybiBuLm5hbWUhPT1pP3EocGMoaSxfKSxuKTpufWZ1bmN0aW9uIGZjKG4saSl7bGV0IF89TSgzMjYpO3JldHVybiBfLm5hbWU9bixfLnRleHQ9aSxffWZ1bmN0aW9uIE51KG4saSxfKXtyZXR1cm4gbi5uYW1lIT09aT9xKGZjKGksXyksbik6bn1mdW5jdGlvbiBJdShuLGk9X24obiksXyxjKXtyZXR1cm4gbi50YWdOYW1lIT09aXx8bi5jbGFzcyE9PV98fG4uY29tbWVudCE9PWM/cShzYyhpLF8sYyksbik6bn1mdW5jdGlvbiBkYyhuLGksXyl7cmV0dXJuIFNuKG4saT8/R2UoaWwobikpLF8pfWZ1bmN0aW9uIE91KG4saSxfPV9uKGkpLGMpe3JldHVybiBpLnRhZ05hbWUhPT1ffHxpLmNvbW1lbnQhPT1jP3EoZGMobixfLGMpLGkpOml9ZnVuY3Rpb24gbWMobixpLF8sYyl7bGV0IGY9U24obixpPz9HZShpbChuKSksYyk7cmV0dXJuIGYudHlwZUV4cHJlc3Npb249XyxmfWZ1bmN0aW9uIE11KG4saSxfPV9uKGkpLGMsZil7cmV0dXJuIGkudGFnTmFtZSE9PV98fGkudHlwZUV4cHJlc3Npb24hPT1jfHxpLmNvbW1lbnQhPT1mP3EobWMobixfLGMsZiksaSk6aX1mdW5jdGlvbiBoYyhuLGkpe3JldHVybiBTbigzMjcsbixpKX1mdW5jdGlvbiBKdShuLGksXyl7cmV0dXJuIG4udGFnTmFtZSE9PWl8fG4uY29tbWVudCE9PV8/cShoYyhpLF8pLG4pOm59ZnVuY3Rpb24geWMobixpLF8pe2xldCBjPVVyKDM0MCxuPz9HZShpbCgzNDApKSxfKTtyZXR1cm4gYy50eXBlRXhwcmVzc2lvbj1pLGMubG9jYWxzPXZvaWQgMCxjLm5leHRDb250YWluZXI9dm9pZCAwLGN9ZnVuY3Rpb24gTV8obixpPV9uKG4pLF8sYyl7cmV0dXJuIG4udGFnTmFtZSE9PWl8fG4udHlwZUV4cHJlc3Npb24hPT1ffHxuLmNvbW1lbnQhPT1jP3EoeWMoaSxfLGMpLG4pOm59ZnVuY3Rpb24gZ2MobixpLF8sYyxmKXtsZXQgdz1TbigzNTEsbj8/R2UoXCJpbXBvcnRcIiksZik7cmV0dXJuIHcuaW1wb3J0Q2xhdXNlPWksdy5tb2R1bGVTcGVjaWZpZXI9Xyx3LmF0dHJpYnV0ZXM9Yyx3LmNvbW1lbnQ9Zix3fWZ1bmN0aW9uIGJjKG4saSxfLGMsZix3KXtyZXR1cm4gbi50YWdOYW1lIT09aXx8bi5jb21tZW50IT09d3x8bi5pbXBvcnRDbGF1c2UhPT1ffHxuLm1vZHVsZVNwZWNpZmllciE9PWN8fG4uYXR0cmlidXRlcyE9PWY/cShnYyhpLF8sYyxmLHcpLG4pOm59ZnVuY3Rpb24gSl8obil7bGV0IGk9TSgzMjEpO3JldHVybiBpLnRleHQ9bixpfWZ1bmN0aW9uIEx1KG4saSl7cmV0dXJuIG4udGV4dCE9PWk/cShKXyhpKSxuKTpufWZ1bmN0aW9uIEppKG4saSl7bGV0IF89TSgzMjApO3JldHVybiBfLmNvbW1lbnQ9bixfLnRhZ3M9RGUoaSksX31mdW5jdGlvbiB2YyhuLGksXyl7cmV0dXJuIG4uY29tbWVudCE9PWl8fG4udGFncyE9PV8/cShKaShpLF8pLG4pOm59ZnVuY3Rpb24gVGMobixpLF8pe2xldCBjPU0oMjg0KTtyZXR1cm4gYy5vcGVuaW5nRWxlbWVudD1uLGMuY2hpbGRyZW49ZGUoaSksYy5jbG9zaW5nRWxlbWVudD1fLGMudHJhbnNmb3JtRmxhZ3N8PXooYy5vcGVuaW5nRWxlbWVudCl8a2UoYy5jaGlsZHJlbil8eihjLmNsb3NpbmdFbGVtZW50KXwyLGN9ZnVuY3Rpb24ganUobixpLF8sYyl7cmV0dXJuIG4ub3BlbmluZ0VsZW1lbnQhPT1pfHxuLmNoaWxkcmVuIT09X3x8bi5jbG9zaW5nRWxlbWVudCE9PWM/cShUYyhpLF8sYyksbik6bn1mdW5jdGlvbiB4YyhuLGksXyl7bGV0IGM9TSgyODUpO3JldHVybiBjLnRhZ05hbWU9bixjLnR5cGVBcmd1bWVudHM9RGUoaSksYy5hdHRyaWJ1dGVzPV8sYy50cmFuc2Zvcm1GbGFnc3w9eihjLnRhZ05hbWUpfGtlKGMudHlwZUFyZ3VtZW50cyl8eihjLmF0dHJpYnV0ZXMpfDIsYy50eXBlQXJndW1lbnRzJiYoYy50cmFuc2Zvcm1GbGFnc3w9MSksY31mdW5jdGlvbiBMXyhuLGksXyxjKXtyZXR1cm4gbi50YWdOYW1lIT09aXx8bi50eXBlQXJndW1lbnRzIT09X3x8bi5hdHRyaWJ1dGVzIT09Yz9xKHhjKGksXyxjKSxuKTpufWZ1bmN0aW9uIGpfKG4saSxfKXtsZXQgYz1NKDI4Nik7cmV0dXJuIGMudGFnTmFtZT1uLGMudHlwZUFyZ3VtZW50cz1EZShpKSxjLmF0dHJpYnV0ZXM9XyxjLnRyYW5zZm9ybUZsYWdzfD16KGMudGFnTmFtZSl8a2UoYy50eXBlQXJndW1lbnRzKXx6KGMuYXR0cmlidXRlcyl8MixpJiYoYy50cmFuc2Zvcm1GbGFnc3w9MSksY31mdW5jdGlvbiBTYyhuLGksXyxjKXtyZXR1cm4gbi50YWdOYW1lIT09aXx8bi50eXBlQXJndW1lbnRzIT09X3x8bi5hdHRyaWJ1dGVzIT09Yz9xKGpfKGksXyxjKSxuKTpufWZ1bmN0aW9uIFRhKG4pe2xldCBpPU0oMjg3KTtyZXR1cm4gaS50YWdOYW1lPW4saS50cmFuc2Zvcm1GbGFnc3w9eihpLnRhZ05hbWUpfDIsaX1mdW5jdGlvbiBLdChuLGkpe3JldHVybiBuLnRhZ05hbWUhPT1pP3EoVGEoaSksbik6bn1mdW5jdGlvbiBSXyhuLGksXyl7bGV0IGM9TSgyODgpO3JldHVybiBjLm9wZW5pbmdGcmFnbWVudD1uLGMuY2hpbGRyZW49ZGUoaSksYy5jbG9zaW5nRnJhZ21lbnQ9XyxjLnRyYW5zZm9ybUZsYWdzfD16KGMub3BlbmluZ0ZyYWdtZW50KXxrZShjLmNoaWxkcmVuKXx6KGMuY2xvc2luZ0ZyYWdtZW50KXwyLGN9ZnVuY3Rpb24gd2MobixpLF8sYyl7cmV0dXJuIG4ub3BlbmluZ0ZyYWdtZW50IT09aXx8bi5jaGlsZHJlbiE9PV98fG4uY2xvc2luZ0ZyYWdtZW50IT09Yz9xKFJfKGksXyxjKSxuKTpufWZ1bmN0aW9uIHhhKG4saSl7bGV0IF89TSgxMik7cmV0dXJuIF8udGV4dD1uLF8uY29udGFpbnNPbmx5VHJpdmlhV2hpdGVTcGFjZXM9ISFpLF8udHJhbnNmb3JtRmxhZ3N8PTIsX31mdW5jdGlvbiBrYyhuLGksXyl7cmV0dXJuIG4udGV4dCE9PWl8fG4uY29udGFpbnNPbmx5VHJpdmlhV2hpdGVTcGFjZXMhPT1fP3EoeGEoaSxfKSxuKTpufWZ1bmN0aW9uIFJ1KCl7bGV0IG49TSgyODkpO3JldHVybiBuLnRyYW5zZm9ybUZsYWdzfD0yLG59ZnVuY3Rpb24gVXUoKXtsZXQgbj1NKDI5MCk7cmV0dXJuIG4udHJhbnNmb3JtRmxhZ3N8PTIsbn1mdW5jdGlvbiBFYyhuLGkpe2xldCBfPWFlKDI5MSk7cmV0dXJuIF8ubmFtZT1uLF8uaW5pdGlhbGl6ZXI9aSxfLnRyYW5zZm9ybUZsYWdzfD16KF8ubmFtZSl8eihfLmluaXRpYWxpemVyKXwyLF99ZnVuY3Rpb24gU2EobixpLF8pe3JldHVybiBuLm5hbWUhPT1pfHxuLmluaXRpYWxpemVyIT09Xz9xKEVjKGksXyksbik6bn1mdW5jdGlvbiBBYyhuKXtsZXQgaT1hZSgyOTIpO3JldHVybiBpLnByb3BlcnRpZXM9ZGUobiksaS50cmFuc2Zvcm1GbGFnc3w9a2UoaS5wcm9wZXJ0aWVzKXwyLGl9ZnVuY3Rpb24gQnUobixpKXtyZXR1cm4gbi5wcm9wZXJ0aWVzIT09aT9xKEFjKGkpLG4pOm59ZnVuY3Rpb24gQ2Mobil7bGV0IGk9TSgyOTMpO3JldHVybiBpLmV4cHJlc3Npb249bixpLnRyYW5zZm9ybUZsYWdzfD16KGkuZXhwcmVzc2lvbil8MixpfWZ1bmN0aW9uIHF1KG4saSl7cmV0dXJuIG4uZXhwcmVzc2lvbiE9PWk/cShDYyhpKSxuKTpufWZ1bmN0aW9uIHdhKG4saSl7bGV0IF89TSgyOTQpO3JldHVybiBfLmRvdERvdERvdFRva2VuPW4sXy5leHByZXNzaW9uPWksXy50cmFuc2Zvcm1GbGFnc3w9eihfLmRvdERvdERvdFRva2VuKXx6KF8uZXhwcmVzc2lvbil8MixffWZ1bmN0aW9uIExpKG4saSl7cmV0dXJuIG4uZXhwcmVzc2lvbiE9PWk/cSh3YShuLmRvdERvdERvdFRva2VuLGkpLG4pOm59ZnVuY3Rpb24gRGMobixpKXtsZXQgXz1NKDI5NSk7cmV0dXJuIF8ubmFtZXNwYWNlPW4sXy5uYW1lPWksXy50cmFuc2Zvcm1GbGFnc3w9eihfLm5hbWVzcGFjZSl8eihfLm5hbWUpfDIsX31mdW5jdGlvbiBVXyhuLGksXyl7cmV0dXJuIG4ubmFtZXNwYWNlIT09aXx8bi5uYW1lIT09Xz9xKERjKGksXyksbik6bn1mdW5jdGlvbiBCXyhuLGkpe2xldCBfPU0oMjk2KTtyZXR1cm4gXy5leHByZXNzaW9uPW8oKS5wYXJlbnRoZXNpemVFeHByZXNzaW9uRm9yRGlzYWxsb3dlZENvbW1hKG4pLF8uc3RhdGVtZW50cz1kZShpKSxfLnRyYW5zZm9ybUZsYWdzfD16KF8uZXhwcmVzc2lvbil8a2UoXy5zdGF0ZW1lbnRzKSxfLmpzRG9jPXZvaWQgMCxffWZ1bmN0aW9uIHp1KG4saSxfKXtyZXR1cm4gbi5leHByZXNzaW9uIT09aXx8bi5zdGF0ZW1lbnRzIT09Xz9xKEJfKGksXyksbik6bn1mdW5jdGlvbiBfaShuKXtsZXQgaT1NKDI5Nyk7cmV0dXJuIGkuc3RhdGVtZW50cz1kZShuKSxpLnRyYW5zZm9ybUZsYWdzPWtlKGkuc3RhdGVtZW50cyksaX1mdW5jdGlvbiBQYyhuLGkpe3JldHVybiBuLnN0YXRlbWVudHMhPT1pP3EoX2koaSksbik6bn1mdW5jdGlvbiBOYyhuLGkpe2xldCBfPU0oMjk4KTtzd2l0Y2goXy50b2tlbj1uLF8udHlwZXM9ZGUoaSksXy50cmFuc2Zvcm1GbGFnc3w9a2UoXy50eXBlcyksbil7Y2FzZSA5NjpfLnRyYW5zZm9ybUZsYWdzfD0xMDI0O2JyZWFrO2Nhc2UgMTE5Ol8udHJhbnNmb3JtRmxhZ3N8PTE7YnJlYWs7ZGVmYXVsdDpyZXR1cm4gQi5hc3NlcnROZXZlcihuKX1yZXR1cm4gX31mdW5jdGlvbiBGdShuLGkpe3JldHVybiBuLnR5cGVzIT09aT9xKE5jKG4udG9rZW4saSksbik6bn1mdW5jdGlvbiBxXyhuLGkpe2xldCBfPU0oMjk5KTtyZXR1cm4gXy52YXJpYWJsZURlY2xhcmF0aW9uPXhyKG4pLF8uYmxvY2s9aSxfLnRyYW5zZm9ybUZsYWdzfD16KF8udmFyaWFibGVEZWNsYXJhdGlvbil8eihfLmJsb2NrKXwobj8wOjY0KSxfLmxvY2Fscz12b2lkIDAsXy5uZXh0Q29udGFpbmVyPXZvaWQgMCxffWZ1bmN0aW9uIEljKG4saSxfKXtyZXR1cm4gbi52YXJpYWJsZURlY2xhcmF0aW9uIT09aXx8bi5ibG9jayE9PV8/cShxXyhpLF8pLG4pOm59ZnVuY3Rpb24ga2EobixpKXtsZXQgXz1hZSgzMDMpO3JldHVybiBfLm5hbWU9ZXQobiksXy5pbml0aWFsaXplcj1vKCkucGFyZW50aGVzaXplRXhwcmVzc2lvbkZvckRpc2FsbG93ZWRDb21tYShpKSxfLnRyYW5zZm9ybUZsYWdzfD1qbihfLm5hbWUpfHooXy5pbml0aWFsaXplciksXy5tb2RpZmllcnM9dm9pZCAwLF8ucXVlc3Rpb25Ub2tlbj12b2lkIDAsXy5leGNsYW1hdGlvblRva2VuPXZvaWQgMCxfLmpzRG9jPXZvaWQgMCxffWZ1bmN0aW9uIHFyKG4saSxfKXtyZXR1cm4gbi5uYW1lIT09aXx8bi5pbml0aWFsaXplciE9PV8/VnUoa2EoaSxfKSxuKTpufWZ1bmN0aW9uIFZ1KG4saSl7cmV0dXJuIG4hPT1pJiYobi5tb2RpZmllcnM9aS5tb2RpZmllcnMsbi5xdWVzdGlvblRva2VuPWkucXVlc3Rpb25Ub2tlbixuLmV4Y2xhbWF0aW9uVG9rZW49aS5leGNsYW1hdGlvblRva2VuKSxxKG4saSl9ZnVuY3Rpb24gT2MobixpKXtsZXQgXz1hZSgzMDQpO3JldHVybiBfLm5hbWU9ZXQobiksXy5vYmplY3RBc3NpZ25tZW50SW5pdGlhbGl6ZXI9aSYmbygpLnBhcmVudGhlc2l6ZUV4cHJlc3Npb25Gb3JEaXNhbGxvd2VkQ29tbWEoaSksXy50cmFuc2Zvcm1GbGFnc3w9amEoXy5uYW1lKXx6KF8ub2JqZWN0QXNzaWdubWVudEluaXRpYWxpemVyKXwxMDI0LF8uZXF1YWxzVG9rZW49dm9pZCAwLF8ubW9kaWZpZXJzPXZvaWQgMCxfLnF1ZXN0aW9uVG9rZW49dm9pZCAwLF8uZXhjbGFtYXRpb25Ub2tlbj12b2lkIDAsXy5qc0RvYz12b2lkIDAsX31mdW5jdGlvbiBXdShuLGksXyl7cmV0dXJuIG4ubmFtZSE9PWl8fG4ub2JqZWN0QXNzaWdubWVudEluaXRpYWxpemVyIT09Xz9HdShPYyhpLF8pLG4pOm59ZnVuY3Rpb24gR3UobixpKXtyZXR1cm4gbiE9PWkmJihuLm1vZGlmaWVycz1pLm1vZGlmaWVycyxuLnF1ZXN0aW9uVG9rZW49aS5xdWVzdGlvblRva2VuLG4uZXhjbGFtYXRpb25Ub2tlbj1pLmV4Y2xhbWF0aW9uVG9rZW4sbi5lcXVhbHNUb2tlbj1pLmVxdWFsc1Rva2VuKSxxKG4saSl9ZnVuY3Rpb24gel8obil7bGV0IGk9YWUoMzA1KTtyZXR1cm4gaS5leHByZXNzaW9uPW8oKS5wYXJlbnRoZXNpemVFeHByZXNzaW9uRm9yRGlzYWxsb3dlZENvbW1hKG4pLGkudHJhbnNmb3JtRmxhZ3N8PXooaS5leHByZXNzaW9uKXwxMjh8NjU1MzYsaS5qc0RvYz12b2lkIDAsaX1mdW5jdGlvbiBNYyhuLGkpe3JldHVybiBuLmV4cHJlc3Npb24hPT1pP3Eoel8oaSksbik6bn1mdW5jdGlvbiB3bihuLGkpe2xldCBfPWFlKDMwNik7cmV0dXJuIF8ubmFtZT1ldChuKSxfLmluaXRpYWxpemVyPWkmJm8oKS5wYXJlbnRoZXNpemVFeHByZXNzaW9uRm9yRGlzYWxsb3dlZENvbW1hKGkpLF8udHJhbnNmb3JtRmxhZ3N8PXooXy5uYW1lKXx6KF8uaW5pdGlhbGl6ZXIpfDEsXy5qc0RvYz12b2lkIDAsX31mdW5jdGlvbiBKYyhuLGksXyl7cmV0dXJuIG4ubmFtZSE9PWl8fG4uaW5pdGlhbGl6ZXIhPT1fP3Eod24oaSxfKSxuKTpufWZ1bmN0aW9uIFl1KG4saSxfKXtsZXQgYz10LmNyZWF0ZUJhc2VTb3VyY2VGaWxlTm9kZSgzMDcpO3JldHVybiBjLnN0YXRlbWVudHM9ZGUobiksYy5lbmRPZkZpbGVUb2tlbj1pLGMuZmxhZ3N8PV8sYy50ZXh0PVwiXCIsYy5maWxlTmFtZT1cIlwiLGMucGF0aD1cIlwiLGMucmVzb2x2ZWRQYXRoPVwiXCIsYy5vcmlnaW5hbEZpbGVOYW1lPVwiXCIsYy5sYW5ndWFnZVZlcnNpb249MSxjLmxhbmd1YWdlVmFyaWFudD0wLGMuc2NyaXB0S2luZD0wLGMuaXNEZWNsYXJhdGlvbkZpbGU9ITEsYy5oYXNOb0RlZmF1bHRMaWI9ITEsYy50cmFuc2Zvcm1GbGFnc3w9a2UoYy5zdGF0ZW1lbnRzKXx6KGMuZW5kT2ZGaWxlVG9rZW4pLGMubG9jYWxzPXZvaWQgMCxjLm5leHRDb250YWluZXI9dm9pZCAwLGMuZW5kRmxvd05vZGU9dm9pZCAwLGMubm9kZUNvdW50PTAsYy5pZGVudGlmaWVyQ291bnQ9MCxjLnN5bWJvbENvdW50PTAsYy5wYXJzZURpYWdub3N0aWNzPXZvaWQgMCxjLmJpbmREaWFnbm9zdGljcz12b2lkIDAsYy5iaW5kU3VnZ2VzdGlvbkRpYWdub3N0aWNzPXZvaWQgMCxjLmxpbmVNYXA9dm9pZCAwLGMuZXh0ZXJuYWxNb2R1bGVJbmRpY2F0b3I9dm9pZCAwLGMuc2V0RXh0ZXJuYWxNb2R1bGVJbmRpY2F0b3I9dm9pZCAwLGMucHJhZ21hcz12b2lkIDAsYy5jaGVja0pzRGlyZWN0aXZlPXZvaWQgMCxjLnJlZmVyZW5jZWRGaWxlcz12b2lkIDAsYy50eXBlUmVmZXJlbmNlRGlyZWN0aXZlcz12b2lkIDAsYy5saWJSZWZlcmVuY2VEaXJlY3RpdmVzPXZvaWQgMCxjLmFtZERlcGVuZGVuY2llcz12b2lkIDAsYy5jb21tZW50RGlyZWN0aXZlcz12b2lkIDAsYy5pZGVudGlmaWVycz12b2lkIDAsYy5wYWNrYWdlSnNvbkxvY2F0aW9ucz12b2lkIDAsYy5wYWNrYWdlSnNvblNjb3BlPXZvaWQgMCxjLmltcG9ydHM9dm9pZCAwLGMubW9kdWxlQXVnbWVudGF0aW9ucz12b2lkIDAsYy5hbWJpZW50TW9kdWxlTmFtZXM9dm9pZCAwLGMuY2xhc3NpZmlhYmxlTmFtZXM9dm9pZCAwLGMuaW1wbGllZE5vZGVGb3JtYXQ9dm9pZCAwLGN9ZnVuY3Rpb24gTGMobil7bGV0IGk9T2JqZWN0LmNyZWF0ZShuLnJlZGlyZWN0VGFyZ2V0KTtyZXR1cm4gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoaSx7aWQ6e2dldCgpe3JldHVybiB0aGlzLnJlZGlyZWN0SW5mby5yZWRpcmVjdFRhcmdldC5pZH0sc2V0KF8pe3RoaXMucmVkaXJlY3RJbmZvLnJlZGlyZWN0VGFyZ2V0LmlkPV99fSxzeW1ib2w6e2dldCgpe3JldHVybiB0aGlzLnJlZGlyZWN0SW5mby5yZWRpcmVjdFRhcmdldC5zeW1ib2x9LHNldChfKXt0aGlzLnJlZGlyZWN0SW5mby5yZWRpcmVjdFRhcmdldC5zeW1ib2w9X319fSksaS5yZWRpcmVjdEluZm89bixpfWZ1bmN0aW9uIEh1KG4pe2xldCBpPUxjKG4ucmVkaXJlY3RJbmZvKTtyZXR1cm4gaS5mbGFnc3w9bi5mbGFncyYtMTcsaS5maWxlTmFtZT1uLmZpbGVOYW1lLGkucGF0aD1uLnBhdGgsaS5yZXNvbHZlZFBhdGg9bi5yZXNvbHZlZFBhdGgsaS5vcmlnaW5hbEZpbGVOYW1lPW4ub3JpZ2luYWxGaWxlTmFtZSxpLnBhY2thZ2VKc29uTG9jYXRpb25zPW4ucGFja2FnZUpzb25Mb2NhdGlvbnMsaS5wYWNrYWdlSnNvblNjb3BlPW4ucGFja2FnZUpzb25TY29wZSxpLmVtaXROb2RlPXZvaWQgMCxpfWZ1bmN0aW9uIGpjKG4pe2xldCBpPXQuY3JlYXRlQmFzZVNvdXJjZUZpbGVOb2RlKDMwNyk7aS5mbGFnc3w9bi5mbGFncyYtMTc7Zm9yKGxldCBfIGluIG4paWYoIShDcihpLF8pfHwhQ3IobixfKSkpe2lmKF89PT1cImVtaXROb2RlXCIpe2kuZW1pdE5vZGU9dm9pZCAwO2NvbnRpbnVlfWlbX109bltfXX1yZXR1cm4gaX1mdW5jdGlvbiBFYShuKXtsZXQgaT1uLnJlZGlyZWN0SW5mbz9IdShuKTpqYyhuKTtyZXR1cm4gYShpLG4pLGl9ZnVuY3Rpb24gWHUobixpLF8sYyxmLHcsRil7bGV0IHBlPUVhKG4pO3JldHVybiBwZS5zdGF0ZW1lbnRzPWRlKGkpLHBlLmlzRGVjbGFyYXRpb25GaWxlPV8scGUucmVmZXJlbmNlZEZpbGVzPWMscGUudHlwZVJlZmVyZW5jZURpcmVjdGl2ZXM9ZixwZS5oYXNOb0RlZmF1bHRMaWI9dyxwZS5saWJSZWZlcmVuY2VEaXJlY3RpdmVzPUYscGUudHJhbnNmb3JtRmxhZ3M9a2UocGUuc3RhdGVtZW50cyl8eihwZS5lbmRPZkZpbGVUb2tlbikscGV9ZnVuY3Rpb24gJHUobixpLF89bi5pc0RlY2xhcmF0aW9uRmlsZSxjPW4ucmVmZXJlbmNlZEZpbGVzLGY9bi50eXBlUmVmZXJlbmNlRGlyZWN0aXZlcyx3PW4uaGFzTm9EZWZhdWx0TGliLEY9bi5saWJSZWZlcmVuY2VEaXJlY3RpdmVzKXtyZXR1cm4gbi5zdGF0ZW1lbnRzIT09aXx8bi5pc0RlY2xhcmF0aW9uRmlsZSE9PV98fG4ucmVmZXJlbmNlZEZpbGVzIT09Y3x8bi50eXBlUmVmZXJlbmNlRGlyZWN0aXZlcyE9PWZ8fG4uaGFzTm9EZWZhdWx0TGliIT09d3x8bi5saWJSZWZlcmVuY2VEaXJlY3RpdmVzIT09Rj9xKFh1KG4saSxfLGMsZix3LEYpLG4pOm59ZnVuY3Rpb24gRl8obil7bGV0IGk9TSgzMDgpO3JldHVybiBpLnNvdXJjZUZpbGVzPW4saS5zeW50aGV0aWNGaWxlUmVmZXJlbmNlcz12b2lkIDAsaS5zeW50aGV0aWNUeXBlUmVmZXJlbmNlcz12b2lkIDAsaS5zeW50aGV0aWNMaWJSZWZlcmVuY2VzPXZvaWQgMCxpLmhhc05vRGVmYXVsdExpYj12b2lkIDAsaX1mdW5jdGlvbiBRdShuLGkpe3JldHVybiBuLnNvdXJjZUZpbGVzIT09aT9xKEZfKGkpLG4pOm59ZnVuY3Rpb24gS3UobixpPSExLF8pe2xldCBjPU0oMjM3KTtyZXR1cm4gYy50eXBlPW4sYy5pc1NwcmVhZD1pLGMudHVwbGVOYW1lU291cmNlPV8sY31mdW5jdGlvbiBBYShuKXtsZXQgaT1NKDM1Mik7cmV0dXJuIGkuX2NoaWxkcmVuPW4saX1mdW5jdGlvbiBSYyhuKXtsZXQgaT1NKDM1Myk7cmV0dXJuIGkub3JpZ2luYWw9bix5bihpLG4pLGl9ZnVuY3Rpb24gVWMobixpKXtsZXQgXz1NKDM1NSk7cmV0dXJuIF8uZXhwcmVzc2lvbj1uLF8ub3JpZ2luYWw9aSxfLnRyYW5zZm9ybUZsYWdzfD16KF8uZXhwcmVzc2lvbil8MSx5bihfLGkpLF99ZnVuY3Rpb24gQmMobixpKXtyZXR1cm4gbi5leHByZXNzaW9uIT09aT9xKFVjKGksbi5vcmlnaW5hbCksbik6bn1mdW5jdGlvbiBadSgpe3JldHVybiBNKDM1NCl9ZnVuY3Rpb24gZXAobil7aWYoTGEobikmJiFtbChuKSYmIW4ub3JpZ2luYWwmJiFuLmVtaXROb2RlJiYhbi5pZCl7aWYoWmIobikpcmV0dXJuIG4uZWxlbWVudHM7aWYoS2kobikmJmpiKG4ub3BlcmF0b3JUb2tlbikpcmV0dXJuW24ubGVmdCxuLnJpZ2h0XX1yZXR1cm4gbn1mdW5jdGlvbiBWXyhuKXtsZXQgaT1NKDM1Nik7cmV0dXJuIGkuZWxlbWVudHM9ZGUoaXkobixlcCkpLGkudHJhbnNmb3JtRmxhZ3N8PWtlKGkuZWxlbWVudHMpLGl9ZnVuY3Rpb24gcWMobixpKXtyZXR1cm4gbi5lbGVtZW50cyE9PWk/cShWXyhpKSxuKTpufWZ1bmN0aW9uIFdfKG4saSl7bGV0IF89TSgzNTcpO3JldHVybiBfLmV4cHJlc3Npb249bixfLnRoaXNBcmc9aSxfLnRyYW5zZm9ybUZsYWdzfD16KF8uZXhwcmVzc2lvbil8eihfLnRoaXNBcmcpLF99ZnVuY3Rpb24gemMobixpLF8pe3JldHVybiBuLmV4cHJlc3Npb24hPT1pfHxuLnRoaXNBcmchPT1fP3EoV18oaSxfKSxuKTpufWZ1bmN0aW9uIHRwKG4pe2xldCBpPWJuKG4uZXNjYXBlZFRleHQpO3JldHVybiBpLmZsYWdzfD1uLmZsYWdzJi0xNyxpLnRyYW5zZm9ybUZsYWdzPW4udHJhbnNmb3JtRmxhZ3MsYShpLG4pLHNldElkZW50aWZpZXJBdXRvR2VuZXJhdGUoaSx7Li4ubi5lbWl0Tm9kZS5hdXRvR2VuZXJhdGV9KSxpfWZ1bmN0aW9uIG5wKG4pe2xldCBpPWJuKG4uZXNjYXBlZFRleHQpO2kuZmxhZ3N8PW4uZmxhZ3MmLTE3LGkuanNEb2M9bi5qc0RvYyxpLmZsb3dOb2RlPW4uZmxvd05vZGUsaS5zeW1ib2w9bi5zeW1ib2wsaS50cmFuc2Zvcm1GbGFncz1uLnRyYW5zZm9ybUZsYWdzLGEoaSxuKTtsZXQgXz1nZXRJZGVudGlmaWVyVHlwZUFyZ3VtZW50cyhuKTtyZXR1cm4gXyYmc2V0SWRlbnRpZmllclR5cGVBcmd1bWVudHMoaSxfKSxpfWZ1bmN0aW9uIEZjKG4pe2xldCBpPU9uKG4uZXNjYXBlZFRleHQpO3JldHVybiBpLmZsYWdzfD1uLmZsYWdzJi0xNyxpLnRyYW5zZm9ybUZsYWdzPW4udHJhbnNmb3JtRmxhZ3MsYShpLG4pLHNldElkZW50aWZpZXJBdXRvR2VuZXJhdGUoaSx7Li4ubi5lbWl0Tm9kZS5hdXRvR2VuZXJhdGV9KSxpfWZ1bmN0aW9uIFZjKG4pe2xldCBpPU9uKG4uZXNjYXBlZFRleHQpO3JldHVybiBpLmZsYWdzfD1uLmZsYWdzJi0xNyxpLnRyYW5zZm9ybUZsYWdzPW4udHJhbnNmb3JtRmxhZ3MsYShpLG4pLGl9ZnVuY3Rpb24gR18obil7aWYobj09PXZvaWQgMClyZXR1cm4gbjtpZihyaChuKSlyZXR1cm4gRWEobik7aWYoVWEobikpcmV0dXJuIHRwKG4pO2lmKHR0KG4pKXJldHVybiBucChuKTtpZihfMShuKSlyZXR1cm4gRmMobik7aWYoZ2kobikpcmV0dXJuIFZjKG4pO2xldCBpPWZmKG4ua2luZCk/dC5jcmVhdGVCYXNlTm9kZShuLmtpbmQpOnQuY3JlYXRlQmFzZVRva2VuTm9kZShuLmtpbmQpO2kuZmxhZ3N8PW4uZmxhZ3MmLTE3LGkudHJhbnNmb3JtRmxhZ3M9bi50cmFuc2Zvcm1GbGFncyxhKGksbik7Zm9yKGxldCBfIGluIG4pQ3IoaSxfKXx8IUNyKG4sXyl8fChpW19dPW5bX10pO3JldHVybiBpfWZ1bmN0aW9uIHJwKG4saSxfKXtyZXR1cm4gQ2koaV8odm9pZCAwLHZvaWQgMCx2b2lkIDAsdm9pZCAwLGk/W2ldOltdLHZvaWQgMCxScihuLCEwKSksdm9pZCAwLF8/W19dOltdKX1mdW5jdGlvbiBpcChuLGksXyl7cmV0dXJuIENpKGFfKHZvaWQgMCx2b2lkIDAsaT9baV06W10sdm9pZCAwLHZvaWQgMCxScihuLCEwKSksdm9pZCAwLF8/W19dOltdKX1mdW5jdGlvbiBzaSgpe3JldHVybiBfXyhWKFwiMFwiKSl9ZnVuY3Rpb24gV2Mobil7cmV0dXJuIGhhKHZvaWQgMCwhMSxuKX1mdW5jdGlvbiBhcChuKXtyZXR1cm4geWEodm9pZCAwLCExLEVfKFtnYSghMSx2b2lkIDAsbildKSl9ZnVuY3Rpb24gWV8obixpKXtyZXR1cm4gaT09PVwibnVsbFwiP3llLmNyZWF0ZVN0cmljdEVxdWFsaXR5KG4sSnQoKSk6aT09PVwidW5kZWZpbmVkXCI/eWUuY3JlYXRlU3RyaWN0RXF1YWxpdHkobixzaSgpKTp5ZS5jcmVhdGVTdHJpY3RFcXVhbGl0eShjYShuKSxkdChpKSl9ZnVuY3Rpb24gX3AobixpKXtyZXR1cm4gaT09PVwibnVsbFwiP3llLmNyZWF0ZVN0cmljdEluZXF1YWxpdHkobixKdCgpKTppPT09XCJ1bmRlZmluZWRcIj95ZS5jcmVhdGVTdHJpY3RJbmVxdWFsaXR5KG4sc2koKSk6eWUuY3JlYXRlU3RyaWN0SW5lcXVhbGl0eShjYShuKSxkdChpKSl9ZnVuY3Rpb24genIobixpLF8pe3JldHVybiBKZChuKT90XyhFaShuLHZvaWQgMCxpKSx2b2lkIDAsdm9pZCAwLF8pOkNpKGNyKG4saSksdm9pZCAwLF8pfWZ1bmN0aW9uIHNwKG4saSxfKXtyZXR1cm4genIobixcImJpbmRcIixbaSwuLi5fXSl9ZnVuY3Rpb24gb3AobixpLF8pe3JldHVybiB6cihuLFwiY2FsbFwiLFtpLC4uLl9dKX1mdW5jdGlvbiBjcChuLGksXyl7cmV0dXJuIHpyKG4sXCJhcHBseVwiLFtpLF9dKX1mdW5jdGlvbiBqaShuLGksXyl7cmV0dXJuIHpyKEdlKG4pLGksXyl9ZnVuY3Rpb24gUmkobixpKXtyZXR1cm4genIobixcInNsaWNlXCIsaT09PXZvaWQgMD9bXTpbcHIoaSldKX1mdW5jdGlvbiBscChuLGkpe3JldHVybiB6cihuLFwiY29uY2F0XCIsaSl9ZnVuY3Rpb24gSF8obixpLF8pe3JldHVybiBqaShcIk9iamVjdFwiLFwiZGVmaW5lUHJvcGVydHlcIixbbixwcihpKSxfXSl9ZnVuY3Rpb24gb2kobixpKXtyZXR1cm4gamkoXCJPYmplY3RcIixcImdldE93blByb3BlcnR5RGVzY3JpcHRvclwiLFtuLHByKGkpXSl9ZnVuY3Rpb24gR2MobixpLF8pe3JldHVybiBqaShcIlJlZmxlY3RcIixcImdldFwiLF8/W24saSxfXTpbbixpXSl9ZnVuY3Rpb24gdXAobixpLF8sYyl7cmV0dXJuIGppKFwiUmVmbGVjdFwiLFwic2V0XCIsYz9bbixpLF8sY106W24saSxfXSl9ZnVuY3Rpb24gY2kobixpLF8pe3JldHVybiBfPyhuLnB1c2goa2EoaSxfKSksITApOiExfWZ1bmN0aW9uIFljKG4saSl7bGV0IF89W107Y2koXyxcImVudW1lcmFibGVcIixwcihuLmVudW1lcmFibGUpKSxjaShfLFwiY29uZmlndXJhYmxlXCIscHIobi5jb25maWd1cmFibGUpKTtsZXQgYz1jaShfLFwid3JpdGFibGVcIixwcihuLndyaXRhYmxlKSk7Yz1jaShfLFwidmFsdWVcIixuLnZhbHVlKXx8YztsZXQgZj1jaShfLFwiZ2V0XCIsbi5nZXQpO3JldHVybiBmPWNpKF8sXCJzZXRcIixuLnNldCl8fGYsQi5hc3NlcnQoIShjJiZmKSxcIkEgUHJvcGVydHlEZXNjcmlwdG9yIG1heSBub3QgYmUgYm90aCBhbiBhY2Nlc3NvciBkZXNjcmlwdG9yIGFuZCBhIGRhdGEgZGVzY3JpcHRvci5cIiksa2koXywhaSl9ZnVuY3Rpb24gcHAobixpKXtzd2l0Y2gobi5raW5kKXtjYXNlIDIxNzpyZXR1cm4ganMobixpKTtjYXNlIDIxNjpyZXR1cm4gTHMobixuLnR5cGUsaSk7Y2FzZSAyMzQ6cmV0dXJuIHBhKG4saSxuLnR5cGUpO2Nhc2UgMjM4OnJldHVybiB0byhuLGksbi50eXBlKTtjYXNlIDIzNTpyZXR1cm4gZW8obixpKTtjYXNlIDIzMzpyZXR1cm4gS3MobixpLG4udHlwZUFyZ3VtZW50cyk7Y2FzZSAzNTU6cmV0dXJuIEJjKG4saSl9fWZ1bmN0aW9uIGZwKG4pe3JldHVybiBBbChuKSYmTGEobikmJkxhKGdldFNvdXJjZU1hcFJhbmdlKG4pKSYmTGEoZ2V0Q29tbWVudFJhbmdlKG4pKSYmIUh0KGdldFN5bnRoZXRpY0xlYWRpbmdDb21tZW50cyhuKSkmJiFIdChnZXRTeW50aGV0aWNUcmFpbGluZ0NvbW1lbnRzKG4pKX1mdW5jdGlvbiBIYyhuLGksXz0zMSl7cmV0dXJuIG4mJmxoKG4sXykmJiFmcChuKT9wcChuLEhjKG4uZXhwcmVzc2lvbixpKSk6aX1mdW5jdGlvbiBYXyhuLGksXyl7aWYoIWkpcmV0dXJuIG47bGV0IGM9dm8oaSxpLmxhYmVsLFExKGkuc3RhdGVtZW50KT9YXyhuLGkuc3RhdGVtZW50KTpuKTtyZXR1cm4gXyYmXyhpKSxjfWZ1bmN0aW9uICRfKG4saSl7bGV0IF89dmYobik7c3dpdGNoKF8ua2luZCl7Y2FzZSA4MDpyZXR1cm4gaTtjYXNlIDExMDpjYXNlIDk6Y2FzZSAxMDpjYXNlIDExOnJldHVybiExO2Nhc2UgMjA5OnJldHVybiBfLmVsZW1lbnRzLmxlbmd0aCE9PTA7Y2FzZSAyMTA6cmV0dXJuIF8ucHJvcGVydGllcy5sZW5ndGg+MDtkZWZhdWx0OnJldHVybiEwfX1mdW5jdGlvbiBYYyhuLGksXyxjPSExKXtsZXQgZj1WZihuLDMxKSx3LEY7cmV0dXJuIHpkKGYpPyh3PVV0KCksRj1mKTpBcChmKT8odz1VdCgpLEY9XyE9PXZvaWQgMCYmXzwyP3luKEdlKFwiX3N1cGVyXCIpLGYpOmYpOnphKGYpJjgxOTI/KHc9c2koKSxGPW8oKS5wYXJlbnRoZXNpemVMZWZ0U2lkZU9mQWNjZXNzKGYsITEpKTpIcihmKT8kXyhmLmV4cHJlc3Npb24sYyk/KHc9aXIoaSksRj1jcih5bih5ZS5jcmVhdGVBc3NpZ25tZW50KHcsZi5leHByZXNzaW9uKSxmLmV4cHJlc3Npb24pLGYubmFtZSkseW4oRixmKSk6KHc9Zi5leHByZXNzaW9uLEY9Zik6SGEoZik/JF8oZi5leHByZXNzaW9uLGMpPyh3PWlyKGkpLEY9QWkoeW4oeWUuY3JlYXRlQXNzaWdubWVudCh3LGYuZXhwcmVzc2lvbiksZi5leHByZXNzaW9uKSxmLmFyZ3VtZW50RXhwcmVzc2lvbikseW4oRixmKSk6KHc9Zi5leHByZXNzaW9uLEY9Zik6KHc9c2koKSxGPW8oKS5wYXJlbnRoZXNpemVMZWZ0U2lkZU9mQWNjZXNzKG4sITEpKSx7dGFyZ2V0OkYsdGhpc0FyZzp3fX1mdW5jdGlvbiBzKG4saSl7cmV0dXJuIGNyKHJfKGtpKFtSKHZvaWQgMCxcInZhbHVlXCIsW2ZyKHZvaWQgMCx2b2lkIDAsbix2b2lkIDAsdm9pZCAwLHZvaWQgMCldLFJyKFtQaShpKV0pKV0pKSxcInZhbHVlXCIpfWZ1bmN0aW9uIHAobil7cmV0dXJuIG4ubGVuZ3RoPjEwP1ZfKG4pOmR5KG4seWUuY3JlYXRlQ29tbWEpfWZ1bmN0aW9uIGQobixpLF8sYz0wLGYpe2xldCB3PWY/biYmbGYobik6ZTEobik7aWYodyYmdHQodykmJiFVYSh3KSl7bGV0IEY9U2YoeW4oR18odyksdyksdy5wYXJlbnQpO3JldHVybiBjfD16YSh3KSxffHwoY3w9OTYpLGl8fChjfD0zMDcyKSxjJiZzZXRFbWl0RmxhZ3MoRixjKSxGfXJldHVybiBCbihuKX1mdW5jdGlvbiBiKG4saSxfKXtyZXR1cm4gZChuLGksXyw5ODMwNCl9ZnVuY3Rpb24gUyhuLGksXyxjKXtyZXR1cm4gZChuLGksXywzMjc2OCxjKX1mdW5jdGlvbiBOKG4saSxfKXtyZXR1cm4gZChuLGksXywxNjM4NCl9ZnVuY3Rpb24gWChuLGksXyl7cmV0dXJuIGQobixpLF8pfWZ1bmN0aW9uIF9lKG4saSxfLGMpe2xldCBmPWNyKG4sTGEoaSk/aTpHXyhpKSk7eW4oZixpKTtsZXQgdz0wO3JldHVybiBjfHwod3w9OTYpLF98fCh3fD0zMDcyKSx3JiZzZXRFbWl0RmxhZ3MoZix3KSxmfWZ1bmN0aW9uIFoobixpLF8sYyl7cmV0dXJuIG4mJmJzKGksMzIpP19lKG4sZChpKSxfLGMpOk4oaSxfLGMpfWZ1bmN0aW9uIGVlKG4saSxfLGMpe2xldCBmPWplKG4saSwwLF8pO3JldHVybiBBZShuLGksZixjKX1mdW5jdGlvbiBjZShuKXtyZXR1cm4gWWEobi5leHByZXNzaW9uKSYmbi5leHByZXNzaW9uLnRleHQ9PT1cInVzZSBzdHJpY3RcIn1mdW5jdGlvbiBMZSgpe3JldHVybiB2NihQaShkdChcInVzZSBzdHJpY3RcIikpKX1mdW5jdGlvbiBqZShuLGksXz0wLGMpe0IuYXNzZXJ0KGkubGVuZ3RoPT09MCxcIlByb2xvZ3VlIGRpcmVjdGl2ZXMgc2hvdWxkIGJlIGF0IHRoZSBmaXJzdCBzdGF0ZW1lbnQgaW4gdGhlIHRhcmdldCBzdGF0ZW1lbnRzIGFycmF5XCIpO2xldCBmPSExLHc9bi5sZW5ndGg7Zm9yKDtfPHc7KXtsZXQgRj1uW19dO2lmKG9sKEYpKWNlKEYpJiYoZj0hMCksaS5wdXNoKEYpO2Vsc2UgYnJlYWs7XysrfXJldHVybiBjJiYhZiYmaS5wdXNoKExlKCkpLF99ZnVuY3Rpb24gQWUobixpLF8sYyxmPXZ5KXtsZXQgdz1uLmxlbmd0aDtmb3IoO18hPT12b2lkIDAmJl88dzspe2xldCBGPW5bX107aWYoemEoRikmMjA5NzE1MiYmZihGKSlBbihpLGM/dmlzaXROb2RlKEYsYywkZyk6Rik7ZWxzZSBicmVhaztfKyt9cmV0dXJuIF99ZnVuY3Rpb24gWXQobil7cmV0dXJuIGc2KG4pP246eW4oZGUoW0xlKCksLi4ubl0pLG4pfWZ1bmN0aW9uIG1uKG4pe3JldHVybiBCLmFzc2VydChHcChuLEtnKSxcIkNhbm5vdCBsaWZ0IG5vZGVzIHRvIGEgQmxvY2suXCIpLHV5KG4pfHxScihuKX1mdW5jdGlvbiBadChuLGksXyl7bGV0IGM9Xztmb3IoO2M8bi5sZW5ndGgmJmkobltjXSk7KWMrKztyZXR1cm4gY31mdW5jdGlvbiB1cihuLGkpe2lmKCFIdChpKSlyZXR1cm4gbjtsZXQgXz1adChuLG9sLDApLGM9WnQobixCZCxfKSxmPVp0KG4scWQsYyksdz1adChpLG9sLDApLEY9WnQoaSxCZCx3KSxwZT1adChpLHFkLEYpLFJlPVp0KGksaGYscGUpO0IuYXNzZXJ0KFJlPT09aS5sZW5ndGgsXCJFeHBlY3RlZCBkZWNsYXJhdGlvbnMgdG8gYmUgdmFsaWQgc3RhbmRhcmQgb3IgY3VzdG9tIHByb2xvZ3Vlc1wiKTtsZXQgZW49bWkobik/bi5zbGljZSgpOm47aWYoUmU+cGUmJmVuLnNwbGljZShmLDAsLi4uaS5zbGljZShwZSxSZSkpLHBlPkYmJmVuLnNwbGljZShjLDAsLi4uaS5zbGljZShGLHBlKSksRj53JiZlbi5zcGxpY2UoXywwLC4uLmkuc2xpY2UodyxGKSksdz4wKWlmKF89PT0wKWVuLnNwbGljZSgwLDAsLi4uaS5zbGljZSgwLHcpKTtlbHNle2xldCBrbj1uZXcgTWFwO2ZvcihsZXQgJG49MDskbjxfOyRuKyspe2xldCBEYT1uWyRuXTtrbi5zZXQoRGEuZXhwcmVzc2lvbi50ZXh0LCEwKX1mb3IobGV0ICRuPXctMTskbj49MDskbi0tKXtsZXQgRGE9aVskbl07a24uaGFzKERhLmV4cHJlc3Npb24udGV4dCl8fGVuLnVuc2hpZnQoRGEpfX1yZXR1cm4gbWkobik/eW4oZGUoZW4sbi5oYXNUcmFpbGluZ0NvbW1hKSxuKTpufWZ1bmN0aW9uIExuKG4saSl7bGV0IF87cmV0dXJuIHR5cGVvZiBpPT1cIm51bWJlclwiP189dm4oaSk6Xz1pLEVmKG4pP19yKG4sXyxuLm5hbWUsbi5jb25zdHJhaW50LG4uZGVmYXVsdCk6ZHMobik/ZHIobixfLG4uZG90RG90RG90VG9rZW4sbi5uYW1lLG4ucXVlc3Rpb25Ub2tlbixuLnR5cGUsbi5pbml0aWFsaXplcik6TmYobik/VmUobixfLG4udHlwZVBhcmFtZXRlcnMsbi5wYXJhbWV0ZXJzLG4udHlwZSk6STEobik/Vm4obixfLG4ubmFtZSxuLnF1ZXN0aW9uVG9rZW4sbi50eXBlKTpWYShuKT9MKG4sXyxuLm5hbWUsbi5xdWVzdGlvblRva2VuPz9uLmV4Y2xhbWF0aW9uVG9rZW4sbi50eXBlLG4uaW5pdGlhbGl6ZXIpOk8xKG4pP2ZlKG4sXyxuLm5hbWUsbi5xdWVzdGlvblRva2VuLG4udHlwZVBhcmFtZXRlcnMsbi5wYXJhbWV0ZXJzLG4udHlwZSk6bXMobik/WGUobixfLG4uYXN0ZXJpc2tUb2tlbixuLm5hbWUsbi5xdWVzdGlvblRva2VuLG4udHlwZVBhcmFtZXRlcnMsbi5wYXJhbWV0ZXJzLG4udHlwZSxuLmJvZHkpOkFmKG4pP0lyKG4sXyxuLnBhcmFtZXRlcnMsbi5ib2R5KTpnbChuKT9XbihuLF8sbi5uYW1lLG4ucGFyYW1ldGVycyxuLnR5cGUsbi5ib2R5KTpocyhuKT8kKG4sXyxuLm5hbWUsbi5wYXJhbWV0ZXJzLG4uYm9keSk6Q2Yobik/WmUobixfLG4ucGFyYW1ldGVycyxuLnR5cGUpOk1mKG4pP1JzKG4sXyxuLmFzdGVyaXNrVG9rZW4sbi5uYW1lLG4udHlwZVBhcmFtZXRlcnMsbi5wYXJhbWV0ZXJzLG4udHlwZSxuLmJvZHkpOkpmKG4pP1VzKG4sXyxuLnR5cGVQYXJhbWV0ZXJzLG4ucGFyYW1ldGVycyxuLnR5cGUsbi5lcXVhbHNHcmVhdGVyVGhhblRva2VuLG4uYm9keSk6Ymwobik/Y18obixfLG4ubmFtZSxuLnR5cGVQYXJhbWV0ZXJzLG4uaGVyaXRhZ2VDbGF1c2VzLG4ubWVtYmVycyk6WGEobik/aW8obixfLG4uZGVjbGFyYXRpb25MaXN0KTpqZihuKT9UXyhuLF8sbi5hc3Rlcmlza1Rva2VuLG4ubmFtZSxuLnR5cGVQYXJhbWV0ZXJzLG4ucGFyYW1ldGVycyxuLnR5cGUsbi5ib2R5KTpXYShuKT9tYShuLF8sbi5uYW1lLG4udHlwZVBhcmFtZXRlcnMsbi5oZXJpdGFnZUNsYXVzZXMsbi5tZW1iZXJzKTp2cyhuKT9DbyhuLF8sbi5uYW1lLG4udHlwZVBhcmFtZXRlcnMsbi5oZXJpdGFnZUNsYXVzZXMsbi5tZW1iZXJzKTpEbChuKT9ncihuLF8sbi5uYW1lLG4udHlwZVBhcmFtZXRlcnMsbi50eXBlKTpaMShuKT9icihuLF8sbi5uYW1lLG4ubWVtYmVycyk6VGkobik/RXQobixfLG4ubmFtZSxuLmJvZHkpOlJmKG4pP01vKG4sXyxuLmlzVHlwZU9ubHksbi5uYW1lLG4ubW9kdWxlUmVmZXJlbmNlKTpVZihuKT9MbyhuLF8sbi5pbXBvcnRDbGF1c2Usbi5tb2R1bGVTcGVjaWZpZXIsbi5hdHRyaWJ1dGVzKTpCZihuKT9JaShuLF8sbi5leHByZXNzaW9uKTpxZihuKT9IbyhuLF8sbi5pc1R5cGVPbmx5LG4uZXhwb3J0Q2xhdXNlLG4ubW9kdWxlU3BlY2lmaWVyLG4uYXR0cmlidXRlcyk6Qi5hc3NlcnROZXZlcihuKX1mdW5jdGlvbiBGcihuLGkpe3JldHVybiBkcyhuKT9kcihuLGksbi5kb3REb3REb3RUb2tlbixuLm5hbWUsbi5xdWVzdGlvblRva2VuLG4udHlwZSxuLmluaXRpYWxpemVyKTpWYShuKT9MKG4saSxuLm5hbWUsbi5xdWVzdGlvblRva2VuPz9uLmV4Y2xhbWF0aW9uVG9rZW4sbi50eXBlLG4uaW5pdGlhbGl6ZXIpOm1zKG4pP1hlKG4saSxuLmFzdGVyaXNrVG9rZW4sbi5uYW1lLG4ucXVlc3Rpb25Ub2tlbixuLnR5cGVQYXJhbWV0ZXJzLG4ucGFyYW1ldGVycyxuLnR5cGUsbi5ib2R5KTpnbChuKT9XbihuLGksbi5uYW1lLG4ucGFyYW1ldGVycyxuLnR5cGUsbi5ib2R5KTpocyhuKT8kKG4saSxuLm5hbWUsbi5wYXJhbWV0ZXJzLG4uYm9keSk6Ymwobik/Y18obixpLG4ubmFtZSxuLnR5cGVQYXJhbWV0ZXJzLG4uaGVyaXRhZ2VDbGF1c2VzLG4ubWVtYmVycyk6V2Eobik/bWEobixpLG4ubmFtZSxuLnR5cGVQYXJhbWV0ZXJzLG4uaGVyaXRhZ2VDbGF1c2VzLG4ubWVtYmVycyk6Qi5hc3NlcnROZXZlcihuKX1mdW5jdGlvbiBkcChuLGkpe3N3aXRjaChuLmtpbmQpe2Nhc2UgMTc3OnJldHVybiBXbihuLG4ubW9kaWZpZXJzLGksbi5wYXJhbWV0ZXJzLG4udHlwZSxuLmJvZHkpO2Nhc2UgMTc4OnJldHVybiAkKG4sbi5tb2RpZmllcnMsaSxuLnBhcmFtZXRlcnMsbi5ib2R5KTtjYXNlIDE3NDpyZXR1cm4gWGUobixuLm1vZGlmaWVycyxuLmFzdGVyaXNrVG9rZW4saSxuLnF1ZXN0aW9uVG9rZW4sbi50eXBlUGFyYW1ldGVycyxuLnBhcmFtZXRlcnMsbi50eXBlLG4uYm9keSk7Y2FzZSAxNzM6cmV0dXJuIGZlKG4sbi5tb2RpZmllcnMsaSxuLnF1ZXN0aW9uVG9rZW4sbi50eXBlUGFyYW1ldGVycyxuLnBhcmFtZXRlcnMsbi50eXBlKTtjYXNlIDE3MjpyZXR1cm4gTChuLG4ubW9kaWZpZXJzLGksbi5xdWVzdGlvblRva2VuPz9uLmV4Y2xhbWF0aW9uVG9rZW4sbi50eXBlLG4uaW5pdGlhbGl6ZXIpO2Nhc2UgMTcxOnJldHVybiBWbihuLG4ubW9kaWZpZXJzLGksbi5xdWVzdGlvblRva2VuLG4udHlwZSk7Y2FzZSAzMDM6cmV0dXJuIHFyKG4saSxuLmluaXRpYWxpemVyKX19ZnVuY3Rpb24gRGUobil7cmV0dXJuIG4/ZGUobik6dm9pZCAwfWZ1bmN0aW9uIGV0KG4pe3JldHVybiB0eXBlb2Ygbj09XCJzdHJpbmdcIj9HZShuKTpufWZ1bmN0aW9uIHByKG4pe3JldHVybiB0eXBlb2Ygbj09XCJzdHJpbmdcIj9kdChuKTp0eXBlb2Ygbj09XCJudW1iZXJcIj9WKG4pOnR5cGVvZiBuPT1cImJvb2xlYW5cIj9uP2x0KCk6YXIoKTpufWZ1bmN0aW9uIENhKG4pe3JldHVybiBuJiZvKCkucGFyZW50aGVzaXplRXhwcmVzc2lvbkZvckRpc2FsbG93ZWRDb21tYShuKX1mdW5jdGlvbiAkYyhuKXtyZXR1cm4gdHlwZW9mIG49PVwibnVtYmVyXCI/Y3Qobik6bn1mdW5jdGlvbiBJdChuKXtyZXR1cm4gbiYmZTYobik/eW4oYShhbygpLG4pLG4pOm59ZnVuY3Rpb24geHIobil7cmV0dXJuIHR5cGVvZiBuPT1cInN0cmluZ1wifHxuJiYhTGYobik/ZGEobix2b2lkIDAsdm9pZCAwLHZvaWQgMCk6bn1mdW5jdGlvbiBxKG4saSl7cmV0dXJuIG4hPT1pJiYoYShuLGkpLHluKG4saSkpLG59fWZ1bmN0aW9uIGlsKGUpe3N3aXRjaChlKXtjYXNlIDM0NDpyZXR1cm5cInR5cGVcIjtjYXNlIDM0MjpyZXR1cm5cInJldHVybnNcIjtjYXNlIDM0MzpyZXR1cm5cInRoaXNcIjtjYXNlIDM0MDpyZXR1cm5cImVudW1cIjtjYXNlIDMzMDpyZXR1cm5cImF1dGhvclwiO2Nhc2UgMzMyOnJldHVyblwiY2xhc3NcIjtjYXNlIDMzMzpyZXR1cm5cInB1YmxpY1wiO2Nhc2UgMzM0OnJldHVyblwicHJpdmF0ZVwiO2Nhc2UgMzM1OnJldHVyblwicHJvdGVjdGVkXCI7Y2FzZSAzMzY6cmV0dXJuXCJyZWFkb25seVwiO2Nhc2UgMzM3OnJldHVyblwib3ZlcnJpZGVcIjtjYXNlIDM0NTpyZXR1cm5cInRlbXBsYXRlXCI7Y2FzZSAzNDY6cmV0dXJuXCJ0eXBlZGVmXCI7Y2FzZSAzNDE6cmV0dXJuXCJwYXJhbVwiO2Nhc2UgMzQ4OnJldHVyblwicHJvcFwiO2Nhc2UgMzM4OnJldHVyblwiY2FsbGJhY2tcIjtjYXNlIDMzOTpyZXR1cm5cIm92ZXJsb2FkXCI7Y2FzZSAzMjg6cmV0dXJuXCJhdWdtZW50c1wiO2Nhc2UgMzI5OnJldHVyblwiaW1wbGVtZW50c1wiO2Nhc2UgMzUxOnJldHVyblwiaW1wb3J0XCI7ZGVmYXVsdDpyZXR1cm4gQi5mYWlsKGBVbnN1cHBvcnRlZCBraW5kOiAke0IuZm9ybWF0U3ludGF4S2luZChlKX1gKX19dmFyIEVuLEhkPXt9O2Z1bmN0aW9uIFBiKGUsdCl7c3dpdGNoKEVufHwoRW49c2YoOTksITEsMCkpLGUpe2Nhc2UgMTU6RW4uc2V0VGV4dChcImBcIit0K1wiYFwiKTticmVhaztjYXNlIDE2OkVuLnNldFRleHQoXCJgXCIrdCtcIiR7XCIpO2JyZWFrO2Nhc2UgMTc6RW4uc2V0VGV4dChcIn1cIit0K1wiJHtcIik7YnJlYWs7Y2FzZSAxODpFbi5zZXRUZXh0KFwifVwiK3QrXCJgXCIpO2JyZWFrfWxldCBhPUVuLnNjYW4oKTtpZihhPT09MjAmJihhPUVuLnJlU2NhblRlbXBsYXRlVG9rZW4oITEpKSxFbi5pc1VudGVybWluYXRlZCgpKXJldHVybiBFbi5zZXRUZXh0KHZvaWQgMCksSGQ7bGV0IG87c3dpdGNoKGEpe2Nhc2UgMTU6Y2FzZSAxNjpjYXNlIDE3OmNhc2UgMTg6bz1Fbi5nZXRUb2tlblZhbHVlKCk7YnJlYWt9cmV0dXJuIG89PT12b2lkIDB8fEVuLnNjYW4oKSE9PTE/KEVuLnNldFRleHQodm9pZCAwKSxIZCk6KEVuLnNldFRleHQodm9pZCAwKSxvKX1mdW5jdGlvbiBqbihlKXtyZXR1cm4gZSYmdHQoZSk/amEoZSk6eihlKX1mdW5jdGlvbiBqYShlKXtyZXR1cm4geihlKSYtNjcxMDg4NjV9ZnVuY3Rpb24gTmIoZSx0KXtyZXR1cm4gdHxlLnRyYW5zZm9ybUZsYWdzJjEzNDIzNDExMn1mdW5jdGlvbiB6KGUpe2lmKCFlKXJldHVybiAwO2xldCB0PWUudHJhbnNmb3JtRmxhZ3MmfkliKGUua2luZCk7cmV0dXJuIGhnKGUpJiZzMShlLm5hbWUpP05iKGUubmFtZSx0KTp0fWZ1bmN0aW9uIGtlKGUpe3JldHVybiBlP2UudHJhbnNmb3JtRmxhZ3M6MH1mdW5jdGlvbiBYZChlKXtsZXQgdD0wO2ZvcihsZXQgYSBvZiBlKXR8PXooYSk7ZS50cmFuc2Zvcm1GbGFncz10fWZ1bmN0aW9uIEliKGUpe2lmKGU+PTE4MiYmZTw9MjA1KXJldHVybi0yO3N3aXRjaChlKXtjYXNlIDIxMzpjYXNlIDIxNDpjYXNlIDIwOTpyZXR1cm4tMjE0NzQ1MDg4MDtjYXNlIDI2NzpyZXR1cm4tMTk0MTY3NjAzMjtjYXNlIDE2OTpyZXR1cm4tMjE0NzQ4MzY0ODtjYXNlIDIxOTpyZXR1cm4tMjA3MjE3NDU5MjtjYXNlIDIxODpjYXNlIDI2MjpyZXR1cm4tMTkzNzk0MDQ4MDtjYXNlIDI2MTpyZXR1cm4tMjE0Njg5MzgyNDtjYXNlIDI2MzpjYXNlIDIzMTpyZXR1cm4tMjE0NzM0NDM4NDtjYXNlIDE3NjpyZXR1cm4tMTkzNzk0ODY3MjtjYXNlIDE3MjpyZXR1cm4tMjAxMzI0OTUzNjtjYXNlIDE3NDpjYXNlIDE3NzpjYXNlIDE3ODpyZXR1cm4tMjAwNTA1NzUzNjtjYXNlIDEzMzpjYXNlIDE1MDpjYXNlIDE2MzpjYXNlIDE0NjpjYXNlIDE1NDpjYXNlIDE1MTpjYXNlIDEzNjpjYXNlIDE1NTpjYXNlIDExNjpjYXNlIDE2ODpjYXNlIDE3MTpjYXNlIDE3MzpjYXNlIDE3OTpjYXNlIDE4MDpjYXNlIDE4MTpjYXNlIDI2NDpjYXNlIDI2NTpyZXR1cm4tMjtjYXNlIDIxMDpyZXR1cm4tMjE0NzI3ODg0ODtjYXNlIDI5OTpyZXR1cm4tMjE0NzQxODExMjtjYXNlIDIwNjpjYXNlIDIwNzpyZXR1cm4tMjE0NzQ1MDg4MDtjYXNlIDIxNjpjYXNlIDIzODpjYXNlIDIzNDpjYXNlIDM1NTpjYXNlIDIxNzpjYXNlIDEwODpyZXR1cm4tMjE0NzQ4MzY0ODtjYXNlIDIxMTpjYXNlIDIxMjpyZXR1cm4tMjE0NzQ4MzY0ODtkZWZhdWx0OnJldHVybi0yMTQ3NDgzNjQ4fX12YXIgWl89QWIoKTtmdW5jdGlvbiBlcyhlKXtyZXR1cm4gZS5mbGFnc3w9MTYsZX12YXIgT2I9e2NyZWF0ZUJhc2VTb3VyY2VGaWxlTm9kZTplPT5lcyhaXy5jcmVhdGVCYXNlU291cmNlRmlsZU5vZGUoZSkpLGNyZWF0ZUJhc2VJZGVudGlmaWVyTm9kZTplPT5lcyhaXy5jcmVhdGVCYXNlSWRlbnRpZmllck5vZGUoZSkpLGNyZWF0ZUJhc2VQcml2YXRlSWRlbnRpZmllck5vZGU6ZT0+ZXMoWl8uY3JlYXRlQmFzZVByaXZhdGVJZGVudGlmaWVyTm9kZShlKSksY3JlYXRlQmFzZVRva2VuTm9kZTplPT5lcyhaXy5jcmVhdGVCYXNlVG9rZW5Ob2RlKGUpKSxjcmVhdGVCYXNlTm9kZTplPT5lcyhaXy5jcmVhdGVCYXNlTm9kZShlKSl9LHkzPXdmKDQsT2IpO2Z1bmN0aW9uIE1iKGUsdCl7aWYoZS5vcmlnaW5hbCE9PXQmJihlLm9yaWdpbmFsPXQsdCkpe2xldCBhPXQuZW1pdE5vZGU7YSYmKGUuZW1pdE5vZGU9SmIoYSxlLmVtaXROb2RlKSl9cmV0dXJuIGV9ZnVuY3Rpb24gSmIoZSx0KXtsZXR7ZmxhZ3M6YSxpbnRlcm5hbEZsYWdzOm8sbGVhZGluZ0NvbW1lbnRzOm0sdHJhaWxpbmdDb21tZW50czp2LGNvbW1lbnRSYW5nZTpBLHNvdXJjZU1hcFJhbmdlOlAsdG9rZW5Tb3VyY2VNYXBSYW5nZXM6bCxjb25zdGFudFZhbHVlOlEsaGVscGVyczpoLHN0YXJ0c09uTmV3TGluZTp5LHNuaXBwZXRFbGVtZW50OmcsY2xhc3NUaGlzOngsYXNzaWduZWROYW1lOkl9PWU7aWYodHx8KHQ9e30pLGEmJih0LmZsYWdzPWEpLG8mJih0LmludGVybmFsRmxhZ3M9byYtOSksbSYmKHQubGVhZGluZ0NvbW1lbnRzPURuKG0uc2xpY2UoKSx0LmxlYWRpbmdDb21tZW50cykpLHYmJih0LnRyYWlsaW5nQ29tbWVudHM9RG4odi5zbGljZSgpLHQudHJhaWxpbmdDb21tZW50cykpLEEmJih0LmNvbW1lbnRSYW5nZT1BKSxQJiYodC5zb3VyY2VNYXBSYW5nZT1QKSxsJiYodC50b2tlblNvdXJjZU1hcFJhbmdlcz1MYihsLHQudG9rZW5Tb3VyY2VNYXBSYW5nZXMpKSxRIT09dm9pZCAwJiYodC5jb25zdGFudFZhbHVlPVEpLGgpZm9yKGxldCByZSBvZiBoKXQuaGVscGVycz1veSh0LmhlbHBlcnMscmUpO3JldHVybiB5IT09dm9pZCAwJiYodC5zdGFydHNPbk5ld0xpbmU9eSksZyE9PXZvaWQgMCYmKHQuc25pcHBldEVsZW1lbnQ9ZykseCYmKHQuY2xhc3NUaGlzPXgpLEkmJih0LmFzc2lnbmVkTmFtZT1JKSx0fWZ1bmN0aW9uIExiKGUsdCl7dHx8KHQ9W10pO2ZvcihsZXQgYSBpbiBlKXRbYV09ZVthXTtyZXR1cm4gdH1mdW5jdGlvbiBlYShlKXtyZXR1cm4gZS5raW5kPT09OX1mdW5jdGlvbiBEMShlKXtyZXR1cm4gZS5raW5kPT09MTB9ZnVuY3Rpb24gWWEoZSl7cmV0dXJuIGUua2luZD09PTExfWZ1bmN0aW9uIFAxKGUpe3JldHVybiBlLmtpbmQ9PT0xNX1mdW5jdGlvbiBqYihlKXtyZXR1cm4gZS5raW5kPT09Mjh9ZnVuY3Rpb24gJGQoZSl7cmV0dXJuIGUua2luZD09PTU0fWZ1bmN0aW9uIFFkKGUpe3JldHVybiBlLmtpbmQ9PT01OH1mdW5jdGlvbiB0dChlKXtyZXR1cm4gZS5raW5kPT09ODB9ZnVuY3Rpb24gZ2koZSl7cmV0dXJuIGUua2luZD09PTgxfWZ1bmN0aW9uIFJiKGUpe3JldHVybiBlLmtpbmQ9PT05NX1mdW5jdGlvbiBhbChlKXtyZXR1cm4gZS5raW5kPT09MTM0fWZ1bmN0aW9uIEFwKGUpe3JldHVybiBlLmtpbmQ9PT0xMDh9ZnVuY3Rpb24gVWIoZSl7cmV0dXJuIGUua2luZD09PTEwMn1mdW5jdGlvbiBOMShlKXtyZXR1cm4gZS5raW5kPT09MTY2fWZ1bmN0aW9uIGtmKGUpe3JldHVybiBlLmtpbmQ9PT0xNjd9ZnVuY3Rpb24gRWYoZSl7cmV0dXJuIGUua2luZD09PTE2OH1mdW5jdGlvbiBkcyhlKXtyZXR1cm4gZS5raW5kPT09MTY5fWZ1bmN0aW9uIEVsKGUpe3JldHVybiBlLmtpbmQ9PT0xNzB9ZnVuY3Rpb24gSTEoZSl7cmV0dXJuIGUua2luZD09PTE3MX1mdW5jdGlvbiBWYShlKXtyZXR1cm4gZS5raW5kPT09MTcyfWZ1bmN0aW9uIE8xKGUpe3JldHVybiBlLmtpbmQ9PT0xNzN9ZnVuY3Rpb24gbXMoZSl7cmV0dXJuIGUua2luZD09PTE3NH1mdW5jdGlvbiBBZihlKXtyZXR1cm4gZS5raW5kPT09MTc2fWZ1bmN0aW9uIGdsKGUpe3JldHVybiBlLmtpbmQ9PT0xNzd9ZnVuY3Rpb24gaHMoZSl7cmV0dXJuIGUua2luZD09PTE3OH1mdW5jdGlvbiBNMShlKXtyZXR1cm4gZS5raW5kPT09MTc5fWZ1bmN0aW9uIEoxKGUpe3JldHVybiBlLmtpbmQ9PT0xODB9ZnVuY3Rpb24gQ2YoZSl7cmV0dXJuIGUua2luZD09PTE4MX1mdW5jdGlvbiBMMShlKXtyZXR1cm4gZS5raW5kPT09MTgyfWZ1bmN0aW9uIERmKGUpe3JldHVybiBlLmtpbmQ9PT0xODN9ZnVuY3Rpb24gUGYoZSl7cmV0dXJuIGUua2luZD09PTE4NH1mdW5jdGlvbiBOZihlKXtyZXR1cm4gZS5raW5kPT09MTg1fWZ1bmN0aW9uIEJiKGUpe3JldHVybiBlLmtpbmQ9PT0xODZ9ZnVuY3Rpb24gajEoZSl7cmV0dXJuIGUua2luZD09PTE4N31mdW5jdGlvbiBxYihlKXtyZXR1cm4gZS5raW5kPT09MTg4fWZ1bmN0aW9uIHpiKGUpe3JldHVybiBlLmtpbmQ9PT0xODl9ZnVuY3Rpb24gUjEoZSl7cmV0dXJuIGUua2luZD09PTIwMn1mdW5jdGlvbiBGYihlKXtyZXR1cm4gZS5raW5kPT09MTkwfWZ1bmN0aW9uIFZiKGUpe3JldHVybiBlLmtpbmQ9PT0xOTF9ZnVuY3Rpb24gVTEoZSl7cmV0dXJuIGUua2luZD09PTE5Mn1mdW5jdGlvbiBCMShlKXtyZXR1cm4gZS5raW5kPT09MTkzfWZ1bmN0aW9uIFdiKGUpe3JldHVybiBlLmtpbmQ9PT0xOTR9ZnVuY3Rpb24gR2IoZSl7cmV0dXJuIGUua2luZD09PTE5NX1mdW5jdGlvbiBxMShlKXtyZXR1cm4gZS5raW5kPT09MTk2fWZ1bmN0aW9uIFliKGUpe3JldHVybiBlLmtpbmQ9PT0xOTd9ZnVuY3Rpb24gejEoZSl7cmV0dXJuIGUua2luZD09PTE5OH1mdW5jdGlvbiBIYihlKXtyZXR1cm4gZS5raW5kPT09MTk5fWZ1bmN0aW9uIEYxKGUpe3JldHVybiBlLmtpbmQ9PT0yMDB9ZnVuY3Rpb24gWGIoZSl7cmV0dXJuIGUua2luZD09PTIwMX1mdW5jdGlvbiAkYihlKXtyZXR1cm4gZS5raW5kPT09MjA1fWZ1bmN0aW9uIFYxKGUpe3JldHVybiBlLmtpbmQ9PT0yMDh9ZnVuY3Rpb24gVzEoZSl7cmV0dXJuIGUua2luZD09PTIwOX1mdW5jdGlvbiBJZihlKXtyZXR1cm4gZS5raW5kPT09MjEwfWZ1bmN0aW9uIEhyKGUpe3JldHVybiBlLmtpbmQ9PT0yMTF9ZnVuY3Rpb24gSGEoZSl7cmV0dXJuIGUua2luZD09PTIxMn1mdW5jdGlvbiBPZihlKXtyZXR1cm4gZS5raW5kPT09MjEzfWZ1bmN0aW9uIEcxKGUpe3JldHVybiBlLmtpbmQ9PT0yMTV9ZnVuY3Rpb24gQWwoZSl7cmV0dXJuIGUua2luZD09PTIxN31mdW5jdGlvbiBNZihlKXtyZXR1cm4gZS5raW5kPT09MjE4fWZ1bmN0aW9uIEpmKGUpe3JldHVybiBlLmtpbmQ9PT0yMTl9ZnVuY3Rpb24gUWIoZSl7cmV0dXJuIGUua2luZD09PTIyMn1mdW5jdGlvbiBZMShlKXtyZXR1cm4gZS5raW5kPT09MjI0fWZ1bmN0aW9uIEtpKGUpe3JldHVybiBlLmtpbmQ9PT0yMjZ9ZnVuY3Rpb24gSDEoZSl7cmV0dXJuIGUua2luZD09PTIzMH1mdW5jdGlvbiBibChlKXtyZXR1cm4gZS5raW5kPT09MjMxfWZ1bmN0aW9uIFgxKGUpe3JldHVybiBlLmtpbmQ9PT0yMzJ9ZnVuY3Rpb24gJDEoZSl7cmV0dXJuIGUua2luZD09PTIzM31mdW5jdGlvbiBjbChlKXtyZXR1cm4gZS5raW5kPT09MjM1fWZ1bmN0aW9uIEtiKGUpe3JldHVybiBlLmtpbmQ9PT0yMzZ9ZnVuY3Rpb24gWmIoZSl7cmV0dXJuIGUua2luZD09PTM1Nn1mdW5jdGlvbiBYYShlKXtyZXR1cm4gZS5raW5kPT09MjQzfWZ1bmN0aW9uIENsKGUpe3JldHVybiBlLmtpbmQ9PT0yNDR9ZnVuY3Rpb24gUTEoZSl7cmV0dXJuIGUua2luZD09PTI1Nn1mdW5jdGlvbiBMZihlKXtyZXR1cm4gZS5raW5kPT09MjYwfWZ1bmN0aW9uIEsxKGUpe3JldHVybiBlLmtpbmQ9PT0yNjF9ZnVuY3Rpb24gamYoZSl7cmV0dXJuIGUua2luZD09PTI2Mn1mdW5jdGlvbiBXYShlKXtyZXR1cm4gZS5raW5kPT09MjYzfWZ1bmN0aW9uIHZzKGUpe3JldHVybiBlLmtpbmQ9PT0yNjR9ZnVuY3Rpb24gRGwoZSl7cmV0dXJuIGUua2luZD09PTI2NX1mdW5jdGlvbiBaMShlKXtyZXR1cm4gZS5raW5kPT09MjY2fWZ1bmN0aW9uIFRpKGUpe3JldHVybiBlLmtpbmQ9PT0yNjd9ZnVuY3Rpb24gUmYoZSl7cmV0dXJuIGUua2luZD09PTI3MX1mdW5jdGlvbiBVZihlKXtyZXR1cm4gZS5raW5kPT09MjcyfWZ1bmN0aW9uIEJmKGUpe3JldHVybiBlLmtpbmQ9PT0yNzd9ZnVuY3Rpb24gcWYoZSl7cmV0dXJuIGUua2luZD09PTI3OH1mdW5jdGlvbiBlaChlKXtyZXR1cm4gZS5raW5kPT09Mjc5fWZ1bmN0aW9uIGU2KGUpe3JldHVybiBlLmtpbmQ9PT0zNTN9ZnVuY3Rpb24gemYoZSl7cmV0dXJuIGUua2luZD09PTI4M31mdW5jdGlvbiB6cChlKXtyZXR1cm4gZS5raW5kPT09Mjg2fWZ1bmN0aW9uIHQ2KGUpe3JldHVybiBlLmtpbmQ9PT0yODl9ZnVuY3Rpb24gdGgoZSl7cmV0dXJuIGUua2luZD09PTI5NX1mdW5jdGlvbiBuNihlKXtyZXR1cm4gZS5raW5kPT09Mjk3fWZ1bmN0aW9uIG5oKGUpe3JldHVybiBlLmtpbmQ9PT0zMDN9ZnVuY3Rpb24gcmgoZSl7cmV0dXJuIGUua2luZD09PTMwN31mdW5jdGlvbiBpaChlKXtyZXR1cm4gZS5raW5kPT09MzA5fWZ1bmN0aW9uIGFoKGUpe3JldHVybiBlLmtpbmQ9PT0zMTR9ZnVuY3Rpb24gX2goZSl7cmV0dXJuIGUua2luZD09PTMxN31mdW5jdGlvbiBzaChlKXtyZXR1cm4gZS5raW5kPT09MzIwfWZ1bmN0aW9uIHI2KGUpe3JldHVybiBlLmtpbmQ9PT0zMjJ9ZnVuY3Rpb24gUGwoZSl7cmV0dXJuIGUua2luZD09PTMyM31mdW5jdGlvbiBpNihlKXtyZXR1cm4gZS5raW5kPT09MzI4fWZ1bmN0aW9uIGE2KGUpe3JldHVybiBlLmtpbmQ9PT0zMzN9ZnVuY3Rpb24gXzYoZSl7cmV0dXJuIGUua2luZD09PTMzNH1mdW5jdGlvbiBzNihlKXtyZXR1cm4gZS5raW5kPT09MzM1fWZ1bmN0aW9uIG82KGUpe3JldHVybiBlLmtpbmQ9PT0zMzZ9ZnVuY3Rpb24gYzYoZSl7cmV0dXJuIGUua2luZD09PTMzN31mdW5jdGlvbiBsNihlKXtyZXR1cm4gZS5raW5kPT09MzM5fWZ1bmN0aW9uIHU2KGUpe3JldHVybiBlLmtpbmQ9PT0zMzF9ZnVuY3Rpb24gRnAoZSl7cmV0dXJuIGUua2luZD09PTM0MX1mdW5jdGlvbiBwNihlKXtyZXR1cm4gZS5raW5kPT09MzQyfWZ1bmN0aW9uIEZmKGUpe3JldHVybiBlLmtpbmQ9PT0zNDR9ZnVuY3Rpb24gb2goZSl7cmV0dXJuIGUua2luZD09PTM0NX1mdW5jdGlvbiBmNihlKXtyZXR1cm4gZS5raW5kPT09MzI5fWZ1bmN0aW9uIGQ2KGUpe3JldHVybiBlLmtpbmQ9PT0zNTB9dmFyIFhpPW5ldyBXZWFrTWFwO2Z1bmN0aW9uIGNoKGUsdCl7dmFyIGE7bGV0IG89ZS5raW5kO3JldHVybiBmZihvKT9vPT09MzUyP2UuX2NoaWxkcmVuOihhPVhpLmdldCh0KSk9PW51bGw/dm9pZCAwOmEuZ2V0KGUpOmJ0fWZ1bmN0aW9uIG02KGUsdCxhKXtlLmtpbmQ9PT0zNTImJkIuZmFpbChcIlNob3VsZCBub3QgbmVlZCB0byByZS1zZXQgdGhlIGNoaWxkcmVuIG9mIGEgU3ludGF4TGlzdC5cIik7bGV0IG89WGkuZ2V0KHQpO3JldHVybiBvPT09dm9pZCAwJiYobz1uZXcgV2Vha01hcCxYaS5zZXQodCxvKSksby5zZXQoZSxhKSxhfWZ1bmN0aW9uIEtkKGUsdCl7dmFyIGE7ZS5raW5kPT09MzUyJiZCLmZhaWwoXCJEaWQgbm90IGV4cGVjdCB0byB1bnNldCB0aGUgY2hpbGRyZW4gb2YgYSBTeW50YXhMaXN0LlwiKSwoYT1YaS5nZXQodCkpPT1udWxsfHxhLmRlbGV0ZShlKX1mdW5jdGlvbiBoNihlLHQpe2xldCBhPVhpLmdldChlKTthIT09dm9pZCAwJiYoWGkuZGVsZXRlKGUpLFhpLnNldCh0LGEpKX1mdW5jdGlvbiBaZChlKXtyZXR1cm4oemEoZSkmMzI3NjgpIT09MH1mdW5jdGlvbiB5NihlKXtyZXR1cm4gWWEoZS5leHByZXNzaW9uKSYmZS5leHByZXNzaW9uLnRleHQ9PT1cInVzZSBzdHJpY3RcIn1mdW5jdGlvbiBnNihlKXtmb3IobGV0IHQgb2YgZSlpZihvbCh0KSl7aWYoeTYodCkpcmV0dXJuIHR9ZWxzZSBicmVha31mdW5jdGlvbiBiNihlKXtyZXR1cm4gQWwoZSkmJlppKGUpJiYhIVBnKGUpfWZ1bmN0aW9uIGxoKGUsdD0zMSl7c3dpdGNoKGUua2luZCl7Y2FzZSAyMTc6cmV0dXJuIHQmLTIxNDc0ODM2NDgmJmI2KGUpPyExOih0JjEpIT09MDtjYXNlIDIxNjpjYXNlIDIzNDpjYXNlIDIzODpyZXR1cm4odCYyKSE9PTA7Y2FzZSAyMzM6cmV0dXJuKHQmMTYpIT09MDtjYXNlIDIzNTpyZXR1cm4odCY0KSE9PTA7Y2FzZSAzNTU6cmV0dXJuKHQmOCkhPT0wfXJldHVybiExfWZ1bmN0aW9uIFZmKGUsdD0zMSl7Zm9yKDtsaChlLHQpOyllPWUuZXhwcmVzc2lvbjtyZXR1cm4gZX1mdW5jdGlvbiB2NihlKXtyZXR1cm4gc2V0U3RhcnRzT25OZXdMaW5lKGUsITApfWZ1bmN0aW9uIGFzKGUpe2lmKEdnKGUpKXJldHVybiBlLm5hbWU7aWYoRmcoZSkpe3N3aXRjaChlLmtpbmQpe2Nhc2UgMzAzOnJldHVybiBhcyhlLmluaXRpYWxpemVyKTtjYXNlIDMwNDpyZXR1cm4gZS5uYW1lO2Nhc2UgMzA1OnJldHVybiBhcyhlLmV4cHJlc3Npb24pfXJldHVybn1yZXR1cm4geWwoZSwhMCk/YXMoZS5sZWZ0KTpIMShlKT9hcyhlLmV4cHJlc3Npb24pOmV9ZnVuY3Rpb24gVDYoZSl7c3dpdGNoKGUua2luZCl7Y2FzZSAyMDY6Y2FzZSAyMDc6Y2FzZSAyMDk6cmV0dXJuIGUuZWxlbWVudHM7Y2FzZSAyMTA6cmV0dXJuIGUucHJvcGVydGllc319ZnVuY3Rpb24gZW0oZSl7aWYoZSl7bGV0IHQ9ZTtmb3IoOzspe2lmKHR0KHQpfHwhdC5ib2R5KXJldHVybiB0dCh0KT90OnQubmFtZTt0PXQuYm9keX19fXZhciB0bTsoZT0+e2Z1bmN0aW9uIHQoaCx5LGcseCxJLHJlLGhlKXtsZXQgeWU9eT4wP0lbeS0xXTp2b2lkIDA7cmV0dXJuIEIuYXNzZXJ0RXF1YWwoZ1t5XSx0KSxJW3ldPWgub25FbnRlcih4W3ldLHllLGhlKSxnW3ldPVAoaCx0KSx5fWUuZW50ZXI9dDtmdW5jdGlvbiBhKGgseSxnLHgsSSxyZSxoZSl7Qi5hc3NlcnRFcXVhbChnW3ldLGEpLEIuYXNzZXJ0SXNEZWZpbmVkKGgub25MZWZ0KSxnW3ldPVAoaCxhKTtsZXQgeWU9aC5vbkxlZnQoeFt5XS5sZWZ0LElbeV0seFt5XSk7cmV0dXJuIHllPyhRKHkseCx5ZSksbCh5LGcseCxJLHllKSk6eX1lLmxlZnQ9YTtmdW5jdGlvbiBvKGgseSxnLHgsSSxyZSxoZSl7cmV0dXJuIEIuYXNzZXJ0RXF1YWwoZ1t5XSxvKSxCLmFzc2VydElzRGVmaW5lZChoLm9uT3BlcmF0b3IpLGdbeV09UChoLG8pLGgub25PcGVyYXRvcih4W3ldLm9wZXJhdG9yVG9rZW4sSVt5XSx4W3ldKSx5fWUub3BlcmF0b3I9bztmdW5jdGlvbiBtKGgseSxnLHgsSSxyZSxoZSl7Qi5hc3NlcnRFcXVhbChnW3ldLG0pLEIuYXNzZXJ0SXNEZWZpbmVkKGgub25SaWdodCksZ1t5XT1QKGgsbSk7bGV0IHllPWgub25SaWdodCh4W3ldLnJpZ2h0LElbeV0seFt5XSk7cmV0dXJuIHllPyhRKHkseCx5ZSksbCh5LGcseCxJLHllKSk6eX1lLnJpZ2h0PW07ZnVuY3Rpb24gdihoLHksZyx4LEkscmUsaGUpe0IuYXNzZXJ0RXF1YWwoZ1t5XSx2KSxnW3ldPVAoaCx2KTtsZXQgeWU9aC5vbkV4aXQoeFt5XSxJW3ldKTtpZih5PjApe2lmKHktLSxoLmZvbGRTdGF0ZSl7bGV0IGRlPWdbeV09PT12P1wicmlnaHRcIjpcImxlZnRcIjtJW3ldPWguZm9sZFN0YXRlKElbeV0seWUsZGUpfX1lbHNlIHJlLnZhbHVlPXllO3JldHVybiB5fWUuZXhpdD12O2Z1bmN0aW9uIEEoaCx5LGcseCxJLHJlLGhlKXtyZXR1cm4gQi5hc3NlcnRFcXVhbChnW3ldLEEpLHl9ZS5kb25lPUE7ZnVuY3Rpb24gUChoLHkpe3N3aXRjaCh5KXtjYXNlIHQ6aWYoaC5vbkxlZnQpcmV0dXJuIGE7Y2FzZSBhOmlmKGgub25PcGVyYXRvcilyZXR1cm4gbztjYXNlIG86aWYoaC5vblJpZ2h0KXJldHVybiBtO2Nhc2UgbTpyZXR1cm4gdjtjYXNlIHY6cmV0dXJuIEE7Y2FzZSBBOnJldHVybiBBO2RlZmF1bHQ6Qi5mYWlsKFwiSW52YWxpZCBzdGF0ZVwiKX19ZS5uZXh0U3RhdGU9UDtmdW5jdGlvbiBsKGgseSxnLHgsSSl7cmV0dXJuIGgrKyx5W2hdPXQsZ1toXT1JLHhbaF09dm9pZCAwLGh9ZnVuY3Rpb24gUShoLHksZyl7aWYoQi5zaG91bGRBc3NlcnQoMikpZm9yKDtoPj0wOylCLmFzc2VydCh5W2hdIT09ZyxcIkNpcmN1bGFyIHRyYXZlcnNhbCBkZXRlY3RlZC5cIiksaC0tfX0pKHRtfHwodG09e30pKTtmdW5jdGlvbiBubShlLHQpe3JldHVybiB0eXBlb2YgZT09XCJvYmplY3RcIj9WcCghMSxlLnByZWZpeCxlLm5vZGUsZS5zdWZmaXgsdCk6dHlwZW9mIGU9PVwic3RyaW5nXCI/ZS5sZW5ndGg+MCYmZS5jaGFyQ29kZUF0KDApPT09MzU/ZS5zbGljZSgxKTplOlwiXCJ9ZnVuY3Rpb24geDYoZSx0KXtyZXR1cm4gdHlwZW9mIGU9PVwic3RyaW5nXCI/ZTpTNihlLEIuY2hlY2tEZWZpbmVkKHQpKX1mdW5jdGlvbiBTNihlLHQpe3JldHVybiBfMShlKT90KGUpLnNsaWNlKDEpOlVhKGUpP3QoZSk6Z2koZSk/ZS5lc2NhcGVkVGV4dC5zbGljZSgxKTpQbihlKX1mdW5jdGlvbiBWcChlLHQsYSxvLG0pe3JldHVybiB0PW5tKHQsbSksbz1ubShvLG0pLGE9eDYoYSxtKSxgJHtlP1wiI1wiOlwiXCJ9JHt0fSR7YX0ke299YH1mdW5jdGlvbiB1aChlKXtpZihlLnRyYW5zZm9ybUZsYWdzJjY1NTM2KXJldHVybiEwO2lmKGUudHJhbnNmb3JtRmxhZ3MmMTI4KWZvcihsZXQgdCBvZiBUNihlKSl7bGV0IGE9YXModCk7aWYoYSYmV2coYSkmJihhLnRyYW5zZm9ybUZsYWdzJjY1NTM2fHxhLnRyYW5zZm9ybUZsYWdzJjEyOCYmdWgoYSkpKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIHluKGUsdCl7cmV0dXJuIHQ/eWkoZSx0LnBvcyx0LmVuZCk6ZX1mdW5jdGlvbiBObChlKXtsZXQgdD1lLmtpbmQ7cmV0dXJuIHQ9PT0xNjh8fHQ9PT0xNjl8fHQ9PT0xNzF8fHQ9PT0xNzJ8fHQ9PT0xNzN8fHQ9PT0xNzR8fHQ9PT0xNzZ8fHQ9PT0xNzd8fHQ9PT0xNzh8fHQ9PT0xODF8fHQ9PT0xODV8fHQ9PT0yMTh8fHQ9PT0yMTl8fHQ9PT0yMzF8fHQ9PT0yNDN8fHQ9PT0yNjJ8fHQ9PT0yNjN8fHQ9PT0yNjR8fHQ9PT0yNjV8fHQ9PT0yNjZ8fHQ9PT0yNjd8fHQ9PT0yNzF8fHQ9PT0yNzJ8fHQ9PT0yNzd8fHQ9PT0yNzh9ZnVuY3Rpb24gV2YoZSl7bGV0IHQ9ZS5raW5kO3JldHVybiB0PT09MTY5fHx0PT09MTcyfHx0PT09MTc0fHx0PT09MTc3fHx0PT09MTc4fHx0PT09MjMxfHx0PT09MjYzfXZhciBybSxpbSxhbSxfbSxzbSx3Nj17Y3JlYXRlQmFzZVNvdXJjZUZpbGVOb2RlOmU9Pm5ldyhzbXx8KHNtPUF0LmdldFNvdXJjZUZpbGVDb25zdHJ1Y3RvcigpKSkoZSwtMSwtMSksY3JlYXRlQmFzZUlkZW50aWZpZXJOb2RlOmU9Pm5ldyhhbXx8KGFtPUF0LmdldElkZW50aWZpZXJDb25zdHJ1Y3RvcigpKSkoZSwtMSwtMSksY3JlYXRlQmFzZVByaXZhdGVJZGVudGlmaWVyTm9kZTplPT5uZXcoX218fChfbT1BdC5nZXRQcml2YXRlSWRlbnRpZmllckNvbnN0cnVjdG9yKCkpKShlLC0xLC0xKSxjcmVhdGVCYXNlVG9rZW5Ob2RlOmU9Pm5ldyhpbXx8KGltPUF0LmdldFRva2VuQ29uc3RydWN0b3IoKSkpKGUsLTEsLTEpLGNyZWF0ZUJhc2VOb2RlOmU9Pm5ldyhybXx8KHJtPUF0LmdldE5vZGVDb25zdHJ1Y3RvcigpKSkoZSwtMSwtMSl9LGczPXdmKDEsdzYpO2Z1bmN0aW9uIGsoZSx0KXtyZXR1cm4gdCYmZSh0KX1mdW5jdGlvbiBpZShlLHQsYSl7aWYoYSl7aWYodClyZXR1cm4gdChhKTtmb3IobGV0IG8gb2YgYSl7bGV0IG09ZShvKTtpZihtKXJldHVybiBtfX19ZnVuY3Rpb24gazYoZSx0KXtyZXR1cm4gZS5jaGFyQ29kZUF0KHQrMSk9PT00MiYmZS5jaGFyQ29kZUF0KHQrMik9PT00MiYmZS5jaGFyQ29kZUF0KHQrMykhPT00N31mdW5jdGlvbiBFNihlKXtyZXR1cm4gVW4oZS5zdGF0ZW1lbnRzLEE2KXx8QzYoZSl9ZnVuY3Rpb24gQTYoZSl7cmV0dXJuIE5sKGUpJiZENihlLDk1KXx8UmYoZSkmJnpmKGUubW9kdWxlUmVmZXJlbmNlKXx8VWYoZSl8fEJmKGUpfHxxZihlKT9lOnZvaWQgMH1mdW5jdGlvbiBDNihlKXtyZXR1cm4gZS5mbGFncyY4Mzg4NjA4P3BoKGUpOnZvaWQgMH1mdW5jdGlvbiBwaChlKXtyZXR1cm4gUDYoZSk/ZTpYdChlLHBoKX1mdW5jdGlvbiBENihlLHQpe3JldHVybiBIdChlLm1vZGlmaWVycyxhPT5hLmtpbmQ9PT10KX1mdW5jdGlvbiBQNihlKXtyZXR1cm4gS2IoZSkmJmUua2V5d29yZFRva2VuPT09MTAyJiZlLm5hbWUuZXNjYXBlZFRleHQ9PT1cIm1ldGFcIn12YXIgTjY9ezE2NjpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmxlZnQpfHxrKGEsdC5yaWdodCl9LDE2ODpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0Lm1vZGlmaWVycyl8fGsoYSx0Lm5hbWUpfHxrKGEsdC5jb25zdHJhaW50KXx8ayhhLHQuZGVmYXVsdCl8fGsoYSx0LmV4cHJlc3Npb24pfSwzMDQ6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBpZShhLG8sdC5tb2RpZmllcnMpfHxrKGEsdC5uYW1lKXx8ayhhLHQucXVlc3Rpb25Ub2tlbil8fGsoYSx0LmV4Y2xhbWF0aW9uVG9rZW4pfHxrKGEsdC5lcXVhbHNUb2tlbil8fGsoYSx0Lm9iamVjdEFzc2lnbm1lbnRJbml0aWFsaXplcil9LDMwNTpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmV4cHJlc3Npb24pfSwxNjk6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBpZShhLG8sdC5tb2RpZmllcnMpfHxrKGEsdC5kb3REb3REb3RUb2tlbil8fGsoYSx0Lm5hbWUpfHxrKGEsdC5xdWVzdGlvblRva2VuKXx8ayhhLHQudHlwZSl8fGsoYSx0LmluaXRpYWxpemVyKX0sMTcyOmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gaWUoYSxvLHQubW9kaWZpZXJzKXx8ayhhLHQubmFtZSl8fGsoYSx0LnF1ZXN0aW9uVG9rZW4pfHxrKGEsdC5leGNsYW1hdGlvblRva2VuKXx8ayhhLHQudHlwZSl8fGsoYSx0LmluaXRpYWxpemVyKX0sMTcxOmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gaWUoYSxvLHQubW9kaWZpZXJzKXx8ayhhLHQubmFtZSl8fGsoYSx0LnF1ZXN0aW9uVG9rZW4pfHxrKGEsdC50eXBlKXx8ayhhLHQuaW5pdGlhbGl6ZXIpfSwzMDM6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBpZShhLG8sdC5tb2RpZmllcnMpfHxrKGEsdC5uYW1lKXx8ayhhLHQucXVlc3Rpb25Ub2tlbil8fGsoYSx0LmV4Y2xhbWF0aW9uVG9rZW4pfHxrKGEsdC5pbml0aWFsaXplcil9LDI2MDpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0Lm5hbWUpfHxrKGEsdC5leGNsYW1hdGlvblRva2VuKXx8ayhhLHQudHlwZSl8fGsoYSx0LmluaXRpYWxpemVyKX0sMjA4OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQuZG90RG90RG90VG9rZW4pfHxrKGEsdC5wcm9wZXJ0eU5hbWUpfHxrKGEsdC5uYW1lKXx8ayhhLHQuaW5pdGlhbGl6ZXIpfSwxODE6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBpZShhLG8sdC5tb2RpZmllcnMpfHxpZShhLG8sdC50eXBlUGFyYW1ldGVycyl8fGllKGEsbyx0LnBhcmFtZXRlcnMpfHxrKGEsdC50eXBlKX0sMTg1OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gaWUoYSxvLHQubW9kaWZpZXJzKXx8aWUoYSxvLHQudHlwZVBhcmFtZXRlcnMpfHxpZShhLG8sdC5wYXJhbWV0ZXJzKXx8ayhhLHQudHlwZSl9LDE4NDpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0Lm1vZGlmaWVycyl8fGllKGEsbyx0LnR5cGVQYXJhbWV0ZXJzKXx8aWUoYSxvLHQucGFyYW1ldGVycyl8fGsoYSx0LnR5cGUpfSwxNzk6b20sMTgwOm9tLDE3NDpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0Lm1vZGlmaWVycyl8fGsoYSx0LmFzdGVyaXNrVG9rZW4pfHxrKGEsdC5uYW1lKXx8ayhhLHQucXVlc3Rpb25Ub2tlbil8fGsoYSx0LmV4Y2xhbWF0aW9uVG9rZW4pfHxpZShhLG8sdC50eXBlUGFyYW1ldGVycyl8fGllKGEsbyx0LnBhcmFtZXRlcnMpfHxrKGEsdC50eXBlKXx8ayhhLHQuYm9keSl9LDE3MzpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0Lm1vZGlmaWVycyl8fGsoYSx0Lm5hbWUpfHxrKGEsdC5xdWVzdGlvblRva2VuKXx8aWUoYSxvLHQudHlwZVBhcmFtZXRlcnMpfHxpZShhLG8sdC5wYXJhbWV0ZXJzKXx8ayhhLHQudHlwZSl9LDE3NjpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0Lm1vZGlmaWVycyl8fGsoYSx0Lm5hbWUpfHxpZShhLG8sdC50eXBlUGFyYW1ldGVycyl8fGllKGEsbyx0LnBhcmFtZXRlcnMpfHxrKGEsdC50eXBlKXx8ayhhLHQuYm9keSl9LDE3NzpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0Lm1vZGlmaWVycyl8fGsoYSx0Lm5hbWUpfHxpZShhLG8sdC50eXBlUGFyYW1ldGVycyl8fGllKGEsbyx0LnBhcmFtZXRlcnMpfHxrKGEsdC50eXBlKXx8ayhhLHQuYm9keSl9LDE3ODpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0Lm1vZGlmaWVycyl8fGsoYSx0Lm5hbWUpfHxpZShhLG8sdC50eXBlUGFyYW1ldGVycyl8fGllKGEsbyx0LnBhcmFtZXRlcnMpfHxrKGEsdC50eXBlKXx8ayhhLHQuYm9keSl9LDI2MjpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0Lm1vZGlmaWVycyl8fGsoYSx0LmFzdGVyaXNrVG9rZW4pfHxrKGEsdC5uYW1lKXx8aWUoYSxvLHQudHlwZVBhcmFtZXRlcnMpfHxpZShhLG8sdC5wYXJhbWV0ZXJzKXx8ayhhLHQudHlwZSl8fGsoYSx0LmJvZHkpfSwyMTg6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBpZShhLG8sdC5tb2RpZmllcnMpfHxrKGEsdC5hc3Rlcmlza1Rva2VuKXx8ayhhLHQubmFtZSl8fGllKGEsbyx0LnR5cGVQYXJhbWV0ZXJzKXx8aWUoYSxvLHQucGFyYW1ldGVycyl8fGsoYSx0LnR5cGUpfHxrKGEsdC5ib2R5KX0sMjE5OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gaWUoYSxvLHQubW9kaWZpZXJzKXx8aWUoYSxvLHQudHlwZVBhcmFtZXRlcnMpfHxpZShhLG8sdC5wYXJhbWV0ZXJzKXx8ayhhLHQudHlwZSl8fGsoYSx0LmVxdWFsc0dyZWF0ZXJUaGFuVG9rZW4pfHxrKGEsdC5ib2R5KX0sMTc1OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gaWUoYSxvLHQubW9kaWZpZXJzKXx8ayhhLHQuYm9keSl9LDE4MzpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LnR5cGVOYW1lKXx8aWUoYSxvLHQudHlwZUFyZ3VtZW50cyl9LDE4MjpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmFzc2VydHNNb2RpZmllcil8fGsoYSx0LnBhcmFtZXRlck5hbWUpfHxrKGEsdC50eXBlKX0sMTg2OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQuZXhwck5hbWUpfHxpZShhLG8sdC50eXBlQXJndW1lbnRzKX0sMTg3OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gaWUoYSxvLHQubWVtYmVycyl9LDE4ODpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmVsZW1lbnRUeXBlKX0sMTg5OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gaWUoYSxvLHQuZWxlbWVudHMpfSwxOTI6Y20sMTkzOmNtLDE5NDpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmNoZWNrVHlwZSl8fGsoYSx0LmV4dGVuZHNUeXBlKXx8ayhhLHQudHJ1ZVR5cGUpfHxrKGEsdC5mYWxzZVR5cGUpfSwxOTU6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC50eXBlUGFyYW1ldGVyKX0sMjA1OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQuYXJndW1lbnQpfHxrKGEsdC5hdHRyaWJ1dGVzKXx8ayhhLHQucXVhbGlmaWVyKXx8aWUoYSxvLHQudHlwZUFyZ3VtZW50cyl9LDMwMjpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmFzc2VydENsYXVzZSl9LDE5NjpsbSwxOTg6bG0sMTk5OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQub2JqZWN0VHlwZSl8fGsoYSx0LmluZGV4VHlwZSl9LDIwMDpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LnJlYWRvbmx5VG9rZW4pfHxrKGEsdC50eXBlUGFyYW1ldGVyKXx8ayhhLHQubmFtZVR5cGUpfHxrKGEsdC5xdWVzdGlvblRva2VuKXx8ayhhLHQudHlwZSl8fGllKGEsbyx0Lm1lbWJlcnMpfSwyMDE6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5saXRlcmFsKX0sMjAyOmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQuZG90RG90RG90VG9rZW4pfHxrKGEsdC5uYW1lKXx8ayhhLHQucXVlc3Rpb25Ub2tlbil8fGsoYSx0LnR5cGUpfSwyMDY6dW0sMjA3OnVtLDIwOTpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0LmVsZW1lbnRzKX0sMjEwOmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gaWUoYSxvLHQucHJvcGVydGllcyl9LDIxMTpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmV4cHJlc3Npb24pfHxrKGEsdC5xdWVzdGlvbkRvdFRva2VuKXx8ayhhLHQubmFtZSl9LDIxMjpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmV4cHJlc3Npb24pfHxrKGEsdC5xdWVzdGlvbkRvdFRva2VuKXx8ayhhLHQuYXJndW1lbnRFeHByZXNzaW9uKX0sMjEzOnBtLDIxNDpwbSwyMTU6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC50YWcpfHxrKGEsdC5xdWVzdGlvbkRvdFRva2VuKXx8aWUoYSxvLHQudHlwZUFyZ3VtZW50cyl8fGsoYSx0LnRlbXBsYXRlKX0sMjE2OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQudHlwZSl8fGsoYSx0LmV4cHJlc3Npb24pfSwyMTc6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5leHByZXNzaW9uKX0sMjIwOmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQuZXhwcmVzc2lvbil9LDIyMTpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmV4cHJlc3Npb24pfSwyMjI6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5leHByZXNzaW9uKX0sMjI0OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQub3BlcmFuZCl9LDIyOTpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmFzdGVyaXNrVG9rZW4pfHxrKGEsdC5leHByZXNzaW9uKX0sMjIzOmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQuZXhwcmVzc2lvbil9LDIyNTpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0Lm9wZXJhbmQpfSwyMjY6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5sZWZ0KXx8ayhhLHQub3BlcmF0b3JUb2tlbil8fGsoYSx0LnJpZ2h0KX0sMjM0OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQuZXhwcmVzc2lvbil8fGsoYSx0LnR5cGUpfSwyMzU6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5leHByZXNzaW9uKX0sMjM4OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQuZXhwcmVzc2lvbil8fGsoYSx0LnR5cGUpfSwyMzY6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5uYW1lKX0sMjI3OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQuY29uZGl0aW9uKXx8ayhhLHQucXVlc3Rpb25Ub2tlbil8fGsoYSx0LndoZW5UcnVlKXx8ayhhLHQuY29sb25Ub2tlbil8fGsoYSx0LndoZW5GYWxzZSl9LDIzMDpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmV4cHJlc3Npb24pfSwyNDE6Zm0sMjY4OmZtLDMwNzpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0LnN0YXRlbWVudHMpfHxrKGEsdC5lbmRPZkZpbGVUb2tlbil9LDI0MzpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0Lm1vZGlmaWVycyl8fGsoYSx0LmRlY2xhcmF0aW9uTGlzdCl9LDI2MTpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0LmRlY2xhcmF0aW9ucyl9LDI0NDpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmV4cHJlc3Npb24pfSwyNDU6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5leHByZXNzaW9uKXx8ayhhLHQudGhlblN0YXRlbWVudCl8fGsoYSx0LmVsc2VTdGF0ZW1lbnQpfSwyNDY6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5zdGF0ZW1lbnQpfHxrKGEsdC5leHByZXNzaW9uKX0sMjQ3OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQuZXhwcmVzc2lvbil8fGsoYSx0LnN0YXRlbWVudCl9LDI0ODpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmluaXRpYWxpemVyKXx8ayhhLHQuY29uZGl0aW9uKXx8ayhhLHQuaW5jcmVtZW50b3IpfHxrKGEsdC5zdGF0ZW1lbnQpfSwyNDk6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5pbml0aWFsaXplcil8fGsoYSx0LmV4cHJlc3Npb24pfHxrKGEsdC5zdGF0ZW1lbnQpfSwyNTA6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5hd2FpdE1vZGlmaWVyKXx8ayhhLHQuaW5pdGlhbGl6ZXIpfHxrKGEsdC5leHByZXNzaW9uKXx8ayhhLHQuc3RhdGVtZW50KX0sMjUxOmRtLDI1MjpkbSwyNTM6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5leHByZXNzaW9uKX0sMjU0OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQuZXhwcmVzc2lvbil8fGsoYSx0LnN0YXRlbWVudCl9LDI1NTpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmV4cHJlc3Npb24pfHxrKGEsdC5jYXNlQmxvY2spfSwyNjk6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBpZShhLG8sdC5jbGF1c2VzKX0sMjk2OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQuZXhwcmVzc2lvbil8fGllKGEsbyx0LnN0YXRlbWVudHMpfSwyOTc6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBpZShhLG8sdC5zdGF0ZW1lbnRzKX0sMjU2OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQubGFiZWwpfHxrKGEsdC5zdGF0ZW1lbnQpfSwyNTc6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5leHByZXNzaW9uKX0sMjU4OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQudHJ5QmxvY2spfHxrKGEsdC5jYXRjaENsYXVzZSl8fGsoYSx0LmZpbmFsbHlCbG9jayl9LDI5OTpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LnZhcmlhYmxlRGVjbGFyYXRpb24pfHxrKGEsdC5ibG9jayl9LDE3MDpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmV4cHJlc3Npb24pfSwyNjM6bW0sMjMxOm1tLDI2NDpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0Lm1vZGlmaWVycyl8fGsoYSx0Lm5hbWUpfHxpZShhLG8sdC50eXBlUGFyYW1ldGVycyl8fGllKGEsbyx0Lmhlcml0YWdlQ2xhdXNlcyl8fGllKGEsbyx0Lm1lbWJlcnMpfSwyNjU6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBpZShhLG8sdC5tb2RpZmllcnMpfHxrKGEsdC5uYW1lKXx8aWUoYSxvLHQudHlwZVBhcmFtZXRlcnMpfHxrKGEsdC50eXBlKX0sMjY2OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gaWUoYSxvLHQubW9kaWZpZXJzKXx8ayhhLHQubmFtZSl8fGllKGEsbyx0Lm1lbWJlcnMpfSwzMDY6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5uYW1lKXx8ayhhLHQuaW5pdGlhbGl6ZXIpfSwyNjc6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBpZShhLG8sdC5tb2RpZmllcnMpfHxrKGEsdC5uYW1lKXx8ayhhLHQuYm9keSl9LDI3MTpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0Lm1vZGlmaWVycyl8fGsoYSx0Lm5hbWUpfHxrKGEsdC5tb2R1bGVSZWZlcmVuY2UpfSwyNzI6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBpZShhLG8sdC5tb2RpZmllcnMpfHxrKGEsdC5pbXBvcnRDbGF1c2UpfHxrKGEsdC5tb2R1bGVTcGVjaWZpZXIpfHxrKGEsdC5hdHRyaWJ1dGVzKX0sMjczOmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQubmFtZSl8fGsoYSx0Lm5hbWVkQmluZGluZ3MpfSwzMDA6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBpZShhLG8sdC5lbGVtZW50cyl9LDMwMTpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0Lm5hbWUpfHxrKGEsdC52YWx1ZSl9LDI3MDpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0Lm1vZGlmaWVycyl8fGsoYSx0Lm5hbWUpfSwyNzQ6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5uYW1lKX0sMjgwOmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQubmFtZSl9LDI3NTpobSwyNzk6aG0sMjc4OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gaWUoYSxvLHQubW9kaWZpZXJzKXx8ayhhLHQuZXhwb3J0Q2xhdXNlKXx8ayhhLHQubW9kdWxlU3BlY2lmaWVyKXx8ayhhLHQuYXR0cmlidXRlcyl9LDI3Njp5bSwyODE6eW0sMjc3OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gaWUoYSxvLHQubW9kaWZpZXJzKXx8ayhhLHQuZXhwcmVzc2lvbil9LDIyODpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmhlYWQpfHxpZShhLG8sdC50ZW1wbGF0ZVNwYW5zKX0sMjM5OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQuZXhwcmVzc2lvbil8fGsoYSx0LmxpdGVyYWwpfSwyMDM6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5oZWFkKXx8aWUoYSxvLHQudGVtcGxhdGVTcGFucyl9LDIwNDpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LnR5cGUpfHxrKGEsdC5saXRlcmFsKX0sMTY3OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQuZXhwcmVzc2lvbil9LDI5ODpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGllKGEsbyx0LnR5cGVzKX0sMjMzOmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQuZXhwcmVzc2lvbil8fGllKGEsbyx0LnR5cGVBcmd1bWVudHMpfSwyODM6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5leHByZXNzaW9uKX0sMjgyOmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gaWUoYSxvLHQubW9kaWZpZXJzKX0sMzU2OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gaWUoYSxvLHQuZWxlbWVudHMpfSwyODQ6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5vcGVuaW5nRWxlbWVudCl8fGllKGEsbyx0LmNoaWxkcmVuKXx8ayhhLHQuY2xvc2luZ0VsZW1lbnQpfSwyODg6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5vcGVuaW5nRnJhZ21lbnQpfHxpZShhLG8sdC5jaGlsZHJlbil8fGsoYSx0LmNsb3NpbmdGcmFnbWVudCl9LDI4NTpnbSwyODY6Z20sMjkyOmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gaWUoYSxvLHQucHJvcGVydGllcyl9LDI5MTpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0Lm5hbWUpfHxrKGEsdC5pbml0aWFsaXplcil9LDI5MzpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmV4cHJlc3Npb24pfSwyOTQ6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC5kb3REb3REb3RUb2tlbil8fGsoYSx0LmV4cHJlc3Npb24pfSwyODc6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC50YWdOYW1lKX0sMjk1OmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQubmFtZXNwYWNlKXx8ayhhLHQubmFtZSl9LDE5MDp6aSwxOTE6emksMzA5OnppLDMxNTp6aSwzMTQ6emksMzE2OnppLDMxODp6aSwzMTc6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBpZShhLG8sdC5wYXJhbWV0ZXJzKXx8ayhhLHQudHlwZSl9LDMyMDpmdW5jdGlvbih0LGEsbyl7cmV0dXJuKHR5cGVvZiB0LmNvbW1lbnQ9PVwic3RyaW5nXCI/dm9pZCAwOmllKGEsbyx0LmNvbW1lbnQpKXx8aWUoYSxvLHQudGFncyl9LDM0NzpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LnRhZ05hbWUpfHxrKGEsdC5uYW1lKXx8KHR5cGVvZiB0LmNvbW1lbnQ9PVwic3RyaW5nXCI/dm9pZCAwOmllKGEsbyx0LmNvbW1lbnQpKX0sMzEwOmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQubmFtZSl9LDMxMTpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LmxlZnQpfHxrKGEsdC5yaWdodCl9LDM0MTpibSwzNDg6Ym0sMzMwOmZ1bmN0aW9uKHQsYSxvKXtyZXR1cm4gayhhLHQudGFnTmFtZSl8fCh0eXBlb2YgdC5jb21tZW50PT1cInN0cmluZ1wiP3ZvaWQgMDppZShhLG8sdC5jb21tZW50KSl9LDMyOTpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LnRhZ05hbWUpfHxrKGEsdC5jbGFzcyl8fCh0eXBlb2YgdC5jb21tZW50PT1cInN0cmluZ1wiP3ZvaWQgMDppZShhLG8sdC5jb21tZW50KSl9LDMyODpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LnRhZ05hbWUpfHxrKGEsdC5jbGFzcyl8fCh0eXBlb2YgdC5jb21tZW50PT1cInN0cmluZ1wiP3ZvaWQgMDppZShhLG8sdC5jb21tZW50KSl9LDM0NTpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LnRhZ05hbWUpfHxrKGEsdC5jb25zdHJhaW50KXx8aWUoYSxvLHQudHlwZVBhcmFtZXRlcnMpfHwodHlwZW9mIHQuY29tbWVudD09XCJzdHJpbmdcIj92b2lkIDA6aWUoYSxvLHQuY29tbWVudCkpfSwzNDY6ZnVuY3Rpb24odCxhLG8pe3JldHVybiBrKGEsdC50YWdOYW1lKXx8KHQudHlwZUV4cHJlc3Npb24mJnQudHlwZUV4cHJlc3Npb24ua2luZD09PTMwOT9rKGEsdC50eXBlRXhwcmVzc2lvbil8fGsoYSx0LmZ1bGxOYW1lKXx8KHR5cGVvZiB0LmNvbW1lbnQ9PVwic3RyaW5nXCI/dm9pZCAwOmllKGEsbyx0LmNvbW1lbnQpKTprKGEsdC5mdWxsTmFtZSl8fGsoYSx0LnR5cGVFeHByZXNzaW9uKXx8KHR5cGVvZiB0LmNvbW1lbnQ9PVwic3RyaW5nXCI/dm9pZCAwOmllKGEsbyx0LmNvbW1lbnQpKSl9LDMzODpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIGsoYSx0LnRhZ05hbWUpfHxrKGEsdC5mdWxsTmFtZSl8fGsoYSx0LnR5cGVFeHByZXNzaW9uKXx8KHR5cGVvZiB0LmNvbW1lbnQ9PVwic3RyaW5nXCI/dm9pZCAwOmllKGEsbyx0LmNvbW1lbnQpKX0sMzQyOkZpLDM0NDpGaSwzNDM6RmksMzQwOkZpLDM1MDpGaSwzNDk6RmksMzM5OkZpLDMyMzpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIFVuKHQudHlwZVBhcmFtZXRlcnMsYSl8fFVuKHQucGFyYW1ldGVycyxhKXx8ayhhLHQudHlwZSl9LDMyNDpDcCwzMjU6Q3AsMzI2OkNwLDMyMjpmdW5jdGlvbih0LGEsbyl7cmV0dXJuIFVuKHQuanNEb2NQcm9wZXJ0eVRhZ3MsYSl9LDMyNzp1aSwzMzI6dWksMzMzOnVpLDMzNDp1aSwzMzU6dWksMzM2OnVpLDMzMTp1aSwzMzc6dWksMzUxOkk2LDM1NTpPNn07ZnVuY3Rpb24gb20oZSx0LGEpe3JldHVybiBpZSh0LGEsZS50eXBlUGFyYW1ldGVycyl8fGllKHQsYSxlLnBhcmFtZXRlcnMpfHxrKHQsZS50eXBlKX1mdW5jdGlvbiBjbShlLHQsYSl7cmV0dXJuIGllKHQsYSxlLnR5cGVzKX1mdW5jdGlvbiBsbShlLHQsYSl7cmV0dXJuIGsodCxlLnR5cGUpfWZ1bmN0aW9uIHVtKGUsdCxhKXtyZXR1cm4gaWUodCxhLGUuZWxlbWVudHMpfWZ1bmN0aW9uIHBtKGUsdCxhKXtyZXR1cm4gayh0LGUuZXhwcmVzc2lvbil8fGsodCxlLnF1ZXN0aW9uRG90VG9rZW4pfHxpZSh0LGEsZS50eXBlQXJndW1lbnRzKXx8aWUodCxhLGUuYXJndW1lbnRzKX1mdW5jdGlvbiBmbShlLHQsYSl7cmV0dXJuIGllKHQsYSxlLnN0YXRlbWVudHMpfWZ1bmN0aW9uIGRtKGUsdCxhKXtyZXR1cm4gayh0LGUubGFiZWwpfWZ1bmN0aW9uIG1tKGUsdCxhKXtyZXR1cm4gaWUodCxhLGUubW9kaWZpZXJzKXx8ayh0LGUubmFtZSl8fGllKHQsYSxlLnR5cGVQYXJhbWV0ZXJzKXx8aWUodCxhLGUuaGVyaXRhZ2VDbGF1c2VzKXx8aWUodCxhLGUubWVtYmVycyl9ZnVuY3Rpb24gaG0oZSx0LGEpe3JldHVybiBpZSh0LGEsZS5lbGVtZW50cyl9ZnVuY3Rpb24geW0oZSx0LGEpe3JldHVybiBrKHQsZS5wcm9wZXJ0eU5hbWUpfHxrKHQsZS5uYW1lKX1mdW5jdGlvbiBnbShlLHQsYSl7cmV0dXJuIGsodCxlLnRhZ05hbWUpfHxpZSh0LGEsZS50eXBlQXJndW1lbnRzKXx8ayh0LGUuYXR0cmlidXRlcyl9ZnVuY3Rpb24gemkoZSx0LGEpe3JldHVybiBrKHQsZS50eXBlKX1mdW5jdGlvbiBibShlLHQsYSl7cmV0dXJuIGsodCxlLnRhZ05hbWUpfHwoZS5pc05hbWVGaXJzdD9rKHQsZS5uYW1lKXx8ayh0LGUudHlwZUV4cHJlc3Npb24pOmsodCxlLnR5cGVFeHByZXNzaW9uKXx8ayh0LGUubmFtZSkpfHwodHlwZW9mIGUuY29tbWVudD09XCJzdHJpbmdcIj92b2lkIDA6aWUodCxhLGUuY29tbWVudCkpfWZ1bmN0aW9uIEZpKGUsdCxhKXtyZXR1cm4gayh0LGUudGFnTmFtZSl8fGsodCxlLnR5cGVFeHByZXNzaW9uKXx8KHR5cGVvZiBlLmNvbW1lbnQ9PVwic3RyaW5nXCI/dm9pZCAwOmllKHQsYSxlLmNvbW1lbnQpKX1mdW5jdGlvbiBDcChlLHQsYSl7cmV0dXJuIGsodCxlLm5hbWUpfWZ1bmN0aW9uIHVpKGUsdCxhKXtyZXR1cm4gayh0LGUudGFnTmFtZSl8fCh0eXBlb2YgZS5jb21tZW50PT1cInN0cmluZ1wiP3ZvaWQgMDppZSh0LGEsZS5jb21tZW50KSl9ZnVuY3Rpb24gSTYoZSx0LGEpe3JldHVybiBrKHQsZS50YWdOYW1lKXx8ayh0LGUuaW1wb3J0Q2xhdXNlKXx8ayh0LGUubW9kdWxlU3BlY2lmaWVyKXx8ayh0LGUuYXR0cmlidXRlcyl8fCh0eXBlb2YgZS5jb21tZW50PT1cInN0cmluZ1wiP3ZvaWQgMDppZSh0LGEsZS5jb21tZW50KSl9ZnVuY3Rpb24gTzYoZSx0LGEpe3JldHVybiBrKHQsZS5leHByZXNzaW9uKX1mdW5jdGlvbiBYdChlLHQsYSl7aWYoZT09PXZvaWQgMHx8ZS5raW5kPD0xNjUpcmV0dXJuO2xldCBvPU42W2Uua2luZF07cmV0dXJuIG89PT12b2lkIDA/dm9pZCAwOm8oZSx0LGEpfWZ1bmN0aW9uIHZtKGUsdCxhKXtsZXQgbz1UbShlKSxtPVtdO2Zvcig7bS5sZW5ndGg8by5sZW5ndGg7KW0ucHVzaChlKTtmb3IoO28ubGVuZ3RoIT09MDspe2xldCB2PW8ucG9wKCksQT1tLnBvcCgpO2lmKFlyKHYpKXtpZihhKXtsZXQgUD1hKHYsQSk7aWYoUCl7aWYoUD09PVwic2tpcFwiKWNvbnRpbnVlO3JldHVybiBQfX1mb3IobGV0IFA9di5sZW5ndGgtMTtQPj0wOy0tUClvLnB1c2godltQXSksbS5wdXNoKEEpfWVsc2V7bGV0IFA9dCh2LEEpO2lmKFApe2lmKFA9PT1cInNraXBcIiljb250aW51ZTtyZXR1cm4gUH1pZih2LmtpbmQ+PTE2Nilmb3IobGV0IGwgb2YgVG0odikpby5wdXNoKGwpLG0ucHVzaCh2KX19fWZ1bmN0aW9uIFRtKGUpe2xldCB0PVtdO3JldHVybiBYdChlLGEsYSksdDtmdW5jdGlvbiBhKG8pe3QudW5zaGlmdChvKX19ZnVuY3Rpb24gZmgoZSl7ZS5leHRlcm5hbE1vZHVsZUluZGljYXRvcj1FNihlKX1mdW5jdGlvbiBkaChlLHQsYSxvPSExLG0pe3ZhciB2LEE7KHY9X2wpPT1udWxsfHx2LnB1c2goX2wuUGhhc2UuUGFyc2UsXCJjcmVhdGVTb3VyY2VGaWxlXCIse3BhdGg6ZX0sITApLGtkKFwiYmVmb3JlUGFyc2VcIik7bGV0IFAse2xhbmd1YWdlVmVyc2lvbjpsLHNldEV4dGVybmFsTW9kdWxlSW5kaWNhdG9yOlEsaW1wbGllZE5vZGVGb3JtYXQ6aCxqc0RvY1BhcnNpbmdNb2RlOnl9PXR5cGVvZiBhPT1cIm9iamVjdFwiP2E6e2xhbmd1YWdlVmVyc2lvbjphfTtpZihsPT09MTAwKVA9JGkucGFyc2VTb3VyY2VGaWxlKGUsdCxsLHZvaWQgMCxvLDYsRmEseSk7ZWxzZXtsZXQgZz1oPT09dm9pZCAwP1E6eD0+KHguaW1wbGllZE5vZGVGb3JtYXQ9aCwoUXx8ZmgpKHgpKTtQPSRpLnBhcnNlU291cmNlRmlsZShlLHQsbCx2b2lkIDAsbyxtLGcseSl9cmV0dXJuIGtkKFwiYWZ0ZXJQYXJzZVwiKSxEeShcIlBhcnNlXCIsXCJiZWZvcmVQYXJzZVwiLFwiYWZ0ZXJQYXJzZVwiKSwoQT1fbCk9PW51bGx8fEEucG9wKCksUH1mdW5jdGlvbiBtaChlKXtyZXR1cm4gZS5leHRlcm5hbE1vZHVsZUluZGljYXRvciE9PXZvaWQgMH1mdW5jdGlvbiBNNihlLHQsYSxvPSExKXtsZXQgbT12bC51cGRhdGVTb3VyY2VGaWxlKGUsdCxhLG8pO3JldHVybiBtLmZsYWdzfD1lLmZsYWdzJjEyNTgyOTEyLG19dmFyICRpOyhlPT57dmFyIHQ9c2YoOTksITApLGE9NDA5NjAsbyxtLHYsQSxQO2Z1bmN0aW9uIGwocyl7cmV0dXJuIGFyKyssc312YXIgUT17Y3JlYXRlQmFzZVNvdXJjZUZpbGVOb2RlOnM9PmwobmV3IFAocywwLDApKSxjcmVhdGVCYXNlSWRlbnRpZmllck5vZGU6cz0+bChuZXcgdihzLDAsMCkpLGNyZWF0ZUJhc2VQcml2YXRlSWRlbnRpZmllck5vZGU6cz0+bChuZXcgQShzLDAsMCkpLGNyZWF0ZUJhc2VUb2tlbk5vZGU6cz0+bChuZXcgbShzLDAsMCkpLGNyZWF0ZUJhc2VOb2RlOnM9PmwobmV3IG8ocywwLDApKX0saD13ZigxMSxRKSx7Y3JlYXRlTm9kZUFycmF5OnksY3JlYXRlTnVtZXJpY0xpdGVyYWw6ZyxjcmVhdGVTdHJpbmdMaXRlcmFsOngsY3JlYXRlTGl0ZXJhbExpa2VOb2RlOkksY3JlYXRlSWRlbnRpZmllcjpyZSxjcmVhdGVQcml2YXRlSWRlbnRpZmllcjpoZSxjcmVhdGVUb2tlbjp5ZSxjcmVhdGVBcnJheUxpdGVyYWxFeHByZXNzaW9uOmRlLGNyZWF0ZU9iamVjdExpdGVyYWxFeHByZXNzaW9uOk0sY3JlYXRlUHJvcGVydHlBY2Nlc3NFeHByZXNzaW9uOmFlLGNyZWF0ZVByb3BlcnR5QWNjZXNzQ2hhaW46T2UsY3JlYXRlRWxlbWVudEFjY2Vzc0V4cHJlc3Npb246VixjcmVhdGVFbGVtZW50QWNjZXNzQ2hhaW46b2UsY3JlYXRlQ2FsbEV4cHJlc3Npb246VyxjcmVhdGVDYWxsQ2hhaW46ZHQsY3JlYXRlTmV3RXhwcmVzc2lvbjpucixjcmVhdGVQYXJlbnRoZXNpemVkRXhwcmVzc2lvbjpnbixjcmVhdGVCbG9jazpycixjcmVhdGVWYXJpYWJsZVN0YXRlbWVudDpibixjcmVhdGVFeHByZXNzaW9uU3RhdGVtZW50OkluLGNyZWF0ZUlmU3RhdGVtZW50OkdlLGNyZWF0ZVdoaWxlU3RhdGVtZW50OmlyLGNyZWF0ZUZvclN0YXRlbWVudDpQcixjcmVhdGVGb3JPZlN0YXRlbWVudDpPdCxjcmVhdGVWYXJpYWJsZURlY2xhcmF0aW9uOkJuLGNyZWF0ZVZhcmlhYmxlRGVjbGFyYXRpb25MaXN0Ok9ufT1oLE10LHZ0LFFlLHFuLCR0LGN0LF90LFV0LEp0LGx0LGFyLG10LHZuLHl0LGNuLG50LEJ0PSEwLHJuPSExO2Z1bmN0aW9uIF9yKHMscCxkLGIsUz0hMSxOLFgsX2U9MCl7dmFyIFo7aWYoTj1kYihzLE4pLE49PT02KXtsZXQgY2U9ZHIocyxwLGQsYixTKTtyZXR1cm4gY29udmVydFRvSnNvbihjZSwoWj1jZS5zdGF0ZW1lbnRzWzBdKT09bnVsbD92b2lkIDA6Wi5leHByZXNzaW9uLGNlLnBhcnNlRGlhZ25vc3RpY3MsITEsdm9pZCAwKSxjZS5yZWZlcmVuY2VkRmlsZXM9YnQsY2UudHlwZVJlZmVyZW5jZURpcmVjdGl2ZXM9YnQsY2UubGliUmVmZXJlbmNlRGlyZWN0aXZlcz1idCxjZS5hbWREZXBlbmRlbmNpZXM9YnQsY2UuaGFzTm9EZWZhdWx0TGliPSExLGNlLnByYWdtYXM9dHksY2V9em4ocyxwLGQsYixOLF9lKTtsZXQgZWU9TnIoZCxTLE4sWHx8ZmgsX2UpO3JldHVybiBGbigpLGVlfWUucGFyc2VTb3VyY2VGaWxlPV9yO2Z1bmN0aW9uIGZyKHMscCl7em4oXCJcIixzLHAsdm9pZCAwLDEsMCksVSgpO2xldCBkPWpyKCEwKSxiPXUoKT09PTEmJiFfdC5sZW5ndGg7cmV0dXJuIEZuKCksYj9kOnZvaWQgMH1lLnBhcnNlSXNvbGF0ZWRFbnRpdHlOYW1lPWZyO2Z1bmN0aW9uIGRyKHMscCxkPTIsYixTPSExKXt6bihzLHAsZCxiLDYsMCksdnQ9bnQsVSgpO2xldCBOPUooKSxYLF9lO2lmKHUoKT09PTEpWD1DdChbXSxOLE4pLF9lPVd0KCk7ZWxzZXtsZXQgY2U7Zm9yKDt1KCkhPT0xOyl7bGV0IEFlO3N3aXRjaCh1KCkpe2Nhc2UgMjM6QWU9YWMoKTticmVhaztjYXNlIDExMjpjYXNlIDk3OmNhc2UgMTA2OkFlPVd0KCk7YnJlYWs7Y2FzZSA0MTpHKCgpPT5VKCk9PT05JiZVKCkhPT01OSk/QWU9Rm8oKTpBZT1JXygpO2JyZWFrO2Nhc2UgOTpjYXNlIDExOmlmKEcoKCk9PlUoKSE9PTU5KSl7QWU9SG4oKTticmVha31kZWZhdWx0OkFlPUlfKCk7YnJlYWt9Y2UmJllyKGNlKT9jZS5wdXNoKEFlKTpjZT9jZT1bY2UsQWVdOihjZT1BZSx1KCkhPT0xJiZFZShFLlVuZXhwZWN0ZWRfdG9rZW4pKX1sZXQgTGU9WXIoY2UpP0QoZGUoY2UpLE4pOkIuY2hlY2tEZWZpbmVkKGNlKSxqZT1JbihMZSk7RChqZSxOKSxYPUN0KFtqZV0sTiksX2U9WW4oMSxFLlVuZXhwZWN0ZWRfdG9rZW4pfWxldCBaPXNlKHMsMiw2LCExLFgsX2UsdnQsRmEpO1MmJkwoWiksWi5ub2RlQ291bnQ9YXIsWi5pZGVudGlmaWVyQ291bnQ9dm4sWi5pZGVudGlmaWVycz1tdCxaLnBhcnNlRGlhZ25vc3RpY3M9cWkoX3QsWiksVXQmJihaLmpzRG9jRGlhZ25vc3RpY3M9cWkoVXQsWikpO2xldCBlZT1aO3JldHVybiBGbigpLGVlfWUucGFyc2VKc29uVGV4dD1kcjtmdW5jdGlvbiB6bihzLHAsZCxiLFMsTil7c3dpdGNoKG89QXQuZ2V0Tm9kZUNvbnN0cnVjdG9yKCksbT1BdC5nZXRUb2tlbkNvbnN0cnVjdG9yKCksdj1BdC5nZXRJZGVudGlmaWVyQ29uc3RydWN0b3IoKSxBPUF0LmdldFByaXZhdGVJZGVudGlmaWVyQ29uc3RydWN0b3IoKSxQPUF0LmdldFNvdXJjZUZpbGVDb25zdHJ1Y3RvcigpLE10PXp5KHMpLFFlPXAscW49ZCxKdD1iLCR0PVMsY3Q9V2QoUyksX3Q9W10seXQ9MCxtdD1uZXcgTWFwLHZuPTAsYXI9MCx2dD0wLEJ0PSEwLCR0KXtjYXNlIDE6Y2FzZSAyOm50PTUyNDI4ODticmVhaztjYXNlIDY6bnQ9MTM0NzQyMDE2O2JyZWFrO2RlZmF1bHQ6bnQ9MDticmVha31ybj0hMSx0LnNldFRleHQoUWUpLHQuc2V0T25FcnJvcihaciksdC5zZXRTY3JpcHRUYXJnZXQocW4pLHQuc2V0TGFuZ3VhZ2VWYXJpYW50KGN0KSx0LnNldFNjcmlwdEtpbmQoJHQpLHQuc2V0SlNEb2NQYXJzaW5nTW9kZShOKX1mdW5jdGlvbiBGbigpe3QuY2xlYXJDb21tZW50RGlyZWN0aXZlcygpLHQuc2V0VGV4dChcIlwiKSx0LnNldE9uRXJyb3Iodm9pZCAwKSx0LnNldFNjcmlwdEtpbmQoMCksdC5zZXRKU0RvY1BhcnNpbmdNb2RlKDApLFFlPXZvaWQgMCxxbj12b2lkIDAsSnQ9dm9pZCAwLCR0PXZvaWQgMCxjdD12b2lkIDAsdnQ9MCxfdD12b2lkIDAsVXQ9dm9pZCAwLHl0PTAsbXQ9dm9pZCAwLGNuPXZvaWQgMCxCdD0hMH1mdW5jdGlvbiBOcihzLHAsZCxiLFMpe2xldCBOPWo2KE10KTtOJiYobnR8PTMzNTU0NDMyKSx2dD1udCxVKCk7bGV0IFg9eG4oMCxLdCk7Qi5hc3NlcnQodSgpPT09MSk7bGV0IF9lPXFlKCksWj1DZShXdCgpLF9lKSxlZT1zZShNdCxzLGQsTixYLFosdnQsYik7cmV0dXJuIEI2KGVlLFFlKSxxNihlZSxjZSksZWUuY29tbWVudERpcmVjdGl2ZXM9dC5nZXRDb21tZW50RGlyZWN0aXZlcygpLGVlLm5vZGVDb3VudD1hcixlZS5pZGVudGlmaWVyQ291bnQ9dm4sZWUuaWRlbnRpZmllcnM9bXQsZWUucGFyc2VEaWFnbm9zdGljcz1xaShfdCxlZSksZWUuanNEb2NQYXJzaW5nTW9kZT1TLFV0JiYoZWUuanNEb2NEaWFnbm9zdGljcz1xaShVdCxlZSkpLHAmJkwoZWUpLGVlO2Z1bmN0aW9uIGNlKExlLGplLEFlKXtfdC5wdXNoKE9hKE10LFFlLExlLGplLEFlKSl9fWxldCBWbj0hMTtmdW5jdGlvbiBDZShzLHApe2lmKCFwKXJldHVybiBzO0IuYXNzZXJ0KCFzLmpzRG9jKTtsZXQgZD1heShsMihzLFFlKSxiPT5YYy5wYXJzZUpTRG9jQ29tbWVudChzLGIucG9zLGIuZW5kLWIucG9zKSk7cmV0dXJuIGQubGVuZ3RoJiYocy5qc0RvYz1kKSxWbiYmKFZuPSExLHMuZmxhZ3N8PTUzNjg3MDkxMiksc31mdW5jdGlvbiBtcihzKXtsZXQgcD1KdCxkPXZsLmNyZWF0ZVN5bnRheEN1cnNvcihzKTtKdD17Y3VycmVudE5vZGU6Y2V9O2xldCBiPVtdLFM9X3Q7X3Q9W107bGV0IE49MCxYPVoocy5zdGF0ZW1lbnRzLDApO2Zvcig7WCE9PS0xOyl7bGV0IExlPXMuc3RhdGVtZW50c1tOXSxqZT1zLnN0YXRlbWVudHNbWF07RG4oYixzLnN0YXRlbWVudHMsTixYKSxOPWVlKHMuc3RhdGVtZW50cyxYKTtsZXQgQWU9Z3AoUyxtbj0+bW4uc3RhcnQ+PUxlLnBvcyksWXQ9QWU+PTA/Z3AoUyxtbj0+bW4uc3RhcnQ+PWplLnBvcyxBZSk6LTE7QWU+PTAmJkRuKF90LFMsQWUsWXQ+PTA/WXQ6dm9pZCAwKSx1bigoKT0+e2xldCBtbj1udDtmb3IobnR8PTY1NTM2LHQucmVzZXRUb2tlblN0YXRlKGplLnBvcyksVSgpO3UoKSE9PTE7KXtsZXQgWnQ9dC5nZXRUb2tlbkZ1bGxTdGFydCgpLHVyPW5fKDAsS3QpO2lmKGIucHVzaCh1ciksWnQ9PT10LmdldFRva2VuRnVsbFN0YXJ0KCkmJlUoKSxOPj0wKXtsZXQgTG49cy5zdGF0ZW1lbnRzW05dO2lmKHVyLmVuZD09PUxuLnBvcylicmVhazt1ci5lbmQ+TG4ucG9zJiYoTj1lZShzLnN0YXRlbWVudHMsTisxKSl9fW50PW1ufSwyKSxYPU4+PTA/WihzLnN0YXRlbWVudHMsTik6LTF9aWYoTj49MCl7bGV0IExlPXMuc3RhdGVtZW50c1tOXTtEbihiLHMuc3RhdGVtZW50cyxOKTtsZXQgamU9Z3AoUyxBZT0+QWUuc3RhcnQ+PUxlLnBvcyk7amU+PTAmJkRuKF90LFMsamUpfXJldHVybiBKdD1wLGgudXBkYXRlU291cmNlRmlsZShzLHluKHkoYikscy5zdGF0ZW1lbnRzKSk7ZnVuY3Rpb24gX2UoTGUpe3JldHVybiEoTGUuZmxhZ3MmNjU1MzYpJiYhIShMZS50cmFuc2Zvcm1GbGFncyY2NzEwODg2NCl9ZnVuY3Rpb24gWihMZSxqZSl7Zm9yKGxldCBBZT1qZTtBZTxMZS5sZW5ndGg7QWUrKylpZihfZShMZVtBZV0pKXJldHVybiBBZTtyZXR1cm4tMX1mdW5jdGlvbiBlZShMZSxqZSl7Zm9yKGxldCBBZT1qZTtBZTxMZS5sZW5ndGg7QWUrKylpZighX2UoTGVbQWVdKSlyZXR1cm4gQWU7cmV0dXJuLTF9ZnVuY3Rpb24gY2UoTGUpe2xldCBqZT1kLmN1cnJlbnROb2RlKExlKTtyZXR1cm4gQnQmJmplJiZfZShqZSkmJldwKGplKSxqZX19ZnVuY3Rpb24gTChzKXt4YihzLCEwKX1lLmZpeHVwUGFyZW50UmVmZXJlbmNlcz1MO2Z1bmN0aW9uIHNlKHMscCxkLGIsUyxOLFgsX2Upe2xldCBaPWguY3JlYXRlU291cmNlRmlsZShTLE4sWCk7aWYoWWQoWiwwLFFlLmxlbmd0aCksZWUoWiksIWImJm1oKFopJiZaLnRyYW5zZm9ybUZsYWdzJjY3MTA4ODY0KXtsZXQgY2U9WjtaPW1yKFopLGNlIT09WiYmZWUoWil9cmV0dXJuIFo7ZnVuY3Rpb24gZWUoY2Upe2NlLnRleHQ9UWUsY2UuYmluZERpYWdub3N0aWNzPVtdLGNlLmJpbmRTdWdnZXN0aW9uRGlhZ25vc3RpY3M9dm9pZCAwLGNlLmxhbmd1YWdlVmVyc2lvbj1wLGNlLmZpbGVOYW1lPXMsY2UubGFuZ3VhZ2VWYXJpYW50PVdkKGQpLGNlLmlzRGVjbGFyYXRpb25GaWxlPWIsY2Uuc2NyaXB0S2luZD1kLF9lKGNlKSxjZS5zZXRFeHRlcm5hbE1vZHVsZUluZGljYXRvcj1fZX19ZnVuY3Rpb24gZmUocyxwKXtzP250fD1wOm50Jj1+cH1mdW5jdGlvbiBUZShzKXtmZShzLDgxOTIpfWZ1bmN0aW9uIFhlKHMpe2ZlKHMsMTYzODQpfWZ1bmN0aW9uIEtlKHMpe2ZlKHMsMzI3NjgpfWZ1bmN0aW9uIHN0KHMpe2ZlKHMsNjU1MzYpfWZ1bmN0aW9uIER0KHMscCl7bGV0IGQ9cyZudDtpZihkKXtmZSghMSxkKTtsZXQgYj1wKCk7cmV0dXJuIGZlKCEwLGQpLGJ9cmV0dXJuIHAoKX1mdW5jdGlvbiBUdChzLHApe2xldCBkPXMmfm50O2lmKGQpe2ZlKCEwLGQpO2xldCBiPXAoKTtyZXR1cm4gZmUoITEsZCksYn1yZXR1cm4gcCgpfWZ1bmN0aW9uIHV0KHMpe3JldHVybiBEdCg4MTkyLHMpfWZ1bmN0aW9uIElyKHMpe3JldHVybiBUdCg4MTkyLHMpfWZ1bmN0aW9uIGhyKHMpe3JldHVybiBEdCgxMzEwNzIscyl9ZnVuY3Rpb24gTW4ocyl7cmV0dXJuIFR0KDEzMTA3MixzKX1mdW5jdGlvbiBXbihzKXtyZXR1cm4gVHQoMTYzODQscyl9ZnVuY3Rpb24gU2kocyl7cmV0dXJuIFR0KDMyNzY4LHMpfWZ1bmN0aW9uIFIocyl7cmV0dXJuIFR0KDY1NTM2LHMpfWZ1bmN0aW9uICQocyl7cmV0dXJuIER0KDY1NTM2LHMpfWZ1bmN0aW9uIEsocyl7cmV0dXJuIFR0KDgxOTIwLHMpfWZ1bmN0aW9uIHhlKHMpe3JldHVybiBEdCg4MTkyMCxzKX1mdW5jdGlvbiBTZShzKXtyZXR1cm4obnQmcykhPT0wfWZ1bmN0aW9uIHdlKCl7cmV0dXJuIFNlKDE2Mzg0KX1mdW5jdGlvbiBiZSgpe3JldHVybiBTZSg4MTkyKX1mdW5jdGlvbiBXZSgpe3JldHVybiBTZSgxMzEwNzIpfWZ1bmN0aW9uIFplKCl7cmV0dXJuIFNlKDMyNzY4KX1mdW5jdGlvbiBZZSgpe3JldHVybiBTZSg2NTUzNil9ZnVuY3Rpb24gRWUocywuLi5wKXtyZXR1cm4gcnQodC5nZXRUb2tlblN0YXJ0KCksdC5nZXRUb2tlbkVuZCgpLHMsLi4ucCl9ZnVuY3Rpb24gVG4ocyxwLGQsLi4uYil7bGV0IFM9R2koX3QpLE47cmV0dXJuKCFTfHxzIT09Uy5zdGFydCkmJihOPU9hKE10LFFlLHMscCxkLC4uLmIpLF90LnB1c2goTikpLHJuPSEwLE59ZnVuY3Rpb24gcnQocyxwLGQsLi4uYil7cmV0dXJuIFRuKHMscC1zLGQsLi4uYil9ZnVuY3Rpb24gbG4ocyxwLC4uLmQpe3J0KHMucG9zLHMuZW5kLHAsLi4uZCl9ZnVuY3Rpb24gWnIocyxwLGQpe1RuKHQuZ2V0VG9rZW5FbmQoKSxwLHMsZCl9ZnVuY3Rpb24gSigpe3JldHVybiB0LmdldFRva2VuRnVsbFN0YXJ0KCl9ZnVuY3Rpb24gcWUoKXtyZXR1cm4gdC5oYXNQcmVjZWRpbmdKU0RvY0NvbW1lbnQoKX1mdW5jdGlvbiB1KCl7cmV0dXJuIGx0fWZ1bmN0aW9uIEllKCl7cmV0dXJuIGx0PXQuc2NhbigpfWZ1bmN0aW9uIE1lKHMpe3JldHVybiBVKCkscygpfWZ1bmN0aW9uIFUoKXtyZXR1cm4gZGkobHQpJiYodC5oYXNVbmljb2RlRXNjYXBlKCl8fHQuaGFzRXh0ZW5kZWRVbmljb2RlRXNjYXBlKCkpJiZydCh0LmdldFRva2VuU3RhcnQoKSx0LmdldFRva2VuRW5kKCksRS5LZXl3b3Jkc19jYW5ub3RfY29udGFpbl9lc2NhcGVfY2hhcmFjdGVycyksSWUoKX1mdW5jdGlvbiB6ZSgpe3JldHVybiBsdD10LnNjYW5Kc0RvY1Rva2VuKCl9ZnVuY3Rpb24gYW4ocyl7cmV0dXJuIGx0PXQuc2NhbkpTRG9jQ29tbWVudFRleHRUb2tlbihzKX1mdW5jdGlvbiBWZSgpe3JldHVybiBsdD10LnJlU2NhbkdyZWF0ZXJUb2tlbigpfWZ1bmN0aW9uICRlKCl7cmV0dXJuIGx0PXQucmVTY2FuU2xhc2hUb2tlbigpfWZ1bmN0aW9uIFB0KHMpe3JldHVybiBsdD10LnJlU2NhblRlbXBsYXRlVG9rZW4ocyl9ZnVuY3Rpb24ga3QoKXtyZXR1cm4gbHQ9dC5yZVNjYW5MZXNzVGhhblRva2VuKCl9ZnVuY3Rpb24gTnQoKXtyZXR1cm4gbHQ9dC5yZVNjYW5IYXNoVG9rZW4oKX1mdW5jdGlvbiBxdCgpe3JldHVybiBsdD10LnNjYW5Kc3hJZGVudGlmaWVyKCl9ZnVuY3Rpb24gR24oKXtyZXR1cm4gbHQ9dC5zY2FuSnN4VG9rZW4oKX1mdW5jdGlvbiB3aSgpe3JldHVybiBsdD10LnNjYW5Kc3hBdHRyaWJ1dGVWYWx1ZSgpfWZ1bmN0aW9uIHVuKHMscCl7bGV0IGQ9bHQsYj1fdC5sZW5ndGgsUz1ybixOPW50LFg9cCE9PTA/dC5sb29rQWhlYWQocyk6dC50cnlTY2FuKHMpO3JldHVybiBCLmFzc2VydChOPT09bnQpLCghWHx8cCE9PTApJiYobHQ9ZCxwIT09MiYmKF90Lmxlbmd0aD1iKSxybj1TKSxYfWZ1bmN0aW9uIEcocyl7cmV0dXJuIHVuKHMsMSl9ZnVuY3Rpb24gbGUocyl7cmV0dXJuIHVuKHMsMCl9ZnVuY3Rpb24gRmUoKXtyZXR1cm4gdSgpPT09ODA/ITA6dSgpPjExOH1mdW5jdGlvbiB2ZSgpe3JldHVybiB1KCk9PT04MD8hMDp1KCk9PT0xMjcmJndlKCl8fHUoKT09PTEzNSYmWWUoKT8hMTp1KCk+MTE4fWZ1bmN0aW9uIGoocyxwLGQ9ITApe3JldHVybiB1KCk9PT1zPyhkJiZVKCksITApOihwP0VlKHApOkVlKEUuXzBfZXhwZWN0ZWQsaXQocykpLCExKX1sZXQgaHQ9T2JqZWN0LmtleXMobmYpLmZpbHRlcihzPT5zLmxlbmd0aD4yKTtmdW5jdGlvbiB4dChzKXtpZihHMShzKSl7cnQoQXIoUWUscy50ZW1wbGF0ZS5wb3MpLHMudGVtcGxhdGUuZW5kLEUuTW9kdWxlX2RlY2xhcmF0aW9uX25hbWVzX21heV9vbmx5X3VzZV9vcl9xdW90ZWRfc3RyaW5ncyk7cmV0dXJufWxldCBwPXR0KHMpP1BuKHMpOnZvaWQgMDtpZighcHx8IW9nKHAscW4pKXtFZShFLl8wX2V4cGVjdGVkLGl0KDI3KSk7cmV0dXJufWxldCBkPUFyKFFlLHMucG9zKTtzd2l0Y2gocCl7Y2FzZVwiY29uc3RcIjpjYXNlXCJsZXRcIjpjYXNlXCJ2YXJcIjpydChkLHMuZW5kLEUuVmFyaWFibGVfZGVjbGFyYXRpb25fbm90X2FsbG93ZWRfYXRfdGhpc19sb2NhdGlvbik7cmV0dXJuO2Nhc2VcImRlY2xhcmVcIjpyZXR1cm47Y2FzZVwiaW50ZXJmYWNlXCI6THQoRS5JbnRlcmZhY2VfbmFtZV9jYW5ub3RfYmVfMCxFLkludGVyZmFjZV9tdXN0X2JlX2dpdmVuX2FfbmFtZSwxOSk7cmV0dXJuO2Nhc2VcImlzXCI6cnQoZCx0LmdldFRva2VuU3RhcnQoKSxFLkFfdHlwZV9wcmVkaWNhdGVfaXNfb25seV9hbGxvd2VkX2luX3JldHVybl90eXBlX3Bvc2l0aW9uX2Zvcl9mdW5jdGlvbnNfYW5kX21ldGhvZHMpO3JldHVybjtjYXNlXCJtb2R1bGVcIjpjYXNlXCJuYW1lc3BhY2VcIjpMdChFLk5hbWVzcGFjZV9uYW1lX2Nhbm5vdF9iZV8wLEUuTmFtZXNwYWNlX211c3RfYmVfZ2l2ZW5fYV9uYW1lLDE5KTtyZXR1cm47Y2FzZVwidHlwZVwiOkx0KEUuVHlwZV9hbGlhc19uYW1lX2Nhbm5vdF9iZV8wLEUuVHlwZV9hbGlhc19tdXN0X2JlX2dpdmVuX2FfbmFtZSw2NCk7cmV0dXJufWxldCBiPW5zKHAsaHQsZ3QpPz9wbihwKTtpZihiKXtydChkLHMuZW5kLEUuVW5rbm93bl9rZXl3b3JkX29yX2lkZW50aWZpZXJfRGlkX3lvdV9tZWFuXzAsYik7cmV0dXJufXUoKSE9PTAmJnJ0KGQscy5lbmQsRS5VbmV4cGVjdGVkX2tleXdvcmRfb3JfaWRlbnRpZmllcil9ZnVuY3Rpb24gTHQocyxwLGQpe3UoKT09PWQ/RWUocCk6RWUocyx0LmdldFRva2VuVmFsdWUoKSl9ZnVuY3Rpb24gcG4ocyl7Zm9yKGxldCBwIG9mIGh0KWlmKHMubGVuZ3RoPnAubGVuZ3RoKzImJnVsKHMscCkpcmV0dXJuYCR7cH0gJHtzLnNsaWNlKHAubGVuZ3RoKX1gfWZ1bmN0aW9uIFVsKHMscCxkKXtpZih1KCk9PT02MCYmIXQuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpe0VlKEUuRGVjb3JhdG9yc19tdXN0X3ByZWNlZGVfdGhlX25hbWVfYW5kX2FsbF9rZXl3b3Jkc19vZl9wcm9wZXJ0eV9kZWNsYXJhdGlvbnMpO3JldHVybn1pZih1KCk9PT0yMSl7RWUoRS5DYW5ub3Rfc3RhcnRfYV9mdW5jdGlvbl9jYWxsX2luX2FfdHlwZV9hbm5vdGF0aW9uKSxVKCk7cmV0dXJufWlmKHAmJiFzcigpKXtkP0VlKEUuXzBfZXhwZWN0ZWQsaXQoMjcpKTpFZShFLkV4cGVjdGVkX2Zvcl9wcm9wZXJ0eV9pbml0aWFsaXplcik7cmV0dXJufWlmKCFpYSgpKXtpZihkKXtFZShFLl8wX2V4cGVjdGVkLGl0KDI3KSk7cmV0dXJufXh0KHMpfX1mdW5jdGlvbiBFcyhzKXtyZXR1cm4gdSgpPT09cz8oemUoKSwhMCk6KEIuYXNzZXJ0KHhwKHMpKSxFZShFLl8wX2V4cGVjdGVkLGl0KHMpKSwhMSl9ZnVuY3Rpb24gT3IocyxwLGQsYil7aWYodSgpPT09cCl7VSgpO3JldHVybn1sZXQgUz1FZShFLl8wX2V4cGVjdGVkLGl0KHApKTtkJiZTJiZubChTLE9hKE10LFFlLGIsMSxFLlRoZV9wYXJzZXJfZXhwZWN0ZWRfdG9fZmluZF9hXzFfdG9fbWF0Y2hfdGhlXzBfdG9rZW5faGVyZSxpdChzKSxpdChwKSkpfWZ1bmN0aW9uIEplKHMpe3JldHVybiB1KCk9PT1zPyhVKCksITApOiExfWZ1bmN0aW9uIGZ0KHMpe2lmKHUoKT09PXMpcmV0dXJuIFd0KCl9ZnVuY3Rpb24gQmwocyl7aWYodSgpPT09cylyZXR1cm4gemwoKX1mdW5jdGlvbiBZbihzLHAsZCl7cmV0dXJuIGZ0KHMpfHxHdChzLCExLHB8fEUuXzBfZXhwZWN0ZWQsZHx8aXQocykpfWZ1bmN0aW9uIHFsKHMpe2xldCBwPUJsKHMpO3JldHVybiBwfHwoQi5hc3NlcnQoeHAocykpLEd0KHMsITEsRS5fMF9leHBlY3RlZCxpdChzKSkpfWZ1bmN0aW9uIFd0KCl7bGV0IHM9SigpLHA9dSgpO3JldHVybiBVKCksRCh5ZShwKSxzKX1mdW5jdGlvbiB6bCgpe2xldCBzPUooKSxwPXUoKTtyZXR1cm4gemUoKSxEKHllKHApLHMpfWZ1bmN0aW9uIHNyKCl7cmV0dXJuIHUoKT09PTI3PyEwOnUoKT09PTIwfHx1KCk9PT0xfHx0Lmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpfWZ1bmN0aW9uIGlhKCl7cmV0dXJuIHNyKCk/KHUoKT09PTI3JiZVKCksITApOiExfWZ1bmN0aW9uIFF0KCl7cmV0dXJuIGlhKCl8fGooMjcpfWZ1bmN0aW9uIEN0KHMscCxkLGIpe2xldCBTPXkocyxiKTtyZXR1cm4geWkoUyxwLGQ/P3QuZ2V0VG9rZW5GdWxsU3RhcnQoKSksU31mdW5jdGlvbiBEKHMscCxkKXtyZXR1cm4geWkocyxwLGQ/P3QuZ2V0VG9rZW5GdWxsU3RhcnQoKSksbnQmJihzLmZsYWdzfD1udCkscm4mJihybj0hMSxzLmZsYWdzfD0yNjIxNDQpLHN9ZnVuY3Rpb24gR3QocyxwLGQsLi4uYil7cD9Ubih0LmdldFRva2VuRnVsbFN0YXJ0KCksMCxkLC4uLmIpOmQmJkVlKGQsLi4uYik7bGV0IFM9SigpLE49cz09PTgwP3JlKFwiXCIsdm9pZCAwKTpMZChzKT9oLmNyZWF0ZVRlbXBsYXRlTGl0ZXJhbExpa2VOb2RlKHMsXCJcIixcIlwiLHZvaWQgMCk6cz09PTk/ZyhcIlwiLHZvaWQgMCk6cz09PTExP3goXCJcIix2b2lkIDApOnM9PT0yODI/aC5jcmVhdGVNaXNzaW5nRGVjbGFyYXRpb24oKTp5ZShzKTtyZXR1cm4gRChOLFMpfWZ1bmN0aW9uIE1yKHMpe2xldCBwPW10LmdldChzKTtyZXR1cm4gcD09PXZvaWQgMCYmbXQuc2V0KHMscD1zKSxwfWZ1bmN0aW9uIG9yKHMscCxkKXtpZihzKXt2bisrO2xldCBfZT10Lmhhc1ByZWNlZGluZ0pTRG9jTGVhZGluZ0FzdGVyaXNrcygpP3QuZ2V0VG9rZW5TdGFydCgpOkooKSxaPXUoKSxlZT1Ncih0LmdldFRva2VuVmFsdWUoKSksY2U9dC5oYXNFeHRlbmRlZFVuaWNvZGVFc2NhcGUoKTtyZXR1cm4gSWUoKSxEKHJlKGVlLFosY2UpLF9lKX1pZih1KCk9PT04MSlyZXR1cm4gRWUoZHx8RS5Qcml2YXRlX2lkZW50aWZpZXJzX2FyZV9ub3RfYWxsb3dlZF9vdXRzaWRlX2NsYXNzX2JvZGllcyksb3IoITApO2lmKHUoKT09PTAmJnQudHJ5U2NhbigoKT0+dC5yZVNjYW5JbnZhbGlkSWRlbnRpZmllcigpPT09ODApKXJldHVybiBvcighMCk7dm4rKztsZXQgYj11KCk9PT0xLFM9dC5pc1Jlc2VydmVkV29yZCgpLE49dC5nZXRUb2tlblRleHQoKSxYPVM/RS5JZGVudGlmaWVyX2V4cGVjdGVkXzBfaXNfYV9yZXNlcnZlZF93b3JkX3RoYXRfY2Fubm90X2JlX3VzZWRfaGVyZTpFLklkZW50aWZpZXJfZXhwZWN0ZWQ7cmV0dXJuIEd0KDgwLGIscHx8WCxOKX1mdW5jdGlvbiBLYShzKXtyZXR1cm4gb3IoRmUoKSx2b2lkIDAscyl9ZnVuY3Rpb24gU3QocyxwKXtyZXR1cm4gb3IodmUoKSxzLHApfWZ1bmN0aW9uIGp0KHMpe3JldHVybiBvcih3dCh1KCkpLHMpfWZ1bmN0aW9uIGVpKCl7cmV0dXJuKHQuaGFzVW5pY29kZUVzY2FwZSgpfHx0Lmhhc0V4dGVuZGVkVW5pY29kZUVzY2FwZSgpKSYmRWUoRS5Vbmljb2RlX2VzY2FwZV9zZXF1ZW5jZV9jYW5ub3RfYXBwZWFyX2hlcmUpLG9yKHd0KHUoKSkpfWZ1bmN0aW9uIHlyKCl7cmV0dXJuIHd0KHUoKSl8fHUoKT09PTExfHx1KCk9PT05fHx1KCk9PT0xMH1mdW5jdGlvbiBBcygpe3JldHVybiB3dCh1KCkpfHx1KCk9PT0xMX1mdW5jdGlvbiBGbChzKXtpZih1KCk9PT0xMXx8dSgpPT09OXx8dSgpPT09MTApe2xldCBwPUhuKCk7cmV0dXJuIHAudGV4dD1NcihwLnRleHQpLHB9cmV0dXJuIHMmJnUoKT09PTIzP1ZsKCk6dSgpPT09ODE/YWEoKTpqdCgpfWZ1bmN0aW9uIEpyKCl7cmV0dXJuIEZsKCEwKX1mdW5jdGlvbiBWbCgpe2xldCBzPUooKTtqKDIzKTtsZXQgcD11dChFdCk7cmV0dXJuIGooMjQpLEQoaC5jcmVhdGVDb21wdXRlZFByb3BlcnR5TmFtZShwKSxzKX1mdW5jdGlvbiBhYSgpe2xldCBzPUooKSxwPWhlKE1yKHQuZ2V0VG9rZW5WYWx1ZSgpKSk7cmV0dXJuIFUoKSxEKHAscyl9ZnVuY3Rpb24gdGkocyl7cmV0dXJuIHUoKT09PXMmJmxlKENzKX1mdW5jdGlvbiBaYSgpe3JldHVybiBVKCksdC5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKT8hMTpjcigpfWZ1bmN0aW9uIENzKCl7c3dpdGNoKHUoKSl7Y2FzZSA4NzpyZXR1cm4gVSgpPT09OTQ7Y2FzZSA5NTpyZXR1cm4gVSgpLHUoKT09PTkwP0coRWkpOnUoKT09PTE1Nj9HKFdsKTpraSgpO2Nhc2UgOTA6cmV0dXJuIEVpKCk7Y2FzZSAxMjY6cmV0dXJuIFUoKSxjcigpO2Nhc2UgMTM5OmNhc2UgMTUzOnJldHVybiBVKCksR2woKTtkZWZhdWx0OnJldHVybiBaYSgpfX1mdW5jdGlvbiBraSgpe3JldHVybiB1KCk9PT02MHx8dSgpIT09NDImJnUoKSE9PTEzMCYmdSgpIT09MTkmJmNyKCl9ZnVuY3Rpb24gV2woKXtyZXR1cm4gVSgpLGtpKCl9ZnVuY3Rpb24gRHMoKXtyZXR1cm4gV3IodSgpKSYmbGUoQ3MpfWZ1bmN0aW9uIGNyKCl7cmV0dXJuIHUoKT09PTIzfHx1KCk9PT0xOXx8dSgpPT09NDJ8fHUoKT09PTI2fHx5cigpfWZ1bmN0aW9uIEdsKCl7cmV0dXJuIHUoKT09PTIzfHx5cigpfWZ1bmN0aW9uIEVpKCl7cmV0dXJuIFUoKSx1KCk9PT04Nnx8dSgpPT09MTAwfHx1KCk9PT0xMjB8fHUoKT09PTYwfHx1KCk9PT0xMjgmJkcoZ2MpfHx1KCk9PT0xMzQmJkcoYmMpfWZ1bmN0aW9uIF9hKHMscCl7aWYob2EocykpcmV0dXJuITA7c3dpdGNoKHMpe2Nhc2UgMDpjYXNlIDE6Y2FzZSAzOnJldHVybiEodSgpPT09MjcmJnApJiZ2YygpO2Nhc2UgMjpyZXR1cm4gdSgpPT09ODR8fHUoKT09PTkwO2Nhc2UgNDpyZXR1cm4gRyhhbyk7Y2FzZSA1OnJldHVybiBHKFZ1KXx8dSgpPT09MjcmJiFwO2Nhc2UgNjpyZXR1cm4gdSgpPT09MjN8fHlyKCk7Y2FzZSAxMjpzd2l0Y2godSgpKXtjYXNlIDIzOmNhc2UgNDI6Y2FzZSAyNjpjYXNlIDI1OnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuIHlyKCl9Y2FzZSAxODpyZXR1cm4geXIoKTtjYXNlIDk6cmV0dXJuIHUoKT09PTIzfHx1KCk9PT0yNnx8eXIoKTtjYXNlIDI0OnJldHVybiBBcygpO2Nhc2UgNzpyZXR1cm4gdSgpPT09MTk/RyhQcyk6cD92ZSgpJiYhZV8oKTp4XygpJiYhZV8oKTtjYXNlIDg6cmV0dXJuIHdhKCk7Y2FzZSAxMDpyZXR1cm4gdSgpPT09Mjh8fHUoKT09PTI2fHx3YSgpO2Nhc2UgMTk6cmV0dXJuIHUoKT09PTEwM3x8dSgpPT09ODd8fHZlKCk7Y2FzZSAxNTpzd2l0Y2godSgpKXtjYXNlIDI4OmNhc2UgMjU6cmV0dXJuITB9Y2FzZSAxMTpyZXR1cm4gdSgpPT09MjZ8fGJyKCk7Y2FzZSAxNjpyZXR1cm4gcGEoITEpO2Nhc2UgMTc6cmV0dXJuIHBhKCEwKTtjYXNlIDIwOmNhc2UgMjE6cmV0dXJuIHUoKT09PTI4fHxhaSgpO2Nhc2UgMjI6cmV0dXJuIFJjKCk7Y2FzZSAyMzpyZXR1cm4gdSgpPT09MTYxJiZHKFJ1KT8hMTp1KCk9PT0xMT8hMDp3dCh1KCkpO2Nhc2UgMTM6cmV0dXJuIHd0KHUoKSl8fHUoKT09PTE5O2Nhc2UgMTQ6cmV0dXJuITA7Y2FzZSAyNTpyZXR1cm4hMDtjYXNlIDI2OnJldHVybiBCLmZhaWwoXCJQYXJzaW5nQ29udGV4dC5Db3VudCB1c2VkIGFzIGEgY29udGV4dFwiKTtkZWZhdWx0OkIuYXNzZXJ0TmV2ZXIocyxcIk5vbi1leGhhdXN0aXZlIGNhc2UgaW4gJ2lzTGlzdEVsZW1lbnQnLlwiKX19ZnVuY3Rpb24gUHMoKXtpZihCLmFzc2VydCh1KCk9PT0xOSksVSgpPT09MjApe2xldCBzPVUoKTtyZXR1cm4gcz09PTI4fHxzPT09MTl8fHM9PT05Nnx8cz09PTExOX1yZXR1cm4hMH1mdW5jdGlvbiBBaSgpe3JldHVybiBVKCksdmUoKX1mdW5jdGlvbiBZbCgpe3JldHVybiBVKCksd3QodSgpKX1mdW5jdGlvbiBOcygpe3JldHVybiBVKCksRnkodSgpKX1mdW5jdGlvbiBlXygpe3JldHVybiB1KCk9PT0xMTl8fHUoKT09PTk2P0coSXMpOiExfWZ1bmN0aW9uIElzKCl7cmV0dXJuIFUoKSxicigpfWZ1bmN0aW9uIENpKCl7cmV0dXJuIFUoKSxhaSgpfWZ1bmN0aW9uIHNhKHMpe2lmKHUoKT09PTEpcmV0dXJuITA7c3dpdGNoKHMpe2Nhc2UgMTpjYXNlIDI6Y2FzZSA0OmNhc2UgNTpjYXNlIDY6Y2FzZSAxMjpjYXNlIDk6Y2FzZSAyMzpjYXNlIDI0OnJldHVybiB1KCk9PT0yMDtjYXNlIDM6cmV0dXJuIHUoKT09PTIwfHx1KCk9PT04NHx8dSgpPT09OTA7Y2FzZSA3OnJldHVybiB1KCk9PT0xOXx8dSgpPT09OTZ8fHUoKT09PTExOTtjYXNlIDg6cmV0dXJuIHRfKCk7Y2FzZSAxOTpyZXR1cm4gdSgpPT09MzJ8fHUoKT09PTIxfHx1KCk9PT0xOXx8dSgpPT09OTZ8fHUoKT09PTExOTtjYXNlIDExOnJldHVybiB1KCk9PT0yMnx8dSgpPT09Mjc7Y2FzZSAxNTpjYXNlIDIxOmNhc2UgMTA6cmV0dXJuIHUoKT09PTI0O2Nhc2UgMTc6Y2FzZSAxNjpjYXNlIDE4OnJldHVybiB1KCk9PT0yMnx8dSgpPT09MjQ7Y2FzZSAyMDpyZXR1cm4gdSgpIT09Mjg7Y2FzZSAyMjpyZXR1cm4gdSgpPT09MTl8fHUoKT09PTIwO2Nhc2UgMTM6cmV0dXJuIHUoKT09PTMyfHx1KCk9PT00NDtjYXNlIDE0OnJldHVybiB1KCk9PT0zMCYmRyhHXyk7ZGVmYXVsdDpyZXR1cm4hMX19ZnVuY3Rpb24gdF8oKXtyZXR1cm4hIShzcigpfHxVbyh1KCkpfHx1KCk9PT0zOSl9ZnVuY3Rpb24gT3MoKXtCLmFzc2VydCh5dCxcIk1pc3NpbmcgcGFyc2luZyBjb250ZXh0XCIpO2ZvcihsZXQgcz0wO3M8MjY7cysrKWlmKHl0JjE8PHMmJihfYShzLCEwKXx8c2EocykpKXJldHVybiEwO3JldHVybiExfWZ1bmN0aW9uIHhuKHMscCl7bGV0IGQ9eXQ7eXR8PTE8PHM7bGV0IGI9W10sUz1KKCk7Zm9yKDshc2Eocyk7KXtpZihfYShzLCExKSl7Yi5wdXNoKG5fKHMscCkpO2NvbnRpbnVlfWlmKHFzKHMpKWJyZWFrfXJldHVybiB5dD1kLEN0KGIsUyl9ZnVuY3Rpb24gbl8ocyxwKXtsZXQgZD1vYShzKTtyZXR1cm4gZD9NcyhkKTpwKCl9ZnVuY3Rpb24gb2EocyxwKXt2YXIgZDtpZighSnR8fCFKcyhzKXx8cm4pcmV0dXJuO2xldCBiPUp0LmN1cnJlbnROb2RlKHA/P3QuZ2V0VG9rZW5GdWxsU3RhcnQoKSk7aWYoIShIaShiKXx8TDYoYil8fG0xKGIpfHwoYi5mbGFncyYxMDE0NDE1MzYpIT09bnQpJiZMcyhiLHMpKXJldHVybiBiZihiKSYmKChkPWIuanNEb2MpIT1udWxsJiZkLmpzRG9jQ2FjaGUpJiYoYi5qc0RvYy5qc0RvY0NhY2hlPXZvaWQgMCksYn1mdW5jdGlvbiBNcyhzKXtyZXR1cm4gdC5yZXNldFRva2VuU3RhdGUocy5lbmQpLFUoKSxzfWZ1bmN0aW9uIEpzKHMpe3N3aXRjaChzKXtjYXNlIDU6Y2FzZSAyOmNhc2UgMDpjYXNlIDE6Y2FzZSAzOmNhc2UgNjpjYXNlIDQ6Y2FzZSA4OmNhc2UgMTc6Y2FzZSAxNjpyZXR1cm4hMH1yZXR1cm4hMX1mdW5jdGlvbiBMcyhzLHApe3N3aXRjaChwKXtjYXNlIDU6cmV0dXJuIHJfKHMpO2Nhc2UgMjpyZXR1cm4ganMocyk7Y2FzZSAwOmNhc2UgMTpjYXNlIDM6cmV0dXJuIGlfKHMpO2Nhc2UgNjpyZXR1cm4gUnMocyk7Y2FzZSA0OnJldHVybiBhXyhzKTtjYXNlIDg6cmV0dXJuIFVzKHMpO2Nhc2UgMTc6Y2FzZSAxNjpyZXR1cm4gQnMocyl9cmV0dXJuITF9ZnVuY3Rpb24gcl8ocyl7aWYocylzd2l0Y2gocy5raW5kKXtjYXNlIDE3NjpjYXNlIDE4MTpjYXNlIDE3NzpjYXNlIDE3ODpjYXNlIDE3MjpjYXNlIDI0MDpyZXR1cm4hMDtjYXNlIDE3NDpsZXQgcD1zO3JldHVybiEocC5uYW1lLmtpbmQ9PT04MCYmcC5uYW1lLmVzY2FwZWRUZXh0PT09XCJjb25zdHJ1Y3RvclwiKX1yZXR1cm4hMX1mdW5jdGlvbiBqcyhzKXtpZihzKXN3aXRjaChzLmtpbmQpe2Nhc2UgMjk2OmNhc2UgMjk3OnJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIGlfKHMpe2lmKHMpc3dpdGNoKHMua2luZCl7Y2FzZSAyNjI6Y2FzZSAyNDM6Y2FzZSAyNDE6Y2FzZSAyNDU6Y2FzZSAyNDQ6Y2FzZSAyNTc6Y2FzZSAyNTM6Y2FzZSAyNTU6Y2FzZSAyNTI6Y2FzZSAyNTE6Y2FzZSAyNDk6Y2FzZSAyNTA6Y2FzZSAyNDg6Y2FzZSAyNDc6Y2FzZSAyNTQ6Y2FzZSAyNDI6Y2FzZSAyNTg6Y2FzZSAyNTY6Y2FzZSAyNDY6Y2FzZSAyNTk6Y2FzZSAyNzI6Y2FzZSAyNzE6Y2FzZSAyNzg6Y2FzZSAyNzc6Y2FzZSAyNjc6Y2FzZSAyNjM6Y2FzZSAyNjQ6Y2FzZSAyNjY6Y2FzZSAyNjU6cmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gUnMocyl7cmV0dXJuIHMua2luZD09PTMwNn1mdW5jdGlvbiBhXyhzKXtpZihzKXN3aXRjaChzLmtpbmQpe2Nhc2UgMTgwOmNhc2UgMTczOmNhc2UgMTgxOmNhc2UgMTcxOmNhc2UgMTc5OnJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIFVzKHMpe3JldHVybiBzLmtpbmQhPT0yNjA/ITE6cy5pbml0aWFsaXplcj09PXZvaWQgMH1mdW5jdGlvbiBCcyhzKXtyZXR1cm4gcy5raW5kIT09MTY5PyExOnMuaW5pdGlhbGl6ZXI9PT12b2lkIDB9ZnVuY3Rpb24gcXMocyl7cmV0dXJuIGNhKHMpLE9zKCk/ITA6KFUoKSwhMSl9ZnVuY3Rpb24gY2Eocyl7c3dpdGNoKHMpe2Nhc2UgMDpyZXR1cm4gdSgpPT09OTA/RWUoRS5fMF9leHBlY3RlZCxpdCg5NSkpOkVlKEUuRGVjbGFyYXRpb25fb3Jfc3RhdGVtZW50X2V4cGVjdGVkKTtjYXNlIDE6cmV0dXJuIEVlKEUuRGVjbGFyYXRpb25fb3Jfc3RhdGVtZW50X2V4cGVjdGVkKTtjYXNlIDI6cmV0dXJuIEVlKEUuY2FzZV9vcl9kZWZhdWx0X2V4cGVjdGVkKTtjYXNlIDM6cmV0dXJuIEVlKEUuU3RhdGVtZW50X2V4cGVjdGVkKTtjYXNlIDE4OmNhc2UgNDpyZXR1cm4gRWUoRS5Qcm9wZXJ0eV9vcl9zaWduYXR1cmVfZXhwZWN0ZWQpO2Nhc2UgNTpyZXR1cm4gRWUoRS5VbmV4cGVjdGVkX3Rva2VuX0FfY29uc3RydWN0b3JfbWV0aG9kX2FjY2Vzc29yX29yX3Byb3BlcnR5X3dhc19leHBlY3RlZCk7Y2FzZSA2OnJldHVybiBFZShFLkVudW1fbWVtYmVyX2V4cGVjdGVkKTtjYXNlIDc6cmV0dXJuIEVlKEUuRXhwcmVzc2lvbl9leHBlY3RlZCk7Y2FzZSA4OnJldHVybiBkaSh1KCkpP0VlKEUuXzBfaXNfbm90X2FsbG93ZWRfYXNfYV92YXJpYWJsZV9kZWNsYXJhdGlvbl9uYW1lLGl0KHUoKSkpOkVlKEUuVmFyaWFibGVfZGVjbGFyYXRpb25fZXhwZWN0ZWQpO2Nhc2UgOTpyZXR1cm4gRWUoRS5Qcm9wZXJ0eV9kZXN0cnVjdHVyaW5nX3BhdHRlcm5fZXhwZWN0ZWQpO2Nhc2UgMTA6cmV0dXJuIEVlKEUuQXJyYXlfZWxlbWVudF9kZXN0cnVjdHVyaW5nX3BhdHRlcm5fZXhwZWN0ZWQpO2Nhc2UgMTE6cmV0dXJuIEVlKEUuQXJndW1lbnRfZXhwcmVzc2lvbl9leHBlY3RlZCk7Y2FzZSAxMjpyZXR1cm4gRWUoRS5Qcm9wZXJ0eV9hc3NpZ25tZW50X2V4cGVjdGVkKTtjYXNlIDE1OnJldHVybiBFZShFLkV4cHJlc3Npb25fb3JfY29tbWFfZXhwZWN0ZWQpO2Nhc2UgMTc6cmV0dXJuIEVlKEUuUGFyYW1ldGVyX2RlY2xhcmF0aW9uX2V4cGVjdGVkKTtjYXNlIDE2OnJldHVybiBkaSh1KCkpP0VlKEUuXzBfaXNfbm90X2FsbG93ZWRfYXNfYV9wYXJhbWV0ZXJfbmFtZSxpdCh1KCkpKTpFZShFLlBhcmFtZXRlcl9kZWNsYXJhdGlvbl9leHBlY3RlZCk7Y2FzZSAxOTpyZXR1cm4gRWUoRS5UeXBlX3BhcmFtZXRlcl9kZWNsYXJhdGlvbl9leHBlY3RlZCk7Y2FzZSAyMDpyZXR1cm4gRWUoRS5UeXBlX2FyZ3VtZW50X2V4cGVjdGVkKTtjYXNlIDIxOnJldHVybiBFZShFLlR5cGVfZXhwZWN0ZWQpO2Nhc2UgMjI6cmV0dXJuIEVlKEUuVW5leHBlY3RlZF90b2tlbl9leHBlY3RlZCk7Y2FzZSAyMzpyZXR1cm4gdSgpPT09MTYxP0VlKEUuXzBfZXhwZWN0ZWQsXCJ9XCIpOkVlKEUuSWRlbnRpZmllcl9leHBlY3RlZCk7Y2FzZSAxMzpyZXR1cm4gRWUoRS5JZGVudGlmaWVyX2V4cGVjdGVkKTtjYXNlIDE0OnJldHVybiBFZShFLklkZW50aWZpZXJfZXhwZWN0ZWQpO2Nhc2UgMjQ6cmV0dXJuIEVlKEUuSWRlbnRpZmllcl9vcl9zdHJpbmdfbGl0ZXJhbF9leHBlY3RlZCk7Y2FzZSAyNTpyZXR1cm4gRWUoRS5JZGVudGlmaWVyX2V4cGVjdGVkKTtjYXNlIDI2OnJldHVybiBCLmZhaWwoXCJQYXJzaW5nQ29udGV4dC5Db3VudCB1c2VkIGFzIGEgY29udGV4dFwiKTtkZWZhdWx0OkIuYXNzZXJ0TmV2ZXIocyl9fWZ1bmN0aW9uIGZuKHMscCxkKXtsZXQgYj15dDt5dHw9MTw8cztsZXQgUz1bXSxOPUooKSxYPS0xO2Zvcig7Oyl7aWYoX2EocywhMSkpe2xldCBfZT10LmdldFRva2VuRnVsbFN0YXJ0KCksWj1uXyhzLHApO2lmKCFaKXt5dD1iO3JldHVybn1pZihTLnB1c2goWiksWD10LmdldFRva2VuU3RhcnQoKSxKZSgyOCkpY29udGludWU7aWYoWD0tMSxzYShzKSlicmVhaztqKDI4LF9fKHMpKSxkJiZ1KCk9PT0yNyYmIXQuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkmJlUoKSxfZT09PXQuZ2V0VG9rZW5GdWxsU3RhcnQoKSYmVSgpO2NvbnRpbnVlfWlmKHNhKHMpfHxxcyhzKSlicmVha31yZXR1cm4geXQ9YixDdChTLE4sdm9pZCAwLFg+PTApfWZ1bmN0aW9uIF9fKHMpe3JldHVybiBzPT09Nj9FLkFuX2VudW1fbWVtYmVyX25hbWVfbXVzdF9iZV9mb2xsb3dlZF9ieV9hX29yOnZvaWQgMH1mdW5jdGlvbiBscigpe2xldCBzPUN0KFtdLEooKSk7cmV0dXJuIHMuaXNNaXNzaW5nTGlzdD0hMCxzfWZ1bmN0aW9uIHpzKHMpe3JldHVybiEhcy5pc01pc3NpbmdMaXN0fWZ1bmN0aW9uIExyKHMscCxkLGIpe2lmKGooZCkpe2xldCBTPWZuKHMscCk7cmV0dXJuIGooYiksU31yZXR1cm4gbHIoKX1mdW5jdGlvbiBqcihzLHApe2xldCBkPUooKSxiPXM/anQocCk6U3QocCk7Zm9yKDtKZSgyNSkmJnUoKSE9PTMwOyliPUQoaC5jcmVhdGVRdWFsaWZpZWROYW1lKGIsbmkocywhMSwhMCkpLGQpO3JldHVybiBifWZ1bmN0aW9uIEhsKHMscCl7cmV0dXJuIEQoaC5jcmVhdGVRdWFsaWZpZWROYW1lKHMscCkscy5wb3MpfWZ1bmN0aW9uIG5pKHMscCxkKXtpZih0Lmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpJiZ3dCh1KCkpJiZHKE1fKSlyZXR1cm4gR3QoODAsITAsRS5JZGVudGlmaWVyX2V4cGVjdGVkKTtpZih1KCk9PT04MSl7bGV0IGI9YWEoKTtyZXR1cm4gcD9iOkd0KDgwLCEwLEUuSWRlbnRpZmllcl9leHBlY3RlZCl9cmV0dXJuIHM/ZD9qdCgpOmVpKCk6U3QoKX1mdW5jdGlvbiBYbChzKXtsZXQgcD1KKCksZD1bXSxiO2RvIGI9R3MocyksZC5wdXNoKGIpO3doaWxlKGIubGl0ZXJhbC5raW5kPT09MTcpO3JldHVybiBDdChkLHApfWZ1bmN0aW9uIGxhKHMpe2xldCBwPUooKTtyZXR1cm4gRChoLmNyZWF0ZVRlbXBsYXRlRXhwcmVzc2lvbihEaShzKSxYbChzKSkscCl9ZnVuY3Rpb24gRnMoKXtsZXQgcz1KKCk7cmV0dXJuIEQoaC5jcmVhdGVUZW1wbGF0ZUxpdGVyYWxUeXBlKERpKCExKSwkbCgpKSxzKX1mdW5jdGlvbiAkbCgpe2xldCBzPUooKSxwPVtdLGQ7ZG8gZD1WcygpLHAucHVzaChkKTt3aGlsZShkLmxpdGVyYWwua2luZD09PTE3KTtyZXR1cm4gQ3QocCxzKX1mdW5jdGlvbiBWcygpe2xldCBzPUooKTtyZXR1cm4gRChoLmNyZWF0ZVRlbXBsYXRlTGl0ZXJhbFR5cGVTcGFuKG90KCksV3MoITEpKSxzKX1mdW5jdGlvbiBXcyhzKXtyZXR1cm4gdSgpPT09MjA/KFB0KHMpLFlzKCkpOlluKDE4LEUuXzBfZXhwZWN0ZWQsaXQoMjApKX1mdW5jdGlvbiBHcyhzKXtsZXQgcD1KKCk7cmV0dXJuIEQoaC5jcmVhdGVUZW1wbGF0ZVNwYW4odXQoRXQpLFdzKHMpKSxwKX1mdW5jdGlvbiBIbigpe3JldHVybiByaSh1KCkpfWZ1bmN0aW9uIERpKHMpeyFzJiZ0LmdldFRva2VuRmxhZ3MoKSYyNjY1NiYmUHQoITEpO2xldCBwPXJpKHUoKSk7cmV0dXJuIEIuYXNzZXJ0KHAua2luZD09PTE2LFwiVGVtcGxhdGUgaGVhZCBoYXMgd3JvbmcgdG9rZW4ga2luZFwiKSxwfWZ1bmN0aW9uIFlzKCl7bGV0IHM9cmkodSgpKTtyZXR1cm4gQi5hc3NlcnQocy5raW5kPT09MTd8fHMua2luZD09PTE4LFwiVGVtcGxhdGUgZnJhZ21lbnQgaGFzIHdyb25nIHRva2VuIGtpbmRcIiksc31mdW5jdGlvbiBRbChzKXtsZXQgcD1zPT09MTV8fHM9PT0xOCxkPXQuZ2V0VG9rZW5UZXh0KCk7cmV0dXJuIGQuc3Vic3RyaW5nKDEsZC5sZW5ndGgtKHQuaXNVbnRlcm1pbmF0ZWQoKT8wOnA/MToyKSl9ZnVuY3Rpb24gcmkocyl7bGV0IHA9SigpLGQ9TGQocyk/aC5jcmVhdGVUZW1wbGF0ZUxpdGVyYWxMaWtlTm9kZShzLHQuZ2V0VG9rZW5WYWx1ZSgpLFFsKHMpLHQuZ2V0VG9rZW5GbGFncygpJjcxNzYpOnM9PT05P2codC5nZXRUb2tlblZhbHVlKCksdC5nZXROdW1lcmljTGl0ZXJhbEZsYWdzKCkpOnM9PT0xMT94KHQuZ2V0VG9rZW5WYWx1ZSgpLHZvaWQgMCx0Lmhhc0V4dGVuZGVkVW5pY29kZUVzY2FwZSgpKTpKZyhzKT9JKHMsdC5nZXRUb2tlblZhbHVlKCkpOkIuZmFpbCgpO3JldHVybiB0Lmhhc0V4dGVuZGVkVW5pY29kZUVzY2FwZSgpJiYoZC5oYXNFeHRlbmRlZFVuaWNvZGVFc2NhcGU9ITApLHQuaXNVbnRlcm1pbmF0ZWQoKSYmKGQuaXNVbnRlcm1pbmF0ZWQ9ITApLFUoKSxEKGQscCl9ZnVuY3Rpb24gaWkoKXtyZXR1cm4ganIoITAsRS5UeXBlX2V4cGVjdGVkKX1mdW5jdGlvbiBIcygpe2lmKCF0Lmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpJiZrdCgpPT09MzApcmV0dXJuIExyKDIwLG90LDMwLDMyKX1mdW5jdGlvbiB1YSgpe2xldCBzPUooKTtyZXR1cm4gRChoLmNyZWF0ZVR5cGVSZWZlcmVuY2VOb2RlKGlpKCksSHMoKSkscyl9ZnVuY3Rpb24gc18ocyl7c3dpdGNoKHMua2luZCl7Y2FzZSAxODM6cmV0dXJuIEhpKHMudHlwZU5hbWUpO2Nhc2UgMTg0OmNhc2UgMTg1OntsZXR7cGFyYW1ldGVyczpwLHR5cGU6ZH09cztyZXR1cm4genMocCl8fHNfKGQpfWNhc2UgMTk2OnJldHVybiBzXyhzLnR5cGUpO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIEtsKHMpe3JldHVybiBVKCksRChoLmNyZWF0ZVR5cGVQcmVkaWNhdGVOb2RlKHZvaWQgMCxzLG90KCkpLHMucG9zKX1mdW5jdGlvbiBvXygpe2xldCBzPUooKTtyZXR1cm4gVSgpLEQoaC5jcmVhdGVUaGlzVHlwZU5vZGUoKSxzKX1mdW5jdGlvbiBabCgpe2xldCBzPUooKTtyZXR1cm4gVSgpLEQoaC5jcmVhdGVKU0RvY0FsbFR5cGUoKSxzKX1mdW5jdGlvbiBYcygpe2xldCBzPUooKTtyZXR1cm4gVSgpLEQoaC5jcmVhdGVKU0RvY05vbk51bGxhYmxlVHlwZShiXygpLCExKSxzKX1mdW5jdGlvbiBldSgpe2xldCBzPUooKTtyZXR1cm4gVSgpLHUoKT09PTI4fHx1KCk9PT0yMHx8dSgpPT09MjJ8fHUoKT09PTMyfHx1KCk9PT02NHx8dSgpPT09NTI/RChoLmNyZWF0ZUpTRG9jVW5rbm93blR5cGUoKSxzKTpEKGguY3JlYXRlSlNEb2NOdWxsYWJsZVR5cGUob3QoKSwhMSkscyl9ZnVuY3Rpb24gJHMoKXtsZXQgcz1KKCkscD1xZSgpO2lmKGxlKEZjKSl7bGV0IGQ9WG4oMzYpLGI9Sm4oNTksITEpO3JldHVybiBDZShEKGguY3JlYXRlSlNEb2NGdW5jdGlvblR5cGUoZCxiKSxzKSxwKX1yZXR1cm4gRChoLmNyZWF0ZVR5cGVSZWZlcmVuY2VOb2RlKGp0KCksdm9pZCAwKSxzKX1mdW5jdGlvbiBjXygpe2xldCBzPUooKSxwO3JldHVybih1KCk9PT0xMTB8fHUoKT09PTEwNSkmJihwPWp0KCksaig1OSkpLEQoaC5jcmVhdGVQYXJhbWV0ZXJEZWNsYXJhdGlvbih2b2lkIDAsdm9pZCAwLHAsdm9pZCAwLGxfKCksdm9pZCAwKSxzKX1mdW5jdGlvbiBsXygpe3Quc2V0U2tpcEpzRG9jTGVhZGluZ0FzdGVyaXNrcyghMCk7bGV0IHM9SigpO2lmKEplKDE0NCkpe2xldCBiPWguY3JlYXRlSlNEb2NOYW1lcGF0aFR5cGUodm9pZCAwKTtlOmZvcig7Oylzd2l0Y2godSgpKXtjYXNlIDIwOmNhc2UgMTpjYXNlIDI4OmNhc2UgNTpicmVhayBlO2RlZmF1bHQ6emUoKX1yZXR1cm4gdC5zZXRTa2lwSnNEb2NMZWFkaW5nQXN0ZXJpc2tzKCExKSxEKGIscyl9bGV0IHA9SmUoMjYpLGQ9bWEoKTtyZXR1cm4gdC5zZXRTa2lwSnNEb2NMZWFkaW5nQXN0ZXJpc2tzKCExKSxwJiYoZD1EKGguY3JlYXRlSlNEb2NWYXJpYWRpY1R5cGUoZCkscykpLHUoKT09PTY0PyhVKCksRChoLmNyZWF0ZUpTRG9jT3B0aW9uYWxUeXBlKGQpLHMpKTpkfWZ1bmN0aW9uIFFzKCl7bGV0IHM9SigpO2ooMTE0KTtsZXQgcD1qcighMCksZD10Lmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpP3ZvaWQgMDpBYSgpO3JldHVybiBEKGguY3JlYXRlVHlwZVF1ZXJ5Tm9kZShwLGQpLHMpfWZ1bmN0aW9uIEtzKCl7bGV0IHM9SigpLHA9d24oITEsITApLGQ9U3QoKSxiLFM7SmUoOTYpJiYoYWkoKXx8IWJyKCk/Yj1vdCgpOlM9WW8oKSk7bGV0IE49SmUoNjQpP290KCk6dm9pZCAwLFg9aC5jcmVhdGVUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24ocCxkLGIsTik7cmV0dXJuIFguZXhwcmVzc2lvbj1TLEQoWCxzKX1mdW5jdGlvbiBkbigpe2lmKHUoKT09PTMwKXJldHVybiBMcigxOSxLcywzMCwzMil9ZnVuY3Rpb24gcGEocyl7cmV0dXJuIHUoKT09PTI2fHx3YSgpfHxXcih1KCkpfHx1KCk9PT02MHx8YWkoIXMpfWZ1bmN0aW9uIFpzKHMpe2xldCBwPUxpKEUuUHJpdmF0ZV9pZGVudGlmaWVyc19jYW5ub3RfYmVfdXNlZF9hc19wYXJhbWV0ZXJzKTtyZXR1cm4gYTIocCk9PT0wJiYhSHQocykmJldyKHUoKSkmJlUoKSxwfWZ1bmN0aW9uIGVvKCl7cmV0dXJuIEZlKCl8fHUoKT09PTIzfHx1KCk9PT0xOX1mdW5jdGlvbiB1XyhzKXtyZXR1cm4gcF8ocyl9ZnVuY3Rpb24gdG8ocyl7cmV0dXJuIHBfKHMsITEpfWZ1bmN0aW9uIHBfKHMscD0hMCl7bGV0IGQ9SigpLGI9cWUoKSxTPXM/UigoKT0+d24oITApKTokKCgpPT53bighMCkpO2lmKHUoKT09PTExMCl7bGV0IFo9aC5jcmVhdGVQYXJhbWV0ZXJEZWNsYXJhdGlvbihTLHZvaWQgMCxvcighMCksdm9pZCAwLGdyKCksdm9pZCAwKSxlZT1IcChTKTtyZXR1cm4gZWUmJmxuKGVlLEUuTmVpdGhlcl9kZWNvcmF0b3JzX25vcl9tb2RpZmllcnNfbWF5X2JlX2FwcGxpZWRfdG9fdGhpc19wYXJhbWV0ZXJzKSxDZShEKFosZCksYil9bGV0IE49QnQ7QnQ9ITE7bGV0IFg9ZnQoMjYpO2lmKCFwJiYhZW8oKSlyZXR1cm47bGV0IF9lPUNlKEQoaC5jcmVhdGVQYXJhbWV0ZXJEZWNsYXJhdGlvbihTLFgsWnMoUyksZnQoNTgpLGdyKCksdnIoKSksZCksYik7cmV0dXJuIEJ0PU4sX2V9ZnVuY3Rpb24gSm4ocyxwKXtpZihubyhzLHApKXJldHVybiBocihtYSl9ZnVuY3Rpb24gbm8ocyxwKXtyZXR1cm4gcz09PTM5PyhqKHMpLCEwKTpKZSg1OSk/ITA6cCYmdSgpPT09Mzk/KEVlKEUuXzBfZXhwZWN0ZWQsaXQoNTkpKSxVKCksITApOiExfWZ1bmN0aW9uIGZfKHMscCl7bGV0IGQ9d2UoKSxiPVllKCk7WGUoISEocyYxKSksc3QoISEocyYyKSk7bGV0IFM9cyYzMj9mbigxNyxjXyk6Zm4oMTYsKCk9PnA/dV8oYik6dG8oYikpO3JldHVybiBYZShkKSxzdChiKSxTfWZ1bmN0aW9uIFhuKHMpe2lmKCFqKDIxKSlyZXR1cm4gbHIoKTtsZXQgcD1mXyhzLCEwKTtyZXR1cm4gaigyMikscH1mdW5jdGlvbiBmYSgpe0plKDI4KXx8UXQoKX1mdW5jdGlvbiBybyhzKXtsZXQgcD1KKCksZD1xZSgpO3M9PT0xODAmJmooMTA1KTtsZXQgYj1kbigpLFM9WG4oNCksTj1Kbig1OSwhMCk7ZmEoKTtsZXQgWD1zPT09MTc5P2guY3JlYXRlQ2FsbFNpZ25hdHVyZShiLFMsTik6aC5jcmVhdGVDb25zdHJ1Y3RTaWduYXR1cmUoYixTLE4pO3JldHVybiBDZShEKFgscCksZCl9ZnVuY3Rpb24gUnIoKXtyZXR1cm4gdSgpPT09MjMmJkcodHUpfWZ1bmN0aW9uIHR1KCl7aWYoVSgpLHUoKT09PTI2fHx1KCk9PT0yNClyZXR1cm4hMDtpZihXcih1KCkpKXtpZihVKCksdmUoKSlyZXR1cm4hMH1lbHNlIGlmKHZlKCkpVSgpO2Vsc2UgcmV0dXJuITE7cmV0dXJuIHUoKT09PTU5fHx1KCk9PT0yOD8hMDp1KCkhPT01OD8hMTooVSgpLHUoKT09PTU5fHx1KCk9PT0yOHx8dSgpPT09MjQpfWZ1bmN0aW9uIGRfKHMscCxkKXtsZXQgYj1McigxNiwoKT0+dV8oITEpLDIzLDI0KSxTPWdyKCk7ZmEoKTtsZXQgTj1oLmNyZWF0ZUluZGV4U2lnbmF0dXJlKGQsYixTKTtyZXR1cm4gQ2UoRChOLHMpLHApfWZ1bmN0aW9uIGlvKHMscCxkKXtsZXQgYj1KcigpLFM9ZnQoNTgpLE47aWYodSgpPT09MjF8fHUoKT09PTMwKXtsZXQgWD1kbigpLF9lPVhuKDQpLFo9Sm4oNTksITApO049aC5jcmVhdGVNZXRob2RTaWduYXR1cmUoZCxiLFMsWCxfZSxaKX1lbHNle2xldCBYPWdyKCk7Tj1oLmNyZWF0ZVByb3BlcnR5U2lnbmF0dXJlKGQsYixTLFgpLHUoKT09PTY0JiYoTi5pbml0aWFsaXplcj12cigpKX1yZXR1cm4gZmEoKSxDZShEKE4scykscCl9ZnVuY3Rpb24gYW8oKXtpZih1KCk9PT0yMXx8dSgpPT09MzB8fHUoKT09PTEzOXx8dSgpPT09MTUzKXJldHVybiEwO2xldCBzPSExO2Zvcig7V3IodSgpKTspcz0hMCxVKCk7cmV0dXJuIHUoKT09PTIzPyEwOih5cigpJiYocz0hMCxVKCkpLHM/dSgpPT09MjF8fHUoKT09PTMwfHx1KCk9PT01OHx8dSgpPT09NTl8fHUoKT09PTI4fHxzcigpOiExKX1mdW5jdGlvbiBQaSgpe2lmKHUoKT09PTIxfHx1KCk9PT0zMClyZXR1cm4gcm8oMTc5KTtpZih1KCk9PT0xMDUmJkcoX28pKXJldHVybiBybygxODApO2xldCBzPUooKSxwPXFlKCksZD13bighMSk7cmV0dXJuIHRpKDEzOSk/cXIocyxwLGQsMTc3LDQpOnRpKDE1Myk/cXIocyxwLGQsMTc4LDQpOlJyKCk/ZF8ocyxwLGQpOmlvKHMscCxkKX1mdW5jdGlvbiBfbygpe3JldHVybiBVKCksdSgpPT09MjF8fHUoKT09PTMwfWZ1bmN0aW9uIHNvKCl7cmV0dXJuIFUoKT09PTI1fWZ1bmN0aW9uIG9vKCl7c3dpdGNoKFUoKSl7Y2FzZSAyMTpjYXNlIDMwOmNhc2UgMjU6cmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gY28oKXtsZXQgcz1KKCk7cmV0dXJuIEQoaC5jcmVhdGVUeXBlTGl0ZXJhbE5vZGUobG8oKSkscyl9ZnVuY3Rpb24gbG8oKXtsZXQgcztyZXR1cm4gaigxOSk/KHM9eG4oNCxQaSksaigyMCkpOnM9bHIoKSxzfWZ1bmN0aW9uIHVvKCl7cmV0dXJuIFUoKSx1KCk9PT00MHx8dSgpPT09NDE/VSgpPT09MTQ4Oih1KCk9PT0xNDgmJlUoKSx1KCk9PT0yMyYmQWkoKSYmVSgpPT09MTAzKX1mdW5jdGlvbiBudSgpe2xldCBzPUooKSxwPWp0KCk7aigxMDMpO2xldCBkPW90KCk7cmV0dXJuIEQoaC5jcmVhdGVUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24odm9pZCAwLHAsZCx2b2lkIDApLHMpfWZ1bmN0aW9uIHBvKCl7bGV0IHM9SigpO2ooMTkpO2xldCBwOyh1KCk9PT0xNDh8fHUoKT09PTQwfHx1KCk9PT00MSkmJihwPVd0KCkscC5raW5kIT09MTQ4JiZqKDE0OCkpLGooMjMpO2xldCBkPW51KCksYj1KZSgxMzApP290KCk6dm9pZCAwO2ooMjQpO2xldCBTOyh1KCk9PT01OHx8dSgpPT09NDB8fHUoKT09PTQxKSYmKFM9V3QoKSxTLmtpbmQhPT01OCYmaig1OCkpO2xldCBOPWdyKCk7UXQoKTtsZXQgWD14big0LFBpKTtyZXR1cm4gaigyMCksRChoLmNyZWF0ZU1hcHBlZFR5cGVOb2RlKHAsZCxiLFMsTixYKSxzKX1mdW5jdGlvbiBmbygpe2xldCBzPUooKTtpZihKZSgyNikpcmV0dXJuIEQoaC5jcmVhdGVSZXN0VHlwZU5vZGUob3QoKSkscyk7bGV0IHA9b3QoKTtpZihhaChwKSYmcC5wb3M9PT1wLnR5cGUucG9zKXtsZXQgZD1oLmNyZWF0ZU9wdGlvbmFsVHlwZU5vZGUocC50eXBlKTtyZXR1cm4geW4oZCxwKSxkLmZsYWdzPXAuZmxhZ3MsZH1yZXR1cm4gcH1mdW5jdGlvbiBtXygpe3JldHVybiBVKCk9PT01OXx8dSgpPT09NTgmJlUoKT09PTU5fWZ1bmN0aW9uIHJ1KCl7cmV0dXJuIHUoKT09PTI2P3d0KFUoKSkmJm1fKCk6d3QodSgpKSYmbV8oKX1mdW5jdGlvbiBtbygpe2lmKEcocnUpKXtsZXQgcz1KKCkscD1xZSgpLGQ9ZnQoMjYpLGI9anQoKSxTPWZ0KDU4KTtqKDU5KTtsZXQgTj1mbygpLFg9aC5jcmVhdGVOYW1lZFR1cGxlTWVtYmVyKGQsYixTLE4pO3JldHVybiBDZShEKFgscykscCl9cmV0dXJuIGZvKCl9ZnVuY3Rpb24gaXUoKXtsZXQgcz1KKCk7cmV0dXJuIEQoaC5jcmVhdGVUdXBsZVR5cGVOb2RlKExyKDIxLG1vLDIzLDI0KSkscyl9ZnVuY3Rpb24gaG8oKXtsZXQgcz1KKCk7aigyMSk7bGV0IHA9b3QoKTtyZXR1cm4gaigyMiksRChoLmNyZWF0ZVBhcmVudGhlc2l6ZWRUeXBlKHApLHMpfWZ1bmN0aW9uIGF1KCl7bGV0IHM7aWYodSgpPT09MTI4KXtsZXQgcD1KKCk7VSgpO2xldCBkPUQoeWUoMTI4KSxwKTtzPUN0KFtkXSxwKX1yZXR1cm4gc31mdW5jdGlvbiBoXygpe2xldCBzPUooKSxwPXFlKCksZD1hdSgpLGI9SmUoMTA1KTtCLmFzc2VydCghZHx8YixcIlBlciBpc1N0YXJ0T2ZGdW5jdGlvbk9yQ29uc3RydWN0b3JUeXBlLCBhIGZ1bmN0aW9uIHR5cGUgY2Fubm90IGhhdmUgbW9kaWZpZXJzLlwiKTtsZXQgUz1kbigpLE49WG4oNCksWD1KbigzOSwhMSksX2U9Yj9oLmNyZWF0ZUNvbnN0cnVjdG9yVHlwZU5vZGUoZCxTLE4sWCk6aC5jcmVhdGVGdW5jdGlvblR5cGVOb2RlKFMsTixYKTtyZXR1cm4gQ2UoRChfZSxzKSxwKX1mdW5jdGlvbiB5bygpe2xldCBzPVd0KCk7cmV0dXJuIHUoKT09PTI1P3ZvaWQgMDpzfWZ1bmN0aW9uIHlfKHMpe2xldCBwPUooKTtzJiZVKCk7bGV0IGQ9dSgpPT09MTEyfHx1KCk9PT05N3x8dSgpPT09MTA2P1d0KCk6cmkodSgpKTtyZXR1cm4gcyYmKGQ9RChoLmNyZWF0ZVByZWZpeFVuYXJ5RXhwcmVzc2lvbig0MSxkKSxwKSksRChoLmNyZWF0ZUxpdGVyYWxUeXBlTm9kZShkKSxwKX1mdW5jdGlvbiBfdSgpe3JldHVybiBVKCksdSgpPT09MTAyfWZ1bmN0aW9uIGdfKCl7dnR8PTQxOTQzMDQ7bGV0IHM9SigpLHA9SmUoMTE0KTtqKDEwMiksaigyMSk7bGV0IGQ9b3QoKSxiO2lmKEplKDI4KSl7bGV0IFg9dC5nZXRUb2tlblN0YXJ0KCk7aigxOSk7bGV0IF9lPXUoKTtpZihfZT09PTExOHx8X2U9PT0xMzI/VSgpOkVlKEUuXzBfZXhwZWN0ZWQsaXQoMTE4KSksaig1OSksYj1ZXyhfZSwhMCksIWooMjApKXtsZXQgWj1HaShfdCk7WiYmWi5jb2RlPT09RS5fMF9leHBlY3RlZC5jb2RlJiZubChaLE9hKE10LFFlLFgsMSxFLlRoZV9wYXJzZXJfZXhwZWN0ZWRfdG9fZmluZF9hXzFfdG9fbWF0Y2hfdGhlXzBfdG9rZW5faGVyZSxcIntcIixcIn1cIikpfX1qKDIyKTtsZXQgUz1KZSgyNSk/aWkoKTp2b2lkIDAsTj1IcygpO3JldHVybiBEKGguY3JlYXRlSW1wb3J0VHlwZU5vZGUoZCxiLFMsTixwKSxzKX1mdW5jdGlvbiBnbygpe3JldHVybiBVKCksdSgpPT09OXx8dSgpPT09MTB9ZnVuY3Rpb24gYl8oKXtzd2l0Y2godSgpKXtjYXNlIDEzMzpjYXNlIDE1OTpjYXNlIDE1NDpjYXNlIDE1MDpjYXNlIDE2MzpjYXNlIDE1NTpjYXNlIDEzNjpjYXNlIDE1NzpjYXNlIDE0NjpjYXNlIDE1MTpyZXR1cm4gbGUoeW8pfHx1YSgpO2Nhc2UgNjc6dC5yZVNjYW5Bc3Rlcmlza0VxdWFsc1Rva2VuKCk7Y2FzZSA0MjpyZXR1cm4gWmwoKTtjYXNlIDYxOnQucmVTY2FuUXVlc3Rpb25Ub2tlbigpO2Nhc2UgNTg6cmV0dXJuIGV1KCk7Y2FzZSAxMDA6cmV0dXJuICRzKCk7Y2FzZSA1NDpyZXR1cm4gWHMoKTtjYXNlIDE1OmNhc2UgMTE6Y2FzZSA5OmNhc2UgMTA6Y2FzZSAxMTI6Y2FzZSA5NzpjYXNlIDEwNjpyZXR1cm4geV8oKTtjYXNlIDQxOnJldHVybiBHKGdvKT95XyghMCk6dWEoKTtjYXNlIDExNjpyZXR1cm4gV3QoKTtjYXNlIDExMDp7bGV0IHM9b18oKTtyZXR1cm4gdSgpPT09MTQyJiYhdC5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKT9LbChzKTpzfWNhc2UgMTE0OnJldHVybiBHKF91KT9nXygpOlFzKCk7Y2FzZSAxOTpyZXR1cm4gRyh1byk/cG8oKTpjbygpO2Nhc2UgMjM6cmV0dXJuIGl1KCk7Y2FzZSAyMTpyZXR1cm4gaG8oKTtjYXNlIDEwMjpyZXR1cm4gZ18oKTtjYXNlIDEzMTpyZXR1cm4gRyhNXyk/Q28oKTp1YSgpO2Nhc2UgMTY6cmV0dXJuIEZzKCk7ZGVmYXVsdDpyZXR1cm4gdWEoKX19ZnVuY3Rpb24gYWkocyl7c3dpdGNoKHUoKSl7Y2FzZSAxMzM6Y2FzZSAxNTk6Y2FzZSAxNTQ6Y2FzZSAxNTA6Y2FzZSAxNjM6Y2FzZSAxMzY6Y2FzZSAxNDg6Y2FzZSAxNTU6Y2FzZSAxNTg6Y2FzZSAxMTY6Y2FzZSAxNTc6Y2FzZSAxMDY6Y2FzZSAxMTA6Y2FzZSAxMTQ6Y2FzZSAxNDY6Y2FzZSAxOTpjYXNlIDIzOmNhc2UgMzA6Y2FzZSA1MjpjYXNlIDUxOmNhc2UgMTA1OmNhc2UgMTE6Y2FzZSA5OmNhc2UgMTA6Y2FzZSAxMTI6Y2FzZSA5NzpjYXNlIDE1MTpjYXNlIDQyOmNhc2UgNTg6Y2FzZSA1NDpjYXNlIDI2OmNhc2UgMTQwOmNhc2UgMTAyOmNhc2UgMTMxOmNhc2UgMTU6Y2FzZSAxNjpyZXR1cm4hMDtjYXNlIDEwMDpyZXR1cm4hcztjYXNlIDQxOnJldHVybiFzJiZHKGdvKTtjYXNlIDIxOnJldHVybiFzJiZHKGJvKTtkZWZhdWx0OnJldHVybiB2ZSgpfX1mdW5jdGlvbiBibygpe3JldHVybiBVKCksdSgpPT09MjJ8fHBhKCExKXx8YWkoKX1mdW5jdGlvbiB2bygpe2xldCBzPUooKSxwPWJfKCk7Zm9yKDshdC5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKTspc3dpdGNoKHUoKSl7Y2FzZSA1NDpVKCkscD1EKGguY3JlYXRlSlNEb2NOb25OdWxsYWJsZVR5cGUocCwhMCkscyk7YnJlYWs7Y2FzZSA1ODppZihHKENpKSlyZXR1cm4gcDtVKCkscD1EKGguY3JlYXRlSlNEb2NOdWxsYWJsZVR5cGUocCwhMCkscyk7YnJlYWs7Y2FzZSAyMzppZihqKDIzKSxhaSgpKXtsZXQgZD1vdCgpO2ooMjQpLHA9RChoLmNyZWF0ZUluZGV4ZWRBY2Nlc3NUeXBlTm9kZShwLGQpLHMpfWVsc2UgaigyNCkscD1EKGguY3JlYXRlQXJyYXlUeXBlTm9kZShwKSxzKTticmVhaztkZWZhdWx0OnJldHVybiBwfXJldHVybiBwfWZ1bmN0aW9uIFRvKHMpe2xldCBwPUooKTtyZXR1cm4gaihzKSxEKGguY3JlYXRlVHlwZU9wZXJhdG9yTm9kZShzLFNvKCkpLHApfWZ1bmN0aW9uIHN1KCl7aWYoSmUoOTYpKXtsZXQgcz1NbihvdCk7aWYoV2UoKXx8dSgpIT09NTgpcmV0dXJuIHN9fWZ1bmN0aW9uIHhvKCl7bGV0IHM9SigpLHA9U3QoKSxkPWxlKHN1KSxiPWguY3JlYXRlVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uKHZvaWQgMCxwLGQpO3JldHVybiBEKGIscyl9ZnVuY3Rpb24gb3UoKXtsZXQgcz1KKCk7cmV0dXJuIGooMTQwKSxEKGguY3JlYXRlSW5mZXJUeXBlTm9kZSh4bygpKSxzKX1mdW5jdGlvbiBTbygpe2xldCBzPXUoKTtzd2l0Y2gocyl7Y2FzZSAxNDM6Y2FzZSAxNTg6Y2FzZSAxNDg6cmV0dXJuIFRvKHMpO2Nhc2UgMTQwOnJldHVybiBvdSgpfXJldHVybiBocih2byl9ZnVuY3Rpb24gZGEocyl7aWYoVF8oKSl7bGV0IHA9aF8oKSxkO3JldHVybiBQZihwKT9kPXM/RS5GdW5jdGlvbl90eXBlX25vdGF0aW9uX211c3RfYmVfcGFyZW50aGVzaXplZF93aGVuX3VzZWRfaW5fYV91bmlvbl90eXBlOkUuRnVuY3Rpb25fdHlwZV9ub3RhdGlvbl9tdXN0X2JlX3BhcmVudGhlc2l6ZWRfd2hlbl91c2VkX2luX2FuX2ludGVyc2VjdGlvbl90eXBlOmQ9cz9FLkNvbnN0cnVjdG9yX3R5cGVfbm90YXRpb25fbXVzdF9iZV9wYXJlbnRoZXNpemVkX3doZW5fdXNlZF9pbl9hX3VuaW9uX3R5cGU6RS5Db25zdHJ1Y3Rvcl90eXBlX25vdGF0aW9uX211c3RfYmVfcGFyZW50aGVzaXplZF93aGVuX3VzZWRfaW5fYW5faW50ZXJzZWN0aW9uX3R5cGUsbG4ocCxkKSxwfX1mdW5jdGlvbiB3byhzLHAsZCl7bGV0IGI9SigpLFM9cz09PTUyLE49SmUocyksWD1OJiZkYShTKXx8cCgpO2lmKHUoKT09PXN8fE4pe2xldCBfZT1bWF07Zm9yKDtKZShzKTspX2UucHVzaChkYShTKXx8cCgpKTtYPUQoZChDdChfZSxiKSksYil9cmV0dXJuIFh9ZnVuY3Rpb24gdl8oKXtyZXR1cm4gd28oNTEsU28saC5jcmVhdGVJbnRlcnNlY3Rpb25UeXBlTm9kZSl9ZnVuY3Rpb24gY3UoKXtyZXR1cm4gd28oNTIsdl8saC5jcmVhdGVVbmlvblR5cGVOb2RlKX1mdW5jdGlvbiBrbygpe3JldHVybiBVKCksdSgpPT09MTA1fWZ1bmN0aW9uIFRfKCl7cmV0dXJuIHUoKT09PTMwfHx1KCk9PT0yMSYmRyhFbyk/ITA6dSgpPT09MTA1fHx1KCk9PT0xMjgmJkcoa28pfWZ1bmN0aW9uIGx1KCl7aWYoV3IodSgpKSYmd24oITEpLHZlKCl8fHUoKT09PTExMClyZXR1cm4gVSgpLCEwO2lmKHUoKT09PTIzfHx1KCk9PT0xOSl7bGV0IHM9X3QubGVuZ3RoO3JldHVybiBMaSgpLHM9PT1fdC5sZW5ndGh9cmV0dXJuITF9ZnVuY3Rpb24gRW8oKXtyZXR1cm4gVSgpLCEhKHUoKT09PTIyfHx1KCk9PT0yNnx8bHUoKSYmKHUoKT09PTU5fHx1KCk9PT0yOHx8dSgpPT09NTh8fHUoKT09PTY0fHx1KCk9PT0yMiYmKFUoKSx1KCk9PT0zOSkpKX1mdW5jdGlvbiBtYSgpe2xldCBzPUooKSxwPXZlKCkmJmxlKEFvKSxkPW90KCk7cmV0dXJuIHA/RChoLmNyZWF0ZVR5cGVQcmVkaWNhdGVOb2RlKHZvaWQgMCxwLGQpLHMpOmR9ZnVuY3Rpb24gQW8oKXtsZXQgcz1TdCgpO2lmKHUoKT09PTE0MiYmIXQuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpcmV0dXJuIFUoKSxzfWZ1bmN0aW9uIENvKCl7bGV0IHM9SigpLHA9WW4oMTMxKSxkPXUoKT09PTExMD9vXygpOlN0KCksYj1KZSgxNDIpP290KCk6dm9pZCAwO3JldHVybiBEKGguY3JlYXRlVHlwZVByZWRpY2F0ZU5vZGUocCxkLGIpLHMpfWZ1bmN0aW9uIG90KCl7aWYobnQmODE5MjApcmV0dXJuIER0KDgxOTIwLG90KTtpZihUXygpKXJldHVybiBoXygpO2xldCBzPUooKSxwPWN1KCk7aWYoIVdlKCkmJiF0Lmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpJiZKZSg5Nikpe2xldCBkPU1uKG90KTtqKDU4KTtsZXQgYj1ocihvdCk7aig1OSk7bGV0IFM9aHIob3QpO3JldHVybiBEKGguY3JlYXRlQ29uZGl0aW9uYWxUeXBlTm9kZShwLGQsYixTKSxzKX1yZXR1cm4gcH1mdW5jdGlvbiBncigpe3JldHVybiBKZSg1OSk/b3QoKTp2b2lkIDB9ZnVuY3Rpb24geF8oKXtzd2l0Y2godSgpKXtjYXNlIDExMDpjYXNlIDEwODpjYXNlIDEwNjpjYXNlIDExMjpjYXNlIDk3OmNhc2UgOTpjYXNlIDEwOmNhc2UgMTE6Y2FzZSAxNTpjYXNlIDE2OmNhc2UgMjE6Y2FzZSAyMzpjYXNlIDE5OmNhc2UgMTAwOmNhc2UgODY6Y2FzZSAxMDU6Y2FzZSA0NDpjYXNlIDY5OmNhc2UgODA6cmV0dXJuITA7Y2FzZSAxMDI6cmV0dXJuIEcob28pO2RlZmF1bHQ6cmV0dXJuIHZlKCl9fWZ1bmN0aW9uIGJyKCl7aWYoeF8oKSlyZXR1cm4hMDtzd2l0Y2godSgpKXtjYXNlIDQwOmNhc2UgNDE6Y2FzZSA1NTpjYXNlIDU0OmNhc2UgOTE6Y2FzZSAxMTQ6Y2FzZSAxMTY6Y2FzZSA0NjpjYXNlIDQ3OmNhc2UgMzA6Y2FzZSAxMzU6Y2FzZSAxMjc6Y2FzZSA4MTpjYXNlIDYwOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuIEJvKCk/ITA6dmUoKX19ZnVuY3Rpb24gRG8oKXtyZXR1cm4gdSgpIT09MTkmJnUoKSE9PTEwMCYmdSgpIT09ODYmJnUoKSE9PTYwJiZicigpfWZ1bmN0aW9uIEV0KCl7bGV0IHM9WmUoKTtzJiZLZSghMSk7bGV0IHA9SigpLGQ9enQoITApLGI7Zm9yKDtiPWZ0KDI4KTspZD1rXyhkLGIsenQoITApLHApO3JldHVybiBzJiZLZSghMCksZH1mdW5jdGlvbiB2cigpe3JldHVybiBKZSg2NCk/enQoITApOnZvaWQgMH1mdW5jdGlvbiB6dChzKXtpZihQbygpKXJldHVybiBObygpO2xldCBwPXB1KHMpfHxMbyhzKTtpZihwKXJldHVybiBwO2xldCBkPUooKSxiPXFlKCksUz1OaSgwKTtyZXR1cm4gUy5raW5kPT09ODAmJnUoKT09PTM5P0lvKGQsUyxzLGIsdm9pZCAwKTpxYShTKSYmUzEoVmUoKSk/a18oUyxXdCgpLHp0KHMpLGQpOmZ1KFMsZCxzKX1mdW5jdGlvbiBQbygpe3JldHVybiB1KCk9PT0xMjc/d2UoKT8hMDpHKEpfKTohMX1mdW5jdGlvbiB1dSgpe3JldHVybiBVKCksIXQuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkmJnZlKCl9ZnVuY3Rpb24gTm8oKXtsZXQgcz1KKCk7cmV0dXJuIFUoKSwhdC5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSYmKHUoKT09PTQyfHxicigpKT9EKGguY3JlYXRlWWllbGRFeHByZXNzaW9uKGZ0KDQyKSx6dCghMCkpLHMpOkQoaC5jcmVhdGVZaWVsZEV4cHJlc3Npb24odm9pZCAwLHZvaWQgMCkscyl9ZnVuY3Rpb24gSW8ocyxwLGQsYixTKXtCLmFzc2VydCh1KCk9PT0zOSxcInBhcnNlU2ltcGxlQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24gc2hvdWxkIG9ubHkgaGF2ZSBiZWVuIGNhbGxlZCBpZiB3ZSBoYWQgYSA9PlwiKTtsZXQgTj1oLmNyZWF0ZVBhcmFtZXRlckRlY2xhcmF0aW9uKHZvaWQgMCx2b2lkIDAscCx2b2lkIDAsdm9pZCAwLHZvaWQgMCk7RChOLHAucG9zKTtsZXQgWD1DdChbTl0sTi5wb3MsTi5lbmQpLF9lPVluKDM5KSxaPVNfKCEhUyxkKSxlZT1oLmNyZWF0ZUFycm93RnVuY3Rpb24oUyx2b2lkIDAsWCx2b2lkIDAsX2UsWik7cmV0dXJuIENlKEQoZWUscyksYil9ZnVuY3Rpb24gcHUocyl7bGV0IHA9T28oKTtpZihwIT09MClyZXR1cm4gcD09PTE/Um8oITAsITApOmxlKCgpPT5KbyhzKSl9ZnVuY3Rpb24gT28oKXtyZXR1cm4gdSgpPT09MjF8fHUoKT09PTMwfHx1KCk9PT0xMzQ/RyhNbyk6dSgpPT09Mzk/MTowfWZ1bmN0aW9uIE1vKCl7aWYodSgpPT09MTM0JiYoVSgpLHQuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCl8fHUoKSE9PTIxJiZ1KCkhPT0zMCkpcmV0dXJuIDA7bGV0IHM9dSgpLHA9VSgpO2lmKHM9PT0yMSl7aWYocD09PTIyKXN3aXRjaChVKCkpe2Nhc2UgMzk6Y2FzZSA1OTpjYXNlIDE5OnJldHVybiAxO2RlZmF1bHQ6cmV0dXJuIDB9aWYocD09PTIzfHxwPT09MTkpcmV0dXJuIDI7aWYocD09PTI2KXJldHVybiAxO2lmKFdyKHApJiZwIT09MTM0JiZHKEFpKSlyZXR1cm4gVSgpPT09MTMwPzA6MTtpZighdmUoKSYmcCE9PTExMClyZXR1cm4gMDtzd2l0Y2goVSgpKXtjYXNlIDU5OnJldHVybiAxO2Nhc2UgNTg6cmV0dXJuIFUoKSx1KCk9PT01OXx8dSgpPT09Mjh8fHUoKT09PTY0fHx1KCk9PT0yMj8xOjA7Y2FzZSAyODpjYXNlIDY0OmNhc2UgMjI6cmV0dXJuIDJ9cmV0dXJuIDB9ZWxzZSByZXR1cm4gQi5hc3NlcnQocz09PTMwKSwhdmUoKSYmdSgpIT09ODc/MDpjdD09PTE/RygoKT0+e0plKDg3KTtsZXQgYj1VKCk7aWYoYj09PTk2KXN3aXRjaChVKCkpe2Nhc2UgNjQ6Y2FzZSAzMjpjYXNlIDQ0OnJldHVybiExO2RlZmF1bHQ6cmV0dXJuITB9ZWxzZSBpZihiPT09Mjh8fGI9PT02NClyZXR1cm4hMDtyZXR1cm4hMX0pPzE6MDoyfWZ1bmN0aW9uIEpvKHMpe2xldCBwPXQuZ2V0VG9rZW5TdGFydCgpO2lmKGNuIT1udWxsJiZjbi5oYXMocCkpcmV0dXJuO2xldCBkPVJvKCExLHMpO3JldHVybiBkfHwoY258fChjbj1uZXcgU2V0KSkuYWRkKHApLGR9ZnVuY3Rpb24gTG8ocyl7aWYodSgpPT09MTM0JiZHKGpvKT09PTEpe2xldCBwPUooKSxkPXFlKCksYj1KYygpLFM9TmkoMCk7cmV0dXJuIElvKHAsUyxzLGQsYil9fWZ1bmN0aW9uIGpvKCl7aWYodSgpPT09MTM0KXtpZihVKCksdC5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKXx8dSgpPT09MzkpcmV0dXJuIDA7bGV0IHM9TmkoMCk7aWYoIXQuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkmJnMua2luZD09PTgwJiZ1KCk9PT0zOSlyZXR1cm4gMX1yZXR1cm4gMH1mdW5jdGlvbiBSbyhzLHApe2xldCBkPUooKSxiPXFlKCksUz1KYygpLE49SHQoUyxhbCk/MjowLFg9ZG4oKSxfZTtpZihqKDIxKSl7aWYocylfZT1mXyhOLHMpO2Vsc2V7bGV0IFp0PWZfKE4scyk7aWYoIVp0KXJldHVybjtfZT1adH1pZighaigyMikmJiFzKXJldHVybn1lbHNle2lmKCFzKXJldHVybjtfZT1scigpfWxldCBaPXUoKT09PTU5LGVlPUpuKDU5LCExKTtpZihlZSYmIXMmJnNfKGVlKSlyZXR1cm47bGV0IGNlPWVlO2Zvcig7KGNlPT1udWxsP3ZvaWQgMDpjZS5raW5kKT09PTE5NjspY2U9Y2UudHlwZTtsZXQgTGU9Y2UmJl9oKGNlKTtpZighcyYmdSgpIT09MzkmJihMZXx8dSgpIT09MTkpKXJldHVybjtsZXQgamU9dSgpLEFlPVluKDM5KSxZdD1qZT09PTM5fHxqZT09PTE5P1NfKEh0KFMsYWwpLHApOlN0KCk7aWYoIXAmJlomJnUoKSE9PTU5KXJldHVybjtsZXQgbW49aC5jcmVhdGVBcnJvd0Z1bmN0aW9uKFMsWCxfZSxlZSxBZSxZdCk7cmV0dXJuIENlKEQobW4sZCksYil9ZnVuY3Rpb24gU18ocyxwKXtpZih1KCk9PT0xOSlyZXR1cm4gdmEocz8yOjApO2lmKHUoKSE9PTI3JiZ1KCkhPT0xMDAmJnUoKSE9PTg2JiZ2YygpJiYhRG8oKSlyZXR1cm4gdmEoMTZ8KHM/MjowKSk7bGV0IGQ9QnQ7QnQ9ITE7bGV0IGI9cz9SKCgpPT56dChwKSk6JCgoKT0+enQocCkpO3JldHVybiBCdD1kLGJ9ZnVuY3Rpb24gZnUocyxwLGQpe2xldCBiPWZ0KDU4KTtpZighYilyZXR1cm4gcztsZXQgUztyZXR1cm4gRChoLmNyZWF0ZUNvbmRpdGlvbmFsRXhwcmVzc2lvbihzLGIsRHQoYSwoKT0+enQoITEpKSxTPVluKDU5KSxScChTKT96dChkKTpHdCg4MCwhMSxFLl8wX2V4cGVjdGVkLGl0KDU5KSkpLHApfWZ1bmN0aW9uIE5pKHMpe2xldCBwPUooKSxkPVlvKCk7cmV0dXJuIHdfKHMsZCxwKX1mdW5jdGlvbiBVbyhzKXtyZXR1cm4gcz09PTEwM3x8cz09PTE2NX1mdW5jdGlvbiB3XyhzLHAsZCl7Zm9yKDs7KXtWZSgpO2xldCBiPVNwKHUoKSk7aWYoISh1KCk9PT00Mz9iPj1zOmI+cyl8fHUoKT09PTEwMyYmYmUoKSlicmVhaztpZih1KCk9PT0xMzB8fHUoKT09PTE1Mil7aWYodC5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSlicmVhazt7bGV0IE49dSgpO1UoKSxwPU49PT0xNTI/cW8ocCxvdCgpKTp6byhwLG90KCkpfX1lbHNlIHA9a18ocCxXdCgpLE5pKGIpLGQpfXJldHVybiBwfWZ1bmN0aW9uIEJvKCl7cmV0dXJuIGJlKCkmJnUoKT09PTEwMz8hMTpTcCh1KCkpPjB9ZnVuY3Rpb24gcW8ocyxwKXtyZXR1cm4gRChoLmNyZWF0ZVNhdGlzZmllc0V4cHJlc3Npb24ocyxwKSxzLnBvcyl9ZnVuY3Rpb24ga18ocyxwLGQsYil7cmV0dXJuIEQoaC5jcmVhdGVCaW5hcnlFeHByZXNzaW9uKHMscCxkKSxiKX1mdW5jdGlvbiB6byhzLHApe3JldHVybiBEKGguY3JlYXRlQXNFeHByZXNzaW9uKHMscCkscy5wb3MpfWZ1bmN0aW9uIEZvKCl7bGV0IHM9SigpO3JldHVybiBEKGguY3JlYXRlUHJlZml4VW5hcnlFeHByZXNzaW9uKHUoKSxNZShUcikpLHMpfWZ1bmN0aW9uIFZvKCl7bGV0IHM9SigpO3JldHVybiBEKGguY3JlYXRlRGVsZXRlRXhwcmVzc2lvbihNZShUcikpLHMpfWZ1bmN0aW9uIGR1KCl7bGV0IHM9SigpO3JldHVybiBEKGguY3JlYXRlVHlwZU9mRXhwcmVzc2lvbihNZShUcikpLHMpfWZ1bmN0aW9uIFdvKCl7bGV0IHM9SigpO3JldHVybiBEKGguY3JlYXRlVm9pZEV4cHJlc3Npb24oTWUoVHIpKSxzKX1mdW5jdGlvbiBtdSgpe3JldHVybiB1KCk9PT0xMzU/WWUoKT8hMDpHKEpfKTohMX1mdW5jdGlvbiBHbygpe2xldCBzPUooKTtyZXR1cm4gRChoLmNyZWF0ZUF3YWl0RXhwcmVzc2lvbihNZShUcikpLHMpfWZ1bmN0aW9uIFlvKCl7aWYoaHUoKSl7bGV0IGQ9SigpLGI9aGEoKTtyZXR1cm4gdSgpPT09NDM/d18oU3AodSgpKSxiLGQpOmJ9bGV0IHM9dSgpLHA9VHIoKTtpZih1KCk9PT00Myl7bGV0IGQ9QXIoUWUscC5wb3MpLHtlbmQ6Yn09cDtwLmtpbmQ9PT0yMTY/cnQoZCxiLEUuQV90eXBlX2Fzc2VydGlvbl9leHByZXNzaW9uX2lzX25vdF9hbGxvd2VkX2luX3RoZV9sZWZ0X2hhbmRfc2lkZV9vZl9hbl9leHBvbmVudGlhdGlvbl9leHByZXNzaW9uX0NvbnNpZGVyX2VuY2xvc2luZ190aGVfZXhwcmVzc2lvbl9pbl9wYXJlbnRoZXNlcyk6KEIuYXNzZXJ0KHhwKHMpKSxydChkLGIsRS5Bbl91bmFyeV9leHByZXNzaW9uX3dpdGhfdGhlXzBfb3BlcmF0b3JfaXNfbm90X2FsbG93ZWRfaW5fdGhlX2xlZnRfaGFuZF9zaWRlX29mX2FuX2V4cG9uZW50aWF0aW9uX2V4cHJlc3Npb25fQ29uc2lkZXJfZW5jbG9zaW5nX3RoZV9leHByZXNzaW9uX2luX3BhcmVudGhlc2VzLGl0KHMpKSl9cmV0dXJuIHB9ZnVuY3Rpb24gVHIoKXtzd2l0Y2godSgpKXtjYXNlIDQwOmNhc2UgNDE6Y2FzZSA1NTpjYXNlIDU0OnJldHVybiBGbygpO2Nhc2UgOTE6cmV0dXJuIFZvKCk7Y2FzZSAxMTQ6cmV0dXJuIGR1KCk7Y2FzZSAxMTY6cmV0dXJuIFdvKCk7Y2FzZSAzMDpyZXR1cm4gY3Q9PT0xP09pKCEwLHZvaWQgMCx2b2lkIDAsITApOktvKCk7Y2FzZSAxMzU6aWYobXUoKSlyZXR1cm4gR28oKTtkZWZhdWx0OnJldHVybiBoYSgpfX1mdW5jdGlvbiBodSgpe3N3aXRjaCh1KCkpe2Nhc2UgNDA6Y2FzZSA0MTpjYXNlIDU1OmNhc2UgNTQ6Y2FzZSA5MTpjYXNlIDExNDpjYXNlIDExNjpjYXNlIDEzNTpyZXR1cm4hMTtjYXNlIDMwOmlmKGN0IT09MSlyZXR1cm4hMTtkZWZhdWx0OnJldHVybiEwfX1mdW5jdGlvbiBoYSgpe2lmKHUoKT09PTQ2fHx1KCk9PT00Nyl7bGV0IHA9SigpO3JldHVybiBEKGguY3JlYXRlUHJlZml4VW5hcnlFeHByZXNzaW9uKHUoKSxNZShJaSkpLHApfWVsc2UgaWYoY3Q9PT0xJiZ1KCk9PT0zMCYmRyhOcykpcmV0dXJuIE9pKCEwKTtsZXQgcz1JaSgpO2lmKEIuYXNzZXJ0KHFhKHMpKSwodSgpPT09NDZ8fHUoKT09PTQ3KSYmIXQuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpe2xldCBwPXUoKTtyZXR1cm4gVSgpLEQoaC5jcmVhdGVQb3N0Zml4VW5hcnlFeHByZXNzaW9uKHMscCkscy5wb3MpfXJldHVybiBzfWZ1bmN0aW9uIElpKCl7bGV0IHM9SigpLHA7cmV0dXJuIHUoKT09PTEwMj9HKF9vKT8odnR8PTQxOTQzMDQscD1XdCgpKTpHKHNvKT8oVSgpLFUoKSxwPUQoaC5jcmVhdGVNZXRhUHJvcGVydHkoMTAyLGp0KCkpLHMpLHZ0fD04Mzg4NjA4KTpwPXlhKCk6cD11KCk9PT0xMDg/SG8oKTp5YSgpLFBfKHMscCl9ZnVuY3Rpb24geWEoKXtsZXQgcz1KKCkscD1OXygpO3JldHVybiBfbihzLHAsITApfWZ1bmN0aW9uIEhvKCl7bGV0IHM9SigpLHA9V3QoKTtpZih1KCk9PT0zMCl7bGV0IGQ9SigpLGI9bGUoYmEpO2IhPT12b2lkIDAmJihydChkLEooKSxFLnN1cGVyX21heV9ub3RfdXNlX3R5cGVfYXJndW1lbnRzKSxTbigpfHwocD1oLmNyZWF0ZUV4cHJlc3Npb25XaXRoVHlwZUFyZ3VtZW50cyhwLGIpKSl9cmV0dXJuIHUoKT09PTIxfHx1KCk9PT0yNXx8dSgpPT09MjM/cDooWW4oMjUsRS5zdXBlcl9tdXN0X2JlX2ZvbGxvd2VkX2J5X2FuX2FyZ3VtZW50X2xpc3Rfb3JfbWVtYmVyX2FjY2VzcyksRChhZShwLG5pKCEwLCEwLCEwKSkscykpfWZ1bmN0aW9uIE9pKHMscCxkLGI9ITEpe2xldCBTPUooKSxOPWJ1KHMpLFg7aWYoTi5raW5kPT09Mjg2KXtsZXQgX2U9Z2EoTiksWixlZT1fZVtfZS5sZW5ndGgtMV07aWYoKGVlPT1udWxsP3ZvaWQgMDplZS5raW5kKT09PTI4NCYmIXBpKGVlLm9wZW5pbmdFbGVtZW50LnRhZ05hbWUsZWUuY2xvc2luZ0VsZW1lbnQudGFnTmFtZSkmJnBpKE4udGFnTmFtZSxlZS5jbG9zaW5nRWxlbWVudC50YWdOYW1lKSl7bGV0IGNlPWVlLmNoaWxkcmVuLmVuZCxMZT1EKGguY3JlYXRlSnN4RWxlbWVudChlZS5vcGVuaW5nRWxlbWVudCxlZS5jaGlsZHJlbixEKGguY3JlYXRlSnN4Q2xvc2luZ0VsZW1lbnQoRChyZShcIlwiKSxjZSxjZSkpLGNlLGNlKSksZWUub3BlbmluZ0VsZW1lbnQucG9zLGNlKTtfZT1DdChbLi4uX2Uuc2xpY2UoMCxfZS5sZW5ndGgtMSksTGVdLF9lLnBvcyxjZSksWj1lZS5jbG9zaW5nRWxlbWVudH1lbHNlIFo9UW8oTixzKSxwaShOLnRhZ05hbWUsWi50YWdOYW1lKXx8KGQmJnpwKGQpJiZwaShaLnRhZ05hbWUsZC50YWdOYW1lKT9sbihOLnRhZ05hbWUsRS5KU1hfZWxlbWVudF8wX2hhc19ub19jb3JyZXNwb25kaW5nX2Nsb3NpbmdfdGFnLGlzKFFlLE4udGFnTmFtZSkpOmxuKFoudGFnTmFtZSxFLkV4cGVjdGVkX2NvcnJlc3BvbmRpbmdfSlNYX2Nsb3NpbmdfdGFnX2Zvcl8wLGlzKFFlLE4udGFnTmFtZSkpKTtYPUQoaC5jcmVhdGVKc3hFbGVtZW50KE4sX2UsWiksUyl9ZWxzZSBOLmtpbmQ9PT0yODk/WD1EKGguY3JlYXRlSnN4RnJhZ21lbnQoTixnYShOKSxTdShzKSksUyk6KEIuYXNzZXJ0KE4ua2luZD09PTI4NSksWD1OKTtpZighYiYmcyYmdSgpPT09MzApe2xldCBfZT10eXBlb2YgcD5cInVcIj9YLnBvczpwLFo9bGUoKCk9Pk9pKCEwLF9lKSk7aWYoWil7bGV0IGVlPUd0KDI4LCExKTtyZXR1cm4gWWQoZWUsWi5wb3MsMCkscnQoQXIoUWUsX2UpLFouZW5kLEUuSlNYX2V4cHJlc3Npb25zX211c3RfaGF2ZV9vbmVfcGFyZW50X2VsZW1lbnQpLEQoaC5jcmVhdGVCaW5hcnlFeHByZXNzaW9uKFgsZWUsWiksUyl9fXJldHVybiBYfWZ1bmN0aW9uIEVfKCl7bGV0IHM9SigpLHA9aC5jcmVhdGVKc3hUZXh0KHQuZ2V0VG9rZW5WYWx1ZSgpLGx0PT09MTMpO3JldHVybiBsdD10LnNjYW5Kc3hUb2tlbigpLEQocCxzKX1mdW5jdGlvbiB5dShzLHApe3N3aXRjaChwKXtjYXNlIDE6aWYodDYocykpbG4ocyxFLkpTWF9mcmFnbWVudF9oYXNfbm9fY29ycmVzcG9uZGluZ19jbG9zaW5nX3RhZyk7ZWxzZXtsZXQgZD1zLnRhZ05hbWUsYj1NYXRoLm1pbihBcihRZSxkLnBvcyksZC5lbmQpO3J0KGIsZC5lbmQsRS5KU1hfZWxlbWVudF8wX2hhc19ub19jb3JyZXNwb25kaW5nX2Nsb3NpbmdfdGFnLGlzKFFlLHMudGFnTmFtZSkpfXJldHVybjtjYXNlIDMxOmNhc2UgNzpyZXR1cm47Y2FzZSAxMjpjYXNlIDEzOnJldHVybiBFXygpO2Nhc2UgMTk6cmV0dXJuIFhvKCExKTtjYXNlIDMwOnJldHVybiBPaSghMSx2b2lkIDAscyk7ZGVmYXVsdDpyZXR1cm4gQi5hc3NlcnROZXZlcihwKX19ZnVuY3Rpb24gZ2Eocyl7bGV0IHA9W10sZD1KKCksYj15dDtmb3IoeXR8PTE2Mzg0Ozspe2xldCBTPXl1KHMsbHQ9dC5yZVNjYW5Kc3hUb2tlbigpKTtpZighU3x8KHAucHVzaChTKSx6cChzKSYmKFM9PW51bGw/dm9pZCAwOlMua2luZCk9PT0yODQmJiFwaShTLm9wZW5pbmdFbGVtZW50LnRhZ05hbWUsUy5jbG9zaW5nRWxlbWVudC50YWdOYW1lKSYmcGkocy50YWdOYW1lLFMuY2xvc2luZ0VsZW1lbnQudGFnTmFtZSkpKWJyZWFrfXJldHVybiB5dD1iLEN0KHAsZCl9ZnVuY3Rpb24gZ3UoKXtsZXQgcz1KKCk7cmV0dXJuIEQoaC5jcmVhdGVKc3hBdHRyaWJ1dGVzKHhuKDEzLCRvKSkscyl9ZnVuY3Rpb24gYnUocyl7bGV0IHA9SigpO2lmKGooMzApLHUoKT09PTMyKXJldHVybiBHbigpLEQoaC5jcmVhdGVKc3hPcGVuaW5nRnJhZ21lbnQoKSxwKTtsZXQgZD1BXygpLGI9bnQmNTI0Mjg4P3ZvaWQgMDpBYSgpLFM9Z3UoKSxOO3JldHVybiB1KCk9PT0zMj8oR24oKSxOPWguY3JlYXRlSnN4T3BlbmluZ0VsZW1lbnQoZCxiLFMpKTooaig0NCksaigzMix2b2lkIDAsITEpJiYocz9VKCk6R24oKSksTj1oLmNyZWF0ZUpzeFNlbGZDbG9zaW5nRWxlbWVudChkLGIsUykpLEQoTixwKX1mdW5jdGlvbiBBXygpe2xldCBzPUooKSxwPXZ1KCk7aWYodGgocCkpcmV0dXJuIHA7bGV0IGQ9cDtmb3IoO0plKDI1KTspZD1EKGFlKGQsbmkoITAsITEsITEpKSxzKTtyZXR1cm4gZH1mdW5jdGlvbiB2dSgpe2xldCBzPUooKTtxdCgpO2xldCBwPXUoKT09PTExMCxkPWVpKCk7cmV0dXJuIEplKDU5KT8ocXQoKSxEKGguY3JlYXRlSnN4TmFtZXNwYWNlZE5hbWUoZCxlaSgpKSxzKSk6cD9EKGguY3JlYXRlVG9rZW4oMTEwKSxzKTpkfWZ1bmN0aW9uIFhvKHMpe2xldCBwPUooKTtpZighaigxOSkpcmV0dXJuO2xldCBkLGI7cmV0dXJuIHUoKSE9PTIwJiYoc3x8KGQ9ZnQoMjYpKSxiPUV0KCkpLHM/aigyMCk6aigyMCx2b2lkIDAsITEpJiZHbigpLEQoaC5jcmVhdGVKc3hFeHByZXNzaW9uKGQsYikscCl9ZnVuY3Rpb24gJG8oKXtpZih1KCk9PT0xOSlyZXR1cm4geHUoKTtsZXQgcz1KKCk7cmV0dXJuIEQoaC5jcmVhdGVKc3hBdHRyaWJ1dGUoVHUoKSxDXygpKSxzKX1mdW5jdGlvbiBDXygpe2lmKHUoKT09PTY0KXtpZih3aSgpPT09MTEpcmV0dXJuIEhuKCk7aWYodSgpPT09MTkpcmV0dXJuIFhvKCEwKTtpZih1KCk9PT0zMClyZXR1cm4gT2koITApO0VlKEUub3JfSlNYX2VsZW1lbnRfZXhwZWN0ZWQpfX1mdW5jdGlvbiBUdSgpe2xldCBzPUooKTtxdCgpO2xldCBwPWVpKCk7cmV0dXJuIEplKDU5KT8ocXQoKSxEKGguY3JlYXRlSnN4TmFtZXNwYWNlZE5hbWUocCxlaSgpKSxzKSk6cH1mdW5jdGlvbiB4dSgpe2xldCBzPUooKTtqKDE5KSxqKDI2KTtsZXQgcD1FdCgpO3JldHVybiBqKDIwKSxEKGguY3JlYXRlSnN4U3ByZWFkQXR0cmlidXRlKHApLHMpfWZ1bmN0aW9uIFFvKHMscCl7bGV0IGQ9SigpO2ooMzEpO2xldCBiPUFfKCk7cmV0dXJuIGooMzIsdm9pZCAwLCExKSYmKHB8fCFwaShzLnRhZ05hbWUsYik/VSgpOkduKCkpLEQoaC5jcmVhdGVKc3hDbG9zaW5nRWxlbWVudChiKSxkKX1mdW5jdGlvbiBTdShzKXtsZXQgcD1KKCk7cmV0dXJuIGooMzEpLGooMzIsRS5FeHBlY3RlZF9jb3JyZXNwb25kaW5nX2Nsb3NpbmdfdGFnX2Zvcl9KU1hfZnJhZ21lbnQsITEpJiYocz9VKCk6R24oKSksRChoLmNyZWF0ZUpzeEpzeENsb3NpbmdGcmFnbWVudCgpLHApfWZ1bmN0aW9uIEtvKCl7Qi5hc3NlcnQoY3QhPT0xLFwiVHlwZSBhc3NlcnRpb25zIHNob3VsZCBuZXZlciBiZSBwYXJzZWQgaW4gSlNYOyB0aGV5IHNob3VsZCBiZSBwYXJzZWQgYXMgY29tcGFyaXNvbnMgb3IgSlNYIGVsZW1lbnRzL2ZyYWdtZW50cy5cIik7bGV0IHM9SigpO2ooMzApO2xldCBwPW90KCk7aigzMik7bGV0IGQ9VHIoKTtyZXR1cm4gRChoLmNyZWF0ZVR5cGVBc3NlcnRpb24ocCxkKSxzKX1mdW5jdGlvbiB3dSgpe3JldHVybiBVKCksd3QodSgpKXx8dSgpPT09MjN8fFNuKCl9ZnVuY3Rpb24gWm8oKXtyZXR1cm4gdSgpPT09MjkmJkcod3UpfWZ1bmN0aW9uIERfKHMpe2lmKHMuZmxhZ3MmNjQpcmV0dXJuITA7aWYoY2wocykpe2xldCBwPXMuZXhwcmVzc2lvbjtmb3IoO2NsKHApJiYhKHAuZmxhZ3MmNjQpOylwPXAuZXhwcmVzc2lvbjtpZihwLmZsYWdzJjY0KXtmb3IoO2NsKHMpOylzLmZsYWdzfD02NCxzPXMuZXhwcmVzc2lvbjtyZXR1cm4hMH19cmV0dXJuITF9ZnVuY3Rpb24gZWMocyxwLGQpe2xldCBiPW5pKCEwLCEwLCEwKSxTPWR8fERfKHApLE49Uz9PZShwLGQsYik6YWUocCxiKTtpZihTJiZnaShOLm5hbWUpJiZsbihOLm5hbWUsRS5Bbl9vcHRpb25hbF9jaGFpbl9jYW5ub3RfY29udGFpbl9wcml2YXRlX2lkZW50aWZpZXJzKSwkMShwKSYmcC50eXBlQXJndW1lbnRzKXtsZXQgWD1wLnR5cGVBcmd1bWVudHMucG9zLTEsX2U9QXIoUWUscC50eXBlQXJndW1lbnRzLmVuZCkrMTtydChYLF9lLEUuQW5faW5zdGFudGlhdGlvbl9leHByZXNzaW9uX2Nhbm5vdF9iZV9mb2xsb3dlZF9ieV9hX3Byb3BlcnR5X2FjY2Vzcyl9cmV0dXJuIEQoTixzKX1mdW5jdGlvbiBrdShzLHAsZCl7bGV0IGI7aWYodSgpPT09MjQpYj1HdCg4MCwhMCxFLkFuX2VsZW1lbnRfYWNjZXNzX2V4cHJlc3Npb25fc2hvdWxkX3Rha2VfYW5fYXJndW1lbnQpO2Vsc2V7bGV0IE49dXQoRXQpO2tsKE4pJiYoTi50ZXh0PU1yKE4udGV4dCkpLGI9Tn1qKDI0KTtsZXQgUz1kfHxEXyhwKT9vZShwLGQsYik6VihwLGIpO3JldHVybiBEKFMscyl9ZnVuY3Rpb24gX24ocyxwLGQpe2Zvcig7Oyl7bGV0IGIsUz0hMTtpZihkJiZabygpPyhiPVluKDI5KSxTPXd0KHUoKSkpOlM9SmUoMjUpLFMpe3A9ZWMocyxwLGIpO2NvbnRpbnVlfWlmKChifHwhWmUoKSkmJkplKDIzKSl7cD1rdShzLHAsYik7Y29udGludWV9aWYoU24oKSl7cD0hYiYmcC5raW5kPT09MjMzP1VyKHMscC5leHByZXNzaW9uLGIscC50eXBlQXJndW1lbnRzKTpVcihzLHAsYix2b2lkIDApO2NvbnRpbnVlfWlmKCFiKXtpZih1KCk9PT01NCYmIXQuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpe1UoKSxwPUQoaC5jcmVhdGVOb25OdWxsRXhwcmVzc2lvbihwKSxzKTtjb250aW51ZX1sZXQgTj1sZShiYSk7aWYoTil7cD1EKGguY3JlYXRlRXhwcmVzc2lvbldpdGhUeXBlQXJndW1lbnRzKHAsTikscyk7Y29udGludWV9fXJldHVybiBwfX1mdW5jdGlvbiBTbigpe3JldHVybiB1KCk9PT0xNXx8dSgpPT09MTZ9ZnVuY3Rpb24gVXIocyxwLGQsYil7bGV0IFM9aC5jcmVhdGVUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb24ocCxiLHUoKT09PTE1PyhQdCghMCksSG4oKSk6bGEoITApKTtyZXR1cm4oZHx8cC5mbGFncyY2NCkmJihTLmZsYWdzfD02NCksUy5xdWVzdGlvbkRvdFRva2VuPWQsRChTLHMpfWZ1bmN0aW9uIFBfKHMscCl7Zm9yKDs7KXtwPV9uKHMscCwhMCk7bGV0IGQsYj1mdCgyOSk7aWYoYiYmKGQ9bGUoYmEpLFNuKCkpKXtwPVVyKHMscCxiLGQpO2NvbnRpbnVlfWlmKGR8fHUoKT09PTIxKXshYiYmcC5raW5kPT09MjMzJiYoZD1wLnR5cGVBcmd1bWVudHMscD1wLmV4cHJlc3Npb24pO2xldCBTPXRjKCksTj1ifHxEXyhwKT9kdChwLGIsZCxTKTpXKHAsZCxTKTtwPUQoTixzKTtjb250aW51ZX1pZihiKXtsZXQgUz1HdCg4MCwhMSxFLklkZW50aWZpZXJfZXhwZWN0ZWQpO3A9RChPZShwLGIsUykscyl9YnJlYWt9cmV0dXJuIHB9ZnVuY3Rpb24gdGMoKXtqKDIxKTtsZXQgcz1mbigxMSxpYyk7cmV0dXJuIGooMjIpLHN9ZnVuY3Rpb24gYmEoKXtpZihudCY1MjQyODh8fGt0KCkhPT0zMClyZXR1cm47VSgpO2xldCBzPWZuKDIwLG90KTtpZihWZSgpPT09MzIpcmV0dXJuIFUoKSxzJiZFdSgpP3M6dm9pZCAwfWZ1bmN0aW9uIEV1KCl7c3dpdGNoKHUoKSl7Y2FzZSAyMTpjYXNlIDE1OmNhc2UgMTY6cmV0dXJuITA7Y2FzZSAzMDpjYXNlIDMyOmNhc2UgNDA6Y2FzZSA0MTpyZXR1cm4hMX1yZXR1cm4gdC5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKXx8Qm8oKXx8IWJyKCl9ZnVuY3Rpb24gTl8oKXtzd2l0Y2godSgpKXtjYXNlIDE1OnQuZ2V0VG9rZW5GbGFncygpJjI2NjU2JiZQdCghMSk7Y2FzZSA5OmNhc2UgMTA6Y2FzZSAxMTpyZXR1cm4gSG4oKTtjYXNlIDExMDpjYXNlIDEwODpjYXNlIDEwNjpjYXNlIDExMjpjYXNlIDk3OnJldHVybiBXdCgpO2Nhc2UgMjE6cmV0dXJuIEF1KCk7Y2FzZSAyMzpyZXR1cm4gYWMoKTtjYXNlIDE5OnJldHVybiBJXygpO2Nhc2UgMTM0OmlmKCFHKGJjKSlicmVhaztyZXR1cm4gT18oKTtjYXNlIDYwOnJldHVybiBMYygpO2Nhc2UgODY6cmV0dXJuIEh1KCk7Y2FzZSAxMDA6cmV0dXJuIE9fKCk7Y2FzZSAxMDU6cmV0dXJuIHNjKCk7Y2FzZSA0NDpjYXNlIDY5OmlmKCRlKCk9PT0xNClyZXR1cm4gSG4oKTticmVhaztjYXNlIDE2OnJldHVybiBsYSghMSk7Y2FzZSA4MTpyZXR1cm4gYWEoKX1yZXR1cm4gU3QoRS5FeHByZXNzaW9uX2V4cGVjdGVkKX1mdW5jdGlvbiBBdSgpe2xldCBzPUooKSxwPXFlKCk7aigyMSk7bGV0IGQ9dXQoRXQpO3JldHVybiBqKDIyKSxDZShEKGduKGQpLHMpLHApfWZ1bmN0aW9uIG5jKCl7bGV0IHM9SigpO2ooMjYpO2xldCBwPXp0KCEwKTtyZXR1cm4gRChoLmNyZWF0ZVNwcmVhZEVsZW1lbnQocCkscyl9ZnVuY3Rpb24gcmMoKXtyZXR1cm4gdSgpPT09MjY/bmMoKTp1KCk9PT0yOD9EKGguY3JlYXRlT21pdHRlZEV4cHJlc3Npb24oKSxKKCkpOnp0KCEwKX1mdW5jdGlvbiBpYygpe3JldHVybiBEdChhLHJjKX1mdW5jdGlvbiBhYygpe2xldCBzPUooKSxwPXQuZ2V0VG9rZW5TdGFydCgpLGQ9aigyMyksYj10Lmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpLFM9Zm4oMTUscmMpO3JldHVybiBPcigyMywyNCxkLHApLEQoZGUoUyxiKSxzKX1mdW5jdGlvbiBfYygpe2xldCBzPUooKSxwPXFlKCk7aWYoZnQoMjYpKXtsZXQgY2U9enQoITApO3JldHVybiBDZShEKGguY3JlYXRlU3ByZWFkQXNzaWdubWVudChjZSkscykscCl9bGV0IGQ9d24oITApO2lmKHRpKDEzOSkpcmV0dXJuIHFyKHMscCxkLDE3NywwKTtpZih0aSgxNTMpKXJldHVybiBxcihzLHAsZCwxNzgsMCk7bGV0IGI9ZnQoNDIpLFM9dmUoKSxOPUpyKCksWD1mdCg1OCksX2U9ZnQoNTQpO2lmKGJ8fHUoKT09PTIxfHx1KCk9PT0zMClyZXR1cm4gcV8ocyxwLGQsYixOLFgsX2UpO2xldCBaO2lmKFMmJnUoKSE9PTU5KXtsZXQgY2U9ZnQoNjQpLExlPWNlP3V0KCgpPT56dCghMCkpOnZvaWQgMDtaPWguY3JlYXRlU2hvcnRoYW5kUHJvcGVydHlBc3NpZ25tZW50KE4sTGUpLFouZXF1YWxzVG9rZW49Y2V9ZWxzZXtqKDU5KTtsZXQgY2U9dXQoKCk9Pnp0KCEwKSk7Wj1oLmNyZWF0ZVByb3BlcnR5QXNzaWdubWVudChOLGNlKX1yZXR1cm4gWi5tb2RpZmllcnM9ZCxaLnF1ZXN0aW9uVG9rZW49WCxaLmV4Y2xhbWF0aW9uVG9rZW49X2UsQ2UoRChaLHMpLHApfWZ1bmN0aW9uIElfKCl7bGV0IHM9SigpLHA9dC5nZXRUb2tlblN0YXJ0KCksZD1qKDE5KSxiPXQuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCksUz1mbigxMixfYywhMCk7cmV0dXJuIE9yKDE5LDIwLGQscCksRChNKFMsYikscyl9ZnVuY3Rpb24gT18oKXtsZXQgcz1aZSgpO0tlKCExKTtsZXQgcD1KKCksZD1xZSgpLGI9d24oITEpO2ooMTAwKTtsZXQgUz1mdCg0MiksTj1TPzE6MCxYPUh0KGIsYWwpPzI6MCxfZT1OJiZYP0soTWkpOk4/V24oTWkpOlg/UihNaSk6TWkoKSxaPWRuKCksZWU9WG4oTnxYKSxjZT1Kbig1OSwhMSksTGU9dmEoTnxYKTtLZShzKTtsZXQgamU9aC5jcmVhdGVGdW5jdGlvbkV4cHJlc3Npb24oYixTLF9lLFosZWUsY2UsTGUpO3JldHVybiBDZShEKGplLHApLGQpfWZ1bmN0aW9uIE1pKCl7cmV0dXJuIEZlKCk/S2EoKTp2b2lkIDB9ZnVuY3Rpb24gc2MoKXtsZXQgcz1KKCk7aWYoaigxMDUpLEplKDI1KSl7bGV0IE49anQoKTtyZXR1cm4gRChoLmNyZWF0ZU1ldGFQcm9wZXJ0eSgxMDUsTikscyl9bGV0IHA9SigpLGQ9X24ocCxOXygpLCExKSxiO2Qua2luZD09PTIzMyYmKGI9ZC50eXBlQXJndW1lbnRzLGQ9ZC5leHByZXNzaW9uKSx1KCk9PT0yOSYmRWUoRS5JbnZhbGlkX29wdGlvbmFsX2NoYWluX2Zyb21fbmV3X2V4cHJlc3Npb25fRGlkX3lvdV9tZWFuX3RvX2NhbGxfMCxpcyhRZSxkKSk7bGV0IFM9dSgpPT09MjE/dGMoKTp2b2lkIDA7cmV0dXJuIEQobnIoZCxiLFMpLHMpfWZ1bmN0aW9uIEJyKHMscCl7bGV0IGQ9SigpLGI9cWUoKSxTPXQuZ2V0VG9rZW5TdGFydCgpLE49aigxOSxwKTtpZihOfHxzKXtsZXQgWD10Lmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpLF9lPXhuKDEsS3QpO09yKDE5LDIwLE4sUyk7bGV0IFo9Q2UoRChycihfZSxYKSxkKSxiKTtyZXR1cm4gdSgpPT09NjQmJihFZShFLkRlY2xhcmF0aW9uX29yX3N0YXRlbWVudF9leHBlY3RlZF9UaGlzX2ZvbGxvd3NfYV9ibG9ja19vZl9zdGF0ZW1lbnRzX3NvX2lmX3lvdV9pbnRlbmRlZF90b193cml0ZV9hX2Rlc3RydWN0dXJpbmdfYXNzaWdubWVudF95b3VfbWlnaHRfbmVlZF90b193cmFwX3RoZV93aG9sZV9hc3NpZ25tZW50X2luX3BhcmVudGhlc2VzKSxVKCkpLFp9ZWxzZXtsZXQgWD1scigpO3JldHVybiBDZShEKHJyKFgsdm9pZCAwKSxkKSxiKX19ZnVuY3Rpb24gdmEocyxwKXtsZXQgZD13ZSgpO1hlKCEhKHMmMSkpO2xldCBiPVllKCk7c3QoISEocyYyKSk7bGV0IFM9QnQ7QnQ9ITE7bGV0IE49WmUoKTtOJiZLZSghMSk7bGV0IFg9QnIoISEocyYxNikscCk7cmV0dXJuIE4mJktlKCEwKSxCdD1TLFhlKGQpLHN0KGIpLFh9ZnVuY3Rpb24gb2MoKXtsZXQgcz1KKCkscD1xZSgpO3JldHVybiBqKDI3KSxDZShEKGguY3JlYXRlRW1wdHlTdGF0ZW1lbnQoKSxzKSxwKX1mdW5jdGlvbiBDdSgpe2xldCBzPUooKSxwPXFlKCk7aigxMDEpO2xldCBkPXQuZ2V0VG9rZW5TdGFydCgpLGI9aigyMSksUz11dChFdCk7T3IoMjEsMjIsYixkKTtsZXQgTj1LdCgpLFg9SmUoOTMpP0t0KCk6dm9pZCAwO3JldHVybiBDZShEKEdlKFMsTixYKSxzKSxwKX1mdW5jdGlvbiBjYygpe2xldCBzPUooKSxwPXFlKCk7aig5Mik7bGV0IGQ9S3QoKTtqKDExNyk7bGV0IGI9dC5nZXRUb2tlblN0YXJ0KCksUz1qKDIxKSxOPXV0KEV0KTtyZXR1cm4gT3IoMjEsMjIsUyxiKSxKZSgyNyksQ2UoRChoLmNyZWF0ZURvU3RhdGVtZW50KGQsTikscykscCl9ZnVuY3Rpb24gRHUoKXtsZXQgcz1KKCkscD1xZSgpO2ooMTE3KTtsZXQgZD10LmdldFRva2VuU3RhcnQoKSxiPWooMjEpLFM9dXQoRXQpO09yKDIxLDIyLGIsZCk7bGV0IE49S3QoKTtyZXR1cm4gQ2UoRChpcihTLE4pLHMpLHApfWZ1bmN0aW9uIGxjKCl7bGV0IHM9SigpLHA9cWUoKTtqKDk5KTtsZXQgZD1mdCgxMzUpO2ooMjEpO2xldCBiO3UoKSE9PTI3JiYodSgpPT09MTE1fHx1KCk9PT0xMjF8fHUoKT09PTg3fHx1KCk9PT0xNjAmJkcoeGMpfHx1KCk9PT0xMzUmJkcoU2MpP2I9Ql8oITApOmI9SXIoRXQpKTtsZXQgUztpZihkP2ooMTY1KTpKZSgxNjUpKXtsZXQgTj11dCgoKT0+enQoITApKTtqKDIyKSxTPU90KGQsYixOLEt0KCkpfWVsc2UgaWYoSmUoMTAzKSl7bGV0IE49dXQoRXQpO2ooMjIpLFM9aC5jcmVhdGVGb3JJblN0YXRlbWVudChiLE4sS3QoKSl9ZWxzZXtqKDI3KTtsZXQgTj11KCkhPT0yNyYmdSgpIT09MjI/dXQoRXQpOnZvaWQgMDtqKDI3KTtsZXQgWD11KCkhPT0yMj91dChFdCk6dm9pZCAwO2ooMjIpLFM9UHIoYixOLFgsS3QoKSl9cmV0dXJuIENlKEQoUyxzKSxwKX1mdW5jdGlvbiB1YyhzKXtsZXQgcD1KKCksZD1xZSgpO2oocz09PTI1Mj84Mzo4OCk7bGV0IGI9c3IoKT92b2lkIDA6U3QoKTtRdCgpO2xldCBTPXM9PT0yNTI/aC5jcmVhdGVCcmVha1N0YXRlbWVudChiKTpoLmNyZWF0ZUNvbnRpbnVlU3RhdGVtZW50KGIpO3JldHVybiBDZShEKFMscCksZCl9ZnVuY3Rpb24gcGMoKXtsZXQgcz1KKCkscD1xZSgpO2ooMTA3KTtsZXQgZD1zcigpP3ZvaWQgMDp1dChFdCk7cmV0dXJuIFF0KCksQ2UoRChoLmNyZWF0ZVJldHVyblN0YXRlbWVudChkKSxzKSxwKX1mdW5jdGlvbiBQdSgpe2xldCBzPUooKSxwPXFlKCk7aigxMTgpO2xldCBkPXQuZ2V0VG9rZW5TdGFydCgpLGI9aigyMSksUz11dChFdCk7T3IoMjEsMjIsYixkKTtsZXQgTj1UdCg2NzEwODg2NCxLdCk7cmV0dXJuIENlKEQoaC5jcmVhdGVXaXRoU3RhdGVtZW50KFMsTikscykscCl9ZnVuY3Rpb24gZmMoKXtsZXQgcz1KKCkscD1xZSgpO2ooODQpO2xldCBkPXV0KEV0KTtqKDU5KTtsZXQgYj14bigzLEt0KTtyZXR1cm4gQ2UoRChoLmNyZWF0ZUNhc2VDbGF1c2UoZCxiKSxzKSxwKX1mdW5jdGlvbiBOdSgpe2xldCBzPUooKTtqKDkwKSxqKDU5KTtsZXQgcD14bigzLEt0KTtyZXR1cm4gRChoLmNyZWF0ZURlZmF1bHRDbGF1c2UocCkscyl9ZnVuY3Rpb24gSXUoKXtyZXR1cm4gdSgpPT09ODQ/ZmMoKTpOdSgpfWZ1bmN0aW9uIGRjKCl7bGV0IHM9SigpO2ooMTkpO2xldCBwPXhuKDIsSXUpO3JldHVybiBqKDIwKSxEKGguY3JlYXRlQ2FzZUJsb2NrKHApLHMpfWZ1bmN0aW9uIE91KCl7bGV0IHM9SigpLHA9cWUoKTtqKDEwOSksaigyMSk7bGV0IGQ9dXQoRXQpO2ooMjIpO2xldCBiPWRjKCk7cmV0dXJuIENlKEQoaC5jcmVhdGVTd2l0Y2hTdGF0ZW1lbnQoZCxiKSxzKSxwKX1mdW5jdGlvbiBtYygpe2xldCBzPUooKSxwPXFlKCk7aigxMTEpO2xldCBkPXQuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCk/dm9pZCAwOnV0KEV0KTtyZXR1cm4gZD09PXZvaWQgMCYmKHZuKyssZD1EKHJlKFwiXCIpLEooKSkpLGlhKCl8fHh0KGQpLENlKEQoaC5jcmVhdGVUaHJvd1N0YXRlbWVudChkKSxzKSxwKX1mdW5jdGlvbiBNdSgpe2xldCBzPUooKSxwPXFlKCk7aigxMTMpO2xldCBkPUJyKCExKSxiPXUoKT09PTg1P2hjKCk6dm9pZCAwLFM7cmV0dXJuKCFifHx1KCk9PT05OCkmJihqKDk4LEUuY2F0Y2hfb3JfZmluYWxseV9leHBlY3RlZCksUz1CcighMSkpLENlKEQoaC5jcmVhdGVUcnlTdGF0ZW1lbnQoZCxiLFMpLHMpLHApfWZ1bmN0aW9uIGhjKCl7bGV0IHM9SigpO2ooODUpO2xldCBwO0plKDIxKT8ocD1VXygpLGooMjIpKTpwPXZvaWQgMDtsZXQgZD1CcighMSk7cmV0dXJuIEQoaC5jcmVhdGVDYXRjaENsYXVzZShwLGQpLHMpfWZ1bmN0aW9uIEp1KCl7bGV0IHM9SigpLHA9cWUoKTtyZXR1cm4gaig4OSksUXQoKSxDZShEKGguY3JlYXRlRGVidWdnZXJTdGF0ZW1lbnQoKSxzKSxwKX1mdW5jdGlvbiB5Yygpe2xldCBzPUooKSxwPXFlKCksZCxiPXUoKT09PTIxLFM9dXQoRXQpO3JldHVybiB0dChTKSYmSmUoNTkpP2Q9aC5jcmVhdGVMYWJlbGVkU3RhdGVtZW50KFMsS3QoKSk6KGlhKCl8fHh0KFMpLGQ9SW4oUyksYiYmKHA9ITEpKSxDZShEKGQscykscCl9ZnVuY3Rpb24gTV8oKXtyZXR1cm4gVSgpLHd0KHUoKSkmJiF0Lmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpfWZ1bmN0aW9uIGdjKCl7cmV0dXJuIFUoKSx1KCk9PT04NiYmIXQuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCl9ZnVuY3Rpb24gYmMoKXtyZXR1cm4gVSgpLHUoKT09PTEwMCYmIXQuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCl9ZnVuY3Rpb24gSl8oKXtyZXR1cm4gVSgpLCh3dCh1KCkpfHx1KCk9PT05fHx1KCk9PT0xMHx8dSgpPT09MTEpJiYhdC5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKX1mdW5jdGlvbiBMdSgpe2Zvcig7Oylzd2l0Y2godSgpKXtjYXNlIDExNTpjYXNlIDEyMTpjYXNlIDg3OmNhc2UgMTAwOmNhc2UgODY6Y2FzZSA5NDpyZXR1cm4hMDtjYXNlIDE2MDpyZXR1cm4gal8oKTtjYXNlIDEzNTpyZXR1cm4gVGEoKTtjYXNlIDEyMDpjYXNlIDE1NjpyZXR1cm4gdXUoKTtjYXNlIDE0NDpjYXNlIDE0NTpyZXR1cm4gRWMoKTtjYXNlIDEyODpjYXNlIDEyOTpjYXNlIDEzNDpjYXNlIDEzODpjYXNlIDEyMzpjYXNlIDEyNDpjYXNlIDEyNTpjYXNlIDE0ODpsZXQgcz11KCk7aWYoVSgpLHQuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCkpcmV0dXJuITE7aWYocz09PTEzOCYmdSgpPT09MTU2KXJldHVybiEwO2NvbnRpbnVlO2Nhc2UgMTYyOnJldHVybiBVKCksdSgpPT09MTl8fHUoKT09PTgwfHx1KCk9PT05NTtjYXNlIDEwMjpyZXR1cm4gVSgpLHUoKT09PTExfHx1KCk9PT00Mnx8dSgpPT09MTl8fHd0KHUoKSk7Y2FzZSA5NTpsZXQgcD1VKCk7aWYocD09PTE1NiYmKHA9RyhVKSkscD09PTY0fHxwPT09NDJ8fHA9PT0xOXx8cD09PTkwfHxwPT09MTMwfHxwPT09NjApcmV0dXJuITA7Y29udGludWU7Y2FzZSAxMjY6VSgpO2NvbnRpbnVlO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIEppKCl7cmV0dXJuIEcoTHUpfWZ1bmN0aW9uIHZjKCl7c3dpdGNoKHUoKSl7Y2FzZSA2MDpjYXNlIDI3OmNhc2UgMTk6Y2FzZSAxMTU6Y2FzZSAxMjE6Y2FzZSAxNjA6Y2FzZSAxMDA6Y2FzZSA4NjpjYXNlIDk0OmNhc2UgMTAxOmNhc2UgOTI6Y2FzZSAxMTc6Y2FzZSA5OTpjYXNlIDg4OmNhc2UgODM6Y2FzZSAxMDc6Y2FzZSAxMTg6Y2FzZSAxMDk6Y2FzZSAxMTE6Y2FzZSAxMTM6Y2FzZSA4OTpjYXNlIDg1OmNhc2UgOTg6cmV0dXJuITA7Y2FzZSAxMDI6cmV0dXJuIEppKCl8fEcob28pO2Nhc2UgODc6Y2FzZSA5NTpyZXR1cm4gSmkoKTtjYXNlIDEzNDpjYXNlIDEzODpjYXNlIDEyMDpjYXNlIDE0NDpjYXNlIDE0NTpjYXNlIDE1NjpjYXNlIDE2MjpyZXR1cm4hMDtjYXNlIDEyOTpjYXNlIDEyNTpjYXNlIDEyMzpjYXNlIDEyNDpjYXNlIDEyNjpjYXNlIDE0ODpyZXR1cm4gSmkoKXx8IUcoTV8pO2RlZmF1bHQ6cmV0dXJuIGJyKCl9fWZ1bmN0aW9uIFRjKCl7cmV0dXJuIFUoKSxGZSgpfHx1KCk9PT0xOXx8dSgpPT09MjN9ZnVuY3Rpb24ganUoKXtyZXR1cm4gRyhUYyl9ZnVuY3Rpb24geGMoKXtyZXR1cm4gTF8oITApfWZ1bmN0aW9uIExfKHMpe3JldHVybiBVKCkscyYmdSgpPT09MTY1PyExOihGZSgpfHx1KCk9PT0xOSkmJiF0Lmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpfWZ1bmN0aW9uIGpfKCl7cmV0dXJuIEcoTF8pfWZ1bmN0aW9uIFNjKHMpe3JldHVybiBVKCk9PT0xNjA/TF8ocyk6ITF9ZnVuY3Rpb24gVGEoKXtyZXR1cm4gRyhTYyl9ZnVuY3Rpb24gS3QoKXtzd2l0Y2godSgpKXtjYXNlIDI3OnJldHVybiBvYygpO2Nhc2UgMTk6cmV0dXJuIEJyKCExKTtjYXNlIDExNTpyZXR1cm4gX2koSigpLHFlKCksdm9pZCAwKTtjYXNlIDEyMTppZihqdSgpKXJldHVybiBfaShKKCkscWUoKSx2b2lkIDApO2JyZWFrO2Nhc2UgMTM1OmlmKFRhKCkpcmV0dXJuIF9pKEooKSxxZSgpLHZvaWQgMCk7YnJlYWs7Y2FzZSAxNjA6aWYoal8oKSlyZXR1cm4gX2koSigpLHFlKCksdm9pZCAwKTticmVhaztjYXNlIDEwMDpyZXR1cm4gUGMoSigpLHFlKCksdm9pZCAwKTtjYXNlIDg2OnJldHVybiBqYyhKKCkscWUoKSx2b2lkIDApO2Nhc2UgMTAxOnJldHVybiBDdSgpO2Nhc2UgOTI6cmV0dXJuIGNjKCk7Y2FzZSAxMTc6cmV0dXJuIER1KCk7Y2FzZSA5OTpyZXR1cm4gbGMoKTtjYXNlIDg4OnJldHVybiB1YygyNTEpO2Nhc2UgODM6cmV0dXJuIHVjKDI1Mik7Y2FzZSAxMDc6cmV0dXJuIHBjKCk7Y2FzZSAxMTg6cmV0dXJuIFB1KCk7Y2FzZSAxMDk6cmV0dXJuIE91KCk7Y2FzZSAxMTE6cmV0dXJuIG1jKCk7Y2FzZSAxMTM6Y2FzZSA4NTpjYXNlIDk4OnJldHVybiBNdSgpO2Nhc2UgODk6cmV0dXJuIEp1KCk7Y2FzZSA2MDpyZXR1cm4gd2MoKTtjYXNlIDEzNDpjYXNlIDEyMDpjYXNlIDE1NjpjYXNlIDE0NDpjYXNlIDE0NTpjYXNlIDEzODpjYXNlIDg3OmNhc2UgOTQ6Y2FzZSA5NTpjYXNlIDEwMjpjYXNlIDEyMzpjYXNlIDEyNDpjYXNlIDEyNTpjYXNlIDEyODpjYXNlIDEyOTpjYXNlIDEyNjpjYXNlIDE0ODpjYXNlIDE2MjppZihKaSgpKXJldHVybiB3YygpO2JyZWFrfXJldHVybiB5YygpfWZ1bmN0aW9uIFJfKHMpe3JldHVybiBzLmtpbmQ9PT0xMzh9ZnVuY3Rpb24gd2MoKXtsZXQgcz1KKCkscD1xZSgpLGQ9d24oITApO2lmKEh0KGQsUl8pKXtsZXQgUz14YShzKTtpZihTKXJldHVybiBTO2ZvcihsZXQgTiBvZiBkKU4uZmxhZ3N8PTMzNTU0NDMyO3JldHVybiBUdCgzMzU1NDQzMiwoKT0+a2MocyxwLGQpKX1lbHNlIHJldHVybiBrYyhzLHAsZCl9ZnVuY3Rpb24geGEocyl7cmV0dXJuIFR0KDMzNTU0NDMyLCgpPT57bGV0IHA9b2EoeXQscyk7aWYocClyZXR1cm4gTXMocCl9KX1mdW5jdGlvbiBrYyhzLHAsZCl7c3dpdGNoKHUoKSl7Y2FzZSAxMTU6Y2FzZSAxMjE6Y2FzZSA4NzpjYXNlIDE2MDpjYXNlIDEzNTpyZXR1cm4gX2kocyxwLGQpO2Nhc2UgMTAwOnJldHVybiBQYyhzLHAsZCk7Y2FzZSA4NjpyZXR1cm4gamMocyxwLGQpO2Nhc2UgMTIwOnJldHVybiBCYyhzLHAsZCk7Y2FzZSAxNTY6cmV0dXJuIFp1KHMscCxkKTtjYXNlIDk0OnJldHVybiBWXyhzLHAsZCk7Y2FzZSAxNjI6Y2FzZSAxNDQ6Y2FzZSAxNDU6cmV0dXJuIHRwKHMscCxkKTtjYXNlIDEwMjpyZXR1cm4gaXAocyxwLGQpO2Nhc2UgOTU6c3dpdGNoKFUoKSx1KCkpe2Nhc2UgOTA6Y2FzZSA2NDpyZXR1cm4gSGMocyxwLGQpO2Nhc2UgMTMwOnJldHVybiBycChzLHAsZCk7ZGVmYXVsdDpyZXR1cm4gZnAocyxwLGQpfWRlZmF1bHQ6aWYoZCl7bGV0IGI9R3QoMjgyLCEwLEUuRGVjbGFyYXRpb25fZXhwZWN0ZWQpO3JldHVybiBCcChiLHMpLGIubW9kaWZpZXJzPWQsYn1yZXR1cm59fWZ1bmN0aW9uIFJ1KCl7cmV0dXJuIFUoKT09PTExfWZ1bmN0aW9uIFV1KCl7cmV0dXJuIFUoKSx1KCk9PT0xNjF8fHUoKT09PTY0fWZ1bmN0aW9uIEVjKCl7cmV0dXJuIFUoKSwhdC5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSYmKHZlKCl8fHUoKT09PTExKX1mdW5jdGlvbiBTYShzLHApe2lmKHUoKSE9PTE5KXtpZihzJjQpe2ZhKCk7cmV0dXJufWlmKHNyKCkpe1F0KCk7cmV0dXJufX1yZXR1cm4gdmEocyxwKX1mdW5jdGlvbiBBYygpe2xldCBzPUooKTtpZih1KCk9PT0yOClyZXR1cm4gRChoLmNyZWF0ZU9taXR0ZWRFeHByZXNzaW9uKCkscyk7bGV0IHA9ZnQoMjYpLGQ9TGkoKSxiPXZyKCk7cmV0dXJuIEQoaC5jcmVhdGVCaW5kaW5nRWxlbWVudChwLHZvaWQgMCxkLGIpLHMpfWZ1bmN0aW9uIEJ1KCl7bGV0IHM9SigpLHA9ZnQoMjYpLGQ9RmUoKSxiPUpyKCksUztkJiZ1KCkhPT01OT8oUz1iLGI9dm9pZCAwKTooaig1OSksUz1MaSgpKTtsZXQgTj12cigpO3JldHVybiBEKGguY3JlYXRlQmluZGluZ0VsZW1lbnQocCxiLFMsTikscyl9ZnVuY3Rpb24gQ2MoKXtsZXQgcz1KKCk7aigxOSk7bGV0IHA9dXQoKCk9PmZuKDksQnUpKTtyZXR1cm4gaigyMCksRChoLmNyZWF0ZU9iamVjdEJpbmRpbmdQYXR0ZXJuKHApLHMpfWZ1bmN0aW9uIHF1KCl7bGV0IHM9SigpO2ooMjMpO2xldCBwPXV0KCgpPT5mbigxMCxBYykpO3JldHVybiBqKDI0KSxEKGguY3JlYXRlQXJyYXlCaW5kaW5nUGF0dGVybihwKSxzKX1mdW5jdGlvbiB3YSgpe3JldHVybiB1KCk9PT0xOXx8dSgpPT09MjN8fHUoKT09PTgxfHxGZSgpfWZ1bmN0aW9uIExpKHMpe3JldHVybiB1KCk9PT0yMz9xdSgpOnUoKT09PTE5P0NjKCk6S2Eocyl9ZnVuY3Rpb24gRGMoKXtyZXR1cm4gVV8oITApfWZ1bmN0aW9uIFVfKHMpe2xldCBwPUooKSxkPXFlKCksYj1MaShFLlByaXZhdGVfaWRlbnRpZmllcnNfYXJlX25vdF9hbGxvd2VkX2luX3ZhcmlhYmxlX2RlY2xhcmF0aW9ucyksUztzJiZiLmtpbmQ9PT04MCYmdSgpPT09NTQmJiF0Lmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpJiYoUz1XdCgpKTtsZXQgTj1ncigpLFg9VW8odSgpKT92b2lkIDA6dnIoKSxfZT1CbihiLFMsTixYKTtyZXR1cm4gQ2UoRChfZSxwKSxkKX1mdW5jdGlvbiBCXyhzKXtsZXQgcD1KKCksZD0wO3N3aXRjaCh1KCkpe2Nhc2UgMTE1OmJyZWFrO2Nhc2UgMTIxOmR8PTE7YnJlYWs7Y2FzZSA4NzpkfD0yO2JyZWFrO2Nhc2UgMTYwOmR8PTQ7YnJlYWs7Y2FzZSAxMzU6Qi5hc3NlcnQoVGEoKSksZHw9NixVKCk7YnJlYWs7ZGVmYXVsdDpCLmZhaWwoKX1VKCk7bGV0IGI7aWYodSgpPT09MTY1JiZHKHp1KSliPWxyKCk7ZWxzZXtsZXQgUz1iZSgpO1RlKHMpLGI9Zm4oOCxzP1VfOkRjKSxUZShTKX1yZXR1cm4gRChPbihiLGQpLHApfWZ1bmN0aW9uIHp1KCl7cmV0dXJuIEFpKCkmJlUoKT09PTIyfWZ1bmN0aW9uIF9pKHMscCxkKXtsZXQgYj1CXyghMSk7UXQoKTtsZXQgUz1ibihkLGIpO3JldHVybiBDZShEKFMscykscCl9ZnVuY3Rpb24gUGMocyxwLGQpe2xldCBiPVllKCksUz1SbihkKTtqKDEwMCk7bGV0IE49ZnQoNDIpLFg9UyYyMDQ4P01pKCk6S2EoKSxfZT1OPzE6MCxaPVMmMTAyND8yOjAsZWU9ZG4oKTtTJjMyJiZzdCghMCk7bGV0IGNlPVhuKF9lfFopLExlPUpuKDU5LCExKSxqZT1TYShfZXxaLEUub3JfZXhwZWN0ZWQpO3N0KGIpO2xldCBBZT1oLmNyZWF0ZUZ1bmN0aW9uRGVjbGFyYXRpb24oZCxOLFgsZWUsY2UsTGUsamUpO3JldHVybiBDZShEKEFlLHMpLHApfWZ1bmN0aW9uIE5jKCl7aWYodSgpPT09MTM3KXJldHVybiBqKDEzNyk7aWYodSgpPT09MTEmJkcoVSk9PT0yMSlyZXR1cm4gbGUoKCk9PntsZXQgcz1IbigpO3JldHVybiBzLnRleHQ9PT1cImNvbnN0cnVjdG9yXCI/czp2b2lkIDB9KX1mdW5jdGlvbiBGdShzLHAsZCl7cmV0dXJuIGxlKCgpPT57aWYoTmMoKSl7bGV0IGI9ZG4oKSxTPVhuKDApLE49Sm4oNTksITEpLFg9U2EoMCxFLm9yX2V4cGVjdGVkKSxfZT1oLmNyZWF0ZUNvbnN0cnVjdG9yRGVjbGFyYXRpb24oZCxTLFgpO3JldHVybiBfZS50eXBlUGFyYW1ldGVycz1iLF9lLnR5cGU9TixDZShEKF9lLHMpLHApfX0pfWZ1bmN0aW9uIHFfKHMscCxkLGIsUyxOLFgsX2Upe2xldCBaPWI/MTowLGVlPUh0KGQsYWwpPzI6MCxjZT1kbigpLExlPVhuKFp8ZWUpLGplPUpuKDU5LCExKSxBZT1TYShafGVlLF9lKSxZdD1oLmNyZWF0ZU1ldGhvZERlY2xhcmF0aW9uKGQsYixTLE4sY2UsTGUsamUsQWUpO3JldHVybiBZdC5leGNsYW1hdGlvblRva2VuPVgsQ2UoRChZdCxzKSxwKX1mdW5jdGlvbiBJYyhzLHAsZCxiLFMpe2xldCBOPSFTJiYhdC5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKT9mdCg1NCk6dm9pZCAwLFg9Z3IoKSxfZT1EdCg5MDExMix2cik7VWwoYixYLF9lKTtsZXQgWj1oLmNyZWF0ZVByb3BlcnR5RGVjbGFyYXRpb24oZCxiLFN8fE4sWCxfZSk7cmV0dXJuIENlKEQoWixzKSxwKX1mdW5jdGlvbiBrYShzLHAsZCl7bGV0IGI9ZnQoNDIpLFM9SnIoKSxOPWZ0KDU4KTtyZXR1cm4gYnx8dSgpPT09MjF8fHUoKT09PTMwP3FfKHMscCxkLGIsUyxOLHZvaWQgMCxFLm9yX2V4cGVjdGVkKTpJYyhzLHAsZCxTLE4pfWZ1bmN0aW9uIHFyKHMscCxkLGIsUyl7bGV0IE49SnIoKSxYPWRuKCksX2U9WG4oMCksWj1Kbig1OSwhMSksZWU9U2EoUyksY2U9Yj09PTE3Nz9oLmNyZWF0ZUdldEFjY2Vzc29yRGVjbGFyYXRpb24oZCxOLF9lLFosZWUpOmguY3JlYXRlU2V0QWNjZXNzb3JEZWNsYXJhdGlvbihkLE4sX2UsZWUpO3JldHVybiBjZS50eXBlUGFyYW1ldGVycz1YLGhzKGNlKSYmKGNlLnR5cGU9WiksQ2UoRChjZSxzKSxwKX1mdW5jdGlvbiBWdSgpe2xldCBzO2lmKHUoKT09PTYwKXJldHVybiEwO2Zvcig7V3IodSgpKTspe2lmKHM9dSgpLFJnKHMpKXJldHVybiEwO1UoKX1pZih1KCk9PT00Mnx8KHlyKCkmJihzPXUoKSxVKCkpLHUoKT09PTIzKSlyZXR1cm4hMDtpZihzIT09dm9pZCAwKXtpZighZGkocyl8fHM9PT0xNTN8fHM9PT0xMzkpcmV0dXJuITA7c3dpdGNoKHUoKSl7Y2FzZSAyMTpjYXNlIDMwOmNhc2UgNTQ6Y2FzZSA1OTpjYXNlIDY0OmNhc2UgNTg6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4gc3IoKX19cmV0dXJuITF9ZnVuY3Rpb24gT2MocyxwLGQpe1luKDEyNik7bGV0IGI9V3UoKSxTPUNlKEQoaC5jcmVhdGVDbGFzc1N0YXRpY0Jsb2NrRGVjbGFyYXRpb24oYikscykscCk7cmV0dXJuIFMubW9kaWZpZXJzPWQsU31mdW5jdGlvbiBXdSgpe2xldCBzPXdlKCkscD1ZZSgpO1hlKCExKSxzdCghMCk7bGV0IGQ9QnIoITEpO3JldHVybiBYZShzKSxzdChwKSxkfWZ1bmN0aW9uIEd1KCl7aWYoWWUoKSYmdSgpPT09MTM1KXtsZXQgcz1KKCkscD1TdChFLkV4cHJlc3Npb25fZXhwZWN0ZWQpO1UoKTtsZXQgZD1fbihzLHAsITApO3JldHVybiBQXyhzLGQpfXJldHVybiBJaSgpfWZ1bmN0aW9uIHpfKCl7bGV0IHM9SigpO2lmKCFKZSg2MCkpcmV0dXJuO2xldCBwPVNpKEd1KTtyZXR1cm4gRChoLmNyZWF0ZURlY29yYXRvcihwKSxzKX1mdW5jdGlvbiBNYyhzLHAsZCl7bGV0IGI9SigpLFM9dSgpO2lmKHUoKT09PTg3JiZwKXtpZighbGUoWmEpKXJldHVybn1lbHNle2lmKGQmJnUoKT09PTEyNiYmRyhWYykpcmV0dXJuO2lmKHMmJnUoKT09PTEyNilyZXR1cm47aWYoIURzKCkpcmV0dXJufXJldHVybiBEKHllKFMpLGIpfWZ1bmN0aW9uIHduKHMscCxkKXtsZXQgYj1KKCksUyxOLFgsX2U9ITEsWj0hMSxlZT0hMTtpZihzJiZ1KCk9PT02MClmb3IoO049el8oKTspUz1BbihTLE4pO2Zvcig7WD1NYyhfZSxwLGQpOylYLmtpbmQ9PT0xMjYmJihfZT0hMCksUz1BbihTLFgpLFo9ITA7aWYoWiYmcyYmdSgpPT09NjApZm9yKDtOPXpfKCk7KVM9QW4oUyxOKSxlZT0hMDtpZihlZSlmb3IoO1g9TWMoX2UscCxkKTspWC5raW5kPT09MTI2JiYoX2U9ITApLFM9QW4oUyxYKTtyZXR1cm4gUyYmQ3QoUyxiKX1mdW5jdGlvbiBKYygpe2xldCBzO2lmKHUoKT09PTEzNCl7bGV0IHA9SigpO1UoKTtsZXQgZD1EKHllKDEzNCkscCk7cz1DdChbZF0scCl9cmV0dXJuIHN9ZnVuY3Rpb24gWXUoKXtsZXQgcz1KKCkscD1xZSgpO2lmKHUoKT09PTI3KXJldHVybiBVKCksQ2UoRChoLmNyZWF0ZVNlbWljb2xvbkNsYXNzRWxlbWVudCgpLHMpLHApO2xldCBkPXduKCEwLCEwLCEwKTtpZih1KCk9PT0xMjYmJkcoVmMpKXJldHVybiBPYyhzLHAsZCk7aWYodGkoMTM5KSlyZXR1cm4gcXIocyxwLGQsMTc3LDApO2lmKHRpKDE1MykpcmV0dXJuIHFyKHMscCxkLDE3OCwwKTtpZih1KCk9PT0xMzd8fHUoKT09PTExKXtsZXQgYj1GdShzLHAsZCk7aWYoYilyZXR1cm4gYn1pZihScigpKXJldHVybiBkXyhzLHAsZCk7aWYod3QodSgpKXx8dSgpPT09MTF8fHUoKT09PTl8fHUoKT09PTEwfHx1KCk9PT00Mnx8dSgpPT09MjMpaWYoSHQoZCxSXykpe2ZvcihsZXQgUyBvZiBkKVMuZmxhZ3N8PTMzNTU0NDMyO3JldHVybiBUdCgzMzU1NDQzMiwoKT0+a2EocyxwLGQpKX1lbHNlIHJldHVybiBrYShzLHAsZCk7aWYoZCl7bGV0IGI9R3QoODAsITAsRS5EZWNsYXJhdGlvbl9leHBlY3RlZCk7cmV0dXJuIEljKHMscCxkLGIsdm9pZCAwKX1yZXR1cm4gQi5mYWlsKFwiU2hvdWxkIG5vdCBoYXZlIGF0dGVtcHRlZCB0byBwYXJzZSBjbGFzcyBtZW1iZXIgZGVjbGFyYXRpb24uXCIpfWZ1bmN0aW9uIExjKCl7bGV0IHM9SigpLHA9cWUoKSxkPXduKCEwKTtpZih1KCk9PT04NilyZXR1cm4gRWEocyxwLGQsMjMxKTtsZXQgYj1HdCgyODIsITAsRS5FeHByZXNzaW9uX2V4cGVjdGVkKTtyZXR1cm4gQnAoYixzKSxiLm1vZGlmaWVycz1kLGJ9ZnVuY3Rpb24gSHUoKXtyZXR1cm4gRWEoSigpLHFlKCksdm9pZCAwLDIzMSl9ZnVuY3Rpb24gamMocyxwLGQpe3JldHVybiBFYShzLHAsZCwyNjMpfWZ1bmN0aW9uIEVhKHMscCxkLGIpe2xldCBTPVllKCk7aig4Nik7bGV0IE49WHUoKSxYPWRuKCk7SHQoZCxSYikmJnN0KCEwKTtsZXQgX2U9Rl8oKSxaO2ooMTkpPyhaPVVjKCksaigyMCkpOlo9bHIoKSxzdChTKTtsZXQgZWU9Yj09PTI2Mz9oLmNyZWF0ZUNsYXNzRGVjbGFyYXRpb24oZCxOLFgsX2UsWik6aC5jcmVhdGVDbGFzc0V4cHJlc3Npb24oZCxOLFgsX2UsWik7cmV0dXJuIENlKEQoZWUscykscCl9ZnVuY3Rpb24gWHUoKXtyZXR1cm4gRmUoKSYmISR1KCk/b3IoRmUoKSk6dm9pZCAwfWZ1bmN0aW9uICR1KCl7cmV0dXJuIHUoKT09PTExOSYmRyhZbCl9ZnVuY3Rpb24gRl8oKXtpZihSYygpKXJldHVybiB4bigyMixRdSl9ZnVuY3Rpb24gUXUoKXtsZXQgcz1KKCkscD11KCk7Qi5hc3NlcnQocD09PTk2fHxwPT09MTE5KSxVKCk7bGV0IGQ9Zm4oNyxLdSk7cmV0dXJuIEQoaC5jcmVhdGVIZXJpdGFnZUNsYXVzZShwLGQpLHMpfWZ1bmN0aW9uIEt1KCl7bGV0IHM9SigpLHA9SWkoKTtpZihwLmtpbmQ9PT0yMzMpcmV0dXJuIHA7bGV0IGQ9QWEoKTtyZXR1cm4gRChoLmNyZWF0ZUV4cHJlc3Npb25XaXRoVHlwZUFyZ3VtZW50cyhwLGQpLHMpfWZ1bmN0aW9uIEFhKCl7cmV0dXJuIHUoKT09PTMwP0xyKDIwLG90LDMwLDMyKTp2b2lkIDB9ZnVuY3Rpb24gUmMoKXtyZXR1cm4gdSgpPT09OTZ8fHUoKT09PTExOX1mdW5jdGlvbiBVYygpe3JldHVybiB4big1LFl1KX1mdW5jdGlvbiBCYyhzLHAsZCl7aigxMjApO2xldCBiPVN0KCksUz1kbigpLE49Rl8oKSxYPWxvKCksX2U9aC5jcmVhdGVJbnRlcmZhY2VEZWNsYXJhdGlvbihkLGIsUyxOLFgpO3JldHVybiBDZShEKF9lLHMpLHApfWZ1bmN0aW9uIFp1KHMscCxkKXtqKDE1NiksdC5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSYmRWUoRS5MaW5lX2JyZWFrX25vdF9wZXJtaXR0ZWRfaGVyZSk7bGV0IGI9U3QoKSxTPWRuKCk7aig2NCk7bGV0IE49dSgpPT09MTQxJiZsZSh5byl8fG90KCk7UXQoKTtsZXQgWD1oLmNyZWF0ZVR5cGVBbGlhc0RlY2xhcmF0aW9uKGQsYixTLE4pO3JldHVybiBDZShEKFgscykscCl9ZnVuY3Rpb24gZXAoKXtsZXQgcz1KKCkscD1xZSgpLGQ9SnIoKSxiPXV0KHZyKTtyZXR1cm4gQ2UoRChoLmNyZWF0ZUVudW1NZW1iZXIoZCxiKSxzKSxwKX1mdW5jdGlvbiBWXyhzLHAsZCl7aig5NCk7bGV0IGI9U3QoKSxTO2ooMTkpPyhTPXhlKCgpPT5mbig2LGVwKSksaigyMCkpOlM9bHIoKTtsZXQgTj1oLmNyZWF0ZUVudW1EZWNsYXJhdGlvbihkLGIsUyk7cmV0dXJuIENlKEQoTixzKSxwKX1mdW5jdGlvbiBxYygpe2xldCBzPUooKSxwO3JldHVybiBqKDE5KT8ocD14bigxLEt0KSxqKDIwKSk6cD1scigpLEQoaC5jcmVhdGVNb2R1bGVCbG9jayhwKSxzKX1mdW5jdGlvbiBXXyhzLHAsZCxiKXtsZXQgUz1iJjMyLE49YiY4P2p0KCk6U3QoKSxYPUplKDI1KT9XXyhKKCksITEsdm9pZCAwLDh8Uyk6cWMoKSxfZT1oLmNyZWF0ZU1vZHVsZURlY2xhcmF0aW9uKGQsTixYLGIpO3JldHVybiBDZShEKF9lLHMpLHApfWZ1bmN0aW9uIHpjKHMscCxkKXtsZXQgYj0wLFM7dSgpPT09MTYyPyhTPVN0KCksYnw9MjA0OCk6KFM9SG4oKSxTLnRleHQ9TXIoUy50ZXh0KSk7bGV0IE47dSgpPT09MTk/Tj1xYygpOlF0KCk7bGV0IFg9aC5jcmVhdGVNb2R1bGVEZWNsYXJhdGlvbihkLFMsTixiKTtyZXR1cm4gQ2UoRChYLHMpLHApfWZ1bmN0aW9uIHRwKHMscCxkKXtsZXQgYj0wO2lmKHUoKT09PTE2MilyZXR1cm4gemMocyxwLGQpO2lmKEplKDE0NSkpYnw9MzI7ZWxzZSBpZihqKDE0NCksdSgpPT09MTEpcmV0dXJuIHpjKHMscCxkKTtyZXR1cm4gV18ocyxwLGQsYil9ZnVuY3Rpb24gbnAoKXtyZXR1cm4gdSgpPT09MTQ5JiZHKEZjKX1mdW5jdGlvbiBGYygpe3JldHVybiBVKCk9PT0yMX1mdW5jdGlvbiBWYygpe3JldHVybiBVKCk9PT0xOX1mdW5jdGlvbiBHXygpe3JldHVybiBVKCk9PT00NH1mdW5jdGlvbiBycChzLHAsZCl7aigxMzApLGooMTQ1KTtsZXQgYj1TdCgpO1F0KCk7bGV0IFM9aC5jcmVhdGVOYW1lc3BhY2VFeHBvcnREZWNsYXJhdGlvbihiKTtyZXR1cm4gUy5tb2RpZmllcnM9ZCxDZShEKFMscykscCl9ZnVuY3Rpb24gaXAocyxwLGQpe2ooMTAyKTtsZXQgYj10LmdldFRva2VuRnVsbFN0YXJ0KCksUzt2ZSgpJiYoUz1TdCgpKTtsZXQgTj0hMTtpZigoUz09bnVsbD92b2lkIDA6Uy5lc2NhcGVkVGV4dCk9PT1cInR5cGVcIiYmKHUoKSE9PTE2MXx8dmUoKSYmRyhVdSkpJiYodmUoKXx8X3AoKSkmJihOPSEwLFM9dmUoKT9TdCgpOnZvaWQgMCksUyYmIXpyKCkpcmV0dXJuIHNwKHMscCxkLFMsTik7bGV0IFg9c2koUyxiLE4pLF9lPVJpKCksWj1XYygpO1F0KCk7bGV0IGVlPWguY3JlYXRlSW1wb3J0RGVjbGFyYXRpb24oZCxYLF9lLFopO3JldHVybiBDZShEKGVlLHMpLHApfWZ1bmN0aW9uIHNpKHMscCxkLGI9ITEpe2xldCBTO3JldHVybihzfHx1KCk9PT00Mnx8dSgpPT09MTkpJiYoUz1vcChzLHAsZCxiKSxqKDE2MSkpLFN9ZnVuY3Rpb24gV2MoKXtsZXQgcz11KCk7aWYoKHM9PT0xMTh8fHM9PT0xMzIpJiYhdC5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSlyZXR1cm4gWV8ocyl9ZnVuY3Rpb24gYXAoKXtsZXQgcz1KKCkscD13dCh1KCkpP2p0KCk6cmkoMTEpO2ooNTkpO2xldCBkPXp0KCEwKTtyZXR1cm4gRChoLmNyZWF0ZUltcG9ydEF0dHJpYnV0ZShwLGQpLHMpfWZ1bmN0aW9uIFlfKHMscCl7bGV0IGQ9SigpO3B8fGoocyk7bGV0IGI9dC5nZXRUb2tlblN0YXJ0KCk7aWYoaigxOSkpe2xldCBTPXQuaGFzUHJlY2VkaW5nTGluZUJyZWFrKCksTj1mbigyNCxhcCwhMCk7aWYoIWooMjApKXtsZXQgWD1HaShfdCk7WCYmWC5jb2RlPT09RS5fMF9leHBlY3RlZC5jb2RlJiZubChYLE9hKE10LFFlLGIsMSxFLlRoZV9wYXJzZXJfZXhwZWN0ZWRfdG9fZmluZF9hXzFfdG9fbWF0Y2hfdGhlXzBfdG9rZW5faGVyZSxcIntcIixcIn1cIikpfXJldHVybiBEKGguY3JlYXRlSW1wb3J0QXR0cmlidXRlcyhOLFMscyksZCl9ZWxzZXtsZXQgUz1DdChbXSxKKCksdm9pZCAwLCExKTtyZXR1cm4gRChoLmNyZWF0ZUltcG9ydEF0dHJpYnV0ZXMoUywhMSxzKSxkKX19ZnVuY3Rpb24gX3AoKXtyZXR1cm4gdSgpPT09NDJ8fHUoKT09PTE5fWZ1bmN0aW9uIHpyKCl7cmV0dXJuIHUoKT09PTI4fHx1KCk9PT0xNjF9ZnVuY3Rpb24gc3AocyxwLGQsYixTKXtqKDY0KTtsZXQgTj1jcCgpO1F0KCk7bGV0IFg9aC5jcmVhdGVJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbihkLFMsYixOKTtyZXR1cm4gQ2UoRChYLHMpLHApfWZ1bmN0aW9uIG9wKHMscCxkLGIpe2xldCBTO3JldHVybighc3x8SmUoMjgpKSYmKGImJnQuc2V0U2tpcEpzRG9jTGVhZGluZ0FzdGVyaXNrcyghMCksUz11KCk9PT00Mj9scCgpOkdjKDI3NSksYiYmdC5zZXRTa2lwSnNEb2NMZWFkaW5nQXN0ZXJpc2tzKCExKSksRChoLmNyZWF0ZUltcG9ydENsYXVzZShkLHMsUykscCl9ZnVuY3Rpb24gY3AoKXtyZXR1cm4gbnAoKT9qaSgpOmpyKCExKX1mdW5jdGlvbiBqaSgpe2xldCBzPUooKTtqKDE0OSksaigyMSk7bGV0IHA9UmkoKTtyZXR1cm4gaigyMiksRChoLmNyZWF0ZUV4dGVybmFsTW9kdWxlUmVmZXJlbmNlKHApLHMpfWZ1bmN0aW9uIFJpKCl7aWYodSgpPT09MTEpe2xldCBzPUhuKCk7cmV0dXJuIHMudGV4dD1NcihzLnRleHQpLHN9ZWxzZSByZXR1cm4gRXQoKX1mdW5jdGlvbiBscCgpe2xldCBzPUooKTtqKDQyKSxqKDEzMCk7bGV0IHA9U3QoKTtyZXR1cm4gRChoLmNyZWF0ZU5hbWVzcGFjZUltcG9ydChwKSxzKX1mdW5jdGlvbiBIXygpe3JldHVybiB3dCh1KCkpfHx1KCk9PT0xMX1mdW5jdGlvbiBvaShzKXtyZXR1cm4gdSgpPT09MTE/SG4oKTpzKCl9ZnVuY3Rpb24gR2Mocyl7bGV0IHA9SigpLGQ9cz09PTI3NT9oLmNyZWF0ZU5hbWVkSW1wb3J0cyhMcigyMyxjaSwxOSwyMCkpOmguY3JlYXRlTmFtZWRFeHBvcnRzKExyKDIzLHVwLDE5LDIwKSk7cmV0dXJuIEQoZCxwKX1mdW5jdGlvbiB1cCgpe2xldCBzPXFlKCk7cmV0dXJuIENlKFljKDI4MSkscyl9ZnVuY3Rpb24gY2koKXtyZXR1cm4gWWMoMjc2KX1mdW5jdGlvbiBZYyhzKXtsZXQgcD1KKCksZD1kaSh1KCkpJiYhdmUoKSxiPXQuZ2V0VG9rZW5TdGFydCgpLFM9dC5nZXRUb2tlbkVuZCgpLE49ITEsWCxfZT0hMCxaPW9pKGp0KTtpZihaLmtpbmQ9PT04MCYmWi5lc2NhcGVkVGV4dD09PVwidHlwZVwiKWlmKHUoKT09PTEzMCl7bGV0IExlPWp0KCk7aWYodSgpPT09MTMwKXtsZXQgamU9anQoKTtIXygpPyhOPSEwLFg9TGUsWj1vaShjZSksX2U9ITEpOihYPVosWj1qZSxfZT0hMSl9ZWxzZSBIXygpPyhYPVosX2U9ITEsWj1vaShjZSkpOihOPSEwLFo9TGUpfWVsc2UgSF8oKSYmKE49ITAsWj1vaShjZSkpO19lJiZ1KCk9PT0xMzAmJihYPVosaigxMzApLFo9b2koY2UpKSxzPT09Mjc2JiYoWi5raW5kIT09ODA/KHJ0KEFyKFFlLFoucG9zKSxaLmVuZCxFLklkZW50aWZpZXJfZXhwZWN0ZWQpLFo9eWkoR3QoODAsITEpLFoucG9zLFoucG9zKSk6ZCYmcnQoYixTLEUuSWRlbnRpZmllcl9leHBlY3RlZCkpO2xldCBlZT1zPT09Mjc2P2guY3JlYXRlSW1wb3J0U3BlY2lmaWVyKE4sWCxaKTpoLmNyZWF0ZUV4cG9ydFNwZWNpZmllcihOLFgsWik7cmV0dXJuIEQoZWUscCk7ZnVuY3Rpb24gY2UoKXtyZXR1cm4gZD1kaSh1KCkpJiYhdmUoKSxiPXQuZ2V0VG9rZW5TdGFydCgpLFM9dC5nZXRUb2tlbkVuZCgpLGp0KCl9fWZ1bmN0aW9uIHBwKHMpe3JldHVybiBEKGguY3JlYXRlTmFtZXNwYWNlRXhwb3J0KG9pKGp0KSkscyl9ZnVuY3Rpb24gZnAocyxwLGQpe2xldCBiPVllKCk7c3QoITApO2xldCBTLE4sWCxfZT1KZSgxNTYpLFo9SigpO0plKDQyKT8oSmUoMTMwKSYmKFM9cHAoWikpLGooMTYxKSxOPVJpKCkpOihTPUdjKDI3OSksKHUoKT09PTE2MXx8dSgpPT09MTEmJiF0Lmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpKSYmKGooMTYxKSxOPVJpKCkpKTtsZXQgZWU9dSgpO04mJihlZT09PTExOHx8ZWU9PT0xMzIpJiYhdC5oYXNQcmVjZWRpbmdMaW5lQnJlYWsoKSYmKFg9WV8oZWUpKSxRdCgpLHN0KGIpO2xldCBjZT1oLmNyZWF0ZUV4cG9ydERlY2xhcmF0aW9uKGQsX2UsUyxOLFgpO3JldHVybiBDZShEKGNlLHMpLHApfWZ1bmN0aW9uIEhjKHMscCxkKXtsZXQgYj1ZZSgpO3N0KCEwKTtsZXQgUztKZSg2NCk/Uz0hMDpqKDkwKTtsZXQgTj16dCghMCk7UXQoKSxzdChiKTtsZXQgWD1oLmNyZWF0ZUV4cG9ydEFzc2lnbm1lbnQoZCxTLE4pO3JldHVybiBDZShEKFgscykscCl9bGV0IFhfOyhzPT57c1tzLlNvdXJjZUVsZW1lbnRzPTBdPVwiU291cmNlRWxlbWVudHNcIixzW3MuQmxvY2tTdGF0ZW1lbnRzPTFdPVwiQmxvY2tTdGF0ZW1lbnRzXCIsc1tzLlN3aXRjaENsYXVzZXM9Ml09XCJTd2l0Y2hDbGF1c2VzXCIsc1tzLlN3aXRjaENsYXVzZVN0YXRlbWVudHM9M109XCJTd2l0Y2hDbGF1c2VTdGF0ZW1lbnRzXCIsc1tzLlR5cGVNZW1iZXJzPTRdPVwiVHlwZU1lbWJlcnNcIixzW3MuQ2xhc3NNZW1iZXJzPTVdPVwiQ2xhc3NNZW1iZXJzXCIsc1tzLkVudW1NZW1iZXJzPTZdPVwiRW51bU1lbWJlcnNcIixzW3MuSGVyaXRhZ2VDbGF1c2VFbGVtZW50PTddPVwiSGVyaXRhZ2VDbGF1c2VFbGVtZW50XCIsc1tzLlZhcmlhYmxlRGVjbGFyYXRpb25zPThdPVwiVmFyaWFibGVEZWNsYXJhdGlvbnNcIixzW3MuT2JqZWN0QmluZGluZ0VsZW1lbnRzPTldPVwiT2JqZWN0QmluZGluZ0VsZW1lbnRzXCIsc1tzLkFycmF5QmluZGluZ0VsZW1lbnRzPTEwXT1cIkFycmF5QmluZGluZ0VsZW1lbnRzXCIsc1tzLkFyZ3VtZW50RXhwcmVzc2lvbnM9MTFdPVwiQXJndW1lbnRFeHByZXNzaW9uc1wiLHNbcy5PYmplY3RMaXRlcmFsTWVtYmVycz0xMl09XCJPYmplY3RMaXRlcmFsTWVtYmVyc1wiLHNbcy5Kc3hBdHRyaWJ1dGVzPTEzXT1cIkpzeEF0dHJpYnV0ZXNcIixzW3MuSnN4Q2hpbGRyZW49MTRdPVwiSnN4Q2hpbGRyZW5cIixzW3MuQXJyYXlMaXRlcmFsTWVtYmVycz0xNV09XCJBcnJheUxpdGVyYWxNZW1iZXJzXCIsc1tzLlBhcmFtZXRlcnM9MTZdPVwiUGFyYW1ldGVyc1wiLHNbcy5KU0RvY1BhcmFtZXRlcnM9MTddPVwiSlNEb2NQYXJhbWV0ZXJzXCIsc1tzLlJlc3RQcm9wZXJ0aWVzPTE4XT1cIlJlc3RQcm9wZXJ0aWVzXCIsc1tzLlR5cGVQYXJhbWV0ZXJzPTE5XT1cIlR5cGVQYXJhbWV0ZXJzXCIsc1tzLlR5cGVBcmd1bWVudHM9MjBdPVwiVHlwZUFyZ3VtZW50c1wiLHNbcy5UdXBsZUVsZW1lbnRUeXBlcz0yMV09XCJUdXBsZUVsZW1lbnRUeXBlc1wiLHNbcy5IZXJpdGFnZUNsYXVzZXM9MjJdPVwiSGVyaXRhZ2VDbGF1c2VzXCIsc1tzLkltcG9ydE9yRXhwb3J0U3BlY2lmaWVycz0yM109XCJJbXBvcnRPckV4cG9ydFNwZWNpZmllcnNcIixzW3MuSW1wb3J0QXR0cmlidXRlcz0yNF09XCJJbXBvcnRBdHRyaWJ1dGVzXCIsc1tzLkpTRG9jQ29tbWVudD0yNV09XCJKU0RvY0NvbW1lbnRcIixzW3MuQ291bnQ9MjZdPVwiQ291bnRcIn0pKFhffHwoWF89e30pKTtsZXQgJF87KHM9PntzW3MuRmFsc2U9MF09XCJGYWxzZVwiLHNbcy5UcnVlPTFdPVwiVHJ1ZVwiLHNbcy5Vbmtub3duPTJdPVwiVW5rbm93blwifSkoJF98fCgkXz17fSkpO2xldCBYYzsocz0+e2Z1bmN0aW9uIHAoZWUsY2UsTGUpe3puKFwiZmlsZS5qc1wiLGVlLDk5LHZvaWQgMCwxLDApLHQuc2V0VGV4dChlZSxjZSxMZSksbHQ9dC5zY2FuKCk7bGV0IGplPWQoKSxBZT1zZShcImZpbGUuanNcIiw5OSwxLCExLFtdLHllKDEpLDAsRmEpLFl0PXFpKF90LEFlKTtyZXR1cm4gVXQmJihBZS5qc0RvY0RpYWdub3N0aWNzPXFpKFV0LEFlKSksRm4oKSxqZT97anNEb2NUeXBlRXhwcmVzc2lvbjpqZSxkaWFnbm9zdGljczpZdH06dm9pZCAwfXMucGFyc2VKU0RvY1R5cGVFeHByZXNzaW9uRm9yVGVzdHM9cDtmdW5jdGlvbiBkKGVlKXtsZXQgY2U9SigpLExlPShlZT9KZTpqKSgxOSksamU9VHQoMTY3NzcyMTYsbF8pOyghZWV8fExlKSYmRXMoMjApO2xldCBBZT1oLmNyZWF0ZUpTRG9jVHlwZUV4cHJlc3Npb24oamUpO3JldHVybiBMKEFlKSxEKEFlLGNlKX1zLnBhcnNlSlNEb2NUeXBlRXhwcmVzc2lvbj1kO2Z1bmN0aW9uIGIoKXtsZXQgZWU9SigpLGNlPUplKDE5KSxMZT1KKCksamU9anIoITEpO2Zvcig7dSgpPT09ODE7KU50KCksemUoKSxqZT1EKGguY3JlYXRlSlNEb2NNZW1iZXJOYW1lKGplLFN0KCkpLExlKTtjZSYmRXMoMjApO2xldCBBZT1oLmNyZWF0ZUpTRG9jTmFtZVJlZmVyZW5jZShqZSk7cmV0dXJuIEwoQWUpLEQoQWUsZWUpfXMucGFyc2VKU0RvY05hbWVSZWZlcmVuY2U9YjtmdW5jdGlvbiBTKGVlLGNlLExlKXt6bihcIlwiLGVlLDk5LHZvaWQgMCwxLDApO2xldCBqZT1UdCgxNjc3NzIxNiwoKT0+WihjZSxMZSkpLFl0PXFpKF90LHtsYW5ndWFnZVZhcmlhbnQ6MCx0ZXh0OmVlfSk7cmV0dXJuIEZuKCksamU/e2pzRG9jOmplLGRpYWdub3N0aWNzOll0fTp2b2lkIDB9cy5wYXJzZUlzb2xhdGVkSlNEb2NDb21tZW50PVM7ZnVuY3Rpb24gTihlZSxjZSxMZSl7bGV0IGplPWx0LEFlPV90Lmxlbmd0aCxZdD1ybixtbj1UdCgxNjc3NzIxNiwoKT0+WihjZSxMZSkpO3JldHVybiBTZihtbixlZSksbnQmNTI0Mjg4JiYoVXR8fChVdD1bXSksRG4oVXQsX3QsQWUpKSxsdD1qZSxfdC5sZW5ndGg9QWUscm49WXQsbW59cy5wYXJzZUpTRG9jQ29tbWVudD1OO2xldCBYOyhlZT0+e2VlW2VlLkJlZ2lubmluZ09mTGluZT0wXT1cIkJlZ2lubmluZ09mTGluZVwiLGVlW2VlLlNhd0FzdGVyaXNrPTFdPVwiU2F3QXN0ZXJpc2tcIixlZVtlZS5TYXZpbmdDb21tZW50cz0yXT1cIlNhdmluZ0NvbW1lbnRzXCIsZWVbZWUuU2F2aW5nQmFja3RpY2tzPTNdPVwiU2F2aW5nQmFja3RpY2tzXCJ9KShYfHwoWD17fSkpO2xldCBfZTsoZWU9PntlZVtlZS5Qcm9wZXJ0eT0xXT1cIlByb3BlcnR5XCIsZWVbZWUuUGFyYW1ldGVyPTJdPVwiUGFyYW1ldGVyXCIsZWVbZWUuQ2FsbGJhY2tQYXJhbWV0ZXI9NF09XCJDYWxsYmFja1BhcmFtZXRlclwifSkoX2V8fChfZT17fSkpO2Z1bmN0aW9uIFooZWU9MCxjZSl7bGV0IExlPVFlLGplPWNlPT09dm9pZCAwP0xlLmxlbmd0aDplZStjZTtpZihjZT1qZS1lZSxCLmFzc2VydChlZT49MCksQi5hc3NlcnQoZWU8PWplKSxCLmFzc2VydChqZTw9TGUubGVuZ3RoKSwhazYoTGUsZWUpKXJldHVybjtsZXQgQWUsWXQsbW4sWnQsdXIsTG49W10sRnI9W10sZHA9eXQ7eXR8PTE8PDI1O2xldCBEZT10LnNjYW5SYW5nZShlZSszLGNlLTUsZXQpO3JldHVybiB5dD1kcCxEZTtmdW5jdGlvbiBldCgpe2xldCBPPTEsWSxIPWVlLShMZS5sYXN0SW5kZXhPZihgXG5gLGVlKSsxKSs0O2Z1bmN0aW9uIHRlKFVlKXtZfHwoWT1IKSxMbi5wdXNoKFVlKSxIKz1VZS5sZW5ndGh9Zm9yKHplKCk7QmkoNSk7KTtCaSg0KSYmKE89MCxIPTApO2U6Zm9yKDs7KXtzd2l0Y2godSgpKXtjYXNlIDYwOkNhKExuKSx1cnx8KHVyPUooKSkscGUocShIKSksTz0wLFk9dm9pZCAwO2JyZWFrO2Nhc2UgNDpMbi5wdXNoKHQuZ2V0VG9rZW5UZXh0KCkpLE89MCxIPTA7YnJlYWs7Y2FzZSA0MjpsZXQgVWU9dC5nZXRUb2tlblRleHQoKTtPPT09MT8oTz0yLHRlKFVlKSk6KEIuYXNzZXJ0KE89PT0wKSxPPTEsSCs9VWUubGVuZ3RoKTticmVhaztjYXNlIDU6Qi5hc3NlcnQoTyE9PTIsXCJ3aGl0ZXNwYWNlIHNob3VsZG4ndCBjb21lIGZyb20gdGhlIHNjYW5uZXIgd2hpbGUgc2F2aW5nIHRvcC1sZXZlbCBjb21tZW50IHRleHRcIik7bGV0IHB0PXQuZ2V0VG9rZW5UZXh0KCk7WSE9PXZvaWQgMCYmSCtwdC5sZW5ndGg+WSYmTG4ucHVzaChwdC5zbGljZShZLUgpKSxIKz1wdC5sZW5ndGg7YnJlYWs7Y2FzZSAxOmJyZWFrIGU7Y2FzZSA4MjpPPTIsdGUodC5nZXRUb2tlblZhbHVlKCkpO2JyZWFrO2Nhc2UgMTk6Tz0yO2xldCBobj10LmdldFRva2VuRnVsbFN0YXJ0KCksc249dC5nZXRUb2tlbkVuZCgpLTEsdG49Xyhzbik7aWYodG4pe1p0fHxwcihMbiksRnIucHVzaChEKGguY3JlYXRlSlNEb2NUZXh0KExuLmpvaW4oXCJcIikpLFp0Pz9lZSxobikpLEZyLnB1c2godG4pLExuPVtdLFp0PXQuZ2V0VG9rZW5FbmQoKTticmVha31kZWZhdWx0Ok89Mix0ZSh0LmdldFRva2VuVGV4dCgpKTticmVha31PPT09Mj9hbighMSk6emUoKX1sZXQgbmU9TG4uam9pbihcIlwiKS50cmltRW5kKCk7RnIubGVuZ3RoJiZuZS5sZW5ndGgmJkZyLnB1c2goRChoLmNyZWF0ZUpTRG9jVGV4dChuZSksWnQ/P2VlLHVyKSksRnIubGVuZ3RoJiZBZSYmQi5hc3NlcnRJc0RlZmluZWQodXIsXCJoYXZpbmcgcGFyc2VkIHRhZ3MgaW1wbGllcyB0aGF0IHRoZSBlbmQgb2YgdGhlIGNvbW1lbnQgc3BhbiBzaG91bGQgYmUgc2V0XCIpO2xldCBQZT1BZSYmQ3QoQWUsWXQsbW4pO3JldHVybiBEKGguY3JlYXRlSlNEb2NDb21tZW50KEZyLmxlbmd0aD9DdChGcixlZSx1cik6bmUubGVuZ3RoP25lOnZvaWQgMCxQZSksZWUsamUpfWZ1bmN0aW9uIHByKE8pe2Zvcig7Ty5sZW5ndGgmJihPWzBdPT09YFxuYHx8T1swXT09PVwiXFxyXCIpOylPLnNoaWZ0KCl9ZnVuY3Rpb24gQ2EoTyl7Zm9yKDtPLmxlbmd0aDspe2xldCBZPU9bTy5sZW5ndGgtMV0udHJpbUVuZCgpO2lmKFk9PT1cIlwiKU8ucG9wKCk7ZWxzZSBpZihZLmxlbmd0aDxPW08ubGVuZ3RoLTFdLmxlbmd0aCl7T1tPLmxlbmd0aC0xXT1ZO2JyZWFrfWVsc2UgYnJlYWt9fWZ1bmN0aW9uICRjKCl7Zm9yKDs7KXtpZih6ZSgpLHUoKT09PTEpcmV0dXJuITA7aWYoISh1KCk9PT01fHx1KCk9PT00KSlyZXR1cm4hMX19ZnVuY3Rpb24gSXQoKXtpZighKCh1KCk9PT01fHx1KCk9PT00KSYmRygkYykpKWZvcig7dSgpPT09NXx8dSgpPT09NDspemUoKX1mdW5jdGlvbiB4cigpe2lmKCh1KCk9PT01fHx1KCk9PT00KSYmRygkYykpcmV0dXJuXCJcIjtsZXQgTz10Lmhhc1ByZWNlZGluZ0xpbmVCcmVhaygpLFk9ITEsSD1cIlwiO2Zvcig7TyYmdSgpPT09NDJ8fHUoKT09PTV8fHUoKT09PTQ7KUgrPXQuZ2V0VG9rZW5UZXh0KCksdSgpPT09ND8oTz0hMCxZPSEwLEg9XCJcIik6dSgpPT09NDImJihPPSExKSx6ZSgpO3JldHVybiBZP0g6XCJcIn1mdW5jdGlvbiBxKE8pe0IuYXNzZXJ0KHUoKT09PTYwKTtsZXQgWT10LmdldFRva2VuU3RhcnQoKTt6ZSgpO2xldCBIPWxpKHZvaWQgMCksdGU9eHIoKSxuZTtzd2l0Y2goSC5lc2NhcGVkVGV4dCl7Y2FzZVwiYXV0aG9yXCI6bmU9TzAoWSxILE8sdGUpO2JyZWFrO2Nhc2VcImltcGxlbWVudHNcIjpuZT1KMChZLEgsTyx0ZSk7YnJlYWs7Y2FzZVwiYXVnbWVudHNcIjpjYXNlXCJleHRlbmRzXCI6bmU9TDAoWSxILE8sdGUpO2JyZWFrO2Nhc2VcImNsYXNzXCI6Y2FzZVwiY29uc3RydWN0b3JcIjpuZT1VaShZLGguY3JlYXRlSlNEb2NDbGFzc1RhZyxILE8sdGUpO2JyZWFrO2Nhc2VcInB1YmxpY1wiOm5lPVVpKFksaC5jcmVhdGVKU0RvY1B1YmxpY1RhZyxILE8sdGUpO2JyZWFrO2Nhc2VcInByaXZhdGVcIjpuZT1VaShZLGguY3JlYXRlSlNEb2NQcml2YXRlVGFnLEgsTyx0ZSk7YnJlYWs7Y2FzZVwicHJvdGVjdGVkXCI6bmU9VWkoWSxoLmNyZWF0ZUpTRG9jUHJvdGVjdGVkVGFnLEgsTyx0ZSk7YnJlYWs7Y2FzZVwicmVhZG9ubHlcIjpuZT1VaShZLGguY3JlYXRlSlNEb2NSZWFkb25seVRhZyxILE8sdGUpO2JyZWFrO2Nhc2VcIm92ZXJyaWRlXCI6bmU9VWkoWSxoLmNyZWF0ZUpTRG9jT3ZlcnJpZGVUYWcsSCxPLHRlKTticmVhaztjYXNlXCJkZXByZWNhdGVkXCI6Vm49ITAsbmU9VWkoWSxoLmNyZWF0ZUpTRG9jRGVwcmVjYXRlZFRhZyxILE8sdGUpO2JyZWFrO2Nhc2VcInRoaXNcIjpuZT15ZChZLEgsTyx0ZSk7YnJlYWs7Y2FzZVwiZW51bVwiOm5lPUIwKFksSCxPLHRlKTticmVhaztjYXNlXCJhcmdcIjpjYXNlXCJhcmd1bWVudFwiOmNhc2VcInBhcmFtXCI6cmV0dXJuICRuKFksSCwyLE8pO2Nhc2VcInJldHVyblwiOmNhc2VcInJldHVybnNcIjpuZT1QMChZLEgsTyx0ZSk7YnJlYWs7Y2FzZVwidGVtcGxhdGVcIjpuZT1iZChZLEgsTyx0ZSk7YnJlYWs7Y2FzZVwidHlwZVwiOm5lPW1kKFksSCxPLHRlKTticmVhaztjYXNlXCJ0eXBlZGVmXCI6bmU9cTAoWSxILE8sdGUpO2JyZWFrO2Nhc2VcImNhbGxiYWNrXCI6bmU9RjAoWSxILE8sdGUpO2JyZWFrO2Nhc2VcIm92ZXJsb2FkXCI6bmU9VjAoWSxILE8sdGUpO2JyZWFrO2Nhc2VcInNhdGlzZmllc1wiOm5lPWowKFksSCxPLHRlKTticmVhaztjYXNlXCJzZWVcIjpuZT1OMChZLEgsTyx0ZSk7YnJlYWs7Y2FzZVwiZXhjZXB0aW9uXCI6Y2FzZVwidGhyb3dzXCI6bmU9STAoWSxILE8sdGUpO2JyZWFrO2Nhc2VcImltcG9ydFwiOm5lPVIwKFksSCxPLHRlKTticmVhaztkZWZhdWx0Om5lPUYoWSxILE8sdGUpO2JyZWFrfXJldHVybiBuZX1mdW5jdGlvbiBuKE8sWSxILHRlKXtyZXR1cm4gdGV8fChIKz1ZLU8pLGkoSCx0ZS5zbGljZShIKSl9ZnVuY3Rpb24gaShPLFkpe2xldCBIPUooKSx0ZT1bXSxuZT1bXSxQZSxVZT0wLHB0O2Z1bmN0aW9uIGhuKFFuKXtwdHx8KHB0PU8pLHRlLnB1c2goUW4pLE8rPVFuLmxlbmd0aH1ZIT09dm9pZCAwJiYoWSE9PVwiXCImJmhuKFkpLFVlPTEpO2xldCBzbj11KCk7ZTpmb3IoOzspe3N3aXRjaChzbil7Y2FzZSA0OlVlPTAsdGUucHVzaCh0LmdldFRva2VuVGV4dCgpKSxPPTA7YnJlYWs7Y2FzZSA2MDp0LnJlc2V0VG9rZW5TdGF0ZSh0LmdldFRva2VuRW5kKCktMSk7YnJlYWsgZTtjYXNlIDE6YnJlYWsgZTtjYXNlIDU6Qi5hc3NlcnQoVWUhPT0yJiZVZSE9PTMsXCJ3aGl0ZXNwYWNlIHNob3VsZG4ndCBjb21lIGZyb20gdGhlIHNjYW5uZXIgd2hpbGUgc2F2aW5nIGNvbW1lbnQgdGV4dFwiKTtsZXQgUW49dC5nZXRUb2tlblRleHQoKTtwdCE9PXZvaWQgMCYmTytRbi5sZW5ndGg+cHQmJih0ZS5wdXNoKFFuLnNsaWNlKHB0LU8pKSxVZT0yKSxPKz1Rbi5sZW5ndGg7YnJlYWs7Y2FzZSAxOTpVZT0yO2xldCBRYz10LmdldFRva2VuRnVsbFN0YXJ0KCksUGE9dC5nZXRUb2tlbkVuZCgpLTEsS2M9XyhQYSk7S2M/KG5lLnB1c2goRChoLmNyZWF0ZUpTRG9jVGV4dCh0ZS5qb2luKFwiXCIpKSxQZT8/SCxRYykpLG5lLnB1c2goS2MpLHRlPVtdLFBlPXQuZ2V0VG9rZW5FbmQoKSk6aG4odC5nZXRUb2tlblRleHQoKSk7YnJlYWs7Y2FzZSA2MjpVZT09PTM/VWU9MjpVZT0zLGhuKHQuZ2V0VG9rZW5UZXh0KCkpO2JyZWFrO2Nhc2UgODI6VWUhPT0zJiYoVWU9MiksaG4odC5nZXRUb2tlblZhbHVlKCkpO2JyZWFrO2Nhc2UgNDI6aWYoVWU9PT0wKXtVZT0xLE8rPTE7YnJlYWt9ZGVmYXVsdDpVZSE9PTMmJihVZT0yKSxobih0LmdldFRva2VuVGV4dCgpKTticmVha31VZT09PTJ8fFVlPT09Mz9zbj1hbihVZT09PTMpOnNuPXplKCl9cHIodGUpO2xldCB0bj10ZS5qb2luKFwiXCIpLnRyaW1FbmQoKTtpZihuZS5sZW5ndGgpcmV0dXJuIHRuLmxlbmd0aCYmbmUucHVzaChEKGguY3JlYXRlSlNEb2NUZXh0KHRuKSxQZT8/SCkpLEN0KG5lLEgsdC5nZXRUb2tlbkVuZCgpKTtpZih0bi5sZW5ndGgpcmV0dXJuIHRufWZ1bmN0aW9uIF8oTyl7bGV0IFk9bGUoZik7aWYoIVkpcmV0dXJuO3plKCksSXQoKTtsZXQgSD1jKCksdGU9W107Zm9yKDt1KCkhPT0yMCYmdSgpIT09NCYmdSgpIT09MTspdGUucHVzaCh0LmdldFRva2VuVGV4dCgpKSx6ZSgpO2xldCBuZT1ZPT09XCJsaW5rXCI/aC5jcmVhdGVKU0RvY0xpbms6WT09PVwibGlua2NvZGVcIj9oLmNyZWF0ZUpTRG9jTGlua0NvZGU6aC5jcmVhdGVKU0RvY0xpbmtQbGFpbjtyZXR1cm4gRChuZShILHRlLmpvaW4oXCJcIikpLE8sdC5nZXRUb2tlbkVuZCgpKX1mdW5jdGlvbiBjKCl7aWYod3QodSgpKSl7bGV0IE89SigpLFk9anQoKTtmb3IoO0plKDI1KTspWT1EKGguY3JlYXRlUXVhbGlmaWVkTmFtZShZLHUoKT09PTgxP0d0KDgwLCExKTpqdCgpKSxPKTtmb3IoO3UoKT09PTgxOylOdCgpLHplKCksWT1EKGguY3JlYXRlSlNEb2NNZW1iZXJOYW1lKFksU3QoKSksTyk7cmV0dXJuIFl9fWZ1bmN0aW9uIGYoKXtpZih4cigpLHUoKT09PTE5JiZ6ZSgpPT09NjAmJnd0KHplKCkpKXtsZXQgTz10LmdldFRva2VuVmFsdWUoKTtpZih3KE8pKXJldHVybiBPfX1mdW5jdGlvbiB3KE8pe3JldHVybiBPPT09XCJsaW5rXCJ8fE89PT1cImxpbmtjb2RlXCJ8fE89PT1cImxpbmtwbGFpblwifWZ1bmN0aW9uIEYoTyxZLEgsdGUpe3JldHVybiBEKGguY3JlYXRlSlNEb2NVbmtub3duVGFnKFksbihPLEooKSxILHRlKSksTyl9ZnVuY3Rpb24gcGUoTyl7TyYmKEFlP0FlLnB1c2goTyk6KEFlPVtPXSxZdD1PLnBvcyksbW49Ty5lbmQpfWZ1bmN0aW9uIFJlKCl7cmV0dXJuIHhyKCksdSgpPT09MTk/ZCgpOnZvaWQgMH1mdW5jdGlvbiBlbigpe2xldCBPPUJpKDIzKTtPJiZJdCgpO2xldCBZPUJpKDYyKSxIPSQwKCk7cmV0dXJuIFkmJnFsKDYyKSxPJiYoSXQoKSxmdCg2NCkmJkV0KCksaigyNCkpLHtuYW1lOkgsaXNCcmFja2V0ZWQ6T319ZnVuY3Rpb24ga24oTyl7c3dpdGNoKE8ua2luZCl7Y2FzZSAxNTE6cmV0dXJuITA7Y2FzZSAxODg6cmV0dXJuIGtuKE8uZWxlbWVudFR5cGUpO2RlZmF1bHQ6cmV0dXJuIERmKE8pJiZ0dChPLnR5cGVOYW1lKSYmTy50eXBlTmFtZS5lc2NhcGVkVGV4dD09PVwiT2JqZWN0XCImJiFPLnR5cGVBcmd1bWVudHN9fWZ1bmN0aW9uICRuKE8sWSxILHRlKXtsZXQgbmU9UmUoKSxQZT0hbmU7eHIoKTtsZXR7bmFtZTpVZSxpc0JyYWNrZXRlZDpwdH09ZW4oKSxobj14cigpO1BlJiYhRyhmKSYmKG5lPVJlKCkpO2xldCBzbj1uKE8sSigpLHRlLGhuKSx0bj1EYShuZSxVZSxILHRlKTt0biYmKG5lPXRuLFBlPSEwKTtsZXQgUW49SD09PTE/aC5jcmVhdGVKU0RvY1Byb3BlcnR5VGFnKFksVWUscHQsbmUsUGUsc24pOmguY3JlYXRlSlNEb2NQYXJhbWV0ZXJUYWcoWSxVZSxwdCxuZSxQZSxzbik7cmV0dXJuIEQoUW4sTyl9ZnVuY3Rpb24gRGEoTyxZLEgsdGUpe2lmKE8mJmtuKE8udHlwZSkpe2xldCBuZT1KKCksUGUsVWU7Zm9yKDtQZT1sZSgoKT0+aHAoSCx0ZSxZKSk7KVBlLmtpbmQ9PT0zNDF8fFBlLmtpbmQ9PT0zNDg/VWU9QW4oVWUsUGUpOlBlLmtpbmQ9PT0zNDUmJmxuKFBlLnRhZ05hbWUsRS5BX0pTRG9jX3RlbXBsYXRlX3RhZ19tYXlfbm90X2ZvbGxvd19hX3R5cGVkZWZfY2FsbGJhY2tfb3Jfb3ZlcmxvYWRfdGFnKTtpZihVZSl7bGV0IHB0PUQoaC5jcmVhdGVKU0RvY1R5cGVMaXRlcmFsKFVlLE8udHlwZS5raW5kPT09MTg4KSxuZSk7cmV0dXJuIEQoaC5jcmVhdGVKU0RvY1R5cGVFeHByZXNzaW9uKHB0KSxuZSl9fX1mdW5jdGlvbiBQMChPLFksSCx0ZSl7SHQoQWUscDYpJiZydChZLnBvcyx0LmdldFRva2VuU3RhcnQoKSxFLl8wX3RhZ19hbHJlYWR5X3NwZWNpZmllZCxjcyhZLmVzY2FwZWRUZXh0KSk7bGV0IG5lPVJlKCk7cmV0dXJuIEQoaC5jcmVhdGVKU0RvY1JldHVyblRhZyhZLG5lLG4oTyxKKCksSCx0ZSkpLE8pfWZ1bmN0aW9uIG1kKE8sWSxILHRlKXtIdChBZSxGZikmJnJ0KFkucG9zLHQuZ2V0VG9rZW5TdGFydCgpLEUuXzBfdGFnX2FscmVhZHlfc3BlY2lmaWVkLGNzKFkuZXNjYXBlZFRleHQpKTtsZXQgbmU9ZCghMCksUGU9SCE9PXZvaWQgMCYmdGUhPT12b2lkIDA/bihPLEooKSxILHRlKTp2b2lkIDA7cmV0dXJuIEQoaC5jcmVhdGVKU0RvY1R5cGVUYWcoWSxuZSxQZSksTyl9ZnVuY3Rpb24gTjAoTyxZLEgsdGUpe2xldCBQZT11KCk9PT0yM3x8RygoKT0+emUoKT09PTYwJiZ3dCh6ZSgpKSYmdyh0LmdldFRva2VuVmFsdWUoKSkpP3ZvaWQgMDpiKCksVWU9SCE9PXZvaWQgMCYmdGUhPT12b2lkIDA/bihPLEooKSxILHRlKTp2b2lkIDA7cmV0dXJuIEQoaC5jcmVhdGVKU0RvY1NlZVRhZyhZLFBlLFVlKSxPKX1mdW5jdGlvbiBJMChPLFksSCx0ZSl7bGV0IG5lPVJlKCksUGU9bihPLEooKSxILHRlKTtyZXR1cm4gRChoLmNyZWF0ZUpTRG9jVGhyb3dzVGFnKFksbmUsUGUpLE8pfWZ1bmN0aW9uIE8wKE8sWSxILHRlKXtsZXQgbmU9SigpLFBlPU0wKCksVWU9dC5nZXRUb2tlbkZ1bGxTdGFydCgpLHB0PW4oTyxVZSxILHRlKTtwdHx8KFVlPXQuZ2V0VG9rZW5GdWxsU3RhcnQoKSk7bGV0IGhuPXR5cGVvZiBwdCE9XCJzdHJpbmdcIj9DdChZcChbRChQZSxuZSxVZSldLHB0KSxuZSk6UGUudGV4dCtwdDtyZXR1cm4gRChoLmNyZWF0ZUpTRG9jQXV0aG9yVGFnKFksaG4pLE8pfWZ1bmN0aW9uIE0wKCl7bGV0IE89W10sWT0hMSxIPXQuZ2V0VG9rZW4oKTtmb3IoO0ghPT0xJiZIIT09NDspe2lmKEg9PT0zMClZPSEwO2Vsc2V7aWYoSD09PTYwJiYhWSlicmVhaztpZihIPT09MzImJlkpe08ucHVzaCh0LmdldFRva2VuVGV4dCgpKSx0LnJlc2V0VG9rZW5TdGF0ZSh0LmdldFRva2VuRW5kKCkpO2JyZWFrfX1PLnB1c2godC5nZXRUb2tlblRleHQoKSksSD16ZSgpfXJldHVybiBoLmNyZWF0ZUpTRG9jVGV4dChPLmpvaW4oXCJcIikpfWZ1bmN0aW9uIEowKE8sWSxILHRlKXtsZXQgbmU9aGQoKTtyZXR1cm4gRChoLmNyZWF0ZUpTRG9jSW1wbGVtZW50c1RhZyhZLG5lLG4oTyxKKCksSCx0ZSkpLE8pfWZ1bmN0aW9uIEwwKE8sWSxILHRlKXtsZXQgbmU9aGQoKTtyZXR1cm4gRChoLmNyZWF0ZUpTRG9jQXVnbWVudHNUYWcoWSxuZSxuKE8sSigpLEgsdGUpKSxPKX1mdW5jdGlvbiBqMChPLFksSCx0ZSl7bGV0IG5lPWQoITEpLFBlPUghPT12b2lkIDAmJnRlIT09dm9pZCAwP24oTyxKKCksSCx0ZSk6dm9pZCAwO3JldHVybiBEKGguY3JlYXRlSlNEb2NTYXRpc2ZpZXNUYWcoWSxuZSxQZSksTyl9ZnVuY3Rpb24gUjAoTyxZLEgsdGUpe2xldCBuZT10LmdldFRva2VuRnVsbFN0YXJ0KCksUGU7dmUoKSYmKFBlPVN0KCkpO2xldCBVZT1zaShQZSxuZSwhMCwhMCkscHQ9UmkoKSxobj1XYygpLHNuPUghPT12b2lkIDAmJnRlIT09dm9pZCAwP24oTyxKKCksSCx0ZSk6dm9pZCAwO3JldHVybiBEKGguY3JlYXRlSlNEb2NJbXBvcnRUYWcoWSxVZSxwdCxobixzbiksTyl9ZnVuY3Rpb24gaGQoKXtsZXQgTz1KZSgxOSksWT1KKCksSD1VMCgpO3Quc2V0U2tpcEpzRG9jTGVhZGluZ0FzdGVyaXNrcyghMCk7bGV0IHRlPUFhKCk7dC5zZXRTa2lwSnNEb2NMZWFkaW5nQXN0ZXJpc2tzKCExKTtsZXQgbmU9aC5jcmVhdGVFeHByZXNzaW9uV2l0aFR5cGVBcmd1bWVudHMoSCx0ZSksUGU9RChuZSxZKTtyZXR1cm4gTyYmaigyMCksUGV9ZnVuY3Rpb24gVTAoKXtsZXQgTz1KKCksWT1saSgpO2Zvcig7SmUoMjUpOyl7bGV0IEg9bGkoKTtZPUQoYWUoWSxIKSxPKX1yZXR1cm4gWX1mdW5jdGlvbiBVaShPLFksSCx0ZSxuZSl7cmV0dXJuIEQoWShILG4oTyxKKCksdGUsbmUpKSxPKX1mdW5jdGlvbiB5ZChPLFksSCx0ZSl7bGV0IG5lPWQoITApO3JldHVybiBJdCgpLEQoaC5jcmVhdGVKU0RvY1RoaXNUYWcoWSxuZSxuKE8sSigpLEgsdGUpKSxPKX1mdW5jdGlvbiBCMChPLFksSCx0ZSl7bGV0IG5lPWQoITApO3JldHVybiBJdCgpLEQoaC5jcmVhdGVKU0RvY0VudW1UYWcoWSxuZSxuKE8sSigpLEgsdGUpKSxPKX1mdW5jdGlvbiBxMChPLFksSCx0ZSl7bGV0IG5lPVJlKCk7eHIoKTtsZXQgUGU9bXAoKTtJdCgpO2xldCBVZT1pKEgpLHB0O2lmKCFuZXx8a24obmUudHlwZSkpe2xldCBzbix0bixRbixRYz0hMTtmb3IoOyhzbj1sZSgoKT0+RzAoSCkpKSYmc24ua2luZCE9PTM0NTspaWYoUWM9ITAsc24ua2luZD09PTM0NClpZih0bil7bGV0IFBhPUVlKEUuQV9KU0RvY190eXBlZGVmX2NvbW1lbnRfbWF5X25vdF9jb250YWluX211bHRpcGxlX3R5cGVfdGFncyk7UGEmJm5sKFBhLE9hKE10LFFlLDAsMCxFLlRoZV90YWdfd2FzX2ZpcnN0X3NwZWNpZmllZF9oZXJlKSk7YnJlYWt9ZWxzZSB0bj1zbjtlbHNlIFFuPUFuKFFuLHNuKTtpZihRYyl7bGV0IFBhPW5lJiZuZS50eXBlLmtpbmQ9PT0xODgsS2M9aC5jcmVhdGVKU0RvY1R5cGVMaXRlcmFsKFFuLFBhKTtuZT10biYmdG4udHlwZUV4cHJlc3Npb24mJiFrbih0bi50eXBlRXhwcmVzc2lvbi50eXBlKT90bi50eXBlRXhwcmVzc2lvbjpEKEtjLE8pLHB0PW5lLmVuZH19cHQ9cHR8fFVlIT09dm9pZCAwP0ooKTooUGU/P25lPz9ZKS5lbmQsVWV8fChVZT1uKE8scHQsSCx0ZSkpO2xldCBobj1oLmNyZWF0ZUpTRG9jVHlwZWRlZlRhZyhZLG5lLFBlLFVlKTtyZXR1cm4gRChobixPLHB0KX1mdW5jdGlvbiBtcChPKXtsZXQgWT10LmdldFRva2VuU3RhcnQoKTtpZighd3QodSgpKSlyZXR1cm47bGV0IEg9bGkoKTtpZihKZSgyNSkpe2xldCB0ZT1tcCghMCksbmU9aC5jcmVhdGVNb2R1bGVEZWNsYXJhdGlvbih2b2lkIDAsSCx0ZSxPPzg6dm9pZCAwKTtyZXR1cm4gRChuZSxZKX1yZXR1cm4gTyYmKEguZmxhZ3N8PTQwOTYpLEh9ZnVuY3Rpb24gejAoTyl7bGV0IFk9SigpLEgsdGU7Zm9yKDtIPWxlKCgpPT5ocCg0LE8pKTspe2lmKEgua2luZD09PTM0NSl7bG4oSC50YWdOYW1lLEUuQV9KU0RvY190ZW1wbGF0ZV90YWdfbWF5X25vdF9mb2xsb3dfYV90eXBlZGVmX2NhbGxiYWNrX29yX292ZXJsb2FkX3RhZyk7YnJlYWt9dGU9QW4odGUsSCl9cmV0dXJuIEN0KHRlfHxbXSxZKX1mdW5jdGlvbiBnZChPLFkpe2xldCBIPXowKFkpLHRlPWxlKCgpPT57aWYoQmkoNjApKXtsZXQgbmU9cShZKTtpZihuZSYmbmUua2luZD09PTM0MilyZXR1cm4gbmV9fSk7cmV0dXJuIEQoaC5jcmVhdGVKU0RvY1NpZ25hdHVyZSh2b2lkIDAsSCx0ZSksTyl9ZnVuY3Rpb24gRjAoTyxZLEgsdGUpe2xldCBuZT1tcCgpO0l0KCk7bGV0IFBlPWkoSCksVWU9Z2QoTyxIKTtQZXx8KFBlPW4oTyxKKCksSCx0ZSkpO2xldCBwdD1QZSE9PXZvaWQgMD9KKCk6VWUuZW5kO3JldHVybiBEKGguY3JlYXRlSlNEb2NDYWxsYmFja1RhZyhZLFVlLG5lLFBlKSxPLHB0KX1mdW5jdGlvbiBWMChPLFksSCx0ZSl7SXQoKTtsZXQgbmU9aShIKSxQZT1nZChPLEgpO25lfHwobmU9bihPLEooKSxILHRlKSk7bGV0IFVlPW5lIT09dm9pZCAwP0ooKTpQZS5lbmQ7cmV0dXJuIEQoaC5jcmVhdGVKU0RvY092ZXJsb2FkVGFnKFksUGUsbmUpLE8sVWUpfWZ1bmN0aW9uIFcwKE8sWSl7Zm9yKDshdHQoTyl8fCF0dChZKTspaWYoIXR0KE8pJiYhdHQoWSkmJk8ucmlnaHQuZXNjYXBlZFRleHQ9PT1ZLnJpZ2h0LmVzY2FwZWRUZXh0KU89Ty5sZWZ0LFk9WS5sZWZ0O2Vsc2UgcmV0dXJuITE7cmV0dXJuIE8uZXNjYXBlZFRleHQ9PT1ZLmVzY2FwZWRUZXh0fWZ1bmN0aW9uIEcwKE8pe3JldHVybiBocCgxLE8pfWZ1bmN0aW9uIGhwKE8sWSxIKXtsZXQgdGU9ITAsbmU9ITE7Zm9yKDs7KXN3aXRjaCh6ZSgpKXtjYXNlIDYwOmlmKHRlKXtsZXQgUGU9WTAoTyxZKTtyZXR1cm4gUGUmJihQZS5raW5kPT09MzQxfHxQZS5raW5kPT09MzQ4KSYmSCYmKHR0KFBlLm5hbWUpfHwhVzAoSCxQZS5uYW1lLmxlZnQpKT8hMTpQZX1uZT0hMTticmVhaztjYXNlIDQ6dGU9ITAsbmU9ITE7YnJlYWs7Y2FzZSA0MjpuZSYmKHRlPSExKSxuZT0hMDticmVhaztjYXNlIDgwOnRlPSExO2JyZWFrO2Nhc2UgMTpyZXR1cm4hMX19ZnVuY3Rpb24gWTAoTyxZKXtCLmFzc2VydCh1KCk9PT02MCk7bGV0IEg9dC5nZXRUb2tlbkZ1bGxTdGFydCgpO3plKCk7bGV0IHRlPWxpKCksbmU9eHIoKSxQZTtzd2l0Y2godGUuZXNjYXBlZFRleHQpe2Nhc2VcInR5cGVcIjpyZXR1cm4gTz09PTEmJm1kKEgsdGUpO2Nhc2VcInByb3BcIjpjYXNlXCJwcm9wZXJ0eVwiOlBlPTE7YnJlYWs7Y2FzZVwiYXJnXCI6Y2FzZVwiYXJndW1lbnRcIjpjYXNlXCJwYXJhbVwiOlBlPTY7YnJlYWs7Y2FzZVwidGVtcGxhdGVcIjpyZXR1cm4gYmQoSCx0ZSxZLG5lKTtjYXNlXCJ0aGlzXCI6cmV0dXJuIHlkKEgsdGUsWSxuZSk7ZGVmYXVsdDpyZXR1cm4hMX1yZXR1cm4gTyZQZT8kbihILHRlLE8sWSk6ITF9ZnVuY3Rpb24gSDAoKXtsZXQgTz1KKCksWT1CaSgyMyk7WSYmSXQoKTtsZXQgSD13bighMSwhMCksdGU9bGkoRS5VbmV4cGVjdGVkX3Rva2VuX0FfdHlwZV9wYXJhbWV0ZXJfbmFtZV93YXNfZXhwZWN0ZWRfd2l0aG91dF9jdXJseV9icmFjZXMpLG5lO2lmKFkmJihJdCgpLGooNjQpLG5lPVR0KDE2Nzc3MjE2LGxfKSxqKDI0KSksIUhpKHRlKSlyZXR1cm4gRChoLmNyZWF0ZVR5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvbihILHRlLHZvaWQgMCxuZSksTyl9ZnVuY3Rpb24gWDAoKXtsZXQgTz1KKCksWT1bXTtkb3tJdCgpO2xldCBIPUgwKCk7SCE9PXZvaWQgMCYmWS5wdXNoKEgpLHhyKCl9d2hpbGUoQmkoMjgpKTtyZXR1cm4gQ3QoWSxPKX1mdW5jdGlvbiBiZChPLFksSCx0ZSl7bGV0IG5lPXUoKT09PTE5P2QoKTp2b2lkIDAsUGU9WDAoKTtyZXR1cm4gRChoLmNyZWF0ZUpTRG9jVGVtcGxhdGVUYWcoWSxuZSxQZSxuKE8sSigpLEgsdGUpKSxPKX1mdW5jdGlvbiBCaShPKXtyZXR1cm4gdSgpPT09Tz8oemUoKSwhMCk6ITF9ZnVuY3Rpb24gJDAoKXtsZXQgTz1saSgpO2ZvcihKZSgyMykmJmooMjQpO0plKDI1KTspe2xldCBZPWxpKCk7SmUoMjMpJiZqKDI0KSxPPUhsKE8sWSl9cmV0dXJuIE99ZnVuY3Rpb24gbGkoTyl7aWYoIXd0KHUoKSkpcmV0dXJuIEd0KDgwLCFPLE98fEUuSWRlbnRpZmllcl9leHBlY3RlZCk7dm4rKztsZXQgWT10LmdldFRva2VuU3RhcnQoKSxIPXQuZ2V0VG9rZW5FbmQoKSx0ZT11KCksbmU9TXIodC5nZXRUb2tlblZhbHVlKCkpLFBlPUQocmUobmUsdGUpLFksSCk7cmV0dXJuIHplKCksUGV9fX0pKFhjPWUuSlNEb2NQYXJzZXJ8fChlLkpTRG9jUGFyc2VyPXt9KSl9KSgkaXx8KCRpPXt9KSk7dmFyIHhtPW5ldyBXZWFrU2V0O2Z1bmN0aW9uIEo2KGUpe3htLmhhcyhlKSYmQi5mYWlsKFwiU291cmNlIGZpbGUgaGFzIGFscmVhZHkgYmVlbiBpbmNyZW1lbnRhbGx5IHBhcnNlZFwiKSx4bS5hZGQoZSl9dmFyIGhoPW5ldyBXZWFrU2V0O2Z1bmN0aW9uIEw2KGUpe3JldHVybiBoaC5oYXMoZSl9ZnVuY3Rpb24gV3AoZSl7aGguYWRkKGUpfXZhciB2bDsoZT0+e2Z1bmN0aW9uIHQoeCxJLHJlLGhlKXtpZihoZT1oZXx8Qi5zaG91bGRBc3NlcnQoMiksaCh4LEkscmUsaGUpLGZnKHJlKSlyZXR1cm4geDtpZih4LnN0YXRlbWVudHMubGVuZ3RoPT09MClyZXR1cm4gJGkucGFyc2VTb3VyY2VGaWxlKHguZmlsZU5hbWUsSSx4Lmxhbmd1YWdlVmVyc2lvbix2b2lkIDAsITAseC5zY3JpcHRLaW5kLHguc2V0RXh0ZXJuYWxNb2R1bGVJbmRpY2F0b3IseC5qc0RvY1BhcnNpbmdNb2RlKTtKNih4KSwkaS5maXh1cFBhcmVudFJlZmVyZW5jZXMoeCk7bGV0IHllPXgudGV4dCxkZT15KHgpLE09bCh4LHJlKTtoKHgsSSxNLGhlKSxCLmFzc2VydChNLnNwYW4uc3RhcnQ8PXJlLnNwYW4uc3RhcnQpLEIuYXNzZXJ0KHdyKE0uc3Bhbik9PT13cihyZS5zcGFuKSksQi5hc3NlcnQod3IoS18oTSkpPT09d3IoS18ocmUpKSk7bGV0IGFlPUtfKE0pLmxlbmd0aC1NLnNwYW4ubGVuZ3RoO1AoeCxNLnNwYW4uc3RhcnQsd3IoTS5zcGFuKSx3cihLXyhNKSksYWUseWUsSSxoZSk7bGV0IE9lPSRpLnBhcnNlU291cmNlRmlsZSh4LmZpbGVOYW1lLEkseC5sYW5ndWFnZVZlcnNpb24sZGUsITAseC5zY3JpcHRLaW5kLHguc2V0RXh0ZXJuYWxNb2R1bGVJbmRpY2F0b3IseC5qc0RvY1BhcnNpbmdNb2RlKTtyZXR1cm4gT2UuY29tbWVudERpcmVjdGl2ZXM9YSh4LmNvbW1lbnREaXJlY3RpdmVzLE9lLmNvbW1lbnREaXJlY3RpdmVzLE0uc3Bhbi5zdGFydCx3cihNLnNwYW4pLGFlLHllLEksaGUpLE9lLmltcGxpZWROb2RlRm9ybWF0PXguaW1wbGllZE5vZGVGb3JtYXQsaDYoeCxPZSksT2V9ZS51cGRhdGVTb3VyY2VGaWxlPXQ7ZnVuY3Rpb24gYSh4LEkscmUsaGUseWUsZGUsTSxhZSl7aWYoIXgpcmV0dXJuIEk7bGV0IE9lLFY9ITE7Zm9yKGxldCBXIG9mIHgpe2xldHtyYW5nZTpkdCx0eXBlOm5yfT1XO2lmKGR0LmVuZDxyZSlPZT1BbihPZSxXKTtlbHNlIGlmKGR0LnBvcz5oZSl7b2UoKTtsZXQgZ249e3JhbmdlOntwb3M6ZHQucG9zK3llLGVuZDpkdC5lbmQreWV9LHR5cGU6bnJ9O09lPUFuKE9lLGduKSxhZSYmQi5hc3NlcnQoZGUuc3Vic3RyaW5nKGR0LnBvcyxkdC5lbmQpPT09TS5zdWJzdHJpbmcoZ24ucmFuZ2UucG9zLGduLnJhbmdlLmVuZCkpfX1yZXR1cm4gb2UoKSxPZTtmdW5jdGlvbiBvZSgpe1Z8fChWPSEwLE9lP0kmJk9lLnB1c2goLi4uSSk6T2U9SSl9fWZ1bmN0aW9uIG8oeCxJLHJlLGhlLHllLGRlLE0pe3JlP09lKHgpOmFlKHgpO3JldHVybjtmdW5jdGlvbiBhZShWKXtsZXQgb2U9XCJcIjtpZihNJiZtKFYpJiYob2U9eWUuc3Vic3RyaW5nKFYucG9zLFYuZW5kKSksS2QoVixJKSx5aShWLFYucG9zK2hlLFYuZW5kK2hlKSxNJiZtKFYpJiZCLmFzc2VydChvZT09PWRlLnN1YnN0cmluZyhWLnBvcyxWLmVuZCkpLFh0KFYsYWUsT2UpLFlpKFYpKWZvcihsZXQgVyBvZiBWLmpzRG9jKWFlKFcpO0EoVixNKX1mdW5jdGlvbiBPZShWKXt5aShWLFYucG9zK2hlLFYuZW5kK2hlKTtmb3IobGV0IG9lIG9mIFYpYWUob2UpfX1mdW5jdGlvbiBtKHgpe3N3aXRjaCh4LmtpbmQpe2Nhc2UgMTE6Y2FzZSA5OmNhc2UgODA6cmV0dXJuITB9cmV0dXJuITF9ZnVuY3Rpb24gdih4LEkscmUsaGUseWUpe0IuYXNzZXJ0KHguZW5kPj1JLFwiQWRqdXN0aW5nIGFuIGVsZW1lbnQgdGhhdCB3YXMgZW50aXJlbHkgYmVmb3JlIHRoZSBjaGFuZ2UgcmFuZ2VcIiksQi5hc3NlcnQoeC5wb3M8PXJlLFwiQWRqdXN0aW5nIGFuIGVsZW1lbnQgdGhhdCB3YXMgZW50aXJlbHkgYWZ0ZXIgdGhlIGNoYW5nZSByYW5nZVwiKSxCLmFzc2VydCh4LnBvczw9eC5lbmQpO2xldCBkZT1NYXRoLm1pbih4LnBvcyxoZSksTT14LmVuZD49cmU/eC5lbmQreWU6TWF0aC5taW4oeC5lbmQsaGUpO2lmKEIuYXNzZXJ0KGRlPD1NKSx4LnBhcmVudCl7bGV0IGFlPXgucGFyZW50O0IuYXNzZXJ0R3JlYXRlclRoYW5PckVxdWFsKGRlLGFlLnBvcyksQi5hc3NlcnRMZXNzVGhhbk9yRXF1YWwoTSxhZS5lbmQpfXlpKHgsZGUsTSl9ZnVuY3Rpb24gQSh4LEkpe2lmKEkpe2xldCByZT14LnBvcyxoZT15ZT0+e0IuYXNzZXJ0KHllLnBvcz49cmUpLHJlPXllLmVuZH07aWYoWWkoeCkpZm9yKGxldCB5ZSBvZiB4LmpzRG9jKWhlKHllKTtYdCh4LGhlKSxCLmFzc2VydChyZTw9eC5lbmQpfX1mdW5jdGlvbiBQKHgsSSxyZSxoZSx5ZSxkZSxNLGFlKXtPZSh4KTtyZXR1cm47ZnVuY3Rpb24gT2Uob2Upe2lmKEIuYXNzZXJ0KG9lLnBvczw9b2UuZW5kKSxvZS5wb3M+cmUpe28ob2UseCwhMSx5ZSxkZSxNLGFlKTtyZXR1cm59bGV0IFc9b2UuZW5kO2lmKFc+PUkpe2lmKFdwKG9lKSxLZChvZSx4KSx2KG9lLEkscmUsaGUseWUpLFh0KG9lLE9lLFYpLFlpKG9lKSlmb3IobGV0IGR0IG9mIG9lLmpzRG9jKU9lKGR0KTtBKG9lLGFlKTtyZXR1cm59Qi5hc3NlcnQoVzxJKX1mdW5jdGlvbiBWKG9lKXtpZihCLmFzc2VydChvZS5wb3M8PW9lLmVuZCksb2UucG9zPnJlKXtvKG9lLHgsITAseWUsZGUsTSxhZSk7cmV0dXJufWxldCBXPW9lLmVuZDtpZihXPj1JKXtXcChvZSksdihvZSxJLHJlLGhlLHllKTtmb3IobGV0IGR0IG9mIG9lKU9lKGR0KTtyZXR1cm59Qi5hc3NlcnQoVzxJKX19ZnVuY3Rpb24gbCh4LEkpe2xldCBoZT1JLnNwYW4uc3RhcnQ7Zm9yKGxldCBNPTA7aGU+MCYmTTw9MTtNKyspe2xldCBhZT1RKHgsaGUpO0IuYXNzZXJ0KGFlLnBvczw9aGUpO2xldCBPZT1hZS5wb3M7aGU9TWF0aC5tYXgoMCxPZS0xKX1sZXQgeWU9cGcoaGUsd3IoSS5zcGFuKSksZGU9SS5uZXdMZW5ndGgrKEkuc3Bhbi5zdGFydC1oZSk7cmV0dXJuIEttKHllLGRlKX1mdW5jdGlvbiBRKHgsSSl7bGV0IHJlPXgsaGU7aWYoWHQoeCxkZSksaGUpe2xldCBNPXllKGhlKTtNLnBvcz5yZS5wb3MmJihyZT1NKX1yZXR1cm4gcmU7ZnVuY3Rpb24geWUoTSl7Zm9yKDs7KXtsZXQgYWU9UTIoTSk7aWYoYWUpTT1hZTtlbHNlIHJldHVybiBNfX1mdW5jdGlvbiBkZShNKXtpZighSGkoTSkpaWYoTS5wb3M8PUkpe2lmKE0ucG9zPj1yZS5wb3MmJihyZT1NKSxJPE0uZW5kKXJldHVybiBYdChNLGRlKSwhMDtCLmFzc2VydChNLmVuZDw9SSksaGU9TX1lbHNlIHJldHVybiBCLmFzc2VydChNLnBvcz5JKSwhMH19ZnVuY3Rpb24gaCh4LEkscmUsaGUpe2xldCB5ZT14LnRleHQ7aWYocmUmJihCLmFzc2VydCh5ZS5sZW5ndGgtcmUuc3Bhbi5sZW5ndGgrcmUubmV3TGVuZ3RoPT09SS5sZW5ndGgpLGhlfHxCLnNob3VsZEFzc2VydCgzKSkpe2xldCBkZT15ZS5zdWJzdHIoMCxyZS5zcGFuLnN0YXJ0KSxNPUkuc3Vic3RyKDAscmUuc3Bhbi5zdGFydCk7Qi5hc3NlcnQoZGU9PT1NKTtsZXQgYWU9eWUuc3Vic3RyaW5nKHdyKHJlLnNwYW4pLHllLmxlbmd0aCksT2U9SS5zdWJzdHJpbmcod3IoS18ocmUpKSxJLmxlbmd0aCk7Qi5hc3NlcnQoYWU9PT1PZSl9fWZ1bmN0aW9uIHkoeCl7bGV0IEk9eC5zdGF0ZW1lbnRzLHJlPTA7Qi5hc3NlcnQocmU8SS5sZW5ndGgpO2xldCBoZT1JW3JlXSx5ZT0tMTtyZXR1cm57Y3VycmVudE5vZGUoTSl7cmV0dXJuIE0hPT15ZSYmKGhlJiZoZS5lbmQ9PT1NJiZyZTxJLmxlbmd0aC0xJiYocmUrKyxoZT1JW3JlXSksKCFoZXx8aGUucG9zIT09TSkmJmRlKE0pKSx5ZT1NLEIuYXNzZXJ0KCFoZXx8aGUucG9zPT09TSksaGV9fTtmdW5jdGlvbiBkZShNKXtJPXZvaWQgMCxyZT0tMSxoZT12b2lkIDAsWHQoeCxhZSxPZSk7cmV0dXJuO2Z1bmN0aW9uIGFlKFYpe3JldHVybiBNPj1WLnBvcyYmTTxWLmVuZD8oWHQoVixhZSxPZSksITApOiExfWZ1bmN0aW9uIE9lKFYpe2lmKE0+PVYucG9zJiZNPFYuZW5kKWZvcihsZXQgb2U9MDtvZTxWLmxlbmd0aDtvZSsrKXtsZXQgVz1WW29lXTtpZihXKXtpZihXLnBvcz09PU0pcmV0dXJuIEk9VixyZT1vZSxoZT1XLCEwO2lmKFcucG9zPE0mJk08Vy5lbmQpcmV0dXJuIFh0KFcsYWUsT2UpLCEwfX1yZXR1cm4hMX19fWUuY3JlYXRlU3ludGF4Q3Vyc29yPXk7bGV0IGc7KHg9Pnt4W3guVmFsdWU9LTFdPVwiVmFsdWVcIn0pKGd8fChnPXt9KSl9KSh2bHx8KHZsPXt9KSk7ZnVuY3Rpb24gajYoZSl7cmV0dXJuIFI2KGUpIT09dm9pZCAwfWZ1bmN0aW9uIFI2KGUpe2xldCB0PVJtKGUsZ2IsITEpO2lmKHQpcmV0dXJuIHQ7aWYoT3koZSxcIi50c1wiKSl7bGV0IGE9am0oZSksbz1hLmxhc3RJbmRleE9mKFwiLmQuXCIpO2lmKG8+PTApcmV0dXJuIGEuc3Vic3RyaW5nKG8pfX1mdW5jdGlvbiBVNihlLHQsYSxvKXtpZihlKXtpZihlPT09XCJpbXBvcnRcIilyZXR1cm4gOTk7aWYoZT09PVwicmVxdWlyZVwiKXJldHVybiAxO28odCxhLXQsRS5yZXNvbHV0aW9uX21vZGVfc2hvdWxkX2JlX2VpdGhlcl9yZXF1aXJlX29yX2ltcG9ydCl9fWZ1bmN0aW9uIEI2KGUsdCl7bGV0IGE9W107Zm9yKGxldCBvIG9mIEpwKHQsMCl8fGJ0KXtsZXQgbT10LnN1YnN0cmluZyhvLnBvcyxvLmVuZCk7VzYoYSxvLG0pfWUucHJhZ21hcz1uZXcgTWFwO2ZvcihsZXQgbyBvZiBhKXtpZihlLnByYWdtYXMuaGFzKG8ubmFtZSkpe2xldCBtPWUucHJhZ21hcy5nZXQoby5uYW1lKTttIGluc3RhbmNlb2YgQXJyYXk/bS5wdXNoKG8uYXJncyk6ZS5wcmFnbWFzLnNldChvLm5hbWUsW20sby5hcmdzXSk7Y29udGludWV9ZS5wcmFnbWFzLnNldChvLm5hbWUsby5hcmdzKX19ZnVuY3Rpb24gcTYoZSx0KXtlLmNoZWNrSnNEaXJlY3RpdmU9dm9pZCAwLGUucmVmZXJlbmNlZEZpbGVzPVtdLGUudHlwZVJlZmVyZW5jZURpcmVjdGl2ZXM9W10sZS5saWJSZWZlcmVuY2VEaXJlY3RpdmVzPVtdLGUuYW1kRGVwZW5kZW5jaWVzPVtdLGUuaGFzTm9EZWZhdWx0TGliPSExLGUucHJhZ21hcy5mb3JFYWNoKChhLG8pPT57c3dpdGNoKG8pe2Nhc2VcInJlZmVyZW5jZVwiOntsZXQgbT1lLnJlZmVyZW5jZWRGaWxlcyx2PWUudHlwZVJlZmVyZW5jZURpcmVjdGl2ZXMsQT1lLmxpYlJlZmVyZW5jZURpcmVjdGl2ZXM7VW4oYnAoYSksUD0+e2xldHt0eXBlczpsLGxpYjpRLHBhdGg6aCxbXCJyZXNvbHV0aW9uLW1vZGVcIl06eSxwcmVzZXJ2ZTpnfT1QLmFyZ3VtZW50cyx4PWc9PT1cInRydWVcIj8hMDp2b2lkIDA7aWYoUC5hcmd1bWVudHNbXCJuby1kZWZhdWx0LWxpYlwiXT09PVwidHJ1ZVwiKWUuaGFzTm9EZWZhdWx0TGliPSEwO2Vsc2UgaWYobCl7bGV0IEk9VTYoeSxsLnBvcyxsLmVuZCx0KTt2LnB1c2goe3BvczpsLnBvcyxlbmQ6bC5lbmQsZmlsZU5hbWU6bC52YWx1ZSwuLi5JP3tyZXNvbHV0aW9uTW9kZTpJfTp7fSwuLi54P3twcmVzZXJ2ZTp4fTp7fX0pfWVsc2UgUT9BLnB1c2goe3BvczpRLnBvcyxlbmQ6US5lbmQsZmlsZU5hbWU6US52YWx1ZSwuLi54P3twcmVzZXJ2ZTp4fTp7fX0pOmg/bS5wdXNoKHtwb3M6aC5wb3MsZW5kOmguZW5kLGZpbGVOYW1lOmgudmFsdWUsLi4ueD97cHJlc2VydmU6eH06e319KTp0KFAucmFuZ2UucG9zLFAucmFuZ2UuZW5kLVAucmFuZ2UucG9zLEUuSW52YWxpZF9yZWZlcmVuY2VfZGlyZWN0aXZlX3N5bnRheCl9KTticmVha31jYXNlXCJhbWQtZGVwZW5kZW5jeVwiOntlLmFtZERlcGVuZGVuY2llcz1QcChicChhKSxtPT4oe25hbWU6bS5hcmd1bWVudHMubmFtZSxwYXRoOm0uYXJndW1lbnRzLnBhdGh9KSk7YnJlYWt9Y2FzZVwiYW1kLW1vZHVsZVwiOntpZihhIGluc3RhbmNlb2YgQXJyYXkpZm9yKGxldCBtIG9mIGEpZS5tb2R1bGVOYW1lJiZ0KG0ucmFuZ2UucG9zLG0ucmFuZ2UuZW5kLW0ucmFuZ2UucG9zLEUuQW5fQU1EX21vZHVsZV9jYW5ub3RfaGF2ZV9tdWx0aXBsZV9uYW1lX2Fzc2lnbm1lbnRzKSxlLm1vZHVsZU5hbWU9bS5hcmd1bWVudHMubmFtZTtlbHNlIGUubW9kdWxlTmFtZT1hLmFyZ3VtZW50cy5uYW1lO2JyZWFrfWNhc2VcInRzLW5vY2hlY2tcIjpjYXNlXCJ0cy1jaGVja1wiOntVbihicChhKSxtPT57KCFlLmNoZWNrSnNEaXJlY3RpdmV8fG0ucmFuZ2UucG9zPmUuY2hlY2tKc0RpcmVjdGl2ZS5wb3MpJiYoZS5jaGVja0pzRGlyZWN0aXZlPXtlbmFibGVkOm89PT1cInRzLWNoZWNrXCIsZW5kOm0ucmFuZ2UuZW5kLHBvczptLnJhbmdlLnBvc30pfSk7YnJlYWt9Y2FzZVwianN4XCI6Y2FzZVwianN4ZnJhZ1wiOmNhc2VcImpzeGltcG9ydHNvdXJjZVwiOmNhc2VcImpzeHJ1bnRpbWVcIjpyZXR1cm47ZGVmYXVsdDpCLmZhaWwoXCJVbmhhbmRsZWQgcHJhZ21hIGtpbmRcIil9fSl9dmFyIERwPW5ldyBNYXA7ZnVuY3Rpb24gejYoZSl7aWYoRHAuaGFzKGUpKXJldHVybiBEcC5nZXQoZSk7bGV0IHQ9bmV3IFJlZ0V4cChgKFxcXFxzJHtlfVxcXFxzKj1cXFxccyopKD86KD86JyhbXiddKiknKXwoPzpcIihbXlwiXSopXCIpKWAsXCJpbVwiKTtyZXR1cm4gRHAuc2V0KGUsdCksdH12YXIgRjY9L15cXC9cXC9cXC9cXHMqPChcXFMrKVxccy4qP1xcLz4vbSxWNj0vXlxcL1xcL1xcLz9cXHMqQChbXlxcczpdKykoKD86W15cXFNcXHJcXG5dfDopLiopPyQvbTtmdW5jdGlvbiBXNihlLHQsYSl7bGV0IG89dC5raW5kPT09MiYmRjYuZXhlYyhhKTtpZihvKXtsZXQgdj1vWzFdLnRvTG93ZXJDYXNlKCksQT1MbVt2XTtpZighQXx8IShBLmtpbmQmMSkpcmV0dXJuO2lmKEEuYXJncyl7bGV0IFA9e307Zm9yKGxldCBsIG9mIEEuYXJncyl7bGV0IGg9ejYobC5uYW1lKS5leGVjKGEpO2lmKCFoJiYhbC5vcHRpb25hbClyZXR1cm47aWYoaCl7bGV0IHk9aFsyXXx8aFszXTtpZihsLmNhcHR1cmVTcGFuKXtsZXQgZz10LnBvcytoLmluZGV4K2hbMV0ubGVuZ3RoKzE7UFtsLm5hbWVdPXt2YWx1ZTp5LHBvczpnLGVuZDpnK3kubGVuZ3RofX1lbHNlIFBbbC5uYW1lXT15fX1lLnB1c2goe25hbWU6dixhcmdzOnthcmd1bWVudHM6UCxyYW5nZTp0fX0pfWVsc2UgZS5wdXNoKHtuYW1lOnYsYXJnczp7YXJndW1lbnRzOnt9LHJhbmdlOnR9fSk7cmV0dXJufWxldCBtPXQua2luZD09PTImJlY2LmV4ZWMoYSk7aWYobSlyZXR1cm4gU20oZSx0LDIsbSk7aWYodC5raW5kPT09Myl7bGV0IHY9L0AoXFxTKykoXFxzKyg/OlxcUy4qKT8pPyQvZ20sQTtmb3IoO0E9di5leGVjKGEpOylTbShlLHQsNCxBKX19ZnVuY3Rpb24gU20oZSx0LGEsbyl7aWYoIW8pcmV0dXJuO2xldCBtPW9bMV0udG9Mb3dlckNhc2UoKSx2PUxtW21dO2lmKCF2fHwhKHYua2luZCZhKSlyZXR1cm47bGV0IEE9b1syXSxQPUc2KHYsQSk7UCE9PVwiZmFpbFwiJiZlLnB1c2goe25hbWU6bSxhcmdzOnthcmd1bWVudHM6UCxyYW5nZTp0fX0pfWZ1bmN0aW9uIEc2KGUsdCl7aWYoIXQpcmV0dXJue307aWYoIWUuYXJncylyZXR1cm57fTtsZXQgYT10LnRyaW0oKS5zcGxpdCgvXFxzKy8pLG89e307Zm9yKGxldCBtPTA7bTxlLmFyZ3MubGVuZ3RoO20rKyl7bGV0IHY9ZS5hcmdzW21dO2lmKCFhW21dJiYhdi5vcHRpb25hbClyZXR1cm5cImZhaWxcIjtpZih2LmNhcHR1cmVTcGFuKXJldHVybiBCLmZhaWwoXCJDYXB0dXJlIHNwYW5zIG5vdCB5ZXQgaW1wbGVtZW50ZWQgZm9yIG5vbi14bWwgcHJhZ21hc1wiKTtvW3YubmFtZV09YVttXX1yZXR1cm4gb31mdW5jdGlvbiBwaShlLHQpe3JldHVybiBlLmtpbmQhPT10LmtpbmQ/ITE6ZS5raW5kPT09ODA/ZS5lc2NhcGVkVGV4dD09PXQuZXNjYXBlZFRleHQ6ZS5raW5kPT09MTEwPyEwOmUua2luZD09PTI5NT9lLm5hbWVzcGFjZS5lc2NhcGVkVGV4dD09PXQubmFtZXNwYWNlLmVzY2FwZWRUZXh0JiZlLm5hbWUuZXNjYXBlZFRleHQ9PT10Lm5hbWUuZXNjYXBlZFRleHQ6ZS5uYW1lLmVzY2FwZWRUZXh0PT09dC5uYW1lLmVzY2FwZWRUZXh0JiZwaShlLmV4cHJlc3Npb24sdC5leHByZXNzaW9uKX12YXIgc3M9c2YoeXMuTGF0ZXN0LCEwKTtmdW5jdGlvbiB5aChlLHQsYSxvKXtsZXQgbT1mZihlKT9uZXcgR2YoZSx0LGEpOmU9PT04MD9uZXcgYmgoODAsdCxhKTplPT09ODE/bmV3IHZoKDgxLHQsYSk6bmV3IGdoKGUsdCxhKTtyZXR1cm4gbS5wYXJlbnQ9byxtLmZsYWdzPW8uZmxhZ3MmMTAxNDQxNTM2LG19dmFyIEdmPWNsYXNze2NvbnN0cnVjdG9yKGUsdCxhKXt0aGlzLnBvcz10LHRoaXMuZW5kPWEsdGhpcy5raW5kPWUsdGhpcy5pZD0wLHRoaXMuZmxhZ3M9MCx0aGlzLm1vZGlmaWVyRmxhZ3NDYWNoZT0wLHRoaXMudHJhbnNmb3JtRmxhZ3M9MCx0aGlzLnBhcmVudD12b2lkIDAsdGhpcy5vcmlnaW5hbD12b2lkIDAsdGhpcy5lbWl0Tm9kZT12b2lkIDB9YXNzZXJ0SGFzUmVhbFBvc2l0aW9uKGUpe0IuYXNzZXJ0KCFmcyh0aGlzLnBvcykmJiFmcyh0aGlzLmVuZCksZXx8XCJOb2RlIG11c3QgaGF2ZSBhIHJlYWwgcG9zaXRpb24gZm9yIHRoaXMgb3BlcmF0aW9uXCIpfWdldFNvdXJjZUZpbGUoKXtyZXR1cm4gaGkodGhpcyl9Z2V0U3RhcnQoZSx0KXtyZXR1cm4gdGhpcy5hc3NlcnRIYXNSZWFsUG9zaXRpb24oKSxobCh0aGlzLGUsdCl9Z2V0RnVsbFN0YXJ0KCl7cmV0dXJuIHRoaXMuYXNzZXJ0SGFzUmVhbFBvc2l0aW9uKCksdGhpcy5wb3N9Z2V0RW5kKCl7cmV0dXJuIHRoaXMuYXNzZXJ0SGFzUmVhbFBvc2l0aW9uKCksdGhpcy5lbmR9Z2V0V2lkdGgoZSl7cmV0dXJuIHRoaXMuYXNzZXJ0SGFzUmVhbFBvc2l0aW9uKCksdGhpcy5nZXRFbmQoKS10aGlzLmdldFN0YXJ0KGUpfWdldEZ1bGxXaWR0aCgpe3JldHVybiB0aGlzLmFzc2VydEhhc1JlYWxQb3NpdGlvbigpLHRoaXMuZW5kLXRoaXMucG9zfWdldExlYWRpbmdUcml2aWFXaWR0aChlKXtyZXR1cm4gdGhpcy5hc3NlcnRIYXNSZWFsUG9zaXRpb24oKSx0aGlzLmdldFN0YXJ0KGUpLXRoaXMucG9zfWdldEZ1bGxUZXh0KGUpe3JldHVybiB0aGlzLmFzc2VydEhhc1JlYWxQb3NpdGlvbigpLChlfHx0aGlzLmdldFNvdXJjZUZpbGUoKSkudGV4dC5zdWJzdHJpbmcodGhpcy5wb3MsdGhpcy5lbmQpfWdldFRleHQoZSl7cmV0dXJuIHRoaXMuYXNzZXJ0SGFzUmVhbFBvc2l0aW9uKCksZXx8KGU9dGhpcy5nZXRTb3VyY2VGaWxlKCkpLGUudGV4dC5zdWJzdHJpbmcodGhpcy5nZXRTdGFydChlKSx0aGlzLmdldEVuZCgpKX1nZXRDaGlsZENvdW50KGUpe3JldHVybiB0aGlzLmdldENoaWxkcmVuKGUpLmxlbmd0aH1nZXRDaGlsZEF0KGUsdCl7cmV0dXJuIHRoaXMuZ2V0Q2hpbGRyZW4odClbZV19Z2V0Q2hpbGRyZW4oZT1oaSh0aGlzKSl7cmV0dXJuIHRoaXMuYXNzZXJ0SGFzUmVhbFBvc2l0aW9uKFwiTm9kZSB3aXRob3V0IGEgcmVhbCBwb3NpdGlvbiBjYW5ub3QgYmUgc2Nhbm5lZCBhbmQgdGh1cyBoYXMgbm8gdG9rZW4gbm9kZXMgLSB1c2UgZm9yRWFjaENoaWxkIGFuZCBjb2xsZWN0IHRoZSByZXN1bHQgaWYgdGhhdCdzIGZpbmVcIiksY2godGhpcyxlKT8/bTYodGhpcyxlLFk2KHRoaXMsZSkpfWdldEZpcnN0VG9rZW4oZSl7dGhpcy5hc3NlcnRIYXNSZWFsUG9zaXRpb24oKTtsZXQgdD10aGlzLmdldENoaWxkcmVuKGUpO2lmKCF0Lmxlbmd0aClyZXR1cm47bGV0IGE9a20odCxvPT5vLmtpbmQ8MzA5fHxvLmtpbmQ+MzUxKTtyZXR1cm4gYS5raW5kPDE2Nj9hOmEuZ2V0Rmlyc3RUb2tlbihlKX1nZXRMYXN0VG9rZW4oZSl7dGhpcy5hc3NlcnRIYXNSZWFsUG9zaXRpb24oKTtsZXQgdD10aGlzLmdldENoaWxkcmVuKGUpLGE9R2kodCk7aWYoYSlyZXR1cm4gYS5raW5kPDE2Nj9hOmEuZ2V0TGFzdFRva2VuKGUpfWZvckVhY2hDaGlsZChlLHQpe3JldHVybiBYdCh0aGlzLGUsdCl9fTtmdW5jdGlvbiBZNihlLHQpe2xldCBhPVtdO2lmKFpnKGUpKXJldHVybiBlLmZvckVhY2hDaGlsZChBPT57YS5wdXNoKEEpfSksYTtzcy5zZXRUZXh0KCh0fHxlLmdldFNvdXJjZUZpbGUoKSkudGV4dCk7bGV0IG89ZS5wb3MsbT1BPT57b3MoYSxvLEEucG9zLGUpLGEucHVzaChBKSxvPUEuZW5kfSx2PUE9PntvcyhhLG8sQS5wb3MsZSksYS5wdXNoKEg2KEEsZSkpLG89QS5lbmR9O3JldHVybiBVbihlLmpzRG9jLG0pLG89ZS5wb3MsZS5mb3JFYWNoQ2hpbGQobSx2KSxvcyhhLG8sZS5lbmQsZSksc3Muc2V0VGV4dCh2b2lkIDApLGF9ZnVuY3Rpb24gb3MoZSx0LGEsbyl7Zm9yKHNzLnJlc2V0VG9rZW5TdGF0ZSh0KTt0PGE7KXtsZXQgbT1zcy5zY2FuKCksdj1zcy5nZXRUb2tlbkVuZCgpO2lmKHY8PWEpe2lmKG09PT04MCl7aWYod2IobykpY29udGludWU7Qi5mYWlsKGBEaWQgbm90IGV4cGVjdCAke0IuZm9ybWF0U3ludGF4S2luZChvLmtpbmQpfSB0byBoYXZlIGFuIElkZW50aWZpZXIgaW4gaXRzIHRyaXZpYWApfWUucHVzaCh5aChtLHQsdixvKSl9aWYodD12LG09PT0xKWJyZWFrfX1mdW5jdGlvbiBINihlLHQpe2xldCBhPXloKDM1MixlLnBvcyxlLmVuZCx0KSxvPVtdLG09ZS5wb3M7Zm9yKGxldCB2IG9mIGUpb3MobyxtLHYucG9zLHQpLG8ucHVzaCh2KSxtPXYuZW5kO3JldHVybiBvcyhvLG0sZS5lbmQsdCksYS5fY2hpbGRyZW49byxhfXZhciBZZj1jbGFzc3tjb25zdHJ1Y3RvcihlLHQsYSl7dGhpcy5wb3M9dCx0aGlzLmVuZD1hLHRoaXMua2luZD1lLHRoaXMuaWQ9MCx0aGlzLmZsYWdzPTAsdGhpcy50cmFuc2Zvcm1GbGFncz0wLHRoaXMucGFyZW50PXZvaWQgMCx0aGlzLmVtaXROb2RlPXZvaWQgMH1nZXRTb3VyY2VGaWxlKCl7cmV0dXJuIGhpKHRoaXMpfWdldFN0YXJ0KGUsdCl7cmV0dXJuIGhsKHRoaXMsZSx0KX1nZXRGdWxsU3RhcnQoKXtyZXR1cm4gdGhpcy5wb3N9Z2V0RW5kKCl7cmV0dXJuIHRoaXMuZW5kfWdldFdpZHRoKGUpe3JldHVybiB0aGlzLmdldEVuZCgpLXRoaXMuZ2V0U3RhcnQoZSl9Z2V0RnVsbFdpZHRoKCl7cmV0dXJuIHRoaXMuZW5kLXRoaXMucG9zfWdldExlYWRpbmdUcml2aWFXaWR0aChlKXtyZXR1cm4gdGhpcy5nZXRTdGFydChlKS10aGlzLnBvc31nZXRGdWxsVGV4dChlKXtyZXR1cm4oZXx8dGhpcy5nZXRTb3VyY2VGaWxlKCkpLnRleHQuc3Vic3RyaW5nKHRoaXMucG9zLHRoaXMuZW5kKX1nZXRUZXh0KGUpe3JldHVybiBlfHwoZT10aGlzLmdldFNvdXJjZUZpbGUoKSksZS50ZXh0LnN1YnN0cmluZyh0aGlzLmdldFN0YXJ0KGUpLHRoaXMuZ2V0RW5kKCkpfWdldENoaWxkQ291bnQoKXtyZXR1cm4gdGhpcy5nZXRDaGlsZHJlbigpLmxlbmd0aH1nZXRDaGlsZEF0KGUpe3JldHVybiB0aGlzLmdldENoaWxkcmVuKClbZV19Z2V0Q2hpbGRyZW4oKXtyZXR1cm4gdGhpcy5raW5kPT09MSYmdGhpcy5qc0RvY3x8YnR9Z2V0Rmlyc3RUb2tlbigpe31nZXRMYXN0VG9rZW4oKXt9Zm9yRWFjaENoaWxkKCl7fX0sWDY9Y2xhc3N7Y29uc3RydWN0b3IoZSx0KXt0aGlzLmZsYWdzPWUsdGhpcy5lc2NhcGVkTmFtZT10LHRoaXMuZGVjbGFyYXRpb25zPXZvaWQgMCx0aGlzLnZhbHVlRGVjbGFyYXRpb249dm9pZCAwLHRoaXMuaWQ9MCx0aGlzLm1lcmdlSWQ9MCx0aGlzLnBhcmVudD12b2lkIDAsdGhpcy5tZW1iZXJzPXZvaWQgMCx0aGlzLmV4cG9ydHM9dm9pZCAwLHRoaXMuZXhwb3J0U3ltYm9sPXZvaWQgMCx0aGlzLmNvbnN0RW51bU9ubHlNb2R1bGU9dm9pZCAwLHRoaXMuaXNSZWZlcmVuY2VkPXZvaWQgMCx0aGlzLmxhc3RBc3NpZ25tZW50UG9zPXZvaWQgMCx0aGlzLmxpbmtzPXZvaWQgMH1nZXRGbGFncygpe3JldHVybiB0aGlzLmZsYWdzfWdldCBuYW1lKCl7cmV0dXJuIExwKHRoaXMpfWdldEVzY2FwZWROYW1lKCl7cmV0dXJuIHRoaXMuZXNjYXBlZE5hbWV9Z2V0TmFtZSgpe3JldHVybiB0aGlzLm5hbWV9Z2V0RGVjbGFyYXRpb25zKCl7cmV0dXJuIHRoaXMuZGVjbGFyYXRpb25zfWdldERvY3VtZW50YXRpb25Db21tZW50KGUpe2lmKCF0aGlzLmRvY3VtZW50YXRpb25Db21tZW50KWlmKHRoaXMuZG9jdW1lbnRhdGlvbkNvbW1lbnQ9YnQsIXRoaXMuZGVjbGFyYXRpb25zJiZSZCh0aGlzKSYmdGhpcy5saW5rcy50YXJnZXQmJlJkKHRoaXMubGlua3MudGFyZ2V0KSYmdGhpcy5saW5rcy50YXJnZXQubGlua3MudHVwbGVMYWJlbERlY2xhcmF0aW9uKXtsZXQgdD10aGlzLmxpbmtzLnRhcmdldC5saW5rcy50dXBsZUxhYmVsRGVjbGFyYXRpb247dGhpcy5kb2N1bWVudGF0aW9uQ29tbWVudD1fcyhbdF0sZSl9ZWxzZSB0aGlzLmRvY3VtZW50YXRpb25Db21tZW50PV9zKHRoaXMuZGVjbGFyYXRpb25zLGUpO3JldHVybiB0aGlzLmRvY3VtZW50YXRpb25Db21tZW50fWdldENvbnRleHR1YWxEb2N1bWVudGF0aW9uQ29tbWVudChlLHQpe2lmKGUpe2lmKHRsKGUpJiYodGhpcy5jb250ZXh0dWFsR2V0QWNjZXNzb3JEb2N1bWVudGF0aW9uQ29tbWVudHx8KHRoaXMuY29udGV4dHVhbEdldEFjY2Vzc29yRG9jdW1lbnRhdGlvbkNvbW1lbnQ9YnQsdGhpcy5jb250ZXh0dWFsR2V0QWNjZXNzb3JEb2N1bWVudGF0aW9uQ29tbWVudD1fcyhHcih0aGlzLmRlY2xhcmF0aW9ucyx0bCksdCkpLHRzKHRoaXMuY29udGV4dHVhbEdldEFjY2Vzc29yRG9jdW1lbnRhdGlvbkNvbW1lbnQpKSlyZXR1cm4gdGhpcy5jb250ZXh0dWFsR2V0QWNjZXNzb3JEb2N1bWVudGF0aW9uQ29tbWVudDtpZihlbChlKSYmKHRoaXMuY29udGV4dHVhbFNldEFjY2Vzc29yRG9jdW1lbnRhdGlvbkNvbW1lbnR8fCh0aGlzLmNvbnRleHR1YWxTZXRBY2Nlc3NvckRvY3VtZW50YXRpb25Db21tZW50PWJ0LHRoaXMuY29udGV4dHVhbFNldEFjY2Vzc29yRG9jdW1lbnRhdGlvbkNvbW1lbnQ9X3MoR3IodGhpcy5kZWNsYXJhdGlvbnMsZWwpLHQpKSx0cyh0aGlzLmNvbnRleHR1YWxTZXRBY2Nlc3NvckRvY3VtZW50YXRpb25Db21tZW50KSkpcmV0dXJuIHRoaXMuY29udGV4dHVhbFNldEFjY2Vzc29yRG9jdW1lbnRhdGlvbkNvbW1lbnR9cmV0dXJuIHRoaXMuZ2V0RG9jdW1lbnRhdGlvbkNvbW1lbnQodCl9Z2V0SnNEb2NUYWdzKGUpe3JldHVybiB0aGlzLnRhZ3M9PT12b2lkIDAmJih0aGlzLnRhZ3M9YnQsdGhpcy50YWdzPWxsKHRoaXMuZGVjbGFyYXRpb25zLGUpKSx0aGlzLnRhZ3N9Z2V0Q29udGV4dHVhbEpzRG9jVGFncyhlLHQpe2lmKGUpe2lmKHRsKGUpJiYodGhpcy5jb250ZXh0dWFsR2V0QWNjZXNzb3JUYWdzfHwodGhpcy5jb250ZXh0dWFsR2V0QWNjZXNzb3JUYWdzPWJ0LHRoaXMuY29udGV4dHVhbEdldEFjY2Vzc29yVGFncz1sbChHcih0aGlzLmRlY2xhcmF0aW9ucyx0bCksdCkpLHRzKHRoaXMuY29udGV4dHVhbEdldEFjY2Vzc29yVGFncykpKXJldHVybiB0aGlzLmNvbnRleHR1YWxHZXRBY2Nlc3NvclRhZ3M7aWYoZWwoZSkmJih0aGlzLmNvbnRleHR1YWxTZXRBY2Nlc3NvclRhZ3N8fCh0aGlzLmNvbnRleHR1YWxTZXRBY2Nlc3NvclRhZ3M9YnQsdGhpcy5jb250ZXh0dWFsU2V0QWNjZXNzb3JUYWdzPWxsKEdyKHRoaXMuZGVjbGFyYXRpb25zLGVsKSx0KSksdHModGhpcy5jb250ZXh0dWFsU2V0QWNjZXNzb3JUYWdzKSkpcmV0dXJuIHRoaXMuY29udGV4dHVhbFNldEFjY2Vzc29yVGFnc31yZXR1cm4gdGhpcy5nZXRKc0RvY1RhZ3ModCl9fSxnaD1jbGFzcyBleHRlbmRzIFlme2NvbnN0cnVjdG9yKGUsdCxhKXtzdXBlcihlLHQsYSl9fSxiaD1jbGFzcyBleHRlbmRzIFlme2NvbnN0cnVjdG9yKGUsdCxhKXtzdXBlcihlLHQsYSl9Z2V0IHRleHQoKXtyZXR1cm4gUG4odGhpcyl9fSx2aD1jbGFzcyBleHRlbmRzIFlme2NvbnN0cnVjdG9yKGUsdCxhKXtzdXBlcihlLHQsYSl9Z2V0IHRleHQoKXtyZXR1cm4gUG4odGhpcyl9fSwkNj1jbGFzc3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmxhZ3M9dCx0aGlzLmNoZWNrZXI9ZX1nZXRGbGFncygpe3JldHVybiB0aGlzLmZsYWdzfWdldFN5bWJvbCgpe3JldHVybiB0aGlzLnN5bWJvbH1nZXRQcm9wZXJ0aWVzKCl7cmV0dXJuIHRoaXMuY2hlY2tlci5nZXRQcm9wZXJ0aWVzT2ZUeXBlKHRoaXMpfWdldFByb3BlcnR5KGUpe3JldHVybiB0aGlzLmNoZWNrZXIuZ2V0UHJvcGVydHlPZlR5cGUodGhpcyxlKX1nZXRBcHBhcmVudFByb3BlcnRpZXMoKXtyZXR1cm4gdGhpcy5jaGVja2VyLmdldEF1Z21lbnRlZFByb3BlcnRpZXNPZlR5cGUodGhpcyl9Z2V0Q2FsbFNpZ25hdHVyZXMoKXtyZXR1cm4gdGhpcy5jaGVja2VyLmdldFNpZ25hdHVyZXNPZlR5cGUodGhpcywwKX1nZXRDb25zdHJ1Y3RTaWduYXR1cmVzKCl7cmV0dXJuIHRoaXMuY2hlY2tlci5nZXRTaWduYXR1cmVzT2ZUeXBlKHRoaXMsMSl9Z2V0U3RyaW5nSW5kZXhUeXBlKCl7cmV0dXJuIHRoaXMuY2hlY2tlci5nZXRJbmRleFR5cGVPZlR5cGUodGhpcywwKX1nZXROdW1iZXJJbmRleFR5cGUoKXtyZXR1cm4gdGhpcy5jaGVja2VyLmdldEluZGV4VHlwZU9mVHlwZSh0aGlzLDEpfWdldEJhc2VUeXBlcygpe3JldHVybiB0aGlzLmlzQ2xhc3NPckludGVyZmFjZSgpP3RoaXMuY2hlY2tlci5nZXRCYXNlVHlwZXModGhpcyk6dm9pZCAwfWlzTnVsbGFibGVUeXBlKCl7cmV0dXJuIHRoaXMuY2hlY2tlci5pc051bGxhYmxlVHlwZSh0aGlzKX1nZXROb25OdWxsYWJsZVR5cGUoKXtyZXR1cm4gdGhpcy5jaGVja2VyLmdldE5vbk51bGxhYmxlVHlwZSh0aGlzKX1nZXROb25PcHRpb25hbFR5cGUoKXtyZXR1cm4gdGhpcy5jaGVja2VyLmdldE5vbk9wdGlvbmFsVHlwZSh0aGlzKX1nZXRDb25zdHJhaW50KCl7cmV0dXJuIHRoaXMuY2hlY2tlci5nZXRCYXNlQ29uc3RyYWludE9mVHlwZSh0aGlzKX1nZXREZWZhdWx0KCl7cmV0dXJuIHRoaXMuY2hlY2tlci5nZXREZWZhdWx0RnJvbVR5cGVQYXJhbWV0ZXIodGhpcyl9aXNVbmlvbigpe3JldHVybiEhKHRoaXMuZmxhZ3MmMTA0ODU3Nil9aXNJbnRlcnNlY3Rpb24oKXtyZXR1cm4hISh0aGlzLmZsYWdzJjIwOTcxNTIpfWlzVW5pb25PckludGVyc2VjdGlvbigpe3JldHVybiEhKHRoaXMuZmxhZ3MmMzE0NTcyOCl9aXNMaXRlcmFsKCl7cmV0dXJuISEodGhpcy5mbGFncyYyNDMyKX1pc1N0cmluZ0xpdGVyYWwoKXtyZXR1cm4hISh0aGlzLmZsYWdzJjEyOCl9aXNOdW1iZXJMaXRlcmFsKCl7cmV0dXJuISEodGhpcy5mbGFncyYyNTYpfWlzVHlwZVBhcmFtZXRlcigpe3JldHVybiEhKHRoaXMuZmxhZ3MmMjYyMTQ0KX1pc0NsYXNzT3JJbnRlcmZhY2UoKXtyZXR1cm4hIShrcCh0aGlzKSYzKX1pc0NsYXNzKCl7cmV0dXJuISEoa3AodGhpcykmMSl9aXNJbmRleFR5cGUoKXtyZXR1cm4hISh0aGlzLmZsYWdzJjQxOTQzMDQpfWdldCB0eXBlQXJndW1lbnRzKCl7aWYoa3AodGhpcykmNClyZXR1cm4gdGhpcy5jaGVja2VyLmdldFR5cGVBcmd1bWVudHModGhpcyl9fSxRNj1jbGFzc3tjb25zdHJ1Y3RvcihlLHQpe3RoaXMuZmxhZ3M9dCx0aGlzLmNoZWNrZXI9ZX1nZXREZWNsYXJhdGlvbigpe3JldHVybiB0aGlzLmRlY2xhcmF0aW9ufWdldFR5cGVQYXJhbWV0ZXJzKCl7cmV0dXJuIHRoaXMudHlwZVBhcmFtZXRlcnN9Z2V0UGFyYW1ldGVycygpe3JldHVybiB0aGlzLnBhcmFtZXRlcnN9Z2V0UmV0dXJuVHlwZSgpe3JldHVybiB0aGlzLmNoZWNrZXIuZ2V0UmV0dXJuVHlwZU9mU2lnbmF0dXJlKHRoaXMpfWdldFR5cGVQYXJhbWV0ZXJBdFBvc2l0aW9uKGUpe2xldCB0PXRoaXMuY2hlY2tlci5nZXRQYXJhbWV0ZXJUeXBlKHRoaXMsZSk7aWYodC5pc0luZGV4VHlwZSgpJiZTYih0LnR5cGUpKXtsZXQgYT10LnR5cGUuZ2V0Q29uc3RyYWludCgpO2lmKGEpcmV0dXJuIHRoaXMuY2hlY2tlci5nZXRJbmRleFR5cGUoYSl9cmV0dXJuIHR9Z2V0RG9jdW1lbnRhdGlvbkNvbW1lbnQoKXtyZXR1cm4gdGhpcy5kb2N1bWVudGF0aW9uQ29tbWVudHx8KHRoaXMuZG9jdW1lbnRhdGlvbkNvbW1lbnQ9X3MoSXAodGhpcy5kZWNsYXJhdGlvbiksdGhpcy5jaGVja2VyKSl9Z2V0SnNEb2NUYWdzKCl7cmV0dXJuIHRoaXMuanNEb2NUYWdzfHwodGhpcy5qc0RvY1RhZ3M9bGwoSXAodGhpcy5kZWNsYXJhdGlvbiksdGhpcy5jaGVja2VyKSl9fTtmdW5jdGlvbiBUaChlKXtyZXR1cm4gaTEoZSkuc29tZSh0PT50LnRhZ05hbWUudGV4dD09PVwiaW5oZXJpdERvY1wifHx0LnRhZ05hbWUudGV4dD09PVwiaW5oZXJpdGRvY1wiKX1mdW5jdGlvbiBsbChlLHQpe2lmKCFlKXJldHVybiBidDtsZXQgYT10c19Kc0RvY19leHBvcnRzLmdldEpzRG9jVGFnc0Zyb21EZWNsYXJhdGlvbnMoZSx0KTtpZih0JiYoYS5sZW5ndGg9PT0wfHxlLnNvbWUoVGgpKSl7bGV0IG89bmV3IFNldDtmb3IobGV0IG0gb2YgZSl7bGV0IHY9eGgodCxtLEE9Pnt2YXIgUDtpZighby5oYXMoQSkpcmV0dXJuIG8uYWRkKEEpLG0ua2luZD09PTE3N3x8bS5raW5kPT09MTc4P0EuZ2V0Q29udGV4dHVhbEpzRG9jVGFncyhtLHQpOigoUD1BLmRlY2xhcmF0aW9ucyk9PW51bGw/dm9pZCAwOlAubGVuZ3RoKT09PTE/QS5nZXRKc0RvY1RhZ3ModCk6dm9pZCAwfSk7diYmKGE9Wy4uLnYsLi4uYV0pfX1yZXR1cm4gYX1mdW5jdGlvbiBfcyhlLHQpe2lmKCFlKXJldHVybiBidDtsZXQgYT10c19Kc0RvY19leHBvcnRzLmdldEpzRG9jQ29tbWVudHNGcm9tRGVjbGFyYXRpb25zKGUsdCk7aWYodCYmKGEubGVuZ3RoPT09MHx8ZS5zb21lKFRoKSkpe2xldCBvPW5ldyBTZXQ7Zm9yKGxldCBtIG9mIGUpe2xldCB2PXhoKHQsbSxBPT57aWYoIW8uaGFzKEEpKXJldHVybiBvLmFkZChBKSxtLmtpbmQ9PT0xNzd8fG0ua2luZD09PTE3OD9BLmdldENvbnRleHR1YWxEb2N1bWVudGF0aW9uQ29tbWVudChtLHQpOkEuZ2V0RG9jdW1lbnRhdGlvbkNvbW1lbnQodCl9KTt2JiYoYT1hLmxlbmd0aD09PTA/di5zbGljZSgpOnYuY29uY2F0KGxpbmVCcmVha1BhcnQoKSxhKSl9fXJldHVybiBhfWZ1bmN0aW9uIHhoKGUsdCxhKXt2YXIgbztsZXQgbT0oKG89dC5wYXJlbnQpPT1udWxsP3ZvaWQgMDpvLmtpbmQpPT09MTc2P3QucGFyZW50LnBhcmVudDp0LnBhcmVudDtpZighbSlyZXR1cm47bGV0IHY9QjIodCk7cmV0dXJuIG55KE4yKG0pLEE9PntsZXQgUD1lLmdldFR5cGVBdExvY2F0aW9uKEEpLGw9diYmUC5zeW1ib2w/ZS5nZXRUeXBlT2ZTeW1ib2woUC5zeW1ib2wpOlAsUT1lLmdldFByb3BlcnR5T2ZUeXBlKGwsdC5zeW1ib2wubmFtZSk7cmV0dXJuIFE/YShRKTp2b2lkIDB9KX12YXIgSzY9Y2xhc3MgZXh0ZW5kcyBHZntjb25zdHJ1Y3RvcihlLHQsYSl7c3VwZXIoZSx0LGEpfXVwZGF0ZShlLHQpe3JldHVybiBNNih0aGlzLGUsdCl9Z2V0TGluZUFuZENoYXJhY3Rlck9mUG9zaXRpb24oZSl7cmV0dXJuIFdtKHRoaXMsZSl9Z2V0TGluZVN0YXJ0cygpe3JldHVybiBNcCh0aGlzKX1nZXRQb3NpdGlvbk9mTGluZUFuZENoYXJhY3RlcihlLHQsYSl7cmV0dXJuIG5nKE1wKHRoaXMpLGUsdCx0aGlzLnRleHQsYSl9Z2V0TGluZUVuZE9mUG9zaXRpb24oZSl7bGV0e2xpbmU6dH09dGhpcy5nZXRMaW5lQW5kQ2hhcmFjdGVyT2ZQb3NpdGlvbihlKSxhPXRoaXMuZ2V0TGluZVN0YXJ0cygpLG87dCsxPj1hLmxlbmd0aCYmKG89dGhpcy5nZXRFbmQoKSksb3x8KG89YVt0KzFdLTEpO2xldCBtPXRoaXMuZ2V0RnVsbFRleHQoKTtyZXR1cm4gbVtvXT09PWBcbmAmJm1bby0xXT09PVwiXFxyXCI/by0xOm99Z2V0TmFtZWREZWNsYXJhdGlvbnMoKXtyZXR1cm4gdGhpcy5uYW1lZERlY2xhcmF0aW9uc3x8KHRoaXMubmFtZWREZWNsYXJhdGlvbnM9dGhpcy5jb21wdXRlTmFtZWREZWNsYXJhdGlvbnMoKSksdGhpcy5uYW1lZERlY2xhcmF0aW9uc31jb21wdXRlTmFtZWREZWNsYXJhdGlvbnMoKXtsZXQgZT1oeSgpO3JldHVybiB0aGlzLmZvckVhY2hDaGlsZChtKSxlO2Z1bmN0aW9uIHQodil7bGV0IEE9byh2KTtBJiZlLmFkZChBLHYpfWZ1bmN0aW9uIGEodil7bGV0IEE9ZS5nZXQodik7cmV0dXJuIEF8fGUuc2V0KHYsQT1bXSksQX1mdW5jdGlvbiBvKHYpe2xldCBBPWxmKHYpO3JldHVybiBBJiYoa2YoQSkmJkhyKEEuZXhwcmVzc2lvbik/QS5leHByZXNzaW9uLm5hbWUudGV4dDpzMShBKT9nZXROYW1lRnJvbVByb3BlcnR5TmFtZShBKTp2b2lkIDApfWZ1bmN0aW9uIG0odil7c3dpdGNoKHYua2luZCl7Y2FzZSAyNjI6Y2FzZSAyMTg6Y2FzZSAxNzQ6Y2FzZSAxNzM6bGV0IEE9dixQPW8oQSk7aWYoUCl7bGV0IGg9YShQKSx5PUdpKGgpO3kmJkEucGFyZW50PT09eS5wYXJlbnQmJkEuc3ltYm9sPT09eS5zeW1ib2w/QS5ib2R5JiYheS5ib2R5JiYoaFtoLmxlbmd0aC0xXT1BKTpoLnB1c2goQSl9WHQodixtKTticmVhaztjYXNlIDI2MzpjYXNlIDIzMTpjYXNlIDI2NDpjYXNlIDI2NTpjYXNlIDI2NjpjYXNlIDI2NzpjYXNlIDI3MTpjYXNlIDI4MTpjYXNlIDI3NjpjYXNlIDI3MzpjYXNlIDI3NDpjYXNlIDE3NzpjYXNlIDE3ODpjYXNlIDE4Nzp0KHYpLFh0KHYsbSk7YnJlYWs7Y2FzZSAxNjk6aWYoIWJzKHYsMzEpKWJyZWFrO2Nhc2UgMjYwOmNhc2UgMjA4OntsZXQgaD12O2lmKFZnKGgubmFtZSkpe1h0KGgubmFtZSxtKTticmVha31oLmluaXRpYWxpemVyJiZtKGguaW5pdGlhbGl6ZXIpfWNhc2UgMzA2OmNhc2UgMTcyOmNhc2UgMTcxOnQodik7YnJlYWs7Y2FzZSAyNzg6bGV0IGw9djtsLmV4cG9ydENsYXVzZSYmKGVoKGwuZXhwb3J0Q2xhdXNlKT9VbihsLmV4cG9ydENsYXVzZS5lbGVtZW50cyxtKTptKGwuZXhwb3J0Q2xhdXNlLm5hbWUpKTticmVhaztjYXNlIDI3MjpsZXQgUT12LmltcG9ydENsYXVzZTtRJiYoUS5uYW1lJiZ0KFEubmFtZSksUS5uYW1lZEJpbmRpbmdzJiYoUS5uYW1lZEJpbmRpbmdzLmtpbmQ9PT0yNzQ/dChRLm5hbWVkQmluZGluZ3MpOlVuKFEubmFtZWRCaW5kaW5ncy5lbGVtZW50cyxtKSkpO2JyZWFrO2Nhc2UgMjI2OnlmKHYpIT09MCYmdCh2KTtkZWZhdWx0Olh0KHYsbSl9fX19LFo2PWNsYXNze2NvbnN0cnVjdG9yKGUsdCxhKXt0aGlzLmZpbGVOYW1lPWUsdGhpcy50ZXh0PXQsdGhpcy5za2lwVHJpdmlhPWF8fChvPT5vKX1nZXRMaW5lQW5kQ2hhcmFjdGVyT2ZQb3NpdGlvbihlKXtyZXR1cm4gV20odGhpcyxlKX19O2Z1bmN0aW9uIGV2KCl7cmV0dXJue2dldE5vZGVDb25zdHJ1Y3RvcjooKT0+R2YsZ2V0VG9rZW5Db25zdHJ1Y3RvcjooKT0+Z2gsZ2V0SWRlbnRpZmllckNvbnN0cnVjdG9yOigpPT5iaCxnZXRQcml2YXRlSWRlbnRpZmllckNvbnN0cnVjdG9yOigpPT52aCxnZXRTb3VyY2VGaWxlQ29uc3RydWN0b3I6KCk9Pks2LGdldFN5bWJvbENvbnN0cnVjdG9yOigpPT5YNixnZXRUeXBlQ29uc3RydWN0b3I6KCk9PiQ2LGdldFNpZ25hdHVyZUNvbnN0cnVjdG9yOigpPT5RNixnZXRTb3VyY2VNYXBTb3VyY2VDb25zdHJ1Y3RvcjooKT0+WjZ9fXZhciB0dj1bXCJnZXRTZW1hbnRpY0RpYWdub3N0aWNzXCIsXCJnZXRTdWdnZXN0aW9uRGlhZ25vc3RpY3NcIixcImdldENvbXBpbGVyT3B0aW9uc0RpYWdub3N0aWNzXCIsXCJnZXRTZW1hbnRpY0NsYXNzaWZpY2F0aW9uc1wiLFwiZ2V0RW5jb2RlZFNlbWFudGljQ2xhc3NpZmljYXRpb25zXCIsXCJnZXRDb2RlRml4ZXNBdFBvc2l0aW9uXCIsXCJnZXRDb21iaW5lZENvZGVGaXhcIixcImFwcGx5Q29kZUFjdGlvbkNvbW1hbmRcIixcIm9yZ2FuaXplSW1wb3J0c1wiLFwiZ2V0RWRpdHNGb3JGaWxlUmVuYW1lXCIsXCJnZXRFbWl0T3V0cHV0XCIsXCJnZXRBcHBsaWNhYmxlUmVmYWN0b3JzXCIsXCJnZXRFZGl0c0ZvclJlZmFjdG9yXCIsXCJwcmVwYXJlQ2FsbEhpZXJhcmNoeVwiLFwicHJvdmlkZUNhbGxIaWVyYXJjaHlJbmNvbWluZ0NhbGxzXCIsXCJwcm92aWRlQ2FsbEhpZXJhcmNoeU91dGdvaW5nQ2FsbHNcIixcInByb3ZpZGVJbmxheUhpbnRzXCIsXCJnZXRTdXBwb3J0ZWRDb2RlRml4ZXNcIixcImdldFBhc3RlRWRpdHNcIl0sYjM9Wy4uLnR2LFwiZ2V0Q29tcGxldGlvbnNBdFBvc2l0aW9uXCIsXCJnZXRDb21wbGV0aW9uRW50cnlEZXRhaWxzXCIsXCJnZXRDb21wbGV0aW9uRW50cnlTeW1ib2xcIixcImdldFNpZ25hdHVyZUhlbHBJdGVtc1wiLFwiZ2V0UXVpY2tJbmZvQXRQb3NpdGlvblwiLFwiZ2V0RGVmaW5pdGlvbkF0UG9zaXRpb25cIixcImdldERlZmluaXRpb25BbmRCb3VuZFNwYW5cIixcImdldEltcGxlbWVudGF0aW9uQXRQb3NpdGlvblwiLFwiZ2V0VHlwZURlZmluaXRpb25BdFBvc2l0aW9uXCIsXCJnZXRSZWZlcmVuY2VzQXRQb3NpdGlvblwiLFwiZmluZFJlZmVyZW5jZXNcIixcImdldERvY3VtZW50SGlnaGxpZ2h0c1wiLFwiZ2V0TmF2aWdhdGVUb0l0ZW1zXCIsXCJnZXRSZW5hbWVJbmZvXCIsXCJmaW5kUmVuYW1lTG9jYXRpb25zXCIsXCJnZXRBcHBsaWNhYmxlUmVmYWN0b3JzXCIsXCJwcmVwYXJlUGFzdGVFZGl0c0ZvckZpbGVcIl07X2IoZXYoKSk7dmFyIElsPW5ldyBQcm94eSh7fSx7Z2V0OigpPT4hMH0pO3ZhciB3aD1JbFtcIjQuOFwiXTtmdW5jdGlvbiBlcihlLHQ9ITEpe3ZhciBhO2lmKGUhPW51bGwpe2lmKHdoKXtpZih0fHxObChlKSl7bGV0IG89dDEoZSk7cmV0dXJuIG8/Wy4uLm9dOnZvaWQgMH1yZXR1cm59cmV0dXJuKGE9ZS5tb2RpZmllcnMpPT1udWxsP3ZvaWQgMDphLmZpbHRlcihvPT4hRWwobykpfX1mdW5jdGlvbiB0YShlLHQ9ITEpe3ZhciBhO2lmKGUhPW51bGwpe2lmKHdoKXtpZih0fHxXZihlKSl7bGV0IG89dWYoZSk7cmV0dXJuIG8/Wy4uLm9dOnZvaWQgMH1yZXR1cm59cmV0dXJuKGE9ZS5kZWNvcmF0b3JzKT09bnVsbD92b2lkIDA6YS5maWx0ZXIoRWwpfX12YXIgRWg9e307dmFyIE9sPW5ldyBQcm94eSh7fSx7Z2V0OihlLHQpPT50fSk7dmFyIEFoPU9sLENoPU9sO3ZhciBDPUFoLFJ0PUNoO3ZhciBEaD1JbFtcIjUuMFwiXSx1ZT1OZSxpdj1uZXcgU2V0KFt1ZS5BbXBlcnNhbmRBbXBlcnNhbmRUb2tlbix1ZS5CYXJCYXJUb2tlbix1ZS5RdWVzdGlvblF1ZXN0aW9uVG9rZW5dKSxhdj1uZXcgU2V0KFtOZS5BbXBlcnNhbmRBbXBlcnNhbmRFcXVhbHNUb2tlbixOZS5BbXBlcnNhbmRFcXVhbHNUb2tlbixOZS5Bc3Rlcmlza0FzdGVyaXNrRXF1YWxzVG9rZW4sTmUuQXN0ZXJpc2tFcXVhbHNUb2tlbixOZS5CYXJCYXJFcXVhbHNUb2tlbixOZS5CYXJFcXVhbHNUb2tlbixOZS5DYXJldEVxdWFsc1Rva2VuLE5lLkVxdWFsc1Rva2VuLE5lLkdyZWF0ZXJUaGFuR3JlYXRlclRoYW5FcXVhbHNUb2tlbixOZS5HcmVhdGVyVGhhbkdyZWF0ZXJUaGFuR3JlYXRlclRoYW5FcXVhbHNUb2tlbixOZS5MZXNzVGhhbkxlc3NUaGFuRXF1YWxzVG9rZW4sTmUuTWludXNFcXVhbHNUb2tlbixOZS5QZXJjZW50RXF1YWxzVG9rZW4sTmUuUGx1c0VxdWFsc1Rva2VuLE5lLlF1ZXN0aW9uUXVlc3Rpb25FcXVhbHNUb2tlbixOZS5TbGFzaEVxdWFsc1Rva2VuXSksX3Y9bmV3IFNldChbdWUuQW1wZXJzYW5kQW1wZXJzYW5kVG9rZW4sdWUuQW1wZXJzYW5kVG9rZW4sdWUuQXN0ZXJpc2tBc3Rlcmlza1Rva2VuLHVlLkFzdGVyaXNrVG9rZW4sdWUuQmFyQmFyVG9rZW4sdWUuQmFyVG9rZW4sdWUuQ2FyZXRUb2tlbix1ZS5FcXVhbHNFcXVhbHNFcXVhbHNUb2tlbix1ZS5FcXVhbHNFcXVhbHNUb2tlbix1ZS5FeGNsYW1hdGlvbkVxdWFsc0VxdWFsc1Rva2VuLHVlLkV4Y2xhbWF0aW9uRXF1YWxzVG9rZW4sdWUuR3JlYXRlclRoYW5FcXVhbHNUb2tlbix1ZS5HcmVhdGVyVGhhbkdyZWF0ZXJUaGFuR3JlYXRlclRoYW5Ub2tlbix1ZS5HcmVhdGVyVGhhbkdyZWF0ZXJUaGFuVG9rZW4sdWUuR3JlYXRlclRoYW5Ub2tlbix1ZS5JbktleXdvcmQsdWUuSW5zdGFuY2VPZktleXdvcmQsdWUuTGVzc1RoYW5FcXVhbHNUb2tlbix1ZS5MZXNzVGhhbkxlc3NUaGFuVG9rZW4sdWUuTGVzc1RoYW5Ub2tlbix1ZS5NaW51c1Rva2VuLHVlLlBlcmNlbnRUb2tlbix1ZS5QbHVzVG9rZW4sdWUuU2xhc2hUb2tlbl0pO2Z1bmN0aW9uIHN2KGUpe3JldHVybiBhdi5oYXMoZS5raW5kKX1mdW5jdGlvbiBvdihlKXtyZXR1cm4gaXYuaGFzKGUua2luZCl9ZnVuY3Rpb24gY3YoZSl7cmV0dXJuIF92LmhhcyhlLmtpbmQpfWZ1bmN0aW9uICRyKGUpe3JldHVybiBpdChlKX1mdW5jdGlvbiBQaChlKXtyZXR1cm4gZS5raW5kIT09dWUuU2VtaWNvbG9uQ2xhc3NFbGVtZW50fWZ1bmN0aW9uIEhlKGUsdCl7bGV0IGE9ZXIodCk7cmV0dXJuKGE9PW51bGw/dm9pZCAwOmEuc29tZShvPT5vLmtpbmQ9PT1lKSk9PT0hMH1mdW5jdGlvbiBOaChlKXtsZXQgdD1lcihlKTtyZXR1cm4gdD09bnVsbD9udWxsOnRbdC5sZW5ndGgtMV0/P251bGx9ZnVuY3Rpb24gSWgoZSl7cmV0dXJuIGUua2luZD09PXVlLkNvbW1hVG9rZW59ZnVuY3Rpb24gbHYoZSl7cmV0dXJuIGUua2luZD09PXVlLlNpbmdsZUxpbmVDb21tZW50VHJpdmlhfHxlLmtpbmQ9PT11ZS5NdWx0aUxpbmVDb21tZW50VHJpdmlhfWZ1bmN0aW9uIHV2KGUpe3JldHVybiBlLmtpbmQ9PT11ZS5KU0RvY0NvbW1lbnR9ZnVuY3Rpb24gT2goZSl7aWYoc3YoZSkpcmV0dXJue3R5cGU6Qy5Bc3NpZ25tZW50RXhwcmVzc2lvbixvcGVyYXRvcjokcihlLmtpbmQpfTtpZihvdihlKSlyZXR1cm57dHlwZTpDLkxvZ2ljYWxFeHByZXNzaW9uLG9wZXJhdG9yOiRyKGUua2luZCl9O2lmKGN2KGUpKXJldHVybnt0eXBlOkMuQmluYXJ5RXhwcmVzc2lvbixvcGVyYXRvcjokcihlLmtpbmQpfTt0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgYmluYXJ5IG9wZXJhdG9yICR7aXQoZS5raW5kKX1gKX1mdW5jdGlvbiBUcyhlLHQpe2xldCBhPXQuZ2V0TGluZUFuZENoYXJhY3Rlck9mUG9zaXRpb24oZSk7cmV0dXJue2NvbHVtbjphLmNoYXJhY3RlcixsaW5lOmEubGluZSsxfX1mdW5jdGlvbiBRcihlLHQpe2xldFthLG9dPWUubWFwKG09PlRzKG0sdCkpO3JldHVybntlbmQ6byxzdGFydDphfX1mdW5jdGlvbiBNaChlKXtpZihlLmtpbmQ9PT1OZS5CbG9jaylzd2l0Y2goZS5wYXJlbnQua2luZCl7Y2FzZSBOZS5Db25zdHJ1Y3RvcjpjYXNlIE5lLkdldEFjY2Vzc29yOmNhc2UgTmUuU2V0QWNjZXNzb3I6Y2FzZSBOZS5BcnJvd0Z1bmN0aW9uOmNhc2UgTmUuRnVuY3Rpb25FeHByZXNzaW9uOmNhc2UgTmUuRnVuY3Rpb25EZWNsYXJhdGlvbjpjYXNlIE5lLk1ldGhvZERlY2xhcmF0aW9uOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gJGEoZSx0KXtyZXR1cm5bZS5nZXRTdGFydCh0KSxlLmdldEVuZCgpXX1mdW5jdGlvbiBwdihlKXtyZXR1cm4gZS5raW5kPj11ZS5GaXJzdFRva2VuJiZlLmtpbmQ8PXVlLkxhc3RUb2tlbn1mdW5jdGlvbiBKaChlKXtyZXR1cm4gZS5raW5kPj11ZS5Kc3hFbGVtZW50JiZlLmtpbmQ8PXVlLkpzeEF0dHJpYnV0ZX1mdW5jdGlvbiBNbChlKXtyZXR1cm4gZS5mbGFncyZvbi5MZXQ/XCJsZXRcIjooZS5mbGFncyZvbi5Bd2FpdFVzaW5nKT09PW9uLkF3YWl0VXNpbmc/XCJhd2FpdCB1c2luZ1wiOmUuZmxhZ3Mmb24uQ29uc3Q/XCJjb25zdFwiOmUuZmxhZ3Mmb24uVXNpbmc/XCJ1c2luZ1wiOlwidmFyXCJ9ZnVuY3Rpb24geGkoZSl7bGV0IHQ9ZXIoZSk7aWYodCE9bnVsbClmb3IobGV0IGEgb2YgdClzd2l0Y2goYS5raW5kKXtjYXNlIHVlLlB1YmxpY0tleXdvcmQ6cmV0dXJuXCJwdWJsaWNcIjtjYXNlIHVlLlByb3RlY3RlZEtleXdvcmQ6cmV0dXJuXCJwcm90ZWN0ZWRcIjtjYXNlIHVlLlByaXZhdGVLZXl3b3JkOnJldHVyblwicHJpdmF0ZVwiO2RlZmF1bHQ6YnJlYWt9fWZ1bmN0aW9uIG5hKGUsdCxhKXtyZXR1cm4gbyh0KTtmdW5jdGlvbiBvKG0pe3JldHVybiBhMShtKSYmbS5wb3M9PT1lLmVuZD9tOmd2KG0uZ2V0Q2hpbGRyZW4oYSksdj0+KHYucG9zPD1lLnBvcyYmdi5lbmQ+ZS5lbmR8fHYucG9zPT09ZS5lbmQpJiZ5dih2LGEpP28odik6dm9pZCAwKX19ZnVuY3Rpb24gZnYoZSx0KXtsZXQgYT1lO2Zvcig7YTspe2lmKHQoYSkpcmV0dXJuIGE7YT1hLnBhcmVudH19ZnVuY3Rpb24gZHYoZSl7cmV0dXJuISFmdihlLEpoKX1mdW5jdGlvbiBRZihlKXtyZXR1cm4gU3IoITEsZSwvJig/OiNcXGQrfCN4W1xcZGEtZkEtRl0rfFswLTlhLXpBLVpdKyk7L2csdD0+e2xldCBhPXQuc2xpY2UoMSwtMSk7aWYoYVswXT09PVwiI1wiKXtsZXQgbz1hWzFdPT09XCJ4XCI/cGFyc2VJbnQoYS5zbGljZSgyKSwxNik6cGFyc2VJbnQoYS5zbGljZSgxKSwxMCk7cmV0dXJuIG8+MTExNDExMT90OlN0cmluZy5mcm9tQ29kZVBvaW50KG8pfXJldHVybiBFaFthXXx8dH0pfWZ1bmN0aW9uIHJhKGUpe3JldHVybiBlLmtpbmQ9PT11ZS5Db21wdXRlZFByb3BlcnR5TmFtZX1mdW5jdGlvbiBLZihlKXtyZXR1cm4hIWUucXVlc3Rpb25Ub2tlbn1mdW5jdGlvbiBaZihlKXtyZXR1cm4gZS50eXBlPT09Qy5DaGFpbkV4cHJlc3Npb259ZnVuY3Rpb24gTGgoZSx0KXtyZXR1cm4gWmYodCkmJmUuZXhwcmVzc2lvbi5raW5kIT09TmUuUGFyZW50aGVzaXplZEV4cHJlc3Npb259ZnVuY3Rpb24gbXYoZSl7bGV0IHQ7aWYoRGgmJmUua2luZD09PXVlLklkZW50aWZpZXI/dD1TbChlKTpcIm9yaWdpbmFsS2V5d29yZEtpbmRcImluIGUmJih0PWUub3JpZ2luYWxLZXl3b3JkS2luZCksdClyZXR1cm4gdD09PXVlLk51bGxLZXl3b3JkP1J0Lk51bGw6dD49dWUuRmlyc3RGdXR1cmVSZXNlcnZlZFdvcmQmJnQ8PXVlLkxhc3RLZXl3b3JkP1J0LklkZW50aWZpZXI6UnQuS2V5d29yZDtpZihlLmtpbmQ+PXVlLkZpcnN0S2V5d29yZCYmZS5raW5kPD11ZS5MYXN0RnV0dXJlUmVzZXJ2ZWRXb3JkKXJldHVybiBlLmtpbmQ9PT11ZS5GYWxzZUtleXdvcmR8fGUua2luZD09PXVlLlRydWVLZXl3b3JkP1J0LkJvb2xlYW46UnQuS2V5d29yZDtpZihlLmtpbmQ+PXVlLkZpcnN0UHVuY3R1YXRpb24mJmUua2luZDw9dWUuTGFzdFB1bmN0dWF0aW9uKXJldHVybiBSdC5QdW5jdHVhdG9yO2lmKGUua2luZD49dWUuTm9TdWJzdGl0dXRpb25UZW1wbGF0ZUxpdGVyYWwmJmUua2luZDw9dWUuVGVtcGxhdGVUYWlsKXJldHVybiBSdC5UZW1wbGF0ZTtzd2l0Y2goZS5raW5kKXtjYXNlIHVlLk51bWVyaWNMaXRlcmFsOnJldHVybiBSdC5OdW1lcmljO2Nhc2UgdWUuSnN4VGV4dDpyZXR1cm4gUnQuSlNYVGV4dDtjYXNlIHVlLlN0cmluZ0xpdGVyYWw6cmV0dXJuIGUucGFyZW50LmtpbmQ9PT11ZS5Kc3hBdHRyaWJ1dGV8fGUucGFyZW50LmtpbmQ9PT11ZS5Kc3hFbGVtZW50P1J0LkpTWFRleHQ6UnQuU3RyaW5nO2Nhc2UgdWUuUmVndWxhckV4cHJlc3Npb25MaXRlcmFsOnJldHVybiBSdC5SZWd1bGFyRXhwcmVzc2lvbjtjYXNlIHVlLklkZW50aWZpZXI6Y2FzZSB1ZS5Db25zdHJ1Y3RvcktleXdvcmQ6Y2FzZSB1ZS5HZXRLZXl3b3JkOmNhc2UgdWUuU2V0S2V5d29yZDpkZWZhdWx0On1pZihlLmtpbmQ9PT11ZS5JZGVudGlmaWVyKXtpZihKaChlLnBhcmVudCkpcmV0dXJuIFJ0LkpTWElkZW50aWZpZXI7aWYoZS5wYXJlbnQua2luZD09PXVlLlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbiYmZHYoZSkpcmV0dXJuIFJ0LkpTWElkZW50aWZpZXJ9cmV0dXJuIFJ0LklkZW50aWZpZXJ9ZnVuY3Rpb24gaHYoZSx0KXtsZXQgYT1lLmtpbmQ9PT11ZS5Kc3hUZXh0P2UuZ2V0RnVsbFN0YXJ0KCk6ZS5nZXRTdGFydCh0KSxvPWUuZ2V0RW5kKCksbT10LnRleHQuc2xpY2UoYSxvKSx2PW12KGUpLEE9W2Esb10sUD1RcihBLHQpO3JldHVybiB2PT09UnQuUmVndWxhckV4cHJlc3Npb24/e3R5cGU6dixsb2M6UCxyYW5nZTpBLHJlZ2V4OntmbGFnczptLnNsaWNlKG0ubGFzdEluZGV4T2YoXCIvXCIpKzEpLHBhdHRlcm46bS5zbGljZSgxLG0ubGFzdEluZGV4T2YoXCIvXCIpKX0sdmFsdWU6bX06e3R5cGU6dixsb2M6UCxyYW5nZTpBLHZhbHVlOm19fWZ1bmN0aW9uIGpoKGUpe2xldCB0PVtdO2Z1bmN0aW9uIGEobyl7bHYobyl8fHV2KG8pfHwocHYobykmJm8ua2luZCE9PXVlLkVuZE9mRmlsZVRva2VuP3QucHVzaChodihvLGUpKTpvLmdldENoaWxkcmVuKGUpLmZvckVhY2goYSkpfXJldHVybiBhKGUpLHR9dmFyICRmPWNsYXNzIGV4dGVuZHMgRXJyb3J7ZmlsZU5hbWU7bG9jYXRpb247Y29uc3RydWN0b3IodCxhLG8pe3N1cGVyKHQpLHRoaXMuZmlsZU5hbWU9YSx0aGlzLmxvY2F0aW9uPW8sT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsXCJuYW1lXCIse2NvbmZpZ3VyYWJsZTohMCxlbnVtZXJhYmxlOiExLHZhbHVlOm5ldy50YXJnZXQubmFtZX0pfWdldCBpbmRleCgpe3JldHVybiB0aGlzLmxvY2F0aW9uLnN0YXJ0Lm9mZnNldH1nZXQgbGluZU51bWJlcigpe3JldHVybiB0aGlzLmxvY2F0aW9uLnN0YXJ0LmxpbmV9Z2V0IGNvbHVtbigpe3JldHVybiB0aGlzLmxvY2F0aW9uLnN0YXJ0LmNvbHVtbn19O2Z1bmN0aW9uIGVkKGUsdCxhLG89YSl7bGV0W20sdl09W2Esb10ubWFwKEE9PntsZXR7Y2hhcmFjdGVyOlAsbGluZTpsfT10LmdldExpbmVBbmRDaGFyYWN0ZXJPZlBvc2l0aW9uKEEpO3JldHVybntjb2x1bW46UCxsaW5lOmwrMSxvZmZzZXQ6QX19KTtyZXR1cm4gbmV3ICRmKGUsdC5maWxlTmFtZSx7ZW5kOnYsc3RhcnQ6bX0pfWZ1bmN0aW9uIFJoKGUpe3ZhciB0O3JldHVybiEhKFwiaWxsZWdhbERlY29yYXRvcnNcImluIGUmJigodD1lLmlsbGVnYWxEZWNvcmF0b3JzKSE9bnVsbCYmdC5sZW5ndGgpKX1mdW5jdGlvbiB5dihlLHQpe3JldHVybiBlLmtpbmQ9PT11ZS5FbmRPZkZpbGVUb2tlbj8hIWUuanNEb2M6ZS5nZXRXaWR0aCh0KSE9PTB9ZnVuY3Rpb24gZ3YoZSx0KXtpZihlIT09dm9pZCAwKWZvcihsZXQgYT0wO2E8ZS5sZW5ndGg7YSsrKXtsZXQgbz10KGVbYV0sYSk7aWYobyE9PXZvaWQgMClyZXR1cm4gb319ZnVuY3Rpb24gYnYoZSl7cmV0dXJuKERoP1NsKGUpOmUub3JpZ2luYWxLZXl3b3JkS2luZCk9PT11ZS5UaGlzS2V5d29yZH1mdW5jdGlvbiBVaChlKXtyZXR1cm4hIWUmJmUua2luZD09PXVlLklkZW50aWZpZXImJmJ2KGUpfWZ1bmN0aW9uIEJoKGUpe2lmKCFVaChlKSlyZXR1cm4hMTtmb3IoO04xKGUucGFyZW50KSYmZS5wYXJlbnQubGVmdD09PWU7KWU9ZS5wYXJlbnQ7cmV0dXJuIGUucGFyZW50LmtpbmQ9PT11ZS5UeXBlUXVlcnl9ZnVuY3Rpb24gdnYoZSl7cmV0dXJuIGU9PT12b2lkIDA/ITA6ZS5wb3M9PT1lLmVuZCYmZS5wb3M+PTAmJmUua2luZCE9PXVlLkVuZE9mRmlsZVRva2VufWZ1bmN0aW9uIHRkKGUpe3JldHVybiF2dihlKX1mdW5jdGlvbiBxaChlKXtyZXR1cm4gY2YoZS5wYXJlbnQsbWYpfWZ1bmN0aW9uIFR2KGUpe3JldHVybiBIZSh1ZS5BYnN0cmFjdEtleXdvcmQsZSl9ZnVuY3Rpb24geHYoZSl7aWYoZS5wYXJhbWV0ZXJzLmxlbmd0aCYmIVBsKGUpKXtsZXQgdD1lLnBhcmFtZXRlcnNbMF07aWYoU3YodCkpcmV0dXJuIHR9cmV0dXJuIG51bGx9ZnVuY3Rpb24gU3YoZSl7cmV0dXJuIFVoKGUubmFtZSl9ZnVuY3Rpb24gemgoZSl7c3dpdGNoKGUua2luZCl7Y2FzZSB1ZS5DbGFzc0RlY2xhcmF0aW9uOnJldHVybiEwO2Nhc2UgdWUuQ2xhc3NFeHByZXNzaW9uOnJldHVybiEwO2Nhc2UgdWUuUHJvcGVydHlEZWNsYXJhdGlvbjp7bGV0e3BhcmVudDp0fT1lO3JldHVybiEhKFdhKHQpfHx2aSh0KSYmIVR2KGUpKX1jYXNlIHVlLkdldEFjY2Vzc29yOmNhc2UgdWUuU2V0QWNjZXNzb3I6Y2FzZSB1ZS5NZXRob2REZWNsYXJhdGlvbjp7bGV0e3BhcmVudDp0fT1lO3JldHVybiEhZS5ib2R5JiYoV2EodCl8fHZpKHQpKX1jYXNlIHVlLlBhcmFtZXRlcjp7bGV0e3BhcmVudDp0fT1lLGE9dC5wYXJlbnQ7cmV0dXJuISF0JiZcImJvZHlcImluIHQmJiEhdC5ib2R5JiYodC5raW5kPT09dWUuQ29uc3RydWN0b3J8fHQua2luZD09PXVlLk1ldGhvZERlY2xhcmF0aW9ufHx0LmtpbmQ9PT11ZS5TZXRBY2Nlc3NvcikmJnh2KHQpIT09ZSYmISFhJiZhLmtpbmQ9PT11ZS5DbGFzc0RlY2xhcmF0aW9ufX1yZXR1cm4hMX1mdW5jdGlvbiBKbChlKXtzd2l0Y2goZS5raW5kKXtjYXNlIHVlLklkZW50aWZpZXI6cmV0dXJuITA7Y2FzZSB1ZS5Qcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246Y2FzZSB1ZS5FbGVtZW50QWNjZXNzRXhwcmVzc2lvbjpyZXR1cm4hKGUuZmxhZ3Mmb24uT3B0aW9uYWxDaGFpbik7Y2FzZSB1ZS5QYXJlbnRoZXNpemVkRXhwcmVzc2lvbjpjYXNlIHVlLlR5cGVBc3NlcnRpb25FeHByZXNzaW9uOmNhc2UgdWUuQXNFeHByZXNzaW9uOmNhc2UgdWUuU2F0aXNmaWVzRXhwcmVzc2lvbjpjYXNlIHVlLkV4cHJlc3Npb25XaXRoVHlwZUFyZ3VtZW50czpjYXNlIHVlLk5vbk51bGxFeHByZXNzaW9uOnJldHVybiBKbChlLmV4cHJlc3Npb24pO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIEZoKGUpe2xldCB0PWVyKGUpLGE9ZTtmb3IoOyghdHx8dC5sZW5ndGg9PT0wKSYmVGkoYS5wYXJlbnQpOyl7bGV0IG89ZXIoYS5wYXJlbnQpO28hPW51bGwmJm8ubGVuZ3RoJiYodD1vKSxhPWEucGFyZW50fXJldHVybiB0fXZhciBUPU5lO2Z1bmN0aW9uIGFkKGUpe3JldHVybiBlZChcIm1lc3NhZ2VcImluIGUmJmUubWVzc2FnZXx8ZS5tZXNzYWdlVGV4dCxlLmZpbGUsZS5zdGFydCl9dmFyIG1lLHJkLFZoLEJlLFZ0LFFhLGlkLExsPWNsYXNze2NvbnN0cnVjdG9yKHQsYSl7eXAodGhpcyxtZSk7TmEodGhpcyxcImFsbG93UGF0dGVyblwiLCExKTtOYSh0aGlzLFwiYXN0XCIpO05hKHRoaXMsXCJlc1RyZWVOb2RlVG9UU05vZGVNYXBcIixuZXcgV2Vha01hcCk7TmEodGhpcyxcIm9wdGlvbnNcIik7TmEodGhpcyxcInRzTm9kZVRvRVNUcmVlTm9kZU1hcFwiLG5ldyBXZWFrTWFwKTt0aGlzLmFzdD10LHRoaXMub3B0aW9ucz17Li4uYX19YXNzZXJ0TW9kdWxlU3BlY2lmaWVyKHQsYSl7dmFyIG87IWEmJnQubW9kdWxlU3BlY2lmaWVyPT1udWxsJiZnZSh0aGlzLG1lLFZ0KS5jYWxsKHRoaXMsdCxcIk1vZHVsZSBzcGVjaWZpZXIgbXVzdCBiZSBhIHN0cmluZyBsaXRlcmFsLlwiKSx0Lm1vZHVsZVNwZWNpZmllciYmKChvPXQubW9kdWxlU3BlY2lmaWVyKT09bnVsbD92b2lkIDA6by5raW5kKSE9PVQuU3RyaW5nTGl0ZXJhbCYmZ2UodGhpcyxtZSxWdCkuY2FsbCh0aGlzLHQubW9kdWxlU3BlY2lmaWVyLFwiTW9kdWxlIHNwZWNpZmllciBtdXN0IGJlIGEgc3RyaW5nIGxpdGVyYWwuXCIpfWNvbnZlcnRCaW5kaW5nTmFtZVdpdGhUeXBlQW5ub3RhdGlvbih0LGEsbyl7bGV0IG09dGhpcy5jb252ZXJ0UGF0dGVybih0KTtyZXR1cm4gYSYmKG0udHlwZUFubm90YXRpb249dGhpcy5jb252ZXJ0VHlwZUFubm90YXRpb24oYSxvKSx0aGlzLmZpeFBhcmVudExvY2F0aW9uKG0sbS50eXBlQW5ub3RhdGlvbi5yYW5nZSkpLG19Y29udmVydEJvZHlFeHByZXNzaW9ucyh0LGEpe2xldCBvPU1oKGEpO3JldHVybiB0Lm1hcChtPT57bGV0IHY9dGhpcy5jb252ZXJ0Q2hpbGQobSk7aWYobyl7aWYodiE9bnVsbCYmdi5leHByZXNzaW9uJiZDbChtKSYmWWEobS5leHByZXNzaW9uKSl7bGV0IEE9di5leHByZXNzaW9uLnJhdztyZXR1cm4gdi5kaXJlY3RpdmU9QS5zbGljZSgxLC0xKSx2fW89ITF9cmV0dXJuIHZ9KS5maWx0ZXIobT0+bSl9Y29udmVydENoYWluRXhwcmVzc2lvbih0LGEpe2xldHtjaGlsZDpvLGlzT3B0aW9uYWw6bX09dC50eXBlPT09Qy5NZW1iZXJFeHByZXNzaW9uP3tjaGlsZDp0Lm9iamVjdCxpc09wdGlvbmFsOnQub3B0aW9uYWx9OnQudHlwZT09PUMuQ2FsbEV4cHJlc3Npb24/e2NoaWxkOnQuY2FsbGVlLGlzT3B0aW9uYWw6dC5vcHRpb25hbH06e2NoaWxkOnQuZXhwcmVzc2lvbixpc09wdGlvbmFsOiExfSx2PUxoKGEsbyk7aWYoIXYmJiFtKXJldHVybiB0O2lmKHYmJlpmKG8pKXtsZXQgQT1vLmV4cHJlc3Npb247dC50eXBlPT09Qy5NZW1iZXJFeHByZXNzaW9uP3Qub2JqZWN0PUE6dC50eXBlPT09Qy5DYWxsRXhwcmVzc2lvbj90LmNhbGxlZT1BOnQuZXhwcmVzc2lvbj1BfXJldHVybiB0aGlzLmNyZWF0ZU5vZGUoYSx7dHlwZTpDLkNoYWluRXhwcmVzc2lvbixleHByZXNzaW9uOnR9KX1jb252ZXJ0Q2hpbGQodCxhKXtyZXR1cm4gdGhpcy5jb252ZXJ0ZXIodCxhLCExKX1jb252ZXJ0UGF0dGVybih0LGEpe3JldHVybiB0aGlzLmNvbnZlcnRlcih0LGEsITApfWNvbnZlcnRUeXBlQW5ub3RhdGlvbih0LGEpe2xldCBvPShhPT1udWxsP3ZvaWQgMDphLmtpbmQpPT09VC5GdW5jdGlvblR5cGV8fChhPT1udWxsP3ZvaWQgMDphLmtpbmQpPT09VC5Db25zdHJ1Y3RvclR5cGU/MjoxLHY9W3QuZ2V0RnVsbFN0YXJ0KCktbyx0LmVuZF0sQT1Rcih2LHRoaXMuYXN0KTtyZXR1cm57dHlwZTpDLlRTVHlwZUFubm90YXRpb24sbG9jOkEscmFuZ2U6dix0eXBlQW5ub3RhdGlvbjp0aGlzLmNvbnZlcnRDaGlsZCh0KX19Y29udmVydFR5cGVBcmd1bWVudHNUb1R5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKHQsYSl7bGV0IG89bmEodCx0aGlzLmFzdCx0aGlzLmFzdCk7cmV0dXJuIHRoaXMuY3JlYXRlTm9kZShhLHt0eXBlOkMuVFNUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbixyYW5nZTpbdC5wb3MtMSxvLmVuZF0scGFyYW1zOnQubWFwKG09PnRoaXMuY29udmVydENoaWxkKG0pKX0pfWNvbnZlcnRUU1R5cGVQYXJhbWV0ZXJzVG9UeXBlUGFyYW1ldGVyc0RlY2xhcmF0aW9uKHQpe2xldCBhPW5hKHQsdGhpcy5hc3QsdGhpcy5hc3QpLG89W3QucG9zLTEsYS5lbmRdO3JldHVybnt0eXBlOkMuVFNUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24sbG9jOlFyKG8sdGhpcy5hc3QpLHJhbmdlOm8scGFyYW1zOnQubWFwKG09PnRoaXMuY29udmVydENoaWxkKG0pKX19Y29udmVydFBhcmFtZXRlcnModCl7cmV0dXJuIHQhPW51bGwmJnQubGVuZ3RoP3QubWFwKGE9Pnt2YXIgbTtsZXQgbz10aGlzLmNvbnZlcnRDaGlsZChhKTtyZXR1cm4gby5kZWNvcmF0b3JzPSgobT10YShhKSk9PW51bGw/dm9pZCAwOm0ubWFwKHY9PnRoaXMuY29udmVydENoaWxkKHYpKSk/P1tdLG99KTpbXX1jb252ZXJ0ZXIodCxhLG8pe2lmKCF0KXJldHVybiBudWxsO2dlKHRoaXMsbWUsVmgpLmNhbGwodGhpcyx0KTtsZXQgbT10aGlzLmFsbG93UGF0dGVybjtvIT09dm9pZCAwJiYodGhpcy5hbGxvd1BhdHRlcm49byk7bGV0IHY9dGhpcy5jb252ZXJ0Tm9kZSh0LGE/P3QucGFyZW50KTtyZXR1cm4gdGhpcy5yZWdpc3RlclRTTm9kZUluTm9kZU1hcCh0LHYpLHRoaXMuYWxsb3dQYXR0ZXJuPW0sdn1jb252ZXJ0SW1wb3J0QXR0cmlidXRlcyh0KXtyZXR1cm4gdD09PXZvaWQgMD9bXTp0LmVsZW1lbnRzLm1hcChhPT50aGlzLmNvbnZlcnRDaGlsZChhKSl9Y29udmVydEpTWElkZW50aWZpZXIodCl7bGV0IGE9dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5KU1hJZGVudGlmaWVyLG5hbWU6dC5nZXRUZXh0KCl9KTtyZXR1cm4gdGhpcy5yZWdpc3RlclRTTm9kZUluTm9kZU1hcCh0LGEpLGF9Y29udmVydEpTWE5hbWVzcGFjZU9ySWRlbnRpZmllcih0KXtpZih0LmtpbmQ9PT1OZS5Kc3hOYW1lc3BhY2VkTmFtZSl7bGV0IG09dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5KU1hOYW1lc3BhY2VkTmFtZSxuYW1lOnRoaXMuY3JlYXRlTm9kZSh0Lm5hbWUse3R5cGU6Qy5KU1hJZGVudGlmaWVyLG5hbWU6dC5uYW1lLnRleHR9KSxuYW1lc3BhY2U6dGhpcy5jcmVhdGVOb2RlKHQubmFtZXNwYWNlLHt0eXBlOkMuSlNYSWRlbnRpZmllcixuYW1lOnQubmFtZXNwYWNlLnRleHR9KX0pO3JldHVybiB0aGlzLnJlZ2lzdGVyVFNOb2RlSW5Ob2RlTWFwKHQsbSksbX1sZXQgYT10LmdldFRleHQoKSxvPWEuaW5kZXhPZihcIjpcIik7aWYobz4wKXtsZXQgbT0kYSh0LHRoaXMuYXN0KSx2PXRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuSlNYTmFtZXNwYWNlZE5hbWUscmFuZ2U6bSxuYW1lOnRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuSlNYSWRlbnRpZmllcixyYW5nZTpbbVswXStvKzEsbVsxXV0sbmFtZTphLnNsaWNlKG8rMSl9KSxuYW1lc3BhY2U6dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5KU1hJZGVudGlmaWVyLHJhbmdlOlttWzBdLG1bMF0rb10sbmFtZTphLnNsaWNlKDAsbyl9KX0pO3JldHVybiB0aGlzLnJlZ2lzdGVyVFNOb2RlSW5Ob2RlTWFwKHQsdiksdn1yZXR1cm4gdGhpcy5jb252ZXJ0SlNYSWRlbnRpZmllcih0KX1jb252ZXJ0SlNYVGFnTmFtZSh0LGEpe2xldCBvO3N3aXRjaCh0LmtpbmQpe2Nhc2UgVC5Qcm9wZXJ0eUFjY2Vzc0V4cHJlc3Npb246dC5uYW1lLmtpbmQ9PT1ULlByaXZhdGVJZGVudGlmaWVyJiZnZSh0aGlzLG1lLEJlKS5jYWxsKHRoaXMsdC5uYW1lLFwiTm9uLXByaXZhdGUgaWRlbnRpZmllciBleHBlY3RlZC5cIiksbz10aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLkpTWE1lbWJlckV4cHJlc3Npb24sb2JqZWN0OnRoaXMuY29udmVydEpTWFRhZ05hbWUodC5leHByZXNzaW9uLGEpLHByb3BlcnR5OnRoaXMuY29udmVydEpTWElkZW50aWZpZXIodC5uYW1lKX0pO2JyZWFrO2Nhc2UgVC5UaGlzS2V5d29yZDpjYXNlIFQuSWRlbnRpZmllcjpkZWZhdWx0OnJldHVybiB0aGlzLmNvbnZlcnRKU1hOYW1lc3BhY2VPcklkZW50aWZpZXIodCl9cmV0dXJuIHRoaXMucmVnaXN0ZXJUU05vZGVJbk5vZGVNYXAodCxvKSxvfWNvbnZlcnRNZXRob2RTaWduYXR1cmUodCl7cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVFNNZXRob2RTaWduYXR1cmUsYWNjZXNzaWJpbGl0eTp4aSh0KSxjb21wdXRlZDpyYSh0Lm5hbWUpLGtleTp0aGlzLmNvbnZlcnRDaGlsZCh0Lm5hbWUpLGtpbmQ6KCgpPT57c3dpdGNoKHQua2luZCl7Y2FzZSBULkdldEFjY2Vzc29yOnJldHVyblwiZ2V0XCI7Y2FzZSBULlNldEFjY2Vzc29yOnJldHVyblwic2V0XCI7Y2FzZSBULk1ldGhvZFNpZ25hdHVyZTpyZXR1cm5cIm1ldGhvZFwifX0pKCksb3B0aW9uYWw6S2YodCkscGFyYW1zOnRoaXMuY29udmVydFBhcmFtZXRlcnModC5wYXJhbWV0ZXJzKSxyZWFkb25seTpIZShULlJlYWRvbmx5S2V5d29yZCx0KSxyZXR1cm5UeXBlOnQudHlwZSYmdGhpcy5jb252ZXJ0VHlwZUFubm90YXRpb24odC50eXBlLHQpLHN0YXRpYzpIZShULlN0YXRpY0tleXdvcmQsdCksdHlwZVBhcmFtZXRlcnM6dC50eXBlUGFyYW1ldGVycyYmdGhpcy5jb252ZXJ0VFNUeXBlUGFyYW1ldGVyc1RvVHlwZVBhcmFtZXRlcnNEZWNsYXJhdGlvbih0LnR5cGVQYXJhbWV0ZXJzKX0pfWZpeFBhcmVudExvY2F0aW9uKHQsYSl7YVswXTx0LnJhbmdlWzBdJiYodC5yYW5nZVswXT1hWzBdLHQubG9jLnN0YXJ0PVRzKHQucmFuZ2VbMF0sdGhpcy5hc3QpKSxhWzFdPnQucmFuZ2VbMV0mJih0LnJhbmdlWzFdPWFbMV0sdC5sb2MuZW5kPVRzKHQucmFuZ2VbMV0sdGhpcy5hc3QpKX1jb252ZXJ0Tm9kZSh0LGEpe3ZhciBvLG0sdixBLFAsbCxRLGg7c3dpdGNoKHQua2luZCl7Y2FzZSBULlNvdXJjZUZpbGU6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuUHJvZ3JhbSxyYW5nZTpbdC5nZXRTdGFydCh0aGlzLmFzdCksdC5lbmRPZkZpbGVUb2tlbi5lbmRdLGJvZHk6dGhpcy5jb252ZXJ0Qm9keUV4cHJlc3Npb25zKHQuc3RhdGVtZW50cyx0KSxjb21tZW50czp2b2lkIDAsc291cmNlVHlwZTp0LmV4dGVybmFsTW9kdWxlSW5kaWNhdG9yP1wibW9kdWxlXCI6XCJzY3JpcHRcIix0b2tlbnM6dm9pZCAwfSk7Y2FzZSBULkJsb2NrOnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLkJsb2NrU3RhdGVtZW50LGJvZHk6dGhpcy5jb252ZXJ0Qm9keUV4cHJlc3Npb25zKHQuc3RhdGVtZW50cyx0KX0pO2Nhc2UgVC5JZGVudGlmaWVyOnJldHVybiBCaCh0KT90aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRoaXNFeHByZXNzaW9ufSk6dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5JZGVudGlmaWVyLGRlY29yYXRvcnM6W10sbmFtZTp0LnRleHQsb3B0aW9uYWw6ITEsdHlwZUFubm90YXRpb246dm9pZCAwfSk7Y2FzZSBULlByaXZhdGVJZGVudGlmaWVyOnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlByaXZhdGVJZGVudGlmaWVyLG5hbWU6dC50ZXh0LnNsaWNlKDEpfSk7Y2FzZSBULldpdGhTdGF0ZW1lbnQ6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuV2l0aFN0YXRlbWVudCxib2R5OnRoaXMuY29udmVydENoaWxkKHQuc3RhdGVtZW50KSxvYmplY3Q6dGhpcy5jb252ZXJ0Q2hpbGQodC5leHByZXNzaW9uKX0pO2Nhc2UgVC5SZXR1cm5TdGF0ZW1lbnQ6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuUmV0dXJuU3RhdGVtZW50LGFyZ3VtZW50OnRoaXMuY29udmVydENoaWxkKHQuZXhwcmVzc2lvbil9KTtjYXNlIFQuTGFiZWxlZFN0YXRlbWVudDpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5MYWJlbGVkU3RhdGVtZW50LGJvZHk6dGhpcy5jb252ZXJ0Q2hpbGQodC5zdGF0ZW1lbnQpLGxhYmVsOnRoaXMuY29udmVydENoaWxkKHQubGFiZWwpfSk7Y2FzZSBULkNvbnRpbnVlU3RhdGVtZW50OnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLkNvbnRpbnVlU3RhdGVtZW50LGxhYmVsOnRoaXMuY29udmVydENoaWxkKHQubGFiZWwpfSk7Y2FzZSBULkJyZWFrU3RhdGVtZW50OnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLkJyZWFrU3RhdGVtZW50LGxhYmVsOnRoaXMuY29udmVydENoaWxkKHQubGFiZWwpfSk7Y2FzZSBULklmU3RhdGVtZW50OnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLklmU3RhdGVtZW50LGFsdGVybmF0ZTp0aGlzLmNvbnZlcnRDaGlsZCh0LmVsc2VTdGF0ZW1lbnQpLGNvbnNlcXVlbnQ6dGhpcy5jb252ZXJ0Q2hpbGQodC50aGVuU3RhdGVtZW50KSx0ZXN0OnRoaXMuY29udmVydENoaWxkKHQuZXhwcmVzc2lvbil9KTtjYXNlIFQuU3dpdGNoU3RhdGVtZW50OnJldHVybiB0LmNhc2VCbG9jay5jbGF1c2VzLmZpbHRlcih5PT55LmtpbmQ9PT1ULkRlZmF1bHRDbGF1c2UpLmxlbmd0aD4xJiZnZSh0aGlzLG1lLEJlKS5jYWxsKHRoaXMsdCxcIkEgJ2RlZmF1bHQnIGNsYXVzZSBjYW5ub3QgYXBwZWFyIG1vcmUgdGhhbiBvbmNlIGluIGEgJ3N3aXRjaCcgc3RhdGVtZW50LlwiKSx0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlN3aXRjaFN0YXRlbWVudCxjYXNlczp0LmNhc2VCbG9jay5jbGF1c2VzLm1hcCh5PT50aGlzLmNvbnZlcnRDaGlsZCh5KSksZGlzY3JpbWluYW50OnRoaXMuY29udmVydENoaWxkKHQuZXhwcmVzc2lvbil9KTtjYXNlIFQuQ2FzZUNsYXVzZTpjYXNlIFQuRGVmYXVsdENsYXVzZTpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5Td2l0Y2hDYXNlLGNvbnNlcXVlbnQ6dC5zdGF0ZW1lbnRzLm1hcCh5PT50aGlzLmNvbnZlcnRDaGlsZCh5KSksdGVzdDp0LmtpbmQ9PT1ULkNhc2VDbGF1c2U/dGhpcy5jb252ZXJ0Q2hpbGQodC5leHByZXNzaW9uKTpudWxsfSk7Y2FzZSBULlRocm93U3RhdGVtZW50OnJldHVybiB0LmV4cHJlc3Npb24uZW5kPT09dC5leHByZXNzaW9uLnBvcyYmZ2UodGhpcyxtZSxWdCkuY2FsbCh0aGlzLHQsXCJBIHRocm93IHN0YXRlbWVudCBtdXN0IHRocm93IGFuIGV4cHJlc3Npb24uXCIpLHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVGhyb3dTdGF0ZW1lbnQsYXJndW1lbnQ6dGhpcy5jb252ZXJ0Q2hpbGQodC5leHByZXNzaW9uKX0pO2Nhc2UgVC5UcnlTdGF0ZW1lbnQ6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVHJ5U3RhdGVtZW50LGJsb2NrOnRoaXMuY29udmVydENoaWxkKHQudHJ5QmxvY2spLGZpbmFsaXplcjp0aGlzLmNvbnZlcnRDaGlsZCh0LmZpbmFsbHlCbG9jayksaGFuZGxlcjp0aGlzLmNvbnZlcnRDaGlsZCh0LmNhdGNoQ2xhdXNlKX0pO2Nhc2UgVC5DYXRjaENsYXVzZTpyZXR1cm4obz10LnZhcmlhYmxlRGVjbGFyYXRpb24pIT1udWxsJiZvLmluaXRpYWxpemVyJiZnZSh0aGlzLG1lLEJlKS5jYWxsKHRoaXMsdC52YXJpYWJsZURlY2xhcmF0aW9uLmluaXRpYWxpemVyLFwiQ2F0Y2ggY2xhdXNlIHZhcmlhYmxlIGNhbm5vdCBoYXZlIGFuIGluaXRpYWxpemVyLlwiKSx0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLkNhdGNoQ2xhdXNlLGJvZHk6dGhpcy5jb252ZXJ0Q2hpbGQodC5ibG9jaykscGFyYW06dC52YXJpYWJsZURlY2xhcmF0aW9uP3RoaXMuY29udmVydEJpbmRpbmdOYW1lV2l0aFR5cGVBbm5vdGF0aW9uKHQudmFyaWFibGVEZWNsYXJhdGlvbi5uYW1lLHQudmFyaWFibGVEZWNsYXJhdGlvbi50eXBlKTpudWxsfSk7Y2FzZSBULldoaWxlU3RhdGVtZW50OnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLldoaWxlU3RhdGVtZW50LGJvZHk6dGhpcy5jb252ZXJ0Q2hpbGQodC5zdGF0ZW1lbnQpLHRlc3Q6dGhpcy5jb252ZXJ0Q2hpbGQodC5leHByZXNzaW9uKX0pO2Nhc2UgVC5Eb1N0YXRlbWVudDpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5Eb1doaWxlU3RhdGVtZW50LGJvZHk6dGhpcy5jb252ZXJ0Q2hpbGQodC5zdGF0ZW1lbnQpLHRlc3Q6dGhpcy5jb252ZXJ0Q2hpbGQodC5leHByZXNzaW9uKX0pO2Nhc2UgVC5Gb3JTdGF0ZW1lbnQ6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuRm9yU3RhdGVtZW50LGJvZHk6dGhpcy5jb252ZXJ0Q2hpbGQodC5zdGF0ZW1lbnQpLGluaXQ6dGhpcy5jb252ZXJ0Q2hpbGQodC5pbml0aWFsaXplciksdGVzdDp0aGlzLmNvbnZlcnRDaGlsZCh0LmNvbmRpdGlvbiksdXBkYXRlOnRoaXMuY29udmVydENoaWxkKHQuaW5jcmVtZW50b3IpfSk7Y2FzZSBULkZvckluU3RhdGVtZW50OnJldHVybiBnZSh0aGlzLG1lLHJkKS5jYWxsKHRoaXMsdC5pbml0aWFsaXplcix0LmtpbmQpLHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuRm9ySW5TdGF0ZW1lbnQsYm9keTp0aGlzLmNvbnZlcnRDaGlsZCh0LnN0YXRlbWVudCksbGVmdDp0aGlzLmNvbnZlcnRQYXR0ZXJuKHQuaW5pdGlhbGl6ZXIpLHJpZ2h0OnRoaXMuY29udmVydENoaWxkKHQuZXhwcmVzc2lvbil9KTtjYXNlIFQuRm9yT2ZTdGF0ZW1lbnQ6cmV0dXJuIGdlKHRoaXMsbWUscmQpLmNhbGwodGhpcyx0LmluaXRpYWxpemVyLHQua2luZCksdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5Gb3JPZlN0YXRlbWVudCxhd2FpdDohISh0LmF3YWl0TW9kaWZpZXImJnQuYXdhaXRNb2RpZmllci5raW5kPT09VC5Bd2FpdEtleXdvcmQpLGJvZHk6dGhpcy5jb252ZXJ0Q2hpbGQodC5zdGF0ZW1lbnQpLGxlZnQ6dGhpcy5jb252ZXJ0UGF0dGVybih0LmluaXRpYWxpemVyKSxyaWdodDp0aGlzLmNvbnZlcnRDaGlsZCh0LmV4cHJlc3Npb24pfSk7Y2FzZSBULkZ1bmN0aW9uRGVjbGFyYXRpb246e2xldCB5PUhlKFQuRGVjbGFyZUtleXdvcmQsdCksZz1IZShULkFzeW5jS2V5d29yZCx0KSx4PSEhdC5hc3Rlcmlza1Rva2VuO3k/dC5ib2R5P2dlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyx0LFwiQW4gaW1wbGVtZW50YXRpb24gY2Fubm90IGJlIGRlY2xhcmVkIGluIGFtYmllbnQgY29udGV4dHMuXCIpOmc/Z2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLHQsXCInYXN5bmMnIG1vZGlmaWVyIGNhbm5vdCBiZSB1c2VkIGluIGFuIGFtYmllbnQgY29udGV4dC5cIik6eCYmZ2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLHQsXCJHZW5lcmF0b3JzIGFyZSBub3QgYWxsb3dlZCBpbiBhbiBhbWJpZW50IGNvbnRleHQuXCIpOiF0LmJvZHkmJngmJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyx0LFwiQSBmdW5jdGlvbiBzaWduYXR1cmUgY2Fubm90IGJlIGRlY2xhcmVkIGFzIGEgZ2VuZXJhdG9yLlwiKTtsZXQgST10aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTp0LmJvZHk/Qy5GdW5jdGlvbkRlY2xhcmF0aW9uOkMuVFNEZWNsYXJlRnVuY3Rpb24sYXN5bmM6Zyxib2R5OnRoaXMuY29udmVydENoaWxkKHQuYm9keSl8fHZvaWQgMCxkZWNsYXJlOnksZXhwcmVzc2lvbjohMSxnZW5lcmF0b3I6eCxpZDp0aGlzLmNvbnZlcnRDaGlsZCh0Lm5hbWUpLHBhcmFtczp0aGlzLmNvbnZlcnRQYXJhbWV0ZXJzKHQucGFyYW1ldGVycykscmV0dXJuVHlwZTp0LnR5cGUmJnRoaXMuY29udmVydFR5cGVBbm5vdGF0aW9uKHQudHlwZSx0KSx0eXBlUGFyYW1ldGVyczp0LnR5cGVQYXJhbWV0ZXJzJiZ0aGlzLmNvbnZlcnRUU1R5cGVQYXJhbWV0ZXJzVG9UeXBlUGFyYW1ldGVyc0RlY2xhcmF0aW9uKHQudHlwZVBhcmFtZXRlcnMpfSk7cmV0dXJuIHRoaXMuZml4RXhwb3J0cyh0LEkpfWNhc2UgVC5WYXJpYWJsZURlY2xhcmF0aW9uOntsZXQgeT0hIXQuZXhjbGFtYXRpb25Ub2tlbixnPXRoaXMuY29udmVydENoaWxkKHQuaW5pdGlhbGl6ZXIpLHg9dGhpcy5jb252ZXJ0QmluZGluZ05hbWVXaXRoVHlwZUFubm90YXRpb24odC5uYW1lLHQudHlwZSx0KTtyZXR1cm4geSYmKGc/Z2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLHQsXCJEZWNsYXJhdGlvbnMgd2l0aCBpbml0aWFsaXplcnMgY2Fubm90IGFsc28gaGF2ZSBkZWZpbml0ZSBhc3NpZ25tZW50IGFzc2VydGlvbnMuXCIpOih4LnR5cGUhPT1DLklkZW50aWZpZXJ8fCF4LnR5cGVBbm5vdGF0aW9uKSYmZ2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLHQsXCJEZWNsYXJhdGlvbnMgd2l0aCBkZWZpbml0ZSBhc3NpZ25tZW50IGFzc2VydGlvbnMgbXVzdCBhbHNvIGhhdmUgdHlwZSBhbm5vdGF0aW9ucy5cIikpLHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVmFyaWFibGVEZWNsYXJhdG9yLGRlZmluaXRlOnksaWQ6eCxpbml0Omd9KX1jYXNlIFQuVmFyaWFibGVTdGF0ZW1lbnQ6e2xldCB5PXRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVmFyaWFibGVEZWNsYXJhdGlvbixkZWNsYXJhdGlvbnM6dC5kZWNsYXJhdGlvbkxpc3QuZGVjbGFyYXRpb25zLm1hcChnPT50aGlzLmNvbnZlcnRDaGlsZChnKSksZGVjbGFyZTpIZShULkRlY2xhcmVLZXl3b3JkLHQpLGtpbmQ6TWwodC5kZWNsYXJhdGlvbkxpc3QpfSk7cmV0dXJuIHkuZGVjbGFyYXRpb25zLmxlbmd0aHx8Z2UodGhpcyxtZSxWdCkuY2FsbCh0aGlzLHQsXCJBIHZhcmlhYmxlIGRlY2xhcmF0aW9uIGxpc3QgbXVzdCBoYXZlIGF0IGxlYXN0IG9uZSB2YXJpYWJsZSBkZWNsYXJhdG9yLlwiKSwoeS5raW5kPT09XCJ1c2luZ1wifHx5LmtpbmQ9PT1cImF3YWl0IHVzaW5nXCIpJiZ0LmRlY2xhcmF0aW9uTGlzdC5kZWNsYXJhdGlvbnMuZm9yRWFjaCgoZyx4KT0+e3kuZGVjbGFyYXRpb25zW3hdLmluaXQ9PW51bGwmJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyxnLGAnJHt5LmtpbmR9JyBkZWNsYXJhdGlvbnMgbXVzdCBiZSBpbml0aWFsaXplZC5gKSx5LmRlY2xhcmF0aW9uc1t4XS5pZC50eXBlIT09Qy5JZGVudGlmaWVyJiZnZSh0aGlzLG1lLEJlKS5jYWxsKHRoaXMsZy5uYW1lLGAnJHt5LmtpbmR9JyBkZWNsYXJhdGlvbnMgbWF5IG5vdCBoYXZlIGJpbmRpbmcgcGF0dGVybnMuYCl9KSwoeS5kZWNsYXJlfHxbXCJhd2FpdCB1c2luZ1wiLFwiY29uc3RcIixcInVzaW5nXCJdLmluY2x1ZGVzKHkua2luZCkpJiZ0LmRlY2xhcmF0aW9uTGlzdC5kZWNsYXJhdGlvbnMuZm9yRWFjaCgoZyx4KT0+e3kuZGVjbGFyYXRpb25zW3hdLmRlZmluaXRlJiZnZSh0aGlzLG1lLEJlKS5jYWxsKHRoaXMsZyxcIkEgZGVmaW5pdGUgYXNzaWdubWVudCBhc3NlcnRpb24gJyEnIGlzIG5vdCBwZXJtaXR0ZWQgaW4gdGhpcyBjb250ZXh0LlwiKX0pLHkuZGVjbGFyZSYmdC5kZWNsYXJhdGlvbkxpc3QuZGVjbGFyYXRpb25zLmZvckVhY2goKGcseCk9Pnt5LmRlY2xhcmF0aW9uc1t4XS5pbml0JiYoW1wibGV0XCIsXCJ2YXJcIl0uaW5jbHVkZXMoeS5raW5kKXx8eS5kZWNsYXJhdGlvbnNbeF0uaWQudHlwZUFubm90YXRpb24pJiZnZSh0aGlzLG1lLEJlKS5jYWxsKHRoaXMsZyxcIkluaXRpYWxpemVycyBhcmUgbm90IHBlcm1pdHRlZCBpbiBhbWJpZW50IGNvbnRleHRzLlwiKX0pLHRoaXMuZml4RXhwb3J0cyh0LHkpfWNhc2UgVC5WYXJpYWJsZURlY2xhcmF0aW9uTGlzdDp7bGV0IHk9dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5WYXJpYWJsZURlY2xhcmF0aW9uLGRlY2xhcmF0aW9uczp0LmRlY2xhcmF0aW9ucy5tYXAoZz0+dGhpcy5jb252ZXJ0Q2hpbGQoZykpLGRlY2xhcmU6ITEsa2luZDpNbCh0KX0pO3JldHVybih5LmtpbmQ9PT1cInVzaW5nXCJ8fHkua2luZD09PVwiYXdhaXQgdXNpbmdcIikmJnQuZGVjbGFyYXRpb25zLmZvckVhY2goKGcseCk9Pnt5LmRlY2xhcmF0aW9uc1t4XS5pbml0IT1udWxsJiZnZSh0aGlzLG1lLEJlKS5jYWxsKHRoaXMsZyxgJyR7eS5raW5kfScgZGVjbGFyYXRpb25zIG1heSBub3QgYmUgaW5pdGlhbGl6ZWQgaW4gZm9yIHN0YXRlbWVudC5gKSx5LmRlY2xhcmF0aW9uc1t4XS5pZC50eXBlIT09Qy5JZGVudGlmaWVyJiZnZSh0aGlzLG1lLEJlKS5jYWxsKHRoaXMsZy5uYW1lLGAnJHt5LmtpbmR9JyBkZWNsYXJhdGlvbnMgbWF5IG5vdCBoYXZlIGJpbmRpbmcgcGF0dGVybnMuYCl9KSx5fWNhc2UgVC5FeHByZXNzaW9uU3RhdGVtZW50OnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLkV4cHJlc3Npb25TdGF0ZW1lbnQsZGlyZWN0aXZlOnZvaWQgMCxleHByZXNzaW9uOnRoaXMuY29udmVydENoaWxkKHQuZXhwcmVzc2lvbil9KTtjYXNlIFQuVGhpc0tleXdvcmQ6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVGhpc0V4cHJlc3Npb259KTtjYXNlIFQuQXJyYXlMaXRlcmFsRXhwcmVzc2lvbjpyZXR1cm4gdGhpcy5hbGxvd1BhdHRlcm4/dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5BcnJheVBhdHRlcm4sZGVjb3JhdG9yczpbXSxlbGVtZW50czp0LmVsZW1lbnRzLm1hcCh5PT50aGlzLmNvbnZlcnRQYXR0ZXJuKHkpKSxvcHRpb25hbDohMSx0eXBlQW5ub3RhdGlvbjp2b2lkIDB9KTp0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLkFycmF5RXhwcmVzc2lvbixlbGVtZW50czp0LmVsZW1lbnRzLm1hcCh5PT50aGlzLmNvbnZlcnRDaGlsZCh5KSl9KTtjYXNlIFQuT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb246e2lmKHRoaXMuYWxsb3dQYXR0ZXJuKXJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLk9iamVjdFBhdHRlcm4sZGVjb3JhdG9yczpbXSxvcHRpb25hbDohMSxwcm9wZXJ0aWVzOnQucHJvcGVydGllcy5tYXAoZz0+dGhpcy5jb252ZXJ0UGF0dGVybihnKSksdHlwZUFubm90YXRpb246dm9pZCAwfSk7bGV0IHk9W107Zm9yKGxldCBnIG9mIHQucHJvcGVydGllcykoZy5raW5kPT09VC5HZXRBY2Nlc3Nvcnx8Zy5raW5kPT09VC5TZXRBY2Nlc3Nvcnx8Zy5raW5kPT09VC5NZXRob2REZWNsYXJhdGlvbikmJiFnLmJvZHkmJmdlKHRoaXMsbWUsVnQpLmNhbGwodGhpcyxnLmVuZC0xLFwiJ3snIGV4cGVjdGVkLlwiKSx5LnB1c2godGhpcy5jb252ZXJ0Q2hpbGQoZykpO3JldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLk9iamVjdEV4cHJlc3Npb24scHJvcGVydGllczp5fSl9Y2FzZSBULlByb3BlcnR5QXNzaWdubWVudDp7bGV0e2V4Y2xhbWF0aW9uVG9rZW46eSxxdWVzdGlvblRva2VuOmd9PXQ7cmV0dXJuIGcmJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyxnLFwiQSBwcm9wZXJ0eSBhc3NpZ25tZW50IGNhbm5vdCBoYXZlIGEgcXVlc3Rpb24gdG9rZW4uXCIpLHkmJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyx5LFwiQSBwcm9wZXJ0eSBhc3NpZ25tZW50IGNhbm5vdCBoYXZlIGFuIGV4Y2xhbWF0aW9uIHRva2VuLlwiKSx0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlByb3BlcnR5LGNvbXB1dGVkOnJhKHQubmFtZSksa2V5OnRoaXMuY29udmVydENoaWxkKHQubmFtZSksa2luZDpcImluaXRcIixtZXRob2Q6ITEsb3B0aW9uYWw6ITEsc2hvcnRoYW5kOiExLHZhbHVlOnRoaXMuY29udmVydGVyKHQuaW5pdGlhbGl6ZXIsdCx0aGlzLmFsbG93UGF0dGVybil9KX1jYXNlIFQuU2hvcnRoYW5kUHJvcGVydHlBc3NpZ25tZW50OntsZXR7ZXhjbGFtYXRpb25Ub2tlbjp5LG1vZGlmaWVyczpnLHF1ZXN0aW9uVG9rZW46eH09dDtyZXR1cm4gZyYmZ2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLGdbMF0sXCJBIHNob3J0aGFuZCBwcm9wZXJ0eSBhc3NpZ25tZW50IGNhbm5vdCBoYXZlIG1vZGlmaWVycy5cIikseCYmZ2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLHgsXCJBIHNob3J0aGFuZCBwcm9wZXJ0eSBhc3NpZ25tZW50IGNhbm5vdCBoYXZlIGEgcXVlc3Rpb24gdG9rZW4uXCIpLHkmJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyx5LFwiQSBzaG9ydGhhbmQgcHJvcGVydHkgYXNzaWdubWVudCBjYW5ub3QgaGF2ZSBhbiBleGNsYW1hdGlvbiB0b2tlbi5cIiksdC5vYmplY3RBc3NpZ25tZW50SW5pdGlhbGl6ZXI/dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5Qcm9wZXJ0eSxjb21wdXRlZDohMSxrZXk6dGhpcy5jb252ZXJ0Q2hpbGQodC5uYW1lKSxraW5kOlwiaW5pdFwiLG1ldGhvZDohMSxvcHRpb25hbDohMSxzaG9ydGhhbmQ6ITAsdmFsdWU6dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5Bc3NpZ25tZW50UGF0dGVybixkZWNvcmF0b3JzOltdLGxlZnQ6dGhpcy5jb252ZXJ0UGF0dGVybih0Lm5hbWUpLG9wdGlvbmFsOiExLHJpZ2h0OnRoaXMuY29udmVydENoaWxkKHQub2JqZWN0QXNzaWdubWVudEluaXRpYWxpemVyKSx0eXBlQW5ub3RhdGlvbjp2b2lkIDB9KX0pOnRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuUHJvcGVydHksY29tcHV0ZWQ6ITEsa2V5OnRoaXMuY29udmVydENoaWxkKHQubmFtZSksa2luZDpcImluaXRcIixtZXRob2Q6ITEsb3B0aW9uYWw6ITEsc2hvcnRoYW5kOiEwLHZhbHVlOnRoaXMuY29udmVydENoaWxkKHQubmFtZSl9KX1jYXNlIFQuQ29tcHV0ZWRQcm9wZXJ0eU5hbWU6cmV0dXJuIHRoaXMuY29udmVydENoaWxkKHQuZXhwcmVzc2lvbik7Y2FzZSBULlByb3BlcnR5RGVjbGFyYXRpb246e2xldCB5PUhlKFQuQWJzdHJhY3RLZXl3b3JkLHQpO3kmJnQuaW5pdGlhbGl6ZXImJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyx0LmluaXRpYWxpemVyLFwiQWJzdHJhY3QgcHJvcGVydHkgY2Fubm90IGhhdmUgYW4gaW5pdGlhbGl6ZXIuXCIpO2xldCBnPUhlKFQuQWNjZXNzb3JLZXl3b3JkLHQpLHg9Zz95P0MuVFNBYnN0cmFjdEFjY2Vzc29yUHJvcGVydHk6Qy5BY2Nlc3NvclByb3BlcnR5Onk/Qy5UU0Fic3RyYWN0UHJvcGVydHlEZWZpbml0aW9uOkMuUHJvcGVydHlEZWZpbml0aW9uLEk9dGhpcy5jb252ZXJ0Q2hpbGQodC5uYW1lKTtyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6eCxhY2Nlc3NpYmlsaXR5OnhpKHQpLGNvbXB1dGVkOnJhKHQubmFtZSksZGVjbGFyZTpIZShULkRlY2xhcmVLZXl3b3JkLHQpLGRlY29yYXRvcnM6KChtPXRhKHQpKT09bnVsbD92b2lkIDA6bS5tYXAocmU9PnRoaXMuY29udmVydENoaWxkKHJlKSkpPz9bXSxkZWZpbml0ZTohIXQuZXhjbGFtYXRpb25Ub2tlbixrZXk6SSxvcHRpb25hbDooSS50eXBlPT09Qy5MaXRlcmFsfHx0Lm5hbWUua2luZD09PVQuSWRlbnRpZmllcnx8dC5uYW1lLmtpbmQ9PT1ULkNvbXB1dGVkUHJvcGVydHlOYW1lfHx0Lm5hbWUua2luZD09PVQuUHJpdmF0ZUlkZW50aWZpZXIpJiYhIXQucXVlc3Rpb25Ub2tlbixvdmVycmlkZTpIZShULk92ZXJyaWRlS2V5d29yZCx0KSxyZWFkb25seTpIZShULlJlYWRvbmx5S2V5d29yZCx0KSxzdGF0aWM6SGUoVC5TdGF0aWNLZXl3b3JkLHQpLHR5cGVBbm5vdGF0aW9uOnQudHlwZSYmdGhpcy5jb252ZXJ0VHlwZUFubm90YXRpb24odC50eXBlLHQpLHZhbHVlOnk/bnVsbDp0aGlzLmNvbnZlcnRDaGlsZCh0LmluaXRpYWxpemVyKX0pfWNhc2UgVC5HZXRBY2Nlc3NvcjpjYXNlIFQuU2V0QWNjZXNzb3I6aWYodC5wYXJlbnQua2luZD09PVQuSW50ZXJmYWNlRGVjbGFyYXRpb258fHQucGFyZW50LmtpbmQ9PT1ULlR5cGVMaXRlcmFsKXJldHVybiB0aGlzLmNvbnZlcnRNZXRob2RTaWduYXR1cmUodCk7Y2FzZSBULk1ldGhvZERlY2xhcmF0aW9uOntsZXQgeT10aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTp0LmJvZHk/Qy5GdW5jdGlvbkV4cHJlc3Npb246Qy5UU0VtcHR5Qm9keUZ1bmN0aW9uRXhwcmVzc2lvbixyYW5nZTpbdC5wYXJhbWV0ZXJzLnBvcy0xLHQuZW5kXSxhc3luYzpIZShULkFzeW5jS2V5d29yZCx0KSxib2R5OnRoaXMuY29udmVydENoaWxkKHQuYm9keSksZGVjbGFyZTohMSxleHByZXNzaW9uOiExLGdlbmVyYXRvcjohIXQuYXN0ZXJpc2tUb2tlbixpZDpudWxsLHBhcmFtczpbXSxyZXR1cm5UeXBlOnQudHlwZSYmdGhpcy5jb252ZXJ0VHlwZUFubm90YXRpb24odC50eXBlLHQpLHR5cGVQYXJhbWV0ZXJzOnQudHlwZVBhcmFtZXRlcnMmJnRoaXMuY29udmVydFRTVHlwZVBhcmFtZXRlcnNUb1R5cGVQYXJhbWV0ZXJzRGVjbGFyYXRpb24odC50eXBlUGFyYW1ldGVycyl9KTt5LnR5cGVQYXJhbWV0ZXJzJiZ0aGlzLmZpeFBhcmVudExvY2F0aW9uKHkseS50eXBlUGFyYW1ldGVycy5yYW5nZSk7bGV0IGc7aWYoYS5raW5kPT09VC5PYmplY3RMaXRlcmFsRXhwcmVzc2lvbil5LnBhcmFtcz10LnBhcmFtZXRlcnMubWFwKHg9PnRoaXMuY29udmVydENoaWxkKHgpKSxnPXRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuUHJvcGVydHksY29tcHV0ZWQ6cmEodC5uYW1lKSxrZXk6dGhpcy5jb252ZXJ0Q2hpbGQodC5uYW1lKSxraW5kOlwiaW5pdFwiLG1ldGhvZDp0LmtpbmQ9PT1ULk1ldGhvZERlY2xhcmF0aW9uLG9wdGlvbmFsOiEhdC5xdWVzdGlvblRva2VuLHNob3J0aGFuZDohMSx2YWx1ZTp5fSk7ZWxzZXt5LnBhcmFtcz10aGlzLmNvbnZlcnRQYXJhbWV0ZXJzKHQucGFyYW1ldGVycyk7bGV0IHg9SGUoVC5BYnN0cmFjdEtleXdvcmQsdCk/Qy5UU0Fic3RyYWN0TWV0aG9kRGVmaW5pdGlvbjpDLk1ldGhvZERlZmluaXRpb247Zz10aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTp4LGFjY2Vzc2liaWxpdHk6eGkodCksY29tcHV0ZWQ6cmEodC5uYW1lKSxkZWNvcmF0b3JzOigodj10YSh0KSk9PW51bGw/dm9pZCAwOnYubWFwKEk9PnRoaXMuY29udmVydENoaWxkKEkpKSk/P1tdLGtleTp0aGlzLmNvbnZlcnRDaGlsZCh0Lm5hbWUpLGtpbmQ6XCJtZXRob2RcIixvcHRpb25hbDohIXQucXVlc3Rpb25Ub2tlbixvdmVycmlkZTpIZShULk92ZXJyaWRlS2V5d29yZCx0KSxzdGF0aWM6SGUoVC5TdGF0aWNLZXl3b3JkLHQpLHZhbHVlOnl9KX1yZXR1cm4gdC5raW5kPT09VC5HZXRBY2Nlc3Nvcj9nLmtpbmQ9XCJnZXRcIjp0LmtpbmQ9PT1ULlNldEFjY2Vzc29yP2cua2luZD1cInNldFwiOiFnLnN0YXRpYyYmdC5uYW1lLmtpbmQ9PT1ULlN0cmluZ0xpdGVyYWwmJnQubmFtZS50ZXh0PT09XCJjb25zdHJ1Y3RvclwiJiZnLnR5cGUhPT1DLlByb3BlcnR5JiYoZy5raW5kPVwiY29uc3RydWN0b3JcIiksZ31jYXNlIFQuQ29uc3RydWN0b3I6e2xldCB5PU5oKHQpLGc9KHkmJm5hKHksdCx0aGlzLmFzdCkpPz90LmdldEZpcnN0VG9rZW4oKSx4PXRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOnQuYm9keT9DLkZ1bmN0aW9uRXhwcmVzc2lvbjpDLlRTRW1wdHlCb2R5RnVuY3Rpb25FeHByZXNzaW9uLHJhbmdlOlt0LnBhcmFtZXRlcnMucG9zLTEsdC5lbmRdLGFzeW5jOiExLGJvZHk6dGhpcy5jb252ZXJ0Q2hpbGQodC5ib2R5KSxkZWNsYXJlOiExLGV4cHJlc3Npb246ITEsZ2VuZXJhdG9yOiExLGlkOm51bGwscGFyYW1zOnRoaXMuY29udmVydFBhcmFtZXRlcnModC5wYXJhbWV0ZXJzKSxyZXR1cm5UeXBlOnQudHlwZSYmdGhpcy5jb252ZXJ0VHlwZUFubm90YXRpb24odC50eXBlLHQpLHR5cGVQYXJhbWV0ZXJzOnQudHlwZVBhcmFtZXRlcnMmJnRoaXMuY29udmVydFRTVHlwZVBhcmFtZXRlcnNUb1R5cGVQYXJhbWV0ZXJzRGVjbGFyYXRpb24odC50eXBlUGFyYW1ldGVycyl9KTt4LnR5cGVQYXJhbWV0ZXJzJiZ0aGlzLmZpeFBhcmVudExvY2F0aW9uKHgseC50eXBlUGFyYW1ldGVycy5yYW5nZSk7bGV0IEk9dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5JZGVudGlmaWVyLHJhbmdlOltnLmdldFN0YXJ0KHRoaXMuYXN0KSxnLmVuZF0sZGVjb3JhdG9yczpbXSxuYW1lOlwiY29uc3RydWN0b3JcIixvcHRpb25hbDohMSx0eXBlQW5ub3RhdGlvbjp2b2lkIDB9KSxyZT1IZShULlN0YXRpY0tleXdvcmQsdCk7cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkhlKFQuQWJzdHJhY3RLZXl3b3JkLHQpP0MuVFNBYnN0cmFjdE1ldGhvZERlZmluaXRpb246Qy5NZXRob2REZWZpbml0aW9uLGFjY2Vzc2liaWxpdHk6eGkodCksY29tcHV0ZWQ6ITEsZGVjb3JhdG9yczpbXSxrZXk6SSxraW5kOnJlP1wibWV0aG9kXCI6XCJjb25zdHJ1Y3RvclwiLG9wdGlvbmFsOiExLG92ZXJyaWRlOiExLHN0YXRpYzpyZSx2YWx1ZTp4fSl9Y2FzZSBULkZ1bmN0aW9uRXhwcmVzc2lvbjpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5GdW5jdGlvbkV4cHJlc3Npb24sYXN5bmM6SGUoVC5Bc3luY0tleXdvcmQsdCksYm9keTp0aGlzLmNvbnZlcnRDaGlsZCh0LmJvZHkpLGRlY2xhcmU6ITEsZXhwcmVzc2lvbjohMSxnZW5lcmF0b3I6ISF0LmFzdGVyaXNrVG9rZW4saWQ6dGhpcy5jb252ZXJ0Q2hpbGQodC5uYW1lKSxwYXJhbXM6dGhpcy5jb252ZXJ0UGFyYW1ldGVycyh0LnBhcmFtZXRlcnMpLHJldHVyblR5cGU6dC50eXBlJiZ0aGlzLmNvbnZlcnRUeXBlQW5ub3RhdGlvbih0LnR5cGUsdCksdHlwZVBhcmFtZXRlcnM6dC50eXBlUGFyYW1ldGVycyYmdGhpcy5jb252ZXJ0VFNUeXBlUGFyYW1ldGVyc1RvVHlwZVBhcmFtZXRlcnNEZWNsYXJhdGlvbih0LnR5cGVQYXJhbWV0ZXJzKX0pO2Nhc2UgVC5TdXBlcktleXdvcmQ6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuU3VwZXJ9KTtjYXNlIFQuQXJyYXlCaW5kaW5nUGF0dGVybjpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5BcnJheVBhdHRlcm4sZGVjb3JhdG9yczpbXSxlbGVtZW50czp0LmVsZW1lbnRzLm1hcCh5PT50aGlzLmNvbnZlcnRQYXR0ZXJuKHkpKSxvcHRpb25hbDohMSx0eXBlQW5ub3RhdGlvbjp2b2lkIDB9KTtjYXNlIFQuT21pdHRlZEV4cHJlc3Npb246cmV0dXJuIG51bGw7Y2FzZSBULk9iamVjdEJpbmRpbmdQYXR0ZXJuOnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLk9iamVjdFBhdHRlcm4sZGVjb3JhdG9yczpbXSxvcHRpb25hbDohMSxwcm9wZXJ0aWVzOnQuZWxlbWVudHMubWFwKHk9PnRoaXMuY29udmVydFBhdHRlcm4oeSkpLHR5cGVBbm5vdGF0aW9uOnZvaWQgMH0pO2Nhc2UgVC5CaW5kaW5nRWxlbWVudDp7aWYoYS5raW5kPT09VC5BcnJheUJpbmRpbmdQYXR0ZXJuKXtsZXQgZz10aGlzLmNvbnZlcnRDaGlsZCh0Lm5hbWUsYSk7cmV0dXJuIHQuaW5pdGlhbGl6ZXI/dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5Bc3NpZ25tZW50UGF0dGVybixkZWNvcmF0b3JzOltdLGxlZnQ6ZyxvcHRpb25hbDohMSxyaWdodDp0aGlzLmNvbnZlcnRDaGlsZCh0LmluaXRpYWxpemVyKSx0eXBlQW5ub3RhdGlvbjp2b2lkIDB9KTp0LmRvdERvdERvdFRva2VuP3RoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuUmVzdEVsZW1lbnQsYXJndW1lbnQ6ZyxkZWNvcmF0b3JzOltdLG9wdGlvbmFsOiExLHR5cGVBbm5vdGF0aW9uOnZvaWQgMCx2YWx1ZTp2b2lkIDB9KTpnfWxldCB5O3JldHVybiB0LmRvdERvdERvdFRva2VuP3k9dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5SZXN0RWxlbWVudCxhcmd1bWVudDp0aGlzLmNvbnZlcnRDaGlsZCh0LnByb3BlcnR5TmFtZT8/dC5uYW1lKSxkZWNvcmF0b3JzOltdLG9wdGlvbmFsOiExLHR5cGVBbm5vdGF0aW9uOnZvaWQgMCx2YWx1ZTp2b2lkIDB9KTp5PXRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuUHJvcGVydHksY29tcHV0ZWQ6ISEodC5wcm9wZXJ0eU5hbWUmJnQucHJvcGVydHlOYW1lLmtpbmQ9PT1ULkNvbXB1dGVkUHJvcGVydHlOYW1lKSxrZXk6dGhpcy5jb252ZXJ0Q2hpbGQodC5wcm9wZXJ0eU5hbWU/P3QubmFtZSksa2luZDpcImluaXRcIixtZXRob2Q6ITEsb3B0aW9uYWw6ITEsc2hvcnRoYW5kOiF0LnByb3BlcnR5TmFtZSx2YWx1ZTp0aGlzLmNvbnZlcnRDaGlsZCh0Lm5hbWUpfSksdC5pbml0aWFsaXplciYmKHkudmFsdWU9dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5Bc3NpZ25tZW50UGF0dGVybixyYW5nZTpbdC5uYW1lLmdldFN0YXJ0KHRoaXMuYXN0KSx0LmluaXRpYWxpemVyLmVuZF0sZGVjb3JhdG9yczpbXSxsZWZ0OnRoaXMuY29udmVydENoaWxkKHQubmFtZSksb3B0aW9uYWw6ITEscmlnaHQ6dGhpcy5jb252ZXJ0Q2hpbGQodC5pbml0aWFsaXplciksdHlwZUFubm90YXRpb246dm9pZCAwfSkpLHl9Y2FzZSBULkFycm93RnVuY3Rpb246cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24sYXN5bmM6SGUoVC5Bc3luY0tleXdvcmQsdCksYm9keTp0aGlzLmNvbnZlcnRDaGlsZCh0LmJvZHkpLGV4cHJlc3Npb246dC5ib2R5LmtpbmQhPT1ULkJsb2NrLGdlbmVyYXRvcjohMSxpZDpudWxsLHBhcmFtczp0aGlzLmNvbnZlcnRQYXJhbWV0ZXJzKHQucGFyYW1ldGVycykscmV0dXJuVHlwZTp0LnR5cGUmJnRoaXMuY29udmVydFR5cGVBbm5vdGF0aW9uKHQudHlwZSx0KSx0eXBlUGFyYW1ldGVyczp0LnR5cGVQYXJhbWV0ZXJzJiZ0aGlzLmNvbnZlcnRUU1R5cGVQYXJhbWV0ZXJzVG9UeXBlUGFyYW1ldGVyc0RlY2xhcmF0aW9uKHQudHlwZVBhcmFtZXRlcnMpfSk7Y2FzZSBULllpZWxkRXhwcmVzc2lvbjpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5ZaWVsZEV4cHJlc3Npb24sYXJndW1lbnQ6dGhpcy5jb252ZXJ0Q2hpbGQodC5leHByZXNzaW9uKSxkZWxlZ2F0ZTohIXQuYXN0ZXJpc2tUb2tlbn0pO2Nhc2UgVC5Bd2FpdEV4cHJlc3Npb246cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuQXdhaXRFeHByZXNzaW9uLGFyZ3VtZW50OnRoaXMuY29udmVydENoaWxkKHQuZXhwcmVzc2lvbil9KTtjYXNlIFQuTm9TdWJzdGl0dXRpb25UZW1wbGF0ZUxpdGVyYWw6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVGVtcGxhdGVMaXRlcmFsLGV4cHJlc3Npb25zOltdLHF1YXNpczpbdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UZW1wbGF0ZUVsZW1lbnQsdGFpbDohMCx2YWx1ZTp7Y29va2VkOnQudGV4dCxyYXc6dGhpcy5hc3QudGV4dC5zbGljZSh0LmdldFN0YXJ0KHRoaXMuYXN0KSsxLHQuZW5kLTEpfX0pXX0pO2Nhc2UgVC5UZW1wbGF0ZUV4cHJlc3Npb246e2xldCB5PXRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVGVtcGxhdGVMaXRlcmFsLGV4cHJlc3Npb25zOltdLHF1YXNpczpbdGhpcy5jb252ZXJ0Q2hpbGQodC5oZWFkKV19KTtyZXR1cm4gdC50ZW1wbGF0ZVNwYW5zLmZvckVhY2goZz0+e3kuZXhwcmVzc2lvbnMucHVzaCh0aGlzLmNvbnZlcnRDaGlsZChnLmV4cHJlc3Npb24pKSx5LnF1YXNpcy5wdXNoKHRoaXMuY29udmVydENoaWxkKGcubGl0ZXJhbCkpfSkseX1jYXNlIFQuVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uOnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvbixxdWFzaTp0aGlzLmNvbnZlcnRDaGlsZCh0LnRlbXBsYXRlKSx0YWc6dGhpcy5jb252ZXJ0Q2hpbGQodC50YWcpLHR5cGVBcmd1bWVudHM6dC50eXBlQXJndW1lbnRzJiZ0aGlzLmNvbnZlcnRUeXBlQXJndW1lbnRzVG9UeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbih0LnR5cGVBcmd1bWVudHMsdCl9KTtjYXNlIFQuVGVtcGxhdGVIZWFkOmNhc2UgVC5UZW1wbGF0ZU1pZGRsZTpjYXNlIFQuVGVtcGxhdGVUYWlsOntsZXQgeT10LmtpbmQ9PT1ULlRlbXBsYXRlVGFpbDtyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UZW1wbGF0ZUVsZW1lbnQsdGFpbDp5LHZhbHVlOntjb29rZWQ6dC50ZXh0LHJhdzp0aGlzLmFzdC50ZXh0LnNsaWNlKHQuZ2V0U3RhcnQodGhpcy5hc3QpKzEsdC5lbmQtKHk/MToyKSl9fSl9Y2FzZSBULlNwcmVhZEFzc2lnbm1lbnQ6Y2FzZSBULlNwcmVhZEVsZW1lbnQ6cmV0dXJuIHRoaXMuYWxsb3dQYXR0ZXJuP3RoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuUmVzdEVsZW1lbnQsYXJndW1lbnQ6dGhpcy5jb252ZXJ0UGF0dGVybih0LmV4cHJlc3Npb24pLGRlY29yYXRvcnM6W10sb3B0aW9uYWw6ITEsdHlwZUFubm90YXRpb246dm9pZCAwLHZhbHVlOnZvaWQgMH0pOnRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuU3ByZWFkRWxlbWVudCxhcmd1bWVudDp0aGlzLmNvbnZlcnRDaGlsZCh0LmV4cHJlc3Npb24pfSk7Y2FzZSBULlBhcmFtZXRlcjp7bGV0IHksZztyZXR1cm4gdC5kb3REb3REb3RUb2tlbj95PWc9dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5SZXN0RWxlbWVudCxhcmd1bWVudDp0aGlzLmNvbnZlcnRDaGlsZCh0Lm5hbWUpLGRlY29yYXRvcnM6W10sb3B0aW9uYWw6ITEsdHlwZUFubm90YXRpb246dm9pZCAwLHZhbHVlOnZvaWQgMH0pOnQuaW5pdGlhbGl6ZXI/KHk9dGhpcy5jb252ZXJ0Q2hpbGQodC5uYW1lKSxnPXRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuQXNzaWdubWVudFBhdHRlcm4sZGVjb3JhdG9yczpbXSxsZWZ0Onksb3B0aW9uYWw6ITEscmlnaHQ6dGhpcy5jb252ZXJ0Q2hpbGQodC5pbml0aWFsaXplciksdHlwZUFubm90YXRpb246dm9pZCAwfSksZXIodCkmJihnLnJhbmdlWzBdPXkucmFuZ2VbMF0sZy5sb2M9UXIoZy5yYW5nZSx0aGlzLmFzdCkpKTp5PWc9dGhpcy5jb252ZXJ0Q2hpbGQodC5uYW1lLGEpLHQudHlwZSYmKHkudHlwZUFubm90YXRpb249dGhpcy5jb252ZXJ0VHlwZUFubm90YXRpb24odC50eXBlLHQpLHRoaXMuZml4UGFyZW50TG9jYXRpb24oeSx5LnR5cGVBbm5vdGF0aW9uLnJhbmdlKSksdC5xdWVzdGlvblRva2VuJiYodC5xdWVzdGlvblRva2VuLmVuZD55LnJhbmdlWzFdJiYoeS5yYW5nZVsxXT10LnF1ZXN0aW9uVG9rZW4uZW5kLHkubG9jLmVuZD1Ucyh5LnJhbmdlWzFdLHRoaXMuYXN0KSkseS5vcHRpb25hbD0hMCksZXIodCk/dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU1BhcmFtZXRlclByb3BlcnR5LGFjY2Vzc2liaWxpdHk6eGkodCksZGVjb3JhdG9yczpbXSxvdmVycmlkZTpIZShULk92ZXJyaWRlS2V5d29yZCx0KSxwYXJhbWV0ZXI6ZyxyZWFkb25seTpIZShULlJlYWRvbmx5S2V5d29yZCx0KSxzdGF0aWM6SGUoVC5TdGF0aWNLZXl3b3JkLHQpfSk6Z31jYXNlIFQuQ2xhc3NEZWNsYXJhdGlvbjohdC5uYW1lJiYoIUhlKE5lLkV4cG9ydEtleXdvcmQsdCl8fCFIZShOZS5EZWZhdWx0S2V5d29yZCx0KSkmJmdlKHRoaXMsbWUsVnQpLmNhbGwodGhpcyx0LFwiQSBjbGFzcyBkZWNsYXJhdGlvbiB3aXRob3V0IHRoZSAnZGVmYXVsdCcgbW9kaWZpZXIgbXVzdCBoYXZlIGEgbmFtZS5cIik7Y2FzZSBULkNsYXNzRXhwcmVzc2lvbjp7bGV0IHk9dC5oZXJpdGFnZUNsYXVzZXM/P1tdLGc9dC5raW5kPT09VC5DbGFzc0RlY2xhcmF0aW9uP0MuQ2xhc3NEZWNsYXJhdGlvbjpDLkNsYXNzRXhwcmVzc2lvbix4LEk7Zm9yKGxldCBoZSBvZiB5KXtsZXR7dG9rZW46eWUsdHlwZXM6ZGV9PWhlO2RlLmxlbmd0aD09PTAmJmdlKHRoaXMsbWUsVnQpLmNhbGwodGhpcyxoZSxgJyR7aXQoeWUpfScgbGlzdCBjYW5ub3QgYmUgZW1wdHkuYCkseWU9PT1ULkV4dGVuZHNLZXl3b3JkPyh4JiZnZSh0aGlzLG1lLFZ0KS5jYWxsKHRoaXMsaGUsXCInZXh0ZW5kcycgY2xhdXNlIGFscmVhZHkgc2Vlbi5cIiksSSYmZ2UodGhpcyxtZSxWdCkuY2FsbCh0aGlzLGhlLFwiJ2V4dGVuZHMnIGNsYXVzZSBtdXN0IHByZWNlZGUgJ2ltcGxlbWVudHMnIGNsYXVzZS5cIiksZGUubGVuZ3RoPjEmJmdlKHRoaXMsbWUsVnQpLmNhbGwodGhpcyxkZVsxXSxcIkNsYXNzZXMgY2FuIG9ubHkgZXh0ZW5kIGEgc2luZ2xlIGNsYXNzLlwiKSx4Pz8oeD1oZSkpOnllPT09VC5JbXBsZW1lbnRzS2V5d29yZCYmKEkmJmdlKHRoaXMsbWUsVnQpLmNhbGwodGhpcyxoZSxcIidpbXBsZW1lbnRzJyBjbGF1c2UgYWxyZWFkeSBzZWVuLlwiKSxJPz8oST1oZSkpfWxldCByZT10aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpnLGFic3RyYWN0OkhlKFQuQWJzdHJhY3RLZXl3b3JkLHQpLGJvZHk6dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5DbGFzc0JvZHkscmFuZ2U6W3QubWVtYmVycy5wb3MtMSx0LmVuZF0sYm9keTp0Lm1lbWJlcnMuZmlsdGVyKFBoKS5tYXAoaGU9PnRoaXMuY29udmVydENoaWxkKGhlKSl9KSxkZWNsYXJlOkhlKFQuRGVjbGFyZUtleXdvcmQsdCksZGVjb3JhdG9yczooKEE9dGEodCkpPT1udWxsP3ZvaWQgMDpBLm1hcChoZT0+dGhpcy5jb252ZXJ0Q2hpbGQoaGUpKSk/P1tdLGlkOnRoaXMuY29udmVydENoaWxkKHQubmFtZSksaW1wbGVtZW50czooST09bnVsbD92b2lkIDA6SS50eXBlcy5tYXAoaGU9PnRoaXMuY29udmVydENoaWxkKGhlKSkpPz9bXSxzdXBlckNsYXNzOnghPW51bGwmJngudHlwZXNbMF0/dGhpcy5jb252ZXJ0Q2hpbGQoeC50eXBlc1swXS5leHByZXNzaW9uKTpudWxsLHN1cGVyVHlwZUFyZ3VtZW50czp2b2lkIDAsdHlwZVBhcmFtZXRlcnM6dC50eXBlUGFyYW1ldGVycyYmdGhpcy5jb252ZXJ0VFNUeXBlUGFyYW1ldGVyc1RvVHlwZVBhcmFtZXRlcnNEZWNsYXJhdGlvbih0LnR5cGVQYXJhbWV0ZXJzKX0pO3JldHVybihQPXg9PW51bGw/dm9pZCAwOngudHlwZXNbMF0pIT1udWxsJiZQLnR5cGVBcmd1bWVudHMmJihyZS5zdXBlclR5cGVBcmd1bWVudHM9dGhpcy5jb252ZXJ0VHlwZUFyZ3VtZW50c1RvVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb24oeC50eXBlc1swXS50eXBlQXJndW1lbnRzLHgudHlwZXNbMF0pKSx0aGlzLmZpeEV4cG9ydHModCxyZSl9Y2FzZSBULk1vZHVsZUJsb2NrOnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRTTW9kdWxlQmxvY2ssYm9keTp0aGlzLmNvbnZlcnRCb2R5RXhwcmVzc2lvbnModC5zdGF0ZW1lbnRzLHQpfSk7Y2FzZSBULkltcG9ydERlY2xhcmF0aW9uOnt0aGlzLmFzc2VydE1vZHVsZVNwZWNpZmllcih0LCExKTtsZXQgeT10aGlzLmNyZWF0ZU5vZGUodCxnZSh0aGlzLG1lLFFhKS5jYWxsKHRoaXMse3R5cGU6Qy5JbXBvcnREZWNsYXJhdGlvbixhdHRyaWJ1dGVzOnRoaXMuY29udmVydEltcG9ydEF0dHJpYnV0ZXModC5hdHRyaWJ1dGVzPz90LmFzc2VydENsYXVzZSksaW1wb3J0S2luZDpcInZhbHVlXCIsc291cmNlOnRoaXMuY29udmVydENoaWxkKHQubW9kdWxlU3BlY2lmaWVyKSxzcGVjaWZpZXJzOltdfSxcImFzc2VydGlvbnNcIixcImF0dHJpYnV0ZXNcIiwhMCkpO2lmKHQuaW1wb3J0Q2xhdXNlJiYodC5pbXBvcnRDbGF1c2UuaXNUeXBlT25seSYmKHkuaW1wb3J0S2luZD1cInR5cGVcIiksdC5pbXBvcnRDbGF1c2UubmFtZSYmeS5zcGVjaWZpZXJzLnB1c2godGhpcy5jb252ZXJ0Q2hpbGQodC5pbXBvcnRDbGF1c2UpKSx0LmltcG9ydENsYXVzZS5uYW1lZEJpbmRpbmdzKSlzd2l0Y2godC5pbXBvcnRDbGF1c2UubmFtZWRCaW5kaW5ncy5raW5kKXtjYXNlIFQuTmFtZXNwYWNlSW1wb3J0Onkuc3BlY2lmaWVycy5wdXNoKHRoaXMuY29udmVydENoaWxkKHQuaW1wb3J0Q2xhdXNlLm5hbWVkQmluZGluZ3MpKTticmVhaztjYXNlIFQuTmFtZWRJbXBvcnRzOnkuc3BlY2lmaWVycy5wdXNoKC4uLnQuaW1wb3J0Q2xhdXNlLm5hbWVkQmluZGluZ3MuZWxlbWVudHMubWFwKGc9PnRoaXMuY29udmVydENoaWxkKGcpKSk7YnJlYWt9cmV0dXJuIHl9Y2FzZSBULk5hbWVzcGFjZUltcG9ydDpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5JbXBvcnROYW1lc3BhY2VTcGVjaWZpZXIsbG9jYWw6dGhpcy5jb252ZXJ0Q2hpbGQodC5uYW1lKX0pO2Nhc2UgVC5JbXBvcnRTcGVjaWZpZXI6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuSW1wb3J0U3BlY2lmaWVyLGltcG9ydGVkOnRoaXMuY29udmVydENoaWxkKHQucHJvcGVydHlOYW1lPz90Lm5hbWUpLGltcG9ydEtpbmQ6dC5pc1R5cGVPbmx5P1widHlwZVwiOlwidmFsdWVcIixsb2NhbDp0aGlzLmNvbnZlcnRDaGlsZCh0Lm5hbWUpfSk7Y2FzZSBULkltcG9ydENsYXVzZTp7bGV0IHk9dGhpcy5jb252ZXJ0Q2hpbGQodC5uYW1lKTtyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5JbXBvcnREZWZhdWx0U3BlY2lmaWVyLHJhbmdlOnkucmFuZ2UsbG9jYWw6eX0pfWNhc2UgVC5FeHBvcnREZWNsYXJhdGlvbjpyZXR1cm4oKGw9dC5leHBvcnRDbGF1c2UpPT1udWxsP3ZvaWQgMDpsLmtpbmQpPT09VC5OYW1lZEV4cG9ydHM/KHRoaXMuYXNzZXJ0TW9kdWxlU3BlY2lmaWVyKHQsITApLHRoaXMuY3JlYXRlTm9kZSh0LGdlKHRoaXMsbWUsUWEpLmNhbGwodGhpcyx7dHlwZTpDLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24sYXR0cmlidXRlczp0aGlzLmNvbnZlcnRJbXBvcnRBdHRyaWJ1dGVzKHQuYXR0cmlidXRlcz8/dC5hc3NlcnRDbGF1c2UpLGRlY2xhcmF0aW9uOm51bGwsZXhwb3J0S2luZDp0LmlzVHlwZU9ubHk/XCJ0eXBlXCI6XCJ2YWx1ZVwiLHNvdXJjZTp0aGlzLmNvbnZlcnRDaGlsZCh0Lm1vZHVsZVNwZWNpZmllciksc3BlY2lmaWVyczp0LmV4cG9ydENsYXVzZS5lbGVtZW50cy5tYXAoeT0+dGhpcy5jb252ZXJ0Q2hpbGQoeSx0KSl9LFwiYXNzZXJ0aW9uc1wiLFwiYXR0cmlidXRlc1wiLCEwKSkpOih0aGlzLmFzc2VydE1vZHVsZVNwZWNpZmllcih0LCExKSx0aGlzLmNyZWF0ZU5vZGUodCxnZSh0aGlzLG1lLFFhKS5jYWxsKHRoaXMse3R5cGU6Qy5FeHBvcnRBbGxEZWNsYXJhdGlvbixhdHRyaWJ1dGVzOnRoaXMuY29udmVydEltcG9ydEF0dHJpYnV0ZXModC5hdHRyaWJ1dGVzPz90LmFzc2VydENsYXVzZSksZXhwb3J0ZWQ6KChRPXQuZXhwb3J0Q2xhdXNlKT09bnVsbD92b2lkIDA6US5raW5kKT09PVQuTmFtZXNwYWNlRXhwb3J0P3RoaXMuY29udmVydENoaWxkKHQuZXhwb3J0Q2xhdXNlLm5hbWUpOm51bGwsZXhwb3J0S2luZDp0LmlzVHlwZU9ubHk/XCJ0eXBlXCI6XCJ2YWx1ZVwiLHNvdXJjZTp0aGlzLmNvbnZlcnRDaGlsZCh0Lm1vZHVsZVNwZWNpZmllcil9LFwiYXNzZXJ0aW9uc1wiLFwiYXR0cmlidXRlc1wiLCEwKSkpO2Nhc2UgVC5FeHBvcnRTcGVjaWZpZXI6e2xldCB5PXQucHJvcGVydHlOYW1lPz90Lm5hbWU7cmV0dXJuIHkua2luZD09PVQuU3RyaW5nTGl0ZXJhbCYmYS5raW5kPT09VC5FeHBvcnREZWNsYXJhdGlvbiYmKChoPWEubW9kdWxlU3BlY2lmaWVyKT09bnVsbD92b2lkIDA6aC5raW5kKSE9PVQuU3RyaW5nTGl0ZXJhbCYmZ2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLHksXCJBIHN0cmluZyBsaXRlcmFsIGNhbm5vdCBiZSB1c2VkIGFzIGEgbG9jYWwgZXhwb3J0ZWQgYmluZGluZyB3aXRob3V0IGBmcm9tYC5cIiksdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5FeHBvcnRTcGVjaWZpZXIsZXhwb3J0ZWQ6dGhpcy5jb252ZXJ0Q2hpbGQodC5uYW1lKSxleHBvcnRLaW5kOnQuaXNUeXBlT25seT9cInR5cGVcIjpcInZhbHVlXCIsbG9jYWw6dGhpcy5jb252ZXJ0Q2hpbGQoeSl9KX1jYXNlIFQuRXhwb3J0QXNzaWdubWVudDpyZXR1cm4gdC5pc0V4cG9ydEVxdWFscz90aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRTRXhwb3J0QXNzaWdubWVudCxleHByZXNzaW9uOnRoaXMuY29udmVydENoaWxkKHQuZXhwcmVzc2lvbil9KTp0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLkV4cG9ydERlZmF1bHREZWNsYXJhdGlvbixkZWNsYXJhdGlvbjp0aGlzLmNvbnZlcnRDaGlsZCh0LmV4cHJlc3Npb24pLGV4cG9ydEtpbmQ6XCJ2YWx1ZVwifSk7Y2FzZSBULlByZWZpeFVuYXJ5RXhwcmVzc2lvbjpjYXNlIFQuUG9zdGZpeFVuYXJ5RXhwcmVzc2lvbjp7bGV0IHk9JHIodC5vcGVyYXRvcik7cmV0dXJuIHk9PT1cIisrXCJ8fHk9PT1cIi0tXCI/KEpsKHQub3BlcmFuZCl8fGdlKHRoaXMsbWUsVnQpLmNhbGwodGhpcyx0Lm9wZXJhbmQsXCJJbnZhbGlkIGxlZnQtaGFuZCBzaWRlIGV4cHJlc3Npb24gaW4gdW5hcnkgb3BlcmF0aW9uXCIpLHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVXBkYXRlRXhwcmVzc2lvbixhcmd1bWVudDp0aGlzLmNvbnZlcnRDaGlsZCh0Lm9wZXJhbmQpLG9wZXJhdG9yOnkscHJlZml4OnQua2luZD09PVQuUHJlZml4VW5hcnlFeHByZXNzaW9ufSkpOnRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVW5hcnlFeHByZXNzaW9uLGFyZ3VtZW50OnRoaXMuY29udmVydENoaWxkKHQub3BlcmFuZCksb3BlcmF0b3I6eSxwcmVmaXg6dC5raW5kPT09VC5QcmVmaXhVbmFyeUV4cHJlc3Npb259KX1jYXNlIFQuRGVsZXRlRXhwcmVzc2lvbjpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5VbmFyeUV4cHJlc3Npb24sYXJndW1lbnQ6dGhpcy5jb252ZXJ0Q2hpbGQodC5leHByZXNzaW9uKSxvcGVyYXRvcjpcImRlbGV0ZVwiLHByZWZpeDohMH0pO2Nhc2UgVC5Wb2lkRXhwcmVzc2lvbjpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5VbmFyeUV4cHJlc3Npb24sYXJndW1lbnQ6dGhpcy5jb252ZXJ0Q2hpbGQodC5leHByZXNzaW9uKSxvcGVyYXRvcjpcInZvaWRcIixwcmVmaXg6ITB9KTtjYXNlIFQuVHlwZU9mRXhwcmVzc2lvbjpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5VbmFyeUV4cHJlc3Npb24sYXJndW1lbnQ6dGhpcy5jb252ZXJ0Q2hpbGQodC5leHByZXNzaW9uKSxvcGVyYXRvcjpcInR5cGVvZlwiLHByZWZpeDohMH0pO2Nhc2UgVC5UeXBlT3BlcmF0b3I6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVFNUeXBlT3BlcmF0b3Isb3BlcmF0b3I6JHIodC5vcGVyYXRvciksdHlwZUFubm90YXRpb246dGhpcy5jb252ZXJ0Q2hpbGQodC50eXBlKX0pO2Nhc2UgVC5CaW5hcnlFeHByZXNzaW9uOntpZihJaCh0Lm9wZXJhdG9yVG9rZW4pKXtsZXQgZz10aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlNlcXVlbmNlRXhwcmVzc2lvbixleHByZXNzaW9uczpbXX0pLHg9dGhpcy5jb252ZXJ0Q2hpbGQodC5sZWZ0KTtyZXR1cm4geC50eXBlPT09Qy5TZXF1ZW5jZUV4cHJlc3Npb24mJnQubGVmdC5raW5kIT09VC5QYXJlbnRoZXNpemVkRXhwcmVzc2lvbj9nLmV4cHJlc3Npb25zLnB1c2goLi4ueC5leHByZXNzaW9ucyk6Zy5leHByZXNzaW9ucy5wdXNoKHgpLGcuZXhwcmVzc2lvbnMucHVzaCh0aGlzLmNvbnZlcnRDaGlsZCh0LnJpZ2h0KSksZ31sZXQgeT1PaCh0Lm9wZXJhdG9yVG9rZW4pO3JldHVybiB0aGlzLmFsbG93UGF0dGVybiYmeS50eXBlPT09Qy5Bc3NpZ25tZW50RXhwcmVzc2lvbj90aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLkFzc2lnbm1lbnRQYXR0ZXJuLGRlY29yYXRvcnM6W10sbGVmdDp0aGlzLmNvbnZlcnRQYXR0ZXJuKHQubGVmdCx0KSxvcHRpb25hbDohMSxyaWdodDp0aGlzLmNvbnZlcnRDaGlsZCh0LnJpZ2h0KSx0eXBlQW5ub3RhdGlvbjp2b2lkIDB9KTp0aGlzLmNyZWF0ZU5vZGUodCx7Li4ueSxsZWZ0OnRoaXMuY29udmVydGVyKHQubGVmdCx0LHkudHlwZT09PUMuQXNzaWdubWVudEV4cHJlc3Npb24pLHJpZ2h0OnRoaXMuY29udmVydENoaWxkKHQucmlnaHQpfSl9Y2FzZSBULlByb3BlcnR5QWNjZXNzRXhwcmVzc2lvbjp7bGV0IHk9dGhpcy5jb252ZXJ0Q2hpbGQodC5leHByZXNzaW9uKSxnPXRoaXMuY29udmVydENoaWxkKHQubmFtZSksST10aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLk1lbWJlckV4cHJlc3Npb24sY29tcHV0ZWQ6ITEsb2JqZWN0Onksb3B0aW9uYWw6dC5xdWVzdGlvbkRvdFRva2VuIT09dm9pZCAwLHByb3BlcnR5Omd9KTtyZXR1cm4gdGhpcy5jb252ZXJ0Q2hhaW5FeHByZXNzaW9uKEksdCl9Y2FzZSBULkVsZW1lbnRBY2Nlc3NFeHByZXNzaW9uOntsZXQgeT10aGlzLmNvbnZlcnRDaGlsZCh0LmV4cHJlc3Npb24pLGc9dGhpcy5jb252ZXJ0Q2hpbGQodC5hcmd1bWVudEV4cHJlc3Npb24pLEk9dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5NZW1iZXJFeHByZXNzaW9uLGNvbXB1dGVkOiEwLG9iamVjdDp5LG9wdGlvbmFsOnQucXVlc3Rpb25Eb3RUb2tlbiE9PXZvaWQgMCxwcm9wZXJ0eTpnfSk7cmV0dXJuIHRoaXMuY29udmVydENoYWluRXhwcmVzc2lvbihJLHQpfWNhc2UgVC5DYWxsRXhwcmVzc2lvbjp7aWYodC5leHByZXNzaW9uLmtpbmQ9PT1ULkltcG9ydEtleXdvcmQpcmV0dXJuIHQuYXJndW1lbnRzLmxlbmd0aCE9PTEmJnQuYXJndW1lbnRzLmxlbmd0aCE9PTImJmdlKHRoaXMsbWUsVnQpLmNhbGwodGhpcyx0LmFyZ3VtZW50c1syXT8/dCxcIkR5bmFtaWMgaW1wb3J0IHJlcXVpcmVzIGV4YWN0bHkgb25lIG9yIHR3byBhcmd1bWVudHMuXCIpLHRoaXMuY3JlYXRlTm9kZSh0LGdlKHRoaXMsbWUsUWEpLmNhbGwodGhpcyx7dHlwZTpDLkltcG9ydEV4cHJlc3Npb24sb3B0aW9uczp0LmFyZ3VtZW50c1sxXT90aGlzLmNvbnZlcnRDaGlsZCh0LmFyZ3VtZW50c1sxXSk6bnVsbCxzb3VyY2U6dGhpcy5jb252ZXJ0Q2hpbGQodC5hcmd1bWVudHNbMF0pfSxcImF0dHJpYnV0ZXNcIixcIm9wdGlvbnNcIiwhMCkpO2xldCB5PXRoaXMuY29udmVydENoaWxkKHQuZXhwcmVzc2lvbiksZz10LmFyZ3VtZW50cy5tYXAocmU9PnRoaXMuY29udmVydENoaWxkKHJlKSkseD10LnR5cGVBcmd1bWVudHMmJnRoaXMuY29udmVydFR5cGVBcmd1bWVudHNUb1R5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKHQudHlwZUFyZ3VtZW50cyx0KSxJPXRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuQ2FsbEV4cHJlc3Npb24sYXJndW1lbnRzOmcsY2FsbGVlOnksb3B0aW9uYWw6dC5xdWVzdGlvbkRvdFRva2VuIT09dm9pZCAwLHR5cGVBcmd1bWVudHM6eH0pO3JldHVybiB0aGlzLmNvbnZlcnRDaGFpbkV4cHJlc3Npb24oSSx0KX1jYXNlIFQuTmV3RXhwcmVzc2lvbjp7bGV0IHk9dC50eXBlQXJndW1lbnRzJiZ0aGlzLmNvbnZlcnRUeXBlQXJndW1lbnRzVG9UeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbih0LnR5cGVBcmd1bWVudHMsdCk7cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuTmV3RXhwcmVzc2lvbixhcmd1bWVudHM6dC5hcmd1bWVudHM/dC5hcmd1bWVudHMubWFwKGc9PnRoaXMuY29udmVydENoaWxkKGcpKTpbXSxjYWxsZWU6dGhpcy5jb252ZXJ0Q2hpbGQodC5leHByZXNzaW9uKSx0eXBlQXJndW1lbnRzOnl9KX1jYXNlIFQuQ29uZGl0aW9uYWxFeHByZXNzaW9uOnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLkNvbmRpdGlvbmFsRXhwcmVzc2lvbixhbHRlcm5hdGU6dGhpcy5jb252ZXJ0Q2hpbGQodC53aGVuRmFsc2UpLGNvbnNlcXVlbnQ6dGhpcy5jb252ZXJ0Q2hpbGQodC53aGVuVHJ1ZSksdGVzdDp0aGlzLmNvbnZlcnRDaGlsZCh0LmNvbmRpdGlvbil9KTtjYXNlIFQuTWV0YVByb3BlcnR5OnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLk1ldGFQcm9wZXJ0eSxtZXRhOnRoaXMuY3JlYXRlTm9kZSh0LmdldEZpcnN0VG9rZW4oKSx7dHlwZTpDLklkZW50aWZpZXIsZGVjb3JhdG9yczpbXSxuYW1lOiRyKHQua2V5d29yZFRva2VuKSxvcHRpb25hbDohMSx0eXBlQW5ub3RhdGlvbjp2b2lkIDB9KSxwcm9wZXJ0eTp0aGlzLmNvbnZlcnRDaGlsZCh0Lm5hbWUpfSk7Y2FzZSBULkRlY29yYXRvcjpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5EZWNvcmF0b3IsZXhwcmVzc2lvbjp0aGlzLmNvbnZlcnRDaGlsZCh0LmV4cHJlc3Npb24pfSk7Y2FzZSBULlN0cmluZ0xpdGVyYWw6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuTGl0ZXJhbCxyYXc6dC5nZXRUZXh0KCksdmFsdWU6YS5raW5kPT09VC5Kc3hBdHRyaWJ1dGU/UWYodC50ZXh0KTp0LnRleHR9KTtjYXNlIFQuTnVtZXJpY0xpdGVyYWw6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuTGl0ZXJhbCxyYXc6dC5nZXRUZXh0KCksdmFsdWU6TnVtYmVyKHQudGV4dCl9KTtjYXNlIFQuQmlnSW50TGl0ZXJhbDp7bGV0IHk9JGEodCx0aGlzLmFzdCksZz10aGlzLmFzdC50ZXh0LnNsaWNlKHlbMF0seVsxXSkseD1TcighMSxnLnNsaWNlKDAsLTEpLFwiX1wiLFwiXCIpLEk9dHlwZW9mIEJpZ0ludDxcInVcIj9CaWdJbnQoeCk6bnVsbDtyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5MaXRlcmFsLHJhbmdlOnksYmlnaW50Okk9PW51bGw/eDpTdHJpbmcoSSkscmF3OmcsdmFsdWU6SX0pfWNhc2UgVC5SZWd1bGFyRXhwcmVzc2lvbkxpdGVyYWw6e2xldCB5PXQudGV4dC5zbGljZSgxLHQudGV4dC5sYXN0SW5kZXhPZihcIi9cIikpLGc9dC50ZXh0LnNsaWNlKHQudGV4dC5sYXN0SW5kZXhPZihcIi9cIikrMSkseD1udWxsO3RyeXt4PW5ldyBSZWdFeHAoeSxnKX1jYXRjaHt9cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuTGl0ZXJhbCxyYXc6dC50ZXh0LHJlZ2V4OntmbGFnczpnLHBhdHRlcm46eX0sdmFsdWU6eH0pfWNhc2UgVC5UcnVlS2V5d29yZDpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5MaXRlcmFsLHJhdzpcInRydWVcIix2YWx1ZTohMH0pO2Nhc2UgVC5GYWxzZUtleXdvcmQ6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuTGl0ZXJhbCxyYXc6XCJmYWxzZVwiLHZhbHVlOiExfSk7Y2FzZSBULk51bGxLZXl3b3JkOnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLkxpdGVyYWwscmF3OlwibnVsbFwiLHZhbHVlOm51bGx9KTtjYXNlIFQuRW1wdHlTdGF0ZW1lbnQ6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuRW1wdHlTdGF0ZW1lbnR9KTtjYXNlIFQuRGVidWdnZXJTdGF0ZW1lbnQ6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuRGVidWdnZXJTdGF0ZW1lbnR9KTtjYXNlIFQuSnN4RWxlbWVudDpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5KU1hFbGVtZW50LGNoaWxkcmVuOnQuY2hpbGRyZW4ubWFwKHk9PnRoaXMuY29udmVydENoaWxkKHkpKSxjbG9zaW5nRWxlbWVudDp0aGlzLmNvbnZlcnRDaGlsZCh0LmNsb3NpbmdFbGVtZW50KSxvcGVuaW5nRWxlbWVudDp0aGlzLmNvbnZlcnRDaGlsZCh0Lm9wZW5pbmdFbGVtZW50KX0pO2Nhc2UgVC5Kc3hGcmFnbWVudDpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5KU1hGcmFnbWVudCxjaGlsZHJlbjp0LmNoaWxkcmVuLm1hcCh5PT50aGlzLmNvbnZlcnRDaGlsZCh5KSksY2xvc2luZ0ZyYWdtZW50OnRoaXMuY29udmVydENoaWxkKHQuY2xvc2luZ0ZyYWdtZW50KSxvcGVuaW5nRnJhZ21lbnQ6dGhpcy5jb252ZXJ0Q2hpbGQodC5vcGVuaW5nRnJhZ21lbnQpfSk7Y2FzZSBULkpzeFNlbGZDbG9zaW5nRWxlbWVudDpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5KU1hFbGVtZW50LGNoaWxkcmVuOltdLGNsb3NpbmdFbGVtZW50Om51bGwsb3BlbmluZ0VsZW1lbnQ6dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5KU1hPcGVuaW5nRWxlbWVudCxyYW5nZTokYSh0LHRoaXMuYXN0KSxhdHRyaWJ1dGVzOnQuYXR0cmlidXRlcy5wcm9wZXJ0aWVzLm1hcCh5PT50aGlzLmNvbnZlcnRDaGlsZCh5KSksbmFtZTp0aGlzLmNvbnZlcnRKU1hUYWdOYW1lKHQudGFnTmFtZSx0KSxzZWxmQ2xvc2luZzohMCx0eXBlQXJndW1lbnRzOnQudHlwZUFyZ3VtZW50cz90aGlzLmNvbnZlcnRUeXBlQXJndW1lbnRzVG9UeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbih0LnR5cGVBcmd1bWVudHMsdCk6dm9pZCAwfSl9KTtjYXNlIFQuSnN4T3BlbmluZ0VsZW1lbnQ6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuSlNYT3BlbmluZ0VsZW1lbnQsYXR0cmlidXRlczp0LmF0dHJpYnV0ZXMucHJvcGVydGllcy5tYXAoeT0+dGhpcy5jb252ZXJ0Q2hpbGQoeSkpLG5hbWU6dGhpcy5jb252ZXJ0SlNYVGFnTmFtZSh0LnRhZ05hbWUsdCksc2VsZkNsb3Npbmc6ITEsdHlwZUFyZ3VtZW50czp0LnR5cGVBcmd1bWVudHMmJnRoaXMuY29udmVydFR5cGVBcmd1bWVudHNUb1R5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKHQudHlwZUFyZ3VtZW50cyx0KX0pO2Nhc2UgVC5Kc3hDbG9zaW5nRWxlbWVudDpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5KU1hDbG9zaW5nRWxlbWVudCxuYW1lOnRoaXMuY29udmVydEpTWFRhZ05hbWUodC50YWdOYW1lLHQpfSk7Y2FzZSBULkpzeE9wZW5pbmdGcmFnbWVudDpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5KU1hPcGVuaW5nRnJhZ21lbnR9KTtjYXNlIFQuSnN4Q2xvc2luZ0ZyYWdtZW50OnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLkpTWENsb3NpbmdGcmFnbWVudH0pO2Nhc2UgVC5Kc3hFeHByZXNzaW9uOntsZXQgeT10LmV4cHJlc3Npb24/dGhpcy5jb252ZXJ0Q2hpbGQodC5leHByZXNzaW9uKTp0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLkpTWEVtcHR5RXhwcmVzc2lvbixyYW5nZTpbdC5nZXRTdGFydCh0aGlzLmFzdCkrMSx0LmdldEVuZCgpLTFdfSk7cmV0dXJuIHQuZG90RG90RG90VG9rZW4/dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5KU1hTcHJlYWRDaGlsZCxleHByZXNzaW9uOnl9KTp0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLkpTWEV4cHJlc3Npb25Db250YWluZXIsZXhwcmVzc2lvbjp5fSl9Y2FzZSBULkpzeEF0dHJpYnV0ZTpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5KU1hBdHRyaWJ1dGUsbmFtZTp0aGlzLmNvbnZlcnRKU1hOYW1lc3BhY2VPcklkZW50aWZpZXIodC5uYW1lKSx2YWx1ZTp0aGlzLmNvbnZlcnRDaGlsZCh0LmluaXRpYWxpemVyKX0pO2Nhc2UgVC5Kc3hUZXh0OntsZXQgeT10LmdldEZ1bGxTdGFydCgpLGc9dC5nZXRFbmQoKSx4PXRoaXMuYXN0LnRleHQuc2xpY2UoeSxnKTtyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5KU1hUZXh0LHJhbmdlOlt5LGddLHJhdzp4LHZhbHVlOlFmKHgpfSl9Y2FzZSBULkpzeFNwcmVhZEF0dHJpYnV0ZTpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5KU1hTcHJlYWRBdHRyaWJ1dGUsYXJndW1lbnQ6dGhpcy5jb252ZXJ0Q2hpbGQodC5leHByZXNzaW9uKX0pO2Nhc2UgVC5RdWFsaWZpZWROYW1lOnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRTUXVhbGlmaWVkTmFtZSxsZWZ0OnRoaXMuY29udmVydENoaWxkKHQubGVmdCkscmlnaHQ6dGhpcy5jb252ZXJ0Q2hpbGQodC5yaWdodCl9KTtjYXNlIFQuVHlwZVJlZmVyZW5jZTpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU1R5cGVSZWZlcmVuY2UsdHlwZUFyZ3VtZW50czp0LnR5cGVBcmd1bWVudHMmJnRoaXMuY29udmVydFR5cGVBcmd1bWVudHNUb1R5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKHQudHlwZUFyZ3VtZW50cyx0KSx0eXBlTmFtZTp0aGlzLmNvbnZlcnRDaGlsZCh0LnR5cGVOYW1lKX0pO2Nhc2UgVC5UeXBlUGFyYW1ldGVyOnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRTVHlwZVBhcmFtZXRlcixjb25zdDpIZShULkNvbnN0S2V5d29yZCx0KSxjb25zdHJhaW50OnQuY29uc3RyYWludCYmdGhpcy5jb252ZXJ0Q2hpbGQodC5jb25zdHJhaW50KSxkZWZhdWx0OnQuZGVmYXVsdD90aGlzLmNvbnZlcnRDaGlsZCh0LmRlZmF1bHQpOnZvaWQgMCxpbjpIZShULkluS2V5d29yZCx0KSxuYW1lOnRoaXMuY29udmVydENoaWxkKHQubmFtZSksb3V0OkhlKFQuT3V0S2V5d29yZCx0KX0pO2Nhc2UgVC5UaGlzVHlwZTpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU1RoaXNUeXBlfSk7Y2FzZSBULkFueUtleXdvcmQ6Y2FzZSBULkJpZ0ludEtleXdvcmQ6Y2FzZSBULkJvb2xlYW5LZXl3b3JkOmNhc2UgVC5OZXZlcktleXdvcmQ6Y2FzZSBULk51bWJlcktleXdvcmQ6Y2FzZSBULk9iamVjdEtleXdvcmQ6Y2FzZSBULlN0cmluZ0tleXdvcmQ6Y2FzZSBULlN5bWJvbEtleXdvcmQ6Y2FzZSBULlVua25vd25LZXl3b3JkOmNhc2UgVC5Wb2lkS2V5d29yZDpjYXNlIFQuVW5kZWZpbmVkS2V5d29yZDpjYXNlIFQuSW50cmluc2ljS2V5d29yZDpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Q1tgVFMke1RbdC5raW5kXX1gXX0pO2Nhc2UgVC5Ob25OdWxsRXhwcmVzc2lvbjp7bGV0IHk9dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU05vbk51bGxFeHByZXNzaW9uLGV4cHJlc3Npb246dGhpcy5jb252ZXJ0Q2hpbGQodC5leHByZXNzaW9uKX0pO3JldHVybiB0aGlzLmNvbnZlcnRDaGFpbkV4cHJlc3Npb24oeSx0KX1jYXNlIFQuVHlwZUxpdGVyYWw6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVFNUeXBlTGl0ZXJhbCxtZW1iZXJzOnQubWVtYmVycy5tYXAoeT0+dGhpcy5jb252ZXJ0Q2hpbGQoeSkpfSk7Y2FzZSBULkFycmF5VHlwZTpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU0FycmF5VHlwZSxlbGVtZW50VHlwZTp0aGlzLmNvbnZlcnRDaGlsZCh0LmVsZW1lbnRUeXBlKX0pO2Nhc2UgVC5JbmRleGVkQWNjZXNzVHlwZTpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU0luZGV4ZWRBY2Nlc3NUeXBlLGluZGV4VHlwZTp0aGlzLmNvbnZlcnRDaGlsZCh0LmluZGV4VHlwZSksb2JqZWN0VHlwZTp0aGlzLmNvbnZlcnRDaGlsZCh0Lm9iamVjdFR5cGUpfSk7Y2FzZSBULkNvbmRpdGlvbmFsVHlwZTpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU0NvbmRpdGlvbmFsVHlwZSxjaGVja1R5cGU6dGhpcy5jb252ZXJ0Q2hpbGQodC5jaGVja1R5cGUpLGV4dGVuZHNUeXBlOnRoaXMuY29udmVydENoaWxkKHQuZXh0ZW5kc1R5cGUpLGZhbHNlVHlwZTp0aGlzLmNvbnZlcnRDaGlsZCh0LmZhbHNlVHlwZSksdHJ1ZVR5cGU6dGhpcy5jb252ZXJ0Q2hpbGQodC50cnVlVHlwZSl9KTtjYXNlIFQuVHlwZVF1ZXJ5OnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRTVHlwZVF1ZXJ5LGV4cHJOYW1lOnRoaXMuY29udmVydENoaWxkKHQuZXhwck5hbWUpLHR5cGVBcmd1bWVudHM6dC50eXBlQXJndW1lbnRzJiZ0aGlzLmNvbnZlcnRUeXBlQXJndW1lbnRzVG9UeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbih0LnR5cGVBcmd1bWVudHMsdCl9KTtjYXNlIFQuTWFwcGVkVHlwZTpyZXR1cm4gdC5tZW1iZXJzJiZ0Lm1lbWJlcnMubGVuZ3RoPjAmJmdlKHRoaXMsbWUsVnQpLmNhbGwodGhpcyx0Lm1lbWJlcnNbMF0sXCJBIG1hcHBlZCB0eXBlIG1heSBub3QgZGVjbGFyZSBwcm9wZXJ0aWVzIG9yIG1ldGhvZHMuXCIpLHRoaXMuY3JlYXRlTm9kZSh0LGdlKHRoaXMsbWUsaWQpLmNhbGwodGhpcyx7dHlwZTpDLlRTTWFwcGVkVHlwZSxjb25zdHJhaW50OnRoaXMuY29udmVydENoaWxkKHQudHlwZVBhcmFtZXRlci5jb25zdHJhaW50KSxrZXk6dGhpcy5jb252ZXJ0Q2hpbGQodC50eXBlUGFyYW1ldGVyLm5hbWUpLG5hbWVUeXBlOnRoaXMuY29udmVydENoaWxkKHQubmFtZVR5cGUpPz9udWxsLG9wdGlvbmFsOnQucXVlc3Rpb25Ub2tlbiYmKHQucXVlc3Rpb25Ub2tlbi5raW5kPT09VC5RdWVzdGlvblRva2VufHwkcih0LnF1ZXN0aW9uVG9rZW4ua2luZCkpLHJlYWRvbmx5OnQucmVhZG9ubHlUb2tlbiYmKHQucmVhZG9ubHlUb2tlbi5raW5kPT09VC5SZWFkb25seUtleXdvcmR8fCRyKHQucmVhZG9ubHlUb2tlbi5raW5kKSksdHlwZUFubm90YXRpb246dC50eXBlJiZ0aGlzLmNvbnZlcnRDaGlsZCh0LnR5cGUpfSxcInR5cGVQYXJhbWV0ZXJcIixcIidjb25zdHJhaW50JyBhbmQgJ2tleSdcIix0aGlzLmNvbnZlcnRDaGlsZCh0LnR5cGVQYXJhbWV0ZXIpKSk7Y2FzZSBULlBhcmVudGhlc2l6ZWRFeHByZXNzaW9uOnJldHVybiB0aGlzLmNvbnZlcnRDaGlsZCh0LmV4cHJlc3Npb24sYSk7Y2FzZSBULlR5cGVBbGlhc0RlY2xhcmF0aW9uOntsZXQgeT10aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRTVHlwZUFsaWFzRGVjbGFyYXRpb24sZGVjbGFyZTpIZShULkRlY2xhcmVLZXl3b3JkLHQpLGlkOnRoaXMuY29udmVydENoaWxkKHQubmFtZSksdHlwZUFubm90YXRpb246dGhpcy5jb252ZXJ0Q2hpbGQodC50eXBlKSx0eXBlUGFyYW1ldGVyczp0LnR5cGVQYXJhbWV0ZXJzJiZ0aGlzLmNvbnZlcnRUU1R5cGVQYXJhbWV0ZXJzVG9UeXBlUGFyYW1ldGVyc0RlY2xhcmF0aW9uKHQudHlwZVBhcmFtZXRlcnMpfSk7cmV0dXJuIHRoaXMuZml4RXhwb3J0cyh0LHkpfWNhc2UgVC5NZXRob2RTaWduYXR1cmU6cmV0dXJuIHRoaXMuY29udmVydE1ldGhvZFNpZ25hdHVyZSh0KTtjYXNlIFQuUHJvcGVydHlTaWduYXR1cmU6e2xldHtpbml0aWFsaXplcjp5fT10O3JldHVybiB5JiZnZSh0aGlzLG1lLEJlKS5jYWxsKHRoaXMseSxcIkEgcHJvcGVydHkgc2lnbmF0dXJlIGNhbm5vdCBoYXZlIGFuIGluaXRpYWxpemVyLlwiKSx0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRTUHJvcGVydHlTaWduYXR1cmUsYWNjZXNzaWJpbGl0eTp4aSh0KSxjb21wdXRlZDpyYSh0Lm5hbWUpLGtleTp0aGlzLmNvbnZlcnRDaGlsZCh0Lm5hbWUpLG9wdGlvbmFsOktmKHQpLHJlYWRvbmx5OkhlKFQuUmVhZG9ubHlLZXl3b3JkLHQpLHN0YXRpYzpIZShULlN0YXRpY0tleXdvcmQsdCksdHlwZUFubm90YXRpb246dC50eXBlJiZ0aGlzLmNvbnZlcnRUeXBlQW5ub3RhdGlvbih0LnR5cGUsdCl9KX1jYXNlIFQuSW5kZXhTaWduYXR1cmU6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVFNJbmRleFNpZ25hdHVyZSxhY2Nlc3NpYmlsaXR5OnhpKHQpLHBhcmFtZXRlcnM6dC5wYXJhbWV0ZXJzLm1hcCh5PT50aGlzLmNvbnZlcnRDaGlsZCh5KSkscmVhZG9ubHk6SGUoVC5SZWFkb25seUtleXdvcmQsdCksc3RhdGljOkhlKFQuU3RhdGljS2V5d29yZCx0KSx0eXBlQW5ub3RhdGlvbjp0LnR5cGUmJnRoaXMuY29udmVydFR5cGVBbm5vdGF0aW9uKHQudHlwZSx0KX0pO2Nhc2UgVC5Db25zdHJ1Y3RvclR5cGU6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVFNDb25zdHJ1Y3RvclR5cGUsYWJzdHJhY3Q6SGUoVC5BYnN0cmFjdEtleXdvcmQsdCkscGFyYW1zOnRoaXMuY29udmVydFBhcmFtZXRlcnModC5wYXJhbWV0ZXJzKSxyZXR1cm5UeXBlOnQudHlwZSYmdGhpcy5jb252ZXJ0VHlwZUFubm90YXRpb24odC50eXBlLHQpLHR5cGVQYXJhbWV0ZXJzOnQudHlwZVBhcmFtZXRlcnMmJnRoaXMuY29udmVydFRTVHlwZVBhcmFtZXRlcnNUb1R5cGVQYXJhbWV0ZXJzRGVjbGFyYXRpb24odC50eXBlUGFyYW1ldGVycyl9KTtjYXNlIFQuRnVuY3Rpb25UeXBlOntsZXR7bW9kaWZpZXJzOnl9PXQ7eSYmZ2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLHlbMF0sXCJBIGZ1bmN0aW9uIHR5cGUgY2Fubm90IGhhdmUgbW9kaWZpZXJzLlwiKX1jYXNlIFQuQ29uc3RydWN0U2lnbmF0dXJlOmNhc2UgVC5DYWxsU2lnbmF0dXJlOntsZXQgeT10LmtpbmQ9PT1ULkNvbnN0cnVjdFNpZ25hdHVyZT9DLlRTQ29uc3RydWN0U2lnbmF0dXJlRGVjbGFyYXRpb246dC5raW5kPT09VC5DYWxsU2lnbmF0dXJlP0MuVFNDYWxsU2lnbmF0dXJlRGVjbGFyYXRpb246Qy5UU0Z1bmN0aW9uVHlwZTtyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6eSxwYXJhbXM6dGhpcy5jb252ZXJ0UGFyYW1ldGVycyh0LnBhcmFtZXRlcnMpLHJldHVyblR5cGU6dC50eXBlJiZ0aGlzLmNvbnZlcnRUeXBlQW5ub3RhdGlvbih0LnR5cGUsdCksdHlwZVBhcmFtZXRlcnM6dC50eXBlUGFyYW1ldGVycyYmdGhpcy5jb252ZXJ0VFNUeXBlUGFyYW1ldGVyc1RvVHlwZVBhcmFtZXRlcnNEZWNsYXJhdGlvbih0LnR5cGVQYXJhbWV0ZXJzKX0pfWNhc2UgVC5FeHByZXNzaW9uV2l0aFR5cGVBcmd1bWVudHM6e2xldCB5PWEua2luZCxnPXk9PT1ULkludGVyZmFjZURlY2xhcmF0aW9uP0MuVFNJbnRlcmZhY2VIZXJpdGFnZTp5PT09VC5IZXJpdGFnZUNsYXVzZT9DLlRTQ2xhc3NJbXBsZW1lbnRzOkMuVFNJbnN0YW50aWF0aW9uRXhwcmVzc2lvbjtyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6ZyxleHByZXNzaW9uOnRoaXMuY29udmVydENoaWxkKHQuZXhwcmVzc2lvbiksdHlwZUFyZ3VtZW50czp0LnR5cGVBcmd1bWVudHMmJnRoaXMuY29udmVydFR5cGVBcmd1bWVudHNUb1R5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKHQudHlwZUFyZ3VtZW50cyx0KX0pfWNhc2UgVC5JbnRlcmZhY2VEZWNsYXJhdGlvbjp7bGV0IHk9dC5oZXJpdGFnZUNsYXVzZXM/P1tdLGc9W107Zm9yKGxldCBJIG9mIHkpe0kudG9rZW4hPT1ULkV4dGVuZHNLZXl3b3JkJiZnZSh0aGlzLG1lLEJlKS5jYWxsKHRoaXMsSSxJLnRva2VuPT09VC5JbXBsZW1lbnRzS2V5d29yZD9cIkludGVyZmFjZSBkZWNsYXJhdGlvbiBjYW5ub3QgaGF2ZSAnaW1wbGVtZW50cycgY2xhdXNlLlwiOlwiVW5leHBlY3RlZCB0b2tlbi5cIik7Zm9yKGxldCByZSBvZiBJLnR5cGVzKWcucHVzaCh0aGlzLmNvbnZlcnRDaGlsZChyZSx0KSl9bGV0IHg9dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU0ludGVyZmFjZURlY2xhcmF0aW9uLGJvZHk6dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU0ludGVyZmFjZUJvZHkscmFuZ2U6W3QubWVtYmVycy5wb3MtMSx0LmVuZF0sYm9keTp0Lm1lbWJlcnMubWFwKEk9PnRoaXMuY29udmVydENoaWxkKEkpKX0pLGRlY2xhcmU6SGUoVC5EZWNsYXJlS2V5d29yZCx0KSxleHRlbmRzOmcsaWQ6dGhpcy5jb252ZXJ0Q2hpbGQodC5uYW1lKSx0eXBlUGFyYW1ldGVyczp0LnR5cGVQYXJhbWV0ZXJzJiZ0aGlzLmNvbnZlcnRUU1R5cGVQYXJhbWV0ZXJzVG9UeXBlUGFyYW1ldGVyc0RlY2xhcmF0aW9uKHQudHlwZVBhcmFtZXRlcnMpfSk7cmV0dXJuIHRoaXMuZml4RXhwb3J0cyh0LHgpfWNhc2UgVC5UeXBlUHJlZGljYXRlOntsZXQgeT10aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRTVHlwZVByZWRpY2F0ZSxhc3NlcnRzOnQuYXNzZXJ0c01vZGlmaWVyIT09dm9pZCAwLHBhcmFtZXRlck5hbWU6dGhpcy5jb252ZXJ0Q2hpbGQodC5wYXJhbWV0ZXJOYW1lKSx0eXBlQW5ub3RhdGlvbjpudWxsfSk7cmV0dXJuIHQudHlwZSYmKHkudHlwZUFubm90YXRpb249dGhpcy5jb252ZXJ0VHlwZUFubm90YXRpb24odC50eXBlLHQpLHkudHlwZUFubm90YXRpb24ubG9jPXkudHlwZUFubm90YXRpb24udHlwZUFubm90YXRpb24ubG9jLHkudHlwZUFubm90YXRpb24ucmFuZ2U9eS50eXBlQW5ub3RhdGlvbi50eXBlQW5ub3RhdGlvbi5yYW5nZSkseX1jYXNlIFQuSW1wb3J0VHlwZTp7bGV0IHk9JGEodCx0aGlzLmFzdCk7aWYodC5pc1R5cGVPZil7bGV0IHg9bmEodC5nZXRGaXJzdFRva2VuKCksdCx0aGlzLmFzdCk7eVswXT14LmdldFN0YXJ0KHRoaXMuYXN0KX1sZXQgZz10aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRTSW1wb3J0VHlwZSxyYW5nZTp5LGFyZ3VtZW50OnRoaXMuY29udmVydENoaWxkKHQuYXJndW1lbnQpLHF1YWxpZmllcjp0aGlzLmNvbnZlcnRDaGlsZCh0LnF1YWxpZmllciksdHlwZUFyZ3VtZW50czp0LnR5cGVBcmd1bWVudHM/dGhpcy5jb252ZXJ0VHlwZUFyZ3VtZW50c1RvVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb24odC50eXBlQXJndW1lbnRzLHQpOm51bGx9KTtyZXR1cm4gdC5pc1R5cGVPZj90aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRTVHlwZVF1ZXJ5LGV4cHJOYW1lOmcsdHlwZUFyZ3VtZW50czp2b2lkIDB9KTpnfWNhc2UgVC5FbnVtRGVjbGFyYXRpb246e2xldCB5PXQubWVtYmVycy5tYXAoeD0+dGhpcy5jb252ZXJ0Q2hpbGQoeCkpLGc9dGhpcy5jcmVhdGVOb2RlKHQsZ2UodGhpcyxtZSxpZCkuY2FsbCh0aGlzLHt0eXBlOkMuVFNFbnVtRGVjbGFyYXRpb24sYm9keTp0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRTRW51bUJvZHkscmFuZ2U6W3QubWVtYmVycy5wb3MtMSx0LmVuZF0sbWVtYmVyczp5fSksY29uc3Q6SGUoVC5Db25zdEtleXdvcmQsdCksZGVjbGFyZTpIZShULkRlY2xhcmVLZXl3b3JkLHQpLGlkOnRoaXMuY29udmVydENoaWxkKHQubmFtZSl9LFwibWVtYmVyc1wiLFwiJ2JvZHkubWVtYmVycydcIix0Lm1lbWJlcnMubWFwKHg9PnRoaXMuY29udmVydENoaWxkKHgpKSkpO3JldHVybiB0aGlzLmZpeEV4cG9ydHModCxnKX1jYXNlIFQuRW51bU1lbWJlcjpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU0VudW1NZW1iZXIsY29tcHV0ZWQ6dC5uYW1lLmtpbmQ9PT1OZS5Db21wdXRlZFByb3BlcnR5TmFtZSxpZDp0aGlzLmNvbnZlcnRDaGlsZCh0Lm5hbWUpLGluaXRpYWxpemVyOnQuaW5pdGlhbGl6ZXImJnRoaXMuY29udmVydENoaWxkKHQuaW5pdGlhbGl6ZXIpfSk7Y2FzZSBULk1vZHVsZURlY2xhcmF0aW9uOntsZXQgeT1IZShULkRlY2xhcmVLZXl3b3JkLHQpLGc9dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU01vZHVsZURlY2xhcmF0aW9uLC4uLigoKT0+e2lmKHQuZmxhZ3Mmb24uR2xvYmFsQXVnbWVudGF0aW9uKXtsZXQgST10aGlzLmNvbnZlcnRDaGlsZCh0Lm5hbWUpLHJlPXRoaXMuY29udmVydENoaWxkKHQuYm9keSk7cmV0dXJuKHJlPT1udWxsfHxyZS50eXBlPT09Qy5UU01vZHVsZURlY2xhcmF0aW9uKSYmZ2UodGhpcyxtZSxWdCkuY2FsbCh0aGlzLHQuYm9keT8/dCxcIkV4cGVjdGVkIGEgdmFsaWQgbW9kdWxlIGJvZHlcIiksSS50eXBlIT09Qy5JZGVudGlmaWVyJiZnZSh0aGlzLG1lLFZ0KS5jYWxsKHRoaXMsdC5uYW1lLFwiZ2xvYmFsIG1vZHVsZSBhdWdtZW50YXRpb24gbXVzdCBoYXZlIGFuIElkZW50aWZpZXIgaWRcIikse2JvZHk6cmUsZGVjbGFyZTohMSxnbG9iYWw6ITEsaWQ6SSxraW5kOlwiZ2xvYmFsXCJ9fWlmKCEodC5mbGFncyZvbi5OYW1lc3BhY2UpKXtsZXQgST10aGlzLmNvbnZlcnRDaGlsZCh0LmJvZHkpO3JldHVybntraW5kOlwibW9kdWxlXCIsLi4uSSE9bnVsbD97Ym9keTpJfTp7fSxkZWNsYXJlOiExLGdsb2JhbDohMSxpZDp0aGlzLmNvbnZlcnRDaGlsZCh0Lm5hbWUpfX10LmJvZHk9PW51bGwmJmdlKHRoaXMsbWUsVnQpLmNhbGwodGhpcyx0LFwiRXhwZWN0ZWQgYSBtb2R1bGUgYm9keVwiKSx0Lm5hbWUua2luZCE9PU5lLklkZW50aWZpZXImJmdlKHRoaXMsbWUsVnQpLmNhbGwodGhpcyx0Lm5hbWUsXCJgbmFtZXNwYWNlYHMgbXVzdCBoYXZlIGFuIElkZW50aWZpZXIgaWRcIik7bGV0IHg9dGhpcy5jcmVhdGVOb2RlKHQubmFtZSx7dHlwZTpDLklkZW50aWZpZXIscmFuZ2U6W3QubmFtZS5nZXRTdGFydCh0aGlzLmFzdCksdC5uYW1lLmdldEVuZCgpXSxkZWNvcmF0b3JzOltdLG5hbWU6dC5uYW1lLnRleHQsb3B0aW9uYWw6ITEsdHlwZUFubm90YXRpb246dm9pZCAwfSk7Zm9yKDt0LmJvZHkmJlRpKHQuYm9keSkmJnQuYm9keS5uYW1lOyl7dD10LmJvZHkseXx8KHk9SGUoVC5EZWNsYXJlS2V5d29yZCx0KSk7bGV0IEk9dC5uYW1lLHJlPXRoaXMuY3JlYXRlTm9kZShJLHt0eXBlOkMuSWRlbnRpZmllcixyYW5nZTpbSS5nZXRTdGFydCh0aGlzLmFzdCksSS5nZXRFbmQoKV0sZGVjb3JhdG9yczpbXSxuYW1lOkkudGV4dCxvcHRpb25hbDohMSx0eXBlQW5ub3RhdGlvbjp2b2lkIDB9KTt4PXRoaXMuY3JlYXRlTm9kZShJLHt0eXBlOkMuVFNRdWFsaWZpZWROYW1lLHJhbmdlOlt4LnJhbmdlWzBdLHJlLnJhbmdlWzFdXSxsZWZ0OngscmlnaHQ6cmV9KX1yZXR1cm57Ym9keTp0aGlzLmNvbnZlcnRDaGlsZCh0LmJvZHkpLGRlY2xhcmU6ITEsZ2xvYmFsOiExLGlkOngsa2luZDpcIm5hbWVzcGFjZVwifX0pKCl9KTtyZXR1cm4gZy5kZWNsYXJlPXksdC5mbGFncyZvbi5HbG9iYWxBdWdtZW50YXRpb24mJihnLmdsb2JhbD0hMCksdGhpcy5maXhFeHBvcnRzKHQsZyl9Y2FzZSBULlBhcmVudGhlc2l6ZWRUeXBlOnJldHVybiB0aGlzLmNvbnZlcnRDaGlsZCh0LnR5cGUpO2Nhc2UgVC5VbmlvblR5cGU6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVFNVbmlvblR5cGUsdHlwZXM6dC50eXBlcy5tYXAoeT0+dGhpcy5jb252ZXJ0Q2hpbGQoeSkpfSk7Y2FzZSBULkludGVyc2VjdGlvblR5cGU6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVFNJbnRlcnNlY3Rpb25UeXBlLHR5cGVzOnQudHlwZXMubWFwKHk9PnRoaXMuY29udmVydENoaWxkKHkpKX0pO2Nhc2UgVC5Bc0V4cHJlc3Npb246cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVFNBc0V4cHJlc3Npb24sZXhwcmVzc2lvbjp0aGlzLmNvbnZlcnRDaGlsZCh0LmV4cHJlc3Npb24pLHR5cGVBbm5vdGF0aW9uOnRoaXMuY29udmVydENoaWxkKHQudHlwZSl9KTtjYXNlIFQuSW5mZXJUeXBlOnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRTSW5mZXJUeXBlLHR5cGVQYXJhbWV0ZXI6dGhpcy5jb252ZXJ0Q2hpbGQodC50eXBlUGFyYW1ldGVyKX0pO2Nhc2UgVC5MaXRlcmFsVHlwZTpyZXR1cm4gdC5saXRlcmFsLmtpbmQ9PT1ULk51bGxLZXl3b3JkP3RoaXMuY3JlYXRlTm9kZSh0LmxpdGVyYWwse3R5cGU6Qy5UU051bGxLZXl3b3JkfSk6dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU0xpdGVyYWxUeXBlLGxpdGVyYWw6dGhpcy5jb252ZXJ0Q2hpbGQodC5saXRlcmFsKX0pO2Nhc2UgVC5UeXBlQXNzZXJ0aW9uRXhwcmVzc2lvbjpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU1R5cGVBc3NlcnRpb24sZXhwcmVzc2lvbjp0aGlzLmNvbnZlcnRDaGlsZCh0LmV4cHJlc3Npb24pLHR5cGVBbm5vdGF0aW9uOnRoaXMuY29udmVydENoaWxkKHQudHlwZSl9KTtjYXNlIFQuSW1wb3J0RXF1YWxzRGVjbGFyYXRpb246cmV0dXJuIHRoaXMuZml4RXhwb3J0cyh0LHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVFNJbXBvcnRFcXVhbHNEZWNsYXJhdGlvbixpZDp0aGlzLmNvbnZlcnRDaGlsZCh0Lm5hbWUpLGltcG9ydEtpbmQ6dC5pc1R5cGVPbmx5P1widHlwZVwiOlwidmFsdWVcIixtb2R1bGVSZWZlcmVuY2U6dGhpcy5jb252ZXJ0Q2hpbGQodC5tb2R1bGVSZWZlcmVuY2UpfSkpO2Nhc2UgVC5FeHRlcm5hbE1vZHVsZVJlZmVyZW5jZTpyZXR1cm4gdC5leHByZXNzaW9uLmtpbmQhPT1ULlN0cmluZ0xpdGVyYWwmJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyx0LmV4cHJlc3Npb24sXCJTdHJpbmcgbGl0ZXJhbCBleHBlY3RlZC5cIiksdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU0V4dGVybmFsTW9kdWxlUmVmZXJlbmNlLGV4cHJlc3Npb246dGhpcy5jb252ZXJ0Q2hpbGQodC5leHByZXNzaW9uKX0pO2Nhc2UgVC5OYW1lc3BhY2VFeHBvcnREZWNsYXJhdGlvbjpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU05hbWVzcGFjZUV4cG9ydERlY2xhcmF0aW9uLGlkOnRoaXMuY29udmVydENoaWxkKHQubmFtZSl9KTtjYXNlIFQuQWJzdHJhY3RLZXl3b3JkOnJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRTQWJzdHJhY3RLZXl3b3JkfSk7Y2FzZSBULlR1cGxlVHlwZTp7bGV0IHk9dC5lbGVtZW50cy5tYXAoZz0+dGhpcy5jb252ZXJ0Q2hpbGQoZykpO3JldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRTVHVwbGVUeXBlLGVsZW1lbnRUeXBlczp5fSl9Y2FzZSBULk5hbWVkVHVwbGVNZW1iZXI6e2xldCB5PXRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVFNOYW1lZFR1cGxlTWVtYmVyLGVsZW1lbnRUeXBlOnRoaXMuY29udmVydENoaWxkKHQudHlwZSx0KSxsYWJlbDp0aGlzLmNvbnZlcnRDaGlsZCh0Lm5hbWUsdCksb3B0aW9uYWw6dC5xdWVzdGlvblRva2VuIT1udWxsfSk7cmV0dXJuIHQuZG90RG90RG90VG9rZW4/KHkucmFuZ2VbMF09eS5sYWJlbC5yYW5nZVswXSx5LmxvYy5zdGFydD15LmxhYmVsLmxvYy5zdGFydCx0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLlRTUmVzdFR5cGUsdHlwZUFubm90YXRpb246eX0pKTp5fWNhc2UgVC5PcHRpb25hbFR5cGU6cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuVFNPcHRpb25hbFR5cGUsdHlwZUFubm90YXRpb246dGhpcy5jb252ZXJ0Q2hpbGQodC50eXBlKX0pO2Nhc2UgVC5SZXN0VHlwZTpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU1Jlc3RUeXBlLHR5cGVBbm5vdGF0aW9uOnRoaXMuY29udmVydENoaWxkKHQudHlwZSl9KTtjYXNlIFQuVGVtcGxhdGVMaXRlcmFsVHlwZTp7bGV0IHk9dGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU1RlbXBsYXRlTGl0ZXJhbFR5cGUscXVhc2lzOlt0aGlzLmNvbnZlcnRDaGlsZCh0LmhlYWQpXSx0eXBlczpbXX0pO3JldHVybiB0LnRlbXBsYXRlU3BhbnMuZm9yRWFjaChnPT57eS50eXBlcy5wdXNoKHRoaXMuY29udmVydENoaWxkKGcudHlwZSkpLHkucXVhc2lzLnB1c2godGhpcy5jb252ZXJ0Q2hpbGQoZy5saXRlcmFsKSl9KSx5fWNhc2UgVC5DbGFzc1N0YXRpY0Jsb2NrRGVjbGFyYXRpb246cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LHt0eXBlOkMuU3RhdGljQmxvY2ssYm9keTp0aGlzLmNvbnZlcnRCb2R5RXhwcmVzc2lvbnModC5ib2R5LnN0YXRlbWVudHMsdCl9KTtjYXNlIFQuQXNzZXJ0RW50cnk6Y2FzZSBULkltcG9ydEF0dHJpYnV0ZTpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5JbXBvcnRBdHRyaWJ1dGUsa2V5OnRoaXMuY29udmVydENoaWxkKHQubmFtZSksdmFsdWU6dGhpcy5jb252ZXJ0Q2hpbGQodC52YWx1ZSl9KTtjYXNlIFQuU2F0aXNmaWVzRXhwcmVzc2lvbjpyZXR1cm4gdGhpcy5jcmVhdGVOb2RlKHQse3R5cGU6Qy5UU1NhdGlzZmllc0V4cHJlc3Npb24sZXhwcmVzc2lvbjp0aGlzLmNvbnZlcnRDaGlsZCh0LmV4cHJlc3Npb24pLHR5cGVBbm5vdGF0aW9uOnRoaXMuY29udmVydENoaWxkKHQudHlwZSl9KTtkZWZhdWx0OnJldHVybiB0aGlzLmRlZXBseUNvcHkodCl9fWNyZWF0ZU5vZGUodCxhKXtsZXQgbz1hO3JldHVybiBvLnJhbmdlPz8oby5yYW5nZT0kYSh0LHRoaXMuYXN0KSksby5sb2M/PyhvLmxvYz1RcihvLnJhbmdlLHRoaXMuYXN0KSksbyYmdGhpcy5vcHRpb25zLnNob3VsZFByZXNlcnZlTm9kZU1hcHMmJnRoaXMuZXNUcmVlTm9kZVRvVFNOb2RlTWFwLnNldChvLHQpLG99Y29udmVydFByb2dyYW0oKXtyZXR1cm4gdGhpcy5jb252ZXJ0ZXIodGhpcy5hc3QpfWRlZXBseUNvcHkodCl7dC5raW5kPT09TmUuSlNEb2NGdW5jdGlvblR5cGUmJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyx0LFwiSlNEb2MgdHlwZXMgY2FuIG9ubHkgYmUgdXNlZCBpbnNpZGUgZG9jdW1lbnRhdGlvbiBjb21tZW50cy5cIik7bGV0IGE9YFRTJHtUW3Qua2luZF19YDtpZih0aGlzLm9wdGlvbnMuZXJyb3JPblVua25vd25BU1RUeXBlJiYhQ1thXSl0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gQVNUX05PREVfVFlQRTogXCIke2F9XCJgKTtsZXQgbz10aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTphfSk7XCJ0eXBlXCJpbiB0JiYoby50eXBlQW5ub3RhdGlvbj10LnR5cGUmJlwia2luZFwiaW4gdC50eXBlJiZvMSh0LnR5cGUpP3RoaXMuY29udmVydFR5cGVBbm5vdGF0aW9uKHQudHlwZSx0KTpudWxsKSxcInR5cGVBcmd1bWVudHNcImluIHQmJihvLnR5cGVBcmd1bWVudHM9dC50eXBlQXJndW1lbnRzJiZcInBvc1wiaW4gdC50eXBlQXJndW1lbnRzP3RoaXMuY29udmVydFR5cGVBcmd1bWVudHNUb1R5cGVQYXJhbWV0ZXJJbnN0YW50aWF0aW9uKHQudHlwZUFyZ3VtZW50cyx0KTpudWxsKSxcInR5cGVQYXJhbWV0ZXJzXCJpbiB0JiYoby50eXBlUGFyYW1ldGVycz10LnR5cGVQYXJhbWV0ZXJzJiZcInBvc1wiaW4gdC50eXBlUGFyYW1ldGVycz90aGlzLmNvbnZlcnRUU1R5cGVQYXJhbWV0ZXJzVG9UeXBlUGFyYW1ldGVyc0RlY2xhcmF0aW9uKHQudHlwZVBhcmFtZXRlcnMpOm51bGwpO2xldCBtPXRhKHQpO20hPW51bGwmJm0ubGVuZ3RoJiYoby5kZWNvcmF0b3JzPW0ubWFwKEE9PnRoaXMuY29udmVydENoaWxkKEEpKSk7bGV0IHY9bmV3IFNldChbXCJfY2hpbGRyZW5cIixcImRlY29yYXRvcnNcIixcImVuZFwiLFwiZmxhZ3NcIixcImhlcml0YWdlQ2xhdXNlc1wiLFwiaWxsZWdhbERlY29yYXRvcnNcIixcImpzRG9jXCIsXCJraW5kXCIsXCJsb2NhbHNcIixcImxvY2FsU3ltYm9sXCIsXCJtb2RpZmllckZsYWdzQ2FjaGVcIixcIm1vZGlmaWVyc1wiLFwibmV4dENvbnRhaW5lclwiLFwicGFyZW50XCIsXCJwb3NcIixcInN5bWJvbFwiLFwidHJhbnNmb3JtRmxhZ3NcIixcInR5cGVcIixcInR5cGVBcmd1bWVudHNcIixcInR5cGVQYXJhbWV0ZXJzXCJdKTtyZXR1cm4gT2JqZWN0LmVudHJpZXModCkuZmlsdGVyKChbQV0pPT4hdi5oYXMoQSkpLmZvckVhY2goKFtBLFBdKT0+e0FycmF5LmlzQXJyYXkoUCk/b1tBXT1QLm1hcChsPT50aGlzLmNvbnZlcnRDaGlsZChsKSk6UCYmdHlwZW9mIFA9PVwib2JqZWN0XCImJlAua2luZD9vW0FdPXRoaXMuY29udmVydENoaWxkKFApOm9bQV09UH0pLG99Zml4RXhwb3J0cyh0LGEpe2xldCBtPVRpKHQpJiYhISh0LmZsYWdzJm9uLk5hbWVzcGFjZSk/RmgodCk6ZXIodCk7aWYoKG09PW51bGw/dm9pZCAwOm1bMF0ua2luZCk9PT1ULkV4cG9ydEtleXdvcmQpe3RoaXMucmVnaXN0ZXJUU05vZGVJbk5vZGVNYXAodCxhKTtsZXQgdj1tWzBdLEE9bVsxXSxQPShBPT1udWxsP3ZvaWQgMDpBLmtpbmQpPT09VC5EZWZhdWx0S2V5d29yZCxsPVA/bmEoQSx0aGlzLmFzdCx0aGlzLmFzdCk6bmEodix0aGlzLmFzdCx0aGlzLmFzdCk7aWYoYS5yYW5nZVswXT1sLmdldFN0YXJ0KHRoaXMuYXN0KSxhLmxvYz1RcihhLnJhbmdlLHRoaXMuYXN0KSxQKXJldHVybiB0aGlzLmNyZWF0ZU5vZGUodCx7dHlwZTpDLkV4cG9ydERlZmF1bHREZWNsYXJhdGlvbixyYW5nZTpbdi5nZXRTdGFydCh0aGlzLmFzdCksYS5yYW5nZVsxXV0sZGVjbGFyYXRpb246YSxleHBvcnRLaW5kOlwidmFsdWVcIn0pO2xldCBRPWEudHlwZT09PUMuVFNJbnRlcmZhY2VEZWNsYXJhdGlvbnx8YS50eXBlPT09Qy5UU1R5cGVBbGlhc0RlY2xhcmF0aW9uLGg9XCJkZWNsYXJlXCJpbiBhJiZhLmRlY2xhcmU7cmV0dXJuIHRoaXMuY3JlYXRlTm9kZSh0LGdlKHRoaXMsbWUsUWEpLmNhbGwodGhpcyx7dHlwZTpDLkV4cG9ydE5hbWVkRGVjbGFyYXRpb24scmFuZ2U6W3YuZ2V0U3RhcnQodGhpcy5hc3QpLGEucmFuZ2VbMV1dLGF0dHJpYnV0ZXM6W10sZGVjbGFyYXRpb246YSxleHBvcnRLaW5kOlF8fGg/XCJ0eXBlXCI6XCJ2YWx1ZVwiLHNvdXJjZTpudWxsLHNwZWNpZmllcnM6W119LFwiYXNzZXJ0aW9uc1wiLFwiYXR0cmlidXRlc1wiLCEwKSl9cmV0dXJuIGF9Z2V0QVNUTWFwcygpe3JldHVybntlc1RyZWVOb2RlVG9UU05vZGVNYXA6dGhpcy5lc1RyZWVOb2RlVG9UU05vZGVNYXAsdHNOb2RlVG9FU1RyZWVOb2RlTWFwOnRoaXMudHNOb2RlVG9FU1RyZWVOb2RlTWFwfX1yZWdpc3RlclRTTm9kZUluTm9kZU1hcCh0LGEpe2EmJnRoaXMub3B0aW9ucy5zaG91bGRQcmVzZXJ2ZU5vZGVNYXBzJiYhdGhpcy50c05vZGVUb0VTVHJlZU5vZGVNYXAuaGFzKHQpJiZ0aGlzLnRzTm9kZVRvRVNUcmVlTm9kZU1hcC5zZXQodCxhKX19O21lPW5ldyBXZWFrU2V0LHJkPWZ1bmN0aW9uKHQsYSl7bGV0IG89YT09PU5lLkZvckluU3RhdGVtZW50P1wiZm9yLi4uaW5cIjpcImZvci4uLm9mXCI7aWYoSzEodCkpe3QuZGVjbGFyYXRpb25zLmxlbmd0aCE9PTEmJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyx0LGBPbmx5IGEgc2luZ2xlIHZhcmlhYmxlIGRlY2xhcmF0aW9uIGlzIGFsbG93ZWQgaW4gYSAnJHtvfScgc3RhdGVtZW50LmApO2xldCBtPXQuZGVjbGFyYXRpb25zWzBdO20uaW5pdGlhbGl6ZXI/Z2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLG0sYFRoZSB2YXJpYWJsZSBkZWNsYXJhdGlvbiBvZiBhICcke299JyBzdGF0ZW1lbnQgY2Fubm90IGhhdmUgYW4gaW5pdGlhbGl6ZXIuYCk6bS50eXBlJiZnZSh0aGlzLG1lLEJlKS5jYWxsKHRoaXMsbSxgVGhlIHZhcmlhYmxlIGRlY2xhcmF0aW9uIG9mIGEgJyR7b30nIHN0YXRlbWVudCBjYW5ub3QgaGF2ZSBhIHR5cGUgYW5ub3RhdGlvbi5gKSxhPT09TmUuRm9ySW5TdGF0ZW1lbnQmJnQuZmxhZ3Mmb24uVXNpbmcmJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyx0LFwiVGhlIGxlZnQtaGFuZCBzaWRlIG9mIGEgJ2Zvci4uLmluJyBzdGF0ZW1lbnQgY2Fubm90IGJlIGEgJ3VzaW5nJyBkZWNsYXJhdGlvbi5cIil9ZWxzZSFKbCh0KSYmdC5raW5kIT09TmUuT2JqZWN0TGl0ZXJhbEV4cHJlc3Npb24mJnQua2luZCE9PU5lLkFycmF5TGl0ZXJhbEV4cHJlc3Npb24mJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyx0LGBUaGUgbGVmdC1oYW5kIHNpZGUgb2YgYSAnJHtvfScgc3RhdGVtZW50IG11c3QgYmUgYSB2YXJpYWJsZSBvciBhIHByb3BlcnR5IGFjY2Vzcy5gKX0sVmg9ZnVuY3Rpb24odCl7aWYoIXRoaXMub3B0aW9ucy5hbGxvd0ludmFsaWRBU1Qpe1JoKHQpJiZnZSh0aGlzLG1lLEJlKS5jYWxsKHRoaXMsdC5pbGxlZ2FsRGVjb3JhdG9yc1swXSxcIkRlY29yYXRvcnMgYXJlIG5vdCB2YWxpZCBoZXJlLlwiKTtmb3IobGV0IGEgb2YgdGEodCwhMCk/P1tdKXpoKHQpfHwobXModCkmJiF0ZCh0LmJvZHkpP2dlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyxhLFwiQSBkZWNvcmF0b3IgY2FuIG9ubHkgZGVjb3JhdGUgYSBtZXRob2QgaW1wbGVtZW50YXRpb24sIG5vdCBhbiBvdmVybG9hZC5cIik6Z2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLGEsXCJEZWNvcmF0b3JzIGFyZSBub3QgdmFsaWQgaGVyZS5cIikpO2ZvcihsZXQgYSBvZiBlcih0LCEwKT8/W10pe2lmKGEua2luZCE9PVQuUmVhZG9ubHlLZXl3b3JkJiYoKHQua2luZD09PVQuUHJvcGVydHlTaWduYXR1cmV8fHQua2luZD09PVQuTWV0aG9kU2lnbmF0dXJlKSYmZ2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLGEsYCcke2l0KGEua2luZCl9JyBtb2RpZmllciBjYW5ub3QgYXBwZWFyIG9uIGEgdHlwZSBtZW1iZXJgKSx0LmtpbmQ9PT1ULkluZGV4U2lnbmF0dXJlJiYoYS5raW5kIT09VC5TdGF0aWNLZXl3b3JkfHwhdmkodC5wYXJlbnQpKSYmZ2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLGEsYCcke2l0KGEua2luZCl9JyBtb2RpZmllciBjYW5ub3QgYXBwZWFyIG9uIGFuIGluZGV4IHNpZ25hdHVyZWApKSxhLmtpbmQhPT1ULkluS2V5d29yZCYmYS5raW5kIT09VC5PdXRLZXl3b3JkJiZhLmtpbmQhPT1ULkNvbnN0S2V5d29yZCYmdC5raW5kPT09VC5UeXBlUGFyYW1ldGVyJiZnZSh0aGlzLG1lLEJlKS5jYWxsKHRoaXMsYSxgJyR7aXQoYS5raW5kKX0nIG1vZGlmaWVyIGNhbm5vdCBhcHBlYXIgb24gYSB0eXBlIHBhcmFtZXRlcmApLChhLmtpbmQ9PT1ULkluS2V5d29yZHx8YS5raW5kPT09VC5PdXRLZXl3b3JkKSYmKHQua2luZCE9PVQuVHlwZVBhcmFtZXRlcnx8ISh2cyh0LnBhcmVudCl8fHZpKHQucGFyZW50KXx8RGwodC5wYXJlbnQpKSkmJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyxhLGAnJHtpdChhLmtpbmQpfScgbW9kaWZpZXIgY2FuIG9ubHkgYXBwZWFyIG9uIGEgdHlwZSBwYXJhbWV0ZXIgb2YgYSBjbGFzcywgaW50ZXJmYWNlIG9yIHR5cGUgYWxpYXNgKSxhLmtpbmQ9PT1ULlJlYWRvbmx5S2V5d29yZCYmdC5raW5kIT09VC5Qcm9wZXJ0eURlY2xhcmF0aW9uJiZ0LmtpbmQhPT1ULlByb3BlcnR5U2lnbmF0dXJlJiZ0LmtpbmQhPT1ULkluZGV4U2lnbmF0dXJlJiZ0LmtpbmQhPT1ULlBhcmFtZXRlciYmZ2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLGEsXCIncmVhZG9ubHknIG1vZGlmaWVyIGNhbiBvbmx5IGFwcGVhciBvbiBhIHByb3BlcnR5IGRlY2xhcmF0aW9uIG9yIGluZGV4IHNpZ25hdHVyZS5cIiksYS5raW5kPT09VC5EZWNsYXJlS2V5d29yZCYmdmkodC5wYXJlbnQpJiYhVmEodCkmJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyxhLGAnJHtpdChhLmtpbmQpfScgbW9kaWZpZXIgY2Fubm90IGFwcGVhciBvbiBjbGFzcyBlbGVtZW50cyBvZiB0aGlzIGtpbmQuYCksYS5raW5kPT09VC5EZWNsYXJlS2V5d29yZCYmWGEodCkpe2xldCBvPU1sKHQuZGVjbGFyYXRpb25MaXN0KTsobz09PVwidXNpbmdcInx8bz09PVwiYXdhaXQgdXNpbmdcIikmJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyxhLGAnZGVjbGFyZScgbW9kaWZpZXIgY2Fubm90IGFwcGVhciBvbiBhICcke299JyBkZWNsYXJhdGlvbi5gKX1pZihhLmtpbmQ9PT1ULkFic3RyYWN0S2V5d29yZCYmdC5raW5kIT09VC5DbGFzc0RlY2xhcmF0aW9uJiZ0LmtpbmQhPT1ULkNvbnN0cnVjdG9yVHlwZSYmdC5raW5kIT09VC5NZXRob2REZWNsYXJhdGlvbiYmdC5raW5kIT09VC5Qcm9wZXJ0eURlY2xhcmF0aW9uJiZ0LmtpbmQhPT1ULkdldEFjY2Vzc29yJiZ0LmtpbmQhPT1ULlNldEFjY2Vzc29yJiZnZSh0aGlzLG1lLEJlKS5jYWxsKHRoaXMsYSxgJyR7aXQoYS5raW5kKX0nIG1vZGlmaWVyIGNhbiBvbmx5IGFwcGVhciBvbiBhIGNsYXNzLCBtZXRob2QsIG9yIHByb3BlcnR5IGRlY2xhcmF0aW9uLmApLChhLmtpbmQ9PT1ULlN0YXRpY0tleXdvcmR8fGEua2luZD09PVQuUHVibGljS2V5d29yZHx8YS5raW5kPT09VC5Qcm90ZWN0ZWRLZXl3b3JkfHxhLmtpbmQ9PT1ULlByaXZhdGVLZXl3b3JkKSYmKHQucGFyZW50LmtpbmQ9PT1ULk1vZHVsZUJsb2NrfHx0LnBhcmVudC5raW5kPT09VC5Tb3VyY2VGaWxlKSYmZ2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLGEsYCcke2l0KGEua2luZCl9JyBtb2RpZmllciBjYW5ub3QgYXBwZWFyIG9uIGEgbW9kdWxlIG9yIG5hbWVzcGFjZSBlbGVtZW50LmApLGEua2luZD09PVQuQWNjZXNzb3JLZXl3b3JkJiZ0LmtpbmQhPT1ULlByb3BlcnR5RGVjbGFyYXRpb24mJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyxhLFwiJ2FjY2Vzc29yJyBtb2RpZmllciBjYW4gb25seSBhcHBlYXIgb24gYSBwcm9wZXJ0eSBkZWNsYXJhdGlvbi5cIiksYS5raW5kPT09VC5Bc3luY0tleXdvcmQmJnQua2luZCE9PVQuTWV0aG9kRGVjbGFyYXRpb24mJnQua2luZCE9PVQuRnVuY3Rpb25EZWNsYXJhdGlvbiYmdC5raW5kIT09VC5GdW5jdGlvbkV4cHJlc3Npb24mJnQua2luZCE9PVQuQXJyb3dGdW5jdGlvbiYmZ2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLGEsXCInYXN5bmMnIG1vZGlmaWVyIGNhbm5vdCBiZSB1c2VkIGhlcmUuXCIpLHQua2luZD09PVQuUGFyYW1ldGVyJiYoYS5raW5kPT09VC5TdGF0aWNLZXl3b3JkfHxhLmtpbmQ9PT1ULkV4cG9ydEtleXdvcmR8fGEua2luZD09PVQuRGVjbGFyZUtleXdvcmR8fGEua2luZD09PVQuQXN5bmNLZXl3b3JkKSYmZ2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLGEsYCcke2l0KGEua2luZCl9JyBtb2RpZmllciBjYW5ub3QgYXBwZWFyIG9uIGEgcGFyYW1ldGVyLmApLGEua2luZD09PVQuUHVibGljS2V5d29yZHx8YS5raW5kPT09VC5Qcm90ZWN0ZWRLZXl3b3JkfHxhLmtpbmQ9PT1ULlByaXZhdGVLZXl3b3JkKWZvcihsZXQgbyBvZiBlcih0KT8/W10pbyE9PWEmJihvLmtpbmQ9PT1ULlB1YmxpY0tleXdvcmR8fG8ua2luZD09PVQuUHJvdGVjdGVkS2V5d29yZHx8by5raW5kPT09VC5Qcml2YXRlS2V5d29yZCkmJmdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyxvLFwiQWNjZXNzaWJpbGl0eSBtb2RpZmllciBhbHJlYWR5IHNlZW4uXCIpO2lmKHQua2luZD09PVQuUGFyYW1ldGVyJiYoYS5raW5kPT09VC5QdWJsaWNLZXl3b3JkfHxhLmtpbmQ9PT1ULlByaXZhdGVLZXl3b3JkfHxhLmtpbmQ9PT1ULlByb3RlY3RlZEtleXdvcmR8fGEua2luZD09PVQuUmVhZG9ubHlLZXl3b3JkfHxhLmtpbmQ9PT1ULk92ZXJyaWRlS2V5d29yZCkpe2xldCBvPXFoKHQpO28ua2luZD09PVQuQ29uc3RydWN0b3ImJnRkKG8uYm9keSl8fGdlKHRoaXMsbWUsQmUpLmNhbGwodGhpcyxhLFwiQSBwYXJhbWV0ZXIgcHJvcGVydHkgaXMgb25seSBhbGxvd2VkIGluIGEgY29uc3RydWN0b3IgaW1wbGVtZW50YXRpb24uXCIpfX19fSxCZT1mdW5jdGlvbih0LGEpe2xldCBvLG07dGhyb3cgdHlwZW9mIHQ9PVwibnVtYmVyXCI/bz1tPXQ6KG89dC5nZXRTdGFydCh0aGlzLmFzdCksbT10LmdldEVuZCgpKSxlZChhLHRoaXMuYXN0LG8sbSl9LFZ0PWZ1bmN0aW9uKHQsYSl7dGhpcy5vcHRpb25zLmFsbG93SW52YWxpZEFTVHx8Z2UodGhpcyxtZSxCZSkuY2FsbCh0aGlzLHQsYSl9LFFhPWZ1bmN0aW9uKHQsYSxvLG09ITEpe2xldCB2PW07cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGEse2NvbmZpZ3VyYWJsZTohMCxnZXQ6dGhpcy5vcHRpb25zLnN1cHByZXNzRGVwcmVjYXRlZFByb3BlcnR5V2FybmluZ3M/KCk9PnRbb106KCk9Pih2fHwoKHZvaWQgMCkoYFRoZSAnJHthfScgcHJvcGVydHkgaXMgZGVwcmVjYXRlZCBvbiAke3QudHlwZX0gbm9kZXMuIFVzZSAnJHtvfScgaW5zdGVhZC4gU2VlIGh0dHBzOi8vdHlwZXNjcmlwdC1lc2xpbnQuaW8vdHJvdWJsZXNob290aW5nL2ZhcXMvZ2VuZXJhbCN0aGUta2V5LXByb3BlcnR5LWlzLWRlcHJlY2F0ZWQtb24tdHlwZS1ub2Rlcy11c2Uta2V5LWluc3RlYWQtd2FybmluZ3MuYCxcIkRlcHJlY2F0aW9uV2FybmluZ1wiKSx2PSEwKSx0W29dKSxzZXQoQSl7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsYSx7ZW51bWVyYWJsZTohMCx2YWx1ZTpBLHdyaXRhYmxlOiEwfSl9fSksdH0saWQ9ZnVuY3Rpb24odCxhLG8sbSl7bGV0IHY9ITE7cmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGEse2NvbmZpZ3VyYWJsZTohMCxnZXQ6dGhpcy5vcHRpb25zLnN1cHByZXNzRGVwcmVjYXRlZFByb3BlcnR5V2FybmluZ3M/KCk9Pm06KCk9Pih2fHwoKHZvaWQgMCkoYFRoZSAnJHthfScgcHJvcGVydHkgaXMgZGVwcmVjYXRlZCBvbiAke3QudHlwZX0gbm9kZXMuIFVzZSAke299IGluc3RlYWQuIFNlZSBodHRwczovL3R5cGVzY3JpcHQtZXNsaW50LmlvL3Ryb3VibGVzaG9vdGluZy9mYXFzL2dlbmVyYWwjdGhlLWtleS1wcm9wZXJ0eS1pcy1kZXByZWNhdGVkLW9uLXR5cGUtbm9kZXMtdXNlLWtleS1pbnN0ZWFkLXdhcm5pbmdzLmAsXCJEZXByZWNhdGlvbldhcm5pbmdcIiksdj0hMCksbSksc2V0KEEpe09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGEse2VudW1lcmFibGU6ITAsdmFsdWU6QSx3cml0YWJsZTohMH0pfX0pLHR9O2Z1bmN0aW9uIHd2KGUsdCxhPWUuZ2V0U291cmNlRmlsZSgpKXtsZXQgbz1bXTtmb3IoOzspe2lmKGRmKGUua2luZCkpdChlKTtlbHNlIGlmKGUua2luZCE9PU5lLkpTRG9jQ29tbWVudCl7bGV0IG09ZS5nZXRDaGlsZHJlbihhKTtpZihtLmxlbmd0aD09PTEpe2U9bVswXTtjb250aW51ZX1mb3IobGV0IHY9bS5sZW5ndGgtMTt2Pj0wOy0tdilvLnB1c2gobVt2XSl9aWYoby5sZW5ndGg9PT0wKWJyZWFrO2U9by5wb3AoKX19ZnVuY3Rpb24ga3YoZSl7c3dpdGNoKGUua2luZCl7Y2FzZSBOZS5DbG9zZUJyYWNlVG9rZW46cmV0dXJuIGUucGFyZW50LmtpbmQhPT1OZS5Kc3hFeHByZXNzaW9ufHwhX2QoZS5wYXJlbnQucGFyZW50KTtjYXNlIE5lLkdyZWF0ZXJUaGFuVG9rZW46c3dpdGNoKGUucGFyZW50LmtpbmQpe2Nhc2UgTmUuSnN4T3BlbmluZ0VsZW1lbnQ6cmV0dXJuIGUuZW5kIT09ZS5wYXJlbnQuZW5kO2Nhc2UgTmUuSnN4T3BlbmluZ0ZyYWdtZW50OnJldHVybiExO2Nhc2UgTmUuSnN4U2VsZkNsb3NpbmdFbGVtZW50OnJldHVybiBlLmVuZCE9PWUucGFyZW50LmVuZHx8IV9kKGUucGFyZW50LnBhcmVudCk7Y2FzZSBOZS5Kc3hDbG9zaW5nRWxlbWVudDpjYXNlIE5lLkpzeENsb3NpbmdGcmFnbWVudDpyZXR1cm4hX2QoZS5wYXJlbnQucGFyZW50LnBhcmVudCl9fXJldHVybiEwfWZ1bmN0aW9uIF9kKGUpe3JldHVybiBlLmtpbmQ9PT1OZS5Kc3hFbGVtZW50fHxlLmtpbmQ9PT1OZS5Kc3hGcmFnbWVudH1mdW5jdGlvbiBHaChlLHQsYT1lLmdldFNvdXJjZUZpbGUoKSl7bGV0IG89YS50ZXh0LG09YS5sYW5ndWFnZVZhcmlhbnQhPT1UbC5KU1g7cmV0dXJuIHd2KGUsQT0+e2lmKEEucG9zIT09QS5lbmQmJihBLmtpbmQhPT1OZS5Kc3hUZXh0JiZYbShvLEEucG9zPT09MD8oX2Yobyk/P1wiXCIpLmxlbmd0aDpBLnBvcyx2KSxtfHxrdihBKSkpcmV0dXJuICRtKG8sQS5lbmQsdil9LGEpO2Z1bmN0aW9uIHYoQSxQLGwpe3Qobyx7ZW5kOlAsa2luZDpsLHBvczpBfSl9fXZhcltYVCwkVF09d20uc3BsaXQoXCIuXCIpLm1hcChlPT5OdW1iZXIucGFyc2VJbnQoZSwxMCkpO3ZhciBRVD1ubi5JbnRyaW5zaWM/P25uLkFueXxubi5Vbmtub3dufG5uLlN0cmluZ3xubi5OdW1iZXJ8bm4uQmlnSW50fG5uLkJvb2xlYW58bm4uQm9vbGVhbkxpdGVyYWx8bm4uRVNTeW1ib2x8bm4uVm9pZHxubi5VbmRlZmluZWR8bm4uTnVsbHxubi5OZXZlcnxubi5Ob25QcmltaXRpdmU7ZnVuY3Rpb24gWWgoZSx0KXtsZXQgYT1bXTtyZXR1cm4gR2goZSwobyxtKT0+e2xldCB2PW0ua2luZD09PU5lLlNpbmdsZUxpbmVDb21tZW50VHJpdmlhP1J0LkxpbmU6UnQuQmxvY2ssQT1bbS5wb3MsbS5lbmRdLFA9UXIoQSxlKSxsPUFbMF0rMixRPW0ua2luZD09PU5lLlNpbmdsZUxpbmVDb21tZW50VHJpdmlhP0FbMV0tbDpBWzFdLWwtMjthLnB1c2goe3R5cGU6dixsb2M6UCxyYW5nZTpBLHZhbHVlOnQuc2xpY2UobCxsK1EpfSl9LGUpLGF9dmFyIEhoPSgpPT57fTtmdW5jdGlvbiBYaChlLHQsYSl7bGV0e3BhcnNlRGlhZ25vc3RpY3M6b309ZTtpZihvLmxlbmd0aCl0aHJvdyBhZChvWzBdKTtsZXQgbT1uZXcgTGwoZSx7YWxsb3dJbnZhbGlkQVNUOnQuYWxsb3dJbnZhbGlkQVNULGVycm9yT25Vbmtub3duQVNUVHlwZTp0LmVycm9yT25Vbmtub3duQVNUVHlwZSxzaG91bGRQcmVzZXJ2ZU5vZGVNYXBzOmEsc3VwcHJlc3NEZXByZWNhdGVkUHJvcGVydHlXYXJuaW5nczp0LnN1cHByZXNzRGVwcmVjYXRlZFByb3BlcnR5V2FybmluZ3N9KSx2PW0uY29udmVydFByb2dyYW0oKTtyZXR1cm4oIXQucmFuZ2V8fCF0LmxvYykmJkhoKHYse2VudGVyOlA9Pnt0LnJhbmdlfHxkZWxldGUgUC5yYW5nZSx0LmxvY3x8ZGVsZXRlIFAubG9jfX0pLHQudG9rZW5zJiYodi50b2tlbnM9amgoZSkpLHQuY29tbWVudCYmKHYuY29tbWVudHM9WWgoZSx0LmNvZGVGdWxsVGV4dCkpLHthc3RNYXBzOm0uZ2V0QVNUTWFwcygpLGVzdHJlZTp2fX1mdW5jdGlvbiBqbChlKXtpZih0eXBlb2YgZSE9XCJvYmplY3RcInx8ZT09bnVsbClyZXR1cm4hMTtsZXQgdD1lO3JldHVybiB0LmtpbmQ9PT1OZS5Tb3VyY2VGaWxlJiZ0eXBlb2YgdC5nZXRGdWxsVGV4dD09XCJmdW5jdGlvblwifXZhciBJdj1mdW5jdGlvbihlKXtyZXR1cm4gZSYmZS5fX2VzTW9kdWxlP2U6e2RlZmF1bHQ6ZX19O3ZhciBPdj1Jdih7ZXh0bmFtZTplPT5cIi5cIitlLnNwbGl0KFwiLlwiKS5wb3AoKX0pO2Z1bmN0aW9uIFFoKGUsdCl7c3dpdGNoKE92LmRlZmF1bHQuZXh0bmFtZShlKS50b0xvd2VyQ2FzZSgpKXtjYXNlIE5uLkNqczpjYXNlIE5uLkpzOmNhc2UgTm4uTWpzOnJldHVybiBEci5KUztjYXNlIE5uLkN0czpjYXNlIE5uLk10czpjYXNlIE5uLlRzOnJldHVybiBEci5UUztjYXNlIE5uLkpzb246cmV0dXJuIERyLkpTT047Y2FzZSBObi5Kc3g6cmV0dXJuIERyLkpTWDtjYXNlIE5uLlRzeDpyZXR1cm4gRHIuVFNYO2RlZmF1bHQ6cmV0dXJuIHQ/RHIuVFNYOkRyLlRTfX12YXIgSnY9e2RlZmF1bHQ6SWF9LEx2PSgwLEp2LmRlZmF1bHQpKFwidHlwZXNjcmlwdC1lc2xpbnQ6dHlwZXNjcmlwdC1lc3RyZWU6Y3JlYXRlU291cmNlRmlsZVwiKTtmdW5jdGlvbiBLaChlKXtyZXR1cm4gTHYoXCJHZXR0aW5nIEFTVCB3aXRob3V0IHR5cGUgaW5mb3JtYXRpb24gaW4gJXMgbW9kZSBmb3I6ICVzXCIsZS5qc3g/XCJUU1hcIjpcIlRTXCIsZS5maWxlUGF0aCksamwoZS5jb2RlKT9lLmNvZGU6ZGgoZS5maWxlUGF0aCxlLmNvZGVGdWxsVGV4dCx7anNEb2NQYXJzaW5nTW9kZTplLmpzRG9jUGFyc2luZ01vZGUsbGFuZ3VhZ2VWZXJzaW9uOnlzLkxhdGVzdCxzZXRFeHRlcm5hbE1vZHVsZUluZGljYXRvcjplLnNldEV4dGVybmFsTW9kdWxlSW5kaWNhdG9yfSwhMCxRaChlLmZpbGVQYXRoLGUuanN4KSl9dmFyIFpoPSgpPT57fTt2YXIgZTA9ZT0+ZTt2YXIgdDA9Y2xhc3N7fTt2YXIgcjA9KCk9PiExO3ZhciBpMD0oKT0+e307dmFyIEh2PWZ1bmN0aW9uKGUpe3JldHVybiBlJiZlLl9fZXNNb2R1bGU/ZTp7ZGVmYXVsdDplfX07dmFyIHNkPXtkZWZhdWx0OklhfSxYdj1Idih7ZXh0bmFtZTplPT5cIi5cIitlLnNwbGl0KFwiLlwiKS5wb3AoKX0pLCR2PSgwLHNkLmRlZmF1bHQpKFwidHlwZXNjcmlwdC1lc2xpbnQ6dHlwZXNjcmlwdC1lc3RyZWU6cGFyc2VyOnBhcnNlU2V0dGluZ3M6Y3JlYXRlUGFyc2VTZXR0aW5nc1wiKSxRdixLdj1udWxsLGEwLF8wLHMwLG8wLHhzPXtQYXJzZUFsbDooYTA9R2EpPT1udWxsP3ZvaWQgMDphMC5QYXJzZUFsbCxQYXJzZUZvclR5cGVFcnJvcnM6KF8wPUdhKT09bnVsbD92b2lkIDA6XzAuUGFyc2VGb3JUeXBlRXJyb3JzLFBhcnNlRm9yVHlwZUluZm86KHMwPUdhKT09bnVsbD92b2lkIDA6czAuUGFyc2VGb3JUeXBlSW5mbyxQYXJzZU5vbmU6KG8wPUdhKT09bnVsbD92b2lkIDA6bzAuUGFyc2VOb25lfTtmdW5jdGlvbiBjMChlLHQ9e30pe3ZhciBoO2xldCBhPVp2KGUpLG89cjAodCksbT10eXBlb2YgdC50c2NvbmZpZ1Jvb3REaXI9PVwic3RyaW5nXCI/dC50c2NvbmZpZ1Jvb3REaXI6XCIvcHJldHRpZXItc2VjdXJpdHktZGlybmFtZS1wbGFjZWhvbGRlclwiLHY9dHlwZW9mIHQubG9nZ2VyRm49PVwiZnVuY3Rpb25cIixBPWUwKHR5cGVvZiB0LmZpbGVQYXRoPT1cInN0cmluZ1wiJiZ0LmZpbGVQYXRoIT09XCI8aW5wdXQ+XCI/dC5maWxlUGF0aDplNCh0LmpzeCksbSksUD1Ydi5kZWZhdWx0LmV4dG5hbWUoQSkudG9Mb3dlckNhc2UoKSxsPSgoKT0+e3N3aXRjaCh0LmpzRG9jUGFyc2luZ01vZGUpe2Nhc2VcImFsbFwiOnJldHVybiB4cy5QYXJzZUFsbDtjYXNlXCJub25lXCI6cmV0dXJuIHhzLlBhcnNlTm9uZTtjYXNlXCJ0eXBlLWluZm9cIjpyZXR1cm4geHMuUGFyc2VGb3JUeXBlSW5mbztkZWZhdWx0OnJldHVybiB4cy5QYXJzZUFsbH19KSgpLFE9e2xvYzp0LmxvYz09PSEwLHJhbmdlOnQucmFuZ2U9PT0hMCxhbGxvd0ludmFsaWRBU1Q6dC5hbGxvd0ludmFsaWRBU1Q9PT0hMCxjb2RlOmUsY29kZUZ1bGxUZXh0OmEsY29tbWVudDp0LmNvbW1lbnQ9PT0hMCxjb21tZW50czpbXSxkZWJ1Z0xldmVsOnQuZGVidWdMZXZlbD09PSEwP25ldyBTZXQoW1widHlwZXNjcmlwdC1lc2xpbnRcIl0pOkFycmF5LmlzQXJyYXkodC5kZWJ1Z0xldmVsKT9uZXcgU2V0KHQuZGVidWdMZXZlbCk6bmV3IFNldCxlcnJvck9uVHlwZVNjcmlwdFN5bnRhY3RpY0FuZFNlbWFudGljSXNzdWVzOiExLGVycm9yT25Vbmtub3duQVNUVHlwZTp0LmVycm9yT25Vbmtub3duQVNUVHlwZT09PSEwLGV4dHJhRmlsZUV4dGVuc2lvbnM6QXJyYXkuaXNBcnJheSh0LmV4dHJhRmlsZUV4dGVuc2lvbnMpJiZ0LmV4dHJhRmlsZUV4dGVuc2lvbnMuZXZlcnkoeT0+dHlwZW9mIHk9PVwic3RyaW5nXCIpP3QuZXh0cmFGaWxlRXh0ZW5zaW9uczpbXSxmaWxlUGF0aDpBLGpzRG9jUGFyc2luZ01vZGU6bCxqc3g6dC5qc3g9PT0hMCxsb2c6dHlwZW9mIHQubG9nZ2VyRm49PVwiZnVuY3Rpb25cIj90LmxvZ2dlckZuOnQubG9nZ2VyRm49PT0hMT8oKT0+e306Y29uc29sZS5sb2cscHJlc2VydmVOb2RlTWFwczp0LnByZXNlcnZlTm9kZU1hcHMhPT0hMSxwcm9ncmFtczpBcnJheS5pc0FycmF5KHQucHJvZ3JhbXMpP3QucHJvZ3JhbXM6bnVsbCxwcm9qZWN0czpuZXcgTWFwLHByb2plY3RTZXJ2aWNlOnQucHJvamVjdFNlcnZpY2V8fHQucHJvamVjdCYmdC5wcm9qZWN0U2VydmljZSE9PSExJiYodm9pZCAwKS5lbnYuVFlQRVNDUklQVF9FU0xJTlRfUFJPSkVDVF9TRVJWSUNFPT09XCJ0cnVlXCI/S3Y/PyhLdj1aaCh0LnByb2plY3RTZXJ2aWNlLGwsbSkpOnZvaWQgMCxzZXRFeHRlcm5hbE1vZHVsZUluZGljYXRvcjp0LnNvdXJjZVR5cGU9PT1cIm1vZHVsZVwifHx0LnNvdXJjZVR5cGU9PT12b2lkIDAmJlA9PT1Obi5NanN8fHQuc291cmNlVHlwZT09PXZvaWQgMCYmUD09PU5uLk10cz95PT57eS5leHRlcm5hbE1vZHVsZUluZGljYXRvcj0hMH06dm9pZCAwLHNpbmdsZVJ1bjpvLHN1cHByZXNzRGVwcmVjYXRlZFByb3BlcnR5V2FybmluZ3M6dC5zdXBwcmVzc0RlcHJlY2F0ZWRQcm9wZXJ0eVdhcm5pbmdzPz8hMCx0b2tlbnM6dC50b2tlbnM9PT0hMD9bXTpudWxsLHRzY29uZmlnTWF0Y2hDYWNoZTpRdj8/KFF2PW5ldyB0MChvP1wiSW5maW5pdHlcIjooKGg9dC5jYWNoZUxpZmV0aW1lKT09bnVsbD92b2lkIDA6aC5nbG9iKT8/dm9pZCAwKSksdHNjb25maWdSb290RGlyOm19O2lmKFEuZGVidWdMZXZlbC5zaXplPjApe2xldCB5PVtdO1EuZGVidWdMZXZlbC5oYXMoXCJ0eXBlc2NyaXB0LWVzbGludFwiKSYmeS5wdXNoKFwidHlwZXNjcmlwdC1lc2xpbnQ6KlwiKSwoUS5kZWJ1Z0xldmVsLmhhcyhcImVzbGludFwiKXx8c2QuZGVmYXVsdC5lbmFibGVkKFwiZXNsaW50OiosLWVzbGludDpjb2RlLXBhdGhcIikpJiZ5LnB1c2goXCJlc2xpbnQ6KiwtZXNsaW50OmNvZGUtcGF0aFwiKSxzZC5kZWZhdWx0LmVuYWJsZSh5LmpvaW4oXCIsXCIpKX1pZihBcnJheS5pc0FycmF5KHQucHJvZ3JhbXMpKXtpZighdC5wcm9ncmFtcy5sZW5ndGgpdGhyb3cgbmV3IEVycm9yKFwiWW91IGhhdmUgc2V0IHBhcnNlck9wdGlvbnMucHJvZ3JhbXMgdG8gYW4gZW1wdHkgYXJyYXkuIFRoaXMgd2lsbCBjYXVzZSBhbGwgZmlsZXMgdG8gbm90IGJlIGZvdW5kIGluIGV4aXN0aW5nIHByb2dyYW1zLiBFaXRoZXIgcHJvdmlkZSBvbmUgb3IgbW9yZSBleGlzdGluZyBUeXBlU2NyaXB0IFByb2dyYW0gaW5zdGFuY2VzIGluIHRoZSBhcnJheSwgb3IgcmVtb3ZlIHRoZSBwYXJzZXJPcHRpb25zLnByb2dyYW1zIHNldHRpbmcuXCIpOyR2KFwicGFyc2VyT3B0aW9ucy5wcm9ncmFtcyB3YXMgcHJvdmlkZWQsIHNvIHBhcnNlck9wdGlvbnMucHJvamVjdCB3aWxsIGJlIGlnbm9yZWQuXCIpfXJldHVybiFRLnByb2dyYW1zJiYhUS5wcm9qZWN0U2VydmljZSYmKFEucHJvamVjdHM9bmV3IE1hcCksdC5qc0RvY1BhcnNpbmdNb2RlPT1udWxsJiZRLnByb2plY3RzLnNpemU9PT0wJiZRLnByb2dyYW1zPT1udWxsJiZRLnByb2plY3RTZXJ2aWNlPT1udWxsJiYoUS5qc0RvY1BhcnNpbmdNb2RlPXhzLlBhcnNlTm9uZSksaTAoUSx2KSxRfWZ1bmN0aW9uIFp2KGUpe3JldHVybiBqbChlKT9lLmdldEZ1bGxUZXh0KGUpOnR5cGVvZiBlPT1cInN0cmluZ1wiP2U6U3RyaW5nKGUpfWZ1bmN0aW9uIGU0KGUpe3JldHVybiBlP1wiZXN0cmVlLnRzeFwiOlwiZXN0cmVlLnRzXCJ9dmFyIGk0PXtkZWZhdWx0OklhfSxmeD0oMCxpNC5kZWZhdWx0KShcInR5cGVzY3JpcHQtZXNsaW50OnR5cGVzY3JpcHQtZXN0cmVlOnBhcnNlclwiKTtmdW5jdGlvbiBsMChlLHQpe2xldHthc3Q6YX09YTQoZSx0LCExKTtyZXR1cm4gYX1mdW5jdGlvbiBhNChlLHQsYSl7bGV0IG89YzAoZSx0KTtpZih0IT1udWxsJiZ0LmVycm9yT25UeXBlU2NyaXB0U3ludGFjdGljQW5kU2VtYW50aWNJc3N1ZXMpdGhyb3cgbmV3IEVycm9yKCdcImVycm9yT25UeXBlU2NyaXB0U3ludGFjdGljQW5kU2VtYW50aWNJc3N1ZXNcIiBpcyBvbmx5IHN1cHBvcnRlZCBmb3IgcGFyc2VBbmRHZW5lcmF0ZVNlcnZpY2VzKCknKTtsZXQgbT1LaChvKSx7YXN0TWFwczp2LGVzdHJlZTpBfT1YaChtLG8sYSk7cmV0dXJue2FzdDpBLGVzVHJlZU5vZGVUb1RTTm9kZU1hcDp2LmVzVHJlZU5vZGVUb1RTTm9kZU1hcCx0c05vZGVUb0VTVHJlZU5vZGVNYXA6di50c05vZGVUb0VTVHJlZU5vZGVNYXB9fWZ1bmN0aW9uIF80KGUsdCl7bGV0IGE9bmV3IFN5bnRheEVycm9yKGUrXCIgKFwiK3QubG9jLnN0YXJ0LmxpbmUrXCI6XCIrdC5sb2Muc3RhcnQuY29sdW1uK1wiKVwiKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihhLHQpfXZhciB1MD1fNDtmdW5jdGlvbiBzNChlKXtsZXQgdD1bXTtmb3IobGV0IGEgb2YgZSl0cnl7cmV0dXJuIGEoKX1jYXRjaChvKXt0LnB1c2gobyl9dGhyb3cgT2JqZWN0LmFzc2lnbihuZXcgRXJyb3IoXCJBbGwgY29tYmluYXRpb25zIGZhaWxlZFwiKSx7ZXJyb3JzOnR9KX12YXIgcDA9czQ7dmFyIG80PShlLHQsYSk9PntpZighKGUmJnQ9PW51bGwpKXJldHVybiBBcnJheS5pc0FycmF5KHQpfHx0eXBlb2YgdD09XCJzdHJpbmdcIj90W2E8MD90Lmxlbmd0aCthOmFdOnQuYXQoYSl9LG9kPW80O2Z1bmN0aW9uIGM0KGUpe3JldHVybiBBcnJheS5pc0FycmF5KGUpJiZlLmxlbmd0aD4wfXZhciBmMD1jNDtmdW5jdGlvbiB0cihlKXt2YXIgbyxtLHY7bGV0IHQ9KChvPWUucmFuZ2UpPT1udWxsP3ZvaWQgMDpvWzBdKT8/ZS5zdGFydCxhPSh2PSgobT1lLmRlY2xhcmF0aW9uKT09bnVsbD92b2lkIDA6bS5kZWNvcmF0b3JzKT8/ZS5kZWNvcmF0b3JzKT09bnVsbD92b2lkIDA6dlswXTtyZXR1cm4gYT9NYXRoLm1pbih0cihhKSx0KTp0fWZ1bmN0aW9uIEtyKGUpe3ZhciB0O3JldHVybigodD1lLnJhbmdlKT09bnVsbD92b2lkIDA6dFsxXSk/P2UuZW5kfWZ1bmN0aW9uIGw0KGUpe2xldCB0PW5ldyBTZXQoZSk7cmV0dXJuIGE9PnQuaGFzKGE9PW51bGw/dm9pZCAwOmEudHlwZSl9dmFyIGQwPWw0O3ZhciB1ND1kMChbXCJCbG9ja1wiLFwiQ29tbWVudEJsb2NrXCIsXCJNdWx0aUxpbmVcIl0pLFNzPXU0O2Z1bmN0aW9uIHA0KGUpe2xldCB0PWAqJHtlLnZhbHVlfSpgLnNwbGl0KGBcbmApO3JldHVybiB0Lmxlbmd0aD4xJiZ0LmV2ZXJ5KGE9PmEudHJpbVN0YXJ0KClbMF09PT1cIipcIil9dmFyIGNkPXA0O2Z1bmN0aW9uIGY0KGUpe3JldHVybiBTcyhlKSYmZS52YWx1ZVswXT09PVwiKlwiJiYvQCg/OnR5cGV8c2F0aXNmaWVzKVxcYi91LnRlc3QoZS52YWx1ZSl9dmFyIG0wPWY0O3ZhciB3cz1udWxsO2Z1bmN0aW9uIGtzKGUpe2lmKHdzIT09bnVsbCYmdHlwZW9mIHdzLnByb3BlcnR5KXtsZXQgdD13cztyZXR1cm4gd3M9a3MucHJvdG90eXBlPW51bGwsdH1yZXR1cm4gd3M9a3MucHJvdG90eXBlPWU/P09iamVjdC5jcmVhdGUobnVsbCksbmV3IGtzfXZhciBkND0xMDtmb3IobGV0IGU9MDtlPD1kNDtlKyspa3MoKTtmdW5jdGlvbiBsZChlKXtyZXR1cm4ga3MoZSl9ZnVuY3Rpb24gbTQoZSx0PVwidHlwZVwiKXtsZChlKTtmdW5jdGlvbiBhKG8pe2xldCBtPW9bdF0sdj1lW21dO2lmKCFBcnJheS5pc0FycmF5KHYpKXRocm93IE9iamVjdC5hc3NpZ24obmV3IEVycm9yKGBNaXNzaW5nIHZpc2l0b3Iga2V5cyBmb3IgJyR7bX0nLmApLHtub2RlOm99KTtyZXR1cm4gdn1yZXR1cm4gYX12YXIgaDA9bTQ7dmFyIHkwPXtBcnJheUV4cHJlc3Npb246W1wiZWxlbWVudHNcIl0sQXNzaWdubWVudEV4cHJlc3Npb246W1wibGVmdFwiLFwicmlnaHRcIl0sQmluYXJ5RXhwcmVzc2lvbjpbXCJsZWZ0XCIsXCJyaWdodFwiXSxJbnRlcnByZXRlckRpcmVjdGl2ZTpbXSxEaXJlY3RpdmU6W1widmFsdWVcIl0sRGlyZWN0aXZlTGl0ZXJhbDpbXSxCbG9ja1N0YXRlbWVudDpbXCJkaXJlY3RpdmVzXCIsXCJib2R5XCJdLEJyZWFrU3RhdGVtZW50OltcImxhYmVsXCJdLENhbGxFeHByZXNzaW9uOltcImNhbGxlZVwiLFwiYXJndW1lbnRzXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxDYXRjaENsYXVzZTpbXCJwYXJhbVwiLFwiYm9keVwiXSxDb25kaXRpb25hbEV4cHJlc3Npb246W1widGVzdFwiLFwiY29uc2VxdWVudFwiLFwiYWx0ZXJuYXRlXCJdLENvbnRpbnVlU3RhdGVtZW50OltcImxhYmVsXCJdLERlYnVnZ2VyU3RhdGVtZW50OltdLERvV2hpbGVTdGF0ZW1lbnQ6W1wiYm9keVwiLFwidGVzdFwiXSxFbXB0eVN0YXRlbWVudDpbXSxFeHByZXNzaW9uU3RhdGVtZW50OltcImV4cHJlc3Npb25cIl0sRmlsZTpbXCJwcm9ncmFtXCJdLEZvckluU3RhdGVtZW50OltcImxlZnRcIixcInJpZ2h0XCIsXCJib2R5XCJdLEZvclN0YXRlbWVudDpbXCJpbml0XCIsXCJ0ZXN0XCIsXCJ1cGRhdGVcIixcImJvZHlcIl0sRnVuY3Rpb25EZWNsYXJhdGlvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiLFwiYm9keVwiLFwicHJlZGljYXRlXCJdLEZ1bmN0aW9uRXhwcmVzc2lvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiLFwiYm9keVwiXSxJZGVudGlmaWVyOltcInR5cGVBbm5vdGF0aW9uXCIsXCJkZWNvcmF0b3JzXCJdLElmU3RhdGVtZW50OltcInRlc3RcIixcImNvbnNlcXVlbnRcIixcImFsdGVybmF0ZVwiXSxMYWJlbGVkU3RhdGVtZW50OltcImxhYmVsXCIsXCJib2R5XCJdLFN0cmluZ0xpdGVyYWw6W10sTnVtZXJpY0xpdGVyYWw6W10sTnVsbExpdGVyYWw6W10sQm9vbGVhbkxpdGVyYWw6W10sUmVnRXhwTGl0ZXJhbDpbXSxMb2dpY2FsRXhwcmVzc2lvbjpbXCJsZWZ0XCIsXCJyaWdodFwiXSxNZW1iZXJFeHByZXNzaW9uOltcIm9iamVjdFwiLFwicHJvcGVydHlcIl0sTmV3RXhwcmVzc2lvbjpbXCJjYWxsZWVcIixcImFyZ3VtZW50c1wiLFwidHlwZVBhcmFtZXRlcnNcIixcInR5cGVBcmd1bWVudHNcIl0sUHJvZ3JhbTpbXCJkaXJlY3RpdmVzXCIsXCJib2R5XCJdLE9iamVjdEV4cHJlc3Npb246W1wicHJvcGVydGllc1wiXSxPYmplY3RNZXRob2Q6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCJdLE9iamVjdFByb3BlcnR5OltcImtleVwiLFwidmFsdWVcIixcImRlY29yYXRvcnNcIl0sUmVzdEVsZW1lbnQ6W1wiYXJndW1lbnRcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJkZWNvcmF0b3JzXCJdLFJldHVyblN0YXRlbWVudDpbXCJhcmd1bWVudFwiXSxTZXF1ZW5jZUV4cHJlc3Npb246W1wiZXhwcmVzc2lvbnNcIl0sUGFyZW50aGVzaXplZEV4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiXSxTd2l0Y2hDYXNlOltcInRlc3RcIixcImNvbnNlcXVlbnRcIl0sU3dpdGNoU3RhdGVtZW50OltcImRpc2NyaW1pbmFudFwiLFwiY2FzZXNcIl0sVGhpc0V4cHJlc3Npb246W10sVGhyb3dTdGF0ZW1lbnQ6W1wiYXJndW1lbnRcIl0sVHJ5U3RhdGVtZW50OltcImJsb2NrXCIsXCJoYW5kbGVyXCIsXCJmaW5hbGl6ZXJcIl0sVW5hcnlFeHByZXNzaW9uOltcImFyZ3VtZW50XCJdLFVwZGF0ZUV4cHJlc3Npb246W1wiYXJndW1lbnRcIl0sVmFyaWFibGVEZWNsYXJhdGlvbjpbXCJkZWNsYXJhdGlvbnNcIl0sVmFyaWFibGVEZWNsYXJhdG9yOltcImlkXCIsXCJpbml0XCJdLFdoaWxlU3RhdGVtZW50OltcInRlc3RcIixcImJvZHlcIl0sV2l0aFN0YXRlbWVudDpbXCJvYmplY3RcIixcImJvZHlcIl0sQXNzaWdubWVudFBhdHRlcm46W1wibGVmdFwiLFwicmlnaHRcIixcImRlY29yYXRvcnNcIixcInR5cGVBbm5vdGF0aW9uXCJdLEFycmF5UGF0dGVybjpbXCJlbGVtZW50c1wiLFwidHlwZUFubm90YXRpb25cIixcImRlY29yYXRvcnNcIl0sQXJyb3dGdW5jdGlvbkV4cHJlc3Npb246W1widHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiLFwiYm9keVwiLFwicHJlZGljYXRlXCJdLENsYXNzQm9keTpbXCJib2R5XCJdLENsYXNzRXhwcmVzc2lvbjpbXCJkZWNvcmF0b3JzXCIsXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInN1cGVyQ2xhc3NcIixcInN1cGVyVHlwZVBhcmFtZXRlcnNcIixcIm1peGluc1wiLFwiaW1wbGVtZW50c1wiLFwiYm9keVwiLFwic3VwZXJUeXBlQXJndW1lbnRzXCJdLENsYXNzRGVjbGFyYXRpb246W1wiZGVjb3JhdG9yc1wiLFwiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJzdXBlckNsYXNzXCIsXCJzdXBlclR5cGVQYXJhbWV0ZXJzXCIsXCJtaXhpbnNcIixcImltcGxlbWVudHNcIixcImJvZHlcIixcInN1cGVyVHlwZUFyZ3VtZW50c1wiXSxFeHBvcnRBbGxEZWNsYXJhdGlvbjpbXCJzb3VyY2VcIixcImF0dHJpYnV0ZXNcIixcImV4cG9ydGVkXCJdLEV4cG9ydERlZmF1bHREZWNsYXJhdGlvbjpbXCJkZWNsYXJhdGlvblwiXSxFeHBvcnROYW1lZERlY2xhcmF0aW9uOltcImRlY2xhcmF0aW9uXCIsXCJzcGVjaWZpZXJzXCIsXCJzb3VyY2VcIixcImF0dHJpYnV0ZXNcIl0sRXhwb3J0U3BlY2lmaWVyOltcImxvY2FsXCIsXCJleHBvcnRlZFwiXSxGb3JPZlN0YXRlbWVudDpbXCJsZWZ0XCIsXCJyaWdodFwiLFwiYm9keVwiXSxJbXBvcnREZWNsYXJhdGlvbjpbXCJzcGVjaWZpZXJzXCIsXCJzb3VyY2VcIixcImF0dHJpYnV0ZXNcIl0sSW1wb3J0RGVmYXVsdFNwZWNpZmllcjpbXCJsb2NhbFwiXSxJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXI6W1wibG9jYWxcIl0sSW1wb3J0U3BlY2lmaWVyOltcImltcG9ydGVkXCIsXCJsb2NhbFwiXSxJbXBvcnRFeHByZXNzaW9uOltcInNvdXJjZVwiLFwib3B0aW9uc1wiXSxNZXRhUHJvcGVydHk6W1wibWV0YVwiLFwicHJvcGVydHlcIl0sQ2xhc3NNZXRob2Q6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCJdLE9iamVjdFBhdHRlcm46W1wicHJvcGVydGllc1wiLFwidHlwZUFubm90YXRpb25cIixcImRlY29yYXRvcnNcIl0sU3ByZWFkRWxlbWVudDpbXCJhcmd1bWVudFwiXSxTdXBlcjpbXSxUYWdnZWRUZW1wbGF0ZUV4cHJlc3Npb246W1widGFnXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicXVhc2lcIixcInR5cGVBcmd1bWVudHNcIl0sVGVtcGxhdGVFbGVtZW50OltdLFRlbXBsYXRlTGl0ZXJhbDpbXCJxdWFzaXNcIixcImV4cHJlc3Npb25zXCJdLFlpZWxkRXhwcmVzc2lvbjpbXCJhcmd1bWVudFwiXSxBd2FpdEV4cHJlc3Npb246W1wiYXJndW1lbnRcIl0sQmlnSW50TGl0ZXJhbDpbXSxFeHBvcnROYW1lc3BhY2VTcGVjaWZpZXI6W1wiZXhwb3J0ZWRcIl0sT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uOltcIm9iamVjdFwiLFwicHJvcGVydHlcIl0sT3B0aW9uYWxDYWxsRXhwcmVzc2lvbjpbXCJjYWxsZWVcIixcImFyZ3VtZW50c1wiLFwidHlwZVBhcmFtZXRlcnNcIixcInR5cGVBcmd1bWVudHNcIl0sQ2xhc3NQcm9wZXJ0eTpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJ2YWx1ZVwiLFwidmFyaWFuY2VcIl0sQ2xhc3NBY2Nlc3NvclByb3BlcnR5OltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIixcInZhbHVlXCJdLENsYXNzUHJpdmF0ZVByb3BlcnR5OltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZUFubm90YXRpb25cIixcInZhbHVlXCIsXCJ2YXJpYW5jZVwiXSxDbGFzc1ByaXZhdGVNZXRob2Q6W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCIsXCJib2R5XCJdLFByaXZhdGVOYW1lOltcImlkXCJdLFN0YXRpY0Jsb2NrOltcImJvZHlcIl0sQW55VHlwZUFubm90YXRpb246W10sQXJyYXlUeXBlQW5ub3RhdGlvbjpbXCJlbGVtZW50VHlwZVwiXSxCb29sZWFuVHlwZUFubm90YXRpb246W10sQm9vbGVhbkxpdGVyYWxUeXBlQW5ub3RhdGlvbjpbXSxOdWxsTGl0ZXJhbFR5cGVBbm5vdGF0aW9uOltdLENsYXNzSW1wbGVtZW50czpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIl0sRGVjbGFyZUNsYXNzOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwiZXh0ZW5kc1wiLFwibWl4aW5zXCIsXCJpbXBsZW1lbnRzXCIsXCJib2R5XCJdLERlY2xhcmVGdW5jdGlvbjpbXCJpZFwiLFwicHJlZGljYXRlXCJdLERlY2xhcmVJbnRlcmZhY2U6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJleHRlbmRzXCIsXCJib2R5XCJdLERlY2xhcmVNb2R1bGU6W1wiaWRcIixcImJvZHlcIl0sRGVjbGFyZU1vZHVsZUV4cG9ydHM6W1widHlwZUFubm90YXRpb25cIl0sRGVjbGFyZVR5cGVBbGlhczpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInJpZ2h0XCJdLERlY2xhcmVPcGFxdWVUeXBlOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwic3VwZXJ0eXBlXCJdLERlY2xhcmVWYXJpYWJsZTpbXCJpZFwiXSxEZWNsYXJlRXhwb3J0RGVjbGFyYXRpb246W1wiZGVjbGFyYXRpb25cIixcInNwZWNpZmllcnNcIixcInNvdXJjZVwiLFwiYXR0cmlidXRlc1wiXSxEZWNsYXJlRXhwb3J0QWxsRGVjbGFyYXRpb246W1wic291cmNlXCIsXCJhdHRyaWJ1dGVzXCJdLERlY2xhcmVkUHJlZGljYXRlOltcInZhbHVlXCJdLEV4aXN0c1R5cGVBbm5vdGF0aW9uOltdLEZ1bmN0aW9uVHlwZUFubm90YXRpb246W1widHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmVzdFwiLFwicmV0dXJuVHlwZVwiLFwidGhpc1wiXSxGdW5jdGlvblR5cGVQYXJhbTpbXCJuYW1lXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxHZW5lcmljVHlwZUFubm90YXRpb246W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCJdLEluZmVycmVkUHJlZGljYXRlOltdLEludGVyZmFjZUV4dGVuZHM6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCJdLEludGVyZmFjZURlY2xhcmF0aW9uOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwiZXh0ZW5kc1wiLFwiYm9keVwiXSxJbnRlcmZhY2VUeXBlQW5ub3RhdGlvbjpbXCJleHRlbmRzXCIsXCJib2R5XCJdLEludGVyc2VjdGlvblR5cGVBbm5vdGF0aW9uOltcInR5cGVzXCJdLE1peGVkVHlwZUFubm90YXRpb246W10sRW1wdHlUeXBlQW5ub3RhdGlvbjpbXSxOdWxsYWJsZVR5cGVBbm5vdGF0aW9uOltcInR5cGVBbm5vdGF0aW9uXCJdLE51bWJlckxpdGVyYWxUeXBlQW5ub3RhdGlvbjpbXSxOdW1iZXJUeXBlQW5ub3RhdGlvbjpbXSxPYmplY3RUeXBlQW5ub3RhdGlvbjpbXCJwcm9wZXJ0aWVzXCIsXCJpbmRleGVyc1wiLFwiY2FsbFByb3BlcnRpZXNcIixcImludGVybmFsU2xvdHNcIl0sT2JqZWN0VHlwZUludGVybmFsU2xvdDpbXCJpZFwiLFwidmFsdWVcIl0sT2JqZWN0VHlwZUNhbGxQcm9wZXJ0eTpbXCJ2YWx1ZVwiXSxPYmplY3RUeXBlSW5kZXhlcjpbXCJ2YXJpYW5jZVwiLFwiaWRcIixcImtleVwiLFwidmFsdWVcIl0sT2JqZWN0VHlwZVByb3BlcnR5OltcImtleVwiLFwidmFsdWVcIixcInZhcmlhbmNlXCJdLE9iamVjdFR5cGVTcHJlYWRQcm9wZXJ0eTpbXCJhcmd1bWVudFwiXSxPcGFxdWVUeXBlOltcImlkXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwic3VwZXJ0eXBlXCIsXCJpbXBsdHlwZVwiXSxRdWFsaWZpZWRUeXBlSWRlbnRpZmllcjpbXCJxdWFsaWZpY2F0aW9uXCIsXCJpZFwiXSxTdHJpbmdMaXRlcmFsVHlwZUFubm90YXRpb246W10sU3RyaW5nVHlwZUFubm90YXRpb246W10sU3ltYm9sVHlwZUFubm90YXRpb246W10sVGhpc1R5cGVBbm5vdGF0aW9uOltdLFR1cGxlVHlwZUFubm90YXRpb246W1widHlwZXNcIixcImVsZW1lbnRUeXBlc1wiXSxUeXBlb2ZUeXBlQW5ub3RhdGlvbjpbXCJhcmd1bWVudFwiLFwidHlwZUFyZ3VtZW50c1wiXSxUeXBlQWxpYXM6W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJyaWdodFwiXSxUeXBlQW5ub3RhdGlvbjpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUeXBlQ2FzdEV4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwidHlwZUFubm90YXRpb25cIl0sVHlwZVBhcmFtZXRlcjpbXCJib3VuZFwiLFwiZGVmYXVsdFwiLFwidmFyaWFuY2VcIl0sVHlwZVBhcmFtZXRlckRlY2xhcmF0aW9uOltcInBhcmFtc1wiXSxUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbjpbXCJwYXJhbXNcIl0sVW5pb25UeXBlQW5ub3RhdGlvbjpbXCJ0eXBlc1wiXSxWYXJpYW5jZTpbXSxWb2lkVHlwZUFubm90YXRpb246W10sRW51bURlY2xhcmF0aW9uOltcImlkXCIsXCJib2R5XCJdLEVudW1Cb29sZWFuQm9keTpbXCJtZW1iZXJzXCJdLEVudW1OdW1iZXJCb2R5OltcIm1lbWJlcnNcIl0sRW51bVN0cmluZ0JvZHk6W1wibWVtYmVyc1wiXSxFbnVtU3ltYm9sQm9keTpbXCJtZW1iZXJzXCJdLEVudW1Cb29sZWFuTWVtYmVyOltcImlkXCIsXCJpbml0XCJdLEVudW1OdW1iZXJNZW1iZXI6W1wiaWRcIixcImluaXRcIl0sRW51bVN0cmluZ01lbWJlcjpbXCJpZFwiLFwiaW5pdFwiXSxFbnVtRGVmYXVsdGVkTWVtYmVyOltcImlkXCJdLEluZGV4ZWRBY2Nlc3NUeXBlOltcIm9iamVjdFR5cGVcIixcImluZGV4VHlwZVwiXSxPcHRpb25hbEluZGV4ZWRBY2Nlc3NUeXBlOltcIm9iamVjdFR5cGVcIixcImluZGV4VHlwZVwiXSxKU1hBdHRyaWJ1dGU6W1wibmFtZVwiLFwidmFsdWVcIl0sSlNYQ2xvc2luZ0VsZW1lbnQ6W1wibmFtZVwiXSxKU1hFbGVtZW50OltcIm9wZW5pbmdFbGVtZW50XCIsXCJjaGlsZHJlblwiLFwiY2xvc2luZ0VsZW1lbnRcIl0sSlNYRW1wdHlFeHByZXNzaW9uOltdLEpTWEV4cHJlc3Npb25Db250YWluZXI6W1wiZXhwcmVzc2lvblwiXSxKU1hTcHJlYWRDaGlsZDpbXCJleHByZXNzaW9uXCJdLEpTWElkZW50aWZpZXI6W10sSlNYTWVtYmVyRXhwcmVzc2lvbjpbXCJvYmplY3RcIixcInByb3BlcnR5XCJdLEpTWE5hbWVzcGFjZWROYW1lOltcIm5hbWVzcGFjZVwiLFwibmFtZVwiXSxKU1hPcGVuaW5nRWxlbWVudDpbXCJuYW1lXCIsXCJhdHRyaWJ1dGVzXCIsXCJ0eXBlQXJndW1lbnRzXCIsXCJ0eXBlUGFyYW1ldGVyc1wiXSxKU1hTcHJlYWRBdHRyaWJ1dGU6W1wiYXJndW1lbnRcIl0sSlNYVGV4dDpbXSxKU1hGcmFnbWVudDpbXCJvcGVuaW5nRnJhZ21lbnRcIixcImNoaWxkcmVuXCIsXCJjbG9zaW5nRnJhZ21lbnRcIl0sSlNYT3BlbmluZ0ZyYWdtZW50OltdLEpTWENsb3NpbmdGcmFnbWVudDpbXSxOb29wOltdLFBsYWNlaG9sZGVyOltdLFY4SW50cmluc2ljSWRlbnRpZmllcjpbXSxBcmd1bWVudFBsYWNlaG9sZGVyOltdLEJpbmRFeHByZXNzaW9uOltcIm9iamVjdFwiLFwiY2FsbGVlXCJdLEltcG9ydEF0dHJpYnV0ZTpbXCJrZXlcIixcInZhbHVlXCJdLERlY29yYXRvcjpbXCJleHByZXNzaW9uXCJdLERvRXhwcmVzc2lvbjpbXCJib2R5XCJdLEV4cG9ydERlZmF1bHRTcGVjaWZpZXI6W1wiZXhwb3J0ZWRcIl0sUmVjb3JkRXhwcmVzc2lvbjpbXCJwcm9wZXJ0aWVzXCJdLFR1cGxlRXhwcmVzc2lvbjpbXCJlbGVtZW50c1wiXSxNb2R1bGVFeHByZXNzaW9uOltcImJvZHlcIl0sVG9waWNSZWZlcmVuY2U6W10sUGlwZWxpbmVUb3BpY0V4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiXSxQaXBlbGluZUJhcmVGdW5jdGlvbjpbXCJjYWxsZWVcIl0sUGlwZWxpbmVQcmltYXJ5VG9waWNSZWZlcmVuY2U6W10sVFNQYXJhbWV0ZXJQcm9wZXJ0eTpbXCJwYXJhbWV0ZXJcIixcImRlY29yYXRvcnNcIl0sVFNEZWNsYXJlRnVuY3Rpb246W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcImJvZHlcIl0sVFNEZWNsYXJlTWV0aG9kOltcImRlY29yYXRvcnNcIixcImtleVwiLFwidHlwZVBhcmFtZXRlcnNcIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiXSxUU1F1YWxpZmllZE5hbWU6W1wibGVmdFwiLFwicmlnaHRcIl0sVFNDYWxsU2lnbmF0dXJlRGVjbGFyYXRpb246W1widHlwZVBhcmFtZXRlcnNcIixcInBhcmFtZXRlcnNcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIl0sVFNDb25zdHJ1Y3RTaWduYXR1cmVEZWNsYXJhdGlvbjpbXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1ldGVyc1wiLFwidHlwZUFubm90YXRpb25cIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiXSxUU1Byb3BlcnR5U2lnbmF0dXJlOltcImtleVwiLFwidHlwZUFubm90YXRpb25cIl0sVFNNZXRob2RTaWduYXR1cmU6W1wia2V5XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicGFyYW1ldGVyc1wiLFwidHlwZUFubm90YXRpb25cIixcInBhcmFtc1wiLFwicmV0dXJuVHlwZVwiXSxUU0luZGV4U2lnbmF0dXJlOltcInBhcmFtZXRlcnNcIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTQW55S2V5d29yZDpbXSxUU0Jvb2xlYW5LZXl3b3JkOltdLFRTQmlnSW50S2V5d29yZDpbXSxUU0ludHJpbnNpY0tleXdvcmQ6W10sVFNOZXZlcktleXdvcmQ6W10sVFNOdWxsS2V5d29yZDpbXSxUU051bWJlcktleXdvcmQ6W10sVFNPYmplY3RLZXl3b3JkOltdLFRTU3RyaW5nS2V5d29yZDpbXSxUU1N5bWJvbEtleXdvcmQ6W10sVFNVbmRlZmluZWRLZXl3b3JkOltdLFRTVW5rbm93bktleXdvcmQ6W10sVFNWb2lkS2V5d29yZDpbXSxUU1RoaXNUeXBlOltdLFRTRnVuY3Rpb25UeXBlOltcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbWV0ZXJzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCJdLFRTQ29uc3RydWN0b3JUeXBlOltcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbWV0ZXJzXCIsXCJ0eXBlQW5ub3RhdGlvblwiLFwicGFyYW1zXCIsXCJyZXR1cm5UeXBlXCJdLFRTVHlwZVJlZmVyZW5jZTpbXCJ0eXBlTmFtZVwiLFwidHlwZVBhcmFtZXRlcnNcIixcInR5cGVBcmd1bWVudHNcIl0sVFNUeXBlUHJlZGljYXRlOltcInBhcmFtZXRlck5hbWVcIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTVHlwZVF1ZXJ5OltcImV4cHJOYW1lXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxUU1R5cGVMaXRlcmFsOltcIm1lbWJlcnNcIl0sVFNBcnJheVR5cGU6W1wiZWxlbWVudFR5cGVcIl0sVFNUdXBsZVR5cGU6W1wiZWxlbWVudFR5cGVzXCJdLFRTT3B0aW9uYWxUeXBlOltcInR5cGVBbm5vdGF0aW9uXCJdLFRTUmVzdFR5cGU6W1widHlwZUFubm90YXRpb25cIl0sVFNOYW1lZFR1cGxlTWVtYmVyOltcImxhYmVsXCIsXCJlbGVtZW50VHlwZVwiXSxUU1VuaW9uVHlwZTpbXCJ0eXBlc1wiXSxUU0ludGVyc2VjdGlvblR5cGU6W1widHlwZXNcIl0sVFNDb25kaXRpb25hbFR5cGU6W1wiY2hlY2tUeXBlXCIsXCJleHRlbmRzVHlwZVwiLFwidHJ1ZVR5cGVcIixcImZhbHNlVHlwZVwiXSxUU0luZmVyVHlwZTpbXCJ0eXBlUGFyYW1ldGVyXCJdLFRTUGFyZW50aGVzaXplZFR5cGU6W1widHlwZUFubm90YXRpb25cIl0sVFNUeXBlT3BlcmF0b3I6W1widHlwZUFubm90YXRpb25cIl0sVFNJbmRleGVkQWNjZXNzVHlwZTpbXCJvYmplY3RUeXBlXCIsXCJpbmRleFR5cGVcIl0sVFNNYXBwZWRUeXBlOltcInR5cGVQYXJhbWV0ZXJcIixcIm5hbWVUeXBlXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxUU0xpdGVyYWxUeXBlOltcImxpdGVyYWxcIl0sVFNFeHByZXNzaW9uV2l0aFR5cGVBcmd1bWVudHM6W1wiZXhwcmVzc2lvblwiLFwidHlwZVBhcmFtZXRlcnNcIl0sVFNJbnRlcmZhY2VEZWNsYXJhdGlvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcImV4dGVuZHNcIixcImJvZHlcIl0sVFNJbnRlcmZhY2VCb2R5OltcImJvZHlcIl0sVFNUeXBlQWxpYXNEZWNsYXJhdGlvbjpbXCJpZFwiLFwidHlwZVBhcmFtZXRlcnNcIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTSW5zdGFudGlhdGlvbkV4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwidHlwZVBhcmFtZXRlcnNcIixcInR5cGVBcmd1bWVudHNcIl0sVFNBc0V4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwidHlwZUFubm90YXRpb25cIl0sVFNTYXRpc2ZpZXNFeHByZXNzaW9uOltcImV4cHJlc3Npb25cIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTVHlwZUFzc2VydGlvbjpbXCJ0eXBlQW5ub3RhdGlvblwiLFwiZXhwcmVzc2lvblwiXSxUU0VudW1EZWNsYXJhdGlvbjpbXCJpZFwiLFwibWVtYmVyc1wiXSxUU0VudW1NZW1iZXI6W1wiaWRcIixcImluaXRpYWxpemVyXCJdLFRTTW9kdWxlRGVjbGFyYXRpb246W1wiaWRcIixcImJvZHlcIl0sVFNNb2R1bGVCbG9jazpbXCJib2R5XCJdLFRTSW1wb3J0VHlwZTpbXCJhcmd1bWVudFwiLFwicXVhbGlmaWVyXCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwidHlwZUFyZ3VtZW50c1wiXSxUU0ltcG9ydEVxdWFsc0RlY2xhcmF0aW9uOltcImlkXCIsXCJtb2R1bGVSZWZlcmVuY2VcIl0sVFNFeHRlcm5hbE1vZHVsZVJlZmVyZW5jZTpbXCJleHByZXNzaW9uXCJdLFRTTm9uTnVsbEV4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiXSxUU0V4cG9ydEFzc2lnbm1lbnQ6W1wiZXhwcmVzc2lvblwiXSxUU05hbWVzcGFjZUV4cG9ydERlY2xhcmF0aW9uOltcImlkXCJdLFRTVHlwZUFubm90YXRpb246W1widHlwZUFubm90YXRpb25cIl0sVFNUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbjpbXCJwYXJhbXNcIl0sVFNUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb246W1wicGFyYW1zXCJdLFRTVHlwZVBhcmFtZXRlcjpbXCJjb25zdHJhaW50XCIsXCJkZWZhdWx0XCIsXCJuYW1lXCJdLENoYWluRXhwcmVzc2lvbjpbXCJleHByZXNzaW9uXCJdLEV4cGVyaW1lbnRhbFJlc3RQcm9wZXJ0eTpbXCJhcmd1bWVudFwiXSxFeHBlcmltZW50YWxTcHJlYWRQcm9wZXJ0eTpbXCJhcmd1bWVudFwiXSxMaXRlcmFsOltdLE1ldGhvZERlZmluaXRpb246W1wiZGVjb3JhdG9yc1wiLFwia2V5XCIsXCJ2YWx1ZVwiXSxQcml2YXRlSWRlbnRpZmllcjpbXSxQcm9wZXJ0eTpbXCJrZXlcIixcInZhbHVlXCJdLFByb3BlcnR5RGVmaW5pdGlvbjpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJ2YWx1ZVwiLFwidmFyaWFuY2VcIl0sQWNjZXNzb3JQcm9wZXJ0eTpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJ2YWx1ZVwiXSxUU0Fic3RyYWN0QWNjZXNzb3JQcm9wZXJ0eTpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTQWJzdHJhY3RLZXl3b3JkOltdLFRTQWJzdHJhY3RNZXRob2REZWZpbml0aW9uOltcImtleVwiLFwidmFsdWVcIl0sVFNBYnN0cmFjdFByb3BlcnR5RGVmaW5pdGlvbjpbXCJkZWNvcmF0b3JzXCIsXCJrZXlcIixcInR5cGVBbm5vdGF0aW9uXCJdLFRTQXN5bmNLZXl3b3JkOltdLFRTQ2xhc3NJbXBsZW1lbnRzOltcImV4cHJlc3Npb25cIixcInR5cGVBcmd1bWVudHNcIixcInR5cGVQYXJhbWV0ZXJzXCJdLFRTRGVjbGFyZUtleXdvcmQ6W10sVFNFbXB0eUJvZHlGdW5jdGlvbkV4cHJlc3Npb246W1wiaWRcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJwYXJhbXNcIixcInJldHVyblR5cGVcIl0sVFNFbnVtQm9keTpbXCJtZW1iZXJzXCJdLFRTRXhwb3J0S2V5d29yZDpbXSxUU0ludGVyZmFjZUhlcml0YWdlOltcImV4cHJlc3Npb25cIixcInR5cGVBcmd1bWVudHNcIixcInR5cGVQYXJhbWV0ZXJzXCJdLFRTUHJpdmF0ZUtleXdvcmQ6W10sVFNQcm90ZWN0ZWRLZXl3b3JkOltdLFRTUHVibGljS2V5d29yZDpbXSxUU1JlYWRvbmx5S2V5d29yZDpbXSxUU1N0YXRpY0tleXdvcmQ6W10sVFNUZW1wbGF0ZUxpdGVyYWxUeXBlOltcInF1YXNpc1wiLFwidHlwZXNcIl0sQXNDb25zdEV4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiXSxBc0V4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwidHlwZUFubm90YXRpb25cIl0sQmlnSW50TGl0ZXJhbFR5cGVBbm5vdGF0aW9uOltdLEJpZ0ludFR5cGVBbm5vdGF0aW9uOltdLENvbXBvbmVudERlY2xhcmF0aW9uOltcImlkXCIsXCJwYXJhbXNcIixcImJvZHlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJyZW5kZXJzVHlwZVwiXSxDb21wb25lbnRQYXJhbWV0ZXI6W1wibmFtZVwiLFwibG9jYWxcIl0sQ29tcG9uZW50VHlwZUFubm90YXRpb246W1wicGFyYW1zXCIsXCJyZXN0XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicmVuZGVyc1R5cGVcIl0sQ29tcG9uZW50VHlwZVBhcmFtZXRlcjpbXCJuYW1lXCIsXCJ0eXBlQW5ub3RhdGlvblwiXSxDb25kaXRpb25hbFR5cGVBbm5vdGF0aW9uOltcImNoZWNrVHlwZVwiLFwiZXh0ZW5kc1R5cGVcIixcInRydWVUeXBlXCIsXCJmYWxzZVR5cGVcIl0sRGVjbGFyZUNvbXBvbmVudDpbXCJpZFwiLFwicGFyYW1zXCIsXCJyZXN0XCIsXCJ0eXBlUGFyYW1ldGVyc1wiLFwicmVuZGVyc1R5cGVcIl0sRGVjbGFyZUVudW06W1wiaWRcIixcImJvZHlcIl0sRGVjbGFyZUhvb2s6W1wiaWRcIl0sRGVjbGFyZU5hbWVzcGFjZTpbXCJpZFwiLFwiYm9keVwiXSxFbnVtQmlnSW50Qm9keTpbXCJtZW1iZXJzXCJdLEVudW1CaWdJbnRNZW1iZXI6W1wiaWRcIixcImluaXRcIl0sSG9va0RlY2xhcmF0aW9uOltcImlkXCIsXCJwYXJhbXNcIixcImJvZHlcIixcInR5cGVQYXJhbWV0ZXJzXCIsXCJyZXR1cm5UeXBlXCJdLEhvb2tUeXBlQW5ub3RhdGlvbjpbXCJwYXJhbXNcIixcInJldHVyblR5cGVcIixcInJlc3RcIixcInR5cGVQYXJhbWV0ZXJzXCJdLEluZmVyVHlwZUFubm90YXRpb246W1widHlwZVBhcmFtZXRlclwiXSxLZXlvZlR5cGVBbm5vdGF0aW9uOltcImFyZ3VtZW50XCJdLE9iamVjdFR5cGVNYXBwZWRUeXBlUHJvcGVydHk6W1wia2V5VHBhcmFtXCIsXCJwcm9wVHlwZVwiLFwic291cmNlVHlwZVwiLFwidmFyaWFuY2VcIl0sUXVhbGlmaWVkVHlwZW9mSWRlbnRpZmllcjpbXCJxdWFsaWZpY2F0aW9uXCIsXCJpZFwiXSxUdXBsZVR5cGVMYWJlbGVkRWxlbWVudDpbXCJsYWJlbFwiLFwiZWxlbWVudFR5cGVcIixcInZhcmlhbmNlXCJdLFR1cGxlVHlwZVNwcmVhZEVsZW1lbnQ6W1wibGFiZWxcIixcInR5cGVBbm5vdGF0aW9uXCJdLFR5cGVPcGVyYXRvcjpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUeXBlUHJlZGljYXRlOltcInBhcmFtZXRlck5hbWVcIixcInR5cGVBbm5vdGF0aW9uXCIsXCJhc3NlcnRzXCJdLE5HUm9vdDpbXCJub2RlXCJdLE5HUGlwZUV4cHJlc3Npb246W1wibGVmdFwiLFwicmlnaHRcIixcImFyZ3VtZW50c1wiXSxOR0NoYWluZWRFeHByZXNzaW9uOltcImV4cHJlc3Npb25zXCJdLE5HRW1wdHlFeHByZXNzaW9uOltdLE5HTWljcm9zeW50YXg6W1wiYm9keVwiXSxOR01pY3Jvc3ludGF4S2V5OltdLE5HTWljcm9zeW50YXhFeHByZXNzaW9uOltcImV4cHJlc3Npb25cIixcImFsaWFzXCJdLE5HTWljcm9zeW50YXhLZXllZEV4cHJlc3Npb246W1wia2V5XCIsXCJleHByZXNzaW9uXCJdLE5HTWljcm9zeW50YXhMZXQ6W1wia2V5XCIsXCJ2YWx1ZVwiXSxOR01pY3Jvc3ludGF4QXM6W1wia2V5XCIsXCJhbGlhc1wiXSxKc0V4cHJlc3Npb25Sb290OltcIm5vZGVcIl0sSnNvblJvb3Q6W1wibm9kZVwiXSxUU0pTRG9jQWxsVHlwZTpbXSxUU0pTRG9jVW5rbm93blR5cGU6W10sVFNKU0RvY051bGxhYmxlVHlwZTpbXCJ0eXBlQW5ub3RhdGlvblwiXSxUU0pTRG9jTm9uTnVsbGFibGVUeXBlOltcInR5cGVBbm5vdGF0aW9uXCJdLE5ldmVyVHlwZUFubm90YXRpb246W10sVW5kZWZpbmVkVHlwZUFubm90YXRpb246W10sVW5rbm93blR5cGVBbm5vdGF0aW9uOltdLFNhdGlzZmllc0V4cHJlc3Npb246W1wiZXhwcmVzc2lvblwiLFwidHlwZUFubm90YXRpb25cIl19O3ZhciBoND1oMCh5MCksZzA9aDQ7ZnVuY3Rpb24gdWQoZSx0KXtpZighKGUhPT1udWxsJiZ0eXBlb2YgZT09XCJvYmplY3RcIikpcmV0dXJuIGU7aWYoQXJyYXkuaXNBcnJheShlKSl7Zm9yKGxldCBvPTA7bzxlLmxlbmd0aDtvKyspZVtvXT11ZChlW29dLHQpO3JldHVybiBlfWxldCBhPWcwKGUpO2ZvcihsZXQgbz0wO288YS5sZW5ndGg7bysrKWVbYVtvXV09dWQoZVthW29dXSx0KTtyZXR1cm4gdChlKXx8ZX12YXIgUmw9dWQ7ZnVuY3Rpb24geTQoZSx0KXtsZXR7cGFyc2VyOmEsdGV4dDpvfT10O2lmKGUudHlwZT09PVwiRmlsZVwiJiZlLnByb2dyYW0uaW50ZXJwcmV0ZXIpe2xldHtwcm9ncmFtOntpbnRlcnByZXRlcjptfSxjb21tZW50czp2fT1lO2RlbGV0ZSBlLnByb2dyYW0uaW50ZXJwcmV0ZXIsdi51bnNoaWZ0KG0pfWlmKGE9PT1cImJhYmVsXCIpe2xldCBtPW5ldyBTZXQ7ZT1SbChlLHY9Pnt2YXIgQTsoQT12LmxlYWRpbmdDb21tZW50cykhPW51bGwmJkEuc29tZShtMCkmJm0uYWRkKHRyKHYpKX0pLGU9UmwoZSx2PT57aWYodi50eXBlPT09XCJQYXJlbnRoZXNpemVkRXhwcmVzc2lvblwiKXtsZXR7ZXhwcmVzc2lvbjpBfT12O2lmKEEudHlwZT09PVwiVHlwZUNhc3RFeHByZXNzaW9uXCIpcmV0dXJuIEEucmFuZ2U9Wy4uLnYucmFuZ2VdLEE7bGV0IFA9dHIodik7aWYoIW0uaGFzKFApKXJldHVybiBBLmV4dHJhPXsuLi5BLmV4dHJhLHBhcmVudGhlc2l6ZWQ6ITB9LEF9fSl9aWYoZT1SbChlLG09Pntzd2l0Y2gobS50eXBlKXtjYXNlXCJMb2dpY2FsRXhwcmVzc2lvblwiOmlmKGIwKG0pKXJldHVybiBwZChtKTticmVhaztjYXNlXCJWYXJpYWJsZURlY2xhcmF0aW9uXCI6e2xldCB2PW9kKCExLG0uZGVjbGFyYXRpb25zLC0xKTt2IT1udWxsJiZ2LmluaXQmJm9bS3IodildIT09XCI7XCImJihtLnJhbmdlPVt0cihtKSxLcih2KV0pO2JyZWFrfWNhc2VcIlRTUGFyZW50aGVzaXplZFR5cGVcIjpyZXR1cm4gbS50eXBlQW5ub3RhdGlvbjtjYXNlXCJUU1R5cGVQYXJhbWV0ZXJcIjppZih0eXBlb2YgbS5uYW1lPT1cInN0cmluZ1wiKXtsZXQgdj10cihtKTttLm5hbWU9e3R5cGU6XCJJZGVudGlmaWVyXCIsbmFtZTptLm5hbWUscmFuZ2U6W3YsdittLm5hbWUubGVuZ3RoXX19YnJlYWs7Y2FzZVwiVG9waWNSZWZlcmVuY2VcIjplLmV4dHJhPXsuLi5lLmV4dHJhLF9faXNVc2luZ0hhY2tQaXBlbGluZTohMH07YnJlYWs7Y2FzZVwiVFNVbmlvblR5cGVcIjpjYXNlXCJUU0ludGVyc2VjdGlvblR5cGVcIjppZihtLnR5cGVzLmxlbmd0aD09PTEpcmV0dXJuIG0udHlwZXNbMF07YnJlYWt9fSksZjAoZS5jb21tZW50cykpe2xldCBtPW9kKCExLGUuY29tbWVudHMsLTEpO2ZvcihsZXQgdj1lLmNvbW1lbnRzLmxlbmd0aC0yO3Y+PTA7di0tKXtsZXQgQT1lLmNvbW1lbnRzW3ZdO0tyKEEpPT09dHIobSkmJlNzKEEpJiZTcyhtKSYmY2QoQSkmJmNkKG0pJiYoZS5jb21tZW50cy5zcGxpY2UodisxLDEpLEEudmFsdWUrPVwiKi8vKlwiK20udmFsdWUsQS5yYW5nZT1bdHIoQSksS3IobSldKSxtPUF9fXJldHVybiBlLnR5cGU9PT1cIlByb2dyYW1cIiYmKGUucmFuZ2U9WzAsby5sZW5ndGhdKSxlfWZ1bmN0aW9uIGIwKGUpe3JldHVybiBlLnR5cGU9PT1cIkxvZ2ljYWxFeHByZXNzaW9uXCImJmUucmlnaHQudHlwZT09PVwiTG9naWNhbEV4cHJlc3Npb25cIiYmZS5vcGVyYXRvcj09PWUucmlnaHQub3BlcmF0b3J9ZnVuY3Rpb24gcGQoZSl7cmV0dXJuIGIwKGUpP3BkKHt0eXBlOlwiTG9naWNhbEV4cHJlc3Npb25cIixvcGVyYXRvcjplLm9wZXJhdG9yLGxlZnQ6cGQoe3R5cGU6XCJMb2dpY2FsRXhwcmVzc2lvblwiLG9wZXJhdG9yOmUub3BlcmF0b3IsbGVmdDplLmxlZnQscmlnaHQ6ZS5yaWdodC5sZWZ0LHJhbmdlOlt0cihlLmxlZnQpLEtyKGUucmlnaHQubGVmdCldfSkscmlnaHQ6ZS5yaWdodC5yaWdodCxyYW5nZTpbdHIoZSksS3IoZSldfSk6ZX12YXIgdjA9eTQ7dmFyIGc0PS9cXCpcXC8kLyxiND0vXlxcL1xcKlxcKj8vLHY0PS9eXFxzKihcXC9cXCpcXCo/KC58XFxyP1xcbikqP1xcKlxcLykvLFQ0PS8oXnxcXHMrKVxcL1xcLyhbXlxcblxccl0qKS9nLFQwPS9eKFxccj9cXG4pKy8seDQ9Lyg/Ol58XFxyP1xcbikgKihAW15cXG5cXHJdKj8pICpcXHI/XFxuICooPyFbXlxcblxcckBdKlxcL1xcL1teXSopKFteXFxzQF1bXlxcblxcckBdKz8pICpcXHI/XFxuL2cseDA9Lyg/Ol58XFxyP1xcbikgKkAoXFxTKykgKihbXlxcblxccl0qKS9nLFM0PS8oXFxyP1xcbnxeKSAqXFwqID8vZyx3ND1bXTtmdW5jdGlvbiBTMChlKXtsZXQgdD1lLm1hdGNoKHY0KTtyZXR1cm4gdD90WzBdLnRyaW1TdGFydCgpOlwiXCJ9ZnVuY3Rpb24gdzAoZSl7bGV0IHQ9YFxuYDtlPVNyKCExLGUucmVwbGFjZShiNCxcIlwiKS5yZXBsYWNlKGc0LFwiXCIpLFM0LFwiJDFcIik7bGV0IGE9XCJcIjtmb3IoO2EhPT1lOylhPWUsZT1TcighMSxlLHg0LGAke3R9JDEgJDIke3R9YCk7ZT1lLnJlcGxhY2UoVDAsXCJcIikudHJpbUVuZCgpO2xldCBvPU9iamVjdC5jcmVhdGUobnVsbCksbT1TcighMSxlLHgwLFwiXCIpLnJlcGxhY2UoVDAsXCJcIikudHJpbUVuZCgpLHY7Zm9yKDt2PXgwLmV4ZWMoZSk7KXtsZXQgQT1TcighMSx2WzJdLFQ0LFwiXCIpO2lmKHR5cGVvZiBvW3ZbMV1dPT1cInN0cmluZ1wifHxBcnJheS5pc0FycmF5KG9bdlsxXV0pKXtsZXQgUD1vW3ZbMV1dO29bdlsxXV09Wy4uLnc0LC4uLkFycmF5LmlzQXJyYXkoUCk/UDpbUF0sQV19ZWxzZSBvW3ZbMV1dPUF9cmV0dXJue2NvbW1lbnRzOm0scHJhZ21hczpvfX1mdW5jdGlvbiBrNChlKXtpZighZS5zdGFydHNXaXRoKFwiIyFcIikpcmV0dXJuXCJcIjtsZXQgdD1lLmluZGV4T2YoYFxuYCk7cmV0dXJuIHQ9PT0tMT9lOmUuc2xpY2UoMCx0KX12YXIgazA9azQ7ZnVuY3Rpb24gRTQoZSl7bGV0IHQ9azAoZSk7dCYmKGU9ZS5zbGljZSh0Lmxlbmd0aCsxKSk7bGV0IGE9UzAoZSkse3ByYWdtYXM6byxjb21tZW50czptfT13MChhKTtyZXR1cm57c2hlYmFuZzp0LHRleHQ6ZSxwcmFnbWFzOm8sY29tbWVudHM6bX19ZnVuY3Rpb24gRTAoZSl7bGV0e3ByYWdtYXM6dH09RTQoZSk7cmV0dXJuIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LFwicHJldHRpZXJcIil8fE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbCh0LFwiZm9ybWF0XCIpfWZ1bmN0aW9uIEE0KGUpe3JldHVybiBlPXR5cGVvZiBlPT1cImZ1bmN0aW9uXCI/e3BhcnNlOmV9OmUse2FzdEZvcm1hdDpcImVzdHJlZVwiLGhhc1ByYWdtYTpFMCxsb2NTdGFydDp0cixsb2NFbmQ6S3IsLi4uZX19dmFyIEEwPUE0O2Z1bmN0aW9uIEM0KGUpe2xldHtmaWxlcGF0aDp0fT1lO2lmKHQpe2lmKHQ9dC50b0xvd2VyQ2FzZSgpLHQuZW5kc1dpdGgoXCIuY2pzXCIpfHx0LmVuZHNXaXRoKFwiLmN0c1wiKSlyZXR1cm5cInNjcmlwdFwiO2lmKHQuZW5kc1dpdGgoXCIubWpzXCIpfHx0LmVuZHNXaXRoKFwiLm10c1wiKSlyZXR1cm5cIm1vZHVsZVwifX12YXIgQzA9QzQ7ZnVuY3Rpb24gRDQoZSl7cmV0dXJuIGUuY2hhckF0KDApPT09XCIjXCImJmUuY2hhckF0KDEpPT09XCIhXCI/XCIvL1wiK2Uuc2xpY2UoMik6ZX12YXIgRDA9RDQ7dmFyIFA0PXtsb2M6ITAscmFuZ2U6ITAsY29tbWVudDohMCx0b2tlbnM6ITAsbG9nZ2VyRm46ITEscHJvamVjdDohMSxqc0RvY1BhcnNpbmdNb2RlOlwibm9uZVwiLHN1cHByZXNzRGVwcmVjYXRlZFByb3BlcnR5V2FybmluZ3M6ITB9O2Z1bmN0aW9uIE40KGUpe2lmKCEoZSE9bnVsbCYmZS5sb2NhdGlvbikpcmV0dXJuIGU7bGV0e21lc3NhZ2U6dCxsb2NhdGlvbjp7c3RhcnQ6YSxlbmQ6b319PWU7cmV0dXJuIHUwKHQse2xvYzp7c3RhcnQ6e2xpbmU6YS5saW5lLGNvbHVtbjphLmNvbHVtbisxfSxlbmQ6e2xpbmU6by5saW5lLGNvbHVtbjpvLmNvbHVtbisxfX0sY2F1c2U6ZX0pfXZhciBJND1lPT4vXFwuKD86anN8bWpzfGNqc3xqc3h8dHN8bXRzfGN0c3x0c3gpJC9pdS50ZXN0KGUpO2Z1bmN0aW9uIE80KGUsdCl7bGV0IGE9dD09bnVsbD92b2lkIDA6dC5maWxlcGF0aCxvPVt7Li4uUDQsZmlsZVBhdGg6YX1dLG09QzAodCk7aWYobT9vPW8ubWFwKEE9Pih7Li4uQSxzb3VyY2VUeXBlOm19KSk6bz1bXCJtb2R1bGVcIixcInNjcmlwdFwiXS5mbGF0TWFwKFA9Pm8ubWFwKGw9Pih7Li4ubCxzb3VyY2VUeXBlOlB9KSkpLGEmJkk0KGEpKXJldHVybiBvO2xldCB2PUo0KGUpO3JldHVyblt2LCF2XS5mbGF0TWFwKEE9Pm8ubWFwKFA9Pih7Li4uUCxqc3g6QX0pKSl9ZnVuY3Rpb24gTTQoZSx0PXt9KXtsZXQgYT1EMChlKSxvPU80KGUsdCksbTt0cnl7bT1wMChvLm1hcCh2PT4oKT0+bDAoYSx2KSkpfWNhdGNoKHtlcnJvcnM6W3ZdfSl7dGhyb3cgTjQodil9cmV0dXJuIHYwKG0se3RleHQ6ZX0pfWZ1bmN0aW9uIEo0KGUpe3JldHVybiBuZXcgUmVnRXhwKFtcIig/Ol5bXlxcXCInYF0qPC8pXCIsXCJ8XCIsXCIoPzpeW14vXXsyfS4qLz4pXCJdLmpvaW4oXCJcIiksXCJtdVwiKS50ZXN0KGUpfXZhciBMND1BMChNNCk7dmFyIGZTPWRkO2V4cG9ydHtmUyBhcyBkZWZhdWx0LGZkIGFzIHBhcnNlcnN9O1xuIiwgInZhciBBaT1PYmplY3QuY3JlYXRlO3ZhciBubj1PYmplY3QuZGVmaW5lUHJvcGVydHk7dmFyIFRpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3I7dmFyIENpPU9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzO3ZhciBNaT1PYmplY3QuZ2V0UHJvdG90eXBlT2Ysa2k9T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTt2YXIgZWU9KHQsZSk9PigpPT4oZXx8dCgoZT17ZXhwb3J0czp7fX0pLmV4cG9ydHMsZSksZS5leHBvcnRzKSxucj0odCxlKT0+e2Zvcih2YXIgbiBpbiBlKW5uKHQsbix7Z2V0OmVbbl0sZW51bWVyYWJsZTohMH0pfSx2aT0odCxlLG4scik9PntpZihlJiZ0eXBlb2YgZT09XCJvYmplY3RcInx8dHlwZW9mIGU9PVwiZnVuY3Rpb25cIilmb3IobGV0IHMgb2YgQ2koZSkpIWtpLmNhbGwodCxzKSYmcyE9PW4mJm5uKHQscyx7Z2V0OigpPT5lW3NdLGVudW1lcmFibGU6IShyPVRpKGUscykpfHxyLmVudW1lcmFibGV9KTtyZXR1cm4gdH07dmFyIHJyPSh0LGUsbik9PihuPXQhPW51bGw/QWkoTWkodCkpOnt9LHZpKGV8fCF0fHwhdC5fX2VzTW9kdWxlP25uKG4sXCJkZWZhdWx0XCIse3ZhbHVlOnQsZW51bWVyYWJsZTohMH0pOm4sdCkpO3ZhciBsZT1lZShVPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIHJlPXtBTkNIT1I6XCImXCIsQ09NTUVOVDpcIiNcIixUQUc6XCIhXCIsRElSRUNUSVZFU19FTkQ6XCItXCIsRE9DVU1FTlRfRU5EOlwiLlwifSxsdD17QUxJQVM6XCJBTElBU1wiLEJMQU5LX0xJTkU6XCJCTEFOS19MSU5FXCIsQkxPQ0tfRk9MREVEOlwiQkxPQ0tfRk9MREVEXCIsQkxPQ0tfTElURVJBTDpcIkJMT0NLX0xJVEVSQUxcIixDT01NRU5UOlwiQ09NTUVOVFwiLERJUkVDVElWRTpcIkRJUkVDVElWRVwiLERPQ1VNRU5UOlwiRE9DVU1FTlRcIixGTE9XX01BUDpcIkZMT1dfTUFQXCIsRkxPV19TRVE6XCJGTE9XX1NFUVwiLE1BUDpcIk1BUFwiLE1BUF9LRVk6XCJNQVBfS0VZXCIsTUFQX1ZBTFVFOlwiTUFQX1ZBTFVFXCIsUExBSU46XCJQTEFJTlwiLFFVT1RFX0RPVUJMRTpcIlFVT1RFX0RPVUJMRVwiLFFVT1RFX1NJTkdMRTpcIlFVT1RFX1NJTkdMRVwiLFNFUTpcIlNFUVwiLFNFUV9JVEVNOlwiU0VRX0lURU1cIn0sT289XCJ0YWc6eWFtbC5vcmcsMjAwMjpcIixMbz17TUFQOlwidGFnOnlhbWwub3JnLDIwMDI6bWFwXCIsU0VROlwidGFnOnlhbWwub3JnLDIwMDI6c2VxXCIsU1RSOlwidGFnOnlhbWwub3JnLDIwMDI6c3RyXCJ9O2Z1bmN0aW9uIElzKHQpe2xldCBlPVswXSxuPXQuaW5kZXhPZihgXG5gKTtmb3IoO24hPT0tMTspbis9MSxlLnB1c2gobiksbj10LmluZGV4T2YoYFxuYCxuKTtyZXR1cm4gZX1mdW5jdGlvbiBQcyh0KXtsZXQgZSxuO3JldHVybiB0eXBlb2YgdD09XCJzdHJpbmdcIj8oZT1Jcyh0KSxuPXQpOihBcnJheS5pc0FycmF5KHQpJiYodD10WzBdKSx0JiZ0LmNvbnRleHQmJih0LmxpbmVTdGFydHN8fCh0LmxpbmVTdGFydHM9SXModC5jb250ZXh0LnNyYykpLGU9dC5saW5lU3RhcnRzLG49dC5jb250ZXh0LnNyYykpLHtsaW5lU3RhcnRzOmUsc3JjOm59fWZ1bmN0aW9uIEFuKHQsZSl7aWYodHlwZW9mIHQhPVwibnVtYmVyXCJ8fHQ8MClyZXR1cm4gbnVsbDtsZXR7bGluZVN0YXJ0czpuLHNyYzpyfT1QcyhlKTtpZighbnx8IXJ8fHQ+ci5sZW5ndGgpcmV0dXJuIG51bGw7Zm9yKGxldCBpPTA7aTxuLmxlbmd0aDsrK2kpe2xldCBvPW5baV07aWYodDxvKXJldHVybntsaW5lOmksY29sOnQtbltpLTFdKzF9O2lmKHQ9PT1vKXJldHVybntsaW5lOmkrMSxjb2w6MX19bGV0IHM9bi5sZW5ndGg7cmV0dXJue2xpbmU6cyxjb2w6dC1uW3MtMV0rMX19ZnVuY3Rpb24gQW8odCxlKXtsZXR7bGluZVN0YXJ0czpuLHNyYzpyfT1QcyhlKTtpZighbnx8ISh0Pj0xKXx8dD5uLmxlbmd0aClyZXR1cm4gbnVsbDtsZXQgcz1uW3QtMV0saT1uW3RdO2Zvcig7aSYmaT5zJiZyW2ktMV09PT1gXG5gOyktLWk7cmV0dXJuIHIuc2xpY2UocyxpKX1mdW5jdGlvbiBUbyh7c3RhcnQ6dCxlbmQ6ZX0sbixyPTgwKXtsZXQgcz1Bbyh0LmxpbmUsbik7aWYoIXMpcmV0dXJuIG51bGw7bGV0e2NvbDppfT10O2lmKHMubGVuZ3RoPnIpaWYoaTw9ci0xMClzPXMuc3Vic3RyKDAsci0xKStcIlxcdTIwMjZcIjtlbHNle2xldCBmPU1hdGgucm91bmQoci8yKTtzLmxlbmd0aD5pK2YmJihzPXMuc3Vic3RyKDAsaStmLTEpK1wiXFx1MjAyNlwiKSxpLT1zLmxlbmd0aC1yLHM9XCJcXHUyMDI2XCIrcy5zdWJzdHIoMS1yKX1sZXQgbz0xLGE9XCJcIjtlJiYoZS5saW5lPT09dC5saW5lJiZpKyhlLmNvbC10LmNvbCk8PXIrMT9vPWUuY29sLXQuY29sOihvPU1hdGgubWluKHMubGVuZ3RoKzEsciktaSxhPVwiXFx1MjAyNlwiKSk7bGV0IGM9aT4xP1wiIFwiLnJlcGVhdChpLTEpOlwiXCIsbD1cIl5cIi5yZXBlYXQobyk7cmV0dXJuYCR7c31cbiR7Y30ke2x9JHthfWB9dmFyIFllPWNsYXNzIHR7c3RhdGljIGNvcHkoZSl7cmV0dXJuIG5ldyB0KGUuc3RhcnQsZS5lbmQpfWNvbnN0cnVjdG9yKGUsbil7dGhpcy5zdGFydD1lLHRoaXMuZW5kPW58fGV9aXNFbXB0eSgpe3JldHVybiB0eXBlb2YgdGhpcy5zdGFydCE9XCJudW1iZXJcInx8IXRoaXMuZW5kfHx0aGlzLmVuZDw9dGhpcy5zdGFydH1zZXRPcmlnUmFuZ2UoZSxuKXtsZXR7c3RhcnQ6cixlbmQ6c309dGhpcztpZihlLmxlbmd0aD09PTB8fHM8PWVbMF0pcmV0dXJuIHRoaXMub3JpZ1N0YXJ0PXIsdGhpcy5vcmlnRW5kPXMsbjtsZXQgaT1uO2Zvcig7aTxlLmxlbmd0aCYmIShlW2ldPnIpOykrK2k7dGhpcy5vcmlnU3RhcnQ9citpO2xldCBvPWk7Zm9yKDtpPGUubGVuZ3RoJiYhKGVbaV0+PXMpOykrK2k7cmV0dXJuIHRoaXMub3JpZ0VuZD1zK2ksb319LHNlPWNsYXNzIHR7c3RhdGljIGFkZFN0cmluZ1Rlcm1pbmF0b3IoZSxuLHIpe2lmKHJbci5sZW5ndGgtMV09PT1gXG5gKXJldHVybiByO2xldCBzPXQuZW5kT2ZXaGl0ZVNwYWNlKGUsbik7cmV0dXJuIHM+PWUubGVuZ3RofHxlW3NdPT09YFxuYD9yK2BcbmA6cn1zdGF0aWMgYXREb2N1bWVudEJvdW5kYXJ5KGUsbixyKXtsZXQgcz1lW25dO2lmKCFzKXJldHVybiEwO2xldCBpPWVbbi0xXTtpZihpJiZpIT09YFxuYClyZXR1cm4hMTtpZihyKXtpZihzIT09cilyZXR1cm4hMX1lbHNlIGlmKHMhPT1yZS5ESVJFQ1RJVkVTX0VORCYmcyE9PXJlLkRPQ1VNRU5UX0VORClyZXR1cm4hMTtsZXQgbz1lW24rMV0sYT1lW24rMl07aWYobyE9PXN8fGEhPT1zKXJldHVybiExO2xldCBjPWVbbiszXTtyZXR1cm4hY3x8Yz09PWBcbmB8fGM9PT1cIlx0XCJ8fGM9PT1cIiBcIn1zdGF0aWMgZW5kT2ZJZGVudGlmaWVyKGUsbil7bGV0IHI9ZVtuXSxzPXI9PT1cIjxcIixpPXM/W2BcbmAsXCJcdFwiLFwiIFwiLFwiPlwiXTpbYFxuYCxcIlx0XCIsXCIgXCIsXCJbXCIsXCJdXCIsXCJ7XCIsXCJ9XCIsXCIsXCJdO2Zvcig7ciYmaS5pbmRleE9mKHIpPT09LTE7KXI9ZVtuKz0xXTtyZXR1cm4gcyYmcj09PVwiPlwiJiYobis9MSksbn1zdGF0aWMgZW5kT2ZJbmRlbnQoZSxuKXtsZXQgcj1lW25dO2Zvcig7cj09PVwiIFwiOylyPWVbbis9MV07cmV0dXJuIG59c3RhdGljIGVuZE9mTGluZShlLG4pe2xldCByPWVbbl07Zm9yKDtyJiZyIT09YFxuYDspcj1lW24rPTFdO3JldHVybiBufXN0YXRpYyBlbmRPZldoaXRlU3BhY2UoZSxuKXtsZXQgcj1lW25dO2Zvcig7cj09PVwiXHRcInx8cj09PVwiIFwiOylyPWVbbis9MV07cmV0dXJuIG59c3RhdGljIHN0YXJ0T2ZMaW5lKGUsbil7bGV0IHI9ZVtuLTFdO2lmKHI9PT1gXG5gKXJldHVybiBuO2Zvcig7ciYmciE9PWBcbmA7KXI9ZVtuLT0xXTtyZXR1cm4gbisxfXN0YXRpYyBlbmRPZkJsb2NrSW5kZW50KGUsbixyKXtsZXQgcz10LmVuZE9mSW5kZW50KGUscik7aWYocz5yK24pcmV0dXJuIHM7e2xldCBpPXQuZW5kT2ZXaGl0ZVNwYWNlKGUscyksbz1lW2ldO2lmKCFvfHxvPT09YFxuYClyZXR1cm4gaX1yZXR1cm4gbnVsbH1zdGF0aWMgYXRCbGFuayhlLG4scil7bGV0IHM9ZVtuXTtyZXR1cm4gcz09PWBcbmB8fHM9PT1cIlx0XCJ8fHM9PT1cIiBcInx8ciYmIXN9c3RhdGljIG5leHROb2RlSXNJbmRlbnRlZChlLG4scil7cmV0dXJuIWV8fG48MD8hMTpuPjA/ITA6ciYmZT09PVwiLVwifXN0YXRpYyBub3JtYWxpemVPZmZzZXQoZSxuKXtsZXQgcj1lW25dO3JldHVybiByP3IhPT1gXG5gJiZlW24tMV09PT1gXG5gP24tMTp0LmVuZE9mV2hpdGVTcGFjZShlLG4pOm59c3RhdGljIGZvbGROZXdsaW5lKGUsbixyKXtsZXQgcz0wLGk9ITEsbz1cIlwiLGE9ZVtuKzFdO2Zvcig7YT09PVwiIFwifHxhPT09XCJcdFwifHxhPT09YFxuYDspe3N3aXRjaChhKXtjYXNlYFxuYDpzPTAsbis9MSxvKz1gXG5gO2JyZWFrO2Nhc2VcIlx0XCI6czw9ciYmKGk9ITApLG49dC5lbmRPZldoaXRlU3BhY2UoZSxuKzIpLTE7YnJlYWs7Y2FzZVwiIFwiOnMrPTEsbis9MTticmVha31hPWVbbisxXX1yZXR1cm4gb3x8KG89XCIgXCIpLGEmJnM8PXImJihpPSEwKSx7Zm9sZDpvLG9mZnNldDpuLGVycm9yOml9fWNvbnN0cnVjdG9yKGUsbixyKXtPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcyxcImNvbnRleHRcIix7dmFsdWU6cnx8bnVsbCx3cml0YWJsZTohMH0pLHRoaXMuZXJyb3I9bnVsbCx0aGlzLnJhbmdlPW51bGwsdGhpcy52YWx1ZVJhbmdlPW51bGwsdGhpcy5wcm9wcz1ufHxbXSx0aGlzLnR5cGU9ZSx0aGlzLnZhbHVlPW51bGx9Z2V0UHJvcFZhbHVlKGUsbixyKXtpZighdGhpcy5jb250ZXh0KXJldHVybiBudWxsO2xldHtzcmM6c309dGhpcy5jb250ZXh0LGk9dGhpcy5wcm9wc1tlXTtyZXR1cm4gaSYmc1tpLnN0YXJ0XT09PW4/cy5zbGljZShpLnN0YXJ0KyhyPzE6MCksaS5lbmQpOm51bGx9Z2V0IGFuY2hvcigpe2ZvcihsZXQgZT0wO2U8dGhpcy5wcm9wcy5sZW5ndGg7KytlKXtsZXQgbj10aGlzLmdldFByb3BWYWx1ZShlLHJlLkFOQ0hPUiwhMCk7aWYobiE9bnVsbClyZXR1cm4gbn1yZXR1cm4gbnVsbH1nZXQgY29tbWVudCgpe2xldCBlPVtdO2ZvcihsZXQgbj0wO248dGhpcy5wcm9wcy5sZW5ndGg7KytuKXtsZXQgcj10aGlzLmdldFByb3BWYWx1ZShuLHJlLkNPTU1FTlQsITApO3IhPW51bGwmJmUucHVzaChyKX1yZXR1cm4gZS5sZW5ndGg+MD9lLmpvaW4oYFxuYCk6bnVsbH1jb21tZW50SGFzUmVxdWlyZWRXaGl0ZXNwYWNlKGUpe2xldHtzcmM6bn09dGhpcy5jb250ZXh0O2lmKHRoaXMuaGVhZGVyJiZlPT09dGhpcy5oZWFkZXIuZW5kfHwhdGhpcy52YWx1ZVJhbmdlKXJldHVybiExO2xldHtlbmQ6cn09dGhpcy52YWx1ZVJhbmdlO3JldHVybiBlIT09cnx8dC5hdEJsYW5rKG4sci0xKX1nZXQgaGFzQ29tbWVudCgpe2lmKHRoaXMuY29udGV4dCl7bGV0e3NyYzplfT10aGlzLmNvbnRleHQ7Zm9yKGxldCBuPTA7bjx0aGlzLnByb3BzLmxlbmd0aDsrK24paWYoZVt0aGlzLnByb3BzW25dLnN0YXJ0XT09PXJlLkNPTU1FTlQpcmV0dXJuITB9cmV0dXJuITF9Z2V0IGhhc1Byb3BzKCl7aWYodGhpcy5jb250ZXh0KXtsZXR7c3JjOmV9PXRoaXMuY29udGV4dDtmb3IobGV0IG49MDtuPHRoaXMucHJvcHMubGVuZ3RoOysrbilpZihlW3RoaXMucHJvcHNbbl0uc3RhcnRdIT09cmUuQ09NTUVOVClyZXR1cm4hMH1yZXR1cm4hMX1nZXQgaW5jbHVkZXNUcmFpbGluZ0xpbmVzKCl7cmV0dXJuITF9Z2V0IGpzb25MaWtlKCl7cmV0dXJuW2x0LkZMT1dfTUFQLGx0LkZMT1dfU0VRLGx0LlFVT1RFX0RPVUJMRSxsdC5RVU9URV9TSU5HTEVdLmluZGV4T2YodGhpcy50eXBlKSE9PS0xfWdldCByYW5nZUFzTGluZVBvcygpe2lmKCF0aGlzLnJhbmdlfHwhdGhpcy5jb250ZXh0KXJldHVybjtsZXQgZT1Bbih0aGlzLnJhbmdlLnN0YXJ0LHRoaXMuY29udGV4dC5yb290KTtpZighZSlyZXR1cm47bGV0IG49QW4odGhpcy5yYW5nZS5lbmQsdGhpcy5jb250ZXh0LnJvb3QpO3JldHVybntzdGFydDplLGVuZDpufX1nZXQgcmF3VmFsdWUoKXtpZighdGhpcy52YWx1ZVJhbmdlfHwhdGhpcy5jb250ZXh0KXJldHVybiBudWxsO2xldHtzdGFydDplLGVuZDpufT10aGlzLnZhbHVlUmFuZ2U7cmV0dXJuIHRoaXMuY29udGV4dC5zcmMuc2xpY2UoZSxuKX1nZXQgdGFnKCl7Zm9yKGxldCBlPTA7ZTx0aGlzLnByb3BzLmxlbmd0aDsrK2Upe2xldCBuPXRoaXMuZ2V0UHJvcFZhbHVlKGUscmUuVEFHLCExKTtpZihuIT1udWxsKXtpZihuWzFdPT09XCI8XCIpcmV0dXJue3ZlcmJhdGltOm4uc2xpY2UoMiwtMSl9O3tsZXRbcixzLGldPW4ubWF0Y2goL14oLiohKShbXiFdKikkLyk7cmV0dXJue2hhbmRsZTpzLHN1ZmZpeDppfX19fXJldHVybiBudWxsfWdldCB2YWx1ZVJhbmdlQ29udGFpbnNOZXdsaW5lKCl7aWYoIXRoaXMudmFsdWVSYW5nZXx8IXRoaXMuY29udGV4dClyZXR1cm4hMTtsZXR7c3RhcnQ6ZSxlbmQ6bn09dGhpcy52YWx1ZVJhbmdlLHtzcmM6cn09dGhpcy5jb250ZXh0O2ZvcihsZXQgcz1lO3M8bjsrK3MpaWYocltzXT09PWBcbmApcmV0dXJuITA7cmV0dXJuITF9cGFyc2VDb21tZW50KGUpe2xldHtzcmM6bn09dGhpcy5jb250ZXh0O2lmKG5bZV09PT1yZS5DT01NRU5UKXtsZXQgcj10LmVuZE9mTGluZShuLGUrMSkscz1uZXcgWWUoZSxyKTtyZXR1cm4gdGhpcy5wcm9wcy5wdXNoKHMpLHJ9cmV0dXJuIGV9c2V0T3JpZ1JhbmdlcyhlLG4pe3JldHVybiB0aGlzLnJhbmdlJiYobj10aGlzLnJhbmdlLnNldE9yaWdSYW5nZShlLG4pKSx0aGlzLnZhbHVlUmFuZ2UmJnRoaXMudmFsdWVSYW5nZS5zZXRPcmlnUmFuZ2UoZSxuKSx0aGlzLnByb3BzLmZvckVhY2gocj0+ci5zZXRPcmlnUmFuZ2UoZSxuKSksbn10b1N0cmluZygpe2xldHtjb250ZXh0OntzcmM6ZX0scmFuZ2U6bix2YWx1ZTpyfT10aGlzO2lmKHIhPW51bGwpcmV0dXJuIHI7bGV0IHM9ZS5zbGljZShuLnN0YXJ0LG4uZW5kKTtyZXR1cm4gdC5hZGRTdHJpbmdUZXJtaW5hdG9yKGUsbi5lbmQscyl9fSxkZT1jbGFzcyBleHRlbmRzIEVycm9ye2NvbnN0cnVjdG9yKGUsbixyKXtpZighcnx8IShuIGluc3RhbmNlb2Ygc2UpKXRocm93IG5ldyBFcnJvcihgSW52YWxpZCBhcmd1bWVudHMgZm9yIG5ldyAke2V9YCk7c3VwZXIoKSx0aGlzLm5hbWU9ZSx0aGlzLm1lc3NhZ2U9cix0aGlzLnNvdXJjZT1ufW1ha2VQcmV0dHkoKXtpZighdGhpcy5zb3VyY2UpcmV0dXJuO3RoaXMubm9kZVR5cGU9dGhpcy5zb3VyY2UudHlwZTtsZXQgZT10aGlzLnNvdXJjZS5jb250ZXh0JiZ0aGlzLnNvdXJjZS5jb250ZXh0LnJvb3Q7aWYodHlwZW9mIHRoaXMub2Zmc2V0PT1cIm51bWJlclwiKXt0aGlzLnJhbmdlPW5ldyBZZSh0aGlzLm9mZnNldCx0aGlzLm9mZnNldCsxKTtsZXQgbj1lJiZBbih0aGlzLm9mZnNldCxlKTtpZihuKXtsZXQgcj17bGluZTpuLmxpbmUsY29sOm4uY29sKzF9O3RoaXMubGluZVBvcz17c3RhcnQ6bixlbmQ6cn19ZGVsZXRlIHRoaXMub2Zmc2V0fWVsc2UgdGhpcy5yYW5nZT10aGlzLnNvdXJjZS5yYW5nZSx0aGlzLmxpbmVQb3M9dGhpcy5zb3VyY2UucmFuZ2VBc0xpbmVQb3M7aWYodGhpcy5saW5lUG9zKXtsZXR7bGluZTpuLGNvbDpyfT10aGlzLmxpbmVQb3Muc3RhcnQ7dGhpcy5tZXNzYWdlKz1gIGF0IGxpbmUgJHtufSwgY29sdW1uICR7cn1gO2xldCBzPWUmJlRvKHRoaXMubGluZVBvcyxlKTtzJiYodGhpcy5tZXNzYWdlKz1gOlxuXG4ke3N9XG5gKX1kZWxldGUgdGhpcy5zb3VyY2V9fSxUbj1jbGFzcyBleHRlbmRzIGRle2NvbnN0cnVjdG9yKGUsbil7c3VwZXIoXCJZQU1MUmVmZXJlbmNlRXJyb3JcIixlLG4pfX0sZnQ9Y2xhc3MgZXh0ZW5kcyBkZXtjb25zdHJ1Y3RvcihlLG4pe3N1cGVyKFwiWUFNTFNlbWFudGljRXJyb3JcIixlLG4pfX0sQ249Y2xhc3MgZXh0ZW5kcyBkZXtjb25zdHJ1Y3RvcihlLG4pe3N1cGVyKFwiWUFNTFN5bnRheEVycm9yXCIsZSxuKX19LE1uPWNsYXNzIGV4dGVuZHMgZGV7Y29uc3RydWN0b3IoZSxuKXtzdXBlcihcIllBTUxXYXJuaW5nXCIsZSxuKX19O2Z1bmN0aW9uIENvKHQsZSxuKXtyZXR1cm4gZSBpbiB0P09iamVjdC5kZWZpbmVQcm9wZXJ0eSh0LGUse3ZhbHVlOm4sZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITAsd3JpdGFibGU6ITB9KTp0W2VdPW4sdH12YXIga249Y2xhc3MgdCBleHRlbmRzIHNle3N0YXRpYyBlbmRPZkxpbmUoZSxuLHIpe2xldCBzPWVbbl0saT1uO2Zvcig7cyYmcyE9PWBcbmAmJiEociYmKHM9PT1cIltcInx8cz09PVwiXVwifHxzPT09XCJ7XCJ8fHM9PT1cIn1cInx8cz09PVwiLFwiKSk7KXtsZXQgbz1lW2krMV07aWYocz09PVwiOlwiJiYoIW98fG89PT1gXG5gfHxvPT09XCJcdFwifHxvPT09XCIgXCJ8fHImJm89PT1cIixcIil8fChzPT09XCIgXCJ8fHM9PT1cIlx0XCIpJiZvPT09XCIjXCIpYnJlYWs7aSs9MSxzPW99cmV0dXJuIGl9Z2V0IHN0clZhbHVlKCl7aWYoIXRoaXMudmFsdWVSYW5nZXx8IXRoaXMuY29udGV4dClyZXR1cm4gbnVsbDtsZXR7c3RhcnQ6ZSxlbmQ6bn09dGhpcy52YWx1ZVJhbmdlLHtzcmM6cn09dGhpcy5jb250ZXh0LHM9cltuLTFdO2Zvcig7ZTxuJiYocz09PWBcbmB8fHM9PT1cIlx0XCJ8fHM9PT1cIiBcIik7KXM9clstLW4tMV07bGV0IGk9XCJcIjtmb3IobGV0IGE9ZTthPG47KythKXtsZXQgYz1yW2FdO2lmKGM9PT1gXG5gKXtsZXR7Zm9sZDpsLG9mZnNldDpmfT1zZS5mb2xkTmV3bGluZShyLGEsLTEpO2krPWwsYT1mfWVsc2UgaWYoYz09PVwiIFwifHxjPT09XCJcdFwiKXtsZXQgbD1hLGY9clthKzFdO2Zvcig7YTxuJiYoZj09PVwiIFwifHxmPT09XCJcdFwiKTspYSs9MSxmPXJbYSsxXTtmIT09YFxuYCYmKGkrPWE+bD9yLnNsaWNlKGwsYSsxKTpjKX1lbHNlIGkrPWN9bGV0IG89cltlXTtzd2l0Y2gobyl7Y2FzZVwiXHRcIjp7bGV0IGE9XCJQbGFpbiB2YWx1ZSBjYW5ub3Qgc3RhcnQgd2l0aCBhIHRhYiBjaGFyYWN0ZXJcIjtyZXR1cm57ZXJyb3JzOltuZXcgZnQodGhpcyxhKV0sc3RyOml9fWNhc2VcIkBcIjpjYXNlXCJgXCI6e2xldCBhPWBQbGFpbiB2YWx1ZSBjYW5ub3Qgc3RhcnQgd2l0aCByZXNlcnZlZCBjaGFyYWN0ZXIgJHtvfWA7cmV0dXJue2Vycm9yczpbbmV3IGZ0KHRoaXMsYSldLHN0cjppfX1kZWZhdWx0OnJldHVybiBpfX1wYXJzZUJsb2NrVmFsdWUoZSl7bGV0e2luZGVudDpuLGluRmxvdzpyLHNyYzpzfT10aGlzLmNvbnRleHQsaT1lLG89ZTtmb3IobGV0IGE9c1tpXTthPT09YFxuYCYmIXNlLmF0RG9jdW1lbnRCb3VuZGFyeShzLGkrMSk7YT1zW2ldKXtsZXQgYz1zZS5lbmRPZkJsb2NrSW5kZW50KHMsbixpKzEpO2lmKGM9PT1udWxsfHxzW2NdPT09XCIjXCIpYnJlYWs7c1tjXT09PWBcbmA/aT1jOihvPXQuZW5kT2ZMaW5lKHMsYyxyKSxpPW8pfXJldHVybiB0aGlzLnZhbHVlUmFuZ2UuaXNFbXB0eSgpJiYodGhpcy52YWx1ZVJhbmdlLnN0YXJ0PWUpLHRoaXMudmFsdWVSYW5nZS5lbmQ9byxvfXBhcnNlKGUsbil7dGhpcy5jb250ZXh0PWU7bGV0e2luRmxvdzpyLHNyYzpzfT1lLGk9bixvPXNbaV07cmV0dXJuIG8mJm8hPT1cIiNcIiYmbyE9PWBcbmAmJihpPXQuZW5kT2ZMaW5lKHMsbixyKSksdGhpcy52YWx1ZVJhbmdlPW5ldyBZZShuLGkpLGk9c2UuZW5kT2ZXaGl0ZVNwYWNlKHMsaSksaT10aGlzLnBhcnNlQ29tbWVudChpKSwoIXRoaXMuaGFzQ29tbWVudHx8dGhpcy52YWx1ZVJhbmdlLmlzRW1wdHkoKSkmJihpPXRoaXMucGFyc2VCbG9ja1ZhbHVlKGkpKSxpfX07VS5DaGFyPXJlO1UuTm9kZT1zZTtVLlBsYWluVmFsdWU9a247VS5SYW5nZT1ZZTtVLlR5cGU9bHQ7VS5ZQU1MRXJyb3I9ZGU7VS5ZQU1MUmVmZXJlbmNlRXJyb3I9VG47VS5ZQU1MU2VtYW50aWNFcnJvcj1mdDtVLllBTUxTeW50YXhFcnJvcj1DbjtVLllBTUxXYXJuaW5nPU1uO1UuX2RlZmluZVByb3BlcnR5PUNvO1UuZGVmYXVsdFRhZ1ByZWZpeD1PbztVLmRlZmF1bHRUYWdzPUxvfSk7dmFyIHhzPWVlKF9zPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIHU9bGUoKSxFZT1jbGFzcyBleHRlbmRzIHUuTm9kZXtjb25zdHJ1Y3Rvcigpe3N1cGVyKHUuVHlwZS5CTEFOS19MSU5FKX1nZXQgaW5jbHVkZXNUcmFpbGluZ0xpbmVzKCl7cmV0dXJuITB9cGFyc2UoZSxuKXtyZXR1cm4gdGhpcy5jb250ZXh0PWUsdGhpcy5yYW5nZT1uZXcgdS5SYW5nZShuLG4rMSksbisxfX0sdXQ9Y2xhc3MgZXh0ZW5kcyB1Lk5vZGV7Y29uc3RydWN0b3IoZSxuKXtzdXBlcihlLG4pLHRoaXMubm9kZT1udWxsfWdldCBpbmNsdWRlc1RyYWlsaW5nTGluZXMoKXtyZXR1cm4hIXRoaXMubm9kZSYmdGhpcy5ub2RlLmluY2x1ZGVzVHJhaWxpbmdMaW5lc31wYXJzZShlLG4pe3RoaXMuY29udGV4dD1lO2xldHtwYXJzZU5vZGU6cixzcmM6c309ZSx7YXRMaW5lU3RhcnQ6aSxsaW5lU3RhcnQ6b309ZTshaSYmdGhpcy50eXBlPT09dS5UeXBlLlNFUV9JVEVNJiYodGhpcy5lcnJvcj1uZXcgdS5ZQU1MU2VtYW50aWNFcnJvcih0aGlzLFwiU2VxdWVuY2UgaXRlbXMgbXVzdCBub3QgaGF2ZSBwcmVjZWRpbmcgY29udGVudCBvbiB0aGUgc2FtZSBsaW5lXCIpKTtsZXQgYT1pP24tbzplLmluZGVudCxjPXUuTm9kZS5lbmRPZldoaXRlU3BhY2UocyxuKzEpLGw9c1tjXSxmPWw9PT1cIiNcIixtPVtdLGQ9bnVsbDtmb3IoO2w9PT1gXG5gfHxsPT09XCIjXCI7KXtpZihsPT09XCIjXCIpe2xldCBoPXUuTm9kZS5lbmRPZkxpbmUocyxjKzEpO20ucHVzaChuZXcgdS5SYW5nZShjLGgpKSxjPWh9ZWxzZXtpPSEwLG89YysxO2xldCBoPXUuTm9kZS5lbmRPZldoaXRlU3BhY2UocyxvKTtzW2hdPT09YFxuYCYmbS5sZW5ndGg9PT0wJiYoZD1uZXcgRWUsbz1kLnBhcnNlKHtzcmM6c30sbykpLGM9dS5Ob2RlLmVuZE9mSW5kZW50KHMsbyl9bD1zW2NdfWlmKHUuTm9kZS5uZXh0Tm9kZUlzSW5kZW50ZWQobCxjLShvK2EpLHRoaXMudHlwZSE9PXUuVHlwZS5TRVFfSVRFTSk/dGhpcy5ub2RlPXIoe2F0TGluZVN0YXJ0OmksaW5Db2xsZWN0aW9uOiExLGluZGVudDphLGxpbmVTdGFydDpvLHBhcmVudDp0aGlzfSxjKTpsJiZvPm4rMSYmKGM9by0xKSx0aGlzLm5vZGUpe2lmKGQpe2xldCBoPWUucGFyZW50Lml0ZW1zfHxlLnBhcmVudC5jb250ZW50cztoJiZoLnB1c2goZCl9bS5sZW5ndGgmJkFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMucHJvcHMsbSksYz10aGlzLm5vZGUucmFuZ2UuZW5kfWVsc2UgaWYoZil7bGV0IGg9bVswXTt0aGlzLnByb3BzLnB1c2goaCksYz1oLmVuZH1lbHNlIGM9dS5Ob2RlLmVuZE9mTGluZShzLG4rMSk7bGV0IHk9dGhpcy5ub2RlP3RoaXMubm9kZS52YWx1ZVJhbmdlLmVuZDpjO3JldHVybiB0aGlzLnZhbHVlUmFuZ2U9bmV3IHUuUmFuZ2Uobix5KSxjfXNldE9yaWdSYW5nZXMoZSxuKXtyZXR1cm4gbj1zdXBlci5zZXRPcmlnUmFuZ2VzKGUsbiksdGhpcy5ub2RlP3RoaXMubm9kZS5zZXRPcmlnUmFuZ2VzKGUsbik6bn10b1N0cmluZygpe2xldHtjb250ZXh0OntzcmM6ZX0sbm9kZTpuLHJhbmdlOnIsdmFsdWU6c309dGhpcztpZihzIT1udWxsKXJldHVybiBzO2xldCBpPW4/ZS5zbGljZShyLnN0YXJ0LG4ucmFuZ2Uuc3RhcnQpK1N0cmluZyhuKTplLnNsaWNlKHIuc3RhcnQsci5lbmQpO3JldHVybiB1Lk5vZGUuYWRkU3RyaW5nVGVybWluYXRvcihlLHIuZW5kLGkpfX0seWU9Y2xhc3MgZXh0ZW5kcyB1Lk5vZGV7Y29uc3RydWN0b3IoKXtzdXBlcih1LlR5cGUuQ09NTUVOVCl9cGFyc2UoZSxuKXt0aGlzLmNvbnRleHQ9ZTtsZXQgcj10aGlzLnBhcnNlQ29tbWVudChuKTtyZXR1cm4gdGhpcy5yYW5nZT1uZXcgdS5SYW5nZShuLHIpLHJ9fTtmdW5jdGlvbiB2bih0KXtsZXQgZT10O2Zvcig7ZSBpbnN0YW5jZW9mIHV0OyllPWUubm9kZTtpZighKGUgaW5zdGFuY2VvZiAkdCkpcmV0dXJuIG51bGw7bGV0IG49ZS5pdGVtcy5sZW5ndGgscj0tMTtmb3IobGV0IG89bi0xO28+PTA7LS1vKXtsZXQgYT1lLml0ZW1zW29dO2lmKGEudHlwZT09PXUuVHlwZS5DT01NRU5UKXtsZXR7aW5kZW50OmMsbGluZVN0YXJ0Omx9PWEuY29udGV4dDtpZihjPjAmJmEucmFuZ2Uuc3RhcnQ+PWwrYylicmVhaztyPW99ZWxzZSBpZihhLnR5cGU9PT11LlR5cGUuQkxBTktfTElORSlyPW87ZWxzZSBicmVha31pZihyPT09LTEpcmV0dXJuIG51bGw7bGV0IHM9ZS5pdGVtcy5zcGxpY2UocixuLXIpLGk9c1swXS5yYW5nZS5zdGFydDtmb3IoO2UucmFuZ2UuZW5kPWksZS52YWx1ZVJhbmdlJiZlLnZhbHVlUmFuZ2UuZW5kPmkmJihlLnZhbHVlUmFuZ2UuZW5kPWkpLGUhPT10OyllPWUuY29udGV4dC5wYXJlbnQ7cmV0dXJuIHN9dmFyICR0PWNsYXNzIHQgZXh0ZW5kcyB1Lk5vZGV7c3RhdGljIG5leHRDb250ZW50SGFzSW5kZW50KGUsbixyKXtsZXQgcz11Lk5vZGUuZW5kT2ZMaW5lKGUsbikrMTtuPXUuTm9kZS5lbmRPZldoaXRlU3BhY2UoZSxzKTtsZXQgaT1lW25dO3JldHVybiBpP24+PXMrcj8hMDppIT09XCIjXCImJmkhPT1gXG5gPyExOnQubmV4dENvbnRlbnRIYXNJbmRlbnQoZSxuLHIpOiExfWNvbnN0cnVjdG9yKGUpe3N1cGVyKGUudHlwZT09PXUuVHlwZS5TRVFfSVRFTT91LlR5cGUuU0VROnUuVHlwZS5NQVApO2ZvcihsZXQgcj1lLnByb3BzLmxlbmd0aC0xO3I+PTA7LS1yKWlmKGUucHJvcHNbcl0uc3RhcnQ8ZS5jb250ZXh0LmxpbmVTdGFydCl7dGhpcy5wcm9wcz1lLnByb3BzLnNsaWNlKDAscisxKSxlLnByb3BzPWUucHJvcHMuc2xpY2UocisxKTtsZXQgcz1lLnByb3BzWzBdfHxlLnZhbHVlUmFuZ2U7ZS5yYW5nZS5zdGFydD1zLnN0YXJ0O2JyZWFrfXRoaXMuaXRlbXM9W2VdO2xldCBuPXZuKGUpO24mJkFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMuaXRlbXMsbil9Z2V0IGluY2x1ZGVzVHJhaWxpbmdMaW5lcygpe3JldHVybiB0aGlzLml0ZW1zLmxlbmd0aD4wfXBhcnNlKGUsbil7dGhpcy5jb250ZXh0PWU7bGV0e3BhcnNlTm9kZTpyLHNyYzpzfT1lLGk9dS5Ob2RlLnN0YXJ0T2ZMaW5lKHMsbiksbz10aGlzLml0ZW1zWzBdO28uY29udGV4dC5wYXJlbnQ9dGhpcyx0aGlzLnZhbHVlUmFuZ2U9dS5SYW5nZS5jb3B5KG8udmFsdWVSYW5nZSk7bGV0IGE9by5yYW5nZS5zdGFydC1vLmNvbnRleHQubGluZVN0YXJ0LGM9bjtjPXUuTm9kZS5ub3JtYWxpemVPZmZzZXQocyxjKTtsZXQgbD1zW2NdLGY9dS5Ob2RlLmVuZE9mV2hpdGVTcGFjZShzLGkpPT09YyxtPSExO2Zvcig7bDspe2Zvcig7bD09PWBcbmB8fGw9PT1cIiNcIjspe2lmKGYmJmw9PT1gXG5gJiYhbSl7bGV0IGg9bmV3IEVlO2lmKGM9aC5wYXJzZSh7c3JjOnN9LGMpLHRoaXMudmFsdWVSYW5nZS5lbmQ9YyxjPj1zLmxlbmd0aCl7bD1udWxsO2JyZWFrfXRoaXMuaXRlbXMucHVzaChoKSxjLT0xfWVsc2UgaWYobD09PVwiI1wiKXtpZihjPGkrYSYmIXQubmV4dENvbnRlbnRIYXNJbmRlbnQocyxjLGEpKXJldHVybiBjO2xldCBoPW5ldyB5ZTtpZihjPWgucGFyc2Uoe2luZGVudDphLGxpbmVTdGFydDppLHNyYzpzfSxjKSx0aGlzLml0ZW1zLnB1c2goaCksdGhpcy52YWx1ZVJhbmdlLmVuZD1jLGM+PXMubGVuZ3RoKXtsPW51bGw7YnJlYWt9fWlmKGk9YysxLGM9dS5Ob2RlLmVuZE9mSW5kZW50KHMsaSksdS5Ob2RlLmF0QmxhbmsocyxjKSl7bGV0IGg9dS5Ob2RlLmVuZE9mV2hpdGVTcGFjZShzLGMpLGc9c1toXTsoIWd8fGc9PT1gXG5gfHxnPT09XCIjXCIpJiYoYz1oKX1sPXNbY10sZj0hMH1pZighbClicmVhaztpZihjIT09aSthJiYoZnx8bCE9PVwiOlwiKSl7aWYoYzxpK2Epe2k+biYmKGM9aSk7YnJlYWt9ZWxzZSBpZighdGhpcy5lcnJvcil7bGV0IGg9XCJBbGwgY29sbGVjdGlvbiBpdGVtcyBtdXN0IHN0YXJ0IGF0IHRoZSBzYW1lIGNvbHVtblwiO3RoaXMuZXJyb3I9bmV3IHUuWUFNTFN5bnRheEVycm9yKHRoaXMsaCl9fWlmKG8udHlwZT09PXUuVHlwZS5TRVFfSVRFTSl7aWYobCE9PVwiLVwiKXtpPm4mJihjPWkpO2JyZWFrfX1lbHNlIGlmKGw9PT1cIi1cIiYmIXRoaXMuZXJyb3Ipe2xldCBoPXNbYysxXTtpZighaHx8aD09PWBcbmB8fGg9PT1cIlx0XCJ8fGg9PT1cIiBcIil7bGV0IGc9XCJBIGNvbGxlY3Rpb24gY2Fubm90IGJlIGJvdGggYSBtYXBwaW5nIGFuZCBhIHNlcXVlbmNlXCI7dGhpcy5lcnJvcj1uZXcgdS5ZQU1MU3ludGF4RXJyb3IodGhpcyxnKX19bGV0IGQ9cih7YXRMaW5lU3RhcnQ6ZixpbkNvbGxlY3Rpb246ITAsaW5kZW50OmEsbGluZVN0YXJ0OmkscGFyZW50OnRoaXN9LGMpO2lmKCFkKXJldHVybiBjO2lmKHRoaXMuaXRlbXMucHVzaChkKSx0aGlzLnZhbHVlUmFuZ2UuZW5kPWQudmFsdWVSYW5nZS5lbmQsYz11Lk5vZGUubm9ybWFsaXplT2Zmc2V0KHMsZC5yYW5nZS5lbmQpLGw9c1tjXSxmPSExLG09ZC5pbmNsdWRlc1RyYWlsaW5nTGluZXMsbCl7bGV0IGg9Yy0xLGc9c1toXTtmb3IoO2c9PT1cIiBcInx8Zz09PVwiXHRcIjspZz1zWy0taF07Zz09PWBcbmAmJihpPWgrMSxmPSEwKX1sZXQgeT12bihkKTt5JiZBcnJheS5wcm90b3R5cGUucHVzaC5hcHBseSh0aGlzLml0ZW1zLHkpfXJldHVybiBjfXNldE9yaWdSYW5nZXMoZSxuKXtyZXR1cm4gbj1zdXBlci5zZXRPcmlnUmFuZ2VzKGUsbiksdGhpcy5pdGVtcy5mb3JFYWNoKHI9PntuPXIuc2V0T3JpZ1JhbmdlcyhlLG4pfSksbn10b1N0cmluZygpe2xldHtjb250ZXh0OntzcmM6ZX0saXRlbXM6bixyYW5nZTpyLHZhbHVlOnN9PXRoaXM7aWYocyE9bnVsbClyZXR1cm4gcztsZXQgaT1lLnNsaWNlKHIuc3RhcnQsblswXS5yYW5nZS5zdGFydCkrU3RyaW5nKG5bMF0pO2ZvcihsZXQgbz0xO288bi5sZW5ndGg7KytvKXtsZXQgYT1uW29dLHthdExpbmVTdGFydDpjLGluZGVudDpsfT1hLmNvbnRleHQ7aWYoYylmb3IobGV0IGY9MDtmPGw7KytmKWkrPVwiIFwiO2krPVN0cmluZyhhKX1yZXR1cm4gdS5Ob2RlLmFkZFN0cmluZ1Rlcm1pbmF0b3IoZSxyLmVuZCxpKX19LEluPWNsYXNzIGV4dGVuZHMgdS5Ob2Rle2NvbnN0cnVjdG9yKCl7c3VwZXIodS5UeXBlLkRJUkVDVElWRSksdGhpcy5uYW1lPW51bGx9Z2V0IHBhcmFtZXRlcnMoKXtsZXQgZT10aGlzLnJhd1ZhbHVlO3JldHVybiBlP2UudHJpbSgpLnNwbGl0KC9bIFxcdF0rLyk6W119cGFyc2VOYW1lKGUpe2xldHtzcmM6bn09dGhpcy5jb250ZXh0LHI9ZSxzPW5bcl07Zm9yKDtzJiZzIT09YFxuYCYmcyE9PVwiXHRcIiYmcyE9PVwiIFwiOylzPW5bcis9MV07cmV0dXJuIHRoaXMubmFtZT1uLnNsaWNlKGUscikscn1wYXJzZVBhcmFtZXRlcnMoZSl7bGV0e3NyYzpufT10aGlzLmNvbnRleHQscj1lLHM9bltyXTtmb3IoO3MmJnMhPT1gXG5gJiZzIT09XCIjXCI7KXM9bltyKz0xXTtyZXR1cm4gdGhpcy52YWx1ZVJhbmdlPW5ldyB1LlJhbmdlKGUscikscn1wYXJzZShlLG4pe3RoaXMuY29udGV4dD1lO2xldCByPXRoaXMucGFyc2VOYW1lKG4rMSk7cmV0dXJuIHI9dGhpcy5wYXJzZVBhcmFtZXRlcnMocikscj10aGlzLnBhcnNlQ29tbWVudChyKSx0aGlzLnJhbmdlPW5ldyB1LlJhbmdlKG4scikscn19LFBuPWNsYXNzIHQgZXh0ZW5kcyB1Lk5vZGV7c3RhdGljIHN0YXJ0Q29tbWVudE9yRW5kQmxhbmtMaW5lKGUsbil7bGV0IHI9dS5Ob2RlLmVuZE9mV2hpdGVTcGFjZShlLG4pLHM9ZVtyXTtyZXR1cm4gcz09PVwiI1wifHxzPT09YFxuYD9yOm59Y29uc3RydWN0b3IoKXtzdXBlcih1LlR5cGUuRE9DVU1FTlQpLHRoaXMuZGlyZWN0aXZlcz1udWxsLHRoaXMuY29udGVudHM9bnVsbCx0aGlzLmRpcmVjdGl2ZXNFbmRNYXJrZXI9bnVsbCx0aGlzLmRvY3VtZW50RW5kTWFya2VyPW51bGx9cGFyc2VEaXJlY3RpdmVzKGUpe2xldHtzcmM6bn09dGhpcy5jb250ZXh0O3RoaXMuZGlyZWN0aXZlcz1bXTtsZXQgcj0hMCxzPSExLGk9ZTtmb3IoOyF1Lk5vZGUuYXREb2N1bWVudEJvdW5kYXJ5KG4saSx1LkNoYXIuRElSRUNUSVZFU19FTkQpOylzd2l0Y2goaT10LnN0YXJ0Q29tbWVudE9yRW5kQmxhbmtMaW5lKG4saSksbltpXSl7Y2FzZWBcbmA6aWYocil7bGV0IG89bmV3IEVlO2k9by5wYXJzZSh7c3JjOm59LGkpLGk8bi5sZW5ndGgmJnRoaXMuZGlyZWN0aXZlcy5wdXNoKG8pfWVsc2UgaSs9MSxyPSEwO2JyZWFrO2Nhc2VcIiNcIjp7bGV0IG89bmV3IHllO2k9by5wYXJzZSh7c3JjOm59LGkpLHRoaXMuZGlyZWN0aXZlcy5wdXNoKG8pLHI9ITF9YnJlYWs7Y2FzZVwiJVwiOntsZXQgbz1uZXcgSW47aT1vLnBhcnNlKHtwYXJlbnQ6dGhpcyxzcmM6bn0saSksdGhpcy5kaXJlY3RpdmVzLnB1c2gobykscz0hMCxyPSExfWJyZWFrO2RlZmF1bHQ6cmV0dXJuIHM/dGhpcy5lcnJvcj1uZXcgdS5ZQU1MU2VtYW50aWNFcnJvcih0aGlzLFwiTWlzc2luZyBkaXJlY3RpdmVzLWVuZCBpbmRpY2F0b3IgbGluZVwiKTp0aGlzLmRpcmVjdGl2ZXMubGVuZ3RoPjAmJih0aGlzLmNvbnRlbnRzPXRoaXMuZGlyZWN0aXZlcyx0aGlzLmRpcmVjdGl2ZXM9W10pLGl9cmV0dXJuIG5baV0/KHRoaXMuZGlyZWN0aXZlc0VuZE1hcmtlcj1uZXcgdS5SYW5nZShpLGkrMyksaSszKToocz90aGlzLmVycm9yPW5ldyB1LllBTUxTZW1hbnRpY0Vycm9yKHRoaXMsXCJNaXNzaW5nIGRpcmVjdGl2ZXMtZW5kIGluZGljYXRvciBsaW5lXCIpOnRoaXMuZGlyZWN0aXZlcy5sZW5ndGg+MCYmKHRoaXMuY29udGVudHM9dGhpcy5kaXJlY3RpdmVzLHRoaXMuZGlyZWN0aXZlcz1bXSksaSl9cGFyc2VDb250ZW50cyhlKXtsZXR7cGFyc2VOb2RlOm4sc3JjOnJ9PXRoaXMuY29udGV4dDt0aGlzLmNvbnRlbnRzfHwodGhpcy5jb250ZW50cz1bXSk7bGV0IHM9ZTtmb3IoO3Jbcy0xXT09PVwiLVwiOylzLT0xO2xldCBpPXUuTm9kZS5lbmRPZldoaXRlU3BhY2UocixlKSxvPXM9PT1lO2Zvcih0aGlzLnZhbHVlUmFuZ2U9bmV3IHUuUmFuZ2UoaSk7IXUuTm9kZS5hdERvY3VtZW50Qm91bmRhcnkocixpLHUuQ2hhci5ET0NVTUVOVF9FTkQpOyl7c3dpdGNoKHJbaV0pe2Nhc2VgXG5gOmlmKG8pe2xldCBhPW5ldyBFZTtpPWEucGFyc2Uoe3NyYzpyfSxpKSxpPHIubGVuZ3RoJiZ0aGlzLmNvbnRlbnRzLnB1c2goYSl9ZWxzZSBpKz0xLG89ITA7cz1pO2JyZWFrO2Nhc2VcIiNcIjp7bGV0IGE9bmV3IHllO2k9YS5wYXJzZSh7c3JjOnJ9LGkpLHRoaXMuY29udGVudHMucHVzaChhKSxvPSExfWJyZWFrO2RlZmF1bHQ6e2xldCBhPXUuTm9kZS5lbmRPZkluZGVudChyLGkpLGw9bih7YXRMaW5lU3RhcnQ6byxpbmRlbnQ6LTEsaW5GbG93OiExLGluQ29sbGVjdGlvbjohMSxsaW5lU3RhcnQ6cyxwYXJlbnQ6dGhpc30sYSk7aWYoIWwpcmV0dXJuIHRoaXMudmFsdWVSYW5nZS5lbmQ9YTt0aGlzLmNvbnRlbnRzLnB1c2gobCksaT1sLnJhbmdlLmVuZCxvPSExO2xldCBmPXZuKGwpO2YmJkFycmF5LnByb3RvdHlwZS5wdXNoLmFwcGx5KHRoaXMuY29udGVudHMsZil9fWk9dC5zdGFydENvbW1lbnRPckVuZEJsYW5rTGluZShyLGkpfWlmKHRoaXMudmFsdWVSYW5nZS5lbmQ9aSxyW2ldJiYodGhpcy5kb2N1bWVudEVuZE1hcmtlcj1uZXcgdS5SYW5nZShpLGkrMyksaSs9MyxyW2ldKSl7aWYoaT11Lk5vZGUuZW5kT2ZXaGl0ZVNwYWNlKHIsaSkscltpXT09PVwiI1wiKXtsZXQgYT1uZXcgeWU7aT1hLnBhcnNlKHtzcmM6cn0saSksdGhpcy5jb250ZW50cy5wdXNoKGEpfXN3aXRjaChyW2ldKXtjYXNlYFxuYDppKz0xO2JyZWFrO2Nhc2Ugdm9pZCAwOmJyZWFrO2RlZmF1bHQ6dGhpcy5lcnJvcj1uZXcgdS5ZQU1MU3ludGF4RXJyb3IodGhpcyxcIkRvY3VtZW50IGVuZCBtYXJrZXIgbGluZSBjYW5ub3QgaGF2ZSBhIG5vbi1jb21tZW50IHN1ZmZpeFwiKX19cmV0dXJuIGl9cGFyc2UoZSxuKXtlLnJvb3Q9dGhpcyx0aGlzLmNvbnRleHQ9ZTtsZXR7c3JjOnJ9PWUscz1yLmNoYXJDb2RlQXQobik9PT02NTI3OT9uKzE6bjtyZXR1cm4gcz10aGlzLnBhcnNlRGlyZWN0aXZlcyhzKSxzPXRoaXMucGFyc2VDb250ZW50cyhzKSxzfXNldE9yaWdSYW5nZXMoZSxuKXtyZXR1cm4gbj1zdXBlci5zZXRPcmlnUmFuZ2VzKGUsbiksdGhpcy5kaXJlY3RpdmVzLmZvckVhY2gocj0+e249ci5zZXRPcmlnUmFuZ2VzKGUsbil9KSx0aGlzLmRpcmVjdGl2ZXNFbmRNYXJrZXImJihuPXRoaXMuZGlyZWN0aXZlc0VuZE1hcmtlci5zZXRPcmlnUmFuZ2UoZSxuKSksdGhpcy5jb250ZW50cy5mb3JFYWNoKHI9PntuPXIuc2V0T3JpZ1JhbmdlcyhlLG4pfSksdGhpcy5kb2N1bWVudEVuZE1hcmtlciYmKG49dGhpcy5kb2N1bWVudEVuZE1hcmtlci5zZXRPcmlnUmFuZ2UoZSxuKSksbn10b1N0cmluZygpe2xldHtjb250ZW50czplLGRpcmVjdGl2ZXM6bix2YWx1ZTpyfT10aGlzO2lmKHIhPW51bGwpcmV0dXJuIHI7bGV0IHM9bi5qb2luKFwiXCIpO3JldHVybiBlLmxlbmd0aD4wJiYoKG4ubGVuZ3RoPjB8fGVbMF0udHlwZT09PXUuVHlwZS5DT01NRU5UKSYmKHMrPWAtLS1cbmApLHMrPWUuam9pbihcIlwiKSksc1tzLmxlbmd0aC0xXSE9PWBcbmAmJihzKz1gXG5gKSxzfX0sX249Y2xhc3MgZXh0ZW5kcyB1Lk5vZGV7cGFyc2UoZSxuKXt0aGlzLmNvbnRleHQ9ZTtsZXR7c3JjOnJ9PWUscz11Lk5vZGUuZW5kT2ZJZGVudGlmaWVyKHIsbisxKTtyZXR1cm4gdGhpcy52YWx1ZVJhbmdlPW5ldyB1LlJhbmdlKG4rMSxzKSxzPXUuTm9kZS5lbmRPZldoaXRlU3BhY2UocixzKSxzPXRoaXMucGFyc2VDb21tZW50KHMpLHN9fSxmZT17Q0xJUDpcIkNMSVBcIixLRUVQOlwiS0VFUFwiLFNUUklQOlwiU1RSSVBcIn0seG49Y2xhc3MgZXh0ZW5kcyB1Lk5vZGV7Y29uc3RydWN0b3IoZSxuKXtzdXBlcihlLG4pLHRoaXMuYmxvY2tJbmRlbnQ9bnVsbCx0aGlzLmNob21waW5nPWZlLkNMSVAsdGhpcy5oZWFkZXI9bnVsbH1nZXQgaW5jbHVkZXNUcmFpbGluZ0xpbmVzKCl7cmV0dXJuIHRoaXMuY2hvbXBpbmc9PT1mZS5LRUVQfWdldCBzdHJWYWx1ZSgpe2lmKCF0aGlzLnZhbHVlUmFuZ2V8fCF0aGlzLmNvbnRleHQpcmV0dXJuIG51bGw7bGV0e3N0YXJ0OmUsZW5kOm59PXRoaXMudmFsdWVSYW5nZSx7aW5kZW50OnIsc3JjOnN9PXRoaXMuY29udGV4dDtpZih0aGlzLnZhbHVlUmFuZ2UuaXNFbXB0eSgpKXJldHVyblwiXCI7bGV0IGk9bnVsbCxvPXNbbi0xXTtmb3IoO289PT1gXG5gfHxvPT09XCJcdFwifHxvPT09XCIgXCI7KXtpZihuLT0xLG48PWUpe2lmKHRoaXMuY2hvbXBpbmc9PT1mZS5LRUVQKWJyZWFrO3JldHVyblwiXCJ9bz09PWBcbmAmJihpPW4pLG89c1tuLTFdfWxldCBhPW4rMTtpJiYodGhpcy5jaG9tcGluZz09PWZlLktFRVA/KGE9aSxuPXRoaXMudmFsdWVSYW5nZS5lbmQpOm49aSk7bGV0IGM9cit0aGlzLmJsb2NrSW5kZW50LGw9dGhpcy50eXBlPT09dS5UeXBlLkJMT0NLX0ZPTERFRCxmPSEwLG09XCJcIixkPVwiXCIseT0hMTtmb3IobGV0IGg9ZTtoPG47KytoKXtmb3IobGV0IHc9MDt3PGMmJnNbaF09PT1cIiBcIjsrK3cpaCs9MTtsZXQgZz1zW2hdO2lmKGc9PT1gXG5gKWQ9PT1gXG5gP20rPWBcbmA6ZD1gXG5gO2Vsc2V7bGV0IHc9dS5Ob2RlLmVuZE9mTGluZShzLGgpLEM9cy5zbGljZShoLHcpO2g9dyxsJiYoZz09PVwiIFwifHxnPT09XCJcdFwiKSYmaDxhPyhkPT09XCIgXCI/ZD1gXG5gOiF5JiYhZiYmZD09PWBcbmAmJihkPWBcblxuYCksbSs9ZCtDLGQ9dzxuJiZzW3ddfHxcIlwiLHk9ITApOihtKz1kK0MsZD1sJiZoPGE/XCIgXCI6YFxuYCx5PSExKSxmJiZDIT09XCJcIiYmKGY9ITEpfX1yZXR1cm4gdGhpcy5jaG9tcGluZz09PWZlLlNUUklQP206bStgXG5gfXBhcnNlQmxvY2tIZWFkZXIoZSl7bGV0e3NyYzpufT10aGlzLmNvbnRleHQscj1lKzEscz1cIlwiO2Zvcig7Oyl7bGV0IGk9bltyXTtzd2l0Y2goaSl7Y2FzZVwiLVwiOnRoaXMuY2hvbXBpbmc9ZmUuU1RSSVA7YnJlYWs7Y2FzZVwiK1wiOnRoaXMuY2hvbXBpbmc9ZmUuS0VFUDticmVhaztjYXNlXCIwXCI6Y2FzZVwiMVwiOmNhc2VcIjJcIjpjYXNlXCIzXCI6Y2FzZVwiNFwiOmNhc2VcIjVcIjpjYXNlXCI2XCI6Y2FzZVwiN1wiOmNhc2VcIjhcIjpjYXNlXCI5XCI6cys9aTticmVhaztkZWZhdWx0OnJldHVybiB0aGlzLmJsb2NrSW5kZW50PU51bWJlcihzKXx8bnVsbCx0aGlzLmhlYWRlcj1uZXcgdS5SYW5nZShlLHIpLHJ9cis9MX19cGFyc2VCbG9ja1ZhbHVlKGUpe2xldHtpbmRlbnQ6bixzcmM6cn09dGhpcy5jb250ZXh0LHM9ISF0aGlzLmJsb2NrSW5kZW50LGk9ZSxvPWUsYT0xO2ZvcihsZXQgYz1yW2ldO2M9PT1gXG5gJiYoaSs9MSwhdS5Ob2RlLmF0RG9jdW1lbnRCb3VuZGFyeShyLGkpKTtjPXJbaV0pe2xldCBsPXUuTm9kZS5lbmRPZkJsb2NrSW5kZW50KHIsbixpKTtpZihsPT09bnVsbClicmVhaztsZXQgZj1yW2xdLG09bC0oaStuKTtpZih0aGlzLmJsb2NrSW5kZW50KXtpZihmJiZmIT09YFxuYCYmbTx0aGlzLmJsb2NrSW5kZW50KXtpZihyW2xdPT09XCIjXCIpYnJlYWs7aWYoIXRoaXMuZXJyb3Ipe2xldCB5PWBCbG9jayBzY2FsYXJzIG11c3Qgbm90IGJlIGxlc3MgaW5kZW50ZWQgdGhhbiB0aGVpciAke3M/XCJleHBsaWNpdCBpbmRlbnRhdGlvbiBpbmRpY2F0b3JcIjpcImZpcnN0IGxpbmVcIn1gO3RoaXMuZXJyb3I9bmV3IHUuWUFNTFNlbWFudGljRXJyb3IodGhpcyx5KX19fWVsc2UgaWYocltsXSE9PWBcbmApe2lmKG08YSl7bGV0IGQ9XCJCbG9jayBzY2FsYXJzIHdpdGggbW9yZS1pbmRlbnRlZCBsZWFkaW5nIGVtcHR5IGxpbmVzIG11c3QgdXNlIGFuIGV4cGxpY2l0IGluZGVudGF0aW9uIGluZGljYXRvclwiO3RoaXMuZXJyb3I9bmV3IHUuWUFNTFNlbWFudGljRXJyb3IodGhpcyxkKX10aGlzLmJsb2NrSW5kZW50PW19ZWxzZSBtPmEmJihhPW0pO3JbbF09PT1gXG5gP2k9bDppPW89dS5Ob2RlLmVuZE9mTGluZShyLGwpfXJldHVybiB0aGlzLmNob21waW5nIT09ZmUuS0VFUCYmKGk9cltvXT9vKzE6byksdGhpcy52YWx1ZVJhbmdlPW5ldyB1LlJhbmdlKGUrMSxpKSxpfXBhcnNlKGUsbil7dGhpcy5jb250ZXh0PWU7bGV0e3NyYzpyfT1lLHM9dGhpcy5wYXJzZUJsb2NrSGVhZGVyKG4pO3JldHVybiBzPXUuTm9kZS5lbmRPZldoaXRlU3BhY2UocixzKSxzPXRoaXMucGFyc2VDb21tZW50KHMpLHM9dGhpcy5wYXJzZUJsb2NrVmFsdWUocyksc31zZXRPcmlnUmFuZ2VzKGUsbil7cmV0dXJuIG49c3VwZXIuc2V0T3JpZ1JhbmdlcyhlLG4pLHRoaXMuaGVhZGVyP3RoaXMuaGVhZGVyLnNldE9yaWdSYW5nZShlLG4pOm59fSxSbj1jbGFzcyBleHRlbmRzIHUuTm9kZXtjb25zdHJ1Y3RvcihlLG4pe3N1cGVyKGUsbiksdGhpcy5pdGVtcz1udWxsfXByZXZOb2RlSXNKc29uTGlrZShlPXRoaXMuaXRlbXMubGVuZ3RoKXtsZXQgbj10aGlzLml0ZW1zW2UtMV07cmV0dXJuISFuJiYobi5qc29uTGlrZXx8bi50eXBlPT09dS5UeXBlLkNPTU1FTlQmJnRoaXMucHJldk5vZGVJc0pzb25MaWtlKGUtMSkpfXBhcnNlKGUsbil7dGhpcy5jb250ZXh0PWU7bGV0e3BhcnNlTm9kZTpyLHNyYzpzfT1lLHtpbmRlbnQ6aSxsaW5lU3RhcnQ6b309ZSxhPXNbbl07dGhpcy5pdGVtcz1be2NoYXI6YSxvZmZzZXQ6bn1dO2xldCBjPXUuTm9kZS5lbmRPZldoaXRlU3BhY2UocyxuKzEpO2ZvcihhPXNbY107YSYmYSE9PVwiXVwiJiZhIT09XCJ9XCI7KXtzd2l0Y2goYSl7Y2FzZWBcbmA6e289YysxO2xldCBsPXUuTm9kZS5lbmRPZldoaXRlU3BhY2UocyxvKTtpZihzW2xdPT09YFxuYCl7bGV0IGY9bmV3IEVlO289Zi5wYXJzZSh7c3JjOnN9LG8pLHRoaXMuaXRlbXMucHVzaChmKX1pZihjPXUuTm9kZS5lbmRPZkluZGVudChzLG8pLGM8PW8raSYmKGE9c1tjXSxjPG8raXx8YSE9PVwiXVwiJiZhIT09XCJ9XCIpKXtsZXQgZj1cIkluc3VmZmljaWVudCBpbmRlbnRhdGlvbiBpbiBmbG93IGNvbGxlY3Rpb25cIjt0aGlzLmVycm9yPW5ldyB1LllBTUxTZW1hbnRpY0Vycm9yKHRoaXMsZil9fWJyZWFrO2Nhc2VcIixcIjp0aGlzLml0ZW1zLnB1c2goe2NoYXI6YSxvZmZzZXQ6Y30pLGMrPTE7YnJlYWs7Y2FzZVwiI1wiOntsZXQgbD1uZXcgeWU7Yz1sLnBhcnNlKHtzcmM6c30sYyksdGhpcy5pdGVtcy5wdXNoKGwpfWJyZWFrO2Nhc2VcIj9cIjpjYXNlXCI6XCI6e2xldCBsPXNbYysxXTtpZihsPT09YFxuYHx8bD09PVwiXHRcInx8bD09PVwiIFwifHxsPT09XCIsXCJ8fGE9PT1cIjpcIiYmdGhpcy5wcmV2Tm9kZUlzSnNvbkxpa2UoKSl7dGhpcy5pdGVtcy5wdXNoKHtjaGFyOmEsb2Zmc2V0OmN9KSxjKz0xO2JyZWFrfX1kZWZhdWx0OntsZXQgbD1yKHthdExpbmVTdGFydDohMSxpbkNvbGxlY3Rpb246ITEsaW5GbG93OiEwLGluZGVudDotMSxsaW5lU3RhcnQ6byxwYXJlbnQ6dGhpc30sYyk7aWYoIWwpcmV0dXJuIHRoaXMudmFsdWVSYW5nZT1uZXcgdS5SYW5nZShuLGMpLGM7dGhpcy5pdGVtcy5wdXNoKGwpLGM9dS5Ob2RlLm5vcm1hbGl6ZU9mZnNldChzLGwucmFuZ2UuZW5kKX19Yz11Lk5vZGUuZW5kT2ZXaGl0ZVNwYWNlKHMsYyksYT1zW2NdfXJldHVybiB0aGlzLnZhbHVlUmFuZ2U9bmV3IHUuUmFuZ2UobixjKzEpLGEmJih0aGlzLml0ZW1zLnB1c2goe2NoYXI6YSxvZmZzZXQ6Y30pLGM9dS5Ob2RlLmVuZE9mV2hpdGVTcGFjZShzLGMrMSksYz10aGlzLnBhcnNlQ29tbWVudChjKSksY31zZXRPcmlnUmFuZ2VzKGUsbil7cmV0dXJuIG49c3VwZXIuc2V0T3JpZ1JhbmdlcyhlLG4pLHRoaXMuaXRlbXMuZm9yRWFjaChyPT57aWYociBpbnN0YW5jZW9mIHUuTm9kZSluPXIuc2V0T3JpZ1JhbmdlcyhlLG4pO2Vsc2UgaWYoZS5sZW5ndGg9PT0wKXIub3JpZ09mZnNldD1yLm9mZnNldDtlbHNle2xldCBzPW47Zm9yKDtzPGUubGVuZ3RoJiYhKGVbc10+ci5vZmZzZXQpOykrK3M7ci5vcmlnT2Zmc2V0PXIub2Zmc2V0K3Msbj1zfX0pLG59dG9TdHJpbmcoKXtsZXR7Y29udGV4dDp7c3JjOmV9LGl0ZW1zOm4scmFuZ2U6cix2YWx1ZTpzfT10aGlzO2lmKHMhPW51bGwpcmV0dXJuIHM7bGV0IGk9bi5maWx0ZXIoYz0+YyBpbnN0YW5jZW9mIHUuTm9kZSksbz1cIlwiLGE9ci5zdGFydDtyZXR1cm4gaS5mb3JFYWNoKGM9PntsZXQgbD1lLnNsaWNlKGEsYy5yYW5nZS5zdGFydCk7YT1jLnJhbmdlLmVuZCxvKz1sK1N0cmluZyhjKSxvW28ubGVuZ3RoLTFdPT09YFxuYCYmZVthLTFdIT09YFxuYCYmZVthXT09PWBcbmAmJihhKz0xKX0pLG8rPWUuc2xpY2UoYSxyLmVuZCksdS5Ob2RlLmFkZFN0cmluZ1Rlcm1pbmF0b3IoZSxyLmVuZCxvKX19LERuPWNsYXNzIHQgZXh0ZW5kcyB1Lk5vZGV7c3RhdGljIGVuZE9mUXVvdGUoZSxuKXtsZXQgcj1lW25dO2Zvcig7ciYmciE9PSdcIic7KW4rPXI9PT1cIlxcXFxcIj8yOjEscj1lW25dO3JldHVybiBuKzF9Z2V0IHN0clZhbHVlKCl7aWYoIXRoaXMudmFsdWVSYW5nZXx8IXRoaXMuY29udGV4dClyZXR1cm4gbnVsbDtsZXQgZT1bXSx7c3RhcnQ6bixlbmQ6cn09dGhpcy52YWx1ZVJhbmdlLHtpbmRlbnQ6cyxzcmM6aX09dGhpcy5jb250ZXh0O2lbci0xXSE9PSdcIicmJmUucHVzaChuZXcgdS5ZQU1MU3ludGF4RXJyb3IodGhpcywnTWlzc2luZyBjbG9zaW5nIFwicXVvdGUnKSk7bGV0IG89XCJcIjtmb3IobGV0IGE9bisxO2E8ci0xOysrYSl7bGV0IGM9aVthXTtpZihjPT09YFxuYCl7dS5Ob2RlLmF0RG9jdW1lbnRCb3VuZGFyeShpLGErMSkmJmUucHVzaChuZXcgdS5ZQU1MU2VtYW50aWNFcnJvcih0aGlzLFwiRG9jdW1lbnQgYm91bmRhcnkgaW5kaWNhdG9ycyBhcmUgbm90IGFsbG93ZWQgd2l0aGluIHN0cmluZyB2YWx1ZXNcIikpO2xldHtmb2xkOmwsb2Zmc2V0OmYsZXJyb3I6bX09dS5Ob2RlLmZvbGROZXdsaW5lKGksYSxzKTtvKz1sLGE9ZixtJiZlLnB1c2gobmV3IHUuWUFNTFNlbWFudGljRXJyb3IodGhpcyxcIk11bHRpLWxpbmUgZG91YmxlLXF1b3RlZCBzdHJpbmcgbmVlZHMgdG8gYmUgc3VmZmljaWVudGx5IGluZGVudGVkXCIpKX1lbHNlIGlmKGM9PT1cIlxcXFxcIilzd2l0Y2goYSs9MSxpW2FdKXtjYXNlXCIwXCI6bys9XCJcXDBcIjticmVhaztjYXNlXCJhXCI6bys9XCJcXHgwN1wiO2JyZWFrO2Nhc2VcImJcIjpvKz1cIlxcYlwiO2JyZWFrO2Nhc2VcImVcIjpvKz1cIlxceDFCXCI7YnJlYWs7Y2FzZVwiZlwiOm8rPVwiXFxmXCI7YnJlYWs7Y2FzZVwiblwiOm8rPWBcbmA7YnJlYWs7Y2FzZVwiclwiOm8rPVwiXFxyXCI7YnJlYWs7Y2FzZVwidFwiOm8rPVwiXHRcIjticmVhaztjYXNlXCJ2XCI6bys9XCJcXHZcIjticmVhaztjYXNlXCJOXCI6bys9XCJcXHg4NVwiO2JyZWFrO2Nhc2VcIl9cIjpvKz1cIlxceEEwXCI7YnJlYWs7Y2FzZVwiTFwiOm8rPVwiXFx1MjAyOFwiO2JyZWFrO2Nhc2VcIlBcIjpvKz1cIlxcdTIwMjlcIjticmVhaztjYXNlXCIgXCI6bys9XCIgXCI7YnJlYWs7Y2FzZSdcIic6bys9J1wiJzticmVhaztjYXNlXCIvXCI6bys9XCIvXCI7YnJlYWs7Y2FzZVwiXFxcXFwiOm8rPVwiXFxcXFwiO2JyZWFrO2Nhc2VcIlx0XCI6bys9XCJcdFwiO2JyZWFrO2Nhc2VcInhcIjpvKz10aGlzLnBhcnNlQ2hhckNvZGUoYSsxLDIsZSksYSs9MjticmVhaztjYXNlXCJ1XCI6bys9dGhpcy5wYXJzZUNoYXJDb2RlKGErMSw0LGUpLGErPTQ7YnJlYWs7Y2FzZVwiVVwiOm8rPXRoaXMucGFyc2VDaGFyQ29kZShhKzEsOCxlKSxhKz04O2JyZWFrO2Nhc2VgXG5gOmZvcig7aVthKzFdPT09XCIgXCJ8fGlbYSsxXT09PVwiXHRcIjspYSs9MTticmVhaztkZWZhdWx0OmUucHVzaChuZXcgdS5ZQU1MU3ludGF4RXJyb3IodGhpcyxgSW52YWxpZCBlc2NhcGUgc2VxdWVuY2UgJHtpLnN1YnN0cihhLTEsMil9YCkpLG8rPVwiXFxcXFwiK2lbYV19ZWxzZSBpZihjPT09XCIgXCJ8fGM9PT1cIlx0XCIpe2xldCBsPWEsZj1pW2ErMV07Zm9yKDtmPT09XCIgXCJ8fGY9PT1cIlx0XCI7KWErPTEsZj1pW2ErMV07ZiE9PWBcbmAmJihvKz1hPmw/aS5zbGljZShsLGErMSk6Yyl9ZWxzZSBvKz1jfXJldHVybiBlLmxlbmd0aD4wP3tlcnJvcnM6ZSxzdHI6b306b31wYXJzZUNoYXJDb2RlKGUsbixyKXtsZXR7c3JjOnN9PXRoaXMuY29udGV4dCxpPXMuc3Vic3RyKGUsbiksYT1pLmxlbmd0aD09PW4mJi9eWzAtOWEtZkEtRl0rJC8udGVzdChpKT9wYXJzZUludChpLDE2KTpOYU47cmV0dXJuIGlzTmFOKGEpPyhyLnB1c2gobmV3IHUuWUFNTFN5bnRheEVycm9yKHRoaXMsYEludmFsaWQgZXNjYXBlIHNlcXVlbmNlICR7cy5zdWJzdHIoZS0yLG4rMil9YCkpLHMuc3Vic3RyKGUtMixuKzIpKTpTdHJpbmcuZnJvbUNvZGVQb2ludChhKX1wYXJzZShlLG4pe3RoaXMuY29udGV4dD1lO2xldHtzcmM6cn09ZSxzPXQuZW5kT2ZRdW90ZShyLG4rMSk7cmV0dXJuIHRoaXMudmFsdWVSYW5nZT1uZXcgdS5SYW5nZShuLHMpLHM9dS5Ob2RlLmVuZE9mV2hpdGVTcGFjZShyLHMpLHM9dGhpcy5wYXJzZUNvbW1lbnQocyksc319LFluPWNsYXNzIHQgZXh0ZW5kcyB1Lk5vZGV7c3RhdGljIGVuZE9mUXVvdGUoZSxuKXtsZXQgcj1lW25dO2Zvcig7cjspaWYocj09PVwiJ1wiKXtpZihlW24rMV0hPT1cIidcIilicmVhaztyPWVbbis9Ml19ZWxzZSByPWVbbis9MV07cmV0dXJuIG4rMX1nZXQgc3RyVmFsdWUoKXtpZighdGhpcy52YWx1ZVJhbmdlfHwhdGhpcy5jb250ZXh0KXJldHVybiBudWxsO2xldCBlPVtdLHtzdGFydDpuLGVuZDpyfT10aGlzLnZhbHVlUmFuZ2Use2luZGVudDpzLHNyYzppfT10aGlzLmNvbnRleHQ7aVtyLTFdIT09XCInXCImJmUucHVzaChuZXcgdS5ZQU1MU3ludGF4RXJyb3IodGhpcyxcIk1pc3NpbmcgY2xvc2luZyAncXVvdGVcIikpO2xldCBvPVwiXCI7Zm9yKGxldCBhPW4rMTthPHItMTsrK2Epe2xldCBjPWlbYV07aWYoYz09PWBcbmApe3UuTm9kZS5hdERvY3VtZW50Qm91bmRhcnkoaSxhKzEpJiZlLnB1c2gobmV3IHUuWUFNTFNlbWFudGljRXJyb3IodGhpcyxcIkRvY3VtZW50IGJvdW5kYXJ5IGluZGljYXRvcnMgYXJlIG5vdCBhbGxvd2VkIHdpdGhpbiBzdHJpbmcgdmFsdWVzXCIpKTtsZXR7Zm9sZDpsLG9mZnNldDpmLGVycm9yOm19PXUuTm9kZS5mb2xkTmV3bGluZShpLGEscyk7bys9bCxhPWYsbSYmZS5wdXNoKG5ldyB1LllBTUxTZW1hbnRpY0Vycm9yKHRoaXMsXCJNdWx0aS1saW5lIHNpbmdsZS1xdW90ZWQgc3RyaW5nIG5lZWRzIHRvIGJlIHN1ZmZpY2llbnRseSBpbmRlbnRlZFwiKSl9ZWxzZSBpZihjPT09XCInXCIpbys9YyxhKz0xLGlbYV0hPT1cIidcIiYmZS5wdXNoKG5ldyB1LllBTUxTeW50YXhFcnJvcih0aGlzLFwiVW5lc2NhcGVkIHNpbmdsZSBxdW90ZT8gVGhpcyBzaG91bGQgbm90IGhhcHBlbi5cIikpO2Vsc2UgaWYoYz09PVwiIFwifHxjPT09XCJcdFwiKXtsZXQgbD1hLGY9aVthKzFdO2Zvcig7Zj09PVwiIFwifHxmPT09XCJcdFwiOylhKz0xLGY9aVthKzFdO2YhPT1gXG5gJiYobys9YT5sP2kuc2xpY2UobCxhKzEpOmMpfWVsc2Ugbys9Y31yZXR1cm4gZS5sZW5ndGg+MD97ZXJyb3JzOmUsc3RyOm99Om99cGFyc2UoZSxuKXt0aGlzLmNvbnRleHQ9ZTtsZXR7c3JjOnJ9PWUscz10LmVuZE9mUXVvdGUocixuKzEpO3JldHVybiB0aGlzLnZhbHVlUmFuZ2U9bmV3IHUuUmFuZ2UobixzKSxzPXUuTm9kZS5lbmRPZldoaXRlU3BhY2UocixzKSxzPXRoaXMucGFyc2VDb21tZW50KHMpLHN9fTtmdW5jdGlvbiBNbyh0LGUpe3N3aXRjaCh0KXtjYXNlIHUuVHlwZS5BTElBUzpyZXR1cm4gbmV3IF9uKHQsZSk7Y2FzZSB1LlR5cGUuQkxPQ0tfRk9MREVEOmNhc2UgdS5UeXBlLkJMT0NLX0xJVEVSQUw6cmV0dXJuIG5ldyB4bih0LGUpO2Nhc2UgdS5UeXBlLkZMT1dfTUFQOmNhc2UgdS5UeXBlLkZMT1dfU0VROnJldHVybiBuZXcgUm4odCxlKTtjYXNlIHUuVHlwZS5NQVBfS0VZOmNhc2UgdS5UeXBlLk1BUF9WQUxVRTpjYXNlIHUuVHlwZS5TRVFfSVRFTTpyZXR1cm4gbmV3IHV0KHQsZSk7Y2FzZSB1LlR5cGUuQ09NTUVOVDpjYXNlIHUuVHlwZS5QTEFJTjpyZXR1cm4gbmV3IHUuUGxhaW5WYWx1ZSh0LGUpO2Nhc2UgdS5UeXBlLlFVT1RFX0RPVUJMRTpyZXR1cm4gbmV3IERuKHQsZSk7Y2FzZSB1LlR5cGUuUVVPVEVfU0lOR0xFOnJldHVybiBuZXcgWW4odCxlKTtkZWZhdWx0OnJldHVybiBudWxsfX12YXIgQm49Y2xhc3MgdHtzdGF0aWMgcGFyc2VUeXBlKGUsbixyKXtzd2l0Y2goZVtuXSl7Y2FzZVwiKlwiOnJldHVybiB1LlR5cGUuQUxJQVM7Y2FzZVwiPlwiOnJldHVybiB1LlR5cGUuQkxPQ0tfRk9MREVEO2Nhc2VcInxcIjpyZXR1cm4gdS5UeXBlLkJMT0NLX0xJVEVSQUw7Y2FzZVwie1wiOnJldHVybiB1LlR5cGUuRkxPV19NQVA7Y2FzZVwiW1wiOnJldHVybiB1LlR5cGUuRkxPV19TRVE7Y2FzZVwiP1wiOnJldHVybiFyJiZ1Lk5vZGUuYXRCbGFuayhlLG4rMSwhMCk/dS5UeXBlLk1BUF9LRVk6dS5UeXBlLlBMQUlOO2Nhc2VcIjpcIjpyZXR1cm4hciYmdS5Ob2RlLmF0QmxhbmsoZSxuKzEsITApP3UuVHlwZS5NQVBfVkFMVUU6dS5UeXBlLlBMQUlOO2Nhc2VcIi1cIjpyZXR1cm4hciYmdS5Ob2RlLmF0QmxhbmsoZSxuKzEsITApP3UuVHlwZS5TRVFfSVRFTTp1LlR5cGUuUExBSU47Y2FzZSdcIic6cmV0dXJuIHUuVHlwZS5RVU9URV9ET1VCTEU7Y2FzZVwiJ1wiOnJldHVybiB1LlR5cGUuUVVPVEVfU0lOR0xFO2RlZmF1bHQ6cmV0dXJuIHUuVHlwZS5QTEFJTn19Y29uc3RydWN0b3IoZT17fSx7YXRMaW5lU3RhcnQ6bixpbkNvbGxlY3Rpb246cixpbkZsb3c6cyxpbmRlbnQ6aSxsaW5lU3RhcnQ6byxwYXJlbnQ6YX09e30pe3UuX2RlZmluZVByb3BlcnR5KHRoaXMsXCJwYXJzZU5vZGVcIiwoYyxsKT0+e2lmKHUuTm9kZS5hdERvY3VtZW50Qm91bmRhcnkodGhpcy5zcmMsbCkpcmV0dXJuIG51bGw7bGV0IGY9bmV3IHQodGhpcyxjKSx7cHJvcHM6bSx0eXBlOmQsdmFsdWVTdGFydDp5fT1mLnBhcnNlUHJvcHMobCksaD1NbyhkLG0pLGc9aC5wYXJzZShmLHkpO2lmKGgucmFuZ2U9bmV3IHUuUmFuZ2UobCxnKSxnPD1sJiYoaC5lcnJvcj1uZXcgRXJyb3IoXCJOb2RlI3BhcnNlIGNvbnN1bWVkIG5vIGNoYXJhY3RlcnNcIiksaC5lcnJvci5wYXJzZUVuZD1nLGguZXJyb3Iuc291cmNlPWgsaC5yYW5nZS5lbmQ9bCsxKSxmLm5vZGVTdGFydHNDb2xsZWN0aW9uKGgpKXshaC5lcnJvciYmIWYuYXRMaW5lU3RhcnQmJmYucGFyZW50LnR5cGU9PT11LlR5cGUuRE9DVU1FTlQmJihoLmVycm9yPW5ldyB1LllBTUxTeW50YXhFcnJvcihoLFwiQmxvY2sgY29sbGVjdGlvbiBtdXN0IG5vdCBoYXZlIHByZWNlZGluZyBjb250ZW50IGhlcmUgKGUuZy4gZGlyZWN0aXZlcy1lbmQgaW5kaWNhdG9yKVwiKSk7bGV0IHc9bmV3ICR0KGgpO3JldHVybiBnPXcucGFyc2UobmV3IHQoZiksZyksdy5yYW5nZT1uZXcgdS5SYW5nZShsLGcpLHd9cmV0dXJuIGh9KSx0aGlzLmF0TGluZVN0YXJ0PW4/PyhlLmF0TGluZVN0YXJ0fHwhMSksdGhpcy5pbkNvbGxlY3Rpb249cj8/KGUuaW5Db2xsZWN0aW9ufHwhMSksdGhpcy5pbkZsb3c9cz8/KGUuaW5GbG93fHwhMSksdGhpcy5pbmRlbnQ9aT8/ZS5pbmRlbnQsdGhpcy5saW5lU3RhcnQ9bz8/ZS5saW5lU3RhcnQsdGhpcy5wYXJlbnQ9YT8/KGUucGFyZW50fHx7fSksdGhpcy5yb290PWUucm9vdCx0aGlzLnNyYz1lLnNyY31ub2RlU3RhcnRzQ29sbGVjdGlvbihlKXtsZXR7aW5Db2xsZWN0aW9uOm4saW5GbG93OnIsc3JjOnN9PXRoaXM7aWYobnx8cilyZXR1cm4hMTtpZihlIGluc3RhbmNlb2YgdXQpcmV0dXJuITA7bGV0IGk9ZS5yYW5nZS5lbmQ7cmV0dXJuIHNbaV09PT1gXG5gfHxzW2ktMV09PT1gXG5gPyExOihpPXUuTm9kZS5lbmRPZldoaXRlU3BhY2UocyxpKSxzW2ldPT09XCI6XCIpfXBhcnNlUHJvcHMoZSl7bGV0e2luRmxvdzpuLHBhcmVudDpyLHNyYzpzfT10aGlzLGk9W10sbz0hMTtlPXRoaXMuYXRMaW5lU3RhcnQ/dS5Ob2RlLmVuZE9mSW5kZW50KHMsZSk6dS5Ob2RlLmVuZE9mV2hpdGVTcGFjZShzLGUpO2xldCBhPXNbZV07Zm9yKDthPT09dS5DaGFyLkFOQ0hPUnx8YT09PXUuQ2hhci5DT01NRU5UfHxhPT09dS5DaGFyLlRBR3x8YT09PWBcbmA7KXtpZihhPT09YFxuYCl7bGV0IGw9ZSxmO2RvIGY9bCsxLGw9dS5Ob2RlLmVuZE9mSW5kZW50KHMsZik7d2hpbGUoc1tsXT09PWBcbmApO2xldCBtPWwtKGYrdGhpcy5pbmRlbnQpLGQ9ci50eXBlPT09dS5UeXBlLlNFUV9JVEVNJiZyLmNvbnRleHQuYXRMaW5lU3RhcnQ7aWYoc1tsXSE9PVwiI1wiJiYhdS5Ob2RlLm5leHROb2RlSXNJbmRlbnRlZChzW2xdLG0sIWQpKWJyZWFrO3RoaXMuYXRMaW5lU3RhcnQ9ITAsdGhpcy5saW5lU3RhcnQ9ZixvPSExLGU9bH1lbHNlIGlmKGE9PT11LkNoYXIuQ09NTUVOVCl7bGV0IGw9dS5Ob2RlLmVuZE9mTGluZShzLGUrMSk7aS5wdXNoKG5ldyB1LlJhbmdlKGUsbCkpLGU9bH1lbHNle2xldCBsPXUuTm9kZS5lbmRPZklkZW50aWZpZXIocyxlKzEpO2E9PT11LkNoYXIuVEFHJiZzW2xdPT09XCIsXCImJi9eW2EtekEtWjAtOS1dK1xcLlthLXpBLVowLTktXSssXFxkXFxkXFxkXFxkKC1cXGRcXGQpezAsMn1cXC9cXFMvLnRlc3Qocy5zbGljZShlKzEsbCsxMykpJiYobD11Lk5vZGUuZW5kT2ZJZGVudGlmaWVyKHMsbCs1KSksaS5wdXNoKG5ldyB1LlJhbmdlKGUsbCkpLG89ITAsZT11Lk5vZGUuZW5kT2ZXaGl0ZVNwYWNlKHMsbCl9YT1zW2VdfW8mJmE9PT1cIjpcIiYmdS5Ob2RlLmF0QmxhbmsocyxlKzEsITApJiYoZS09MSk7bGV0IGM9dC5wYXJzZVR5cGUocyxlLG4pO3JldHVybntwcm9wczppLHR5cGU6Yyx2YWx1ZVN0YXJ0OmV9fX07ZnVuY3Rpb24ga28odCl7bGV0IGU9W107dC5pbmRleE9mKFwiXFxyXCIpIT09LTEmJih0PXQucmVwbGFjZSgvXFxyXFxuPy9nLChzLGkpPT4ocy5sZW5ndGg+MSYmZS5wdXNoKGkpLGBcbmApKSk7bGV0IG49W10scj0wO2Rve2xldCBzPW5ldyBQbixpPW5ldyBCbih7c3JjOnR9KTtyPXMucGFyc2UoaSxyKSxuLnB1c2gocyl9d2hpbGUocjx0Lmxlbmd0aCk7cmV0dXJuIG4uc2V0T3JpZ1Jhbmdlcz0oKT0+e2lmKGUubGVuZ3RoPT09MClyZXR1cm4hMTtmb3IobGV0IGk9MTtpPGUubGVuZ3RoOysraSllW2ldLT1pO2xldCBzPTA7Zm9yKGxldCBpPTA7aTxuLmxlbmd0aDsrK2kpcz1uW2ldLnNldE9yaWdSYW5nZXMoZSxzKTtyZXR1cm4gZS5zcGxpY2UoMCxlLmxlbmd0aCksITB9LG4udG9TdHJpbmc9KCk9Pm4uam9pbihgLi4uXG5gKSxufV9zLnBhcnNlPWtvfSk7dmFyICRlPWVlKGs9PntcInVzZSBzdHJpY3RcIjt2YXIgcD1sZSgpO2Z1bmN0aW9uIHZvKHQsZSxuKXtyZXR1cm4gbj9gIyR7bi5yZXBsYWNlKC9bXFxzXFxTXV4vZ20sYCQmJHtlfSNgKX1cbiR7ZX0ke3R9YDp0fWZ1bmN0aW9uIEJlKHQsZSxuKXtyZXR1cm4gbj9uLmluZGV4T2YoYFxuYCk9PT0tMT9gJHt0fSAjJHtufWA6YCR7dH1cbmArbi5yZXBsYWNlKC9eL2dtLGAke2V8fFwiXCJ9I2ApOnR9dmFyIFc9Y2xhc3N7fTtmdW5jdGlvbiB1ZSh0LGUsbil7aWYoQXJyYXkuaXNBcnJheSh0KSlyZXR1cm4gdC5tYXAoKHIscyk9PnVlKHIsU3RyaW5nKHMpLG4pKTtpZih0JiZ0eXBlb2YgdC50b0pTT049PVwiZnVuY3Rpb25cIil7bGV0IHI9biYmbi5hbmNob3JzJiZuLmFuY2hvcnMuZ2V0KHQpO3ImJihuLm9uQ3JlYXRlPWk9PntyLnJlcz1pLGRlbGV0ZSBuLm9uQ3JlYXRlfSk7bGV0IHM9dC50b0pTT04oZSxuKTtyZXR1cm4gciYmbi5vbkNyZWF0ZSYmbi5vbkNyZWF0ZShzKSxzfXJldHVybighbnx8IW4ua2VlcCkmJnR5cGVvZiB0PT1cImJpZ2ludFwiP051bWJlcih0KTp0fXZhciBQPWNsYXNzIGV4dGVuZHMgV3tjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMudmFsdWU9ZX10b0pTT04oZSxuKXtyZXR1cm4gbiYmbi5rZWVwP3RoaXMudmFsdWU6dWUodGhpcy52YWx1ZSxlLG4pfXRvU3RyaW5nKCl7cmV0dXJuIFN0cmluZyh0aGlzLnZhbHVlKX19O2Z1bmN0aW9uIFJzKHQsZSxuKXtsZXQgcj1uO2ZvcihsZXQgcz1lLmxlbmd0aC0xO3M+PTA7LS1zKXtsZXQgaT1lW3NdO2lmKE51bWJlci5pc0ludGVnZXIoaSkmJmk+PTApe2xldCBvPVtdO29baV09cixyPW99ZWxzZXtsZXQgbz17fTtPYmplY3QuZGVmaW5lUHJvcGVydHkobyxpLHt2YWx1ZTpyLHdyaXRhYmxlOiEwLGVudW1lcmFibGU6ITAsY29uZmlndXJhYmxlOiEwfSkscj1vfX1yZXR1cm4gdC5jcmVhdGVOb2RlKHIsITEpfXZhciBCcz10PT50PT1udWxsfHx0eXBlb2YgdD09XCJvYmplY3RcIiYmdFtTeW1ib2wuaXRlcmF0b3JdKCkubmV4dCgpLmRvbmUsaj1jbGFzcyB0IGV4dGVuZHMgV3tjb25zdHJ1Y3RvcihlKXtzdXBlcigpLHAuX2RlZmluZVByb3BlcnR5KHRoaXMsXCJpdGVtc1wiLFtdKSx0aGlzLnNjaGVtYT1lfWFkZEluKGUsbil7aWYoQnMoZSkpdGhpcy5hZGQobik7ZWxzZXtsZXRbciwuLi5zXT1lLGk9dGhpcy5nZXQociwhMCk7aWYoaSBpbnN0YW5jZW9mIHQpaS5hZGRJbihzLG4pO2Vsc2UgaWYoaT09PXZvaWQgMCYmdGhpcy5zY2hlbWEpdGhpcy5zZXQocixScyh0aGlzLnNjaGVtYSxzLG4pKTtlbHNlIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgWUFNTCBjb2xsZWN0aW9uIGF0ICR7cn0uIFJlbWFpbmluZyBwYXRoOiAke3N9YCl9fWRlbGV0ZUluKFtlLC4uLm5dKXtpZihuLmxlbmd0aD09PTApcmV0dXJuIHRoaXMuZGVsZXRlKGUpO2xldCByPXRoaXMuZ2V0KGUsITApO2lmKHIgaW5zdGFuY2VvZiB0KXJldHVybiByLmRlbGV0ZUluKG4pO3Rocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgWUFNTCBjb2xsZWN0aW9uIGF0ICR7ZX0uIFJlbWFpbmluZyBwYXRoOiAke259YCl9Z2V0SW4oW2UsLi4ubl0scil7bGV0IHM9dGhpcy5nZXQoZSwhMCk7cmV0dXJuIG4ubGVuZ3RoPT09MD8hciYmcyBpbnN0YW5jZW9mIFA/cy52YWx1ZTpzOnMgaW5zdGFuY2VvZiB0P3MuZ2V0SW4obixyKTp2b2lkIDB9aGFzQWxsTnVsbFZhbHVlcygpe3JldHVybiB0aGlzLml0ZW1zLmV2ZXJ5KGU9PntpZighZXx8ZS50eXBlIT09XCJQQUlSXCIpcmV0dXJuITE7bGV0IG49ZS52YWx1ZTtyZXR1cm4gbj09bnVsbHx8biBpbnN0YW5jZW9mIFAmJm4udmFsdWU9PW51bGwmJiFuLmNvbW1lbnRCZWZvcmUmJiFuLmNvbW1lbnQmJiFuLnRhZ30pfWhhc0luKFtlLC4uLm5dKXtpZihuLmxlbmd0aD09PTApcmV0dXJuIHRoaXMuaGFzKGUpO2xldCByPXRoaXMuZ2V0KGUsITApO3JldHVybiByIGluc3RhbmNlb2YgdD9yLmhhc0luKG4pOiExfXNldEluKFtlLC4uLm5dLHIpe2lmKG4ubGVuZ3RoPT09MCl0aGlzLnNldChlLHIpO2Vsc2V7bGV0IHM9dGhpcy5nZXQoZSwhMCk7aWYocyBpbnN0YW5jZW9mIHQpcy5zZXRJbihuLHIpO2Vsc2UgaWYocz09PXZvaWQgMCYmdGhpcy5zY2hlbWEpdGhpcy5zZXQoZSxScyh0aGlzLnNjaGVtYSxuLHIpKTtlbHNlIHRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgWUFNTCBjb2xsZWN0aW9uIGF0ICR7ZX0uIFJlbWFpbmluZyBwYXRoOiAke259YCl9fXRvSlNPTigpe3JldHVybiBudWxsfXRvU3RyaW5nKGUse2Jsb2NrSXRlbTpuLGZsb3dDaGFyczpyLGlzTWFwOnMsaXRlbUluZGVudDppfSxvLGEpe2xldHtpbmRlbnQ6YyxpbmRlbnRTdGVwOmwsc3RyaW5naWZ5OmZ9PWUsbT10aGlzLnR5cGU9PT1wLlR5cGUuRkxPV19NQVB8fHRoaXMudHlwZT09PXAuVHlwZS5GTE9XX1NFUXx8ZS5pbkZsb3c7bSYmKGkrPWwpO2xldCBkPXMmJnRoaXMuaGFzQWxsTnVsbFZhbHVlcygpO2U9T2JqZWN0LmFzc2lnbih7fSxlLHthbGxOdWxsVmFsdWVzOmQsaW5kZW50OmksaW5GbG93Om0sdHlwZTpudWxsfSk7bGV0IHk9ITEsaD0hMSxnPXRoaXMuaXRlbXMucmVkdWNlKChDLEwsTSk9PntsZXQgQTtMJiYoIXkmJkwuc3BhY2VCZWZvcmUmJkMucHVzaCh7dHlwZTpcImNvbW1lbnRcIixzdHI6XCJcIn0pLEwuY29tbWVudEJlZm9yZSYmTC5jb21tZW50QmVmb3JlLm1hdGNoKC9eLiokL2dtKS5mb3JFYWNoKExpPT57Qy5wdXNoKHt0eXBlOlwiY29tbWVudFwiLHN0cjpgIyR7TGl9YH0pfSksTC5jb21tZW50JiYoQT1MLmNvbW1lbnQpLG0mJigheSYmTC5zcGFjZUJlZm9yZXx8TC5jb21tZW50QmVmb3JlfHxMLmNvbW1lbnR8fEwua2V5JiYoTC5rZXkuY29tbWVudEJlZm9yZXx8TC5rZXkuY29tbWVudCl8fEwudmFsdWUmJihMLnZhbHVlLmNvbW1lbnRCZWZvcmV8fEwudmFsdWUuY29tbWVudCkpJiYoaD0hMCkpLHk9ITE7bGV0IF89ZihMLGUsKCk9PkE9bnVsbCwoKT0+eT0hMCk7cmV0dXJuIG0mJiFoJiZfLmluY2x1ZGVzKGBcbmApJiYoaD0hMCksbSYmTTx0aGlzLml0ZW1zLmxlbmd0aC0xJiYoXys9XCIsXCIpLF89QmUoXyxpLEEpLHkmJihBfHxtKSYmKHk9ITEpLEMucHVzaCh7dHlwZTpcIml0ZW1cIixzdHI6X30pLEN9LFtdKSx3O2lmKGcubGVuZ3RoPT09MCl3PXIuc3RhcnQrci5lbmQ7ZWxzZSBpZihtKXtsZXR7c3RhcnQ6QyxlbmQ6TH09cixNPWcubWFwKEE9PkEuc3RyKTtpZihofHxNLnJlZHVjZSgoQSxfKT0+QStfLmxlbmd0aCsyLDIpPnQubWF4Rmxvd1N0cmluZ1NpbmdsZUxpbmVMZW5ndGgpe3c9Qztmb3IobGV0IEEgb2YgTSl3Kz1BP2BcbiR7bH0ke2N9JHtBfWA6YFxuYDt3Kz1gXG4ke2N9JHtMfWB9ZWxzZSB3PWAke0N9ICR7TS5qb2luKFwiIFwiKX0gJHtMfWB9ZWxzZXtsZXQgQz1nLm1hcChuKTt3PUMuc2hpZnQoKTtmb3IobGV0IEwgb2YgQyl3Kz1MP2BcbiR7Y30ke0x9YDpgXG5gfXJldHVybiB0aGlzLmNvbW1lbnQ/KHcrPWBcbmArdGhpcy5jb21tZW50LnJlcGxhY2UoL14vZ20sYCR7Y30jYCksbyYmbygpKTp5JiZhJiZhKCksd319O3AuX2RlZmluZVByb3BlcnR5KGosXCJtYXhGbG93U3RyaW5nU2luZ2xlTGluZUxlbmd0aFwiLDYwKTtmdW5jdGlvbiBGdCh0KXtsZXQgZT10IGluc3RhbmNlb2YgUD90LnZhbHVlOnQ7cmV0dXJuIGUmJnR5cGVvZiBlPT1cInN0cmluZ1wiJiYoZT1OdW1iZXIoZSkpLE51bWJlci5pc0ludGVnZXIoZSkmJmU+PTA/ZTpudWxsfXZhciBwZT1jbGFzcyBleHRlbmRzIGp7YWRkKGUpe3RoaXMuaXRlbXMucHVzaChlKX1kZWxldGUoZSl7bGV0IG49RnQoZSk7cmV0dXJuIHR5cGVvZiBuIT1cIm51bWJlclwiPyExOnRoaXMuaXRlbXMuc3BsaWNlKG4sMSkubGVuZ3RoPjB9Z2V0KGUsbil7bGV0IHI9RnQoZSk7aWYodHlwZW9mIHIhPVwibnVtYmVyXCIpcmV0dXJuO2xldCBzPXRoaXMuaXRlbXNbcl07cmV0dXJuIW4mJnMgaW5zdGFuY2VvZiBQP3MudmFsdWU6c31oYXMoZSl7bGV0IG49RnQoZSk7cmV0dXJuIHR5cGVvZiBuPT1cIm51bWJlclwiJiZuPHRoaXMuaXRlbXMubGVuZ3RofXNldChlLG4pe2xldCByPUZ0KGUpO2lmKHR5cGVvZiByIT1cIm51bWJlclwiKXRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgYSB2YWxpZCBpbmRleCwgbm90ICR7ZX0uYCk7dGhpcy5pdGVtc1tyXT1ufXRvSlNPTihlLG4pe2xldCByPVtdO24mJm4ub25DcmVhdGUmJm4ub25DcmVhdGUocik7bGV0IHM9MDtmb3IobGV0IGkgb2YgdGhpcy5pdGVtcylyLnB1c2godWUoaSxTdHJpbmcocysrKSxuKSk7cmV0dXJuIHJ9dG9TdHJpbmcoZSxuLHIpe3JldHVybiBlP3N1cGVyLnRvU3RyaW5nKGUse2Jsb2NrSXRlbTpzPT5zLnR5cGU9PT1cImNvbW1lbnRcIj9zLnN0cjpgLSAke3Muc3RyfWAsZmxvd0NoYXJzOntzdGFydDpcIltcIixlbmQ6XCJdXCJ9LGlzTWFwOiExLGl0ZW1JbmRlbnQ6KGUuaW5kZW50fHxcIlwiKStcIiAgXCJ9LG4scik6SlNPTi5zdHJpbmdpZnkodGhpcyl9fSxJbz0odCxlLG4pPT5lPT09bnVsbD9cIlwiOnR5cGVvZiBlIT1cIm9iamVjdFwiP1N0cmluZyhlKTp0IGluc3RhbmNlb2YgVyYmbiYmbi5kb2M/dC50b1N0cmluZyh7YW5jaG9yczpPYmplY3QuY3JlYXRlKG51bGwpLGRvYzpuLmRvYyxpbmRlbnQ6XCJcIixpbmRlbnRTdGVwOm4uaW5kZW50U3RlcCxpbkZsb3c6ITAsaW5TdHJpbmdpZnlLZXk6ITAsc3RyaW5naWZ5Om4uc3RyaW5naWZ5fSk6SlNPTi5zdHJpbmdpZnkoZSksVD1jbGFzcyB0IGV4dGVuZHMgV3tjb25zdHJ1Y3RvcihlLG49bnVsbCl7c3VwZXIoKSx0aGlzLmtleT1lLHRoaXMudmFsdWU9bix0aGlzLnR5cGU9dC5UeXBlLlBBSVJ9Z2V0IGNvbW1lbnRCZWZvcmUoKXtyZXR1cm4gdGhpcy5rZXkgaW5zdGFuY2VvZiBXP3RoaXMua2V5LmNvbW1lbnRCZWZvcmU6dm9pZCAwfXNldCBjb21tZW50QmVmb3JlKGUpe2lmKHRoaXMua2V5PT1udWxsJiYodGhpcy5rZXk9bmV3IFAobnVsbCkpLHRoaXMua2V5IGluc3RhbmNlb2YgVyl0aGlzLmtleS5jb21tZW50QmVmb3JlPWU7ZWxzZXtsZXQgbj1cIlBhaXIuY29tbWVudEJlZm9yZSBpcyBhbiBhbGlhcyBmb3IgUGFpci5rZXkuY29tbWVudEJlZm9yZS4gVG8gc2V0IGl0LCB0aGUga2V5IG11c3QgYmUgYSBOb2RlLlwiO3Rocm93IG5ldyBFcnJvcihuKX19YWRkVG9KU01hcChlLG4pe2xldCByPXVlKHRoaXMua2V5LFwiXCIsZSk7aWYobiBpbnN0YW5jZW9mIE1hcCl7bGV0IHM9dWUodGhpcy52YWx1ZSxyLGUpO24uc2V0KHIscyl9ZWxzZSBpZihuIGluc3RhbmNlb2YgU2V0KW4uYWRkKHIpO2Vsc2V7bGV0IHM9SW8odGhpcy5rZXkscixlKSxpPXVlKHRoaXMudmFsdWUscyxlKTtzIGluIG4/T2JqZWN0LmRlZmluZVByb3BlcnR5KG4scyx7dmFsdWU6aSx3cml0YWJsZTohMCxlbnVtZXJhYmxlOiEwLGNvbmZpZ3VyYWJsZTohMH0pOm5bc109aX1yZXR1cm4gbn10b0pTT04oZSxuKXtsZXQgcj1uJiZuLm1hcEFzTWFwP25ldyBNYXA6e307cmV0dXJuIHRoaXMuYWRkVG9KU01hcChuLHIpfXRvU3RyaW5nKGUsbixyKXtpZighZXx8IWUuZG9jKXJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzKTtsZXR7aW5kZW50OnMsaW5kZW50U2VxOmksc2ltcGxlS2V5czpvfT1lLmRvYy5vcHRpb25zLHtrZXk6YSx2YWx1ZTpjfT10aGlzLGw9YSBpbnN0YW5jZW9mIFcmJmEuY29tbWVudDtpZihvKXtpZihsKXRocm93IG5ldyBFcnJvcihcIldpdGggc2ltcGxlIGtleXMsIGtleSBub2RlcyBjYW5ub3QgaGF2ZSBjb21tZW50c1wiKTtpZihhIGluc3RhbmNlb2Ygail7bGV0IF89XCJXaXRoIHNpbXBsZSBrZXlzLCBjb2xsZWN0aW9uIGNhbm5vdCBiZSB1c2VkIGFzIGEga2V5IHZhbHVlXCI7dGhyb3cgbmV3IEVycm9yKF8pfX1sZXQgZj0hbyYmKCFhfHxsfHwoYSBpbnN0YW5jZW9mIFc/YSBpbnN0YW5jZW9mIGp8fGEudHlwZT09PXAuVHlwZS5CTE9DS19GT0xERUR8fGEudHlwZT09PXAuVHlwZS5CTE9DS19MSVRFUkFMOnR5cGVvZiBhPT1cIm9iamVjdFwiKSkse2RvYzptLGluZGVudDpkLGluZGVudFN0ZXA6eSxzdHJpbmdpZnk6aH09ZTtlPU9iamVjdC5hc3NpZ24oe30sZSx7aW1wbGljaXRLZXk6IWYsaW5kZW50OmQreX0pO2xldCBnPSExLHc9aChhLGUsKCk9Pmw9bnVsbCwoKT0+Zz0hMCk7aWYodz1CZSh3LGUuaW5kZW50LGwpLCFmJiZ3Lmxlbmd0aD4xMDI0KXtpZihvKXRocm93IG5ldyBFcnJvcihcIldpdGggc2ltcGxlIGtleXMsIHNpbmdsZSBsaW5lIHNjYWxhciBtdXN0IG5vdCBzcGFuIG1vcmUgdGhhbiAxMDI0IGNoYXJhY3RlcnNcIik7Zj0hMH1pZihlLmFsbE51bGxWYWx1ZXMmJiFvKXJldHVybiB0aGlzLmNvbW1lbnQ/KHc9QmUodyxlLmluZGVudCx0aGlzLmNvbW1lbnQpLG4mJm4oKSk6ZyYmIWwmJnImJnIoKSxlLmluRmxvdyYmIWY/dzpgPyAke3d9YDt3PWY/YD8gJHt3fVxuJHtkfTpgOmAke3d9OmAsdGhpcy5jb21tZW50JiYodz1CZSh3LGUuaW5kZW50LHRoaXMuY29tbWVudCksbiYmbigpKTtsZXQgQz1cIlwiLEw9bnVsbDtpZihjIGluc3RhbmNlb2YgVyl7aWYoYy5zcGFjZUJlZm9yZSYmKEM9YFxuYCksYy5jb21tZW50QmVmb3JlKXtsZXQgXz1jLmNvbW1lbnRCZWZvcmUucmVwbGFjZSgvXi9nbSxgJHtlLmluZGVudH0jYCk7Qys9YFxuJHtffWB9TD1jLmNvbW1lbnR9ZWxzZSBjJiZ0eXBlb2YgYz09XCJvYmplY3RcIiYmKGM9bS5zY2hlbWEuY3JlYXRlTm9kZShjLCEwKSk7ZS5pbXBsaWNpdEtleT0hMSwhZiYmIXRoaXMuY29tbWVudCYmYyBpbnN0YW5jZW9mIFAmJihlLmluZGVudEF0U3RhcnQ9dy5sZW5ndGgrMSksZz0hMSwhaSYmcz49MiYmIWUuaW5GbG93JiYhZiYmYyBpbnN0YW5jZW9mIHBlJiZjLnR5cGUhPT1wLlR5cGUuRkxPV19TRVEmJiFjLnRhZyYmIW0uYW5jaG9ycy5nZXROYW1lKGMpJiYoZS5pbmRlbnQ9ZS5pbmRlbnQuc3Vic3RyKDIpKTtsZXQgTT1oKGMsZSwoKT0+TD1udWxsLCgpPT5nPSEwKSxBPVwiIFwiO3JldHVybiBDfHx0aGlzLmNvbW1lbnQ/QT1gJHtDfVxuJHtlLmluZGVudH1gOiFmJiZjIGluc3RhbmNlb2Ygaj8oIShNWzBdPT09XCJbXCJ8fE1bMF09PT1cIntcIil8fE0uaW5jbHVkZXMoYFxuYCkpJiYoQT1gXG4ke2UuaW5kZW50fWApOk1bMF09PT1gXG5gJiYoQT1cIlwiKSxnJiYhTCYmciYmcigpLEJlKHcrQStNLGUuaW5kZW50LEwpfX07cC5fZGVmaW5lUHJvcGVydHkoVCxcIlR5cGVcIix7UEFJUjpcIlBBSVJcIixNRVJHRV9QQUlSOlwiTUVSR0VfUEFJUlwifSk7dmFyIHF0PSh0LGUpPT57aWYodCBpbnN0YW5jZW9mIHdlKXtsZXQgbj1lLmdldCh0LnNvdXJjZSk7cmV0dXJuIG4uY291bnQqbi5hbGlhc0NvdW50fWVsc2UgaWYodCBpbnN0YW5jZW9mIGope2xldCBuPTA7Zm9yKGxldCByIG9mIHQuaXRlbXMpe2xldCBzPXF0KHIsZSk7cz5uJiYobj1zKX1yZXR1cm4gbn1lbHNlIGlmKHQgaW5zdGFuY2VvZiBUKXtsZXQgbj1xdCh0LmtleSxlKSxyPXF0KHQudmFsdWUsZSk7cmV0dXJuIE1hdGgubWF4KG4scil9cmV0dXJuIDF9LHdlPWNsYXNzIHQgZXh0ZW5kcyBXe3N0YXRpYyBzdHJpbmdpZnkoe3JhbmdlOmUsc291cmNlOm59LHthbmNob3JzOnIsZG9jOnMsaW1wbGljaXRLZXk6aSxpblN0cmluZ2lmeUtleTpvfSl7bGV0IGE9T2JqZWN0LmtleXMocikuZmluZChsPT5yW2xdPT09bik7aWYoIWEmJm8mJihhPXMuYW5jaG9ycy5nZXROYW1lKG4pfHxzLmFuY2hvcnMubmV3TmFtZSgpKSxhKXJldHVybmAqJHthfSR7aT9cIiBcIjpcIlwifWA7bGV0IGM9cy5hbmNob3JzLmdldE5hbWUobik/XCJBbGlhcyBub2RlIG11c3QgYmUgYWZ0ZXIgc291cmNlIG5vZGVcIjpcIlNvdXJjZSBub2RlIG5vdCBmb3VuZCBmb3IgYWxpYXMgbm9kZVwiO3Rocm93IG5ldyBFcnJvcihgJHtjfSBbJHtlfV1gKX1jb25zdHJ1Y3RvcihlKXtzdXBlcigpLHRoaXMuc291cmNlPWUsdGhpcy50eXBlPXAuVHlwZS5BTElBU31zZXQgdGFnKGUpe3Rocm93IG5ldyBFcnJvcihcIkFsaWFzIG5vZGVzIGNhbm5vdCBoYXZlIHRhZ3NcIil9dG9KU09OKGUsbil7aWYoIW4pcmV0dXJuIHVlKHRoaXMuc291cmNlLGUsbik7bGV0e2FuY2hvcnM6cixtYXhBbGlhc0NvdW50OnN9PW4saT1yLmdldCh0aGlzLnNvdXJjZSk7aWYoIWl8fGkucmVzPT09dm9pZCAwKXtsZXQgbz1cIlRoaXMgc2hvdWxkIG5vdCBoYXBwZW46IEFsaWFzIGFuY2hvciB3YXMgbm90IHJlc29sdmVkP1wiO3Rocm93IHRoaXMuY3N0Tm9kZT9uZXcgcC5ZQU1MUmVmZXJlbmNlRXJyb3IodGhpcy5jc3ROb2RlLG8pOm5ldyBSZWZlcmVuY2VFcnJvcihvKX1pZihzPj0wJiYoaS5jb3VudCs9MSxpLmFsaWFzQ291bnQ9PT0wJiYoaS5hbGlhc0NvdW50PXF0KHRoaXMuc291cmNlLHIpKSxpLmNvdW50KmkuYWxpYXNDb3VudD5zKSl7bGV0IG89XCJFeGNlc3NpdmUgYWxpYXMgY291bnQgaW5kaWNhdGVzIGEgcmVzb3VyY2UgZXhoYXVzdGlvbiBhdHRhY2tcIjt0aHJvdyB0aGlzLmNzdE5vZGU/bmV3IHAuWUFNTFJlZmVyZW5jZUVycm9yKHRoaXMuY3N0Tm9kZSxvKTpuZXcgUmVmZXJlbmNlRXJyb3Iobyl9cmV0dXJuIGkucmVzfXRvU3RyaW5nKGUpe3JldHVybiB0LnN0cmluZ2lmeSh0aGlzLGUpfX07cC5fZGVmaW5lUHJvcGVydHkod2UsXCJkZWZhdWx0XCIsITApO2Z1bmN0aW9uIHB0KHQsZSl7bGV0IG49ZSBpbnN0YW5jZW9mIFA/ZS52YWx1ZTplO2ZvcihsZXQgciBvZiB0KWlmKHIgaW5zdGFuY2VvZiBUJiYoci5rZXk9PT1lfHxyLmtleT09PW58fHIua2V5JiZyLmtleS52YWx1ZT09PW4pKXJldHVybiByfXZhciBtdD1jbGFzcyBleHRlbmRzIGp7YWRkKGUsbil7ZT9lIGluc3RhbmNlb2YgVHx8KGU9bmV3IFQoZS5rZXl8fGUsZS52YWx1ZSkpOmU9bmV3IFQoZSk7bGV0IHI9cHQodGhpcy5pdGVtcyxlLmtleSkscz10aGlzLnNjaGVtYSYmdGhpcy5zY2hlbWEuc29ydE1hcEVudHJpZXM7aWYocilpZihuKXIudmFsdWU9ZS52YWx1ZTtlbHNlIHRocm93IG5ldyBFcnJvcihgS2V5ICR7ZS5rZXl9IGFscmVhZHkgc2V0YCk7ZWxzZSBpZihzKXtsZXQgaT10aGlzLml0ZW1zLmZpbmRJbmRleChvPT5zKGUsbyk8MCk7aT09PS0xP3RoaXMuaXRlbXMucHVzaChlKTp0aGlzLml0ZW1zLnNwbGljZShpLDAsZSl9ZWxzZSB0aGlzLml0ZW1zLnB1c2goZSl9ZGVsZXRlKGUpe2xldCBuPXB0KHRoaXMuaXRlbXMsZSk7cmV0dXJuIG4/dGhpcy5pdGVtcy5zcGxpY2UodGhpcy5pdGVtcy5pbmRleE9mKG4pLDEpLmxlbmd0aD4wOiExfWdldChlLG4pe2xldCByPXB0KHRoaXMuaXRlbXMsZSkscz1yJiZyLnZhbHVlO3JldHVybiFuJiZzIGluc3RhbmNlb2YgUD9zLnZhbHVlOnN9aGFzKGUpe3JldHVybiEhcHQodGhpcy5pdGVtcyxlKX1zZXQoZSxuKXt0aGlzLmFkZChuZXcgVChlLG4pLCEwKX10b0pTT04oZSxuLHIpe2xldCBzPXI/bmV3IHI6biYmbi5tYXBBc01hcD9uZXcgTWFwOnt9O24mJm4ub25DcmVhdGUmJm4ub25DcmVhdGUocyk7Zm9yKGxldCBpIG9mIHRoaXMuaXRlbXMpaS5hZGRUb0pTTWFwKG4scyk7cmV0dXJuIHN9dG9TdHJpbmcoZSxuLHIpe2lmKCFlKXJldHVybiBKU09OLnN0cmluZ2lmeSh0aGlzKTtmb3IobGV0IHMgb2YgdGhpcy5pdGVtcylpZighKHMgaW5zdGFuY2VvZiBUKSl0aHJvdyBuZXcgRXJyb3IoYE1hcCBpdGVtcyBtdXN0IGFsbCBiZSBwYWlyczsgZm91bmQgJHtKU09OLnN0cmluZ2lmeShzKX0gaW5zdGVhZGApO3JldHVybiBzdXBlci50b1N0cmluZyhlLHtibG9ja0l0ZW06cz0+cy5zdHIsZmxvd0NoYXJzOntzdGFydDpcIntcIixlbmQ6XCJ9XCJ9LGlzTWFwOiEwLGl0ZW1JbmRlbnQ6ZS5pbmRlbnR8fFwiXCJ9LG4scil9fSwkcz1cIjw8XCIsVnQ9Y2xhc3MgZXh0ZW5kcyBUe2NvbnN0cnVjdG9yKGUpe2lmKGUgaW5zdGFuY2VvZiBUKXtsZXQgbj1lLnZhbHVlO24gaW5zdGFuY2VvZiBwZXx8KG49bmV3IHBlLG4uaXRlbXMucHVzaChlLnZhbHVlKSxuLnJhbmdlPWUudmFsdWUucmFuZ2UpLHN1cGVyKGUua2V5LG4pLHRoaXMucmFuZ2U9ZS5yYW5nZX1lbHNlIHN1cGVyKG5ldyBQKCRzKSxuZXcgcGUpO3RoaXMudHlwZT1ULlR5cGUuTUVSR0VfUEFJUn1hZGRUb0pTTWFwKGUsbil7Zm9yKGxldHtzb3VyY2U6cn1vZiB0aGlzLnZhbHVlLml0ZW1zKXtpZighKHIgaW5zdGFuY2VvZiBtdCkpdGhyb3cgbmV3IEVycm9yKFwiTWVyZ2Ugc291cmNlcyBtdXN0IGJlIG1hcHNcIik7bGV0IHM9ci50b0pTT04obnVsbCxlLE1hcCk7Zm9yKGxldFtpLG9db2YgcyluIGluc3RhbmNlb2YgTWFwP24uaGFzKGkpfHxuLnNldChpLG8pOm4gaW5zdGFuY2VvZiBTZXQ/bi5hZGQoaSk6T2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG4saSl8fE9iamVjdC5kZWZpbmVQcm9wZXJ0eShuLGkse3ZhbHVlOm8sd3JpdGFibGU6ITAsZW51bWVyYWJsZTohMCxjb25maWd1cmFibGU6ITB9KX1yZXR1cm4gbn10b1N0cmluZyhlLG4pe2xldCByPXRoaXMudmFsdWU7aWYoci5pdGVtcy5sZW5ndGg+MSlyZXR1cm4gc3VwZXIudG9TdHJpbmcoZSxuKTt0aGlzLnZhbHVlPXIuaXRlbXNbMF07bGV0IHM9c3VwZXIudG9TdHJpbmcoZSxuKTtyZXR1cm4gdGhpcy52YWx1ZT1yLHN9fSxQbz17ZGVmYXVsdFR5cGU6cC5UeXBlLkJMT0NLX0xJVEVSQUwsbGluZVdpZHRoOjc2fSxfbz17dHJ1ZVN0cjpcInRydWVcIixmYWxzZVN0cjpcImZhbHNlXCJ9LHhvPXthc0JpZ0ludDohMX0sUm89e251bGxTdHI6XCJudWxsXCJ9LGJlPXtkZWZhdWx0VHlwZTpwLlR5cGUuUExBSU4sZG91YmxlUXVvdGVkOntqc29uRW5jb2Rpbmc6ITEsbWluTXVsdGlMaW5lTGVuZ3RoOjQwfSxmb2xkOntsaW5lV2lkdGg6ODAsbWluQ29udGVudFdpZHRoOjIwfX07ZnVuY3Rpb24gRm4odCxlLG4pe2ZvcihsZXR7Zm9ybWF0OnIsdGVzdDpzLHJlc29sdmU6aX1vZiBlKWlmKHMpe2xldCBvPXQubWF0Y2gocyk7aWYobyl7bGV0IGE9aS5hcHBseShudWxsLG8pO3JldHVybiBhIGluc3RhbmNlb2YgUHx8KGE9bmV3IFAoYSkpLHImJihhLmZvcm1hdD1yKSxhfX1yZXR1cm4gbiYmKHQ9bih0KSksbmV3IFAodCl9dmFyIEZzPVwiZmxvd1wiLCRuPVwiYmxvY2tcIixVdD1cInF1b3RlZFwiLERzPSh0LGUpPT57bGV0IG49dFtlKzFdO2Zvcig7bj09PVwiIFwifHxuPT09XCJcdFwiOyl7ZG8gbj10W2UrPTFdO3doaWxlKG4mJm4hPT1gXG5gKTtuPXRbZSsxXX1yZXR1cm4gZX07ZnVuY3Rpb24gV3QodCxlLG4se2luZGVudEF0U3RhcnQ6cixsaW5lV2lkdGg6cz04MCxtaW5Db250ZW50V2lkdGg6aT0yMCxvbkZvbGQ6byxvbk92ZXJmbG93OmF9KXtpZighc3x8czwwKXJldHVybiB0O2xldCBjPU1hdGgubWF4KDEraSwxK3MtZS5sZW5ndGgpO2lmKHQubGVuZ3RoPD1jKXJldHVybiB0O2xldCBsPVtdLGY9e30sbT1zLWUubGVuZ3RoO3R5cGVvZiByPT1cIm51bWJlclwiJiYocj5zLU1hdGgubWF4KDIsaSk/bC5wdXNoKDApOm09cy1yKTtsZXQgZCx5LGg9ITEsZz0tMSx3PS0xLEM9LTE7bj09PSRuJiYoZz1Ecyh0LGcpLGchPT0tMSYmKG09ZytjKSk7Zm9yKGxldCBNO009dFtnKz0xXTspe2lmKG49PT1VdCYmTT09PVwiXFxcXFwiKXtzd2l0Y2godz1nLHRbZysxXSl7Y2FzZVwieFwiOmcrPTM7YnJlYWs7Y2FzZVwidVwiOmcrPTU7YnJlYWs7Y2FzZVwiVVwiOmcrPTk7YnJlYWs7ZGVmYXVsdDpnKz0xfUM9Z31pZihNPT09YFxuYCluPT09JG4mJihnPURzKHQsZykpLG09ZytjLGQ9dm9pZCAwO2Vsc2V7aWYoTT09PVwiIFwiJiZ5JiZ5IT09XCIgXCImJnkhPT1gXG5gJiZ5IT09XCJcdFwiKXtsZXQgQT10W2crMV07QSYmQSE9PVwiIFwiJiZBIT09YFxuYCYmQSE9PVwiXHRcIiYmKGQ9Zyl9aWYoZz49bSlpZihkKWwucHVzaChkKSxtPWQrYyxkPXZvaWQgMDtlbHNlIGlmKG49PT1VdCl7Zm9yKDt5PT09XCIgXCJ8fHk9PT1cIlx0XCI7KXk9TSxNPXRbZys9MV0saD0hMDtsZXQgQT1nPkMrMT9nLTI6dy0xO2lmKGZbQV0pcmV0dXJuIHQ7bC5wdXNoKEEpLGZbQV09ITAsbT1BK2MsZD12b2lkIDB9ZWxzZSBoPSEwfXk9TX1pZihoJiZhJiZhKCksbC5sZW5ndGg9PT0wKXJldHVybiB0O28mJm8oKTtsZXQgTD10LnNsaWNlKDAsbFswXSk7Zm9yKGxldCBNPTA7TTxsLmxlbmd0aDsrK00pe2xldCBBPWxbTV0sXz1sW00rMV18fHQubGVuZ3RoO0E9PT0wP0w9YFxuJHtlfSR7dC5zbGljZSgwLF8pfWA6KG49PT1VdCYmZltBXSYmKEwrPWAke3RbQV19XFxcXGApLEwrPWBcbiR7ZX0ke3Quc2xpY2UoQSsxLF8pfWApfXJldHVybiBMfXZhciBxbj0oe2luZGVudEF0U3RhcnQ6dH0pPT50P09iamVjdC5hc3NpZ24oe2luZGVudEF0U3RhcnQ6dH0sYmUuZm9sZCk6YmUuZm9sZCxqdD10PT4vXiglfC0tLXxcXC5cXC5cXC4pL20udGVzdCh0KTtmdW5jdGlvbiBEbyh0LGUsbil7aWYoIWV8fGU8MClyZXR1cm4hMTtsZXQgcj1lLW4scz10Lmxlbmd0aDtpZihzPD1yKXJldHVybiExO2ZvcihsZXQgaT0wLG89MDtpPHM7KytpKWlmKHRbaV09PT1gXG5gKXtpZihpLW8+cilyZXR1cm4hMDtpZihvPWkrMSxzLW88PXIpcmV0dXJuITF9cmV0dXJuITB9ZnVuY3Rpb24gU2UodCxlKXtsZXR7aW1wbGljaXRLZXk6bn09ZSx7anNvbkVuY29kaW5nOnIsbWluTXVsdGlMaW5lTGVuZ3RoOnN9PWJlLmRvdWJsZVF1b3RlZCxpPUpTT04uc3RyaW5naWZ5KHQpO2lmKHIpcmV0dXJuIGk7bGV0IG89ZS5pbmRlbnR8fChqdCh0KT9cIiAgXCI6XCJcIiksYT1cIlwiLGM9MDtmb3IobGV0IGw9MCxmPWlbbF07ZjtmPWlbKytsXSlpZihmPT09XCIgXCImJmlbbCsxXT09PVwiXFxcXFwiJiZpW2wrMl09PT1cIm5cIiYmKGErPWkuc2xpY2UoYyxsKStcIlxcXFwgXCIsbCs9MSxjPWwsZj1cIlxcXFxcIiksZj09PVwiXFxcXFwiKXN3aXRjaChpW2wrMV0pe2Nhc2VcInVcIjp7YSs9aS5zbGljZShjLGwpO2xldCBtPWkuc3Vic3RyKGwrMiw0KTtzd2l0Y2gobSl7Y2FzZVwiMDAwMFwiOmErPVwiXFxcXDBcIjticmVhaztjYXNlXCIwMDA3XCI6YSs9XCJcXFxcYVwiO2JyZWFrO2Nhc2VcIjAwMGJcIjphKz1cIlxcXFx2XCI7YnJlYWs7Y2FzZVwiMDAxYlwiOmErPVwiXFxcXGVcIjticmVhaztjYXNlXCIwMDg1XCI6YSs9XCJcXFxcTlwiO2JyZWFrO2Nhc2VcIjAwYTBcIjphKz1cIlxcXFxfXCI7YnJlYWs7Y2FzZVwiMjAyOFwiOmErPVwiXFxcXExcIjticmVhaztjYXNlXCIyMDI5XCI6YSs9XCJcXFxcUFwiO2JyZWFrO2RlZmF1bHQ6bS5zdWJzdHIoMCwyKT09PVwiMDBcIj9hKz1cIlxcXFx4XCIrbS5zdWJzdHIoMik6YSs9aS5zdWJzdHIobCw2KX1sKz01LGM9bCsxfWJyZWFrO2Nhc2VcIm5cIjppZihufHxpW2wrMl09PT0nXCInfHxpLmxlbmd0aDxzKWwrPTE7ZWxzZXtmb3IoYSs9aS5zbGljZShjLGwpK2BcblxuYDtpW2wrMl09PT1cIlxcXFxcIiYmaVtsKzNdPT09XCJuXCImJmlbbCs0XSE9PSdcIic7KWErPWBcbmAsbCs9MjthKz1vLGlbbCsyXT09PVwiIFwiJiYoYSs9XCJcXFxcXCIpLGwrPTEsYz1sKzF9YnJlYWs7ZGVmYXVsdDpsKz0xfXJldHVybiBhPWM/YStpLnNsaWNlKGMpOmksbj9hOld0KGEsbyxVdCxxbihlKSl9ZnVuY3Rpb24gcXModCxlKXtpZihlLmltcGxpY2l0S2V5KXtpZigvXFxuLy50ZXN0KHQpKXJldHVybiBTZSh0LGUpfWVsc2UgaWYoL1sgXFx0XVxcbnxcXG5bIFxcdF0vLnRlc3QodCkpcmV0dXJuIFNlKHQsZSk7bGV0IG49ZS5pbmRlbnR8fChqdCh0KT9cIiAgXCI6XCJcIikscj1cIidcIit0LnJlcGxhY2UoLycvZyxcIicnXCIpLnJlcGxhY2UoL1xcbisvZyxgJCZcbiR7bn1gKStcIidcIjtyZXR1cm4gZS5pbXBsaWNpdEtleT9yOld0KHIsbixGcyxxbihlKSl9ZnVuY3Rpb24gS3Qoe2NvbW1lbnQ6dCx0eXBlOmUsdmFsdWU6bn0scixzLGkpe2lmKC9cXG5bXFx0IF0rJC8udGVzdChuKXx8L15cXHMqJC8udGVzdChuKSlyZXR1cm4gU2UobixyKTtsZXQgbz1yLmluZGVudHx8KHIuZm9yY2VCbG9ja0luZGVudHx8anQobik/XCIgIFwiOlwiXCIpLGE9bz9cIjJcIjpcIjFcIixjPWU9PT1wLlR5cGUuQkxPQ0tfRk9MREVEPyExOmU9PT1wLlR5cGUuQkxPQ0tfTElURVJBTD8hMDohRG8obixiZS5mb2xkLmxpbmVXaWR0aCxvLmxlbmd0aCksbD1jP1wifFwiOlwiPlwiO2lmKCFuKXJldHVybiBsK2BcbmA7bGV0IGY9XCJcIixtPVwiXCI7aWYobj1uLnJlcGxhY2UoL1tcXG5cXHQgXSokLyx5PT57bGV0IGg9eS5pbmRleE9mKGBcbmApO3JldHVybiBoPT09LTE/bCs9XCItXCI6KG49PT15fHxoIT09eS5sZW5ndGgtMSkmJihsKz1cIitcIixpJiZpKCkpLG09eS5yZXBsYWNlKC9cXG4kLyxcIlwiKSxcIlwifSkucmVwbGFjZSgvXltcXG4gXSovLHk9Pnt5LmluZGV4T2YoXCIgXCIpIT09LTEmJihsKz1hKTtsZXQgaD15Lm1hdGNoKC8gKyQvKTtyZXR1cm4gaD8oZj15LnNsaWNlKDAsLWhbMF0ubGVuZ3RoKSxoWzBdKTooZj15LFwiXCIpfSksbSYmKG09bS5yZXBsYWNlKC9cXG4rKD8hXFxufCQpL2csYCQmJHtvfWApKSxmJiYoZj1mLnJlcGxhY2UoL1xcbisvZyxgJCYke299YCkpLHQmJihsKz1cIiAjXCIrdC5yZXBsYWNlKC8gP1tcXHJcXG5dKy9nLFwiIFwiKSxzJiZzKCkpLCFuKXJldHVybmAke2x9JHthfVxuJHtvfSR7bX1gO2lmKGMpcmV0dXJuIG49bi5yZXBsYWNlKC9cXG4rL2csYCQmJHtvfWApLGAke2x9XG4ke299JHtmfSR7bn0ke219YDtuPW4ucmVwbGFjZSgvXFxuKy9nLGBcbiQmYCkucmVwbGFjZSgvKD86XnxcXG4pKFtcXHQgXS4qKSg/OihbXFxuXFx0IF0qKVxcbig/IVtcXG5cXHQgXSkpPy9nLFwiJDEkMlwiKS5yZXBsYWNlKC9cXG4rL2csYCQmJHtvfWApO2xldCBkPVd0KGAke2Z9JHtufSR7bX1gLG8sJG4sYmUuZm9sZCk7cmV0dXJuYCR7bH1cbiR7b30ke2R9YH1mdW5jdGlvbiBZbyh0LGUsbixyKXtsZXR7Y29tbWVudDpzLHR5cGU6aSx2YWx1ZTpvfT10LHthY3R1YWxTdHJpbmc6YSxpbXBsaWNpdEtleTpjLGluZGVudDpsLGluRmxvdzpmfT1lO2lmKGMmJi9bXFxuW1xcXXt9LF0vLnRlc3Qobyl8fGYmJi9bW1xcXXt9LF0vLnRlc3QobykpcmV0dXJuIFNlKG8sZSk7aWYoIW98fC9eW1xcblxcdCAsW1xcXXt9IyYqIXw+J1wiJUBgXXxeWz8tXSR8Xls/LV1bIFxcdF18W1xcbjpdWyBcXHRdfFsgXFx0XVxcbnxbXFxuXFx0IF0jfFtcXG5cXHQgOl0kLy50ZXN0KG8pKXJldHVybiBjfHxmfHxvLmluZGV4T2YoYFxuYCk9PT0tMT9vLmluZGV4T2YoJ1wiJykhPT0tMSYmby5pbmRleE9mKFwiJ1wiKT09PS0xP3FzKG8sZSk6U2UobyxlKTpLdCh0LGUsbixyKTtpZighYyYmIWYmJmkhPT1wLlR5cGUuUExBSU4mJm8uaW5kZXhPZihgXG5gKSE9PS0xKXJldHVybiBLdCh0LGUsbixyKTtpZihsPT09XCJcIiYmanQobykpcmV0dXJuIGUuZm9yY2VCbG9ja0luZGVudD0hMCxLdCh0LGUsbixyKTtsZXQgbT1vLnJlcGxhY2UoL1xcbisvZyxgJCZcbiR7bH1gKTtpZihhKXtsZXR7dGFnczp5fT1lLmRvYy5zY2hlbWE7aWYodHlwZW9mIEZuKG0seSx5LnNjYWxhckZhbGxiYWNrKS52YWx1ZSE9XCJzdHJpbmdcIilyZXR1cm4gU2UobyxlKX1sZXQgZD1jP206V3QobSxsLEZzLHFuKGUpKTtyZXR1cm4gcyYmIWYmJihkLmluZGV4T2YoYFxuYCkhPT0tMXx8cy5pbmRleE9mKGBcbmApIT09LTEpPyhuJiZuKCksdm8oZCxsLHMpKTpkfWZ1bmN0aW9uIEJvKHQsZSxuLHIpe2xldHtkZWZhdWx0VHlwZTpzfT1iZSx7aW1wbGljaXRLZXk6aSxpbkZsb3c6b309ZSx7dHlwZTphLHZhbHVlOmN9PXQ7dHlwZW9mIGMhPVwic3RyaW5nXCImJihjPVN0cmluZyhjKSx0PU9iamVjdC5hc3NpZ24oe30sdCx7dmFsdWU6Y30pKTtsZXQgbD1tPT57c3dpdGNoKG0pe2Nhc2UgcC5UeXBlLkJMT0NLX0ZPTERFRDpjYXNlIHAuVHlwZS5CTE9DS19MSVRFUkFMOnJldHVybiBLdCh0LGUsbixyKTtjYXNlIHAuVHlwZS5RVU9URV9ET1VCTEU6cmV0dXJuIFNlKGMsZSk7Y2FzZSBwLlR5cGUuUVVPVEVfU0lOR0xFOnJldHVybiBxcyhjLGUpO2Nhc2UgcC5UeXBlLlBMQUlOOnJldHVybiBZbyh0LGUsbixyKTtkZWZhdWx0OnJldHVybiBudWxsfX07KGEhPT1wLlR5cGUuUVVPVEVfRE9VQkxFJiYvW1xceDAwLVxceDA4XFx4MGItXFx4MWZcXHg3Zi1cXHg5Zl0vLnRlc3QoYyl8fChpfHxvKSYmKGE9PT1wLlR5cGUuQkxPQ0tfRk9MREVEfHxhPT09cC5UeXBlLkJMT0NLX0xJVEVSQUwpKSYmKGE9cC5UeXBlLlFVT1RFX0RPVUJMRSk7bGV0IGY9bChhKTtpZihmPT09bnVsbCYmKGY9bChzKSxmPT09bnVsbCkpdGhyb3cgbmV3IEVycm9yKGBVbnN1cHBvcnRlZCBkZWZhdWx0IHN0cmluZyB0eXBlICR7c31gKTtyZXR1cm4gZn1mdW5jdGlvbiAkbyh7Zm9ybWF0OnQsbWluRnJhY3Rpb25EaWdpdHM6ZSx0YWc6bix2YWx1ZTpyfSl7aWYodHlwZW9mIHI9PVwiYmlnaW50XCIpcmV0dXJuIFN0cmluZyhyKTtpZighaXNGaW5pdGUocikpcmV0dXJuIGlzTmFOKHIpP1wiLm5hblwiOnI8MD9cIi0uaW5mXCI6XCIuaW5mXCI7bGV0IHM9SlNPTi5zdHJpbmdpZnkocik7aWYoIXQmJmUmJighbnx8bj09PVwidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXRcIikmJi9eXFxkLy50ZXN0KHMpKXtsZXQgaT1zLmluZGV4T2YoXCIuXCIpO2k8MCYmKGk9cy5sZW5ndGgscys9XCIuXCIpO2xldCBvPWUtKHMubGVuZ3RoLWktMSk7Zm9yKDtvLS0gPjA7KXMrPVwiMFwifXJldHVybiBzfWZ1bmN0aW9uIFVzKHQsZSl7bGV0IG4scjtzd2l0Y2goZS50eXBlKXtjYXNlIHAuVHlwZS5GTE9XX01BUDpuPVwifVwiLHI9XCJmbG93IG1hcFwiO2JyZWFrO2Nhc2UgcC5UeXBlLkZMT1dfU0VROm49XCJdXCIscj1cImZsb3cgc2VxdWVuY2VcIjticmVhaztkZWZhdWx0OnQucHVzaChuZXcgcC5ZQU1MU2VtYW50aWNFcnJvcihlLFwiTm90IGEgZmxvdyBjb2xsZWN0aW9uIT9cIikpO3JldHVybn1sZXQgcztmb3IobGV0IGk9ZS5pdGVtcy5sZW5ndGgtMTtpPj0wOy0taSl7bGV0IG89ZS5pdGVtc1tpXTtpZighb3x8by50eXBlIT09cC5UeXBlLkNPTU1FTlQpe3M9bzticmVha319aWYocyYmcy5jaGFyIT09bil7bGV0IGk9YEV4cGVjdGVkICR7cn0gdG8gZW5kIHdpdGggJHtufWAsbzt0eXBlb2Ygcy5vZmZzZXQ9PVwibnVtYmVyXCI/KG89bmV3IHAuWUFNTFNlbWFudGljRXJyb3IoZSxpKSxvLm9mZnNldD1zLm9mZnNldCsxKToobz1uZXcgcC5ZQU1MU2VtYW50aWNFcnJvcihzLGkpLHMucmFuZ2UmJnMucmFuZ2UuZW5kJiYoby5vZmZzZXQ9cy5yYW5nZS5lbmQtcy5yYW5nZS5zdGFydCkpLHQucHVzaChvKX19ZnVuY3Rpb24gS3ModCxlKXtsZXQgbj1lLmNvbnRleHQuc3JjW2UucmFuZ2Uuc3RhcnQtMV07aWYobiE9PWBcbmAmJm4hPT1cIlx0XCImJm4hPT1cIiBcIil7bGV0IHI9XCJDb21tZW50cyBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tIG90aGVyIHRva2VucyBieSB3aGl0ZSBzcGFjZSBjaGFyYWN0ZXJzXCI7dC5wdXNoKG5ldyBwLllBTUxTZW1hbnRpY0Vycm9yKGUscikpfX1mdW5jdGlvbiBWcyh0LGUpe2xldCBuPVN0cmluZyhlKSxyPW4uc3Vic3RyKDAsOCkrXCIuLi5cIituLnN1YnN0cigtOCk7cmV0dXJuIG5ldyBwLllBTUxTZW1hbnRpY0Vycm9yKHQsYFRoZSBcIiR7cn1cIiBrZXkgaXMgdG9vIGxvbmdgKX1mdW5jdGlvbiBXcyh0LGUpe2ZvcihsZXR7YWZ0ZXJLZXk6bixiZWZvcmU6cixjb21tZW50OnN9b2YgZSl7bGV0IGk9dC5pdGVtc1tyXTtpPyhuJiZpLnZhbHVlJiYoaT1pLnZhbHVlKSxzPT09dm9pZCAwPyhufHwhaS5jb21tZW50QmVmb3JlKSYmKGkuc3BhY2VCZWZvcmU9ITApOmkuY29tbWVudEJlZm9yZT9pLmNvbW1lbnRCZWZvcmUrPWBcbmArczppLmNvbW1lbnRCZWZvcmU9cyk6cyE9PXZvaWQgMCYmKHQuY29tbWVudD90LmNvbW1lbnQrPWBcbmArczp0LmNvbW1lbnQ9cyl9fWZ1bmN0aW9uIFVuKHQsZSl7bGV0IG49ZS5zdHJWYWx1ZTtyZXR1cm4gbj90eXBlb2Ygbj09XCJzdHJpbmdcIj9uOihuLmVycm9ycy5mb3JFYWNoKHI9PntyLnNvdXJjZXx8KHIuc291cmNlPWUpLHQuZXJyb3JzLnB1c2gocil9KSxuLnN0cik6XCJcIn1mdW5jdGlvbiBGbyh0LGUpe2xldHtoYW5kbGU6bixzdWZmaXg6cn09ZS50YWcscz10LnRhZ1ByZWZpeGVzLmZpbmQoaT0+aS5oYW5kbGU9PT1uKTtpZighcyl7bGV0IGk9dC5nZXREZWZhdWx0cygpLnRhZ1ByZWZpeGVzO2lmKGkmJihzPWkuZmluZChvPT5vLmhhbmRsZT09PW4pKSwhcyl0aHJvdyBuZXcgcC5ZQU1MU2VtYW50aWNFcnJvcihlLGBUaGUgJHtufSB0YWcgaGFuZGxlIGlzIG5vbi1kZWZhdWx0IGFuZCB3YXMgbm90IGRlY2xhcmVkLmApfWlmKCFyKXRocm93IG5ldyBwLllBTUxTZW1hbnRpY0Vycm9yKGUsYFRoZSAke259IHRhZyBoYXMgbm8gc3VmZml4LmApO2lmKG49PT1cIiFcIiYmKHQudmVyc2lvbnx8dC5vcHRpb25zLnZlcnNpb24pPT09XCIxLjBcIil7aWYoclswXT09PVwiXlwiKXJldHVybiB0Lndhcm5pbmdzLnB1c2gobmV3IHAuWUFNTFdhcm5pbmcoZSxcIllBTUwgMS4wIF4gdGFnIGV4cGFuc2lvbiBpcyBub3Qgc3VwcG9ydGVkXCIpKSxyO2lmKC9bOi9dLy50ZXN0KHIpKXtsZXQgaT1yLm1hdGNoKC9eKFthLXowLTktXSspXFwvKC4qKS9pKTtyZXR1cm4gaT9gdGFnOiR7aVsxXX0ueWFtbC5vcmcsMjAwMjoke2lbMl19YDpgdGFnOiR7cn1gfX1yZXR1cm4gcy5wcmVmaXgrZGVjb2RlVVJJQ29tcG9uZW50KHIpfWZ1bmN0aW9uIHFvKHQsZSl7bGV0e3RhZzpuLHR5cGU6cn09ZSxzPSExO2lmKG4pe2xldHtoYW5kbGU6aSxzdWZmaXg6byx2ZXJiYXRpbTphfT1uO2lmKGEpe2lmKGEhPT1cIiFcIiYmYSE9PVwiISFcIilyZXR1cm4gYTtsZXQgYz1gVmVyYmF0aW0gdGFncyBhcmVuJ3QgcmVzb2x2ZWQsIHNvICR7YX0gaXMgaW52YWxpZC5gO3QuZXJyb3JzLnB1c2gobmV3IHAuWUFNTFNlbWFudGljRXJyb3IoZSxjKSl9ZWxzZSBpZihpPT09XCIhXCImJiFvKXM9ITA7ZWxzZSB0cnl7cmV0dXJuIEZvKHQsZSl9Y2F0Y2goYyl7dC5lcnJvcnMucHVzaChjKX19c3dpdGNoKHIpe2Nhc2UgcC5UeXBlLkJMT0NLX0ZPTERFRDpjYXNlIHAuVHlwZS5CTE9DS19MSVRFUkFMOmNhc2UgcC5UeXBlLlFVT1RFX0RPVUJMRTpjYXNlIHAuVHlwZS5RVU9URV9TSU5HTEU6cmV0dXJuIHAuZGVmYXVsdFRhZ3MuU1RSO2Nhc2UgcC5UeXBlLkZMT1dfTUFQOmNhc2UgcC5UeXBlLk1BUDpyZXR1cm4gcC5kZWZhdWx0VGFncy5NQVA7Y2FzZSBwLlR5cGUuRkxPV19TRVE6Y2FzZSBwLlR5cGUuU0VROnJldHVybiBwLmRlZmF1bHRUYWdzLlNFUTtjYXNlIHAuVHlwZS5QTEFJTjpyZXR1cm4gcz9wLmRlZmF1bHRUYWdzLlNUUjpudWxsO2RlZmF1bHQ6cmV0dXJuIG51bGx9fWZ1bmN0aW9uIFlzKHQsZSxuKXtsZXR7dGFnczpyfT10LnNjaGVtYSxzPVtdO2ZvcihsZXQgbyBvZiByKWlmKG8udGFnPT09bilpZihvLnRlc3Qpcy5wdXNoKG8pO2Vsc2V7bGV0IGE9by5yZXNvbHZlKHQsZSk7cmV0dXJuIGEgaW5zdGFuY2VvZiBqP2E6bmV3IFAoYSl9bGV0IGk9VW4odCxlKTtyZXR1cm4gdHlwZW9mIGk9PVwic3RyaW5nXCImJnMubGVuZ3RoPjA/Rm4oaSxzLHIuc2NhbGFyRmFsbGJhY2spOm51bGx9ZnVuY3Rpb24gVW8oe3R5cGU6dH0pe3N3aXRjaCh0KXtjYXNlIHAuVHlwZS5GTE9XX01BUDpjYXNlIHAuVHlwZS5NQVA6cmV0dXJuIHAuZGVmYXVsdFRhZ3MuTUFQO2Nhc2UgcC5UeXBlLkZMT1dfU0VROmNhc2UgcC5UeXBlLlNFUTpyZXR1cm4gcC5kZWZhdWx0VGFncy5TRVE7ZGVmYXVsdDpyZXR1cm4gcC5kZWZhdWx0VGFncy5TVFJ9fWZ1bmN0aW9uIEtvKHQsZSxuKXt0cnl7bGV0IHI9WXModCxlLG4pO2lmKHIpcmV0dXJuIG4mJmUudGFnJiYoci50YWc9bikscn1jYXRjaChyKXtyZXR1cm4gci5zb3VyY2V8fChyLnNvdXJjZT1lKSx0LmVycm9ycy5wdXNoKHIpLG51bGx9dHJ5e2xldCByPVVvKGUpO2lmKCFyKXRocm93IG5ldyBFcnJvcihgVGhlIHRhZyAke259IGlzIHVuYXZhaWxhYmxlYCk7bGV0IHM9YFRoZSB0YWcgJHtufSBpcyB1bmF2YWlsYWJsZSwgZmFsbGluZyBiYWNrIHRvICR7cn1gO3Qud2FybmluZ3MucHVzaChuZXcgcC5ZQU1MV2FybmluZyhlLHMpKTtsZXQgaT1Zcyh0LGUscik7cmV0dXJuIGkudGFnPW4saX1jYXRjaChyKXtsZXQgcz1uZXcgcC5ZQU1MUmVmZXJlbmNlRXJyb3IoZSxyLm1lc3NhZ2UpO3JldHVybiBzLnN0YWNrPXIuc3RhY2ssdC5lcnJvcnMucHVzaChzKSxudWxsfX12YXIgVm89dD0+e2lmKCF0KXJldHVybiExO2xldHt0eXBlOmV9PXQ7cmV0dXJuIGU9PT1wLlR5cGUuTUFQX0tFWXx8ZT09PXAuVHlwZS5NQVBfVkFMVUV8fGU9PT1wLlR5cGUuU0VRX0lURU19O2Z1bmN0aW9uIFdvKHQsZSl7bGV0IG49e2JlZm9yZTpbXSxhZnRlcjpbXX0scj0hMSxzPSExLGk9Vm8oZS5jb250ZXh0LnBhcmVudCk/ZS5jb250ZXh0LnBhcmVudC5wcm9wcy5jb25jYXQoZS5wcm9wcyk6ZS5wcm9wcztmb3IobGV0e3N0YXJ0Om8sZW5kOmF9b2YgaSlzd2l0Y2goZS5jb250ZXh0LnNyY1tvXSl7Y2FzZSBwLkNoYXIuQ09NTUVOVDp7aWYoIWUuY29tbWVudEhhc1JlcXVpcmVkV2hpdGVzcGFjZShvKSl7bGV0IG09XCJDb21tZW50cyBtdXN0IGJlIHNlcGFyYXRlZCBmcm9tIG90aGVyIHRva2VucyBieSB3aGl0ZSBzcGFjZSBjaGFyYWN0ZXJzXCI7dC5wdXNoKG5ldyBwLllBTUxTZW1hbnRpY0Vycm9yKGUsbSkpfWxldHtoZWFkZXI6Yyx2YWx1ZVJhbmdlOmx9PWU7KGwmJihvPmwuc3RhcnR8fGMmJm8+Yy5zdGFydCk/bi5hZnRlcjpuLmJlZm9yZSkucHVzaChlLmNvbnRleHQuc3JjLnNsaWNlKG8rMSxhKSk7YnJlYWt9Y2FzZSBwLkNoYXIuQU5DSE9SOmlmKHIpe2xldCBjPVwiQSBub2RlIGNhbiBoYXZlIGF0IG1vc3Qgb25lIGFuY2hvclwiO3QucHVzaChuZXcgcC5ZQU1MU2VtYW50aWNFcnJvcihlLGMpKX1yPSEwO2JyZWFrO2Nhc2UgcC5DaGFyLlRBRzppZihzKXtsZXQgYz1cIkEgbm9kZSBjYW4gaGF2ZSBhdCBtb3N0IG9uZSB0YWdcIjt0LnB1c2gobmV3IHAuWUFNTFNlbWFudGljRXJyb3IoZSxjKSl9cz0hMDticmVha31yZXR1cm57Y29tbWVudHM6bixoYXNBbmNob3I6cixoYXNUYWc6c319ZnVuY3Rpb24gam8odCxlKXtsZXR7YW5jaG9yczpuLGVycm9yczpyLHNjaGVtYTpzfT10O2lmKGUudHlwZT09PXAuVHlwZS5BTElBUyl7bGV0IG89ZS5yYXdWYWx1ZSxhPW4uZ2V0Tm9kZShvKTtpZighYSl7bGV0IGw9YEFsaWFzZWQgYW5jaG9yIG5vdCBmb3VuZDogJHtvfWA7cmV0dXJuIHIucHVzaChuZXcgcC5ZQU1MUmVmZXJlbmNlRXJyb3IoZSxsKSksbnVsbH1sZXQgYz1uZXcgd2UoYSk7cmV0dXJuIG4uX2NzdEFsaWFzZXMucHVzaChjKSxjfWxldCBpPXFvKHQsZSk7aWYoaSlyZXR1cm4gS28odCxlLGkpO2lmKGUudHlwZSE9PXAuVHlwZS5QTEFJTil7bGV0IG89YEZhaWxlZCB0byByZXNvbHZlICR7ZS50eXBlfSBub2RlIGhlcmVgO3JldHVybiByLnB1c2gobmV3IHAuWUFNTFN5bnRheEVycm9yKGUsbykpLG51bGx9dHJ5e2xldCBvPVVuKHQsZSk7cmV0dXJuIEZuKG8scy50YWdzLHMudGFncy5zY2FsYXJGYWxsYmFjayl9Y2F0Y2gobyl7cmV0dXJuIG8uc291cmNlfHwoby5zb3VyY2U9ZSksci5wdXNoKG8pLG51bGx9fWZ1bmN0aW9uIG1lKHQsZSl7aWYoIWUpcmV0dXJuIG51bGw7ZS5lcnJvciYmdC5lcnJvcnMucHVzaChlLmVycm9yKTtsZXR7Y29tbWVudHM6bixoYXNBbmNob3I6cixoYXNUYWc6c309V28odC5lcnJvcnMsZSk7aWYocil7bGV0e2FuY2hvcnM6b309dCxhPWUuYW5jaG9yLGM9by5nZXROb2RlKGEpO2MmJihvLm1hcFtvLm5ld05hbWUoYSldPWMpLG8ubWFwW2FdPWV9aWYoZS50eXBlPT09cC5UeXBlLkFMSUFTJiYocnx8cykpe2xldCBvPVwiQW4gYWxpYXMgbm9kZSBtdXN0IG5vdCBzcGVjaWZ5IGFueSBwcm9wZXJ0aWVzXCI7dC5lcnJvcnMucHVzaChuZXcgcC5ZQU1MU2VtYW50aWNFcnJvcihlLG8pKX1sZXQgaT1qbyh0LGUpO2lmKGkpe2kucmFuZ2U9W2UucmFuZ2Uuc3RhcnQsZS5yYW5nZS5lbmRdLHQub3B0aW9ucy5rZWVwQ3N0Tm9kZXMmJihpLmNzdE5vZGU9ZSksdC5vcHRpb25zLmtlZXBOb2RlVHlwZXMmJihpLnR5cGU9ZS50eXBlKTtsZXQgbz1uLmJlZm9yZS5qb2luKGBcbmApO28mJihpLmNvbW1lbnRCZWZvcmU9aS5jb21tZW50QmVmb3JlP2Ake2kuY29tbWVudEJlZm9yZX1cbiR7b31gOm8pO2xldCBhPW4uYWZ0ZXIuam9pbihgXG5gKTthJiYoaS5jb21tZW50PWkuY29tbWVudD9gJHtpLmNvbW1lbnR9XG4ke2F9YDphKX1yZXR1cm4gZS5yZXNvbHZlZD1pfWZ1bmN0aW9uIFFvKHQsZSl7aWYoZS50eXBlIT09cC5UeXBlLk1BUCYmZS50eXBlIT09cC5UeXBlLkZMT1dfTUFQKXtsZXQgbz1gQSAke2UudHlwZX0gbm9kZSBjYW5ub3QgYmUgcmVzb2x2ZWQgYXMgYSBtYXBwaW5nYDtyZXR1cm4gdC5lcnJvcnMucHVzaChuZXcgcC5ZQU1MU3ludGF4RXJyb3IoZSxvKSksbnVsbH1sZXR7Y29tbWVudHM6bixpdGVtczpyfT1lLnR5cGU9PT1wLlR5cGUuRkxPV19NQVA/WG8odCxlKTpIbyh0LGUpLHM9bmV3IG10O3MuaXRlbXM9cixXcyhzLG4pO2xldCBpPSExO2ZvcihsZXQgbz0wO288ci5sZW5ndGg7KytvKXtsZXR7a2V5OmF9PXJbb107aWYoYSBpbnN0YW5jZW9mIGomJihpPSEwKSx0LnNjaGVtYS5tZXJnZSYmYSYmYS52YWx1ZT09PSRzKXtyW29dPW5ldyBWdChyW29dKTtsZXQgYz1yW29dLnZhbHVlLml0ZW1zLGw9bnVsbDtjLnNvbWUoZj0+e2lmKGYgaW5zdGFuY2VvZiB3ZSl7bGV0e3R5cGU6bX09Zi5zb3VyY2U7cmV0dXJuIG09PT1wLlR5cGUuTUFQfHxtPT09cC5UeXBlLkZMT1dfTUFQPyExOmw9XCJNZXJnZSBub2RlcyBhbGlhc2VzIGNhbiBvbmx5IHBvaW50IHRvIG1hcHNcIn1yZXR1cm4gbD1cIk1lcmdlIG5vZGVzIGNhbiBvbmx5IGhhdmUgQWxpYXMgbm9kZXMgYXMgdmFsdWVzXCJ9KSxsJiZ0LmVycm9ycy5wdXNoKG5ldyBwLllBTUxTZW1hbnRpY0Vycm9yKGUsbCkpfWVsc2UgZm9yKGxldCBjPW8rMTtjPHIubGVuZ3RoOysrYyl7bGV0e2tleTpsfT1yW2NdO2lmKGE9PT1sfHxhJiZsJiZPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwoYSxcInZhbHVlXCIpJiZhLnZhbHVlPT09bC52YWx1ZSl7bGV0IGY9YE1hcCBrZXlzIG11c3QgYmUgdW5pcXVlOyBcIiR7YX1cIiBpcyByZXBlYXRlZGA7dC5lcnJvcnMucHVzaChuZXcgcC5ZQU1MU2VtYW50aWNFcnJvcihlLGYpKTticmVha319fWlmKGkmJiF0Lm9wdGlvbnMubWFwQXNNYXApe2xldCBvPVwiS2V5cyB3aXRoIGNvbGxlY3Rpb24gdmFsdWVzIHdpbGwgYmUgc3RyaW5naWZpZWQgYXMgWUFNTCBkdWUgdG8gSlMgT2JqZWN0IHJlc3RyaWN0aW9ucy4gVXNlIG1hcEFzTWFwOiB0cnVlIHRvIGF2b2lkIHRoaXMuXCI7dC53YXJuaW5ncy5wdXNoKG5ldyBwLllBTUxXYXJuaW5nKGUsbykpfXJldHVybiBlLnJlc29sdmVkPXMsc312YXIgSm89KHtjb250ZXh0OntsaW5lU3RhcnQ6dCxub2RlOmUsc3JjOm59LHByb3BzOnJ9KT0+e2lmKHIubGVuZ3RoPT09MClyZXR1cm4hMTtsZXR7c3RhcnQ6c309clswXTtpZihlJiZzPmUudmFsdWVSYW5nZS5zdGFydHx8bltzXSE9PXAuQ2hhci5DT01NRU5UKXJldHVybiExO2ZvcihsZXQgaT10O2k8czsrK2kpaWYobltpXT09PWBcbmApcmV0dXJuITE7cmV0dXJuITB9O2Z1bmN0aW9uIEdvKHQsZSl7aWYoIUpvKHQpKXJldHVybjtsZXQgbj10LmdldFByb3BWYWx1ZSgwLHAuQ2hhci5DT01NRU5ULCEwKSxyPSExLHM9ZS52YWx1ZS5jb21tZW50QmVmb3JlO2lmKHMmJnMuc3RhcnRzV2l0aChuKSllLnZhbHVlLmNvbW1lbnRCZWZvcmU9cy5zdWJzdHIobi5sZW5ndGgrMSkscj0hMDtlbHNle2xldCBpPWUudmFsdWUuY29tbWVudDshdC5ub2RlJiZpJiZpLnN0YXJ0c1dpdGgobikmJihlLnZhbHVlLmNvbW1lbnQ9aS5zdWJzdHIobi5sZW5ndGgrMSkscj0hMCl9ciYmKGUuY29tbWVudD1uKX1mdW5jdGlvbiBIbyh0LGUpe2xldCBuPVtdLHI9W10scyxpPW51bGw7Zm9yKGxldCBvPTA7bzxlLml0ZW1zLmxlbmd0aDsrK28pe2xldCBhPWUuaXRlbXNbb107c3dpdGNoKGEudHlwZSl7Y2FzZSBwLlR5cGUuQkxBTktfTElORTpuLnB1c2goe2FmdGVyS2V5OiEhcyxiZWZvcmU6ci5sZW5ndGh9KTticmVhaztjYXNlIHAuVHlwZS5DT01NRU5UOm4ucHVzaCh7YWZ0ZXJLZXk6ISFzLGJlZm9yZTpyLmxlbmd0aCxjb21tZW50OmEuY29tbWVudH0pO2JyZWFrO2Nhc2UgcC5UeXBlLk1BUF9LRVk6cyE9PXZvaWQgMCYmci5wdXNoKG5ldyBUKHMpKSxhLmVycm9yJiZ0LmVycm9ycy5wdXNoKGEuZXJyb3IpLHM9bWUodCxhLm5vZGUpLGk9bnVsbDticmVhaztjYXNlIHAuVHlwZS5NQVBfVkFMVUU6e2lmKHM9PT12b2lkIDAmJihzPW51bGwpLGEuZXJyb3ImJnQuZXJyb3JzLnB1c2goYS5lcnJvciksIWEuY29udGV4dC5hdExpbmVTdGFydCYmYS5ub2RlJiZhLm5vZGUudHlwZT09PXAuVHlwZS5NQVAmJiFhLm5vZGUuY29udGV4dC5hdExpbmVTdGFydCl7bGV0IGY9XCJOZXN0ZWQgbWFwcGluZ3MgYXJlIG5vdCBhbGxvd2VkIGluIGNvbXBhY3QgbWFwcGluZ3NcIjt0LmVycm9ycy5wdXNoKG5ldyBwLllBTUxTZW1hbnRpY0Vycm9yKGEubm9kZSxmKSl9bGV0IGM9YS5ub2RlO2lmKCFjJiZhLnByb3BzLmxlbmd0aD4wKXtjPW5ldyBwLlBsYWluVmFsdWUocC5UeXBlLlBMQUlOLFtdKSxjLmNvbnRleHQ9e3BhcmVudDphLHNyYzphLmNvbnRleHQuc3JjfTtsZXQgZj1hLnJhbmdlLnN0YXJ0KzE7aWYoYy5yYW5nZT17c3RhcnQ6ZixlbmQ6Zn0sYy52YWx1ZVJhbmdlPXtzdGFydDpmLGVuZDpmfSx0eXBlb2YgYS5yYW5nZS5vcmlnU3RhcnQ9PVwibnVtYmVyXCIpe2xldCBtPWEucmFuZ2Uub3JpZ1N0YXJ0KzE7Yy5yYW5nZS5vcmlnU3RhcnQ9Yy5yYW5nZS5vcmlnRW5kPW0sYy52YWx1ZVJhbmdlLm9yaWdTdGFydD1jLnZhbHVlUmFuZ2Uub3JpZ0VuZD1tfX1sZXQgbD1uZXcgVChzLG1lKHQsYykpO0dvKGEsbCksci5wdXNoKGwpLHMmJnR5cGVvZiBpPT1cIm51bWJlclwiJiZhLnJhbmdlLnN0YXJ0PmkrMTAyNCYmdC5lcnJvcnMucHVzaChWcyhlLHMpKSxzPXZvaWQgMCxpPW51bGx9YnJlYWs7ZGVmYXVsdDpzIT09dm9pZCAwJiZyLnB1c2gobmV3IFQocykpLHM9bWUodCxhKSxpPWEucmFuZ2Uuc3RhcnQsYS5lcnJvciYmdC5lcnJvcnMucHVzaChhLmVycm9yKTtlOmZvcihsZXQgYz1vKzE7OysrYyl7bGV0IGw9ZS5pdGVtc1tjXTtzd2l0Y2gobCYmbC50eXBlKXtjYXNlIHAuVHlwZS5CTEFOS19MSU5FOmNhc2UgcC5UeXBlLkNPTU1FTlQ6Y29udGludWUgZTtjYXNlIHAuVHlwZS5NQVBfVkFMVUU6YnJlYWsgZTtkZWZhdWx0OntsZXQgZj1cIkltcGxpY2l0IG1hcCBrZXlzIG5lZWQgdG8gYmUgZm9sbG93ZWQgYnkgbWFwIHZhbHVlc1wiO3QuZXJyb3JzLnB1c2gobmV3IHAuWUFNTFNlbWFudGljRXJyb3IoYSxmKSk7YnJlYWsgZX19fWlmKGEudmFsdWVSYW5nZUNvbnRhaW5zTmV3bGluZSl7bGV0IGM9XCJJbXBsaWNpdCBtYXAga2V5cyBuZWVkIHRvIGJlIG9uIGEgc2luZ2xlIGxpbmVcIjt0LmVycm9ycy5wdXNoKG5ldyBwLllBTUxTZW1hbnRpY0Vycm9yKGEsYykpfX19cmV0dXJuIHMhPT12b2lkIDAmJnIucHVzaChuZXcgVChzKSkse2NvbW1lbnRzOm4saXRlbXM6cn19ZnVuY3Rpb24gWG8odCxlKXtsZXQgbj1bXSxyPVtdLHMsaT0hMSxvPVwie1wiO2ZvcihsZXQgYT0wO2E8ZS5pdGVtcy5sZW5ndGg7KythKXtsZXQgYz1lLml0ZW1zW2FdO2lmKHR5cGVvZiBjLmNoYXI9PVwic3RyaW5nXCIpe2xldHtjaGFyOmwsb2Zmc2V0OmZ9PWM7aWYobD09PVwiP1wiJiZzPT09dm9pZCAwJiYhaSl7aT0hMCxvPVwiOlwiO2NvbnRpbnVlfWlmKGw9PT1cIjpcIil7aWYocz09PXZvaWQgMCYmKHM9bnVsbCksbz09PVwiOlwiKXtvPVwiLFwiO2NvbnRpbnVlfX1lbHNlIGlmKGkmJihzPT09dm9pZCAwJiZsIT09XCIsXCImJihzPW51bGwpLGk9ITEpLHMhPT12b2lkIDAmJihyLnB1c2gobmV3IFQocykpLHM9dm9pZCAwLGw9PT1cIixcIikpe289XCI6XCI7Y29udGludWV9aWYobD09PVwifVwiKXtpZihhPT09ZS5pdGVtcy5sZW5ndGgtMSljb250aW51ZX1lbHNlIGlmKGw9PT1vKXtvPVwiOlwiO2NvbnRpbnVlfWxldCBtPWBGbG93IG1hcCBjb250YWlucyBhbiB1bmV4cGVjdGVkICR7bH1gLGQ9bmV3IHAuWUFNTFN5bnRheEVycm9yKGUsbSk7ZC5vZmZzZXQ9Zix0LmVycm9ycy5wdXNoKGQpfWVsc2UgYy50eXBlPT09cC5UeXBlLkJMQU5LX0xJTkU/bi5wdXNoKHthZnRlcktleTohIXMsYmVmb3JlOnIubGVuZ3RofSk6Yy50eXBlPT09cC5UeXBlLkNPTU1FTlQ/KEtzKHQuZXJyb3JzLGMpLG4ucHVzaCh7YWZ0ZXJLZXk6ISFzLGJlZm9yZTpyLmxlbmd0aCxjb21tZW50OmMuY29tbWVudH0pKTpzPT09dm9pZCAwPyhvPT09XCIsXCImJnQuZXJyb3JzLnB1c2gobmV3IHAuWUFNTFNlbWFudGljRXJyb3IoYyxcIlNlcGFyYXRvciAsIG1pc3NpbmcgaW4gZmxvdyBtYXBcIikpLHM9bWUodCxjKSk6KG8hPT1cIixcIiYmdC5lcnJvcnMucHVzaChuZXcgcC5ZQU1MU2VtYW50aWNFcnJvcihjLFwiSW5kaWNhdG9yIDogbWlzc2luZyBpbiBmbG93IG1hcCBlbnRyeVwiKSksci5wdXNoKG5ldyBUKHMsbWUodCxjKSkpLHM9dm9pZCAwLGk9ITEpfXJldHVybiBVcyh0LmVycm9ycyxlKSxzIT09dm9pZCAwJiZyLnB1c2gobmV3IFQocykpLHtjb21tZW50czpuLGl0ZW1zOnJ9fWZ1bmN0aW9uIHpvKHQsZSl7aWYoZS50eXBlIT09cC5UeXBlLlNFUSYmZS50eXBlIT09cC5UeXBlLkZMT1dfU0VRKXtsZXQgaT1gQSAke2UudHlwZX0gbm9kZSBjYW5ub3QgYmUgcmVzb2x2ZWQgYXMgYSBzZXF1ZW5jZWA7cmV0dXJuIHQuZXJyb3JzLnB1c2gobmV3IHAuWUFNTFN5bnRheEVycm9yKGUsaSkpLG51bGx9bGV0e2NvbW1lbnRzOm4saXRlbXM6cn09ZS50eXBlPT09cC5UeXBlLkZMT1dfU0VRP2VhKHQsZSk6Wm8odCxlKSxzPW5ldyBwZTtpZihzLml0ZW1zPXIsV3MocyxuKSwhdC5vcHRpb25zLm1hcEFzTWFwJiZyLnNvbWUoaT0+aSBpbnN0YW5jZW9mIFQmJmkua2V5IGluc3RhbmNlb2Ygaikpe2xldCBpPVwiS2V5cyB3aXRoIGNvbGxlY3Rpb24gdmFsdWVzIHdpbGwgYmUgc3RyaW5naWZpZWQgYXMgWUFNTCBkdWUgdG8gSlMgT2JqZWN0IHJlc3RyaWN0aW9ucy4gVXNlIG1hcEFzTWFwOiB0cnVlIHRvIGF2b2lkIHRoaXMuXCI7dC53YXJuaW5ncy5wdXNoKG5ldyBwLllBTUxXYXJuaW5nKGUsaSkpfXJldHVybiBlLnJlc29sdmVkPXMsc31mdW5jdGlvbiBabyh0LGUpe2xldCBuPVtdLHI9W107Zm9yKGxldCBzPTA7czxlLml0ZW1zLmxlbmd0aDsrK3Mpe2xldCBpPWUuaXRlbXNbc107c3dpdGNoKGkudHlwZSl7Y2FzZSBwLlR5cGUuQkxBTktfTElORTpuLnB1c2goe2JlZm9yZTpyLmxlbmd0aH0pO2JyZWFrO2Nhc2UgcC5UeXBlLkNPTU1FTlQ6bi5wdXNoKHtjb21tZW50OmkuY29tbWVudCxiZWZvcmU6ci5sZW5ndGh9KTticmVhaztjYXNlIHAuVHlwZS5TRVFfSVRFTTppZihpLmVycm9yJiZ0LmVycm9ycy5wdXNoKGkuZXJyb3IpLHIucHVzaChtZSh0LGkubm9kZSkpLGkuaGFzUHJvcHMpe2xldCBvPVwiU2VxdWVuY2UgaXRlbXMgY2Fubm90IGhhdmUgdGFncyBvciBhbmNob3JzIGJlZm9yZSB0aGUgLSBpbmRpY2F0b3JcIjt0LmVycm9ycy5wdXNoKG5ldyBwLllBTUxTZW1hbnRpY0Vycm9yKGksbykpfWJyZWFrO2RlZmF1bHQ6aS5lcnJvciYmdC5lcnJvcnMucHVzaChpLmVycm9yKSx0LmVycm9ycy5wdXNoKG5ldyBwLllBTUxTeW50YXhFcnJvcihpLGBVbmV4cGVjdGVkICR7aS50eXBlfSBub2RlIGluIHNlcXVlbmNlYCkpfX1yZXR1cm57Y29tbWVudHM6bixpdGVtczpyfX1mdW5jdGlvbiBlYSh0LGUpe2xldCBuPVtdLHI9W10scz0hMSxpLG89bnVsbCxhPVwiW1wiLGM9bnVsbDtmb3IobGV0IGw9MDtsPGUuaXRlbXMubGVuZ3RoOysrbCl7bGV0IGY9ZS5pdGVtc1tsXTtpZih0eXBlb2YgZi5jaGFyPT1cInN0cmluZ1wiKXtsZXR7Y2hhcjptLG9mZnNldDpkfT1mO2lmKG0hPT1cIjpcIiYmKHN8fGkhPT12b2lkIDApJiYocyYmaT09PXZvaWQgMCYmKGk9YT9yLnBvcCgpOm51bGwpLHIucHVzaChuZXcgVChpKSkscz0hMSxpPXZvaWQgMCxvPW51bGwpLG09PT1hKWE9bnVsbDtlbHNlIGlmKCFhJiZtPT09XCI/XCIpcz0hMDtlbHNlIGlmKGEhPT1cIltcIiYmbT09PVwiOlwiJiZpPT09dm9pZCAwKXtpZihhPT09XCIsXCIpe2lmKGk9ci5wb3AoKSxpIGluc3RhbmNlb2YgVCl7bGV0IHk9XCJDaGFpbmluZyBmbG93IHNlcXVlbmNlIHBhaXJzIGlzIGludmFsaWRcIixoPW5ldyBwLllBTUxTZW1hbnRpY0Vycm9yKGUseSk7aC5vZmZzZXQ9ZCx0LmVycm9ycy5wdXNoKGgpfWlmKCFzJiZ0eXBlb2Ygbz09XCJudW1iZXJcIil7bGV0IHk9Zi5yYW5nZT9mLnJhbmdlLnN0YXJ0OmYub2Zmc2V0O3k+bysxMDI0JiZ0LmVycm9ycy5wdXNoKFZzKGUsaSkpO2xldHtzcmM6aH09Yy5jb250ZXh0O2ZvcihsZXQgZz1vO2c8eTsrK2cpaWYoaFtnXT09PWBcbmApe2xldCB3PVwiSW1wbGljaXQga2V5cyBvZiBmbG93IHNlcXVlbmNlIHBhaXJzIG5lZWQgdG8gYmUgb24gYSBzaW5nbGUgbGluZVwiO3QuZXJyb3JzLnB1c2gobmV3IHAuWUFNTFNlbWFudGljRXJyb3IoYyx3KSk7YnJlYWt9fX1lbHNlIGk9bnVsbDtvPW51bGwscz0hMSxhPW51bGx9ZWxzZSBpZihhPT09XCJbXCJ8fG0hPT1cIl1cInx8bDxlLml0ZW1zLmxlbmd0aC0xKXtsZXQgeT1gRmxvdyBzZXF1ZW5jZSBjb250YWlucyBhbiB1bmV4cGVjdGVkICR7bX1gLGg9bmV3IHAuWUFNTFN5bnRheEVycm9yKGUseSk7aC5vZmZzZXQ9ZCx0LmVycm9ycy5wdXNoKGgpfX1lbHNlIGlmKGYudHlwZT09PXAuVHlwZS5CTEFOS19MSU5FKW4ucHVzaCh7YmVmb3JlOnIubGVuZ3RofSk7ZWxzZSBpZihmLnR5cGU9PT1wLlR5cGUuQ09NTUVOVClLcyh0LmVycm9ycyxmKSxuLnB1c2goe2NvbW1lbnQ6Zi5jb21tZW50LGJlZm9yZTpyLmxlbmd0aH0pO2Vsc2V7aWYoYSl7bGV0IGQ9YEV4cGVjdGVkIGEgJHthfSBpbiBmbG93IHNlcXVlbmNlYDt0LmVycm9ycy5wdXNoKG5ldyBwLllBTUxTZW1hbnRpY0Vycm9yKGYsZCkpfWxldCBtPW1lKHQsZik7aT09PXZvaWQgMD8oci5wdXNoKG0pLGM9Zik6KHIucHVzaChuZXcgVChpLG0pKSxpPXZvaWQgMCksbz1mLnJhbmdlLnN0YXJ0LGE9XCIsXCJ9fXJldHVybiBVcyh0LmVycm9ycyxlKSxpIT09dm9pZCAwJiZyLnB1c2gobmV3IFQoaSkpLHtjb21tZW50czpuLGl0ZW1zOnJ9fWsuQWxpYXM9d2U7ay5Db2xsZWN0aW9uPWo7ay5NZXJnZT1WdDtrLk5vZGU9VztrLlBhaXI9VDtrLlNjYWxhcj1QO2suWUFNTE1hcD1tdDtrLllBTUxTZXE9cGU7ay5hZGRDb21tZW50PUJlO2suYmluYXJ5T3B0aW9ucz1QbztrLmJvb2xPcHRpb25zPV9vO2suZmluZFBhaXI9cHQ7ay5pbnRPcHRpb25zPXhvO2suaXNFbXB0eVBhdGg9QnM7ay5udWxsT3B0aW9ucz1SbztrLnJlc29sdmVNYXA9UW87ay5yZXNvbHZlTm9kZT1tZTtrLnJlc29sdmVTZXE9em87ay5yZXNvbHZlU3RyaW5nPVVuO2suc3RyT3B0aW9ucz1iZTtrLnN0cmluZ2lmeU51bWJlcj0kbztrLnN0cmluZ2lmeVN0cmluZz1CbztrLnRvSlNPTj11ZX0pO3ZhciBqbj1lZSh6PT57XCJ1c2Ugc3RyaWN0XCI7dmFyIFE9bGUoKSxPPSRlKCksdGE9e2lkZW50aWZ5OnQ9PnQgaW5zdGFuY2VvZiBVaW50OEFycmF5LGRlZmF1bHQ6ITEsdGFnOlwidGFnOnlhbWwub3JnLDIwMDI6YmluYXJ5XCIscmVzb2x2ZToodCxlKT0+e2xldCBuPU8ucmVzb2x2ZVN0cmluZyh0LGUpO2lmKHR5cGVvZiBCdWZmZXI9PVwiZnVuY3Rpb25cIilyZXR1cm4gQnVmZmVyLmZyb20obixcImJhc2U2NFwiKTtpZih0eXBlb2YgYXRvYj09XCJmdW5jdGlvblwiKXtsZXQgcj1hdG9iKG4ucmVwbGFjZSgvW1xcblxccl0vZyxcIlwiKSkscz1uZXcgVWludDhBcnJheShyLmxlbmd0aCk7Zm9yKGxldCBpPTA7aTxyLmxlbmd0aDsrK2kpc1tpXT1yLmNoYXJDb2RlQXQoaSk7cmV0dXJuIHN9ZWxzZXtsZXQgcj1cIlRoaXMgZW52aXJvbm1lbnQgZG9lcyBub3Qgc3VwcG9ydCByZWFkaW5nIGJpbmFyeSB0YWdzOyBlaXRoZXIgQnVmZmVyIG9yIGF0b2IgaXMgcmVxdWlyZWRcIjtyZXR1cm4gdC5lcnJvcnMucHVzaChuZXcgUS5ZQU1MUmVmZXJlbmNlRXJyb3IoZSxyKSksbnVsbH19LG9wdGlvbnM6Ty5iaW5hcnlPcHRpb25zLHN0cmluZ2lmeTooe2NvbW1lbnQ6dCx0eXBlOmUsdmFsdWU6bn0scixzLGkpPT57bGV0IG87aWYodHlwZW9mIEJ1ZmZlcj09XCJmdW5jdGlvblwiKW89biBpbnN0YW5jZW9mIEJ1ZmZlcj9uLnRvU3RyaW5nKFwiYmFzZTY0XCIpOkJ1ZmZlci5mcm9tKG4uYnVmZmVyKS50b1N0cmluZyhcImJhc2U2NFwiKTtlbHNlIGlmKHR5cGVvZiBidG9hPT1cImZ1bmN0aW9uXCIpe2xldCBhPVwiXCI7Zm9yKGxldCBjPTA7YzxuLmxlbmd0aDsrK2MpYSs9U3RyaW5nLmZyb21DaGFyQ29kZShuW2NdKTtvPWJ0b2EoYSl9ZWxzZSB0aHJvdyBuZXcgRXJyb3IoXCJUaGlzIGVudmlyb25tZW50IGRvZXMgbm90IHN1cHBvcnQgd3JpdGluZyBiaW5hcnkgdGFnczsgZWl0aGVyIEJ1ZmZlciBvciBidG9hIGlzIHJlcXVpcmVkXCIpO2lmKGV8fChlPU8uYmluYXJ5T3B0aW9ucy5kZWZhdWx0VHlwZSksZT09PVEuVHlwZS5RVU9URV9ET1VCTEUpbj1vO2Vsc2V7bGV0e2xpbmVXaWR0aDphfT1PLmJpbmFyeU9wdGlvbnMsYz1NYXRoLmNlaWwoby5sZW5ndGgvYSksbD1uZXcgQXJyYXkoYyk7Zm9yKGxldCBmPTAsbT0wO2Y8YzsrK2YsbSs9YSlsW2ZdPW8uc3Vic3RyKG0sYSk7bj1sLmpvaW4oZT09PVEuVHlwZS5CTE9DS19MSVRFUkFMP2BcbmA6XCIgXCIpfXJldHVybiBPLnN0cmluZ2lmeVN0cmluZyh7Y29tbWVudDp0LHR5cGU6ZSx2YWx1ZTpufSxyLHMsaSl9fTtmdW5jdGlvbiBRcyh0LGUpe2xldCBuPU8ucmVzb2x2ZVNlcSh0LGUpO2ZvcihsZXQgcj0wO3I8bi5pdGVtcy5sZW5ndGg7KytyKXtsZXQgcz1uLml0ZW1zW3JdO2lmKCEocyBpbnN0YW5jZW9mIE8uUGFpcikpe2lmKHMgaW5zdGFuY2VvZiBPLllBTUxNYXApe2lmKHMuaXRlbXMubGVuZ3RoPjEpe2xldCBvPVwiRWFjaCBwYWlyIG11c3QgaGF2ZSBpdHMgb3duIHNlcXVlbmNlIGluZGljYXRvclwiO3Rocm93IG5ldyBRLllBTUxTZW1hbnRpY0Vycm9yKGUsbyl9bGV0IGk9cy5pdGVtc1swXXx8bmV3IE8uUGFpcjtzLmNvbW1lbnRCZWZvcmUmJihpLmNvbW1lbnRCZWZvcmU9aS5jb21tZW50QmVmb3JlP2Ake3MuY29tbWVudEJlZm9yZX1cbiR7aS5jb21tZW50QmVmb3JlfWA6cy5jb21tZW50QmVmb3JlKSxzLmNvbW1lbnQmJihpLmNvbW1lbnQ9aS5jb21tZW50P2Ake3MuY29tbWVudH1cbiR7aS5jb21tZW50fWA6cy5jb21tZW50KSxzPWl9bi5pdGVtc1tyXT1zIGluc3RhbmNlb2YgTy5QYWlyP3M6bmV3IE8uUGFpcihzKX19cmV0dXJuIG59ZnVuY3Rpb24gSnModCxlLG4pe2xldCByPW5ldyBPLllBTUxTZXEodCk7ci50YWc9XCJ0YWc6eWFtbC5vcmcsMjAwMjpwYWlyc1wiO2ZvcihsZXQgcyBvZiBlKXtsZXQgaSxvO2lmKEFycmF5LmlzQXJyYXkocykpaWYocy5sZW5ndGg9PT0yKWk9c1swXSxvPXNbMV07ZWxzZSB0aHJvdyBuZXcgVHlwZUVycm9yKGBFeHBlY3RlZCBba2V5LCB2YWx1ZV0gdHVwbGU6ICR7c31gKTtlbHNlIGlmKHMmJnMgaW5zdGFuY2VvZiBPYmplY3Qpe2xldCBjPU9iamVjdC5rZXlzKHMpO2lmKGMubGVuZ3RoPT09MSlpPWNbMF0sbz1zW2ldO2Vsc2UgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgeyBrZXk6IHZhbHVlIH0gdHVwbGU6ICR7c31gKX1lbHNlIGk9cztsZXQgYT10LmNyZWF0ZVBhaXIoaSxvLG4pO3IuaXRlbXMucHVzaChhKX1yZXR1cm4gcn12YXIgbmE9e2RlZmF1bHQ6ITEsdGFnOlwidGFnOnlhbWwub3JnLDIwMDI6cGFpcnNcIixyZXNvbHZlOlFzLGNyZWF0ZU5vZGU6SnN9LEZlPWNsYXNzIHQgZXh0ZW5kcyBPLllBTUxTZXF7Y29uc3RydWN0b3IoKXtzdXBlcigpLFEuX2RlZmluZVByb3BlcnR5KHRoaXMsXCJhZGRcIixPLllBTUxNYXAucHJvdG90eXBlLmFkZC5iaW5kKHRoaXMpKSxRLl9kZWZpbmVQcm9wZXJ0eSh0aGlzLFwiZGVsZXRlXCIsTy5ZQU1MTWFwLnByb3RvdHlwZS5kZWxldGUuYmluZCh0aGlzKSksUS5fZGVmaW5lUHJvcGVydHkodGhpcyxcImdldFwiLE8uWUFNTE1hcC5wcm90b3R5cGUuZ2V0LmJpbmQodGhpcykpLFEuX2RlZmluZVByb3BlcnR5KHRoaXMsXCJoYXNcIixPLllBTUxNYXAucHJvdG90eXBlLmhhcy5iaW5kKHRoaXMpKSxRLl9kZWZpbmVQcm9wZXJ0eSh0aGlzLFwic2V0XCIsTy5ZQU1MTWFwLnByb3RvdHlwZS5zZXQuYmluZCh0aGlzKSksdGhpcy50YWc9dC50YWd9dG9KU09OKGUsbil7bGV0IHI9bmV3IE1hcDtuJiZuLm9uQ3JlYXRlJiZuLm9uQ3JlYXRlKHIpO2ZvcihsZXQgcyBvZiB0aGlzLml0ZW1zKXtsZXQgaSxvO2lmKHMgaW5zdGFuY2VvZiBPLlBhaXI/KGk9Ty50b0pTT04ocy5rZXksXCJcIixuKSxvPU8udG9KU09OKHMudmFsdWUsaSxuKSk6aT1PLnRvSlNPTihzLFwiXCIsbiksci5oYXMoaSkpdGhyb3cgbmV3IEVycm9yKFwiT3JkZXJlZCBtYXBzIG11c3Qgbm90IGluY2x1ZGUgZHVwbGljYXRlIGtleXNcIik7ci5zZXQoaSxvKX1yZXR1cm4gcn19O1EuX2RlZmluZVByb3BlcnR5KEZlLFwidGFnXCIsXCJ0YWc6eWFtbC5vcmcsMjAwMjpvbWFwXCIpO2Z1bmN0aW9uIHJhKHQsZSl7bGV0IG49UXModCxlKSxyPVtdO2ZvcihsZXR7a2V5OnN9b2Ygbi5pdGVtcylpZihzIGluc3RhbmNlb2YgTy5TY2FsYXIpaWYoci5pbmNsdWRlcyhzLnZhbHVlKSl7bGV0IGk9XCJPcmRlcmVkIG1hcHMgbXVzdCBub3QgaW5jbHVkZSBkdXBsaWNhdGUga2V5c1wiO3Rocm93IG5ldyBRLllBTUxTZW1hbnRpY0Vycm9yKGUsaSl9ZWxzZSByLnB1c2gocy52YWx1ZSk7cmV0dXJuIE9iamVjdC5hc3NpZ24obmV3IEZlLG4pfWZ1bmN0aW9uIHNhKHQsZSxuKXtsZXQgcj1Kcyh0LGUsbikscz1uZXcgRmU7cmV0dXJuIHMuaXRlbXM9ci5pdGVtcyxzfXZhciBpYT17aWRlbnRpZnk6dD0+dCBpbnN0YW5jZW9mIE1hcCxub2RlQ2xhc3M6RmUsZGVmYXVsdDohMSx0YWc6XCJ0YWc6eWFtbC5vcmcsMjAwMjpvbWFwXCIscmVzb2x2ZTpyYSxjcmVhdGVOb2RlOnNhfSxxZT1jbGFzcyB0IGV4dGVuZHMgTy5ZQU1MTWFwe2NvbnN0cnVjdG9yKCl7c3VwZXIoKSx0aGlzLnRhZz10LnRhZ31hZGQoZSl7bGV0IG49ZSBpbnN0YW5jZW9mIE8uUGFpcj9lOm5ldyBPLlBhaXIoZSk7Ty5maW5kUGFpcih0aGlzLml0ZW1zLG4ua2V5KXx8dGhpcy5pdGVtcy5wdXNoKG4pfWdldChlLG4pe2xldCByPU8uZmluZFBhaXIodGhpcy5pdGVtcyxlKTtyZXR1cm4hbiYmciBpbnN0YW5jZW9mIE8uUGFpcj9yLmtleSBpbnN0YW5jZW9mIE8uU2NhbGFyP3Iua2V5LnZhbHVlOnIua2V5OnJ9c2V0KGUsbil7aWYodHlwZW9mIG4hPVwiYm9vbGVhblwiKXRocm93IG5ldyBFcnJvcihgRXhwZWN0ZWQgYm9vbGVhbiB2YWx1ZSBmb3Igc2V0KGtleSwgdmFsdWUpIGluIGEgWUFNTCBzZXQsIG5vdCAke3R5cGVvZiBufWApO2xldCByPU8uZmluZFBhaXIodGhpcy5pdGVtcyxlKTtyJiYhbj90aGlzLml0ZW1zLnNwbGljZSh0aGlzLml0ZW1zLmluZGV4T2YociksMSk6IXImJm4mJnRoaXMuaXRlbXMucHVzaChuZXcgTy5QYWlyKGUpKX10b0pTT04oZSxuKXtyZXR1cm4gc3VwZXIudG9KU09OKGUsbixTZXQpfXRvU3RyaW5nKGUsbixyKXtpZighZSlyZXR1cm4gSlNPTi5zdHJpbmdpZnkodGhpcyk7aWYodGhpcy5oYXNBbGxOdWxsVmFsdWVzKCkpcmV0dXJuIHN1cGVyLnRvU3RyaW5nKGUsbixyKTt0aHJvdyBuZXcgRXJyb3IoXCJTZXQgaXRlbXMgbXVzdCBhbGwgaGF2ZSBudWxsIHZhbHVlc1wiKX19O1EuX2RlZmluZVByb3BlcnR5KHFlLFwidGFnXCIsXCJ0YWc6eWFtbC5vcmcsMjAwMjpzZXRcIik7ZnVuY3Rpb24gb2EodCxlKXtsZXQgbj1PLnJlc29sdmVNYXAodCxlKTtpZighbi5oYXNBbGxOdWxsVmFsdWVzKCkpdGhyb3cgbmV3IFEuWUFNTFNlbWFudGljRXJyb3IoZSxcIlNldCBpdGVtcyBtdXN0IGFsbCBoYXZlIG51bGwgdmFsdWVzXCIpO3JldHVybiBPYmplY3QuYXNzaWduKG5ldyBxZSxuKX1mdW5jdGlvbiBhYSh0LGUsbil7bGV0IHI9bmV3IHFlO2ZvcihsZXQgcyBvZiBlKXIuaXRlbXMucHVzaCh0LmNyZWF0ZVBhaXIocyxudWxsLG4pKTtyZXR1cm4gcn12YXIgY2E9e2lkZW50aWZ5OnQ9PnQgaW5zdGFuY2VvZiBTZXQsbm9kZUNsYXNzOnFlLGRlZmF1bHQ6ITEsdGFnOlwidGFnOnlhbWwub3JnLDIwMDI6c2V0XCIscmVzb2x2ZTpvYSxjcmVhdGVOb2RlOmFhfSxLbj0odCxlKT0+e2xldCBuPWUuc3BsaXQoXCI6XCIpLnJlZHVjZSgocixzKT0+cio2MCtOdW1iZXIocyksMCk7cmV0dXJuIHQ9PT1cIi1cIj8tbjpufSxHcz0oe3ZhbHVlOnR9KT0+e2lmKGlzTmFOKHQpfHwhaXNGaW5pdGUodCkpcmV0dXJuIE8uc3RyaW5naWZ5TnVtYmVyKHQpO2xldCBlPVwiXCI7dDwwJiYoZT1cIi1cIix0PU1hdGguYWJzKHQpKTtsZXQgbj1bdCU2MF07cmV0dXJuIHQ8NjA/bi51bnNoaWZ0KDApOih0PU1hdGgucm91bmQoKHQtblswXSkvNjApLG4udW5zaGlmdCh0JTYwKSx0Pj02MCYmKHQ9TWF0aC5yb3VuZCgodC1uWzBdKS82MCksbi51bnNoaWZ0KHQpKSksZStuLm1hcChyPT5yPDEwP1wiMFwiK1N0cmluZyhyKTpTdHJpbmcocikpLmpvaW4oXCI6XCIpLnJlcGxhY2UoLzAwMDAwMFxcZCokLyxcIlwiKX0sbGE9e2lkZW50aWZ5OnQ9PnR5cGVvZiB0PT1cIm51bWJlclwiLGRlZmF1bHQ6ITAsdGFnOlwidGFnOnlhbWwub3JnLDIwMDI6aW50XCIsZm9ybWF0OlwiVElNRVwiLHRlc3Q6L14oWy0rXT8pKFswLTldWzAtOV9dKig/OjpbMC01XT9bMC05XSkrKSQvLHJlc29sdmU6KHQsZSxuKT0+S24oZSxuLnJlcGxhY2UoL18vZyxcIlwiKSksc3RyaW5naWZ5OkdzfSxmYT17aWRlbnRpZnk6dD0+dHlwZW9mIHQ9PVwibnVtYmVyXCIsZGVmYXVsdDohMCx0YWc6XCJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdFwiLGZvcm1hdDpcIlRJTUVcIix0ZXN0Oi9eKFstK10/KShbMC05XVswLTlfXSooPzo6WzAtNV0/WzAtOV0pK1xcLlswLTlfXSopJC8scmVzb2x2ZToodCxlLG4pPT5LbihlLG4ucmVwbGFjZSgvXy9nLFwiXCIpKSxzdHJpbmdpZnk6R3N9LHVhPXtpZGVudGlmeTp0PT50IGluc3RhbmNlb2YgRGF0ZSxkZWZhdWx0OiEwLHRhZzpcInRhZzp5YW1sLm9yZywyMDAyOnRpbWVzdGFtcFwiLHRlc3Q6UmVnRXhwKFwiXig/OihbMC05XXs0fSktKFswLTldezEsMn0pLShbMC05XXsxLDJ9KSg/Oig/OnR8VHxbIFxcXFx0XSspKFswLTldezEsMn0pOihbMC05XXsxLDJ9KTooWzAtOV17MSwyfShcXFxcLlswLTldKyk/KSg/OlsgXFxcXHRdKihafFstK11bMDEyXT9bMC05XSg/OjpbMC05XXsyfSk/KSk/KT8pJFwiKSxyZXNvbHZlOih0LGUsbixyLHMsaSxvLGEsYyk9PnthJiYoYT0oYStcIjAwXCIpLnN1YnN0cigxLDMpKTtsZXQgbD1EYXRlLlVUQyhlLG4tMSxyLHN8fDAsaXx8MCxvfHwwLGF8fDApO2lmKGMmJmMhPT1cIlpcIil7bGV0IGY9S24oY1swXSxjLnNsaWNlKDEpKTtNYXRoLmFicyhmKTwzMCYmKGYqPTYwKSxsLT02ZTQqZn1yZXR1cm4gbmV3IERhdGUobCl9LHN0cmluZ2lmeTooe3ZhbHVlOnR9KT0+dC50b0lTT1N0cmluZygpLnJlcGxhY2UoLygoVDAwOjAwKT86MDApP1xcLjAwMFokLyxcIlwiKX07ZnVuY3Rpb24gVm4odCl7bGV0IGU9e307cmV0dXJuIHQ/dHlwZW9mIFlBTUxfU0lMRU5DRV9ERVBSRUNBVElPTl9XQVJOSU5HUzxcInVcIj8hWUFNTF9TSUxFTkNFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTOiFlLllBTUxfU0lMRU5DRV9ERVBSRUNBVElPTl9XQVJOSU5HUzp0eXBlb2YgWUFNTF9TSUxFTkNFX1dBUk5JTkdTPFwidVwiPyFZQU1MX1NJTEVOQ0VfV0FSTklOR1M6IWUuWUFNTF9TSUxFTkNFX1dBUk5JTkdTfWZ1bmN0aW9uIFduKHQsZSl7Vm4oITEpJiZjb25zb2xlLndhcm4oZT9gJHtlfTogJHt0fWA6dCl9ZnVuY3Rpb24gcGEodCl7aWYoVm4oITApKXtsZXQgZT10LnJlcGxhY2UoLy4qeWFtbFsvXFxcXF0vaSxcIlwiKS5yZXBsYWNlKC9cXC5qcyQvLFwiXCIpLnJlcGxhY2UoL1xcXFwvZyxcIi9cIik7V24oYFRoZSBlbmRwb2ludCAneWFtbC8ke2V9JyB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgcmVsZWFzZS5gLFwiRGVwcmVjYXRpb25XYXJuaW5nXCIpfX12YXIganM9e307ZnVuY3Rpb24gbWEodCxlKXtpZighanNbdF0mJlZuKCEwKSl7anNbdF09ITA7bGV0IG49YFRoZSBvcHRpb24gJyR7dH0nIHdpbGwgYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSByZWxlYXNlYDtuKz1lP2AsIHVzZSAnJHtlfScgaW5zdGVhZC5gOlwiLlwiLFduKG4sXCJEZXByZWNhdGlvbldhcm5pbmdcIil9fXouYmluYXJ5PXRhO3ouZmxvYXRUaW1lPWZhO3ouaW50VGltZT1sYTt6Lm9tYXA9aWE7ei5wYWlycz1uYTt6LnNldD1jYTt6LnRpbWVzdGFtcD11YTt6Lndhcm49V247ei53YXJuRmlsZURlcHJlY2F0aW9uPXBhO3oud2Fybk9wdGlvbkRlcHJlY2F0aW9uPW1hfSk7dmFyIEhuPWVlKGNpPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIEd0PWxlKCksRT0kZSgpLEQ9am4oKTtmdW5jdGlvbiBoYSh0LGUsbil7bGV0IHI9bmV3IEUuWUFNTE1hcCh0KTtpZihlIGluc3RhbmNlb2YgTWFwKWZvcihsZXRbcyxpXW9mIGUpci5pdGVtcy5wdXNoKHQuY3JlYXRlUGFpcihzLGksbikpO2Vsc2UgaWYoZSYmdHlwZW9mIGU9PVwib2JqZWN0XCIpZm9yKGxldCBzIG9mIE9iamVjdC5rZXlzKGUpKXIuaXRlbXMucHVzaCh0LmNyZWF0ZVBhaXIocyxlW3NdLG4pKTtyZXR1cm4gdHlwZW9mIHQuc29ydE1hcEVudHJpZXM9PVwiZnVuY3Rpb25cIiYmci5pdGVtcy5zb3J0KHQuc29ydE1hcEVudHJpZXMpLHJ9dmFyIGd0PXtjcmVhdGVOb2RlOmhhLGRlZmF1bHQ6ITAsbm9kZUNsYXNzOkUuWUFNTE1hcCx0YWc6XCJ0YWc6eWFtbC5vcmcsMjAwMjptYXBcIixyZXNvbHZlOkUucmVzb2x2ZU1hcH07ZnVuY3Rpb24gZ2EodCxlLG4pe2xldCByPW5ldyBFLllBTUxTZXEodCk7aWYoZSYmZVtTeW1ib2wuaXRlcmF0b3JdKWZvcihsZXQgcyBvZiBlKXtsZXQgaT10LmNyZWF0ZU5vZGUocyxuLndyYXBTY2FsYXJzLG51bGwsbik7ci5pdGVtcy5wdXNoKGkpfXJldHVybiByfXZhciBIdD17Y3JlYXRlTm9kZTpnYSxkZWZhdWx0OiEwLG5vZGVDbGFzczpFLllBTUxTZXEsdGFnOlwidGFnOnlhbWwub3JnLDIwMDI6c2VxXCIscmVzb2x2ZTpFLnJlc29sdmVTZXF9LGRhPXtpZGVudGlmeTp0PT50eXBlb2YgdD09XCJzdHJpbmdcIixkZWZhdWx0OiEwLHRhZzpcInRhZzp5YW1sLm9yZywyMDAyOnN0clwiLHJlc29sdmU6RS5yZXNvbHZlU3RyaW5nLHN0cmluZ2lmeSh0LGUsbixyKXtyZXR1cm4gZT1PYmplY3QuYXNzaWduKHthY3R1YWxTdHJpbmc6ITB9LGUpLEUuc3RyaW5naWZ5U3RyaW5nKHQsZSxuLHIpfSxvcHRpb25zOkUuc3RyT3B0aW9uc30sSm49W2d0LEh0LGRhXSxYdD10PT50eXBlb2YgdD09XCJiaWdpbnRcInx8TnVtYmVyLmlzSW50ZWdlcih0KSxHbj0odCxlLG4pPT5FLmludE9wdGlvbnMuYXNCaWdJbnQ/QmlnSW50KHQpOnBhcnNlSW50KGUsbik7ZnVuY3Rpb24genModCxlLG4pe2xldHt2YWx1ZTpyfT10O3JldHVybiBYdChyKSYmcj49MD9uK3IudG9TdHJpbmcoZSk6RS5zdHJpbmdpZnlOdW1iZXIodCl9dmFyIFpzPXtpZGVudGlmeTp0PT50PT1udWxsLGNyZWF0ZU5vZGU6KHQsZSxuKT0+bi53cmFwU2NhbGFycz9uZXcgRS5TY2FsYXIobnVsbCk6bnVsbCxkZWZhdWx0OiEwLHRhZzpcInRhZzp5YW1sLm9yZywyMDAyOm51bGxcIix0ZXN0Oi9eKD86fnxbTm5ddWxsfE5VTEwpPyQvLHJlc29sdmU6KCk9Pm51bGwsb3B0aW9uczpFLm51bGxPcHRpb25zLHN0cmluZ2lmeTooKT0+RS5udWxsT3B0aW9ucy5udWxsU3RyfSxlaT17aWRlbnRpZnk6dD0+dHlwZW9mIHQ9PVwiYm9vbGVhblwiLGRlZmF1bHQ6ITAsdGFnOlwidGFnOnlhbWwub3JnLDIwMDI6Ym9vbFwiLHRlc3Q6L14oPzpbVHRdcnVlfFRSVUV8W0ZmXWFsc2V8RkFMU0UpJC8scmVzb2x2ZTp0PT50WzBdPT09XCJ0XCJ8fHRbMF09PT1cIlRcIixvcHRpb25zOkUuYm9vbE9wdGlvbnMsc3RyaW5naWZ5Oih7dmFsdWU6dH0pPT50P0UuYm9vbE9wdGlvbnMudHJ1ZVN0cjpFLmJvb2xPcHRpb25zLmZhbHNlU3RyfSx0aT17aWRlbnRpZnk6dD0+WHQodCkmJnQ+PTAsZGVmYXVsdDohMCx0YWc6XCJ0YWc6eWFtbC5vcmcsMjAwMjppbnRcIixmb3JtYXQ6XCJPQ1RcIix0ZXN0Oi9eMG8oWzAtN10rKSQvLHJlc29sdmU6KHQsZSk9PkduKHQsZSw4KSxvcHRpb25zOkUuaW50T3B0aW9ucyxzdHJpbmdpZnk6dD0+enModCw4LFwiMG9cIil9LG5pPXtpZGVudGlmeTpYdCxkZWZhdWx0OiEwLHRhZzpcInRhZzp5YW1sLm9yZywyMDAyOmludFwiLHRlc3Q6L15bLStdP1swLTldKyQvLHJlc29sdmU6dD0+R24odCx0LDEwKSxvcHRpb25zOkUuaW50T3B0aW9ucyxzdHJpbmdpZnk6RS5zdHJpbmdpZnlOdW1iZXJ9LHJpPXtpZGVudGlmeTp0PT5YdCh0KSYmdD49MCxkZWZhdWx0OiEwLHRhZzpcInRhZzp5YW1sLm9yZywyMDAyOmludFwiLGZvcm1hdDpcIkhFWFwiLHRlc3Q6L14weChbMC05YS1mQS1GXSspJC8scmVzb2x2ZToodCxlKT0+R24odCxlLDE2KSxvcHRpb25zOkUuaW50T3B0aW9ucyxzdHJpbmdpZnk6dD0+enModCwxNixcIjB4XCIpfSxzaT17aWRlbnRpZnk6dD0+dHlwZW9mIHQ9PVwibnVtYmVyXCIsZGVmYXVsdDohMCx0YWc6XCJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdFwiLHRlc3Q6L14oPzpbLStdP1xcLmluZnwoXFwubmFuKSkkL2kscmVzb2x2ZToodCxlKT0+ZT9OYU46dFswXT09PVwiLVwiP051bWJlci5ORUdBVElWRV9JTkZJTklUWTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksc3RyaW5naWZ5OkUuc3RyaW5naWZ5TnVtYmVyfSxpaT17aWRlbnRpZnk6dD0+dHlwZW9mIHQ9PVwibnVtYmVyXCIsZGVmYXVsdDohMCx0YWc6XCJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdFwiLGZvcm1hdDpcIkVYUFwiLHRlc3Q6L15bLStdPyg/OlxcLlswLTldK3xbMC05XSsoPzpcXC5bMC05XSopPylbZUVdWy0rXT9bMC05XSskLyxyZXNvbHZlOnQ9PnBhcnNlRmxvYXQodCksc3RyaW5naWZ5Oih7dmFsdWU6dH0pPT5OdW1iZXIodCkudG9FeHBvbmVudGlhbCgpfSxvaT17aWRlbnRpZnk6dD0+dHlwZW9mIHQ9PVwibnVtYmVyXCIsZGVmYXVsdDohMCx0YWc6XCJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdFwiLHRlc3Q6L15bLStdPyg/OlxcLihbMC05XSspfFswLTldK1xcLihbMC05XSopKSQvLHJlc29sdmUodCxlLG4pe2xldCByPWV8fG4scz1uZXcgRS5TY2FsYXIocGFyc2VGbG9hdCh0KSk7cmV0dXJuIHImJnJbci5sZW5ndGgtMV09PT1cIjBcIiYmKHMubWluRnJhY3Rpb25EaWdpdHM9ci5sZW5ndGgpLHN9LHN0cmluZ2lmeTpFLnN0cmluZ2lmeU51bWJlcn0seWE9Sm4uY29uY2F0KFtacyxlaSx0aSxuaSxyaSxzaSxpaSxvaV0pLEhzPXQ9PnR5cGVvZiB0PT1cImJpZ2ludFwifHxOdW1iZXIuaXNJbnRlZ2VyKHQpLFF0PSh7dmFsdWU6dH0pPT5KU09OLnN0cmluZ2lmeSh0KSxhaT1bZ3QsSHQse2lkZW50aWZ5OnQ9PnR5cGVvZiB0PT1cInN0cmluZ1wiLGRlZmF1bHQ6ITAsdGFnOlwidGFnOnlhbWwub3JnLDIwMDI6c3RyXCIscmVzb2x2ZTpFLnJlc29sdmVTdHJpbmcsc3RyaW5naWZ5OlF0fSx7aWRlbnRpZnk6dD0+dD09bnVsbCxjcmVhdGVOb2RlOih0LGUsbik9Pm4ud3JhcFNjYWxhcnM/bmV3IEUuU2NhbGFyKG51bGwpOm51bGwsZGVmYXVsdDohMCx0YWc6XCJ0YWc6eWFtbC5vcmcsMjAwMjpudWxsXCIsdGVzdDovXm51bGwkLyxyZXNvbHZlOigpPT5udWxsLHN0cmluZ2lmeTpRdH0se2lkZW50aWZ5OnQ9PnR5cGVvZiB0PT1cImJvb2xlYW5cIixkZWZhdWx0OiEwLHRhZzpcInRhZzp5YW1sLm9yZywyMDAyOmJvb2xcIix0ZXN0Oi9edHJ1ZXxmYWxzZSQvLHJlc29sdmU6dD0+dD09PVwidHJ1ZVwiLHN0cmluZ2lmeTpRdH0se2lkZW50aWZ5OkhzLGRlZmF1bHQ6ITAsdGFnOlwidGFnOnlhbWwub3JnLDIwMDI6aW50XCIsdGVzdDovXi0/KD86MHxbMS05XVswLTldKikkLyxyZXNvbHZlOnQ9PkUuaW50T3B0aW9ucy5hc0JpZ0ludD9CaWdJbnQodCk6cGFyc2VJbnQodCwxMCksc3RyaW5naWZ5Oih7dmFsdWU6dH0pPT5Icyh0KT90LnRvU3RyaW5nKCk6SlNPTi5zdHJpbmdpZnkodCl9LHtpZGVudGlmeTp0PT50eXBlb2YgdD09XCJudW1iZXJcIixkZWZhdWx0OiEwLHRhZzpcInRhZzp5YW1sLm9yZywyMDAyOmZsb2F0XCIsdGVzdDovXi0/KD86MHxbMS05XVswLTldKikoPzpcXC5bMC05XSopPyg/OltlRV1bLStdP1swLTldKyk/JC8scmVzb2x2ZTp0PT5wYXJzZUZsb2F0KHQpLHN0cmluZ2lmeTpRdH1dO2FpLnNjYWxhckZhbGxiYWNrPXQ9Pnt0aHJvdyBuZXcgU3ludGF4RXJyb3IoYFVucmVzb2x2ZWQgcGxhaW4gc2NhbGFyICR7SlNPTi5zdHJpbmdpZnkodCl9YCl9O3ZhciBYcz0oe3ZhbHVlOnR9KT0+dD9FLmJvb2xPcHRpb25zLnRydWVTdHI6RS5ib29sT3B0aW9ucy5mYWxzZVN0cixodD10PT50eXBlb2YgdD09XCJiaWdpbnRcInx8TnVtYmVyLmlzSW50ZWdlcih0KTtmdW5jdGlvbiBKdCh0LGUsbil7bGV0IHI9ZS5yZXBsYWNlKC9fL2csXCJcIik7aWYoRS5pbnRPcHRpb25zLmFzQmlnSW50KXtzd2l0Y2gobil7Y2FzZSAyOnI9YDBiJHtyfWA7YnJlYWs7Y2FzZSA4OnI9YDBvJHtyfWA7YnJlYWs7Y2FzZSAxNjpyPWAweCR7cn1gO2JyZWFrfWxldCBpPUJpZ0ludChyKTtyZXR1cm4gdD09PVwiLVwiP0JpZ0ludCgtMSkqaTppfWxldCBzPXBhcnNlSW50KHIsbik7cmV0dXJuIHQ9PT1cIi1cIj8tMSpzOnN9ZnVuY3Rpb24gUW4odCxlLG4pe2xldHt2YWx1ZTpyfT10O2lmKGh0KHIpKXtsZXQgcz1yLnRvU3RyaW5nKGUpO3JldHVybiByPDA/XCItXCIrbitzLnN1YnN0cigxKTpuK3N9cmV0dXJuIEUuc3RyaW5naWZ5TnVtYmVyKHQpfXZhciBFYT1Kbi5jb25jYXQoW3tpZGVudGlmeTp0PT50PT1udWxsLGNyZWF0ZU5vZGU6KHQsZSxuKT0+bi53cmFwU2NhbGFycz9uZXcgRS5TY2FsYXIobnVsbCk6bnVsbCxkZWZhdWx0OiEwLHRhZzpcInRhZzp5YW1sLm9yZywyMDAyOm51bGxcIix0ZXN0Oi9eKD86fnxbTm5ddWxsfE5VTEwpPyQvLHJlc29sdmU6KCk9Pm51bGwsb3B0aW9uczpFLm51bGxPcHRpb25zLHN0cmluZ2lmeTooKT0+RS5udWxsT3B0aW9ucy5udWxsU3RyfSx7aWRlbnRpZnk6dD0+dHlwZW9mIHQ9PVwiYm9vbGVhblwiLGRlZmF1bHQ6ITAsdGFnOlwidGFnOnlhbWwub3JnLDIwMDI6Ym9vbFwiLHRlc3Q6L14oPzpZfHl8W1l5XWVzfFlFU3xbVHRdcnVlfFRSVUV8W09vXW58T04pJC8scmVzb2x2ZTooKT0+ITAsb3B0aW9uczpFLmJvb2xPcHRpb25zLHN0cmluZ2lmeTpYc30se2lkZW50aWZ5OnQ9PnR5cGVvZiB0PT1cImJvb2xlYW5cIixkZWZhdWx0OiEwLHRhZzpcInRhZzp5YW1sLm9yZywyMDAyOmJvb2xcIix0ZXN0Oi9eKD86TnxufFtObl1vfE5PfFtGZl1hbHNlfEZBTFNFfFtPb11mZnxPRkYpJC9pLHJlc29sdmU6KCk9PiExLG9wdGlvbnM6RS5ib29sT3B0aW9ucyxzdHJpbmdpZnk6WHN9LHtpZGVudGlmeTpodCxkZWZhdWx0OiEwLHRhZzpcInRhZzp5YW1sLm9yZywyMDAyOmludFwiLGZvcm1hdDpcIkJJTlwiLHRlc3Q6L14oWy0rXT8pMGIoWzAtMV9dKykkLyxyZXNvbHZlOih0LGUsbik9Pkp0KGUsbiwyKSxzdHJpbmdpZnk6dD0+UW4odCwyLFwiMGJcIil9LHtpZGVudGlmeTpodCxkZWZhdWx0OiEwLHRhZzpcInRhZzp5YW1sLm9yZywyMDAyOmludFwiLGZvcm1hdDpcIk9DVFwiLHRlc3Q6L14oWy0rXT8pMChbMC03X10rKSQvLHJlc29sdmU6KHQsZSxuKT0+SnQoZSxuLDgpLHN0cmluZ2lmeTp0PT5Rbih0LDgsXCIwXCIpfSx7aWRlbnRpZnk6aHQsZGVmYXVsdDohMCx0YWc6XCJ0YWc6eWFtbC5vcmcsMjAwMjppbnRcIix0ZXN0Oi9eKFstK10/KShbMC05XVswLTlfXSopJC8scmVzb2x2ZToodCxlLG4pPT5KdChlLG4sMTApLHN0cmluZ2lmeTpFLnN0cmluZ2lmeU51bWJlcn0se2lkZW50aWZ5Omh0LGRlZmF1bHQ6ITAsdGFnOlwidGFnOnlhbWwub3JnLDIwMDI6aW50XCIsZm9ybWF0OlwiSEVYXCIsdGVzdDovXihbLStdPykweChbMC05YS1mQS1GX10rKSQvLHJlc29sdmU6KHQsZSxuKT0+SnQoZSxuLDE2KSxzdHJpbmdpZnk6dD0+UW4odCwxNixcIjB4XCIpfSx7aWRlbnRpZnk6dD0+dHlwZW9mIHQ9PVwibnVtYmVyXCIsZGVmYXVsdDohMCx0YWc6XCJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdFwiLHRlc3Q6L14oPzpbLStdP1xcLmluZnwoXFwubmFuKSkkL2kscmVzb2x2ZToodCxlKT0+ZT9OYU46dFswXT09PVwiLVwiP051bWJlci5ORUdBVElWRV9JTkZJTklUWTpOdW1iZXIuUE9TSVRJVkVfSU5GSU5JVFksc3RyaW5naWZ5OkUuc3RyaW5naWZ5TnVtYmVyfSx7aWRlbnRpZnk6dD0+dHlwZW9mIHQ9PVwibnVtYmVyXCIsZGVmYXVsdDohMCx0YWc6XCJ0YWc6eWFtbC5vcmcsMjAwMjpmbG9hdFwiLGZvcm1hdDpcIkVYUFwiLHRlc3Q6L15bLStdPyhbMC05XVswLTlfXSopPyhcXC5bMC05X10qKT9bZUVdWy0rXT9bMC05XSskLyxyZXNvbHZlOnQ9PnBhcnNlRmxvYXQodC5yZXBsYWNlKC9fL2csXCJcIikpLHN0cmluZ2lmeTooe3ZhbHVlOnR9KT0+TnVtYmVyKHQpLnRvRXhwb25lbnRpYWwoKX0se2lkZW50aWZ5OnQ9PnR5cGVvZiB0PT1cIm51bWJlclwiLGRlZmF1bHQ6ITAsdGFnOlwidGFnOnlhbWwub3JnLDIwMDI6ZmxvYXRcIix0ZXN0Oi9eWy0rXT8oPzpbMC05XVswLTlfXSopP1xcLihbMC05X10qKSQvLHJlc29sdmUodCxlKXtsZXQgbj1uZXcgRS5TY2FsYXIocGFyc2VGbG9hdCh0LnJlcGxhY2UoL18vZyxcIlwiKSkpO2lmKGUpe2xldCByPWUucmVwbGFjZSgvXy9nLFwiXCIpO3Jbci5sZW5ndGgtMV09PT1cIjBcIiYmKG4ubWluRnJhY3Rpb25EaWdpdHM9ci5sZW5ndGgpfXJldHVybiBufSxzdHJpbmdpZnk6RS5zdHJpbmdpZnlOdW1iZXJ9XSxELmJpbmFyeSxELm9tYXAsRC5wYWlycyxELnNldCxELmludFRpbWUsRC5mbG9hdFRpbWUsRC50aW1lc3RhbXApLFNhPXtjb3JlOnlhLGZhaWxzYWZlOkpuLGpzb246YWkseWFtbDExOkVhfSx3YT17YmluYXJ5OkQuYmluYXJ5LGJvb2w6ZWksZmxvYXQ6b2ksZmxvYXRFeHA6aWksZmxvYXROYU46c2ksZmxvYXRUaW1lOkQuZmxvYXRUaW1lLGludDpuaSxpbnRIZXg6cmksaW50T2N0OnRpLGludFRpbWU6RC5pbnRUaW1lLG1hcDpndCxudWxsOlpzLG9tYXA6RC5vbWFwLHBhaXJzOkQucGFpcnMsc2VxOkh0LHNldDpELnNldCx0aW1lc3RhbXA6RC50aW1lc3RhbXB9O2Z1bmN0aW9uIGJhKHQsZSxuKXtpZihlKXtsZXQgcj1uLmZpbHRlcihpPT5pLnRhZz09PWUpLHM9ci5maW5kKGk9PiFpLmZvcm1hdCl8fHJbMF07aWYoIXMpdGhyb3cgbmV3IEVycm9yKGBUYWcgJHtlfSBub3QgZm91bmRgKTtyZXR1cm4gc31yZXR1cm4gbi5maW5kKHI9PihyLmlkZW50aWZ5JiZyLmlkZW50aWZ5KHQpfHxyLmNsYXNzJiZ0IGluc3RhbmNlb2Ygci5jbGFzcykmJiFyLmZvcm1hdCl9ZnVuY3Rpb24gTmEodCxlLG4pe2lmKHQgaW5zdGFuY2VvZiBFLk5vZGUpcmV0dXJuIHQ7bGV0e2RlZmF1bHRQcmVmaXg6cixvblRhZ09iajpzLHByZXZPYmplY3RzOmksc2NoZW1hOm8sd3JhcFNjYWxhcnM6YX09bjtlJiZlLnN0YXJ0c1dpdGgoXCIhIVwiKSYmKGU9citlLnNsaWNlKDIpKTtsZXQgYz1iYSh0LGUsby50YWdzKTtpZighYyl7aWYodHlwZW9mIHQudG9KU09OPT1cImZ1bmN0aW9uXCImJih0PXQudG9KU09OKCkpLCF0fHx0eXBlb2YgdCE9XCJvYmplY3RcIilyZXR1cm4gYT9uZXcgRS5TY2FsYXIodCk6dDtjPXQgaW5zdGFuY2VvZiBNYXA/Z3Q6dFtTeW1ib2wuaXRlcmF0b3JdP0h0Omd0fXMmJihzKGMpLGRlbGV0ZSBuLm9uVGFnT2JqKTtsZXQgbD17dmFsdWU6dm9pZCAwLG5vZGU6dm9pZCAwfTtpZih0JiZ0eXBlb2YgdD09XCJvYmplY3RcIiYmaSl7bGV0IGY9aS5nZXQodCk7aWYoZil7bGV0IG09bmV3IEUuQWxpYXMoZik7cmV0dXJuIG4uYWxpYXNOb2Rlcy5wdXNoKG0pLG19bC52YWx1ZT10LGkuc2V0KHQsbCl9cmV0dXJuIGwubm9kZT1jLmNyZWF0ZU5vZGU/Yy5jcmVhdGVOb2RlKG4uc2NoZW1hLHQsbik6YT9uZXcgRS5TY2FsYXIodCk6dCxlJiZsLm5vZGUgaW5zdGFuY2VvZiBFLk5vZGUmJihsLm5vZGUudGFnPWUpLGwubm9kZX1mdW5jdGlvbiBPYSh0LGUsbixyKXtsZXQgcz10W3IucmVwbGFjZSgvXFxXL2csXCJcIildO2lmKCFzKXtsZXQgaT1PYmplY3Qua2V5cyh0KS5tYXAobz0+SlNPTi5zdHJpbmdpZnkobykpLmpvaW4oXCIsIFwiKTt0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gc2NoZW1hIFwiJHtyfVwiOyB1c2Ugb25lIG9mICR7aX1gKX1pZihBcnJheS5pc0FycmF5KG4pKWZvcihsZXQgaSBvZiBuKXM9cy5jb25jYXQoaSk7ZWxzZSB0eXBlb2Ygbj09XCJmdW5jdGlvblwiJiYocz1uKHMuc2xpY2UoKSkpO2ZvcihsZXQgaT0wO2k8cy5sZW5ndGg7KytpKXtsZXQgbz1zW2ldO2lmKHR5cGVvZiBvPT1cInN0cmluZ1wiKXtsZXQgYT1lW29dO2lmKCFhKXtsZXQgYz1PYmplY3Qua2V5cyhlKS5tYXAobD0+SlNPTi5zdHJpbmdpZnkobCkpLmpvaW4oXCIsIFwiKTt0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gY3VzdG9tIHRhZyBcIiR7b31cIjsgdXNlIG9uZSBvZiAke2N9YCl9c1tpXT1hfX1yZXR1cm4gc312YXIgTGE9KHQsZSk9PnQua2V5PGUua2V5Py0xOnQua2V5PmUua2V5PzE6MCxkdD1jbGFzcyB0e2NvbnN0cnVjdG9yKHtjdXN0b21UYWdzOmUsbWVyZ2U6bixzY2hlbWE6cixzb3J0TWFwRW50cmllczpzLHRhZ3M6aX0pe3RoaXMubWVyZ2U9ISFuLHRoaXMubmFtZT1yLHRoaXMuc29ydE1hcEVudHJpZXM9cz09PSEwP0xhOnN8fG51bGwsIWUmJmkmJkQud2Fybk9wdGlvbkRlcHJlY2F0aW9uKFwidGFnc1wiLFwiY3VzdG9tVGFnc1wiKSx0aGlzLnRhZ3M9T2EoU2Esd2EsZXx8aSxyKX1jcmVhdGVOb2RlKGUsbixyLHMpe2xldCBpPXtkZWZhdWx0UHJlZml4OnQuZGVmYXVsdFByZWZpeCxzY2hlbWE6dGhpcyx3cmFwU2NhbGFyczpufSxvPXM/T2JqZWN0LmFzc2lnbihzLGkpOmk7cmV0dXJuIE5hKGUscixvKX1jcmVhdGVQYWlyKGUsbixyKXtyfHwocj17d3JhcFNjYWxhcnM6ITB9KTtsZXQgcz10aGlzLmNyZWF0ZU5vZGUoZSxyLndyYXBTY2FsYXJzLG51bGwsciksaT10aGlzLmNyZWF0ZU5vZGUobixyLndyYXBTY2FsYXJzLG51bGwscik7cmV0dXJuIG5ldyBFLlBhaXIocyxpKX19O0d0Ll9kZWZpbmVQcm9wZXJ0eShkdCxcImRlZmF1bHRQcmVmaXhcIixHdC5kZWZhdWx0VGFnUHJlZml4KTtHdC5fZGVmaW5lUHJvcGVydHkoZHQsXCJkZWZhdWx0VGFnc1wiLEd0LmRlZmF1bHRUYWdzKTtjaS5TY2hlbWE9ZHR9KTt2YXIgcGk9ZWUodG49PntcInVzZSBzdHJpY3RcIjt2YXIgWT1sZSgpLFM9JGUoKSxsaT1IbigpLEFhPXthbmNob3JQcmVmaXg6XCJhXCIsY3VzdG9tVGFnczpudWxsLGluZGVudDoyLGluZGVudFNlcTohMCxrZWVwQ3N0Tm9kZXM6ITEsa2VlcE5vZGVUeXBlczohMCxrZWVwQmxvYnNJbkpTT046ITAsbWFwQXNNYXA6ITEsbWF4QWxpYXNDb3VudDoxMDAscHJldHR5RXJyb3JzOiExLHNpbXBsZUtleXM6ITEsdmVyc2lvbjpcIjEuMlwifSxUYT17Z2V0IGJpbmFyeSgpe3JldHVybiBTLmJpbmFyeU9wdGlvbnN9LHNldCBiaW5hcnkodCl7T2JqZWN0LmFzc2lnbihTLmJpbmFyeU9wdGlvbnMsdCl9LGdldCBib29sKCl7cmV0dXJuIFMuYm9vbE9wdGlvbnN9LHNldCBib29sKHQpe09iamVjdC5hc3NpZ24oUy5ib29sT3B0aW9ucyx0KX0sZ2V0IGludCgpe3JldHVybiBTLmludE9wdGlvbnN9LHNldCBpbnQodCl7T2JqZWN0LmFzc2lnbihTLmludE9wdGlvbnMsdCl9LGdldCBudWxsKCl7cmV0dXJuIFMubnVsbE9wdGlvbnN9LHNldCBudWxsKHQpe09iamVjdC5hc3NpZ24oUy5udWxsT3B0aW9ucyx0KX0sZ2V0IHN0cigpe3JldHVybiBTLnN0ck9wdGlvbnN9LHNldCBzdHIodCl7T2JqZWN0LmFzc2lnbihTLnN0ck9wdGlvbnMsdCl9fSx1aT17XCIxLjBcIjp7c2NoZW1hOlwieWFtbC0xLjFcIixtZXJnZTohMCx0YWdQcmVmaXhlczpbe2hhbmRsZTpcIiFcIixwcmVmaXg6WS5kZWZhdWx0VGFnUHJlZml4fSx7aGFuZGxlOlwiISFcIixwcmVmaXg6XCJ0YWc6cHJpdmF0ZS55YW1sLm9yZywyMDAyOlwifV19LDEuMTp7c2NoZW1hOlwieWFtbC0xLjFcIixtZXJnZTohMCx0YWdQcmVmaXhlczpbe2hhbmRsZTpcIiFcIixwcmVmaXg6XCIhXCJ9LHtoYW5kbGU6XCIhIVwiLHByZWZpeDpZLmRlZmF1bHRUYWdQcmVmaXh9XX0sMS4yOntzY2hlbWE6XCJjb3JlXCIsbWVyZ2U6ITEsdGFnUHJlZml4ZXM6W3toYW5kbGU6XCIhXCIscHJlZml4OlwiIVwifSx7aGFuZGxlOlwiISFcIixwcmVmaXg6WS5kZWZhdWx0VGFnUHJlZml4fV19fTtmdW5jdGlvbiBmaSh0LGUpe2lmKCh0LnZlcnNpb258fHQub3B0aW9ucy52ZXJzaW9uKT09PVwiMS4wXCIpe2xldCBzPWUubWF0Y2goL150YWc6cHJpdmF0ZVxcLnlhbWxcXC5vcmcsMjAwMjooW146L10rKSQvKTtpZihzKXJldHVyblwiIVwiK3NbMV07bGV0IGk9ZS5tYXRjaCgvXnRhZzooW2EtekEtWjAtOS1dKylcXC55YW1sXFwub3JnLDIwMDI6KC4qKS8pO3JldHVybiBpP2AhJHtpWzFdfS8ke2lbMl19YDpgISR7ZS5yZXBsYWNlKC9edGFnOi8sXCJcIil9YH1sZXQgbj10LnRhZ1ByZWZpeGVzLmZpbmQocz0+ZS5pbmRleE9mKHMucHJlZml4KT09PTApO2lmKCFuKXtsZXQgcz10LmdldERlZmF1bHRzKCkudGFnUHJlZml4ZXM7bj1zJiZzLmZpbmQoaT0+ZS5pbmRleE9mKGkucHJlZml4KT09PTApfWlmKCFuKXJldHVybiBlWzBdPT09XCIhXCI/ZTpgITwke2V9PmA7bGV0IHI9ZS5zdWJzdHIobi5wcmVmaXgubGVuZ3RoKS5yZXBsYWNlKC9bISxbXFxde31dL2cscz0+KHtcIiFcIjpcIiUyMVwiLFwiLFwiOlwiJTJDXCIsXCJbXCI6XCIlNUJcIixcIl1cIjpcIiU1RFwiLFwie1wiOlwiJTdCXCIsXCJ9XCI6XCIlN0RcIn0pW3NdKTtyZXR1cm4gbi5oYW5kbGUrcn1mdW5jdGlvbiBDYSh0LGUpe2lmKGUgaW5zdGFuY2VvZiBTLkFsaWFzKXJldHVybiBTLkFsaWFzO2lmKGUudGFnKXtsZXQgcz10LmZpbHRlcihpPT5pLnRhZz09PWUudGFnKTtpZihzLmxlbmd0aD4wKXJldHVybiBzLmZpbmQoaT0+aS5mb3JtYXQ9PT1lLmZvcm1hdCl8fHNbMF19bGV0IG4scjtpZihlIGluc3RhbmNlb2YgUy5TY2FsYXIpe3I9ZS52YWx1ZTtsZXQgcz10LmZpbHRlcihpPT5pLmlkZW50aWZ5JiZpLmlkZW50aWZ5KHIpfHxpLmNsYXNzJiZyIGluc3RhbmNlb2YgaS5jbGFzcyk7bj1zLmZpbmQoaT0+aS5mb3JtYXQ9PT1lLmZvcm1hdCl8fHMuZmluZChpPT4haS5mb3JtYXQpfWVsc2Ugcj1lLG49dC5maW5kKHM9PnMubm9kZUNsYXNzJiZyIGluc3RhbmNlb2Ygcy5ub2RlQ2xhc3MpO2lmKCFuKXtsZXQgcz1yJiZyLmNvbnN0cnVjdG9yP3IuY29uc3RydWN0b3IubmFtZTp0eXBlb2Ygcjt0aHJvdyBuZXcgRXJyb3IoYFRhZyBub3QgcmVzb2x2ZWQgZm9yICR7c30gdmFsdWVgKX1yZXR1cm4gbn1mdW5jdGlvbiBNYSh0LGUse2FuY2hvcnM6bixkb2M6cn0pe2xldCBzPVtdLGk9ci5hbmNob3JzLmdldE5hbWUodCk7cmV0dXJuIGkmJihuW2ldPXQscy5wdXNoKGAmJHtpfWApKSx0LnRhZz9zLnB1c2goZmkocix0LnRhZykpOmUuZGVmYXVsdHx8cy5wdXNoKGZpKHIsZS50YWcpKSxzLmpvaW4oXCIgXCIpfWZ1bmN0aW9uIHp0KHQsZSxuLHIpe2xldHthbmNob3JzOnMsc2NoZW1hOml9PWUuZG9jLG87aWYoISh0IGluc3RhbmNlb2YgUy5Ob2RlKSl7bGV0IGw9e2FsaWFzTm9kZXM6W10sb25UYWdPYmo6Zj0+bz1mLHByZXZPYmplY3RzOm5ldyBNYXB9O3Q9aS5jcmVhdGVOb2RlKHQsITAsbnVsbCxsKTtmb3IobGV0IGYgb2YgbC5hbGlhc05vZGVzKXtmLnNvdXJjZT1mLnNvdXJjZS5ub2RlO2xldCBtPXMuZ2V0TmFtZShmLnNvdXJjZSk7bXx8KG09cy5uZXdOYW1lKCkscy5tYXBbbV09Zi5zb3VyY2UpfX1pZih0IGluc3RhbmNlb2YgUy5QYWlyKXJldHVybiB0LnRvU3RyaW5nKGUsbixyKTtvfHwobz1DYShpLnRhZ3MsdCkpO2xldCBhPU1hKHQsbyxlKTthLmxlbmd0aD4wJiYoZS5pbmRlbnRBdFN0YXJ0PShlLmluZGVudEF0U3RhcnR8fDApK2EubGVuZ3RoKzEpO2xldCBjPXR5cGVvZiBvLnN0cmluZ2lmeT09XCJmdW5jdGlvblwiP28uc3RyaW5naWZ5KHQsZSxuLHIpOnQgaW5zdGFuY2VvZiBTLlNjYWxhcj9TLnN0cmluZ2lmeVN0cmluZyh0LGUsbixyKTp0LnRvU3RyaW5nKGUsbixyKTtyZXR1cm4gYT90IGluc3RhbmNlb2YgUy5TY2FsYXJ8fGNbMF09PT1cIntcInx8Y1swXT09PVwiW1wiP2Ake2F9ICR7Y31gOmAke2F9XG4ke2UuaW5kZW50fSR7Y31gOmN9dmFyIFhuPWNsYXNzIHR7c3RhdGljIHZhbGlkQW5jaG9yTm9kZShlKXtyZXR1cm4gZSBpbnN0YW5jZW9mIFMuU2NhbGFyfHxlIGluc3RhbmNlb2YgUy5ZQU1MU2VxfHxlIGluc3RhbmNlb2YgUy5ZQU1MTWFwfWNvbnN0cnVjdG9yKGUpe1kuX2RlZmluZVByb3BlcnR5KHRoaXMsXCJtYXBcIixPYmplY3QuY3JlYXRlKG51bGwpKSx0aGlzLnByZWZpeD1lfWNyZWF0ZUFsaWFzKGUsbil7cmV0dXJuIHRoaXMuc2V0QW5jaG9yKGUsbiksbmV3IFMuQWxpYXMoZSl9Y3JlYXRlTWVyZ2VQYWlyKC4uLmUpe2xldCBuPW5ldyBTLk1lcmdlO3JldHVybiBuLnZhbHVlLml0ZW1zPWUubWFwKHI9PntpZihyIGluc3RhbmNlb2YgUy5BbGlhcyl7aWYoci5zb3VyY2UgaW5zdGFuY2VvZiBTLllBTUxNYXApcmV0dXJuIHJ9ZWxzZSBpZihyIGluc3RhbmNlb2YgUy5ZQU1MTWFwKXJldHVybiB0aGlzLmNyZWF0ZUFsaWFzKHIpO3Rocm93IG5ldyBFcnJvcihcIk1lcmdlIHNvdXJjZXMgbXVzdCBiZSBNYXAgbm9kZXMgb3IgdGhlaXIgQWxpYXNlc1wiKX0pLG59Z2V0TmFtZShlKXtsZXR7bWFwOm59PXRoaXM7cmV0dXJuIE9iamVjdC5rZXlzKG4pLmZpbmQocj0+bltyXT09PWUpfWdldE5hbWVzKCl7cmV0dXJuIE9iamVjdC5rZXlzKHRoaXMubWFwKX1nZXROb2RlKGUpe3JldHVybiB0aGlzLm1hcFtlXX1uZXdOYW1lKGUpe2V8fChlPXRoaXMucHJlZml4KTtsZXQgbj1PYmplY3Qua2V5cyh0aGlzLm1hcCk7Zm9yKGxldCByPTE7Oysrcil7bGV0IHM9YCR7ZX0ke3J9YDtpZighbi5pbmNsdWRlcyhzKSlyZXR1cm4gc319cmVzb2x2ZU5vZGVzKCl7bGV0e21hcDplLF9jc3RBbGlhc2VzOm59PXRoaXM7T2JqZWN0LmtleXMoZSkuZm9yRWFjaChyPT57ZVtyXT1lW3JdLnJlc29sdmVkfSksbi5mb3JFYWNoKHI9PntyLnNvdXJjZT1yLnNvdXJjZS5yZXNvbHZlZH0pLGRlbGV0ZSB0aGlzLl9jc3RBbGlhc2VzfXNldEFuY2hvcihlLG4pe2lmKGUhPW51bGwmJiF0LnZhbGlkQW5jaG9yTm9kZShlKSl0aHJvdyBuZXcgRXJyb3IoXCJBbmNob3JzIG1heSBvbmx5IGJlIHNldCBmb3IgU2NhbGFyLCBTZXEgYW5kIE1hcCBub2Rlc1wiKTtpZihuJiYvW1xceDAwLVxceDE5XFxzLFtcXF17fV0vLnRlc3QobikpdGhyb3cgbmV3IEVycm9yKFwiQW5jaG9yIG5hbWVzIG11c3Qgbm90IGNvbnRhaW4gd2hpdGVzcGFjZSBvciBjb250cm9sIGNoYXJhY3RlcnNcIik7bGV0e21hcDpyfT10aGlzLHM9ZSYmT2JqZWN0LmtleXMocikuZmluZChpPT5yW2ldPT09ZSk7aWYocylpZihuKXMhPT1uJiYoZGVsZXRlIHJbc10scltuXT1lKTtlbHNlIHJldHVybiBzO2Vsc2V7aWYoIW4pe2lmKCFlKXJldHVybiBudWxsO249dGhpcy5uZXdOYW1lKCl9cltuXT1lfXJldHVybiBufX0sWnQ9KHQsZSk9PntpZih0JiZ0eXBlb2YgdD09XCJvYmplY3RcIil7bGV0e3RhZzpufT10O3QgaW5zdGFuY2VvZiBTLkNvbGxlY3Rpb24/KG4mJihlW25dPSEwKSx0Lml0ZW1zLmZvckVhY2gocj0+WnQocixlKSkpOnQgaW5zdGFuY2VvZiBTLlBhaXI/KFp0KHQua2V5LGUpLFp0KHQudmFsdWUsZSkpOnQgaW5zdGFuY2VvZiBTLlNjYWxhciYmbiYmKGVbbl09ITApfXJldHVybiBlfSxrYT10PT5PYmplY3Qua2V5cyhadCh0LHt9KSk7ZnVuY3Rpb24gdmEodCxlKXtsZXQgbj17YmVmb3JlOltdLGFmdGVyOltdfSxyLHM9ITE7Zm9yKGxldCBpIG9mIGUpaWYoaS52YWx1ZVJhbmdlKXtpZihyIT09dm9pZCAwKXtsZXQgYT1cIkRvY3VtZW50IGNvbnRhaW5zIHRyYWlsaW5nIGNvbnRlbnQgbm90IHNlcGFyYXRlZCBieSBhIC4uLiBvciAtLS0gbGluZVwiO3QuZXJyb3JzLnB1c2gobmV3IFkuWUFNTFN5bnRheEVycm9yKGksYSkpO2JyZWFrfWxldCBvPVMucmVzb2x2ZU5vZGUodCxpKTtzJiYoby5zcGFjZUJlZm9yZT0hMCxzPSExKSxyPW99ZWxzZSBpLmNvbW1lbnQhPT1udWxsPyhyPT09dm9pZCAwP24uYmVmb3JlOm4uYWZ0ZXIpLnB1c2goaS5jb21tZW50KTppLnR5cGU9PT1ZLlR5cGUuQkxBTktfTElORSYmKHM9ITAscj09PXZvaWQgMCYmbi5iZWZvcmUubGVuZ3RoPjAmJiF0LmNvbW1lbnRCZWZvcmUmJih0LmNvbW1lbnRCZWZvcmU9bi5iZWZvcmUuam9pbihgXG5gKSxuLmJlZm9yZT1bXSkpO2lmKHQuY29udGVudHM9cnx8bnVsbCwhcil0LmNvbW1lbnQ9bi5iZWZvcmUuY29uY2F0KG4uYWZ0ZXIpLmpvaW4oYFxuYCl8fG51bGw7ZWxzZXtsZXQgaT1uLmJlZm9yZS5qb2luKGBcbmApO2lmKGkpe2xldCBvPXIgaW5zdGFuY2VvZiBTLkNvbGxlY3Rpb24mJnIuaXRlbXNbMF0/ci5pdGVtc1swXTpyO28uY29tbWVudEJlZm9yZT1vLmNvbW1lbnRCZWZvcmU/YCR7aX1cbiR7by5jb21tZW50QmVmb3JlfWA6aX10LmNvbW1lbnQ9bi5hZnRlci5qb2luKGBcbmApfHxudWxsfX1mdW5jdGlvbiBJYSh7dGFnUHJlZml4ZXM6dH0sZSl7bGV0W24scl09ZS5wYXJhbWV0ZXJzO2lmKCFufHwhcil7bGV0IHM9XCJJbnN1ZmZpY2llbnQgcGFyYW1ldGVycyBnaXZlbiBmb3IgJVRBRyBkaXJlY3RpdmVcIjt0aHJvdyBuZXcgWS5ZQU1MU2VtYW50aWNFcnJvcihlLHMpfWlmKHQuc29tZShzPT5zLmhhbmRsZT09PW4pKXtsZXQgcz1cIlRoZSAlVEFHIGRpcmVjdGl2ZSBtdXN0IG9ubHkgYmUgZ2l2ZW4gYXQgbW9zdCBvbmNlIHBlciBoYW5kbGUgaW4gdGhlIHNhbWUgZG9jdW1lbnQuXCI7dGhyb3cgbmV3IFkuWUFNTFNlbWFudGljRXJyb3IoZSxzKX1yZXR1cm57aGFuZGxlOm4scHJlZml4OnJ9fWZ1bmN0aW9uIFBhKHQsZSl7bGV0W25dPWUucGFyYW1ldGVycztpZihlLm5hbWU9PT1cIllBTUw6MS4wXCImJihuPVwiMS4wXCIpLCFuKXtsZXQgcj1cIkluc3VmZmljaWVudCBwYXJhbWV0ZXJzIGdpdmVuIGZvciAlWUFNTCBkaXJlY3RpdmVcIjt0aHJvdyBuZXcgWS5ZQU1MU2VtYW50aWNFcnJvcihlLHIpfWlmKCF1aVtuXSl7bGV0IHM9YERvY3VtZW50IHdpbGwgYmUgcGFyc2VkIGFzIFlBTUwgJHt0LnZlcnNpb258fHQub3B0aW9ucy52ZXJzaW9ufSByYXRoZXIgdGhhbiBZQU1MICR7bn1gO3Qud2FybmluZ3MucHVzaChuZXcgWS5ZQU1MV2FybmluZyhlLHMpKX1yZXR1cm4gbn1mdW5jdGlvbiBfYSh0LGUsbil7bGV0IHI9W10scz0hMTtmb3IobGV0IGkgb2YgZSl7bGV0e2NvbW1lbnQ6byxuYW1lOmF9PWk7c3dpdGNoKGEpe2Nhc2VcIlRBR1wiOnRyeXt0LnRhZ1ByZWZpeGVzLnB1c2goSWEodCxpKSl9Y2F0Y2goYyl7dC5lcnJvcnMucHVzaChjKX1zPSEwO2JyZWFrO2Nhc2VcIllBTUxcIjpjYXNlXCJZQU1MOjEuMFwiOmlmKHQudmVyc2lvbil7bGV0IGM9XCJUaGUgJVlBTUwgZGlyZWN0aXZlIG11c3Qgb25seSBiZSBnaXZlbiBhdCBtb3N0IG9uY2UgcGVyIGRvY3VtZW50LlwiO3QuZXJyb3JzLnB1c2gobmV3IFkuWUFNTFNlbWFudGljRXJyb3IoaSxjKSl9dHJ5e3QudmVyc2lvbj1QYSh0LGkpfWNhdGNoKGMpe3QuZXJyb3JzLnB1c2goYyl9cz0hMDticmVhaztkZWZhdWx0OmlmKGEpe2xldCBjPWBZQU1MIG9ubHkgc3VwcG9ydHMgJVRBRyBhbmQgJVlBTUwgZGlyZWN0aXZlcywgYW5kIG5vdCAlJHthfWA7dC53YXJuaW5ncy5wdXNoKG5ldyBZLllBTUxXYXJuaW5nKGksYykpfX1vJiZyLnB1c2gobyl9aWYobiYmIXMmJih0LnZlcnNpb258fG4udmVyc2lvbnx8dC5vcHRpb25zLnZlcnNpb24pPT09XCIxLjFcIil7bGV0IGk9KHtoYW5kbGU6byxwcmVmaXg6YX0pPT4oe2hhbmRsZTpvLHByZWZpeDphfSk7dC50YWdQcmVmaXhlcz1uLnRhZ1ByZWZpeGVzLm1hcChpKSx0LnZlcnNpb249bi52ZXJzaW9ufXQuY29tbWVudEJlZm9yZT1yLmpvaW4oYFxuYCl8fG51bGx9ZnVuY3Rpb24gVWUodCl7aWYodCBpbnN0YW5jZW9mIFMuQ29sbGVjdGlvbilyZXR1cm4hMDt0aHJvdyBuZXcgRXJyb3IoXCJFeHBlY3RlZCBhIFlBTUwgY29sbGVjdGlvbiBhcyBkb2N1bWVudCBjb250ZW50c1wiKX12YXIgZW49Y2xhc3MgdHtjb25zdHJ1Y3RvcihlKXt0aGlzLmFuY2hvcnM9bmV3IFhuKGUuYW5jaG9yUHJlZml4KSx0aGlzLmNvbW1lbnRCZWZvcmU9bnVsbCx0aGlzLmNvbW1lbnQ9bnVsbCx0aGlzLmNvbnRlbnRzPW51bGwsdGhpcy5kaXJlY3RpdmVzRW5kTWFya2VyPW51bGwsdGhpcy5lcnJvcnM9W10sdGhpcy5vcHRpb25zPWUsdGhpcy5zY2hlbWE9bnVsbCx0aGlzLnRhZ1ByZWZpeGVzPVtdLHRoaXMudmVyc2lvbj1udWxsLHRoaXMud2FybmluZ3M9W119YWRkKGUpe3JldHVybiBVZSh0aGlzLmNvbnRlbnRzKSx0aGlzLmNvbnRlbnRzLmFkZChlKX1hZGRJbihlLG4pe1VlKHRoaXMuY29udGVudHMpLHRoaXMuY29udGVudHMuYWRkSW4oZSxuKX1kZWxldGUoZSl7cmV0dXJuIFVlKHRoaXMuY29udGVudHMpLHRoaXMuY29udGVudHMuZGVsZXRlKGUpfWRlbGV0ZUluKGUpe3JldHVybiBTLmlzRW1wdHlQYXRoKGUpP3RoaXMuY29udGVudHM9PW51bGw/ITE6KHRoaXMuY29udGVudHM9bnVsbCwhMCk6KFVlKHRoaXMuY29udGVudHMpLHRoaXMuY29udGVudHMuZGVsZXRlSW4oZSkpfWdldERlZmF1bHRzKCl7cmV0dXJuIHQuZGVmYXVsdHNbdGhpcy52ZXJzaW9uXXx8dC5kZWZhdWx0c1t0aGlzLm9wdGlvbnMudmVyc2lvbl18fHt9fWdldChlLG4pe3JldHVybiB0aGlzLmNvbnRlbnRzIGluc3RhbmNlb2YgUy5Db2xsZWN0aW9uP3RoaXMuY29udGVudHMuZ2V0KGUsbik6dm9pZCAwfWdldEluKGUsbil7cmV0dXJuIFMuaXNFbXB0eVBhdGgoZSk/IW4mJnRoaXMuY29udGVudHMgaW5zdGFuY2VvZiBTLlNjYWxhcj90aGlzLmNvbnRlbnRzLnZhbHVlOnRoaXMuY29udGVudHM6dGhpcy5jb250ZW50cyBpbnN0YW5jZW9mIFMuQ29sbGVjdGlvbj90aGlzLmNvbnRlbnRzLmdldEluKGUsbik6dm9pZCAwfWhhcyhlKXtyZXR1cm4gdGhpcy5jb250ZW50cyBpbnN0YW5jZW9mIFMuQ29sbGVjdGlvbj90aGlzLmNvbnRlbnRzLmhhcyhlKTohMX1oYXNJbihlKXtyZXR1cm4gUy5pc0VtcHR5UGF0aChlKT90aGlzLmNvbnRlbnRzIT09dm9pZCAwOnRoaXMuY29udGVudHMgaW5zdGFuY2VvZiBTLkNvbGxlY3Rpb24/dGhpcy5jb250ZW50cy5oYXNJbihlKTohMX1zZXQoZSxuKXtVZSh0aGlzLmNvbnRlbnRzKSx0aGlzLmNvbnRlbnRzLnNldChlLG4pfXNldEluKGUsbil7Uy5pc0VtcHR5UGF0aChlKT90aGlzLmNvbnRlbnRzPW46KFVlKHRoaXMuY29udGVudHMpLHRoaXMuY29udGVudHMuc2V0SW4oZSxuKSl9c2V0U2NoZW1hKGUsbil7aWYoIWUmJiFuJiZ0aGlzLnNjaGVtYSlyZXR1cm47dHlwZW9mIGU9PVwibnVtYmVyXCImJihlPWUudG9GaXhlZCgxKSksZT09PVwiMS4wXCJ8fGU9PT1cIjEuMVwifHxlPT09XCIxLjJcIj8odGhpcy52ZXJzaW9uP3RoaXMudmVyc2lvbj1lOnRoaXMub3B0aW9ucy52ZXJzaW9uPWUsZGVsZXRlIHRoaXMub3B0aW9ucy5zY2hlbWEpOmUmJnR5cGVvZiBlPT1cInN0cmluZ1wiJiYodGhpcy5vcHRpb25zLnNjaGVtYT1lKSxBcnJheS5pc0FycmF5KG4pJiYodGhpcy5vcHRpb25zLmN1c3RvbVRhZ3M9bik7bGV0IHI9T2JqZWN0LmFzc2lnbih7fSx0aGlzLmdldERlZmF1bHRzKCksdGhpcy5vcHRpb25zKTt0aGlzLnNjaGVtYT1uZXcgbGkuU2NoZW1hKHIpfXBhcnNlKGUsbil7dGhpcy5vcHRpb25zLmtlZXBDc3ROb2RlcyYmKHRoaXMuY3N0Tm9kZT1lKSx0aGlzLm9wdGlvbnMua2VlcE5vZGVUeXBlcyYmKHRoaXMudHlwZT1cIkRPQ1VNRU5UXCIpO2xldHtkaXJlY3RpdmVzOnI9W10sY29udGVudHM6cz1bXSxkaXJlY3RpdmVzRW5kTWFya2VyOmksZXJyb3I6byx2YWx1ZVJhbmdlOmF9PWU7aWYobyYmKG8uc291cmNlfHwoby5zb3VyY2U9dGhpcyksdGhpcy5lcnJvcnMucHVzaChvKSksX2EodGhpcyxyLG4pLGkmJih0aGlzLmRpcmVjdGl2ZXNFbmRNYXJrZXI9ITApLHRoaXMucmFuZ2U9YT9bYS5zdGFydCxhLmVuZF06bnVsbCx0aGlzLnNldFNjaGVtYSgpLHRoaXMuYW5jaG9ycy5fY3N0QWxpYXNlcz1bXSx2YSh0aGlzLHMpLHRoaXMuYW5jaG9ycy5yZXNvbHZlTm9kZXMoKSx0aGlzLm9wdGlvbnMucHJldHR5RXJyb3JzKXtmb3IobGV0IGMgb2YgdGhpcy5lcnJvcnMpYyBpbnN0YW5jZW9mIFkuWUFNTEVycm9yJiZjLm1ha2VQcmV0dHkoKTtmb3IobGV0IGMgb2YgdGhpcy53YXJuaW5ncyljIGluc3RhbmNlb2YgWS5ZQU1MRXJyb3ImJmMubWFrZVByZXR0eSgpfXJldHVybiB0aGlzfWxpc3ROb25EZWZhdWx0VGFncygpe3JldHVybiBrYSh0aGlzLmNvbnRlbnRzKS5maWx0ZXIoZT0+ZS5pbmRleE9mKGxpLlNjaGVtYS5kZWZhdWx0UHJlZml4KSE9PTApfXNldFRhZ1ByZWZpeChlLG4pe2lmKGVbMF0hPT1cIiFcInx8ZVtlLmxlbmd0aC0xXSE9PVwiIVwiKXRocm93IG5ldyBFcnJvcihcIkhhbmRsZSBtdXN0IHN0YXJ0IGFuZCBlbmQgd2l0aCAhXCIpO2lmKG4pe2xldCByPXRoaXMudGFnUHJlZml4ZXMuZmluZChzPT5zLmhhbmRsZT09PWUpO3I/ci5wcmVmaXg9bjp0aGlzLnRhZ1ByZWZpeGVzLnB1c2goe2hhbmRsZTplLHByZWZpeDpufSl9ZWxzZSB0aGlzLnRhZ1ByZWZpeGVzPXRoaXMudGFnUHJlZml4ZXMuZmlsdGVyKHI9PnIuaGFuZGxlIT09ZSl9dG9KU09OKGUsbil7bGV0e2tlZXBCbG9ic0luSlNPTjpyLG1hcEFzTWFwOnMsbWF4QWxpYXNDb3VudDppfT10aGlzLm9wdGlvbnMsbz1yJiYodHlwZW9mIGUhPVwic3RyaW5nXCJ8fCEodGhpcy5jb250ZW50cyBpbnN0YW5jZW9mIFMuU2NhbGFyKSksYT17ZG9jOnRoaXMsaW5kZW50U3RlcDpcIiAgXCIsa2VlcDpvLG1hcEFzTWFwOm8mJiEhcyxtYXhBbGlhc0NvdW50Omksc3RyaW5naWZ5Onp0fSxjPU9iamVjdC5rZXlzKHRoaXMuYW5jaG9ycy5tYXApO2MubGVuZ3RoPjAmJihhLmFuY2hvcnM9bmV3IE1hcChjLm1hcChmPT5bdGhpcy5hbmNob3JzLm1hcFtmXSx7YWxpYXM6W10sYWxpYXNDb3VudDowLGNvdW50OjF9XSkpKTtsZXQgbD1TLnRvSlNPTih0aGlzLmNvbnRlbnRzLGUsYSk7aWYodHlwZW9mIG49PVwiZnVuY3Rpb25cIiYmYS5hbmNob3JzKWZvcihsZXR7Y291bnQ6ZixyZXM6bX1vZiBhLmFuY2hvcnMudmFsdWVzKCkpbihtLGYpO3JldHVybiBsfXRvU3RyaW5nKCl7aWYodGhpcy5lcnJvcnMubGVuZ3RoPjApdGhyb3cgbmV3IEVycm9yKFwiRG9jdW1lbnQgd2l0aCBlcnJvcnMgY2Fubm90IGJlIHN0cmluZ2lmaWVkXCIpO2xldCBlPXRoaXMub3B0aW9ucy5pbmRlbnQ7aWYoIU51bWJlci5pc0ludGVnZXIoZSl8fGU8PTApe2xldCBjPUpTT04uc3RyaW5naWZ5KGUpO3Rocm93IG5ldyBFcnJvcihgXCJpbmRlbnRcIiBvcHRpb24gbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIsIG5vdCAke2N9YCl9dGhpcy5zZXRTY2hlbWEoKTtsZXQgbj1bXSxyPSExO2lmKHRoaXMudmVyc2lvbil7bGV0IGM9XCIlWUFNTCAxLjJcIjt0aGlzLnNjaGVtYS5uYW1lPT09XCJ5YW1sLTEuMVwiJiYodGhpcy52ZXJzaW9uPT09XCIxLjBcIj9jPVwiJVlBTUw6MS4wXCI6dGhpcy52ZXJzaW9uPT09XCIxLjFcIiYmKGM9XCIlWUFNTCAxLjFcIikpLG4ucHVzaChjKSxyPSEwfWxldCBzPXRoaXMubGlzdE5vbkRlZmF1bHRUYWdzKCk7dGhpcy50YWdQcmVmaXhlcy5mb3JFYWNoKCh7aGFuZGxlOmMscHJlZml4Omx9KT0+e3Muc29tZShmPT5mLmluZGV4T2YobCk9PT0wKSYmKG4ucHVzaChgJVRBRyAke2N9ICR7bH1gKSxyPSEwKX0pLChyfHx0aGlzLmRpcmVjdGl2ZXNFbmRNYXJrZXIpJiZuLnB1c2goXCItLS1cIiksdGhpcy5jb21tZW50QmVmb3JlJiYoKHJ8fCF0aGlzLmRpcmVjdGl2ZXNFbmRNYXJrZXIpJiZuLnVuc2hpZnQoXCJcIiksbi51bnNoaWZ0KHRoaXMuY29tbWVudEJlZm9yZS5yZXBsYWNlKC9eL2dtLFwiI1wiKSkpO2xldCBpPXthbmNob3JzOk9iamVjdC5jcmVhdGUobnVsbCksZG9jOnRoaXMsaW5kZW50OlwiXCIsaW5kZW50U3RlcDpcIiBcIi5yZXBlYXQoZSksc3RyaW5naWZ5Onp0fSxvPSExLGE9bnVsbDtpZih0aGlzLmNvbnRlbnRzKXt0aGlzLmNvbnRlbnRzIGluc3RhbmNlb2YgUy5Ob2RlJiYodGhpcy5jb250ZW50cy5zcGFjZUJlZm9yZSYmKHJ8fHRoaXMuZGlyZWN0aXZlc0VuZE1hcmtlcikmJm4ucHVzaChcIlwiKSx0aGlzLmNvbnRlbnRzLmNvbW1lbnRCZWZvcmUmJm4ucHVzaCh0aGlzLmNvbnRlbnRzLmNvbW1lbnRCZWZvcmUucmVwbGFjZSgvXi9nbSxcIiNcIikpLGkuZm9yY2VCbG9ja0luZGVudD0hIXRoaXMuY29tbWVudCxhPXRoaXMuY29udGVudHMuY29tbWVudCk7bGV0IGM9YT9udWxsOigpPT5vPSEwLGw9enQodGhpcy5jb250ZW50cyxpLCgpPT5hPW51bGwsYyk7bi5wdXNoKFMuYWRkQ29tbWVudChsLFwiXCIsYSkpfWVsc2UgdGhpcy5jb250ZW50cyE9PXZvaWQgMCYmbi5wdXNoKHp0KHRoaXMuY29udGVudHMsaSkpO3JldHVybiB0aGlzLmNvbW1lbnQmJigoIW98fGEpJiZuW24ubGVuZ3RoLTFdIT09XCJcIiYmbi5wdXNoKFwiXCIpLG4ucHVzaCh0aGlzLmNvbW1lbnQucmVwbGFjZSgvXi9nbSxcIiNcIikpKSxuLmpvaW4oYFxuYCkrYFxuYH19O1kuX2RlZmluZVByb3BlcnR5KGVuLFwiZGVmYXVsdHNcIix1aSk7dG4uRG9jdW1lbnQ9ZW47dG4uZGVmYXVsdE9wdGlvbnM9QWE7dG4uc2NhbGFyT3B0aW9ucz1UYX0pO3ZhciBnaT1lZShoaT0+e1widXNlIHN0cmljdFwiO3ZhciB6bj14cygpLE5lPXBpKCkseGE9SG4oKSxSYT1sZSgpLERhPWpuKCk7JGUoKTtmdW5jdGlvbiBZYSh0LGU9ITAsbil7bj09PXZvaWQgMCYmdHlwZW9mIGU9PVwic3RyaW5nXCImJihuPWUsZT0hMCk7bGV0IHI9T2JqZWN0LmFzc2lnbih7fSxOZS5Eb2N1bWVudC5kZWZhdWx0c1tOZS5kZWZhdWx0T3B0aW9ucy52ZXJzaW9uXSxOZS5kZWZhdWx0T3B0aW9ucyk7cmV0dXJuIG5ldyB4YS5TY2hlbWEocikuY3JlYXRlTm9kZSh0LGUsbil9dmFyIEtlPWNsYXNzIGV4dGVuZHMgTmUuRG9jdW1lbnR7Y29uc3RydWN0b3IoZSl7c3VwZXIoT2JqZWN0LmFzc2lnbih7fSxOZS5kZWZhdWx0T3B0aW9ucyxlKSl9fTtmdW5jdGlvbiBCYSh0LGUpe2xldCBuPVtdLHI7Zm9yKGxldCBzIG9mIHpuLnBhcnNlKHQpKXtsZXQgaT1uZXcgS2UoZSk7aS5wYXJzZShzLHIpLG4ucHVzaChpKSxyPWl9cmV0dXJuIG59ZnVuY3Rpb24gbWkodCxlKXtsZXQgbj16bi5wYXJzZSh0KSxyPW5ldyBLZShlKS5wYXJzZShuWzBdKTtpZihuLmxlbmd0aD4xKXtsZXQgcz1cIlNvdXJjZSBjb250YWlucyBtdWx0aXBsZSBkb2N1bWVudHM7IHBsZWFzZSB1c2UgWUFNTC5wYXJzZUFsbERvY3VtZW50cygpXCI7ci5lcnJvcnMudW5zaGlmdChuZXcgUmEuWUFNTFNlbWFudGljRXJyb3IoblsxXSxzKSl9cmV0dXJuIHJ9ZnVuY3Rpb24gJGEodCxlKXtsZXQgbj1taSh0LGUpO2lmKG4ud2FybmluZ3MuZm9yRWFjaChyPT5EYS53YXJuKHIpKSxuLmVycm9ycy5sZW5ndGg+MCl0aHJvdyBuLmVycm9yc1swXTtyZXR1cm4gbi50b0pTT04oKX1mdW5jdGlvbiBGYSh0LGUpe2xldCBuPW5ldyBLZShlKTtyZXR1cm4gbi5jb250ZW50cz10LFN0cmluZyhuKX12YXIgcWE9e2NyZWF0ZU5vZGU6WWEsZGVmYXVsdE9wdGlvbnM6TmUuZGVmYXVsdE9wdGlvbnMsRG9jdW1lbnQ6S2UscGFyc2U6JGEscGFyc2VBbGxEb2N1bWVudHM6QmEscGFyc2VDU1Q6em4ucGFyc2UscGFyc2VEb2N1bWVudDptaSxzY2FsYXJPcHRpb25zOk5lLnNjYWxhck9wdGlvbnMsc3RyaW5naWZ5OkZhfTtoaS5ZQU1MPXFhfSk7dmFyIHlpPWVlKChSbSxkaSk9PntkaS5leHBvcnRzPWdpKCkuWUFNTH0pO3ZhciBFaT1lZShKPT57XCJ1c2Ugc3RyaWN0XCI7dmFyIFZlPSRlKCksV2U9bGUoKTtKLmZpbmRQYWlyPVZlLmZpbmRQYWlyO0oucGFyc2VNYXA9VmUucmVzb2x2ZU1hcDtKLnBhcnNlU2VxPVZlLnJlc29sdmVTZXE7Si5zdHJpbmdpZnlOdW1iZXI9VmUuc3RyaW5naWZ5TnVtYmVyO0ouc3RyaW5naWZ5U3RyaW5nPVZlLnN0cmluZ2lmeVN0cmluZztKLnRvSlNPTj1WZS50b0pTT047Si5UeXBlPVdlLlR5cGU7Si5ZQU1MRXJyb3I9V2UuWUFNTEVycm9yO0ouWUFNTFJlZmVyZW5jZUVycm9yPVdlLllBTUxSZWZlcmVuY2VFcnJvcjtKLllBTUxTZW1hbnRpY0Vycm9yPVdlLllBTUxTZW1hbnRpY0Vycm9yO0ouWUFNTFN5bnRheEVycm9yPVdlLllBTUxTeW50YXhFcnJvcjtKLllBTUxXYXJuaW5nPVdlLllBTUxXYXJuaW5nfSk7dmFyIHRyPXt9O25yKHRyLHtsYW5ndWFnZXM6KCk9PlByLG9wdGlvbnM6KCk9Pl9yLHBhcnNlcnM6KCk9PmVyLHByaW50ZXJzOigpPT5KYX0pO3ZhciBJaT0odCxlLG4scik9PntpZighKHQmJmU9PW51bGwpKXJldHVybiBlLnJlcGxhY2VBbGw/ZS5yZXBsYWNlQWxsKG4scik6bi5nbG9iYWw/ZS5yZXBsYWNlKG4scik6ZS5zcGxpdChuKS5qb2luKHIpfSx5dD1JaTt2YXIgamU9XCJzdHJpbmdcIixRZT1cImFycmF5XCIsSmU9XCJjdXJzb3JcIixHZT1cImluZGVudFwiLE9lPVwiYWxpZ25cIixIZT1cInRyaW1cIixMZT1cImdyb3VwXCIsQWU9XCJmaWxsXCIsVGU9XCJpZi1icmVha1wiLFhlPVwiaW5kZW50LWlmLWJyZWFrXCIsQ2U9XCJsaW5lLXN1ZmZpeFwiLHplPVwibGluZS1zdWZmaXgtYm91bmRhcnlcIix0ZT1cImxpbmVcIixaZT1cImxhYmVsXCIsTWU9XCJicmVhay1wYXJlbnRcIixFdD1uZXcgU2V0KFtKZSxHZSxPZSxIZSxMZSxBZSxUZSxYZSxDZSx6ZSx0ZSxaZSxNZV0pO2Z1bmN0aW9uIFBpKHQpe2lmKHR5cGVvZiB0PT1cInN0cmluZ1wiKXJldHVybiBqZTtpZihBcnJheS5pc0FycmF5KHQpKXJldHVybiBRZTtpZighdClyZXR1cm47bGV0e3R5cGU6ZX09dDtpZihFdC5oYXMoZSkpcmV0dXJuIGV9dmFyIGV0PVBpO3ZhciBfaT10PT5uZXcgSW50bC5MaXN0Rm9ybWF0KFwiZW4tVVNcIix7dHlwZTpcImRpc2p1bmN0aW9uXCJ9KS5mb3JtYXQodCk7ZnVuY3Rpb24geGkodCl7bGV0IGU9dD09PW51bGw/XCJudWxsXCI6dHlwZW9mIHQ7aWYoZSE9PVwic3RyaW5nXCImJmUhPT1cIm9iamVjdFwiKXJldHVybmBVbmV4cGVjdGVkIGRvYyAnJHtlfScsIFxuRXhwZWN0ZWQgaXQgdG8gYmUgJ3N0cmluZycgb3IgJ29iamVjdCcuYDtpZihldCh0KSl0aHJvdyBuZXcgRXJyb3IoXCJkb2MgaXMgdmFsaWQuXCIpO2xldCBuPU9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbCh0KTtpZihuIT09XCJbb2JqZWN0IE9iamVjdF1cIilyZXR1cm5gVW5leHBlY3RlZCBkb2MgJyR7bn0nLmA7bGV0IHI9X2koWy4uLkV0XS5tYXAocz0+YCcke3N9J2ApKTtyZXR1cm5gVW5leHBlY3RlZCBkb2MudHlwZSAnJHt0LnR5cGV9Jy5cbkV4cGVjdGVkIGl0IHRvIGJlICR7cn0uYH12YXIgcm49Y2xhc3MgZXh0ZW5kcyBFcnJvcntuYW1lPVwiSW52YWxpZERvY0Vycm9yXCI7Y29uc3RydWN0b3IoZSl7c3VwZXIoeGkoZSkpLHRoaXMuZG9jPWV9fSxzbj1ybjt2YXIgc3I9KCk9Pnt9LGhlPXNyLFN0PXNyO2Z1bmN0aW9uIHR0KHQsZSl7cmV0dXJuIGhlKGUpLHt0eXBlOk9lLGNvbnRlbnRzOmUsbjp0fX1mdW5jdGlvbiBrZSh0LGU9e30pe3JldHVybiBoZSh0KSxTdChlLmV4cGFuZGVkU3RhdGVzLCEwKSx7dHlwZTpMZSxpZDplLmlkLGNvbnRlbnRzOnQsYnJlYWs6ISFlLnNob3VsZEJyZWFrLGV4cGFuZGVkU3RhdGVzOmUuZXhwYW5kZWRTdGF0ZXN9fWZ1bmN0aW9uIG9uKHQpe3JldHVybiB0dChOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFksdCl9ZnVuY3Rpb24gaXIodCl7cmV0dXJuIHR0KHt0eXBlOlwicm9vdFwifSx0KX1mdW5jdGlvbiBvcih0KXtyZXR1cm4gdHQoLTEsdCl9ZnVuY3Rpb24gYW4odCxlKXtyZXR1cm4ga2UodFswXSx7Li4uZSxleHBhbmRlZFN0YXRlczp0fSl9ZnVuY3Rpb24gd3QodCl7cmV0dXJuIFN0KHQpLHt0eXBlOkFlLHBhcnRzOnR9fWZ1bmN0aW9uIG50KHQsZT1cIlwiLG49e30pe3JldHVybiBoZSh0KSxlIT09XCJcIiYmaGUoZSkse3R5cGU6VGUsYnJlYWtDb250ZW50czp0LGZsYXRDb250ZW50czplLGdyb3VwSWQ6bi5ncm91cElkfX1mdW5jdGlvbiBhcih0KXtyZXR1cm4gaGUodCkse3R5cGU6Q2UsY29udGVudHM6dH19dmFyIGJ0PXt0eXBlOk1lfTt2YXIgUmk9e3R5cGU6dGUsaGFyZDohMH0sRGk9e3R5cGU6dGUsaGFyZDohMCxsaXRlcmFsOiEwfSxuZT17dHlwZTp0ZX0sTnQ9e3R5cGU6dGUsc29mdDohMH0sTj1bUmksYnRdLHJ0PVtEaSxidF07ZnVuY3Rpb24gdih0LGUpe2hlKHQpLFN0KGUpO2xldCBuPVtdO2ZvcihsZXQgcj0wO3I8ZS5sZW5ndGg7cisrKXIhPT0wJiZuLnB1c2godCksbi5wdXNoKGVbcl0pO3JldHVybiBufXZhciBZaT0odCxlLG4pPT57aWYoISh0JiZlPT1udWxsKSlyZXR1cm4gQXJyYXkuaXNBcnJheShlKXx8dHlwZW9mIGU9PVwic3RyaW5nXCI/ZVtuPDA/ZS5sZW5ndGgrbjpuXTplLmF0KG4pfSx4PVlpO2Z1bmN0aW9uIEJpKHQsZSl7aWYodHlwZW9mIHQ9PVwic3RyaW5nXCIpcmV0dXJuIGUodCk7bGV0IG49bmV3IE1hcDtyZXR1cm4gcih0KTtmdW5jdGlvbiByKGkpe2lmKG4uaGFzKGkpKXJldHVybiBuLmdldChpKTtsZXQgbz1zKGkpO3JldHVybiBuLnNldChpLG8pLG99ZnVuY3Rpb24gcyhpKXtzd2l0Y2goZXQoaSkpe2Nhc2UgUWU6cmV0dXJuIGUoaS5tYXAocikpO2Nhc2UgQWU6cmV0dXJuIGUoey4uLmkscGFydHM6aS5wYXJ0cy5tYXAocil9KTtjYXNlIFRlOnJldHVybiBlKHsuLi5pLGJyZWFrQ29udGVudHM6cihpLmJyZWFrQ29udGVudHMpLGZsYXRDb250ZW50czpyKGkuZmxhdENvbnRlbnRzKX0pO2Nhc2UgTGU6e2xldHtleHBhbmRlZFN0YXRlczpvLGNvbnRlbnRzOmF9PWk7cmV0dXJuIG8/KG89by5tYXAociksYT1vWzBdKTphPXIoYSksZSh7Li4uaSxjb250ZW50czphLGV4cGFuZGVkU3RhdGVzOm99KX1jYXNlIE9lOmNhc2UgR2U6Y2FzZSBYZTpjYXNlIFplOmNhc2UgQ2U6cmV0dXJuIGUoey4uLmksY29udGVudHM6cihpLmNvbnRlbnRzKX0pO2Nhc2UgamU6Y2FzZSBKZTpjYXNlIEhlOmNhc2UgemU6Y2FzZSB0ZTpjYXNlIE1lOnJldHVybiBlKGkpO2RlZmF1bHQ6dGhyb3cgbmV3IHNuKGkpfX19ZnVuY3Rpb24gY3IodCxlPXJ0KXtyZXR1cm4gQmkodCxuPT50eXBlb2Ygbj09XCJzdHJpbmdcIj92KGUsbi5zcGxpdChgXG5gKSk6bil9ZnVuY3Rpb24gT3QodCl7cmV0dXJuKGUsbixyKT0+e2xldCBzPSEhKHIhPW51bGwmJnIuYmFja3dhcmRzKTtpZihuPT09ITEpcmV0dXJuITE7bGV0e2xlbmd0aDppfT1lLG89bjtmb3IoO28+PTAmJm88aTspe2xldCBhPWUuY2hhckF0KG8pO2lmKHQgaW5zdGFuY2VvZiBSZWdFeHApe2lmKCF0LnRlc3QoYSkpcmV0dXJuIG99ZWxzZSBpZighdC5pbmNsdWRlcyhhKSlyZXR1cm4gbztzP28tLTpvKyt9cmV0dXJuIG89PT0tMXx8bz09PWk/bzohMX19dmFyIE5jPU90KC9cXHMvdSksY249T3QoXCIgXHRcIiksT2M9T3QoXCIsOyBcdFwiKSxMYz1PdCgvW15cXG5cXHJdL3UpO2Z1bmN0aW9uICRpKHQsZSxuKXtsZXQgcj0hIShuIT1udWxsJiZuLmJhY2t3YXJkcyk7aWYoZT09PSExKXJldHVybiExO2xldCBzPXQuY2hhckF0KGUpO2lmKHIpe2lmKHQuY2hhckF0KGUtMSk9PT1cIlxcclwiJiZzPT09YFxuYClyZXR1cm4gZS0yO2lmKHM9PT1gXG5gfHxzPT09XCJcXHJcInx8cz09PVwiXFx1MjAyOFwifHxzPT09XCJcXHUyMDI5XCIpcmV0dXJuIGUtMX1lbHNle2lmKHM9PT1cIlxcclwiJiZ0LmNoYXJBdChlKzEpPT09YFxuYClyZXR1cm4gZSsyO2lmKHM9PT1gXG5gfHxzPT09XCJcXHJcInx8cz09PVwiXFx1MjAyOFwifHxzPT09XCJcXHUyMDI5XCIpcmV0dXJuIGUrMX1yZXR1cm4gZX12YXIgbG49JGk7ZnVuY3Rpb24gRmkodCxlKXtsZXQgbj1lLTE7bj1jbih0LG4se2JhY2t3YXJkczohMH0pLG49bG4odCxuLHtiYWNrd2FyZHM6ITB9KSxuPWNuKHQsbix7YmFja3dhcmRzOiEwfSk7bGV0IHI9bG4odCxuLHtiYWNrd2FyZHM6ITB9KTtyZXR1cm4gbiE9PXJ9dmFyIGxyPUZpO3ZhciBmbj1jbGFzcyBleHRlbmRzIEVycm9ye25hbWU9XCJVbmV4cGVjdGVkTm9kZUVycm9yXCI7Y29uc3RydWN0b3IoZSxuLHI9XCJ0eXBlXCIpe3N1cGVyKGBVbmV4cGVjdGVkICR7bn0gbm9kZSAke3J9OiAke0pTT04uc3RyaW5naWZ5KGVbcl0pfS5gKSx0aGlzLm5vZGU9ZX19LGZyPWZuO2Z1bmN0aW9uIHVyKHQsZSl7bGV0e25vZGU6bn09dDtpZihuLnR5cGU9PT1cInJvb3RcIiYmZS5maWxlcGF0aCYmLyg/OlsvXFxcXF18XilcXC4oPzpwcmV0dGllcnxzdHlsZWxpbnR8bGludHN0YWdlZClyYyQvdS50ZXN0KGUuZmlsZXBhdGgpKXJldHVybiBhc3luYyByPT57bGV0IHM9YXdhaXQgcihlLm9yaWdpbmFsVGV4dCx7cGFyc2VyOlwianNvblwifSk7cmV0dXJuIHM/W3MsTl06dm9pZCAwfX11ci5nZXRWaXNpdG9yS2V5cz0oKT0+W107dmFyIHByPXVyO3ZhciBzdD1udWxsO2Z1bmN0aW9uIGl0KHQpe2lmKHN0IT09bnVsbCYmdHlwZW9mIHN0LnByb3BlcnR5KXtsZXQgZT1zdDtyZXR1cm4gc3Q9aXQucHJvdG90eXBlPW51bGwsZX1yZXR1cm4gc3Q9aXQucHJvdG90eXBlPXQ/P09iamVjdC5jcmVhdGUobnVsbCksbmV3IGl0fXZhciBxaT0xMDtmb3IobGV0IHQ9MDt0PD1xaTt0KyspaXQoKTtmdW5jdGlvbiB1bih0KXtyZXR1cm4gaXQodCl9ZnVuY3Rpb24gVWkodCxlPVwidHlwZVwiKXt1bih0KTtmdW5jdGlvbiBuKHIpe2xldCBzPXJbZV0saT10W3NdO2lmKCFBcnJheS5pc0FycmF5KGkpKXRocm93IE9iamVjdC5hc3NpZ24obmV3IEVycm9yKGBNaXNzaW5nIHZpc2l0b3Iga2V5cyBmb3IgJyR7c30nLmApLHtub2RlOnJ9KTtyZXR1cm4gaX1yZXR1cm4gbn12YXIgbXI9VWk7dmFyIEtpPU9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyh7cm9vdDpbXCJjaGlsZHJlblwiXSxkb2N1bWVudDpbXCJoZWFkXCIsXCJib2R5XCIsXCJjaGlsZHJlblwiXSxkb2N1bWVudEhlYWQ6W1wiY2hpbGRyZW5cIl0sZG9jdW1lbnRCb2R5OltcImNoaWxkcmVuXCJdLGRpcmVjdGl2ZTpbXSxhbGlhczpbXSxibG9ja0xpdGVyYWw6W10sYmxvY2tGb2xkZWQ6W1wiY2hpbGRyZW5cIl0scGxhaW46W1wiY2hpbGRyZW5cIl0scXVvdGVTaW5nbGU6W10scXVvdGVEb3VibGU6W10sbWFwcGluZzpbXCJjaGlsZHJlblwiXSxtYXBwaW5nSXRlbTpbXCJrZXlcIixcInZhbHVlXCIsXCJjaGlsZHJlblwiXSxtYXBwaW5nS2V5OltcImNvbnRlbnRcIixcImNoaWxkcmVuXCJdLG1hcHBpbmdWYWx1ZTpbXCJjb250ZW50XCIsXCJjaGlsZHJlblwiXSxzZXF1ZW5jZTpbXCJjaGlsZHJlblwiXSxzZXF1ZW5jZUl0ZW06W1wiY29udGVudFwiLFwiY2hpbGRyZW5cIl0sZmxvd01hcHBpbmc6W1wiY2hpbGRyZW5cIl0sZmxvd01hcHBpbmdJdGVtOltcImtleVwiLFwidmFsdWVcIixcImNoaWxkcmVuXCJdLGZsb3dTZXF1ZW5jZTpbXCJjaGlsZHJlblwiXSxmbG93U2VxdWVuY2VJdGVtOltcImNvbnRlbnRcIixcImNoaWxkcmVuXCJdLGNvbW1lbnQ6W10sdGFnOltdLGFuY2hvcjpbXX0pLm1hcCgoW3QsZV0pPT5bdCxbLi4uZSxcImFuY2hvclwiLFwidGFnXCIsXCJpbmRpY2F0b3JDb21tZW50XCIsXCJsZWFkaW5nQ29tbWVudHNcIixcIm1pZGRsZUNvbW1lbnRzXCIsXCJ0cmFpbGluZ0NvbW1lbnRcIixcImVuZENvbW1lbnRzXCJdXSkpLGhyPUtpO3ZhciBWaT1tcihociksZ3I9Vmk7ZnVuY3Rpb24gdmUodCl7cmV0dXJuIHQucG9zaXRpb24uc3RhcnQub2Zmc2V0fWZ1bmN0aW9uIGRyKHQpe3JldHVybiB0LnBvc2l0aW9uLmVuZC5vZmZzZXR9ZnVuY3Rpb24geXIodCl7cmV0dXJuL15cXHMqQCg/OnByZXR0aWVyfGZvcm1hdClcXHMqJC91LnRlc3QodCl9ZnVuY3Rpb24gRXIodCl7cmV0dXJuL15cXHMqI1teXFxTXFxuXSpAKD86cHJldHRpZXJ8Zm9ybWF0KVxccyo/KD86XFxufCQpL3UudGVzdCh0KX1mdW5jdGlvbiBTcih0KXtyZXR1cm5gIyBAZm9ybWF0XG5cbiR7dH1gfWZ1bmN0aW9uIFdpKHQpe3JldHVybiBBcnJheS5pc0FycmF5KHQpJiZ0Lmxlbmd0aD4wfXZhciBJZT1XaTtmdW5jdGlvbiBIKHQsZSl7cmV0dXJuIHR5cGVvZih0PT1udWxsP3ZvaWQgMDp0LnR5cGUpPT1cInN0cmluZ1wiJiYoIWV8fGUuaW5jbHVkZXModC50eXBlKSl9ZnVuY3Rpb24gcG4odCxlLG4pe3JldHVybiBlKFwiY2hpbGRyZW5cImluIHQ/ey4uLnQsY2hpbGRyZW46dC5jaGlsZHJlbi5tYXAocj0+cG4ocixlLHQpKX06dCxuKX1mdW5jdGlvbiBQZSh0LGUsbil7T2JqZWN0LmRlZmluZVByb3BlcnR5KHQsZSx7Z2V0Om4sZW51bWVyYWJsZTohMX0pfWZ1bmN0aW9uIGJyKHQsZSl7bGV0IG49MCxyPWUubGVuZ3RoO2ZvcihsZXQgcz10LnBvc2l0aW9uLmVuZC5vZmZzZXQtMTtzPHI7cysrKXtsZXQgaT1lW3NdO2lmKGk9PT1gXG5gJiZuKyssbj09PTEmJi9cXFMvdS50ZXN0KGkpKXJldHVybiExO2lmKG49PT0yKXJldHVybiEwfXJldHVybiExfWZ1bmN0aW9uIEx0KHQpe2xldHtub2RlOmV9PXQ7c3dpdGNoKGUudHlwZSl7Y2FzZVwidGFnXCI6Y2FzZVwiYW5jaG9yXCI6Y2FzZVwiY29tbWVudFwiOnJldHVybiExfWxldCBuPXQuc3RhY2subGVuZ3RoO2ZvcihsZXQgcj0xO3I8bjtyKyspe2xldCBzPXQuc3RhY2tbcl0saT10LnN0YWNrW3ItMV07aWYoQXJyYXkuaXNBcnJheShpKSYmdHlwZW9mIHM9PVwibnVtYmVyXCImJnMhPT1pLmxlbmd0aC0xKXJldHVybiExfXJldHVybiEwfWZ1bmN0aW9uIEF0KHQpe3JldHVybiBJZSh0LmNoaWxkcmVuKT9BdCh4KCExLHQuY2hpbGRyZW4sLTEpKTp0fWZ1bmN0aW9uIHdyKHQpe3JldHVybiB0LnZhbHVlLnRyaW0oKT09PVwicHJldHRpZXItaWdub3JlXCJ9ZnVuY3Rpb24gTnIodCl7bGV0e25vZGU6ZX09dDtpZihlLnR5cGU9PT1cImRvY3VtZW50Qm9keVwiKXtsZXQgbj10LnBhcmVudC5oZWFkO3JldHVybiBSKG4pJiZ3cih4KCExLG4uZW5kQ29tbWVudHMsLTEpKX1yZXR1cm4gWihlKSYmd3IoeCghMSxlLmxlYWRpbmdDb21tZW50cywtMSkpfWZ1bmN0aW9uIF9lKHQpe3JldHVybiFJZSh0LmNoaWxkcmVuKSYmIWppKHQpfWZ1bmN0aW9uIGppKHQpe3JldHVybiBaKHQpfHxpZSh0KXx8bW4odCl8fEsodCl8fFIodCl9ZnVuY3Rpb24gWih0KXtyZXR1cm4gSWUodD09bnVsbD92b2lkIDA6dC5sZWFkaW5nQ29tbWVudHMpfWZ1bmN0aW9uIGllKHQpe3JldHVybiBJZSh0PT1udWxsP3ZvaWQgMDp0Lm1pZGRsZUNvbW1lbnRzKX1mdW5jdGlvbiBtbih0KXtyZXR1cm4gdD09bnVsbD92b2lkIDA6dC5pbmRpY2F0b3JDb21tZW50fWZ1bmN0aW9uIEsodCl7cmV0dXJuIHQ9PW51bGw/dm9pZCAwOnQudHJhaWxpbmdDb21tZW50fWZ1bmN0aW9uIFIodCl7cmV0dXJuIEllKHQ9PW51bGw/dm9pZCAwOnQuZW5kQ29tbWVudHMpfWZ1bmN0aW9uIE9yKHQpe2xldCBlPVtdLG47Zm9yKGxldCByIG9mIHQuc3BsaXQoLyggKykvdSkpciE9PVwiIFwiP249PT1cIiBcIj9lLnB1c2gocik6ZS5wdXNoKChlLnBvcCgpfHxcIlwiKStyKTpuPT09dm9pZCAwJiZlLnVuc2hpZnQoXCJcIiksbj1yO3JldHVybiBuPT09XCIgXCImJmUucHVzaCgoZS5wb3AoKXx8XCJcIikrXCIgXCIpLGVbMF09PT1cIlwiJiYoZS5zaGlmdCgpLGUudW5zaGlmdChcIiBcIisoZS5zaGlmdCgpfHxcIlwiKSkpLGV9ZnVuY3Rpb24gTHIodCxlLG4pe2xldCByPWUuc3BsaXQoYFxuYCkubWFwKChzLGksbyk9Pmk9PT0wJiZpPT09by5sZW5ndGgtMT9zOmkhPT0wJiZpIT09by5sZW5ndGgtMT9zLnRyaW0oKTppPT09MD9zLnRyaW1FbmQoKTpzLnRyaW1TdGFydCgpKTtyZXR1cm4gbi5wcm9zZVdyYXA9PT1cInByZXNlcnZlXCI/ci5tYXAocz0+cy5sZW5ndGg9PT0wP1tdOltzXSk6ci5tYXAocz0+cy5sZW5ndGg9PT0wP1tdOk9yKHMpKS5yZWR1Y2UoKHMsaSxvKT0+byE9PTAmJnJbby0xXS5sZW5ndGg+MCYmaS5sZW5ndGg+MCYmISh0PT09XCJxdW90ZURvdWJsZVwiJiZ4KCExLHgoITEscywtMSksLTEpLmVuZHNXaXRoKFwiXFxcXFwiKSk/Wy4uLnMuc2xpY2UoMCwtMSksWy4uLngoITEscywtMSksLi4uaV1dOlsuLi5zLGldLFtdKS5tYXAocz0+bi5wcm9zZVdyYXA9PT1cIm5ldmVyXCI/W3Muam9pbihcIiBcIildOnMpfWZ1bmN0aW9uIEFyKHQse3BhcmVudEluZGVudDplLGlzTGFzdERlc2NlbmRhbnQ6bixvcHRpb25zOnJ9KXtsZXQgcz10LnBvc2l0aW9uLnN0YXJ0LmxpbmU9PT10LnBvc2l0aW9uLmVuZC5saW5lP1wiXCI6ci5vcmlnaW5hbFRleHQuc2xpY2UodC5wb3NpdGlvbi5zdGFydC5vZmZzZXQsdC5wb3NpdGlvbi5lbmQub2Zmc2V0KS5tYXRjaCgvXlteXFxuXSpcXG4oLiopJC9zdSlbMV0saTtpZih0LmluZGVudD09PW51bGwpe2xldCBjPXMubWF0Y2goL14oPzxsZWFkaW5nU3BhY2U+ICopW15cXG5cXHIgXS9tdSk7aT1jP2MuZ3JvdXBzLmxlYWRpbmdTcGFjZS5sZW5ndGg6TnVtYmVyLlBPU0lUSVZFX0lORklOSVRZfWVsc2UgaT10LmluZGVudC0xK2U7bGV0IG89cy5zcGxpdChgXG5gKS5tYXAoYz0+Yy5zbGljZShpKSk7aWYoci5wcm9zZVdyYXA9PT1cInByZXNlcnZlXCJ8fHQudHlwZT09PVwiYmxvY2tMaXRlcmFsXCIpcmV0dXJuIGEoby5tYXAoYz0+Yy5sZW5ndGg9PT0wP1tdOltjXSkpO3JldHVybiBhKG8ubWFwKGM9PmMubGVuZ3RoPT09MD9bXTpPcihjKSkucmVkdWNlKChjLGwsZik9PmYhPT0wJiZvW2YtMV0ubGVuZ3RoPjAmJmwubGVuZ3RoPjAmJiEvXlxccy91LnRlc3QobFswXSkmJiEvXlxcc3xcXHMkL3UudGVzdCh4KCExLGMsLTEpKT9bLi4uYy5zbGljZSgwLC0xKSxbLi4ueCghMSxjLC0xKSwuLi5sXV06Wy4uLmMsbF0sW10pLm1hcChjPT5jLnJlZHVjZSgobCxmKT0+bC5sZW5ndGg+MCYmL1xccyQvdS50ZXN0KHgoITEsbCwtMSkpP1suLi5sLnNsaWNlKDAsLTEpLHgoITEsbCwtMSkrXCIgXCIrZl06Wy4uLmwsZl0sW10pKS5tYXAoYz0+ci5wcm9zZVdyYXA9PT1cIm5ldmVyXCI/W2Muam9pbihcIiBcIildOmMpKTtmdW5jdGlvbiBhKGMpe2lmKHQuY2hvbXBpbmc9PT1cImtlZXBcIilyZXR1cm4geCghMSxjLC0xKS5sZW5ndGg9PT0wP2Muc2xpY2UoMCwtMSk6YztsZXQgbD0wO2ZvcihsZXQgZj1jLmxlbmd0aC0xO2Y+PTAmJmNbZl0ubGVuZ3RoPT09MDtmLS0pbCsrO3JldHVybiBsPT09MD9jOmw+PTImJiFuP2Muc2xpY2UoMCwtKGwtMSkpOmMuc2xpY2UoMCwtbCl9fWZ1bmN0aW9uIG90KHQpe2lmKCF0KXJldHVybiEwO3N3aXRjaCh0LnR5cGUpe2Nhc2VcInBsYWluXCI6Y2FzZVwicXVvdGVEb3VibGVcIjpjYXNlXCJxdW90ZVNpbmdsZVwiOmNhc2VcImFsaWFzXCI6Y2FzZVwiZmxvd01hcHBpbmdcIjpjYXNlXCJmbG93U2VxdWVuY2VcIjpyZXR1cm4hMDtkZWZhdWx0OnJldHVybiExfX12YXIgaG49bmV3IFdlYWtNYXA7ZnVuY3Rpb24gVHQodCxlKXtsZXR7bm9kZTpuLHJvb3Q6cn09dCxzO3JldHVybiBobi5oYXMocik/cz1obi5nZXQocik6KHM9bmV3IFNldCxobi5zZXQocixzKSksIXMuaGFzKG4ucG9zaXRpb24uZW5kLmxpbmUpJiYocy5hZGQobi5wb3NpdGlvbi5lbmQubGluZSksYnIobixlKSYmIWduKHQucGFyZW50KSk/TnQ6XCJcIn1mdW5jdGlvbiBnbih0KXtyZXR1cm4gUih0KSYmIUgodCxbXCJkb2N1bWVudEhlYWRcIixcImRvY3VtZW50Qm9keVwiLFwiZmxvd01hcHBpbmdcIixcImZsb3dTZXF1ZW5jZVwiXSl9ZnVuY3Rpb24gSSh0LGUpe3JldHVybiB0dChcIiBcIi5yZXBlYXQodCksZSl9ZnVuY3Rpb24gUWkodCxlLG4pe2xldHtub2RlOnJ9PXQscz10LmFuY2VzdG9ycy5maWx0ZXIobD0+bC50eXBlPT09XCJzZXF1ZW5jZVwifHxsLnR5cGU9PT1cIm1hcHBpbmdcIikubGVuZ3RoLGk9THQodCksbz1bci50eXBlPT09XCJibG9ja0ZvbGRlZFwiP1wiPlwiOlwifFwiXTtyLmluZGVudCE9PW51bGwmJm8ucHVzaChyLmluZGVudC50b1N0cmluZygpKSxyLmNob21waW5nIT09XCJjbGlwXCImJm8ucHVzaChyLmNob21waW5nPT09XCJrZWVwXCI/XCIrXCI6XCItXCIpLG1uKHIpJiZvLnB1c2goXCIgXCIsZShcImluZGljYXRvckNvbW1lbnRcIikpO2xldCBhPUFyKHIse3BhcmVudEluZGVudDpzLGlzTGFzdERlc2NlbmRhbnQ6aSxvcHRpb25zOm59KSxjPVtdO2ZvcihsZXRbbCxmXW9mIGEuZW50cmllcygpKWw9PT0wJiZjLnB1c2goTiksYy5wdXNoKHd0KHYobmUsZikpKSxsIT09YS5sZW5ndGgtMT9jLnB1c2goZi5sZW5ndGg9PT0wP046aXIocnQpKTpyLmNob21waW5nPT09XCJrZWVwXCImJmkmJmMucHVzaChvbihmLmxlbmd0aD09PTA/TjpydCkpO3JldHVybiByLmluZGVudD09PW51bGw/by5wdXNoKG9yKEkobi50YWJXaWR0aCxjKSkpOm8ucHVzaChvbihJKHIuaW5kZW50LTErcyxjKSkpLG99dmFyIFRyPVFpO2Z1bmN0aW9uIEN0KHQsZSxuKXtsZXR7bm9kZTpyfT10LHM9ci50eXBlPT09XCJmbG93TWFwcGluZ1wiLGk9cz9cIntcIjpcIltcIixvPXM/XCJ9XCI6XCJdXCIsYT1OdDtzJiZyLmNoaWxkcmVuLmxlbmd0aD4wJiZuLmJyYWNrZXRTcGFjaW5nJiYoYT1uZSk7bGV0IGM9eCghMSxyLmNoaWxkcmVuLC0xKSxsPShjPT1udWxsP3ZvaWQgMDpjLnR5cGUpPT09XCJmbG93TWFwcGluZ0l0ZW1cIiYmX2UoYy5rZXkpJiZfZShjLnZhbHVlKTtyZXR1cm5baSxJKG4udGFiV2lkdGgsW2EsSmkodCxlLG4pLG4udHJhaWxpbmdDb21tYT09PVwibm9uZVwiP1wiXCI6bnQoXCIsXCIpLFIocik/W04sdihOLHQubWFwKGUsXCJlbmRDb21tZW50c1wiKSldOlwiXCJdKSxsP1wiXCI6YSxvXX1mdW5jdGlvbiBKaSh0LGUsbil7cmV0dXJuIHQubWFwKCh7aXNMYXN0OnIsbm9kZTpzLG5leHQ6aX0pPT5bZSgpLHI/XCJcIjpbXCIsXCIsbmUscy5wb3NpdGlvbi5zdGFydC5saW5lIT09aS5wb3NpdGlvbi5zdGFydC5saW5lP1R0KHQsbi5vcmlnaW5hbFRleHQpOlwiXCJdXSxcImNoaWxkcmVuXCIpfWZ1bmN0aW9uIEdpKHQsZSxuKXt2YXIgQztsZXR7bm9kZTpyLHBhcmVudDpzfT10LHtrZXk6aSx2YWx1ZTpvfT1yLGE9X2UoaSksYz1fZShvKTtpZihhJiZjKXJldHVyblwiOiBcIjtsZXQgbD1lKFwia2V5XCIpLGY9SGkocik/XCIgXCI6XCJcIjtpZihjKXJldHVybiByLnR5cGU9PT1cImZsb3dNYXBwaW5nSXRlbVwiJiZzLnR5cGU9PT1cImZsb3dNYXBwaW5nXCI/bDpyLnR5cGU9PT1cIm1hcHBpbmdJdGVtXCImJmRuKGkuY29udGVudCxuKSYmIUsoaS5jb250ZW50KSYmKChDPXMudGFnKT09bnVsbD92b2lkIDA6Qy52YWx1ZSkhPT1cInRhZzp5YW1sLm9yZywyMDAyOnNldFwiP1tsLGYsXCI6XCJdOltcIj8gXCIsSSgyLGwpXTtsZXQgbT1lKFwidmFsdWVcIik7aWYoYSlyZXR1cm5bXCI6IFwiLEkoMixtKV07aWYoWihvKXx8IW90KGkuY29udGVudCkpcmV0dXJuW1wiPyBcIixJKDIsbCksTiwuLi50Lm1hcCgoKT0+W2UoKSxOXSxcInZhbHVlXCIsXCJsZWFkaW5nQ29tbWVudHNcIiksXCI6IFwiLEkoMixtKV07aWYoWGkoaS5jb250ZW50KSYmIVooaS5jb250ZW50KSYmIWllKGkuY29udGVudCkmJiFLKGkuY29udGVudCkmJiFSKGkpJiYhWihvLmNvbnRlbnQpJiYhaWUoby5jb250ZW50KSYmIVIobykmJmRuKG8uY29udGVudCxuKSlyZXR1cm5bbCxmLFwiOiBcIixtXTtsZXQgZD1TeW1ib2woXCJtYXBwaW5nS2V5XCIpLHk9a2UoW250KFwiPyBcIiksa2UoSSgyLGwpLHtpZDpkfSldKSxoPVtOLFwiOiBcIixJKDIsbSldLGc9W2YsXCI6XCJdO1ooby5jb250ZW50KXx8UihvKSYmby5jb250ZW50JiYhSChvLmNvbnRlbnQsW1wibWFwcGluZ1wiLFwic2VxdWVuY2VcIl0pfHxzLnR5cGU9PT1cIm1hcHBpbmdcIiYmSyhpLmNvbnRlbnQpJiZvdChvLmNvbnRlbnQpfHxIKG8uY29udGVudCxbXCJtYXBwaW5nXCIsXCJzZXF1ZW5jZVwiXSkmJm8uY29udGVudC50YWc9PT1udWxsJiZvLmNvbnRlbnQuYW5jaG9yPT09bnVsbD9nLnB1c2goTik6by5jb250ZW50P2cucHVzaChuZSk6SyhvKSYmZy5wdXNoKFwiIFwiKSxnLnB1c2gobSk7bGV0IHc9SShuLnRhYldpZHRoLGcpO3JldHVybiBkbihpLmNvbnRlbnQsbikmJiFaKGkuY29udGVudCkmJiFpZShpLmNvbnRlbnQpJiYhUihpKT9hbihbW2wsd11dKTphbihbW3ksbnQoaCx3LHtncm91cElkOmR9KV1dKX1mdW5jdGlvbiBkbih0LGUpe2lmKCF0KXJldHVybiEwO3N3aXRjaCh0LnR5cGUpe2Nhc2VcInBsYWluXCI6Y2FzZVwicXVvdGVTaW5nbGVcIjpjYXNlXCJxdW90ZURvdWJsZVwiOmJyZWFrO2Nhc2VcImFsaWFzXCI6cmV0dXJuITA7ZGVmYXVsdDpyZXR1cm4hMX1pZihlLnByb3NlV3JhcD09PVwicHJlc2VydmVcIilyZXR1cm4gdC5wb3NpdGlvbi5zdGFydC5saW5lPT09dC5wb3NpdGlvbi5lbmQubGluZTtpZigvXFxcXCQvbXUudGVzdChlLm9yaWdpbmFsVGV4dC5zbGljZSh0LnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCx0LnBvc2l0aW9uLmVuZC5vZmZzZXQpKSlyZXR1cm4hMTtzd2l0Y2goZS5wcm9zZVdyYXApe2Nhc2VcIm5ldmVyXCI6cmV0dXJuIXQudmFsdWUuaW5jbHVkZXMoYFxuYCk7Y2FzZVwiYWx3YXlzXCI6cmV0dXJuIS9bXFxuIF0vdS50ZXN0KHQudmFsdWUpO2RlZmF1bHQ6cmV0dXJuITF9fWZ1bmN0aW9uIEhpKHQpe3ZhciBlO3JldHVybigoZT10LmtleS5jb250ZW50KT09bnVsbD92b2lkIDA6ZS50eXBlKT09PVwiYWxpYXNcIn1mdW5jdGlvbiBYaSh0KXtpZighdClyZXR1cm4hMDtzd2l0Y2godC50eXBlKXtjYXNlXCJwbGFpblwiOmNhc2VcInF1b3RlRG91YmxlXCI6Y2FzZVwicXVvdGVTaW5nbGVcIjpyZXR1cm4gdC5wb3NpdGlvbi5zdGFydC5saW5lPT09dC5wb3NpdGlvbi5lbmQubGluZTtjYXNlXCJhbGlhc1wiOnJldHVybiEwO2RlZmF1bHQ6cmV0dXJuITF9fXZhciBDcj1HaTtmdW5jdGlvbiB6aSh0KXtyZXR1cm4gcG4odCxaaSl9ZnVuY3Rpb24gWmkodCl7c3dpdGNoKHQudHlwZSl7Y2FzZVwiZG9jdW1lbnRcIjpQZSh0LFwiaGVhZFwiLCgpPT50LmNoaWxkcmVuWzBdKSxQZSh0LFwiYm9keVwiLCgpPT50LmNoaWxkcmVuWzFdKTticmVhaztjYXNlXCJkb2N1bWVudEJvZHlcIjpjYXNlXCJzZXF1ZW5jZUl0ZW1cIjpjYXNlXCJmbG93U2VxdWVuY2VJdGVtXCI6Y2FzZVwibWFwcGluZ0tleVwiOmNhc2VcIm1hcHBpbmdWYWx1ZVwiOlBlKHQsXCJjb250ZW50XCIsKCk9PnQuY2hpbGRyZW5bMF0pO2JyZWFrO2Nhc2VcIm1hcHBpbmdJdGVtXCI6Y2FzZVwiZmxvd01hcHBpbmdJdGVtXCI6UGUodCxcImtleVwiLCgpPT50LmNoaWxkcmVuWzBdKSxQZSh0LFwidmFsdWVcIiwoKT0+dC5jaGlsZHJlblsxXSk7YnJlYWt9cmV0dXJuIHR9dmFyIE1yPXppO2Z1bmN0aW9uIGVvKHQsZSxuKXtsZXR7bm9kZTpyfT10LHM9W107ci50eXBlIT09XCJtYXBwaW5nVmFsdWVcIiYmWihyKSYmcy5wdXNoKFt2KE4sdC5tYXAobixcImxlYWRpbmdDb21tZW50c1wiKSksTl0pO2xldHt0YWc6aSxhbmNob3I6b309cjtpJiZzLnB1c2gobihcInRhZ1wiKSksaSYmbyYmcy5wdXNoKFwiIFwiKSxvJiZzLnB1c2gobihcImFuY2hvclwiKSk7bGV0IGE9XCJcIjtyZXR1cm4gSChyLFtcIm1hcHBpbmdcIixcInNlcXVlbmNlXCIsXCJjb21tZW50XCIsXCJkaXJlY3RpdmVcIixcIm1hcHBpbmdJdGVtXCIsXCJzZXF1ZW5jZUl0ZW1cIl0pJiYhTHQodCkmJihhPVR0KHQsZS5vcmlnaW5hbFRleHQpKSwoaXx8bykmJihIKHIsW1wic2VxdWVuY2VcIixcIm1hcHBpbmdcIl0pJiYhaWUocik/cy5wdXNoKE4pOnMucHVzaChcIiBcIikpLGllKHIpJiZzLnB1c2goW3IubWlkZGxlQ29tbWVudHMubGVuZ3RoPT09MT9cIlwiOk4sdihOLHQubWFwKG4sXCJtaWRkbGVDb21tZW50c1wiKSksTl0pLE5yKHQpP3MucHVzaChjcihlLm9yaWdpbmFsVGV4dC5zbGljZShyLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCxyLnBvc2l0aW9uLmVuZC5vZmZzZXQpLnRyaW1FbmQoKSkpOnMucHVzaChrZSh0byh0LGUsbikpKSxLKHIpJiYhSChyLFtcImRvY3VtZW50XCIsXCJkb2N1bWVudEhlYWRcIl0pJiZzLnB1c2goYXIoW3IudHlwZT09PVwibWFwcGluZ1ZhbHVlXCImJiFyLmNvbnRlbnQ/XCJcIjpcIiBcIix0LnBhcmVudC50eXBlPT09XCJtYXBwaW5nS2V5XCImJnQuZ2V0UGFyZW50Tm9kZSgyKS50eXBlPT09XCJtYXBwaW5nXCImJm90KHIpP1wiXCI6YnQsbihcInRyYWlsaW5nQ29tbWVudFwiKV0pKSxnbihyKSYmcy5wdXNoKEkoci50eXBlPT09XCJzZXF1ZW5jZUl0ZW1cIj8yOjAsW04sdihOLHQubWFwKCh7bm9kZTpjfSk9PltscihlLm9yaWdpbmFsVGV4dCx2ZShjKSk/TjpcIlwiLG4oKV0sXCJlbmRDb21tZW50c1wiKSldKSkscy5wdXNoKGEpLHN9ZnVuY3Rpb24gdG8odCxlLG4pe2xldHtub2RlOnJ9PXQ7c3dpdGNoKHIudHlwZSl7Y2FzZVwicm9vdFwiOntsZXQgcz1bXTt0LmVhY2goKHtub2RlOm8sbmV4dDphLGlzRmlyc3Q6Y30pPT57Y3x8cy5wdXNoKE4pLHMucHVzaChuKCkpLGtyKG8sYSk/KHMucHVzaChOLFwiLi4uXCIpLEsobykmJnMucHVzaChcIiBcIixuKFwidHJhaWxpbmdDb21tZW50XCIpKSk6YSYmIUsoYS5oZWFkKSYmcy5wdXNoKE4sXCItLS1cIil9LFwiY2hpbGRyZW5cIik7bGV0IGk9QXQocik7cmV0dXJuKCFIKGksW1wiYmxvY2tMaXRlcmFsXCIsXCJibG9ja0ZvbGRlZFwiXSl8fGkuY2hvbXBpbmchPT1cImtlZXBcIikmJnMucHVzaChOKSxzfWNhc2VcImRvY3VtZW50XCI6e2xldCBzPVtdO3JldHVybiBybyh0LGUpPT09XCJoZWFkXCImJigoci5oZWFkLmNoaWxkcmVuLmxlbmd0aD4wfHxyLmhlYWQuZW5kQ29tbWVudHMubGVuZ3RoPjApJiZzLnB1c2gobihcImhlYWRcIikpLEsoci5oZWFkKT9zLnB1c2goW1wiLS0tXCIsXCIgXCIsbihbXCJoZWFkXCIsXCJ0cmFpbGluZ0NvbW1lbnRcIl0pXSk6cy5wdXNoKFwiLS0tXCIpKSxubyhyKSYmcy5wdXNoKG4oXCJib2R5XCIpKSx2KE4scyl9Y2FzZVwiZG9jdW1lbnRIZWFkXCI6cmV0dXJuIHYoTixbLi4udC5tYXAobixcImNoaWxkcmVuXCIpLC4uLnQubWFwKG4sXCJlbmRDb21tZW50c1wiKV0pO2Nhc2VcImRvY3VtZW50Qm9keVwiOntsZXR7Y2hpbGRyZW46cyxlbmRDb21tZW50czppfT1yLG89XCJcIjtpZihzLmxlbmd0aD4wJiZpLmxlbmd0aD4wKXtsZXQgYT1BdChyKTtIKGEsW1wiYmxvY2tGb2xkZWRcIixcImJsb2NrTGl0ZXJhbFwiXSk/YS5jaG9tcGluZyE9PVwia2VlcFwiJiYobz1bTixOXSk6bz1OfXJldHVyblt2KE4sdC5tYXAobixcImNoaWxkcmVuXCIpKSxvLHYoTix0Lm1hcChuLFwiZW5kQ29tbWVudHNcIikpXX1jYXNlXCJkaXJlY3RpdmVcIjpyZXR1cm5bXCIlXCIsdihcIiBcIixbci5uYW1lLC4uLnIucGFyYW1ldGVyc10pXTtjYXNlXCJjb21tZW50XCI6cmV0dXJuW1wiI1wiLHIudmFsdWVdO2Nhc2VcImFsaWFzXCI6cmV0dXJuW1wiKlwiLHIudmFsdWVdO2Nhc2VcInRhZ1wiOnJldHVybiBlLm9yaWdpbmFsVGV4dC5zbGljZShyLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCxyLnBvc2l0aW9uLmVuZC5vZmZzZXQpO2Nhc2VcImFuY2hvclwiOnJldHVybltcIiZcIixyLnZhbHVlXTtjYXNlXCJwbGFpblwiOnJldHVybiBhdChyLnR5cGUsZS5vcmlnaW5hbFRleHQuc2xpY2Uoci5wb3NpdGlvbi5zdGFydC5vZmZzZXQsci5wb3NpdGlvbi5lbmQub2Zmc2V0KSxlKTtjYXNlXCJxdW90ZURvdWJsZVwiOmNhc2VcInF1b3RlU2luZ2xlXCI6e2xldCBzPVwiJ1wiLGk9J1wiJyxvPWUub3JpZ2luYWxUZXh0LnNsaWNlKHIucG9zaXRpb24uc3RhcnQub2Zmc2V0KzEsci5wb3NpdGlvbi5lbmQub2Zmc2V0LTEpO2lmKHIudHlwZT09PVwicXVvdGVTaW5nbGVcIiYmby5pbmNsdWRlcyhcIlxcXFxcIil8fHIudHlwZT09PVwicXVvdGVEb3VibGVcIiYmL1xcXFxbXlwiXS91LnRlc3Qobykpe2xldCBjPXIudHlwZT09PVwicXVvdGVEb3VibGVcIj9pOnM7cmV0dXJuW2MsYXQoci50eXBlLG8sZSksY119aWYoby5pbmNsdWRlcyhpKSlyZXR1cm5bcyxhdChyLnR5cGUsci50eXBlPT09XCJxdW90ZURvdWJsZVwiP3l0KCExLHl0KCExLG8sU3RyaW5nLnJhd2BcXFwiYCxpKSxcIidcIixzLnJlcGVhdCgyKSk6byxlKSxzXTtpZihvLmluY2x1ZGVzKHMpKXJldHVybltpLGF0KHIudHlwZSxyLnR5cGU9PT1cInF1b3RlU2luZ2xlXCI/eXQoITEsbyxcIicnXCIscyk6byxlKSxpXTtsZXQgYT1lLnNpbmdsZVF1b3RlP3M6aTtyZXR1cm5bYSxhdChyLnR5cGUsbyxlKSxhXX1jYXNlXCJibG9ja0ZvbGRlZFwiOmNhc2VcImJsb2NrTGl0ZXJhbFwiOnJldHVybiBUcih0LG4sZSk7Y2FzZVwibWFwcGluZ1wiOmNhc2VcInNlcXVlbmNlXCI6cmV0dXJuIHYoTix0Lm1hcChuLFwiY2hpbGRyZW5cIikpO2Nhc2VcInNlcXVlbmNlSXRlbVwiOnJldHVybltcIi0gXCIsSSgyLHIuY29udGVudD9uKFwiY29udGVudFwiKTpcIlwiKV07Y2FzZVwibWFwcGluZ0tleVwiOmNhc2VcIm1hcHBpbmdWYWx1ZVwiOnJldHVybiByLmNvbnRlbnQ/bihcImNvbnRlbnRcIik6XCJcIjtjYXNlXCJtYXBwaW5nSXRlbVwiOmNhc2VcImZsb3dNYXBwaW5nSXRlbVwiOnJldHVybiBDcih0LG4sZSk7Y2FzZVwiZmxvd01hcHBpbmdcIjpyZXR1cm4gQ3QodCxuLGUpO2Nhc2VcImZsb3dTZXF1ZW5jZVwiOnJldHVybiBDdCh0LG4sZSk7Y2FzZVwiZmxvd1NlcXVlbmNlSXRlbVwiOnJldHVybiBuKFwiY29udGVudFwiKTtkZWZhdWx0OnRocm93IG5ldyBmcihyLFwiWUFNTFwiKX19ZnVuY3Rpb24gbm8odCl7cmV0dXJuIHQuYm9keS5jaGlsZHJlbi5sZW5ndGg+MHx8Uih0LmJvZHkpfWZ1bmN0aW9uIGtyKHQsZSl7cmV0dXJuIEsodCl8fGUmJihlLmhlYWQuY2hpbGRyZW4ubGVuZ3RoPjB8fFIoZS5oZWFkKSl9ZnVuY3Rpb24gcm8odCxlKXtsZXQgbj10Lm5vZGU7aWYodC5pc0ZpcnN0JiYvLS0tKD86XFxzfCQpL3UudGVzdChlLm9yaWdpbmFsVGV4dC5zbGljZSh2ZShuKSx2ZShuKSs0KSl8fG4uaGVhZC5jaGlsZHJlbi5sZW5ndGg+MHx8UihuLmhlYWQpfHxLKG4uaGVhZCkpcmV0dXJuXCJoZWFkXCI7bGV0IHI9dC5uZXh0O3JldHVybiBrcihuLHIpPyExOnI/XCJyb290XCI6ITF9ZnVuY3Rpb24gYXQodCxlLG4pe2xldCByPUxyKHQsZSxuKTtyZXR1cm4gdihOLHIubWFwKHM9Pnd0KHYobmUscykpKSl9ZnVuY3Rpb24gdnIodCxlKXtpZihIKHQpKXN3aXRjaCh0LnR5cGUpe2Nhc2VcImNvbW1lbnRcIjppZih5cih0LnZhbHVlKSlyZXR1cm4gbnVsbDticmVhaztjYXNlXCJxdW90ZURvdWJsZVwiOmNhc2VcInF1b3RlU2luZ2xlXCI6ZS50eXBlPVwicXVvdGVcIjticmVha319dnIuaWdub3JlZFByb3BlcnRpZXM9bmV3IFNldChbXCJwb3NpdGlvblwiXSk7dmFyIHNvPXtwcmVwcm9jZXNzOk1yLGVtYmVkOnByLHByaW50OmVvLG1hc3NhZ2VBc3ROb2RlOnZyLGluc2VydFByYWdtYTpTcixnZXRWaXNpdG9yS2V5czpncn0sSXI9c287dmFyIFByPVt7bGluZ3Vpc3RMYW5ndWFnZUlkOjQwNyxuYW1lOlwiWUFNTFwiLHR5cGU6XCJkYXRhXCIsY29sb3I6XCIjY2IxNzFlXCIsdG1TY29wZTpcInNvdXJjZS55YW1sXCIsYWxpYXNlczpbXCJ5bWxcIl0sZXh0ZW5zaW9uczpbXCIueW1sXCIsXCIubWlyXCIsXCIucmVla1wiLFwiLnJ2aXpcIixcIi5zdWJsaW1lLXN5bnRheFwiLFwiLnN5bnRheFwiLFwiLnlhbWxcIixcIi55YW1sLXRtbGFuZ3VhZ2VcIixcIi55YW1sLnNlZFwiLFwiLnltbC5teXNxbFwiXSxmaWxlbmFtZXM6W1wiLmNsYW5nLWZvcm1hdFwiLFwiLmNsYW5nLXRpZHlcIixcIi5nZW1yY1wiLFwiQ0lUQVRJT04uY2ZmXCIsXCJnbGlkZS5sb2NrXCIsXCIucHJldHRpZXJyY1wiLFwiLnN0eWxlbGludHJjXCIsXCIubGludHN0YWdlZHJjXCJdLGFjZU1vZGU6XCJ5YW1sXCIsY29kZW1pcnJvck1vZGU6XCJ5YW1sXCIsY29kZW1pcnJvck1pbWVUeXBlOlwidGV4dC94LXlhbWxcIixwYXJzZXJzOltcInlhbWxcIl0sdnNjb2RlTGFuZ3VhZ2VJZHM6W1wieWFtbFwiLFwiYW5zaWJsZVwiLFwiaG9tZS1hc3Npc3RhbnRcIl19XTt2YXIgTXQ9e2JyYWNrZXRTcGFjaW5nOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMCxkZXNjcmlwdGlvbjpcIlByaW50IHNwYWNlcyBiZXR3ZWVuIGJyYWNrZXRzLlwiLG9wcG9zaXRlRGVzY3JpcHRpb246XCJEbyBub3QgcHJpbnQgc3BhY2VzIGJldHdlZW4gYnJhY2tldHMuXCJ9LHNpbmdsZVF1b3RlOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMSxkZXNjcmlwdGlvbjpcIlVzZSBzaW5nbGUgcXVvdGVzIGluc3RlYWQgb2YgZG91YmxlIHF1b3Rlcy5cIn0scHJvc2VXcmFwOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJjaG9pY2VcIixkZWZhdWx0OlwicHJlc2VydmVcIixkZXNjcmlwdGlvbjpcIkhvdyB0byB3cmFwIHByb3NlLlwiLGNob2ljZXM6W3t2YWx1ZTpcImFsd2F5c1wiLGRlc2NyaXB0aW9uOlwiV3JhcCBwcm9zZSBpZiBpdCBleGNlZWRzIHRoZSBwcmludCB3aWR0aC5cIn0se3ZhbHVlOlwibmV2ZXJcIixkZXNjcmlwdGlvbjpcIkRvIG5vdCB3cmFwIHByb3NlLlwifSx7dmFsdWU6XCJwcmVzZXJ2ZVwiLGRlc2NyaXB0aW9uOlwiV3JhcCBwcm9zZSBhcy1pcy5cIn1dfSxicmFja2V0U2FtZUxpbmU6e2NhdGVnb3J5OlwiQ29tbW9uXCIsdHlwZTpcImJvb2xlYW5cIixkZWZhdWx0OiExLGRlc2NyaXB0aW9uOlwiUHV0ID4gb2Ygb3BlbmluZyB0YWdzIG9uIHRoZSBsYXN0IGxpbmUgaW5zdGVhZCBvZiBvbiBhIG5ldyBsaW5lLlwifSxzaW5nbGVBdHRyaWJ1dGVQZXJMaW5lOntjYXRlZ29yeTpcIkNvbW1vblwiLHR5cGU6XCJib29sZWFuXCIsZGVmYXVsdDohMSxkZXNjcmlwdGlvbjpcIkVuZm9yY2Ugc2luZ2xlIGF0dHJpYnV0ZSBwZXIgbGluZSBpbiBIVE1MLCBWdWUgYW5kIEpTWC5cIn19O3ZhciBpbz17YnJhY2tldFNwYWNpbmc6TXQuYnJhY2tldFNwYWNpbmcsc2luZ2xlUXVvdGU6TXQuc2luZ2xlUXVvdGUscHJvc2VXcmFwOk10LnByb3NlV3JhcH0sX3I9aW87dmFyIGVyPXt9O25yKGVyLHt5YW1sOigpPT5RYX0pO3ZhciBrdD1gXG5gLHhyPVwiXFxyXCIsUnI9ZnVuY3Rpb24oKXtmdW5jdGlvbiB0KGUpe3RoaXMubGVuZ3RoPWUubGVuZ3RoO2Zvcih2YXIgbj1bMF0scj0wO3I8ZS5sZW5ndGg7KXN3aXRjaChlW3JdKXtjYXNlIGt0OnIrPWt0Lmxlbmd0aCxuLnB1c2gocik7YnJlYWs7Y2FzZSB4cjpyKz14ci5sZW5ndGgsZVtyXT09PWt0JiYocis9a3QubGVuZ3RoKSxuLnB1c2gocik7YnJlYWs7ZGVmYXVsdDpyKys7YnJlYWt9dGhpcy5vZmZzZXRzPW59cmV0dXJuIHQucHJvdG90eXBlLmxvY2F0aW9uRm9ySW5kZXg9ZnVuY3Rpb24oZSl7aWYoZTwwfHxlPnRoaXMubGVuZ3RoKXJldHVybiBudWxsO2Zvcih2YXIgbj0wLHI9dGhpcy5vZmZzZXRzO3JbbisxXTw9ZTspbisrO3ZhciBzPWUtcltuXTtyZXR1cm57bGluZTpuLGNvbHVtbjpzfX0sdC5wcm90b3R5cGUuaW5kZXhGb3JMb2NhdGlvbj1mdW5jdGlvbihlKXt2YXIgbj1lLmxpbmUscj1lLmNvbHVtbjtyZXR1cm4gbjwwfHxuPj10aGlzLm9mZnNldHMubGVuZ3RofHxyPDB8fHI+dGhpcy5sZW5ndGhPZkxpbmUobik/bnVsbDp0aGlzLm9mZnNldHNbbl0rcn0sdC5wcm90b3R5cGUubGVuZ3RoT2ZMaW5lPWZ1bmN0aW9uKGUpe3ZhciBuPXRoaXMub2Zmc2V0c1tlXSxyPWU9PT10aGlzLm9mZnNldHMubGVuZ3RoLTE/dGhpcy5sZW5ndGg6dGhpcy5vZmZzZXRzW2UrMV07cmV0dXJuIHItbn0sdH0oKTtmdW5jdGlvbiBCKHQsZT1udWxsKXtcImNoaWxkcmVuXCJpbiB0JiZ0LmNoaWxkcmVuLmZvckVhY2gobj0+QihuLHQpKSxcImFuY2hvclwiaW4gdCYmdC5hbmNob3ImJkIodC5hbmNob3IsdCksXCJ0YWdcImluIHQmJnQudGFnJiZCKHQudGFnLHQpLFwibGVhZGluZ0NvbW1lbnRzXCJpbiB0JiZ0LmxlYWRpbmdDb21tZW50cy5mb3JFYWNoKG49PkIobix0KSksXCJtaWRkbGVDb21tZW50c1wiaW4gdCYmdC5taWRkbGVDb21tZW50cy5mb3JFYWNoKG49PkIobix0KSksXCJpbmRpY2F0b3JDb21tZW50XCJpbiB0JiZ0LmluZGljYXRvckNvbW1lbnQmJkIodC5pbmRpY2F0b3JDb21tZW50LHQpLFwidHJhaWxpbmdDb21tZW50XCJpbiB0JiZ0LnRyYWlsaW5nQ29tbWVudCYmQih0LnRyYWlsaW5nQ29tbWVudCx0KSxcImVuZENvbW1lbnRzXCJpbiB0JiZ0LmVuZENvbW1lbnRzLmZvckVhY2gobj0+QihuLHQpKSxPYmplY3QuZGVmaW5lUHJvcGVydHkodCxcIl9wYXJlbnRcIix7dmFsdWU6ZSxlbnVtZXJhYmxlOiExfSl9ZnVuY3Rpb24gZ2UodCl7cmV0dXJuYCR7dC5saW5lfToke3QuY29sdW1ufWB9ZnVuY3Rpb24gRHIodCl7Qih0KTtsZXQgZT1vbyh0KSxuPXQuY2hpbGRyZW4uc2xpY2UoKTt0LmNvbW1lbnRzLnNvcnQoKHIscyk9PnIucG9zaXRpb24uc3RhcnQub2Zmc2V0LXMucG9zaXRpb24uZW5kLm9mZnNldCkuZmlsdGVyKHI9PiFyLl9wYXJlbnQpLmZvckVhY2gocj0+e2Zvcig7bi5sZW5ndGg+MSYmci5wb3NpdGlvbi5zdGFydC5saW5lPm5bMF0ucG9zaXRpb24uZW5kLmxpbmU7KW4uc2hpZnQoKTthbyhyLGUsblswXSl9KX1mdW5jdGlvbiBvbyh0KXtsZXQgZT1BcnJheS5mcm9tKG5ldyBBcnJheSh0LnBvc2l0aW9uLmVuZC5saW5lKSwoKT0+KHt9KSk7Zm9yKGxldCBuIG9mIHQuY29tbWVudHMpZVtuLnBvc2l0aW9uLnN0YXJ0LmxpbmUtMV0uY29tbWVudD1uO3JldHVybiBZcihlLHQpLGV9ZnVuY3Rpb24gWXIodCxlKXtpZihlLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCE9PWUucG9zaXRpb24uZW5kLm9mZnNldCl7aWYoXCJsZWFkaW5nQ29tbWVudHNcImluIGUpe2xldHtzdGFydDpufT1lLnBvc2l0aW9uLHtsZWFkaW5nQXR0YWNoYWJsZU5vZGU6cn09dFtuLmxpbmUtMV07KCFyfHxuLmNvbHVtbjxyLnBvc2l0aW9uLnN0YXJ0LmNvbHVtbikmJih0W24ubGluZS0xXS5sZWFkaW5nQXR0YWNoYWJsZU5vZGU9ZSl9aWYoXCJ0cmFpbGluZ0NvbW1lbnRcImluIGUmJmUucG9zaXRpb24uZW5kLmNvbHVtbj4xJiZlLnR5cGUhPT1cImRvY3VtZW50XCImJmUudHlwZSE9PVwiZG9jdW1lbnRIZWFkXCIpe2xldHtlbmQ6bn09ZS5wb3NpdGlvbix7dHJhaWxpbmdBdHRhY2hhYmxlTm9kZTpyfT10W24ubGluZS0xXTsoIXJ8fG4uY29sdW1uPj1yLnBvc2l0aW9uLmVuZC5jb2x1bW4pJiYodFtuLmxpbmUtMV0udHJhaWxpbmdBdHRhY2hhYmxlTm9kZT1lKX1pZihlLnR5cGUhPT1cInJvb3RcIiYmZS50eXBlIT09XCJkb2N1bWVudFwiJiZlLnR5cGUhPT1cImRvY3VtZW50SGVhZFwiJiZlLnR5cGUhPT1cImRvY3VtZW50Qm9keVwiKXtsZXR7c3RhcnQ6bixlbmQ6cn09ZS5wb3NpdGlvbixzPVtyLmxpbmVdLmNvbmNhdChuLmxpbmU9PT1yLmxpbmU/W106bi5saW5lKTtmb3IobGV0IGkgb2Ygcyl7bGV0IG89dFtpLTFdLnRyYWlsaW5nTm9kZTsoIW98fHIuY29sdW1uPj1vLnBvc2l0aW9uLmVuZC5jb2x1bW4pJiYodFtpLTFdLnRyYWlsaW5nTm9kZT1lKX19XCJjaGlsZHJlblwiaW4gZSYmZS5jaGlsZHJlbi5mb3JFYWNoKG49PntZcih0LG4pfSl9fWZ1bmN0aW9uIGFvKHQsZSxuKXtsZXQgcj10LnBvc2l0aW9uLnN0YXJ0LmxpbmUse3RyYWlsaW5nQXR0YWNoYWJsZU5vZGU6c309ZVtyLTFdO2lmKHMpe2lmKHMudHJhaWxpbmdDb21tZW50KXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBtdWx0aXBsZSB0cmFpbGluZyBjb21tZW50IGF0ICR7Z2UodC5wb3NpdGlvbi5zdGFydCl9YCk7Qih0LHMpLHMudHJhaWxpbmdDb21tZW50PXQ7cmV0dXJufWZvcihsZXQgbz1yO28+PW4ucG9zaXRpb24uc3RhcnQubGluZTtvLS0pe2xldHt0cmFpbGluZ05vZGU6YX09ZVtvLTFdLGM7aWYoYSljPWE7ZWxzZSBpZihvIT09ciYmZVtvLTFdLmNvbW1lbnQpYz1lW28tMV0uY29tbWVudC5fcGFyZW50O2Vsc2UgY29udGludWU7aWYoKGMudHlwZT09PVwic2VxdWVuY2VcInx8Yy50eXBlPT09XCJtYXBwaW5nXCIpJiYoYz1jLmNoaWxkcmVuWzBdKSxjLnR5cGU9PT1cIm1hcHBpbmdJdGVtXCIpe2xldFtsLGZdPWMuY2hpbGRyZW47Yz1CcihsKT9sOmZ9Zm9yKDs7KXtpZihjbyhjLHQpKXtCKHQsYyksYy5lbmRDb21tZW50cy5wdXNoKHQpO3JldHVybn1pZighYy5fcGFyZW50KWJyZWFrO2M9Yy5fcGFyZW50fWJyZWFrfWZvcihsZXQgbz1yKzE7bzw9bi5wb3NpdGlvbi5lbmQubGluZTtvKyspe2xldHtsZWFkaW5nQXR0YWNoYWJsZU5vZGU6YX09ZVtvLTFdO2lmKGEpe0IodCxhKSxhLmxlYWRpbmdDb21tZW50cy5wdXNoKHQpO3JldHVybn19bGV0IGk9bi5jaGlsZHJlblsxXTtCKHQsaSksaS5lbmRDb21tZW50cy5wdXNoKHQpfWZ1bmN0aW9uIGNvKHQsZSl7aWYodC5wb3NpdGlvbi5zdGFydC5vZmZzZXQ8ZS5wb3NpdGlvbi5zdGFydC5vZmZzZXQmJnQucG9zaXRpb24uZW5kLm9mZnNldD5lLnBvc2l0aW9uLmVuZC5vZmZzZXQpc3dpdGNoKHQudHlwZSl7Y2FzZVwiZmxvd01hcHBpbmdcIjpjYXNlXCJmbG93U2VxdWVuY2VcIjpyZXR1cm4gdC5jaGlsZHJlbi5sZW5ndGg9PT0wfHxlLnBvc2l0aW9uLnN0YXJ0LmxpbmU+dC5jaGlsZHJlblt0LmNoaWxkcmVuLmxlbmd0aC0xXS5wb3NpdGlvbi5lbmQubGluZX1pZihlLnBvc2l0aW9uLmVuZC5vZmZzZXQ8dC5wb3NpdGlvbi5lbmQub2Zmc2V0KXJldHVybiExO3N3aXRjaCh0LnR5cGUpe2Nhc2VcInNlcXVlbmNlSXRlbVwiOnJldHVybiBlLnBvc2l0aW9uLnN0YXJ0LmNvbHVtbj50LnBvc2l0aW9uLnN0YXJ0LmNvbHVtbjtjYXNlXCJtYXBwaW5nS2V5XCI6Y2FzZVwibWFwcGluZ1ZhbHVlXCI6cmV0dXJuIGUucG9zaXRpb24uc3RhcnQuY29sdW1uPnQuX3BhcmVudC5wb3NpdGlvbi5zdGFydC5jb2x1bW4mJih0LmNoaWxkcmVuLmxlbmd0aD09PTB8fHQuY2hpbGRyZW4ubGVuZ3RoPT09MSYmdC5jaGlsZHJlblswXS50eXBlIT09XCJibG9ja0ZvbGRlZFwiJiZ0LmNoaWxkcmVuWzBdLnR5cGUhPT1cImJsb2NrTGl0ZXJhbFwiKSYmKHQudHlwZT09PVwibWFwcGluZ1ZhbHVlXCJ8fEJyKHQpKTtkZWZhdWx0OnJldHVybiExfX1mdW5jdGlvbiBCcih0KXtyZXR1cm4gdC5wb3NpdGlvbi5zdGFydCE9PXQucG9zaXRpb24uZW5kJiYodC5jaGlsZHJlbi5sZW5ndGg9PT0wfHx0LnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCE9PXQuY2hpbGRyZW5bMF0ucG9zaXRpb24uc3RhcnQub2Zmc2V0KX1mdW5jdGlvbiBiKHQsZSl7cmV0dXJue3R5cGU6dCxwb3NpdGlvbjplfX1mdW5jdGlvbiAkcih0LGUsbil7cmV0dXJuey4uLmIoXCJyb290XCIsdCksY2hpbGRyZW46ZSxjb21tZW50czpufX1mdW5jdGlvbiBjdCh0KXtzd2l0Y2godC50eXBlKXtjYXNlXCJET0NVTUVOVFwiOmZvcihsZXQgZT10LmNvbnRlbnRzLmxlbmd0aC0xO2U+PTA7ZS0tKXQuY29udGVudHNbZV0udHlwZT09PVwiQkxBTktfTElORVwiP3QuY29udGVudHMuc3BsaWNlKGUsMSk6Y3QodC5jb250ZW50c1tlXSk7Zm9yKGxldCBlPXQuZGlyZWN0aXZlcy5sZW5ndGgtMTtlPj0wO2UtLSl0LmRpcmVjdGl2ZXNbZV0udHlwZT09PVwiQkxBTktfTElORVwiJiZ0LmRpcmVjdGl2ZXMuc3BsaWNlKGUsMSk7YnJlYWs7Y2FzZVwiRkxPV19NQVBcIjpjYXNlXCJGTE9XX1NFUVwiOmNhc2VcIk1BUFwiOmNhc2VcIlNFUVwiOmZvcihsZXQgZT10Lml0ZW1zLmxlbmd0aC0xO2U+PTA7ZS0tKXtsZXQgbj10Lml0ZW1zW2VdO1wiY2hhclwiaW4gbnx8KG4udHlwZT09PVwiQkxBTktfTElORVwiP3QuaXRlbXMuc3BsaWNlKGUsMSk6Y3QobikpfWJyZWFrO2Nhc2VcIk1BUF9LRVlcIjpjYXNlXCJNQVBfVkFMVUVcIjpjYXNlXCJTRVFfSVRFTVwiOnQubm9kZSYmY3QodC5ub2RlKTticmVhaztjYXNlXCJBTElBU1wiOmNhc2VcIkJMQU5LX0xJTkVcIjpjYXNlXCJCTE9DS19GT0xERURcIjpjYXNlXCJCTE9DS19MSVRFUkFMXCI6Y2FzZVwiQ09NTUVOVFwiOmNhc2VcIkRJUkVDVElWRVwiOmNhc2VcIlBMQUlOXCI6Y2FzZVwiUVVPVEVfRE9VQkxFXCI6Y2FzZVwiUVVPVEVfU0lOR0xFXCI6YnJlYWs7ZGVmYXVsdDp0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgbm9kZSB0eXBlICR7SlNPTi5zdHJpbmdpZnkodC50eXBlKX1gKX19ZnVuY3Rpb24gWCgpe3JldHVybntsZWFkaW5nQ29tbWVudHM6W119fWZ1bmN0aW9uIG9lKHQ9bnVsbCl7cmV0dXJue3RyYWlsaW5nQ29tbWVudDp0fX1mdW5jdGlvbiAkKCl7cmV0dXJuey4uLlgoKSwuLi5vZSgpfX1mdW5jdGlvbiBGcih0LGUsbil7cmV0dXJuey4uLmIoXCJhbGlhc1wiLHQpLC4uLiQoKSwuLi5lLHZhbHVlOm59fWZ1bmN0aW9uIHFyKHQsZSl7bGV0IG49dC5jc3ROb2RlO3JldHVybiBGcihlLnRyYW5zZm9ybVJhbmdlKHtvcmlnU3RhcnQ6bi52YWx1ZVJhbmdlLm9yaWdTdGFydC0xLG9yaWdFbmQ6bi52YWx1ZVJhbmdlLm9yaWdFbmR9KSxlLnRyYW5zZm9ybUNvbnRlbnQodCksbi5yYXdWYWx1ZSl9ZnVuY3Rpb24gVXIodCl7cmV0dXJuey4uLnQsdHlwZTpcImJsb2NrRm9sZGVkXCJ9fWZ1bmN0aW9uIEtyKHQsZSxuLHIscyxpKXtyZXR1cm57Li4uYihcImJsb2NrVmFsdWVcIix0KSwuLi5YKCksLi4uZSxjaG9tcGluZzpuLGluZGVudDpyLHZhbHVlOnMsaW5kaWNhdG9yQ29tbWVudDppfX12YXIgYWU7KGZ1bmN0aW9uKHQpe3QuVGFnPVwiIVwiLHQuQW5jaG9yPVwiJlwiLHQuQ29tbWVudD1cIiNcIn0pKGFlfHwoYWU9e30pKTtmdW5jdGlvbiBWcih0LGUpe3JldHVybnsuLi5iKFwiYW5jaG9yXCIsdCksdmFsdWU6ZX19ZnVuY3Rpb24geGUodCxlKXtyZXR1cm57Li4uYihcImNvbW1lbnRcIix0KSx2YWx1ZTplfX1mdW5jdGlvbiBXcih0LGUsbil7cmV0dXJue2FuY2hvcjplLHRhZzp0LG1pZGRsZUNvbW1lbnRzOm59fWZ1bmN0aW9uIGpyKHQsZSl7cmV0dXJuey4uLmIoXCJ0YWdcIix0KSx2YWx1ZTplfX1mdW5jdGlvbiB2dCh0LGUsbj0oKT0+ITEpe2xldCByPXQuY3N0Tm9kZSxzPVtdLGk9bnVsbCxvPW51bGwsYT1udWxsO2ZvcihsZXQgYyBvZiByLnByb3BzKXtsZXQgbD1lLnRleHRbYy5vcmlnU3RhcnRdO3N3aXRjaChsKXtjYXNlIGFlLlRhZzppPWl8fGMsbz1qcihlLnRyYW5zZm9ybVJhbmdlKGMpLHQudGFnKTticmVhaztjYXNlIGFlLkFuY2hvcjppPWl8fGMsYT1WcihlLnRyYW5zZm9ybVJhbmdlKGMpLHIuYW5jaG9yKTticmVhaztjYXNlIGFlLkNvbW1lbnQ6e2xldCBmPXhlKGUudHJhbnNmb3JtUmFuZ2UoYyksZS50ZXh0LnNsaWNlKGMub3JpZ1N0YXJ0KzEsYy5vcmlnRW5kKSk7ZS5jb21tZW50cy5wdXNoKGYpLCFuKGYpJiZpJiZpLm9yaWdFbmQ8PWMub3JpZ1N0YXJ0JiZjLm9yaWdFbmQ8PXIudmFsdWVSYW5nZS5vcmlnU3RhcnQmJnMucHVzaChmKTticmVha31kZWZhdWx0OnRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBsZWFkaW5nIGNoYXJhY3RlciAke0pTT04uc3RyaW5naWZ5KGwpfWApfX1yZXR1cm4gV3IobyxhLHMpfXZhciB5bjsoZnVuY3Rpb24odCl7dC5DTElQPVwiY2xpcFwiLHQuU1RSSVA9XCJzdHJpcFwiLHQuS0VFUD1cImtlZXBcIn0pKHlufHwoeW49e30pKTtmdW5jdGlvbiBJdCh0LGUpe2xldCBuPXQuY3N0Tm9kZSxyPTEscz1uLmNob21waW5nPT09XCJDTElQXCI/MDoxLG89bi5oZWFkZXIub3JpZ0VuZC1uLmhlYWRlci5vcmlnU3RhcnQtci1zIT09MCxhPWUudHJhbnNmb3JtUmFuZ2Uoe29yaWdTdGFydDpuLmhlYWRlci5vcmlnU3RhcnQsb3JpZ0VuZDpuLnZhbHVlUmFuZ2Uub3JpZ0VuZH0pLGM9bnVsbCxsPXZ0KHQsZSxmPT57aWYoIShhLnN0YXJ0Lm9mZnNldDxmLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCYmZi5wb3NpdGlvbi5lbmQub2Zmc2V0PGEuZW5kLm9mZnNldCkpcmV0dXJuITE7aWYoYyl0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgbXVsdGlwbGUgaW5kaWNhdG9yIGNvbW1lbnRzIGF0ICR7Z2UoZi5wb3NpdGlvbi5zdGFydCl9YCk7cmV0dXJuIGM9ZiwhMH0pO3JldHVybiBLcihhLGwseW5bbi5jaG9tcGluZ10sbz9uLmJsb2NrSW5kZW50Om51bGwsbi5zdHJWYWx1ZSxjKX1mdW5jdGlvbiBRcih0LGUpe3JldHVybiBVcihJdCh0LGUpKX1mdW5jdGlvbiBKcih0KXtyZXR1cm57Li4udCx0eXBlOlwiYmxvY2tMaXRlcmFsXCJ9fWZ1bmN0aW9uIEdyKHQsZSl7cmV0dXJuIEpyKEl0KHQsZSkpfWZ1bmN0aW9uIEhyKHQsZSl7cmV0dXJuIHhlKGUudHJhbnNmb3JtUmFuZ2UodC5yYW5nZSksdC5jb21tZW50KX1mdW5jdGlvbiBYcih0LGUsbil7cmV0dXJuey4uLmIoXCJkaXJlY3RpdmVcIix0KSwuLi4kKCksbmFtZTplLHBhcmFtZXRlcnM6bn19ZnVuY3Rpb24gUmUodCxlKXtmb3IobGV0IG4gb2YgdC5wcm9wcyl7bGV0IHI9ZS50ZXh0W24ub3JpZ1N0YXJ0XTtzd2l0Y2gocil7Y2FzZSBhZS5Db21tZW50OmUuY29tbWVudHMucHVzaCh4ZShlLnRyYW5zZm9ybVJhbmdlKG4pLGUudGV4dC5zbGljZShuLm9yaWdTdGFydCsxLG4ub3JpZ0VuZCkpKTticmVhaztkZWZhdWx0OnRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBsZWFkaW5nIGNoYXJhY3RlciAke0pTT04uc3RyaW5naWZ5KHIpfWApfX19ZnVuY3Rpb24genIodCxlKXtyZXR1cm4gUmUodCxlKSxYcihlLnRyYW5zZm9ybVJhbmdlKHQucmFuZ2UpLHQubmFtZSx0LnBhcmFtZXRlcnMpfWZ1bmN0aW9uIFpyKHQsZSxuLHIpe3JldHVybnsuLi5iKFwiZG9jdW1lbnRcIix0KSwuLi5vZShyKSxjaGlsZHJlbjpbZSxuXX19ZnVuY3Rpb24gVih0LGUpe3JldHVybntzdGFydDp0LGVuZDplfX1mdW5jdGlvbiBFbih0KXtyZXR1cm57c3RhcnQ6dCxlbmQ6dH19ZnVuY3Rpb24gRih0PVtdKXtyZXR1cm57ZW5kQ29tbWVudHM6dH19ZnVuY3Rpb24gZXModCxlLG4pe3JldHVybnsuLi5iKFwiZG9jdW1lbnRCb2R5XCIsdCksLi4uRihuKSxjaGlsZHJlbjplP1tlXTpbXX19ZnVuY3Rpb24gcSh0KXtyZXR1cm4gdFt0Lmxlbmd0aC0xXX1mdW5jdGlvbiBQdCh0LGUpe2xldCBuPXQubWF0Y2goZSk7cmV0dXJuIG4/bi5pbmRleDotMX1mdW5jdGlvbiB0cyh0LGUsbil7bGV0IHI9dC5jc3ROb2RlLHtjb21tZW50czpzLGVuZENvbW1lbnRzOmksZG9jdW1lbnRUcmFpbGluZ0NvbW1lbnQ6byxkb2N1bWVudEhlYWRUcmFpbGluZ0NvbW1lbnQ6YX09bG8ocixlLG4pLGM9ZS50cmFuc2Zvcm1Ob2RlKHQuY29udGVudHMpLHtwb3NpdGlvbjpsLGRvY3VtZW50RW5kUG9pbnQ6Zn09Zm8ocixjLGUpO3JldHVybiBlLmNvbW1lbnRzLnB1c2goLi4ucywuLi5pKSx7ZG9jdW1lbnRCb2R5OmVzKGwsYyxpKSxkb2N1bWVudEVuZFBvaW50OmYsZG9jdW1lbnRUcmFpbGluZ0NvbW1lbnQ6byxkb2N1bWVudEhlYWRUcmFpbGluZ0NvbW1lbnQ6YX19ZnVuY3Rpb24gbG8odCxlLG4pe2xldCByPVtdLHM9W10saT1bXSxvPVtdLGE9ITE7Zm9yKGxldCBjPXQuY29udGVudHMubGVuZ3RoLTE7Yz49MDtjLS0pe2xldCBsPXQuY29udGVudHNbY107aWYobC50eXBlPT09XCJDT01NRU5UXCIpe2xldCBmPWUudHJhbnNmb3JtTm9kZShsKTtuJiZuLmxpbmU9PT1mLnBvc2l0aW9uLnN0YXJ0LmxpbmU/by51bnNoaWZ0KGYpOmE/ci51bnNoaWZ0KGYpOmYucG9zaXRpb24uc3RhcnQub2Zmc2V0Pj10LnZhbHVlUmFuZ2Uub3JpZ0VuZD9pLnVuc2hpZnQoZik6ci51bnNoaWZ0KGYpfWVsc2UgYT0hMH1pZihpLmxlbmd0aD4xKXRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBtdWx0aXBsZSBkb2N1bWVudCB0cmFpbGluZyBjb21tZW50cyBhdCAke2dlKGlbMV0ucG9zaXRpb24uc3RhcnQpfWApO2lmKG8ubGVuZ3RoPjEpdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG11bHRpcGxlIGRvY3VtZW50SGVhZCB0cmFpbGluZyBjb21tZW50cyBhdCAke2dlKG9bMV0ucG9zaXRpb24uc3RhcnQpfWApO3JldHVybntjb21tZW50czpyLGVuZENvbW1lbnRzOnMsZG9jdW1lbnRUcmFpbGluZ0NvbW1lbnQ6cShpKXx8bnVsbCxkb2N1bWVudEhlYWRUcmFpbGluZ0NvbW1lbnQ6cShvKXx8bnVsbH19ZnVuY3Rpb24gZm8odCxlLG4pe2xldCByPVB0KG4udGV4dC5zbGljZSh0LnZhbHVlUmFuZ2Uub3JpZ0VuZCksL15cXC5cXC5cXC4vKSxzPXI9PT0tMT90LnZhbHVlUmFuZ2Uub3JpZ0VuZDpNYXRoLm1heCgwLHQudmFsdWVSYW5nZS5vcmlnRW5kLTEpO24udGV4dFtzLTFdPT09XCJcXHJcIiYmcy0tO2xldCBpPW4udHJhbnNmb3JtUmFuZ2Uoe29yaWdTdGFydDplIT09bnVsbD9lLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldDpzLG9yaWdFbmQ6c30pLG89cj09PS0xP2kuZW5kOm4udHJhbnNmb3JtT2Zmc2V0KHQudmFsdWVSYW5nZS5vcmlnRW5kKzMpO3JldHVybntwb3NpdGlvbjppLGRvY3VtZW50RW5kUG9pbnQ6b319ZnVuY3Rpb24gbnModCxlLG4scil7cmV0dXJuey4uLmIoXCJkb2N1bWVudEhlYWRcIix0KSwuLi5GKG4pLC4uLm9lKHIpLGNoaWxkcmVuOmV9fWZ1bmN0aW9uIHJzKHQsZSl7bGV0IG49dC5jc3ROb2RlLHtkaXJlY3RpdmVzOnIsY29tbWVudHM6cyxlbmRDb21tZW50czppfT11byhuLGUpLHtwb3NpdGlvbjpvLGVuZE1hcmtlclBvaW50OmF9PXBvKG4scixlKTtyZXR1cm4gZS5jb21tZW50cy5wdXNoKC4uLnMsLi4uaSkse2NyZWF0ZURvY3VtZW50SGVhZFdpdGhUcmFpbGluZ0NvbW1lbnQ6bD0+KGwmJmUuY29tbWVudHMucHVzaChsKSxucyhvLHIsaSxsKSksZG9jdW1lbnRIZWFkRW5kTWFya2VyUG9pbnQ6YX19ZnVuY3Rpb24gdW8odCxlKXtsZXQgbj1bXSxyPVtdLHM9W10saT0hMTtmb3IobGV0IG89dC5kaXJlY3RpdmVzLmxlbmd0aC0xO28+PTA7by0tKXtsZXQgYT1lLnRyYW5zZm9ybU5vZGUodC5kaXJlY3RpdmVzW29dKTthLnR5cGU9PT1cImNvbW1lbnRcIj9pP3IudW5zaGlmdChhKTpzLnVuc2hpZnQoYSk6KGk9ITAsbi51bnNoaWZ0KGEpKX1yZXR1cm57ZGlyZWN0aXZlczpuLGNvbW1lbnRzOnIsZW5kQ29tbWVudHM6c319ZnVuY3Rpb24gcG8odCxlLG4pe2xldCByPVB0KG4udGV4dC5zbGljZSgwLHQudmFsdWVSYW5nZS5vcmlnU3RhcnQpLC8tLS1cXHMqJC8pO3I+MCYmIS9bXFxyXFxuXS8udGVzdChuLnRleHRbci0xXSkmJihyPS0xKTtsZXQgcz1yPT09LTE/e29yaWdTdGFydDp0LnZhbHVlUmFuZ2Uub3JpZ1N0YXJ0LG9yaWdFbmQ6dC52YWx1ZVJhbmdlLm9yaWdTdGFydH06e29yaWdTdGFydDpyLG9yaWdFbmQ6ciszfTtyZXR1cm4gZS5sZW5ndGghPT0wJiYocy5vcmlnU3RhcnQ9ZVswXS5wb3NpdGlvbi5zdGFydC5vZmZzZXQpLHtwb3NpdGlvbjpuLnRyYW5zZm9ybVJhbmdlKHMpLGVuZE1hcmtlclBvaW50OnI9PT0tMT9udWxsOm4udHJhbnNmb3JtT2Zmc2V0KHIpfX1mdW5jdGlvbiBzcyh0LGUpe2xldHtjcmVhdGVEb2N1bWVudEhlYWRXaXRoVHJhaWxpbmdDb21tZW50Om4sZG9jdW1lbnRIZWFkRW5kTWFya2VyUG9pbnQ6cn09cnModCxlKSx7ZG9jdW1lbnRCb2R5OnMsZG9jdW1lbnRFbmRQb2ludDppLGRvY3VtZW50VHJhaWxpbmdDb21tZW50Om8sZG9jdW1lbnRIZWFkVHJhaWxpbmdDb21tZW50OmF9PXRzKHQsZSxyKSxjPW4oYSk7cmV0dXJuIG8mJmUuY29tbWVudHMucHVzaChvKSxacihWKGMucG9zaXRpb24uc3RhcnQsaSksYyxzLG8pfWZ1bmN0aW9uIF90KHQsZSxuKXtyZXR1cm57Li4uYihcImZsb3dDb2xsZWN0aW9uXCIsdCksLi4uJCgpLC4uLkYoKSwuLi5lLGNoaWxkcmVuOm59fWZ1bmN0aW9uIGlzKHQsZSxuKXtyZXR1cm57Li4uX3QodCxlLG4pLHR5cGU6XCJmbG93TWFwcGluZ1wifX1mdW5jdGlvbiB4dCh0LGUsbil7cmV0dXJuey4uLmIoXCJmbG93TWFwcGluZ0l0ZW1cIix0KSwuLi5YKCksY2hpbGRyZW46W2Usbl19fWZ1bmN0aW9uIGNlKHQsZSl7bGV0IG49W107Zm9yKGxldCByIG9mIHQpciYmXCJ0eXBlXCJpbiByJiZyLnR5cGU9PT1cIkNPTU1FTlRcIj9lLmNvbW1lbnRzLnB1c2goZS50cmFuc2Zvcm1Ob2RlKHIpKTpuLnB1c2gocik7cmV0dXJuIG59ZnVuY3Rpb24gUnQodCl7bGV0W2Usbl09W1wiP1wiLFwiOlwiXS5tYXAocj0+e2xldCBzPXQuZmluZChpPT5cImNoYXJcImluIGkmJmkuY2hhcj09PXIpO3JldHVybiBzP3tvcmlnU3RhcnQ6cy5vcmlnT2Zmc2V0LG9yaWdFbmQ6cy5vcmlnT2Zmc2V0KzF9Om51bGx9KTtyZXR1cm57YWRkaXRpb25hbEtleVJhbmdlOmUsYWRkaXRpb25hbFZhbHVlUmFuZ2U6bn19ZnVuY3Rpb24gRHQodCxlKXtsZXQgbj1lO3JldHVybiByPT50LnNsaWNlKG4sbj1yKX1mdW5jdGlvbiBZdCh0KXtsZXQgZT1bXSxuPUR0KHQsMSkscj0hMTtmb3IobGV0IHM9MTtzPHQubGVuZ3RoLTE7cysrKXtsZXQgaT10W3NdO2lmKFwiY2hhclwiaW4gaSYmaS5jaGFyPT09XCIsXCIpe2UucHVzaChuKHMpKSxuKHMrMSkscj0hMTtjb250aW51ZX1yPSEwfXJldHVybiByJiZlLnB1c2gobih0Lmxlbmd0aC0xKSksZX1mdW5jdGlvbiBTbih0LGUpe3JldHVybnsuLi5iKFwibWFwcGluZ0tleVwiLHQpLC4uLm9lKCksLi4uRigpLGNoaWxkcmVuOmU/W2VdOltdfX1mdW5jdGlvbiB3bih0LGUpe3JldHVybnsuLi5iKFwibWFwcGluZ1ZhbHVlXCIsdCksLi4uJCgpLC4uLkYoKSxjaGlsZHJlbjplP1tlXTpbXX19ZnVuY3Rpb24gRGUodCxlLG4scixzKXtsZXQgaT1lLnRyYW5zZm9ybU5vZGUodC5rZXkpLG89ZS50cmFuc2Zvcm1Ob2RlKHQudmFsdWUpLGE9aXx8cj9TbihlLnRyYW5zZm9ybVJhbmdlKHtvcmlnU3RhcnQ6cj9yLm9yaWdTdGFydDppLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCxvcmlnRW5kOmk/aS5wb3NpdGlvbi5lbmQub2Zmc2V0OnIub3JpZ1N0YXJ0KzF9KSxpKTpudWxsLGM9b3x8cz93bihlLnRyYW5zZm9ybVJhbmdlKHtvcmlnU3RhcnQ6cz9zLm9yaWdTdGFydDpvLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCxvcmlnRW5kOm8/by5wb3NpdGlvbi5lbmQub2Zmc2V0OnMub3JpZ1N0YXJ0KzF9KSxvKTpudWxsO3JldHVybiBuKFYoYT9hLnBvc2l0aW9uLnN0YXJ0OmMucG9zaXRpb24uc3RhcnQsYz9jLnBvc2l0aW9uLmVuZDphLnBvc2l0aW9uLmVuZCksYXx8U24oRW4oYy5wb3NpdGlvbi5zdGFydCksbnVsbCksY3x8d24oRW4oYS5wb3NpdGlvbi5lbmQpLG51bGwpKX1mdW5jdGlvbiBvcyh0LGUpe2xldCBuPWNlKHQuY3N0Tm9kZS5pdGVtcyxlKSxyPVl0KG4pLHM9dC5pdGVtcy5tYXAoKGEsYyk9PntsZXQgbD1yW2NdLHthZGRpdGlvbmFsS2V5UmFuZ2U6ZixhZGRpdGlvbmFsVmFsdWVSYW5nZTptfT1SdChsKTtyZXR1cm4gRGUoYSxlLHh0LGYsbSl9KSxpPW5bMF0sbz1xKG4pO3JldHVybiBpcyhlLnRyYW5zZm9ybVJhbmdlKHtvcmlnU3RhcnQ6aS5vcmlnT2Zmc2V0LG9yaWdFbmQ6by5vcmlnT2Zmc2V0KzF9KSxlLnRyYW5zZm9ybUNvbnRlbnQodCkscyl9ZnVuY3Rpb24gYXModCxlLG4pe3JldHVybnsuLi5fdCh0LGUsbiksdHlwZTpcImZsb3dTZXF1ZW5jZVwifX1mdW5jdGlvbiBjcyh0LGUpe3JldHVybnsuLi5iKFwiZmxvd1NlcXVlbmNlSXRlbVwiLHQpLGNoaWxkcmVuOltlXX19ZnVuY3Rpb24gbHModCxlKXtsZXQgbj1jZSh0LmNzdE5vZGUuaXRlbXMsZSkscj1ZdChuKSxzPXQuaXRlbXMubWFwKChhLGMpPT57aWYoYS50eXBlIT09XCJQQUlSXCIpe2xldCBsPWUudHJhbnNmb3JtTm9kZShhKTtyZXR1cm4gY3MoVihsLnBvc2l0aW9uLnN0YXJ0LGwucG9zaXRpb24uZW5kKSxsKX1lbHNle2xldCBsPXJbY10se2FkZGl0aW9uYWxLZXlSYW5nZTpmLGFkZGl0aW9uYWxWYWx1ZVJhbmdlOm19PVJ0KGwpO3JldHVybiBEZShhLGUseHQsZixtKX19KSxpPW5bMF0sbz1xKG4pO3JldHVybiBhcyhlLnRyYW5zZm9ybVJhbmdlKHtvcmlnU3RhcnQ6aS5vcmlnT2Zmc2V0LG9yaWdFbmQ6by5vcmlnT2Zmc2V0KzF9KSxlLnRyYW5zZm9ybUNvbnRlbnQodCkscyl9ZnVuY3Rpb24gZnModCxlLG4pe3JldHVybnsuLi5iKFwibWFwcGluZ1wiLHQpLC4uLlgoKSwuLi5lLGNoaWxkcmVuOm59fWZ1bmN0aW9uIHVzKHQsZSxuKXtyZXR1cm57Li4uYihcIm1hcHBpbmdJdGVtXCIsdCksLi4uWCgpLGNoaWxkcmVuOltlLG5dfX1mdW5jdGlvbiBwcyh0LGUpe2xldCBuPXQuY3N0Tm9kZTtuLml0ZW1zLmZpbHRlcihvPT5vLnR5cGU9PT1cIk1BUF9LRVlcInx8by50eXBlPT09XCJNQVBfVkFMVUVcIikuZm9yRWFjaChvPT5SZShvLGUpKTtsZXQgcj1jZShuLml0ZW1zLGUpLHM9bW8ociksaT10Lml0ZW1zLm1hcCgobyxhKT0+e2xldCBjPXNbYV0sW2wsZl09Y1swXS50eXBlPT09XCJNQVBfVkFMVUVcIj9bbnVsbCxjWzBdLnJhbmdlXTpbY1swXS5yYW5nZSxjLmxlbmd0aD09PTE/bnVsbDpjWzFdLnJhbmdlXTtyZXR1cm4gRGUobyxlLHVzLGwsZil9KTtyZXR1cm4gZnMoVihpWzBdLnBvc2l0aW9uLnN0YXJ0LHEoaSkucG9zaXRpb24uZW5kKSxlLnRyYW5zZm9ybUNvbnRlbnQodCksaSl9ZnVuY3Rpb24gbW8odCl7bGV0IGU9W10sbj1EdCh0LDApLHI9ITE7Zm9yKGxldCBzPTA7czx0Lmxlbmd0aDtzKyspe2lmKHRbc10udHlwZT09PVwiTUFQX1ZBTFVFXCIpe2UucHVzaChuKHMrMSkpLHI9ITE7Y29udGludWV9ciYmZS5wdXNoKG4ocykpLHI9ITB9cmV0dXJuIHImJmUucHVzaChuKDEvMCkpLGV9ZnVuY3Rpb24gbXModCxlLG4pe3JldHVybnsuLi5iKFwicGxhaW5cIix0KSwuLi4kKCksLi4uZSx2YWx1ZTpufX1mdW5jdGlvbiBocyh0LGUsbil7Zm9yKGxldCByPWU7cj49MDtyLS0paWYobi50ZXN0KHRbcl0pKXJldHVybiByO3JldHVybi0xfWZ1bmN0aW9uIGdzKHQsZSl7bGV0IG49dC5jc3ROb2RlO3JldHVybiBtcyhlLnRyYW5zZm9ybVJhbmdlKHtvcmlnU3RhcnQ6bi52YWx1ZVJhbmdlLm9yaWdTdGFydCxvcmlnRW5kOmhzKGUudGV4dCxuLnZhbHVlUmFuZ2Uub3JpZ0VuZC0xLC9cXFMvKSsxfSksZS50cmFuc2Zvcm1Db250ZW50KHQpLG4uc3RyVmFsdWUpfWZ1bmN0aW9uIGRzKHQpe3JldHVybnsuLi50LHR5cGU6XCJxdW90ZURvdWJsZVwifX1mdW5jdGlvbiB5cyh0LGUsbil7cmV0dXJuey4uLmIoXCJxdW90ZVZhbHVlXCIsdCksLi4uZSwuLi4kKCksdmFsdWU6bn19ZnVuY3Rpb24gQnQodCxlKXtsZXQgbj10LmNzdE5vZGU7cmV0dXJuIHlzKGUudHJhbnNmb3JtUmFuZ2Uobi52YWx1ZVJhbmdlKSxlLnRyYW5zZm9ybUNvbnRlbnQodCksbi5zdHJWYWx1ZSl9ZnVuY3Rpb24gRXModCxlKXtyZXR1cm4gZHMoQnQodCxlKSl9ZnVuY3Rpb24gU3ModCl7cmV0dXJuey4uLnQsdHlwZTpcInF1b3RlU2luZ2xlXCJ9fWZ1bmN0aW9uIHdzKHQsZSl7cmV0dXJuIFNzKEJ0KHQsZSkpfWZ1bmN0aW9uIGJzKHQsZSxuKXtyZXR1cm57Li4uYihcInNlcXVlbmNlXCIsdCksLi4uWCgpLC4uLkYoKSwuLi5lLGNoaWxkcmVuOm59fWZ1bmN0aW9uIE5zKHQsZSl7cmV0dXJuey4uLmIoXCJzZXF1ZW5jZUl0ZW1cIix0KSwuLi4kKCksLi4uRigpLGNoaWxkcmVuOmU/W2VdOltdfX1mdW5jdGlvbiBPcyh0LGUpe2xldCByPWNlKHQuY3N0Tm9kZS5pdGVtcyxlKS5tYXAoKHMsaSk9PntSZShzLGUpO2xldCBvPWUudHJhbnNmb3JtTm9kZSh0Lml0ZW1zW2ldKTtyZXR1cm4gTnMoVihlLnRyYW5zZm9ybU9mZnNldChzLnZhbHVlUmFuZ2Uub3JpZ1N0YXJ0KSxvPT09bnVsbD9lLnRyYW5zZm9ybU9mZnNldChzLnZhbHVlUmFuZ2Uub3JpZ1N0YXJ0KzEpOm8ucG9zaXRpb24uZW5kKSxvKX0pO3JldHVybiBicyhWKHJbMF0ucG9zaXRpb24uc3RhcnQscShyKS5wb3NpdGlvbi5lbmQpLGUudHJhbnNmb3JtQ29udGVudCh0KSxyKX1mdW5jdGlvbiBMcyh0LGUpe2lmKHQ9PT1udWxsfHx0LnR5cGU9PT12b2lkIDAmJnQudmFsdWU9PT1udWxsKXJldHVybiBudWxsO3N3aXRjaCh0LnR5cGUpe2Nhc2VcIkFMSUFTXCI6cmV0dXJuIHFyKHQsZSk7Y2FzZVwiQkxPQ0tfRk9MREVEXCI6cmV0dXJuIFFyKHQsZSk7Y2FzZVwiQkxPQ0tfTElURVJBTFwiOnJldHVybiBHcih0LGUpO2Nhc2VcIkNPTU1FTlRcIjpyZXR1cm4gSHIodCxlKTtjYXNlXCJESVJFQ1RJVkVcIjpyZXR1cm4genIodCxlKTtjYXNlXCJET0NVTUVOVFwiOnJldHVybiBzcyh0LGUpO2Nhc2VcIkZMT1dfTUFQXCI6cmV0dXJuIG9zKHQsZSk7Y2FzZVwiRkxPV19TRVFcIjpyZXR1cm4gbHModCxlKTtjYXNlXCJNQVBcIjpyZXR1cm4gcHModCxlKTtjYXNlXCJQTEFJTlwiOnJldHVybiBncyh0LGUpO2Nhc2VcIlFVT1RFX0RPVUJMRVwiOnJldHVybiBFcyh0LGUpO2Nhc2VcIlFVT1RFX1NJTkdMRVwiOnJldHVybiB3cyh0LGUpO2Nhc2VcIlNFUVwiOnJldHVybiBPcyh0LGUpO2RlZmF1bHQ6dGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIG5vZGUgdHlwZSAke3QudHlwZX1gKX19ZnVuY3Rpb24gQXModCxlLG4pe2xldCByPW5ldyBTeW50YXhFcnJvcih0KTtyZXR1cm4gci5uYW1lPVwiWUFNTFN5bnRheEVycm9yXCIsci5zb3VyY2U9ZSxyLnBvc2l0aW9uPW4scn1mdW5jdGlvbiBUcyh0LGUpe2xldCBuPXQuc291cmNlLnJhbmdlfHx0LnNvdXJjZS52YWx1ZVJhbmdlO3JldHVybiBBcyh0Lm1lc3NhZ2UsZS50ZXh0LGUudHJhbnNmb3JtUmFuZ2UobikpfWZ1bmN0aW9uIENzKHQsZSxuKXtyZXR1cm57b2Zmc2V0OnQsbGluZTplLGNvbHVtbjpufX1mdW5jdGlvbiBNcyh0LGUpe3Q8MD90PTA6dD5lLnRleHQubGVuZ3RoJiYodD1lLnRleHQubGVuZ3RoKTtsZXQgbj1lLmxvY2F0b3IubG9jYXRpb25Gb3JJbmRleCh0KTtyZXR1cm4gQ3ModCxuLmxpbmUrMSxuLmNvbHVtbisxKX1mdW5jdGlvbiBrcyh0LGUpe3JldHVybiBWKGUudHJhbnNmb3JtT2Zmc2V0KHQub3JpZ1N0YXJ0KSxlLnRyYW5zZm9ybU9mZnNldCh0Lm9yaWdFbmQpKX1mdW5jdGlvbiB2cyh0KXtpZighdC5zZXRPcmlnUmFuZ2VzKCkpe2xldCBlPW49PntpZihobyhuKSlyZXR1cm4gbi5vcmlnU3RhcnQ9bi5zdGFydCxuLm9yaWdFbmQ9bi5lbmQsITA7aWYoZ28obikpcmV0dXJuIG4ub3JpZ09mZnNldD1uLm9mZnNldCwhMH07dC5mb3JFYWNoKG49PmJuKG4sZSkpfX1mdW5jdGlvbiBibih0LGUpe2lmKCEoIXR8fHR5cGVvZiB0IT1cIm9iamVjdFwiKSYmZSh0KSE9PSEwKWZvcihsZXQgbiBvZiBPYmplY3Qua2V5cyh0KSl7aWYobj09PVwiY29udGV4dFwifHxuPT09XCJlcnJvclwiKWNvbnRpbnVlO2xldCByPXRbbl07QXJyYXkuaXNBcnJheShyKT9yLmZvckVhY2gocz0+Ym4ocyxlKSk6Ym4ocixlKX19ZnVuY3Rpb24gaG8odCl7cmV0dXJuIHR5cGVvZiB0LnN0YXJ0PT1cIm51bWJlclwifWZ1bmN0aW9uIGdvKHQpe3JldHVybiB0eXBlb2YgdC5vZmZzZXQ9PVwibnVtYmVyXCJ9ZnVuY3Rpb24gTm4odCl7aWYoXCJjaGlsZHJlblwiaW4gdCl7aWYodC5jaGlsZHJlbi5sZW5ndGg9PT0xKXtsZXQgZT10LmNoaWxkcmVuWzBdO2lmKGUudHlwZT09PVwicGxhaW5cIiYmZS50YWc9PT1udWxsJiZlLmFuY2hvcj09PW51bGwmJmUudmFsdWU9PT1cIlwiKXJldHVybiB0LmNoaWxkcmVuLnNwbGljZSgwLDEpLHR9dC5jaGlsZHJlbi5mb3JFYWNoKE5uKX1yZXR1cm4gdH1mdW5jdGlvbiBPbih0LGUsbixyKXtsZXQgcz1lKHQpO3JldHVybiBpPT57cihzLGkpJiZuKHQscz1pKX19ZnVuY3Rpb24gTG4odCl7aWYodD09PW51bGx8fCEoXCJjaGlsZHJlblwiaW4gdCkpcmV0dXJuO2xldCBlPXQuY2hpbGRyZW47aWYoZS5mb3JFYWNoKExuKSx0LnR5cGU9PT1cImRvY3VtZW50XCIpe2xldFtpLG9dPXQuY2hpbGRyZW47aS5wb3NpdGlvbi5zdGFydC5vZmZzZXQ9PT1pLnBvc2l0aW9uLmVuZC5vZmZzZXQ/aS5wb3NpdGlvbi5zdGFydD1pLnBvc2l0aW9uLmVuZD1vLnBvc2l0aW9uLnN0YXJ0Om8ucG9zaXRpb24uc3RhcnQub2Zmc2V0PT09by5wb3NpdGlvbi5lbmQub2Zmc2V0JiYoby5wb3NpdGlvbi5zdGFydD1vLnBvc2l0aW9uLmVuZD1pLnBvc2l0aW9uLmVuZCl9bGV0IG49T24odC5wb3NpdGlvbix5byxFbyxibykscj1Pbih0LnBvc2l0aW9uLFNvLHdvLE5vKTtcImVuZENvbW1lbnRzXCJpbiB0JiZ0LmVuZENvbW1lbnRzLmxlbmd0aCE9PTAmJihuKHQuZW5kQ29tbWVudHNbMF0ucG9zaXRpb24uc3RhcnQpLHIocSh0LmVuZENvbW1lbnRzKS5wb3NpdGlvbi5lbmQpKTtsZXQgcz1lLmZpbHRlcihpPT5pIT09bnVsbCk7aWYocy5sZW5ndGghPT0wKXtsZXQgaT1zWzBdLG89cShzKTtuKGkucG9zaXRpb24uc3RhcnQpLHIoby5wb3NpdGlvbi5lbmQpLFwibGVhZGluZ0NvbW1lbnRzXCJpbiBpJiZpLmxlYWRpbmdDb21tZW50cy5sZW5ndGghPT0wJiZuKGkubGVhZGluZ0NvbW1lbnRzWzBdLnBvc2l0aW9uLnN0YXJ0KSxcInRhZ1wiaW4gaSYmaS50YWcmJm4oaS50YWcucG9zaXRpb24uc3RhcnQpLFwiYW5jaG9yXCJpbiBpJiZpLmFuY2hvciYmbihpLmFuY2hvci5wb3NpdGlvbi5zdGFydCksXCJ0cmFpbGluZ0NvbW1lbnRcImluIG8mJm8udHJhaWxpbmdDb21tZW50JiZyKG8udHJhaWxpbmdDb21tZW50LnBvc2l0aW9uLmVuZCl9fWZ1bmN0aW9uIHlvKHQpe3JldHVybiB0LnN0YXJ0fWZ1bmN0aW9uIEVvKHQsZSl7dC5zdGFydD1lfWZ1bmN0aW9uIFNvKHQpe3JldHVybiB0LmVuZH1mdW5jdGlvbiB3byh0LGUpe3QuZW5kPWV9ZnVuY3Rpb24gYm8odCxlKXtyZXR1cm4gZS5vZmZzZXQ8dC5vZmZzZXR9ZnVuY3Rpb24gTm8odCxlKXtyZXR1cm4gZS5vZmZzZXQ+dC5vZmZzZXR9dmFyIFNpPXJyKHlpKCksMSk7dmFyIEc9cnIoRWkoKSwxKSxZbT1HLmRlZmF1bHQuZmluZFBhaXIsQm09Ry5kZWZhdWx0LnRvSlNPTiwkbT1HLmRlZmF1bHQucGFyc2VNYXAsRm09Ry5kZWZhdWx0LnBhcnNlU2VxLHFtPUcuZGVmYXVsdC5zdHJpbmdpZnlOdW1iZXIsVW09Ry5kZWZhdWx0LnN0cmluZ2lmeVN0cmluZyxLbT1HLmRlZmF1bHQuVHlwZSxVYT1HLmRlZmF1bHQuWUFNTEVycm9yLFZtPUcuZGVmYXVsdC5ZQU1MUmVmZXJlbmNlRXJyb3IsWm49Ry5kZWZhdWx0LllBTUxTZW1hbnRpY0Vycm9yLEthPUcuZGVmYXVsdC5ZQU1MU3ludGF4RXJyb3IsV209Ry5kZWZhdWx0LllBTUxXYXJuaW5nO3ZhcntEb2N1bWVudDp3aSxwYXJzZUNTVDpiaX09U2kuZGVmYXVsdDtmdW5jdGlvbiBOaSh0KXtsZXQgZT1iaSh0KTt2cyhlKTtsZXQgbj1lLm1hcChhPT5uZXcgd2koe21lcmdlOiExLGtlZXBDc3ROb2RlczohMH0pLnBhcnNlKGEpKSxyPW5ldyBScih0KSxzPVtdLGk9e3RleHQ6dCxsb2NhdG9yOnIsY29tbWVudHM6cyx0cmFuc2Zvcm1PZmZzZXQ6YT0+TXMoYSxpKSx0cmFuc2Zvcm1SYW5nZTphPT5rcyhhLGkpLHRyYW5zZm9ybU5vZGU6YT0+THMoYSxpKSx0cmFuc2Zvcm1Db250ZW50OmE9PnZ0KGEsaSl9O2ZvcihsZXQgYSBvZiBuKWZvcihsZXQgYyBvZiBhLmVycm9ycylpZighKGMgaW5zdGFuY2VvZiBabiYmYy5tZXNzYWdlPT09J01hcCBrZXlzIG11c3QgYmUgdW5pcXVlOyBcIjw8XCIgaXMgcmVwZWF0ZWQnKSl0aHJvdyBUcyhjLGkpO24uZm9yRWFjaChhPT5jdChhLmNzdE5vZGUpKTtsZXQgbz0kcihpLnRyYW5zZm9ybVJhbmdlKHtvcmlnU3RhcnQ6MCxvcmlnRW5kOmkudGV4dC5sZW5ndGh9KSxuLm1hcChpLnRyYW5zZm9ybU5vZGUpLHMpO3JldHVybiBEcihvKSxMbihvKSxObihvKSxvfWZ1bmN0aW9uIFdhKHQsZSl7bGV0IG49bmV3IFN5bnRheEVycm9yKHQrXCIgKFwiK2UubG9jLnN0YXJ0LmxpbmUrXCI6XCIrZS5sb2Muc3RhcnQuY29sdW1uK1wiKVwiKTtyZXR1cm4gT2JqZWN0LmFzc2lnbihuLGUpfXZhciBPaT1XYTtmdW5jdGlvbiBqYSh0KXt0cnl7bGV0IGU9TmkodCk7cmV0dXJuIGRlbGV0ZSBlLmNvbW1lbnRzLGV9Y2F0Y2goZSl7dGhyb3cgZSE9bnVsbCYmZS5wb3NpdGlvbj9PaShlLm1lc3NhZ2Use2xvYzplLnBvc2l0aW9uLGNhdXNlOmV9KTplfX12YXIgUWE9e2FzdEZvcm1hdDpcInlhbWxcIixwYXJzZTpqYSxoYXNQcmFnbWE6RXIsbG9jU3RhcnQ6dmUsbG9jRW5kOmRyfTt2YXIgSmE9e3lhbWw6SXJ9O3ZhciB5aD10cjtleHBvcnR7eWggYXMgZGVmYXVsdCxQciBhcyBsYW5ndWFnZXMsX3IgYXMgb3B0aW9ucyxlciBhcyBwYXJzZXJzLEphIGFzIHByaW50ZXJzfTtcbiIsICJpbXBvcnQgeyBjcmVhdGVSZXF1aXJlIGFzIF9fcHJldHRpZXJDcmVhdGVSZXF1aXJlIH0gZnJvbSBcIm1vZHVsZVwiO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCBhcyBfX3ByZXR0aWVyRmlsZVVybFRvUGF0aCB9IGZyb20gXCJ1cmxcIjtcbmltcG9ydCB7IGRpcm5hbWUgYXMgX19wcmV0dGllckRpcm5hbWUgfSBmcm9tIFwicGF0aFwiO1xuY29uc3QgcmVxdWlyZSA9IF9fcHJldHRpZXJDcmVhdGVSZXF1aXJlKGltcG9ydC5tZXRhLnVybCk7XG5jb25zdCBfX2ZpbGVuYW1lID0gX19wcmV0dGllckZpbGVVcmxUb1BhdGgoaW1wb3J0Lm1ldGEudXJsKTtcbmNvbnN0IF9fZGlybmFtZSA9IF9fcHJldHRpZXJEaXJuYW1lKF9fZmlsZW5hbWUpO1xuXG52YXIgX19jcmVhdGUgPSBPYmplY3QuY3JlYXRlO1xudmFyIF9fZGVmUHJvcCA9IE9iamVjdC5kZWZpbmVQcm9wZXJ0eTtcbnZhciBfX2dldE93blByb3BEZXNjID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcjtcbnZhciBfX2dldE93blByb3BOYW1lcyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzO1xudmFyIF9fZ2V0UHJvdG9PZiA9IE9iamVjdC5nZXRQcm90b3R5cGVPZjtcbnZhciBfX2hhc093blByb3AgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIF9fdHlwZUVycm9yID0gKG1zZykgPT4ge1xuICB0aHJvdyBUeXBlRXJyb3IobXNnKTtcbn07XG52YXIgX19kZWZOb3JtYWxQcm9wID0gKG9iaiwga2V5MiwgdmFsdWUpID0+IGtleTIgaW4gb2JqID8gX19kZWZQcm9wKG9iaiwga2V5MiwgeyBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlLCB2YWx1ZSB9KSA6IG9ialtrZXkyXSA9IHZhbHVlO1xudmFyIF9fcmVxdWlyZSA9IC8qIEBfX1BVUkVfXyAqLyAoKHgpID0+IHR5cGVvZiByZXF1aXJlICE9PSBcInVuZGVmaW5lZFwiID8gcmVxdWlyZSA6IHR5cGVvZiBQcm94eSAhPT0gXCJ1bmRlZmluZWRcIiA/IG5ldyBQcm94eSh4LCB7XG4gIGdldDogKGEsIGIpID0+ICh0eXBlb2YgcmVxdWlyZSAhPT0gXCJ1bmRlZmluZWRcIiA/IHJlcXVpcmUgOiBhKVtiXVxufSkgOiB4KShmdW5jdGlvbih4KSB7XG4gIGlmICh0eXBlb2YgcmVxdWlyZSAhPT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuIHJlcXVpcmUuYXBwbHkodGhpcywgYXJndW1lbnRzKTtcbiAgdGhyb3cgRXJyb3IoJ0R5bmFtaWMgcmVxdWlyZSBvZiBcIicgKyB4ICsgJ1wiIGlzIG5vdCBzdXBwb3J0ZWQnKTtcbn0pO1xudmFyIF9fY29tbW9uSlMgPSAoY2IsIG1vZCkgPT4gZnVuY3Rpb24gX19yZXF1aXJlMigpIHtcbiAgcmV0dXJuIG1vZCB8fCAoMCwgY2JbX19nZXRPd25Qcm9wTmFtZXMoY2IpWzBdXSkoKG1vZCA9IHsgZXhwb3J0czoge30gfSkuZXhwb3J0cywgbW9kKSwgbW9kLmV4cG9ydHM7XG59O1xudmFyIF9fZXhwb3J0ID0gKHRhcmdldCwgYWxsKSA9PiB7XG4gIGZvciAodmFyIG5hbWUgaW4gYWxsKVxuICAgIF9fZGVmUHJvcCh0YXJnZXQsIG5hbWUsIHsgZ2V0OiBhbGxbbmFtZV0sIGVudW1lcmFibGU6IHRydWUgfSk7XG59O1xudmFyIF9fY29weVByb3BzID0gKHRvLCBmcm9tLCBleGNlcHQsIGRlc2MpID0+IHtcbiAgaWYgKGZyb20gJiYgdHlwZW9mIGZyb20gPT09IFwib2JqZWN0XCIgfHwgdHlwZW9mIGZyb20gPT09IFwiZnVuY3Rpb25cIikge1xuICAgIGZvciAobGV0IGtleTIgb2YgX19nZXRPd25Qcm9wTmFtZXMoZnJvbSkpXG4gICAgICBpZiAoIV9faGFzT3duUHJvcC5jYWxsKHRvLCBrZXkyKSAmJiBrZXkyICE9PSBleGNlcHQpXG4gICAgICAgIF9fZGVmUHJvcCh0bywga2V5MiwgeyBnZXQ6ICgpID0+IGZyb21ba2V5Ml0sIGVudW1lcmFibGU6ICEoZGVzYyA9IF9fZ2V0T3duUHJvcERlc2MoZnJvbSwga2V5MikpIHx8IGRlc2MuZW51bWVyYWJsZSB9KTtcbiAgfVxuICByZXR1cm4gdG87XG59O1xudmFyIF9fdG9FU00gPSAobW9kLCBpc05vZGVNb2RlLCB0YXJnZXQpID0+ICh0YXJnZXQgPSBtb2QgIT0gbnVsbCA/IF9fY3JlYXRlKF9fZ2V0UHJvdG9PZihtb2QpKSA6IHt9LCBfX2NvcHlQcm9wcyhcbiAgLy8gSWYgdGhlIGltcG9ydGVyIGlzIGluIG5vZGUgY29tcGF0aWJpbGl0eSBtb2RlIG9yIHRoaXMgaXMgbm90IGFuIEVTTVxuICAvLyBmaWxlIHRoYXQgaGFzIGJlZW4gY29udmVydGVkIHRvIGEgQ29tbW9uSlMgZmlsZSB1c2luZyBhIEJhYmVsLVxuICAvLyBjb21wYXRpYmxlIHRyYW5zZm9ybSAoaS5lLiBcIl9fZXNNb2R1bGVcIiBoYXMgbm90IGJlZW4gc2V0KSwgdGhlbiBzZXRcbiAgLy8gXCJkZWZhdWx0XCIgdG8gdGhlIENvbW1vbkpTIFwibW9kdWxlLmV4cG9ydHNcIiBmb3Igbm9kZSBjb21wYXRpYmlsaXR5LlxuICBpc05vZGVNb2RlIHx8ICFtb2QgfHwgIW1vZC5fX2VzTW9kdWxlID8gX19kZWZQcm9wKHRhcmdldCwgXCJkZWZhdWx0XCIsIHsgdmFsdWU6IG1vZCwgZW51bWVyYWJsZTogdHJ1ZSB9KSA6IHRhcmdldCxcbiAgbW9kXG4pKTtcbnZhciBfX3B1YmxpY0ZpZWxkID0gKG9iaiwga2V5MiwgdmFsdWUpID0+IF9fZGVmTm9ybWFsUHJvcChvYmosIHR5cGVvZiBrZXkyICE9PSBcInN5bWJvbFwiID8ga2V5MiArIFwiXCIgOiBrZXkyLCB2YWx1ZSk7XG52YXIgX19hY2Nlc3NDaGVjayA9IChvYmosIG1lbWJlciwgbXNnKSA9PiBtZW1iZXIuaGFzKG9iaikgfHwgX190eXBlRXJyb3IoXCJDYW5ub3QgXCIgKyBtc2cpO1xudmFyIF9fcHJpdmF0ZUdldCA9IChvYmosIG1lbWJlciwgZ2V0dGVyKSA9PiAoX19hY2Nlc3NDaGVjayhvYmosIG1lbWJlciwgXCJyZWFkIGZyb20gcHJpdmF0ZSBmaWVsZFwiKSwgZ2V0dGVyID8gZ2V0dGVyLmNhbGwob2JqKSA6IG1lbWJlci5nZXQob2JqKSk7XG52YXIgX19wcml2YXRlQWRkID0gKG9iaiwgbWVtYmVyLCB2YWx1ZSkgPT4gbWVtYmVyLmhhcyhvYmopID8gX190eXBlRXJyb3IoXCJDYW5ub3QgYWRkIHRoZSBzYW1lIHByaXZhdGUgbWVtYmVyIG1vcmUgdGhhbiBvbmNlXCIpIDogbWVtYmVyIGluc3RhbmNlb2YgV2Vha1NldCA/IG1lbWJlci5hZGQob2JqKSA6IG1lbWJlci5zZXQob2JqLCB2YWx1ZSk7XG52YXIgX19wcml2YXRlU2V0ID0gKG9iaiwgbWVtYmVyLCB2YWx1ZSwgc2V0dGVyKSA9PiAoX19hY2Nlc3NDaGVjayhvYmosIG1lbWJlciwgXCJ3cml0ZSB0byBwcml2YXRlIGZpZWxkXCIpLCBzZXR0ZXIgPyBzZXR0ZXIuY2FsbChvYmosIHZhbHVlKSA6IG1lbWJlci5zZXQob2JqLCB2YWx1ZSksIHZhbHVlKTtcbnZhciBfX3ByaXZhdGVNZXRob2QgPSAob2JqLCBtZW1iZXIsIG1ldGhvZCkgPT4gKF9fYWNjZXNzQ2hlY2sob2JqLCBtZW1iZXIsIFwiYWNjZXNzIHByaXZhdGUgbWV0aG9kXCIpLCBtZXRob2QpO1xuXG4vLyBub2RlX21vZHVsZXMvZmFzdC1nbG9iL291dC91dGlscy9hcnJheS5qc1xudmFyIHJlcXVpcmVfYXJyYXkgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZmFzdC1nbG9iL291dC91dGlscy9hcnJheS5qc1wiKGV4cG9ydHMpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgZXhwb3J0cy5zcGxpdFdoZW4gPSBleHBvcnRzLmZsYXR0ZW4gPSB2b2lkIDA7XG4gICAgZnVuY3Rpb24gZmxhdHRlbihpdGVtcykge1xuICAgICAgcmV0dXJuIGl0ZW1zLnJlZHVjZSgoY29sbGVjdGlvbiwgaXRlbSkgPT4gW10uY29uY2F0KGNvbGxlY3Rpb24sIGl0ZW0pLCBbXSk7XG4gICAgfVxuICAgIGV4cG9ydHMuZmxhdHRlbiA9IGZsYXR0ZW47XG4gICAgZnVuY3Rpb24gc3BsaXRXaGVuKGl0ZW1zLCBwcmVkaWNhdGUpIHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFtbXV07XG4gICAgICBsZXQgZ3JvdXBJbmRleCA9IDA7XG4gICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgICAgaWYgKHByZWRpY2F0ZShpdGVtKSkge1xuICAgICAgICAgIGdyb3VwSW5kZXgrKztcbiAgICAgICAgICByZXN1bHRbZ3JvdXBJbmRleF0gPSBbXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN1bHRbZ3JvdXBJbmRleF0ucHVzaChpdGVtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgZXhwb3J0cy5zcGxpdFdoZW4gPSBzcGxpdFdoZW47XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZmFzdC1nbG9iL291dC91dGlscy9lcnJuby5qc1xudmFyIHJlcXVpcmVfZXJybm8gPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZmFzdC1nbG9iL291dC91dGlscy9lcnJuby5qc1wiKGV4cG9ydHMpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgZXhwb3J0cy5pc0Vub2VudENvZGVFcnJvciA9IHZvaWQgMDtcbiAgICBmdW5jdGlvbiBpc0Vub2VudENvZGVFcnJvcihlcnJvcikge1xuICAgICAgcmV0dXJuIGVycm9yLmNvZGUgPT09IFwiRU5PRU5UXCI7XG4gICAgfVxuICAgIGV4cG9ydHMuaXNFbm9lbnRDb2RlRXJyb3IgPSBpc0Vub2VudENvZGVFcnJvcjtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3V0aWxzL2ZzLmpzXG52YXIgcmVxdWlyZV9mcyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3V0aWxzL2ZzLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICBleHBvcnRzLmNyZWF0ZURpcmVudEZyb21TdGF0cyA9IHZvaWQgMDtcbiAgICB2YXIgRGlyZW50RnJvbVN0YXRzID0gY2xhc3Mge1xuICAgICAgY29uc3RydWN0b3IobmFtZSwgc3RhdHMpIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy5pc0Jsb2NrRGV2aWNlID0gc3RhdHMuaXNCbG9ja0RldmljZS5iaW5kKHN0YXRzKTtcbiAgICAgICAgdGhpcy5pc0NoYXJhY3RlckRldmljZSA9IHN0YXRzLmlzQ2hhcmFjdGVyRGV2aWNlLmJpbmQoc3RhdHMpO1xuICAgICAgICB0aGlzLmlzRGlyZWN0b3J5ID0gc3RhdHMuaXNEaXJlY3RvcnkuYmluZChzdGF0cyk7XG4gICAgICAgIHRoaXMuaXNGSUZPID0gc3RhdHMuaXNGSUZPLmJpbmQoc3RhdHMpO1xuICAgICAgICB0aGlzLmlzRmlsZSA9IHN0YXRzLmlzRmlsZS5iaW5kKHN0YXRzKTtcbiAgICAgICAgdGhpcy5pc1NvY2tldCA9IHN0YXRzLmlzU29ja2V0LmJpbmQoc3RhdHMpO1xuICAgICAgICB0aGlzLmlzU3ltYm9saWNMaW5rID0gc3RhdHMuaXNTeW1ib2xpY0xpbmsuYmluZChzdGF0cyk7XG4gICAgICB9XG4gICAgfTtcbiAgICBmdW5jdGlvbiBjcmVhdGVEaXJlbnRGcm9tU3RhdHMobmFtZSwgc3RhdHMpIHtcbiAgICAgIHJldHVybiBuZXcgRGlyZW50RnJvbVN0YXRzKG5hbWUsIHN0YXRzKTtcbiAgICB9XG4gICAgZXhwb3J0cy5jcmVhdGVEaXJlbnRGcm9tU3RhdHMgPSBjcmVhdGVEaXJlbnRGcm9tU3RhdHM7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZmFzdC1nbG9iL291dC91dGlscy9wYXRoLmpzXG52YXIgcmVxdWlyZV9wYXRoID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2Zhc3QtZ2xvYi9vdXQvdXRpbHMvcGF0aC5qc1wiKGV4cG9ydHMpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgZXhwb3J0cy5jb252ZXJ0UG9zaXhQYXRoVG9QYXR0ZXJuID0gZXhwb3J0cy5jb252ZXJ0V2luZG93c1BhdGhUb1BhdHRlcm4gPSBleHBvcnRzLmNvbnZlcnRQYXRoVG9QYXR0ZXJuID0gZXhwb3J0cy5lc2NhcGVQb3NpeFBhdGggPSBleHBvcnRzLmVzY2FwZVdpbmRvd3NQYXRoID0gZXhwb3J0cy5lc2NhcGUgPSBleHBvcnRzLnJlbW92ZUxlYWRpbmdEb3RTZWdtZW50ID0gZXhwb3J0cy5tYWtlQWJzb2x1dGUgPSBleHBvcnRzLnVuaXhpZnkgPSB2b2lkIDA7XG4gICAgdmFyIG9zMiA9IF9fcmVxdWlyZShcIm9zXCIpO1xuICAgIHZhciBwYXRoMTMgPSBfX3JlcXVpcmUoXCJwYXRoXCIpO1xuICAgIHZhciBJU19XSU5ET1dTX1BMQVRGT1JNID0gb3MyLnBsYXRmb3JtKCkgPT09IFwid2luMzJcIjtcbiAgICB2YXIgTEVBRElOR19ET1RfU0VHTUVOVF9DSEFSQUNURVJTX0NPVU5UID0gMjtcbiAgICB2YXIgUE9TSVhfVU5FU0NBUEVEX0dMT0JfU1lNQk9MU19SRSA9IC8oXFxcXD8pKFsoKSo/W1xcXXt8fV18XiF8WyErQF0oPz1cXCgpfFxcXFwoPyFbISgpKis/QFtcXF17fH1dKSkvZztcbiAgICB2YXIgV0lORE9XU19VTkVTQ0FQRURfR0xPQl9TWU1CT0xTX1JFID0gLyhcXFxcPykoWygpW1xcXXt9XXxeIXxbIStAXSg/PVxcKCkpL2c7XG4gICAgdmFyIERPU19ERVZJQ0VfUEFUSF9SRSA9IC9eXFxcXFxcXFwoWy4/XSkvO1xuICAgIHZhciBXSU5ET1dTX0JBQ0tTTEFTSEVTX1JFID0gL1xcXFwoPyFbISgpK0BbXFxde31dKS9nO1xuICAgIGZ1bmN0aW9uIHVuaXhpZnkoZmlsZXBhdGgpIHtcbiAgICAgIHJldHVybiBmaWxlcGF0aC5yZXBsYWNlKC9cXFxcL2csIFwiL1wiKTtcbiAgICB9XG4gICAgZXhwb3J0cy51bml4aWZ5ID0gdW5peGlmeTtcbiAgICBmdW5jdGlvbiBtYWtlQWJzb2x1dGUoY3dkLCBmaWxlcGF0aCkge1xuICAgICAgcmV0dXJuIHBhdGgxMy5yZXNvbHZlKGN3ZCwgZmlsZXBhdGgpO1xuICAgIH1cbiAgICBleHBvcnRzLm1ha2VBYnNvbHV0ZSA9IG1ha2VBYnNvbHV0ZTtcbiAgICBmdW5jdGlvbiByZW1vdmVMZWFkaW5nRG90U2VnbWVudChlbnRyeSkge1xuICAgICAgaWYgKGVudHJ5LmNoYXJBdCgwKSA9PT0gXCIuXCIpIHtcbiAgICAgICAgY29uc3Qgc2Vjb25kQ2hhcmFjdGVyeSA9IGVudHJ5LmNoYXJBdCgxKTtcbiAgICAgICAgaWYgKHNlY29uZENoYXJhY3RlcnkgPT09IFwiL1wiIHx8IHNlY29uZENoYXJhY3RlcnkgPT09IFwiXFxcXFwiKSB7XG4gICAgICAgICAgcmV0dXJuIGVudHJ5LnNsaWNlKExFQURJTkdfRE9UX1NFR01FTlRfQ0hBUkFDVEVSU19DT1VOVCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBlbnRyeTtcbiAgICB9XG4gICAgZXhwb3J0cy5yZW1vdmVMZWFkaW5nRG90U2VnbWVudCA9IHJlbW92ZUxlYWRpbmdEb3RTZWdtZW50O1xuICAgIGV4cG9ydHMuZXNjYXBlID0gSVNfV0lORE9XU19QTEFURk9STSA/IGVzY2FwZVdpbmRvd3NQYXRoIDogZXNjYXBlUG9zaXhQYXRoO1xuICAgIGZ1bmN0aW9uIGVzY2FwZVdpbmRvd3NQYXRoKHBhdHRlcm4pIHtcbiAgICAgIHJldHVybiBwYXR0ZXJuLnJlcGxhY2UoV0lORE9XU19VTkVTQ0FQRURfR0xPQl9TWU1CT0xTX1JFLCBcIlxcXFwkMlwiKTtcbiAgICB9XG4gICAgZXhwb3J0cy5lc2NhcGVXaW5kb3dzUGF0aCA9IGVzY2FwZVdpbmRvd3NQYXRoO1xuICAgIGZ1bmN0aW9uIGVzY2FwZVBvc2l4UGF0aChwYXR0ZXJuKSB7XG4gICAgICByZXR1cm4gcGF0dGVybi5yZXBsYWNlKFBPU0lYX1VORVNDQVBFRF9HTE9CX1NZTUJPTFNfUkUsIFwiXFxcXCQyXCIpO1xuICAgIH1cbiAgICBleHBvcnRzLmVzY2FwZVBvc2l4UGF0aCA9IGVzY2FwZVBvc2l4UGF0aDtcbiAgICBleHBvcnRzLmNvbnZlcnRQYXRoVG9QYXR0ZXJuID0gSVNfV0lORE9XU19QTEFURk9STSA/IGNvbnZlcnRXaW5kb3dzUGF0aFRvUGF0dGVybiA6IGNvbnZlcnRQb3NpeFBhdGhUb1BhdHRlcm47XG4gICAgZnVuY3Rpb24gY29udmVydFdpbmRvd3NQYXRoVG9QYXR0ZXJuKGZpbGVwYXRoKSB7XG4gICAgICByZXR1cm4gZXNjYXBlV2luZG93c1BhdGgoZmlsZXBhdGgpLnJlcGxhY2UoRE9TX0RFVklDRV9QQVRIX1JFLCBcIi8vJDFcIikucmVwbGFjZShXSU5ET1dTX0JBQ0tTTEFTSEVTX1JFLCBcIi9cIik7XG4gICAgfVxuICAgIGV4cG9ydHMuY29udmVydFdpbmRvd3NQYXRoVG9QYXR0ZXJuID0gY29udmVydFdpbmRvd3NQYXRoVG9QYXR0ZXJuO1xuICAgIGZ1bmN0aW9uIGNvbnZlcnRQb3NpeFBhdGhUb1BhdHRlcm4oZmlsZXBhdGgpIHtcbiAgICAgIHJldHVybiBlc2NhcGVQb3NpeFBhdGgoZmlsZXBhdGgpO1xuICAgIH1cbiAgICBleHBvcnRzLmNvbnZlcnRQb3NpeFBhdGhUb1BhdHRlcm4gPSBjb252ZXJ0UG9zaXhQYXRoVG9QYXR0ZXJuO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2lzLWV4dGdsb2IvaW5kZXguanNcbnZhciByZXF1aXJlX2lzX2V4dGdsb2IgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvaXMtZXh0Z2xvYi9pbmRleC5qc1wiKGV4cG9ydHMsIG1vZHVsZSkge1xuICAgIG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaXNFeHRnbG9iKHN0cjIpIHtcbiAgICAgIGlmICh0eXBlb2Ygc3RyMiAhPT0gXCJzdHJpbmdcIiB8fCBzdHIyID09PSBcIlwiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHZhciBtYXRjaDtcbiAgICAgIHdoaWxlIChtYXRjaCA9IC8oXFxcXCkufChbQD8hKypdXFwoLipcXCkpL2cuZXhlYyhzdHIyKSkge1xuICAgICAgICBpZiAobWF0Y2hbMl0pIHJldHVybiB0cnVlO1xuICAgICAgICBzdHIyID0gc3RyMi5zbGljZShtYXRjaC5pbmRleCArIG1hdGNoWzBdLmxlbmd0aCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9pcy1nbG9iL2luZGV4LmpzXG52YXIgcmVxdWlyZV9pc19nbG9iID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2lzLWdsb2IvaW5kZXguanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICB2YXIgaXNFeHRnbG9iID0gcmVxdWlyZV9pc19leHRnbG9iKCk7XG4gICAgdmFyIGNoYXJzID0geyBcIntcIjogXCJ9XCIsIFwiKFwiOiBcIilcIiwgXCJbXCI6IFwiXVwiIH07XG4gICAgdmFyIHN0cmljdENoZWNrID0gZnVuY3Rpb24oc3RyMikge1xuICAgICAgaWYgKHN0cjJbMF0gPT09IFwiIVwiKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgdmFyIGluZGV4ID0gMDtcbiAgICAgIHZhciBwaXBlSW5kZXggPSAtMjtcbiAgICAgIHZhciBjbG9zZVNxdWFyZUluZGV4ID0gLTI7XG4gICAgICB2YXIgY2xvc2VDdXJseUluZGV4ID0gLTI7XG4gICAgICB2YXIgY2xvc2VQYXJlbkluZGV4ID0gLTI7XG4gICAgICB2YXIgYmFja1NsYXNoSW5kZXggPSAtMjtcbiAgICAgIHdoaWxlIChpbmRleCA8IHN0cjIubGVuZ3RoKSB7XG4gICAgICAgIGlmIChzdHIyW2luZGV4XSA9PT0gXCIqXCIpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RyMltpbmRleCArIDFdID09PSBcIj9cIiAmJiAvW1xcXS4rKV0vLnRlc3Qoc3RyMltpbmRleF0pKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNsb3NlU3F1YXJlSW5kZXggIT09IC0xICYmIHN0cjJbaW5kZXhdID09PSBcIltcIiAmJiBzdHIyW2luZGV4ICsgMV0gIT09IFwiXVwiKSB7XG4gICAgICAgICAgaWYgKGNsb3NlU3F1YXJlSW5kZXggPCBpbmRleCkge1xuICAgICAgICAgICAgY2xvc2VTcXVhcmVJbmRleCA9IHN0cjIuaW5kZXhPZihcIl1cIiwgaW5kZXgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY2xvc2VTcXVhcmVJbmRleCA+IGluZGV4KSB7XG4gICAgICAgICAgICBpZiAoYmFja1NsYXNoSW5kZXggPT09IC0xIHx8IGJhY2tTbGFzaEluZGV4ID4gY2xvc2VTcXVhcmVJbmRleCkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJhY2tTbGFzaEluZGV4ID0gc3RyMi5pbmRleE9mKFwiXFxcXFwiLCBpbmRleCk7XG4gICAgICAgICAgICBpZiAoYmFja1NsYXNoSW5kZXggPT09IC0xIHx8IGJhY2tTbGFzaEluZGV4ID4gY2xvc2VTcXVhcmVJbmRleCkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGNsb3NlQ3VybHlJbmRleCAhPT0gLTEgJiYgc3RyMltpbmRleF0gPT09IFwie1wiICYmIHN0cjJbaW5kZXggKyAxXSAhPT0gXCJ9XCIpIHtcbiAgICAgICAgICBjbG9zZUN1cmx5SW5kZXggPSBzdHIyLmluZGV4T2YoXCJ9XCIsIGluZGV4KTtcbiAgICAgICAgICBpZiAoY2xvc2VDdXJseUluZGV4ID4gaW5kZXgpIHtcbiAgICAgICAgICAgIGJhY2tTbGFzaEluZGV4ID0gc3RyMi5pbmRleE9mKFwiXFxcXFwiLCBpbmRleCk7XG4gICAgICAgICAgICBpZiAoYmFja1NsYXNoSW5kZXggPT09IC0xIHx8IGJhY2tTbGFzaEluZGV4ID4gY2xvc2VDdXJseUluZGV4KSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoY2xvc2VQYXJlbkluZGV4ICE9PSAtMSAmJiBzdHIyW2luZGV4XSA9PT0gXCIoXCIgJiYgc3RyMltpbmRleCArIDFdID09PSBcIj9cIiAmJiAvWzohPV0vLnRlc3Qoc3RyMltpbmRleCArIDJdKSAmJiBzdHIyW2luZGV4ICsgM10gIT09IFwiKVwiKSB7XG4gICAgICAgICAgY2xvc2VQYXJlbkluZGV4ID0gc3RyMi5pbmRleE9mKFwiKVwiLCBpbmRleCk7XG4gICAgICAgICAgaWYgKGNsb3NlUGFyZW5JbmRleCA+IGluZGV4KSB7XG4gICAgICAgICAgICBiYWNrU2xhc2hJbmRleCA9IHN0cjIuaW5kZXhPZihcIlxcXFxcIiwgaW5kZXgpO1xuICAgICAgICAgICAgaWYgKGJhY2tTbGFzaEluZGV4ID09PSAtMSB8fCBiYWNrU2xhc2hJbmRleCA+IGNsb3NlUGFyZW5JbmRleCkge1xuICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBpcGVJbmRleCAhPT0gLTEgJiYgc3RyMltpbmRleF0gPT09IFwiKFwiICYmIHN0cjJbaW5kZXggKyAxXSAhPT0gXCJ8XCIpIHtcbiAgICAgICAgICBpZiAocGlwZUluZGV4IDwgaW5kZXgpIHtcbiAgICAgICAgICAgIHBpcGVJbmRleCA9IHN0cjIuaW5kZXhPZihcInxcIiwgaW5kZXgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocGlwZUluZGV4ICE9PSAtMSAmJiBzdHIyW3BpcGVJbmRleCArIDFdICE9PSBcIilcIikge1xuICAgICAgICAgICAgY2xvc2VQYXJlbkluZGV4ID0gc3RyMi5pbmRleE9mKFwiKVwiLCBwaXBlSW5kZXgpO1xuICAgICAgICAgICAgaWYgKGNsb3NlUGFyZW5JbmRleCA+IHBpcGVJbmRleCkge1xuICAgICAgICAgICAgICBiYWNrU2xhc2hJbmRleCA9IHN0cjIuaW5kZXhPZihcIlxcXFxcIiwgcGlwZUluZGV4KTtcbiAgICAgICAgICAgICAgaWYgKGJhY2tTbGFzaEluZGV4ID09PSAtMSB8fCBiYWNrU2xhc2hJbmRleCA+IGNsb3NlUGFyZW5JbmRleCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChzdHIyW2luZGV4XSA9PT0gXCJcXFxcXCIpIHtcbiAgICAgICAgICB2YXIgb3BlbiA9IHN0cjJbaW5kZXggKyAxXTtcbiAgICAgICAgICBpbmRleCArPSAyO1xuICAgICAgICAgIHZhciBjbG9zZSA9IGNoYXJzW29wZW5dO1xuICAgICAgICAgIGlmIChjbG9zZSkge1xuICAgICAgICAgICAgdmFyIG4gPSBzdHIyLmluZGV4T2YoY2xvc2UsIGluZGV4KTtcbiAgICAgICAgICAgIGlmIChuICE9PSAtMSkge1xuICAgICAgICAgICAgICBpbmRleCA9IG4gKyAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc3RyMltpbmRleF0gPT09IFwiIVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaW5kZXgrKztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG4gICAgdmFyIHJlbGF4ZWRDaGVjayA9IGZ1bmN0aW9uKHN0cjIpIHtcbiAgICAgIGlmIChzdHIyWzBdID09PSBcIiFcIikge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHZhciBpbmRleCA9IDA7XG4gICAgICB3aGlsZSAoaW5kZXggPCBzdHIyLmxlbmd0aCkge1xuICAgICAgICBpZiAoL1sqP3t9KClbXFxdXS8udGVzdChzdHIyW2luZGV4XSkpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RyMltpbmRleF0gPT09IFwiXFxcXFwiKSB7XG4gICAgICAgICAgdmFyIG9wZW4gPSBzdHIyW2luZGV4ICsgMV07XG4gICAgICAgICAgaW5kZXggKz0gMjtcbiAgICAgICAgICB2YXIgY2xvc2UgPSBjaGFyc1tvcGVuXTtcbiAgICAgICAgICBpZiAoY2xvc2UpIHtcbiAgICAgICAgICAgIHZhciBuID0gc3RyMi5pbmRleE9mKGNsb3NlLCBpbmRleCk7XG4gICAgICAgICAgICBpZiAobiAhPT0gLTEpIHtcbiAgICAgICAgICAgICAgaW5kZXggPSBuICsgMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHN0cjJbaW5kZXhdID09PSBcIiFcIikge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGluZGV4Kys7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuICAgIG1vZHVsZS5leHBvcnRzID0gZnVuY3Rpb24gaXNHbG9iKHN0cjIsIG9wdGlvbnM4KSB7XG4gICAgICBpZiAodHlwZW9mIHN0cjIgIT09IFwic3RyaW5nXCIgfHwgc3RyMiA9PT0gXCJcIikge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBpZiAoaXNFeHRnbG9iKHN0cjIpKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgdmFyIGNoZWNrMiA9IHN0cmljdENoZWNrO1xuICAgICAgaWYgKG9wdGlvbnM4ICYmIG9wdGlvbnM4LnN0cmljdCA9PT0gZmFsc2UpIHtcbiAgICAgICAgY2hlY2syID0gcmVsYXhlZENoZWNrO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGNoZWNrMihzdHIyKTtcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2dsb2ItcGFyZW50L2luZGV4LmpzXG52YXIgcmVxdWlyZV9nbG9iX3BhcmVudCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9nbG9iLXBhcmVudC9pbmRleC5qc1wiKGV4cG9ydHMsIG1vZHVsZSkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBpc0dsb2IgPSByZXF1aXJlX2lzX2dsb2IoKTtcbiAgICB2YXIgcGF0aFBvc2l4RGlybmFtZSA9IF9fcmVxdWlyZShcInBhdGhcIikucG9zaXguZGlybmFtZTtcbiAgICB2YXIgaXNXaW4zMiA9IF9fcmVxdWlyZShcIm9zXCIpLnBsYXRmb3JtKCkgPT09IFwid2luMzJcIjtcbiAgICB2YXIgc2xhc2gyID0gXCIvXCI7XG4gICAgdmFyIGJhY2tzbGFzaCA9IC9cXFxcL2c7XG4gICAgdmFyIGVuY2xvc3VyZSA9IC9bXFx7XFxbXS4qW1xcfVxcXV0kLztcbiAgICB2YXIgZ2xvYmJ5ID0gLyhefFteXFxcXF0pKFtcXHtcXFtdfFxcKFteXFwpXSskKS87XG4gICAgdmFyIGVzY2FwZWQgPSAvXFxcXChbXFwhXFwqXFw/XFx8XFxbXFxdXFwoXFwpXFx7XFx9XSkvZztcbiAgICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uIGdsb2JQYXJlbnQoc3RyMiwgb3B0cykge1xuICAgICAgdmFyIG9wdGlvbnM4ID0gT2JqZWN0LmFzc2lnbih7IGZsaXBCYWNrc2xhc2hlczogdHJ1ZSB9LCBvcHRzKTtcbiAgICAgIGlmIChvcHRpb25zOC5mbGlwQmFja3NsYXNoZXMgJiYgaXNXaW4zMiAmJiBzdHIyLmluZGV4T2Yoc2xhc2gyKSA8IDApIHtcbiAgICAgICAgc3RyMiA9IHN0cjIucmVwbGFjZShiYWNrc2xhc2gsIHNsYXNoMik7XG4gICAgICB9XG4gICAgICBpZiAoZW5jbG9zdXJlLnRlc3Qoc3RyMikpIHtcbiAgICAgICAgc3RyMiArPSBzbGFzaDI7XG4gICAgICB9XG4gICAgICBzdHIyICs9IFwiYVwiO1xuICAgICAgZG8ge1xuICAgICAgICBzdHIyID0gcGF0aFBvc2l4RGlybmFtZShzdHIyKTtcbiAgICAgIH0gd2hpbGUgKGlzR2xvYihzdHIyKSB8fCBnbG9iYnkudGVzdChzdHIyKSk7XG4gICAgICByZXR1cm4gc3RyMi5yZXBsYWNlKGVzY2FwZWQsIFwiJDFcIik7XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9icmFjZXMvbGliL3V0aWxzLmpzXG52YXIgcmVxdWlyZV91dGlscyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9icmFjZXMvbGliL3V0aWxzLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIGV4cG9ydHMuaXNJbnRlZ2VyID0gKG51bSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBudW0gPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgcmV0dXJuIE51bWJlci5pc0ludGVnZXIobnVtKTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgbnVtID09PSBcInN0cmluZ1wiICYmIG51bS50cmltKCkgIT09IFwiXCIpIHtcbiAgICAgICAgcmV0dXJuIE51bWJlci5pc0ludGVnZXIoTnVtYmVyKG51bSkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG4gICAgZXhwb3J0cy5maW5kID0gKG5vZGUsIHR5cGUyKSA9PiBub2RlLm5vZGVzLmZpbmQoKG5vZGUyKSA9PiBub2RlMi50eXBlID09PSB0eXBlMik7XG4gICAgZXhwb3J0cy5leGNlZWRzTGltaXQgPSAobWluLCBtYXgsIHN0ZXAgPSAxLCBsaW1pdCkgPT4ge1xuICAgICAgaWYgKGxpbWl0ID09PSBmYWxzZSkgcmV0dXJuIGZhbHNlO1xuICAgICAgaWYgKCFleHBvcnRzLmlzSW50ZWdlcihtaW4pIHx8ICFleHBvcnRzLmlzSW50ZWdlcihtYXgpKSByZXR1cm4gZmFsc2U7XG4gICAgICByZXR1cm4gKE51bWJlcihtYXgpIC0gTnVtYmVyKG1pbikpIC8gTnVtYmVyKHN0ZXApID49IGxpbWl0O1xuICAgIH07XG4gICAgZXhwb3J0cy5lc2NhcGVOb2RlID0gKGJsb2NrLCBuID0gMCwgdHlwZTIpID0+IHtcbiAgICAgIGNvbnN0IG5vZGUgPSBibG9jay5ub2Rlc1tuXTtcbiAgICAgIGlmICghbm9kZSkgcmV0dXJuO1xuICAgICAgaWYgKHR5cGUyICYmIG5vZGUudHlwZSA9PT0gdHlwZTIgfHwgbm9kZS50eXBlID09PSBcIm9wZW5cIiB8fCBub2RlLnR5cGUgPT09IFwiY2xvc2VcIikge1xuICAgICAgICBpZiAobm9kZS5lc2NhcGVkICE9PSB0cnVlKSB7XG4gICAgICAgICAgbm9kZS52YWx1ZSA9IFwiXFxcXFwiICsgbm9kZS52YWx1ZTtcbiAgICAgICAgICBub2RlLmVzY2FwZWQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICBleHBvcnRzLmVuY2xvc2VCcmFjZSA9IChub2RlKSA9PiB7XG4gICAgICBpZiAobm9kZS50eXBlICE9PSBcImJyYWNlXCIpIHJldHVybiBmYWxzZTtcbiAgICAgIGlmIChub2RlLmNvbW1hcyA+PiAwICsgbm9kZS5yYW5nZXMgPj4gMCA9PT0gMCkge1xuICAgICAgICBub2RlLmludmFsaWQgPSB0cnVlO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuICAgIGV4cG9ydHMuaXNJbnZhbGlkQnJhY2UgPSAoYmxvY2spID0+IHtcbiAgICAgIGlmIChibG9jay50eXBlICE9PSBcImJyYWNlXCIpIHJldHVybiBmYWxzZTtcbiAgICAgIGlmIChibG9jay5pbnZhbGlkID09PSB0cnVlIHx8IGJsb2NrLmRvbGxhcikgcmV0dXJuIHRydWU7XG4gICAgICBpZiAoYmxvY2suY29tbWFzID4+IDAgKyBibG9jay5yYW5nZXMgPj4gMCA9PT0gMCkge1xuICAgICAgICBibG9jay5pbnZhbGlkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAoYmxvY2sub3BlbiAhPT0gdHJ1ZSB8fCBibG9jay5jbG9zZSAhPT0gdHJ1ZSkge1xuICAgICAgICBibG9jay5pbnZhbGlkID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfTtcbiAgICBleHBvcnRzLmlzT3Blbk9yQ2xvc2UgPSAobm9kZSkgPT4ge1xuICAgICAgaWYgKG5vZGUudHlwZSA9PT0gXCJvcGVuXCIgfHwgbm9kZS50eXBlID09PSBcImNsb3NlXCIpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gbm9kZS5vcGVuID09PSB0cnVlIHx8IG5vZGUuY2xvc2UgPT09IHRydWU7XG4gICAgfTtcbiAgICBleHBvcnRzLnJlZHVjZSA9IChub2RlcykgPT4gbm9kZXMucmVkdWNlKChhY2MsIG5vZGUpID0+IHtcbiAgICAgIGlmIChub2RlLnR5cGUgPT09IFwidGV4dFwiKSBhY2MucHVzaChub2RlLnZhbHVlKTtcbiAgICAgIGlmIChub2RlLnR5cGUgPT09IFwicmFuZ2VcIikgbm9kZS50eXBlID0gXCJ0ZXh0XCI7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIFtdKTtcbiAgICBleHBvcnRzLmZsYXR0ZW4gPSAoLi4uYXJncykgPT4ge1xuICAgICAgY29uc3QgcmVzdWx0ID0gW107XG4gICAgICBjb25zdCBmbGF0ID0gKGFycikgPT4ge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFyci5sZW5ndGg7IGkrKykge1xuICAgICAgICAgIGNvbnN0IGVsZSA9IGFycltpXTtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShlbGUpKSB7XG4gICAgICAgICAgICBmbGF0KGVsZSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGVsZSAhPT0gdm9pZCAwKSB7XG4gICAgICAgICAgICByZXN1bHQucHVzaChlbGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfTtcbiAgICAgIGZsYXQoYXJncyk7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvYnJhY2VzL2xpYi9zdHJpbmdpZnkuanNcbnZhciByZXF1aXJlX3N0cmluZ2lmeSA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9icmFjZXMvbGliL3N0cmluZ2lmeS5qc1wiKGV4cG9ydHMsIG1vZHVsZSkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciB1dGlscyA9IHJlcXVpcmVfdXRpbHMoKTtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IChhc3QsIG9wdGlvbnM4ID0ge30pID0+IHtcbiAgICAgIGNvbnN0IHN0cmluZ2lmeTIgPSAobm9kZSwgcGFyZW50ID0ge30pID0+IHtcbiAgICAgICAgY29uc3QgaW52YWxpZEJsb2NrID0gb3B0aW9uczguZXNjYXBlSW52YWxpZCAmJiB1dGlscy5pc0ludmFsaWRCcmFjZShwYXJlbnQpO1xuICAgICAgICBjb25zdCBpbnZhbGlkTm9kZSA9IG5vZGUuaW52YWxpZCA9PT0gdHJ1ZSAmJiBvcHRpb25zOC5lc2NhcGVJbnZhbGlkID09PSB0cnVlO1xuICAgICAgICBsZXQgb3V0cHV0ID0gXCJcIjtcbiAgICAgICAgaWYgKG5vZGUudmFsdWUpIHtcbiAgICAgICAgICBpZiAoKGludmFsaWRCbG9jayB8fCBpbnZhbGlkTm9kZSkgJiYgdXRpbHMuaXNPcGVuT3JDbG9zZShub2RlKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiXFxcXFwiICsgbm9kZS52YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIG5vZGUudmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUudmFsdWUpIHtcbiAgICAgICAgICByZXR1cm4gbm9kZS52YWx1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5ub2Rlcykge1xuICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2Ygbm9kZS5ub2Rlcykge1xuICAgICAgICAgICAgb3V0cHV0ICs9IHN0cmluZ2lmeTIoY2hpbGQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgICAgfTtcbiAgICAgIHJldHVybiBzdHJpbmdpZnkyKGFzdCk7XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9pcy1udW1iZXIvaW5kZXguanNcbnZhciByZXF1aXJlX2lzX251bWJlciA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9pcy1udW1iZXIvaW5kZXguanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IGZ1bmN0aW9uKG51bSkge1xuICAgICAgaWYgKHR5cGVvZiBudW0gPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgcmV0dXJuIG51bSAtIG51bSA9PT0gMDtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2YgbnVtID09PSBcInN0cmluZ1wiICYmIG51bS50cmltKCkgIT09IFwiXCIpIHtcbiAgICAgICAgcmV0dXJuIE51bWJlci5pc0Zpbml0ZSA/IE51bWJlci5pc0Zpbml0ZSgrbnVtKSA6IGlzRmluaXRlKCtudW0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvdG8tcmVnZXgtcmFuZ2UvaW5kZXguanNcbnZhciByZXF1aXJlX3RvX3JlZ2V4X3JhbmdlID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3RvLXJlZ2V4LXJhbmdlL2luZGV4LmpzXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIGlzTnVtYmVyID0gcmVxdWlyZV9pc19udW1iZXIoKTtcbiAgICB2YXIgdG9SZWdleFJhbmdlID0gKG1pbiwgbWF4LCBvcHRpb25zOCkgPT4ge1xuICAgICAgaWYgKGlzTnVtYmVyKG1pbikgPT09IGZhbHNlKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJ0b1JlZ2V4UmFuZ2U6IGV4cGVjdGVkIHRoZSBmaXJzdCBhcmd1bWVudCB0byBiZSBhIG51bWJlclwiKTtcbiAgICAgIH1cbiAgICAgIGlmIChtYXggPT09IHZvaWQgMCB8fCBtaW4gPT09IG1heCkge1xuICAgICAgICByZXR1cm4gU3RyaW5nKG1pbik7XG4gICAgICB9XG4gICAgICBpZiAoaXNOdW1iZXIobWF4KSA9PT0gZmFsc2UpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcInRvUmVnZXhSYW5nZTogZXhwZWN0ZWQgdGhlIHNlY29uZCBhcmd1bWVudCB0byBiZSBhIG51bWJlci5cIik7XG4gICAgICB9XG4gICAgICBsZXQgb3B0cyA9IHsgcmVsYXhaZXJvczogdHJ1ZSwgLi4ub3B0aW9uczggfTtcbiAgICAgIGlmICh0eXBlb2Ygb3B0cy5zdHJpY3RaZXJvcyA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgb3B0cy5yZWxheFplcm9zID0gb3B0cy5zdHJpY3RaZXJvcyA9PT0gZmFsc2U7XG4gICAgICB9XG4gICAgICBsZXQgcmVsYXggPSBTdHJpbmcob3B0cy5yZWxheFplcm9zKTtcbiAgICAgIGxldCBzaG9ydGhhbmQgPSBTdHJpbmcob3B0cy5zaG9ydGhhbmQpO1xuICAgICAgbGV0IGNhcHR1cmUgPSBTdHJpbmcob3B0cy5jYXB0dXJlKTtcbiAgICAgIGxldCB3cmFwID0gU3RyaW5nKG9wdHMud3JhcCk7XG4gICAgICBsZXQgY2FjaGVLZXkgPSBtaW4gKyBcIjpcIiArIG1heCArIFwiPVwiICsgcmVsYXggKyBzaG9ydGhhbmQgKyBjYXB0dXJlICsgd3JhcDtcbiAgICAgIGlmICh0b1JlZ2V4UmFuZ2UuY2FjaGUuaGFzT3duUHJvcGVydHkoY2FjaGVLZXkpKSB7XG4gICAgICAgIHJldHVybiB0b1JlZ2V4UmFuZ2UuY2FjaGVbY2FjaGVLZXldLnJlc3VsdDtcbiAgICAgIH1cbiAgICAgIGxldCBhID0gTWF0aC5taW4obWluLCBtYXgpO1xuICAgICAgbGV0IGIgPSBNYXRoLm1heChtaW4sIG1heCk7XG4gICAgICBpZiAoTWF0aC5hYnMoYSAtIGIpID09PSAxKSB7XG4gICAgICAgIGxldCByZXN1bHQgPSBtaW4gKyBcInxcIiArIG1heDtcbiAgICAgICAgaWYgKG9wdHMuY2FwdHVyZSkge1xuICAgICAgICAgIHJldHVybiBgKCR7cmVzdWx0fSlgO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRzLndyYXAgPT09IGZhbHNlKSB7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYCg/OiR7cmVzdWx0fSlgO1xuICAgICAgfVxuICAgICAgbGV0IGlzUGFkZGVkID0gaGFzUGFkZGluZyhtaW4pIHx8IGhhc1BhZGRpbmcobWF4KTtcbiAgICAgIGxldCBzdGF0ZSA9IHsgbWluLCBtYXgsIGEsIGIgfTtcbiAgICAgIGxldCBwb3NpdGl2ZXMgPSBbXTtcbiAgICAgIGxldCBuZWdhdGl2ZXMgPSBbXTtcbiAgICAgIGlmIChpc1BhZGRlZCkge1xuICAgICAgICBzdGF0ZS5pc1BhZGRlZCA9IGlzUGFkZGVkO1xuICAgICAgICBzdGF0ZS5tYXhMZW4gPSBTdHJpbmcoc3RhdGUubWF4KS5sZW5ndGg7XG4gICAgICB9XG4gICAgICBpZiAoYSA8IDApIHtcbiAgICAgICAgbGV0IG5ld01pbiA9IGIgPCAwID8gTWF0aC5hYnMoYikgOiAxO1xuICAgICAgICBuZWdhdGl2ZXMgPSBzcGxpdFRvUGF0dGVybnMobmV3TWluLCBNYXRoLmFicyhhKSwgc3RhdGUsIG9wdHMpO1xuICAgICAgICBhID0gc3RhdGUuYSA9IDA7XG4gICAgICB9XG4gICAgICBpZiAoYiA+PSAwKSB7XG4gICAgICAgIHBvc2l0aXZlcyA9IHNwbGl0VG9QYXR0ZXJucyhhLCBiLCBzdGF0ZSwgb3B0cyk7XG4gICAgICB9XG4gICAgICBzdGF0ZS5uZWdhdGl2ZXMgPSBuZWdhdGl2ZXM7XG4gICAgICBzdGF0ZS5wb3NpdGl2ZXMgPSBwb3NpdGl2ZXM7XG4gICAgICBzdGF0ZS5yZXN1bHQgPSBjb2xsYXRlUGF0dGVybnMobmVnYXRpdmVzLCBwb3NpdGl2ZXMsIG9wdHMpO1xuICAgICAgaWYgKG9wdHMuY2FwdHVyZSA9PT0gdHJ1ZSkge1xuICAgICAgICBzdGF0ZS5yZXN1bHQgPSBgKCR7c3RhdGUucmVzdWx0fSlgO1xuICAgICAgfSBlbHNlIGlmIChvcHRzLndyYXAgIT09IGZhbHNlICYmIHBvc2l0aXZlcy5sZW5ndGggKyBuZWdhdGl2ZXMubGVuZ3RoID4gMSkge1xuICAgICAgICBzdGF0ZS5yZXN1bHQgPSBgKD86JHtzdGF0ZS5yZXN1bHR9KWA7XG4gICAgICB9XG4gICAgICB0b1JlZ2V4UmFuZ2UuY2FjaGVbY2FjaGVLZXldID0gc3RhdGU7XG4gICAgICByZXR1cm4gc3RhdGUucmVzdWx0O1xuICAgIH07XG4gICAgZnVuY3Rpb24gY29sbGF0ZVBhdHRlcm5zKG5lZywgcG9zMiwgb3B0aW9uczgpIHtcbiAgICAgIGxldCBvbmx5TmVnYXRpdmUgPSBmaWx0ZXJQYXR0ZXJucyhuZWcsIHBvczIsIFwiLVwiLCBmYWxzZSwgb3B0aW9uczgpIHx8IFtdO1xuICAgICAgbGV0IG9ubHlQb3NpdGl2ZSA9IGZpbHRlclBhdHRlcm5zKHBvczIsIG5lZywgXCJcIiwgZmFsc2UsIG9wdGlvbnM4KSB8fCBbXTtcbiAgICAgIGxldCBpbnRlcnNlY3RlZCA9IGZpbHRlclBhdHRlcm5zKG5lZywgcG9zMiwgXCItP1wiLCB0cnVlLCBvcHRpb25zOCkgfHwgW107XG4gICAgICBsZXQgc3VicGF0dGVybnMgPSBvbmx5TmVnYXRpdmUuY29uY2F0KGludGVyc2VjdGVkKS5jb25jYXQob25seVBvc2l0aXZlKTtcbiAgICAgIHJldHVybiBzdWJwYXR0ZXJucy5qb2luKFwifFwiKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gc3BsaXRUb1JhbmdlcyhtaW4sIG1heCkge1xuICAgICAgbGV0IG5pbmVzID0gMTtcbiAgICAgIGxldCB6ZXJvcyA9IDE7XG4gICAgICBsZXQgc3RvcCA9IGNvdW50TmluZXMobWluLCBuaW5lcyk7XG4gICAgICBsZXQgc3RvcHMgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldChbbWF4XSk7XG4gICAgICB3aGlsZSAobWluIDw9IHN0b3AgJiYgc3RvcCA8PSBtYXgpIHtcbiAgICAgICAgc3RvcHMuYWRkKHN0b3ApO1xuICAgICAgICBuaW5lcyArPSAxO1xuICAgICAgICBzdG9wID0gY291bnROaW5lcyhtaW4sIG5pbmVzKTtcbiAgICAgIH1cbiAgICAgIHN0b3AgPSBjb3VudFplcm9zKG1heCArIDEsIHplcm9zKSAtIDE7XG4gICAgICB3aGlsZSAobWluIDwgc3RvcCAmJiBzdG9wIDw9IG1heCkge1xuICAgICAgICBzdG9wcy5hZGQoc3RvcCk7XG4gICAgICAgIHplcm9zICs9IDE7XG4gICAgICAgIHN0b3AgPSBjb3VudFplcm9zKG1heCArIDEsIHplcm9zKSAtIDE7XG4gICAgICB9XG4gICAgICBzdG9wcyA9IFsuLi5zdG9wc107XG4gICAgICBzdG9wcy5zb3J0KGNvbXBhcmUpO1xuICAgICAgcmV0dXJuIHN0b3BzO1xuICAgIH1cbiAgICBmdW5jdGlvbiByYW5nZVRvUGF0dGVybihzdGFydCwgc3RvcCwgb3B0aW9uczgpIHtcbiAgICAgIGlmIChzdGFydCA9PT0gc3RvcCkge1xuICAgICAgICByZXR1cm4geyBwYXR0ZXJuOiBzdGFydCwgY291bnQ6IFtdLCBkaWdpdHM6IDAgfTtcbiAgICAgIH1cbiAgICAgIGxldCB6aXBwZWQgPSB6aXAoc3RhcnQsIHN0b3ApO1xuICAgICAgbGV0IGRpZ2l0cyA9IHppcHBlZC5sZW5ndGg7XG4gICAgICBsZXQgcGF0dGVybiA9IFwiXCI7XG4gICAgICBsZXQgY291bnQgPSAwO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBkaWdpdHM7IGkrKykge1xuICAgICAgICBsZXQgW3N0YXJ0RGlnaXQsIHN0b3BEaWdpdF0gPSB6aXBwZWRbaV07XG4gICAgICAgIGlmIChzdGFydERpZ2l0ID09PSBzdG9wRGlnaXQpIHtcbiAgICAgICAgICBwYXR0ZXJuICs9IHN0YXJ0RGlnaXQ7XG4gICAgICAgIH0gZWxzZSBpZiAoc3RhcnREaWdpdCAhPT0gXCIwXCIgfHwgc3RvcERpZ2l0ICE9PSBcIjlcIikge1xuICAgICAgICAgIHBhdHRlcm4gKz0gdG9DaGFyYWN0ZXJDbGFzcyhzdGFydERpZ2l0LCBzdG9wRGlnaXQsIG9wdGlvbnM4KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb3VudCsrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoY291bnQpIHtcbiAgICAgICAgcGF0dGVybiArPSBvcHRpb25zOC5zaG9ydGhhbmQgPT09IHRydWUgPyBcIlxcXFxkXCIgOiBcIlswLTldXCI7XG4gICAgICB9XG4gICAgICByZXR1cm4geyBwYXR0ZXJuLCBjb3VudDogW2NvdW50XSwgZGlnaXRzIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIHNwbGl0VG9QYXR0ZXJucyhtaW4sIG1heCwgdG9rLCBvcHRpb25zOCkge1xuICAgICAgbGV0IHJhbmdlcyA9IHNwbGl0VG9SYW5nZXMobWluLCBtYXgpO1xuICAgICAgbGV0IHRva2VucyA9IFtdO1xuICAgICAgbGV0IHN0YXJ0ID0gbWluO1xuICAgICAgbGV0IHByZXY7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7IGkrKykge1xuICAgICAgICBsZXQgbWF4MiA9IHJhbmdlc1tpXTtcbiAgICAgICAgbGV0IG9iaiA9IHJhbmdlVG9QYXR0ZXJuKFN0cmluZyhzdGFydCksIFN0cmluZyhtYXgyKSwgb3B0aW9uczgpO1xuICAgICAgICBsZXQgemVyb3MgPSBcIlwiO1xuICAgICAgICBpZiAoIXRvay5pc1BhZGRlZCAmJiBwcmV2ICYmIHByZXYucGF0dGVybiA9PT0gb2JqLnBhdHRlcm4pIHtcbiAgICAgICAgICBpZiAocHJldi5jb3VudC5sZW5ndGggPiAxKSB7XG4gICAgICAgICAgICBwcmV2LmNvdW50LnBvcCgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwcmV2LmNvdW50LnB1c2gob2JqLmNvdW50WzBdKTtcbiAgICAgICAgICBwcmV2LnN0cmluZyA9IHByZXYucGF0dGVybiArIHRvUXVhbnRpZmllcihwcmV2LmNvdW50KTtcbiAgICAgICAgICBzdGFydCA9IG1heDIgKyAxO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0b2suaXNQYWRkZWQpIHtcbiAgICAgICAgICB6ZXJvcyA9IHBhZFplcm9zKG1heDIsIHRvaywgb3B0aW9uczgpO1xuICAgICAgICB9XG4gICAgICAgIG9iai5zdHJpbmcgPSB6ZXJvcyArIG9iai5wYXR0ZXJuICsgdG9RdWFudGlmaWVyKG9iai5jb3VudCk7XG4gICAgICAgIHRva2Vucy5wdXNoKG9iaik7XG4gICAgICAgIHN0YXJ0ID0gbWF4MiArIDE7XG4gICAgICAgIHByZXYgPSBvYmo7XG4gICAgICB9XG4gICAgICByZXR1cm4gdG9rZW5zO1xuICAgIH1cbiAgICBmdW5jdGlvbiBmaWx0ZXJQYXR0ZXJucyhhcnIsIGNvbXBhcmlzb24sIHByZWZpeCwgaW50ZXJzZWN0aW9uLCBvcHRpb25zOCkge1xuICAgICAgbGV0IHJlc3VsdCA9IFtdO1xuICAgICAgZm9yIChsZXQgZWxlIG9mIGFycikge1xuICAgICAgICBsZXQgeyBzdHJpbmcgfSA9IGVsZTtcbiAgICAgICAgaWYgKCFpbnRlcnNlY3Rpb24gJiYgIWNvbnRhaW5zKGNvbXBhcmlzb24sIFwic3RyaW5nXCIsIHN0cmluZykpIHtcbiAgICAgICAgICByZXN1bHQucHVzaChwcmVmaXggKyBzdHJpbmcpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpbnRlcnNlY3Rpb24gJiYgY29udGFpbnMoY29tcGFyaXNvbiwgXCJzdHJpbmdcIiwgc3RyaW5nKSkge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKHByZWZpeCArIHN0cmluZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHppcChhLCBiKSB7XG4gICAgICBsZXQgYXJyID0gW107XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGEubGVuZ3RoOyBpKyspIGFyci5wdXNoKFthW2ldLCBiW2ldXSk7XG4gICAgICByZXR1cm4gYXJyO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjb21wYXJlKGEsIGIpIHtcbiAgICAgIHJldHVybiBhID4gYiA/IDEgOiBiID4gYSA/IC0xIDogMDtcbiAgICB9XG4gICAgZnVuY3Rpb24gY29udGFpbnMoYXJyLCBrZXkyLCB2YWwpIHtcbiAgICAgIHJldHVybiBhcnIuc29tZSgoZWxlKSA9PiBlbGVba2V5Ml0gPT09IHZhbCk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvdW50TmluZXMobWluLCBsZW4pIHtcbiAgICAgIHJldHVybiBOdW1iZXIoU3RyaW5nKG1pbikuc2xpY2UoMCwgLWxlbikgKyBcIjlcIi5yZXBlYXQobGVuKSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvdW50WmVyb3MoaW50ZWdlciwgemVyb3MpIHtcbiAgICAgIHJldHVybiBpbnRlZ2VyIC0gaW50ZWdlciAlIE1hdGgucG93KDEwLCB6ZXJvcyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHRvUXVhbnRpZmllcihkaWdpdHMpIHtcbiAgICAgIGxldCBbc3RhcnQgPSAwLCBzdG9wID0gXCJcIl0gPSBkaWdpdHM7XG4gICAgICBpZiAoc3RvcCB8fCBzdGFydCA+IDEpIHtcbiAgICAgICAgcmV0dXJuIGB7JHtzdGFydCArIChzdG9wID8gXCIsXCIgKyBzdG9wIDogXCJcIil9fWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICB9XG4gICAgZnVuY3Rpb24gdG9DaGFyYWN0ZXJDbGFzcyhhLCBiLCBvcHRpb25zOCkge1xuICAgICAgcmV0dXJuIGBbJHthfSR7YiAtIGEgPT09IDEgPyBcIlwiIDogXCItXCJ9JHtifV1gO1xuICAgIH1cbiAgICBmdW5jdGlvbiBoYXNQYWRkaW5nKHN0cjIpIHtcbiAgICAgIHJldHVybiAvXi0/KDArKVxcZC8udGVzdChzdHIyKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcGFkWmVyb3ModmFsdWUsIHRvaywgb3B0aW9uczgpIHtcbiAgICAgIGlmICghdG9rLmlzUGFkZGVkKSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICAgIGxldCBkaWZmMiA9IE1hdGguYWJzKHRvay5tYXhMZW4gLSBTdHJpbmcodmFsdWUpLmxlbmd0aCk7XG4gICAgICBsZXQgcmVsYXggPSBvcHRpb25zOC5yZWxheFplcm9zICE9PSBmYWxzZTtcbiAgICAgIHN3aXRjaCAoZGlmZjIpIHtcbiAgICAgICAgY2FzZSAwOlxuICAgICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgcmV0dXJuIHJlbGF4ID8gXCIwP1wiIDogXCIwXCI7XG4gICAgICAgIGNhc2UgMjpcbiAgICAgICAgICByZXR1cm4gcmVsYXggPyBcIjB7MCwyfVwiIDogXCIwMFwiO1xuICAgICAgICBkZWZhdWx0OiB7XG4gICAgICAgICAgcmV0dXJuIHJlbGF4ID8gYDB7MCwke2RpZmYyfX1gIDogYDB7JHtkaWZmMn19YDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0b1JlZ2V4UmFuZ2UuY2FjaGUgPSB7fTtcbiAgICB0b1JlZ2V4UmFuZ2UuY2xlYXJDYWNoZSA9ICgpID0+IHRvUmVnZXhSYW5nZS5jYWNoZSA9IHt9O1xuICAgIG1vZHVsZS5leHBvcnRzID0gdG9SZWdleFJhbmdlO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2ZpbGwtcmFuZ2UvaW5kZXguanNcbnZhciByZXF1aXJlX2ZpbGxfcmFuZ2UgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZmlsbC1yYW5nZS9pbmRleC5qc1wiKGV4cG9ydHMsIG1vZHVsZSkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciB1dGlsMiA9IF9fcmVxdWlyZShcInV0aWxcIik7XG4gICAgdmFyIHRvUmVnZXhSYW5nZSA9IHJlcXVpcmVfdG9fcmVnZXhfcmFuZ2UoKTtcbiAgICB2YXIgaXNPYmplY3QzID0gKHZhbCkgPT4gdmFsICE9PSBudWxsICYmIHR5cGVvZiB2YWwgPT09IFwib2JqZWN0XCIgJiYgIUFycmF5LmlzQXJyYXkodmFsKTtcbiAgICB2YXIgdHJhbnNmb3JtID0gKHRvTnVtYmVyKSA9PiB7XG4gICAgICByZXR1cm4gKHZhbHVlKSA9PiB0b051bWJlciA9PT0gdHJ1ZSA/IE51bWJlcih2YWx1ZSkgOiBTdHJpbmcodmFsdWUpO1xuICAgIH07XG4gICAgdmFyIGlzVmFsaWRWYWx1ZSA9ICh2YWx1ZSkgPT4ge1xuICAgICAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gXCJudW1iZXJcIiB8fCB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgdmFsdWUgIT09IFwiXCI7XG4gICAgfTtcbiAgICB2YXIgaXNOdW1iZXIgPSAobnVtKSA9PiBOdW1iZXIuaXNJbnRlZ2VyKCtudW0pO1xuICAgIHZhciB6ZXJvcyA9IChpbnB1dCkgPT4ge1xuICAgICAgbGV0IHZhbHVlID0gYCR7aW5wdXR9YDtcbiAgICAgIGxldCBpbmRleCA9IC0xO1xuICAgICAgaWYgKHZhbHVlWzBdID09PSBcIi1cIikgdmFsdWUgPSB2YWx1ZS5zbGljZSgxKTtcbiAgICAgIGlmICh2YWx1ZSA9PT0gXCIwXCIpIHJldHVybiBmYWxzZTtcbiAgICAgIHdoaWxlICh2YWx1ZVsrK2luZGV4XSA9PT0gXCIwXCIpIDtcbiAgICAgIHJldHVybiBpbmRleCA+IDA7XG4gICAgfTtcbiAgICB2YXIgc3RyaW5naWZ5MiA9IChzdGFydCwgZW5kLCBvcHRpb25zOCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBzdGFydCA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgZW5kID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9wdGlvbnM4LnN0cmluZ2lmeSA9PT0gdHJ1ZTtcbiAgICB9O1xuICAgIHZhciBwYWQgPSAoaW5wdXQsIG1heExlbmd0aCwgdG9OdW1iZXIpID0+IHtcbiAgICAgIGlmIChtYXhMZW5ndGggPiAwKSB7XG4gICAgICAgIGxldCBkYXNoID0gaW5wdXRbMF0gPT09IFwiLVwiID8gXCItXCIgOiBcIlwiO1xuICAgICAgICBpZiAoZGFzaCkgaW5wdXQgPSBpbnB1dC5zbGljZSgxKTtcbiAgICAgICAgaW5wdXQgPSBkYXNoICsgaW5wdXQucGFkU3RhcnQoZGFzaCA/IG1heExlbmd0aCAtIDEgOiBtYXhMZW5ndGgsIFwiMFwiKTtcbiAgICAgIH1cbiAgICAgIGlmICh0b051bWJlciA9PT0gZmFsc2UpIHtcbiAgICAgICAgcmV0dXJuIFN0cmluZyhpbnB1dCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaW5wdXQ7XG4gICAgfTtcbiAgICB2YXIgdG9NYXhMZW4gPSAoaW5wdXQsIG1heExlbmd0aCkgPT4ge1xuICAgICAgbGV0IG5lZ2F0aXZlID0gaW5wdXRbMF0gPT09IFwiLVwiID8gXCItXCIgOiBcIlwiO1xuICAgICAgaWYgKG5lZ2F0aXZlKSB7XG4gICAgICAgIGlucHV0ID0gaW5wdXQuc2xpY2UoMSk7XG4gICAgICAgIG1heExlbmd0aC0tO1xuICAgICAgfVxuICAgICAgd2hpbGUgKGlucHV0Lmxlbmd0aCA8IG1heExlbmd0aCkgaW5wdXQgPSBcIjBcIiArIGlucHV0O1xuICAgICAgcmV0dXJuIG5lZ2F0aXZlID8gXCItXCIgKyBpbnB1dCA6IGlucHV0O1xuICAgIH07XG4gICAgdmFyIHRvU2VxdWVuY2UgPSAocGFydHMsIG9wdGlvbnM4LCBtYXhMZW4pID0+IHtcbiAgICAgIHBhcnRzLm5lZ2F0aXZlcy5zb3J0KChhLCBiKSA9PiBhIDwgYiA/IC0xIDogYSA+IGIgPyAxIDogMCk7XG4gICAgICBwYXJ0cy5wb3NpdGl2ZXMuc29ydCgoYSwgYikgPT4gYSA8IGIgPyAtMSA6IGEgPiBiID8gMSA6IDApO1xuICAgICAgbGV0IHByZWZpeCA9IG9wdGlvbnM4LmNhcHR1cmUgPyBcIlwiIDogXCI/OlwiO1xuICAgICAgbGV0IHBvc2l0aXZlcyA9IFwiXCI7XG4gICAgICBsZXQgbmVnYXRpdmVzID0gXCJcIjtcbiAgICAgIGxldCByZXN1bHQ7XG4gICAgICBpZiAocGFydHMucG9zaXRpdmVzLmxlbmd0aCkge1xuICAgICAgICBwb3NpdGl2ZXMgPSBwYXJ0cy5wb3NpdGl2ZXMubWFwKCh2KSA9PiB0b01heExlbihTdHJpbmcodiksIG1heExlbikpLmpvaW4oXCJ8XCIpO1xuICAgICAgfVxuICAgICAgaWYgKHBhcnRzLm5lZ2F0aXZlcy5sZW5ndGgpIHtcbiAgICAgICAgbmVnYXRpdmVzID0gYC0oJHtwcmVmaXh9JHtwYXJ0cy5uZWdhdGl2ZXMubWFwKCh2KSA9PiB0b01heExlbihTdHJpbmcodiksIG1heExlbikpLmpvaW4oXCJ8XCIpfSlgO1xuICAgICAgfVxuICAgICAgaWYgKHBvc2l0aXZlcyAmJiBuZWdhdGl2ZXMpIHtcbiAgICAgICAgcmVzdWx0ID0gYCR7cG9zaXRpdmVzfXwke25lZ2F0aXZlc31gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzdWx0ID0gcG9zaXRpdmVzIHx8IG5lZ2F0aXZlcztcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zOC53cmFwKSB7XG4gICAgICAgIHJldHVybiBgKCR7cHJlZml4fSR7cmVzdWx0fSlgO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuICAgIHZhciB0b1JhbmdlID0gKGEsIGIsIGlzTnVtYmVycywgb3B0aW9uczgpID0+IHtcbiAgICAgIGlmIChpc051bWJlcnMpIHtcbiAgICAgICAgcmV0dXJuIHRvUmVnZXhSYW5nZShhLCBiLCB7IHdyYXA6IGZhbHNlLCAuLi5vcHRpb25zOCB9KTtcbiAgICAgIH1cbiAgICAgIGxldCBzdGFydCA9IFN0cmluZy5mcm9tQ2hhckNvZGUoYSk7XG4gICAgICBpZiAoYSA9PT0gYikgcmV0dXJuIHN0YXJ0O1xuICAgICAgbGV0IHN0b3AgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGIpO1xuICAgICAgcmV0dXJuIGBbJHtzdGFydH0tJHtzdG9wfV1gO1xuICAgIH07XG4gICAgdmFyIHRvUmVnZXggPSAoc3RhcnQsIGVuZCwgb3B0aW9uczgpID0+IHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHN0YXJ0KSkge1xuICAgICAgICBsZXQgd3JhcCA9IG9wdGlvbnM4LndyYXAgPT09IHRydWU7XG4gICAgICAgIGxldCBwcmVmaXggPSBvcHRpb25zOC5jYXB0dXJlID8gXCJcIiA6IFwiPzpcIjtcbiAgICAgICAgcmV0dXJuIHdyYXAgPyBgKCR7cHJlZml4fSR7c3RhcnQuam9pbihcInxcIil9KWAgOiBzdGFydC5qb2luKFwifFwiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0b1JlZ2V4UmFuZ2Uoc3RhcnQsIGVuZCwgb3B0aW9uczgpO1xuICAgIH07XG4gICAgdmFyIHJhbmdlRXJyb3IgPSAoLi4uYXJncykgPT4ge1xuICAgICAgcmV0dXJuIG5ldyBSYW5nZUVycm9yKFwiSW52YWxpZCByYW5nZSBhcmd1bWVudHM6IFwiICsgdXRpbDIuaW5zcGVjdCguLi5hcmdzKSk7XG4gICAgfTtcbiAgICB2YXIgaW52YWxpZFJhbmdlID0gKHN0YXJ0LCBlbmQsIG9wdGlvbnM4KSA9PiB7XG4gICAgICBpZiAob3B0aW9uczguc3RyaWN0UmFuZ2VzID09PSB0cnVlKSB0aHJvdyByYW5nZUVycm9yKFtzdGFydCwgZW5kXSk7XG4gICAgICByZXR1cm4gW107XG4gICAgfTtcbiAgICB2YXIgaW52YWxpZFN0ZXAgPSAoc3RlcCwgb3B0aW9uczgpID0+IHtcbiAgICAgIGlmIChvcHRpb25zOC5zdHJpY3RSYW5nZXMgPT09IHRydWUpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgc3RlcCBcIiR7c3RlcH1cIiB0byBiZSBhIG51bWJlcmApO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFtdO1xuICAgIH07XG4gICAgdmFyIGZpbGxOdW1iZXJzID0gKHN0YXJ0LCBlbmQsIHN0ZXAgPSAxLCBvcHRpb25zOCA9IHt9KSA9PiB7XG4gICAgICBsZXQgYSA9IE51bWJlcihzdGFydCk7XG4gICAgICBsZXQgYiA9IE51bWJlcihlbmQpO1xuICAgICAgaWYgKCFOdW1iZXIuaXNJbnRlZ2VyKGEpIHx8ICFOdW1iZXIuaXNJbnRlZ2VyKGIpKSB7XG4gICAgICAgIGlmIChvcHRpb25zOC5zdHJpY3RSYW5nZXMgPT09IHRydWUpIHRocm93IHJhbmdlRXJyb3IoW3N0YXJ0LCBlbmRdKTtcbiAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgfVxuICAgICAgaWYgKGEgPT09IDApIGEgPSAwO1xuICAgICAgaWYgKGIgPT09IDApIGIgPSAwO1xuICAgICAgbGV0IGRlc2NlbmRpbmcgPSBhID4gYjtcbiAgICAgIGxldCBzdGFydFN0cmluZyA9IFN0cmluZyhzdGFydCk7XG4gICAgICBsZXQgZW5kU3RyaW5nID0gU3RyaW5nKGVuZCk7XG4gICAgICBsZXQgc3RlcFN0cmluZyA9IFN0cmluZyhzdGVwKTtcbiAgICAgIHN0ZXAgPSBNYXRoLm1heChNYXRoLmFicyhzdGVwKSwgMSk7XG4gICAgICBsZXQgcGFkZGVkID0gemVyb3Moc3RhcnRTdHJpbmcpIHx8IHplcm9zKGVuZFN0cmluZykgfHwgemVyb3Moc3RlcFN0cmluZyk7XG4gICAgICBsZXQgbWF4TGVuID0gcGFkZGVkID8gTWF0aC5tYXgoc3RhcnRTdHJpbmcubGVuZ3RoLCBlbmRTdHJpbmcubGVuZ3RoLCBzdGVwU3RyaW5nLmxlbmd0aCkgOiAwO1xuICAgICAgbGV0IHRvTnVtYmVyID0gcGFkZGVkID09PSBmYWxzZSAmJiBzdHJpbmdpZnkyKHN0YXJ0LCBlbmQsIG9wdGlvbnM4KSA9PT0gZmFsc2U7XG4gICAgICBsZXQgZm9ybWF0MyA9IG9wdGlvbnM4LnRyYW5zZm9ybSB8fCB0cmFuc2Zvcm0odG9OdW1iZXIpO1xuICAgICAgaWYgKG9wdGlvbnM4LnRvUmVnZXggJiYgc3RlcCA9PT0gMSkge1xuICAgICAgICByZXR1cm4gdG9SYW5nZSh0b01heExlbihzdGFydCwgbWF4TGVuKSwgdG9NYXhMZW4oZW5kLCBtYXhMZW4pLCB0cnVlLCBvcHRpb25zOCk7XG4gICAgICB9XG4gICAgICBsZXQgcGFydHMgPSB7IG5lZ2F0aXZlczogW10sIHBvc2l0aXZlczogW10gfTtcbiAgICAgIGxldCBwdXNoMiA9IChudW0pID0+IHBhcnRzW251bSA8IDAgPyBcIm5lZ2F0aXZlc1wiIDogXCJwb3NpdGl2ZXNcIl0ucHVzaChNYXRoLmFicyhudW0pKTtcbiAgICAgIGxldCByYW5nZSA9IFtdO1xuICAgICAgbGV0IGluZGV4ID0gMDtcbiAgICAgIHdoaWxlIChkZXNjZW5kaW5nID8gYSA+PSBiIDogYSA8PSBiKSB7XG4gICAgICAgIGlmIChvcHRpb25zOC50b1JlZ2V4ID09PSB0cnVlICYmIHN0ZXAgPiAxKSB7XG4gICAgICAgICAgcHVzaDIoYSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmFuZ2UucHVzaChwYWQoZm9ybWF0MyhhLCBpbmRleCksIG1heExlbiwgdG9OdW1iZXIpKTtcbiAgICAgICAgfVxuICAgICAgICBhID0gZGVzY2VuZGluZyA/IGEgLSBzdGVwIDogYSArIHN0ZXA7XG4gICAgICAgIGluZGV4Kys7XG4gICAgICB9XG4gICAgICBpZiAob3B0aW9uczgudG9SZWdleCA9PT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gc3RlcCA+IDEgPyB0b1NlcXVlbmNlKHBhcnRzLCBvcHRpb25zOCwgbWF4TGVuKSA6IHRvUmVnZXgocmFuZ2UsIG51bGwsIHsgd3JhcDogZmFsc2UsIC4uLm9wdGlvbnM4IH0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJhbmdlO1xuICAgIH07XG4gICAgdmFyIGZpbGxMZXR0ZXJzID0gKHN0YXJ0LCBlbmQsIHN0ZXAgPSAxLCBvcHRpb25zOCA9IHt9KSA9PiB7XG4gICAgICBpZiAoIWlzTnVtYmVyKHN0YXJ0KSAmJiBzdGFydC5sZW5ndGggPiAxIHx8ICFpc051bWJlcihlbmQpICYmIGVuZC5sZW5ndGggPiAxKSB7XG4gICAgICAgIHJldHVybiBpbnZhbGlkUmFuZ2Uoc3RhcnQsIGVuZCwgb3B0aW9uczgpO1xuICAgICAgfVxuICAgICAgbGV0IGZvcm1hdDMgPSBvcHRpb25zOC50cmFuc2Zvcm0gfHwgKCh2YWwpID0+IFN0cmluZy5mcm9tQ2hhckNvZGUodmFsKSk7XG4gICAgICBsZXQgYSA9IGAke3N0YXJ0fWAuY2hhckNvZGVBdCgwKTtcbiAgICAgIGxldCBiID0gYCR7ZW5kfWAuY2hhckNvZGVBdCgwKTtcbiAgICAgIGxldCBkZXNjZW5kaW5nID0gYSA+IGI7XG4gICAgICBsZXQgbWluID0gTWF0aC5taW4oYSwgYik7XG4gICAgICBsZXQgbWF4ID0gTWF0aC5tYXgoYSwgYik7XG4gICAgICBpZiAob3B0aW9uczgudG9SZWdleCAmJiBzdGVwID09PSAxKSB7XG4gICAgICAgIHJldHVybiB0b1JhbmdlKG1pbiwgbWF4LCBmYWxzZSwgb3B0aW9uczgpO1xuICAgICAgfVxuICAgICAgbGV0IHJhbmdlID0gW107XG4gICAgICBsZXQgaW5kZXggPSAwO1xuICAgICAgd2hpbGUgKGRlc2NlbmRpbmcgPyBhID49IGIgOiBhIDw9IGIpIHtcbiAgICAgICAgcmFuZ2UucHVzaChmb3JtYXQzKGEsIGluZGV4KSk7XG4gICAgICAgIGEgPSBkZXNjZW5kaW5nID8gYSAtIHN0ZXAgOiBhICsgc3RlcDtcbiAgICAgICAgaW5kZXgrKztcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zOC50b1JlZ2V4ID09PSB0cnVlKSB7XG4gICAgICAgIHJldHVybiB0b1JlZ2V4KHJhbmdlLCBudWxsLCB7IHdyYXA6IGZhbHNlLCBvcHRpb25zOiBvcHRpb25zOCB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByYW5nZTtcbiAgICB9O1xuICAgIHZhciBmaWxsID0gKHN0YXJ0LCBlbmQsIHN0ZXAsIG9wdGlvbnM4ID0ge30pID0+IHtcbiAgICAgIGlmIChlbmQgPT0gbnVsbCAmJiBpc1ZhbGlkVmFsdWUoc3RhcnQpKSB7XG4gICAgICAgIHJldHVybiBbc3RhcnRdO1xuICAgICAgfVxuICAgICAgaWYgKCFpc1ZhbGlkVmFsdWUoc3RhcnQpIHx8ICFpc1ZhbGlkVmFsdWUoZW5kKSkge1xuICAgICAgICByZXR1cm4gaW52YWxpZFJhbmdlKHN0YXJ0LCBlbmQsIG9wdGlvbnM4KTtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2Ygc3RlcCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiBmaWxsKHN0YXJ0LCBlbmQsIDEsIHsgdHJhbnNmb3JtOiBzdGVwIH0pO1xuICAgICAgfVxuICAgICAgaWYgKGlzT2JqZWN0MyhzdGVwKSkge1xuICAgICAgICByZXR1cm4gZmlsbChzdGFydCwgZW5kLCAwLCBzdGVwKTtcbiAgICAgIH1cbiAgICAgIGxldCBvcHRzID0geyAuLi5vcHRpb25zOCB9O1xuICAgICAgaWYgKG9wdHMuY2FwdHVyZSA9PT0gdHJ1ZSkgb3B0cy53cmFwID0gdHJ1ZTtcbiAgICAgIHN0ZXAgPSBzdGVwIHx8IG9wdHMuc3RlcCB8fCAxO1xuICAgICAgaWYgKCFpc051bWJlcihzdGVwKSkge1xuICAgICAgICBpZiAoc3RlcCAhPSBudWxsICYmICFpc09iamVjdDMoc3RlcCkpIHJldHVybiBpbnZhbGlkU3RlcChzdGVwLCBvcHRzKTtcbiAgICAgICAgcmV0dXJuIGZpbGwoc3RhcnQsIGVuZCwgMSwgc3RlcCk7XG4gICAgICB9XG4gICAgICBpZiAoaXNOdW1iZXIoc3RhcnQpICYmIGlzTnVtYmVyKGVuZCkpIHtcbiAgICAgICAgcmV0dXJuIGZpbGxOdW1iZXJzKHN0YXJ0LCBlbmQsIHN0ZXAsIG9wdHMpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZpbGxMZXR0ZXJzKHN0YXJ0LCBlbmQsIE1hdGgubWF4KE1hdGguYWJzKHN0ZXApLCAxKSwgb3B0cyk7XG4gICAgfTtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IGZpbGw7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvYnJhY2VzL2xpYi9jb21waWxlLmpzXG52YXIgcmVxdWlyZV9jb21waWxlID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2JyYWNlcy9saWIvY29tcGlsZS5qc1wiKGV4cG9ydHMsIG1vZHVsZSkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBmaWxsID0gcmVxdWlyZV9maWxsX3JhbmdlKCk7XG4gICAgdmFyIHV0aWxzID0gcmVxdWlyZV91dGlscygpO1xuICAgIHZhciBjb21waWxlID0gKGFzdCwgb3B0aW9uczggPSB7fSkgPT4ge1xuICAgICAgY29uc3Qgd2FsayA9IChub2RlLCBwYXJlbnQgPSB7fSkgPT4ge1xuICAgICAgICBjb25zdCBpbnZhbGlkQmxvY2sgPSB1dGlscy5pc0ludmFsaWRCcmFjZShwYXJlbnQpO1xuICAgICAgICBjb25zdCBpbnZhbGlkTm9kZSA9IG5vZGUuaW52YWxpZCA9PT0gdHJ1ZSAmJiBvcHRpb25zOC5lc2NhcGVJbnZhbGlkID09PSB0cnVlO1xuICAgICAgICBjb25zdCBpbnZhbGlkID0gaW52YWxpZEJsb2NrID09PSB0cnVlIHx8IGludmFsaWROb2RlID09PSB0cnVlO1xuICAgICAgICBjb25zdCBwcmVmaXggPSBvcHRpb25zOC5lc2NhcGVJbnZhbGlkID09PSB0cnVlID8gXCJcXFxcXCIgOiBcIlwiO1xuICAgICAgICBsZXQgb3V0cHV0ID0gXCJcIjtcbiAgICAgICAgaWYgKG5vZGUuaXNPcGVuID09PSB0cnVlKSB7XG4gICAgICAgICAgcmV0dXJuIHByZWZpeCArIG5vZGUudmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUuaXNDbG9zZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgIGNvbnNvbGUubG9nKFwibm9kZS5pc0Nsb3NlXCIsIHByZWZpeCwgbm9kZS52YWx1ZSk7XG4gICAgICAgICAgcmV0dXJuIHByZWZpeCArIG5vZGUudmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUudHlwZSA9PT0gXCJvcGVuXCIpIHtcbiAgICAgICAgICByZXR1cm4gaW52YWxpZCA/IHByZWZpeCArIG5vZGUudmFsdWUgOiBcIihcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS50eXBlID09PSBcImNsb3NlXCIpIHtcbiAgICAgICAgICByZXR1cm4gaW52YWxpZCA/IHByZWZpeCArIG5vZGUudmFsdWUgOiBcIilcIjtcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS50eXBlID09PSBcImNvbW1hXCIpIHtcbiAgICAgICAgICByZXR1cm4gbm9kZS5wcmV2LnR5cGUgPT09IFwiY29tbWFcIiA/IFwiXCIgOiBpbnZhbGlkID8gbm9kZS52YWx1ZSA6IFwifFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChub2RlLnZhbHVlKSB7XG4gICAgICAgICAgcmV0dXJuIG5vZGUudmFsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vZGUubm9kZXMgJiYgbm9kZS5yYW5nZXMgPiAwKSB7XG4gICAgICAgICAgY29uc3QgYXJncyA9IHV0aWxzLnJlZHVjZShub2RlLm5vZGVzKTtcbiAgICAgICAgICBjb25zdCByYW5nZSA9IGZpbGwoLi4uYXJncywgeyAuLi5vcHRpb25zOCwgd3JhcDogZmFsc2UsIHRvUmVnZXg6IHRydWUsIHN0cmljdFplcm9zOiB0cnVlIH0pO1xuICAgICAgICAgIGlmIChyYW5nZS5sZW5ndGggIT09IDApIHtcbiAgICAgICAgICAgIHJldHVybiBhcmdzLmxlbmd0aCA+IDEgJiYgcmFuZ2UubGVuZ3RoID4gMSA/IGAoJHtyYW5nZX0pYCA6IHJhbmdlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5ub2Rlcykge1xuICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2Ygbm9kZS5ub2Rlcykge1xuICAgICAgICAgICAgb3V0cHV0ICs9IHdhbGsoY2hpbGQsIG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gb3V0cHV0O1xuICAgICAgfTtcbiAgICAgIHJldHVybiB3YWxrKGFzdCk7XG4gICAgfTtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IGNvbXBpbGU7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvYnJhY2VzL2xpYi9leHBhbmQuanNcbnZhciByZXF1aXJlX2V4cGFuZCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9icmFjZXMvbGliL2V4cGFuZC5qc1wiKGV4cG9ydHMsIG1vZHVsZSkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBmaWxsID0gcmVxdWlyZV9maWxsX3JhbmdlKCk7XG4gICAgdmFyIHN0cmluZ2lmeTIgPSByZXF1aXJlX3N0cmluZ2lmeSgpO1xuICAgIHZhciB1dGlscyA9IHJlcXVpcmVfdXRpbHMoKTtcbiAgICB2YXIgYXBwZW5kID0gKHF1ZXVlID0gXCJcIiwgc3Rhc2ggPSBcIlwiLCBlbmNsb3NlID0gZmFsc2UpID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFtdO1xuICAgICAgcXVldWUgPSBbXS5jb25jYXQocXVldWUpO1xuICAgICAgc3Rhc2ggPSBbXS5jb25jYXQoc3Rhc2gpO1xuICAgICAgaWYgKCFzdGFzaC5sZW5ndGgpIHJldHVybiBxdWV1ZTtcbiAgICAgIGlmICghcXVldWUubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBlbmNsb3NlID8gdXRpbHMuZmxhdHRlbihzdGFzaCkubWFwKChlbGUpID0+IGB7JHtlbGV9fWApIDogc3Rhc2g7XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgcXVldWUpIHtcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoaXRlbSkpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIGl0ZW0pIHtcbiAgICAgICAgICAgIHJlc3VsdC5wdXNoKGFwcGVuZCh2YWx1ZSwgc3Rhc2gsIGVuY2xvc2UpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZm9yIChsZXQgZWxlIG9mIHN0YXNoKSB7XG4gICAgICAgICAgICBpZiAoZW5jbG9zZSA9PT0gdHJ1ZSAmJiB0eXBlb2YgZWxlID09PSBcInN0cmluZ1wiKSBlbGUgPSBgeyR7ZWxlfX1gO1xuICAgICAgICAgICAgcmVzdWx0LnB1c2goQXJyYXkuaXNBcnJheShlbGUpID8gYXBwZW5kKGl0ZW0sIGVsZSwgZW5jbG9zZSkgOiBpdGVtICsgZWxlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB1dGlscy5mbGF0dGVuKHJlc3VsdCk7XG4gICAgfTtcbiAgICB2YXIgZXhwYW5kID0gKGFzdCwgb3B0aW9uczggPSB7fSkgPT4ge1xuICAgICAgY29uc3QgcmFuZ2VMaW1pdCA9IG9wdGlvbnM4LnJhbmdlTGltaXQgPT09IHZvaWQgMCA/IDFlMyA6IG9wdGlvbnM4LnJhbmdlTGltaXQ7XG4gICAgICBjb25zdCB3YWxrID0gKG5vZGUsIHBhcmVudCA9IHt9KSA9PiB7XG4gICAgICAgIG5vZGUucXVldWUgPSBbXTtcbiAgICAgICAgbGV0IHAgPSBwYXJlbnQ7XG4gICAgICAgIGxldCBxID0gcGFyZW50LnF1ZXVlO1xuICAgICAgICB3aGlsZSAocC50eXBlICE9PSBcImJyYWNlXCIgJiYgcC50eXBlICE9PSBcInJvb3RcIiAmJiBwLnBhcmVudCkge1xuICAgICAgICAgIHAgPSBwLnBhcmVudDtcbiAgICAgICAgICBxID0gcC5xdWV1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5pbnZhbGlkIHx8IG5vZGUuZG9sbGFyKSB7XG4gICAgICAgICAgcS5wdXNoKGFwcGVuZChxLnBvcCgpLCBzdHJpbmdpZnkyKG5vZGUsIG9wdGlvbnM4KSkpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS50eXBlID09PSBcImJyYWNlXCIgJiYgbm9kZS5pbnZhbGlkICE9PSB0cnVlICYmIG5vZGUubm9kZXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgcS5wdXNoKGFwcGVuZChxLnBvcCgpLCBbXCJ7fVwiXSkpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAobm9kZS5ub2RlcyAmJiBub2RlLnJhbmdlcyA+IDApIHtcbiAgICAgICAgICBjb25zdCBhcmdzID0gdXRpbHMucmVkdWNlKG5vZGUubm9kZXMpO1xuICAgICAgICAgIGlmICh1dGlscy5leGNlZWRzTGltaXQoLi4uYXJncywgb3B0aW9uczguc3RlcCwgcmFuZ2VMaW1pdCkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBSYW5nZUVycm9yKFwiZXhwYW5kZWQgYXJyYXkgbGVuZ3RoIGV4Y2VlZHMgcmFuZ2UgbGltaXQuIFVzZSBvcHRpb25zLnJhbmdlTGltaXQgdG8gaW5jcmVhc2Ugb3IgZGlzYWJsZSB0aGUgbGltaXQuXCIpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBsZXQgcmFuZ2UgPSBmaWxsKC4uLmFyZ3MsIG9wdGlvbnM4KTtcbiAgICAgICAgICBpZiAocmFuZ2UubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByYW5nZSA9IHN0cmluZ2lmeTIobm9kZSwgb3B0aW9uczgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBxLnB1c2goYXBwZW5kKHEucG9wKCksIHJhbmdlKSk7XG4gICAgICAgICAgbm9kZS5ub2RlcyA9IFtdO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbmNsb3NlID0gdXRpbHMuZW5jbG9zZUJyYWNlKG5vZGUpO1xuICAgICAgICBsZXQgcXVldWUgPSBub2RlLnF1ZXVlO1xuICAgICAgICBsZXQgYmxvY2sgPSBub2RlO1xuICAgICAgICB3aGlsZSAoYmxvY2sudHlwZSAhPT0gXCJicmFjZVwiICYmIGJsb2NrLnR5cGUgIT09IFwicm9vdFwiICYmIGJsb2NrLnBhcmVudCkge1xuICAgICAgICAgIGJsb2NrID0gYmxvY2sucGFyZW50O1xuICAgICAgICAgIHF1ZXVlID0gYmxvY2sucXVldWU7XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBub2RlLm5vZGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgY2hpbGQgPSBub2RlLm5vZGVzW2ldO1xuICAgICAgICAgIGlmIChjaGlsZC50eXBlID09PSBcImNvbW1hXCIgJiYgbm9kZS50eXBlID09PSBcImJyYWNlXCIpIHtcbiAgICAgICAgICAgIGlmIChpID09PSAxKSBxdWV1ZS5wdXNoKFwiXCIpO1xuICAgICAgICAgICAgcXVldWUucHVzaChcIlwiKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY2hpbGQudHlwZSA9PT0gXCJjbG9zZVwiKSB7XG4gICAgICAgICAgICBxLnB1c2goYXBwZW5kKHEucG9wKCksIHF1ZXVlLCBlbmNsb3NlKSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGNoaWxkLnZhbHVlICYmIGNoaWxkLnR5cGUgIT09IFwib3BlblwiKSB7XG4gICAgICAgICAgICBxdWV1ZS5wdXNoKGFwcGVuZChxdWV1ZS5wb3AoKSwgY2hpbGQudmFsdWUpKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoY2hpbGQubm9kZXMpIHtcbiAgICAgICAgICAgIHdhbGsoY2hpbGQsIG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcXVldWU7XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHV0aWxzLmZsYXR0ZW4od2Fsayhhc3QpKTtcbiAgICB9O1xuICAgIG1vZHVsZS5leHBvcnRzID0gZXhwYW5kO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2JyYWNlcy9saWIvY29uc3RhbnRzLmpzXG52YXIgcmVxdWlyZV9jb25zdGFudHMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvYnJhY2VzL2xpYi9jb25zdGFudHMuanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHtcbiAgICAgIE1BWF9MRU5HVEg6IDFlNCxcbiAgICAgIC8vIERpZ2l0c1xuICAgICAgQ0hBUl8wOiBcIjBcIixcbiAgICAgIC8qIDAgKi9cbiAgICAgIENIQVJfOTogXCI5XCIsXG4gICAgICAvKiA5ICovXG4gICAgICAvLyBBbHBoYWJldCBjaGFycy5cbiAgICAgIENIQVJfVVBQRVJDQVNFX0E6IFwiQVwiLFxuICAgICAgLyogQSAqL1xuICAgICAgQ0hBUl9MT1dFUkNBU0VfQTogXCJhXCIsXG4gICAgICAvKiBhICovXG4gICAgICBDSEFSX1VQUEVSQ0FTRV9aOiBcIlpcIixcbiAgICAgIC8qIFogKi9cbiAgICAgIENIQVJfTE9XRVJDQVNFX1o6IFwielwiLFxuICAgICAgLyogeiAqL1xuICAgICAgQ0hBUl9MRUZUX1BBUkVOVEhFU0VTOiBcIihcIixcbiAgICAgIC8qICggKi9cbiAgICAgIENIQVJfUklHSFRfUEFSRU5USEVTRVM6IFwiKVwiLFxuICAgICAgLyogKSAqL1xuICAgICAgQ0hBUl9BU1RFUklTSzogXCIqXCIsXG4gICAgICAvKiAqICovXG4gICAgICAvLyBOb24tYWxwaGFiZXRpYyBjaGFycy5cbiAgICAgIENIQVJfQU1QRVJTQU5EOiBcIiZcIixcbiAgICAgIC8qICYgKi9cbiAgICAgIENIQVJfQVQ6IFwiQFwiLFxuICAgICAgLyogQCAqL1xuICAgICAgQ0hBUl9CQUNLU0xBU0g6IFwiXFxcXFwiLFxuICAgICAgLyogXFwgKi9cbiAgICAgIENIQVJfQkFDS1RJQ0s6IFwiYFwiLFxuICAgICAgLyogYCAqL1xuICAgICAgQ0hBUl9DQVJSSUFHRV9SRVRVUk46IFwiXFxyXCIsXG4gICAgICAvKiBcXHIgKi9cbiAgICAgIENIQVJfQ0lSQ1VNRkxFWF9BQ0NFTlQ6IFwiXlwiLFxuICAgICAgLyogXiAqL1xuICAgICAgQ0hBUl9DT0xPTjogXCI6XCIsXG4gICAgICAvKiA6ICovXG4gICAgICBDSEFSX0NPTU1BOiBcIixcIixcbiAgICAgIC8qICwgKi9cbiAgICAgIENIQVJfRE9MTEFSOiBcIiRcIixcbiAgICAgIC8qIC4gKi9cbiAgICAgIENIQVJfRE9UOiBcIi5cIixcbiAgICAgIC8qIC4gKi9cbiAgICAgIENIQVJfRE9VQkxFX1FVT1RFOiAnXCInLFxuICAgICAgLyogXCIgKi9cbiAgICAgIENIQVJfRVFVQUw6IFwiPVwiLFxuICAgICAgLyogPSAqL1xuICAgICAgQ0hBUl9FWENMQU1BVElPTl9NQVJLOiBcIiFcIixcbiAgICAgIC8qICEgKi9cbiAgICAgIENIQVJfRk9STV9GRUVEOiBcIlxcZlwiLFxuICAgICAgLyogXFxmICovXG4gICAgICBDSEFSX0ZPUldBUkRfU0xBU0g6IFwiL1wiLFxuICAgICAgLyogLyAqL1xuICAgICAgQ0hBUl9IQVNIOiBcIiNcIixcbiAgICAgIC8qICMgKi9cbiAgICAgIENIQVJfSFlQSEVOX01JTlVTOiBcIi1cIixcbiAgICAgIC8qIC0gKi9cbiAgICAgIENIQVJfTEVGVF9BTkdMRV9CUkFDS0VUOiBcIjxcIixcbiAgICAgIC8qIDwgKi9cbiAgICAgIENIQVJfTEVGVF9DVVJMWV9CUkFDRTogXCJ7XCIsXG4gICAgICAvKiB7ICovXG4gICAgICBDSEFSX0xFRlRfU1FVQVJFX0JSQUNLRVQ6IFwiW1wiLFxuICAgICAgLyogWyAqL1xuICAgICAgQ0hBUl9MSU5FX0ZFRUQ6IFwiXFxuXCIsXG4gICAgICAvKiBcXG4gKi9cbiAgICAgIENIQVJfTk9fQlJFQUtfU1BBQ0U6IFwiXFx4QTBcIixcbiAgICAgIC8qIFxcdTAwQTAgKi9cbiAgICAgIENIQVJfUEVSQ0VOVDogXCIlXCIsXG4gICAgICAvKiAlICovXG4gICAgICBDSEFSX1BMVVM6IFwiK1wiLFxuICAgICAgLyogKyAqL1xuICAgICAgQ0hBUl9RVUVTVElPTl9NQVJLOiBcIj9cIixcbiAgICAgIC8qID8gKi9cbiAgICAgIENIQVJfUklHSFRfQU5HTEVfQlJBQ0tFVDogXCI+XCIsXG4gICAgICAvKiA+ICovXG4gICAgICBDSEFSX1JJR0hUX0NVUkxZX0JSQUNFOiBcIn1cIixcbiAgICAgIC8qIH0gKi9cbiAgICAgIENIQVJfUklHSFRfU1FVQVJFX0JSQUNLRVQ6IFwiXVwiLFxuICAgICAgLyogXSAqL1xuICAgICAgQ0hBUl9TRU1JQ09MT046IFwiO1wiLFxuICAgICAgLyogOyAqL1xuICAgICAgQ0hBUl9TSU5HTEVfUVVPVEU6IFwiJ1wiLFxuICAgICAgLyogJyAqL1xuICAgICAgQ0hBUl9TUEFDRTogXCIgXCIsXG4gICAgICAvKiAgICovXG4gICAgICBDSEFSX1RBQjogXCJcdFwiLFxuICAgICAgLyogXFx0ICovXG4gICAgICBDSEFSX1VOREVSU0NPUkU6IFwiX1wiLFxuICAgICAgLyogXyAqL1xuICAgICAgQ0hBUl9WRVJUSUNBTF9MSU5FOiBcInxcIixcbiAgICAgIC8qIHwgKi9cbiAgICAgIENIQVJfWkVST19XSURUSF9OT0JSRUFLX1NQQUNFOiBcIlxcdUZFRkZcIlxuICAgICAgLyogXFx1RkVGRiAqL1xuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvYnJhY2VzL2xpYi9wYXJzZS5qc1xudmFyIHJlcXVpcmVfcGFyc2UgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvYnJhY2VzL2xpYi9wYXJzZS5qc1wiKGV4cG9ydHMsIG1vZHVsZSkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBzdHJpbmdpZnkyID0gcmVxdWlyZV9zdHJpbmdpZnkoKTtcbiAgICB2YXIge1xuICAgICAgTUFYX0xFTkdUSCxcbiAgICAgIENIQVJfQkFDS1NMQVNILFxuICAgICAgLyogXFwgKi9cbiAgICAgIENIQVJfQkFDS1RJQ0ssXG4gICAgICAvKiBgICovXG4gICAgICBDSEFSX0NPTU1BLFxuICAgICAgLyogLCAqL1xuICAgICAgQ0hBUl9ET1QsXG4gICAgICAvKiAuICovXG4gICAgICBDSEFSX0xFRlRfUEFSRU5USEVTRVMsXG4gICAgICAvKiAoICovXG4gICAgICBDSEFSX1JJR0hUX1BBUkVOVEhFU0VTLFxuICAgICAgLyogKSAqL1xuICAgICAgQ0hBUl9MRUZUX0NVUkxZX0JSQUNFLFxuICAgICAgLyogeyAqL1xuICAgICAgQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRSxcbiAgICAgIC8qIH0gKi9cbiAgICAgIENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVCxcbiAgICAgIC8qIFsgKi9cbiAgICAgIENIQVJfUklHSFRfU1FVQVJFX0JSQUNLRVQsXG4gICAgICAvKiBdICovXG4gICAgICBDSEFSX0RPVUJMRV9RVU9URSxcbiAgICAgIC8qIFwiICovXG4gICAgICBDSEFSX1NJTkdMRV9RVU9URSxcbiAgICAgIC8qICcgKi9cbiAgICAgIENIQVJfTk9fQlJFQUtfU1BBQ0UsXG4gICAgICBDSEFSX1pFUk9fV0lEVEhfTk9CUkVBS19TUEFDRVxuICAgIH0gPSByZXF1aXJlX2NvbnN0YW50cygpO1xuICAgIHZhciBwYXJzZTcgPSAoaW5wdXQsIG9wdGlvbnM4ID0ge30pID0+IHtcbiAgICAgIGlmICh0eXBlb2YgaW5wdXQgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIGEgc3RyaW5nXCIpO1xuICAgICAgfVxuICAgICAgY29uc3Qgb3B0cyA9IG9wdGlvbnM4IHx8IHt9O1xuICAgICAgY29uc3QgbWF4ID0gdHlwZW9mIG9wdHMubWF4TGVuZ3RoID09PSBcIm51bWJlclwiID8gTWF0aC5taW4oTUFYX0xFTkdUSCwgb3B0cy5tYXhMZW5ndGgpIDogTUFYX0xFTkdUSDtcbiAgICAgIGlmIChpbnB1dC5sZW5ndGggPiBtYXgpIHtcbiAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKGBJbnB1dCBsZW5ndGggKCR7aW5wdXQubGVuZ3RofSksIGV4Y2VlZHMgbWF4IGNoYXJhY3RlcnMgKCR7bWF4fSlgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGFzdCA9IHsgdHlwZTogXCJyb290XCIsIGlucHV0LCBub2RlczogW10gfTtcbiAgICAgIGNvbnN0IHN0YWNrMiA9IFthc3RdO1xuICAgICAgbGV0IGJsb2NrID0gYXN0O1xuICAgICAgbGV0IHByZXYgPSBhc3Q7XG4gICAgICBsZXQgYnJhY2tldHMgPSAwO1xuICAgICAgY29uc3QgbGVuZ3RoID0gaW5wdXQubGVuZ3RoO1xuICAgICAgbGV0IGluZGV4ID0gMDtcbiAgICAgIGxldCBkZXB0aCA9IDA7XG4gICAgICBsZXQgdmFsdWU7XG4gICAgICBjb25zdCBhZHZhbmNlID0gKCkgPT4gaW5wdXRbaW5kZXgrK107XG4gICAgICBjb25zdCBwdXNoMiA9IChub2RlKSA9PiB7XG4gICAgICAgIGlmIChub2RlLnR5cGUgPT09IFwidGV4dFwiICYmIHByZXYudHlwZSA9PT0gXCJkb3RcIikge1xuICAgICAgICAgIHByZXYudHlwZSA9IFwidGV4dFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcmV2ICYmIHByZXYudHlwZSA9PT0gXCJ0ZXh0XCIgJiYgbm9kZS50eXBlID09PSBcInRleHRcIikge1xuICAgICAgICAgIHByZXYudmFsdWUgKz0gbm9kZS52YWx1ZTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgYmxvY2subm9kZXMucHVzaChub2RlKTtcbiAgICAgICAgbm9kZS5wYXJlbnQgPSBibG9jaztcbiAgICAgICAgbm9kZS5wcmV2ID0gcHJldjtcbiAgICAgICAgcHJldiA9IG5vZGU7XG4gICAgICAgIHJldHVybiBub2RlO1xuICAgICAgfTtcbiAgICAgIHB1c2gyKHsgdHlwZTogXCJib3NcIiB9KTtcbiAgICAgIHdoaWxlIChpbmRleCA8IGxlbmd0aCkge1xuICAgICAgICBibG9jayA9IHN0YWNrMltzdGFjazIubGVuZ3RoIC0gMV07XG4gICAgICAgIHZhbHVlID0gYWR2YW5jZSgpO1xuICAgICAgICBpZiAodmFsdWUgPT09IENIQVJfWkVST19XSURUSF9OT0JSRUFLX1NQQUNFIHx8IHZhbHVlID09PSBDSEFSX05PX0JSRUFLX1NQQUNFKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlID09PSBDSEFSX0JBQ0tTTEFTSCkge1xuICAgICAgICAgIHB1c2gyKHsgdHlwZTogXCJ0ZXh0XCIsIHZhbHVlOiAob3B0aW9uczgua2VlcEVzY2FwaW5nID8gdmFsdWUgOiBcIlwiKSArIGFkdmFuY2UoKSB9KTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgPT09IENIQVJfUklHSFRfU1FVQVJFX0JSQUNLRVQpIHtcbiAgICAgICAgICBwdXNoMih7IHR5cGU6IFwidGV4dFwiLCB2YWx1ZTogXCJcXFxcXCIgKyB2YWx1ZSB9KTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgPT09IENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVCkge1xuICAgICAgICAgIGJyYWNrZXRzKys7XG4gICAgICAgICAgbGV0IG5leHQ7XG4gICAgICAgICAgd2hpbGUgKGluZGV4IDwgbGVuZ3RoICYmIChuZXh0ID0gYWR2YW5jZSgpKSkge1xuICAgICAgICAgICAgdmFsdWUgKz0gbmV4dDtcbiAgICAgICAgICAgIGlmIChuZXh0ID09PSBDSEFSX0xFRlRfU1FVQVJFX0JSQUNLRVQpIHtcbiAgICAgICAgICAgICAgYnJhY2tldHMrKztcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAobmV4dCA9PT0gQ0hBUl9CQUNLU0xBU0gpIHtcbiAgICAgICAgICAgICAgdmFsdWUgKz0gYWR2YW5jZSgpO1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChuZXh0ID09PSBDSEFSX1JJR0hUX1NRVUFSRV9CUkFDS0VUKSB7XG4gICAgICAgICAgICAgIGJyYWNrZXRzLS07XG4gICAgICAgICAgICAgIGlmIChicmFja2V0cyA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHB1c2gyKHsgdHlwZTogXCJ0ZXh0XCIsIHZhbHVlIH0pO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gQ0hBUl9MRUZUX1BBUkVOVEhFU0VTKSB7XG4gICAgICAgICAgYmxvY2sgPSBwdXNoMih7IHR5cGU6IFwicGFyZW5cIiwgbm9kZXM6IFtdIH0pO1xuICAgICAgICAgIHN0YWNrMi5wdXNoKGJsb2NrKTtcbiAgICAgICAgICBwdXNoMih7IHR5cGU6IFwidGV4dFwiLCB2YWx1ZSB9KTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgPT09IENIQVJfUklHSFRfUEFSRU5USEVTRVMpIHtcbiAgICAgICAgICBpZiAoYmxvY2sudHlwZSAhPT0gXCJwYXJlblwiKSB7XG4gICAgICAgICAgICBwdXNoMih7IHR5cGU6IFwidGV4dFwiLCB2YWx1ZSB9KTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBibG9jayA9IHN0YWNrMi5wb3AoKTtcbiAgICAgICAgICBwdXNoMih7IHR5cGU6IFwidGV4dFwiLCB2YWx1ZSB9KTtcbiAgICAgICAgICBibG9jayA9IHN0YWNrMltzdGFjazIubGVuZ3RoIC0gMV07XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlID09PSBDSEFSX0RPVUJMRV9RVU9URSB8fCB2YWx1ZSA9PT0gQ0hBUl9TSU5HTEVfUVVPVEUgfHwgdmFsdWUgPT09IENIQVJfQkFDS1RJQ0spIHtcbiAgICAgICAgICBjb25zdCBvcGVuID0gdmFsdWU7XG4gICAgICAgICAgbGV0IG5leHQ7XG4gICAgICAgICAgaWYgKG9wdGlvbnM4LmtlZXBRdW90ZXMgIT09IHRydWUpIHtcbiAgICAgICAgICAgIHZhbHVlID0gXCJcIjtcbiAgICAgICAgICB9XG4gICAgICAgICAgd2hpbGUgKGluZGV4IDwgbGVuZ3RoICYmIChuZXh0ID0gYWR2YW5jZSgpKSkge1xuICAgICAgICAgICAgaWYgKG5leHQgPT09IENIQVJfQkFDS1NMQVNIKSB7XG4gICAgICAgICAgICAgIHZhbHVlICs9IG5leHQgKyBhZHZhbmNlKCk7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG5leHQgPT09IG9wZW4pIHtcbiAgICAgICAgICAgICAgaWYgKG9wdGlvbnM4LmtlZXBRdW90ZXMgPT09IHRydWUpIHZhbHVlICs9IG5leHQ7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFsdWUgKz0gbmV4dDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHVzaDIoeyB0eXBlOiBcInRleHRcIiwgdmFsdWUgfSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlID09PSBDSEFSX0xFRlRfQ1VSTFlfQlJBQ0UpIHtcbiAgICAgICAgICBkZXB0aCsrO1xuICAgICAgICAgIGNvbnN0IGRvbGxhciA9IHByZXYudmFsdWUgJiYgcHJldi52YWx1ZS5zbGljZSgtMSkgPT09IFwiJFwiIHx8IGJsb2NrLmRvbGxhciA9PT0gdHJ1ZTtcbiAgICAgICAgICBjb25zdCBicmFjZSA9IHtcbiAgICAgICAgICAgIHR5cGU6IFwiYnJhY2VcIixcbiAgICAgICAgICAgIG9wZW46IHRydWUsXG4gICAgICAgICAgICBjbG9zZTogZmFsc2UsXG4gICAgICAgICAgICBkb2xsYXIsXG4gICAgICAgICAgICBkZXB0aCxcbiAgICAgICAgICAgIGNvbW1hczogMCxcbiAgICAgICAgICAgIHJhbmdlczogMCxcbiAgICAgICAgICAgIG5vZGVzOiBbXVxuICAgICAgICAgIH07XG4gICAgICAgICAgYmxvY2sgPSBwdXNoMihicmFjZSk7XG4gICAgICAgICAgc3RhY2syLnB1c2goYmxvY2spO1xuICAgICAgICAgIHB1c2gyKHsgdHlwZTogXCJvcGVuXCIsIHZhbHVlIH0pO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRSkge1xuICAgICAgICAgIGlmIChibG9jay50eXBlICE9PSBcImJyYWNlXCIpIHtcbiAgICAgICAgICAgIHB1c2gyKHsgdHlwZTogXCJ0ZXh0XCIsIHZhbHVlIH0pO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IHR5cGUyID0gXCJjbG9zZVwiO1xuICAgICAgICAgIGJsb2NrID0gc3RhY2syLnBvcCgpO1xuICAgICAgICAgIGJsb2NrLmNsb3NlID0gdHJ1ZTtcbiAgICAgICAgICBwdXNoMih7IHR5cGU6IHR5cGUyLCB2YWx1ZSB9KTtcbiAgICAgICAgICBkZXB0aC0tO1xuICAgICAgICAgIGJsb2NrID0gc3RhY2syW3N0YWNrMi5sZW5ndGggLSAxXTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgPT09IENIQVJfQ09NTUEgJiYgZGVwdGggPiAwKSB7XG4gICAgICAgICAgaWYgKGJsb2NrLnJhbmdlcyA+IDApIHtcbiAgICAgICAgICAgIGJsb2NrLnJhbmdlcyA9IDA7XG4gICAgICAgICAgICBjb25zdCBvcGVuID0gYmxvY2subm9kZXMuc2hpZnQoKTtcbiAgICAgICAgICAgIGJsb2NrLm5vZGVzID0gW29wZW4sIHsgdHlwZTogXCJ0ZXh0XCIsIHZhbHVlOiBzdHJpbmdpZnkyKGJsb2NrKSB9XTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHVzaDIoeyB0eXBlOiBcImNvbW1hXCIsIHZhbHVlIH0pO1xuICAgICAgICAgIGJsb2NrLmNvbW1hcysrO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gQ0hBUl9ET1QgJiYgZGVwdGggPiAwICYmIGJsb2NrLmNvbW1hcyA9PT0gMCkge1xuICAgICAgICAgIGNvbnN0IHNpYmxpbmdzID0gYmxvY2subm9kZXM7XG4gICAgICAgICAgaWYgKGRlcHRoID09PSAwIHx8IHNpYmxpbmdzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcHVzaDIoeyB0eXBlOiBcInRleHRcIiwgdmFsdWUgfSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHByZXYudHlwZSA9PT0gXCJkb3RcIikge1xuICAgICAgICAgICAgYmxvY2sucmFuZ2UgPSBbXTtcbiAgICAgICAgICAgIHByZXYudmFsdWUgKz0gdmFsdWU7XG4gICAgICAgICAgICBwcmV2LnR5cGUgPSBcInJhbmdlXCI7XG4gICAgICAgICAgICBpZiAoYmxvY2subm9kZXMubGVuZ3RoICE9PSAzICYmIGJsb2NrLm5vZGVzLmxlbmd0aCAhPT0gNSkge1xuICAgICAgICAgICAgICBibG9jay5pbnZhbGlkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgYmxvY2sucmFuZ2VzID0gMDtcbiAgICAgICAgICAgICAgcHJldi50eXBlID0gXCJ0ZXh0XCI7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYmxvY2sucmFuZ2VzKys7XG4gICAgICAgICAgICBibG9jay5hcmdzID0gW107XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHByZXYudHlwZSA9PT0gXCJyYW5nZVwiKSB7XG4gICAgICAgICAgICBzaWJsaW5ncy5wb3AoKTtcbiAgICAgICAgICAgIGNvbnN0IGJlZm9yZSA9IHNpYmxpbmdzW3NpYmxpbmdzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgYmVmb3JlLnZhbHVlICs9IHByZXYudmFsdWUgKyB2YWx1ZTtcbiAgICAgICAgICAgIHByZXYgPSBiZWZvcmU7XG4gICAgICAgICAgICBibG9jay5yYW5nZXMtLTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwdXNoMih7IHR5cGU6IFwiZG90XCIsIHZhbHVlIH0pO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIHB1c2gyKHsgdHlwZTogXCJ0ZXh0XCIsIHZhbHVlIH0pO1xuICAgICAgfVxuICAgICAgZG8ge1xuICAgICAgICBibG9jayA9IHN0YWNrMi5wb3AoKTtcbiAgICAgICAgaWYgKGJsb2NrLnR5cGUgIT09IFwicm9vdFwiKSB7XG4gICAgICAgICAgYmxvY2subm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFub2RlLm5vZGVzKSB7XG4gICAgICAgICAgICAgIGlmIChub2RlLnR5cGUgPT09IFwib3BlblwiKSBub2RlLmlzT3BlbiA9IHRydWU7XG4gICAgICAgICAgICAgIGlmIChub2RlLnR5cGUgPT09IFwiY2xvc2VcIikgbm9kZS5pc0Nsb3NlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgaWYgKCFub2RlLm5vZGVzKSBub2RlLnR5cGUgPSBcInRleHRcIjtcbiAgICAgICAgICAgICAgbm9kZS5pbnZhbGlkID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjb25zdCBwYXJlbnQgPSBzdGFjazJbc3RhY2syLmxlbmd0aCAtIDFdO1xuICAgICAgICAgIGNvbnN0IGluZGV4MiA9IHBhcmVudC5ub2Rlcy5pbmRleE9mKGJsb2NrKTtcbiAgICAgICAgICBwYXJlbnQubm9kZXMuc3BsaWNlKGluZGV4MiwgMSwgLi4uYmxvY2subm9kZXMpO1xuICAgICAgICB9XG4gICAgICB9IHdoaWxlIChzdGFjazIubGVuZ3RoID4gMCk7XG4gICAgICBwdXNoMih7IHR5cGU6IFwiZW9zXCIgfSk7XG4gICAgICByZXR1cm4gYXN0O1xuICAgIH07XG4gICAgbW9kdWxlLmV4cG9ydHMgPSBwYXJzZTc7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvYnJhY2VzL2luZGV4LmpzXG52YXIgcmVxdWlyZV9icmFjZXMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvYnJhY2VzL2luZGV4LmpzXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIHN0cmluZ2lmeTIgPSByZXF1aXJlX3N0cmluZ2lmeSgpO1xuICAgIHZhciBjb21waWxlID0gcmVxdWlyZV9jb21waWxlKCk7XG4gICAgdmFyIGV4cGFuZCA9IHJlcXVpcmVfZXhwYW5kKCk7XG4gICAgdmFyIHBhcnNlNyA9IHJlcXVpcmVfcGFyc2UoKTtcbiAgICB2YXIgYnJhY2VzID0gKGlucHV0LCBvcHRpb25zOCA9IHt9KSA9PiB7XG4gICAgICBsZXQgb3V0cHV0ID0gW107XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShpbnB1dCkpIHtcbiAgICAgICAgZm9yIChjb25zdCBwYXR0ZXJuIG9mIGlucHV0KSB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gYnJhY2VzLmNyZWF0ZShwYXR0ZXJuLCBvcHRpb25zOCk7XG4gICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkocmVzdWx0KSkge1xuICAgICAgICAgICAgb3V0cHV0LnB1c2goLi4ucmVzdWx0KTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgb3V0cHV0LnB1c2gocmVzdWx0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG91dHB1dCA9IFtdLmNvbmNhdChicmFjZXMuY3JlYXRlKGlucHV0LCBvcHRpb25zOCkpO1xuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbnM4ICYmIG9wdGlvbnM4LmV4cGFuZCA9PT0gdHJ1ZSAmJiBvcHRpb25zOC5ub2R1cGVzID09PSB0cnVlKSB7XG4gICAgICAgIG91dHB1dCA9IFsuLi5uZXcgU2V0KG91dHB1dCldO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG91dHB1dDtcbiAgICB9O1xuICAgIGJyYWNlcy5wYXJzZSA9IChpbnB1dCwgb3B0aW9uczggPSB7fSkgPT4gcGFyc2U3KGlucHV0LCBvcHRpb25zOCk7XG4gICAgYnJhY2VzLnN0cmluZ2lmeSA9IChpbnB1dCwgb3B0aW9uczggPSB7fSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICByZXR1cm4gc3RyaW5naWZ5MihicmFjZXMucGFyc2UoaW5wdXQsIG9wdGlvbnM4KSwgb3B0aW9uczgpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHN0cmluZ2lmeTIoaW5wdXQsIG9wdGlvbnM4KTtcbiAgICB9O1xuICAgIGJyYWNlcy5jb21waWxlID0gKGlucHV0LCBvcHRpb25zOCA9IHt9KSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGlucHV0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGlucHV0ID0gYnJhY2VzLnBhcnNlKGlucHV0LCBvcHRpb25zOCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gY29tcGlsZShpbnB1dCwgb3B0aW9uczgpO1xuICAgIH07XG4gICAgYnJhY2VzLmV4cGFuZCA9IChpbnB1dCwgb3B0aW9uczggPSB7fSkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBpbnB1dCA9IGJyYWNlcy5wYXJzZShpbnB1dCwgb3B0aW9uczgpO1xuICAgICAgfVxuICAgICAgbGV0IHJlc3VsdCA9IGV4cGFuZChpbnB1dCwgb3B0aW9uczgpO1xuICAgICAgaWYgKG9wdGlvbnM4Lm5vZW1wdHkgPT09IHRydWUpIHtcbiAgICAgICAgcmVzdWx0ID0gcmVzdWx0LmZpbHRlcihCb29sZWFuKTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zOC5ub2R1cGVzID09PSB0cnVlKSB7XG4gICAgICAgIHJlc3VsdCA9IFsuLi5uZXcgU2V0KHJlc3VsdCldO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuICAgIGJyYWNlcy5jcmVhdGUgPSAoaW5wdXQsIG9wdGlvbnM4ID0ge30pID0+IHtcbiAgICAgIGlmIChpbnB1dCA9PT0gXCJcIiB8fCBpbnB1dC5sZW5ndGggPCAzKSB7XG4gICAgICAgIHJldHVybiBbaW5wdXRdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9wdGlvbnM4LmV4cGFuZCAhPT0gdHJ1ZSA/IGJyYWNlcy5jb21waWxlKGlucHV0LCBvcHRpb25zOCkgOiBicmFjZXMuZXhwYW5kKGlucHV0LCBvcHRpb25zOCk7XG4gICAgfTtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IGJyYWNlcztcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9waWNvbWF0Y2gvbGliL2NvbnN0YW50cy5qc1xudmFyIHJlcXVpcmVfY29uc3RhbnRzMiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9waWNvbWF0Y2gvbGliL2NvbnN0YW50cy5qc1wiKGV4cG9ydHMsIG1vZHVsZSkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBwYXRoMTMgPSBfX3JlcXVpcmUoXCJwYXRoXCIpO1xuICAgIHZhciBXSU5fU0xBU0ggPSBcIlxcXFxcXFxcL1wiO1xuICAgIHZhciBXSU5fTk9fU0xBU0ggPSBgW14ke1dJTl9TTEFTSH1dYDtcbiAgICB2YXIgRE9UX0xJVEVSQUwgPSBcIlxcXFwuXCI7XG4gICAgdmFyIFBMVVNfTElURVJBTCA9IFwiXFxcXCtcIjtcbiAgICB2YXIgUU1BUktfTElURVJBTCA9IFwiXFxcXD9cIjtcbiAgICB2YXIgU0xBU0hfTElURVJBTCA9IFwiXFxcXC9cIjtcbiAgICB2YXIgT05FX0NIQVIgPSBcIig/PS4pXCI7XG4gICAgdmFyIFFNQVJLID0gXCJbXi9dXCI7XG4gICAgdmFyIEVORF9BTkNIT1IgPSBgKD86JHtTTEFTSF9MSVRFUkFMfXwkKWA7XG4gICAgdmFyIFNUQVJUX0FOQ0hPUiA9IGAoPzpefCR7U0xBU0hfTElURVJBTH0pYDtcbiAgICB2YXIgRE9UU19TTEFTSCA9IGAke0RPVF9MSVRFUkFMfXsxLDJ9JHtFTkRfQU5DSE9SfWA7XG4gICAgdmFyIE5PX0RPVCA9IGAoPyEke0RPVF9MSVRFUkFMfSlgO1xuICAgIHZhciBOT19ET1RTID0gYCg/ISR7U1RBUlRfQU5DSE9SfSR7RE9UU19TTEFTSH0pYDtcbiAgICB2YXIgTk9fRE9UX1NMQVNIID0gYCg/ISR7RE9UX0xJVEVSQUx9ezAsMX0ke0VORF9BTkNIT1J9KWA7XG4gICAgdmFyIE5PX0RPVFNfU0xBU0ggPSBgKD8hJHtET1RTX1NMQVNIfSlgO1xuICAgIHZhciBRTUFSS19OT19ET1QgPSBgW14uJHtTTEFTSF9MSVRFUkFMfV1gO1xuICAgIHZhciBTVEFSID0gYCR7UU1BUkt9Kj9gO1xuICAgIHZhciBQT1NJWF9DSEFSUyA9IHtcbiAgICAgIERPVF9MSVRFUkFMLFxuICAgICAgUExVU19MSVRFUkFMLFxuICAgICAgUU1BUktfTElURVJBTCxcbiAgICAgIFNMQVNIX0xJVEVSQUwsXG4gICAgICBPTkVfQ0hBUixcbiAgICAgIFFNQVJLLFxuICAgICAgRU5EX0FOQ0hPUixcbiAgICAgIERPVFNfU0xBU0gsXG4gICAgICBOT19ET1QsXG4gICAgICBOT19ET1RTLFxuICAgICAgTk9fRE9UX1NMQVNILFxuICAgICAgTk9fRE9UU19TTEFTSCxcbiAgICAgIFFNQVJLX05PX0RPVCxcbiAgICAgIFNUQVIsXG4gICAgICBTVEFSVF9BTkNIT1JcbiAgICB9O1xuICAgIHZhciBXSU5ET1dTX0NIQVJTID0ge1xuICAgICAgLi4uUE9TSVhfQ0hBUlMsXG4gICAgICBTTEFTSF9MSVRFUkFMOiBgWyR7V0lOX1NMQVNIfV1gLFxuICAgICAgUU1BUks6IFdJTl9OT19TTEFTSCxcbiAgICAgIFNUQVI6IGAke1dJTl9OT19TTEFTSH0qP2AsXG4gICAgICBET1RTX1NMQVNIOiBgJHtET1RfTElURVJBTH17MSwyfSg/Olske1dJTl9TTEFTSH1dfCQpYCxcbiAgICAgIE5PX0RPVDogYCg/ISR7RE9UX0xJVEVSQUx9KWAsXG4gICAgICBOT19ET1RTOiBgKD8hKD86XnxbJHtXSU5fU0xBU0h9XSkke0RPVF9MSVRFUkFMfXsxLDJ9KD86WyR7V0lOX1NMQVNIfV18JCkpYCxcbiAgICAgIE5PX0RPVF9TTEFTSDogYCg/ISR7RE9UX0xJVEVSQUx9ezAsMX0oPzpbJHtXSU5fU0xBU0h9XXwkKSlgLFxuICAgICAgTk9fRE9UU19TTEFTSDogYCg/ISR7RE9UX0xJVEVSQUx9ezEsMn0oPzpbJHtXSU5fU0xBU0h9XXwkKSlgLFxuICAgICAgUU1BUktfTk9fRE9UOiBgW14uJHtXSU5fU0xBU0h9XWAsXG4gICAgICBTVEFSVF9BTkNIT1I6IGAoPzpefFske1dJTl9TTEFTSH1dKWAsXG4gICAgICBFTkRfQU5DSE9SOiBgKD86WyR7V0lOX1NMQVNIfV18JClgXG4gICAgfTtcbiAgICB2YXIgUE9TSVhfUkVHRVhfU09VUkNFID0ge1xuICAgICAgYWxudW06IFwiYS16QS1aMC05XCIsXG4gICAgICBhbHBoYTogXCJhLXpBLVpcIixcbiAgICAgIGFzY2lpOiBcIlxcXFx4MDAtXFxcXHg3RlwiLFxuICAgICAgYmxhbms6IFwiIFxcXFx0XCIsXG4gICAgICBjbnRybDogXCJcXFxceDAwLVxcXFx4MUZcXFxceDdGXCIsXG4gICAgICBkaWdpdDogXCIwLTlcIixcbiAgICAgIGdyYXBoOiBcIlxcXFx4MjEtXFxcXHg3RVwiLFxuICAgICAgbG93ZXI6IFwiYS16XCIsXG4gICAgICBwcmludDogXCJcXFxceDIwLVxcXFx4N0UgXCIsXG4gICAgICBwdW5jdDogXCJcXFxcLSFcXFwiIyQlJicoKVxcXFwqKywuLzo7PD0+P0BbXFxcXF1eX2B7fH1+XCIsXG4gICAgICBzcGFjZTogXCIgXFxcXHRcXFxcclxcXFxuXFxcXHZcXFxcZlwiLFxuICAgICAgdXBwZXI6IFwiQS1aXCIsXG4gICAgICB3b3JkOiBcIkEtWmEtejAtOV9cIixcbiAgICAgIHhkaWdpdDogXCJBLUZhLWYwLTlcIlxuICAgIH07XG4gICAgbW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgICBNQVhfTEVOR1RIOiAxMDI0ICogNjQsXG4gICAgICBQT1NJWF9SRUdFWF9TT1VSQ0UsXG4gICAgICAvLyByZWd1bGFyIGV4cHJlc3Npb25zXG4gICAgICBSRUdFWF9CQUNLU0xBU0g6IC9cXFxcKD8hWyorP14ke30ofClbXFxdXSkvZyxcbiAgICAgIFJFR0VYX05PTl9TUEVDSUFMX0NIQVJTOiAvXlteQCFbXFxdLiwkKis/Xnt9KCl8XFxcXC9dKy8sXG4gICAgICBSRUdFWF9TUEVDSUFMX0NIQVJTOiAvWy0qKz8uXiR7fSh8KVtcXF1dLyxcbiAgICAgIFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRjogLyhcXFxcPykoKFxcVykoXFwzKikpL2csXG4gICAgICBSRUdFWF9TUEVDSUFMX0NIQVJTX0dMT0JBTDogLyhbLSorPy5eJHt9KHwpW1xcXV0pL2csXG4gICAgICBSRUdFWF9SRU1PVkVfQkFDS1NMQVNIOiAvKD86XFxbLio/W15cXFxcXVxcXXxcXFxcKD89LikpL2csXG4gICAgICAvLyBSZXBsYWNlIGdsb2JzIHdpdGggZXF1aXZhbGVudCBwYXR0ZXJucyB0byByZWR1Y2UgcGFyc2luZyB0aW1lLlxuICAgICAgUkVQTEFDRU1FTlRTOiB7XG4gICAgICAgIFwiKioqXCI6IFwiKlwiLFxuICAgICAgICBcIioqLyoqXCI6IFwiKipcIixcbiAgICAgICAgXCIqKi8qKi8qKlwiOiBcIioqXCJcbiAgICAgIH0sXG4gICAgICAvLyBEaWdpdHNcbiAgICAgIENIQVJfMDogNDgsXG4gICAgICAvKiAwICovXG4gICAgICBDSEFSXzk6IDU3LFxuICAgICAgLyogOSAqL1xuICAgICAgLy8gQWxwaGFiZXQgY2hhcnMuXG4gICAgICBDSEFSX1VQUEVSQ0FTRV9BOiA2NSxcbiAgICAgIC8qIEEgKi9cbiAgICAgIENIQVJfTE9XRVJDQVNFX0E6IDk3LFxuICAgICAgLyogYSAqL1xuICAgICAgQ0hBUl9VUFBFUkNBU0VfWjogOTAsXG4gICAgICAvKiBaICovXG4gICAgICBDSEFSX0xPV0VSQ0FTRV9aOiAxMjIsXG4gICAgICAvKiB6ICovXG4gICAgICBDSEFSX0xFRlRfUEFSRU5USEVTRVM6IDQwLFxuICAgICAgLyogKCAqL1xuICAgICAgQ0hBUl9SSUdIVF9QQVJFTlRIRVNFUzogNDEsXG4gICAgICAvKiApICovXG4gICAgICBDSEFSX0FTVEVSSVNLOiA0MixcbiAgICAgIC8qICogKi9cbiAgICAgIC8vIE5vbi1hbHBoYWJldGljIGNoYXJzLlxuICAgICAgQ0hBUl9BTVBFUlNBTkQ6IDM4LFxuICAgICAgLyogJiAqL1xuICAgICAgQ0hBUl9BVDogNjQsXG4gICAgICAvKiBAICovXG4gICAgICBDSEFSX0JBQ0tXQVJEX1NMQVNIOiA5MixcbiAgICAgIC8qIFxcICovXG4gICAgICBDSEFSX0NBUlJJQUdFX1JFVFVSTjogMTMsXG4gICAgICAvKiBcXHIgKi9cbiAgICAgIENIQVJfQ0lSQ1VNRkxFWF9BQ0NFTlQ6IDk0LFxuICAgICAgLyogXiAqL1xuICAgICAgQ0hBUl9DT0xPTjogNTgsXG4gICAgICAvKiA6ICovXG4gICAgICBDSEFSX0NPTU1BOiA0NCxcbiAgICAgIC8qICwgKi9cbiAgICAgIENIQVJfRE9UOiA0NixcbiAgICAgIC8qIC4gKi9cbiAgICAgIENIQVJfRE9VQkxFX1FVT1RFOiAzNCxcbiAgICAgIC8qIFwiICovXG4gICAgICBDSEFSX0VRVUFMOiA2MSxcbiAgICAgIC8qID0gKi9cbiAgICAgIENIQVJfRVhDTEFNQVRJT05fTUFSSzogMzMsXG4gICAgICAvKiAhICovXG4gICAgICBDSEFSX0ZPUk1fRkVFRDogMTIsXG4gICAgICAvKiBcXGYgKi9cbiAgICAgIENIQVJfRk9SV0FSRF9TTEFTSDogNDcsXG4gICAgICAvKiAvICovXG4gICAgICBDSEFSX0dSQVZFX0FDQ0VOVDogOTYsXG4gICAgICAvKiBgICovXG4gICAgICBDSEFSX0hBU0g6IDM1LFxuICAgICAgLyogIyAqL1xuICAgICAgQ0hBUl9IWVBIRU5fTUlOVVM6IDQ1LFxuICAgICAgLyogLSAqL1xuICAgICAgQ0hBUl9MRUZUX0FOR0xFX0JSQUNLRVQ6IDYwLFxuICAgICAgLyogPCAqL1xuICAgICAgQ0hBUl9MRUZUX0NVUkxZX0JSQUNFOiAxMjMsXG4gICAgICAvKiB7ICovXG4gICAgICBDSEFSX0xFRlRfU1FVQVJFX0JSQUNLRVQ6IDkxLFxuICAgICAgLyogWyAqL1xuICAgICAgQ0hBUl9MSU5FX0ZFRUQ6IDEwLFxuICAgICAgLyogXFxuICovXG4gICAgICBDSEFSX05PX0JSRUFLX1NQQUNFOiAxNjAsXG4gICAgICAvKiBcXHUwMEEwICovXG4gICAgICBDSEFSX1BFUkNFTlQ6IDM3LFxuICAgICAgLyogJSAqL1xuICAgICAgQ0hBUl9QTFVTOiA0MyxcbiAgICAgIC8qICsgKi9cbiAgICAgIENIQVJfUVVFU1RJT05fTUFSSzogNjMsXG4gICAgICAvKiA/ICovXG4gICAgICBDSEFSX1JJR0hUX0FOR0xFX0JSQUNLRVQ6IDYyLFxuICAgICAgLyogPiAqL1xuICAgICAgQ0hBUl9SSUdIVF9DVVJMWV9CUkFDRTogMTI1LFxuICAgICAgLyogfSAqL1xuICAgICAgQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVDogOTMsXG4gICAgICAvKiBdICovXG4gICAgICBDSEFSX1NFTUlDT0xPTjogNTksXG4gICAgICAvKiA7ICovXG4gICAgICBDSEFSX1NJTkdMRV9RVU9URTogMzksXG4gICAgICAvKiAnICovXG4gICAgICBDSEFSX1NQQUNFOiAzMixcbiAgICAgIC8qICAgKi9cbiAgICAgIENIQVJfVEFCOiA5LFxuICAgICAgLyogXFx0ICovXG4gICAgICBDSEFSX1VOREVSU0NPUkU6IDk1LFxuICAgICAgLyogXyAqL1xuICAgICAgQ0hBUl9WRVJUSUNBTF9MSU5FOiAxMjQsXG4gICAgICAvKiB8ICovXG4gICAgICBDSEFSX1pFUk9fV0lEVEhfTk9CUkVBS19TUEFDRTogNjUyNzksXG4gICAgICAvKiBcXHVGRUZGICovXG4gICAgICBTRVA6IHBhdGgxMy5zZXAsXG4gICAgICAvKipcbiAgICAgICAqIENyZWF0ZSBFWFRHTE9CX0NIQVJTXG4gICAgICAgKi9cbiAgICAgIGV4dGdsb2JDaGFycyhjaGFycykge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIFwiIVwiOiB7IHR5cGU6IFwibmVnYXRlXCIsIG9wZW46IFwiKD86KD8hKD86XCIsIGNsb3NlOiBgKSkke2NoYXJzLlNUQVJ9KWAgfSxcbiAgICAgICAgICBcIj9cIjogeyB0eXBlOiBcInFtYXJrXCIsIG9wZW46IFwiKD86XCIsIGNsb3NlOiBcIik/XCIgfSxcbiAgICAgICAgICBcIitcIjogeyB0eXBlOiBcInBsdXNcIiwgb3BlbjogXCIoPzpcIiwgY2xvc2U6IFwiKStcIiB9LFxuICAgICAgICAgIFwiKlwiOiB7IHR5cGU6IFwic3RhclwiLCBvcGVuOiBcIig/OlwiLCBjbG9zZTogXCIpKlwiIH0sXG4gICAgICAgICAgXCJAXCI6IHsgdHlwZTogXCJhdFwiLCBvcGVuOiBcIig/OlwiLCBjbG9zZTogXCIpXCIgfVxuICAgICAgICB9O1xuICAgICAgfSxcbiAgICAgIC8qKlxuICAgICAgICogQ3JlYXRlIEdMT0JfQ0hBUlNcbiAgICAgICAqL1xuICAgICAgZ2xvYkNoYXJzKHdpbjMyKSB7XG4gICAgICAgIHJldHVybiB3aW4zMiA9PT0gdHJ1ZSA/IFdJTkRPV1NfQ0hBUlMgOiBQT1NJWF9DSEFSUztcbiAgICAgIH1cbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3BpY29tYXRjaC9saWIvdXRpbHMuanNcbnZhciByZXF1aXJlX3V0aWxzMiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9waWNvbWF0Y2gvbGliL3V0aWxzLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBwYXRoMTMgPSBfX3JlcXVpcmUoXCJwYXRoXCIpO1xuICAgIHZhciB3aW4zMiA9IHByb2Nlc3MucGxhdGZvcm0gPT09IFwid2luMzJcIjtcbiAgICB2YXIge1xuICAgICAgUkVHRVhfQkFDS1NMQVNILFxuICAgICAgUkVHRVhfUkVNT1ZFX0JBQ0tTTEFTSCxcbiAgICAgIFJFR0VYX1NQRUNJQUxfQ0hBUlMsXG4gICAgICBSRUdFWF9TUEVDSUFMX0NIQVJTX0dMT0JBTFxuICAgIH0gPSByZXF1aXJlX2NvbnN0YW50czIoKTtcbiAgICBleHBvcnRzLmlzT2JqZWN0ID0gKHZhbCkgPT4gdmFsICE9PSBudWxsICYmIHR5cGVvZiB2YWwgPT09IFwib2JqZWN0XCIgJiYgIUFycmF5LmlzQXJyYXkodmFsKTtcbiAgICBleHBvcnRzLmhhc1JlZ2V4Q2hhcnMgPSAoc3RyMikgPT4gUkVHRVhfU1BFQ0lBTF9DSEFSUy50ZXN0KHN0cjIpO1xuICAgIGV4cG9ydHMuaXNSZWdleENoYXIgPSAoc3RyMikgPT4gc3RyMi5sZW5ndGggPT09IDEgJiYgZXhwb3J0cy5oYXNSZWdleENoYXJzKHN0cjIpO1xuICAgIGV4cG9ydHMuZXNjYXBlUmVnZXggPSAoc3RyMikgPT4gc3RyMi5yZXBsYWNlKFJFR0VYX1NQRUNJQUxfQ0hBUlNfR0xPQkFMLCBcIlxcXFwkMVwiKTtcbiAgICBleHBvcnRzLnRvUG9zaXhTbGFzaGVzID0gKHN0cjIpID0+IHN0cjIucmVwbGFjZShSRUdFWF9CQUNLU0xBU0gsIFwiL1wiKTtcbiAgICBleHBvcnRzLnJlbW92ZUJhY2tzbGFzaGVzID0gKHN0cjIpID0+IHtcbiAgICAgIHJldHVybiBzdHIyLnJlcGxhY2UoUkVHRVhfUkVNT1ZFX0JBQ0tTTEFTSCwgKG1hdGNoKSA9PiB7XG4gICAgICAgIHJldHVybiBtYXRjaCA9PT0gXCJcXFxcXCIgPyBcIlwiIDogbWF0Y2g7XG4gICAgICB9KTtcbiAgICB9O1xuICAgIGV4cG9ydHMuc3VwcG9ydHNMb29rYmVoaW5kcyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IHNlZ3MgPSBwcm9jZXNzLnZlcnNpb24uc2xpY2UoMSkuc3BsaXQoXCIuXCIpLm1hcChOdW1iZXIpO1xuICAgICAgaWYgKHNlZ3MubGVuZ3RoID09PSAzICYmIHNlZ3NbMF0gPj0gOSB8fCBzZWdzWzBdID09PSA4ICYmIHNlZ3NbMV0gPj0gMTApIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfTtcbiAgICBleHBvcnRzLmlzV2luZG93cyA9IChvcHRpb25zOCkgPT4ge1xuICAgICAgaWYgKG9wdGlvbnM4ICYmIHR5cGVvZiBvcHRpb25zOC53aW5kb3dzID09PSBcImJvb2xlYW5cIikge1xuICAgICAgICByZXR1cm4gb3B0aW9uczgud2luZG93cztcbiAgICAgIH1cbiAgICAgIHJldHVybiB3aW4zMiA9PT0gdHJ1ZSB8fCBwYXRoMTMuc2VwID09PSBcIlxcXFxcIjtcbiAgICB9O1xuICAgIGV4cG9ydHMuZXNjYXBlTGFzdCA9IChpbnB1dCwgY2hhciwgbGFzdElkeCkgPT4ge1xuICAgICAgY29uc3QgaWR4ID0gaW5wdXQubGFzdEluZGV4T2YoY2hhciwgbGFzdElkeCk7XG4gICAgICBpZiAoaWR4ID09PSAtMSkgcmV0dXJuIGlucHV0O1xuICAgICAgaWYgKGlucHV0W2lkeCAtIDFdID09PSBcIlxcXFxcIikgcmV0dXJuIGV4cG9ydHMuZXNjYXBlTGFzdChpbnB1dCwgY2hhciwgaWR4IC0gMSk7XG4gICAgICByZXR1cm4gYCR7aW5wdXQuc2xpY2UoMCwgaWR4KX1cXFxcJHtpbnB1dC5zbGljZShpZHgpfWA7XG4gICAgfTtcbiAgICBleHBvcnRzLnJlbW92ZVByZWZpeCA9IChpbnB1dCwgc3RhdGUgPSB7fSkgPT4ge1xuICAgICAgbGV0IG91dHB1dCA9IGlucHV0O1xuICAgICAgaWYgKG91dHB1dC5zdGFydHNXaXRoKFwiLi9cIikpIHtcbiAgICAgICAgb3V0cHV0ID0gb3V0cHV0LnNsaWNlKDIpO1xuICAgICAgICBzdGF0ZS5wcmVmaXggPSBcIi4vXCI7XG4gICAgICB9XG4gICAgICByZXR1cm4gb3V0cHV0O1xuICAgIH07XG4gICAgZXhwb3J0cy53cmFwT3V0cHV0ID0gKGlucHV0LCBzdGF0ZSA9IHt9LCBvcHRpb25zOCA9IHt9KSA9PiB7XG4gICAgICBjb25zdCBwcmVwZW5kID0gb3B0aW9uczguY29udGFpbnMgPyBcIlwiIDogXCJeXCI7XG4gICAgICBjb25zdCBhcHBlbmQgPSBvcHRpb25zOC5jb250YWlucyA/IFwiXCIgOiBcIiRcIjtcbiAgICAgIGxldCBvdXRwdXQgPSBgJHtwcmVwZW5kfSg/OiR7aW5wdXR9KSR7YXBwZW5kfWA7XG4gICAgICBpZiAoc3RhdGUubmVnYXRlZCA9PT0gdHJ1ZSkge1xuICAgICAgICBvdXRwdXQgPSBgKD86Xig/ISR7b3V0cHV0fSkuKiQpYDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBvdXRwdXQ7XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9waWNvbWF0Y2gvbGliL3NjYW4uanNcbnZhciByZXF1aXJlX3NjYW4gPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcGljb21hdGNoL2xpYi9zY2FuLmpzXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIHV0aWxzID0gcmVxdWlyZV91dGlsczIoKTtcbiAgICB2YXIge1xuICAgICAgQ0hBUl9BU1RFUklTSyxcbiAgICAgIC8qICogKi9cbiAgICAgIENIQVJfQVQsXG4gICAgICAvKiBAICovXG4gICAgICBDSEFSX0JBQ0tXQVJEX1NMQVNILFxuICAgICAgLyogXFwgKi9cbiAgICAgIENIQVJfQ09NTUEsXG4gICAgICAvKiAsICovXG4gICAgICBDSEFSX0RPVCxcbiAgICAgIC8qIC4gKi9cbiAgICAgIENIQVJfRVhDTEFNQVRJT05fTUFSSyxcbiAgICAgIC8qICEgKi9cbiAgICAgIENIQVJfRk9SV0FSRF9TTEFTSCxcbiAgICAgIC8qIC8gKi9cbiAgICAgIENIQVJfTEVGVF9DVVJMWV9CUkFDRSxcbiAgICAgIC8qIHsgKi9cbiAgICAgIENIQVJfTEVGVF9QQVJFTlRIRVNFUyxcbiAgICAgIC8qICggKi9cbiAgICAgIENIQVJfTEVGVF9TUVVBUkVfQlJBQ0tFVCxcbiAgICAgIC8qIFsgKi9cbiAgICAgIENIQVJfUExVUyxcbiAgICAgIC8qICsgKi9cbiAgICAgIENIQVJfUVVFU1RJT05fTUFSSyxcbiAgICAgIC8qID8gKi9cbiAgICAgIENIQVJfUklHSFRfQ1VSTFlfQlJBQ0UsXG4gICAgICAvKiB9ICovXG4gICAgICBDSEFSX1JJR0hUX1BBUkVOVEhFU0VTLFxuICAgICAgLyogKSAqL1xuICAgICAgQ0hBUl9SSUdIVF9TUVVBUkVfQlJBQ0tFVFxuICAgICAgLyogXSAqL1xuICAgIH0gPSByZXF1aXJlX2NvbnN0YW50czIoKTtcbiAgICB2YXIgaXNQYXRoU2VwYXJhdG9yID0gKGNvZGUpID0+IHtcbiAgICAgIHJldHVybiBjb2RlID09PSBDSEFSX0ZPUldBUkRfU0xBU0ggfHwgY29kZSA9PT0gQ0hBUl9CQUNLV0FSRF9TTEFTSDtcbiAgICB9O1xuICAgIHZhciBkZXB0aCA9ICh0b2tlbjIpID0+IHtcbiAgICAgIGlmICh0b2tlbjIuaXNQcmVmaXggIT09IHRydWUpIHtcbiAgICAgICAgdG9rZW4yLmRlcHRoID0gdG9rZW4yLmlzR2xvYnN0YXIgPyBJbmZpbml0eSA6IDE7XG4gICAgICB9XG4gICAgfTtcbiAgICB2YXIgc2NhbiA9IChpbnB1dCwgb3B0aW9uczgpID0+IHtcbiAgICAgIGNvbnN0IG9wdHMgPSBvcHRpb25zOCB8fCB7fTtcbiAgICAgIGNvbnN0IGxlbmd0aCA9IGlucHV0Lmxlbmd0aCAtIDE7XG4gICAgICBjb25zdCBzY2FuVG9FbmQgPSBvcHRzLnBhcnRzID09PSB0cnVlIHx8IG9wdHMuc2NhblRvRW5kID09PSB0cnVlO1xuICAgICAgY29uc3Qgc2xhc2hlcyA9IFtdO1xuICAgICAgY29uc3QgdG9rZW5zID0gW107XG4gICAgICBjb25zdCBwYXJ0cyA9IFtdO1xuICAgICAgbGV0IHN0cjIgPSBpbnB1dDtcbiAgICAgIGxldCBpbmRleCA9IC0xO1xuICAgICAgbGV0IHN0YXJ0ID0gMDtcbiAgICAgIGxldCBsYXN0SW5kZXggPSAwO1xuICAgICAgbGV0IGlzQnJhY2UgPSBmYWxzZTtcbiAgICAgIGxldCBpc0JyYWNrZXQgPSBmYWxzZTtcbiAgICAgIGxldCBpc0dsb2IgPSBmYWxzZTtcbiAgICAgIGxldCBpc0V4dGdsb2IgPSBmYWxzZTtcbiAgICAgIGxldCBpc0dsb2JzdGFyID0gZmFsc2U7XG4gICAgICBsZXQgYnJhY2VFc2NhcGVkID0gZmFsc2U7XG4gICAgICBsZXQgYmFja3NsYXNoZXMgPSBmYWxzZTtcbiAgICAgIGxldCBuZWdhdGVkID0gZmFsc2U7XG4gICAgICBsZXQgbmVnYXRlZEV4dGdsb2IgPSBmYWxzZTtcbiAgICAgIGxldCBmaW5pc2hlZCA9IGZhbHNlO1xuICAgICAgbGV0IGJyYWNlcyA9IDA7XG4gICAgICBsZXQgcHJldjtcbiAgICAgIGxldCBjb2RlO1xuICAgICAgbGV0IHRva2VuMiA9IHsgdmFsdWU6IFwiXCIsIGRlcHRoOiAwLCBpc0dsb2I6IGZhbHNlIH07XG4gICAgICBjb25zdCBlb3MgPSAoKSA9PiBpbmRleCA+PSBsZW5ndGg7XG4gICAgICBjb25zdCBwZWVrMiA9ICgpID0+IHN0cjIuY2hhckNvZGVBdChpbmRleCArIDEpO1xuICAgICAgY29uc3QgYWR2YW5jZSA9ICgpID0+IHtcbiAgICAgICAgcHJldiA9IGNvZGU7XG4gICAgICAgIHJldHVybiBzdHIyLmNoYXJDb2RlQXQoKytpbmRleCk7XG4gICAgICB9O1xuICAgICAgd2hpbGUgKGluZGV4IDwgbGVuZ3RoKSB7XG4gICAgICAgIGNvZGUgPSBhZHZhbmNlKCk7XG4gICAgICAgIGxldCBuZXh0O1xuICAgICAgICBpZiAoY29kZSA9PT0gQ0hBUl9CQUNLV0FSRF9TTEFTSCkge1xuICAgICAgICAgIGJhY2tzbGFzaGVzID0gdG9rZW4yLmJhY2tzbGFzaGVzID0gdHJ1ZTtcbiAgICAgICAgICBjb2RlID0gYWR2YW5jZSgpO1xuICAgICAgICAgIGlmIChjb2RlID09PSBDSEFSX0xFRlRfQ1VSTFlfQlJBQ0UpIHtcbiAgICAgICAgICAgIGJyYWNlRXNjYXBlZCA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChicmFjZUVzY2FwZWQgPT09IHRydWUgfHwgY29kZSA9PT0gQ0hBUl9MRUZUX0NVUkxZX0JSQUNFKSB7XG4gICAgICAgICAgYnJhY2VzKys7XG4gICAgICAgICAgd2hpbGUgKGVvcygpICE9PSB0cnVlICYmIChjb2RlID0gYWR2YW5jZSgpKSkge1xuICAgICAgICAgICAgaWYgKGNvZGUgPT09IENIQVJfQkFDS1dBUkRfU0xBU0gpIHtcbiAgICAgICAgICAgICAgYmFja3NsYXNoZXMgPSB0b2tlbjIuYmFja3NsYXNoZXMgPSB0cnVlO1xuICAgICAgICAgICAgICBhZHZhbmNlKCk7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGNvZGUgPT09IENIQVJfTEVGVF9DVVJMWV9CUkFDRSkge1xuICAgICAgICAgICAgICBicmFjZXMrKztcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoYnJhY2VFc2NhcGVkICE9PSB0cnVlICYmIGNvZGUgPT09IENIQVJfRE9UICYmIChjb2RlID0gYWR2YW5jZSgpKSA9PT0gQ0hBUl9ET1QpIHtcbiAgICAgICAgICAgICAgaXNCcmFjZSA9IHRva2VuMi5pc0JyYWNlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgaXNHbG9iID0gdG9rZW4yLmlzR2xvYiA9IHRydWU7XG4gICAgICAgICAgICAgIGZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgICAgICAgICAgaWYgKHNjYW5Ub0VuZCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGJyYWNlRXNjYXBlZCAhPT0gdHJ1ZSAmJiBjb2RlID09PSBDSEFSX0NPTU1BKSB7XG4gICAgICAgICAgICAgIGlzQnJhY2UgPSB0b2tlbjIuaXNCcmFjZSA9IHRydWU7XG4gICAgICAgICAgICAgIGlzR2xvYiA9IHRva2VuMi5pc0dsb2IgPSB0cnVlO1xuICAgICAgICAgICAgICBmaW5pc2hlZCA9IHRydWU7XG4gICAgICAgICAgICAgIGlmIChzY2FuVG9FbmQgPT09IHRydWUpIHtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChjb2RlID09PSBDSEFSX1JJR0hUX0NVUkxZX0JSQUNFKSB7XG4gICAgICAgICAgICAgIGJyYWNlcy0tO1xuICAgICAgICAgICAgICBpZiAoYnJhY2VzID09PSAwKSB7XG4gICAgICAgICAgICAgICAgYnJhY2VFc2NhcGVkID0gZmFsc2U7XG4gICAgICAgICAgICAgICAgaXNCcmFjZSA9IHRva2VuMi5pc0JyYWNlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBmaW5pc2hlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHNjYW5Ub0VuZCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjb2RlID09PSBDSEFSX0ZPUldBUkRfU0xBU0gpIHtcbiAgICAgICAgICBzbGFzaGVzLnB1c2goaW5kZXgpO1xuICAgICAgICAgIHRva2Vucy5wdXNoKHRva2VuMik7XG4gICAgICAgICAgdG9rZW4yID0geyB2YWx1ZTogXCJcIiwgZGVwdGg6IDAsIGlzR2xvYjogZmFsc2UgfTtcbiAgICAgICAgICBpZiAoZmluaXNoZWQgPT09IHRydWUpIGNvbnRpbnVlO1xuICAgICAgICAgIGlmIChwcmV2ID09PSBDSEFSX0RPVCAmJiBpbmRleCA9PT0gc3RhcnQgKyAxKSB7XG4gICAgICAgICAgICBzdGFydCArPSAyO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxhc3RJbmRleCA9IGluZGV4ICsgMTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0cy5ub2V4dCAhPT0gdHJ1ZSkge1xuICAgICAgICAgIGNvbnN0IGlzRXh0Z2xvYkNoYXIgPSBjb2RlID09PSBDSEFSX1BMVVMgfHwgY29kZSA9PT0gQ0hBUl9BVCB8fCBjb2RlID09PSBDSEFSX0FTVEVSSVNLIHx8IGNvZGUgPT09IENIQVJfUVVFU1RJT05fTUFSSyB8fCBjb2RlID09PSBDSEFSX0VYQ0xBTUFUSU9OX01BUks7XG4gICAgICAgICAgaWYgKGlzRXh0Z2xvYkNoYXIgPT09IHRydWUgJiYgcGVlazIoKSA9PT0gQ0hBUl9MRUZUX1BBUkVOVEhFU0VTKSB7XG4gICAgICAgICAgICBpc0dsb2IgPSB0b2tlbjIuaXNHbG9iID0gdHJ1ZTtcbiAgICAgICAgICAgIGlzRXh0Z2xvYiA9IHRva2VuMi5pc0V4dGdsb2IgPSB0cnVlO1xuICAgICAgICAgICAgZmluaXNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgaWYgKGNvZGUgPT09IENIQVJfRVhDTEFNQVRJT05fTUFSSyAmJiBpbmRleCA9PT0gc3RhcnQpIHtcbiAgICAgICAgICAgICAgbmVnYXRlZEV4dGdsb2IgPSB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHNjYW5Ub0VuZCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICB3aGlsZSAoZW9zKCkgIT09IHRydWUgJiYgKGNvZGUgPSBhZHZhbmNlKCkpKSB7XG4gICAgICAgICAgICAgICAgaWYgKGNvZGUgPT09IENIQVJfQkFDS1dBUkRfU0xBU0gpIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tzbGFzaGVzID0gdG9rZW4yLmJhY2tzbGFzaGVzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIGNvZGUgPSBhZHZhbmNlKCk7XG4gICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKGNvZGUgPT09IENIQVJfUklHSFRfUEFSRU5USEVTRVMpIHtcbiAgICAgICAgICAgICAgICAgIGlzR2xvYiA9IHRva2VuMi5pc0dsb2IgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgZmluaXNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChjb2RlID09PSBDSEFSX0FTVEVSSVNLKSB7XG4gICAgICAgICAgaWYgKHByZXYgPT09IENIQVJfQVNURVJJU0spIGlzR2xvYnN0YXIgPSB0b2tlbjIuaXNHbG9ic3RhciA9IHRydWU7XG4gICAgICAgICAgaXNHbG9iID0gdG9rZW4yLmlzR2xvYiA9IHRydWU7XG4gICAgICAgICAgZmluaXNoZWQgPSB0cnVlO1xuICAgICAgICAgIGlmIChzY2FuVG9FbmQgPT09IHRydWUpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29kZSA9PT0gQ0hBUl9RVUVTVElPTl9NQVJLKSB7XG4gICAgICAgICAgaXNHbG9iID0gdG9rZW4yLmlzR2xvYiA9IHRydWU7XG4gICAgICAgICAgZmluaXNoZWQgPSB0cnVlO1xuICAgICAgICAgIGlmIChzY2FuVG9FbmQgPT09IHRydWUpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29kZSA9PT0gQ0hBUl9MRUZUX1NRVUFSRV9CUkFDS0VUKSB7XG4gICAgICAgICAgd2hpbGUgKGVvcygpICE9PSB0cnVlICYmIChuZXh0ID0gYWR2YW5jZSgpKSkge1xuICAgICAgICAgICAgaWYgKG5leHQgPT09IENIQVJfQkFDS1dBUkRfU0xBU0gpIHtcbiAgICAgICAgICAgICAgYmFja3NsYXNoZXMgPSB0b2tlbjIuYmFja3NsYXNoZXMgPSB0cnVlO1xuICAgICAgICAgICAgICBhZHZhbmNlKCk7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKG5leHQgPT09IENIQVJfUklHSFRfU1FVQVJFX0JSQUNLRVQpIHtcbiAgICAgICAgICAgICAgaXNCcmFja2V0ID0gdG9rZW4yLmlzQnJhY2tldCA9IHRydWU7XG4gICAgICAgICAgICAgIGlzR2xvYiA9IHRva2VuMi5pc0dsb2IgPSB0cnVlO1xuICAgICAgICAgICAgICBmaW5pc2hlZCA9IHRydWU7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc2NhblRvRW5kID09PSB0cnVlKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdHMubm9uZWdhdGUgIT09IHRydWUgJiYgY29kZSA9PT0gQ0hBUl9FWENMQU1BVElPTl9NQVJLICYmIGluZGV4ID09PSBzdGFydCkge1xuICAgICAgICAgIG5lZ2F0ZWQgPSB0b2tlbjIubmVnYXRlZCA9IHRydWU7XG4gICAgICAgICAgc3RhcnQrKztcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3B0cy5ub3BhcmVuICE9PSB0cnVlICYmIGNvZGUgPT09IENIQVJfTEVGVF9QQVJFTlRIRVNFUykge1xuICAgICAgICAgIGlzR2xvYiA9IHRva2VuMi5pc0dsb2IgPSB0cnVlO1xuICAgICAgICAgIGlmIChzY2FuVG9FbmQgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHdoaWxlIChlb3MoKSAhPT0gdHJ1ZSAmJiAoY29kZSA9IGFkdmFuY2UoKSkpIHtcbiAgICAgICAgICAgICAgaWYgKGNvZGUgPT09IENIQVJfTEVGVF9QQVJFTlRIRVNFUykge1xuICAgICAgICAgICAgICAgIGJhY2tzbGFzaGVzID0gdG9rZW4yLmJhY2tzbGFzaGVzID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBjb2RlID0gYWR2YW5jZSgpO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChjb2RlID09PSBDSEFSX1JJR0hUX1BBUkVOVEhFU0VTKSB7XG4gICAgICAgICAgICAgICAgZmluaXNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzR2xvYiA9PT0gdHJ1ZSkge1xuICAgICAgICAgIGZpbmlzaGVkID0gdHJ1ZTtcbiAgICAgICAgICBpZiAoc2NhblRvRW5kID09PSB0cnVlKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChvcHRzLm5vZXh0ID09PSB0cnVlKSB7XG4gICAgICAgIGlzRXh0Z2xvYiA9IGZhbHNlO1xuICAgICAgICBpc0dsb2IgPSBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGxldCBiYXNlID0gc3RyMjtcbiAgICAgIGxldCBwcmVmaXggPSBcIlwiO1xuICAgICAgbGV0IGdsb2IgPSBcIlwiO1xuICAgICAgaWYgKHN0YXJ0ID4gMCkge1xuICAgICAgICBwcmVmaXggPSBzdHIyLnNsaWNlKDAsIHN0YXJ0KTtcbiAgICAgICAgc3RyMiA9IHN0cjIuc2xpY2Uoc3RhcnQpO1xuICAgICAgICBsYXN0SW5kZXggLT0gc3RhcnQ7XG4gICAgICB9XG4gICAgICBpZiAoYmFzZSAmJiBpc0dsb2IgPT09IHRydWUgJiYgbGFzdEluZGV4ID4gMCkge1xuICAgICAgICBiYXNlID0gc3RyMi5zbGljZSgwLCBsYXN0SW5kZXgpO1xuICAgICAgICBnbG9iID0gc3RyMi5zbGljZShsYXN0SW5kZXgpO1xuICAgICAgfSBlbHNlIGlmIChpc0dsb2IgPT09IHRydWUpIHtcbiAgICAgICAgYmFzZSA9IFwiXCI7XG4gICAgICAgIGdsb2IgPSBzdHIyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYmFzZSA9IHN0cjI7XG4gICAgICB9XG4gICAgICBpZiAoYmFzZSAmJiBiYXNlICE9PSBcIlwiICYmIGJhc2UgIT09IFwiL1wiICYmIGJhc2UgIT09IHN0cjIpIHtcbiAgICAgICAgaWYgKGlzUGF0aFNlcGFyYXRvcihiYXNlLmNoYXJDb2RlQXQoYmFzZS5sZW5ndGggLSAxKSkpIHtcbiAgICAgICAgICBiYXNlID0gYmFzZS5zbGljZSgwLCAtMSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChvcHRzLnVuZXNjYXBlID09PSB0cnVlKSB7XG4gICAgICAgIGlmIChnbG9iKSBnbG9iID0gdXRpbHMucmVtb3ZlQmFja3NsYXNoZXMoZ2xvYik7XG4gICAgICAgIGlmIChiYXNlICYmIGJhY2tzbGFzaGVzID09PSB0cnVlKSB7XG4gICAgICAgICAgYmFzZSA9IHV0aWxzLnJlbW92ZUJhY2tzbGFzaGVzKGJhc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBzdGF0ZSA9IHtcbiAgICAgICAgcHJlZml4LFxuICAgICAgICBpbnB1dCxcbiAgICAgICAgc3RhcnQsXG4gICAgICAgIGJhc2UsXG4gICAgICAgIGdsb2IsXG4gICAgICAgIGlzQnJhY2UsXG4gICAgICAgIGlzQnJhY2tldCxcbiAgICAgICAgaXNHbG9iLFxuICAgICAgICBpc0V4dGdsb2IsXG4gICAgICAgIGlzR2xvYnN0YXIsXG4gICAgICAgIG5lZ2F0ZWQsXG4gICAgICAgIG5lZ2F0ZWRFeHRnbG9iXG4gICAgICB9O1xuICAgICAgaWYgKG9wdHMudG9rZW5zID09PSB0cnVlKSB7XG4gICAgICAgIHN0YXRlLm1heERlcHRoID0gMDtcbiAgICAgICAgaWYgKCFpc1BhdGhTZXBhcmF0b3IoY29kZSkpIHtcbiAgICAgICAgICB0b2tlbnMucHVzaCh0b2tlbjIpO1xuICAgICAgICB9XG4gICAgICAgIHN0YXRlLnRva2VucyA9IHRva2VucztcbiAgICAgIH1cbiAgICAgIGlmIChvcHRzLnBhcnRzID09PSB0cnVlIHx8IG9wdHMudG9rZW5zID09PSB0cnVlKSB7XG4gICAgICAgIGxldCBwcmV2SW5kZXg7XG4gICAgICAgIGZvciAobGV0IGlkeCA9IDA7IGlkeCA8IHNsYXNoZXMubGVuZ3RoOyBpZHgrKykge1xuICAgICAgICAgIGNvbnN0IG4gPSBwcmV2SW5kZXggPyBwcmV2SW5kZXggKyAxIDogc3RhcnQ7XG4gICAgICAgICAgY29uc3QgaSA9IHNsYXNoZXNbaWR4XTtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGlucHV0LnNsaWNlKG4sIGkpO1xuICAgICAgICAgIGlmIChvcHRzLnRva2Vucykge1xuICAgICAgICAgICAgaWYgKGlkeCA9PT0gMCAmJiBzdGFydCAhPT0gMCkge1xuICAgICAgICAgICAgICB0b2tlbnNbaWR4XS5pc1ByZWZpeCA9IHRydWU7XG4gICAgICAgICAgICAgIHRva2Vuc1tpZHhdLnZhbHVlID0gcHJlZml4O1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdG9rZW5zW2lkeF0udmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRlcHRoKHRva2Vuc1tpZHhdKTtcbiAgICAgICAgICAgIHN0YXRlLm1heERlcHRoICs9IHRva2Vuc1tpZHhdLmRlcHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoaWR4ICE9PSAwIHx8IHZhbHVlICE9PSBcIlwiKSB7XG4gICAgICAgICAgICBwYXJ0cy5wdXNoKHZhbHVlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHJldkluZGV4ID0gaTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocHJldkluZGV4ICYmIHByZXZJbmRleCArIDEgPCBpbnB1dC5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IGlucHV0LnNsaWNlKHByZXZJbmRleCArIDEpO1xuICAgICAgICAgIHBhcnRzLnB1c2godmFsdWUpO1xuICAgICAgICAgIGlmIChvcHRzLnRva2Vucykge1xuICAgICAgICAgICAgdG9rZW5zW3Rva2Vucy5sZW5ndGggLSAxXS52YWx1ZSA9IHZhbHVlO1xuICAgICAgICAgICAgZGVwdGgodG9rZW5zW3Rva2Vucy5sZW5ndGggLSAxXSk7XG4gICAgICAgICAgICBzdGF0ZS5tYXhEZXB0aCArPSB0b2tlbnNbdG9rZW5zLmxlbmd0aCAtIDFdLmRlcHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzdGF0ZS5zbGFzaGVzID0gc2xhc2hlcztcbiAgICAgICAgc3RhdGUucGFydHMgPSBwYXJ0cztcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9O1xuICAgIG1vZHVsZS5leHBvcnRzID0gc2NhbjtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9waWNvbWF0Y2gvbGliL3BhcnNlLmpzXG52YXIgcmVxdWlyZV9wYXJzZTIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcGljb21hdGNoL2xpYi9wYXJzZS5qc1wiKGV4cG9ydHMsIG1vZHVsZSkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciBjb25zdGFudHMgPSByZXF1aXJlX2NvbnN0YW50czIoKTtcbiAgICB2YXIgdXRpbHMgPSByZXF1aXJlX3V0aWxzMigpO1xuICAgIHZhciB7XG4gICAgICBNQVhfTEVOR1RILFxuICAgICAgUE9TSVhfUkVHRVhfU09VUkNFLFxuICAgICAgUkVHRVhfTk9OX1NQRUNJQUxfQ0hBUlMsXG4gICAgICBSRUdFWF9TUEVDSUFMX0NIQVJTX0JBQ0tSRUYsXG4gICAgICBSRVBMQUNFTUVOVFNcbiAgICB9ID0gY29uc3RhbnRzO1xuICAgIHZhciBleHBhbmRSYW5nZSA9IChhcmdzLCBvcHRpb25zOCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb25zOC5leHBhbmRSYW5nZSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIHJldHVybiBvcHRpb25zOC5leHBhbmRSYW5nZSguLi5hcmdzLCBvcHRpb25zOCk7XG4gICAgICB9XG4gICAgICBhcmdzLnNvcnQoKTtcbiAgICAgIGNvbnN0IHZhbHVlID0gYFske2FyZ3Muam9pbihcIi1cIil9XWA7XG4gICAgICB0cnkge1xuICAgICAgICBuZXcgUmVnRXhwKHZhbHVlKTtcbiAgICAgIH0gY2F0Y2ggKGV4KSB7XG4gICAgICAgIHJldHVybiBhcmdzLm1hcCgodikgPT4gdXRpbHMuZXNjYXBlUmVnZXgodikpLmpvaW4oXCIuLlwiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9O1xuICAgIHZhciBzeW50YXhFcnJvcjIgPSAodHlwZTIsIGNoYXIpID0+IHtcbiAgICAgIHJldHVybiBgTWlzc2luZyAke3R5cGUyfTogXCIke2NoYXJ9XCIgLSB1c2UgXCJcXFxcXFxcXCR7Y2hhcn1cIiB0byBtYXRjaCBsaXRlcmFsIGNoYXJhY3RlcnNgO1xuICAgIH07XG4gICAgdmFyIHBhcnNlNyA9IChpbnB1dCwgb3B0aW9uczgpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgaW5wdXQgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIGEgc3RyaW5nXCIpO1xuICAgICAgfVxuICAgICAgaW5wdXQgPSBSRVBMQUNFTUVOVFNbaW5wdXRdIHx8IGlucHV0O1xuICAgICAgY29uc3Qgb3B0cyA9IHsgLi4ub3B0aW9uczggfTtcbiAgICAgIGNvbnN0IG1heCA9IHR5cGVvZiBvcHRzLm1heExlbmd0aCA9PT0gXCJudW1iZXJcIiA/IE1hdGgubWluKE1BWF9MRU5HVEgsIG9wdHMubWF4TGVuZ3RoKSA6IE1BWF9MRU5HVEg7XG4gICAgICBsZXQgbGVuID0gaW5wdXQubGVuZ3RoO1xuICAgICAgaWYgKGxlbiA+IG1heCkge1xuICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3IoYElucHV0IGxlbmd0aDogJHtsZW59LCBleGNlZWRzIG1heGltdW0gYWxsb3dlZCBsZW5ndGg6ICR7bWF4fWApO1xuICAgICAgfVxuICAgICAgY29uc3QgYm9zID0geyB0eXBlOiBcImJvc1wiLCB2YWx1ZTogXCJcIiwgb3V0cHV0OiBvcHRzLnByZXBlbmQgfHwgXCJcIiB9O1xuICAgICAgY29uc3QgdG9rZW5zID0gW2Jvc107XG4gICAgICBjb25zdCBjYXB0dXJlID0gb3B0cy5jYXB0dXJlID8gXCJcIiA6IFwiPzpcIjtcbiAgICAgIGNvbnN0IHdpbjMyID0gdXRpbHMuaXNXaW5kb3dzKG9wdGlvbnM4KTtcbiAgICAgIGNvbnN0IFBMQVRGT1JNX0NIQVJTID0gY29uc3RhbnRzLmdsb2JDaGFycyh3aW4zMik7XG4gICAgICBjb25zdCBFWFRHTE9CX0NIQVJTID0gY29uc3RhbnRzLmV4dGdsb2JDaGFycyhQTEFURk9STV9DSEFSUyk7XG4gICAgICBjb25zdCB7XG4gICAgICAgIERPVF9MSVRFUkFMLFxuICAgICAgICBQTFVTX0xJVEVSQUwsXG4gICAgICAgIFNMQVNIX0xJVEVSQUwsXG4gICAgICAgIE9ORV9DSEFSLFxuICAgICAgICBET1RTX1NMQVNILFxuICAgICAgICBOT19ET1QsXG4gICAgICAgIE5PX0RPVF9TTEFTSCxcbiAgICAgICAgTk9fRE9UU19TTEFTSCxcbiAgICAgICAgUU1BUkssXG4gICAgICAgIFFNQVJLX05PX0RPVCxcbiAgICAgICAgU1RBUixcbiAgICAgICAgU1RBUlRfQU5DSE9SXG4gICAgICB9ID0gUExBVEZPUk1fQ0hBUlM7XG4gICAgICBjb25zdCBnbG9ic3RhciA9IChvcHRzMikgPT4ge1xuICAgICAgICByZXR1cm4gYCgke2NhcHR1cmV9KD86KD8hJHtTVEFSVF9BTkNIT1J9JHtvcHRzMi5kb3QgPyBET1RTX1NMQVNIIDogRE9UX0xJVEVSQUx9KS4pKj8pYDtcbiAgICAgIH07XG4gICAgICBjb25zdCBub2RvdCA9IG9wdHMuZG90ID8gXCJcIiA6IE5PX0RPVDtcbiAgICAgIGNvbnN0IHFtYXJrTm9Eb3QgPSBvcHRzLmRvdCA/IFFNQVJLIDogUU1BUktfTk9fRE9UO1xuICAgICAgbGV0IHN0YXIgPSBvcHRzLmJhc2ggPT09IHRydWUgPyBnbG9ic3RhcihvcHRzKSA6IFNUQVI7XG4gICAgICBpZiAob3B0cy5jYXB0dXJlKSB7XG4gICAgICAgIHN0YXIgPSBgKCR7c3Rhcn0pYDtcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2Ygb3B0cy5ub2V4dCA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgICAgb3B0cy5ub2V4dGdsb2IgPSBvcHRzLm5vZXh0O1xuICAgICAgfVxuICAgICAgY29uc3Qgc3RhdGUgPSB7XG4gICAgICAgIGlucHV0LFxuICAgICAgICBpbmRleDogLTEsXG4gICAgICAgIHN0YXJ0OiAwLFxuICAgICAgICBkb3Q6IG9wdHMuZG90ID09PSB0cnVlLFxuICAgICAgICBjb25zdW1lZDogXCJcIixcbiAgICAgICAgb3V0cHV0OiBcIlwiLFxuICAgICAgICBwcmVmaXg6IFwiXCIsXG4gICAgICAgIGJhY2t0cmFjazogZmFsc2UsXG4gICAgICAgIG5lZ2F0ZWQ6IGZhbHNlLFxuICAgICAgICBicmFja2V0czogMCxcbiAgICAgICAgYnJhY2VzOiAwLFxuICAgICAgICBwYXJlbnM6IDAsXG4gICAgICAgIHF1b3RlczogMCxcbiAgICAgICAgZ2xvYnN0YXI6IGZhbHNlLFxuICAgICAgICB0b2tlbnNcbiAgICAgIH07XG4gICAgICBpbnB1dCA9IHV0aWxzLnJlbW92ZVByZWZpeChpbnB1dCwgc3RhdGUpO1xuICAgICAgbGVuID0gaW5wdXQubGVuZ3RoO1xuICAgICAgY29uc3QgZXh0Z2xvYnMgPSBbXTtcbiAgICAgIGNvbnN0IGJyYWNlcyA9IFtdO1xuICAgICAgY29uc3Qgc3RhY2syID0gW107XG4gICAgICBsZXQgcHJldiA9IGJvcztcbiAgICAgIGxldCB2YWx1ZTtcbiAgICAgIGNvbnN0IGVvcyA9ICgpID0+IHN0YXRlLmluZGV4ID09PSBsZW4gLSAxO1xuICAgICAgY29uc3QgcGVlazIgPSBzdGF0ZS5wZWVrID0gKG4gPSAxKSA9PiBpbnB1dFtzdGF0ZS5pbmRleCArIG5dO1xuICAgICAgY29uc3QgYWR2YW5jZSA9IHN0YXRlLmFkdmFuY2UgPSAoKSA9PiBpbnB1dFsrK3N0YXRlLmluZGV4XSB8fCBcIlwiO1xuICAgICAgY29uc3QgcmVtYWluaW5nID0gKCkgPT4gaW5wdXQuc2xpY2Uoc3RhdGUuaW5kZXggKyAxKTtcbiAgICAgIGNvbnN0IGNvbnN1bWUgPSAodmFsdWUyID0gXCJcIiwgbnVtID0gMCkgPT4ge1xuICAgICAgICBzdGF0ZS5jb25zdW1lZCArPSB2YWx1ZTI7XG4gICAgICAgIHN0YXRlLmluZGV4ICs9IG51bTtcbiAgICAgIH07XG4gICAgICBjb25zdCBhcHBlbmQgPSAodG9rZW4yKSA9PiB7XG4gICAgICAgIHN0YXRlLm91dHB1dCArPSB0b2tlbjIub3V0cHV0ICE9IG51bGwgPyB0b2tlbjIub3V0cHV0IDogdG9rZW4yLnZhbHVlO1xuICAgICAgICBjb25zdW1lKHRva2VuMi52YWx1ZSk7XG4gICAgICB9O1xuICAgICAgY29uc3QgbmVnYXRlID0gKCkgPT4ge1xuICAgICAgICBsZXQgY291bnQgPSAxO1xuICAgICAgICB3aGlsZSAocGVlazIoKSA9PT0gXCIhXCIgJiYgKHBlZWsyKDIpICE9PSBcIihcIiB8fCBwZWVrMigzKSA9PT0gXCI/XCIpKSB7XG4gICAgICAgICAgYWR2YW5jZSgpO1xuICAgICAgICAgIHN0YXRlLnN0YXJ0Kys7XG4gICAgICAgICAgY291bnQrKztcbiAgICAgICAgfVxuICAgICAgICBpZiAoY291bnQgJSAyID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHN0YXRlLm5lZ2F0ZWQgPSB0cnVlO1xuICAgICAgICBzdGF0ZS5zdGFydCsrO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH07XG4gICAgICBjb25zdCBpbmNyZW1lbnQgPSAodHlwZTIpID0+IHtcbiAgICAgICAgc3RhdGVbdHlwZTJdKys7XG4gICAgICAgIHN0YWNrMi5wdXNoKHR5cGUyKTtcbiAgICAgIH07XG4gICAgICBjb25zdCBkZWNyZW1lbnQgPSAodHlwZTIpID0+IHtcbiAgICAgICAgc3RhdGVbdHlwZTJdLS07XG4gICAgICAgIHN0YWNrMi5wb3AoKTtcbiAgICAgIH07XG4gICAgICBjb25zdCBwdXNoMiA9ICh0b2spID0+IHtcbiAgICAgICAgaWYgKHByZXYudHlwZSA9PT0gXCJnbG9ic3RhclwiKSB7XG4gICAgICAgICAgY29uc3QgaXNCcmFjZSA9IHN0YXRlLmJyYWNlcyA+IDAgJiYgKHRvay50eXBlID09PSBcImNvbW1hXCIgfHwgdG9rLnR5cGUgPT09IFwiYnJhY2VcIik7XG4gICAgICAgICAgY29uc3QgaXNFeHRnbG9iID0gdG9rLmV4dGdsb2IgPT09IHRydWUgfHwgZXh0Z2xvYnMubGVuZ3RoICYmICh0b2sudHlwZSA9PT0gXCJwaXBlXCIgfHwgdG9rLnR5cGUgPT09IFwicGFyZW5cIik7XG4gICAgICAgICAgaWYgKHRvay50eXBlICE9PSBcInNsYXNoXCIgJiYgdG9rLnR5cGUgIT09IFwicGFyZW5cIiAmJiAhaXNCcmFjZSAmJiAhaXNFeHRnbG9iKSB7XG4gICAgICAgICAgICBzdGF0ZS5vdXRwdXQgPSBzdGF0ZS5vdXRwdXQuc2xpY2UoMCwgLXByZXYub3V0cHV0Lmxlbmd0aCk7XG4gICAgICAgICAgICBwcmV2LnR5cGUgPSBcInN0YXJcIjtcbiAgICAgICAgICAgIHByZXYudmFsdWUgPSBcIipcIjtcbiAgICAgICAgICAgIHByZXYub3V0cHV0ID0gc3RhcjtcbiAgICAgICAgICAgIHN0YXRlLm91dHB1dCArPSBwcmV2Lm91dHB1dDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGV4dGdsb2JzLmxlbmd0aCAmJiB0b2sudHlwZSAhPT0gXCJwYXJlblwiKSB7XG4gICAgICAgICAgZXh0Z2xvYnNbZXh0Z2xvYnMubGVuZ3RoIC0gMV0uaW5uZXIgKz0gdG9rLnZhbHVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0b2sudmFsdWUgfHwgdG9rLm91dHB1dCkgYXBwZW5kKHRvayk7XG4gICAgICAgIGlmIChwcmV2ICYmIHByZXYudHlwZSA9PT0gXCJ0ZXh0XCIgJiYgdG9rLnR5cGUgPT09IFwidGV4dFwiKSB7XG4gICAgICAgICAgcHJldi52YWx1ZSArPSB0b2sudmFsdWU7XG4gICAgICAgICAgcHJldi5vdXRwdXQgPSAocHJldi5vdXRwdXQgfHwgXCJcIikgKyB0b2sudmFsdWU7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRvay5wcmV2ID0gcHJldjtcbiAgICAgICAgdG9rZW5zLnB1c2godG9rKTtcbiAgICAgICAgcHJldiA9IHRvaztcbiAgICAgIH07XG4gICAgICBjb25zdCBleHRnbG9iT3BlbiA9ICh0eXBlMiwgdmFsdWUyKSA9PiB7XG4gICAgICAgIGNvbnN0IHRva2VuMiA9IHsgLi4uRVhUR0xPQl9DSEFSU1t2YWx1ZTJdLCBjb25kaXRpb25zOiAxLCBpbm5lcjogXCJcIiB9O1xuICAgICAgICB0b2tlbjIucHJldiA9IHByZXY7XG4gICAgICAgIHRva2VuMi5wYXJlbnMgPSBzdGF0ZS5wYXJlbnM7XG4gICAgICAgIHRva2VuMi5vdXRwdXQgPSBzdGF0ZS5vdXRwdXQ7XG4gICAgICAgIGNvbnN0IG91dHB1dCA9IChvcHRzLmNhcHR1cmUgPyBcIihcIiA6IFwiXCIpICsgdG9rZW4yLm9wZW47XG4gICAgICAgIGluY3JlbWVudChcInBhcmVuc1wiKTtcbiAgICAgICAgcHVzaDIoeyB0eXBlOiB0eXBlMiwgdmFsdWU6IHZhbHVlMiwgb3V0cHV0OiBzdGF0ZS5vdXRwdXQgPyBcIlwiIDogT05FX0NIQVIgfSk7XG4gICAgICAgIHB1c2gyKHsgdHlwZTogXCJwYXJlblwiLCBleHRnbG9iOiB0cnVlLCB2YWx1ZTogYWR2YW5jZSgpLCBvdXRwdXQgfSk7XG4gICAgICAgIGV4dGdsb2JzLnB1c2godG9rZW4yKTtcbiAgICAgIH07XG4gICAgICBjb25zdCBleHRnbG9iQ2xvc2UgPSAodG9rZW4yKSA9PiB7XG4gICAgICAgIGxldCBvdXRwdXQgPSB0b2tlbjIuY2xvc2UgKyAob3B0cy5jYXB0dXJlID8gXCIpXCIgOiBcIlwiKTtcbiAgICAgICAgbGV0IHJlc3Q7XG4gICAgICAgIGlmICh0b2tlbjIudHlwZSA9PT0gXCJuZWdhdGVcIikge1xuICAgICAgICAgIGxldCBleHRnbG9iU3RhciA9IHN0YXI7XG4gICAgICAgICAgaWYgKHRva2VuMi5pbm5lciAmJiB0b2tlbjIuaW5uZXIubGVuZ3RoID4gMSAmJiB0b2tlbjIuaW5uZXIuaW5jbHVkZXMoXCIvXCIpKSB7XG4gICAgICAgICAgICBleHRnbG9iU3RhciA9IGdsb2JzdGFyKG9wdHMpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZXh0Z2xvYlN0YXIgIT09IHN0YXIgfHwgZW9zKCkgfHwgL15cXCkrJC8udGVzdChyZW1haW5pbmcoKSkpIHtcbiAgICAgICAgICAgIG91dHB1dCA9IHRva2VuMi5jbG9zZSA9IGApJCkpJHtleHRnbG9iU3Rhcn1gO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodG9rZW4yLmlubmVyLmluY2x1ZGVzKFwiKlwiKSAmJiAocmVzdCA9IHJlbWFpbmluZygpKSAmJiAvXlxcLlteXFxcXC8uXSskLy50ZXN0KHJlc3QpKSB7XG4gICAgICAgICAgICBjb25zdCBleHByZXNzaW9uID0gcGFyc2U3KHJlc3QsIHsgLi4ub3B0aW9uczgsIGZhc3RwYXRoczogZmFsc2UgfSkub3V0cHV0O1xuICAgICAgICAgICAgb3V0cHV0ID0gdG9rZW4yLmNsb3NlID0gYCkke2V4cHJlc3Npb259KSR7ZXh0Z2xvYlN0YXJ9KWA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0b2tlbjIucHJldi50eXBlID09PSBcImJvc1wiKSB7XG4gICAgICAgICAgICBzdGF0ZS5uZWdhdGVkRXh0Z2xvYiA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHB1c2gyKHsgdHlwZTogXCJwYXJlblwiLCBleHRnbG9iOiB0cnVlLCB2YWx1ZSwgb3V0cHV0IH0pO1xuICAgICAgICBkZWNyZW1lbnQoXCJwYXJlbnNcIik7XG4gICAgICB9O1xuICAgICAgaWYgKG9wdHMuZmFzdHBhdGhzICE9PSBmYWxzZSAmJiAhLyheWyohXXxbLygpW1xcXXt9XCJdKS8udGVzdChpbnB1dCkpIHtcbiAgICAgICAgbGV0IGJhY2tzbGFzaGVzID0gZmFsc2U7XG4gICAgICAgIGxldCBvdXRwdXQgPSBpbnB1dC5yZXBsYWNlKFJFR0VYX1NQRUNJQUxfQ0hBUlNfQkFDS1JFRiwgKG0sIGVzYywgY2hhcnMsIGZpcnN0LCByZXN0LCBpbmRleCkgPT4ge1xuICAgICAgICAgIGlmIChmaXJzdCA9PT0gXCJcXFxcXCIpIHtcbiAgICAgICAgICAgIGJhY2tzbGFzaGVzID0gdHJ1ZTtcbiAgICAgICAgICAgIHJldHVybiBtO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoZmlyc3QgPT09IFwiP1wiKSB7XG4gICAgICAgICAgICBpZiAoZXNjKSB7XG4gICAgICAgICAgICAgIHJldHVybiBlc2MgKyBmaXJzdCArIChyZXN0ID8gUU1BUksucmVwZWF0KHJlc3QubGVuZ3RoKSA6IFwiXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICAgIHJldHVybiBxbWFya05vRG90ICsgKHJlc3QgPyBRTUFSSy5yZXBlYXQocmVzdC5sZW5ndGgpIDogXCJcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gUU1BUksucmVwZWF0KGNoYXJzLmxlbmd0aCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChmaXJzdCA9PT0gXCIuXCIpIHtcbiAgICAgICAgICAgIHJldHVybiBET1RfTElURVJBTC5yZXBlYXQoY2hhcnMubGVuZ3RoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGZpcnN0ID09PSBcIipcIikge1xuICAgICAgICAgICAgaWYgKGVzYykge1xuICAgICAgICAgICAgICByZXR1cm4gZXNjICsgZmlyc3QgKyAocmVzdCA/IHN0YXIgOiBcIlwiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBzdGFyO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gZXNjID8gbSA6IGBcXFxcJHttfWA7XG4gICAgICAgIH0pO1xuICAgICAgICBpZiAoYmFja3NsYXNoZXMgPT09IHRydWUpIHtcbiAgICAgICAgICBpZiAob3B0cy51bmVzY2FwZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgb3V0cHV0ID0gb3V0cHV0LnJlcGxhY2UoL1xcXFwvZywgXCJcIik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG91dHB1dCA9IG91dHB1dC5yZXBsYWNlKC9cXFxcKy9nLCAobSkgPT4ge1xuICAgICAgICAgICAgICByZXR1cm4gbS5sZW5ndGggJSAyID09PSAwID8gXCJcXFxcXFxcXFwiIDogbSA/IFwiXFxcXFwiIDogXCJcIjtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAob3V0cHV0ID09PSBpbnB1dCAmJiBvcHRzLmNvbnRhaW5zID09PSB0cnVlKSB7XG4gICAgICAgICAgc3RhdGUub3V0cHV0ID0gaW5wdXQ7XG4gICAgICAgICAgcmV0dXJuIHN0YXRlO1xuICAgICAgICB9XG4gICAgICAgIHN0YXRlLm91dHB1dCA9IHV0aWxzLndyYXBPdXRwdXQob3V0cHV0LCBzdGF0ZSwgb3B0aW9uczgpO1xuICAgICAgICByZXR1cm4gc3RhdGU7XG4gICAgICB9XG4gICAgICB3aGlsZSAoIWVvcygpKSB7XG4gICAgICAgIHZhbHVlID0gYWR2YW5jZSgpO1xuICAgICAgICBpZiAodmFsdWUgPT09IFwiXFwwXCIpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgPT09IFwiXFxcXFwiKSB7XG4gICAgICAgICAgY29uc3QgbmV4dCA9IHBlZWsyKCk7XG4gICAgICAgICAgaWYgKG5leHQgPT09IFwiL1wiICYmIG9wdHMuYmFzaCAhPT0gdHJ1ZSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChuZXh0ID09PSBcIi5cIiB8fCBuZXh0ID09PSBcIjtcIikge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICghbmV4dCkge1xuICAgICAgICAgICAgdmFsdWUgKz0gXCJcXFxcXCI7XG4gICAgICAgICAgICBwdXNoMih7IHR5cGU6IFwidGV4dFwiLCB2YWx1ZSB9KTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBtYXRjaCA9IC9eXFxcXCsvLmV4ZWMocmVtYWluaW5nKCkpO1xuICAgICAgICAgIGxldCBzbGFzaGVzID0gMDtcbiAgICAgICAgICBpZiAobWF0Y2ggJiYgbWF0Y2hbMF0ubGVuZ3RoID4gMikge1xuICAgICAgICAgICAgc2xhc2hlcyA9IG1hdGNoWzBdLmxlbmd0aDtcbiAgICAgICAgICAgIHN0YXRlLmluZGV4ICs9IHNsYXNoZXM7XG4gICAgICAgICAgICBpZiAoc2xhc2hlcyAlIDIgIT09IDApIHtcbiAgICAgICAgICAgICAgdmFsdWUgKz0gXCJcXFxcXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChvcHRzLnVuZXNjYXBlID09PSB0cnVlKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IGFkdmFuY2UoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFsdWUgKz0gYWR2YW5jZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc3RhdGUuYnJhY2tldHMgPT09IDApIHtcbiAgICAgICAgICAgIHB1c2gyKHsgdHlwZTogXCJ0ZXh0XCIsIHZhbHVlIH0pO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChzdGF0ZS5icmFja2V0cyA+IDAgJiYgKHZhbHVlICE9PSBcIl1cIiB8fCBwcmV2LnZhbHVlID09PSBcIltcIiB8fCBwcmV2LnZhbHVlID09PSBcIlteXCIpKSB7XG4gICAgICAgICAgaWYgKG9wdHMucG9zaXggIT09IGZhbHNlICYmIHZhbHVlID09PSBcIjpcIikge1xuICAgICAgICAgICAgY29uc3QgaW5uZXIgPSBwcmV2LnZhbHVlLnNsaWNlKDEpO1xuICAgICAgICAgICAgaWYgKGlubmVyLmluY2x1ZGVzKFwiW1wiKSkge1xuICAgICAgICAgICAgICBwcmV2LnBvc2l4ID0gdHJ1ZTtcbiAgICAgICAgICAgICAgaWYgKGlubmVyLmluY2x1ZGVzKFwiOlwiKSkge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlkeCA9IHByZXYudmFsdWUubGFzdEluZGV4T2YoXCJbXCIpO1xuICAgICAgICAgICAgICAgIGNvbnN0IHByZSA9IHByZXYudmFsdWUuc2xpY2UoMCwgaWR4KTtcbiAgICAgICAgICAgICAgICBjb25zdCByZXN0MiA9IHByZXYudmFsdWUuc2xpY2UoaWR4ICsgMik7XG4gICAgICAgICAgICAgICAgY29uc3QgcG9zaXggPSBQT1NJWF9SRUdFWF9TT1VSQ0VbcmVzdDJdO1xuICAgICAgICAgICAgICAgIGlmIChwb3NpeCkge1xuICAgICAgICAgICAgICAgICAgcHJldi52YWx1ZSA9IHByZSArIHBvc2l4O1xuICAgICAgICAgICAgICAgICAgc3RhdGUuYmFja3RyYWNrID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICAgIGFkdmFuY2UoKTtcbiAgICAgICAgICAgICAgICAgIGlmICghYm9zLm91dHB1dCAmJiB0b2tlbnMuaW5kZXhPZihwcmV2KSA9PT0gMSkge1xuICAgICAgICAgICAgICAgICAgICBib3Mub3V0cHV0ID0gT05FX0NIQVI7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHZhbHVlID09PSBcIltcIiAmJiBwZWVrMigpICE9PSBcIjpcIiB8fCB2YWx1ZSA9PT0gXCItXCIgJiYgcGVlazIoKSA9PT0gXCJdXCIpIHtcbiAgICAgICAgICAgIHZhbHVlID0gYFxcXFwke3ZhbHVlfWA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh2YWx1ZSA9PT0gXCJdXCIgJiYgKHByZXYudmFsdWUgPT09IFwiW1wiIHx8IHByZXYudmFsdWUgPT09IFwiW15cIikpIHtcbiAgICAgICAgICAgIHZhbHVlID0gYFxcXFwke3ZhbHVlfWA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChvcHRzLnBvc2l4ID09PSB0cnVlICYmIHZhbHVlID09PSBcIiFcIiAmJiBwcmV2LnZhbHVlID09PSBcIltcIikge1xuICAgICAgICAgICAgdmFsdWUgPSBcIl5cIjtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHJldi52YWx1ZSArPSB2YWx1ZTtcbiAgICAgICAgICBhcHBlbmQoeyB2YWx1ZSB9KTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdGUucXVvdGVzID09PSAxICYmIHZhbHVlICE9PSAnXCInKSB7XG4gICAgICAgICAgdmFsdWUgPSB1dGlscy5lc2NhcGVSZWdleCh2YWx1ZSk7XG4gICAgICAgICAgcHJldi52YWx1ZSArPSB2YWx1ZTtcbiAgICAgICAgICBhcHBlbmQoeyB2YWx1ZSB9KTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgPT09ICdcIicpIHtcbiAgICAgICAgICBzdGF0ZS5xdW90ZXMgPSBzdGF0ZS5xdW90ZXMgPT09IDEgPyAwIDogMTtcbiAgICAgICAgICBpZiAob3B0cy5rZWVwUXVvdGVzID09PSB0cnVlKSB7XG4gICAgICAgICAgICBwdXNoMih7IHR5cGU6IFwidGV4dFwiLCB2YWx1ZSB9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlID09PSBcIihcIikge1xuICAgICAgICAgIGluY3JlbWVudChcInBhcmVuc1wiKTtcbiAgICAgICAgICBwdXNoMih7IHR5cGU6IFwicGFyZW5cIiwgdmFsdWUgfSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlID09PSBcIilcIikge1xuICAgICAgICAgIGlmIChzdGF0ZS5wYXJlbnMgPT09IDAgJiYgb3B0cy5zdHJpY3RCcmFja2V0cyA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFN5bnRheEVycm9yKHN5bnRheEVycm9yMihcIm9wZW5pbmdcIiwgXCIoXCIpKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgZXh0Z2xvYiA9IGV4dGdsb2JzW2V4dGdsb2JzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgIGlmIChleHRnbG9iICYmIHN0YXRlLnBhcmVucyA9PT0gZXh0Z2xvYi5wYXJlbnMgKyAxKSB7XG4gICAgICAgICAgICBleHRnbG9iQ2xvc2UoZXh0Z2xvYnMucG9wKCkpO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHB1c2gyKHsgdHlwZTogXCJwYXJlblwiLCB2YWx1ZSwgb3V0cHV0OiBzdGF0ZS5wYXJlbnMgPyBcIilcIiA6IFwiXFxcXClcIiB9KTtcbiAgICAgICAgICBkZWNyZW1lbnQoXCJwYXJlbnNcIik7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlID09PSBcIltcIikge1xuICAgICAgICAgIGlmIChvcHRzLm5vYnJhY2tldCA9PT0gdHJ1ZSB8fCAhcmVtYWluaW5nKCkuaW5jbHVkZXMoXCJdXCIpKSB7XG4gICAgICAgICAgICBpZiAob3B0cy5ub2JyYWNrZXQgIT09IHRydWUgJiYgb3B0cy5zdHJpY3RCcmFja2V0cyA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgICB0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IyKFwiY2xvc2luZ1wiLCBcIl1cIikpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdmFsdWUgPSBgXFxcXCR7dmFsdWV9YDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaW5jcmVtZW50KFwiYnJhY2tldHNcIik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHB1c2gyKHsgdHlwZTogXCJicmFja2V0XCIsIHZhbHVlIH0pO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gXCJdXCIpIHtcbiAgICAgICAgICBpZiAob3B0cy5ub2JyYWNrZXQgPT09IHRydWUgfHwgcHJldiAmJiBwcmV2LnR5cGUgPT09IFwiYnJhY2tldFwiICYmIHByZXYudmFsdWUubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICBwdXNoMih7IHR5cGU6IFwidGV4dFwiLCB2YWx1ZSwgb3V0cHV0OiBgXFxcXCR7dmFsdWV9YCB9KTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc3RhdGUuYnJhY2tldHMgPT09IDApIHtcbiAgICAgICAgICAgIGlmIChvcHRzLnN0cmljdEJyYWNrZXRzID09PSB0cnVlKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcjIoXCJvcGVuaW5nXCIsIFwiW1wiKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwdXNoMih7IHR5cGU6IFwidGV4dFwiLCB2YWx1ZSwgb3V0cHV0OiBgXFxcXCR7dmFsdWV9YCB9KTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBkZWNyZW1lbnQoXCJicmFja2V0c1wiKTtcbiAgICAgICAgICBjb25zdCBwcmV2VmFsdWUgPSBwcmV2LnZhbHVlLnNsaWNlKDEpO1xuICAgICAgICAgIGlmIChwcmV2LnBvc2l4ICE9PSB0cnVlICYmIHByZXZWYWx1ZVswXSA9PT0gXCJeXCIgJiYgIXByZXZWYWx1ZS5pbmNsdWRlcyhcIi9cIikpIHtcbiAgICAgICAgICAgIHZhbHVlID0gYC8ke3ZhbHVlfWA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHByZXYudmFsdWUgKz0gdmFsdWU7XG4gICAgICAgICAgYXBwZW5kKHsgdmFsdWUgfSk7XG4gICAgICAgICAgaWYgKG9wdHMubGl0ZXJhbEJyYWNrZXRzID09PSBmYWxzZSB8fCB1dGlscy5oYXNSZWdleENoYXJzKHByZXZWYWx1ZSkpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBlc2NhcGVkID0gdXRpbHMuZXNjYXBlUmVnZXgocHJldi52YWx1ZSk7XG4gICAgICAgICAgc3RhdGUub3V0cHV0ID0gc3RhdGUub3V0cHV0LnNsaWNlKDAsIC1wcmV2LnZhbHVlLmxlbmd0aCk7XG4gICAgICAgICAgaWYgKG9wdHMubGl0ZXJhbEJyYWNrZXRzID09PSB0cnVlKSB7XG4gICAgICAgICAgICBzdGF0ZS5vdXRwdXQgKz0gZXNjYXBlZDtcbiAgICAgICAgICAgIHByZXYudmFsdWUgPSBlc2NhcGVkO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHByZXYudmFsdWUgPSBgKCR7Y2FwdHVyZX0ke2VzY2FwZWR9fCR7cHJldi52YWx1ZX0pYDtcbiAgICAgICAgICBzdGF0ZS5vdXRwdXQgKz0gcHJldi52YWx1ZTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgPT09IFwie1wiICYmIG9wdHMubm9icmFjZSAhPT0gdHJ1ZSkge1xuICAgICAgICAgIGluY3JlbWVudChcImJyYWNlc1wiKTtcbiAgICAgICAgICBjb25zdCBvcGVuID0ge1xuICAgICAgICAgICAgdHlwZTogXCJicmFjZVwiLFxuICAgICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgICBvdXRwdXQ6IFwiKFwiLFxuICAgICAgICAgICAgb3V0cHV0SW5kZXg6IHN0YXRlLm91dHB1dC5sZW5ndGgsXG4gICAgICAgICAgICB0b2tlbnNJbmRleDogc3RhdGUudG9rZW5zLmxlbmd0aFxuICAgICAgICAgIH07XG4gICAgICAgICAgYnJhY2VzLnB1c2gob3Blbik7XG4gICAgICAgICAgcHVzaDIob3Blbik7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlID09PSBcIn1cIikge1xuICAgICAgICAgIGNvbnN0IGJyYWNlID0gYnJhY2VzW2JyYWNlcy5sZW5ndGggLSAxXTtcbiAgICAgICAgICBpZiAob3B0cy5ub2JyYWNlID09PSB0cnVlIHx8ICFicmFjZSkge1xuICAgICAgICAgICAgcHVzaDIoeyB0eXBlOiBcInRleHRcIiwgdmFsdWUsIG91dHB1dDogdmFsdWUgfSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGV0IG91dHB1dCA9IFwiKVwiO1xuICAgICAgICAgIGlmIChicmFjZS5kb3RzID09PSB0cnVlKSB7XG4gICAgICAgICAgICBjb25zdCBhcnIgPSB0b2tlbnMuc2xpY2UoKTtcbiAgICAgICAgICAgIGNvbnN0IHJhbmdlID0gW107XG4gICAgICAgICAgICBmb3IgKGxldCBpID0gYXJyLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgICAgICAgIHRva2Vucy5wb3AoKTtcbiAgICAgICAgICAgICAgaWYgKGFycltpXS50eXBlID09PSBcImJyYWNlXCIpIHtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAoYXJyW2ldLnR5cGUgIT09IFwiZG90c1wiKSB7XG4gICAgICAgICAgICAgICAgcmFuZ2UudW5zaGlmdChhcnJbaV0udmFsdWUpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBvdXRwdXQgPSBleHBhbmRSYW5nZShyYW5nZSwgb3B0cyk7XG4gICAgICAgICAgICBzdGF0ZS5iYWNrdHJhY2sgPSB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoYnJhY2UuY29tbWEgIT09IHRydWUgJiYgYnJhY2UuZG90cyAhPT0gdHJ1ZSkge1xuICAgICAgICAgICAgY29uc3Qgb3V0ID0gc3RhdGUub3V0cHV0LnNsaWNlKDAsIGJyYWNlLm91dHB1dEluZGV4KTtcbiAgICAgICAgICAgIGNvbnN0IHRva3MgPSBzdGF0ZS50b2tlbnMuc2xpY2UoYnJhY2UudG9rZW5zSW5kZXgpO1xuICAgICAgICAgICAgYnJhY2UudmFsdWUgPSBicmFjZS5vdXRwdXQgPSBcIlxcXFx7XCI7XG4gICAgICAgICAgICB2YWx1ZSA9IG91dHB1dCA9IFwiXFxcXH1cIjtcbiAgICAgICAgICAgIHN0YXRlLm91dHB1dCA9IG91dDtcbiAgICAgICAgICAgIGZvciAoY29uc3QgdCBvZiB0b2tzKSB7XG4gICAgICAgICAgICAgIHN0YXRlLm91dHB1dCArPSB0Lm91dHB1dCB8fCB0LnZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBwdXNoMih7IHR5cGU6IFwiYnJhY2VcIiwgdmFsdWUsIG91dHB1dCB9KTtcbiAgICAgICAgICBkZWNyZW1lbnQoXCJicmFjZXNcIik7XG4gICAgICAgICAgYnJhY2VzLnBvcCgpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gXCJ8XCIpIHtcbiAgICAgICAgICBpZiAoZXh0Z2xvYnMubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgZXh0Z2xvYnNbZXh0Z2xvYnMubGVuZ3RoIC0gMV0uY29uZGl0aW9ucysrO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwdXNoMih7IHR5cGU6IFwidGV4dFwiLCB2YWx1ZSB9KTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgPT09IFwiLFwiKSB7XG4gICAgICAgICAgbGV0IG91dHB1dCA9IHZhbHVlO1xuICAgICAgICAgIGNvbnN0IGJyYWNlID0gYnJhY2VzW2JyYWNlcy5sZW5ndGggLSAxXTtcbiAgICAgICAgICBpZiAoYnJhY2UgJiYgc3RhY2syW3N0YWNrMi5sZW5ndGggLSAxXSA9PT0gXCJicmFjZXNcIikge1xuICAgICAgICAgICAgYnJhY2UuY29tbWEgPSB0cnVlO1xuICAgICAgICAgICAgb3V0cHV0ID0gXCJ8XCI7XG4gICAgICAgICAgfVxuICAgICAgICAgIHB1c2gyKHsgdHlwZTogXCJjb21tYVwiLCB2YWx1ZSwgb3V0cHV0IH0pO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gXCIvXCIpIHtcbiAgICAgICAgICBpZiAocHJldi50eXBlID09PSBcImRvdFwiICYmIHN0YXRlLmluZGV4ID09PSBzdGF0ZS5zdGFydCArIDEpIHtcbiAgICAgICAgICAgIHN0YXRlLnN0YXJ0ID0gc3RhdGUuaW5kZXggKyAxO1xuICAgICAgICAgICAgc3RhdGUuY29uc3VtZWQgPSBcIlwiO1xuICAgICAgICAgICAgc3RhdGUub3V0cHV0ID0gXCJcIjtcbiAgICAgICAgICAgIHRva2Vucy5wb3AoKTtcbiAgICAgICAgICAgIHByZXYgPSBib3M7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHVzaDIoeyB0eXBlOiBcInNsYXNoXCIsIHZhbHVlLCBvdXRwdXQ6IFNMQVNIX0xJVEVSQUwgfSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlID09PSBcIi5cIikge1xuICAgICAgICAgIGlmIChzdGF0ZS5icmFjZXMgPiAwICYmIHByZXYudHlwZSA9PT0gXCJkb3RcIikge1xuICAgICAgICAgICAgaWYgKHByZXYudmFsdWUgPT09IFwiLlwiKSBwcmV2Lm91dHB1dCA9IERPVF9MSVRFUkFMO1xuICAgICAgICAgICAgY29uc3QgYnJhY2UgPSBicmFjZXNbYnJhY2VzLmxlbmd0aCAtIDFdO1xuICAgICAgICAgICAgcHJldi50eXBlID0gXCJkb3RzXCI7XG4gICAgICAgICAgICBwcmV2Lm91dHB1dCArPSB2YWx1ZTtcbiAgICAgICAgICAgIHByZXYudmFsdWUgKz0gdmFsdWU7XG4gICAgICAgICAgICBicmFjZS5kb3RzID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc3RhdGUuYnJhY2VzICsgc3RhdGUucGFyZW5zID09PSAwICYmIHByZXYudHlwZSAhPT0gXCJib3NcIiAmJiBwcmV2LnR5cGUgIT09IFwic2xhc2hcIikge1xuICAgICAgICAgICAgcHVzaDIoeyB0eXBlOiBcInRleHRcIiwgdmFsdWUsIG91dHB1dDogRE9UX0xJVEVSQUwgfSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHVzaDIoeyB0eXBlOiBcImRvdFwiLCB2YWx1ZSwgb3V0cHV0OiBET1RfTElURVJBTCB9KTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgPT09IFwiP1wiKSB7XG4gICAgICAgICAgY29uc3QgaXNHcm91cCA9IHByZXYgJiYgcHJldi52YWx1ZSA9PT0gXCIoXCI7XG4gICAgICAgICAgaWYgKCFpc0dyb3VwICYmIG9wdHMubm9leHRnbG9iICE9PSB0cnVlICYmIHBlZWsyKCkgPT09IFwiKFwiICYmIHBlZWsyKDIpICE9PSBcIj9cIikge1xuICAgICAgICAgICAgZXh0Z2xvYk9wZW4oXCJxbWFya1wiLCB2YWx1ZSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHByZXYgJiYgcHJldi50eXBlID09PSBcInBhcmVuXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IG5leHQgPSBwZWVrMigpO1xuICAgICAgICAgICAgbGV0IG91dHB1dCA9IHZhbHVlO1xuICAgICAgICAgICAgaWYgKG5leHQgPT09IFwiPFwiICYmICF1dGlscy5zdXBwb3J0c0xvb2tiZWhpbmRzKCkpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTm9kZS5qcyB2MTAgb3IgaGlnaGVyIGlzIHJlcXVpcmVkIGZvciByZWdleCBsb29rYmVoaW5kc1wiKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwcmV2LnZhbHVlID09PSBcIihcIiAmJiAhL1shPTw6XS8udGVzdChuZXh0KSB8fCBuZXh0ID09PSBcIjxcIiAmJiAhLzwoWyE9XXxcXHcrPikvLnRlc3QocmVtYWluaW5nKCkpKSB7XG4gICAgICAgICAgICAgIG91dHB1dCA9IGBcXFxcJHt2YWx1ZX1gO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHVzaDIoeyB0eXBlOiBcInRleHRcIiwgdmFsdWUsIG91dHB1dCB9KTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAob3B0cy5kb3QgIT09IHRydWUgJiYgKHByZXYudHlwZSA9PT0gXCJzbGFzaFwiIHx8IHByZXYudHlwZSA9PT0gXCJib3NcIikpIHtcbiAgICAgICAgICAgIHB1c2gyKHsgdHlwZTogXCJxbWFya1wiLCB2YWx1ZSwgb3V0cHV0OiBRTUFSS19OT19ET1QgfSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHVzaDIoeyB0eXBlOiBcInFtYXJrXCIsIHZhbHVlLCBvdXRwdXQ6IFFNQVJLIH0pO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gXCIhXCIpIHtcbiAgICAgICAgICBpZiAob3B0cy5ub2V4dGdsb2IgIT09IHRydWUgJiYgcGVlazIoKSA9PT0gXCIoXCIpIHtcbiAgICAgICAgICAgIGlmIChwZWVrMigyKSAhPT0gXCI/XCIgfHwgIS9bIT08Ol0vLnRlc3QocGVlazIoMykpKSB7XG4gICAgICAgICAgICAgIGV4dGdsb2JPcGVuKFwibmVnYXRlXCIsIHZhbHVlKTtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChvcHRzLm5vbmVnYXRlICE9PSB0cnVlICYmIHN0YXRlLmluZGV4ID09PSAwKSB7XG4gICAgICAgICAgICBuZWdhdGUoKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgPT09IFwiK1wiKSB7XG4gICAgICAgICAgaWYgKG9wdHMubm9leHRnbG9iICE9PSB0cnVlICYmIHBlZWsyKCkgPT09IFwiKFwiICYmIHBlZWsyKDIpICE9PSBcIj9cIikge1xuICAgICAgICAgICAgZXh0Z2xvYk9wZW4oXCJwbHVzXCIsIHZhbHVlKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocHJldiAmJiBwcmV2LnZhbHVlID09PSBcIihcIiB8fCBvcHRzLnJlZ2V4ID09PSBmYWxzZSkge1xuICAgICAgICAgICAgcHVzaDIoeyB0eXBlOiBcInBsdXNcIiwgdmFsdWUsIG91dHB1dDogUExVU19MSVRFUkFMIH0pO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChwcmV2ICYmIChwcmV2LnR5cGUgPT09IFwiYnJhY2tldFwiIHx8IHByZXYudHlwZSA9PT0gXCJwYXJlblwiIHx8IHByZXYudHlwZSA9PT0gXCJicmFjZVwiKSB8fCBzdGF0ZS5wYXJlbnMgPiAwKSB7XG4gICAgICAgICAgICBwdXNoMih7IHR5cGU6IFwicGx1c1wiLCB2YWx1ZSB9KTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwdXNoMih7IHR5cGU6IFwicGx1c1wiLCB2YWx1ZTogUExVU19MSVRFUkFMIH0pO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gXCJAXCIpIHtcbiAgICAgICAgICBpZiAob3B0cy5ub2V4dGdsb2IgIT09IHRydWUgJiYgcGVlazIoKSA9PT0gXCIoXCIgJiYgcGVlazIoMikgIT09IFwiP1wiKSB7XG4gICAgICAgICAgICBwdXNoMih7IHR5cGU6IFwiYXRcIiwgZXh0Z2xvYjogdHJ1ZSwgdmFsdWUsIG91dHB1dDogXCJcIiB9KTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwdXNoMih7IHR5cGU6IFwidGV4dFwiLCB2YWx1ZSB9KTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmFsdWUgIT09IFwiKlwiKSB7XG4gICAgICAgICAgaWYgKHZhbHVlID09PSBcIiRcIiB8fCB2YWx1ZSA9PT0gXCJeXCIpIHtcbiAgICAgICAgICAgIHZhbHVlID0gYFxcXFwke3ZhbHVlfWA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnN0IG1hdGNoID0gUkVHRVhfTk9OX1NQRUNJQUxfQ0hBUlMuZXhlYyhyZW1haW5pbmcoKSk7XG4gICAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgICB2YWx1ZSArPSBtYXRjaFswXTtcbiAgICAgICAgICAgIHN0YXRlLmluZGV4ICs9IG1hdGNoWzBdLmxlbmd0aDtcbiAgICAgICAgICB9XG4gICAgICAgICAgcHVzaDIoeyB0eXBlOiBcInRleHRcIiwgdmFsdWUgfSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByZXYgJiYgKHByZXYudHlwZSA9PT0gXCJnbG9ic3RhclwiIHx8IHByZXYuc3RhciA9PT0gdHJ1ZSkpIHtcbiAgICAgICAgICBwcmV2LnR5cGUgPSBcInN0YXJcIjtcbiAgICAgICAgICBwcmV2LnN0YXIgPSB0cnVlO1xuICAgICAgICAgIHByZXYudmFsdWUgKz0gdmFsdWU7XG4gICAgICAgICAgcHJldi5vdXRwdXQgPSBzdGFyO1xuICAgICAgICAgIHN0YXRlLmJhY2t0cmFjayA9IHRydWU7XG4gICAgICAgICAgc3RhdGUuZ2xvYnN0YXIgPSB0cnVlO1xuICAgICAgICAgIGNvbnN1bWUodmFsdWUpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGxldCByZXN0ID0gcmVtYWluaW5nKCk7XG4gICAgICAgIGlmIChvcHRzLm5vZXh0Z2xvYiAhPT0gdHJ1ZSAmJiAvXlxcKFteP10vLnRlc3QocmVzdCkpIHtcbiAgICAgICAgICBleHRnbG9iT3BlbihcInN0YXJcIiwgdmFsdWUpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmIChwcmV2LnR5cGUgPT09IFwic3RhclwiKSB7XG4gICAgICAgICAgaWYgKG9wdHMubm9nbG9ic3RhciA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgY29uc3VtZSh2YWx1ZSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgcHJpb3IgPSBwcmV2LnByZXY7XG4gICAgICAgICAgY29uc3QgYmVmb3JlID0gcHJpb3IucHJldjtcbiAgICAgICAgICBjb25zdCBpc1N0YXJ0ID0gcHJpb3IudHlwZSA9PT0gXCJzbGFzaFwiIHx8IHByaW9yLnR5cGUgPT09IFwiYm9zXCI7XG4gICAgICAgICAgY29uc3QgYWZ0ZXJTdGFyID0gYmVmb3JlICYmIChiZWZvcmUudHlwZSA9PT0gXCJzdGFyXCIgfHwgYmVmb3JlLnR5cGUgPT09IFwiZ2xvYnN0YXJcIik7XG4gICAgICAgICAgaWYgKG9wdHMuYmFzaCA9PT0gdHJ1ZSAmJiAoIWlzU3RhcnQgfHwgcmVzdFswXSAmJiByZXN0WzBdICE9PSBcIi9cIikpIHtcbiAgICAgICAgICAgIHB1c2gyKHsgdHlwZTogXCJzdGFyXCIsIHZhbHVlLCBvdXRwdXQ6IFwiXCIgfSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgaXNCcmFjZSA9IHN0YXRlLmJyYWNlcyA+IDAgJiYgKHByaW9yLnR5cGUgPT09IFwiY29tbWFcIiB8fCBwcmlvci50eXBlID09PSBcImJyYWNlXCIpO1xuICAgICAgICAgIGNvbnN0IGlzRXh0Z2xvYiA9IGV4dGdsb2JzLmxlbmd0aCAmJiAocHJpb3IudHlwZSA9PT0gXCJwaXBlXCIgfHwgcHJpb3IudHlwZSA9PT0gXCJwYXJlblwiKTtcbiAgICAgICAgICBpZiAoIWlzU3RhcnQgJiYgcHJpb3IudHlwZSAhPT0gXCJwYXJlblwiICYmICFpc0JyYWNlICYmICFpc0V4dGdsb2IpIHtcbiAgICAgICAgICAgIHB1c2gyKHsgdHlwZTogXCJzdGFyXCIsIHZhbHVlLCBvdXRwdXQ6IFwiXCIgfSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgd2hpbGUgKHJlc3Quc2xpY2UoMCwgMykgPT09IFwiLyoqXCIpIHtcbiAgICAgICAgICAgIGNvbnN0IGFmdGVyID0gaW5wdXRbc3RhdGUuaW5kZXggKyA0XTtcbiAgICAgICAgICAgIGlmIChhZnRlciAmJiBhZnRlciAhPT0gXCIvXCIpIHtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXN0ID0gcmVzdC5zbGljZSgzKTtcbiAgICAgICAgICAgIGNvbnN1bWUoXCIvKipcIiwgMyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChwcmlvci50eXBlID09PSBcImJvc1wiICYmIGVvcygpKSB7XG4gICAgICAgICAgICBwcmV2LnR5cGUgPSBcImdsb2JzdGFyXCI7XG4gICAgICAgICAgICBwcmV2LnZhbHVlICs9IHZhbHVlO1xuICAgICAgICAgICAgcHJldi5vdXRwdXQgPSBnbG9ic3RhcihvcHRzKTtcbiAgICAgICAgICAgIHN0YXRlLm91dHB1dCA9IHByZXYub3V0cHV0O1xuICAgICAgICAgICAgc3RhdGUuZ2xvYnN0YXIgPSB0cnVlO1xuICAgICAgICAgICAgY29uc3VtZSh2YWx1ZSk7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHByaW9yLnR5cGUgPT09IFwic2xhc2hcIiAmJiBwcmlvci5wcmV2LnR5cGUgIT09IFwiYm9zXCIgJiYgIWFmdGVyU3RhciAmJiBlb3MoKSkge1xuICAgICAgICAgICAgc3RhdGUub3V0cHV0ID0gc3RhdGUub3V0cHV0LnNsaWNlKDAsIC0ocHJpb3Iub3V0cHV0ICsgcHJldi5vdXRwdXQpLmxlbmd0aCk7XG4gICAgICAgICAgICBwcmlvci5vdXRwdXQgPSBgKD86JHtwcmlvci5vdXRwdXR9YDtcbiAgICAgICAgICAgIHByZXYudHlwZSA9IFwiZ2xvYnN0YXJcIjtcbiAgICAgICAgICAgIHByZXYub3V0cHV0ID0gZ2xvYnN0YXIob3B0cykgKyAob3B0cy5zdHJpY3RTbGFzaGVzID8gXCIpXCIgOiBcInwkKVwiKTtcbiAgICAgICAgICAgIHByZXYudmFsdWUgKz0gdmFsdWU7XG4gICAgICAgICAgICBzdGF0ZS5nbG9ic3RhciA9IHRydWU7XG4gICAgICAgICAgICBzdGF0ZS5vdXRwdXQgKz0gcHJpb3Iub3V0cHV0ICsgcHJldi5vdXRwdXQ7XG4gICAgICAgICAgICBjb25zdW1lKHZhbHVlKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocHJpb3IudHlwZSA9PT0gXCJzbGFzaFwiICYmIHByaW9yLnByZXYudHlwZSAhPT0gXCJib3NcIiAmJiByZXN0WzBdID09PSBcIi9cIikge1xuICAgICAgICAgICAgY29uc3QgZW5kID0gcmVzdFsxXSAhPT0gdm9pZCAwID8gXCJ8JFwiIDogXCJcIjtcbiAgICAgICAgICAgIHN0YXRlLm91dHB1dCA9IHN0YXRlLm91dHB1dC5zbGljZSgwLCAtKHByaW9yLm91dHB1dCArIHByZXYub3V0cHV0KS5sZW5ndGgpO1xuICAgICAgICAgICAgcHJpb3Iub3V0cHV0ID0gYCg/OiR7cHJpb3Iub3V0cHV0fWA7XG4gICAgICAgICAgICBwcmV2LnR5cGUgPSBcImdsb2JzdGFyXCI7XG4gICAgICAgICAgICBwcmV2Lm91dHB1dCA9IGAke2dsb2JzdGFyKG9wdHMpfSR7U0xBU0hfTElURVJBTH18JHtTTEFTSF9MSVRFUkFMfSR7ZW5kfSlgO1xuICAgICAgICAgICAgcHJldi52YWx1ZSArPSB2YWx1ZTtcbiAgICAgICAgICAgIHN0YXRlLm91dHB1dCArPSBwcmlvci5vdXRwdXQgKyBwcmV2Lm91dHB1dDtcbiAgICAgICAgICAgIHN0YXRlLmdsb2JzdGFyID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnN1bWUodmFsdWUgKyBhZHZhbmNlKCkpO1xuICAgICAgICAgICAgcHVzaDIoeyB0eXBlOiBcInNsYXNoXCIsIHZhbHVlOiBcIi9cIiwgb3V0cHV0OiBcIlwiIH0pO1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChwcmlvci50eXBlID09PSBcImJvc1wiICYmIHJlc3RbMF0gPT09IFwiL1wiKSB7XG4gICAgICAgICAgICBwcmV2LnR5cGUgPSBcImdsb2JzdGFyXCI7XG4gICAgICAgICAgICBwcmV2LnZhbHVlICs9IHZhbHVlO1xuICAgICAgICAgICAgcHJldi5vdXRwdXQgPSBgKD86Xnwke1NMQVNIX0xJVEVSQUx9fCR7Z2xvYnN0YXIob3B0cyl9JHtTTEFTSF9MSVRFUkFMfSlgO1xuICAgICAgICAgICAgc3RhdGUub3V0cHV0ID0gcHJldi5vdXRwdXQ7XG4gICAgICAgICAgICBzdGF0ZS5nbG9ic3RhciA9IHRydWU7XG4gICAgICAgICAgICBjb25zdW1lKHZhbHVlICsgYWR2YW5jZSgpKTtcbiAgICAgICAgICAgIHB1c2gyKHsgdHlwZTogXCJzbGFzaFwiLCB2YWx1ZTogXCIvXCIsIG91dHB1dDogXCJcIiB9KTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBzdGF0ZS5vdXRwdXQgPSBzdGF0ZS5vdXRwdXQuc2xpY2UoMCwgLXByZXYub3V0cHV0Lmxlbmd0aCk7XG4gICAgICAgICAgcHJldi50eXBlID0gXCJnbG9ic3RhclwiO1xuICAgICAgICAgIHByZXYub3V0cHV0ID0gZ2xvYnN0YXIob3B0cyk7XG4gICAgICAgICAgcHJldi52YWx1ZSArPSB2YWx1ZTtcbiAgICAgICAgICBzdGF0ZS5vdXRwdXQgKz0gcHJldi5vdXRwdXQ7XG4gICAgICAgICAgc3RhdGUuZ2xvYnN0YXIgPSB0cnVlO1xuICAgICAgICAgIGNvbnN1bWUodmFsdWUpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRva2VuMiA9IHsgdHlwZTogXCJzdGFyXCIsIHZhbHVlLCBvdXRwdXQ6IHN0YXIgfTtcbiAgICAgICAgaWYgKG9wdHMuYmFzaCA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHRva2VuMi5vdXRwdXQgPSBcIi4qP1wiO1xuICAgICAgICAgIGlmIChwcmV2LnR5cGUgPT09IFwiYm9zXCIgfHwgcHJldi50eXBlID09PSBcInNsYXNoXCIpIHtcbiAgICAgICAgICAgIHRva2VuMi5vdXRwdXQgPSBub2RvdCArIHRva2VuMi5vdXRwdXQ7XG4gICAgICAgICAgfVxuICAgICAgICAgIHB1c2gyKHRva2VuMik7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHByZXYgJiYgKHByZXYudHlwZSA9PT0gXCJicmFja2V0XCIgfHwgcHJldi50eXBlID09PSBcInBhcmVuXCIpICYmIG9wdHMucmVnZXggPT09IHRydWUpIHtcbiAgICAgICAgICB0b2tlbjIub3V0cHV0ID0gdmFsdWU7XG4gICAgICAgICAgcHVzaDIodG9rZW4yKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdGUuaW5kZXggPT09IHN0YXRlLnN0YXJ0IHx8IHByZXYudHlwZSA9PT0gXCJzbGFzaFwiIHx8IHByZXYudHlwZSA9PT0gXCJkb3RcIikge1xuICAgICAgICAgIGlmIChwcmV2LnR5cGUgPT09IFwiZG90XCIpIHtcbiAgICAgICAgICAgIHN0YXRlLm91dHB1dCArPSBOT19ET1RfU0xBU0g7XG4gICAgICAgICAgICBwcmV2Lm91dHB1dCArPSBOT19ET1RfU0xBU0g7XG4gICAgICAgICAgfSBlbHNlIGlmIChvcHRzLmRvdCA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgc3RhdGUub3V0cHV0ICs9IE5PX0RPVFNfU0xBU0g7XG4gICAgICAgICAgICBwcmV2Lm91dHB1dCArPSBOT19ET1RTX1NMQVNIO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdGF0ZS5vdXRwdXQgKz0gbm9kb3Q7XG4gICAgICAgICAgICBwcmV2Lm91dHB1dCArPSBub2RvdDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHBlZWsyKCkgIT09IFwiKlwiKSB7XG4gICAgICAgICAgICBzdGF0ZS5vdXRwdXQgKz0gT05FX0NIQVI7XG4gICAgICAgICAgICBwcmV2Lm91dHB1dCArPSBPTkVfQ0hBUjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHVzaDIodG9rZW4yKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChzdGF0ZS5icmFja2V0cyA+IDApIHtcbiAgICAgICAgaWYgKG9wdHMuc3RyaWN0QnJhY2tldHMgPT09IHRydWUpIHRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcjIoXCJjbG9zaW5nXCIsIFwiXVwiKSk7XG4gICAgICAgIHN0YXRlLm91dHB1dCA9IHV0aWxzLmVzY2FwZUxhc3Qoc3RhdGUub3V0cHV0LCBcIltcIik7XG4gICAgICAgIGRlY3JlbWVudChcImJyYWNrZXRzXCIpO1xuICAgICAgfVxuICAgICAgd2hpbGUgKHN0YXRlLnBhcmVucyA+IDApIHtcbiAgICAgICAgaWYgKG9wdHMuc3RyaWN0QnJhY2tldHMgPT09IHRydWUpIHRocm93IG5ldyBTeW50YXhFcnJvcihzeW50YXhFcnJvcjIoXCJjbG9zaW5nXCIsIFwiKVwiKSk7XG4gICAgICAgIHN0YXRlLm91dHB1dCA9IHV0aWxzLmVzY2FwZUxhc3Qoc3RhdGUub3V0cHV0LCBcIihcIik7XG4gICAgICAgIGRlY3JlbWVudChcInBhcmVuc1wiKTtcbiAgICAgIH1cbiAgICAgIHdoaWxlIChzdGF0ZS5icmFjZXMgPiAwKSB7XG4gICAgICAgIGlmIChvcHRzLnN0cmljdEJyYWNrZXRzID09PSB0cnVlKSB0aHJvdyBuZXcgU3ludGF4RXJyb3Ioc3ludGF4RXJyb3IyKFwiY2xvc2luZ1wiLCBcIn1cIikpO1xuICAgICAgICBzdGF0ZS5vdXRwdXQgPSB1dGlscy5lc2NhcGVMYXN0KHN0YXRlLm91dHB1dCwgXCJ7XCIpO1xuICAgICAgICBkZWNyZW1lbnQoXCJicmFjZXNcIik7XG4gICAgICB9XG4gICAgICBpZiAob3B0cy5zdHJpY3RTbGFzaGVzICE9PSB0cnVlICYmIChwcmV2LnR5cGUgPT09IFwic3RhclwiIHx8IHByZXYudHlwZSA9PT0gXCJicmFja2V0XCIpKSB7XG4gICAgICAgIHB1c2gyKHsgdHlwZTogXCJtYXliZV9zbGFzaFwiLCB2YWx1ZTogXCJcIiwgb3V0cHV0OiBgJHtTTEFTSF9MSVRFUkFMfT9gIH0pO1xuICAgICAgfVxuICAgICAgaWYgKHN0YXRlLmJhY2t0cmFjayA9PT0gdHJ1ZSkge1xuICAgICAgICBzdGF0ZS5vdXRwdXQgPSBcIlwiO1xuICAgICAgICBmb3IgKGNvbnN0IHRva2VuMiBvZiBzdGF0ZS50b2tlbnMpIHtcbiAgICAgICAgICBzdGF0ZS5vdXRwdXQgKz0gdG9rZW4yLm91dHB1dCAhPSBudWxsID8gdG9rZW4yLm91dHB1dCA6IHRva2VuMi52YWx1ZTtcbiAgICAgICAgICBpZiAodG9rZW4yLnN1ZmZpeCkge1xuICAgICAgICAgICAgc3RhdGUub3V0cHV0ICs9IHRva2VuMi5zdWZmaXg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RhdGU7XG4gICAgfTtcbiAgICBwYXJzZTcuZmFzdHBhdGhzID0gKGlucHV0LCBvcHRpb25zOCkgPT4ge1xuICAgICAgY29uc3Qgb3B0cyA9IHsgLi4ub3B0aW9uczggfTtcbiAgICAgIGNvbnN0IG1heCA9IHR5cGVvZiBvcHRzLm1heExlbmd0aCA9PT0gXCJudW1iZXJcIiA/IE1hdGgubWluKE1BWF9MRU5HVEgsIG9wdHMubWF4TGVuZ3RoKSA6IE1BWF9MRU5HVEg7XG4gICAgICBjb25zdCBsZW4gPSBpbnB1dC5sZW5ndGg7XG4gICAgICBpZiAobGVuID4gbWF4KSB7XG4gICAgICAgIHRocm93IG5ldyBTeW50YXhFcnJvcihgSW5wdXQgbGVuZ3RoOiAke2xlbn0sIGV4Y2VlZHMgbWF4aW11bSBhbGxvd2VkIGxlbmd0aDogJHttYXh9YCk7XG4gICAgICB9XG4gICAgICBpbnB1dCA9IFJFUExBQ0VNRU5UU1tpbnB1dF0gfHwgaW5wdXQ7XG4gICAgICBjb25zdCB3aW4zMiA9IHV0aWxzLmlzV2luZG93cyhvcHRpb25zOCk7XG4gICAgICBjb25zdCB7XG4gICAgICAgIERPVF9MSVRFUkFMLFxuICAgICAgICBTTEFTSF9MSVRFUkFMLFxuICAgICAgICBPTkVfQ0hBUixcbiAgICAgICAgRE9UU19TTEFTSCxcbiAgICAgICAgTk9fRE9ULFxuICAgICAgICBOT19ET1RTLFxuICAgICAgICBOT19ET1RTX1NMQVNILFxuICAgICAgICBTVEFSLFxuICAgICAgICBTVEFSVF9BTkNIT1JcbiAgICAgIH0gPSBjb25zdGFudHMuZ2xvYkNoYXJzKHdpbjMyKTtcbiAgICAgIGNvbnN0IG5vZG90ID0gb3B0cy5kb3QgPyBOT19ET1RTIDogTk9fRE9UO1xuICAgICAgY29uc3Qgc2xhc2hEb3QgPSBvcHRzLmRvdCA/IE5PX0RPVFNfU0xBU0ggOiBOT19ET1Q7XG4gICAgICBjb25zdCBjYXB0dXJlID0gb3B0cy5jYXB0dXJlID8gXCJcIiA6IFwiPzpcIjtcbiAgICAgIGNvbnN0IHN0YXRlID0geyBuZWdhdGVkOiBmYWxzZSwgcHJlZml4OiBcIlwiIH07XG4gICAgICBsZXQgc3RhciA9IG9wdHMuYmFzaCA9PT0gdHJ1ZSA/IFwiLio/XCIgOiBTVEFSO1xuICAgICAgaWYgKG9wdHMuY2FwdHVyZSkge1xuICAgICAgICBzdGFyID0gYCgke3N0YXJ9KWA7XG4gICAgICB9XG4gICAgICBjb25zdCBnbG9ic3RhciA9IChvcHRzMikgPT4ge1xuICAgICAgICBpZiAob3B0czIubm9nbG9ic3RhciA9PT0gdHJ1ZSkgcmV0dXJuIHN0YXI7XG4gICAgICAgIHJldHVybiBgKCR7Y2FwdHVyZX0oPzooPyEke1NUQVJUX0FOQ0hPUn0ke29wdHMyLmRvdCA/IERPVFNfU0xBU0ggOiBET1RfTElURVJBTH0pLikqPylgO1xuICAgICAgfTtcbiAgICAgIGNvbnN0IGNyZWF0ZSA9IChzdHIyKSA9PiB7XG4gICAgICAgIHN3aXRjaCAoc3RyMikge1xuICAgICAgICAgIGNhc2UgXCIqXCI6XG4gICAgICAgICAgICByZXR1cm4gYCR7bm9kb3R9JHtPTkVfQ0hBUn0ke3N0YXJ9YDtcbiAgICAgICAgICBjYXNlIFwiLipcIjpcbiAgICAgICAgICAgIHJldHVybiBgJHtET1RfTElURVJBTH0ke09ORV9DSEFSfSR7c3Rhcn1gO1xuICAgICAgICAgIGNhc2UgXCIqLipcIjpcbiAgICAgICAgICAgIHJldHVybiBgJHtub2RvdH0ke3N0YXJ9JHtET1RfTElURVJBTH0ke09ORV9DSEFSfSR7c3Rhcn1gO1xuICAgICAgICAgIGNhc2UgXCIqLypcIjpcbiAgICAgICAgICAgIHJldHVybiBgJHtub2RvdH0ke3N0YXJ9JHtTTEFTSF9MSVRFUkFMfSR7T05FX0NIQVJ9JHtzbGFzaERvdH0ke3N0YXJ9YDtcbiAgICAgICAgICBjYXNlIFwiKipcIjpcbiAgICAgICAgICAgIHJldHVybiBub2RvdCArIGdsb2JzdGFyKG9wdHMpO1xuICAgICAgICAgIGNhc2UgXCIqKi8qXCI6XG4gICAgICAgICAgICByZXR1cm4gYCg/OiR7bm9kb3R9JHtnbG9ic3RhcihvcHRzKX0ke1NMQVNIX0xJVEVSQUx9KT8ke3NsYXNoRG90fSR7T05FX0NIQVJ9JHtzdGFyfWA7XG4gICAgICAgICAgY2FzZSBcIioqLyouKlwiOlxuICAgICAgICAgICAgcmV0dXJuIGAoPzoke25vZG90fSR7Z2xvYnN0YXIob3B0cyl9JHtTTEFTSF9MSVRFUkFMfSk/JHtzbGFzaERvdH0ke3N0YXJ9JHtET1RfTElURVJBTH0ke09ORV9DSEFSfSR7c3Rhcn1gO1xuICAgICAgICAgIGNhc2UgXCIqKi8uKlwiOlxuICAgICAgICAgICAgcmV0dXJuIGAoPzoke25vZG90fSR7Z2xvYnN0YXIob3B0cyl9JHtTTEFTSF9MSVRFUkFMfSk/JHtET1RfTElURVJBTH0ke09ORV9DSEFSfSR7c3Rhcn1gO1xuICAgICAgICAgIGRlZmF1bHQ6IHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoID0gL14oLio/KVxcLihcXHcrKSQvLmV4ZWMoc3RyMik7XG4gICAgICAgICAgICBpZiAoIW1hdGNoKSByZXR1cm47XG4gICAgICAgICAgICBjb25zdCBzb3VyY2UzID0gY3JlYXRlKG1hdGNoWzFdKTtcbiAgICAgICAgICAgIGlmICghc291cmNlMykgcmV0dXJuO1xuICAgICAgICAgICAgcmV0dXJuIHNvdXJjZTMgKyBET1RfTElURVJBTCArIG1hdGNoWzJdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IG91dHB1dCA9IHV0aWxzLnJlbW92ZVByZWZpeChpbnB1dCwgc3RhdGUpO1xuICAgICAgbGV0IHNvdXJjZTIgPSBjcmVhdGUob3V0cHV0KTtcbiAgICAgIGlmIChzb3VyY2UyICYmIG9wdHMuc3RyaWN0U2xhc2hlcyAhPT0gdHJ1ZSkge1xuICAgICAgICBzb3VyY2UyICs9IGAke1NMQVNIX0xJVEVSQUx9P2A7XG4gICAgICB9XG4gICAgICByZXR1cm4gc291cmNlMjtcbiAgICB9O1xuICAgIG1vZHVsZS5leHBvcnRzID0gcGFyc2U3O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3BpY29tYXRjaC9saWIvcGljb21hdGNoLmpzXG52YXIgcmVxdWlyZV9waWNvbWF0Y2ggPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcGljb21hdGNoL2xpYi9waWNvbWF0Y2guanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgcGF0aDEzID0gX19yZXF1aXJlKFwicGF0aFwiKTtcbiAgICB2YXIgc2NhbiA9IHJlcXVpcmVfc2NhbigpO1xuICAgIHZhciBwYXJzZTcgPSByZXF1aXJlX3BhcnNlMigpO1xuICAgIHZhciB1dGlscyA9IHJlcXVpcmVfdXRpbHMyKCk7XG4gICAgdmFyIGNvbnN0YW50cyA9IHJlcXVpcmVfY29uc3RhbnRzMigpO1xuICAgIHZhciBpc09iamVjdDMgPSAodmFsKSA9PiB2YWwgJiYgdHlwZW9mIHZhbCA9PT0gXCJvYmplY3RcIiAmJiAhQXJyYXkuaXNBcnJheSh2YWwpO1xuICAgIHZhciBwaWNvbWF0Y2ggPSAoZ2xvYiwgb3B0aW9uczgsIHJldHVyblN0YXRlID0gZmFsc2UpID0+IHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGdsb2IpKSB7XG4gICAgICAgIGNvbnN0IGZucyA9IGdsb2IubWFwKChpbnB1dCkgPT4gcGljb21hdGNoKGlucHV0LCBvcHRpb25zOCwgcmV0dXJuU3RhdGUpKTtcbiAgICAgICAgY29uc3QgYXJyYXlNYXRjaGVyID0gKHN0cjIpID0+IHtcbiAgICAgICAgICBmb3IgKGNvbnN0IGlzTWF0Y2ggb2YgZm5zKSB7XG4gICAgICAgICAgICBjb25zdCBzdGF0ZTIgPSBpc01hdGNoKHN0cjIpO1xuICAgICAgICAgICAgaWYgKHN0YXRlMikgcmV0dXJuIHN0YXRlMjtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9O1xuICAgICAgICByZXR1cm4gYXJyYXlNYXRjaGVyO1xuICAgICAgfVxuICAgICAgY29uc3QgaXNTdGF0ZSA9IGlzT2JqZWN0MyhnbG9iKSAmJiBnbG9iLnRva2VucyAmJiBnbG9iLmlucHV0O1xuICAgICAgaWYgKGdsb2IgPT09IFwiXCIgfHwgdHlwZW9mIGdsb2IgIT09IFwic3RyaW5nXCIgJiYgIWlzU3RhdGUpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIHBhdHRlcm4gdG8gYmUgYSBub24tZW1wdHkgc3RyaW5nXCIpO1xuICAgICAgfVxuICAgICAgY29uc3Qgb3B0cyA9IG9wdGlvbnM4IHx8IHt9O1xuICAgICAgY29uc3QgcG9zaXggPSB1dGlscy5pc1dpbmRvd3Mob3B0aW9uczgpO1xuICAgICAgY29uc3QgcmVnZXggPSBpc1N0YXRlID8gcGljb21hdGNoLmNvbXBpbGVSZShnbG9iLCBvcHRpb25zOCkgOiBwaWNvbWF0Y2gubWFrZVJlKGdsb2IsIG9wdGlvbnM4LCBmYWxzZSwgdHJ1ZSk7XG4gICAgICBjb25zdCBzdGF0ZSA9IHJlZ2V4LnN0YXRlO1xuICAgICAgZGVsZXRlIHJlZ2V4LnN0YXRlO1xuICAgICAgbGV0IGlzSWdub3JlZDIgPSAoKSA9PiBmYWxzZTtcbiAgICAgIGlmIChvcHRzLmlnbm9yZSkge1xuICAgICAgICBjb25zdCBpZ25vcmVPcHRzID0geyAuLi5vcHRpb25zOCwgaWdub3JlOiBudWxsLCBvbk1hdGNoOiBudWxsLCBvblJlc3VsdDogbnVsbCB9O1xuICAgICAgICBpc0lnbm9yZWQyID0gcGljb21hdGNoKG9wdHMuaWdub3JlLCBpZ25vcmVPcHRzLCByZXR1cm5TdGF0ZSk7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXRjaGVyID0gKGlucHV0LCByZXR1cm5PYmplY3QgPSBmYWxzZSkgPT4ge1xuICAgICAgICBjb25zdCB7IGlzTWF0Y2gsIG1hdGNoLCBvdXRwdXQgfSA9IHBpY29tYXRjaC50ZXN0KGlucHV0LCByZWdleCwgb3B0aW9uczgsIHsgZ2xvYiwgcG9zaXggfSk7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHsgZ2xvYiwgc3RhdGUsIHJlZ2V4LCBwb3NpeCwgaW5wdXQsIG91dHB1dCwgbWF0Y2gsIGlzTWF0Y2ggfTtcbiAgICAgICAgaWYgKHR5cGVvZiBvcHRzLm9uUmVzdWx0ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICBvcHRzLm9uUmVzdWx0KHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzTWF0Y2ggPT09IGZhbHNlKSB7XG4gICAgICAgICAgcmVzdWx0LmlzTWF0Y2ggPSBmYWxzZTtcbiAgICAgICAgICByZXR1cm4gcmV0dXJuT2JqZWN0ID8gcmVzdWx0IDogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzSWdub3JlZDIoaW5wdXQpKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBvcHRzLm9uSWdub3JlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICAgIG9wdHMub25JZ25vcmUocmVzdWx0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVzdWx0LmlzTWF0Y2ggPSBmYWxzZTtcbiAgICAgICAgICByZXR1cm4gcmV0dXJuT2JqZWN0ID8gcmVzdWx0IDogZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBvcHRzLm9uTWF0Y2ggPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICAgIG9wdHMub25NYXRjaChyZXN1bHQpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXR1cm5PYmplY3QgPyByZXN1bHQgOiB0cnVlO1xuICAgICAgfTtcbiAgICAgIGlmIChyZXR1cm5TdGF0ZSkge1xuICAgICAgICBtYXRjaGVyLnN0YXRlID0gc3RhdGU7XG4gICAgICB9XG4gICAgICByZXR1cm4gbWF0Y2hlcjtcbiAgICB9O1xuICAgIHBpY29tYXRjaC50ZXN0ID0gKGlucHV0LCByZWdleCwgb3B0aW9uczgsIHsgZ2xvYiwgcG9zaXggfSA9IHt9KSA9PiB7XG4gICAgICBpZiAodHlwZW9mIGlucHV0ICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBpbnB1dCB0byBiZSBhIHN0cmluZ1wiKTtcbiAgICAgIH1cbiAgICAgIGlmIChpbnB1dCA9PT0gXCJcIikge1xuICAgICAgICByZXR1cm4geyBpc01hdGNoOiBmYWxzZSwgb3V0cHV0OiBcIlwiIH07XG4gICAgICB9XG4gICAgICBjb25zdCBvcHRzID0gb3B0aW9uczggfHwge307XG4gICAgICBjb25zdCBmb3JtYXQzID0gb3B0cy5mb3JtYXQgfHwgKHBvc2l4ID8gdXRpbHMudG9Qb3NpeFNsYXNoZXMgOiBudWxsKTtcbiAgICAgIGxldCBtYXRjaCA9IGlucHV0ID09PSBnbG9iO1xuICAgICAgbGV0IG91dHB1dCA9IG1hdGNoICYmIGZvcm1hdDMgPyBmb3JtYXQzKGlucHV0KSA6IGlucHV0O1xuICAgICAgaWYgKG1hdGNoID09PSBmYWxzZSkge1xuICAgICAgICBvdXRwdXQgPSBmb3JtYXQzID8gZm9ybWF0MyhpbnB1dCkgOiBpbnB1dDtcbiAgICAgICAgbWF0Y2ggPSBvdXRwdXQgPT09IGdsb2I7XG4gICAgICB9XG4gICAgICBpZiAobWF0Y2ggPT09IGZhbHNlIHx8IG9wdHMuY2FwdHVyZSA9PT0gdHJ1ZSkge1xuICAgICAgICBpZiAob3B0cy5tYXRjaEJhc2UgPT09IHRydWUgfHwgb3B0cy5iYXNlbmFtZSA9PT0gdHJ1ZSkge1xuICAgICAgICAgIG1hdGNoID0gcGljb21hdGNoLm1hdGNoQmFzZShpbnB1dCwgcmVnZXgsIG9wdGlvbnM4LCBwb3NpeCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbWF0Y2ggPSByZWdleC5leGVjKG91dHB1dCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7IGlzTWF0Y2g6IEJvb2xlYW4obWF0Y2gpLCBtYXRjaCwgb3V0cHV0IH07XG4gICAgfTtcbiAgICBwaWNvbWF0Y2gubWF0Y2hCYXNlID0gKGlucHV0LCBnbG9iLCBvcHRpb25zOCwgcG9zaXggPSB1dGlscy5pc1dpbmRvd3Mob3B0aW9uczgpKSA9PiB7XG4gICAgICBjb25zdCByZWdleCA9IGdsb2IgaW5zdGFuY2VvZiBSZWdFeHAgPyBnbG9iIDogcGljb21hdGNoLm1ha2VSZShnbG9iLCBvcHRpb25zOCk7XG4gICAgICByZXR1cm4gcmVnZXgudGVzdChwYXRoMTMuYmFzZW5hbWUoaW5wdXQpKTtcbiAgICB9O1xuICAgIHBpY29tYXRjaC5pc01hdGNoID0gKHN0cjIsIHBhdHRlcm5zLCBvcHRpb25zOCkgPT4gcGljb21hdGNoKHBhdHRlcm5zLCBvcHRpb25zOCkoc3RyMik7XG4gICAgcGljb21hdGNoLnBhcnNlID0gKHBhdHRlcm4sIG9wdGlvbnM4KSA9PiB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShwYXR0ZXJuKSkgcmV0dXJuIHBhdHRlcm4ubWFwKChwKSA9PiBwaWNvbWF0Y2gucGFyc2UocCwgb3B0aW9uczgpKTtcbiAgICAgIHJldHVybiBwYXJzZTcocGF0dGVybiwgeyAuLi5vcHRpb25zOCwgZmFzdHBhdGhzOiBmYWxzZSB9KTtcbiAgICB9O1xuICAgIHBpY29tYXRjaC5zY2FuID0gKGlucHV0LCBvcHRpb25zOCkgPT4gc2NhbihpbnB1dCwgb3B0aW9uczgpO1xuICAgIHBpY29tYXRjaC5jb21waWxlUmUgPSAoc3RhdGUsIG9wdGlvbnM4LCByZXR1cm5PdXRwdXQgPSBmYWxzZSwgcmV0dXJuU3RhdGUgPSBmYWxzZSkgPT4ge1xuICAgICAgaWYgKHJldHVybk91dHB1dCA9PT0gdHJ1ZSkge1xuICAgICAgICByZXR1cm4gc3RhdGUub3V0cHV0O1xuICAgICAgfVxuICAgICAgY29uc3Qgb3B0cyA9IG9wdGlvbnM4IHx8IHt9O1xuICAgICAgY29uc3QgcHJlcGVuZCA9IG9wdHMuY29udGFpbnMgPyBcIlwiIDogXCJeXCI7XG4gICAgICBjb25zdCBhcHBlbmQgPSBvcHRzLmNvbnRhaW5zID8gXCJcIiA6IFwiJFwiO1xuICAgICAgbGV0IHNvdXJjZTIgPSBgJHtwcmVwZW5kfSg/OiR7c3RhdGUub3V0cHV0fSkke2FwcGVuZH1gO1xuICAgICAgaWYgKHN0YXRlICYmIHN0YXRlLm5lZ2F0ZWQgPT09IHRydWUpIHtcbiAgICAgICAgc291cmNlMiA9IGBeKD8hJHtzb3VyY2UyfSkuKiRgO1xuICAgICAgfVxuICAgICAgY29uc3QgcmVnZXggPSBwaWNvbWF0Y2gudG9SZWdleChzb3VyY2UyLCBvcHRpb25zOCk7XG4gICAgICBpZiAocmV0dXJuU3RhdGUgPT09IHRydWUpIHtcbiAgICAgICAgcmVnZXguc3RhdGUgPSBzdGF0ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZWdleDtcbiAgICB9O1xuICAgIHBpY29tYXRjaC5tYWtlUmUgPSAoaW5wdXQsIG9wdGlvbnM4ID0ge30sIHJldHVybk91dHB1dCA9IGZhbHNlLCByZXR1cm5TdGF0ZSA9IGZhbHNlKSA9PiB7XG4gICAgICBpZiAoIWlucHV0IHx8IHR5cGVvZiBpbnB1dCAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgYSBub24tZW1wdHkgc3RyaW5nXCIpO1xuICAgICAgfVxuICAgICAgbGV0IHBhcnNlZCA9IHsgbmVnYXRlZDogZmFsc2UsIGZhc3RwYXRoczogdHJ1ZSB9O1xuICAgICAgaWYgKG9wdGlvbnM4LmZhc3RwYXRocyAhPT0gZmFsc2UgJiYgKGlucHV0WzBdID09PSBcIi5cIiB8fCBpbnB1dFswXSA9PT0gXCIqXCIpKSB7XG4gICAgICAgIHBhcnNlZC5vdXRwdXQgPSBwYXJzZTcuZmFzdHBhdGhzKGlucHV0LCBvcHRpb25zOCk7XG4gICAgICB9XG4gICAgICBpZiAoIXBhcnNlZC5vdXRwdXQpIHtcbiAgICAgICAgcGFyc2VkID0gcGFyc2U3KGlucHV0LCBvcHRpb25zOCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gcGljb21hdGNoLmNvbXBpbGVSZShwYXJzZWQsIG9wdGlvbnM4LCByZXR1cm5PdXRwdXQsIHJldHVyblN0YXRlKTtcbiAgICB9O1xuICAgIHBpY29tYXRjaC50b1JlZ2V4ID0gKHNvdXJjZTIsIG9wdGlvbnM4KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBvcHRzID0gb3B0aW9uczggfHwge307XG4gICAgICAgIHJldHVybiBuZXcgUmVnRXhwKHNvdXJjZTIsIG9wdHMuZmxhZ3MgfHwgKG9wdHMubm9jYXNlID8gXCJpXCIgOiBcIlwiKSk7XG4gICAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgICAgaWYgKG9wdGlvbnM4ICYmIG9wdGlvbnM4LmRlYnVnID09PSB0cnVlKSB0aHJvdyBlcnI7XG4gICAgICAgIHJldHVybiAvJF4vO1xuICAgICAgfVxuICAgIH07XG4gICAgcGljb21hdGNoLmNvbnN0YW50cyA9IGNvbnN0YW50cztcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHBpY29tYXRjaDtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9waWNvbWF0Y2gvaW5kZXguanNcbnZhciByZXF1aXJlX3BpY29tYXRjaDIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcGljb21hdGNoL2luZGV4LmpzXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSByZXF1aXJlX3BpY29tYXRjaCgpO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL21pY3JvbWF0Y2gvaW5kZXguanNcbnZhciByZXF1aXJlX21pY3JvbWF0Y2ggPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvbWljcm9tYXRjaC9pbmRleC5qc1wiKGV4cG9ydHMsIG1vZHVsZSkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIHZhciB1dGlsMiA9IF9fcmVxdWlyZShcInV0aWxcIik7XG4gICAgdmFyIGJyYWNlcyA9IHJlcXVpcmVfYnJhY2VzKCk7XG4gICAgdmFyIHBpY29tYXRjaCA9IHJlcXVpcmVfcGljb21hdGNoMigpO1xuICAgIHZhciB1dGlscyA9IHJlcXVpcmVfdXRpbHMyKCk7XG4gICAgdmFyIGlzRW1wdHlTdHJpbmcgPSAodikgPT4gdiA9PT0gXCJcIiB8fCB2ID09PSBcIi4vXCI7XG4gICAgdmFyIGhhc0JyYWNlcyA9ICh2KSA9PiB7XG4gICAgICBjb25zdCBpbmRleCA9IHYuaW5kZXhPZihcIntcIik7XG4gICAgICByZXR1cm4gaW5kZXggPiAtMSAmJiB2LmluZGV4T2YoXCJ9XCIsIGluZGV4KSA+IC0xO1xuICAgIH07XG4gICAgdmFyIG1pY3JvbWF0Y2gyID0gKGxpc3QsIHBhdHRlcm5zLCBvcHRpb25zOCkgPT4ge1xuICAgICAgcGF0dGVybnMgPSBbXS5jb25jYXQocGF0dGVybnMpO1xuICAgICAgbGlzdCA9IFtdLmNvbmNhdChsaXN0KTtcbiAgICAgIGxldCBvbWl0MiA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KCk7XG4gICAgICBsZXQga2VlcCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KCk7XG4gICAgICBsZXQgaXRlbXMgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpO1xuICAgICAgbGV0IG5lZ2F0aXZlcyA9IDA7XG4gICAgICBsZXQgb25SZXN1bHQgPSAoc3RhdGUpID0+IHtcbiAgICAgICAgaXRlbXMuYWRkKHN0YXRlLm91dHB1dCk7XG4gICAgICAgIGlmIChvcHRpb25zOCAmJiBvcHRpb25zOC5vblJlc3VsdCkge1xuICAgICAgICAgIG9wdGlvbnM4Lm9uUmVzdWx0KHN0YXRlKTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0dGVybnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IGlzTWF0Y2ggPSBwaWNvbWF0Y2goU3RyaW5nKHBhdHRlcm5zW2ldKSwgeyAuLi5vcHRpb25zOCwgb25SZXN1bHQgfSwgdHJ1ZSk7XG4gICAgICAgIGxldCBuZWdhdGVkID0gaXNNYXRjaC5zdGF0ZS5uZWdhdGVkIHx8IGlzTWF0Y2guc3RhdGUubmVnYXRlZEV4dGdsb2I7XG4gICAgICAgIGlmIChuZWdhdGVkKSBuZWdhdGl2ZXMrKztcbiAgICAgICAgZm9yIChsZXQgaXRlbSBvZiBsaXN0KSB7XG4gICAgICAgICAgbGV0IG1hdGNoZWQgPSBpc01hdGNoKGl0ZW0sIHRydWUpO1xuICAgICAgICAgIGxldCBtYXRjaCA9IG5lZ2F0ZWQgPyAhbWF0Y2hlZC5pc01hdGNoIDogbWF0Y2hlZC5pc01hdGNoO1xuICAgICAgICAgIGlmICghbWF0Y2gpIGNvbnRpbnVlO1xuICAgICAgICAgIGlmIChuZWdhdGVkKSB7XG4gICAgICAgICAgICBvbWl0Mi5hZGQobWF0Y2hlZC5vdXRwdXQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvbWl0Mi5kZWxldGUobWF0Y2hlZC5vdXRwdXQpO1xuICAgICAgICAgICAga2VlcC5hZGQobWF0Y2hlZC5vdXRwdXQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbGV0IHJlc3VsdCA9IG5lZ2F0aXZlcyA9PT0gcGF0dGVybnMubGVuZ3RoID8gWy4uLml0ZW1zXSA6IFsuLi5rZWVwXTtcbiAgICAgIGxldCBtYXRjaGVzID0gcmVzdWx0LmZpbHRlcigoaXRlbSkgPT4gIW9taXQyLmhhcyhpdGVtKSk7XG4gICAgICBpZiAob3B0aW9uczggJiYgbWF0Y2hlcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgaWYgKG9wdGlvbnM4LmZhaWxnbG9iID09PSB0cnVlKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBtYXRjaGVzIGZvdW5kIGZvciBcIiR7cGF0dGVybnMuam9pbihcIiwgXCIpfVwiYCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wdGlvbnM4Lm5vbnVsbCA9PT0gdHJ1ZSB8fCBvcHRpb25zOC5udWxsZ2xvYiA9PT0gdHJ1ZSkge1xuICAgICAgICAgIHJldHVybiBvcHRpb25zOC51bmVzY2FwZSA/IHBhdHRlcm5zLm1hcCgocCkgPT4gcC5yZXBsYWNlKC9cXFxcL2csIFwiXCIpKSA6IHBhdHRlcm5zO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbWF0Y2hlcztcbiAgICB9O1xuICAgIG1pY3JvbWF0Y2gyLm1hdGNoID0gbWljcm9tYXRjaDI7XG4gICAgbWljcm9tYXRjaDIubWF0Y2hlciA9IChwYXR0ZXJuLCBvcHRpb25zOCkgPT4gcGljb21hdGNoKHBhdHRlcm4sIG9wdGlvbnM4KTtcbiAgICBtaWNyb21hdGNoMi5pc01hdGNoID0gKHN0cjIsIHBhdHRlcm5zLCBvcHRpb25zOCkgPT4gcGljb21hdGNoKHBhdHRlcm5zLCBvcHRpb25zOCkoc3RyMik7XG4gICAgbWljcm9tYXRjaDIuYW55ID0gbWljcm9tYXRjaDIuaXNNYXRjaDtcbiAgICBtaWNyb21hdGNoMi5ub3QgPSAobGlzdCwgcGF0dGVybnMsIG9wdGlvbnM4ID0ge30pID0+IHtcbiAgICAgIHBhdHRlcm5zID0gW10uY29uY2F0KHBhdHRlcm5zKS5tYXAoU3RyaW5nKTtcbiAgICAgIGxldCByZXN1bHQgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpO1xuICAgICAgbGV0IGl0ZW1zID0gW107XG4gICAgICBsZXQgb25SZXN1bHQgPSAoc3RhdGUpID0+IHtcbiAgICAgICAgaWYgKG9wdGlvbnM4Lm9uUmVzdWx0KSBvcHRpb25zOC5vblJlc3VsdChzdGF0ZSk7XG4gICAgICAgIGl0ZW1zLnB1c2goc3RhdGUub3V0cHV0KTtcbiAgICAgIH07XG4gICAgICBsZXQgbWF0Y2hlcyA9IG5ldyBTZXQobWljcm9tYXRjaDIobGlzdCwgcGF0dGVybnMsIHsgLi4ub3B0aW9uczgsIG9uUmVzdWx0IH0pKTtcbiAgICAgIGZvciAobGV0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICAgICAgaWYgKCFtYXRjaGVzLmhhcyhpdGVtKSkge1xuICAgICAgICAgIHJlc3VsdC5hZGQoaXRlbSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBbLi4ucmVzdWx0XTtcbiAgICB9O1xuICAgIG1pY3JvbWF0Y2gyLmNvbnRhaW5zID0gKHN0cjIsIHBhdHRlcm4sIG9wdGlvbnM4KSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHN0cjIgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgYSBzdHJpbmc6IFwiJHt1dGlsMi5pbnNwZWN0KHN0cjIpfVwiYCk7XG4gICAgICB9XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShwYXR0ZXJuKSkge1xuICAgICAgICByZXR1cm4gcGF0dGVybi5zb21lKChwKSA9PiBtaWNyb21hdGNoMi5jb250YWlucyhzdHIyLCBwLCBvcHRpb25zOCkpO1xuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiBwYXR0ZXJuID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGlmIChpc0VtcHR5U3RyaW5nKHN0cjIpIHx8IGlzRW1wdHlTdHJpbmcocGF0dGVybikpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0cjIuaW5jbHVkZXMocGF0dGVybikgfHwgc3RyMi5zdGFydHNXaXRoKFwiLi9cIikgJiYgc3RyMi5zbGljZSgyKS5pbmNsdWRlcyhwYXR0ZXJuKSkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gbWljcm9tYXRjaDIuaXNNYXRjaChzdHIyLCBwYXR0ZXJuLCB7IC4uLm9wdGlvbnM4LCBjb250YWluczogdHJ1ZSB9KTtcbiAgICB9O1xuICAgIG1pY3JvbWF0Y2gyLm1hdGNoS2V5cyA9IChvYmosIHBhdHRlcm5zLCBvcHRpb25zOCkgPT4ge1xuICAgICAgaWYgKCF1dGlscy5pc09iamVjdChvYmopKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCB0aGUgZmlyc3QgYXJndW1lbnQgdG8gYmUgYW4gb2JqZWN0XCIpO1xuICAgICAgfVxuICAgICAgbGV0IGtleXMgPSBtaWNyb21hdGNoMihPYmplY3Qua2V5cyhvYmopLCBwYXR0ZXJucywgb3B0aW9uczgpO1xuICAgICAgbGV0IHJlcyA9IHt9O1xuICAgICAgZm9yIChsZXQga2V5MiBvZiBrZXlzKSByZXNba2V5Ml0gPSBvYmpba2V5Ml07XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH07XG4gICAgbWljcm9tYXRjaDIuc29tZSA9IChsaXN0LCBwYXR0ZXJucywgb3B0aW9uczgpID0+IHtcbiAgICAgIGxldCBpdGVtcyA9IFtdLmNvbmNhdChsaXN0KTtcbiAgICAgIGZvciAobGV0IHBhdHRlcm4gb2YgW10uY29uY2F0KHBhdHRlcm5zKSkge1xuICAgICAgICBsZXQgaXNNYXRjaCA9IHBpY29tYXRjaChTdHJpbmcocGF0dGVybiksIG9wdGlvbnM4KTtcbiAgICAgICAgaWYgKGl0ZW1zLnNvbWUoKGl0ZW0pID0+IGlzTWF0Y2goaXRlbSkpKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9O1xuICAgIG1pY3JvbWF0Y2gyLmV2ZXJ5ID0gKGxpc3QsIHBhdHRlcm5zLCBvcHRpb25zOCkgPT4ge1xuICAgICAgbGV0IGl0ZW1zID0gW10uY29uY2F0KGxpc3QpO1xuICAgICAgZm9yIChsZXQgcGF0dGVybiBvZiBbXS5jb25jYXQocGF0dGVybnMpKSB7XG4gICAgICAgIGxldCBpc01hdGNoID0gcGljb21hdGNoKFN0cmluZyhwYXR0ZXJuKSwgb3B0aW9uczgpO1xuICAgICAgICBpZiAoIWl0ZW1zLmV2ZXJ5KChpdGVtKSA9PiBpc01hdGNoKGl0ZW0pKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcbiAgICBtaWNyb21hdGNoMi5hbGwgPSAoc3RyMiwgcGF0dGVybnMsIG9wdGlvbnM4KSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHN0cjIgIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgYSBzdHJpbmc6IFwiJHt1dGlsMi5pbnNwZWN0KHN0cjIpfVwiYCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gW10uY29uY2F0KHBhdHRlcm5zKS5ldmVyeSgocCkgPT4gcGljb21hdGNoKHAsIG9wdGlvbnM4KShzdHIyKSk7XG4gICAgfTtcbiAgICBtaWNyb21hdGNoMi5jYXB0dXJlID0gKGdsb2IsIGlucHV0LCBvcHRpb25zOCkgPT4ge1xuICAgICAgbGV0IHBvc2l4ID0gdXRpbHMuaXNXaW5kb3dzKG9wdGlvbnM4KTtcbiAgICAgIGxldCByZWdleCA9IHBpY29tYXRjaC5tYWtlUmUoU3RyaW5nKGdsb2IpLCB7IC4uLm9wdGlvbnM4LCBjYXB0dXJlOiB0cnVlIH0pO1xuICAgICAgbGV0IG1hdGNoID0gcmVnZXguZXhlYyhwb3NpeCA/IHV0aWxzLnRvUG9zaXhTbGFzaGVzKGlucHV0KSA6IGlucHV0KTtcbiAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICByZXR1cm4gbWF0Y2guc2xpY2UoMSkubWFwKCh2KSA9PiB2ID09PSB2b2lkIDAgPyBcIlwiIDogdik7XG4gICAgICB9XG4gICAgfTtcbiAgICBtaWNyb21hdGNoMi5tYWtlUmUgPSAoLi4uYXJncykgPT4gcGljb21hdGNoLm1ha2VSZSguLi5hcmdzKTtcbiAgICBtaWNyb21hdGNoMi5zY2FuID0gKC4uLmFyZ3MpID0+IHBpY29tYXRjaC5zY2FuKC4uLmFyZ3MpO1xuICAgIG1pY3JvbWF0Y2gyLnBhcnNlID0gKHBhdHRlcm5zLCBvcHRpb25zOCkgPT4ge1xuICAgICAgbGV0IHJlcyA9IFtdO1xuICAgICAgZm9yIChsZXQgcGF0dGVybiBvZiBbXS5jb25jYXQocGF0dGVybnMgfHwgW10pKSB7XG4gICAgICAgIGZvciAobGV0IHN0cjIgb2YgYnJhY2VzKFN0cmluZyhwYXR0ZXJuKSwgb3B0aW9uczgpKSB7XG4gICAgICAgICAgcmVzLnB1c2gocGljb21hdGNoLnBhcnNlKHN0cjIsIG9wdGlvbnM4KSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiByZXM7XG4gICAgfTtcbiAgICBtaWNyb21hdGNoMi5icmFjZXMgPSAocGF0dGVybiwgb3B0aW9uczgpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgcGF0dGVybiAhPT0gXCJzdHJpbmdcIikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIGEgc3RyaW5nXCIpO1xuICAgICAgaWYgKG9wdGlvbnM4ICYmIG9wdGlvbnM4Lm5vYnJhY2UgPT09IHRydWUgfHwgIWhhc0JyYWNlcyhwYXR0ZXJuKSkge1xuICAgICAgICByZXR1cm4gW3BhdHRlcm5dO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGJyYWNlcyhwYXR0ZXJuLCBvcHRpb25zOCk7XG4gICAgfTtcbiAgICBtaWNyb21hdGNoMi5icmFjZUV4cGFuZCA9IChwYXR0ZXJuLCBvcHRpb25zOCkgPT4ge1xuICAgICAgaWYgKHR5cGVvZiBwYXR0ZXJuICE9PSBcInN0cmluZ1wiKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgYSBzdHJpbmdcIik7XG4gICAgICByZXR1cm4gbWljcm9tYXRjaDIuYnJhY2VzKHBhdHRlcm4sIHsgLi4ub3B0aW9uczgsIGV4cGFuZDogdHJ1ZSB9KTtcbiAgICB9O1xuICAgIG1pY3JvbWF0Y2gyLmhhc0JyYWNlcyA9IGhhc0JyYWNlcztcbiAgICBtb2R1bGUuZXhwb3J0cyA9IG1pY3JvbWF0Y2gyO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2Zhc3QtZ2xvYi9vdXQvdXRpbHMvcGF0dGVybi5qc1xudmFyIHJlcXVpcmVfcGF0dGVybiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3V0aWxzL3BhdHRlcm4uanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIGV4cG9ydHMucmVtb3ZlRHVwbGljYXRlU2xhc2hlcyA9IGV4cG9ydHMubWF0Y2hBbnkgPSBleHBvcnRzLmNvbnZlcnRQYXR0ZXJuc1RvUmUgPSBleHBvcnRzLm1ha2VSZSA9IGV4cG9ydHMuZ2V0UGF0dGVyblBhcnRzID0gZXhwb3J0cy5leHBhbmRCcmFjZUV4cGFuc2lvbiA9IGV4cG9ydHMuZXhwYW5kUGF0dGVybnNXaXRoQnJhY2VFeHBhbnNpb24gPSBleHBvcnRzLmlzQWZmZWN0RGVwdGhPZlJlYWRpbmdQYXR0ZXJuID0gZXhwb3J0cy5lbmRzV2l0aFNsYXNoR2xvYlN0YXIgPSBleHBvcnRzLmhhc0dsb2JTdGFyID0gZXhwb3J0cy5nZXRCYXNlRGlyZWN0b3J5ID0gZXhwb3J0cy5pc1BhdHRlcm5SZWxhdGVkVG9QYXJlbnREaXJlY3RvcnkgPSBleHBvcnRzLmdldFBhdHRlcm5zT3V0c2lkZUN1cnJlbnREaXJlY3RvcnkgPSBleHBvcnRzLmdldFBhdHRlcm5zSW5zaWRlQ3VycmVudERpcmVjdG9yeSA9IGV4cG9ydHMuZ2V0UG9zaXRpdmVQYXR0ZXJucyA9IGV4cG9ydHMuZ2V0TmVnYXRpdmVQYXR0ZXJucyA9IGV4cG9ydHMuaXNQb3NpdGl2ZVBhdHRlcm4gPSBleHBvcnRzLmlzTmVnYXRpdmVQYXR0ZXJuID0gZXhwb3J0cy5jb252ZXJ0VG9OZWdhdGl2ZVBhdHRlcm4gPSBleHBvcnRzLmNvbnZlcnRUb1Bvc2l0aXZlUGF0dGVybiA9IGV4cG9ydHMuaXNEeW5hbWljUGF0dGVybiA9IGV4cG9ydHMuaXNTdGF0aWNQYXR0ZXJuID0gdm9pZCAwO1xuICAgIHZhciBwYXRoMTMgPSBfX3JlcXVpcmUoXCJwYXRoXCIpO1xuICAgIHZhciBnbG9iUGFyZW50ID0gcmVxdWlyZV9nbG9iX3BhcmVudCgpO1xuICAgIHZhciBtaWNyb21hdGNoMiA9IHJlcXVpcmVfbWljcm9tYXRjaCgpO1xuICAgIHZhciBHTE9CU1RBUiA9IFwiKipcIjtcbiAgICB2YXIgRVNDQVBFX1NZTUJPTCA9IFwiXFxcXFwiO1xuICAgIHZhciBDT01NT05fR0xPQl9TWU1CT0xTX1JFID0gL1sqP118XiEvO1xuICAgIHZhciBSRUdFWF9DSEFSQUNURVJfQ0xBU1NfU1lNQk9MU19SRSA9IC9cXFtbXltdKl0vO1xuICAgIHZhciBSRUdFWF9HUk9VUF9TWU1CT0xTX1JFID0gLyg/Ol58W14hKis/QF0pXFwoW14oXSpcXHxbXnxdKlxcKS87XG4gICAgdmFyIEdMT0JfRVhURU5TSU9OX1NZTUJPTFNfUkUgPSAvWyEqKz9AXVxcKFteKF0qXFwpLztcbiAgICB2YXIgQlJBQ0VfRVhQQU5TSU9OX1NFUEFSQVRPUlNfUkUgPSAvLHxcXC5cXC4vO1xuICAgIHZhciBET1VCTEVfU0xBU0hfUkUgPSAvKD8hXilcXC97Mix9L2c7XG4gICAgZnVuY3Rpb24gaXNTdGF0aWNQYXR0ZXJuKHBhdHRlcm4sIG9wdGlvbnM4ID0ge30pIHtcbiAgICAgIHJldHVybiAhaXNEeW5hbWljUGF0dGVybihwYXR0ZXJuLCBvcHRpb25zOCk7XG4gICAgfVxuICAgIGV4cG9ydHMuaXNTdGF0aWNQYXR0ZXJuID0gaXNTdGF0aWNQYXR0ZXJuO1xuICAgIGZ1bmN0aW9uIGlzRHluYW1pY1BhdHRlcm4ocGF0dGVybiwgb3B0aW9uczggPSB7fSkge1xuICAgICAgaWYgKHBhdHRlcm4gPT09IFwiXCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbnM4LmNhc2VTZW5zaXRpdmVNYXRjaCA9PT0gZmFsc2UgfHwgcGF0dGVybi5pbmNsdWRlcyhFU0NBUEVfU1lNQk9MKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChDT01NT05fR0xPQl9TWU1CT0xTX1JFLnRlc3QocGF0dGVybikgfHwgUkVHRVhfQ0hBUkFDVEVSX0NMQVNTX1NZTUJPTFNfUkUudGVzdChwYXR0ZXJuKSB8fCBSRUdFWF9HUk9VUF9TWU1CT0xTX1JFLnRlc3QocGF0dGVybikpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgICBpZiAob3B0aW9uczguZXh0Z2xvYiAhPT0gZmFsc2UgJiYgR0xPQl9FWFRFTlNJT05fU1lNQk9MU19SRS50ZXN0KHBhdHRlcm4pKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKG9wdGlvbnM4LmJyYWNlRXhwYW5zaW9uICE9PSBmYWxzZSAmJiBoYXNCcmFjZUV4cGFuc2lvbihwYXR0ZXJuKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgZXhwb3J0cy5pc0R5bmFtaWNQYXR0ZXJuID0gaXNEeW5hbWljUGF0dGVybjtcbiAgICBmdW5jdGlvbiBoYXNCcmFjZUV4cGFuc2lvbihwYXR0ZXJuKSB7XG4gICAgICBjb25zdCBvcGVuaW5nQnJhY2VJbmRleCA9IHBhdHRlcm4uaW5kZXhPZihcIntcIik7XG4gICAgICBpZiAob3BlbmluZ0JyYWNlSW5kZXggPT09IC0xKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGNsb3NpbmdCcmFjZUluZGV4ID0gcGF0dGVybi5pbmRleE9mKFwifVwiLCBvcGVuaW5nQnJhY2VJbmRleCArIDEpO1xuICAgICAgaWYgKGNsb3NpbmdCcmFjZUluZGV4ID09PSAtMSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBjb25zdCBicmFjZUNvbnRlbnQgPSBwYXR0ZXJuLnNsaWNlKG9wZW5pbmdCcmFjZUluZGV4LCBjbG9zaW5nQnJhY2VJbmRleCk7XG4gICAgICByZXR1cm4gQlJBQ0VfRVhQQU5TSU9OX1NFUEFSQVRPUlNfUkUudGVzdChicmFjZUNvbnRlbnQpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjb252ZXJ0VG9Qb3NpdGl2ZVBhdHRlcm4ocGF0dGVybikge1xuICAgICAgcmV0dXJuIGlzTmVnYXRpdmVQYXR0ZXJuKHBhdHRlcm4pID8gcGF0dGVybi5zbGljZSgxKSA6IHBhdHRlcm47XG4gICAgfVxuICAgIGV4cG9ydHMuY29udmVydFRvUG9zaXRpdmVQYXR0ZXJuID0gY29udmVydFRvUG9zaXRpdmVQYXR0ZXJuO1xuICAgIGZ1bmN0aW9uIGNvbnZlcnRUb05lZ2F0aXZlUGF0dGVybihwYXR0ZXJuKSB7XG4gICAgICByZXR1cm4gXCIhXCIgKyBwYXR0ZXJuO1xuICAgIH1cbiAgICBleHBvcnRzLmNvbnZlcnRUb05lZ2F0aXZlUGF0dGVybiA9IGNvbnZlcnRUb05lZ2F0aXZlUGF0dGVybjtcbiAgICBmdW5jdGlvbiBpc05lZ2F0aXZlUGF0dGVybihwYXR0ZXJuKSB7XG4gICAgICByZXR1cm4gcGF0dGVybi5zdGFydHNXaXRoKFwiIVwiKSAmJiBwYXR0ZXJuWzFdICE9PSBcIihcIjtcbiAgICB9XG4gICAgZXhwb3J0cy5pc05lZ2F0aXZlUGF0dGVybiA9IGlzTmVnYXRpdmVQYXR0ZXJuO1xuICAgIGZ1bmN0aW9uIGlzUG9zaXRpdmVQYXR0ZXJuKHBhdHRlcm4pIHtcbiAgICAgIHJldHVybiAhaXNOZWdhdGl2ZVBhdHRlcm4ocGF0dGVybik7XG4gICAgfVxuICAgIGV4cG9ydHMuaXNQb3NpdGl2ZVBhdHRlcm4gPSBpc1Bvc2l0aXZlUGF0dGVybjtcbiAgICBmdW5jdGlvbiBnZXROZWdhdGl2ZVBhdHRlcm5zKHBhdHRlcm5zKSB7XG4gICAgICByZXR1cm4gcGF0dGVybnMuZmlsdGVyKGlzTmVnYXRpdmVQYXR0ZXJuKTtcbiAgICB9XG4gICAgZXhwb3J0cy5nZXROZWdhdGl2ZVBhdHRlcm5zID0gZ2V0TmVnYXRpdmVQYXR0ZXJucztcbiAgICBmdW5jdGlvbiBnZXRQb3NpdGl2ZVBhdHRlcm5zKHBhdHRlcm5zKSB7XG4gICAgICByZXR1cm4gcGF0dGVybnMuZmlsdGVyKGlzUG9zaXRpdmVQYXR0ZXJuKTtcbiAgICB9XG4gICAgZXhwb3J0cy5nZXRQb3NpdGl2ZVBhdHRlcm5zID0gZ2V0UG9zaXRpdmVQYXR0ZXJucztcbiAgICBmdW5jdGlvbiBnZXRQYXR0ZXJuc0luc2lkZUN1cnJlbnREaXJlY3RvcnkocGF0dGVybnMpIHtcbiAgICAgIHJldHVybiBwYXR0ZXJucy5maWx0ZXIoKHBhdHRlcm4pID0+ICFpc1BhdHRlcm5SZWxhdGVkVG9QYXJlbnREaXJlY3RvcnkocGF0dGVybikpO1xuICAgIH1cbiAgICBleHBvcnRzLmdldFBhdHRlcm5zSW5zaWRlQ3VycmVudERpcmVjdG9yeSA9IGdldFBhdHRlcm5zSW5zaWRlQ3VycmVudERpcmVjdG9yeTtcbiAgICBmdW5jdGlvbiBnZXRQYXR0ZXJuc091dHNpZGVDdXJyZW50RGlyZWN0b3J5KHBhdHRlcm5zKSB7XG4gICAgICByZXR1cm4gcGF0dGVybnMuZmlsdGVyKGlzUGF0dGVyblJlbGF0ZWRUb1BhcmVudERpcmVjdG9yeSk7XG4gICAgfVxuICAgIGV4cG9ydHMuZ2V0UGF0dGVybnNPdXRzaWRlQ3VycmVudERpcmVjdG9yeSA9IGdldFBhdHRlcm5zT3V0c2lkZUN1cnJlbnREaXJlY3Rvcnk7XG4gICAgZnVuY3Rpb24gaXNQYXR0ZXJuUmVsYXRlZFRvUGFyZW50RGlyZWN0b3J5KHBhdHRlcm4pIHtcbiAgICAgIHJldHVybiBwYXR0ZXJuLnN0YXJ0c1dpdGgoXCIuLlwiKSB8fCBwYXR0ZXJuLnN0YXJ0c1dpdGgoXCIuLy4uXCIpO1xuICAgIH1cbiAgICBleHBvcnRzLmlzUGF0dGVyblJlbGF0ZWRUb1BhcmVudERpcmVjdG9yeSA9IGlzUGF0dGVyblJlbGF0ZWRUb1BhcmVudERpcmVjdG9yeTtcbiAgICBmdW5jdGlvbiBnZXRCYXNlRGlyZWN0b3J5KHBhdHRlcm4pIHtcbiAgICAgIHJldHVybiBnbG9iUGFyZW50KHBhdHRlcm4sIHsgZmxpcEJhY2tzbGFzaGVzOiBmYWxzZSB9KTtcbiAgICB9XG4gICAgZXhwb3J0cy5nZXRCYXNlRGlyZWN0b3J5ID0gZ2V0QmFzZURpcmVjdG9yeTtcbiAgICBmdW5jdGlvbiBoYXNHbG9iU3RhcihwYXR0ZXJuKSB7XG4gICAgICByZXR1cm4gcGF0dGVybi5pbmNsdWRlcyhHTE9CU1RBUik7XG4gICAgfVxuICAgIGV4cG9ydHMuaGFzR2xvYlN0YXIgPSBoYXNHbG9iU3RhcjtcbiAgICBmdW5jdGlvbiBlbmRzV2l0aFNsYXNoR2xvYlN0YXIocGF0dGVybikge1xuICAgICAgcmV0dXJuIHBhdHRlcm4uZW5kc1dpdGgoXCIvXCIgKyBHTE9CU1RBUik7XG4gICAgfVxuICAgIGV4cG9ydHMuZW5kc1dpdGhTbGFzaEdsb2JTdGFyID0gZW5kc1dpdGhTbGFzaEdsb2JTdGFyO1xuICAgIGZ1bmN0aW9uIGlzQWZmZWN0RGVwdGhPZlJlYWRpbmdQYXR0ZXJuKHBhdHRlcm4pIHtcbiAgICAgIGNvbnN0IGJhc2VuYW1lID0gcGF0aDEzLmJhc2VuYW1lKHBhdHRlcm4pO1xuICAgICAgcmV0dXJuIGVuZHNXaXRoU2xhc2hHbG9iU3RhcihwYXR0ZXJuKSB8fCBpc1N0YXRpY1BhdHRlcm4oYmFzZW5hbWUpO1xuICAgIH1cbiAgICBleHBvcnRzLmlzQWZmZWN0RGVwdGhPZlJlYWRpbmdQYXR0ZXJuID0gaXNBZmZlY3REZXB0aE9mUmVhZGluZ1BhdHRlcm47XG4gICAgZnVuY3Rpb24gZXhwYW5kUGF0dGVybnNXaXRoQnJhY2VFeHBhbnNpb24ocGF0dGVybnMpIHtcbiAgICAgIHJldHVybiBwYXR0ZXJucy5yZWR1Y2UoKGNvbGxlY3Rpb24sIHBhdHRlcm4pID0+IHtcbiAgICAgICAgcmV0dXJuIGNvbGxlY3Rpb24uY29uY2F0KGV4cGFuZEJyYWNlRXhwYW5zaW9uKHBhdHRlcm4pKTtcbiAgICAgIH0sIFtdKTtcbiAgICB9XG4gICAgZXhwb3J0cy5leHBhbmRQYXR0ZXJuc1dpdGhCcmFjZUV4cGFuc2lvbiA9IGV4cGFuZFBhdHRlcm5zV2l0aEJyYWNlRXhwYW5zaW9uO1xuICAgIGZ1bmN0aW9uIGV4cGFuZEJyYWNlRXhwYW5zaW9uKHBhdHRlcm4pIHtcbiAgICAgIGNvbnN0IHBhdHRlcm5zID0gbWljcm9tYXRjaDIuYnJhY2VzKHBhdHRlcm4sIHsgZXhwYW5kOiB0cnVlLCBub2R1cGVzOiB0cnVlLCBrZWVwRXNjYXBpbmc6IHRydWUgfSk7XG4gICAgICBwYXR0ZXJucy5zb3J0KChhLCBiKSA9PiBhLmxlbmd0aCAtIGIubGVuZ3RoKTtcbiAgICAgIHJldHVybiBwYXR0ZXJucy5maWx0ZXIoKHBhdHRlcm4yKSA9PiBwYXR0ZXJuMiAhPT0gXCJcIik7XG4gICAgfVxuICAgIGV4cG9ydHMuZXhwYW5kQnJhY2VFeHBhbnNpb24gPSBleHBhbmRCcmFjZUV4cGFuc2lvbjtcbiAgICBmdW5jdGlvbiBnZXRQYXR0ZXJuUGFydHMocGF0dGVybiwgb3B0aW9uczgpIHtcbiAgICAgIGxldCB7IHBhcnRzIH0gPSBtaWNyb21hdGNoMi5zY2FuKHBhdHRlcm4sIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgb3B0aW9uczgpLCB7IHBhcnRzOiB0cnVlIH0pKTtcbiAgICAgIGlmIChwYXJ0cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgcGFydHMgPSBbcGF0dGVybl07XG4gICAgICB9XG4gICAgICBpZiAocGFydHNbMF0uc3RhcnRzV2l0aChcIi9cIikpIHtcbiAgICAgICAgcGFydHNbMF0gPSBwYXJ0c1swXS5zbGljZSgxKTtcbiAgICAgICAgcGFydHMudW5zaGlmdChcIlwiKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwYXJ0cztcbiAgICB9XG4gICAgZXhwb3J0cy5nZXRQYXR0ZXJuUGFydHMgPSBnZXRQYXR0ZXJuUGFydHM7XG4gICAgZnVuY3Rpb24gbWFrZVJlKHBhdHRlcm4sIG9wdGlvbnM4KSB7XG4gICAgICByZXR1cm4gbWljcm9tYXRjaDIubWFrZVJlKHBhdHRlcm4sIG9wdGlvbnM4KTtcbiAgICB9XG4gICAgZXhwb3J0cy5tYWtlUmUgPSBtYWtlUmU7XG4gICAgZnVuY3Rpb24gY29udmVydFBhdHRlcm5zVG9SZShwYXR0ZXJucywgb3B0aW9uczgpIHtcbiAgICAgIHJldHVybiBwYXR0ZXJucy5tYXAoKHBhdHRlcm4pID0+IG1ha2VSZShwYXR0ZXJuLCBvcHRpb25zOCkpO1xuICAgIH1cbiAgICBleHBvcnRzLmNvbnZlcnRQYXR0ZXJuc1RvUmUgPSBjb252ZXJ0UGF0dGVybnNUb1JlO1xuICAgIGZ1bmN0aW9uIG1hdGNoQW55KGVudHJ5LCBwYXR0ZXJuc1JlKSB7XG4gICAgICByZXR1cm4gcGF0dGVybnNSZS5zb21lKChwYXR0ZXJuUmUpID0+IHBhdHRlcm5SZS50ZXN0KGVudHJ5KSk7XG4gICAgfVxuICAgIGV4cG9ydHMubWF0Y2hBbnkgPSBtYXRjaEFueTtcbiAgICBmdW5jdGlvbiByZW1vdmVEdXBsaWNhdGVTbGFzaGVzKHBhdHRlcm4pIHtcbiAgICAgIHJldHVybiBwYXR0ZXJuLnJlcGxhY2UoRE9VQkxFX1NMQVNIX1JFLCBcIi9cIik7XG4gICAgfVxuICAgIGV4cG9ydHMucmVtb3ZlRHVwbGljYXRlU2xhc2hlcyA9IHJlbW92ZUR1cGxpY2F0ZVNsYXNoZXM7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvbWVyZ2UyL2luZGV4LmpzXG52YXIgcmVxdWlyZV9tZXJnZTIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvbWVyZ2UyL2luZGV4LmpzXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIFN0cmVhbSA9IF9fcmVxdWlyZShcInN0cmVhbVwiKTtcbiAgICB2YXIgUGFzc1Rocm91Z2ggPSBTdHJlYW0uUGFzc1Rocm91Z2g7XG4gICAgdmFyIHNsaWNlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlO1xuICAgIG1vZHVsZS5leHBvcnRzID0gbWVyZ2UyO1xuICAgIGZ1bmN0aW9uIG1lcmdlMigpIHtcbiAgICAgIGNvbnN0IHN0cmVhbXNRdWV1ZSA9IFtdO1xuICAgICAgY29uc3QgYXJncyA9IHNsaWNlLmNhbGwoYXJndW1lbnRzKTtcbiAgICAgIGxldCBtZXJnaW5nID0gZmFsc2U7XG4gICAgICBsZXQgb3B0aW9uczggPSBhcmdzW2FyZ3MubGVuZ3RoIC0gMV07XG4gICAgICBpZiAob3B0aW9uczggJiYgIUFycmF5LmlzQXJyYXkob3B0aW9uczgpICYmIG9wdGlvbnM4LnBpcGUgPT0gbnVsbCkge1xuICAgICAgICBhcmdzLnBvcCgpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3B0aW9uczggPSB7fTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IGRvRW5kID0gb3B0aW9uczguZW5kICE9PSBmYWxzZTtcbiAgICAgIGNvbnN0IGRvUGlwZUVycm9yID0gb3B0aW9uczgucGlwZUVycm9yID09PSB0cnVlO1xuICAgICAgaWYgKG9wdGlvbnM4Lm9iamVjdE1vZGUgPT0gbnVsbCkge1xuICAgICAgICBvcHRpb25zOC5vYmplY3RNb2RlID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zOC5oaWdoV2F0ZXJNYXJrID09IG51bGwpIHtcbiAgICAgICAgb3B0aW9uczguaGlnaFdhdGVyTWFyayA9IDY0ICogMTAyNDtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG1lcmdlZFN0cmVhbSA9IFBhc3NUaHJvdWdoKG9wdGlvbnM4KTtcbiAgICAgIGZ1bmN0aW9uIGFkZFN0cmVhbSgpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGFyZ3VtZW50cy5sZW5ndGg7IGkgPCBsZW47IGkrKykge1xuICAgICAgICAgIHN0cmVhbXNRdWV1ZS5wdXNoKHBhdXNlU3RyZWFtcyhhcmd1bWVudHNbaV0sIG9wdGlvbnM4KSk7XG4gICAgICAgIH1cbiAgICAgICAgbWVyZ2VTdHJlYW0oKTtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBtZXJnZVN0cmVhbSgpIHtcbiAgICAgICAgaWYgKG1lcmdpbmcpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgbWVyZ2luZyA9IHRydWU7XG4gICAgICAgIGxldCBzdHJlYW1zID0gc3RyZWFtc1F1ZXVlLnNoaWZ0KCk7XG4gICAgICAgIGlmICghc3RyZWFtcykge1xuICAgICAgICAgIHByb2Nlc3MubmV4dFRpY2soZW5kU3RyZWFtKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFBcnJheS5pc0FycmF5KHN0cmVhbXMpKSB7XG4gICAgICAgICAgc3RyZWFtcyA9IFtzdHJlYW1zXTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcGlwZXNDb3VudCA9IHN0cmVhbXMubGVuZ3RoICsgMTtcbiAgICAgICAgZnVuY3Rpb24gbmV4dCgpIHtcbiAgICAgICAgICBpZiAoLS1waXBlc0NvdW50ID4gMCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBtZXJnaW5nID0gZmFsc2U7XG4gICAgICAgICAgbWVyZ2VTdHJlYW0oKTtcbiAgICAgICAgfVxuICAgICAgICBmdW5jdGlvbiBwaXBlKHN0cmVhbSkge1xuICAgICAgICAgIGZ1bmN0aW9uIG9uZW5kKCkge1xuICAgICAgICAgICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKFwibWVyZ2UyVW5waXBlRW5kXCIsIG9uZW5kKTtcbiAgICAgICAgICAgIHN0cmVhbS5yZW1vdmVMaXN0ZW5lcihcImVuZFwiLCBvbmVuZCk7XG4gICAgICAgICAgICBpZiAoZG9QaXBlRXJyb3IpIHtcbiAgICAgICAgICAgICAgc3RyZWFtLnJlbW92ZUxpc3RlbmVyKFwiZXJyb3JcIiwgb25lcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBuZXh0KCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGZ1bmN0aW9uIG9uZXJyb3IoZXJyKSB7XG4gICAgICAgICAgICBtZXJnZWRTdHJlYW0uZW1pdChcImVycm9yXCIsIGVycik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChzdHJlYW0uX3JlYWRhYmxlU3RhdGUuZW5kRW1pdHRlZCkge1xuICAgICAgICAgICAgcmV0dXJuIG5leHQoKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3RyZWFtLm9uKFwibWVyZ2UyVW5waXBlRW5kXCIsIG9uZW5kKTtcbiAgICAgICAgICBzdHJlYW0ub24oXCJlbmRcIiwgb25lbmQpO1xuICAgICAgICAgIGlmIChkb1BpcGVFcnJvcikge1xuICAgICAgICAgICAgc3RyZWFtLm9uKFwiZXJyb3JcIiwgb25lcnJvcik7XG4gICAgICAgICAgfVxuICAgICAgICAgIHN0cmVhbS5waXBlKG1lcmdlZFN0cmVhbSwgeyBlbmQ6IGZhbHNlIH0pO1xuICAgICAgICAgIHN0cmVhbS5yZXN1bWUoKTtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHN0cmVhbXMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBwaXBlKHN0cmVhbXNbaV0pO1xuICAgICAgICB9XG4gICAgICAgIG5leHQoKTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGVuZFN0cmVhbSgpIHtcbiAgICAgICAgbWVyZ2luZyA9IGZhbHNlO1xuICAgICAgICBtZXJnZWRTdHJlYW0uZW1pdChcInF1ZXVlRHJhaW5cIik7XG4gICAgICAgIGlmIChkb0VuZCkge1xuICAgICAgICAgIG1lcmdlZFN0cmVhbS5lbmQoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgbWVyZ2VkU3RyZWFtLnNldE1heExpc3RlbmVycygwKTtcbiAgICAgIG1lcmdlZFN0cmVhbS5hZGQgPSBhZGRTdHJlYW07XG4gICAgICBtZXJnZWRTdHJlYW0ub24oXCJ1bnBpcGVcIiwgZnVuY3Rpb24oc3RyZWFtKSB7XG4gICAgICAgIHN0cmVhbS5lbWl0KFwibWVyZ2UyVW5waXBlRW5kXCIpO1xuICAgICAgfSk7XG4gICAgICBpZiAoYXJncy5sZW5ndGgpIHtcbiAgICAgICAgYWRkU3RyZWFtLmFwcGx5KG51bGwsIGFyZ3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG1lcmdlZFN0cmVhbTtcbiAgICB9XG4gICAgZnVuY3Rpb24gcGF1c2VTdHJlYW1zKHN0cmVhbXMsIG9wdGlvbnM4KSB7XG4gICAgICBpZiAoIUFycmF5LmlzQXJyYXkoc3RyZWFtcykpIHtcbiAgICAgICAgaWYgKCFzdHJlYW1zLl9yZWFkYWJsZVN0YXRlICYmIHN0cmVhbXMucGlwZSkge1xuICAgICAgICAgIHN0cmVhbXMgPSBzdHJlYW1zLnBpcGUoUGFzc1Rocm91Z2gob3B0aW9uczgpKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXN0cmVhbXMuX3JlYWRhYmxlU3RhdGUgfHwgIXN0cmVhbXMucGF1c2UgfHwgIXN0cmVhbXMucGlwZSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIk9ubHkgcmVhZGFibGUgc3RyZWFtIGNhbiBiZSBtZXJnZWQuXCIpO1xuICAgICAgICB9XG4gICAgICAgIHN0cmVhbXMucGF1c2UoKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGZvciAobGV0IGkgPSAwLCBsZW4gPSBzdHJlYW1zLmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgICAgICAgc3RyZWFtc1tpXSA9IHBhdXNlU3RyZWFtcyhzdHJlYW1zW2ldLCBvcHRpb25zOCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBzdHJlYW1zO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3V0aWxzL3N0cmVhbS5qc1xudmFyIHJlcXVpcmVfc3RyZWFtID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2Zhc3QtZ2xvYi9vdXQvdXRpbHMvc3RyZWFtLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICBleHBvcnRzLm1lcmdlID0gdm9pZCAwO1xuICAgIHZhciBtZXJnZTIgPSByZXF1aXJlX21lcmdlMigpO1xuICAgIGZ1bmN0aW9uIG1lcmdlMyhzdHJlYW1zKSB7XG4gICAgICBjb25zdCBtZXJnZWRTdHJlYW0gPSBtZXJnZTIoc3RyZWFtcyk7XG4gICAgICBzdHJlYW1zLmZvckVhY2goKHN0cmVhbSkgPT4ge1xuICAgICAgICBzdHJlYW0ub25jZShcImVycm9yXCIsIChlcnJvcikgPT4gbWVyZ2VkU3RyZWFtLmVtaXQoXCJlcnJvclwiLCBlcnJvcikpO1xuICAgICAgfSk7XG4gICAgICBtZXJnZWRTdHJlYW0ub25jZShcImNsb3NlXCIsICgpID0+IHByb3BhZ2F0ZUNsb3NlRXZlbnRUb1NvdXJjZXMoc3RyZWFtcykpO1xuICAgICAgbWVyZ2VkU3RyZWFtLm9uY2UoXCJlbmRcIiwgKCkgPT4gcHJvcGFnYXRlQ2xvc2VFdmVudFRvU291cmNlcyhzdHJlYW1zKSk7XG4gICAgICByZXR1cm4gbWVyZ2VkU3RyZWFtO1xuICAgIH1cbiAgICBleHBvcnRzLm1lcmdlID0gbWVyZ2UzO1xuICAgIGZ1bmN0aW9uIHByb3BhZ2F0ZUNsb3NlRXZlbnRUb1NvdXJjZXMoc3RyZWFtcykge1xuICAgICAgc3RyZWFtcy5mb3JFYWNoKChzdHJlYW0pID0+IHN0cmVhbS5lbWl0KFwiY2xvc2VcIikpO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3V0aWxzL3N0cmluZy5qc1xudmFyIHJlcXVpcmVfc3RyaW5nID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2Zhc3QtZ2xvYi9vdXQvdXRpbHMvc3RyaW5nLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICBleHBvcnRzLmlzRW1wdHkgPSBleHBvcnRzLmlzU3RyaW5nID0gdm9pZCAwO1xuICAgIGZ1bmN0aW9uIGlzU3RyaW5nKGlucHV0KSB7XG4gICAgICByZXR1cm4gdHlwZW9mIGlucHV0ID09PSBcInN0cmluZ1wiO1xuICAgIH1cbiAgICBleHBvcnRzLmlzU3RyaW5nID0gaXNTdHJpbmc7XG4gICAgZnVuY3Rpb24gaXNFbXB0eShpbnB1dCkge1xuICAgICAgcmV0dXJuIGlucHV0ID09PSBcIlwiO1xuICAgIH1cbiAgICBleHBvcnRzLmlzRW1wdHkgPSBpc0VtcHR5O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2Zhc3QtZ2xvYi9vdXQvdXRpbHMvaW5kZXguanNcbnZhciByZXF1aXJlX3V0aWxzMyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3V0aWxzL2luZGV4LmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICBleHBvcnRzLnN0cmluZyA9IGV4cG9ydHMuc3RyZWFtID0gZXhwb3J0cy5wYXR0ZXJuID0gZXhwb3J0cy5wYXRoID0gZXhwb3J0cy5mcyA9IGV4cG9ydHMuZXJybm8gPSBleHBvcnRzLmFycmF5ID0gdm9pZCAwO1xuICAgIHZhciBhcnJheTIgPSByZXF1aXJlX2FycmF5KCk7XG4gICAgZXhwb3J0cy5hcnJheSA9IGFycmF5MjtcbiAgICB2YXIgZXJybm8gPSByZXF1aXJlX2Vycm5vKCk7XG4gICAgZXhwb3J0cy5lcnJubyA9IGVycm5vO1xuICAgIHZhciBmczcgPSByZXF1aXJlX2ZzKCk7XG4gICAgZXhwb3J0cy5mcyA9IGZzNztcbiAgICB2YXIgcGF0aDEzID0gcmVxdWlyZV9wYXRoKCk7XG4gICAgZXhwb3J0cy5wYXRoID0gcGF0aDEzO1xuICAgIHZhciBwYXR0ZXJuID0gcmVxdWlyZV9wYXR0ZXJuKCk7XG4gICAgZXhwb3J0cy5wYXR0ZXJuID0gcGF0dGVybjtcbiAgICB2YXIgc3RyZWFtID0gcmVxdWlyZV9zdHJlYW0oKTtcbiAgICBleHBvcnRzLnN0cmVhbSA9IHN0cmVhbTtcbiAgICB2YXIgc3RyaW5nID0gcmVxdWlyZV9zdHJpbmcoKTtcbiAgICBleHBvcnRzLnN0cmluZyA9IHN0cmluZztcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L21hbmFnZXJzL3Rhc2tzLmpzXG52YXIgcmVxdWlyZV90YXNrcyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L21hbmFnZXJzL3Rhc2tzLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICBleHBvcnRzLmNvbnZlcnRQYXR0ZXJuR3JvdXBUb1Rhc2sgPSBleHBvcnRzLmNvbnZlcnRQYXR0ZXJuR3JvdXBzVG9UYXNrcyA9IGV4cG9ydHMuZ3JvdXBQYXR0ZXJuc0J5QmFzZURpcmVjdG9yeSA9IGV4cG9ydHMuZ2V0TmVnYXRpdmVQYXR0ZXJuc0FzUG9zaXRpdmUgPSBleHBvcnRzLmdldFBvc2l0aXZlUGF0dGVybnMgPSBleHBvcnRzLmNvbnZlcnRQYXR0ZXJuc1RvVGFza3MgPSBleHBvcnRzLmdlbmVyYXRlID0gdm9pZCAwO1xuICAgIHZhciB1dGlscyA9IHJlcXVpcmVfdXRpbHMzKCk7XG4gICAgZnVuY3Rpb24gZ2VuZXJhdGUoaW5wdXQsIHNldHRpbmdzKSB7XG4gICAgICBjb25zdCBwYXR0ZXJucyA9IHByb2Nlc3NQYXR0ZXJucyhpbnB1dCwgc2V0dGluZ3MpO1xuICAgICAgY29uc3QgaWdub3JlID0gcHJvY2Vzc1BhdHRlcm5zKHNldHRpbmdzLmlnbm9yZSwgc2V0dGluZ3MpO1xuICAgICAgY29uc3QgcG9zaXRpdmVQYXR0ZXJucyA9IGdldFBvc2l0aXZlUGF0dGVybnMocGF0dGVybnMpO1xuICAgICAgY29uc3QgbmVnYXRpdmVQYXR0ZXJucyA9IGdldE5lZ2F0aXZlUGF0dGVybnNBc1Bvc2l0aXZlKHBhdHRlcm5zLCBpZ25vcmUpO1xuICAgICAgY29uc3Qgc3RhdGljUGF0dGVybnMgPSBwb3NpdGl2ZVBhdHRlcm5zLmZpbHRlcigocGF0dGVybikgPT4gdXRpbHMucGF0dGVybi5pc1N0YXRpY1BhdHRlcm4ocGF0dGVybiwgc2V0dGluZ3MpKTtcbiAgICAgIGNvbnN0IGR5bmFtaWNQYXR0ZXJucyA9IHBvc2l0aXZlUGF0dGVybnMuZmlsdGVyKChwYXR0ZXJuKSA9PiB1dGlscy5wYXR0ZXJuLmlzRHluYW1pY1BhdHRlcm4ocGF0dGVybiwgc2V0dGluZ3MpKTtcbiAgICAgIGNvbnN0IHN0YXRpY1Rhc2tzID0gY29udmVydFBhdHRlcm5zVG9UYXNrcyhcbiAgICAgICAgc3RhdGljUGF0dGVybnMsXG4gICAgICAgIG5lZ2F0aXZlUGF0dGVybnMsXG4gICAgICAgIC8qIGR5bmFtaWMgKi9cbiAgICAgICAgZmFsc2VcbiAgICAgICk7XG4gICAgICBjb25zdCBkeW5hbWljVGFza3MgPSBjb252ZXJ0UGF0dGVybnNUb1Rhc2tzKFxuICAgICAgICBkeW5hbWljUGF0dGVybnMsXG4gICAgICAgIG5lZ2F0aXZlUGF0dGVybnMsXG4gICAgICAgIC8qIGR5bmFtaWMgKi9cbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICAgIHJldHVybiBzdGF0aWNUYXNrcy5jb25jYXQoZHluYW1pY1Rhc2tzKTtcbiAgICB9XG4gICAgZXhwb3J0cy5nZW5lcmF0ZSA9IGdlbmVyYXRlO1xuICAgIGZ1bmN0aW9uIHByb2Nlc3NQYXR0ZXJucyhpbnB1dCwgc2V0dGluZ3MpIHtcbiAgICAgIGxldCBwYXR0ZXJucyA9IGlucHV0O1xuICAgICAgaWYgKHNldHRpbmdzLmJyYWNlRXhwYW5zaW9uKSB7XG4gICAgICAgIHBhdHRlcm5zID0gdXRpbHMucGF0dGVybi5leHBhbmRQYXR0ZXJuc1dpdGhCcmFjZUV4cGFuc2lvbihwYXR0ZXJucyk7XG4gICAgICB9XG4gICAgICBpZiAoc2V0dGluZ3MuYmFzZU5hbWVNYXRjaCkge1xuICAgICAgICBwYXR0ZXJucyA9IHBhdHRlcm5zLm1hcCgocGF0dGVybikgPT4gcGF0dGVybi5pbmNsdWRlcyhcIi9cIikgPyBwYXR0ZXJuIDogYCoqLyR7cGF0dGVybn1gKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBwYXR0ZXJucy5tYXAoKHBhdHRlcm4pID0+IHV0aWxzLnBhdHRlcm4ucmVtb3ZlRHVwbGljYXRlU2xhc2hlcyhwYXR0ZXJuKSk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvbnZlcnRQYXR0ZXJuc1RvVGFza3MocG9zaXRpdmUsIG5lZ2F0aXZlLCBkeW5hbWljKSB7XG4gICAgICBjb25zdCB0YXNrcyA9IFtdO1xuICAgICAgY29uc3QgcGF0dGVybnNPdXRzaWRlQ3VycmVudERpcmVjdG9yeSA9IHV0aWxzLnBhdHRlcm4uZ2V0UGF0dGVybnNPdXRzaWRlQ3VycmVudERpcmVjdG9yeShwb3NpdGl2ZSk7XG4gICAgICBjb25zdCBwYXR0ZXJuc0luc2lkZUN1cnJlbnREaXJlY3RvcnkgPSB1dGlscy5wYXR0ZXJuLmdldFBhdHRlcm5zSW5zaWRlQ3VycmVudERpcmVjdG9yeShwb3NpdGl2ZSk7XG4gICAgICBjb25zdCBvdXRzaWRlQ3VycmVudERpcmVjdG9yeUdyb3VwID0gZ3JvdXBQYXR0ZXJuc0J5QmFzZURpcmVjdG9yeShwYXR0ZXJuc091dHNpZGVDdXJyZW50RGlyZWN0b3J5KTtcbiAgICAgIGNvbnN0IGluc2lkZUN1cnJlbnREaXJlY3RvcnlHcm91cCA9IGdyb3VwUGF0dGVybnNCeUJhc2VEaXJlY3RvcnkocGF0dGVybnNJbnNpZGVDdXJyZW50RGlyZWN0b3J5KTtcbiAgICAgIHRhc2tzLnB1c2goLi4uY29udmVydFBhdHRlcm5Hcm91cHNUb1Rhc2tzKG91dHNpZGVDdXJyZW50RGlyZWN0b3J5R3JvdXAsIG5lZ2F0aXZlLCBkeW5hbWljKSk7XG4gICAgICBpZiAoXCIuXCIgaW4gaW5zaWRlQ3VycmVudERpcmVjdG9yeUdyb3VwKSB7XG4gICAgICAgIHRhc2tzLnB1c2goY29udmVydFBhdHRlcm5Hcm91cFRvVGFzayhcIi5cIiwgcGF0dGVybnNJbnNpZGVDdXJyZW50RGlyZWN0b3J5LCBuZWdhdGl2ZSwgZHluYW1pYykpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGFza3MucHVzaCguLi5jb252ZXJ0UGF0dGVybkdyb3Vwc1RvVGFza3MoaW5zaWRlQ3VycmVudERpcmVjdG9yeUdyb3VwLCBuZWdhdGl2ZSwgZHluYW1pYykpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRhc2tzO1xuICAgIH1cbiAgICBleHBvcnRzLmNvbnZlcnRQYXR0ZXJuc1RvVGFza3MgPSBjb252ZXJ0UGF0dGVybnNUb1Rhc2tzO1xuICAgIGZ1bmN0aW9uIGdldFBvc2l0aXZlUGF0dGVybnMocGF0dGVybnMpIHtcbiAgICAgIHJldHVybiB1dGlscy5wYXR0ZXJuLmdldFBvc2l0aXZlUGF0dGVybnMocGF0dGVybnMpO1xuICAgIH1cbiAgICBleHBvcnRzLmdldFBvc2l0aXZlUGF0dGVybnMgPSBnZXRQb3NpdGl2ZVBhdHRlcm5zO1xuICAgIGZ1bmN0aW9uIGdldE5lZ2F0aXZlUGF0dGVybnNBc1Bvc2l0aXZlKHBhdHRlcm5zLCBpZ25vcmUpIHtcbiAgICAgIGNvbnN0IG5lZ2F0aXZlID0gdXRpbHMucGF0dGVybi5nZXROZWdhdGl2ZVBhdHRlcm5zKHBhdHRlcm5zKS5jb25jYXQoaWdub3JlKTtcbiAgICAgIGNvbnN0IHBvc2l0aXZlID0gbmVnYXRpdmUubWFwKHV0aWxzLnBhdHRlcm4uY29udmVydFRvUG9zaXRpdmVQYXR0ZXJuKTtcbiAgICAgIHJldHVybiBwb3NpdGl2ZTtcbiAgICB9XG4gICAgZXhwb3J0cy5nZXROZWdhdGl2ZVBhdHRlcm5zQXNQb3NpdGl2ZSA9IGdldE5lZ2F0aXZlUGF0dGVybnNBc1Bvc2l0aXZlO1xuICAgIGZ1bmN0aW9uIGdyb3VwUGF0dGVybnNCeUJhc2VEaXJlY3RvcnkocGF0dGVybnMpIHtcbiAgICAgIGNvbnN0IGdyb3VwID0ge307XG4gICAgICByZXR1cm4gcGF0dGVybnMucmVkdWNlKChjb2xsZWN0aW9uLCBwYXR0ZXJuKSA9PiB7XG4gICAgICAgIGNvbnN0IGJhc2UgPSB1dGlscy5wYXR0ZXJuLmdldEJhc2VEaXJlY3RvcnkocGF0dGVybik7XG4gICAgICAgIGlmIChiYXNlIGluIGNvbGxlY3Rpb24pIHtcbiAgICAgICAgICBjb2xsZWN0aW9uW2Jhc2VdLnB1c2gocGF0dGVybik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29sbGVjdGlvbltiYXNlXSA9IFtwYXR0ZXJuXTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29sbGVjdGlvbjtcbiAgICAgIH0sIGdyb3VwKTtcbiAgICB9XG4gICAgZXhwb3J0cy5ncm91cFBhdHRlcm5zQnlCYXNlRGlyZWN0b3J5ID0gZ3JvdXBQYXR0ZXJuc0J5QmFzZURpcmVjdG9yeTtcbiAgICBmdW5jdGlvbiBjb252ZXJ0UGF0dGVybkdyb3Vwc1RvVGFza3MocG9zaXRpdmUsIG5lZ2F0aXZlLCBkeW5hbWljKSB7XG4gICAgICByZXR1cm4gT2JqZWN0LmtleXMocG9zaXRpdmUpLm1hcCgoYmFzZSkgPT4ge1xuICAgICAgICByZXR1cm4gY29udmVydFBhdHRlcm5Hcm91cFRvVGFzayhiYXNlLCBwb3NpdGl2ZVtiYXNlXSwgbmVnYXRpdmUsIGR5bmFtaWMpO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGV4cG9ydHMuY29udmVydFBhdHRlcm5Hcm91cHNUb1Rhc2tzID0gY29udmVydFBhdHRlcm5Hcm91cHNUb1Rhc2tzO1xuICAgIGZ1bmN0aW9uIGNvbnZlcnRQYXR0ZXJuR3JvdXBUb1Rhc2soYmFzZSwgcG9zaXRpdmUsIG5lZ2F0aXZlLCBkeW5hbWljKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBkeW5hbWljLFxuICAgICAgICBwb3NpdGl2ZSxcbiAgICAgICAgbmVnYXRpdmUsXG4gICAgICAgIGJhc2UsXG4gICAgICAgIHBhdHRlcm5zOiBbXS5jb25jYXQocG9zaXRpdmUsIG5lZ2F0aXZlLm1hcCh1dGlscy5wYXR0ZXJuLmNvbnZlcnRUb05lZ2F0aXZlUGF0dGVybikpXG4gICAgICB9O1xuICAgIH1cbiAgICBleHBvcnRzLmNvbnZlcnRQYXR0ZXJuR3JvdXBUb1Rhc2sgPSBjb252ZXJ0UGF0dGVybkdyb3VwVG9UYXNrO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLnN0YXQvb3V0L3Byb3ZpZGVycy9hc3luYy5qc1xudmFyIHJlcXVpcmVfYXN5bmMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvQG5vZGVsaWIvZnMuc3RhdC9vdXQvcHJvdmlkZXJzL2FzeW5jLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICBleHBvcnRzLnJlYWQgPSB2b2lkIDA7XG4gICAgZnVuY3Rpb24gcmVhZDMocGF0aDEzLCBzZXR0aW5ncywgY2FsbGJhY2spIHtcbiAgICAgIHNldHRpbmdzLmZzLmxzdGF0KHBhdGgxMywgKGxzdGF0RXJyb3IsIGxzdGF0KSA9PiB7XG4gICAgICAgIGlmIChsc3RhdEVycm9yICE9PSBudWxsKSB7XG4gICAgICAgICAgY2FsbEZhaWx1cmVDYWxsYmFjayhjYWxsYmFjaywgbHN0YXRFcnJvcik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICghbHN0YXQuaXNTeW1ib2xpY0xpbmsoKSB8fCAhc2V0dGluZ3MuZm9sbG93U3ltYm9saWNMaW5rKSB7XG4gICAgICAgICAgY2FsbFN1Y2Nlc3NDYWxsYmFjayhjYWxsYmFjaywgbHN0YXQpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXR0aW5ncy5mcy5zdGF0KHBhdGgxMywgKHN0YXRFcnJvciwgc3RhdCkgPT4ge1xuICAgICAgICAgIGlmIChzdGF0RXJyb3IgIT09IG51bGwpIHtcbiAgICAgICAgICAgIGlmIChzZXR0aW5ncy50aHJvd0Vycm9yT25Ccm9rZW5TeW1ib2xpY0xpbmspIHtcbiAgICAgICAgICAgICAgY2FsbEZhaWx1cmVDYWxsYmFjayhjYWxsYmFjaywgc3RhdEVycm9yKTtcbiAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2FsbFN1Y2Nlc3NDYWxsYmFjayhjYWxsYmFjaywgbHN0YXQpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc2V0dGluZ3MubWFya1N5bWJvbGljTGluaykge1xuICAgICAgICAgICAgc3RhdC5pc1N5bWJvbGljTGluayA9ICgpID0+IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNhbGxTdWNjZXNzQ2FsbGJhY2soY2FsbGJhY2ssIHN0YXQpO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBleHBvcnRzLnJlYWQgPSByZWFkMztcbiAgICBmdW5jdGlvbiBjYWxsRmFpbHVyZUNhbGxiYWNrKGNhbGxiYWNrLCBlcnJvcikge1xuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjYWxsU3VjY2Vzc0NhbGxiYWNrKGNhbGxiYWNrLCByZXN1bHQpIHtcbiAgICAgIGNhbGxiYWNrKG51bGwsIHJlc3VsdCk7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLnN0YXQvb3V0L3Byb3ZpZGVycy9zeW5jLmpzXG52YXIgcmVxdWlyZV9zeW5jID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLnN0YXQvb3V0L3Byb3ZpZGVycy9zeW5jLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICBleHBvcnRzLnJlYWQgPSB2b2lkIDA7XG4gICAgZnVuY3Rpb24gcmVhZDMocGF0aDEzLCBzZXR0aW5ncykge1xuICAgICAgY29uc3QgbHN0YXQgPSBzZXR0aW5ncy5mcy5sc3RhdFN5bmMocGF0aDEzKTtcbiAgICAgIGlmICghbHN0YXQuaXNTeW1ib2xpY0xpbmsoKSB8fCAhc2V0dGluZ3MuZm9sbG93U3ltYm9saWNMaW5rKSB7XG4gICAgICAgIHJldHVybiBsc3RhdDtcbiAgICAgIH1cbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHN0YXQgPSBzZXR0aW5ncy5mcy5zdGF0U3luYyhwYXRoMTMpO1xuICAgICAgICBpZiAoc2V0dGluZ3MubWFya1N5bWJvbGljTGluaykge1xuICAgICAgICAgIHN0YXQuaXNTeW1ib2xpY0xpbmsgPSAoKSA9PiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdGF0O1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgaWYgKCFzZXR0aW5ncy50aHJvd0Vycm9yT25Ccm9rZW5TeW1ib2xpY0xpbmspIHtcbiAgICAgICAgICByZXR1cm4gbHN0YXQ7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgfVxuICAgIGV4cG9ydHMucmVhZCA9IHJlYWQzO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLnN0YXQvb3V0L2FkYXB0ZXJzL2ZzLmpzXG52YXIgcmVxdWlyZV9mczIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvQG5vZGVsaWIvZnMuc3RhdC9vdXQvYWRhcHRlcnMvZnMuanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIGV4cG9ydHMuY3JlYXRlRmlsZVN5c3RlbUFkYXB0ZXIgPSBleHBvcnRzLkZJTEVfU1lTVEVNX0FEQVBURVIgPSB2b2lkIDA7XG4gICAgdmFyIGZzNyA9IF9fcmVxdWlyZShcImZzXCIpO1xuICAgIGV4cG9ydHMuRklMRV9TWVNURU1fQURBUFRFUiA9IHtcbiAgICAgIGxzdGF0OiBmczcubHN0YXQsXG4gICAgICBzdGF0OiBmczcuc3RhdCxcbiAgICAgIGxzdGF0U3luYzogZnM3LmxzdGF0U3luYyxcbiAgICAgIHN0YXRTeW5jOiBmczcuc3RhdFN5bmNcbiAgICB9O1xuICAgIGZ1bmN0aW9uIGNyZWF0ZUZpbGVTeXN0ZW1BZGFwdGVyKGZzTWV0aG9kcykge1xuICAgICAgaWYgKGZzTWV0aG9kcyA9PT0gdm9pZCAwKSB7XG4gICAgICAgIHJldHVybiBleHBvcnRzLkZJTEVfU1lTVEVNX0FEQVBURVI7XG4gICAgICB9XG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBleHBvcnRzLkZJTEVfU1lTVEVNX0FEQVBURVIpLCBmc01ldGhvZHMpO1xuICAgIH1cbiAgICBleHBvcnRzLmNyZWF0ZUZpbGVTeXN0ZW1BZGFwdGVyID0gY3JlYXRlRmlsZVN5c3RlbUFkYXB0ZXI7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvQG5vZGVsaWIvZnMuc3RhdC9vdXQvc2V0dGluZ3MuanNcbnZhciByZXF1aXJlX3NldHRpbmdzID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLnN0YXQvb3V0L3NldHRpbmdzLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB2YXIgZnM3ID0gcmVxdWlyZV9mczIoKTtcbiAgICB2YXIgU2V0dGluZ3MgPSBjbGFzcyB7XG4gICAgICBjb25zdHJ1Y3Rvcihfb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHRoaXMuX29wdGlvbnMgPSBfb3B0aW9ucztcbiAgICAgICAgdGhpcy5mb2xsb3dTeW1ib2xpY0xpbmsgPSB0aGlzLl9nZXRWYWx1ZSh0aGlzLl9vcHRpb25zLmZvbGxvd1N5bWJvbGljTGluaywgdHJ1ZSk7XG4gICAgICAgIHRoaXMuZnMgPSBmczcuY3JlYXRlRmlsZVN5c3RlbUFkYXB0ZXIodGhpcy5fb3B0aW9ucy5mcyk7XG4gICAgICAgIHRoaXMubWFya1N5bWJvbGljTGluayA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX29wdGlvbnMubWFya1N5bWJvbGljTGluaywgZmFsc2UpO1xuICAgICAgICB0aGlzLnRocm93RXJyb3JPbkJyb2tlblN5bWJvbGljTGluayA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX29wdGlvbnMudGhyb3dFcnJvck9uQnJva2VuU3ltYm9saWNMaW5rLCB0cnVlKTtcbiAgICAgIH1cbiAgICAgIF9nZXRWYWx1ZShvcHRpb24sIHZhbHVlKSB7XG4gICAgICAgIHJldHVybiBvcHRpb24gIT09IG51bGwgJiYgb3B0aW9uICE9PSB2b2lkIDAgPyBvcHRpb24gOiB2YWx1ZTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGV4cG9ydHMuZGVmYXVsdCA9IFNldHRpbmdzO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLnN0YXQvb3V0L2luZGV4LmpzXG52YXIgcmVxdWlyZV9vdXQgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvQG5vZGVsaWIvZnMuc3RhdC9vdXQvaW5kZXguanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIGV4cG9ydHMuc3RhdFN5bmMgPSBleHBvcnRzLnN0YXQgPSBleHBvcnRzLlNldHRpbmdzID0gdm9pZCAwO1xuICAgIHZhciBhc3luYyA9IHJlcXVpcmVfYXN5bmMoKTtcbiAgICB2YXIgc3luYyA9IHJlcXVpcmVfc3luYygpO1xuICAgIHZhciBzZXR0aW5nc18xID0gcmVxdWlyZV9zZXR0aW5ncygpO1xuICAgIGV4cG9ydHMuU2V0dGluZ3MgPSBzZXR0aW5nc18xLmRlZmF1bHQ7XG4gICAgZnVuY3Rpb24gc3RhdChwYXRoMTMsIG9wdGlvbnNPclNldHRpbmdzT3JDYWxsYmFjaywgY2FsbGJhY2spIHtcbiAgICAgIGlmICh0eXBlb2Ygb3B0aW9uc09yU2V0dGluZ3NPckNhbGxiYWNrID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgYXN5bmMucmVhZChwYXRoMTMsIGdldFNldHRpbmdzKCksIG9wdGlvbnNPclNldHRpbmdzT3JDYWxsYmFjayk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGFzeW5jLnJlYWQocGF0aDEzLCBnZXRTZXR0aW5ncyhvcHRpb25zT3JTZXR0aW5nc09yQ2FsbGJhY2spLCBjYWxsYmFjayk7XG4gICAgfVxuICAgIGV4cG9ydHMuc3RhdCA9IHN0YXQ7XG4gICAgZnVuY3Rpb24gc3RhdFN5bmMyKHBhdGgxMywgb3B0aW9uc09yU2V0dGluZ3MpIHtcbiAgICAgIGNvbnN0IHNldHRpbmdzID0gZ2V0U2V0dGluZ3Mob3B0aW9uc09yU2V0dGluZ3MpO1xuICAgICAgcmV0dXJuIHN5bmMucmVhZChwYXRoMTMsIHNldHRpbmdzKTtcbiAgICB9XG4gICAgZXhwb3J0cy5zdGF0U3luYyA9IHN0YXRTeW5jMjtcbiAgICBmdW5jdGlvbiBnZXRTZXR0aW5ncyhzZXR0aW5nc09yT3B0aW9ucyA9IHt9KSB7XG4gICAgICBpZiAoc2V0dGluZ3NPck9wdGlvbnMgaW5zdGFuY2VvZiBzZXR0aW5nc18xLmRlZmF1bHQpIHtcbiAgICAgICAgcmV0dXJuIHNldHRpbmdzT3JPcHRpb25zO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5ldyBzZXR0aW5nc18xLmRlZmF1bHQoc2V0dGluZ3NPck9wdGlvbnMpO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9xdWV1ZS1taWNyb3Rhc2svaW5kZXguanNcbnZhciByZXF1aXJlX3F1ZXVlX21pY3JvdGFzayA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9xdWV1ZS1taWNyb3Rhc2svaW5kZXguanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICB2YXIgcHJvbWlzZTtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHR5cGVvZiBxdWV1ZU1pY3JvdGFzayA9PT0gXCJmdW5jdGlvblwiID8gcXVldWVNaWNyb3Rhc2suYmluZCh0eXBlb2Ygd2luZG93ICE9PSBcInVuZGVmaW5lZFwiID8gd2luZG93IDogZ2xvYmFsKSA6IChjYikgPT4gKHByb21pc2UgfHwgKHByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoKSkpLnRoZW4oY2IpLmNhdGNoKChlcnIpID0+IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhyb3cgZXJyO1xuICAgIH0sIDApKTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9ydW4tcGFyYWxsZWwvaW5kZXguanNcbnZhciByZXF1aXJlX3J1bl9wYXJhbGxlbCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9ydW4tcGFyYWxsZWwvaW5kZXguanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHJ1blBhcmFsbGVsO1xuICAgIHZhciBxdWV1ZU1pY3JvdGFzazIgPSByZXF1aXJlX3F1ZXVlX21pY3JvdGFzaygpO1xuICAgIGZ1bmN0aW9uIHJ1blBhcmFsbGVsKHRhc2tzLCBjYikge1xuICAgICAgbGV0IHJlc3VsdHMsIHBlbmRpbmcsIGtleXM7XG4gICAgICBsZXQgaXNTeW5jID0gdHJ1ZTtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHRhc2tzKSkge1xuICAgICAgICByZXN1bHRzID0gW107XG4gICAgICAgIHBlbmRpbmcgPSB0YXNrcy5sZW5ndGg7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBrZXlzID0gT2JqZWN0LmtleXModGFza3MpO1xuICAgICAgICByZXN1bHRzID0ge307XG4gICAgICAgIHBlbmRpbmcgPSBrZXlzLmxlbmd0aDtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGRvbmUoZXJyKSB7XG4gICAgICAgIGZ1bmN0aW9uIGVuZCgpIHtcbiAgICAgICAgICBpZiAoY2IpIGNiKGVyciwgcmVzdWx0cyk7XG4gICAgICAgICAgY2IgPSBudWxsO1xuICAgICAgICB9XG4gICAgICAgIGlmIChpc1N5bmMpIHF1ZXVlTWljcm90YXNrMihlbmQpO1xuICAgICAgICBlbHNlIGVuZCgpO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gZWFjaChpLCBlcnIsIHJlc3VsdCkge1xuICAgICAgICByZXN1bHRzW2ldID0gcmVzdWx0O1xuICAgICAgICBpZiAoLS1wZW5kaW5nID09PSAwIHx8IGVycikge1xuICAgICAgICAgIGRvbmUoZXJyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFwZW5kaW5nKSB7XG4gICAgICAgIGRvbmUobnVsbCk7XG4gICAgICB9IGVsc2UgaWYgKGtleXMpIHtcbiAgICAgICAga2V5cy5mb3JFYWNoKGZ1bmN0aW9uKGtleTIpIHtcbiAgICAgICAgICB0YXNrc1trZXkyXShmdW5jdGlvbihlcnIsIHJlc3VsdCkge1xuICAgICAgICAgICAgZWFjaChrZXkyLCBlcnIsIHJlc3VsdCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGFza3MuZm9yRWFjaChmdW5jdGlvbih0YXNrLCBpKSB7XG4gICAgICAgICAgdGFzayhmdW5jdGlvbihlcnIsIHJlc3VsdCkge1xuICAgICAgICAgICAgZWFjaChpLCBlcnIsIHJlc3VsdCk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgaXNTeW5jID0gZmFsc2U7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLnNjYW5kaXIvb3V0L2NvbnN0YW50cy5qc1xudmFyIHJlcXVpcmVfY29uc3RhbnRzMyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9Abm9kZWxpYi9mcy5zY2FuZGlyL291dC9jb25zdGFudHMuanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIGV4cG9ydHMuSVNfU1VQUE9SVF9SRUFERElSX1dJVEhfRklMRV9UWVBFUyA9IHZvaWQgMDtcbiAgICB2YXIgTk9ERV9QUk9DRVNTX1ZFUlNJT05fUEFSVFMgPSBwcm9jZXNzLnZlcnNpb25zLm5vZGUuc3BsaXQoXCIuXCIpO1xuICAgIGlmIChOT0RFX1BST0NFU1NfVkVSU0lPTl9QQVJUU1swXSA9PT0gdm9pZCAwIHx8IE5PREVfUFJPQ0VTU19WRVJTSU9OX1BBUlRTWzFdID09PSB2b2lkIDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCBiZWhhdmlvci4gVGhlICdwcm9jZXNzLnZlcnNpb25zLm5vZGUnIHZhcmlhYmxlIGhhcyBpbnZhbGlkIHZhbHVlOiAke3Byb2Nlc3MudmVyc2lvbnMubm9kZX1gKTtcbiAgICB9XG4gICAgdmFyIE1BSk9SX1ZFUlNJT04gPSBOdW1iZXIucGFyc2VJbnQoTk9ERV9QUk9DRVNTX1ZFUlNJT05fUEFSVFNbMF0sIDEwKTtcbiAgICB2YXIgTUlOT1JfVkVSU0lPTiA9IE51bWJlci5wYXJzZUludChOT0RFX1BST0NFU1NfVkVSU0lPTl9QQVJUU1sxXSwgMTApO1xuICAgIHZhciBTVVBQT1JURURfTUFKT1JfVkVSU0lPTiA9IDEwO1xuICAgIHZhciBTVVBQT1JURURfTUlOT1JfVkVSU0lPTiA9IDEwO1xuICAgIHZhciBJU19NQVRDSEVEX0JZX01BSk9SID0gTUFKT1JfVkVSU0lPTiA+IFNVUFBPUlRFRF9NQUpPUl9WRVJTSU9OO1xuICAgIHZhciBJU19NQVRDSEVEX0JZX01BSk9SX0FORF9NSU5PUiA9IE1BSk9SX1ZFUlNJT04gPT09IFNVUFBPUlRFRF9NQUpPUl9WRVJTSU9OICYmIE1JTk9SX1ZFUlNJT04gPj0gU1VQUE9SVEVEX01JTk9SX1ZFUlNJT047XG4gICAgZXhwb3J0cy5JU19TVVBQT1JUX1JFQURESVJfV0lUSF9GSUxFX1RZUEVTID0gSVNfTUFUQ0hFRF9CWV9NQUpPUiB8fCBJU19NQVRDSEVEX0JZX01BSk9SX0FORF9NSU5PUjtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9Abm9kZWxpYi9mcy5zY2FuZGlyL291dC91dGlscy9mcy5qc1xudmFyIHJlcXVpcmVfZnMzID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLnNjYW5kaXIvb3V0L3V0aWxzL2ZzLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICBleHBvcnRzLmNyZWF0ZURpcmVudEZyb21TdGF0cyA9IHZvaWQgMDtcbiAgICB2YXIgRGlyZW50RnJvbVN0YXRzID0gY2xhc3Mge1xuICAgICAgY29uc3RydWN0b3IobmFtZSwgc3RhdHMpIHtcbiAgICAgICAgdGhpcy5uYW1lID0gbmFtZTtcbiAgICAgICAgdGhpcy5pc0Jsb2NrRGV2aWNlID0gc3RhdHMuaXNCbG9ja0RldmljZS5iaW5kKHN0YXRzKTtcbiAgICAgICAgdGhpcy5pc0NoYXJhY3RlckRldmljZSA9IHN0YXRzLmlzQ2hhcmFjdGVyRGV2aWNlLmJpbmQoc3RhdHMpO1xuICAgICAgICB0aGlzLmlzRGlyZWN0b3J5ID0gc3RhdHMuaXNEaXJlY3RvcnkuYmluZChzdGF0cyk7XG4gICAgICAgIHRoaXMuaXNGSUZPID0gc3RhdHMuaXNGSUZPLmJpbmQoc3RhdHMpO1xuICAgICAgICB0aGlzLmlzRmlsZSA9IHN0YXRzLmlzRmlsZS5iaW5kKHN0YXRzKTtcbiAgICAgICAgdGhpcy5pc1NvY2tldCA9IHN0YXRzLmlzU29ja2V0LmJpbmQoc3RhdHMpO1xuICAgICAgICB0aGlzLmlzU3ltYm9saWNMaW5rID0gc3RhdHMuaXNTeW1ib2xpY0xpbmsuYmluZChzdGF0cyk7XG4gICAgICB9XG4gICAgfTtcbiAgICBmdW5jdGlvbiBjcmVhdGVEaXJlbnRGcm9tU3RhdHMobmFtZSwgc3RhdHMpIHtcbiAgICAgIHJldHVybiBuZXcgRGlyZW50RnJvbVN0YXRzKG5hbWUsIHN0YXRzKTtcbiAgICB9XG4gICAgZXhwb3J0cy5jcmVhdGVEaXJlbnRGcm9tU3RhdHMgPSBjcmVhdGVEaXJlbnRGcm9tU3RhdHM7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvQG5vZGVsaWIvZnMuc2NhbmRpci9vdXQvdXRpbHMvaW5kZXguanNcbnZhciByZXF1aXJlX3V0aWxzNCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9Abm9kZWxpYi9mcy5zY2FuZGlyL291dC91dGlscy9pbmRleC5qc1wiKGV4cG9ydHMpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgZXhwb3J0cy5mcyA9IHZvaWQgMDtcbiAgICB2YXIgZnM3ID0gcmVxdWlyZV9mczMoKTtcbiAgICBleHBvcnRzLmZzID0gZnM3O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLnNjYW5kaXIvb3V0L3Byb3ZpZGVycy9jb21tb24uanNcbnZhciByZXF1aXJlX2NvbW1vbiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9Abm9kZWxpYi9mcy5zY2FuZGlyL291dC9wcm92aWRlcnMvY29tbW9uLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICBleHBvcnRzLmpvaW5QYXRoU2VnbWVudHMgPSB2b2lkIDA7XG4gICAgZnVuY3Rpb24gam9pblBhdGhTZWdtZW50cyhhLCBiLCBzZXBhcmF0b3IpIHtcbiAgICAgIGlmIChhLmVuZHNXaXRoKHNlcGFyYXRvcikpIHtcbiAgICAgICAgcmV0dXJuIGEgKyBiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGEgKyBzZXBhcmF0b3IgKyBiO1xuICAgIH1cbiAgICBleHBvcnRzLmpvaW5QYXRoU2VnbWVudHMgPSBqb2luUGF0aFNlZ21lbnRzO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLnNjYW5kaXIvb3V0L3Byb3ZpZGVycy9hc3luYy5qc1xudmFyIHJlcXVpcmVfYXN5bmMyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLnNjYW5kaXIvb3V0L3Byb3ZpZGVycy9hc3luYy5qc1wiKGV4cG9ydHMpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgZXhwb3J0cy5yZWFkZGlyID0gZXhwb3J0cy5yZWFkZGlyV2l0aEZpbGVUeXBlcyA9IGV4cG9ydHMucmVhZCA9IHZvaWQgMDtcbiAgICB2YXIgZnNTdGF0ID0gcmVxdWlyZV9vdXQoKTtcbiAgICB2YXIgcnBsID0gcmVxdWlyZV9ydW5fcGFyYWxsZWwoKTtcbiAgICB2YXIgY29uc3RhbnRzXzEgPSByZXF1aXJlX2NvbnN0YW50czMoKTtcbiAgICB2YXIgdXRpbHMgPSByZXF1aXJlX3V0aWxzNCgpO1xuICAgIHZhciBjb21tb24yID0gcmVxdWlyZV9jb21tb24oKTtcbiAgICBmdW5jdGlvbiByZWFkMyhkaXJlY3RvcnksIHNldHRpbmdzLCBjYWxsYmFjaykge1xuICAgICAgaWYgKCFzZXR0aW5ncy5zdGF0cyAmJiBjb25zdGFudHNfMS5JU19TVVBQT1JUX1JFQURESVJfV0lUSF9GSUxFX1RZUEVTKSB7XG4gICAgICAgIHJlYWRkaXJXaXRoRmlsZVR5cGVzKGRpcmVjdG9yeSwgc2V0dGluZ3MsIGNhbGxiYWNrKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgcmVhZGRpcihkaXJlY3RvcnksIHNldHRpbmdzLCBjYWxsYmFjayk7XG4gICAgfVxuICAgIGV4cG9ydHMucmVhZCA9IHJlYWQzO1xuICAgIGZ1bmN0aW9uIHJlYWRkaXJXaXRoRmlsZVR5cGVzKGRpcmVjdG9yeSwgc2V0dGluZ3MsIGNhbGxiYWNrKSB7XG4gICAgICBzZXR0aW5ncy5mcy5yZWFkZGlyKGRpcmVjdG9yeSwgeyB3aXRoRmlsZVR5cGVzOiB0cnVlIH0sIChyZWFkZGlyRXJyb3IsIGRpcmVudHMpID0+IHtcbiAgICAgICAgaWYgKHJlYWRkaXJFcnJvciAhPT0gbnVsbCkge1xuICAgICAgICAgIGNhbGxGYWlsdXJlQ2FsbGJhY2soY2FsbGJhY2ssIHJlYWRkaXJFcnJvcik7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVudHJpZXMgPSBkaXJlbnRzLm1hcCgoZGlyZW50KSA9PiAoe1xuICAgICAgICAgIGRpcmVudCxcbiAgICAgICAgICBuYW1lOiBkaXJlbnQubmFtZSxcbiAgICAgICAgICBwYXRoOiBjb21tb24yLmpvaW5QYXRoU2VnbWVudHMoZGlyZWN0b3J5LCBkaXJlbnQubmFtZSwgc2V0dGluZ3MucGF0aFNlZ21lbnRTZXBhcmF0b3IpXG4gICAgICAgIH0pKTtcbiAgICAgICAgaWYgKCFzZXR0aW5ncy5mb2xsb3dTeW1ib2xpY0xpbmtzKSB7XG4gICAgICAgICAgY2FsbFN1Y2Nlc3NDYWxsYmFjayhjYWxsYmFjaywgZW50cmllcyk7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHRhc2tzID0gZW50cmllcy5tYXAoKGVudHJ5KSA9PiBtYWtlUnBsVGFza0VudHJ5KGVudHJ5LCBzZXR0aW5ncykpO1xuICAgICAgICBycGwodGFza3MsIChycGxFcnJvciwgcnBsRW50cmllcykgPT4ge1xuICAgICAgICAgIGlmIChycGxFcnJvciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY2FsbEZhaWx1cmVDYWxsYmFjayhjYWxsYmFjaywgcnBsRXJyb3IpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYWxsU3VjY2Vzc0NhbGxiYWNrKGNhbGxiYWNrLCBycGxFbnRyaWVzKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgZXhwb3J0cy5yZWFkZGlyV2l0aEZpbGVUeXBlcyA9IHJlYWRkaXJXaXRoRmlsZVR5cGVzO1xuICAgIGZ1bmN0aW9uIG1ha2VScGxUYXNrRW50cnkoZW50cnksIHNldHRpbmdzKSB7XG4gICAgICByZXR1cm4gKGRvbmUpID0+IHtcbiAgICAgICAgaWYgKCFlbnRyeS5kaXJlbnQuaXNTeW1ib2xpY0xpbmsoKSkge1xuICAgICAgICAgIGRvbmUobnVsbCwgZW50cnkpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXR0aW5ncy5mcy5zdGF0KGVudHJ5LnBhdGgsIChzdGF0RXJyb3IsIHN0YXRzKSA9PiB7XG4gICAgICAgICAgaWYgKHN0YXRFcnJvciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKHNldHRpbmdzLnRocm93RXJyb3JPbkJyb2tlblN5bWJvbGljTGluaykge1xuICAgICAgICAgICAgICBkb25lKHN0YXRFcnJvcik7XG4gICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGRvbmUobnVsbCwgZW50cnkpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBlbnRyeS5kaXJlbnQgPSB1dGlscy5mcy5jcmVhdGVEaXJlbnRGcm9tU3RhdHMoZW50cnkubmFtZSwgc3RhdHMpO1xuICAgICAgICAgIGRvbmUobnVsbCwgZW50cnkpO1xuICAgICAgICB9KTtcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlYWRkaXIoZGlyZWN0b3J5LCBzZXR0aW5ncywgY2FsbGJhY2spIHtcbiAgICAgIHNldHRpbmdzLmZzLnJlYWRkaXIoZGlyZWN0b3J5LCAocmVhZGRpckVycm9yLCBuYW1lcykgPT4ge1xuICAgICAgICBpZiAocmVhZGRpckVycm9yICE9PSBudWxsKSB7XG4gICAgICAgICAgY2FsbEZhaWx1cmVDYWxsYmFjayhjYWxsYmFjaywgcmVhZGRpckVycm9yKTtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdGFza3MgPSBuYW1lcy5tYXAoKG5hbWUpID0+IHtcbiAgICAgICAgICBjb25zdCBwYXRoMTMgPSBjb21tb24yLmpvaW5QYXRoU2VnbWVudHMoZGlyZWN0b3J5LCBuYW1lLCBzZXR0aW5ncy5wYXRoU2VnbWVudFNlcGFyYXRvcik7XG4gICAgICAgICAgcmV0dXJuIChkb25lKSA9PiB7XG4gICAgICAgICAgICBmc1N0YXQuc3RhdChwYXRoMTMsIHNldHRpbmdzLmZzU3RhdFNldHRpbmdzLCAoZXJyb3IsIHN0YXRzKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChlcnJvciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIGRvbmUoZXJyb3IpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb25zdCBlbnRyeSA9IHtcbiAgICAgICAgICAgICAgICBuYW1lLFxuICAgICAgICAgICAgICAgIHBhdGg6IHBhdGgxMyxcbiAgICAgICAgICAgICAgICBkaXJlbnQ6IHV0aWxzLmZzLmNyZWF0ZURpcmVudEZyb21TdGF0cyhuYW1lLCBzdGF0cylcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgaWYgKHNldHRpbmdzLnN0YXRzKSB7XG4gICAgICAgICAgICAgICAgZW50cnkuc3RhdHMgPSBzdGF0cztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBkb25lKG51bGwsIGVudHJ5KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH07XG4gICAgICAgIH0pO1xuICAgICAgICBycGwodGFza3MsIChycGxFcnJvciwgZW50cmllcykgPT4ge1xuICAgICAgICAgIGlmIChycGxFcnJvciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgY2FsbEZhaWx1cmVDYWxsYmFjayhjYWxsYmFjaywgcnBsRXJyb3IpO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjYWxsU3VjY2Vzc0NhbGxiYWNrKGNhbGxiYWNrLCBlbnRyaWVzKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgZXhwb3J0cy5yZWFkZGlyID0gcmVhZGRpcjtcbiAgICBmdW5jdGlvbiBjYWxsRmFpbHVyZUNhbGxiYWNrKGNhbGxiYWNrLCBlcnJvcikge1xuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjYWxsU3VjY2Vzc0NhbGxiYWNrKGNhbGxiYWNrLCByZXN1bHQpIHtcbiAgICAgIGNhbGxiYWNrKG51bGwsIHJlc3VsdCk7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLnNjYW5kaXIvb3V0L3Byb3ZpZGVycy9zeW5jLmpzXG52YXIgcmVxdWlyZV9zeW5jMiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9Abm9kZWxpYi9mcy5zY2FuZGlyL291dC9wcm92aWRlcnMvc3luYy5qc1wiKGV4cG9ydHMpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgZXhwb3J0cy5yZWFkZGlyID0gZXhwb3J0cy5yZWFkZGlyV2l0aEZpbGVUeXBlcyA9IGV4cG9ydHMucmVhZCA9IHZvaWQgMDtcbiAgICB2YXIgZnNTdGF0ID0gcmVxdWlyZV9vdXQoKTtcbiAgICB2YXIgY29uc3RhbnRzXzEgPSByZXF1aXJlX2NvbnN0YW50czMoKTtcbiAgICB2YXIgdXRpbHMgPSByZXF1aXJlX3V0aWxzNCgpO1xuICAgIHZhciBjb21tb24yID0gcmVxdWlyZV9jb21tb24oKTtcbiAgICBmdW5jdGlvbiByZWFkMyhkaXJlY3RvcnksIHNldHRpbmdzKSB7XG4gICAgICBpZiAoIXNldHRpbmdzLnN0YXRzICYmIGNvbnN0YW50c18xLklTX1NVUFBPUlRfUkVBRERJUl9XSVRIX0ZJTEVfVFlQRVMpIHtcbiAgICAgICAgcmV0dXJuIHJlYWRkaXJXaXRoRmlsZVR5cGVzKGRpcmVjdG9yeSwgc2V0dGluZ3MpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlYWRkaXIoZGlyZWN0b3J5LCBzZXR0aW5ncyk7XG4gICAgfVxuICAgIGV4cG9ydHMucmVhZCA9IHJlYWQzO1xuICAgIGZ1bmN0aW9uIHJlYWRkaXJXaXRoRmlsZVR5cGVzKGRpcmVjdG9yeSwgc2V0dGluZ3MpIHtcbiAgICAgIGNvbnN0IGRpcmVudHMgPSBzZXR0aW5ncy5mcy5yZWFkZGlyU3luYyhkaXJlY3RvcnksIHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KTtcbiAgICAgIHJldHVybiBkaXJlbnRzLm1hcCgoZGlyZW50KSA9PiB7XG4gICAgICAgIGNvbnN0IGVudHJ5ID0ge1xuICAgICAgICAgIGRpcmVudCxcbiAgICAgICAgICBuYW1lOiBkaXJlbnQubmFtZSxcbiAgICAgICAgICBwYXRoOiBjb21tb24yLmpvaW5QYXRoU2VnbWVudHMoZGlyZWN0b3J5LCBkaXJlbnQubmFtZSwgc2V0dGluZ3MucGF0aFNlZ21lbnRTZXBhcmF0b3IpXG4gICAgICAgIH07XG4gICAgICAgIGlmIChlbnRyeS5kaXJlbnQuaXNTeW1ib2xpY0xpbmsoKSAmJiBzZXR0aW5ncy5mb2xsb3dTeW1ib2xpY0xpbmtzKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXRzID0gc2V0dGluZ3MuZnMuc3RhdFN5bmMoZW50cnkucGF0aCk7XG4gICAgICAgICAgICBlbnRyeS5kaXJlbnQgPSB1dGlscy5mcy5jcmVhdGVEaXJlbnRGcm9tU3RhdHMoZW50cnkubmFtZSwgc3RhdHMpO1xuICAgICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICBpZiAoc2V0dGluZ3MudGhyb3dFcnJvck9uQnJva2VuU3ltYm9saWNMaW5rKSB7XG4gICAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW50cnk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgZXhwb3J0cy5yZWFkZGlyV2l0aEZpbGVUeXBlcyA9IHJlYWRkaXJXaXRoRmlsZVR5cGVzO1xuICAgIGZ1bmN0aW9uIHJlYWRkaXIoZGlyZWN0b3J5LCBzZXR0aW5ncykge1xuICAgICAgY29uc3QgbmFtZXMgPSBzZXR0aW5ncy5mcy5yZWFkZGlyU3luYyhkaXJlY3RvcnkpO1xuICAgICAgcmV0dXJuIG5hbWVzLm1hcCgobmFtZSkgPT4ge1xuICAgICAgICBjb25zdCBlbnRyeVBhdGggPSBjb21tb24yLmpvaW5QYXRoU2VnbWVudHMoZGlyZWN0b3J5LCBuYW1lLCBzZXR0aW5ncy5wYXRoU2VnbWVudFNlcGFyYXRvcik7XG4gICAgICAgIGNvbnN0IHN0YXRzID0gZnNTdGF0LnN0YXRTeW5jKGVudHJ5UGF0aCwgc2V0dGluZ3MuZnNTdGF0U2V0dGluZ3MpO1xuICAgICAgICBjb25zdCBlbnRyeSA9IHtcbiAgICAgICAgICBuYW1lLFxuICAgICAgICAgIHBhdGg6IGVudHJ5UGF0aCxcbiAgICAgICAgICBkaXJlbnQ6IHV0aWxzLmZzLmNyZWF0ZURpcmVudEZyb21TdGF0cyhuYW1lLCBzdGF0cylcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHNldHRpbmdzLnN0YXRzKSB7XG4gICAgICAgICAgZW50cnkuc3RhdHMgPSBzdGF0cztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW50cnk7XG4gICAgICB9KTtcbiAgICB9XG4gICAgZXhwb3J0cy5yZWFkZGlyID0gcmVhZGRpcjtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9Abm9kZWxpYi9mcy5zY2FuZGlyL291dC9hZGFwdGVycy9mcy5qc1xudmFyIHJlcXVpcmVfZnM0ID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLnNjYW5kaXIvb3V0L2FkYXB0ZXJzL2ZzLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICBleHBvcnRzLmNyZWF0ZUZpbGVTeXN0ZW1BZGFwdGVyID0gZXhwb3J0cy5GSUxFX1NZU1RFTV9BREFQVEVSID0gdm9pZCAwO1xuICAgIHZhciBmczcgPSBfX3JlcXVpcmUoXCJmc1wiKTtcbiAgICBleHBvcnRzLkZJTEVfU1lTVEVNX0FEQVBURVIgPSB7XG4gICAgICBsc3RhdDogZnM3LmxzdGF0LFxuICAgICAgc3RhdDogZnM3LnN0YXQsXG4gICAgICBsc3RhdFN5bmM6IGZzNy5sc3RhdFN5bmMsXG4gICAgICBzdGF0U3luYzogZnM3LnN0YXRTeW5jLFxuICAgICAgcmVhZGRpcjogZnM3LnJlYWRkaXIsXG4gICAgICByZWFkZGlyU3luYzogZnM3LnJlYWRkaXJTeW5jXG4gICAgfTtcbiAgICBmdW5jdGlvbiBjcmVhdGVGaWxlU3lzdGVtQWRhcHRlcihmc01ldGhvZHMpIHtcbiAgICAgIGlmIChmc01ldGhvZHMgPT09IHZvaWQgMCkge1xuICAgICAgICByZXR1cm4gZXhwb3J0cy5GSUxFX1NZU1RFTV9BREFQVEVSO1xuICAgICAgfVxuICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgZXhwb3J0cy5GSUxFX1NZU1RFTV9BREFQVEVSKSwgZnNNZXRob2RzKTtcbiAgICB9XG4gICAgZXhwb3J0cy5jcmVhdGVGaWxlU3lzdGVtQWRhcHRlciA9IGNyZWF0ZUZpbGVTeXN0ZW1BZGFwdGVyO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLnNjYW5kaXIvb3V0L3NldHRpbmdzLmpzXG52YXIgcmVxdWlyZV9zZXR0aW5nczIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvQG5vZGVsaWIvZnMuc2NhbmRpci9vdXQvc2V0dGluZ3MuanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIHZhciBwYXRoMTMgPSBfX3JlcXVpcmUoXCJwYXRoXCIpO1xuICAgIHZhciBmc1N0YXQgPSByZXF1aXJlX291dCgpO1xuICAgIHZhciBmczcgPSByZXF1aXJlX2ZzNCgpO1xuICAgIHZhciBTZXR0aW5ncyA9IGNsYXNzIHtcbiAgICAgIGNvbnN0cnVjdG9yKF9vcHRpb25zID0ge30pIHtcbiAgICAgICAgdGhpcy5fb3B0aW9ucyA9IF9vcHRpb25zO1xuICAgICAgICB0aGlzLmZvbGxvd1N5bWJvbGljTGlua3MgPSB0aGlzLl9nZXRWYWx1ZSh0aGlzLl9vcHRpb25zLmZvbGxvd1N5bWJvbGljTGlua3MsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5mcyA9IGZzNy5jcmVhdGVGaWxlU3lzdGVtQWRhcHRlcih0aGlzLl9vcHRpb25zLmZzKTtcbiAgICAgICAgdGhpcy5wYXRoU2VnbWVudFNlcGFyYXRvciA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX29wdGlvbnMucGF0aFNlZ21lbnRTZXBhcmF0b3IsIHBhdGgxMy5zZXApO1xuICAgICAgICB0aGlzLnN0YXRzID0gdGhpcy5fZ2V0VmFsdWUodGhpcy5fb3B0aW9ucy5zdGF0cywgZmFsc2UpO1xuICAgICAgICB0aGlzLnRocm93RXJyb3JPbkJyb2tlblN5bWJvbGljTGluayA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX29wdGlvbnMudGhyb3dFcnJvck9uQnJva2VuU3ltYm9saWNMaW5rLCB0cnVlKTtcbiAgICAgICAgdGhpcy5mc1N0YXRTZXR0aW5ncyA9IG5ldyBmc1N0YXQuU2V0dGluZ3Moe1xuICAgICAgICAgIGZvbGxvd1N5bWJvbGljTGluazogdGhpcy5mb2xsb3dTeW1ib2xpY0xpbmtzLFxuICAgICAgICAgIGZzOiB0aGlzLmZzLFxuICAgICAgICAgIHRocm93RXJyb3JPbkJyb2tlblN5bWJvbGljTGluazogdGhpcy50aHJvd0Vycm9yT25Ccm9rZW5TeW1ib2xpY0xpbmtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBfZ2V0VmFsdWUob3B0aW9uLCB2YWx1ZSkge1xuICAgICAgICByZXR1cm4gb3B0aW9uICE9PSBudWxsICYmIG9wdGlvbiAhPT0gdm9pZCAwID8gb3B0aW9uIDogdmFsdWU7XG4gICAgICB9XG4gICAgfTtcbiAgICBleHBvcnRzLmRlZmF1bHQgPSBTZXR0aW5ncztcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9Abm9kZWxpYi9mcy5zY2FuZGlyL291dC9pbmRleC5qc1xudmFyIHJlcXVpcmVfb3V0MiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9Abm9kZWxpYi9mcy5zY2FuZGlyL291dC9pbmRleC5qc1wiKGV4cG9ydHMpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgZXhwb3J0cy5TZXR0aW5ncyA9IGV4cG9ydHMuc2NhbmRpclN5bmMgPSBleHBvcnRzLnNjYW5kaXIgPSB2b2lkIDA7XG4gICAgdmFyIGFzeW5jID0gcmVxdWlyZV9hc3luYzIoKTtcbiAgICB2YXIgc3luYyA9IHJlcXVpcmVfc3luYzIoKTtcbiAgICB2YXIgc2V0dGluZ3NfMSA9IHJlcXVpcmVfc2V0dGluZ3MyKCk7XG4gICAgZXhwb3J0cy5TZXR0aW5ncyA9IHNldHRpbmdzXzEuZGVmYXVsdDtcbiAgICBmdW5jdGlvbiBzY2FuZGlyKHBhdGgxMywgb3B0aW9uc09yU2V0dGluZ3NPckNhbGxiYWNrLCBjYWxsYmFjaykge1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb25zT3JTZXR0aW5nc09yQ2FsbGJhY2sgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBhc3luYy5yZWFkKHBhdGgxMywgZ2V0U2V0dGluZ3MoKSwgb3B0aW9uc09yU2V0dGluZ3NPckNhbGxiYWNrKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgYXN5bmMucmVhZChwYXRoMTMsIGdldFNldHRpbmdzKG9wdGlvbnNPclNldHRpbmdzT3JDYWxsYmFjayksIGNhbGxiYWNrKTtcbiAgICB9XG4gICAgZXhwb3J0cy5zY2FuZGlyID0gc2NhbmRpcjtcbiAgICBmdW5jdGlvbiBzY2FuZGlyU3luYyhwYXRoMTMsIG9wdGlvbnNPclNldHRpbmdzKSB7XG4gICAgICBjb25zdCBzZXR0aW5ncyA9IGdldFNldHRpbmdzKG9wdGlvbnNPclNldHRpbmdzKTtcbiAgICAgIHJldHVybiBzeW5jLnJlYWQocGF0aDEzLCBzZXR0aW5ncyk7XG4gICAgfVxuICAgIGV4cG9ydHMuc2NhbmRpclN5bmMgPSBzY2FuZGlyU3luYztcbiAgICBmdW5jdGlvbiBnZXRTZXR0aW5ncyhzZXR0aW5nc09yT3B0aW9ucyA9IHt9KSB7XG4gICAgICBpZiAoc2V0dGluZ3NPck9wdGlvbnMgaW5zdGFuY2VvZiBzZXR0aW5nc18xLmRlZmF1bHQpIHtcbiAgICAgICAgcmV0dXJuIHNldHRpbmdzT3JPcHRpb25zO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG5ldyBzZXR0aW5nc18xLmRlZmF1bHQoc2V0dGluZ3NPck9wdGlvbnMpO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9yZXVzaWZ5L3JldXNpZnkuanNcbnZhciByZXF1aXJlX3JldXNpZnkgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvcmV1c2lmeS9yZXVzaWZ5LmpzXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgZnVuY3Rpb24gcmV1c2lmeShDb25zdHJ1Y3Rvcikge1xuICAgICAgdmFyIGhlYWQgPSBuZXcgQ29uc3RydWN0b3IoKTtcbiAgICAgIHZhciB0YWlsID0gaGVhZDtcbiAgICAgIGZ1bmN0aW9uIGdldCgpIHtcbiAgICAgICAgdmFyIGN1cnJlbnQgPSBoZWFkO1xuICAgICAgICBpZiAoY3VycmVudC5uZXh0KSB7XG4gICAgICAgICAgaGVhZCA9IGN1cnJlbnQubmV4dDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBoZWFkID0gbmV3IENvbnN0cnVjdG9yKCk7XG4gICAgICAgICAgdGFpbCA9IGhlYWQ7XG4gICAgICAgIH1cbiAgICAgICAgY3VycmVudC5uZXh0ID0gbnVsbDtcbiAgICAgICAgcmV0dXJuIGN1cnJlbnQ7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiByZWxlYXNlKG9iaikge1xuICAgICAgICB0YWlsLm5leHQgPSBvYmo7XG4gICAgICAgIHRhaWwgPSBvYmo7XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBnZXQsXG4gICAgICAgIHJlbGVhc2VcbiAgICAgIH07XG4gICAgfVxuICAgIG1vZHVsZS5leHBvcnRzID0gcmV1c2lmeTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9mYXN0cS9xdWV1ZS5qc1xudmFyIHJlcXVpcmVfcXVldWUgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZmFzdHEvcXVldWUuanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgcmV1c2lmeSA9IHJlcXVpcmVfcmV1c2lmeSgpO1xuICAgIGZ1bmN0aW9uIGZhc3RxdWV1ZShjb250ZXh0LCB3b3JrZXIsIF9jb25jdXJyZW5jeSkge1xuICAgICAgaWYgKHR5cGVvZiBjb250ZXh0ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgX2NvbmN1cnJlbmN5ID0gd29ya2VyO1xuICAgICAgICB3b3JrZXIgPSBjb250ZXh0O1xuICAgICAgICBjb250ZXh0ID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIGlmICghKF9jb25jdXJyZW5jeSA+PSAxKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJmYXN0cXVldWUgY29uY3VycmVuY3kgbXVzdCBiZSBlcXVhbCB0byBvciBncmVhdGVyIHRoYW4gMVwiKTtcbiAgICAgIH1cbiAgICAgIHZhciBjYWNoZTMgPSByZXVzaWZ5KFRhc2spO1xuICAgICAgdmFyIHF1ZXVlSGVhZCA9IG51bGw7XG4gICAgICB2YXIgcXVldWVUYWlsID0gbnVsbDtcbiAgICAgIHZhciBfcnVubmluZyA9IDA7XG4gICAgICB2YXIgZXJyb3JIYW5kbGVyID0gbnVsbDtcbiAgICAgIHZhciBzZWxmID0ge1xuICAgICAgICBwdXNoOiBwdXNoMixcbiAgICAgICAgZHJhaW46IG5vb3AyLFxuICAgICAgICBzYXR1cmF0ZWQ6IG5vb3AyLFxuICAgICAgICBwYXVzZSxcbiAgICAgICAgcGF1c2VkOiBmYWxzZSxcbiAgICAgICAgZ2V0IGNvbmN1cnJlbmN5KCkge1xuICAgICAgICAgIHJldHVybiBfY29uY3VycmVuY3k7XG4gICAgICAgIH0sXG4gICAgICAgIHNldCBjb25jdXJyZW5jeSh2YWx1ZSkge1xuICAgICAgICAgIGlmICghKHZhbHVlID49IDEpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJmYXN0cXVldWUgY29uY3VycmVuY3kgbXVzdCBiZSBlcXVhbCB0byBvciBncmVhdGVyIHRoYW4gMVwiKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgX2NvbmN1cnJlbmN5ID0gdmFsdWU7XG4gICAgICAgICAgaWYgKHNlbGYucGF1c2VkKSByZXR1cm47XG4gICAgICAgICAgZm9yICg7IHF1ZXVlSGVhZCAmJiBfcnVubmluZyA8IF9jb25jdXJyZW5jeTsgKSB7XG4gICAgICAgICAgICBfcnVubmluZysrO1xuICAgICAgICAgICAgcmVsZWFzZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgcnVubmluZyxcbiAgICAgICAgcmVzdW1lLFxuICAgICAgICBpZGxlLFxuICAgICAgICBsZW5ndGgsXG4gICAgICAgIGdldFF1ZXVlLFxuICAgICAgICB1bnNoaWZ0LFxuICAgICAgICBlbXB0eTogbm9vcDIsXG4gICAgICAgIGtpbGwsXG4gICAgICAgIGtpbGxBbmREcmFpbixcbiAgICAgICAgZXJyb3JcbiAgICAgIH07XG4gICAgICByZXR1cm4gc2VsZjtcbiAgICAgIGZ1bmN0aW9uIHJ1bm5pbmcoKSB7XG4gICAgICAgIHJldHVybiBfcnVubmluZztcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIHBhdXNlKCkge1xuICAgICAgICBzZWxmLnBhdXNlZCA9IHRydWU7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBsZW5ndGgoKSB7XG4gICAgICAgIHZhciBjdXJyZW50ID0gcXVldWVIZWFkO1xuICAgICAgICB2YXIgY291bnRlciA9IDA7XG4gICAgICAgIHdoaWxlIChjdXJyZW50KSB7XG4gICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgICAgICAgICBjb3VudGVyKys7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNvdW50ZXI7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBnZXRRdWV1ZSgpIHtcbiAgICAgICAgdmFyIGN1cnJlbnQgPSBxdWV1ZUhlYWQ7XG4gICAgICAgIHZhciB0YXNrcyA9IFtdO1xuICAgICAgICB3aGlsZSAoY3VycmVudCkge1xuICAgICAgICAgIHRhc2tzLnB1c2goY3VycmVudC52YWx1ZSk7XG4gICAgICAgICAgY3VycmVudCA9IGN1cnJlbnQubmV4dDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGFza3M7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiByZXN1bWUoKSB7XG4gICAgICAgIGlmICghc2VsZi5wYXVzZWQpIHJldHVybjtcbiAgICAgICAgc2VsZi5wYXVzZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHF1ZXVlSGVhZCA9PT0gbnVsbCkge1xuICAgICAgICAgIF9ydW5uaW5nKys7XG4gICAgICAgICAgcmVsZWFzZSgpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBmb3IgKDsgcXVldWVIZWFkICYmIF9ydW5uaW5nIDwgX2NvbmN1cnJlbmN5OyApIHtcbiAgICAgICAgICBfcnVubmluZysrO1xuICAgICAgICAgIHJlbGVhc2UoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZnVuY3Rpb24gaWRsZSgpIHtcbiAgICAgICAgcmV0dXJuIF9ydW5uaW5nID09PSAwICYmIHNlbGYubGVuZ3RoKCkgPT09IDA7XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBwdXNoMih2YWx1ZSwgZG9uZSkge1xuICAgICAgICB2YXIgY3VycmVudCA9IGNhY2hlMy5nZXQoKTtcbiAgICAgICAgY3VycmVudC5jb250ZXh0ID0gY29udGV4dDtcbiAgICAgICAgY3VycmVudC5yZWxlYXNlID0gcmVsZWFzZTtcbiAgICAgICAgY3VycmVudC52YWx1ZSA9IHZhbHVlO1xuICAgICAgICBjdXJyZW50LmNhbGxiYWNrID0gZG9uZSB8fCBub29wMjtcbiAgICAgICAgY3VycmVudC5lcnJvckhhbmRsZXIgPSBlcnJvckhhbmRsZXI7XG4gICAgICAgIGlmIChfcnVubmluZyA+PSBfY29uY3VycmVuY3kgfHwgc2VsZi5wYXVzZWQpIHtcbiAgICAgICAgICBpZiAocXVldWVUYWlsKSB7XG4gICAgICAgICAgICBxdWV1ZVRhaWwubmV4dCA9IGN1cnJlbnQ7XG4gICAgICAgICAgICBxdWV1ZVRhaWwgPSBjdXJyZW50O1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBxdWV1ZUhlYWQgPSBjdXJyZW50O1xuICAgICAgICAgICAgcXVldWVUYWlsID0gY3VycmVudDtcbiAgICAgICAgICAgIHNlbGYuc2F0dXJhdGVkKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIF9ydW5uaW5nKys7XG4gICAgICAgICAgd29ya2VyLmNhbGwoY29udGV4dCwgY3VycmVudC52YWx1ZSwgY3VycmVudC53b3JrZWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiB1bnNoaWZ0KHZhbHVlLCBkb25lKSB7XG4gICAgICAgIHZhciBjdXJyZW50ID0gY2FjaGUzLmdldCgpO1xuICAgICAgICBjdXJyZW50LmNvbnRleHQgPSBjb250ZXh0O1xuICAgICAgICBjdXJyZW50LnJlbGVhc2UgPSByZWxlYXNlO1xuICAgICAgICBjdXJyZW50LnZhbHVlID0gdmFsdWU7XG4gICAgICAgIGN1cnJlbnQuY2FsbGJhY2sgPSBkb25lIHx8IG5vb3AyO1xuICAgICAgICBjdXJyZW50LmVycm9ySGFuZGxlciA9IGVycm9ySGFuZGxlcjtcbiAgICAgICAgaWYgKF9ydW5uaW5nID49IF9jb25jdXJyZW5jeSB8fCBzZWxmLnBhdXNlZCkge1xuICAgICAgICAgIGlmIChxdWV1ZUhlYWQpIHtcbiAgICAgICAgICAgIGN1cnJlbnQubmV4dCA9IHF1ZXVlSGVhZDtcbiAgICAgICAgICAgIHF1ZXVlSGVhZCA9IGN1cnJlbnQ7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHF1ZXVlSGVhZCA9IGN1cnJlbnQ7XG4gICAgICAgICAgICBxdWV1ZVRhaWwgPSBjdXJyZW50O1xuICAgICAgICAgICAgc2VsZi5zYXR1cmF0ZWQoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgX3J1bm5pbmcrKztcbiAgICAgICAgICB3b3JrZXIuY2FsbChjb250ZXh0LCBjdXJyZW50LnZhbHVlLCBjdXJyZW50LndvcmtlZCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIHJlbGVhc2UoaG9sZGVyKSB7XG4gICAgICAgIGlmIChob2xkZXIpIHtcbiAgICAgICAgICBjYWNoZTMucmVsZWFzZShob2xkZXIpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBuZXh0ID0gcXVldWVIZWFkO1xuICAgICAgICBpZiAobmV4dCAmJiBfcnVubmluZyA8PSBfY29uY3VycmVuY3kpIHtcbiAgICAgICAgICBpZiAoIXNlbGYucGF1c2VkKSB7XG4gICAgICAgICAgICBpZiAocXVldWVUYWlsID09PSBxdWV1ZUhlYWQpIHtcbiAgICAgICAgICAgICAgcXVldWVUYWlsID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHF1ZXVlSGVhZCA9IG5leHQubmV4dDtcbiAgICAgICAgICAgIG5leHQubmV4dCA9IG51bGw7XG4gICAgICAgICAgICB3b3JrZXIuY2FsbChjb250ZXh0LCBuZXh0LnZhbHVlLCBuZXh0LndvcmtlZCk7XG4gICAgICAgICAgICBpZiAocXVldWVUYWlsID09PSBudWxsKSB7XG4gICAgICAgICAgICAgIHNlbGYuZW1wdHkoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgX3J1bm5pbmctLTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoLS1fcnVubmluZyA9PT0gMCkge1xuICAgICAgICAgIHNlbGYuZHJhaW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgZnVuY3Rpb24ga2lsbCgpIHtcbiAgICAgICAgcXVldWVIZWFkID0gbnVsbDtcbiAgICAgICAgcXVldWVUYWlsID0gbnVsbDtcbiAgICAgICAgc2VsZi5kcmFpbiA9IG5vb3AyO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24ga2lsbEFuZERyYWluKCkge1xuICAgICAgICBxdWV1ZUhlYWQgPSBudWxsO1xuICAgICAgICBxdWV1ZVRhaWwgPSBudWxsO1xuICAgICAgICBzZWxmLmRyYWluKCk7XG4gICAgICAgIHNlbGYuZHJhaW4gPSBub29wMjtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGVycm9yKGhhbmRsZXIpIHtcbiAgICAgICAgZXJyb3JIYW5kbGVyID0gaGFuZGxlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gbm9vcDIoKSB7XG4gICAgfVxuICAgIGZ1bmN0aW9uIFRhc2soKSB7XG4gICAgICB0aGlzLnZhbHVlID0gbnVsbDtcbiAgICAgIHRoaXMuY2FsbGJhY2sgPSBub29wMjtcbiAgICAgIHRoaXMubmV4dCA9IG51bGw7XG4gICAgICB0aGlzLnJlbGVhc2UgPSBub29wMjtcbiAgICAgIHRoaXMuY29udGV4dCA9IG51bGw7XG4gICAgICB0aGlzLmVycm9ySGFuZGxlciA9IG51bGw7XG4gICAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgICB0aGlzLndvcmtlZCA9IGZ1bmN0aW9uIHdvcmtlZChlcnIsIHJlc3VsdCkge1xuICAgICAgICB2YXIgY2FsbGJhY2sgPSBzZWxmLmNhbGxiYWNrO1xuICAgICAgICB2YXIgZXJyb3JIYW5kbGVyID0gc2VsZi5lcnJvckhhbmRsZXI7XG4gICAgICAgIHZhciB2YWwgPSBzZWxmLnZhbHVlO1xuICAgICAgICBzZWxmLnZhbHVlID0gbnVsbDtcbiAgICAgICAgc2VsZi5jYWxsYmFjayA9IG5vb3AyO1xuICAgICAgICBpZiAoc2VsZi5lcnJvckhhbmRsZXIpIHtcbiAgICAgICAgICBlcnJvckhhbmRsZXIoZXJyLCB2YWwpO1xuICAgICAgICB9XG4gICAgICAgIGNhbGxiYWNrLmNhbGwoc2VsZi5jb250ZXh0LCBlcnIsIHJlc3VsdCk7XG4gICAgICAgIHNlbGYucmVsZWFzZShzZWxmKTtcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIHF1ZXVlQXNQcm9taXNlZChjb250ZXh0LCB3b3JrZXIsIF9jb25jdXJyZW5jeSkge1xuICAgICAgaWYgKHR5cGVvZiBjb250ZXh0ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgX2NvbmN1cnJlbmN5ID0gd29ya2VyO1xuICAgICAgICB3b3JrZXIgPSBjb250ZXh0O1xuICAgICAgICBjb250ZXh0ID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIGFzeW5jV3JhcHBlcihhcmcsIGNiKSB7XG4gICAgICAgIHdvcmtlci5jYWxsKHRoaXMsIGFyZykudGhlbihmdW5jdGlvbihyZXMpIHtcbiAgICAgICAgICBjYihudWxsLCByZXMpO1xuICAgICAgICB9LCBjYik7XG4gICAgICB9XG4gICAgICB2YXIgcXVldWUgPSBmYXN0cXVldWUoY29udGV4dCwgYXN5bmNXcmFwcGVyLCBfY29uY3VycmVuY3kpO1xuICAgICAgdmFyIHB1c2hDYiA9IHF1ZXVlLnB1c2g7XG4gICAgICB2YXIgdW5zaGlmdENiID0gcXVldWUudW5zaGlmdDtcbiAgICAgIHF1ZXVlLnB1c2ggPSBwdXNoMjtcbiAgICAgIHF1ZXVlLnVuc2hpZnQgPSB1bnNoaWZ0O1xuICAgICAgcXVldWUuZHJhaW5lZCA9IGRyYWluZWQ7XG4gICAgICByZXR1cm4gcXVldWU7XG4gICAgICBmdW5jdGlvbiBwdXNoMih2YWx1ZSkge1xuICAgICAgICB2YXIgcCA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUzLCByZWplY3QpIHtcbiAgICAgICAgICBwdXNoQ2IodmFsdWUsIGZ1bmN0aW9uKGVyciwgcmVzdWx0KSB7XG4gICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNvbHZlMyhyZXN1bHQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcC5jYXRjaChub29wMik7XG4gICAgICAgIHJldHVybiBwO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gdW5zaGlmdCh2YWx1ZSkge1xuICAgICAgICB2YXIgcCA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUzLCByZWplY3QpIHtcbiAgICAgICAgICB1bnNoaWZ0Q2IodmFsdWUsIGZ1bmN0aW9uKGVyciwgcmVzdWx0KSB7XG4gICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXNvbHZlMyhyZXN1bHQpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgICAgcC5jYXRjaChub29wMik7XG4gICAgICAgIHJldHVybiBwO1xuICAgICAgfVxuICAgICAgZnVuY3Rpb24gZHJhaW5lZCgpIHtcbiAgICAgICAgaWYgKHF1ZXVlLmlkbGUoKSkge1xuICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlMykge1xuICAgICAgICAgICAgcmVzb2x2ZTMoKTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgcHJldmlvdXNEcmFpbiA9IHF1ZXVlLmRyYWluO1xuICAgICAgICB2YXIgcCA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uKHJlc29sdmUzKSB7XG4gICAgICAgICAgcXVldWUuZHJhaW4gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgICAgIHByZXZpb3VzRHJhaW4oKTtcbiAgICAgICAgICAgIHJlc29sdmUzKCk7XG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBwO1xuICAgICAgfVxuICAgIH1cbiAgICBtb2R1bGUuZXhwb3J0cyA9IGZhc3RxdWV1ZTtcbiAgICBtb2R1bGUuZXhwb3J0cy5wcm9taXNlID0gcXVldWVBc1Byb21pc2VkO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLndhbGsvb3V0L3JlYWRlcnMvY29tbW9uLmpzXG52YXIgcmVxdWlyZV9jb21tb24yID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLndhbGsvb3V0L3JlYWRlcnMvY29tbW9uLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICBleHBvcnRzLmpvaW5QYXRoU2VnbWVudHMgPSBleHBvcnRzLnJlcGxhY2VQYXRoU2VnbWVudFNlcGFyYXRvciA9IGV4cG9ydHMuaXNBcHBsaWVkRmlsdGVyID0gZXhwb3J0cy5pc0ZhdGFsRXJyb3IgPSB2b2lkIDA7XG4gICAgZnVuY3Rpb24gaXNGYXRhbEVycm9yKHNldHRpbmdzLCBlcnJvcikge1xuICAgICAgaWYgKHNldHRpbmdzLmVycm9yRmlsdGVyID09PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuICFzZXR0aW5ncy5lcnJvckZpbHRlcihlcnJvcik7XG4gICAgfVxuICAgIGV4cG9ydHMuaXNGYXRhbEVycm9yID0gaXNGYXRhbEVycm9yO1xuICAgIGZ1bmN0aW9uIGlzQXBwbGllZEZpbHRlcihmaWx0ZXIyLCB2YWx1ZSkge1xuICAgICAgcmV0dXJuIGZpbHRlcjIgPT09IG51bGwgfHwgZmlsdGVyMih2YWx1ZSk7XG4gICAgfVxuICAgIGV4cG9ydHMuaXNBcHBsaWVkRmlsdGVyID0gaXNBcHBsaWVkRmlsdGVyO1xuICAgIGZ1bmN0aW9uIHJlcGxhY2VQYXRoU2VnbWVudFNlcGFyYXRvcihmaWxlcGF0aCwgc2VwYXJhdG9yKSB7XG4gICAgICByZXR1cm4gZmlsZXBhdGguc3BsaXQoL1svXFxcXF0vKS5qb2luKHNlcGFyYXRvcik7XG4gICAgfVxuICAgIGV4cG9ydHMucmVwbGFjZVBhdGhTZWdtZW50U2VwYXJhdG9yID0gcmVwbGFjZVBhdGhTZWdtZW50U2VwYXJhdG9yO1xuICAgIGZ1bmN0aW9uIGpvaW5QYXRoU2VnbWVudHMoYSwgYiwgc2VwYXJhdG9yKSB7XG4gICAgICBpZiAoYSA9PT0gXCJcIikge1xuICAgICAgICByZXR1cm4gYjtcbiAgICAgIH1cbiAgICAgIGlmIChhLmVuZHNXaXRoKHNlcGFyYXRvcikpIHtcbiAgICAgICAgcmV0dXJuIGEgKyBiO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGEgKyBzZXBhcmF0b3IgKyBiO1xuICAgIH1cbiAgICBleHBvcnRzLmpvaW5QYXRoU2VnbWVudHMgPSBqb2luUGF0aFNlZ21lbnRzO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLndhbGsvb3V0L3JlYWRlcnMvcmVhZGVyLmpzXG52YXIgcmVxdWlyZV9yZWFkZXIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvQG5vZGVsaWIvZnMud2Fsay9vdXQvcmVhZGVycy9yZWFkZXIuanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIHZhciBjb21tb24yID0gcmVxdWlyZV9jb21tb24yKCk7XG4gICAgdmFyIFJlYWRlciA9IGNsYXNzIHtcbiAgICAgIGNvbnN0cnVjdG9yKF9yb290LCBfc2V0dGluZ3MpIHtcbiAgICAgICAgdGhpcy5fcm9vdCA9IF9yb290O1xuICAgICAgICB0aGlzLl9zZXR0aW5ncyA9IF9zZXR0aW5ncztcbiAgICAgICAgdGhpcy5fcm9vdCA9IGNvbW1vbjIucmVwbGFjZVBhdGhTZWdtZW50U2VwYXJhdG9yKF9yb290LCBfc2V0dGluZ3MucGF0aFNlZ21lbnRTZXBhcmF0b3IpO1xuICAgICAgfVxuICAgIH07XG4gICAgZXhwb3J0cy5kZWZhdWx0ID0gUmVhZGVyO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLndhbGsvb3V0L3JlYWRlcnMvYXN5bmMuanNcbnZhciByZXF1aXJlX2FzeW5jMyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9Abm9kZWxpYi9mcy53YWxrL291dC9yZWFkZXJzL2FzeW5jLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB2YXIgZXZlbnRzXzEgPSBfX3JlcXVpcmUoXCJldmVudHNcIik7XG4gICAgdmFyIGZzU2NhbmRpciA9IHJlcXVpcmVfb3V0MigpO1xuICAgIHZhciBmYXN0cSA9IHJlcXVpcmVfcXVldWUoKTtcbiAgICB2YXIgY29tbW9uMiA9IHJlcXVpcmVfY29tbW9uMigpO1xuICAgIHZhciByZWFkZXJfMSA9IHJlcXVpcmVfcmVhZGVyKCk7XG4gICAgdmFyIEFzeW5jUmVhZGVyID0gY2xhc3MgZXh0ZW5kcyByZWFkZXJfMS5kZWZhdWx0IHtcbiAgICAgIGNvbnN0cnVjdG9yKF9yb290LCBfc2V0dGluZ3MpIHtcbiAgICAgICAgc3VwZXIoX3Jvb3QsIF9zZXR0aW5ncyk7XG4gICAgICAgIHRoaXMuX3NldHRpbmdzID0gX3NldHRpbmdzO1xuICAgICAgICB0aGlzLl9zY2FuZGlyID0gZnNTY2FuZGlyLnNjYW5kaXI7XG4gICAgICAgIHRoaXMuX2VtaXR0ZXIgPSBuZXcgZXZlbnRzXzEuRXZlbnRFbWl0dGVyKCk7XG4gICAgICAgIHRoaXMuX3F1ZXVlID0gZmFzdHEodGhpcy5fd29ya2VyLmJpbmQodGhpcyksIHRoaXMuX3NldHRpbmdzLmNvbmN1cnJlbmN5KTtcbiAgICAgICAgdGhpcy5faXNGYXRhbEVycm9yID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2lzRGVzdHJveWVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX3F1ZXVlLmRyYWluID0gKCkgPT4ge1xuICAgICAgICAgIGlmICghdGhpcy5faXNGYXRhbEVycm9yKSB7XG4gICAgICAgICAgICB0aGlzLl9lbWl0dGVyLmVtaXQoXCJlbmRcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgcmVhZCgpIHtcbiAgICAgICAgdGhpcy5faXNGYXRhbEVycm9yID0gZmFsc2U7XG4gICAgICAgIHRoaXMuX2lzRGVzdHJveWVkID0gZmFsc2U7XG4gICAgICAgIHNldEltbWVkaWF0ZSgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fcHVzaFRvUXVldWUodGhpcy5fcm9vdCwgdGhpcy5fc2V0dGluZ3MuYmFzZVBhdGgpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2VtaXR0ZXI7XG4gICAgICB9XG4gICAgICBnZXQgaXNEZXN0cm95ZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9pc0Rlc3Ryb3llZDtcbiAgICAgIH1cbiAgICAgIGRlc3Ryb3koKSB7XG4gICAgICAgIGlmICh0aGlzLl9pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoZSByZWFkZXIgaXMgYWxyZWFkeSBkZXN0cm95ZWRcIik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNEZXN0cm95ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9xdWV1ZS5raWxsQW5kRHJhaW4oKTtcbiAgICAgIH1cbiAgICAgIG9uRW50cnkoY2FsbGJhY2spIHtcbiAgICAgICAgdGhpcy5fZW1pdHRlci5vbihcImVudHJ5XCIsIGNhbGxiYWNrKTtcbiAgICAgIH1cbiAgICAgIG9uRXJyb3IoY2FsbGJhY2spIHtcbiAgICAgICAgdGhpcy5fZW1pdHRlci5vbmNlKFwiZXJyb3JcIiwgY2FsbGJhY2spO1xuICAgICAgfVxuICAgICAgb25FbmQoY2FsbGJhY2spIHtcbiAgICAgICAgdGhpcy5fZW1pdHRlci5vbmNlKFwiZW5kXCIsIGNhbGxiYWNrKTtcbiAgICAgIH1cbiAgICAgIF9wdXNoVG9RdWV1ZShkaXJlY3RvcnksIGJhc2UpIHtcbiAgICAgICAgY29uc3QgcXVldWVJdGVtID0geyBkaXJlY3RvcnksIGJhc2UgfTtcbiAgICAgICAgdGhpcy5fcXVldWUucHVzaChxdWV1ZUl0ZW0sIChlcnJvcikgPT4ge1xuICAgICAgICAgIGlmIChlcnJvciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5faGFuZGxlRXJyb3IoZXJyb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBfd29ya2VyKGl0ZW0sIGRvbmUpIHtcbiAgICAgICAgdGhpcy5fc2NhbmRpcihpdGVtLmRpcmVjdG9yeSwgdGhpcy5fc2V0dGluZ3MuZnNTY2FuZGlyU2V0dGluZ3MsIChlcnJvciwgZW50cmllcykgPT4ge1xuICAgICAgICAgIGlmIChlcnJvciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgZG9uZShlcnJvciwgdm9pZCAwKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVFbnRyeShlbnRyeSwgaXRlbS5iYXNlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZG9uZShudWxsLCB2b2lkIDApO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIF9oYW5kbGVFcnJvcihlcnJvcikge1xuICAgICAgICBpZiAodGhpcy5faXNEZXN0cm95ZWQgfHwgIWNvbW1vbjIuaXNGYXRhbEVycm9yKHRoaXMuX3NldHRpbmdzLCBlcnJvcikpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5faXNGYXRhbEVycm9yID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5faXNEZXN0cm95ZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLl9lbWl0dGVyLmVtaXQoXCJlcnJvclwiLCBlcnJvcik7XG4gICAgICB9XG4gICAgICBfaGFuZGxlRW50cnkoZW50cnksIGJhc2UpIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzRGVzdHJveWVkIHx8IHRoaXMuX2lzRmF0YWxFcnJvcikge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBmdWxscGF0aCA9IGVudHJ5LnBhdGg7XG4gICAgICAgIGlmIChiYXNlICE9PSB2b2lkIDApIHtcbiAgICAgICAgICBlbnRyeS5wYXRoID0gY29tbW9uMi5qb2luUGF0aFNlZ21lbnRzKGJhc2UsIGVudHJ5Lm5hbWUsIHRoaXMuX3NldHRpbmdzLnBhdGhTZWdtZW50U2VwYXJhdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29tbW9uMi5pc0FwcGxpZWRGaWx0ZXIodGhpcy5fc2V0dGluZ3MuZW50cnlGaWx0ZXIsIGVudHJ5KSkge1xuICAgICAgICAgIHRoaXMuX2VtaXRFbnRyeShlbnRyeSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVudHJ5LmRpcmVudC5pc0RpcmVjdG9yeSgpICYmIGNvbW1vbjIuaXNBcHBsaWVkRmlsdGVyKHRoaXMuX3NldHRpbmdzLmRlZXBGaWx0ZXIsIGVudHJ5KSkge1xuICAgICAgICAgIHRoaXMuX3B1c2hUb1F1ZXVlKGZ1bGxwYXRoLCBiYXNlID09PSB2b2lkIDAgPyB2b2lkIDAgOiBlbnRyeS5wYXRoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgX2VtaXRFbnRyeShlbnRyeSkge1xuICAgICAgICB0aGlzLl9lbWl0dGVyLmVtaXQoXCJlbnRyeVwiLCBlbnRyeSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBleHBvcnRzLmRlZmF1bHQgPSBBc3luY1JlYWRlcjtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9Abm9kZWxpYi9mcy53YWxrL291dC9wcm92aWRlcnMvYXN5bmMuanNcbnZhciByZXF1aXJlX2FzeW5jNCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9Abm9kZWxpYi9mcy53YWxrL291dC9wcm92aWRlcnMvYXN5bmMuanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIHZhciBhc3luY18xID0gcmVxdWlyZV9hc3luYzMoKTtcbiAgICB2YXIgQXN5bmNQcm92aWRlciA9IGNsYXNzIHtcbiAgICAgIGNvbnN0cnVjdG9yKF9yb290LCBfc2V0dGluZ3MpIHtcbiAgICAgICAgdGhpcy5fcm9vdCA9IF9yb290O1xuICAgICAgICB0aGlzLl9zZXR0aW5ncyA9IF9zZXR0aW5ncztcbiAgICAgICAgdGhpcy5fcmVhZGVyID0gbmV3IGFzeW5jXzEuZGVmYXVsdCh0aGlzLl9yb290LCB0aGlzLl9zZXR0aW5ncyk7XG4gICAgICAgIHRoaXMuX3N0b3JhZ2UgPSBbXTtcbiAgICAgIH1cbiAgICAgIHJlYWQoY2FsbGJhY2spIHtcbiAgICAgICAgdGhpcy5fcmVhZGVyLm9uRXJyb3IoKGVycm9yKSA9PiB7XG4gICAgICAgICAgY2FsbEZhaWx1cmVDYWxsYmFjayhjYWxsYmFjaywgZXJyb3IpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5fcmVhZGVyLm9uRW50cnkoKGVudHJ5KSA9PiB7XG4gICAgICAgICAgdGhpcy5fc3RvcmFnZS5wdXNoKGVudHJ5KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3JlYWRlci5vbkVuZCgoKSA9PiB7XG4gICAgICAgICAgY2FsbFN1Y2Nlc3NDYWxsYmFjayhjYWxsYmFjaywgdGhpcy5fc3RvcmFnZSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9yZWFkZXIucmVhZCgpO1xuICAgICAgfVxuICAgIH07XG4gICAgZXhwb3J0cy5kZWZhdWx0ID0gQXN5bmNQcm92aWRlcjtcbiAgICBmdW5jdGlvbiBjYWxsRmFpbHVyZUNhbGxiYWNrKGNhbGxiYWNrLCBlcnJvcikge1xuICAgICAgY2FsbGJhY2soZXJyb3IpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjYWxsU3VjY2Vzc0NhbGxiYWNrKGNhbGxiYWNrLCBlbnRyaWVzKSB7XG4gICAgICBjYWxsYmFjayhudWxsLCBlbnRyaWVzKTtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvQG5vZGVsaWIvZnMud2Fsay9vdXQvcHJvdmlkZXJzL3N0cmVhbS5qc1xudmFyIHJlcXVpcmVfc3RyZWFtMiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9Abm9kZWxpYi9mcy53YWxrL291dC9wcm92aWRlcnMvc3RyZWFtLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB2YXIgc3RyZWFtXzEgPSBfX3JlcXVpcmUoXCJzdHJlYW1cIik7XG4gICAgdmFyIGFzeW5jXzEgPSByZXF1aXJlX2FzeW5jMygpO1xuICAgIHZhciBTdHJlYW1Qcm92aWRlciA9IGNsYXNzIHtcbiAgICAgIGNvbnN0cnVjdG9yKF9yb290LCBfc2V0dGluZ3MpIHtcbiAgICAgICAgdGhpcy5fcm9vdCA9IF9yb290O1xuICAgICAgICB0aGlzLl9zZXR0aW5ncyA9IF9zZXR0aW5ncztcbiAgICAgICAgdGhpcy5fcmVhZGVyID0gbmV3IGFzeW5jXzEuZGVmYXVsdCh0aGlzLl9yb290LCB0aGlzLl9zZXR0aW5ncyk7XG4gICAgICAgIHRoaXMuX3N0cmVhbSA9IG5ldyBzdHJlYW1fMS5SZWFkYWJsZSh7XG4gICAgICAgICAgb2JqZWN0TW9kZTogdHJ1ZSxcbiAgICAgICAgICByZWFkOiAoKSA9PiB7XG4gICAgICAgICAgfSxcbiAgICAgICAgICBkZXN0cm95OiAoKSA9PiB7XG4gICAgICAgICAgICBpZiAoIXRoaXMuX3JlYWRlci5pc0Rlc3Ryb3llZCkge1xuICAgICAgICAgICAgICB0aGlzLl9yZWFkZXIuZGVzdHJveSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICByZWFkKCkge1xuICAgICAgICB0aGlzLl9yZWFkZXIub25FcnJvcigoZXJyb3IpID0+IHtcbiAgICAgICAgICB0aGlzLl9zdHJlYW0uZW1pdChcImVycm9yXCIsIGVycm9yKTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3JlYWRlci5vbkVudHJ5KChlbnRyeSkgPT4ge1xuICAgICAgICAgIHRoaXMuX3N0cmVhbS5wdXNoKGVudHJ5KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuX3JlYWRlci5vbkVuZCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fc3RyZWFtLnB1c2gobnVsbCk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLl9yZWFkZXIucmVhZCgpO1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RyZWFtO1xuICAgICAgfVxuICAgIH07XG4gICAgZXhwb3J0cy5kZWZhdWx0ID0gU3RyZWFtUHJvdmlkZXI7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvQG5vZGVsaWIvZnMud2Fsay9vdXQvcmVhZGVycy9zeW5jLmpzXG52YXIgcmVxdWlyZV9zeW5jMyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9Abm9kZWxpYi9mcy53YWxrL291dC9yZWFkZXJzL3N5bmMuanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIHZhciBmc1NjYW5kaXIgPSByZXF1aXJlX291dDIoKTtcbiAgICB2YXIgY29tbW9uMiA9IHJlcXVpcmVfY29tbW9uMigpO1xuICAgIHZhciByZWFkZXJfMSA9IHJlcXVpcmVfcmVhZGVyKCk7XG4gICAgdmFyIFN5bmNSZWFkZXIgPSBjbGFzcyBleHRlbmRzIHJlYWRlcl8xLmRlZmF1bHQge1xuICAgICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgICAgIHRoaXMuX3NjYW5kaXIgPSBmc1NjYW5kaXIuc2NhbmRpclN5bmM7XG4gICAgICAgIHRoaXMuX3N0b3JhZ2UgPSBbXTtcbiAgICAgICAgdGhpcy5fcXVldWUgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpO1xuICAgICAgfVxuICAgICAgcmVhZCgpIHtcbiAgICAgICAgdGhpcy5fcHVzaFRvUXVldWUodGhpcy5fcm9vdCwgdGhpcy5fc2V0dGluZ3MuYmFzZVBhdGgpO1xuICAgICAgICB0aGlzLl9oYW5kbGVRdWV1ZSgpO1xuICAgICAgICByZXR1cm4gdGhpcy5fc3RvcmFnZTtcbiAgICAgIH1cbiAgICAgIF9wdXNoVG9RdWV1ZShkaXJlY3RvcnksIGJhc2UpIHtcbiAgICAgICAgdGhpcy5fcXVldWUuYWRkKHsgZGlyZWN0b3J5LCBiYXNlIH0pO1xuICAgICAgfVxuICAgICAgX2hhbmRsZVF1ZXVlKCkge1xuICAgICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgdGhpcy5fcXVldWUudmFsdWVzKCkpIHtcbiAgICAgICAgICB0aGlzLl9oYW5kbGVEaXJlY3RvcnkoaXRlbS5kaXJlY3RvcnksIGl0ZW0uYmFzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIF9oYW5kbGVEaXJlY3RvcnkoZGlyZWN0b3J5LCBiYXNlKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgZW50cmllcyA9IHRoaXMuX3NjYW5kaXIoZGlyZWN0b3J5LCB0aGlzLl9zZXR0aW5ncy5mc1NjYW5kaXJTZXR0aW5ncyk7XG4gICAgICAgICAgZm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG4gICAgICAgICAgICB0aGlzLl9oYW5kbGVFbnRyeShlbnRyeSwgYmFzZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHRoaXMuX2hhbmRsZUVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgX2hhbmRsZUVycm9yKGVycm9yKSB7XG4gICAgICAgIGlmICghY29tbW9uMi5pc0ZhdGFsRXJyb3IodGhpcy5fc2V0dGluZ3MsIGVycm9yKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICAgIF9oYW5kbGVFbnRyeShlbnRyeSwgYmFzZSkge1xuICAgICAgICBjb25zdCBmdWxscGF0aCA9IGVudHJ5LnBhdGg7XG4gICAgICAgIGlmIChiYXNlICE9PSB2b2lkIDApIHtcbiAgICAgICAgICBlbnRyeS5wYXRoID0gY29tbW9uMi5qb2luUGF0aFNlZ21lbnRzKGJhc2UsIGVudHJ5Lm5hbWUsIHRoaXMuX3NldHRpbmdzLnBhdGhTZWdtZW50U2VwYXJhdG9yKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29tbW9uMi5pc0FwcGxpZWRGaWx0ZXIodGhpcy5fc2V0dGluZ3MuZW50cnlGaWx0ZXIsIGVudHJ5KSkge1xuICAgICAgICAgIHRoaXMuX3B1c2hUb1N0b3JhZ2UoZW50cnkpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChlbnRyeS5kaXJlbnQuaXNEaXJlY3RvcnkoKSAmJiBjb21tb24yLmlzQXBwbGllZEZpbHRlcih0aGlzLl9zZXR0aW5ncy5kZWVwRmlsdGVyLCBlbnRyeSkpIHtcbiAgICAgICAgICB0aGlzLl9wdXNoVG9RdWV1ZShmdWxscGF0aCwgYmFzZSA9PT0gdm9pZCAwID8gdm9pZCAwIDogZW50cnkucGF0aCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIF9wdXNoVG9TdG9yYWdlKGVudHJ5KSB7XG4gICAgICAgIHRoaXMuX3N0b3JhZ2UucHVzaChlbnRyeSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBleHBvcnRzLmRlZmF1bHQgPSBTeW5jUmVhZGVyO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLndhbGsvb3V0L3Byb3ZpZGVycy9zeW5jLmpzXG52YXIgcmVxdWlyZV9zeW5jNCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9Abm9kZWxpYi9mcy53YWxrL291dC9wcm92aWRlcnMvc3luYy5qc1wiKGV4cG9ydHMpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgdmFyIHN5bmNfMSA9IHJlcXVpcmVfc3luYzMoKTtcbiAgICB2YXIgU3luY1Byb3ZpZGVyID0gY2xhc3Mge1xuICAgICAgY29uc3RydWN0b3IoX3Jvb3QsIF9zZXR0aW5ncykge1xuICAgICAgICB0aGlzLl9yb290ID0gX3Jvb3Q7XG4gICAgICAgIHRoaXMuX3NldHRpbmdzID0gX3NldHRpbmdzO1xuICAgICAgICB0aGlzLl9yZWFkZXIgPSBuZXcgc3luY18xLmRlZmF1bHQodGhpcy5fcm9vdCwgdGhpcy5fc2V0dGluZ3MpO1xuICAgICAgfVxuICAgICAgcmVhZCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWRlci5yZWFkKCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBleHBvcnRzLmRlZmF1bHQgPSBTeW5jUHJvdmlkZXI7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvQG5vZGVsaWIvZnMud2Fsay9vdXQvc2V0dGluZ3MuanNcbnZhciByZXF1aXJlX3NldHRpbmdzMyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9Abm9kZWxpYi9mcy53YWxrL291dC9zZXR0aW5ncy5qc1wiKGV4cG9ydHMpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgdmFyIHBhdGgxMyA9IF9fcmVxdWlyZShcInBhdGhcIik7XG4gICAgdmFyIGZzU2NhbmRpciA9IHJlcXVpcmVfb3V0MigpO1xuICAgIHZhciBTZXR0aW5ncyA9IGNsYXNzIHtcbiAgICAgIGNvbnN0cnVjdG9yKF9vcHRpb25zID0ge30pIHtcbiAgICAgICAgdGhpcy5fb3B0aW9ucyA9IF9vcHRpb25zO1xuICAgICAgICB0aGlzLmJhc2VQYXRoID0gdGhpcy5fZ2V0VmFsdWUodGhpcy5fb3B0aW9ucy5iYXNlUGF0aCwgdm9pZCAwKTtcbiAgICAgICAgdGhpcy5jb25jdXJyZW5jeSA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX29wdGlvbnMuY29uY3VycmVuY3ksIE51bWJlci5QT1NJVElWRV9JTkZJTklUWSk7XG4gICAgICAgIHRoaXMuZGVlcEZpbHRlciA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX29wdGlvbnMuZGVlcEZpbHRlciwgbnVsbCk7XG4gICAgICAgIHRoaXMuZW50cnlGaWx0ZXIgPSB0aGlzLl9nZXRWYWx1ZSh0aGlzLl9vcHRpb25zLmVudHJ5RmlsdGVyLCBudWxsKTtcbiAgICAgICAgdGhpcy5lcnJvckZpbHRlciA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX29wdGlvbnMuZXJyb3JGaWx0ZXIsIG51bGwpO1xuICAgICAgICB0aGlzLnBhdGhTZWdtZW50U2VwYXJhdG9yID0gdGhpcy5fZ2V0VmFsdWUodGhpcy5fb3B0aW9ucy5wYXRoU2VnbWVudFNlcGFyYXRvciwgcGF0aDEzLnNlcCk7XG4gICAgICAgIHRoaXMuZnNTY2FuZGlyU2V0dGluZ3MgPSBuZXcgZnNTY2FuZGlyLlNldHRpbmdzKHtcbiAgICAgICAgICBmb2xsb3dTeW1ib2xpY0xpbmtzOiB0aGlzLl9vcHRpb25zLmZvbGxvd1N5bWJvbGljTGlua3MsXG4gICAgICAgICAgZnM6IHRoaXMuX29wdGlvbnMuZnMsXG4gICAgICAgICAgcGF0aFNlZ21lbnRTZXBhcmF0b3I6IHRoaXMuX29wdGlvbnMucGF0aFNlZ21lbnRTZXBhcmF0b3IsXG4gICAgICAgICAgc3RhdHM6IHRoaXMuX29wdGlvbnMuc3RhdHMsXG4gICAgICAgICAgdGhyb3dFcnJvck9uQnJva2VuU3ltYm9saWNMaW5rOiB0aGlzLl9vcHRpb25zLnRocm93RXJyb3JPbkJyb2tlblN5bWJvbGljTGlua1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIF9nZXRWYWx1ZShvcHRpb24sIHZhbHVlKSB7XG4gICAgICAgIHJldHVybiBvcHRpb24gIT09IG51bGwgJiYgb3B0aW9uICE9PSB2b2lkIDAgPyBvcHRpb24gOiB2YWx1ZTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGV4cG9ydHMuZGVmYXVsdCA9IFNldHRpbmdzO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLndhbGsvb3V0L2luZGV4LmpzXG52YXIgcmVxdWlyZV9vdXQzID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL0Bub2RlbGliL2ZzLndhbGsvb3V0L2luZGV4LmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICBleHBvcnRzLlNldHRpbmdzID0gZXhwb3J0cy53YWxrU3RyZWFtID0gZXhwb3J0cy53YWxrU3luYyA9IGV4cG9ydHMud2FsayA9IHZvaWQgMDtcbiAgICB2YXIgYXN5bmNfMSA9IHJlcXVpcmVfYXN5bmM0KCk7XG4gICAgdmFyIHN0cmVhbV8xID0gcmVxdWlyZV9zdHJlYW0yKCk7XG4gICAgdmFyIHN5bmNfMSA9IHJlcXVpcmVfc3luYzQoKTtcbiAgICB2YXIgc2V0dGluZ3NfMSA9IHJlcXVpcmVfc2V0dGluZ3MzKCk7XG4gICAgZXhwb3J0cy5TZXR0aW5ncyA9IHNldHRpbmdzXzEuZGVmYXVsdDtcbiAgICBmdW5jdGlvbiB3YWxrKGRpcmVjdG9yeSwgb3B0aW9uc09yU2V0dGluZ3NPckNhbGxiYWNrLCBjYWxsYmFjaykge1xuICAgICAgaWYgKHR5cGVvZiBvcHRpb25zT3JTZXR0aW5nc09yQ2FsbGJhY2sgPT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBuZXcgYXN5bmNfMS5kZWZhdWx0KGRpcmVjdG9yeSwgZ2V0U2V0dGluZ3MoKSkucmVhZChvcHRpb25zT3JTZXR0aW5nc09yQ2FsbGJhY2spO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBuZXcgYXN5bmNfMS5kZWZhdWx0KGRpcmVjdG9yeSwgZ2V0U2V0dGluZ3Mob3B0aW9uc09yU2V0dGluZ3NPckNhbGxiYWNrKSkucmVhZChjYWxsYmFjayk7XG4gICAgfVxuICAgIGV4cG9ydHMud2FsayA9IHdhbGs7XG4gICAgZnVuY3Rpb24gd2Fsa1N5bmMoZGlyZWN0b3J5LCBvcHRpb25zT3JTZXR0aW5ncykge1xuICAgICAgY29uc3Qgc2V0dGluZ3MgPSBnZXRTZXR0aW5ncyhvcHRpb25zT3JTZXR0aW5ncyk7XG4gICAgICBjb25zdCBwcm92aWRlciA9IG5ldyBzeW5jXzEuZGVmYXVsdChkaXJlY3RvcnksIHNldHRpbmdzKTtcbiAgICAgIHJldHVybiBwcm92aWRlci5yZWFkKCk7XG4gICAgfVxuICAgIGV4cG9ydHMud2Fsa1N5bmMgPSB3YWxrU3luYztcbiAgICBmdW5jdGlvbiB3YWxrU3RyZWFtKGRpcmVjdG9yeSwgb3B0aW9uc09yU2V0dGluZ3MpIHtcbiAgICAgIGNvbnN0IHNldHRpbmdzID0gZ2V0U2V0dGluZ3Mob3B0aW9uc09yU2V0dGluZ3MpO1xuICAgICAgY29uc3QgcHJvdmlkZXIgPSBuZXcgc3RyZWFtXzEuZGVmYXVsdChkaXJlY3RvcnksIHNldHRpbmdzKTtcbiAgICAgIHJldHVybiBwcm92aWRlci5yZWFkKCk7XG4gICAgfVxuICAgIGV4cG9ydHMud2Fsa1N0cmVhbSA9IHdhbGtTdHJlYW07XG4gICAgZnVuY3Rpb24gZ2V0U2V0dGluZ3Moc2V0dGluZ3NPck9wdGlvbnMgPSB7fSkge1xuICAgICAgaWYgKHNldHRpbmdzT3JPcHRpb25zIGluc3RhbmNlb2Ygc2V0dGluZ3NfMS5kZWZhdWx0KSB7XG4gICAgICAgIHJldHVybiBzZXR0aW5nc09yT3B0aW9ucztcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXcgc2V0dGluZ3NfMS5kZWZhdWx0KHNldHRpbmdzT3JPcHRpb25zKTtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZmFzdC1nbG9iL291dC9yZWFkZXJzL3JlYWRlci5qc1xudmFyIHJlcXVpcmVfcmVhZGVyMiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3JlYWRlcnMvcmVhZGVyLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB2YXIgcGF0aDEzID0gX19yZXF1aXJlKFwicGF0aFwiKTtcbiAgICB2YXIgZnNTdGF0ID0gcmVxdWlyZV9vdXQoKTtcbiAgICB2YXIgdXRpbHMgPSByZXF1aXJlX3V0aWxzMygpO1xuICAgIHZhciBSZWFkZXIgPSBjbGFzcyB7XG4gICAgICBjb25zdHJ1Y3Rvcihfc2V0dGluZ3MpIHtcbiAgICAgICAgdGhpcy5fc2V0dGluZ3MgPSBfc2V0dGluZ3M7XG4gICAgICAgIHRoaXMuX2ZzU3RhdFNldHRpbmdzID0gbmV3IGZzU3RhdC5TZXR0aW5ncyh7XG4gICAgICAgICAgZm9sbG93U3ltYm9saWNMaW5rOiB0aGlzLl9zZXR0aW5ncy5mb2xsb3dTeW1ib2xpY0xpbmtzLFxuICAgICAgICAgIGZzOiB0aGlzLl9zZXR0aW5ncy5mcyxcbiAgICAgICAgICB0aHJvd0Vycm9yT25Ccm9rZW5TeW1ib2xpY0xpbms6IHRoaXMuX3NldHRpbmdzLmZvbGxvd1N5bWJvbGljTGlua3NcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBfZ2V0RnVsbEVudHJ5UGF0aChmaWxlcGF0aCkge1xuICAgICAgICByZXR1cm4gcGF0aDEzLnJlc29sdmUodGhpcy5fc2V0dGluZ3MuY3dkLCBmaWxlcGF0aCk7XG4gICAgICB9XG4gICAgICBfbWFrZUVudHJ5KHN0YXRzLCBwYXR0ZXJuKSB7XG4gICAgICAgIGNvbnN0IGVudHJ5ID0ge1xuICAgICAgICAgIG5hbWU6IHBhdHRlcm4sXG4gICAgICAgICAgcGF0aDogcGF0dGVybixcbiAgICAgICAgICBkaXJlbnQ6IHV0aWxzLmZzLmNyZWF0ZURpcmVudEZyb21TdGF0cyhwYXR0ZXJuLCBzdGF0cylcbiAgICAgICAgfTtcbiAgICAgICAgaWYgKHRoaXMuX3NldHRpbmdzLnN0YXRzKSB7XG4gICAgICAgICAgZW50cnkuc3RhdHMgPSBzdGF0cztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZW50cnk7XG4gICAgICB9XG4gICAgICBfaXNGYXRhbEVycm9yKGVycm9yKSB7XG4gICAgICAgIHJldHVybiAhdXRpbHMuZXJybm8uaXNFbm9lbnRDb2RlRXJyb3IoZXJyb3IpICYmICF0aGlzLl9zZXR0aW5ncy5zdXBwcmVzc0Vycm9ycztcbiAgICAgIH1cbiAgICB9O1xuICAgIGV4cG9ydHMuZGVmYXVsdCA9IFJlYWRlcjtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3JlYWRlcnMvc3RyZWFtLmpzXG52YXIgcmVxdWlyZV9zdHJlYW0zID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2Zhc3QtZ2xvYi9vdXQvcmVhZGVycy9zdHJlYW0uanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIHZhciBzdHJlYW1fMSA9IF9fcmVxdWlyZShcInN0cmVhbVwiKTtcbiAgICB2YXIgZnNTdGF0ID0gcmVxdWlyZV9vdXQoKTtcbiAgICB2YXIgZnNXYWxrID0gcmVxdWlyZV9vdXQzKCk7XG4gICAgdmFyIHJlYWRlcl8xID0gcmVxdWlyZV9yZWFkZXIyKCk7XG4gICAgdmFyIFJlYWRlclN0cmVhbSA9IGNsYXNzIGV4dGVuZHMgcmVhZGVyXzEuZGVmYXVsdCB7XG4gICAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICAgICAgdGhpcy5fd2Fsa1N0cmVhbSA9IGZzV2Fsay53YWxrU3RyZWFtO1xuICAgICAgICB0aGlzLl9zdGF0ID0gZnNTdGF0LnN0YXQ7XG4gICAgICB9XG4gICAgICBkeW5hbWljKHJvb3QyLCBvcHRpb25zOCkge1xuICAgICAgICByZXR1cm4gdGhpcy5fd2Fsa1N0cmVhbShyb290Miwgb3B0aW9uczgpO1xuICAgICAgfVxuICAgICAgc3RhdGljKHBhdHRlcm5zLCBvcHRpb25zOCkge1xuICAgICAgICBjb25zdCBmaWxlcGF0aHMgPSBwYXR0ZXJucy5tYXAodGhpcy5fZ2V0RnVsbEVudHJ5UGF0aCwgdGhpcyk7XG4gICAgICAgIGNvbnN0IHN0cmVhbSA9IG5ldyBzdHJlYW1fMS5QYXNzVGhyb3VnaCh7IG9iamVjdE1vZGU6IHRydWUgfSk7XG4gICAgICAgIHN0cmVhbS5fd3JpdGUgPSAoaW5kZXgsIF9lbmMsIGRvbmUpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fZ2V0RW50cnkoZmlsZXBhdGhzW2luZGV4XSwgcGF0dGVybnNbaW5kZXhdLCBvcHRpb25zOCkudGhlbigoZW50cnkpID0+IHtcbiAgICAgICAgICAgIGlmIChlbnRyeSAhPT0gbnVsbCAmJiBvcHRpb25zOC5lbnRyeUZpbHRlcihlbnRyeSkpIHtcbiAgICAgICAgICAgICAgc3RyZWFtLnB1c2goZW50cnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGluZGV4ID09PSBmaWxlcGF0aHMubGVuZ3RoIC0gMSkge1xuICAgICAgICAgICAgICBzdHJlYW0uZW5kKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBkb25lKCk7XG4gICAgICAgICAgfSkuY2F0Y2goZG9uZSk7XG4gICAgICAgIH07XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZmlsZXBhdGhzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgc3RyZWFtLndyaXRlKGkpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBzdHJlYW07XG4gICAgICB9XG4gICAgICBfZ2V0RW50cnkoZmlsZXBhdGgsIHBhdHRlcm4sIG9wdGlvbnM4KSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRTdGF0KGZpbGVwYXRoKS50aGVuKChzdGF0cykgPT4gdGhpcy5fbWFrZUVudHJ5KHN0YXRzLCBwYXR0ZXJuKSkuY2F0Y2goKGVycm9yKSA9PiB7XG4gICAgICAgICAgaWYgKG9wdGlvbnM4LmVycm9yRmlsdGVyKGVycm9yKSkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIF9nZXRTdGF0KGZpbGVwYXRoKSB7XG4gICAgICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZTMsIHJlamVjdCkgPT4ge1xuICAgICAgICAgIHRoaXMuX3N0YXQoZmlsZXBhdGgsIHRoaXMuX2ZzU3RhdFNldHRpbmdzLCAoZXJyb3IsIHN0YXRzKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gZXJyb3IgPT09IG51bGwgPyByZXNvbHZlMyhzdGF0cykgOiByZWplY3QoZXJyb3IpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGV4cG9ydHMuZGVmYXVsdCA9IFJlYWRlclN0cmVhbTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3JlYWRlcnMvYXN5bmMuanNcbnZhciByZXF1aXJlX2FzeW5jNSA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3JlYWRlcnMvYXN5bmMuanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIHZhciBmc1dhbGsgPSByZXF1aXJlX291dDMoKTtcbiAgICB2YXIgcmVhZGVyXzEgPSByZXF1aXJlX3JlYWRlcjIoKTtcbiAgICB2YXIgc3RyZWFtXzEgPSByZXF1aXJlX3N0cmVhbTMoKTtcbiAgICB2YXIgUmVhZGVyQXN5bmMgPSBjbGFzcyBleHRlbmRzIHJlYWRlcl8xLmRlZmF1bHQge1xuICAgICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgICAgIHRoaXMuX3dhbGtBc3luYyA9IGZzV2Fsay53YWxrO1xuICAgICAgICB0aGlzLl9yZWFkZXJTdHJlYW0gPSBuZXcgc3RyZWFtXzEuZGVmYXVsdCh0aGlzLl9zZXR0aW5ncyk7XG4gICAgICB9XG4gICAgICBkeW5hbWljKHJvb3QyLCBvcHRpb25zOCkge1xuICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUzLCByZWplY3QpID0+IHtcbiAgICAgICAgICB0aGlzLl93YWxrQXN5bmMocm9vdDIsIG9wdGlvbnM4LCAoZXJyb3IsIGVudHJpZXMpID0+IHtcbiAgICAgICAgICAgIGlmIChlcnJvciA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICByZXNvbHZlMyhlbnRyaWVzKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHJlamVjdChlcnJvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgYXN5bmMgc3RhdGljKHBhdHRlcm5zLCBvcHRpb25zOCkge1xuICAgICAgICBjb25zdCBlbnRyaWVzID0gW107XG4gICAgICAgIGNvbnN0IHN0cmVhbSA9IHRoaXMuX3JlYWRlclN0cmVhbS5zdGF0aWMocGF0dGVybnMsIG9wdGlvbnM4KTtcbiAgICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlMywgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgc3RyZWFtLm9uY2UoXCJlcnJvclwiLCByZWplY3QpO1xuICAgICAgICAgIHN0cmVhbS5vbihcImRhdGFcIiwgKGVudHJ5KSA9PiBlbnRyaWVzLnB1c2goZW50cnkpKTtcbiAgICAgICAgICBzdHJlYW0ub25jZShcImVuZFwiLCAoKSA9PiByZXNvbHZlMyhlbnRyaWVzKSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG4gICAgZXhwb3J0cy5kZWZhdWx0ID0gUmVhZGVyQXN5bmM7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZmFzdC1nbG9iL291dC9wcm92aWRlcnMvbWF0Y2hlcnMvbWF0Y2hlci5qc1xudmFyIHJlcXVpcmVfbWF0Y2hlciA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3Byb3ZpZGVycy9tYXRjaGVycy9tYXRjaGVyLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB2YXIgdXRpbHMgPSByZXF1aXJlX3V0aWxzMygpO1xuICAgIHZhciBNYXRjaGVyID0gY2xhc3Mge1xuICAgICAgY29uc3RydWN0b3IoX3BhdHRlcm5zLCBfc2V0dGluZ3MsIF9taWNyb21hdGNoT3B0aW9ucykge1xuICAgICAgICB0aGlzLl9wYXR0ZXJucyA9IF9wYXR0ZXJucztcbiAgICAgICAgdGhpcy5fc2V0dGluZ3MgPSBfc2V0dGluZ3M7XG4gICAgICAgIHRoaXMuX21pY3JvbWF0Y2hPcHRpb25zID0gX21pY3JvbWF0Y2hPcHRpb25zO1xuICAgICAgICB0aGlzLl9zdG9yYWdlID0gW107XG4gICAgICAgIHRoaXMuX2ZpbGxTdG9yYWdlKCk7XG4gICAgICB9XG4gICAgICBfZmlsbFN0b3JhZ2UoKSB7XG4gICAgICAgIGZvciAoY29uc3QgcGF0dGVybiBvZiB0aGlzLl9wYXR0ZXJucykge1xuICAgICAgICAgIGNvbnN0IHNlZ21lbnRzID0gdGhpcy5fZ2V0UGF0dGVyblNlZ21lbnRzKHBhdHRlcm4pO1xuICAgICAgICAgIGNvbnN0IHNlY3Rpb25zID0gdGhpcy5fc3BsaXRTZWdtZW50c0ludG9TZWN0aW9ucyhzZWdtZW50cyk7XG4gICAgICAgICAgdGhpcy5fc3RvcmFnZS5wdXNoKHtcbiAgICAgICAgICAgIGNvbXBsZXRlOiBzZWN0aW9ucy5sZW5ndGggPD0gMSxcbiAgICAgICAgICAgIHBhdHRlcm4sXG4gICAgICAgICAgICBzZWdtZW50cyxcbiAgICAgICAgICAgIHNlY3Rpb25zXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIF9nZXRQYXR0ZXJuU2VnbWVudHMocGF0dGVybikge1xuICAgICAgICBjb25zdCBwYXJ0cyA9IHV0aWxzLnBhdHRlcm4uZ2V0UGF0dGVyblBhcnRzKHBhdHRlcm4sIHRoaXMuX21pY3JvbWF0Y2hPcHRpb25zKTtcbiAgICAgICAgcmV0dXJuIHBhcnRzLm1hcCgocGFydCkgPT4ge1xuICAgICAgICAgIGNvbnN0IGR5bmFtaWMgPSB1dGlscy5wYXR0ZXJuLmlzRHluYW1pY1BhdHRlcm4ocGFydCwgdGhpcy5fc2V0dGluZ3MpO1xuICAgICAgICAgIGlmICghZHluYW1pYykge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgZHluYW1pYzogZmFsc2UsXG4gICAgICAgICAgICAgIHBhdHRlcm46IHBhcnRcbiAgICAgICAgICAgIH07XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBkeW5hbWljOiB0cnVlLFxuICAgICAgICAgICAgcGF0dGVybjogcGFydCxcbiAgICAgICAgICAgIHBhdHRlcm5SZTogdXRpbHMucGF0dGVybi5tYWtlUmUocGFydCwgdGhpcy5fbWljcm9tYXRjaE9wdGlvbnMpXG4gICAgICAgICAgfTtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICBfc3BsaXRTZWdtZW50c0ludG9TZWN0aW9ucyhzZWdtZW50cykge1xuICAgICAgICByZXR1cm4gdXRpbHMuYXJyYXkuc3BsaXRXaGVuKHNlZ21lbnRzLCAoc2VnbWVudCkgPT4gc2VnbWVudC5keW5hbWljICYmIHV0aWxzLnBhdHRlcm4uaGFzR2xvYlN0YXIoc2VnbWVudC5wYXR0ZXJuKSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBleHBvcnRzLmRlZmF1bHQgPSBNYXRjaGVyO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2Zhc3QtZ2xvYi9vdXQvcHJvdmlkZXJzL21hdGNoZXJzL3BhcnRpYWwuanNcbnZhciByZXF1aXJlX3BhcnRpYWwgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZmFzdC1nbG9iL291dC9wcm92aWRlcnMvbWF0Y2hlcnMvcGFydGlhbC5qc1wiKGV4cG9ydHMpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgdmFyIG1hdGNoZXJfMSA9IHJlcXVpcmVfbWF0Y2hlcigpO1xuICAgIHZhciBQYXJ0aWFsTWF0Y2hlciA9IGNsYXNzIGV4dGVuZHMgbWF0Y2hlcl8xLmRlZmF1bHQge1xuICAgICAgbWF0Y2goZmlsZXBhdGgpIHtcbiAgICAgICAgY29uc3QgcGFydHMgPSBmaWxlcGF0aC5zcGxpdChcIi9cIik7XG4gICAgICAgIGNvbnN0IGxldmVscyA9IHBhcnRzLmxlbmd0aDtcbiAgICAgICAgY29uc3QgcGF0dGVybnMgPSB0aGlzLl9zdG9yYWdlLmZpbHRlcigoaW5mbykgPT4gIWluZm8uY29tcGxldGUgfHwgaW5mby5zZWdtZW50cy5sZW5ndGggPiBsZXZlbHMpO1xuICAgICAgICBmb3IgKGNvbnN0IHBhdHRlcm4gb2YgcGF0dGVybnMpIHtcbiAgICAgICAgICBjb25zdCBzZWN0aW9uID0gcGF0dGVybi5zZWN0aW9uc1swXTtcbiAgICAgICAgICBpZiAoIXBhdHRlcm4uY29tcGxldGUgJiYgbGV2ZWxzID4gc2VjdGlvbi5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBtYXRjaCA9IHBhcnRzLmV2ZXJ5KChwYXJ0LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3Qgc2VnbWVudCA9IHBhdHRlcm4uc2VnbWVudHNbaW5kZXhdO1xuICAgICAgICAgICAgaWYgKHNlZ21lbnQuZHluYW1pYyAmJiBzZWdtZW50LnBhdHRlcm5SZS50ZXN0KHBhcnQpKSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKCFzZWdtZW50LmR5bmFtaWMgJiYgc2VnbWVudC5wYXR0ZXJuID09PSBwYXJ0KSB7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGV4cG9ydHMuZGVmYXVsdCA9IFBhcnRpYWxNYXRjaGVyO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2Zhc3QtZ2xvYi9vdXQvcHJvdmlkZXJzL2ZpbHRlcnMvZGVlcC5qc1xudmFyIHJlcXVpcmVfZGVlcCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3Byb3ZpZGVycy9maWx0ZXJzL2RlZXAuanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIHZhciB1dGlscyA9IHJlcXVpcmVfdXRpbHMzKCk7XG4gICAgdmFyIHBhcnRpYWxfMSA9IHJlcXVpcmVfcGFydGlhbCgpO1xuICAgIHZhciBEZWVwRmlsdGVyID0gY2xhc3Mge1xuICAgICAgY29uc3RydWN0b3IoX3NldHRpbmdzLCBfbWljcm9tYXRjaE9wdGlvbnMpIHtcbiAgICAgICAgdGhpcy5fc2V0dGluZ3MgPSBfc2V0dGluZ3M7XG4gICAgICAgIHRoaXMuX21pY3JvbWF0Y2hPcHRpb25zID0gX21pY3JvbWF0Y2hPcHRpb25zO1xuICAgICAgfVxuICAgICAgZ2V0RmlsdGVyKGJhc2VQYXRoLCBwb3NpdGl2ZSwgbmVnYXRpdmUpIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlciA9IHRoaXMuX2dldE1hdGNoZXIocG9zaXRpdmUpO1xuICAgICAgICBjb25zdCBuZWdhdGl2ZVJlID0gdGhpcy5fZ2V0TmVnYXRpdmVQYXR0ZXJuc1JlKG5lZ2F0aXZlKTtcbiAgICAgICAgcmV0dXJuIChlbnRyeSkgPT4gdGhpcy5fZmlsdGVyKGJhc2VQYXRoLCBlbnRyeSwgbWF0Y2hlciwgbmVnYXRpdmVSZSk7XG4gICAgICB9XG4gICAgICBfZ2V0TWF0Y2hlcihwYXR0ZXJucykge1xuICAgICAgICByZXR1cm4gbmV3IHBhcnRpYWxfMS5kZWZhdWx0KHBhdHRlcm5zLCB0aGlzLl9zZXR0aW5ncywgdGhpcy5fbWljcm9tYXRjaE9wdGlvbnMpO1xuICAgICAgfVxuICAgICAgX2dldE5lZ2F0aXZlUGF0dGVybnNSZShwYXR0ZXJucykge1xuICAgICAgICBjb25zdCBhZmZlY3REZXB0aE9mUmVhZGluZ1BhdHRlcm5zID0gcGF0dGVybnMuZmlsdGVyKHV0aWxzLnBhdHRlcm4uaXNBZmZlY3REZXB0aE9mUmVhZGluZ1BhdHRlcm4pO1xuICAgICAgICByZXR1cm4gdXRpbHMucGF0dGVybi5jb252ZXJ0UGF0dGVybnNUb1JlKGFmZmVjdERlcHRoT2ZSZWFkaW5nUGF0dGVybnMsIHRoaXMuX21pY3JvbWF0Y2hPcHRpb25zKTtcbiAgICAgIH1cbiAgICAgIF9maWx0ZXIoYmFzZVBhdGgsIGVudHJ5LCBtYXRjaGVyLCBuZWdhdGl2ZVJlKSB7XG4gICAgICAgIGlmICh0aGlzLl9pc1NraXBwZWRCeURlZXAoYmFzZVBhdGgsIGVudHJ5LnBhdGgpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9pc1NraXBwZWRTeW1ib2xpY0xpbmsoZW50cnkpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGZpbGVwYXRoID0gdXRpbHMucGF0aC5yZW1vdmVMZWFkaW5nRG90U2VnbWVudChlbnRyeS5wYXRoKTtcbiAgICAgICAgaWYgKHRoaXMuX2lzU2tpcHBlZEJ5UG9zaXRpdmVQYXR0ZXJucyhmaWxlcGF0aCwgbWF0Y2hlcikpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzU2tpcHBlZEJ5TmVnYXRpdmVQYXR0ZXJucyhmaWxlcGF0aCwgbmVnYXRpdmVSZSk7XG4gICAgICB9XG4gICAgICBfaXNTa2lwcGVkQnlEZWVwKGJhc2VQYXRoLCBlbnRyeVBhdGgpIHtcbiAgICAgICAgaWYgKHRoaXMuX3NldHRpbmdzLmRlZXAgPT09IEluZmluaXR5KSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9nZXRFbnRyeUxldmVsKGJhc2VQYXRoLCBlbnRyeVBhdGgpID49IHRoaXMuX3NldHRpbmdzLmRlZXA7XG4gICAgICB9XG4gICAgICBfZ2V0RW50cnlMZXZlbChiYXNlUGF0aCwgZW50cnlQYXRoKSB7XG4gICAgICAgIGNvbnN0IGVudHJ5UGF0aERlcHRoID0gZW50cnlQYXRoLnNwbGl0KFwiL1wiKS5sZW5ndGg7XG4gICAgICAgIGlmIChiYXNlUGF0aCA9PT0gXCJcIikge1xuICAgICAgICAgIHJldHVybiBlbnRyeVBhdGhEZXB0aDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBiYXNlUGF0aERlcHRoID0gYmFzZVBhdGguc3BsaXQoXCIvXCIpLmxlbmd0aDtcbiAgICAgICAgcmV0dXJuIGVudHJ5UGF0aERlcHRoIC0gYmFzZVBhdGhEZXB0aDtcbiAgICAgIH1cbiAgICAgIF9pc1NraXBwZWRTeW1ib2xpY0xpbmsoZW50cnkpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLl9zZXR0aW5ncy5mb2xsb3dTeW1ib2xpY0xpbmtzICYmIGVudHJ5LmRpcmVudC5pc1N5bWJvbGljTGluaygpO1xuICAgICAgfVxuICAgICAgX2lzU2tpcHBlZEJ5UG9zaXRpdmVQYXR0ZXJucyhlbnRyeVBhdGgsIG1hdGNoZXIpIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLl9zZXR0aW5ncy5iYXNlTmFtZU1hdGNoICYmICFtYXRjaGVyLm1hdGNoKGVudHJ5UGF0aCk7XG4gICAgICB9XG4gICAgICBfaXNTa2lwcGVkQnlOZWdhdGl2ZVBhdHRlcm5zKGVudHJ5UGF0aCwgcGF0dGVybnNSZSkge1xuICAgICAgICByZXR1cm4gIXV0aWxzLnBhdHRlcm4ubWF0Y2hBbnkoZW50cnlQYXRoLCBwYXR0ZXJuc1JlKTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGV4cG9ydHMuZGVmYXVsdCA9IERlZXBGaWx0ZXI7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZmFzdC1nbG9iL291dC9wcm92aWRlcnMvZmlsdGVycy9lbnRyeS5qc1xudmFyIHJlcXVpcmVfZW50cnkgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZmFzdC1nbG9iL291dC9wcm92aWRlcnMvZmlsdGVycy9lbnRyeS5qc1wiKGV4cG9ydHMpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgdmFyIHV0aWxzID0gcmVxdWlyZV91dGlsczMoKTtcbiAgICB2YXIgRW50cnlGaWx0ZXIgPSBjbGFzcyB7XG4gICAgICBjb25zdHJ1Y3Rvcihfc2V0dGluZ3MsIF9taWNyb21hdGNoT3B0aW9ucykge1xuICAgICAgICB0aGlzLl9zZXR0aW5ncyA9IF9zZXR0aW5ncztcbiAgICAgICAgdGhpcy5fbWljcm9tYXRjaE9wdGlvbnMgPSBfbWljcm9tYXRjaE9wdGlvbnM7XG4gICAgICAgIHRoaXMuaW5kZXggPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuICAgICAgfVxuICAgICAgZ2V0RmlsdGVyKHBvc2l0aXZlLCBuZWdhdGl2ZSkge1xuICAgICAgICBjb25zdCBwb3NpdGl2ZVJlID0gdXRpbHMucGF0dGVybi5jb252ZXJ0UGF0dGVybnNUb1JlKHBvc2l0aXZlLCB0aGlzLl9taWNyb21hdGNoT3B0aW9ucyk7XG4gICAgICAgIGNvbnN0IG5lZ2F0aXZlUmUgPSB1dGlscy5wYXR0ZXJuLmNvbnZlcnRQYXR0ZXJuc1RvUmUobmVnYXRpdmUsIE9iamVjdC5hc3NpZ24oT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5fbWljcm9tYXRjaE9wdGlvbnMpLCB7IGRvdDogdHJ1ZSB9KSk7XG4gICAgICAgIHJldHVybiAoZW50cnkpID0+IHRoaXMuX2ZpbHRlcihlbnRyeSwgcG9zaXRpdmVSZSwgbmVnYXRpdmVSZSk7XG4gICAgICB9XG4gICAgICBfZmlsdGVyKGVudHJ5LCBwb3NpdGl2ZVJlLCBuZWdhdGl2ZVJlKSB7XG4gICAgICAgIGNvbnN0IGZpbGVwYXRoID0gdXRpbHMucGF0aC5yZW1vdmVMZWFkaW5nRG90U2VnbWVudChlbnRyeS5wYXRoKTtcbiAgICAgICAgaWYgKHRoaXMuX3NldHRpbmdzLnVuaXF1ZSAmJiB0aGlzLl9pc0R1cGxpY2F0ZUVudHJ5KGZpbGVwYXRoKSkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fb25seUZpbGVGaWx0ZXIoZW50cnkpIHx8IHRoaXMuX29ubHlEaXJlY3RvcnlGaWx0ZXIoZW50cnkpKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9pc1NraXBwZWRCeUFic29sdXRlTmVnYXRpdmVQYXR0ZXJucyhmaWxlcGF0aCwgbmVnYXRpdmVSZSkpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaXNEaXJlY3RvcnkyID0gZW50cnkuZGlyZW50LmlzRGlyZWN0b3J5KCk7XG4gICAgICAgIGNvbnN0IGlzTWF0Y2hlZCA9IHRoaXMuX2lzTWF0Y2hUb1BhdHRlcm5zKGZpbGVwYXRoLCBwb3NpdGl2ZVJlLCBpc0RpcmVjdG9yeTIpICYmICF0aGlzLl9pc01hdGNoVG9QYXR0ZXJucyhmaWxlcGF0aCwgbmVnYXRpdmVSZSwgaXNEaXJlY3RvcnkyKTtcbiAgICAgICAgaWYgKHRoaXMuX3NldHRpbmdzLnVuaXF1ZSAmJiBpc01hdGNoZWQpIHtcbiAgICAgICAgICB0aGlzLl9jcmVhdGVJbmRleFJlY29yZChmaWxlcGF0aCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGlzTWF0Y2hlZDtcbiAgICAgIH1cbiAgICAgIF9pc0R1cGxpY2F0ZUVudHJ5KGZpbGVwYXRoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmluZGV4LmhhcyhmaWxlcGF0aCk7XG4gICAgICB9XG4gICAgICBfY3JlYXRlSW5kZXhSZWNvcmQoZmlsZXBhdGgpIHtcbiAgICAgICAgdGhpcy5pbmRleC5zZXQoZmlsZXBhdGgsIHZvaWQgMCk7XG4gICAgICB9XG4gICAgICBfb25seUZpbGVGaWx0ZXIoZW50cnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NldHRpbmdzLm9ubHlGaWxlcyAmJiAhZW50cnkuZGlyZW50LmlzRmlsZSgpO1xuICAgICAgfVxuICAgICAgX29ubHlEaXJlY3RvcnlGaWx0ZXIoZW50cnkpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NldHRpbmdzLm9ubHlEaXJlY3RvcmllcyAmJiAhZW50cnkuZGlyZW50LmlzRGlyZWN0b3J5KCk7XG4gICAgICB9XG4gICAgICBfaXNTa2lwcGVkQnlBYnNvbHV0ZU5lZ2F0aXZlUGF0dGVybnMoZW50cnlQYXRoLCBwYXR0ZXJuc1JlKSB7XG4gICAgICAgIGlmICghdGhpcy5fc2V0dGluZ3MuYWJzb2x1dGUpIHtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgZnVsbHBhdGggPSB1dGlscy5wYXRoLm1ha2VBYnNvbHV0ZSh0aGlzLl9zZXR0aW5ncy5jd2QsIGVudHJ5UGF0aCk7XG4gICAgICAgIHJldHVybiB1dGlscy5wYXR0ZXJuLm1hdGNoQW55KGZ1bGxwYXRoLCBwYXR0ZXJuc1JlKTtcbiAgICAgIH1cbiAgICAgIF9pc01hdGNoVG9QYXR0ZXJucyhmaWxlcGF0aCwgcGF0dGVybnNSZSwgaXNEaXJlY3RvcnkyKSB7XG4gICAgICAgIGNvbnN0IGlzTWF0Y2hlZCA9IHV0aWxzLnBhdHRlcm4ubWF0Y2hBbnkoZmlsZXBhdGgsIHBhdHRlcm5zUmUpO1xuICAgICAgICBpZiAoIWlzTWF0Y2hlZCAmJiBpc0RpcmVjdG9yeTIpIHtcbiAgICAgICAgICByZXR1cm4gdXRpbHMucGF0dGVybi5tYXRjaEFueShmaWxlcGF0aCArIFwiL1wiLCBwYXR0ZXJuc1JlKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXNNYXRjaGVkO1xuICAgICAgfVxuICAgIH07XG4gICAgZXhwb3J0cy5kZWZhdWx0ID0gRW50cnlGaWx0ZXI7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZmFzdC1nbG9iL291dC9wcm92aWRlcnMvZmlsdGVycy9lcnJvci5qc1xudmFyIHJlcXVpcmVfZXJyb3IgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZmFzdC1nbG9iL291dC9wcm92aWRlcnMvZmlsdGVycy9lcnJvci5qc1wiKGV4cG9ydHMpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgdmFyIHV0aWxzID0gcmVxdWlyZV91dGlsczMoKTtcbiAgICB2YXIgRXJyb3JGaWx0ZXIgPSBjbGFzcyB7XG4gICAgICBjb25zdHJ1Y3Rvcihfc2V0dGluZ3MpIHtcbiAgICAgICAgdGhpcy5fc2V0dGluZ3MgPSBfc2V0dGluZ3M7XG4gICAgICB9XG4gICAgICBnZXRGaWx0ZXIoKSB7XG4gICAgICAgIHJldHVybiAoZXJyb3IpID0+IHRoaXMuX2lzTm9uRmF0YWxFcnJvcihlcnJvcik7XG4gICAgICB9XG4gICAgICBfaXNOb25GYXRhbEVycm9yKGVycm9yKSB7XG4gICAgICAgIHJldHVybiB1dGlscy5lcnJuby5pc0Vub2VudENvZGVFcnJvcihlcnJvcikgfHwgdGhpcy5fc2V0dGluZ3Muc3VwcHJlc3NFcnJvcnM7XG4gICAgICB9XG4gICAgfTtcbiAgICBleHBvcnRzLmRlZmF1bHQgPSBFcnJvckZpbHRlcjtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3Byb3ZpZGVycy90cmFuc2Zvcm1lcnMvZW50cnkuanNcbnZhciByZXF1aXJlX2VudHJ5MiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3Byb3ZpZGVycy90cmFuc2Zvcm1lcnMvZW50cnkuanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIHZhciB1dGlscyA9IHJlcXVpcmVfdXRpbHMzKCk7XG4gICAgdmFyIEVudHJ5VHJhbnNmb3JtZXIgPSBjbGFzcyB7XG4gICAgICBjb25zdHJ1Y3Rvcihfc2V0dGluZ3MpIHtcbiAgICAgICAgdGhpcy5fc2V0dGluZ3MgPSBfc2V0dGluZ3M7XG4gICAgICB9XG4gICAgICBnZXRUcmFuc2Zvcm1lcigpIHtcbiAgICAgICAgcmV0dXJuIChlbnRyeSkgPT4gdGhpcy5fdHJhbnNmb3JtKGVudHJ5KTtcbiAgICAgIH1cbiAgICAgIF90cmFuc2Zvcm0oZW50cnkpIHtcbiAgICAgICAgbGV0IGZpbGVwYXRoID0gZW50cnkucGF0aDtcbiAgICAgICAgaWYgKHRoaXMuX3NldHRpbmdzLmFic29sdXRlKSB7XG4gICAgICAgICAgZmlsZXBhdGggPSB1dGlscy5wYXRoLm1ha2VBYnNvbHV0ZSh0aGlzLl9zZXR0aW5ncy5jd2QsIGZpbGVwYXRoKTtcbiAgICAgICAgICBmaWxlcGF0aCA9IHV0aWxzLnBhdGgudW5peGlmeShmaWxlcGF0aCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX3NldHRpbmdzLm1hcmtEaXJlY3RvcmllcyAmJiBlbnRyeS5kaXJlbnQuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgICAgIGZpbGVwYXRoICs9IFwiL1wiO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fc2V0dGluZ3Mub2JqZWN0TW9kZSkge1xuICAgICAgICAgIHJldHVybiBmaWxlcGF0aDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihPYmplY3QuYXNzaWduKHt9LCBlbnRyeSksIHsgcGF0aDogZmlsZXBhdGggfSk7XG4gICAgICB9XG4gICAgfTtcbiAgICBleHBvcnRzLmRlZmF1bHQgPSBFbnRyeVRyYW5zZm9ybWVyO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2Zhc3QtZ2xvYi9vdXQvcHJvdmlkZXJzL3Byb3ZpZGVyLmpzXG52YXIgcmVxdWlyZV9wcm92aWRlciA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3Byb3ZpZGVycy9wcm92aWRlci5qc1wiKGV4cG9ydHMpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHsgdmFsdWU6IHRydWUgfSk7XG4gICAgdmFyIHBhdGgxMyA9IF9fcmVxdWlyZShcInBhdGhcIik7XG4gICAgdmFyIGRlZXBfMSA9IHJlcXVpcmVfZGVlcCgpO1xuICAgIHZhciBlbnRyeV8xID0gcmVxdWlyZV9lbnRyeSgpO1xuICAgIHZhciBlcnJvcl8xID0gcmVxdWlyZV9lcnJvcigpO1xuICAgIHZhciBlbnRyeV8yID0gcmVxdWlyZV9lbnRyeTIoKTtcbiAgICB2YXIgUHJvdmlkZXIgPSBjbGFzcyB7XG4gICAgICBjb25zdHJ1Y3Rvcihfc2V0dGluZ3MpIHtcbiAgICAgICAgdGhpcy5fc2V0dGluZ3MgPSBfc2V0dGluZ3M7XG4gICAgICAgIHRoaXMuZXJyb3JGaWx0ZXIgPSBuZXcgZXJyb3JfMS5kZWZhdWx0KHRoaXMuX3NldHRpbmdzKTtcbiAgICAgICAgdGhpcy5lbnRyeUZpbHRlciA9IG5ldyBlbnRyeV8xLmRlZmF1bHQodGhpcy5fc2V0dGluZ3MsIHRoaXMuX2dldE1pY3JvbWF0Y2hPcHRpb25zKCkpO1xuICAgICAgICB0aGlzLmRlZXBGaWx0ZXIgPSBuZXcgZGVlcF8xLmRlZmF1bHQodGhpcy5fc2V0dGluZ3MsIHRoaXMuX2dldE1pY3JvbWF0Y2hPcHRpb25zKCkpO1xuICAgICAgICB0aGlzLmVudHJ5VHJhbnNmb3JtZXIgPSBuZXcgZW50cnlfMi5kZWZhdWx0KHRoaXMuX3NldHRpbmdzKTtcbiAgICAgIH1cbiAgICAgIF9nZXRSb290RGlyZWN0b3J5KHRhc2spIHtcbiAgICAgICAgcmV0dXJuIHBhdGgxMy5yZXNvbHZlKHRoaXMuX3NldHRpbmdzLmN3ZCwgdGFzay5iYXNlKTtcbiAgICAgIH1cbiAgICAgIF9nZXRSZWFkZXJPcHRpb25zKHRhc2spIHtcbiAgICAgICAgY29uc3QgYmFzZVBhdGggPSB0YXNrLmJhc2UgPT09IFwiLlwiID8gXCJcIiA6IHRhc2suYmFzZTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBiYXNlUGF0aCxcbiAgICAgICAgICBwYXRoU2VnbWVudFNlcGFyYXRvcjogXCIvXCIsXG4gICAgICAgICAgY29uY3VycmVuY3k6IHRoaXMuX3NldHRpbmdzLmNvbmN1cnJlbmN5LFxuICAgICAgICAgIGRlZXBGaWx0ZXI6IHRoaXMuZGVlcEZpbHRlci5nZXRGaWx0ZXIoYmFzZVBhdGgsIHRhc2sucG9zaXRpdmUsIHRhc2submVnYXRpdmUpLFxuICAgICAgICAgIGVudHJ5RmlsdGVyOiB0aGlzLmVudHJ5RmlsdGVyLmdldEZpbHRlcih0YXNrLnBvc2l0aXZlLCB0YXNrLm5lZ2F0aXZlKSxcbiAgICAgICAgICBlcnJvckZpbHRlcjogdGhpcy5lcnJvckZpbHRlci5nZXRGaWx0ZXIoKSxcbiAgICAgICAgICBmb2xsb3dTeW1ib2xpY0xpbmtzOiB0aGlzLl9zZXR0aW5ncy5mb2xsb3dTeW1ib2xpY0xpbmtzLFxuICAgICAgICAgIGZzOiB0aGlzLl9zZXR0aW5ncy5mcyxcbiAgICAgICAgICBzdGF0czogdGhpcy5fc2V0dGluZ3Muc3RhdHMsXG4gICAgICAgICAgdGhyb3dFcnJvck9uQnJva2VuU3ltYm9saWNMaW5rOiB0aGlzLl9zZXR0aW5ncy50aHJvd0Vycm9yT25Ccm9rZW5TeW1ib2xpY0xpbmssXG4gICAgICAgICAgdHJhbnNmb3JtOiB0aGlzLmVudHJ5VHJhbnNmb3JtZXIuZ2V0VHJhbnNmb3JtZXIoKVxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgX2dldE1pY3JvbWF0Y2hPcHRpb25zKCkge1xuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGRvdDogdGhpcy5fc2V0dGluZ3MuZG90LFxuICAgICAgICAgIG1hdGNoQmFzZTogdGhpcy5fc2V0dGluZ3MuYmFzZU5hbWVNYXRjaCxcbiAgICAgICAgICBub2JyYWNlOiAhdGhpcy5fc2V0dGluZ3MuYnJhY2VFeHBhbnNpb24sXG4gICAgICAgICAgbm9jYXNlOiAhdGhpcy5fc2V0dGluZ3MuY2FzZVNlbnNpdGl2ZU1hdGNoLFxuICAgICAgICAgIG5vZXh0OiAhdGhpcy5fc2V0dGluZ3MuZXh0Z2xvYixcbiAgICAgICAgICBub2dsb2JzdGFyOiAhdGhpcy5fc2V0dGluZ3MuZ2xvYnN0YXIsXG4gICAgICAgICAgcG9zaXg6IHRydWUsXG4gICAgICAgICAgc3RyaWN0U2xhc2hlczogZmFsc2VcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9O1xuICAgIGV4cG9ydHMuZGVmYXVsdCA9IFByb3ZpZGVyO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2Zhc3QtZ2xvYi9vdXQvcHJvdmlkZXJzL2FzeW5jLmpzXG52YXIgcmVxdWlyZV9hc3luYzYgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZmFzdC1nbG9iL291dC9wcm92aWRlcnMvYXN5bmMuanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIHZhciBhc3luY18xID0gcmVxdWlyZV9hc3luYzUoKTtcbiAgICB2YXIgcHJvdmlkZXJfMSA9IHJlcXVpcmVfcHJvdmlkZXIoKTtcbiAgICB2YXIgUHJvdmlkZXJBc3luYyA9IGNsYXNzIGV4dGVuZHMgcHJvdmlkZXJfMS5kZWZhdWx0IHtcbiAgICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlciguLi5hcmd1bWVudHMpO1xuICAgICAgICB0aGlzLl9yZWFkZXIgPSBuZXcgYXN5bmNfMS5kZWZhdWx0KHRoaXMuX3NldHRpbmdzKTtcbiAgICAgIH1cbiAgICAgIGFzeW5jIHJlYWQodGFzaykge1xuICAgICAgICBjb25zdCByb290MiA9IHRoaXMuX2dldFJvb3REaXJlY3RvcnkodGFzayk7XG4gICAgICAgIGNvbnN0IG9wdGlvbnM4ID0gdGhpcy5fZ2V0UmVhZGVyT3B0aW9ucyh0YXNrKTtcbiAgICAgICAgY29uc3QgZW50cmllcyA9IGF3YWl0IHRoaXMuYXBpKHJvb3QyLCB0YXNrLCBvcHRpb25zOCk7XG4gICAgICAgIHJldHVybiBlbnRyaWVzLm1hcCgoZW50cnkpID0+IG9wdGlvbnM4LnRyYW5zZm9ybShlbnRyeSkpO1xuICAgICAgfVxuICAgICAgYXBpKHJvb3QyLCB0YXNrLCBvcHRpb25zOCkge1xuICAgICAgICBpZiAodGFzay5keW5hbWljKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWRlci5keW5hbWljKHJvb3QyLCBvcHRpb25zOCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWRlci5zdGF0aWModGFzay5wYXR0ZXJucywgb3B0aW9uczgpO1xuICAgICAgfVxuICAgIH07XG4gICAgZXhwb3J0cy5kZWZhdWx0ID0gUHJvdmlkZXJBc3luYztcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3Byb3ZpZGVycy9zdHJlYW0uanNcbnZhciByZXF1aXJlX3N0cmVhbTQgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZmFzdC1nbG9iL291dC9wcm92aWRlcnMvc3RyZWFtLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB2YXIgc3RyZWFtXzEgPSBfX3JlcXVpcmUoXCJzdHJlYW1cIik7XG4gICAgdmFyIHN0cmVhbV8yID0gcmVxdWlyZV9zdHJlYW0zKCk7XG4gICAgdmFyIHByb3ZpZGVyXzEgPSByZXF1aXJlX3Byb3ZpZGVyKCk7XG4gICAgdmFyIFByb3ZpZGVyU3RyZWFtID0gY2xhc3MgZXh0ZW5kcyBwcm92aWRlcl8xLmRlZmF1bHQge1xuICAgICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKC4uLmFyZ3VtZW50cyk7XG4gICAgICAgIHRoaXMuX3JlYWRlciA9IG5ldyBzdHJlYW1fMi5kZWZhdWx0KHRoaXMuX3NldHRpbmdzKTtcbiAgICAgIH1cbiAgICAgIHJlYWQodGFzaykge1xuICAgICAgICBjb25zdCByb290MiA9IHRoaXMuX2dldFJvb3REaXJlY3RvcnkodGFzayk7XG4gICAgICAgIGNvbnN0IG9wdGlvbnM4ID0gdGhpcy5fZ2V0UmVhZGVyT3B0aW9ucyh0YXNrKTtcbiAgICAgICAgY29uc3Qgc291cmNlMiA9IHRoaXMuYXBpKHJvb3QyLCB0YXNrLCBvcHRpb25zOCk7XG4gICAgICAgIGNvbnN0IGRlc3RpbmF0aW9uID0gbmV3IHN0cmVhbV8xLlJlYWRhYmxlKHsgb2JqZWN0TW9kZTogdHJ1ZSwgcmVhZDogKCkgPT4ge1xuICAgICAgICB9IH0pO1xuICAgICAgICBzb3VyY2UyLm9uY2UoXCJlcnJvclwiLCAoZXJyb3IpID0+IGRlc3RpbmF0aW9uLmVtaXQoXCJlcnJvclwiLCBlcnJvcikpLm9uKFwiZGF0YVwiLCAoZW50cnkpID0+IGRlc3RpbmF0aW9uLmVtaXQoXCJkYXRhXCIsIG9wdGlvbnM4LnRyYW5zZm9ybShlbnRyeSkpKS5vbmNlKFwiZW5kXCIsICgpID0+IGRlc3RpbmF0aW9uLmVtaXQoXCJlbmRcIikpO1xuICAgICAgICBkZXN0aW5hdGlvbi5vbmNlKFwiY2xvc2VcIiwgKCkgPT4gc291cmNlMi5kZXN0cm95KCkpO1xuICAgICAgICByZXR1cm4gZGVzdGluYXRpb247XG4gICAgICB9XG4gICAgICBhcGkocm9vdDIsIHRhc2ssIG9wdGlvbnM4KSB7XG4gICAgICAgIGlmICh0YXNrLmR5bmFtaWMpIHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fcmVhZGVyLmR5bmFtaWMocm9vdDIsIG9wdGlvbnM4KTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5fcmVhZGVyLnN0YXRpYyh0YXNrLnBhdHRlcm5zLCBvcHRpb25zOCk7XG4gICAgICB9XG4gICAgfTtcbiAgICBleHBvcnRzLmRlZmF1bHQgPSBQcm92aWRlclN0cmVhbTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3JlYWRlcnMvc3luYy5qc1xudmFyIHJlcXVpcmVfc3luYzUgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvZmFzdC1nbG9iL291dC9yZWFkZXJzL3N5bmMuanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIHZhciBmc1N0YXQgPSByZXF1aXJlX291dCgpO1xuICAgIHZhciBmc1dhbGsgPSByZXF1aXJlX291dDMoKTtcbiAgICB2YXIgcmVhZGVyXzEgPSByZXF1aXJlX3JlYWRlcjIoKTtcbiAgICB2YXIgUmVhZGVyU3luYyA9IGNsYXNzIGV4dGVuZHMgcmVhZGVyXzEuZGVmYXVsdCB7XG4gICAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICAgICAgdGhpcy5fd2Fsa1N5bmMgPSBmc1dhbGsud2Fsa1N5bmM7XG4gICAgICAgIHRoaXMuX3N0YXRTeW5jID0gZnNTdGF0LnN0YXRTeW5jO1xuICAgICAgfVxuICAgICAgZHluYW1pYyhyb290Miwgb3B0aW9uczgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3dhbGtTeW5jKHJvb3QyLCBvcHRpb25zOCk7XG4gICAgICB9XG4gICAgICBzdGF0aWMocGF0dGVybnMsIG9wdGlvbnM4KSB7XG4gICAgICAgIGNvbnN0IGVudHJpZXMgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBwYXR0ZXJuIG9mIHBhdHRlcm5zKSB7XG4gICAgICAgICAgY29uc3QgZmlsZXBhdGggPSB0aGlzLl9nZXRGdWxsRW50cnlQYXRoKHBhdHRlcm4pO1xuICAgICAgICAgIGNvbnN0IGVudHJ5ID0gdGhpcy5fZ2V0RW50cnkoZmlsZXBhdGgsIHBhdHRlcm4sIG9wdGlvbnM4KTtcbiAgICAgICAgICBpZiAoZW50cnkgPT09IG51bGwgfHwgIW9wdGlvbnM4LmVudHJ5RmlsdGVyKGVudHJ5KSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGVudHJpZXMucHVzaChlbnRyeSk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGVudHJpZXM7XG4gICAgICB9XG4gICAgICBfZ2V0RW50cnkoZmlsZXBhdGgsIHBhdHRlcm4sIG9wdGlvbnM4KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3Qgc3RhdHMgPSB0aGlzLl9nZXRTdGF0KGZpbGVwYXRoKTtcbiAgICAgICAgICByZXR1cm4gdGhpcy5fbWFrZUVudHJ5KHN0YXRzLCBwYXR0ZXJuKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBpZiAob3B0aW9uczguZXJyb3JGaWx0ZXIoZXJyb3IpKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIF9nZXRTdGF0KGZpbGVwYXRoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0U3luYyhmaWxlcGF0aCwgdGhpcy5fZnNTdGF0U2V0dGluZ3MpO1xuICAgICAgfVxuICAgIH07XG4gICAgZXhwb3J0cy5kZWZhdWx0ID0gUmVhZGVyU3luYztcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3Byb3ZpZGVycy9zeW5jLmpzXG52YXIgcmVxdWlyZV9zeW5jNiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3Byb3ZpZGVycy9zeW5jLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICB2YXIgc3luY18xID0gcmVxdWlyZV9zeW5jNSgpO1xuICAgIHZhciBwcm92aWRlcl8xID0gcmVxdWlyZV9wcm92aWRlcigpO1xuICAgIHZhciBQcm92aWRlclN5bmMgPSBjbGFzcyBleHRlbmRzIHByb3ZpZGVyXzEuZGVmYXVsdCB7XG4gICAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoLi4uYXJndW1lbnRzKTtcbiAgICAgICAgdGhpcy5fcmVhZGVyID0gbmV3IHN5bmNfMS5kZWZhdWx0KHRoaXMuX3NldHRpbmdzKTtcbiAgICAgIH1cbiAgICAgIHJlYWQodGFzaykge1xuICAgICAgICBjb25zdCByb290MiA9IHRoaXMuX2dldFJvb3REaXJlY3RvcnkodGFzayk7XG4gICAgICAgIGNvbnN0IG9wdGlvbnM4ID0gdGhpcy5fZ2V0UmVhZGVyT3B0aW9ucyh0YXNrKTtcbiAgICAgICAgY29uc3QgZW50cmllcyA9IHRoaXMuYXBpKHJvb3QyLCB0YXNrLCBvcHRpb25zOCk7XG4gICAgICAgIHJldHVybiBlbnRyaWVzLm1hcChvcHRpb25zOC50cmFuc2Zvcm0pO1xuICAgICAgfVxuICAgICAgYXBpKHJvb3QyLCB0YXNrLCBvcHRpb25zOCkge1xuICAgICAgICBpZiAodGFzay5keW5hbWljKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWRlci5keW5hbWljKHJvb3QyLCBvcHRpb25zOCk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuX3JlYWRlci5zdGF0aWModGFzay5wYXR0ZXJucywgb3B0aW9uczgpO1xuICAgICAgfVxuICAgIH07XG4gICAgZXhwb3J0cy5kZWZhdWx0ID0gUHJvdmlkZXJTeW5jO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2Zhc3QtZ2xvYi9vdXQvc2V0dGluZ3MuanNcbnZhciByZXF1aXJlX3NldHRpbmdzNCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L3NldHRpbmdzLmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwgeyB2YWx1ZTogdHJ1ZSB9KTtcbiAgICBleHBvcnRzLkRFRkFVTFRfRklMRV9TWVNURU1fQURBUFRFUiA9IHZvaWQgMDtcbiAgICB2YXIgZnM3ID0gX19yZXF1aXJlKFwiZnNcIik7XG4gICAgdmFyIG9zMiA9IF9fcmVxdWlyZShcIm9zXCIpO1xuICAgIHZhciBDUFVfQ09VTlQgPSBNYXRoLm1heChvczIuY3B1cygpLmxlbmd0aCwgMSk7XG4gICAgZXhwb3J0cy5ERUZBVUxUX0ZJTEVfU1lTVEVNX0FEQVBURVIgPSB7XG4gICAgICBsc3RhdDogZnM3LmxzdGF0LFxuICAgICAgbHN0YXRTeW5jOiBmczcubHN0YXRTeW5jLFxuICAgICAgc3RhdDogZnM3LnN0YXQsXG4gICAgICBzdGF0U3luYzogZnM3LnN0YXRTeW5jLFxuICAgICAgcmVhZGRpcjogZnM3LnJlYWRkaXIsXG4gICAgICByZWFkZGlyU3luYzogZnM3LnJlYWRkaXJTeW5jXG4gICAgfTtcbiAgICB2YXIgU2V0dGluZ3MgPSBjbGFzcyB7XG4gICAgICBjb25zdHJ1Y3Rvcihfb3B0aW9ucyA9IHt9KSB7XG4gICAgICAgIHRoaXMuX29wdGlvbnMgPSBfb3B0aW9ucztcbiAgICAgICAgdGhpcy5hYnNvbHV0ZSA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX29wdGlvbnMuYWJzb2x1dGUsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5iYXNlTmFtZU1hdGNoID0gdGhpcy5fZ2V0VmFsdWUodGhpcy5fb3B0aW9ucy5iYXNlTmFtZU1hdGNoLCBmYWxzZSk7XG4gICAgICAgIHRoaXMuYnJhY2VFeHBhbnNpb24gPSB0aGlzLl9nZXRWYWx1ZSh0aGlzLl9vcHRpb25zLmJyYWNlRXhwYW5zaW9uLCB0cnVlKTtcbiAgICAgICAgdGhpcy5jYXNlU2Vuc2l0aXZlTWF0Y2ggPSB0aGlzLl9nZXRWYWx1ZSh0aGlzLl9vcHRpb25zLmNhc2VTZW5zaXRpdmVNYXRjaCwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuY29uY3VycmVuY3kgPSB0aGlzLl9nZXRWYWx1ZSh0aGlzLl9vcHRpb25zLmNvbmN1cnJlbmN5LCBDUFVfQ09VTlQpO1xuICAgICAgICB0aGlzLmN3ZCA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX29wdGlvbnMuY3dkLCBwcm9jZXNzLmN3ZCgpKTtcbiAgICAgICAgdGhpcy5kZWVwID0gdGhpcy5fZ2V0VmFsdWUodGhpcy5fb3B0aW9ucy5kZWVwLCBJbmZpbml0eSk7XG4gICAgICAgIHRoaXMuZG90ID0gdGhpcy5fZ2V0VmFsdWUodGhpcy5fb3B0aW9ucy5kb3QsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5leHRnbG9iID0gdGhpcy5fZ2V0VmFsdWUodGhpcy5fb3B0aW9ucy5leHRnbG9iLCB0cnVlKTtcbiAgICAgICAgdGhpcy5mb2xsb3dTeW1ib2xpY0xpbmtzID0gdGhpcy5fZ2V0VmFsdWUodGhpcy5fb3B0aW9ucy5mb2xsb3dTeW1ib2xpY0xpbmtzLCB0cnVlKTtcbiAgICAgICAgdGhpcy5mcyA9IHRoaXMuX2dldEZpbGVTeXN0ZW1NZXRob2RzKHRoaXMuX29wdGlvbnMuZnMpO1xuICAgICAgICB0aGlzLmdsb2JzdGFyID0gdGhpcy5fZ2V0VmFsdWUodGhpcy5fb3B0aW9ucy5nbG9ic3RhciwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuaWdub3JlID0gdGhpcy5fZ2V0VmFsdWUodGhpcy5fb3B0aW9ucy5pZ25vcmUsIFtdKTtcbiAgICAgICAgdGhpcy5tYXJrRGlyZWN0b3JpZXMgPSB0aGlzLl9nZXRWYWx1ZSh0aGlzLl9vcHRpb25zLm1hcmtEaXJlY3RvcmllcywgZmFsc2UpO1xuICAgICAgICB0aGlzLm9iamVjdE1vZGUgPSB0aGlzLl9nZXRWYWx1ZSh0aGlzLl9vcHRpb25zLm9iamVjdE1vZGUsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5vbmx5RGlyZWN0b3JpZXMgPSB0aGlzLl9nZXRWYWx1ZSh0aGlzLl9vcHRpb25zLm9ubHlEaXJlY3RvcmllcywgZmFsc2UpO1xuICAgICAgICB0aGlzLm9ubHlGaWxlcyA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX29wdGlvbnMub25seUZpbGVzLCB0cnVlKTtcbiAgICAgICAgdGhpcy5zdGF0cyA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX29wdGlvbnMuc3RhdHMsIGZhbHNlKTtcbiAgICAgICAgdGhpcy5zdXBwcmVzc0Vycm9ycyA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX29wdGlvbnMuc3VwcHJlc3NFcnJvcnMsIGZhbHNlKTtcbiAgICAgICAgdGhpcy50aHJvd0Vycm9yT25Ccm9rZW5TeW1ib2xpY0xpbmsgPSB0aGlzLl9nZXRWYWx1ZSh0aGlzLl9vcHRpb25zLnRocm93RXJyb3JPbkJyb2tlblN5bWJvbGljTGluaywgZmFsc2UpO1xuICAgICAgICB0aGlzLnVuaXF1ZSA9IHRoaXMuX2dldFZhbHVlKHRoaXMuX29wdGlvbnMudW5pcXVlLCB0cnVlKTtcbiAgICAgICAgaWYgKHRoaXMub25seURpcmVjdG9yaWVzKSB7XG4gICAgICAgICAgdGhpcy5vbmx5RmlsZXMgPSBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5zdGF0cykge1xuICAgICAgICAgIHRoaXMub2JqZWN0TW9kZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5pZ25vcmUgPSBbXS5jb25jYXQodGhpcy5pZ25vcmUpO1xuICAgICAgfVxuICAgICAgX2dldFZhbHVlKG9wdGlvbiwgdmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIG9wdGlvbiA9PT0gdm9pZCAwID8gdmFsdWUgOiBvcHRpb247XG4gICAgICB9XG4gICAgICBfZ2V0RmlsZVN5c3RlbU1ldGhvZHMobWV0aG9kcyA9IHt9KSB7XG4gICAgICAgIHJldHVybiBPYmplY3QuYXNzaWduKE9iamVjdC5hc3NpZ24oe30sIGV4cG9ydHMuREVGQVVMVF9GSUxFX1NZU1RFTV9BREFQVEVSKSwgbWV0aG9kcyk7XG4gICAgICB9XG4gICAgfTtcbiAgICBleHBvcnRzLmRlZmF1bHQgPSBTZXR0aW5ncztcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9mYXN0LWdsb2Ivb3V0L2luZGV4LmpzXG52YXIgcmVxdWlyZV9vdXQ0ID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2Zhc3QtZ2xvYi9vdXQvaW5kZXguanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgdGFza01hbmFnZXIgPSByZXF1aXJlX3Rhc2tzKCk7XG4gICAgdmFyIGFzeW5jXzEgPSByZXF1aXJlX2FzeW5jNigpO1xuICAgIHZhciBzdHJlYW1fMSA9IHJlcXVpcmVfc3RyZWFtNCgpO1xuICAgIHZhciBzeW5jXzEgPSByZXF1aXJlX3N5bmM2KCk7XG4gICAgdmFyIHNldHRpbmdzXzEgPSByZXF1aXJlX3NldHRpbmdzNCgpO1xuICAgIHZhciB1dGlscyA9IHJlcXVpcmVfdXRpbHMzKCk7XG4gICAgYXN5bmMgZnVuY3Rpb24gRmFzdEdsb2Ioc291cmNlMiwgb3B0aW9uczgpIHtcbiAgICAgIGFzc2VydFBhdHRlcm5zSW5wdXQoc291cmNlMik7XG4gICAgICBjb25zdCB3b3JrcyA9IGdldFdvcmtzKHNvdXJjZTIsIGFzeW5jXzEuZGVmYXVsdCwgb3B0aW9uczgpO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgUHJvbWlzZS5hbGwod29ya3MpO1xuICAgICAgcmV0dXJuIHV0aWxzLmFycmF5LmZsYXR0ZW4ocmVzdWx0KTtcbiAgICB9XG4gICAgKGZ1bmN0aW9uKEZhc3RHbG9iMikge1xuICAgICAgRmFzdEdsb2IyLmdsb2IgPSBGYXN0R2xvYjI7XG4gICAgICBGYXN0R2xvYjIuZ2xvYlN5bmMgPSBzeW5jO1xuICAgICAgRmFzdEdsb2IyLmdsb2JTdHJlYW0gPSBzdHJlYW07XG4gICAgICBGYXN0R2xvYjIuYXN5bmMgPSBGYXN0R2xvYjI7XG4gICAgICBmdW5jdGlvbiBzeW5jKHNvdXJjZTIsIG9wdGlvbnM4KSB7XG4gICAgICAgIGFzc2VydFBhdHRlcm5zSW5wdXQoc291cmNlMik7XG4gICAgICAgIGNvbnN0IHdvcmtzID0gZ2V0V29ya3Moc291cmNlMiwgc3luY18xLmRlZmF1bHQsIG9wdGlvbnM4KTtcbiAgICAgICAgcmV0dXJuIHV0aWxzLmFycmF5LmZsYXR0ZW4od29ya3MpO1xuICAgICAgfVxuICAgICAgRmFzdEdsb2IyLnN5bmMgPSBzeW5jO1xuICAgICAgZnVuY3Rpb24gc3RyZWFtKHNvdXJjZTIsIG9wdGlvbnM4KSB7XG4gICAgICAgIGFzc2VydFBhdHRlcm5zSW5wdXQoc291cmNlMik7XG4gICAgICAgIGNvbnN0IHdvcmtzID0gZ2V0V29ya3Moc291cmNlMiwgc3RyZWFtXzEuZGVmYXVsdCwgb3B0aW9uczgpO1xuICAgICAgICByZXR1cm4gdXRpbHMuc3RyZWFtLm1lcmdlKHdvcmtzKTtcbiAgICAgIH1cbiAgICAgIEZhc3RHbG9iMi5zdHJlYW0gPSBzdHJlYW07XG4gICAgICBmdW5jdGlvbiBnZW5lcmF0ZVRhc2tzKHNvdXJjZTIsIG9wdGlvbnM4KSB7XG4gICAgICAgIGFzc2VydFBhdHRlcm5zSW5wdXQoc291cmNlMik7XG4gICAgICAgIGNvbnN0IHBhdHRlcm5zID0gW10uY29uY2F0KHNvdXJjZTIpO1xuICAgICAgICBjb25zdCBzZXR0aW5ncyA9IG5ldyBzZXR0aW5nc18xLmRlZmF1bHQob3B0aW9uczgpO1xuICAgICAgICByZXR1cm4gdGFza01hbmFnZXIuZ2VuZXJhdGUocGF0dGVybnMsIHNldHRpbmdzKTtcbiAgICAgIH1cbiAgICAgIEZhc3RHbG9iMi5nZW5lcmF0ZVRhc2tzID0gZ2VuZXJhdGVUYXNrcztcbiAgICAgIGZ1bmN0aW9uIGlzRHluYW1pY1BhdHRlcm4oc291cmNlMiwgb3B0aW9uczgpIHtcbiAgICAgICAgYXNzZXJ0UGF0dGVybnNJbnB1dChzb3VyY2UyKTtcbiAgICAgICAgY29uc3Qgc2V0dGluZ3MgPSBuZXcgc2V0dGluZ3NfMS5kZWZhdWx0KG9wdGlvbnM4KTtcbiAgICAgICAgcmV0dXJuIHV0aWxzLnBhdHRlcm4uaXNEeW5hbWljUGF0dGVybihzb3VyY2UyLCBzZXR0aW5ncyk7XG4gICAgICB9XG4gICAgICBGYXN0R2xvYjIuaXNEeW5hbWljUGF0dGVybiA9IGlzRHluYW1pY1BhdHRlcm47XG4gICAgICBmdW5jdGlvbiBlc2NhcGVQYXRoKHNvdXJjZTIpIHtcbiAgICAgICAgYXNzZXJ0UGF0dGVybnNJbnB1dChzb3VyY2UyKTtcbiAgICAgICAgcmV0dXJuIHV0aWxzLnBhdGguZXNjYXBlKHNvdXJjZTIpO1xuICAgICAgfVxuICAgICAgRmFzdEdsb2IyLmVzY2FwZVBhdGggPSBlc2NhcGVQYXRoO1xuICAgICAgZnVuY3Rpb24gY29udmVydFBhdGhUb1BhdHRlcm4oc291cmNlMikge1xuICAgICAgICBhc3NlcnRQYXR0ZXJuc0lucHV0KHNvdXJjZTIpO1xuICAgICAgICByZXR1cm4gdXRpbHMucGF0aC5jb252ZXJ0UGF0aFRvUGF0dGVybihzb3VyY2UyKTtcbiAgICAgIH1cbiAgICAgIEZhc3RHbG9iMi5jb252ZXJ0UGF0aFRvUGF0dGVybiA9IGNvbnZlcnRQYXRoVG9QYXR0ZXJuO1xuICAgICAgbGV0IHBvc2l4O1xuICAgICAgKGZ1bmN0aW9uKHBvc2l4Mikge1xuICAgICAgICBmdW5jdGlvbiBlc2NhcGVQYXRoMihzb3VyY2UyKSB7XG4gICAgICAgICAgYXNzZXJ0UGF0dGVybnNJbnB1dChzb3VyY2UyKTtcbiAgICAgICAgICByZXR1cm4gdXRpbHMucGF0aC5lc2NhcGVQb3NpeFBhdGgoc291cmNlMik7XG4gICAgICAgIH1cbiAgICAgICAgcG9zaXgyLmVzY2FwZVBhdGggPSBlc2NhcGVQYXRoMjtcbiAgICAgICAgZnVuY3Rpb24gY29udmVydFBhdGhUb1BhdHRlcm4yKHNvdXJjZTIpIHtcbiAgICAgICAgICBhc3NlcnRQYXR0ZXJuc0lucHV0KHNvdXJjZTIpO1xuICAgICAgICAgIHJldHVybiB1dGlscy5wYXRoLmNvbnZlcnRQb3NpeFBhdGhUb1BhdHRlcm4oc291cmNlMik7XG4gICAgICAgIH1cbiAgICAgICAgcG9zaXgyLmNvbnZlcnRQYXRoVG9QYXR0ZXJuID0gY29udmVydFBhdGhUb1BhdHRlcm4yO1xuICAgICAgfSkocG9zaXggPSBGYXN0R2xvYjIucG9zaXggfHwgKEZhc3RHbG9iMi5wb3NpeCA9IHt9KSk7XG4gICAgICBsZXQgd2luMzI7XG4gICAgICAoZnVuY3Rpb24od2luMzIyKSB7XG4gICAgICAgIGZ1bmN0aW9uIGVzY2FwZVBhdGgyKHNvdXJjZTIpIHtcbiAgICAgICAgICBhc3NlcnRQYXR0ZXJuc0lucHV0KHNvdXJjZTIpO1xuICAgICAgICAgIHJldHVybiB1dGlscy5wYXRoLmVzY2FwZVdpbmRvd3NQYXRoKHNvdXJjZTIpO1xuICAgICAgICB9XG4gICAgICAgIHdpbjMyMi5lc2NhcGVQYXRoID0gZXNjYXBlUGF0aDI7XG4gICAgICAgIGZ1bmN0aW9uIGNvbnZlcnRQYXRoVG9QYXR0ZXJuMihzb3VyY2UyKSB7XG4gICAgICAgICAgYXNzZXJ0UGF0dGVybnNJbnB1dChzb3VyY2UyKTtcbiAgICAgICAgICByZXR1cm4gdXRpbHMucGF0aC5jb252ZXJ0V2luZG93c1BhdGhUb1BhdHRlcm4oc291cmNlMik7XG4gICAgICAgIH1cbiAgICAgICAgd2luMzIyLmNvbnZlcnRQYXRoVG9QYXR0ZXJuID0gY29udmVydFBhdGhUb1BhdHRlcm4yO1xuICAgICAgfSkod2luMzIgPSBGYXN0R2xvYjIud2luMzIgfHwgKEZhc3RHbG9iMi53aW4zMiA9IHt9KSk7XG4gICAgfSkoRmFzdEdsb2IgfHwgKEZhc3RHbG9iID0ge30pKTtcbiAgICBmdW5jdGlvbiBnZXRXb3Jrcyhzb3VyY2UyLCBfUHJvdmlkZXIsIG9wdGlvbnM4KSB7XG4gICAgICBjb25zdCBwYXR0ZXJucyA9IFtdLmNvbmNhdChzb3VyY2UyKTtcbiAgICAgIGNvbnN0IHNldHRpbmdzID0gbmV3IHNldHRpbmdzXzEuZGVmYXVsdChvcHRpb25zOCk7XG4gICAgICBjb25zdCB0YXNrcyA9IHRhc2tNYW5hZ2VyLmdlbmVyYXRlKHBhdHRlcm5zLCBzZXR0aW5ncyk7XG4gICAgICBjb25zdCBwcm92aWRlciA9IG5ldyBfUHJvdmlkZXIoc2V0dGluZ3MpO1xuICAgICAgcmV0dXJuIHRhc2tzLm1hcChwcm92aWRlci5yZWFkLCBwcm92aWRlcik7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGFzc2VydFBhdHRlcm5zSW5wdXQoaW5wdXQpIHtcbiAgICAgIGNvbnN0IHNvdXJjZTIgPSBbXS5jb25jYXQoaW5wdXQpO1xuICAgICAgY29uc3QgaXNWYWxpZFNvdXJjZSA9IHNvdXJjZTIuZXZlcnkoKGl0ZW0pID0+IHV0aWxzLnN0cmluZy5pc1N0cmluZyhpdGVtKSAmJiAhdXRpbHMuc3RyaW5nLmlzRW1wdHkoaXRlbSkpO1xuICAgICAgaWYgKCFpc1ZhbGlkU291cmNlKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQYXR0ZXJucyBtdXN0IGJlIGEgc3RyaW5nIChub24gZW1wdHkpIG9yIGFuIGFycmF5IG9mIHN0cmluZ3NcIik7XG4gICAgICB9XG4gICAgfVxuICAgIG1vZHVsZS5leHBvcnRzID0gRmFzdEdsb2I7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvc2VtdmVyL2ludGVybmFsL2RlYnVnLmpzXG52YXIgcmVxdWlyZV9kZWJ1ZyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9zZW12ZXIvaW50ZXJuYWwvZGVidWcuanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICB2YXIgZGVidWcgPSB0eXBlb2YgcHJvY2VzcyA9PT0gXCJvYmplY3RcIiAmJiBwcm9jZXNzLmVudiAmJiBwcm9jZXNzLmVudi5OT0RFX0RFQlVHICYmIC9cXGJzZW12ZXJcXGIvaS50ZXN0KHByb2Nlc3MuZW52Lk5PREVfREVCVUcpID8gKC4uLmFyZ3MpID0+IGNvbnNvbGUuZXJyb3IoXCJTRU1WRVJcIiwgLi4uYXJncykgOiAoKSA9PiB7XG4gICAgfTtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IGRlYnVnO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3NlbXZlci9pbnRlcm5hbC9jb25zdGFudHMuanNcbnZhciByZXF1aXJlX2NvbnN0YW50czQgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvc2VtdmVyL2ludGVybmFsL2NvbnN0YW50cy5qc1wiKGV4cG9ydHMsIG1vZHVsZSkge1xuICAgIHZhciBTRU1WRVJfU1BFQ19WRVJTSU9OID0gXCIyLjAuMFwiO1xuICAgIHZhciBNQVhfTEVOR1RIID0gMjU2O1xuICAgIHZhciBNQVhfU0FGRV9JTlRFR0VSID0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVIgfHwgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgICA5MDA3MTk5MjU0NzQwOTkxO1xuICAgIHZhciBNQVhfU0FGRV9DT01QT05FTlRfTEVOR1RIID0gMTY7XG4gICAgdmFyIE1BWF9TQUZFX0JVSUxEX0xFTkdUSCA9IE1BWF9MRU5HVEggLSA2O1xuICAgIHZhciBSRUxFQVNFX1RZUEVTID0gW1xuICAgICAgXCJtYWpvclwiLFxuICAgICAgXCJwcmVtYWpvclwiLFxuICAgICAgXCJtaW5vclwiLFxuICAgICAgXCJwcmVtaW5vclwiLFxuICAgICAgXCJwYXRjaFwiLFxuICAgICAgXCJwcmVwYXRjaFwiLFxuICAgICAgXCJwcmVyZWxlYXNlXCJcbiAgICBdO1xuICAgIG1vZHVsZS5leHBvcnRzID0ge1xuICAgICAgTUFYX0xFTkdUSCxcbiAgICAgIE1BWF9TQUZFX0NPTVBPTkVOVF9MRU5HVEgsXG4gICAgICBNQVhfU0FGRV9CVUlMRF9MRU5HVEgsXG4gICAgICBNQVhfU0FGRV9JTlRFR0VSLFxuICAgICAgUkVMRUFTRV9UWVBFUyxcbiAgICAgIFNFTVZFUl9TUEVDX1ZFUlNJT04sXG4gICAgICBGTEFHX0lOQ0xVREVfUFJFUkVMRUFTRTogMSxcbiAgICAgIEZMQUdfTE9PU0U6IDJcbiAgICB9O1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3NlbXZlci9pbnRlcm5hbC9yZS5qc1xudmFyIHJlcXVpcmVfcmUgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvc2VtdmVyL2ludGVybmFsL3JlLmpzXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgdmFyIHtcbiAgICAgIE1BWF9TQUZFX0NPTVBPTkVOVF9MRU5HVEgsXG4gICAgICBNQVhfU0FGRV9CVUlMRF9MRU5HVEgsXG4gICAgICBNQVhfTEVOR1RIXG4gICAgfSA9IHJlcXVpcmVfY29uc3RhbnRzNCgpO1xuICAgIHZhciBkZWJ1ZyA9IHJlcXVpcmVfZGVidWcoKTtcbiAgICBleHBvcnRzID0gbW9kdWxlLmV4cG9ydHMgPSB7fTtcbiAgICB2YXIgcmUgPSBleHBvcnRzLnJlID0gW107XG4gICAgdmFyIHNhZmVSZSA9IGV4cG9ydHMuc2FmZVJlID0gW107XG4gICAgdmFyIHNyYyA9IGV4cG9ydHMuc3JjID0gW107XG4gICAgdmFyIHQgPSBleHBvcnRzLnQgPSB7fTtcbiAgICB2YXIgUiA9IDA7XG4gICAgdmFyIExFVFRFUkRBU0hOVU1CRVIgPSBcIlthLXpBLVowLTktXVwiO1xuICAgIHZhciBzYWZlUmVnZXhSZXBsYWNlbWVudHMgPSBbXG4gICAgICBbXCJcXFxcc1wiLCAxXSxcbiAgICAgIFtcIlxcXFxkXCIsIE1BWF9MRU5HVEhdLFxuICAgICAgW0xFVFRFUkRBU0hOVU1CRVIsIE1BWF9TQUZFX0JVSUxEX0xFTkdUSF1cbiAgICBdO1xuICAgIHZhciBtYWtlU2FmZVJlZ2V4ID0gKHZhbHVlKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IFt0b2tlbjIsIG1heF0gb2Ygc2FmZVJlZ2V4UmVwbGFjZW1lbnRzKSB7XG4gICAgICAgIHZhbHVlID0gdmFsdWUuc3BsaXQoYCR7dG9rZW4yfSpgKS5qb2luKGAke3Rva2VuMn17MCwke21heH19YCkuc3BsaXQoYCR7dG9rZW4yfStgKS5qb2luKGAke3Rva2VuMn17MSwke21heH19YCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfTtcbiAgICB2YXIgY3JlYXRlVG9rZW4gPSAobmFtZSwgdmFsdWUsIGlzR2xvYmFsKSA9PiB7XG4gICAgICBjb25zdCBzYWZlID0gbWFrZVNhZmVSZWdleCh2YWx1ZSk7XG4gICAgICBjb25zdCBpbmRleCA9IFIrKztcbiAgICAgIGRlYnVnKG5hbWUsIGluZGV4LCB2YWx1ZSk7XG4gICAgICB0W25hbWVdID0gaW5kZXg7XG4gICAgICBzcmNbaW5kZXhdID0gdmFsdWU7XG4gICAgICByZVtpbmRleF0gPSBuZXcgUmVnRXhwKHZhbHVlLCBpc0dsb2JhbCA/IFwiZ1wiIDogdm9pZCAwKTtcbiAgICAgIHNhZmVSZVtpbmRleF0gPSBuZXcgUmVnRXhwKHNhZmUsIGlzR2xvYmFsID8gXCJnXCIgOiB2b2lkIDApO1xuICAgIH07XG4gICAgY3JlYXRlVG9rZW4oXCJOVU1FUklDSURFTlRJRklFUlwiLCBcIjB8WzEtOV1cXFxcZCpcIik7XG4gICAgY3JlYXRlVG9rZW4oXCJOVU1FUklDSURFTlRJRklFUkxPT1NFXCIsIFwiXFxcXGQrXCIpO1xuICAgIGNyZWF0ZVRva2VuKFwiTk9OTlVNRVJJQ0lERU5USUZJRVJcIiwgYFxcXFxkKlthLXpBLVotXSR7TEVUVEVSREFTSE5VTUJFUn0qYCk7XG4gICAgY3JlYXRlVG9rZW4oXCJNQUlOVkVSU0lPTlwiLCBgKCR7c3JjW3QuTlVNRVJJQ0lERU5USUZJRVJdfSlcXFxcLigke3NyY1t0Lk5VTUVSSUNJREVOVElGSUVSXX0pXFxcXC4oJHtzcmNbdC5OVU1FUklDSURFTlRJRklFUl19KWApO1xuICAgIGNyZWF0ZVRva2VuKFwiTUFJTlZFUlNJT05MT09TRVwiLCBgKCR7c3JjW3QuTlVNRVJJQ0lERU5USUZJRVJMT09TRV19KVxcXFwuKCR7c3JjW3QuTlVNRVJJQ0lERU5USUZJRVJMT09TRV19KVxcXFwuKCR7c3JjW3QuTlVNRVJJQ0lERU5USUZJRVJMT09TRV19KWApO1xuICAgIGNyZWF0ZVRva2VuKFwiUFJFUkVMRUFTRUlERU5USUZJRVJcIiwgYCg/OiR7c3JjW3QuTlVNRVJJQ0lERU5USUZJRVJdfXwke3NyY1t0Lk5PTk5VTUVSSUNJREVOVElGSUVSXX0pYCk7XG4gICAgY3JlYXRlVG9rZW4oXCJQUkVSRUxFQVNFSURFTlRJRklFUkxPT1NFXCIsIGAoPzoke3NyY1t0Lk5VTUVSSUNJREVOVElGSUVSTE9PU0VdfXwke3NyY1t0Lk5PTk5VTUVSSUNJREVOVElGSUVSXX0pYCk7XG4gICAgY3JlYXRlVG9rZW4oXCJQUkVSRUxFQVNFXCIsIGAoPzotKCR7c3JjW3QuUFJFUkVMRUFTRUlERU5USUZJRVJdfSg/OlxcXFwuJHtzcmNbdC5QUkVSRUxFQVNFSURFTlRJRklFUl19KSopKWApO1xuICAgIGNyZWF0ZVRva2VuKFwiUFJFUkVMRUFTRUxPT1NFXCIsIGAoPzotPygke3NyY1t0LlBSRVJFTEVBU0VJREVOVElGSUVSTE9PU0VdfSg/OlxcXFwuJHtzcmNbdC5QUkVSRUxFQVNFSURFTlRJRklFUkxPT1NFXX0pKikpYCk7XG4gICAgY3JlYXRlVG9rZW4oXCJCVUlMRElERU5USUZJRVJcIiwgYCR7TEVUVEVSREFTSE5VTUJFUn0rYCk7XG4gICAgY3JlYXRlVG9rZW4oXCJCVUlMRFwiLCBgKD86XFxcXCsoJHtzcmNbdC5CVUlMRElERU5USUZJRVJdfSg/OlxcXFwuJHtzcmNbdC5CVUlMRElERU5USUZJRVJdfSkqKSlgKTtcbiAgICBjcmVhdGVUb2tlbihcIkZVTExQTEFJTlwiLCBgdj8ke3NyY1t0Lk1BSU5WRVJTSU9OXX0ke3NyY1t0LlBSRVJFTEVBU0VdfT8ke3NyY1t0LkJVSUxEXX0/YCk7XG4gICAgY3JlYXRlVG9rZW4oXCJGVUxMXCIsIGBeJHtzcmNbdC5GVUxMUExBSU5dfSRgKTtcbiAgICBjcmVhdGVUb2tlbihcIkxPT1NFUExBSU5cIiwgYFt2PVxcXFxzXSoke3NyY1t0Lk1BSU5WRVJTSU9OTE9PU0VdfSR7c3JjW3QuUFJFUkVMRUFTRUxPT1NFXX0/JHtzcmNbdC5CVUlMRF19P2ApO1xuICAgIGNyZWF0ZVRva2VuKFwiTE9PU0VcIiwgYF4ke3NyY1t0LkxPT1NFUExBSU5dfSRgKTtcbiAgICBjcmVhdGVUb2tlbihcIkdUTFRcIiwgXCIoKD86PHw+KT89PylcIik7XG4gICAgY3JlYXRlVG9rZW4oXCJYUkFOR0VJREVOVElGSUVSTE9PU0VcIiwgYCR7c3JjW3QuTlVNRVJJQ0lERU5USUZJRVJMT09TRV19fHh8WHxcXFxcKmApO1xuICAgIGNyZWF0ZVRva2VuKFwiWFJBTkdFSURFTlRJRklFUlwiLCBgJHtzcmNbdC5OVU1FUklDSURFTlRJRklFUl19fHh8WHxcXFxcKmApO1xuICAgIGNyZWF0ZVRva2VuKFwiWFJBTkdFUExBSU5cIiwgYFt2PVxcXFxzXSooJHtzcmNbdC5YUkFOR0VJREVOVElGSUVSXX0pKD86XFxcXC4oJHtzcmNbdC5YUkFOR0VJREVOVElGSUVSXX0pKD86XFxcXC4oJHtzcmNbdC5YUkFOR0VJREVOVElGSUVSXX0pKD86JHtzcmNbdC5QUkVSRUxFQVNFXX0pPyR7c3JjW3QuQlVJTERdfT8pPyk/YCk7XG4gICAgY3JlYXRlVG9rZW4oXCJYUkFOR0VQTEFJTkxPT1NFXCIsIGBbdj1cXFxcc10qKCR7c3JjW3QuWFJBTkdFSURFTlRJRklFUkxPT1NFXX0pKD86XFxcXC4oJHtzcmNbdC5YUkFOR0VJREVOVElGSUVSTE9PU0VdfSkoPzpcXFxcLigke3NyY1t0LlhSQU5HRUlERU5USUZJRVJMT09TRV19KSg/OiR7c3JjW3QuUFJFUkVMRUFTRUxPT1NFXX0pPyR7c3JjW3QuQlVJTERdfT8pPyk/YCk7XG4gICAgY3JlYXRlVG9rZW4oXCJYUkFOR0VcIiwgYF4ke3NyY1t0LkdUTFRdfVxcXFxzKiR7c3JjW3QuWFJBTkdFUExBSU5dfSRgKTtcbiAgICBjcmVhdGVUb2tlbihcIlhSQU5HRUxPT1NFXCIsIGBeJHtzcmNbdC5HVExUXX1cXFxccyoke3NyY1t0LlhSQU5HRVBMQUlOTE9PU0VdfSRgKTtcbiAgICBjcmVhdGVUb2tlbihcIkNPRVJDRVBMQUlOXCIsIGAke1wiKF58W15cXFxcZF0pKFxcXFxkezEsXCJ9JHtNQVhfU0FGRV9DT01QT05FTlRfTEVOR1RIfX0pKD86XFxcXC4oXFxcXGR7MSwke01BWF9TQUZFX0NPTVBPTkVOVF9MRU5HVEh9fSkpPyg/OlxcXFwuKFxcXFxkezEsJHtNQVhfU0FGRV9DT01QT05FTlRfTEVOR1RIfX0pKT9gKTtcbiAgICBjcmVhdGVUb2tlbihcIkNPRVJDRVwiLCBgJHtzcmNbdC5DT0VSQ0VQTEFJTl19KD86JHxbXlxcXFxkXSlgKTtcbiAgICBjcmVhdGVUb2tlbihcIkNPRVJDRUZVTExcIiwgc3JjW3QuQ09FUkNFUExBSU5dICsgYCg/OiR7c3JjW3QuUFJFUkVMRUFTRV19KT8oPzoke3NyY1t0LkJVSUxEXX0pPyg/OiR8W15cXFxcZF0pYCk7XG4gICAgY3JlYXRlVG9rZW4oXCJDT0VSQ0VSVExcIiwgc3JjW3QuQ09FUkNFXSwgdHJ1ZSk7XG4gICAgY3JlYXRlVG9rZW4oXCJDT0VSQ0VSVExGVUxMXCIsIHNyY1t0LkNPRVJDRUZVTExdLCB0cnVlKTtcbiAgICBjcmVhdGVUb2tlbihcIkxPTkVUSUxERVwiLCBcIig/On4+PylcIik7XG4gICAgY3JlYXRlVG9rZW4oXCJUSUxERVRSSU1cIiwgYChcXFxccyopJHtzcmNbdC5MT05FVElMREVdfVxcXFxzK2AsIHRydWUpO1xuICAgIGV4cG9ydHMudGlsZGVUcmltUmVwbGFjZSA9IFwiJDF+XCI7XG4gICAgY3JlYXRlVG9rZW4oXCJUSUxERVwiLCBgXiR7c3JjW3QuTE9ORVRJTERFXX0ke3NyY1t0LlhSQU5HRVBMQUlOXX0kYCk7XG4gICAgY3JlYXRlVG9rZW4oXCJUSUxERUxPT1NFXCIsIGBeJHtzcmNbdC5MT05FVElMREVdfSR7c3JjW3QuWFJBTkdFUExBSU5MT09TRV19JGApO1xuICAgIGNyZWF0ZVRva2VuKFwiTE9ORUNBUkVUXCIsIFwiKD86XFxcXF4pXCIpO1xuICAgIGNyZWF0ZVRva2VuKFwiQ0FSRVRUUklNXCIsIGAoXFxcXHMqKSR7c3JjW3QuTE9ORUNBUkVUXX1cXFxccytgLCB0cnVlKTtcbiAgICBleHBvcnRzLmNhcmV0VHJpbVJlcGxhY2UgPSBcIiQxXlwiO1xuICAgIGNyZWF0ZVRva2VuKFwiQ0FSRVRcIiwgYF4ke3NyY1t0LkxPTkVDQVJFVF19JHtzcmNbdC5YUkFOR0VQTEFJTl19JGApO1xuICAgIGNyZWF0ZVRva2VuKFwiQ0FSRVRMT09TRVwiLCBgXiR7c3JjW3QuTE9ORUNBUkVUXX0ke3NyY1t0LlhSQU5HRVBMQUlOTE9PU0VdfSRgKTtcbiAgICBjcmVhdGVUb2tlbihcIkNPTVBBUkFUT1JMT09TRVwiLCBgXiR7c3JjW3QuR1RMVF19XFxcXHMqKCR7c3JjW3QuTE9PU0VQTEFJTl19KSR8XiRgKTtcbiAgICBjcmVhdGVUb2tlbihcIkNPTVBBUkFUT1JcIiwgYF4ke3NyY1t0LkdUTFRdfVxcXFxzKigke3NyY1t0LkZVTExQTEFJTl19KSR8XiRgKTtcbiAgICBjcmVhdGVUb2tlbihcIkNPTVBBUkFUT1JUUklNXCIsIGAoXFxcXHMqKSR7c3JjW3QuR1RMVF19XFxcXHMqKCR7c3JjW3QuTE9PU0VQTEFJTl19fCR7c3JjW3QuWFJBTkdFUExBSU5dfSlgLCB0cnVlKTtcbiAgICBleHBvcnRzLmNvbXBhcmF0b3JUcmltUmVwbGFjZSA9IFwiJDEkMiQzXCI7XG4gICAgY3JlYXRlVG9rZW4oXCJIWVBIRU5SQU5HRVwiLCBgXlxcXFxzKigke3NyY1t0LlhSQU5HRVBMQUlOXX0pXFxcXHMrLVxcXFxzKygke3NyY1t0LlhSQU5HRVBMQUlOXX0pXFxcXHMqJGApO1xuICAgIGNyZWF0ZVRva2VuKFwiSFlQSEVOUkFOR0VMT09TRVwiLCBgXlxcXFxzKigke3NyY1t0LlhSQU5HRVBMQUlOTE9PU0VdfSlcXFxccystXFxcXHMrKCR7c3JjW3QuWFJBTkdFUExBSU5MT09TRV19KVxcXFxzKiRgKTtcbiAgICBjcmVhdGVUb2tlbihcIlNUQVJcIiwgXCIoPHw+KT89P1xcXFxzKlxcXFwqXCIpO1xuICAgIGNyZWF0ZVRva2VuKFwiR1RFMFwiLCBcIl5cXFxccyo+PVxcXFxzKjBcXFxcLjBcXFxcLjBcXFxccyokXCIpO1xuICAgIGNyZWF0ZVRva2VuKFwiR1RFMFBSRVwiLCBcIl5cXFxccyo+PVxcXFxzKjBcXFxcLjBcXFxcLjAtMFxcXFxzKiRcIik7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvc2VtdmVyL2ludGVybmFsL3BhcnNlLW9wdGlvbnMuanNcbnZhciByZXF1aXJlX3BhcnNlX29wdGlvbnMgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvc2VtdmVyL2ludGVybmFsL3BhcnNlLW9wdGlvbnMuanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICB2YXIgbG9vc2VPcHRpb24gPSBPYmplY3QuZnJlZXplKHsgbG9vc2U6IHRydWUgfSk7XG4gICAgdmFyIGVtcHR5T3B0cyA9IE9iamVjdC5mcmVlemUoe30pO1xuICAgIHZhciBwYXJzZU9wdGlvbnMgPSAob3B0aW9uczgpID0+IHtcbiAgICAgIGlmICghb3B0aW9uczgpIHtcbiAgICAgICAgcmV0dXJuIGVtcHR5T3B0cztcbiAgICAgIH1cbiAgICAgIGlmICh0eXBlb2Ygb3B0aW9uczggIT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcmV0dXJuIGxvb3NlT3B0aW9uO1xuICAgICAgfVxuICAgICAgcmV0dXJuIG9wdGlvbnM4O1xuICAgIH07XG4gICAgbW9kdWxlLmV4cG9ydHMgPSBwYXJzZU9wdGlvbnM7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvc2VtdmVyL2ludGVybmFsL2lkZW50aWZpZXJzLmpzXG52YXIgcmVxdWlyZV9pZGVudGlmaWVycyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9zZW12ZXIvaW50ZXJuYWwvaWRlbnRpZmllcnMuanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICB2YXIgbnVtZXJpYyA9IC9eWzAtOV0rJC87XG4gICAgdmFyIGNvbXBhcmVJZGVudGlmaWVycyA9IChhLCBiKSA9PiB7XG4gICAgICBjb25zdCBhbnVtID0gbnVtZXJpYy50ZXN0KGEpO1xuICAgICAgY29uc3QgYm51bSA9IG51bWVyaWMudGVzdChiKTtcbiAgICAgIGlmIChhbnVtICYmIGJudW0pIHtcbiAgICAgICAgYSA9ICthO1xuICAgICAgICBiID0gK2I7XG4gICAgICB9XG4gICAgICByZXR1cm4gYSA9PT0gYiA/IDAgOiBhbnVtICYmICFibnVtID8gLTEgOiBibnVtICYmICFhbnVtID8gMSA6IGEgPCBiID8gLTEgOiAxO1xuICAgIH07XG4gICAgdmFyIHJjb21wYXJlSWRlbnRpZmllcnMgPSAoYSwgYikgPT4gY29tcGFyZUlkZW50aWZpZXJzKGIsIGEpO1xuICAgIG1vZHVsZS5leHBvcnRzID0ge1xuICAgICAgY29tcGFyZUlkZW50aWZpZXJzLFxuICAgICAgcmNvbXBhcmVJZGVudGlmaWVyc1xuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvc2VtdmVyL2NsYXNzZXMvc2VtdmVyLmpzXG52YXIgcmVxdWlyZV9zZW12ZXIgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvc2VtdmVyL2NsYXNzZXMvc2VtdmVyLmpzXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgdmFyIGRlYnVnID0gcmVxdWlyZV9kZWJ1ZygpO1xuICAgIHZhciB7IE1BWF9MRU5HVEgsIE1BWF9TQUZFX0lOVEVHRVIgfSA9IHJlcXVpcmVfY29uc3RhbnRzNCgpO1xuICAgIHZhciB7IHNhZmVSZTogcmUsIHQgfSA9IHJlcXVpcmVfcmUoKTtcbiAgICB2YXIgcGFyc2VPcHRpb25zID0gcmVxdWlyZV9wYXJzZV9vcHRpb25zKCk7XG4gICAgdmFyIHsgY29tcGFyZUlkZW50aWZpZXJzIH0gPSByZXF1aXJlX2lkZW50aWZpZXJzKCk7XG4gICAgdmFyIFNlbVZlciA9IGNsYXNzIF9TZW1WZXIge1xuICAgICAgY29uc3RydWN0b3IodmVyc2lvbiwgb3B0aW9uczgpIHtcbiAgICAgICAgb3B0aW9uczggPSBwYXJzZU9wdGlvbnMob3B0aW9uczgpO1xuICAgICAgICBpZiAodmVyc2lvbiBpbnN0YW5jZW9mIF9TZW1WZXIpIHtcbiAgICAgICAgICBpZiAodmVyc2lvbi5sb29zZSA9PT0gISFvcHRpb25zOC5sb29zZSAmJiB2ZXJzaW9uLmluY2x1ZGVQcmVyZWxlYXNlID09PSAhIW9wdGlvbnM4LmluY2x1ZGVQcmVyZWxlYXNlKSB7XG4gICAgICAgICAgICByZXR1cm4gdmVyc2lvbjtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmVyc2lvbiA9IHZlcnNpb24udmVyc2lvbjtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHZlcnNpb24gIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBJbnZhbGlkIHZlcnNpb24uIE11c3QgYmUgYSBzdHJpbmcuIEdvdCB0eXBlIFwiJHt0eXBlb2YgdmVyc2lvbn1cIi5gKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodmVyc2lvbi5sZW5ndGggPiBNQVhfTEVOR1RIKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgIGB2ZXJzaW9uIGlzIGxvbmdlciB0aGFuICR7TUFYX0xFTkdUSH0gY2hhcmFjdGVyc2BcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGRlYnVnKFwiU2VtVmVyXCIsIHZlcnNpb24sIG9wdGlvbnM4KTtcbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9uczg7XG4gICAgICAgIHRoaXMubG9vc2UgPSAhIW9wdGlvbnM4Lmxvb3NlO1xuICAgICAgICB0aGlzLmluY2x1ZGVQcmVyZWxlYXNlID0gISFvcHRpb25zOC5pbmNsdWRlUHJlcmVsZWFzZTtcbiAgICAgICAgY29uc3QgbSA9IHZlcnNpb24udHJpbSgpLm1hdGNoKG9wdGlvbnM4Lmxvb3NlID8gcmVbdC5MT09TRV0gOiByZVt0LkZVTExdKTtcbiAgICAgICAgaWYgKCFtKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgSW52YWxpZCBWZXJzaW9uOiAke3ZlcnNpb259YCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5yYXcgPSB2ZXJzaW9uO1xuICAgICAgICB0aGlzLm1ham9yID0gK21bMV07XG4gICAgICAgIHRoaXMubWlub3IgPSArbVsyXTtcbiAgICAgICAgdGhpcy5wYXRjaCA9ICttWzNdO1xuICAgICAgICBpZiAodGhpcy5tYWpvciA+IE1BWF9TQUZFX0lOVEVHRVIgfHwgdGhpcy5tYWpvciA8IDApIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBtYWpvciB2ZXJzaW9uXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLm1pbm9yID4gTUFYX1NBRkVfSU5URUdFUiB8fCB0aGlzLm1pbm9yIDwgMCkge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIG1pbm9yIHZlcnNpb25cIik7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMucGF0Y2ggPiBNQVhfU0FGRV9JTlRFR0VSIHx8IHRoaXMucGF0Y2ggPCAwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkludmFsaWQgcGF0Y2ggdmVyc2lvblwiKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIW1bNF0pIHtcbiAgICAgICAgICB0aGlzLnByZXJlbGVhc2UgPSBbXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLnByZXJlbGVhc2UgPSBtWzRdLnNwbGl0KFwiLlwiKS5tYXAoKGlkKSA9PiB7XG4gICAgICAgICAgICBpZiAoL15bMC05XSskLy50ZXN0KGlkKSkge1xuICAgICAgICAgICAgICBjb25zdCBudW0gPSAraWQ7XG4gICAgICAgICAgICAgIGlmIChudW0gPj0gMCAmJiBudW0gPCBNQVhfU0FGRV9JTlRFR0VSKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG51bTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIGlkO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuYnVpbGQgPSBtWzVdID8gbVs1XS5zcGxpdChcIi5cIikgOiBbXTtcbiAgICAgICAgdGhpcy5mb3JtYXQoKTtcbiAgICAgIH1cbiAgICAgIGZvcm1hdCgpIHtcbiAgICAgICAgdGhpcy52ZXJzaW9uID0gYCR7dGhpcy5tYWpvcn0uJHt0aGlzLm1pbm9yfS4ke3RoaXMucGF0Y2h9YDtcbiAgICAgICAgaWYgKHRoaXMucHJlcmVsZWFzZS5sZW5ndGgpIHtcbiAgICAgICAgICB0aGlzLnZlcnNpb24gKz0gYC0ke3RoaXMucHJlcmVsZWFzZS5qb2luKFwiLlwiKX1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLnZlcnNpb247XG4gICAgICB9XG4gICAgICB0b1N0cmluZygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmVyc2lvbjtcbiAgICAgIH1cbiAgICAgIGNvbXBhcmUob3RoZXIpIHtcbiAgICAgICAgZGVidWcoXCJTZW1WZXIuY29tcGFyZVwiLCB0aGlzLnZlcnNpb24sIHRoaXMub3B0aW9ucywgb3RoZXIpO1xuICAgICAgICBpZiAoIShvdGhlciBpbnN0YW5jZW9mIF9TZW1WZXIpKSB7XG4gICAgICAgICAgaWYgKHR5cGVvZiBvdGhlciA9PT0gXCJzdHJpbmdcIiAmJiBvdGhlciA9PT0gdGhpcy52ZXJzaW9uKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgb3RoZXIgPSBuZXcgX1NlbVZlcihvdGhlciwgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3RoZXIudmVyc2lvbiA9PT0gdGhpcy52ZXJzaW9uKSB7XG4gICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuY29tcGFyZU1haW4ob3RoZXIpIHx8IHRoaXMuY29tcGFyZVByZShvdGhlcik7XG4gICAgICB9XG4gICAgICBjb21wYXJlTWFpbihvdGhlcikge1xuICAgICAgICBpZiAoIShvdGhlciBpbnN0YW5jZW9mIF9TZW1WZXIpKSB7XG4gICAgICAgICAgb3RoZXIgPSBuZXcgX1NlbVZlcihvdGhlciwgdGhpcy5vcHRpb25zKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gY29tcGFyZUlkZW50aWZpZXJzKHRoaXMubWFqb3IsIG90aGVyLm1ham9yKSB8fCBjb21wYXJlSWRlbnRpZmllcnModGhpcy5taW5vciwgb3RoZXIubWlub3IpIHx8IGNvbXBhcmVJZGVudGlmaWVycyh0aGlzLnBhdGNoLCBvdGhlci5wYXRjaCk7XG4gICAgICB9XG4gICAgICBjb21wYXJlUHJlKG90aGVyKSB7XG4gICAgICAgIGlmICghKG90aGVyIGluc3RhbmNlb2YgX1NlbVZlcikpIHtcbiAgICAgICAgICBvdGhlciA9IG5ldyBfU2VtVmVyKG90aGVyLCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLnByZXJlbGVhc2UubGVuZ3RoICYmICFvdGhlci5wcmVyZWxlYXNlLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiAtMTtcbiAgICAgICAgfSBlbHNlIGlmICghdGhpcy5wcmVyZWxlYXNlLmxlbmd0aCAmJiBvdGhlci5wcmVyZWxlYXNlLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiAxO1xuICAgICAgICB9IGVsc2UgaWYgKCF0aGlzLnByZXJlbGVhc2UubGVuZ3RoICYmICFvdGhlci5wcmVyZWxlYXNlLmxlbmd0aCkge1xuICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG4gICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgZG8ge1xuICAgICAgICAgIGNvbnN0IGEgPSB0aGlzLnByZXJlbGVhc2VbaV07XG4gICAgICAgICAgY29uc3QgYiA9IG90aGVyLnByZXJlbGVhc2VbaV07XG4gICAgICAgICAgZGVidWcoXCJwcmVyZWxlYXNlIGNvbXBhcmVcIiwgaSwgYSwgYik7XG4gICAgICAgICAgaWYgKGEgPT09IHZvaWQgMCAmJiBiID09PSB2b2lkIDApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgIH0gZWxzZSBpZiAoYiA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGEgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgIH0gZWxzZSBpZiAoYSA9PT0gYikge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjb21wYXJlSWRlbnRpZmllcnMoYSwgYik7XG4gICAgICAgICAgfVxuICAgICAgICB9IHdoaWxlICgrK2kpO1xuICAgICAgfVxuICAgICAgY29tcGFyZUJ1aWxkKG90aGVyKSB7XG4gICAgICAgIGlmICghKG90aGVyIGluc3RhbmNlb2YgX1NlbVZlcikpIHtcbiAgICAgICAgICBvdGhlciA9IG5ldyBfU2VtVmVyKG90aGVyLCB0aGlzLm9wdGlvbnMpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBpID0gMDtcbiAgICAgICAgZG8ge1xuICAgICAgICAgIGNvbnN0IGEgPSB0aGlzLmJ1aWxkW2ldO1xuICAgICAgICAgIGNvbnN0IGIgPSBvdGhlci5idWlsZFtpXTtcbiAgICAgICAgICBkZWJ1ZyhcImJ1aWxkIGNvbXBhcmVcIiwgaSwgYSwgYik7XG4gICAgICAgICAgaWYgKGEgPT09IHZvaWQgMCAmJiBiID09PSB2b2lkIDApIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICAgIH0gZWxzZSBpZiAoYiA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgICByZXR1cm4gMTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGEgPT09IHZvaWQgMCkge1xuICAgICAgICAgICAgcmV0dXJuIC0xO1xuICAgICAgICAgIH0gZWxzZSBpZiAoYSA9PT0gYikge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBjb21wYXJlSWRlbnRpZmllcnMoYSwgYik7XG4gICAgICAgICAgfVxuICAgICAgICB9IHdoaWxlICgrK2kpO1xuICAgICAgfVxuICAgICAgLy8gcHJlbWlub3Igd2lsbCBidW1wIHRoZSB2ZXJzaW9uIHVwIHRvIHRoZSBuZXh0IG1pbm9yIHJlbGVhc2UsIGFuZCBpbW1lZGlhdGVseVxuICAgICAgLy8gZG93biB0byBwcmUtcmVsZWFzZS4gcHJlbWFqb3IgYW5kIHByZXBhdGNoIHdvcmsgdGhlIHNhbWUgd2F5LlxuICAgICAgaW5jKHJlbGVhc2UsIGlkZW50aWZpZXIsIGlkZW50aWZpZXJCYXNlKSB7XG4gICAgICAgIHN3aXRjaCAocmVsZWFzZSkge1xuICAgICAgICAgIGNhc2UgXCJwcmVtYWpvclwiOlxuICAgICAgICAgICAgdGhpcy5wcmVyZWxlYXNlLmxlbmd0aCA9IDA7XG4gICAgICAgICAgICB0aGlzLnBhdGNoID0gMDtcbiAgICAgICAgICAgIHRoaXMubWlub3IgPSAwO1xuICAgICAgICAgICAgdGhpcy5tYWpvcisrO1xuICAgICAgICAgICAgdGhpcy5pbmMoXCJwcmVcIiwgaWRlbnRpZmllciwgaWRlbnRpZmllckJhc2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcInByZW1pbm9yXCI6XG4gICAgICAgICAgICB0aGlzLnByZXJlbGVhc2UubGVuZ3RoID0gMDtcbiAgICAgICAgICAgIHRoaXMucGF0Y2ggPSAwO1xuICAgICAgICAgICAgdGhpcy5taW5vcisrO1xuICAgICAgICAgICAgdGhpcy5pbmMoXCJwcmVcIiwgaWRlbnRpZmllciwgaWRlbnRpZmllckJhc2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcInByZXBhdGNoXCI6XG4gICAgICAgICAgICB0aGlzLnByZXJlbGVhc2UubGVuZ3RoID0gMDtcbiAgICAgICAgICAgIHRoaXMuaW5jKFwicGF0Y2hcIiwgaWRlbnRpZmllciwgaWRlbnRpZmllckJhc2UpO1xuICAgICAgICAgICAgdGhpcy5pbmMoXCJwcmVcIiwgaWRlbnRpZmllciwgaWRlbnRpZmllckJhc2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgLy8gSWYgdGhlIGlucHV0IGlzIGEgbm9uLXByZXJlbGVhc2UgdmVyc2lvbiwgdGhpcyBhY3RzIHRoZSBzYW1lIGFzXG4gICAgICAgICAgLy8gcHJlcGF0Y2guXG4gICAgICAgICAgY2FzZSBcInByZXJlbGVhc2VcIjpcbiAgICAgICAgICAgIGlmICh0aGlzLnByZXJlbGVhc2UubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgIHRoaXMuaW5jKFwicGF0Y2hcIiwgaWRlbnRpZmllciwgaWRlbnRpZmllckJhc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5pbmMoXCJwcmVcIiwgaWRlbnRpZmllciwgaWRlbnRpZmllckJhc2UpO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIm1ham9yXCI6XG4gICAgICAgICAgICBpZiAodGhpcy5taW5vciAhPT0gMCB8fCB0aGlzLnBhdGNoICE9PSAwIHx8IHRoaXMucHJlcmVsZWFzZS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgdGhpcy5tYWpvcisrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5taW5vciA9IDA7XG4gICAgICAgICAgICB0aGlzLnBhdGNoID0gMDtcbiAgICAgICAgICAgIHRoaXMucHJlcmVsZWFzZSA9IFtdO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgY2FzZSBcIm1pbm9yXCI6XG4gICAgICAgICAgICBpZiAodGhpcy5wYXRjaCAhPT0gMCB8fCB0aGlzLnByZXJlbGVhc2UubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgIHRoaXMubWlub3IrKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucGF0Y2ggPSAwO1xuICAgICAgICAgICAgdGhpcy5wcmVyZWxlYXNlID0gW107XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICBjYXNlIFwicGF0Y2hcIjpcbiAgICAgICAgICAgIGlmICh0aGlzLnByZXJlbGVhc2UubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgIHRoaXMucGF0Y2grKztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucHJlcmVsZWFzZSA9IFtdO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgLy8gVGhpcyBwcm9iYWJseSBzaG91bGRuJ3QgYmUgdXNlZCBwdWJsaWNseS5cbiAgICAgICAgICAvLyAxLjAuMCAncHJlJyB3b3VsZCBiZWNvbWUgMS4wLjAtMCB3aGljaCBpcyB0aGUgd3JvbmcgZGlyZWN0aW9uLlxuICAgICAgICAgIGNhc2UgXCJwcmVcIjoge1xuICAgICAgICAgICAgY29uc3QgYmFzZSA9IE51bWJlcihpZGVudGlmaWVyQmFzZSkgPyAxIDogMDtcbiAgICAgICAgICAgIGlmICghaWRlbnRpZmllciAmJiBpZGVudGlmaWVyQmFzZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiaW52YWxpZCBpbmNyZW1lbnQgYXJndW1lbnQ6IGlkZW50aWZpZXIgaXMgZW1wdHlcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5wcmVyZWxlYXNlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgICB0aGlzLnByZXJlbGVhc2UgPSBbYmFzZV07XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBsZXQgaSA9IHRoaXMucHJlcmVsZWFzZS5sZW5ndGg7XG4gICAgICAgICAgICAgIHdoaWxlICgtLWkgPj0gMCkge1xuICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcmVyZWxlYXNlW2ldID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnByZXJlbGVhc2VbaV0rKztcbiAgICAgICAgICAgICAgICAgIGkgPSAtMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKGkgPT09IC0xKSB7XG4gICAgICAgICAgICAgICAgaWYgKGlkZW50aWZpZXIgPT09IHRoaXMucHJlcmVsZWFzZS5qb2luKFwiLlwiKSAmJiBpZGVudGlmaWVyQmFzZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcImludmFsaWQgaW5jcmVtZW50IGFyZ3VtZW50OiBpZGVudGlmaWVyIGFscmVhZHkgZXhpc3RzXCIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnByZXJlbGVhc2UucHVzaChiYXNlKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlkZW50aWZpZXIpIHtcbiAgICAgICAgICAgICAgbGV0IHByZXJlbGVhc2UgPSBbaWRlbnRpZmllciwgYmFzZV07XG4gICAgICAgICAgICAgIGlmIChpZGVudGlmaWVyQmFzZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgICAgICAgICBwcmVyZWxlYXNlID0gW2lkZW50aWZpZXJdO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChjb21wYXJlSWRlbnRpZmllcnModGhpcy5wcmVyZWxlYXNlWzBdLCBpZGVudGlmaWVyKSA9PT0gMCkge1xuICAgICAgICAgICAgICAgIGlmIChpc05hTih0aGlzLnByZXJlbGVhc2VbMV0pKSB7XG4gICAgICAgICAgICAgICAgICB0aGlzLnByZXJlbGVhc2UgPSBwcmVyZWxlYXNlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnByZXJlbGVhc2UgPSBwcmVyZWxlYXNlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgaW52YWxpZCBpbmNyZW1lbnQgYXJndW1lbnQ6ICR7cmVsZWFzZX1gKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnJhdyA9IHRoaXMuZm9ybWF0KCk7XG4gICAgICAgIGlmICh0aGlzLmJ1aWxkLmxlbmd0aCkge1xuICAgICAgICAgIHRoaXMucmF3ICs9IGArJHt0aGlzLmJ1aWxkLmpvaW4oXCIuXCIpfWA7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9XG4gICAgfTtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IFNlbVZlcjtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9zZW12ZXIvZnVuY3Rpb25zL2NvbXBhcmUuanNcbnZhciByZXF1aXJlX2NvbXBhcmUgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvc2VtdmVyL2Z1bmN0aW9ucy9jb21wYXJlLmpzXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgdmFyIFNlbVZlciA9IHJlcXVpcmVfc2VtdmVyKCk7XG4gICAgdmFyIGNvbXBhcmUgPSAoYSwgYiwgbG9vc2UpID0+IG5ldyBTZW1WZXIoYSwgbG9vc2UpLmNvbXBhcmUobmV3IFNlbVZlcihiLCBsb29zZSkpO1xuICAgIG1vZHVsZS5leHBvcnRzID0gY29tcGFyZTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9zZW12ZXIvZnVuY3Rpb25zL2d0ZS5qc1xudmFyIHJlcXVpcmVfZ3RlID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3NlbXZlci9mdW5jdGlvbnMvZ3RlLmpzXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgdmFyIGNvbXBhcmUgPSByZXF1aXJlX2NvbXBhcmUoKTtcbiAgICB2YXIgZ3RlID0gKGEsIGIsIGxvb3NlKSA9PiBjb21wYXJlKGEsIGIsIGxvb3NlKSA+PSAwO1xuICAgIG1vZHVsZS5leHBvcnRzID0gZ3RlO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3BzZXVkb21hcC9wc2V1ZG9tYXAuanNcbnZhciByZXF1aXJlX3BzZXVkb21hcCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9wc2V1ZG9tYXAvcHNldWRvbWFwLmpzXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgdmFyIGhhc093blByb3BlcnR5MyA9IE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHk7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSBQc2V1ZG9NYXA7XG4gICAgZnVuY3Rpb24gUHNldWRvTWFwKHNldDMpIHtcbiAgICAgIGlmICghKHRoaXMgaW5zdGFuY2VvZiBQc2V1ZG9NYXApKVxuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ29uc3RydWN0b3IgUHNldWRvTWFwIHJlcXVpcmVzICduZXcnXCIpO1xuICAgICAgdGhpcy5jbGVhcigpO1xuICAgICAgaWYgKHNldDMpIHtcbiAgICAgICAgaWYgKHNldDMgaW5zdGFuY2VvZiBQc2V1ZG9NYXAgfHwgdHlwZW9mIE1hcCA9PT0gXCJmdW5jdGlvblwiICYmIHNldDMgaW5zdGFuY2VvZiBNYXApXG4gICAgICAgICAgc2V0My5mb3JFYWNoKGZ1bmN0aW9uKHZhbHVlLCBrZXkyKSB7XG4gICAgICAgICAgICB0aGlzLnNldChrZXkyLCB2YWx1ZSk7XG4gICAgICAgICAgfSwgdGhpcyk7XG4gICAgICAgIGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoc2V0MykpXG4gICAgICAgICAgc2V0My5mb3JFYWNoKGZ1bmN0aW9uKGt2KSB7XG4gICAgICAgICAgICB0aGlzLnNldChrdlswXSwga3ZbMV0pO1xuICAgICAgICAgIH0sIHRoaXMpO1xuICAgICAgICBlbHNlXG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImludmFsaWQgYXJndW1lbnRcIik7XG4gICAgICB9XG4gICAgfVxuICAgIFBzZXVkb01hcC5wcm90b3R5cGUuZm9yRWFjaCA9IGZ1bmN0aW9uKGZuLCB0aGlzcCkge1xuICAgICAgdGhpc3AgPSB0aGlzcCB8fCB0aGlzO1xuICAgICAgT2JqZWN0LmtleXModGhpcy5fZGF0YSkuZm9yRWFjaChmdW5jdGlvbihrKSB7XG4gICAgICAgIGlmIChrICE9PSBcInNpemVcIilcbiAgICAgICAgICBmbi5jYWxsKHRoaXNwLCB0aGlzLl9kYXRhW2tdLnZhbHVlLCB0aGlzLl9kYXRhW2tdLmtleSk7XG4gICAgICB9LCB0aGlzKTtcbiAgICB9O1xuICAgIFBzZXVkb01hcC5wcm90b3R5cGUuaGFzID0gZnVuY3Rpb24oaykge1xuICAgICAgcmV0dXJuICEhZmluZCh0aGlzLl9kYXRhLCBrKTtcbiAgICB9O1xuICAgIFBzZXVkb01hcC5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24oaykge1xuICAgICAgdmFyIHJlcyA9IGZpbmQodGhpcy5fZGF0YSwgayk7XG4gICAgICByZXR1cm4gcmVzICYmIHJlcy52YWx1ZTtcbiAgICB9O1xuICAgIFBzZXVkb01hcC5wcm90b3R5cGUuc2V0ID0gZnVuY3Rpb24oaywgdikge1xuICAgICAgc2V0Mih0aGlzLl9kYXRhLCBrLCB2KTtcbiAgICB9O1xuICAgIFBzZXVkb01hcC5wcm90b3R5cGUuZGVsZXRlID0gZnVuY3Rpb24oaykge1xuICAgICAgdmFyIHJlcyA9IGZpbmQodGhpcy5fZGF0YSwgayk7XG4gICAgICBpZiAocmVzKSB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLl9kYXRhW3Jlcy5faW5kZXhdO1xuICAgICAgICB0aGlzLl9kYXRhLnNpemUtLTtcbiAgICAgIH1cbiAgICB9O1xuICAgIFBzZXVkb01hcC5wcm90b3R5cGUuY2xlYXIgPSBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBkYXRhID0gLyogQF9fUFVSRV9fICovIE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICBkYXRhLnNpemUgPSAwO1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsIFwiX2RhdGFcIiwge1xuICAgICAgICB2YWx1ZTogZGF0YSxcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IGZhbHNlXG4gICAgICB9KTtcbiAgICB9O1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShQc2V1ZG9NYXAucHJvdG90eXBlLCBcInNpemVcIiwge1xuICAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2RhdGEuc2l6ZTtcbiAgICAgIH0sXG4gICAgICBzZXQ6IGZ1bmN0aW9uKG4pIHtcbiAgICAgIH0sXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgfSk7XG4gICAgUHNldWRvTWFwLnByb3RvdHlwZS52YWx1ZXMgPSBQc2V1ZG9NYXAucHJvdG90eXBlLmtleXMgPSBQc2V1ZG9NYXAucHJvdG90eXBlLmVudHJpZXMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIml0ZXJhdG9ycyBhcmUgbm90IGltcGxlbWVudGVkIGluIHRoaXMgdmVyc2lvblwiKTtcbiAgICB9O1xuICAgIGZ1bmN0aW9uIHNhbWUoYSwgYikge1xuICAgICAgcmV0dXJuIGEgPT09IGIgfHwgYSAhPT0gYSAmJiBiICE9PSBiO1xuICAgIH1cbiAgICBmdW5jdGlvbiBFbnRyeShrLCB2LCBpKSB7XG4gICAgICB0aGlzLmtleSA9IGs7XG4gICAgICB0aGlzLnZhbHVlID0gdjtcbiAgICAgIHRoaXMuX2luZGV4ID0gaTtcbiAgICB9XG4gICAgZnVuY3Rpb24gZmluZChkYXRhLCBrKSB7XG4gICAgICBmb3IgKHZhciBpID0gMCwgcyA9IFwiX1wiICsgaywga2V5MiA9IHM7IGhhc093blByb3BlcnR5My5jYWxsKGRhdGEsIGtleTIpOyBrZXkyID0gcyArIGkrKykge1xuICAgICAgICBpZiAoc2FtZShkYXRhW2tleTJdLmtleSwgaykpXG4gICAgICAgICAgcmV0dXJuIGRhdGFba2V5Ml07XG4gICAgICB9XG4gICAgfVxuICAgIGZ1bmN0aW9uIHNldDIoZGF0YSwgaywgdikge1xuICAgICAgZm9yICh2YXIgaSA9IDAsIHMgPSBcIl9cIiArIGssIGtleTIgPSBzOyBoYXNPd25Qcm9wZXJ0eTMuY2FsbChkYXRhLCBrZXkyKTsga2V5MiA9IHMgKyBpKyspIHtcbiAgICAgICAgaWYgKHNhbWUoZGF0YVtrZXkyXS5rZXksIGspKSB7XG4gICAgICAgICAgZGF0YVtrZXkyXS52YWx1ZSA9IHY7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkYXRhLnNpemUrKztcbiAgICAgIGRhdGFba2V5Ml0gPSBuZXcgRW50cnkoaywgdiwga2V5Mik7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3BzZXVkb21hcC9tYXAuanNcbnZhciByZXF1aXJlX21hcCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9wc2V1ZG9tYXAvbWFwLmpzXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgaWYgKHByb2Nlc3MuZW52Lm5wbV9wYWNrYWdlX25hbWUgPT09IFwicHNldWRvbWFwXCIgJiYgcHJvY2Vzcy5lbnYubnBtX2xpZmVjeWNsZV9zY3JpcHQgPT09IFwidGVzdFwiKVxuICAgICAgcHJvY2Vzcy5lbnYuVEVTVF9QU0VVRE9NQVAgPSBcInRydWVcIjtcbiAgICBpZiAodHlwZW9mIE1hcCA9PT0gXCJmdW5jdGlvblwiICYmICFwcm9jZXNzLmVudi5URVNUX1BTRVVET01BUCkge1xuICAgICAgbW9kdWxlLmV4cG9ydHMgPSBNYXA7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1vZHVsZS5leHBvcnRzID0gcmVxdWlyZV9wc2V1ZG9tYXAoKTtcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMveWFsbGlzdC95YWxsaXN0LmpzXG52YXIgcmVxdWlyZV95YWxsaXN0ID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL3lhbGxpc3QveWFsbGlzdC5qc1wiKGV4cG9ydHMsIG1vZHVsZSkge1xuICAgIG1vZHVsZS5leHBvcnRzID0gWWFsbGlzdDtcbiAgICBZYWxsaXN0Lk5vZGUgPSBOb2RlO1xuICAgIFlhbGxpc3QuY3JlYXRlID0gWWFsbGlzdDtcbiAgICBmdW5jdGlvbiBZYWxsaXN0KGxpc3QpIHtcbiAgICAgIHZhciBzZWxmID0gdGhpcztcbiAgICAgIGlmICghKHNlbGYgaW5zdGFuY2VvZiBZYWxsaXN0KSkge1xuICAgICAgICBzZWxmID0gbmV3IFlhbGxpc3QoKTtcbiAgICAgIH1cbiAgICAgIHNlbGYudGFpbCA9IG51bGw7XG4gICAgICBzZWxmLmhlYWQgPSBudWxsO1xuICAgICAgc2VsZi5sZW5ndGggPSAwO1xuICAgICAgaWYgKGxpc3QgJiYgdHlwZW9mIGxpc3QuZm9yRWFjaCA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgICAgIGxpc3QuZm9yRWFjaChmdW5jdGlvbihpdGVtKSB7XG4gICAgICAgICAgc2VsZi5wdXNoKGl0ZW0pO1xuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgc2VsZi5wdXNoKGFyZ3VtZW50c1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBzZWxmO1xuICAgIH1cbiAgICBZYWxsaXN0LnByb3RvdHlwZS5yZW1vdmVOb2RlID0gZnVuY3Rpb24obm9kZSkge1xuICAgICAgaWYgKG5vZGUubGlzdCAhPT0gdGhpcykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXCJyZW1vdmluZyBub2RlIHdoaWNoIGRvZXMgbm90IGJlbG9uZyB0byB0aGlzIGxpc3RcIik7XG4gICAgICB9XG4gICAgICB2YXIgbmV4dCA9IG5vZGUubmV4dDtcbiAgICAgIHZhciBwcmV2ID0gbm9kZS5wcmV2O1xuICAgICAgaWYgKG5leHQpIHtcbiAgICAgICAgbmV4dC5wcmV2ID0gcHJldjtcbiAgICAgIH1cbiAgICAgIGlmIChwcmV2KSB7XG4gICAgICAgIHByZXYubmV4dCA9IG5leHQ7XG4gICAgICB9XG4gICAgICBpZiAobm9kZSA9PT0gdGhpcy5oZWFkKSB7XG4gICAgICAgIHRoaXMuaGVhZCA9IG5leHQ7XG4gICAgICB9XG4gICAgICBpZiAobm9kZSA9PT0gdGhpcy50YWlsKSB7XG4gICAgICAgIHRoaXMudGFpbCA9IHByZXY7XG4gICAgICB9XG4gICAgICBub2RlLmxpc3QubGVuZ3RoLS07XG4gICAgICBub2RlLm5leHQgPSBudWxsO1xuICAgICAgbm9kZS5wcmV2ID0gbnVsbDtcbiAgICAgIG5vZGUubGlzdCA9IG51bGw7XG4gICAgfTtcbiAgICBZYWxsaXN0LnByb3RvdHlwZS51bnNoaWZ0Tm9kZSA9IGZ1bmN0aW9uKG5vZGUpIHtcbiAgICAgIGlmIChub2RlID09PSB0aGlzLmhlYWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgaWYgKG5vZGUubGlzdCkge1xuICAgICAgICBub2RlLmxpc3QucmVtb3ZlTm9kZShub2RlKTtcbiAgICAgIH1cbiAgICAgIHZhciBoZWFkID0gdGhpcy5oZWFkO1xuICAgICAgbm9kZS5saXN0ID0gdGhpcztcbiAgICAgIG5vZGUubmV4dCA9IGhlYWQ7XG4gICAgICBpZiAoaGVhZCkge1xuICAgICAgICBoZWFkLnByZXYgPSBub2RlO1xuICAgICAgfVxuICAgICAgdGhpcy5oZWFkID0gbm9kZTtcbiAgICAgIGlmICghdGhpcy50YWlsKSB7XG4gICAgICAgIHRoaXMudGFpbCA9IG5vZGU7XG4gICAgICB9XG4gICAgICB0aGlzLmxlbmd0aCsrO1xuICAgIH07XG4gICAgWWFsbGlzdC5wcm90b3R5cGUucHVzaE5vZGUgPSBmdW5jdGlvbihub2RlKSB7XG4gICAgICBpZiAobm9kZSA9PT0gdGhpcy50YWlsKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmIChub2RlLmxpc3QpIHtcbiAgICAgICAgbm9kZS5saXN0LnJlbW92ZU5vZGUobm9kZSk7XG4gICAgICB9XG4gICAgICB2YXIgdGFpbCA9IHRoaXMudGFpbDtcbiAgICAgIG5vZGUubGlzdCA9IHRoaXM7XG4gICAgICBub2RlLnByZXYgPSB0YWlsO1xuICAgICAgaWYgKHRhaWwpIHtcbiAgICAgICAgdGFpbC5uZXh0ID0gbm9kZTtcbiAgICAgIH1cbiAgICAgIHRoaXMudGFpbCA9IG5vZGU7XG4gICAgICBpZiAoIXRoaXMuaGVhZCkge1xuICAgICAgICB0aGlzLmhlYWQgPSBub2RlO1xuICAgICAgfVxuICAgICAgdGhpcy5sZW5ndGgrKztcbiAgICB9O1xuICAgIFlhbGxpc3QucHJvdG90eXBlLnB1c2ggPSBmdW5jdGlvbigpIHtcbiAgICAgIGZvciAodmFyIGkgPSAwLCBsID0gYXJndW1lbnRzLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICBwdXNoMih0aGlzLCBhcmd1bWVudHNbaV0pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMubGVuZ3RoO1xuICAgIH07XG4gICAgWWFsbGlzdC5wcm90b3R5cGUudW5zaGlmdCA9IGZ1bmN0aW9uKCkge1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBhcmd1bWVudHMubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIHVuc2hpZnQodGhpcywgYXJndW1lbnRzW2ldKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmxlbmd0aDtcbiAgICB9O1xuICAgIFlhbGxpc3QucHJvdG90eXBlLnBvcCA9IGZ1bmN0aW9uKCkge1xuICAgICAgaWYgKCF0aGlzLnRhaWwpIHtcbiAgICAgICAgcmV0dXJuIHZvaWQgMDtcbiAgICAgIH1cbiAgICAgIHZhciByZXMgPSB0aGlzLnRhaWwudmFsdWU7XG4gICAgICB0aGlzLnRhaWwgPSB0aGlzLnRhaWwucHJldjtcbiAgICAgIGlmICh0aGlzLnRhaWwpIHtcbiAgICAgICAgdGhpcy50YWlsLm5leHQgPSBudWxsO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5oZWFkID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIHRoaXMubGVuZ3RoLS07XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH07XG4gICAgWWFsbGlzdC5wcm90b3R5cGUuc2hpZnQgPSBmdW5jdGlvbigpIHtcbiAgICAgIGlmICghdGhpcy5oZWFkKSB7XG4gICAgICAgIHJldHVybiB2b2lkIDA7XG4gICAgICB9XG4gICAgICB2YXIgcmVzID0gdGhpcy5oZWFkLnZhbHVlO1xuICAgICAgdGhpcy5oZWFkID0gdGhpcy5oZWFkLm5leHQ7XG4gICAgICBpZiAodGhpcy5oZWFkKSB7XG4gICAgICAgIHRoaXMuaGVhZC5wcmV2ID0gbnVsbDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMudGFpbCA9IG51bGw7XG4gICAgICB9XG4gICAgICB0aGlzLmxlbmd0aC0tO1xuICAgICAgcmV0dXJuIHJlcztcbiAgICB9O1xuICAgIFlhbGxpc3QucHJvdG90eXBlLmZvckVhY2ggPSBmdW5jdGlvbihmbiwgdGhpc3ApIHtcbiAgICAgIHRoaXNwID0gdGhpc3AgfHwgdGhpcztcbiAgICAgIGZvciAodmFyIHdhbGtlciA9IHRoaXMuaGVhZCwgaSA9IDA7IHdhbGtlciAhPT0gbnVsbDsgaSsrKSB7XG4gICAgICAgIGZuLmNhbGwodGhpc3AsIHdhbGtlci52YWx1ZSwgaSwgdGhpcyk7XG4gICAgICAgIHdhbGtlciA9IHdhbGtlci5uZXh0O1xuICAgICAgfVxuICAgIH07XG4gICAgWWFsbGlzdC5wcm90b3R5cGUuZm9yRWFjaFJldmVyc2UgPSBmdW5jdGlvbihmbiwgdGhpc3ApIHtcbiAgICAgIHRoaXNwID0gdGhpc3AgfHwgdGhpcztcbiAgICAgIGZvciAodmFyIHdhbGtlciA9IHRoaXMudGFpbCwgaSA9IHRoaXMubGVuZ3RoIC0gMTsgd2Fsa2VyICE9PSBudWxsOyBpLS0pIHtcbiAgICAgICAgZm4uY2FsbCh0aGlzcCwgd2Fsa2VyLnZhbHVlLCBpLCB0aGlzKTtcbiAgICAgICAgd2Fsa2VyID0gd2Fsa2VyLnByZXY7XG4gICAgICB9XG4gICAgfTtcbiAgICBZYWxsaXN0LnByb3RvdHlwZS5nZXQgPSBmdW5jdGlvbihuKSB7XG4gICAgICBmb3IgKHZhciBpID0gMCwgd2Fsa2VyID0gdGhpcy5oZWFkOyB3YWxrZXIgIT09IG51bGwgJiYgaSA8IG47IGkrKykge1xuICAgICAgICB3YWxrZXIgPSB3YWxrZXIubmV4dDtcbiAgICAgIH1cbiAgICAgIGlmIChpID09PSBuICYmIHdhbGtlciAhPT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gd2Fsa2VyLnZhbHVlO1xuICAgICAgfVxuICAgIH07XG4gICAgWWFsbGlzdC5wcm90b3R5cGUuZ2V0UmV2ZXJzZSA9IGZ1bmN0aW9uKG4pIHtcbiAgICAgIGZvciAodmFyIGkgPSAwLCB3YWxrZXIgPSB0aGlzLnRhaWw7IHdhbGtlciAhPT0gbnVsbCAmJiBpIDwgbjsgaSsrKSB7XG4gICAgICAgIHdhbGtlciA9IHdhbGtlci5wcmV2O1xuICAgICAgfVxuICAgICAgaWYgKGkgPT09IG4gJiYgd2Fsa2VyICE9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiB3YWxrZXIudmFsdWU7XG4gICAgICB9XG4gICAgfTtcbiAgICBZYWxsaXN0LnByb3RvdHlwZS5tYXAgPSBmdW5jdGlvbihmbiwgdGhpc3ApIHtcbiAgICAgIHRoaXNwID0gdGhpc3AgfHwgdGhpcztcbiAgICAgIHZhciByZXMgPSBuZXcgWWFsbGlzdCgpO1xuICAgICAgZm9yICh2YXIgd2Fsa2VyID0gdGhpcy5oZWFkOyB3YWxrZXIgIT09IG51bGw7ICkge1xuICAgICAgICByZXMucHVzaChmbi5jYWxsKHRoaXNwLCB3YWxrZXIudmFsdWUsIHRoaXMpKTtcbiAgICAgICAgd2Fsa2VyID0gd2Fsa2VyLm5leHQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gcmVzO1xuICAgIH07XG4gICAgWWFsbGlzdC5wcm90b3R5cGUubWFwUmV2ZXJzZSA9IGZ1bmN0aW9uKGZuLCB0aGlzcCkge1xuICAgICAgdGhpc3AgPSB0aGlzcCB8fCB0aGlzO1xuICAgICAgdmFyIHJlcyA9IG5ldyBZYWxsaXN0KCk7XG4gICAgICBmb3IgKHZhciB3YWxrZXIgPSB0aGlzLnRhaWw7IHdhbGtlciAhPT0gbnVsbDsgKSB7XG4gICAgICAgIHJlcy5wdXNoKGZuLmNhbGwodGhpc3AsIHdhbGtlci52YWx1ZSwgdGhpcykpO1xuICAgICAgICB3YWxrZXIgPSB3YWxrZXIucHJldjtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXM7XG4gICAgfTtcbiAgICBZYWxsaXN0LnByb3RvdHlwZS5yZWR1Y2UgPSBmdW5jdGlvbihmbiwgaW5pdGlhbCkge1xuICAgICAgdmFyIGFjYztcbiAgICAgIHZhciB3YWxrZXIgPSB0aGlzLmhlYWQ7XG4gICAgICBpZiAoYXJndW1lbnRzLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgYWNjID0gaW5pdGlhbDtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5oZWFkKSB7XG4gICAgICAgIHdhbGtlciA9IHRoaXMuaGVhZC5uZXh0O1xuICAgICAgICBhY2MgPSB0aGlzLmhlYWQudmFsdWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUmVkdWNlIG9mIGVtcHR5IGxpc3Qgd2l0aCBubyBpbml0aWFsIHZhbHVlXCIpO1xuICAgICAgfVxuICAgICAgZm9yICh2YXIgaSA9IDA7IHdhbGtlciAhPT0gbnVsbDsgaSsrKSB7XG4gICAgICAgIGFjYyA9IGZuKGFjYywgd2Fsa2VyLnZhbHVlLCBpKTtcbiAgICAgICAgd2Fsa2VyID0gd2Fsa2VyLm5leHQ7XG4gICAgICB9XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH07XG4gICAgWWFsbGlzdC5wcm90b3R5cGUucmVkdWNlUmV2ZXJzZSA9IGZ1bmN0aW9uKGZuLCBpbml0aWFsKSB7XG4gICAgICB2YXIgYWNjO1xuICAgICAgdmFyIHdhbGtlciA9IHRoaXMudGFpbDtcbiAgICAgIGlmIChhcmd1bWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICBhY2MgPSBpbml0aWFsO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLnRhaWwpIHtcbiAgICAgICAgd2Fsa2VyID0gdGhpcy50YWlsLnByZXY7XG4gICAgICAgIGFjYyA9IHRoaXMudGFpbC52YWx1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJSZWR1Y2Ugb2YgZW1wdHkgbGlzdCB3aXRoIG5vIGluaXRpYWwgdmFsdWVcIik7XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBpID0gdGhpcy5sZW5ndGggLSAxOyB3YWxrZXIgIT09IG51bGw7IGktLSkge1xuICAgICAgICBhY2MgPSBmbihhY2MsIHdhbGtlci52YWx1ZSwgaSk7XG4gICAgICAgIHdhbGtlciA9IHdhbGtlci5wcmV2O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9O1xuICAgIFlhbGxpc3QucHJvdG90eXBlLnRvQXJyYXkgPSBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBhcnIgPSBuZXcgQXJyYXkodGhpcy5sZW5ndGgpO1xuICAgICAgZm9yICh2YXIgaSA9IDAsIHdhbGtlciA9IHRoaXMuaGVhZDsgd2Fsa2VyICE9PSBudWxsOyBpKyspIHtcbiAgICAgICAgYXJyW2ldID0gd2Fsa2VyLnZhbHVlO1xuICAgICAgICB3YWxrZXIgPSB3YWxrZXIubmV4dDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBhcnI7XG4gICAgfTtcbiAgICBZYWxsaXN0LnByb3RvdHlwZS50b0FycmF5UmV2ZXJzZSA9IGZ1bmN0aW9uKCkge1xuICAgICAgdmFyIGFyciA9IG5ldyBBcnJheSh0aGlzLmxlbmd0aCk7XG4gICAgICBmb3IgKHZhciBpID0gMCwgd2Fsa2VyID0gdGhpcy50YWlsOyB3YWxrZXIgIT09IG51bGw7IGkrKykge1xuICAgICAgICBhcnJbaV0gPSB3YWxrZXIudmFsdWU7XG4gICAgICAgIHdhbGtlciA9IHdhbGtlci5wcmV2O1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFycjtcbiAgICB9O1xuICAgIFlhbGxpc3QucHJvdG90eXBlLnNsaWNlID0gZnVuY3Rpb24oZnJvbSwgdG8pIHtcbiAgICAgIHRvID0gdG8gfHwgdGhpcy5sZW5ndGg7XG4gICAgICBpZiAodG8gPCAwKSB7XG4gICAgICAgIHRvICs9IHRoaXMubGVuZ3RoO1xuICAgICAgfVxuICAgICAgZnJvbSA9IGZyb20gfHwgMDtcbiAgICAgIGlmIChmcm9tIDwgMCkge1xuICAgICAgICBmcm9tICs9IHRoaXMubGVuZ3RoO1xuICAgICAgfVxuICAgICAgdmFyIHJldCA9IG5ldyBZYWxsaXN0KCk7XG4gICAgICBpZiAodG8gPCBmcm9tIHx8IHRvIDwgMCkge1xuICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgfVxuICAgICAgaWYgKGZyb20gPCAwKSB7XG4gICAgICAgIGZyb20gPSAwO1xuICAgICAgfVxuICAgICAgaWYgKHRvID4gdGhpcy5sZW5ndGgpIHtcbiAgICAgICAgdG8gPSB0aGlzLmxlbmd0aDtcbiAgICAgIH1cbiAgICAgIGZvciAodmFyIGkgPSAwLCB3YWxrZXIgPSB0aGlzLmhlYWQ7IHdhbGtlciAhPT0gbnVsbCAmJiBpIDwgZnJvbTsgaSsrKSB7XG4gICAgICAgIHdhbGtlciA9IHdhbGtlci5uZXh0O1xuICAgICAgfVxuICAgICAgZm9yICg7IHdhbGtlciAhPT0gbnVsbCAmJiBpIDwgdG87IGkrKywgd2Fsa2VyID0gd2Fsa2VyLm5leHQpIHtcbiAgICAgICAgcmV0LnB1c2god2Fsa2VyLnZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXQ7XG4gICAgfTtcbiAgICBZYWxsaXN0LnByb3RvdHlwZS5zbGljZVJldmVyc2UgPSBmdW5jdGlvbihmcm9tLCB0bykge1xuICAgICAgdG8gPSB0byB8fCB0aGlzLmxlbmd0aDtcbiAgICAgIGlmICh0byA8IDApIHtcbiAgICAgICAgdG8gKz0gdGhpcy5sZW5ndGg7XG4gICAgICB9XG4gICAgICBmcm9tID0gZnJvbSB8fCAwO1xuICAgICAgaWYgKGZyb20gPCAwKSB7XG4gICAgICAgIGZyb20gKz0gdGhpcy5sZW5ndGg7XG4gICAgICB9XG4gICAgICB2YXIgcmV0ID0gbmV3IFlhbGxpc3QoKTtcbiAgICAgIGlmICh0byA8IGZyb20gfHwgdG8gPCAwKSB7XG4gICAgICAgIHJldHVybiByZXQ7XG4gICAgICB9XG4gICAgICBpZiAoZnJvbSA8IDApIHtcbiAgICAgICAgZnJvbSA9IDA7XG4gICAgICB9XG4gICAgICBpZiAodG8gPiB0aGlzLmxlbmd0aCkge1xuICAgICAgICB0byA9IHRoaXMubGVuZ3RoO1xuICAgICAgfVxuICAgICAgZm9yICh2YXIgaSA9IHRoaXMubGVuZ3RoLCB3YWxrZXIgPSB0aGlzLnRhaWw7IHdhbGtlciAhPT0gbnVsbCAmJiBpID4gdG87IGktLSkge1xuICAgICAgICB3YWxrZXIgPSB3YWxrZXIucHJldjtcbiAgICAgIH1cbiAgICAgIGZvciAoOyB3YWxrZXIgIT09IG51bGwgJiYgaSA+IGZyb207IGktLSwgd2Fsa2VyID0gd2Fsa2VyLnByZXYpIHtcbiAgICAgICAgcmV0LnB1c2god2Fsa2VyLnZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiByZXQ7XG4gICAgfTtcbiAgICBZYWxsaXN0LnByb3RvdHlwZS5yZXZlcnNlID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgaGVhZCA9IHRoaXMuaGVhZDtcbiAgICAgIHZhciB0YWlsID0gdGhpcy50YWlsO1xuICAgICAgZm9yICh2YXIgd2Fsa2VyID0gaGVhZDsgd2Fsa2VyICE9PSBudWxsOyB3YWxrZXIgPSB3YWxrZXIucHJldikge1xuICAgICAgICB2YXIgcCA9IHdhbGtlci5wcmV2O1xuICAgICAgICB3YWxrZXIucHJldiA9IHdhbGtlci5uZXh0O1xuICAgICAgICB3YWxrZXIubmV4dCA9IHA7XG4gICAgICB9XG4gICAgICB0aGlzLmhlYWQgPSB0YWlsO1xuICAgICAgdGhpcy50YWlsID0gaGVhZDtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgIH07XG4gICAgZnVuY3Rpb24gcHVzaDIoc2VsZiwgaXRlbSkge1xuICAgICAgc2VsZi50YWlsID0gbmV3IE5vZGUoaXRlbSwgc2VsZi50YWlsLCBudWxsLCBzZWxmKTtcbiAgICAgIGlmICghc2VsZi5oZWFkKSB7XG4gICAgICAgIHNlbGYuaGVhZCA9IHNlbGYudGFpbDtcbiAgICAgIH1cbiAgICAgIHNlbGYubGVuZ3RoKys7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHVuc2hpZnQoc2VsZiwgaXRlbSkge1xuICAgICAgc2VsZi5oZWFkID0gbmV3IE5vZGUoaXRlbSwgbnVsbCwgc2VsZi5oZWFkLCBzZWxmKTtcbiAgICAgIGlmICghc2VsZi50YWlsKSB7XG4gICAgICAgIHNlbGYudGFpbCA9IHNlbGYuaGVhZDtcbiAgICAgIH1cbiAgICAgIHNlbGYubGVuZ3RoKys7XG4gICAgfVxuICAgIGZ1bmN0aW9uIE5vZGUodmFsdWUsIHByZXYsIG5leHQsIGxpc3QpIHtcbiAgICAgIGlmICghKHRoaXMgaW5zdGFuY2VvZiBOb2RlKSkge1xuICAgICAgICByZXR1cm4gbmV3IE5vZGUodmFsdWUsIHByZXYsIG5leHQsIGxpc3QpO1xuICAgICAgfVxuICAgICAgdGhpcy5saXN0ID0gbGlzdDtcbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIGlmIChwcmV2KSB7XG4gICAgICAgIHByZXYubmV4dCA9IHRoaXM7XG4gICAgICAgIHRoaXMucHJldiA9IHByZXY7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLnByZXYgPSBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKG5leHQpIHtcbiAgICAgICAgbmV4dC5wcmV2ID0gdGhpcztcbiAgICAgICAgdGhpcy5uZXh0ID0gbmV4dDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubmV4dCA9IG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2xydS1jYWNoZS9pbmRleC5qc1xudmFyIHJlcXVpcmVfbHJ1X2NhY2hlID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2xydS1jYWNoZS9pbmRleC5qc1wiKGV4cG9ydHMsIG1vZHVsZSkge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIG1vZHVsZS5leHBvcnRzID0gTFJVQ2FjaGU7XG4gICAgdmFyIE1hcDIgPSByZXF1aXJlX21hcCgpO1xuICAgIHZhciB1dGlsMiA9IF9fcmVxdWlyZShcInV0aWxcIik7XG4gICAgdmFyIFlhbGxpc3QgPSByZXF1aXJlX3lhbGxpc3QoKTtcbiAgICB2YXIgaGFzU3ltYm9sID0gdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIHByb2Nlc3MuZW52Ll9ub2RlTFJVQ2FjaGVGb3JjZU5vU3ltYm9sICE9PSBcIjFcIjtcbiAgICB2YXIgbWFrZVN5bWJvbDtcbiAgICBpZiAoaGFzU3ltYm9sKSB7XG4gICAgICBtYWtlU3ltYm9sID0gZnVuY3Rpb24oa2V5Mikge1xuICAgICAgICByZXR1cm4gU3ltYm9sKGtleTIpO1xuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWFrZVN5bWJvbCA9IGZ1bmN0aW9uKGtleTIpIHtcbiAgICAgICAgcmV0dXJuIFwiX1wiICsga2V5MjtcbiAgICAgIH07XG4gICAgfVxuICAgIHZhciBNQVggPSBtYWtlU3ltYm9sKFwibWF4XCIpO1xuICAgIHZhciBMRU5HVEggPSBtYWtlU3ltYm9sKFwibGVuZ3RoXCIpO1xuICAgIHZhciBMRU5HVEhfQ0FMQ1VMQVRPUiA9IG1ha2VTeW1ib2woXCJsZW5ndGhDYWxjdWxhdG9yXCIpO1xuICAgIHZhciBBTExPV19TVEFMRSA9IG1ha2VTeW1ib2woXCJhbGxvd1N0YWxlXCIpO1xuICAgIHZhciBNQVhfQUdFID0gbWFrZVN5bWJvbChcIm1heEFnZVwiKTtcbiAgICB2YXIgRElTUE9TRSA9IG1ha2VTeW1ib2woXCJkaXNwb3NlXCIpO1xuICAgIHZhciBOT19ESVNQT1NFX09OX1NFVCA9IG1ha2VTeW1ib2woXCJub0Rpc3Bvc2VPblNldFwiKTtcbiAgICB2YXIgTFJVX0xJU1QgPSBtYWtlU3ltYm9sKFwibHJ1TGlzdFwiKTtcbiAgICB2YXIgQ0FDSEUgPSBtYWtlU3ltYm9sKFwiY2FjaGVcIik7XG4gICAgZnVuY3Rpb24gbmFpdmVMZW5ndGgoKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgZnVuY3Rpb24gTFJVQ2FjaGUob3B0aW9uczgpIHtcbiAgICAgIGlmICghKHRoaXMgaW5zdGFuY2VvZiBMUlVDYWNoZSkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBMUlVDYWNoZShvcHRpb25zOCk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIG9wdGlvbnM4ID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgIG9wdGlvbnM4ID0geyBtYXg6IG9wdGlvbnM4IH07XG4gICAgICB9XG4gICAgICBpZiAoIW9wdGlvbnM4KSB7XG4gICAgICAgIG9wdGlvbnM4ID0ge307XG4gICAgICB9XG4gICAgICB2YXIgbWF4ID0gdGhpc1tNQVhdID0gb3B0aW9uczgubWF4O1xuICAgICAgaWYgKCFtYXggfHwgISh0eXBlb2YgbWF4ID09PSBcIm51bWJlclwiKSB8fCBtYXggPD0gMCkge1xuICAgICAgICB0aGlzW01BWF0gPSBJbmZpbml0eTtcbiAgICAgIH1cbiAgICAgIHZhciBsYyA9IG9wdGlvbnM4Lmxlbmd0aCB8fCBuYWl2ZUxlbmd0aDtcbiAgICAgIGlmICh0eXBlb2YgbGMgIT09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICBsYyA9IG5haXZlTGVuZ3RoO1xuICAgICAgfVxuICAgICAgdGhpc1tMRU5HVEhfQ0FMQ1VMQVRPUl0gPSBsYztcbiAgICAgIHRoaXNbQUxMT1dfU1RBTEVdID0gb3B0aW9uczguc3RhbGUgfHwgZmFsc2U7XG4gICAgICB0aGlzW01BWF9BR0VdID0gb3B0aW9uczgubWF4QWdlIHx8IDA7XG4gICAgICB0aGlzW0RJU1BPU0VdID0gb3B0aW9uczguZGlzcG9zZTtcbiAgICAgIHRoaXNbTk9fRElTUE9TRV9PTl9TRVRdID0gb3B0aW9uczgubm9EaXNwb3NlT25TZXQgfHwgZmFsc2U7XG4gICAgICB0aGlzLnJlc2V0KCk7XG4gICAgfVxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShMUlVDYWNoZS5wcm90b3R5cGUsIFwibWF4XCIsIHtcbiAgICAgIHNldDogZnVuY3Rpb24obUwpIHtcbiAgICAgICAgaWYgKCFtTCB8fCAhKHR5cGVvZiBtTCA9PT0gXCJudW1iZXJcIikgfHwgbUwgPD0gMCkge1xuICAgICAgICAgIG1MID0gSW5maW5pdHk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpc1tNQVhdID0gbUw7XG4gICAgICAgIHRyaW0yKHRoaXMpO1xuICAgICAgfSxcbiAgICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzW01BWF07XG4gICAgICB9LFxuICAgICAgZW51bWVyYWJsZTogdHJ1ZVxuICAgIH0pO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShMUlVDYWNoZS5wcm90b3R5cGUsIFwiYWxsb3dTdGFsZVwiLCB7XG4gICAgICBzZXQ6IGZ1bmN0aW9uKGFsbG93U3RhbGUpIHtcbiAgICAgICAgdGhpc1tBTExPV19TVEFMRV0gPSAhIWFsbG93U3RhbGU7XG4gICAgICB9LFxuICAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbQUxMT1dfU1RBTEVdO1xuICAgICAgfSxcbiAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICB9KTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTFJVQ2FjaGUucHJvdG90eXBlLCBcIm1heEFnZVwiLCB7XG4gICAgICBzZXQ6IGZ1bmN0aW9uKG1BKSB7XG4gICAgICAgIGlmICghbUEgfHwgISh0eXBlb2YgbUEgPT09IFwibnVtYmVyXCIpIHx8IG1BIDwgMCkge1xuICAgICAgICAgIG1BID0gMDtcbiAgICAgICAgfVxuICAgICAgICB0aGlzW01BWF9BR0VdID0gbUE7XG4gICAgICAgIHRyaW0yKHRoaXMpO1xuICAgICAgfSxcbiAgICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiB0aGlzW01BWF9BR0VdO1xuICAgICAgfSxcbiAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICB9KTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTFJVQ2FjaGUucHJvdG90eXBlLCBcImxlbmd0aENhbGN1bGF0b3JcIiwge1xuICAgICAgc2V0OiBmdW5jdGlvbihsQykge1xuICAgICAgICBpZiAodHlwZW9mIGxDICE9PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgICAgICBsQyA9IG5haXZlTGVuZ3RoO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsQyAhPT0gdGhpc1tMRU5HVEhfQ0FMQ1VMQVRPUl0pIHtcbiAgICAgICAgICB0aGlzW0xFTkdUSF9DQUxDVUxBVE9SXSA9IGxDO1xuICAgICAgICAgIHRoaXNbTEVOR1RIXSA9IDA7XG4gICAgICAgICAgdGhpc1tMUlVfTElTVF0uZm9yRWFjaChmdW5jdGlvbihoaXQpIHtcbiAgICAgICAgICAgIGhpdC5sZW5ndGggPSB0aGlzW0xFTkdUSF9DQUxDVUxBVE9SXShoaXQudmFsdWUsIGhpdC5rZXkpO1xuICAgICAgICAgICAgdGhpc1tMRU5HVEhdICs9IGhpdC5sZW5ndGg7XG4gICAgICAgICAgfSwgdGhpcyk7XG4gICAgICAgIH1cbiAgICAgICAgdHJpbTIodGhpcyk7XG4gICAgICB9LFxuICAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbTEVOR1RIX0NBTENVTEFUT1JdO1xuICAgICAgfSxcbiAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICB9KTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTFJVQ2FjaGUucHJvdG90eXBlLCBcImxlbmd0aFwiLCB7XG4gICAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tMRU5HVEhdO1xuICAgICAgfSxcbiAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICB9KTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoTFJVQ2FjaGUucHJvdG90eXBlLCBcIml0ZW1Db3VudFwiLCB7XG4gICAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpc1tMUlVfTElTVF0ubGVuZ3RoO1xuICAgICAgfSxcbiAgICAgIGVudW1lcmFibGU6IHRydWVcbiAgICB9KTtcbiAgICBMUlVDYWNoZS5wcm90b3R5cGUucmZvckVhY2ggPSBmdW5jdGlvbihmbiwgdGhpc3ApIHtcbiAgICAgIHRoaXNwID0gdGhpc3AgfHwgdGhpcztcbiAgICAgIGZvciAodmFyIHdhbGtlciA9IHRoaXNbTFJVX0xJU1RdLnRhaWw7IHdhbGtlciAhPT0gbnVsbDsgKSB7XG4gICAgICAgIHZhciBwcmV2ID0gd2Fsa2VyLnByZXY7XG4gICAgICAgIGZvckVhY2hTdGVwKHRoaXMsIGZuLCB3YWxrZXIsIHRoaXNwKTtcbiAgICAgICAgd2Fsa2VyID0gcHJldjtcbiAgICAgIH1cbiAgICB9O1xuICAgIGZ1bmN0aW9uIGZvckVhY2hTdGVwKHNlbGYsIGZuLCBub2RlLCB0aGlzcCkge1xuICAgICAgdmFyIGhpdCA9IG5vZGUudmFsdWU7XG4gICAgICBpZiAoaXNTdGFsZShzZWxmLCBoaXQpKSB7XG4gICAgICAgIGRlbChzZWxmLCBub2RlKTtcbiAgICAgICAgaWYgKCFzZWxmW0FMTE9XX1NUQUxFXSkge1xuICAgICAgICAgIGhpdCA9IHZvaWQgMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGhpdCkge1xuICAgICAgICBmbi5jYWxsKHRoaXNwLCBoaXQudmFsdWUsIGhpdC5rZXksIHNlbGYpO1xuICAgICAgfVxuICAgIH1cbiAgICBMUlVDYWNoZS5wcm90b3R5cGUuZm9yRWFjaCA9IGZ1bmN0aW9uKGZuLCB0aGlzcCkge1xuICAgICAgdGhpc3AgPSB0aGlzcCB8fCB0aGlzO1xuICAgICAgZm9yICh2YXIgd2Fsa2VyID0gdGhpc1tMUlVfTElTVF0uaGVhZDsgd2Fsa2VyICE9PSBudWxsOyApIHtcbiAgICAgICAgdmFyIG5leHQgPSB3YWxrZXIubmV4dDtcbiAgICAgICAgZm9yRWFjaFN0ZXAodGhpcywgZm4sIHdhbGtlciwgdGhpc3ApO1xuICAgICAgICB3YWxrZXIgPSBuZXh0O1xuICAgICAgfVxuICAgIH07XG4gICAgTFJVQ2FjaGUucHJvdG90eXBlLmtleXMgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzW0xSVV9MSVNUXS50b0FycmF5KCkubWFwKGZ1bmN0aW9uKGspIHtcbiAgICAgICAgcmV0dXJuIGsua2V5O1xuICAgICAgfSwgdGhpcyk7XG4gICAgfTtcbiAgICBMUlVDYWNoZS5wcm90b3R5cGUudmFsdWVzID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpc1tMUlVfTElTVF0udG9BcnJheSgpLm1hcChmdW5jdGlvbihrKSB7XG4gICAgICAgIHJldHVybiBrLnZhbHVlO1xuICAgICAgfSwgdGhpcyk7XG4gICAgfTtcbiAgICBMUlVDYWNoZS5wcm90b3R5cGUucmVzZXQgPSBmdW5jdGlvbigpIHtcbiAgICAgIGlmICh0aGlzW0RJU1BPU0VdICYmIHRoaXNbTFJVX0xJU1RdICYmIHRoaXNbTFJVX0xJU1RdLmxlbmd0aCkge1xuICAgICAgICB0aGlzW0xSVV9MSVNUXS5mb3JFYWNoKGZ1bmN0aW9uKGhpdCkge1xuICAgICAgICAgIHRoaXNbRElTUE9TRV0oaGl0LmtleSwgaGl0LnZhbHVlKTtcbiAgICAgICAgfSwgdGhpcyk7XG4gICAgICB9XG4gICAgICB0aGlzW0NBQ0hFXSA9IG5ldyBNYXAyKCk7XG4gICAgICB0aGlzW0xSVV9MSVNUXSA9IG5ldyBZYWxsaXN0KCk7XG4gICAgICB0aGlzW0xFTkdUSF0gPSAwO1xuICAgIH07XG4gICAgTFJVQ2FjaGUucHJvdG90eXBlLmR1bXAgPSBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiB0aGlzW0xSVV9MSVNUXS5tYXAoZnVuY3Rpb24oaGl0KSB7XG4gICAgICAgIGlmICghaXNTdGFsZSh0aGlzLCBoaXQpKSB7XG4gICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGs6IGhpdC5rZXksXG4gICAgICAgICAgICB2OiBoaXQudmFsdWUsXG4gICAgICAgICAgICBlOiBoaXQubm93ICsgKGhpdC5tYXhBZ2UgfHwgMClcbiAgICAgICAgICB9O1xuICAgICAgICB9XG4gICAgICB9LCB0aGlzKS50b0FycmF5KCkuZmlsdGVyKGZ1bmN0aW9uKGgpIHtcbiAgICAgICAgcmV0dXJuIGg7XG4gICAgICB9KTtcbiAgICB9O1xuICAgIExSVUNhY2hlLnByb3RvdHlwZS5kdW1wTHJ1ID0gZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gdGhpc1tMUlVfTElTVF07XG4gICAgfTtcbiAgICBMUlVDYWNoZS5wcm90b3R5cGUuaW5zcGVjdCA9IGZ1bmN0aW9uKG4sIG9wdHMpIHtcbiAgICAgIHZhciBzdHIyID0gXCJMUlVDYWNoZSB7XCI7XG4gICAgICB2YXIgZXh0cmFzID0gZmFsc2U7XG4gICAgICB2YXIgYXMgPSB0aGlzW0FMTE9XX1NUQUxFXTtcbiAgICAgIGlmIChhcykge1xuICAgICAgICBzdHIyICs9IFwiXFxuICBhbGxvd1N0YWxlOiB0cnVlXCI7XG4gICAgICAgIGV4dHJhcyA9IHRydWU7XG4gICAgICB9XG4gICAgICB2YXIgbWF4ID0gdGhpc1tNQVhdO1xuICAgICAgaWYgKG1heCAmJiBtYXggIT09IEluZmluaXR5KSB7XG4gICAgICAgIGlmIChleHRyYXMpIHtcbiAgICAgICAgICBzdHIyICs9IFwiLFwiO1xuICAgICAgICB9XG4gICAgICAgIHN0cjIgKz0gXCJcXG4gIG1heDogXCIgKyB1dGlsMi5pbnNwZWN0KG1heCwgb3B0cyk7XG4gICAgICAgIGV4dHJhcyA9IHRydWU7XG4gICAgICB9XG4gICAgICB2YXIgbWF4QWdlID0gdGhpc1tNQVhfQUdFXTtcbiAgICAgIGlmIChtYXhBZ2UpIHtcbiAgICAgICAgaWYgKGV4dHJhcykge1xuICAgICAgICAgIHN0cjIgKz0gXCIsXCI7XG4gICAgICAgIH1cbiAgICAgICAgc3RyMiArPSBcIlxcbiAgbWF4QWdlOiBcIiArIHV0aWwyLmluc3BlY3QobWF4QWdlLCBvcHRzKTtcbiAgICAgICAgZXh0cmFzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHZhciBsYyA9IHRoaXNbTEVOR1RIX0NBTENVTEFUT1JdO1xuICAgICAgaWYgKGxjICYmIGxjICE9PSBuYWl2ZUxlbmd0aCkge1xuICAgICAgICBpZiAoZXh0cmFzKSB7XG4gICAgICAgICAgc3RyMiArPSBcIixcIjtcbiAgICAgICAgfVxuICAgICAgICBzdHIyICs9IFwiXFxuICBsZW5ndGg6IFwiICsgdXRpbDIuaW5zcGVjdCh0aGlzW0xFTkdUSF0sIG9wdHMpO1xuICAgICAgICBleHRyYXMgPSB0cnVlO1xuICAgICAgfVxuICAgICAgdmFyIGRpZEZpcnN0ID0gZmFsc2U7XG4gICAgICB0aGlzW0xSVV9MSVNUXS5mb3JFYWNoKGZ1bmN0aW9uKGl0ZW0pIHtcbiAgICAgICAgaWYgKGRpZEZpcnN0KSB7XG4gICAgICAgICAgc3RyMiArPSBcIixcXG4gIFwiO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChleHRyYXMpIHtcbiAgICAgICAgICAgIHN0cjIgKz0gXCIsXFxuXCI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGRpZEZpcnN0ID0gdHJ1ZTtcbiAgICAgICAgICBzdHIyICs9IFwiXFxuICBcIjtcbiAgICAgICAgfVxuICAgICAgICB2YXIga2V5MiA9IHV0aWwyLmluc3BlY3QoaXRlbS5rZXkpLnNwbGl0KFwiXFxuXCIpLmpvaW4oXCJcXG4gIFwiKTtcbiAgICAgICAgdmFyIHZhbCA9IHsgdmFsdWU6IGl0ZW0udmFsdWUgfTtcbiAgICAgICAgaWYgKGl0ZW0ubWF4QWdlICE9PSBtYXhBZ2UpIHtcbiAgICAgICAgICB2YWwubWF4QWdlID0gaXRlbS5tYXhBZ2U7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGxjICE9PSBuYWl2ZUxlbmd0aCkge1xuICAgICAgICAgIHZhbC5sZW5ndGggPSBpdGVtLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoaXNTdGFsZSh0aGlzLCBpdGVtKSkge1xuICAgICAgICAgIHZhbC5zdGFsZSA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgdmFsID0gdXRpbDIuaW5zcGVjdCh2YWwsIG9wdHMpLnNwbGl0KFwiXFxuXCIpLmpvaW4oXCJcXG4gIFwiKTtcbiAgICAgICAgc3RyMiArPSBrZXkyICsgXCIgPT4gXCIgKyB2YWw7XG4gICAgICB9KTtcbiAgICAgIGlmIChkaWRGaXJzdCB8fCBleHRyYXMpIHtcbiAgICAgICAgc3RyMiArPSBcIlxcblwiO1xuICAgICAgfVxuICAgICAgc3RyMiArPSBcIn1cIjtcbiAgICAgIHJldHVybiBzdHIyO1xuICAgIH07XG4gICAgTFJVQ2FjaGUucHJvdG90eXBlLnNldCA9IGZ1bmN0aW9uKGtleTIsIHZhbHVlLCBtYXhBZ2UpIHtcbiAgICAgIG1heEFnZSA9IG1heEFnZSB8fCB0aGlzW01BWF9BR0VdO1xuICAgICAgdmFyIG5vdyA9IG1heEFnZSA/IERhdGUubm93KCkgOiAwO1xuICAgICAgdmFyIGxlbiA9IHRoaXNbTEVOR1RIX0NBTENVTEFUT1JdKHZhbHVlLCBrZXkyKTtcbiAgICAgIGlmICh0aGlzW0NBQ0hFXS5oYXMoa2V5MikpIHtcbiAgICAgICAgaWYgKGxlbiA+IHRoaXNbTUFYXSkge1xuICAgICAgICAgIGRlbCh0aGlzLCB0aGlzW0NBQ0hFXS5nZXQoa2V5MikpO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgbm9kZSA9IHRoaXNbQ0FDSEVdLmdldChrZXkyKTtcbiAgICAgICAgdmFyIGl0ZW0gPSBub2RlLnZhbHVlO1xuICAgICAgICBpZiAodGhpc1tESVNQT1NFXSkge1xuICAgICAgICAgIGlmICghdGhpc1tOT19ESVNQT1NFX09OX1NFVF0pIHtcbiAgICAgICAgICAgIHRoaXNbRElTUE9TRV0oa2V5MiwgaXRlbS52YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGl0ZW0ubm93ID0gbm93O1xuICAgICAgICBpdGVtLm1heEFnZSA9IG1heEFnZTtcbiAgICAgICAgaXRlbS52YWx1ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzW0xFTkdUSF0gKz0gbGVuIC0gaXRlbS5sZW5ndGg7XG4gICAgICAgIGl0ZW0ubGVuZ3RoID0gbGVuO1xuICAgICAgICB0aGlzLmdldChrZXkyKTtcbiAgICAgICAgdHJpbTIodGhpcyk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgdmFyIGhpdCA9IG5ldyBFbnRyeShrZXkyLCB2YWx1ZSwgbGVuLCBub3csIG1heEFnZSk7XG4gICAgICBpZiAoaGl0Lmxlbmd0aCA+IHRoaXNbTUFYXSkge1xuICAgICAgICBpZiAodGhpc1tESVNQT1NFXSkge1xuICAgICAgICAgIHRoaXNbRElTUE9TRV0oa2V5MiwgdmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIHRoaXNbTEVOR1RIXSArPSBoaXQubGVuZ3RoO1xuICAgICAgdGhpc1tMUlVfTElTVF0udW5zaGlmdChoaXQpO1xuICAgICAgdGhpc1tDQUNIRV0uc2V0KGtleTIsIHRoaXNbTFJVX0xJU1RdLmhlYWQpO1xuICAgICAgdHJpbTIodGhpcyk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuICAgIExSVUNhY2hlLnByb3RvdHlwZS5oYXMgPSBmdW5jdGlvbihrZXkyKSB7XG4gICAgICBpZiAoIXRoaXNbQ0FDSEVdLmhhcyhrZXkyKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgdmFyIGhpdCA9IHRoaXNbQ0FDSEVdLmdldChrZXkyKS52YWx1ZTtcbiAgICAgIGlmIChpc1N0YWxlKHRoaXMsIGhpdCkpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcbiAgICBMUlVDYWNoZS5wcm90b3R5cGUuZ2V0ID0gZnVuY3Rpb24oa2V5Mikge1xuICAgICAgcmV0dXJuIGdldCh0aGlzLCBrZXkyLCB0cnVlKTtcbiAgICB9O1xuICAgIExSVUNhY2hlLnByb3RvdHlwZS5wZWVrID0gZnVuY3Rpb24oa2V5Mikge1xuICAgICAgcmV0dXJuIGdldCh0aGlzLCBrZXkyLCBmYWxzZSk7XG4gICAgfTtcbiAgICBMUlVDYWNoZS5wcm90b3R5cGUucG9wID0gZnVuY3Rpb24oKSB7XG4gICAgICB2YXIgbm9kZSA9IHRoaXNbTFJVX0xJU1RdLnRhaWw7XG4gICAgICBpZiAoIW5vZGUpIHJldHVybiBudWxsO1xuICAgICAgZGVsKHRoaXMsIG5vZGUpO1xuICAgICAgcmV0dXJuIG5vZGUudmFsdWU7XG4gICAgfTtcbiAgICBMUlVDYWNoZS5wcm90b3R5cGUuZGVsID0gZnVuY3Rpb24oa2V5Mikge1xuICAgICAgZGVsKHRoaXMsIHRoaXNbQ0FDSEVdLmdldChrZXkyKSk7XG4gICAgfTtcbiAgICBMUlVDYWNoZS5wcm90b3R5cGUubG9hZCA9IGZ1bmN0aW9uKGFycikge1xuICAgICAgdGhpcy5yZXNldCgpO1xuICAgICAgdmFyIG5vdyA9IERhdGUubm93KCk7XG4gICAgICBmb3IgKHZhciBsID0gYXJyLmxlbmd0aCAtIDE7IGwgPj0gMDsgbC0tKSB7XG4gICAgICAgIHZhciBoaXQgPSBhcnJbbF07XG4gICAgICAgIHZhciBleHBpcmVzQXQgPSBoaXQuZSB8fCAwO1xuICAgICAgICBpZiAoZXhwaXJlc0F0ID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5zZXQoaGl0LmssIGhpdC52KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB2YXIgbWF4QWdlID0gZXhwaXJlc0F0IC0gbm93O1xuICAgICAgICAgIGlmIChtYXhBZ2UgPiAwKSB7XG4gICAgICAgICAgICB0aGlzLnNldChoaXQuaywgaGl0LnYsIG1heEFnZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgICBMUlVDYWNoZS5wcm90b3R5cGUucHJ1bmUgPSBmdW5jdGlvbigpIHtcbiAgICAgIHZhciBzZWxmID0gdGhpcztcbiAgICAgIHRoaXNbQ0FDSEVdLmZvckVhY2goZnVuY3Rpb24odmFsdWUsIGtleTIpIHtcbiAgICAgICAgZ2V0KHNlbGYsIGtleTIsIGZhbHNlKTtcbiAgICAgIH0pO1xuICAgIH07XG4gICAgZnVuY3Rpb24gZ2V0KHNlbGYsIGtleTIsIGRvVXNlKSB7XG4gICAgICB2YXIgbm9kZSA9IHNlbGZbQ0FDSEVdLmdldChrZXkyKTtcbiAgICAgIGlmIChub2RlKSB7XG4gICAgICAgIHZhciBoaXQgPSBub2RlLnZhbHVlO1xuICAgICAgICBpZiAoaXNTdGFsZShzZWxmLCBoaXQpKSB7XG4gICAgICAgICAgZGVsKHNlbGYsIG5vZGUpO1xuICAgICAgICAgIGlmICghc2VsZltBTExPV19TVEFMRV0pIGhpdCA9IHZvaWQgMDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoZG9Vc2UpIHtcbiAgICAgICAgICAgIHNlbGZbTFJVX0xJU1RdLnVuc2hpZnROb2RlKG5vZGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoaGl0KSBoaXQgPSBoaXQudmFsdWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gaGl0O1xuICAgIH1cbiAgICBmdW5jdGlvbiBpc1N0YWxlKHNlbGYsIGhpdCkge1xuICAgICAgaWYgKCFoaXQgfHwgIWhpdC5tYXhBZ2UgJiYgIXNlbGZbTUFYX0FHRV0pIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdmFyIHN0YWxlID0gZmFsc2U7XG4gICAgICB2YXIgZGlmZjIgPSBEYXRlLm5vdygpIC0gaGl0Lm5vdztcbiAgICAgIGlmIChoaXQubWF4QWdlKSB7XG4gICAgICAgIHN0YWxlID0gZGlmZjIgPiBoaXQubWF4QWdlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhbGUgPSBzZWxmW01BWF9BR0VdICYmIGRpZmYyID4gc2VsZltNQVhfQUdFXTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGFsZTtcbiAgICB9XG4gICAgZnVuY3Rpb24gdHJpbTIoc2VsZikge1xuICAgICAgaWYgKHNlbGZbTEVOR1RIXSA+IHNlbGZbTUFYXSkge1xuICAgICAgICBmb3IgKHZhciB3YWxrZXIgPSBzZWxmW0xSVV9MSVNUXS50YWlsOyBzZWxmW0xFTkdUSF0gPiBzZWxmW01BWF0gJiYgd2Fsa2VyICE9PSBudWxsOyApIHtcbiAgICAgICAgICB2YXIgcHJldiA9IHdhbGtlci5wcmV2O1xuICAgICAgICAgIGRlbChzZWxmLCB3YWxrZXIpO1xuICAgICAgICAgIHdhbGtlciA9IHByZXY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gZGVsKHNlbGYsIG5vZGUpIHtcbiAgICAgIGlmIChub2RlKSB7XG4gICAgICAgIHZhciBoaXQgPSBub2RlLnZhbHVlO1xuICAgICAgICBpZiAoc2VsZltESVNQT1NFXSkge1xuICAgICAgICAgIHNlbGZbRElTUE9TRV0oaGl0LmtleSwgaGl0LnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICBzZWxmW0xFTkdUSF0gLT0gaGl0Lmxlbmd0aDtcbiAgICAgICAgc2VsZltDQUNIRV0uZGVsZXRlKGhpdC5rZXkpO1xuICAgICAgICBzZWxmW0xSVV9MSVNUXS5yZW1vdmVOb2RlKG5vZGUpO1xuICAgICAgfVxuICAgIH1cbiAgICBmdW5jdGlvbiBFbnRyeShrZXkyLCB2YWx1ZSwgbGVuZ3RoLCBub3csIG1heEFnZSkge1xuICAgICAgdGhpcy5rZXkgPSBrZXkyO1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbHVlO1xuICAgICAgdGhpcy5sZW5ndGggPSBsZW5ndGg7XG4gICAgICB0aGlzLm5vdyA9IG5vdztcbiAgICAgIHRoaXMubWF4QWdlID0gbWF4QWdlIHx8IDA7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3NpZ211bmQvc2lnbXVuZC5qc1xudmFyIHJlcXVpcmVfc2lnbXVuZCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9zaWdtdW5kL3NpZ211bmQuanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHNpZ211bmQ7XG4gICAgZnVuY3Rpb24gc2lnbXVuZChzdWJqZWN0LCBtYXhTZXNzaW9ucykge1xuICAgICAgbWF4U2Vzc2lvbnMgPSBtYXhTZXNzaW9ucyB8fCAxMDtcbiAgICAgIHZhciBub3RlcyA9IFtdO1xuICAgICAgdmFyIGFuYWx5c2lzID0gXCJcIjtcbiAgICAgIHZhciBSRSA9IFJlZ0V4cDtcbiAgICAgIGZ1bmN0aW9uIHBzeWNob0FuYWx5emUoc3ViamVjdDIsIHNlc3Npb24pIHtcbiAgICAgICAgaWYgKHNlc3Npb24gPiBtYXhTZXNzaW9ucykgcmV0dXJuO1xuICAgICAgICBpZiAodHlwZW9mIHN1YmplY3QyID09PSBcImZ1bmN0aW9uXCIgfHwgdHlwZW9mIHN1YmplY3QyID09PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2Ygc3ViamVjdDIgIT09IFwib2JqZWN0XCIgfHwgIXN1YmplY3QyIHx8IHN1YmplY3QyIGluc3RhbmNlb2YgUkUpIHtcbiAgICAgICAgICBhbmFseXNpcyArPSBzdWJqZWN0MjtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG5vdGVzLmluZGV4T2Yoc3ViamVjdDIpICE9PSAtMSB8fCBzZXNzaW9uID09PSBtYXhTZXNzaW9ucykgcmV0dXJuO1xuICAgICAgICBub3Rlcy5wdXNoKHN1YmplY3QyKTtcbiAgICAgICAgYW5hbHlzaXMgKz0gXCJ7XCI7XG4gICAgICAgIE9iamVjdC5rZXlzKHN1YmplY3QyKS5mb3JFYWNoKGZ1bmN0aW9uKGlzc3VlLCBfLCBfXykge1xuICAgICAgICAgIGlmIChpc3N1ZS5jaGFyQXQoMCkgPT09IFwiX1wiKSByZXR1cm47XG4gICAgICAgICAgdmFyIHRvID0gdHlwZW9mIHN1YmplY3QyW2lzc3VlXTtcbiAgICAgICAgICBpZiAodG8gPT09IFwiZnVuY3Rpb25cIiB8fCB0byA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuO1xuICAgICAgICAgIGFuYWx5c2lzICs9IGlzc3VlO1xuICAgICAgICAgIHBzeWNob0FuYWx5emUoc3ViamVjdDJbaXNzdWVdLCBzZXNzaW9uICsgMSk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgcHN5Y2hvQW5hbHl6ZShzdWJqZWN0LCAwKTtcbiAgICAgIHJldHVybiBhbmFseXNpcztcbiAgICB9XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZWRpdG9yY29uZmlnL3NyYy9saWIvZm5tYXRjaC5qc1xudmFyIHJlcXVpcmVfZm5tYXRjaCA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9lZGl0b3Jjb25maWcvc3JjL2xpYi9mbm1hdGNoLmpzXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgdmFyIHBsYXRmb3JtID0gdHlwZW9mIHByb2Nlc3MgPT09IFwib2JqZWN0XCIgPyBwcm9jZXNzLnBsYXRmb3JtIDogXCJ3aW4zMlwiO1xuICAgIGlmIChtb2R1bGUpIG1vZHVsZS5leHBvcnRzID0gbWluaW1hdGNoO1xuICAgIGVsc2UgZXhwb3J0cy5taW5pbWF0Y2ggPSBtaW5pbWF0Y2g7XG4gICAgbWluaW1hdGNoLk1pbmltYXRjaCA9IE1pbmltYXRjaDtcbiAgICB2YXIgTFJVID0gcmVxdWlyZV9scnVfY2FjaGUoKTtcbiAgICB2YXIgY2FjaGUzID0gbWluaW1hdGNoLmNhY2hlID0gbmV3IExSVSh7IG1heDogMTAwIH0pO1xuICAgIHZhciBHTE9CU1RBUiA9IG1pbmltYXRjaC5HTE9CU1RBUiA9IE1pbmltYXRjaC5HTE9CU1RBUiA9IHt9O1xuICAgIHZhciBzaWdtdW5kID0gcmVxdWlyZV9zaWdtdW5kKCk7XG4gICAgdmFyIHBhdGgxMyA9IF9fcmVxdWlyZShcInBhdGhcIik7XG4gICAgdmFyIHFtYXJrID0gXCJbXi9dXCI7XG4gICAgdmFyIHN0YXIgPSBxbWFyayArIFwiKj9cIjtcbiAgICB2YXIgdHdvU3RhckRvdCA9IFwiKD86KD8hKD86XFxcXC98XikoPzpcXFxcLnsxLDJ9KSgkfFxcXFwvKSkuKSo/XCI7XG4gICAgdmFyIHR3b1N0YXJOb0RvdCA9IFwiKD86KD8hKD86XFxcXC98XilcXFxcLikuKSo/XCI7XG4gICAgdmFyIHJlU3BlY2lhbHMgPSBjaGFyU2V0KFwiKCkuKnt9Kz9bXV4kXFxcXCFcIik7XG4gICAgZnVuY3Rpb24gY2hhclNldChzKSB7XG4gICAgICByZXR1cm4gcy5zcGxpdChcIlwiKS5yZWR1Y2UoZnVuY3Rpb24oc2V0MiwgYzIpIHtcbiAgICAgICAgc2V0MltjMl0gPSB0cnVlO1xuICAgICAgICByZXR1cm4gc2V0MjtcbiAgICAgIH0sIHt9KTtcbiAgICB9XG4gICAgdmFyIHNsYXNoU3BsaXQgPSAvXFwvKy87XG4gICAgbWluaW1hdGNoLm1vbmtleVBhdGNoID0gbW9ua2V5UGF0Y2g7XG4gICAgZnVuY3Rpb24gbW9ua2V5UGF0Y2goKSB7XG4gICAgICB2YXIgZGVzYyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IoU3RyaW5nLnByb3RvdHlwZSwgXCJtYXRjaFwiKTtcbiAgICAgIHZhciBvcmlnID0gZGVzYy52YWx1ZTtcbiAgICAgIGRlc2MudmFsdWUgPSBmdW5jdGlvbihwKSB7XG4gICAgICAgIGlmIChwIGluc3RhbmNlb2YgTWluaW1hdGNoKSByZXR1cm4gcC5tYXRjaCh0aGlzKTtcbiAgICAgICAgcmV0dXJuIG9yaWcuY2FsbCh0aGlzLCBwKTtcbiAgICAgIH07XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoU3RyaW5nLnByb3RvdHlwZSwgZGVzYyk7XG4gICAgfVxuICAgIG1pbmltYXRjaC5maWx0ZXIgPSBmaWx0ZXIyO1xuICAgIGZ1bmN0aW9uIGZpbHRlcjIocGF0dGVybiwgb3B0aW9uczgpIHtcbiAgICAgIG9wdGlvbnM4ID0gb3B0aW9uczggfHwge307XG4gICAgICByZXR1cm4gZnVuY3Rpb24ocCwgaSwgbGlzdCkge1xuICAgICAgICByZXR1cm4gbWluaW1hdGNoKHAsIHBhdHRlcm4sIG9wdGlvbnM4KTtcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGV4dChhLCBiKSB7XG4gICAgICBhID0gYSB8fCB7fTtcbiAgICAgIGIgPSBiIHx8IHt9O1xuICAgICAgdmFyIHQgPSB7fTtcbiAgICAgIE9iamVjdC5rZXlzKGIpLmZvckVhY2goZnVuY3Rpb24oaykge1xuICAgICAgICB0W2tdID0gYltrXTtcbiAgICAgIH0pO1xuICAgICAgT2JqZWN0LmtleXMoYSkuZm9yRWFjaChmdW5jdGlvbihrKSB7XG4gICAgICAgIHRba10gPSBhW2tdO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gdDtcbiAgICB9XG4gICAgbWluaW1hdGNoLmRlZmF1bHRzID0gZnVuY3Rpb24oZGVmKSB7XG4gICAgICBpZiAoIWRlZiB8fCAhT2JqZWN0LmtleXMoZGVmKS5sZW5ndGgpIHJldHVybiBtaW5pbWF0Y2g7XG4gICAgICB2YXIgb3JpZyA9IG1pbmltYXRjaDtcbiAgICAgIHZhciBtID0gZnVuY3Rpb24gbWluaW1hdGNoMihwLCBwYXR0ZXJuLCBvcHRpb25zOCkge1xuICAgICAgICByZXR1cm4gb3JpZy5taW5pbWF0Y2gocCwgcGF0dGVybiwgZXh0KGRlZiwgb3B0aW9uczgpKTtcbiAgICAgIH07XG4gICAgICBtLk1pbmltYXRjaCA9IGZ1bmN0aW9uIE1pbmltYXRjaDIocGF0dGVybiwgb3B0aW9uczgpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBvcmlnLk1pbmltYXRjaChwYXR0ZXJuLCBleHQoZGVmLCBvcHRpb25zOCkpO1xuICAgICAgfTtcbiAgICAgIHJldHVybiBtO1xuICAgIH07XG4gICAgTWluaW1hdGNoLmRlZmF1bHRzID0gZnVuY3Rpb24oZGVmKSB7XG4gICAgICBpZiAoIWRlZiB8fCAhT2JqZWN0LmtleXMoZGVmKS5sZW5ndGgpIHJldHVybiBNaW5pbWF0Y2g7XG4gICAgICByZXR1cm4gbWluaW1hdGNoLmRlZmF1bHRzKGRlZikuTWluaW1hdGNoO1xuICAgIH07XG4gICAgZnVuY3Rpb24gbWluaW1hdGNoKHAsIHBhdHRlcm4sIG9wdGlvbnM4KSB7XG4gICAgICBpZiAodHlwZW9mIHBhdHRlcm4gIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImdsb2IgcGF0dGVybiBzdHJpbmcgcmVxdWlyZWRcIik7XG4gICAgICB9XG4gICAgICBpZiAoIW9wdGlvbnM4KSBvcHRpb25zOCA9IHt9O1xuICAgICAgaWYgKCFvcHRpb25zOC5ub2NvbW1lbnQgJiYgcGF0dGVybi5jaGFyQXQoMCkgPT09IFwiI1wiKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICAgIGlmIChwYXR0ZXJuLnRyaW0oKSA9PT0gXCJcIikgcmV0dXJuIHAgPT09IFwiXCI7XG4gICAgICByZXR1cm4gbmV3IE1pbmltYXRjaChwYXR0ZXJuLCBvcHRpb25zOCkubWF0Y2gocCk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIE1pbmltYXRjaChwYXR0ZXJuLCBvcHRpb25zOCkge1xuICAgICAgaWYgKCEodGhpcyBpbnN0YW5jZW9mIE1pbmltYXRjaCkpIHtcbiAgICAgICAgcmV0dXJuIG5ldyBNaW5pbWF0Y2gocGF0dGVybiwgb3B0aW9uczgsIGNhY2hlMyk7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIHBhdHRlcm4gIT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcImdsb2IgcGF0dGVybiBzdHJpbmcgcmVxdWlyZWRcIik7XG4gICAgICB9XG4gICAgICBpZiAoIW9wdGlvbnM4KSBvcHRpb25zOCA9IHt9O1xuICAgICAgaWYgKHBsYXRmb3JtID09PSBcIndpbjMyXCIpIHtcbiAgICAgICAgcGF0dGVybiA9IHBhdHRlcm4uc3BsaXQoXCJcXFxcXCIpLmpvaW4oXCIvXCIpO1xuICAgICAgfVxuICAgICAgdmFyIGNhY2hlS2V5ID0gcGF0dGVybiArIFwiXFxuXCIgKyBzaWdtdW5kKG9wdGlvbnM4KTtcbiAgICAgIHZhciBjYWNoZWQgPSBtaW5pbWF0Y2guY2FjaGUuZ2V0KGNhY2hlS2V5KTtcbiAgICAgIGlmIChjYWNoZWQpIHJldHVybiBjYWNoZWQ7XG4gICAgICBtaW5pbWF0Y2guY2FjaGUuc2V0KGNhY2hlS2V5LCB0aGlzKTtcbiAgICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM4O1xuICAgICAgdGhpcy5zZXQgPSBbXTtcbiAgICAgIHRoaXMucGF0dGVybiA9IHBhdHRlcm47XG4gICAgICB0aGlzLnJlZ2V4cCA9IG51bGw7XG4gICAgICB0aGlzLm5lZ2F0ZSA9IGZhbHNlO1xuICAgICAgdGhpcy5jb21tZW50ID0gZmFsc2U7XG4gICAgICB0aGlzLmVtcHR5ID0gZmFsc2U7XG4gICAgICB0aGlzLm1ha2UoKTtcbiAgICB9XG4gICAgTWluaW1hdGNoLnByb3RvdHlwZS5tYWtlID0gbWFrZTtcbiAgICBmdW5jdGlvbiBtYWtlKCkge1xuICAgICAgaWYgKHRoaXMuX21hZGUpIHJldHVybjtcbiAgICAgIHZhciBwYXR0ZXJuID0gdGhpcy5wYXR0ZXJuO1xuICAgICAgdmFyIG9wdGlvbnM4ID0gdGhpcy5vcHRpb25zO1xuICAgICAgaWYgKCFvcHRpb25zOC5ub2NvbW1lbnQgJiYgcGF0dGVybi5jaGFyQXQoMCkgPT09IFwiI1wiKSB7XG4gICAgICAgIHRoaXMuY29tbWVudCA9IHRydWU7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGlmICghcGF0dGVybikge1xuICAgICAgICB0aGlzLmVtcHR5ID0gdHJ1ZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgdGhpcy5wYXJzZU5lZ2F0ZSgpO1xuICAgICAgdmFyIHNldDIgPSB0aGlzLmdsb2JTZXQgPSB0aGlzLmJyYWNlRXhwYW5kKCk7XG4gICAgICBpZiAob3B0aW9uczguZGVidWcpIGNvbnNvbGUuZXJyb3IodGhpcy5wYXR0ZXJuLCBzZXQyKTtcbiAgICAgIHNldDIgPSB0aGlzLmdsb2JQYXJ0cyA9IHNldDIubWFwKGZ1bmN0aW9uKHMpIHtcbiAgICAgICAgcmV0dXJuIHMuc3BsaXQoc2xhc2hTcGxpdCk7XG4gICAgICB9KTtcbiAgICAgIGlmIChvcHRpb25zOC5kZWJ1ZykgY29uc29sZS5lcnJvcih0aGlzLnBhdHRlcm4sIHNldDIpO1xuICAgICAgc2V0MiA9IHNldDIubWFwKGZ1bmN0aW9uKHMsIHNpLCBzZXQzKSB7XG4gICAgICAgIHJldHVybiBzLm1hcCh0aGlzLnBhcnNlLCB0aGlzKTtcbiAgICAgIH0sIHRoaXMpO1xuICAgICAgaWYgKG9wdGlvbnM4LmRlYnVnKSBjb25zb2xlLmVycm9yKHRoaXMucGF0dGVybiwgc2V0Mik7XG4gICAgICBzZXQyID0gc2V0Mi5maWx0ZXIoZnVuY3Rpb24ocykge1xuICAgICAgICByZXR1cm4gLTEgPT09IHMuaW5kZXhPZihmYWxzZSk7XG4gICAgICB9KTtcbiAgICAgIGlmIChvcHRpb25zOC5kZWJ1ZykgY29uc29sZS5lcnJvcih0aGlzLnBhdHRlcm4sIHNldDIpO1xuICAgICAgdGhpcy5zZXQgPSBzZXQyO1xuICAgIH1cbiAgICBNaW5pbWF0Y2gucHJvdG90eXBlLnBhcnNlTmVnYXRlID0gcGFyc2VOZWdhdGU7XG4gICAgZnVuY3Rpb24gcGFyc2VOZWdhdGUoKSB7XG4gICAgICB2YXIgcGF0dGVybiA9IHRoaXMucGF0dGVybiwgbmVnYXRlID0gZmFsc2UsIG9wdGlvbnM4ID0gdGhpcy5vcHRpb25zLCBuZWdhdGVPZmZzZXQgPSAwO1xuICAgICAgaWYgKG9wdGlvbnM4Lm5vbmVnYXRlKSByZXR1cm47XG4gICAgICBmb3IgKHZhciBpID0gMCwgbCA9IHBhdHRlcm4ubGVuZ3RoOyBpIDwgbCAmJiBwYXR0ZXJuLmNoYXJBdChpKSA9PT0gXCIhXCI7IGkrKykge1xuICAgICAgICBuZWdhdGUgPSAhbmVnYXRlO1xuICAgICAgICBuZWdhdGVPZmZzZXQrKztcbiAgICAgIH1cbiAgICAgIGlmIChuZWdhdGVPZmZzZXQpIHRoaXMucGF0dGVybiA9IHBhdHRlcm4uc3Vic3RyKG5lZ2F0ZU9mZnNldCk7XG4gICAgICB0aGlzLm5lZ2F0ZSA9IG5lZ2F0ZTtcbiAgICB9XG4gICAgbWluaW1hdGNoLmJyYWNlRXhwYW5kID0gZnVuY3Rpb24ocGF0dGVybiwgb3B0aW9uczgpIHtcbiAgICAgIHJldHVybiBuZXcgTWluaW1hdGNoKHBhdHRlcm4sIG9wdGlvbnM4KS5icmFjZUV4cGFuZCgpO1xuICAgIH07XG4gICAgTWluaW1hdGNoLnByb3RvdHlwZS5icmFjZUV4cGFuZCA9IGJyYWNlRXhwYW5kO1xuICAgIGZ1bmN0aW9uIGJyYWNlRXhwYW5kKHBhdHRlcm4sIG9wdGlvbnM4KSB7XG4gICAgICBvcHRpb25zOCA9IG9wdGlvbnM4IHx8IHRoaXMub3B0aW9ucztcbiAgICAgIHBhdHRlcm4gPSB0eXBlb2YgcGF0dGVybiA9PT0gXCJ1bmRlZmluZWRcIiA/IHRoaXMucGF0dGVybiA6IHBhdHRlcm47XG4gICAgICBpZiAodHlwZW9mIHBhdHRlcm4gPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwidW5kZWZpbmVkIHBhdHRlcm5cIik7XG4gICAgICB9XG4gICAgICBpZiAob3B0aW9uczgubm9icmFjZSB8fCAhcGF0dGVybi5tYXRjaCgvXFx7LipcXH0vKSkge1xuICAgICAgICByZXR1cm4gW3BhdHRlcm5dO1xuICAgICAgfVxuICAgICAgdmFyIGVzY2FwaW5nID0gZmFsc2U7XG4gICAgICBpZiAocGF0dGVybi5jaGFyQXQoMCkgIT09IFwie1wiKSB7XG4gICAgICAgIHZhciBwcmVmaXggPSBudWxsO1xuICAgICAgICBmb3IgKHZhciBpID0gMCwgbCA9IHBhdHRlcm4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgdmFyIGMyID0gcGF0dGVybi5jaGFyQXQoaSk7XG4gICAgICAgICAgaWYgKGMyID09PSBcIlxcXFxcIikge1xuICAgICAgICAgICAgZXNjYXBpbmcgPSAhZXNjYXBpbmc7XG4gICAgICAgICAgfSBlbHNlIGlmIChjMiA9PT0gXCJ7XCIgJiYgIWVzY2FwaW5nKSB7XG4gICAgICAgICAgICBwcmVmaXggPSBwYXR0ZXJuLnN1YnN0cigwLCBpKTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAocHJlZml4ID09PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIFtwYXR0ZXJuXTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgdGFpbCA9IGJyYWNlRXhwYW5kKHBhdHRlcm4uc3Vic3RyKGkpLCBvcHRpb25zOCk7XG4gICAgICAgIHJldHVybiB0YWlsLm1hcChmdW5jdGlvbih0KSB7XG4gICAgICAgICAgcmV0dXJuIHByZWZpeCArIHQ7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgdmFyIG51bXNldCA9IHBhdHRlcm4ubWF0Y2goL15cXHsoLT9bMC05XSspXFwuXFwuKC0/WzAtOV0rKVxcfS8pO1xuICAgICAgaWYgKG51bXNldCkge1xuICAgICAgICB2YXIgc3VmID0gYnJhY2VFeHBhbmQocGF0dGVybi5zdWJzdHIobnVtc2V0WzBdLmxlbmd0aCksIG9wdGlvbnM4KSwgc3RhcnQgPSArbnVtc2V0WzFdLCBlbmQgPSArbnVtc2V0WzJdLCBpbmMgPSBzdGFydCA+IGVuZCA/IC0xIDogMSwgc2V0MiA9IFtdO1xuICAgICAgICBmb3IgKHZhciBpID0gc3RhcnQ7IGkgIT0gZW5kICsgaW5jOyBpICs9IGluYykge1xuICAgICAgICAgIGZvciAodmFyIGlpID0gMCwgbGwgPSBzdWYubGVuZ3RoOyBpaSA8IGxsOyBpaSsrKSB7XG4gICAgICAgICAgICBzZXQyLnB1c2goaSArIHN1ZltpaV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gc2V0MjtcbiAgICAgIH1cbiAgICAgIHZhciBpID0gMSwgZGVwdGggPSAxLCBzZXQyID0gW10sIG1lbWJlciA9IFwiXCIsIHNhd0VuZCA9IGZhbHNlLCBlc2NhcGluZyA9IGZhbHNlO1xuICAgICAgZnVuY3Rpb24gYWRkTWVtYmVyKCkge1xuICAgICAgICBzZXQyLnB1c2gobWVtYmVyKTtcbiAgICAgICAgbWVtYmVyID0gXCJcIjtcbiAgICAgIH1cbiAgICAgIEZPUjogZm9yIChpID0gMSwgbCA9IHBhdHRlcm4ubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIHZhciBjMiA9IHBhdHRlcm4uY2hhckF0KGkpO1xuICAgICAgICBpZiAoZXNjYXBpbmcpIHtcbiAgICAgICAgICBlc2NhcGluZyA9IGZhbHNlO1xuICAgICAgICAgIG1lbWJlciArPSBcIlxcXFxcIiArIGMyO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN3aXRjaCAoYzIpIHtcbiAgICAgICAgICAgIGNhc2UgXCJcXFxcXCI6XG4gICAgICAgICAgICAgIGVzY2FwaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBjYXNlIFwie1wiOlxuICAgICAgICAgICAgICBkZXB0aCsrO1xuICAgICAgICAgICAgICBtZW1iZXIgKz0gXCJ7XCI7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgY2FzZSBcIn1cIjpcbiAgICAgICAgICAgICAgZGVwdGgtLTtcbiAgICAgICAgICAgICAgaWYgKGRlcHRoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgYWRkTWVtYmVyKCk7XG4gICAgICAgICAgICAgICAgaSsrO1xuICAgICAgICAgICAgICAgIGJyZWFrIEZPUjtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBtZW1iZXIgKz0gYzI7XG4gICAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNhc2UgXCIsXCI6XG4gICAgICAgICAgICAgIGlmIChkZXB0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgIGFkZE1lbWJlcigpO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIG1lbWJlciArPSBjMjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICAgIG1lbWJlciArPSBjMjtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoZGVwdGggIT09IDApIHtcbiAgICAgICAgcmV0dXJuIGJyYWNlRXhwYW5kKFwiXFxcXFwiICsgcGF0dGVybiwgb3B0aW9uczgpO1xuICAgICAgfVxuICAgICAgdmFyIHN1ZiA9IGJyYWNlRXhwYW5kKHBhdHRlcm4uc3Vic3RyKGkpLCBvcHRpb25zOCk7XG4gICAgICB2YXIgYWRkQnJhY2VzID0gc2V0Mi5sZW5ndGggPT09IDE7XG4gICAgICBzZXQyID0gc2V0Mi5tYXAoZnVuY3Rpb24ocCkge1xuICAgICAgICByZXR1cm4gYnJhY2VFeHBhbmQocCwgb3B0aW9uczgpO1xuICAgICAgfSk7XG4gICAgICBzZXQyID0gc2V0Mi5yZWR1Y2UoZnVuY3Rpb24obDIsIHIpIHtcbiAgICAgICAgcmV0dXJuIGwyLmNvbmNhdChyKTtcbiAgICAgIH0pO1xuICAgICAgaWYgKGFkZEJyYWNlcykge1xuICAgICAgICBzZXQyID0gc2V0Mi5tYXAoZnVuY3Rpb24ocykge1xuICAgICAgICAgIHJldHVybiBcIntcIiArIHMgKyBcIn1cIjtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgICB2YXIgcmV0ID0gW107XG4gICAgICBmb3IgKHZhciBpID0gMCwgbCA9IHNldDIubGVuZ3RoOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgIGZvciAodmFyIGlpID0gMCwgbGwgPSBzdWYubGVuZ3RoOyBpaSA8IGxsOyBpaSsrKSB7XG4gICAgICAgICAgcmV0LnB1c2goc2V0MltpXSArIHN1ZltpaV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcmV0O1xuICAgIH1cbiAgICBNaW5pbWF0Y2gucHJvdG90eXBlLnBhcnNlID0gcGFyc2U3O1xuICAgIHZhciBTVUJQQVJTRSA9IHt9O1xuICAgIGZ1bmN0aW9uIHBhcnNlNyhwYXR0ZXJuLCBpc1N1Yikge1xuICAgICAgdmFyIG9wdGlvbnM4ID0gdGhpcy5vcHRpb25zO1xuICAgICAgaWYgKCFvcHRpb25zOC5ub2dsb2JzdGFyICYmIHBhdHRlcm4gPT09IFwiKipcIikgcmV0dXJuIEdMT0JTVEFSO1xuICAgICAgaWYgKHBhdHRlcm4gPT09IFwiXCIpIHJldHVybiBcIlwiO1xuICAgICAgdmFyIHJlID0gXCJcIiwgaGFzTWFnaWMgPSAhIW9wdGlvbnM4Lm5vY2FzZSwgZXNjYXBpbmcgPSBmYWxzZSwgcGF0dGVybkxpc3RTdGFjayA9IFtdLCBwbFR5cGUsIHN0YXRlQ2hhciwgaW5DbGFzcyA9IGZhbHNlLCByZUNsYXNzU3RhcnQgPSAtMSwgY2xhc3NTdGFydCA9IC0xLCBwYXR0ZXJuU3RhcnQgPSBwYXR0ZXJuLmNoYXJBdCgwKSA9PT0gXCIuXCIgPyBcIlwiIDogb3B0aW9uczguZG90ID8gXCIoPyEoPzpefFxcXFwvKVxcXFwuezEsMn0oPzokfFxcXFwvKSlcIiA6IFwiKD8hXFxcXC4pXCI7XG4gICAgICBmdW5jdGlvbiBjbGVhclN0YXRlQ2hhcigpIHtcbiAgICAgICAgaWYgKHN0YXRlQ2hhcikge1xuICAgICAgICAgIHN3aXRjaCAoc3RhdGVDaGFyKSB7XG4gICAgICAgICAgICBjYXNlIFwiKlwiOlxuICAgICAgICAgICAgICByZSArPSBzdGFyO1xuICAgICAgICAgICAgICBoYXNNYWdpYyA9IHRydWU7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgY2FzZSBcIj9cIjpcbiAgICAgICAgICAgICAgcmUgKz0gcW1hcms7XG4gICAgICAgICAgICAgIGhhc01hZ2ljID0gdHJ1ZTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICByZSArPSBcIlxcXFxcIiArIHN0YXRlQ2hhcjtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuICAgICAgICAgIHN0YXRlQ2hhciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBpID0gMCwgbGVuID0gcGF0dGVybi5sZW5ndGgsIGMyOyBpIDwgbGVuICYmIChjMiA9IHBhdHRlcm4uY2hhckF0KGkpKTsgaSsrKSB7XG4gICAgICAgIGlmIChvcHRpb25zOC5kZWJ1Zykge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCIlc1x0JXMgJXMgJWpcIiwgcGF0dGVybiwgaSwgcmUsIGMyKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXNjYXBpbmcgJiYgcmVTcGVjaWFsc1tjMl0pIHtcbiAgICAgICAgICByZSArPSBcIlxcXFxcIiArIGMyO1xuICAgICAgICAgIGVzY2FwaW5nID0gZmFsc2U7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgU1dJVENIOiBzd2l0Y2ggKGMyKSB7XG4gICAgICAgICAgY2FzZSBcIi9cIjpcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICBjYXNlIFwiXFxcXFwiOlxuICAgICAgICAgICAgY2xlYXJTdGF0ZUNoYXIoKTtcbiAgICAgICAgICAgIGVzY2FwaW5nID0gdHJ1ZTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIC8vIHRoZSB2YXJpb3VzIHN0YXRlQ2hhciB2YWx1ZXNcbiAgICAgICAgICAvLyBmb3IgdGhlIFwiZXh0Z2xvYlwiIHN0dWZmLlxuICAgICAgICAgIGNhc2UgXCI/XCI6XG4gICAgICAgICAgY2FzZSBcIipcIjpcbiAgICAgICAgICBjYXNlIFwiK1wiOlxuICAgICAgICAgIGNhc2UgXCJAXCI6XG4gICAgICAgICAgY2FzZSBcIiFcIjpcbiAgICAgICAgICAgIGlmIChvcHRpb25zOC5kZWJ1Zykge1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFwiJXNcdCVzICVzICVqIDwtLSBzdGF0ZUNoYXJcIiwgcGF0dGVybiwgaSwgcmUsIGMyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpbkNsYXNzKSB7XG4gICAgICAgICAgICAgIGlmIChjMiA9PT0gXCIhXCIgJiYgaSA9PT0gY2xhc3NTdGFydCArIDEpIGMyID0gXCJeXCI7XG4gICAgICAgICAgICAgIHJlICs9IGMyO1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNsZWFyU3RhdGVDaGFyKCk7XG4gICAgICAgICAgICBzdGF0ZUNoYXIgPSBjMjtcbiAgICAgICAgICAgIGlmIChvcHRpb25zOC5ub2V4dCkgY2xlYXJTdGF0ZUNoYXIoKTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIGNhc2UgXCIoXCI6XG4gICAgICAgICAgICBpZiAoaW5DbGFzcykge1xuICAgICAgICAgICAgICByZSArPSBcIihcIjtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoIXN0YXRlQ2hhcikge1xuICAgICAgICAgICAgICByZSArPSBcIlxcXFwoXCI7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGxUeXBlID0gc3RhdGVDaGFyO1xuICAgICAgICAgICAgcGF0dGVybkxpc3RTdGFjay5wdXNoKHtcbiAgICAgICAgICAgICAgdHlwZTogcGxUeXBlLFxuICAgICAgICAgICAgICBzdGFydDogaSAtIDEsXG4gICAgICAgICAgICAgIHJlU3RhcnQ6IHJlLmxlbmd0aFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICByZSArPSBzdGF0ZUNoYXIgPT09IFwiIVwiID8gXCIoPzooPyFcIiA6IFwiKD86XCI7XG4gICAgICAgICAgICBzdGF0ZUNoYXIgPSBmYWxzZTtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIGNhc2UgXCIpXCI6XG4gICAgICAgICAgICBpZiAoaW5DbGFzcyB8fCAhcGF0dGVybkxpc3RTdGFjay5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgcmUgKz0gXCJcXFxcKVwiO1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGhhc01hZ2ljID0gdHJ1ZTtcbiAgICAgICAgICAgIHJlICs9IFwiKVwiO1xuICAgICAgICAgICAgcGxUeXBlID0gcGF0dGVybkxpc3RTdGFjay5wb3AoKS50eXBlO1xuICAgICAgICAgICAgc3dpdGNoIChwbFR5cGUpIHtcbiAgICAgICAgICAgICAgY2FzZSBcIiFcIjpcbiAgICAgICAgICAgICAgICByZSArPSBcIlteL10qPylcIjtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgY2FzZSBcIj9cIjpcbiAgICAgICAgICAgICAgY2FzZSBcIitcIjpcbiAgICAgICAgICAgICAgY2FzZSBcIipcIjpcbiAgICAgICAgICAgICAgICByZSArPSBwbFR5cGU7XG4gICAgICAgICAgICAgIGNhc2UgXCJAXCI6XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICBjYXNlIFwifFwiOlxuICAgICAgICAgICAgaWYgKGluQ2xhc3MgfHwgIXBhdHRlcm5MaXN0U3RhY2subGVuZ3RoIHx8IGVzY2FwaW5nKSB7XG4gICAgICAgICAgICAgIHJlICs9IFwiXFxcXHxcIjtcbiAgICAgICAgICAgICAgZXNjYXBpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZSArPSBcInxcIjtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIC8vIHRoZXNlIGFyZSBtb3N0bHkgdGhlIHNhbWUgaW4gcmVnZXhwIGFuZCBnbG9iXG4gICAgICAgICAgY2FzZSBcIltcIjpcbiAgICAgICAgICAgIGNsZWFyU3RhdGVDaGFyKCk7XG4gICAgICAgICAgICBpZiAoaW5DbGFzcykge1xuICAgICAgICAgICAgICByZSArPSBcIlxcXFxcIiArIGMyO1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGluQ2xhc3MgPSB0cnVlO1xuICAgICAgICAgICAgY2xhc3NTdGFydCA9IGk7XG4gICAgICAgICAgICByZUNsYXNzU3RhcnQgPSByZS5sZW5ndGg7XG4gICAgICAgICAgICByZSArPSBjMjtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIGNhc2UgXCJdXCI6XG4gICAgICAgICAgICBpZiAoaSA9PT0gY2xhc3NTdGFydCArIDEgfHwgIWluQ2xhc3MpIHtcbiAgICAgICAgICAgICAgcmUgKz0gXCJcXFxcXCIgKyBjMjtcbiAgICAgICAgICAgICAgZXNjYXBpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBoYXNNYWdpYyA9IHRydWU7XG4gICAgICAgICAgICBpbkNsYXNzID0gZmFsc2U7XG4gICAgICAgICAgICByZSArPSBjMjtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgICBjbGVhclN0YXRlQ2hhcigpO1xuICAgICAgICAgICAgaWYgKGVzY2FwaW5nKSB7XG4gICAgICAgICAgICAgIGVzY2FwaW5nID0gZmFsc2U7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHJlU3BlY2lhbHNbYzJdICYmICEoYzIgPT09IFwiXlwiICYmIGluQ2xhc3MpKSB7XG4gICAgICAgICAgICAgIHJlICs9IFwiXFxcXFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmUgKz0gYzI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChpbkNsYXNzKSB7XG4gICAgICAgIHZhciBjcyA9IHBhdHRlcm4uc3Vic3RyKGNsYXNzU3RhcnQgKyAxKSwgc3AgPSB0aGlzLnBhcnNlKGNzLCBTVUJQQVJTRSk7XG4gICAgICAgIHJlID0gcmUuc3Vic3RyKDAsIHJlQ2xhc3NTdGFydCkgKyBcIlxcXFxbXCIgKyBzcFswXTtcbiAgICAgICAgaGFzTWFnaWMgPSBoYXNNYWdpYyB8fCBzcFsxXTtcbiAgICAgIH1cbiAgICAgIHZhciBwbDtcbiAgICAgIHdoaWxlIChwbCA9IHBhdHRlcm5MaXN0U3RhY2sucG9wKCkpIHtcbiAgICAgICAgdmFyIHRhaWwgPSByZS5zbGljZShwbC5yZVN0YXJ0ICsgMyk7XG4gICAgICAgIHRhaWwgPSB0YWlsLnJlcGxhY2UoLygoPzpcXFxcezJ9KSopKFxcXFw/KVxcfC9nLCBmdW5jdGlvbihfLCAkMSwgJDIpIHtcbiAgICAgICAgICBpZiAoISQyKSB7XG4gICAgICAgICAgICAkMiA9IFwiXFxcXFwiO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gJDEgKyAkMSArICQyICsgXCJ8XCI7XG4gICAgICAgIH0pO1xuICAgICAgICB2YXIgdCA9IHBsLnR5cGUgPT09IFwiKlwiID8gc3RhciA6IHBsLnR5cGUgPT09IFwiP1wiID8gcW1hcmsgOiBcIlxcXFxcIiArIHBsLnR5cGU7XG4gICAgICAgIGhhc01hZ2ljID0gdHJ1ZTtcbiAgICAgICAgcmUgPSByZS5zbGljZSgwLCBwbC5yZVN0YXJ0KSArIHQgKyBcIlxcXFwoXCIgKyB0YWlsO1xuICAgICAgfVxuICAgICAgY2xlYXJTdGF0ZUNoYXIoKTtcbiAgICAgIGlmIChlc2NhcGluZykge1xuICAgICAgICByZSArPSBcIlxcXFxcXFxcXCI7XG4gICAgICB9XG4gICAgICB2YXIgYWRkUGF0dGVyblN0YXJ0ID0gZmFsc2U7XG4gICAgICBzd2l0Y2ggKHJlLmNoYXJBdCgwKSkge1xuICAgICAgICBjYXNlIFwiLlwiOlxuICAgICAgICBjYXNlIFwiW1wiOlxuICAgICAgICBjYXNlIFwiKFwiOlxuICAgICAgICAgIGFkZFBhdHRlcm5TdGFydCA9IHRydWU7XG4gICAgICB9XG4gICAgICBpZiAocmUgIT09IFwiXCIgJiYgaGFzTWFnaWMpIHJlID0gXCIoPz0uKVwiICsgcmU7XG4gICAgICBpZiAoYWRkUGF0dGVyblN0YXJ0KSByZSA9IHBhdHRlcm5TdGFydCArIHJlO1xuICAgICAgaWYgKGlzU3ViID09PSBTVUJQQVJTRSkge1xuICAgICAgICByZXR1cm4gW3JlLCBoYXNNYWdpY107XG4gICAgICB9XG4gICAgICBpZiAoIWhhc01hZ2ljKSB7XG4gICAgICAgIHJldHVybiBnbG9iVW5lc2NhcGUocGF0dGVybik7XG4gICAgICB9XG4gICAgICB2YXIgZmxhZ3MgPSBvcHRpb25zOC5ub2Nhc2UgPyBcImlcIiA6IFwiXCIsIHJlZ0V4cCA9IG5ldyBSZWdFeHAoXCJeXCIgKyByZSArIFwiJFwiLCBmbGFncyk7XG4gICAgICByZWdFeHAuX2dsb2IgPSBwYXR0ZXJuO1xuICAgICAgcmVnRXhwLl9zcmMgPSByZTtcbiAgICAgIHJldHVybiByZWdFeHA7XG4gICAgfVxuICAgIG1pbmltYXRjaC5tYWtlUmUgPSBmdW5jdGlvbihwYXR0ZXJuLCBvcHRpb25zOCkge1xuICAgICAgcmV0dXJuIG5ldyBNaW5pbWF0Y2gocGF0dGVybiwgb3B0aW9uczggfHwge30pLm1ha2VSZSgpO1xuICAgIH07XG4gICAgTWluaW1hdGNoLnByb3RvdHlwZS5tYWtlUmUgPSBtYWtlUmU7XG4gICAgZnVuY3Rpb24gbWFrZVJlKCkge1xuICAgICAgaWYgKHRoaXMucmVnZXhwIHx8IHRoaXMucmVnZXhwID09PSBmYWxzZSkgcmV0dXJuIHRoaXMucmVnZXhwO1xuICAgICAgdmFyIHNldDIgPSB0aGlzLnNldDtcbiAgICAgIGlmICghc2V0Mi5sZW5ndGgpIHJldHVybiB0aGlzLnJlZ2V4cCA9IGZhbHNlO1xuICAgICAgdmFyIG9wdGlvbnM4ID0gdGhpcy5vcHRpb25zO1xuICAgICAgdmFyIHR3b1N0YXIgPSBvcHRpb25zOC5ub2dsb2JzdGFyID8gc3RhciA6IG9wdGlvbnM4LmRvdCA/IHR3b1N0YXJEb3QgOiB0d29TdGFyTm9Eb3QsIGZsYWdzID0gb3B0aW9uczgubm9jYXNlID8gXCJpXCIgOiBcIlwiO1xuICAgICAgdmFyIHJlID0gc2V0Mi5tYXAoZnVuY3Rpb24ocGF0dGVybikge1xuICAgICAgICByZXR1cm4gcGF0dGVybi5tYXAoZnVuY3Rpb24ocCkge1xuICAgICAgICAgIHJldHVybiBwID09PSBHTE9CU1RBUiA/IHR3b1N0YXIgOiB0eXBlb2YgcCA9PT0gXCJzdHJpbmdcIiA/IHJlZ0V4cEVzY2FwZShwKSA6IHAuX3NyYztcbiAgICAgICAgfSkuam9pbihcIlxcXFwvXCIpO1xuICAgICAgfSkuam9pbihcInxcIik7XG4gICAgICByZSA9IFwiXig/OlwiICsgcmUgKyBcIikkXCI7XG4gICAgICBpZiAodGhpcy5uZWdhdGUpIHJlID0gXCJeKD8hXCIgKyByZSArIFwiKS4qJFwiO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVnZXhwID0gbmV3IFJlZ0V4cChyZSwgZmxhZ3MpO1xuICAgICAgfSBjYXRjaCAoZXgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVnZXhwID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICAgIG1pbmltYXRjaC5tYXRjaCA9IGZ1bmN0aW9uKGxpc3QsIHBhdHRlcm4sIG9wdGlvbnM4KSB7XG4gICAgICB2YXIgbW0gPSBuZXcgTWluaW1hdGNoKHBhdHRlcm4sIG9wdGlvbnM4KTtcbiAgICAgIGxpc3QgPSBsaXN0LmZpbHRlcihmdW5jdGlvbihmKSB7XG4gICAgICAgIHJldHVybiBtbS5tYXRjaChmKTtcbiAgICAgIH0pO1xuICAgICAgaWYgKG9wdGlvbnM4Lm5vbnVsbCAmJiAhbGlzdC5sZW5ndGgpIHtcbiAgICAgICAgbGlzdC5wdXNoKHBhdHRlcm4pO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgfTtcbiAgICBNaW5pbWF0Y2gucHJvdG90eXBlLm1hdGNoID0gbWF0Y2g7XG4gICAgZnVuY3Rpb24gbWF0Y2goZiwgcGFydGlhbCkge1xuICAgICAgaWYgKHRoaXMuY29tbWVudCkgcmV0dXJuIGZhbHNlO1xuICAgICAgaWYgKHRoaXMuZW1wdHkpIHJldHVybiBmID09PSBcIlwiO1xuICAgICAgaWYgKGYgPT09IFwiL1wiICYmIHBhcnRpYWwpIHJldHVybiB0cnVlO1xuICAgICAgdmFyIG9wdGlvbnM4ID0gdGhpcy5vcHRpb25zO1xuICAgICAgaWYgKHBsYXRmb3JtID09PSBcIndpbjMyXCIpIHtcbiAgICAgICAgZiA9IGYuc3BsaXQoXCJcXFxcXCIpLmpvaW4oXCIvXCIpO1xuICAgICAgfVxuICAgICAgZiA9IGYuc3BsaXQoc2xhc2hTcGxpdCk7XG4gICAgICBpZiAob3B0aW9uczguZGVidWcpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcih0aGlzLnBhdHRlcm4sIFwic3BsaXRcIiwgZik7XG4gICAgICB9XG4gICAgICB2YXIgc2V0MiA9IHRoaXMuc2V0O1xuICAgICAgZm9yICh2YXIgaSA9IDAsIGwgPSBzZXQyLmxlbmd0aDsgaSA8IGw7IGkrKykge1xuICAgICAgICB2YXIgcGF0dGVybiA9IHNldDJbaV07XG4gICAgICAgIHZhciBoaXQgPSB0aGlzLm1hdGNoT25lKGYsIHBhdHRlcm4sIHBhcnRpYWwpO1xuICAgICAgICBpZiAoaGl0KSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnM4LmZsaXBOZWdhdGUpIHJldHVybiB0cnVlO1xuICAgICAgICAgIHJldHVybiAhdGhpcy5uZWdhdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zOC5mbGlwTmVnYXRlKSByZXR1cm4gZmFsc2U7XG4gICAgICByZXR1cm4gdGhpcy5uZWdhdGU7XG4gICAgfVxuICAgIE1pbmltYXRjaC5wcm90b3R5cGUubWF0Y2hPbmUgPSBmdW5jdGlvbihmaWxlLCBwYXR0ZXJuLCBwYXJ0aWFsKSB7XG4gICAgICB2YXIgb3B0aW9uczggPSB0aGlzLm9wdGlvbnM7XG4gICAgICBpZiAob3B0aW9uczguZGVidWcpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICBcIm1hdGNoT25lXCIsXG4gICAgICAgICAge1xuICAgICAgICAgICAgXCJ0aGlzXCI6IHRoaXMsXG4gICAgICAgICAgICBmaWxlLFxuICAgICAgICAgICAgcGF0dGVyblxuICAgICAgICAgIH1cbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zOC5tYXRjaEJhc2UgJiYgcGF0dGVybi5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgZmlsZSA9IHBhdGgxMy5iYXNlbmFtZShmaWxlLmpvaW4oXCIvXCIpKS5zcGxpdChcIi9cIik7XG4gICAgICB9XG4gICAgICBpZiAob3B0aW9uczguZGVidWcpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihcIm1hdGNoT25lXCIsIGZpbGUubGVuZ3RoLCBwYXR0ZXJuLmxlbmd0aCk7XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBmaSA9IDAsIHBpID0gMCwgZmwgPSBmaWxlLmxlbmd0aCwgcGwgPSBwYXR0ZXJuLmxlbmd0aDsgZmkgPCBmbCAmJiBwaSA8IHBsOyBmaSsrLCBwaSsrKSB7XG4gICAgICAgIGlmIChvcHRpb25zOC5kZWJ1Zykge1xuICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJtYXRjaE9uZSBsb29wXCIpO1xuICAgICAgICB9XG4gICAgICAgIHZhciBwID0gcGF0dGVybltwaV0sIGYgPSBmaWxlW2ZpXTtcbiAgICAgICAgaWYgKG9wdGlvbnM4LmRlYnVnKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcihwYXR0ZXJuLCBwLCBmKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAocCA9PT0gZmFsc2UpIHJldHVybiBmYWxzZTtcbiAgICAgICAgaWYgKHAgPT09IEdMT0JTVEFSKSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnM4LmRlYnVnKVxuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkdMT0JTVEFSXCIsIFtwYXR0ZXJuLCBwLCBmXSk7XG4gICAgICAgICAgdmFyIGZyID0gZmksIHByID0gcGkgKyAxO1xuICAgICAgICAgIGlmIChwciA9PT0gcGwpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zOC5kZWJ1ZylcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIioqIGF0IHRoZSBlbmRcIik7XG4gICAgICAgICAgICBmb3IgKDsgZmkgPCBmbDsgZmkrKykge1xuICAgICAgICAgICAgICBpZiAoZmlsZVtmaV0gPT09IFwiLlwiIHx8IGZpbGVbZmldID09PSBcIi4uXCIgfHwgIW9wdGlvbnM4LmRvdCAmJiBmaWxlW2ZpXS5jaGFyQXQoMCkgPT09IFwiLlwiKSByZXR1cm4gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgV0hJTEU6IHdoaWxlIChmciA8IGZsKSB7XG4gICAgICAgICAgICB2YXIgc3dhbGxvd2VlID0gZmlsZVtmcl07XG4gICAgICAgICAgICBpZiAob3B0aW9uczguZGVidWcpIHtcbiAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcbiAgICAgICAgICAgICAgICBcIlxcbmdsb2JzdGFyIHdoaWxlXCIsXG4gICAgICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgICAgICBmcixcbiAgICAgICAgICAgICAgICBwYXR0ZXJuLFxuICAgICAgICAgICAgICAgIHByLFxuICAgICAgICAgICAgICAgIHN3YWxsb3dlZVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKHRoaXMubWF0Y2hPbmUoZmlsZS5zbGljZShmciksIHBhdHRlcm4uc2xpY2UocHIpLCBwYXJ0aWFsKSkge1xuICAgICAgICAgICAgICBpZiAob3B0aW9uczguZGVidWcpXG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihcImdsb2JzdGFyIGZvdW5kIG1hdGNoIVwiLCBmciwgZmwsIHN3YWxsb3dlZSk7XG4gICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaWYgKHN3YWxsb3dlZSA9PT0gXCIuXCIgfHwgc3dhbGxvd2VlID09PSBcIi4uXCIgfHwgIW9wdGlvbnM4LmRvdCAmJiBzd2FsbG93ZWUuY2hhckF0KDApID09PSBcIi5cIikge1xuICAgICAgICAgICAgICAgIGlmIChvcHRpb25zOC5kZWJ1ZylcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJkb3QgZGV0ZWN0ZWQhXCIsIGZpbGUsIGZyLCBwYXR0ZXJuLCBwcik7XG4gICAgICAgICAgICAgICAgYnJlYWsgV0hJTEU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKG9wdGlvbnM4LmRlYnVnKVxuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoXCJnbG9ic3RhciBzd2FsbG93IGEgc2VnbWVudCwgYW5kIGNvbnRpbnVlXCIpO1xuICAgICAgICAgICAgICBmcisrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocGFydGlhbCkge1xuICAgICAgICAgICAgaWYgKGZyID09PSBmbCkgcmV0dXJuIHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICB2YXIgaGl0O1xuICAgICAgICBpZiAodHlwZW9mIHAgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgICAgICBpZiAob3B0aW9uczgubm9jYXNlKSB7XG4gICAgICAgICAgICBoaXQgPSBmLnRvTG93ZXJDYXNlKCkgPT09IHAudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaGl0ID0gZiA9PT0gcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKG9wdGlvbnM4LmRlYnVnKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwic3RyaW5nIG1hdGNoXCIsIHAsIGYsIGhpdCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGhpdCA9IGYubWF0Y2gocCk7XG4gICAgICAgICAgaWYgKG9wdGlvbnM4LmRlYnVnKSB7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFwicGF0dGVybiBtYXRjaFwiLCBwLCBmLCBoaXQpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoIWhpdCkgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgaWYgKGZpID09PSBmbCAmJiBwaSA9PT0gcGwpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9IGVsc2UgaWYgKGZpID09PSBmbCkge1xuICAgICAgICByZXR1cm4gcGFydGlhbDtcbiAgICAgIH0gZWxzZSBpZiAocGkgPT09IHBsKSB7XG4gICAgICAgIHZhciBlbXB0eUZpbGVFbmQgPSBmaSA9PT0gZmwgLSAxICYmIGZpbGVbZmldID09PSBcIlwiO1xuICAgICAgICByZXR1cm4gZW1wdHlGaWxlRW5kO1xuICAgICAgfVxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwid3RmP1wiKTtcbiAgICB9O1xuICAgIGZ1bmN0aW9uIGdsb2JVbmVzY2FwZShzKSB7XG4gICAgICByZXR1cm4gcy5yZXBsYWNlKC9cXFxcKC4pL2csIFwiJDFcIik7XG4gICAgfVxuICAgIGZ1bmN0aW9uIHJlZ0V4cEVzY2FwZShzKSB7XG4gICAgICByZXR1cm4gcy5yZXBsYWNlKC9bLVtcXF17fSgpKis/LixcXFxcXiR8I1xcc10vZywgXCJcXFxcJCZcIik7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2VkaXRvcmNvbmZpZy9zcmMvbGliL2luaS5qc1xudmFyIHJlcXVpcmVfaW5pID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2VkaXRvcmNvbmZpZy9zcmMvbGliL2luaS5qc1wiKGV4cG9ydHMpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgX19hd2FpdGVyID0gZXhwb3J0cyAmJiBleHBvcnRzLl9fYXdhaXRlciB8fCBmdW5jdGlvbih0aGlzQXJnLCBfYXJndW1lbnRzLCBQLCBnZW5lcmF0b3IpIHtcbiAgICAgIHJldHVybiBuZXcgKFAgfHwgKFAgPSBQcm9taXNlKSkoZnVuY3Rpb24ocmVzb2x2ZTMsIHJlamVjdCkge1xuICAgICAgICBmdW5jdGlvbiBmdWxmaWxsZWQodmFsdWUpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgc3RlcChnZW5lcmF0b3IubmV4dCh2YWx1ZSkpO1xuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gcmVqZWN0ZWQodmFsdWUpIHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgc3RlcChnZW5lcmF0b3JbXCJ0aHJvd1wiXSh2YWx1ZSkpO1xuICAgICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICAgIHJlamVjdChlKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZnVuY3Rpb24gc3RlcChyZXN1bHQpIHtcbiAgICAgICAgICByZXN1bHQuZG9uZSA/IHJlc29sdmUzKHJlc3VsdC52YWx1ZSkgOiBuZXcgUChmdW5jdGlvbihyZXNvbHZlNCkge1xuICAgICAgICAgICAgcmVzb2x2ZTQocmVzdWx0LnZhbHVlKTtcbiAgICAgICAgICB9KS50aGVuKGZ1bGZpbGxlZCwgcmVqZWN0ZWQpO1xuICAgICAgICB9XG4gICAgICAgIHN0ZXAoKGdlbmVyYXRvciA9IGdlbmVyYXRvci5hcHBseSh0aGlzQXJnLCBfYXJndW1lbnRzIHx8IFtdKSkubmV4dCgpKTtcbiAgICAgIH0pO1xuICAgIH07XG4gICAgdmFyIF9fZ2VuZXJhdG9yID0gZXhwb3J0cyAmJiBleHBvcnRzLl9fZ2VuZXJhdG9yIHx8IGZ1bmN0aW9uKHRoaXNBcmcsIGJvZHkpIHtcbiAgICAgIHZhciBfID0geyBsYWJlbDogMCwgc2VudDogZnVuY3Rpb24oKSB7XG4gICAgICAgIGlmICh0WzBdICYgMSkgdGhyb3cgdFsxXTtcbiAgICAgICAgcmV0dXJuIHRbMV07XG4gICAgICB9LCB0cnlzOiBbXSwgb3BzOiBbXSB9LCBmLCB5LCB0LCBnO1xuICAgICAgcmV0dXJuIGcgPSB7IG5leHQ6IHZlcmIoMCksIFwidGhyb3dcIjogdmVyYigxKSwgXCJyZXR1cm5cIjogdmVyYigyKSB9LCB0eXBlb2YgU3ltYm9sID09PSBcImZ1bmN0aW9uXCIgJiYgKGdbU3ltYm9sLml0ZXJhdG9yXSA9IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gdGhpcztcbiAgICAgIH0pLCBnO1xuICAgICAgZnVuY3Rpb24gdmVyYihuKSB7XG4gICAgICAgIHJldHVybiBmdW5jdGlvbih2KSB7XG4gICAgICAgICAgcmV0dXJuIHN0ZXAoW24sIHZdKTtcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIGZ1bmN0aW9uIHN0ZXAob3ApIHtcbiAgICAgICAgaWYgKGYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJHZW5lcmF0b3IgaXMgYWxyZWFkeSBleGVjdXRpbmcuXCIpO1xuICAgICAgICB3aGlsZSAoXykgdHJ5IHtcbiAgICAgICAgICBpZiAoZiA9IDEsIHkgJiYgKHQgPSBvcFswXSAmIDIgPyB5W1wicmV0dXJuXCJdIDogb3BbMF0gPyB5W1widGhyb3dcIl0gfHwgKCh0ID0geVtcInJldHVyblwiXSkgJiYgdC5jYWxsKHkpLCAwKSA6IHkubmV4dCkgJiYgISh0ID0gdC5jYWxsKHksIG9wWzFdKSkuZG9uZSkgcmV0dXJuIHQ7XG4gICAgICAgICAgaWYgKHkgPSAwLCB0KSBvcCA9IFtvcFswXSAmIDIsIHQudmFsdWVdO1xuICAgICAgICAgIHN3aXRjaCAob3BbMF0pIHtcbiAgICAgICAgICAgIGNhc2UgMDpcbiAgICAgICAgICAgIGNhc2UgMTpcbiAgICAgICAgICAgICAgdCA9IG9wO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIGNhc2UgNDpcbiAgICAgICAgICAgICAgXy5sYWJlbCsrO1xuICAgICAgICAgICAgICByZXR1cm4geyB2YWx1ZTogb3BbMV0sIGRvbmU6IGZhbHNlIH07XG4gICAgICAgICAgICBjYXNlIDU6XG4gICAgICAgICAgICAgIF8ubGFiZWwrKztcbiAgICAgICAgICAgICAgeSA9IG9wWzFdO1xuICAgICAgICAgICAgICBvcCA9IFswXTtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBjYXNlIDc6XG4gICAgICAgICAgICAgIG9wID0gXy5vcHMucG9wKCk7XG4gICAgICAgICAgICAgIF8udHJ5cy5wb3AoKTtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICBpZiAoISh0ID0gXy50cnlzLCB0ID0gdC5sZW5ndGggPiAwICYmIHRbdC5sZW5ndGggLSAxXSkgJiYgKG9wWzBdID09PSA2IHx8IG9wWzBdID09PSAyKSkge1xuICAgICAgICAgICAgICAgIF8gPSAwO1xuICAgICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gMyAmJiAoIXQgfHwgb3BbMV0gPiB0WzBdICYmIG9wWzFdIDwgdFszXSkpIHtcbiAgICAgICAgICAgICAgICBfLmxhYmVsID0gb3BbMV07XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKG9wWzBdID09PSA2ICYmIF8ubGFiZWwgPCB0WzFdKSB7XG4gICAgICAgICAgICAgICAgXy5sYWJlbCA9IHRbMV07XG4gICAgICAgICAgICAgICAgdCA9IG9wO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmICh0ICYmIF8ubGFiZWwgPCB0WzJdKSB7XG4gICAgICAgICAgICAgICAgXy5sYWJlbCA9IHRbMl07XG4gICAgICAgICAgICAgICAgXy5vcHMucHVzaChvcCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaWYgKHRbMl0pIF8ub3BzLnBvcCgpO1xuICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgICBvcCA9IGJvZHkuY2FsbCh0aGlzQXJnLCBfKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIG9wID0gWzYsIGVdO1xuICAgICAgICAgIHkgPSAwO1xuICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgIGYgPSB0ID0gMDtcbiAgICAgICAgfVxuICAgICAgICBpZiAob3BbMF0gJiA1KSB0aHJvdyBvcFsxXTtcbiAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG9wWzBdID8gb3BbMV0gOiB2b2lkIDAsIGRvbmU6IHRydWUgfTtcbiAgICAgIH1cbiAgICB9O1xuICAgIHZhciBfX2ltcG9ydFN0YXIgPSBleHBvcnRzICYmIGV4cG9ydHMuX19pbXBvcnRTdGFyIHx8IGZ1bmN0aW9uKG1vZCkge1xuICAgICAgaWYgKG1vZCAmJiBtb2QuX19lc01vZHVsZSkgcmV0dXJuIG1vZDtcbiAgICAgIHZhciByZXN1bHQgPSB7fTtcbiAgICAgIGlmIChtb2QgIT0gbnVsbCkge1xuICAgICAgICBmb3IgKHZhciBrIGluIG1vZCkgaWYgKE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKG1vZCwgaykpIHJlc3VsdFtrXSA9IG1vZFtrXTtcbiAgICAgIH1cbiAgICAgIHJlc3VsdFtcImRlZmF1bHRcIl0gPSBtb2Q7XG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH07XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIHZhciBmczcgPSBfX2ltcG9ydFN0YXIoX19yZXF1aXJlKFwiZnNcIikpO1xuICAgIHZhciByZWdleCA9IHtcbiAgICAgIHNlY3Rpb246IC9eXFxzKlxcWygoW14jO118XFxcXCN8XFxcXDspKylcXF1cXHMqKFsjO10uKik/JC8sXG4gICAgICBwYXJhbTogL15cXHMqKFtcXHdcXC5cXC1cXF9dKylcXHMqWz06XVxccyooLio/KVxccyooWyM7XS4qKT8kLyxcbiAgICAgIGNvbW1lbnQ6IC9eXFxzKlsjO10uKiQvXG4gICAgfTtcbiAgICBmdW5jdGlvbiBwYXJzZTcoZmlsZSkge1xuICAgICAgcmV0dXJuIF9fYXdhaXRlcih0aGlzLCB2b2lkIDAsIHZvaWQgMCwgZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbihfYSkge1xuICAgICAgICAgIHJldHVybiBbMiwgbmV3IFByb21pc2UoZnVuY3Rpb24ocmVzb2x2ZTMsIHJlamVjdCkge1xuICAgICAgICAgICAgZnM3LnJlYWRGaWxlKGZpbGUsIFwidXRmOFwiLCBmdW5jdGlvbihlcnIsIGRhdGEpIHtcbiAgICAgICAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICByZXNvbHZlMyhwYXJzZVN0cmluZzIoZGF0YSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSldO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBleHBvcnRzLnBhcnNlID0gcGFyc2U3O1xuICAgIGZ1bmN0aW9uIHBhcnNlU3luYyhmaWxlKSB7XG4gICAgICByZXR1cm4gcGFyc2VTdHJpbmcyKGZzNy5yZWFkRmlsZVN5bmMoZmlsZSwgXCJ1dGY4XCIpKTtcbiAgICB9XG4gICAgZXhwb3J0cy5wYXJzZVN5bmMgPSBwYXJzZVN5bmM7XG4gICAgZnVuY3Rpb24gcGFyc2VTdHJpbmcyKGRhdGEpIHtcbiAgICAgIHZhciBzZWN0aW9uQm9keSA9IHt9O1xuICAgICAgdmFyIHNlY3Rpb25OYW1lID0gbnVsbDtcbiAgICAgIHZhciB2YWx1ZSA9IFtbc2VjdGlvbk5hbWUsIHNlY3Rpb25Cb2R5XV07XG4gICAgICB2YXIgbGluZXMgPSBkYXRhLnNwbGl0KC9cXHJcXG58XFxyfFxcbi8pO1xuICAgICAgbGluZXMuZm9yRWFjaChmdW5jdGlvbihsaW5lMykge1xuICAgICAgICB2YXIgbWF0Y2g7XG4gICAgICAgIGlmIChyZWdleC5jb21tZW50LnRlc3QobGluZTMpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGlmIChyZWdleC5wYXJhbS50ZXN0KGxpbmUzKSkge1xuICAgICAgICAgIG1hdGNoID0gbGluZTMubWF0Y2gocmVnZXgucGFyYW0pO1xuICAgICAgICAgIHNlY3Rpb25Cb2R5W21hdGNoWzFdXSA9IG1hdGNoWzJdO1xuICAgICAgICB9IGVsc2UgaWYgKHJlZ2V4LnNlY3Rpb24udGVzdChsaW5lMykpIHtcbiAgICAgICAgICBtYXRjaCA9IGxpbmUzLm1hdGNoKHJlZ2V4LnNlY3Rpb24pO1xuICAgICAgICAgIHNlY3Rpb25OYW1lID0gbWF0Y2hbMV07XG4gICAgICAgICAgc2VjdGlvbkJvZHkgPSB7fTtcbiAgICAgICAgICB2YWx1ZS5wdXNoKFtzZWN0aW9uTmFtZSwgc2VjdGlvbkJvZHldKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICByZXR1cm4gdmFsdWU7XG4gICAgfVxuICAgIGV4cG9ydHMucGFyc2VTdHJpbmcgPSBwYXJzZVN0cmluZzI7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZWRpdG9yY29uZmlnL3BhY2thZ2UuanNvblxudmFyIHJlcXVpcmVfcGFja2FnZSA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9lZGl0b3Jjb25maWcvcGFja2FnZS5qc29uXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSB7XG4gICAgICBuYW1lOiBcImVkaXRvcmNvbmZpZ1wiLFxuICAgICAgdmVyc2lvbjogXCIwLjE1LjNcIixcbiAgICAgIGRlc2NyaXB0aW9uOiBcIkVkaXRvckNvbmZpZyBGaWxlIExvY2F0b3IgYW5kIEludGVycHJldGVyIGZvciBOb2RlLmpzXCIsXG4gICAgICBrZXl3b3JkczogW1xuICAgICAgICBcImVkaXRvcmNvbmZpZ1wiLFxuICAgICAgICBcImNvcmVcIlxuICAgICAgXSxcbiAgICAgIG1haW46IFwic3JjL2luZGV4LmpzXCIsXG4gICAgICBjb250cmlidXRvcnM6IFtcbiAgICAgICAgXCJIb25nIFh1ICh0b3BidWcubmV0KVwiLFxuICAgICAgICBcIkplZCBNYW8gKGh0dHBzOi8vZ2l0aHViLmNvbS9qZWRtYW8vKVwiLFxuICAgICAgICBcIlRyZXkgSHVubmVyIChodHRwOi8vdHJleWh1bm5lci5jb20pXCJcbiAgICAgIF0sXG4gICAgICBkaXJlY3Rvcmllczoge1xuICAgICAgICBiaW46IFwiLi9iaW5cIixcbiAgICAgICAgbGliOiBcIi4vbGliXCJcbiAgICAgIH0sXG4gICAgICBzY3JpcHRzOiB7XG4gICAgICAgIGNsZWFuOiBcInJpbXJhZiBkaXN0XCIsXG4gICAgICAgIHByZWJ1aWxkOiBcIm5wbSBydW4gY2xlYW5cIixcbiAgICAgICAgYnVpbGQ6IFwidHNjXCIsXG4gICAgICAgIHByZXRlc3Q6IFwibnBtIHJ1biBsaW50ICYmIG5wbSBydW4gYnVpbGQgJiYgbnBtIHJ1biBjb3B5ICYmIGNtYWtlIC5cIixcbiAgICAgICAgdGVzdDogXCJjdGVzdCAuXCIsXG4gICAgICAgIFwicHJldGVzdDpjaVwiOiBcIm5wbSBydW4gcHJldGVzdFwiLFxuICAgICAgICBcInRlc3Q6Y2lcIjogXCJjdGVzdCAtVlYgLS1vdXRwdXQtb24tZmFpbHVyZSAuXCIsXG4gICAgICAgIGxpbnQ6IFwibnBtIHJ1biBlY2xpbnQgJiYgbnBtIHJ1biB0c2xpbnRcIixcbiAgICAgICAgZWNsaW50OiAnZWNsaW50IGNoZWNrIC0taW5kZW50X3NpemUgaWdub3JlIFwic3JjLyoqXCInLFxuICAgICAgICB0c2xpbnQ6IFwidHNsaW50IC0tcHJvamVjdCB0c2NvbmZpZy5qc29uIC0tZXhjbHVkZSBwYWNrYWdlLmpzb25cIixcbiAgICAgICAgY29weTogXCJjcHkgLm5wbWlnbm9yZSBMSUNFTlNFIFJFQURNRS5tZCBDSEFOR0VMT0cubWQgZGlzdCAmJiBjcHkgYmluLyogZGlzdC9iaW4gJiYgY3B5IHNyYy9saWIvZm5tYXRjaCouKiBkaXN0L3NyYy9saWJcIixcbiAgICAgICAgcHJlcHViOiBcIm5wbSBydW4gbGludCAmJiBucG0gcnVuIGJ1aWxkICYmIG5wbSBydW4gY29weVwiLFxuICAgICAgICBwdWI6IFwibnBtIHB1Ymxpc2ggLi9kaXN0XCJcbiAgICAgIH0sXG4gICAgICByZXBvc2l0b3J5OiB7XG4gICAgICAgIHR5cGU6IFwiZ2l0XCIsXG4gICAgICAgIHVybDogXCJnaXQ6Ly9naXRodWIuY29tL2VkaXRvcmNvbmZpZy9lZGl0b3Jjb25maWctY29yZS1qcy5naXRcIlxuICAgICAgfSxcbiAgICAgIGJ1Z3M6IFwiaHR0cHM6Ly9naXRodWIuY29tL2VkaXRvcmNvbmZpZy9lZGl0b3Jjb25maWctY29yZS1qcy9pc3N1ZXNcIixcbiAgICAgIGF1dGhvcjogXCJFZGl0b3JDb25maWcgVGVhbVwiLFxuICAgICAgbGljZW5zZTogXCJNSVRcIixcbiAgICAgIGRlcGVuZGVuY2llczoge1xuICAgICAgICBjb21tYW5kZXI6IFwiXjIuMTkuMFwiLFxuICAgICAgICBcImxydS1jYWNoZVwiOiBcIl40LjEuNVwiLFxuICAgICAgICBzZW12ZXI6IFwiXjUuNi4wXCIsXG4gICAgICAgIHNpZ211bmQ6IFwiXjEuMC4xXCJcbiAgICAgIH0sXG4gICAgICBkZXZEZXBlbmRlbmNpZXM6IHtcbiAgICAgICAgXCJAdHlwZXMvbW9jaGFcIjogXCJeNS4yLjZcIixcbiAgICAgICAgXCJAdHlwZXMvbm9kZVwiOiBcIl4xMC4xMi4yOVwiLFxuICAgICAgICBcIkB0eXBlcy9zZW12ZXJcIjogXCJeNS41LjBcIixcbiAgICAgICAgXCJjcHktY2xpXCI6IFwiXjIuMC4wXCIsXG4gICAgICAgIGVjbGludDogXCJeMi44LjFcIixcbiAgICAgICAgbW9jaGE6IFwiXjUuMi4wXCIsXG4gICAgICAgIHJpbXJhZjogXCJeMi42LjNcIixcbiAgICAgICAgc2hvdWxkOiBcIl4xMy4yLjNcIixcbiAgICAgICAgdHNsaW50OiBcIl41LjEzLjFcIixcbiAgICAgICAgdHlwZXNjcmlwdDogXCJeMy4zLjMzMzNcIlxuICAgICAgfVxuICAgIH07XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvZWRpdG9yY29uZmlnL3NyYy9pbmRleC5qc1xudmFyIHJlcXVpcmVfc3JjID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2VkaXRvcmNvbmZpZy9zcmMvaW5kZXguanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIF9fYXdhaXRlciA9IGV4cG9ydHMgJiYgZXhwb3J0cy5fX2F3YWl0ZXIgfHwgZnVuY3Rpb24odGhpc0FyZywgX2FyZ3VtZW50cywgUCwgZ2VuZXJhdG9yKSB7XG4gICAgICByZXR1cm4gbmV3IChQIHx8IChQID0gUHJvbWlzZSkpKGZ1bmN0aW9uKHJlc29sdmUzLCByZWplY3QpIHtcbiAgICAgICAgZnVuY3Rpb24gZnVsZmlsbGVkKHZhbHVlKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0ZXAoZ2VuZXJhdG9yLm5leHQodmFsdWUpKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHJlamVjdGVkKHZhbHVlKSB7XG4gICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHN0ZXAoZ2VuZXJhdG9yW1widGhyb3dcIl0odmFsdWUpKTtcbiAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGZ1bmN0aW9uIHN0ZXAocmVzdWx0KSB7XG4gICAgICAgICAgcmVzdWx0LmRvbmUgPyByZXNvbHZlMyhyZXN1bHQudmFsdWUpIDogbmV3IFAoZnVuY3Rpb24ocmVzb2x2ZTQpIHtcbiAgICAgICAgICAgIHJlc29sdmU0KHJlc3VsdC52YWx1ZSk7XG4gICAgICAgICAgfSkudGhlbihmdWxmaWxsZWQsIHJlamVjdGVkKTtcbiAgICAgICAgfVxuICAgICAgICBzdGVwKChnZW5lcmF0b3IgPSBnZW5lcmF0b3IuYXBwbHkodGhpc0FyZywgX2FyZ3VtZW50cyB8fCBbXSkpLm5leHQoKSk7XG4gICAgICB9KTtcbiAgICB9O1xuICAgIHZhciBfX2dlbmVyYXRvciA9IGV4cG9ydHMgJiYgZXhwb3J0cy5fX2dlbmVyYXRvciB8fCBmdW5jdGlvbih0aGlzQXJnLCBib2R5KSB7XG4gICAgICB2YXIgXyA9IHsgbGFiZWw6IDAsIHNlbnQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICBpZiAodFswXSAmIDEpIHRocm93IHRbMV07XG4gICAgICAgIHJldHVybiB0WzFdO1xuICAgICAgfSwgdHJ5czogW10sIG9wczogW10gfSwgZiwgeSwgdCwgZztcbiAgICAgIHJldHVybiBnID0geyBuZXh0OiB2ZXJiKDApLCBcInRocm93XCI6IHZlcmIoMSksIFwicmV0dXJuXCI6IHZlcmIoMikgfSwgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIChnW1N5bWJvbC5pdGVyYXRvcl0gPSBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIHRoaXM7XG4gICAgICB9KSwgZztcbiAgICAgIGZ1bmN0aW9uIHZlcmIobikge1xuICAgICAgICByZXR1cm4gZnVuY3Rpb24odikge1xuICAgICAgICAgIHJldHVybiBzdGVwKFtuLCB2XSk7XG4gICAgICAgIH07XG4gICAgICB9XG4gICAgICBmdW5jdGlvbiBzdGVwKG9wKSB7XG4gICAgICAgIGlmIChmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiR2VuZXJhdG9yIGlzIGFscmVhZHkgZXhlY3V0aW5nLlwiKTtcbiAgICAgICAgd2hpbGUgKF8pIHRyeSB7XG4gICAgICAgICAgaWYgKGYgPSAxLCB5ICYmICh0ID0gb3BbMF0gJiAyID8geVtcInJldHVyblwiXSA6IG9wWzBdID8geVtcInRocm93XCJdIHx8ICgodCA9IHlbXCJyZXR1cm5cIl0pICYmIHQuY2FsbCh5KSwgMCkgOiB5Lm5leHQpICYmICEodCA9IHQuY2FsbCh5LCBvcFsxXSkpLmRvbmUpIHJldHVybiB0O1xuICAgICAgICAgIGlmICh5ID0gMCwgdCkgb3AgPSBbb3BbMF0gJiAyLCB0LnZhbHVlXTtcbiAgICAgICAgICBzd2l0Y2ggKG9wWzBdKSB7XG4gICAgICAgICAgICBjYXNlIDA6XG4gICAgICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgICAgIHQgPSBvcDtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICBjYXNlIDQ6XG4gICAgICAgICAgICAgIF8ubGFiZWwrKztcbiAgICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IG9wWzFdLCBkb25lOiBmYWxzZSB9O1xuICAgICAgICAgICAgY2FzZSA1OlxuICAgICAgICAgICAgICBfLmxhYmVsKys7XG4gICAgICAgICAgICAgIHkgPSBvcFsxXTtcbiAgICAgICAgICAgICAgb3AgPSBbMF07XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgY2FzZSA3OlxuICAgICAgICAgICAgICBvcCA9IF8ub3BzLnBvcCgpO1xuICAgICAgICAgICAgICBfLnRyeXMucG9wKCk7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgaWYgKCEodCA9IF8udHJ5cywgdCA9IHQubGVuZ3RoID4gMCAmJiB0W3QubGVuZ3RoIC0gMV0pICYmIChvcFswXSA9PT0gNiB8fCBvcFswXSA9PT0gMikpIHtcbiAgICAgICAgICAgICAgICBfID0gMDtcbiAgICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAob3BbMF0gPT09IDMgJiYgKCF0IHx8IG9wWzFdID4gdFswXSAmJiBvcFsxXSA8IHRbM10pKSB7XG4gICAgICAgICAgICAgICAgXy5sYWJlbCA9IG9wWzFdO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmIChvcFswXSA9PT0gNiAmJiBfLmxhYmVsIDwgdFsxXSkge1xuICAgICAgICAgICAgICAgIF8ubGFiZWwgPSB0WzFdO1xuICAgICAgICAgICAgICAgIHQgPSBvcDtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBpZiAodCAmJiBfLmxhYmVsIDwgdFsyXSkge1xuICAgICAgICAgICAgICAgIF8ubGFiZWwgPSB0WzJdO1xuICAgICAgICAgICAgICAgIF8ub3BzLnB1c2gob3ApO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGlmICh0WzJdKSBfLm9wcy5wb3AoKTtcbiAgICAgICAgICAgICAgXy50cnlzLnBvcCgpO1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgb3AgPSBib2R5LmNhbGwodGhpc0FyZywgXyk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICBvcCA9IFs2LCBlXTtcbiAgICAgICAgICB5ID0gMDtcbiAgICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgICBmID0gdCA9IDA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9wWzBdICYgNSkgdGhyb3cgb3BbMV07XG4gICAgICAgIHJldHVybiB7IHZhbHVlOiBvcFswXSA/IG9wWzFdIDogdm9pZCAwLCBkb25lOiB0cnVlIH07XG4gICAgICB9XG4gICAgfTtcbiAgICB2YXIgX19pbXBvcnRTdGFyID0gZXhwb3J0cyAmJiBleHBvcnRzLl9faW1wb3J0U3RhciB8fCBmdW5jdGlvbihtb2QpIHtcbiAgICAgIGlmIChtb2QgJiYgbW9kLl9fZXNNb2R1bGUpIHJldHVybiBtb2Q7XG4gICAgICB2YXIgcmVzdWx0ID0ge307XG4gICAgICBpZiAobW9kICE9IG51bGwpIHtcbiAgICAgICAgZm9yICh2YXIgayBpbiBtb2QpIGlmIChPYmplY3QuaGFzT3duUHJvcGVydHkuY2FsbChtb2QsIGspKSByZXN1bHRba10gPSBtb2Rba107XG4gICAgICB9XG4gICAgICByZXN1bHRbXCJkZWZhdWx0XCJdID0gbW9kO1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9O1xuICAgIHZhciBfX2ltcG9ydERlZmF1bHQgPSBleHBvcnRzICYmIGV4cG9ydHMuX19pbXBvcnREZWZhdWx0IHx8IGZ1bmN0aW9uKG1vZCkge1xuICAgICAgcmV0dXJuIG1vZCAmJiBtb2QuX19lc01vZHVsZSA/IG1vZCA6IHsgXCJkZWZhdWx0XCI6IG1vZCB9O1xuICAgIH07XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIHZhciBmczcgPSBfX2ltcG9ydFN0YXIoX19yZXF1aXJlKFwiZnNcIikpO1xuICAgIHZhciBwYXRoMTMgPSBfX2ltcG9ydFN0YXIoX19yZXF1aXJlKFwicGF0aFwiKSk7XG4gICAgdmFyIHNlbXZlciA9IHtcbiAgICAgIGd0ZTogcmVxdWlyZV9ndGUoKVxuICAgIH07XG4gICAgdmFyIGZubWF0Y2hfMSA9IF9faW1wb3J0RGVmYXVsdChyZXF1aXJlX2ZubWF0Y2goKSk7XG4gICAgdmFyIGluaV8xID0gcmVxdWlyZV9pbmkoKTtcbiAgICBleHBvcnRzLnBhcnNlU3RyaW5nID0gaW5pXzEucGFyc2VTdHJpbmc7XG4gICAgdmFyIHBhY2thZ2VfanNvbl8xID0gX19pbXBvcnREZWZhdWx0KHJlcXVpcmVfcGFja2FnZSgpKTtcbiAgICB2YXIga25vd25Qcm9wcyA9IHtcbiAgICAgIGVuZF9vZl9saW5lOiB0cnVlLFxuICAgICAgaW5kZW50X3N0eWxlOiB0cnVlLFxuICAgICAgaW5kZW50X3NpemU6IHRydWUsXG4gICAgICBpbnNlcnRfZmluYWxfbmV3bGluZTogdHJ1ZSxcbiAgICAgIHRyaW1fdHJhaWxpbmdfd2hpdGVzcGFjZTogdHJ1ZSxcbiAgICAgIGNoYXJzZXQ6IHRydWVcbiAgICB9O1xuICAgIGZ1bmN0aW9uIGZubWF0Y2goZmlsZXBhdGgsIGdsb2IpIHtcbiAgICAgIHZhciBtYXRjaE9wdGlvbnMgPSB7IG1hdGNoQmFzZTogdHJ1ZSwgZG90OiB0cnVlLCBub2V4dDogdHJ1ZSB9O1xuICAgICAgZ2xvYiA9IGdsb2IucmVwbGFjZSgvXFwqXFwqL2csIFwieyosKiovKiovKip9XCIpO1xuICAgICAgcmV0dXJuIGZubWF0Y2hfMS5kZWZhdWx0KGZpbGVwYXRoLCBnbG9iLCBtYXRjaE9wdGlvbnMpO1xuICAgIH1cbiAgICBmdW5jdGlvbiBnZXRDb25maWdGaWxlTmFtZXMoZmlsZXBhdGgsIG9wdGlvbnM4KSB7XG4gICAgICB2YXIgcGF0aHMgPSBbXTtcbiAgICAgIGRvIHtcbiAgICAgICAgZmlsZXBhdGggPSBwYXRoMTMuZGlybmFtZShmaWxlcGF0aCk7XG4gICAgICAgIHBhdGhzLnB1c2gocGF0aDEzLmpvaW4oZmlsZXBhdGgsIG9wdGlvbnM4LmNvbmZpZykpO1xuICAgICAgfSB3aGlsZSAoZmlsZXBhdGggIT09IG9wdGlvbnM4LnJvb3QpO1xuICAgICAgcmV0dXJuIHBhdGhzO1xuICAgIH1cbiAgICBmdW5jdGlvbiBwcm9jZXNzTWF0Y2hlcyhtYXRjaGVzLCB2ZXJzaW9uKSB7XG4gICAgICBpZiAoXCJpbmRlbnRfc3R5bGVcIiBpbiBtYXRjaGVzICYmIG1hdGNoZXMuaW5kZW50X3N0eWxlID09PSBcInRhYlwiICYmICEoXCJpbmRlbnRfc2l6ZVwiIGluIG1hdGNoZXMpICYmIHNlbXZlci5ndGUodmVyc2lvbiwgXCIwLjEwLjBcIikpIHtcbiAgICAgICAgbWF0Y2hlcy5pbmRlbnRfc2l6ZSA9IFwidGFiXCI7XG4gICAgICB9XG4gICAgICBpZiAoXCJpbmRlbnRfc2l6ZVwiIGluIG1hdGNoZXMgJiYgIShcInRhYl93aWR0aFwiIGluIG1hdGNoZXMpICYmIG1hdGNoZXMuaW5kZW50X3NpemUgIT09IFwidGFiXCIpIHtcbiAgICAgICAgbWF0Y2hlcy50YWJfd2lkdGggPSBtYXRjaGVzLmluZGVudF9zaXplO1xuICAgICAgfVxuICAgICAgaWYgKFwiaW5kZW50X3NpemVcIiBpbiBtYXRjaGVzICYmIFwidGFiX3dpZHRoXCIgaW4gbWF0Y2hlcyAmJiBtYXRjaGVzLmluZGVudF9zaXplID09PSBcInRhYlwiKSB7XG4gICAgICAgIG1hdGNoZXMuaW5kZW50X3NpemUgPSBtYXRjaGVzLnRhYl93aWR0aDtcbiAgICAgIH1cbiAgICAgIHJldHVybiBtYXRjaGVzO1xuICAgIH1cbiAgICBmdW5jdGlvbiBwcm9jZXNzT3B0aW9ucyhvcHRpb25zOCwgZmlsZXBhdGgpIHtcbiAgICAgIGlmIChvcHRpb25zOCA9PT0gdm9pZCAwKSB7XG4gICAgICAgIG9wdGlvbnM4ID0ge307XG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICBjb25maWc6IG9wdGlvbnM4LmNvbmZpZyB8fCBcIi5lZGl0b3Jjb25maWdcIixcbiAgICAgICAgdmVyc2lvbjogb3B0aW9uczgudmVyc2lvbiB8fCBwYWNrYWdlX2pzb25fMS5kZWZhdWx0LnZlcnNpb24sXG4gICAgICAgIHJvb3Q6IHBhdGgxMy5yZXNvbHZlKG9wdGlvbnM4LnJvb3QgfHwgcGF0aDEzLnBhcnNlKGZpbGVwYXRoKS5yb290KVxuICAgICAgfTtcbiAgICB9XG4gICAgZnVuY3Rpb24gYnVpbGRGdWxsR2xvYihwYXRoUHJlZml4LCBnbG9iKSB7XG4gICAgICBzd2l0Y2ggKGdsb2IuaW5kZXhPZihcIi9cIikpIHtcbiAgICAgICAgY2FzZSAtMTpcbiAgICAgICAgICBnbG9iID0gXCIqKi9cIiArIGdsb2I7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgMDpcbiAgICAgICAgICBnbG9iID0gZ2xvYi5zdWJzdHJpbmcoMSk7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICByZXR1cm4gcGF0aDEzLmpvaW4ocGF0aFByZWZpeCwgZ2xvYik7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGV4dGVuZFByb3BzKHByb3BzLCBvcHRpb25zOCkge1xuICAgICAgaWYgKHByb3BzID09PSB2b2lkIDApIHtcbiAgICAgICAgcHJvcHMgPSB7fTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb25zOCA9PT0gdm9pZCAwKSB7XG4gICAgICAgIG9wdGlvbnM4ID0ge307XG4gICAgICB9XG4gICAgICBmb3IgKHZhciBrZXkyIGluIG9wdGlvbnM4KSB7XG4gICAgICAgIGlmIChvcHRpb25zOC5oYXNPd25Qcm9wZXJ0eShrZXkyKSkge1xuICAgICAgICAgIHZhciB2YWx1ZSA9IG9wdGlvbnM4W2tleTJdO1xuICAgICAgICAgIHZhciBrZXkyMiA9IGtleTIudG9Mb3dlckNhc2UoKTtcbiAgICAgICAgICB2YXIgdmFsdWUyID0gdmFsdWU7XG4gICAgICAgICAgaWYgKGtub3duUHJvcHNba2V5MjJdKSB7XG4gICAgICAgICAgICB2YWx1ZTIgPSB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgdmFsdWUyID0gSlNPTi5wYXJzZSh2YWx1ZSk7XG4gICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAodHlwZW9mIHZhbHVlID09PSBcInVuZGVmaW5lZFwiIHx8IHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgICB2YWx1ZTIgPSBTdHJpbmcodmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwcm9wc1trZXkyMl0gPSB2YWx1ZTI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBwcm9wcztcbiAgICB9XG4gICAgZnVuY3Rpb24gcGFyc2VGcm9tQ29uZmlncyhjb25maWdzLCBmaWxlcGF0aCwgb3B0aW9uczgpIHtcbiAgICAgIHJldHVybiBwcm9jZXNzTWF0Y2hlcyhjb25maWdzLnJldmVyc2UoKS5yZWR1Y2UoZnVuY3Rpb24obWF0Y2hlcywgZmlsZSkge1xuICAgICAgICB2YXIgcGF0aFByZWZpeCA9IHBhdGgxMy5kaXJuYW1lKGZpbGUubmFtZSk7XG4gICAgICAgIGZpbGUuY29udGVudHMuZm9yRWFjaChmdW5jdGlvbihzZWN0aW9uKSB7XG4gICAgICAgICAgdmFyIGdsb2IgPSBzZWN0aW9uWzBdO1xuICAgICAgICAgIHZhciBvcHRpb25zMjIgPSBzZWN0aW9uWzFdO1xuICAgICAgICAgIGlmICghZ2xvYikge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICB2YXIgZnVsbEdsb2IgPSBidWlsZEZ1bGxHbG9iKHBhdGhQcmVmaXgsIGdsb2IpO1xuICAgICAgICAgIGlmICghZm5tYXRjaChmaWxlcGF0aCwgZnVsbEdsb2IpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIG1hdGNoZXMgPSBleHRlbmRQcm9wcyhtYXRjaGVzLCBvcHRpb25zMjIpO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIG1hdGNoZXM7XG4gICAgICB9LCB7fSksIG9wdGlvbnM4LnZlcnNpb24pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBnZXRDb25maWdzRm9yRmlsZXMoZmlsZXMpIHtcbiAgICAgIHZhciBjb25maWdzID0gW107XG4gICAgICBmb3IgKHZhciBpIGluIGZpbGVzKSB7XG4gICAgICAgIGlmIChmaWxlcy5oYXNPd25Qcm9wZXJ0eShpKSkge1xuICAgICAgICAgIHZhciBmaWxlID0gZmlsZXNbaV07XG4gICAgICAgICAgdmFyIGNvbnRlbnRzID0gaW5pXzEucGFyc2VTdHJpbmcoZmlsZS5jb250ZW50cyk7XG4gICAgICAgICAgY29uZmlncy5wdXNoKHtcbiAgICAgICAgICAgIG5hbWU6IGZpbGUubmFtZSxcbiAgICAgICAgICAgIGNvbnRlbnRzXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKChjb250ZW50c1swXVsxXS5yb290IHx8IFwiXCIpLnRvTG93ZXJDYXNlKCkgPT09IFwidHJ1ZVwiKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBjb25maWdzO1xuICAgIH1cbiAgICBmdW5jdGlvbiByZWFkQ29uZmlnRmlsZXMoZmlsZXBhdGhzKSB7XG4gICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9fZ2VuZXJhdG9yKHRoaXMsIGZ1bmN0aW9uKF9hKSB7XG4gICAgICAgICAgcmV0dXJuIFsyLCBQcm9taXNlLmFsbChmaWxlcGF0aHMubWFwKGZ1bmN0aW9uKG5hbWUpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgUHJvbWlzZShmdW5jdGlvbihyZXNvbHZlMykge1xuICAgICAgICAgICAgICBmczcucmVhZEZpbGUobmFtZSwgXCJ1dGY4XCIsIGZ1bmN0aW9uKGVyciwgZGF0YSkge1xuICAgICAgICAgICAgICAgIHJlc29sdmUzKHtcbiAgICAgICAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICAgICAgICBjb250ZW50czogZXJyID8gXCJcIiA6IGRhdGFcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KSldO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiByZWFkQ29uZmlnRmlsZXNTeW5jKGZpbGVwYXRocykge1xuICAgICAgdmFyIGZpbGVzID0gW107XG4gICAgICB2YXIgZmlsZTtcbiAgICAgIGZpbGVwYXRocy5mb3JFYWNoKGZ1bmN0aW9uKGZpbGVwYXRoKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgZmlsZSA9IGZzNy5yZWFkRmlsZVN5bmMoZmlsZXBhdGgsIFwidXRmOFwiKTtcbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGZpbGUgPSBcIlwiO1xuICAgICAgICB9XG4gICAgICAgIGZpbGVzLnB1c2goe1xuICAgICAgICAgIG5hbWU6IGZpbGVwYXRoLFxuICAgICAgICAgIGNvbnRlbnRzOiBmaWxlXG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgICByZXR1cm4gZmlsZXM7XG4gICAgfVxuICAgIGZ1bmN0aW9uIG9wdHMoZmlsZXBhdGgsIG9wdGlvbnM4KSB7XG4gICAgICBpZiAob3B0aW9uczggPT09IHZvaWQgMCkge1xuICAgICAgICBvcHRpb25zOCA9IHt9O1xuICAgICAgfVxuICAgICAgdmFyIHJlc29sdmVkRmlsZVBhdGggPSBwYXRoMTMucmVzb2x2ZShmaWxlcGF0aCk7XG4gICAgICByZXR1cm4gW1xuICAgICAgICByZXNvbHZlZEZpbGVQYXRoLFxuICAgICAgICBwcm9jZXNzT3B0aW9ucyhvcHRpb25zOCwgcmVzb2x2ZWRGaWxlUGF0aClcbiAgICAgIF07XG4gICAgfVxuICAgIGZ1bmN0aW9uIHBhcnNlRnJvbUZpbGVzKGZpbGVwYXRoLCBmaWxlcywgb3B0aW9uczgpIHtcbiAgICAgIGlmIChvcHRpb25zOCA9PT0gdm9pZCAwKSB7XG4gICAgICAgIG9wdGlvbnM4ID0ge307XG4gICAgICB9XG4gICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIF9hLCByZXNvbHZlZEZpbGVQYXRoLCBwcm9jZXNzZWRPcHRpb25zO1xuICAgICAgICByZXR1cm4gX19nZW5lcmF0b3IodGhpcywgZnVuY3Rpb24oX2IpIHtcbiAgICAgICAgICBfYSA9IG9wdHMoZmlsZXBhdGgsIG9wdGlvbnM4KSwgcmVzb2x2ZWRGaWxlUGF0aCA9IF9hWzBdLCBwcm9jZXNzZWRPcHRpb25zID0gX2FbMV07XG4gICAgICAgICAgcmV0dXJuIFsyLCBmaWxlcy50aGVuKGdldENvbmZpZ3NGb3JGaWxlcykudGhlbihmdW5jdGlvbihjb25maWdzKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VGcm9tQ29uZmlncyhjb25maWdzLCByZXNvbHZlZEZpbGVQYXRoLCBwcm9jZXNzZWRPcHRpb25zKTtcbiAgICAgICAgICB9KV07XG4gICAgICAgIH0pO1xuICAgICAgfSk7XG4gICAgfVxuICAgIGV4cG9ydHMucGFyc2VGcm9tRmlsZXMgPSBwYXJzZUZyb21GaWxlcztcbiAgICBmdW5jdGlvbiBwYXJzZUZyb21GaWxlc1N5bmMoZmlsZXBhdGgsIGZpbGVzLCBvcHRpb25zOCkge1xuICAgICAgaWYgKG9wdGlvbnM4ID09PSB2b2lkIDApIHtcbiAgICAgICAgb3B0aW9uczggPSB7fTtcbiAgICAgIH1cbiAgICAgIHZhciBfYSA9IG9wdHMoZmlsZXBhdGgsIG9wdGlvbnM4KSwgcmVzb2x2ZWRGaWxlUGF0aCA9IF9hWzBdLCBwcm9jZXNzZWRPcHRpb25zID0gX2FbMV07XG4gICAgICByZXR1cm4gcGFyc2VGcm9tQ29uZmlncyhnZXRDb25maWdzRm9yRmlsZXMoZmlsZXMpLCByZXNvbHZlZEZpbGVQYXRoLCBwcm9jZXNzZWRPcHRpb25zKTtcbiAgICB9XG4gICAgZXhwb3J0cy5wYXJzZUZyb21GaWxlc1N5bmMgPSBwYXJzZUZyb21GaWxlc1N5bmM7XG4gICAgZnVuY3Rpb24gcGFyc2U3KF9maWxlcGF0aCwgX29wdGlvbnMpIHtcbiAgICAgIGlmIChfb3B0aW9ucyA9PT0gdm9pZCAwKSB7XG4gICAgICAgIF9vcHRpb25zID0ge307XG4gICAgICB9XG4gICAgICByZXR1cm4gX19hd2FpdGVyKHRoaXMsIHZvaWQgMCwgdm9pZCAwLCBmdW5jdGlvbigpIHtcbiAgICAgICAgdmFyIF9hLCByZXNvbHZlZEZpbGVQYXRoLCBwcm9jZXNzZWRPcHRpb25zLCBmaWxlcGF0aHM7XG4gICAgICAgIHJldHVybiBfX2dlbmVyYXRvcih0aGlzLCBmdW5jdGlvbihfYikge1xuICAgICAgICAgIF9hID0gb3B0cyhfZmlsZXBhdGgsIF9vcHRpb25zKSwgcmVzb2x2ZWRGaWxlUGF0aCA9IF9hWzBdLCBwcm9jZXNzZWRPcHRpb25zID0gX2FbMV07XG4gICAgICAgICAgZmlsZXBhdGhzID0gZ2V0Q29uZmlnRmlsZU5hbWVzKHJlc29sdmVkRmlsZVBhdGgsIHByb2Nlc3NlZE9wdGlvbnMpO1xuICAgICAgICAgIHJldHVybiBbMiwgcmVhZENvbmZpZ0ZpbGVzKGZpbGVwYXRocykudGhlbihnZXRDb25maWdzRm9yRmlsZXMpLnRoZW4oZnVuY3Rpb24oY29uZmlncykge1xuICAgICAgICAgICAgcmV0dXJuIHBhcnNlRnJvbUNvbmZpZ3MoY29uZmlncywgcmVzb2x2ZWRGaWxlUGF0aCwgcHJvY2Vzc2VkT3B0aW9ucyk7XG4gICAgICAgICAgfSldO1xuICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBleHBvcnRzLnBhcnNlID0gcGFyc2U3O1xuICAgIGZ1bmN0aW9uIHBhcnNlU3luYyhfZmlsZXBhdGgsIF9vcHRpb25zKSB7XG4gICAgICBpZiAoX29wdGlvbnMgPT09IHZvaWQgMCkge1xuICAgICAgICBfb3B0aW9ucyA9IHt9O1xuICAgICAgfVxuICAgICAgdmFyIF9hID0gb3B0cyhfZmlsZXBhdGgsIF9vcHRpb25zKSwgcmVzb2x2ZWRGaWxlUGF0aCA9IF9hWzBdLCBwcm9jZXNzZWRPcHRpb25zID0gX2FbMV07XG4gICAgICB2YXIgZmlsZXBhdGhzID0gZ2V0Q29uZmlnRmlsZU5hbWVzKHJlc29sdmVkRmlsZVBhdGgsIHByb2Nlc3NlZE9wdGlvbnMpO1xuICAgICAgdmFyIGZpbGVzID0gcmVhZENvbmZpZ0ZpbGVzU3luYyhmaWxlcGF0aHMpO1xuICAgICAgcmV0dXJuIHBhcnNlRnJvbUNvbmZpZ3MoZ2V0Q29uZmlnc0ZvckZpbGVzKGZpbGVzKSwgcmVzb2x2ZWRGaWxlUGF0aCwgcHJvY2Vzc2VkT3B0aW9ucyk7XG4gICAgfVxuICAgIGV4cG9ydHMucGFyc2VTeW5jID0gcGFyc2VTeW5jO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2NpLWluZm8vdmVuZG9ycy5qc29uXG52YXIgcmVxdWlyZV92ZW5kb3JzID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2NpLWluZm8vdmVuZG9ycy5qc29uXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSBbXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiQWdvbGEgQ0lcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiQUdPTEFcIixcbiAgICAgICAgZW52OiBcIkFHT0xBX0dJVF9SRUZcIixcbiAgICAgICAgcHI6IFwiQUdPTEFfUFVMTF9SRVFVRVNUX0lEXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiQXBwY2lyY2xlXCIsXG4gICAgICAgIGNvbnN0YW50OiBcIkFQUENJUkNMRVwiLFxuICAgICAgICBlbnY6IFwiQUNfQVBQQ0lSQ0xFXCIsXG4gICAgICAgIHByOiB7XG4gICAgICAgICAgZW52OiBcIkFDX0dJVF9QUlwiLFxuICAgICAgICAgIG5lOiBcImZhbHNlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJBcHBWZXlvclwiLFxuICAgICAgICBjb25zdGFudDogXCJBUFBWRVlPUlwiLFxuICAgICAgICBlbnY6IFwiQVBQVkVZT1JcIixcbiAgICAgICAgcHI6IFwiQVBQVkVZT1JfUFVMTF9SRVFVRVNUX05VTUJFUlwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkFXUyBDb2RlQnVpbGRcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiQ09ERUJVSUxEXCIsXG4gICAgICAgIGVudjogXCJDT0RFQlVJTERfQlVJTERfQVJOXCIsXG4gICAgICAgIHByOiB7XG4gICAgICAgICAgZW52OiBcIkNPREVCVUlMRF9XRUJIT09LX0VWRU5UXCIsXG4gICAgICAgICAgYW55OiBbXG4gICAgICAgICAgICBcIlBVTExfUkVRVUVTVF9DUkVBVEVEXCIsXG4gICAgICAgICAgICBcIlBVTExfUkVRVUVTVF9VUERBVEVEXCIsXG4gICAgICAgICAgICBcIlBVTExfUkVRVUVTVF9SRU9QRU5FRFwiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkF6dXJlIFBpcGVsaW5lc1wiLFxuICAgICAgICBjb25zdGFudDogXCJBWlVSRV9QSVBFTElORVNcIixcbiAgICAgICAgZW52OiBcIlRGX0JVSUxEXCIsXG4gICAgICAgIHByOiB7XG4gICAgICAgICAgQlVJTERfUkVBU09OOiBcIlB1bGxSZXF1ZXN0XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJCYW1ib29cIixcbiAgICAgICAgY29uc3RhbnQ6IFwiQkFNQk9PXCIsXG4gICAgICAgIGVudjogXCJiYW1ib29fcGxhbktleVwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkJpdGJ1Y2tldCBQaXBlbGluZXNcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiQklUQlVDS0VUXCIsXG4gICAgICAgIGVudjogXCJCSVRCVUNLRVRfQ09NTUlUXCIsXG4gICAgICAgIHByOiBcIkJJVEJVQ0tFVF9QUl9JRFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkJpdHJpc2VcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiQklUUklTRVwiLFxuICAgICAgICBlbnY6IFwiQklUUklTRV9JT1wiLFxuICAgICAgICBwcjogXCJCSVRSSVNFX1BVTExfUkVRVUVTVFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkJ1ZGR5XCIsXG4gICAgICAgIGNvbnN0YW50OiBcIkJVRERZXCIsXG4gICAgICAgIGVudjogXCJCVUREWV9XT1JLU1BBQ0VfSURcIixcbiAgICAgICAgcHI6IFwiQlVERFlfRVhFQ1VUSU9OX1BVTExfUkVRVUVTVF9JRFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkJ1aWxka2l0ZVwiLFxuICAgICAgICBjb25zdGFudDogXCJCVUlMREtJVEVcIixcbiAgICAgICAgZW52OiBcIkJVSUxES0lURVwiLFxuICAgICAgICBwcjoge1xuICAgICAgICAgIGVudjogXCJCVUlMREtJVEVfUFVMTF9SRVFVRVNUXCIsXG4gICAgICAgICAgbmU6IFwiZmFsc2VcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkNpcmNsZUNJXCIsXG4gICAgICAgIGNvbnN0YW50OiBcIkNJUkNMRVwiLFxuICAgICAgICBlbnY6IFwiQ0lSQ0xFQ0lcIixcbiAgICAgICAgcHI6IFwiQ0lSQ0xFX1BVTExfUkVRVUVTVFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkNpcnJ1cyBDSVwiLFxuICAgICAgICBjb25zdGFudDogXCJDSVJSVVNcIixcbiAgICAgICAgZW52OiBcIkNJUlJVU19DSVwiLFxuICAgICAgICBwcjogXCJDSVJSVVNfUFJcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJDb2RlZnJlc2hcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiQ09ERUZSRVNIXCIsXG4gICAgICAgIGVudjogXCJDRl9CVUlMRF9JRFwiLFxuICAgICAgICBwcjoge1xuICAgICAgICAgIGFueTogW1xuICAgICAgICAgICAgXCJDRl9QVUxMX1JFUVVFU1RfTlVNQkVSXCIsXG4gICAgICAgICAgICBcIkNGX1BVTExfUkVRVUVTVF9JRFwiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkNvZGVtYWdpY1wiLFxuICAgICAgICBjb25zdGFudDogXCJDT0RFTUFHSUNcIixcbiAgICAgICAgZW52OiBcIkNNX0JVSUxEX0lEXCIsXG4gICAgICAgIHByOiBcIkNNX1BVTExfUkVRVUVTVFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkNvZGVzaGlwXCIsXG4gICAgICAgIGNvbnN0YW50OiBcIkNPREVTSElQXCIsXG4gICAgICAgIGVudjoge1xuICAgICAgICAgIENJX05BTUU6IFwiY29kZXNoaXBcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkRyb25lXCIsXG4gICAgICAgIGNvbnN0YW50OiBcIkRST05FXCIsXG4gICAgICAgIGVudjogXCJEUk9ORVwiLFxuICAgICAgICBwcjoge1xuICAgICAgICAgIERST05FX0JVSUxEX0VWRU5UOiBcInB1bGxfcmVxdWVzdFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiZHNhcmlcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiRFNBUklcIixcbiAgICAgICAgZW52OiBcIkRTQVJJXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiRWFydGhseVwiLFxuICAgICAgICBjb25zdGFudDogXCJFQVJUSExZXCIsXG4gICAgICAgIGVudjogXCJFQVJUSExZX0NJXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiRXhwbyBBcHBsaWNhdGlvbiBTZXJ2aWNlc1wiLFxuICAgICAgICBjb25zdGFudDogXCJFQVNcIixcbiAgICAgICAgZW52OiBcIkVBU19CVUlMRFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkdlcnJpdFwiLFxuICAgICAgICBjb25zdGFudDogXCJHRVJSSVRcIixcbiAgICAgICAgZW52OiBcIkdFUlJJVF9QUk9KRUNUXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiR2l0ZWEgQWN0aW9uc1wiLFxuICAgICAgICBjb25zdGFudDogXCJHSVRFQV9BQ1RJT05TXCIsXG4gICAgICAgIGVudjogXCJHSVRFQV9BQ1RJT05TXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiR2l0SHViIEFjdGlvbnNcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiR0lUSFVCX0FDVElPTlNcIixcbiAgICAgICAgZW52OiBcIkdJVEhVQl9BQ1RJT05TXCIsXG4gICAgICAgIHByOiB7XG4gICAgICAgICAgR0lUSFVCX0VWRU5UX05BTUU6IFwicHVsbF9yZXF1ZXN0XCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJHaXRMYWIgQ0lcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiR0lUTEFCXCIsXG4gICAgICAgIGVudjogXCJHSVRMQUJfQ0lcIixcbiAgICAgICAgcHI6IFwiQ0lfTUVSR0VfUkVRVUVTVF9JRFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkdvQ0RcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiR09DRFwiLFxuICAgICAgICBlbnY6IFwiR09fUElQRUxJTkVfTEFCRUxcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJHb29nbGUgQ2xvdWQgQnVpbGRcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiR09PR0xFX0NMT1VEX0JVSUxEXCIsXG4gICAgICAgIGVudjogXCJCVUlMREVSX09VVFBVVFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkhhcm5lc3MgQ0lcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiSEFSTkVTU1wiLFxuICAgICAgICBlbnY6IFwiSEFSTkVTU19CVUlMRF9JRFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkhlcm9rdVwiLFxuICAgICAgICBjb25zdGFudDogXCJIRVJPS1VcIixcbiAgICAgICAgZW52OiB7XG4gICAgICAgICAgZW52OiBcIk5PREVcIixcbiAgICAgICAgICBpbmNsdWRlczogXCIvYXBwLy5oZXJva3Uvbm9kZS9iaW4vbm9kZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiSHVkc29uXCIsXG4gICAgICAgIGNvbnN0YW50OiBcIkhVRFNPTlwiLFxuICAgICAgICBlbnY6IFwiSFVEU09OX1VSTFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkplbmtpbnNcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiSkVOS0lOU1wiLFxuICAgICAgICBlbnY6IFtcbiAgICAgICAgICBcIkpFTktJTlNfVVJMXCIsXG4gICAgICAgICAgXCJCVUlMRF9JRFwiXG4gICAgICAgIF0sXG4gICAgICAgIHByOiB7XG4gICAgICAgICAgYW55OiBbXG4gICAgICAgICAgICBcImdocHJiUHVsbElkXCIsXG4gICAgICAgICAgICBcIkNIQU5HRV9JRFwiXG4gICAgICAgICAgXVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkxheWVyQ0lcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiTEFZRVJDSVwiLFxuICAgICAgICBlbnY6IFwiTEFZRVJDSVwiLFxuICAgICAgICBwcjogXCJMQVlFUkNJX1BVTExfUkVRVUVTVFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIk1hZ251bSBDSVwiLFxuICAgICAgICBjb25zdGFudDogXCJNQUdOVU1cIixcbiAgICAgICAgZW52OiBcIk1BR05VTVwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIk5ldGxpZnkgQ0lcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiTkVUTElGWVwiLFxuICAgICAgICBlbnY6IFwiTkVUTElGWVwiLFxuICAgICAgICBwcjoge1xuICAgICAgICAgIGVudjogXCJQVUxMX1JFUVVFU1RcIixcbiAgICAgICAgICBuZTogXCJmYWxzZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiTmV2ZXJjb2RlXCIsXG4gICAgICAgIGNvbnN0YW50OiBcIk5FVkVSQ09ERVwiLFxuICAgICAgICBlbnY6IFwiTkVWRVJDT0RFXCIsXG4gICAgICAgIHByOiB7XG4gICAgICAgICAgZW52OiBcIk5FVkVSQ09ERV9QVUxMX1JFUVVFU1RcIixcbiAgICAgICAgICBuZTogXCJmYWxzZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiUHJvd1wiLFxuICAgICAgICBjb25zdGFudDogXCJQUk9XXCIsXG4gICAgICAgIGVudjogXCJQUk9XX0pPQl9JRFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIlJlbGVhc2VIdWJcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiUkVMRUFTRUhVQlwiLFxuICAgICAgICBlbnY6IFwiUkVMRUFTRV9CVUlMRF9JRFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIlJlbmRlclwiLFxuICAgICAgICBjb25zdGFudDogXCJSRU5ERVJcIixcbiAgICAgICAgZW52OiBcIlJFTkRFUlwiLFxuICAgICAgICBwcjoge1xuICAgICAgICAgIElTX1BVTExfUkVRVUVTVDogXCJ0cnVlXCJcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJTYWlsIENJXCIsXG4gICAgICAgIGNvbnN0YW50OiBcIlNBSUxcIixcbiAgICAgICAgZW52OiBcIlNBSUxDSVwiLFxuICAgICAgICBwcjogXCJTQUlMX1BVTExfUkVRVUVTVF9OVU1CRVJcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJTY3Jld2RyaXZlclwiLFxuICAgICAgICBjb25zdGFudDogXCJTQ1JFV0RSSVZFUlwiLFxuICAgICAgICBlbnY6IFwiU0NSRVdEUklWRVJcIixcbiAgICAgICAgcHI6IHtcbiAgICAgICAgICBlbnY6IFwiU0RfUFVMTF9SRVFVRVNUXCIsXG4gICAgICAgICAgbmU6IFwiZmFsc2VcIlxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIlNlbWFwaG9yZVwiLFxuICAgICAgICBjb25zdGFudDogXCJTRU1BUEhPUkVcIixcbiAgICAgICAgZW52OiBcIlNFTUFQSE9SRVwiLFxuICAgICAgICBwcjogXCJQVUxMX1JFUVVFU1RfTlVNQkVSXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiU291cmNlaHV0XCIsXG4gICAgICAgIGNvbnN0YW50OiBcIlNPVVJDRUhVVFwiLFxuICAgICAgICBlbnY6IHtcbiAgICAgICAgICBDSV9OQU1FOiBcInNvdXJjZWh1dFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiU3RyaWRlciBDRFwiLFxuICAgICAgICBjb25zdGFudDogXCJTVFJJREVSXCIsXG4gICAgICAgIGVudjogXCJTVFJJREVSXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiVGFza0NsdXN0ZXJcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiVEFTS0NMVVNURVJcIixcbiAgICAgICAgZW52OiBbXG4gICAgICAgICAgXCJUQVNLX0lEXCIsXG4gICAgICAgICAgXCJSVU5fSURcIlxuICAgICAgICBdXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIlRlYW1DaXR5XCIsXG4gICAgICAgIGNvbnN0YW50OiBcIlRFQU1DSVRZXCIsXG4gICAgICAgIGVudjogXCJURUFNQ0lUWV9WRVJTSU9OXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiVHJhdmlzIENJXCIsXG4gICAgICAgIGNvbnN0YW50OiBcIlRSQVZJU1wiLFxuICAgICAgICBlbnY6IFwiVFJBVklTXCIsXG4gICAgICAgIHByOiB7XG4gICAgICAgICAgZW52OiBcIlRSQVZJU19QVUxMX1JFUVVFU1RcIixcbiAgICAgICAgICBuZTogXCJmYWxzZVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiVmVsYVwiLFxuICAgICAgICBjb25zdGFudDogXCJWRUxBXCIsXG4gICAgICAgIGVudjogXCJWRUxBXCIsXG4gICAgICAgIHByOiB7XG4gICAgICAgICAgVkVMQV9QVUxMX1JFUVVFU1Q6IFwiMVwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiVmVyY2VsXCIsXG4gICAgICAgIGNvbnN0YW50OiBcIlZFUkNFTFwiLFxuICAgICAgICBlbnY6IHtcbiAgICAgICAgICBhbnk6IFtcbiAgICAgICAgICAgIFwiTk9XX0JVSUxERVJcIixcbiAgICAgICAgICAgIFwiVkVSQ0VMXCJcbiAgICAgICAgICBdXG4gICAgICAgIH0sXG4gICAgICAgIHByOiBcIlZFUkNFTF9HSVRfUFVMTF9SRVFVRVNUX0lEXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiVmlzdWFsIFN0dWRpbyBBcHAgQ2VudGVyXCIsXG4gICAgICAgIGNvbnN0YW50OiBcIkFQUENFTlRFUlwiLFxuICAgICAgICBlbnY6IFwiQVBQQ0VOVEVSX0JVSUxEX0lEXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiV29vZHBlY2tlclwiLFxuICAgICAgICBjb25zdGFudDogXCJXT09EUEVDS0VSXCIsXG4gICAgICAgIGVudjoge1xuICAgICAgICAgIENJOiBcIndvb2RwZWNrZXJcIlxuICAgICAgICB9LFxuICAgICAgICBwcjoge1xuICAgICAgICAgIENJX0JVSUxEX0VWRU5UOiBcInB1bGxfcmVxdWVzdFwiXG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIG5hbWU6IFwiWGNvZGUgQ2xvdWRcIixcbiAgICAgICAgY29uc3RhbnQ6IFwiWENPREVfQ0xPVURcIixcbiAgICAgICAgZW52OiBcIkNJX1hDT0RFX1BST0pFQ1RcIixcbiAgICAgICAgcHI6IFwiQ0lfUFVMTF9SRVFVRVNUX05VTUJFUlwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIlhjb2RlIFNlcnZlclwiLFxuICAgICAgICBjb25zdGFudDogXCJYQ09ERV9TRVJWRVJcIixcbiAgICAgICAgZW52OiBcIlhDU1wiXG4gICAgICB9XG4gICAgXTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9jaS1pbmZvL2luZGV4LmpzXG52YXIgcmVxdWlyZV9jaV9pbmZvID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL2NpLWluZm8vaW5kZXguanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgdmFyIHZlbmRvcnMgPSByZXF1aXJlX3ZlbmRvcnMoKTtcbiAgICB2YXIgZW52MiA9IHByb2Nlc3MuZW52O1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl92ZW5kb3JzXCIsIHtcbiAgICAgIHZhbHVlOiB2ZW5kb3JzLm1hcChmdW5jdGlvbih2KSB7XG4gICAgICAgIHJldHVybiB2LmNvbnN0YW50O1xuICAgICAgfSlcbiAgICB9KTtcbiAgICBleHBvcnRzLm5hbWUgPSBudWxsO1xuICAgIGV4cG9ydHMuaXNQUiA9IG51bGw7XG4gICAgZXhwb3J0cy5pZCA9IG51bGw7XG4gICAgdmVuZG9ycy5mb3JFYWNoKGZ1bmN0aW9uKHZlbmRvcikge1xuICAgICAgY29uc3QgZW52cyA9IEFycmF5LmlzQXJyYXkodmVuZG9yLmVudikgPyB2ZW5kb3IuZW52IDogW3ZlbmRvci5lbnZdO1xuICAgICAgY29uc3QgaXNDSTIgPSBlbnZzLmV2ZXJ5KGZ1bmN0aW9uKG9iaikge1xuICAgICAgICByZXR1cm4gY2hlY2tFbnYob2JqKTtcbiAgICAgIH0pO1xuICAgICAgZXhwb3J0c1t2ZW5kb3IuY29uc3RhbnRdID0gaXNDSTI7XG4gICAgICBpZiAoIWlzQ0kyKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGV4cG9ydHMubmFtZSA9IHZlbmRvci5uYW1lO1xuICAgICAgZXhwb3J0cy5pc1BSID0gY2hlY2tQUih2ZW5kb3IpO1xuICAgICAgZXhwb3J0cy5pZCA9IHZlbmRvci5jb25zdGFudDtcbiAgICB9KTtcbiAgICBleHBvcnRzLmlzQ0kgPSAhIShlbnYyLkNJICE9PSBcImZhbHNlXCIgJiYgLy8gQnlwYXNzIGFsbCBjaGVja3MgaWYgQ0kgZW52IGlzIGV4cGxpY2l0bHkgc2V0IHRvICdmYWxzZSdcbiAgICAoZW52Mi5CVUlMRF9JRCB8fCAvLyBKZW5raW5zLCBDbG91ZGJlZXNcbiAgICBlbnYyLkJVSUxEX05VTUJFUiB8fCAvLyBKZW5raW5zLCBUZWFtQ2l0eVxuICAgIGVudjIuQ0kgfHwgLy8gVHJhdmlzIENJLCBDaXJjbGVDSSwgQ2lycnVzIENJLCBHaXRsYWIgQ0ksIEFwcHZleW9yLCBDb2RlU2hpcCwgZHNhcmlcbiAgICBlbnYyLkNJX0FQUF9JRCB8fCAvLyBBcHBmbG93XG4gICAgZW52Mi5DSV9CVUlMRF9JRCB8fCAvLyBBcHBmbG93XG4gICAgZW52Mi5DSV9CVUlMRF9OVU1CRVIgfHwgLy8gQXBwZmxvd1xuICAgIGVudjIuQ0lfTkFNRSB8fCAvLyBDb2Rlc2hpcCBhbmQgb3RoZXJzXG4gICAgZW52Mi5DT05USU5VT1VTX0lOVEVHUkFUSU9OIHx8IC8vIFRyYXZpcyBDSSwgQ2lycnVzIENJXG4gICAgZW52Mi5SVU5fSUQgfHwgLy8gVGFza0NsdXN0ZXIsIGRzYXJpXG4gICAgZXhwb3J0cy5uYW1lIHx8IGZhbHNlKSk7XG4gICAgZnVuY3Rpb24gY2hlY2tFbnYob2JqKSB7XG4gICAgICBpZiAodHlwZW9mIG9iaiA9PT0gXCJzdHJpbmdcIikgcmV0dXJuICEhZW52MltvYmpdO1xuICAgICAgaWYgKFwiZW52XCIgaW4gb2JqKSB7XG4gICAgICAgIHJldHVybiBlbnYyW29iai5lbnZdICYmIGVudjJbb2JqLmVudl0uaW5jbHVkZXMob2JqLmluY2x1ZGVzKTtcbiAgICAgIH1cbiAgICAgIGlmIChcImFueVwiIGluIG9iaikge1xuICAgICAgICByZXR1cm4gb2JqLmFueS5zb21lKGZ1bmN0aW9uKGspIHtcbiAgICAgICAgICByZXR1cm4gISFlbnYyW2tdO1xuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhvYmopLmV2ZXJ5KGZ1bmN0aW9uKGspIHtcbiAgICAgICAgcmV0dXJuIGVudjJba10gPT09IG9ialtrXTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBmdW5jdGlvbiBjaGVja1BSKHZlbmRvcikge1xuICAgICAgc3dpdGNoICh0eXBlb2YgdmVuZG9yLnByKSB7XG4gICAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAgICByZXR1cm4gISFlbnYyW3ZlbmRvci5wcl07XG4gICAgICAgIGNhc2UgXCJvYmplY3RcIjpcbiAgICAgICAgICBpZiAoXCJlbnZcIiBpbiB2ZW5kb3IucHIpIHtcbiAgICAgICAgICAgIGlmIChcImFueVwiIGluIHZlbmRvci5wcikge1xuICAgICAgICAgICAgICByZXR1cm4gdmVuZG9yLnByLmFueS5zb21lKGZ1bmN0aW9uKGtleTIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZW52Mlt2ZW5kb3IucHIuZW52XSA9PT0ga2V5MjtcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gdmVuZG9yLnByLmVudiBpbiBlbnYyICYmIGVudjJbdmVuZG9yLnByLmVudl0gIT09IHZlbmRvci5wci5uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKFwiYW55XCIgaW4gdmVuZG9yLnByKSB7XG4gICAgICAgICAgICByZXR1cm4gdmVuZG9yLnByLmFueS5zb21lKGZ1bmN0aW9uKGtleTIpIHtcbiAgICAgICAgICAgICAgcmV0dXJuICEhZW52MltrZXkyXTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gY2hlY2tFbnYodmVuZG9yLnByKTtcbiAgICAgICAgICB9XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL3BpY29jb2xvcnMvcGljb2NvbG9ycy5qc1xudmFyIHJlcXVpcmVfcGljb2NvbG9ycyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9waWNvY29sb3JzL3BpY29jb2xvcnMuanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICB2YXIgcCA9IHByb2Nlc3MgfHwge307XG4gICAgdmFyIGFyZ3YgPSBwLmFyZ3YgfHwgW107XG4gICAgdmFyIGVudjIgPSBwLmVudiB8fCB7fTtcbiAgICB2YXIgaXNDb2xvclN1cHBvcnRlZCA9ICEoISFlbnYyLk5PX0NPTE9SIHx8IGFyZ3YuaW5jbHVkZXMoXCItLW5vLWNvbG9yXCIpKSAmJiAoISFlbnYyLkZPUkNFX0NPTE9SIHx8IGFyZ3YuaW5jbHVkZXMoXCItLWNvbG9yXCIpIHx8IHAucGxhdGZvcm0gPT09IFwid2luMzJcIiB8fCAocC5zdGRvdXQgfHwge30pLmlzVFRZICYmIGVudjIuVEVSTSAhPT0gXCJkdW1iXCIgfHwgISFlbnYyLkNJKTtcbiAgICB2YXIgZm9ybWF0dGVyID0gKG9wZW4sIGNsb3NlLCByZXBsYWNlID0gb3BlbikgPT4gKGlucHV0KSA9PiB7XG4gICAgICBsZXQgc3RyaW5nID0gXCJcIiArIGlucHV0LCBpbmRleCA9IHN0cmluZy5pbmRleE9mKGNsb3NlLCBvcGVuLmxlbmd0aCk7XG4gICAgICByZXR1cm4gfmluZGV4ID8gb3BlbiArIHJlcGxhY2VDbG9zZShzdHJpbmcsIGNsb3NlLCByZXBsYWNlLCBpbmRleCkgKyBjbG9zZSA6IG9wZW4gKyBzdHJpbmcgKyBjbG9zZTtcbiAgICB9O1xuICAgIHZhciByZXBsYWNlQ2xvc2UgPSAoc3RyaW5nLCBjbG9zZSwgcmVwbGFjZSwgaW5kZXgpID0+IHtcbiAgICAgIGxldCByZXN1bHQgPSBcIlwiLCBjdXJzb3IyID0gMDtcbiAgICAgIGRvIHtcbiAgICAgICAgcmVzdWx0ICs9IHN0cmluZy5zdWJzdHJpbmcoY3Vyc29yMiwgaW5kZXgpICsgcmVwbGFjZTtcbiAgICAgICAgY3Vyc29yMiA9IGluZGV4ICsgY2xvc2UubGVuZ3RoO1xuICAgICAgICBpbmRleCA9IHN0cmluZy5pbmRleE9mKGNsb3NlLCBjdXJzb3IyKTtcbiAgICAgIH0gd2hpbGUgKH5pbmRleCk7XG4gICAgICByZXR1cm4gcmVzdWx0ICsgc3RyaW5nLnN1YnN0cmluZyhjdXJzb3IyKTtcbiAgICB9O1xuICAgIHZhciBjcmVhdGVDb2xvcnMgPSAoZW5hYmxlZCA9IGlzQ29sb3JTdXBwb3J0ZWQpID0+IHtcbiAgICAgIGxldCBmID0gZW5hYmxlZCA/IGZvcm1hdHRlciA6ICgpID0+IFN0cmluZztcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlzQ29sb3JTdXBwb3J0ZWQ6IGVuYWJsZWQsXG4gICAgICAgIHJlc2V0OiBmKFwiXFx4MUJbMG1cIiwgXCJcXHgxQlswbVwiKSxcbiAgICAgICAgYm9sZDogZihcIlxceDFCWzFtXCIsIFwiXFx4MUJbMjJtXCIsIFwiXFx4MUJbMjJtXFx4MUJbMW1cIiksXG4gICAgICAgIGRpbTogZihcIlxceDFCWzJtXCIsIFwiXFx4MUJbMjJtXCIsIFwiXFx4MUJbMjJtXFx4MUJbMm1cIiksXG4gICAgICAgIGl0YWxpYzogZihcIlxceDFCWzNtXCIsIFwiXFx4MUJbMjNtXCIpLFxuICAgICAgICB1bmRlcmxpbmU6IGYoXCJcXHgxQls0bVwiLCBcIlxceDFCWzI0bVwiKSxcbiAgICAgICAgaW52ZXJzZTogZihcIlxceDFCWzdtXCIsIFwiXFx4MUJbMjdtXCIpLFxuICAgICAgICBoaWRkZW46IGYoXCJcXHgxQls4bVwiLCBcIlxceDFCWzI4bVwiKSxcbiAgICAgICAgc3RyaWtldGhyb3VnaDogZihcIlxceDFCWzltXCIsIFwiXFx4MUJbMjltXCIpLFxuICAgICAgICBibGFjazogZihcIlxceDFCWzMwbVwiLCBcIlxceDFCWzM5bVwiKSxcbiAgICAgICAgcmVkOiBmKFwiXFx4MUJbMzFtXCIsIFwiXFx4MUJbMzltXCIpLFxuICAgICAgICBncmVlbjogZihcIlxceDFCWzMybVwiLCBcIlxceDFCWzM5bVwiKSxcbiAgICAgICAgeWVsbG93OiBmKFwiXFx4MUJbMzNtXCIsIFwiXFx4MUJbMzltXCIpLFxuICAgICAgICBibHVlOiBmKFwiXFx4MUJbMzRtXCIsIFwiXFx4MUJbMzltXCIpLFxuICAgICAgICBtYWdlbnRhOiBmKFwiXFx4MUJbMzVtXCIsIFwiXFx4MUJbMzltXCIpLFxuICAgICAgICBjeWFuOiBmKFwiXFx4MUJbMzZtXCIsIFwiXFx4MUJbMzltXCIpLFxuICAgICAgICB3aGl0ZTogZihcIlxceDFCWzM3bVwiLCBcIlxceDFCWzM5bVwiKSxcbiAgICAgICAgZ3JheTogZihcIlxceDFCWzkwbVwiLCBcIlxceDFCWzM5bVwiKSxcbiAgICAgICAgYmdCbGFjazogZihcIlxceDFCWzQwbVwiLCBcIlxceDFCWzQ5bVwiKSxcbiAgICAgICAgYmdSZWQ6IGYoXCJcXHgxQls0MW1cIiwgXCJcXHgxQls0OW1cIiksXG4gICAgICAgIGJnR3JlZW46IGYoXCJcXHgxQls0Mm1cIiwgXCJcXHgxQls0OW1cIiksXG4gICAgICAgIGJnWWVsbG93OiBmKFwiXFx4MUJbNDNtXCIsIFwiXFx4MUJbNDltXCIpLFxuICAgICAgICBiZ0JsdWU6IGYoXCJcXHgxQls0NG1cIiwgXCJcXHgxQls0OW1cIiksXG4gICAgICAgIGJnTWFnZW50YTogZihcIlxceDFCWzQ1bVwiLCBcIlxceDFCWzQ5bVwiKSxcbiAgICAgICAgYmdDeWFuOiBmKFwiXFx4MUJbNDZtXCIsIFwiXFx4MUJbNDltXCIpLFxuICAgICAgICBiZ1doaXRlOiBmKFwiXFx4MUJbNDdtXCIsIFwiXFx4MUJbNDltXCIpLFxuICAgICAgICBibGFja0JyaWdodDogZihcIlxceDFCWzkwbVwiLCBcIlxceDFCWzM5bVwiKSxcbiAgICAgICAgcmVkQnJpZ2h0OiBmKFwiXFx4MUJbOTFtXCIsIFwiXFx4MUJbMzltXCIpLFxuICAgICAgICBncmVlbkJyaWdodDogZihcIlxceDFCWzkybVwiLCBcIlxceDFCWzM5bVwiKSxcbiAgICAgICAgeWVsbG93QnJpZ2h0OiBmKFwiXFx4MUJbOTNtXCIsIFwiXFx4MUJbMzltXCIpLFxuICAgICAgICBibHVlQnJpZ2h0OiBmKFwiXFx4MUJbOTRtXCIsIFwiXFx4MUJbMzltXCIpLFxuICAgICAgICBtYWdlbnRhQnJpZ2h0OiBmKFwiXFx4MUJbOTVtXCIsIFwiXFx4MUJbMzltXCIpLFxuICAgICAgICBjeWFuQnJpZ2h0OiBmKFwiXFx4MUJbOTZtXCIsIFwiXFx4MUJbMzltXCIpLFxuICAgICAgICB3aGl0ZUJyaWdodDogZihcIlxceDFCWzk3bVwiLCBcIlxceDFCWzM5bVwiKSxcbiAgICAgICAgYmdCbGFja0JyaWdodDogZihcIlxceDFCWzEwMG1cIiwgXCJcXHgxQls0OW1cIiksXG4gICAgICAgIGJnUmVkQnJpZ2h0OiBmKFwiXFx4MUJbMTAxbVwiLCBcIlxceDFCWzQ5bVwiKSxcbiAgICAgICAgYmdHcmVlbkJyaWdodDogZihcIlxceDFCWzEwMm1cIiwgXCJcXHgxQls0OW1cIiksXG4gICAgICAgIGJnWWVsbG93QnJpZ2h0OiBmKFwiXFx4MUJbMTAzbVwiLCBcIlxceDFCWzQ5bVwiKSxcbiAgICAgICAgYmdCbHVlQnJpZ2h0OiBmKFwiXFx4MUJbMTA0bVwiLCBcIlxceDFCWzQ5bVwiKSxcbiAgICAgICAgYmdNYWdlbnRhQnJpZ2h0OiBmKFwiXFx4MUJbMTA1bVwiLCBcIlxceDFCWzQ5bVwiKSxcbiAgICAgICAgYmdDeWFuQnJpZ2h0OiBmKFwiXFx4MUJbMTA2bVwiLCBcIlxceDFCWzQ5bVwiKSxcbiAgICAgICAgYmdXaGl0ZUJyaWdodDogZihcIlxceDFCWzEwN21cIiwgXCJcXHgxQls0OW1cIilcbiAgICAgIH07XG4gICAgfTtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IGNyZWF0ZUNvbG9ycygpO1xuICAgIG1vZHVsZS5leHBvcnRzLmNyZWF0ZUNvbG9ycyA9IGNyZWF0ZUNvbG9ycztcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9qcy10b2tlbnMvaW5kZXguanNcbnZhciByZXF1aXJlX2pzX3Rva2VucyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9qcy10b2tlbnMvaW5kZXguanNcIihleHBvcnRzKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogdHJ1ZVxuICAgIH0pO1xuICAgIGV4cG9ydHMuZGVmYXVsdCA9IC8oKFsnXCJdKSg/Oig/IVxcMnxcXFxcKS58XFxcXCg/OlxcclxcbnxbXFxzXFxTXSkpKihcXDIpP3xgKD86W15gXFxcXCRdfFxcXFxbXFxzXFxTXXxcXCQoPyFcXHspfFxcJFxceyg/Oltee31dfFxce1tefV0qXFx9PykqXFx9PykqKGApPyl8KFxcL1xcLy4qKXwoXFwvXFwqKD86W14qXXxcXCooPyFcXC8pKSooXFwqXFwvKT8pfChcXC8oPyFcXCopKD86XFxbKD86KD8hW1xcXVxcXFxdKS58XFxcXC4pKlxcXXwoPyFbXFwvXFxdXFxcXF0pLnxcXFxcLikrXFwvKD86KD8hXFxzKig/OlxcYnxbXFx1MDA4MC1cXHVGRkZGJFxcXFwnXCJ+KHtdfFsrXFwtIV0oPyE9KXxcXC4/XFxkKSl8W2dtaXl1c117MSw2fVxcYig/IVtcXHUwMDgwLVxcdUZGRkYkXFxcXF18XFxzKig/OlsrXFwtKiUmfF48PiE9Pyh7XXxcXC8oPyFbXFwvKl0pKSkpKXwoMFt4WF1bXFxkYS1mQS1GXSt8MFtvT11bMC03XSt8MFtiQl1bMDFdK3woPzpcXGQqXFwuXFxkK3xcXGQrXFwuPykoPzpbZUVdWystXT9cXGQrKT8pfCgoPyFcXGQpKD86KD8hXFxzKVskXFx3XFx1MDA4MC1cXHVGRkZGXXxcXFxcdVtcXGRhLWZBLUZdezR9fFxcXFx1XFx7W1xcZGEtZkEtRl0rXFx9KSspfCgtLXxcXCtcXCt8JiZ8XFx8XFx8fD0+fFxcLnszfXwoPzpbK1xcLVxcLyUmfF5dfFxcKnsxLDJ9fDx7MSwyfXw+ezEsM318IT0/fD17MSwyfSk9P3xbP34uLDo7W1xcXSgpe31dKXwoXFxzKyl8KF4kfFtcXHNcXFNdKS9nO1xuICAgIGV4cG9ydHMubWF0Y2hUb1Rva2VuID0gZnVuY3Rpb24obWF0Y2gpIHtcbiAgICAgIHZhciB0b2tlbjIgPSB7IHR5cGU6IFwiaW52YWxpZFwiLCB2YWx1ZTogbWF0Y2hbMF0sIGNsb3NlZDogdm9pZCAwIH07XG4gICAgICBpZiAobWF0Y2hbMV0pIHRva2VuMi50eXBlID0gXCJzdHJpbmdcIiwgdG9rZW4yLmNsb3NlZCA9ICEhKG1hdGNoWzNdIHx8IG1hdGNoWzRdKTtcbiAgICAgIGVsc2UgaWYgKG1hdGNoWzVdKSB0b2tlbjIudHlwZSA9IFwiY29tbWVudFwiO1xuICAgICAgZWxzZSBpZiAobWF0Y2hbNl0pIHRva2VuMi50eXBlID0gXCJjb21tZW50XCIsIHRva2VuMi5jbG9zZWQgPSAhIW1hdGNoWzddO1xuICAgICAgZWxzZSBpZiAobWF0Y2hbOF0pIHRva2VuMi50eXBlID0gXCJyZWdleFwiO1xuICAgICAgZWxzZSBpZiAobWF0Y2hbOV0pIHRva2VuMi50eXBlID0gXCJudW1iZXJcIjtcbiAgICAgIGVsc2UgaWYgKG1hdGNoWzEwXSkgdG9rZW4yLnR5cGUgPSBcIm5hbWVcIjtcbiAgICAgIGVsc2UgaWYgKG1hdGNoWzExXSkgdG9rZW4yLnR5cGUgPSBcInB1bmN0dWF0b3JcIjtcbiAgICAgIGVsc2UgaWYgKG1hdGNoWzEyXSkgdG9rZW4yLnR5cGUgPSBcIndoaXRlc3BhY2VcIjtcbiAgICAgIHJldHVybiB0b2tlbjI7XG4gICAgfTtcbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9AYmFiZWwvaGVscGVyLXZhbGlkYXRvci1pZGVudGlmaWVyL2xpYi9pZGVudGlmaWVyLmpzXG52YXIgcmVxdWlyZV9pZGVudGlmaWVyID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL0BiYWJlbC9oZWxwZXItdmFsaWRhdG9yLWlkZW50aWZpZXIvbGliL2lkZW50aWZpZXIuanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7XG4gICAgICB2YWx1ZTogdHJ1ZVxuICAgIH0pO1xuICAgIGV4cG9ydHMuaXNJZGVudGlmaWVyQ2hhciA9IGlzSWRlbnRpZmllckNoYXI7XG4gICAgZXhwb3J0cy5pc0lkZW50aWZpZXJOYW1lID0gaXNJZGVudGlmaWVyTmFtZTtcbiAgICBleHBvcnRzLmlzSWRlbnRpZmllclN0YXJ0ID0gaXNJZGVudGlmaWVyU3RhcnQ7XG4gICAgdmFyIG5vbkFTQ0lJaWRlbnRpZmllclN0YXJ0Q2hhcnMgPSBcIlxceEFBXFx4QjVcXHhCQVxceEMwLVxceEQ2XFx4RDgtXFx4RjZcXHhGOC1cXHUwMkMxXFx1MDJDNi1cXHUwMkQxXFx1MDJFMC1cXHUwMkU0XFx1MDJFQ1xcdTAyRUVcXHUwMzcwLVxcdTAzNzRcXHUwMzc2XFx1MDM3N1xcdTAzN0EtXFx1MDM3RFxcdTAzN0ZcXHUwMzg2XFx1MDM4OC1cXHUwMzhBXFx1MDM4Q1xcdTAzOEUtXFx1MDNBMVxcdTAzQTMtXFx1MDNGNVxcdTAzRjctXFx1MDQ4MVxcdTA0OEEtXFx1MDUyRlxcdTA1MzEtXFx1MDU1NlxcdTA1NTlcXHUwNTYwLVxcdTA1ODhcXHUwNUQwLVxcdTA1RUFcXHUwNUVGLVxcdTA1RjJcXHUwNjIwLVxcdTA2NEFcXHUwNjZFXFx1MDY2RlxcdTA2NzEtXFx1MDZEM1xcdTA2RDVcXHUwNkU1XFx1MDZFNlxcdTA2RUVcXHUwNkVGXFx1MDZGQS1cXHUwNkZDXFx1MDZGRlxcdTA3MTBcXHUwNzEyLVxcdTA3MkZcXHUwNzRELVxcdTA3QTVcXHUwN0IxXFx1MDdDQS1cXHUwN0VBXFx1MDdGNFxcdTA3RjVcXHUwN0ZBXFx1MDgwMC1cXHUwODE1XFx1MDgxQVxcdTA4MjRcXHUwODI4XFx1MDg0MC1cXHUwODU4XFx1MDg2MC1cXHUwODZBXFx1MDg3MC1cXHUwODg3XFx1MDg4OS1cXHUwODhFXFx1MDhBMC1cXHUwOEM5XFx1MDkwNC1cXHUwOTM5XFx1MDkzRFxcdTA5NTBcXHUwOTU4LVxcdTA5NjFcXHUwOTcxLVxcdTA5ODBcXHUwOTg1LVxcdTA5OENcXHUwOThGXFx1MDk5MFxcdTA5OTMtXFx1MDlBOFxcdTA5QUEtXFx1MDlCMFxcdTA5QjJcXHUwOUI2LVxcdTA5QjlcXHUwOUJEXFx1MDlDRVxcdTA5RENcXHUwOUREXFx1MDlERi1cXHUwOUUxXFx1MDlGMFxcdTA5RjFcXHUwOUZDXFx1MEEwNS1cXHUwQTBBXFx1MEEwRlxcdTBBMTBcXHUwQTEzLVxcdTBBMjhcXHUwQTJBLVxcdTBBMzBcXHUwQTMyXFx1MEEzM1xcdTBBMzVcXHUwQTM2XFx1MEEzOFxcdTBBMzlcXHUwQTU5LVxcdTBBNUNcXHUwQTVFXFx1MEE3Mi1cXHUwQTc0XFx1MEE4NS1cXHUwQThEXFx1MEE4Ri1cXHUwQTkxXFx1MEE5My1cXHUwQUE4XFx1MEFBQS1cXHUwQUIwXFx1MEFCMlxcdTBBQjNcXHUwQUI1LVxcdTBBQjlcXHUwQUJEXFx1MEFEMFxcdTBBRTBcXHUwQUUxXFx1MEFGOVxcdTBCMDUtXFx1MEIwQ1xcdTBCMEZcXHUwQjEwXFx1MEIxMy1cXHUwQjI4XFx1MEIyQS1cXHUwQjMwXFx1MEIzMlxcdTBCMzNcXHUwQjM1LVxcdTBCMzlcXHUwQjNEXFx1MEI1Q1xcdTBCNURcXHUwQjVGLVxcdTBCNjFcXHUwQjcxXFx1MEI4M1xcdTBCODUtXFx1MEI4QVxcdTBCOEUtXFx1MEI5MFxcdTBCOTItXFx1MEI5NVxcdTBCOTlcXHUwQjlBXFx1MEI5Q1xcdTBCOUVcXHUwQjlGXFx1MEJBM1xcdTBCQTRcXHUwQkE4LVxcdTBCQUFcXHUwQkFFLVxcdTBCQjlcXHUwQkQwXFx1MEMwNS1cXHUwQzBDXFx1MEMwRS1cXHUwQzEwXFx1MEMxMi1cXHUwQzI4XFx1MEMyQS1cXHUwQzM5XFx1MEMzRFxcdTBDNTgtXFx1MEM1QVxcdTBDNURcXHUwQzYwXFx1MEM2MVxcdTBDODBcXHUwQzg1LVxcdTBDOENcXHUwQzhFLVxcdTBDOTBcXHUwQzkyLVxcdTBDQThcXHUwQ0FBLVxcdTBDQjNcXHUwQ0I1LVxcdTBDQjlcXHUwQ0JEXFx1MENERFxcdTBDREVcXHUwQ0UwXFx1MENFMVxcdTBDRjFcXHUwQ0YyXFx1MEQwNC1cXHUwRDBDXFx1MEQwRS1cXHUwRDEwXFx1MEQxMi1cXHUwRDNBXFx1MEQzRFxcdTBENEVcXHUwRDU0LVxcdTBENTZcXHUwRDVGLVxcdTBENjFcXHUwRDdBLVxcdTBEN0ZcXHUwRDg1LVxcdTBEOTZcXHUwRDlBLVxcdTBEQjFcXHUwREIzLVxcdTBEQkJcXHUwREJEXFx1MERDMC1cXHUwREM2XFx1MEUwMS1cXHUwRTMwXFx1MEUzMlxcdTBFMzNcXHUwRTQwLVxcdTBFNDZcXHUwRTgxXFx1MEU4MlxcdTBFODRcXHUwRTg2LVxcdTBFOEFcXHUwRThDLVxcdTBFQTNcXHUwRUE1XFx1MEVBNy1cXHUwRUIwXFx1MEVCMlxcdTBFQjNcXHUwRUJEXFx1MEVDMC1cXHUwRUM0XFx1MEVDNlxcdTBFREMtXFx1MEVERlxcdTBGMDBcXHUwRjQwLVxcdTBGNDdcXHUwRjQ5LVxcdTBGNkNcXHUwRjg4LVxcdTBGOENcXHUxMDAwLVxcdTEwMkFcXHUxMDNGXFx1MTA1MC1cXHUxMDU1XFx1MTA1QS1cXHUxMDVEXFx1MTA2MVxcdTEwNjVcXHUxMDY2XFx1MTA2RS1cXHUxMDcwXFx1MTA3NS1cXHUxMDgxXFx1MTA4RVxcdTEwQTAtXFx1MTBDNVxcdTEwQzdcXHUxMENEXFx1MTBEMC1cXHUxMEZBXFx1MTBGQy1cXHUxMjQ4XFx1MTI0QS1cXHUxMjREXFx1MTI1MC1cXHUxMjU2XFx1MTI1OFxcdTEyNUEtXFx1MTI1RFxcdTEyNjAtXFx1MTI4OFxcdTEyOEEtXFx1MTI4RFxcdTEyOTAtXFx1MTJCMFxcdTEyQjItXFx1MTJCNVxcdTEyQjgtXFx1MTJCRVxcdTEyQzBcXHUxMkMyLVxcdTEyQzVcXHUxMkM4LVxcdTEyRDZcXHUxMkQ4LVxcdTEzMTBcXHUxMzEyLVxcdTEzMTVcXHUxMzE4LVxcdTEzNUFcXHUxMzgwLVxcdTEzOEZcXHUxM0EwLVxcdTEzRjVcXHUxM0Y4LVxcdTEzRkRcXHUxNDAxLVxcdTE2NkNcXHUxNjZGLVxcdTE2N0ZcXHUxNjgxLVxcdTE2OUFcXHUxNkEwLVxcdTE2RUFcXHUxNkVFLVxcdTE2RjhcXHUxNzAwLVxcdTE3MTFcXHUxNzFGLVxcdTE3MzFcXHUxNzQwLVxcdTE3NTFcXHUxNzYwLVxcdTE3NkNcXHUxNzZFLVxcdTE3NzBcXHUxNzgwLVxcdTE3QjNcXHUxN0Q3XFx1MTdEQ1xcdTE4MjAtXFx1MTg3OFxcdTE4ODAtXFx1MThBOFxcdTE4QUFcXHUxOEIwLVxcdTE4RjVcXHUxOTAwLVxcdTE5MUVcXHUxOTUwLVxcdTE5NkRcXHUxOTcwLVxcdTE5NzRcXHUxOTgwLVxcdTE5QUJcXHUxOUIwLVxcdTE5QzlcXHUxQTAwLVxcdTFBMTZcXHUxQTIwLVxcdTFBNTRcXHUxQUE3XFx1MUIwNS1cXHUxQjMzXFx1MUI0NS1cXHUxQjRDXFx1MUI4My1cXHUxQkEwXFx1MUJBRVxcdTFCQUZcXHUxQkJBLVxcdTFCRTVcXHUxQzAwLVxcdTFDMjNcXHUxQzRELVxcdTFDNEZcXHUxQzVBLVxcdTFDN0RcXHUxQzgwLVxcdTFDOEFcXHUxQzkwLVxcdTFDQkFcXHUxQ0JELVxcdTFDQkZcXHUxQ0U5LVxcdTFDRUNcXHUxQ0VFLVxcdTFDRjNcXHUxQ0Y1XFx1MUNGNlxcdTFDRkFcXHUxRDAwLVxcdTFEQkZcXHUxRTAwLVxcdTFGMTVcXHUxRjE4LVxcdTFGMURcXHUxRjIwLVxcdTFGNDVcXHUxRjQ4LVxcdTFGNERcXHUxRjUwLVxcdTFGNTdcXHUxRjU5XFx1MUY1QlxcdTFGNURcXHUxRjVGLVxcdTFGN0RcXHUxRjgwLVxcdTFGQjRcXHUxRkI2LVxcdTFGQkNcXHUxRkJFXFx1MUZDMi1cXHUxRkM0XFx1MUZDNi1cXHUxRkNDXFx1MUZEMC1cXHUxRkQzXFx1MUZENi1cXHUxRkRCXFx1MUZFMC1cXHUxRkVDXFx1MUZGMi1cXHUxRkY0XFx1MUZGNi1cXHUxRkZDXFx1MjA3MVxcdTIwN0ZcXHUyMDkwLVxcdTIwOUNcXHUyMTAyXFx1MjEwN1xcdTIxMEEtXFx1MjExM1xcdTIxMTVcXHUyMTE4LVxcdTIxMURcXHUyMTI0XFx1MjEyNlxcdTIxMjhcXHUyMTJBLVxcdTIxMzlcXHUyMTNDLVxcdTIxM0ZcXHUyMTQ1LVxcdTIxNDlcXHUyMTRFXFx1MjE2MC1cXHUyMTg4XFx1MkMwMC1cXHUyQ0U0XFx1MkNFQi1cXHUyQ0VFXFx1MkNGMlxcdTJDRjNcXHUyRDAwLVxcdTJEMjVcXHUyRDI3XFx1MkQyRFxcdTJEMzAtXFx1MkQ2N1xcdTJENkZcXHUyRDgwLVxcdTJEOTZcXHUyREEwLVxcdTJEQTZcXHUyREE4LVxcdTJEQUVcXHUyREIwLVxcdTJEQjZcXHUyREI4LVxcdTJEQkVcXHUyREMwLVxcdTJEQzZcXHUyREM4LVxcdTJEQ0VcXHUyREQwLVxcdTJERDZcXHUyREQ4LVxcdTJEREVcXHUzMDA1LVxcdTMwMDdcXHUzMDIxLVxcdTMwMjlcXHUzMDMxLVxcdTMwMzVcXHUzMDM4LVxcdTMwM0NcXHUzMDQxLVxcdTMwOTZcXHUzMDlCLVxcdTMwOUZcXHUzMEExLVxcdTMwRkFcXHUzMEZDLVxcdTMwRkZcXHUzMTA1LVxcdTMxMkZcXHUzMTMxLVxcdTMxOEVcXHUzMUEwLVxcdTMxQkZcXHUzMUYwLVxcdTMxRkZcXHUzNDAwLVxcdTREQkZcXHU0RTAwLVxcdUE0OENcXHVBNEQwLVxcdUE0RkRcXHVBNTAwLVxcdUE2MENcXHVBNjEwLVxcdUE2MUZcXHVBNjJBXFx1QTYyQlxcdUE2NDAtXFx1QTY2RVxcdUE2N0YtXFx1QTY5RFxcdUE2QTAtXFx1QTZFRlxcdUE3MTctXFx1QTcxRlxcdUE3MjItXFx1QTc4OFxcdUE3OEItXFx1QTdDRFxcdUE3RDBcXHVBN0QxXFx1QTdEM1xcdUE3RDUtXFx1QTdEQ1xcdUE3RjItXFx1QTgwMVxcdUE4MDMtXFx1QTgwNVxcdUE4MDctXFx1QTgwQVxcdUE4MEMtXFx1QTgyMlxcdUE4NDAtXFx1QTg3M1xcdUE4ODItXFx1QThCM1xcdUE4RjItXFx1QThGN1xcdUE4RkJcXHVBOEZEXFx1QThGRVxcdUE5MEEtXFx1QTkyNVxcdUE5MzAtXFx1QTk0NlxcdUE5NjAtXFx1QTk3Q1xcdUE5ODQtXFx1QTlCMlxcdUE5Q0ZcXHVBOUUwLVxcdUE5RTRcXHVBOUU2LVxcdUE5RUZcXHVBOUZBLVxcdUE5RkVcXHVBQTAwLVxcdUFBMjhcXHVBQTQwLVxcdUFBNDJcXHVBQTQ0LVxcdUFBNEJcXHVBQTYwLVxcdUFBNzZcXHVBQTdBXFx1QUE3RS1cXHVBQUFGXFx1QUFCMVxcdUFBQjVcXHVBQUI2XFx1QUFCOS1cXHVBQUJEXFx1QUFDMFxcdUFBQzJcXHVBQURCLVxcdUFBRERcXHVBQUUwLVxcdUFBRUFcXHVBQUYyLVxcdUFBRjRcXHVBQjAxLVxcdUFCMDZcXHVBQjA5LVxcdUFCMEVcXHVBQjExLVxcdUFCMTZcXHVBQjIwLVxcdUFCMjZcXHVBQjI4LVxcdUFCMkVcXHVBQjMwLVxcdUFCNUFcXHVBQjVDLVxcdUFCNjlcXHVBQjcwLVxcdUFCRTJcXHVBQzAwLVxcdUQ3QTNcXHVEN0IwLVxcdUQ3QzZcXHVEN0NCLVxcdUQ3RkJcXHVGOTAwLVxcdUZBNkRcXHVGQTcwLVxcdUZBRDlcXHVGQjAwLVxcdUZCMDZcXHVGQjEzLVxcdUZCMTdcXHVGQjFEXFx1RkIxRi1cXHVGQjI4XFx1RkIyQS1cXHVGQjM2XFx1RkIzOC1cXHVGQjNDXFx1RkIzRVxcdUZCNDBcXHVGQjQxXFx1RkI0M1xcdUZCNDRcXHVGQjQ2LVxcdUZCQjFcXHVGQkQzLVxcdUZEM0RcXHVGRDUwLVxcdUZEOEZcXHVGRDkyLVxcdUZEQzdcXHVGREYwLVxcdUZERkJcXHVGRTcwLVxcdUZFNzRcXHVGRTc2LVxcdUZFRkNcXHVGRjIxLVxcdUZGM0FcXHVGRjQxLVxcdUZGNUFcXHVGRjY2LVxcdUZGQkVcXHVGRkMyLVxcdUZGQzdcXHVGRkNBLVxcdUZGQ0ZcXHVGRkQyLVxcdUZGRDdcXHVGRkRBLVxcdUZGRENcIjtcbiAgICB2YXIgbm9uQVNDSUlpZGVudGlmaWVyQ2hhcnMgPSBcIlxceEI3XFx1MDMwMC1cXHUwMzZGXFx1MDM4N1xcdTA0ODMtXFx1MDQ4N1xcdTA1OTEtXFx1MDVCRFxcdTA1QkZcXHUwNUMxXFx1MDVDMlxcdTA1QzRcXHUwNUM1XFx1MDVDN1xcdTA2MTAtXFx1MDYxQVxcdTA2NEItXFx1MDY2OVxcdTA2NzBcXHUwNkQ2LVxcdTA2RENcXHUwNkRGLVxcdTA2RTRcXHUwNkU3XFx1MDZFOFxcdTA2RUEtXFx1MDZFRFxcdTA2RjAtXFx1MDZGOVxcdTA3MTFcXHUwNzMwLVxcdTA3NEFcXHUwN0E2LVxcdTA3QjBcXHUwN0MwLVxcdTA3QzlcXHUwN0VCLVxcdTA3RjNcXHUwN0ZEXFx1MDgxNi1cXHUwODE5XFx1MDgxQi1cXHUwODIzXFx1MDgyNS1cXHUwODI3XFx1MDgyOS1cXHUwODJEXFx1MDg1OS1cXHUwODVCXFx1MDg5Ny1cXHUwODlGXFx1MDhDQS1cXHUwOEUxXFx1MDhFMy1cXHUwOTAzXFx1MDkzQS1cXHUwOTNDXFx1MDkzRS1cXHUwOTRGXFx1MDk1MS1cXHUwOTU3XFx1MDk2MlxcdTA5NjNcXHUwOTY2LVxcdTA5NkZcXHUwOTgxLVxcdTA5ODNcXHUwOUJDXFx1MDlCRS1cXHUwOUM0XFx1MDlDN1xcdTA5QzhcXHUwOUNCLVxcdTA5Q0RcXHUwOUQ3XFx1MDlFMlxcdTA5RTNcXHUwOUU2LVxcdTA5RUZcXHUwOUZFXFx1MEEwMS1cXHUwQTAzXFx1MEEzQ1xcdTBBM0UtXFx1MEE0MlxcdTBBNDdcXHUwQTQ4XFx1MEE0Qi1cXHUwQTREXFx1MEE1MVxcdTBBNjYtXFx1MEE3MVxcdTBBNzVcXHUwQTgxLVxcdTBBODNcXHUwQUJDXFx1MEFCRS1cXHUwQUM1XFx1MEFDNy1cXHUwQUM5XFx1MEFDQi1cXHUwQUNEXFx1MEFFMlxcdTBBRTNcXHUwQUU2LVxcdTBBRUZcXHUwQUZBLVxcdTBBRkZcXHUwQjAxLVxcdTBCMDNcXHUwQjNDXFx1MEIzRS1cXHUwQjQ0XFx1MEI0N1xcdTBCNDhcXHUwQjRCLVxcdTBCNERcXHUwQjU1LVxcdTBCNTdcXHUwQjYyXFx1MEI2M1xcdTBCNjYtXFx1MEI2RlxcdTBCODJcXHUwQkJFLVxcdTBCQzJcXHUwQkM2LVxcdTBCQzhcXHUwQkNBLVxcdTBCQ0RcXHUwQkQ3XFx1MEJFNi1cXHUwQkVGXFx1MEMwMC1cXHUwQzA0XFx1MEMzQ1xcdTBDM0UtXFx1MEM0NFxcdTBDNDYtXFx1MEM0OFxcdTBDNEEtXFx1MEM0RFxcdTBDNTVcXHUwQzU2XFx1MEM2MlxcdTBDNjNcXHUwQzY2LVxcdTBDNkZcXHUwQzgxLVxcdTBDODNcXHUwQ0JDXFx1MENCRS1cXHUwQ0M0XFx1MENDNi1cXHUwQ0M4XFx1MENDQS1cXHUwQ0NEXFx1MENENVxcdTBDRDZcXHUwQ0UyXFx1MENFM1xcdTBDRTYtXFx1MENFRlxcdTBDRjNcXHUwRDAwLVxcdTBEMDNcXHUwRDNCXFx1MEQzQ1xcdTBEM0UtXFx1MEQ0NFxcdTBENDYtXFx1MEQ0OFxcdTBENEEtXFx1MEQ0RFxcdTBENTdcXHUwRDYyXFx1MEQ2M1xcdTBENjYtXFx1MEQ2RlxcdTBEODEtXFx1MEQ4M1xcdTBEQ0FcXHUwRENGLVxcdTBERDRcXHUwREQ2XFx1MEREOC1cXHUwRERGXFx1MERFNi1cXHUwREVGXFx1MERGMlxcdTBERjNcXHUwRTMxXFx1MEUzNC1cXHUwRTNBXFx1MEU0Ny1cXHUwRTRFXFx1MEU1MC1cXHUwRTU5XFx1MEVCMVxcdTBFQjQtXFx1MEVCQ1xcdTBFQzgtXFx1MEVDRVxcdTBFRDAtXFx1MEVEOVxcdTBGMThcXHUwRjE5XFx1MEYyMC1cXHUwRjI5XFx1MEYzNVxcdTBGMzdcXHUwRjM5XFx1MEYzRVxcdTBGM0ZcXHUwRjcxLVxcdTBGODRcXHUwRjg2XFx1MEY4N1xcdTBGOEQtXFx1MEY5N1xcdTBGOTktXFx1MEZCQ1xcdTBGQzZcXHUxMDJCLVxcdTEwM0VcXHUxMDQwLVxcdTEwNDlcXHUxMDU2LVxcdTEwNTlcXHUxMDVFLVxcdTEwNjBcXHUxMDYyLVxcdTEwNjRcXHUxMDY3LVxcdTEwNkRcXHUxMDcxLVxcdTEwNzRcXHUxMDgyLVxcdTEwOERcXHUxMDhGLVxcdTEwOURcXHUxMzVELVxcdTEzNUZcXHUxMzY5LVxcdTEzNzFcXHUxNzEyLVxcdTE3MTVcXHUxNzMyLVxcdTE3MzRcXHUxNzUyXFx1MTc1M1xcdTE3NzJcXHUxNzczXFx1MTdCNC1cXHUxN0QzXFx1MTdERFxcdTE3RTAtXFx1MTdFOVxcdTE4MEItXFx1MTgwRFxcdTE4MEYtXFx1MTgxOVxcdTE4QTlcXHUxOTIwLVxcdTE5MkJcXHUxOTMwLVxcdTE5M0JcXHUxOTQ2LVxcdTE5NEZcXHUxOUQwLVxcdTE5REFcXHUxQTE3LVxcdTFBMUJcXHUxQTU1LVxcdTFBNUVcXHUxQTYwLVxcdTFBN0NcXHUxQTdGLVxcdTFBODlcXHUxQTkwLVxcdTFBOTlcXHUxQUIwLVxcdTFBQkRcXHUxQUJGLVxcdTFBQ0VcXHUxQjAwLVxcdTFCMDRcXHUxQjM0LVxcdTFCNDRcXHUxQjUwLVxcdTFCNTlcXHUxQjZCLVxcdTFCNzNcXHUxQjgwLVxcdTFCODJcXHUxQkExLVxcdTFCQURcXHUxQkIwLVxcdTFCQjlcXHUxQkU2LVxcdTFCRjNcXHUxQzI0LVxcdTFDMzdcXHUxQzQwLVxcdTFDNDlcXHUxQzUwLVxcdTFDNTlcXHUxQ0QwLVxcdTFDRDJcXHUxQ0Q0LVxcdTFDRThcXHUxQ0VEXFx1MUNGNFxcdTFDRjctXFx1MUNGOVxcdTFEQzAtXFx1MURGRlxcdTIwMENcXHUyMDBEXFx1MjAzRlxcdTIwNDBcXHUyMDU0XFx1MjBEMC1cXHUyMERDXFx1MjBFMVxcdTIwRTUtXFx1MjBGMFxcdTJDRUYtXFx1MkNGMVxcdTJEN0ZcXHUyREUwLVxcdTJERkZcXHUzMDJBLVxcdTMwMkZcXHUzMDk5XFx1MzA5QVxcdTMwRkJcXHVBNjIwLVxcdUE2MjlcXHVBNjZGXFx1QTY3NC1cXHVBNjdEXFx1QTY5RVxcdUE2OUZcXHVBNkYwXFx1QTZGMVxcdUE4MDJcXHVBODA2XFx1QTgwQlxcdUE4MjMtXFx1QTgyN1xcdUE4MkNcXHVBODgwXFx1QTg4MVxcdUE4QjQtXFx1QThDNVxcdUE4RDAtXFx1QThEOVxcdUE4RTAtXFx1QThGMVxcdUE4RkYtXFx1QTkwOVxcdUE5MjYtXFx1QTkyRFxcdUE5NDctXFx1QTk1M1xcdUE5ODAtXFx1QTk4M1xcdUE5QjMtXFx1QTlDMFxcdUE5RDAtXFx1QTlEOVxcdUE5RTVcXHVBOUYwLVxcdUE5RjlcXHVBQTI5LVxcdUFBMzZcXHVBQTQzXFx1QUE0Q1xcdUFBNERcXHVBQTUwLVxcdUFBNTlcXHVBQTdCLVxcdUFBN0RcXHVBQUIwXFx1QUFCMi1cXHVBQUI0XFx1QUFCN1xcdUFBQjhcXHVBQUJFXFx1QUFCRlxcdUFBQzFcXHVBQUVCLVxcdUFBRUZcXHVBQUY1XFx1QUFGNlxcdUFCRTMtXFx1QUJFQVxcdUFCRUNcXHVBQkVEXFx1QUJGMC1cXHVBQkY5XFx1RkIxRVxcdUZFMDAtXFx1RkUwRlxcdUZFMjAtXFx1RkUyRlxcdUZFMzNcXHVGRTM0XFx1RkU0RC1cXHVGRTRGXFx1RkYxMC1cXHVGRjE5XFx1RkYzRlxcdUZGNjVcIjtcbiAgICB2YXIgbm9uQVNDSUlpZGVudGlmaWVyU3RhcnQgPSBuZXcgUmVnRXhwKFwiW1wiICsgbm9uQVNDSUlpZGVudGlmaWVyU3RhcnRDaGFycyArIFwiXVwiKTtcbiAgICB2YXIgbm9uQVNDSUlpZGVudGlmaWVyID0gbmV3IFJlZ0V4cChcIltcIiArIG5vbkFTQ0lJaWRlbnRpZmllclN0YXJ0Q2hhcnMgKyBub25BU0NJSWlkZW50aWZpZXJDaGFycyArIFwiXVwiKTtcbiAgICBub25BU0NJSWlkZW50aWZpZXJTdGFydENoYXJzID0gbm9uQVNDSUlpZGVudGlmaWVyQ2hhcnMgPSBudWxsO1xuICAgIHZhciBhc3RyYWxJZGVudGlmaWVyU3RhcnRDb2RlcyA9IFswLCAxMSwgMiwgMjUsIDIsIDE4LCAyLCAxLCAyLCAxNCwgMywgMTMsIDM1LCAxMjIsIDcwLCA1MiwgMjY4LCAyOCwgNCwgNDgsIDQ4LCAzMSwgMTQsIDI5LCA2LCAzNywgMTEsIDI5LCAzLCAzNSwgNSwgNywgMiwgNCwgNDMsIDE1NywgMTksIDM1LCA1LCAzNSwgNSwgMzksIDksIDUxLCAxMywgMTAsIDIsIDE0LCAyLCA2LCAyLCAxLCAyLCAxMCwgMiwgMTQsIDIsIDYsIDIsIDEsIDQsIDUxLCAxMywgMzEwLCAxMCwgMjEsIDExLCA3LCAyNSwgNSwgMiwgNDEsIDIsIDgsIDcwLCA1LCAzLCAwLCAyLCA0MywgMiwgMSwgNCwgMCwgMywgMjIsIDExLCAyMiwgMTAsIDMwLCA2NiwgMTgsIDIsIDEsIDExLCAyMSwgMTEsIDI1LCA3MSwgNTUsIDcsIDEsIDY1LCAwLCAxNiwgMywgMiwgMiwgMiwgMjgsIDQzLCAyOCwgNCwgMjgsIDM2LCA3LCAyLCAyNywgMjgsIDUzLCAxMSwgMjEsIDExLCAxOCwgMTQsIDE3LCAxMTEsIDcyLCA1NiwgNTAsIDE0LCA1MCwgMTQsIDM1LCAzOSwgMjcsIDEwLCAyMiwgMjUxLCA0MSwgNywgMSwgMTcsIDIsIDYwLCAyOCwgMTEsIDAsIDksIDIxLCA0MywgMTcsIDQ3LCAyMCwgMjgsIDIyLCAxMywgNTIsIDU4LCAxLCAzLCAwLCAxNCwgNDQsIDMzLCAyNCwgMjcsIDM1LCAzMCwgMCwgMywgMCwgOSwgMzQsIDQsIDAsIDEzLCA0NywgMTUsIDMsIDIyLCAwLCAyLCAwLCAzNiwgMTcsIDIsIDI0LCAyMCwgMSwgNjQsIDYsIDIsIDAsIDIsIDMsIDIsIDE0LCAyLCA5LCA4LCA0NiwgMzksIDcsIDMsIDEsIDMsIDIxLCAyLCA2LCAyLCAxLCAyLCA0LCA0LCAwLCAxOSwgMCwgMTMsIDQsIDMxLCA5LCAyLCAwLCAzLCAwLCAyLCAzNywgMiwgMCwgMjYsIDAsIDIsIDAsIDQ1LCA1MiwgMTksIDMsIDIxLCAyLCAzMSwgNDcsIDIxLCAxLCAyLCAwLCAxODUsIDQ2LCA0MiwgMywgMzcsIDQ3LCAyMSwgMCwgNjAsIDQyLCAxNCwgMCwgNzIsIDI2LCAzOCwgNiwgMTg2LCA0MywgMTE3LCA2MywgMzIsIDcsIDMsIDAsIDMsIDcsIDIsIDEsIDIsIDIzLCAxNiwgMCwgMiwgMCwgOTUsIDcsIDMsIDM4LCAxNywgMCwgMiwgMCwgMjksIDAsIDExLCAzOSwgOCwgMCwgMjIsIDAsIDEyLCA0NSwgMjAsIDAsIDE5LCA3MiwgMjAwLCAzMiwgMzIsIDgsIDIsIDM2LCAxOCwgMCwgNTAsIDI5LCAxMTMsIDYsIDIsIDEsIDIsIDM3LCAyMiwgMCwgMjYsIDUsIDIsIDEsIDIsIDMxLCAxNSwgMCwgMzI4LCAxOCwgMTYsIDAsIDIsIDEyLCAyLCAzMywgMTI1LCAwLCA4MCwgOTIxLCAxMDMsIDExMCwgMTgsIDE5NSwgMjYzNywgOTYsIDE2LCAxMDcxLCAxOCwgNSwgMjYsIDM5OTQsIDYsIDU4MiwgNjg0MiwgMjksIDE3NjMsIDU2OCwgOCwgMzAsIDE4LCA3OCwgMTgsIDI5LCAxOSwgNDcsIDE3LCAzLCAzMiwgMjAsIDYsIDE4LCA0MzMsIDQ0LCAyMTIsIDYzLCAxMjksIDc0LCA2LCAwLCA2NywgMTIsIDY1LCAxLCAyLCAwLCAyOSwgNjEzNSwgOSwgMTIzNywgNDIsIDksIDg5MzYsIDMsIDIsIDYsIDIsIDEsIDIsIDI5MCwgMTYsIDAsIDMwLCAyLCAzLCAwLCAxNSwgMywgOSwgMzk1LCAyMzA5LCAxMDYsIDYsIDEyLCA0LCA4LCA4LCA5LCA1OTkxLCA4NCwgMiwgNzAsIDIsIDEsIDMsIDAsIDMsIDEsIDMsIDMsIDIsIDExLCAyLCAwLCAyLCA2LCAyLCA2NCwgMiwgMywgMywgNywgMiwgNiwgMiwgMjcsIDIsIDMsIDIsIDQsIDIsIDAsIDQsIDYsIDIsIDMzOSwgMywgMjQsIDIsIDI0LCAyLCAzMCwgMiwgMjQsIDIsIDMwLCAyLCAyNCwgMiwgMzAsIDIsIDI0LCAyLCAzMCwgMiwgMjQsIDIsIDcsIDE4NDUsIDMwLCA3LCA1LCAyNjIsIDYxLCAxNDcsIDQ0LCAxMSwgNiwgMTcsIDAsIDMyMiwgMjksIDE5LCA0MywgNDg1LCAyNywgMjI5LCAyOSwgMywgMCwgNDk2LCA2LCAyLCAzLCAyLCAxLCAyLCAxNCwgMiwgMTk2LCA2MCwgNjcsIDgsIDAsIDEyMDUsIDMsIDIsIDI2LCAyLCAxLCAyLCAwLCAzLCAwLCAyLCA5LCAyLCAzLCAyLCAwLCAyLCAwLCA3LCAwLCA1LCAwLCAyLCAwLCAyLCAwLCAyLCAyLCAyLCAxLCAyLCAwLCAzLCAwLCAyLCAwLCAyLCAwLCAyLCAwLCAyLCAwLCAyLCAxLCAyLCAwLCAzLCAzLCAyLCA2LCAyLCAzLCAyLCAzLCAyLCAwLCAyLCA5LCAyLCAxNiwgNiwgMiwgMiwgNCwgMiwgMTYsIDQ0MjEsIDQyNzE5LCAzMywgNDE1MywgNywgMjIxLCAzLCA1NzYxLCAxNSwgNzQ3MiwgMTYsIDYyMSwgMjQ2NywgNTQxLCAxNTA3LCA0OTM4LCA2LCA0MTkxXTtcbiAgICB2YXIgYXN0cmFsSWRlbnRpZmllckNvZGVzID0gWzUwOSwgMCwgMjI3LCAwLCAxNTAsIDQsIDI5NCwgOSwgMTM2OCwgMiwgMiwgMSwgNiwgMywgNDEsIDIsIDUsIDAsIDE2NiwgMSwgNTc0LCAzLCA5LCA5LCA3LCA5LCAzMiwgNCwgMzE4LCAxLCA4MCwgMywgNzEsIDEwLCA1MCwgMywgMTIzLCAyLCA1NCwgMTQsIDMyLCAxMCwgMywgMSwgMTEsIDMsIDQ2LCAxMCwgOCwgMCwgNDYsIDksIDcsIDIsIDM3LCAxMywgMiwgOSwgNiwgMSwgNDUsIDAsIDEzLCAyLCA0OSwgMTMsIDksIDMsIDIsIDExLCA4MywgMTEsIDcsIDAsIDMsIDAsIDE1OCwgMTEsIDYsIDksIDcsIDMsIDU2LCAxLCAyLCA2LCAzLCAxLCAzLCAyLCAxMCwgMCwgMTEsIDEsIDMsIDYsIDQsIDQsIDY4LCA4LCAyLCAwLCAzLCAwLCAyLCAzLCAyLCA0LCAyLCAwLCAxNSwgMSwgODMsIDE3LCAxMCwgOSwgNSwgMCwgODIsIDE5LCAxMywgOSwgMjE0LCA2LCAzLCA4LCAyOCwgMSwgODMsIDE2LCAxNiwgOSwgODIsIDEyLCA5LCA5LCA3LCAxOSwgNTgsIDE0LCA1LCA5LCAyNDMsIDE0LCAxNjYsIDksIDcxLCA1LCAyLCAxLCAzLCAzLCAyLCAwLCAyLCAxLCAxMywgOSwgMTIwLCA2LCAzLCA2LCA0LCAwLCAyOSwgOSwgNDEsIDYsIDIsIDMsIDksIDAsIDEwLCAxMCwgNDcsIDE1LCAzNDMsIDksIDU0LCA3LCAyLCA3LCAxNywgOSwgNTcsIDIxLCAyLCAxMywgMTIzLCA1LCA0LCAwLCAyLCAxLCAyLCA2LCAyLCAwLCA5LCA5LCA0OSwgNCwgMiwgMSwgMiwgNCwgOSwgOSwgMzMwLCAzLCAxMCwgMSwgMiwgMCwgNDksIDYsIDQsIDQsIDE0LCAxMCwgNTM1MCwgMCwgNywgMTQsIDExNDY1LCAyNywgMjM0MywgOSwgODcsIDksIDM5LCA0LCA2MCwgNiwgMjYsIDksIDUzNSwgOSwgNDcwLCAwLCAyLCA1NCwgOCwgMywgODIsIDAsIDEyLCAxLCAxOTYyOCwgMSwgNDE3OCwgOSwgNTE5LCA0NSwgMywgMjIsIDU0MywgNCwgNCwgNSwgOSwgNywgMywgNiwgMzEsIDMsIDE0OSwgMiwgMTQxOCwgNDksIDUxMywgNTQsIDUsIDQ5LCA5LCAwLCAxNSwgMCwgMjMsIDQsIDIsIDE0LCAxMzYxLCA2LCAyLCAxNiwgMywgNiwgMiwgMSwgMiwgNCwgMTAxLCAwLCAxNjEsIDYsIDEwLCA5LCAzNTcsIDAsIDYyLCAxMywgNDk5LCAxMywgMjQ1LCAxLCAyLCA5LCA3MjYsIDYsIDExMCwgNiwgNiwgOSwgNDc1OSwgOSwgNzg3NzE5LCAyMzldO1xuICAgIGZ1bmN0aW9uIGlzSW5Bc3RyYWxTZXQoY29kZSwgc2V0Mikge1xuICAgICAgbGV0IHBvczIgPSA2NTUzNjtcbiAgICAgIGZvciAobGV0IGkgPSAwLCBsZW5ndGggPSBzZXQyLmxlbmd0aDsgaSA8IGxlbmd0aDsgaSArPSAyKSB7XG4gICAgICAgIHBvczIgKz0gc2V0MltpXTtcbiAgICAgICAgaWYgKHBvczIgPiBjb2RlKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIHBvczIgKz0gc2V0MltpICsgMV07XG4gICAgICAgIGlmIChwb3MyID49IGNvZGUpIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmdW5jdGlvbiBpc0lkZW50aWZpZXJTdGFydChjb2RlKSB7XG4gICAgICBpZiAoY29kZSA8IDY1KSByZXR1cm4gY29kZSA9PT0gMzY7XG4gICAgICBpZiAoY29kZSA8PSA5MCkgcmV0dXJuIHRydWU7XG4gICAgICBpZiAoY29kZSA8IDk3KSByZXR1cm4gY29kZSA9PT0gOTU7XG4gICAgICBpZiAoY29kZSA8PSAxMjIpIHJldHVybiB0cnVlO1xuICAgICAgaWYgKGNvZGUgPD0gNjU1MzUpIHtcbiAgICAgICAgcmV0dXJuIGNvZGUgPj0gMTcwICYmIG5vbkFTQ0lJaWRlbnRpZmllclN0YXJ0LnRlc3QoU3RyaW5nLmZyb21DaGFyQ29kZShjb2RlKSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaXNJbkFzdHJhbFNldChjb2RlLCBhc3RyYWxJZGVudGlmaWVyU3RhcnRDb2Rlcyk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlzSWRlbnRpZmllckNoYXIoY29kZSkge1xuICAgICAgaWYgKGNvZGUgPCA0OCkgcmV0dXJuIGNvZGUgPT09IDM2O1xuICAgICAgaWYgKGNvZGUgPCA1OCkgcmV0dXJuIHRydWU7XG4gICAgICBpZiAoY29kZSA8IDY1KSByZXR1cm4gZmFsc2U7XG4gICAgICBpZiAoY29kZSA8PSA5MCkgcmV0dXJuIHRydWU7XG4gICAgICBpZiAoY29kZSA8IDk3KSByZXR1cm4gY29kZSA9PT0gOTU7XG4gICAgICBpZiAoY29kZSA8PSAxMjIpIHJldHVybiB0cnVlO1xuICAgICAgaWYgKGNvZGUgPD0gNjU1MzUpIHtcbiAgICAgICAgcmV0dXJuIGNvZGUgPj0gMTcwICYmIG5vbkFTQ0lJaWRlbnRpZmllci50ZXN0KFN0cmluZy5mcm9tQ2hhckNvZGUoY29kZSkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGlzSW5Bc3RyYWxTZXQoY29kZSwgYXN0cmFsSWRlbnRpZmllclN0YXJ0Q29kZXMpIHx8IGlzSW5Bc3RyYWxTZXQoY29kZSwgYXN0cmFsSWRlbnRpZmllckNvZGVzKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaXNJZGVudGlmaWVyTmFtZShuYW1lKSB7XG4gICAgICBsZXQgaXNGaXJzdCA9IHRydWU7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IG5hbWUubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgbGV0IGNwID0gbmFtZS5jaGFyQ29kZUF0KGkpO1xuICAgICAgICBpZiAoKGNwICYgNjQ1MTIpID09PSA1NTI5NiAmJiBpICsgMSA8IG5hbWUubGVuZ3RoKSB7XG4gICAgICAgICAgY29uc3QgdHJhaWwgPSBuYW1lLmNoYXJDb2RlQXQoKytpKTtcbiAgICAgICAgICBpZiAoKHRyYWlsICYgNjQ1MTIpID09PSA1NjMyMCkge1xuICAgICAgICAgICAgY3AgPSA2NTUzNiArICgoY3AgJiAxMDIzKSA8PCAxMCkgKyAodHJhaWwgJiAxMDIzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGlzRmlyc3QpIHtcbiAgICAgICAgICBpc0ZpcnN0ID0gZmFsc2U7XG4gICAgICAgICAgaWYgKCFpc0lkZW50aWZpZXJTdGFydChjcCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoIWlzSWRlbnRpZmllckNoYXIoY3ApKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gIWlzRmlyc3Q7XG4gICAgfVxuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0BiYWJlbC9oZWxwZXItdmFsaWRhdG9yLWlkZW50aWZpZXIvbGliL2tleXdvcmQuanNcbnZhciByZXF1aXJlX2tleXdvcmQgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvQGJhYmVsL2hlbHBlci12YWxpZGF0b3ItaWRlbnRpZmllci9saWIva2V5d29yZC5qc1wiKGV4cG9ydHMpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJfX2VzTW9kdWxlXCIsIHtcbiAgICAgIHZhbHVlOiB0cnVlXG4gICAgfSk7XG4gICAgZXhwb3J0cy5pc0tleXdvcmQgPSBpc0tleXdvcmQ7XG4gICAgZXhwb3J0cy5pc1Jlc2VydmVkV29yZCA9IGlzUmVzZXJ2ZWRXb3JkO1xuICAgIGV4cG9ydHMuaXNTdHJpY3RCaW5kT25seVJlc2VydmVkV29yZCA9IGlzU3RyaWN0QmluZE9ubHlSZXNlcnZlZFdvcmQ7XG4gICAgZXhwb3J0cy5pc1N0cmljdEJpbmRSZXNlcnZlZFdvcmQgPSBpc1N0cmljdEJpbmRSZXNlcnZlZFdvcmQ7XG4gICAgZXhwb3J0cy5pc1N0cmljdFJlc2VydmVkV29yZCA9IGlzU3RyaWN0UmVzZXJ2ZWRXb3JkO1xuICAgIHZhciByZXNlcnZlZFdvcmRzID0ge1xuICAgICAga2V5d29yZDogW1wiYnJlYWtcIiwgXCJjYXNlXCIsIFwiY2F0Y2hcIiwgXCJjb250aW51ZVwiLCBcImRlYnVnZ2VyXCIsIFwiZGVmYXVsdFwiLCBcImRvXCIsIFwiZWxzZVwiLCBcImZpbmFsbHlcIiwgXCJmb3JcIiwgXCJmdW5jdGlvblwiLCBcImlmXCIsIFwicmV0dXJuXCIsIFwic3dpdGNoXCIsIFwidGhyb3dcIiwgXCJ0cnlcIiwgXCJ2YXJcIiwgXCJjb25zdFwiLCBcIndoaWxlXCIsIFwid2l0aFwiLCBcIm5ld1wiLCBcInRoaXNcIiwgXCJzdXBlclwiLCBcImNsYXNzXCIsIFwiZXh0ZW5kc1wiLCBcImV4cG9ydFwiLCBcImltcG9ydFwiLCBcIm51bGxcIiwgXCJ0cnVlXCIsIFwiZmFsc2VcIiwgXCJpblwiLCBcImluc3RhbmNlb2ZcIiwgXCJ0eXBlb2ZcIiwgXCJ2b2lkXCIsIFwiZGVsZXRlXCJdLFxuICAgICAgc3RyaWN0OiBbXCJpbXBsZW1lbnRzXCIsIFwiaW50ZXJmYWNlXCIsIFwibGV0XCIsIFwicGFja2FnZVwiLCBcInByaXZhdGVcIiwgXCJwcm90ZWN0ZWRcIiwgXCJwdWJsaWNcIiwgXCJzdGF0aWNcIiwgXCJ5aWVsZFwiXSxcbiAgICAgIHN0cmljdEJpbmQ6IFtcImV2YWxcIiwgXCJhcmd1bWVudHNcIl1cbiAgICB9O1xuICAgIHZhciBrZXl3b3JkcyA9IG5ldyBTZXQocmVzZXJ2ZWRXb3Jkcy5rZXl3b3JkKTtcbiAgICB2YXIgcmVzZXJ2ZWRXb3Jkc1N0cmljdFNldCA9IG5ldyBTZXQocmVzZXJ2ZWRXb3Jkcy5zdHJpY3QpO1xuICAgIHZhciByZXNlcnZlZFdvcmRzU3RyaWN0QmluZFNldCA9IG5ldyBTZXQocmVzZXJ2ZWRXb3Jkcy5zdHJpY3RCaW5kKTtcbiAgICBmdW5jdGlvbiBpc1Jlc2VydmVkV29yZCh3b3JkLCBpbk1vZHVsZSkge1xuICAgICAgcmV0dXJuIGluTW9kdWxlICYmIHdvcmQgPT09IFwiYXdhaXRcIiB8fCB3b3JkID09PSBcImVudW1cIjtcbiAgICB9XG4gICAgZnVuY3Rpb24gaXNTdHJpY3RSZXNlcnZlZFdvcmQod29yZCwgaW5Nb2R1bGUpIHtcbiAgICAgIHJldHVybiBpc1Jlc2VydmVkV29yZCh3b3JkLCBpbk1vZHVsZSkgfHwgcmVzZXJ2ZWRXb3Jkc1N0cmljdFNldC5oYXMod29yZCk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlzU3RyaWN0QmluZE9ubHlSZXNlcnZlZFdvcmQod29yZCkge1xuICAgICAgcmV0dXJuIHJlc2VydmVkV29yZHNTdHJpY3RCaW5kU2V0Lmhhcyh3b3JkKTtcbiAgICB9XG4gICAgZnVuY3Rpb24gaXNTdHJpY3RCaW5kUmVzZXJ2ZWRXb3JkKHdvcmQsIGluTW9kdWxlKSB7XG4gICAgICByZXR1cm4gaXNTdHJpY3RSZXNlcnZlZFdvcmQod29yZCwgaW5Nb2R1bGUpIHx8IGlzU3RyaWN0QmluZE9ubHlSZXNlcnZlZFdvcmQod29yZCk7XG4gICAgfVxuICAgIGZ1bmN0aW9uIGlzS2V5d29yZCh3b3JkKSB7XG4gICAgICByZXR1cm4ga2V5d29yZHMuaGFzKHdvcmQpO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9AYmFiZWwvaGVscGVyLXZhbGlkYXRvci1pZGVudGlmaWVyL2xpYi9pbmRleC5qc1xudmFyIHJlcXVpcmVfbGliID0gX19jb21tb25KUyh7XG4gIFwibm9kZV9tb2R1bGVzL0BiYWJlbC9oZWxwZXItdmFsaWRhdG9yLWlkZW50aWZpZXIvbGliL2luZGV4LmpzXCIoZXhwb3J0cykge1xuICAgIFwidXNlIHN0cmljdFwiO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcIl9fZXNNb2R1bGVcIiwge1xuICAgICAgdmFsdWU6IHRydWVcbiAgICB9KTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0lkZW50aWZpZXJDaGFyXCIsIHtcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2lkZW50aWZpZXIuaXNJZGVudGlmaWVyQ2hhcjtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0lkZW50aWZpZXJOYW1lXCIsIHtcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBnZXQ6IGZ1bmN0aW9uKCkge1xuICAgICAgICByZXR1cm4gX2lkZW50aWZpZXIuaXNJZGVudGlmaWVyTmFtZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc0lkZW50aWZpZXJTdGFydFwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9pZGVudGlmaWVyLmlzSWRlbnRpZmllclN0YXJ0O1xuICAgICAgfVxuICAgIH0pO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImlzS2V5d29yZFwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9rZXl3b3JkLmlzS2V5d29yZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc1Jlc2VydmVkV29yZFwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9rZXl3b3JkLmlzUmVzZXJ2ZWRXb3JkO1xuICAgICAgfVxuICAgIH0pO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImlzU3RyaWN0QmluZE9ubHlSZXNlcnZlZFdvcmRcIiwge1xuICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgIGdldDogZnVuY3Rpb24oKSB7XG4gICAgICAgIHJldHVybiBfa2V5d29yZC5pc1N0cmljdEJpbmRPbmx5UmVzZXJ2ZWRXb3JkO1xuICAgICAgfVxuICAgIH0pO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBcImlzU3RyaWN0QmluZFJlc2VydmVkV29yZFwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9rZXl3b3JkLmlzU3RyaWN0QmluZFJlc2VydmVkV29yZDtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgXCJpc1N0cmljdFJlc2VydmVkV29yZFwiLCB7XG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgZ2V0OiBmdW5jdGlvbigpIHtcbiAgICAgICAgcmV0dXJuIF9rZXl3b3JkLmlzU3RyaWN0UmVzZXJ2ZWRXb3JkO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHZhciBfaWRlbnRpZmllciA9IHJlcXVpcmVfaWRlbnRpZmllcigpO1xuICAgIHZhciBfa2V5d29yZCA9IHJlcXVpcmVfa2V5d29yZCgpO1xuICB9XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL0BiYWJlbC9jb2RlLWZyYW1lL2xpYi9pbmRleC5qc1xudmFyIHJlcXVpcmVfbGliMiA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9AYmFiZWwvY29kZS1mcmFtZS9saWIvaW5kZXguanNcIihleHBvcnRzKSB7XG4gICAgXCJ1c2Ugc3RyaWN0XCI7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIFwiX19lc01vZHVsZVwiLCB7IHZhbHVlOiB0cnVlIH0pO1xuICAgIHZhciBwaWNvY29sb3JzID0gcmVxdWlyZV9waWNvY29sb3JzKCk7XG4gICAgdmFyIGpzVG9rZW5zID0gcmVxdWlyZV9qc190b2tlbnMoKTtcbiAgICB2YXIgaGVscGVyVmFsaWRhdG9ySWRlbnRpZmllciA9IHJlcXVpcmVfbGliKCk7XG4gICAgZnVuY3Rpb24gaXNDb2xvclN1cHBvcnRlZCgpIHtcbiAgICAgIHJldHVybiB0eXBlb2YgcHJvY2VzcyA9PT0gXCJvYmplY3RcIiAmJiAocHJvY2Vzcy5lbnYuRk9SQ0VfQ09MT1IgPT09IFwiMFwiIHx8IHByb2Nlc3MuZW52LkZPUkNFX0NPTE9SID09PSBcImZhbHNlXCIpID8gZmFsc2UgOiBwaWNvY29sb3JzLmlzQ29sb3JTdXBwb3J0ZWQ7XG4gICAgfVxuICAgIHZhciBjb21wb3NlID0gKGYsIGcpID0+ICh2KSA9PiBmKGcodikpO1xuICAgIGZ1bmN0aW9uIGJ1aWxkRGVmcyhjb2xvcnMpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGtleXdvcmQ6IGNvbG9ycy5jeWFuLFxuICAgICAgICBjYXBpdGFsaXplZDogY29sb3JzLnllbGxvdyxcbiAgICAgICAganN4SWRlbnRpZmllcjogY29sb3JzLnllbGxvdyxcbiAgICAgICAgcHVuY3R1YXRvcjogY29sb3JzLnllbGxvdyxcbiAgICAgICAgbnVtYmVyOiBjb2xvcnMubWFnZW50YSxcbiAgICAgICAgc3RyaW5nOiBjb2xvcnMuZ3JlZW4sXG4gICAgICAgIHJlZ2V4OiBjb2xvcnMubWFnZW50YSxcbiAgICAgICAgY29tbWVudDogY29sb3JzLmdyYXksXG4gICAgICAgIGludmFsaWQ6IGNvbXBvc2UoY29tcG9zZShjb2xvcnMud2hpdGUsIGNvbG9ycy5iZ1JlZCksIGNvbG9ycy5ib2xkKSxcbiAgICAgICAgZ3V0dGVyOiBjb2xvcnMuZ3JheSxcbiAgICAgICAgbWFya2VyOiBjb21wb3NlKGNvbG9ycy5yZWQsIGNvbG9ycy5ib2xkKSxcbiAgICAgICAgbWVzc2FnZTogY29tcG9zZShjb2xvcnMucmVkLCBjb2xvcnMuYm9sZCksXG4gICAgICAgIHJlc2V0OiBjb2xvcnMucmVzZXRcbiAgICAgIH07XG4gICAgfVxuICAgIHZhciBkZWZzT24gPSBidWlsZERlZnMocGljb2NvbG9ycy5jcmVhdGVDb2xvcnModHJ1ZSkpO1xuICAgIHZhciBkZWZzT2ZmID0gYnVpbGREZWZzKHBpY29jb2xvcnMuY3JlYXRlQ29sb3JzKGZhbHNlKSk7XG4gICAgZnVuY3Rpb24gZ2V0RGVmcyhlbmFibGVkKSB7XG4gICAgICByZXR1cm4gZW5hYmxlZCA/IGRlZnNPbiA6IGRlZnNPZmY7XG4gICAgfVxuICAgIHZhciBzb21ldGltZXNLZXl3b3JkcyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KFtcImFzXCIsIFwiYXN5bmNcIiwgXCJmcm9tXCIsIFwiZ2V0XCIsIFwib2ZcIiwgXCJzZXRcIl0pO1xuICAgIHZhciBORVdMSU5FJDEgPSAvXFxyXFxufFtcXG5cXHJcXHUyMDI4XFx1MjAyOV0vO1xuICAgIHZhciBCUkFDS0VUID0gL15bKClbXFxde31dJC87XG4gICAgdmFyIHRva2VuaXplMjtcbiAgICB7XG4gICAgICBjb25zdCBKU1hfVEFHID0gL15bYS16XVtcXHctXSokL2k7XG4gICAgICBjb25zdCBnZXRUb2tlblR5cGUgPSBmdW5jdGlvbih0b2tlbjIsIG9mZnNldCwgdGV4dCkge1xuICAgICAgICBpZiAodG9rZW4yLnR5cGUgPT09IFwibmFtZVwiKSB7XG4gICAgICAgICAgaWYgKGhlbHBlclZhbGlkYXRvcklkZW50aWZpZXIuaXNLZXl3b3JkKHRva2VuMi52YWx1ZSkgfHwgaGVscGVyVmFsaWRhdG9ySWRlbnRpZmllci5pc1N0cmljdFJlc2VydmVkV29yZCh0b2tlbjIudmFsdWUsIHRydWUpIHx8IHNvbWV0aW1lc0tleXdvcmRzLmhhcyh0b2tlbjIudmFsdWUpKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJrZXl3b3JkXCI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChKU1hfVEFHLnRlc3QodG9rZW4yLnZhbHVlKSAmJiAodGV4dFtvZmZzZXQgLSAxXSA9PT0gXCI8XCIgfHwgdGV4dC5zbGljZShvZmZzZXQgLSAyLCBvZmZzZXQpID09PSBcIjwvXCIpKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJqc3hJZGVudGlmaWVyXCI7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmICh0b2tlbjIudmFsdWVbMF0gIT09IHRva2VuMi52YWx1ZVswXS50b0xvd2VyQ2FzZSgpKSB7XG4gICAgICAgICAgICByZXR1cm4gXCJjYXBpdGFsaXplZFwiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodG9rZW4yLnR5cGUgPT09IFwicHVuY3R1YXRvclwiICYmIEJSQUNLRVQudGVzdCh0b2tlbjIudmFsdWUpKSB7XG4gICAgICAgICAgcmV0dXJuIFwiYnJhY2tldFwiO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0b2tlbjIudHlwZSA9PT0gXCJpbnZhbGlkXCIgJiYgKHRva2VuMi52YWx1ZSA9PT0gXCJAXCIgfHwgdG9rZW4yLnZhbHVlID09PSBcIiNcIikpIHtcbiAgICAgICAgICByZXR1cm4gXCJwdW5jdHVhdG9yXCI7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRva2VuMi50eXBlO1xuICAgICAgfTtcbiAgICAgIHRva2VuaXplMiA9IGZ1bmN0aW9uKiAodGV4dCkge1xuICAgICAgICBsZXQgbWF0Y2g7XG4gICAgICAgIHdoaWxlIChtYXRjaCA9IGpzVG9rZW5zLmRlZmF1bHQuZXhlYyh0ZXh0KSkge1xuICAgICAgICAgIGNvbnN0IHRva2VuMiA9IGpzVG9rZW5zLm1hdGNoVG9Ub2tlbihtYXRjaCk7XG4gICAgICAgICAgeWllbGQge1xuICAgICAgICAgICAgdHlwZTogZ2V0VG9rZW5UeXBlKHRva2VuMiwgbWF0Y2guaW5kZXgsIHRleHQpLFxuICAgICAgICAgICAgdmFsdWU6IHRva2VuMi52YWx1ZVxuICAgICAgICAgIH07XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGhpZ2hsaWdodCh0ZXh0KSB7XG4gICAgICBpZiAodGV4dCA9PT0gXCJcIikgcmV0dXJuIFwiXCI7XG4gICAgICBjb25zdCBkZWZzID0gZ2V0RGVmcyh0cnVlKTtcbiAgICAgIGxldCBoaWdobGlnaHRlZCA9IFwiXCI7XG4gICAgICBmb3IgKGNvbnN0IHtcbiAgICAgICAgdHlwZTogdHlwZTIsXG4gICAgICAgIHZhbHVlXG4gICAgICB9IG9mIHRva2VuaXplMih0ZXh0KSkge1xuICAgICAgICBpZiAodHlwZTIgaW4gZGVmcykge1xuICAgICAgICAgIGhpZ2hsaWdodGVkICs9IHZhbHVlLnNwbGl0KE5FV0xJTkUkMSkubWFwKChzdHIyKSA9PiBkZWZzW3R5cGUyXShzdHIyKSkuam9pbihcIlxcblwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBoaWdobGlnaHRlZCArPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGhpZ2hsaWdodGVkO1xuICAgIH1cbiAgICB2YXIgZGVwcmVjYXRpb25XYXJuaW5nU2hvd24gPSBmYWxzZTtcbiAgICB2YXIgTkVXTElORSA9IC9cXHJcXG58W1xcblxcclxcdTIwMjhcXHUyMDI5XS87XG4gICAgZnVuY3Rpb24gZ2V0TWFya2VyTGluZXMobG9jLCBzb3VyY2UyLCBvcHRzKSB7XG4gICAgICBjb25zdCBzdGFydExvYyA9IE9iamVjdC5hc3NpZ24oe1xuICAgICAgICBjb2x1bW46IDAsXG4gICAgICAgIGxpbmU6IC0xXG4gICAgICB9LCBsb2Muc3RhcnQpO1xuICAgICAgY29uc3QgZW5kTG9jID0gT2JqZWN0LmFzc2lnbih7fSwgc3RhcnRMb2MsIGxvYy5lbmQpO1xuICAgICAgY29uc3Qge1xuICAgICAgICBsaW5lc0Fib3ZlID0gMixcbiAgICAgICAgbGluZXNCZWxvdyA9IDNcbiAgICAgIH0gPSBvcHRzIHx8IHt9O1xuICAgICAgY29uc3Qgc3RhcnRMaW5lID0gc3RhcnRMb2MubGluZTtcbiAgICAgIGNvbnN0IHN0YXJ0Q29sdW1uID0gc3RhcnRMb2MuY29sdW1uO1xuICAgICAgY29uc3QgZW5kTGluZSA9IGVuZExvYy5saW5lO1xuICAgICAgY29uc3QgZW5kQ29sdW1uID0gZW5kTG9jLmNvbHVtbjtcbiAgICAgIGxldCBzdGFydCA9IE1hdGgubWF4KHN0YXJ0TGluZSAtIChsaW5lc0Fib3ZlICsgMSksIDApO1xuICAgICAgbGV0IGVuZCA9IE1hdGgubWluKHNvdXJjZTIubGVuZ3RoLCBlbmRMaW5lICsgbGluZXNCZWxvdyk7XG4gICAgICBpZiAoc3RhcnRMaW5lID09PSAtMSkge1xuICAgICAgICBzdGFydCA9IDA7XG4gICAgICB9XG4gICAgICBpZiAoZW5kTGluZSA9PT0gLTEpIHtcbiAgICAgICAgZW5kID0gc291cmNlMi5sZW5ndGg7XG4gICAgICB9XG4gICAgICBjb25zdCBsaW5lRGlmZjIgPSBlbmRMaW5lIC0gc3RhcnRMaW5lO1xuICAgICAgY29uc3QgbWFya2VyTGluZXMgPSB7fTtcbiAgICAgIGlmIChsaW5lRGlmZjIpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPD0gbGluZURpZmYyOyBpKyspIHtcbiAgICAgICAgICBjb25zdCBsaW5lTnVtYmVyID0gaSArIHN0YXJ0TGluZTtcbiAgICAgICAgICBpZiAoIXN0YXJ0Q29sdW1uKSB7XG4gICAgICAgICAgICBtYXJrZXJMaW5lc1tsaW5lTnVtYmVyXSA9IHRydWU7XG4gICAgICAgICAgfSBlbHNlIGlmIChpID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCBzb3VyY2VMZW5ndGggPSBzb3VyY2UyW2xpbmVOdW1iZXIgLSAxXS5sZW5ndGg7XG4gICAgICAgICAgICBtYXJrZXJMaW5lc1tsaW5lTnVtYmVyXSA9IFtzdGFydENvbHVtbiwgc291cmNlTGVuZ3RoIC0gc3RhcnRDb2x1bW4gKyAxXTtcbiAgICAgICAgICB9IGVsc2UgaWYgKGkgPT09IGxpbmVEaWZmMikge1xuICAgICAgICAgICAgbWFya2VyTGluZXNbbGluZU51bWJlcl0gPSBbMCwgZW5kQ29sdW1uXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3Qgc291cmNlTGVuZ3RoID0gc291cmNlMltsaW5lTnVtYmVyIC0gaV0ubGVuZ3RoO1xuICAgICAgICAgICAgbWFya2VyTGluZXNbbGluZU51bWJlcl0gPSBbMCwgc291cmNlTGVuZ3RoXTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChzdGFydENvbHVtbiA9PT0gZW5kQ29sdW1uKSB7XG4gICAgICAgICAgaWYgKHN0YXJ0Q29sdW1uKSB7XG4gICAgICAgICAgICBtYXJrZXJMaW5lc1tzdGFydExpbmVdID0gW3N0YXJ0Q29sdW1uLCAwXTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWFya2VyTGluZXNbc3RhcnRMaW5lXSA9IHRydWU7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG1hcmtlckxpbmVzW3N0YXJ0TGluZV0gPSBbc3RhcnRDb2x1bW4sIGVuZENvbHVtbiAtIHN0YXJ0Q29sdW1uXTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgc3RhcnQsXG4gICAgICAgIGVuZCxcbiAgICAgICAgbWFya2VyTGluZXNcbiAgICAgIH07XG4gICAgfVxuICAgIGZ1bmN0aW9uIGNvZGVGcmFtZUNvbHVtbnMzKHJhd0xpbmVzLCBsb2MsIG9wdHMgPSB7fSkge1xuICAgICAgY29uc3Qgc2hvdWxkSGlnaGxpZ2h0ID0gb3B0cy5mb3JjZUNvbG9yIHx8IGlzQ29sb3JTdXBwb3J0ZWQoKSAmJiBvcHRzLmhpZ2hsaWdodENvZGU7XG4gICAgICBjb25zdCBkZWZzID0gZ2V0RGVmcyhzaG91bGRIaWdobGlnaHQpO1xuICAgICAgY29uc3QgbGluZXMgPSByYXdMaW5lcy5zcGxpdChORVdMSU5FKTtcbiAgICAgIGNvbnN0IHtcbiAgICAgICAgc3RhcnQsXG4gICAgICAgIGVuZCxcbiAgICAgICAgbWFya2VyTGluZXNcbiAgICAgIH0gPSBnZXRNYXJrZXJMaW5lcyhsb2MsIGxpbmVzLCBvcHRzKTtcbiAgICAgIGNvbnN0IGhhc0NvbHVtbnMgPSBsb2Muc3RhcnQgJiYgdHlwZW9mIGxvYy5zdGFydC5jb2x1bW4gPT09IFwibnVtYmVyXCI7XG4gICAgICBjb25zdCBudW1iZXJNYXhXaWR0aCA9IFN0cmluZyhlbmQpLmxlbmd0aDtcbiAgICAgIGNvbnN0IGhpZ2hsaWdodGVkTGluZXMgPSBzaG91bGRIaWdobGlnaHQgPyBoaWdobGlnaHQocmF3TGluZXMpIDogcmF3TGluZXM7XG4gICAgICBsZXQgZnJhbWUgPSBoaWdobGlnaHRlZExpbmVzLnNwbGl0KE5FV0xJTkUsIGVuZCkuc2xpY2Uoc3RhcnQsIGVuZCkubWFwKChsaW5lMywgaW5kZXgyKSA9PiB7XG4gICAgICAgIGNvbnN0IG51bWJlciA9IHN0YXJ0ICsgMSArIGluZGV4MjtcbiAgICAgICAgY29uc3QgcGFkZGVkTnVtYmVyID0gYCAke251bWJlcn1gLnNsaWNlKC1udW1iZXJNYXhXaWR0aCk7XG4gICAgICAgIGNvbnN0IGd1dHRlciA9IGAgJHtwYWRkZWROdW1iZXJ9IHxgO1xuICAgICAgICBjb25zdCBoYXNNYXJrZXIgPSBtYXJrZXJMaW5lc1tudW1iZXJdO1xuICAgICAgICBjb25zdCBsYXN0TWFya2VyTGluZSA9ICFtYXJrZXJMaW5lc1tudW1iZXIgKyAxXTtcbiAgICAgICAgaWYgKGhhc01hcmtlcikge1xuICAgICAgICAgIGxldCBtYXJrZXJMaW5lID0gXCJcIjtcbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShoYXNNYXJrZXIpKSB7XG4gICAgICAgICAgICBjb25zdCBtYXJrZXJTcGFjaW5nID0gbGluZTMuc2xpY2UoMCwgTWF0aC5tYXgoaGFzTWFya2VyWzBdIC0gMSwgMCkpLnJlcGxhY2UoL1teXFx0XS9nLCBcIiBcIik7XG4gICAgICAgICAgICBjb25zdCBudW1iZXJPZk1hcmtlcnMgPSBoYXNNYXJrZXJbMV0gfHwgMTtcbiAgICAgICAgICAgIG1hcmtlckxpbmUgPSBbXCJcXG4gXCIsIGRlZnMuZ3V0dGVyKGd1dHRlci5yZXBsYWNlKC9cXGQvZywgXCIgXCIpKSwgXCIgXCIsIG1hcmtlclNwYWNpbmcsIGRlZnMubWFya2VyKFwiXlwiKS5yZXBlYXQobnVtYmVyT2ZNYXJrZXJzKV0uam9pbihcIlwiKTtcbiAgICAgICAgICAgIGlmIChsYXN0TWFya2VyTGluZSAmJiBvcHRzLm1lc3NhZ2UpIHtcbiAgICAgICAgICAgICAgbWFya2VyTGluZSArPSBcIiBcIiArIGRlZnMubWVzc2FnZShvcHRzLm1lc3NhZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gW2RlZnMubWFya2VyKFwiPlwiKSwgZGVmcy5ndXR0ZXIoZ3V0dGVyKSwgbGluZTMubGVuZ3RoID4gMCA/IGAgJHtsaW5lM31gIDogXCJcIiwgbWFya2VyTGluZV0uam9pbihcIlwiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gYCAke2RlZnMuZ3V0dGVyKGd1dHRlcil9JHtsaW5lMy5sZW5ndGggPiAwID8gYCAke2xpbmUzfWAgOiBcIlwifWA7XG4gICAgICAgIH1cbiAgICAgIH0pLmpvaW4oXCJcXG5cIik7XG4gICAgICBpZiAob3B0cy5tZXNzYWdlICYmICFoYXNDb2x1bW5zKSB7XG4gICAgICAgIGZyYW1lID0gYCR7XCIgXCIucmVwZWF0KG51bWJlck1heFdpZHRoICsgMSl9JHtvcHRzLm1lc3NhZ2V9XG4ke2ZyYW1lfWA7XG4gICAgICB9XG4gICAgICBpZiAoc2hvdWxkSGlnaGxpZ2h0KSB7XG4gICAgICAgIHJldHVybiBkZWZzLnJlc2V0KGZyYW1lKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmcmFtZTtcbiAgICAgIH1cbiAgICB9XG4gICAgZnVuY3Rpb24gaW5kZXgocmF3TGluZXMsIGxpbmVOdW1iZXIsIGNvbE51bWJlciwgb3B0cyA9IHt9KSB7XG4gICAgICBpZiAoIWRlcHJlY2F0aW9uV2FybmluZ1Nob3duKSB7XG4gICAgICAgIGRlcHJlY2F0aW9uV2FybmluZ1Nob3duID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgbWVzc2FnZSA9IFwiUGFzc2luZyBsaW5lTnVtYmVyIGFuZCBjb2xOdW1iZXIgaXMgZGVwcmVjYXRlZCB0byBAYmFiZWwvY29kZS1mcmFtZS4gUGxlYXNlIHVzZSBgY29kZUZyYW1lQ29sdW1uc2AuXCI7XG4gICAgICAgIGlmIChwcm9jZXNzLmVtaXRXYXJuaW5nKSB7XG4gICAgICAgICAgcHJvY2Vzcy5lbWl0V2FybmluZyhtZXNzYWdlLCBcIkRlcHJlY2F0aW9uV2FybmluZ1wiKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb25zdCBkZXByZWNhdGlvbkVycm9yID0gbmV3IEVycm9yKG1lc3NhZ2UpO1xuICAgICAgICAgIGRlcHJlY2F0aW9uRXJyb3IubmFtZSA9IFwiRGVwcmVjYXRpb25XYXJuaW5nXCI7XG4gICAgICAgICAgY29uc29sZS53YXJuKG5ldyBFcnJvcihtZXNzYWdlKSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbE51bWJlciA9IE1hdGgubWF4KGNvbE51bWJlciwgMCk7XG4gICAgICBjb25zdCBsb2NhdGlvbiA9IHtcbiAgICAgICAgc3RhcnQ6IHtcbiAgICAgICAgICBjb2x1bW46IGNvbE51bWJlcixcbiAgICAgICAgICBsaW5lOiBsaW5lTnVtYmVyXG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgICByZXR1cm4gY29kZUZyYW1lQ29sdW1uczMocmF3TGluZXMsIGxvY2F0aW9uLCBvcHRzKTtcbiAgICB9XG4gICAgZXhwb3J0cy5jb2RlRnJhbWVDb2x1bW5zID0gY29kZUZyYW1lQ29sdW1uczM7XG4gICAgZXhwb3J0cy5kZWZhdWx0ID0gaW5kZXg7XG4gICAgZXhwb3J0cy5oaWdobGlnaHQgPSBoaWdobGlnaHQ7XG4gIH1cbn0pO1xuXG4vLyBub2RlX21vZHVsZXMvaWdub3JlL2luZGV4LmpzXG52YXIgcmVxdWlyZV9pZ25vcmUgPSBfX2NvbW1vbkpTKHtcbiAgXCJub2RlX21vZHVsZXMvaWdub3JlL2luZGV4LmpzXCIoZXhwb3J0cywgbW9kdWxlKSB7XG4gICAgZnVuY3Rpb24gbWFrZUFycmF5KHN1YmplY3QpIHtcbiAgICAgIHJldHVybiBBcnJheS5pc0FycmF5KHN1YmplY3QpID8gc3ViamVjdCA6IFtzdWJqZWN0XTtcbiAgICB9XG4gICAgdmFyIEVNUFRZID0gXCJcIjtcbiAgICB2YXIgU1BBQ0UgPSBcIiBcIjtcbiAgICB2YXIgRVNDQVBFID0gXCJcXFxcXCI7XG4gICAgdmFyIFJFR0VYX1RFU1RfQkxBTktfTElORSA9IC9eXFxzKyQvO1xuICAgIHZhciBSRUdFWF9JTlZBTElEX1RSQUlMSU5HX0JBQ0tTTEFTSCA9IC8oPzpbXlxcXFxdfF4pXFxcXCQvO1xuICAgIHZhciBSRUdFWF9SRVBMQUNFX0xFQURJTkdfRVhDQVBFRF9FWENMQU1BVElPTiA9IC9eXFxcXCEvO1xuICAgIHZhciBSRUdFWF9SRVBMQUNFX0xFQURJTkdfRVhDQVBFRF9IQVNIID0gL15cXFxcIy87XG4gICAgdmFyIFJFR0VYX1NQTElUQUxMX0NSTEYgPSAvXFxyP1xcbi9nO1xuICAgIHZhciBSRUdFWF9URVNUX0lOVkFMSURfUEFUSCA9IC9eXFwuKlxcL3xeXFwuKyQvO1xuICAgIHZhciBTTEFTSCA9IFwiL1wiO1xuICAgIHZhciBUTVBfS0VZX0lHTk9SRSA9IFwibm9kZS1pZ25vcmVcIjtcbiAgICBpZiAodHlwZW9mIFN5bWJvbCAhPT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgVE1QX0tFWV9JR05PUkUgPSBTeW1ib2wuZm9yKFwibm9kZS1pZ25vcmVcIik7XG4gICAgfVxuICAgIHZhciBLRVlfSUdOT1JFID0gVE1QX0tFWV9JR05PUkU7XG4gICAgdmFyIGRlZmluZSA9IChvYmplY3QsIGtleTIsIHZhbHVlKSA9PiBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqZWN0LCBrZXkyLCB7IHZhbHVlIH0pO1xuICAgIHZhciBSRUdFWF9SRUdFWFBfUkFOR0UgPSAvKFswLXpdKS0oWzAtel0pL2c7XG4gICAgdmFyIFJFVFVSTl9GQUxTRSA9ICgpID0+IGZhbHNlO1xuICAgIHZhciBzYW5pdGl6ZVJhbmdlID0gKHJhbmdlKSA9PiByYW5nZS5yZXBsYWNlKFxuICAgICAgUkVHRVhfUkVHRVhQX1JBTkdFLFxuICAgICAgKG1hdGNoLCBmcm9tLCB0bykgPT4gZnJvbS5jaGFyQ29kZUF0KDApIDw9IHRvLmNoYXJDb2RlQXQoMCkgPyBtYXRjaCA6IEVNUFRZXG4gICAgKTtcbiAgICB2YXIgY2xlYW5SYW5nZUJhY2tTbGFzaCA9IChzbGFzaGVzKSA9PiB7XG4gICAgICBjb25zdCB7IGxlbmd0aCB9ID0gc2xhc2hlcztcbiAgICAgIHJldHVybiBzbGFzaGVzLnNsaWNlKDAsIGxlbmd0aCAtIGxlbmd0aCAlIDIpO1xuICAgIH07XG4gICAgdmFyIFJFUExBQ0VSUyA9IFtcbiAgICAgIFtcbiAgICAgICAgLy8gcmVtb3ZlIEJPTVxuICAgICAgICAvLyBUT0RPOlxuICAgICAgICAvLyBPdGhlciBzaW1pbGFyIHplcm8td2lkdGggY2hhcmFjdGVycz9cbiAgICAgICAgL15cXHVGRUZGLyxcbiAgICAgICAgKCkgPT4gRU1QVFlcbiAgICAgIF0sXG4gICAgICAvLyA+IFRyYWlsaW5nIHNwYWNlcyBhcmUgaWdub3JlZCB1bmxlc3MgdGhleSBhcmUgcXVvdGVkIHdpdGggYmFja3NsYXNoIChcIlxcXCIpXG4gICAgICBbXG4gICAgICAgIC8vIChhXFwgKSAtPiAoYSApXG4gICAgICAgIC8vIChhICApIC0+IChhKVxuICAgICAgICAvLyAoYSApIC0+IChhKVxuICAgICAgICAvLyAoYSBcXCApIC0+IChhICApXG4gICAgICAgIC8oKD86XFxcXFxcXFwpKj8pKFxcXFw/XFxzKykkLyxcbiAgICAgICAgKF8sIG0xLCBtMikgPT4gbTEgKyAobTIuaW5kZXhPZihcIlxcXFxcIikgPT09IDAgPyBTUEFDRSA6IEVNUFRZKVxuICAgICAgXSxcbiAgICAgIC8vIHJlcGxhY2UgKFxcICkgd2l0aCAnICdcbiAgICAgIC8vIChcXCApIC0+ICcgJ1xuICAgICAgLy8gKFxcXFwgKSAtPiAnXFxcXCAnXG4gICAgICAvLyAoXFxcXFxcICkgLT4gJ1xcXFwgJ1xuICAgICAgW1xuICAgICAgICAvKFxcXFwrPylcXHMvZyxcbiAgICAgICAgKF8sIG0xKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBsZW5ndGggfSA9IG0xO1xuICAgICAgICAgIHJldHVybiBtMS5zbGljZSgwLCBsZW5ndGggLSBsZW5ndGggJSAyKSArIFNQQUNFO1xuICAgICAgICB9XG4gICAgICBdLFxuICAgICAgLy8gRXNjYXBlIG1ldGFjaGFyYWN0ZXJzXG4gICAgICAvLyB3aGljaCBpcyB3cml0dGVuIGRvd24gYnkgdXNlcnMgYnV0IG1lYW5zIHNwZWNpYWwgZm9yIHJlZ3VsYXIgZXhwcmVzc2lvbnMuXG4gICAgICAvLyA+IFRoZXJlIGFyZSAxMiBjaGFyYWN0ZXJzIHdpdGggc3BlY2lhbCBtZWFuaW5nczpcbiAgICAgIC8vID4gLSB0aGUgYmFja3NsYXNoIFxcLFxuICAgICAgLy8gPiAtIHRoZSBjYXJldCBeLFxuICAgICAgLy8gPiAtIHRoZSBkb2xsYXIgc2lnbiAkLFxuICAgICAgLy8gPiAtIHRoZSBwZXJpb2Qgb3IgZG90IC4sXG4gICAgICAvLyA+IC0gdGhlIHZlcnRpY2FsIGJhciBvciBwaXBlIHN5bWJvbCB8LFxuICAgICAgLy8gPiAtIHRoZSBxdWVzdGlvbiBtYXJrID8sXG4gICAgICAvLyA+IC0gdGhlIGFzdGVyaXNrIG9yIHN0YXIgKixcbiAgICAgIC8vID4gLSB0aGUgcGx1cyBzaWduICssXG4gICAgICAvLyA+IC0gdGhlIG9wZW5pbmcgcGFyZW50aGVzaXMgKCxcbiAgICAgIC8vID4gLSB0aGUgY2xvc2luZyBwYXJlbnRoZXNpcyApLFxuICAgICAgLy8gPiAtIGFuZCB0aGUgb3BlbmluZyBzcXVhcmUgYnJhY2tldCBbLFxuICAgICAgLy8gPiAtIHRoZSBvcGVuaW5nIGN1cmx5IGJyYWNlIHssXG4gICAgICAvLyA+IFRoZXNlIHNwZWNpYWwgY2hhcmFjdGVycyBhcmUgb2Z0ZW4gY2FsbGVkIFwibWV0YWNoYXJhY3RlcnNcIi5cbiAgICAgIFtcbiAgICAgICAgL1tcXFxcJC58KisoKXteXS9nLFxuICAgICAgICAobWF0Y2gpID0+IGBcXFxcJHttYXRjaH1gXG4gICAgICBdLFxuICAgICAgW1xuICAgICAgICAvLyA+IGEgcXVlc3Rpb24gbWFyayAoPykgbWF0Y2hlcyBhIHNpbmdsZSBjaGFyYWN0ZXJcbiAgICAgICAgLyg/IVxcXFwpXFw/L2csXG4gICAgICAgICgpID0+IFwiW14vXVwiXG4gICAgICBdLFxuICAgICAgLy8gbGVhZGluZyBzbGFzaFxuICAgICAgW1xuICAgICAgICAvLyA+IEEgbGVhZGluZyBzbGFzaCBtYXRjaGVzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHBhdGhuYW1lLlxuICAgICAgICAvLyA+IEZvciBleGFtcGxlLCBcIi8qLmNcIiBtYXRjaGVzIFwiY2F0LWZpbGUuY1wiIGJ1dCBub3QgXCJtb3ppbGxhLXNoYTEvc2hhMS5jXCIuXG4gICAgICAgIC8vIEEgbGVhZGluZyBzbGFzaCBtYXRjaGVzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHBhdGhuYW1lXG4gICAgICAgIC9eXFwvLyxcbiAgICAgICAgKCkgPT4gXCJeXCJcbiAgICAgIF0sXG4gICAgICAvLyByZXBsYWNlIHNwZWNpYWwgbWV0YWNoYXJhY3RlciBzbGFzaCBhZnRlciB0aGUgbGVhZGluZyBzbGFzaFxuICAgICAgW1xuICAgICAgICAvXFwvL2csXG4gICAgICAgICgpID0+IFwiXFxcXC9cIlxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgLy8gPiBBIGxlYWRpbmcgXCIqKlwiIGZvbGxvd2VkIGJ5IGEgc2xhc2ggbWVhbnMgbWF0Y2ggaW4gYWxsIGRpcmVjdG9yaWVzLlxuICAgICAgICAvLyA+IEZvciBleGFtcGxlLCBcIioqL2Zvb1wiIG1hdGNoZXMgZmlsZSBvciBkaXJlY3RvcnkgXCJmb29cIiBhbnl3aGVyZSxcbiAgICAgICAgLy8gPiB0aGUgc2FtZSBhcyBwYXR0ZXJuIFwiZm9vXCIuXG4gICAgICAgIC8vID4gXCIqKi9mb28vYmFyXCIgbWF0Y2hlcyBmaWxlIG9yIGRpcmVjdG9yeSBcImJhclwiIGFueXdoZXJlIHRoYXQgaXMgZGlyZWN0bHlcbiAgICAgICAgLy8gPiAgIHVuZGVyIGRpcmVjdG9yeSBcImZvb1wiLlxuICAgICAgICAvLyBOb3RpY2UgdGhhdCB0aGUgJyoncyBoYXZlIGJlZW4gcmVwbGFjZWQgYXMgJ1xcXFwqJ1xuICAgICAgICAvXlxcXipcXFxcXFwqXFxcXFxcKlxcXFxcXC8vLFxuICAgICAgICAvLyAnKiovZm9vJyA8LT4gJ2ZvbydcbiAgICAgICAgKCkgPT4gXCJeKD86LipcXFxcLyk/XCJcbiAgICAgIF0sXG4gICAgICAvLyBzdGFydGluZ1xuICAgICAgW1xuICAgICAgICAvLyB0aGVyZSB3aWxsIGJlIG5vIGxlYWRpbmcgJy8nXG4gICAgICAgIC8vICAgKHdoaWNoIGhhcyBiZWVuIHJlcGxhY2VkIGJ5IHNlY3Rpb24gXCJsZWFkaW5nIHNsYXNoXCIpXG4gICAgICAgIC8vIElmIHN0YXJ0cyB3aXRoICcqKicsIGFkZGluZyBhICdeJyB0byB0aGUgcmVndWxhciBleHByZXNzaW9uIGFsc28gd29ya3NcbiAgICAgICAgL14oPz1bXl5dKS8sXG4gICAgICAgIGZ1bmN0aW9uIHN0YXJ0aW5nUmVwbGFjZXIoKSB7XG4gICAgICAgICAgcmV0dXJuICEvXFwvKD8hJCkvLnRlc3QodGhpcykgPyBcIig/Ol58XFxcXC8pXCIgOiBcIl5cIjtcbiAgICAgICAgfVxuICAgICAgXSxcbiAgICAgIC8vIHR3byBnbG9ic3RhcnNcbiAgICAgIFtcbiAgICAgICAgLy8gVXNlIGxvb2thaGVhZCBhc3NlcnRpb25zIHNvIHRoYXQgd2UgY291bGQgbWF0Y2ggbW9yZSB0aGFuIG9uZSBgJy8qKidgXG4gICAgICAgIC9cXFxcXFwvXFxcXFxcKlxcXFxcXCooPz1cXFxcXFwvfCQpL2csXG4gICAgICAgIC8vIFplcm8sIG9uZSBvciBzZXZlcmFsIGRpcmVjdG9yaWVzXG4gICAgICAgIC8vIHNob3VsZCBub3QgdXNlICcqJywgb3IgaXQgd2lsbCBiZSByZXBsYWNlZCBieSB0aGUgbmV4dCByZXBsYWNlclxuICAgICAgICAvLyBDaGVjayBpZiBpdCBpcyBub3QgdGhlIGxhc3QgYCcvKionYFxuICAgICAgICAoXywgaW5kZXgsIHN0cjIpID0+IGluZGV4ICsgNiA8IHN0cjIubGVuZ3RoID8gXCIoPzpcXFxcL1teXFxcXC9dKykqXCIgOiBcIlxcXFwvLitcIlxuICAgICAgXSxcbiAgICAgIC8vIG5vcm1hbCBpbnRlcm1lZGlhdGUgd2lsZGNhcmRzXG4gICAgICBbXG4gICAgICAgIC8vIE5ldmVyIHJlcGxhY2UgZXNjYXBlZCAnKidcbiAgICAgICAgLy8gaWdub3JlIHJ1bGUgJ1xcKicgd2lsbCBtYXRjaCB0aGUgcGF0aCAnKidcbiAgICAgICAgLy8gJ2FiYy4qLycgLT4gZ29cbiAgICAgICAgLy8gJ2FiYy4qJyAgLT4gc2tpcCB0aGlzIHJ1bGUsXG4gICAgICAgIC8vICAgIGNveiB0cmFpbGluZyBzaW5nbGUgd2lsZGNhcmQgd2lsbCBiZSBoYW5kZWQgYnkgW3RyYWlsaW5nIHdpbGRjYXJkXVxuICAgICAgICAvKF58W15cXFxcXSspKFxcXFxcXCopKyg/PS4rKS9nLFxuICAgICAgICAvLyAnKi5qcycgbWF0Y2hlcyAnLmpzJ1xuICAgICAgICAvLyAnKi5qcycgZG9lc24ndCBtYXRjaCAnYWJjJ1xuICAgICAgICAoXywgcDEsIHAyKSA9PiB7XG4gICAgICAgICAgY29uc3QgdW5lc2NhcGVkID0gcDIucmVwbGFjZSgvXFxcXFxcKi9nLCBcIlteXFxcXC9dKlwiKTtcbiAgICAgICAgICByZXR1cm4gcDEgKyB1bmVzY2FwZWQ7XG4gICAgICAgIH1cbiAgICAgIF0sXG4gICAgICBbXG4gICAgICAgIC8vIHVuZXNjYXBlLCByZXZlcnQgc3RlcCAzIGV4Y2VwdCBmb3IgYmFjayBzbGFzaFxuICAgICAgICAvLyBGb3IgZXhhbXBsZSwgaWYgYSB1c2VyIGVzY2FwZSBhICdcXFxcKicsXG4gICAgICAgIC8vIGFmdGVyIHN0ZXAgMywgdGhlIHJlc3VsdCB3aWxsIGJlICdcXFxcXFxcXFxcXFwqJ1xuICAgICAgICAvXFxcXFxcXFxcXFxcKD89WyQufCorKCl7Xl0pL2csXG4gICAgICAgICgpID0+IEVTQ0FQRVxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgLy8gJ1xcXFxcXFxcJyAtPiAnXFxcXCdcbiAgICAgICAgL1xcXFxcXFxcL2csXG4gICAgICAgICgpID0+IEVTQ0FQRVxuICAgICAgXSxcbiAgICAgIFtcbiAgICAgICAgLy8gPiBUaGUgcmFuZ2Ugbm90YXRpb24sIGUuZy4gW2EtekEtWl0sXG4gICAgICAgIC8vID4gY2FuIGJlIHVzZWQgdG8gbWF0Y2ggb25lIG9mIHRoZSBjaGFyYWN0ZXJzIGluIGEgcmFuZ2UuXG4gICAgICAgIC8vIGBcXGAgaXMgZXNjYXBlZCBieSBzdGVwIDNcbiAgICAgICAgLyhcXFxcKT9cXFsoW15cXF0vXSo/KShcXFxcKikoJHxcXF0pL2csXG4gICAgICAgIChtYXRjaCwgbGVhZEVzY2FwZSwgcmFuZ2UsIGVuZEVzY2FwZSwgY2xvc2UpID0+IGxlYWRFc2NhcGUgPT09IEVTQ0FQRSA/IGBcXFxcWyR7cmFuZ2V9JHtjbGVhblJhbmdlQmFja1NsYXNoKGVuZEVzY2FwZSl9JHtjbG9zZX1gIDogY2xvc2UgPT09IFwiXVwiID8gZW5kRXNjYXBlLmxlbmd0aCAlIDIgPT09IDAgPyBgWyR7c2FuaXRpemVSYW5nZShyYW5nZSl9JHtlbmRFc2NhcGV9XWAgOiBcIltdXCIgOiBcIltdXCJcbiAgICAgIF0sXG4gICAgICAvLyBlbmRpbmdcbiAgICAgIFtcbiAgICAgICAgLy8gJ2pzJyB3aWxsIG5vdCBtYXRjaCAnanMuJ1xuICAgICAgICAvLyAnYWInIHdpbGwgbm90IG1hdGNoICdhYmMnXG4gICAgICAgIC8oPzpbXipdKSQvLFxuICAgICAgICAvLyBXVEYhXG4gICAgICAgIC8vIGh0dHBzOi8vZ2l0LXNjbS5jb20vZG9jcy9naXRpZ25vcmVcbiAgICAgICAgLy8gY2hhbmdlcyBpbiBbMi4yMi4xXShodHRwczovL2dpdC1zY20uY29tL2RvY3MvZ2l0aWdub3JlLzIuMjIuMSlcbiAgICAgICAgLy8gd2hpY2ggcmUtZml4ZXMgIzI0LCAjMzhcbiAgICAgICAgLy8gPiBJZiB0aGVyZSBpcyBhIHNlcGFyYXRvciBhdCB0aGUgZW5kIG9mIHRoZSBwYXR0ZXJuIHRoZW4gdGhlIHBhdHRlcm5cbiAgICAgICAgLy8gPiB3aWxsIG9ubHkgbWF0Y2ggZGlyZWN0b3JpZXMsIG90aGVyd2lzZSB0aGUgcGF0dGVybiBjYW4gbWF0Y2ggYm90aFxuICAgICAgICAvLyA+IGZpbGVzIGFuZCBkaXJlY3Rvcmllcy5cbiAgICAgICAgLy8gJ2pzKicgd2lsbCBub3QgbWF0Y2ggJ2EuanMnXG4gICAgICAgIC8vICdqcy8nIHdpbGwgbm90IG1hdGNoICdhLmpzJ1xuICAgICAgICAvLyAnanMnIHdpbGwgbWF0Y2ggJ2EuanMnIGFuZCAnYS5qcy8nXG4gICAgICAgIChtYXRjaCkgPT4gL1xcLyQvLnRlc3QobWF0Y2gpID8gYCR7bWF0Y2h9JGAgOiBgJHttYXRjaH0oPz0kfFxcXFwvJClgXG4gICAgICBdLFxuICAgICAgLy8gdHJhaWxpbmcgd2lsZGNhcmRcbiAgICAgIFtcbiAgICAgICAgLyhcXF58XFxcXFxcLyk/XFxcXFxcKiQvLFxuICAgICAgICAoXywgcDEpID0+IHtcbiAgICAgICAgICBjb25zdCBwcmVmaXggPSBwMSA/IGAke3AxfVteL10rYCA6IFwiW14vXSpcIjtcbiAgICAgICAgICByZXR1cm4gYCR7cHJlZml4fSg/PSR8XFxcXC8kKWA7XG4gICAgICAgIH1cbiAgICAgIF1cbiAgICBdO1xuICAgIHZhciByZWdleENhY2hlID0gLyogQF9fUFVSRV9fICovIE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgdmFyIG1ha2VSZWdleCA9IChwYXR0ZXJuLCBpZ25vcmVDYXNlKSA9PiB7XG4gICAgICBsZXQgc291cmNlMiA9IHJlZ2V4Q2FjaGVbcGF0dGVybl07XG4gICAgICBpZiAoIXNvdXJjZTIpIHtcbiAgICAgICAgc291cmNlMiA9IFJFUExBQ0VSUy5yZWR1Y2UoXG4gICAgICAgICAgKHByZXYsIFttYXRjaGVyLCByZXBsYWNlcl0pID0+IHByZXYucmVwbGFjZShtYXRjaGVyLCByZXBsYWNlci5iaW5kKHBhdHRlcm4pKSxcbiAgICAgICAgICBwYXR0ZXJuXG4gICAgICAgICk7XG4gICAgICAgIHJlZ2V4Q2FjaGVbcGF0dGVybl0gPSBzb3VyY2UyO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGlnbm9yZUNhc2UgPyBuZXcgUmVnRXhwKHNvdXJjZTIsIFwiaVwiKSA6IG5ldyBSZWdFeHAoc291cmNlMik7XG4gICAgfTtcbiAgICB2YXIgaXNTdHJpbmcgPSAoc3ViamVjdCkgPT4gdHlwZW9mIHN1YmplY3QgPT09IFwic3RyaW5nXCI7XG4gICAgdmFyIGNoZWNrUGF0dGVybiA9IChwYXR0ZXJuKSA9PiBwYXR0ZXJuICYmIGlzU3RyaW5nKHBhdHRlcm4pICYmICFSRUdFWF9URVNUX0JMQU5LX0xJTkUudGVzdChwYXR0ZXJuKSAmJiAhUkVHRVhfSU5WQUxJRF9UUkFJTElOR19CQUNLU0xBU0gudGVzdChwYXR0ZXJuKSAmJiBwYXR0ZXJuLmluZGV4T2YoXCIjXCIpICE9PSAwO1xuICAgIHZhciBzcGxpdFBhdHRlcm4gPSAocGF0dGVybikgPT4gcGF0dGVybi5zcGxpdChSRUdFWF9TUExJVEFMTF9DUkxGKTtcbiAgICB2YXIgSWdub3JlUnVsZSA9IGNsYXNzIHtcbiAgICAgIGNvbnN0cnVjdG9yKG9yaWdpbiwgcGF0dGVybiwgbmVnYXRpdmUsIHJlZ2V4KSB7XG4gICAgICAgIHRoaXMub3JpZ2luID0gb3JpZ2luO1xuICAgICAgICB0aGlzLnBhdHRlcm4gPSBwYXR0ZXJuO1xuICAgICAgICB0aGlzLm5lZ2F0aXZlID0gbmVnYXRpdmU7XG4gICAgICAgIHRoaXMucmVnZXggPSByZWdleDtcbiAgICAgIH1cbiAgICB9O1xuICAgIHZhciBjcmVhdGVSdWxlID0gKHBhdHRlcm4sIGlnbm9yZUNhc2UpID0+IHtcbiAgICAgIGNvbnN0IG9yaWdpbiA9IHBhdHRlcm47XG4gICAgICBsZXQgbmVnYXRpdmUgPSBmYWxzZTtcbiAgICAgIGlmIChwYXR0ZXJuLmluZGV4T2YoXCIhXCIpID09PSAwKSB7XG4gICAgICAgIG5lZ2F0aXZlID0gdHJ1ZTtcbiAgICAgICAgcGF0dGVybiA9IHBhdHRlcm4uc3Vic3RyKDEpO1xuICAgICAgfVxuICAgICAgcGF0dGVybiA9IHBhdHRlcm4ucmVwbGFjZShSRUdFWF9SRVBMQUNFX0xFQURJTkdfRVhDQVBFRF9FWENMQU1BVElPTiwgXCIhXCIpLnJlcGxhY2UoUkVHRVhfUkVQTEFDRV9MRUFESU5HX0VYQ0FQRURfSEFTSCwgXCIjXCIpO1xuICAgICAgY29uc3QgcmVnZXggPSBtYWtlUmVnZXgocGF0dGVybiwgaWdub3JlQ2FzZSk7XG4gICAgICByZXR1cm4gbmV3IElnbm9yZVJ1bGUoXG4gICAgICAgIG9yaWdpbixcbiAgICAgICAgcGF0dGVybixcbiAgICAgICAgbmVnYXRpdmUsXG4gICAgICAgIHJlZ2V4XG4gICAgICApO1xuICAgIH07XG4gICAgdmFyIHRocm93RXJyb3IyID0gKG1lc3NhZ2UsIEN0b3IpID0+IHtcbiAgICAgIHRocm93IG5ldyBDdG9yKG1lc3NhZ2UpO1xuICAgIH07XG4gICAgdmFyIGNoZWNrUGF0aCA9IChwYXRoMTMsIG9yaWdpbmFsUGF0aCwgZG9UaHJvdykgPT4ge1xuICAgICAgaWYgKCFpc1N0cmluZyhwYXRoMTMpKSB7XG4gICAgICAgIHJldHVybiBkb1Rocm93KFxuICAgICAgICAgIGBwYXRoIG11c3QgYmUgYSBzdHJpbmcsIGJ1dCBnb3QgXFxgJHtvcmlnaW5hbFBhdGh9XFxgYCxcbiAgICAgICAgICBUeXBlRXJyb3JcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGlmICghcGF0aDEzKSB7XG4gICAgICAgIHJldHVybiBkb1Rocm93KGBwYXRoIG11c3Qgbm90IGJlIGVtcHR5YCwgVHlwZUVycm9yKTtcbiAgICAgIH1cbiAgICAgIGlmIChjaGVja1BhdGguaXNOb3RSZWxhdGl2ZShwYXRoMTMpKSB7XG4gICAgICAgIGNvbnN0IHIgPSBcImBwYXRoLnJlbGF0aXZlKClgZFwiO1xuICAgICAgICByZXR1cm4gZG9UaHJvdyhcbiAgICAgICAgICBgcGF0aCBzaG91bGQgYmUgYSAke3J9IHN0cmluZywgYnV0IGdvdCBcIiR7b3JpZ2luYWxQYXRofVwiYCxcbiAgICAgICAgICBSYW5nZUVycm9yXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9O1xuICAgIHZhciBpc05vdFJlbGF0aXZlID0gKHBhdGgxMykgPT4gUkVHRVhfVEVTVF9JTlZBTElEX1BBVEgudGVzdChwYXRoMTMpO1xuICAgIGNoZWNrUGF0aC5pc05vdFJlbGF0aXZlID0gaXNOb3RSZWxhdGl2ZTtcbiAgICBjaGVja1BhdGguY29udmVydCA9IChwKSA9PiBwO1xuICAgIHZhciBJZ25vcmUgPSBjbGFzcyB7XG4gICAgICBjb25zdHJ1Y3Rvcih7XG4gICAgICAgIGlnbm9yZWNhc2UgPSB0cnVlLFxuICAgICAgICBpZ25vcmVDYXNlID0gaWdub3JlY2FzZSxcbiAgICAgICAgYWxsb3dSZWxhdGl2ZVBhdGhzID0gZmFsc2VcbiAgICAgIH0gPSB7fSkge1xuICAgICAgICBkZWZpbmUodGhpcywgS0VZX0lHTk9SRSwgdHJ1ZSk7XG4gICAgICAgIHRoaXMuX3J1bGVzID0gW107XG4gICAgICAgIHRoaXMuX2lnbm9yZUNhc2UgPSBpZ25vcmVDYXNlO1xuICAgICAgICB0aGlzLl9hbGxvd1JlbGF0aXZlUGF0aHMgPSBhbGxvd1JlbGF0aXZlUGF0aHM7XG4gICAgICAgIHRoaXMuX2luaXRDYWNoZSgpO1xuICAgICAgfVxuICAgICAgX2luaXRDYWNoZSgpIHtcbiAgICAgICAgdGhpcy5faWdub3JlQ2FjaGUgPSAvKiBAX19QVVJFX18gKi8gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgICAgICAgdGhpcy5fdGVzdENhY2hlID0gLyogQF9fUFVSRV9fICovIE9iamVjdC5jcmVhdGUobnVsbCk7XG4gICAgICB9XG4gICAgICBfYWRkUGF0dGVybihwYXR0ZXJuKSB7XG4gICAgICAgIGlmIChwYXR0ZXJuICYmIHBhdHRlcm5bS0VZX0lHTk9SRV0pIHtcbiAgICAgICAgICB0aGlzLl9ydWxlcyA9IHRoaXMuX3J1bGVzLmNvbmNhdChwYXR0ZXJuLl9ydWxlcyk7XG4gICAgICAgICAgdGhpcy5fYWRkZWQgPSB0cnVlO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2hlY2tQYXR0ZXJuKHBhdHRlcm4pKSB7XG4gICAgICAgICAgY29uc3QgcnVsZSA9IGNyZWF0ZVJ1bGUocGF0dGVybiwgdGhpcy5faWdub3JlQ2FzZSk7XG4gICAgICAgICAgdGhpcy5fYWRkZWQgPSB0cnVlO1xuICAgICAgICAgIHRoaXMuX3J1bGVzLnB1c2gocnVsZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC8vIEBwYXJhbSB7QXJyYXk8c3RyaW5nPiB8IHN0cmluZyB8IElnbm9yZX0gcGF0dGVyblxuICAgICAgYWRkKHBhdHRlcm4pIHtcbiAgICAgICAgdGhpcy5fYWRkZWQgPSBmYWxzZTtcbiAgICAgICAgbWFrZUFycmF5KFxuICAgICAgICAgIGlzU3RyaW5nKHBhdHRlcm4pID8gc3BsaXRQYXR0ZXJuKHBhdHRlcm4pIDogcGF0dGVyblxuICAgICAgICApLmZvckVhY2godGhpcy5fYWRkUGF0dGVybiwgdGhpcyk7XG4gICAgICAgIGlmICh0aGlzLl9hZGRlZCkge1xuICAgICAgICAgIHRoaXMuX2luaXRDYWNoZSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzO1xuICAgICAgfVxuICAgICAgLy8gbGVnYWN5XG4gICAgICBhZGRQYXR0ZXJuKHBhdHRlcm4pIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYWRkKHBhdHRlcm4pO1xuICAgICAgfVxuICAgICAgLy8gICAgICAgICAgfCAgICAgICAgICAgaWdub3JlZCA6IHVuaWdub3JlZFxuICAgICAgLy8gbmVnYXRpdmUgfCAgIDA6MCAgIHwgICAwOjEgICB8ICAgMTowICAgfCAgIDE6MVxuICAgICAgLy8gLS0tLS0tLS0gfCAtLS0tLS0tIHwgLS0tLS0tLSB8IC0tLS0tLS0gfCAtLS0tLS0tLVxuICAgICAgLy8gICAgIDAgICAgfCAgVEVTVCAgIHwgIFRFU1QgICB8ICBTS0lQICAgfCAgICBYXG4gICAgICAvLyAgICAgMSAgICB8ICBURVNUSUYgfCAgU0tJUCAgIHwgIFRFU1QgICB8ICAgIFhcbiAgICAgIC8vIC0gU0tJUDogYWx3YXlzIHNraXBcbiAgICAgIC8vIC0gVEVTVDogYWx3YXlzIHRlc3RcbiAgICAgIC8vIC0gVEVTVElGOiBvbmx5IHRlc3QgaWYgY2hlY2tVbmlnbm9yZWRcbiAgICAgIC8vIC0gWDogdGhhdCBuZXZlciBoYXBwZW5cbiAgICAgIC8vIEBwYXJhbSB7Ym9vbGVhbn0gd2hldGhlciBzaG91bGQgY2hlY2sgaWYgdGhlIHBhdGggaXMgdW5pZ25vcmVkLFxuICAgICAgLy8gICBzZXR0aW5nIGBjaGVja1VuaWdub3JlZGAgdG8gYGZhbHNlYCBjb3VsZCByZWR1Y2UgYWRkaXRpb25hbFxuICAgICAgLy8gICBwYXRoIG1hdGNoaW5nLlxuICAgICAgLy8gQHJldHVybnMge1Rlc3RSZXN1bHR9IHRydWUgaWYgYSBmaWxlIGlzIGlnbm9yZWRcbiAgICAgIF90ZXN0T25lKHBhdGgxMywgY2hlY2tVbmlnbm9yZWQpIHtcbiAgICAgICAgbGV0IGlnbm9yZWQgPSBmYWxzZTtcbiAgICAgICAgbGV0IHVuaWdub3JlZCA9IGZhbHNlO1xuICAgICAgICB0aGlzLl9ydWxlcy5mb3JFYWNoKChydWxlKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBuZWdhdGl2ZSB9ID0gcnVsZTtcbiAgICAgICAgICBpZiAodW5pZ25vcmVkID09PSBuZWdhdGl2ZSAmJiBpZ25vcmVkICE9PSB1bmlnbm9yZWQgfHwgbmVnYXRpdmUgJiYgIWlnbm9yZWQgJiYgIXVuaWdub3JlZCAmJiAhY2hlY2tVbmlnbm9yZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICB9XG4gICAgICAgICAgY29uc3QgbWF0Y2hlZCA9IHJ1bGUucmVnZXgudGVzdChwYXRoMTMpO1xuICAgICAgICAgIGlmIChtYXRjaGVkKSB7XG4gICAgICAgICAgICBpZ25vcmVkID0gIW5lZ2F0aXZlO1xuICAgICAgICAgICAgdW5pZ25vcmVkID0gbmVnYXRpdmU7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpZ25vcmVkLFxuICAgICAgICAgIHVuaWdub3JlZFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgLy8gQHJldHVybnMge1Rlc3RSZXN1bHR9XG4gICAgICBfdGVzdChvcmlnaW5hbFBhdGgsIGNhY2hlMywgY2hlY2tVbmlnbm9yZWQsIHNsaWNlcykge1xuICAgICAgICBjb25zdCBwYXRoMTMgPSBvcmlnaW5hbFBhdGggJiYgY2hlY2tQYXRoLmNvbnZlcnQob3JpZ2luYWxQYXRoKTtcbiAgICAgICAgY2hlY2tQYXRoKFxuICAgICAgICAgIHBhdGgxMyxcbiAgICAgICAgICBvcmlnaW5hbFBhdGgsXG4gICAgICAgICAgdGhpcy5fYWxsb3dSZWxhdGl2ZVBhdGhzID8gUkVUVVJOX0ZBTFNFIDogdGhyb3dFcnJvcjJcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3QocGF0aDEzLCBjYWNoZTMsIGNoZWNrVW5pZ25vcmVkLCBzbGljZXMpO1xuICAgICAgfVxuICAgICAgX3QocGF0aDEzLCBjYWNoZTMsIGNoZWNrVW5pZ25vcmVkLCBzbGljZXMpIHtcbiAgICAgICAgaWYgKHBhdGgxMyBpbiBjYWNoZTMpIHtcbiAgICAgICAgICByZXR1cm4gY2FjaGUzW3BhdGgxM107XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFzbGljZXMpIHtcbiAgICAgICAgICBzbGljZXMgPSBwYXRoMTMuc3BsaXQoU0xBU0gpO1xuICAgICAgICB9XG4gICAgICAgIHNsaWNlcy5wb3AoKTtcbiAgICAgICAgaWYgKCFzbGljZXMubGVuZ3RoKSB7XG4gICAgICAgICAgcmV0dXJuIGNhY2hlM1twYXRoMTNdID0gdGhpcy5fdGVzdE9uZShwYXRoMTMsIGNoZWNrVW5pZ25vcmVkKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwYXJlbnQgPSB0aGlzLl90KFxuICAgICAgICAgIHNsaWNlcy5qb2luKFNMQVNIKSArIFNMQVNILFxuICAgICAgICAgIGNhY2hlMyxcbiAgICAgICAgICBjaGVja1VuaWdub3JlZCxcbiAgICAgICAgICBzbGljZXNcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGNhY2hlM1twYXRoMTNdID0gcGFyZW50Lmlnbm9yZWQgPyBwYXJlbnQgOiB0aGlzLl90ZXN0T25lKHBhdGgxMywgY2hlY2tVbmlnbm9yZWQpO1xuICAgICAgfVxuICAgICAgaWdub3JlcyhwYXRoMTMpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3Rlc3QocGF0aDEzLCB0aGlzLl9pZ25vcmVDYWNoZSwgZmFsc2UpLmlnbm9yZWQ7XG4gICAgICB9XG4gICAgICBjcmVhdGVGaWx0ZXIoKSB7XG4gICAgICAgIHJldHVybiAocGF0aDEzKSA9PiAhdGhpcy5pZ25vcmVzKHBhdGgxMyk7XG4gICAgICB9XG4gICAgICBmaWx0ZXIocGF0aHMpIHtcbiAgICAgICAgcmV0dXJuIG1ha2VBcnJheShwYXRocykuZmlsdGVyKHRoaXMuY3JlYXRlRmlsdGVyKCkpO1xuICAgICAgfVxuICAgICAgLy8gQHJldHVybnMge1Rlc3RSZXN1bHR9XG4gICAgICB0ZXN0KHBhdGgxMykge1xuICAgICAgICByZXR1cm4gdGhpcy5fdGVzdChwYXRoMTMsIHRoaXMuX3Rlc3RDYWNoZSwgdHJ1ZSk7XG4gICAgICB9XG4gICAgfTtcbiAgICB2YXIgZmFjdG9yeSA9IChvcHRpb25zOCkgPT4gbmV3IElnbm9yZShvcHRpb25zOCk7XG4gICAgdmFyIGlzUGF0aFZhbGlkID0gKHBhdGgxMykgPT4gY2hlY2tQYXRoKHBhdGgxMyAmJiBjaGVja1BhdGguY29udmVydChwYXRoMTMpLCBwYXRoMTMsIFJFVFVSTl9GQUxTRSk7XG4gICAgZmFjdG9yeS5pc1BhdGhWYWxpZCA9IGlzUGF0aFZhbGlkO1xuICAgIGZhY3RvcnkuZGVmYXVsdCA9IGZhY3Rvcnk7XG4gICAgbW9kdWxlLmV4cG9ydHMgPSBmYWN0b3J5O1xuICAgIGlmIChcbiAgICAgIC8vIERldGVjdCBgcHJvY2Vzc2Agc28gdGhhdCBpdCBjYW4gcnVuIGluIGJyb3dzZXJzLlxuICAgICAgdHlwZW9mIHByb2Nlc3MgIT09IFwidW5kZWZpbmVkXCIgJiYgKHByb2Nlc3MuZW52ICYmIHByb2Nlc3MuZW52LklHTk9SRV9URVNUX1dJTjMyIHx8IHByb2Nlc3MucGxhdGZvcm0gPT09IFwid2luMzJcIilcbiAgICApIHtcbiAgICAgIGNvbnN0IG1ha2VQb3NpeCA9IChzdHIyKSA9PiAvXlxcXFxcXFxcXFw/XFxcXC8udGVzdChzdHIyKSB8fCAvW1wiPD58XFx1MDAwMC1cXHUwMDFGXSsvdS50ZXN0KHN0cjIpID8gc3RyMiA6IHN0cjIucmVwbGFjZSgvXFxcXC9nLCBcIi9cIik7XG4gICAgICBjaGVja1BhdGguY29udmVydCA9IG1ha2VQb3NpeDtcbiAgICAgIGNvbnN0IFJFR0lYX0lTX1dJTkRPV1NfUEFUSF9BQlNPTFVURSA9IC9eW2Etel06XFwvL2k7XG4gICAgICBjaGVja1BhdGguaXNOb3RSZWxhdGl2ZSA9IChwYXRoMTMpID0+IFJFR0lYX0lTX1dJTkRPV1NfUEFUSF9BQlNPTFVURS50ZXN0KHBhdGgxMykgfHwgaXNOb3RSZWxhdGl2ZShwYXRoMTMpO1xuICAgIH1cbiAgfVxufSk7XG5cbi8vIG5vZGVfbW9kdWxlcy9uLXJlYWRsaW5lcy9yZWFkbGluZXMuanNcbnZhciByZXF1aXJlX3JlYWRsaW5lcyA9IF9fY29tbW9uSlMoe1xuICBcIm5vZGVfbW9kdWxlcy9uLXJlYWRsaW5lcy9yZWFkbGluZXMuanNcIihleHBvcnRzLCBtb2R1bGUpIHtcbiAgICBcInVzZSBzdHJpY3RcIjtcbiAgICB2YXIgZnM3ID0gX19yZXF1aXJlKFwiZnNcIik7XG4gICAgdmFyIExpbmVCeUxpbmUgPSBjbGFzcyB7XG4gICAgICBjb25zdHJ1Y3RvcihmaWxlLCBvcHRpb25zOCkge1xuICAgICAgICBvcHRpb25zOCA9IG9wdGlvbnM4IHx8IHt9O1xuICAgICAgICBpZiAoIW9wdGlvbnM4LnJlYWRDaHVuaykgb3B0aW9uczgucmVhZENodW5rID0gMTAyNDtcbiAgICAgICAgaWYgKCFvcHRpb25zOC5uZXdMaW5lQ2hhcmFjdGVyKSB7XG4gICAgICAgICAgb3B0aW9uczgubmV3TGluZUNoYXJhY3RlciA9IDEwO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9wdGlvbnM4Lm5ld0xpbmVDaGFyYWN0ZXIgPSBvcHRpb25zOC5uZXdMaW5lQ2hhcmFjdGVyLmNoYXJDb2RlQXQoMCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHR5cGVvZiBmaWxlID09PSBcIm51bWJlclwiKSB7XG4gICAgICAgICAgdGhpcy5mZCA9IGZpbGU7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5mZCA9IGZzNy5vcGVuU3luYyhmaWxlLCBcInJcIik7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcHRpb25zID0gb3B0aW9uczg7XG4gICAgICAgIHRoaXMubmV3TGluZUNoYXJhY3RlciA9IG9wdGlvbnM4Lm5ld0xpbmVDaGFyYWN0ZXI7XG4gICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgIH1cbiAgICAgIF9zZWFyY2hJbkJ1ZmZlcihidWZmZXIyLCBoZXhOZWVkbGUpIHtcbiAgICAgICAgbGV0IGZvdW5kID0gLTE7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDw9IGJ1ZmZlcjIubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICBsZXQgYl9ieXRlID0gYnVmZmVyMltpXTtcbiAgICAgICAgICBpZiAoYl9ieXRlID09PSBoZXhOZWVkbGUpIHtcbiAgICAgICAgICAgIGZvdW5kID0gaTtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZm91bmQ7XG4gICAgICB9XG4gICAgICByZXNldCgpIHtcbiAgICAgICAgdGhpcy5lb2ZSZWFjaGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMubGluZXNDYWNoZSA9IFtdO1xuICAgICAgICB0aGlzLmZkUG9zaXRpb24gPSAwO1xuICAgICAgfVxuICAgICAgY2xvc2UoKSB7XG4gICAgICAgIGZzNy5jbG9zZVN5bmModGhpcy5mZCk7XG4gICAgICAgIHRoaXMuZmQgPSBudWxsO1xuICAgICAgfVxuICAgICAgX2V4dHJhY3RMaW5lcyhidWZmZXIyKSB7XG4gICAgICAgIGxldCBsaW5lMztcbiAgICAgICAgY29uc3QgbGluZXMgPSBbXTtcbiAgICAgICAgbGV0IGJ1ZmZlclBvc2l0aW9uID0gMDtcbiAgICAgICAgbGV0IGxhc3ROZXdMaW5lQnVmZmVyUG9zaXRpb24gPSAwO1xuICAgICAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgICAgIGxldCBidWZmZXJQb3NpdGlvblZhbHVlID0gYnVmZmVyMltidWZmZXJQb3NpdGlvbisrXTtcbiAgICAgICAgICBpZiAoYnVmZmVyUG9zaXRpb25WYWx1ZSA9PT0gdGhpcy5uZXdMaW5lQ2hhcmFjdGVyKSB7XG4gICAgICAgICAgICBsaW5lMyA9IGJ1ZmZlcjIuc2xpY2UobGFzdE5ld0xpbmVCdWZmZXJQb3NpdGlvbiwgYnVmZmVyUG9zaXRpb24pO1xuICAgICAgICAgICAgbGluZXMucHVzaChsaW5lMyk7XG4gICAgICAgICAgICBsYXN0TmV3TGluZUJ1ZmZlclBvc2l0aW9uID0gYnVmZmVyUG9zaXRpb247XG4gICAgICAgICAgfSBlbHNlIGlmIChidWZmZXJQb3NpdGlvblZhbHVlID09PSB2b2lkIDApIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBsZXQgbGVmdG92ZXJzID0gYnVmZmVyMi5zbGljZShsYXN0TmV3TGluZUJ1ZmZlclBvc2l0aW9uLCBidWZmZXJQb3NpdGlvbik7XG4gICAgICAgIGlmIChsZWZ0b3ZlcnMubGVuZ3RoKSB7XG4gICAgICAgICAgbGluZXMucHVzaChsZWZ0b3ZlcnMpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBsaW5lcztcbiAgICAgIH1cbiAgICAgIF9yZWFkQ2h1bmsobGluZUxlZnRvdmVycykge1xuICAgICAgICBsZXQgdG90YWxCeXRlc1JlYWQgPSAwO1xuICAgICAgICBsZXQgYnl0ZXNSZWFkO1xuICAgICAgICBjb25zdCBidWZmZXJzID0gW107XG4gICAgICAgIGRvIHtcbiAgICAgICAgICBjb25zdCByZWFkQnVmZmVyID0gQnVmZmVyLmFsbG9jKHRoaXMub3B0aW9ucy5yZWFkQ2h1bmspO1xuICAgICAgICAgIGJ5dGVzUmVhZCA9IGZzNy5yZWFkU3luYyh0aGlzLmZkLCByZWFkQnVmZmVyLCAwLCB0aGlzLm9wdGlvbnMucmVhZENodW5rLCB0aGlzLmZkUG9zaXRpb24pO1xuICAgICAgICAgIHRvdGFsQnl0ZXNSZWFkID0gdG90YWxCeXRlc1JlYWQgKyBieXRlc1JlYWQ7XG4gICAgICAgICAgdGhpcy5mZFBvc2l0aW9uID0gdGhpcy5mZFBvc2l0aW9uICsgYnl0ZXNSZWFkO1xuICAgICAgICAgIGJ1ZmZlcnMucHVzaChyZWFkQnVmZmVyKTtcbiAgICAgICAgfSB3aGlsZSAoYnl0ZXNSZWFkICYmIHRoaXMuX3NlYXJjaEluQnVmZmVyKGJ1ZmZlcnNbYnVmZmVycy5sZW5ndGggLSAxXSwgdGhpcy5vcHRpb25zLm5ld0xpbmVDaGFyYWN0ZXIpID09PSAtMSk7XG4gICAgICAgIGxldCBidWZmZXJEYXRhID0gQnVmZmVyLmNvbmNhdChidWZmZXJzKTtcbiAgICAgICAgaWYgKGJ5dGVzUmVhZCA8IHRoaXMub3B0aW9ucy5yZWFkQ2h1bmspIHtcbiAgICAgICAgICB0aGlzLmVvZlJlYWNoZWQgPSB0cnVlO1xuICAgICAgICAgIGJ1ZmZlckRhdGEgPSBidWZmZXJEYXRhLnNsaWNlKDAsIHRvdGFsQnl0ZXNSZWFkKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodG90YWxCeXRlc1JlYWQpIHtcbiAgICAgICAgICB0aGlzLmxpbmVzQ2FjaGUgPSB0aGlzLl9leHRyYWN0TGluZXMoYnVmZmVyRGF0YSk7XG4gICAgICAgICAgaWYgKGxpbmVMZWZ0b3ZlcnMpIHtcbiAgICAgICAgICAgIHRoaXMubGluZXNDYWNoZVswXSA9IEJ1ZmZlci5jb25jYXQoW2xpbmVMZWZ0b3ZlcnMsIHRoaXMubGluZXNDYWNoZVswXV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdG90YWxCeXRlc1JlYWQ7XG4gICAgICB9XG4gICAgICBuZXh0KCkge1xuICAgICAgICBpZiAoIXRoaXMuZmQpIHJldHVybiBmYWxzZTtcbiAgICAgICAgbGV0IGxpbmUzID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmVvZlJlYWNoZWQgJiYgdGhpcy5saW5lc0NhY2hlLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIHJldHVybiBsaW5lMztcbiAgICAgICAgfVxuICAgICAgICBsZXQgYnl0ZXNSZWFkO1xuICAgICAgICBpZiAoIXRoaXMubGluZXNDYWNoZS5sZW5ndGgpIHtcbiAgICAgICAgICBieXRlc1JlYWQgPSB0aGlzLl9yZWFkQ2h1bmsoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5saW5lc0NhY2hlLmxlbmd0aCkge1xuICAgICAgICAgIGxpbmUzID0gdGhpcy5saW5lc0NhY2hlLnNoaWZ0KCk7XG4gICAgICAgICAgY29uc3QgbGFzdExpbmVDaGFyYWN0ZXIgPSBsaW5lM1tsaW5lMy5sZW5ndGggLSAxXTtcbiAgICAgICAgICBpZiAobGFzdExpbmVDaGFyYWN0ZXIgIT09IHRoaXMubmV3TGluZUNoYXJhY3Rlcikge1xuICAgICAgICAgICAgYnl0ZXNSZWFkID0gdGhpcy5fcmVhZENodW5rKGxpbmUzKTtcbiAgICAgICAgICAgIGlmIChieXRlc1JlYWQpIHtcbiAgICAgICAgICAgICAgbGluZTMgPSB0aGlzLmxpbmVzQ2FjaGUuc2hpZnQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuZW9mUmVhY2hlZCAmJiB0aGlzLmxpbmVzQ2FjaGUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChsaW5lMyAmJiBsaW5lM1tsaW5lMy5sZW5ndGggLSAxXSA9PT0gdGhpcy5uZXdMaW5lQ2hhcmFjdGVyKSB7XG4gICAgICAgICAgbGluZTMgPSBsaW5lMy5zbGljZSgwLCBsaW5lMy5sZW5ndGggLSAxKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbGluZTM7XG4gICAgICB9XG4gICAgfTtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IExpbmVCeUxpbmU7XG4gIH1cbn0pO1xuXG4vLyBzcmMvaW5kZXguanNcbnZhciBzcmNfZXhwb3J0cyA9IHt9O1xuX19leHBvcnQoc3JjX2V4cG9ydHMsIHtcbiAgX19kZWJ1ZzogKCkgPT4gZGVidWdBcGlzLFxuICBfX2ludGVybmFsOiAoKSA9PiBzaGFyZWRXaXRoQ2xpLFxuICBjaGVjazogKCkgPT4gY2hlY2ssXG4gIGNsZWFyQ29uZmlnQ2FjaGU6ICgpID0+IGNsZWFyQ2FjaGUzLFxuICBkb2M6ICgpID0+IGRvYyxcbiAgZm9ybWF0OiAoKSA9PiBmb3JtYXQyLFxuICBmb3JtYXRXaXRoQ3Vyc29yOiAoKSA9PiBmb3JtYXRXaXRoQ3Vyc29yMixcbiAgZ2V0RmlsZUluZm86ICgpID0+IGdldEZpbGVJbmZvMixcbiAgZ2V0U3VwcG9ydEluZm86ICgpID0+IGdldFN1cHBvcnRJbmZvMixcbiAgcmVzb2x2ZUNvbmZpZzogKCkgPT4gcmVzb2x2ZUNvbmZpZyxcbiAgcmVzb2x2ZUNvbmZpZ0ZpbGU6ICgpID0+IHJlc29sdmVDb25maWdGaWxlLFxuICB1dGlsOiAoKSA9PiBwdWJsaWNfZXhwb3J0cyxcbiAgdmVyc2lvbjogKCkgPT4gdmVyc2lvbl9ldmFsdWF0ZV9kZWZhdWx0XG59KTtcblxuLy8gbm9kZV9tb2R1bGVzL2RpZmYvbGliL2luZGV4Lm1qc1xuZnVuY3Rpb24gRGlmZigpIHtcbn1cbkRpZmYucHJvdG90eXBlID0ge1xuICBkaWZmOiBmdW5jdGlvbiBkaWZmKG9sZFN0cmluZywgbmV3U3RyaW5nKSB7XG4gICAgdmFyIF9vcHRpb25zJHRpbWVvdXQ7XG4gICAgdmFyIG9wdGlvbnM4ID0gYXJndW1lbnRzLmxlbmd0aCA+IDIgJiYgYXJndW1lbnRzWzJdICE9PSB2b2lkIDAgPyBhcmd1bWVudHNbMl0gOiB7fTtcbiAgICB2YXIgY2FsbGJhY2sgPSBvcHRpb25zOC5jYWxsYmFjaztcbiAgICBpZiAodHlwZW9mIG9wdGlvbnM4ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIGNhbGxiYWNrID0gb3B0aW9uczg7XG4gICAgICBvcHRpb25zOCA9IHt9O1xuICAgIH1cbiAgICB2YXIgc2VsZiA9IHRoaXM7XG4gICAgZnVuY3Rpb24gZG9uZSh2YWx1ZSkge1xuICAgICAgdmFsdWUgPSBzZWxmLnBvc3RQcm9jZXNzKHZhbHVlLCBvcHRpb25zOCk7XG4gICAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgICBjYWxsYmFjayh2YWx1ZSk7XG4gICAgICAgIH0sIDApO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiB2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgb2xkU3RyaW5nID0gdGhpcy5jYXN0SW5wdXQob2xkU3RyaW5nLCBvcHRpb25zOCk7XG4gICAgbmV3U3RyaW5nID0gdGhpcy5jYXN0SW5wdXQobmV3U3RyaW5nLCBvcHRpb25zOCk7XG4gICAgb2xkU3RyaW5nID0gdGhpcy5yZW1vdmVFbXB0eSh0aGlzLnRva2VuaXplKG9sZFN0cmluZywgb3B0aW9uczgpKTtcbiAgICBuZXdTdHJpbmcgPSB0aGlzLnJlbW92ZUVtcHR5KHRoaXMudG9rZW5pemUobmV3U3RyaW5nLCBvcHRpb25zOCkpO1xuICAgIHZhciBuZXdMZW4gPSBuZXdTdHJpbmcubGVuZ3RoLCBvbGRMZW4gPSBvbGRTdHJpbmcubGVuZ3RoO1xuICAgIHZhciBlZGl0TGVuZ3RoID0gMTtcbiAgICB2YXIgbWF4RWRpdExlbmd0aCA9IG5ld0xlbiArIG9sZExlbjtcbiAgICBpZiAob3B0aW9uczgubWF4RWRpdExlbmd0aCAhPSBudWxsKSB7XG4gICAgICBtYXhFZGl0TGVuZ3RoID0gTWF0aC5taW4obWF4RWRpdExlbmd0aCwgb3B0aW9uczgubWF4RWRpdExlbmd0aCk7XG4gICAgfVxuICAgIHZhciBtYXhFeGVjdXRpb25UaW1lID0gKF9vcHRpb25zJHRpbWVvdXQgPSBvcHRpb25zOC50aW1lb3V0KSAhPT0gbnVsbCAmJiBfb3B0aW9ucyR0aW1lb3V0ICE9PSB2b2lkIDAgPyBfb3B0aW9ucyR0aW1lb3V0IDogSW5maW5pdHk7XG4gICAgdmFyIGFib3J0QWZ0ZXJUaW1lc3RhbXAgPSBEYXRlLm5vdygpICsgbWF4RXhlY3V0aW9uVGltZTtcbiAgICB2YXIgYmVzdFBhdGggPSBbe1xuICAgICAgb2xkUG9zOiAtMSxcbiAgICAgIGxhc3RDb21wb25lbnQ6IHZvaWQgMFxuICAgIH1dO1xuICAgIHZhciBuZXdQb3MgPSB0aGlzLmV4dHJhY3RDb21tb24oYmVzdFBhdGhbMF0sIG5ld1N0cmluZywgb2xkU3RyaW5nLCAwLCBvcHRpb25zOCk7XG4gICAgaWYgKGJlc3RQYXRoWzBdLm9sZFBvcyArIDEgPj0gb2xkTGVuICYmIG5ld1BvcyArIDEgPj0gbmV3TGVuKSB7XG4gICAgICByZXR1cm4gZG9uZShidWlsZFZhbHVlcyhzZWxmLCBiZXN0UGF0aFswXS5sYXN0Q29tcG9uZW50LCBuZXdTdHJpbmcsIG9sZFN0cmluZywgc2VsZi51c2VMb25nZXN0VG9rZW4pKTtcbiAgICB9XG4gICAgdmFyIG1pbkRpYWdvbmFsVG9Db25zaWRlciA9IC1JbmZpbml0eSwgbWF4RGlhZ29uYWxUb0NvbnNpZGVyID0gSW5maW5pdHk7XG4gICAgZnVuY3Rpb24gZXhlY0VkaXRMZW5ndGgoKSB7XG4gICAgICBmb3IgKHZhciBkaWFnb25hbFBhdGggPSBNYXRoLm1heChtaW5EaWFnb25hbFRvQ29uc2lkZXIsIC1lZGl0TGVuZ3RoKTsgZGlhZ29uYWxQYXRoIDw9IE1hdGgubWluKG1heERpYWdvbmFsVG9Db25zaWRlciwgZWRpdExlbmd0aCk7IGRpYWdvbmFsUGF0aCArPSAyKSB7XG4gICAgICAgIHZhciBiYXNlUGF0aCA9IHZvaWQgMDtcbiAgICAgICAgdmFyIHJlbW92ZVBhdGggPSBiZXN0UGF0aFtkaWFnb25hbFBhdGggLSAxXSwgYWRkUGF0aCA9IGJlc3RQYXRoW2RpYWdvbmFsUGF0aCArIDFdO1xuICAgICAgICBpZiAocmVtb3ZlUGF0aCkge1xuICAgICAgICAgIGJlc3RQYXRoW2RpYWdvbmFsUGF0aCAtIDFdID0gdm9pZCAwO1xuICAgICAgICB9XG4gICAgICAgIHZhciBjYW5BZGQgPSBmYWxzZTtcbiAgICAgICAgaWYgKGFkZFBhdGgpIHtcbiAgICAgICAgICB2YXIgYWRkUGF0aE5ld1BvcyA9IGFkZFBhdGgub2xkUG9zIC0gZGlhZ29uYWxQYXRoO1xuICAgICAgICAgIGNhbkFkZCA9IGFkZFBhdGggJiYgMCA8PSBhZGRQYXRoTmV3UG9zICYmIGFkZFBhdGhOZXdQb3MgPCBuZXdMZW47XG4gICAgICAgIH1cbiAgICAgICAgdmFyIGNhblJlbW92ZSA9IHJlbW92ZVBhdGggJiYgcmVtb3ZlUGF0aC5vbGRQb3MgKyAxIDwgb2xkTGVuO1xuICAgICAgICBpZiAoIWNhbkFkZCAmJiAhY2FuUmVtb3ZlKSB7XG4gICAgICAgICAgYmVzdFBhdGhbZGlhZ29uYWxQYXRoXSA9IHZvaWQgMDtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIWNhblJlbW92ZSB8fCBjYW5BZGQgJiYgcmVtb3ZlUGF0aC5vbGRQb3MgPCBhZGRQYXRoLm9sZFBvcykge1xuICAgICAgICAgIGJhc2VQYXRoID0gc2VsZi5hZGRUb1BhdGgoYWRkUGF0aCwgdHJ1ZSwgZmFsc2UsIDAsIG9wdGlvbnM4KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBiYXNlUGF0aCA9IHNlbGYuYWRkVG9QYXRoKHJlbW92ZVBhdGgsIGZhbHNlLCB0cnVlLCAxLCBvcHRpb25zOCk7XG4gICAgICAgIH1cbiAgICAgICAgbmV3UG9zID0gc2VsZi5leHRyYWN0Q29tbW9uKGJhc2VQYXRoLCBuZXdTdHJpbmcsIG9sZFN0cmluZywgZGlhZ29uYWxQYXRoLCBvcHRpb25zOCk7XG4gICAgICAgIGlmIChiYXNlUGF0aC5vbGRQb3MgKyAxID49IG9sZExlbiAmJiBuZXdQb3MgKyAxID49IG5ld0xlbikge1xuICAgICAgICAgIHJldHVybiBkb25lKGJ1aWxkVmFsdWVzKHNlbGYsIGJhc2VQYXRoLmxhc3RDb21wb25lbnQsIG5ld1N0cmluZywgb2xkU3RyaW5nLCBzZWxmLnVzZUxvbmdlc3RUb2tlbikpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGJlc3RQYXRoW2RpYWdvbmFsUGF0aF0gPSBiYXNlUGF0aDtcbiAgICAgICAgICBpZiAoYmFzZVBhdGgub2xkUG9zICsgMSA+PSBvbGRMZW4pIHtcbiAgICAgICAgICAgIG1heERpYWdvbmFsVG9Db25zaWRlciA9IE1hdGgubWluKG1heERpYWdvbmFsVG9Db25zaWRlciwgZGlhZ29uYWxQYXRoIC0gMSk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChuZXdQb3MgKyAxID49IG5ld0xlbikge1xuICAgICAgICAgICAgbWluRGlhZ29uYWxUb0NvbnNpZGVyID0gTWF0aC5tYXgobWluRGlhZ29uYWxUb0NvbnNpZGVyLCBkaWFnb25hbFBhdGggKyAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGVkaXRMZW5ndGgrKztcbiAgICB9XG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICAoZnVuY3Rpb24gZXhlYygpIHtcbiAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHtcbiAgICAgICAgICBpZiAoZWRpdExlbmd0aCA+IG1heEVkaXRMZW5ndGggfHwgRGF0ZS5ub3coKSA+IGFib3J0QWZ0ZXJUaW1lc3RhbXApIHtcbiAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoIWV4ZWNFZGl0TGVuZ3RoKCkpIHtcbiAgICAgICAgICAgIGV4ZWMoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sIDApO1xuICAgICAgfSkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgd2hpbGUgKGVkaXRMZW5ndGggPD0gbWF4RWRpdExlbmd0aCAmJiBEYXRlLm5vdygpIDw9IGFib3J0QWZ0ZXJUaW1lc3RhbXApIHtcbiAgICAgICAgdmFyIHJldCA9IGV4ZWNFZGl0TGVuZ3RoKCk7XG4gICAgICAgIGlmIChyZXQpIHtcbiAgICAgICAgICByZXR1cm4gcmV0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9LFxuICBhZGRUb1BhdGg6IGZ1bmN0aW9uIGFkZFRvUGF0aChwYXRoMTMsIGFkZGVkLCByZW1vdmVkLCBvbGRQb3NJbmMsIG9wdGlvbnM4KSB7XG4gICAgdmFyIGxhc3QgPSBwYXRoMTMubGFzdENvbXBvbmVudDtcbiAgICBpZiAobGFzdCAmJiAhb3B0aW9uczgub25lQ2hhbmdlUGVyVG9rZW4gJiYgbGFzdC5hZGRlZCA9PT0gYWRkZWQgJiYgbGFzdC5yZW1vdmVkID09PSByZW1vdmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvbGRQb3M6IHBhdGgxMy5vbGRQb3MgKyBvbGRQb3NJbmMsXG4gICAgICAgIGxhc3RDb21wb25lbnQ6IHtcbiAgICAgICAgICBjb3VudDogbGFzdC5jb3VudCArIDEsXG4gICAgICAgICAgYWRkZWQsXG4gICAgICAgICAgcmVtb3ZlZCxcbiAgICAgICAgICBwcmV2aW91c0NvbXBvbmVudDogbGFzdC5wcmV2aW91c0NvbXBvbmVudFxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvbGRQb3M6IHBhdGgxMy5vbGRQb3MgKyBvbGRQb3NJbmMsXG4gICAgICAgIGxhc3RDb21wb25lbnQ6IHtcbiAgICAgICAgICBjb3VudDogMSxcbiAgICAgICAgICBhZGRlZCxcbiAgICAgICAgICByZW1vdmVkLFxuICAgICAgICAgIHByZXZpb3VzQ29tcG9uZW50OiBsYXN0XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuICB9LFxuICBleHRyYWN0Q29tbW9uOiBmdW5jdGlvbiBleHRyYWN0Q29tbW9uKGJhc2VQYXRoLCBuZXdTdHJpbmcsIG9sZFN0cmluZywgZGlhZ29uYWxQYXRoLCBvcHRpb25zOCkge1xuICAgIHZhciBuZXdMZW4gPSBuZXdTdHJpbmcubGVuZ3RoLCBvbGRMZW4gPSBvbGRTdHJpbmcubGVuZ3RoLCBvbGRQb3MgPSBiYXNlUGF0aC5vbGRQb3MsIG5ld1BvcyA9IG9sZFBvcyAtIGRpYWdvbmFsUGF0aCwgY29tbW9uQ291bnQgPSAwO1xuICAgIHdoaWxlIChuZXdQb3MgKyAxIDwgbmV3TGVuICYmIG9sZFBvcyArIDEgPCBvbGRMZW4gJiYgdGhpcy5lcXVhbHMob2xkU3RyaW5nW29sZFBvcyArIDFdLCBuZXdTdHJpbmdbbmV3UG9zICsgMV0sIG9wdGlvbnM4KSkge1xuICAgICAgbmV3UG9zKys7XG4gICAgICBvbGRQb3MrKztcbiAgICAgIGNvbW1vbkNvdW50Kys7XG4gICAgICBpZiAob3B0aW9uczgub25lQ2hhbmdlUGVyVG9rZW4pIHtcbiAgICAgICAgYmFzZVBhdGgubGFzdENvbXBvbmVudCA9IHtcbiAgICAgICAgICBjb3VudDogMSxcbiAgICAgICAgICBwcmV2aW91c0NvbXBvbmVudDogYmFzZVBhdGgubGFzdENvbXBvbmVudCxcbiAgICAgICAgICBhZGRlZDogZmFsc2UsXG4gICAgICAgICAgcmVtb3ZlZDogZmFsc2VcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKGNvbW1vbkNvdW50ICYmICFvcHRpb25zOC5vbmVDaGFuZ2VQZXJUb2tlbikge1xuICAgICAgYmFzZVBhdGgubGFzdENvbXBvbmVudCA9IHtcbiAgICAgICAgY291bnQ6IGNvbW1vbkNvdW50LFxuICAgICAgICBwcmV2aW91c0NvbXBvbmVudDogYmFzZVBhdGgubGFzdENvbXBvbmVudCxcbiAgICAgICAgYWRkZWQ6IGZhbHNlLFxuICAgICAgICByZW1vdmVkOiBmYWxzZVxuICAgICAgfTtcbiAgICB9XG4gICAgYmFzZVBhdGgub2xkUG9zID0gb2xkUG9zO1xuICAgIHJldHVybiBuZXdQb3M7XG4gIH0sXG4gIGVxdWFsczogZnVuY3Rpb24gZXF1YWxzKGxlZnQsIHJpZ2h0LCBvcHRpb25zOCkge1xuICAgIGlmIChvcHRpb25zOC5jb21wYXJhdG9yKSB7XG4gICAgICByZXR1cm4gb3B0aW9uczguY29tcGFyYXRvcihsZWZ0LCByaWdodCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBsZWZ0ID09PSByaWdodCB8fCBvcHRpb25zOC5pZ25vcmVDYXNlICYmIGxlZnQudG9Mb3dlckNhc2UoKSA9PT0gcmlnaHQudG9Mb3dlckNhc2UoKTtcbiAgICB9XG4gIH0sXG4gIHJlbW92ZUVtcHR5OiBmdW5jdGlvbiByZW1vdmVFbXB0eShhcnJheTIpIHtcbiAgICB2YXIgcmV0ID0gW107XG4gICAgZm9yICh2YXIgaSA9IDA7IGkgPCBhcnJheTIubGVuZ3RoOyBpKyspIHtcbiAgICAgIGlmIChhcnJheTJbaV0pIHtcbiAgICAgICAgcmV0LnB1c2goYXJyYXkyW2ldKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJldDtcbiAgfSxcbiAgY2FzdElucHV0OiBmdW5jdGlvbiBjYXN0SW5wdXQodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWU7XG4gIH0sXG4gIHRva2VuaXplOiBmdW5jdGlvbiB0b2tlbml6ZSh2YWx1ZSkge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHZhbHVlKTtcbiAgfSxcbiAgam9pbjogZnVuY3Rpb24gam9pbihjaGFycykge1xuICAgIHJldHVybiBjaGFycy5qb2luKFwiXCIpO1xuICB9LFxuICBwb3N0UHJvY2VzczogZnVuY3Rpb24gcG9zdFByb2Nlc3MoY2hhbmdlT2JqZWN0cykge1xuICAgIHJldHVybiBjaGFuZ2VPYmplY3RzO1xuICB9XG59O1xuZnVuY3Rpb24gYnVpbGRWYWx1ZXMoZGlmZjIsIGxhc3RDb21wb25lbnQsIG5ld1N0cmluZywgb2xkU3RyaW5nLCB1c2VMb25nZXN0VG9rZW4pIHtcbiAgdmFyIGNvbXBvbmVudHMgPSBbXTtcbiAgdmFyIG5leHRDb21wb25lbnQ7XG4gIHdoaWxlIChsYXN0Q29tcG9uZW50KSB7XG4gICAgY29tcG9uZW50cy5wdXNoKGxhc3RDb21wb25lbnQpO1xuICAgIG5leHRDb21wb25lbnQgPSBsYXN0Q29tcG9uZW50LnByZXZpb3VzQ29tcG9uZW50O1xuICAgIGRlbGV0ZSBsYXN0Q29tcG9uZW50LnByZXZpb3VzQ29tcG9uZW50O1xuICAgIGxhc3RDb21wb25lbnQgPSBuZXh0Q29tcG9uZW50O1xuICB9XG4gIGNvbXBvbmVudHMucmV2ZXJzZSgpO1xuICB2YXIgY29tcG9uZW50UG9zID0gMCwgY29tcG9uZW50TGVuID0gY29tcG9uZW50cy5sZW5ndGgsIG5ld1BvcyA9IDAsIG9sZFBvcyA9IDA7XG4gIGZvciAoOyBjb21wb25lbnRQb3MgPCBjb21wb25lbnRMZW47IGNvbXBvbmVudFBvcysrKSB7XG4gICAgdmFyIGNvbXBvbmVudCA9IGNvbXBvbmVudHNbY29tcG9uZW50UG9zXTtcbiAgICBpZiAoIWNvbXBvbmVudC5yZW1vdmVkKSB7XG4gICAgICBpZiAoIWNvbXBvbmVudC5hZGRlZCAmJiB1c2VMb25nZXN0VG9rZW4pIHtcbiAgICAgICAgdmFyIHZhbHVlID0gbmV3U3RyaW5nLnNsaWNlKG5ld1BvcywgbmV3UG9zICsgY29tcG9uZW50LmNvdW50KTtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5tYXAoZnVuY3Rpb24odmFsdWUyLCBpKSB7XG4gICAgICAgICAgdmFyIG9sZFZhbHVlID0gb2xkU3RyaW5nW29sZFBvcyArIGldO1xuICAgICAgICAgIHJldHVybiBvbGRWYWx1ZS5sZW5ndGggPiB2YWx1ZTIubGVuZ3RoID8gb2xkVmFsdWUgOiB2YWx1ZTI7XG4gICAgICAgIH0pO1xuICAgICAgICBjb21wb25lbnQudmFsdWUgPSBkaWZmMi5qb2luKHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbXBvbmVudC52YWx1ZSA9IGRpZmYyLmpvaW4obmV3U3RyaW5nLnNsaWNlKG5ld1BvcywgbmV3UG9zICsgY29tcG9uZW50LmNvdW50KSk7XG4gICAgICB9XG4gICAgICBuZXdQb3MgKz0gY29tcG9uZW50LmNvdW50O1xuICAgICAgaWYgKCFjb21wb25lbnQuYWRkZWQpIHtcbiAgICAgICAgb2xkUG9zICs9IGNvbXBvbmVudC5jb3VudDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29tcG9uZW50LnZhbHVlID0gZGlmZjIuam9pbihvbGRTdHJpbmcuc2xpY2Uob2xkUG9zLCBvbGRQb3MgKyBjb21wb25lbnQuY291bnQpKTtcbiAgICAgIG9sZFBvcyArPSBjb21wb25lbnQuY291bnQ7XG4gICAgfVxuICB9XG4gIHJldHVybiBjb21wb25lbnRzO1xufVxudmFyIGNoYXJhY3RlckRpZmYgPSBuZXcgRGlmZigpO1xuZnVuY3Rpb24gbG9uZ2VzdENvbW1vblByZWZpeChzdHIxLCBzdHIyKSB7XG4gIHZhciBpO1xuICBmb3IgKGkgPSAwOyBpIDwgc3RyMS5sZW5ndGggJiYgaSA8IHN0cjIubGVuZ3RoOyBpKyspIHtcbiAgICBpZiAoc3RyMVtpXSAhPSBzdHIyW2ldKSB7XG4gICAgICByZXR1cm4gc3RyMS5zbGljZSgwLCBpKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHN0cjEuc2xpY2UoMCwgaSk7XG59XG5mdW5jdGlvbiBsb25nZXN0Q29tbW9uU3VmZml4KHN0cjEsIHN0cjIpIHtcbiAgdmFyIGk7XG4gIGlmICghc3RyMSB8fCAhc3RyMiB8fCBzdHIxW3N0cjEubGVuZ3RoIC0gMV0gIT0gc3RyMltzdHIyLmxlbmd0aCAtIDFdKSB7XG4gICAgcmV0dXJuIFwiXCI7XG4gIH1cbiAgZm9yIChpID0gMDsgaSA8IHN0cjEubGVuZ3RoICYmIGkgPCBzdHIyLmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHN0cjFbc3RyMS5sZW5ndGggLSAoaSArIDEpXSAhPSBzdHIyW3N0cjIubGVuZ3RoIC0gKGkgKyAxKV0pIHtcbiAgICAgIHJldHVybiBzdHIxLnNsaWNlKC1pKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHN0cjEuc2xpY2UoLWkpO1xufVxuZnVuY3Rpb24gcmVwbGFjZVByZWZpeChzdHJpbmcsIG9sZFByZWZpeCwgbmV3UHJlZml4KSB7XG4gIGlmIChzdHJpbmcuc2xpY2UoMCwgb2xkUHJlZml4Lmxlbmd0aCkgIT0gb2xkUHJlZml4KSB7XG4gICAgdGhyb3cgRXJyb3IoXCJzdHJpbmcgXCIuY29uY2F0KEpTT04uc3RyaW5naWZ5KHN0cmluZyksIFwiIGRvZXNuJ3Qgc3RhcnQgd2l0aCBwcmVmaXggXCIpLmNvbmNhdChKU09OLnN0cmluZ2lmeShvbGRQcmVmaXgpLCBcIjsgdGhpcyBpcyBhIGJ1Z1wiKSk7XG4gIH1cbiAgcmV0dXJuIG5ld1ByZWZpeCArIHN0cmluZy5zbGljZShvbGRQcmVmaXgubGVuZ3RoKTtcbn1cbmZ1bmN0aW9uIHJlcGxhY2VTdWZmaXgoc3RyaW5nLCBvbGRTdWZmaXgsIG5ld1N1ZmZpeCkge1xuICBpZiAoIW9sZFN1ZmZpeCkge1xuICAgIHJldHVybiBzdHJpbmcgKyBuZXdTdWZmaXg7XG4gIH1cbiAgaWYgKHN0cmluZy5zbGljZSgtb2xkU3VmZml4Lmxlbmd0aCkgIT0gb2xkU3VmZml4KSB7XG4gICAgdGhyb3cgRXJyb3IoXCJzdHJpbmcgXCIuY29uY2F0KEpTT04uc3RyaW5naWZ5KHN0cmluZyksIFwiIGRvZXNuJ3QgZW5kIHdpdGggc3VmZml4IFwiKS5jb25jYXQoSlNPTi5zdHJpbmdpZnkob2xkU3VmZml4KSwgXCI7IHRoaXMgaXMgYSBidWdcIikpO1xuICB9XG4gIHJldHVybiBzdHJpbmcuc2xpY2UoMCwgLW9sZFN1ZmZpeC5sZW5ndGgpICsgbmV3U3VmZml4O1xufVxuZnVuY3Rpb24gcmVtb3ZlUHJlZml4KHN0cmluZywgb2xkUHJlZml4KSB7XG4gIHJldHVybiByZXBsYWNlUHJlZml4KHN0cmluZywgb2xkUHJlZml4LCBcIlwiKTtcbn1cbmZ1bmN0aW9uIHJlbW92ZVN1ZmZpeChzdHJpbmcsIG9sZFN1ZmZpeCkge1xuICByZXR1cm4gcmVwbGFjZVN1ZmZpeChzdHJpbmcsIG9sZFN1ZmZpeCwgXCJcIik7XG59XG5mdW5jdGlvbiBtYXhpbXVtT3ZlcmxhcChzdHJpbmcxLCBzdHJpbmcyKSB7XG4gIHJldHVybiBzdHJpbmcyLnNsaWNlKDAsIG92ZXJsYXBDb3VudChzdHJpbmcxLCBzdHJpbmcyKSk7XG59XG5mdW5jdGlvbiBvdmVybGFwQ291bnQoYSwgYikge1xuICB2YXIgc3RhcnRBID0gMDtcbiAgaWYgKGEubGVuZ3RoID4gYi5sZW5ndGgpIHtcbiAgICBzdGFydEEgPSBhLmxlbmd0aCAtIGIubGVuZ3RoO1xuICB9XG4gIHZhciBlbmRCID0gYi5sZW5ndGg7XG4gIGlmIChhLmxlbmd0aCA8IGIubGVuZ3RoKSB7XG4gICAgZW5kQiA9IGEubGVuZ3RoO1xuICB9XG4gIHZhciBtYXAyID0gQXJyYXkoZW5kQik7XG4gIHZhciBrID0gMDtcbiAgbWFwMlswXSA9IDA7XG4gIGZvciAodmFyIGogPSAxOyBqIDwgZW5kQjsgaisrKSB7XG4gICAgaWYgKGJbal0gPT0gYltrXSkge1xuICAgICAgbWFwMltqXSA9IG1hcDJba107XG4gICAgfSBlbHNlIHtcbiAgICAgIG1hcDJbal0gPSBrO1xuICAgIH1cbiAgICB3aGlsZSAoayA+IDAgJiYgYltqXSAhPSBiW2tdKSB7XG4gICAgICBrID0gbWFwMltrXTtcbiAgICB9XG4gICAgaWYgKGJbal0gPT0gYltrXSkge1xuICAgICAgaysrO1xuICAgIH1cbiAgfVxuICBrID0gMDtcbiAgZm9yICh2YXIgaSA9IHN0YXJ0QTsgaSA8IGEubGVuZ3RoOyBpKyspIHtcbiAgICB3aGlsZSAoayA+IDAgJiYgYVtpXSAhPSBiW2tdKSB7XG4gICAgICBrID0gbWFwMltrXTtcbiAgICB9XG4gICAgaWYgKGFbaV0gPT0gYltrXSkge1xuICAgICAgaysrO1xuICAgIH1cbiAgfVxuICByZXR1cm4gaztcbn1cbnZhciBleHRlbmRlZFdvcmRDaGFycyA9IFwiYS16QS1aMC05X1xcXFx1e0MwfS1cXFxcdXtGRn1cXFxcdXtEOH0tXFxcXHV7RjZ9XFxcXHV7Rjh9LVxcXFx1ezJDNn1cXFxcdXsyQzh9LVxcXFx1ezJEN31cXFxcdXsyREV9LVxcXFx1ezJGRn1cXFxcdXsxRTAwfS1cXFxcdXsxRUZGfVwiO1xudmFyIHRva2VuaXplSW5jbHVkaW5nV2hpdGVzcGFjZSA9IG5ldyBSZWdFeHAoXCJbXCIuY29uY2F0KGV4dGVuZGVkV29yZENoYXJzLCBcIl0rfFxcXFxzK3xbXlwiKS5jb25jYXQoZXh0ZW5kZWRXb3JkQ2hhcnMsIFwiXVwiKSwgXCJ1Z1wiKTtcbnZhciB3b3JkRGlmZiA9IG5ldyBEaWZmKCk7XG53b3JkRGlmZi5lcXVhbHMgPSBmdW5jdGlvbihsZWZ0LCByaWdodCwgb3B0aW9uczgpIHtcbiAgaWYgKG9wdGlvbnM4Lmlnbm9yZUNhc2UpIHtcbiAgICBsZWZ0ID0gbGVmdC50b0xvd2VyQ2FzZSgpO1xuICAgIHJpZ2h0ID0gcmlnaHQudG9Mb3dlckNhc2UoKTtcbiAgfVxuICByZXR1cm4gbGVmdC50cmltKCkgPT09IHJpZ2h0LnRyaW0oKTtcbn07XG53b3JkRGlmZi50b2tlbml6ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gIHZhciBvcHRpb25zOCA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdm9pZCAwID8gYXJndW1lbnRzWzFdIDoge307XG4gIHZhciBwYXJ0cztcbiAgaWYgKG9wdGlvbnM4LmludGxTZWdtZW50ZXIpIHtcbiAgICBpZiAob3B0aW9uczguaW50bFNlZ21lbnRlci5yZXNvbHZlZE9wdGlvbnMoKS5ncmFudWxhcml0eSAhPSBcIndvcmRcIikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdUaGUgc2VnbWVudGVyIHBhc3NlZCBtdXN0IGhhdmUgYSBncmFudWxhcml0eSBvZiBcIndvcmRcIicpO1xuICAgIH1cbiAgICBwYXJ0cyA9IEFycmF5LmZyb20ob3B0aW9uczguaW50bFNlZ21lbnRlci5zZWdtZW50KHZhbHVlKSwgZnVuY3Rpb24oc2VnbWVudCkge1xuICAgICAgcmV0dXJuIHNlZ21lbnQuc2VnbWVudDtcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBwYXJ0cyA9IHZhbHVlLm1hdGNoKHRva2VuaXplSW5jbHVkaW5nV2hpdGVzcGFjZSkgfHwgW107XG4gIH1cbiAgdmFyIHRva2VucyA9IFtdO1xuICB2YXIgcHJldlBhcnQgPSBudWxsO1xuICBwYXJ0cy5mb3JFYWNoKGZ1bmN0aW9uKHBhcnQpIHtcbiAgICBpZiAoL1xccy8udGVzdChwYXJ0KSkge1xuICAgICAgaWYgKHByZXZQYXJ0ID09IG51bGwpIHtcbiAgICAgICAgdG9rZW5zLnB1c2gocGFydCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0b2tlbnMucHVzaCh0b2tlbnMucG9wKCkgKyBwYXJ0KTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKC9cXHMvLnRlc3QocHJldlBhcnQpKSB7XG4gICAgICBpZiAodG9rZW5zW3Rva2Vucy5sZW5ndGggLSAxXSA9PSBwcmV2UGFydCkge1xuICAgICAgICB0b2tlbnMucHVzaCh0b2tlbnMucG9wKCkgKyBwYXJ0KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRva2Vucy5wdXNoKHByZXZQYXJ0ICsgcGFydCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRva2Vucy5wdXNoKHBhcnQpO1xuICAgIH1cbiAgICBwcmV2UGFydCA9IHBhcnQ7XG4gIH0pO1xuICByZXR1cm4gdG9rZW5zO1xufTtcbndvcmREaWZmLmpvaW4gPSBmdW5jdGlvbih0b2tlbnMpIHtcbiAgcmV0dXJuIHRva2Vucy5tYXAoZnVuY3Rpb24odG9rZW4yLCBpKSB7XG4gICAgaWYgKGkgPT0gMCkge1xuICAgICAgcmV0dXJuIHRva2VuMjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRva2VuMi5yZXBsYWNlKC9eXFxzKy8sIFwiXCIpO1xuICAgIH1cbiAgfSkuam9pbihcIlwiKTtcbn07XG53b3JkRGlmZi5wb3N0UHJvY2VzcyA9IGZ1bmN0aW9uKGNoYW5nZXMsIG9wdGlvbnM4KSB7XG4gIGlmICghY2hhbmdlcyB8fCBvcHRpb25zOC5vbmVDaGFuZ2VQZXJUb2tlbikge1xuICAgIHJldHVybiBjaGFuZ2VzO1xuICB9XG4gIHZhciBsYXN0S2VlcCA9IG51bGw7XG4gIHZhciBpbnNlcnRpb24gPSBudWxsO1xuICB2YXIgZGVsZXRpb24gPSBudWxsO1xuICBjaGFuZ2VzLmZvckVhY2goZnVuY3Rpb24oY2hhbmdlKSB7XG4gICAgaWYgKGNoYW5nZS5hZGRlZCkge1xuICAgICAgaW5zZXJ0aW9uID0gY2hhbmdlO1xuICAgIH0gZWxzZSBpZiAoY2hhbmdlLnJlbW92ZWQpIHtcbiAgICAgIGRlbGV0aW9uID0gY2hhbmdlO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoaW5zZXJ0aW9uIHx8IGRlbGV0aW9uKSB7XG4gICAgICAgIGRlZHVwZVdoaXRlc3BhY2VJbkNoYW5nZU9iamVjdHMobGFzdEtlZXAsIGRlbGV0aW9uLCBpbnNlcnRpb24sIGNoYW5nZSk7XG4gICAgICB9XG4gICAgICBsYXN0S2VlcCA9IGNoYW5nZTtcbiAgICAgIGluc2VydGlvbiA9IG51bGw7XG4gICAgICBkZWxldGlvbiA9IG51bGw7XG4gICAgfVxuICB9KTtcbiAgaWYgKGluc2VydGlvbiB8fCBkZWxldGlvbikge1xuICAgIGRlZHVwZVdoaXRlc3BhY2VJbkNoYW5nZU9iamVjdHMobGFzdEtlZXAsIGRlbGV0aW9uLCBpbnNlcnRpb24sIG51bGwpO1xuICB9XG4gIHJldHVybiBjaGFuZ2VzO1xufTtcbmZ1bmN0aW9uIGRlZHVwZVdoaXRlc3BhY2VJbkNoYW5nZU9iamVjdHMoc3RhcnRLZWVwLCBkZWxldGlvbiwgaW5zZXJ0aW9uLCBlbmRLZWVwKSB7XG4gIGlmIChkZWxldGlvbiAmJiBpbnNlcnRpb24pIHtcbiAgICB2YXIgb2xkV3NQcmVmaXggPSBkZWxldGlvbi52YWx1ZS5tYXRjaCgvXlxccyovKVswXTtcbiAgICB2YXIgb2xkV3NTdWZmaXggPSBkZWxldGlvbi52YWx1ZS5tYXRjaCgvXFxzKiQvKVswXTtcbiAgICB2YXIgbmV3V3NQcmVmaXggPSBpbnNlcnRpb24udmFsdWUubWF0Y2goL15cXHMqLylbMF07XG4gICAgdmFyIG5ld1dzU3VmZml4ID0gaW5zZXJ0aW9uLnZhbHVlLm1hdGNoKC9cXHMqJC8pWzBdO1xuICAgIGlmIChzdGFydEtlZXApIHtcbiAgICAgIHZhciBjb21tb25Xc1ByZWZpeCA9IGxvbmdlc3RDb21tb25QcmVmaXgob2xkV3NQcmVmaXgsIG5ld1dzUHJlZml4KTtcbiAgICAgIHN0YXJ0S2VlcC52YWx1ZSA9IHJlcGxhY2VTdWZmaXgoc3RhcnRLZWVwLnZhbHVlLCBuZXdXc1ByZWZpeCwgY29tbW9uV3NQcmVmaXgpO1xuICAgICAgZGVsZXRpb24udmFsdWUgPSByZW1vdmVQcmVmaXgoZGVsZXRpb24udmFsdWUsIGNvbW1vbldzUHJlZml4KTtcbiAgICAgIGluc2VydGlvbi52YWx1ZSA9IHJlbW92ZVByZWZpeChpbnNlcnRpb24udmFsdWUsIGNvbW1vbldzUHJlZml4KTtcbiAgICB9XG4gICAgaWYgKGVuZEtlZXApIHtcbiAgICAgIHZhciBjb21tb25Xc1N1ZmZpeCA9IGxvbmdlc3RDb21tb25TdWZmaXgob2xkV3NTdWZmaXgsIG5ld1dzU3VmZml4KTtcbiAgICAgIGVuZEtlZXAudmFsdWUgPSByZXBsYWNlUHJlZml4KGVuZEtlZXAudmFsdWUsIG5ld1dzU3VmZml4LCBjb21tb25Xc1N1ZmZpeCk7XG4gICAgICBkZWxldGlvbi52YWx1ZSA9IHJlbW92ZVN1ZmZpeChkZWxldGlvbi52YWx1ZSwgY29tbW9uV3NTdWZmaXgpO1xuICAgICAgaW5zZXJ0aW9uLnZhbHVlID0gcmVtb3ZlU3VmZml4KGluc2VydGlvbi52YWx1ZSwgY29tbW9uV3NTdWZmaXgpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChpbnNlcnRpb24pIHtcbiAgICBpZiAoc3RhcnRLZWVwKSB7XG4gICAgICBpbnNlcnRpb24udmFsdWUgPSBpbnNlcnRpb24udmFsdWUucmVwbGFjZSgvXlxccyovLCBcIlwiKTtcbiAgICB9XG4gICAgaWYgKGVuZEtlZXApIHtcbiAgICAgIGVuZEtlZXAudmFsdWUgPSBlbmRLZWVwLnZhbHVlLnJlcGxhY2UoL15cXHMqLywgXCJcIik7XG4gICAgfVxuICB9IGVsc2UgaWYgKHN0YXJ0S2VlcCAmJiBlbmRLZWVwKSB7XG4gICAgdmFyIG5ld1dzRnVsbCA9IGVuZEtlZXAudmFsdWUubWF0Y2goL15cXHMqLylbMF0sIGRlbFdzU3RhcnQgPSBkZWxldGlvbi52YWx1ZS5tYXRjaCgvXlxccyovKVswXSwgZGVsV3NFbmQgPSBkZWxldGlvbi52YWx1ZS5tYXRjaCgvXFxzKiQvKVswXTtcbiAgICB2YXIgbmV3V3NTdGFydCA9IGxvbmdlc3RDb21tb25QcmVmaXgobmV3V3NGdWxsLCBkZWxXc1N0YXJ0KTtcbiAgICBkZWxldGlvbi52YWx1ZSA9IHJlbW92ZVByZWZpeChkZWxldGlvbi52YWx1ZSwgbmV3V3NTdGFydCk7XG4gICAgdmFyIG5ld1dzRW5kID0gbG9uZ2VzdENvbW1vblN1ZmZpeChyZW1vdmVQcmVmaXgobmV3V3NGdWxsLCBuZXdXc1N0YXJ0KSwgZGVsV3NFbmQpO1xuICAgIGRlbGV0aW9uLnZhbHVlID0gcmVtb3ZlU3VmZml4KGRlbGV0aW9uLnZhbHVlLCBuZXdXc0VuZCk7XG4gICAgZW5kS2VlcC52YWx1ZSA9IHJlcGxhY2VQcmVmaXgoZW5kS2VlcC52YWx1ZSwgbmV3V3NGdWxsLCBuZXdXc0VuZCk7XG4gICAgc3RhcnRLZWVwLnZhbHVlID0gcmVwbGFjZVN1ZmZpeChzdGFydEtlZXAudmFsdWUsIG5ld1dzRnVsbCwgbmV3V3NGdWxsLnNsaWNlKDAsIG5ld1dzRnVsbC5sZW5ndGggLSBuZXdXc0VuZC5sZW5ndGgpKTtcbiAgfSBlbHNlIGlmIChlbmRLZWVwKSB7XG4gICAgdmFyIGVuZEtlZXBXc1ByZWZpeCA9IGVuZEtlZXAudmFsdWUubWF0Y2goL15cXHMqLylbMF07XG4gICAgdmFyIGRlbGV0aW9uV3NTdWZmaXggPSBkZWxldGlvbi52YWx1ZS5tYXRjaCgvXFxzKiQvKVswXTtcbiAgICB2YXIgb3ZlcmxhcCA9IG1heGltdW1PdmVybGFwKGRlbGV0aW9uV3NTdWZmaXgsIGVuZEtlZXBXc1ByZWZpeCk7XG4gICAgZGVsZXRpb24udmFsdWUgPSByZW1vdmVTdWZmaXgoZGVsZXRpb24udmFsdWUsIG92ZXJsYXApO1xuICB9IGVsc2UgaWYgKHN0YXJ0S2VlcCkge1xuICAgIHZhciBzdGFydEtlZXBXc1N1ZmZpeCA9IHN0YXJ0S2VlcC52YWx1ZS5tYXRjaCgvXFxzKiQvKVswXTtcbiAgICB2YXIgZGVsZXRpb25Xc1ByZWZpeCA9IGRlbGV0aW9uLnZhbHVlLm1hdGNoKC9eXFxzKi8pWzBdO1xuICAgIHZhciBfb3ZlcmxhcCA9IG1heGltdW1PdmVybGFwKHN0YXJ0S2VlcFdzU3VmZml4LCBkZWxldGlvbldzUHJlZml4KTtcbiAgICBkZWxldGlvbi52YWx1ZSA9IHJlbW92ZVByZWZpeChkZWxldGlvbi52YWx1ZSwgX292ZXJsYXApO1xuICB9XG59XG52YXIgd29yZFdpdGhTcGFjZURpZmYgPSBuZXcgRGlmZigpO1xud29yZFdpdGhTcGFjZURpZmYudG9rZW5pemUgPSBmdW5jdGlvbih2YWx1ZSkge1xuICB2YXIgcmVnZXggPSBuZXcgUmVnRXhwKFwiKFxcXFxyP1xcXFxuKXxbXCIuY29uY2F0KGV4dGVuZGVkV29yZENoYXJzLCBcIl0rfFteXFxcXFNcXFxcblxcXFxyXSt8W15cIikuY29uY2F0KGV4dGVuZGVkV29yZENoYXJzLCBcIl1cIiksIFwidWdcIik7XG4gIHJldHVybiB2YWx1ZS5tYXRjaChyZWdleCkgfHwgW107XG59O1xudmFyIGxpbmVEaWZmID0gbmV3IERpZmYoKTtcbmxpbmVEaWZmLnRva2VuaXplID0gZnVuY3Rpb24odmFsdWUsIG9wdGlvbnM4KSB7XG4gIGlmIChvcHRpb25zOC5zdHJpcFRyYWlsaW5nQ3IpIHtcbiAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL1xcclxcbi9nLCBcIlxcblwiKTtcbiAgfVxuICB2YXIgcmV0TGluZXMgPSBbXSwgbGluZXNBbmROZXdsaW5lcyA9IHZhbHVlLnNwbGl0KC8oXFxufFxcclxcbikvKTtcbiAgaWYgKCFsaW5lc0FuZE5ld2xpbmVzW2xpbmVzQW5kTmV3bGluZXMubGVuZ3RoIC0gMV0pIHtcbiAgICBsaW5lc0FuZE5ld2xpbmVzLnBvcCgpO1xuICB9XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGluZXNBbmROZXdsaW5lcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBsaW5lMyA9IGxpbmVzQW5kTmV3bGluZXNbaV07XG4gICAgaWYgKGkgJSAyICYmICFvcHRpb25zOC5uZXdsaW5lSXNUb2tlbikge1xuICAgICAgcmV0TGluZXNbcmV0TGluZXMubGVuZ3RoIC0gMV0gKz0gbGluZTM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldExpbmVzLnB1c2gobGluZTMpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmV0TGluZXM7XG59O1xubGluZURpZmYuZXF1YWxzID0gZnVuY3Rpb24obGVmdCwgcmlnaHQsIG9wdGlvbnM4KSB7XG4gIGlmIChvcHRpb25zOC5pZ25vcmVXaGl0ZXNwYWNlKSB7XG4gICAgaWYgKCFvcHRpb25zOC5uZXdsaW5lSXNUb2tlbiB8fCAhbGVmdC5pbmNsdWRlcyhcIlxcblwiKSkge1xuICAgICAgbGVmdCA9IGxlZnQudHJpbSgpO1xuICAgIH1cbiAgICBpZiAoIW9wdGlvbnM4Lm5ld2xpbmVJc1Rva2VuIHx8ICFyaWdodC5pbmNsdWRlcyhcIlxcblwiKSkge1xuICAgICAgcmlnaHQgPSByaWdodC50cmltKCk7XG4gICAgfVxuICB9IGVsc2UgaWYgKG9wdGlvbnM4Lmlnbm9yZU5ld2xpbmVBdEVvZiAmJiAhb3B0aW9uczgubmV3bGluZUlzVG9rZW4pIHtcbiAgICBpZiAobGVmdC5lbmRzV2l0aChcIlxcblwiKSkge1xuICAgICAgbGVmdCA9IGxlZnQuc2xpY2UoMCwgLTEpO1xuICAgIH1cbiAgICBpZiAocmlnaHQuZW5kc1dpdGgoXCJcXG5cIikpIHtcbiAgICAgIHJpZ2h0ID0gcmlnaHQuc2xpY2UoMCwgLTEpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gRGlmZi5wcm90b3R5cGUuZXF1YWxzLmNhbGwodGhpcywgbGVmdCwgcmlnaHQsIG9wdGlvbnM4KTtcbn07XG5mdW5jdGlvbiBkaWZmTGluZXMob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKSB7XG4gIHJldHVybiBsaW5lRGlmZi5kaWZmKG9sZFN0ciwgbmV3U3RyLCBjYWxsYmFjayk7XG59XG52YXIgc2VudGVuY2VEaWZmID0gbmV3IERpZmYoKTtcbnNlbnRlbmNlRGlmZi50b2tlbml6ZSA9IGZ1bmN0aW9uKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZS5zcGxpdCgvKFxcUy4rP1suIT9dKSg/PVxccyt8JCkvKTtcbn07XG52YXIgY3NzRGlmZiA9IG5ldyBEaWZmKCk7XG5jc3NEaWZmLnRva2VuaXplID0gZnVuY3Rpb24odmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlLnNwbGl0KC8oW3t9OjssXXxcXHMrKS8pO1xufTtcbmZ1bmN0aW9uIG93bktleXMoZSwgcikge1xuICB2YXIgdCA9IE9iamVjdC5rZXlzKGUpO1xuICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgIHZhciBvID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhlKTtcbiAgICByICYmIChvID0gby5maWx0ZXIoZnVuY3Rpb24ocjIpIHtcbiAgICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKGUsIHIyKS5lbnVtZXJhYmxlO1xuICAgIH0pKSwgdC5wdXNoLmFwcGx5KHQsIG8pO1xuICB9XG4gIHJldHVybiB0O1xufVxuZnVuY3Rpb24gX29iamVjdFNwcmVhZDIoZSkge1xuICBmb3IgKHZhciByID0gMTsgciA8IGFyZ3VtZW50cy5sZW5ndGg7IHIrKykge1xuICAgIHZhciB0ID0gbnVsbCAhPSBhcmd1bWVudHNbcl0gPyBhcmd1bWVudHNbcl0gOiB7fTtcbiAgICByICUgMiA/IG93bktleXMoT2JqZWN0KHQpLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uKHIyKSB7XG4gICAgICBfZGVmaW5lUHJvcGVydHkoZSwgcjIsIHRbcjJdKTtcbiAgICB9KSA6IE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzID8gT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnModCkpIDogb3duS2V5cyhPYmplY3QodCkpLmZvckVhY2goZnVuY3Rpb24ocjIpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShlLCByMiwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcih0LCByMikpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiBlO1xufVxuZnVuY3Rpb24gX3RvUHJpbWl0aXZlKHQsIHIpIHtcbiAgaWYgKFwib2JqZWN0XCIgIT0gdHlwZW9mIHQgfHwgIXQpIHJldHVybiB0O1xuICB2YXIgZSA9IHRbU3ltYm9sLnRvUHJpbWl0aXZlXTtcbiAgaWYgKHZvaWQgMCAhPT0gZSkge1xuICAgIHZhciBpID0gZS5jYWxsKHQsIHIgfHwgXCJkZWZhdWx0XCIpO1xuICAgIGlmIChcIm9iamVjdFwiICE9IHR5cGVvZiBpKSByZXR1cm4gaTtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQEB0b1ByaW1pdGl2ZSBtdXN0IHJldHVybiBhIHByaW1pdGl2ZSB2YWx1ZS5cIik7XG4gIH1cbiAgcmV0dXJuIChcInN0cmluZ1wiID09PSByID8gU3RyaW5nIDogTnVtYmVyKSh0KTtcbn1cbmZ1bmN0aW9uIF90b1Byb3BlcnR5S2V5KHQpIHtcbiAgdmFyIGkgPSBfdG9QcmltaXRpdmUodCwgXCJzdHJpbmdcIik7XG4gIHJldHVybiBcInN5bWJvbFwiID09IHR5cGVvZiBpID8gaSA6IGkgKyBcIlwiO1xufVxuZnVuY3Rpb24gX3R5cGVvZihvKSB7XG4gIFwiQGJhYmVsL2hlbHBlcnMgLSB0eXBlb2ZcIjtcbiAgcmV0dXJuIF90eXBlb2YgPSBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIFN5bWJvbCAmJiBcInN5bWJvbFwiID09IHR5cGVvZiBTeW1ib2wuaXRlcmF0b3IgPyBmdW5jdGlvbihvMikge1xuICAgIHJldHVybiB0eXBlb2YgbzI7XG4gIH0gOiBmdW5jdGlvbihvMikge1xuICAgIHJldHVybiBvMiAmJiBcImZ1bmN0aW9uXCIgPT0gdHlwZW9mIFN5bWJvbCAmJiBvMi5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG8yICE9PSBTeW1ib2wucHJvdG90eXBlID8gXCJzeW1ib2xcIiA6IHR5cGVvZiBvMjtcbiAgfSwgX3R5cGVvZihvKTtcbn1cbmZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleTIsIHZhbHVlKSB7XG4gIGtleTIgPSBfdG9Qcm9wZXJ0eUtleShrZXkyKTtcbiAgaWYgKGtleTIgaW4gb2JqKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5Miwge1xuICAgICAgdmFsdWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmpba2V5Ml0gPSB2YWx1ZTtcbiAgfVxuICByZXR1cm4gb2JqO1xufVxuZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KGFycikge1xuICByZXR1cm4gX2FycmF5V2l0aG91dEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF9ub25JdGVyYWJsZVNwcmVhZCgpO1xufVxuZnVuY3Rpb24gX2FycmF5V2l0aG91dEhvbGVzKGFycikge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkoYXJyKTtcbn1cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXkoaXRlcikge1xuICBpZiAodHlwZW9mIFN5bWJvbCAhPT0gXCJ1bmRlZmluZWRcIiAmJiBpdGVyW1N5bWJvbC5pdGVyYXRvcl0gIT0gbnVsbCB8fCBpdGVyW1wiQEBpdGVyYXRvclwiXSAhPSBudWxsKSByZXR1cm4gQXJyYXkuZnJvbShpdGVyKTtcbn1cbmZ1bmN0aW9uIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShvLCBtaW5MZW4pIHtcbiAgaWYgKCFvKSByZXR1cm47XG4gIGlmICh0eXBlb2YgbyA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7XG4gIHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLnNsaWNlKDgsIC0xKTtcbiAgaWYgKG4gPT09IFwiT2JqZWN0XCIgJiYgby5jb25zdHJ1Y3RvcikgbiA9IG8uY29uc3RydWN0b3IubmFtZTtcbiAgaWYgKG4gPT09IFwiTWFwXCIgfHwgbiA9PT0gXCJTZXRcIikgcmV0dXJuIEFycmF5LmZyb20obyk7XG4gIGlmIChuID09PSBcIkFyZ3VtZW50c1wiIHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTtcbn1cbmZ1bmN0aW9uIF9hcnJheUxpa2VUb0FycmF5KGFyciwgbGVuKSB7XG4gIGlmIChsZW4gPT0gbnVsbCB8fCBsZW4gPiBhcnIubGVuZ3RoKSBsZW4gPSBhcnIubGVuZ3RoO1xuICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIGFycjJbaV0gPSBhcnJbaV07XG4gIHJldHVybiBhcnIyO1xufVxuZnVuY3Rpb24gX25vbkl0ZXJhYmxlU3ByZWFkKCkge1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIHNwcmVhZCBub24taXRlcmFibGUgaW5zdGFuY2UuXFxuSW4gb3JkZXIgdG8gYmUgaXRlcmFibGUsIG5vbi1hcnJheSBvYmplY3RzIG11c3QgaGF2ZSBhIFtTeW1ib2wuaXRlcmF0b3JdKCkgbWV0aG9kLlwiKTtcbn1cbnZhciBqc29uRGlmZiA9IG5ldyBEaWZmKCk7XG5qc29uRGlmZi51c2VMb25nZXN0VG9rZW4gPSB0cnVlO1xuanNvbkRpZmYudG9rZW5pemUgPSBsaW5lRGlmZi50b2tlbml6ZTtcbmpzb25EaWZmLmNhc3RJbnB1dCA9IGZ1bmN0aW9uKHZhbHVlLCBvcHRpb25zOCkge1xuICB2YXIgdW5kZWZpbmVkUmVwbGFjZW1lbnQgPSBvcHRpb25zOC51bmRlZmluZWRSZXBsYWNlbWVudCwgX29wdGlvbnMkc3RyaW5naWZ5UmVwID0gb3B0aW9uczguc3RyaW5naWZ5UmVwbGFjZXIsIHN0cmluZ2lmeVJlcGxhY2VyID0gX29wdGlvbnMkc3RyaW5naWZ5UmVwID09PSB2b2lkIDAgPyBmdW5jdGlvbihrLCB2KSB7XG4gICAgcmV0dXJuIHR5cGVvZiB2ID09PSBcInVuZGVmaW5lZFwiID8gdW5kZWZpbmVkUmVwbGFjZW1lbnQgOiB2O1xuICB9IDogX29wdGlvbnMkc3RyaW5naWZ5UmVwO1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiID8gdmFsdWUgOiBKU09OLnN0cmluZ2lmeShjYW5vbmljYWxpemUodmFsdWUsIG51bGwsIG51bGwsIHN0cmluZ2lmeVJlcGxhY2VyKSwgc3RyaW5naWZ5UmVwbGFjZXIsIFwiICBcIik7XG59O1xuanNvbkRpZmYuZXF1YWxzID0gZnVuY3Rpb24obGVmdCwgcmlnaHQsIG9wdGlvbnM4KSB7XG4gIHJldHVybiBEaWZmLnByb3RvdHlwZS5lcXVhbHMuY2FsbChqc29uRGlmZiwgbGVmdC5yZXBsYWNlKC8sKFtcXHJcXG5dKS9nLCBcIiQxXCIpLCByaWdodC5yZXBsYWNlKC8sKFtcXHJcXG5dKS9nLCBcIiQxXCIpLCBvcHRpb25zOCk7XG59O1xuZnVuY3Rpb24gY2Fub25pY2FsaXplKG9iaiwgc3RhY2syLCByZXBsYWNlbWVudFN0YWNrLCByZXBsYWNlciwga2V5Mikge1xuICBzdGFjazIgPSBzdGFjazIgfHwgW107XG4gIHJlcGxhY2VtZW50U3RhY2sgPSByZXBsYWNlbWVudFN0YWNrIHx8IFtdO1xuICBpZiAocmVwbGFjZXIpIHtcbiAgICBvYmogPSByZXBsYWNlcihrZXkyLCBvYmopO1xuICB9XG4gIHZhciBpO1xuICBmb3IgKGkgPSAwOyBpIDwgc3RhY2syLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgaWYgKHN0YWNrMltpXSA9PT0gb2JqKSB7XG4gICAgICByZXR1cm4gcmVwbGFjZW1lbnRTdGFja1tpXTtcbiAgICB9XG4gIH1cbiAgdmFyIGNhbm9uaWNhbGl6ZWRPYmo7XG4gIGlmIChcIltvYmplY3QgQXJyYXldXCIgPT09IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopKSB7XG4gICAgc3RhY2syLnB1c2gob2JqKTtcbiAgICBjYW5vbmljYWxpemVkT2JqID0gbmV3IEFycmF5KG9iai5sZW5ndGgpO1xuICAgIHJlcGxhY2VtZW50U3RhY2sucHVzaChjYW5vbmljYWxpemVkT2JqKTtcbiAgICBmb3IgKGkgPSAwOyBpIDwgb2JqLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICBjYW5vbmljYWxpemVkT2JqW2ldID0gY2Fub25pY2FsaXplKG9ialtpXSwgc3RhY2syLCByZXBsYWNlbWVudFN0YWNrLCByZXBsYWNlciwga2V5Mik7XG4gICAgfVxuICAgIHN0YWNrMi5wb3AoKTtcbiAgICByZXBsYWNlbWVudFN0YWNrLnBvcCgpO1xuICAgIHJldHVybiBjYW5vbmljYWxpemVkT2JqO1xuICB9XG4gIGlmIChvYmogJiYgb2JqLnRvSlNPTikge1xuICAgIG9iaiA9IG9iai50b0pTT04oKTtcbiAgfVxuICBpZiAoX3R5cGVvZihvYmopID09PSBcIm9iamVjdFwiICYmIG9iaiAhPT0gbnVsbCkge1xuICAgIHN0YWNrMi5wdXNoKG9iaik7XG4gICAgY2Fub25pY2FsaXplZE9iaiA9IHt9O1xuICAgIHJlcGxhY2VtZW50U3RhY2sucHVzaChjYW5vbmljYWxpemVkT2JqKTtcbiAgICB2YXIgc29ydGVkS2V5cyA9IFtdLCBfa2V5O1xuICAgIGZvciAoX2tleSBpbiBvYmopIHtcbiAgICAgIGlmIChPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBfa2V5KSkge1xuICAgICAgICBzb3J0ZWRLZXlzLnB1c2goX2tleSk7XG4gICAgICB9XG4gICAgfVxuICAgIHNvcnRlZEtleXMuc29ydCgpO1xuICAgIGZvciAoaSA9IDA7IGkgPCBzb3J0ZWRLZXlzLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICBfa2V5ID0gc29ydGVkS2V5c1tpXTtcbiAgICAgIGNhbm9uaWNhbGl6ZWRPYmpbX2tleV0gPSBjYW5vbmljYWxpemUob2JqW19rZXldLCBzdGFjazIsIHJlcGxhY2VtZW50U3RhY2ssIHJlcGxhY2VyLCBfa2V5KTtcbiAgICB9XG4gICAgc3RhY2syLnBvcCgpO1xuICAgIHJlcGxhY2VtZW50U3RhY2sucG9wKCk7XG4gIH0gZWxzZSB7XG4gICAgY2Fub25pY2FsaXplZE9iaiA9IG9iajtcbiAgfVxuICByZXR1cm4gY2Fub25pY2FsaXplZE9iajtcbn1cbnZhciBhcnJheURpZmYgPSBuZXcgRGlmZigpO1xuYXJyYXlEaWZmLnRva2VuaXplID0gZnVuY3Rpb24odmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlLnNsaWNlKCk7XG59O1xuYXJyYXlEaWZmLmpvaW4gPSBhcnJheURpZmYucmVtb3ZlRW1wdHkgPSBmdW5jdGlvbih2YWx1ZSkge1xuICByZXR1cm4gdmFsdWU7XG59O1xuZnVuY3Rpb24gZGlmZkFycmF5cyhvbGRBcnIsIG5ld0FyciwgY2FsbGJhY2spIHtcbiAgcmV0dXJuIGFycmF5RGlmZi5kaWZmKG9sZEFyciwgbmV3QXJyLCBjYWxsYmFjayk7XG59XG5mdW5jdGlvbiBzdHJ1Y3R1cmVkUGF0Y2gob2xkRmlsZU5hbWUsIG5ld0ZpbGVOYW1lLCBvbGRTdHIsIG5ld1N0ciwgb2xkSGVhZGVyLCBuZXdIZWFkZXIsIG9wdGlvbnM4KSB7XG4gIGlmICghb3B0aW9uczgpIHtcbiAgICBvcHRpb25zOCA9IHt9O1xuICB9XG4gIGlmICh0eXBlb2Ygb3B0aW9uczggPT09IFwiZnVuY3Rpb25cIikge1xuICAgIG9wdGlvbnM4ID0ge1xuICAgICAgY2FsbGJhY2s6IG9wdGlvbnM4XG4gICAgfTtcbiAgfVxuICBpZiAodHlwZW9mIG9wdGlvbnM4LmNvbnRleHQgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICBvcHRpb25zOC5jb250ZXh0ID0gNDtcbiAgfVxuICBpZiAob3B0aW9uczgubmV3bGluZUlzVG9rZW4pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJuZXdsaW5lSXNUb2tlbiBtYXkgbm90IGJlIHVzZWQgd2l0aCBwYXRjaC1nZW5lcmF0aW9uIGZ1bmN0aW9ucywgb25seSB3aXRoIGRpZmZpbmcgZnVuY3Rpb25zXCIpO1xuICB9XG4gIGlmICghb3B0aW9uczguY2FsbGJhY2spIHtcbiAgICByZXR1cm4gZGlmZkxpbmVzUmVzdWx0VG9QYXRjaChkaWZmTGluZXMob2xkU3RyLCBuZXdTdHIsIG9wdGlvbnM4KSk7XG4gIH0gZWxzZSB7XG4gICAgdmFyIF9vcHRpb25zID0gb3B0aW9uczgsIF9jYWxsYmFjayA9IF9vcHRpb25zLmNhbGxiYWNrO1xuICAgIGRpZmZMaW5lcyhvbGRTdHIsIG5ld1N0ciwgX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIG9wdGlvbnM4KSwge30sIHtcbiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiBjYWxsYmFjayhkaWZmMikge1xuICAgICAgICB2YXIgcGF0Y2ggPSBkaWZmTGluZXNSZXN1bHRUb1BhdGNoKGRpZmYyKTtcbiAgICAgICAgX2NhbGxiYWNrKHBhdGNoKTtcbiAgICAgIH1cbiAgICB9KSk7XG4gIH1cbiAgZnVuY3Rpb24gZGlmZkxpbmVzUmVzdWx0VG9QYXRjaChkaWZmMikge1xuICAgIGlmICghZGlmZjIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZGlmZjIucHVzaCh7XG4gICAgICB2YWx1ZTogXCJcIixcbiAgICAgIGxpbmVzOiBbXVxuICAgIH0pO1xuICAgIGZ1bmN0aW9uIGNvbnRleHRMaW5lcyhsaW5lcykge1xuICAgICAgcmV0dXJuIGxpbmVzLm1hcChmdW5jdGlvbihlbnRyeSkge1xuICAgICAgICByZXR1cm4gXCIgXCIgKyBlbnRyeTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICB2YXIgaHVua3MgPSBbXTtcbiAgICB2YXIgb2xkUmFuZ2VTdGFydCA9IDAsIG5ld1JhbmdlU3RhcnQgPSAwLCBjdXJSYW5nZSA9IFtdLCBvbGRMaW5lID0gMSwgbmV3TGluZSA9IDE7XG4gICAgdmFyIF9sb29wID0gZnVuY3Rpb24gX2xvb3AyKCkge1xuICAgICAgdmFyIGN1cnJlbnQgPSBkaWZmMltpXSwgbGluZXMgPSBjdXJyZW50LmxpbmVzIHx8IHNwbGl0TGluZXMoY3VycmVudC52YWx1ZSk7XG4gICAgICBjdXJyZW50LmxpbmVzID0gbGluZXM7XG4gICAgICBpZiAoY3VycmVudC5hZGRlZCB8fCBjdXJyZW50LnJlbW92ZWQpIHtcbiAgICAgICAgdmFyIF9jdXJSYW5nZTtcbiAgICAgICAgaWYgKCFvbGRSYW5nZVN0YXJ0KSB7XG4gICAgICAgICAgdmFyIHByZXYgPSBkaWZmMltpIC0gMV07XG4gICAgICAgICAgb2xkUmFuZ2VTdGFydCA9IG9sZExpbmU7XG4gICAgICAgICAgbmV3UmFuZ2VTdGFydCA9IG5ld0xpbmU7XG4gICAgICAgICAgaWYgKHByZXYpIHtcbiAgICAgICAgICAgIGN1clJhbmdlID0gb3B0aW9uczguY29udGV4dCA+IDAgPyBjb250ZXh0TGluZXMocHJldi5saW5lcy5zbGljZSgtb3B0aW9uczguY29udGV4dCkpIDogW107XG4gICAgICAgICAgICBvbGRSYW5nZVN0YXJ0IC09IGN1clJhbmdlLmxlbmd0aDtcbiAgICAgICAgICAgIG5ld1JhbmdlU3RhcnQgLT0gY3VyUmFuZ2UubGVuZ3RoO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAoX2N1clJhbmdlID0gY3VyUmFuZ2UpLnB1c2guYXBwbHkoX2N1clJhbmdlLCBfdG9Db25zdW1hYmxlQXJyYXkobGluZXMubWFwKGZ1bmN0aW9uKGVudHJ5KSB7XG4gICAgICAgICAgcmV0dXJuIChjdXJyZW50LmFkZGVkID8gXCIrXCIgOiBcIi1cIikgKyBlbnRyeTtcbiAgICAgICAgfSkpKTtcbiAgICAgICAgaWYgKGN1cnJlbnQuYWRkZWQpIHtcbiAgICAgICAgICBuZXdMaW5lICs9IGxpbmVzLmxlbmd0aDtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBvbGRMaW5lICs9IGxpbmVzLmxlbmd0aDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKG9sZFJhbmdlU3RhcnQpIHtcbiAgICAgICAgICBpZiAobGluZXMubGVuZ3RoIDw9IG9wdGlvbnM4LmNvbnRleHQgKiAyICYmIGkgPCBkaWZmMi5sZW5ndGggLSAyKSB7XG4gICAgICAgICAgICB2YXIgX2N1clJhbmdlMjtcbiAgICAgICAgICAgIChfY3VyUmFuZ2UyID0gY3VyUmFuZ2UpLnB1c2guYXBwbHkoX2N1clJhbmdlMiwgX3RvQ29uc3VtYWJsZUFycmF5KGNvbnRleHRMaW5lcyhsaW5lcykpKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdmFyIF9jdXJSYW5nZTM7XG4gICAgICAgICAgICB2YXIgY29udGV4dFNpemUgPSBNYXRoLm1pbihsaW5lcy5sZW5ndGgsIG9wdGlvbnM4LmNvbnRleHQpO1xuICAgICAgICAgICAgKF9jdXJSYW5nZTMgPSBjdXJSYW5nZSkucHVzaC5hcHBseShfY3VyUmFuZ2UzLCBfdG9Db25zdW1hYmxlQXJyYXkoY29udGV4dExpbmVzKGxpbmVzLnNsaWNlKDAsIGNvbnRleHRTaXplKSkpKTtcbiAgICAgICAgICAgIHZhciBfaHVuayA9IHtcbiAgICAgICAgICAgICAgb2xkU3RhcnQ6IG9sZFJhbmdlU3RhcnQsXG4gICAgICAgICAgICAgIG9sZExpbmVzOiBvbGRMaW5lIC0gb2xkUmFuZ2VTdGFydCArIGNvbnRleHRTaXplLFxuICAgICAgICAgICAgICBuZXdTdGFydDogbmV3UmFuZ2VTdGFydCxcbiAgICAgICAgICAgICAgbmV3TGluZXM6IG5ld0xpbmUgLSBuZXdSYW5nZVN0YXJ0ICsgY29udGV4dFNpemUsXG4gICAgICAgICAgICAgIGxpbmVzOiBjdXJSYW5nZVxuICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIGh1bmtzLnB1c2goX2h1bmspO1xuICAgICAgICAgICAgb2xkUmFuZ2VTdGFydCA9IDA7XG4gICAgICAgICAgICBuZXdSYW5nZVN0YXJ0ID0gMDtcbiAgICAgICAgICAgIGN1clJhbmdlID0gW107XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIG9sZExpbmUgKz0gbGluZXMubGVuZ3RoO1xuICAgICAgICBuZXdMaW5lICs9IGxpbmVzLmxlbmd0aDtcbiAgICAgIH1cbiAgICB9O1xuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZGlmZjIubGVuZ3RoOyBpKyspIHtcbiAgICAgIF9sb29wKCk7XG4gICAgfVxuICAgIGZvciAodmFyIF9pID0gMCwgX2h1bmtzID0gaHVua3M7IF9pIDwgX2h1bmtzLmxlbmd0aDsgX2krKykge1xuICAgICAgdmFyIGh1bmsgPSBfaHVua3NbX2ldO1xuICAgICAgZm9yICh2YXIgX2kyID0gMDsgX2kyIDwgaHVuay5saW5lcy5sZW5ndGg7IF9pMisrKSB7XG4gICAgICAgIGlmIChodW5rLmxpbmVzW19pMl0uZW5kc1dpdGgoXCJcXG5cIikpIHtcbiAgICAgICAgICBodW5rLmxpbmVzW19pMl0gPSBodW5rLmxpbmVzW19pMl0uc2xpY2UoMCwgLTEpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGh1bmsubGluZXMuc3BsaWNlKF9pMiArIDEsIDAsIFwiXFxcXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlXCIpO1xuICAgICAgICAgIF9pMisrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICBvbGRGaWxlTmFtZSxcbiAgICAgIG5ld0ZpbGVOYW1lLFxuICAgICAgb2xkSGVhZGVyLFxuICAgICAgbmV3SGVhZGVyLFxuICAgICAgaHVua3NcbiAgICB9O1xuICB9XG59XG5mdW5jdGlvbiBmb3JtYXRQYXRjaChkaWZmMikge1xuICBpZiAoQXJyYXkuaXNBcnJheShkaWZmMikpIHtcbiAgICByZXR1cm4gZGlmZjIubWFwKGZvcm1hdFBhdGNoKS5qb2luKFwiXFxuXCIpO1xuICB9XG4gIHZhciByZXQgPSBbXTtcbiAgaWYgKGRpZmYyLm9sZEZpbGVOYW1lID09IGRpZmYyLm5ld0ZpbGVOYW1lKSB7XG4gICAgcmV0LnB1c2goXCJJbmRleDogXCIgKyBkaWZmMi5vbGRGaWxlTmFtZSk7XG4gIH1cbiAgcmV0LnB1c2goXCI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XCIpO1xuICByZXQucHVzaChcIi0tLSBcIiArIGRpZmYyLm9sZEZpbGVOYW1lICsgKHR5cGVvZiBkaWZmMi5vbGRIZWFkZXIgPT09IFwidW5kZWZpbmVkXCIgPyBcIlwiIDogXCJcdFwiICsgZGlmZjIub2xkSGVhZGVyKSk7XG4gIHJldC5wdXNoKFwiKysrIFwiICsgZGlmZjIubmV3RmlsZU5hbWUgKyAodHlwZW9mIGRpZmYyLm5ld0hlYWRlciA9PT0gXCJ1bmRlZmluZWRcIiA/IFwiXCIgOiBcIlx0XCIgKyBkaWZmMi5uZXdIZWFkZXIpKTtcbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBkaWZmMi5odW5rcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBodW5rID0gZGlmZjIuaHVua3NbaV07XG4gICAgaWYgKGh1bmsub2xkTGluZXMgPT09IDApIHtcbiAgICAgIGh1bmsub2xkU3RhcnQgLT0gMTtcbiAgICB9XG4gICAgaWYgKGh1bmsubmV3TGluZXMgPT09IDApIHtcbiAgICAgIGh1bmsubmV3U3RhcnQgLT0gMTtcbiAgICB9XG4gICAgcmV0LnB1c2goXCJAQCAtXCIgKyBodW5rLm9sZFN0YXJ0ICsgXCIsXCIgKyBodW5rLm9sZExpbmVzICsgXCIgK1wiICsgaHVuay5uZXdTdGFydCArIFwiLFwiICsgaHVuay5uZXdMaW5lcyArIFwiIEBAXCIpO1xuICAgIHJldC5wdXNoLmFwcGx5KHJldCwgaHVuay5saW5lcyk7XG4gIH1cbiAgcmV0dXJuIHJldC5qb2luKFwiXFxuXCIpICsgXCJcXG5cIjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVR3b0ZpbGVzUGF0Y2gob2xkRmlsZU5hbWUsIG5ld0ZpbGVOYW1lLCBvbGRTdHIsIG5ld1N0ciwgb2xkSGVhZGVyLCBuZXdIZWFkZXIsIG9wdGlvbnM4KSB7XG4gIHZhciBfb3B0aW9uczI7XG4gIGlmICh0eXBlb2Ygb3B0aW9uczggPT09IFwiZnVuY3Rpb25cIikge1xuICAgIG9wdGlvbnM4ID0ge1xuICAgICAgY2FsbGJhY2s6IG9wdGlvbnM4XG4gICAgfTtcbiAgfVxuICBpZiAoISgoX29wdGlvbnMyID0gb3B0aW9uczgpICE9PSBudWxsICYmIF9vcHRpb25zMiAhPT0gdm9pZCAwICYmIF9vcHRpb25zMi5jYWxsYmFjaykpIHtcbiAgICB2YXIgcGF0Y2hPYmogPSBzdHJ1Y3R1cmVkUGF0Y2gob2xkRmlsZU5hbWUsIG5ld0ZpbGVOYW1lLCBvbGRTdHIsIG5ld1N0ciwgb2xkSGVhZGVyLCBuZXdIZWFkZXIsIG9wdGlvbnM4KTtcbiAgICBpZiAoIXBhdGNoT2JqKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiBmb3JtYXRQYXRjaChwYXRjaE9iaik7XG4gIH0gZWxzZSB7XG4gICAgdmFyIF9vcHRpb25zMyA9IG9wdGlvbnM4LCBfY2FsbGJhY2syID0gX29wdGlvbnMzLmNhbGxiYWNrO1xuICAgIHN0cnVjdHVyZWRQYXRjaChvbGRGaWxlTmFtZSwgbmV3RmlsZU5hbWUsIG9sZFN0ciwgbmV3U3RyLCBvbGRIZWFkZXIsIG5ld0hlYWRlciwgX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIG9wdGlvbnM4KSwge30sIHtcbiAgICAgIGNhbGxiYWNrOiBmdW5jdGlvbiBjYWxsYmFjayhwYXRjaE9iajIpIHtcbiAgICAgICAgaWYgKCFwYXRjaE9iajIpIHtcbiAgICAgICAgICBfY2FsbGJhY2syKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgX2NhbGxiYWNrMihmb3JtYXRQYXRjaChwYXRjaE9iajIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pKTtcbiAgfVxufVxuZnVuY3Rpb24gc3BsaXRMaW5lcyh0ZXh0KSB7XG4gIHZhciBoYXNUcmFpbGluZ05sID0gdGV4dC5lbmRzV2l0aChcIlxcblwiKTtcbiAgdmFyIHJlc3VsdCA9IHRleHQuc3BsaXQoXCJcXG5cIikubWFwKGZ1bmN0aW9uKGxpbmUzKSB7XG4gICAgcmV0dXJuIGxpbmUzICsgXCJcXG5cIjtcbiAgfSk7XG4gIGlmIChoYXNUcmFpbGluZ05sKSB7XG4gICAgcmVzdWx0LnBvcCgpO1xuICB9IGVsc2Uge1xuICAgIHJlc3VsdC5wdXNoKHJlc3VsdC5wb3AoKS5zbGljZSgwLCAtMSkpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5cbi8vIHNyYy9pbmRleC5qc1xudmFyIGltcG9ydF9mYXN0X2dsb2IgPSBfX3RvRVNNKHJlcXVpcmVfb3V0NCgpLCAxKTtcblxuLy8gbm9kZV9tb2R1bGVzL3Zub3B0cy9saWIvZGVzY3JpcHRvcnMvYXBpLmpzXG52YXIgYXBpRGVzY3JpcHRvciA9IHtcbiAga2V5OiAoa2V5MikgPT4gL15bJF9hLXpBLVpdWyRfYS16QS1aMC05XSokLy50ZXN0KGtleTIpID8ga2V5MiA6IEpTT04uc3RyaW5naWZ5KGtleTIpLFxuICB2YWx1ZSh2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB0eXBlb2YgdmFsdWUgIT09IFwib2JqZWN0XCIpIHtcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gICAgfVxuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcmV0dXJuIGBbJHt2YWx1ZS5tYXAoKHN1YlZhbHVlKSA9PiBhcGlEZXNjcmlwdG9yLnZhbHVlKHN1YlZhbHVlKSkuam9pbihcIiwgXCIpfV1gO1xuICAgIH1cbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXModmFsdWUpO1xuICAgIHJldHVybiBrZXlzLmxlbmd0aCA9PT0gMCA/IFwie31cIiA6IGB7ICR7a2V5cy5tYXAoKGtleTIpID0+IGAke2FwaURlc2NyaXB0b3Iua2V5KGtleTIpfTogJHthcGlEZXNjcmlwdG9yLnZhbHVlKHZhbHVlW2tleTJdKX1gKS5qb2luKFwiLCBcIil9IH1gO1xuICB9LFxuICBwYWlyOiAoeyBrZXk6IGtleTIsIHZhbHVlIH0pID0+IGFwaURlc2NyaXB0b3IudmFsdWUoeyBba2V5Ml06IHZhbHVlIH0pXG59O1xuXG4vLyBub2RlX21vZHVsZXMvY2hhbGsvc291cmNlL3ZlbmRvci9hbnNpLXN0eWxlcy9pbmRleC5qc1xudmFyIEFOU0lfQkFDS0dST1VORF9PRkZTRVQgPSAxMDtcbnZhciB3cmFwQW5zaTE2ID0gKG9mZnNldCA9IDApID0+IChjb2RlKSA9PiBgXFx4MUJbJHtjb2RlICsgb2Zmc2V0fW1gO1xudmFyIHdyYXBBbnNpMjU2ID0gKG9mZnNldCA9IDApID0+IChjb2RlKSA9PiBgXFx4MUJbJHszOCArIG9mZnNldH07NTske2NvZGV9bWA7XG52YXIgd3JhcEFuc2kxNm0gPSAob2Zmc2V0ID0gMCkgPT4gKHJlZCwgZ3JlZW4sIGJsdWUpID0+IGBcXHgxQlskezM4ICsgb2Zmc2V0fTsyOyR7cmVkfTske2dyZWVufTske2JsdWV9bWA7XG52YXIgc3R5bGVzID0ge1xuICBtb2RpZmllcjoge1xuICAgIHJlc2V0OiBbMCwgMF0sXG4gICAgLy8gMjEgaXNuJ3Qgd2lkZWx5IHN1cHBvcnRlZCBhbmQgMjIgZG9lcyB0aGUgc2FtZSB0aGluZ1xuICAgIGJvbGQ6IFsxLCAyMl0sXG4gICAgZGltOiBbMiwgMjJdLFxuICAgIGl0YWxpYzogWzMsIDIzXSxcbiAgICB1bmRlcmxpbmU6IFs0LCAyNF0sXG4gICAgb3ZlcmxpbmU6IFs1MywgNTVdLFxuICAgIGludmVyc2U6IFs3LCAyN10sXG4gICAgaGlkZGVuOiBbOCwgMjhdLFxuICAgIHN0cmlrZXRocm91Z2g6IFs5LCAyOV1cbiAgfSxcbiAgY29sb3I6IHtcbiAgICBibGFjazogWzMwLCAzOV0sXG4gICAgcmVkOiBbMzEsIDM5XSxcbiAgICBncmVlbjogWzMyLCAzOV0sXG4gICAgeWVsbG93OiBbMzMsIDM5XSxcbiAgICBibHVlOiBbMzQsIDM5XSxcbiAgICBtYWdlbnRhOiBbMzUsIDM5XSxcbiAgICBjeWFuOiBbMzYsIDM5XSxcbiAgICB3aGl0ZTogWzM3LCAzOV0sXG4gICAgLy8gQnJpZ2h0IGNvbG9yXG4gICAgYmxhY2tCcmlnaHQ6IFs5MCwgMzldLFxuICAgIGdyYXk6IFs5MCwgMzldLFxuICAgIC8vIEFsaWFzIG9mIGBibGFja0JyaWdodGBcbiAgICBncmV5OiBbOTAsIDM5XSxcbiAgICAvLyBBbGlhcyBvZiBgYmxhY2tCcmlnaHRgXG4gICAgcmVkQnJpZ2h0OiBbOTEsIDM5XSxcbiAgICBncmVlbkJyaWdodDogWzkyLCAzOV0sXG4gICAgeWVsbG93QnJpZ2h0OiBbOTMsIDM5XSxcbiAgICBibHVlQnJpZ2h0OiBbOTQsIDM5XSxcbiAgICBtYWdlbnRhQnJpZ2h0OiBbOTUsIDM5XSxcbiAgICBjeWFuQnJpZ2h0OiBbOTYsIDM5XSxcbiAgICB3aGl0ZUJyaWdodDogWzk3LCAzOV1cbiAgfSxcbiAgYmdDb2xvcjoge1xuICAgIGJnQmxhY2s6IFs0MCwgNDldLFxuICAgIGJnUmVkOiBbNDEsIDQ5XSxcbiAgICBiZ0dyZWVuOiBbNDIsIDQ5XSxcbiAgICBiZ1llbGxvdzogWzQzLCA0OV0sXG4gICAgYmdCbHVlOiBbNDQsIDQ5XSxcbiAgICBiZ01hZ2VudGE6IFs0NSwgNDldLFxuICAgIGJnQ3lhbjogWzQ2LCA0OV0sXG4gICAgYmdXaGl0ZTogWzQ3LCA0OV0sXG4gICAgLy8gQnJpZ2h0IGNvbG9yXG4gICAgYmdCbGFja0JyaWdodDogWzEwMCwgNDldLFxuICAgIGJnR3JheTogWzEwMCwgNDldLFxuICAgIC8vIEFsaWFzIG9mIGBiZ0JsYWNrQnJpZ2h0YFxuICAgIGJnR3JleTogWzEwMCwgNDldLFxuICAgIC8vIEFsaWFzIG9mIGBiZ0JsYWNrQnJpZ2h0YFxuICAgIGJnUmVkQnJpZ2h0OiBbMTAxLCA0OV0sXG4gICAgYmdHcmVlbkJyaWdodDogWzEwMiwgNDldLFxuICAgIGJnWWVsbG93QnJpZ2h0OiBbMTAzLCA0OV0sXG4gICAgYmdCbHVlQnJpZ2h0OiBbMTA0LCA0OV0sXG4gICAgYmdNYWdlbnRhQnJpZ2h0OiBbMTA1LCA0OV0sXG4gICAgYmdDeWFuQnJpZ2h0OiBbMTA2LCA0OV0sXG4gICAgYmdXaGl0ZUJyaWdodDogWzEwNywgNDldXG4gIH1cbn07XG52YXIgbW9kaWZpZXJOYW1lcyA9IE9iamVjdC5rZXlzKHN0eWxlcy5tb2RpZmllcik7XG52YXIgZm9yZWdyb3VuZENvbG9yTmFtZXMgPSBPYmplY3Qua2V5cyhzdHlsZXMuY29sb3IpO1xudmFyIGJhY2tncm91bmRDb2xvck5hbWVzID0gT2JqZWN0LmtleXMoc3R5bGVzLmJnQ29sb3IpO1xudmFyIGNvbG9yTmFtZXMgPSBbLi4uZm9yZWdyb3VuZENvbG9yTmFtZXMsIC4uLmJhY2tncm91bmRDb2xvck5hbWVzXTtcbmZ1bmN0aW9uIGFzc2VtYmxlU3R5bGVzKCkge1xuICBjb25zdCBjb2RlczIgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuICBmb3IgKGNvbnN0IFtncm91cE5hbWUsIGdyb3VwXSBvZiBPYmplY3QuZW50cmllcyhzdHlsZXMpKSB7XG4gICAgZm9yIChjb25zdCBbc3R5bGVOYW1lLCBzdHlsZV0gb2YgT2JqZWN0LmVudHJpZXMoZ3JvdXApKSB7XG4gICAgICBzdHlsZXNbc3R5bGVOYW1lXSA9IHtcbiAgICAgICAgb3BlbjogYFxceDFCWyR7c3R5bGVbMF19bWAsXG4gICAgICAgIGNsb3NlOiBgXFx4MUJbJHtzdHlsZVsxXX1tYFxuICAgICAgfTtcbiAgICAgIGdyb3VwW3N0eWxlTmFtZV0gPSBzdHlsZXNbc3R5bGVOYW1lXTtcbiAgICAgIGNvZGVzMi5zZXQoc3R5bGVbMF0sIHN0eWxlWzFdKTtcbiAgICB9XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHN0eWxlcywgZ3JvdXBOYW1lLCB7XG4gICAgICB2YWx1ZTogZ3JvdXAsXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZVxuICAgIH0pO1xuICB9XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShzdHlsZXMsIFwiY29kZXNcIiwge1xuICAgIHZhbHVlOiBjb2RlczIsXG4gICAgZW51bWVyYWJsZTogZmFsc2VcbiAgfSk7XG4gIHN0eWxlcy5jb2xvci5jbG9zZSA9IFwiXFx4MUJbMzltXCI7XG4gIHN0eWxlcy5iZ0NvbG9yLmNsb3NlID0gXCJcXHgxQls0OW1cIjtcbiAgc3R5bGVzLmNvbG9yLmFuc2kgPSB3cmFwQW5zaTE2KCk7XG4gIHN0eWxlcy5jb2xvci5hbnNpMjU2ID0gd3JhcEFuc2kyNTYoKTtcbiAgc3R5bGVzLmNvbG9yLmFuc2kxNm0gPSB3cmFwQW5zaTE2bSgpO1xuICBzdHlsZXMuYmdDb2xvci5hbnNpID0gd3JhcEFuc2kxNihBTlNJX0JBQ0tHUk9VTkRfT0ZGU0VUKTtcbiAgc3R5bGVzLmJnQ29sb3IuYW5zaTI1NiA9IHdyYXBBbnNpMjU2KEFOU0lfQkFDS0dST1VORF9PRkZTRVQpO1xuICBzdHlsZXMuYmdDb2xvci5hbnNpMTZtID0gd3JhcEFuc2kxNm0oQU5TSV9CQUNLR1JPVU5EX09GRlNFVCk7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKHN0eWxlcywge1xuICAgIHJnYlRvQW5zaTI1Njoge1xuICAgICAgdmFsdWUocmVkLCBncmVlbiwgYmx1ZSkge1xuICAgICAgICBpZiAocmVkID09PSBncmVlbiAmJiBncmVlbiA9PT0gYmx1ZSkge1xuICAgICAgICAgIGlmIChyZWQgPCA4KSB7XG4gICAgICAgICAgICByZXR1cm4gMTY7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChyZWQgPiAyNDgpIHtcbiAgICAgICAgICAgIHJldHVybiAyMzE7XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiBNYXRoLnJvdW5kKChyZWQgLSA4KSAvIDI0NyAqIDI0KSArIDIzMjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gMTYgKyAzNiAqIE1hdGgucm91bmQocmVkIC8gMjU1ICogNSkgKyA2ICogTWF0aC5yb3VuZChncmVlbiAvIDI1NSAqIDUpICsgTWF0aC5yb3VuZChibHVlIC8gMjU1ICogNSk7XG4gICAgICB9LFxuICAgICAgZW51bWVyYWJsZTogZmFsc2VcbiAgICB9LFxuICAgIGhleFRvUmdiOiB7XG4gICAgICB2YWx1ZShoZXgpIHtcbiAgICAgICAgY29uc3QgbWF0Y2hlcyA9IC9bYS1mXFxkXXs2fXxbYS1mXFxkXXszfS9pLmV4ZWMoaGV4LnRvU3RyaW5nKDE2KSk7XG4gICAgICAgIGlmICghbWF0Y2hlcykge1xuICAgICAgICAgIHJldHVybiBbMCwgMCwgMF07XG4gICAgICAgIH1cbiAgICAgICAgbGV0IFtjb2xvclN0cmluZ10gPSBtYXRjaGVzO1xuICAgICAgICBpZiAoY29sb3JTdHJpbmcubGVuZ3RoID09PSAzKSB7XG4gICAgICAgICAgY29sb3JTdHJpbmcgPSBbLi4uY29sb3JTdHJpbmddLm1hcCgoY2hhcmFjdGVyKSA9PiBjaGFyYWN0ZXIgKyBjaGFyYWN0ZXIpLmpvaW4oXCJcIik7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgaW50ZWdlciA9IE51bWJlci5wYXJzZUludChjb2xvclN0cmluZywgMTYpO1xuICAgICAgICByZXR1cm4gW1xuICAgICAgICAgIC8qIGVzbGludC1kaXNhYmxlIG5vLWJpdHdpc2UgKi9cbiAgICAgICAgICBpbnRlZ2VyID4+IDE2ICYgMjU1LFxuICAgICAgICAgIGludGVnZXIgPj4gOCAmIDI1NSxcbiAgICAgICAgICBpbnRlZ2VyICYgMjU1XG4gICAgICAgICAgLyogZXNsaW50LWVuYWJsZSBuby1iaXR3aXNlICovXG4gICAgICAgIF07XG4gICAgICB9LFxuICAgICAgZW51bWVyYWJsZTogZmFsc2VcbiAgICB9LFxuICAgIGhleFRvQW5zaTI1Njoge1xuICAgICAgdmFsdWU6IChoZXgpID0+IHN0eWxlcy5yZ2JUb0Fuc2kyNTYoLi4uc3R5bGVzLmhleFRvUmdiKGhleCkpLFxuICAgICAgZW51bWVyYWJsZTogZmFsc2VcbiAgICB9LFxuICAgIGFuc2kyNTZUb0Fuc2k6IHtcbiAgICAgIHZhbHVlKGNvZGUpIHtcbiAgICAgICAgaWYgKGNvZGUgPCA4KSB7XG4gICAgICAgICAgcmV0dXJuIDMwICsgY29kZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY29kZSA8IDE2KSB7XG4gICAgICAgICAgcmV0dXJuIDkwICsgKGNvZGUgLSA4KTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcmVkO1xuICAgICAgICBsZXQgZ3JlZW47XG4gICAgICAgIGxldCBibHVlO1xuICAgICAgICBpZiAoY29kZSA+PSAyMzIpIHtcbiAgICAgICAgICByZWQgPSAoKGNvZGUgLSAyMzIpICogMTAgKyA4KSAvIDI1NTtcbiAgICAgICAgICBncmVlbiA9IHJlZDtcbiAgICAgICAgICBibHVlID0gcmVkO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNvZGUgLT0gMTY7XG4gICAgICAgICAgY29uc3QgcmVtYWluZGVyID0gY29kZSAlIDM2O1xuICAgICAgICAgIHJlZCA9IE1hdGguZmxvb3IoY29kZSAvIDM2KSAvIDU7XG4gICAgICAgICAgZ3JlZW4gPSBNYXRoLmZsb29yKHJlbWFpbmRlciAvIDYpIC8gNTtcbiAgICAgICAgICBibHVlID0gcmVtYWluZGVyICUgNiAvIDU7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdmFsdWUgPSBNYXRoLm1heChyZWQsIGdyZWVuLCBibHVlKSAqIDI7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gMCkge1xuICAgICAgICAgIHJldHVybiAzMDtcbiAgICAgICAgfVxuICAgICAgICBsZXQgcmVzdWx0ID0gMzAgKyAoTWF0aC5yb3VuZChibHVlKSA8PCAyIHwgTWF0aC5yb3VuZChncmVlbikgPDwgMSB8IE1hdGgucm91bmQocmVkKSk7XG4gICAgICAgIGlmICh2YWx1ZSA9PT0gMikge1xuICAgICAgICAgIHJlc3VsdCArPSA2MDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlXG4gICAgfSxcbiAgICByZ2JUb0Fuc2k6IHtcbiAgICAgIHZhbHVlOiAocmVkLCBncmVlbiwgYmx1ZSkgPT4gc3R5bGVzLmFuc2kyNTZUb0Fuc2koc3R5bGVzLnJnYlRvQW5zaTI1NihyZWQsIGdyZWVuLCBibHVlKSksXG4gICAgICBlbnVtZXJhYmxlOiBmYWxzZVxuICAgIH0sXG4gICAgaGV4VG9BbnNpOiB7XG4gICAgICB2YWx1ZTogKGhleCkgPT4gc3R5bGVzLmFuc2kyNTZUb0Fuc2koc3R5bGVzLmhleFRvQW5zaTI1NihoZXgpKSxcbiAgICAgIGVudW1lcmFibGU6IGZhbHNlXG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHN0eWxlcztcbn1cbnZhciBhbnNpU3R5bGVzID0gYXNzZW1ibGVTdHlsZXMoKTtcbnZhciBhbnNpX3N0eWxlc19kZWZhdWx0ID0gYW5zaVN0eWxlcztcblxuLy8gbm9kZV9tb2R1bGVzL2NoYWxrL3NvdXJjZS92ZW5kb3Ivc3VwcG9ydHMtY29sb3IvaW5kZXguanNcbmltcG9ydCBwcm9jZXNzMiBmcm9tIFwicHJvY2Vzc1wiO1xuaW1wb3J0IG9zIGZyb20gXCJvc1wiO1xuaW1wb3J0IHR0eSBmcm9tIFwidHR5XCI7XG5mdW5jdGlvbiBoYXNGbGFnKGZsYWcsIGFyZ3YgPSBnbG9iYWxUaGlzLkRlbm8gPyBnbG9iYWxUaGlzLkRlbm8uYXJncyA6IHByb2Nlc3MyLmFyZ3YpIHtcbiAgY29uc3QgcHJlZml4ID0gZmxhZy5zdGFydHNXaXRoKFwiLVwiKSA/IFwiXCIgOiBmbGFnLmxlbmd0aCA9PT0gMSA/IFwiLVwiIDogXCItLVwiO1xuICBjb25zdCBwb3NpdGlvbiA9IGFyZ3YuaW5kZXhPZihwcmVmaXggKyBmbGFnKTtcbiAgY29uc3QgdGVybWluYXRvclBvc2l0aW9uID0gYXJndi5pbmRleE9mKFwiLS1cIik7XG4gIHJldHVybiBwb3NpdGlvbiAhPT0gLTEgJiYgKHRlcm1pbmF0b3JQb3NpdGlvbiA9PT0gLTEgfHwgcG9zaXRpb24gPCB0ZXJtaW5hdG9yUG9zaXRpb24pO1xufVxudmFyIHsgZW52IH0gPSBwcm9jZXNzMjtcbnZhciBmbGFnRm9yY2VDb2xvcjtcbmlmIChoYXNGbGFnKFwibm8tY29sb3JcIikgfHwgaGFzRmxhZyhcIm5vLWNvbG9yc1wiKSB8fCBoYXNGbGFnKFwiY29sb3I9ZmFsc2VcIikgfHwgaGFzRmxhZyhcImNvbG9yPW5ldmVyXCIpKSB7XG4gIGZsYWdGb3JjZUNvbG9yID0gMDtcbn0gZWxzZSBpZiAoaGFzRmxhZyhcImNvbG9yXCIpIHx8IGhhc0ZsYWcoXCJjb2xvcnNcIikgfHwgaGFzRmxhZyhcImNvbG9yPXRydWVcIikgfHwgaGFzRmxhZyhcImNvbG9yPWFsd2F5c1wiKSkge1xuICBmbGFnRm9yY2VDb2xvciA9IDE7XG59XG5mdW5jdGlvbiBlbnZGb3JjZUNvbG9yKCkge1xuICBpZiAoXCJGT1JDRV9DT0xPUlwiIGluIGVudikge1xuICAgIGlmIChlbnYuRk9SQ0VfQ09MT1IgPT09IFwidHJ1ZVwiKSB7XG4gICAgICByZXR1cm4gMTtcbiAgICB9XG4gICAgaWYgKGVudi5GT1JDRV9DT0xPUiA9PT0gXCJmYWxzZVwiKSB7XG4gICAgICByZXR1cm4gMDtcbiAgICB9XG4gICAgcmV0dXJuIGVudi5GT1JDRV9DT0xPUi5sZW5ndGggPT09IDAgPyAxIDogTWF0aC5taW4oTnVtYmVyLnBhcnNlSW50KGVudi5GT1JDRV9DT0xPUiwgMTApLCAzKTtcbiAgfVxufVxuZnVuY3Rpb24gdHJhbnNsYXRlTGV2ZWwobGV2ZWwpIHtcbiAgaWYgKGxldmVsID09PSAwKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiB7XG4gICAgbGV2ZWwsXG4gICAgaGFzQmFzaWM6IHRydWUsXG4gICAgaGFzMjU2OiBsZXZlbCA+PSAyLFxuICAgIGhhczE2bTogbGV2ZWwgPj0gM1xuICB9O1xufVxuZnVuY3Rpb24gX3N1cHBvcnRzQ29sb3IoaGF2ZVN0cmVhbSwgeyBzdHJlYW1Jc1RUWSwgc25pZmZGbGFncyA9IHRydWUgfSA9IHt9KSB7XG4gIGNvbnN0IG5vRmxhZ0ZvcmNlQ29sb3IgPSBlbnZGb3JjZUNvbG9yKCk7XG4gIGlmIChub0ZsYWdGb3JjZUNvbG9yICE9PSB2b2lkIDApIHtcbiAgICBmbGFnRm9yY2VDb2xvciA9IG5vRmxhZ0ZvcmNlQ29sb3I7XG4gIH1cbiAgY29uc3QgZm9yY2VDb2xvciA9IHNuaWZmRmxhZ3MgPyBmbGFnRm9yY2VDb2xvciA6IG5vRmxhZ0ZvcmNlQ29sb3I7XG4gIGlmIChmb3JjZUNvbG9yID09PSAwKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgaWYgKHNuaWZmRmxhZ3MpIHtcbiAgICBpZiAoaGFzRmxhZyhcImNvbG9yPTE2bVwiKSB8fCBoYXNGbGFnKFwiY29sb3I9ZnVsbFwiKSB8fCBoYXNGbGFnKFwiY29sb3I9dHJ1ZWNvbG9yXCIpKSB7XG4gICAgICByZXR1cm4gMztcbiAgICB9XG4gICAgaWYgKGhhc0ZsYWcoXCJjb2xvcj0yNTZcIikpIHtcbiAgICAgIHJldHVybiAyO1xuICAgIH1cbiAgfVxuICBpZiAoXCJURl9CVUlMRFwiIGluIGVudiAmJiBcIkFHRU5UX05BTUVcIiBpbiBlbnYpIHtcbiAgICByZXR1cm4gMTtcbiAgfVxuICBpZiAoaGF2ZVN0cmVhbSAmJiAhc3RyZWFtSXNUVFkgJiYgZm9yY2VDb2xvciA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgY29uc3QgbWluID0gZm9yY2VDb2xvciB8fCAwO1xuICBpZiAoZW52LlRFUk0gPT09IFwiZHVtYlwiKSB7XG4gICAgcmV0dXJuIG1pbjtcbiAgfVxuICBpZiAocHJvY2VzczIucGxhdGZvcm0gPT09IFwid2luMzJcIikge1xuICAgIGNvbnN0IG9zUmVsZWFzZSA9IG9zLnJlbGVhc2UoKS5zcGxpdChcIi5cIik7XG4gICAgaWYgKE51bWJlcihvc1JlbGVhc2VbMF0pID49IDEwICYmIE51bWJlcihvc1JlbGVhc2VbMl0pID49IDEwNTg2KSB7XG4gICAgICByZXR1cm4gTnVtYmVyKG9zUmVsZWFzZVsyXSkgPj0gMTQ5MzEgPyAzIDogMjtcbiAgICB9XG4gICAgcmV0dXJuIDE7XG4gIH1cbiAgaWYgKFwiQ0lcIiBpbiBlbnYpIHtcbiAgICBpZiAoXCJHSVRIVUJfQUNUSU9OU1wiIGluIGVudiB8fCBcIkdJVEVBX0FDVElPTlNcIiBpbiBlbnYpIHtcbiAgICAgIHJldHVybiAzO1xuICAgIH1cbiAgICBpZiAoW1wiVFJBVklTXCIsIFwiQ0lSQ0xFQ0lcIiwgXCJBUFBWRVlPUlwiLCBcIkdJVExBQl9DSVwiLCBcIkJVSUxES0lURVwiLCBcIkRST05FXCJdLnNvbWUoKHNpZ24yKSA9PiBzaWduMiBpbiBlbnYpIHx8IGVudi5DSV9OQU1FID09PSBcImNvZGVzaGlwXCIpIHtcbiAgICAgIHJldHVybiAxO1xuICAgIH1cbiAgICByZXR1cm4gbWluO1xuICB9XG4gIGlmIChcIlRFQU1DSVRZX1ZFUlNJT05cIiBpbiBlbnYpIHtcbiAgICByZXR1cm4gL14oOVxcLigwKlsxLTldXFxkKilcXC58XFxkezIsfVxcLikvLnRlc3QoZW52LlRFQU1DSVRZX1ZFUlNJT04pID8gMSA6IDA7XG4gIH1cbiAgaWYgKGVudi5DT0xPUlRFUk0gPT09IFwidHJ1ZWNvbG9yXCIpIHtcbiAgICByZXR1cm4gMztcbiAgfVxuICBpZiAoZW52LlRFUk0gPT09IFwieHRlcm0ta2l0dHlcIikge1xuICAgIHJldHVybiAzO1xuICB9XG4gIGlmIChcIlRFUk1fUFJPR1JBTVwiIGluIGVudikge1xuICAgIGNvbnN0IHZlcnNpb24gPSBOdW1iZXIucGFyc2VJbnQoKGVudi5URVJNX1BST0dSQU1fVkVSU0lPTiB8fCBcIlwiKS5zcGxpdChcIi5cIilbMF0sIDEwKTtcbiAgICBzd2l0Y2ggKGVudi5URVJNX1BST0dSQU0pIHtcbiAgICAgIGNhc2UgXCJpVGVybS5hcHBcIjoge1xuICAgICAgICByZXR1cm4gdmVyc2lvbiA+PSAzID8gMyA6IDI7XG4gICAgICB9XG4gICAgICBjYXNlIFwiQXBwbGVfVGVybWluYWxcIjoge1xuICAgICAgICByZXR1cm4gMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgaWYgKC8tMjU2KGNvbG9yKT8kL2kudGVzdChlbnYuVEVSTSkpIHtcbiAgICByZXR1cm4gMjtcbiAgfVxuICBpZiAoL15zY3JlZW58Xnh0ZXJtfF52dDEwMHxednQyMjB8XnJ4dnR8Y29sb3J8YW5zaXxjeWd3aW58bGludXgvaS50ZXN0KGVudi5URVJNKSkge1xuICAgIHJldHVybiAxO1xuICB9XG4gIGlmIChcIkNPTE9SVEVSTVwiIGluIGVudikge1xuICAgIHJldHVybiAxO1xuICB9XG4gIHJldHVybiBtaW47XG59XG5mdW5jdGlvbiBjcmVhdGVTdXBwb3J0c0NvbG9yKHN0cmVhbSwgb3B0aW9uczggPSB7fSkge1xuICBjb25zdCBsZXZlbCA9IF9zdXBwb3J0c0NvbG9yKHN0cmVhbSwge1xuICAgIHN0cmVhbUlzVFRZOiBzdHJlYW0gJiYgc3RyZWFtLmlzVFRZLFxuICAgIC4uLm9wdGlvbnM4XG4gIH0pO1xuICByZXR1cm4gdHJhbnNsYXRlTGV2ZWwobGV2ZWwpO1xufVxudmFyIHN1cHBvcnRzQ29sb3IgPSB7XG4gIHN0ZG91dDogY3JlYXRlU3VwcG9ydHNDb2xvcih7IGlzVFRZOiB0dHkuaXNhdHR5KDEpIH0pLFxuICBzdGRlcnI6IGNyZWF0ZVN1cHBvcnRzQ29sb3IoeyBpc1RUWTogdHR5LmlzYXR0eSgyKSB9KVxufTtcbnZhciBzdXBwb3J0c19jb2xvcl9kZWZhdWx0ID0gc3VwcG9ydHNDb2xvcjtcblxuLy8gbm9kZV9tb2R1bGVzL2NoYWxrL3NvdXJjZS91dGlsaXRpZXMuanNcbmZ1bmN0aW9uIHN0cmluZ1JlcGxhY2VBbGwoc3RyaW5nLCBzdWJzdHJpbmcsIHJlcGxhY2VyKSB7XG4gIGxldCBpbmRleCA9IHN0cmluZy5pbmRleE9mKHN1YnN0cmluZyk7XG4gIGlmIChpbmRleCA9PT0gLTEpIHtcbiAgICByZXR1cm4gc3RyaW5nO1xuICB9XG4gIGNvbnN0IHN1YnN0cmluZ0xlbmd0aCA9IHN1YnN0cmluZy5sZW5ndGg7XG4gIGxldCBlbmRJbmRleCA9IDA7XG4gIGxldCByZXR1cm5WYWx1ZSA9IFwiXCI7XG4gIGRvIHtcbiAgICByZXR1cm5WYWx1ZSArPSBzdHJpbmcuc2xpY2UoZW5kSW5kZXgsIGluZGV4KSArIHN1YnN0cmluZyArIHJlcGxhY2VyO1xuICAgIGVuZEluZGV4ID0gaW5kZXggKyBzdWJzdHJpbmdMZW5ndGg7XG4gICAgaW5kZXggPSBzdHJpbmcuaW5kZXhPZihzdWJzdHJpbmcsIGVuZEluZGV4KTtcbiAgfSB3aGlsZSAoaW5kZXggIT09IC0xKTtcbiAgcmV0dXJuVmFsdWUgKz0gc3RyaW5nLnNsaWNlKGVuZEluZGV4KTtcbiAgcmV0dXJuIHJldHVyblZhbHVlO1xufVxuZnVuY3Rpb24gc3RyaW5nRW5jYXNlQ1JMRldpdGhGaXJzdEluZGV4KHN0cmluZywgcHJlZml4LCBwb3N0Zml4LCBpbmRleCkge1xuICBsZXQgZW5kSW5kZXggPSAwO1xuICBsZXQgcmV0dXJuVmFsdWUgPSBcIlwiO1xuICBkbyB7XG4gICAgY29uc3QgZ290Q1IgPSBzdHJpbmdbaW5kZXggLSAxXSA9PT0gXCJcXHJcIjtcbiAgICByZXR1cm5WYWx1ZSArPSBzdHJpbmcuc2xpY2UoZW5kSW5kZXgsIGdvdENSID8gaW5kZXggLSAxIDogaW5kZXgpICsgcHJlZml4ICsgKGdvdENSID8gXCJcXHJcXG5cIiA6IFwiXFxuXCIpICsgcG9zdGZpeDtcbiAgICBlbmRJbmRleCA9IGluZGV4ICsgMTtcbiAgICBpbmRleCA9IHN0cmluZy5pbmRleE9mKFwiXFxuXCIsIGVuZEluZGV4KTtcbiAgfSB3aGlsZSAoaW5kZXggIT09IC0xKTtcbiAgcmV0dXJuVmFsdWUgKz0gc3RyaW5nLnNsaWNlKGVuZEluZGV4KTtcbiAgcmV0dXJuIHJldHVyblZhbHVlO1xufVxuXG4vLyBub2RlX21vZHVsZXMvY2hhbGsvc291cmNlL2luZGV4LmpzXG52YXIgeyBzdGRvdXQ6IHN0ZG91dENvbG9yLCBzdGRlcnI6IHN0ZGVyckNvbG9yIH0gPSBzdXBwb3J0c19jb2xvcl9kZWZhdWx0O1xudmFyIEdFTkVSQVRPUiA9IFN5bWJvbChcIkdFTkVSQVRPUlwiKTtcbnZhciBTVFlMRVIgPSBTeW1ib2woXCJTVFlMRVJcIik7XG52YXIgSVNfRU1QVFkgPSBTeW1ib2woXCJJU19FTVBUWVwiKTtcbnZhciBsZXZlbE1hcHBpbmcgPSBbXG4gIFwiYW5zaVwiLFxuICBcImFuc2lcIixcbiAgXCJhbnNpMjU2XCIsXG4gIFwiYW5zaTE2bVwiXG5dO1xudmFyIHN0eWxlczIgPSAvKiBAX19QVVJFX18gKi8gT2JqZWN0LmNyZWF0ZShudWxsKTtcbnZhciBhcHBseU9wdGlvbnMgPSAob2JqZWN0LCBvcHRpb25zOCA9IHt9KSA9PiB7XG4gIGlmIChvcHRpb25zOC5sZXZlbCAmJiAhKE51bWJlci5pc0ludGVnZXIob3B0aW9uczgubGV2ZWwpICYmIG9wdGlvbnM4LmxldmVsID49IDAgJiYgb3B0aW9uczgubGV2ZWwgPD0gMykpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgYGxldmVsYCBvcHRpb24gc2hvdWxkIGJlIGFuIGludGVnZXIgZnJvbSAwIHRvIDNcIik7XG4gIH1cbiAgY29uc3QgY29sb3JMZXZlbCA9IHN0ZG91dENvbG9yID8gc3Rkb3V0Q29sb3IubGV2ZWwgOiAwO1xuICBvYmplY3QubGV2ZWwgPSBvcHRpb25zOC5sZXZlbCA9PT0gdm9pZCAwID8gY29sb3JMZXZlbCA6IG9wdGlvbnM4LmxldmVsO1xufTtcbnZhciBjaGFsa0ZhY3RvcnkgPSAob3B0aW9uczgpID0+IHtcbiAgY29uc3QgY2hhbGsyID0gKC4uLnN0cmluZ3MpID0+IHN0cmluZ3Muam9pbihcIiBcIik7XG4gIGFwcGx5T3B0aW9ucyhjaGFsazIsIG9wdGlvbnM4KTtcbiAgT2JqZWN0LnNldFByb3RvdHlwZU9mKGNoYWxrMiwgY3JlYXRlQ2hhbGsucHJvdG90eXBlKTtcbiAgcmV0dXJuIGNoYWxrMjtcbn07XG5mdW5jdGlvbiBjcmVhdGVDaGFsayhvcHRpb25zOCkge1xuICByZXR1cm4gY2hhbGtGYWN0b3J5KG9wdGlvbnM4KTtcbn1cbk9iamVjdC5zZXRQcm90b3R5cGVPZihjcmVhdGVDaGFsay5wcm90b3R5cGUsIEZ1bmN0aW9uLnByb3RvdHlwZSk7XG5mb3IgKGNvbnN0IFtzdHlsZU5hbWUsIHN0eWxlXSBvZiBPYmplY3QuZW50cmllcyhhbnNpX3N0eWxlc19kZWZhdWx0KSkge1xuICBzdHlsZXMyW3N0eWxlTmFtZV0gPSB7XG4gICAgZ2V0KCkge1xuICAgICAgY29uc3QgYnVpbGRlciA9IGNyZWF0ZUJ1aWxkZXIodGhpcywgY3JlYXRlU3R5bGVyKHN0eWxlLm9wZW4sIHN0eWxlLmNsb3NlLCB0aGlzW1NUWUxFUl0pLCB0aGlzW0lTX0VNUFRZXSk7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgc3R5bGVOYW1lLCB7IHZhbHVlOiBidWlsZGVyIH0pO1xuICAgICAgcmV0dXJuIGJ1aWxkZXI7XG4gICAgfVxuICB9O1xufVxuc3R5bGVzMi52aXNpYmxlID0ge1xuICBnZXQoKSB7XG4gICAgY29uc3QgYnVpbGRlciA9IGNyZWF0ZUJ1aWxkZXIodGhpcywgdGhpc1tTVFlMRVJdLCB0cnVlKTtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgXCJ2aXNpYmxlXCIsIHsgdmFsdWU6IGJ1aWxkZXIgfSk7XG4gICAgcmV0dXJuIGJ1aWxkZXI7XG4gIH1cbn07XG52YXIgZ2V0TW9kZWxBbnNpID0gKG1vZGVsLCBsZXZlbCwgdHlwZTIsIC4uLmFyZ3VtZW50c18pID0+IHtcbiAgaWYgKG1vZGVsID09PSBcInJnYlwiKSB7XG4gICAgaWYgKGxldmVsID09PSBcImFuc2kxNm1cIikge1xuICAgICAgcmV0dXJuIGFuc2lfc3R5bGVzX2RlZmF1bHRbdHlwZTJdLmFuc2kxNm0oLi4uYXJndW1lbnRzXyk7XG4gICAgfVxuICAgIGlmIChsZXZlbCA9PT0gXCJhbnNpMjU2XCIpIHtcbiAgICAgIHJldHVybiBhbnNpX3N0eWxlc19kZWZhdWx0W3R5cGUyXS5hbnNpMjU2KGFuc2lfc3R5bGVzX2RlZmF1bHQucmdiVG9BbnNpMjU2KC4uLmFyZ3VtZW50c18pKTtcbiAgICB9XG4gICAgcmV0dXJuIGFuc2lfc3R5bGVzX2RlZmF1bHRbdHlwZTJdLmFuc2koYW5zaV9zdHlsZXNfZGVmYXVsdC5yZ2JUb0Fuc2koLi4uYXJndW1lbnRzXykpO1xuICB9XG4gIGlmIChtb2RlbCA9PT0gXCJoZXhcIikge1xuICAgIHJldHVybiBnZXRNb2RlbEFuc2koXCJyZ2JcIiwgbGV2ZWwsIHR5cGUyLCAuLi5hbnNpX3N0eWxlc19kZWZhdWx0LmhleFRvUmdiKC4uLmFyZ3VtZW50c18pKTtcbiAgfVxuICByZXR1cm4gYW5zaV9zdHlsZXNfZGVmYXVsdFt0eXBlMl1bbW9kZWxdKC4uLmFyZ3VtZW50c18pO1xufTtcbnZhciB1c2VkTW9kZWxzID0gW1wicmdiXCIsIFwiaGV4XCIsIFwiYW5zaTI1NlwiXTtcbmZvciAoY29uc3QgbW9kZWwgb2YgdXNlZE1vZGVscykge1xuICBzdHlsZXMyW21vZGVsXSA9IHtcbiAgICBnZXQoKSB7XG4gICAgICBjb25zdCB7IGxldmVsIH0gPSB0aGlzO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKC4uLmFyZ3VtZW50c18pIHtcbiAgICAgICAgY29uc3Qgc3R5bGVyID0gY3JlYXRlU3R5bGVyKGdldE1vZGVsQW5zaShtb2RlbCwgbGV2ZWxNYXBwaW5nW2xldmVsXSwgXCJjb2xvclwiLCAuLi5hcmd1bWVudHNfKSwgYW5zaV9zdHlsZXNfZGVmYXVsdC5jb2xvci5jbG9zZSwgdGhpc1tTVFlMRVJdKTtcbiAgICAgICAgcmV0dXJuIGNyZWF0ZUJ1aWxkZXIodGhpcywgc3R5bGVyLCB0aGlzW0lTX0VNUFRZXSk7XG4gICAgICB9O1xuICAgIH1cbiAgfTtcbiAgY29uc3QgYmdNb2RlbCA9IFwiYmdcIiArIG1vZGVsWzBdLnRvVXBwZXJDYXNlKCkgKyBtb2RlbC5zbGljZSgxKTtcbiAgc3R5bGVzMltiZ01vZGVsXSA9IHtcbiAgICBnZXQoKSB7XG4gICAgICBjb25zdCB7IGxldmVsIH0gPSB0aGlzO1xuICAgICAgcmV0dXJuIGZ1bmN0aW9uKC4uLmFyZ3VtZW50c18pIHtcbiAgICAgICAgY29uc3Qgc3R5bGVyID0gY3JlYXRlU3R5bGVyKGdldE1vZGVsQW5zaShtb2RlbCwgbGV2ZWxNYXBwaW5nW2xldmVsXSwgXCJiZ0NvbG9yXCIsIC4uLmFyZ3VtZW50c18pLCBhbnNpX3N0eWxlc19kZWZhdWx0LmJnQ29sb3IuY2xvc2UsIHRoaXNbU1RZTEVSXSk7XG4gICAgICAgIHJldHVybiBjcmVhdGVCdWlsZGVyKHRoaXMsIHN0eWxlciwgdGhpc1tJU19FTVBUWV0pO1xuICAgICAgfTtcbiAgICB9XG4gIH07XG59XG52YXIgcHJvdG8gPSBPYmplY3QuZGVmaW5lUHJvcGVydGllcygoKSA9PiB7XG59LCB7XG4gIC4uLnN0eWxlczIsXG4gIGxldmVsOiB7XG4gICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICBnZXQoKSB7XG4gICAgICByZXR1cm4gdGhpc1tHRU5FUkFUT1JdLmxldmVsO1xuICAgIH0sXG4gICAgc2V0KGxldmVsKSB7XG4gICAgICB0aGlzW0dFTkVSQVRPUl0ubGV2ZWwgPSBsZXZlbDtcbiAgICB9XG4gIH1cbn0pO1xudmFyIGNyZWF0ZVN0eWxlciA9IChvcGVuLCBjbG9zZSwgcGFyZW50KSA9PiB7XG4gIGxldCBvcGVuQWxsO1xuICBsZXQgY2xvc2VBbGw7XG4gIGlmIChwYXJlbnQgPT09IHZvaWQgMCkge1xuICAgIG9wZW5BbGwgPSBvcGVuO1xuICAgIGNsb3NlQWxsID0gY2xvc2U7XG4gIH0gZWxzZSB7XG4gICAgb3BlbkFsbCA9IHBhcmVudC5vcGVuQWxsICsgb3BlbjtcbiAgICBjbG9zZUFsbCA9IGNsb3NlICsgcGFyZW50LmNsb3NlQWxsO1xuICB9XG4gIHJldHVybiB7XG4gICAgb3BlbixcbiAgICBjbG9zZSxcbiAgICBvcGVuQWxsLFxuICAgIGNsb3NlQWxsLFxuICAgIHBhcmVudFxuICB9O1xufTtcbnZhciBjcmVhdGVCdWlsZGVyID0gKHNlbGYsIF9zdHlsZXIsIF9pc0VtcHR5KSA9PiB7XG4gIGNvbnN0IGJ1aWxkZXIgPSAoLi4uYXJndW1lbnRzXykgPT4gYXBwbHlTdHlsZShidWlsZGVyLCBhcmd1bWVudHNfLmxlbmd0aCA9PT0gMSA/IFwiXCIgKyBhcmd1bWVudHNfWzBdIDogYXJndW1lbnRzXy5qb2luKFwiIFwiKSk7XG4gIE9iamVjdC5zZXRQcm90b3R5cGVPZihidWlsZGVyLCBwcm90byk7XG4gIGJ1aWxkZXJbR0VORVJBVE9SXSA9IHNlbGY7XG4gIGJ1aWxkZXJbU1RZTEVSXSA9IF9zdHlsZXI7XG4gIGJ1aWxkZXJbSVNfRU1QVFldID0gX2lzRW1wdHk7XG4gIHJldHVybiBidWlsZGVyO1xufTtcbnZhciBhcHBseVN0eWxlID0gKHNlbGYsIHN0cmluZykgPT4ge1xuICBpZiAoc2VsZi5sZXZlbCA8PSAwIHx8ICFzdHJpbmcpIHtcbiAgICByZXR1cm4gc2VsZltJU19FTVBUWV0gPyBcIlwiIDogc3RyaW5nO1xuICB9XG4gIGxldCBzdHlsZXIgPSBzZWxmW1NUWUxFUl07XG4gIGlmIChzdHlsZXIgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiBzdHJpbmc7XG4gIH1cbiAgY29uc3QgeyBvcGVuQWxsLCBjbG9zZUFsbCB9ID0gc3R5bGVyO1xuICBpZiAoc3RyaW5nLmluY2x1ZGVzKFwiXFx4MUJcIikpIHtcbiAgICB3aGlsZSAoc3R5bGVyICE9PSB2b2lkIDApIHtcbiAgICAgIHN0cmluZyA9IHN0cmluZ1JlcGxhY2VBbGwoc3RyaW5nLCBzdHlsZXIuY2xvc2UsIHN0eWxlci5vcGVuKTtcbiAgICAgIHN0eWxlciA9IHN0eWxlci5wYXJlbnQ7XG4gICAgfVxuICB9XG4gIGNvbnN0IGxmSW5kZXggPSBzdHJpbmcuaW5kZXhPZihcIlxcblwiKTtcbiAgaWYgKGxmSW5kZXggIT09IC0xKSB7XG4gICAgc3RyaW5nID0gc3RyaW5nRW5jYXNlQ1JMRldpdGhGaXJzdEluZGV4KHN0cmluZywgY2xvc2VBbGwsIG9wZW5BbGwsIGxmSW5kZXgpO1xuICB9XG4gIHJldHVybiBvcGVuQWxsICsgc3RyaW5nICsgY2xvc2VBbGw7XG59O1xuT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoY3JlYXRlQ2hhbGsucHJvdG90eXBlLCBzdHlsZXMyKTtcbnZhciBjaGFsayA9IGNyZWF0ZUNoYWxrKCk7XG52YXIgY2hhbGtTdGRlcnIgPSBjcmVhdGVDaGFsayh7IGxldmVsOiBzdGRlcnJDb2xvciA/IHN0ZGVyckNvbG9yLmxldmVsIDogMCB9KTtcbnZhciBzb3VyY2VfZGVmYXVsdCA9IGNoYWxrO1xuXG4vLyBub2RlX21vZHVsZXMvdm5vcHRzL2xpYi9oYW5kbGVycy9kZXByZWNhdGVkL2NvbW1vbi5qc1xudmFyIGNvbW1vbkRlcHJlY2F0ZWRIYW5kbGVyID0gKGtleU9yUGFpciwgcmVkaXJlY3RUbywgeyBkZXNjcmlwdG9yIH0pID0+IHtcbiAgY29uc3QgbWVzc2FnZXMyID0gW1xuICAgIGAke3NvdXJjZV9kZWZhdWx0LnllbGxvdyh0eXBlb2Yga2V5T3JQYWlyID09PSBcInN0cmluZ1wiID8gZGVzY3JpcHRvci5rZXkoa2V5T3JQYWlyKSA6IGRlc2NyaXB0b3IucGFpcihrZXlPclBhaXIpKX0gaXMgZGVwcmVjYXRlZGBcbiAgXTtcbiAgaWYgKHJlZGlyZWN0VG8pIHtcbiAgICBtZXNzYWdlczIucHVzaChgd2Ugbm93IHRyZWF0IGl0IGFzICR7c291cmNlX2RlZmF1bHQuYmx1ZSh0eXBlb2YgcmVkaXJlY3RUbyA9PT0gXCJzdHJpbmdcIiA/IGRlc2NyaXB0b3Iua2V5KHJlZGlyZWN0VG8pIDogZGVzY3JpcHRvci5wYWlyKHJlZGlyZWN0VG8pKX1gKTtcbiAgfVxuICByZXR1cm4gbWVzc2FnZXMyLmpvaW4oXCI7IFwiKSArIFwiLlwiO1xufTtcblxuLy8gbm9kZV9tb2R1bGVzL3Zub3B0cy9saWIvY29uc3RhbnRzLmpzXG52YXIgVkFMVUVfTk9UX0VYSVNUID0gU3ltYm9sLmZvcihcInZub3B0cy5WQUxVRV9OT1RfRVhJU1RcIik7XG52YXIgVkFMVUVfVU5DSEFOR0VEID0gU3ltYm9sLmZvcihcInZub3B0cy5WQUxVRV9VTkNIQU5HRURcIik7XG5cbi8vIG5vZGVfbW9kdWxlcy92bm9wdHMvbGliL2hhbmRsZXJzL2ludmFsaWQvY29tbW9uLmpzXG52YXIgSU5ERU5UQVRJT04gPSBcIiBcIi5yZXBlYXQoMik7XG52YXIgY29tbW9uSW52YWxpZEhhbmRsZXIgPSAoa2V5MiwgdmFsdWUsIHV0aWxzKSA9PiB7XG4gIGNvbnN0IHsgdGV4dCwgbGlzdCB9ID0gdXRpbHMubm9ybWFsaXplRXhwZWN0ZWRSZXN1bHQodXRpbHMuc2NoZW1hc1trZXkyXS5leHBlY3RlZCh1dGlscykpO1xuICBjb25zdCBkZXNjcmlwdGlvbnMgPSBbXTtcbiAgaWYgKHRleHQpIHtcbiAgICBkZXNjcmlwdGlvbnMucHVzaChnZXREZXNjcmlwdGlvbihrZXkyLCB2YWx1ZSwgdGV4dCwgdXRpbHMuZGVzY3JpcHRvcikpO1xuICB9XG4gIGlmIChsaXN0KSB7XG4gICAgZGVzY3JpcHRpb25zLnB1c2goW2dldERlc2NyaXB0aW9uKGtleTIsIHZhbHVlLCBsaXN0LnRpdGxlLCB1dGlscy5kZXNjcmlwdG9yKV0uY29uY2F0KGxpc3QudmFsdWVzLm1hcCgodmFsdWVEZXNjcmlwdGlvbikgPT4gZ2V0TGlzdERlc2NyaXB0aW9uKHZhbHVlRGVzY3JpcHRpb24sIHV0aWxzLmxvZ2dlclByaW50V2lkdGgpKSkuam9pbihcIlxcblwiKSk7XG4gIH1cbiAgcmV0dXJuIGNob29zZURlc2NyaXB0aW9uKGRlc2NyaXB0aW9ucywgdXRpbHMubG9nZ2VyUHJpbnRXaWR0aCk7XG59O1xuZnVuY3Rpb24gZ2V0RGVzY3JpcHRpb24oa2V5MiwgdmFsdWUsIGV4cGVjdGVkLCBkZXNjcmlwdG9yKSB7XG4gIHJldHVybiBbXG4gICAgYEludmFsaWQgJHtzb3VyY2VfZGVmYXVsdC5yZWQoZGVzY3JpcHRvci5rZXkoa2V5MikpfSB2YWx1ZS5gLFxuICAgIGBFeHBlY3RlZCAke3NvdXJjZV9kZWZhdWx0LmJsdWUoZXhwZWN0ZWQpfSxgLFxuICAgIGBidXQgcmVjZWl2ZWQgJHt2YWx1ZSA9PT0gVkFMVUVfTk9UX0VYSVNUID8gc291cmNlX2RlZmF1bHQuZ3JheShcIm5vdGhpbmdcIikgOiBzb3VyY2VfZGVmYXVsdC5yZWQoZGVzY3JpcHRvci52YWx1ZSh2YWx1ZSkpfS5gXG4gIF0uam9pbihcIiBcIik7XG59XG5mdW5jdGlvbiBnZXRMaXN0RGVzY3JpcHRpb24oeyB0ZXh0LCBsaXN0IH0sIHByaW50V2lkdGgpIHtcbiAgY29uc3QgZGVzY3JpcHRpb25zID0gW107XG4gIGlmICh0ZXh0KSB7XG4gICAgZGVzY3JpcHRpb25zLnB1c2goYC0gJHtzb3VyY2VfZGVmYXVsdC5ibHVlKHRleHQpfWApO1xuICB9XG4gIGlmIChsaXN0KSB7XG4gICAgZGVzY3JpcHRpb25zLnB1c2goW2AtICR7c291cmNlX2RlZmF1bHQuYmx1ZShsaXN0LnRpdGxlKX06YF0uY29uY2F0KGxpc3QudmFsdWVzLm1hcCgodmFsdWVEZXNjcmlwdGlvbikgPT4gZ2V0TGlzdERlc2NyaXB0aW9uKHZhbHVlRGVzY3JpcHRpb24sIHByaW50V2lkdGggLSBJTkRFTlRBVElPTi5sZW5ndGgpLnJlcGxhY2UoL158XFxuL2csIGAkJiR7SU5ERU5UQVRJT059YCkpKS5qb2luKFwiXFxuXCIpKTtcbiAgfVxuICByZXR1cm4gY2hvb3NlRGVzY3JpcHRpb24oZGVzY3JpcHRpb25zLCBwcmludFdpZHRoKTtcbn1cbmZ1bmN0aW9uIGNob29zZURlc2NyaXB0aW9uKGRlc2NyaXB0aW9ucywgcHJpbnRXaWR0aCkge1xuICBpZiAoZGVzY3JpcHRpb25zLmxlbmd0aCA9PT0gMSkge1xuICAgIHJldHVybiBkZXNjcmlwdGlvbnNbMF07XG4gIH1cbiAgY29uc3QgW2ZpcnN0RGVzY3JpcHRpb24sIHNlY29uZERlc2NyaXB0aW9uXSA9IGRlc2NyaXB0aW9ucztcbiAgY29uc3QgW2ZpcnN0V2lkdGgsIHNlY29uZFdpZHRoXSA9IGRlc2NyaXB0aW9ucy5tYXAoKGRlc2NyaXB0aW9uKSA9PiBkZXNjcmlwdGlvbi5zcGxpdChcIlxcblwiLCAxKVswXS5sZW5ndGgpO1xuICByZXR1cm4gZmlyc3RXaWR0aCA+IHByaW50V2lkdGggJiYgZmlyc3RXaWR0aCA+IHNlY29uZFdpZHRoID8gc2Vjb25kRGVzY3JpcHRpb24gOiBmaXJzdERlc2NyaXB0aW9uO1xufVxuXG4vLyBub2RlX21vZHVsZXMvbGV2ZW4vaW5kZXguanNcbnZhciBhcnJheSA9IFtdO1xudmFyIGNoYXJhY3RlckNvZGVDYWNoZSA9IFtdO1xuZnVuY3Rpb24gbGV2ZW4oZmlyc3QsIHNlY29uZCkge1xuICBpZiAoZmlyc3QgPT09IHNlY29uZCkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGNvbnN0IHN3YXAgPSBmaXJzdDtcbiAgaWYgKGZpcnN0Lmxlbmd0aCA+IHNlY29uZC5sZW5ndGgpIHtcbiAgICBmaXJzdCA9IHNlY29uZDtcbiAgICBzZWNvbmQgPSBzd2FwO1xuICB9XG4gIGxldCBmaXJzdExlbmd0aCA9IGZpcnN0Lmxlbmd0aDtcbiAgbGV0IHNlY29uZExlbmd0aCA9IHNlY29uZC5sZW5ndGg7XG4gIHdoaWxlIChmaXJzdExlbmd0aCA+IDAgJiYgZmlyc3QuY2hhckNvZGVBdCh+LWZpcnN0TGVuZ3RoKSA9PT0gc2Vjb25kLmNoYXJDb2RlQXQofi1zZWNvbmRMZW5ndGgpKSB7XG4gICAgZmlyc3RMZW5ndGgtLTtcbiAgICBzZWNvbmRMZW5ndGgtLTtcbiAgfVxuICBsZXQgc3RhcnQgPSAwO1xuICB3aGlsZSAoc3RhcnQgPCBmaXJzdExlbmd0aCAmJiBmaXJzdC5jaGFyQ29kZUF0KHN0YXJ0KSA9PT0gc2Vjb25kLmNoYXJDb2RlQXQoc3RhcnQpKSB7XG4gICAgc3RhcnQrKztcbiAgfVxuICBmaXJzdExlbmd0aCAtPSBzdGFydDtcbiAgc2Vjb25kTGVuZ3RoIC09IHN0YXJ0O1xuICBpZiAoZmlyc3RMZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gc2Vjb25kTGVuZ3RoO1xuICB9XG4gIGxldCBiQ2hhcmFjdGVyQ29kZTtcbiAgbGV0IHJlc3VsdDtcbiAgbGV0IHRlbXBvcmFyeTtcbiAgbGV0IHRlbXBvcmFyeTI7XG4gIGxldCBpbmRleCA9IDA7XG4gIGxldCBpbmRleDIgPSAwO1xuICB3aGlsZSAoaW5kZXggPCBmaXJzdExlbmd0aCkge1xuICAgIGNoYXJhY3RlckNvZGVDYWNoZVtpbmRleF0gPSBmaXJzdC5jaGFyQ29kZUF0KHN0YXJ0ICsgaW5kZXgpO1xuICAgIGFycmF5W2luZGV4XSA9ICsraW5kZXg7XG4gIH1cbiAgd2hpbGUgKGluZGV4MiA8IHNlY29uZExlbmd0aCkge1xuICAgIGJDaGFyYWN0ZXJDb2RlID0gc2Vjb25kLmNoYXJDb2RlQXQoc3RhcnQgKyBpbmRleDIpO1xuICAgIHRlbXBvcmFyeSA9IGluZGV4MisrO1xuICAgIHJlc3VsdCA9IGluZGV4MjtcbiAgICBmb3IgKGluZGV4ID0gMDsgaW5kZXggPCBmaXJzdExlbmd0aDsgaW5kZXgrKykge1xuICAgICAgdGVtcG9yYXJ5MiA9IGJDaGFyYWN0ZXJDb2RlID09PSBjaGFyYWN0ZXJDb2RlQ2FjaGVbaW5kZXhdID8gdGVtcG9yYXJ5IDogdGVtcG9yYXJ5ICsgMTtcbiAgICAgIHRlbXBvcmFyeSA9IGFycmF5W2luZGV4XTtcbiAgICAgIHJlc3VsdCA9IGFycmF5W2luZGV4XSA9IHRlbXBvcmFyeSA+IHJlc3VsdCA/IHRlbXBvcmFyeTIgPiByZXN1bHQgPyByZXN1bHQgKyAxIDogdGVtcG9yYXJ5MiA6IHRlbXBvcmFyeTIgPiB0ZW1wb3JhcnkgPyB0ZW1wb3JhcnkgKyAxIDogdGVtcG9yYXJ5MjtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLy8gbm9kZV9tb2R1bGVzL3Zub3B0cy9saWIvaGFuZGxlcnMvdW5rbm93bi9sZXZlbi5qc1xudmFyIGxldmVuVW5rbm93bkhhbmRsZXIgPSAoa2V5MiwgdmFsdWUsIHsgZGVzY3JpcHRvciwgbG9nZ2VyLCBzY2hlbWFzIH0pID0+IHtcbiAgY29uc3QgbWVzc2FnZXMyID0gW1xuICAgIGBJZ25vcmVkIHVua25vd24gb3B0aW9uICR7c291cmNlX2RlZmF1bHQueWVsbG93KGRlc2NyaXB0b3IucGFpcih7IGtleToga2V5MiwgdmFsdWUgfSkpfS5gXG4gIF07XG4gIGNvbnN0IHN1Z2dlc3Rpb24gPSBPYmplY3Qua2V5cyhzY2hlbWFzKS5zb3J0KCkuZmluZCgoa25vd25LZXkpID0+IGxldmVuKGtleTIsIGtub3duS2V5KSA8IDMpO1xuICBpZiAoc3VnZ2VzdGlvbikge1xuICAgIG1lc3NhZ2VzMi5wdXNoKGBEaWQgeW91IG1lYW4gJHtzb3VyY2VfZGVmYXVsdC5ibHVlKGRlc2NyaXB0b3Iua2V5KHN1Z2dlc3Rpb24pKX0/YCk7XG4gIH1cbiAgbG9nZ2VyLndhcm4obWVzc2FnZXMyLmpvaW4oXCIgXCIpKTtcbn07XG5cbi8vIG5vZGVfbW9kdWxlcy92bm9wdHMvbGliL3NjaGVtYS5qc1xudmFyIEhBTkRMRVJfS0VZUyA9IFtcbiAgXCJkZWZhdWx0XCIsXG4gIFwiZXhwZWN0ZWRcIixcbiAgXCJ2YWxpZGF0ZVwiLFxuICBcImRlcHJlY2F0ZWRcIixcbiAgXCJmb3J3YXJkXCIsXG4gIFwicmVkaXJlY3RcIixcbiAgXCJvdmVybGFwXCIsXG4gIFwicHJlcHJvY2Vzc1wiLFxuICBcInBvc3Rwcm9jZXNzXCJcbl07XG5mdW5jdGlvbiBjcmVhdGVTY2hlbWEoU2NoZW1hQ29uc3RydWN0b3IsIHBhcmFtZXRlcnMpIHtcbiAgY29uc3Qgc2NoZW1hMiA9IG5ldyBTY2hlbWFDb25zdHJ1Y3RvcihwYXJhbWV0ZXJzKTtcbiAgY29uc3Qgc3ViU2NoZW1hID0gT2JqZWN0LmNyZWF0ZShzY2hlbWEyKTtcbiAgZm9yIChjb25zdCBoYW5kbGVyS2V5IG9mIEhBTkRMRVJfS0VZUykge1xuICAgIGlmIChoYW5kbGVyS2V5IGluIHBhcmFtZXRlcnMpIHtcbiAgICAgIHN1YlNjaGVtYVtoYW5kbGVyS2V5XSA9IG5vcm1hbGl6ZUhhbmRsZXIocGFyYW1ldGVyc1toYW5kbGVyS2V5XSwgc2NoZW1hMiwgU2NoZW1hLnByb3RvdHlwZVtoYW5kbGVyS2V5XS5sZW5ndGgpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gc3ViU2NoZW1hO1xufVxudmFyIFNjaGVtYSA9IGNsYXNzIHtcbiAgc3RhdGljIGNyZWF0ZShwYXJhbWV0ZXJzKSB7XG4gICAgcmV0dXJuIGNyZWF0ZVNjaGVtYSh0aGlzLCBwYXJhbWV0ZXJzKTtcbiAgfVxuICBjb25zdHJ1Y3RvcihwYXJhbWV0ZXJzKSB7XG4gICAgdGhpcy5uYW1lID0gcGFyYW1ldGVycy5uYW1lO1xuICB9XG4gIGRlZmF1bHQoX3V0aWxzKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICAvLyB0aGlzIGlzIGFjdHVhbGx5IGFuIGFic3RyYWN0IG1ldGhvZCBidXQgd2UgbmVlZCBhIHBsYWNlaG9sZGVyIHRvIGdldCBgZnVuY3Rpb24ubGVuZ3RoYFxuICAvKiBjOCBpZ25vcmUgc3RhcnQgKi9cbiAgZXhwZWN0ZWQoX3V0aWxzKSB7XG4gICAgcmV0dXJuIFwibm90aGluZ1wiO1xuICB9XG4gIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gIC8vIHRoaXMgaXMgYWN0dWFsbHkgYW4gYWJzdHJhY3QgbWV0aG9kIGJ1dCB3ZSBuZWVkIGEgcGxhY2Vob2xkZXIgdG8gZ2V0IGBmdW5jdGlvbi5sZW5ndGhgXG4gIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICB2YWxpZGF0ZShfdmFsdWUsIF91dGlscykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuICBkZXByZWNhdGVkKF92YWx1ZSwgX3V0aWxzKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGZvcndhcmQoX3ZhbHVlLCBfdXRpbHMpIHtcbiAgICByZXR1cm4gdm9pZCAwO1xuICB9XG4gIHJlZGlyZWN0KF92YWx1ZSwgX3V0aWxzKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfVxuICBvdmVybGFwKGN1cnJlbnRWYWx1ZSwgX25ld1ZhbHVlLCBfdXRpbHMpIHtcbiAgICByZXR1cm4gY3VycmVudFZhbHVlO1xuICB9XG4gIHByZXByb2Nlc3ModmFsdWUsIF91dGlscykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBwb3N0cHJvY2VzcyhfdmFsdWUsIF91dGlscykge1xuICAgIHJldHVybiBWQUxVRV9VTkNIQU5HRUQ7XG4gIH1cbn07XG5mdW5jdGlvbiBub3JtYWxpemVIYW5kbGVyKGhhbmRsZXIsIHN1cGVyU2NoZW1hLCBoYW5kbGVyQXJndW1lbnRzTGVuZ3RoKSB7XG4gIHJldHVybiB0eXBlb2YgaGFuZGxlciA9PT0gXCJmdW5jdGlvblwiID8gKC4uLmFyZ3MpID0+IGhhbmRsZXIoLi4uYXJncy5zbGljZSgwLCBoYW5kbGVyQXJndW1lbnRzTGVuZ3RoIC0gMSksIHN1cGVyU2NoZW1hLCAuLi5hcmdzLnNsaWNlKGhhbmRsZXJBcmd1bWVudHNMZW5ndGggLSAxKSkgOiAoKSA9PiBoYW5kbGVyO1xufVxuXG4vLyBub2RlX21vZHVsZXMvdm5vcHRzL2xpYi9zY2hlbWFzL2FsaWFzLmpzXG52YXIgQWxpYXNTY2hlbWEgPSBjbGFzcyBleHRlbmRzIFNjaGVtYSB7XG4gIGNvbnN0cnVjdG9yKHBhcmFtZXRlcnMpIHtcbiAgICBzdXBlcihwYXJhbWV0ZXJzKTtcbiAgICB0aGlzLl9zb3VyY2VOYW1lID0gcGFyYW1ldGVycy5zb3VyY2VOYW1lO1xuICB9XG4gIGV4cGVjdGVkKHV0aWxzKSB7XG4gICAgcmV0dXJuIHV0aWxzLnNjaGVtYXNbdGhpcy5fc291cmNlTmFtZV0uZXhwZWN0ZWQodXRpbHMpO1xuICB9XG4gIHZhbGlkYXRlKHZhbHVlLCB1dGlscykge1xuICAgIHJldHVybiB1dGlscy5zY2hlbWFzW3RoaXMuX3NvdXJjZU5hbWVdLnZhbGlkYXRlKHZhbHVlLCB1dGlscyk7XG4gIH1cbiAgcmVkaXJlY3QoX3ZhbHVlLCBfdXRpbHMpIHtcbiAgICByZXR1cm4gdGhpcy5fc291cmNlTmFtZTtcbiAgfVxufTtcblxuLy8gbm9kZV9tb2R1bGVzL3Zub3B0cy9saWIvc2NoZW1hcy9hbnkuanNcbnZhciBBbnlTY2hlbWEgPSBjbGFzcyBleHRlbmRzIFNjaGVtYSB7XG4gIGV4cGVjdGVkKCkge1xuICAgIHJldHVybiBcImFueXRoaW5nXCI7XG4gIH1cbiAgdmFsaWRhdGUoKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn07XG5cbi8vIG5vZGVfbW9kdWxlcy92bm9wdHMvbGliL3NjaGVtYXMvYXJyYXkuanNcbnZhciBBcnJheVNjaGVtYSA9IGNsYXNzIGV4dGVuZHMgU2NoZW1hIHtcbiAgY29uc3RydWN0b3IoeyB2YWx1ZVNjaGVtYSwgbmFtZSA9IHZhbHVlU2NoZW1hLm5hbWUsIC4uLmhhbmRsZXJzIH0pIHtcbiAgICBzdXBlcih7IC4uLmhhbmRsZXJzLCBuYW1lIH0pO1xuICAgIHRoaXMuX3ZhbHVlU2NoZW1hID0gdmFsdWVTY2hlbWE7XG4gIH1cbiAgZXhwZWN0ZWQodXRpbHMpIHtcbiAgICBjb25zdCB7IHRleHQsIGxpc3QgfSA9IHV0aWxzLm5vcm1hbGl6ZUV4cGVjdGVkUmVzdWx0KHRoaXMuX3ZhbHVlU2NoZW1hLmV4cGVjdGVkKHV0aWxzKSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHRleHQ6IHRleHQgJiYgYGFuIGFycmF5IG9mICR7dGV4dH1gLFxuICAgICAgbGlzdDogbGlzdCAmJiB7XG4gICAgICAgIHRpdGxlOiBgYW4gYXJyYXkgb2YgdGhlIGZvbGxvd2luZyB2YWx1ZXNgLFxuICAgICAgICB2YWx1ZXM6IFt7IGxpc3QgfV1cbiAgICAgIH1cbiAgICB9O1xuICB9XG4gIHZhbGlkYXRlKHZhbHVlLCB1dGlscykge1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgY29uc3QgaW52YWxpZFZhbHVlcyA9IFtdO1xuICAgIGZvciAoY29uc3Qgc3ViVmFsdWUgb2YgdmFsdWUpIHtcbiAgICAgIGNvbnN0IHN1YlZhbGlkYXRlUmVzdWx0ID0gdXRpbHMubm9ybWFsaXplVmFsaWRhdGVSZXN1bHQodGhpcy5fdmFsdWVTY2hlbWEudmFsaWRhdGUoc3ViVmFsdWUsIHV0aWxzKSwgc3ViVmFsdWUpO1xuICAgICAgaWYgKHN1YlZhbGlkYXRlUmVzdWx0ICE9PSB0cnVlKSB7XG4gICAgICAgIGludmFsaWRWYWx1ZXMucHVzaChzdWJWYWxpZGF0ZVJlc3VsdC52YWx1ZSk7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpbnZhbGlkVmFsdWVzLmxlbmd0aCA9PT0gMCA/IHRydWUgOiB7IHZhbHVlOiBpbnZhbGlkVmFsdWVzIH07XG4gIH1cbiAgZGVwcmVjYXRlZCh2YWx1ZSwgdXRpbHMpIHtcbiAgICBjb25zdCBkZXByZWNhdGVkUmVzdWx0ID0gW107XG4gICAgZm9yIChjb25zdCBzdWJWYWx1ZSBvZiB2YWx1ZSkge1xuICAgICAgY29uc3Qgc3ViRGVwcmVjYXRlZFJlc3VsdCA9IHV0aWxzLm5vcm1hbGl6ZURlcHJlY2F0ZWRSZXN1bHQodGhpcy5fdmFsdWVTY2hlbWEuZGVwcmVjYXRlZChzdWJWYWx1ZSwgdXRpbHMpLCBzdWJWYWx1ZSk7XG4gICAgICBpZiAoc3ViRGVwcmVjYXRlZFJlc3VsdCAhPT0gZmFsc2UpIHtcbiAgICAgICAgZGVwcmVjYXRlZFJlc3VsdC5wdXNoKC4uLnN1YkRlcHJlY2F0ZWRSZXN1bHQubWFwKCh7IHZhbHVlOiBkZXByZWNhdGVkVmFsdWUgfSkgPT4gKHtcbiAgICAgICAgICB2YWx1ZTogW2RlcHJlY2F0ZWRWYWx1ZV1cbiAgICAgICAgfSkpKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGRlcHJlY2F0ZWRSZXN1bHQ7XG4gIH1cbiAgZm9yd2FyZCh2YWx1ZSwgdXRpbHMpIHtcbiAgICBjb25zdCBmb3J3YXJkUmVzdWx0ID0gW107XG4gICAgZm9yIChjb25zdCBzdWJWYWx1ZSBvZiB2YWx1ZSkge1xuICAgICAgY29uc3Qgc3ViRm9yd2FyZFJlc3VsdCA9IHV0aWxzLm5vcm1hbGl6ZUZvcndhcmRSZXN1bHQodGhpcy5fdmFsdWVTY2hlbWEuZm9yd2FyZChzdWJWYWx1ZSwgdXRpbHMpLCBzdWJWYWx1ZSk7XG4gICAgICBmb3J3YXJkUmVzdWx0LnB1c2goLi4uc3ViRm9yd2FyZFJlc3VsdC5tYXAod3JhcFRyYW5zZmVyUmVzdWx0KSk7XG4gICAgfVxuICAgIHJldHVybiBmb3J3YXJkUmVzdWx0O1xuICB9XG4gIHJlZGlyZWN0KHZhbHVlLCB1dGlscykge1xuICAgIGNvbnN0IHJlbWFpbiA9IFtdO1xuICAgIGNvbnN0IHJlZGlyZWN0ID0gW107XG4gICAgZm9yIChjb25zdCBzdWJWYWx1ZSBvZiB2YWx1ZSkge1xuICAgICAgY29uc3Qgc3ViUmVkaXJlY3RSZXN1bHQgPSB1dGlscy5ub3JtYWxpemVSZWRpcmVjdFJlc3VsdCh0aGlzLl92YWx1ZVNjaGVtYS5yZWRpcmVjdChzdWJWYWx1ZSwgdXRpbHMpLCBzdWJWYWx1ZSk7XG4gICAgICBpZiAoXCJyZW1haW5cIiBpbiBzdWJSZWRpcmVjdFJlc3VsdCkge1xuICAgICAgICByZW1haW4ucHVzaChzdWJSZWRpcmVjdFJlc3VsdC5yZW1haW4pO1xuICAgICAgfVxuICAgICAgcmVkaXJlY3QucHVzaCguLi5zdWJSZWRpcmVjdFJlc3VsdC5yZWRpcmVjdC5tYXAod3JhcFRyYW5zZmVyUmVzdWx0KSk7XG4gICAgfVxuICAgIHJldHVybiByZW1haW4ubGVuZ3RoID09PSAwID8geyByZWRpcmVjdCB9IDogeyByZWRpcmVjdCwgcmVtYWluIH07XG4gIH1cbiAgb3ZlcmxhcChjdXJyZW50VmFsdWUsIG5ld1ZhbHVlKSB7XG4gICAgcmV0dXJuIGN1cnJlbnRWYWx1ZS5jb25jYXQobmV3VmFsdWUpO1xuICB9XG59O1xuZnVuY3Rpb24gd3JhcFRyYW5zZmVyUmVzdWx0KHsgZnJvbSwgdG8gfSkge1xuICByZXR1cm4geyBmcm9tOiBbZnJvbV0sIHRvIH07XG59XG5cbi8vIG5vZGVfbW9kdWxlcy92bm9wdHMvbGliL3NjaGVtYXMvYm9vbGVhbi5qc1xudmFyIEJvb2xlYW5TY2hlbWEgPSBjbGFzcyBleHRlbmRzIFNjaGVtYSB7XG4gIGV4cGVjdGVkKCkge1xuICAgIHJldHVybiBcInRydWUgb3IgZmFsc2VcIjtcbiAgfVxuICB2YWxpZGF0ZSh2YWx1ZSkge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwiYm9vbGVhblwiO1xuICB9XG59O1xuXG4vLyBub2RlX21vZHVsZXMvdm5vcHRzL2xpYi91dGlscy5qc1xuZnVuY3Rpb24gcmVjb3JkRnJvbUFycmF5KGFycmF5MiwgbWFpbktleSkge1xuICBjb25zdCByZWNvcmQgPSAvKiBAX19QVVJFX18gKi8gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgZm9yIChjb25zdCB2YWx1ZSBvZiBhcnJheTIpIHtcbiAgICBjb25zdCBrZXkyID0gdmFsdWVbbWFpbktleV07XG4gICAgaWYgKHJlY29yZFtrZXkyXSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBEdXBsaWNhdGUgJHttYWluS2V5fSAke0pTT04uc3RyaW5naWZ5KGtleTIpfWApO1xuICAgIH1cbiAgICByZWNvcmRba2V5Ml0gPSB2YWx1ZTtcbiAgfVxuICByZXR1cm4gcmVjb3JkO1xufVxuZnVuY3Rpb24gbWFwRnJvbUFycmF5KGFycmF5MiwgbWFpbktleSkge1xuICBjb25zdCBtYXAyID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbiAgZm9yIChjb25zdCB2YWx1ZSBvZiBhcnJheTIpIHtcbiAgICBjb25zdCBrZXkyID0gdmFsdWVbbWFpbktleV07XG4gICAgaWYgKG1hcDIuaGFzKGtleTIpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYER1cGxpY2F0ZSAke21haW5LZXl9ICR7SlNPTi5zdHJpbmdpZnkoa2V5Mil9YCk7XG4gICAgfVxuICAgIG1hcDIuc2V0KGtleTIsIHZhbHVlKTtcbiAgfVxuICByZXR1cm4gbWFwMjtcbn1cbmZ1bmN0aW9uIGNyZWF0ZUF1dG9DaGVja2xpc3QoKSB7XG4gIGNvbnN0IG1hcDIgPSAvKiBAX19QVVJFX18gKi8gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgcmV0dXJuIChpZCkgPT4ge1xuICAgIGNvbnN0IGlkU3RyaW5nID0gSlNPTi5zdHJpbmdpZnkoaWQpO1xuICAgIGlmIChtYXAyW2lkU3RyaW5nXSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIG1hcDJbaWRTdHJpbmddID0gdHJ1ZTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG59XG5mdW5jdGlvbiBwYXJ0aXRpb24oYXJyYXkyLCBwcmVkaWNhdGUpIHtcbiAgY29uc3QgdHJ1ZUFycmF5ID0gW107XG4gIGNvbnN0IGZhbHNlQXJyYXkgPSBbXTtcbiAgZm9yIChjb25zdCB2YWx1ZSBvZiBhcnJheTIpIHtcbiAgICBpZiAocHJlZGljYXRlKHZhbHVlKSkge1xuICAgICAgdHJ1ZUFycmF5LnB1c2godmFsdWUpO1xuICAgIH0gZWxzZSB7XG4gICAgICBmYWxzZUFycmF5LnB1c2godmFsdWUpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gW3RydWVBcnJheSwgZmFsc2VBcnJheV07XG59XG5mdW5jdGlvbiBpc0ludCh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUgPT09IE1hdGguZmxvb3IodmFsdWUpO1xufVxuZnVuY3Rpb24gY29tcGFyZVByaW1pdGl2ZShhLCBiKSB7XG4gIGlmIChhID09PSBiKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgY29uc3QgdHlwZW9mQSA9IHR5cGVvZiBhO1xuICBjb25zdCB0eXBlb2ZCID0gdHlwZW9mIGI7XG4gIGNvbnN0IG9yZGVycyA9IFtcbiAgICBcInVuZGVmaW5lZFwiLFxuICAgIFwib2JqZWN0XCIsXG4gICAgXCJib29sZWFuXCIsXG4gICAgXCJudW1iZXJcIixcbiAgICBcInN0cmluZ1wiXG4gIF07XG4gIGlmICh0eXBlb2ZBICE9PSB0eXBlb2ZCKSB7XG4gICAgcmV0dXJuIG9yZGVycy5pbmRleE9mKHR5cGVvZkEpIC0gb3JkZXJzLmluZGV4T2YodHlwZW9mQik7XG4gIH1cbiAgaWYgKHR5cGVvZkEgIT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gTnVtYmVyKGEpIC0gTnVtYmVyKGIpO1xuICB9XG4gIHJldHVybiBhLmxvY2FsZUNvbXBhcmUoYik7XG59XG5mdW5jdGlvbiBub3JtYWxpemVJbnZhbGlkSGFuZGxlcihpbnZhbGlkSGFuZGxlcikge1xuICByZXR1cm4gKC4uLmFyZ3MpID0+IHtcbiAgICBjb25zdCBlcnJvck1lc3NhZ2VPckVycm9yID0gaW52YWxpZEhhbmRsZXIoLi4uYXJncyk7XG4gICAgcmV0dXJuIHR5cGVvZiBlcnJvck1lc3NhZ2VPckVycm9yID09PSBcInN0cmluZ1wiID8gbmV3IEVycm9yKGVycm9yTWVzc2FnZU9yRXJyb3IpIDogZXJyb3JNZXNzYWdlT3JFcnJvcjtcbiAgfTtcbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZURlZmF1bHRSZXN1bHQocmVzdWx0KSB7XG4gIHJldHVybiByZXN1bHQgPT09IHZvaWQgMCA/IHt9IDogcmVzdWx0O1xufVxuZnVuY3Rpb24gbm9ybWFsaXplRXhwZWN0ZWRSZXN1bHQocmVzdWx0KSB7XG4gIGlmICh0eXBlb2YgcmVzdWx0ID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIHsgdGV4dDogcmVzdWx0IH07XG4gIH1cbiAgY29uc3QgeyB0ZXh0LCBsaXN0IH0gPSByZXN1bHQ7XG4gIGFzc2VydCgodGV4dCB8fCBsaXN0KSAhPT0gdm9pZCAwLCBcIlVuZXhwZWN0ZWQgYGV4cGVjdGVkYCByZXN1bHQsIHRoZXJlIHNob3VsZCBiZSBhdCBsZWFzdCBvbmUgZmllbGQuXCIpO1xuICBpZiAoIWxpc3QpIHtcbiAgICByZXR1cm4geyB0ZXh0IH07XG4gIH1cbiAgcmV0dXJuIHtcbiAgICB0ZXh0LFxuICAgIGxpc3Q6IHtcbiAgICAgIHRpdGxlOiBsaXN0LnRpdGxlLFxuICAgICAgdmFsdWVzOiBsaXN0LnZhbHVlcy5tYXAobm9ybWFsaXplRXhwZWN0ZWRSZXN1bHQpXG4gICAgfVxuICB9O1xufVxuZnVuY3Rpb24gbm9ybWFsaXplVmFsaWRhdGVSZXN1bHQocmVzdWx0LCB2YWx1ZSkge1xuICByZXR1cm4gcmVzdWx0ID09PSB0cnVlID8gdHJ1ZSA6IHJlc3VsdCA9PT0gZmFsc2UgPyB7IHZhbHVlIH0gOiByZXN1bHQ7XG59XG5mdW5jdGlvbiBub3JtYWxpemVEZXByZWNhdGVkUmVzdWx0KHJlc3VsdCwgdmFsdWUsIGRvTm90Tm9ybWFsaXplVHJ1ZSA9IGZhbHNlKSB7XG4gIHJldHVybiByZXN1bHQgPT09IGZhbHNlID8gZmFsc2UgOiByZXN1bHQgPT09IHRydWUgPyBkb05vdE5vcm1hbGl6ZVRydWUgPyB0cnVlIDogW3sgdmFsdWUgfV0gOiBcInZhbHVlXCIgaW4gcmVzdWx0ID8gW3Jlc3VsdF0gOiByZXN1bHQubGVuZ3RoID09PSAwID8gZmFsc2UgOiByZXN1bHQ7XG59XG5mdW5jdGlvbiBub3JtYWxpemVUcmFuc2ZlclJlc3VsdChyZXN1bHQsIHZhbHVlKSB7XG4gIHJldHVybiB0eXBlb2YgcmVzdWx0ID09PSBcInN0cmluZ1wiIHx8IFwia2V5XCIgaW4gcmVzdWx0ID8geyBmcm9tOiB2YWx1ZSwgdG86IHJlc3VsdCB9IDogXCJmcm9tXCIgaW4gcmVzdWx0ID8geyBmcm9tOiByZXN1bHQuZnJvbSwgdG86IHJlc3VsdC50byB9IDogeyBmcm9tOiB2YWx1ZSwgdG86IHJlc3VsdC50byB9O1xufVxuZnVuY3Rpb24gbm9ybWFsaXplRm9yd2FyZFJlc3VsdChyZXN1bHQsIHZhbHVlKSB7XG4gIHJldHVybiByZXN1bHQgPT09IHZvaWQgMCA/IFtdIDogQXJyYXkuaXNBcnJheShyZXN1bHQpID8gcmVzdWx0Lm1hcCgodHJhbnNmZXJSZXN1bHQpID0+IG5vcm1hbGl6ZVRyYW5zZmVyUmVzdWx0KHRyYW5zZmVyUmVzdWx0LCB2YWx1ZSkpIDogW25vcm1hbGl6ZVRyYW5zZmVyUmVzdWx0KHJlc3VsdCwgdmFsdWUpXTtcbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZVJlZGlyZWN0UmVzdWx0KHJlc3VsdCwgdmFsdWUpIHtcbiAgY29uc3QgcmVkaXJlY3QgPSBub3JtYWxpemVGb3J3YXJkUmVzdWx0KHR5cGVvZiByZXN1bHQgPT09IFwib2JqZWN0XCIgJiYgXCJyZWRpcmVjdFwiIGluIHJlc3VsdCA/IHJlc3VsdC5yZWRpcmVjdCA6IHJlc3VsdCwgdmFsdWUpO1xuICByZXR1cm4gcmVkaXJlY3QubGVuZ3RoID09PSAwID8geyByZW1haW46IHZhbHVlLCByZWRpcmVjdCB9IDogdHlwZW9mIHJlc3VsdCA9PT0gXCJvYmplY3RcIiAmJiBcInJlbWFpblwiIGluIHJlc3VsdCA/IHsgcmVtYWluOiByZXN1bHQucmVtYWluLCByZWRpcmVjdCB9IDogeyByZWRpcmVjdCB9O1xufVxuZnVuY3Rpb24gYXNzZXJ0KGlzVmFsaWQsIG1lc3NhZ2UpIHtcbiAgaWYgKCFpc1ZhbGlkKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKG1lc3NhZ2UpO1xuICB9XG59XG5cbi8vIG5vZGVfbW9kdWxlcy92bm9wdHMvbGliL3NjaGVtYXMvY2hvaWNlLmpzXG52YXIgQ2hvaWNlU2NoZW1hID0gY2xhc3MgZXh0ZW5kcyBTY2hlbWEge1xuICBjb25zdHJ1Y3RvcihwYXJhbWV0ZXJzKSB7XG4gICAgc3VwZXIocGFyYW1ldGVycyk7XG4gICAgdGhpcy5fY2hvaWNlcyA9IG1hcEZyb21BcnJheShwYXJhbWV0ZXJzLmNob2ljZXMubWFwKChjaG9pY2UpID0+IGNob2ljZSAmJiB0eXBlb2YgY2hvaWNlID09PSBcIm9iamVjdFwiID8gY2hvaWNlIDogeyB2YWx1ZTogY2hvaWNlIH0pLCBcInZhbHVlXCIpO1xuICB9XG4gIGV4cGVjdGVkKHsgZGVzY3JpcHRvciB9KSB7XG4gICAgY29uc3QgY2hvaWNlRGVzY3JpcHRpb25zID0gQXJyYXkuZnJvbSh0aGlzLl9jaG9pY2VzLmtleXMoKSkubWFwKCh2YWx1ZSkgPT4gdGhpcy5fY2hvaWNlcy5nZXQodmFsdWUpKS5maWx0ZXIoKHsgaGlkZGVuIH0pID0+ICFoaWRkZW4pLm1hcCgoY2hvaWNlSW5mbykgPT4gY2hvaWNlSW5mby52YWx1ZSkuc29ydChjb21wYXJlUHJpbWl0aXZlKS5tYXAoZGVzY3JpcHRvci52YWx1ZSk7XG4gICAgY29uc3QgaGVhZCA9IGNob2ljZURlc2NyaXB0aW9ucy5zbGljZSgwLCAtMik7XG4gICAgY29uc3QgdGFpbCA9IGNob2ljZURlc2NyaXB0aW9ucy5zbGljZSgtMik7XG4gICAgY29uc3QgbWVzc2FnZSA9IGhlYWQuY29uY2F0KHRhaWwuam9pbihcIiBvciBcIikpLmpvaW4oXCIsIFwiKTtcbiAgICByZXR1cm4ge1xuICAgICAgdGV4dDogbWVzc2FnZSxcbiAgICAgIGxpc3Q6IHtcbiAgICAgICAgdGl0bGU6IFwib25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzXCIsXG4gICAgICAgIHZhbHVlczogY2hvaWNlRGVzY3JpcHRpb25zXG4gICAgICB9XG4gICAgfTtcbiAgfVxuICB2YWxpZGF0ZSh2YWx1ZSkge1xuICAgIHJldHVybiB0aGlzLl9jaG9pY2VzLmhhcyh2YWx1ZSk7XG4gIH1cbiAgZGVwcmVjYXRlZCh2YWx1ZSkge1xuICAgIGNvbnN0IGNob2ljZUluZm8gPSB0aGlzLl9jaG9pY2VzLmdldCh2YWx1ZSk7XG4gICAgcmV0dXJuIGNob2ljZUluZm8gJiYgY2hvaWNlSW5mby5kZXByZWNhdGVkID8geyB2YWx1ZSB9IDogZmFsc2U7XG4gIH1cbiAgZm9yd2FyZCh2YWx1ZSkge1xuICAgIGNvbnN0IGNob2ljZUluZm8gPSB0aGlzLl9jaG9pY2VzLmdldCh2YWx1ZSk7XG4gICAgcmV0dXJuIGNob2ljZUluZm8gPyBjaG9pY2VJbmZvLmZvcndhcmQgOiB2b2lkIDA7XG4gIH1cbiAgcmVkaXJlY3QodmFsdWUpIHtcbiAgICBjb25zdCBjaG9pY2VJbmZvID0gdGhpcy5fY2hvaWNlcy5nZXQodmFsdWUpO1xuICAgIHJldHVybiBjaG9pY2VJbmZvID8gY2hvaWNlSW5mby5yZWRpcmVjdCA6IHZvaWQgMDtcbiAgfVxufTtcblxuLy8gbm9kZV9tb2R1bGVzL3Zub3B0cy9saWIvc2NoZW1hcy9udW1iZXIuanNcbnZhciBOdW1iZXJTY2hlbWEgPSBjbGFzcyBleHRlbmRzIFNjaGVtYSB7XG4gIGV4cGVjdGVkKCkge1xuICAgIHJldHVybiBcImEgbnVtYmVyXCI7XG4gIH1cbiAgdmFsaWRhdGUodmFsdWUsIF91dGlscykge1xuICAgIHJldHVybiB0eXBlb2YgdmFsdWUgPT09IFwibnVtYmVyXCI7XG4gIH1cbn07XG5cbi8vIG5vZGVfbW9kdWxlcy92bm9wdHMvbGliL3NjaGVtYXMvaW50ZWdlci5qc1xudmFyIEludGVnZXJTY2hlbWEgPSBjbGFzcyBleHRlbmRzIE51bWJlclNjaGVtYSB7XG4gIGV4cGVjdGVkKCkge1xuICAgIHJldHVybiBcImFuIGludGVnZXJcIjtcbiAgfVxuICB2YWxpZGF0ZSh2YWx1ZSwgdXRpbHMpIHtcbiAgICByZXR1cm4gdXRpbHMubm9ybWFsaXplVmFsaWRhdGVSZXN1bHQoc3VwZXIudmFsaWRhdGUodmFsdWUsIHV0aWxzKSwgdmFsdWUpID09PSB0cnVlICYmIGlzSW50KHZhbHVlKTtcbiAgfVxufTtcblxuLy8gbm9kZV9tb2R1bGVzL3Zub3B0cy9saWIvc2NoZW1hcy9zdHJpbmcuanNcbnZhciBTdHJpbmdTY2hlbWEgPSBjbGFzcyBleHRlbmRzIFNjaGVtYSB7XG4gIGV4cGVjdGVkKCkge1xuICAgIHJldHVybiBcImEgc3RyaW5nXCI7XG4gIH1cbiAgdmFsaWRhdGUodmFsdWUpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiO1xuICB9XG59O1xuXG4vLyBub2RlX21vZHVsZXMvdm5vcHRzL2xpYi9kZWZhdWx0cy5qc1xudmFyIGRlZmF1bHREZXNjcmlwdG9yID0gYXBpRGVzY3JpcHRvcjtcbnZhciBkZWZhdWx0VW5rbm93bkhhbmRsZXIgPSBsZXZlblVua25vd25IYW5kbGVyO1xudmFyIGRlZmF1bHRJbnZhbGlkSGFuZGxlciA9IGNvbW1vbkludmFsaWRIYW5kbGVyO1xudmFyIGRlZmF1bHREZXByZWNhdGVkSGFuZGxlciA9IGNvbW1vbkRlcHJlY2F0ZWRIYW5kbGVyO1xuXG4vLyBub2RlX21vZHVsZXMvdm5vcHRzL2xpYi9ub3JtYWxpemUuanNcbnZhciBOb3JtYWxpemVyID0gY2xhc3Mge1xuICBjb25zdHJ1Y3RvcihzY2hlbWFzLCBvcHRzKSB7XG4gICAgY29uc3QgeyBsb2dnZXIgPSBjb25zb2xlLCBsb2dnZXJQcmludFdpZHRoID0gODAsIGRlc2NyaXB0b3IgPSBkZWZhdWx0RGVzY3JpcHRvciwgdW5rbm93biA9IGRlZmF1bHRVbmtub3duSGFuZGxlciwgaW52YWxpZCA9IGRlZmF1bHRJbnZhbGlkSGFuZGxlciwgZGVwcmVjYXRlZCA9IGRlZmF1bHREZXByZWNhdGVkSGFuZGxlciwgbWlzc2luZyA9ICgpID0+IGZhbHNlLCByZXF1aXJlZCA9ICgpID0+IGZhbHNlLCBwcmVwcm9jZXNzID0gKHgpID0+IHgsIHBvc3Rwcm9jZXNzID0gKCkgPT4gVkFMVUVfVU5DSEFOR0VEIH0gPSBvcHRzIHx8IHt9O1xuICAgIHRoaXMuX3V0aWxzID0ge1xuICAgICAgZGVzY3JpcHRvcixcbiAgICAgIGxvZ2dlcjogKFxuICAgICAgICAvKiBjOCBpZ25vcmUgbmV4dCAqL1xuICAgICAgICBsb2dnZXIgfHwgeyB3YXJuOiAoKSA9PiB7XG4gICAgICAgIH0gfVxuICAgICAgKSxcbiAgICAgIGxvZ2dlclByaW50V2lkdGgsXG4gICAgICBzY2hlbWFzOiByZWNvcmRGcm9tQXJyYXkoc2NoZW1hcywgXCJuYW1lXCIpLFxuICAgICAgbm9ybWFsaXplRGVmYXVsdFJlc3VsdCxcbiAgICAgIG5vcm1hbGl6ZUV4cGVjdGVkUmVzdWx0LFxuICAgICAgbm9ybWFsaXplRGVwcmVjYXRlZFJlc3VsdCxcbiAgICAgIG5vcm1hbGl6ZUZvcndhcmRSZXN1bHQsXG4gICAgICBub3JtYWxpemVSZWRpcmVjdFJlc3VsdCxcbiAgICAgIG5vcm1hbGl6ZVZhbGlkYXRlUmVzdWx0XG4gICAgfTtcbiAgICB0aGlzLl91bmtub3duSGFuZGxlciA9IHVua25vd247XG4gICAgdGhpcy5faW52YWxpZEhhbmRsZXIgPSBub3JtYWxpemVJbnZhbGlkSGFuZGxlcihpbnZhbGlkKTtcbiAgICB0aGlzLl9kZXByZWNhdGVkSGFuZGxlciA9IGRlcHJlY2F0ZWQ7XG4gICAgdGhpcy5faWRlbnRpZnlNaXNzaW5nID0gKGssIG8pID0+ICEoayBpbiBvKSB8fCBtaXNzaW5nKGssIG8pO1xuICAgIHRoaXMuX2lkZW50aWZ5UmVxdWlyZWQgPSByZXF1aXJlZDtcbiAgICB0aGlzLl9wcmVwcm9jZXNzID0gcHJlcHJvY2VzcztcbiAgICB0aGlzLl9wb3N0cHJvY2VzcyA9IHBvc3Rwcm9jZXNzO1xuICAgIHRoaXMuY2xlYW5IaXN0b3J5KCk7XG4gIH1cbiAgY2xlYW5IaXN0b3J5KCkge1xuICAgIHRoaXMuX2hhc0RlcHJlY2F0aW9uV2FybmVkID0gY3JlYXRlQXV0b0NoZWNrbGlzdCgpO1xuICB9XG4gIG5vcm1hbGl6ZShvcHRpb25zOCkge1xuICAgIGNvbnN0IG5ld09wdGlvbnMgPSB7fTtcbiAgICBjb25zdCBwcmVwcm9jZXNzZWQgPSB0aGlzLl9wcmVwcm9jZXNzKG9wdGlvbnM4LCB0aGlzLl91dGlscyk7XG4gICAgY29uc3QgcmVzdE9wdGlvbnNBcnJheSA9IFtwcmVwcm9jZXNzZWRdO1xuICAgIGNvbnN0IGFwcGx5Tm9ybWFsaXphdGlvbiA9ICgpID0+IHtcbiAgICAgIHdoaWxlIChyZXN0T3B0aW9uc0FycmF5Lmxlbmd0aCAhPT0gMCkge1xuICAgICAgICBjb25zdCBjdXJyZW50T3B0aW9ucyA9IHJlc3RPcHRpb25zQXJyYXkuc2hpZnQoKTtcbiAgICAgICAgY29uc3QgdHJhbnNmZXJyZWRPcHRpb25zQXJyYXkgPSB0aGlzLl9hcHBseU5vcm1hbGl6YXRpb24oY3VycmVudE9wdGlvbnMsIG5ld09wdGlvbnMpO1xuICAgICAgICByZXN0T3B0aW9uc0FycmF5LnB1c2goLi4udHJhbnNmZXJyZWRPcHRpb25zQXJyYXkpO1xuICAgICAgfVxuICAgIH07XG4gICAgYXBwbHlOb3JtYWxpemF0aW9uKCk7XG4gICAgZm9yIChjb25zdCBrZXkyIG9mIE9iamVjdC5rZXlzKHRoaXMuX3V0aWxzLnNjaGVtYXMpKSB7XG4gICAgICBjb25zdCBzY2hlbWEyID0gdGhpcy5fdXRpbHMuc2NoZW1hc1trZXkyXTtcbiAgICAgIGlmICghKGtleTIgaW4gbmV3T3B0aW9ucykpIHtcbiAgICAgICAgY29uc3QgZGVmYXVsdFJlc3VsdCA9IG5vcm1hbGl6ZURlZmF1bHRSZXN1bHQoc2NoZW1hMi5kZWZhdWx0KHRoaXMuX3V0aWxzKSk7XG4gICAgICAgIGlmIChcInZhbHVlXCIgaW4gZGVmYXVsdFJlc3VsdCkge1xuICAgICAgICAgIHJlc3RPcHRpb25zQXJyYXkucHVzaCh7IFtrZXkyXTogZGVmYXVsdFJlc3VsdC52YWx1ZSB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBhcHBseU5vcm1hbGl6YXRpb24oKTtcbiAgICBmb3IgKGNvbnN0IGtleTIgb2YgT2JqZWN0LmtleXModGhpcy5fdXRpbHMuc2NoZW1hcykpIHtcbiAgICAgIGlmICghKGtleTIgaW4gbmV3T3B0aW9ucykpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBjb25zdCBzY2hlbWEyID0gdGhpcy5fdXRpbHMuc2NoZW1hc1trZXkyXTtcbiAgICAgIGNvbnN0IHZhbHVlID0gbmV3T3B0aW9uc1trZXkyXTtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gc2NoZW1hMi5wb3N0cHJvY2Vzcyh2YWx1ZSwgdGhpcy5fdXRpbHMpO1xuICAgICAgaWYgKG5ld1ZhbHVlID09PSBWQUxVRV9VTkNIQU5HRUQpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICB0aGlzLl9hcHBseVZhbGlkYXRpb24obmV3VmFsdWUsIGtleTIsIHNjaGVtYTIpO1xuICAgICAgbmV3T3B0aW9uc1trZXkyXSA9IG5ld1ZhbHVlO1xuICAgIH1cbiAgICB0aGlzLl9hcHBseVBvc3Rwcm9jZXNzKG5ld09wdGlvbnMpO1xuICAgIHRoaXMuX2FwcGx5UmVxdWlyZWRDaGVjayhuZXdPcHRpb25zKTtcbiAgICByZXR1cm4gbmV3T3B0aW9ucztcbiAgfVxuICBfYXBwbHlOb3JtYWxpemF0aW9uKG9wdGlvbnM4LCBuZXdPcHRpb25zKSB7XG4gICAgY29uc3QgdHJhbnNmZXJyZWRPcHRpb25zQXJyYXkgPSBbXTtcbiAgICBjb25zdCB7IGtub3duS2V5cywgdW5rbm93bktleXMgfSA9IHRoaXMuX3BhcnRpdGlvbk9wdGlvbktleXMob3B0aW9uczgpO1xuICAgIGZvciAoY29uc3Qga2V5MiBvZiBrbm93bktleXMpIHtcbiAgICAgIGNvbnN0IHNjaGVtYTIgPSB0aGlzLl91dGlscy5zY2hlbWFzW2tleTJdO1xuICAgICAgY29uc3QgdmFsdWUgPSBzY2hlbWEyLnByZXByb2Nlc3Mob3B0aW9uczhba2V5Ml0sIHRoaXMuX3V0aWxzKTtcbiAgICAgIHRoaXMuX2FwcGx5VmFsaWRhdGlvbih2YWx1ZSwga2V5Miwgc2NoZW1hMik7XG4gICAgICBjb25zdCBhcHBlbmRUcmFuc2ZlcnJlZE9wdGlvbnMgPSAoeyBmcm9tLCB0byB9KSA9PiB7XG4gICAgICAgIHRyYW5zZmVycmVkT3B0aW9uc0FycmF5LnB1c2godHlwZW9mIHRvID09PSBcInN0cmluZ1wiID8geyBbdG9dOiBmcm9tIH0gOiB7IFt0by5rZXldOiB0by52YWx1ZSB9KTtcbiAgICAgIH07XG4gICAgICBjb25zdCB3YXJuRGVwcmVjYXRlZCA9ICh7IHZhbHVlOiBjdXJyZW50VmFsdWUsIHJlZGlyZWN0VG8gfSkgPT4ge1xuICAgICAgICBjb25zdCBkZXByZWNhdGVkUmVzdWx0ID0gbm9ybWFsaXplRGVwcmVjYXRlZFJlc3VsdChcbiAgICAgICAgICBzY2hlbWEyLmRlcHJlY2F0ZWQoY3VycmVudFZhbHVlLCB0aGlzLl91dGlscyksXG4gICAgICAgICAgdmFsdWUsXG4gICAgICAgICAgLyogZG9Ob3ROb3JtYWxpemVUcnVlICovXG4gICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuICAgICAgICBpZiAoZGVwcmVjYXRlZFJlc3VsdCA9PT0gZmFsc2UpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRlcHJlY2F0ZWRSZXN1bHQgPT09IHRydWUpIHtcbiAgICAgICAgICBpZiAoIXRoaXMuX2hhc0RlcHJlY2F0aW9uV2FybmVkKGtleTIpKSB7XG4gICAgICAgICAgICB0aGlzLl91dGlscy5sb2dnZXIud2Fybih0aGlzLl9kZXByZWNhdGVkSGFuZGxlcihrZXkyLCByZWRpcmVjdFRvLCB0aGlzLl91dGlscykpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IHsgdmFsdWU6IGRlcHJlY2F0ZWRWYWx1ZSB9IG9mIGRlcHJlY2F0ZWRSZXN1bHQpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhaXIgPSB7IGtleToga2V5MiwgdmFsdWU6IGRlcHJlY2F0ZWRWYWx1ZSB9O1xuICAgICAgICAgICAgaWYgKCF0aGlzLl9oYXNEZXByZWNhdGlvbldhcm5lZChwYWlyKSkge1xuICAgICAgICAgICAgICBjb25zdCByZWRpcmVjdFRvUGFpciA9IHR5cGVvZiByZWRpcmVjdFRvID09PSBcInN0cmluZ1wiID8geyBrZXk6IHJlZGlyZWN0VG8sIHZhbHVlOiBkZXByZWNhdGVkVmFsdWUgfSA6IHJlZGlyZWN0VG87XG4gICAgICAgICAgICAgIHRoaXMuX3V0aWxzLmxvZ2dlci53YXJuKHRoaXMuX2RlcHJlY2F0ZWRIYW5kbGVyKHBhaXIsIHJlZGlyZWN0VG9QYWlyLCB0aGlzLl91dGlscykpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIGNvbnN0IGZvcndhcmRSZXN1bHQgPSBub3JtYWxpemVGb3J3YXJkUmVzdWx0KHNjaGVtYTIuZm9yd2FyZCh2YWx1ZSwgdGhpcy5fdXRpbHMpLCB2YWx1ZSk7XG4gICAgICBmb3J3YXJkUmVzdWx0LmZvckVhY2goYXBwZW5kVHJhbnNmZXJyZWRPcHRpb25zKTtcbiAgICAgIGNvbnN0IHJlZGlyZWN0UmVzdWx0ID0gbm9ybWFsaXplUmVkaXJlY3RSZXN1bHQoc2NoZW1hMi5yZWRpcmVjdCh2YWx1ZSwgdGhpcy5fdXRpbHMpLCB2YWx1ZSk7XG4gICAgICByZWRpcmVjdFJlc3VsdC5yZWRpcmVjdC5mb3JFYWNoKGFwcGVuZFRyYW5zZmVycmVkT3B0aW9ucyk7XG4gICAgICBpZiAoXCJyZW1haW5cIiBpbiByZWRpcmVjdFJlc3VsdCkge1xuICAgICAgICBjb25zdCByZW1haW5pbmdWYWx1ZSA9IHJlZGlyZWN0UmVzdWx0LnJlbWFpbjtcbiAgICAgICAgbmV3T3B0aW9uc1trZXkyXSA9IGtleTIgaW4gbmV3T3B0aW9ucyA/IHNjaGVtYTIub3ZlcmxhcChuZXdPcHRpb25zW2tleTJdLCByZW1haW5pbmdWYWx1ZSwgdGhpcy5fdXRpbHMpIDogcmVtYWluaW5nVmFsdWU7XG4gICAgICAgIHdhcm5EZXByZWNhdGVkKHsgdmFsdWU6IHJlbWFpbmluZ1ZhbHVlIH0pO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCB7IGZyb20sIHRvIH0gb2YgcmVkaXJlY3RSZXN1bHQucmVkaXJlY3QpIHtcbiAgICAgICAgd2FybkRlcHJlY2F0ZWQoeyB2YWx1ZTogZnJvbSwgcmVkaXJlY3RUbzogdG8gfSk7XG4gICAgICB9XG4gICAgfVxuICAgIGZvciAoY29uc3Qga2V5MiBvZiB1bmtub3duS2V5cykge1xuICAgICAgY29uc3QgdmFsdWUgPSBvcHRpb25zOFtrZXkyXTtcbiAgICAgIHRoaXMuX2FwcGx5VW5rbm93bkhhbmRsZXIoa2V5MiwgdmFsdWUsIG5ld09wdGlvbnMsIChrbm93blJlc3VsdEtleSwga25vd25SZXN1bHRWYWx1ZSkgPT4ge1xuICAgICAgICB0cmFuc2ZlcnJlZE9wdGlvbnNBcnJheS5wdXNoKHsgW2tub3duUmVzdWx0S2V5XToga25vd25SZXN1bHRWYWx1ZSB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gdHJhbnNmZXJyZWRPcHRpb25zQXJyYXk7XG4gIH1cbiAgX2FwcGx5UmVxdWlyZWRDaGVjayhvcHRpb25zOCkge1xuICAgIGZvciAoY29uc3Qga2V5MiBvZiBPYmplY3Qua2V5cyh0aGlzLl91dGlscy5zY2hlbWFzKSkge1xuICAgICAgaWYgKHRoaXMuX2lkZW50aWZ5TWlzc2luZyhrZXkyLCBvcHRpb25zOCkpIHtcbiAgICAgICAgaWYgKHRoaXMuX2lkZW50aWZ5UmVxdWlyZWQoa2V5MikpIHtcbiAgICAgICAgICB0aHJvdyB0aGlzLl9pbnZhbGlkSGFuZGxlcihrZXkyLCBWQUxVRV9OT1RfRVhJU1QsIHRoaXMuX3V0aWxzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBfcGFydGl0aW9uT3B0aW9uS2V5cyhvcHRpb25zOCkge1xuICAgIGNvbnN0IFtrbm93bktleXMsIHVua25vd25LZXlzXSA9IHBhcnRpdGlvbihPYmplY3Qua2V5cyhvcHRpb25zOCkuZmlsdGVyKChrZXkyKSA9PiAhdGhpcy5faWRlbnRpZnlNaXNzaW5nKGtleTIsIG9wdGlvbnM4KSksIChrZXkyKSA9PiBrZXkyIGluIHRoaXMuX3V0aWxzLnNjaGVtYXMpO1xuICAgIHJldHVybiB7IGtub3duS2V5cywgdW5rbm93bktleXMgfTtcbiAgfVxuICBfYXBwbHlWYWxpZGF0aW9uKHZhbHVlLCBrZXkyLCBzY2hlbWEyKSB7XG4gICAgY29uc3QgdmFsaWRhdGVSZXN1bHQgPSBub3JtYWxpemVWYWxpZGF0ZVJlc3VsdChzY2hlbWEyLnZhbGlkYXRlKHZhbHVlLCB0aGlzLl91dGlscyksIHZhbHVlKTtcbiAgICBpZiAodmFsaWRhdGVSZXN1bHQgIT09IHRydWUpIHtcbiAgICAgIHRocm93IHRoaXMuX2ludmFsaWRIYW5kbGVyKGtleTIsIHZhbGlkYXRlUmVzdWx0LnZhbHVlLCB0aGlzLl91dGlscyk7XG4gICAgfVxuICB9XG4gIF9hcHBseVVua25vd25IYW5kbGVyKGtleTIsIHZhbHVlLCBuZXdPcHRpb25zLCBrbm93blJlc3VsdEhhbmRsZXIpIHtcbiAgICBjb25zdCB1bmtub3duUmVzdWx0ID0gdGhpcy5fdW5rbm93bkhhbmRsZXIoa2V5MiwgdmFsdWUsIHRoaXMuX3V0aWxzKTtcbiAgICBpZiAoIXVua25vd25SZXN1bHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9yIChjb25zdCByZXN1bHRLZXkgb2YgT2JqZWN0LmtleXModW5rbm93blJlc3VsdCkpIHtcbiAgICAgIGlmICh0aGlzLl9pZGVudGlmeU1pc3NpbmcocmVzdWx0S2V5LCB1bmtub3duUmVzdWx0KSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlc3VsdFZhbHVlID0gdW5rbm93blJlc3VsdFtyZXN1bHRLZXldO1xuICAgICAgaWYgKHJlc3VsdEtleSBpbiB0aGlzLl91dGlscy5zY2hlbWFzKSB7XG4gICAgICAgIGtub3duUmVzdWx0SGFuZGxlcihyZXN1bHRLZXksIHJlc3VsdFZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld09wdGlvbnNbcmVzdWx0S2V5XSA9IHJlc3VsdFZhbHVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBfYXBwbHlQb3N0cHJvY2VzcyhvcHRpb25zOCkge1xuICAgIGNvbnN0IHBvc3Rwcm9jZXNzZWQgPSB0aGlzLl9wb3N0cHJvY2VzcyhvcHRpb25zOCwgdGhpcy5fdXRpbHMpO1xuICAgIGlmIChwb3N0cHJvY2Vzc2VkID09PSBWQUxVRV9VTkNIQU5HRUQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHBvc3Rwcm9jZXNzZWQuZGVsZXRlKSB7XG4gICAgICBmb3IgKGNvbnN0IGRlbGV0ZUtleSBvZiBwb3N0cHJvY2Vzc2VkLmRlbGV0ZSkge1xuICAgICAgICBkZWxldGUgb3B0aW9uczhbZGVsZXRlS2V5XTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHBvc3Rwcm9jZXNzZWQub3ZlcnJpZGUpIHtcbiAgICAgIGNvbnN0IHsga25vd25LZXlzLCB1bmtub3duS2V5cyB9ID0gdGhpcy5fcGFydGl0aW9uT3B0aW9uS2V5cyhwb3N0cHJvY2Vzc2VkLm92ZXJyaWRlKTtcbiAgICAgIGZvciAoY29uc3Qga2V5MiBvZiBrbm93bktleXMpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBwb3N0cHJvY2Vzc2VkLm92ZXJyaWRlW2tleTJdO1xuICAgICAgICB0aGlzLl9hcHBseVZhbGlkYXRpb24odmFsdWUsIGtleTIsIHRoaXMuX3V0aWxzLnNjaGVtYXNba2V5Ml0pO1xuICAgICAgICBvcHRpb25zOFtrZXkyXSA9IHZhbHVlO1xuICAgICAgfVxuICAgICAgZm9yIChjb25zdCBrZXkyIG9mIHVua25vd25LZXlzKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gcG9zdHByb2Nlc3NlZC5vdmVycmlkZVtrZXkyXTtcbiAgICAgICAgdGhpcy5fYXBwbHlVbmtub3duSGFuZGxlcihrZXkyLCB2YWx1ZSwgb3B0aW9uczgsIChrbm93blJlc3VsdEtleSwga25vd25SZXN1bHRWYWx1ZSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHNjaGVtYTIgPSB0aGlzLl91dGlscy5zY2hlbWFzW2tub3duUmVzdWx0S2V5XTtcbiAgICAgICAgICB0aGlzLl9hcHBseVZhbGlkYXRpb24oa25vd25SZXN1bHRWYWx1ZSwga25vd25SZXN1bHRLZXksIHNjaGVtYTIpO1xuICAgICAgICAgIG9wdGlvbnM4W2tub3duUmVzdWx0S2V5XSA9IGtub3duUmVzdWx0VmFsdWU7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuLy8gc3JjL2NvbW1vbi9lcnJvcnMuanNcbnZhciBlcnJvcnNfZXhwb3J0cyA9IHt9O1xuX19leHBvcnQoZXJyb3JzX2V4cG9ydHMsIHtcbiAgQXJnRXhwYW5zaW9uQmFpbG91dDogKCkgPT4gQXJnRXhwYW5zaW9uQmFpbG91dCxcbiAgQ29uZmlnRXJyb3I6ICgpID0+IENvbmZpZ0Vycm9yLFxuICBVbmRlZmluZWRQYXJzZXJFcnJvcjogKCkgPT4gVW5kZWZpbmVkUGFyc2VyRXJyb3Jcbn0pO1xudmFyIENvbmZpZ0Vycm9yID0gY2xhc3MgZXh0ZW5kcyBFcnJvciB7XG4gIG5hbWUgPSBcIkNvbmZpZ0Vycm9yXCI7XG59O1xudmFyIFVuZGVmaW5lZFBhcnNlckVycm9yID0gY2xhc3MgZXh0ZW5kcyBFcnJvciB7XG4gIG5hbWUgPSBcIlVuZGVmaW5lZFBhcnNlckVycm9yXCI7XG59O1xudmFyIEFyZ0V4cGFuc2lvbkJhaWxvdXQgPSBjbGFzcyBleHRlbmRzIEVycm9yIHtcbiAgbmFtZSA9IFwiQXJnRXhwYW5zaW9uQmFpbG91dFwiO1xufTtcblxuLy8gc3JjL2NvbmZpZy9yZXNvbHZlLWNvbmZpZy5qc1xudmFyIGltcG9ydF9taWNyb21hdGNoID0gX190b0VTTShyZXF1aXJlX21pY3JvbWF0Y2goKSwgMSk7XG5pbXBvcnQgcGF0aDkgZnJvbSBcInBhdGhcIjtcblxuLy8gbm9kZV9tb2R1bGVzL3VybC1vci1wYXRoL2luZGV4LmpzXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoLCBwYXRoVG9GaWxlVVJMIH0gZnJvbSBcInVybFwiO1xudmFyIFVSTF9TVFJJTkdfUFJFRklYID0gXCJmaWxlOlwiO1xudmFyIGlzVXJsSW5zdGFuY2UgPSAodmFsdWUpID0+IHZhbHVlIGluc3RhbmNlb2YgVVJMO1xudmFyIGlzVXJsU3RyaW5nID0gKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgdmFsdWUuc3RhcnRzV2l0aChVUkxfU1RSSU5HX1BSRUZJWCk7XG52YXIgaXNVcmwgPSAodXJsT3JQYXRoKSA9PiBpc1VybEluc3RhbmNlKHVybE9yUGF0aCkgfHwgaXNVcmxTdHJpbmcodXJsT3JQYXRoKTtcbnZhciB0b1BhdGggPSAodXJsT3JQYXRoKSA9PiBpc1VybCh1cmxPclBhdGgpID8gZmlsZVVSTFRvUGF0aCh1cmxPclBhdGgpIDogdXJsT3JQYXRoO1xuXG4vLyBzcmMvdXRpbHMvcGFydGl0aW9uLmpzXG5mdW5jdGlvbiBwYXJ0aXRpb24yKGFycmF5MiwgcHJlZGljYXRlKSB7XG4gIGNvbnN0IHJlc3VsdCA9IFtbXSwgW11dO1xuICBmb3IgKGNvbnN0IHZhbHVlIG9mIGFycmF5Mikge1xuICAgIHJlc3VsdFtwcmVkaWNhdGUodmFsdWUpID8gMCA6IDFdLnB1c2godmFsdWUpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG52YXIgcGFydGl0aW9uX2RlZmF1bHQgPSBwYXJ0aXRpb24yO1xuXG4vLyBzcmMvY29uZmlnL2VkaXRvcmNvbmZpZy9pbmRleC5qc1xudmFyIGltcG9ydF9lZGl0b3Jjb25maWcgPSBfX3RvRVNNKHJlcXVpcmVfc3JjKCksIDEpO1xuaW1wb3J0IHBhdGg0IGZyb20gXCJwYXRoXCI7XG5cbi8vIHNyYy9jb25maWcvZmluZC1wcm9qZWN0LXJvb3QuanNcbmltcG9ydCAqIGFzIHBhdGgzIGZyb20gXCJwYXRoXCI7XG5cbi8vIHNyYy91dGlscy9pcy1kaXJlY3RvcnkuanNcbmltcG9ydCBmcyBmcm9tIFwiZnMvcHJvbWlzZXNcIjtcbmFzeW5jIGZ1bmN0aW9uIGlzRGlyZWN0b3J5KGRpcmVjdG9yeSwgb3B0aW9uczgpIHtcbiAgY29uc3QgYWxsb3dTeW1saW5rcyA9IChvcHRpb25zOCA9PSBudWxsID8gdm9pZCAwIDogb3B0aW9uczguYWxsb3dTeW1saW5rcykgPz8gdHJ1ZTtcbiAgbGV0IHN0YXRzO1xuICB0cnkge1xuICAgIHN0YXRzID0gYXdhaXQgKGFsbG93U3ltbGlua3MgPyBmcy5zdGF0IDogZnMubHN0YXQpKHRvUGF0aChkaXJlY3RvcnkpKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHJldHVybiBzdGF0cy5pc0RpcmVjdG9yeSgpO1xufVxudmFyIGlzX2RpcmVjdG9yeV9kZWZhdWx0ID0gaXNEaXJlY3Rvcnk7XG5cbi8vIHNyYy9jb25maWcvc2VhcmNoZXIuanNcbmltcG9ydCBwYXRoMiBmcm9tIFwicGF0aFwiO1xuXG4vLyBub2RlX21vZHVsZXMvaXRlcmF0ZS1kaXJlY3RvcnktdXAvaW5kZXguanNcbmltcG9ydCAqIGFzIHBhdGggZnJvbSBcInBhdGhcIjtcbnZhciB0b0Fic29sdXRlUGF0aCA9ICh2YWx1ZSkgPT4gcGF0aC5yZXNvbHZlKHRvUGF0aCh2YWx1ZSkpO1xuZnVuY3Rpb24qIGl0ZXJhdGVEaXJlY3RvcnlVcChmcm9tLCB0bykge1xuICBmcm9tID0gdG9BYnNvbHV0ZVBhdGgoZnJvbSk7XG4gIGNvbnN0IHsgcm9vdDogcm9vdDIgfSA9IHBhdGgucGFyc2UoZnJvbSk7XG4gIHRvID0gdG8gPyB0b0Fic29sdXRlUGF0aCh0bykgOiByb290MjtcbiAgaWYgKGZyb20gIT09IHRvICYmICFmcm9tLnN0YXJ0c1dpdGgodG8pKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGZvciAobGV0IGRpcmVjdG9yeSA9IGZyb207IGRpcmVjdG9yeSAhPT0gdG87IGRpcmVjdG9yeSA9IHBhdGguZGlybmFtZShkaXJlY3RvcnkpKSB7XG4gICAgeWllbGQgZGlyZWN0b3J5O1xuICB9XG4gIHlpZWxkIHRvO1xufVxudmFyIGl0ZXJhdGVfZGlyZWN0b3J5X3VwX2RlZmF1bHQgPSBpdGVyYXRlRGlyZWN0b3J5VXA7XG5cbi8vIHNyYy9jb25maWcvc2VhcmNoZXIuanNcbnZhciBfbmFtZXMsIF9maWx0ZXIsIF9zdG9wRGlyZWN0b3J5LCBfY2FjaGUsIF9TZWFyY2hlcl9pbnN0YW5jZXMsIHNlYXJjaEluRGlyZWN0b3J5X2ZuO1xudmFyIFNlYXJjaGVyID0gY2xhc3Mge1xuICAvKipcbiAgICogQHBhcmFtIHt7XG4gICAqICAgbmFtZXM6IHN0cmluZ1tdLFxuICAgKiAgIGZpbHRlcjogKGZpbGVPckRpcmVjdG9yeToge25hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nfSkgPT4gUHJvbWlzZTxib29sZWFuPixcbiAgICogICBzdG9wRGlyZWN0b3J5Pzogc3RyaW5nLFxuICAgKiB9fSBwYXJhbTBcbiAgICovXG4gIGNvbnN0cnVjdG9yKHsgbmFtZXMsIGZpbHRlcjogZmlsdGVyMiwgc3RvcERpcmVjdG9yeSB9KSB7XG4gICAgX19wcml2YXRlQWRkKHRoaXMsIF9TZWFyY2hlcl9pbnN0YW5jZXMpO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfbmFtZXMpO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfZmlsdGVyKTtcbiAgICBfX3ByaXZhdGVBZGQodGhpcywgX3N0b3BEaXJlY3RvcnkpO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfY2FjaGUsIC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCkpO1xuICAgIF9fcHJpdmF0ZVNldCh0aGlzLCBfbmFtZXMsIG5hbWVzKTtcbiAgICBfX3ByaXZhdGVTZXQodGhpcywgX2ZpbHRlciwgZmlsdGVyMik7XG4gICAgX19wcml2YXRlU2V0KHRoaXMsIF9zdG9wRGlyZWN0b3J5LCBzdG9wRGlyZWN0b3J5KTtcbiAgfVxuICBhc3luYyBzZWFyY2goc3RhcnREaXJlY3RvcnksIHsgc2hvdWxkQ2FjaGUgfSkge1xuICAgIGNvbnN0IGNhY2hlMyA9IF9fcHJpdmF0ZUdldCh0aGlzLCBfY2FjaGUpO1xuICAgIGlmIChzaG91bGRDYWNoZSAmJiBjYWNoZTMuaGFzKHN0YXJ0RGlyZWN0b3J5KSkge1xuICAgICAgcmV0dXJuIGNhY2hlMy5nZXQoc3RhcnREaXJlY3RvcnkpO1xuICAgIH1cbiAgICBjb25zdCBzZWFyY2hlZERpcmVjdG9yaWVzID0gW107XG4gICAgbGV0IHJlc3VsdDtcbiAgICBmb3IgKGNvbnN0IGRpcmVjdG9yeSBvZiBpdGVyYXRlX2RpcmVjdG9yeV91cF9kZWZhdWx0KFxuICAgICAgc3RhcnREaXJlY3RvcnksXG4gICAgICBfX3ByaXZhdGVHZXQodGhpcywgX3N0b3BEaXJlY3RvcnkpXG4gICAgKSkge1xuICAgICAgc2VhcmNoZWREaXJlY3Rvcmllcy5wdXNoKGRpcmVjdG9yeSk7XG4gICAgICByZXN1bHQgPSBhd2FpdCBfX3ByaXZhdGVNZXRob2QodGhpcywgX1NlYXJjaGVyX2luc3RhbmNlcywgc2VhcmNoSW5EaXJlY3RvcnlfZm4pLmNhbGwodGhpcywgZGlyZWN0b3J5LCBzaG91bGRDYWNoZSk7XG4gICAgICBpZiAocmVzdWx0KSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBmb3IgKGNvbnN0IGRpcmVjdG9yeSBvZiBzZWFyY2hlZERpcmVjdG9yaWVzKSB7XG4gICAgICBjYWNoZTMuc2V0KGRpcmVjdG9yeSwgcmVzdWx0KTtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBjbGVhckNhY2hlKCkge1xuICAgIF9fcHJpdmF0ZUdldCh0aGlzLCBfY2FjaGUpLmNsZWFyKCk7XG4gIH1cbn07XG5fbmFtZXMgPSBuZXcgV2Vha01hcCgpO1xuX2ZpbHRlciA9IG5ldyBXZWFrTWFwKCk7XG5fc3RvcERpcmVjdG9yeSA9IG5ldyBXZWFrTWFwKCk7XG5fY2FjaGUgPSBuZXcgV2Vha01hcCgpO1xuX1NlYXJjaGVyX2luc3RhbmNlcyA9IG5ldyBXZWFrU2V0KCk7XG5zZWFyY2hJbkRpcmVjdG9yeV9mbiA9IGFzeW5jIGZ1bmN0aW9uKGRpcmVjdG9yeSwgc2hvdWxkQ2FjaGUpIHtcbiAgY29uc3QgY2FjaGUzID0gX19wcml2YXRlR2V0KHRoaXMsIF9jYWNoZSk7XG4gIGlmIChzaG91bGRDYWNoZSAmJiBjYWNoZTMuaGFzKGRpcmVjdG9yeSkpIHtcbiAgICByZXR1cm4gY2FjaGUzLmdldChkaXJlY3RvcnkpO1xuICB9XG4gIGZvciAoY29uc3QgbmFtZSBvZiBfX3ByaXZhdGVHZXQodGhpcywgX25hbWVzKSkge1xuICAgIGNvbnN0IGZpbGVPckRpcmVjdG9yeSA9IHBhdGgyLmpvaW4oZGlyZWN0b3J5LCBuYW1lKTtcbiAgICBpZiAoYXdhaXQgX19wcml2YXRlR2V0KHRoaXMsIF9maWx0ZXIpLmNhbGwodGhpcywgeyBuYW1lLCBwYXRoOiBmaWxlT3JEaXJlY3RvcnkgfSkpIHtcbiAgICAgIHJldHVybiBmaWxlT3JEaXJlY3Rvcnk7XG4gICAgfVxuICB9XG59O1xudmFyIHNlYXJjaGVyX2RlZmF1bHQgPSBTZWFyY2hlcjtcblxuLy8gc3JjL2NvbmZpZy9maW5kLXByb2plY3Qtcm9vdC5qc1xudmFyIE1BUktFUlMgPSBbXCIuZ2l0XCIsIFwiLmhnXCJdO1xudmFyIHNlYXJjaGVyO1xudmFyIHNlYXJjaE9wdGlvbnMgPSB7XG4gIG5hbWVzOiBNQVJLRVJTLFxuICBmaWx0ZXI6ICh7IHBhdGg6IGRpcmVjdG9yeSB9KSA9PiBpc19kaXJlY3RvcnlfZGVmYXVsdChkaXJlY3RvcnksIHsgYWxsb3dTeW1saW5rczogZmFsc2UgfSlcbn07XG5hc3luYyBmdW5jdGlvbiBmaW5kUHJvamVjdFJvb3Qoc3RhcnREaXJlY3RvcnksIG9wdGlvbnM4KSB7XG4gIHNlYXJjaGVyID8/IChzZWFyY2hlciA9IG5ldyBzZWFyY2hlcl9kZWZhdWx0KHNlYXJjaE9wdGlvbnMpKTtcbiAgY29uc3QgbWFyayA9IGF3YWl0IHNlYXJjaGVyLnNlYXJjaChzdGFydERpcmVjdG9yeSwgb3B0aW9uczgpO1xuICByZXR1cm4gbWFyayA/IHBhdGgzLmRpcm5hbWUobWFyaykgOiB2b2lkIDA7XG59XG5mdW5jdGlvbiBjbGVhckZpbmRQcm9qZWN0Um9vdENhY2hlKCkge1xuICBzZWFyY2hlciA9PSBudWxsID8gdm9pZCAwIDogc2VhcmNoZXIuY2xlYXJDYWNoZSgpO1xufVxuXG4vLyBzcmMvY29uZmlnL2VkaXRvcmNvbmZpZy9lZGl0b3Jjb25maWctdG8tcHJldHRpZXIuanNcbmZ1bmN0aW9uIHJlbW92ZVVuc2V0KGVkaXRvckNvbmZpZykge1xuICBjb25zdCByZXN1bHQgPSB7fTtcbiAgY29uc3Qga2V5cyA9IE9iamVjdC5rZXlzKGVkaXRvckNvbmZpZyk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwga2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGtleTIgPSBrZXlzW2ldO1xuICAgIGlmIChlZGl0b3JDb25maWdba2V5Ml0gPT09IFwidW5zZXRcIikge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIHJlc3VsdFtrZXkyXSA9IGVkaXRvckNvbmZpZ1trZXkyXTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gZWRpdG9yQ29uZmlnVG9QcmV0dGllcihlZGl0b3JDb25maWcpIHtcbiAgaWYgKCFlZGl0b3JDb25maWcpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBlZGl0b3JDb25maWcgPSByZW1vdmVVbnNldChlZGl0b3JDb25maWcpO1xuICBpZiAoT2JqZWN0LmtleXMoZWRpdG9yQ29uZmlnKS5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICBjb25zdCByZXN1bHQgPSB7fTtcbiAgaWYgKGVkaXRvckNvbmZpZy5pbmRlbnRfc3R5bGUpIHtcbiAgICByZXN1bHQudXNlVGFicyA9IGVkaXRvckNvbmZpZy5pbmRlbnRfc3R5bGUgPT09IFwidGFiXCI7XG4gIH1cbiAgaWYgKGVkaXRvckNvbmZpZy5pbmRlbnRfc2l6ZSA9PT0gXCJ0YWJcIikge1xuICAgIHJlc3VsdC51c2VUYWJzID0gdHJ1ZTtcbiAgfVxuICBpZiAocmVzdWx0LnVzZVRhYnMgJiYgZWRpdG9yQ29uZmlnLnRhYl93aWR0aCkge1xuICAgIHJlc3VsdC50YWJXaWR0aCA9IGVkaXRvckNvbmZpZy50YWJfd2lkdGg7XG4gIH0gZWxzZSBpZiAoZWRpdG9yQ29uZmlnLmluZGVudF9zdHlsZSA9PT0gXCJzcGFjZVwiICYmIGVkaXRvckNvbmZpZy5pbmRlbnRfc2l6ZSAmJiBlZGl0b3JDb25maWcuaW5kZW50X3NpemUgIT09IFwidGFiXCIpIHtcbiAgICByZXN1bHQudGFiV2lkdGggPSBlZGl0b3JDb25maWcuaW5kZW50X3NpemU7XG4gIH0gZWxzZSBpZiAoZWRpdG9yQ29uZmlnLnRhYl93aWR0aCAhPT0gdm9pZCAwKSB7XG4gICAgcmVzdWx0LnRhYldpZHRoID0gZWRpdG9yQ29uZmlnLnRhYl93aWR0aDtcbiAgfVxuICBpZiAoZWRpdG9yQ29uZmlnLm1heF9saW5lX2xlbmd0aCkge1xuICAgIGlmIChlZGl0b3JDb25maWcubWF4X2xpbmVfbGVuZ3RoID09PSBcIm9mZlwiKSB7XG4gICAgICByZXN1bHQucHJpbnRXaWR0aCA9IE51bWJlci5QT1NJVElWRV9JTkZJTklUWTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0LnByaW50V2lkdGggPSBlZGl0b3JDb25maWcubWF4X2xpbmVfbGVuZ3RoO1xuICAgIH1cbiAgfVxuICBpZiAoZWRpdG9yQ29uZmlnLnF1b3RlX3R5cGUgPT09IFwic2luZ2xlXCIpIHtcbiAgICByZXN1bHQuc2luZ2xlUXVvdGUgPSB0cnVlO1xuICB9IGVsc2UgaWYgKGVkaXRvckNvbmZpZy5xdW90ZV90eXBlID09PSBcImRvdWJsZVwiKSB7XG4gICAgcmVzdWx0LnNpbmdsZVF1b3RlID0gZmFsc2U7XG4gIH1cbiAgaWYgKFtcImNyXCIsIFwiY3JsZlwiLCBcImxmXCJdLmluY2x1ZGVzKGVkaXRvckNvbmZpZy5lbmRfb2ZfbGluZSkpIHtcbiAgICByZXN1bHQuZW5kT2ZMaW5lID0gZWRpdG9yQ29uZmlnLmVuZF9vZl9saW5lO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG52YXIgZWRpdG9yY29uZmlnX3RvX3ByZXR0aWVyX2RlZmF1bHQgPSBlZGl0b3JDb25maWdUb1ByZXR0aWVyO1xuXG4vLyBzcmMvY29uZmlnL2VkaXRvcmNvbmZpZy9pbmRleC5qc1xudmFyIGVkaXRvcmNvbmZpZ0NhY2hlID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbmZ1bmN0aW9uIGNsZWFyRWRpdG9yY29uZmlnQ2FjaGUoKSB7XG4gIGNsZWFyRmluZFByb2plY3RSb290Q2FjaGUoKTtcbiAgZWRpdG9yY29uZmlnQ2FjaGUuY2xlYXIoKTtcbn1cbmFzeW5jIGZ1bmN0aW9uIGxvYWRFZGl0b3Jjb25maWdJbnRlcm5hbChmaWxlLCB7IHNob3VsZENhY2hlIH0pIHtcbiAgY29uc3QgZGlyZWN0b3J5ID0gcGF0aDQuZGlybmFtZShmaWxlKTtcbiAgY29uc3Qgcm9vdDIgPSBhd2FpdCBmaW5kUHJvamVjdFJvb3QoZGlyZWN0b3J5LCB7IHNob3VsZENhY2hlIH0pO1xuICBjb25zdCBlZGl0b3JDb25maWcgPSBhd2FpdCBpbXBvcnRfZWRpdG9yY29uZmlnLmRlZmF1bHQucGFyc2UoZmlsZSwgeyByb290OiByb290MiB9KTtcbiAgY29uc3QgY29uZmlnID0gZWRpdG9yY29uZmlnX3RvX3ByZXR0aWVyX2RlZmF1bHQoZWRpdG9yQ29uZmlnKTtcbiAgcmV0dXJuIGNvbmZpZztcbn1cbmZ1bmN0aW9uIGxvYWRFZGl0b3Jjb25maWcoZmlsZSwgeyBzaG91bGRDYWNoZSB9KSB7XG4gIGZpbGUgPSBwYXRoNC5yZXNvbHZlKGZpbGUpO1xuICBpZiAoIXNob3VsZENhY2hlIHx8ICFlZGl0b3Jjb25maWdDYWNoZS5oYXMoZmlsZSkpIHtcbiAgICBlZGl0b3Jjb25maWdDYWNoZS5zZXQoXG4gICAgICBmaWxlLFxuICAgICAgbG9hZEVkaXRvcmNvbmZpZ0ludGVybmFsKGZpbGUsIHsgc2hvdWxkQ2FjaGUgfSlcbiAgICApO1xuICB9XG4gIHJldHVybiBlZGl0b3Jjb25maWdDYWNoZS5nZXQoZmlsZSk7XG59XG5cbi8vIHNyYy9jb25maWcvcHJldHRpZXItY29uZmlnL2luZGV4LmpzXG5pbXBvcnQgcGF0aDggZnJvbSBcInBhdGhcIjtcblxuLy8gc3JjL2NvbW1vbi9tb2NrYWJsZS5qc1xudmFyIGltcG9ydF9jaV9pbmZvID0gX190b0VTTShyZXF1aXJlX2NpX2luZm8oKSwgMSk7XG5pbXBvcnQgZnMyIGZyb20gXCJmcy9wcm9taXNlc1wiO1xuXG4vLyBub2RlX21vZHVsZXMvZ2V0LXN0ZGluL2luZGV4LmpzXG52YXIgeyBzdGRpbiB9ID0gcHJvY2VzcztcbmFzeW5jIGZ1bmN0aW9uIGdldFN0ZGluKCkge1xuICBsZXQgcmVzdWx0ID0gXCJcIjtcbiAgaWYgKHN0ZGluLmlzVFRZKSB7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICBzdGRpbi5zZXRFbmNvZGluZyhcInV0ZjhcIik7XG4gIGZvciBhd2FpdCAoY29uc3QgY2h1bmsgb2Ygc3RkaW4pIHtcbiAgICByZXN1bHQgKz0gY2h1bms7XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbmdldFN0ZGluLmJ1ZmZlciA9IGFzeW5jICgpID0+IHtcbiAgY29uc3QgcmVzdWx0ID0gW107XG4gIGxldCBsZW5ndGggPSAwO1xuICBpZiAoc3RkaW4uaXNUVFkpIHtcbiAgICByZXR1cm4gQnVmZmVyLmNvbmNhdChbXSk7XG4gIH1cbiAgZm9yIGF3YWl0IChjb25zdCBjaHVuayBvZiBzdGRpbikge1xuICAgIHJlc3VsdC5wdXNoKGNodW5rKTtcbiAgICBsZW5ndGggKz0gY2h1bmsubGVuZ3RoO1xuICB9XG4gIHJldHVybiBCdWZmZXIuY29uY2F0KHJlc3VsdCwgbGVuZ3RoKTtcbn07XG5cbi8vIHNyYy9jb21tb24vbW9ja2FibGUuanNcbmZ1bmN0aW9uIHdyaXRlRm9ybWF0dGVkRmlsZShmaWxlLCBkYXRhKSB7XG4gIHJldHVybiBmczIud3JpdGVGaWxlKGZpbGUsIGRhdGEpO1xufVxudmFyIG1vY2thYmxlID0ge1xuICBnZXRQcmV0dGllckNvbmZpZ1NlYXJjaFN0b3BEaXJlY3Rvcnk6ICgpID0+IHZvaWQgMCxcbiAgZ2V0U3RkaW4sXG4gIGlzQ0k6ICgpID0+IGltcG9ydF9jaV9pbmZvLmlzQ0ksXG4gIHdyaXRlRm9ybWF0dGVkRmlsZVxufTtcbnZhciBtb2NrYWJsZV9kZWZhdWx0ID0gbW9ja2FibGU7XG5cbi8vIHNyYy91dGlscy9pcy1maWxlLmpzXG5pbXBvcnQgZnMzIGZyb20gXCJmcy9wcm9taXNlc1wiO1xuYXN5bmMgZnVuY3Rpb24gaXNGaWxlKGZpbGUsIG9wdGlvbnM4KSB7XG4gIGNvbnN0IGFsbG93U3ltbGlua3MgPSAob3B0aW9uczggPT0gbnVsbCA/IHZvaWQgMCA6IG9wdGlvbnM4LmFsbG93U3ltbGlua3MpID8/IHRydWU7XG4gIGxldCBzdGF0cztcbiAgdHJ5IHtcbiAgICBzdGF0cyA9IGF3YWl0IChhbGxvd1N5bWxpbmtzID8gZnMzLnN0YXQgOiBmczMubHN0YXQpKHRvUGF0aChmaWxlKSk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gc3RhdHMuaXNGaWxlKCk7XG59XG52YXIgaXNfZmlsZV9kZWZhdWx0ID0gaXNGaWxlO1xuXG4vLyBzcmMvY29uZmlnL3ByZXR0aWVyLWNvbmZpZy9sb2FkZXJzLmpzXG5pbXBvcnQgeyBwYXRoVG9GaWxlVVJMIGFzIHBhdGhUb0ZpbGVVUkwyIH0gZnJvbSBcInVybFwiO1xuXG4vLyBub2RlX21vZHVsZXMvanMteWFtbC9kaXN0L2pzLXlhbWwubWpzXG5mdW5jdGlvbiBpc05vdGhpbmcoc3ViamVjdCkge1xuICByZXR1cm4gdHlwZW9mIHN1YmplY3QgPT09IFwidW5kZWZpbmVkXCIgfHwgc3ViamVjdCA9PT0gbnVsbDtcbn1cbmZ1bmN0aW9uIGlzT2JqZWN0KHN1YmplY3QpIHtcbiAgcmV0dXJuIHR5cGVvZiBzdWJqZWN0ID09PSBcIm9iamVjdFwiICYmIHN1YmplY3QgIT09IG51bGw7XG59XG5mdW5jdGlvbiB0b0FycmF5KHNlcXVlbmNlKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KHNlcXVlbmNlKSkgcmV0dXJuIHNlcXVlbmNlO1xuICBlbHNlIGlmIChpc05vdGhpbmcoc2VxdWVuY2UpKSByZXR1cm4gW107XG4gIHJldHVybiBbc2VxdWVuY2VdO1xufVxuZnVuY3Rpb24gZXh0ZW5kKHRhcmdldCwgc291cmNlMikge1xuICB2YXIgaW5kZXgsIGxlbmd0aCwga2V5Miwgc291cmNlS2V5cztcbiAgaWYgKHNvdXJjZTIpIHtcbiAgICBzb3VyY2VLZXlzID0gT2JqZWN0LmtleXMoc291cmNlMik7XG4gICAgZm9yIChpbmRleCA9IDAsIGxlbmd0aCA9IHNvdXJjZUtleXMubGVuZ3RoOyBpbmRleCA8IGxlbmd0aDsgaW5kZXggKz0gMSkge1xuICAgICAga2V5MiA9IHNvdXJjZUtleXNbaW5kZXhdO1xuICAgICAgdGFyZ2V0W2tleTJdID0gc291cmNlMltrZXkyXTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRhcmdldDtcbn1cbmZ1bmN0aW9uIHJlcGVhdChzdHJpbmcsIGNvdW50KSB7XG4gIHZhciByZXN1bHQgPSBcIlwiLCBjeWNsZTtcbiAgZm9yIChjeWNsZSA9IDA7IGN5Y2xlIDwgY291bnQ7IGN5Y2xlICs9IDEpIHtcbiAgICByZXN1bHQgKz0gc3RyaW5nO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBpc05lZ2F0aXZlWmVybyhudW1iZXIpIHtcbiAgcmV0dXJuIG51bWJlciA9PT0gMCAmJiBOdW1iZXIuTkVHQVRJVkVfSU5GSU5JVFkgPT09IDEgLyBudW1iZXI7XG59XG52YXIgaXNOb3RoaW5nXzEgPSBpc05vdGhpbmc7XG52YXIgaXNPYmplY3RfMSA9IGlzT2JqZWN0O1xudmFyIHRvQXJyYXlfMSA9IHRvQXJyYXk7XG52YXIgcmVwZWF0XzEgPSByZXBlYXQ7XG52YXIgaXNOZWdhdGl2ZVplcm9fMSA9IGlzTmVnYXRpdmVaZXJvO1xudmFyIGV4dGVuZF8xID0gZXh0ZW5kO1xudmFyIGNvbW1vbiA9IHtcbiAgaXNOb3RoaW5nOiBpc05vdGhpbmdfMSxcbiAgaXNPYmplY3Q6IGlzT2JqZWN0XzEsXG4gIHRvQXJyYXk6IHRvQXJyYXlfMSxcbiAgcmVwZWF0OiByZXBlYXRfMSxcbiAgaXNOZWdhdGl2ZVplcm86IGlzTmVnYXRpdmVaZXJvXzEsXG4gIGV4dGVuZDogZXh0ZW5kXzFcbn07XG5mdW5jdGlvbiBmb3JtYXRFcnJvcihleGNlcHRpb24yLCBjb21wYWN0KSB7XG4gIHZhciB3aGVyZSA9IFwiXCIsIG1lc3NhZ2UgPSBleGNlcHRpb24yLnJlYXNvbiB8fCBcIih1bmtub3duIHJlYXNvbilcIjtcbiAgaWYgKCFleGNlcHRpb24yLm1hcmspIHJldHVybiBtZXNzYWdlO1xuICBpZiAoZXhjZXB0aW9uMi5tYXJrLm5hbWUpIHtcbiAgICB3aGVyZSArPSAnaW4gXCInICsgZXhjZXB0aW9uMi5tYXJrLm5hbWUgKyAnXCIgJztcbiAgfVxuICB3aGVyZSArPSBcIihcIiArIChleGNlcHRpb24yLm1hcmsubGluZSArIDEpICsgXCI6XCIgKyAoZXhjZXB0aW9uMi5tYXJrLmNvbHVtbiArIDEpICsgXCIpXCI7XG4gIGlmICghY29tcGFjdCAmJiBleGNlcHRpb24yLm1hcmsuc25pcHBldCkge1xuICAgIHdoZXJlICs9IFwiXFxuXFxuXCIgKyBleGNlcHRpb24yLm1hcmsuc25pcHBldDtcbiAgfVxuICByZXR1cm4gbWVzc2FnZSArIFwiIFwiICsgd2hlcmU7XG59XG5mdW5jdGlvbiBZQU1MRXhjZXB0aW9uJDEocmVhc29uLCBtYXJrKSB7XG4gIEVycm9yLmNhbGwodGhpcyk7XG4gIHRoaXMubmFtZSA9IFwiWUFNTEV4Y2VwdGlvblwiO1xuICB0aGlzLnJlYXNvbiA9IHJlYXNvbjtcbiAgdGhpcy5tYXJrID0gbWFyaztcbiAgdGhpcy5tZXNzYWdlID0gZm9ybWF0RXJyb3IodGhpcywgZmFsc2UpO1xuICBpZiAoRXJyb3IuY2FwdHVyZVN0YWNrVHJhY2UpIHtcbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSh0aGlzLCB0aGlzLmNvbnN0cnVjdG9yKTtcbiAgfSBlbHNlIHtcbiAgICB0aGlzLnN0YWNrID0gbmV3IEVycm9yKCkuc3RhY2sgfHwgXCJcIjtcbiAgfVxufVxuWUFNTEV4Y2VwdGlvbiQxLnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoRXJyb3IucHJvdG90eXBlKTtcbllBTUxFeGNlcHRpb24kMS5wcm90b3R5cGUuY29uc3RydWN0b3IgPSBZQU1MRXhjZXB0aW9uJDE7XG5ZQU1MRXhjZXB0aW9uJDEucHJvdG90eXBlLnRvU3RyaW5nID0gZnVuY3Rpb24gdG9TdHJpbmcoY29tcGFjdCkge1xuICByZXR1cm4gdGhpcy5uYW1lICsgXCI6IFwiICsgZm9ybWF0RXJyb3IodGhpcywgY29tcGFjdCk7XG59O1xudmFyIGV4Y2VwdGlvbiA9IFlBTUxFeGNlcHRpb24kMTtcbmZ1bmN0aW9uIGdldExpbmUoYnVmZmVyMiwgbGluZVN0YXJ0LCBsaW5lRW5kLCBwb3NpdGlvbiwgbWF4TGluZUxlbmd0aCkge1xuICB2YXIgaGVhZCA9IFwiXCI7XG4gIHZhciB0YWlsID0gXCJcIjtcbiAgdmFyIG1heEhhbGZMZW5ndGggPSBNYXRoLmZsb29yKG1heExpbmVMZW5ndGggLyAyKSAtIDE7XG4gIGlmIChwb3NpdGlvbiAtIGxpbmVTdGFydCA+IG1heEhhbGZMZW5ndGgpIHtcbiAgICBoZWFkID0gXCIgLi4uIFwiO1xuICAgIGxpbmVTdGFydCA9IHBvc2l0aW9uIC0gbWF4SGFsZkxlbmd0aCArIGhlYWQubGVuZ3RoO1xuICB9XG4gIGlmIChsaW5lRW5kIC0gcG9zaXRpb24gPiBtYXhIYWxmTGVuZ3RoKSB7XG4gICAgdGFpbCA9IFwiIC4uLlwiO1xuICAgIGxpbmVFbmQgPSBwb3NpdGlvbiArIG1heEhhbGZMZW5ndGggLSB0YWlsLmxlbmd0aDtcbiAgfVxuICByZXR1cm4ge1xuICAgIHN0cjogaGVhZCArIGJ1ZmZlcjIuc2xpY2UobGluZVN0YXJ0LCBsaW5lRW5kKS5yZXBsYWNlKC9cXHQvZywgXCJcXHUyMTkyXCIpICsgdGFpbCxcbiAgICBwb3M6IHBvc2l0aW9uIC0gbGluZVN0YXJ0ICsgaGVhZC5sZW5ndGhcbiAgICAvLyByZWxhdGl2ZSBwb3NpdGlvblxuICB9O1xufVxuZnVuY3Rpb24gcGFkU3RhcnQoc3RyaW5nLCBtYXgpIHtcbiAgcmV0dXJuIGNvbW1vbi5yZXBlYXQoXCIgXCIsIG1heCAtIHN0cmluZy5sZW5ndGgpICsgc3RyaW5nO1xufVxuZnVuY3Rpb24gbWFrZVNuaXBwZXQobWFyaywgb3B0aW9uczgpIHtcbiAgb3B0aW9uczggPSBPYmplY3QuY3JlYXRlKG9wdGlvbnM4IHx8IG51bGwpO1xuICBpZiAoIW1hcmsuYnVmZmVyKSByZXR1cm4gbnVsbDtcbiAgaWYgKCFvcHRpb25zOC5tYXhMZW5ndGgpIG9wdGlvbnM4Lm1heExlbmd0aCA9IDc5O1xuICBpZiAodHlwZW9mIG9wdGlvbnM4LmluZGVudCAhPT0gXCJudW1iZXJcIikgb3B0aW9uczguaW5kZW50ID0gMTtcbiAgaWYgKHR5cGVvZiBvcHRpb25zOC5saW5lc0JlZm9yZSAhPT0gXCJudW1iZXJcIikgb3B0aW9uczgubGluZXNCZWZvcmUgPSAzO1xuICBpZiAodHlwZW9mIG9wdGlvbnM4LmxpbmVzQWZ0ZXIgIT09IFwibnVtYmVyXCIpIG9wdGlvbnM4LmxpbmVzQWZ0ZXIgPSAyO1xuICB2YXIgcmUgPSAvXFxyP1xcbnxcXHJ8XFwwL2c7XG4gIHZhciBsaW5lU3RhcnRzID0gWzBdO1xuICB2YXIgbGluZUVuZHMgPSBbXTtcbiAgdmFyIG1hdGNoO1xuICB2YXIgZm91bmRMaW5lTm8gPSAtMTtcbiAgd2hpbGUgKG1hdGNoID0gcmUuZXhlYyhtYXJrLmJ1ZmZlcikpIHtcbiAgICBsaW5lRW5kcy5wdXNoKG1hdGNoLmluZGV4KTtcbiAgICBsaW5lU3RhcnRzLnB1c2gobWF0Y2guaW5kZXggKyBtYXRjaFswXS5sZW5ndGgpO1xuICAgIGlmIChtYXJrLnBvc2l0aW9uIDw9IG1hdGNoLmluZGV4ICYmIGZvdW5kTGluZU5vIDwgMCkge1xuICAgICAgZm91bmRMaW5lTm8gPSBsaW5lU3RhcnRzLmxlbmd0aCAtIDI7XG4gICAgfVxuICB9XG4gIGlmIChmb3VuZExpbmVObyA8IDApIGZvdW5kTGluZU5vID0gbGluZVN0YXJ0cy5sZW5ndGggLSAxO1xuICB2YXIgcmVzdWx0ID0gXCJcIiwgaSwgbGluZTM7XG4gIHZhciBsaW5lTm9MZW5ndGggPSBNYXRoLm1pbihtYXJrLmxpbmUgKyBvcHRpb25zOC5saW5lc0FmdGVyLCBsaW5lRW5kcy5sZW5ndGgpLnRvU3RyaW5nKCkubGVuZ3RoO1xuICB2YXIgbWF4TGluZUxlbmd0aCA9IG9wdGlvbnM4Lm1heExlbmd0aCAtIChvcHRpb25zOC5pbmRlbnQgKyBsaW5lTm9MZW5ndGggKyAzKTtcbiAgZm9yIChpID0gMTsgaSA8PSBvcHRpb25zOC5saW5lc0JlZm9yZTsgaSsrKSB7XG4gICAgaWYgKGZvdW5kTGluZU5vIC0gaSA8IDApIGJyZWFrO1xuICAgIGxpbmUzID0gZ2V0TGluZShcbiAgICAgIG1hcmsuYnVmZmVyLFxuICAgICAgbGluZVN0YXJ0c1tmb3VuZExpbmVObyAtIGldLFxuICAgICAgbGluZUVuZHNbZm91bmRMaW5lTm8gLSBpXSxcbiAgICAgIG1hcmsucG9zaXRpb24gLSAobGluZVN0YXJ0c1tmb3VuZExpbmVOb10gLSBsaW5lU3RhcnRzW2ZvdW5kTGluZU5vIC0gaV0pLFxuICAgICAgbWF4TGluZUxlbmd0aFxuICAgICk7XG4gICAgcmVzdWx0ID0gY29tbW9uLnJlcGVhdChcIiBcIiwgb3B0aW9uczguaW5kZW50KSArIHBhZFN0YXJ0KChtYXJrLmxpbmUgLSBpICsgMSkudG9TdHJpbmcoKSwgbGluZU5vTGVuZ3RoKSArIFwiIHwgXCIgKyBsaW5lMy5zdHIgKyBcIlxcblwiICsgcmVzdWx0O1xuICB9XG4gIGxpbmUzID0gZ2V0TGluZShtYXJrLmJ1ZmZlciwgbGluZVN0YXJ0c1tmb3VuZExpbmVOb10sIGxpbmVFbmRzW2ZvdW5kTGluZU5vXSwgbWFyay5wb3NpdGlvbiwgbWF4TGluZUxlbmd0aCk7XG4gIHJlc3VsdCArPSBjb21tb24ucmVwZWF0KFwiIFwiLCBvcHRpb25zOC5pbmRlbnQpICsgcGFkU3RhcnQoKG1hcmsubGluZSArIDEpLnRvU3RyaW5nKCksIGxpbmVOb0xlbmd0aCkgKyBcIiB8IFwiICsgbGluZTMuc3RyICsgXCJcXG5cIjtcbiAgcmVzdWx0ICs9IGNvbW1vbi5yZXBlYXQoXCItXCIsIG9wdGlvbnM4LmluZGVudCArIGxpbmVOb0xlbmd0aCArIDMgKyBsaW5lMy5wb3MpICsgXCJeXFxuXCI7XG4gIGZvciAoaSA9IDE7IGkgPD0gb3B0aW9uczgubGluZXNBZnRlcjsgaSsrKSB7XG4gICAgaWYgKGZvdW5kTGluZU5vICsgaSA+PSBsaW5lRW5kcy5sZW5ndGgpIGJyZWFrO1xuICAgIGxpbmUzID0gZ2V0TGluZShcbiAgICAgIG1hcmsuYnVmZmVyLFxuICAgICAgbGluZVN0YXJ0c1tmb3VuZExpbmVObyArIGldLFxuICAgICAgbGluZUVuZHNbZm91bmRMaW5lTm8gKyBpXSxcbiAgICAgIG1hcmsucG9zaXRpb24gLSAobGluZVN0YXJ0c1tmb3VuZExpbmVOb10gLSBsaW5lU3RhcnRzW2ZvdW5kTGluZU5vICsgaV0pLFxuICAgICAgbWF4TGluZUxlbmd0aFxuICAgICk7XG4gICAgcmVzdWx0ICs9IGNvbW1vbi5yZXBlYXQoXCIgXCIsIG9wdGlvbnM4LmluZGVudCkgKyBwYWRTdGFydCgobWFyay5saW5lICsgaSArIDEpLnRvU3RyaW5nKCksIGxpbmVOb0xlbmd0aCkgKyBcIiB8IFwiICsgbGluZTMuc3RyICsgXCJcXG5cIjtcbiAgfVxuICByZXR1cm4gcmVzdWx0LnJlcGxhY2UoL1xcbiQvLCBcIlwiKTtcbn1cbnZhciBzbmlwcGV0ID0gbWFrZVNuaXBwZXQ7XG52YXIgVFlQRV9DT05TVFJVQ1RPUl9PUFRJT05TID0gW1xuICBcImtpbmRcIixcbiAgXCJtdWx0aVwiLFxuICBcInJlc29sdmVcIixcbiAgXCJjb25zdHJ1Y3RcIixcbiAgXCJpbnN0YW5jZU9mXCIsXG4gIFwicHJlZGljYXRlXCIsXG4gIFwicmVwcmVzZW50XCIsXG4gIFwicmVwcmVzZW50TmFtZVwiLFxuICBcImRlZmF1bHRTdHlsZVwiLFxuICBcInN0eWxlQWxpYXNlc1wiXG5dO1xudmFyIFlBTUxfTk9ERV9LSU5EUyA9IFtcbiAgXCJzY2FsYXJcIixcbiAgXCJzZXF1ZW5jZVwiLFxuICBcIm1hcHBpbmdcIlxuXTtcbmZ1bmN0aW9uIGNvbXBpbGVTdHlsZUFsaWFzZXMobWFwMikge1xuICB2YXIgcmVzdWx0ID0ge307XG4gIGlmIChtYXAyICE9PSBudWxsKSB7XG4gICAgT2JqZWN0LmtleXMobWFwMikuZm9yRWFjaChmdW5jdGlvbihzdHlsZSkge1xuICAgICAgbWFwMltzdHlsZV0uZm9yRWFjaChmdW5jdGlvbihhbGlhcykge1xuICAgICAgICByZXN1bHRbU3RyaW5nKGFsaWFzKV0gPSBzdHlsZTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBUeXBlJDEodGFnLCBvcHRpb25zOCkge1xuICBvcHRpb25zOCA9IG9wdGlvbnM4IHx8IHt9O1xuICBPYmplY3Qua2V5cyhvcHRpb25zOCkuZm9yRWFjaChmdW5jdGlvbihuYW1lKSB7XG4gICAgaWYgKFRZUEVfQ09OU1RSVUNUT1JfT1BUSU9OUy5pbmRleE9mKG5hbWUpID09PSAtMSkge1xuICAgICAgdGhyb3cgbmV3IGV4Y2VwdGlvbignVW5rbm93biBvcHRpb24gXCInICsgbmFtZSArICdcIiBpcyBtZXQgaW4gZGVmaW5pdGlvbiBvZiBcIicgKyB0YWcgKyAnXCIgWUFNTCB0eXBlLicpO1xuICAgIH1cbiAgfSk7XG4gIHRoaXMub3B0aW9ucyA9IG9wdGlvbnM4O1xuICB0aGlzLnRhZyA9IHRhZztcbiAgdGhpcy5raW5kID0gb3B0aW9uczhbXCJraW5kXCJdIHx8IG51bGw7XG4gIHRoaXMucmVzb2x2ZSA9IG9wdGlvbnM4W1wicmVzb2x2ZVwiXSB8fCBmdW5jdGlvbigpIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfTtcbiAgdGhpcy5jb25zdHJ1Y3QgPSBvcHRpb25zOFtcImNvbnN0cnVjdFwiXSB8fCBmdW5jdGlvbihkYXRhKSB7XG4gICAgcmV0dXJuIGRhdGE7XG4gIH07XG4gIHRoaXMuaW5zdGFuY2VPZiA9IG9wdGlvbnM4W1wiaW5zdGFuY2VPZlwiXSB8fCBudWxsO1xuICB0aGlzLnByZWRpY2F0ZSA9IG9wdGlvbnM4W1wicHJlZGljYXRlXCJdIHx8IG51bGw7XG4gIHRoaXMucmVwcmVzZW50ID0gb3B0aW9uczhbXCJyZXByZXNlbnRcIl0gfHwgbnVsbDtcbiAgdGhpcy5yZXByZXNlbnROYW1lID0gb3B0aW9uczhbXCJyZXByZXNlbnROYW1lXCJdIHx8IG51bGw7XG4gIHRoaXMuZGVmYXVsdFN0eWxlID0gb3B0aW9uczhbXCJkZWZhdWx0U3R5bGVcIl0gfHwgbnVsbDtcbiAgdGhpcy5tdWx0aSA9IG9wdGlvbnM4W1wibXVsdGlcIl0gfHwgZmFsc2U7XG4gIHRoaXMuc3R5bGVBbGlhc2VzID0gY29tcGlsZVN0eWxlQWxpYXNlcyhvcHRpb25zOFtcInN0eWxlQWxpYXNlc1wiXSB8fCBudWxsKTtcbiAgaWYgKFlBTUxfTk9ERV9LSU5EUy5pbmRleE9mKHRoaXMua2luZCkgPT09IC0xKSB7XG4gICAgdGhyb3cgbmV3IGV4Y2VwdGlvbignVW5rbm93biBraW5kIFwiJyArIHRoaXMua2luZCArICdcIiBpcyBzcGVjaWZpZWQgZm9yIFwiJyArIHRhZyArICdcIiBZQU1MIHR5cGUuJyk7XG4gIH1cbn1cbnZhciB0eXBlID0gVHlwZSQxO1xuZnVuY3Rpb24gY29tcGlsZUxpc3Qoc2NoZW1hMiwgbmFtZSkge1xuICB2YXIgcmVzdWx0ID0gW107XG4gIHNjaGVtYTJbbmFtZV0uZm9yRWFjaChmdW5jdGlvbihjdXJyZW50VHlwZSkge1xuICAgIHZhciBuZXdJbmRleCA9IHJlc3VsdC5sZW5ndGg7XG4gICAgcmVzdWx0LmZvckVhY2goZnVuY3Rpb24ocHJldmlvdXNUeXBlLCBwcmV2aW91c0luZGV4KSB7XG4gICAgICBpZiAocHJldmlvdXNUeXBlLnRhZyA9PT0gY3VycmVudFR5cGUudGFnICYmIHByZXZpb3VzVHlwZS5raW5kID09PSBjdXJyZW50VHlwZS5raW5kICYmIHByZXZpb3VzVHlwZS5tdWx0aSA9PT0gY3VycmVudFR5cGUubXVsdGkpIHtcbiAgICAgICAgbmV3SW5kZXggPSBwcmV2aW91c0luZGV4O1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJlc3VsdFtuZXdJbmRleF0gPSBjdXJyZW50VHlwZTtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBjb21waWxlTWFwKCkge1xuICB2YXIgcmVzdWx0ID0ge1xuICAgIHNjYWxhcjoge30sXG4gICAgc2VxdWVuY2U6IHt9LFxuICAgIG1hcHBpbmc6IHt9LFxuICAgIGZhbGxiYWNrOiB7fSxcbiAgICBtdWx0aToge1xuICAgICAgc2NhbGFyOiBbXSxcbiAgICAgIHNlcXVlbmNlOiBbXSxcbiAgICAgIG1hcHBpbmc6IFtdLFxuICAgICAgZmFsbGJhY2s6IFtdXG4gICAgfVxuICB9LCBpbmRleCwgbGVuZ3RoO1xuICBmdW5jdGlvbiBjb2xsZWN0VHlwZSh0eXBlMikge1xuICAgIGlmICh0eXBlMi5tdWx0aSkge1xuICAgICAgcmVzdWx0Lm11bHRpW3R5cGUyLmtpbmRdLnB1c2godHlwZTIpO1xuICAgICAgcmVzdWx0Lm11bHRpW1wiZmFsbGJhY2tcIl0ucHVzaCh0eXBlMik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlc3VsdFt0eXBlMi5raW5kXVt0eXBlMi50YWddID0gcmVzdWx0W1wiZmFsbGJhY2tcIl1bdHlwZTIudGFnXSA9IHR5cGUyO1xuICAgIH1cbiAgfVxuICBmb3IgKGluZGV4ID0gMCwgbGVuZ3RoID0gYXJndW1lbnRzLmxlbmd0aDsgaW5kZXggPCBsZW5ndGg7IGluZGV4ICs9IDEpIHtcbiAgICBhcmd1bWVudHNbaW5kZXhdLmZvckVhY2goY29sbGVjdFR5cGUpO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBTY2hlbWEkMShkZWZpbml0aW9uKSB7XG4gIHJldHVybiB0aGlzLmV4dGVuZChkZWZpbml0aW9uKTtcbn1cblNjaGVtYSQxLnByb3RvdHlwZS5leHRlbmQgPSBmdW5jdGlvbiBleHRlbmQyKGRlZmluaXRpb24pIHtcbiAgdmFyIGltcGxpY2l0ID0gW107XG4gIHZhciBleHBsaWNpdCA9IFtdO1xuICBpZiAoZGVmaW5pdGlvbiBpbnN0YW5jZW9mIHR5cGUpIHtcbiAgICBleHBsaWNpdC5wdXNoKGRlZmluaXRpb24pO1xuICB9IGVsc2UgaWYgKEFycmF5LmlzQXJyYXkoZGVmaW5pdGlvbikpIHtcbiAgICBleHBsaWNpdCA9IGV4cGxpY2l0LmNvbmNhdChkZWZpbml0aW9uKTtcbiAgfSBlbHNlIGlmIChkZWZpbml0aW9uICYmIChBcnJheS5pc0FycmF5KGRlZmluaXRpb24uaW1wbGljaXQpIHx8IEFycmF5LmlzQXJyYXkoZGVmaW5pdGlvbi5leHBsaWNpdCkpKSB7XG4gICAgaWYgKGRlZmluaXRpb24uaW1wbGljaXQpIGltcGxpY2l0ID0gaW1wbGljaXQuY29uY2F0KGRlZmluaXRpb24uaW1wbGljaXQpO1xuICAgIGlmIChkZWZpbml0aW9uLmV4cGxpY2l0KSBleHBsaWNpdCA9IGV4cGxpY2l0LmNvbmNhdChkZWZpbml0aW9uLmV4cGxpY2l0KTtcbiAgfSBlbHNlIHtcbiAgICB0aHJvdyBuZXcgZXhjZXB0aW9uKFwiU2NoZW1hLmV4dGVuZCBhcmd1bWVudCBzaG91bGQgYmUgYSBUeXBlLCBbIFR5cGUgXSwgb3IgYSBzY2hlbWEgZGVmaW5pdGlvbiAoeyBpbXBsaWNpdDogWy4uLl0sIGV4cGxpY2l0OiBbLi4uXSB9KVwiKTtcbiAgfVxuICBpbXBsaWNpdC5mb3JFYWNoKGZ1bmN0aW9uKHR5cGUkMSkge1xuICAgIGlmICghKHR5cGUkMSBpbnN0YW5jZW9mIHR5cGUpKSB7XG4gICAgICB0aHJvdyBuZXcgZXhjZXB0aW9uKFwiU3BlY2lmaWVkIGxpc3Qgb2YgWUFNTCB0eXBlcyAob3IgYSBzaW5nbGUgVHlwZSBvYmplY3QpIGNvbnRhaW5zIGEgbm9uLVR5cGUgb2JqZWN0LlwiKTtcbiAgICB9XG4gICAgaWYgKHR5cGUkMS5sb2FkS2luZCAmJiB0eXBlJDEubG9hZEtpbmQgIT09IFwic2NhbGFyXCIpIHtcbiAgICAgIHRocm93IG5ldyBleGNlcHRpb24oXCJUaGVyZSBpcyBhIG5vbi1zY2FsYXIgdHlwZSBpbiB0aGUgaW1wbGljaXQgbGlzdCBvZiBhIHNjaGVtYS4gSW1wbGljaXQgcmVzb2x2aW5nIG9mIHN1Y2ggdHlwZXMgaXMgbm90IHN1cHBvcnRlZC5cIik7XG4gICAgfVxuICAgIGlmICh0eXBlJDEubXVsdGkpIHtcbiAgICAgIHRocm93IG5ldyBleGNlcHRpb24oXCJUaGVyZSBpcyBhIG11bHRpIHR5cGUgaW4gdGhlIGltcGxpY2l0IGxpc3Qgb2YgYSBzY2hlbWEuIE11bHRpIHRhZ3MgY2FuIG9ubHkgYmUgbGlzdGVkIGFzIGV4cGxpY2l0LlwiKTtcbiAgICB9XG4gIH0pO1xuICBleHBsaWNpdC5mb3JFYWNoKGZ1bmN0aW9uKHR5cGUkMSkge1xuICAgIGlmICghKHR5cGUkMSBpbnN0YW5jZW9mIHR5cGUpKSB7XG4gICAgICB0aHJvdyBuZXcgZXhjZXB0aW9uKFwiU3BlY2lmaWVkIGxpc3Qgb2YgWUFNTCB0eXBlcyAob3IgYSBzaW5nbGUgVHlwZSBvYmplY3QpIGNvbnRhaW5zIGEgbm9uLVR5cGUgb2JqZWN0LlwiKTtcbiAgICB9XG4gIH0pO1xuICB2YXIgcmVzdWx0ID0gT2JqZWN0LmNyZWF0ZShTY2hlbWEkMS5wcm90b3R5cGUpO1xuICByZXN1bHQuaW1wbGljaXQgPSAodGhpcy5pbXBsaWNpdCB8fCBbXSkuY29uY2F0KGltcGxpY2l0KTtcbiAgcmVzdWx0LmV4cGxpY2l0ID0gKHRoaXMuZXhwbGljaXQgfHwgW10pLmNvbmNhdChleHBsaWNpdCk7XG4gIHJlc3VsdC5jb21waWxlZEltcGxpY2l0ID0gY29tcGlsZUxpc3QocmVzdWx0LCBcImltcGxpY2l0XCIpO1xuICByZXN1bHQuY29tcGlsZWRFeHBsaWNpdCA9IGNvbXBpbGVMaXN0KHJlc3VsdCwgXCJleHBsaWNpdFwiKTtcbiAgcmVzdWx0LmNvbXBpbGVkVHlwZU1hcCA9IGNvbXBpbGVNYXAocmVzdWx0LmNvbXBpbGVkSW1wbGljaXQsIHJlc3VsdC5jb21waWxlZEV4cGxpY2l0KTtcbiAgcmV0dXJuIHJlc3VsdDtcbn07XG52YXIgc2NoZW1hID0gU2NoZW1hJDE7XG52YXIgc3RyID0gbmV3IHR5cGUoXCJ0YWc6eWFtbC5vcmcsMjAwMjpzdHJcIiwge1xuICBraW5kOiBcInNjYWxhclwiLFxuICBjb25zdHJ1Y3Q6IGZ1bmN0aW9uKGRhdGEpIHtcbiAgICByZXR1cm4gZGF0YSAhPT0gbnVsbCA/IGRhdGEgOiBcIlwiO1xuICB9XG59KTtcbnZhciBzZXEgPSBuZXcgdHlwZShcInRhZzp5YW1sLm9yZywyMDAyOnNlcVwiLCB7XG4gIGtpbmQ6IFwic2VxdWVuY2VcIixcbiAgY29uc3RydWN0OiBmdW5jdGlvbihkYXRhKSB7XG4gICAgcmV0dXJuIGRhdGEgIT09IG51bGwgPyBkYXRhIDogW107XG4gIH1cbn0pO1xudmFyIG1hcCA9IG5ldyB0eXBlKFwidGFnOnlhbWwub3JnLDIwMDI6bWFwXCIsIHtcbiAga2luZDogXCJtYXBwaW5nXCIsXG4gIGNvbnN0cnVjdDogZnVuY3Rpb24oZGF0YSkge1xuICAgIHJldHVybiBkYXRhICE9PSBudWxsID8gZGF0YSA6IHt9O1xuICB9XG59KTtcbnZhciBmYWlsc2FmZSA9IG5ldyBzY2hlbWEoe1xuICBleHBsaWNpdDogW1xuICAgIHN0cixcbiAgICBzZXEsXG4gICAgbWFwXG4gIF1cbn0pO1xuZnVuY3Rpb24gcmVzb2x2ZVlhbWxOdWxsKGRhdGEpIHtcbiAgaWYgKGRhdGEgPT09IG51bGwpIHJldHVybiB0cnVlO1xuICB2YXIgbWF4ID0gZGF0YS5sZW5ndGg7XG4gIHJldHVybiBtYXggPT09IDEgJiYgZGF0YSA9PT0gXCJ+XCIgfHwgbWF4ID09PSA0ICYmIChkYXRhID09PSBcIm51bGxcIiB8fCBkYXRhID09PSBcIk51bGxcIiB8fCBkYXRhID09PSBcIk5VTExcIik7XG59XG5mdW5jdGlvbiBjb25zdHJ1Y3RZYW1sTnVsbCgpIHtcbiAgcmV0dXJuIG51bGw7XG59XG5mdW5jdGlvbiBpc051bGwob2JqZWN0KSB7XG4gIHJldHVybiBvYmplY3QgPT09IG51bGw7XG59XG52YXIgX251bGwgPSBuZXcgdHlwZShcInRhZzp5YW1sLm9yZywyMDAyOm51bGxcIiwge1xuICBraW5kOiBcInNjYWxhclwiLFxuICByZXNvbHZlOiByZXNvbHZlWWFtbE51bGwsXG4gIGNvbnN0cnVjdDogY29uc3RydWN0WWFtbE51bGwsXG4gIHByZWRpY2F0ZTogaXNOdWxsLFxuICByZXByZXNlbnQ6IHtcbiAgICBjYW5vbmljYWw6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIFwiflwiO1xuICAgIH0sXG4gICAgbG93ZXJjYXNlOiBmdW5jdGlvbigpIHtcbiAgICAgIHJldHVybiBcIm51bGxcIjtcbiAgICB9LFxuICAgIHVwcGVyY2FzZTogZnVuY3Rpb24oKSB7XG4gICAgICByZXR1cm4gXCJOVUxMXCI7XG4gICAgfSxcbiAgICBjYW1lbGNhc2U6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIFwiTnVsbFwiO1xuICAgIH0sXG4gICAgZW1wdHk6IGZ1bmN0aW9uKCkge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICB9LFxuICBkZWZhdWx0U3R5bGU6IFwibG93ZXJjYXNlXCJcbn0pO1xuZnVuY3Rpb24gcmVzb2x2ZVlhbWxCb29sZWFuKGRhdGEpIHtcbiAgaWYgKGRhdGEgPT09IG51bGwpIHJldHVybiBmYWxzZTtcbiAgdmFyIG1heCA9IGRhdGEubGVuZ3RoO1xuICByZXR1cm4gbWF4ID09PSA0ICYmIChkYXRhID09PSBcInRydWVcIiB8fCBkYXRhID09PSBcIlRydWVcIiB8fCBkYXRhID09PSBcIlRSVUVcIikgfHwgbWF4ID09PSA1ICYmIChkYXRhID09PSBcImZhbHNlXCIgfHwgZGF0YSA9PT0gXCJGYWxzZVwiIHx8IGRhdGEgPT09IFwiRkFMU0VcIik7XG59XG5mdW5jdGlvbiBjb25zdHJ1Y3RZYW1sQm9vbGVhbihkYXRhKSB7XG4gIHJldHVybiBkYXRhID09PSBcInRydWVcIiB8fCBkYXRhID09PSBcIlRydWVcIiB8fCBkYXRhID09PSBcIlRSVUVcIjtcbn1cbmZ1bmN0aW9uIGlzQm9vbGVhbihvYmplY3QpIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmplY3QpID09PSBcIltvYmplY3QgQm9vbGVhbl1cIjtcbn1cbnZhciBib29sID0gbmV3IHR5cGUoXCJ0YWc6eWFtbC5vcmcsMjAwMjpib29sXCIsIHtcbiAga2luZDogXCJzY2FsYXJcIixcbiAgcmVzb2x2ZTogcmVzb2x2ZVlhbWxCb29sZWFuLFxuICBjb25zdHJ1Y3Q6IGNvbnN0cnVjdFlhbWxCb29sZWFuLFxuICBwcmVkaWNhdGU6IGlzQm9vbGVhbixcbiAgcmVwcmVzZW50OiB7XG4gICAgbG93ZXJjYXNlOiBmdW5jdGlvbihvYmplY3QpIHtcbiAgICAgIHJldHVybiBvYmplY3QgPyBcInRydWVcIiA6IFwiZmFsc2VcIjtcbiAgICB9LFxuICAgIHVwcGVyY2FzZTogZnVuY3Rpb24ob2JqZWN0KSB7XG4gICAgICByZXR1cm4gb2JqZWN0ID8gXCJUUlVFXCIgOiBcIkZBTFNFXCI7XG4gICAgfSxcbiAgICBjYW1lbGNhc2U6IGZ1bmN0aW9uKG9iamVjdCkge1xuICAgICAgcmV0dXJuIG9iamVjdCA/IFwiVHJ1ZVwiIDogXCJGYWxzZVwiO1xuICAgIH1cbiAgfSxcbiAgZGVmYXVsdFN0eWxlOiBcImxvd2VyY2FzZVwiXG59KTtcbmZ1bmN0aW9uIGlzSGV4Q29kZShjMikge1xuICByZXR1cm4gNDggPD0gYzIgJiYgYzIgPD0gNTcgfHwgNjUgPD0gYzIgJiYgYzIgPD0gNzAgfHwgOTcgPD0gYzIgJiYgYzIgPD0gMTAyO1xufVxuZnVuY3Rpb24gaXNPY3RDb2RlKGMyKSB7XG4gIHJldHVybiA0OCA8PSBjMiAmJiBjMiA8PSA1NTtcbn1cbmZ1bmN0aW9uIGlzRGVjQ29kZShjMikge1xuICByZXR1cm4gNDggPD0gYzIgJiYgYzIgPD0gNTc7XG59XG5mdW5jdGlvbiByZXNvbHZlWWFtbEludGVnZXIoZGF0YSkge1xuICBpZiAoZGF0YSA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuICB2YXIgbWF4ID0gZGF0YS5sZW5ndGgsIGluZGV4ID0gMCwgaGFzRGlnaXRzID0gZmFsc2UsIGNoO1xuICBpZiAoIW1heCkgcmV0dXJuIGZhbHNlO1xuICBjaCA9IGRhdGFbaW5kZXhdO1xuICBpZiAoY2ggPT09IFwiLVwiIHx8IGNoID09PSBcIitcIikge1xuICAgIGNoID0gZGF0YVsrK2luZGV4XTtcbiAgfVxuICBpZiAoY2ggPT09IFwiMFwiKSB7XG4gICAgaWYgKGluZGV4ICsgMSA9PT0gbWF4KSByZXR1cm4gdHJ1ZTtcbiAgICBjaCA9IGRhdGFbKytpbmRleF07XG4gICAgaWYgKGNoID09PSBcImJcIikge1xuICAgICAgaW5kZXgrKztcbiAgICAgIGZvciAoOyBpbmRleCA8IG1heDsgaW5kZXgrKykge1xuICAgICAgICBjaCA9IGRhdGFbaW5kZXhdO1xuICAgICAgICBpZiAoY2ggPT09IFwiX1wiKSBjb250aW51ZTtcbiAgICAgICAgaWYgKGNoICE9PSBcIjBcIiAmJiBjaCAhPT0gXCIxXCIpIHJldHVybiBmYWxzZTtcbiAgICAgICAgaGFzRGlnaXRzID0gdHJ1ZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBoYXNEaWdpdHMgJiYgY2ggIT09IFwiX1wiO1xuICAgIH1cbiAgICBpZiAoY2ggPT09IFwieFwiKSB7XG4gICAgICBpbmRleCsrO1xuICAgICAgZm9yICg7IGluZGV4IDwgbWF4OyBpbmRleCsrKSB7XG4gICAgICAgIGNoID0gZGF0YVtpbmRleF07XG4gICAgICAgIGlmIChjaCA9PT0gXCJfXCIpIGNvbnRpbnVlO1xuICAgICAgICBpZiAoIWlzSGV4Q29kZShkYXRhLmNoYXJDb2RlQXQoaW5kZXgpKSkgcmV0dXJuIGZhbHNlO1xuICAgICAgICBoYXNEaWdpdHMgPSB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGhhc0RpZ2l0cyAmJiBjaCAhPT0gXCJfXCI7XG4gICAgfVxuICAgIGlmIChjaCA9PT0gXCJvXCIpIHtcbiAgICAgIGluZGV4Kys7XG4gICAgICBmb3IgKDsgaW5kZXggPCBtYXg7IGluZGV4KyspIHtcbiAgICAgICAgY2ggPSBkYXRhW2luZGV4XTtcbiAgICAgICAgaWYgKGNoID09PSBcIl9cIikgY29udGludWU7XG4gICAgICAgIGlmICghaXNPY3RDb2RlKGRhdGEuY2hhckNvZGVBdChpbmRleCkpKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIGhhc0RpZ2l0cyA9IHRydWU7XG4gICAgICB9XG4gICAgICByZXR1cm4gaGFzRGlnaXRzICYmIGNoICE9PSBcIl9cIjtcbiAgICB9XG4gIH1cbiAgaWYgKGNoID09PSBcIl9cIikgcmV0dXJuIGZhbHNlO1xuICBmb3IgKDsgaW5kZXggPCBtYXg7IGluZGV4KyspIHtcbiAgICBjaCA9IGRhdGFbaW5kZXhdO1xuICAgIGlmIChjaCA9PT0gXCJfXCIpIGNvbnRpbnVlO1xuICAgIGlmICghaXNEZWNDb2RlKGRhdGEuY2hhckNvZGVBdChpbmRleCkpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGhhc0RpZ2l0cyA9IHRydWU7XG4gIH1cbiAgaWYgKCFoYXNEaWdpdHMgfHwgY2ggPT09IFwiX1wiKSByZXR1cm4gZmFsc2U7XG4gIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gY29uc3RydWN0WWFtbEludGVnZXIoZGF0YSkge1xuICB2YXIgdmFsdWUgPSBkYXRhLCBzaWduMiA9IDEsIGNoO1xuICBpZiAodmFsdWUuaW5kZXhPZihcIl9cIikgIT09IC0xKSB7XG4gICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9fL2csIFwiXCIpO1xuICB9XG4gIGNoID0gdmFsdWVbMF07XG4gIGlmIChjaCA9PT0gXCItXCIgfHwgY2ggPT09IFwiK1wiKSB7XG4gICAgaWYgKGNoID09PSBcIi1cIikgc2lnbjIgPSAtMTtcbiAgICB2YWx1ZSA9IHZhbHVlLnNsaWNlKDEpO1xuICAgIGNoID0gdmFsdWVbMF07XG4gIH1cbiAgaWYgKHZhbHVlID09PSBcIjBcIikgcmV0dXJuIDA7XG4gIGlmIChjaCA9PT0gXCIwXCIpIHtcbiAgICBpZiAodmFsdWVbMV0gPT09IFwiYlwiKSByZXR1cm4gc2lnbjIgKiBwYXJzZUludCh2YWx1ZS5zbGljZSgyKSwgMik7XG4gICAgaWYgKHZhbHVlWzFdID09PSBcInhcIikgcmV0dXJuIHNpZ24yICogcGFyc2VJbnQodmFsdWUuc2xpY2UoMiksIDE2KTtcbiAgICBpZiAodmFsdWVbMV0gPT09IFwib1wiKSByZXR1cm4gc2lnbjIgKiBwYXJzZUludCh2YWx1ZS5zbGljZSgyKSwgOCk7XG4gIH1cbiAgcmV0dXJuIHNpZ24yICogcGFyc2VJbnQodmFsdWUsIDEwKTtcbn1cbmZ1bmN0aW9uIGlzSW50ZWdlcihvYmplY3QpIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmplY3QpID09PSBcIltvYmplY3QgTnVtYmVyXVwiICYmIChvYmplY3QgJSAxID09PSAwICYmICFjb21tb24uaXNOZWdhdGl2ZVplcm8ob2JqZWN0KSk7XG59XG52YXIgaW50ID0gbmV3IHR5cGUoXCJ0YWc6eWFtbC5vcmcsMjAwMjppbnRcIiwge1xuICBraW5kOiBcInNjYWxhclwiLFxuICByZXNvbHZlOiByZXNvbHZlWWFtbEludGVnZXIsXG4gIGNvbnN0cnVjdDogY29uc3RydWN0WWFtbEludGVnZXIsXG4gIHByZWRpY2F0ZTogaXNJbnRlZ2VyLFxuICByZXByZXNlbnQ6IHtcbiAgICBiaW5hcnk6IGZ1bmN0aW9uKG9iaikge1xuICAgICAgcmV0dXJuIG9iaiA+PSAwID8gXCIwYlwiICsgb2JqLnRvU3RyaW5nKDIpIDogXCItMGJcIiArIG9iai50b1N0cmluZygyKS5zbGljZSgxKTtcbiAgICB9LFxuICAgIG9jdGFsOiBmdW5jdGlvbihvYmopIHtcbiAgICAgIHJldHVybiBvYmogPj0gMCA/IFwiMG9cIiArIG9iai50b1N0cmluZyg4KSA6IFwiLTBvXCIgKyBvYmoudG9TdHJpbmcoOCkuc2xpY2UoMSk7XG4gICAgfSxcbiAgICBkZWNpbWFsOiBmdW5jdGlvbihvYmopIHtcbiAgICAgIHJldHVybiBvYmoudG9TdHJpbmcoMTApO1xuICAgIH0sXG4gICAgLyogZXNsaW50LWRpc2FibGUgbWF4LWxlbiAqL1xuICAgIGhleGFkZWNpbWFsOiBmdW5jdGlvbihvYmopIHtcbiAgICAgIHJldHVybiBvYmogPj0gMCA/IFwiMHhcIiArIG9iai50b1N0cmluZygxNikudG9VcHBlckNhc2UoKSA6IFwiLTB4XCIgKyBvYmoudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCkuc2xpY2UoMSk7XG4gICAgfVxuICB9LFxuICBkZWZhdWx0U3R5bGU6IFwiZGVjaW1hbFwiLFxuICBzdHlsZUFsaWFzZXM6IHtcbiAgICBiaW5hcnk6IFsyLCBcImJpblwiXSxcbiAgICBvY3RhbDogWzgsIFwib2N0XCJdLFxuICAgIGRlY2ltYWw6IFsxMCwgXCJkZWNcIl0sXG4gICAgaGV4YWRlY2ltYWw6IFsxNiwgXCJoZXhcIl1cbiAgfVxufSk7XG52YXIgWUFNTF9GTE9BVF9QQVRURVJOID0gbmV3IFJlZ0V4cChcbiAgLy8gMi41ZTQsIDIuNSBhbmQgaW50ZWdlcnNcbiAgXCJeKD86Wy0rXT8oPzpbMC05XVswLTlfXSopKD86XFxcXC5bMC05X10qKT8oPzpbZUVdWy0rXT9bMC05XSspP3xcXFxcLlswLTlfXSsoPzpbZUVdWy0rXT9bMC05XSspP3xbLStdP1xcXFwuKD86aW5mfEluZnxJTkYpfFxcXFwuKD86bmFufE5hTnxOQU4pKSRcIlxuKTtcbmZ1bmN0aW9uIHJlc29sdmVZYW1sRmxvYXQoZGF0YSkge1xuICBpZiAoZGF0YSA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuICBpZiAoIVlBTUxfRkxPQVRfUEFUVEVSTi50ZXN0KGRhdGEpIHx8IC8vIFF1aWNrIGhhY2sgdG8gbm90IGFsbG93IGludGVnZXJzIGVuZCB3aXRoIGBfYFxuICAvLyBQcm9iYWJseSBzaG91bGQgdXBkYXRlIHJlZ2V4cCAmIGNoZWNrIHNwZWVkXG4gIGRhdGFbZGF0YS5sZW5ndGggLSAxXSA9PT0gXCJfXCIpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBjb25zdHJ1Y3RZYW1sRmxvYXQoZGF0YSkge1xuICB2YXIgdmFsdWUsIHNpZ24yO1xuICB2YWx1ZSA9IGRhdGEucmVwbGFjZSgvXy9nLCBcIlwiKS50b0xvd2VyQ2FzZSgpO1xuICBzaWduMiA9IHZhbHVlWzBdID09PSBcIi1cIiA/IC0xIDogMTtcbiAgaWYgKFwiKy1cIi5pbmRleE9mKHZhbHVlWzBdKSA+PSAwKSB7XG4gICAgdmFsdWUgPSB2YWx1ZS5zbGljZSgxKTtcbiAgfVxuICBpZiAodmFsdWUgPT09IFwiLmluZlwiKSB7XG4gICAgcmV0dXJuIHNpZ24yID09PSAxID8gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZIDogTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZO1xuICB9IGVsc2UgaWYgKHZhbHVlID09PSBcIi5uYW5cIikge1xuICAgIHJldHVybiBOYU47XG4gIH1cbiAgcmV0dXJuIHNpZ24yICogcGFyc2VGbG9hdCh2YWx1ZSwgMTApO1xufVxudmFyIFNDSUVOVElGSUNfV0lUSE9VVF9ET1QgPSAvXlstK10/WzAtOV0rZS87XG5mdW5jdGlvbiByZXByZXNlbnRZYW1sRmxvYXQob2JqZWN0LCBzdHlsZSkge1xuICB2YXIgcmVzO1xuICBpZiAoaXNOYU4ob2JqZWN0KSkge1xuICAgIHN3aXRjaCAoc3R5bGUpIHtcbiAgICAgIGNhc2UgXCJsb3dlcmNhc2VcIjpcbiAgICAgICAgcmV0dXJuIFwiLm5hblwiO1xuICAgICAgY2FzZSBcInVwcGVyY2FzZVwiOlxuICAgICAgICByZXR1cm4gXCIuTkFOXCI7XG4gICAgICBjYXNlIFwiY2FtZWxjYXNlXCI6XG4gICAgICAgIHJldHVybiBcIi5OYU5cIjtcbiAgICB9XG4gIH0gZWxzZSBpZiAoTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZID09PSBvYmplY3QpIHtcbiAgICBzd2l0Y2ggKHN0eWxlKSB7XG4gICAgICBjYXNlIFwibG93ZXJjYXNlXCI6XG4gICAgICAgIHJldHVybiBcIi5pbmZcIjtcbiAgICAgIGNhc2UgXCJ1cHBlcmNhc2VcIjpcbiAgICAgICAgcmV0dXJuIFwiLklORlwiO1xuICAgICAgY2FzZSBcImNhbWVsY2FzZVwiOlxuICAgICAgICByZXR1cm4gXCIuSW5mXCI7XG4gICAgfVxuICB9IGVsc2UgaWYgKE51bWJlci5ORUdBVElWRV9JTkZJTklUWSA9PT0gb2JqZWN0KSB7XG4gICAgc3dpdGNoIChzdHlsZSkge1xuICAgICAgY2FzZSBcImxvd2VyY2FzZVwiOlxuICAgICAgICByZXR1cm4gXCItLmluZlwiO1xuICAgICAgY2FzZSBcInVwcGVyY2FzZVwiOlxuICAgICAgICByZXR1cm4gXCItLklORlwiO1xuICAgICAgY2FzZSBcImNhbWVsY2FzZVwiOlxuICAgICAgICByZXR1cm4gXCItLkluZlwiO1xuICAgIH1cbiAgfSBlbHNlIGlmIChjb21tb24uaXNOZWdhdGl2ZVplcm8ob2JqZWN0KSkge1xuICAgIHJldHVybiBcIi0wLjBcIjtcbiAgfVxuICByZXMgPSBvYmplY3QudG9TdHJpbmcoMTApO1xuICByZXR1cm4gU0NJRU5USUZJQ19XSVRIT1VUX0RPVC50ZXN0KHJlcykgPyByZXMucmVwbGFjZShcImVcIiwgXCIuZVwiKSA6IHJlcztcbn1cbmZ1bmN0aW9uIGlzRmxvYXQob2JqZWN0KSB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqZWN0KSA9PT0gXCJbb2JqZWN0IE51bWJlcl1cIiAmJiAob2JqZWN0ICUgMSAhPT0gMCB8fCBjb21tb24uaXNOZWdhdGl2ZVplcm8ob2JqZWN0KSk7XG59XG52YXIgZmxvYXQgPSBuZXcgdHlwZShcInRhZzp5YW1sLm9yZywyMDAyOmZsb2F0XCIsIHtcbiAga2luZDogXCJzY2FsYXJcIixcbiAgcmVzb2x2ZTogcmVzb2x2ZVlhbWxGbG9hdCxcbiAgY29uc3RydWN0OiBjb25zdHJ1Y3RZYW1sRmxvYXQsXG4gIHByZWRpY2F0ZTogaXNGbG9hdCxcbiAgcmVwcmVzZW50OiByZXByZXNlbnRZYW1sRmxvYXQsXG4gIGRlZmF1bHRTdHlsZTogXCJsb3dlcmNhc2VcIlxufSk7XG52YXIganNvbiA9IGZhaWxzYWZlLmV4dGVuZCh7XG4gIGltcGxpY2l0OiBbXG4gICAgX251bGwsXG4gICAgYm9vbCxcbiAgICBpbnQsXG4gICAgZmxvYXRcbiAgXVxufSk7XG52YXIgY29yZSA9IGpzb247XG52YXIgWUFNTF9EQVRFX1JFR0VYUCA9IG5ldyBSZWdFeHAoXG4gIFwiXihbMC05XVswLTldWzAtOV1bMC05XSktKFswLTldWzAtOV0pLShbMC05XVswLTldKSRcIlxuKTtcbnZhciBZQU1MX1RJTUVTVEFNUF9SRUdFWFAgPSBuZXcgUmVnRXhwKFxuICBcIl4oWzAtOV1bMC05XVswLTldWzAtOV0pLShbMC05XVswLTldPyktKFswLTldWzAtOV0/KSg/OltUdF18WyBcXFxcdF0rKShbMC05XVswLTldPyk6KFswLTldWzAtOV0pOihbMC05XVswLTldKSg/OlxcXFwuKFswLTldKikpPyg/OlsgXFxcXHRdKihafChbLStdKShbMC05XVswLTldPykoPzo6KFswLTldWzAtOV0pKT8pKT8kXCJcbik7XG5mdW5jdGlvbiByZXNvbHZlWWFtbFRpbWVzdGFtcChkYXRhKSB7XG4gIGlmIChkYXRhID09PSBudWxsKSByZXR1cm4gZmFsc2U7XG4gIGlmIChZQU1MX0RBVEVfUkVHRVhQLmV4ZWMoZGF0YSkgIT09IG51bGwpIHJldHVybiB0cnVlO1xuICBpZiAoWUFNTF9USU1FU1RBTVBfUkVHRVhQLmV4ZWMoZGF0YSkgIT09IG51bGwpIHJldHVybiB0cnVlO1xuICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiBjb25zdHJ1Y3RZYW1sVGltZXN0YW1wKGRhdGEpIHtcbiAgdmFyIG1hdGNoLCB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGUsIHNlY29uZCwgZnJhY3Rpb24gPSAwLCBkZWx0YSA9IG51bGwsIHR6X2hvdXIsIHR6X21pbnV0ZSwgZGF0ZTtcbiAgbWF0Y2ggPSBZQU1MX0RBVEVfUkVHRVhQLmV4ZWMoZGF0YSk7XG4gIGlmIChtYXRjaCA9PT0gbnVsbCkgbWF0Y2ggPSBZQU1MX1RJTUVTVEFNUF9SRUdFWFAuZXhlYyhkYXRhKTtcbiAgaWYgKG1hdGNoID09PSBudWxsKSB0aHJvdyBuZXcgRXJyb3IoXCJEYXRlIHJlc29sdmUgZXJyb3JcIik7XG4gIHllYXIgPSArbWF0Y2hbMV07XG4gIG1vbnRoID0gK21hdGNoWzJdIC0gMTtcbiAgZGF5ID0gK21hdGNoWzNdO1xuICBpZiAoIW1hdGNoWzRdKSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKERhdGUuVVRDKHllYXIsIG1vbnRoLCBkYXkpKTtcbiAgfVxuICBob3VyID0gK21hdGNoWzRdO1xuICBtaW51dGUgPSArbWF0Y2hbNV07XG4gIHNlY29uZCA9ICttYXRjaFs2XTtcbiAgaWYgKG1hdGNoWzddKSB7XG4gICAgZnJhY3Rpb24gPSBtYXRjaFs3XS5zbGljZSgwLCAzKTtcbiAgICB3aGlsZSAoZnJhY3Rpb24ubGVuZ3RoIDwgMykge1xuICAgICAgZnJhY3Rpb24gKz0gXCIwXCI7XG4gICAgfVxuICAgIGZyYWN0aW9uID0gK2ZyYWN0aW9uO1xuICB9XG4gIGlmIChtYXRjaFs5XSkge1xuICAgIHR6X2hvdXIgPSArbWF0Y2hbMTBdO1xuICAgIHR6X21pbnV0ZSA9ICsobWF0Y2hbMTFdIHx8IDApO1xuICAgIGRlbHRhID0gKHR6X2hvdXIgKiA2MCArIHR6X21pbnV0ZSkgKiA2ZTQ7XG4gICAgaWYgKG1hdGNoWzldID09PSBcIi1cIikgZGVsdGEgPSAtZGVsdGE7XG4gIH1cbiAgZGF0ZSA9IG5ldyBEYXRlKERhdGUuVVRDKHllYXIsIG1vbnRoLCBkYXksIGhvdXIsIG1pbnV0ZSwgc2Vjb25kLCBmcmFjdGlvbikpO1xuICBpZiAoZGVsdGEpIGRhdGUuc2V0VGltZShkYXRlLmdldFRpbWUoKSAtIGRlbHRhKTtcbiAgcmV0dXJuIGRhdGU7XG59XG5mdW5jdGlvbiByZXByZXNlbnRZYW1sVGltZXN0YW1wKG9iamVjdCkge1xuICByZXR1cm4gb2JqZWN0LnRvSVNPU3RyaW5nKCk7XG59XG52YXIgdGltZXN0YW1wID0gbmV3IHR5cGUoXCJ0YWc6eWFtbC5vcmcsMjAwMjp0aW1lc3RhbXBcIiwge1xuICBraW5kOiBcInNjYWxhclwiLFxuICByZXNvbHZlOiByZXNvbHZlWWFtbFRpbWVzdGFtcCxcbiAgY29uc3RydWN0OiBjb25zdHJ1Y3RZYW1sVGltZXN0YW1wLFxuICBpbnN0YW5jZU9mOiBEYXRlLFxuICByZXByZXNlbnQ6IHJlcHJlc2VudFlhbWxUaW1lc3RhbXBcbn0pO1xuZnVuY3Rpb24gcmVzb2x2ZVlhbWxNZXJnZShkYXRhKSB7XG4gIHJldHVybiBkYXRhID09PSBcIjw8XCIgfHwgZGF0YSA9PT0gbnVsbDtcbn1cbnZhciBtZXJnZSA9IG5ldyB0eXBlKFwidGFnOnlhbWwub3JnLDIwMDI6bWVyZ2VcIiwge1xuICBraW5kOiBcInNjYWxhclwiLFxuICByZXNvbHZlOiByZXNvbHZlWWFtbE1lcmdlXG59KTtcbnZhciBCQVNFNjRfTUFQID0gXCJBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvPVxcblxcclwiO1xuZnVuY3Rpb24gcmVzb2x2ZVlhbWxCaW5hcnkoZGF0YSkge1xuICBpZiAoZGF0YSA9PT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuICB2YXIgY29kZSwgaWR4LCBiaXRsZW4gPSAwLCBtYXggPSBkYXRhLmxlbmd0aCwgbWFwMiA9IEJBU0U2NF9NQVA7XG4gIGZvciAoaWR4ID0gMDsgaWR4IDwgbWF4OyBpZHgrKykge1xuICAgIGNvZGUgPSBtYXAyLmluZGV4T2YoZGF0YS5jaGFyQXQoaWR4KSk7XG4gICAgaWYgKGNvZGUgPiA2NCkgY29udGludWU7XG4gICAgaWYgKGNvZGUgPCAwKSByZXR1cm4gZmFsc2U7XG4gICAgYml0bGVuICs9IDY7XG4gIH1cbiAgcmV0dXJuIGJpdGxlbiAlIDggPT09IDA7XG59XG5mdW5jdGlvbiBjb25zdHJ1Y3RZYW1sQmluYXJ5KGRhdGEpIHtcbiAgdmFyIGlkeCwgdGFpbGJpdHMsIGlucHV0ID0gZGF0YS5yZXBsYWNlKC9bXFxyXFxuPV0vZywgXCJcIiksIG1heCA9IGlucHV0Lmxlbmd0aCwgbWFwMiA9IEJBU0U2NF9NQVAsIGJpdHMgPSAwLCByZXN1bHQgPSBbXTtcbiAgZm9yIChpZHggPSAwOyBpZHggPCBtYXg7IGlkeCsrKSB7XG4gICAgaWYgKGlkeCAlIDQgPT09IDAgJiYgaWR4KSB7XG4gICAgICByZXN1bHQucHVzaChiaXRzID4+IDE2ICYgMjU1KTtcbiAgICAgIHJlc3VsdC5wdXNoKGJpdHMgPj4gOCAmIDI1NSk7XG4gICAgICByZXN1bHQucHVzaChiaXRzICYgMjU1KTtcbiAgICB9XG4gICAgYml0cyA9IGJpdHMgPDwgNiB8IG1hcDIuaW5kZXhPZihpbnB1dC5jaGFyQXQoaWR4KSk7XG4gIH1cbiAgdGFpbGJpdHMgPSBtYXggJSA0ICogNjtcbiAgaWYgKHRhaWxiaXRzID09PSAwKSB7XG4gICAgcmVzdWx0LnB1c2goYml0cyA+PiAxNiAmIDI1NSk7XG4gICAgcmVzdWx0LnB1c2goYml0cyA+PiA4ICYgMjU1KTtcbiAgICByZXN1bHQucHVzaChiaXRzICYgMjU1KTtcbiAgfSBlbHNlIGlmICh0YWlsYml0cyA9PT0gMTgpIHtcbiAgICByZXN1bHQucHVzaChiaXRzID4+IDEwICYgMjU1KTtcbiAgICByZXN1bHQucHVzaChiaXRzID4+IDIgJiAyNTUpO1xuICB9IGVsc2UgaWYgKHRhaWxiaXRzID09PSAxMikge1xuICAgIHJlc3VsdC5wdXNoKGJpdHMgPj4gNCAmIDI1NSk7XG4gIH1cbiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KHJlc3VsdCk7XG59XG5mdW5jdGlvbiByZXByZXNlbnRZYW1sQmluYXJ5KG9iamVjdCkge1xuICB2YXIgcmVzdWx0ID0gXCJcIiwgYml0cyA9IDAsIGlkeCwgdGFpbCwgbWF4ID0gb2JqZWN0Lmxlbmd0aCwgbWFwMiA9IEJBU0U2NF9NQVA7XG4gIGZvciAoaWR4ID0gMDsgaWR4IDwgbWF4OyBpZHgrKykge1xuICAgIGlmIChpZHggJSAzID09PSAwICYmIGlkeCkge1xuICAgICAgcmVzdWx0ICs9IG1hcDJbYml0cyA+PiAxOCAmIDYzXTtcbiAgICAgIHJlc3VsdCArPSBtYXAyW2JpdHMgPj4gMTIgJiA2M107XG4gICAgICByZXN1bHQgKz0gbWFwMltiaXRzID4+IDYgJiA2M107XG4gICAgICByZXN1bHQgKz0gbWFwMltiaXRzICYgNjNdO1xuICAgIH1cbiAgICBiaXRzID0gKGJpdHMgPDwgOCkgKyBvYmplY3RbaWR4XTtcbiAgfVxuICB0YWlsID0gbWF4ICUgMztcbiAgaWYgKHRhaWwgPT09IDApIHtcbiAgICByZXN1bHQgKz0gbWFwMltiaXRzID4+IDE4ICYgNjNdO1xuICAgIHJlc3VsdCArPSBtYXAyW2JpdHMgPj4gMTIgJiA2M107XG4gICAgcmVzdWx0ICs9IG1hcDJbYml0cyA+PiA2ICYgNjNdO1xuICAgIHJlc3VsdCArPSBtYXAyW2JpdHMgJiA2M107XG4gIH0gZWxzZSBpZiAodGFpbCA9PT0gMikge1xuICAgIHJlc3VsdCArPSBtYXAyW2JpdHMgPj4gMTAgJiA2M107XG4gICAgcmVzdWx0ICs9IG1hcDJbYml0cyA+PiA0ICYgNjNdO1xuICAgIHJlc3VsdCArPSBtYXAyW2JpdHMgPDwgMiAmIDYzXTtcbiAgICByZXN1bHQgKz0gbWFwMls2NF07XG4gIH0gZWxzZSBpZiAodGFpbCA9PT0gMSkge1xuICAgIHJlc3VsdCArPSBtYXAyW2JpdHMgPj4gMiAmIDYzXTtcbiAgICByZXN1bHQgKz0gbWFwMltiaXRzIDw8IDQgJiA2M107XG4gICAgcmVzdWx0ICs9IG1hcDJbNjRdO1xuICAgIHJlc3VsdCArPSBtYXAyWzY0XTtcbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuZnVuY3Rpb24gaXNCaW5hcnkob2JqKSB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwob2JqKSA9PT0gXCJbb2JqZWN0IFVpbnQ4QXJyYXldXCI7XG59XG52YXIgYmluYXJ5ID0gbmV3IHR5cGUoXCJ0YWc6eWFtbC5vcmcsMjAwMjpiaW5hcnlcIiwge1xuICBraW5kOiBcInNjYWxhclwiLFxuICByZXNvbHZlOiByZXNvbHZlWWFtbEJpbmFyeSxcbiAgY29uc3RydWN0OiBjb25zdHJ1Y3RZYW1sQmluYXJ5LFxuICBwcmVkaWNhdGU6IGlzQmluYXJ5LFxuICByZXByZXNlbnQ6IHJlcHJlc2VudFlhbWxCaW5hcnlcbn0pO1xudmFyIF9oYXNPd25Qcm9wZXJ0eSQzID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcbnZhciBfdG9TdHJpbmckMiA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG5mdW5jdGlvbiByZXNvbHZlWWFtbE9tYXAoZGF0YSkge1xuICBpZiAoZGF0YSA9PT0gbnVsbCkgcmV0dXJuIHRydWU7XG4gIHZhciBvYmplY3RLZXlzID0gW10sIGluZGV4LCBsZW5ndGgsIHBhaXIsIHBhaXJLZXksIHBhaXJIYXNLZXksIG9iamVjdCA9IGRhdGE7XG4gIGZvciAoaW5kZXggPSAwLCBsZW5ndGggPSBvYmplY3QubGVuZ3RoOyBpbmRleCA8IGxlbmd0aDsgaW5kZXggKz0gMSkge1xuICAgIHBhaXIgPSBvYmplY3RbaW5kZXhdO1xuICAgIHBhaXJIYXNLZXkgPSBmYWxzZTtcbiAgICBpZiAoX3RvU3RyaW5nJDIuY2FsbChwYWlyKSAhPT0gXCJbb2JqZWN0IE9iamVjdF1cIikgcmV0dXJuIGZhbHNlO1xuICAgIGZvciAocGFpcktleSBpbiBwYWlyKSB7XG4gICAgICBpZiAoX2hhc093blByb3BlcnR5JDMuY2FsbChwYWlyLCBwYWlyS2V5KSkge1xuICAgICAgICBpZiAoIXBhaXJIYXNLZXkpIHBhaXJIYXNLZXkgPSB0cnVlO1xuICAgICAgICBlbHNlIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCFwYWlySGFzS2V5KSByZXR1cm4gZmFsc2U7XG4gICAgaWYgKG9iamVjdEtleXMuaW5kZXhPZihwYWlyS2V5KSA9PT0gLTEpIG9iamVjdEtleXMucHVzaChwYWlyS2V5KTtcbiAgICBlbHNlIHJldHVybiBmYWxzZTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cbmZ1bmN0aW9uIGNvbnN0cnVjdFlhbWxPbWFwKGRhdGEpIHtcbiAgcmV0dXJuIGRhdGEgIT09IG51bGwgPyBkYXRhIDogW107XG59XG52YXIgb21hcCA9IG5ldyB0eXBlKFwidGFnOnlhbWwub3JnLDIwMDI6b21hcFwiLCB7XG4gIGtpbmQ6IFwic2VxdWVuY2VcIixcbiAgcmVzb2x2ZTogcmVzb2x2ZVlhbWxPbWFwLFxuICBjb25zdHJ1Y3Q6IGNvbnN0cnVjdFlhbWxPbWFwXG59KTtcbnZhciBfdG9TdHJpbmckMSA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG5mdW5jdGlvbiByZXNvbHZlWWFtbFBhaXJzKGRhdGEpIHtcbiAgaWYgKGRhdGEgPT09IG51bGwpIHJldHVybiB0cnVlO1xuICB2YXIgaW5kZXgsIGxlbmd0aCwgcGFpciwga2V5cywgcmVzdWx0LCBvYmplY3QgPSBkYXRhO1xuICByZXN1bHQgPSBuZXcgQXJyYXkob2JqZWN0Lmxlbmd0aCk7XG4gIGZvciAoaW5kZXggPSAwLCBsZW5ndGggPSBvYmplY3QubGVuZ3RoOyBpbmRleCA8IGxlbmd0aDsgaW5kZXggKz0gMSkge1xuICAgIHBhaXIgPSBvYmplY3RbaW5kZXhdO1xuICAgIGlmIChfdG9TdHJpbmckMS5jYWxsKHBhaXIpICE9PSBcIltvYmplY3QgT2JqZWN0XVwiKSByZXR1cm4gZmFsc2U7XG4gICAga2V5cyA9IE9iamVjdC5rZXlzKHBhaXIpO1xuICAgIGlmIChrZXlzLmxlbmd0aCAhPT0gMSkgcmV0dXJuIGZhbHNlO1xuICAgIHJlc3VsdFtpbmRleF0gPSBba2V5c1swXSwgcGFpcltrZXlzWzBdXV07XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiBjb25zdHJ1Y3RZYW1sUGFpcnMoZGF0YSkge1xuICBpZiAoZGF0YSA9PT0gbnVsbCkgcmV0dXJuIFtdO1xuICB2YXIgaW5kZXgsIGxlbmd0aCwgcGFpciwga2V5cywgcmVzdWx0LCBvYmplY3QgPSBkYXRhO1xuICByZXN1bHQgPSBuZXcgQXJyYXkob2JqZWN0Lmxlbmd0aCk7XG4gIGZvciAoaW5kZXggPSAwLCBsZW5ndGggPSBvYmplY3QubGVuZ3RoOyBpbmRleCA8IGxlbmd0aDsgaW5kZXggKz0gMSkge1xuICAgIHBhaXIgPSBvYmplY3RbaW5kZXhdO1xuICAgIGtleXMgPSBPYmplY3Qua2V5cyhwYWlyKTtcbiAgICByZXN1bHRbaW5kZXhdID0gW2tleXNbMF0sIHBhaXJba2V5c1swXV1dO1xuICB9XG4gIHJldHVybiByZXN1bHQ7XG59XG52YXIgcGFpcnMgPSBuZXcgdHlwZShcInRhZzp5YW1sLm9yZywyMDAyOnBhaXJzXCIsIHtcbiAga2luZDogXCJzZXF1ZW5jZVwiLFxuICByZXNvbHZlOiByZXNvbHZlWWFtbFBhaXJzLFxuICBjb25zdHJ1Y3Q6IGNvbnN0cnVjdFlhbWxQYWlyc1xufSk7XG52YXIgX2hhc093blByb3BlcnR5JDIgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xuZnVuY3Rpb24gcmVzb2x2ZVlhbWxTZXQoZGF0YSkge1xuICBpZiAoZGF0YSA9PT0gbnVsbCkgcmV0dXJuIHRydWU7XG4gIHZhciBrZXkyLCBvYmplY3QgPSBkYXRhO1xuICBmb3IgKGtleTIgaW4gb2JqZWN0KSB7XG4gICAgaWYgKF9oYXNPd25Qcm9wZXJ0eSQyLmNhbGwob2JqZWN0LCBrZXkyKSkge1xuICAgICAgaWYgKG9iamVjdFtrZXkyXSAhPT0gbnVsbCkgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cbmZ1bmN0aW9uIGNvbnN0cnVjdFlhbWxTZXQoZGF0YSkge1xuICByZXR1cm4gZGF0YSAhPT0gbnVsbCA/IGRhdGEgOiB7fTtcbn1cbnZhciBzZXQgPSBuZXcgdHlwZShcInRhZzp5YW1sLm9yZywyMDAyOnNldFwiLCB7XG4gIGtpbmQ6IFwibWFwcGluZ1wiLFxuICByZXNvbHZlOiByZXNvbHZlWWFtbFNldCxcbiAgY29uc3RydWN0OiBjb25zdHJ1Y3RZYW1sU2V0XG59KTtcbnZhciBfZGVmYXVsdCA9IGNvcmUuZXh0ZW5kKHtcbiAgaW1wbGljaXQ6IFtcbiAgICB0aW1lc3RhbXAsXG4gICAgbWVyZ2VcbiAgXSxcbiAgZXhwbGljaXQ6IFtcbiAgICBiaW5hcnksXG4gICAgb21hcCxcbiAgICBwYWlycyxcbiAgICBzZXRcbiAgXVxufSk7XG52YXIgX2hhc093blByb3BlcnR5JDEgPSBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5O1xudmFyIENPTlRFWFRfRkxPV19JTiA9IDE7XG52YXIgQ09OVEVYVF9GTE9XX09VVCA9IDI7XG52YXIgQ09OVEVYVF9CTE9DS19JTiA9IDM7XG52YXIgQ09OVEVYVF9CTE9DS19PVVQgPSA0O1xudmFyIENIT01QSU5HX0NMSVAgPSAxO1xudmFyIENIT01QSU5HX1NUUklQID0gMjtcbnZhciBDSE9NUElOR19LRUVQID0gMztcbnZhciBQQVRURVJOX05PTl9QUklOVEFCTEUgPSAvW1xceDAwLVxceDA4XFx4MEJcXHgwQ1xceDBFLVxceDFGXFx4N0YtXFx4ODRcXHg4Ni1cXHg5RlxcdUZGRkVcXHVGRkZGXXxbXFx1RDgwMC1cXHVEQkZGXSg/IVtcXHVEQzAwLVxcdURGRkZdKXwoPzpbXlxcdUQ4MDAtXFx1REJGRl18XilbXFx1REMwMC1cXHVERkZGXS87XG52YXIgUEFUVEVSTl9OT05fQVNDSUlfTElORV9CUkVBS1MgPSAvW1xceDg1XFx1MjAyOFxcdTIwMjldLztcbnZhciBQQVRURVJOX0ZMT1dfSU5ESUNBVE9SUyA9IC9bLFxcW1xcXVxce1xcfV0vO1xudmFyIFBBVFRFUk5fVEFHX0hBTkRMRSA9IC9eKD86IXwhIXwhW2EtelxcLV0rISkkL2k7XG52YXIgUEFUVEVSTl9UQUdfVVJJID0gL14oPzohfFteLFxcW1xcXVxce1xcfV0pKD86JVswLTlhLWZdezJ9fFswLTlhLXpcXC0jO1xcL1xcPzpAJj1cXCtcXCQsX1xcLiF+XFwqJ1xcKFxcKVxcW1xcXV0pKiQvaTtcbmZ1bmN0aW9uIF9jbGFzcyhvYmopIHtcbiAgcmV0dXJuIE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbChvYmopO1xufVxuZnVuY3Rpb24gaXNfRU9MKGMyKSB7XG4gIHJldHVybiBjMiA9PT0gMTAgfHwgYzIgPT09IDEzO1xufVxuZnVuY3Rpb24gaXNfV0hJVEVfU1BBQ0UoYzIpIHtcbiAgcmV0dXJuIGMyID09PSA5IHx8IGMyID09PSAzMjtcbn1cbmZ1bmN0aW9uIGlzX1dTX09SX0VPTChjMikge1xuICByZXR1cm4gYzIgPT09IDkgfHwgYzIgPT09IDMyIHx8IGMyID09PSAxMCB8fCBjMiA9PT0gMTM7XG59XG5mdW5jdGlvbiBpc19GTE9XX0lORElDQVRPUihjMikge1xuICByZXR1cm4gYzIgPT09IDQ0IHx8IGMyID09PSA5MSB8fCBjMiA9PT0gOTMgfHwgYzIgPT09IDEyMyB8fCBjMiA9PT0gMTI1O1xufVxuZnVuY3Rpb24gZnJvbUhleENvZGUoYzIpIHtcbiAgdmFyIGxjO1xuICBpZiAoNDggPD0gYzIgJiYgYzIgPD0gNTcpIHtcbiAgICByZXR1cm4gYzIgLSA0ODtcbiAgfVxuICBsYyA9IGMyIHwgMzI7XG4gIGlmICg5NyA8PSBsYyAmJiBsYyA8PSAxMDIpIHtcbiAgICByZXR1cm4gbGMgLSA5NyArIDEwO1xuICB9XG4gIHJldHVybiAtMTtcbn1cbmZ1bmN0aW9uIGVzY2FwZWRIZXhMZW4oYzIpIHtcbiAgaWYgKGMyID09PSAxMjApIHtcbiAgICByZXR1cm4gMjtcbiAgfVxuICBpZiAoYzIgPT09IDExNykge1xuICAgIHJldHVybiA0O1xuICB9XG4gIGlmIChjMiA9PT0gODUpIHtcbiAgICByZXR1cm4gODtcbiAgfVxuICByZXR1cm4gMDtcbn1cbmZ1bmN0aW9uIGZyb21EZWNpbWFsQ29kZShjMikge1xuICBpZiAoNDggPD0gYzIgJiYgYzIgPD0gNTcpIHtcbiAgICByZXR1cm4gYzIgLSA0ODtcbiAgfVxuICByZXR1cm4gLTE7XG59XG5mdW5jdGlvbiBzaW1wbGVFc2NhcGVTZXF1ZW5jZShjMikge1xuICByZXR1cm4gYzIgPT09IDQ4ID8gXCJcXDBcIiA6IGMyID09PSA5NyA/IFwiXFx4MDdcIiA6IGMyID09PSA5OCA/IFwiXFxiXCIgOiBjMiA9PT0gMTE2ID8gXCJcdFwiIDogYzIgPT09IDkgPyBcIlx0XCIgOiBjMiA9PT0gMTEwID8gXCJcXG5cIiA6IGMyID09PSAxMTggPyBcIlxcdlwiIDogYzIgPT09IDEwMiA/IFwiXFxmXCIgOiBjMiA9PT0gMTE0ID8gXCJcXHJcIiA6IGMyID09PSAxMDEgPyBcIlxceDFCXCIgOiBjMiA9PT0gMzIgPyBcIiBcIiA6IGMyID09PSAzNCA/ICdcIicgOiBjMiA9PT0gNDcgPyBcIi9cIiA6IGMyID09PSA5MiA/IFwiXFxcXFwiIDogYzIgPT09IDc4ID8gXCJcXHg4NVwiIDogYzIgPT09IDk1ID8gXCJcXHhBMFwiIDogYzIgPT09IDc2ID8gXCJcXHUyMDI4XCIgOiBjMiA9PT0gODAgPyBcIlxcdTIwMjlcIiA6IFwiXCI7XG59XG5mdW5jdGlvbiBjaGFyRnJvbUNvZGVwb2ludChjMikge1xuICBpZiAoYzIgPD0gNjU1MzUpIHtcbiAgICByZXR1cm4gU3RyaW5nLmZyb21DaGFyQ29kZShjMik7XG4gIH1cbiAgcmV0dXJuIFN0cmluZy5mcm9tQ2hhckNvZGUoXG4gICAgKGMyIC0gNjU1MzYgPj4gMTApICsgNTUyOTYsXG4gICAgKGMyIC0gNjU1MzYgJiAxMDIzKSArIDU2MzIwXG4gICk7XG59XG52YXIgc2ltcGxlRXNjYXBlQ2hlY2sgPSBuZXcgQXJyYXkoMjU2KTtcbnZhciBzaW1wbGVFc2NhcGVNYXAgPSBuZXcgQXJyYXkoMjU2KTtcbmZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykge1xuICBzaW1wbGVFc2NhcGVDaGVja1tpXSA9IHNpbXBsZUVzY2FwZVNlcXVlbmNlKGkpID8gMSA6IDA7XG4gIHNpbXBsZUVzY2FwZU1hcFtpXSA9IHNpbXBsZUVzY2FwZVNlcXVlbmNlKGkpO1xufVxudmFyIGk7XG5mdW5jdGlvbiBTdGF0ZSQxKGlucHV0LCBvcHRpb25zOCkge1xuICB0aGlzLmlucHV0ID0gaW5wdXQ7XG4gIHRoaXMuZmlsZW5hbWUgPSBvcHRpb25zOFtcImZpbGVuYW1lXCJdIHx8IG51bGw7XG4gIHRoaXMuc2NoZW1hID0gb3B0aW9uczhbXCJzY2hlbWFcIl0gfHwgX2RlZmF1bHQ7XG4gIHRoaXMub25XYXJuaW5nID0gb3B0aW9uczhbXCJvbldhcm5pbmdcIl0gfHwgbnVsbDtcbiAgdGhpcy5sZWdhY3kgPSBvcHRpb25zOFtcImxlZ2FjeVwiXSB8fCBmYWxzZTtcbiAgdGhpcy5qc29uID0gb3B0aW9uczhbXCJqc29uXCJdIHx8IGZhbHNlO1xuICB0aGlzLmxpc3RlbmVyID0gb3B0aW9uczhbXCJsaXN0ZW5lclwiXSB8fCBudWxsO1xuICB0aGlzLmltcGxpY2l0VHlwZXMgPSB0aGlzLnNjaGVtYS5jb21waWxlZEltcGxpY2l0O1xuICB0aGlzLnR5cGVNYXAgPSB0aGlzLnNjaGVtYS5jb21waWxlZFR5cGVNYXA7XG4gIHRoaXMubGVuZ3RoID0gaW5wdXQubGVuZ3RoO1xuICB0aGlzLnBvc2l0aW9uID0gMDtcbiAgdGhpcy5saW5lID0gMDtcbiAgdGhpcy5saW5lU3RhcnQgPSAwO1xuICB0aGlzLmxpbmVJbmRlbnQgPSAwO1xuICB0aGlzLmZpcnN0VGFiSW5MaW5lID0gLTE7XG4gIHRoaXMuZG9jdW1lbnRzID0gW107XG59XG5mdW5jdGlvbiBnZW5lcmF0ZUVycm9yKHN0YXRlLCBtZXNzYWdlKSB7XG4gIHZhciBtYXJrID0ge1xuICAgIG5hbWU6IHN0YXRlLmZpbGVuYW1lLFxuICAgIGJ1ZmZlcjogc3RhdGUuaW5wdXQuc2xpY2UoMCwgLTEpLFxuICAgIC8vIG9taXQgdHJhaWxpbmcgXFwwXG4gICAgcG9zaXRpb246IHN0YXRlLnBvc2l0aW9uLFxuICAgIGxpbmU6IHN0YXRlLmxpbmUsXG4gICAgY29sdW1uOiBzdGF0ZS5wb3NpdGlvbiAtIHN0YXRlLmxpbmVTdGFydFxuICB9O1xuICBtYXJrLnNuaXBwZXQgPSBzbmlwcGV0KG1hcmspO1xuICByZXR1cm4gbmV3IGV4Y2VwdGlvbihtZXNzYWdlLCBtYXJrKTtcbn1cbmZ1bmN0aW9uIHRocm93RXJyb3Ioc3RhdGUsIG1lc3NhZ2UpIHtcbiAgdGhyb3cgZ2VuZXJhdGVFcnJvcihzdGF0ZSwgbWVzc2FnZSk7XG59XG5mdW5jdGlvbiB0aHJvd1dhcm5pbmcoc3RhdGUsIG1lc3NhZ2UpIHtcbiAgaWYgKHN0YXRlLm9uV2FybmluZykge1xuICAgIHN0YXRlLm9uV2FybmluZy5jYWxsKG51bGwsIGdlbmVyYXRlRXJyb3Ioc3RhdGUsIG1lc3NhZ2UpKTtcbiAgfVxufVxudmFyIGRpcmVjdGl2ZUhhbmRsZXJzID0ge1xuICBZQU1MOiBmdW5jdGlvbiBoYW5kbGVZYW1sRGlyZWN0aXZlKHN0YXRlLCBuYW1lLCBhcmdzKSB7XG4gICAgdmFyIG1hdGNoLCBtYWpvciwgbWlub3I7XG4gICAgaWYgKHN0YXRlLnZlcnNpb24gIT09IG51bGwpIHtcbiAgICAgIHRocm93RXJyb3Ioc3RhdGUsIFwiZHVwbGljYXRpb24gb2YgJVlBTUwgZGlyZWN0aXZlXCIpO1xuICAgIH1cbiAgICBpZiAoYXJncy5sZW5ndGggIT09IDEpIHtcbiAgICAgIHRocm93RXJyb3Ioc3RhdGUsIFwiWUFNTCBkaXJlY3RpdmUgYWNjZXB0cyBleGFjdGx5IG9uZSBhcmd1bWVudFwiKTtcbiAgICB9XG4gICAgbWF0Y2ggPSAvXihbMC05XSspXFwuKFswLTldKykkLy5leGVjKGFyZ3NbMF0pO1xuICAgIGlmIChtYXRjaCA9PT0gbnVsbCkge1xuICAgICAgdGhyb3dFcnJvcihzdGF0ZSwgXCJpbGwtZm9ybWVkIGFyZ3VtZW50IG9mIHRoZSBZQU1MIGRpcmVjdGl2ZVwiKTtcbiAgICB9XG4gICAgbWFqb3IgPSBwYXJzZUludChtYXRjaFsxXSwgMTApO1xuICAgIG1pbm9yID0gcGFyc2VJbnQobWF0Y2hbMl0sIDEwKTtcbiAgICBpZiAobWFqb3IgIT09IDEpIHtcbiAgICAgIHRocm93RXJyb3Ioc3RhdGUsIFwidW5hY2NlcHRhYmxlIFlBTUwgdmVyc2lvbiBvZiB0aGUgZG9jdW1lbnRcIik7XG4gICAgfVxuICAgIHN0YXRlLnZlcnNpb24gPSBhcmdzWzBdO1xuICAgIHN0YXRlLmNoZWNrTGluZUJyZWFrcyA9IG1pbm9yIDwgMjtcbiAgICBpZiAobWlub3IgIT09IDEgJiYgbWlub3IgIT09IDIpIHtcbiAgICAgIHRocm93V2FybmluZyhzdGF0ZSwgXCJ1bnN1cHBvcnRlZCBZQU1MIHZlcnNpb24gb2YgdGhlIGRvY3VtZW50XCIpO1xuICAgIH1cbiAgfSxcbiAgVEFHOiBmdW5jdGlvbiBoYW5kbGVUYWdEaXJlY3RpdmUoc3RhdGUsIG5hbWUsIGFyZ3MpIHtcbiAgICB2YXIgaGFuZGxlLCBwcmVmaXg7XG4gICAgaWYgKGFyZ3MubGVuZ3RoICE9PSAyKSB7XG4gICAgICB0aHJvd0Vycm9yKHN0YXRlLCBcIlRBRyBkaXJlY3RpdmUgYWNjZXB0cyBleGFjdGx5IHR3byBhcmd1bWVudHNcIik7XG4gICAgfVxuICAgIGhhbmRsZSA9IGFyZ3NbMF07XG4gICAgcHJlZml4ID0gYXJnc1sxXTtcbiAgICBpZiAoIVBBVFRFUk5fVEFHX0hBTkRMRS50ZXN0KGhhbmRsZSkpIHtcbiAgICAgIHRocm93RXJyb3Ioc3RhdGUsIFwiaWxsLWZvcm1lZCB0YWcgaGFuZGxlIChmaXJzdCBhcmd1bWVudCkgb2YgdGhlIFRBRyBkaXJlY3RpdmVcIik7XG4gICAgfVxuICAgIGlmIChfaGFzT3duUHJvcGVydHkkMS5jYWxsKHN0YXRlLnRhZ01hcCwgaGFuZGxlKSkge1xuICAgICAgdGhyb3dFcnJvcihzdGF0ZSwgJ3RoZXJlIGlzIGEgcHJldmlvdXNseSBkZWNsYXJlZCBzdWZmaXggZm9yIFwiJyArIGhhbmRsZSArICdcIiB0YWcgaGFuZGxlJyk7XG4gICAgfVxuICAgIGlmICghUEFUVEVSTl9UQUdfVVJJLnRlc3QocHJlZml4KSkge1xuICAgICAgdGhyb3dFcnJvcihzdGF0ZSwgXCJpbGwtZm9ybWVkIHRhZyBwcmVmaXggKHNlY29uZCBhcmd1bWVudCkgb2YgdGhlIFRBRyBkaXJlY3RpdmVcIik7XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBwcmVmaXggPSBkZWNvZGVVUklDb21wb25lbnQocHJlZml4KTtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIHRocm93RXJyb3Ioc3RhdGUsIFwidGFnIHByZWZpeCBpcyBtYWxmb3JtZWQ6IFwiICsgcHJlZml4KTtcbiAgICB9XG4gICAgc3RhdGUudGFnTWFwW2hhbmRsZV0gPSBwcmVmaXg7XG4gIH1cbn07XG5mdW5jdGlvbiBjYXB0dXJlU2VnbWVudChzdGF0ZSwgc3RhcnQsIGVuZCwgY2hlY2tKc29uKSB7XG4gIHZhciBfcG9zaXRpb24sIF9sZW5ndGgsIF9jaGFyYWN0ZXIsIF9yZXN1bHQ7XG4gIGlmIChzdGFydCA8IGVuZCkge1xuICAgIF9yZXN1bHQgPSBzdGF0ZS5pbnB1dC5zbGljZShzdGFydCwgZW5kKTtcbiAgICBpZiAoY2hlY2tKc29uKSB7XG4gICAgICBmb3IgKF9wb3NpdGlvbiA9IDAsIF9sZW5ndGggPSBfcmVzdWx0Lmxlbmd0aDsgX3Bvc2l0aW9uIDwgX2xlbmd0aDsgX3Bvc2l0aW9uICs9IDEpIHtcbiAgICAgICAgX2NoYXJhY3RlciA9IF9yZXN1bHQuY2hhckNvZGVBdChfcG9zaXRpb24pO1xuICAgICAgICBpZiAoIShfY2hhcmFjdGVyID09PSA5IHx8IDMyIDw9IF9jaGFyYWN0ZXIgJiYgX2NoYXJhY3RlciA8PSAxMTE0MTExKSkge1xuICAgICAgICAgIHRocm93RXJyb3Ioc3RhdGUsIFwiZXhwZWN0ZWQgdmFsaWQgSlNPTiBjaGFyYWN0ZXJcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKFBBVFRFUk5fTk9OX1BSSU5UQUJMRS50ZXN0KF9yZXN1bHQpKSB7XG4gICAgICB0aHJvd0Vycm9yKHN0YXRlLCBcInRoZSBzdHJlYW0gY29udGFpbnMgbm9uLXByaW50YWJsZSBjaGFyYWN0ZXJzXCIpO1xuICAgIH1cbiAgICBzdGF0ZS5yZXN1bHQgKz0gX3Jlc3VsdDtcbiAgfVxufVxuZnVuY3Rpb24gbWVyZ2VNYXBwaW5ncyhzdGF0ZSwgZGVzdGluYXRpb24sIHNvdXJjZTIsIG92ZXJyaWRhYmxlS2V5cykge1xuICB2YXIgc291cmNlS2V5cywga2V5MiwgaW5kZXgsIHF1YW50aXR5O1xuICBpZiAoIWNvbW1vbi5pc09iamVjdChzb3VyY2UyKSkge1xuICAgIHRocm93RXJyb3Ioc3RhdGUsIFwiY2Fubm90IG1lcmdlIG1hcHBpbmdzOyB0aGUgcHJvdmlkZWQgc291cmNlIG9iamVjdCBpcyB1bmFjY2VwdGFibGVcIik7XG4gIH1cbiAgc291cmNlS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZTIpO1xuICBmb3IgKGluZGV4ID0gMCwgcXVhbnRpdHkgPSBzb3VyY2VLZXlzLmxlbmd0aDsgaW5kZXggPCBxdWFudGl0eTsgaW5kZXggKz0gMSkge1xuICAgIGtleTIgPSBzb3VyY2VLZXlzW2luZGV4XTtcbiAgICBpZiAoIV9oYXNPd25Qcm9wZXJ0eSQxLmNhbGwoZGVzdGluYXRpb24sIGtleTIpKSB7XG4gICAgICBkZXN0aW5hdGlvbltrZXkyXSA9IHNvdXJjZTJba2V5Ml07XG4gICAgICBvdmVycmlkYWJsZUtleXNba2V5Ml0gPSB0cnVlO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gc3RvcmVNYXBwaW5nUGFpcihzdGF0ZSwgX3Jlc3VsdCwgb3ZlcnJpZGFibGVLZXlzLCBrZXlUYWcsIGtleU5vZGUsIHZhbHVlTm9kZSwgc3RhcnRMaW5lLCBzdGFydExpbmVTdGFydCwgc3RhcnRQb3MpIHtcbiAgdmFyIGluZGV4LCBxdWFudGl0eTtcbiAgaWYgKEFycmF5LmlzQXJyYXkoa2V5Tm9kZSkpIHtcbiAgICBrZXlOb2RlID0gQXJyYXkucHJvdG90eXBlLnNsaWNlLmNhbGwoa2V5Tm9kZSk7XG4gICAgZm9yIChpbmRleCA9IDAsIHF1YW50aXR5ID0ga2V5Tm9kZS5sZW5ndGg7IGluZGV4IDwgcXVhbnRpdHk7IGluZGV4ICs9IDEpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KGtleU5vZGVbaW5kZXhdKSkge1xuICAgICAgICB0aHJvd0Vycm9yKHN0YXRlLCBcIm5lc3RlZCBhcnJheXMgYXJlIG5vdCBzdXBwb3J0ZWQgaW5zaWRlIGtleXNcIik7XG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIGtleU5vZGUgPT09IFwib2JqZWN0XCIgJiYgX2NsYXNzKGtleU5vZGVbaW5kZXhdKSA9PT0gXCJbb2JqZWN0IE9iamVjdF1cIikge1xuICAgICAgICBrZXlOb2RlW2luZGV4XSA9IFwiW29iamVjdCBPYmplY3RdXCI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmICh0eXBlb2Yga2V5Tm9kZSA9PT0gXCJvYmplY3RcIiAmJiBfY2xhc3Moa2V5Tm9kZSkgPT09IFwiW29iamVjdCBPYmplY3RdXCIpIHtcbiAgICBrZXlOb2RlID0gXCJbb2JqZWN0IE9iamVjdF1cIjtcbiAgfVxuICBrZXlOb2RlID0gU3RyaW5nKGtleU5vZGUpO1xuICBpZiAoX3Jlc3VsdCA9PT0gbnVsbCkge1xuICAgIF9yZXN1bHQgPSB7fTtcbiAgfVxuICBpZiAoa2V5VGFnID09PSBcInRhZzp5YW1sLm9yZywyMDAyOm1lcmdlXCIpIHtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZU5vZGUpKSB7XG4gICAgICBmb3IgKGluZGV4ID0gMCwgcXVhbnRpdHkgPSB2YWx1ZU5vZGUubGVuZ3RoOyBpbmRleCA8IHF1YW50aXR5OyBpbmRleCArPSAxKSB7XG4gICAgICAgIG1lcmdlTWFwcGluZ3Moc3RhdGUsIF9yZXN1bHQsIHZhbHVlTm9kZVtpbmRleF0sIG92ZXJyaWRhYmxlS2V5cyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG1lcmdlTWFwcGluZ3Moc3RhdGUsIF9yZXN1bHQsIHZhbHVlTm9kZSwgb3ZlcnJpZGFibGVLZXlzKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKCFzdGF0ZS5qc29uICYmICFfaGFzT3duUHJvcGVydHkkMS5jYWxsKG92ZXJyaWRhYmxlS2V5cywga2V5Tm9kZSkgJiYgX2hhc093blByb3BlcnR5JDEuY2FsbChfcmVzdWx0LCBrZXlOb2RlKSkge1xuICAgICAgc3RhdGUubGluZSA9IHN0YXJ0TGluZSB8fCBzdGF0ZS5saW5lO1xuICAgICAgc3RhdGUubGluZVN0YXJ0ID0gc3RhcnRMaW5lU3RhcnQgfHwgc3RhdGUubGluZVN0YXJ0O1xuICAgICAgc3RhdGUucG9zaXRpb24gPSBzdGFydFBvcyB8fCBzdGF0ZS5wb3NpdGlvbjtcbiAgICAgIHRocm93RXJyb3Ioc3RhdGUsIFwiZHVwbGljYXRlZCBtYXBwaW5nIGtleVwiKTtcbiAgICB9XG4gICAgaWYgKGtleU5vZGUgPT09IFwiX19wcm90b19fXCIpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShfcmVzdWx0LCBrZXlOb2RlLCB7XG4gICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgIHZhbHVlOiB2YWx1ZU5vZGVcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBfcmVzdWx0W2tleU5vZGVdID0gdmFsdWVOb2RlO1xuICAgIH1cbiAgICBkZWxldGUgb3ZlcnJpZGFibGVLZXlzW2tleU5vZGVdO1xuICB9XG4gIHJldHVybiBfcmVzdWx0O1xufVxuZnVuY3Rpb24gcmVhZExpbmVCcmVhayhzdGF0ZSkge1xuICB2YXIgY2g7XG4gIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbik7XG4gIGlmIChjaCA9PT0gMTApIHtcbiAgICBzdGF0ZS5wb3NpdGlvbisrO1xuICB9IGVsc2UgaWYgKGNoID09PSAxMykge1xuICAgIHN0YXRlLnBvc2l0aW9uKys7XG4gICAgaWYgKHN0YXRlLmlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zaXRpb24pID09PSAxMCkge1xuICAgICAgc3RhdGUucG9zaXRpb24rKztcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdGhyb3dFcnJvcihzdGF0ZSwgXCJhIGxpbmUgYnJlYWsgaXMgZXhwZWN0ZWRcIik7XG4gIH1cbiAgc3RhdGUubGluZSArPSAxO1xuICBzdGF0ZS5saW5lU3RhcnQgPSBzdGF0ZS5wb3NpdGlvbjtcbiAgc3RhdGUuZmlyc3RUYWJJbkxpbmUgPSAtMTtcbn1cbmZ1bmN0aW9uIHNraXBTZXBhcmF0aW9uU3BhY2Uoc3RhdGUsIGFsbG93Q29tbWVudHMsIGNoZWNrSW5kZW50KSB7XG4gIHZhciBsaW5lQnJlYWtzID0gMCwgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvc2l0aW9uKTtcbiAgd2hpbGUgKGNoICE9PSAwKSB7XG4gICAgd2hpbGUgKGlzX1dISVRFX1NQQUNFKGNoKSkge1xuICAgICAgaWYgKGNoID09PSA5ICYmIHN0YXRlLmZpcnN0VGFiSW5MaW5lID09PSAtMSkge1xuICAgICAgICBzdGF0ZS5maXJzdFRhYkluTGluZSA9IHN0YXRlLnBvc2l0aW9uO1xuICAgICAgfVxuICAgICAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KCsrc3RhdGUucG9zaXRpb24pO1xuICAgIH1cbiAgICBpZiAoYWxsb3dDb21tZW50cyAmJiBjaCA9PT0gMzUpIHtcbiAgICAgIGRvIHtcbiAgICAgICAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KCsrc3RhdGUucG9zaXRpb24pO1xuICAgICAgfSB3aGlsZSAoY2ggIT09IDEwICYmIGNoICE9PSAxMyAmJiBjaCAhPT0gMCk7XG4gICAgfVxuICAgIGlmIChpc19FT0woY2gpKSB7XG4gICAgICByZWFkTGluZUJyZWFrKHN0YXRlKTtcbiAgICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbik7XG4gICAgICBsaW5lQnJlYWtzKys7XG4gICAgICBzdGF0ZS5saW5lSW5kZW50ID0gMDtcbiAgICAgIHdoaWxlIChjaCA9PT0gMzIpIHtcbiAgICAgICAgc3RhdGUubGluZUluZGVudCsrO1xuICAgICAgICBjaCA9IHN0YXRlLmlucHV0LmNoYXJDb2RlQXQoKytzdGF0ZS5wb3NpdGlvbik7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBpZiAoY2hlY2tJbmRlbnQgIT09IC0xICYmIGxpbmVCcmVha3MgIT09IDAgJiYgc3RhdGUubGluZUluZGVudCA8IGNoZWNrSW5kZW50KSB7XG4gICAgdGhyb3dXYXJuaW5nKHN0YXRlLCBcImRlZmljaWVudCBpbmRlbnRhdGlvblwiKTtcbiAgfVxuICByZXR1cm4gbGluZUJyZWFrcztcbn1cbmZ1bmN0aW9uIHRlc3REb2N1bWVudFNlcGFyYXRvcihzdGF0ZSkge1xuICB2YXIgX3Bvc2l0aW9uID0gc3RhdGUucG9zaXRpb24sIGNoO1xuICBjaCA9IHN0YXRlLmlucHV0LmNoYXJDb2RlQXQoX3Bvc2l0aW9uKTtcbiAgaWYgKChjaCA9PT0gNDUgfHwgY2ggPT09IDQ2KSAmJiBjaCA9PT0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChfcG9zaXRpb24gKyAxKSAmJiBjaCA9PT0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChfcG9zaXRpb24gKyAyKSkge1xuICAgIF9wb3NpdGlvbiArPSAzO1xuICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChfcG9zaXRpb24pO1xuICAgIGlmIChjaCA9PT0gMCB8fCBpc19XU19PUl9FT0woY2gpKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gd3JpdGVGb2xkZWRMaW5lcyhzdGF0ZSwgY291bnQpIHtcbiAgaWYgKGNvdW50ID09PSAxKSB7XG4gICAgc3RhdGUucmVzdWx0ICs9IFwiIFwiO1xuICB9IGVsc2UgaWYgKGNvdW50ID4gMSkge1xuICAgIHN0YXRlLnJlc3VsdCArPSBjb21tb24ucmVwZWF0KFwiXFxuXCIsIGNvdW50IC0gMSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHJlYWRQbGFpblNjYWxhcihzdGF0ZSwgbm9kZUluZGVudCwgd2l0aGluRmxvd0NvbGxlY3Rpb24pIHtcbiAgdmFyIHByZWNlZGluZywgZm9sbG93aW5nLCBjYXB0dXJlU3RhcnQsIGNhcHR1cmVFbmQsIGhhc1BlbmRpbmdDb250ZW50LCBfbGluZSwgX2xpbmVTdGFydCwgX2xpbmVJbmRlbnQsIF9raW5kID0gc3RhdGUua2luZCwgX3Jlc3VsdCA9IHN0YXRlLnJlc3VsdCwgY2g7XG4gIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbik7XG4gIGlmIChpc19XU19PUl9FT0woY2gpIHx8IGlzX0ZMT1dfSU5ESUNBVE9SKGNoKSB8fCBjaCA9PT0gMzUgfHwgY2ggPT09IDM4IHx8IGNoID09PSA0MiB8fCBjaCA9PT0gMzMgfHwgY2ggPT09IDEyNCB8fCBjaCA9PT0gNjIgfHwgY2ggPT09IDM5IHx8IGNoID09PSAzNCB8fCBjaCA9PT0gMzcgfHwgY2ggPT09IDY0IHx8IGNoID09PSA5Nikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoY2ggPT09IDYzIHx8IGNoID09PSA0NSkge1xuICAgIGZvbGxvd2luZyA9IHN0YXRlLmlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zaXRpb24gKyAxKTtcbiAgICBpZiAoaXNfV1NfT1JfRU9MKGZvbGxvd2luZykgfHwgd2l0aGluRmxvd0NvbGxlY3Rpb24gJiYgaXNfRkxPV19JTkRJQ0FUT1IoZm9sbG93aW5nKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuICBzdGF0ZS5raW5kID0gXCJzY2FsYXJcIjtcbiAgc3RhdGUucmVzdWx0ID0gXCJcIjtcbiAgY2FwdHVyZVN0YXJ0ID0gY2FwdHVyZUVuZCA9IHN0YXRlLnBvc2l0aW9uO1xuICBoYXNQZW5kaW5nQ29udGVudCA9IGZhbHNlO1xuICB3aGlsZSAoY2ggIT09IDApIHtcbiAgICBpZiAoY2ggPT09IDU4KSB7XG4gICAgICBmb2xsb3dpbmcgPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvc2l0aW9uICsgMSk7XG4gICAgICBpZiAoaXNfV1NfT1JfRU9MKGZvbGxvd2luZykgfHwgd2l0aGluRmxvd0NvbGxlY3Rpb24gJiYgaXNfRkxPV19JTkRJQ0FUT1IoZm9sbG93aW5nKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGNoID09PSAzNSkge1xuICAgICAgcHJlY2VkaW5nID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbiAtIDEpO1xuICAgICAgaWYgKGlzX1dTX09SX0VPTChwcmVjZWRpbmcpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoc3RhdGUucG9zaXRpb24gPT09IHN0YXRlLmxpbmVTdGFydCAmJiB0ZXN0RG9jdW1lbnRTZXBhcmF0b3Ioc3RhdGUpIHx8IHdpdGhpbkZsb3dDb2xsZWN0aW9uICYmIGlzX0ZMT1dfSU5ESUNBVE9SKGNoKSkge1xuICAgICAgYnJlYWs7XG4gICAgfSBlbHNlIGlmIChpc19FT0woY2gpKSB7XG4gICAgICBfbGluZSA9IHN0YXRlLmxpbmU7XG4gICAgICBfbGluZVN0YXJ0ID0gc3RhdGUubGluZVN0YXJ0O1xuICAgICAgX2xpbmVJbmRlbnQgPSBzdGF0ZS5saW5lSW5kZW50O1xuICAgICAgc2tpcFNlcGFyYXRpb25TcGFjZShzdGF0ZSwgZmFsc2UsIC0xKTtcbiAgICAgIGlmIChzdGF0ZS5saW5lSW5kZW50ID49IG5vZGVJbmRlbnQpIHtcbiAgICAgICAgaGFzUGVuZGluZ0NvbnRlbnQgPSB0cnVlO1xuICAgICAgICBjaCA9IHN0YXRlLmlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zaXRpb24pO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXRlLnBvc2l0aW9uID0gY2FwdHVyZUVuZDtcbiAgICAgICAgc3RhdGUubGluZSA9IF9saW5lO1xuICAgICAgICBzdGF0ZS5saW5lU3RhcnQgPSBfbGluZVN0YXJ0O1xuICAgICAgICBzdGF0ZS5saW5lSW5kZW50ID0gX2xpbmVJbmRlbnQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaGFzUGVuZGluZ0NvbnRlbnQpIHtcbiAgICAgIGNhcHR1cmVTZWdtZW50KHN0YXRlLCBjYXB0dXJlU3RhcnQsIGNhcHR1cmVFbmQsIGZhbHNlKTtcbiAgICAgIHdyaXRlRm9sZGVkTGluZXMoc3RhdGUsIHN0YXRlLmxpbmUgLSBfbGluZSk7XG4gICAgICBjYXB0dXJlU3RhcnQgPSBjYXB0dXJlRW5kID0gc3RhdGUucG9zaXRpb247XG4gICAgICBoYXNQZW5kaW5nQ29udGVudCA9IGZhbHNlO1xuICAgIH1cbiAgICBpZiAoIWlzX1dISVRFX1NQQUNFKGNoKSkge1xuICAgICAgY2FwdHVyZUVuZCA9IHN0YXRlLnBvc2l0aW9uICsgMTtcbiAgICB9XG4gICAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KCsrc3RhdGUucG9zaXRpb24pO1xuICB9XG4gIGNhcHR1cmVTZWdtZW50KHN0YXRlLCBjYXB0dXJlU3RhcnQsIGNhcHR1cmVFbmQsIGZhbHNlKTtcbiAgaWYgKHN0YXRlLnJlc3VsdCkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHN0YXRlLmtpbmQgPSBfa2luZDtcbiAgc3RhdGUucmVzdWx0ID0gX3Jlc3VsdDtcbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gcmVhZFNpbmdsZVF1b3RlZFNjYWxhcihzdGF0ZSwgbm9kZUluZGVudCkge1xuICB2YXIgY2gsIGNhcHR1cmVTdGFydCwgY2FwdHVyZUVuZDtcbiAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvc2l0aW9uKTtcbiAgaWYgKGNoICE9PSAzOSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBzdGF0ZS5raW5kID0gXCJzY2FsYXJcIjtcbiAgc3RhdGUucmVzdWx0ID0gXCJcIjtcbiAgc3RhdGUucG9zaXRpb24rKztcbiAgY2FwdHVyZVN0YXJ0ID0gY2FwdHVyZUVuZCA9IHN0YXRlLnBvc2l0aW9uO1xuICB3aGlsZSAoKGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbikpICE9PSAwKSB7XG4gICAgaWYgKGNoID09PSAzOSkge1xuICAgICAgY2FwdHVyZVNlZ21lbnQoc3RhdGUsIGNhcHR1cmVTdGFydCwgc3RhdGUucG9zaXRpb24sIHRydWUpO1xuICAgICAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KCsrc3RhdGUucG9zaXRpb24pO1xuICAgICAgaWYgKGNoID09PSAzOSkge1xuICAgICAgICBjYXB0dXJlU3RhcnQgPSBzdGF0ZS5wb3NpdGlvbjtcbiAgICAgICAgc3RhdGUucG9zaXRpb24rKztcbiAgICAgICAgY2FwdHVyZUVuZCA9IHN0YXRlLnBvc2l0aW9uO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpc19FT0woY2gpKSB7XG4gICAgICBjYXB0dXJlU2VnbWVudChzdGF0ZSwgY2FwdHVyZVN0YXJ0LCBjYXB0dXJlRW5kLCB0cnVlKTtcbiAgICAgIHdyaXRlRm9sZGVkTGluZXMoc3RhdGUsIHNraXBTZXBhcmF0aW9uU3BhY2Uoc3RhdGUsIGZhbHNlLCBub2RlSW5kZW50KSk7XG4gICAgICBjYXB0dXJlU3RhcnQgPSBjYXB0dXJlRW5kID0gc3RhdGUucG9zaXRpb247XG4gICAgfSBlbHNlIGlmIChzdGF0ZS5wb3NpdGlvbiA9PT0gc3RhdGUubGluZVN0YXJ0ICYmIHRlc3REb2N1bWVudFNlcGFyYXRvcihzdGF0ZSkpIHtcbiAgICAgIHRocm93RXJyb3Ioc3RhdGUsIFwidW5leHBlY3RlZCBlbmQgb2YgdGhlIGRvY3VtZW50IHdpdGhpbiBhIHNpbmdsZSBxdW90ZWQgc2NhbGFyXCIpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzdGF0ZS5wb3NpdGlvbisrO1xuICAgICAgY2FwdHVyZUVuZCA9IHN0YXRlLnBvc2l0aW9uO1xuICAgIH1cbiAgfVxuICB0aHJvd0Vycm9yKHN0YXRlLCBcInVuZXhwZWN0ZWQgZW5kIG9mIHRoZSBzdHJlYW0gd2l0aGluIGEgc2luZ2xlIHF1b3RlZCBzY2FsYXJcIik7XG59XG5mdW5jdGlvbiByZWFkRG91YmxlUXVvdGVkU2NhbGFyKHN0YXRlLCBub2RlSW5kZW50KSB7XG4gIHZhciBjYXB0dXJlU3RhcnQsIGNhcHR1cmVFbmQsIGhleExlbmd0aCwgaGV4UmVzdWx0LCB0bXAsIGNoO1xuICBjaCA9IHN0YXRlLmlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zaXRpb24pO1xuICBpZiAoY2ggIT09IDM0KSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHN0YXRlLmtpbmQgPSBcInNjYWxhclwiO1xuICBzdGF0ZS5yZXN1bHQgPSBcIlwiO1xuICBzdGF0ZS5wb3NpdGlvbisrO1xuICBjYXB0dXJlU3RhcnQgPSBjYXB0dXJlRW5kID0gc3RhdGUucG9zaXRpb247XG4gIHdoaWxlICgoY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvc2l0aW9uKSkgIT09IDApIHtcbiAgICBpZiAoY2ggPT09IDM0KSB7XG4gICAgICBjYXB0dXJlU2VnbWVudChzdGF0ZSwgY2FwdHVyZVN0YXJ0LCBzdGF0ZS5wb3NpdGlvbiwgdHJ1ZSk7XG4gICAgICBzdGF0ZS5wb3NpdGlvbisrO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIGlmIChjaCA9PT0gOTIpIHtcbiAgICAgIGNhcHR1cmVTZWdtZW50KHN0YXRlLCBjYXB0dXJlU3RhcnQsIHN0YXRlLnBvc2l0aW9uLCB0cnVlKTtcbiAgICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgICAgIGlmIChpc19FT0woY2gpKSB7XG4gICAgICAgIHNraXBTZXBhcmF0aW9uU3BhY2Uoc3RhdGUsIGZhbHNlLCBub2RlSW5kZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoY2ggPCAyNTYgJiYgc2ltcGxlRXNjYXBlQ2hlY2tbY2hdKSB7XG4gICAgICAgIHN0YXRlLnJlc3VsdCArPSBzaW1wbGVFc2NhcGVNYXBbY2hdO1xuICAgICAgICBzdGF0ZS5wb3NpdGlvbisrO1xuICAgICAgfSBlbHNlIGlmICgodG1wID0gZXNjYXBlZEhleExlbihjaCkpID4gMCkge1xuICAgICAgICBoZXhMZW5ndGggPSB0bXA7XG4gICAgICAgIGhleFJlc3VsdCA9IDA7XG4gICAgICAgIGZvciAoOyBoZXhMZW5ndGggPiAwOyBoZXhMZW5ndGgtLSkge1xuICAgICAgICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgICAgICAgICBpZiAoKHRtcCA9IGZyb21IZXhDb2RlKGNoKSkgPj0gMCkge1xuICAgICAgICAgICAgaGV4UmVzdWx0ID0gKGhleFJlc3VsdCA8PCA0KSArIHRtcDtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3dFcnJvcihzdGF0ZSwgXCJleHBlY3RlZCBoZXhhZGVjaW1hbCBjaGFyYWN0ZXJcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHN0YXRlLnJlc3VsdCArPSBjaGFyRnJvbUNvZGVwb2ludChoZXhSZXN1bHQpO1xuICAgICAgICBzdGF0ZS5wb3NpdGlvbisrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3dFcnJvcihzdGF0ZSwgXCJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZVwiKTtcbiAgICAgIH1cbiAgICAgIGNhcHR1cmVTdGFydCA9IGNhcHR1cmVFbmQgPSBzdGF0ZS5wb3NpdGlvbjtcbiAgICB9IGVsc2UgaWYgKGlzX0VPTChjaCkpIHtcbiAgICAgIGNhcHR1cmVTZWdtZW50KHN0YXRlLCBjYXB0dXJlU3RhcnQsIGNhcHR1cmVFbmQsIHRydWUpO1xuICAgICAgd3JpdGVGb2xkZWRMaW5lcyhzdGF0ZSwgc2tpcFNlcGFyYXRpb25TcGFjZShzdGF0ZSwgZmFsc2UsIG5vZGVJbmRlbnQpKTtcbiAgICAgIGNhcHR1cmVTdGFydCA9IGNhcHR1cmVFbmQgPSBzdGF0ZS5wb3NpdGlvbjtcbiAgICB9IGVsc2UgaWYgKHN0YXRlLnBvc2l0aW9uID09PSBzdGF0ZS5saW5lU3RhcnQgJiYgdGVzdERvY3VtZW50U2VwYXJhdG9yKHN0YXRlKSkge1xuICAgICAgdGhyb3dFcnJvcihzdGF0ZSwgXCJ1bmV4cGVjdGVkIGVuZCBvZiB0aGUgZG9jdW1lbnQgd2l0aGluIGEgZG91YmxlIHF1b3RlZCBzY2FsYXJcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRlLnBvc2l0aW9uKys7XG4gICAgICBjYXB0dXJlRW5kID0gc3RhdGUucG9zaXRpb247XG4gICAgfVxuICB9XG4gIHRocm93RXJyb3Ioc3RhdGUsIFwidW5leHBlY3RlZCBlbmQgb2YgdGhlIHN0cmVhbSB3aXRoaW4gYSBkb3VibGUgcXVvdGVkIHNjYWxhclwiKTtcbn1cbmZ1bmN0aW9uIHJlYWRGbG93Q29sbGVjdGlvbihzdGF0ZSwgbm9kZUluZGVudCkge1xuICB2YXIgcmVhZE5leHQgPSB0cnVlLCBfbGluZSwgX2xpbmVTdGFydCwgX3BvcywgX3RhZyA9IHN0YXRlLnRhZywgX3Jlc3VsdCwgX2FuY2hvciA9IHN0YXRlLmFuY2hvciwgZm9sbG93aW5nLCB0ZXJtaW5hdG9yLCBpc1BhaXIsIGlzRXhwbGljaXRQYWlyLCBpc01hcHBpbmcsIG92ZXJyaWRhYmxlS2V5cyA9IC8qIEBfX1BVUkVfXyAqLyBPYmplY3QuY3JlYXRlKG51bGwpLCBrZXlOb2RlLCBrZXlUYWcsIHZhbHVlTm9kZSwgY2g7XG4gIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbik7XG4gIGlmIChjaCA9PT0gOTEpIHtcbiAgICB0ZXJtaW5hdG9yID0gOTM7XG4gICAgaXNNYXBwaW5nID0gZmFsc2U7XG4gICAgX3Jlc3VsdCA9IFtdO1xuICB9IGVsc2UgaWYgKGNoID09PSAxMjMpIHtcbiAgICB0ZXJtaW5hdG9yID0gMTI1O1xuICAgIGlzTWFwcGluZyA9IHRydWU7XG4gICAgX3Jlc3VsdCA9IHt9O1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAoc3RhdGUuYW5jaG9yICE9PSBudWxsKSB7XG4gICAgc3RhdGUuYW5jaG9yTWFwW3N0YXRlLmFuY2hvcl0gPSBfcmVzdWx0O1xuICB9XG4gIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgd2hpbGUgKGNoICE9PSAwKSB7XG4gICAgc2tpcFNlcGFyYXRpb25TcGFjZShzdGF0ZSwgdHJ1ZSwgbm9kZUluZGVudCk7XG4gICAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvc2l0aW9uKTtcbiAgICBpZiAoY2ggPT09IHRlcm1pbmF0b3IpIHtcbiAgICAgIHN0YXRlLnBvc2l0aW9uKys7XG4gICAgICBzdGF0ZS50YWcgPSBfdGFnO1xuICAgICAgc3RhdGUuYW5jaG9yID0gX2FuY2hvcjtcbiAgICAgIHN0YXRlLmtpbmQgPSBpc01hcHBpbmcgPyBcIm1hcHBpbmdcIiA6IFwic2VxdWVuY2VcIjtcbiAgICAgIHN0YXRlLnJlc3VsdCA9IF9yZXN1bHQ7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2UgaWYgKCFyZWFkTmV4dCkge1xuICAgICAgdGhyb3dFcnJvcihzdGF0ZSwgXCJtaXNzZWQgY29tbWEgYmV0d2VlbiBmbG93IGNvbGxlY3Rpb24gZW50cmllc1wiKTtcbiAgICB9IGVsc2UgaWYgKGNoID09PSA0NCkge1xuICAgICAgdGhyb3dFcnJvcihzdGF0ZSwgXCJleHBlY3RlZCB0aGUgbm9kZSBjb250ZW50LCBidXQgZm91bmQgJywnXCIpO1xuICAgIH1cbiAgICBrZXlUYWcgPSBrZXlOb2RlID0gdmFsdWVOb2RlID0gbnVsbDtcbiAgICBpc1BhaXIgPSBpc0V4cGxpY2l0UGFpciA9IGZhbHNlO1xuICAgIGlmIChjaCA9PT0gNjMpIHtcbiAgICAgIGZvbGxvd2luZyA9IHN0YXRlLmlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zaXRpb24gKyAxKTtcbiAgICAgIGlmIChpc19XU19PUl9FT0woZm9sbG93aW5nKSkge1xuICAgICAgICBpc1BhaXIgPSBpc0V4cGxpY2l0UGFpciA9IHRydWU7XG4gICAgICAgIHN0YXRlLnBvc2l0aW9uKys7XG4gICAgICAgIHNraXBTZXBhcmF0aW9uU3BhY2Uoc3RhdGUsIHRydWUsIG5vZGVJbmRlbnQpO1xuICAgICAgfVxuICAgIH1cbiAgICBfbGluZSA9IHN0YXRlLmxpbmU7XG4gICAgX2xpbmVTdGFydCA9IHN0YXRlLmxpbmVTdGFydDtcbiAgICBfcG9zID0gc3RhdGUucG9zaXRpb247XG4gICAgY29tcG9zZU5vZGUoc3RhdGUsIG5vZGVJbmRlbnQsIENPTlRFWFRfRkxPV19JTiwgZmFsc2UsIHRydWUpO1xuICAgIGtleVRhZyA9IHN0YXRlLnRhZztcbiAgICBrZXlOb2RlID0gc3RhdGUucmVzdWx0O1xuICAgIHNraXBTZXBhcmF0aW9uU3BhY2Uoc3RhdGUsIHRydWUsIG5vZGVJbmRlbnQpO1xuICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbik7XG4gICAgaWYgKChpc0V4cGxpY2l0UGFpciB8fCBzdGF0ZS5saW5lID09PSBfbGluZSkgJiYgY2ggPT09IDU4KSB7XG4gICAgICBpc1BhaXIgPSB0cnVlO1xuICAgICAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KCsrc3RhdGUucG9zaXRpb24pO1xuICAgICAgc2tpcFNlcGFyYXRpb25TcGFjZShzdGF0ZSwgdHJ1ZSwgbm9kZUluZGVudCk7XG4gICAgICBjb21wb3NlTm9kZShzdGF0ZSwgbm9kZUluZGVudCwgQ09OVEVYVF9GTE9XX0lOLCBmYWxzZSwgdHJ1ZSk7XG4gICAgICB2YWx1ZU5vZGUgPSBzdGF0ZS5yZXN1bHQ7XG4gICAgfVxuICAgIGlmIChpc01hcHBpbmcpIHtcbiAgICAgIHN0b3JlTWFwcGluZ1BhaXIoc3RhdGUsIF9yZXN1bHQsIG92ZXJyaWRhYmxlS2V5cywga2V5VGFnLCBrZXlOb2RlLCB2YWx1ZU5vZGUsIF9saW5lLCBfbGluZVN0YXJ0LCBfcG9zKTtcbiAgICB9IGVsc2UgaWYgKGlzUGFpcikge1xuICAgICAgX3Jlc3VsdC5wdXNoKHN0b3JlTWFwcGluZ1BhaXIoc3RhdGUsIG51bGwsIG92ZXJyaWRhYmxlS2V5cywga2V5VGFnLCBrZXlOb2RlLCB2YWx1ZU5vZGUsIF9saW5lLCBfbGluZVN0YXJ0LCBfcG9zKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIF9yZXN1bHQucHVzaChrZXlOb2RlKTtcbiAgICB9XG4gICAgc2tpcFNlcGFyYXRpb25TcGFjZShzdGF0ZSwgdHJ1ZSwgbm9kZUluZGVudCk7XG4gICAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvc2l0aW9uKTtcbiAgICBpZiAoY2ggPT09IDQ0KSB7XG4gICAgICByZWFkTmV4dCA9IHRydWU7XG4gICAgICBjaCA9IHN0YXRlLmlucHV0LmNoYXJDb2RlQXQoKytzdGF0ZS5wb3NpdGlvbik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlYWROZXh0ID0gZmFsc2U7XG4gICAgfVxuICB9XG4gIHRocm93RXJyb3Ioc3RhdGUsIFwidW5leHBlY3RlZCBlbmQgb2YgdGhlIHN0cmVhbSB3aXRoaW4gYSBmbG93IGNvbGxlY3Rpb25cIik7XG59XG5mdW5jdGlvbiByZWFkQmxvY2tTY2FsYXIoc3RhdGUsIG5vZGVJbmRlbnQpIHtcbiAgdmFyIGNhcHR1cmVTdGFydCwgZm9sZGluZywgY2hvbXBpbmcgPSBDSE9NUElOR19DTElQLCBkaWRSZWFkQ29udGVudCA9IGZhbHNlLCBkZXRlY3RlZEluZGVudCA9IGZhbHNlLCB0ZXh0SW5kZW50ID0gbm9kZUluZGVudCwgZW1wdHlMaW5lcyA9IDAsIGF0TW9yZUluZGVudGVkID0gZmFsc2UsIHRtcCwgY2g7XG4gIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbik7XG4gIGlmIChjaCA9PT0gMTI0KSB7XG4gICAgZm9sZGluZyA9IGZhbHNlO1xuICB9IGVsc2UgaWYgKGNoID09PSA2Mikge1xuICAgIGZvbGRpbmcgPSB0cnVlO1xuICB9IGVsc2Uge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBzdGF0ZS5raW5kID0gXCJzY2FsYXJcIjtcbiAgc3RhdGUucmVzdWx0ID0gXCJcIjtcbiAgd2hpbGUgKGNoICE9PSAwKSB7XG4gICAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KCsrc3RhdGUucG9zaXRpb24pO1xuICAgIGlmIChjaCA9PT0gNDMgfHwgY2ggPT09IDQ1KSB7XG4gICAgICBpZiAoQ0hPTVBJTkdfQ0xJUCA9PT0gY2hvbXBpbmcpIHtcbiAgICAgICAgY2hvbXBpbmcgPSBjaCA9PT0gNDMgPyBDSE9NUElOR19LRUVQIDogQ0hPTVBJTkdfU1RSSVA7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvd0Vycm9yKHN0YXRlLCBcInJlcGVhdCBvZiBhIGNob21waW5nIG1vZGUgaWRlbnRpZmllclwiKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKCh0bXAgPSBmcm9tRGVjaW1hbENvZGUoY2gpKSA+PSAwKSB7XG4gICAgICBpZiAodG1wID09PSAwKSB7XG4gICAgICAgIHRocm93RXJyb3Ioc3RhdGUsIFwiYmFkIGV4cGxpY2l0IGluZGVudGF0aW9uIHdpZHRoIG9mIGEgYmxvY2sgc2NhbGFyOyBpdCBjYW5ub3QgYmUgbGVzcyB0aGFuIG9uZVwiKTtcbiAgICAgIH0gZWxzZSBpZiAoIWRldGVjdGVkSW5kZW50KSB7XG4gICAgICAgIHRleHRJbmRlbnQgPSBub2RlSW5kZW50ICsgdG1wIC0gMTtcbiAgICAgICAgZGV0ZWN0ZWRJbmRlbnQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhyb3dFcnJvcihzdGF0ZSwgXCJyZXBlYXQgb2YgYW4gaW5kZW50YXRpb24gd2lkdGggaWRlbnRpZmllclwiKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIGlmIChpc19XSElURV9TUEFDRShjaCkpIHtcbiAgICBkbyB7XG4gICAgICBjaCA9IHN0YXRlLmlucHV0LmNoYXJDb2RlQXQoKytzdGF0ZS5wb3NpdGlvbik7XG4gICAgfSB3aGlsZSAoaXNfV0hJVEVfU1BBQ0UoY2gpKTtcbiAgICBpZiAoY2ggPT09IDM1KSB7XG4gICAgICBkbyB7XG4gICAgICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgICAgIH0gd2hpbGUgKCFpc19FT0woY2gpICYmIGNoICE9PSAwKTtcbiAgICB9XG4gIH1cbiAgd2hpbGUgKGNoICE9PSAwKSB7XG4gICAgcmVhZExpbmVCcmVhayhzdGF0ZSk7XG4gICAgc3RhdGUubGluZUluZGVudCA9IDA7XG4gICAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvc2l0aW9uKTtcbiAgICB3aGlsZSAoKCFkZXRlY3RlZEluZGVudCB8fCBzdGF0ZS5saW5lSW5kZW50IDwgdGV4dEluZGVudCkgJiYgY2ggPT09IDMyKSB7XG4gICAgICBzdGF0ZS5saW5lSW5kZW50Kys7XG4gICAgICBjaCA9IHN0YXRlLmlucHV0LmNoYXJDb2RlQXQoKytzdGF0ZS5wb3NpdGlvbik7XG4gICAgfVxuICAgIGlmICghZGV0ZWN0ZWRJbmRlbnQgJiYgc3RhdGUubGluZUluZGVudCA+IHRleHRJbmRlbnQpIHtcbiAgICAgIHRleHRJbmRlbnQgPSBzdGF0ZS5saW5lSW5kZW50O1xuICAgIH1cbiAgICBpZiAoaXNfRU9MKGNoKSkge1xuICAgICAgZW1wdHlMaW5lcysrO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChzdGF0ZS5saW5lSW5kZW50IDwgdGV4dEluZGVudCkge1xuICAgICAgaWYgKGNob21waW5nID09PSBDSE9NUElOR19LRUVQKSB7XG4gICAgICAgIHN0YXRlLnJlc3VsdCArPSBjb21tb24ucmVwZWF0KFwiXFxuXCIsIGRpZFJlYWRDb250ZW50ID8gMSArIGVtcHR5TGluZXMgOiBlbXB0eUxpbmVzKTtcbiAgICAgIH0gZWxzZSBpZiAoY2hvbXBpbmcgPT09IENIT01QSU5HX0NMSVApIHtcbiAgICAgICAgaWYgKGRpZFJlYWRDb250ZW50KSB7XG4gICAgICAgICAgc3RhdGUucmVzdWx0ICs9IFwiXFxuXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoZm9sZGluZykge1xuICAgICAgaWYgKGlzX1dISVRFX1NQQUNFKGNoKSkge1xuICAgICAgICBhdE1vcmVJbmRlbnRlZCA9IHRydWU7XG4gICAgICAgIHN0YXRlLnJlc3VsdCArPSBjb21tb24ucmVwZWF0KFwiXFxuXCIsIGRpZFJlYWRDb250ZW50ID8gMSArIGVtcHR5TGluZXMgOiBlbXB0eUxpbmVzKTtcbiAgICAgIH0gZWxzZSBpZiAoYXRNb3JlSW5kZW50ZWQpIHtcbiAgICAgICAgYXRNb3JlSW5kZW50ZWQgPSBmYWxzZTtcbiAgICAgICAgc3RhdGUucmVzdWx0ICs9IGNvbW1vbi5yZXBlYXQoXCJcXG5cIiwgZW1wdHlMaW5lcyArIDEpO1xuICAgICAgfSBlbHNlIGlmIChlbXB0eUxpbmVzID09PSAwKSB7XG4gICAgICAgIGlmIChkaWRSZWFkQ29udGVudCkge1xuICAgICAgICAgIHN0YXRlLnJlc3VsdCArPSBcIiBcIjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc3RhdGUucmVzdWx0ICs9IGNvbW1vbi5yZXBlYXQoXCJcXG5cIiwgZW1wdHlMaW5lcyk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRlLnJlc3VsdCArPSBjb21tb24ucmVwZWF0KFwiXFxuXCIsIGRpZFJlYWRDb250ZW50ID8gMSArIGVtcHR5TGluZXMgOiBlbXB0eUxpbmVzKTtcbiAgICB9XG4gICAgZGlkUmVhZENvbnRlbnQgPSB0cnVlO1xuICAgIGRldGVjdGVkSW5kZW50ID0gdHJ1ZTtcbiAgICBlbXB0eUxpbmVzID0gMDtcbiAgICBjYXB0dXJlU3RhcnQgPSBzdGF0ZS5wb3NpdGlvbjtcbiAgICB3aGlsZSAoIWlzX0VPTChjaCkgJiYgY2ggIT09IDApIHtcbiAgICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgICB9XG4gICAgY2FwdHVyZVNlZ21lbnQoc3RhdGUsIGNhcHR1cmVTdGFydCwgc3RhdGUucG9zaXRpb24sIGZhbHNlKTtcbiAgfVxuICByZXR1cm4gdHJ1ZTtcbn1cbmZ1bmN0aW9uIHJlYWRCbG9ja1NlcXVlbmNlKHN0YXRlLCBub2RlSW5kZW50KSB7XG4gIHZhciBfbGluZSwgX3RhZyA9IHN0YXRlLnRhZywgX2FuY2hvciA9IHN0YXRlLmFuY2hvciwgX3Jlc3VsdCA9IFtdLCBmb2xsb3dpbmcsIGRldGVjdGVkID0gZmFsc2UsIGNoO1xuICBpZiAoc3RhdGUuZmlyc3RUYWJJbkxpbmUgIT09IC0xKSByZXR1cm4gZmFsc2U7XG4gIGlmIChzdGF0ZS5hbmNob3IgIT09IG51bGwpIHtcbiAgICBzdGF0ZS5hbmNob3JNYXBbc3RhdGUuYW5jaG9yXSA9IF9yZXN1bHQ7XG4gIH1cbiAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvc2l0aW9uKTtcbiAgd2hpbGUgKGNoICE9PSAwKSB7XG4gICAgaWYgKHN0YXRlLmZpcnN0VGFiSW5MaW5lICE9PSAtMSkge1xuICAgICAgc3RhdGUucG9zaXRpb24gPSBzdGF0ZS5maXJzdFRhYkluTGluZTtcbiAgICAgIHRocm93RXJyb3Ioc3RhdGUsIFwidGFiIGNoYXJhY3RlcnMgbXVzdCBub3QgYmUgdXNlZCBpbiBpbmRlbnRhdGlvblwiKTtcbiAgICB9XG4gICAgaWYgKGNoICE9PSA0NSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGZvbGxvd2luZyA9IHN0YXRlLmlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zaXRpb24gKyAxKTtcbiAgICBpZiAoIWlzX1dTX09SX0VPTChmb2xsb3dpbmcpKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgZGV0ZWN0ZWQgPSB0cnVlO1xuICAgIHN0YXRlLnBvc2l0aW9uKys7XG4gICAgaWYgKHNraXBTZXBhcmF0aW9uU3BhY2Uoc3RhdGUsIHRydWUsIC0xKSkge1xuICAgICAgaWYgKHN0YXRlLmxpbmVJbmRlbnQgPD0gbm9kZUluZGVudCkge1xuICAgICAgICBfcmVzdWx0LnB1c2gobnVsbCk7XG4gICAgICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbik7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBfbGluZSA9IHN0YXRlLmxpbmU7XG4gICAgY29tcG9zZU5vZGUoc3RhdGUsIG5vZGVJbmRlbnQsIENPTlRFWFRfQkxPQ0tfSU4sIGZhbHNlLCB0cnVlKTtcbiAgICBfcmVzdWx0LnB1c2goc3RhdGUucmVzdWx0KTtcbiAgICBza2lwU2VwYXJhdGlvblNwYWNlKHN0YXRlLCB0cnVlLCAtMSk7XG4gICAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvc2l0aW9uKTtcbiAgICBpZiAoKHN0YXRlLmxpbmUgPT09IF9saW5lIHx8IHN0YXRlLmxpbmVJbmRlbnQgPiBub2RlSW5kZW50KSAmJiBjaCAhPT0gMCkge1xuICAgICAgdGhyb3dFcnJvcihzdGF0ZSwgXCJiYWQgaW5kZW50YXRpb24gb2YgYSBzZXF1ZW5jZSBlbnRyeVwiKTtcbiAgICB9IGVsc2UgaWYgKHN0YXRlLmxpbmVJbmRlbnQgPCBub2RlSW5kZW50KSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgaWYgKGRldGVjdGVkKSB7XG4gICAgc3RhdGUudGFnID0gX3RhZztcbiAgICBzdGF0ZS5hbmNob3IgPSBfYW5jaG9yO1xuICAgIHN0YXRlLmtpbmQgPSBcInNlcXVlbmNlXCI7XG4gICAgc3RhdGUucmVzdWx0ID0gX3Jlc3VsdDtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG5mdW5jdGlvbiByZWFkQmxvY2tNYXBwaW5nKHN0YXRlLCBub2RlSW5kZW50LCBmbG93SW5kZW50KSB7XG4gIHZhciBmb2xsb3dpbmcsIGFsbG93Q29tcGFjdCwgX2xpbmUsIF9rZXlMaW5lLCBfa2V5TGluZVN0YXJ0LCBfa2V5UG9zLCBfdGFnID0gc3RhdGUudGFnLCBfYW5jaG9yID0gc3RhdGUuYW5jaG9yLCBfcmVzdWx0ID0ge30sIG92ZXJyaWRhYmxlS2V5cyA9IC8qIEBfX1BVUkVfXyAqLyBPYmplY3QuY3JlYXRlKG51bGwpLCBrZXlUYWcgPSBudWxsLCBrZXlOb2RlID0gbnVsbCwgdmFsdWVOb2RlID0gbnVsbCwgYXRFeHBsaWNpdEtleSA9IGZhbHNlLCBkZXRlY3RlZCA9IGZhbHNlLCBjaDtcbiAgaWYgKHN0YXRlLmZpcnN0VGFiSW5MaW5lICE9PSAtMSkgcmV0dXJuIGZhbHNlO1xuICBpZiAoc3RhdGUuYW5jaG9yICE9PSBudWxsKSB7XG4gICAgc3RhdGUuYW5jaG9yTWFwW3N0YXRlLmFuY2hvcl0gPSBfcmVzdWx0O1xuICB9XG4gIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbik7XG4gIHdoaWxlIChjaCAhPT0gMCkge1xuICAgIGlmICghYXRFeHBsaWNpdEtleSAmJiBzdGF0ZS5maXJzdFRhYkluTGluZSAhPT0gLTEpIHtcbiAgICAgIHN0YXRlLnBvc2l0aW9uID0gc3RhdGUuZmlyc3RUYWJJbkxpbmU7XG4gICAgICB0aHJvd0Vycm9yKHN0YXRlLCBcInRhYiBjaGFyYWN0ZXJzIG11c3Qgbm90IGJlIHVzZWQgaW4gaW5kZW50YXRpb25cIik7XG4gICAgfVxuICAgIGZvbGxvd2luZyA9IHN0YXRlLmlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zaXRpb24gKyAxKTtcbiAgICBfbGluZSA9IHN0YXRlLmxpbmU7XG4gICAgaWYgKChjaCA9PT0gNjMgfHwgY2ggPT09IDU4KSAmJiBpc19XU19PUl9FT0woZm9sbG93aW5nKSkge1xuICAgICAgaWYgKGNoID09PSA2Mykge1xuICAgICAgICBpZiAoYXRFeHBsaWNpdEtleSkge1xuICAgICAgICAgIHN0b3JlTWFwcGluZ1BhaXIoc3RhdGUsIF9yZXN1bHQsIG92ZXJyaWRhYmxlS2V5cywga2V5VGFnLCBrZXlOb2RlLCBudWxsLCBfa2V5TGluZSwgX2tleUxpbmVTdGFydCwgX2tleVBvcyk7XG4gICAgICAgICAga2V5VGFnID0ga2V5Tm9kZSA9IHZhbHVlTm9kZSA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgZGV0ZWN0ZWQgPSB0cnVlO1xuICAgICAgICBhdEV4cGxpY2l0S2V5ID0gdHJ1ZTtcbiAgICAgICAgYWxsb3dDb21wYWN0ID0gdHJ1ZTtcbiAgICAgIH0gZWxzZSBpZiAoYXRFeHBsaWNpdEtleSkge1xuICAgICAgICBhdEV4cGxpY2l0S2V5ID0gZmFsc2U7XG4gICAgICAgIGFsbG93Q29tcGFjdCA9IHRydWU7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvd0Vycm9yKHN0YXRlLCBcImluY29tcGxldGUgZXhwbGljaXQgbWFwcGluZyBwYWlyOyBhIGtleSBub2RlIGlzIG1pc3NlZDsgb3IgZm9sbG93ZWQgYnkgYSBub24tdGFidWxhdGVkIGVtcHR5IGxpbmVcIik7XG4gICAgICB9XG4gICAgICBzdGF0ZS5wb3NpdGlvbiArPSAxO1xuICAgICAgY2ggPSBmb2xsb3dpbmc7XG4gICAgfSBlbHNlIHtcbiAgICAgIF9rZXlMaW5lID0gc3RhdGUubGluZTtcbiAgICAgIF9rZXlMaW5lU3RhcnQgPSBzdGF0ZS5saW5lU3RhcnQ7XG4gICAgICBfa2V5UG9zID0gc3RhdGUucG9zaXRpb247XG4gICAgICBpZiAoIWNvbXBvc2VOb2RlKHN0YXRlLCBmbG93SW5kZW50LCBDT05URVhUX0ZMT1dfT1VULCBmYWxzZSwgdHJ1ZSkpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBpZiAoc3RhdGUubGluZSA9PT0gX2xpbmUpIHtcbiAgICAgICAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvc2l0aW9uKTtcbiAgICAgICAgd2hpbGUgKGlzX1dISVRFX1NQQUNFKGNoKSkge1xuICAgICAgICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoY2ggPT09IDU4KSB7XG4gICAgICAgICAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KCsrc3RhdGUucG9zaXRpb24pO1xuICAgICAgICAgIGlmICghaXNfV1NfT1JfRU9MKGNoKSkge1xuICAgICAgICAgICAgdGhyb3dFcnJvcihzdGF0ZSwgXCJhIHdoaXRlc3BhY2UgY2hhcmFjdGVyIGlzIGV4cGVjdGVkIGFmdGVyIHRoZSBrZXktdmFsdWUgc2VwYXJhdG9yIHdpdGhpbiBhIGJsb2NrIG1hcHBpbmdcIik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChhdEV4cGxpY2l0S2V5KSB7XG4gICAgICAgICAgICBzdG9yZU1hcHBpbmdQYWlyKHN0YXRlLCBfcmVzdWx0LCBvdmVycmlkYWJsZUtleXMsIGtleVRhZywga2V5Tm9kZSwgbnVsbCwgX2tleUxpbmUsIF9rZXlMaW5lU3RhcnQsIF9rZXlQb3MpO1xuICAgICAgICAgICAga2V5VGFnID0ga2V5Tm9kZSA9IHZhbHVlTm9kZSA9IG51bGw7XG4gICAgICAgICAgfVxuICAgICAgICAgIGRldGVjdGVkID0gdHJ1ZTtcbiAgICAgICAgICBhdEV4cGxpY2l0S2V5ID0gZmFsc2U7XG4gICAgICAgICAgYWxsb3dDb21wYWN0ID0gZmFsc2U7XG4gICAgICAgICAga2V5VGFnID0gc3RhdGUudGFnO1xuICAgICAgICAgIGtleU5vZGUgPSBzdGF0ZS5yZXN1bHQ7XG4gICAgICAgIH0gZWxzZSBpZiAoZGV0ZWN0ZWQpIHtcbiAgICAgICAgICB0aHJvd0Vycm9yKHN0YXRlLCBcImNhbiBub3QgcmVhZCBhbiBpbXBsaWNpdCBtYXBwaW5nIHBhaXI7IGEgY29sb24gaXMgbWlzc2VkXCIpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHN0YXRlLnRhZyA9IF90YWc7XG4gICAgICAgICAgc3RhdGUuYW5jaG9yID0gX2FuY2hvcjtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmIChkZXRlY3RlZCkge1xuICAgICAgICB0aHJvd0Vycm9yKHN0YXRlLCBcImNhbiBub3QgcmVhZCBhIGJsb2NrIG1hcHBpbmcgZW50cnk7IGEgbXVsdGlsaW5lIGtleSBtYXkgbm90IGJlIGFuIGltcGxpY2l0IGtleVwiKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHN0YXRlLnRhZyA9IF90YWc7XG4gICAgICAgIHN0YXRlLmFuY2hvciA9IF9hbmNob3I7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoc3RhdGUubGluZSA9PT0gX2xpbmUgfHwgc3RhdGUubGluZUluZGVudCA+IG5vZGVJbmRlbnQpIHtcbiAgICAgIGlmIChhdEV4cGxpY2l0S2V5KSB7XG4gICAgICAgIF9rZXlMaW5lID0gc3RhdGUubGluZTtcbiAgICAgICAgX2tleUxpbmVTdGFydCA9IHN0YXRlLmxpbmVTdGFydDtcbiAgICAgICAgX2tleVBvcyA9IHN0YXRlLnBvc2l0aW9uO1xuICAgICAgfVxuICAgICAgaWYgKGNvbXBvc2VOb2RlKHN0YXRlLCBub2RlSW5kZW50LCBDT05URVhUX0JMT0NLX09VVCwgdHJ1ZSwgYWxsb3dDb21wYWN0KSkge1xuICAgICAgICBpZiAoYXRFeHBsaWNpdEtleSkge1xuICAgICAgICAgIGtleU5vZGUgPSBzdGF0ZS5yZXN1bHQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFsdWVOb2RlID0gc3RhdGUucmVzdWx0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoIWF0RXhwbGljaXRLZXkpIHtcbiAgICAgICAgc3RvcmVNYXBwaW5nUGFpcihzdGF0ZSwgX3Jlc3VsdCwgb3ZlcnJpZGFibGVLZXlzLCBrZXlUYWcsIGtleU5vZGUsIHZhbHVlTm9kZSwgX2tleUxpbmUsIF9rZXlMaW5lU3RhcnQsIF9rZXlQb3MpO1xuICAgICAgICBrZXlUYWcgPSBrZXlOb2RlID0gdmFsdWVOb2RlID0gbnVsbDtcbiAgICAgIH1cbiAgICAgIHNraXBTZXBhcmF0aW9uU3BhY2Uoc3RhdGUsIHRydWUsIC0xKTtcbiAgICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbik7XG4gICAgfVxuICAgIGlmICgoc3RhdGUubGluZSA9PT0gX2xpbmUgfHwgc3RhdGUubGluZUluZGVudCA+IG5vZGVJbmRlbnQpICYmIGNoICE9PSAwKSB7XG4gICAgICB0aHJvd0Vycm9yKHN0YXRlLCBcImJhZCBpbmRlbnRhdGlvbiBvZiBhIG1hcHBpbmcgZW50cnlcIik7XG4gICAgfSBlbHNlIGlmIChzdGF0ZS5saW5lSW5kZW50IDwgbm9kZUluZGVudCkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIGlmIChhdEV4cGxpY2l0S2V5KSB7XG4gICAgc3RvcmVNYXBwaW5nUGFpcihzdGF0ZSwgX3Jlc3VsdCwgb3ZlcnJpZGFibGVLZXlzLCBrZXlUYWcsIGtleU5vZGUsIG51bGwsIF9rZXlMaW5lLCBfa2V5TGluZVN0YXJ0LCBfa2V5UG9zKTtcbiAgfVxuICBpZiAoZGV0ZWN0ZWQpIHtcbiAgICBzdGF0ZS50YWcgPSBfdGFnO1xuICAgIHN0YXRlLmFuY2hvciA9IF9hbmNob3I7XG4gICAgc3RhdGUua2luZCA9IFwibWFwcGluZ1wiO1xuICAgIHN0YXRlLnJlc3VsdCA9IF9yZXN1bHQ7XG4gIH1cbiAgcmV0dXJuIGRldGVjdGVkO1xufVxuZnVuY3Rpb24gcmVhZFRhZ1Byb3BlcnR5KHN0YXRlKSB7XG4gIHZhciBfcG9zaXRpb24sIGlzVmVyYmF0aW0gPSBmYWxzZSwgaXNOYW1lZCA9IGZhbHNlLCB0YWdIYW5kbGUsIHRhZ05hbWUsIGNoO1xuICBjaCA9IHN0YXRlLmlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zaXRpb24pO1xuICBpZiAoY2ggIT09IDMzKSByZXR1cm4gZmFsc2U7XG4gIGlmIChzdGF0ZS50YWcgIT09IG51bGwpIHtcbiAgICB0aHJvd0Vycm9yKHN0YXRlLCBcImR1cGxpY2F0aW9uIG9mIGEgdGFnIHByb3BlcnR5XCIpO1xuICB9XG4gIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgaWYgKGNoID09PSA2MCkge1xuICAgIGlzVmVyYmF0aW0gPSB0cnVlO1xuICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgfSBlbHNlIGlmIChjaCA9PT0gMzMpIHtcbiAgICBpc05hbWVkID0gdHJ1ZTtcbiAgICB0YWdIYW5kbGUgPSBcIiEhXCI7XG4gICAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KCsrc3RhdGUucG9zaXRpb24pO1xuICB9IGVsc2Uge1xuICAgIHRhZ0hhbmRsZSA9IFwiIVwiO1xuICB9XG4gIF9wb3NpdGlvbiA9IHN0YXRlLnBvc2l0aW9uO1xuICBpZiAoaXNWZXJiYXRpbSkge1xuICAgIGRvIHtcbiAgICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgICB9IHdoaWxlIChjaCAhPT0gMCAmJiBjaCAhPT0gNjIpO1xuICAgIGlmIChzdGF0ZS5wb3NpdGlvbiA8IHN0YXRlLmxlbmd0aCkge1xuICAgICAgdGFnTmFtZSA9IHN0YXRlLmlucHV0LnNsaWNlKF9wb3NpdGlvbiwgc3RhdGUucG9zaXRpb24pO1xuICAgICAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KCsrc3RhdGUucG9zaXRpb24pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvd0Vycm9yKHN0YXRlLCBcInVuZXhwZWN0ZWQgZW5kIG9mIHRoZSBzdHJlYW0gd2l0aGluIGEgdmVyYmF0aW0gdGFnXCIpO1xuICAgIH1cbiAgfSBlbHNlIHtcbiAgICB3aGlsZSAoY2ggIT09IDAgJiYgIWlzX1dTX09SX0VPTChjaCkpIHtcbiAgICAgIGlmIChjaCA9PT0gMzMpIHtcbiAgICAgICAgaWYgKCFpc05hbWVkKSB7XG4gICAgICAgICAgdGFnSGFuZGxlID0gc3RhdGUuaW5wdXQuc2xpY2UoX3Bvc2l0aW9uIC0gMSwgc3RhdGUucG9zaXRpb24gKyAxKTtcbiAgICAgICAgICBpZiAoIVBBVFRFUk5fVEFHX0hBTkRMRS50ZXN0KHRhZ0hhbmRsZSkpIHtcbiAgICAgICAgICAgIHRocm93RXJyb3Ioc3RhdGUsIFwibmFtZWQgdGFnIGhhbmRsZSBjYW5ub3QgY29udGFpbiBzdWNoIGNoYXJhY3RlcnNcIik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlzTmFtZWQgPSB0cnVlO1xuICAgICAgICAgIF9wb3NpdGlvbiA9IHN0YXRlLnBvc2l0aW9uICsgMTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aHJvd0Vycm9yKHN0YXRlLCBcInRhZyBzdWZmaXggY2Fubm90IGNvbnRhaW4gZXhjbGFtYXRpb24gbWFya3NcIik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgICB9XG4gICAgdGFnTmFtZSA9IHN0YXRlLmlucHV0LnNsaWNlKF9wb3NpdGlvbiwgc3RhdGUucG9zaXRpb24pO1xuICAgIGlmIChQQVRURVJOX0ZMT1dfSU5ESUNBVE9SUy50ZXN0KHRhZ05hbWUpKSB7XG4gICAgICB0aHJvd0Vycm9yKHN0YXRlLCBcInRhZyBzdWZmaXggY2Fubm90IGNvbnRhaW4gZmxvdyBpbmRpY2F0b3IgY2hhcmFjdGVyc1wiKTtcbiAgICB9XG4gIH1cbiAgaWYgKHRhZ05hbWUgJiYgIVBBVFRFUk5fVEFHX1VSSS50ZXN0KHRhZ05hbWUpKSB7XG4gICAgdGhyb3dFcnJvcihzdGF0ZSwgXCJ0YWcgbmFtZSBjYW5ub3QgY29udGFpbiBzdWNoIGNoYXJhY3RlcnM6IFwiICsgdGFnTmFtZSk7XG4gIH1cbiAgdHJ5IHtcbiAgICB0YWdOYW1lID0gZGVjb2RlVVJJQ29tcG9uZW50KHRhZ05hbWUpO1xuICB9IGNhdGNoIChlcnIpIHtcbiAgICB0aHJvd0Vycm9yKHN0YXRlLCBcInRhZyBuYW1lIGlzIG1hbGZvcm1lZDogXCIgKyB0YWdOYW1lKTtcbiAgfVxuICBpZiAoaXNWZXJiYXRpbSkge1xuICAgIHN0YXRlLnRhZyA9IHRhZ05hbWU7XG4gIH0gZWxzZSBpZiAoX2hhc093blByb3BlcnR5JDEuY2FsbChzdGF0ZS50YWdNYXAsIHRhZ0hhbmRsZSkpIHtcbiAgICBzdGF0ZS50YWcgPSBzdGF0ZS50YWdNYXBbdGFnSGFuZGxlXSArIHRhZ05hbWU7XG4gIH0gZWxzZSBpZiAodGFnSGFuZGxlID09PSBcIiFcIikge1xuICAgIHN0YXRlLnRhZyA9IFwiIVwiICsgdGFnTmFtZTtcbiAgfSBlbHNlIGlmICh0YWdIYW5kbGUgPT09IFwiISFcIikge1xuICAgIHN0YXRlLnRhZyA9IFwidGFnOnlhbWwub3JnLDIwMDI6XCIgKyB0YWdOYW1lO1xuICB9IGVsc2Uge1xuICAgIHRocm93RXJyb3Ioc3RhdGUsICd1bmRlY2xhcmVkIHRhZyBoYW5kbGUgXCInICsgdGFnSGFuZGxlICsgJ1wiJyk7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5mdW5jdGlvbiByZWFkQW5jaG9yUHJvcGVydHkoc3RhdGUpIHtcbiAgdmFyIF9wb3NpdGlvbiwgY2g7XG4gIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbik7XG4gIGlmIChjaCAhPT0gMzgpIHJldHVybiBmYWxzZTtcbiAgaWYgKHN0YXRlLmFuY2hvciAhPT0gbnVsbCkge1xuICAgIHRocm93RXJyb3Ioc3RhdGUsIFwiZHVwbGljYXRpb24gb2YgYW4gYW5jaG9yIHByb3BlcnR5XCIpO1xuICB9XG4gIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgX3Bvc2l0aW9uID0gc3RhdGUucG9zaXRpb247XG4gIHdoaWxlIChjaCAhPT0gMCAmJiAhaXNfV1NfT1JfRU9MKGNoKSAmJiAhaXNfRkxPV19JTkRJQ0FUT1IoY2gpKSB7XG4gICAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KCsrc3RhdGUucG9zaXRpb24pO1xuICB9XG4gIGlmIChzdGF0ZS5wb3NpdGlvbiA9PT0gX3Bvc2l0aW9uKSB7XG4gICAgdGhyb3dFcnJvcihzdGF0ZSwgXCJuYW1lIG9mIGFuIGFuY2hvciBub2RlIG11c3QgY29udGFpbiBhdCBsZWFzdCBvbmUgY2hhcmFjdGVyXCIpO1xuICB9XG4gIHN0YXRlLmFuY2hvciA9IHN0YXRlLmlucHV0LnNsaWNlKF9wb3NpdGlvbiwgc3RhdGUucG9zaXRpb24pO1xuICByZXR1cm4gdHJ1ZTtcbn1cbmZ1bmN0aW9uIHJlYWRBbGlhcyhzdGF0ZSkge1xuICB2YXIgX3Bvc2l0aW9uLCBhbGlhcywgY2g7XG4gIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbik7XG4gIGlmIChjaCAhPT0gNDIpIHJldHVybiBmYWxzZTtcbiAgY2ggPSBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KCsrc3RhdGUucG9zaXRpb24pO1xuICBfcG9zaXRpb24gPSBzdGF0ZS5wb3NpdGlvbjtcbiAgd2hpbGUgKGNoICE9PSAwICYmICFpc19XU19PUl9FT0woY2gpICYmICFpc19GTE9XX0lORElDQVRPUihjaCkpIHtcbiAgICBjaCA9IHN0YXRlLmlucHV0LmNoYXJDb2RlQXQoKytzdGF0ZS5wb3NpdGlvbik7XG4gIH1cbiAgaWYgKHN0YXRlLnBvc2l0aW9uID09PSBfcG9zaXRpb24pIHtcbiAgICB0aHJvd0Vycm9yKHN0YXRlLCBcIm5hbWUgb2YgYW4gYWxpYXMgbm9kZSBtdXN0IGNvbnRhaW4gYXQgbGVhc3Qgb25lIGNoYXJhY3RlclwiKTtcbiAgfVxuICBhbGlhcyA9IHN0YXRlLmlucHV0LnNsaWNlKF9wb3NpdGlvbiwgc3RhdGUucG9zaXRpb24pO1xuICBpZiAoIV9oYXNPd25Qcm9wZXJ0eSQxLmNhbGwoc3RhdGUuYW5jaG9yTWFwLCBhbGlhcykpIHtcbiAgICB0aHJvd0Vycm9yKHN0YXRlLCAndW5pZGVudGlmaWVkIGFsaWFzIFwiJyArIGFsaWFzICsgJ1wiJyk7XG4gIH1cbiAgc3RhdGUucmVzdWx0ID0gc3RhdGUuYW5jaG9yTWFwW2FsaWFzXTtcbiAgc2tpcFNlcGFyYXRpb25TcGFjZShzdGF0ZSwgdHJ1ZSwgLTEpO1xuICByZXR1cm4gdHJ1ZTtcbn1cbmZ1bmN0aW9uIGNvbXBvc2VOb2RlKHN0YXRlLCBwYXJlbnRJbmRlbnQsIG5vZGVDb250ZXh0LCBhbGxvd1RvU2VlaywgYWxsb3dDb21wYWN0KSB7XG4gIHZhciBhbGxvd0Jsb2NrU3R5bGVzLCBhbGxvd0Jsb2NrU2NhbGFycywgYWxsb3dCbG9ja0NvbGxlY3Rpb25zLCBpbmRlbnRTdGF0dXMgPSAxLCBhdE5ld0xpbmUgPSBmYWxzZSwgaGFzQ29udGVudCA9IGZhbHNlLCB0eXBlSW5kZXgsIHR5cGVRdWFudGl0eSwgdHlwZUxpc3QsIHR5cGUyLCBmbG93SW5kZW50LCBibG9ja0luZGVudDtcbiAgaWYgKHN0YXRlLmxpc3RlbmVyICE9PSBudWxsKSB7XG4gICAgc3RhdGUubGlzdGVuZXIoXCJvcGVuXCIsIHN0YXRlKTtcbiAgfVxuICBzdGF0ZS50YWcgPSBudWxsO1xuICBzdGF0ZS5hbmNob3IgPSBudWxsO1xuICBzdGF0ZS5raW5kID0gbnVsbDtcbiAgc3RhdGUucmVzdWx0ID0gbnVsbDtcbiAgYWxsb3dCbG9ja1N0eWxlcyA9IGFsbG93QmxvY2tTY2FsYXJzID0gYWxsb3dCbG9ja0NvbGxlY3Rpb25zID0gQ09OVEVYVF9CTE9DS19PVVQgPT09IG5vZGVDb250ZXh0IHx8IENPTlRFWFRfQkxPQ0tfSU4gPT09IG5vZGVDb250ZXh0O1xuICBpZiAoYWxsb3dUb1NlZWspIHtcbiAgICBpZiAoc2tpcFNlcGFyYXRpb25TcGFjZShzdGF0ZSwgdHJ1ZSwgLTEpKSB7XG4gICAgICBhdE5ld0xpbmUgPSB0cnVlO1xuICAgICAgaWYgKHN0YXRlLmxpbmVJbmRlbnQgPiBwYXJlbnRJbmRlbnQpIHtcbiAgICAgICAgaW5kZW50U3RhdHVzID0gMTtcbiAgICAgIH0gZWxzZSBpZiAoc3RhdGUubGluZUluZGVudCA9PT0gcGFyZW50SW5kZW50KSB7XG4gICAgICAgIGluZGVudFN0YXR1cyA9IDA7XG4gICAgICB9IGVsc2UgaWYgKHN0YXRlLmxpbmVJbmRlbnQgPCBwYXJlbnRJbmRlbnQpIHtcbiAgICAgICAgaW5kZW50U3RhdHVzID0gLTE7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmIChpbmRlbnRTdGF0dXMgPT09IDEpIHtcbiAgICB3aGlsZSAocmVhZFRhZ1Byb3BlcnR5KHN0YXRlKSB8fCByZWFkQW5jaG9yUHJvcGVydHkoc3RhdGUpKSB7XG4gICAgICBpZiAoc2tpcFNlcGFyYXRpb25TcGFjZShzdGF0ZSwgdHJ1ZSwgLTEpKSB7XG4gICAgICAgIGF0TmV3TGluZSA9IHRydWU7XG4gICAgICAgIGFsbG93QmxvY2tDb2xsZWN0aW9ucyA9IGFsbG93QmxvY2tTdHlsZXM7XG4gICAgICAgIGlmIChzdGF0ZS5saW5lSW5kZW50ID4gcGFyZW50SW5kZW50KSB7XG4gICAgICAgICAgaW5kZW50U3RhdHVzID0gMTtcbiAgICAgICAgfSBlbHNlIGlmIChzdGF0ZS5saW5lSW5kZW50ID09PSBwYXJlbnRJbmRlbnQpIHtcbiAgICAgICAgICBpbmRlbnRTdGF0dXMgPSAwO1xuICAgICAgICB9IGVsc2UgaWYgKHN0YXRlLmxpbmVJbmRlbnQgPCBwYXJlbnRJbmRlbnQpIHtcbiAgICAgICAgICBpbmRlbnRTdGF0dXMgPSAtMTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWxsb3dCbG9ja0NvbGxlY3Rpb25zID0gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmIChhbGxvd0Jsb2NrQ29sbGVjdGlvbnMpIHtcbiAgICBhbGxvd0Jsb2NrQ29sbGVjdGlvbnMgPSBhdE5ld0xpbmUgfHwgYWxsb3dDb21wYWN0O1xuICB9XG4gIGlmIChpbmRlbnRTdGF0dXMgPT09IDEgfHwgQ09OVEVYVF9CTE9DS19PVVQgPT09IG5vZGVDb250ZXh0KSB7XG4gICAgaWYgKENPTlRFWFRfRkxPV19JTiA9PT0gbm9kZUNvbnRleHQgfHwgQ09OVEVYVF9GTE9XX09VVCA9PT0gbm9kZUNvbnRleHQpIHtcbiAgICAgIGZsb3dJbmRlbnQgPSBwYXJlbnRJbmRlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZsb3dJbmRlbnQgPSBwYXJlbnRJbmRlbnQgKyAxO1xuICAgIH1cbiAgICBibG9ja0luZGVudCA9IHN0YXRlLnBvc2l0aW9uIC0gc3RhdGUubGluZVN0YXJ0O1xuICAgIGlmIChpbmRlbnRTdGF0dXMgPT09IDEpIHtcbiAgICAgIGlmIChhbGxvd0Jsb2NrQ29sbGVjdGlvbnMgJiYgKHJlYWRCbG9ja1NlcXVlbmNlKHN0YXRlLCBibG9ja0luZGVudCkgfHwgcmVhZEJsb2NrTWFwcGluZyhzdGF0ZSwgYmxvY2tJbmRlbnQsIGZsb3dJbmRlbnQpKSB8fCByZWFkRmxvd0NvbGxlY3Rpb24oc3RhdGUsIGZsb3dJbmRlbnQpKSB7XG4gICAgICAgIGhhc0NvbnRlbnQgPSB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKGFsbG93QmxvY2tTY2FsYXJzICYmIHJlYWRCbG9ja1NjYWxhcihzdGF0ZSwgZmxvd0luZGVudCkgfHwgcmVhZFNpbmdsZVF1b3RlZFNjYWxhcihzdGF0ZSwgZmxvd0luZGVudCkgfHwgcmVhZERvdWJsZVF1b3RlZFNjYWxhcihzdGF0ZSwgZmxvd0luZGVudCkpIHtcbiAgICAgICAgICBoYXNDb250ZW50ID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmIChyZWFkQWxpYXMoc3RhdGUpKSB7XG4gICAgICAgICAgaGFzQ29udGVudCA9IHRydWU7XG4gICAgICAgICAgaWYgKHN0YXRlLnRhZyAhPT0gbnVsbCB8fCBzdGF0ZS5hbmNob3IgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRocm93RXJyb3Ioc3RhdGUsIFwiYWxpYXMgbm9kZSBzaG91bGQgbm90IGhhdmUgYW55IHByb3BlcnRpZXNcIik7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHJlYWRQbGFpblNjYWxhcihzdGF0ZSwgZmxvd0luZGVudCwgQ09OVEVYVF9GTE9XX0lOID09PSBub2RlQ29udGV4dCkpIHtcbiAgICAgICAgICBoYXNDb250ZW50ID0gdHJ1ZTtcbiAgICAgICAgICBpZiAoc3RhdGUudGFnID09PSBudWxsKSB7XG4gICAgICAgICAgICBzdGF0ZS50YWcgPSBcIj9cIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXRlLmFuY2hvciAhPT0gbnVsbCkge1xuICAgICAgICAgIHN0YXRlLmFuY2hvck1hcFtzdGF0ZS5hbmNob3JdID0gc3RhdGUucmVzdWx0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpbmRlbnRTdGF0dXMgPT09IDApIHtcbiAgICAgIGhhc0NvbnRlbnQgPSBhbGxvd0Jsb2NrQ29sbGVjdGlvbnMgJiYgcmVhZEJsb2NrU2VxdWVuY2Uoc3RhdGUsIGJsb2NrSW5kZW50KTtcbiAgICB9XG4gIH1cbiAgaWYgKHN0YXRlLnRhZyA9PT0gbnVsbCkge1xuICAgIGlmIChzdGF0ZS5hbmNob3IgIT09IG51bGwpIHtcbiAgICAgIHN0YXRlLmFuY2hvck1hcFtzdGF0ZS5hbmNob3JdID0gc3RhdGUucmVzdWx0O1xuICAgIH1cbiAgfSBlbHNlIGlmIChzdGF0ZS50YWcgPT09IFwiP1wiKSB7XG4gICAgaWYgKHN0YXRlLnJlc3VsdCAhPT0gbnVsbCAmJiBzdGF0ZS5raW5kICE9PSBcInNjYWxhclwiKSB7XG4gICAgICB0aHJvd0Vycm9yKHN0YXRlLCAndW5hY2NlcHRhYmxlIG5vZGUga2luZCBmb3IgITw/PiB0YWc7IGl0IHNob3VsZCBiZSBcInNjYWxhclwiLCBub3QgXCInICsgc3RhdGUua2luZCArICdcIicpO1xuICAgIH1cbiAgICBmb3IgKHR5cGVJbmRleCA9IDAsIHR5cGVRdWFudGl0eSA9IHN0YXRlLmltcGxpY2l0VHlwZXMubGVuZ3RoOyB0eXBlSW5kZXggPCB0eXBlUXVhbnRpdHk7IHR5cGVJbmRleCArPSAxKSB7XG4gICAgICB0eXBlMiA9IHN0YXRlLmltcGxpY2l0VHlwZXNbdHlwZUluZGV4XTtcbiAgICAgIGlmICh0eXBlMi5yZXNvbHZlKHN0YXRlLnJlc3VsdCkpIHtcbiAgICAgICAgc3RhdGUucmVzdWx0ID0gdHlwZTIuY29uc3RydWN0KHN0YXRlLnJlc3VsdCk7XG4gICAgICAgIHN0YXRlLnRhZyA9IHR5cGUyLnRhZztcbiAgICAgICAgaWYgKHN0YXRlLmFuY2hvciAhPT0gbnVsbCkge1xuICAgICAgICAgIHN0YXRlLmFuY2hvck1hcFtzdGF0ZS5hbmNob3JdID0gc3RhdGUucmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cbiAgfSBlbHNlIGlmIChzdGF0ZS50YWcgIT09IFwiIVwiKSB7XG4gICAgaWYgKF9oYXNPd25Qcm9wZXJ0eSQxLmNhbGwoc3RhdGUudHlwZU1hcFtzdGF0ZS5raW5kIHx8IFwiZmFsbGJhY2tcIl0sIHN0YXRlLnRhZykpIHtcbiAgICAgIHR5cGUyID0gc3RhdGUudHlwZU1hcFtzdGF0ZS5raW5kIHx8IFwiZmFsbGJhY2tcIl1bc3RhdGUudGFnXTtcbiAgICB9IGVsc2Uge1xuICAgICAgdHlwZTIgPSBudWxsO1xuICAgICAgdHlwZUxpc3QgPSBzdGF0ZS50eXBlTWFwLm11bHRpW3N0YXRlLmtpbmQgfHwgXCJmYWxsYmFja1wiXTtcbiAgICAgIGZvciAodHlwZUluZGV4ID0gMCwgdHlwZVF1YW50aXR5ID0gdHlwZUxpc3QubGVuZ3RoOyB0eXBlSW5kZXggPCB0eXBlUXVhbnRpdHk7IHR5cGVJbmRleCArPSAxKSB7XG4gICAgICAgIGlmIChzdGF0ZS50YWcuc2xpY2UoMCwgdHlwZUxpc3RbdHlwZUluZGV4XS50YWcubGVuZ3RoKSA9PT0gdHlwZUxpc3RbdHlwZUluZGV4XS50YWcpIHtcbiAgICAgICAgICB0eXBlMiA9IHR5cGVMaXN0W3R5cGVJbmRleF07XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCF0eXBlMikge1xuICAgICAgdGhyb3dFcnJvcihzdGF0ZSwgXCJ1bmtub3duIHRhZyAhPFwiICsgc3RhdGUudGFnICsgXCI+XCIpO1xuICAgIH1cbiAgICBpZiAoc3RhdGUucmVzdWx0ICE9PSBudWxsICYmIHR5cGUyLmtpbmQgIT09IHN0YXRlLmtpbmQpIHtcbiAgICAgIHRocm93RXJyb3Ioc3RhdGUsIFwidW5hY2NlcHRhYmxlIG5vZGUga2luZCBmb3IgITxcIiArIHN0YXRlLnRhZyArICc+IHRhZzsgaXQgc2hvdWxkIGJlIFwiJyArIHR5cGUyLmtpbmQgKyAnXCIsIG5vdCBcIicgKyBzdGF0ZS5raW5kICsgJ1wiJyk7XG4gICAgfVxuICAgIGlmICghdHlwZTIucmVzb2x2ZShzdGF0ZS5yZXN1bHQsIHN0YXRlLnRhZykpIHtcbiAgICAgIHRocm93RXJyb3Ioc3RhdGUsIFwiY2Fubm90IHJlc29sdmUgYSBub2RlIHdpdGggITxcIiArIHN0YXRlLnRhZyArIFwiPiBleHBsaWNpdCB0YWdcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHN0YXRlLnJlc3VsdCA9IHR5cGUyLmNvbnN0cnVjdChzdGF0ZS5yZXN1bHQsIHN0YXRlLnRhZyk7XG4gICAgICBpZiAoc3RhdGUuYW5jaG9yICE9PSBudWxsKSB7XG4gICAgICAgIHN0YXRlLmFuY2hvck1hcFtzdGF0ZS5hbmNob3JdID0gc3RhdGUucmVzdWx0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAoc3RhdGUubGlzdGVuZXIgIT09IG51bGwpIHtcbiAgICBzdGF0ZS5saXN0ZW5lcihcImNsb3NlXCIsIHN0YXRlKTtcbiAgfVxuICByZXR1cm4gc3RhdGUudGFnICE9PSBudWxsIHx8IHN0YXRlLmFuY2hvciAhPT0gbnVsbCB8fCBoYXNDb250ZW50O1xufVxuZnVuY3Rpb24gcmVhZERvY3VtZW50KHN0YXRlKSB7XG4gIHZhciBkb2N1bWVudFN0YXJ0ID0gc3RhdGUucG9zaXRpb24sIF9wb3NpdGlvbiwgZGlyZWN0aXZlTmFtZSwgZGlyZWN0aXZlQXJncywgaGFzRGlyZWN0aXZlcyA9IGZhbHNlLCBjaDtcbiAgc3RhdGUudmVyc2lvbiA9IG51bGw7XG4gIHN0YXRlLmNoZWNrTGluZUJyZWFrcyA9IHN0YXRlLmxlZ2FjeTtcbiAgc3RhdGUudGFnTWFwID0gLyogQF9fUFVSRV9fICovIE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIHN0YXRlLmFuY2hvck1hcCA9IC8qIEBfX1BVUkVfXyAqLyBPYmplY3QuY3JlYXRlKG51bGwpO1xuICB3aGlsZSAoKGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbikpICE9PSAwKSB7XG4gICAgc2tpcFNlcGFyYXRpb25TcGFjZShzdGF0ZSwgdHJ1ZSwgLTEpO1xuICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbik7XG4gICAgaWYgKHN0YXRlLmxpbmVJbmRlbnQgPiAwIHx8IGNoICE9PSAzNykge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGhhc0RpcmVjdGl2ZXMgPSB0cnVlO1xuICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgICBfcG9zaXRpb24gPSBzdGF0ZS5wb3NpdGlvbjtcbiAgICB3aGlsZSAoY2ggIT09IDAgJiYgIWlzX1dTX09SX0VPTChjaCkpIHtcbiAgICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgICB9XG4gICAgZGlyZWN0aXZlTmFtZSA9IHN0YXRlLmlucHV0LnNsaWNlKF9wb3NpdGlvbiwgc3RhdGUucG9zaXRpb24pO1xuICAgIGRpcmVjdGl2ZUFyZ3MgPSBbXTtcbiAgICBpZiAoZGlyZWN0aXZlTmFtZS5sZW5ndGggPCAxKSB7XG4gICAgICB0aHJvd0Vycm9yKHN0YXRlLCBcImRpcmVjdGl2ZSBuYW1lIG11c3Qgbm90IGJlIGxlc3MgdGhhbiBvbmUgY2hhcmFjdGVyIGluIGxlbmd0aFwiKTtcbiAgICB9XG4gICAgd2hpbGUgKGNoICE9PSAwKSB7XG4gICAgICB3aGlsZSAoaXNfV0hJVEVfU1BBQ0UoY2gpKSB7XG4gICAgICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgICAgIH1cbiAgICAgIGlmIChjaCA9PT0gMzUpIHtcbiAgICAgICAgZG8ge1xuICAgICAgICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgICAgICAgfSB3aGlsZSAoY2ggIT09IDAgJiYgIWlzX0VPTChjaCkpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGlmIChpc19FT0woY2gpKSBicmVhaztcbiAgICAgIF9wb3NpdGlvbiA9IHN0YXRlLnBvc2l0aW9uO1xuICAgICAgd2hpbGUgKGNoICE9PSAwICYmICFpc19XU19PUl9FT0woY2gpKSB7XG4gICAgICAgIGNoID0gc3RhdGUuaW5wdXQuY2hhckNvZGVBdCgrK3N0YXRlLnBvc2l0aW9uKTtcbiAgICAgIH1cbiAgICAgIGRpcmVjdGl2ZUFyZ3MucHVzaChzdGF0ZS5pbnB1dC5zbGljZShfcG9zaXRpb24sIHN0YXRlLnBvc2l0aW9uKSk7XG4gICAgfVxuICAgIGlmIChjaCAhPT0gMCkgcmVhZExpbmVCcmVhayhzdGF0ZSk7XG4gICAgaWYgKF9oYXNPd25Qcm9wZXJ0eSQxLmNhbGwoZGlyZWN0aXZlSGFuZGxlcnMsIGRpcmVjdGl2ZU5hbWUpKSB7XG4gICAgICBkaXJlY3RpdmVIYW5kbGVyc1tkaXJlY3RpdmVOYW1lXShzdGF0ZSwgZGlyZWN0aXZlTmFtZSwgZGlyZWN0aXZlQXJncyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93V2FybmluZyhzdGF0ZSwgJ3Vua25vd24gZG9jdW1lbnQgZGlyZWN0aXZlIFwiJyArIGRpcmVjdGl2ZU5hbWUgKyAnXCInKTtcbiAgICB9XG4gIH1cbiAgc2tpcFNlcGFyYXRpb25TcGFjZShzdGF0ZSwgdHJ1ZSwgLTEpO1xuICBpZiAoc3RhdGUubGluZUluZGVudCA9PT0gMCAmJiBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvc2l0aW9uKSA9PT0gNDUgJiYgc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbiArIDEpID09PSA0NSAmJiBzdGF0ZS5pbnB1dC5jaGFyQ29kZUF0KHN0YXRlLnBvc2l0aW9uICsgMikgPT09IDQ1KSB7XG4gICAgc3RhdGUucG9zaXRpb24gKz0gMztcbiAgICBza2lwU2VwYXJhdGlvblNwYWNlKHN0YXRlLCB0cnVlLCAtMSk7XG4gIH0gZWxzZSBpZiAoaGFzRGlyZWN0aXZlcykge1xuICAgIHRocm93RXJyb3Ioc3RhdGUsIFwiZGlyZWN0aXZlcyBlbmQgbWFyayBpcyBleHBlY3RlZFwiKTtcbiAgfVxuICBjb21wb3NlTm9kZShzdGF0ZSwgc3RhdGUubGluZUluZGVudCAtIDEsIENPTlRFWFRfQkxPQ0tfT1VULCBmYWxzZSwgdHJ1ZSk7XG4gIHNraXBTZXBhcmF0aW9uU3BhY2Uoc3RhdGUsIHRydWUsIC0xKTtcbiAgaWYgKHN0YXRlLmNoZWNrTGluZUJyZWFrcyAmJiBQQVRURVJOX05PTl9BU0NJSV9MSU5FX0JSRUFLUy50ZXN0KHN0YXRlLmlucHV0LnNsaWNlKGRvY3VtZW50U3RhcnQsIHN0YXRlLnBvc2l0aW9uKSkpIHtcbiAgICB0aHJvd1dhcm5pbmcoc3RhdGUsIFwibm9uLUFTQ0lJIGxpbmUgYnJlYWtzIGFyZSBpbnRlcnByZXRlZCBhcyBjb250ZW50XCIpO1xuICB9XG4gIHN0YXRlLmRvY3VtZW50cy5wdXNoKHN0YXRlLnJlc3VsdCk7XG4gIGlmIChzdGF0ZS5wb3NpdGlvbiA9PT0gc3RhdGUubGluZVN0YXJ0ICYmIHRlc3REb2N1bWVudFNlcGFyYXRvcihzdGF0ZSkpIHtcbiAgICBpZiAoc3RhdGUuaW5wdXQuY2hhckNvZGVBdChzdGF0ZS5wb3NpdGlvbikgPT09IDQ2KSB7XG4gICAgICBzdGF0ZS5wb3NpdGlvbiArPSAzO1xuICAgICAgc2tpcFNlcGFyYXRpb25TcGFjZShzdGF0ZSwgdHJ1ZSwgLTEpO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKHN0YXRlLnBvc2l0aW9uIDwgc3RhdGUubGVuZ3RoIC0gMSkge1xuICAgIHRocm93RXJyb3Ioc3RhdGUsIFwiZW5kIG9mIHRoZSBzdHJlYW0gb3IgYSBkb2N1bWVudCBzZXBhcmF0b3IgaXMgZXhwZWN0ZWRcIik7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuO1xuICB9XG59XG5mdW5jdGlvbiBsb2FkRG9jdW1lbnRzKGlucHV0LCBvcHRpb25zOCkge1xuICBpbnB1dCA9IFN0cmluZyhpbnB1dCk7XG4gIG9wdGlvbnM4ID0gb3B0aW9uczggfHwge307XG4gIGlmIChpbnB1dC5sZW5ndGggIT09IDApIHtcbiAgICBpZiAoaW5wdXQuY2hhckNvZGVBdChpbnB1dC5sZW5ndGggLSAxKSAhPT0gMTAgJiYgaW5wdXQuY2hhckNvZGVBdChpbnB1dC5sZW5ndGggLSAxKSAhPT0gMTMpIHtcbiAgICAgIGlucHV0ICs9IFwiXFxuXCI7XG4gICAgfVxuICAgIGlmIChpbnB1dC5jaGFyQ29kZUF0KDApID09PSA2NTI3OSkge1xuICAgICAgaW5wdXQgPSBpbnB1dC5zbGljZSgxKTtcbiAgICB9XG4gIH1cbiAgdmFyIHN0YXRlID0gbmV3IFN0YXRlJDEoaW5wdXQsIG9wdGlvbnM4KTtcbiAgdmFyIG51bGxwb3MgPSBpbnB1dC5pbmRleE9mKFwiXFwwXCIpO1xuICBpZiAobnVsbHBvcyAhPT0gLTEpIHtcbiAgICBzdGF0ZS5wb3NpdGlvbiA9IG51bGxwb3M7XG4gICAgdGhyb3dFcnJvcihzdGF0ZSwgXCJudWxsIGJ5dGUgaXMgbm90IGFsbG93ZWQgaW4gaW5wdXRcIik7XG4gIH1cbiAgc3RhdGUuaW5wdXQgKz0gXCJcXDBcIjtcbiAgd2hpbGUgKHN0YXRlLmlucHV0LmNoYXJDb2RlQXQoc3RhdGUucG9zaXRpb24pID09PSAzMikge1xuICAgIHN0YXRlLmxpbmVJbmRlbnQgKz0gMTtcbiAgICBzdGF0ZS5wb3NpdGlvbiArPSAxO1xuICB9XG4gIHdoaWxlIChzdGF0ZS5wb3NpdGlvbiA8IHN0YXRlLmxlbmd0aCAtIDEpIHtcbiAgICByZWFkRG9jdW1lbnQoc3RhdGUpO1xuICB9XG4gIHJldHVybiBzdGF0ZS5kb2N1bWVudHM7XG59XG5mdW5jdGlvbiBsb2FkQWxsJDEoaW5wdXQsIGl0ZXJhdG9yLCBvcHRpb25zOCkge1xuICBpZiAoaXRlcmF0b3IgIT09IG51bGwgJiYgdHlwZW9mIGl0ZXJhdG9yID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiBvcHRpb25zOCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgIG9wdGlvbnM4ID0gaXRlcmF0b3I7XG4gICAgaXRlcmF0b3IgPSBudWxsO1xuICB9XG4gIHZhciBkb2N1bWVudHMgPSBsb2FkRG9jdW1lbnRzKGlucHV0LCBvcHRpb25zOCk7XG4gIGlmICh0eXBlb2YgaXRlcmF0b3IgIT09IFwiZnVuY3Rpb25cIikge1xuICAgIHJldHVybiBkb2N1bWVudHM7XG4gIH1cbiAgZm9yICh2YXIgaW5kZXggPSAwLCBsZW5ndGggPSBkb2N1bWVudHMubGVuZ3RoOyBpbmRleCA8IGxlbmd0aDsgaW5kZXggKz0gMSkge1xuICAgIGl0ZXJhdG9yKGRvY3VtZW50c1tpbmRleF0pO1xuICB9XG59XG5mdW5jdGlvbiBsb2FkJDEoaW5wdXQsIG9wdGlvbnM4KSB7XG4gIHZhciBkb2N1bWVudHMgPSBsb2FkRG9jdW1lbnRzKGlucHV0LCBvcHRpb25zOCk7XG4gIGlmIChkb2N1bWVudHMubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuIHZvaWQgMDtcbiAgfSBlbHNlIGlmIChkb2N1bWVudHMubGVuZ3RoID09PSAxKSB7XG4gICAgcmV0dXJuIGRvY3VtZW50c1swXTtcbiAgfVxuICB0aHJvdyBuZXcgZXhjZXB0aW9uKFwiZXhwZWN0ZWQgYSBzaW5nbGUgZG9jdW1lbnQgaW4gdGhlIHN0cmVhbSwgYnV0IGZvdW5kIG1vcmVcIik7XG59XG52YXIgbG9hZEFsbF8xID0gbG9hZEFsbCQxO1xudmFyIGxvYWRfMSA9IGxvYWQkMTtcbnZhciBsb2FkZXIgPSB7XG4gIGxvYWRBbGw6IGxvYWRBbGxfMSxcbiAgbG9hZDogbG9hZF8xXG59O1xudmFyIEVTQ0FQRV9TRVFVRU5DRVMgPSB7fTtcbkVTQ0FQRV9TRVFVRU5DRVNbMF0gPSBcIlxcXFwwXCI7XG5FU0NBUEVfU0VRVUVOQ0VTWzddID0gXCJcXFxcYVwiO1xuRVNDQVBFX1NFUVVFTkNFU1s4XSA9IFwiXFxcXGJcIjtcbkVTQ0FQRV9TRVFVRU5DRVNbOV0gPSBcIlxcXFx0XCI7XG5FU0NBUEVfU0VRVUVOQ0VTWzEwXSA9IFwiXFxcXG5cIjtcbkVTQ0FQRV9TRVFVRU5DRVNbMTFdID0gXCJcXFxcdlwiO1xuRVNDQVBFX1NFUVVFTkNFU1sxMl0gPSBcIlxcXFxmXCI7XG5FU0NBUEVfU0VRVUVOQ0VTWzEzXSA9IFwiXFxcXHJcIjtcbkVTQ0FQRV9TRVFVRU5DRVNbMjddID0gXCJcXFxcZVwiO1xuRVNDQVBFX1NFUVVFTkNFU1szNF0gPSAnXFxcXFwiJztcbkVTQ0FQRV9TRVFVRU5DRVNbOTJdID0gXCJcXFxcXFxcXFwiO1xuRVNDQVBFX1NFUVVFTkNFU1sxMzNdID0gXCJcXFxcTlwiO1xuRVNDQVBFX1NFUVVFTkNFU1sxNjBdID0gXCJcXFxcX1wiO1xuRVNDQVBFX1NFUVVFTkNFU1s4MjMyXSA9IFwiXFxcXExcIjtcbkVTQ0FQRV9TRVFVRU5DRVNbODIzM10gPSBcIlxcXFxQXCI7XG5mdW5jdGlvbiByZW5hbWVkKGZyb20sIHRvKSB7XG4gIHJldHVybiBmdW5jdGlvbigpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJGdW5jdGlvbiB5YW1sLlwiICsgZnJvbSArIFwiIGlzIHJlbW92ZWQgaW4ganMteWFtbCA0LiBVc2UgeWFtbC5cIiArIHRvICsgXCIgaW5zdGVhZCwgd2hpY2ggaXMgbm93IHNhZmUgYnkgZGVmYXVsdC5cIik7XG4gIH07XG59XG52YXIgbG9hZCA9IGxvYWRlci5sb2FkO1xudmFyIGxvYWRBbGwgPSBsb2FkZXIubG9hZEFsbDtcbnZhciBzYWZlTG9hZCA9IHJlbmFtZWQoXCJzYWZlTG9hZFwiLCBcImxvYWRcIik7XG52YXIgc2FmZUxvYWRBbGwgPSByZW5hbWVkKFwic2FmZUxvYWRBbGxcIiwgXCJsb2FkQWxsXCIpO1xudmFyIHNhZmVEdW1wID0gcmVuYW1lZChcInNhZmVEdW1wXCIsIFwiZHVtcFwiKTtcblxuLy8gbm9kZV9tb2R1bGVzL2pzb241L2Rpc3QvaW5kZXgubWpzXG52YXIgU3BhY2VfU2VwYXJhdG9yID0gL1tcXHUxNjgwXFx1MjAwMC1cXHUyMDBBXFx1MjAyRlxcdTIwNUZcXHUzMDAwXS87XG52YXIgSURfU3RhcnQgPSAvW1xceEFBXFx4QjVcXHhCQVxceEMwLVxceEQ2XFx4RDgtXFx4RjZcXHhGOC1cXHUwMkMxXFx1MDJDNi1cXHUwMkQxXFx1MDJFMC1cXHUwMkU0XFx1MDJFQ1xcdTAyRUVcXHUwMzcwLVxcdTAzNzRcXHUwMzc2XFx1MDM3N1xcdTAzN0EtXFx1MDM3RFxcdTAzN0ZcXHUwMzg2XFx1MDM4OC1cXHUwMzhBXFx1MDM4Q1xcdTAzOEUtXFx1MDNBMVxcdTAzQTMtXFx1MDNGNVxcdTAzRjctXFx1MDQ4MVxcdTA0OEEtXFx1MDUyRlxcdTA1MzEtXFx1MDU1NlxcdTA1NTlcXHUwNTYxLVxcdTA1ODdcXHUwNUQwLVxcdTA1RUFcXHUwNUYwLVxcdTA1RjJcXHUwNjIwLVxcdTA2NEFcXHUwNjZFXFx1MDY2RlxcdTA2NzEtXFx1MDZEM1xcdTA2RDVcXHUwNkU1XFx1MDZFNlxcdTA2RUVcXHUwNkVGXFx1MDZGQS1cXHUwNkZDXFx1MDZGRlxcdTA3MTBcXHUwNzEyLVxcdTA3MkZcXHUwNzRELVxcdTA3QTVcXHUwN0IxXFx1MDdDQS1cXHUwN0VBXFx1MDdGNFxcdTA3RjVcXHUwN0ZBXFx1MDgwMC1cXHUwODE1XFx1MDgxQVxcdTA4MjRcXHUwODI4XFx1MDg0MC1cXHUwODU4XFx1MDg2MC1cXHUwODZBXFx1MDhBMC1cXHUwOEI0XFx1MDhCNi1cXHUwOEJEXFx1MDkwNC1cXHUwOTM5XFx1MDkzRFxcdTA5NTBcXHUwOTU4LVxcdTA5NjFcXHUwOTcxLVxcdTA5ODBcXHUwOTg1LVxcdTA5OENcXHUwOThGXFx1MDk5MFxcdTA5OTMtXFx1MDlBOFxcdTA5QUEtXFx1MDlCMFxcdTA5QjJcXHUwOUI2LVxcdTA5QjlcXHUwOUJEXFx1MDlDRVxcdTA5RENcXHUwOUREXFx1MDlERi1cXHUwOUUxXFx1MDlGMFxcdTA5RjFcXHUwOUZDXFx1MEEwNS1cXHUwQTBBXFx1MEEwRlxcdTBBMTBcXHUwQTEzLVxcdTBBMjhcXHUwQTJBLVxcdTBBMzBcXHUwQTMyXFx1MEEzM1xcdTBBMzVcXHUwQTM2XFx1MEEzOFxcdTBBMzlcXHUwQTU5LVxcdTBBNUNcXHUwQTVFXFx1MEE3Mi1cXHUwQTc0XFx1MEE4NS1cXHUwQThEXFx1MEE4Ri1cXHUwQTkxXFx1MEE5My1cXHUwQUE4XFx1MEFBQS1cXHUwQUIwXFx1MEFCMlxcdTBBQjNcXHUwQUI1LVxcdTBBQjlcXHUwQUJEXFx1MEFEMFxcdTBBRTBcXHUwQUUxXFx1MEFGOVxcdTBCMDUtXFx1MEIwQ1xcdTBCMEZcXHUwQjEwXFx1MEIxMy1cXHUwQjI4XFx1MEIyQS1cXHUwQjMwXFx1MEIzMlxcdTBCMzNcXHUwQjM1LVxcdTBCMzlcXHUwQjNEXFx1MEI1Q1xcdTBCNURcXHUwQjVGLVxcdTBCNjFcXHUwQjcxXFx1MEI4M1xcdTBCODUtXFx1MEI4QVxcdTBCOEUtXFx1MEI5MFxcdTBCOTItXFx1MEI5NVxcdTBCOTlcXHUwQjlBXFx1MEI5Q1xcdTBCOUVcXHUwQjlGXFx1MEJBM1xcdTBCQTRcXHUwQkE4LVxcdTBCQUFcXHUwQkFFLVxcdTBCQjlcXHUwQkQwXFx1MEMwNS1cXHUwQzBDXFx1MEMwRS1cXHUwQzEwXFx1MEMxMi1cXHUwQzI4XFx1MEMyQS1cXHUwQzM5XFx1MEMzRFxcdTBDNTgtXFx1MEM1QVxcdTBDNjBcXHUwQzYxXFx1MEM4MFxcdTBDODUtXFx1MEM4Q1xcdTBDOEUtXFx1MEM5MFxcdTBDOTItXFx1MENBOFxcdTBDQUEtXFx1MENCM1xcdTBDQjUtXFx1MENCOVxcdTBDQkRcXHUwQ0RFXFx1MENFMFxcdTBDRTFcXHUwQ0YxXFx1MENGMlxcdTBEMDUtXFx1MEQwQ1xcdTBEMEUtXFx1MEQxMFxcdTBEMTItXFx1MEQzQVxcdTBEM0RcXHUwRDRFXFx1MEQ1NC1cXHUwRDU2XFx1MEQ1Ri1cXHUwRDYxXFx1MEQ3QS1cXHUwRDdGXFx1MEQ4NS1cXHUwRDk2XFx1MEQ5QS1cXHUwREIxXFx1MERCMy1cXHUwREJCXFx1MERCRFxcdTBEQzAtXFx1MERDNlxcdTBFMDEtXFx1MEUzMFxcdTBFMzJcXHUwRTMzXFx1MEU0MC1cXHUwRTQ2XFx1MEU4MVxcdTBFODJcXHUwRTg0XFx1MEU4N1xcdTBFODhcXHUwRThBXFx1MEU4RFxcdTBFOTQtXFx1MEU5N1xcdTBFOTktXFx1MEU5RlxcdTBFQTEtXFx1MEVBM1xcdTBFQTVcXHUwRUE3XFx1MEVBQVxcdTBFQUJcXHUwRUFELVxcdTBFQjBcXHUwRUIyXFx1MEVCM1xcdTBFQkRcXHUwRUMwLVxcdTBFQzRcXHUwRUM2XFx1MEVEQy1cXHUwRURGXFx1MEYwMFxcdTBGNDAtXFx1MEY0N1xcdTBGNDktXFx1MEY2Q1xcdTBGODgtXFx1MEY4Q1xcdTEwMDAtXFx1MTAyQVxcdTEwM0ZcXHUxMDUwLVxcdTEwNTVcXHUxMDVBLVxcdTEwNURcXHUxMDYxXFx1MTA2NVxcdTEwNjZcXHUxMDZFLVxcdTEwNzBcXHUxMDc1LVxcdTEwODFcXHUxMDhFXFx1MTBBMC1cXHUxMEM1XFx1MTBDN1xcdTEwQ0RcXHUxMEQwLVxcdTEwRkFcXHUxMEZDLVxcdTEyNDhcXHUxMjRBLVxcdTEyNERcXHUxMjUwLVxcdTEyNTZcXHUxMjU4XFx1MTI1QS1cXHUxMjVEXFx1MTI2MC1cXHUxMjg4XFx1MTI4QS1cXHUxMjhEXFx1MTI5MC1cXHUxMkIwXFx1MTJCMi1cXHUxMkI1XFx1MTJCOC1cXHUxMkJFXFx1MTJDMFxcdTEyQzItXFx1MTJDNVxcdTEyQzgtXFx1MTJENlxcdTEyRDgtXFx1MTMxMFxcdTEzMTItXFx1MTMxNVxcdTEzMTgtXFx1MTM1QVxcdTEzODAtXFx1MTM4RlxcdTEzQTAtXFx1MTNGNVxcdTEzRjgtXFx1MTNGRFxcdTE0MDEtXFx1MTY2Q1xcdTE2NkYtXFx1MTY3RlxcdTE2ODEtXFx1MTY5QVxcdTE2QTAtXFx1MTZFQVxcdTE2RUUtXFx1MTZGOFxcdTE3MDAtXFx1MTcwQ1xcdTE3MEUtXFx1MTcxMVxcdTE3MjAtXFx1MTczMVxcdTE3NDAtXFx1MTc1MVxcdTE3NjAtXFx1MTc2Q1xcdTE3NkUtXFx1MTc3MFxcdTE3ODAtXFx1MTdCM1xcdTE3RDdcXHUxN0RDXFx1MTgyMC1cXHUxODc3XFx1MTg4MC1cXHUxODg0XFx1MTg4Ny1cXHUxOEE4XFx1MThBQVxcdTE4QjAtXFx1MThGNVxcdTE5MDAtXFx1MTkxRVxcdTE5NTAtXFx1MTk2RFxcdTE5NzAtXFx1MTk3NFxcdTE5ODAtXFx1MTlBQlxcdTE5QjAtXFx1MTlDOVxcdTFBMDAtXFx1MUExNlxcdTFBMjAtXFx1MUE1NFxcdTFBQTdcXHUxQjA1LVxcdTFCMzNcXHUxQjQ1LVxcdTFCNEJcXHUxQjgzLVxcdTFCQTBcXHUxQkFFXFx1MUJBRlxcdTFCQkEtXFx1MUJFNVxcdTFDMDAtXFx1MUMyM1xcdTFDNEQtXFx1MUM0RlxcdTFDNUEtXFx1MUM3RFxcdTFDODAtXFx1MUM4OFxcdTFDRTktXFx1MUNFQ1xcdTFDRUUtXFx1MUNGMVxcdTFDRjVcXHUxQ0Y2XFx1MUQwMC1cXHUxREJGXFx1MUUwMC1cXHUxRjE1XFx1MUYxOC1cXHUxRjFEXFx1MUYyMC1cXHUxRjQ1XFx1MUY0OC1cXHUxRjREXFx1MUY1MC1cXHUxRjU3XFx1MUY1OVxcdTFGNUJcXHUxRjVEXFx1MUY1Ri1cXHUxRjdEXFx1MUY4MC1cXHUxRkI0XFx1MUZCNi1cXHUxRkJDXFx1MUZCRVxcdTFGQzItXFx1MUZDNFxcdTFGQzYtXFx1MUZDQ1xcdTFGRDAtXFx1MUZEM1xcdTFGRDYtXFx1MUZEQlxcdTFGRTAtXFx1MUZFQ1xcdTFGRjItXFx1MUZGNFxcdTFGRjYtXFx1MUZGQ1xcdTIwNzFcXHUyMDdGXFx1MjA5MC1cXHUyMDlDXFx1MjEwMlxcdTIxMDdcXHUyMTBBLVxcdTIxMTNcXHUyMTE1XFx1MjExOS1cXHUyMTFEXFx1MjEyNFxcdTIxMjZcXHUyMTI4XFx1MjEyQS1cXHUyMTJEXFx1MjEyRi1cXHUyMTM5XFx1MjEzQy1cXHUyMTNGXFx1MjE0NS1cXHUyMTQ5XFx1MjE0RVxcdTIxNjAtXFx1MjE4OFxcdTJDMDAtXFx1MkMyRVxcdTJDMzAtXFx1MkM1RVxcdTJDNjAtXFx1MkNFNFxcdTJDRUItXFx1MkNFRVxcdTJDRjJcXHUyQ0YzXFx1MkQwMC1cXHUyRDI1XFx1MkQyN1xcdTJEMkRcXHUyRDMwLVxcdTJENjdcXHUyRDZGXFx1MkQ4MC1cXHUyRDk2XFx1MkRBMC1cXHUyREE2XFx1MkRBOC1cXHUyREFFXFx1MkRCMC1cXHUyREI2XFx1MkRCOC1cXHUyREJFXFx1MkRDMC1cXHUyREM2XFx1MkRDOC1cXHUyRENFXFx1MkREMC1cXHUyREQ2XFx1MkREOC1cXHUyRERFXFx1MkUyRlxcdTMwMDUtXFx1MzAwN1xcdTMwMjEtXFx1MzAyOVxcdTMwMzEtXFx1MzAzNVxcdTMwMzgtXFx1MzAzQ1xcdTMwNDEtXFx1MzA5NlxcdTMwOUQtXFx1MzA5RlxcdTMwQTEtXFx1MzBGQVxcdTMwRkMtXFx1MzBGRlxcdTMxMDUtXFx1MzEyRVxcdTMxMzEtXFx1MzE4RVxcdTMxQTAtXFx1MzFCQVxcdTMxRjAtXFx1MzFGRlxcdTM0MDAtXFx1NERCNVxcdTRFMDAtXFx1OUZFQVxcdUEwMDAtXFx1QTQ4Q1xcdUE0RDAtXFx1QTRGRFxcdUE1MDAtXFx1QTYwQ1xcdUE2MTAtXFx1QTYxRlxcdUE2MkFcXHVBNjJCXFx1QTY0MC1cXHVBNjZFXFx1QTY3Ri1cXHVBNjlEXFx1QTZBMC1cXHVBNkVGXFx1QTcxNy1cXHVBNzFGXFx1QTcyMi1cXHVBNzg4XFx1QTc4Qi1cXHVBN0FFXFx1QTdCMC1cXHVBN0I3XFx1QTdGNy1cXHVBODAxXFx1QTgwMy1cXHVBODA1XFx1QTgwNy1cXHVBODBBXFx1QTgwQy1cXHVBODIyXFx1QTg0MC1cXHVBODczXFx1QTg4Mi1cXHVBOEIzXFx1QThGMi1cXHVBOEY3XFx1QThGQlxcdUE4RkRcXHVBOTBBLVxcdUE5MjVcXHVBOTMwLVxcdUE5NDZcXHVBOTYwLVxcdUE5N0NcXHVBOTg0LVxcdUE5QjJcXHVBOUNGXFx1QTlFMC1cXHVBOUU0XFx1QTlFNi1cXHVBOUVGXFx1QTlGQS1cXHVBOUZFXFx1QUEwMC1cXHVBQTI4XFx1QUE0MC1cXHVBQTQyXFx1QUE0NC1cXHVBQTRCXFx1QUE2MC1cXHVBQTc2XFx1QUE3QVxcdUFBN0UtXFx1QUFBRlxcdUFBQjFcXHVBQUI1XFx1QUFCNlxcdUFBQjktXFx1QUFCRFxcdUFBQzBcXHVBQUMyXFx1QUFEQi1cXHVBQUREXFx1QUFFMC1cXHVBQUVBXFx1QUFGMi1cXHVBQUY0XFx1QUIwMS1cXHVBQjA2XFx1QUIwOS1cXHVBQjBFXFx1QUIxMS1cXHVBQjE2XFx1QUIyMC1cXHVBQjI2XFx1QUIyOC1cXHVBQjJFXFx1QUIzMC1cXHVBQjVBXFx1QUI1Qy1cXHVBQjY1XFx1QUI3MC1cXHVBQkUyXFx1QUMwMC1cXHVEN0EzXFx1RDdCMC1cXHVEN0M2XFx1RDdDQi1cXHVEN0ZCXFx1RjkwMC1cXHVGQTZEXFx1RkE3MC1cXHVGQUQ5XFx1RkIwMC1cXHVGQjA2XFx1RkIxMy1cXHVGQjE3XFx1RkIxRFxcdUZCMUYtXFx1RkIyOFxcdUZCMkEtXFx1RkIzNlxcdUZCMzgtXFx1RkIzQ1xcdUZCM0VcXHVGQjQwXFx1RkI0MVxcdUZCNDNcXHVGQjQ0XFx1RkI0Ni1cXHVGQkIxXFx1RkJEMy1cXHVGRDNEXFx1RkQ1MC1cXHVGRDhGXFx1RkQ5Mi1cXHVGREM3XFx1RkRGMC1cXHVGREZCXFx1RkU3MC1cXHVGRTc0XFx1RkU3Ni1cXHVGRUZDXFx1RkYyMS1cXHVGRjNBXFx1RkY0MS1cXHVGRjVBXFx1RkY2Ni1cXHVGRkJFXFx1RkZDMi1cXHVGRkM3XFx1RkZDQS1cXHVGRkNGXFx1RkZEMi1cXHVGRkQ3XFx1RkZEQS1cXHVGRkRDXXxcXHVEODAwW1xcdURDMDAtXFx1REMwQlxcdURDMEQtXFx1REMyNlxcdURDMjgtXFx1REMzQVxcdURDM0NcXHVEQzNEXFx1REMzRi1cXHVEQzREXFx1REM1MC1cXHVEQzVEXFx1REM4MC1cXHVEQ0ZBXFx1REQ0MC1cXHVERDc0XFx1REU4MC1cXHVERTlDXFx1REVBMC1cXHVERUQwXFx1REYwMC1cXHVERjFGXFx1REYyRC1cXHVERjRBXFx1REY1MC1cXHVERjc1XFx1REY4MC1cXHVERjlEXFx1REZBMC1cXHVERkMzXFx1REZDOC1cXHVERkNGXFx1REZEMS1cXHVERkQ1XXxcXHVEODAxW1xcdURDMDAtXFx1REM5RFxcdURDQjAtXFx1RENEM1xcdURDRDgtXFx1RENGQlxcdUREMDAtXFx1REQyN1xcdUREMzAtXFx1REQ2M1xcdURFMDAtXFx1REYzNlxcdURGNDAtXFx1REY1NVxcdURGNjAtXFx1REY2N118XFx1RDgwMltcXHVEQzAwLVxcdURDMDVcXHVEQzA4XFx1REMwQS1cXHVEQzM1XFx1REMzN1xcdURDMzhcXHVEQzNDXFx1REMzRi1cXHVEQzU1XFx1REM2MC1cXHVEQzc2XFx1REM4MC1cXHVEQzlFXFx1RENFMC1cXHVEQ0YyXFx1RENGNFxcdURDRjVcXHVERDAwLVxcdUREMTVcXHVERDIwLVxcdUREMzlcXHVERDgwLVxcdUREQjdcXHVEREJFXFx1RERCRlxcdURFMDBcXHVERTEwLVxcdURFMTNcXHVERTE1LVxcdURFMTdcXHVERTE5LVxcdURFMzNcXHVERTYwLVxcdURFN0NcXHVERTgwLVxcdURFOUNcXHVERUMwLVxcdURFQzdcXHVERUM5LVxcdURFRTRcXHVERjAwLVxcdURGMzVcXHVERjQwLVxcdURGNTVcXHVERjYwLVxcdURGNzJcXHVERjgwLVxcdURGOTFdfFxcdUQ4MDNbXFx1REMwMC1cXHVEQzQ4XFx1REM4MC1cXHVEQ0IyXFx1RENDMC1cXHVEQ0YyXXxcXHVEODA0W1xcdURDMDMtXFx1REMzN1xcdURDODMtXFx1RENBRlxcdURDRDAtXFx1RENFOFxcdUREMDMtXFx1REQyNlxcdURENTAtXFx1REQ3MlxcdURENzZcXHVERDgzLVxcdUREQjJcXHVEREMxLVxcdUREQzRcXHVERERBXFx1REREQ1xcdURFMDAtXFx1REUxMVxcdURFMTMtXFx1REUyQlxcdURFODAtXFx1REU4NlxcdURFODhcXHVERThBLVxcdURFOERcXHVERThGLVxcdURFOURcXHVERTlGLVxcdURFQThcXHVERUIwLVxcdURFREVcXHVERjA1LVxcdURGMENcXHVERjBGXFx1REYxMFxcdURGMTMtXFx1REYyOFxcdURGMkEtXFx1REYzMFxcdURGMzJcXHVERjMzXFx1REYzNS1cXHVERjM5XFx1REYzRFxcdURGNTBcXHVERjVELVxcdURGNjFdfFxcdUQ4MDVbXFx1REMwMC1cXHVEQzM0XFx1REM0Ny1cXHVEQzRBXFx1REM4MC1cXHVEQ0FGXFx1RENDNFxcdURDQzVcXHVEQ0M3XFx1REQ4MC1cXHVEREFFXFx1REREOC1cXHVERERCXFx1REUwMC1cXHVERTJGXFx1REU0NFxcdURFODAtXFx1REVBQVxcdURGMDAtXFx1REYxOV18XFx1RDgwNltcXHVEQ0EwLVxcdURDREZcXHVEQ0ZGXFx1REUwMFxcdURFMEItXFx1REUzMlxcdURFM0FcXHVERTUwXFx1REU1Qy1cXHVERTgzXFx1REU4Ni1cXHVERTg5XFx1REVDMC1cXHVERUY4XXxcXHVEODA3W1xcdURDMDAtXFx1REMwOFxcdURDMEEtXFx1REMyRVxcdURDNDBcXHVEQzcyLVxcdURDOEZcXHVERDAwLVxcdUREMDZcXHVERDA4XFx1REQwOVxcdUREMEItXFx1REQzMFxcdURENDZdfFxcdUQ4MDhbXFx1REMwMC1cXHVERjk5XXxcXHVEODA5W1xcdURDMDAtXFx1REM2RVxcdURDODAtXFx1REQ0M118W1xcdUQ4MENcXHVEODFDLVxcdUQ4MjBcXHVEODQwLVxcdUQ4NjhcXHVEODZBLVxcdUQ4NkNcXHVEODZGLVxcdUQ4NzJcXHVEODc0LVxcdUQ4NzldW1xcdURDMDAtXFx1REZGRl18XFx1RDgwRFtcXHVEQzAwLVxcdURDMkVdfFxcdUQ4MTFbXFx1REMwMC1cXHVERTQ2XXxcXHVEODFBW1xcdURDMDAtXFx1REUzOFxcdURFNDAtXFx1REU1RVxcdURFRDAtXFx1REVFRFxcdURGMDAtXFx1REYyRlxcdURGNDAtXFx1REY0M1xcdURGNjMtXFx1REY3N1xcdURGN0QtXFx1REY4Rl18XFx1RDgxQltcXHVERjAwLVxcdURGNDRcXHVERjUwXFx1REY5My1cXHVERjlGXFx1REZFMFxcdURGRTFdfFxcdUQ4MjFbXFx1REMwMC1cXHVERkVDXXxcXHVEODIyW1xcdURDMDAtXFx1REVGMl18XFx1RDgyQ1tcXHVEQzAwLVxcdUREMUVcXHVERDcwLVxcdURFRkJdfFxcdUQ4MkZbXFx1REMwMC1cXHVEQzZBXFx1REM3MC1cXHVEQzdDXFx1REM4MC1cXHVEQzg4XFx1REM5MC1cXHVEQzk5XXxcXHVEODM1W1xcdURDMDAtXFx1REM1NFxcdURDNTYtXFx1REM5Q1xcdURDOUVcXHVEQzlGXFx1RENBMlxcdURDQTVcXHVEQ0E2XFx1RENBOS1cXHVEQ0FDXFx1RENBRS1cXHVEQ0I5XFx1RENCQlxcdURDQkQtXFx1RENDM1xcdURDQzUtXFx1REQwNVxcdUREMDctXFx1REQwQVxcdUREMEQtXFx1REQxNFxcdUREMTYtXFx1REQxQ1xcdUREMUUtXFx1REQzOVxcdUREM0ItXFx1REQzRVxcdURENDAtXFx1REQ0NFxcdURENDZcXHVERDRBLVxcdURENTBcXHVERDUyLVxcdURFQTVcXHVERUE4LVxcdURFQzBcXHVERUMyLVxcdURFREFcXHVERURDLVxcdURFRkFcXHVERUZDLVxcdURGMTRcXHVERjE2LVxcdURGMzRcXHVERjM2LVxcdURGNEVcXHVERjUwLVxcdURGNkVcXHVERjcwLVxcdURGODhcXHVERjhBLVxcdURGQThcXHVERkFBLVxcdURGQzJcXHVERkM0LVxcdURGQ0JdfFxcdUQ4M0FbXFx1REMwMC1cXHVEQ0M0XFx1REQwMC1cXHVERDQzXXxcXHVEODNCW1xcdURFMDAtXFx1REUwM1xcdURFMDUtXFx1REUxRlxcdURFMjFcXHVERTIyXFx1REUyNFxcdURFMjdcXHVERTI5LVxcdURFMzJcXHVERTM0LVxcdURFMzdcXHVERTM5XFx1REUzQlxcdURFNDJcXHVERTQ3XFx1REU0OVxcdURFNEJcXHVERTRELVxcdURFNEZcXHVERTUxXFx1REU1MlxcdURFNTRcXHVERTU3XFx1REU1OVxcdURFNUJcXHVERTVEXFx1REU1RlxcdURFNjFcXHVERTYyXFx1REU2NFxcdURFNjctXFx1REU2QVxcdURFNkMtXFx1REU3MlxcdURFNzQtXFx1REU3N1xcdURFNzktXFx1REU3Q1xcdURFN0VcXHVERTgwLVxcdURFODlcXHVERThCLVxcdURFOUJcXHVERUExLVxcdURFQTNcXHVERUE1LVxcdURFQTlcXHVERUFCLVxcdURFQkJdfFxcdUQ4NjlbXFx1REMwMC1cXHVERUQ2XFx1REYwMC1cXHVERkZGXXxcXHVEODZEW1xcdURDMDAtXFx1REYzNFxcdURGNDAtXFx1REZGRl18XFx1RDg2RVtcXHVEQzAwLVxcdURDMURcXHVEQzIwLVxcdURGRkZdfFxcdUQ4NzNbXFx1REMwMC1cXHVERUExXFx1REVCMC1cXHVERkZGXXxcXHVEODdBW1xcdURDMDAtXFx1REZFMF18XFx1RDg3RVtcXHVEQzAwLVxcdURFMURdLztcbnZhciBJRF9Db250aW51ZSA9IC9bXFx4QUFcXHhCNVxceEJBXFx4QzAtXFx4RDZcXHhEOC1cXHhGNlxceEY4LVxcdTAyQzFcXHUwMkM2LVxcdTAyRDFcXHUwMkUwLVxcdTAyRTRcXHUwMkVDXFx1MDJFRVxcdTAzMDAtXFx1MDM3NFxcdTAzNzZcXHUwMzc3XFx1MDM3QS1cXHUwMzdEXFx1MDM3RlxcdTAzODZcXHUwMzg4LVxcdTAzOEFcXHUwMzhDXFx1MDM4RS1cXHUwM0ExXFx1MDNBMy1cXHUwM0Y1XFx1MDNGNy1cXHUwNDgxXFx1MDQ4My1cXHUwNDg3XFx1MDQ4QS1cXHUwNTJGXFx1MDUzMS1cXHUwNTU2XFx1MDU1OVxcdTA1NjEtXFx1MDU4N1xcdTA1OTEtXFx1MDVCRFxcdTA1QkZcXHUwNUMxXFx1MDVDMlxcdTA1QzRcXHUwNUM1XFx1MDVDN1xcdTA1RDAtXFx1MDVFQVxcdTA1RjAtXFx1MDVGMlxcdTA2MTAtXFx1MDYxQVxcdTA2MjAtXFx1MDY2OVxcdTA2NkUtXFx1MDZEM1xcdTA2RDUtXFx1MDZEQ1xcdTA2REYtXFx1MDZFOFxcdTA2RUEtXFx1MDZGQ1xcdTA2RkZcXHUwNzEwLVxcdTA3NEFcXHUwNzRELVxcdTA3QjFcXHUwN0MwLVxcdTA3RjVcXHUwN0ZBXFx1MDgwMC1cXHUwODJEXFx1MDg0MC1cXHUwODVCXFx1MDg2MC1cXHUwODZBXFx1MDhBMC1cXHUwOEI0XFx1MDhCNi1cXHUwOEJEXFx1MDhENC1cXHUwOEUxXFx1MDhFMy1cXHUwOTYzXFx1MDk2Ni1cXHUwOTZGXFx1MDk3MS1cXHUwOTgzXFx1MDk4NS1cXHUwOThDXFx1MDk4RlxcdTA5OTBcXHUwOTkzLVxcdTA5QThcXHUwOUFBLVxcdTA5QjBcXHUwOUIyXFx1MDlCNi1cXHUwOUI5XFx1MDlCQy1cXHUwOUM0XFx1MDlDN1xcdTA5QzhcXHUwOUNCLVxcdTA5Q0VcXHUwOUQ3XFx1MDlEQ1xcdTA5RERcXHUwOURGLVxcdTA5RTNcXHUwOUU2LVxcdTA5RjFcXHUwOUZDXFx1MEEwMS1cXHUwQTAzXFx1MEEwNS1cXHUwQTBBXFx1MEEwRlxcdTBBMTBcXHUwQTEzLVxcdTBBMjhcXHUwQTJBLVxcdTBBMzBcXHUwQTMyXFx1MEEzM1xcdTBBMzVcXHUwQTM2XFx1MEEzOFxcdTBBMzlcXHUwQTNDXFx1MEEzRS1cXHUwQTQyXFx1MEE0N1xcdTBBNDhcXHUwQTRCLVxcdTBBNERcXHUwQTUxXFx1MEE1OS1cXHUwQTVDXFx1MEE1RVxcdTBBNjYtXFx1MEE3NVxcdTBBODEtXFx1MEE4M1xcdTBBODUtXFx1MEE4RFxcdTBBOEYtXFx1MEE5MVxcdTBBOTMtXFx1MEFBOFxcdTBBQUEtXFx1MEFCMFxcdTBBQjJcXHUwQUIzXFx1MEFCNS1cXHUwQUI5XFx1MEFCQy1cXHUwQUM1XFx1MEFDNy1cXHUwQUM5XFx1MEFDQi1cXHUwQUNEXFx1MEFEMFxcdTBBRTAtXFx1MEFFM1xcdTBBRTYtXFx1MEFFRlxcdTBBRjktXFx1MEFGRlxcdTBCMDEtXFx1MEIwM1xcdTBCMDUtXFx1MEIwQ1xcdTBCMEZcXHUwQjEwXFx1MEIxMy1cXHUwQjI4XFx1MEIyQS1cXHUwQjMwXFx1MEIzMlxcdTBCMzNcXHUwQjM1LVxcdTBCMzlcXHUwQjNDLVxcdTBCNDRcXHUwQjQ3XFx1MEI0OFxcdTBCNEItXFx1MEI0RFxcdTBCNTZcXHUwQjU3XFx1MEI1Q1xcdTBCNURcXHUwQjVGLVxcdTBCNjNcXHUwQjY2LVxcdTBCNkZcXHUwQjcxXFx1MEI4MlxcdTBCODNcXHUwQjg1LVxcdTBCOEFcXHUwQjhFLVxcdTBCOTBcXHUwQjkyLVxcdTBCOTVcXHUwQjk5XFx1MEI5QVxcdTBCOUNcXHUwQjlFXFx1MEI5RlxcdTBCQTNcXHUwQkE0XFx1MEJBOC1cXHUwQkFBXFx1MEJBRS1cXHUwQkI5XFx1MEJCRS1cXHUwQkMyXFx1MEJDNi1cXHUwQkM4XFx1MEJDQS1cXHUwQkNEXFx1MEJEMFxcdTBCRDdcXHUwQkU2LVxcdTBCRUZcXHUwQzAwLVxcdTBDMDNcXHUwQzA1LVxcdTBDMENcXHUwQzBFLVxcdTBDMTBcXHUwQzEyLVxcdTBDMjhcXHUwQzJBLVxcdTBDMzlcXHUwQzNELVxcdTBDNDRcXHUwQzQ2LVxcdTBDNDhcXHUwQzRBLVxcdTBDNERcXHUwQzU1XFx1MEM1NlxcdTBDNTgtXFx1MEM1QVxcdTBDNjAtXFx1MEM2M1xcdTBDNjYtXFx1MEM2RlxcdTBDODAtXFx1MEM4M1xcdTBDODUtXFx1MEM4Q1xcdTBDOEUtXFx1MEM5MFxcdTBDOTItXFx1MENBOFxcdTBDQUEtXFx1MENCM1xcdTBDQjUtXFx1MENCOVxcdTBDQkMtXFx1MENDNFxcdTBDQzYtXFx1MENDOFxcdTBDQ0EtXFx1MENDRFxcdTBDRDVcXHUwQ0Q2XFx1MENERVxcdTBDRTAtXFx1MENFM1xcdTBDRTYtXFx1MENFRlxcdTBDRjFcXHUwQ0YyXFx1MEQwMC1cXHUwRDAzXFx1MEQwNS1cXHUwRDBDXFx1MEQwRS1cXHUwRDEwXFx1MEQxMi1cXHUwRDQ0XFx1MEQ0Ni1cXHUwRDQ4XFx1MEQ0QS1cXHUwRDRFXFx1MEQ1NC1cXHUwRDU3XFx1MEQ1Ri1cXHUwRDYzXFx1MEQ2Ni1cXHUwRDZGXFx1MEQ3QS1cXHUwRDdGXFx1MEQ4MlxcdTBEODNcXHUwRDg1LVxcdTBEOTZcXHUwRDlBLVxcdTBEQjFcXHUwREIzLVxcdTBEQkJcXHUwREJEXFx1MERDMC1cXHUwREM2XFx1MERDQVxcdTBEQ0YtXFx1MERENFxcdTBERDZcXHUwREQ4LVxcdTBEREZcXHUwREU2LVxcdTBERUZcXHUwREYyXFx1MERGM1xcdTBFMDEtXFx1MEUzQVxcdTBFNDAtXFx1MEU0RVxcdTBFNTAtXFx1MEU1OVxcdTBFODFcXHUwRTgyXFx1MEU4NFxcdTBFODdcXHUwRTg4XFx1MEU4QVxcdTBFOERcXHUwRTk0LVxcdTBFOTdcXHUwRTk5LVxcdTBFOUZcXHUwRUExLVxcdTBFQTNcXHUwRUE1XFx1MEVBN1xcdTBFQUFcXHUwRUFCXFx1MEVBRC1cXHUwRUI5XFx1MEVCQi1cXHUwRUJEXFx1MEVDMC1cXHUwRUM0XFx1MEVDNlxcdTBFQzgtXFx1MEVDRFxcdTBFRDAtXFx1MEVEOVxcdTBFREMtXFx1MEVERlxcdTBGMDBcXHUwRjE4XFx1MEYxOVxcdTBGMjAtXFx1MEYyOVxcdTBGMzVcXHUwRjM3XFx1MEYzOVxcdTBGM0UtXFx1MEY0N1xcdTBGNDktXFx1MEY2Q1xcdTBGNzEtXFx1MEY4NFxcdTBGODYtXFx1MEY5N1xcdTBGOTktXFx1MEZCQ1xcdTBGQzZcXHUxMDAwLVxcdTEwNDlcXHUxMDUwLVxcdTEwOURcXHUxMEEwLVxcdTEwQzVcXHUxMEM3XFx1MTBDRFxcdTEwRDAtXFx1MTBGQVxcdTEwRkMtXFx1MTI0OFxcdTEyNEEtXFx1MTI0RFxcdTEyNTAtXFx1MTI1NlxcdTEyNThcXHUxMjVBLVxcdTEyNURcXHUxMjYwLVxcdTEyODhcXHUxMjhBLVxcdTEyOERcXHUxMjkwLVxcdTEyQjBcXHUxMkIyLVxcdTEyQjVcXHUxMkI4LVxcdTEyQkVcXHUxMkMwXFx1MTJDMi1cXHUxMkM1XFx1MTJDOC1cXHUxMkQ2XFx1MTJEOC1cXHUxMzEwXFx1MTMxMi1cXHUxMzE1XFx1MTMxOC1cXHUxMzVBXFx1MTM1RC1cXHUxMzVGXFx1MTM4MC1cXHUxMzhGXFx1MTNBMC1cXHUxM0Y1XFx1MTNGOC1cXHUxM0ZEXFx1MTQwMS1cXHUxNjZDXFx1MTY2Ri1cXHUxNjdGXFx1MTY4MS1cXHUxNjlBXFx1MTZBMC1cXHUxNkVBXFx1MTZFRS1cXHUxNkY4XFx1MTcwMC1cXHUxNzBDXFx1MTcwRS1cXHUxNzE0XFx1MTcyMC1cXHUxNzM0XFx1MTc0MC1cXHUxNzUzXFx1MTc2MC1cXHUxNzZDXFx1MTc2RS1cXHUxNzcwXFx1MTc3MlxcdTE3NzNcXHUxNzgwLVxcdTE3RDNcXHUxN0Q3XFx1MTdEQ1xcdTE3RERcXHUxN0UwLVxcdTE3RTlcXHUxODBCLVxcdTE4MERcXHUxODEwLVxcdTE4MTlcXHUxODIwLVxcdTE4NzdcXHUxODgwLVxcdTE4QUFcXHUxOEIwLVxcdTE4RjVcXHUxOTAwLVxcdTE5MUVcXHUxOTIwLVxcdTE5MkJcXHUxOTMwLVxcdTE5M0JcXHUxOTQ2LVxcdTE5NkRcXHUxOTcwLVxcdTE5NzRcXHUxOTgwLVxcdTE5QUJcXHUxOUIwLVxcdTE5QzlcXHUxOUQwLVxcdTE5RDlcXHUxQTAwLVxcdTFBMUJcXHUxQTIwLVxcdTFBNUVcXHUxQTYwLVxcdTFBN0NcXHUxQTdGLVxcdTFBODlcXHUxQTkwLVxcdTFBOTlcXHUxQUE3XFx1MUFCMC1cXHUxQUJEXFx1MUIwMC1cXHUxQjRCXFx1MUI1MC1cXHUxQjU5XFx1MUI2Qi1cXHUxQjczXFx1MUI4MC1cXHUxQkYzXFx1MUMwMC1cXHUxQzM3XFx1MUM0MC1cXHUxQzQ5XFx1MUM0RC1cXHUxQzdEXFx1MUM4MC1cXHUxQzg4XFx1MUNEMC1cXHUxQ0QyXFx1MUNENC1cXHUxQ0Y5XFx1MUQwMC1cXHUxREY5XFx1MURGQi1cXHUxRjE1XFx1MUYxOC1cXHUxRjFEXFx1MUYyMC1cXHUxRjQ1XFx1MUY0OC1cXHUxRjREXFx1MUY1MC1cXHUxRjU3XFx1MUY1OVxcdTFGNUJcXHUxRjVEXFx1MUY1Ri1cXHUxRjdEXFx1MUY4MC1cXHUxRkI0XFx1MUZCNi1cXHUxRkJDXFx1MUZCRVxcdTFGQzItXFx1MUZDNFxcdTFGQzYtXFx1MUZDQ1xcdTFGRDAtXFx1MUZEM1xcdTFGRDYtXFx1MUZEQlxcdTFGRTAtXFx1MUZFQ1xcdTFGRjItXFx1MUZGNFxcdTFGRjYtXFx1MUZGQ1xcdTIwM0ZcXHUyMDQwXFx1MjA1NFxcdTIwNzFcXHUyMDdGXFx1MjA5MC1cXHUyMDlDXFx1MjBEMC1cXHUyMERDXFx1MjBFMVxcdTIwRTUtXFx1MjBGMFxcdTIxMDJcXHUyMTA3XFx1MjEwQS1cXHUyMTEzXFx1MjExNVxcdTIxMTktXFx1MjExRFxcdTIxMjRcXHUyMTI2XFx1MjEyOFxcdTIxMkEtXFx1MjEyRFxcdTIxMkYtXFx1MjEzOVxcdTIxM0MtXFx1MjEzRlxcdTIxNDUtXFx1MjE0OVxcdTIxNEVcXHUyMTYwLVxcdTIxODhcXHUyQzAwLVxcdTJDMkVcXHUyQzMwLVxcdTJDNUVcXHUyQzYwLVxcdTJDRTRcXHUyQ0VCLVxcdTJDRjNcXHUyRDAwLVxcdTJEMjVcXHUyRDI3XFx1MkQyRFxcdTJEMzAtXFx1MkQ2N1xcdTJENkZcXHUyRDdGLVxcdTJEOTZcXHUyREEwLVxcdTJEQTZcXHUyREE4LVxcdTJEQUVcXHUyREIwLVxcdTJEQjZcXHUyREI4LVxcdTJEQkVcXHUyREMwLVxcdTJEQzZcXHUyREM4LVxcdTJEQ0VcXHUyREQwLVxcdTJERDZcXHUyREQ4LVxcdTJEREVcXHUyREUwLVxcdTJERkZcXHUyRTJGXFx1MzAwNS1cXHUzMDA3XFx1MzAyMS1cXHUzMDJGXFx1MzAzMS1cXHUzMDM1XFx1MzAzOC1cXHUzMDNDXFx1MzA0MS1cXHUzMDk2XFx1MzA5OVxcdTMwOUFcXHUzMDlELVxcdTMwOUZcXHUzMEExLVxcdTMwRkFcXHUzMEZDLVxcdTMwRkZcXHUzMTA1LVxcdTMxMkVcXHUzMTMxLVxcdTMxOEVcXHUzMUEwLVxcdTMxQkFcXHUzMUYwLVxcdTMxRkZcXHUzNDAwLVxcdTREQjVcXHU0RTAwLVxcdTlGRUFcXHVBMDAwLVxcdUE0OENcXHVBNEQwLVxcdUE0RkRcXHVBNTAwLVxcdUE2MENcXHVBNjEwLVxcdUE2MkJcXHVBNjQwLVxcdUE2NkZcXHVBNjc0LVxcdUE2N0RcXHVBNjdGLVxcdUE2RjFcXHVBNzE3LVxcdUE3MUZcXHVBNzIyLVxcdUE3ODhcXHVBNzhCLVxcdUE3QUVcXHVBN0IwLVxcdUE3QjdcXHVBN0Y3LVxcdUE4MjdcXHVBODQwLVxcdUE4NzNcXHVBODgwLVxcdUE4QzVcXHVBOEQwLVxcdUE4RDlcXHVBOEUwLVxcdUE4RjdcXHVBOEZCXFx1QThGRFxcdUE5MDAtXFx1QTkyRFxcdUE5MzAtXFx1QTk1M1xcdUE5NjAtXFx1QTk3Q1xcdUE5ODAtXFx1QTlDMFxcdUE5Q0YtXFx1QTlEOVxcdUE5RTAtXFx1QTlGRVxcdUFBMDAtXFx1QUEzNlxcdUFBNDAtXFx1QUE0RFxcdUFBNTAtXFx1QUE1OVxcdUFBNjAtXFx1QUE3NlxcdUFBN0EtXFx1QUFDMlxcdUFBREItXFx1QUFERFxcdUFBRTAtXFx1QUFFRlxcdUFBRjItXFx1QUFGNlxcdUFCMDEtXFx1QUIwNlxcdUFCMDktXFx1QUIwRVxcdUFCMTEtXFx1QUIxNlxcdUFCMjAtXFx1QUIyNlxcdUFCMjgtXFx1QUIyRVxcdUFCMzAtXFx1QUI1QVxcdUFCNUMtXFx1QUI2NVxcdUFCNzAtXFx1QUJFQVxcdUFCRUNcXHVBQkVEXFx1QUJGMC1cXHVBQkY5XFx1QUMwMC1cXHVEN0EzXFx1RDdCMC1cXHVEN0M2XFx1RDdDQi1cXHVEN0ZCXFx1RjkwMC1cXHVGQTZEXFx1RkE3MC1cXHVGQUQ5XFx1RkIwMC1cXHVGQjA2XFx1RkIxMy1cXHVGQjE3XFx1RkIxRC1cXHVGQjI4XFx1RkIyQS1cXHVGQjM2XFx1RkIzOC1cXHVGQjNDXFx1RkIzRVxcdUZCNDBcXHVGQjQxXFx1RkI0M1xcdUZCNDRcXHVGQjQ2LVxcdUZCQjFcXHVGQkQzLVxcdUZEM0RcXHVGRDUwLVxcdUZEOEZcXHVGRDkyLVxcdUZEQzdcXHVGREYwLVxcdUZERkJcXHVGRTAwLVxcdUZFMEZcXHVGRTIwLVxcdUZFMkZcXHVGRTMzXFx1RkUzNFxcdUZFNEQtXFx1RkU0RlxcdUZFNzAtXFx1RkU3NFxcdUZFNzYtXFx1RkVGQ1xcdUZGMTAtXFx1RkYxOVxcdUZGMjEtXFx1RkYzQVxcdUZGM0ZcXHVGRjQxLVxcdUZGNUFcXHVGRjY2LVxcdUZGQkVcXHVGRkMyLVxcdUZGQzdcXHVGRkNBLVxcdUZGQ0ZcXHVGRkQyLVxcdUZGRDdcXHVGRkRBLVxcdUZGRENdfFxcdUQ4MDBbXFx1REMwMC1cXHVEQzBCXFx1REMwRC1cXHVEQzI2XFx1REMyOC1cXHVEQzNBXFx1REMzQ1xcdURDM0RcXHVEQzNGLVxcdURDNERcXHVEQzUwLVxcdURDNURcXHVEQzgwLVxcdURDRkFcXHVERDQwLVxcdURENzRcXHVEREZEXFx1REU4MC1cXHVERTlDXFx1REVBMC1cXHVERUQwXFx1REVFMFxcdURGMDAtXFx1REYxRlxcdURGMkQtXFx1REY0QVxcdURGNTAtXFx1REY3QVxcdURGODAtXFx1REY5RFxcdURGQTAtXFx1REZDM1xcdURGQzgtXFx1REZDRlxcdURGRDEtXFx1REZENV18XFx1RDgwMVtcXHVEQzAwLVxcdURDOURcXHVEQ0EwLVxcdURDQTlcXHVEQ0IwLVxcdURDRDNcXHVEQ0Q4LVxcdURDRkJcXHVERDAwLVxcdUREMjdcXHVERDMwLVxcdURENjNcXHVERTAwLVxcdURGMzZcXHVERjQwLVxcdURGNTVcXHVERjYwLVxcdURGNjddfFxcdUQ4MDJbXFx1REMwMC1cXHVEQzA1XFx1REMwOFxcdURDMEEtXFx1REMzNVxcdURDMzdcXHVEQzM4XFx1REMzQ1xcdURDM0YtXFx1REM1NVxcdURDNjAtXFx1REM3NlxcdURDODAtXFx1REM5RVxcdURDRTAtXFx1RENGMlxcdURDRjRcXHVEQ0Y1XFx1REQwMC1cXHVERDE1XFx1REQyMC1cXHVERDM5XFx1REQ4MC1cXHVEREI3XFx1RERCRVxcdUREQkZcXHVERTAwLVxcdURFMDNcXHVERTA1XFx1REUwNlxcdURFMEMtXFx1REUxM1xcdURFMTUtXFx1REUxN1xcdURFMTktXFx1REUzM1xcdURFMzgtXFx1REUzQVxcdURFM0ZcXHVERTYwLVxcdURFN0NcXHVERTgwLVxcdURFOUNcXHVERUMwLVxcdURFQzdcXHVERUM5LVxcdURFRTZcXHVERjAwLVxcdURGMzVcXHVERjQwLVxcdURGNTVcXHVERjYwLVxcdURGNzJcXHVERjgwLVxcdURGOTFdfFxcdUQ4MDNbXFx1REMwMC1cXHVEQzQ4XFx1REM4MC1cXHVEQ0IyXFx1RENDMC1cXHVEQ0YyXXxcXHVEODA0W1xcdURDMDAtXFx1REM0NlxcdURDNjYtXFx1REM2RlxcdURDN0YtXFx1RENCQVxcdURDRDAtXFx1RENFOFxcdURDRjAtXFx1RENGOVxcdUREMDAtXFx1REQzNFxcdUREMzYtXFx1REQzRlxcdURENTAtXFx1REQ3M1xcdURENzZcXHVERDgwLVxcdUREQzRcXHVERENBLVxcdUREQ0NcXHVEREQwLVxcdUREREFcXHVERERDXFx1REUwMC1cXHVERTExXFx1REUxMy1cXHVERTM3XFx1REUzRVxcdURFODAtXFx1REU4NlxcdURFODhcXHVERThBLVxcdURFOERcXHVERThGLVxcdURFOURcXHVERTlGLVxcdURFQThcXHVERUIwLVxcdURFRUFcXHVERUYwLVxcdURFRjlcXHVERjAwLVxcdURGMDNcXHVERjA1LVxcdURGMENcXHVERjBGXFx1REYxMFxcdURGMTMtXFx1REYyOFxcdURGMkEtXFx1REYzMFxcdURGMzJcXHVERjMzXFx1REYzNS1cXHVERjM5XFx1REYzQy1cXHVERjQ0XFx1REY0N1xcdURGNDhcXHVERjRCLVxcdURGNERcXHVERjUwXFx1REY1N1xcdURGNUQtXFx1REY2M1xcdURGNjYtXFx1REY2Q1xcdURGNzAtXFx1REY3NF18XFx1RDgwNVtcXHVEQzAwLVxcdURDNEFcXHVEQzUwLVxcdURDNTlcXHVEQzgwLVxcdURDQzVcXHVEQ0M3XFx1RENEMC1cXHVEQ0Q5XFx1REQ4MC1cXHVEREI1XFx1RERCOC1cXHVEREMwXFx1REREOC1cXHVEREREXFx1REUwMC1cXHVERTQwXFx1REU0NFxcdURFNTAtXFx1REU1OVxcdURFODAtXFx1REVCN1xcdURFQzAtXFx1REVDOVxcdURGMDAtXFx1REYxOVxcdURGMUQtXFx1REYyQlxcdURGMzAtXFx1REYzOV18XFx1RDgwNltcXHVEQ0EwLVxcdURDRTlcXHVEQ0ZGXFx1REUwMC1cXHVERTNFXFx1REU0N1xcdURFNTAtXFx1REU4M1xcdURFODYtXFx1REU5OVxcdURFQzAtXFx1REVGOF18XFx1RDgwN1tcXHVEQzAwLVxcdURDMDhcXHVEQzBBLVxcdURDMzZcXHVEQzM4LVxcdURDNDBcXHVEQzUwLVxcdURDNTlcXHVEQzcyLVxcdURDOEZcXHVEQzkyLVxcdURDQTdcXHVEQ0E5LVxcdURDQjZcXHVERDAwLVxcdUREMDZcXHVERDA4XFx1REQwOVxcdUREMEItXFx1REQzNlxcdUREM0FcXHVERDNDXFx1REQzRFxcdUREM0YtXFx1REQ0N1xcdURENTAtXFx1REQ1OV18XFx1RDgwOFtcXHVEQzAwLVxcdURGOTldfFxcdUQ4MDlbXFx1REMwMC1cXHVEQzZFXFx1REM4MC1cXHVERDQzXXxbXFx1RDgwQ1xcdUQ4MUMtXFx1RDgyMFxcdUQ4NDAtXFx1RDg2OFxcdUQ4NkEtXFx1RDg2Q1xcdUQ4NkYtXFx1RDg3MlxcdUQ4NzQtXFx1RDg3OV1bXFx1REMwMC1cXHVERkZGXXxcXHVEODBEW1xcdURDMDAtXFx1REMyRV18XFx1RDgxMVtcXHVEQzAwLVxcdURFNDZdfFxcdUQ4MUFbXFx1REMwMC1cXHVERTM4XFx1REU0MC1cXHVERTVFXFx1REU2MC1cXHVERTY5XFx1REVEMC1cXHVERUVEXFx1REVGMC1cXHVERUY0XFx1REYwMC1cXHVERjM2XFx1REY0MC1cXHVERjQzXFx1REY1MC1cXHVERjU5XFx1REY2My1cXHVERjc3XFx1REY3RC1cXHVERjhGXXxcXHVEODFCW1xcdURGMDAtXFx1REY0NFxcdURGNTAtXFx1REY3RVxcdURGOEYtXFx1REY5RlxcdURGRTBcXHVERkUxXXxcXHVEODIxW1xcdURDMDAtXFx1REZFQ118XFx1RDgyMltcXHVEQzAwLVxcdURFRjJdfFxcdUQ4MkNbXFx1REMwMC1cXHVERDFFXFx1REQ3MC1cXHVERUZCXXxcXHVEODJGW1xcdURDMDAtXFx1REM2QVxcdURDNzAtXFx1REM3Q1xcdURDODAtXFx1REM4OFxcdURDOTAtXFx1REM5OVxcdURDOURcXHVEQzlFXXxcXHVEODM0W1xcdURENjUtXFx1REQ2OVxcdURENkQtXFx1REQ3MlxcdUREN0ItXFx1REQ4MlxcdUREODUtXFx1REQ4QlxcdUREQUEtXFx1RERBRFxcdURFNDItXFx1REU0NF18XFx1RDgzNVtcXHVEQzAwLVxcdURDNTRcXHVEQzU2LVxcdURDOUNcXHVEQzlFXFx1REM5RlxcdURDQTJcXHVEQ0E1XFx1RENBNlxcdURDQTktXFx1RENBQ1xcdURDQUUtXFx1RENCOVxcdURDQkJcXHVEQ0JELVxcdURDQzNcXHVEQ0M1LVxcdUREMDVcXHVERDA3LVxcdUREMEFcXHVERDBELVxcdUREMTRcXHVERDE2LVxcdUREMUNcXHVERDFFLVxcdUREMzlcXHVERDNCLVxcdUREM0VcXHVERDQwLVxcdURENDRcXHVERDQ2XFx1REQ0QS1cXHVERDUwXFx1REQ1Mi1cXHVERUE1XFx1REVBOC1cXHVERUMwXFx1REVDMi1cXHVERURBXFx1REVEQy1cXHVERUZBXFx1REVGQy1cXHVERjE0XFx1REYxNi1cXHVERjM0XFx1REYzNi1cXHVERjRFXFx1REY1MC1cXHVERjZFXFx1REY3MC1cXHVERjg4XFx1REY4QS1cXHVERkE4XFx1REZBQS1cXHVERkMyXFx1REZDNC1cXHVERkNCXFx1REZDRS1cXHVERkZGXXxcXHVEODM2W1xcdURFMDAtXFx1REUzNlxcdURFM0ItXFx1REU2Q1xcdURFNzVcXHVERTg0XFx1REU5Qi1cXHVERTlGXFx1REVBMS1cXHVERUFGXXxcXHVEODM4W1xcdURDMDAtXFx1REMwNlxcdURDMDgtXFx1REMxOFxcdURDMUItXFx1REMyMVxcdURDMjNcXHVEQzI0XFx1REMyNi1cXHVEQzJBXXxcXHVEODNBW1xcdURDMDAtXFx1RENDNFxcdURDRDAtXFx1RENENlxcdUREMDAtXFx1REQ0QVxcdURENTAtXFx1REQ1OV18XFx1RDgzQltcXHVERTAwLVxcdURFMDNcXHVERTA1LVxcdURFMUZcXHVERTIxXFx1REUyMlxcdURFMjRcXHVERTI3XFx1REUyOS1cXHVERTMyXFx1REUzNC1cXHVERTM3XFx1REUzOVxcdURFM0JcXHVERTQyXFx1REU0N1xcdURFNDlcXHVERTRCXFx1REU0RC1cXHVERTRGXFx1REU1MVxcdURFNTJcXHVERTU0XFx1REU1N1xcdURFNTlcXHVERTVCXFx1REU1RFxcdURFNUZcXHVERTYxXFx1REU2MlxcdURFNjRcXHVERTY3LVxcdURFNkFcXHVERTZDLVxcdURFNzJcXHVERTc0LVxcdURFNzdcXHVERTc5LVxcdURFN0NcXHVERTdFXFx1REU4MC1cXHVERTg5XFx1REU4Qi1cXHVERTlCXFx1REVBMS1cXHVERUEzXFx1REVBNS1cXHVERUE5XFx1REVBQi1cXHVERUJCXXxcXHVEODY5W1xcdURDMDAtXFx1REVENlxcdURGMDAtXFx1REZGRl18XFx1RDg2RFtcXHVEQzAwLVxcdURGMzRcXHVERjQwLVxcdURGRkZdfFxcdUQ4NkVbXFx1REMwMC1cXHVEQzFEXFx1REMyMC1cXHVERkZGXXxcXHVEODczW1xcdURDMDAtXFx1REVBMVxcdURFQjAtXFx1REZGRl18XFx1RDg3QVtcXHVEQzAwLVxcdURGRTBdfFxcdUQ4N0VbXFx1REMwMC1cXHVERTFEXXxcXHVEQjQwW1xcdUREMDAtXFx1RERFRl0vO1xudmFyIHVuaWNvZGUgPSB7XG4gIFNwYWNlX1NlcGFyYXRvcixcbiAgSURfU3RhcnQsXG4gIElEX0NvbnRpbnVlXG59O1xudmFyIHV0aWwgPSB7XG4gIGlzU3BhY2VTZXBhcmF0b3IoYzIpIHtcbiAgICByZXR1cm4gdHlwZW9mIGMyID09PSBcInN0cmluZ1wiICYmIHVuaWNvZGUuU3BhY2VfU2VwYXJhdG9yLnRlc3QoYzIpO1xuICB9LFxuICBpc0lkU3RhcnRDaGFyKGMyKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBjMiA9PT0gXCJzdHJpbmdcIiAmJiAoYzIgPj0gXCJhXCIgJiYgYzIgPD0gXCJ6XCIgfHwgYzIgPj0gXCJBXCIgJiYgYzIgPD0gXCJaXCIgfHwgYzIgPT09IFwiJFwiIHx8IGMyID09PSBcIl9cIiB8fCB1bmljb2RlLklEX1N0YXJ0LnRlc3QoYzIpKTtcbiAgfSxcbiAgaXNJZENvbnRpbnVlQ2hhcihjMikge1xuICAgIHJldHVybiB0eXBlb2YgYzIgPT09IFwic3RyaW5nXCIgJiYgKGMyID49IFwiYVwiICYmIGMyIDw9IFwielwiIHx8IGMyID49IFwiQVwiICYmIGMyIDw9IFwiWlwiIHx8IGMyID49IFwiMFwiICYmIGMyIDw9IFwiOVwiIHx8IGMyID09PSBcIiRcIiB8fCBjMiA9PT0gXCJfXCIgfHwgYzIgPT09IFwiXFx1MjAwQ1wiIHx8IGMyID09PSBcIlxcdTIwMERcIiB8fCB1bmljb2RlLklEX0NvbnRpbnVlLnRlc3QoYzIpKTtcbiAgfSxcbiAgaXNEaWdpdChjMikge1xuICAgIHJldHVybiB0eXBlb2YgYzIgPT09IFwic3RyaW5nXCIgJiYgL1swLTldLy50ZXN0KGMyKTtcbiAgfSxcbiAgaXNIZXhEaWdpdChjMikge1xuICAgIHJldHVybiB0eXBlb2YgYzIgPT09IFwic3RyaW5nXCIgJiYgL1swLTlBLUZhLWZdLy50ZXN0KGMyKTtcbiAgfVxufTtcbnZhciBzb3VyY2U7XG52YXIgcGFyc2VTdGF0ZTtcbnZhciBzdGFjaztcbnZhciBwb3M7XG52YXIgbGluZTtcbnZhciBjb2x1bW47XG52YXIgdG9rZW47XG52YXIga2V5O1xudmFyIHJvb3Q7XG52YXIgcGFyc2UyID0gZnVuY3Rpb24gcGFyc2UzKHRleHQsIHJldml2ZXIpIHtcbiAgc291cmNlID0gU3RyaW5nKHRleHQpO1xuICBwYXJzZVN0YXRlID0gXCJzdGFydFwiO1xuICBzdGFjayA9IFtdO1xuICBwb3MgPSAwO1xuICBsaW5lID0gMTtcbiAgY29sdW1uID0gMDtcbiAgdG9rZW4gPSB2b2lkIDA7XG4gIGtleSA9IHZvaWQgMDtcbiAgcm9vdCA9IHZvaWQgMDtcbiAgZG8ge1xuICAgIHRva2VuID0gbGV4KCk7XG4gICAgcGFyc2VTdGF0ZXNbcGFyc2VTdGF0ZV0oKTtcbiAgfSB3aGlsZSAodG9rZW4udHlwZSAhPT0gXCJlb2ZcIik7XG4gIGlmICh0eXBlb2YgcmV2aXZlciA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgcmV0dXJuIGludGVybmFsaXplKHsgXCJcIjogcm9vdCB9LCBcIlwiLCByZXZpdmVyKTtcbiAgfVxuICByZXR1cm4gcm9vdDtcbn07XG5mdW5jdGlvbiBpbnRlcm5hbGl6ZShob2xkZXIsIG5hbWUsIHJldml2ZXIpIHtcbiAgY29uc3QgdmFsdWUgPSBob2xkZXJbbmFtZV07XG4gIGlmICh2YWx1ZSAhPSBudWxsICYmIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIikge1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBrZXkyID0gU3RyaW5nKGkpO1xuICAgICAgICBjb25zdCByZXBsYWNlbWVudCA9IGludGVybmFsaXplKHZhbHVlLCBrZXkyLCByZXZpdmVyKTtcbiAgICAgICAgaWYgKHJlcGxhY2VtZW50ID09PSB2b2lkIDApIHtcbiAgICAgICAgICBkZWxldGUgdmFsdWVba2V5Ml07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZhbHVlLCBrZXkyLCB7XG4gICAgICAgICAgICB2YWx1ZTogcmVwbGFjZW1lbnQsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGNvbnN0IGtleTIgaW4gdmFsdWUpIHtcbiAgICAgICAgY29uc3QgcmVwbGFjZW1lbnQgPSBpbnRlcm5hbGl6ZSh2YWx1ZSwga2V5MiwgcmV2aXZlcik7XG4gICAgICAgIGlmIChyZXBsYWNlbWVudCA9PT0gdm9pZCAwKSB7XG4gICAgICAgICAgZGVsZXRlIHZhbHVlW2tleTJdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWx1ZSwga2V5Miwge1xuICAgICAgICAgICAgdmFsdWU6IHJlcGxhY2VtZW50LFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWUsXG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHJldml2ZXIuY2FsbChob2xkZXIsIG5hbWUsIHZhbHVlKTtcbn1cbnZhciBsZXhTdGF0ZTtcbnZhciBidWZmZXI7XG52YXIgZG91YmxlUXVvdGU7XG52YXIgc2lnbjtcbnZhciBjO1xuZnVuY3Rpb24gbGV4KCkge1xuICBsZXhTdGF0ZSA9IFwiZGVmYXVsdFwiO1xuICBidWZmZXIgPSBcIlwiO1xuICBkb3VibGVRdW90ZSA9IGZhbHNlO1xuICBzaWduID0gMTtcbiAgZm9yICg7IDsgKSB7XG4gICAgYyA9IHBlZWsoKTtcbiAgICBjb25zdCB0b2tlbjIgPSBsZXhTdGF0ZXNbbGV4U3RhdGVdKCk7XG4gICAgaWYgKHRva2VuMikge1xuICAgICAgcmV0dXJuIHRva2VuMjtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIHBlZWsoKSB7XG4gIGlmIChzb3VyY2VbcG9zXSkge1xuICAgIHJldHVybiBTdHJpbmcuZnJvbUNvZGVQb2ludChzb3VyY2UuY29kZVBvaW50QXQocG9zKSk7XG4gIH1cbn1cbmZ1bmN0aW9uIHJlYWQoKSB7XG4gIGNvbnN0IGMyID0gcGVlaygpO1xuICBpZiAoYzIgPT09IFwiXFxuXCIpIHtcbiAgICBsaW5lKys7XG4gICAgY29sdW1uID0gMDtcbiAgfSBlbHNlIGlmIChjMikge1xuICAgIGNvbHVtbiArPSBjMi5sZW5ndGg7XG4gIH0gZWxzZSB7XG4gICAgY29sdW1uKys7XG4gIH1cbiAgaWYgKGMyKSB7XG4gICAgcG9zICs9IGMyLmxlbmd0aDtcbiAgfVxuICByZXR1cm4gYzI7XG59XG52YXIgbGV4U3RhdGVzID0ge1xuICBkZWZhdWx0KCkge1xuICAgIHN3aXRjaCAoYykge1xuICAgICAgY2FzZSBcIlx0XCI6XG4gICAgICBjYXNlIFwiXFx2XCI6XG4gICAgICBjYXNlIFwiXFxmXCI6XG4gICAgICBjYXNlIFwiIFwiOlxuICAgICAgY2FzZSBcIlxceEEwXCI6XG4gICAgICBjYXNlIFwiXFx1RkVGRlwiOlxuICAgICAgY2FzZSBcIlxcblwiOlxuICAgICAgY2FzZSBcIlxcclwiOlxuICAgICAgY2FzZSBcIlxcdTIwMjhcIjpcbiAgICAgIGNhc2UgXCJcXHUyMDI5XCI6XG4gICAgICAgIHJlYWQoKTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY2FzZSBcIi9cIjpcbiAgICAgICAgcmVhZCgpO1xuICAgICAgICBsZXhTdGF0ZSA9IFwiY29tbWVudFwiO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlIHZvaWQgMDpcbiAgICAgICAgcmVhZCgpO1xuICAgICAgICByZXR1cm4gbmV3VG9rZW4oXCJlb2ZcIik7XG4gICAgfVxuICAgIGlmICh1dGlsLmlzU3BhY2VTZXBhcmF0b3IoYykpIHtcbiAgICAgIHJlYWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmV0dXJuIGxleFN0YXRlc1twYXJzZVN0YXRlXSgpO1xuICB9LFxuICBjb21tZW50KCkge1xuICAgIHN3aXRjaCAoYykge1xuICAgICAgY2FzZSBcIipcIjpcbiAgICAgICAgcmVhZCgpO1xuICAgICAgICBsZXhTdGF0ZSA9IFwibXVsdGlMaW5lQ29tbWVudFwiO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlIFwiL1wiOlxuICAgICAgICByZWFkKCk7XG4gICAgICAgIGxleFN0YXRlID0gXCJzaW5nbGVMaW5lQ29tbWVudFwiO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHRocm93IGludmFsaWRDaGFyKHJlYWQoKSk7XG4gIH0sXG4gIG11bHRpTGluZUNvbW1lbnQoKSB7XG4gICAgc3dpdGNoIChjKSB7XG4gICAgICBjYXNlIFwiKlwiOlxuICAgICAgICByZWFkKCk7XG4gICAgICAgIGxleFN0YXRlID0gXCJtdWx0aUxpbmVDb21tZW50QXN0ZXJpc2tcIjtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY2FzZSB2b2lkIDA6XG4gICAgICAgIHRocm93IGludmFsaWRDaGFyKHJlYWQoKSk7XG4gICAgfVxuICAgIHJlYWQoKTtcbiAgfSxcbiAgbXVsdGlMaW5lQ29tbWVudEFzdGVyaXNrKCkge1xuICAgIHN3aXRjaCAoYykge1xuICAgICAgY2FzZSBcIipcIjpcbiAgICAgICAgcmVhZCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlIFwiL1wiOlxuICAgICAgICByZWFkKCk7XG4gICAgICAgIGxleFN0YXRlID0gXCJkZWZhdWx0XCI7XG4gICAgICAgIHJldHVybjtcbiAgICAgIGNhc2Ugdm9pZCAwOlxuICAgICAgICB0aHJvdyBpbnZhbGlkQ2hhcihyZWFkKCkpO1xuICAgIH1cbiAgICByZWFkKCk7XG4gICAgbGV4U3RhdGUgPSBcIm11bHRpTGluZUNvbW1lbnRcIjtcbiAgfSxcbiAgc2luZ2xlTGluZUNvbW1lbnQoKSB7XG4gICAgc3dpdGNoIChjKSB7XG4gICAgICBjYXNlIFwiXFxuXCI6XG4gICAgICBjYXNlIFwiXFxyXCI6XG4gICAgICBjYXNlIFwiXFx1MjAyOFwiOlxuICAgICAgY2FzZSBcIlxcdTIwMjlcIjpcbiAgICAgICAgcmVhZCgpO1xuICAgICAgICBsZXhTdGF0ZSA9IFwiZGVmYXVsdFwiO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlIHZvaWQgMDpcbiAgICAgICAgcmVhZCgpO1xuICAgICAgICByZXR1cm4gbmV3VG9rZW4oXCJlb2ZcIik7XG4gICAgfVxuICAgIHJlYWQoKTtcbiAgfSxcbiAgdmFsdWUoKSB7XG4gICAgc3dpdGNoIChjKSB7XG4gICAgICBjYXNlIFwie1wiOlxuICAgICAgY2FzZSBcIltcIjpcbiAgICAgICAgcmV0dXJuIG5ld1Rva2VuKFwicHVuY3R1YXRvclwiLCByZWFkKCkpO1xuICAgICAgY2FzZSBcIm5cIjpcbiAgICAgICAgcmVhZCgpO1xuICAgICAgICBsaXRlcmFsKFwidWxsXCIpO1xuICAgICAgICByZXR1cm4gbmV3VG9rZW4oXCJudWxsXCIsIG51bGwpO1xuICAgICAgY2FzZSBcInRcIjpcbiAgICAgICAgcmVhZCgpO1xuICAgICAgICBsaXRlcmFsKFwicnVlXCIpO1xuICAgICAgICByZXR1cm4gbmV3VG9rZW4oXCJib29sZWFuXCIsIHRydWUpO1xuICAgICAgY2FzZSBcImZcIjpcbiAgICAgICAgcmVhZCgpO1xuICAgICAgICBsaXRlcmFsKFwiYWxzZVwiKTtcbiAgICAgICAgcmV0dXJuIG5ld1Rva2VuKFwiYm9vbGVhblwiLCBmYWxzZSk7XG4gICAgICBjYXNlIFwiLVwiOlxuICAgICAgY2FzZSBcIitcIjpcbiAgICAgICAgaWYgKHJlYWQoKSA9PT0gXCItXCIpIHtcbiAgICAgICAgICBzaWduID0gLTE7XG4gICAgICAgIH1cbiAgICAgICAgbGV4U3RhdGUgPSBcInNpZ25cIjtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY2FzZSBcIi5cIjpcbiAgICAgICAgYnVmZmVyID0gcmVhZCgpO1xuICAgICAgICBsZXhTdGF0ZSA9IFwiZGVjaW1hbFBvaW50TGVhZGluZ1wiO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlIFwiMFwiOlxuICAgICAgICBidWZmZXIgPSByZWFkKCk7XG4gICAgICAgIGxleFN0YXRlID0gXCJ6ZXJvXCI7XG4gICAgICAgIHJldHVybjtcbiAgICAgIGNhc2UgXCIxXCI6XG4gICAgICBjYXNlIFwiMlwiOlxuICAgICAgY2FzZSBcIjNcIjpcbiAgICAgIGNhc2UgXCI0XCI6XG4gICAgICBjYXNlIFwiNVwiOlxuICAgICAgY2FzZSBcIjZcIjpcbiAgICAgIGNhc2UgXCI3XCI6XG4gICAgICBjYXNlIFwiOFwiOlxuICAgICAgY2FzZSBcIjlcIjpcbiAgICAgICAgYnVmZmVyID0gcmVhZCgpO1xuICAgICAgICBsZXhTdGF0ZSA9IFwiZGVjaW1hbEludGVnZXJcIjtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY2FzZSBcIklcIjpcbiAgICAgICAgcmVhZCgpO1xuICAgICAgICBsaXRlcmFsKFwibmZpbml0eVwiKTtcbiAgICAgICAgcmV0dXJuIG5ld1Rva2VuKFwibnVtZXJpY1wiLCBJbmZpbml0eSk7XG4gICAgICBjYXNlIFwiTlwiOlxuICAgICAgICByZWFkKCk7XG4gICAgICAgIGxpdGVyYWwoXCJhTlwiKTtcbiAgICAgICAgcmV0dXJuIG5ld1Rva2VuKFwibnVtZXJpY1wiLCBOYU4pO1xuICAgICAgY2FzZSAnXCInOlxuICAgICAgY2FzZSBcIidcIjpcbiAgICAgICAgZG91YmxlUXVvdGUgPSByZWFkKCkgPT09ICdcIic7XG4gICAgICAgIGJ1ZmZlciA9IFwiXCI7XG4gICAgICAgIGxleFN0YXRlID0gXCJzdHJpbmdcIjtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aHJvdyBpbnZhbGlkQ2hhcihyZWFkKCkpO1xuICB9LFxuICBpZGVudGlmaWVyTmFtZVN0YXJ0RXNjYXBlKCkge1xuICAgIGlmIChjICE9PSBcInVcIikge1xuICAgICAgdGhyb3cgaW52YWxpZENoYXIocmVhZCgpKTtcbiAgICB9XG4gICAgcmVhZCgpO1xuICAgIGNvbnN0IHUgPSB1bmljb2RlRXNjYXBlKCk7XG4gICAgc3dpdGNoICh1KSB7XG4gICAgICBjYXNlIFwiJFwiOlxuICAgICAgY2FzZSBcIl9cIjpcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAoIXV0aWwuaXNJZFN0YXJ0Q2hhcih1KSkge1xuICAgICAgICAgIHRocm93IGludmFsaWRJZGVudGlmaWVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGJ1ZmZlciArPSB1O1xuICAgIGxleFN0YXRlID0gXCJpZGVudGlmaWVyTmFtZVwiO1xuICB9LFxuICBpZGVudGlmaWVyTmFtZSgpIHtcbiAgICBzd2l0Y2ggKGMpIHtcbiAgICAgIGNhc2UgXCIkXCI6XG4gICAgICBjYXNlIFwiX1wiOlxuICAgICAgY2FzZSBcIlxcdTIwMENcIjpcbiAgICAgIGNhc2UgXCJcXHUyMDBEXCI6XG4gICAgICAgIGJ1ZmZlciArPSByZWFkKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIGNhc2UgXCJcXFxcXCI6XG4gICAgICAgIHJlYWQoKTtcbiAgICAgICAgbGV4U3RhdGUgPSBcImlkZW50aWZpZXJOYW1lRXNjYXBlXCI7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHV0aWwuaXNJZENvbnRpbnVlQ2hhcihjKSkge1xuICAgICAgYnVmZmVyICs9IHJlYWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmV0dXJuIG5ld1Rva2VuKFwiaWRlbnRpZmllclwiLCBidWZmZXIpO1xuICB9LFxuICBpZGVudGlmaWVyTmFtZUVzY2FwZSgpIHtcbiAgICBpZiAoYyAhPT0gXCJ1XCIpIHtcbiAgICAgIHRocm93IGludmFsaWRDaGFyKHJlYWQoKSk7XG4gICAgfVxuICAgIHJlYWQoKTtcbiAgICBjb25zdCB1ID0gdW5pY29kZUVzY2FwZSgpO1xuICAgIHN3aXRjaCAodSkge1xuICAgICAgY2FzZSBcIiRcIjpcbiAgICAgIGNhc2UgXCJfXCI6XG4gICAgICBjYXNlIFwiXFx1MjAwQ1wiOlxuICAgICAgY2FzZSBcIlxcdTIwMERcIjpcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICBpZiAoIXV0aWwuaXNJZENvbnRpbnVlQ2hhcih1KSkge1xuICAgICAgICAgIHRocm93IGludmFsaWRJZGVudGlmaWVyKCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGJ1ZmZlciArPSB1O1xuICAgIGxleFN0YXRlID0gXCJpZGVudGlmaWVyTmFtZVwiO1xuICB9LFxuICBzaWduKCkge1xuICAgIHN3aXRjaCAoYykge1xuICAgICAgY2FzZSBcIi5cIjpcbiAgICAgICAgYnVmZmVyID0gcmVhZCgpO1xuICAgICAgICBsZXhTdGF0ZSA9IFwiZGVjaW1hbFBvaW50TGVhZGluZ1wiO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlIFwiMFwiOlxuICAgICAgICBidWZmZXIgPSByZWFkKCk7XG4gICAgICAgIGxleFN0YXRlID0gXCJ6ZXJvXCI7XG4gICAgICAgIHJldHVybjtcbiAgICAgIGNhc2UgXCIxXCI6XG4gICAgICBjYXNlIFwiMlwiOlxuICAgICAgY2FzZSBcIjNcIjpcbiAgICAgIGNhc2UgXCI0XCI6XG4gICAgICBjYXNlIFwiNVwiOlxuICAgICAgY2FzZSBcIjZcIjpcbiAgICAgIGNhc2UgXCI3XCI6XG4gICAgICBjYXNlIFwiOFwiOlxuICAgICAgY2FzZSBcIjlcIjpcbiAgICAgICAgYnVmZmVyID0gcmVhZCgpO1xuICAgICAgICBsZXhTdGF0ZSA9IFwiZGVjaW1hbEludGVnZXJcIjtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY2FzZSBcIklcIjpcbiAgICAgICAgcmVhZCgpO1xuICAgICAgICBsaXRlcmFsKFwibmZpbml0eVwiKTtcbiAgICAgICAgcmV0dXJuIG5ld1Rva2VuKFwibnVtZXJpY1wiLCBzaWduICogSW5maW5pdHkpO1xuICAgICAgY2FzZSBcIk5cIjpcbiAgICAgICAgcmVhZCgpO1xuICAgICAgICBsaXRlcmFsKFwiYU5cIik7XG4gICAgICAgIHJldHVybiBuZXdUb2tlbihcIm51bWVyaWNcIiwgTmFOKTtcbiAgICB9XG4gICAgdGhyb3cgaW52YWxpZENoYXIocmVhZCgpKTtcbiAgfSxcbiAgemVybygpIHtcbiAgICBzd2l0Y2ggKGMpIHtcbiAgICAgIGNhc2UgXCIuXCI6XG4gICAgICAgIGJ1ZmZlciArPSByZWFkKCk7XG4gICAgICAgIGxleFN0YXRlID0gXCJkZWNpbWFsUG9pbnRcIjtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY2FzZSBcImVcIjpcbiAgICAgIGNhc2UgXCJFXCI6XG4gICAgICAgIGJ1ZmZlciArPSByZWFkKCk7XG4gICAgICAgIGxleFN0YXRlID0gXCJkZWNpbWFsRXhwb25lbnRcIjtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY2FzZSBcInhcIjpcbiAgICAgIGNhc2UgXCJYXCI6XG4gICAgICAgIGJ1ZmZlciArPSByZWFkKCk7XG4gICAgICAgIGxleFN0YXRlID0gXCJoZXhhZGVjaW1hbFwiO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIHJldHVybiBuZXdUb2tlbihcIm51bWVyaWNcIiwgc2lnbiAqIDApO1xuICB9LFxuICBkZWNpbWFsSW50ZWdlcigpIHtcbiAgICBzd2l0Y2ggKGMpIHtcbiAgICAgIGNhc2UgXCIuXCI6XG4gICAgICAgIGJ1ZmZlciArPSByZWFkKCk7XG4gICAgICAgIGxleFN0YXRlID0gXCJkZWNpbWFsUG9pbnRcIjtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY2FzZSBcImVcIjpcbiAgICAgIGNhc2UgXCJFXCI6XG4gICAgICAgIGJ1ZmZlciArPSByZWFkKCk7XG4gICAgICAgIGxleFN0YXRlID0gXCJkZWNpbWFsRXhwb25lbnRcIjtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodXRpbC5pc0RpZ2l0KGMpKSB7XG4gICAgICBidWZmZXIgKz0gcmVhZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gbmV3VG9rZW4oXCJudW1lcmljXCIsIHNpZ24gKiBOdW1iZXIoYnVmZmVyKSk7XG4gIH0sXG4gIGRlY2ltYWxQb2ludExlYWRpbmcoKSB7XG4gICAgaWYgKHV0aWwuaXNEaWdpdChjKSkge1xuICAgICAgYnVmZmVyICs9IHJlYWQoKTtcbiAgICAgIGxleFN0YXRlID0gXCJkZWNpbWFsRnJhY3Rpb25cIjtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhyb3cgaW52YWxpZENoYXIocmVhZCgpKTtcbiAgfSxcbiAgZGVjaW1hbFBvaW50KCkge1xuICAgIHN3aXRjaCAoYykge1xuICAgICAgY2FzZSBcImVcIjpcbiAgICAgIGNhc2UgXCJFXCI6XG4gICAgICAgIGJ1ZmZlciArPSByZWFkKCk7XG4gICAgICAgIGxleFN0YXRlID0gXCJkZWNpbWFsRXhwb25lbnRcIjtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodXRpbC5pc0RpZ2l0KGMpKSB7XG4gICAgICBidWZmZXIgKz0gcmVhZCgpO1xuICAgICAgbGV4U3RhdGUgPSBcImRlY2ltYWxGcmFjdGlvblwiO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gbmV3VG9rZW4oXCJudW1lcmljXCIsIHNpZ24gKiBOdW1iZXIoYnVmZmVyKSk7XG4gIH0sXG4gIGRlY2ltYWxGcmFjdGlvbigpIHtcbiAgICBzd2l0Y2ggKGMpIHtcbiAgICAgIGNhc2UgXCJlXCI6XG4gICAgICBjYXNlIFwiRVwiOlxuICAgICAgICBidWZmZXIgKz0gcmVhZCgpO1xuICAgICAgICBsZXhTdGF0ZSA9IFwiZGVjaW1hbEV4cG9uZW50XCI7XG4gICAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKHV0aWwuaXNEaWdpdChjKSkge1xuICAgICAgYnVmZmVyICs9IHJlYWQoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmV0dXJuIG5ld1Rva2VuKFwibnVtZXJpY1wiLCBzaWduICogTnVtYmVyKGJ1ZmZlcikpO1xuICB9LFxuICBkZWNpbWFsRXhwb25lbnQoKSB7XG4gICAgc3dpdGNoIChjKSB7XG4gICAgICBjYXNlIFwiK1wiOlxuICAgICAgY2FzZSBcIi1cIjpcbiAgICAgICAgYnVmZmVyICs9IHJlYWQoKTtcbiAgICAgICAgbGV4U3RhdGUgPSBcImRlY2ltYWxFeHBvbmVudFNpZ25cIjtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodXRpbC5pc0RpZ2l0KGMpKSB7XG4gICAgICBidWZmZXIgKz0gcmVhZCgpO1xuICAgICAgbGV4U3RhdGUgPSBcImRlY2ltYWxFeHBvbmVudEludGVnZXJcIjtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhyb3cgaW52YWxpZENoYXIocmVhZCgpKTtcbiAgfSxcbiAgZGVjaW1hbEV4cG9uZW50U2lnbigpIHtcbiAgICBpZiAodXRpbC5pc0RpZ2l0KGMpKSB7XG4gICAgICBidWZmZXIgKz0gcmVhZCgpO1xuICAgICAgbGV4U3RhdGUgPSBcImRlY2ltYWxFeHBvbmVudEludGVnZXJcIjtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhyb3cgaW52YWxpZENoYXIocmVhZCgpKTtcbiAgfSxcbiAgZGVjaW1hbEV4cG9uZW50SW50ZWdlcigpIHtcbiAgICBpZiAodXRpbC5pc0RpZ2l0KGMpKSB7XG4gICAgICBidWZmZXIgKz0gcmVhZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gbmV3VG9rZW4oXCJudW1lcmljXCIsIHNpZ24gKiBOdW1iZXIoYnVmZmVyKSk7XG4gIH0sXG4gIGhleGFkZWNpbWFsKCkge1xuICAgIGlmICh1dGlsLmlzSGV4RGlnaXQoYykpIHtcbiAgICAgIGJ1ZmZlciArPSByZWFkKCk7XG4gICAgICBsZXhTdGF0ZSA9IFwiaGV4YWRlY2ltYWxJbnRlZ2VyXCI7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRocm93IGludmFsaWRDaGFyKHJlYWQoKSk7XG4gIH0sXG4gIGhleGFkZWNpbWFsSW50ZWdlcigpIHtcbiAgICBpZiAodXRpbC5pc0hleERpZ2l0KGMpKSB7XG4gICAgICBidWZmZXIgKz0gcmVhZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gbmV3VG9rZW4oXCJudW1lcmljXCIsIHNpZ24gKiBOdW1iZXIoYnVmZmVyKSk7XG4gIH0sXG4gIHN0cmluZygpIHtcbiAgICBzd2l0Y2ggKGMpIHtcbiAgICAgIGNhc2UgXCJcXFxcXCI6XG4gICAgICAgIHJlYWQoKTtcbiAgICAgICAgYnVmZmVyICs9IGVzY2FwZSgpO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlICdcIic6XG4gICAgICAgIGlmIChkb3VibGVRdW90ZSkge1xuICAgICAgICAgIHJlYWQoKTtcbiAgICAgICAgICByZXR1cm4gbmV3VG9rZW4oXCJzdHJpbmdcIiwgYnVmZmVyKTtcbiAgICAgICAgfVxuICAgICAgICBidWZmZXIgKz0gcmVhZCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlIFwiJ1wiOlxuICAgICAgICBpZiAoIWRvdWJsZVF1b3RlKSB7XG4gICAgICAgICAgcmVhZCgpO1xuICAgICAgICAgIHJldHVybiBuZXdUb2tlbihcInN0cmluZ1wiLCBidWZmZXIpO1xuICAgICAgICB9XG4gICAgICAgIGJ1ZmZlciArPSByZWFkKCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIGNhc2UgXCJcXG5cIjpcbiAgICAgIGNhc2UgXCJcXHJcIjpcbiAgICAgICAgdGhyb3cgaW52YWxpZENoYXIocmVhZCgpKTtcbiAgICAgIGNhc2UgXCJcXHUyMDI4XCI6XG4gICAgICBjYXNlIFwiXFx1MjAyOVwiOlxuICAgICAgICBzZXBhcmF0b3JDaGFyKGMpO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2Ugdm9pZCAwOlxuICAgICAgICB0aHJvdyBpbnZhbGlkQ2hhcihyZWFkKCkpO1xuICAgIH1cbiAgICBidWZmZXIgKz0gcmVhZCgpO1xuICB9LFxuICBzdGFydCgpIHtcbiAgICBzd2l0Y2ggKGMpIHtcbiAgICAgIGNhc2UgXCJ7XCI6XG4gICAgICBjYXNlIFwiW1wiOlxuICAgICAgICByZXR1cm4gbmV3VG9rZW4oXCJwdW5jdHVhdG9yXCIsIHJlYWQoKSk7XG4gICAgfVxuICAgIGxleFN0YXRlID0gXCJ2YWx1ZVwiO1xuICB9LFxuICBiZWZvcmVQcm9wZXJ0eU5hbWUoKSB7XG4gICAgc3dpdGNoIChjKSB7XG4gICAgICBjYXNlIFwiJFwiOlxuICAgICAgY2FzZSBcIl9cIjpcbiAgICAgICAgYnVmZmVyID0gcmVhZCgpO1xuICAgICAgICBsZXhTdGF0ZSA9IFwiaWRlbnRpZmllck5hbWVcIjtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgY2FzZSBcIlxcXFxcIjpcbiAgICAgICAgcmVhZCgpO1xuICAgICAgICBsZXhTdGF0ZSA9IFwiaWRlbnRpZmllck5hbWVTdGFydEVzY2FwZVwiO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlIFwifVwiOlxuICAgICAgICByZXR1cm4gbmV3VG9rZW4oXCJwdW5jdHVhdG9yXCIsIHJlYWQoKSk7XG4gICAgICBjYXNlICdcIic6XG4gICAgICBjYXNlIFwiJ1wiOlxuICAgICAgICBkb3VibGVRdW90ZSA9IHJlYWQoKSA9PT0gJ1wiJztcbiAgICAgICAgbGV4U3RhdGUgPSBcInN0cmluZ1wiO1xuICAgICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh1dGlsLmlzSWRTdGFydENoYXIoYykpIHtcbiAgICAgIGJ1ZmZlciArPSByZWFkKCk7XG4gICAgICBsZXhTdGF0ZSA9IFwiaWRlbnRpZmllck5hbWVcIjtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhyb3cgaW52YWxpZENoYXIocmVhZCgpKTtcbiAgfSxcbiAgYWZ0ZXJQcm9wZXJ0eU5hbWUoKSB7XG4gICAgaWYgKGMgPT09IFwiOlwiKSB7XG4gICAgICByZXR1cm4gbmV3VG9rZW4oXCJwdW5jdHVhdG9yXCIsIHJlYWQoKSk7XG4gICAgfVxuICAgIHRocm93IGludmFsaWRDaGFyKHJlYWQoKSk7XG4gIH0sXG4gIGJlZm9yZVByb3BlcnR5VmFsdWUoKSB7XG4gICAgbGV4U3RhdGUgPSBcInZhbHVlXCI7XG4gIH0sXG4gIGFmdGVyUHJvcGVydHlWYWx1ZSgpIHtcbiAgICBzd2l0Y2ggKGMpIHtcbiAgICAgIGNhc2UgXCIsXCI6XG4gICAgICBjYXNlIFwifVwiOlxuICAgICAgICByZXR1cm4gbmV3VG9rZW4oXCJwdW5jdHVhdG9yXCIsIHJlYWQoKSk7XG4gICAgfVxuICAgIHRocm93IGludmFsaWRDaGFyKHJlYWQoKSk7XG4gIH0sXG4gIGJlZm9yZUFycmF5VmFsdWUoKSB7XG4gICAgaWYgKGMgPT09IFwiXVwiKSB7XG4gICAgICByZXR1cm4gbmV3VG9rZW4oXCJwdW5jdHVhdG9yXCIsIHJlYWQoKSk7XG4gICAgfVxuICAgIGxleFN0YXRlID0gXCJ2YWx1ZVwiO1xuICB9LFxuICBhZnRlckFycmF5VmFsdWUoKSB7XG4gICAgc3dpdGNoIChjKSB7XG4gICAgICBjYXNlIFwiLFwiOlxuICAgICAgY2FzZSBcIl1cIjpcbiAgICAgICAgcmV0dXJuIG5ld1Rva2VuKFwicHVuY3R1YXRvclwiLCByZWFkKCkpO1xuICAgIH1cbiAgICB0aHJvdyBpbnZhbGlkQ2hhcihyZWFkKCkpO1xuICB9LFxuICBlbmQoKSB7XG4gICAgdGhyb3cgaW52YWxpZENoYXIocmVhZCgpKTtcbiAgfVxufTtcbmZ1bmN0aW9uIG5ld1Rva2VuKHR5cGUyLCB2YWx1ZSkge1xuICByZXR1cm4ge1xuICAgIHR5cGU6IHR5cGUyLFxuICAgIHZhbHVlLFxuICAgIGxpbmUsXG4gICAgY29sdW1uXG4gIH07XG59XG5mdW5jdGlvbiBsaXRlcmFsKHMpIHtcbiAgZm9yIChjb25zdCBjMiBvZiBzKSB7XG4gICAgY29uc3QgcCA9IHBlZWsoKTtcbiAgICBpZiAocCAhPT0gYzIpIHtcbiAgICAgIHRocm93IGludmFsaWRDaGFyKHJlYWQoKSk7XG4gICAgfVxuICAgIHJlYWQoKTtcbiAgfVxufVxuZnVuY3Rpb24gZXNjYXBlKCkge1xuICBjb25zdCBjMiA9IHBlZWsoKTtcbiAgc3dpdGNoIChjMikge1xuICAgIGNhc2UgXCJiXCI6XG4gICAgICByZWFkKCk7XG4gICAgICByZXR1cm4gXCJcXGJcIjtcbiAgICBjYXNlIFwiZlwiOlxuICAgICAgcmVhZCgpO1xuICAgICAgcmV0dXJuIFwiXFxmXCI7XG4gICAgY2FzZSBcIm5cIjpcbiAgICAgIHJlYWQoKTtcbiAgICAgIHJldHVybiBcIlxcblwiO1xuICAgIGNhc2UgXCJyXCI6XG4gICAgICByZWFkKCk7XG4gICAgICByZXR1cm4gXCJcXHJcIjtcbiAgICBjYXNlIFwidFwiOlxuICAgICAgcmVhZCgpO1xuICAgICAgcmV0dXJuIFwiXHRcIjtcbiAgICBjYXNlIFwidlwiOlxuICAgICAgcmVhZCgpO1xuICAgICAgcmV0dXJuIFwiXFx2XCI7XG4gICAgY2FzZSBcIjBcIjpcbiAgICAgIHJlYWQoKTtcbiAgICAgIGlmICh1dGlsLmlzRGlnaXQocGVlaygpKSkge1xuICAgICAgICB0aHJvdyBpbnZhbGlkQ2hhcihyZWFkKCkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIFwiXFwwXCI7XG4gICAgY2FzZSBcInhcIjpcbiAgICAgIHJlYWQoKTtcbiAgICAgIHJldHVybiBoZXhFc2NhcGUoKTtcbiAgICBjYXNlIFwidVwiOlxuICAgICAgcmVhZCgpO1xuICAgICAgcmV0dXJuIHVuaWNvZGVFc2NhcGUoKTtcbiAgICBjYXNlIFwiXFxuXCI6XG4gICAgY2FzZSBcIlxcdTIwMjhcIjpcbiAgICBjYXNlIFwiXFx1MjAyOVwiOlxuICAgICAgcmVhZCgpO1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgY2FzZSBcIlxcclwiOlxuICAgICAgcmVhZCgpO1xuICAgICAgaWYgKHBlZWsoKSA9PT0gXCJcXG5cIikge1xuICAgICAgICByZWFkKCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gXCJcIjtcbiAgICBjYXNlIFwiMVwiOlxuICAgIGNhc2UgXCIyXCI6XG4gICAgY2FzZSBcIjNcIjpcbiAgICBjYXNlIFwiNFwiOlxuICAgIGNhc2UgXCI1XCI6XG4gICAgY2FzZSBcIjZcIjpcbiAgICBjYXNlIFwiN1wiOlxuICAgIGNhc2UgXCI4XCI6XG4gICAgY2FzZSBcIjlcIjpcbiAgICAgIHRocm93IGludmFsaWRDaGFyKHJlYWQoKSk7XG4gICAgY2FzZSB2b2lkIDA6XG4gICAgICB0aHJvdyBpbnZhbGlkQ2hhcihyZWFkKCkpO1xuICB9XG4gIHJldHVybiByZWFkKCk7XG59XG5mdW5jdGlvbiBoZXhFc2NhcGUoKSB7XG4gIGxldCBidWZmZXIyID0gXCJcIjtcbiAgbGV0IGMyID0gcGVlaygpO1xuICBpZiAoIXV0aWwuaXNIZXhEaWdpdChjMikpIHtcbiAgICB0aHJvdyBpbnZhbGlkQ2hhcihyZWFkKCkpO1xuICB9XG4gIGJ1ZmZlcjIgKz0gcmVhZCgpO1xuICBjMiA9IHBlZWsoKTtcbiAgaWYgKCF1dGlsLmlzSGV4RGlnaXQoYzIpKSB7XG4gICAgdGhyb3cgaW52YWxpZENoYXIocmVhZCgpKTtcbiAgfVxuICBidWZmZXIyICs9IHJlYWQoKTtcbiAgcmV0dXJuIFN0cmluZy5mcm9tQ29kZVBvaW50KHBhcnNlSW50KGJ1ZmZlcjIsIDE2KSk7XG59XG5mdW5jdGlvbiB1bmljb2RlRXNjYXBlKCkge1xuICBsZXQgYnVmZmVyMiA9IFwiXCI7XG4gIGxldCBjb3VudCA9IDQ7XG4gIHdoaWxlIChjb3VudC0tID4gMCkge1xuICAgIGNvbnN0IGMyID0gcGVlaygpO1xuICAgIGlmICghdXRpbC5pc0hleERpZ2l0KGMyKSkge1xuICAgICAgdGhyb3cgaW52YWxpZENoYXIocmVhZCgpKTtcbiAgICB9XG4gICAgYnVmZmVyMiArPSByZWFkKCk7XG4gIH1cbiAgcmV0dXJuIFN0cmluZy5mcm9tQ29kZVBvaW50KHBhcnNlSW50KGJ1ZmZlcjIsIDE2KSk7XG59XG52YXIgcGFyc2VTdGF0ZXMgPSB7XG4gIHN0YXJ0KCkge1xuICAgIGlmICh0b2tlbi50eXBlID09PSBcImVvZlwiKSB7XG4gICAgICB0aHJvdyBpbnZhbGlkRU9GKCk7XG4gICAgfVxuICAgIHB1c2goKTtcbiAgfSxcbiAgYmVmb3JlUHJvcGVydHlOYW1lKCkge1xuICAgIHN3aXRjaCAodG9rZW4udHlwZSkge1xuICAgICAgY2FzZSBcImlkZW50aWZpZXJcIjpcbiAgICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgICAga2V5ID0gdG9rZW4udmFsdWU7XG4gICAgICAgIHBhcnNlU3RhdGUgPSBcImFmdGVyUHJvcGVydHlOYW1lXCI7XG4gICAgICAgIHJldHVybjtcbiAgICAgIGNhc2UgXCJwdW5jdHVhdG9yXCI6XG4gICAgICAgIHBvcCgpO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlIFwiZW9mXCI6XG4gICAgICAgIHRocm93IGludmFsaWRFT0YoKTtcbiAgICB9XG4gIH0sXG4gIGFmdGVyUHJvcGVydHlOYW1lKCkge1xuICAgIGlmICh0b2tlbi50eXBlID09PSBcImVvZlwiKSB7XG4gICAgICB0aHJvdyBpbnZhbGlkRU9GKCk7XG4gICAgfVxuICAgIHBhcnNlU3RhdGUgPSBcImJlZm9yZVByb3BlcnR5VmFsdWVcIjtcbiAgfSxcbiAgYmVmb3JlUHJvcGVydHlWYWx1ZSgpIHtcbiAgICBpZiAodG9rZW4udHlwZSA9PT0gXCJlb2ZcIikge1xuICAgICAgdGhyb3cgaW52YWxpZEVPRigpO1xuICAgIH1cbiAgICBwdXNoKCk7XG4gIH0sXG4gIGJlZm9yZUFycmF5VmFsdWUoKSB7XG4gICAgaWYgKHRva2VuLnR5cGUgPT09IFwiZW9mXCIpIHtcbiAgICAgIHRocm93IGludmFsaWRFT0YoKTtcbiAgICB9XG4gICAgaWYgKHRva2VuLnR5cGUgPT09IFwicHVuY3R1YXRvclwiICYmIHRva2VuLnZhbHVlID09PSBcIl1cIikge1xuICAgICAgcG9wKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHB1c2goKTtcbiAgfSxcbiAgYWZ0ZXJQcm9wZXJ0eVZhbHVlKCkge1xuICAgIGlmICh0b2tlbi50eXBlID09PSBcImVvZlwiKSB7XG4gICAgICB0aHJvdyBpbnZhbGlkRU9GKCk7XG4gICAgfVxuICAgIHN3aXRjaCAodG9rZW4udmFsdWUpIHtcbiAgICAgIGNhc2UgXCIsXCI6XG4gICAgICAgIHBhcnNlU3RhdGUgPSBcImJlZm9yZVByb3BlcnR5TmFtZVwiO1xuICAgICAgICByZXR1cm47XG4gICAgICBjYXNlIFwifVwiOlxuICAgICAgICBwb3AoKTtcbiAgICB9XG4gIH0sXG4gIGFmdGVyQXJyYXlWYWx1ZSgpIHtcbiAgICBpZiAodG9rZW4udHlwZSA9PT0gXCJlb2ZcIikge1xuICAgICAgdGhyb3cgaW52YWxpZEVPRigpO1xuICAgIH1cbiAgICBzd2l0Y2ggKHRva2VuLnZhbHVlKSB7XG4gICAgICBjYXNlIFwiLFwiOlxuICAgICAgICBwYXJzZVN0YXRlID0gXCJiZWZvcmVBcnJheVZhbHVlXCI7XG4gICAgICAgIHJldHVybjtcbiAgICAgIGNhc2UgXCJdXCI6XG4gICAgICAgIHBvcCgpO1xuICAgIH1cbiAgfSxcbiAgZW5kKCkge1xuICB9XG59O1xuZnVuY3Rpb24gcHVzaCgpIHtcbiAgbGV0IHZhbHVlO1xuICBzd2l0Y2ggKHRva2VuLnR5cGUpIHtcbiAgICBjYXNlIFwicHVuY3R1YXRvclwiOlxuICAgICAgc3dpdGNoICh0b2tlbi52YWx1ZSkge1xuICAgICAgICBjYXNlIFwie1wiOlxuICAgICAgICAgIHZhbHVlID0ge307XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgXCJbXCI6XG4gICAgICAgICAgdmFsdWUgPSBbXTtcbiAgICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJudWxsXCI6XG4gICAgY2FzZSBcImJvb2xlYW5cIjpcbiAgICBjYXNlIFwibnVtZXJpY1wiOlxuICAgIGNhc2UgXCJzdHJpbmdcIjpcbiAgICAgIHZhbHVlID0gdG9rZW4udmFsdWU7XG4gICAgICBicmVhaztcbiAgfVxuICBpZiAocm9vdCA9PT0gdm9pZCAwKSB7XG4gICAgcm9vdCA9IHZhbHVlO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IHBhcmVudCA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHBhcmVudCkpIHtcbiAgICAgIHBhcmVudC5wdXNoKHZhbHVlKTtcbiAgICB9IGVsc2Uge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHBhcmVudCwga2V5LCB7XG4gICAgICAgIHZhbHVlLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgaWYgKHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIikge1xuICAgIHN0YWNrLnB1c2godmFsdWUpO1xuICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgcGFyc2VTdGF0ZSA9IFwiYmVmb3JlQXJyYXlWYWx1ZVwiO1xuICAgIH0gZWxzZSB7XG4gICAgICBwYXJzZVN0YXRlID0gXCJiZWZvcmVQcm9wZXJ0eU5hbWVcIjtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgY3VycmVudCA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdO1xuICAgIGlmIChjdXJyZW50ID09IG51bGwpIHtcbiAgICAgIHBhcnNlU3RhdGUgPSBcImVuZFwiO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjdXJyZW50KSkge1xuICAgICAgcGFyc2VTdGF0ZSA9IFwiYWZ0ZXJBcnJheVZhbHVlXCI7XG4gICAgfSBlbHNlIHtcbiAgICAgIHBhcnNlU3RhdGUgPSBcImFmdGVyUHJvcGVydHlWYWx1ZVwiO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gcG9wKCkge1xuICBzdGFjay5wb3AoKTtcbiAgY29uc3QgY3VycmVudCA9IHN0YWNrW3N0YWNrLmxlbmd0aCAtIDFdO1xuICBpZiAoY3VycmVudCA9PSBudWxsKSB7XG4gICAgcGFyc2VTdGF0ZSA9IFwiZW5kXCI7XG4gIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShjdXJyZW50KSkge1xuICAgIHBhcnNlU3RhdGUgPSBcImFmdGVyQXJyYXlWYWx1ZVwiO1xuICB9IGVsc2Uge1xuICAgIHBhcnNlU3RhdGUgPSBcImFmdGVyUHJvcGVydHlWYWx1ZVwiO1xuICB9XG59XG5mdW5jdGlvbiBpbnZhbGlkQ2hhcihjMikge1xuICBpZiAoYzIgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiBzeW50YXhFcnJvcihgSlNPTjU6IGludmFsaWQgZW5kIG9mIGlucHV0IGF0ICR7bGluZX06JHtjb2x1bW59YCk7XG4gIH1cbiAgcmV0dXJuIHN5bnRheEVycm9yKGBKU09ONTogaW52YWxpZCBjaGFyYWN0ZXIgJyR7Zm9ybWF0Q2hhcihjMil9JyBhdCAke2xpbmV9OiR7Y29sdW1ufWApO1xufVxuZnVuY3Rpb24gaW52YWxpZEVPRigpIHtcbiAgcmV0dXJuIHN5bnRheEVycm9yKGBKU09ONTogaW52YWxpZCBlbmQgb2YgaW5wdXQgYXQgJHtsaW5lfToke2NvbHVtbn1gKTtcbn1cbmZ1bmN0aW9uIGludmFsaWRJZGVudGlmaWVyKCkge1xuICBjb2x1bW4gLT0gNTtcbiAgcmV0dXJuIHN5bnRheEVycm9yKGBKU09ONTogaW52YWxpZCBpZGVudGlmaWVyIGNoYXJhY3RlciBhdCAke2xpbmV9OiR7Y29sdW1ufWApO1xufVxuZnVuY3Rpb24gc2VwYXJhdG9yQ2hhcihjMikge1xuICBjb25zb2xlLndhcm4oYEpTT041OiAnJHtmb3JtYXRDaGFyKGMyKX0nIGluIHN0cmluZ3MgaXMgbm90IHZhbGlkIEVDTUFTY3JpcHQ7IGNvbnNpZGVyIGVzY2FwaW5nYCk7XG59XG5mdW5jdGlvbiBmb3JtYXRDaGFyKGMyKSB7XG4gIGNvbnN0IHJlcGxhY2VtZW50cyA9IHtcbiAgICBcIidcIjogXCJcXFxcJ1wiLFxuICAgICdcIic6ICdcXFxcXCInLFxuICAgIFwiXFxcXFwiOiBcIlxcXFxcXFxcXCIsXG4gICAgXCJcXGJcIjogXCJcXFxcYlwiLFxuICAgIFwiXFxmXCI6IFwiXFxcXGZcIixcbiAgICBcIlxcblwiOiBcIlxcXFxuXCIsXG4gICAgXCJcXHJcIjogXCJcXFxcclwiLFxuICAgIFwiXHRcIjogXCJcXFxcdFwiLFxuICAgIFwiXFx2XCI6IFwiXFxcXHZcIixcbiAgICBcIlxcMFwiOiBcIlxcXFwwXCIsXG4gICAgXCJcXHUyMDI4XCI6IFwiXFxcXHUyMDI4XCIsXG4gICAgXCJcXHUyMDI5XCI6IFwiXFxcXHUyMDI5XCJcbiAgfTtcbiAgaWYgKHJlcGxhY2VtZW50c1tjMl0pIHtcbiAgICByZXR1cm4gcmVwbGFjZW1lbnRzW2MyXTtcbiAgfVxuICBpZiAoYzIgPCBcIiBcIikge1xuICAgIGNvbnN0IGhleFN0cmluZyA9IGMyLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpO1xuICAgIHJldHVybiBcIlxcXFx4XCIgKyAoXCIwMFwiICsgaGV4U3RyaW5nKS5zdWJzdHJpbmcoaGV4U3RyaW5nLmxlbmd0aCk7XG4gIH1cbiAgcmV0dXJuIGMyO1xufVxuZnVuY3Rpb24gc3ludGF4RXJyb3IobWVzc2FnZSkge1xuICBjb25zdCBlcnIgPSBuZXcgU3ludGF4RXJyb3IobWVzc2FnZSk7XG4gIGVyci5saW5lTnVtYmVyID0gbGluZTtcbiAgZXJyLmNvbHVtbk51bWJlciA9IGNvbHVtbjtcbiAgcmV0dXJuIGVycjtcbn1cbnZhciBkaXN0X2RlZmF1bHQgPSB7IHBhcnNlOiBwYXJzZTIgfTtcblxuLy8gbm9kZV9tb2R1bGVzL3BhcnNlLWpzb24vaW5kZXguanNcbnZhciBpbXBvcnRfY29kZV9mcmFtZSA9IF9fdG9FU00ocmVxdWlyZV9saWIyKCksIDEpO1xuXG4vLyBub2RlX21vZHVsZXMvaW5kZXgtdG8tcG9zaXRpb24vaW5kZXguanNcbnZhciBzYWZlTGFzdEluZGV4T2YgPSAoc3RyaW5nLCBzZWFyY2hTdHJpbmcsIGluZGV4KSA9PiBpbmRleCA8IDAgPyAtMSA6IHN0cmluZy5sYXN0SW5kZXhPZihzZWFyY2hTdHJpbmcsIGluZGV4KTtcbmZ1bmN0aW9uIGdldFBvc2l0aW9uKHRleHQsIHRleHRJbmRleCkge1xuICBjb25zdCBsaW5lQnJlYWtCZWZvcmUgPSBzYWZlTGFzdEluZGV4T2YodGV4dCwgXCJcXG5cIiwgdGV4dEluZGV4IC0gMSk7XG4gIGNvbnN0IGNvbHVtbjIgPSB0ZXh0SW5kZXggLSBsaW5lQnJlYWtCZWZvcmUgLSAxO1xuICBsZXQgbGluZTMgPSAwO1xuICBmb3IgKGxldCBpbmRleCA9IGxpbmVCcmVha0JlZm9yZTsgaW5kZXggPj0gMDsgaW5kZXggPSBzYWZlTGFzdEluZGV4T2YodGV4dCwgXCJcXG5cIiwgaW5kZXggLSAxKSkge1xuICAgIGxpbmUzKys7XG4gIH1cbiAgcmV0dXJuIHsgbGluZTogbGluZTMsIGNvbHVtbjogY29sdW1uMiB9O1xufVxuZnVuY3Rpb24gaW5kZXhUb0xpbmVDb2x1bW4odGV4dCwgdGV4dEluZGV4LCB7IG9uZUJhc2VkID0gZmFsc2UgfSA9IHt9KSB7XG4gIGlmICh0ZXh0SW5kZXggPCAwIHx8IHRleHRJbmRleCA+PSB0ZXh0Lmxlbmd0aCAmJiB0ZXh0Lmxlbmd0aCA+IDApIHtcbiAgICB0aHJvdyBuZXcgUmFuZ2VFcnJvcihcIkluZGV4IG91dCBvZiBib3VuZHNcIik7XG4gIH1cbiAgY29uc3QgcG9zaXRpb24gPSBnZXRQb3NpdGlvbih0ZXh0LCB0ZXh0SW5kZXgpO1xuICByZXR1cm4gb25lQmFzZWQgPyB7IGxpbmU6IHBvc2l0aW9uLmxpbmUgKyAxLCBjb2x1bW46IHBvc2l0aW9uLmNvbHVtbiArIDEgfSA6IHBvc2l0aW9uO1xufVxuXG4vLyBub2RlX21vZHVsZXMvcGFyc2UtanNvbi9pbmRleC5qc1xudmFyIGdldENvZGVQb2ludCA9IChjaGFyYWN0ZXIpID0+IGBcXFxcdXske2NoYXJhY3Rlci5jb2RlUG9pbnRBdCgwKS50b1N0cmluZygxNil9fWA7XG52YXIgX21lc3NhZ2U7XG52YXIgX0pTT05FcnJvciA9IGNsYXNzIF9KU09ORXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2UpIHtcbiAgICB2YXIgX2E7XG4gICAgc3VwZXIoKTtcbiAgICBfX3B1YmxpY0ZpZWxkKHRoaXMsIFwibmFtZVwiLCBcIkpTT05FcnJvclwiKTtcbiAgICBfX3B1YmxpY0ZpZWxkKHRoaXMsIFwiZmlsZU5hbWVcIik7XG4gICAgX19wdWJsaWNGaWVsZCh0aGlzLCBcImNvZGVGcmFtZVwiKTtcbiAgICBfX3B1YmxpY0ZpZWxkKHRoaXMsIFwicmF3Q29kZUZyYW1lXCIpO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfbWVzc2FnZSk7XG4gICAgX19wcml2YXRlU2V0KHRoaXMsIF9tZXNzYWdlLCBtZXNzYWdlKTtcbiAgICAoX2EgPSBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZSkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmNhbGwoRXJyb3IsIHRoaXMsIF9KU09ORXJyb3IpO1xuICB9XG4gIGdldCBtZXNzYWdlKCkge1xuICAgIGNvbnN0IHsgZmlsZU5hbWUsIGNvZGVGcmFtZSB9ID0gdGhpcztcbiAgICByZXR1cm4gYCR7X19wcml2YXRlR2V0KHRoaXMsIF9tZXNzYWdlKX0ke2ZpbGVOYW1lID8gYCBpbiAke2ZpbGVOYW1lfWAgOiBcIlwifSR7Y29kZUZyYW1lID8gYFxuXG4ke2NvZGVGcmFtZX1cbmAgOiBcIlwifWA7XG4gIH1cbiAgc2V0IG1lc3NhZ2UobWVzc2FnZSkge1xuICAgIF9fcHJpdmF0ZVNldCh0aGlzLCBfbWVzc2FnZSwgbWVzc2FnZSk7XG4gIH1cbn07XG5fbWVzc2FnZSA9IG5ldyBXZWFrTWFwKCk7XG52YXIgSlNPTkVycm9yID0gX0pTT05FcnJvcjtcbnZhciBnZW5lcmF0ZUNvZGVGcmFtZSA9IChzdHJpbmcsIGxvY2F0aW9uLCBoaWdobGlnaHRDb2RlID0gdHJ1ZSkgPT4gKDAsIGltcG9ydF9jb2RlX2ZyYW1lLmNvZGVGcmFtZUNvbHVtbnMpKHN0cmluZywgeyBzdGFydDogbG9jYXRpb24gfSwgeyBoaWdobGlnaHRDb2RlIH0pO1xudmFyIGdldEVycm9yTG9jYXRpb24gPSAoc3RyaW5nLCBtZXNzYWdlKSA9PiB7XG4gIGNvbnN0IG1hdGNoID0gbWVzc2FnZS5tYXRjaCgvaW4gSlNPTiBhdCBwb3NpdGlvbiAoPzxpbmRleD5cXGQrKSg/OiBcXChsaW5lICg/PGxpbmU+XFxkKykgY29sdW1uICg/PGNvbHVtbj5cXGQrKVxcKSk/JC8pO1xuICBpZiAoIW1hdGNoKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGxldCB7IGluZGV4LCBsaW5lOiBsaW5lMywgY29sdW1uOiBjb2x1bW4yIH0gPSBtYXRjaC5ncm91cHM7XG4gIGlmIChsaW5lMyAmJiBjb2x1bW4yKSB7XG4gICAgcmV0dXJuIHsgbGluZTogTnVtYmVyKGxpbmUzKSwgY29sdW1uOiBOdW1iZXIoY29sdW1uMikgfTtcbiAgfVxuICBpbmRleCA9IE51bWJlcihpbmRleCk7XG4gIGlmIChpbmRleCA9PT0gc3RyaW5nLmxlbmd0aCkge1xuICAgIGNvbnN0IHsgbGluZTogbGluZTQsIGNvbHVtbjogY29sdW1uMyB9ID0gaW5kZXhUb0xpbmVDb2x1bW4oc3RyaW5nLCBzdHJpbmcubGVuZ3RoIC0gMSwgeyBvbmVCYXNlZDogdHJ1ZSB9KTtcbiAgICByZXR1cm4geyBsaW5lOiBsaW5lNCwgY29sdW1uOiBjb2x1bW4zICsgMSB9O1xuICB9XG4gIHJldHVybiBpbmRleFRvTGluZUNvbHVtbihzdHJpbmcsIGluZGV4LCB7IG9uZUJhc2VkOiB0cnVlIH0pO1xufTtcbnZhciBhZGRDb2RlUG9pbnRUb1VuZXhwZWN0ZWRUb2tlbiA9IChtZXNzYWdlKSA9PiBtZXNzYWdlLnJlcGxhY2UoXG4gIC8vIFRPRE9bZW5naW5lOm5vZGVAPj0yMF06IFRoZSB0b2tlbiBhbHdheXMgcXVvdGVkIGFmdGVyIE5vZGUuanMgMjBcbiAgLyg/PD1eVW5leHBlY3RlZCB0b2tlbiApKD88cXVvdGU+Jyk/KC4pXFxrPHF1b3RlPi8sXG4gIChfLCBfcXVvdGUsIHRva2VuMikgPT4gYFwiJHt0b2tlbjJ9XCIoJHtnZXRDb2RlUG9pbnQodG9rZW4yKX0pYFxuKTtcbmZ1bmN0aW9uIHBhcnNlSnNvbihzdHJpbmcsIHJldml2ZXIsIGZpbGVOYW1lKSB7XG4gIGlmICh0eXBlb2YgcmV2aXZlciA9PT0gXCJzdHJpbmdcIikge1xuICAgIGZpbGVOYW1lID0gcmV2aXZlcjtcbiAgICByZXZpdmVyID0gdm9pZCAwO1xuICB9XG4gIGxldCBtZXNzYWdlO1xuICB0cnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHN0cmluZywgcmV2aXZlcik7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgbWVzc2FnZSA9IGVycm9yLm1lc3NhZ2U7XG4gIH1cbiAgbGV0IGxvY2F0aW9uO1xuICBpZiAoc3RyaW5nKSB7XG4gICAgbG9jYXRpb24gPSBnZXRFcnJvckxvY2F0aW9uKHN0cmluZywgbWVzc2FnZSk7XG4gICAgbWVzc2FnZSA9IGFkZENvZGVQb2ludFRvVW5leHBlY3RlZFRva2VuKG1lc3NhZ2UpO1xuICB9IGVsc2Uge1xuICAgIG1lc3NhZ2UgKz0gXCIgd2hpbGUgcGFyc2luZyBlbXB0eSBzdHJpbmdcIjtcbiAgfVxuICBjb25zdCBqc29uRXJyb3IgPSBuZXcgSlNPTkVycm9yKG1lc3NhZ2UpO1xuICBqc29uRXJyb3IuZmlsZU5hbWUgPSBmaWxlTmFtZTtcbiAgaWYgKGxvY2F0aW9uKSB7XG4gICAganNvbkVycm9yLmNvZGVGcmFtZSA9IGdlbmVyYXRlQ29kZUZyYW1lKHN0cmluZywgbG9jYXRpb24pO1xuICAgIGpzb25FcnJvci5yYXdDb2RlRnJhbWUgPSBnZW5lcmF0ZUNvZGVGcmFtZShcbiAgICAgIHN0cmluZyxcbiAgICAgIGxvY2F0aW9uLFxuICAgICAgLyogaGlnaGxpZ2h0Q29kZSAqL1xuICAgICAgZmFsc2VcbiAgICApO1xuICB9XG4gIHRocm93IGpzb25FcnJvcjtcbn1cblxuLy8gbm9kZV9tb2R1bGVzL3Ntb2wtdG9tbC9kaXN0L2Vycm9yLmpzXG5mdW5jdGlvbiBnZXRMaW5lQ29sRnJvbVB0cihzdHJpbmcsIHB0cikge1xuICBsZXQgbGluZXMgPSBzdHJpbmcuc2xpY2UoMCwgcHRyKS5zcGxpdCgvXFxyXFxufFxcbnxcXHIvZyk7XG4gIHJldHVybiBbbGluZXMubGVuZ3RoLCBsaW5lcy5wb3AoKS5sZW5ndGggKyAxXTtcbn1cbmZ1bmN0aW9uIG1ha2VDb2RlQmxvY2soc3RyaW5nLCBsaW5lMywgY29sdW1uMikge1xuICBsZXQgbGluZXMgPSBzdHJpbmcuc3BsaXQoL1xcclxcbnxcXG58XFxyL2cpO1xuICBsZXQgY29kZWJsb2NrID0gXCJcIjtcbiAgbGV0IG51bWJlckxlbiA9IChNYXRoLmxvZzEwKGxpbmUzICsgMSkgfCAwKSArIDE7XG4gIGZvciAobGV0IGkgPSBsaW5lMyAtIDE7IGkgPD0gbGluZTMgKyAxOyBpKyspIHtcbiAgICBsZXQgbCA9IGxpbmVzW2kgLSAxXTtcbiAgICBpZiAoIWwpXG4gICAgICBjb250aW51ZTtcbiAgICBjb2RlYmxvY2sgKz0gaS50b1N0cmluZygpLnBhZEVuZChudW1iZXJMZW4sIFwiIFwiKTtcbiAgICBjb2RlYmxvY2sgKz0gXCI6ICBcIjtcbiAgICBjb2RlYmxvY2sgKz0gbDtcbiAgICBjb2RlYmxvY2sgKz0gXCJcXG5cIjtcbiAgICBpZiAoaSA9PT0gbGluZTMpIHtcbiAgICAgIGNvZGVibG9jayArPSBcIiBcIi5yZXBlYXQobnVtYmVyTGVuICsgY29sdW1uMiArIDIpO1xuICAgICAgY29kZWJsb2NrICs9IFwiXlxcblwiO1xuICAgIH1cbiAgfVxuICByZXR1cm4gY29kZWJsb2NrO1xufVxudmFyIFRvbWxFcnJvciA9IGNsYXNzIGV4dGVuZHMgRXJyb3Ige1xuICBsaW5lO1xuICBjb2x1bW47XG4gIGNvZGVibG9jaztcbiAgY29uc3RydWN0b3IobWVzc2FnZSwgb3B0aW9uczgpIHtcbiAgICBjb25zdCBbbGluZTMsIGNvbHVtbjJdID0gZ2V0TGluZUNvbEZyb21QdHIob3B0aW9uczgudG9tbCwgb3B0aW9uczgucHRyKTtcbiAgICBjb25zdCBjb2RlYmxvY2sgPSBtYWtlQ29kZUJsb2NrKG9wdGlvbnM4LnRvbWwsIGxpbmUzLCBjb2x1bW4yKTtcbiAgICBzdXBlcihgSW52YWxpZCBUT01MIGRvY3VtZW50OiAke21lc3NhZ2V9XG5cbiR7Y29kZWJsb2NrfWAsIG9wdGlvbnM4KTtcbiAgICB0aGlzLmxpbmUgPSBsaW5lMztcbiAgICB0aGlzLmNvbHVtbiA9IGNvbHVtbjI7XG4gICAgdGhpcy5jb2RlYmxvY2sgPSBjb2RlYmxvY2s7XG4gIH1cbn07XG5cbi8vIG5vZGVfbW9kdWxlcy9zbW9sLXRvbWwvZGlzdC91dGlsLmpzXG5mdW5jdGlvbiBpbmRleE9mTmV3bGluZShzdHIyLCBzdGFydCA9IDAsIGVuZCA9IHN0cjIubGVuZ3RoKSB7XG4gIGxldCBpZHggPSBzdHIyLmluZGV4T2YoXCJcXG5cIiwgc3RhcnQpO1xuICBpZiAoc3RyMltpZHggLSAxXSA9PT0gXCJcXHJcIilcbiAgICBpZHgtLTtcbiAgcmV0dXJuIGlkeCA8PSBlbmQgPyBpZHggOiAtMTtcbn1cbmZ1bmN0aW9uIHNraXBDb21tZW50KHN0cjIsIHB0cikge1xuICBmb3IgKGxldCBpID0gcHRyOyBpIDwgc3RyMi5sZW5ndGg7IGkrKykge1xuICAgIGxldCBjMiA9IHN0cjJbaV07XG4gICAgaWYgKGMyID09PSBcIlxcblwiKVxuICAgICAgcmV0dXJuIGk7XG4gICAgaWYgKGMyID09PSBcIlxcclwiICYmIHN0cjJbaSArIDFdID09PSBcIlxcblwiKVxuICAgICAgcmV0dXJuIGkgKyAxO1xuICAgIGlmIChjMiA8IFwiIFwiICYmIGMyICE9PSBcIlx0XCIgfHwgYzIgPT09IFwiXFx4N0ZcIikge1xuICAgICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcImNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQgaW4gY29tbWVudHNcIiwge1xuICAgICAgICB0b21sOiBzdHIyLFxuICAgICAgICBwdHJcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gc3RyMi5sZW5ndGg7XG59XG5mdW5jdGlvbiBza2lwVm9pZChzdHIyLCBwdHIsIGJhbk5ld0xpbmVzLCBiYW5Db21tZW50cykge1xuICBsZXQgYzI7XG4gIHdoaWxlICgoYzIgPSBzdHIyW3B0cl0pID09PSBcIiBcIiB8fCBjMiA9PT0gXCJcdFwiIHx8ICFiYW5OZXdMaW5lcyAmJiAoYzIgPT09IFwiXFxuXCIgfHwgYzIgPT09IFwiXFxyXCIgJiYgc3RyMltwdHIgKyAxXSA9PT0gXCJcXG5cIikpXG4gICAgcHRyKys7XG4gIHJldHVybiBiYW5Db21tZW50cyB8fCBjMiAhPT0gXCIjXCIgPyBwdHIgOiBza2lwVm9pZChzdHIyLCBza2lwQ29tbWVudChzdHIyLCBwdHIpLCBiYW5OZXdMaW5lcyk7XG59XG5mdW5jdGlvbiBza2lwVW50aWwoc3RyMiwgcHRyLCBzZXAsIGVuZCwgYmFuTmV3TGluZXMgPSBmYWxzZSkge1xuICBpZiAoIWVuZCkge1xuICAgIHB0ciA9IGluZGV4T2ZOZXdsaW5lKHN0cjIsIHB0cik7XG4gICAgcmV0dXJuIHB0ciA8IDAgPyBzdHIyLmxlbmd0aCA6IHB0cjtcbiAgfVxuICBmb3IgKGxldCBpID0gcHRyOyBpIDwgc3RyMi5sZW5ndGg7IGkrKykge1xuICAgIGxldCBjMiA9IHN0cjJbaV07XG4gICAgaWYgKGMyID09PSBcIiNcIikge1xuICAgICAgaSA9IGluZGV4T2ZOZXdsaW5lKHN0cjIsIGkpO1xuICAgIH0gZWxzZSBpZiAoYzIgPT09IHNlcCkge1xuICAgICAgcmV0dXJuIGkgKyAxO1xuICAgIH0gZWxzZSBpZiAoYzIgPT09IGVuZCkge1xuICAgICAgcmV0dXJuIGk7XG4gICAgfSBlbHNlIGlmIChiYW5OZXdMaW5lcyAmJiAoYzIgPT09IFwiXFxuXCIgfHwgYzIgPT09IFwiXFxyXCIgJiYgc3RyMltpICsgMV0gPT09IFwiXFxuXCIpKSB7XG4gICAgICByZXR1cm4gaTtcbiAgICB9XG4gIH1cbiAgdGhyb3cgbmV3IFRvbWxFcnJvcihcImNhbm5vdCBmaW5kIGVuZCBvZiBzdHJ1Y3R1cmVcIiwge1xuICAgIHRvbWw6IHN0cjIsXG4gICAgcHRyXG4gIH0pO1xufVxuZnVuY3Rpb24gZ2V0U3RyaW5nRW5kKHN0cjIsIHNlZWspIHtcbiAgbGV0IGZpcnN0ID0gc3RyMltzZWVrXTtcbiAgbGV0IHRhcmdldCA9IGZpcnN0ID09PSBzdHIyW3NlZWsgKyAxXSAmJiBzdHIyW3NlZWsgKyAxXSA9PT0gc3RyMltzZWVrICsgMl0gPyBzdHIyLnNsaWNlKHNlZWssIHNlZWsgKyAzKSA6IGZpcnN0O1xuICBzZWVrICs9IHRhcmdldC5sZW5ndGggLSAxO1xuICBkb1xuICAgIHNlZWsgPSBzdHIyLmluZGV4T2YodGFyZ2V0LCArK3NlZWspO1xuICB3aGlsZSAoc2VlayA+IC0xICYmIGZpcnN0ICE9PSBcIidcIiAmJiBzdHIyW3NlZWsgLSAxXSA9PT0gXCJcXFxcXCIgJiYgc3RyMltzZWVrIC0gMl0gIT09IFwiXFxcXFwiKTtcbiAgaWYgKHNlZWsgPiAtMSkge1xuICAgIHNlZWsgKz0gdGFyZ2V0Lmxlbmd0aDtcbiAgICBpZiAodGFyZ2V0Lmxlbmd0aCA+IDEpIHtcbiAgICAgIGlmIChzdHIyW3NlZWtdID09PSBmaXJzdClcbiAgICAgICAgc2VlaysrO1xuICAgICAgaWYgKHN0cjJbc2Vla10gPT09IGZpcnN0KVxuICAgICAgICBzZWVrKys7XG4gICAgfVxuICB9XG4gIHJldHVybiBzZWVrO1xufVxuXG4vLyBub2RlX21vZHVsZXMvc21vbC10b21sL2Rpc3QvZGF0ZS5qc1xudmFyIERBVEVfVElNRV9SRSA9IC9eKFxcZHs0fS1cXGR7Mn0tXFxkezJ9KT9bVCBdPyg/OihcXGR7Mn0pOlxcZHsyfTpcXGR7Mn0oPzpcXC5cXGQrKT8pPyhafFstK11cXGR7Mn06XFxkezJ9KT8kL2k7XG52YXIgX2hhc0RhdGUsIF9oYXNUaW1lLCBfb2Zmc2V0O1xudmFyIF9Ub21sRGF0ZSA9IGNsYXNzIF9Ub21sRGF0ZSBleHRlbmRzIERhdGUge1xuICBjb25zdHJ1Y3RvcihkYXRlKSB7XG4gICAgbGV0IGhhc0RhdGUgPSB0cnVlO1xuICAgIGxldCBoYXNUaW1lID0gdHJ1ZTtcbiAgICBsZXQgb2Zmc2V0ID0gXCJaXCI7XG4gICAgaWYgKHR5cGVvZiBkYXRlID09PSBcInN0cmluZ1wiKSB7XG4gICAgICBsZXQgbWF0Y2ggPSBkYXRlLm1hdGNoKERBVEVfVElNRV9SRSk7XG4gICAgICBpZiAobWF0Y2gpIHtcbiAgICAgICAgaWYgKCFtYXRjaFsxXSkge1xuICAgICAgICAgIGhhc0RhdGUgPSBmYWxzZTtcbiAgICAgICAgICBkYXRlID0gYDAwMDAtMDEtMDFUJHtkYXRlfWA7XG4gICAgICAgIH1cbiAgICAgICAgaGFzVGltZSA9ICEhbWF0Y2hbMl07XG4gICAgICAgIGlmIChtYXRjaFsyXSAmJiArbWF0Y2hbMl0gPiAyMykge1xuICAgICAgICAgIGRhdGUgPSBcIlwiO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9mZnNldCA9IG1hdGNoWzNdIHx8IG51bGw7XG4gICAgICAgICAgZGF0ZSA9IGRhdGUudG9VcHBlckNhc2UoKTtcbiAgICAgICAgICBpZiAoIW9mZnNldCAmJiBoYXNUaW1lKVxuICAgICAgICAgICAgZGF0ZSArPSBcIlpcIjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZGF0ZSA9IFwiXCI7XG4gICAgICB9XG4gICAgfVxuICAgIHN1cGVyKGRhdGUpO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfaGFzRGF0ZSwgZmFsc2UpO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfaGFzVGltZSwgZmFsc2UpO1xuICAgIF9fcHJpdmF0ZUFkZCh0aGlzLCBfb2Zmc2V0LCBudWxsKTtcbiAgICBpZiAoIWlzTmFOKHRoaXMuZ2V0VGltZSgpKSkge1xuICAgICAgX19wcml2YXRlU2V0KHRoaXMsIF9oYXNEYXRlLCBoYXNEYXRlKTtcbiAgICAgIF9fcHJpdmF0ZVNldCh0aGlzLCBfaGFzVGltZSwgaGFzVGltZSk7XG4gICAgICBfX3ByaXZhdGVTZXQodGhpcywgX29mZnNldCwgb2Zmc2V0KTtcbiAgICB9XG4gIH1cbiAgaXNEYXRlVGltZSgpIHtcbiAgICByZXR1cm4gX19wcml2YXRlR2V0KHRoaXMsIF9oYXNEYXRlKSAmJiBfX3ByaXZhdGVHZXQodGhpcywgX2hhc1RpbWUpO1xuICB9XG4gIGlzTG9jYWwoKSB7XG4gICAgcmV0dXJuICFfX3ByaXZhdGVHZXQodGhpcywgX2hhc0RhdGUpIHx8ICFfX3ByaXZhdGVHZXQodGhpcywgX2hhc1RpbWUpIHx8ICFfX3ByaXZhdGVHZXQodGhpcywgX29mZnNldCk7XG4gIH1cbiAgaXNEYXRlKCkge1xuICAgIHJldHVybiBfX3ByaXZhdGVHZXQodGhpcywgX2hhc0RhdGUpICYmICFfX3ByaXZhdGVHZXQodGhpcywgX2hhc1RpbWUpO1xuICB9XG4gIGlzVGltZSgpIHtcbiAgICByZXR1cm4gX19wcml2YXRlR2V0KHRoaXMsIF9oYXNUaW1lKSAmJiAhX19wcml2YXRlR2V0KHRoaXMsIF9oYXNEYXRlKTtcbiAgfVxuICBpc1ZhbGlkKCkge1xuICAgIHJldHVybiBfX3ByaXZhdGVHZXQodGhpcywgX2hhc0RhdGUpIHx8IF9fcHJpdmF0ZUdldCh0aGlzLCBfaGFzVGltZSk7XG4gIH1cbiAgdG9JU09TdHJpbmcoKSB7XG4gICAgbGV0IGlzbyA9IHN1cGVyLnRvSVNPU3RyaW5nKCk7XG4gICAgaWYgKHRoaXMuaXNEYXRlKCkpXG4gICAgICByZXR1cm4gaXNvLnNsaWNlKDAsIDEwKTtcbiAgICBpZiAodGhpcy5pc1RpbWUoKSlcbiAgICAgIHJldHVybiBpc28uc2xpY2UoMTEsIDIzKTtcbiAgICBpZiAoX19wcml2YXRlR2V0KHRoaXMsIF9vZmZzZXQpID09PSBudWxsKVxuICAgICAgcmV0dXJuIGlzby5zbGljZSgwLCAtMSk7XG4gICAgaWYgKF9fcHJpdmF0ZUdldCh0aGlzLCBfb2Zmc2V0KSA9PT0gXCJaXCIpXG4gICAgICByZXR1cm4gaXNvO1xuICAgIGxldCBvZmZzZXQgPSArX19wcml2YXRlR2V0KHRoaXMsIF9vZmZzZXQpLnNsaWNlKDEsIDMpICogNjAgKyArX19wcml2YXRlR2V0KHRoaXMsIF9vZmZzZXQpLnNsaWNlKDQsIDYpO1xuICAgIG9mZnNldCA9IF9fcHJpdmF0ZUdldCh0aGlzLCBfb2Zmc2V0KVswXSA9PT0gXCItXCIgPyBvZmZzZXQgOiAtb2Zmc2V0O1xuICAgIGxldCBvZmZzZXREYXRlID0gbmV3IERhdGUodGhpcy5nZXRUaW1lKCkgLSBvZmZzZXQgKiA2ZTQpO1xuICAgIHJldHVybiBvZmZzZXREYXRlLnRvSVNPU3RyaW5nKCkuc2xpY2UoMCwgLTEpICsgX19wcml2YXRlR2V0KHRoaXMsIF9vZmZzZXQpO1xuICB9XG4gIHN0YXRpYyB3cmFwQXNPZmZzZXREYXRlVGltZShqc0RhdGUsIG9mZnNldCA9IFwiWlwiKSB7XG4gICAgbGV0IGRhdGUgPSBuZXcgX1RvbWxEYXRlKGpzRGF0ZSk7XG4gICAgX19wcml2YXRlU2V0KGRhdGUsIF9vZmZzZXQsIG9mZnNldCk7XG4gICAgcmV0dXJuIGRhdGU7XG4gIH1cbiAgc3RhdGljIHdyYXBBc0xvY2FsRGF0ZVRpbWUoanNEYXRlKSB7XG4gICAgbGV0IGRhdGUgPSBuZXcgX1RvbWxEYXRlKGpzRGF0ZSk7XG4gICAgX19wcml2YXRlU2V0KGRhdGUsIF9vZmZzZXQsIG51bGwpO1xuICAgIHJldHVybiBkYXRlO1xuICB9XG4gIHN0YXRpYyB3cmFwQXNMb2NhbERhdGUoanNEYXRlKSB7XG4gICAgbGV0IGRhdGUgPSBuZXcgX1RvbWxEYXRlKGpzRGF0ZSk7XG4gICAgX19wcml2YXRlU2V0KGRhdGUsIF9oYXNUaW1lLCBmYWxzZSk7XG4gICAgX19wcml2YXRlU2V0KGRhdGUsIF9vZmZzZXQsIG51bGwpO1xuICAgIHJldHVybiBkYXRlO1xuICB9XG4gIHN0YXRpYyB3cmFwQXNMb2NhbFRpbWUoanNEYXRlKSB7XG4gICAgbGV0IGRhdGUgPSBuZXcgX1RvbWxEYXRlKGpzRGF0ZSk7XG4gICAgX19wcml2YXRlU2V0KGRhdGUsIF9oYXNEYXRlLCBmYWxzZSk7XG4gICAgX19wcml2YXRlU2V0KGRhdGUsIF9vZmZzZXQsIG51bGwpO1xuICAgIHJldHVybiBkYXRlO1xuICB9XG59O1xuX2hhc0RhdGUgPSBuZXcgV2Vha01hcCgpO1xuX2hhc1RpbWUgPSBuZXcgV2Vha01hcCgpO1xuX29mZnNldCA9IG5ldyBXZWFrTWFwKCk7XG52YXIgVG9tbERhdGUgPSBfVG9tbERhdGU7XG5cbi8vIG5vZGVfbW9kdWxlcy9zbW9sLXRvbWwvZGlzdC9wcmltaXRpdmUuanNcbnZhciBJTlRfUkVHRVggPSAvXigoMHhbMC05YS1mQS1GXShfP1swLTlhLWZBLUZdKSopfCgoWystXXwwW29iXSk/XFxkKF8/XFxkKSopKSQvO1xudmFyIEZMT0FUX1JFR0VYID0gL15bKy1dP1xcZChfP1xcZCkqKFxcLlxcZChfP1xcZCkqKT8oW2VFXVsrLV0/XFxkKF8/XFxkKSopPyQvO1xudmFyIExFQURJTkdfWkVSTyA9IC9eWystXT8wWzAtOV9dLztcbnZhciBFU0NBUEVfUkVHRVggPSAvXlswLTlhLWZdezQsOH0kL2k7XG52YXIgRVNDX01BUCA9IHtcbiAgYjogXCJcXGJcIixcbiAgdDogXCJcdFwiLFxuICBuOiBcIlxcblwiLFxuICBmOiBcIlxcZlwiLFxuICByOiBcIlxcclwiLFxuICAnXCInOiAnXCInLFxuICBcIlxcXFxcIjogXCJcXFxcXCJcbn07XG5mdW5jdGlvbiBwYXJzZVN0cmluZyhzdHIyLCBwdHIgPSAwLCBlbmRQdHIgPSBzdHIyLmxlbmd0aCkge1xuICBsZXQgaXNMaXRlcmFsID0gc3RyMltwdHJdID09PSBcIidcIjtcbiAgbGV0IGlzTXVsdGlsaW5lID0gc3RyMltwdHIrK10gPT09IHN0cjJbcHRyXSAmJiBzdHIyW3B0cl0gPT09IHN0cjJbcHRyICsgMV07XG4gIGlmIChpc011bHRpbGluZSkge1xuICAgIGVuZFB0ciAtPSAyO1xuICAgIGlmIChzdHIyW3B0ciArPSAyXSA9PT0gXCJcXHJcIilcbiAgICAgIHB0cisrO1xuICAgIGlmIChzdHIyW3B0cl0gPT09IFwiXFxuXCIpXG4gICAgICBwdHIrKztcbiAgfVxuICBsZXQgdG1wID0gMDtcbiAgbGV0IGlzRXNjYXBlO1xuICBsZXQgcGFyc2VkID0gXCJcIjtcbiAgbGV0IHNsaWNlU3RhcnQgPSBwdHI7XG4gIHdoaWxlIChwdHIgPCBlbmRQdHIgLSAxKSB7XG4gICAgbGV0IGMyID0gc3RyMltwdHIrK107XG4gICAgaWYgKGMyID09PSBcIlxcblwiIHx8IGMyID09PSBcIlxcclwiICYmIHN0cjJbcHRyXSA9PT0gXCJcXG5cIikge1xuICAgICAgaWYgKCFpc011bHRpbGluZSkge1xuICAgICAgICB0aHJvdyBuZXcgVG9tbEVycm9yKFwibmV3bGluZXMgYXJlIG5vdCBhbGxvd2VkIGluIHN0cmluZ3NcIiwge1xuICAgICAgICAgIHRvbWw6IHN0cjIsXG4gICAgICAgICAgcHRyOiBwdHIgLSAxXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYzIgPCBcIiBcIiAmJiBjMiAhPT0gXCJcdFwiIHx8IGMyID09PSBcIlxceDdGXCIpIHtcbiAgICAgIHRocm93IG5ldyBUb21sRXJyb3IoXCJjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIGluIHN0cmluZ3NcIiwge1xuICAgICAgICB0b21sOiBzdHIyLFxuICAgICAgICBwdHI6IHB0ciAtIDFcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoaXNFc2NhcGUpIHtcbiAgICAgIGlzRXNjYXBlID0gZmFsc2U7XG4gICAgICBpZiAoYzIgPT09IFwidVwiIHx8IGMyID09PSBcIlVcIikge1xuICAgICAgICBsZXQgY29kZSA9IHN0cjIuc2xpY2UocHRyLCBwdHIgKz0gYzIgPT09IFwidVwiID8gNCA6IDgpO1xuICAgICAgICBpZiAoIUVTQ0FQRV9SRUdFWC50ZXN0KGNvZGUpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcImludmFsaWQgdW5pY29kZSBlc2NhcGVcIiwge1xuICAgICAgICAgICAgdG9tbDogc3RyMixcbiAgICAgICAgICAgIHB0cjogdG1wXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBwYXJzZWQgKz0gU3RyaW5nLmZyb21Db2RlUG9pbnQocGFyc2VJbnQoY29kZSwgMTYpKTtcbiAgICAgICAgfSBjYXRjaCB7XG4gICAgICAgICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcImludmFsaWQgdW5pY29kZSBlc2NhcGVcIiwge1xuICAgICAgICAgICAgdG9tbDogc3RyMixcbiAgICAgICAgICAgIHB0cjogdG1wXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNNdWx0aWxpbmUgJiYgKGMyID09PSBcIlxcblwiIHx8IGMyID09PSBcIiBcIiB8fCBjMiA9PT0gXCJcdFwiIHx8IGMyID09PSBcIlxcclwiKSkge1xuICAgICAgICBwdHIgPSBza2lwVm9pZChzdHIyLCBwdHIgLSAxLCB0cnVlKTtcbiAgICAgICAgaWYgKHN0cjJbcHRyXSAhPT0gXCJcXG5cIiAmJiBzdHIyW3B0cl0gIT09IFwiXFxyXCIpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVG9tbEVycm9yKFwiaW52YWxpZCBlc2NhcGU6IG9ubHkgbGluZS1lbmRpbmcgd2hpdGVzcGFjZSBtYXkgYmUgZXNjYXBlZFwiLCB7XG4gICAgICAgICAgICB0b21sOiBzdHIyLFxuICAgICAgICAgICAgcHRyOiB0bXBcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBwdHIgPSBza2lwVm9pZChzdHIyLCBwdHIpO1xuICAgICAgfSBlbHNlIGlmIChjMiBpbiBFU0NfTUFQKSB7XG4gICAgICAgIHBhcnNlZCArPSBFU0NfTUFQW2MyXTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBUb21sRXJyb3IoXCJ1bnJlY29nbml6ZWQgZXNjYXBlIHNlcXVlbmNlXCIsIHtcbiAgICAgICAgICB0b21sOiBzdHIyLFxuICAgICAgICAgIHB0cjogdG1wXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgc2xpY2VTdGFydCA9IHB0cjtcbiAgICB9IGVsc2UgaWYgKCFpc0xpdGVyYWwgJiYgYzIgPT09IFwiXFxcXFwiKSB7XG4gICAgICB0bXAgPSBwdHIgLSAxO1xuICAgICAgaXNFc2NhcGUgPSB0cnVlO1xuICAgICAgcGFyc2VkICs9IHN0cjIuc2xpY2Uoc2xpY2VTdGFydCwgdG1wKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHBhcnNlZCArIHN0cjIuc2xpY2Uoc2xpY2VTdGFydCwgZW5kUHRyIC0gMSk7XG59XG5mdW5jdGlvbiBwYXJzZVZhbHVlKHZhbHVlLCB0b21sLCBwdHIpIHtcbiAgaWYgKHZhbHVlID09PSBcInRydWVcIilcbiAgICByZXR1cm4gdHJ1ZTtcbiAgaWYgKHZhbHVlID09PSBcImZhbHNlXCIpXG4gICAgcmV0dXJuIGZhbHNlO1xuICBpZiAodmFsdWUgPT09IFwiLWluZlwiKVxuICAgIHJldHVybiAtSW5maW5pdHk7XG4gIGlmICh2YWx1ZSA9PT0gXCJpbmZcIiB8fCB2YWx1ZSA9PT0gXCIraW5mXCIpXG4gICAgcmV0dXJuIEluZmluaXR5O1xuICBpZiAodmFsdWUgPT09IFwibmFuXCIgfHwgdmFsdWUgPT09IFwiK25hblwiIHx8IHZhbHVlID09PSBcIi1uYW5cIilcbiAgICByZXR1cm4gTmFOO1xuICBpZiAodmFsdWUgPT09IFwiLTBcIilcbiAgICByZXR1cm4gMDtcbiAgbGV0IGlzSW50MjtcbiAgaWYgKChpc0ludDIgPSBJTlRfUkVHRVgudGVzdCh2YWx1ZSkpIHx8IEZMT0FUX1JFR0VYLnRlc3QodmFsdWUpKSB7XG4gICAgaWYgKExFQURJTkdfWkVSTy50ZXN0KHZhbHVlKSkge1xuICAgICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcImxlYWRpbmcgemVyb2VzIGFyZSBub3QgYWxsb3dlZFwiLCB7XG4gICAgICAgIHRvbWwsXG4gICAgICAgIHB0clxuICAgICAgfSk7XG4gICAgfVxuICAgIGxldCBudW1lcmljID0gK3ZhbHVlLnJlcGxhY2UoL18vZywgXCJcIik7XG4gICAgaWYgKGlzTmFOKG51bWVyaWMpKSB7XG4gICAgICB0aHJvdyBuZXcgVG9tbEVycm9yKFwiaW52YWxpZCBudW1iZXJcIiwge1xuICAgICAgICB0b21sLFxuICAgICAgICBwdHJcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoaXNJbnQyICYmICFOdW1iZXIuaXNTYWZlSW50ZWdlcihudW1lcmljKSkge1xuICAgICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcImludGVnZXIgdmFsdWUgY2Fubm90IGJlIHJlcHJlc2VudGVkIGxvc3NsZXNzbHlcIiwge1xuICAgICAgICB0b21sLFxuICAgICAgICBwdHJcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gbnVtZXJpYztcbiAgfVxuICBsZXQgZGF0ZSA9IG5ldyBUb21sRGF0ZSh2YWx1ZSk7XG4gIGlmICghZGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICB0aHJvdyBuZXcgVG9tbEVycm9yKFwiaW52YWxpZCB2YWx1ZVwiLCB7XG4gICAgICB0b21sLFxuICAgICAgcHRyXG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIGRhdGU7XG59XG5cbi8vIG5vZGVfbW9kdWxlcy9zbW9sLXRvbWwvZGlzdC9leHRyYWN0LmpzXG5mdW5jdGlvbiBzbGljZUFuZFRyaW1FbmRPZihzdHIyLCBzdGFydFB0ciwgZW5kUHRyLCBhbGxvd05ld0xpbmVzKSB7XG4gIGxldCB2YWx1ZSA9IHN0cjIuc2xpY2Uoc3RhcnRQdHIsIGVuZFB0cik7XG4gIGxldCBjb21tZW50SWR4ID0gdmFsdWUuaW5kZXhPZihcIiNcIik7XG4gIGlmIChjb21tZW50SWR4ID4gLTEpIHtcbiAgICBza2lwQ29tbWVudChzdHIyLCBjb21tZW50SWR4KTtcbiAgICB2YWx1ZSA9IHZhbHVlLnNsaWNlKDAsIGNvbW1lbnRJZHgpO1xuICB9XG4gIGxldCB0cmltbWVkID0gdmFsdWUudHJpbUVuZCgpO1xuICBpZiAoIWFsbG93TmV3TGluZXMpIHtcbiAgICBsZXQgbmV3bGluZUlkeCA9IHZhbHVlLmluZGV4T2YoXCJcXG5cIiwgdHJpbW1lZC5sZW5ndGgpO1xuICAgIGlmIChuZXdsaW5lSWR4ID4gLTEpIHtcbiAgICAgIHRocm93IG5ldyBUb21sRXJyb3IoXCJuZXdsaW5lcyBhcmUgbm90IGFsbG93ZWQgaW4gaW5saW5lIHRhYmxlc1wiLCB7XG4gICAgICAgIHRvbWw6IHN0cjIsXG4gICAgICAgIHB0cjogc3RhcnRQdHIgKyBuZXdsaW5lSWR4XG4gICAgICB9KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIFt0cmltbWVkLCBjb21tZW50SWR4XTtcbn1cbmZ1bmN0aW9uIGV4dHJhY3RWYWx1ZShzdHIyLCBwdHIsIGVuZCwgZGVwdGgpIHtcbiAgaWYgKGRlcHRoID09PSAwKSB7XG4gICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcImRvY3VtZW50IGNvbnRhaW5zIGV4Y2Vzc2l2ZWx5IG5lc3RlZCBzdHJ1Y3R1cmVzLiBhYm9ydGluZy5cIiwge1xuICAgICAgdG9tbDogc3RyMixcbiAgICAgIHB0clxuICAgIH0pO1xuICB9XG4gIGxldCBjMiA9IHN0cjJbcHRyXTtcbiAgaWYgKGMyID09PSBcIltcIiB8fCBjMiA9PT0gXCJ7XCIpIHtcbiAgICBsZXQgW3ZhbHVlLCBlbmRQdHIyXSA9IGMyID09PSBcIltcIiA/IHBhcnNlQXJyYXkoc3RyMiwgcHRyLCBkZXB0aCkgOiBwYXJzZUlubGluZVRhYmxlKHN0cjIsIHB0ciwgZGVwdGgpO1xuICAgIGxldCBuZXdQdHIgPSBza2lwVW50aWwoc3RyMiwgZW5kUHRyMiwgXCIsXCIsIGVuZCk7XG4gICAgaWYgKGVuZCA9PT0gXCJ9XCIpIHtcbiAgICAgIGxldCBuZXh0TmV3TGluZSA9IGluZGV4T2ZOZXdsaW5lKHN0cjIsIGVuZFB0cjIsIG5ld1B0cik7XG4gICAgICBpZiAobmV4dE5ld0xpbmUgPiAtMSkge1xuICAgICAgICB0aHJvdyBuZXcgVG9tbEVycm9yKFwibmV3bGluZXMgYXJlIG5vdCBhbGxvd2VkIGluIGlubGluZSB0YWJsZXNcIiwge1xuICAgICAgICAgIHRvbWw6IHN0cjIsXG4gICAgICAgICAgcHRyOiBuZXh0TmV3TGluZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIFt2YWx1ZSwgbmV3UHRyXTtcbiAgfVxuICBsZXQgZW5kUHRyO1xuICBpZiAoYzIgPT09ICdcIicgfHwgYzIgPT09IFwiJ1wiKSB7XG4gICAgZW5kUHRyID0gZ2V0U3RyaW5nRW5kKHN0cjIsIHB0cik7XG4gICAgbGV0IHBhcnNlZCA9IHBhcnNlU3RyaW5nKHN0cjIsIHB0ciwgZW5kUHRyKTtcbiAgICBpZiAoZW5kKSB7XG4gICAgICBlbmRQdHIgPSBza2lwVm9pZChzdHIyLCBlbmRQdHIsIGVuZCAhPT0gXCJdXCIpO1xuICAgICAgaWYgKHN0cjJbZW5kUHRyXSAmJiBzdHIyW2VuZFB0cl0gIT09IFwiLFwiICYmIHN0cjJbZW5kUHRyXSAhPT0gZW5kICYmIHN0cjJbZW5kUHRyXSAhPT0gXCJcXG5cIiAmJiBzdHIyW2VuZFB0cl0gIT09IFwiXFxyXCIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcInVuZXhwZWN0ZWQgY2hhcmFjdGVyIGVuY291bnRlcmVkXCIsIHtcbiAgICAgICAgICB0b21sOiBzdHIyLFxuICAgICAgICAgIHB0cjogZW5kUHRyXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgZW5kUHRyICs9ICsoc3RyMltlbmRQdHJdID09PSBcIixcIik7XG4gICAgfVxuICAgIHJldHVybiBbcGFyc2VkLCBlbmRQdHJdO1xuICB9XG4gIGVuZFB0ciA9IHNraXBVbnRpbChzdHIyLCBwdHIsIFwiLFwiLCBlbmQpO1xuICBsZXQgc2xpY2UgPSBzbGljZUFuZFRyaW1FbmRPZihzdHIyLCBwdHIsIGVuZFB0ciAtICsoc3RyMltlbmRQdHIgLSAxXSA9PT0gXCIsXCIpLCBlbmQgPT09IFwiXVwiKTtcbiAgaWYgKCFzbGljZVswXSkge1xuICAgIHRocm93IG5ldyBUb21sRXJyb3IoXCJpbmNvbXBsZXRlIGtleS12YWx1ZSBkZWNsYXJhdGlvbjogbm8gdmFsdWUgc3BlY2lmaWVkXCIsIHtcbiAgICAgIHRvbWw6IHN0cjIsXG4gICAgICBwdHJcbiAgICB9KTtcbiAgfVxuICBpZiAoZW5kICYmIHNsaWNlWzFdID4gLTEpIHtcbiAgICBlbmRQdHIgPSBza2lwVm9pZChzdHIyLCBwdHIgKyBzbGljZVsxXSk7XG4gICAgZW5kUHRyICs9ICsoc3RyMltlbmRQdHJdID09PSBcIixcIik7XG4gIH1cbiAgcmV0dXJuIFtcbiAgICBwYXJzZVZhbHVlKHNsaWNlWzBdLCBzdHIyLCBwdHIpLFxuICAgIGVuZFB0clxuICBdO1xufVxuXG4vLyBub2RlX21vZHVsZXMvc21vbC10b21sL2Rpc3Qvc3RydWN0LmpzXG52YXIgS0VZX1BBUlRfUkUgPSAvXlthLXpBLVowLTktX10rWyBcXHRdKiQvO1xuZnVuY3Rpb24gcGFyc2VLZXkoc3RyMiwgcHRyLCBlbmQgPSBcIj1cIikge1xuICBsZXQgZG90ID0gcHRyIC0gMTtcbiAgbGV0IHBhcnNlZCA9IFtdO1xuICBsZXQgZW5kUHRyID0gc3RyMi5pbmRleE9mKGVuZCwgcHRyKTtcbiAgaWYgKGVuZFB0ciA8IDApIHtcbiAgICB0aHJvdyBuZXcgVG9tbEVycm9yKFwiaW5jb21wbGV0ZSBrZXktdmFsdWU6IGNhbm5vdCBmaW5kIGVuZCBvZiBrZXlcIiwge1xuICAgICAgdG9tbDogc3RyMixcbiAgICAgIHB0clxuICAgIH0pO1xuICB9XG4gIGRvIHtcbiAgICBsZXQgYzIgPSBzdHIyW3B0ciA9ICsrZG90XTtcbiAgICBpZiAoYzIgIT09IFwiIFwiICYmIGMyICE9PSBcIlx0XCIpIHtcbiAgICAgIGlmIChjMiA9PT0gJ1wiJyB8fCBjMiA9PT0gXCInXCIpIHtcbiAgICAgICAgaWYgKGMyID09PSBzdHIyW3B0ciArIDFdICYmIGMyID09PSBzdHIyW3B0ciArIDJdKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcIm11bHRpbGluZSBzdHJpbmdzIGFyZSBub3QgYWxsb3dlZCBpbiBrZXlzXCIsIHtcbiAgICAgICAgICAgIHRvbWw6IHN0cjIsXG4gICAgICAgICAgICBwdHJcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgZW9zID0gZ2V0U3RyaW5nRW5kKHN0cjIsIHB0cik7XG4gICAgICAgIGlmIChlb3MgPCAwKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcInVuZmluaXNoZWQgc3RyaW5nIGVuY291bnRlcmVkXCIsIHtcbiAgICAgICAgICAgIHRvbWw6IHN0cjIsXG4gICAgICAgICAgICBwdHJcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBkb3QgPSBzdHIyLmluZGV4T2YoXCIuXCIsIGVvcyk7XG4gICAgICAgIGxldCBzdHJFbmQgPSBzdHIyLnNsaWNlKGVvcywgZG90IDwgMCB8fCBkb3QgPiBlbmRQdHIgPyBlbmRQdHIgOiBkb3QpO1xuICAgICAgICBsZXQgbmV3TGluZSA9IGluZGV4T2ZOZXdsaW5lKHN0ckVuZCk7XG4gICAgICAgIGlmIChuZXdMaW5lID4gLTEpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVG9tbEVycm9yKFwibmV3bGluZXMgYXJlIG5vdCBhbGxvd2VkIGluIGtleXNcIiwge1xuICAgICAgICAgICAgdG9tbDogc3RyMixcbiAgICAgICAgICAgIHB0cjogcHRyICsgZG90ICsgbmV3TGluZVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChzdHJFbmQudHJpbVN0YXJ0KCkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVG9tbEVycm9yKFwiZm91bmQgZXh0cmEgdG9rZW5zIGFmdGVyIHRoZSBzdHJpbmcgcGFydFwiLCB7XG4gICAgICAgICAgICB0b21sOiBzdHIyLFxuICAgICAgICAgICAgcHRyOiBlb3NcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW5kUHRyIDwgZW9zKSB7XG4gICAgICAgICAgZW5kUHRyID0gc3RyMi5pbmRleE9mKGVuZCwgZW9zKTtcbiAgICAgICAgICBpZiAoZW5kUHRyIDwgMCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcImluY29tcGxldGUga2V5LXZhbHVlOiBjYW5ub3QgZmluZCBlbmQgb2Yga2V5XCIsIHtcbiAgICAgICAgICAgICAgdG9tbDogc3RyMixcbiAgICAgICAgICAgICAgcHRyXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcGFyc2VkLnB1c2gocGFyc2VTdHJpbmcoc3RyMiwgcHRyLCBlb3MpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGRvdCA9IHN0cjIuaW5kZXhPZihcIi5cIiwgcHRyKTtcbiAgICAgICAgbGV0IHBhcnQgPSBzdHIyLnNsaWNlKHB0ciwgZG90IDwgMCB8fCBkb3QgPiBlbmRQdHIgPyBlbmRQdHIgOiBkb3QpO1xuICAgICAgICBpZiAoIUtFWV9QQVJUX1JFLnRlc3QocGFydCkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVG9tbEVycm9yKFwib25seSBsZXR0ZXIsIG51bWJlcnMsIGRhc2hlcyBhbmQgdW5kZXJzY29yZXMgYXJlIGFsbG93ZWQgaW4ga2V5c1wiLCB7XG4gICAgICAgICAgICB0b21sOiBzdHIyLFxuICAgICAgICAgICAgcHRyXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgcGFyc2VkLnB1c2gocGFydC50cmltRW5kKCkpO1xuICAgICAgfVxuICAgIH1cbiAgfSB3aGlsZSAoZG90ICsgMSAmJiBkb3QgPCBlbmRQdHIpO1xuICByZXR1cm4gW3BhcnNlZCwgc2tpcFZvaWQoc3RyMiwgZW5kUHRyICsgMSwgdHJ1ZSwgdHJ1ZSldO1xufVxuZnVuY3Rpb24gcGFyc2VJbmxpbmVUYWJsZShzdHIyLCBwdHIsIGRlcHRoKSB7XG4gIGxldCByZXMgPSB7fTtcbiAgbGV0IHNlZW4gPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpO1xuICBsZXQgYzI7XG4gIGxldCBjb21tYSA9IDA7XG4gIHB0cisrO1xuICB3aGlsZSAoKGMyID0gc3RyMltwdHIrK10pICE9PSBcIn1cIiAmJiBjMikge1xuICAgIGlmIChjMiA9PT0gXCJcXG5cIikge1xuICAgICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcIm5ld2xpbmVzIGFyZSBub3QgYWxsb3dlZCBpbiBpbmxpbmUgdGFibGVzXCIsIHtcbiAgICAgICAgdG9tbDogc3RyMixcbiAgICAgICAgcHRyOiBwdHIgLSAxXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGMyID09PSBcIiNcIikge1xuICAgICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcImlubGluZSB0YWJsZXMgY2Fubm90IGNvbnRhaW4gY29tbWVudHNcIiwge1xuICAgICAgICB0b21sOiBzdHIyLFxuICAgICAgICBwdHI6IHB0ciAtIDFcbiAgICAgIH0pO1xuICAgIH0gZWxzZSBpZiAoYzIgPT09IFwiLFwiKSB7XG4gICAgICB0aHJvdyBuZXcgVG9tbEVycm9yKFwiZXhwZWN0ZWQga2V5LXZhbHVlLCBmb3VuZCBjb21tYVwiLCB7XG4gICAgICAgIHRvbWw6IHN0cjIsXG4gICAgICAgIHB0cjogcHRyIC0gMVxuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChjMiAhPT0gXCIgXCIgJiYgYzIgIT09IFwiXHRcIikge1xuICAgICAgbGV0IGs7XG4gICAgICBsZXQgdCA9IHJlcztcbiAgICAgIGxldCBoYXNPd24gPSBmYWxzZTtcbiAgICAgIGxldCBba2V5Miwga2V5RW5kUHRyXSA9IHBhcnNlS2V5KHN0cjIsIHB0ciAtIDEpO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBrZXkyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlmIChpKVxuICAgICAgICAgIHQgPSBoYXNPd24gPyB0W2tdIDogdFtrXSA9IHt9O1xuICAgICAgICBrID0ga2V5MltpXTtcbiAgICAgICAgaWYgKChoYXNPd24gPSBPYmplY3QuaGFzT3duKHQsIGspKSAmJiAodHlwZW9mIHRba10gIT09IFwib2JqZWN0XCIgfHwgc2Vlbi5oYXModFtrXSkpKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcInRyeWluZyB0byByZWRlZmluZSBhbiBhbHJlYWR5IGRlZmluZWQgdmFsdWVcIiwge1xuICAgICAgICAgICAgdG9tbDogc3RyMixcbiAgICAgICAgICAgIHB0clxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGlmICghaGFzT3duICYmIGsgPT09IFwiX19wcm90b19fXCIpIHtcbiAgICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgaywgeyBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoaGFzT3duKSB7XG4gICAgICAgIHRocm93IG5ldyBUb21sRXJyb3IoXCJ0cnlpbmcgdG8gcmVkZWZpbmUgYW4gYWxyZWFkeSBkZWZpbmVkIHZhbHVlXCIsIHtcbiAgICAgICAgICB0b21sOiBzdHIyLFxuICAgICAgICAgIHB0clxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIGxldCBbdmFsdWUsIHZhbHVlRW5kUHRyXSA9IGV4dHJhY3RWYWx1ZShzdHIyLCBrZXlFbmRQdHIsIFwifVwiLCBkZXB0aCAtIDEpO1xuICAgICAgc2Vlbi5hZGQodmFsdWUpO1xuICAgICAgdFtrXSA9IHZhbHVlO1xuICAgICAgcHRyID0gdmFsdWVFbmRQdHI7XG4gICAgICBjb21tYSA9IHN0cjJbcHRyIC0gMV0gPT09IFwiLFwiID8gcHRyIC0gMSA6IDA7XG4gICAgfVxuICB9XG4gIGlmIChjb21tYSkge1xuICAgIHRocm93IG5ldyBUb21sRXJyb3IoXCJ0cmFpbGluZyBjb21tYXMgYXJlIG5vdCBhbGxvd2VkIGluIGlubGluZSB0YWJsZXNcIiwge1xuICAgICAgdG9tbDogc3RyMixcbiAgICAgIHB0cjogY29tbWFcbiAgICB9KTtcbiAgfVxuICBpZiAoIWMyKSB7XG4gICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcInVuZmluaXNoZWQgdGFibGUgZW5jb3VudGVyZWRcIiwge1xuICAgICAgdG9tbDogc3RyMixcbiAgICAgIHB0clxuICAgIH0pO1xuICB9XG4gIHJldHVybiBbcmVzLCBwdHJdO1xufVxuZnVuY3Rpb24gcGFyc2VBcnJheShzdHIyLCBwdHIsIGRlcHRoKSB7XG4gIGxldCByZXMgPSBbXTtcbiAgbGV0IGMyO1xuICBwdHIrKztcbiAgd2hpbGUgKChjMiA9IHN0cjJbcHRyKytdKSAhPT0gXCJdXCIgJiYgYzIpIHtcbiAgICBpZiAoYzIgPT09IFwiLFwiKSB7XG4gICAgICB0aHJvdyBuZXcgVG9tbEVycm9yKFwiZXhwZWN0ZWQgdmFsdWUsIGZvdW5kIGNvbW1hXCIsIHtcbiAgICAgICAgdG9tbDogc3RyMixcbiAgICAgICAgcHRyOiBwdHIgLSAxXG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKGMyID09PSBcIiNcIilcbiAgICAgIHB0ciA9IHNraXBDb21tZW50KHN0cjIsIHB0cik7XG4gICAgZWxzZSBpZiAoYzIgIT09IFwiIFwiICYmIGMyICE9PSBcIlx0XCIgJiYgYzIgIT09IFwiXFxuXCIgJiYgYzIgIT09IFwiXFxyXCIpIHtcbiAgICAgIGxldCBlID0gZXh0cmFjdFZhbHVlKHN0cjIsIHB0ciAtIDEsIFwiXVwiLCBkZXB0aCAtIDEpO1xuICAgICAgcmVzLnB1c2goZVswXSk7XG4gICAgICBwdHIgPSBlWzFdO1xuICAgIH1cbiAgfVxuICBpZiAoIWMyKSB7XG4gICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcInVuZmluaXNoZWQgYXJyYXkgZW5jb3VudGVyZWRcIiwge1xuICAgICAgdG9tbDogc3RyMixcbiAgICAgIHB0clxuICAgIH0pO1xuICB9XG4gIHJldHVybiBbcmVzLCBwdHJdO1xufVxuXG4vLyBub2RlX21vZHVsZXMvc21vbC10b21sL2Rpc3QvcGFyc2UuanNcbmZ1bmN0aW9uIHBlZWtUYWJsZShrZXkyLCB0YWJsZSwgbWV0YSwgdHlwZTIpIHtcbiAgdmFyIF9hLCBfYjtcbiAgbGV0IHQgPSB0YWJsZTtcbiAgbGV0IG0gPSBtZXRhO1xuICBsZXQgaztcbiAgbGV0IGhhc093biA9IGZhbHNlO1xuICBsZXQgc3RhdGU7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwga2V5Mi5sZW5ndGg7IGkrKykge1xuICAgIGlmIChpKSB7XG4gICAgICB0ID0gaGFzT3duID8gdFtrXSA6IHRba10gPSB7fTtcbiAgICAgIG0gPSAoc3RhdGUgPSBtW2tdKS5jO1xuICAgICAgaWYgKHR5cGUyID09PSAwICYmIChzdGF0ZS50ID09PSAxIHx8IHN0YXRlLnQgPT09IDIpKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgaWYgKHN0YXRlLnQgPT09IDIpIHtcbiAgICAgICAgbGV0IGwgPSB0Lmxlbmd0aCAtIDE7XG4gICAgICAgIHQgPSB0W2xdO1xuICAgICAgICBtID0gbVtsXS5jO1xuICAgICAgfVxuICAgIH1cbiAgICBrID0ga2V5MltpXTtcbiAgICBpZiAoKGhhc093biA9IE9iamVjdC5oYXNPd24odCwgaykpICYmICgoX2EgPSBtW2tdKSA9PSBudWxsID8gdm9pZCAwIDogX2EudCkgPT09IDAgJiYgKChfYiA9IG1ba10pID09IG51bGwgPyB2b2lkIDAgOiBfYi5kKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIGlmICghaGFzT3duKSB7XG4gICAgICBpZiAoayA9PT0gXCJfX3Byb3RvX19cIikge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodCwgaywgeyBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobSwgaywgeyBlbnVtZXJhYmxlOiB0cnVlLCBjb25maWd1cmFibGU6IHRydWUsIHdyaXRhYmxlOiB0cnVlIH0pO1xuICAgICAgfVxuICAgICAgbVtrXSA9IHtcbiAgICAgICAgdDogaSA8IGtleTIubGVuZ3RoIC0gMSAmJiB0eXBlMiA9PT0gMiA/IDMgOiB0eXBlMixcbiAgICAgICAgZDogZmFsc2UsXG4gICAgICAgIGk6IDAsXG4gICAgICAgIGM6IHt9XG4gICAgICB9O1xuICAgIH1cbiAgfVxuICBzdGF0ZSA9IG1ba107XG4gIGlmIChzdGF0ZS50ICE9PSB0eXBlMiAmJiAhKHR5cGUyID09PSAxICYmIHN0YXRlLnQgPT09IDMpKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgaWYgKHR5cGUyID09PSAyKSB7XG4gICAgaWYgKCFzdGF0ZS5kKSB7XG4gICAgICBzdGF0ZS5kID0gdHJ1ZTtcbiAgICAgIHRba10gPSBbXTtcbiAgICB9XG4gICAgdFtrXS5wdXNoKHQgPSB7fSk7XG4gICAgc3RhdGUuY1tzdGF0ZS5pKytdID0gc3RhdGUgPSB7IHQ6IDEsIGQ6IGZhbHNlLCBpOiAwLCBjOiB7fSB9O1xuICB9XG4gIGlmIChzdGF0ZS5kKSB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgc3RhdGUuZCA9IHRydWU7XG4gIGlmICh0eXBlMiA9PT0gMSkge1xuICAgIHQgPSBoYXNPd24gPyB0W2tdIDogdFtrXSA9IHt9O1xuICB9IGVsc2UgaWYgKHR5cGUyID09PSAwICYmIGhhc093bikge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHJldHVybiBbaywgdCwgc3RhdGUuY107XG59XG5mdW5jdGlvbiBwYXJzZTQodG9tbCwgb3B0cykge1xuICBsZXQgbWF4RGVwdGggPSAob3B0cyA9PSBudWxsID8gdm9pZCAwIDogb3B0cy5tYXhEZXB0aCkgPz8gMWUzO1xuICBsZXQgcmVzID0ge307XG4gIGxldCBtZXRhID0ge307XG4gIGxldCB0YmwgPSByZXM7XG4gIGxldCBtID0gbWV0YTtcbiAgZm9yIChsZXQgcHRyID0gc2tpcFZvaWQodG9tbCwgMCk7IHB0ciA8IHRvbWwubGVuZ3RoOyApIHtcbiAgICBpZiAodG9tbFtwdHJdID09PSBcIltcIikge1xuICAgICAgbGV0IGlzVGFibGVBcnJheSA9IHRvbWxbKytwdHJdID09PSBcIltcIjtcbiAgICAgIGxldCBrID0gcGFyc2VLZXkodG9tbCwgcHRyICs9ICtpc1RhYmxlQXJyYXksIFwiXVwiKTtcbiAgICAgIGlmIChpc1RhYmxlQXJyYXkpIHtcbiAgICAgICAgaWYgKHRvbWxba1sxXSAtIDFdICE9PSBcIl1cIikge1xuICAgICAgICAgIHRocm93IG5ldyBUb21sRXJyb3IoXCJleHBlY3RlZCBlbmQgb2YgdGFibGUgZGVjbGFyYXRpb25cIiwge1xuICAgICAgICAgICAgdG9tbCxcbiAgICAgICAgICAgIHB0cjoga1sxXSAtIDFcbiAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBrWzFdKys7XG4gICAgICB9XG4gICAgICBsZXQgcCA9IHBlZWtUYWJsZShcbiAgICAgICAga1swXSxcbiAgICAgICAgcmVzLFxuICAgICAgICBtZXRhLFxuICAgICAgICBpc1RhYmxlQXJyYXkgPyAyIDogMVxuICAgICAgICAvKiBUeXBlLkVYUExJQ0lUICovXG4gICAgICApO1xuICAgICAgaWYgKCFwKSB7XG4gICAgICAgIHRocm93IG5ldyBUb21sRXJyb3IoXCJ0cnlpbmcgdG8gcmVkZWZpbmUgYW4gYWxyZWFkeSBkZWZpbmVkIHRhYmxlIG9yIHZhbHVlXCIsIHtcbiAgICAgICAgICB0b21sLFxuICAgICAgICAgIHB0clxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICAgIG0gPSBwWzJdO1xuICAgICAgdGJsID0gcFsxXTtcbiAgICAgIHB0ciA9IGtbMV07XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBrID0gcGFyc2VLZXkodG9tbCwgcHRyKTtcbiAgICAgIGxldCBwID0gcGVla1RhYmxlKFxuICAgICAgICBrWzBdLFxuICAgICAgICB0YmwsXG4gICAgICAgIG0sXG4gICAgICAgIDBcbiAgICAgICAgLyogVHlwZS5ET1RURUQgKi9cbiAgICAgICk7XG4gICAgICBpZiAoIXApIHtcbiAgICAgICAgdGhyb3cgbmV3IFRvbWxFcnJvcihcInRyeWluZyB0byByZWRlZmluZSBhbiBhbHJlYWR5IGRlZmluZWQgdGFibGUgb3IgdmFsdWVcIiwge1xuICAgICAgICAgIHRvbWwsXG4gICAgICAgICAgcHRyXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgICAgbGV0IHYgPSBleHRyYWN0VmFsdWUodG9tbCwga1sxXSwgdm9pZCAwLCBtYXhEZXB0aCk7XG4gICAgICBwWzFdW3BbMF1dID0gdlswXTtcbiAgICAgIHB0ciA9IHZbMV07XG4gICAgfVxuICAgIHB0ciA9IHNraXBWb2lkKHRvbWwsIHB0ciwgdHJ1ZSk7XG4gICAgaWYgKHRvbWxbcHRyXSAmJiB0b21sW3B0cl0gIT09IFwiXFxuXCIgJiYgdG9tbFtwdHJdICE9PSBcIlxcclwiKSB7XG4gICAgICB0aHJvdyBuZXcgVG9tbEVycm9yKFwiZWFjaCBrZXktdmFsdWUgZGVjbGFyYXRpb24gbXVzdCBiZSBmb2xsb3dlZCBieSBhbiBlbmQtb2YtbGluZVwiLCB7XG4gICAgICAgIHRvbWwsXG4gICAgICAgIHB0clxuICAgICAgfSk7XG4gICAgfVxuICAgIHB0ciA9IHNraXBWb2lkKHRvbWwsIHB0cik7XG4gIH1cbiAgcmV0dXJuIHJlcztcbn1cblxuLy8gc3JjL3V0aWxzL3JlYWQtZmlsZS5qc1xuaW1wb3J0IGZzNCBmcm9tIFwiZnMvcHJvbWlzZXNcIjtcbmFzeW5jIGZ1bmN0aW9uIHJlYWRGaWxlKGZpbGUpIHtcbiAgaWYgKGlzVXJsU3RyaW5nKGZpbGUpKSB7XG4gICAgZmlsZSA9IG5ldyBVUkwoZmlsZSk7XG4gIH1cbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgZnM0LnJlYWRGaWxlKGZpbGUsIFwidXRmOFwiKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBpZiAoZXJyb3IuY29kZSA9PT0gXCJFTk9FTlRcIikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byByZWFkICcke2ZpbGV9JzogJHtlcnJvci5tZXNzYWdlfWApO1xuICB9XG59XG52YXIgcmVhZF9maWxlX2RlZmF1bHQgPSByZWFkRmlsZTtcblxuLy8gc3JjL2NvbmZpZy9wcmV0dGllci1jb25maWcvbG9hZGVycy5qc1xuYXN5bmMgZnVuY3Rpb24gcmVhZEpzb24oZmlsZSkge1xuICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZF9maWxlX2RlZmF1bHQoZmlsZSk7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlSnNvbihjb250ZW50KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBlcnJvci5tZXNzYWdlID0gYEpTT04gRXJyb3IgaW4gJHtmaWxlfTpcbiR7ZXJyb3IubWVzc2FnZX1gO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59XG5hc3luYyBmdW5jdGlvbiBsb2FkSnMoZmlsZSkge1xuICBjb25zdCBtb2R1bGUgPSBhd2FpdCBpbXBvcnQocGF0aFRvRmlsZVVSTDIoZmlsZSkuaHJlZik7XG4gIHJldHVybiBtb2R1bGUuZGVmYXVsdDtcbn1cbmFzeW5jIGZ1bmN0aW9uIGxvYWRDb25maWdGcm9tUGFja2FnZUpzb24oZmlsZSkge1xuICBjb25zdCB7IHByZXR0aWVyIH0gPSBhd2FpdCByZWFkSnNvbihmaWxlKTtcbiAgcmV0dXJuIHByZXR0aWVyO1xufVxuYXN5bmMgZnVuY3Rpb24gbG9hZENvbmZpZ0Zyb21QYWNrYWdlWWFtbChmaWxlKSB7XG4gIGNvbnN0IHsgcHJldHRpZXIgfSA9IGF3YWl0IGxvYWRZYW1sKGZpbGUpO1xuICByZXR1cm4gcHJldHRpZXI7XG59XG5hc3luYyBmdW5jdGlvbiBsb2FkWWFtbChmaWxlKSB7XG4gIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZWFkX2ZpbGVfZGVmYXVsdChmaWxlKTtcbiAgdHJ5IHtcbiAgICByZXR1cm4gbG9hZChjb250ZW50KTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBlcnJvci5tZXNzYWdlID0gYFlBTUwgRXJyb3IgaW4gJHtmaWxlfTpcbiR7ZXJyb3IubWVzc2FnZX1gO1xuICAgIHRocm93IGVycm9yO1xuICB9XG59XG52YXIgbG9hZGVycyA9IHtcbiAgYXN5bmMgXCIudG9tbFwiKGZpbGUpIHtcbiAgICBjb25zdCBjb250ZW50ID0gYXdhaXQgcmVhZF9maWxlX2RlZmF1bHQoZmlsZSk7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBwYXJzZTQoY29udGVudCk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGVycm9yLm1lc3NhZ2UgPSBgVE9NTCBFcnJvciBpbiAke2ZpbGV9OlxuJHtlcnJvci5tZXNzYWdlfWA7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH0sXG4gIGFzeW5jIFwiLmpzb241XCIoZmlsZSkge1xuICAgIGNvbnN0IGNvbnRlbnQgPSBhd2FpdCByZWFkX2ZpbGVfZGVmYXVsdChmaWxlKTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGRpc3RfZGVmYXVsdC5wYXJzZShjb250ZW50KTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgZXJyb3IubWVzc2FnZSA9IGBKU09ONSBFcnJvciBpbiAke2ZpbGV9OlxuJHtlcnJvci5tZXNzYWdlfWA7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH0sXG4gIFwiLmpzb25cIjogcmVhZEpzb24sXG4gIFwiLmpzXCI6IGxvYWRKcyxcbiAgXCIubWpzXCI6IGxvYWRKcyxcbiAgXCIuY2pzXCI6IGxvYWRKcyxcbiAgXCIueWFtbFwiOiBsb2FkWWFtbCxcbiAgXCIueW1sXCI6IGxvYWRZYW1sLFxuICAvLyBObyBleHRlbnNpb25cbiAgXCJcIjogbG9hZFlhbWxcbn07XG52YXIgbG9hZGVyc19kZWZhdWx0ID0gbG9hZGVycztcblxuLy8gc3JjL2NvbmZpZy9wcmV0dGllci1jb25maWcvY29uZmlnLXNlYXJjaGVyLmpzXG52YXIgQ09ORklHX0ZJTEVfTkFNRVMgPSBbXG4gIFwicGFja2FnZS5qc29uXCIsXG4gIFwicGFja2FnZS55YW1sXCIsXG4gIFwiLnByZXR0aWVycmNcIixcbiAgXCIucHJldHRpZXJyYy5qc29uXCIsXG4gIFwiLnByZXR0aWVycmMueWFtbFwiLFxuICBcIi5wcmV0dGllcnJjLnltbFwiLFxuICBcIi5wcmV0dGllcnJjLmpzb241XCIsXG4gIFwiLnByZXR0aWVycmMuanNcIixcbiAgXCIucHJldHRpZXJyYy5tanNcIixcbiAgXCIucHJldHRpZXJyYy5janNcIixcbiAgXCJwcmV0dGllci5jb25maWcuanNcIixcbiAgXCJwcmV0dGllci5jb25maWcubWpzXCIsXG4gIFwicHJldHRpZXIuY29uZmlnLmNqc1wiLFxuICBcIi5wcmV0dGllcnJjLnRvbWxcIlxuXTtcbmFzeW5jIGZ1bmN0aW9uIGZpbHRlcih7IG5hbWUsIHBhdGg6IGZpbGUgfSkge1xuICBpZiAoIWF3YWl0IGlzX2ZpbGVfZGVmYXVsdChmaWxlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICBpZiAobmFtZSA9PT0gXCJwYWNrYWdlLmpzb25cIikge1xuICAgIHRyeSB7XG4gICAgICByZXR1cm4gQm9vbGVhbihhd2FpdCBsb2FkQ29uZmlnRnJvbVBhY2thZ2VKc29uKGZpbGUpKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgaWYgKG5hbWUgPT09IFwicGFja2FnZS55YW1sXCIpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIEJvb2xlYW4oYXdhaXQgbG9hZENvbmZpZ0Zyb21QYWNrYWdlWWFtbChmaWxlKSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG4gIHJldHVybiB0cnVlO1xufVxuZnVuY3Rpb24gZ2V0U2VhcmNoZXIoc3RvcERpcmVjdG9yeSkge1xuICByZXR1cm4gbmV3IHNlYXJjaGVyX2RlZmF1bHQoeyBuYW1lczogQ09ORklHX0ZJTEVfTkFNRVMsIGZpbHRlciwgc3RvcERpcmVjdG9yeSB9KTtcbn1cbnZhciBjb25maWdfc2VhcmNoZXJfZGVmYXVsdCA9IGdldFNlYXJjaGVyO1xuXG4vLyBzcmMvY29uZmlnL3ByZXR0aWVyLWNvbmZpZy9sb2FkLWNvbmZpZy5qc1xuaW1wb3J0IHBhdGg3IGZyb20gXCJwYXRoXCI7XG5cbi8vIHNyYy91dGlscy9pbXBvcnQtZnJvbS1maWxlLmpzXG5pbXBvcnQgeyBwYXRoVG9GaWxlVVJMIGFzIHBhdGhUb0ZpbGVVUkw0IH0gZnJvbSBcInVybFwiO1xuXG4vLyBub2RlX21vZHVsZXMvaW1wb3J0LW1ldGEtcmVzb2x2ZS9saWIvcmVzb2x2ZS5qc1xuaW1wb3J0IGFzc2VydDMgZnJvbSBcImFzc2VydFwiO1xuaW1wb3J0IHsgc3RhdFN5bmMsIHJlYWxwYXRoU3luYyB9IGZyb20gXCJmc1wiO1xuaW1wb3J0IHByb2Nlc3MzIGZyb20gXCJwcm9jZXNzXCI7XG5pbXBvcnQgeyBVUkwgYXMgVVJMMiwgZmlsZVVSTFRvUGF0aCBhcyBmaWxlVVJMVG9QYXRoNCwgcGF0aFRvRmlsZVVSTCBhcyBwYXRoVG9GaWxlVVJMMyB9IGZyb20gXCJ1cmxcIjtcbmltcG9ydCBwYXRoNiBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgYnVpbHRpbk1vZHVsZXMgfSBmcm9tIFwibW9kdWxlXCI7XG5cbi8vIG5vZGVfbW9kdWxlcy9pbXBvcnQtbWV0YS1yZXNvbHZlL2xpYi9nZXQtZm9ybWF0LmpzXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIGFzIGZpbGVVUkxUb1BhdGgzIH0gZnJvbSBcInVybFwiO1xuXG4vLyBub2RlX21vZHVsZXMvaW1wb3J0LW1ldGEtcmVzb2x2ZS9saWIvcGFja2FnZS1qc29uLXJlYWRlci5qc1xuaW1wb3J0IGZzNSBmcm9tIFwiZnNcIjtcbmltcG9ydCBwYXRoNSBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCBhcyBmaWxlVVJMVG9QYXRoMiB9IGZyb20gXCJ1cmxcIjtcblxuLy8gbm9kZV9tb2R1bGVzL2ltcG9ydC1tZXRhLXJlc29sdmUvbGliL2Vycm9ycy5qc1xuaW1wb3J0IHY4IGZyb20gXCJ2OFwiO1xuaW1wb3J0IGFzc2VydDIgZnJvbSBcImFzc2VydFwiO1xuaW1wb3J0IHsgZm9ybWF0LCBpbnNwZWN0IH0gZnJvbSBcInV0aWxcIjtcbnZhciBvd24gPSB7fS5oYXNPd25Qcm9wZXJ0eTtcbnZhciBjbGFzc1JlZ0V4cCA9IC9eKFtBLVpdW2EtelxcZF0qKSskLztcbnZhciBrVHlwZXMgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldChbXG4gIFwic3RyaW5nXCIsXG4gIFwiZnVuY3Rpb25cIixcbiAgXCJudW1iZXJcIixcbiAgXCJvYmplY3RcIixcbiAgLy8gQWNjZXB0ICdGdW5jdGlvbicgYW5kICdPYmplY3QnIGFzIGFsdGVybmF0aXZlIHRvIHRoZSBsb3dlciBjYXNlZCB2ZXJzaW9uLlxuICBcIkZ1bmN0aW9uXCIsXG4gIFwiT2JqZWN0XCIsXG4gIFwiYm9vbGVhblwiLFxuICBcImJpZ2ludFwiLFxuICBcInN5bWJvbFwiXG5dKTtcbnZhciBjb2RlcyA9IHt9O1xuZnVuY3Rpb24gZm9ybWF0TGlzdChhcnJheTIsIHR5cGUyID0gXCJhbmRcIikge1xuICByZXR1cm4gYXJyYXkyLmxlbmd0aCA8IDMgPyBhcnJheTIuam9pbihgICR7dHlwZTJ9IGApIDogYCR7YXJyYXkyLnNsaWNlKDAsIC0xKS5qb2luKFwiLCBcIil9LCAke3R5cGUyfSAke2FycmF5MlthcnJheTIubGVuZ3RoIC0gMV19YDtcbn1cbnZhciBtZXNzYWdlcyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG52YXIgbm9kZUludGVybmFsUHJlZml4ID0gXCJfX25vZGVfaW50ZXJuYWxfXCI7XG52YXIgdXNlclN0YWNrVHJhY2VMaW1pdDtcbmNvZGVzLkVSUl9JTlZBTElEX0FSR19UWVBFID0gY3JlYXRlRXJyb3IoXG4gIFwiRVJSX0lOVkFMSURfQVJHX1RZUEVcIixcbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPiB8IHN0cmluZ30gZXhwZWN0ZWRcbiAgICogQHBhcmFtIHt1bmtub3dufSBhY3R1YWxcbiAgICovXG4gIChuYW1lLCBleHBlY3RlZCwgYWN0dWFsKSA9PiB7XG4gICAgYXNzZXJ0Mih0eXBlb2YgbmFtZSA9PT0gXCJzdHJpbmdcIiwgXCInbmFtZScgbXVzdCBiZSBhIHN0cmluZ1wiKTtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkoZXhwZWN0ZWQpKSB7XG4gICAgICBleHBlY3RlZCA9IFtleHBlY3RlZF07XG4gICAgfVxuICAgIGxldCBtZXNzYWdlID0gXCJUaGUgXCI7XG4gICAgaWYgKG5hbWUuZW5kc1dpdGgoXCIgYXJndW1lbnRcIikpIHtcbiAgICAgIG1lc3NhZ2UgKz0gYCR7bmFtZX0gYDtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgdHlwZTIgPSBuYW1lLmluY2x1ZGVzKFwiLlwiKSA/IFwicHJvcGVydHlcIiA6IFwiYXJndW1lbnRcIjtcbiAgICAgIG1lc3NhZ2UgKz0gYFwiJHtuYW1lfVwiICR7dHlwZTJ9IGA7XG4gICAgfVxuICAgIG1lc3NhZ2UgKz0gXCJtdXN0IGJlIFwiO1xuICAgIGNvbnN0IHR5cGVzID0gW107XG4gICAgY29uc3QgaW5zdGFuY2VzID0gW107XG4gICAgY29uc3Qgb3RoZXIgPSBbXTtcbiAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIGV4cGVjdGVkKSB7XG4gICAgICBhc3NlcnQyKFxuICAgICAgICB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIsXG4gICAgICAgIFwiQWxsIGV4cGVjdGVkIGVudHJpZXMgaGF2ZSB0byBiZSBvZiB0eXBlIHN0cmluZ1wiXG4gICAgICApO1xuICAgICAgaWYgKGtUeXBlcy5oYXModmFsdWUpKSB7XG4gICAgICAgIHR5cGVzLnB1c2godmFsdWUudG9Mb3dlckNhc2UoKSk7XG4gICAgICB9IGVsc2UgaWYgKGNsYXNzUmVnRXhwLmV4ZWModmFsdWUpID09PSBudWxsKSB7XG4gICAgICAgIGFzc2VydDIoXG4gICAgICAgICAgdmFsdWUgIT09IFwib2JqZWN0XCIsXG4gICAgICAgICAgJ1RoZSB2YWx1ZSBcIm9iamVjdFwiIHNob3VsZCBiZSB3cml0dGVuIGFzIFwiT2JqZWN0XCInXG4gICAgICAgICk7XG4gICAgICAgIG90aGVyLnB1c2godmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaW5zdGFuY2VzLnB1c2godmFsdWUpO1xuICAgICAgfVxuICAgIH1cbiAgICBpZiAoaW5zdGFuY2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHBvczIgPSB0eXBlcy5pbmRleE9mKFwib2JqZWN0XCIpO1xuICAgICAgaWYgKHBvczIgIT09IC0xKSB7XG4gICAgICAgIHR5cGVzLnNsaWNlKHBvczIsIDEpO1xuICAgICAgICBpbnN0YW5jZXMucHVzaChcIk9iamVjdFwiKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHR5cGVzLmxlbmd0aCA+IDApIHtcbiAgICAgIG1lc3NhZ2UgKz0gYCR7dHlwZXMubGVuZ3RoID4gMSA/IFwib25lIG9mIHR5cGVcIiA6IFwib2YgdHlwZVwifSAke2Zvcm1hdExpc3QoXG4gICAgICAgIHR5cGVzLFxuICAgICAgICBcIm9yXCJcbiAgICAgICl9YDtcbiAgICAgIGlmIChpbnN0YW5jZXMubGVuZ3RoID4gMCB8fCBvdGhlci5sZW5ndGggPiAwKSBtZXNzYWdlICs9IFwiIG9yIFwiO1xuICAgIH1cbiAgICBpZiAoaW5zdGFuY2VzLmxlbmd0aCA+IDApIHtcbiAgICAgIG1lc3NhZ2UgKz0gYGFuIGluc3RhbmNlIG9mICR7Zm9ybWF0TGlzdChpbnN0YW5jZXMsIFwib3JcIil9YDtcbiAgICAgIGlmIChvdGhlci5sZW5ndGggPiAwKSBtZXNzYWdlICs9IFwiIG9yIFwiO1xuICAgIH1cbiAgICBpZiAob3RoZXIubGVuZ3RoID4gMCkge1xuICAgICAgaWYgKG90aGVyLmxlbmd0aCA+IDEpIHtcbiAgICAgICAgbWVzc2FnZSArPSBgb25lIG9mICR7Zm9ybWF0TGlzdChvdGhlciwgXCJvclwiKX1gO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKG90aGVyWzBdLnRvTG93ZXJDYXNlKCkgIT09IG90aGVyWzBdKSBtZXNzYWdlICs9IFwiYW4gXCI7XG4gICAgICAgIG1lc3NhZ2UgKz0gYCR7b3RoZXJbMF19YDtcbiAgICAgIH1cbiAgICB9XG4gICAgbWVzc2FnZSArPSBgLiBSZWNlaXZlZCAke2RldGVybWluZVNwZWNpZmljVHlwZShhY3R1YWwpfWA7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG4gIFR5cGVFcnJvclxuKTtcbmNvZGVzLkVSUl9JTlZBTElEX01PRFVMRV9TUEVDSUZJRVIgPSBjcmVhdGVFcnJvcihcbiAgXCJFUlJfSU5WQUxJRF9NT0RVTEVfU1BFQ0lGSUVSXCIsXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVxdWVzdFxuICAgKiBAcGFyYW0ge3N0cmluZ30gcmVhc29uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbYmFzZV1cbiAgICovXG4gIChyZXF1ZXN0LCByZWFzb24sIGJhc2UgPSB2b2lkIDApID0+IHtcbiAgICByZXR1cm4gYEludmFsaWQgbW9kdWxlIFwiJHtyZXF1ZXN0fVwiICR7cmVhc29ufSR7YmFzZSA/IGAgaW1wb3J0ZWQgZnJvbSAke2Jhc2V9YCA6IFwiXCJ9YDtcbiAgfSxcbiAgVHlwZUVycm9yXG4pO1xuY29kZXMuRVJSX0lOVkFMSURfUEFDS0FHRV9DT05GSUcgPSBjcmVhdGVFcnJvcihcbiAgXCJFUlJfSU5WQUxJRF9QQUNLQUdFX0NPTkZJR1wiLFxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhdGhcbiAgICogQHBhcmFtIHtzdHJpbmd9IFtiYXNlXVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW21lc3NhZ2VdXG4gICAqL1xuICAocGF0aDEzLCBiYXNlLCBtZXNzYWdlKSA9PiB7XG4gICAgcmV0dXJuIGBJbnZhbGlkIHBhY2thZ2UgY29uZmlnICR7cGF0aDEzfSR7YmFzZSA/IGAgd2hpbGUgaW1wb3J0aW5nICR7YmFzZX1gIDogXCJcIn0ke21lc3NhZ2UgPyBgLiAke21lc3NhZ2V9YCA6IFwiXCJ9YDtcbiAgfSxcbiAgRXJyb3Jcbik7XG5jb2Rlcy5FUlJfSU5WQUxJRF9QQUNLQUdFX1RBUkdFVCA9IGNyZWF0ZUVycm9yKFxuICBcIkVSUl9JTlZBTElEX1BBQ0tBR0VfVEFSR0VUXCIsXG4gIC8qKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGFja2FnZVBhdGhcbiAgICogQHBhcmFtIHtzdHJpbmd9IGtleVxuICAgKiBAcGFyYW0ge3Vua25vd259IHRhcmdldFxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IFtpc0ltcG9ydD1mYWxzZV1cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtiYXNlXVxuICAgKi9cbiAgKHBhY2thZ2VQYXRoLCBrZXkyLCB0YXJnZXQsIGlzSW1wb3J0ID0gZmFsc2UsIGJhc2UgPSB2b2lkIDApID0+IHtcbiAgICBjb25zdCByZWxhdGVkRXJyb3IgPSB0eXBlb2YgdGFyZ2V0ID09PSBcInN0cmluZ1wiICYmICFpc0ltcG9ydCAmJiB0YXJnZXQubGVuZ3RoID4gMCAmJiAhdGFyZ2V0LnN0YXJ0c1dpdGgoXCIuL1wiKTtcbiAgICBpZiAoa2V5MiA9PT0gXCIuXCIpIHtcbiAgICAgIGFzc2VydDIoaXNJbXBvcnQgPT09IGZhbHNlKTtcbiAgICAgIHJldHVybiBgSW52YWxpZCBcImV4cG9ydHNcIiBtYWluIHRhcmdldCAke0pTT04uc3RyaW5naWZ5KHRhcmdldCl9IGRlZmluZWQgaW4gdGhlIHBhY2thZ2UgY29uZmlnICR7cGFja2FnZVBhdGh9cGFja2FnZS5qc29uJHtiYXNlID8gYCBpbXBvcnRlZCBmcm9tICR7YmFzZX1gIDogXCJcIn0ke3JlbGF0ZWRFcnJvciA/ICc7IHRhcmdldHMgbXVzdCBzdGFydCB3aXRoIFwiLi9cIicgOiBcIlwifWA7XG4gICAgfVxuICAgIHJldHVybiBgSW52YWxpZCBcIiR7aXNJbXBvcnQgPyBcImltcG9ydHNcIiA6IFwiZXhwb3J0c1wifVwiIHRhcmdldCAke0pTT04uc3RyaW5naWZ5KFxuICAgICAgdGFyZ2V0XG4gICAgKX0gZGVmaW5lZCBmb3IgJyR7a2V5Mn0nIGluIHRoZSBwYWNrYWdlIGNvbmZpZyAke3BhY2thZ2VQYXRofXBhY2thZ2UuanNvbiR7YmFzZSA/IGAgaW1wb3J0ZWQgZnJvbSAke2Jhc2V9YCA6IFwiXCJ9JHtyZWxhdGVkRXJyb3IgPyAnOyB0YXJnZXRzIG11c3Qgc3RhcnQgd2l0aCBcIi4vXCInIDogXCJcIn1gO1xuICB9LFxuICBFcnJvclxuKTtcbmNvZGVzLkVSUl9NT0RVTEVfTk9UX0ZPVU5EID0gY3JlYXRlRXJyb3IoXG4gIFwiRVJSX01PRFVMRV9OT1RfRk9VTkRcIixcbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYXRoXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW2V4YWN0VXJsXVxuICAgKi9cbiAgKHBhdGgxMywgYmFzZSwgZXhhY3RVcmwgPSBmYWxzZSkgPT4ge1xuICAgIHJldHVybiBgQ2Fubm90IGZpbmQgJHtleGFjdFVybCA/IFwibW9kdWxlXCIgOiBcInBhY2thZ2VcIn0gJyR7cGF0aDEzfScgaW1wb3J0ZWQgZnJvbSAke2Jhc2V9YDtcbiAgfSxcbiAgRXJyb3Jcbik7XG5jb2Rlcy5FUlJfTkVUV09SS19JTVBPUlRfRElTQUxMT1dFRCA9IGNyZWF0ZUVycm9yKFxuICBcIkVSUl9ORVRXT1JLX0lNUE9SVF9ESVNBTExPV0VEXCIsXG4gIFwiaW1wb3J0IG9mICclcycgYnkgJXMgaXMgbm90IHN1cHBvcnRlZDogJXNcIixcbiAgRXJyb3Jcbik7XG5jb2Rlcy5FUlJfUEFDS0FHRV9JTVBPUlRfTk9UX0RFRklORUQgPSBjcmVhdGVFcnJvcihcbiAgXCJFUlJfUEFDS0FHRV9JTVBPUlRfTk9UX0RFRklORURcIixcbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzcGVjaWZpZXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IHBhY2thZ2VQYXRoXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBiYXNlXG4gICAqL1xuICAoc3BlY2lmaWVyLCBwYWNrYWdlUGF0aCwgYmFzZSkgPT4ge1xuICAgIHJldHVybiBgUGFja2FnZSBpbXBvcnQgc3BlY2lmaWVyIFwiJHtzcGVjaWZpZXJ9XCIgaXMgbm90IGRlZmluZWQke3BhY2thZ2VQYXRoID8gYCBpbiBwYWNrYWdlICR7cGFja2FnZVBhdGh9cGFja2FnZS5qc29uYCA6IFwiXCJ9IGltcG9ydGVkIGZyb20gJHtiYXNlfWA7XG4gIH0sXG4gIFR5cGVFcnJvclxuKTtcbmNvZGVzLkVSUl9QQUNLQUdFX1BBVEhfTk9UX0VYUE9SVEVEID0gY3JlYXRlRXJyb3IoXG4gIFwiRVJSX1BBQ0tBR0VfUEFUSF9OT1RfRVhQT1JURURcIixcbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwYWNrYWdlUGF0aFxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3VicGF0aFxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2Jhc2VdXG4gICAqL1xuICAocGFja2FnZVBhdGgsIHN1YnBhdGgsIGJhc2UgPSB2b2lkIDApID0+IHtcbiAgICBpZiAoc3VicGF0aCA9PT0gXCIuXCIpXG4gICAgICByZXR1cm4gYE5vIFwiZXhwb3J0c1wiIG1haW4gZGVmaW5lZCBpbiAke3BhY2thZ2VQYXRofXBhY2thZ2UuanNvbiR7YmFzZSA/IGAgaW1wb3J0ZWQgZnJvbSAke2Jhc2V9YCA6IFwiXCJ9YDtcbiAgICByZXR1cm4gYFBhY2thZ2Ugc3VicGF0aCAnJHtzdWJwYXRofScgaXMgbm90IGRlZmluZWQgYnkgXCJleHBvcnRzXCIgaW4gJHtwYWNrYWdlUGF0aH1wYWNrYWdlLmpzb24ke2Jhc2UgPyBgIGltcG9ydGVkIGZyb20gJHtiYXNlfWAgOiBcIlwifWA7XG4gIH0sXG4gIEVycm9yXG4pO1xuY29kZXMuRVJSX1VOU1VQUE9SVEVEX0RJUl9JTVBPUlQgPSBjcmVhdGVFcnJvcihcbiAgXCJFUlJfVU5TVVBQT1JURURfRElSX0lNUE9SVFwiLFxuICBcIkRpcmVjdG9yeSBpbXBvcnQgJyVzJyBpcyBub3Qgc3VwcG9ydGVkIHJlc29sdmluZyBFUyBtb2R1bGVzIGltcG9ydGVkIGZyb20gJXNcIixcbiAgRXJyb3Jcbik7XG5jb2Rlcy5FUlJfVU5TVVBQT1JURURfUkVTT0xWRV9SRVFVRVNUID0gY3JlYXRlRXJyb3IoXG4gIFwiRVJSX1VOU1VQUE9SVEVEX1JFU09MVkVfUkVRVUVTVFwiLFxuICAnRmFpbGVkIHRvIHJlc29sdmUgbW9kdWxlIHNwZWNpZmllciBcIiVzXCIgZnJvbSBcIiVzXCI6IEludmFsaWQgcmVsYXRpdmUgVVJMIG9yIGJhc2Ugc2NoZW1lIGlzIG5vdCBoaWVyYXJjaGljYWwuJyxcbiAgVHlwZUVycm9yXG4pO1xuY29kZXMuRVJSX1VOS05PV05fRklMRV9FWFRFTlNJT04gPSBjcmVhdGVFcnJvcihcbiAgXCJFUlJfVU5LTk9XTl9GSUxFX0VYVEVOU0lPTlwiLFxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IGV4dGVuc2lvblxuICAgKiBAcGFyYW0ge3N0cmluZ30gcGF0aFxuICAgKi9cbiAgKGV4dGVuc2lvbiwgcGF0aDEzKSA9PiB7XG4gICAgcmV0dXJuIGBVbmtub3duIGZpbGUgZXh0ZW5zaW9uIFwiJHtleHRlbnNpb259XCIgZm9yICR7cGF0aDEzfWA7XG4gIH0sXG4gIFR5cGVFcnJvclxuKTtcbmNvZGVzLkVSUl9JTlZBTElEX0FSR19WQUxVRSA9IGNyZWF0ZUVycm9yKFxuICBcIkVSUl9JTlZBTElEX0FSR19WQUxVRVwiLFxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAgICogQHBhcmFtIHt1bmtub3dufSB2YWx1ZVxuICAgKiBAcGFyYW0ge3N0cmluZ30gW3JlYXNvbj0naXMgaW52YWxpZCddXG4gICAqL1xuICAobmFtZSwgdmFsdWUsIHJlYXNvbiA9IFwiaXMgaW52YWxpZFwiKSA9PiB7XG4gICAgbGV0IGluc3BlY3RlZCA9IGluc3BlY3QodmFsdWUpO1xuICAgIGlmIChpbnNwZWN0ZWQubGVuZ3RoID4gMTI4KSB7XG4gICAgICBpbnNwZWN0ZWQgPSBgJHtpbnNwZWN0ZWQuc2xpY2UoMCwgMTI4KX0uLi5gO1xuICAgIH1cbiAgICBjb25zdCB0eXBlMiA9IG5hbWUuaW5jbHVkZXMoXCIuXCIpID8gXCJwcm9wZXJ0eVwiIDogXCJhcmd1bWVudFwiO1xuICAgIHJldHVybiBgVGhlICR7dHlwZTJ9ICcke25hbWV9JyAke3JlYXNvbn0uIFJlY2VpdmVkICR7aW5zcGVjdGVkfWA7XG4gIH0sXG4gIFR5cGVFcnJvclxuICAvLyBOb3RlOiBleHRyYSBjbGFzc2VzIGhhdmUgYmVlbiBzaGFrZW4gb3V0LlxuICAvLyAsIFJhbmdlRXJyb3Jcbik7XG5mdW5jdGlvbiBjcmVhdGVFcnJvcihzeW0sIHZhbHVlLCBjb25zdHJ1Y3Rvcikge1xuICBtZXNzYWdlcy5zZXQoc3ltLCB2YWx1ZSk7XG4gIHJldHVybiBtYWtlTm9kZUVycm9yV2l0aENvZGUoY29uc3RydWN0b3IsIHN5bSk7XG59XG5mdW5jdGlvbiBtYWtlTm9kZUVycm9yV2l0aENvZGUoQmFzZSwga2V5Mikge1xuICByZXR1cm4gTm9kZUVycm9yO1xuICBmdW5jdGlvbiBOb2RlRXJyb3IoLi4ucGFyYW1ldGVycykge1xuICAgIGNvbnN0IGxpbWl0ID0gRXJyb3Iuc3RhY2tUcmFjZUxpbWl0O1xuICAgIGlmIChpc0Vycm9yU3RhY2tUcmFjZUxpbWl0V3JpdGFibGUoKSkgRXJyb3Iuc3RhY2tUcmFjZUxpbWl0ID0gMDtcbiAgICBjb25zdCBlcnJvciA9IG5ldyBCYXNlKCk7XG4gICAgaWYgKGlzRXJyb3JTdGFja1RyYWNlTGltaXRXcml0YWJsZSgpKSBFcnJvci5zdGFja1RyYWNlTGltaXQgPSBsaW1pdDtcbiAgICBjb25zdCBtZXNzYWdlID0gZ2V0TWVzc2FnZShrZXkyLCBwYXJhbWV0ZXJzLCBlcnJvcik7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXMoZXJyb3IsIHtcbiAgICAgIC8vIE5vdGU6IG5vIG5lZWQgdG8gaW1wbGVtZW50IGBrSXNOb2RlRXJyb3JgIHN5bWJvbCwgd291bGQgYmUgaGFyZCxcbiAgICAgIC8vIHByb2JhYmx5LlxuICAgICAgbWVzc2FnZToge1xuICAgICAgICB2YWx1ZTogbWVzc2FnZSxcbiAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgIHdyaXRhYmxlOiB0cnVlLFxuICAgICAgICBjb25maWd1cmFibGU6IHRydWVcbiAgICAgIH0sXG4gICAgICB0b1N0cmluZzoge1xuICAgICAgICAvKiogQHRoaXMge0Vycm9yfSAqL1xuICAgICAgICB2YWx1ZSgpIHtcbiAgICAgICAgICByZXR1cm4gYCR7dGhpcy5uYW1lfSBbJHtrZXkyfV06ICR7dGhpcy5tZXNzYWdlfWA7XG4gICAgICAgIH0sXG4gICAgICAgIGVudW1lcmFibGU6IGZhbHNlLFxuICAgICAgICB3cml0YWJsZTogdHJ1ZSxcbiAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlXG4gICAgICB9XG4gICAgfSk7XG4gICAgY2FwdHVyZUxhcmdlclN0YWNrVHJhY2UoZXJyb3IpO1xuICAgIGVycm9yLmNvZGUgPSBrZXkyO1xuICAgIHJldHVybiBlcnJvcjtcbiAgfVxufVxuZnVuY3Rpb24gaXNFcnJvclN0YWNrVHJhY2VMaW1pdFdyaXRhYmxlKCkge1xuICB0cnkge1xuICAgIGlmICh2OC5zdGFydHVwU25hcHNob3QuaXNCdWlsZGluZ1NuYXBzaG90KCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH0gY2F0Y2gge1xuICB9XG4gIGNvbnN0IGRlc2MgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKEVycm9yLCBcInN0YWNrVHJhY2VMaW1pdFwiKTtcbiAgaWYgKGRlc2MgPT09IHZvaWQgMCkge1xuICAgIHJldHVybiBPYmplY3QuaXNFeHRlbnNpYmxlKEVycm9yKTtcbiAgfVxuICByZXR1cm4gb3duLmNhbGwoZGVzYywgXCJ3cml0YWJsZVwiKSAmJiBkZXNjLndyaXRhYmxlICE9PSB2b2lkIDAgPyBkZXNjLndyaXRhYmxlIDogZGVzYy5zZXQgIT09IHZvaWQgMDtcbn1cbmZ1bmN0aW9uIGhpZGVTdGFja0ZyYW1lcyh3cmFwcGVkRnVuY3Rpb24pIHtcbiAgY29uc3QgaGlkZGVuID0gbm9kZUludGVybmFsUHJlZml4ICsgd3JhcHBlZEZ1bmN0aW9uLm5hbWU7XG4gIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh3cmFwcGVkRnVuY3Rpb24sIFwibmFtZVwiLCB7IHZhbHVlOiBoaWRkZW4gfSk7XG4gIHJldHVybiB3cmFwcGVkRnVuY3Rpb247XG59XG52YXIgY2FwdHVyZUxhcmdlclN0YWNrVHJhY2UgPSBoaWRlU3RhY2tGcmFtZXMoXG4gIC8qKlxuICAgKiBAcGFyYW0ge0Vycm9yfSBlcnJvclxuICAgKiBAcmV0dXJucyB7RXJyb3J9XG4gICAqL1xuICAvLyBAdHMtZXhwZWN0LWVycm9yOiBmaW5lXG4gIGZ1bmN0aW9uKGVycm9yKSB7XG4gICAgY29uc3Qgc3RhY2tUcmFjZUxpbWl0SXNXcml0YWJsZSA9IGlzRXJyb3JTdGFja1RyYWNlTGltaXRXcml0YWJsZSgpO1xuICAgIGlmIChzdGFja1RyYWNlTGltaXRJc1dyaXRhYmxlKSB7XG4gICAgICB1c2VyU3RhY2tUcmFjZUxpbWl0ID0gRXJyb3Iuc3RhY2tUcmFjZUxpbWl0O1xuICAgICAgRXJyb3Iuc3RhY2tUcmFjZUxpbWl0ID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO1xuICAgIH1cbiAgICBFcnJvci5jYXB0dXJlU3RhY2tUcmFjZShlcnJvcik7XG4gICAgaWYgKHN0YWNrVHJhY2VMaW1pdElzV3JpdGFibGUpIEVycm9yLnN0YWNrVHJhY2VMaW1pdCA9IHVzZXJTdGFja1RyYWNlTGltaXQ7XG4gICAgcmV0dXJuIGVycm9yO1xuICB9XG4pO1xuZnVuY3Rpb24gZ2V0TWVzc2FnZShrZXkyLCBwYXJhbWV0ZXJzLCBzZWxmKSB7XG4gIGNvbnN0IG1lc3NhZ2UgPSBtZXNzYWdlcy5nZXQoa2V5Mik7XG4gIGFzc2VydDIobWVzc2FnZSAhPT0gdm9pZCAwLCBcImV4cGVjdGVkIGBtZXNzYWdlYCB0byBiZSBmb3VuZFwiKTtcbiAgaWYgKHR5cGVvZiBtZXNzYWdlID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBhc3NlcnQyKFxuICAgICAgbWVzc2FnZS5sZW5ndGggPD0gcGFyYW1ldGVycy5sZW5ndGgsXG4gICAgICAvLyBEZWZhdWx0IG9wdGlvbnMgZG8gbm90IGNvdW50LlxuICAgICAgYENvZGU6ICR7a2V5Mn07IFRoZSBwcm92aWRlZCBhcmd1bWVudHMgbGVuZ3RoICgke3BhcmFtZXRlcnMubGVuZ3RofSkgZG9lcyBub3QgbWF0Y2ggdGhlIHJlcXVpcmVkIG9uZXMgKCR7bWVzc2FnZS5sZW5ndGh9KS5gXG4gICAgKTtcbiAgICByZXR1cm4gUmVmbGVjdC5hcHBseShtZXNzYWdlLCBzZWxmLCBwYXJhbWV0ZXJzKTtcbiAgfVxuICBjb25zdCByZWdleCA9IC8lW2RmaWpvT3NdL2c7XG4gIGxldCBleHBlY3RlZExlbmd0aCA9IDA7XG4gIHdoaWxlIChyZWdleC5leGVjKG1lc3NhZ2UpICE9PSBudWxsKSBleHBlY3RlZExlbmd0aCsrO1xuICBhc3NlcnQyKFxuICAgIGV4cGVjdGVkTGVuZ3RoID09PSBwYXJhbWV0ZXJzLmxlbmd0aCxcbiAgICBgQ29kZTogJHtrZXkyfTsgVGhlIHByb3ZpZGVkIGFyZ3VtZW50cyBsZW5ndGggKCR7cGFyYW1ldGVycy5sZW5ndGh9KSBkb2VzIG5vdCBtYXRjaCB0aGUgcmVxdWlyZWQgb25lcyAoJHtleHBlY3RlZExlbmd0aH0pLmBcbiAgKTtcbiAgaWYgKHBhcmFtZXRlcnMubGVuZ3RoID09PSAwKSByZXR1cm4gbWVzc2FnZTtcbiAgcGFyYW1ldGVycy51bnNoaWZ0KG1lc3NhZ2UpO1xuICByZXR1cm4gUmVmbGVjdC5hcHBseShmb3JtYXQsIG51bGwsIHBhcmFtZXRlcnMpO1xufVxuZnVuY3Rpb24gZGV0ZXJtaW5lU3BlY2lmaWNUeXBlKHZhbHVlKSB7XG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdm9pZCAwKSB7XG4gICAgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XG4gIH1cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJmdW5jdGlvblwiICYmIHZhbHVlLm5hbWUpIHtcbiAgICByZXR1cm4gYGZ1bmN0aW9uICR7dmFsdWUubmFtZX1gO1xuICB9XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09IFwib2JqZWN0XCIpIHtcbiAgICBpZiAodmFsdWUuY29uc3RydWN0b3IgJiYgdmFsdWUuY29uc3RydWN0b3IubmFtZSkge1xuICAgICAgcmV0dXJuIGBhbiBpbnN0YW5jZSBvZiAke3ZhbHVlLmNvbnN0cnVjdG9yLm5hbWV9YDtcbiAgICB9XG4gICAgcmV0dXJuIGAke2luc3BlY3QodmFsdWUsIHsgZGVwdGg6IC0xIH0pfWA7XG4gIH1cbiAgbGV0IGluc3BlY3RlZCA9IGluc3BlY3QodmFsdWUsIHsgY29sb3JzOiBmYWxzZSB9KTtcbiAgaWYgKGluc3BlY3RlZC5sZW5ndGggPiAyOCkge1xuICAgIGluc3BlY3RlZCA9IGAke2luc3BlY3RlZC5zbGljZSgwLCAyNSl9Li4uYDtcbiAgfVxuICByZXR1cm4gYHR5cGUgJHt0eXBlb2YgdmFsdWV9ICgke2luc3BlY3RlZH0pYDtcbn1cblxuLy8gbm9kZV9tb2R1bGVzL2ltcG9ydC1tZXRhLXJlc29sdmUvbGliL3BhY2thZ2UtanNvbi1yZWFkZXIuanNcbnZhciBoYXNPd25Qcm9wZXJ0eSA9IHt9Lmhhc093blByb3BlcnR5O1xudmFyIHsgRVJSX0lOVkFMSURfUEFDS0FHRV9DT05GSUcgfSA9IGNvZGVzO1xudmFyIGNhY2hlID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbmZ1bmN0aW9uIHJlYWQyKGpzb25QYXRoLCB7IGJhc2UsIHNwZWNpZmllciB9KSB7XG4gIGNvbnN0IGV4aXN0aW5nID0gY2FjaGUuZ2V0KGpzb25QYXRoKTtcbiAgaWYgKGV4aXN0aW5nKSB7XG4gICAgcmV0dXJuIGV4aXN0aW5nO1xuICB9XG4gIGxldCBzdHJpbmc7XG4gIHRyeSB7XG4gICAgc3RyaW5nID0gZnM1LnJlYWRGaWxlU3luYyhwYXRoNS50b05hbWVzcGFjZWRQYXRoKGpzb25QYXRoKSwgXCJ1dGY4XCIpO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnN0IGV4Y2VwdGlvbjIgPSAoXG4gICAgICAvKiogQHR5cGUge0Vycm5vRXhjZXB0aW9ufSAqL1xuICAgICAgZXJyb3JcbiAgICApO1xuICAgIGlmIChleGNlcHRpb24yLmNvZGUgIT09IFwiRU5PRU5UXCIpIHtcbiAgICAgIHRocm93IGV4Y2VwdGlvbjI7XG4gICAgfVxuICB9XG4gIGNvbnN0IHJlc3VsdCA9IHtcbiAgICBleGlzdHM6IGZhbHNlLFxuICAgIHBqc29uUGF0aDoganNvblBhdGgsXG4gICAgbWFpbjogdm9pZCAwLFxuICAgIG5hbWU6IHZvaWQgMCxcbiAgICB0eXBlOiBcIm5vbmVcIixcbiAgICAvLyBJZ25vcmUgdW5rbm93biB0eXBlcyBmb3IgZm9yd2FyZHMgY29tcGF0aWJpbGl0eVxuICAgIGV4cG9ydHM6IHZvaWQgMCxcbiAgICBpbXBvcnRzOiB2b2lkIDBcbiAgfTtcbiAgaWYgKHN0cmluZyAhPT0gdm9pZCAwKSB7XG4gICAgbGV0IHBhcnNlZDtcbiAgICB0cnkge1xuICAgICAgcGFyc2VkID0gSlNPTi5wYXJzZShzdHJpbmcpO1xuICAgIH0gY2F0Y2ggKGVycm9yXykge1xuICAgICAgY29uc3QgY2F1c2UgPSAoXG4gICAgICAgIC8qKiBAdHlwZSB7RXJybm9FeGNlcHRpb259ICovXG4gICAgICAgIGVycm9yX1xuICAgICAgKTtcbiAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVSUl9JTlZBTElEX1BBQ0tBR0VfQ09ORklHKFxuICAgICAgICBqc29uUGF0aCxcbiAgICAgICAgKGJhc2UgPyBgXCIke3NwZWNpZmllcn1cIiBmcm9tIGAgOiBcIlwiKSArIGZpbGVVUkxUb1BhdGgyKGJhc2UgfHwgc3BlY2lmaWVyKSxcbiAgICAgICAgY2F1c2UubWVzc2FnZVxuICAgICAgKTtcbiAgICAgIGVycm9yLmNhdXNlID0gY2F1c2U7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gICAgcmVzdWx0LmV4aXN0cyA9IHRydWU7XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwocGFyc2VkLCBcIm5hbWVcIikgJiYgdHlwZW9mIHBhcnNlZC5uYW1lID09PSBcInN0cmluZ1wiKSB7XG4gICAgICByZXN1bHQubmFtZSA9IHBhcnNlZC5uYW1lO1xuICAgIH1cbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChwYXJzZWQsIFwibWFpblwiKSAmJiB0eXBlb2YgcGFyc2VkLm1haW4gPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJlc3VsdC5tYWluID0gcGFyc2VkLm1haW47XG4gICAgfVxuICAgIGlmIChoYXNPd25Qcm9wZXJ0eS5jYWxsKHBhcnNlZCwgXCJleHBvcnRzXCIpKSB7XG4gICAgICByZXN1bHQuZXhwb3J0cyA9IHBhcnNlZC5leHBvcnRzO1xuICAgIH1cbiAgICBpZiAoaGFzT3duUHJvcGVydHkuY2FsbChwYXJzZWQsIFwiaW1wb3J0c1wiKSkge1xuICAgICAgcmVzdWx0LmltcG9ydHMgPSBwYXJzZWQuaW1wb3J0cztcbiAgICB9XG4gICAgaWYgKGhhc093blByb3BlcnR5LmNhbGwocGFyc2VkLCBcInR5cGVcIikgJiYgKHBhcnNlZC50eXBlID09PSBcImNvbW1vbmpzXCIgfHwgcGFyc2VkLnR5cGUgPT09IFwibW9kdWxlXCIpKSB7XG4gICAgICByZXN1bHQudHlwZSA9IHBhcnNlZC50eXBlO1xuICAgIH1cbiAgfVxuICBjYWNoZS5zZXQoanNvblBhdGgsIHJlc3VsdCk7XG4gIHJldHVybiByZXN1bHQ7XG59XG5mdW5jdGlvbiBnZXRQYWNrYWdlU2NvcGVDb25maWcocmVzb2x2ZWQpIHtcbiAgbGV0IHBhY2thZ2VKU09OVXJsID0gbmV3IFVSTChcInBhY2thZ2UuanNvblwiLCByZXNvbHZlZCk7XG4gIHdoaWxlICh0cnVlKSB7XG4gICAgY29uc3QgcGFja2FnZUpTT05QYXRoMiA9IHBhY2thZ2VKU09OVXJsLnBhdGhuYW1lO1xuICAgIGlmIChwYWNrYWdlSlNPTlBhdGgyLmVuZHNXaXRoKFwibm9kZV9tb2R1bGVzL3BhY2thZ2UuanNvblwiKSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICAgIGNvbnN0IHBhY2thZ2VDb25maWcgPSByZWFkMihmaWxlVVJMVG9QYXRoMihwYWNrYWdlSlNPTlVybCksIHtcbiAgICAgIHNwZWNpZmllcjogcmVzb2x2ZWRcbiAgICB9KTtcbiAgICBpZiAocGFja2FnZUNvbmZpZy5leGlzdHMpIHtcbiAgICAgIHJldHVybiBwYWNrYWdlQ29uZmlnO1xuICAgIH1cbiAgICBjb25zdCBsYXN0UGFja2FnZUpTT05VcmwgPSBwYWNrYWdlSlNPTlVybDtcbiAgICBwYWNrYWdlSlNPTlVybCA9IG5ldyBVUkwoXCIuLi9wYWNrYWdlLmpzb25cIiwgcGFja2FnZUpTT05VcmwpO1xuICAgIGlmIChwYWNrYWdlSlNPTlVybC5wYXRobmFtZSA9PT0gbGFzdFBhY2thZ2VKU09OVXJsLnBhdGhuYW1lKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgY29uc3QgcGFja2FnZUpTT05QYXRoID0gZmlsZVVSTFRvUGF0aDIocGFja2FnZUpTT05VcmwpO1xuICByZXR1cm4ge1xuICAgIHBqc29uUGF0aDogcGFja2FnZUpTT05QYXRoLFxuICAgIGV4aXN0czogZmFsc2UsXG4gICAgdHlwZTogXCJub25lXCJcbiAgfTtcbn1cbmZ1bmN0aW9uIGdldFBhY2thZ2VUeXBlKHVybDIpIHtcbiAgcmV0dXJuIGdldFBhY2thZ2VTY29wZUNvbmZpZyh1cmwyKS50eXBlO1xufVxuXG4vLyBub2RlX21vZHVsZXMvaW1wb3J0LW1ldGEtcmVzb2x2ZS9saWIvZ2V0LWZvcm1hdC5qc1xudmFyIHsgRVJSX1VOS05PV05fRklMRV9FWFRFTlNJT04gfSA9IGNvZGVzO1xudmFyIGhhc093blByb3BlcnR5MiA9IHt9Lmhhc093blByb3BlcnR5O1xudmFyIGV4dGVuc2lvbkZvcm1hdE1hcCA9IHtcbiAgLy8gQHRzLWV4cGVjdC1lcnJvcjogaHVzaC5cbiAgX19wcm90b19fOiBudWxsLFxuICBcIi5janNcIjogXCJjb21tb25qc1wiLFxuICBcIi5qc1wiOiBcIm1vZHVsZVwiLFxuICBcIi5qc29uXCI6IFwianNvblwiLFxuICBcIi5tanNcIjogXCJtb2R1bGVcIlxufTtcbmZ1bmN0aW9uIG1pbWVUb0Zvcm1hdChtaW1lKSB7XG4gIGlmIChtaW1lICYmIC9cXHMqKHRleHR8YXBwbGljYXRpb24pXFwvamF2YXNjcmlwdFxccyooO1xccypjaGFyc2V0PXV0Zi0/OFxccyopPy9pLnRlc3QobWltZSkpXG4gICAgcmV0dXJuIFwibW9kdWxlXCI7XG4gIGlmIChtaW1lID09PSBcImFwcGxpY2F0aW9uL2pzb25cIikgcmV0dXJuIFwianNvblwiO1xuICByZXR1cm4gbnVsbDtcbn1cbnZhciBwcm90b2NvbEhhbmRsZXJzID0ge1xuICAvLyBAdHMtZXhwZWN0LWVycm9yOiBodXNoLlxuICBfX3Byb3RvX186IG51bGwsXG4gIFwiZGF0YTpcIjogZ2V0RGF0YVByb3RvY29sTW9kdWxlRm9ybWF0LFxuICBcImZpbGU6XCI6IGdldEZpbGVQcm90b2NvbE1vZHVsZUZvcm1hdCxcbiAgXCJodHRwOlwiOiBnZXRIdHRwUHJvdG9jb2xNb2R1bGVGb3JtYXQsXG4gIFwiaHR0cHM6XCI6IGdldEh0dHBQcm90b2NvbE1vZHVsZUZvcm1hdCxcbiAgXCJub2RlOlwiKCkge1xuICAgIHJldHVybiBcImJ1aWx0aW5cIjtcbiAgfVxufTtcbmZ1bmN0aW9uIGdldERhdGFQcm90b2NvbE1vZHVsZUZvcm1hdChwYXJzZWQpIHtcbiAgY29uc3QgeyAxOiBtaW1lIH0gPSAvXihbXi9dK1xcL1teOyxdKylbXixdKj8oO2Jhc2U2NCk/LC8uZXhlYyhcbiAgICBwYXJzZWQucGF0aG5hbWVcbiAgKSB8fCBbbnVsbCwgbnVsbCwgbnVsbF07XG4gIHJldHVybiBtaW1lVG9Gb3JtYXQobWltZSk7XG59XG5mdW5jdGlvbiBleHRuYW1lKHVybDIpIHtcbiAgY29uc3QgcGF0aG5hbWUgPSB1cmwyLnBhdGhuYW1lO1xuICBsZXQgaW5kZXggPSBwYXRobmFtZS5sZW5ndGg7XG4gIHdoaWxlIChpbmRleC0tKSB7XG4gICAgY29uc3QgY29kZSA9IHBhdGhuYW1lLmNvZGVQb2ludEF0KGluZGV4KTtcbiAgICBpZiAoY29kZSA9PT0gNDcpIHtcbiAgICAgIHJldHVybiBcIlwiO1xuICAgIH1cbiAgICBpZiAoY29kZSA9PT0gNDYpIHtcbiAgICAgIHJldHVybiBwYXRobmFtZS5jb2RlUG9pbnRBdChpbmRleCAtIDEpID09PSA0NyA/IFwiXCIgOiBwYXRobmFtZS5zbGljZShpbmRleCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBcIlwiO1xufVxuZnVuY3Rpb24gZ2V0RmlsZVByb3RvY29sTW9kdWxlRm9ybWF0KHVybDIsIF9jb250ZXh0LCBpZ25vcmVFcnJvcnMpIHtcbiAgY29uc3QgdmFsdWUgPSBleHRuYW1lKHVybDIpO1xuICBpZiAodmFsdWUgPT09IFwiLmpzXCIpIHtcbiAgICBjb25zdCBwYWNrYWdlVHlwZSA9IGdldFBhY2thZ2VUeXBlKHVybDIpO1xuICAgIGlmIChwYWNrYWdlVHlwZSAhPT0gXCJub25lXCIpIHtcbiAgICAgIHJldHVybiBwYWNrYWdlVHlwZTtcbiAgICB9XG4gICAgcmV0dXJuIFwiY29tbW9uanNcIjtcbiAgfVxuICBpZiAodmFsdWUgPT09IFwiXCIpIHtcbiAgICBjb25zdCBwYWNrYWdlVHlwZSA9IGdldFBhY2thZ2VUeXBlKHVybDIpO1xuICAgIGlmIChwYWNrYWdlVHlwZSA9PT0gXCJub25lXCIgfHwgcGFja2FnZVR5cGUgPT09IFwiY29tbW9uanNcIikge1xuICAgICAgcmV0dXJuIFwiY29tbW9uanNcIjtcbiAgICB9XG4gICAgcmV0dXJuIFwibW9kdWxlXCI7XG4gIH1cbiAgY29uc3QgZm9ybWF0MyA9IGV4dGVuc2lvbkZvcm1hdE1hcFt2YWx1ZV07XG4gIGlmIChmb3JtYXQzKSByZXR1cm4gZm9ybWF0MztcbiAgaWYgKGlnbm9yZUVycm9ycykge1xuICAgIHJldHVybiB2b2lkIDA7XG4gIH1cbiAgY29uc3QgZmlsZXBhdGggPSBmaWxlVVJMVG9QYXRoMyh1cmwyKTtcbiAgdGhyb3cgbmV3IEVSUl9VTktOT1dOX0ZJTEVfRVhURU5TSU9OKHZhbHVlLCBmaWxlcGF0aCk7XG59XG5mdW5jdGlvbiBnZXRIdHRwUHJvdG9jb2xNb2R1bGVGb3JtYXQoKSB7XG59XG5mdW5jdGlvbiBkZWZhdWx0R2V0Rm9ybWF0V2l0aG91dEVycm9ycyh1cmwyLCBjb250ZXh0KSB7XG4gIGNvbnN0IHByb3RvY29sID0gdXJsMi5wcm90b2NvbDtcbiAgaWYgKCFoYXNPd25Qcm9wZXJ0eTIuY2FsbChwcm90b2NvbEhhbmRsZXJzLCBwcm90b2NvbCkpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICByZXR1cm4gcHJvdG9jb2xIYW5kbGVyc1twcm90b2NvbF0odXJsMiwgY29udGV4dCwgdHJ1ZSkgfHwgbnVsbDtcbn1cblxuLy8gbm9kZV9tb2R1bGVzL2ltcG9ydC1tZXRhLXJlc29sdmUvbGliL3V0aWxzLmpzXG52YXIgeyBFUlJfSU5WQUxJRF9BUkdfVkFMVUUgfSA9IGNvZGVzO1xudmFyIERFRkFVTFRfQ09ORElUSU9OUyA9IE9iamVjdC5mcmVlemUoW1wibm9kZVwiLCBcImltcG9ydFwiXSk7XG52YXIgREVGQVVMVF9DT05ESVRJT05TX1NFVCA9IG5ldyBTZXQoREVGQVVMVF9DT05ESVRJT05TKTtcbmZ1bmN0aW9uIGdldERlZmF1bHRDb25kaXRpb25zKCkge1xuICByZXR1cm4gREVGQVVMVF9DT05ESVRJT05TO1xufVxuZnVuY3Rpb24gZ2V0RGVmYXVsdENvbmRpdGlvbnNTZXQoKSB7XG4gIHJldHVybiBERUZBVUxUX0NPTkRJVElPTlNfU0VUO1xufVxuZnVuY3Rpb24gZ2V0Q29uZGl0aW9uc1NldChjb25kaXRpb25zKSB7XG4gIGlmIChjb25kaXRpb25zICE9PSB2b2lkIDAgJiYgY29uZGl0aW9ucyAhPT0gZ2V0RGVmYXVsdENvbmRpdGlvbnMoKSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShjb25kaXRpb25zKSkge1xuICAgICAgdGhyb3cgbmV3IEVSUl9JTlZBTElEX0FSR19WQUxVRShcbiAgICAgICAgXCJjb25kaXRpb25zXCIsXG4gICAgICAgIGNvbmRpdGlvbnMsXG4gICAgICAgIFwiZXhwZWN0ZWQgYW4gYXJyYXlcIlxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyBTZXQoY29uZGl0aW9ucyk7XG4gIH1cbiAgcmV0dXJuIGdldERlZmF1bHRDb25kaXRpb25zU2V0KCk7XG59XG5cbi8vIG5vZGVfbW9kdWxlcy9pbXBvcnQtbWV0YS1yZXNvbHZlL2xpYi9yZXNvbHZlLmpzXG52YXIgUmVnRXhwUHJvdG90eXBlU3ltYm9sUmVwbGFjZSA9IFJlZ0V4cC5wcm90b3R5cGVbU3ltYm9sLnJlcGxhY2VdO1xudmFyIHtcbiAgRVJSX05FVFdPUktfSU1QT1JUX0RJU0FMTE9XRUQsXG4gIEVSUl9JTlZBTElEX01PRFVMRV9TUEVDSUZJRVIsXG4gIEVSUl9JTlZBTElEX1BBQ0tBR0VfQ09ORklHOiBFUlJfSU5WQUxJRF9QQUNLQUdFX0NPTkZJRzIsXG4gIEVSUl9JTlZBTElEX1BBQ0tBR0VfVEFSR0VULFxuICBFUlJfTU9EVUxFX05PVF9GT1VORCxcbiAgRVJSX1BBQ0tBR0VfSU1QT1JUX05PVF9ERUZJTkVELFxuICBFUlJfUEFDS0FHRV9QQVRIX05PVF9FWFBPUlRFRCxcbiAgRVJSX1VOU1VQUE9SVEVEX0RJUl9JTVBPUlQsXG4gIEVSUl9VTlNVUFBPUlRFRF9SRVNPTFZFX1JFUVVFU1Rcbn0gPSBjb2RlcztcbnZhciBvd24yID0ge30uaGFzT3duUHJvcGVydHk7XG52YXIgaW52YWxpZFNlZ21lbnRSZWdFeCA9IC8oXnxcXFxcfFxcLykoKFxcLnwlMmUpKFxcLnwlMmUpP3wobnwlNmV8JTRlKShvfCU2ZnwlNGYpKGR8JTY0fCU0NCkoZXwlNjV8JTQ1KShffCU1ZikobXwlNmR8JTRkKShvfCU2ZnwlNGYpKGR8JTY0fCU0NCkodXwlNzV8JTU1KShsfCU2Y3wlNGMpKGV8JTY1fCU0NSkoc3wlNzN8JTUzKSk/KFxcXFx8XFwvfCQpL2k7XG52YXIgZGVwcmVjYXRlZEludmFsaWRTZWdtZW50UmVnRXggPSAvKF58XFxcXHxcXC8pKChcXC58JTJlKShcXC58JTJlKT98KG58JTZlfCU0ZSkob3wlNmZ8JTRmKShkfCU2NHwlNDQpKGV8JTY1fCU0NSkoX3wlNWYpKG18JTZkfCU0ZCkob3wlNmZ8JTRmKShkfCU2NHwlNDQpKHV8JTc1fCU1NSkobHwlNmN8JTRjKShlfCU2NXwlNDUpKHN8JTczfCU1MykpKFxcXFx8XFwvfCQpL2k7XG52YXIgaW52YWxpZFBhY2thZ2VOYW1lUmVnRXggPSAvXlxcLnwlfFxcXFwvO1xudmFyIHBhdHRlcm5SZWdFeCA9IC9cXCovZztcbnZhciBlbmNvZGVkU2VwYXJhdG9yUmVnRXggPSAvJTJmfCU1Yy9pO1xudmFyIGVtaXR0ZWRQYWNrYWdlV2FybmluZ3MgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpO1xudmFyIGRvdWJsZVNsYXNoUmVnRXggPSAvWy9cXFxcXXsyfS87XG5mdW5jdGlvbiBlbWl0SW52YWxpZFNlZ21lbnREZXByZWNhdGlvbih0YXJnZXQsIHJlcXVlc3QsIG1hdGNoLCBwYWNrYWdlSnNvblVybCwgaW50ZXJuYWwsIGJhc2UsIGlzVGFyZ2V0KSB7XG4gIGlmIChwcm9jZXNzMy5ub0RlcHJlY2F0aW9uKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IHBqc29uUGF0aCA9IGZpbGVVUkxUb1BhdGg0KHBhY2thZ2VKc29uVXJsKTtcbiAgY29uc3QgZG91YmxlID0gZG91YmxlU2xhc2hSZWdFeC5leGVjKGlzVGFyZ2V0ID8gdGFyZ2V0IDogcmVxdWVzdCkgIT09IG51bGw7XG4gIHByb2Nlc3MzLmVtaXRXYXJuaW5nKFxuICAgIGBVc2Ugb2YgZGVwcmVjYXRlZCAke2RvdWJsZSA/IFwiZG91YmxlIHNsYXNoXCIgOiBcImxlYWRpbmcgb3IgdHJhaWxpbmcgc2xhc2ggbWF0Y2hpbmdcIn0gcmVzb2x2aW5nIFwiJHt0YXJnZXR9XCIgZm9yIG1vZHVsZSByZXF1ZXN0IFwiJHtyZXF1ZXN0fVwiICR7cmVxdWVzdCA9PT0gbWF0Y2ggPyBcIlwiIDogYG1hdGNoZWQgdG8gXCIke21hdGNofVwiIGB9aW4gdGhlIFwiJHtpbnRlcm5hbCA/IFwiaW1wb3J0c1wiIDogXCJleHBvcnRzXCJ9XCIgZmllbGQgbW9kdWxlIHJlc29sdXRpb24gb2YgdGhlIHBhY2thZ2UgYXQgJHtwanNvblBhdGh9JHtiYXNlID8gYCBpbXBvcnRlZCBmcm9tICR7ZmlsZVVSTFRvUGF0aDQoYmFzZSl9YCA6IFwiXCJ9LmAsXG4gICAgXCJEZXByZWNhdGlvbldhcm5pbmdcIixcbiAgICBcIkRFUDAxNjZcIlxuICApO1xufVxuZnVuY3Rpb24gZW1pdExlZ2FjeUluZGV4RGVwcmVjYXRpb24odXJsMiwgcGFja2FnZUpzb25VcmwsIGJhc2UsIG1haW4pIHtcbiAgaWYgKHByb2Nlc3MzLm5vRGVwcmVjYXRpb24pIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgZm9ybWF0MyA9IGRlZmF1bHRHZXRGb3JtYXRXaXRob3V0RXJyb3JzKHVybDIsIHsgcGFyZW50VVJMOiBiYXNlLmhyZWYgfSk7XG4gIGlmIChmb3JtYXQzICE9PSBcIm1vZHVsZVwiKSByZXR1cm47XG4gIGNvbnN0IHVybFBhdGggPSBmaWxlVVJMVG9QYXRoNCh1cmwyLmhyZWYpO1xuICBjb25zdCBwYWNrYWdlUGF0aCA9IGZpbGVVUkxUb1BhdGg0KG5ldyBVUkwyKFwiLlwiLCBwYWNrYWdlSnNvblVybCkpO1xuICBjb25zdCBiYXNlUGF0aCA9IGZpbGVVUkxUb1BhdGg0KGJhc2UpO1xuICBpZiAoIW1haW4pIHtcbiAgICBwcm9jZXNzMy5lbWl0V2FybmluZyhcbiAgICAgIGBObyBcIm1haW5cIiBvciBcImV4cG9ydHNcIiBmaWVsZCBkZWZpbmVkIGluIHRoZSBwYWNrYWdlLmpzb24gZm9yICR7cGFja2FnZVBhdGh9IHJlc29sdmluZyB0aGUgbWFpbiBlbnRyeSBwb2ludCBcIiR7dXJsUGF0aC5zbGljZShcbiAgICAgICAgcGFja2FnZVBhdGgubGVuZ3RoXG4gICAgICApfVwiLCBpbXBvcnRlZCBmcm9tICR7YmFzZVBhdGh9LlxuRGVmYXVsdCBcImluZGV4XCIgbG9va3VwcyBmb3IgdGhlIG1haW4gYXJlIGRlcHJlY2F0ZWQgZm9yIEVTIG1vZHVsZXMuYCxcbiAgICAgIFwiRGVwcmVjYXRpb25XYXJuaW5nXCIsXG4gICAgICBcIkRFUDAxNTFcIlxuICAgICk7XG4gIH0gZWxzZSBpZiAocGF0aDYucmVzb2x2ZShwYWNrYWdlUGF0aCwgbWFpbikgIT09IHVybFBhdGgpIHtcbiAgICBwcm9jZXNzMy5lbWl0V2FybmluZyhcbiAgICAgIGBQYWNrYWdlICR7cGFja2FnZVBhdGh9IGhhcyBhIFwibWFpblwiIGZpZWxkIHNldCB0byBcIiR7bWFpbn1cIiwgZXhjbHVkaW5nIHRoZSBmdWxsIGZpbGVuYW1lIGFuZCBleHRlbnNpb24gdG8gdGhlIHJlc29sdmVkIGZpbGUgYXQgXCIke3VybFBhdGguc2xpY2UoXG4gICAgICAgIHBhY2thZ2VQYXRoLmxlbmd0aFxuICAgICAgKX1cIiwgaW1wb3J0ZWQgZnJvbSAke2Jhc2VQYXRofS5cbiBBdXRvbWF0aWMgZXh0ZW5zaW9uIHJlc29sdXRpb24gb2YgdGhlIFwibWFpblwiIGZpZWxkIGlzIGRlcHJlY2F0ZWQgZm9yIEVTIG1vZHVsZXMuYCxcbiAgICAgIFwiRGVwcmVjYXRpb25XYXJuaW5nXCIsXG4gICAgICBcIkRFUDAxNTFcIlxuICAgICk7XG4gIH1cbn1cbmZ1bmN0aW9uIHRyeVN0YXRTeW5jKHBhdGgxMykge1xuICB0cnkge1xuICAgIHJldHVybiBzdGF0U3luYyhwYXRoMTMpO1xuICB9IGNhdGNoIHtcbiAgfVxufVxuZnVuY3Rpb24gZmlsZUV4aXN0cyh1cmwyKSB7XG4gIGNvbnN0IHN0YXRzID0gc3RhdFN5bmModXJsMiwgeyB0aHJvd0lmTm9FbnRyeTogZmFsc2UgfSk7XG4gIGNvbnN0IGlzRmlsZTIgPSBzdGF0cyA/IHN0YXRzLmlzRmlsZSgpIDogdm9pZCAwO1xuICByZXR1cm4gaXNGaWxlMiA9PT0gbnVsbCB8fCBpc0ZpbGUyID09PSB2b2lkIDAgPyBmYWxzZSA6IGlzRmlsZTI7XG59XG5mdW5jdGlvbiBsZWdhY3lNYWluUmVzb2x2ZShwYWNrYWdlSnNvblVybCwgcGFja2FnZUNvbmZpZywgYmFzZSkge1xuICBsZXQgZ3Vlc3M7XG4gIGlmIChwYWNrYWdlQ29uZmlnLm1haW4gIT09IHZvaWQgMCkge1xuICAgIGd1ZXNzID0gbmV3IFVSTDIocGFja2FnZUNvbmZpZy5tYWluLCBwYWNrYWdlSnNvblVybCk7XG4gICAgaWYgKGZpbGVFeGlzdHMoZ3Vlc3MpKSByZXR1cm4gZ3Vlc3M7XG4gICAgY29uc3QgdHJpZXMyID0gW1xuICAgICAgYC4vJHtwYWNrYWdlQ29uZmlnLm1haW59LmpzYCxcbiAgICAgIGAuLyR7cGFja2FnZUNvbmZpZy5tYWlufS5qc29uYCxcbiAgICAgIGAuLyR7cGFja2FnZUNvbmZpZy5tYWlufS5ub2RlYCxcbiAgICAgIGAuLyR7cGFja2FnZUNvbmZpZy5tYWlufS9pbmRleC5qc2AsXG4gICAgICBgLi8ke3BhY2thZ2VDb25maWcubWFpbn0vaW5kZXguanNvbmAsXG4gICAgICBgLi8ke3BhY2thZ2VDb25maWcubWFpbn0vaW5kZXgubm9kZWBcbiAgICBdO1xuICAgIGxldCBpMiA9IC0xO1xuICAgIHdoaWxlICgrK2kyIDwgdHJpZXMyLmxlbmd0aCkge1xuICAgICAgZ3Vlc3MgPSBuZXcgVVJMMih0cmllczJbaTJdLCBwYWNrYWdlSnNvblVybCk7XG4gICAgICBpZiAoZmlsZUV4aXN0cyhndWVzcykpIGJyZWFrO1xuICAgICAgZ3Vlc3MgPSB2b2lkIDA7XG4gICAgfVxuICAgIGlmIChndWVzcykge1xuICAgICAgZW1pdExlZ2FjeUluZGV4RGVwcmVjYXRpb24oXG4gICAgICAgIGd1ZXNzLFxuICAgICAgICBwYWNrYWdlSnNvblVybCxcbiAgICAgICAgYmFzZSxcbiAgICAgICAgcGFja2FnZUNvbmZpZy5tYWluXG4gICAgICApO1xuICAgICAgcmV0dXJuIGd1ZXNzO1xuICAgIH1cbiAgfVxuICBjb25zdCB0cmllcyA9IFtcIi4vaW5kZXguanNcIiwgXCIuL2luZGV4Lmpzb25cIiwgXCIuL2luZGV4Lm5vZGVcIl07XG4gIGxldCBpID0gLTE7XG4gIHdoaWxlICgrK2kgPCB0cmllcy5sZW5ndGgpIHtcbiAgICBndWVzcyA9IG5ldyBVUkwyKHRyaWVzW2ldLCBwYWNrYWdlSnNvblVybCk7XG4gICAgaWYgKGZpbGVFeGlzdHMoZ3Vlc3MpKSBicmVhaztcbiAgICBndWVzcyA9IHZvaWQgMDtcbiAgfVxuICBpZiAoZ3Vlc3MpIHtcbiAgICBlbWl0TGVnYWN5SW5kZXhEZXByZWNhdGlvbihndWVzcywgcGFja2FnZUpzb25VcmwsIGJhc2UsIHBhY2thZ2VDb25maWcubWFpbik7XG4gICAgcmV0dXJuIGd1ZXNzO1xuICB9XG4gIHRocm93IG5ldyBFUlJfTU9EVUxFX05PVF9GT1VORChcbiAgICBmaWxlVVJMVG9QYXRoNChuZXcgVVJMMihcIi5cIiwgcGFja2FnZUpzb25VcmwpKSxcbiAgICBmaWxlVVJMVG9QYXRoNChiYXNlKVxuICApO1xufVxuZnVuY3Rpb24gZmluYWxpemVSZXNvbHV0aW9uKHJlc29sdmVkLCBiYXNlLCBwcmVzZXJ2ZVN5bWxpbmtzKSB7XG4gIGlmIChlbmNvZGVkU2VwYXJhdG9yUmVnRXguZXhlYyhyZXNvbHZlZC5wYXRobmFtZSkgIT09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRVJSX0lOVkFMSURfTU9EVUxFX1NQRUNJRklFUihcbiAgICAgIHJlc29sdmVkLnBhdGhuYW1lLFxuICAgICAgJ211c3Qgbm90IGluY2x1ZGUgZW5jb2RlZCBcIi9cIiBvciBcIlxcXFxcIiBjaGFyYWN0ZXJzJyxcbiAgICAgIGZpbGVVUkxUb1BhdGg0KGJhc2UpXG4gICAgKTtcbiAgfVxuICBsZXQgZmlsZVBhdGg7XG4gIHRyeSB7XG4gICAgZmlsZVBhdGggPSBmaWxlVVJMVG9QYXRoNChyZXNvbHZlZCk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc3QgY2F1c2UgPSAoXG4gICAgICAvKiogQHR5cGUge0Vycm5vRXhjZXB0aW9ufSAqL1xuICAgICAgZXJyb3JcbiAgICApO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjYXVzZSwgXCJpbnB1dFwiLCB7IHZhbHVlOiBTdHJpbmcocmVzb2x2ZWQpIH0pO1xuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShjYXVzZSwgXCJtb2R1bGVcIiwgeyB2YWx1ZTogU3RyaW5nKGJhc2UpIH0pO1xuICAgIHRocm93IGNhdXNlO1xuICB9XG4gIGNvbnN0IHN0YXRzID0gdHJ5U3RhdFN5bmMoXG4gICAgZmlsZVBhdGguZW5kc1dpdGgoXCIvXCIpID8gZmlsZVBhdGguc2xpY2UoLTEpIDogZmlsZVBhdGhcbiAgKTtcbiAgaWYgKHN0YXRzICYmIHN0YXRzLmlzRGlyZWN0b3J5KCkpIHtcbiAgICBjb25zdCBlcnJvciA9IG5ldyBFUlJfVU5TVVBQT1JURURfRElSX0lNUE9SVChmaWxlUGF0aCwgZmlsZVVSTFRvUGF0aDQoYmFzZSkpO1xuICAgIGVycm9yLnVybCA9IFN0cmluZyhyZXNvbHZlZCk7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbiAgaWYgKCFzdGF0cyB8fCAhc3RhdHMuaXNGaWxlKCkpIHtcbiAgICBjb25zdCBlcnJvciA9IG5ldyBFUlJfTU9EVUxFX05PVF9GT1VORChcbiAgICAgIGZpbGVQYXRoIHx8IHJlc29sdmVkLnBhdGhuYW1lLFxuICAgICAgYmFzZSAmJiBmaWxlVVJMVG9QYXRoNChiYXNlKSxcbiAgICAgIHRydWVcbiAgICApO1xuICAgIGVycm9yLnVybCA9IFN0cmluZyhyZXNvbHZlZCk7XG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbiAgaWYgKCFwcmVzZXJ2ZVN5bWxpbmtzKSB7XG4gICAgY29uc3QgcmVhbCA9IHJlYWxwYXRoU3luYyhmaWxlUGF0aCk7XG4gICAgY29uc3QgeyBzZWFyY2gsIGhhc2ggfSA9IHJlc29sdmVkO1xuICAgIHJlc29sdmVkID0gcGF0aFRvRmlsZVVSTDMocmVhbCArIChmaWxlUGF0aC5lbmRzV2l0aChwYXRoNi5zZXApID8gXCIvXCIgOiBcIlwiKSk7XG4gICAgcmVzb2x2ZWQuc2VhcmNoID0gc2VhcmNoO1xuICAgIHJlc29sdmVkLmhhc2ggPSBoYXNoO1xuICB9XG4gIHJldHVybiByZXNvbHZlZDtcbn1cbmZ1bmN0aW9uIGltcG9ydE5vdERlZmluZWQoc3BlY2lmaWVyLCBwYWNrYWdlSnNvblVybCwgYmFzZSkge1xuICByZXR1cm4gbmV3IEVSUl9QQUNLQUdFX0lNUE9SVF9OT1RfREVGSU5FRChcbiAgICBzcGVjaWZpZXIsXG4gICAgcGFja2FnZUpzb25VcmwgJiYgZmlsZVVSTFRvUGF0aDQobmV3IFVSTDIoXCIuXCIsIHBhY2thZ2VKc29uVXJsKSksXG4gICAgZmlsZVVSTFRvUGF0aDQoYmFzZSlcbiAgKTtcbn1cbmZ1bmN0aW9uIGV4cG9ydHNOb3RGb3VuZChzdWJwYXRoLCBwYWNrYWdlSnNvblVybCwgYmFzZSkge1xuICByZXR1cm4gbmV3IEVSUl9QQUNLQUdFX1BBVEhfTk9UX0VYUE9SVEVEKFxuICAgIGZpbGVVUkxUb1BhdGg0KG5ldyBVUkwyKFwiLlwiLCBwYWNrYWdlSnNvblVybCkpLFxuICAgIHN1YnBhdGgsXG4gICAgYmFzZSAmJiBmaWxlVVJMVG9QYXRoNChiYXNlKVxuICApO1xufVxuZnVuY3Rpb24gdGhyb3dJbnZhbGlkU3VicGF0aChyZXF1ZXN0LCBtYXRjaCwgcGFja2FnZUpzb25VcmwsIGludGVybmFsLCBiYXNlKSB7XG4gIGNvbnN0IHJlYXNvbiA9IGByZXF1ZXN0IGlzIG5vdCBhIHZhbGlkIG1hdGNoIGluIHBhdHRlcm4gXCIke21hdGNofVwiIGZvciB0aGUgXCIke2ludGVybmFsID8gXCJpbXBvcnRzXCIgOiBcImV4cG9ydHNcIn1cIiByZXNvbHV0aW9uIG9mICR7ZmlsZVVSTFRvUGF0aDQocGFja2FnZUpzb25VcmwpfWA7XG4gIHRocm93IG5ldyBFUlJfSU5WQUxJRF9NT0RVTEVfU1BFQ0lGSUVSKFxuICAgIHJlcXVlc3QsXG4gICAgcmVhc29uLFxuICAgIGJhc2UgJiYgZmlsZVVSTFRvUGF0aDQoYmFzZSlcbiAgKTtcbn1cbmZ1bmN0aW9uIGludmFsaWRQYWNrYWdlVGFyZ2V0KHN1YnBhdGgsIHRhcmdldCwgcGFja2FnZUpzb25VcmwsIGludGVybmFsLCBiYXNlKSB7XG4gIHRhcmdldCA9IHR5cGVvZiB0YXJnZXQgPT09IFwib2JqZWN0XCIgJiYgdGFyZ2V0ICE9PSBudWxsID8gSlNPTi5zdHJpbmdpZnkodGFyZ2V0LCBudWxsLCBcIlwiKSA6IGAke3RhcmdldH1gO1xuICByZXR1cm4gbmV3IEVSUl9JTlZBTElEX1BBQ0tBR0VfVEFSR0VUKFxuICAgIGZpbGVVUkxUb1BhdGg0KG5ldyBVUkwyKFwiLlwiLCBwYWNrYWdlSnNvblVybCkpLFxuICAgIHN1YnBhdGgsXG4gICAgdGFyZ2V0LFxuICAgIGludGVybmFsLFxuICAgIGJhc2UgJiYgZmlsZVVSTFRvUGF0aDQoYmFzZSlcbiAgKTtcbn1cbmZ1bmN0aW9uIHJlc29sdmVQYWNrYWdlVGFyZ2V0U3RyaW5nKHRhcmdldCwgc3VicGF0aCwgbWF0Y2gsIHBhY2thZ2VKc29uVXJsLCBiYXNlLCBwYXR0ZXJuLCBpbnRlcm5hbCwgaXNQYXRoTWFwLCBjb25kaXRpb25zKSB7XG4gIGlmIChzdWJwYXRoICE9PSBcIlwiICYmICFwYXR0ZXJuICYmIHRhcmdldFt0YXJnZXQubGVuZ3RoIC0gMV0gIT09IFwiL1wiKVxuICAgIHRocm93IGludmFsaWRQYWNrYWdlVGFyZ2V0KG1hdGNoLCB0YXJnZXQsIHBhY2thZ2VKc29uVXJsLCBpbnRlcm5hbCwgYmFzZSk7XG4gIGlmICghdGFyZ2V0LnN0YXJ0c1dpdGgoXCIuL1wiKSkge1xuICAgIGlmIChpbnRlcm5hbCAmJiAhdGFyZ2V0LnN0YXJ0c1dpdGgoXCIuLi9cIikgJiYgIXRhcmdldC5zdGFydHNXaXRoKFwiL1wiKSkge1xuICAgICAgbGV0IGlzVVJMMiA9IGZhbHNlO1xuICAgICAgdHJ5IHtcbiAgICAgICAgbmV3IFVSTDIodGFyZ2V0KTtcbiAgICAgICAgaXNVUkwyID0gdHJ1ZTtcbiAgICAgIH0gY2F0Y2gge1xuICAgICAgfVxuICAgICAgaWYgKCFpc1VSTDIpIHtcbiAgICAgICAgY29uc3QgZXhwb3J0VGFyZ2V0ID0gcGF0dGVybiA/IFJlZ0V4cFByb3RvdHlwZVN5bWJvbFJlcGxhY2UuY2FsbChcbiAgICAgICAgICBwYXR0ZXJuUmVnRXgsXG4gICAgICAgICAgdGFyZ2V0LFxuICAgICAgICAgICgpID0+IHN1YnBhdGhcbiAgICAgICAgKSA6IHRhcmdldCArIHN1YnBhdGg7XG4gICAgICAgIHJldHVybiBwYWNrYWdlUmVzb2x2ZShleHBvcnRUYXJnZXQsIHBhY2thZ2VKc29uVXJsLCBjb25kaXRpb25zKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgaW52YWxpZFBhY2thZ2VUYXJnZXQobWF0Y2gsIHRhcmdldCwgcGFja2FnZUpzb25VcmwsIGludGVybmFsLCBiYXNlKTtcbiAgfVxuICBpZiAoaW52YWxpZFNlZ21lbnRSZWdFeC5leGVjKHRhcmdldC5zbGljZSgyKSkgIT09IG51bGwpIHtcbiAgICBpZiAoZGVwcmVjYXRlZEludmFsaWRTZWdtZW50UmVnRXguZXhlYyh0YXJnZXQuc2xpY2UoMikpID09PSBudWxsKSB7XG4gICAgICBpZiAoIWlzUGF0aE1hcCkge1xuICAgICAgICBjb25zdCByZXF1ZXN0ID0gcGF0dGVybiA/IG1hdGNoLnJlcGxhY2UoXCIqXCIsICgpID0+IHN1YnBhdGgpIDogbWF0Y2ggKyBzdWJwYXRoO1xuICAgICAgICBjb25zdCByZXNvbHZlZFRhcmdldCA9IHBhdHRlcm4gPyBSZWdFeHBQcm90b3R5cGVTeW1ib2xSZXBsYWNlLmNhbGwoXG4gICAgICAgICAgcGF0dGVyblJlZ0V4LFxuICAgICAgICAgIHRhcmdldCxcbiAgICAgICAgICAoKSA9PiBzdWJwYXRoXG4gICAgICAgICkgOiB0YXJnZXQ7XG4gICAgICAgIGVtaXRJbnZhbGlkU2VnbWVudERlcHJlY2F0aW9uKFxuICAgICAgICAgIHJlc29sdmVkVGFyZ2V0LFxuICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgICAgbWF0Y2gsXG4gICAgICAgICAgcGFja2FnZUpzb25VcmwsXG4gICAgICAgICAgaW50ZXJuYWwsXG4gICAgICAgICAgYmFzZSxcbiAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IGludmFsaWRQYWNrYWdlVGFyZ2V0KG1hdGNoLCB0YXJnZXQsIHBhY2thZ2VKc29uVXJsLCBpbnRlcm5hbCwgYmFzZSk7XG4gICAgfVxuICB9XG4gIGNvbnN0IHJlc29sdmVkID0gbmV3IFVSTDIodGFyZ2V0LCBwYWNrYWdlSnNvblVybCk7XG4gIGNvbnN0IHJlc29sdmVkUGF0aCA9IHJlc29sdmVkLnBhdGhuYW1lO1xuICBjb25zdCBwYWNrYWdlUGF0aCA9IG5ldyBVUkwyKFwiLlwiLCBwYWNrYWdlSnNvblVybCkucGF0aG5hbWU7XG4gIGlmICghcmVzb2x2ZWRQYXRoLnN0YXJ0c1dpdGgocGFja2FnZVBhdGgpKVxuICAgIHRocm93IGludmFsaWRQYWNrYWdlVGFyZ2V0KG1hdGNoLCB0YXJnZXQsIHBhY2thZ2VKc29uVXJsLCBpbnRlcm5hbCwgYmFzZSk7XG4gIGlmIChzdWJwYXRoID09PSBcIlwiKSByZXR1cm4gcmVzb2x2ZWQ7XG4gIGlmIChpbnZhbGlkU2VnbWVudFJlZ0V4LmV4ZWMoc3VicGF0aCkgIT09IG51bGwpIHtcbiAgICBjb25zdCByZXF1ZXN0ID0gcGF0dGVybiA/IG1hdGNoLnJlcGxhY2UoXCIqXCIsICgpID0+IHN1YnBhdGgpIDogbWF0Y2ggKyBzdWJwYXRoO1xuICAgIGlmIChkZXByZWNhdGVkSW52YWxpZFNlZ21lbnRSZWdFeC5leGVjKHN1YnBhdGgpID09PSBudWxsKSB7XG4gICAgICBpZiAoIWlzUGF0aE1hcCkge1xuICAgICAgICBjb25zdCByZXNvbHZlZFRhcmdldCA9IHBhdHRlcm4gPyBSZWdFeHBQcm90b3R5cGVTeW1ib2xSZXBsYWNlLmNhbGwoXG4gICAgICAgICAgcGF0dGVyblJlZ0V4LFxuICAgICAgICAgIHRhcmdldCxcbiAgICAgICAgICAoKSA9PiBzdWJwYXRoXG4gICAgICAgICkgOiB0YXJnZXQ7XG4gICAgICAgIGVtaXRJbnZhbGlkU2VnbWVudERlcHJlY2F0aW9uKFxuICAgICAgICAgIHJlc29sdmVkVGFyZ2V0LFxuICAgICAgICAgIHJlcXVlc3QsXG4gICAgICAgICAgbWF0Y2gsXG4gICAgICAgICAgcGFja2FnZUpzb25VcmwsXG4gICAgICAgICAgaW50ZXJuYWwsXG4gICAgICAgICAgYmFzZSxcbiAgICAgICAgICBmYWxzZVxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvd0ludmFsaWRTdWJwYXRoKHJlcXVlc3QsIG1hdGNoLCBwYWNrYWdlSnNvblVybCwgaW50ZXJuYWwsIGJhc2UpO1xuICAgIH1cbiAgfVxuICBpZiAocGF0dGVybikge1xuICAgIHJldHVybiBuZXcgVVJMMihcbiAgICAgIFJlZ0V4cFByb3RvdHlwZVN5bWJvbFJlcGxhY2UuY2FsbChcbiAgICAgICAgcGF0dGVyblJlZ0V4LFxuICAgICAgICByZXNvbHZlZC5ocmVmLFxuICAgICAgICAoKSA9PiBzdWJwYXRoXG4gICAgICApXG4gICAgKTtcbiAgfVxuICByZXR1cm4gbmV3IFVSTDIoc3VicGF0aCwgcmVzb2x2ZWQpO1xufVxuZnVuY3Rpb24gaXNBcnJheUluZGV4KGtleTIpIHtcbiAgY29uc3Qga2V5TnVtYmVyID0gTnVtYmVyKGtleTIpO1xuICBpZiAoYCR7a2V5TnVtYmVyfWAgIT09IGtleTIpIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIGtleU51bWJlciA+PSAwICYmIGtleU51bWJlciA8IDQyOTQ5NjcyOTU7XG59XG5mdW5jdGlvbiByZXNvbHZlUGFja2FnZVRhcmdldChwYWNrYWdlSnNvblVybCwgdGFyZ2V0LCBzdWJwYXRoLCBwYWNrYWdlU3VicGF0aCwgYmFzZSwgcGF0dGVybiwgaW50ZXJuYWwsIGlzUGF0aE1hcCwgY29uZGl0aW9ucykge1xuICBpZiAodHlwZW9mIHRhcmdldCA9PT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiByZXNvbHZlUGFja2FnZVRhcmdldFN0cmluZyhcbiAgICAgIHRhcmdldCxcbiAgICAgIHN1YnBhdGgsXG4gICAgICBwYWNrYWdlU3VicGF0aCxcbiAgICAgIHBhY2thZ2VKc29uVXJsLFxuICAgICAgYmFzZSxcbiAgICAgIHBhdHRlcm4sXG4gICAgICBpbnRlcm5hbCxcbiAgICAgIGlzUGF0aE1hcCxcbiAgICAgIGNvbmRpdGlvbnNcbiAgICApO1xuICB9XG4gIGlmIChBcnJheS5pc0FycmF5KHRhcmdldCkpIHtcbiAgICBjb25zdCB0YXJnZXRMaXN0ID0gdGFyZ2V0O1xuICAgIGlmICh0YXJnZXRMaXN0Lmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGw7XG4gICAgbGV0IGxhc3RFeGNlcHRpb247XG4gICAgbGV0IGkgPSAtMTtcbiAgICB3aGlsZSAoKytpIDwgdGFyZ2V0TGlzdC5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHRhcmdldEl0ZW0gPSB0YXJnZXRMaXN0W2ldO1xuICAgICAgbGV0IHJlc29sdmVSZXN1bHQ7XG4gICAgICB0cnkge1xuICAgICAgICByZXNvbHZlUmVzdWx0ID0gcmVzb2x2ZVBhY2thZ2VUYXJnZXQoXG4gICAgICAgICAgcGFja2FnZUpzb25VcmwsXG4gICAgICAgICAgdGFyZ2V0SXRlbSxcbiAgICAgICAgICBzdWJwYXRoLFxuICAgICAgICAgIHBhY2thZ2VTdWJwYXRoLFxuICAgICAgICAgIGJhc2UsXG4gICAgICAgICAgcGF0dGVybixcbiAgICAgICAgICBpbnRlcm5hbCxcbiAgICAgICAgICBpc1BhdGhNYXAsXG4gICAgICAgICAgY29uZGl0aW9uc1xuICAgICAgICApO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgY29uc3QgZXhjZXB0aW9uMiA9IChcbiAgICAgICAgICAvKiogQHR5cGUge0Vycm5vRXhjZXB0aW9ufSAqL1xuICAgICAgICAgIGVycm9yXG4gICAgICAgICk7XG4gICAgICAgIGxhc3RFeGNlcHRpb24gPSBleGNlcHRpb24yO1xuICAgICAgICBpZiAoZXhjZXB0aW9uMi5jb2RlID09PSBcIkVSUl9JTlZBTElEX1BBQ0tBR0VfVEFSR0VUXCIpIGNvbnRpbnVlO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICAgIGlmIChyZXNvbHZlUmVzdWx0ID09PSB2b2lkIDApIGNvbnRpbnVlO1xuICAgICAgaWYgKHJlc29sdmVSZXN1bHQgPT09IG51bGwpIHtcbiAgICAgICAgbGFzdEV4Y2VwdGlvbiA9IG51bGw7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHJlc29sdmVSZXN1bHQ7XG4gICAgfVxuICAgIGlmIChsYXN0RXhjZXB0aW9uID09PSB2b2lkIDAgfHwgbGFzdEV4Y2VwdGlvbiA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHRocm93IGxhc3RFeGNlcHRpb247XG4gIH1cbiAgaWYgKHR5cGVvZiB0YXJnZXQgPT09IFwib2JqZWN0XCIgJiYgdGFyZ2V0ICE9PSBudWxsKSB7XG4gICAgY29uc3Qga2V5cyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKHRhcmdldCk7XG4gICAgbGV0IGkgPSAtMTtcbiAgICB3aGlsZSAoKytpIDwga2V5cy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IGtleTIgPSBrZXlzW2ldO1xuICAgICAgaWYgKGlzQXJyYXlJbmRleChrZXkyKSkge1xuICAgICAgICB0aHJvdyBuZXcgRVJSX0lOVkFMSURfUEFDS0FHRV9DT05GSUcyKFxuICAgICAgICAgIGZpbGVVUkxUb1BhdGg0KHBhY2thZ2VKc29uVXJsKSxcbiAgICAgICAgICBiYXNlLFxuICAgICAgICAgICdcImV4cG9ydHNcIiBjYW5ub3QgY29udGFpbiBudW1lcmljIHByb3BlcnR5IGtleXMuJ1xuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgICBpID0gLTE7XG4gICAgd2hpbGUgKCsraSA8IGtleXMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBrZXkyID0ga2V5c1tpXTtcbiAgICAgIGlmIChrZXkyID09PSBcImRlZmF1bHRcIiB8fCBjb25kaXRpb25zICYmIGNvbmRpdGlvbnMuaGFzKGtleTIpKSB7XG4gICAgICAgIGNvbnN0IGNvbmRpdGlvbmFsVGFyZ2V0ID0gKFxuICAgICAgICAgIC8qKiBAdHlwZSB7dW5rbm93bn0gKi9cbiAgICAgICAgICB0YXJnZXRba2V5Ml1cbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcmVzb2x2ZVJlc3VsdCA9IHJlc29sdmVQYWNrYWdlVGFyZ2V0KFxuICAgICAgICAgIHBhY2thZ2VKc29uVXJsLFxuICAgICAgICAgIGNvbmRpdGlvbmFsVGFyZ2V0LFxuICAgICAgICAgIHN1YnBhdGgsXG4gICAgICAgICAgcGFja2FnZVN1YnBhdGgsXG4gICAgICAgICAgYmFzZSxcbiAgICAgICAgICBwYXR0ZXJuLFxuICAgICAgICAgIGludGVybmFsLFxuICAgICAgICAgIGlzUGF0aE1hcCxcbiAgICAgICAgICBjb25kaXRpb25zXG4gICAgICAgICk7XG4gICAgICAgIGlmIChyZXNvbHZlUmVzdWx0ID09PSB2b2lkIDApIGNvbnRpbnVlO1xuICAgICAgICByZXR1cm4gcmVzb2x2ZVJlc3VsdDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbiAgaWYgKHRhcmdldCA9PT0gbnVsbCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIHRocm93IGludmFsaWRQYWNrYWdlVGFyZ2V0KFxuICAgIHBhY2thZ2VTdWJwYXRoLFxuICAgIHRhcmdldCxcbiAgICBwYWNrYWdlSnNvblVybCxcbiAgICBpbnRlcm5hbCxcbiAgICBiYXNlXG4gICk7XG59XG5mdW5jdGlvbiBpc0NvbmRpdGlvbmFsRXhwb3J0c01haW5TdWdhcihleHBvcnRzLCBwYWNrYWdlSnNvblVybCwgYmFzZSkge1xuICBpZiAodHlwZW9mIGV4cG9ydHMgPT09IFwic3RyaW5nXCIgfHwgQXJyYXkuaXNBcnJheShleHBvcnRzKSkgcmV0dXJuIHRydWU7XG4gIGlmICh0eXBlb2YgZXhwb3J0cyAhPT0gXCJvYmplY3RcIiB8fCBleHBvcnRzID09PSBudWxsKSByZXR1cm4gZmFsc2U7XG4gIGNvbnN0IGtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhleHBvcnRzKTtcbiAgbGV0IGlzQ29uZGl0aW9uYWxTdWdhciA9IGZhbHNlO1xuICBsZXQgaSA9IDA7XG4gIGxldCBrZXlJbmRleCA9IC0xO1xuICB3aGlsZSAoKytrZXlJbmRleCA8IGtleXMubGVuZ3RoKSB7XG4gICAgY29uc3Qga2V5MiA9IGtleXNba2V5SW5kZXhdO1xuICAgIGNvbnN0IGN1cnJlbnRJc0NvbmRpdGlvbmFsU3VnYXIgPSBrZXkyID09PSBcIlwiIHx8IGtleTJbMF0gIT09IFwiLlwiO1xuICAgIGlmIChpKysgPT09IDApIHtcbiAgICAgIGlzQ29uZGl0aW9uYWxTdWdhciA9IGN1cnJlbnRJc0NvbmRpdGlvbmFsU3VnYXI7XG4gICAgfSBlbHNlIGlmIChpc0NvbmRpdGlvbmFsU3VnYXIgIT09IGN1cnJlbnRJc0NvbmRpdGlvbmFsU3VnYXIpIHtcbiAgICAgIHRocm93IG5ldyBFUlJfSU5WQUxJRF9QQUNLQUdFX0NPTkZJRzIoXG4gICAgICAgIGZpbGVVUkxUb1BhdGg0KHBhY2thZ2VKc29uVXJsKSxcbiAgICAgICAgYmFzZSxcbiAgICAgICAgYFwiZXhwb3J0c1wiIGNhbm5vdCBjb250YWluIHNvbWUga2V5cyBzdGFydGluZyB3aXRoICcuJyBhbmQgc29tZSBub3QuIFRoZSBleHBvcnRzIG9iamVjdCBtdXN0IGVpdGhlciBiZSBhbiBvYmplY3Qgb2YgcGFja2FnZSBzdWJwYXRoIGtleXMgb3IgYW4gb2JqZWN0IG9mIG1haW4gZW50cnkgY29uZGl0aW9uIG5hbWUga2V5cyBvbmx5LmBcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIHJldHVybiBpc0NvbmRpdGlvbmFsU3VnYXI7XG59XG5mdW5jdGlvbiBlbWl0VHJhaWxpbmdTbGFzaFBhdHRlcm5EZXByZWNhdGlvbihtYXRjaCwgcGpzb25VcmwsIGJhc2UpIHtcbiAgaWYgKHByb2Nlc3MzLm5vRGVwcmVjYXRpb24pIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgcGpzb25QYXRoID0gZmlsZVVSTFRvUGF0aDQocGpzb25VcmwpO1xuICBpZiAoZW1pdHRlZFBhY2thZ2VXYXJuaW5ncy5oYXMocGpzb25QYXRoICsgXCJ8XCIgKyBtYXRjaCkpIHJldHVybjtcbiAgZW1pdHRlZFBhY2thZ2VXYXJuaW5ncy5hZGQocGpzb25QYXRoICsgXCJ8XCIgKyBtYXRjaCk7XG4gIHByb2Nlc3MzLmVtaXRXYXJuaW5nKFxuICAgIGBVc2Ugb2YgZGVwcmVjYXRlZCB0cmFpbGluZyBzbGFzaCBwYXR0ZXJuIG1hcHBpbmcgXCIke21hdGNofVwiIGluIHRoZSBcImV4cG9ydHNcIiBmaWVsZCBtb2R1bGUgcmVzb2x1dGlvbiBvZiB0aGUgcGFja2FnZSBhdCAke3Bqc29uUGF0aH0ke2Jhc2UgPyBgIGltcG9ydGVkIGZyb20gJHtmaWxlVVJMVG9QYXRoNChiYXNlKX1gIDogXCJcIn0uIE1hcHBpbmcgc3BlY2lmaWVycyBlbmRpbmcgaW4gXCIvXCIgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZC5gLFxuICAgIFwiRGVwcmVjYXRpb25XYXJuaW5nXCIsXG4gICAgXCJERVAwMTU1XCJcbiAgKTtcbn1cbmZ1bmN0aW9uIHBhY2thZ2VFeHBvcnRzUmVzb2x2ZShwYWNrYWdlSnNvblVybCwgcGFja2FnZVN1YnBhdGgsIHBhY2thZ2VDb25maWcsIGJhc2UsIGNvbmRpdGlvbnMpIHtcbiAgbGV0IGV4cG9ydHMgPSBwYWNrYWdlQ29uZmlnLmV4cG9ydHM7XG4gIGlmIChpc0NvbmRpdGlvbmFsRXhwb3J0c01haW5TdWdhcihleHBvcnRzLCBwYWNrYWdlSnNvblVybCwgYmFzZSkpIHtcbiAgICBleHBvcnRzID0geyBcIi5cIjogZXhwb3J0cyB9O1xuICB9XG4gIGlmIChvd24yLmNhbGwoZXhwb3J0cywgcGFja2FnZVN1YnBhdGgpICYmICFwYWNrYWdlU3VicGF0aC5pbmNsdWRlcyhcIipcIikgJiYgIXBhY2thZ2VTdWJwYXRoLmVuZHNXaXRoKFwiL1wiKSkge1xuICAgIGNvbnN0IHRhcmdldCA9IGV4cG9ydHNbcGFja2FnZVN1YnBhdGhdO1xuICAgIGNvbnN0IHJlc29sdmVSZXN1bHQgPSByZXNvbHZlUGFja2FnZVRhcmdldChcbiAgICAgIHBhY2thZ2VKc29uVXJsLFxuICAgICAgdGFyZ2V0LFxuICAgICAgXCJcIixcbiAgICAgIHBhY2thZ2VTdWJwYXRoLFxuICAgICAgYmFzZSxcbiAgICAgIGZhbHNlLFxuICAgICAgZmFsc2UsXG4gICAgICBmYWxzZSxcbiAgICAgIGNvbmRpdGlvbnNcbiAgICApO1xuICAgIGlmIChyZXNvbHZlUmVzdWx0ID09PSBudWxsIHx8IHJlc29sdmVSZXN1bHQgPT09IHZvaWQgMCkge1xuICAgICAgdGhyb3cgZXhwb3J0c05vdEZvdW5kKHBhY2thZ2VTdWJwYXRoLCBwYWNrYWdlSnNvblVybCwgYmFzZSk7XG4gICAgfVxuICAgIHJldHVybiByZXNvbHZlUmVzdWx0O1xuICB9XG4gIGxldCBiZXN0TWF0Y2ggPSBcIlwiO1xuICBsZXQgYmVzdE1hdGNoU3VicGF0aCA9IFwiXCI7XG4gIGNvbnN0IGtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhleHBvcnRzKTtcbiAgbGV0IGkgPSAtMTtcbiAgd2hpbGUgKCsraSA8IGtleXMubGVuZ3RoKSB7XG4gICAgY29uc3Qga2V5MiA9IGtleXNbaV07XG4gICAgY29uc3QgcGF0dGVybkluZGV4ID0ga2V5Mi5pbmRleE9mKFwiKlwiKTtcbiAgICBpZiAocGF0dGVybkluZGV4ICE9PSAtMSAmJiBwYWNrYWdlU3VicGF0aC5zdGFydHNXaXRoKGtleTIuc2xpY2UoMCwgcGF0dGVybkluZGV4KSkpIHtcbiAgICAgIGlmIChwYWNrYWdlU3VicGF0aC5lbmRzV2l0aChcIi9cIikpIHtcbiAgICAgICAgZW1pdFRyYWlsaW5nU2xhc2hQYXR0ZXJuRGVwcmVjYXRpb24oXG4gICAgICAgICAgcGFja2FnZVN1YnBhdGgsXG4gICAgICAgICAgcGFja2FnZUpzb25VcmwsXG4gICAgICAgICAgYmFzZVxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgY29uc3QgcGF0dGVyblRyYWlsZXIgPSBrZXkyLnNsaWNlKHBhdHRlcm5JbmRleCArIDEpO1xuICAgICAgaWYgKHBhY2thZ2VTdWJwYXRoLmxlbmd0aCA+PSBrZXkyLmxlbmd0aCAmJiBwYWNrYWdlU3VicGF0aC5lbmRzV2l0aChwYXR0ZXJuVHJhaWxlcikgJiYgcGF0dGVybktleUNvbXBhcmUoYmVzdE1hdGNoLCBrZXkyKSA9PT0gMSAmJiBrZXkyLmxhc3RJbmRleE9mKFwiKlwiKSA9PT0gcGF0dGVybkluZGV4KSB7XG4gICAgICAgIGJlc3RNYXRjaCA9IGtleTI7XG4gICAgICAgIGJlc3RNYXRjaFN1YnBhdGggPSBwYWNrYWdlU3VicGF0aC5zbGljZShcbiAgICAgICAgICBwYXR0ZXJuSW5kZXgsXG4gICAgICAgICAgcGFja2FnZVN1YnBhdGgubGVuZ3RoIC0gcGF0dGVyblRyYWlsZXIubGVuZ3RoXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGlmIChiZXN0TWF0Y2gpIHtcbiAgICBjb25zdCB0YXJnZXQgPSAoXG4gICAgICAvKiogQHR5cGUge3Vua25vd259ICovXG4gICAgICBleHBvcnRzW2Jlc3RNYXRjaF1cbiAgICApO1xuICAgIGNvbnN0IHJlc29sdmVSZXN1bHQgPSByZXNvbHZlUGFja2FnZVRhcmdldChcbiAgICAgIHBhY2thZ2VKc29uVXJsLFxuICAgICAgdGFyZ2V0LFxuICAgICAgYmVzdE1hdGNoU3VicGF0aCxcbiAgICAgIGJlc3RNYXRjaCxcbiAgICAgIGJhc2UsXG4gICAgICB0cnVlLFxuICAgICAgZmFsc2UsXG4gICAgICBwYWNrYWdlU3VicGF0aC5lbmRzV2l0aChcIi9cIiksXG4gICAgICBjb25kaXRpb25zXG4gICAgKTtcbiAgICBpZiAocmVzb2x2ZVJlc3VsdCA9PT0gbnVsbCB8fCByZXNvbHZlUmVzdWx0ID09PSB2b2lkIDApIHtcbiAgICAgIHRocm93IGV4cG9ydHNOb3RGb3VuZChwYWNrYWdlU3VicGF0aCwgcGFja2FnZUpzb25VcmwsIGJhc2UpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzb2x2ZVJlc3VsdDtcbiAgfVxuICB0aHJvdyBleHBvcnRzTm90Rm91bmQocGFja2FnZVN1YnBhdGgsIHBhY2thZ2VKc29uVXJsLCBiYXNlKTtcbn1cbmZ1bmN0aW9uIHBhdHRlcm5LZXlDb21wYXJlKGEsIGIpIHtcbiAgY29uc3QgYVBhdHRlcm5JbmRleCA9IGEuaW5kZXhPZihcIipcIik7XG4gIGNvbnN0IGJQYXR0ZXJuSW5kZXggPSBiLmluZGV4T2YoXCIqXCIpO1xuICBjb25zdCBiYXNlTGVuZ3RoQSA9IGFQYXR0ZXJuSW5kZXggPT09IC0xID8gYS5sZW5ndGggOiBhUGF0dGVybkluZGV4ICsgMTtcbiAgY29uc3QgYmFzZUxlbmd0aEIgPSBiUGF0dGVybkluZGV4ID09PSAtMSA/IGIubGVuZ3RoIDogYlBhdHRlcm5JbmRleCArIDE7XG4gIGlmIChiYXNlTGVuZ3RoQSA+IGJhc2VMZW5ndGhCKSByZXR1cm4gLTE7XG4gIGlmIChiYXNlTGVuZ3RoQiA+IGJhc2VMZW5ndGhBKSByZXR1cm4gMTtcbiAgaWYgKGFQYXR0ZXJuSW5kZXggPT09IC0xKSByZXR1cm4gMTtcbiAgaWYgKGJQYXR0ZXJuSW5kZXggPT09IC0xKSByZXR1cm4gLTE7XG4gIGlmIChhLmxlbmd0aCA+IGIubGVuZ3RoKSByZXR1cm4gLTE7XG4gIGlmIChiLmxlbmd0aCA+IGEubGVuZ3RoKSByZXR1cm4gMTtcbiAgcmV0dXJuIDA7XG59XG5mdW5jdGlvbiBwYWNrYWdlSW1wb3J0c1Jlc29sdmUobmFtZSwgYmFzZSwgY29uZGl0aW9ucykge1xuICBpZiAobmFtZSA9PT0gXCIjXCIgfHwgbmFtZS5zdGFydHNXaXRoKFwiIy9cIikgfHwgbmFtZS5lbmRzV2l0aChcIi9cIikpIHtcbiAgICBjb25zdCByZWFzb24gPSBcImlzIG5vdCBhIHZhbGlkIGludGVybmFsIGltcG9ydHMgc3BlY2lmaWVyIG5hbWVcIjtcbiAgICB0aHJvdyBuZXcgRVJSX0lOVkFMSURfTU9EVUxFX1NQRUNJRklFUihuYW1lLCByZWFzb24sIGZpbGVVUkxUb1BhdGg0KGJhc2UpKTtcbiAgfVxuICBsZXQgcGFja2FnZUpzb25Vcmw7XG4gIGNvbnN0IHBhY2thZ2VDb25maWcgPSBnZXRQYWNrYWdlU2NvcGVDb25maWcoYmFzZSk7XG4gIGlmIChwYWNrYWdlQ29uZmlnLmV4aXN0cykge1xuICAgIHBhY2thZ2VKc29uVXJsID0gcGF0aFRvRmlsZVVSTDMocGFja2FnZUNvbmZpZy5wanNvblBhdGgpO1xuICAgIGNvbnN0IGltcG9ydHMgPSBwYWNrYWdlQ29uZmlnLmltcG9ydHM7XG4gICAgaWYgKGltcG9ydHMpIHtcbiAgICAgIGlmIChvd24yLmNhbGwoaW1wb3J0cywgbmFtZSkgJiYgIW5hbWUuaW5jbHVkZXMoXCIqXCIpKSB7XG4gICAgICAgIGNvbnN0IHJlc29sdmVSZXN1bHQgPSByZXNvbHZlUGFja2FnZVRhcmdldChcbiAgICAgICAgICBwYWNrYWdlSnNvblVybCxcbiAgICAgICAgICBpbXBvcnRzW25hbWVdLFxuICAgICAgICAgIFwiXCIsXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBiYXNlLFxuICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgY29uZGl0aW9uc1xuICAgICAgICApO1xuICAgICAgICBpZiAocmVzb2x2ZVJlc3VsdCAhPT0gbnVsbCAmJiByZXNvbHZlUmVzdWx0ICE9PSB2b2lkIDApIHtcbiAgICAgICAgICByZXR1cm4gcmVzb2x2ZVJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IGJlc3RNYXRjaCA9IFwiXCI7XG4gICAgICAgIGxldCBiZXN0TWF0Y2hTdWJwYXRoID0gXCJcIjtcbiAgICAgICAgY29uc3Qga2V5cyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eU5hbWVzKGltcG9ydHMpO1xuICAgICAgICBsZXQgaSA9IC0xO1xuICAgICAgICB3aGlsZSAoKytpIDwga2V5cy5sZW5ndGgpIHtcbiAgICAgICAgICBjb25zdCBrZXkyID0ga2V5c1tpXTtcbiAgICAgICAgICBjb25zdCBwYXR0ZXJuSW5kZXggPSBrZXkyLmluZGV4T2YoXCIqXCIpO1xuICAgICAgICAgIGlmIChwYXR0ZXJuSW5kZXggIT09IC0xICYmIG5hbWUuc3RhcnRzV2l0aChrZXkyLnNsaWNlKDAsIC0xKSkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhdHRlcm5UcmFpbGVyID0ga2V5Mi5zbGljZShwYXR0ZXJuSW5kZXggKyAxKTtcbiAgICAgICAgICAgIGlmIChuYW1lLmxlbmd0aCA+PSBrZXkyLmxlbmd0aCAmJiBuYW1lLmVuZHNXaXRoKHBhdHRlcm5UcmFpbGVyKSAmJiBwYXR0ZXJuS2V5Q29tcGFyZShiZXN0TWF0Y2gsIGtleTIpID09PSAxICYmIGtleTIubGFzdEluZGV4T2YoXCIqXCIpID09PSBwYXR0ZXJuSW5kZXgpIHtcbiAgICAgICAgICAgICAgYmVzdE1hdGNoID0ga2V5MjtcbiAgICAgICAgICAgICAgYmVzdE1hdGNoU3VicGF0aCA9IG5hbWUuc2xpY2UoXG4gICAgICAgICAgICAgICAgcGF0dGVybkluZGV4LFxuICAgICAgICAgICAgICAgIG5hbWUubGVuZ3RoIC0gcGF0dGVyblRyYWlsZXIubGVuZ3RoXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlmIChiZXN0TWF0Y2gpIHtcbiAgICAgICAgICBjb25zdCB0YXJnZXQgPSBpbXBvcnRzW2Jlc3RNYXRjaF07XG4gICAgICAgICAgY29uc3QgcmVzb2x2ZVJlc3VsdCA9IHJlc29sdmVQYWNrYWdlVGFyZ2V0KFxuICAgICAgICAgICAgcGFja2FnZUpzb25VcmwsXG4gICAgICAgICAgICB0YXJnZXQsXG4gICAgICAgICAgICBiZXN0TWF0Y2hTdWJwYXRoLFxuICAgICAgICAgICAgYmVzdE1hdGNoLFxuICAgICAgICAgICAgYmFzZSxcbiAgICAgICAgICAgIHRydWUsXG4gICAgICAgICAgICB0cnVlLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICBjb25kaXRpb25zXG4gICAgICAgICAgKTtcbiAgICAgICAgICBpZiAocmVzb2x2ZVJlc3VsdCAhPT0gbnVsbCAmJiByZXNvbHZlUmVzdWx0ICE9PSB2b2lkIDApIHtcbiAgICAgICAgICAgIHJldHVybiByZXNvbHZlUmVzdWx0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICB0aHJvdyBpbXBvcnROb3REZWZpbmVkKG5hbWUsIHBhY2thZ2VKc29uVXJsLCBiYXNlKTtcbn1cbmZ1bmN0aW9uIHBhcnNlUGFja2FnZU5hbWUoc3BlY2lmaWVyLCBiYXNlKSB7XG4gIGxldCBzZXBhcmF0b3JJbmRleCA9IHNwZWNpZmllci5pbmRleE9mKFwiL1wiKTtcbiAgbGV0IHZhbGlkUGFja2FnZU5hbWUgPSB0cnVlO1xuICBsZXQgaXNTY29wZWQgPSBmYWxzZTtcbiAgaWYgKHNwZWNpZmllclswXSA9PT0gXCJAXCIpIHtcbiAgICBpc1Njb3BlZCA9IHRydWU7XG4gICAgaWYgKHNlcGFyYXRvckluZGV4ID09PSAtMSB8fCBzcGVjaWZpZXIubGVuZ3RoID09PSAwKSB7XG4gICAgICB2YWxpZFBhY2thZ2VOYW1lID0gZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHNlcGFyYXRvckluZGV4ID0gc3BlY2lmaWVyLmluZGV4T2YoXCIvXCIsIHNlcGFyYXRvckluZGV4ICsgMSk7XG4gICAgfVxuICB9XG4gIGNvbnN0IHBhY2thZ2VOYW1lID0gc2VwYXJhdG9ySW5kZXggPT09IC0xID8gc3BlY2lmaWVyIDogc3BlY2lmaWVyLnNsaWNlKDAsIHNlcGFyYXRvckluZGV4KTtcbiAgaWYgKGludmFsaWRQYWNrYWdlTmFtZVJlZ0V4LmV4ZWMocGFja2FnZU5hbWUpICE9PSBudWxsKSB7XG4gICAgdmFsaWRQYWNrYWdlTmFtZSA9IGZhbHNlO1xuICB9XG4gIGlmICghdmFsaWRQYWNrYWdlTmFtZSkge1xuICAgIHRocm93IG5ldyBFUlJfSU5WQUxJRF9NT0RVTEVfU1BFQ0lGSUVSKFxuICAgICAgc3BlY2lmaWVyLFxuICAgICAgXCJpcyBub3QgYSB2YWxpZCBwYWNrYWdlIG5hbWVcIixcbiAgICAgIGZpbGVVUkxUb1BhdGg0KGJhc2UpXG4gICAgKTtcbiAgfVxuICBjb25zdCBwYWNrYWdlU3VicGF0aCA9IFwiLlwiICsgKHNlcGFyYXRvckluZGV4ID09PSAtMSA/IFwiXCIgOiBzcGVjaWZpZXIuc2xpY2Uoc2VwYXJhdG9ySW5kZXgpKTtcbiAgcmV0dXJuIHsgcGFja2FnZU5hbWUsIHBhY2thZ2VTdWJwYXRoLCBpc1Njb3BlZCB9O1xufVxuZnVuY3Rpb24gcGFja2FnZVJlc29sdmUoc3BlY2lmaWVyLCBiYXNlLCBjb25kaXRpb25zKSB7XG4gIGlmIChidWlsdGluTW9kdWxlcy5pbmNsdWRlcyhzcGVjaWZpZXIpKSB7XG4gICAgcmV0dXJuIG5ldyBVUkwyKFwibm9kZTpcIiArIHNwZWNpZmllcik7XG4gIH1cbiAgY29uc3QgeyBwYWNrYWdlTmFtZSwgcGFja2FnZVN1YnBhdGgsIGlzU2NvcGVkIH0gPSBwYXJzZVBhY2thZ2VOYW1lKFxuICAgIHNwZWNpZmllcixcbiAgICBiYXNlXG4gICk7XG4gIGNvbnN0IHBhY2thZ2VDb25maWcgPSBnZXRQYWNrYWdlU2NvcGVDb25maWcoYmFzZSk7XG4gIGlmIChwYWNrYWdlQ29uZmlnLmV4aXN0cykge1xuICAgIGNvbnN0IHBhY2thZ2VKc29uVXJsMiA9IHBhdGhUb0ZpbGVVUkwzKHBhY2thZ2VDb25maWcucGpzb25QYXRoKTtcbiAgICBpZiAocGFja2FnZUNvbmZpZy5uYW1lID09PSBwYWNrYWdlTmFtZSAmJiBwYWNrYWdlQ29uZmlnLmV4cG9ydHMgIT09IHZvaWQgMCAmJiBwYWNrYWdlQ29uZmlnLmV4cG9ydHMgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBwYWNrYWdlRXhwb3J0c1Jlc29sdmUoXG4gICAgICAgIHBhY2thZ2VKc29uVXJsMixcbiAgICAgICAgcGFja2FnZVN1YnBhdGgsXG4gICAgICAgIHBhY2thZ2VDb25maWcsXG4gICAgICAgIGJhc2UsXG4gICAgICAgIGNvbmRpdGlvbnNcbiAgICAgICk7XG4gICAgfVxuICB9XG4gIGxldCBwYWNrYWdlSnNvblVybCA9IG5ldyBVUkwyKFxuICAgIFwiLi9ub2RlX21vZHVsZXMvXCIgKyBwYWNrYWdlTmFtZSArIFwiL3BhY2thZ2UuanNvblwiLFxuICAgIGJhc2VcbiAgKTtcbiAgbGV0IHBhY2thZ2VKc29uUGF0aCA9IGZpbGVVUkxUb1BhdGg0KHBhY2thZ2VKc29uVXJsKTtcbiAgbGV0IGxhc3RQYXRoO1xuICBkbyB7XG4gICAgY29uc3Qgc3RhdCA9IHRyeVN0YXRTeW5jKHBhY2thZ2VKc29uUGF0aC5zbGljZSgwLCAtMTMpKTtcbiAgICBpZiAoIXN0YXQgfHwgIXN0YXQuaXNEaXJlY3RvcnkoKSkge1xuICAgICAgbGFzdFBhdGggPSBwYWNrYWdlSnNvblBhdGg7XG4gICAgICBwYWNrYWdlSnNvblVybCA9IG5ldyBVUkwyKFxuICAgICAgICAoaXNTY29wZWQgPyBcIi4uLy4uLy4uLy4uL25vZGVfbW9kdWxlcy9cIiA6IFwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL1wiKSArIHBhY2thZ2VOYW1lICsgXCIvcGFja2FnZS5qc29uXCIsXG4gICAgICAgIHBhY2thZ2VKc29uVXJsXG4gICAgICApO1xuICAgICAgcGFja2FnZUpzb25QYXRoID0gZmlsZVVSTFRvUGF0aDQocGFja2FnZUpzb25VcmwpO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IHBhY2thZ2VDb25maWcyID0gcmVhZDIocGFja2FnZUpzb25QYXRoLCB7IGJhc2UsIHNwZWNpZmllciB9KTtcbiAgICBpZiAocGFja2FnZUNvbmZpZzIuZXhwb3J0cyAhPT0gdm9pZCAwICYmIHBhY2thZ2VDb25maWcyLmV4cG9ydHMgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBwYWNrYWdlRXhwb3J0c1Jlc29sdmUoXG4gICAgICAgIHBhY2thZ2VKc29uVXJsLFxuICAgICAgICBwYWNrYWdlU3VicGF0aCxcbiAgICAgICAgcGFja2FnZUNvbmZpZzIsXG4gICAgICAgIGJhc2UsXG4gICAgICAgIGNvbmRpdGlvbnNcbiAgICAgICk7XG4gICAgfVxuICAgIGlmIChwYWNrYWdlU3VicGF0aCA9PT0gXCIuXCIpIHtcbiAgICAgIHJldHVybiBsZWdhY3lNYWluUmVzb2x2ZShwYWNrYWdlSnNvblVybCwgcGFja2FnZUNvbmZpZzIsIGJhc2UpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IFVSTDIocGFja2FnZVN1YnBhdGgsIHBhY2thZ2VKc29uVXJsKTtcbiAgfSB3aGlsZSAocGFja2FnZUpzb25QYXRoLmxlbmd0aCAhPT0gbGFzdFBhdGgubGVuZ3RoKTtcbiAgdGhyb3cgbmV3IEVSUl9NT0RVTEVfTk9UX0ZPVU5EKHBhY2thZ2VOYW1lLCBmaWxlVVJMVG9QYXRoNChiYXNlKSwgZmFsc2UpO1xufVxuZnVuY3Rpb24gaXNSZWxhdGl2ZVNwZWNpZmllcihzcGVjaWZpZXIpIHtcbiAgaWYgKHNwZWNpZmllclswXSA9PT0gXCIuXCIpIHtcbiAgICBpZiAoc3BlY2lmaWVyLmxlbmd0aCA9PT0gMSB8fCBzcGVjaWZpZXJbMV0gPT09IFwiL1wiKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoc3BlY2lmaWVyWzFdID09PSBcIi5cIiAmJiAoc3BlY2lmaWVyLmxlbmd0aCA9PT0gMiB8fCBzcGVjaWZpZXJbMl0gPT09IFwiL1wiKSkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIHNob3VsZEJlVHJlYXRlZEFzUmVsYXRpdmVPckFic29sdXRlUGF0aChzcGVjaWZpZXIpIHtcbiAgaWYgKHNwZWNpZmllciA9PT0gXCJcIikgcmV0dXJuIGZhbHNlO1xuICBpZiAoc3BlY2lmaWVyWzBdID09PSBcIi9cIikgcmV0dXJuIHRydWU7XG4gIHJldHVybiBpc1JlbGF0aXZlU3BlY2lmaWVyKHNwZWNpZmllcik7XG59XG5mdW5jdGlvbiBtb2R1bGVSZXNvbHZlKHNwZWNpZmllciwgYmFzZSwgY29uZGl0aW9ucywgcHJlc2VydmVTeW1saW5rcykge1xuICBjb25zdCBwcm90b2NvbCA9IGJhc2UucHJvdG9jb2w7XG4gIGNvbnN0IGlzRGF0YSA9IHByb3RvY29sID09PSBcImRhdGE6XCI7XG4gIGNvbnN0IGlzUmVtb3RlID0gaXNEYXRhIHx8IHByb3RvY29sID09PSBcImh0dHA6XCIgfHwgcHJvdG9jb2wgPT09IFwiaHR0cHM6XCI7XG4gIGxldCByZXNvbHZlZDtcbiAgaWYgKHNob3VsZEJlVHJlYXRlZEFzUmVsYXRpdmVPckFic29sdXRlUGF0aChzcGVjaWZpZXIpKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJlc29sdmVkID0gbmV3IFVSTDIoc3BlY2lmaWVyLCBiYXNlKTtcbiAgICB9IGNhdGNoIChlcnJvcl8pIHtcbiAgICAgIGNvbnN0IGVycm9yID0gbmV3IEVSUl9VTlNVUFBPUlRFRF9SRVNPTFZFX1JFUVVFU1Qoc3BlY2lmaWVyLCBiYXNlKTtcbiAgICAgIGVycm9yLmNhdXNlID0gZXJyb3JfO1xuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9IGVsc2UgaWYgKHByb3RvY29sID09PSBcImZpbGU6XCIgJiYgc3BlY2lmaWVyWzBdID09PSBcIiNcIikge1xuICAgIHJlc29sdmVkID0gcGFja2FnZUltcG9ydHNSZXNvbHZlKHNwZWNpZmllciwgYmFzZSwgY29uZGl0aW9ucyk7XG4gIH0gZWxzZSB7XG4gICAgdHJ5IHtcbiAgICAgIHJlc29sdmVkID0gbmV3IFVSTDIoc3BlY2lmaWVyKTtcbiAgICB9IGNhdGNoIChlcnJvcl8pIHtcbiAgICAgIGlmIChpc1JlbW90ZSAmJiAhYnVpbHRpbk1vZHVsZXMuaW5jbHVkZXMoc3BlY2lmaWVyKSkge1xuICAgICAgICBjb25zdCBlcnJvciA9IG5ldyBFUlJfVU5TVVBQT1JURURfUkVTT0xWRV9SRVFVRVNUKHNwZWNpZmllciwgYmFzZSk7XG4gICAgICAgIGVycm9yLmNhdXNlID0gZXJyb3JfO1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICAgIHJlc29sdmVkID0gcGFja2FnZVJlc29sdmUoc3BlY2lmaWVyLCBiYXNlLCBjb25kaXRpb25zKTtcbiAgICB9XG4gIH1cbiAgYXNzZXJ0MyhyZXNvbHZlZCAhPT0gdm9pZCAwLCBcImV4cGVjdGVkIHRvIGJlIGRlZmluZWRcIik7XG4gIGlmIChyZXNvbHZlZC5wcm90b2NvbCAhPT0gXCJmaWxlOlwiKSB7XG4gICAgcmV0dXJuIHJlc29sdmVkO1xuICB9XG4gIHJldHVybiBmaW5hbGl6ZVJlc29sdXRpb24ocmVzb2x2ZWQsIGJhc2UsIHByZXNlcnZlU3ltbGlua3MpO1xufVxuZnVuY3Rpb24gY2hlY2tJZkRpc2FsbG93ZWRJbXBvcnQoc3BlY2lmaWVyLCBwYXJzZWQsIHBhcnNlZFBhcmVudFVSTCkge1xuICBpZiAocGFyc2VkUGFyZW50VVJMKSB7XG4gICAgY29uc3QgcGFyZW50UHJvdG9jb2wgPSBwYXJzZWRQYXJlbnRVUkwucHJvdG9jb2w7XG4gICAgaWYgKHBhcmVudFByb3RvY29sID09PSBcImh0dHA6XCIgfHwgcGFyZW50UHJvdG9jb2wgPT09IFwiaHR0cHM6XCIpIHtcbiAgICAgIGlmIChzaG91bGRCZVRyZWF0ZWRBc1JlbGF0aXZlT3JBYnNvbHV0ZVBhdGgoc3BlY2lmaWVyKSkge1xuICAgICAgICBjb25zdCBwYXJzZWRQcm90b2NvbCA9IHBhcnNlZCA9PSBudWxsID8gdm9pZCAwIDogcGFyc2VkLnByb3RvY29sO1xuICAgICAgICBpZiAocGFyc2VkUHJvdG9jb2wgJiYgcGFyc2VkUHJvdG9jb2wgIT09IFwiaHR0cHM6XCIgJiYgcGFyc2VkUHJvdG9jb2wgIT09IFwiaHR0cDpcIikge1xuICAgICAgICAgIHRocm93IG5ldyBFUlJfTkVUV09SS19JTVBPUlRfRElTQUxMT1dFRChcbiAgICAgICAgICAgIHNwZWNpZmllcixcbiAgICAgICAgICAgIHBhcnNlZFBhcmVudFVSTCxcbiAgICAgICAgICAgIFwicmVtb3RlIGltcG9ydHMgY2Fubm90IGltcG9ydCBmcm9tIGEgbG9jYWwgbG9jYXRpb24uXCJcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHVybDogKHBhcnNlZCA9PSBudWxsID8gdm9pZCAwIDogcGFyc2VkLmhyZWYpIHx8IFwiXCIgfTtcbiAgICAgIH1cbiAgICAgIGlmIChidWlsdGluTW9kdWxlcy5pbmNsdWRlcyhzcGVjaWZpZXIpKSB7XG4gICAgICAgIHRocm93IG5ldyBFUlJfTkVUV09SS19JTVBPUlRfRElTQUxMT1dFRChcbiAgICAgICAgICBzcGVjaWZpZXIsXG4gICAgICAgICAgcGFyc2VkUGFyZW50VVJMLFxuICAgICAgICAgIFwicmVtb3RlIGltcG9ydHMgY2Fubm90IGltcG9ydCBmcm9tIGEgbG9jYWwgbG9jYXRpb24uXCJcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIHRocm93IG5ldyBFUlJfTkVUV09SS19JTVBPUlRfRElTQUxMT1dFRChcbiAgICAgICAgc3BlY2lmaWVyLFxuICAgICAgICBwYXJzZWRQYXJlbnRVUkwsXG4gICAgICAgIFwib25seSByZWxhdGl2ZSBhbmQgYWJzb2x1dGUgc3BlY2lmaWVycyBhcmUgc3VwcG9ydGVkLlwiXG4gICAgICApO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gaXNVUkwoc2VsZikge1xuICByZXR1cm4gQm9vbGVhbihcbiAgICBzZWxmICYmIHR5cGVvZiBzZWxmID09PSBcIm9iamVjdFwiICYmIFwiaHJlZlwiIGluIHNlbGYgJiYgdHlwZW9mIHNlbGYuaHJlZiA9PT0gXCJzdHJpbmdcIiAmJiBcInByb3RvY29sXCIgaW4gc2VsZiAmJiB0eXBlb2Ygc2VsZi5wcm90b2NvbCA9PT0gXCJzdHJpbmdcIiAmJiBzZWxmLmhyZWYgJiYgc2VsZi5wcm90b2NvbFxuICApO1xufVxuZnVuY3Rpb24gdGhyb3dJZkludmFsaWRQYXJlbnRVUkwocGFyZW50VVJMKSB7XG4gIGlmIChwYXJlbnRVUkwgPT09IHZvaWQgMCkge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAodHlwZW9mIHBhcmVudFVSTCAhPT0gXCJzdHJpbmdcIiAmJiAhaXNVUkwocGFyZW50VVJMKSkge1xuICAgIHRocm93IG5ldyBjb2Rlcy5FUlJfSU5WQUxJRF9BUkdfVFlQRShcbiAgICAgIFwicGFyZW50VVJMXCIsXG4gICAgICBbXCJzdHJpbmdcIiwgXCJVUkxcIl0sXG4gICAgICBwYXJlbnRVUkxcbiAgICApO1xuICB9XG59XG5mdW5jdGlvbiBkZWZhdWx0UmVzb2x2ZShzcGVjaWZpZXIsIGNvbnRleHQgPSB7fSkge1xuICBjb25zdCB7IHBhcmVudFVSTCB9ID0gY29udGV4dDtcbiAgYXNzZXJ0MyhwYXJlbnRVUkwgIT09IHZvaWQgMCwgXCJleHBlY3RlZCBgcGFyZW50VVJMYCB0byBiZSBkZWZpbmVkXCIpO1xuICB0aHJvd0lmSW52YWxpZFBhcmVudFVSTChwYXJlbnRVUkwpO1xuICBsZXQgcGFyc2VkUGFyZW50VVJMO1xuICBpZiAocGFyZW50VVJMKSB7XG4gICAgdHJ5IHtcbiAgICAgIHBhcnNlZFBhcmVudFVSTCA9IG5ldyBVUkwyKHBhcmVudFVSTCk7XG4gICAgfSBjYXRjaCB7XG4gICAgfVxuICB9XG4gIGxldCBwYXJzZWQ7XG4gIGxldCBwcm90b2NvbDtcbiAgdHJ5IHtcbiAgICBwYXJzZWQgPSBzaG91bGRCZVRyZWF0ZWRBc1JlbGF0aXZlT3JBYnNvbHV0ZVBhdGgoc3BlY2lmaWVyKSA/IG5ldyBVUkwyKHNwZWNpZmllciwgcGFyc2VkUGFyZW50VVJMKSA6IG5ldyBVUkwyKHNwZWNpZmllcik7XG4gICAgcHJvdG9jb2wgPSBwYXJzZWQucHJvdG9jb2w7XG4gICAgaWYgKHByb3RvY29sID09PSBcImRhdGE6XCIpIHtcbiAgICAgIHJldHVybiB7IHVybDogcGFyc2VkLmhyZWYsIGZvcm1hdDogbnVsbCB9O1xuICAgIH1cbiAgfSBjYXRjaCB7XG4gIH1cbiAgY29uc3QgbWF5YmVSZXR1cm4gPSBjaGVja0lmRGlzYWxsb3dlZEltcG9ydChcbiAgICBzcGVjaWZpZXIsXG4gICAgcGFyc2VkLFxuICAgIHBhcnNlZFBhcmVudFVSTFxuICApO1xuICBpZiAobWF5YmVSZXR1cm4pIHJldHVybiBtYXliZVJldHVybjtcbiAgaWYgKHByb3RvY29sID09PSB2b2lkIDAgJiYgcGFyc2VkKSB7XG4gICAgcHJvdG9jb2wgPSBwYXJzZWQucHJvdG9jb2w7XG4gIH1cbiAgaWYgKHByb3RvY29sID09PSBcIm5vZGU6XCIpIHtcbiAgICByZXR1cm4geyB1cmw6IHNwZWNpZmllciB9O1xuICB9XG4gIGlmIChwYXJzZWQgJiYgcGFyc2VkLnByb3RvY29sID09PSBcIm5vZGU6XCIpIHJldHVybiB7IHVybDogc3BlY2lmaWVyIH07XG4gIGNvbnN0IGNvbmRpdGlvbnMgPSBnZXRDb25kaXRpb25zU2V0KGNvbnRleHQuY29uZGl0aW9ucyk7XG4gIGNvbnN0IHVybDIgPSBtb2R1bGVSZXNvbHZlKHNwZWNpZmllciwgbmV3IFVSTDIocGFyZW50VVJMKSwgY29uZGl0aW9ucywgZmFsc2UpO1xuICByZXR1cm4ge1xuICAgIC8vIERvIE5PVCBjYXN0IGB1cmxgIHRvIGEgc3RyaW5nOiB0aGF0IHdpbGwgd29yayBldmVuIHdoZW4gdGhlcmUgYXJlIHJlYWxcbiAgICAvLyBwcm9ibGVtcywgc2lsZW5jaW5nIHRoZW1cbiAgICB1cmw6IHVybDIuaHJlZixcbiAgICBmb3JtYXQ6IGRlZmF1bHRHZXRGb3JtYXRXaXRob3V0RXJyb3JzKHVybDIsIHsgcGFyZW50VVJMIH0pXG4gIH07XG59XG5cbi8vIG5vZGVfbW9kdWxlcy9pbXBvcnQtbWV0YS1yZXNvbHZlL2luZGV4LmpzXG5mdW5jdGlvbiByZXNvbHZlMihzcGVjaWZpZXIsIHBhcmVudCkge1xuICBpZiAoIXBhcmVudCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwiUGxlYXNlIHBhc3MgYHBhcmVudGA6IGBpbXBvcnQtbWV0YS1yZXNvbHZlYCBjYW5ub3QgcG9ueWZpbGwgdGhhdFwiXG4gICAgKTtcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiBkZWZhdWx0UmVzb2x2ZShzcGVjaWZpZXIsIHsgcGFyZW50VVJMOiBwYXJlbnQgfSkudXJsO1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnN0IGV4Y2VwdGlvbjIgPSAoXG4gICAgICAvKiogQHR5cGUge0Vycm5vRXhjZXB0aW9ufSAqL1xuICAgICAgZXJyb3JcbiAgICApO1xuICAgIGlmICgoZXhjZXB0aW9uMi5jb2RlID09PSBcIkVSUl9VTlNVUFBPUlRFRF9ESVJfSU1QT1JUXCIgfHwgZXhjZXB0aW9uMi5jb2RlID09PSBcIkVSUl9NT0RVTEVfTk9UX0ZPVU5EXCIpICYmIHR5cGVvZiBleGNlcHRpb24yLnVybCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgcmV0dXJuIGV4Y2VwdGlvbjIudXJsO1xuICAgIH1cbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufVxuXG4vLyBzcmMvdXRpbHMvaW1wb3J0LWZyb20tZmlsZS5qc1xuZnVuY3Rpb24gaW1wb3J0RnJvbUZpbGUoc3BlY2lmaWVyLCBwYXJlbnQpIHtcbiAgY29uc3QgdXJsMiA9IHJlc29sdmUyKHNwZWNpZmllciwgcGF0aFRvRmlsZVVSTDQocGFyZW50KS5ocmVmKTtcbiAgcmV0dXJuIGltcG9ydCh1cmwyKTtcbn1cbnZhciBpbXBvcnRfZnJvbV9maWxlX2RlZmF1bHQgPSBpbXBvcnRGcm9tRmlsZTtcblxuLy8gc3JjL3V0aWxzL3JlcXVpcmUtZnJvbS1maWxlLmpzXG5pbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSBcIm1vZHVsZVwiO1xuZnVuY3Rpb24gcmVxdWlyZUZyb21GaWxlKGlkLCBwYXJlbnQpIHtcbiAgY29uc3QgcmVxdWlyZTIgPSBjcmVhdGVSZXF1aXJlKHBhcmVudCk7XG4gIHJldHVybiByZXF1aXJlMihpZCk7XG59XG52YXIgcmVxdWlyZV9mcm9tX2ZpbGVfZGVmYXVsdCA9IHJlcXVpcmVGcm9tRmlsZTtcblxuLy8gc3JjL2NvbmZpZy9wcmV0dGllci1jb25maWcvbG9hZC1leHRlcm5hbC1jb25maWcuanNcbnZhciByZXF1aXJlRXJyb3JDb2Rlc1Nob3VsZEJlSWdub3JlZCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KFtcbiAgXCJNT0RVTEVfTk9UX0ZPVU5EXCIsXG4gIFwiRVJSX1JFUVVJUkVfRVNNXCIsXG4gIFwiRVJSX1BBQ0tBR0VfUEFUSF9OT1RfRVhQT1JURURcIixcbiAgXCJFUlJfUkVRVUlSRV9BU1lOQ19NT0RVTEVcIlxuXSk7XG5hc3luYyBmdW5jdGlvbiBsb2FkRXh0ZXJuYWxDb25maWcoZXh0ZXJuYWxDb25maWcsIGNvbmZpZ0ZpbGUpIHtcbiAgdHJ5IHtcbiAgICBjb25zdCByZXF1aXJlZCA9IHJlcXVpcmVfZnJvbV9maWxlX2RlZmF1bHQoZXh0ZXJuYWxDb25maWcsIGNvbmZpZ0ZpbGUpO1xuICAgIGlmIChwcm9jZXNzLmZlYXR1cmVzLnJlcXVpcmVfbW9kdWxlICYmIHJlcXVpcmVkLl9fZXNNb2R1bGUpIHtcbiAgICAgIHJldHVybiByZXF1aXJlZC5kZWZhdWx0O1xuICAgIH1cbiAgICByZXR1cm4gcmVxdWlyZWQ7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKCFyZXF1aXJlRXJyb3JDb2Rlc1Nob3VsZEJlSWdub3JlZC5oYXMoZXJyb3IgPT0gbnVsbCA/IHZvaWQgMCA6IGVycm9yLmNvZGUpKSB7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH1cbiAgY29uc3QgbW9kdWxlID0gYXdhaXQgaW1wb3J0X2Zyb21fZmlsZV9kZWZhdWx0KGV4dGVybmFsQ29uZmlnLCBjb25maWdGaWxlKTtcbiAgcmV0dXJuIG1vZHVsZS5kZWZhdWx0O1xufVxudmFyIGxvYWRfZXh0ZXJuYWxfY29uZmlnX2RlZmF1bHQgPSBsb2FkRXh0ZXJuYWxDb25maWc7XG5cbi8vIHNyYy9jb25maWcvcHJldHRpZXItY29uZmlnL2xvYWQtY29uZmlnLmpzXG5hc3luYyBmdW5jdGlvbiBsb2FkQ29uZmlnKGNvbmZpZ0ZpbGUpIHtcbiAgY29uc3QgeyBiYXNlOiBmaWxlTmFtZSwgZXh0OiBleHRlbnNpb24gfSA9IHBhdGg3LnBhcnNlKGNvbmZpZ0ZpbGUpO1xuICBjb25zdCBsb2FkMiA9IGZpbGVOYW1lID09PSBcInBhY2thZ2UuanNvblwiID8gbG9hZENvbmZpZ0Zyb21QYWNrYWdlSnNvbiA6IGZpbGVOYW1lID09PSBcInBhY2thZ2UueWFtbFwiID8gbG9hZENvbmZpZ0Zyb21QYWNrYWdlWWFtbCA6IGxvYWRlcnNfZGVmYXVsdFtleHRlbnNpb25dO1xuICBpZiAoIWxvYWQyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYE5vIGxvYWRlciBzcGVjaWZpZWQgZm9yIGV4dGVuc2lvbiBcIiR7ZXh0ZW5zaW9uIHx8IFwibm9FeHRcIn1cImBcbiAgICApO1xuICB9XG4gIGxldCBjb25maWcgPSBhd2FpdCBsb2FkMihjb25maWdGaWxlKTtcbiAgaWYgKCFjb25maWcpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKHR5cGVvZiBjb25maWcgPT09IFwic3RyaW5nXCIpIHtcbiAgICBjb25maWcgPSBhd2FpdCBsb2FkX2V4dGVybmFsX2NvbmZpZ19kZWZhdWx0KGNvbmZpZywgY29uZmlnRmlsZSk7XG4gIH1cbiAgaWYgKHR5cGVvZiBjb25maWcgIT09IFwib2JqZWN0XCIpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgYENvbmZpZyBpcyBvbmx5IGFsbG93ZWQgdG8gYmUgYW4gb2JqZWN0LCBidXQgcmVjZWl2ZWQgJHt0eXBlb2YgY29uZmlnfSBpbiBcIiR7Y29uZmlnRmlsZX1cImBcbiAgICApO1xuICB9XG4gIGRlbGV0ZSBjb25maWcuJHNjaGVtYTtcbiAgcmV0dXJuIGNvbmZpZztcbn1cbnZhciBsb2FkX2NvbmZpZ19kZWZhdWx0ID0gbG9hZENvbmZpZztcblxuLy8gc3JjL2NvbmZpZy9wcmV0dGllci1jb25maWcvaW5kZXguanNcbnZhciBsb2FkQ2FjaGUgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xudmFyIHNlYXJjaENhY2hlID0gLyogQF9fUFVSRV9fICovIG5ldyBNYXAoKTtcbmZ1bmN0aW9uIGNsZWFyUHJldHRpZXJDb25maWdDYWNoZSgpIHtcbiAgbG9hZENhY2hlLmNsZWFyKCk7XG4gIHNlYXJjaENhY2hlLmNsZWFyKCk7XG59XG5mdW5jdGlvbiBsb2FkUHJldHRpZXJDb25maWcoY29uZmlnRmlsZSwgeyBzaG91bGRDYWNoZSB9KSB7XG4gIGNvbmZpZ0ZpbGUgPSBwYXRoOC5yZXNvbHZlKGNvbmZpZ0ZpbGUpO1xuICBpZiAoIXNob3VsZENhY2hlIHx8ICFsb2FkQ2FjaGUuaGFzKGNvbmZpZ0ZpbGUpKSB7XG4gICAgbG9hZENhY2hlLnNldChjb25maWdGaWxlLCBsb2FkX2NvbmZpZ19kZWZhdWx0KGNvbmZpZ0ZpbGUpKTtcbiAgfVxuICByZXR1cm4gbG9hZENhY2hlLmdldChjb25maWdGaWxlKTtcbn1cbmZ1bmN0aW9uIGdldFNlYXJjaEZ1bmN0aW9uKHN0b3BEaXJlY3RvcnkpIHtcbiAgc3RvcERpcmVjdG9yeSA9IHN0b3BEaXJlY3RvcnkgPyBwYXRoOC5yZXNvbHZlKHN0b3BEaXJlY3RvcnkpIDogdm9pZCAwO1xuICBpZiAoIXNlYXJjaENhY2hlLmhhcyhzdG9wRGlyZWN0b3J5KSkge1xuICAgIGNvbnN0IHNlYXJjaGVyMiA9IGNvbmZpZ19zZWFyY2hlcl9kZWZhdWx0KHN0b3BEaXJlY3RvcnkpO1xuICAgIGNvbnN0IHNlYXJjaEZ1bmN0aW9uID0gc2VhcmNoZXIyLnNlYXJjaC5iaW5kKHNlYXJjaGVyMik7XG4gICAgc2VhcmNoQ2FjaGUuc2V0KHN0b3BEaXJlY3RvcnksIHNlYXJjaEZ1bmN0aW9uKTtcbiAgfVxuICByZXR1cm4gc2VhcmNoQ2FjaGUuZ2V0KHN0b3BEaXJlY3RvcnkpO1xufVxuZnVuY3Rpb24gc2VhcmNoUHJldHRpZXJDb25maWcoc3RhcnREaXJlY3RvcnksIG9wdGlvbnM4ID0ge30pIHtcbiAgc3RhcnREaXJlY3RvcnkgPSBzdGFydERpcmVjdG9yeSA/IHBhdGg4LnJlc29sdmUoc3RhcnREaXJlY3RvcnkpIDogcHJvY2Vzcy5jd2QoKTtcbiAgY29uc3Qgc3RvcERpcmVjdG9yeSA9IG1vY2thYmxlX2RlZmF1bHQuZ2V0UHJldHRpZXJDb25maWdTZWFyY2hTdG9wRGlyZWN0b3J5KCk7XG4gIGNvbnN0IHNlYXJjaCA9IGdldFNlYXJjaEZ1bmN0aW9uKHN0b3BEaXJlY3RvcnkpO1xuICByZXR1cm4gc2VhcmNoKHN0YXJ0RGlyZWN0b3J5LCB7IHNob3VsZENhY2hlOiBvcHRpb25zOC5zaG91bGRDYWNoZSB9KTtcbn1cblxuLy8gc3JjL2NvbmZpZy9yZXNvbHZlLWNvbmZpZy5qc1xuZnVuY3Rpb24gY2xlYXJDYWNoZSgpIHtcbiAgY2xlYXJQcmV0dGllckNvbmZpZ0NhY2hlKCk7XG4gIGNsZWFyRWRpdG9yY29uZmlnQ2FjaGUoKTtcbn1cbmZ1bmN0aW9uIGxvYWRFZGl0b3Jjb25maWcyKGZpbGUsIG9wdGlvbnM4KSB7XG4gIGlmICghZmlsZSB8fCAhb3B0aW9uczguZWRpdG9yY29uZmlnKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IHNob3VsZENhY2hlID0gb3B0aW9uczgudXNlQ2FjaGU7XG4gIHJldHVybiBsb2FkRWRpdG9yY29uZmlnKGZpbGUsIHsgc2hvdWxkQ2FjaGUgfSk7XG59XG5hc3luYyBmdW5jdGlvbiBsb2FkUHJldHRpZXJDb25maWcyKGZpbGUsIG9wdGlvbnM4KSB7XG4gIGNvbnN0IHNob3VsZENhY2hlID0gb3B0aW9uczgudXNlQ2FjaGU7XG4gIGxldCBjb25maWdGaWxlID0gb3B0aW9uczguY29uZmlnO1xuICBpZiAoIWNvbmZpZ0ZpbGUpIHtcbiAgICBjb25zdCBkaXJlY3RvcnkgPSBmaWxlID8gcGF0aDkuZGlybmFtZShwYXRoOS5yZXNvbHZlKGZpbGUpKSA6IHZvaWQgMDtcbiAgICBjb25maWdGaWxlID0gYXdhaXQgc2VhcmNoUHJldHRpZXJDb25maWcoZGlyZWN0b3J5LCB7IHNob3VsZENhY2hlIH0pO1xuICB9XG4gIGlmICghY29uZmlnRmlsZSkge1xuICAgIHJldHVybjtcbiAgfVxuICBjb25zdCBjb25maWcgPSBhd2FpdCBsb2FkUHJldHRpZXJDb25maWcoY29uZmlnRmlsZSwgeyBzaG91bGRDYWNoZSB9KTtcbiAgcmV0dXJuIHsgY29uZmlnLCBjb25maWdGaWxlIH07XG59XG5hc3luYyBmdW5jdGlvbiByZXNvbHZlQ29uZmlnKGZpbGVVcmxPclBhdGgsIG9wdGlvbnM4KSB7XG4gIG9wdGlvbnM4ID0geyB1c2VDYWNoZTogdHJ1ZSwgLi4ub3B0aW9uczggfTtcbiAgY29uc3QgZmlsZVBhdGggPSB0b1BhdGgoZmlsZVVybE9yUGF0aCk7XG4gIGNvbnN0IFtyZXN1bHQsIGVkaXRvckNvbmZpZ3VyZWRdID0gYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgIGxvYWRQcmV0dGllckNvbmZpZzIoZmlsZVBhdGgsIG9wdGlvbnM4KSxcbiAgICBsb2FkRWRpdG9yY29uZmlnMihmaWxlUGF0aCwgb3B0aW9uczgpXG4gIF0pO1xuICBpZiAoIXJlc3VsdCAmJiAhZWRpdG9yQ29uZmlndXJlZCkge1xuICAgIHJldHVybiBudWxsO1xuICB9XG4gIGNvbnN0IG1lcmdlZCA9IHtcbiAgICAuLi5lZGl0b3JDb25maWd1cmVkLFxuICAgIC4uLm1lcmdlT3ZlcnJpZGVzKHJlc3VsdCwgZmlsZVBhdGgpXG4gIH07XG4gIGlmIChBcnJheS5pc0FycmF5KG1lcmdlZC5wbHVnaW5zKSkge1xuICAgIG1lcmdlZC5wbHVnaW5zID0gbWVyZ2VkLnBsdWdpbnMubWFwKFxuICAgICAgKHZhbHVlKSA9PiB0eXBlb2YgdmFsdWUgPT09IFwic3RyaW5nXCIgJiYgdmFsdWUuc3RhcnRzV2l0aChcIi5cIikgPyBwYXRoOS5yZXNvbHZlKHBhdGg5LmRpcm5hbWUocmVzdWx0LmNvbmZpZ0ZpbGUpLCB2YWx1ZSkgOiB2YWx1ZVxuICAgICk7XG4gIH1cbiAgcmV0dXJuIG1lcmdlZDtcbn1cbmFzeW5jIGZ1bmN0aW9uIHJlc29sdmVDb25maWdGaWxlKGZpbGVVcmxPclBhdGgpIHtcbiAgY29uc3QgZGlyZWN0b3J5ID0gZmlsZVVybE9yUGF0aCA/IHBhdGg5LmRpcm5hbWUocGF0aDkucmVzb2x2ZSh0b1BhdGgoZmlsZVVybE9yUGF0aCkpKSA6IHZvaWQgMDtcbiAgY29uc3QgcmVzdWx0ID0gYXdhaXQgc2VhcmNoUHJldHRpZXJDb25maWcoZGlyZWN0b3J5LCB7IHNob3VsZENhY2hlOiBmYWxzZSB9KTtcbiAgcmV0dXJuIHJlc3VsdCA/PyBudWxsO1xufVxuZnVuY3Rpb24gbWVyZ2VPdmVycmlkZXMoY29uZmlnUmVzdWx0LCBmaWxlUGF0aCkge1xuICBjb25zdCB7IGNvbmZpZywgY29uZmlnRmlsZSB9ID0gY29uZmlnUmVzdWx0IHx8IHt9O1xuICBjb25zdCB7IG92ZXJyaWRlcywgLi4ub3B0aW9uczggfSA9IGNvbmZpZyB8fCB7fTtcbiAgaWYgKGZpbGVQYXRoICYmIG92ZXJyaWRlcykge1xuICAgIGNvbnN0IHJlbGF0aXZlRmlsZVBhdGggPSBwYXRoOS5yZWxhdGl2ZShwYXRoOS5kaXJuYW1lKGNvbmZpZ0ZpbGUpLCBmaWxlUGF0aCk7XG4gICAgZm9yIChjb25zdCBvdmVycmlkZSBvZiBvdmVycmlkZXMpIHtcbiAgICAgIGlmIChwYXRoTWF0Y2hlc0dsb2JzKFxuICAgICAgICByZWxhdGl2ZUZpbGVQYXRoLFxuICAgICAgICBvdmVycmlkZS5maWxlcyxcbiAgICAgICAgb3ZlcnJpZGUuZXhjbHVkZUZpbGVzXG4gICAgICApKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24ob3B0aW9uczgsIG92ZXJyaWRlLm9wdGlvbnMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICByZXR1cm4gb3B0aW9uczg7XG59XG5mdW5jdGlvbiBwYXRoTWF0Y2hlc0dsb2JzKGZpbGVQYXRoLCBwYXR0ZXJucywgZXhjbHVkZWRQYXR0ZXJucykge1xuICBjb25zdCBwYXR0ZXJuTGlzdCA9IEFycmF5LmlzQXJyYXkocGF0dGVybnMpID8gcGF0dGVybnMgOiBbcGF0dGVybnNdO1xuICBjb25zdCBbd2l0aFNsYXNoZXMsIHdpdGhvdXRTbGFzaGVzXSA9IHBhcnRpdGlvbl9kZWZhdWx0KFxuICAgIHBhdHRlcm5MaXN0LFxuICAgIChwYXR0ZXJuKSA9PiBwYXR0ZXJuLmluY2x1ZGVzKFwiL1wiKVxuICApO1xuICByZXR1cm4gaW1wb3J0X21pY3JvbWF0Y2guZGVmYXVsdC5pc01hdGNoKGZpbGVQYXRoLCB3aXRob3V0U2xhc2hlcywge1xuICAgIGlnbm9yZTogZXhjbHVkZWRQYXR0ZXJucyxcbiAgICBiYXNlbmFtZTogdHJ1ZSxcbiAgICBkb3Q6IHRydWVcbiAgfSkgfHwgaW1wb3J0X21pY3JvbWF0Y2guZGVmYXVsdC5pc01hdGNoKGZpbGVQYXRoLCB3aXRoU2xhc2hlcywge1xuICAgIGlnbm9yZTogZXhjbHVkZWRQYXR0ZXJucyxcbiAgICBiYXNlbmFtZTogZmFsc2UsXG4gICAgZG90OiB0cnVlXG4gIH0pO1xufVxuXG4vLyBzY3JpcHRzL2J1aWxkL3NoaW1zL3N0cmluZy1yZXBsYWNlLWFsbC5qc1xudmFyIHN0cmluZ1JlcGxhY2VBbGwyID0gKGlzT3B0aW9uYWxPYmplY3QsIG9yaWdpbmFsLCBwYXR0ZXJuLCByZXBsYWNlbWVudCkgPT4ge1xuICBpZiAoaXNPcHRpb25hbE9iamVjdCAmJiAob3JpZ2luYWwgPT09IHZvaWQgMCB8fCBvcmlnaW5hbCA9PT0gbnVsbCkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKG9yaWdpbmFsLnJlcGxhY2VBbGwpIHtcbiAgICByZXR1cm4gb3JpZ2luYWwucmVwbGFjZUFsbChwYXR0ZXJuLCByZXBsYWNlbWVudCk7XG4gIH1cbiAgaWYgKHBhdHRlcm4uZ2xvYmFsKSB7XG4gICAgcmV0dXJuIG9yaWdpbmFsLnJlcGxhY2UocGF0dGVybiwgcmVwbGFjZW1lbnQpO1xuICB9XG4gIHJldHVybiBvcmlnaW5hbC5zcGxpdChwYXR0ZXJuKS5qb2luKHJlcGxhY2VtZW50KTtcbn07XG52YXIgc3RyaW5nX3JlcGxhY2VfYWxsX2RlZmF1bHQgPSBzdHJpbmdSZXBsYWNlQWxsMjtcblxuLy8gc3JjL3V0aWxzL2lnbm9yZS5qc1xudmFyIGltcG9ydF9pZ25vcmUgPSBfX3RvRVNNKHJlcXVpcmVfaWdub3JlKCksIDEpO1xuaW1wb3J0IHBhdGgxMCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHVybCBmcm9tIFwidXJsXCI7XG52YXIgY3JlYXRlSWdub3JlID0gaW1wb3J0X2lnbm9yZS5kZWZhdWx0LmRlZmF1bHQ7XG52YXIgc2xhc2ggPSBwYXRoMTAuc2VwID09PSBcIlxcXFxcIiA/IChmaWxlUGF0aCkgPT4gc3RyaW5nX3JlcGxhY2VfYWxsX2RlZmF1bHQoXG4gIC8qIGlzT3B0aW9uYWxPYmplY3QgKi9cbiAgZmFsc2UsXG4gIGZpbGVQYXRoLFxuICBcIlxcXFxcIixcbiAgXCIvXCJcbikgOiAoZmlsZVBhdGgpID0+IGZpbGVQYXRoO1xuZnVuY3Rpb24gZ2V0UmVsYXRpdmVQYXRoKGZpbGUsIGlnbm9yZUZpbGUpIHtcbiAgY29uc3QgaWdub3JlRmlsZVBhdGggPSB0b1BhdGgoaWdub3JlRmlsZSk7XG4gIGNvbnN0IGZpbGVQYXRoID0gaXNVcmwoZmlsZSkgPyB1cmwuZmlsZVVSTFRvUGF0aChmaWxlKSA6IHBhdGgxMC5yZXNvbHZlKGZpbGUpO1xuICByZXR1cm4gcGF0aDEwLnJlbGF0aXZlKFxuICAgIC8vIElmIHRoZXJlJ3MgYW4gaWdub3JlLXBhdGggc2V0LCB0aGUgZmlsZW5hbWUgbXVzdCBiZSByZWxhdGl2ZSB0byB0aGVcbiAgICAvLyBpZ25vcmUgcGF0aCwgbm90IHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5LlxuICAgIGlnbm9yZUZpbGVQYXRoID8gcGF0aDEwLmRpcm5hbWUoaWdub3JlRmlsZVBhdGgpIDogcHJvY2Vzcy5jd2QoKSxcbiAgICBmaWxlUGF0aFxuICApO1xufVxuYXN5bmMgZnVuY3Rpb24gY3JlYXRlU2luZ2xlSXNJZ25vcmVkRnVuY3Rpb24oaWdub3JlRmlsZSwgd2l0aE5vZGVNb2R1bGVzKSB7XG4gIGxldCBjb250ZW50ID0gXCJcIjtcbiAgaWYgKGlnbm9yZUZpbGUpIHtcbiAgICBjb250ZW50ICs9IGF3YWl0IHJlYWRfZmlsZV9kZWZhdWx0KGlnbm9yZUZpbGUpID8/IFwiXCI7XG4gIH1cbiAgaWYgKCF3aXRoTm9kZU1vZHVsZXMpIHtcbiAgICBjb250ZW50ICs9IFwiXFxubm9kZV9tb2R1bGVzXCI7XG4gIH1cbiAgaWYgKCFjb250ZW50KSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGlnbm9yZSA9IGNyZWF0ZUlnbm9yZSh7IGFsbG93UmVsYXRpdmVQYXRoczogdHJ1ZSB9KS5hZGQoY29udGVudCk7XG4gIHJldHVybiAoZmlsZSkgPT4gaWdub3JlLmlnbm9yZXMoc2xhc2goZ2V0UmVsYXRpdmVQYXRoKGZpbGUsIGlnbm9yZUZpbGUpKSk7XG59XG5hc3luYyBmdW5jdGlvbiBjcmVhdGVJc0lnbm9yZWRGdW5jdGlvbihpZ25vcmVGaWxlcywgd2l0aE5vZGVNb2R1bGVzKSB7XG4gIGlmIChpZ25vcmVGaWxlcy5sZW5ndGggPT09IDAgJiYgIXdpdGhOb2RlTW9kdWxlcykge1xuICAgIGlnbm9yZUZpbGVzID0gW3ZvaWQgMF07XG4gIH1cbiAgY29uc3QgaXNJZ25vcmVkRnVuY3Rpb25zID0gKGF3YWl0IFByb21pc2UuYWxsKFxuICAgIGlnbm9yZUZpbGVzLm1hcChcbiAgICAgIChpZ25vcmVGaWxlKSA9PiBjcmVhdGVTaW5nbGVJc0lnbm9yZWRGdW5jdGlvbihpZ25vcmVGaWxlLCB3aXRoTm9kZU1vZHVsZXMpXG4gICAgKVxuICApKS5maWx0ZXIoQm9vbGVhbik7XG4gIHJldHVybiAoZmlsZSkgPT4gaXNJZ25vcmVkRnVuY3Rpb25zLnNvbWUoKGlzSWdub3JlZDIpID0+IGlzSWdub3JlZDIoZmlsZSkpO1xufVxuYXN5bmMgZnVuY3Rpb24gaXNJZ25vcmVkKGZpbGUsIG9wdGlvbnM4KSB7XG4gIGNvbnN0IHsgaWdub3JlUGF0aDogaWdub3JlRmlsZXMsIHdpdGhOb2RlTW9kdWxlcyB9ID0gb3B0aW9uczg7XG4gIGNvbnN0IGlzSWdub3JlZDIgPSBhd2FpdCBjcmVhdGVJc0lnbm9yZWRGdW5jdGlvbihpZ25vcmVGaWxlcywgd2l0aE5vZGVNb2R1bGVzKTtcbiAgcmV0dXJuIGlzSWdub3JlZDIoZmlsZSk7XG59XG5cbi8vIHNyYy91dGlscy9nZXQtaW50ZXJwcmV0ZXIuanNcbnZhciBpbXBvcnRfbl9yZWFkbGluZXMgPSBfX3RvRVNNKHJlcXVpcmVfcmVhZGxpbmVzKCksIDEpO1xuaW1wb3J0IGZzNiBmcm9tIFwiZnNcIjtcbmZ1bmN0aW9uIGdldEludGVycHJldGVyKGZpbGUpIHtcbiAgbGV0IGZkO1xuICB0cnkge1xuICAgIGZkID0gZnM2Lm9wZW5TeW5jKGZpbGUsIFwiclwiKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuO1xuICB9XG4gIHRyeSB7XG4gICAgY29uc3QgbGluZXIgPSBuZXcgaW1wb3J0X25fcmVhZGxpbmVzLmRlZmF1bHQoZmQpO1xuICAgIGNvbnN0IGZpcnN0TGluZSA9IGxpbmVyLm5leHQoKS50b1N0cmluZyhcInV0ZjhcIik7XG4gICAgY29uc3QgbTEgPSBmaXJzdExpbmUubWF0Y2goL14jIVxcLyg/OnVzclxcLyk/YmluXFwvZW52XFxzKyhcXFMrKS91KTtcbiAgICBpZiAobTEpIHtcbiAgICAgIHJldHVybiBtMVsxXTtcbiAgICB9XG4gICAgY29uc3QgbTIgPSBmaXJzdExpbmUubWF0Y2goL14jIVxcLyg/OnVzclxcLyg/OmxvY2FsXFwvKT8pP2JpblxcLyhcXFMrKS91KTtcbiAgICBpZiAobTIpIHtcbiAgICAgIHJldHVybiBtMlsxXTtcbiAgICB9XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIGZzNi5jbG9zZVN5bmMoZmQpO1xuICAgIH0gY2F0Y2gge1xuICAgIH1cbiAgfVxufVxudmFyIGdldF9pbnRlcnByZXRlcl9kZWZhdWx0ID0gZ2V0SW50ZXJwcmV0ZXI7XG5cbi8vIHNyYy91dGlscy9pbmZlci1wYXJzZXIuanNcbnZhciBnZXRGaWxlQmFzZW5hbWUgPSAoZmlsZSkgPT4gU3RyaW5nKGZpbGUpLnNwbGl0KC9bL1xcXFxdL3UpLnBvcCgpO1xuZnVuY3Rpb24gZ2V0TGFuZ3VhZ2VCeUZpbGVOYW1lKGxhbmd1YWdlczIsIGZpbGUpIHtcbiAgaWYgKCFmaWxlKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGJhc2VuYW1lID0gZ2V0RmlsZUJhc2VuYW1lKGZpbGUpLnRvTG93ZXJDYXNlKCk7XG4gIHJldHVybiBsYW5ndWFnZXMyLmZpbmQoXG4gICAgKHsgZmlsZW5hbWVzIH0pID0+IGZpbGVuYW1lcyA9PSBudWxsID8gdm9pZCAwIDogZmlsZW5hbWVzLnNvbWUoKG5hbWUpID0+IG5hbWUudG9Mb3dlckNhc2UoKSA9PT0gYmFzZW5hbWUpXG4gICkgPz8gbGFuZ3VhZ2VzMi5maW5kKFxuICAgICh7IGV4dGVuc2lvbnMgfSkgPT4gZXh0ZW5zaW9ucyA9PSBudWxsID8gdm9pZCAwIDogZXh0ZW5zaW9ucy5zb21lKChleHRlbnNpb24pID0+IGJhc2VuYW1lLmVuZHNXaXRoKGV4dGVuc2lvbikpXG4gICk7XG59XG5mdW5jdGlvbiBnZXRMYW5ndWFnZUJ5TGFuZ3VhZ2VOYW1lKGxhbmd1YWdlczIsIGxhbmd1YWdlTmFtZSkge1xuICBpZiAoIWxhbmd1YWdlTmFtZSkge1xuICAgIHJldHVybjtcbiAgfVxuICByZXR1cm4gbGFuZ3VhZ2VzMi5maW5kKCh7IG5hbWUgfSkgPT4gbmFtZS50b0xvd2VyQ2FzZSgpID09PSBsYW5ndWFnZU5hbWUpID8/IGxhbmd1YWdlczIuZmluZCgoeyBhbGlhc2VzIH0pID0+IGFsaWFzZXMgPT0gbnVsbCA/IHZvaWQgMCA6IGFsaWFzZXMuaW5jbHVkZXMobGFuZ3VhZ2VOYW1lKSkgPz8gbGFuZ3VhZ2VzMi5maW5kKCh7IGV4dGVuc2lvbnMgfSkgPT4gZXh0ZW5zaW9ucyA9PSBudWxsID8gdm9pZCAwIDogZXh0ZW5zaW9ucy5pbmNsdWRlcyhgLiR7bGFuZ3VhZ2VOYW1lfWApKTtcbn1cbmZ1bmN0aW9uIGdldExhbmd1YWdlQnlJbnRlcnByZXRlcihsYW5ndWFnZXMyLCBmaWxlKSB7XG4gIGlmICghZmlsZSB8fCBnZXRGaWxlQmFzZW5hbWUoZmlsZSkuaW5jbHVkZXMoXCIuXCIpKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IGludGVycHJldGVyID0gZ2V0X2ludGVycHJldGVyX2RlZmF1bHQoZmlsZSk7XG4gIGlmICghaW50ZXJwcmV0ZXIpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgcmV0dXJuIGxhbmd1YWdlczIuZmluZChcbiAgICAoeyBpbnRlcnByZXRlcnMgfSkgPT4gaW50ZXJwcmV0ZXJzID09IG51bGwgPyB2b2lkIDAgOiBpbnRlcnByZXRlcnMuaW5jbHVkZXMoaW50ZXJwcmV0ZXIpXG4gICk7XG59XG5mdW5jdGlvbiBpbmZlclBhcnNlcihvcHRpb25zOCwgZmlsZUluZm8pIHtcbiAgY29uc3QgbGFuZ3VhZ2VzMiA9IG9wdGlvbnM4LnBsdWdpbnMuZmxhdE1hcChcbiAgICAocGx1Z2luKSA9PiAoXG4gICAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0tIFNhZmVcbiAgICAgIHBsdWdpbi5sYW5ndWFnZXMgPz8gW11cbiAgICApXG4gICk7XG4gIGNvbnN0IGxhbmd1YWdlID0gZ2V0TGFuZ3VhZ2VCeUxhbmd1YWdlTmFtZShsYW5ndWFnZXMyLCBmaWxlSW5mby5sYW5ndWFnZSkgPz8gZ2V0TGFuZ3VhZ2VCeUZpbGVOYW1lKGxhbmd1YWdlczIsIGZpbGVJbmZvLnBoeXNpY2FsRmlsZSkgPz8gZ2V0TGFuZ3VhZ2VCeUZpbGVOYW1lKGxhbmd1YWdlczIsIGZpbGVJbmZvLmZpbGUpID8/IGdldExhbmd1YWdlQnlJbnRlcnByZXRlcihsYW5ndWFnZXMyLCBmaWxlSW5mby5waHlzaWNhbEZpbGUpO1xuICByZXR1cm4gbGFuZ3VhZ2UgPT0gbnVsbCA/IHZvaWQgMCA6IGxhbmd1YWdlLnBhcnNlcnNbMF07XG59XG52YXIgaW5mZXJfcGFyc2VyX2RlZmF1bHQgPSBpbmZlclBhcnNlcjtcblxuLy8gc3JjL2NvbW1vbi9nZXQtZmlsZS1pbmZvLmpzXG5hc3luYyBmdW5jdGlvbiBnZXRGaWxlSW5mbyhmaWxlLCBvcHRpb25zOCkge1xuICBpZiAodHlwZW9mIGZpbGUgIT09IFwic3RyaW5nXCIgJiYgIShmaWxlIGluc3RhbmNlb2YgVVJMKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICBgZXhwZWN0IFxcYGZpbGVcXGAgdG8gYmUgYSBzdHJpbmcgb3IgVVJMLCBnb3QgXFxgJHt0eXBlb2YgZmlsZX1cXGBgXG4gICAgKTtcbiAgfVxuICBsZXQgeyBpZ25vcmVQYXRoLCB3aXRoTm9kZU1vZHVsZXMgfSA9IG9wdGlvbnM4O1xuICBpZiAoIUFycmF5LmlzQXJyYXkoaWdub3JlUGF0aCkpIHtcbiAgICBpZ25vcmVQYXRoID0gW2lnbm9yZVBhdGhdO1xuICB9XG4gIGNvbnN0IGlnbm9yZWQgPSBhd2FpdCBpc0lnbm9yZWQoZmlsZSwgeyBpZ25vcmVQYXRoLCB3aXRoTm9kZU1vZHVsZXMgfSk7XG4gIGxldCBpbmZlcnJlZFBhcnNlcjtcbiAgaWYgKCFpZ25vcmVkKSB7XG4gICAgaW5mZXJyZWRQYXJzZXIgPSBhd2FpdCBnZXRQYXJzZXIoZmlsZSwgb3B0aW9uczgpO1xuICB9XG4gIHJldHVybiB7XG4gICAgaWdub3JlZCxcbiAgICBpbmZlcnJlZFBhcnNlcjogaW5mZXJyZWRQYXJzZXIgPz8gbnVsbFxuICB9O1xufVxuYXN5bmMgZnVuY3Rpb24gZ2V0UGFyc2VyKGZpbGUsIG9wdGlvbnM4KSB7XG4gIGxldCBjb25maWc7XG4gIGlmIChvcHRpb25zOC5yZXNvbHZlQ29uZmlnICE9PSBmYWxzZSkge1xuICAgIGNvbmZpZyA9IGF3YWl0IHJlc29sdmVDb25maWcoZmlsZSk7XG4gIH1cbiAgcmV0dXJuIChjb25maWcgPT0gbnVsbCA/IHZvaWQgMCA6IGNvbmZpZy5wYXJzZXIpID8/IGluZmVyX3BhcnNlcl9kZWZhdWx0KG9wdGlvbnM4LCB7IHBoeXNpY2FsRmlsZTogZmlsZSB9KTtcbn1cbnZhciBnZXRfZmlsZV9pbmZvX2RlZmF1bHQgPSBnZXRGaWxlSW5mbztcblxuLy8gc3JjL2NvbW1vbi9lbmQtb2YtbGluZS5qc1xuZnVuY3Rpb24gZ3Vlc3NFbmRPZkxpbmUodGV4dCkge1xuICBjb25zdCBpbmRleCA9IHRleHQuaW5kZXhPZihcIlxcclwiKTtcbiAgaWYgKGluZGV4ICE9PSAtMSkge1xuICAgIHJldHVybiB0ZXh0LmNoYXJBdChpbmRleCArIDEpID09PSBcIlxcblwiID8gXCJjcmxmXCIgOiBcImNyXCI7XG4gIH1cbiAgcmV0dXJuIFwibGZcIjtcbn1cbmZ1bmN0aW9uIGNvbnZlcnRFbmRPZkxpbmVUb0NoYXJzKHZhbHVlKSB7XG4gIHN3aXRjaCAodmFsdWUpIHtcbiAgICBjYXNlIFwiY3JcIjpcbiAgICAgIHJldHVybiBcIlxcclwiO1xuICAgIGNhc2UgXCJjcmxmXCI6XG4gICAgICByZXR1cm4gXCJcXHJcXG5cIjtcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIFwiXFxuXCI7XG4gIH1cbn1cbmZ1bmN0aW9uIGNvdW50RW5kT2ZMaW5lQ2hhcnModGV4dCwgZW9sKSB7XG4gIGxldCByZWdleDtcbiAgc3dpdGNoIChlb2wpIHtcbiAgICBjYXNlIFwiXFxuXCI6XG4gICAgICByZWdleCA9IC9cXG4vZ3U7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwiXFxyXCI6XG4gICAgICByZWdleCA9IC9cXHIvZ3U7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwiXFxyXFxuXCI6XG4gICAgICByZWdleCA9IC9cXHJcXG4vZ3U7XG4gICAgICBicmVhaztcbiAgICBkZWZhdWx0OlxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIFwiZW9sXCIgJHtKU09OLnN0cmluZ2lmeShlb2wpfS5gKTtcbiAgfVxuICBjb25zdCBlbmRPZkxpbmVzID0gdGV4dC5tYXRjaChyZWdleCk7XG4gIHJldHVybiBlbmRPZkxpbmVzID8gZW5kT2ZMaW5lcy5sZW5ndGggOiAwO1xufVxuZnVuY3Rpb24gbm9ybWFsaXplRW5kT2ZMaW5lKHRleHQpIHtcbiAgcmV0dXJuIHN0cmluZ19yZXBsYWNlX2FsbF9kZWZhdWx0KFxuICAgIC8qIGlzT3B0aW9uYWxPYmplY3QgKi9cbiAgICBmYWxzZSxcbiAgICB0ZXh0LFxuICAgIC9cXHJcXG4/L2d1LFxuICAgIFwiXFxuXCJcbiAgKTtcbn1cblxuLy8gc3JjL2RvY3VtZW50L2NvbnN0YW50cy5qc1xudmFyIERPQ19UWVBFX1NUUklORyA9IFwic3RyaW5nXCI7XG52YXIgRE9DX1RZUEVfQVJSQVkgPSBcImFycmF5XCI7XG52YXIgRE9DX1RZUEVfQ1VSU09SID0gXCJjdXJzb3JcIjtcbnZhciBET0NfVFlQRV9JTkRFTlQgPSBcImluZGVudFwiO1xudmFyIERPQ19UWVBFX0FMSUdOID0gXCJhbGlnblwiO1xudmFyIERPQ19UWVBFX1RSSU0gPSBcInRyaW1cIjtcbnZhciBET0NfVFlQRV9HUk9VUCA9IFwiZ3JvdXBcIjtcbnZhciBET0NfVFlQRV9GSUxMID0gXCJmaWxsXCI7XG52YXIgRE9DX1RZUEVfSUZfQlJFQUsgPSBcImlmLWJyZWFrXCI7XG52YXIgRE9DX1RZUEVfSU5ERU5UX0lGX0JSRUFLID0gXCJpbmRlbnQtaWYtYnJlYWtcIjtcbnZhciBET0NfVFlQRV9MSU5FX1NVRkZJWCA9IFwibGluZS1zdWZmaXhcIjtcbnZhciBET0NfVFlQRV9MSU5FX1NVRkZJWF9CT1VOREFSWSA9IFwibGluZS1zdWZmaXgtYm91bmRhcnlcIjtcbnZhciBET0NfVFlQRV9MSU5FID0gXCJsaW5lXCI7XG52YXIgRE9DX1RZUEVfTEFCRUwgPSBcImxhYmVsXCI7XG52YXIgRE9DX1RZUEVfQlJFQUtfUEFSRU5UID0gXCJicmVhay1wYXJlbnRcIjtcbnZhciBWQUxJRF9PQkpFQ1RfRE9DX1RZUEVTID0gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoW1xuICBET0NfVFlQRV9DVVJTT1IsXG4gIERPQ19UWVBFX0lOREVOVCxcbiAgRE9DX1RZUEVfQUxJR04sXG4gIERPQ19UWVBFX1RSSU0sXG4gIERPQ19UWVBFX0dST1VQLFxuICBET0NfVFlQRV9GSUxMLFxuICBET0NfVFlQRV9JRl9CUkVBSyxcbiAgRE9DX1RZUEVfSU5ERU5UX0lGX0JSRUFLLFxuICBET0NfVFlQRV9MSU5FX1NVRkZJWCxcbiAgRE9DX1RZUEVfTElORV9TVUZGSVhfQk9VTkRBUlksXG4gIERPQ19UWVBFX0xJTkUsXG4gIERPQ19UWVBFX0xBQkVMLFxuICBET0NfVFlQRV9CUkVBS19QQVJFTlRcbl0pO1xuXG4vLyBzcmMvZG9jdW1lbnQvdXRpbHMvZ2V0LWRvYy10eXBlLmpzXG5mdW5jdGlvbiBnZXREb2NUeXBlKGRvYzIpIHtcbiAgaWYgKHR5cGVvZiBkb2MyID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIERPQ19UWVBFX1NUUklORztcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheShkb2MyKSkge1xuICAgIHJldHVybiBET0NfVFlQRV9BUlJBWTtcbiAgfVxuICBpZiAoIWRvYzIpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgeyB0eXBlOiB0eXBlMiB9ID0gZG9jMjtcbiAgaWYgKFZBTElEX09CSkVDVF9ET0NfVFlQRVMuaGFzKHR5cGUyKSkge1xuICAgIHJldHVybiB0eXBlMjtcbiAgfVxufVxudmFyIGdldF9kb2NfdHlwZV9kZWZhdWx0ID0gZ2V0RG9jVHlwZTtcblxuLy8gc3JjL2RvY3VtZW50L2ludmFsaWQtZG9jLWVycm9yLmpzXG52YXIgZGlzanVuY3Rpb25MaXN0Rm9ybWF0ID0gKGxpc3QpID0+IG5ldyBJbnRsLkxpc3RGb3JtYXQoXCJlbi1VU1wiLCB7IHR5cGU6IFwiZGlzanVuY3Rpb25cIiB9KS5mb3JtYXQobGlzdCk7XG5mdW5jdGlvbiBnZXREb2NFcnJvck1lc3NhZ2UoZG9jMikge1xuICBjb25zdCB0eXBlMiA9IGRvYzIgPT09IG51bGwgPyBcIm51bGxcIiA6IHR5cGVvZiBkb2MyO1xuICBpZiAodHlwZTIgIT09IFwic3RyaW5nXCIgJiYgdHlwZTIgIT09IFwib2JqZWN0XCIpIHtcbiAgICByZXR1cm4gYFVuZXhwZWN0ZWQgZG9jICcke3R5cGUyfScsIFxuRXhwZWN0ZWQgaXQgdG8gYmUgJ3N0cmluZycgb3IgJ29iamVjdCcuYDtcbiAgfVxuICBpZiAoZ2V0X2RvY190eXBlX2RlZmF1bHQoZG9jMikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJkb2MgaXMgdmFsaWQuXCIpO1xuICB9XG4gIGNvbnN0IG9iamVjdFR5cGUgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoZG9jMik7XG4gIGlmIChvYmplY3RUeXBlICE9PSBcIltvYmplY3QgT2JqZWN0XVwiKSB7XG4gICAgcmV0dXJuIGBVbmV4cGVjdGVkIGRvYyAnJHtvYmplY3RUeXBlfScuYDtcbiAgfVxuICBjb25zdCBFWFBFQ1RFRF9UWVBFX1ZBTFVFUyA9IGRpc2p1bmN0aW9uTGlzdEZvcm1hdChcbiAgICBbLi4uVkFMSURfT0JKRUNUX0RPQ19UWVBFU10ubWFwKCh0eXBlMykgPT4gYCcke3R5cGUzfSdgKVxuICApO1xuICByZXR1cm4gYFVuZXhwZWN0ZWQgZG9jLnR5cGUgJyR7ZG9jMi50eXBlfScuXG5FeHBlY3RlZCBpdCB0byBiZSAke0VYUEVDVEVEX1RZUEVfVkFMVUVTfS5gO1xufVxudmFyIEludmFsaWREb2NFcnJvciA9IGNsYXNzIGV4dGVuZHMgRXJyb3Ige1xuICBuYW1lID0gXCJJbnZhbGlkRG9jRXJyb3JcIjtcbiAgY29uc3RydWN0b3IoZG9jMikge1xuICAgIHN1cGVyKGdldERvY0Vycm9yTWVzc2FnZShkb2MyKSk7XG4gICAgdGhpcy5kb2MgPSBkb2MyO1xuICB9XG59O1xudmFyIGludmFsaWRfZG9jX2Vycm9yX2RlZmF1bHQgPSBJbnZhbGlkRG9jRXJyb3I7XG5cbi8vIHNyYy9kb2N1bWVudC91dGlscy90cmF2ZXJzZS1kb2MuanNcbnZhciB0cmF2ZXJzZURvY09uRXhpdFN0YWNrTWFya2VyID0ge307XG5mdW5jdGlvbiB0cmF2ZXJzZURvYyhkb2MyLCBvbkVudGVyLCBvbkV4aXQsIHNob3VsZFRyYXZlcnNlQ29uZGl0aW9uYWxHcm91cHMpIHtcbiAgY29uc3QgZG9jc1N0YWNrID0gW2RvYzJdO1xuICB3aGlsZSAoZG9jc1N0YWNrLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBkb2MzID0gZG9jc1N0YWNrLnBvcCgpO1xuICAgIGlmIChkb2MzID09PSB0cmF2ZXJzZURvY09uRXhpdFN0YWNrTWFya2VyKSB7XG4gICAgICBvbkV4aXQoZG9jc1N0YWNrLnBvcCgpKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBpZiAob25FeGl0KSB7XG4gICAgICBkb2NzU3RhY2sucHVzaChkb2MzLCB0cmF2ZXJzZURvY09uRXhpdFN0YWNrTWFya2VyKTtcbiAgICB9XG4gICAgY29uc3QgZG9jVHlwZSA9IGdldF9kb2NfdHlwZV9kZWZhdWx0KGRvYzMpO1xuICAgIGlmICghZG9jVHlwZSkge1xuICAgICAgdGhyb3cgbmV3IGludmFsaWRfZG9jX2Vycm9yX2RlZmF1bHQoZG9jMyk7XG4gICAgfVxuICAgIGlmICgob25FbnRlciA9PSBudWxsID8gdm9pZCAwIDogb25FbnRlcihkb2MzKSkgPT09IGZhbHNlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgc3dpdGNoIChkb2NUeXBlKSB7XG4gICAgICBjYXNlIERPQ19UWVBFX0FSUkFZOlxuICAgICAgY2FzZSBET0NfVFlQRV9GSUxMOiB7XG4gICAgICAgIGNvbnN0IHBhcnRzID0gZG9jVHlwZSA9PT0gRE9DX1RZUEVfQVJSQVkgPyBkb2MzIDogZG9jMy5wYXJ0cztcbiAgICAgICAgZm9yIChsZXQgaWMgPSBwYXJ0cy5sZW5ndGgsIGkgPSBpYyAtIDE7IGkgPj0gMDsgLS1pKSB7XG4gICAgICAgICAgZG9jc1N0YWNrLnB1c2gocGFydHNbaV0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBET0NfVFlQRV9JRl9CUkVBSzpcbiAgICAgICAgZG9jc1N0YWNrLnB1c2goZG9jMy5mbGF0Q29udGVudHMsIGRvYzMuYnJlYWtDb250ZW50cyk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET0NfVFlQRV9HUk9VUDpcbiAgICAgICAgaWYgKHNob3VsZFRyYXZlcnNlQ29uZGl0aW9uYWxHcm91cHMgJiYgZG9jMy5leHBhbmRlZFN0YXRlcykge1xuICAgICAgICAgIGZvciAobGV0IGljID0gZG9jMy5leHBhbmRlZFN0YXRlcy5sZW5ndGgsIGkgPSBpYyAtIDE7IGkgPj0gMDsgLS1pKSB7XG4gICAgICAgICAgICBkb2NzU3RhY2sucHVzaChkb2MzLmV4cGFuZGVkU3RhdGVzW2ldKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgZG9jc1N0YWNrLnB1c2goZG9jMy5jb250ZW50cyk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPQ19UWVBFX0FMSUdOOlxuICAgICAgY2FzZSBET0NfVFlQRV9JTkRFTlQ6XG4gICAgICBjYXNlIERPQ19UWVBFX0lOREVOVF9JRl9CUkVBSzpcbiAgICAgIGNhc2UgRE9DX1RZUEVfTEFCRUw6XG4gICAgICBjYXNlIERPQ19UWVBFX0xJTkVfU1VGRklYOlxuICAgICAgICBkb2NzU3RhY2sucHVzaChkb2MzLmNvbnRlbnRzKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPQ19UWVBFX1NUUklORzpcbiAgICAgIGNhc2UgRE9DX1RZUEVfQ1VSU09SOlxuICAgICAgY2FzZSBET0NfVFlQRV9UUklNOlxuICAgICAgY2FzZSBET0NfVFlQRV9MSU5FX1NVRkZJWF9CT1VOREFSWTpcbiAgICAgIGNhc2UgRE9DX1RZUEVfTElORTpcbiAgICAgIGNhc2UgRE9DX1RZUEVfQlJFQUtfUEFSRU5UOlxuICAgICAgICBicmVhaztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBpbnZhbGlkX2RvY19lcnJvcl9kZWZhdWx0KGRvYzMpO1xuICAgIH1cbiAgfVxufVxudmFyIHRyYXZlcnNlX2RvY19kZWZhdWx0ID0gdHJhdmVyc2VEb2M7XG5cbi8vIHNyYy9kb2N1bWVudC91dGlscy9hc3NlcnQtZG9jLmpzXG52YXIgbm9vcCA9ICgpID0+IHtcbn07XG52YXIgYXNzZXJ0RG9jID0gdHJ1ZSA/IG5vb3AgOiBmdW5jdGlvbihkb2MyKSB7XG4gIHRyYXZlcnNlX2RvY19kZWZhdWx0KGRvYzIsIChkb2MzKSA9PiB7XG4gICAgaWYgKGNoZWNrZWQuaGFzKGRvYzMpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0eXBlb2YgZG9jMyAhPT0gXCJzdHJpbmdcIikge1xuICAgICAgY2hlY2tlZC5hZGQoZG9jMyk7XG4gICAgfVxuICB9KTtcbn07XG5cbi8vIHNyYy9kb2N1bWVudC9idWlsZGVycy5qc1xuZnVuY3Rpb24gaW5kZW50KGNvbnRlbnRzKSB7XG4gIGFzc2VydERvYyhjb250ZW50cyk7XG4gIHJldHVybiB7IHR5cGU6IERPQ19UWVBFX0lOREVOVCwgY29udGVudHMgfTtcbn1cbmZ1bmN0aW9uIGFsaWduKHdpZHRoT3JTdHJpbmcsIGNvbnRlbnRzKSB7XG4gIGFzc2VydERvYyhjb250ZW50cyk7XG4gIHJldHVybiB7IHR5cGU6IERPQ19UWVBFX0FMSUdOLCBjb250ZW50cywgbjogd2lkdGhPclN0cmluZyB9O1xufVxuZnVuY3Rpb24gbGluZVN1ZmZpeChjb250ZW50cykge1xuICBhc3NlcnREb2MoY29udGVudHMpO1xuICByZXR1cm4geyB0eXBlOiBET0NfVFlQRV9MSU5FX1NVRkZJWCwgY29udGVudHMgfTtcbn1cbnZhciBicmVha1BhcmVudCA9IHsgdHlwZTogRE9DX1RZUEVfQlJFQUtfUEFSRU5UIH07XG52YXIgaGFyZGxpbmVXaXRob3V0QnJlYWtQYXJlbnQgPSB7IHR5cGU6IERPQ19UWVBFX0xJTkUsIGhhcmQ6IHRydWUgfTtcbnZhciBsaW5lMiA9IHsgdHlwZTogRE9DX1RZUEVfTElORSB9O1xudmFyIGhhcmRsaW5lID0gW2hhcmRsaW5lV2l0aG91dEJyZWFrUGFyZW50LCBicmVha1BhcmVudF07XG52YXIgY3Vyc29yID0geyB0eXBlOiBET0NfVFlQRV9DVVJTT1IgfTtcbmZ1bmN0aW9uIGFkZEFsaWdubWVudFRvRG9jKGRvYzIsIHNpemUsIHRhYldpZHRoKSB7XG4gIGFzc2VydERvYyhkb2MyKTtcbiAgbGV0IGFsaWduZWQgPSBkb2MyO1xuICBpZiAoc2l6ZSA+IDApIHtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IE1hdGguZmxvb3Ioc2l6ZSAvIHRhYldpZHRoKTsgKytpKSB7XG4gICAgICBhbGlnbmVkID0gaW5kZW50KGFsaWduZWQpO1xuICAgIH1cbiAgICBhbGlnbmVkID0gYWxpZ24oc2l6ZSAlIHRhYldpZHRoLCBhbGlnbmVkKTtcbiAgICBhbGlnbmVkID0gYWxpZ24oTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZLCBhbGlnbmVkKTtcbiAgfVxuICByZXR1cm4gYWxpZ25lZDtcbn1cblxuLy8gc3JjL2RvY3VtZW50L2RlYnVnLmpzXG5mdW5jdGlvbiBmbGF0dGVuRG9jKGRvYzIpIHtcbiAgdmFyIF9hO1xuICBpZiAoIWRvYzIpIHtcbiAgICByZXR1cm4gXCJcIjtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheShkb2MyKSkge1xuICAgIGNvbnN0IHJlcyA9IFtdO1xuICAgIGZvciAoY29uc3QgcGFydCBvZiBkb2MyKSB7XG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShwYXJ0KSkge1xuICAgICAgICByZXMucHVzaCguLi5mbGF0dGVuRG9jKHBhcnQpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGZsYXR0ZW5lZCA9IGZsYXR0ZW5Eb2MocGFydCk7XG4gICAgICAgIGlmIChmbGF0dGVuZWQgIT09IFwiXCIpIHtcbiAgICAgICAgICByZXMucHVzaChmbGF0dGVuZWQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXM7XG4gIH1cbiAgaWYgKGRvYzIudHlwZSA9PT0gRE9DX1RZUEVfSUZfQlJFQUspIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uZG9jMixcbiAgICAgIGJyZWFrQ29udGVudHM6IGZsYXR0ZW5Eb2MoZG9jMi5icmVha0NvbnRlbnRzKSxcbiAgICAgIGZsYXRDb250ZW50czogZmxhdHRlbkRvYyhkb2MyLmZsYXRDb250ZW50cylcbiAgICB9O1xuICB9XG4gIGlmIChkb2MyLnR5cGUgPT09IERPQ19UWVBFX0dST1VQKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLmRvYzIsXG4gICAgICBjb250ZW50czogZmxhdHRlbkRvYyhkb2MyLmNvbnRlbnRzKSxcbiAgICAgIGV4cGFuZGVkU3RhdGVzOiAoX2EgPSBkb2MyLmV4cGFuZGVkU3RhdGVzKSA9PSBudWxsID8gdm9pZCAwIDogX2EubWFwKGZsYXR0ZW5Eb2MpXG4gICAgfTtcbiAgfVxuICBpZiAoZG9jMi50eXBlID09PSBET0NfVFlQRV9GSUxMKSB7XG4gICAgcmV0dXJuIHsgdHlwZTogXCJmaWxsXCIsIHBhcnRzOiBkb2MyLnBhcnRzLm1hcChmbGF0dGVuRG9jKSB9O1xuICB9XG4gIGlmIChkb2MyLmNvbnRlbnRzKSB7XG4gICAgcmV0dXJuIHsgLi4uZG9jMiwgY29udGVudHM6IGZsYXR0ZW5Eb2MoZG9jMi5jb250ZW50cykgfTtcbiAgfVxuICByZXR1cm4gZG9jMjtcbn1cbmZ1bmN0aW9uIHByaW50RG9jVG9EZWJ1Zyhkb2MyKSB7XG4gIGNvbnN0IHByaW50ZWRTeW1ib2xzID0gLyogQF9fUFVSRV9fICovIE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIGNvbnN0IHVzZWRLZXlzRm9yU3ltYm9scyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KCk7XG4gIHJldHVybiBwcmludERvYyhmbGF0dGVuRG9jKGRvYzIpKTtcbiAgZnVuY3Rpb24gcHJpbnREb2MoZG9jMywgaW5kZXgsIHBhcmVudFBhcnRzKSB7XG4gICAgdmFyIF9hLCBfYjtcbiAgICBpZiAodHlwZW9mIGRvYzMgPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShkb2MzKTtcbiAgICB9XG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZG9jMykpIHtcbiAgICAgIGNvbnN0IHByaW50ZWQgPSBkb2MzLm1hcChwcmludERvYykuZmlsdGVyKEJvb2xlYW4pO1xuICAgICAgcmV0dXJuIHByaW50ZWQubGVuZ3RoID09PSAxID8gcHJpbnRlZFswXSA6IGBbJHtwcmludGVkLmpvaW4oXCIsIFwiKX1dYDtcbiAgICB9XG4gICAgaWYgKGRvYzMudHlwZSA9PT0gRE9DX1RZUEVfTElORSkge1xuICAgICAgY29uc3Qgd2l0aEJyZWFrUGFyZW50ID0gKChfYSA9IHBhcmVudFBhcnRzID09IG51bGwgPyB2b2lkIDAgOiBwYXJlbnRQYXJ0c1tpbmRleCArIDFdKSA9PSBudWxsID8gdm9pZCAwIDogX2EudHlwZSkgPT09IERPQ19UWVBFX0JSRUFLX1BBUkVOVDtcbiAgICAgIGlmIChkb2MzLmxpdGVyYWwpIHtcbiAgICAgICAgcmV0dXJuIHdpdGhCcmVha1BhcmVudCA/IFwibGl0ZXJhbGxpbmVcIiA6IFwibGl0ZXJhbGxpbmVXaXRob3V0QnJlYWtQYXJlbnRcIjtcbiAgICAgIH1cbiAgICAgIGlmIChkb2MzLmhhcmQpIHtcbiAgICAgICAgcmV0dXJuIHdpdGhCcmVha1BhcmVudCA/IFwiaGFyZGxpbmVcIiA6IFwiaGFyZGxpbmVXaXRob3V0QnJlYWtQYXJlbnRcIjtcbiAgICAgIH1cbiAgICAgIGlmIChkb2MzLnNvZnQpIHtcbiAgICAgICAgcmV0dXJuIFwic29mdGxpbmVcIjtcbiAgICAgIH1cbiAgICAgIHJldHVybiBcImxpbmVcIjtcbiAgICB9XG4gICAgaWYgKGRvYzMudHlwZSA9PT0gRE9DX1RZUEVfQlJFQUtfUEFSRU5UKSB7XG4gICAgICBjb25zdCBhZnRlckhhcmRsaW5lID0gKChfYiA9IHBhcmVudFBhcnRzID09IG51bGwgPyB2b2lkIDAgOiBwYXJlbnRQYXJ0c1tpbmRleCAtIDFdKSA9PSBudWxsID8gdm9pZCAwIDogX2IudHlwZSkgPT09IERPQ19UWVBFX0xJTkUgJiYgcGFyZW50UGFydHNbaW5kZXggLSAxXS5oYXJkO1xuICAgICAgcmV0dXJuIGFmdGVySGFyZGxpbmUgPyB2b2lkIDAgOiBcImJyZWFrUGFyZW50XCI7XG4gICAgfVxuICAgIGlmIChkb2MzLnR5cGUgPT09IERPQ19UWVBFX1RSSU0pIHtcbiAgICAgIHJldHVybiBcInRyaW1cIjtcbiAgICB9XG4gICAgaWYgKGRvYzMudHlwZSA9PT0gRE9DX1RZUEVfSU5ERU5UKSB7XG4gICAgICByZXR1cm4gXCJpbmRlbnQoXCIgKyBwcmludERvYyhkb2MzLmNvbnRlbnRzKSArIFwiKVwiO1xuICAgIH1cbiAgICBpZiAoZG9jMy50eXBlID09PSBET0NfVFlQRV9BTElHTikge1xuICAgICAgcmV0dXJuIGRvYzMubiA9PT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZID8gXCJkZWRlbnRUb1Jvb3QoXCIgKyBwcmludERvYyhkb2MzLmNvbnRlbnRzKSArIFwiKVwiIDogZG9jMy5uIDwgMCA/IFwiZGVkZW50KFwiICsgcHJpbnREb2MoZG9jMy5jb250ZW50cykgKyBcIilcIiA6IGRvYzMubi50eXBlID09PSBcInJvb3RcIiA/IFwibWFya0FzUm9vdChcIiArIHByaW50RG9jKGRvYzMuY29udGVudHMpICsgXCIpXCIgOiBcImFsaWduKFwiICsgSlNPTi5zdHJpbmdpZnkoZG9jMy5uKSArIFwiLCBcIiArIHByaW50RG9jKGRvYzMuY29udGVudHMpICsgXCIpXCI7XG4gICAgfVxuICAgIGlmIChkb2MzLnR5cGUgPT09IERPQ19UWVBFX0lGX0JSRUFLKSB7XG4gICAgICByZXR1cm4gXCJpZkJyZWFrKFwiICsgcHJpbnREb2MoZG9jMy5icmVha0NvbnRlbnRzKSArIChkb2MzLmZsYXRDb250ZW50cyA/IFwiLCBcIiArIHByaW50RG9jKGRvYzMuZmxhdENvbnRlbnRzKSA6IFwiXCIpICsgKGRvYzMuZ3JvdXBJZCA/ICghZG9jMy5mbGF0Q29udGVudHMgPyAnLCBcIlwiJyA6IFwiXCIpICsgYCwgeyBncm91cElkOiAke3ByaW50R3JvdXBJZChkb2MzLmdyb3VwSWQpfSB9YCA6IFwiXCIpICsgXCIpXCI7XG4gICAgfVxuICAgIGlmIChkb2MzLnR5cGUgPT09IERPQ19UWVBFX0lOREVOVF9JRl9CUkVBSykge1xuICAgICAgY29uc3Qgb3B0aW9uc1BhcnRzID0gW107XG4gICAgICBpZiAoZG9jMy5uZWdhdGUpIHtcbiAgICAgICAgb3B0aW9uc1BhcnRzLnB1c2goXCJuZWdhdGU6IHRydWVcIik7XG4gICAgICB9XG4gICAgICBpZiAoZG9jMy5ncm91cElkKSB7XG4gICAgICAgIG9wdGlvbnNQYXJ0cy5wdXNoKGBncm91cElkOiAke3ByaW50R3JvdXBJZChkb2MzLmdyb3VwSWQpfWApO1xuICAgICAgfVxuICAgICAgY29uc3Qgb3B0aW9uczggPSBvcHRpb25zUGFydHMubGVuZ3RoID4gMCA/IGAsIHsgJHtvcHRpb25zUGFydHMuam9pbihcIiwgXCIpfSB9YCA6IFwiXCI7XG4gICAgICByZXR1cm4gYGluZGVudElmQnJlYWsoJHtwcmludERvYyhkb2MzLmNvbnRlbnRzKX0ke29wdGlvbnM4fSlgO1xuICAgIH1cbiAgICBpZiAoZG9jMy50eXBlID09PSBET0NfVFlQRV9HUk9VUCkge1xuICAgICAgY29uc3Qgb3B0aW9uc1BhcnRzID0gW107XG4gICAgICBpZiAoZG9jMy5icmVhayAmJiBkb2MzLmJyZWFrICE9PSBcInByb3BhZ2F0ZWRcIikge1xuICAgICAgICBvcHRpb25zUGFydHMucHVzaChcInNob3VsZEJyZWFrOiB0cnVlXCIpO1xuICAgICAgfVxuICAgICAgaWYgKGRvYzMuaWQpIHtcbiAgICAgICAgb3B0aW9uc1BhcnRzLnB1c2goYGlkOiAke3ByaW50R3JvdXBJZChkb2MzLmlkKX1gKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IG9wdGlvbnM4ID0gb3B0aW9uc1BhcnRzLmxlbmd0aCA+IDAgPyBgLCB7ICR7b3B0aW9uc1BhcnRzLmpvaW4oXCIsIFwiKX0gfWAgOiBcIlwiO1xuICAgICAgaWYgKGRvYzMuZXhwYW5kZWRTdGF0ZXMpIHtcbiAgICAgICAgcmV0dXJuIGBjb25kaXRpb25hbEdyb3VwKFske2RvYzMuZXhwYW5kZWRTdGF0ZXMubWFwKChwYXJ0KSA9PiBwcmludERvYyhwYXJ0KSkuam9pbihcIixcIil9XSR7b3B0aW9uczh9KWA7XG4gICAgICB9XG4gICAgICByZXR1cm4gYGdyb3VwKCR7cHJpbnREb2MoZG9jMy5jb250ZW50cyl9JHtvcHRpb25zOH0pYDtcbiAgICB9XG4gICAgaWYgKGRvYzMudHlwZSA9PT0gRE9DX1RZUEVfRklMTCkge1xuICAgICAgcmV0dXJuIGBmaWxsKFske2RvYzMucGFydHMubWFwKChwYXJ0KSA9PiBwcmludERvYyhwYXJ0KSkuam9pbihcIiwgXCIpfV0pYDtcbiAgICB9XG4gICAgaWYgKGRvYzMudHlwZSA9PT0gRE9DX1RZUEVfTElORV9TVUZGSVgpIHtcbiAgICAgIHJldHVybiBcImxpbmVTdWZmaXgoXCIgKyBwcmludERvYyhkb2MzLmNvbnRlbnRzKSArIFwiKVwiO1xuICAgIH1cbiAgICBpZiAoZG9jMy50eXBlID09PSBET0NfVFlQRV9MSU5FX1NVRkZJWF9CT1VOREFSWSkge1xuICAgICAgcmV0dXJuIFwibGluZVN1ZmZpeEJvdW5kYXJ5XCI7XG4gICAgfVxuICAgIGlmIChkb2MzLnR5cGUgPT09IERPQ19UWVBFX0xBQkVMKSB7XG4gICAgICByZXR1cm4gYGxhYmVsKCR7SlNPTi5zdHJpbmdpZnkoZG9jMy5sYWJlbCl9LCAke3ByaW50RG9jKGRvYzMuY29udGVudHMpfSlgO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmtub3duIGRvYyB0eXBlIFwiICsgZG9jMy50eXBlKTtcbiAgfVxuICBmdW5jdGlvbiBwcmludEdyb3VwSWQoaWQpIHtcbiAgICBpZiAodHlwZW9mIGlkICE9PSBcInN5bWJvbFwiKSB7XG4gICAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoU3RyaW5nKGlkKSk7XG4gICAgfVxuICAgIGlmIChpZCBpbiBwcmludGVkU3ltYm9scykge1xuICAgICAgcmV0dXJuIHByaW50ZWRTeW1ib2xzW2lkXTtcbiAgICB9XG4gICAgY29uc3QgcHJlZml4ID0gaWQuZGVzY3JpcHRpb24gfHwgXCJzeW1ib2xcIjtcbiAgICBmb3IgKGxldCBjb3VudGVyID0gMDsgOyBjb3VudGVyKyspIHtcbiAgICAgIGNvbnN0IGtleTIgPSBwcmVmaXggKyAoY291bnRlciA+IDAgPyBgICMke2NvdW50ZXJ9YCA6IFwiXCIpO1xuICAgICAgaWYgKCF1c2VkS2V5c0ZvclN5bWJvbHMuaGFzKGtleTIpKSB7XG4gICAgICAgIHVzZWRLZXlzRm9yU3ltYm9scy5hZGQoa2V5Mik7XG4gICAgICAgIHJldHVybiBwcmludGVkU3ltYm9sc1tpZF0gPSBgU3ltYm9sLmZvcigke0pTT04uc3RyaW5naWZ5KGtleTIpfSlgO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBzY3JpcHRzL2J1aWxkL3NoaW1zL2F0LmpzXG52YXIgYXQgPSAoaXNPcHRpb25hbE9iamVjdCwgb2JqZWN0LCBpbmRleCkgPT4ge1xuICBpZiAoaXNPcHRpb25hbE9iamVjdCAmJiAob2JqZWN0ID09PSB2b2lkIDAgfHwgb2JqZWN0ID09PSBudWxsKSkge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoQXJyYXkuaXNBcnJheShvYmplY3QpIHx8IHR5cGVvZiBvYmplY3QgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gb2JqZWN0W2luZGV4IDwgMCA/IG9iamVjdC5sZW5ndGggKyBpbmRleCA6IGluZGV4XTtcbiAgfVxuICByZXR1cm4gb2JqZWN0LmF0KGluZGV4KTtcbn07XG52YXIgYXRfZGVmYXVsdCA9IGF0O1xuXG4vLyBub2RlX21vZHVsZXMvZW1vamktcmVnZXgvaW5kZXgubWpzXG52YXIgZW1vamlfcmVnZXhfZGVmYXVsdCA9ICgpID0+IHtcbiAgcmV0dXJuIC9bIyowLTldXFx1RkUwRj9cXHUyMEUzfFtcXHhBOVxceEFFXFx1MjAzQ1xcdTIwNDlcXHUyMTIyXFx1MjEzOVxcdTIxOTQtXFx1MjE5OVxcdTIxQTlcXHUyMUFBXFx1MjMxQVxcdTIzMUJcXHUyMzI4XFx1MjNDRlxcdTIzRUQtXFx1MjNFRlxcdTIzRjFcXHUyM0YyXFx1MjNGOC1cXHUyM0ZBXFx1MjRDMlxcdTI1QUFcXHUyNUFCXFx1MjVCNlxcdTI1QzBcXHUyNUZCXFx1MjVGQ1xcdTI1RkVcXHUyNjAwLVxcdTI2MDRcXHUyNjBFXFx1MjYxMVxcdTI2MTRcXHUyNjE1XFx1MjYxOFxcdTI2MjBcXHUyNjIyXFx1MjYyM1xcdTI2MjZcXHUyNjJBXFx1MjYyRVxcdTI2MkZcXHUyNjM4LVxcdTI2M0FcXHUyNjQwXFx1MjY0MlxcdTI2NDgtXFx1MjY1M1xcdTI2NUZcXHUyNjYwXFx1MjY2M1xcdTI2NjVcXHUyNjY2XFx1MjY2OFxcdTI2N0JcXHUyNjdFXFx1MjY3RlxcdTI2OTJcXHUyNjk0LVxcdTI2OTdcXHUyNjk5XFx1MjY5QlxcdTI2OUNcXHUyNkEwXFx1MjZBN1xcdTI2QUFcXHUyNkIwXFx1MjZCMVxcdTI2QkRcXHUyNkJFXFx1MjZDNFxcdTI2QzhcXHUyNkNGXFx1MjZEMVxcdTI2RTlcXHUyNkYwLVxcdTI2RjVcXHUyNkY3XFx1MjZGOFxcdTI2RkFcXHUyNzAyXFx1MjcwOFxcdTI3MDlcXHUyNzBGXFx1MjcxMlxcdTI3MTRcXHUyNzE2XFx1MjcxRFxcdTI3MjFcXHUyNzMzXFx1MjczNFxcdTI3NDRcXHUyNzQ3XFx1Mjc1N1xcdTI3NjNcXHUyN0ExXFx1MjkzNFxcdTI5MzVcXHUyQjA1LVxcdTJCMDdcXHUyQjFCXFx1MkIxQ1xcdTJCNTVcXHUzMDMwXFx1MzAzRFxcdTMyOTdcXHUzMjk5XVxcdUZFMEY/fFtcXHUyNjFEXFx1MjcwQ1xcdTI3MERdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUZFMEYpP3xbXFx1MjcwQVxcdTI3MEJdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdTIzRTktXFx1MjNFQ1xcdTIzRjBcXHUyM0YzXFx1MjVGRFxcdTI2OTNcXHUyNkExXFx1MjZBQlxcdTI2QzVcXHUyNkNFXFx1MjZENFxcdTI2RUFcXHUyNkZEXFx1MjcwNVxcdTI3MjhcXHUyNzRDXFx1Mjc0RVxcdTI3NTMtXFx1Mjc1NVxcdTI3OTUtXFx1Mjc5N1xcdTI3QjBcXHUyN0JGXFx1MkI1MF18XFx1MjZEM1xcdUZFMEY/KD86XFx1MjAwRFxcdUQ4M0RcXHVEQ0E1KT98XFx1MjZGOSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVGRTBGKT8oPzpcXHUyMDBEW1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KT98XFx1Mjc2NFxcdUZFMEY/KD86XFx1MjAwRCg/OlxcdUQ4M0RcXHVERDI1fFxcdUQ4M0VcXHVERTc5KSk/fFxcdUQ4M0MoPzpbXFx1REMwNFxcdURENzBcXHVERDcxXFx1REQ3RVxcdUREN0ZcXHVERTAyXFx1REUzN1xcdURGMjFcXHVERjI0LVxcdURGMkNcXHVERjM2XFx1REY3RFxcdURGOTZcXHVERjk3XFx1REY5OS1cXHVERjlCXFx1REY5RVxcdURGOUZcXHVERkNEXFx1REZDRVxcdURGRDQtXFx1REZERlxcdURGRjVcXHVERkY3XVxcdUZFMEY/fFtcXHVERjg1XFx1REZDMlxcdURGQzddKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdURGQzRcXHVERkNBXSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERkNCXFx1REZDQ10oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RkUwRik/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVEQ0NGXFx1REQ4RVxcdUREOTEtXFx1REQ5QVxcdURFMDFcXHVERTFBXFx1REUyRlxcdURFMzItXFx1REUzNlxcdURFMzgtXFx1REUzQVxcdURFNTBcXHVERTUxXFx1REYwMC1cXHVERjIwXFx1REYyRC1cXHVERjM1XFx1REYzNy1cXHVERjQzXFx1REY0NS1cXHVERjRBXFx1REY0Qy1cXHVERjdDXFx1REY3RS1cXHVERjg0XFx1REY4Ni1cXHVERjkzXFx1REZBMC1cXHVERkMxXFx1REZDNVxcdURGQzZcXHVERkM4XFx1REZDOVxcdURGQ0YtXFx1REZEM1xcdURGRTAtXFx1REZGMFxcdURGRjgtXFx1REZGRl18XFx1RERFNlxcdUQ4M0NbXFx1RERFOC1cXHVEREVDXFx1RERFRVxcdURERjFcXHVEREYyXFx1RERGNFxcdURERjYtXFx1RERGQVxcdURERkNcXHVEREZEXFx1RERGRl18XFx1RERFN1xcdUQ4M0NbXFx1RERFNlxcdURERTdcXHVEREU5LVxcdURERUZcXHVEREYxLVxcdURERjRcXHVEREY2LVxcdURERjlcXHVEREZCXFx1RERGQ1xcdURERkVcXHVEREZGXXxcXHVEREU4XFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERTlcXHVEREVCLVxcdURERUVcXHVEREYwLVxcdURERjdcXHVEREZBLVxcdURERkZdfFxcdURERTlcXHVEODNDW1xcdURERUFcXHVEREVDXFx1RERFRlxcdURERjBcXHVEREYyXFx1RERGNFxcdURERkZdfFxcdURERUFcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFQVxcdURERUNcXHVEREVEXFx1RERGNy1cXHVEREZBXXxcXHVEREVCXFx1RDgzQ1tcXHVEREVFLVxcdURERjBcXHVEREYyXFx1RERGNFxcdURERjddfFxcdURERUNcXHVEODNDW1xcdURERTZcXHVEREU3XFx1RERFOS1cXHVEREVFXFx1RERGMS1cXHVEREYzXFx1RERGNS1cXHVEREZBXFx1RERGQ1xcdURERkVdfFxcdURERURcXHVEODNDW1xcdURERjBcXHVEREYyXFx1RERGM1xcdURERjdcXHVEREY5XFx1RERGQV18XFx1RERFRVxcdUQ4M0NbXFx1RERFOC1cXHVEREVBXFx1RERGMS1cXHVEREY0XFx1RERGNi1cXHVEREY5XXxcXHVEREVGXFx1RDgzQ1tcXHVEREVBXFx1RERGMlxcdURERjRcXHVEREY1XXxcXHVEREYwXFx1RDgzQ1tcXHVEREVBXFx1RERFQy1cXHVEREVFXFx1RERGMlxcdURERjNcXHVEREY1XFx1RERGN1xcdURERkNcXHVEREZFXFx1RERGRl18XFx1RERGMVxcdUQ4M0NbXFx1RERFNi1cXHVEREU4XFx1RERFRVxcdURERjBcXHVEREY3LVxcdURERkJcXHVEREZFXXxcXHVEREYyXFx1RDgzQ1tcXHVEREU2XFx1RERFOC1cXHVEREVEXFx1RERGMC1cXHVEREZGXXxcXHVEREYzXFx1RDgzQ1tcXHVEREU2XFx1RERFOFxcdURERUEtXFx1RERFQ1xcdURERUVcXHVEREYxXFx1RERGNFxcdURERjVcXHVEREY3XFx1RERGQVxcdURERkZdfFxcdURERjRcXHVEODNDXFx1RERGMnxcXHVEREY1XFx1RDgzQ1tcXHVEREU2XFx1RERFQS1cXHVEREVEXFx1RERGMC1cXHVEREYzXFx1RERGNy1cXHVEREY5XFx1RERGQ1xcdURERkVdfFxcdURERjZcXHVEODNDXFx1RERFNnxcXHVEREY3XFx1RDgzQ1tcXHVEREVBXFx1RERGNFxcdURERjhcXHVEREZBXFx1RERGQ118XFx1RERGOFxcdUQ4M0NbXFx1RERFNi1cXHVEREVBXFx1RERFQy1cXHVEREY0XFx1RERGNy1cXHVEREY5XFx1RERGQlxcdURERkQtXFx1RERGRl18XFx1RERGOVxcdUQ4M0NbXFx1RERFNlxcdURERThcXHVEREU5XFx1RERFQi1cXHVEREVEXFx1RERFRi1cXHVEREY0XFx1RERGN1xcdURERjlcXHVEREZCXFx1RERGQ1xcdURERkZdfFxcdURERkFcXHVEODNDW1xcdURERTZcXHVEREVDXFx1RERGMlxcdURERjNcXHVEREY4XFx1RERGRVxcdURERkZdfFxcdURERkJcXHVEODNDW1xcdURERTZcXHVEREU4XFx1RERFQVxcdURERUNcXHVEREVFXFx1RERGM1xcdURERkFdfFxcdURERkNcXHVEODNDW1xcdURERUJcXHVEREY4XXxcXHVEREZEXFx1RDgzQ1xcdURERjB8XFx1RERGRVxcdUQ4M0NbXFx1RERFQVxcdURERjldfFxcdURERkZcXHVEODNDW1xcdURERTZcXHVEREYyXFx1RERGQ118XFx1REY0NCg/OlxcdTIwMERcXHVEODNEXFx1REZFQik/fFxcdURGNEIoPzpcXHUyMDBEXFx1RDgzRFxcdURGRTkpP3xcXHVERkMzKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEKD86W1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFxcdTI3QTFcXHVGRTBGPykpP3xcXHVERkYzXFx1RkUwRj8oPzpcXHUyMDBEKD86XFx1MjZBN1xcdUZFMEY/fFxcdUQ4M0NcXHVERjA4KSk/fFxcdURGRjQoPzpcXHUyMDBEXFx1MjYyMFxcdUZFMEY/fFxcdURCNDBcXHVEQzY3XFx1REI0MFxcdURDNjJcXHVEQjQwKD86XFx1REM2NVxcdURCNDBcXHVEQzZFXFx1REI0MFxcdURDNjd8XFx1REM3M1xcdURCNDBcXHVEQzYzXFx1REI0MFxcdURDNzR8XFx1REM3N1xcdURCNDBcXHVEQzZDXFx1REI0MFxcdURDNzMpXFx1REI0MFxcdURDN0YpPyl8XFx1RDgzRCg/OltcXHVEQzNGXFx1RENGRFxcdURENDlcXHVERDRBXFx1REQ2RlxcdURENzBcXHVERDczXFx1REQ3Ni1cXHVERDc5XFx1REQ4N1xcdUREOEEtXFx1REQ4RFxcdUREQTVcXHVEREE4XFx1RERCMVxcdUREQjJcXHVEREJDXFx1RERDMi1cXHVEREM0XFx1REREMS1cXHVEREQzXFx1REREQy1cXHVERERFXFx1RERFMVxcdURERTNcXHVEREU4XFx1RERFRlxcdURERjNcXHVEREZBXFx1REVDQlxcdURFQ0QtXFx1REVDRlxcdURFRTAtXFx1REVFNVxcdURFRTlcXHVERUYwXFx1REVGM11cXHVGRTBGP3xbXFx1REM0MlxcdURDNDNcXHVEQzQ2LVxcdURDNTBcXHVEQzY2XFx1REM2N1xcdURDNkItXFx1REM2RFxcdURDNzJcXHVEQzc0LVxcdURDNzZcXHVEQzc4XFx1REM3Q1xcdURDODNcXHVEQzg1XFx1REM4RlxcdURDOTFcXHVEQ0FBXFx1REQ3QVxcdUREOTVcXHVERDk2XFx1REU0Q1xcdURFNEZcXHVERUMwXFx1REVDQ10oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xbXFx1REM2RVxcdURDNzBcXHVEQzcxXFx1REM3M1xcdURDNzdcXHVEQzgxXFx1REM4MlxcdURDODZcXHVEQzg3XFx1REU0NS1cXHVERTQ3XFx1REU0QlxcdURFNERcXHVERTRFXFx1REVBM1xcdURFQjRcXHVERUI1XSg/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERDc0XFx1REQ5MF0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RkUwRik/fFtcXHVEQzAwLVxcdURDMDdcXHVEQzA5LVxcdURDMTRcXHVEQzE2LVxcdURDMjVcXHVEQzI3LVxcdURDM0FcXHVEQzNDLVxcdURDM0VcXHVEQzQwXFx1REM0NFxcdURDNDVcXHVEQzUxLVxcdURDNjVcXHVEQzZBXFx1REM3OS1cXHVEQzdCXFx1REM3RC1cXHVEQzgwXFx1REM4NFxcdURDODgtXFx1REM4RVxcdURDOTBcXHVEQzkyLVxcdURDQTlcXHVEQ0FCLVxcdURDRkNcXHVEQ0ZGLVxcdUREM0RcXHVERDRCLVxcdURENEVcXHVERDUwLVxcdURENjdcXHVEREE0XFx1RERGQi1cXHVERTJEXFx1REUyRi1cXHVERTM0XFx1REUzNy1cXHVERTQxXFx1REU0M1xcdURFNDRcXHVERTQ4LVxcdURFNEFcXHVERTgwLVxcdURFQTJcXHVERUE0LVxcdURFQjNcXHVERUI3LVxcdURFQkZcXHVERUMxLVxcdURFQzVcXHVERUQwLVxcdURFRDJcXHVERUQ1LVxcdURFRDdcXHVERURDLVxcdURFREZcXHVERUVCXFx1REVFQ1xcdURFRjQtXFx1REVGQ1xcdURGRTAtXFx1REZFQlxcdURGRjBdfFxcdURDMDgoPzpcXHUyMDBEXFx1MkIxQik/fFxcdURDMTUoPzpcXHUyMDBEXFx1RDgzRVxcdUREQkEpP3xcXHVEQzI2KD86XFx1MjAwRCg/OlxcdTJCMUJ8XFx1RDgzRFxcdUREMjUpKT98XFx1REMzQig/OlxcdTIwMERcXHUyNzQ0XFx1RkUwRj8pP3xcXHVEQzQxXFx1RkUwRj8oPzpcXHUyMDBEXFx1RDgzRFxcdURERThcXHVGRTBGPyk/fFxcdURDNjgoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OHxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XVxcdTIwMERcXHVEODNEKD86XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pPyl8W1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pPyl8XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdKSl8XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkMtXFx1REZGRl0pKSk/fFxcdURGRkMoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkJcXHVERkZELVxcdURGRkZdKSkpP3xcXHVERkZEKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzhCXFx1MjAwRFxcdUQ4M0QpP1xcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RcXHVEQzY4XFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSkpKT98XFx1REZGRSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86XFx1REM4QlxcdTIwMERcXHVEODNEKT9cXHVEQzY4XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEXFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZEXFx1REZGRl0pKSk/fFxcdURGRkYoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/XFx1REM2OFxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFxcdURDNjhcXHVEODNDW1xcdURGRkItXFx1REZGRV0pKSk/KSk/fFxcdURDNjkoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OlxcdURDOEJcXHUyMDBEXFx1RDgzRCk/W1xcdURDNjhcXHVEQzY5XXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEKD86W1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1REM2Nig/OlxcdTIwMERcXHVEODNEXFx1REM2Nik/fFxcdURDNjcoPzpcXHUyMDBEXFx1RDgzRFtcXHVEQzY2XFx1REM2N10pP3xcXHVEQzY5XFx1MjAwRFxcdUQ4M0QoPzpcXHVEQzY2KD86XFx1MjAwRFxcdUQ4M0RcXHVEQzY2KT98XFx1REM2Nyg/OlxcdTIwMERcXHVEODNEW1xcdURDNjZcXHVEQzY3XSk/KSl8XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdKSl8XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV18XFx1REM4QlxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldXFx1RDgzQ1tcXHVERkZDLVxcdURGRkZdKSkpP3xcXHVERkZDKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldfFxcdURDOEJcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XVxcdUQ4M0NbXFx1REZGQlxcdURGRkQtXFx1REZGRl0pKSk/fFxcdURGRkQoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEXFx1RDgzRCg/OltcXHVEQzY4XFx1REM2OV18XFx1REM4QlxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XSlcXHVEODNDW1xcdURGRkItXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldXFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSkpKT98XFx1REZGRSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMERcXHVEODNEKD86W1xcdURDNjhcXHVEQzY5XXxcXHVEQzhCXFx1MjAwRFxcdUQ4M0RbXFx1REM2OFxcdURDNjldKVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV1cXHVEODNDW1xcdURGRkItXFx1REZGRFxcdURGRkZdKSkpP3xcXHVERkZGKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRFxcdUQ4M0QoPzpbXFx1REM2OFxcdURDNjldfFxcdURDOEJcXHUyMDBEXFx1RDgzRFtcXHVEQzY4XFx1REM2OV0pXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNEW1xcdURDNjhcXHVEQzY5XVxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXSkpKT8pKT98XFx1REM2Rig/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xcXHVERDc1KD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdfFxcdUZFMEYpPyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xcXHVERTJFKD86XFx1MjAwRFxcdUQ4M0RcXHVEQ0E4KT98XFx1REUzNSg/OlxcdTIwMERcXHVEODNEXFx1RENBQik/fFxcdURFMzYoPzpcXHUyMDBEXFx1RDgzQ1xcdURGMkJcXHVGRTBGPyk/fFxcdURFNDIoPzpcXHUyMDBEW1xcdTIxOTRcXHUyMTk1XVxcdUZFMEY/KT98XFx1REVCNig/OlxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSk/KD86XFx1MjAwRCg/OltcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xcXHUyN0ExXFx1RkUwRj8pKT8pfFxcdUQ4M0UoPzpbXFx1REQwQ1xcdUREMEZcXHVERDE4LVxcdUREMUZcXHVERDMwLVxcdUREMzRcXHVERDM2XFx1REQ3N1xcdUREQjVcXHVEREI2XFx1RERCQlxcdURERDJcXHVEREQzXFx1RERENVxcdURFQzMtXFx1REVDNVxcdURFRjBcXHVERUYyLVxcdURFRjhdKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT98W1xcdUREMjZcXHVERDM1XFx1REQzNy1cXHVERDM5XFx1REQzRFxcdUREM0VcXHVEREI4XFx1RERCOVxcdUREQ0RcXHVERENGXFx1RERENFxcdURERDYtXFx1RERERF0oPzpcXHVEODNDW1xcdURGRkItXFx1REZGRl0pPyg/OlxcdTIwMERbXFx1MjY0MFxcdTI2NDJdXFx1RkUwRj8pP3xbXFx1RERERVxcdUREREZdKD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGPyk/fFtcXHVERDBEXFx1REQwRVxcdUREMTAtXFx1REQxN1xcdUREMjAtXFx1REQyNVxcdUREMjctXFx1REQyRlxcdUREM0FcXHVERDNGLVxcdURENDVcXHVERDQ3LVxcdURENzZcXHVERDc4LVxcdUREQjRcXHVEREI3XFx1RERCQVxcdUREQkMtXFx1RERDQ1xcdURERDBcXHVEREUwLVxcdURERkZcXHVERTcwLVxcdURFN0NcXHVERTgwLVxcdURFODlcXHVERThGLVxcdURFQzJcXHVERUM2XFx1REVDRS1cXHVERURDXFx1REVERi1cXHVERUU5XXxcXHVERDNDKD86XFx1MjAwRFtcXHUyNjQwXFx1MjY0Ml1cXHVGRTBGP3xcXHVEODNDW1xcdURGRkItXFx1REZGRl0pP3xcXHVERENFKD86XFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKT8oPzpcXHUyMDBEKD86W1xcdTI2NDBcXHUyNjQyXVxcdUZFMEY/KD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFxcdTI3QTFcXHVGRTBGPykpP3xcXHVEREQxKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMXxcXHVEREQxXFx1MjAwRFxcdUQ4M0VcXHVEREQyKD86XFx1MjAwRFxcdUQ4M0VcXHVEREQyKT98XFx1REREMig/OlxcdTIwMERcXHVEODNFXFx1REREMik/KSl8XFx1RDgzQyg/OlxcdURGRkIoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQy1cXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKSkpP3xcXHVERkZDKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCk/XFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkJcXHVERkZELVxcdURGRkZdfFxcdUQ4M0NbXFx1REYzRVxcdURGNzNcXHVERjdDXFx1REY4NFxcdURGOTNcXHVERkE0XFx1REZBOFxcdURGRUJcXHVERkVEXXxcXHVEODNEW1xcdURDQkJcXHVEQ0JDXFx1REQyN1xcdUREMkNcXHVERTgwXFx1REU5Ml18XFx1RDgzRSg/OltcXHVEREFGXFx1RERCQ1xcdUREQkRdKD86XFx1MjAwRFxcdTI3QTFcXHVGRTBGPyk/fFtcXHVEREIwLVxcdUREQjNdfFxcdUREMURcXHUyMDBEXFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRl0pKSk/fFxcdURGRkQoPzpcXHUyMDBEKD86W1xcdTI2OTVcXHUyNjk2XFx1MjcwOF1cXHVGRTBGP3xcXHUyNzY0XFx1RkUwRj9cXHUyMDBEKD86XFx1RDgzRFxcdURDOEJcXHUyMDBEKT9cXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQlxcdURGRkNcXHVERkZFXFx1REZGRl18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSkpKT98XFx1REZGRSg/OlxcdTIwMEQoPzpbXFx1MjY5NVxcdTI2OTZcXHUyNzA4XVxcdUZFMEY/fFxcdTI3NjRcXHVGRTBGP1xcdTIwMEQoPzpcXHVEODNEXFx1REM4QlxcdTIwMEQpP1xcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkRcXHVERkZGXXxcXHVEODNDW1xcdURGM0VcXHVERjczXFx1REY3Q1xcdURGODRcXHVERjkzXFx1REZBNFxcdURGQThcXHVERkVCXFx1REZFRF18XFx1RDgzRFtcXHVEQ0JCXFx1RENCQ1xcdUREMjdcXHVERDJDXFx1REU4MFxcdURFOTJdfFxcdUQ4M0UoPzpbXFx1RERBRlxcdUREQkNcXHVEREJEXSg/OlxcdTIwMERcXHUyN0ExXFx1RkUwRj8pP3xbXFx1RERCMC1cXHVEREIzXXxcXHVERDFEXFx1MjAwRFxcdUQ4M0VcXHVEREQxXFx1RDgzQ1tcXHVERkZCLVxcdURGRkZdKSkpP3xcXHVERkZGKD86XFx1MjAwRCg/OltcXHUyNjk1XFx1MjY5NlxcdTI3MDhdXFx1RkUwRj98XFx1Mjc2NFxcdUZFMEY/XFx1MjAwRCg/OlxcdUQ4M0RcXHVEQzhCXFx1MjAwRCk/XFx1RDgzRVxcdURERDFcXHVEODNDW1xcdURGRkItXFx1REZGRV18XFx1RDgzQ1tcXHVERjNFXFx1REY3M1xcdURGN0NcXHVERjg0XFx1REY5M1xcdURGQTRcXHVERkE4XFx1REZFQlxcdURGRURdfFxcdUQ4M0RbXFx1RENCQlxcdURDQkNcXHVERDI3XFx1REQyQ1xcdURFODBcXHVERTkyXXxcXHVEODNFKD86W1xcdUREQUZcXHVEREJDXFx1RERCRF0oPzpcXHUyMDBEXFx1MjdBMVxcdUZFMEY/KT98W1xcdUREQjAtXFx1RERCM118XFx1REQxRFxcdTIwMERcXHVEODNFXFx1REREMVxcdUQ4M0NbXFx1REZGQi1cXHVERkZGXSkpKT8pKT98XFx1REVGMSg/OlxcdUQ4M0MoPzpcXHVERkZCKD86XFx1MjAwRFxcdUQ4M0VcXHVERUYyXFx1RDgzQ1tcXHVERkZDLVxcdURGRkZdKT98XFx1REZGQyg/OlxcdTIwMERcXHVEODNFXFx1REVGMlxcdUQ4M0NbXFx1REZGQlxcdURGRkQtXFx1REZGRl0pP3xcXHVERkZEKD86XFx1MjAwRFxcdUQ4M0VcXHVERUYyXFx1RDgzQ1tcXHVERkZCXFx1REZGQ1xcdURGRkVcXHVERkZGXSk/fFxcdURGRkUoPzpcXHUyMDBEXFx1RDgzRVxcdURFRjJcXHVEODNDW1xcdURGRkItXFx1REZGRFxcdURGRkZdKT98XFx1REZGRig/OlxcdTIwMERcXHVEODNFXFx1REVGMlxcdUQ4M0NbXFx1REZGQi1cXHVERkZFXSk/KSk/KS9nO1xufTtcblxuLy8gbm9kZV9tb2R1bGVzL2dldC1lYXN0LWFzaWFuLXdpZHRoL2xvb2t1cC5qc1xuZnVuY3Rpb24gaXNGdWxsV2lkdGgoeCkge1xuICByZXR1cm4geCA9PT0gMTIyODggfHwgeCA+PSA2NTI4MSAmJiB4IDw9IDY1Mzc2IHx8IHggPj0gNjU1MDQgJiYgeCA8PSA2NTUxMDtcbn1cbmZ1bmN0aW9uIGlzV2lkZSh4KSB7XG4gIHJldHVybiB4ID49IDQzNTIgJiYgeCA8PSA0NDQ3IHx8IHggPT09IDg5ODYgfHwgeCA9PT0gODk4NyB8fCB4ID09PSA5MDAxIHx8IHggPT09IDkwMDIgfHwgeCA+PSA5MTkzICYmIHggPD0gOTE5NiB8fCB4ID09PSA5MjAwIHx8IHggPT09IDkyMDMgfHwgeCA9PT0gOTcyNSB8fCB4ID09PSA5NzI2IHx8IHggPT09IDk3NDggfHwgeCA9PT0gOTc0OSB8fCB4ID49IDk3NzYgJiYgeCA8PSA5NzgzIHx8IHggPj0gOTgwMCAmJiB4IDw9IDk4MTEgfHwgeCA9PT0gOTg1NSB8fCB4ID49IDk4NjYgJiYgeCA8PSA5ODcxIHx8IHggPT09IDk4NzUgfHwgeCA9PT0gOTg4OSB8fCB4ID09PSA5ODk4IHx8IHggPT09IDk4OTkgfHwgeCA9PT0gOTkxNyB8fCB4ID09PSA5OTE4IHx8IHggPT09IDk5MjQgfHwgeCA9PT0gOTkyNSB8fCB4ID09PSA5OTM0IHx8IHggPT09IDk5NDAgfHwgeCA9PT0gOTk2MiB8fCB4ID09PSA5OTcwIHx8IHggPT09IDk5NzEgfHwgeCA9PT0gOTk3MyB8fCB4ID09PSA5OTc4IHx8IHggPT09IDk5ODEgfHwgeCA9PT0gOTk4OSB8fCB4ID09PSA5OTk0IHx8IHggPT09IDk5OTUgfHwgeCA9PT0gMTAwMjQgfHwgeCA9PT0gMTAwNjAgfHwgeCA9PT0gMTAwNjIgfHwgeCA+PSAxMDA2NyAmJiB4IDw9IDEwMDY5IHx8IHggPT09IDEwMDcxIHx8IHggPj0gMTAxMzMgJiYgeCA8PSAxMDEzNSB8fCB4ID09PSAxMDE2MCB8fCB4ID09PSAxMDE3NSB8fCB4ID09PSAxMTAzNSB8fCB4ID09PSAxMTAzNiB8fCB4ID09PSAxMTA4OCB8fCB4ID09PSAxMTA5MyB8fCB4ID49IDExOTA0ICYmIHggPD0gMTE5MjkgfHwgeCA+PSAxMTkzMSAmJiB4IDw9IDEyMDE5IHx8IHggPj0gMTIwMzIgJiYgeCA8PSAxMjI0NSB8fCB4ID49IDEyMjcyICYmIHggPD0gMTIyODcgfHwgeCA+PSAxMjI4OSAmJiB4IDw9IDEyMzUwIHx8IHggPj0gMTIzNTMgJiYgeCA8PSAxMjQzOCB8fCB4ID49IDEyNDQxICYmIHggPD0gMTI1NDMgfHwgeCA+PSAxMjU0OSAmJiB4IDw9IDEyNTkxIHx8IHggPj0gMTI1OTMgJiYgeCA8PSAxMjY4NiB8fCB4ID49IDEyNjg4ICYmIHggPD0gMTI3NzMgfHwgeCA+PSAxMjc4MyAmJiB4IDw9IDEyODMwIHx8IHggPj0gMTI4MzIgJiYgeCA8PSAxMjg3MSB8fCB4ID49IDEyODgwICYmIHggPD0gNDIxMjQgfHwgeCA+PSA0MjEyOCAmJiB4IDw9IDQyMTgyIHx8IHggPj0gNDMzNjAgJiYgeCA8PSA0MzM4OCB8fCB4ID49IDQ0MDMyICYmIHggPD0gNTUyMDMgfHwgeCA+PSA2Mzc0NCAmJiB4IDw9IDY0MjU1IHx8IHggPj0gNjUwNDAgJiYgeCA8PSA2NTA0OSB8fCB4ID49IDY1MDcyICYmIHggPD0gNjUxMDYgfHwgeCA+PSA2NTEwOCAmJiB4IDw9IDY1MTI2IHx8IHggPj0gNjUxMjggJiYgeCA8PSA2NTEzMSB8fCB4ID49IDk0MTc2ICYmIHggPD0gOTQxODAgfHwgeCA9PT0gOTQxOTIgfHwgeCA9PT0gOTQxOTMgfHwgeCA+PSA5NDIwOCAmJiB4IDw9IDEwMDM0MyB8fCB4ID49IDEwMDM1MiAmJiB4IDw9IDEwMTU4OSB8fCB4ID49IDEwMTYzMSAmJiB4IDw9IDEwMTY0MCB8fCB4ID49IDExMDU3NiAmJiB4IDw9IDExMDU3OSB8fCB4ID49IDExMDU4MSAmJiB4IDw9IDExMDU4NyB8fCB4ID09PSAxMTA1ODkgfHwgeCA9PT0gMTEwNTkwIHx8IHggPj0gMTEwNTkyICYmIHggPD0gMTEwODgyIHx8IHggPT09IDExMDg5OCB8fCB4ID49IDExMDkyOCAmJiB4IDw9IDExMDkzMCB8fCB4ID09PSAxMTA5MzMgfHwgeCA+PSAxMTA5NDggJiYgeCA8PSAxMTA5NTEgfHwgeCA+PSAxMTA5NjAgJiYgeCA8PSAxMTEzNTUgfHwgeCA+PSAxMTk1NTIgJiYgeCA8PSAxMTk2MzggfHwgeCA+PSAxMTk2NDggJiYgeCA8PSAxMTk2NzAgfHwgeCA9PT0gMTI2OTgwIHx8IHggPT09IDEyNzE4MyB8fCB4ID09PSAxMjczNzQgfHwgeCA+PSAxMjczNzcgJiYgeCA8PSAxMjczODYgfHwgeCA+PSAxMjc0ODggJiYgeCA8PSAxMjc0OTAgfHwgeCA+PSAxMjc1MDQgJiYgeCA8PSAxMjc1NDcgfHwgeCA+PSAxMjc1NTIgJiYgeCA8PSAxMjc1NjAgfHwgeCA9PT0gMTI3NTY4IHx8IHggPT09IDEyNzU2OSB8fCB4ID49IDEyNzU4NCAmJiB4IDw9IDEyNzU4OSB8fCB4ID49IDEyNzc0NCAmJiB4IDw9IDEyNzc3NiB8fCB4ID49IDEyNzc4OSAmJiB4IDw9IDEyNzc5NyB8fCB4ID49IDEyNzc5OSAmJiB4IDw9IDEyNzg2OCB8fCB4ID49IDEyNzg3MCAmJiB4IDw9IDEyNzg5MSB8fCB4ID49IDEyNzkwNCAmJiB4IDw9IDEyNzk0NiB8fCB4ID49IDEyNzk1MSAmJiB4IDw9IDEyNzk1NSB8fCB4ID49IDEyNzk2OCAmJiB4IDw9IDEyNzk4NCB8fCB4ID09PSAxMjc5ODggfHwgeCA+PSAxMjc5OTIgJiYgeCA8PSAxMjgwNjIgfHwgeCA9PT0gMTI4MDY0IHx8IHggPj0gMTI4MDY2ICYmIHggPD0gMTI4MjUyIHx8IHggPj0gMTI4MjU1ICYmIHggPD0gMTI4MzE3IHx8IHggPj0gMTI4MzMxICYmIHggPD0gMTI4MzM0IHx8IHggPj0gMTI4MzM2ICYmIHggPD0gMTI4MzU5IHx8IHggPT09IDEyODM3OCB8fCB4ID09PSAxMjg0MDUgfHwgeCA9PT0gMTI4NDA2IHx8IHggPT09IDEyODQyMCB8fCB4ID49IDEyODUwNyAmJiB4IDw9IDEyODU5MSB8fCB4ID49IDEyODY0MCAmJiB4IDw9IDEyODcwOSB8fCB4ID09PSAxMjg3MTYgfHwgeCA+PSAxMjg3MjAgJiYgeCA8PSAxMjg3MjIgfHwgeCA+PSAxMjg3MjUgJiYgeCA8PSAxMjg3MjcgfHwgeCA+PSAxMjg3MzIgJiYgeCA8PSAxMjg3MzUgfHwgeCA9PT0gMTI4NzQ3IHx8IHggPT09IDEyODc0OCB8fCB4ID49IDEyODc1NiAmJiB4IDw9IDEyODc2NCB8fCB4ID49IDEyODk5MiAmJiB4IDw9IDEyOTAwMyB8fCB4ID09PSAxMjkwMDggfHwgeCA+PSAxMjkyOTIgJiYgeCA8PSAxMjkzMzggfHwgeCA+PSAxMjkzNDAgJiYgeCA8PSAxMjkzNDkgfHwgeCA+PSAxMjkzNTEgJiYgeCA8PSAxMjk1MzUgfHwgeCA+PSAxMjk2NDggJiYgeCA8PSAxMjk2NjAgfHwgeCA+PSAxMjk2NjQgJiYgeCA8PSAxMjk2NzMgfHwgeCA+PSAxMjk2NzkgJiYgeCA8PSAxMjk3MzQgfHwgeCA+PSAxMjk3NDIgJiYgeCA8PSAxMjk3NTYgfHwgeCA+PSAxMjk3NTkgJiYgeCA8PSAxMjk3NjkgfHwgeCA+PSAxMjk3NzYgJiYgeCA8PSAxMjk3ODQgfHwgeCA+PSAxMzEwNzIgJiYgeCA8PSAxOTY2MDUgfHwgeCA+PSAxOTY2MDggJiYgeCA8PSAyNjIxNDE7XG59XG5cbi8vIG5vZGVfbW9kdWxlcy9nZXQtZWFzdC1hc2lhbi13aWR0aC9pbmRleC5qc1xudmFyIF9pc05hcnJvd1dpZHRoID0gKGNvZGVQb2ludCkgPT4gIShpc0Z1bGxXaWR0aChjb2RlUG9pbnQpIHx8IGlzV2lkZShjb2RlUG9pbnQpKTtcblxuLy8gc3JjL3V0aWxzL2dldC1zdHJpbmctd2lkdGguanNcbnZhciBub3RBc2NpaVJlZ2V4ID0gL1teXFx4MjAtXFx4N0ZdL3U7XG5mdW5jdGlvbiBnZXRTdHJpbmdXaWR0aCh0ZXh0KSB7XG4gIGlmICghdGV4dCkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIGlmICghbm90QXNjaWlSZWdleC50ZXN0KHRleHQpKSB7XG4gICAgcmV0dXJuIHRleHQubGVuZ3RoO1xuICB9XG4gIHRleHQgPSB0ZXh0LnJlcGxhY2UoZW1vamlfcmVnZXhfZGVmYXVsdCgpLCBcIiAgXCIpO1xuICBsZXQgd2lkdGggPSAwO1xuICBmb3IgKGNvbnN0IGNoYXJhY3RlciBvZiB0ZXh0KSB7XG4gICAgY29uc3QgY29kZVBvaW50ID0gY2hhcmFjdGVyLmNvZGVQb2ludEF0KDApO1xuICAgIGlmIChjb2RlUG9pbnQgPD0gMzEgfHwgY29kZVBvaW50ID49IDEyNyAmJiBjb2RlUG9pbnQgPD0gMTU5KSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKGNvZGVQb2ludCA+PSA3NjggJiYgY29kZVBvaW50IDw9IDg3OSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIHdpZHRoICs9IF9pc05hcnJvd1dpZHRoKGNvZGVQb2ludCkgPyAxIDogMjtcbiAgfVxuICByZXR1cm4gd2lkdGg7XG59XG52YXIgZ2V0X3N0cmluZ193aWR0aF9kZWZhdWx0ID0gZ2V0U3RyaW5nV2lkdGg7XG5cbi8vIHNyYy9kb2N1bWVudC91dGlscy5qc1xuZnVuY3Rpb24gbWFwRG9jKGRvYzIsIGNiKSB7XG4gIGlmICh0eXBlb2YgZG9jMiA9PT0gXCJzdHJpbmdcIikge1xuICAgIHJldHVybiBjYihkb2MyKTtcbiAgfVxuICBjb25zdCBtYXBwZWQgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuICByZXR1cm4gcmVjKGRvYzIpO1xuICBmdW5jdGlvbiByZWMoZG9jMykge1xuICAgIGlmIChtYXBwZWQuaGFzKGRvYzMpKSB7XG4gICAgICByZXR1cm4gbWFwcGVkLmdldChkb2MzKTtcbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gcHJvY2VzczQoZG9jMyk7XG4gICAgbWFwcGVkLnNldChkb2MzLCByZXN1bHQpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cbiAgZnVuY3Rpb24gcHJvY2VzczQoZG9jMykge1xuICAgIHN3aXRjaCAoZ2V0X2RvY190eXBlX2RlZmF1bHQoZG9jMykpIHtcbiAgICAgIGNhc2UgRE9DX1RZUEVfQVJSQVk6XG4gICAgICAgIHJldHVybiBjYihkb2MzLm1hcChyZWMpKTtcbiAgICAgIGNhc2UgRE9DX1RZUEVfRklMTDpcbiAgICAgICAgcmV0dXJuIGNiKHsgLi4uZG9jMywgcGFydHM6IGRvYzMucGFydHMubWFwKHJlYykgfSk7XG4gICAgICBjYXNlIERPQ19UWVBFX0lGX0JSRUFLOlxuICAgICAgICByZXR1cm4gY2Ioe1xuICAgICAgICAgIC4uLmRvYzMsXG4gICAgICAgICAgYnJlYWtDb250ZW50czogcmVjKGRvYzMuYnJlYWtDb250ZW50cyksXG4gICAgICAgICAgZmxhdENvbnRlbnRzOiByZWMoZG9jMy5mbGF0Q29udGVudHMpXG4gICAgICAgIH0pO1xuICAgICAgY2FzZSBET0NfVFlQRV9HUk9VUDoge1xuICAgICAgICBsZXQgeyBleHBhbmRlZFN0YXRlcywgY29udGVudHMgfSA9IGRvYzM7XG4gICAgICAgIGlmIChleHBhbmRlZFN0YXRlcykge1xuICAgICAgICAgIGV4cGFuZGVkU3RhdGVzID0gZXhwYW5kZWRTdGF0ZXMubWFwKHJlYyk7XG4gICAgICAgICAgY29udGVudHMgPSBleHBhbmRlZFN0YXRlc1swXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb250ZW50cyA9IHJlYyhjb250ZW50cyk7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGNiKHsgLi4uZG9jMywgY29udGVudHMsIGV4cGFuZGVkU3RhdGVzIH0pO1xuICAgICAgfVxuICAgICAgY2FzZSBET0NfVFlQRV9BTElHTjpcbiAgICAgIGNhc2UgRE9DX1RZUEVfSU5ERU5UOlxuICAgICAgY2FzZSBET0NfVFlQRV9JTkRFTlRfSUZfQlJFQUs6XG4gICAgICBjYXNlIERPQ19UWVBFX0xBQkVMOlxuICAgICAgY2FzZSBET0NfVFlQRV9MSU5FX1NVRkZJWDpcbiAgICAgICAgcmV0dXJuIGNiKHsgLi4uZG9jMywgY29udGVudHM6IHJlYyhkb2MzLmNvbnRlbnRzKSB9KTtcbiAgICAgIGNhc2UgRE9DX1RZUEVfU1RSSU5HOlxuICAgICAgY2FzZSBET0NfVFlQRV9DVVJTT1I6XG4gICAgICBjYXNlIERPQ19UWVBFX1RSSU06XG4gICAgICBjYXNlIERPQ19UWVBFX0xJTkVfU1VGRklYX0JPVU5EQVJZOlxuICAgICAgY2FzZSBET0NfVFlQRV9MSU5FOlxuICAgICAgY2FzZSBET0NfVFlQRV9CUkVBS19QQVJFTlQ6XG4gICAgICAgIHJldHVybiBjYihkb2MzKTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBpbnZhbGlkX2RvY19lcnJvcl9kZWZhdWx0KGRvYzMpO1xuICAgIH1cbiAgfVxufVxuZnVuY3Rpb24gYnJlYWtQYXJlbnRHcm91cChncm91cFN0YWNrKSB7XG4gIGlmIChncm91cFN0YWNrLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBwYXJlbnRHcm91cCA9IGF0X2RlZmF1bHQoXG4gICAgICAvKiBpc09wdGlvbmFsT2JqZWN0ICovXG4gICAgICBmYWxzZSxcbiAgICAgIGdyb3VwU3RhY2ssXG4gICAgICAtMVxuICAgICk7XG4gICAgaWYgKCFwYXJlbnRHcm91cC5leHBhbmRlZFN0YXRlcyAmJiAhcGFyZW50R3JvdXAuYnJlYWspIHtcbiAgICAgIHBhcmVudEdyb3VwLmJyZWFrID0gXCJwcm9wYWdhdGVkXCI7XG4gICAgfVxuICB9XG4gIHJldHVybiBudWxsO1xufVxuZnVuY3Rpb24gcHJvcGFnYXRlQnJlYWtzKGRvYzIpIHtcbiAgY29uc3QgYWxyZWFkeVZpc2l0ZWRTZXQgPSAvKiBAX19QVVJFX18gKi8gbmV3IFNldCgpO1xuICBjb25zdCBncm91cFN0YWNrID0gW107XG4gIGZ1bmN0aW9uIHByb3BhZ2F0ZUJyZWFrc09uRW50ZXJGbihkb2MzKSB7XG4gICAgaWYgKGRvYzMudHlwZSA9PT0gRE9DX1RZUEVfQlJFQUtfUEFSRU5UKSB7XG4gICAgICBicmVha1BhcmVudEdyb3VwKGdyb3VwU3RhY2spO1xuICAgIH1cbiAgICBpZiAoZG9jMy50eXBlID09PSBET0NfVFlQRV9HUk9VUCkge1xuICAgICAgZ3JvdXBTdGFjay5wdXNoKGRvYzMpO1xuICAgICAgaWYgKGFscmVhZHlWaXNpdGVkU2V0Lmhhcyhkb2MzKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBhbHJlYWR5VmlzaXRlZFNldC5hZGQoZG9jMyk7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIHByb3BhZ2F0ZUJyZWFrc09uRXhpdEZuKGRvYzMpIHtcbiAgICBpZiAoZG9jMy50eXBlID09PSBET0NfVFlQRV9HUk9VUCkge1xuICAgICAgY29uc3QgZ3JvdXAgPSBncm91cFN0YWNrLnBvcCgpO1xuICAgICAgaWYgKGdyb3VwLmJyZWFrKSB7XG4gICAgICAgIGJyZWFrUGFyZW50R3JvdXAoZ3JvdXBTdGFjayk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHRyYXZlcnNlX2RvY19kZWZhdWx0KFxuICAgIGRvYzIsXG4gICAgcHJvcGFnYXRlQnJlYWtzT25FbnRlckZuLFxuICAgIHByb3BhZ2F0ZUJyZWFrc09uRXhpdEZuLFxuICAgIC8qIHNob3VsZFRyYXZlcnNlQ29uZGl0aW9uYWxHcm91cHMgKi9cbiAgICB0cnVlXG4gICk7XG59XG5mdW5jdGlvbiBzdHJpcFRyYWlsaW5nSGFyZGxpbmVGcm9tUGFydHMocGFydHMpIHtcbiAgcGFydHMgPSBbLi4ucGFydHNdO1xuICB3aGlsZSAocGFydHMubGVuZ3RoID49IDIgJiYgYXRfZGVmYXVsdChcbiAgICAvKiBpc09wdGlvbmFsT2JqZWN0ICovXG4gICAgZmFsc2UsXG4gICAgcGFydHMsXG4gICAgLTJcbiAgKS50eXBlID09PSBET0NfVFlQRV9MSU5FICYmIGF0X2RlZmF1bHQoXG4gICAgLyogaXNPcHRpb25hbE9iamVjdCAqL1xuICAgIGZhbHNlLFxuICAgIHBhcnRzLFxuICAgIC0xXG4gICkudHlwZSA9PT0gRE9DX1RZUEVfQlJFQUtfUEFSRU5UKSB7XG4gICAgcGFydHMubGVuZ3RoIC09IDI7XG4gIH1cbiAgaWYgKHBhcnRzLmxlbmd0aCA+IDApIHtcbiAgICBjb25zdCBsYXN0UGFydCA9IHN0cmlwVHJhaWxpbmdIYXJkbGluZUZyb21Eb2MoYXRfZGVmYXVsdChcbiAgICAgIC8qIGlzT3B0aW9uYWxPYmplY3QgKi9cbiAgICAgIGZhbHNlLFxuICAgICAgcGFydHMsXG4gICAgICAtMVxuICAgICkpO1xuICAgIHBhcnRzW3BhcnRzLmxlbmd0aCAtIDFdID0gbGFzdFBhcnQ7XG4gIH1cbiAgcmV0dXJuIHBhcnRzO1xufVxuZnVuY3Rpb24gc3RyaXBUcmFpbGluZ0hhcmRsaW5lRnJvbURvYyhkb2MyKSB7XG4gIHN3aXRjaCAoZ2V0X2RvY190eXBlX2RlZmF1bHQoZG9jMikpIHtcbiAgICBjYXNlIERPQ19UWVBFX0lOREVOVDpcbiAgICBjYXNlIERPQ19UWVBFX0lOREVOVF9JRl9CUkVBSzpcbiAgICBjYXNlIERPQ19UWVBFX0dST1VQOlxuICAgIGNhc2UgRE9DX1RZUEVfTElORV9TVUZGSVg6XG4gICAgY2FzZSBET0NfVFlQRV9MQUJFTDoge1xuICAgICAgY29uc3QgY29udGVudHMgPSBzdHJpcFRyYWlsaW5nSGFyZGxpbmVGcm9tRG9jKGRvYzIuY29udGVudHMpO1xuICAgICAgcmV0dXJuIHsgLi4uZG9jMiwgY29udGVudHMgfTtcbiAgICB9XG4gICAgY2FzZSBET0NfVFlQRV9JRl9CUkVBSzpcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLmRvYzIsXG4gICAgICAgIGJyZWFrQ29udGVudHM6IHN0cmlwVHJhaWxpbmdIYXJkbGluZUZyb21Eb2MoZG9jMi5icmVha0NvbnRlbnRzKSxcbiAgICAgICAgZmxhdENvbnRlbnRzOiBzdHJpcFRyYWlsaW5nSGFyZGxpbmVGcm9tRG9jKGRvYzIuZmxhdENvbnRlbnRzKVxuICAgICAgfTtcbiAgICBjYXNlIERPQ19UWVBFX0ZJTEw6XG4gICAgICByZXR1cm4geyAuLi5kb2MyLCBwYXJ0czogc3RyaXBUcmFpbGluZ0hhcmRsaW5lRnJvbVBhcnRzKGRvYzIucGFydHMpIH07XG4gICAgY2FzZSBET0NfVFlQRV9BUlJBWTpcbiAgICAgIHJldHVybiBzdHJpcFRyYWlsaW5nSGFyZGxpbmVGcm9tUGFydHMoZG9jMik7XG4gICAgY2FzZSBET0NfVFlQRV9TVFJJTkc6XG4gICAgICByZXR1cm4gZG9jMi5yZXBsYWNlKC9bXFxuXFxyXSokL3UsIFwiXCIpO1xuICAgIGNhc2UgRE9DX1RZUEVfQUxJR046XG4gICAgY2FzZSBET0NfVFlQRV9DVVJTT1I6XG4gICAgY2FzZSBET0NfVFlQRV9UUklNOlxuICAgIGNhc2UgRE9DX1RZUEVfTElORV9TVUZGSVhfQk9VTkRBUlk6XG4gICAgY2FzZSBET0NfVFlQRV9MSU5FOlxuICAgIGNhc2UgRE9DX1RZUEVfQlJFQUtfUEFSRU5UOlxuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBpbnZhbGlkX2RvY19lcnJvcl9kZWZhdWx0KGRvYzIpO1xuICB9XG4gIHJldHVybiBkb2MyO1xufVxuZnVuY3Rpb24gc3RyaXBUcmFpbGluZ0hhcmRsaW5lKGRvYzIpIHtcbiAgcmV0dXJuIHN0cmlwVHJhaWxpbmdIYXJkbGluZUZyb21Eb2MoY2xlYW5Eb2MoZG9jMikpO1xufVxuZnVuY3Rpb24gY2xlYW5Eb2NGbihkb2MyKSB7XG4gIHN3aXRjaCAoZ2V0X2RvY190eXBlX2RlZmF1bHQoZG9jMikpIHtcbiAgICBjYXNlIERPQ19UWVBFX0ZJTEw6XG4gICAgICBpZiAoZG9jMi5wYXJ0cy5ldmVyeSgocGFydCkgPT4gcGFydCA9PT0gXCJcIikpIHtcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIERPQ19UWVBFX0dST1VQOlxuICAgICAgaWYgKCFkb2MyLmNvbnRlbnRzICYmICFkb2MyLmlkICYmICFkb2MyLmJyZWFrICYmICFkb2MyLmV4cGFuZGVkU3RhdGVzKSB7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgfVxuICAgICAgaWYgKGRvYzIuY29udGVudHMudHlwZSA9PT0gRE9DX1RZUEVfR1JPVVAgJiYgZG9jMi5jb250ZW50cy5pZCA9PT0gZG9jMi5pZCAmJiBkb2MyLmNvbnRlbnRzLmJyZWFrID09PSBkb2MyLmJyZWFrICYmIGRvYzIuY29udGVudHMuZXhwYW5kZWRTdGF0ZXMgPT09IGRvYzIuZXhwYW5kZWRTdGF0ZXMpIHtcbiAgICAgICAgcmV0dXJuIGRvYzIuY29udGVudHM7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIERPQ19UWVBFX0FMSUdOOlxuICAgIGNhc2UgRE9DX1RZUEVfSU5ERU5UOlxuICAgIGNhc2UgRE9DX1RZUEVfSU5ERU5UX0lGX0JSRUFLOlxuICAgIGNhc2UgRE9DX1RZUEVfTElORV9TVUZGSVg6XG4gICAgICBpZiAoIWRvYzIuY29udGVudHMpIHtcbiAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIERPQ19UWVBFX0lGX0JSRUFLOlxuICAgICAgaWYgKCFkb2MyLmZsYXRDb250ZW50cyAmJiAhZG9jMi5icmVha0NvbnRlbnRzKSB7XG4gICAgICAgIHJldHVybiBcIlwiO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSBET0NfVFlQRV9BUlJBWToge1xuICAgICAgY29uc3QgcGFydHMgPSBbXTtcbiAgICAgIGZvciAoY29uc3QgcGFydCBvZiBkb2MyKSB7XG4gICAgICAgIGlmICghcGFydCkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IFtjdXJyZW50UGFydCwgLi4ucmVzdFBhcnRzXSA9IEFycmF5LmlzQXJyYXkocGFydCkgPyBwYXJ0IDogW3BhcnRdO1xuICAgICAgICBpZiAodHlwZW9mIGN1cnJlbnRQYXJ0ID09PSBcInN0cmluZ1wiICYmIHR5cGVvZiBhdF9kZWZhdWx0KFxuICAgICAgICAgIC8qIGlzT3B0aW9uYWxPYmplY3QgKi9cbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICBwYXJ0cyxcbiAgICAgICAgICAtMVxuICAgICAgICApID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgcGFydHNbcGFydHMubGVuZ3RoIC0gMV0gKz0gY3VycmVudFBhcnQ7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGFydHMucHVzaChjdXJyZW50UGFydCk7XG4gICAgICAgIH1cbiAgICAgICAgcGFydHMucHVzaCguLi5yZXN0UGFydHMpO1xuICAgICAgfVxuICAgICAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICByZXR1cm4gXCJcIjtcbiAgICAgIH1cbiAgICAgIGlmIChwYXJ0cy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgcmV0dXJuIHBhcnRzWzBdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHBhcnRzO1xuICAgIH1cbiAgICBjYXNlIERPQ19UWVBFX1NUUklORzpcbiAgICBjYXNlIERPQ19UWVBFX0NVUlNPUjpcbiAgICBjYXNlIERPQ19UWVBFX1RSSU06XG4gICAgY2FzZSBET0NfVFlQRV9MSU5FX1NVRkZJWF9CT1VOREFSWTpcbiAgICBjYXNlIERPQ19UWVBFX0xJTkU6XG4gICAgY2FzZSBET0NfVFlQRV9MQUJFTDpcbiAgICBjYXNlIERPQ19UWVBFX0JSRUFLX1BBUkVOVDpcbiAgICAgIGJyZWFrO1xuICAgIGRlZmF1bHQ6XG4gICAgICB0aHJvdyBuZXcgaW52YWxpZF9kb2NfZXJyb3JfZGVmYXVsdChkb2MyKTtcbiAgfVxuICByZXR1cm4gZG9jMjtcbn1cbmZ1bmN0aW9uIGNsZWFuRG9jKGRvYzIpIHtcbiAgcmV0dXJuIG1hcERvYyhkb2MyLCAoY3VycmVudERvYykgPT4gY2xlYW5Eb2NGbihjdXJyZW50RG9jKSk7XG59XG5mdW5jdGlvbiBpbmhlcml0TGFiZWwoZG9jMiwgZm4pIHtcbiAgcmV0dXJuIGRvYzIudHlwZSA9PT0gRE9DX1RZUEVfTEFCRUwgPyB7IC4uLmRvYzIsIGNvbnRlbnRzOiBmbihkb2MyLmNvbnRlbnRzKSB9IDogZm4oZG9jMik7XG59XG5cbi8vIHNyYy9kb2N1bWVudC9wcmludGVyLmpzXG52YXIgTU9ERV9CUkVBSyA9IFN5bWJvbChcIk1PREVfQlJFQUtcIik7XG52YXIgTU9ERV9GTEFUID0gU3ltYm9sKFwiTU9ERV9GTEFUXCIpO1xudmFyIENVUlNPUl9QTEFDRUhPTERFUiA9IFN5bWJvbChcImN1cnNvclwiKTtcbnZhciBET0NfRklMTF9QUklOVEVEX0xFTkdUSCA9IFN5bWJvbChcIkRPQ19GSUxMX1BSSU5URURfTEVOR1RIXCIpO1xuZnVuY3Rpb24gcm9vdEluZGVudCgpIHtcbiAgcmV0dXJuIHsgdmFsdWU6IFwiXCIsIGxlbmd0aDogMCwgcXVldWU6IFtdIH07XG59XG5mdW5jdGlvbiBtYWtlSW5kZW50KGluZCwgb3B0aW9uczgpIHtcbiAgcmV0dXJuIGdlbmVyYXRlSW5kKGluZCwgeyB0eXBlOiBcImluZGVudFwiIH0sIG9wdGlvbnM4KTtcbn1cbmZ1bmN0aW9uIG1ha2VBbGlnbihpbmRlbnQyLCB3aWR0aE9yRG9jLCBvcHRpb25zOCkge1xuICBpZiAod2lkdGhPckRvYyA9PT0gTnVtYmVyLk5FR0FUSVZFX0lORklOSVRZKSB7XG4gICAgcmV0dXJuIGluZGVudDIucm9vdCB8fCByb290SW5kZW50KCk7XG4gIH1cbiAgaWYgKHdpZHRoT3JEb2MgPCAwKSB7XG4gICAgcmV0dXJuIGdlbmVyYXRlSW5kKGluZGVudDIsIHsgdHlwZTogXCJkZWRlbnRcIiB9LCBvcHRpb25zOCk7XG4gIH1cbiAgaWYgKCF3aWR0aE9yRG9jKSB7XG4gICAgcmV0dXJuIGluZGVudDI7XG4gIH1cbiAgaWYgKHdpZHRoT3JEb2MudHlwZSA9PT0gXCJyb290XCIpIHtcbiAgICByZXR1cm4geyAuLi5pbmRlbnQyLCByb290OiBpbmRlbnQyIH07XG4gIH1cbiAgY29uc3QgYWxpZ25UeXBlID0gdHlwZW9mIHdpZHRoT3JEb2MgPT09IFwic3RyaW5nXCIgPyBcInN0cmluZ0FsaWduXCIgOiBcIm51bWJlckFsaWduXCI7XG4gIHJldHVybiBnZW5lcmF0ZUluZChpbmRlbnQyLCB7IHR5cGU6IGFsaWduVHlwZSwgbjogd2lkdGhPckRvYyB9LCBvcHRpb25zOCk7XG59XG5mdW5jdGlvbiBnZW5lcmF0ZUluZChpbmQsIG5ld1BhcnQsIG9wdGlvbnM4KSB7XG4gIGNvbnN0IHF1ZXVlID0gbmV3UGFydC50eXBlID09PSBcImRlZGVudFwiID8gaW5kLnF1ZXVlLnNsaWNlKDAsIC0xKSA6IFsuLi5pbmQucXVldWUsIG5ld1BhcnRdO1xuICBsZXQgdmFsdWUgPSBcIlwiO1xuICBsZXQgbGVuZ3RoID0gMDtcbiAgbGV0IGxhc3RUYWJzID0gMDtcbiAgbGV0IGxhc3RTcGFjZXMgPSAwO1xuICBmb3IgKGNvbnN0IHBhcnQgb2YgcXVldWUpIHtcbiAgICBzd2l0Y2ggKHBhcnQudHlwZSkge1xuICAgICAgY2FzZSBcImluZGVudFwiOlxuICAgICAgICBmbHVzaCgpO1xuICAgICAgICBpZiAob3B0aW9uczgudXNlVGFicykge1xuICAgICAgICAgIGFkZFRhYnMoMSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYWRkU3BhY2VzKG9wdGlvbnM4LnRhYldpZHRoKTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJzdHJpbmdBbGlnblwiOlxuICAgICAgICBmbHVzaCgpO1xuICAgICAgICB2YWx1ZSArPSBwYXJ0Lm47XG4gICAgICAgIGxlbmd0aCArPSBwYXJ0Lm4ubGVuZ3RoO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgXCJudW1iZXJBbGlnblwiOlxuICAgICAgICBsYXN0VGFicyArPSAxO1xuICAgICAgICBsYXN0U3BhY2VzICs9IHBhcnQubjtcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuZXhwZWN0ZWQgdHlwZSAnJHtwYXJ0LnR5cGV9J2ApO1xuICAgIH1cbiAgfVxuICBmbHVzaFNwYWNlcygpO1xuICByZXR1cm4geyAuLi5pbmQsIHZhbHVlLCBsZW5ndGgsIHF1ZXVlIH07XG4gIGZ1bmN0aW9uIGFkZFRhYnMoY291bnQpIHtcbiAgICB2YWx1ZSArPSBcIlx0XCIucmVwZWF0KGNvdW50KTtcbiAgICBsZW5ndGggKz0gb3B0aW9uczgudGFiV2lkdGggKiBjb3VudDtcbiAgfVxuICBmdW5jdGlvbiBhZGRTcGFjZXMoY291bnQpIHtcbiAgICB2YWx1ZSArPSBcIiBcIi5yZXBlYXQoY291bnQpO1xuICAgIGxlbmd0aCArPSBjb3VudDtcbiAgfVxuICBmdW5jdGlvbiBmbHVzaCgpIHtcbiAgICBpZiAob3B0aW9uczgudXNlVGFicykge1xuICAgICAgZmx1c2hUYWJzKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGZsdXNoU3BhY2VzKCk7XG4gICAgfVxuICB9XG4gIGZ1bmN0aW9uIGZsdXNoVGFicygpIHtcbiAgICBpZiAobGFzdFRhYnMgPiAwKSB7XG4gICAgICBhZGRUYWJzKGxhc3RUYWJzKTtcbiAgICB9XG4gICAgcmVzZXRMYXN0KCk7XG4gIH1cbiAgZnVuY3Rpb24gZmx1c2hTcGFjZXMoKSB7XG4gICAgaWYgKGxhc3RTcGFjZXMgPiAwKSB7XG4gICAgICBhZGRTcGFjZXMobGFzdFNwYWNlcyk7XG4gICAgfVxuICAgIHJlc2V0TGFzdCgpO1xuICB9XG4gIGZ1bmN0aW9uIHJlc2V0TGFzdCgpIHtcbiAgICBsYXN0VGFicyA9IDA7XG4gICAgbGFzdFNwYWNlcyA9IDA7XG4gIH1cbn1cbmZ1bmN0aW9uIHRyaW0ob3V0KSB7XG4gIGxldCB0cmltQ291bnQgPSAwO1xuICBsZXQgY3Vyc29yQ291bnQgPSAwO1xuICBsZXQgb3V0SW5kZXggPSBvdXQubGVuZ3RoO1xuICBvdXRlcjogd2hpbGUgKG91dEluZGV4LS0pIHtcbiAgICBjb25zdCBsYXN0ID0gb3V0W291dEluZGV4XTtcbiAgICBpZiAobGFzdCA9PT0gQ1VSU09SX1BMQUNFSE9MREVSKSB7XG4gICAgICBjdXJzb3JDb3VudCsrO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChmYWxzZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmV4cGVjdGVkIHZhbHVlIGluIHRyaW06ICcke3R5cGVvZiBsYXN0fSdgKTtcbiAgICB9XG4gICAgZm9yIChsZXQgY2hhckluZGV4ID0gbGFzdC5sZW5ndGggLSAxOyBjaGFySW5kZXggPj0gMDsgY2hhckluZGV4LS0pIHtcbiAgICAgIGNvbnN0IGNoYXIgPSBsYXN0W2NoYXJJbmRleF07XG4gICAgICBpZiAoY2hhciA9PT0gXCIgXCIgfHwgY2hhciA9PT0gXCJcdFwiKSB7XG4gICAgICAgIHRyaW1Db3VudCsrO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgb3V0W291dEluZGV4XSA9IGxhc3Quc2xpY2UoMCwgY2hhckluZGV4ICsgMSk7XG4gICAgICAgIGJyZWFrIG91dGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBpZiAodHJpbUNvdW50ID4gMCB8fCBjdXJzb3JDb3VudCA+IDApIHtcbiAgICBvdXQubGVuZ3RoID0gb3V0SW5kZXggKyAxO1xuICAgIHdoaWxlIChjdXJzb3JDb3VudC0tID4gMCkge1xuICAgICAgb3V0LnB1c2goQ1VSU09SX1BMQUNFSE9MREVSKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRyaW1Db3VudDtcbn1cbmZ1bmN0aW9uIGZpdHMobmV4dCwgcmVzdENvbW1hbmRzLCB3aWR0aCwgaGFzTGluZVN1ZmZpeCwgZ3JvdXBNb2RlTWFwLCBtdXN0QmVGbGF0KSB7XG4gIGlmICh3aWR0aCA9PT0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZKSB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbiAgbGV0IHJlc3RJZHggPSByZXN0Q29tbWFuZHMubGVuZ3RoO1xuICBjb25zdCBjbWRzID0gW25leHRdO1xuICBjb25zdCBvdXQgPSBbXTtcbiAgd2hpbGUgKHdpZHRoID49IDApIHtcbiAgICBpZiAoY21kcy5sZW5ndGggPT09IDApIHtcbiAgICAgIGlmIChyZXN0SWR4ID09PSAwKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgY21kcy5wdXNoKHJlc3RDb21tYW5kc1stLXJlc3RJZHhdKTtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBjb25zdCB7IG1vZGUsIGRvYzogZG9jMiB9ID0gY21kcy5wb3AoKTtcbiAgICBjb25zdCBkb2NUeXBlID0gZ2V0X2RvY190eXBlX2RlZmF1bHQoZG9jMik7XG4gICAgc3dpdGNoIChkb2NUeXBlKSB7XG4gICAgICBjYXNlIERPQ19UWVBFX1NUUklORzpcbiAgICAgICAgb3V0LnB1c2goZG9jMik7XG4gICAgICAgIHdpZHRoIC09IGdldF9zdHJpbmdfd2lkdGhfZGVmYXVsdChkb2MyKTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPQ19UWVBFX0FSUkFZOlxuICAgICAgY2FzZSBET0NfVFlQRV9GSUxMOiB7XG4gICAgICAgIGNvbnN0IHBhcnRzID0gZG9jVHlwZSA9PT0gRE9DX1RZUEVfQVJSQVkgPyBkb2MyIDogZG9jMi5wYXJ0cztcbiAgICAgICAgY29uc3QgZW5kID0gZG9jMltET0NfRklMTF9QUklOVEVEX0xFTkdUSF0gPz8gMDtcbiAgICAgICAgZm9yIChsZXQgaSA9IHBhcnRzLmxlbmd0aCAtIDE7IGkgPj0gZW5kOyBpLS0pIHtcbiAgICAgICAgICBjbWRzLnB1c2goeyBtb2RlLCBkb2M6IHBhcnRzW2ldIH0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgICAgY2FzZSBET0NfVFlQRV9JTkRFTlQ6XG4gICAgICBjYXNlIERPQ19UWVBFX0FMSUdOOlxuICAgICAgY2FzZSBET0NfVFlQRV9JTkRFTlRfSUZfQlJFQUs6XG4gICAgICBjYXNlIERPQ19UWVBFX0xBQkVMOlxuICAgICAgICBjbWRzLnB1c2goeyBtb2RlLCBkb2M6IGRvYzIuY29udGVudHMgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET0NfVFlQRV9UUklNOlxuICAgICAgICB3aWR0aCArPSB0cmltKG91dCk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET0NfVFlQRV9HUk9VUDoge1xuICAgICAgICBpZiAobXVzdEJlRmxhdCAmJiBkb2MyLmJyZWFrKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGdyb3VwTW9kZSA9IGRvYzIuYnJlYWsgPyBNT0RFX0JSRUFLIDogbW9kZTtcbiAgICAgICAgY29uc3QgY29udGVudHMgPSBkb2MyLmV4cGFuZGVkU3RhdGVzICYmIGdyb3VwTW9kZSA9PT0gTU9ERV9CUkVBSyA/IGF0X2RlZmF1bHQoXG4gICAgICAgICAgLyogaXNPcHRpb25hbE9iamVjdCAqL1xuICAgICAgICAgIGZhbHNlLFxuICAgICAgICAgIGRvYzIuZXhwYW5kZWRTdGF0ZXMsXG4gICAgICAgICAgLTFcbiAgICAgICAgKSA6IGRvYzIuY29udGVudHM7XG4gICAgICAgIGNtZHMucHVzaCh7IG1vZGU6IGdyb3VwTW9kZSwgZG9jOiBjb250ZW50cyB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIERPQ19UWVBFX0lGX0JSRUFLOiB7XG4gICAgICAgIGNvbnN0IGdyb3VwTW9kZSA9IGRvYzIuZ3JvdXBJZCA/IGdyb3VwTW9kZU1hcFtkb2MyLmdyb3VwSWRdIHx8IE1PREVfRkxBVCA6IG1vZGU7XG4gICAgICAgIGNvbnN0IGNvbnRlbnRzID0gZ3JvdXBNb2RlID09PSBNT0RFX0JSRUFLID8gZG9jMi5icmVha0NvbnRlbnRzIDogZG9jMi5mbGF0Q29udGVudHM7XG4gICAgICAgIGlmIChjb250ZW50cykge1xuICAgICAgICAgIGNtZHMucHVzaCh7IG1vZGUsIGRvYzogY29udGVudHMgfSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIERPQ19UWVBFX0xJTkU6XG4gICAgICAgIGlmIChtb2RlID09PSBNT0RFX0JSRUFLIHx8IGRvYzIuaGFyZCkge1xuICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghZG9jMi5zb2Z0KSB7XG4gICAgICAgICAgb3V0LnB1c2goXCIgXCIpO1xuICAgICAgICAgIHdpZHRoLS07XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPQ19UWVBFX0xJTkVfU1VGRklYOlxuICAgICAgICBoYXNMaW5lU3VmZml4ID0gdHJ1ZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPQ19UWVBFX0xJTkVfU1VGRklYX0JPVU5EQVJZOlxuICAgICAgICBpZiAoaGFzTGluZVN1ZmZpeCkge1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufVxuZnVuY3Rpb24gcHJpbnREb2NUb1N0cmluZyhkb2MyLCBvcHRpb25zOCkge1xuICBjb25zdCBncm91cE1vZGVNYXAgPSB7fTtcbiAgY29uc3Qgd2lkdGggPSBvcHRpb25zOC5wcmludFdpZHRoO1xuICBjb25zdCBuZXdMaW5lID0gY29udmVydEVuZE9mTGluZVRvQ2hhcnMob3B0aW9uczguZW5kT2ZMaW5lKTtcbiAgbGV0IHBvczIgPSAwO1xuICBjb25zdCBjbWRzID0gW3sgaW5kOiByb290SW5kZW50KCksIG1vZGU6IE1PREVfQlJFQUssIGRvYzogZG9jMiB9XTtcbiAgY29uc3Qgb3V0ID0gW107XG4gIGxldCBzaG91bGRSZW1lYXN1cmUgPSBmYWxzZTtcbiAgY29uc3QgbGluZVN1ZmZpeDIgPSBbXTtcbiAgbGV0IHByaW50ZWRDdXJzb3JDb3VudCA9IDA7XG4gIHByb3BhZ2F0ZUJyZWFrcyhkb2MyKTtcbiAgd2hpbGUgKGNtZHMubGVuZ3RoID4gMCkge1xuICAgIGNvbnN0IHsgaW5kLCBtb2RlLCBkb2M6IGRvYzMgfSA9IGNtZHMucG9wKCk7XG4gICAgc3dpdGNoIChnZXRfZG9jX3R5cGVfZGVmYXVsdChkb2MzKSkge1xuICAgICAgY2FzZSBET0NfVFlQRV9TVFJJTkc6IHtcbiAgICAgICAgY29uc3QgZm9ybWF0dGVkID0gbmV3TGluZSAhPT0gXCJcXG5cIiA/IHN0cmluZ19yZXBsYWNlX2FsbF9kZWZhdWx0KFxuICAgICAgICAgIC8qIGlzT3B0aW9uYWxPYmplY3QgKi9cbiAgICAgICAgICBmYWxzZSxcbiAgICAgICAgICBkb2MzLFxuICAgICAgICAgIFwiXFxuXCIsXG4gICAgICAgICAgbmV3TGluZVxuICAgICAgICApIDogZG9jMztcbiAgICAgICAgb3V0LnB1c2goZm9ybWF0dGVkKTtcbiAgICAgICAgaWYgKGNtZHMubGVuZ3RoID4gMCkge1xuICAgICAgICAgIHBvczIgKz0gZ2V0X3N0cmluZ193aWR0aF9kZWZhdWx0KGZvcm1hdHRlZCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIERPQ19UWVBFX0FSUkFZOlxuICAgICAgICBmb3IgKGxldCBpID0gZG9jMy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICAgIGNtZHMucHVzaCh7IGluZCwgbW9kZSwgZG9jOiBkb2MzW2ldIH0pO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET0NfVFlQRV9DVVJTT1I6XG4gICAgICAgIGlmIChwcmludGVkQ3Vyc29yQ291bnQgPj0gMikge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcIlRoZXJlIGFyZSB0b28gbWFueSAnY3Vyc29yJyBpbiBkb2MuXCIpO1xuICAgICAgICB9XG4gICAgICAgIG91dC5wdXNoKENVUlNPUl9QTEFDRUhPTERFUik7XG4gICAgICAgIHByaW50ZWRDdXJzb3JDb3VudCsrO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgRE9DX1RZUEVfSU5ERU5UOlxuICAgICAgICBjbWRzLnB1c2goeyBpbmQ6IG1ha2VJbmRlbnQoaW5kLCBvcHRpb25zOCksIG1vZGUsIGRvYzogZG9jMy5jb250ZW50cyB9KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPQ19UWVBFX0FMSUdOOlxuICAgICAgICBjbWRzLnB1c2goe1xuICAgICAgICAgIGluZDogbWFrZUFsaWduKGluZCwgZG9jMy5uLCBvcHRpb25zOCksXG4gICAgICAgICAgbW9kZSxcbiAgICAgICAgICBkb2M6IGRvYzMuY29udGVudHNcbiAgICAgICAgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET0NfVFlQRV9UUklNOlxuICAgICAgICBwb3MyIC09IHRyaW0ob3V0KTtcbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPQ19UWVBFX0dST1VQOlxuICAgICAgICBzd2l0Y2ggKG1vZGUpIHtcbiAgICAgICAgICBjYXNlIE1PREVfRkxBVDpcbiAgICAgICAgICAgIGlmICghc2hvdWxkUmVtZWFzdXJlKSB7XG4gICAgICAgICAgICAgIGNtZHMucHVzaCh7XG4gICAgICAgICAgICAgICAgaW5kLFxuICAgICAgICAgICAgICAgIG1vZGU6IGRvYzMuYnJlYWsgPyBNT0RFX0JSRUFLIDogTU9ERV9GTEFULFxuICAgICAgICAgICAgICAgIGRvYzogZG9jMy5jb250ZW50c1xuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgLy8gZmFsbHRocm91Z2hcbiAgICAgICAgICBjYXNlIE1PREVfQlJFQUs6IHtcbiAgICAgICAgICAgIHNob3VsZFJlbWVhc3VyZSA9IGZhbHNlO1xuICAgICAgICAgICAgY29uc3QgbmV4dCA9IHsgaW5kLCBtb2RlOiBNT0RFX0ZMQVQsIGRvYzogZG9jMy5jb250ZW50cyB9O1xuICAgICAgICAgICAgY29uc3QgcmVtID0gd2lkdGggLSBwb3MyO1xuICAgICAgICAgICAgY29uc3QgaGFzTGluZVN1ZmZpeCA9IGxpbmVTdWZmaXgyLmxlbmd0aCA+IDA7XG4gICAgICAgICAgICBpZiAoIWRvYzMuYnJlYWsgJiYgZml0cyhuZXh0LCBjbWRzLCByZW0sIGhhc0xpbmVTdWZmaXgsIGdyb3VwTW9kZU1hcCkpIHtcbiAgICAgICAgICAgICAgY21kcy5wdXNoKG5leHQpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgaWYgKGRvYzMuZXhwYW5kZWRTdGF0ZXMpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtb3N0RXhwYW5kZWQgPSBhdF9kZWZhdWx0KFxuICAgICAgICAgICAgICAgICAgLyogaXNPcHRpb25hbE9iamVjdCAqL1xuICAgICAgICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICAgICAgICBkb2MzLmV4cGFuZGVkU3RhdGVzLFxuICAgICAgICAgICAgICAgICAgLTFcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIGlmIChkb2MzLmJyZWFrKSB7XG4gICAgICAgICAgICAgICAgICBjbWRzLnB1c2goeyBpbmQsIG1vZGU6IE1PREVfQlJFQUssIGRvYzogbW9zdEV4cGFuZGVkIH0pO1xuICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgZG9jMy5leHBhbmRlZFN0YXRlcy5sZW5ndGggKyAxOyBpKyspIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGkgPj0gZG9jMy5leHBhbmRlZFN0YXRlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgICAgICAgICBjbWRzLnB1c2goeyBpbmQsIG1vZGU6IE1PREVfQlJFQUssIGRvYzogbW9zdEV4cGFuZGVkIH0pO1xuICAgICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0YXRlID0gZG9jMy5leHBhbmRlZFN0YXRlc1tpXTtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjbWQgPSB7IGluZCwgbW9kZTogTU9ERV9GTEFULCBkb2M6IHN0YXRlIH07XG4gICAgICAgICAgICAgICAgICAgICAgaWYgKGZpdHMoY21kLCBjbWRzLCByZW0sIGhhc0xpbmVTdWZmaXgsIGdyb3VwTW9kZU1hcCkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNtZHMucHVzaChjbWQpO1xuICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNtZHMucHVzaCh7IGluZCwgbW9kZTogTU9ERV9CUkVBSywgZG9jOiBkb2MzLmNvbnRlbnRzIH0pO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGRvYzMuaWQpIHtcbiAgICAgICAgICBncm91cE1vZGVNYXBbZG9jMy5pZF0gPSBhdF9kZWZhdWx0KFxuICAgICAgICAgICAgLyogaXNPcHRpb25hbE9iamVjdCAqL1xuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICBjbWRzLFxuICAgICAgICAgICAgLTFcbiAgICAgICAgICApLm1vZGU7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICAvLyBGaWxscyBlYWNoIGxpbmUgd2l0aCBhcyBtdWNoIGNvZGUgYXMgcG9zc2libGUgYmVmb3JlIG1vdmluZyB0byBhIG5ld1xuICAgICAgLy8gbGluZSB3aXRoIHRoZSBzYW1lIGluZGVudGF0aW9uLlxuICAgICAgLy9cbiAgICAgIC8vIEV4cGVjdHMgZG9jLnBhcnRzIHRvIGJlIGFuIGFycmF5IG9mIGFsdGVybmF0aW5nIGNvbnRlbnQgYW5kXG4gICAgICAvLyB3aGl0ZXNwYWNlLiBUaGUgd2hpdGVzcGFjZSBjb250YWlucyB0aGUgbGluZWJyZWFrcy5cbiAgICAgIC8vXG4gICAgICAvLyBGb3IgZXhhbXBsZTpcbiAgICAgIC8vICAgW1wiSVwiLCBsaW5lLCBcImxvdmVcIiwgbGluZSwgXCJtb25rZXlzXCJdXG4gICAgICAvLyBvclxuICAgICAgLy8gICBbeyB0eXBlOiBncm91cCwgLi4uIH0sIHNvZnRsaW5lLCB7IHR5cGU6IGdyb3VwLCAuLi4gfV1cbiAgICAgIC8vXG4gICAgICAvLyBJdCB1c2VzIHRoaXMgcGFydHMgc3RydWN0dXJlIHRvIGhhbmRsZSB0aHJlZSBtYWluIGxheW91dCBjYXNlczpcbiAgICAgIC8vICogVGhlIGZpcnN0IHR3byBjb250ZW50IGl0ZW1zIGZpdCBvbiB0aGUgc2FtZSBsaW5lIHdpdGhvdXRcbiAgICAgIC8vICAgYnJlYWtpbmdcbiAgICAgIC8vICAgLT4gb3V0cHV0IHRoZSBmaXJzdCBjb250ZW50IGl0ZW0gYW5kIHRoZSB3aGl0ZXNwYWNlIFwiZmxhdFwiLlxuICAgICAgLy8gKiBPbmx5IHRoZSBmaXJzdCBjb250ZW50IGl0ZW0gZml0cyBvbiB0aGUgbGluZSB3aXRob3V0IGJyZWFraW5nXG4gICAgICAvLyAgIC0+IG91dHB1dCB0aGUgZmlyc3QgY29udGVudCBpdGVtIFwiZmxhdFwiIGFuZCB0aGUgd2hpdGVzcGFjZSB3aXRoXG4gICAgICAvLyAgIFwiYnJlYWtcIi5cbiAgICAgIC8vICogTmVpdGhlciBjb250ZW50IGl0ZW0gZml0cyBvbiB0aGUgbGluZSB3aXRob3V0IGJyZWFraW5nXG4gICAgICAvLyAgIC0+IG91dHB1dCB0aGUgZmlyc3QgY29udGVudCBpdGVtIGFuZCB0aGUgd2hpdGVzcGFjZSB3aXRoIFwiYnJlYWtcIi5cbiAgICAgIGNhc2UgRE9DX1RZUEVfRklMTDoge1xuICAgICAgICBjb25zdCByZW0gPSB3aWR0aCAtIHBvczI7XG4gICAgICAgIGNvbnN0IG9mZnNldCA9IGRvYzNbRE9DX0ZJTExfUFJJTlRFRF9MRU5HVEhdID8/IDA7XG4gICAgICAgIGNvbnN0IHsgcGFydHMgfSA9IGRvYzM7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IHBhcnRzLmxlbmd0aCAtIG9mZnNldDtcbiAgICAgICAgaWYgKGxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNvbnRlbnQgPSBwYXJ0c1tvZmZzZXQgKyAwXTtcbiAgICAgICAgY29uc3Qgd2hpdGVzcGFjZSA9IHBhcnRzW29mZnNldCArIDFdO1xuICAgICAgICBjb25zdCBjb250ZW50RmxhdENtZCA9IHsgaW5kLCBtb2RlOiBNT0RFX0ZMQVQsIGRvYzogY29udGVudCB9O1xuICAgICAgICBjb25zdCBjb250ZW50QnJlYWtDbWQgPSB7IGluZCwgbW9kZTogTU9ERV9CUkVBSywgZG9jOiBjb250ZW50IH07XG4gICAgICAgIGNvbnN0IGNvbnRlbnRGaXRzID0gZml0cyhcbiAgICAgICAgICBjb250ZW50RmxhdENtZCxcbiAgICAgICAgICBbXSxcbiAgICAgICAgICByZW0sXG4gICAgICAgICAgbGluZVN1ZmZpeDIubGVuZ3RoID4gMCxcbiAgICAgICAgICBncm91cE1vZGVNYXAsXG4gICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuICAgICAgICBpZiAobGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgaWYgKGNvbnRlbnRGaXRzKSB7XG4gICAgICAgICAgICBjbWRzLnB1c2goY29udGVudEZsYXRDbWQpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjbWRzLnB1c2goY29udGVudEJyZWFrQ21kKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgd2hpdGVzcGFjZUZsYXRDbWQgPSB7IGluZCwgbW9kZTogTU9ERV9GTEFULCBkb2M6IHdoaXRlc3BhY2UgfTtcbiAgICAgICAgY29uc3Qgd2hpdGVzcGFjZUJyZWFrQ21kID0geyBpbmQsIG1vZGU6IE1PREVfQlJFQUssIGRvYzogd2hpdGVzcGFjZSB9O1xuICAgICAgICBpZiAobGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgaWYgKGNvbnRlbnRGaXRzKSB7XG4gICAgICAgICAgICBjbWRzLnB1c2god2hpdGVzcGFjZUZsYXRDbWQsIGNvbnRlbnRGbGF0Q21kKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY21kcy5wdXNoKHdoaXRlc3BhY2VCcmVha0NtZCwgY29udGVudEJyZWFrQ21kKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3Qgc2Vjb25kQ29udGVudCA9IHBhcnRzW29mZnNldCArIDJdO1xuICAgICAgICBjb25zdCByZW1haW5pbmdDbWQgPSB7XG4gICAgICAgICAgaW5kLFxuICAgICAgICAgIG1vZGUsXG4gICAgICAgICAgZG9jOiB7IC4uLmRvYzMsIFtET0NfRklMTF9QUklOVEVEX0xFTkdUSF06IG9mZnNldCArIDIgfVxuICAgICAgICB9O1xuICAgICAgICBjb25zdCBmaXJzdEFuZFNlY29uZENvbnRlbnRGbGF0Q21kID0ge1xuICAgICAgICAgIGluZCxcbiAgICAgICAgICBtb2RlOiBNT0RFX0ZMQVQsXG4gICAgICAgICAgZG9jOiBbY29udGVudCwgd2hpdGVzcGFjZSwgc2Vjb25kQ29udGVudF1cbiAgICAgICAgfTtcbiAgICAgICAgY29uc3QgZmlyc3RBbmRTZWNvbmRDb250ZW50Rml0cyA9IGZpdHMoXG4gICAgICAgICAgZmlyc3RBbmRTZWNvbmRDb250ZW50RmxhdENtZCxcbiAgICAgICAgICBbXSxcbiAgICAgICAgICByZW0sXG4gICAgICAgICAgbGluZVN1ZmZpeDIubGVuZ3RoID4gMCxcbiAgICAgICAgICBncm91cE1vZGVNYXAsXG4gICAgICAgICAgdHJ1ZVxuICAgICAgICApO1xuICAgICAgICBpZiAoZmlyc3RBbmRTZWNvbmRDb250ZW50Rml0cykge1xuICAgICAgICAgIGNtZHMucHVzaChyZW1haW5pbmdDbWQsIHdoaXRlc3BhY2VGbGF0Q21kLCBjb250ZW50RmxhdENtZCk7XG4gICAgICAgIH0gZWxzZSBpZiAoY29udGVudEZpdHMpIHtcbiAgICAgICAgICBjbWRzLnB1c2gocmVtYWluaW5nQ21kLCB3aGl0ZXNwYWNlQnJlYWtDbWQsIGNvbnRlbnRGbGF0Q21kKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjbWRzLnB1c2gocmVtYWluaW5nQ21kLCB3aGl0ZXNwYWNlQnJlYWtDbWQsIGNvbnRlbnRCcmVha0NtZCk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIERPQ19UWVBFX0lGX0JSRUFLOlxuICAgICAgY2FzZSBET0NfVFlQRV9JTkRFTlRfSUZfQlJFQUs6IHtcbiAgICAgICAgY29uc3QgZ3JvdXBNb2RlID0gZG9jMy5ncm91cElkID8gZ3JvdXBNb2RlTWFwW2RvYzMuZ3JvdXBJZF0gOiBtb2RlO1xuICAgICAgICBpZiAoZ3JvdXBNb2RlID09PSBNT0RFX0JSRUFLKSB7XG4gICAgICAgICAgY29uc3QgYnJlYWtDb250ZW50cyA9IGRvYzMudHlwZSA9PT0gRE9DX1RZUEVfSUZfQlJFQUsgPyBkb2MzLmJyZWFrQ29udGVudHMgOiBkb2MzLm5lZ2F0ZSA/IGRvYzMuY29udGVudHMgOiBpbmRlbnQoZG9jMy5jb250ZW50cyk7XG4gICAgICAgICAgaWYgKGJyZWFrQ29udGVudHMpIHtcbiAgICAgICAgICAgIGNtZHMucHVzaCh7IGluZCwgbW9kZSwgZG9jOiBicmVha0NvbnRlbnRzIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoZ3JvdXBNb2RlID09PSBNT0RFX0ZMQVQpIHtcbiAgICAgICAgICBjb25zdCBmbGF0Q29udGVudHMgPSBkb2MzLnR5cGUgPT09IERPQ19UWVBFX0lGX0JSRUFLID8gZG9jMy5mbGF0Q29udGVudHMgOiBkb2MzLm5lZ2F0ZSA/IGluZGVudChkb2MzLmNvbnRlbnRzKSA6IGRvYzMuY29udGVudHM7XG4gICAgICAgICAgaWYgKGZsYXRDb250ZW50cykge1xuICAgICAgICAgICAgY21kcy5wdXNoKHsgaW5kLCBtb2RlLCBkb2M6IGZsYXRDb250ZW50cyB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBjYXNlIERPQ19UWVBFX0xJTkVfU1VGRklYOlxuICAgICAgICBsaW5lU3VmZml4Mi5wdXNoKHsgaW5kLCBtb2RlLCBkb2M6IGRvYzMuY29udGVudHMgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET0NfVFlQRV9MSU5FX1NVRkZJWF9CT1VOREFSWTpcbiAgICAgICAgaWYgKGxpbmVTdWZmaXgyLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICBjbWRzLnB1c2goeyBpbmQsIG1vZGUsIGRvYzogaGFyZGxpbmVXaXRob3V0QnJlYWtQYXJlbnQgfSk7XG4gICAgICAgIH1cbiAgICAgICAgYnJlYWs7XG4gICAgICBjYXNlIERPQ19UWVBFX0xJTkU6XG4gICAgICAgIHN3aXRjaCAobW9kZSkge1xuICAgICAgICAgIGNhc2UgTU9ERV9GTEFUOlxuICAgICAgICAgICAgaWYgKCFkb2MzLmhhcmQpIHtcbiAgICAgICAgICAgICAgaWYgKCFkb2MzLnNvZnQpIHtcbiAgICAgICAgICAgICAgICBvdXQucHVzaChcIiBcIik7XG4gICAgICAgICAgICAgICAgcG9zMiArPSAxO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgc2hvdWxkUmVtZWFzdXJlID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAvLyBmYWxsdGhyb3VnaFxuICAgICAgICAgIGNhc2UgTU9ERV9CUkVBSzpcbiAgICAgICAgICAgIGlmIChsaW5lU3VmZml4Mi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgIGNtZHMucHVzaCh7IGluZCwgbW9kZSwgZG9jOiBkb2MzIH0sIC4uLmxpbmVTdWZmaXgyLnJldmVyc2UoKSk7XG4gICAgICAgICAgICAgIGxpbmVTdWZmaXgyLmxlbmd0aCA9IDA7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGRvYzMubGl0ZXJhbCkge1xuICAgICAgICAgICAgICBpZiAoaW5kLnJvb3QpIHtcbiAgICAgICAgICAgICAgICBvdXQucHVzaChuZXdMaW5lLCBpbmQucm9vdC52YWx1ZSk7XG4gICAgICAgICAgICAgICAgcG9zMiA9IGluZC5yb290Lmxlbmd0aDtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICBvdXQucHVzaChuZXdMaW5lKTtcbiAgICAgICAgICAgICAgICBwb3MyID0gMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgcG9zMiAtPSB0cmltKG91dCk7XG4gICAgICAgICAgICAgIG91dC5wdXNoKG5ld0xpbmUgKyBpbmQudmFsdWUpO1xuICAgICAgICAgICAgICBwb3MyID0gaW5kLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET0NfVFlQRV9MQUJFTDpcbiAgICAgICAgY21kcy5wdXNoKHsgaW5kLCBtb2RlLCBkb2M6IGRvYzMuY29udGVudHMgfSk7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSBET0NfVFlQRV9CUkVBS19QQVJFTlQ6XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhyb3cgbmV3IGludmFsaWRfZG9jX2Vycm9yX2RlZmF1bHQoZG9jMyk7XG4gICAgfVxuICAgIGlmIChjbWRzLmxlbmd0aCA9PT0gMCAmJiBsaW5lU3VmZml4Mi5sZW5ndGggPiAwKSB7XG4gICAgICBjbWRzLnB1c2goLi4ubGluZVN1ZmZpeDIucmV2ZXJzZSgpKTtcbiAgICAgIGxpbmVTdWZmaXgyLmxlbmd0aCA9IDA7XG4gICAgfVxuICB9XG4gIGNvbnN0IGN1cnNvclBsYWNlaG9sZGVySW5kZXggPSBvdXQuaW5kZXhPZihDVVJTT1JfUExBQ0VIT0xERVIpO1xuICBpZiAoY3Vyc29yUGxhY2Vob2xkZXJJbmRleCAhPT0gLTEpIHtcbiAgICBjb25zdCBvdGhlckN1cnNvclBsYWNlaG9sZGVySW5kZXggPSBvdXQuaW5kZXhPZihcbiAgICAgIENVUlNPUl9QTEFDRUhPTERFUixcbiAgICAgIGN1cnNvclBsYWNlaG9sZGVySW5kZXggKyAxXG4gICAgKTtcbiAgICBpZiAob3RoZXJDdXJzb3JQbGFjZWhvbGRlckluZGV4ID09PSAtMSkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZm9ybWF0dGVkOiBvdXQuZmlsdGVyKChjaGFyKSA9PiBjaGFyICE9PSBDVVJTT1JfUExBQ0VIT0xERVIpLmpvaW4oXCJcIilcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IGJlZm9yZUN1cnNvciA9IG91dC5zbGljZSgwLCBjdXJzb3JQbGFjZWhvbGRlckluZGV4KS5qb2luKFwiXCIpO1xuICAgIGNvbnN0IGFyb3VuZEN1cnNvciA9IG91dC5zbGljZShjdXJzb3JQbGFjZWhvbGRlckluZGV4ICsgMSwgb3RoZXJDdXJzb3JQbGFjZWhvbGRlckluZGV4KS5qb2luKFwiXCIpO1xuICAgIGNvbnN0IGFmdGVyQ3Vyc29yID0gb3V0LnNsaWNlKG90aGVyQ3Vyc29yUGxhY2Vob2xkZXJJbmRleCArIDEpLmpvaW4oXCJcIik7XG4gICAgcmV0dXJuIHtcbiAgICAgIGZvcm1hdHRlZDogYmVmb3JlQ3Vyc29yICsgYXJvdW5kQ3Vyc29yICsgYWZ0ZXJDdXJzb3IsXG4gICAgICBjdXJzb3JOb2RlU3RhcnQ6IGJlZm9yZUN1cnNvci5sZW5ndGgsXG4gICAgICBjdXJzb3JOb2RlVGV4dDogYXJvdW5kQ3Vyc29yXG4gICAgfTtcbiAgfVxuICByZXR1cm4geyBmb3JtYXR0ZWQ6IG91dC5qb2luKFwiXCIpIH07XG59XG5cbi8vIHNyYy91dGlscy9nZXQtYWxpZ25tZW50LXNpemUuanNcbmZ1bmN0aW9uIGdldEFsaWdubWVudFNpemUodGV4dCwgdGFiV2lkdGgsIHN0YXJ0SW5kZXggPSAwKSB7XG4gIGxldCBzaXplID0gMDtcbiAgZm9yIChsZXQgaSA9IHN0YXJ0SW5kZXg7IGkgPCB0ZXh0Lmxlbmd0aDsgKytpKSB7XG4gICAgaWYgKHRleHRbaV0gPT09IFwiXHRcIikge1xuICAgICAgc2l6ZSA9IHNpemUgKyB0YWJXaWR0aCAtIHNpemUgJSB0YWJXaWR0aDtcbiAgICB9IGVsc2Uge1xuICAgICAgc2l6ZSsrO1xuICAgIH1cbiAgfVxuICByZXR1cm4gc2l6ZTtcbn1cbnZhciBnZXRfYWxpZ25tZW50X3NpemVfZGVmYXVsdCA9IGdldEFsaWdubWVudFNpemU7XG5cbi8vIHNyYy9jb21tb24vYXN0LXBhdGguanNcbnZhciBfQXN0UGF0aF9pbnN0YW5jZXMsIGdldE5vZGVTdGFja0luZGV4X2ZuLCBnZXRBbmNlc3RvcnNfZm47XG52YXIgQXN0UGF0aCA9IGNsYXNzIHtcbiAgY29uc3RydWN0b3IodmFsdWUpIHtcbiAgICBfX3ByaXZhdGVBZGQodGhpcywgX0FzdFBhdGhfaW5zdGFuY2VzKTtcbiAgICB0aGlzLnN0YWNrID0gW3ZhbHVlXTtcbiAgfVxuICAvKiogQHR5cGUge3N0cmluZyB8IG51bGx9ICovXG4gIGdldCBrZXkoKSB7XG4gICAgY29uc3QgeyBzdGFjazogc3RhY2syLCBzaWJsaW5ncyB9ID0gdGhpcztcbiAgICByZXR1cm4gYXRfZGVmYXVsdChcbiAgICAgIC8qIGlzT3B0aW9uYWxPYmplY3QgKi9cbiAgICAgIGZhbHNlLFxuICAgICAgc3RhY2syLFxuICAgICAgc2libGluZ3MgPT09IG51bGwgPyAtMiA6IC00XG4gICAgKSA/PyBudWxsO1xuICB9XG4gIC8qKiBAdHlwZSB7bnVtYmVyIHwgbnVsbH0gKi9cbiAgZ2V0IGluZGV4KCkge1xuICAgIHJldHVybiB0aGlzLnNpYmxpbmdzID09PSBudWxsID8gbnVsbCA6IGF0X2RlZmF1bHQoXG4gICAgICAvKiBpc09wdGlvbmFsT2JqZWN0ICovXG4gICAgICBmYWxzZSxcbiAgICAgIHRoaXMuc3RhY2ssXG4gICAgICAtMlxuICAgICk7XG4gIH1cbiAgLyoqIEB0eXBlIHtvYmplY3R9ICovXG4gIGdldCBub2RlKCkge1xuICAgIHJldHVybiBhdF9kZWZhdWx0KFxuICAgICAgLyogaXNPcHRpb25hbE9iamVjdCAqL1xuICAgICAgZmFsc2UsXG4gICAgICB0aGlzLnN0YWNrLFxuICAgICAgLTFcbiAgICApO1xuICB9XG4gIC8qKiBAdHlwZSB7b2JqZWN0IHwgbnVsbH0gKi9cbiAgZ2V0IHBhcmVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5nZXROb2RlKDEpO1xuICB9XG4gIC8qKiBAdHlwZSB7b2JqZWN0IHwgbnVsbH0gKi9cbiAgZ2V0IGdyYW5kcGFyZW50KCkge1xuICAgIHJldHVybiB0aGlzLmdldE5vZGUoMik7XG4gIH1cbiAgLyoqIEB0eXBlIHtib29sZWFufSAqL1xuICBnZXQgaXNJbkFycmF5KCkge1xuICAgIHJldHVybiB0aGlzLnNpYmxpbmdzICE9PSBudWxsO1xuICB9XG4gIC8qKiBAdHlwZSB7b2JqZWN0W10gfCBudWxsfSAqL1xuICBnZXQgc2libGluZ3MoKSB7XG4gICAgY29uc3QgeyBzdGFjazogc3RhY2syIH0gPSB0aGlzO1xuICAgIGNvbnN0IG1heWJlQXJyYXkgPSBhdF9kZWZhdWx0KFxuICAgICAgLyogaXNPcHRpb25hbE9iamVjdCAqL1xuICAgICAgZmFsc2UsXG4gICAgICBzdGFjazIsXG4gICAgICAtM1xuICAgICk7XG4gICAgcmV0dXJuIEFycmF5LmlzQXJyYXkobWF5YmVBcnJheSkgPyBtYXliZUFycmF5IDogbnVsbDtcbiAgfVxuICAvKiogQHR5cGUge29iamVjdCB8IG51bGx9ICovXG4gIGdldCBuZXh0KCkge1xuICAgIGNvbnN0IHsgc2libGluZ3MgfSA9IHRoaXM7XG4gICAgcmV0dXJuIHNpYmxpbmdzID09PSBudWxsID8gbnVsbCA6IHNpYmxpbmdzW3RoaXMuaW5kZXggKyAxXTtcbiAgfVxuICAvKiogQHR5cGUge29iamVjdCB8IG51bGx9ICovXG4gIGdldCBwcmV2aW91cygpIHtcbiAgICBjb25zdCB7IHNpYmxpbmdzIH0gPSB0aGlzO1xuICAgIHJldHVybiBzaWJsaW5ncyA9PT0gbnVsbCA/IG51bGwgOiBzaWJsaW5nc1t0aGlzLmluZGV4IC0gMV07XG4gIH1cbiAgLyoqIEB0eXBlIHtib29sZWFufSAqL1xuICBnZXQgaXNGaXJzdCgpIHtcbiAgICByZXR1cm4gdGhpcy5pbmRleCA9PT0gMDtcbiAgfVxuICAvKiogQHR5cGUge2Jvb2xlYW59ICovXG4gIGdldCBpc0xhc3QoKSB7XG4gICAgY29uc3QgeyBzaWJsaW5ncywgaW5kZXggfSA9IHRoaXM7XG4gICAgcmV0dXJuIHNpYmxpbmdzICE9PSBudWxsICYmIGluZGV4ID09PSBzaWJsaW5ncy5sZW5ndGggLSAxO1xuICB9XG4gIC8qKiBAdHlwZSB7Ym9vbGVhbn0gKi9cbiAgZ2V0IGlzUm9vdCgpIHtcbiAgICByZXR1cm4gdGhpcy5zdGFjay5sZW5ndGggPT09IDE7XG4gIH1cbiAgLyoqIEB0eXBlIHtvYmplY3R9ICovXG4gIGdldCByb290KCkge1xuICAgIHJldHVybiB0aGlzLnN0YWNrWzBdO1xuICB9XG4gIC8qKiBAdHlwZSB7b2JqZWN0W119ICovXG4gIGdldCBhbmNlc3RvcnMoKSB7XG4gICAgcmV0dXJuIFsuLi5fX3ByaXZhdGVNZXRob2QodGhpcywgX0FzdFBhdGhfaW5zdGFuY2VzLCBnZXRBbmNlc3RvcnNfZm4pLmNhbGwodGhpcyldO1xuICB9XG4gIC8vIFRoZSBuYW1lIG9mIHRoZSBjdXJyZW50IHByb3BlcnR5IGlzIGFsd2F5cyB0aGUgcGVudWx0aW1hdGUgZWxlbWVudCBvZlxuICAvLyB0aGlzLnN0YWNrLCBhbmQgYWx3YXlzIGEgc3RyaW5nL251bWJlci9zeW1ib2wuXG4gIGdldE5hbWUoKSB7XG4gICAgY29uc3QgeyBzdGFjazogc3RhY2syIH0gPSB0aGlzO1xuICAgIGNvbnN0IHsgbGVuZ3RoIH0gPSBzdGFjazI7XG4gICAgaWYgKGxlbmd0aCA+IDEpIHtcbiAgICAgIHJldHVybiBhdF9kZWZhdWx0KFxuICAgICAgICAvKiBpc09wdGlvbmFsT2JqZWN0ICovXG4gICAgICAgIGZhbHNlLFxuICAgICAgICBzdGFjazIsXG4gICAgICAgIC0yXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBUaGUgdmFsdWUgb2YgdGhlIGN1cnJlbnQgcHJvcGVydHkgaXMgYWx3YXlzIHRoZSBmaW5hbCBlbGVtZW50IG9mXG4gIC8vIHRoaXMuc3RhY2suXG4gIGdldFZhbHVlKCkge1xuICAgIHJldHVybiBhdF9kZWZhdWx0KFxuICAgICAgLyogaXNPcHRpb25hbE9iamVjdCAqL1xuICAgICAgZmFsc2UsXG4gICAgICB0aGlzLnN0YWNrLFxuICAgICAgLTFcbiAgICApO1xuICB9XG4gIGdldE5vZGUoY291bnQgPSAwKSB7XG4gICAgY29uc3Qgc3RhY2tJbmRleCA9IF9fcHJpdmF0ZU1ldGhvZCh0aGlzLCBfQXN0UGF0aF9pbnN0YW5jZXMsIGdldE5vZGVTdGFja0luZGV4X2ZuKS5jYWxsKHRoaXMsIGNvdW50KTtcbiAgICByZXR1cm4gc3RhY2tJbmRleCA9PT0gLTEgPyBudWxsIDogdGhpcy5zdGFja1tzdGFja0luZGV4XTtcbiAgfVxuICBnZXRQYXJlbnROb2RlKGNvdW50ID0gMCkge1xuICAgIHJldHVybiB0aGlzLmdldE5vZGUoY291bnQgKyAxKTtcbiAgfVxuICAvLyBUZW1wb3JhcmlseSBwdXNoIHByb3BlcnRpZXMgbmFtZWQgYnkgc3RyaW5nIGFyZ3VtZW50cyBnaXZlbiBhZnRlciB0aGVcbiAgLy8gY2FsbGJhY2sgZnVuY3Rpb24gb250byB0aGlzLnN0YWNrLCB0aGVuIGNhbGwgdGhlIGNhbGxiYWNrIHdpdGggYVxuICAvLyByZWZlcmVuY2UgdG8gdGhpcyAobW9kaWZpZWQpIEFzdFBhdGggb2JqZWN0LiBOb3RlIHRoYXQgdGhlIHN0YWNrIHdpbGxcbiAgLy8gYmUgcmVzdG9yZWQgdG8gaXRzIG9yaWdpbmFsIHN0YXRlIGFmdGVyIHRoZSBjYWxsYmFjayBpcyBmaW5pc2hlZCwgc28gaXRcbiAgLy8gaXMgcHJvYmFibHkgYSBtaXN0YWtlIHRvIHJldGFpbiBhIHJlZmVyZW5jZSB0byB0aGUgcGF0aC5cbiAgY2FsbChjYWxsYmFjaywgLi4ubmFtZXMpIHtcbiAgICBjb25zdCB7IHN0YWNrOiBzdGFjazIgfSA9IHRoaXM7XG4gICAgY29uc3QgeyBsZW5ndGggfSA9IHN0YWNrMjtcbiAgICBsZXQgdmFsdWUgPSBhdF9kZWZhdWx0KFxuICAgICAgLyogaXNPcHRpb25hbE9iamVjdCAqL1xuICAgICAgZmFsc2UsXG4gICAgICBzdGFjazIsXG4gICAgICAtMVxuICAgICk7XG4gICAgZm9yIChjb25zdCBuYW1lIG9mIG5hbWVzKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlW25hbWVdO1xuICAgICAgc3RhY2syLnB1c2gobmFtZSwgdmFsdWUpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGNhbGxiYWNrKHRoaXMpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBzdGFjazIubGVuZ3RoID0gbGVuZ3RoO1xuICAgIH1cbiAgfVxuICAvKipcbiAgICogQHRlbXBsYXRlIHsocGF0aDogQXN0UGF0aCkgPT4gYW55fSBUXG4gICAqIEBwYXJhbSB7VH0gY2FsbGJhY2tcbiAgICogQHBhcmFtIHtudW1iZXJ9IFtjb3VudD0wXVxuICAgKiBAcmV0dXJucyB7UmV0dXJuVHlwZTxUPn1cbiAgICovXG4gIGNhbGxQYXJlbnQoY2FsbGJhY2ssIGNvdW50ID0gMCkge1xuICAgIGNvbnN0IHN0YWNrSW5kZXggPSBfX3ByaXZhdGVNZXRob2QodGhpcywgX0FzdFBhdGhfaW5zdGFuY2VzLCBnZXROb2RlU3RhY2tJbmRleF9mbikuY2FsbCh0aGlzLCBjb3VudCArIDEpO1xuICAgIGNvbnN0IHBhcmVudFZhbHVlcyA9IHRoaXMuc3RhY2suc3BsaWNlKHN0YWNrSW5kZXggKyAxKTtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGNhbGxiYWNrKHRoaXMpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLnN0YWNrLnB1c2goLi4ucGFyZW50VmFsdWVzKTtcbiAgICB9XG4gIH1cbiAgLy8gU2ltaWxhciB0byBBc3RQYXRoLnByb3RvdHlwZS5jYWxsLCBleGNlcHQgdGhhdCB0aGUgdmFsdWUgb2J0YWluZWQgYnlcbiAgLy8gYWNjZXNzaW5nIHRoaXMuZ2V0VmFsdWUoKVtuYW1lMV1bbmFtZTJdLi4uIHNob3VsZCBiZSBhcnJheS4gVGhlXG4gIC8vIGNhbGxiYWNrIHdpbGwgYmUgY2FsbGVkIHdpdGggYSByZWZlcmVuY2UgdG8gdGhpcyBwYXRoIG9iamVjdCBmb3IgZWFjaFxuICAvLyBlbGVtZW50IG9mIHRoZSBhcnJheS5cbiAgZWFjaChjYWxsYmFjaywgLi4ubmFtZXMpIHtcbiAgICBjb25zdCB7IHN0YWNrOiBzdGFjazIgfSA9IHRoaXM7XG4gICAgY29uc3QgeyBsZW5ndGggfSA9IHN0YWNrMjtcbiAgICBsZXQgdmFsdWUgPSBhdF9kZWZhdWx0KFxuICAgICAgLyogaXNPcHRpb25hbE9iamVjdCAqL1xuICAgICAgZmFsc2UsXG4gICAgICBzdGFjazIsXG4gICAgICAtMVxuICAgICk7XG4gICAgZm9yIChjb25zdCBuYW1lIG9mIG5hbWVzKSB7XG4gICAgICB2YWx1ZSA9IHZhbHVlW25hbWVdO1xuICAgICAgc3RhY2syLnB1c2gobmFtZSwgdmFsdWUpO1xuICAgIH1cbiAgICB0cnkge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB2YWx1ZS5sZW5ndGg7ICsraSkge1xuICAgICAgICBzdGFjazIucHVzaChpLCB2YWx1ZVtpXSk7XG4gICAgICAgIGNhbGxiYWNrKHRoaXMsIGksIHZhbHVlKTtcbiAgICAgICAgc3RhY2syLmxlbmd0aCAtPSAyO1xuICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICBzdGFjazIubGVuZ3RoID0gbGVuZ3RoO1xuICAgIH1cbiAgfVxuICAvLyBTaW1pbGFyIHRvIEFzdFBhdGgucHJvdG90eXBlLmVhY2gsIGV4Y2VwdCB0aGF0IHRoZSByZXN1bHRzIG9mIHRoZVxuICAvLyBjYWxsYmFjayBmdW5jdGlvbiBpbnZvY2F0aW9ucyBhcmUgc3RvcmVkIGluIGFuIGFycmF5IGFuZCByZXR1cm5lZCBhdFxuICAvLyB0aGUgZW5kIG9mIHRoZSBpdGVyYXRpb24uXG4gIG1hcChjYWxsYmFjaywgLi4ubmFtZXMpIHtcbiAgICBjb25zdCByZXN1bHQgPSBbXTtcbiAgICB0aGlzLmVhY2goXG4gICAgICAocGF0aDEzLCBpbmRleCwgdmFsdWUpID0+IHtcbiAgICAgICAgcmVzdWx0W2luZGV4XSA9IGNhbGxiYWNrKHBhdGgxMywgaW5kZXgsIHZhbHVlKTtcbiAgICAgIH0sXG4gICAgICAuLi5uYW1lc1xuICAgICk7XG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuICAvKipcbiAgICogQHBhcmFtIHsuLi4oXG4gICAqICAgfCAoKG5vZGU6IGFueSwgbmFtZTogc3RyaW5nIHwgbnVsbCwgbnVtYmVyOiBudW1iZXIgfCBudWxsKSA9PiBib29sZWFuKVxuICAgKiAgIHwgdW5kZWZpbmVkXG4gICAqICl9IHByZWRpY2F0ZXNcbiAgICovXG4gIG1hdGNoKC4uLnByZWRpY2F0ZXMpIHtcbiAgICBsZXQgc3RhY2tQb2ludGVyID0gdGhpcy5zdGFjay5sZW5ndGggLSAxO1xuICAgIGxldCBuYW1lID0gbnVsbDtcbiAgICBsZXQgbm9kZSA9IHRoaXMuc3RhY2tbc3RhY2tQb2ludGVyLS1dO1xuICAgIGZvciAoY29uc3QgcHJlZGljYXRlIG9mIHByZWRpY2F0ZXMpIHtcbiAgICAgIGlmIChub2RlID09PSB2b2lkIDApIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgbGV0IG51bWJlciA9IG51bGw7XG4gICAgICBpZiAodHlwZW9mIG5hbWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICAgICAgbnVtYmVyID0gbmFtZTtcbiAgICAgICAgbmFtZSA9IHRoaXMuc3RhY2tbc3RhY2tQb2ludGVyLS1dO1xuICAgICAgICBub2RlID0gdGhpcy5zdGFja1tzdGFja1BvaW50ZXItLV07XG4gICAgICB9XG4gICAgICBpZiAocHJlZGljYXRlICYmICFwcmVkaWNhdGUobm9kZSwgbmFtZSwgbnVtYmVyKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICBuYW1lID0gdGhpcy5zdGFja1tzdGFja1BvaW50ZXItLV07XG4gICAgICBub2RlID0gdGhpcy5zdGFja1tzdGFja1BvaW50ZXItLV07XG4gICAgfVxuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIC8qKlxuICAgKiBUcmF2ZXJzZXMgdGhlIGFuY2VzdG9ycyBvZiB0aGUgY3VycmVudCBub2RlIGhlYWRpbmcgdG93YXJkIHRoZSB0cmVlIHJvb3RcbiAgICogdW50aWwgaXQgZmluZHMgYSBub2RlIHRoYXQgbWF0Y2hlcyB0aGUgcHJvdmlkZWQgcHJlZGljYXRlIGZ1bmN0aW9uLiBXaWxsXG4gICAqIHJldHVybiB0aGUgZmlyc3QgbWF0Y2hpbmcgYW5jZXN0b3IuIElmIG5vIHN1Y2ggbm9kZSBleGlzdHMsIHJldHVybnMgdW5kZWZpbmVkLlxuICAgKiBAcGFyYW0geyhub2RlOiBhbnkpID0+IGJvb2xlYW59IHByZWRpY2F0ZVxuICAgKiBAaW50ZXJuYWwgVW5zdGFibGUgQVBJLiBEb24ndCB1c2UgaW4gcGx1Z2lucyBmb3Igbm93LlxuICAgKi9cbiAgZmluZEFuY2VzdG9yKHByZWRpY2F0ZSkge1xuICAgIGZvciAoY29uc3Qgbm9kZSBvZiBfX3ByaXZhdGVNZXRob2QodGhpcywgX0FzdFBhdGhfaW5zdGFuY2VzLCBnZXRBbmNlc3RvcnNfZm4pLmNhbGwodGhpcykpIHtcbiAgICAgIGlmIChwcmVkaWNhdGUobm9kZSkpIHtcbiAgICAgICAgcmV0dXJuIG5vZGU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiBUcmF2ZXJzZXMgdGhlIGFuY2VzdG9ycyBvZiB0aGUgY3VycmVudCBub2RlIGhlYWRpbmcgdG93YXJkIHRoZSB0cmVlIHJvb3RcbiAgICogdW50aWwgaXQgZmluZHMgYSBub2RlIHRoYXQgbWF0Y2hlcyB0aGUgcHJvdmlkZWQgcHJlZGljYXRlIGZ1bmN0aW9uLlxuICAgKiByZXR1cm5zIHRydWUgaWYgbWF0Y2hlZCBub2RlIGZvdW5kLlxuICAgKiBAcGFyYW0geyhub2RlOiBhbnkpID0+IGJvb2xlYW59IHByZWRpY2F0ZVxuICAgKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAgICogQGludGVybmFsIFVuc3RhYmxlIEFQSS4gRG9uJ3QgdXNlIGluIHBsdWdpbnMgZm9yIG5vdy5cbiAgICovXG4gIGhhc0FuY2VzdG9yKHByZWRpY2F0ZSkge1xuICAgIGZvciAoY29uc3Qgbm9kZSBvZiBfX3ByaXZhdGVNZXRob2QodGhpcywgX0FzdFBhdGhfaW5zdGFuY2VzLCBnZXRBbmNlc3RvcnNfZm4pLmNhbGwodGhpcykpIHtcbiAgICAgIGlmIChwcmVkaWNhdGUobm9kZSkpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufTtcbl9Bc3RQYXRoX2luc3RhbmNlcyA9IG5ldyBXZWFrU2V0KCk7XG5nZXROb2RlU3RhY2tJbmRleF9mbiA9IGZ1bmN0aW9uKGNvdW50KSB7XG4gIGNvbnN0IHsgc3RhY2s6IHN0YWNrMiB9ID0gdGhpcztcbiAgZm9yIChsZXQgaSA9IHN0YWNrMi5sZW5ndGggLSAxOyBpID49IDA7IGkgLT0gMikge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShzdGFjazJbaV0pICYmIC0tY291bnQgPCAwKSB7XG4gICAgICByZXR1cm4gaTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIC0xO1xufTtcbmdldEFuY2VzdG9yc19mbiA9IGZ1bmN0aW9uKiAoKSB7XG4gIGNvbnN0IHsgc3RhY2s6IHN0YWNrMiB9ID0gdGhpcztcbiAgZm9yIChsZXQgaW5kZXggPSBzdGFjazIubGVuZ3RoIC0gMzsgaW5kZXggPj0gMDsgaW5kZXggLT0gMikge1xuICAgIGNvbnN0IHZhbHVlID0gc3RhY2syW2luZGV4XTtcbiAgICBpZiAoIUFycmF5LmlzQXJyYXkodmFsdWUpKSB7XG4gICAgICB5aWVsZCB2YWx1ZTtcbiAgICB9XG4gIH1cbn07XG52YXIgYXN0X3BhdGhfZGVmYXVsdCA9IEFzdFBhdGg7XG5cbi8vIHNyYy9tYWluL2NvbW1lbnRzL2F0dGFjaC5qc1xuaW1wb3J0IGFzc2VydDQgZnJvbSBcImFzc2VydFwiO1xuXG4vLyBzcmMvdXRpbHMvaXMtb2JqZWN0LmpzXG5mdW5jdGlvbiBpc09iamVjdDIob2JqZWN0KSB7XG4gIHJldHVybiBvYmplY3QgIT09IG51bGwgJiYgdHlwZW9mIG9iamVjdCA9PT0gXCJvYmplY3RcIjtcbn1cbnZhciBpc19vYmplY3RfZGVmYXVsdCA9IGlzT2JqZWN0MjtcblxuLy8gc3JjL3V0aWxzL2FzdC11dGlscy5qc1xuZnVuY3Rpb24qIGdldENoaWxkcmVuKG5vZGUsIG9wdGlvbnM4KSB7XG4gIGNvbnN0IHsgZ2V0VmlzaXRvcktleXMsIGZpbHRlcjogZmlsdGVyMiA9ICgpID0+IHRydWUgfSA9IG9wdGlvbnM4O1xuICBjb25zdCBpc01hdGNoZWROb2RlID0gKG5vZGUyKSA9PiBpc19vYmplY3RfZGVmYXVsdChub2RlMikgJiYgZmlsdGVyMihub2RlMik7XG4gIGZvciAoY29uc3Qga2V5MiBvZiBnZXRWaXNpdG9yS2V5cyhub2RlKSkge1xuICAgIGNvbnN0IHZhbHVlID0gbm9kZVtrZXkyXTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdmFsdWUpIHtcbiAgICAgICAgaWYgKGlzTWF0Y2hlZE5vZGUoY2hpbGQpKSB7XG4gICAgICAgICAgeWllbGQgY2hpbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGlzTWF0Y2hlZE5vZGUodmFsdWUpKSB7XG4gICAgICB5aWVsZCB2YWx1ZTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uKiBnZXREZXNjZW5kYW50cyhub2RlLCBvcHRpb25zOCkge1xuICBjb25zdCBxdWV1ZSA9IFtub2RlXTtcbiAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHF1ZXVlLmxlbmd0aDsgaW5kZXgrKykge1xuICAgIGNvbnN0IG5vZGUyID0gcXVldWVbaW5kZXhdO1xuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgZ2V0Q2hpbGRyZW4obm9kZTIsIG9wdGlvbnM4KSkge1xuICAgICAgeWllbGQgY2hpbGQ7XG4gICAgICBxdWV1ZS5wdXNoKGNoaWxkKTtcbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIGlzTGVhZihub2RlLCBvcHRpb25zOCkge1xuICByZXR1cm4gZ2V0Q2hpbGRyZW4obm9kZSwgb3B0aW9uczgpLm5leHQoKS5kb25lO1xufVxuXG4vLyBzcmMvdXRpbHMvc2tpcC5qc1xuZnVuY3Rpb24gc2tpcChjaGFyYWN0ZXJzKSB7XG4gIHJldHVybiAodGV4dCwgc3RhcnRJbmRleCwgb3B0aW9uczgpID0+IHtcbiAgICBjb25zdCBiYWNrd2FyZHMgPSBCb29sZWFuKG9wdGlvbnM4ID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zOC5iYWNrd2FyZHMpO1xuICAgIGlmIChzdGFydEluZGV4ID09PSBmYWxzZSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCB7IGxlbmd0aCB9ID0gdGV4dDtcbiAgICBsZXQgY3Vyc29yMiA9IHN0YXJ0SW5kZXg7XG4gICAgd2hpbGUgKGN1cnNvcjIgPj0gMCAmJiBjdXJzb3IyIDwgbGVuZ3RoKSB7XG4gICAgICBjb25zdCBjaGFyYWN0ZXIgPSB0ZXh0LmNoYXJBdChjdXJzb3IyKTtcbiAgICAgIGlmIChjaGFyYWN0ZXJzIGluc3RhbmNlb2YgUmVnRXhwKSB7XG4gICAgICAgIGlmICghY2hhcmFjdGVycy50ZXN0KGNoYXJhY3RlcikpIHtcbiAgICAgICAgICByZXR1cm4gY3Vyc29yMjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIGlmICghY2hhcmFjdGVycy5pbmNsdWRlcyhjaGFyYWN0ZXIpKSB7XG4gICAgICAgIHJldHVybiBjdXJzb3IyO1xuICAgICAgfVxuICAgICAgYmFja3dhcmRzID8gY3Vyc29yMi0tIDogY3Vyc29yMisrO1xuICAgIH1cbiAgICBpZiAoY3Vyc29yMiA9PT0gLTEgfHwgY3Vyc29yMiA9PT0gbGVuZ3RoKSB7XG4gICAgICByZXR1cm4gY3Vyc29yMjtcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xufVxudmFyIHNraXBXaGl0ZXNwYWNlID0gc2tpcCgvXFxzL3UpO1xudmFyIHNraXBTcGFjZXMgPSBza2lwKFwiIFx0XCIpO1xudmFyIHNraXBUb0xpbmVFbmQgPSBza2lwKFwiLDsgXHRcIik7XG52YXIgc2tpcEV2ZXJ5dGhpbmdCdXROZXdMaW5lID0gc2tpcCgvW15cXG5cXHJdL3UpO1xuXG4vLyBzcmMvdXRpbHMvc2tpcC1uZXdsaW5lLmpzXG5mdW5jdGlvbiBza2lwTmV3bGluZSh0ZXh0LCBzdGFydEluZGV4LCBvcHRpb25zOCkge1xuICBjb25zdCBiYWNrd2FyZHMgPSBCb29sZWFuKG9wdGlvbnM4ID09IG51bGwgPyB2b2lkIDAgOiBvcHRpb25zOC5iYWNrd2FyZHMpO1xuICBpZiAoc3RhcnRJbmRleCA9PT0gZmFsc2UpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgY29uc3QgY2hhcmFjdGVyID0gdGV4dC5jaGFyQXQoc3RhcnRJbmRleCk7XG4gIGlmIChiYWNrd2FyZHMpIHtcbiAgICBpZiAodGV4dC5jaGFyQXQoc3RhcnRJbmRleCAtIDEpID09PSBcIlxcclwiICYmIGNoYXJhY3RlciA9PT0gXCJcXG5cIikge1xuICAgICAgcmV0dXJuIHN0YXJ0SW5kZXggLSAyO1xuICAgIH1cbiAgICBpZiAoY2hhcmFjdGVyID09PSBcIlxcblwiIHx8IGNoYXJhY3RlciA9PT0gXCJcXHJcIiB8fCBjaGFyYWN0ZXIgPT09IFwiXFx1MjAyOFwiIHx8IGNoYXJhY3RlciA9PT0gXCJcXHUyMDI5XCIpIHtcbiAgICAgIHJldHVybiBzdGFydEluZGV4IC0gMTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgaWYgKGNoYXJhY3RlciA9PT0gXCJcXHJcIiAmJiB0ZXh0LmNoYXJBdChzdGFydEluZGV4ICsgMSkgPT09IFwiXFxuXCIpIHtcbiAgICAgIHJldHVybiBzdGFydEluZGV4ICsgMjtcbiAgICB9XG4gICAgaWYgKGNoYXJhY3RlciA9PT0gXCJcXG5cIiB8fCBjaGFyYWN0ZXIgPT09IFwiXFxyXCIgfHwgY2hhcmFjdGVyID09PSBcIlxcdTIwMjhcIiB8fCBjaGFyYWN0ZXIgPT09IFwiXFx1MjAyOVwiKSB7XG4gICAgICByZXR1cm4gc3RhcnRJbmRleCArIDE7XG4gICAgfVxuICB9XG4gIHJldHVybiBzdGFydEluZGV4O1xufVxudmFyIHNraXBfbmV3bGluZV9kZWZhdWx0ID0gc2tpcE5ld2xpbmU7XG5cbi8vIHNyYy91dGlscy9oYXMtbmV3bGluZS5qc1xuZnVuY3Rpb24gaGFzTmV3bGluZSh0ZXh0LCBzdGFydEluZGV4LCBvcHRpb25zOCA9IHt9KSB7XG4gIGNvbnN0IGlkeCA9IHNraXBTcGFjZXMoXG4gICAgdGV4dCxcbiAgICBvcHRpb25zOC5iYWNrd2FyZHMgPyBzdGFydEluZGV4IC0gMSA6IHN0YXJ0SW5kZXgsXG4gICAgb3B0aW9uczhcbiAgKTtcbiAgY29uc3QgaWR4MiA9IHNraXBfbmV3bGluZV9kZWZhdWx0KHRleHQsIGlkeCwgb3B0aW9uczgpO1xuICByZXR1cm4gaWR4ICE9PSBpZHgyO1xufVxudmFyIGhhc19uZXdsaW5lX2RlZmF1bHQgPSBoYXNOZXdsaW5lO1xuXG4vLyBzcmMvdXRpbHMvaXMtbm9uLWVtcHR5LWFycmF5LmpzXG5mdW5jdGlvbiBpc05vbkVtcHR5QXJyYXkob2JqZWN0KSB7XG4gIHJldHVybiBBcnJheS5pc0FycmF5KG9iamVjdCkgJiYgb2JqZWN0Lmxlbmd0aCA+IDA7XG59XG52YXIgaXNfbm9uX2VtcHR5X2FycmF5X2RlZmF1bHQgPSBpc05vbkVtcHR5QXJyYXk7XG5cbi8vIHNyYy9tYWluL2NyZWF0ZS1nZXQtdmlzaXRvci1rZXlzLWZ1bmN0aW9uLmpzXG52YXIgbm9uVHJhdmVyc2FibGVLZXlzID0gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoW1xuICBcInRva2Vuc1wiLFxuICBcImNvbW1lbnRzXCIsXG4gIFwicGFyZW50XCIsXG4gIFwiZW5jbG9zaW5nTm9kZVwiLFxuICBcInByZWNlZGluZ05vZGVcIixcbiAgXCJmb2xsb3dpbmdOb2RlXCJcbl0pO1xudmFyIGRlZmF1bHRHZXRWaXNpdG9yS2V5cyA9IChub2RlKSA9PiBPYmplY3Qua2V5cyhub2RlKS5maWx0ZXIoKGtleTIpID0+ICFub25UcmF2ZXJzYWJsZUtleXMuaGFzKGtleTIpKTtcbmZ1bmN0aW9uIGNyZWF0ZUdldFZpc2l0b3JLZXlzRnVuY3Rpb24ocHJpbnRlckdldFZpc2l0b3JLZXlzKSB7XG4gIHJldHVybiBwcmludGVyR2V0VmlzaXRvcktleXMgPyAobm9kZSkgPT4gcHJpbnRlckdldFZpc2l0b3JLZXlzKG5vZGUsIG5vblRyYXZlcnNhYmxlS2V5cykgOiBkZWZhdWx0R2V0VmlzaXRvcktleXM7XG59XG52YXIgY3JlYXRlX2dldF92aXNpdG9yX2tleXNfZnVuY3Rpb25fZGVmYXVsdCA9IGNyZWF0ZUdldFZpc2l0b3JLZXlzRnVuY3Rpb247XG5cbi8vIHNyYy9tYWluL2NvbW1lbnRzL3V0aWxzLmpzXG5mdW5jdGlvbiBkZXNjcmliZU5vZGVGb3JEZWJ1Z2dpbmcobm9kZSkge1xuICBjb25zdCBub2RlVHlwZSA9IG5vZGUudHlwZSB8fCBub2RlLmtpbmQgfHwgXCIodW5rbm93biB0eXBlKVwiO1xuICBsZXQgbm9kZU5hbWUgPSBTdHJpbmcoXG4gICAgbm9kZS5uYW1lIHx8IG5vZGUuaWQgJiYgKHR5cGVvZiBub2RlLmlkID09PSBcIm9iamVjdFwiID8gbm9kZS5pZC5uYW1lIDogbm9kZS5pZCkgfHwgbm9kZS5rZXkgJiYgKHR5cGVvZiBub2RlLmtleSA9PT0gXCJvYmplY3RcIiA/IG5vZGUua2V5Lm5hbWUgOiBub2RlLmtleSkgfHwgbm9kZS52YWx1ZSAmJiAodHlwZW9mIG5vZGUudmFsdWUgPT09IFwib2JqZWN0XCIgPyBcIlwiIDogU3RyaW5nKG5vZGUudmFsdWUpKSB8fCBub2RlLm9wZXJhdG9yIHx8IFwiXCJcbiAgKTtcbiAgaWYgKG5vZGVOYW1lLmxlbmd0aCA+IDIwKSB7XG4gICAgbm9kZU5hbWUgPSBub2RlTmFtZS5zbGljZSgwLCAxOSkgKyBcIlxcdTIwMjZcIjtcbiAgfVxuICByZXR1cm4gbm9kZVR5cGUgKyAobm9kZU5hbWUgPyBcIiBcIiArIG5vZGVOYW1lIDogXCJcIik7XG59XG5mdW5jdGlvbiBhZGRDb21tZW50SGVscGVyKG5vZGUsIGNvbW1lbnQpIHtcbiAgY29uc3QgY29tbWVudHMgPSBub2RlLmNvbW1lbnRzID8/IChub2RlLmNvbW1lbnRzID0gW10pO1xuICBjb21tZW50cy5wdXNoKGNvbW1lbnQpO1xuICBjb21tZW50LnByaW50ZWQgPSBmYWxzZTtcbiAgY29tbWVudC5ub2RlRGVzY3JpcHRpb24gPSBkZXNjcmliZU5vZGVGb3JEZWJ1Z2dpbmcobm9kZSk7XG59XG5mdW5jdGlvbiBhZGRMZWFkaW5nQ29tbWVudChub2RlLCBjb21tZW50KSB7XG4gIGNvbW1lbnQubGVhZGluZyA9IHRydWU7XG4gIGNvbW1lbnQudHJhaWxpbmcgPSBmYWxzZTtcbiAgYWRkQ29tbWVudEhlbHBlcihub2RlLCBjb21tZW50KTtcbn1cbmZ1bmN0aW9uIGFkZERhbmdsaW5nQ29tbWVudChub2RlLCBjb21tZW50LCBtYXJrZXIpIHtcbiAgY29tbWVudC5sZWFkaW5nID0gZmFsc2U7XG4gIGNvbW1lbnQudHJhaWxpbmcgPSBmYWxzZTtcbiAgaWYgKG1hcmtlcikge1xuICAgIGNvbW1lbnQubWFya2VyID0gbWFya2VyO1xuICB9XG4gIGFkZENvbW1lbnRIZWxwZXIobm9kZSwgY29tbWVudCk7XG59XG5mdW5jdGlvbiBhZGRUcmFpbGluZ0NvbW1lbnQobm9kZSwgY29tbWVudCkge1xuICBjb21tZW50LmxlYWRpbmcgPSBmYWxzZTtcbiAgY29tbWVudC50cmFpbGluZyA9IHRydWU7XG4gIGFkZENvbW1lbnRIZWxwZXIobm9kZSwgY29tbWVudCk7XG59XG5cbi8vIHNyYy9tYWluL2NvbW1lbnRzL2F0dGFjaC5qc1xudmFyIGNoaWxkTm9kZXNDYWNoZSA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgV2Vha01hcCgpO1xuZnVuY3Rpb24gZ2V0U29ydGVkQ2hpbGROb2Rlcyhub2RlLCBvcHRpb25zOCkge1xuICBpZiAoY2hpbGROb2Rlc0NhY2hlLmhhcyhub2RlKSkge1xuICAgIHJldHVybiBjaGlsZE5vZGVzQ2FjaGUuZ2V0KG5vZGUpO1xuICB9XG4gIGNvbnN0IHtcbiAgICBwcmludGVyOiB7XG4gICAgICBnZXRDb21tZW50Q2hpbGROb2RlcyxcbiAgICAgIGNhbkF0dGFjaENvbW1lbnQsXG4gICAgICBnZXRWaXNpdG9yS2V5czogcHJpbnRlckdldFZpc2l0b3JLZXlzXG4gICAgfSxcbiAgICBsb2NTdGFydCxcbiAgICBsb2NFbmRcbiAgfSA9IG9wdGlvbnM4O1xuICBpZiAoIWNhbkF0dGFjaENvbW1lbnQpIHtcbiAgICByZXR1cm4gW107XG4gIH1cbiAgY29uc3QgY2hpbGROb2RlcyA9ICgoZ2V0Q29tbWVudENoaWxkTm9kZXMgPT0gbnVsbCA/IHZvaWQgMCA6IGdldENvbW1lbnRDaGlsZE5vZGVzKG5vZGUsIG9wdGlvbnM4KSkgPz8gW1xuICAgIC4uLmdldENoaWxkcmVuKG5vZGUsIHtcbiAgICAgIGdldFZpc2l0b3JLZXlzOiBjcmVhdGVfZ2V0X3Zpc2l0b3Jfa2V5c19mdW5jdGlvbl9kZWZhdWx0KHByaW50ZXJHZXRWaXNpdG9yS2V5cylcbiAgICB9KVxuICBdKS5mbGF0TWFwKFxuICAgIChub2RlMikgPT4gY2FuQXR0YWNoQ29tbWVudChub2RlMikgPyBbbm9kZTJdIDogZ2V0U29ydGVkQ2hpbGROb2Rlcyhub2RlMiwgb3B0aW9uczgpXG4gICk7XG4gIGNoaWxkTm9kZXMuc29ydChcbiAgICAobm9kZUEsIG5vZGVCKSA9PiBsb2NTdGFydChub2RlQSkgLSBsb2NTdGFydChub2RlQikgfHwgbG9jRW5kKG5vZGVBKSAtIGxvY0VuZChub2RlQilcbiAgKTtcbiAgY2hpbGROb2Rlc0NhY2hlLnNldChub2RlLCBjaGlsZE5vZGVzKTtcbiAgcmV0dXJuIGNoaWxkTm9kZXM7XG59XG5mdW5jdGlvbiBkZWNvcmF0ZUNvbW1lbnQobm9kZSwgY29tbWVudCwgb3B0aW9uczgsIGVuY2xvc2luZ05vZGUpIHtcbiAgY29uc3QgeyBsb2NTdGFydCwgbG9jRW5kIH0gPSBvcHRpb25zODtcbiAgY29uc3QgY29tbWVudFN0YXJ0ID0gbG9jU3RhcnQoY29tbWVudCk7XG4gIGNvbnN0IGNvbW1lbnRFbmQgPSBsb2NFbmQoY29tbWVudCk7XG4gIGNvbnN0IGNoaWxkTm9kZXMgPSBnZXRTb3J0ZWRDaGlsZE5vZGVzKG5vZGUsIG9wdGlvbnM4KTtcbiAgbGV0IHByZWNlZGluZ05vZGU7XG4gIGxldCBmb2xsb3dpbmdOb2RlO1xuICBsZXQgbGVmdCA9IDA7XG4gIGxldCByaWdodCA9IGNoaWxkTm9kZXMubGVuZ3RoO1xuICB3aGlsZSAobGVmdCA8IHJpZ2h0KSB7XG4gICAgY29uc3QgbWlkZGxlID0gbGVmdCArIHJpZ2h0ID4+IDE7XG4gICAgY29uc3QgY2hpbGQgPSBjaGlsZE5vZGVzW21pZGRsZV07XG4gICAgY29uc3Qgc3RhcnQgPSBsb2NTdGFydChjaGlsZCk7XG4gICAgY29uc3QgZW5kID0gbG9jRW5kKGNoaWxkKTtcbiAgICBpZiAoc3RhcnQgPD0gY29tbWVudFN0YXJ0ICYmIGNvbW1lbnRFbmQgPD0gZW5kKSB7XG4gICAgICByZXR1cm4gZGVjb3JhdGVDb21tZW50KGNoaWxkLCBjb21tZW50LCBvcHRpb25zOCwgY2hpbGQpO1xuICAgIH1cbiAgICBpZiAoZW5kIDw9IGNvbW1lbnRTdGFydCkge1xuICAgICAgcHJlY2VkaW5nTm9kZSA9IGNoaWxkO1xuICAgICAgbGVmdCA9IG1pZGRsZSArIDE7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKGNvbW1lbnRFbmQgPD0gc3RhcnQpIHtcbiAgICAgIGZvbGxvd2luZ05vZGUgPSBjaGlsZDtcbiAgICAgIHJpZ2h0ID0gbWlkZGxlO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIHRocm93IG5ldyBFcnJvcihcIkNvbW1lbnQgbG9jYXRpb24gb3ZlcmxhcHMgd2l0aCBub2RlIGxvY2F0aW9uXCIpO1xuICB9XG4gIGlmICgoZW5jbG9zaW5nTm9kZSA9PSBudWxsID8gdm9pZCAwIDogZW5jbG9zaW5nTm9kZS50eXBlKSA9PT0gXCJUZW1wbGF0ZUxpdGVyYWxcIikge1xuICAgIGNvbnN0IHsgcXVhc2lzIH0gPSBlbmNsb3NpbmdOb2RlO1xuICAgIGNvbnN0IGNvbW1lbnRJbmRleCA9IGZpbmRFeHByZXNzaW9uSW5kZXhGb3JDb21tZW50KFxuICAgICAgcXVhc2lzLFxuICAgICAgY29tbWVudCxcbiAgICAgIG9wdGlvbnM4XG4gICAgKTtcbiAgICBpZiAocHJlY2VkaW5nTm9kZSAmJiBmaW5kRXhwcmVzc2lvbkluZGV4Rm9yQ29tbWVudChxdWFzaXMsIHByZWNlZGluZ05vZGUsIG9wdGlvbnM4KSAhPT0gY29tbWVudEluZGV4KSB7XG4gICAgICBwcmVjZWRpbmdOb2RlID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKGZvbGxvd2luZ05vZGUgJiYgZmluZEV4cHJlc3Npb25JbmRleEZvckNvbW1lbnQocXVhc2lzLCBmb2xsb3dpbmdOb2RlLCBvcHRpb25zOCkgIT09IGNvbW1lbnRJbmRleCkge1xuICAgICAgZm9sbG93aW5nTm9kZSA9IG51bGw7XG4gICAgfVxuICB9XG4gIHJldHVybiB7IGVuY2xvc2luZ05vZGUsIHByZWNlZGluZ05vZGUsIGZvbGxvd2luZ05vZGUgfTtcbn1cbnZhciByZXR1cm5GYWxzZSA9ICgpID0+IGZhbHNlO1xuZnVuY3Rpb24gYXR0YWNoQ29tbWVudHMoYXN0LCBvcHRpb25zOCkge1xuICBjb25zdCB7IGNvbW1lbnRzIH0gPSBhc3Q7XG4gIGRlbGV0ZSBhc3QuY29tbWVudHM7XG4gIGlmICghaXNfbm9uX2VtcHR5X2FycmF5X2RlZmF1bHQoY29tbWVudHMpIHx8ICFvcHRpb25zOC5wcmludGVyLmNhbkF0dGFjaENvbW1lbnQpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgY29uc3QgdGllc1RvQnJlYWsgPSBbXTtcbiAgY29uc3Qge1xuICAgIGxvY1N0YXJ0LFxuICAgIGxvY0VuZCxcbiAgICBwcmludGVyOiB7XG4gICAgICBleHBlcmltZW50YWxGZWF0dXJlczoge1xuICAgICAgICAvLyBUT0RPOiBNYWtlIHRoaXMgYXMgZGVmYXVsdCBiZWhhdmlvclxuICAgICAgICBhdm9pZEFzdE11dGF0aW9uID0gZmFsc2VcbiAgICAgIH0gPSB7fSxcbiAgICAgIGhhbmRsZUNvbW1lbnRzID0ge31cbiAgICB9LFxuICAgIG9yaWdpbmFsVGV4dDogdGV4dFxuICB9ID0gb3B0aW9uczg7XG4gIGNvbnN0IHtcbiAgICBvd25MaW5lOiBoYW5kbGVPd25MaW5lQ29tbWVudCA9IHJldHVybkZhbHNlLFxuICAgIGVuZE9mTGluZTogaGFuZGxlRW5kT2ZMaW5lQ29tbWVudCA9IHJldHVybkZhbHNlLFxuICAgIHJlbWFpbmluZzogaGFuZGxlUmVtYWluaW5nQ29tbWVudCA9IHJldHVybkZhbHNlXG4gIH0gPSBoYW5kbGVDb21tZW50cztcbiAgY29uc3QgZGVjb3JhdGVkQ29tbWVudHMgPSBjb21tZW50cy5tYXAoKGNvbW1lbnQsIGluZGV4KSA9PiAoe1xuICAgIC4uLmRlY29yYXRlQ29tbWVudChhc3QsIGNvbW1lbnQsIG9wdGlvbnM4KSxcbiAgICBjb21tZW50LFxuICAgIHRleHQsXG4gICAgb3B0aW9uczogb3B0aW9uczgsXG4gICAgYXN0LFxuICAgIGlzTGFzdENvbW1lbnQ6IGNvbW1lbnRzLmxlbmd0aCAtIDEgPT09IGluZGV4XG4gIH0pKTtcbiAgZm9yIChjb25zdCBbaW5kZXgsIGNvbnRleHRdIG9mIGRlY29yYXRlZENvbW1lbnRzLmVudHJpZXMoKSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGNvbW1lbnQsXG4gICAgICBwcmVjZWRpbmdOb2RlLFxuICAgICAgZW5jbG9zaW5nTm9kZSxcbiAgICAgIGZvbGxvd2luZ05vZGUsXG4gICAgICB0ZXh0OiB0ZXh0MixcbiAgICAgIG9wdGlvbnM6IG9wdGlvbnM5LFxuICAgICAgYXN0OiBhc3QyLFxuICAgICAgaXNMYXN0Q29tbWVudFxuICAgIH0gPSBjb250ZXh0O1xuICAgIGlmIChvcHRpb25zOS5wYXJzZXIgPT09IFwianNvblwiIHx8IG9wdGlvbnM5LnBhcnNlciA9PT0gXCJqc29uNVwiIHx8IG9wdGlvbnM5LnBhcnNlciA9PT0gXCJqc29uY1wiIHx8IG9wdGlvbnM5LnBhcnNlciA9PT0gXCJfX2pzX2V4cHJlc3Npb25cIiB8fCBvcHRpb25zOS5wYXJzZXIgPT09IFwiX190c19leHByZXNzaW9uXCIgfHwgb3B0aW9uczkucGFyc2VyID09PSBcIl9fdnVlX2V4cHJlc3Npb25cIiB8fCBvcHRpb25zOS5wYXJzZXIgPT09IFwiX192dWVfdHNfZXhwcmVzc2lvblwiKSB7XG4gICAgICBpZiAobG9jU3RhcnQoY29tbWVudCkgLSBsb2NTdGFydChhc3QyKSA8PSAwKSB7XG4gICAgICAgIGFkZExlYWRpbmdDb21tZW50KGFzdDIsIGNvbW1lbnQpO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGlmIChsb2NFbmQoY29tbWVudCkgLSBsb2NFbmQoYXN0MikgPj0gMCkge1xuICAgICAgICBhZGRUcmFpbGluZ0NvbW1lbnQoYXN0MiwgY29tbWVudCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgIH1cbiAgICBsZXQgYXJncztcbiAgICBpZiAoYXZvaWRBc3RNdXRhdGlvbikge1xuICAgICAgYXJncyA9IFtjb250ZXh0XTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29tbWVudC5lbmNsb3NpbmdOb2RlID0gZW5jbG9zaW5nTm9kZTtcbiAgICAgIGNvbW1lbnQucHJlY2VkaW5nTm9kZSA9IHByZWNlZGluZ05vZGU7XG4gICAgICBjb21tZW50LmZvbGxvd2luZ05vZGUgPSBmb2xsb3dpbmdOb2RlO1xuICAgICAgYXJncyA9IFtjb21tZW50LCB0ZXh0Miwgb3B0aW9uczksIGFzdDIsIGlzTGFzdENvbW1lbnRdO1xuICAgIH1cbiAgICBpZiAoaXNPd25MaW5lQ29tbWVudCh0ZXh0Miwgb3B0aW9uczksIGRlY29yYXRlZENvbW1lbnRzLCBpbmRleCkpIHtcbiAgICAgIGNvbW1lbnQucGxhY2VtZW50ID0gXCJvd25MaW5lXCI7XG4gICAgICBpZiAoaGFuZGxlT3duTGluZUNvbW1lbnQoLi4uYXJncykpIHtcbiAgICAgIH0gZWxzZSBpZiAoZm9sbG93aW5nTm9kZSkge1xuICAgICAgICBhZGRMZWFkaW5nQ29tbWVudChmb2xsb3dpbmdOb2RlLCBjb21tZW50KTtcbiAgICAgIH0gZWxzZSBpZiAocHJlY2VkaW5nTm9kZSkge1xuICAgICAgICBhZGRUcmFpbGluZ0NvbW1lbnQocHJlY2VkaW5nTm9kZSwgY29tbWVudCk7XG4gICAgICB9IGVsc2UgaWYgKGVuY2xvc2luZ05vZGUpIHtcbiAgICAgICAgYWRkRGFuZ2xpbmdDb21tZW50KGVuY2xvc2luZ05vZGUsIGNvbW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWRkRGFuZ2xpbmdDb21tZW50KGFzdDIsIGNvbW1lbnQpO1xuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoaXNFbmRPZkxpbmVDb21tZW50KHRleHQyLCBvcHRpb25zOSwgZGVjb3JhdGVkQ29tbWVudHMsIGluZGV4KSkge1xuICAgICAgY29tbWVudC5wbGFjZW1lbnQgPSBcImVuZE9mTGluZVwiO1xuICAgICAgaWYgKGhhbmRsZUVuZE9mTGluZUNvbW1lbnQoLi4uYXJncykpIHtcbiAgICAgIH0gZWxzZSBpZiAocHJlY2VkaW5nTm9kZSkge1xuICAgICAgICBhZGRUcmFpbGluZ0NvbW1lbnQocHJlY2VkaW5nTm9kZSwgY29tbWVudCk7XG4gICAgICB9IGVsc2UgaWYgKGZvbGxvd2luZ05vZGUpIHtcbiAgICAgICAgYWRkTGVhZGluZ0NvbW1lbnQoZm9sbG93aW5nTm9kZSwgY29tbWVudCk7XG4gICAgICB9IGVsc2UgaWYgKGVuY2xvc2luZ05vZGUpIHtcbiAgICAgICAgYWRkRGFuZ2xpbmdDb21tZW50KGVuY2xvc2luZ05vZGUsIGNvbW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWRkRGFuZ2xpbmdDb21tZW50KGFzdDIsIGNvbW1lbnQpO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb21tZW50LnBsYWNlbWVudCA9IFwicmVtYWluaW5nXCI7XG4gICAgICBpZiAoaGFuZGxlUmVtYWluaW5nQ29tbWVudCguLi5hcmdzKSkge1xuICAgICAgfSBlbHNlIGlmIChwcmVjZWRpbmdOb2RlICYmIGZvbGxvd2luZ05vZGUpIHtcbiAgICAgICAgY29uc3QgdGllQ291bnQgPSB0aWVzVG9CcmVhay5sZW5ndGg7XG4gICAgICAgIGlmICh0aWVDb3VudCA+IDApIHtcbiAgICAgICAgICBjb25zdCBsYXN0VGllID0gdGllc1RvQnJlYWtbdGllQ291bnQgLSAxXTtcbiAgICAgICAgICBpZiAobGFzdFRpZS5mb2xsb3dpbmdOb2RlICE9PSBmb2xsb3dpbmdOb2RlKSB7XG4gICAgICAgICAgICBicmVha1RpZXModGllc1RvQnJlYWssIG9wdGlvbnM5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGllc1RvQnJlYWsucHVzaChjb250ZXh0KTtcbiAgICAgIH0gZWxzZSBpZiAocHJlY2VkaW5nTm9kZSkge1xuICAgICAgICBhZGRUcmFpbGluZ0NvbW1lbnQocHJlY2VkaW5nTm9kZSwgY29tbWVudCk7XG4gICAgICB9IGVsc2UgaWYgKGZvbGxvd2luZ05vZGUpIHtcbiAgICAgICAgYWRkTGVhZGluZ0NvbW1lbnQoZm9sbG93aW5nTm9kZSwgY29tbWVudCk7XG4gICAgICB9IGVsc2UgaWYgKGVuY2xvc2luZ05vZGUpIHtcbiAgICAgICAgYWRkRGFuZ2xpbmdDb21tZW50KGVuY2xvc2luZ05vZGUsIGNvbW1lbnQpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYWRkRGFuZ2xpbmdDb21tZW50KGFzdDIsIGNvbW1lbnQpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBicmVha1RpZXModGllc1RvQnJlYWssIG9wdGlvbnM4KTtcbiAgaWYgKCFhdm9pZEFzdE11dGF0aW9uKSB7XG4gICAgZm9yIChjb25zdCBjb21tZW50IG9mIGNvbW1lbnRzKSB7XG4gICAgICBkZWxldGUgY29tbWVudC5wcmVjZWRpbmdOb2RlO1xuICAgICAgZGVsZXRlIGNvbW1lbnQuZW5jbG9zaW5nTm9kZTtcbiAgICAgIGRlbGV0ZSBjb21tZW50LmZvbGxvd2luZ05vZGU7XG4gICAgfVxuICB9XG59XG52YXIgaXNBbGxFbXB0eUFuZE5vTGluZUJyZWFrID0gKHRleHQpID0+ICEvW1xcU1xcblxcdTIwMjhcXHUyMDI5XS91LnRlc3QodGV4dCk7XG5mdW5jdGlvbiBpc093bkxpbmVDb21tZW50KHRleHQsIG9wdGlvbnM4LCBkZWNvcmF0ZWRDb21tZW50cywgY29tbWVudEluZGV4KSB7XG4gIGNvbnN0IHsgY29tbWVudCwgcHJlY2VkaW5nTm9kZSB9ID0gZGVjb3JhdGVkQ29tbWVudHNbY29tbWVudEluZGV4XTtcbiAgY29uc3QgeyBsb2NTdGFydCwgbG9jRW5kIH0gPSBvcHRpb25zODtcbiAgbGV0IHN0YXJ0ID0gbG9jU3RhcnQoY29tbWVudCk7XG4gIGlmIChwcmVjZWRpbmdOb2RlKSB7XG4gICAgZm9yIChsZXQgaW5kZXggPSBjb21tZW50SW5kZXggLSAxOyBpbmRleCA+PSAwOyBpbmRleC0tKSB7XG4gICAgICBjb25zdCB7IGNvbW1lbnQ6IGNvbW1lbnQyLCBwcmVjZWRpbmdOb2RlOiBjdXJyZW50Q29tbWVudFByZWNlZGluZ05vZGUgfSA9IGRlY29yYXRlZENvbW1lbnRzW2luZGV4XTtcbiAgICAgIGlmIChjdXJyZW50Q29tbWVudFByZWNlZGluZ05vZGUgIT09IHByZWNlZGluZ05vZGUgfHwgIWlzQWxsRW1wdHlBbmROb0xpbmVCcmVhayh0ZXh0LnNsaWNlKGxvY0VuZChjb21tZW50MiksIHN0YXJ0KSkpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBzdGFydCA9IGxvY1N0YXJ0KGNvbW1lbnQyKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGhhc19uZXdsaW5lX2RlZmF1bHQodGV4dCwgc3RhcnQsIHsgYmFja3dhcmRzOiB0cnVlIH0pO1xufVxuZnVuY3Rpb24gaXNFbmRPZkxpbmVDb21tZW50KHRleHQsIG9wdGlvbnM4LCBkZWNvcmF0ZWRDb21tZW50cywgY29tbWVudEluZGV4KSB7XG4gIGNvbnN0IHsgY29tbWVudCwgZm9sbG93aW5nTm9kZSB9ID0gZGVjb3JhdGVkQ29tbWVudHNbY29tbWVudEluZGV4XTtcbiAgY29uc3QgeyBsb2NTdGFydCwgbG9jRW5kIH0gPSBvcHRpb25zODtcbiAgbGV0IGVuZCA9IGxvY0VuZChjb21tZW50KTtcbiAgaWYgKGZvbGxvd2luZ05vZGUpIHtcbiAgICBmb3IgKGxldCBpbmRleCA9IGNvbW1lbnRJbmRleCArIDE7IGluZGV4IDwgZGVjb3JhdGVkQ29tbWVudHMubGVuZ3RoOyBpbmRleCsrKSB7XG4gICAgICBjb25zdCB7IGNvbW1lbnQ6IGNvbW1lbnQyLCBmb2xsb3dpbmdOb2RlOiBjdXJyZW50Q29tbWVudEZvbGxvd2luZ05vZGUgfSA9IGRlY29yYXRlZENvbW1lbnRzW2luZGV4XTtcbiAgICAgIGlmIChjdXJyZW50Q29tbWVudEZvbGxvd2luZ05vZGUgIT09IGZvbGxvd2luZ05vZGUgfHwgIWlzQWxsRW1wdHlBbmROb0xpbmVCcmVhayh0ZXh0LnNsaWNlKGVuZCwgbG9jU3RhcnQoY29tbWVudDIpKSkpIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICBlbmQgPSBsb2NFbmQoY29tbWVudDIpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gaGFzX25ld2xpbmVfZGVmYXVsdCh0ZXh0LCBlbmQpO1xufVxuZnVuY3Rpb24gYnJlYWtUaWVzKHRpZXNUb0JyZWFrLCBvcHRpb25zOCkge1xuICB2YXIgX2EsIF9iO1xuICBjb25zdCB0aWVDb3VudCA9IHRpZXNUb0JyZWFrLmxlbmd0aDtcbiAgaWYgKHRpZUNvdW50ID09PSAwKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbnN0IHsgcHJlY2VkaW5nTm9kZSwgZm9sbG93aW5nTm9kZSB9ID0gdGllc1RvQnJlYWtbMF07XG4gIGxldCBnYXBFbmRQb3MgPSBvcHRpb25zOC5sb2NTdGFydChmb2xsb3dpbmdOb2RlKTtcbiAgbGV0IGluZGV4T2ZGaXJzdExlYWRpbmdDb21tZW50O1xuICBmb3IgKGluZGV4T2ZGaXJzdExlYWRpbmdDb21tZW50ID0gdGllQ291bnQ7IGluZGV4T2ZGaXJzdExlYWRpbmdDb21tZW50ID4gMDsgLS1pbmRleE9mRmlyc3RMZWFkaW5nQ29tbWVudCkge1xuICAgIGNvbnN0IHtcbiAgICAgIGNvbW1lbnQsXG4gICAgICBwcmVjZWRpbmdOb2RlOiBjdXJyZW50Q29tbWVudFByZWNlZGluZ05vZGUsXG4gICAgICBmb2xsb3dpbmdOb2RlOiBjdXJyZW50Q29tbWVudEZvbGxvd2luZ05vZGVcbiAgICB9ID0gdGllc1RvQnJlYWtbaW5kZXhPZkZpcnN0TGVhZGluZ0NvbW1lbnQgLSAxXTtcbiAgICBhc3NlcnQ0LnN0cmljdEVxdWFsKGN1cnJlbnRDb21tZW50UHJlY2VkaW5nTm9kZSwgcHJlY2VkaW5nTm9kZSk7XG4gICAgYXNzZXJ0NC5zdHJpY3RFcXVhbChjdXJyZW50Q29tbWVudEZvbGxvd2luZ05vZGUsIGZvbGxvd2luZ05vZGUpO1xuICAgIGNvbnN0IGdhcCA9IG9wdGlvbnM4Lm9yaWdpbmFsVGV4dC5zbGljZShvcHRpb25zOC5sb2NFbmQoY29tbWVudCksIGdhcEVuZFBvcyk7XG4gICAgaWYgKCgoX2IgPSAoX2EgPSBvcHRpb25zOC5wcmludGVyKS5pc0dhcCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9iLmNhbGwoX2EsIGdhcCwgb3B0aW9uczgpKSA/PyAvXltcXHMoXSokL3UudGVzdChnYXApKSB7XG4gICAgICBnYXBFbmRQb3MgPSBvcHRpb25zOC5sb2NTdGFydChjb21tZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIGZvciAoY29uc3QgW2ksIHsgY29tbWVudCB9XSBvZiB0aWVzVG9CcmVhay5lbnRyaWVzKCkpIHtcbiAgICBpZiAoaSA8IGluZGV4T2ZGaXJzdExlYWRpbmdDb21tZW50KSB7XG4gICAgICBhZGRUcmFpbGluZ0NvbW1lbnQocHJlY2VkaW5nTm9kZSwgY29tbWVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGFkZExlYWRpbmdDb21tZW50KGZvbGxvd2luZ05vZGUsIGNvbW1lbnQpO1xuICAgIH1cbiAgfVxuICBmb3IgKGNvbnN0IG5vZGUgb2YgW3ByZWNlZGluZ05vZGUsIGZvbGxvd2luZ05vZGVdKSB7XG4gICAgaWYgKG5vZGUuY29tbWVudHMgJiYgbm9kZS5jb21tZW50cy5sZW5ndGggPiAxKSB7XG4gICAgICBub2RlLmNvbW1lbnRzLnNvcnQoKGEsIGIpID0+IG9wdGlvbnM4LmxvY1N0YXJ0KGEpIC0gb3B0aW9uczgubG9jU3RhcnQoYikpO1xuICAgIH1cbiAgfVxuICB0aWVzVG9CcmVhay5sZW5ndGggPSAwO1xufVxuZnVuY3Rpb24gZmluZEV4cHJlc3Npb25JbmRleEZvckNvbW1lbnQocXVhc2lzLCBjb21tZW50LCBvcHRpb25zOCkge1xuICBjb25zdCBzdGFydFBvcyA9IG9wdGlvbnM4LmxvY1N0YXJ0KGNvbW1lbnQpIC0gMTtcbiAgZm9yIChsZXQgaSA9IDE7IGkgPCBxdWFzaXMubGVuZ3RoOyArK2kpIHtcbiAgICBpZiAoc3RhcnRQb3MgPCBvcHRpb25zOC5sb2NTdGFydChxdWFzaXNbaV0pKSB7XG4gICAgICByZXR1cm4gaSAtIDE7XG4gICAgfVxuICB9XG4gIHJldHVybiAwO1xufVxuXG4vLyBzcmMvdXRpbHMvaXMtcHJldmlvdXMtbGluZS1lbXB0eS5qc1xuZnVuY3Rpb24gaXNQcmV2aW91c0xpbmVFbXB0eSh0ZXh0LCBzdGFydEluZGV4KSB7XG4gIGxldCBpZHggPSBzdGFydEluZGV4IC0gMTtcbiAgaWR4ID0gc2tpcFNwYWNlcyh0ZXh0LCBpZHgsIHsgYmFja3dhcmRzOiB0cnVlIH0pO1xuICBpZHggPSBza2lwX25ld2xpbmVfZGVmYXVsdCh0ZXh0LCBpZHgsIHsgYmFja3dhcmRzOiB0cnVlIH0pO1xuICBpZHggPSBza2lwU3BhY2VzKHRleHQsIGlkeCwgeyBiYWNrd2FyZHM6IHRydWUgfSk7XG4gIGNvbnN0IGlkeDIgPSBza2lwX25ld2xpbmVfZGVmYXVsdCh0ZXh0LCBpZHgsIHsgYmFja3dhcmRzOiB0cnVlIH0pO1xuICByZXR1cm4gaWR4ICE9PSBpZHgyO1xufVxudmFyIGlzX3ByZXZpb3VzX2xpbmVfZW1wdHlfZGVmYXVsdCA9IGlzUHJldmlvdXNMaW5lRW1wdHk7XG5cbi8vIHNyYy9tYWluL2NvbW1lbnRzL3ByaW50LmpzXG5mdW5jdGlvbiBwcmludENvbW1lbnQocGF0aDEzLCBvcHRpb25zOCkge1xuICBjb25zdCBjb21tZW50ID0gcGF0aDEzLm5vZGU7XG4gIGNvbW1lbnQucHJpbnRlZCA9IHRydWU7XG4gIHJldHVybiBvcHRpb25zOC5wcmludGVyLnByaW50Q29tbWVudChwYXRoMTMsIG9wdGlvbnM4KTtcbn1cbmZ1bmN0aW9uIHByaW50TGVhZGluZ0NvbW1lbnQocGF0aDEzLCBvcHRpb25zOCkge1xuICB2YXIgX2E7XG4gIGNvbnN0IGNvbW1lbnQgPSBwYXRoMTMubm9kZTtcbiAgY29uc3QgcGFydHMgPSBbcHJpbnRDb21tZW50KHBhdGgxMywgb3B0aW9uczgpXTtcbiAgY29uc3QgeyBwcmludGVyLCBvcmlnaW5hbFRleHQsIGxvY1N0YXJ0LCBsb2NFbmQgfSA9IG9wdGlvbnM4O1xuICBjb25zdCBpc0Jsb2NrID0gKF9hID0gcHJpbnRlci5pc0Jsb2NrQ29tbWVudCkgPT0gbnVsbCA/IHZvaWQgMCA6IF9hLmNhbGwocHJpbnRlciwgY29tbWVudCk7XG4gIGlmIChpc0Jsb2NrKSB7XG4gICAgY29uc3QgbGluZUJyZWFrID0gaGFzX25ld2xpbmVfZGVmYXVsdChvcmlnaW5hbFRleHQsIGxvY0VuZChjb21tZW50KSkgPyBoYXNfbmV3bGluZV9kZWZhdWx0KG9yaWdpbmFsVGV4dCwgbG9jU3RhcnQoY29tbWVudCksIHtcbiAgICAgIGJhY2t3YXJkczogdHJ1ZVxuICAgIH0pID8gaGFyZGxpbmUgOiBsaW5lMiA6IFwiIFwiO1xuICAgIHBhcnRzLnB1c2gobGluZUJyZWFrKTtcbiAgfSBlbHNlIHtcbiAgICBwYXJ0cy5wdXNoKGhhcmRsaW5lKTtcbiAgfVxuICBjb25zdCBpbmRleCA9IHNraXBfbmV3bGluZV9kZWZhdWx0KFxuICAgIG9yaWdpbmFsVGV4dCxcbiAgICBza2lwU3BhY2VzKG9yaWdpbmFsVGV4dCwgbG9jRW5kKGNvbW1lbnQpKVxuICApO1xuICBpZiAoaW5kZXggIT09IGZhbHNlICYmIGhhc19uZXdsaW5lX2RlZmF1bHQob3JpZ2luYWxUZXh0LCBpbmRleCkpIHtcbiAgICBwYXJ0cy5wdXNoKGhhcmRsaW5lKTtcbiAgfVxuICByZXR1cm4gcGFydHM7XG59XG5mdW5jdGlvbiBwcmludFRyYWlsaW5nQ29tbWVudChwYXRoMTMsIG9wdGlvbnM4LCBwcmV2aW91c0NvbW1lbnQpIHtcbiAgdmFyIF9hO1xuICBjb25zdCBjb21tZW50ID0gcGF0aDEzLm5vZGU7XG4gIGNvbnN0IHByaW50ZWQgPSBwcmludENvbW1lbnQocGF0aDEzLCBvcHRpb25zOCk7XG4gIGNvbnN0IHsgcHJpbnRlciwgb3JpZ2luYWxUZXh0LCBsb2NTdGFydCB9ID0gb3B0aW9uczg7XG4gIGNvbnN0IGlzQmxvY2sgPSAoX2EgPSBwcmludGVyLmlzQmxvY2tDb21tZW50KSA9PSBudWxsID8gdm9pZCAwIDogX2EuY2FsbChwcmludGVyLCBjb21tZW50KTtcbiAgaWYgKChwcmV2aW91c0NvbW1lbnQgPT0gbnVsbCA/IHZvaWQgMCA6IHByZXZpb3VzQ29tbWVudC5oYXNMaW5lU3VmZml4KSAmJiAhKHByZXZpb3VzQ29tbWVudCA9PSBudWxsID8gdm9pZCAwIDogcHJldmlvdXNDb21tZW50LmlzQmxvY2spIHx8IGhhc19uZXdsaW5lX2RlZmF1bHQob3JpZ2luYWxUZXh0LCBsb2NTdGFydChjb21tZW50KSwgeyBiYWNrd2FyZHM6IHRydWUgfSkpIHtcbiAgICBjb25zdCBpc0xpbmVCZWZvcmVFbXB0eSA9IGlzX3ByZXZpb3VzX2xpbmVfZW1wdHlfZGVmYXVsdChcbiAgICAgIG9yaWdpbmFsVGV4dCxcbiAgICAgIGxvY1N0YXJ0KGNvbW1lbnQpXG4gICAgKTtcbiAgICByZXR1cm4ge1xuICAgICAgZG9jOiBsaW5lU3VmZml4KFtoYXJkbGluZSwgaXNMaW5lQmVmb3JlRW1wdHkgPyBoYXJkbGluZSA6IFwiXCIsIHByaW50ZWRdKSxcbiAgICAgIGlzQmxvY2ssXG4gICAgICBoYXNMaW5lU3VmZml4OiB0cnVlXG4gICAgfTtcbiAgfVxuICBpZiAoIWlzQmxvY2sgfHwgKHByZXZpb3VzQ29tbWVudCA9PSBudWxsID8gdm9pZCAwIDogcHJldmlvdXNDb21tZW50Lmhhc0xpbmVTdWZmaXgpKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRvYzogW2xpbmVTdWZmaXgoW1wiIFwiLCBwcmludGVkXSksIGJyZWFrUGFyZW50XSxcbiAgICAgIGlzQmxvY2ssXG4gICAgICBoYXNMaW5lU3VmZml4OiB0cnVlXG4gICAgfTtcbiAgfVxuICByZXR1cm4geyBkb2M6IFtcIiBcIiwgcHJpbnRlZF0sIGlzQmxvY2ssIGhhc0xpbmVTdWZmaXg6IGZhbHNlIH07XG59XG5mdW5jdGlvbiBwcmludENvbW1lbnRzU2VwYXJhdGVseShwYXRoMTMsIG9wdGlvbnM4KSB7XG4gIGNvbnN0IHZhbHVlID0gcGF0aDEzLm5vZGU7XG4gIGlmICghdmFsdWUpIHtcbiAgICByZXR1cm4ge307XG4gIH1cbiAgY29uc3QgaWdub3JlZCA9IG9wdGlvbnM4W1N5bWJvbC5mb3IoXCJwcmludGVkQ29tbWVudHNcIildO1xuICBjb25zdCBjb21tZW50cyA9ICh2YWx1ZS5jb21tZW50cyB8fCBbXSkuZmlsdGVyKFxuICAgIChjb21tZW50KSA9PiAhaWdub3JlZC5oYXMoY29tbWVudClcbiAgKTtcbiAgaWYgKGNvbW1lbnRzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB7IGxlYWRpbmc6IFwiXCIsIHRyYWlsaW5nOiBcIlwiIH07XG4gIH1cbiAgY29uc3QgbGVhZGluZ1BhcnRzID0gW107XG4gIGNvbnN0IHRyYWlsaW5nUGFydHMgPSBbXTtcbiAgbGV0IHByaW50ZWRUcmFpbGluZ0NvbW1lbnQ7XG4gIHBhdGgxMy5lYWNoKCgpID0+IHtcbiAgICBjb25zdCBjb21tZW50ID0gcGF0aDEzLm5vZGU7XG4gICAgaWYgKGlnbm9yZWQgPT0gbnVsbCA/IHZvaWQgMCA6IGlnbm9yZWQuaGFzKGNvbW1lbnQpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHsgbGVhZGluZywgdHJhaWxpbmcgfSA9IGNvbW1lbnQ7XG4gICAgaWYgKGxlYWRpbmcpIHtcbiAgICAgIGxlYWRpbmdQYXJ0cy5wdXNoKHByaW50TGVhZGluZ0NvbW1lbnQocGF0aDEzLCBvcHRpb25zOCkpO1xuICAgIH0gZWxzZSBpZiAodHJhaWxpbmcpIHtcbiAgICAgIHByaW50ZWRUcmFpbGluZ0NvbW1lbnQgPSBwcmludFRyYWlsaW5nQ29tbWVudChcbiAgICAgICAgcGF0aDEzLFxuICAgICAgICBvcHRpb25zOCxcbiAgICAgICAgcHJpbnRlZFRyYWlsaW5nQ29tbWVudFxuICAgICAgKTtcbiAgICAgIHRyYWlsaW5nUGFydHMucHVzaChwcmludGVkVHJhaWxpbmdDb21tZW50LmRvYyk7XG4gICAgfVxuICB9LCBcImNvbW1lbnRzXCIpO1xuICByZXR1cm4geyBsZWFkaW5nOiBsZWFkaW5nUGFydHMsIHRyYWlsaW5nOiB0cmFpbGluZ1BhcnRzIH07XG59XG5mdW5jdGlvbiBwcmludENvbW1lbnRzKHBhdGgxMywgZG9jMiwgb3B0aW9uczgpIHtcbiAgY29uc3QgeyBsZWFkaW5nLCB0cmFpbGluZyB9ID0gcHJpbnRDb21tZW50c1NlcGFyYXRlbHkocGF0aDEzLCBvcHRpb25zOCk7XG4gIGlmICghbGVhZGluZyAmJiAhdHJhaWxpbmcpIHtcbiAgICByZXR1cm4gZG9jMjtcbiAgfVxuICByZXR1cm4gaW5oZXJpdExhYmVsKGRvYzIsIChkb2MzKSA9PiBbbGVhZGluZywgZG9jMywgdHJhaWxpbmddKTtcbn1cbmZ1bmN0aW9uIGVuc3VyZUFsbENvbW1lbnRzUHJpbnRlZChvcHRpb25zOCkge1xuICBjb25zdCB7XG4gICAgW1N5bWJvbC5mb3IoXCJjb21tZW50c1wiKV06IGNvbW1lbnRzLFxuICAgIFtTeW1ib2wuZm9yKFwicHJpbnRlZENvbW1lbnRzXCIpXTogcHJpbnRlZENvbW1lbnRzXG4gIH0gPSBvcHRpb25zODtcbiAgZm9yIChjb25zdCBjb21tZW50IG9mIGNvbW1lbnRzKSB7XG4gICAgaWYgKCFjb21tZW50LnByaW50ZWQgJiYgIXByaW50ZWRDb21tZW50cy5oYXMoY29tbWVudCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgJ0NvbW1lbnQgXCInICsgY29tbWVudC52YWx1ZS50cmltKCkgKyAnXCIgd2FzIG5vdCBwcmludGVkLiBQbGVhc2UgcmVwb3J0IHRoaXMgZXJyb3IhJ1xuICAgICAgKTtcbiAgICB9XG4gICAgZGVsZXRlIGNvbW1lbnQucHJpbnRlZDtcbiAgfVxufVxuXG4vLyBzcmMvbWFpbi9jcmVhdGUtcHJpbnQtcHJlLWNoZWNrLWZ1bmN0aW9uLmpzXG5mdW5jdGlvbiBjcmVhdGVQcmludFByZUNoZWNrRnVuY3Rpb24ob3B0aW9uczgpIHtcbiAgaWYgKHRydWUpIHtcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgIH07XG4gIH1cbiAgY29uc3QgZ2V0VmlzaXRvcktleXMgPSBjcmVhdGVfZ2V0X3Zpc2l0b3Jfa2V5c19mdW5jdGlvbl9kZWZhdWx0KFxuICAgIG9wdGlvbnM4LnByaW50ZXIuZ2V0VmlzaXRvcktleXNcbiAgKTtcbiAgcmV0dXJuIGZ1bmN0aW9uKHBhdGgxMykge1xuICAgIGlmIChwYXRoMTMuaXNSb290KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IHsga2V5OiBrZXkyLCBwYXJlbnQgfSA9IHBhdGgxMztcbiAgICBjb25zdCB2aXNpdG9yS2V5cyA9IGdldFZpc2l0b3JLZXlzKHBhcmVudCk7XG4gICAgaWYgKHZpc2l0b3JLZXlzLmluY2x1ZGVzKGtleTIpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRocm93IE9iamVjdC5hc3NpZ24obmV3IEVycm9yKFwiQ2FsbGluZyBgcHJpbnQoKWAgb24gbm9uLW5vZGUgb2JqZWN0LlwiKSwge1xuICAgICAgcGFyZW50Tm9kZTogcGFyZW50LFxuICAgICAgYWxsb3dlZFByb3BlcnRpZXM6IHZpc2l0b3JLZXlzLFxuICAgICAgcHJpbnRpbmdQcm9wZXJ0eToga2V5MixcbiAgICAgIHByaW50aW5nVmFsdWU6IHBhdGgxMy5ub2RlLFxuICAgICAgcGF0aFN0YWNrOiBwYXRoMTMuc3RhY2subGVuZ3RoID4gNSA/IFtcIi4uLlwiLCAuLi5wYXRoMTMuc3RhY2suc2xpY2UoLTUpXSA6IFsuLi5wYXRoMTMuc3RhY2tdXG4gICAgfSk7XG4gIH07XG59XG52YXIgY3JlYXRlX3ByaW50X3ByZV9jaGVja19mdW5jdGlvbl9kZWZhdWx0ID0gY3JlYXRlUHJpbnRQcmVDaGVja0Z1bmN0aW9uO1xuXG4vLyBzcmMvbWFpbi9jb3JlLW9wdGlvbnMuZXZhbHVhdGUuanNcbnZhciBjb3JlX29wdGlvbnNfZXZhbHVhdGVfZGVmYXVsdCA9IHtcbiAgXCJjdXJzb3JPZmZzZXRcIjoge1xuICAgIFwiY2F0ZWdvcnlcIjogXCJTcGVjaWFsXCIsXG4gICAgXCJ0eXBlXCI6IFwiaW50XCIsXG4gICAgXCJkZWZhdWx0XCI6IC0xLFxuICAgIFwicmFuZ2VcIjoge1xuICAgICAgXCJzdGFydFwiOiAtMSxcbiAgICAgIFwiZW5kXCI6IEluZmluaXR5LFxuICAgICAgXCJzdGVwXCI6IDFcbiAgICB9LFxuICAgIFwiZGVzY3JpcHRpb25cIjogXCJQcmludCAodG8gc3RkZXJyKSB3aGVyZSBhIGN1cnNvciBhdCB0aGUgZ2l2ZW4gcG9zaXRpb24gd291bGQgbW92ZSB0byBhZnRlciBmb3JtYXR0aW5nLlwiLFxuICAgIFwiY2xpQ2F0ZWdvcnlcIjogXCJFZGl0b3JcIlxuICB9LFxuICBcImVuZE9mTGluZVwiOiB7XG4gICAgXCJjYXRlZ29yeVwiOiBcIkdsb2JhbFwiLFxuICAgIFwidHlwZVwiOiBcImNob2ljZVwiLFxuICAgIFwiZGVmYXVsdFwiOiBcImxmXCIsXG4gICAgXCJkZXNjcmlwdGlvblwiOiBcIldoaWNoIGVuZCBvZiBsaW5lIGNoYXJhY3RlcnMgdG8gYXBwbHkuXCIsXG4gICAgXCJjaG9pY2VzXCI6IFtcbiAgICAgIHtcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImxmXCIsXG4gICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJMaW5lIEZlZWQgb25seSAoXFxcXG4pLCBjb21tb24gb24gTGludXggYW5kIG1hY09TIGFzIHdlbGwgYXMgaW5zaWRlIGdpdCByZXBvc1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInZhbHVlXCI6IFwiY3JsZlwiLFxuICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiQ2FycmlhZ2UgUmV0dXJuICsgTGluZSBGZWVkIGNoYXJhY3RlcnMgKFxcXFxyXFxcXG4pLCBjb21tb24gb24gV2luZG93c1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInZhbHVlXCI6IFwiY3JcIixcbiAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkNhcnJpYWdlIFJldHVybiBjaGFyYWN0ZXIgb25seSAoXFxcXHIpLCB1c2VkIHZlcnkgcmFyZWx5XCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIFwidmFsdWVcIjogXCJhdXRvXCIsXG4gICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJNYWludGFpbiBleGlzdGluZ1xcbihtaXhlZCB2YWx1ZXMgd2l0aGluIG9uZSBmaWxlIGFyZSBub3JtYWxpc2VkIGJ5IGxvb2tpbmcgYXQgd2hhdCdzIHVzZWQgYWZ0ZXIgdGhlIGZpcnN0IGxpbmUpXCJcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIFwiZmlsZXBhdGhcIjoge1xuICAgIFwiY2F0ZWdvcnlcIjogXCJTcGVjaWFsXCIsXG4gICAgXCJ0eXBlXCI6IFwicGF0aFwiLFxuICAgIFwiZGVzY3JpcHRpb25cIjogXCJTcGVjaWZ5IHRoZSBpbnB1dCBmaWxlcGF0aC4gVGhpcyB3aWxsIGJlIHVzZWQgdG8gZG8gcGFyc2VyIGluZmVyZW5jZS5cIixcbiAgICBcImNsaU5hbWVcIjogXCJzdGRpbi1maWxlcGF0aFwiLFxuICAgIFwiY2xpQ2F0ZWdvcnlcIjogXCJPdGhlclwiLFxuICAgIFwiY2xpRGVzY3JpcHRpb25cIjogXCJQYXRoIHRvIHRoZSBmaWxlIHRvIHByZXRlbmQgdGhhdCBzdGRpbiBjb21lcyBmcm9tLlwiXG4gIH0sXG4gIFwiaW5zZXJ0UHJhZ21hXCI6IHtcbiAgICBcImNhdGVnb3J5XCI6IFwiU3BlY2lhbFwiLFxuICAgIFwidHlwZVwiOiBcImJvb2xlYW5cIixcbiAgICBcImRlZmF1bHRcIjogZmFsc2UsXG4gICAgXCJkZXNjcmlwdGlvblwiOiBcIkluc2VydCBAZm9ybWF0IHByYWdtYSBpbnRvIGZpbGUncyBmaXJzdCBkb2NibG9jayBjb21tZW50LlwiLFxuICAgIFwiY2xpQ2F0ZWdvcnlcIjogXCJPdGhlclwiXG4gIH0sXG4gIFwicGFyc2VyXCI6IHtcbiAgICBcImNhdGVnb3J5XCI6IFwiR2xvYmFsXCIsXG4gICAgXCJ0eXBlXCI6IFwiY2hvaWNlXCIsXG4gICAgXCJkZWZhdWx0XCI6IHZvaWQgMCxcbiAgICBcImRlc2NyaXB0aW9uXCI6IFwiV2hpY2ggcGFyc2VyIHRvIHVzZS5cIixcbiAgICBcImV4Y2VwdGlvblwiOiAodmFsdWUpID0+IHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIiB8fCB0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIixcbiAgICBcImNob2ljZXNcIjogW1xuICAgICAge1xuICAgICAgICBcInZhbHVlXCI6IFwiZmxvd1wiLFxuICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiRmxvd1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInZhbHVlXCI6IFwiYmFiZWxcIixcbiAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkphdmFTY3JpcHRcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImJhYmVsLWZsb3dcIixcbiAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkZsb3dcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImJhYmVsLXRzXCIsXG4gICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJUeXBlU2NyaXB0XCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIFwidmFsdWVcIjogXCJ0eXBlc2NyaXB0XCIsXG4gICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJUeXBlU2NyaXB0XCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIFwidmFsdWVcIjogXCJhY29yblwiLFxuICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiSmF2YVNjcmlwdFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInZhbHVlXCI6IFwiZXNwcmVlXCIsXG4gICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJKYXZhU2NyaXB0XCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIFwidmFsdWVcIjogXCJtZXJpeWFoXCIsXG4gICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJKYXZhU2NyaXB0XCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIFwidmFsdWVcIjogXCJjc3NcIixcbiAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkNTU1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInZhbHVlXCI6IFwibGVzc1wiLFxuICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiTGVzc1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInZhbHVlXCI6IFwic2Nzc1wiLFxuICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiU0NTU1wiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInZhbHVlXCI6IFwianNvblwiLFxuICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiSlNPTlwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInZhbHVlXCI6IFwianNvbjVcIixcbiAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkpTT041XCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIFwidmFsdWVcIjogXCJqc29uY1wiLFxuICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiSlNPTiB3aXRoIENvbW1lbnRzXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIFwidmFsdWVcIjogXCJqc29uLXN0cmluZ2lmeVwiLFxuICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiSlNPTi5zdHJpbmdpZnlcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImdyYXBocWxcIixcbiAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkdyYXBoUUxcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgXCJ2YWx1ZVwiOiBcIm1hcmtkb3duXCIsXG4gICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJNYXJrZG93blwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInZhbHVlXCI6IFwibWR4XCIsXG4gICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJNRFhcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgXCJ2YWx1ZVwiOiBcInZ1ZVwiLFxuICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiVnVlXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIFwidmFsdWVcIjogXCJ5YW1sXCIsXG4gICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJZQU1MXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIFwidmFsdWVcIjogXCJnbGltbWVyXCIsXG4gICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJFbWJlciAvIEhhbmRsZWJhcnNcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImh0bWxcIixcbiAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkhUTUxcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImFuZ3VsYXJcIixcbiAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkFuZ3VsYXJcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImx3Y1wiLFxuICAgICAgICBcImRlc2NyaXB0aW9uXCI6IFwiTGlnaHRuaW5nIFdlYiBDb21wb25lbnRzXCJcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIFwicGx1Z2luc1wiOiB7XG4gICAgXCJ0eXBlXCI6IFwicGF0aFwiLFxuICAgIFwiYXJyYXlcIjogdHJ1ZSxcbiAgICBcImRlZmF1bHRcIjogW1xuICAgICAge1xuICAgICAgICBcInZhbHVlXCI6IFtdXG4gICAgICB9XG4gICAgXSxcbiAgICBcImNhdGVnb3J5XCI6IFwiR2xvYmFsXCIsXG4gICAgXCJkZXNjcmlwdGlvblwiOiBcIkFkZCBhIHBsdWdpbi4gTXVsdGlwbGUgcGx1Z2lucyBjYW4gYmUgcGFzc2VkIGFzIHNlcGFyYXRlIGAtLXBsdWdpbmBzLlwiLFxuICAgIFwiZXhjZXB0aW9uXCI6ICh2YWx1ZSkgPT4gdHlwZW9mIHZhbHVlID09PSBcInN0cmluZ1wiIHx8IHR5cGVvZiB2YWx1ZSA9PT0gXCJvYmplY3RcIixcbiAgICBcImNsaU5hbWVcIjogXCJwbHVnaW5cIixcbiAgICBcImNsaUNhdGVnb3J5XCI6IFwiQ29uZmlnXCJcbiAgfSxcbiAgXCJwcmludFdpZHRoXCI6IHtcbiAgICBcImNhdGVnb3J5XCI6IFwiR2xvYmFsXCIsXG4gICAgXCJ0eXBlXCI6IFwiaW50XCIsXG4gICAgXCJkZWZhdWx0XCI6IDgwLFxuICAgIFwiZGVzY3JpcHRpb25cIjogXCJUaGUgbGluZSBsZW5ndGggd2hlcmUgUHJldHRpZXIgd2lsbCB0cnkgd3JhcC5cIixcbiAgICBcInJhbmdlXCI6IHtcbiAgICAgIFwic3RhcnRcIjogMCxcbiAgICAgIFwiZW5kXCI6IEluZmluaXR5LFxuICAgICAgXCJzdGVwXCI6IDFcbiAgICB9XG4gIH0sXG4gIFwicmFuZ2VFbmRcIjoge1xuICAgIFwiY2F0ZWdvcnlcIjogXCJTcGVjaWFsXCIsXG4gICAgXCJ0eXBlXCI6IFwiaW50XCIsXG4gICAgXCJkZWZhdWx0XCI6IEluZmluaXR5LFxuICAgIFwicmFuZ2VcIjoge1xuICAgICAgXCJzdGFydFwiOiAwLFxuICAgICAgXCJlbmRcIjogSW5maW5pdHksXG4gICAgICBcInN0ZXBcIjogMVxuICAgIH0sXG4gICAgXCJkZXNjcmlwdGlvblwiOiBcIkZvcm1hdCBjb2RlIGVuZGluZyBhdCBhIGdpdmVuIGNoYXJhY3RlciBvZmZzZXQgKGV4Y2x1c2l2ZSkuXFxuVGhlIHJhbmdlIHdpbGwgZXh0ZW5kIGZvcndhcmRzIHRvIHRoZSBlbmQgb2YgdGhlIHNlbGVjdGVkIHN0YXRlbWVudC5cIixcbiAgICBcImNsaUNhdGVnb3J5XCI6IFwiRWRpdG9yXCJcbiAgfSxcbiAgXCJyYW5nZVN0YXJ0XCI6IHtcbiAgICBcImNhdGVnb3J5XCI6IFwiU3BlY2lhbFwiLFxuICAgIFwidHlwZVwiOiBcImludFwiLFxuICAgIFwiZGVmYXVsdFwiOiAwLFxuICAgIFwicmFuZ2VcIjoge1xuICAgICAgXCJzdGFydFwiOiAwLFxuICAgICAgXCJlbmRcIjogSW5maW5pdHksXG4gICAgICBcInN0ZXBcIjogMVxuICAgIH0sXG4gICAgXCJkZXNjcmlwdGlvblwiOiBcIkZvcm1hdCBjb2RlIHN0YXJ0aW5nIGF0IGEgZ2l2ZW4gY2hhcmFjdGVyIG9mZnNldC5cXG5UaGUgcmFuZ2Ugd2lsbCBleHRlbmQgYmFja3dhcmRzIHRvIHRoZSBzdGFydCBvZiB0aGUgZmlyc3QgbGluZSBjb250YWluaW5nIHRoZSBzZWxlY3RlZCBzdGF0ZW1lbnQuXCIsXG4gICAgXCJjbGlDYXRlZ29yeVwiOiBcIkVkaXRvclwiXG4gIH0sXG4gIFwicmVxdWlyZVByYWdtYVwiOiB7XG4gICAgXCJjYXRlZ29yeVwiOiBcIlNwZWNpYWxcIixcbiAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgXCJkZWZhdWx0XCI6IGZhbHNlLFxuICAgIFwiZGVzY3JpcHRpb25cIjogXCJSZXF1aXJlIGVpdGhlciAnQHByZXR0aWVyJyBvciAnQGZvcm1hdCcgdG8gYmUgcHJlc2VudCBpbiB0aGUgZmlsZSdzIGZpcnN0IGRvY2Jsb2NrIGNvbW1lbnRcXG5pbiBvcmRlciBmb3IgaXQgdG8gYmUgZm9ybWF0dGVkLlwiLFxuICAgIFwiY2xpQ2F0ZWdvcnlcIjogXCJPdGhlclwiXG4gIH0sXG4gIFwidGFiV2lkdGhcIjoge1xuICAgIFwidHlwZVwiOiBcImludFwiLFxuICAgIFwiY2F0ZWdvcnlcIjogXCJHbG9iYWxcIixcbiAgICBcImRlZmF1bHRcIjogMixcbiAgICBcImRlc2NyaXB0aW9uXCI6IFwiTnVtYmVyIG9mIHNwYWNlcyBwZXIgaW5kZW50YXRpb24gbGV2ZWwuXCIsXG4gICAgXCJyYW5nZVwiOiB7XG4gICAgICBcInN0YXJ0XCI6IDAsXG4gICAgICBcImVuZFwiOiBJbmZpbml0eSxcbiAgICAgIFwic3RlcFwiOiAxXG4gICAgfVxuICB9LFxuICBcInVzZVRhYnNcIjoge1xuICAgIFwiY2F0ZWdvcnlcIjogXCJHbG9iYWxcIixcbiAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgXCJkZWZhdWx0XCI6IGZhbHNlLFxuICAgIFwiZGVzY3JpcHRpb25cIjogXCJJbmRlbnQgd2l0aCB0YWJzIGluc3RlYWQgb2Ygc3BhY2VzLlwiXG4gIH0sXG4gIFwiZW1iZWRkZWRMYW5ndWFnZUZvcm1hdHRpbmdcIjoge1xuICAgIFwiY2F0ZWdvcnlcIjogXCJHbG9iYWxcIixcbiAgICBcInR5cGVcIjogXCJjaG9pY2VcIixcbiAgICBcImRlZmF1bHRcIjogXCJhdXRvXCIsXG4gICAgXCJkZXNjcmlwdGlvblwiOiBcIkNvbnRyb2wgaG93IFByZXR0aWVyIGZvcm1hdHMgcXVvdGVkIGNvZGUgZW1iZWRkZWQgaW4gdGhlIGZpbGUuXCIsXG4gICAgXCJjaG9pY2VzXCI6IFtcbiAgICAgIHtcbiAgICAgICAgXCJ2YWx1ZVwiOiBcImF1dG9cIixcbiAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkZvcm1hdCBlbWJlZGRlZCBjb2RlIGlmIFByZXR0aWVyIGNhbiBhdXRvbWF0aWNhbGx5IGlkZW50aWZ5IGl0LlwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInZhbHVlXCI6IFwib2ZmXCIsXG4gICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJOZXZlciBhdXRvbWF0aWNhbGx5IGZvcm1hdCBlbWJlZGRlZCBjb2RlLlwiXG4gICAgICB9XG4gICAgXVxuICB9XG59O1xuXG4vLyBzcmMvbWFpbi9zdXBwb3J0LmpzXG5mdW5jdGlvbiBnZXRTdXBwb3J0SW5mbyh7IHBsdWdpbnMgPSBbXSwgc2hvd0RlcHJlY2F0ZWQgPSBmYWxzZSB9ID0ge30pIHtcbiAgY29uc3QgbGFuZ3VhZ2VzMiA9IHBsdWdpbnMuZmxhdE1hcCgocGx1Z2luKSA9PiBwbHVnaW4ubGFuZ3VhZ2VzID8/IFtdKTtcbiAgY29uc3Qgb3B0aW9uczggPSBbXTtcbiAgZm9yIChjb25zdCBvcHRpb24gb2Ygbm9ybWFsaXplT3B0aW9uU2V0dGluZ3MoXG4gICAgT2JqZWN0LmFzc2lnbih7fSwgLi4ucGx1Z2lucy5tYXAoKHsgb3B0aW9uczogb3B0aW9uczkgfSkgPT4gb3B0aW9uczkpLCBjb3JlX29wdGlvbnNfZXZhbHVhdGVfZGVmYXVsdClcbiAgKSkge1xuICAgIGlmICghc2hvd0RlcHJlY2F0ZWQgJiYgb3B0aW9uLmRlcHJlY2F0ZWQpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb24uY2hvaWNlcykpIHtcbiAgICAgIGlmICghc2hvd0RlcHJlY2F0ZWQpIHtcbiAgICAgICAgb3B0aW9uLmNob2ljZXMgPSBvcHRpb24uY2hvaWNlcy5maWx0ZXIoKGNob2ljZSkgPT4gIWNob2ljZS5kZXByZWNhdGVkKTtcbiAgICAgIH1cbiAgICAgIGlmIChvcHRpb24ubmFtZSA9PT0gXCJwYXJzZXJcIikge1xuICAgICAgICBvcHRpb24uY2hvaWNlcyA9IFtcbiAgICAgICAgICAuLi5vcHRpb24uY2hvaWNlcyxcbiAgICAgICAgICAuLi5jb2xsZWN0UGFyc2Vyc0Zyb21MYW5ndWFnZXMob3B0aW9uLmNob2ljZXMsIGxhbmd1YWdlczIsIHBsdWdpbnMpXG4gICAgICAgIF07XG4gICAgICB9XG4gICAgfVxuICAgIG9wdGlvbi5wbHVnaW5EZWZhdWx0cyA9IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICAgIHBsdWdpbnMuZmlsdGVyKChwbHVnaW4pID0+IHtcbiAgICAgICAgdmFyIF9hO1xuICAgICAgICByZXR1cm4gKChfYSA9IHBsdWdpbi5kZWZhdWx0T3B0aW9ucykgPT0gbnVsbCA/IHZvaWQgMCA6IF9hW29wdGlvbi5uYW1lXSkgIT09IHZvaWQgMDtcbiAgICAgIH0pLm1hcCgocGx1Z2luKSA9PiBbcGx1Z2luLm5hbWUsIHBsdWdpbi5kZWZhdWx0T3B0aW9uc1tvcHRpb24ubmFtZV1dKVxuICAgICk7XG4gICAgb3B0aW9uczgucHVzaChvcHRpb24pO1xuICB9XG4gIHJldHVybiB7IGxhbmd1YWdlczogbGFuZ3VhZ2VzMiwgb3B0aW9uczogb3B0aW9uczggfTtcbn1cbmZ1bmN0aW9uKiBjb2xsZWN0UGFyc2Vyc0Zyb21MYW5ndWFnZXMocGFyc2VyQ2hvaWNlcywgbGFuZ3VhZ2VzMiwgcGx1Z2lucykge1xuICBjb25zdCBleGlzdGluZ1BhcnNlcnMgPSBuZXcgU2V0KHBhcnNlckNob2ljZXMubWFwKChjaG9pY2UpID0+IGNob2ljZS52YWx1ZSkpO1xuICBmb3IgKGNvbnN0IGxhbmd1YWdlIG9mIGxhbmd1YWdlczIpIHtcbiAgICBpZiAobGFuZ3VhZ2UucGFyc2Vycykge1xuICAgICAgZm9yIChjb25zdCBwYXJzZXJOYW1lIG9mIGxhbmd1YWdlLnBhcnNlcnMpIHtcbiAgICAgICAgaWYgKCFleGlzdGluZ1BhcnNlcnMuaGFzKHBhcnNlck5hbWUpKSB7XG4gICAgICAgICAgZXhpc3RpbmdQYXJzZXJzLmFkZChwYXJzZXJOYW1lKTtcbiAgICAgICAgICBjb25zdCBwbHVnaW4gPSBwbHVnaW5zLmZpbmQoXG4gICAgICAgICAgICAocGx1Z2luMikgPT4gcGx1Z2luMi5wYXJzZXJzICYmIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbChwbHVnaW4yLnBhcnNlcnMsIHBhcnNlck5hbWUpXG4gICAgICAgICAgKTtcbiAgICAgICAgICBsZXQgZGVzY3JpcHRpb24gPSBsYW5ndWFnZS5uYW1lO1xuICAgICAgICAgIGlmIChwbHVnaW4gPT0gbnVsbCA/IHZvaWQgMCA6IHBsdWdpbi5uYW1lKSB7XG4gICAgICAgICAgICBkZXNjcmlwdGlvbiArPSBgIChwbHVnaW46ICR7cGx1Z2luLm5hbWV9KWA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHlpZWxkIHsgdmFsdWU6IHBhcnNlck5hbWUsIGRlc2NyaXB0aW9uIH07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbmZ1bmN0aW9uIG5vcm1hbGl6ZU9wdGlvblNldHRpbmdzKHNldHRpbmdzKSB7XG4gIGNvbnN0IG9wdGlvbnM4ID0gW107XG4gIGZvciAoY29uc3QgW25hbWUsIG9yaWdpbmFsT3B0aW9uXSBvZiBPYmplY3QuZW50cmllcyhzZXR0aW5ncykpIHtcbiAgICBjb25zdCBvcHRpb24gPSB7IG5hbWUsIC4uLm9yaWdpbmFsT3B0aW9uIH07XG4gICAgaWYgKEFycmF5LmlzQXJyYXkob3B0aW9uLmRlZmF1bHQpKSB7XG4gICAgICBvcHRpb24uZGVmYXVsdCA9IGF0X2RlZmF1bHQoXG4gICAgICAgIC8qIGlzT3B0aW9uYWxPYmplY3QgKi9cbiAgICAgICAgZmFsc2UsXG4gICAgICAgIG9wdGlvbi5kZWZhdWx0LFxuICAgICAgICAtMVxuICAgICAgKS52YWx1ZTtcbiAgICB9XG4gICAgb3B0aW9uczgucHVzaChvcHRpb24pO1xuICB9XG4gIHJldHVybiBvcHRpb25zODtcbn1cblxuLy8gc3JjL21haW4vbm9ybWFsaXplLW9wdGlvbnMuanNcbnZhciBoYXNEZXByZWNhdGlvbldhcm5lZDtcbmZ1bmN0aW9uIG5vcm1hbGl6ZU9wdGlvbnMob3B0aW9uczgsIG9wdGlvbkluZm9zLCB7XG4gIGxvZ2dlciA9IGZhbHNlLFxuICBpc0NMSSA9IGZhbHNlLFxuICBwYXNzVGhyb3VnaCA9IGZhbHNlLFxuICBGbGFnU2NoZW1hLFxuICBkZXNjcmlwdG9yXG59ID0ge30pIHtcbiAgaWYgKGlzQ0xJKSB7XG4gICAgaWYgKCFGbGFnU2NoZW1hKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCInRmxhZ1NjaGVtYScgb3B0aW9uIGlzIHJlcXVpcmVkLlwiKTtcbiAgICB9XG4gICAgaWYgKCFkZXNjcmlwdG9yKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCInZGVzY3JpcHRvcicgb3B0aW9uIGlzIHJlcXVpcmVkLlwiKTtcbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgZGVzY3JpcHRvciA9IGFwaURlc2NyaXB0b3I7XG4gIH1cbiAgY29uc3QgdW5rbm93biA9ICFwYXNzVGhyb3VnaCA/IChrZXkyLCB2YWx1ZSwgb3B0aW9uczkpID0+IHtcbiAgICBjb25zdCB7IF8sIC4uLnNjaGVtYXMyIH0gPSBvcHRpb25zOS5zY2hlbWFzO1xuICAgIHJldHVybiBsZXZlblVua25vd25IYW5kbGVyKGtleTIsIHZhbHVlLCB7XG4gICAgICAuLi5vcHRpb25zOSxcbiAgICAgIHNjaGVtYXM6IHNjaGVtYXMyXG4gICAgfSk7XG4gIH0gOiBBcnJheS5pc0FycmF5KHBhc3NUaHJvdWdoKSA/IChrZXkyLCB2YWx1ZSkgPT4gIXBhc3NUaHJvdWdoLmluY2x1ZGVzKGtleTIpID8gdm9pZCAwIDogeyBba2V5Ml06IHZhbHVlIH0gOiAoa2V5MiwgdmFsdWUpID0+ICh7IFtrZXkyXTogdmFsdWUgfSk7XG4gIGNvbnN0IHNjaGVtYXMgPSBvcHRpb25JbmZvc1RvU2NoZW1hcyhvcHRpb25JbmZvcywgeyBpc0NMSSwgRmxhZ1NjaGVtYSB9KTtcbiAgY29uc3Qgbm9ybWFsaXplciA9IG5ldyBOb3JtYWxpemVyKHNjaGVtYXMsIHtcbiAgICBsb2dnZXIsXG4gICAgdW5rbm93bixcbiAgICBkZXNjcmlwdG9yXG4gIH0pO1xuICBjb25zdCBzaG91bGRTdXBwcmVzc0R1cGxpY2F0ZURlcHJlY2F0aW9uV2FybmluZ3MgPSBsb2dnZXIgIT09IGZhbHNlO1xuICBpZiAoc2hvdWxkU3VwcHJlc3NEdXBsaWNhdGVEZXByZWNhdGlvbldhcm5pbmdzICYmIGhhc0RlcHJlY2F0aW9uV2FybmVkKSB7XG4gICAgbm9ybWFsaXplci5faGFzRGVwcmVjYXRpb25XYXJuZWQgPSBoYXNEZXByZWNhdGlvbldhcm5lZDtcbiAgfVxuICBjb25zdCBub3JtYWxpemVkID0gbm9ybWFsaXplci5ub3JtYWxpemUob3B0aW9uczgpO1xuICBpZiAoc2hvdWxkU3VwcHJlc3NEdXBsaWNhdGVEZXByZWNhdGlvbldhcm5pbmdzKSB7XG4gICAgaGFzRGVwcmVjYXRpb25XYXJuZWQgPSBub3JtYWxpemVyLl9oYXNEZXByZWNhdGlvbldhcm5lZDtcbiAgfVxuICByZXR1cm4gbm9ybWFsaXplZDtcbn1cbmZ1bmN0aW9uIG9wdGlvbkluZm9zVG9TY2hlbWFzKG9wdGlvbkluZm9zLCB7IGlzQ0xJLCBGbGFnU2NoZW1hIH0pIHtcbiAgY29uc3Qgc2NoZW1hcyA9IFtdO1xuICBpZiAoaXNDTEkpIHtcbiAgICBzY2hlbWFzLnB1c2goQW55U2NoZW1hLmNyZWF0ZSh7IG5hbWU6IFwiX1wiIH0pKTtcbiAgfVxuICBmb3IgKGNvbnN0IG9wdGlvbkluZm8gb2Ygb3B0aW9uSW5mb3MpIHtcbiAgICBzY2hlbWFzLnB1c2goXG4gICAgICBvcHRpb25JbmZvVG9TY2hlbWEob3B0aW9uSW5mbywge1xuICAgICAgICBpc0NMSSxcbiAgICAgICAgb3B0aW9uSW5mb3MsXG4gICAgICAgIEZsYWdTY2hlbWFcbiAgICAgIH0pXG4gICAgKTtcbiAgICBpZiAob3B0aW9uSW5mby5hbGlhcyAmJiBpc0NMSSkge1xuICAgICAgc2NoZW1hcy5wdXNoKFxuICAgICAgICBBbGlhc1NjaGVtYS5jcmVhdGUoe1xuICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3JcbiAgICAgICAgICBuYW1lOiBvcHRpb25JbmZvLmFsaWFzLFxuICAgICAgICAgIHNvdXJjZU5hbWU6IG9wdGlvbkluZm8ubmFtZVxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHNjaGVtYXM7XG59XG5mdW5jdGlvbiBvcHRpb25JbmZvVG9TY2hlbWEob3B0aW9uSW5mbywgeyBpc0NMSSwgb3B0aW9uSW5mb3MsIEZsYWdTY2hlbWEgfSkge1xuICBjb25zdCB7IG5hbWUgfSA9IG9wdGlvbkluZm87XG4gIGNvbnN0IHBhcmFtZXRlcnMgPSB7IG5hbWUgfTtcbiAgbGV0IFNjaGVtYUNvbnN0cnVjdG9yO1xuICBjb25zdCBoYW5kbGVycyA9IHt9O1xuICBzd2l0Y2ggKG9wdGlvbkluZm8udHlwZSkge1xuICAgIGNhc2UgXCJpbnRcIjpcbiAgICAgIFNjaGVtYUNvbnN0cnVjdG9yID0gSW50ZWdlclNjaGVtYTtcbiAgICAgIGlmIChpc0NMSSkge1xuICAgICAgICBwYXJhbWV0ZXJzLnByZXByb2Nlc3MgPSBOdW1iZXI7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwic3RyaW5nXCI6XG4gICAgICBTY2hlbWFDb25zdHJ1Y3RvciA9IFN0cmluZ1NjaGVtYTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgXCJjaG9pY2VcIjpcbiAgICAgIFNjaGVtYUNvbnN0cnVjdG9yID0gQ2hvaWNlU2NoZW1hO1xuICAgICAgcGFyYW1ldGVycy5jaG9pY2VzID0gb3B0aW9uSW5mby5jaG9pY2VzLm1hcChcbiAgICAgICAgKGNob2ljZUluZm8pID0+IChjaG9pY2VJbmZvID09IG51bGwgPyB2b2lkIDAgOiBjaG9pY2VJbmZvLnJlZGlyZWN0KSA/IHtcbiAgICAgICAgICAuLi5jaG9pY2VJbmZvLFxuICAgICAgICAgIHJlZGlyZWN0OiB7XG4gICAgICAgICAgICB0bzogeyBrZXk6IG9wdGlvbkluZm8ubmFtZSwgdmFsdWU6IGNob2ljZUluZm8ucmVkaXJlY3QgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSA6IGNob2ljZUluZm9cbiAgICAgICk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIFwiYm9vbGVhblwiOlxuICAgICAgU2NoZW1hQ29uc3RydWN0b3IgPSBCb29sZWFuU2NoZW1hO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcImZsYWdcIjpcbiAgICAgIFNjaGVtYUNvbnN0cnVjdG9yID0gRmxhZ1NjaGVtYTtcbiAgICAgIHBhcmFtZXRlcnMuZmxhZ3MgPSBvcHRpb25JbmZvcy5mbGF0TWFwKFxuICAgICAgICAob3B0aW9uSW5mbzIpID0+IFtcbiAgICAgICAgICBvcHRpb25JbmZvMi5hbGlhcyxcbiAgICAgICAgICBvcHRpb25JbmZvMi5kZXNjcmlwdGlvbiAmJiBvcHRpb25JbmZvMi5uYW1lLFxuICAgICAgICAgIG9wdGlvbkluZm8yLm9wcG9zaXRlRGVzY3JpcHRpb24gJiYgYG5vLSR7b3B0aW9uSW5mbzIubmFtZX1gXG4gICAgICAgIF0uZmlsdGVyKEJvb2xlYW4pXG4gICAgICApO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSBcInBhdGhcIjpcbiAgICAgIFNjaGVtYUNvbnN0cnVjdG9yID0gU3RyaW5nU2NoZW1hO1xuICAgICAgYnJlYWs7XG4gICAgZGVmYXVsdDpcbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5leHBlY3RlZCB0eXBlICR7b3B0aW9uSW5mby50eXBlfWApO1xuICB9XG4gIGlmIChvcHRpb25JbmZvLmV4Y2VwdGlvbikge1xuICAgIHBhcmFtZXRlcnMudmFsaWRhdGUgPSAodmFsdWUsIHNjaGVtYTIsIHV0aWxzKSA9PiBvcHRpb25JbmZvLmV4Y2VwdGlvbih2YWx1ZSkgfHwgc2NoZW1hMi52YWxpZGF0ZSh2YWx1ZSwgdXRpbHMpO1xuICB9IGVsc2Uge1xuICAgIHBhcmFtZXRlcnMudmFsaWRhdGUgPSAodmFsdWUsIHNjaGVtYTIsIHV0aWxzKSA9PiB2YWx1ZSA9PT0gdm9pZCAwIHx8IHNjaGVtYTIudmFsaWRhdGUodmFsdWUsIHV0aWxzKTtcbiAgfVxuICBpZiAob3B0aW9uSW5mby5yZWRpcmVjdCkge1xuICAgIGhhbmRsZXJzLnJlZGlyZWN0ID0gKHZhbHVlKSA9PiAhdmFsdWUgPyB2b2lkIDAgOiB7XG4gICAgICB0bzogdHlwZW9mIG9wdGlvbkluZm8ucmVkaXJlY3QgPT09IFwic3RyaW5nXCIgPyBvcHRpb25JbmZvLnJlZGlyZWN0IDoge1xuICAgICAgICBrZXk6IG9wdGlvbkluZm8ucmVkaXJlY3Qub3B0aW9uLFxuICAgICAgICB2YWx1ZTogb3B0aW9uSW5mby5yZWRpcmVjdC52YWx1ZVxuICAgICAgfVxuICAgIH07XG4gIH1cbiAgaWYgKG9wdGlvbkluZm8uZGVwcmVjYXRlZCkge1xuICAgIGhhbmRsZXJzLmRlcHJlY2F0ZWQgPSB0cnVlO1xuICB9XG4gIGlmIChpc0NMSSAmJiAhb3B0aW9uSW5mby5hcnJheSkge1xuICAgIGNvbnN0IG9yaWdpbmFsUHJlcHJvY2VzcyA9IHBhcmFtZXRlcnMucHJlcHJvY2VzcyB8fCAoKHgpID0+IHgpO1xuICAgIHBhcmFtZXRlcnMucHJlcHJvY2VzcyA9ICh2YWx1ZSwgc2NoZW1hMiwgdXRpbHMpID0+IHNjaGVtYTIucHJlcHJvY2VzcyhcbiAgICAgIG9yaWdpbmFsUHJlcHJvY2VzcyhBcnJheS5pc0FycmF5KHZhbHVlKSA/IGF0X2RlZmF1bHQoXG4gICAgICAgIC8qIGlzT3B0aW9uYWxPYmplY3QgKi9cbiAgICAgICAgZmFsc2UsXG4gICAgICAgIHZhbHVlLFxuICAgICAgICAtMVxuICAgICAgKSA6IHZhbHVlKSxcbiAgICAgIHV0aWxzXG4gICAgKTtcbiAgfVxuICByZXR1cm4gb3B0aW9uSW5mby5hcnJheSA/IEFycmF5U2NoZW1hLmNyZWF0ZSh7XG4gICAgLi4uaXNDTEkgPyB7IHByZXByb2Nlc3M6ICh2KSA9PiBBcnJheS5pc0FycmF5KHYpID8gdiA6IFt2XSB9IDoge30sXG4gICAgLi4uaGFuZGxlcnMsXG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHZhbHVlU2NoZW1hOiBTY2hlbWFDb25zdHJ1Y3Rvci5jcmVhdGUocGFyYW1ldGVycylcbiAgfSkgOiBTY2hlbWFDb25zdHJ1Y3Rvci5jcmVhdGUoeyAuLi5wYXJhbWV0ZXJzLCAuLi5oYW5kbGVycyB9KTtcbn1cbnZhciBub3JtYWxpemVfb3B0aW9uc19kZWZhdWx0ID0gbm9ybWFsaXplT3B0aW9ucztcblxuLy8gc2NyaXB0cy9idWlsZC9zaGltcy9hcnJheS1maW5kLWxhc3QuanNcbnZhciBhcnJheUZpbmRMYXN0ID0gKGlzT3B0aW9uYWxPYmplY3QsIGFycmF5MiwgY2FsbGJhY2spID0+IHtcbiAgaWYgKGlzT3B0aW9uYWxPYmplY3QgJiYgKGFycmF5MiA9PT0gdm9pZCAwIHx8IGFycmF5MiA9PT0gbnVsbCkpIHtcbiAgICByZXR1cm47XG4gIH1cbiAgaWYgKGFycmF5Mi5maW5kTGFzdCkge1xuICAgIHJldHVybiBhcnJheTIuZmluZExhc3QoY2FsbGJhY2spO1xuICB9XG4gIGZvciAobGV0IGluZGV4ID0gYXJyYXkyLmxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4LS0pIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXkyW2luZGV4XTtcbiAgICBpZiAoY2FsbGJhY2soZWxlbWVudCwgaW5kZXgsIGFycmF5MikpIHtcbiAgICAgIHJldHVybiBlbGVtZW50O1xuICAgIH1cbiAgfVxufTtcbnZhciBhcnJheV9maW5kX2xhc3RfZGVmYXVsdCA9IGFycmF5RmluZExhc3Q7XG5cbi8vIHNyYy9tYWluL3BhcnNlci1hbmQtcHJpbnRlci5qc1xuZnVuY3Rpb24gZ2V0UGFyc2VyUGx1Z2luQnlQYXJzZXJOYW1lKHBsdWdpbnMsIHBhcnNlck5hbWUpIHtcbiAgaWYgKCFwYXJzZXJOYW1lKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwicGFyc2VyTmFtZSBpcyByZXF1aXJlZC5cIik7XG4gIH1cbiAgY29uc3QgcGx1Z2luID0gYXJyYXlfZmluZF9sYXN0X2RlZmF1bHQoXG4gICAgLyogaXNPcHRpb25hbE9iamVjdCAqL1xuICAgIGZhbHNlLFxuICAgIHBsdWdpbnMsXG4gICAgKHBsdWdpbjIpID0+IHBsdWdpbjIucGFyc2VycyAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocGx1Z2luMi5wYXJzZXJzLCBwYXJzZXJOYW1lKVxuICApO1xuICBpZiAocGx1Z2luKSB7XG4gICAgcmV0dXJuIHBsdWdpbjtcbiAgfVxuICBsZXQgbWVzc2FnZSA9IGBDb3VsZG4ndCByZXNvbHZlIHBhcnNlciBcIiR7cGFyc2VyTmFtZX1cIi5gO1xuICBpZiAoZmFsc2UpIHtcbiAgICBtZXNzYWdlICs9IFwiIFBsdWdpbnMgbXVzdCBiZSBleHBsaWNpdGx5IGFkZGVkIHRvIHRoZSBzdGFuZGFsb25lIGJ1bmRsZS5cIjtcbiAgfVxuICB0aHJvdyBuZXcgQ29uZmlnRXJyb3IobWVzc2FnZSk7XG59XG5mdW5jdGlvbiBnZXRQcmludGVyUGx1Z2luQnlBc3RGb3JtYXQocGx1Z2lucywgYXN0Rm9ybWF0KSB7XG4gIGlmICghYXN0Rm9ybWF0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiYXN0Rm9ybWF0IGlzIHJlcXVpcmVkLlwiKTtcbiAgfVxuICBjb25zdCBwbHVnaW4gPSBhcnJheV9maW5kX2xhc3RfZGVmYXVsdChcbiAgICAvKiBpc09wdGlvbmFsT2JqZWN0ICovXG4gICAgZmFsc2UsXG4gICAgcGx1Z2lucyxcbiAgICAocGx1Z2luMikgPT4gcGx1Z2luMi5wcmludGVycyAmJiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwocGx1Z2luMi5wcmludGVycywgYXN0Rm9ybWF0KVxuICApO1xuICBpZiAocGx1Z2luKSB7XG4gICAgcmV0dXJuIHBsdWdpbjtcbiAgfVxuICBsZXQgbWVzc2FnZSA9IGBDb3VsZG4ndCBmaW5kIHBsdWdpbiBmb3IgQVNUIGZvcm1hdCBcIiR7YXN0Rm9ybWF0fVwiLmA7XG4gIGlmIChmYWxzZSkge1xuICAgIG1lc3NhZ2UgKz0gXCIgUGx1Z2lucyBtdXN0IGJlIGV4cGxpY2l0bHkgYWRkZWQgdG8gdGhlIHN0YW5kYWxvbmUgYnVuZGxlLlwiO1xuICB9XG4gIHRocm93IG5ldyBDb25maWdFcnJvcihtZXNzYWdlKTtcbn1cbmZ1bmN0aW9uIHJlc29sdmVQYXJzZXIoeyBwbHVnaW5zLCBwYXJzZXIgfSkge1xuICBjb25zdCBwbHVnaW4gPSBnZXRQYXJzZXJQbHVnaW5CeVBhcnNlck5hbWUocGx1Z2lucywgcGFyc2VyKTtcbiAgcmV0dXJuIGluaXRQYXJzZXIocGx1Z2luLCBwYXJzZXIpO1xufVxuZnVuY3Rpb24gaW5pdFBhcnNlcihwbHVnaW4sIHBhcnNlck5hbWUpIHtcbiAgY29uc3QgcGFyc2VyT3JQYXJzZXJJbml0RnVuY3Rpb24gPSBwbHVnaW4ucGFyc2Vyc1twYXJzZXJOYW1lXTtcbiAgcmV0dXJuIHR5cGVvZiBwYXJzZXJPclBhcnNlckluaXRGdW5jdGlvbiA9PT0gXCJmdW5jdGlvblwiID8gcGFyc2VyT3JQYXJzZXJJbml0RnVuY3Rpb24oKSA6IHBhcnNlck9yUGFyc2VySW5pdEZ1bmN0aW9uO1xufVxuZnVuY3Rpb24gaW5pdFByaW50ZXIocGx1Z2luLCBhc3RGb3JtYXQpIHtcbiAgY29uc3QgcHJpbnRlck9yUHJpbnRlckluaXRGdW5jdGlvbiA9IHBsdWdpbi5wcmludGVyc1thc3RGb3JtYXRdO1xuICByZXR1cm4gdHlwZW9mIHByaW50ZXJPclByaW50ZXJJbml0RnVuY3Rpb24gPT09IFwiZnVuY3Rpb25cIiA/IHByaW50ZXJPclByaW50ZXJJbml0RnVuY3Rpb24oKSA6IHByaW50ZXJPclByaW50ZXJJbml0RnVuY3Rpb247XG59XG5cbi8vIHNyYy9tYWluL25vcm1hbGl6ZS1mb3JtYXQtb3B0aW9ucy5qc1xudmFyIGZvcm1hdE9wdGlvbnNIaWRkZW5EZWZhdWx0cyA9IHtcbiAgYXN0Rm9ybWF0OiBcImVzdHJlZVwiLFxuICBwcmludGVyOiB7fSxcbiAgb3JpZ2luYWxUZXh0OiB2b2lkIDAsXG4gIGxvY1N0YXJ0OiBudWxsLFxuICBsb2NFbmQ6IG51bGxcbn07XG5hc3luYyBmdW5jdGlvbiBub3JtYWxpemVGb3JtYXRPcHRpb25zKG9wdGlvbnM4LCBvcHRzID0ge30pIHtcbiAgdmFyIF9hO1xuICBjb25zdCByYXdPcHRpb25zID0geyAuLi5vcHRpb25zOCB9O1xuICBpZiAoIXJhd09wdGlvbnMucGFyc2VyKSB7XG4gICAgaWYgKCFyYXdPcHRpb25zLmZpbGVwYXRoKSB7XG4gICAgICB0aHJvdyBuZXcgVW5kZWZpbmVkUGFyc2VyRXJyb3IoXG4gICAgICAgIFwiTm8gcGFyc2VyIGFuZCBubyBmaWxlIHBhdGggZ2l2ZW4sIGNvdWxkbid0IGluZmVyIGEgcGFyc2VyLlwiXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByYXdPcHRpb25zLnBhcnNlciA9IGluZmVyX3BhcnNlcl9kZWZhdWx0KHJhd09wdGlvbnMsIHtcbiAgICAgICAgcGh5c2ljYWxGaWxlOiByYXdPcHRpb25zLmZpbGVwYXRoXG4gICAgICB9KTtcbiAgICAgIGlmICghcmF3T3B0aW9ucy5wYXJzZXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFVuZGVmaW5lZFBhcnNlckVycm9yKFxuICAgICAgICAgIGBObyBwYXJzZXIgY291bGQgYmUgaW5mZXJyZWQgZm9yIGZpbGUgXCIke3Jhd09wdGlvbnMuZmlsZXBhdGh9XCIuYFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBjb25zdCBzdXBwb3J0T3B0aW9ucyA9IGdldFN1cHBvcnRJbmZvKHtcbiAgICBwbHVnaW5zOiBvcHRpb25zOC5wbHVnaW5zLFxuICAgIHNob3dEZXByZWNhdGVkOiB0cnVlXG4gIH0pLm9wdGlvbnM7XG4gIGNvbnN0IGRlZmF1bHRzID0ge1xuICAgIC4uLmZvcm1hdE9wdGlvbnNIaWRkZW5EZWZhdWx0cyxcbiAgICAuLi5PYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICBzdXBwb3J0T3B0aW9ucy5maWx0ZXIoKG9wdGlvbkluZm8pID0+IG9wdGlvbkluZm8uZGVmYXVsdCAhPT0gdm9pZCAwKS5tYXAoKG9wdGlvbikgPT4gW29wdGlvbi5uYW1lLCBvcHRpb24uZGVmYXVsdF0pXG4gICAgKVxuICB9O1xuICBjb25zdCBwYXJzZXJQbHVnaW4gPSBnZXRQYXJzZXJQbHVnaW5CeVBhcnNlck5hbWUoXG4gICAgcmF3T3B0aW9ucy5wbHVnaW5zLFxuICAgIHJhd09wdGlvbnMucGFyc2VyXG4gICk7XG4gIGNvbnN0IHBhcnNlciA9IGF3YWl0IGluaXRQYXJzZXIocGFyc2VyUGx1Z2luLCByYXdPcHRpb25zLnBhcnNlcik7XG4gIHJhd09wdGlvbnMuYXN0Rm9ybWF0ID0gcGFyc2VyLmFzdEZvcm1hdDtcbiAgcmF3T3B0aW9ucy5sb2NFbmQgPSBwYXJzZXIubG9jRW5kO1xuICByYXdPcHRpb25zLmxvY1N0YXJ0ID0gcGFyc2VyLmxvY1N0YXJ0O1xuICBjb25zdCBwcmludGVyUGx1Z2luID0gKChfYSA9IHBhcnNlclBsdWdpbi5wcmludGVycykgPT0gbnVsbCA/IHZvaWQgMCA6IF9hW3BhcnNlci5hc3RGb3JtYXRdKSA/IHBhcnNlclBsdWdpbiA6IGdldFByaW50ZXJQbHVnaW5CeUFzdEZvcm1hdChyYXdPcHRpb25zLnBsdWdpbnMsIHBhcnNlci5hc3RGb3JtYXQpO1xuICBjb25zdCBwcmludGVyID0gYXdhaXQgaW5pdFByaW50ZXIocHJpbnRlclBsdWdpbiwgcGFyc2VyLmFzdEZvcm1hdCk7XG4gIHJhd09wdGlvbnMucHJpbnRlciA9IHByaW50ZXI7XG4gIGNvbnN0IHBsdWdpbkRlZmF1bHRzID0gcHJpbnRlclBsdWdpbi5kZWZhdWx0T3B0aW9ucyA/IE9iamVjdC5mcm9tRW50cmllcyhcbiAgICBPYmplY3QuZW50cmllcyhwcmludGVyUGx1Z2luLmRlZmF1bHRPcHRpb25zKS5maWx0ZXIoXG4gICAgICAoWywgdmFsdWVdKSA9PiB2YWx1ZSAhPT0gdm9pZCAwXG4gICAgKVxuICApIDoge307XG4gIGNvbnN0IG1peGVkRGVmYXVsdHMgPSB7IC4uLmRlZmF1bHRzLCAuLi5wbHVnaW5EZWZhdWx0cyB9O1xuICBmb3IgKGNvbnN0IFtrLCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMobWl4ZWREZWZhdWx0cykpIHtcbiAgICBpZiAocmF3T3B0aW9uc1trXSA9PT0gbnVsbCB8fCByYXdPcHRpb25zW2tdID09PSB2b2lkIDApIHtcbiAgICAgIHJhd09wdGlvbnNba10gPSB2YWx1ZTtcbiAgICB9XG4gIH1cbiAgaWYgKHJhd09wdGlvbnMucGFyc2VyID09PSBcImpzb25cIikge1xuICAgIHJhd09wdGlvbnMudHJhaWxpbmdDb21tYSA9IFwibm9uZVwiO1xuICB9XG4gIHJldHVybiBub3JtYWxpemVfb3B0aW9uc19kZWZhdWx0KHJhd09wdGlvbnMsIHN1cHBvcnRPcHRpb25zLCB7XG4gICAgcGFzc1Rocm91Z2g6IE9iamVjdC5rZXlzKGZvcm1hdE9wdGlvbnNIaWRkZW5EZWZhdWx0cyksXG4gICAgLi4ub3B0c1xuICB9KTtcbn1cbnZhciBub3JtYWxpemVfZm9ybWF0X29wdGlvbnNfZGVmYXVsdCA9IG5vcm1hbGl6ZUZvcm1hdE9wdGlvbnM7XG5cbi8vIHNyYy9tYWluL3BhcnNlLmpzXG52YXIgaW1wb3J0X2NvZGVfZnJhbWUyID0gX190b0VTTShyZXF1aXJlX2xpYjIoKSwgMSk7XG5hc3luYyBmdW5jdGlvbiBwYXJzZTUob3JpZ2luYWxUZXh0LCBvcHRpb25zOCkge1xuICBjb25zdCBwYXJzZXIgPSBhd2FpdCByZXNvbHZlUGFyc2VyKG9wdGlvbnM4KTtcbiAgY29uc3QgdGV4dCA9IHBhcnNlci5wcmVwcm9jZXNzID8gcGFyc2VyLnByZXByb2Nlc3Mob3JpZ2luYWxUZXh0LCBvcHRpb25zOCkgOiBvcmlnaW5hbFRleHQ7XG4gIG9wdGlvbnM4Lm9yaWdpbmFsVGV4dCA9IHRleHQ7XG4gIGxldCBhc3Q7XG4gIHRyeSB7XG4gICAgYXN0ID0gYXdhaXQgcGFyc2VyLnBhcnNlKFxuICAgICAgdGV4dCxcbiAgICAgIG9wdGlvbnM4LFxuICAgICAgLy8gVE9ETzogcmVtb3ZlIHRoZSB0aGlyZCBhcmd1bWVudCBpbiB2NFxuICAgICAgLy8gVGhlIGR1cGxpY2F0ZWQgYXJndW1lbnQgaXMgcGFzc2VkIGFzIGludGVuZGVkLCBzZWUgIzEwMTU2XG4gICAgICBvcHRpb25zOFxuICAgICk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaGFuZGxlUGFyc2VFcnJvcihlcnJvciwgb3JpZ2luYWxUZXh0KTtcbiAgfVxuICByZXR1cm4geyB0ZXh0LCBhc3QgfTtcbn1cbmZ1bmN0aW9uIGhhbmRsZVBhcnNlRXJyb3IoZXJyb3IsIHRleHQpIHtcbiAgY29uc3QgeyBsb2MgfSA9IGVycm9yO1xuICBpZiAobG9jKSB7XG4gICAgY29uc3QgY29kZUZyYW1lID0gKDAsIGltcG9ydF9jb2RlX2ZyYW1lMi5jb2RlRnJhbWVDb2x1bW5zKSh0ZXh0LCBsb2MsIHsgaGlnaGxpZ2h0Q29kZTogdHJ1ZSB9KTtcbiAgICBlcnJvci5tZXNzYWdlICs9IFwiXFxuXCIgKyBjb2RlRnJhbWU7XG4gICAgZXJyb3IuY29kZUZyYW1lID0gY29kZUZyYW1lO1xuICAgIHRocm93IGVycm9yO1xuICB9XG4gIHRocm93IGVycm9yO1xufVxudmFyIHBhcnNlX2RlZmF1bHQgPSBwYXJzZTU7XG5cbi8vIHNyYy9tYWluL211bHRpcGFyc2VyLmpzXG5hc3luYyBmdW5jdGlvbiBwcmludEVtYmVkZGVkTGFuZ3VhZ2VzKHBhdGgxMywgZ2VuZXJpY1ByaW50LCBvcHRpb25zOCwgcHJpbnRBc3RUb0RvYzIsIGVtYmVkcykge1xuICBjb25zdCB7XG4gICAgZW1iZWRkZWRMYW5ndWFnZUZvcm1hdHRpbmcsXG4gICAgcHJpbnRlcjoge1xuICAgICAgZW1iZWQsXG4gICAgICBoYXNQcmV0dGllcklnbm9yZSA9ICgpID0+IGZhbHNlLFxuICAgICAgZ2V0VmlzaXRvcktleXM6IHByaW50ZXJHZXRWaXNpdG9yS2V5c1xuICAgIH1cbiAgfSA9IG9wdGlvbnM4O1xuICBpZiAoIWVtYmVkIHx8IGVtYmVkZGVkTGFuZ3VhZ2VGb3JtYXR0aW5nICE9PSBcImF1dG9cIikge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoZW1iZWQubGVuZ3RoID4gMikge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwicHJpbnRlci5lbWJlZCBoYXMgdG9vIG1hbnkgcGFyYW1ldGVycy4gVGhlIEFQSSBjaGFuZ2VkIGluIFByZXR0aWVyIHYzLiBQbGVhc2UgdXBkYXRlIHlvdXIgcGx1Z2luLiBTZWUgaHR0cHM6Ly9wcmV0dGllci5pby9kb2NzL2VuL3BsdWdpbnMuaHRtbCNvcHRpb25hbC1lbWJlZFwiXG4gICAgKTtcbiAgfVxuICBjb25zdCBnZXRWaXNpdG9yS2V5cyA9IGNyZWF0ZV9nZXRfdmlzaXRvcl9rZXlzX2Z1bmN0aW9uX2RlZmF1bHQoXG4gICAgZW1iZWQuZ2V0VmlzaXRvcktleXMgPz8gcHJpbnRlckdldFZpc2l0b3JLZXlzXG4gICk7XG4gIGNvbnN0IGVtYmVkQ2FsbFJlc3VsdHMgPSBbXTtcbiAgcmVjdXJzZSgpO1xuICBjb25zdCBvcmlnaW5hbFBhdGhTdGFjayA9IHBhdGgxMy5zdGFjaztcbiAgZm9yIChjb25zdCB7IHByaW50LCBub2RlLCBwYXRoU3RhY2sgfSBvZiBlbWJlZENhbGxSZXN1bHRzKSB7XG4gICAgdHJ5IHtcbiAgICAgIHBhdGgxMy5zdGFjayA9IHBhdGhTdGFjaztcbiAgICAgIGNvbnN0IGRvYzIgPSBhd2FpdCBwcmludCh0ZXh0VG9Eb2NGb3JFbWJlZCwgZ2VuZXJpY1ByaW50LCBwYXRoMTMsIG9wdGlvbnM4KTtcbiAgICAgIGlmIChkb2MyKSB7XG4gICAgICAgIGVtYmVkcy5zZXQobm9kZSwgZG9jMik7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmIChwcm9jZXNzLmVudi5QUkVUVElFUl9ERUJVRykge1xuICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcGF0aDEzLnN0YWNrID0gb3JpZ2luYWxQYXRoU3RhY2s7XG4gIGZ1bmN0aW9uIHRleHRUb0RvY0ZvckVtYmVkKHRleHQsIHBhcnRpYWxOZXh0T3B0aW9ucykge1xuICAgIHJldHVybiB0ZXh0VG9Eb2ModGV4dCwgcGFydGlhbE5leHRPcHRpb25zLCBvcHRpb25zOCwgcHJpbnRBc3RUb0RvYzIpO1xuICB9XG4gIGZ1bmN0aW9uIHJlY3Vyc2UoKSB7XG4gICAgY29uc3QgeyBub2RlIH0gPSBwYXRoMTM7XG4gICAgaWYgKG5vZGUgPT09IG51bGwgfHwgdHlwZW9mIG5vZGUgIT09IFwib2JqZWN0XCIgfHwgaGFzUHJldHRpZXJJZ25vcmUocGF0aDEzKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3IgKGNvbnN0IGtleTIgb2YgZ2V0VmlzaXRvcktleXMobm9kZSkpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KG5vZGVba2V5Ml0pKSB7XG4gICAgICAgIHBhdGgxMy5lYWNoKHJlY3Vyc2UsIGtleTIpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcGF0aDEzLmNhbGwocmVjdXJzZSwga2V5Mik7XG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IGVtYmVkKHBhdGgxMywgb3B0aW9uczgpO1xuICAgIGlmICghcmVzdWx0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0eXBlb2YgcmVzdWx0ID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICAgIGVtYmVkQ2FsbFJlc3VsdHMucHVzaCh7XG4gICAgICAgIHByaW50OiByZXN1bHQsXG4gICAgICAgIG5vZGUsXG4gICAgICAgIHBhdGhTdGFjazogWy4uLnBhdGgxMy5zdGFja11cbiAgICAgIH0pO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZmFsc2UpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgXCJgZW1iZWRgIHNob3VsZCByZXR1cm4gYW4gYXN5bmMgZnVuY3Rpb24gaW5zdGVhZCBvZiBQcm9taXNlLlwiXG4gICAgICApO1xuICAgIH1cbiAgICBlbWJlZHMuc2V0KG5vZGUsIHJlc3VsdCk7XG4gIH1cbn1cbmFzeW5jIGZ1bmN0aW9uIHRleHRUb0RvYyh0ZXh0LCBwYXJ0aWFsTmV4dE9wdGlvbnMsIHBhcmVudE9wdGlvbnMsIHByaW50QXN0VG9Eb2MyKSB7XG4gIGNvbnN0IG9wdGlvbnM4ID0gYXdhaXQgbm9ybWFsaXplX2Zvcm1hdF9vcHRpb25zX2RlZmF1bHQoXG4gICAge1xuICAgICAgLi4ucGFyZW50T3B0aW9ucyxcbiAgICAgIC4uLnBhcnRpYWxOZXh0T3B0aW9ucyxcbiAgICAgIHBhcmVudFBhcnNlcjogcGFyZW50T3B0aW9ucy5wYXJzZXIsXG4gICAgICBvcmlnaW5hbFRleHQ6IHRleHRcbiAgICB9LFxuICAgIHsgcGFzc1Rocm91Z2g6IHRydWUgfVxuICApO1xuICBjb25zdCB7IGFzdCB9ID0gYXdhaXQgcGFyc2VfZGVmYXVsdCh0ZXh0LCBvcHRpb25zOCk7XG4gIGNvbnN0IGRvYzIgPSBhd2FpdCBwcmludEFzdFRvRG9jMihhc3QsIG9wdGlvbnM4KTtcbiAgcmV0dXJuIHN0cmlwVHJhaWxpbmdIYXJkbGluZShkb2MyKTtcbn1cblxuLy8gc3JjL21haW4vcHJpbnQtaWdub3JlZC5qc1xuZnVuY3Rpb24gcHJpbnRJZ25vcmVkKHBhdGgxMywgb3B0aW9uczgpIHtcbiAgY29uc3Qge1xuICAgIG9yaWdpbmFsVGV4dCxcbiAgICBbU3ltYm9sLmZvcihcImNvbW1lbnRzXCIpXTogY29tbWVudHMsXG4gICAgbG9jU3RhcnQsXG4gICAgbG9jRW5kLFxuICAgIFtTeW1ib2wuZm9yKFwicHJpbnRlZENvbW1lbnRzXCIpXTogcHJpbnRlZENvbW1lbnRzXG4gIH0gPSBvcHRpb25zODtcbiAgY29uc3QgeyBub2RlIH0gPSBwYXRoMTM7XG4gIGNvbnN0IHN0YXJ0ID0gbG9jU3RhcnQobm9kZSk7XG4gIGNvbnN0IGVuZCA9IGxvY0VuZChub2RlKTtcbiAgZm9yIChjb25zdCBjb21tZW50IG9mIGNvbW1lbnRzKSB7XG4gICAgaWYgKGxvY1N0YXJ0KGNvbW1lbnQpID49IHN0YXJ0ICYmIGxvY0VuZChjb21tZW50KSA8PSBlbmQpIHtcbiAgICAgIHByaW50ZWRDb21tZW50cy5hZGQoY29tbWVudCk7XG4gICAgfVxuICB9XG4gIHJldHVybiBvcmlnaW5hbFRleHQuc2xpY2Uoc3RhcnQsIGVuZCk7XG59XG52YXIgcHJpbnRfaWdub3JlZF9kZWZhdWx0ID0gcHJpbnRJZ25vcmVkO1xuXG4vLyBzcmMvbWFpbi9hc3QtdG8tZG9jLmpzXG5hc3luYyBmdW5jdGlvbiBwcmludEFzdFRvRG9jKGFzdCwgb3B0aW9uczgpIHtcbiAgKHsgYXN0IH0gPSBhd2FpdCBwcmVwYXJlVG9QcmludChhc3QsIG9wdGlvbnM4KSk7XG4gIGNvbnN0IGNhY2hlMyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gIGNvbnN0IHBhdGgxMyA9IG5ldyBhc3RfcGF0aF9kZWZhdWx0KGFzdCk7XG4gIGNvbnN0IGVuc3VyZVByaW50aW5nTm9kZSA9IGNyZWF0ZV9wcmludF9wcmVfY2hlY2tfZnVuY3Rpb25fZGVmYXVsdChvcHRpb25zOCk7XG4gIGNvbnN0IGVtYmVkcyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgTWFwKCk7XG4gIGF3YWl0IHByaW50RW1iZWRkZWRMYW5ndWFnZXMocGF0aDEzLCBtYWluUHJpbnQsIG9wdGlvbnM4LCBwcmludEFzdFRvRG9jLCBlbWJlZHMpO1xuICBjb25zdCBkb2MyID0gYXdhaXQgY2FsbFBsdWdpblByaW50RnVuY3Rpb24oXG4gICAgcGF0aDEzLFxuICAgIG9wdGlvbnM4LFxuICAgIG1haW5QcmludCxcbiAgICB2b2lkIDAsXG4gICAgZW1iZWRzXG4gICk7XG4gIGVuc3VyZUFsbENvbW1lbnRzUHJpbnRlZChvcHRpb25zOCk7XG4gIGlmIChvcHRpb25zOC5ub2RlQWZ0ZXJDdXJzb3IgJiYgIW9wdGlvbnM4Lm5vZGVCZWZvcmVDdXJzb3IpIHtcbiAgICByZXR1cm4gW2N1cnNvciwgZG9jMl07XG4gIH1cbiAgaWYgKG9wdGlvbnM4Lm5vZGVCZWZvcmVDdXJzb3IgJiYgIW9wdGlvbnM4Lm5vZGVBZnRlckN1cnNvcikge1xuICAgIHJldHVybiBbZG9jMiwgY3Vyc29yXTtcbiAgfVxuICByZXR1cm4gZG9jMjtcbiAgZnVuY3Rpb24gbWFpblByaW50KHNlbGVjdG9yLCBhcmdzKSB7XG4gICAgaWYgKHNlbGVjdG9yID09PSB2b2lkIDAgfHwgc2VsZWN0b3IgPT09IHBhdGgxMykge1xuICAgICAgcmV0dXJuIG1haW5QcmludEludGVybmFsKGFyZ3MpO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShzZWxlY3RvcikpIHtcbiAgICAgIHJldHVybiBwYXRoMTMuY2FsbCgoKSA9PiBtYWluUHJpbnRJbnRlcm5hbChhcmdzKSwgLi4uc2VsZWN0b3IpO1xuICAgIH1cbiAgICByZXR1cm4gcGF0aDEzLmNhbGwoKCkgPT4gbWFpblByaW50SW50ZXJuYWwoYXJncyksIHNlbGVjdG9yKTtcbiAgfVxuICBmdW5jdGlvbiBtYWluUHJpbnRJbnRlcm5hbChhcmdzKSB7XG4gICAgZW5zdXJlUHJpbnRpbmdOb2RlKHBhdGgxMyk7XG4gICAgY29uc3QgdmFsdWUgPSBwYXRoMTMubm9kZTtcbiAgICBpZiAodmFsdWUgPT09IHZvaWQgMCB8fCB2YWx1ZSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuIFwiXCI7XG4gICAgfVxuICAgIGNvbnN0IHNob3VsZENhY2hlID0gdmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiICYmIGFyZ3MgPT09IHZvaWQgMDtcbiAgICBpZiAoc2hvdWxkQ2FjaGUgJiYgY2FjaGUzLmhhcyh2YWx1ZSkpIHtcbiAgICAgIHJldHVybiBjYWNoZTMuZ2V0KHZhbHVlKTtcbiAgICB9XG4gICAgY29uc3QgZG9jMyA9IGNhbGxQbHVnaW5QcmludEZ1bmN0aW9uKHBhdGgxMywgb3B0aW9uczgsIG1haW5QcmludCwgYXJncywgZW1iZWRzKTtcbiAgICBpZiAoc2hvdWxkQ2FjaGUpIHtcbiAgICAgIGNhY2hlMy5zZXQodmFsdWUsIGRvYzMpO1xuICAgIH1cbiAgICByZXR1cm4gZG9jMztcbiAgfVxufVxuZnVuY3Rpb24gY2FsbFBsdWdpblByaW50RnVuY3Rpb24ocGF0aDEzLCBvcHRpb25zOCwgcHJpbnRQYXRoLCBhcmdzLCBlbWJlZHMpIHtcbiAgdmFyIF9hO1xuICBjb25zdCB7IG5vZGUgfSA9IHBhdGgxMztcbiAgY29uc3QgeyBwcmludGVyIH0gPSBvcHRpb25zODtcbiAgbGV0IGRvYzI7XG4gIGlmICgoX2EgPSBwcmludGVyLmhhc1ByZXR0aWVySWdub3JlKSA9PSBudWxsID8gdm9pZCAwIDogX2EuY2FsbChwcmludGVyLCBwYXRoMTMpKSB7XG4gICAgZG9jMiA9IHByaW50X2lnbm9yZWRfZGVmYXVsdChwYXRoMTMsIG9wdGlvbnM4KTtcbiAgfSBlbHNlIGlmIChlbWJlZHMuaGFzKG5vZGUpKSB7XG4gICAgZG9jMiA9IGVtYmVkcy5nZXQobm9kZSk7XG4gIH0gZWxzZSB7XG4gICAgZG9jMiA9IHByaW50ZXIucHJpbnQocGF0aDEzLCBvcHRpb25zOCwgcHJpbnRQYXRoLCBhcmdzKTtcbiAgfVxuICBzd2l0Y2ggKG5vZGUpIHtcbiAgICBjYXNlIG9wdGlvbnM4LmN1cnNvck5vZGU6XG4gICAgICBkb2MyID0gaW5oZXJpdExhYmVsKGRvYzIsIChkb2MzKSA9PiBbY3Vyc29yLCBkb2MzLCBjdXJzb3JdKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2Ugb3B0aW9uczgubm9kZUJlZm9yZUN1cnNvcjpcbiAgICAgIGRvYzIgPSBpbmhlcml0TGFiZWwoZG9jMiwgKGRvYzMpID0+IFtkb2MzLCBjdXJzb3JdKTtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2Ugb3B0aW9uczgubm9kZUFmdGVyQ3Vyc29yOlxuICAgICAgZG9jMiA9IGluaGVyaXRMYWJlbChkb2MyLCAoZG9jMykgPT4gW2N1cnNvciwgZG9jM10pO1xuICAgICAgYnJlYWs7XG4gIH1cbiAgaWYgKHByaW50ZXIucHJpbnRDb21tZW50ICYmICghcHJpbnRlci53aWxsUHJpbnRPd25Db21tZW50cyB8fCAhcHJpbnRlci53aWxsUHJpbnRPd25Db21tZW50cyhwYXRoMTMsIG9wdGlvbnM4KSkpIHtcbiAgICBkb2MyID0gcHJpbnRDb21tZW50cyhwYXRoMTMsIGRvYzIsIG9wdGlvbnM4KTtcbiAgfVxuICByZXR1cm4gZG9jMjtcbn1cbmFzeW5jIGZ1bmN0aW9uIHByZXBhcmVUb1ByaW50KGFzdCwgb3B0aW9uczgpIHtcbiAgY29uc3QgY29tbWVudHMgPSBhc3QuY29tbWVudHMgPz8gW107XG4gIG9wdGlvbnM4W1N5bWJvbC5mb3IoXCJjb21tZW50c1wiKV0gPSBjb21tZW50cztcbiAgb3B0aW9uczhbU3ltYm9sLmZvcihcInRva2Vuc1wiKV0gPSBhc3QudG9rZW5zID8/IFtdO1xuICBvcHRpb25zOFtTeW1ib2wuZm9yKFwicHJpbnRlZENvbW1lbnRzXCIpXSA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KCk7XG4gIGF0dGFjaENvbW1lbnRzKGFzdCwgb3B0aW9uczgpO1xuICBjb25zdCB7XG4gICAgcHJpbnRlcjogeyBwcmVwcm9jZXNzIH1cbiAgfSA9IG9wdGlvbnM4O1xuICBhc3QgPSBwcmVwcm9jZXNzID8gYXdhaXQgcHJlcHJvY2Vzcyhhc3QsIG9wdGlvbnM4KSA6IGFzdDtcbiAgcmV0dXJuIHsgYXN0LCBjb21tZW50cyB9O1xufVxuXG4vLyBzcmMvbWFpbi9nZXQtY3Vyc29yLW5vZGUuanNcbmZ1bmN0aW9uIGdldEN1cnNvckxvY2F0aW9uKGFzdCwgb3B0aW9uczgpIHtcbiAgY29uc3QgeyBjdXJzb3JPZmZzZXQsIGxvY1N0YXJ0LCBsb2NFbmQgfSA9IG9wdGlvbnM4O1xuICBjb25zdCBnZXRWaXNpdG9yS2V5cyA9IGNyZWF0ZV9nZXRfdmlzaXRvcl9rZXlzX2Z1bmN0aW9uX2RlZmF1bHQoXG4gICAgb3B0aW9uczgucHJpbnRlci5nZXRWaXNpdG9yS2V5c1xuICApO1xuICBjb25zdCBub2RlQ29udGFpbnNDdXJzb3IgPSAobm9kZSkgPT4gbG9jU3RhcnQobm9kZSkgPD0gY3Vyc29yT2Zmc2V0ICYmIGxvY0VuZChub2RlKSA+PSBjdXJzb3JPZmZzZXQ7XG4gIGxldCBjdXJzb3JOb2RlID0gYXN0O1xuICBjb25zdCBub2Rlc0NvbnRhaW5pbmdDdXJzb3IgPSBbYXN0XTtcbiAgZm9yIChjb25zdCBub2RlIG9mIGdldERlc2NlbmRhbnRzKGFzdCwge1xuICAgIGdldFZpc2l0b3JLZXlzLFxuICAgIGZpbHRlcjogbm9kZUNvbnRhaW5zQ3Vyc29yXG4gIH0pKSB7XG4gICAgbm9kZXNDb250YWluaW5nQ3Vyc29yLnB1c2gobm9kZSk7XG4gICAgY3Vyc29yTm9kZSA9IG5vZGU7XG4gIH1cbiAgaWYgKGlzTGVhZihjdXJzb3JOb2RlLCB7IGdldFZpc2l0b3JLZXlzIH0pKSB7XG4gICAgcmV0dXJuIHsgY3Vyc29yTm9kZSB9O1xuICB9XG4gIGxldCBub2RlQmVmb3JlQ3Vyc29yO1xuICBsZXQgbm9kZUFmdGVyQ3Vyc29yO1xuICBsZXQgbm9kZUJlZm9yZUN1cnNvckVuZEluZGV4ID0gLTE7XG4gIGxldCBub2RlQWZ0ZXJDdXJzb3JTdGFydEluZGV4ID0gTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZO1xuICB3aGlsZSAobm9kZXNDb250YWluaW5nQ3Vyc29yLmxlbmd0aCA+IDAgJiYgKG5vZGVCZWZvcmVDdXJzb3IgPT09IHZvaWQgMCB8fCBub2RlQWZ0ZXJDdXJzb3IgPT09IHZvaWQgMCkpIHtcbiAgICBjdXJzb3JOb2RlID0gbm9kZXNDb250YWluaW5nQ3Vyc29yLnBvcCgpO1xuICAgIGNvbnN0IGZvdW5kQmVmb3JlTm9kZSA9IG5vZGVCZWZvcmVDdXJzb3IgIT09IHZvaWQgMDtcbiAgICBjb25zdCBmb3VuZEFmdGVyTm9kZSA9IG5vZGVBZnRlckN1cnNvciAhPT0gdm9pZCAwO1xuICAgIGZvciAoY29uc3Qgbm9kZSBvZiBnZXRDaGlsZHJlbihjdXJzb3JOb2RlLCB7IGdldFZpc2l0b3JLZXlzIH0pKSB7XG4gICAgICBpZiAoIWZvdW5kQmVmb3JlTm9kZSkge1xuICAgICAgICBjb25zdCBub2RlRW5kID0gbG9jRW5kKG5vZGUpO1xuICAgICAgICBpZiAobm9kZUVuZCA8PSBjdXJzb3JPZmZzZXQgJiYgbm9kZUVuZCA+IG5vZGVCZWZvcmVDdXJzb3JFbmRJbmRleCkge1xuICAgICAgICAgIG5vZGVCZWZvcmVDdXJzb3IgPSBub2RlO1xuICAgICAgICAgIG5vZGVCZWZvcmVDdXJzb3JFbmRJbmRleCA9IG5vZGVFbmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmICghZm91bmRBZnRlck5vZGUpIHtcbiAgICAgICAgY29uc3Qgbm9kZVN0YXJ0ID0gbG9jU3RhcnQobm9kZSk7XG4gICAgICAgIGlmIChub2RlU3RhcnQgPj0gY3Vyc29yT2Zmc2V0ICYmIG5vZGVTdGFydCA8IG5vZGVBZnRlckN1cnNvclN0YXJ0SW5kZXgpIHtcbiAgICAgICAgICBub2RlQWZ0ZXJDdXJzb3IgPSBub2RlO1xuICAgICAgICAgIG5vZGVBZnRlckN1cnNvclN0YXJ0SW5kZXggPSBub2RlU3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBub2RlQmVmb3JlQ3Vyc29yLFxuICAgIG5vZGVBZnRlckN1cnNvclxuICB9O1xufVxudmFyIGdldF9jdXJzb3Jfbm9kZV9kZWZhdWx0ID0gZ2V0Q3Vyc29yTG9jYXRpb247XG5cbi8vIHNyYy9tYWluL21hc3NhZ2UtYXN0LmpzXG5mdW5jdGlvbiBtYXNzYWdlQXN0KGFzdCwgb3B0aW9uczgpIHtcbiAgY29uc3Qge1xuICAgIHByaW50ZXI6IHtcbiAgICAgIG1hc3NhZ2VBc3ROb2RlOiBjbGVhbkZ1bmN0aW9uLFxuICAgICAgZ2V0VmlzaXRvcktleXM6IHByaW50ZXJHZXRWaXNpdG9yS2V5c1xuICAgIH1cbiAgfSA9IG9wdGlvbnM4O1xuICBpZiAoIWNsZWFuRnVuY3Rpb24pIHtcbiAgICByZXR1cm4gYXN0O1xuICB9XG4gIGNvbnN0IGdldFZpc2l0b3JLZXlzID0gY3JlYXRlX2dldF92aXNpdG9yX2tleXNfZnVuY3Rpb25fZGVmYXVsdChwcmludGVyR2V0VmlzaXRvcktleXMpO1xuICBjb25zdCBpZ25vcmVkUHJvcGVydGllcyA9IGNsZWFuRnVuY3Rpb24uaWdub3JlZFByb3BlcnRpZXMgPz8gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoKTtcbiAgcmV0dXJuIHJlY3Vyc2UoYXN0KTtcbiAgZnVuY3Rpb24gcmVjdXJzZShvcmlnaW5hbCwgcGFyZW50KSB7XG4gICAgaWYgKCEob3JpZ2luYWwgIT09IG51bGwgJiYgdHlwZW9mIG9yaWdpbmFsID09PSBcIm9iamVjdFwiKSkge1xuICAgICAgcmV0dXJuIG9yaWdpbmFsO1xuICAgIH1cbiAgICBpZiAoQXJyYXkuaXNBcnJheShvcmlnaW5hbCkpIHtcbiAgICAgIHJldHVybiBvcmlnaW5hbC5tYXAoKGNoaWxkKSA9PiByZWN1cnNlKGNoaWxkLCBwYXJlbnQpKS5maWx0ZXIoQm9vbGVhbik7XG4gICAgfVxuICAgIGNvbnN0IGNsb25lZCA9IHt9O1xuICAgIGNvbnN0IGNoaWxkcmVuS2V5cyA9IG5ldyBTZXQoZ2V0VmlzaXRvcktleXMob3JpZ2luYWwpKTtcbiAgICBmb3IgKGNvbnN0IGtleTIgaW4gb3JpZ2luYWwpIHtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9yaWdpbmFsLCBrZXkyKSB8fCBpZ25vcmVkUHJvcGVydGllcy5oYXMoa2V5MikpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoY2hpbGRyZW5LZXlzLmhhcyhrZXkyKSkge1xuICAgICAgICBjbG9uZWRba2V5Ml0gPSByZWN1cnNlKG9yaWdpbmFsW2tleTJdLCBvcmlnaW5hbCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbG9uZWRba2V5Ml0gPSBvcmlnaW5hbFtrZXkyXTtcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcmVzdWx0ID0gY2xlYW5GdW5jdGlvbihvcmlnaW5hbCwgY2xvbmVkLCBwYXJlbnQpO1xuICAgIGlmIChyZXN1bHQgPT09IG51bGwpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdCA/PyBjbG9uZWQ7XG4gIH1cbn1cbnZhciBtYXNzYWdlX2FzdF9kZWZhdWx0ID0gbWFzc2FnZUFzdDtcblxuLy8gc2NyaXB0cy9idWlsZC9zaGltcy9hcnJheS1maW5kLWxhc3QtaW5kZXguanNcbnZhciBhcnJheUZpbmRMYXN0SW5kZXggPSAoaXNPcHRpb25hbE9iamVjdCwgYXJyYXkyLCBjYWxsYmFjaykgPT4ge1xuICBpZiAoaXNPcHRpb25hbE9iamVjdCAmJiAoYXJyYXkyID09PSB2b2lkIDAgfHwgYXJyYXkyID09PSBudWxsKSkge1xuICAgIHJldHVybjtcbiAgfVxuICBpZiAoYXJyYXkyLmZpbmRMYXN0SW5kZXgpIHtcbiAgICByZXR1cm4gYXJyYXkyLmZpbmRMYXN0SW5kZXgoY2FsbGJhY2spO1xuICB9XG4gIGZvciAobGV0IGluZGV4ID0gYXJyYXkyLmxlbmd0aCAtIDE7IGluZGV4ID49IDA7IGluZGV4LS0pIHtcbiAgICBjb25zdCBlbGVtZW50ID0gYXJyYXkyW2luZGV4XTtcbiAgICBpZiAoY2FsbGJhY2soZWxlbWVudCwgaW5kZXgsIGFycmF5MikpIHtcbiAgICAgIHJldHVybiBpbmRleDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIC0xO1xufTtcbnZhciBhcnJheV9maW5kX2xhc3RfaW5kZXhfZGVmYXVsdCA9IGFycmF5RmluZExhc3RJbmRleDtcblxuLy8gc3JjL21haW4vcmFuZ2UtdXRpbC5qc1xuaW1wb3J0IGFzc2VydDUgZnJvbSBcImFzc2VydFwiO1xudmFyIGlzSnNvblBhcnNlciA9ICh7IHBhcnNlciB9KSA9PiBwYXJzZXIgPT09IFwianNvblwiIHx8IHBhcnNlciA9PT0gXCJqc29uNVwiIHx8IHBhcnNlciA9PT0gXCJqc29uY1wiIHx8IHBhcnNlciA9PT0gXCJqc29uLXN0cmluZ2lmeVwiO1xuZnVuY3Rpb24gZmluZENvbW1vbkFuY2VzdG9yKHN0YXJ0Tm9kZUFuZFBhcmVudHMsIGVuZE5vZGVBbmRQYXJlbnRzKSB7XG4gIGNvbnN0IHN0YXJ0Tm9kZUFuZEFuY2VzdG9ycyA9IFtcbiAgICBzdGFydE5vZGVBbmRQYXJlbnRzLm5vZGUsXG4gICAgLi4uc3RhcnROb2RlQW5kUGFyZW50cy5wYXJlbnROb2Rlc1xuICBdO1xuICBjb25zdCBlbmROb2RlQW5kQW5jZXN0b3JzID0gLyogQF9fUFVSRV9fICovIG5ldyBTZXQoW1xuICAgIGVuZE5vZGVBbmRQYXJlbnRzLm5vZGUsXG4gICAgLi4uZW5kTm9kZUFuZFBhcmVudHMucGFyZW50Tm9kZXNcbiAgXSk7XG4gIHJldHVybiBzdGFydE5vZGVBbmRBbmNlc3RvcnMuZmluZChcbiAgICAobm9kZSkgPT4ganNvblNvdXJjZUVsZW1lbnRzLmhhcyhub2RlLnR5cGUpICYmIGVuZE5vZGVBbmRBbmNlc3RvcnMuaGFzKG5vZGUpXG4gICk7XG59XG5mdW5jdGlvbiBkcm9wUm9vdFBhcmVudHMocGFyZW50cykge1xuICBjb25zdCBpbmRleCA9IGFycmF5X2ZpbmRfbGFzdF9pbmRleF9kZWZhdWx0KFxuICAgIC8qIGlzT3B0aW9uYWxPYmplY3QgKi9cbiAgICBmYWxzZSxcbiAgICBwYXJlbnRzLFxuICAgIChub2RlKSA9PiBub2RlLnR5cGUgIT09IFwiUHJvZ3JhbVwiICYmIG5vZGUudHlwZSAhPT0gXCJGaWxlXCJcbiAgKTtcbiAgaWYgKGluZGV4ID09PSAtMSkge1xuICAgIHJldHVybiBwYXJlbnRzO1xuICB9XG4gIHJldHVybiBwYXJlbnRzLnNsaWNlKDAsIGluZGV4ICsgMSk7XG59XG5mdW5jdGlvbiBmaW5kU2libGluZ0FuY2VzdG9ycyhzdGFydE5vZGVBbmRQYXJlbnRzLCBlbmROb2RlQW5kUGFyZW50cywgeyBsb2NTdGFydCwgbG9jRW5kIH0pIHtcbiAgbGV0IHJlc3VsdFN0YXJ0Tm9kZSA9IHN0YXJ0Tm9kZUFuZFBhcmVudHMubm9kZTtcbiAgbGV0IHJlc3VsdEVuZE5vZGUgPSBlbmROb2RlQW5kUGFyZW50cy5ub2RlO1xuICBpZiAocmVzdWx0U3RhcnROb2RlID09PSByZXN1bHRFbmROb2RlKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHN0YXJ0Tm9kZTogcmVzdWx0U3RhcnROb2RlLFxuICAgICAgZW5kTm9kZTogcmVzdWx0RW5kTm9kZVxuICAgIH07XG4gIH1cbiAgY29uc3Qgc3RhcnROb2RlU3RhcnQgPSBsb2NTdGFydChzdGFydE5vZGVBbmRQYXJlbnRzLm5vZGUpO1xuICBmb3IgKGNvbnN0IGVuZFBhcmVudCBvZiBkcm9wUm9vdFBhcmVudHMoZW5kTm9kZUFuZFBhcmVudHMucGFyZW50Tm9kZXMpKSB7XG4gICAgaWYgKGxvY1N0YXJ0KGVuZFBhcmVudCkgPj0gc3RhcnROb2RlU3RhcnQpIHtcbiAgICAgIHJlc3VsdEVuZE5vZGUgPSBlbmRQYXJlbnQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuICBjb25zdCBlbmROb2RlRW5kID0gbG9jRW5kKGVuZE5vZGVBbmRQYXJlbnRzLm5vZGUpO1xuICBmb3IgKGNvbnN0IHN0YXJ0UGFyZW50IG9mIGRyb3BSb290UGFyZW50cyhzdGFydE5vZGVBbmRQYXJlbnRzLnBhcmVudE5vZGVzKSkge1xuICAgIGlmIChsb2NFbmQoc3RhcnRQYXJlbnQpIDw9IGVuZE5vZGVFbmQpIHtcbiAgICAgIHJlc3VsdFN0YXJ0Tm9kZSA9IHN0YXJ0UGFyZW50O1xuICAgIH0gZWxzZSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgaWYgKHJlc3VsdFN0YXJ0Tm9kZSA9PT0gcmVzdWx0RW5kTm9kZSkge1xuICAgICAgYnJlYWs7XG4gICAgfVxuICB9XG4gIHJldHVybiB7XG4gICAgc3RhcnROb2RlOiByZXN1bHRTdGFydE5vZGUsXG4gICAgZW5kTm9kZTogcmVzdWx0RW5kTm9kZVxuICB9O1xufVxuZnVuY3Rpb24gZmluZE5vZGVBdE9mZnNldChub2RlLCBvZmZzZXQsIG9wdGlvbnM4LCBwcmVkaWNhdGUsIHBhcmVudE5vZGVzID0gW10sIHR5cGUyKSB7XG4gIGNvbnN0IHsgbG9jU3RhcnQsIGxvY0VuZCB9ID0gb3B0aW9uczg7XG4gIGNvbnN0IHN0YXJ0ID0gbG9jU3RhcnQobm9kZSk7XG4gIGNvbnN0IGVuZCA9IGxvY0VuZChub2RlKTtcbiAgaWYgKG9mZnNldCA+IGVuZCB8fCBvZmZzZXQgPCBzdGFydCB8fCB0eXBlMiA9PT0gXCJyYW5nZUVuZFwiICYmIG9mZnNldCA9PT0gc3RhcnQgfHwgdHlwZTIgPT09IFwicmFuZ2VTdGFydFwiICYmIG9mZnNldCA9PT0gZW5kKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGZvciAoY29uc3QgY2hpbGROb2RlIG9mIGdldFNvcnRlZENoaWxkTm9kZXMobm9kZSwgb3B0aW9uczgpKSB7XG4gICAgY29uc3QgY2hpbGRSZXN1bHQgPSBmaW5kTm9kZUF0T2Zmc2V0KFxuICAgICAgY2hpbGROb2RlLFxuICAgICAgb2Zmc2V0LFxuICAgICAgb3B0aW9uczgsXG4gICAgICBwcmVkaWNhdGUsXG4gICAgICBbbm9kZSwgLi4ucGFyZW50Tm9kZXNdLFxuICAgICAgdHlwZTJcbiAgICApO1xuICAgIGlmIChjaGlsZFJlc3VsdCkge1xuICAgICAgcmV0dXJuIGNoaWxkUmVzdWx0O1xuICAgIH1cbiAgfVxuICBpZiAoIXByZWRpY2F0ZSB8fCBwcmVkaWNhdGUobm9kZSwgcGFyZW50Tm9kZXNbMF0pKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5vZGUsXG4gICAgICBwYXJlbnROb2Rlc1xuICAgIH07XG4gIH1cbn1cbmZ1bmN0aW9uIGlzSnNTb3VyY2VFbGVtZW50KHR5cGUyLCBwYXJlbnRUeXBlKSB7XG4gIHJldHVybiBwYXJlbnRUeXBlICE9PSBcIkRlY2xhcmVFeHBvcnREZWNsYXJhdGlvblwiICYmIHR5cGUyICE9PSBcIlR5cGVQYXJhbWV0ZXJEZWNsYXJhdGlvblwiICYmICh0eXBlMiA9PT0gXCJEaXJlY3RpdmVcIiB8fCB0eXBlMiA9PT0gXCJUeXBlQWxpYXNcIiB8fCB0eXBlMiA9PT0gXCJUU0V4cG9ydEFzc2lnbm1lbnRcIiB8fCB0eXBlMi5zdGFydHNXaXRoKFwiRGVjbGFyZVwiKSB8fCB0eXBlMi5zdGFydHNXaXRoKFwiVFNEZWNsYXJlXCIpIHx8IHR5cGUyLmVuZHNXaXRoKFwiU3RhdGVtZW50XCIpIHx8IHR5cGUyLmVuZHNXaXRoKFwiRGVjbGFyYXRpb25cIikpO1xufVxudmFyIGpzb25Tb3VyY2VFbGVtZW50cyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KFtcbiAgXCJKc29uUm9vdFwiLFxuICBcIk9iamVjdEV4cHJlc3Npb25cIixcbiAgXCJBcnJheUV4cHJlc3Npb25cIixcbiAgXCJTdHJpbmdMaXRlcmFsXCIsXG4gIFwiTnVtZXJpY0xpdGVyYWxcIixcbiAgXCJCb29sZWFuTGl0ZXJhbFwiLFxuICBcIk51bGxMaXRlcmFsXCIsXG4gIFwiVW5hcnlFeHByZXNzaW9uXCIsXG4gIFwiVGVtcGxhdGVMaXRlcmFsXCJcbl0pO1xudmFyIGdyYXBocWxTb3VyY2VFbGVtZW50cyA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgU2V0KFtcbiAgXCJPcGVyYXRpb25EZWZpbml0aW9uXCIsXG4gIFwiRnJhZ21lbnREZWZpbml0aW9uXCIsXG4gIFwiVmFyaWFibGVEZWZpbml0aW9uXCIsXG4gIFwiVHlwZUV4dGVuc2lvbkRlZmluaXRpb25cIixcbiAgXCJPYmplY3RUeXBlRGVmaW5pdGlvblwiLFxuICBcIkZpZWxkRGVmaW5pdGlvblwiLFxuICBcIkRpcmVjdGl2ZURlZmluaXRpb25cIixcbiAgXCJFbnVtVHlwZURlZmluaXRpb25cIixcbiAgXCJFbnVtVmFsdWVEZWZpbml0aW9uXCIsXG4gIFwiSW5wdXRWYWx1ZURlZmluaXRpb25cIixcbiAgXCJJbnB1dE9iamVjdFR5cGVEZWZpbml0aW9uXCIsXG4gIFwiU2NoZW1hRGVmaW5pdGlvblwiLFxuICBcIk9wZXJhdGlvblR5cGVEZWZpbml0aW9uXCIsXG4gIFwiSW50ZXJmYWNlVHlwZURlZmluaXRpb25cIixcbiAgXCJVbmlvblR5cGVEZWZpbml0aW9uXCIsXG4gIFwiU2NhbGFyVHlwZURlZmluaXRpb25cIlxuXSk7XG5mdW5jdGlvbiBpc1NvdXJjZUVsZW1lbnQob3B0cywgbm9kZSwgcGFyZW50Tm9kZSkge1xuICBpZiAoIW5vZGUpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbiAgc3dpdGNoIChvcHRzLnBhcnNlcikge1xuICAgIGNhc2UgXCJmbG93XCI6XG4gICAgY2FzZSBcImJhYmVsXCI6XG4gICAgY2FzZSBcImJhYmVsLWZsb3dcIjpcbiAgICBjYXNlIFwiYmFiZWwtdHNcIjpcbiAgICBjYXNlIFwidHlwZXNjcmlwdFwiOlxuICAgIGNhc2UgXCJhY29yblwiOlxuICAgIGNhc2UgXCJlc3ByZWVcIjpcbiAgICBjYXNlIFwibWVyaXlhaFwiOlxuICAgIGNhc2UgXCJfX2JhYmVsX2VzdHJlZVwiOlxuICAgICAgcmV0dXJuIGlzSnNTb3VyY2VFbGVtZW50KG5vZGUudHlwZSwgcGFyZW50Tm9kZSA9PSBudWxsID8gdm9pZCAwIDogcGFyZW50Tm9kZS50eXBlKTtcbiAgICBjYXNlIFwianNvblwiOlxuICAgIGNhc2UgXCJqc29uNVwiOlxuICAgIGNhc2UgXCJqc29uY1wiOlxuICAgIGNhc2UgXCJqc29uLXN0cmluZ2lmeVwiOlxuICAgICAgcmV0dXJuIGpzb25Tb3VyY2VFbGVtZW50cy5oYXMobm9kZS50eXBlKTtcbiAgICBjYXNlIFwiZ3JhcGhxbFwiOlxuICAgICAgcmV0dXJuIGdyYXBocWxTb3VyY2VFbGVtZW50cy5oYXMobm9kZS5raW5kKTtcbiAgICBjYXNlIFwidnVlXCI6XG4gICAgICByZXR1cm4gbm9kZS50YWcgIT09IFwicm9vdFwiO1xuICB9XG4gIHJldHVybiBmYWxzZTtcbn1cbmZ1bmN0aW9uIGNhbGN1bGF0ZVJhbmdlKHRleHQsIG9wdHMsIGFzdCkge1xuICBsZXQgeyByYW5nZVN0YXJ0OiBzdGFydCwgcmFuZ2VFbmQ6IGVuZCwgbG9jU3RhcnQsIGxvY0VuZCB9ID0gb3B0cztcbiAgYXNzZXJ0NS5vayhlbmQgPiBzdGFydCk7XG4gIGNvbnN0IGZpcnN0Tm9uV2hpdGVzcGFjZUNoYXJhY3RlckluZGV4ID0gdGV4dC5zbGljZShzdGFydCwgZW5kKS5zZWFyY2goL1xcUy91KTtcbiAgY29uc3QgaXNBbGxXaGl0ZXNwYWNlID0gZmlyc3ROb25XaGl0ZXNwYWNlQ2hhcmFjdGVySW5kZXggPT09IC0xO1xuICBpZiAoIWlzQWxsV2hpdGVzcGFjZSkge1xuICAgIHN0YXJ0ICs9IGZpcnN0Tm9uV2hpdGVzcGFjZUNoYXJhY3RlckluZGV4O1xuICAgIGZvciAoOyBlbmQgPiBzdGFydDsgLS1lbmQpIHtcbiAgICAgIGlmICgvXFxTL3UudGVzdCh0ZXh0W2VuZCAtIDFdKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgY29uc3Qgc3RhcnROb2RlQW5kUGFyZW50cyA9IGZpbmROb2RlQXRPZmZzZXQoXG4gICAgYXN0LFxuICAgIHN0YXJ0LFxuICAgIG9wdHMsXG4gICAgKG5vZGUsIHBhcmVudE5vZGUpID0+IGlzU291cmNlRWxlbWVudChvcHRzLCBub2RlLCBwYXJlbnROb2RlKSxcbiAgICBbXSxcbiAgICBcInJhbmdlU3RhcnRcIlxuICApO1xuICBjb25zdCBlbmROb2RlQW5kUGFyZW50cyA9IChcbiAgICAvLyBObyBuZWVkIGZpbmQgTm9kZSBhdCBgZW5kYCwgaXQgd2lsbCBiZSB0aGUgc2FtZSBhcyBgc3RhcnROb2RlQW5kUGFyZW50c2BcbiAgICBpc0FsbFdoaXRlc3BhY2UgPyBzdGFydE5vZGVBbmRQYXJlbnRzIDogZmluZE5vZGVBdE9mZnNldChcbiAgICAgIGFzdCxcbiAgICAgIGVuZCxcbiAgICAgIG9wdHMsXG4gICAgICAobm9kZSkgPT4gaXNTb3VyY2VFbGVtZW50KG9wdHMsIG5vZGUpLFxuICAgICAgW10sXG4gICAgICBcInJhbmdlRW5kXCJcbiAgICApXG4gICk7XG4gIGlmICghc3RhcnROb2RlQW5kUGFyZW50cyB8fCAhZW5kTm9kZUFuZFBhcmVudHMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgcmFuZ2VTdGFydDogMCxcbiAgICAgIHJhbmdlRW5kOiAwXG4gICAgfTtcbiAgfVxuICBsZXQgc3RhcnROb2RlO1xuICBsZXQgZW5kTm9kZTtcbiAgaWYgKGlzSnNvblBhcnNlcihvcHRzKSkge1xuICAgIGNvbnN0IGNvbW1vbkFuY2VzdG9yID0gZmluZENvbW1vbkFuY2VzdG9yKFxuICAgICAgc3RhcnROb2RlQW5kUGFyZW50cyxcbiAgICAgIGVuZE5vZGVBbmRQYXJlbnRzXG4gICAgKTtcbiAgICBzdGFydE5vZGUgPSBjb21tb25BbmNlc3RvcjtcbiAgICBlbmROb2RlID0gY29tbW9uQW5jZXN0b3I7XG4gIH0gZWxzZSB7XG4gICAgKHsgc3RhcnROb2RlLCBlbmROb2RlIH0gPSBmaW5kU2libGluZ0FuY2VzdG9ycyhcbiAgICAgIHN0YXJ0Tm9kZUFuZFBhcmVudHMsXG4gICAgICBlbmROb2RlQW5kUGFyZW50cyxcbiAgICAgIG9wdHNcbiAgICApKTtcbiAgfVxuICByZXR1cm4ge1xuICAgIHJhbmdlU3RhcnQ6IE1hdGgubWluKGxvY1N0YXJ0KHN0YXJ0Tm9kZSksIGxvY1N0YXJ0KGVuZE5vZGUpKSxcbiAgICByYW5nZUVuZDogTWF0aC5tYXgobG9jRW5kKHN0YXJ0Tm9kZSksIGxvY0VuZChlbmROb2RlKSlcbiAgfTtcbn1cblxuLy8gc3JjL21haW4vY29yZS5qc1xudmFyIEJPTSA9IFwiXFx1RkVGRlwiO1xudmFyIENVUlNPUiA9IFN5bWJvbChcImN1cnNvclwiKTtcbmFzeW5jIGZ1bmN0aW9uIGNvcmVGb3JtYXQob3JpZ2luYWxUZXh0LCBvcHRzLCBhZGRBbGlnbm1lbnRTaXplID0gMCkge1xuICBpZiAoIW9yaWdpbmFsVGV4dCB8fCBvcmlnaW5hbFRleHQudHJpbSgpLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiB7IGZvcm1hdHRlZDogXCJcIiwgY3Vyc29yT2Zmc2V0OiAtMSwgY29tbWVudHM6IFtdIH07XG4gIH1cbiAgY29uc3QgeyBhc3QsIHRleHQgfSA9IGF3YWl0IHBhcnNlX2RlZmF1bHQob3JpZ2luYWxUZXh0LCBvcHRzKTtcbiAgaWYgKG9wdHMuY3Vyc29yT2Zmc2V0ID49IDApIHtcbiAgICBvcHRzID0ge1xuICAgICAgLi4ub3B0cyxcbiAgICAgIC4uLmdldF9jdXJzb3Jfbm9kZV9kZWZhdWx0KGFzdCwgb3B0cylcbiAgICB9O1xuICB9XG4gIGxldCBkb2MyID0gYXdhaXQgcHJpbnRBc3RUb0RvYyhhc3QsIG9wdHMsIGFkZEFsaWdubWVudFNpemUpO1xuICBpZiAoYWRkQWxpZ25tZW50U2l6ZSA+IDApIHtcbiAgICBkb2MyID0gYWRkQWxpZ25tZW50VG9Eb2MoW2hhcmRsaW5lLCBkb2MyXSwgYWRkQWxpZ25tZW50U2l6ZSwgb3B0cy50YWJXaWR0aCk7XG4gIH1cbiAgY29uc3QgcmVzdWx0ID0gcHJpbnREb2NUb1N0cmluZyhkb2MyLCBvcHRzKTtcbiAgaWYgKGFkZEFsaWdubWVudFNpemUgPiAwKSB7XG4gICAgY29uc3QgdHJpbW1lZCA9IHJlc3VsdC5mb3JtYXR0ZWQudHJpbSgpO1xuICAgIGlmIChyZXN1bHQuY3Vyc29yTm9kZVN0YXJ0ICE9PSB2b2lkIDApIHtcbiAgICAgIHJlc3VsdC5jdXJzb3JOb2RlU3RhcnQgLT0gcmVzdWx0LmZvcm1hdHRlZC5pbmRleE9mKHRyaW1tZWQpO1xuICAgICAgaWYgKHJlc3VsdC5jdXJzb3JOb2RlU3RhcnQgPCAwKSB7XG4gICAgICAgIHJlc3VsdC5jdXJzb3JOb2RlU3RhcnQgPSAwO1xuICAgICAgICByZXN1bHQuY3Vyc29yTm9kZVRleHQgPSByZXN1bHQuY3Vyc29yTm9kZVRleHQudHJpbVN0YXJ0KCk7XG4gICAgICB9XG4gICAgICBpZiAocmVzdWx0LmN1cnNvck5vZGVTdGFydCArIHJlc3VsdC5jdXJzb3JOb2RlVGV4dC5sZW5ndGggPiB0cmltbWVkLmxlbmd0aCkge1xuICAgICAgICByZXN1bHQuY3Vyc29yTm9kZVRleHQgPSByZXN1bHQuY3Vyc29yTm9kZVRleHQudHJpbUVuZCgpO1xuICAgICAgfVxuICAgIH1cbiAgICByZXN1bHQuZm9ybWF0dGVkID0gdHJpbW1lZCArIGNvbnZlcnRFbmRPZkxpbmVUb0NoYXJzKG9wdHMuZW5kT2ZMaW5lKTtcbiAgfVxuICBjb25zdCBjb21tZW50cyA9IG9wdHNbU3ltYm9sLmZvcihcImNvbW1lbnRzXCIpXTtcbiAgaWYgKG9wdHMuY3Vyc29yT2Zmc2V0ID49IDApIHtcbiAgICBsZXQgb2xkQ3Vyc29yUmVnaW9uU3RhcnQ7XG4gICAgbGV0IG9sZEN1cnNvclJlZ2lvblRleHQ7XG4gICAgbGV0IG5ld0N1cnNvclJlZ2lvblN0YXJ0O1xuICAgIGxldCBuZXdDdXJzb3JSZWdpb25UZXh0O1xuICAgIGlmICgob3B0cy5jdXJzb3JOb2RlIHx8IG9wdHMubm9kZUJlZm9yZUN1cnNvciB8fCBvcHRzLm5vZGVBZnRlckN1cnNvcikgJiYgcmVzdWx0LmN1cnNvck5vZGVUZXh0KSB7XG4gICAgICBuZXdDdXJzb3JSZWdpb25TdGFydCA9IHJlc3VsdC5jdXJzb3JOb2RlU3RhcnQ7XG4gICAgICBuZXdDdXJzb3JSZWdpb25UZXh0ID0gcmVzdWx0LmN1cnNvck5vZGVUZXh0O1xuICAgICAgaWYgKG9wdHMuY3Vyc29yTm9kZSkge1xuICAgICAgICBvbGRDdXJzb3JSZWdpb25TdGFydCA9IG9wdHMubG9jU3RhcnQob3B0cy5jdXJzb3JOb2RlKTtcbiAgICAgICAgb2xkQ3Vyc29yUmVnaW9uVGV4dCA9IHRleHQuc2xpY2UoXG4gICAgICAgICAgb2xkQ3Vyc29yUmVnaW9uU3RhcnQsXG4gICAgICAgICAgb3B0cy5sb2NFbmQob3B0cy5jdXJzb3JOb2RlKVxuICAgICAgICApO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKCFvcHRzLm5vZGVCZWZvcmVDdXJzb3IgJiYgIW9wdHMubm9kZUFmdGVyQ3Vyc29yKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgXCJDdXJzb3IgbG9jYXRpb24gbXVzdCBjb250YWluIGF0IGxlYXN0IG9uZSBvZiBjdXJzb3JOb2RlLCBub2RlQmVmb3JlQ3Vyc29yLCBub2RlQWZ0ZXJDdXJzb3JcIlxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgb2xkQ3Vyc29yUmVnaW9uU3RhcnQgPSBvcHRzLm5vZGVCZWZvcmVDdXJzb3IgPyBvcHRzLmxvY0VuZChvcHRzLm5vZGVCZWZvcmVDdXJzb3IpIDogMDtcbiAgICAgICAgY29uc3Qgb2xkQ3Vyc29yUmVnaW9uRW5kID0gb3B0cy5ub2RlQWZ0ZXJDdXJzb3IgPyBvcHRzLmxvY1N0YXJ0KG9wdHMubm9kZUFmdGVyQ3Vyc29yKSA6IHRleHQubGVuZ3RoO1xuICAgICAgICBvbGRDdXJzb3JSZWdpb25UZXh0ID0gdGV4dC5zbGljZShcbiAgICAgICAgICBvbGRDdXJzb3JSZWdpb25TdGFydCxcbiAgICAgICAgICBvbGRDdXJzb3JSZWdpb25FbmRcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgb2xkQ3Vyc29yUmVnaW9uU3RhcnQgPSAwO1xuICAgICAgb2xkQ3Vyc29yUmVnaW9uVGV4dCA9IHRleHQ7XG4gICAgICBuZXdDdXJzb3JSZWdpb25TdGFydCA9IDA7XG4gICAgICBuZXdDdXJzb3JSZWdpb25UZXh0ID0gcmVzdWx0LmZvcm1hdHRlZDtcbiAgICB9XG4gICAgY29uc3QgY3Vyc29yT2Zmc2V0UmVsYXRpdmVUb09sZEN1cnNvclJlZ2lvblN0YXJ0ID0gb3B0cy5jdXJzb3JPZmZzZXQgLSBvbGRDdXJzb3JSZWdpb25TdGFydDtcbiAgICBpZiAob2xkQ3Vyc29yUmVnaW9uVGV4dCA9PT0gbmV3Q3Vyc29yUmVnaW9uVGV4dCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZm9ybWF0dGVkOiByZXN1bHQuZm9ybWF0dGVkLFxuICAgICAgICBjdXJzb3JPZmZzZXQ6IG5ld0N1cnNvclJlZ2lvblN0YXJ0ICsgY3Vyc29yT2Zmc2V0UmVsYXRpdmVUb09sZEN1cnNvclJlZ2lvblN0YXJ0LFxuICAgICAgICBjb21tZW50c1xuICAgICAgfTtcbiAgICB9XG4gICAgY29uc3Qgb2xkQ3Vyc29yTm9kZUNoYXJBcnJheSA9IG9sZEN1cnNvclJlZ2lvblRleHQuc3BsaXQoXCJcIik7XG4gICAgb2xkQ3Vyc29yTm9kZUNoYXJBcnJheS5zcGxpY2UoXG4gICAgICBjdXJzb3JPZmZzZXRSZWxhdGl2ZVRvT2xkQ3Vyc29yUmVnaW9uU3RhcnQsXG4gICAgICAwLFxuICAgICAgQ1VSU09SXG4gICAgKTtcbiAgICBjb25zdCBuZXdDdXJzb3JOb2RlQ2hhckFycmF5ID0gbmV3Q3Vyc29yUmVnaW9uVGV4dC5zcGxpdChcIlwiKTtcbiAgICBjb25zdCBjdXJzb3JOb2RlRGlmZiA9IGRpZmZBcnJheXMoXG4gICAgICBvbGRDdXJzb3JOb2RlQ2hhckFycmF5LFxuICAgICAgbmV3Q3Vyc29yTm9kZUNoYXJBcnJheVxuICAgICk7XG4gICAgbGV0IGN1cnNvck9mZnNldCA9IG5ld0N1cnNvclJlZ2lvblN0YXJ0O1xuICAgIGZvciAoY29uc3QgZW50cnkgb2YgY3Vyc29yTm9kZURpZmYpIHtcbiAgICAgIGlmIChlbnRyeS5yZW1vdmVkKSB7XG4gICAgICAgIGlmIChlbnRyeS52YWx1ZS5pbmNsdWRlcyhDVVJTT1IpKSB7XG4gICAgICAgICAgYnJlYWs7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGN1cnNvck9mZnNldCArPSBlbnRyeS5jb3VudDtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHsgZm9ybWF0dGVkOiByZXN1bHQuZm9ybWF0dGVkLCBjdXJzb3JPZmZzZXQsIGNvbW1lbnRzIH07XG4gIH1cbiAgcmV0dXJuIHsgZm9ybWF0dGVkOiByZXN1bHQuZm9ybWF0dGVkLCBjdXJzb3JPZmZzZXQ6IC0xLCBjb21tZW50cyB9O1xufVxuYXN5bmMgZnVuY3Rpb24gZm9ybWF0UmFuZ2Uob3JpZ2luYWxUZXh0LCBvcHRzKSB7XG4gIGNvbnN0IHsgYXN0LCB0ZXh0IH0gPSBhd2FpdCBwYXJzZV9kZWZhdWx0KG9yaWdpbmFsVGV4dCwgb3B0cyk7XG4gIGNvbnN0IHsgcmFuZ2VTdGFydCwgcmFuZ2VFbmQgfSA9IGNhbGN1bGF0ZVJhbmdlKHRleHQsIG9wdHMsIGFzdCk7XG4gIGNvbnN0IHJhbmdlU3RyaW5nID0gdGV4dC5zbGljZShyYW5nZVN0YXJ0LCByYW5nZUVuZCk7XG4gIGNvbnN0IHJhbmdlU3RhcnQyID0gTWF0aC5taW4oXG4gICAgcmFuZ2VTdGFydCxcbiAgICB0ZXh0Lmxhc3RJbmRleE9mKFwiXFxuXCIsIHJhbmdlU3RhcnQpICsgMVxuICApO1xuICBjb25zdCBpbmRlbnRTdHJpbmcgPSB0ZXh0LnNsaWNlKHJhbmdlU3RhcnQyLCByYW5nZVN0YXJ0KS5tYXRjaCgvXlxccyovdSlbMF07XG4gIGNvbnN0IGFsaWdubWVudFNpemUgPSBnZXRfYWxpZ25tZW50X3NpemVfZGVmYXVsdChpbmRlbnRTdHJpbmcsIG9wdHMudGFiV2lkdGgpO1xuICBjb25zdCByYW5nZVJlc3VsdCA9IGF3YWl0IGNvcmVGb3JtYXQoXG4gICAgcmFuZ2VTdHJpbmcsXG4gICAge1xuICAgICAgLi4ub3B0cyxcbiAgICAgIHJhbmdlU3RhcnQ6IDAsXG4gICAgICByYW5nZUVuZDogTnVtYmVyLlBPU0lUSVZFX0lORklOSVRZLFxuICAgICAgLy8gVHJhY2sgdGhlIGN1cnNvciBvZmZzZXQgb25seSBpZiBpdCdzIHdpdGhpbiBvdXIgcmFuZ2VcbiAgICAgIGN1cnNvck9mZnNldDogb3B0cy5jdXJzb3JPZmZzZXQgPiByYW5nZVN0YXJ0ICYmIG9wdHMuY3Vyc29yT2Zmc2V0IDw9IHJhbmdlRW5kID8gb3B0cy5jdXJzb3JPZmZzZXQgLSByYW5nZVN0YXJ0IDogLTEsXG4gICAgICAvLyBBbHdheXMgdXNlIGBsZmAgdG8gZm9ybWF0LCB3ZSdsbCByZXBsYWNlIGl0IGxhdGVyXG4gICAgICBlbmRPZkxpbmU6IFwibGZcIlxuICAgIH0sXG4gICAgYWxpZ25tZW50U2l6ZVxuICApO1xuICBjb25zdCByYW5nZVRyaW1tZWQgPSByYW5nZVJlc3VsdC5mb3JtYXR0ZWQudHJpbUVuZCgpO1xuICBsZXQgeyBjdXJzb3JPZmZzZXQgfSA9IG9wdHM7XG4gIGlmIChjdXJzb3JPZmZzZXQgPiByYW5nZUVuZCkge1xuICAgIGN1cnNvck9mZnNldCArPSByYW5nZVRyaW1tZWQubGVuZ3RoIC0gcmFuZ2VTdHJpbmcubGVuZ3RoO1xuICB9IGVsc2UgaWYgKHJhbmdlUmVzdWx0LmN1cnNvck9mZnNldCA+PSAwKSB7XG4gICAgY3Vyc29yT2Zmc2V0ID0gcmFuZ2VSZXN1bHQuY3Vyc29yT2Zmc2V0ICsgcmFuZ2VTdGFydDtcbiAgfVxuICBsZXQgZm9ybWF0dGVkID0gdGV4dC5zbGljZSgwLCByYW5nZVN0YXJ0KSArIHJhbmdlVHJpbW1lZCArIHRleHQuc2xpY2UocmFuZ2VFbmQpO1xuICBpZiAob3B0cy5lbmRPZkxpbmUgIT09IFwibGZcIikge1xuICAgIGNvbnN0IGVvbCA9IGNvbnZlcnRFbmRPZkxpbmVUb0NoYXJzKG9wdHMuZW5kT2ZMaW5lKTtcbiAgICBpZiAoY3Vyc29yT2Zmc2V0ID49IDAgJiYgZW9sID09PSBcIlxcclxcblwiKSB7XG4gICAgICBjdXJzb3JPZmZzZXQgKz0gY291bnRFbmRPZkxpbmVDaGFycyhcbiAgICAgICAgZm9ybWF0dGVkLnNsaWNlKDAsIGN1cnNvck9mZnNldCksXG4gICAgICAgIFwiXFxuXCJcbiAgICAgICk7XG4gICAgfVxuICAgIGZvcm1hdHRlZCA9IHN0cmluZ19yZXBsYWNlX2FsbF9kZWZhdWx0KFxuICAgICAgLyogaXNPcHRpb25hbE9iamVjdCAqL1xuICAgICAgZmFsc2UsXG4gICAgICBmb3JtYXR0ZWQsXG4gICAgICBcIlxcblwiLFxuICAgICAgZW9sXG4gICAgKTtcbiAgfVxuICByZXR1cm4geyBmb3JtYXR0ZWQsIGN1cnNvck9mZnNldCwgY29tbWVudHM6IHJhbmdlUmVzdWx0LmNvbW1lbnRzIH07XG59XG5mdW5jdGlvbiBlbnN1cmVJbmRleEluVGV4dCh0ZXh0LCBpbmRleCwgZGVmYXVsdFZhbHVlKSB7XG4gIGlmICh0eXBlb2YgaW5kZXggIT09IFwibnVtYmVyXCIgfHwgTnVtYmVyLmlzTmFOKGluZGV4KSB8fCBpbmRleCA8IDAgfHwgaW5kZXggPiB0ZXh0Lmxlbmd0aCkge1xuICAgIHJldHVybiBkZWZhdWx0VmFsdWU7XG4gIH1cbiAgcmV0dXJuIGluZGV4O1xufVxuZnVuY3Rpb24gbm9ybWFsaXplSW5kZXhlcyh0ZXh0LCBvcHRpb25zOCkge1xuICBsZXQgeyBjdXJzb3JPZmZzZXQsIHJhbmdlU3RhcnQsIHJhbmdlRW5kIH0gPSBvcHRpb25zODtcbiAgY3Vyc29yT2Zmc2V0ID0gZW5zdXJlSW5kZXhJblRleHQodGV4dCwgY3Vyc29yT2Zmc2V0LCAtMSk7XG4gIHJhbmdlU3RhcnQgPSBlbnN1cmVJbmRleEluVGV4dCh0ZXh0LCByYW5nZVN0YXJ0LCAwKTtcbiAgcmFuZ2VFbmQgPSBlbnN1cmVJbmRleEluVGV4dCh0ZXh0LCByYW5nZUVuZCwgdGV4dC5sZW5ndGgpO1xuICByZXR1cm4geyAuLi5vcHRpb25zOCwgY3Vyc29yT2Zmc2V0LCByYW5nZVN0YXJ0LCByYW5nZUVuZCB9O1xufVxuZnVuY3Rpb24gbm9ybWFsaXplSW5wdXRBbmRPcHRpb25zKHRleHQsIG9wdGlvbnM4KSB7XG4gIGxldCB7IGN1cnNvck9mZnNldCwgcmFuZ2VTdGFydCwgcmFuZ2VFbmQsIGVuZE9mTGluZSB9ID0gbm9ybWFsaXplSW5kZXhlcyhcbiAgICB0ZXh0LFxuICAgIG9wdGlvbnM4XG4gICk7XG4gIGNvbnN0IGhhc0JPTSA9IHRleHQuY2hhckF0KDApID09PSBCT007XG4gIGlmIChoYXNCT00pIHtcbiAgICB0ZXh0ID0gdGV4dC5zbGljZSgxKTtcbiAgICBjdXJzb3JPZmZzZXQtLTtcbiAgICByYW5nZVN0YXJ0LS07XG4gICAgcmFuZ2VFbmQtLTtcbiAgfVxuICBpZiAoZW5kT2ZMaW5lID09PSBcImF1dG9cIikge1xuICAgIGVuZE9mTGluZSA9IGd1ZXNzRW5kT2ZMaW5lKHRleHQpO1xuICB9XG4gIGlmICh0ZXh0LmluY2x1ZGVzKFwiXFxyXCIpKSB7XG4gICAgY29uc3QgY291bnRDcmxmQmVmb3JlID0gKGluZGV4KSA9PiBjb3VudEVuZE9mTGluZUNoYXJzKHRleHQuc2xpY2UoMCwgTWF0aC5tYXgoaW5kZXgsIDApKSwgXCJcXHJcXG5cIik7XG4gICAgY3Vyc29yT2Zmc2V0IC09IGNvdW50Q3JsZkJlZm9yZShjdXJzb3JPZmZzZXQpO1xuICAgIHJhbmdlU3RhcnQgLT0gY291bnRDcmxmQmVmb3JlKHJhbmdlU3RhcnQpO1xuICAgIHJhbmdlRW5kIC09IGNvdW50Q3JsZkJlZm9yZShyYW5nZUVuZCk7XG4gICAgdGV4dCA9IG5vcm1hbGl6ZUVuZE9mTGluZSh0ZXh0KTtcbiAgfVxuICByZXR1cm4ge1xuICAgIGhhc0JPTSxcbiAgICB0ZXh0LFxuICAgIG9wdGlvbnM6IG5vcm1hbGl6ZUluZGV4ZXModGV4dCwge1xuICAgICAgLi4ub3B0aW9uczgsXG4gICAgICBjdXJzb3JPZmZzZXQsXG4gICAgICByYW5nZVN0YXJ0LFxuICAgICAgcmFuZ2VFbmQsXG4gICAgICBlbmRPZkxpbmVcbiAgICB9KVxuICB9O1xufVxuYXN5bmMgZnVuY3Rpb24gaGFzUHJhZ21hKHRleHQsIG9wdGlvbnM4KSB7XG4gIGNvbnN0IHNlbGVjdGVkUGFyc2VyID0gYXdhaXQgcmVzb2x2ZVBhcnNlcihvcHRpb25zOCk7XG4gIHJldHVybiAhc2VsZWN0ZWRQYXJzZXIuaGFzUHJhZ21hIHx8IHNlbGVjdGVkUGFyc2VyLmhhc1ByYWdtYSh0ZXh0KTtcbn1cbmFzeW5jIGZ1bmN0aW9uIGZvcm1hdFdpdGhDdXJzb3Iob3JpZ2luYWxUZXh0LCBvcmlnaW5hbE9wdGlvbnMpIHtcbiAgbGV0IHsgaGFzQk9NLCB0ZXh0LCBvcHRpb25zOiBvcHRpb25zOCB9ID0gbm9ybWFsaXplSW5wdXRBbmRPcHRpb25zKFxuICAgIG9yaWdpbmFsVGV4dCxcbiAgICBhd2FpdCBub3JtYWxpemVfZm9ybWF0X29wdGlvbnNfZGVmYXVsdChvcmlnaW5hbE9wdGlvbnMpXG4gICk7XG4gIGlmIChvcHRpb25zOC5yYW5nZVN0YXJ0ID49IG9wdGlvbnM4LnJhbmdlRW5kICYmIHRleHQgIT09IFwiXCIgfHwgb3B0aW9uczgucmVxdWlyZVByYWdtYSAmJiAhYXdhaXQgaGFzUHJhZ21hKHRleHQsIG9wdGlvbnM4KSkge1xuICAgIHJldHVybiB7XG4gICAgICBmb3JtYXR0ZWQ6IG9yaWdpbmFsVGV4dCxcbiAgICAgIGN1cnNvck9mZnNldDogb3JpZ2luYWxPcHRpb25zLmN1cnNvck9mZnNldCxcbiAgICAgIGNvbW1lbnRzOiBbXVxuICAgIH07XG4gIH1cbiAgbGV0IHJlc3VsdDtcbiAgaWYgKG9wdGlvbnM4LnJhbmdlU3RhcnQgPiAwIHx8IG9wdGlvbnM4LnJhbmdlRW5kIDwgdGV4dC5sZW5ndGgpIHtcbiAgICByZXN1bHQgPSBhd2FpdCBmb3JtYXRSYW5nZSh0ZXh0LCBvcHRpb25zOCk7XG4gIH0gZWxzZSB7XG4gICAgaWYgKCFvcHRpb25zOC5yZXF1aXJlUHJhZ21hICYmIG9wdGlvbnM4Lmluc2VydFByYWdtYSAmJiBvcHRpb25zOC5wcmludGVyLmluc2VydFByYWdtYSAmJiAhYXdhaXQgaGFzUHJhZ21hKHRleHQsIG9wdGlvbnM4KSkge1xuICAgICAgdGV4dCA9IG9wdGlvbnM4LnByaW50ZXIuaW5zZXJ0UHJhZ21hKHRleHQpO1xuICAgIH1cbiAgICByZXN1bHQgPSBhd2FpdCBjb3JlRm9ybWF0KHRleHQsIG9wdGlvbnM4KTtcbiAgfVxuICBpZiAoaGFzQk9NKSB7XG4gICAgcmVzdWx0LmZvcm1hdHRlZCA9IEJPTSArIHJlc3VsdC5mb3JtYXR0ZWQ7XG4gICAgaWYgKHJlc3VsdC5jdXJzb3JPZmZzZXQgPj0gMCkge1xuICAgICAgcmVzdWx0LmN1cnNvck9mZnNldCsrO1xuICAgIH1cbiAgfVxuICByZXR1cm4gcmVzdWx0O1xufVxuYXN5bmMgZnVuY3Rpb24gcGFyc2U2KG9yaWdpbmFsVGV4dCwgb3JpZ2luYWxPcHRpb25zLCBkZXZPcHRpb25zKSB7XG4gIGNvbnN0IHsgdGV4dCwgb3B0aW9uczogb3B0aW9uczggfSA9IG5vcm1hbGl6ZUlucHV0QW5kT3B0aW9ucyhcbiAgICBvcmlnaW5hbFRleHQsXG4gICAgYXdhaXQgbm9ybWFsaXplX2Zvcm1hdF9vcHRpb25zX2RlZmF1bHQob3JpZ2luYWxPcHRpb25zKVxuICApO1xuICBjb25zdCBwYXJzZWQgPSBhd2FpdCBwYXJzZV9kZWZhdWx0KHRleHQsIG9wdGlvbnM4KTtcbiAgaWYgKGRldk9wdGlvbnMpIHtcbiAgICBpZiAoZGV2T3B0aW9ucy5wcmVwcm9jZXNzRm9yUHJpbnQpIHtcbiAgICAgIHBhcnNlZC5hc3QgPSBhd2FpdCBwcmVwYXJlVG9QcmludChwYXJzZWQuYXN0LCBvcHRpb25zOCk7XG4gICAgfVxuICAgIGlmIChkZXZPcHRpb25zLm1hc3NhZ2UpIHtcbiAgICAgIHBhcnNlZC5hc3QgPSBtYXNzYWdlX2FzdF9kZWZhdWx0KHBhcnNlZC5hc3QsIG9wdGlvbnM4KTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHBhcnNlZDtcbn1cbmFzeW5jIGZ1bmN0aW9uIGZvcm1hdEFzdChhc3QsIG9wdGlvbnM4KSB7XG4gIG9wdGlvbnM4ID0gYXdhaXQgbm9ybWFsaXplX2Zvcm1hdF9vcHRpb25zX2RlZmF1bHQob3B0aW9uczgpO1xuICBjb25zdCBkb2MyID0gYXdhaXQgcHJpbnRBc3RUb0RvYyhhc3QsIG9wdGlvbnM4KTtcbiAgcmV0dXJuIHByaW50RG9jVG9TdHJpbmcoZG9jMiwgb3B0aW9uczgpO1xufVxuYXN5bmMgZnVuY3Rpb24gZm9ybWF0RG9jKGRvYzIsIG9wdGlvbnM4KSB7XG4gIGNvbnN0IHRleHQgPSBwcmludERvY1RvRGVidWcoZG9jMik7XG4gIGNvbnN0IHsgZm9ybWF0dGVkIH0gPSBhd2FpdCBmb3JtYXRXaXRoQ3Vyc29yKHRleHQsIHtcbiAgICAuLi5vcHRpb25zOCxcbiAgICBwYXJzZXI6IFwiX19qc19leHByZXNzaW9uXCJcbiAgfSk7XG4gIHJldHVybiBmb3JtYXR0ZWQ7XG59XG5hc3luYyBmdW5jdGlvbiBwcmludFRvRG9jKG9yaWdpbmFsVGV4dCwgb3B0aW9uczgpIHtcbiAgb3B0aW9uczggPSBhd2FpdCBub3JtYWxpemVfZm9ybWF0X29wdGlvbnNfZGVmYXVsdChvcHRpb25zOCk7XG4gIGNvbnN0IHsgYXN0IH0gPSBhd2FpdCBwYXJzZV9kZWZhdWx0KG9yaWdpbmFsVGV4dCwgb3B0aW9uczgpO1xuICByZXR1cm4gcHJpbnRBc3RUb0RvYyhhc3QsIG9wdGlvbnM4KTtcbn1cbmFzeW5jIGZ1bmN0aW9uIHByaW50RG9jVG9TdHJpbmcyKGRvYzIsIG9wdGlvbnM4KSB7XG4gIHJldHVybiBwcmludERvY1RvU3RyaW5nKFxuICAgIGRvYzIsXG4gICAgYXdhaXQgbm9ybWFsaXplX2Zvcm1hdF9vcHRpb25zX2RlZmF1bHQob3B0aW9uczgpXG4gICk7XG59XG5cbi8vIHNyYy9tYWluL29wdGlvbi1jYXRlZ29yaWVzLmpzXG52YXIgb3B0aW9uX2NhdGVnb3JpZXNfZXhwb3J0cyA9IHt9O1xuX19leHBvcnQob3B0aW9uX2NhdGVnb3JpZXNfZXhwb3J0cywge1xuICBDQVRFR09SWV9DT05GSUc6ICgpID0+IENBVEVHT1JZX0NPTkZJRyxcbiAgQ0FURUdPUllfRURJVE9SOiAoKSA9PiBDQVRFR09SWV9FRElUT1IsXG4gIENBVEVHT1JZX0ZPUk1BVDogKCkgPT4gQ0FURUdPUllfRk9STUFULFxuICBDQVRFR09SWV9HTE9CQUw6ICgpID0+IENBVEVHT1JZX0dMT0JBTCxcbiAgQ0FURUdPUllfT1RIRVI6ICgpID0+IENBVEVHT1JZX09USEVSLFxuICBDQVRFR09SWV9PVVRQVVQ6ICgpID0+IENBVEVHT1JZX09VVFBVVCxcbiAgQ0FURUdPUllfU1BFQ0lBTDogKCkgPT4gQ0FURUdPUllfU1BFQ0lBTFxufSk7XG52YXIgQ0FURUdPUllfQ09ORklHID0gXCJDb25maWdcIjtcbnZhciBDQVRFR09SWV9FRElUT1IgPSBcIkVkaXRvclwiO1xudmFyIENBVEVHT1JZX0ZPUk1BVCA9IFwiRm9ybWF0XCI7XG52YXIgQ0FURUdPUllfT1RIRVIgPSBcIk90aGVyXCI7XG52YXIgQ0FURUdPUllfT1VUUFVUID0gXCJPdXRwdXRcIjtcbnZhciBDQVRFR09SWV9HTE9CQUwgPSBcIkdsb2JhbFwiO1xudmFyIENBVEVHT1JZX1NQRUNJQUwgPSBcIlNwZWNpYWxcIjtcblxuLy8gc3JjL3BsdWdpbnMvYnVpbHRpbi1wbHVnaW5zLXByb3h5LmpzXG52YXIgYnVpbHRpbl9wbHVnaW5zX3Byb3h5X2V4cG9ydHMgPSB7fTtcbl9fZXhwb3J0KGJ1aWx0aW5fcGx1Z2luc19wcm94eV9leHBvcnRzLCB7XG4gIGxhbmd1YWdlczogKCkgPT4gbGFuZ3VhZ2VzLFxuICBvcHRpb25zOiAoKSA9PiBvcHRpb25zNyxcbiAgcGFyc2VyczogKCkgPT4gcGFyc2VycyxcbiAgcHJpbnRlcnM6ICgpID0+IHByaW50ZXJzXG59KTtcblxuLy8gc3JjL2xhbmd1YWdlLWNzcy9sYW5ndWFnZXMuZXZhbHVhdGUuanNcbnZhciBsYW5ndWFnZXNfZXZhbHVhdGVfZGVmYXVsdCA9IFtcbiAge1xuICAgIFwibGluZ3Vpc3RMYW5ndWFnZUlkXCI6IDUwLFxuICAgIFwibmFtZVwiOiBcIkNTU1wiLFxuICAgIFwidHlwZVwiOiBcIm1hcmt1cFwiLFxuICAgIFwidG1TY29wZVwiOiBcInNvdXJjZS5jc3NcIixcbiAgICBcImFjZU1vZGVcIjogXCJjc3NcIixcbiAgICBcImNvZGVtaXJyb3JNb2RlXCI6IFwiY3NzXCIsXG4gICAgXCJjb2RlbWlycm9yTWltZVR5cGVcIjogXCJ0ZXh0L2Nzc1wiLFxuICAgIFwiY29sb3JcIjogXCIjNTYzZDdjXCIsXG4gICAgXCJleHRlbnNpb25zXCI6IFtcbiAgICAgIFwiLmNzc1wiLFxuICAgICAgXCIud3hzc1wiXG4gICAgXSxcbiAgICBcInBhcnNlcnNcIjogW1xuICAgICAgXCJjc3NcIlxuICAgIF0sXG4gICAgXCJ2c2NvZGVMYW5ndWFnZUlkc1wiOiBbXG4gICAgICBcImNzc1wiXG4gICAgXVxuICB9LFxuICB7XG4gICAgXCJsaW5ndWlzdExhbmd1YWdlSWRcIjogMjYyNzY0NDM3LFxuICAgIFwibmFtZVwiOiBcIlBvc3RDU1NcIixcbiAgICBcInR5cGVcIjogXCJtYXJrdXBcIixcbiAgICBcImNvbG9yXCI6IFwiI2RjM2EwY1wiLFxuICAgIFwidG1TY29wZVwiOiBcInNvdXJjZS5wb3N0Y3NzXCIsXG4gICAgXCJncm91cFwiOiBcIkNTU1wiLFxuICAgIFwiZXh0ZW5zaW9uc1wiOiBbXG4gICAgICBcIi5wY3NzXCIsXG4gICAgICBcIi5wb3N0Y3NzXCJcbiAgICBdLFxuICAgIFwiYWNlTW9kZVwiOiBcInRleHRcIixcbiAgICBcInBhcnNlcnNcIjogW1xuICAgICAgXCJjc3NcIlxuICAgIF0sXG4gICAgXCJ2c2NvZGVMYW5ndWFnZUlkc1wiOiBbXG4gICAgICBcInBvc3Rjc3NcIlxuICAgIF1cbiAgfSxcbiAge1xuICAgIFwibGluZ3Vpc3RMYW5ndWFnZUlkXCI6IDE5OCxcbiAgICBcIm5hbWVcIjogXCJMZXNzXCIsXG4gICAgXCJ0eXBlXCI6IFwibWFya3VwXCIsXG4gICAgXCJjb2xvclwiOiBcIiMxZDM2NWRcIixcbiAgICBcImFsaWFzZXNcIjogW1xuICAgICAgXCJsZXNzLWNzc1wiXG4gICAgXSxcbiAgICBcImV4dGVuc2lvbnNcIjogW1xuICAgICAgXCIubGVzc1wiXG4gICAgXSxcbiAgICBcInRtU2NvcGVcIjogXCJzb3VyY2UuY3NzLmxlc3NcIixcbiAgICBcImFjZU1vZGVcIjogXCJsZXNzXCIsXG4gICAgXCJjb2RlbWlycm9yTW9kZVwiOiBcImNzc1wiLFxuICAgIFwiY29kZW1pcnJvck1pbWVUeXBlXCI6IFwidGV4dC9jc3NcIixcbiAgICBcInBhcnNlcnNcIjogW1xuICAgICAgXCJsZXNzXCJcbiAgICBdLFxuICAgIFwidnNjb2RlTGFuZ3VhZ2VJZHNcIjogW1xuICAgICAgXCJsZXNzXCJcbiAgICBdXG4gIH0sXG4gIHtcbiAgICBcImxpbmd1aXN0TGFuZ3VhZ2VJZFwiOiAzMjksXG4gICAgXCJuYW1lXCI6IFwiU0NTU1wiLFxuICAgIFwidHlwZVwiOiBcIm1hcmt1cFwiLFxuICAgIFwiY29sb3JcIjogXCIjYzY1MzhjXCIsXG4gICAgXCJ0bVNjb3BlXCI6IFwic291cmNlLmNzcy5zY3NzXCIsXG4gICAgXCJhY2VNb2RlXCI6IFwic2Nzc1wiLFxuICAgIFwiY29kZW1pcnJvck1vZGVcIjogXCJjc3NcIixcbiAgICBcImNvZGVtaXJyb3JNaW1lVHlwZVwiOiBcInRleHQveC1zY3NzXCIsXG4gICAgXCJleHRlbnNpb25zXCI6IFtcbiAgICAgIFwiLnNjc3NcIlxuICAgIF0sXG4gICAgXCJwYXJzZXJzXCI6IFtcbiAgICAgIFwic2Nzc1wiXG4gICAgXSxcbiAgICBcInZzY29kZUxhbmd1YWdlSWRzXCI6IFtcbiAgICAgIFwic2Nzc1wiXG4gICAgXVxuICB9XG5dO1xuXG4vLyBzcmMvY29tbW9uL2NvbW1vbi1vcHRpb25zLmV2YWx1YXRlLmpzXG52YXIgY29tbW9uX29wdGlvbnNfZXZhbHVhdGVfZGVmYXVsdCA9IHtcbiAgXCJicmFja2V0U3BhY2luZ1wiOiB7XG4gICAgXCJjYXRlZ29yeVwiOiBcIkNvbW1vblwiLFxuICAgIFwidHlwZVwiOiBcImJvb2xlYW5cIixcbiAgICBcImRlZmF1bHRcIjogdHJ1ZSxcbiAgICBcImRlc2NyaXB0aW9uXCI6IFwiUHJpbnQgc3BhY2VzIGJldHdlZW4gYnJhY2tldHMuXCIsXG4gICAgXCJvcHBvc2l0ZURlc2NyaXB0aW9uXCI6IFwiRG8gbm90IHByaW50IHNwYWNlcyBiZXR3ZWVuIGJyYWNrZXRzLlwiXG4gIH0sXG4gIFwic2luZ2xlUXVvdGVcIjoge1xuICAgIFwiY2F0ZWdvcnlcIjogXCJDb21tb25cIixcbiAgICBcInR5cGVcIjogXCJib29sZWFuXCIsXG4gICAgXCJkZWZhdWx0XCI6IGZhbHNlLFxuICAgIFwiZGVzY3JpcHRpb25cIjogXCJVc2Ugc2luZ2xlIHF1b3RlcyBpbnN0ZWFkIG9mIGRvdWJsZSBxdW90ZXMuXCJcbiAgfSxcbiAgXCJwcm9zZVdyYXBcIjoge1xuICAgIFwiY2F0ZWdvcnlcIjogXCJDb21tb25cIixcbiAgICBcInR5cGVcIjogXCJjaG9pY2VcIixcbiAgICBcImRlZmF1bHRcIjogXCJwcmVzZXJ2ZVwiLFxuICAgIFwiZGVzY3JpcHRpb25cIjogXCJIb3cgdG8gd3JhcCBwcm9zZS5cIixcbiAgICBcImNob2ljZXNcIjogW1xuICAgICAge1xuICAgICAgICBcInZhbHVlXCI6IFwiYWx3YXlzXCIsXG4gICAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJXcmFwIHByb3NlIGlmIGl0IGV4Y2VlZHMgdGhlIHByaW50IHdpZHRoLlwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInZhbHVlXCI6IFwibmV2ZXJcIixcbiAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIkRvIG5vdCB3cmFwIHByb3NlLlwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBcInZhbHVlXCI6IFwicHJlc2VydmVcIixcbiAgICAgICAgXCJkZXNjcmlwdGlvblwiOiBcIldyYXAgcHJvc2UgYXMtaXMuXCJcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIFwiYnJhY2tldFNhbWVMaW5lXCI6IHtcbiAgICBcImNhdGVnb3J5XCI6IFwiQ29tbW9uXCIsXG4gICAgXCJ0eXBlXCI6IFwiYm9vbGVhblwiLFxuICAgIFwiZGVmYXVsdFwiOiBmYWxzZSxcbiAgICBcImRlc2NyaXB0aW9uXCI6IFwiUHV0ID4gb2Ygb3BlbmluZyB0YWdzIG9uIHRoZSBsYXN0IGxpbmUgaW5zdGVhZCBvZiBvbiBhIG5ldyBsaW5lLlwiXG4gIH0sXG4gIFwic2luZ2xlQXR0cmlidXRlUGVyTGluZVwiOiB7XG4gICAgXCJjYXRlZ29yeVwiOiBcIkNvbW1vblwiLFxuICAgIFwidHlwZVwiOiBcImJvb2xlYW5cIixcbiAgICBcImRlZmF1bHRcIjogZmFsc2UsXG4gICAgXCJkZXNjcmlwdGlvblwiOiBcIkVuZm9yY2Ugc2luZ2xlIGF0dHJpYnV0ZSBwZXIgbGluZSBpbiBIVE1MLCBWdWUgYW5kIEpTWC5cIlxuICB9XG59O1xuXG4vLyBzcmMvbGFuZ3VhZ2UtY3NzL29wdGlvbnMuanNcbnZhciBvcHRpb25zID0ge1xuICBzaW5nbGVRdW90ZTogY29tbW9uX29wdGlvbnNfZXZhbHVhdGVfZGVmYXVsdC5zaW5nbGVRdW90ZVxufTtcbnZhciBvcHRpb25zX2RlZmF1bHQgPSBvcHRpb25zO1xuXG4vLyBzcmMvbGFuZ3VhZ2UtZ3JhcGhxbC9sYW5ndWFnZXMuZXZhbHVhdGUuanNcbnZhciBsYW5ndWFnZXNfZXZhbHVhdGVfZGVmYXVsdDIgPSBbXG4gIHtcbiAgICBcImxpbmd1aXN0TGFuZ3VhZ2VJZFwiOiAxMzksXG4gICAgXCJuYW1lXCI6IFwiR3JhcGhRTFwiLFxuICAgIFwidHlwZVwiOiBcImRhdGFcIixcbiAgICBcImNvbG9yXCI6IFwiI2UxMDA5OFwiLFxuICAgIFwiZXh0ZW5zaW9uc1wiOiBbXG4gICAgICBcIi5ncmFwaHFsXCIsXG4gICAgICBcIi5ncWxcIixcbiAgICAgIFwiLmdyYXBocWxzXCJcbiAgICBdLFxuICAgIFwidG1TY29wZVwiOiBcInNvdXJjZS5ncmFwaHFsXCIsXG4gICAgXCJhY2VNb2RlXCI6IFwidGV4dFwiLFxuICAgIFwicGFyc2Vyc1wiOiBbXG4gICAgICBcImdyYXBocWxcIlxuICAgIF0sXG4gICAgXCJ2c2NvZGVMYW5ndWFnZUlkc1wiOiBbXG4gICAgICBcImdyYXBocWxcIlxuICAgIF1cbiAgfVxuXTtcblxuLy8gc3JjL2xhbmd1YWdlLWdyYXBocWwvb3B0aW9ucy5qc1xudmFyIG9wdGlvbnMyID0ge1xuICBicmFja2V0U3BhY2luZzogY29tbW9uX29wdGlvbnNfZXZhbHVhdGVfZGVmYXVsdC5icmFja2V0U3BhY2luZ1xufTtcbnZhciBvcHRpb25zX2RlZmF1bHQyID0gb3B0aW9uczI7XG5cbi8vIHNyYy9sYW5ndWFnZS1oYW5kbGViYXJzL2xhbmd1YWdlcy5ldmFsdWF0ZS5qc1xudmFyIGxhbmd1YWdlc19ldmFsdWF0ZV9kZWZhdWx0MyA9IFtcbiAge1xuICAgIFwibGluZ3Vpc3RMYW5ndWFnZUlkXCI6IDE1NSxcbiAgICBcIm5hbWVcIjogXCJIYW5kbGViYXJzXCIsXG4gICAgXCJ0eXBlXCI6IFwibWFya3VwXCIsXG4gICAgXCJjb2xvclwiOiBcIiNmNzkzMWVcIixcbiAgICBcImFsaWFzZXNcIjogW1xuICAgICAgXCJoYnNcIixcbiAgICAgIFwiaHRtbGJhcnNcIlxuICAgIF0sXG4gICAgXCJleHRlbnNpb25zXCI6IFtcbiAgICAgIFwiLmhhbmRsZWJhcnNcIixcbiAgICAgIFwiLmhic1wiXG4gICAgXSxcbiAgICBcInRtU2NvcGVcIjogXCJ0ZXh0Lmh0bWwuaGFuZGxlYmFyc1wiLFxuICAgIFwiYWNlTW9kZVwiOiBcImhhbmRsZWJhcnNcIixcbiAgICBcInBhcnNlcnNcIjogW1xuICAgICAgXCJnbGltbWVyXCJcbiAgICBdLFxuICAgIFwidnNjb2RlTGFuZ3VhZ2VJZHNcIjogW1xuICAgICAgXCJoYW5kbGViYXJzXCJcbiAgICBdXG4gIH1cbl07XG5cbi8vIHNyYy9sYW5ndWFnZS1odG1sL2xhbmd1YWdlcy5ldmFsdWF0ZS5qc1xudmFyIGxhbmd1YWdlc19ldmFsdWF0ZV9kZWZhdWx0NCA9IFtcbiAge1xuICAgIFwibGluZ3Vpc3RMYW5ndWFnZUlkXCI6IDE0NixcbiAgICBcIm5hbWVcIjogXCJBbmd1bGFyXCIsXG4gICAgXCJ0eXBlXCI6IFwibWFya3VwXCIsXG4gICAgXCJ0bVNjb3BlXCI6IFwidGV4dC5odG1sLmJhc2ljXCIsXG4gICAgXCJhY2VNb2RlXCI6IFwiaHRtbFwiLFxuICAgIFwiY29kZW1pcnJvck1vZGVcIjogXCJodG1sbWl4ZWRcIixcbiAgICBcImNvZGVtaXJyb3JNaW1lVHlwZVwiOiBcInRleHQvaHRtbFwiLFxuICAgIFwiY29sb3JcIjogXCIjZTM0YzI2XCIsXG4gICAgXCJhbGlhc2VzXCI6IFtcbiAgICAgIFwieGh0bWxcIlxuICAgIF0sXG4gICAgXCJleHRlbnNpb25zXCI6IFtcbiAgICAgIFwiLmNvbXBvbmVudC5odG1sXCJcbiAgICBdLFxuICAgIFwicGFyc2Vyc1wiOiBbXG4gICAgICBcImFuZ3VsYXJcIlxuICAgIF0sXG4gICAgXCJ2c2NvZGVMYW5ndWFnZUlkc1wiOiBbXG4gICAgICBcImh0bWxcIlxuICAgIF0sXG4gICAgXCJmaWxlbmFtZXNcIjogW11cbiAgfSxcbiAge1xuICAgIFwibGluZ3Vpc3RMYW5ndWFnZUlkXCI6IDE0NixcbiAgICBcIm5hbWVcIjogXCJIVE1MXCIsXG4gICAgXCJ0eXBlXCI6IFwibWFya3VwXCIsXG4gICAgXCJ0bVNjb3BlXCI6IFwidGV4dC5odG1sLmJhc2ljXCIsXG4gICAgXCJhY2VNb2RlXCI6IFwiaHRtbFwiLFxuICAgIFwiY29kZW1pcnJvck1vZGVcIjogXCJodG1sbWl4ZWRcIixcbiAgICBcImNvZGVtaXJyb3JNaW1lVHlwZVwiOiBcInRleHQvaHRtbFwiLFxuICAgIFwiY29sb3JcIjogXCIjZTM0YzI2XCIsXG4gICAgXCJhbGlhc2VzXCI6IFtcbiAgICAgIFwieGh0bWxcIlxuICAgIF0sXG4gICAgXCJleHRlbnNpb25zXCI6IFtcbiAgICAgIFwiLmh0bWxcIixcbiAgICAgIFwiLmh0YVwiLFxuICAgICAgXCIuaHRtXCIsXG4gICAgICBcIi5odG1sLmhsXCIsXG4gICAgICBcIi5pbmNcIixcbiAgICAgIFwiLnhodFwiLFxuICAgICAgXCIueGh0bWxcIixcbiAgICAgIFwiLm1qbWxcIlxuICAgIF0sXG4gICAgXCJwYXJzZXJzXCI6IFtcbiAgICAgIFwiaHRtbFwiXG4gICAgXSxcbiAgICBcInZzY29kZUxhbmd1YWdlSWRzXCI6IFtcbiAgICAgIFwiaHRtbFwiXG4gICAgXVxuICB9LFxuICB7XG4gICAgXCJsaW5ndWlzdExhbmd1YWdlSWRcIjogMTQ2LFxuICAgIFwibmFtZVwiOiBcIkxpZ2h0bmluZyBXZWIgQ29tcG9uZW50c1wiLFxuICAgIFwidHlwZVwiOiBcIm1hcmt1cFwiLFxuICAgIFwidG1TY29wZVwiOiBcInRleHQuaHRtbC5iYXNpY1wiLFxuICAgIFwiYWNlTW9kZVwiOiBcImh0bWxcIixcbiAgICBcImNvZGVtaXJyb3JNb2RlXCI6IFwiaHRtbG1peGVkXCIsXG4gICAgXCJjb2RlbWlycm9yTWltZVR5cGVcIjogXCJ0ZXh0L2h0bWxcIixcbiAgICBcImNvbG9yXCI6IFwiI2UzNGMyNlwiLFxuICAgIFwiYWxpYXNlc1wiOiBbXG4gICAgICBcInhodG1sXCJcbiAgICBdLFxuICAgIFwiZXh0ZW5zaW9uc1wiOiBbXSxcbiAgICBcInBhcnNlcnNcIjogW1xuICAgICAgXCJsd2NcIlxuICAgIF0sXG4gICAgXCJ2c2NvZGVMYW5ndWFnZUlkc1wiOiBbXG4gICAgICBcImh0bWxcIlxuICAgIF0sXG4gICAgXCJmaWxlbmFtZXNcIjogW11cbiAgfSxcbiAge1xuICAgIFwibGluZ3Vpc3RMYW5ndWFnZUlkXCI6IDM5MSxcbiAgICBcIm5hbWVcIjogXCJWdWVcIixcbiAgICBcInR5cGVcIjogXCJtYXJrdXBcIixcbiAgICBcImNvbG9yXCI6IFwiIzQxYjg4M1wiLFxuICAgIFwiZXh0ZW5zaW9uc1wiOiBbXG4gICAgICBcIi52dWVcIlxuICAgIF0sXG4gICAgXCJ0bVNjb3BlXCI6IFwidGV4dC5odG1sLnZ1ZVwiLFxuICAgIFwiYWNlTW9kZVwiOiBcImh0bWxcIixcbiAgICBcInBhcnNlcnNcIjogW1xuICAgICAgXCJ2dWVcIlxuICAgIF0sXG4gICAgXCJ2c2NvZGVMYW5ndWFnZUlkc1wiOiBbXG4gICAgICBcInZ1ZVwiXG4gICAgXVxuICB9XG5dO1xuXG4vLyBzcmMvbGFuZ3VhZ2UtaHRtbC9vcHRpb25zLmpzXG52YXIgQ0FURUdPUllfSFRNTCA9IFwiSFRNTFwiO1xudmFyIG9wdGlvbnMzID0ge1xuICBicmFja2V0U2FtZUxpbmU6IGNvbW1vbl9vcHRpb25zX2V2YWx1YXRlX2RlZmF1bHQuYnJhY2tldFNhbWVMaW5lLFxuICBodG1sV2hpdGVzcGFjZVNlbnNpdGl2aXR5OiB7XG4gICAgY2F0ZWdvcnk6IENBVEVHT1JZX0hUTUwsXG4gICAgdHlwZTogXCJjaG9pY2VcIixcbiAgICBkZWZhdWx0OiBcImNzc1wiLFxuICAgIGRlc2NyaXB0aW9uOiBcIkhvdyB0byBoYW5kbGUgd2hpdGVzcGFjZXMgaW4gSFRNTC5cIixcbiAgICBjaG9pY2VzOiBbXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBcImNzc1wiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJSZXNwZWN0IHRoZSBkZWZhdWx0IHZhbHVlIG9mIENTUyBkaXNwbGF5IHByb3BlcnR5LlwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWx1ZTogXCJzdHJpY3RcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiV2hpdGVzcGFjZXMgYXJlIGNvbnNpZGVyZWQgc2Vuc2l0aXZlLlwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWx1ZTogXCJpZ25vcmVcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiV2hpdGVzcGFjZXMgYXJlIGNvbnNpZGVyZWQgaW5zZW5zaXRpdmUuXCJcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHNpbmdsZUF0dHJpYnV0ZVBlckxpbmU6IGNvbW1vbl9vcHRpb25zX2V2YWx1YXRlX2RlZmF1bHQuc2luZ2xlQXR0cmlidXRlUGVyTGluZSxcbiAgdnVlSW5kZW50U2NyaXB0QW5kU3R5bGU6IHtcbiAgICBjYXRlZ29yeTogQ0FURUdPUllfSFRNTCxcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJJbmRlbnQgc2NyaXB0IGFuZCBzdHlsZSB0YWdzIGluIFZ1ZSBmaWxlcy5cIlxuICB9XG59O1xudmFyIG9wdGlvbnNfZGVmYXVsdDMgPSBvcHRpb25zMztcblxuLy8gc3JjL2xhbmd1YWdlLWpzL2xhbmd1YWdlcy5ldmFsdWF0ZS5qc1xudmFyIGxhbmd1YWdlc19ldmFsdWF0ZV9kZWZhdWx0NSA9IFtcbiAge1xuICAgIFwibGluZ3Vpc3RMYW5ndWFnZUlkXCI6IDE4MyxcbiAgICBcIm5hbWVcIjogXCJKYXZhU2NyaXB0XCIsXG4gICAgXCJ0eXBlXCI6IFwicHJvZ3JhbW1pbmdcIixcbiAgICBcInRtU2NvcGVcIjogXCJzb3VyY2UuanNcIixcbiAgICBcImFjZU1vZGVcIjogXCJqYXZhc2NyaXB0XCIsXG4gICAgXCJjb2RlbWlycm9yTW9kZVwiOiBcImphdmFzY3JpcHRcIixcbiAgICBcImNvZGVtaXJyb3JNaW1lVHlwZVwiOiBcInRleHQvamF2YXNjcmlwdFwiLFxuICAgIFwiY29sb3JcIjogXCIjZjFlMDVhXCIsXG4gICAgXCJhbGlhc2VzXCI6IFtcbiAgICAgIFwianNcIixcbiAgICAgIFwibm9kZVwiXG4gICAgXSxcbiAgICBcImV4dGVuc2lvbnNcIjogW1xuICAgICAgXCIuanNcIixcbiAgICAgIFwiLl9qc1wiLFxuICAgICAgXCIuYm9uZXNcIixcbiAgICAgIFwiLmNqc1wiLFxuICAgICAgXCIuZXNcIixcbiAgICAgIFwiLmVzNlwiLFxuICAgICAgXCIuZnJhZ1wiLFxuICAgICAgXCIuZ3NcIixcbiAgICAgIFwiLmpha2VcIixcbiAgICAgIFwiLmphdmFzY3JpcHRcIixcbiAgICAgIFwiLmpzYlwiLFxuICAgICAgXCIuanNjYWRcIixcbiAgICAgIFwiLmpzZmxcIixcbiAgICAgIFwiLmpzbGliXCIsXG4gICAgICBcIi5qc21cIixcbiAgICAgIFwiLmpzcHJlXCIsXG4gICAgICBcIi5qc3NcIixcbiAgICAgIFwiLm1qc1wiLFxuICAgICAgXCIubmpzXCIsXG4gICAgICBcIi5wYWNcIixcbiAgICAgIFwiLnNqc1wiLFxuICAgICAgXCIuc3Nqc1wiLFxuICAgICAgXCIueHNqc1wiLFxuICAgICAgXCIueHNqc2xpYlwiLFxuICAgICAgXCIud3hzXCJcbiAgICBdLFxuICAgIFwiZmlsZW5hbWVzXCI6IFtcbiAgICAgIFwiSmFrZWZpbGVcIlxuICAgIF0sXG4gICAgXCJpbnRlcnByZXRlcnNcIjogW1xuICAgICAgXCJjaGFrcmFcIixcbiAgICAgIFwiZDhcIixcbiAgICAgIFwiZ2pzXCIsXG4gICAgICBcImpzXCIsXG4gICAgICBcIm5vZGVcIixcbiAgICAgIFwibm9kZWpzXCIsXG4gICAgICBcInFqc1wiLFxuICAgICAgXCJyaGlub1wiLFxuICAgICAgXCJ2OFwiLFxuICAgICAgXCJ2OC1zaGVsbFwiLFxuICAgICAgXCJ6eFwiXG4gICAgXSxcbiAgICBcInBhcnNlcnNcIjogW1xuICAgICAgXCJiYWJlbFwiLFxuICAgICAgXCJhY29yblwiLFxuICAgICAgXCJlc3ByZWVcIixcbiAgICAgIFwibWVyaXlhaFwiLFxuICAgICAgXCJiYWJlbC1mbG93XCIsXG4gICAgICBcImJhYmVsLXRzXCIsXG4gICAgICBcImZsb3dcIixcbiAgICAgIFwidHlwZXNjcmlwdFwiXG4gICAgXSxcbiAgICBcInZzY29kZUxhbmd1YWdlSWRzXCI6IFtcbiAgICAgIFwiamF2YXNjcmlwdFwiLFxuICAgICAgXCJtb25nb1wiXG4gICAgXVxuICB9LFxuICB7XG4gICAgXCJsaW5ndWlzdExhbmd1YWdlSWRcIjogMTgzLFxuICAgIFwibmFtZVwiOiBcIkZsb3dcIixcbiAgICBcInR5cGVcIjogXCJwcm9ncmFtbWluZ1wiLFxuICAgIFwidG1TY29wZVwiOiBcInNvdXJjZS5qc1wiLFxuICAgIFwiYWNlTW9kZVwiOiBcImphdmFzY3JpcHRcIixcbiAgICBcImNvZGVtaXJyb3JNb2RlXCI6IFwiamF2YXNjcmlwdFwiLFxuICAgIFwiY29kZW1pcnJvck1pbWVUeXBlXCI6IFwidGV4dC9qYXZhc2NyaXB0XCIsXG4gICAgXCJjb2xvclwiOiBcIiNmMWUwNWFcIixcbiAgICBcImFsaWFzZXNcIjogW10sXG4gICAgXCJleHRlbnNpb25zXCI6IFtcbiAgICAgIFwiLmpzLmZsb3dcIlxuICAgIF0sXG4gICAgXCJmaWxlbmFtZXNcIjogW10sXG4gICAgXCJpbnRlcnByZXRlcnNcIjogW1xuICAgICAgXCJjaGFrcmFcIixcbiAgICAgIFwiZDhcIixcbiAgICAgIFwiZ2pzXCIsXG4gICAgICBcImpzXCIsXG4gICAgICBcIm5vZGVcIixcbiAgICAgIFwibm9kZWpzXCIsXG4gICAgICBcInFqc1wiLFxuICAgICAgXCJyaGlub1wiLFxuICAgICAgXCJ2OFwiLFxuICAgICAgXCJ2OC1zaGVsbFwiXG4gICAgXSxcbiAgICBcInBhcnNlcnNcIjogW1xuICAgICAgXCJmbG93XCIsXG4gICAgICBcImJhYmVsLWZsb3dcIlxuICAgIF0sXG4gICAgXCJ2c2NvZGVMYW5ndWFnZUlkc1wiOiBbXG4gICAgICBcImphdmFzY3JpcHRcIlxuICAgIF1cbiAgfSxcbiAge1xuICAgIFwibGluZ3Vpc3RMYW5ndWFnZUlkXCI6IDE4MyxcbiAgICBcIm5hbWVcIjogXCJKU1hcIixcbiAgICBcInR5cGVcIjogXCJwcm9ncmFtbWluZ1wiLFxuICAgIFwidG1TY29wZVwiOiBcInNvdXJjZS5qcy5qc3hcIixcbiAgICBcImFjZU1vZGVcIjogXCJqYXZhc2NyaXB0XCIsXG4gICAgXCJjb2RlbWlycm9yTW9kZVwiOiBcImpzeFwiLFxuICAgIFwiY29kZW1pcnJvck1pbWVUeXBlXCI6IFwidGV4dC9qc3hcIixcbiAgICBcImNvbG9yXCI6IHZvaWQgMCxcbiAgICBcImFsaWFzZXNcIjogdm9pZCAwLFxuICAgIFwiZXh0ZW5zaW9uc1wiOiBbXG4gICAgICBcIi5qc3hcIlxuICAgIF0sXG4gICAgXCJmaWxlbmFtZXNcIjogdm9pZCAwLFxuICAgIFwiaW50ZXJwcmV0ZXJzXCI6IHZvaWQgMCxcbiAgICBcInBhcnNlcnNcIjogW1xuICAgICAgXCJiYWJlbFwiLFxuICAgICAgXCJiYWJlbC1mbG93XCIsXG4gICAgICBcImJhYmVsLXRzXCIsXG4gICAgICBcImZsb3dcIixcbiAgICAgIFwidHlwZXNjcmlwdFwiLFxuICAgICAgXCJlc3ByZWVcIixcbiAgICAgIFwibWVyaXlhaFwiXG4gICAgXSxcbiAgICBcInZzY29kZUxhbmd1YWdlSWRzXCI6IFtcbiAgICAgIFwiamF2YXNjcmlwdHJlYWN0XCJcbiAgICBdLFxuICAgIFwiZ3JvdXBcIjogXCJKYXZhU2NyaXB0XCJcbiAgfSxcbiAge1xuICAgIFwibGluZ3Vpc3RMYW5ndWFnZUlkXCI6IDM3OCxcbiAgICBcIm5hbWVcIjogXCJUeXBlU2NyaXB0XCIsXG4gICAgXCJ0eXBlXCI6IFwicHJvZ3JhbW1pbmdcIixcbiAgICBcImNvbG9yXCI6IFwiIzMxNzhjNlwiLFxuICAgIFwiYWxpYXNlc1wiOiBbXG4gICAgICBcInRzXCJcbiAgICBdLFxuICAgIFwiaW50ZXJwcmV0ZXJzXCI6IFtcbiAgICAgIFwiZGVub1wiLFxuICAgICAgXCJ0cy1ub2RlXCJcbiAgICBdLFxuICAgIFwiZXh0ZW5zaW9uc1wiOiBbXG4gICAgICBcIi50c1wiLFxuICAgICAgXCIuY3RzXCIsXG4gICAgICBcIi5tdHNcIlxuICAgIF0sXG4gICAgXCJ0bVNjb3BlXCI6IFwic291cmNlLnRzXCIsXG4gICAgXCJhY2VNb2RlXCI6IFwidHlwZXNjcmlwdFwiLFxuICAgIFwiY29kZW1pcnJvck1vZGVcIjogXCJqYXZhc2NyaXB0XCIsXG4gICAgXCJjb2RlbWlycm9yTWltZVR5cGVcIjogXCJhcHBsaWNhdGlvbi90eXBlc2NyaXB0XCIsXG4gICAgXCJwYXJzZXJzXCI6IFtcbiAgICAgIFwidHlwZXNjcmlwdFwiLFxuICAgICAgXCJiYWJlbC10c1wiXG4gICAgXSxcbiAgICBcInZzY29kZUxhbmd1YWdlSWRzXCI6IFtcbiAgICAgIFwidHlwZXNjcmlwdFwiXG4gICAgXVxuICB9LFxuICB7XG4gICAgXCJsaW5ndWlzdExhbmd1YWdlSWRcIjogOTQ5MDE5MjQsXG4gICAgXCJuYW1lXCI6IFwiVFNYXCIsXG4gICAgXCJ0eXBlXCI6IFwicHJvZ3JhbW1pbmdcIixcbiAgICBcImNvbG9yXCI6IFwiIzMxNzhjNlwiLFxuICAgIFwiZ3JvdXBcIjogXCJUeXBlU2NyaXB0XCIsXG4gICAgXCJleHRlbnNpb25zXCI6IFtcbiAgICAgIFwiLnRzeFwiXG4gICAgXSxcbiAgICBcInRtU2NvcGVcIjogXCJzb3VyY2UudHN4XCIsXG4gICAgXCJhY2VNb2RlXCI6IFwiamF2YXNjcmlwdFwiLFxuICAgIFwiY29kZW1pcnJvck1vZGVcIjogXCJqc3hcIixcbiAgICBcImNvZGVtaXJyb3JNaW1lVHlwZVwiOiBcInRleHQvanN4XCIsXG4gICAgXCJwYXJzZXJzXCI6IFtcbiAgICAgIFwidHlwZXNjcmlwdFwiLFxuICAgICAgXCJiYWJlbC10c1wiXG4gICAgXSxcbiAgICBcInZzY29kZUxhbmd1YWdlSWRzXCI6IFtcbiAgICAgIFwidHlwZXNjcmlwdHJlYWN0XCJcbiAgICBdXG4gIH1cbl07XG5cbi8vIHNyYy9sYW5ndWFnZS1qcy9vcHRpb25zLmpzXG52YXIgQ0FURUdPUllfSkFWQVNDUklQVCA9IFwiSmF2YVNjcmlwdFwiO1xudmFyIG9wdGlvbnM0ID0ge1xuICBhcnJvd1BhcmVuczoge1xuICAgIGNhdGVnb3J5OiBDQVRFR09SWV9KQVZBU0NSSVBULFxuICAgIHR5cGU6IFwiY2hvaWNlXCIsXG4gICAgZGVmYXVsdDogXCJhbHdheXNcIixcbiAgICBkZXNjcmlwdGlvbjogXCJJbmNsdWRlIHBhcmVudGhlc2VzIGFyb3VuZCBhIHNvbGUgYXJyb3cgZnVuY3Rpb24gcGFyYW1ldGVyLlwiLFxuICAgIGNob2ljZXM6IFtcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IFwiYWx3YXlzXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIkFsd2F5cyBpbmNsdWRlIHBhcmVucy4gRXhhbXBsZTogYCh4KSA9PiB4YFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWx1ZTogXCJhdm9pZFwiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJPbWl0IHBhcmVucyB3aGVuIHBvc3NpYmxlLiBFeGFtcGxlOiBgeCA9PiB4YFwiXG4gICAgICB9XG4gICAgXVxuICB9LFxuICBicmFja2V0U2FtZUxpbmU6IGNvbW1vbl9vcHRpb25zX2V2YWx1YXRlX2RlZmF1bHQuYnJhY2tldFNhbWVMaW5lLFxuICBicmFja2V0U3BhY2luZzogY29tbW9uX29wdGlvbnNfZXZhbHVhdGVfZGVmYXVsdC5icmFja2V0U3BhY2luZyxcbiAganN4QnJhY2tldFNhbWVMaW5lOiB7XG4gICAgY2F0ZWdvcnk6IENBVEVHT1JZX0pBVkFTQ1JJUFQsXG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVzY3JpcHRpb246IFwiUHV0ID4gb24gdGhlIGxhc3QgbGluZSBpbnN0ZWFkIG9mIGF0IGEgbmV3IGxpbmUuXCIsXG4gICAgZGVwcmVjYXRlZDogXCIyLjQuMFwiXG4gIH0sXG4gIHNlbWk6IHtcbiAgICBjYXRlZ29yeTogQ0FURUdPUllfSkFWQVNDUklQVCxcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICBkZWZhdWx0OiB0cnVlLFxuICAgIGRlc2NyaXB0aW9uOiBcIlByaW50IHNlbWljb2xvbnMuXCIsXG4gICAgb3Bwb3NpdGVEZXNjcmlwdGlvbjogXCJEbyBub3QgcHJpbnQgc2VtaWNvbG9ucywgZXhjZXB0IGF0IHRoZSBiZWdpbm5pbmcgb2YgbGluZXMgd2hpY2ggbWF5IG5lZWQgdGhlbS5cIlxuICB9LFxuICBleHBlcmltZW50YWxUZXJuYXJpZXM6IHtcbiAgICBjYXRlZ29yeTogQ0FURUdPUllfSkFWQVNDUklQVCxcbiAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICBkZXNjcmlwdGlvbjogXCJVc2UgY3VyaW91cyB0ZXJuYXJpZXMsIHdpdGggdGhlIHF1ZXN0aW9uIG1hcmsgYWZ0ZXIgdGhlIGNvbmRpdGlvbi5cIixcbiAgICBvcHBvc2l0ZURlc2NyaXB0aW9uOiBcIkRlZmF1bHQgYmVoYXZpb3Igb2YgdGVybmFyaWVzOyBrZWVwIHF1ZXN0aW9uIG1hcmtzIG9uIHRoZSBzYW1lIGxpbmUgYXMgdGhlIGNvbnNlcXVlbnQuXCJcbiAgfSxcbiAgc2luZ2xlUXVvdGU6IGNvbW1vbl9vcHRpb25zX2V2YWx1YXRlX2RlZmF1bHQuc2luZ2xlUXVvdGUsXG4gIGpzeFNpbmdsZVF1b3RlOiB7XG4gICAgY2F0ZWdvcnk6IENBVEVHT1JZX0pBVkFTQ1JJUFQsXG4gICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgZGVmYXVsdDogZmFsc2UsXG4gICAgZGVzY3JpcHRpb246IFwiVXNlIHNpbmdsZSBxdW90ZXMgaW4gSlNYLlwiXG4gIH0sXG4gIHF1b3RlUHJvcHM6IHtcbiAgICBjYXRlZ29yeTogQ0FURUdPUllfSkFWQVNDUklQVCxcbiAgICB0eXBlOiBcImNob2ljZVwiLFxuICAgIGRlZmF1bHQ6IFwiYXMtbmVlZGVkXCIsXG4gICAgZGVzY3JpcHRpb246IFwiQ2hhbmdlIHdoZW4gcHJvcGVydGllcyBpbiBvYmplY3RzIGFyZSBxdW90ZWQuXCIsXG4gICAgY2hvaWNlczogW1xuICAgICAge1xuICAgICAgICB2YWx1ZTogXCJhcy1uZWVkZWRcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiT25seSBhZGQgcXVvdGVzIGFyb3VuZCBvYmplY3QgcHJvcGVydGllcyB3aGVyZSByZXF1aXJlZC5cIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgdmFsdWU6IFwiY29uc2lzdGVudFwiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJJZiBhdCBsZWFzdCBvbmUgcHJvcGVydHkgaW4gYW4gb2JqZWN0IHJlcXVpcmVzIHF1b3RlcywgcXVvdGUgYWxsIHByb3BlcnRpZXMuXCJcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBcInByZXNlcnZlXCIsXG4gICAgICAgIGRlc2NyaXB0aW9uOiBcIlJlc3BlY3QgdGhlIGlucHV0IHVzZSBvZiBxdW90ZXMgaW4gb2JqZWN0IHByb3BlcnRpZXMuXCJcbiAgICAgIH1cbiAgICBdXG4gIH0sXG4gIHRyYWlsaW5nQ29tbWE6IHtcbiAgICBjYXRlZ29yeTogQ0FURUdPUllfSkFWQVNDUklQVCxcbiAgICB0eXBlOiBcImNob2ljZVwiLFxuICAgIGRlZmF1bHQ6IFwiYWxsXCIsXG4gICAgZGVzY3JpcHRpb246IFwiUHJpbnQgdHJhaWxpbmcgY29tbWFzIHdoZXJldmVyIHBvc3NpYmxlIHdoZW4gbXVsdGktbGluZS5cIixcbiAgICBjaG9pY2VzOiBbXG4gICAgICB7XG4gICAgICAgIHZhbHVlOiBcImFsbFwiLFxuICAgICAgICBkZXNjcmlwdGlvbjogXCJUcmFpbGluZyBjb21tYXMgd2hlcmV2ZXIgcG9zc2libGUgKGluY2x1ZGluZyBmdW5jdGlvbiBhcmd1bWVudHMpLlwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICB2YWx1ZTogXCJlczVcIixcbiAgICAgICAgZGVzY3JpcHRpb246IFwiVHJhaWxpbmcgY29tbWFzIHdoZXJlIHZhbGlkIGluIEVTNSAob2JqZWN0cywgYXJyYXlzLCBldGMuKVwiXG4gICAgICB9LFxuICAgICAgeyB2YWx1ZTogXCJub25lXCIsIGRlc2NyaXB0aW9uOiBcIk5vIHRyYWlsaW5nIGNvbW1hcy5cIiB9XG4gICAgXVxuICB9LFxuICBzaW5nbGVBdHRyaWJ1dGVQZXJMaW5lOiBjb21tb25fb3B0aW9uc19ldmFsdWF0ZV9kZWZhdWx0LnNpbmdsZUF0dHJpYnV0ZVBlckxpbmVcbn07XG52YXIgb3B0aW9uc19kZWZhdWx0NCA9IG9wdGlvbnM0O1xuXG4vLyBzcmMvbGFuZ3VhZ2UtanNvbi9sYW5ndWFnZXMuZXZhbHVhdGUuanNcbnZhciBsYW5ndWFnZXNfZXZhbHVhdGVfZGVmYXVsdDYgPSBbXG4gIHtcbiAgICBcImxpbmd1aXN0TGFuZ3VhZ2VJZFwiOiAxNzQsXG4gICAgXCJuYW1lXCI6IFwiSlNPTi5zdHJpbmdpZnlcIixcbiAgICBcInR5cGVcIjogXCJkYXRhXCIsXG4gICAgXCJjb2xvclwiOiBcIiMyOTI5MjlcIixcbiAgICBcInRtU2NvcGVcIjogXCJzb3VyY2UuanNvblwiLFxuICAgIFwiYWNlTW9kZVwiOiBcImpzb25cIixcbiAgICBcImNvZGVtaXJyb3JNb2RlXCI6IFwiamF2YXNjcmlwdFwiLFxuICAgIFwiY29kZW1pcnJvck1pbWVUeXBlXCI6IFwiYXBwbGljYXRpb24vanNvblwiLFxuICAgIFwiYWxpYXNlc1wiOiBbXG4gICAgICBcImdlb2pzb25cIixcbiAgICAgIFwianNvbmxcIixcbiAgICAgIFwidG9wb2pzb25cIlxuICAgIF0sXG4gICAgXCJleHRlbnNpb25zXCI6IFtcbiAgICAgIFwiLmltcG9ydG1hcFwiXG4gICAgXSxcbiAgICBcImZpbGVuYW1lc1wiOiBbXG4gICAgICBcInBhY2thZ2UuanNvblwiLFxuICAgICAgXCJwYWNrYWdlLWxvY2suanNvblwiLFxuICAgICAgXCJjb21wb3Nlci5qc29uXCJcbiAgICBdLFxuICAgIFwicGFyc2Vyc1wiOiBbXG4gICAgICBcImpzb24tc3RyaW5naWZ5XCJcbiAgICBdLFxuICAgIFwidnNjb2RlTGFuZ3VhZ2VJZHNcIjogW1xuICAgICAgXCJqc29uXCJcbiAgICBdXG4gIH0sXG4gIHtcbiAgICBcImxpbmd1aXN0TGFuZ3VhZ2VJZFwiOiAxNzQsXG4gICAgXCJuYW1lXCI6IFwiSlNPTlwiLFxuICAgIFwidHlwZVwiOiBcImRhdGFcIixcbiAgICBcImNvbG9yXCI6IFwiIzI5MjkyOVwiLFxuICAgIFwidG1TY29wZVwiOiBcInNvdXJjZS5qc29uXCIsXG4gICAgXCJhY2VNb2RlXCI6IFwianNvblwiLFxuICAgIFwiY29kZW1pcnJvck1vZGVcIjogXCJqYXZhc2NyaXB0XCIsXG4gICAgXCJjb2RlbWlycm9yTWltZVR5cGVcIjogXCJhcHBsaWNhdGlvbi9qc29uXCIsXG4gICAgXCJhbGlhc2VzXCI6IFtcbiAgICAgIFwiZ2VvanNvblwiLFxuICAgICAgXCJqc29ubFwiLFxuICAgICAgXCJ0b3BvanNvblwiXG4gICAgXSxcbiAgICBcImV4dGVuc2lvbnNcIjogW1xuICAgICAgXCIuanNvblwiLFxuICAgICAgXCIuNERGb3JtXCIsXG4gICAgICBcIi40RFByb2plY3RcIixcbiAgICAgIFwiLmF2c2NcIixcbiAgICAgIFwiLmdlb2pzb25cIixcbiAgICAgIFwiLmdsdGZcIixcbiAgICAgIFwiLmhhclwiLFxuICAgICAgXCIuaWNlXCIsXG4gICAgICBcIi5KU09OLXRtTGFuZ3VhZ2VcIixcbiAgICAgIFwiLm1jbWV0YVwiLFxuICAgICAgXCIudGZzdGF0ZVwiLFxuICAgICAgXCIudGZzdGF0ZS5iYWNrdXBcIixcbiAgICAgIFwiLnRvcG9qc29uXCIsXG4gICAgICBcIi53ZWJhcHBcIixcbiAgICAgIFwiLndlYm1hbmlmZXN0XCIsXG4gICAgICBcIi55eVwiLFxuICAgICAgXCIueXlwXCJcbiAgICBdLFxuICAgIFwiZmlsZW5hbWVzXCI6IFtcbiAgICAgIFwiLmFsbC1jb250cmlidXRvcnNyY1wiLFxuICAgICAgXCIuYXJjY29uZmlnXCIsXG4gICAgICBcIi5hdXRvLWNoYW5nZWxvZ1wiLFxuICAgICAgXCIuYzhyY1wiLFxuICAgICAgXCIuaHRtbGhpbnRyY1wiLFxuICAgICAgXCIuaW1nYm90Y29uZmlnXCIsXG4gICAgICBcIi5ueWNyY1wiLFxuICAgICAgXCIudGVybi1jb25maWdcIixcbiAgICAgIFwiLnRlcm4tcHJvamVjdFwiLFxuICAgICAgXCIud2F0Y2htYW5jb25maWdcIixcbiAgICAgIFwiUGlwZmlsZS5sb2NrXCIsXG4gICAgICBcImNvbXBvc2VyLmxvY2tcIixcbiAgICAgIFwiZmxha2UubG9ja1wiLFxuICAgICAgXCJtY21vZC5pbmZvXCIsXG4gICAgICBcIi5iYWJlbHJjXCIsXG4gICAgICBcIi5qc2NzcmNcIixcbiAgICAgIFwiLmpzaGludHJjXCIsXG4gICAgICBcIi5qc2xpbnRyY1wiLFxuICAgICAgXCIuc3djcmNcIlxuICAgIF0sXG4gICAgXCJwYXJzZXJzXCI6IFtcbiAgICAgIFwianNvblwiXG4gICAgXSxcbiAgICBcInZzY29kZUxhbmd1YWdlSWRzXCI6IFtcbiAgICAgIFwianNvblwiXG4gICAgXVxuICB9LFxuICB7XG4gICAgXCJsaW5ndWlzdExhbmd1YWdlSWRcIjogNDIzLFxuICAgIFwibmFtZVwiOiBcIkpTT04gd2l0aCBDb21tZW50c1wiLFxuICAgIFwidHlwZVwiOiBcImRhdGFcIixcbiAgICBcImNvbG9yXCI6IFwiIzI5MjkyOVwiLFxuICAgIFwiZ3JvdXBcIjogXCJKU09OXCIsXG4gICAgXCJ0bVNjb3BlXCI6IFwic291cmNlLmpzXCIsXG4gICAgXCJhY2VNb2RlXCI6IFwiamF2YXNjcmlwdFwiLFxuICAgIFwiY29kZW1pcnJvck1vZGVcIjogXCJqYXZhc2NyaXB0XCIsXG4gICAgXCJjb2RlbWlycm9yTWltZVR5cGVcIjogXCJ0ZXh0L2phdmFzY3JpcHRcIixcbiAgICBcImFsaWFzZXNcIjogW1xuICAgICAgXCJqc29uY1wiXG4gICAgXSxcbiAgICBcImV4dGVuc2lvbnNcIjogW1xuICAgICAgXCIuanNvbmNcIixcbiAgICAgIFwiLmNvZGUtc25pcHBldHNcIixcbiAgICAgIFwiLmNvZGUtd29ya3NwYWNlXCIsXG4gICAgICBcIi5zdWJsaW1lLWJ1aWxkXCIsXG4gICAgICBcIi5zdWJsaW1lLWNvbW1hbmRzXCIsXG4gICAgICBcIi5zdWJsaW1lLWNvbXBsZXRpb25zXCIsXG4gICAgICBcIi5zdWJsaW1lLWtleW1hcFwiLFxuICAgICAgXCIuc3VibGltZS1tYWNyb1wiLFxuICAgICAgXCIuc3VibGltZS1tZW51XCIsXG4gICAgICBcIi5zdWJsaW1lLW1vdXNlbWFwXCIsXG4gICAgICBcIi5zdWJsaW1lLXByb2plY3RcIixcbiAgICAgIFwiLnN1YmxpbWUtc2V0dGluZ3NcIixcbiAgICAgIFwiLnN1YmxpbWUtdGhlbWVcIixcbiAgICAgIFwiLnN1YmxpbWUtd29ya3NwYWNlXCIsXG4gICAgICBcIi5zdWJsaW1lX21ldHJpY3NcIixcbiAgICAgIFwiLnN1YmxpbWVfc2Vzc2lvblwiXG4gICAgXSxcbiAgICBcImZpbGVuYW1lc1wiOiBbXSxcbiAgICBcInBhcnNlcnNcIjogW1xuICAgICAgXCJqc29uY1wiXG4gICAgXSxcbiAgICBcInZzY29kZUxhbmd1YWdlSWRzXCI6IFtcbiAgICAgIFwianNvbmNcIlxuICAgIF1cbiAgfSxcbiAge1xuICAgIFwibGluZ3Vpc3RMYW5ndWFnZUlkXCI6IDE3NSxcbiAgICBcIm5hbWVcIjogXCJKU09ONVwiLFxuICAgIFwidHlwZVwiOiBcImRhdGFcIixcbiAgICBcImNvbG9yXCI6IFwiIzI2N0NCOVwiLFxuICAgIFwiZXh0ZW5zaW9uc1wiOiBbXG4gICAgICBcIi5qc29uNVwiXG4gICAgXSxcbiAgICBcInRtU2NvcGVcIjogXCJzb3VyY2UuanNcIixcbiAgICBcImFjZU1vZGVcIjogXCJqYXZhc2NyaXB0XCIsXG4gICAgXCJjb2RlbWlycm9yTW9kZVwiOiBcImphdmFzY3JpcHRcIixcbiAgICBcImNvZGVtaXJyb3JNaW1lVHlwZVwiOiBcImFwcGxpY2F0aW9uL2pzb25cIixcbiAgICBcInBhcnNlcnNcIjogW1xuICAgICAgXCJqc29uNVwiXG4gICAgXSxcbiAgICBcInZzY29kZUxhbmd1YWdlSWRzXCI6IFtcbiAgICAgIFwianNvbjVcIlxuICAgIF1cbiAgfVxuXTtcblxuLy8gc3JjL2xhbmd1YWdlLW1hcmtkb3duL2xhbmd1YWdlcy5ldmFsdWF0ZS5qc1xudmFyIGxhbmd1YWdlc19ldmFsdWF0ZV9kZWZhdWx0NyA9IFtcbiAge1xuICAgIFwibGluZ3Vpc3RMYW5ndWFnZUlkXCI6IDIyMixcbiAgICBcIm5hbWVcIjogXCJNYXJrZG93blwiLFxuICAgIFwidHlwZVwiOiBcInByb3NlXCIsXG4gICAgXCJjb2xvclwiOiBcIiMwODNmYTFcIixcbiAgICBcImFsaWFzZXNcIjogW1xuICAgICAgXCJtZFwiLFxuICAgICAgXCJwYW5kb2NcIlxuICAgIF0sXG4gICAgXCJhY2VNb2RlXCI6IFwibWFya2Rvd25cIixcbiAgICBcImNvZGVtaXJyb3JNb2RlXCI6IFwiZ2ZtXCIsXG4gICAgXCJjb2RlbWlycm9yTWltZVR5cGVcIjogXCJ0ZXh0L3gtZ2ZtXCIsXG4gICAgXCJ3cmFwXCI6IHRydWUsXG4gICAgXCJleHRlbnNpb25zXCI6IFtcbiAgICAgIFwiLm1kXCIsXG4gICAgICBcIi5saXZlbWRcIixcbiAgICAgIFwiLm1hcmtkb3duXCIsXG4gICAgICBcIi5tZG93blwiLFxuICAgICAgXCIubWR3blwiLFxuICAgICAgXCIubWtkXCIsXG4gICAgICBcIi5ta2RuXCIsXG4gICAgICBcIi5ta2Rvd25cIixcbiAgICAgIFwiLnJvbm5cIixcbiAgICAgIFwiLnNjZFwiLFxuICAgICAgXCIud29ya2Jvb2tcIlxuICAgIF0sXG4gICAgXCJmaWxlbmFtZXNcIjogW1xuICAgICAgXCJjb250ZW50cy5sclwiLFxuICAgICAgXCJSRUFETUVcIlxuICAgIF0sXG4gICAgXCJ0bVNjb3BlXCI6IFwidGV4dC5tZFwiLFxuICAgIFwicGFyc2Vyc1wiOiBbXG4gICAgICBcIm1hcmtkb3duXCJcbiAgICBdLFxuICAgIFwidnNjb2RlTGFuZ3VhZ2VJZHNcIjogW1xuICAgICAgXCJtYXJrZG93blwiXG4gICAgXVxuICB9LFxuICB7XG4gICAgXCJsaW5ndWlzdExhbmd1YWdlSWRcIjogMjIyLFxuICAgIFwibmFtZVwiOiBcIk1EWFwiLFxuICAgIFwidHlwZVwiOiBcInByb3NlXCIsXG4gICAgXCJjb2xvclwiOiBcIiMwODNmYTFcIixcbiAgICBcImFsaWFzZXNcIjogW1xuICAgICAgXCJtZFwiLFxuICAgICAgXCJwYW5kb2NcIlxuICAgIF0sXG4gICAgXCJhY2VNb2RlXCI6IFwibWFya2Rvd25cIixcbiAgICBcImNvZGVtaXJyb3JNb2RlXCI6IFwiZ2ZtXCIsXG4gICAgXCJjb2RlbWlycm9yTWltZVR5cGVcIjogXCJ0ZXh0L3gtZ2ZtXCIsXG4gICAgXCJ3cmFwXCI6IHRydWUsXG4gICAgXCJleHRlbnNpb25zXCI6IFtcbiAgICAgIFwiLm1keFwiXG4gICAgXSxcbiAgICBcImZpbGVuYW1lc1wiOiBbXSxcbiAgICBcInRtU2NvcGVcIjogXCJ0ZXh0Lm1kXCIsXG4gICAgXCJwYXJzZXJzXCI6IFtcbiAgICAgIFwibWR4XCJcbiAgICBdLFxuICAgIFwidnNjb2RlTGFuZ3VhZ2VJZHNcIjogW1xuICAgICAgXCJtZHhcIlxuICAgIF1cbiAgfVxuXTtcblxuLy8gc3JjL2xhbmd1YWdlLW1hcmtkb3duL29wdGlvbnMuanNcbnZhciBvcHRpb25zNSA9IHtcbiAgcHJvc2VXcmFwOiBjb21tb25fb3B0aW9uc19ldmFsdWF0ZV9kZWZhdWx0LnByb3NlV3JhcCxcbiAgc2luZ2xlUXVvdGU6IGNvbW1vbl9vcHRpb25zX2V2YWx1YXRlX2RlZmF1bHQuc2luZ2xlUXVvdGVcbn07XG52YXIgb3B0aW9uc19kZWZhdWx0NSA9IG9wdGlvbnM1O1xuXG4vLyBzcmMvbGFuZ3VhZ2UteWFtbC9sYW5ndWFnZXMuZXZhbHVhdGUuanNcbnZhciBsYW5ndWFnZXNfZXZhbHVhdGVfZGVmYXVsdDggPSBbXG4gIHtcbiAgICBcImxpbmd1aXN0TGFuZ3VhZ2VJZFwiOiA0MDcsXG4gICAgXCJuYW1lXCI6IFwiWUFNTFwiLFxuICAgIFwidHlwZVwiOiBcImRhdGFcIixcbiAgICBcImNvbG9yXCI6IFwiI2NiMTcxZVwiLFxuICAgIFwidG1TY29wZVwiOiBcInNvdXJjZS55YW1sXCIsXG4gICAgXCJhbGlhc2VzXCI6IFtcbiAgICAgIFwieW1sXCJcbiAgICBdLFxuICAgIFwiZXh0ZW5zaW9uc1wiOiBbXG4gICAgICBcIi55bWxcIixcbiAgICAgIFwiLm1pclwiLFxuICAgICAgXCIucmVla1wiLFxuICAgICAgXCIucnZpelwiLFxuICAgICAgXCIuc3VibGltZS1zeW50YXhcIixcbiAgICAgIFwiLnN5bnRheFwiLFxuICAgICAgXCIueWFtbFwiLFxuICAgICAgXCIueWFtbC10bWxhbmd1YWdlXCIsXG4gICAgICBcIi55YW1sLnNlZFwiLFxuICAgICAgXCIueW1sLm15c3FsXCJcbiAgICBdLFxuICAgIFwiZmlsZW5hbWVzXCI6IFtcbiAgICAgIFwiLmNsYW5nLWZvcm1hdFwiLFxuICAgICAgXCIuY2xhbmctdGlkeVwiLFxuICAgICAgXCIuZ2VtcmNcIixcbiAgICAgIFwiQ0lUQVRJT04uY2ZmXCIsXG4gICAgICBcImdsaWRlLmxvY2tcIixcbiAgICAgIFwiLnByZXR0aWVycmNcIixcbiAgICAgIFwiLnN0eWxlbGludHJjXCIsXG4gICAgICBcIi5saW50c3RhZ2VkcmNcIlxuICAgIF0sXG4gICAgXCJhY2VNb2RlXCI6IFwieWFtbFwiLFxuICAgIFwiY29kZW1pcnJvck1vZGVcIjogXCJ5YW1sXCIsXG4gICAgXCJjb2RlbWlycm9yTWltZVR5cGVcIjogXCJ0ZXh0L3gteWFtbFwiLFxuICAgIFwicGFyc2Vyc1wiOiBbXG4gICAgICBcInlhbWxcIlxuICAgIF0sXG4gICAgXCJ2c2NvZGVMYW5ndWFnZUlkc1wiOiBbXG4gICAgICBcInlhbWxcIixcbiAgICAgIFwiYW5zaWJsZVwiLFxuICAgICAgXCJob21lLWFzc2lzdGFudFwiXG4gICAgXVxuICB9XG5dO1xuXG4vLyBzcmMvbGFuZ3VhZ2UteWFtbC9vcHRpb25zLmpzXG52YXIgb3B0aW9uczYgPSB7XG4gIGJyYWNrZXRTcGFjaW5nOiBjb21tb25fb3B0aW9uc19ldmFsdWF0ZV9kZWZhdWx0LmJyYWNrZXRTcGFjaW5nLFxuICBzaW5nbGVRdW90ZTogY29tbW9uX29wdGlvbnNfZXZhbHVhdGVfZGVmYXVsdC5zaW5nbGVRdW90ZSxcbiAgcHJvc2VXcmFwOiBjb21tb25fb3B0aW9uc19ldmFsdWF0ZV9kZWZhdWx0LnByb3NlV3JhcFxufTtcbnZhciBvcHRpb25zX2RlZmF1bHQ2ID0gb3B0aW9uczY7XG5cbi8vIHNyYy9wbHVnaW5zL2J1aWx0aW4tcGx1Z2lucy1wcm94eS5qc1xuZnVuY3Rpb24gY3JlYXRlUGFyc2Vyc0FuZFByaW50ZXJzKG1vZHVsZXMpIHtcbiAgY29uc3QgcGFyc2VyczIgPSAvKiBAX19QVVJFX18gKi8gT2JqZWN0LmNyZWF0ZShudWxsKTtcbiAgY29uc3QgcHJpbnRlcnMyID0gLyogQF9fUFVSRV9fICovIE9iamVjdC5jcmVhdGUobnVsbCk7XG4gIGZvciAoY29uc3Qge1xuICAgIGltcG9ydFBsdWdpbjogaW1wb3J0UGx1Z2luMixcbiAgICBwYXJzZXJzOiBwYXJzZXJOYW1lcyA9IFtdLFxuICAgIHByaW50ZXJzOiBwcmludGVyTmFtZXMgPSBbXVxuICB9IG9mIG1vZHVsZXMpIHtcbiAgICBjb25zdCBsb2FkUGx1Z2luMiA9IGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IHBsdWdpbiA9IGF3YWl0IGltcG9ydFBsdWdpbjIoKTtcbiAgICAgIE9iamVjdC5hc3NpZ24ocGFyc2VyczIsIHBsdWdpbi5wYXJzZXJzKTtcbiAgICAgIE9iamVjdC5hc3NpZ24ocHJpbnRlcnMyLCBwbHVnaW4ucHJpbnRlcnMpO1xuICAgICAgcmV0dXJuIHBsdWdpbjtcbiAgICB9O1xuICAgIGZvciAoY29uc3QgcGFyc2VyTmFtZSBvZiBwYXJzZXJOYW1lcykge1xuICAgICAgcGFyc2VyczJbcGFyc2VyTmFtZV0gPSBhc3luYyAoKSA9PiAoYXdhaXQgbG9hZFBsdWdpbjIoKSkucGFyc2Vyc1twYXJzZXJOYW1lXTtcbiAgICB9XG4gICAgZm9yIChjb25zdCBwcmludGVyTmFtZSBvZiBwcmludGVyTmFtZXMpIHtcbiAgICAgIHByaW50ZXJzMltwcmludGVyTmFtZV0gPSBhc3luYyAoKSA9PiAoYXdhaXQgbG9hZFBsdWdpbjIoKSkucHJpbnRlcnNbcHJpbnRlck5hbWVdO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyBwYXJzZXJzOiBwYXJzZXJzMiwgcHJpbnRlcnM6IHByaW50ZXJzMiB9O1xufVxudmFyIG9wdGlvbnM3ID0ge1xuICAuLi5vcHRpb25zX2RlZmF1bHQsXG4gIC4uLm9wdGlvbnNfZGVmYXVsdDIsXG4gIC4uLm9wdGlvbnNfZGVmYXVsdDMsXG4gIC4uLm9wdGlvbnNfZGVmYXVsdDQsXG4gIC4uLm9wdGlvbnNfZGVmYXVsdDUsXG4gIC4uLm9wdGlvbnNfZGVmYXVsdDZcbn07XG52YXIgbGFuZ3VhZ2VzID0gW1xuICAuLi5sYW5ndWFnZXNfZXZhbHVhdGVfZGVmYXVsdCxcbiAgLi4ubGFuZ3VhZ2VzX2V2YWx1YXRlX2RlZmF1bHQyLFxuICAuLi5sYW5ndWFnZXNfZXZhbHVhdGVfZGVmYXVsdDMsXG4gIC4uLmxhbmd1YWdlc19ldmFsdWF0ZV9kZWZhdWx0NCxcbiAgLi4ubGFuZ3VhZ2VzX2V2YWx1YXRlX2RlZmF1bHQ1LFxuICAuLi5sYW5ndWFnZXNfZXZhbHVhdGVfZGVmYXVsdDYsXG4gIC4uLmxhbmd1YWdlc19ldmFsdWF0ZV9kZWZhdWx0NyxcbiAgLi4ubGFuZ3VhZ2VzX2V2YWx1YXRlX2RlZmF1bHQ4XG5dO1xudmFyIHsgcGFyc2VycywgcHJpbnRlcnMgfSA9IGNyZWF0ZVBhcnNlcnNBbmRQcmludGVycyhbXG4gIHtcbiAgICBpbXBvcnRQbHVnaW46ICgpID0+IGltcG9ydChcIi4vcGx1Z2lucy9hY29ybi5tanNcIiksXG4gICAgcGFyc2VyczogW1wiYWNvcm5cIiwgXCJlc3ByZWVcIl1cbiAgfSxcbiAge1xuICAgIGltcG9ydFBsdWdpbjogKCkgPT4gaW1wb3J0KFwiLi9wbHVnaW5zL2FuZ3VsYXIubWpzXCIpLFxuICAgIHBhcnNlcnM6IFtcbiAgICAgIFwiX19uZ19hY3Rpb25cIixcbiAgICAgIFwiX19uZ19iaW5kaW5nXCIsXG4gICAgICBcIl9fbmdfaW50ZXJwb2xhdGlvblwiLFxuICAgICAgXCJfX25nX2RpcmVjdGl2ZVwiXG4gICAgXVxuICB9LFxuICB7XG4gICAgaW1wb3J0UGx1Z2luOiAoKSA9PiBpbXBvcnQoXCIuL3BsdWdpbnMvYmFiZWwubWpzXCIpLFxuICAgIHBhcnNlcnM6IFtcbiAgICAgIFwiYmFiZWxcIixcbiAgICAgIFwiYmFiZWwtZmxvd1wiLFxuICAgICAgXCJiYWJlbC10c1wiLFxuICAgICAgXCJfX2pzX2V4cHJlc3Npb25cIixcbiAgICAgIFwiX190c19leHByZXNzaW9uXCIsXG4gICAgICBcIl9fdnVlX2V4cHJlc3Npb25cIixcbiAgICAgIFwiX192dWVfdHNfZXhwcmVzc2lvblwiLFxuICAgICAgXCJfX3Z1ZV9ldmVudF9iaW5kaW5nXCIsXG4gICAgICBcIl9fdnVlX3RzX2V2ZW50X2JpbmRpbmdcIixcbiAgICAgIFwiX19iYWJlbF9lc3RyZWVcIixcbiAgICAgIFwianNvblwiLFxuICAgICAgXCJqc29uNVwiLFxuICAgICAgXCJqc29uY1wiLFxuICAgICAgXCJqc29uLXN0cmluZ2lmeVwiXG4gICAgXVxuICB9LFxuICB7XG4gICAgaW1wb3J0UGx1Z2luOiAoKSA9PiBpbXBvcnQoXCIuL3BsdWdpbnMvZXN0cmVlLm1qc1wiKSxcbiAgICBwcmludGVyczogW1wiZXN0cmVlXCIsIFwiZXN0cmVlLWpzb25cIl1cbiAgfSxcbiAge1xuICAgIGltcG9ydFBsdWdpbjogKCkgPT4gaW1wb3J0KFwiLi9wbHVnaW5zL2Zsb3cubWpzXCIpLFxuICAgIHBhcnNlcnM6IFtcImZsb3dcIl1cbiAgfSxcbiAge1xuICAgIGltcG9ydFBsdWdpbjogKCkgPT4gaW1wb3J0KFwiLi9wbHVnaW5zL2dsaW1tZXIubWpzXCIpLFxuICAgIHBhcnNlcnM6IFtcImdsaW1tZXJcIl0sXG4gICAgcHJpbnRlcnM6IFtcImdsaW1tZXJcIl1cbiAgfSxcbiAge1xuICAgIGltcG9ydFBsdWdpbjogKCkgPT4gaW1wb3J0KFwiLi9wbHVnaW5zL2dyYXBocWwubWpzXCIpLFxuICAgIHBhcnNlcnM6IFtcImdyYXBocWxcIl0sXG4gICAgcHJpbnRlcnM6IFtcImdyYXBocWxcIl1cbiAgfSxcbiAge1xuICAgIGltcG9ydFBsdWdpbjogKCkgPT4gaW1wb3J0KFwiLi9wbHVnaW5zL2h0bWwubWpzXCIpLFxuICAgIHBhcnNlcnM6IFtcImh0bWxcIiwgXCJhbmd1bGFyXCIsIFwidnVlXCIsIFwibHdjXCJdLFxuICAgIHByaW50ZXJzOiBbXCJodG1sXCJdXG4gIH0sXG4gIHtcbiAgICBpbXBvcnRQbHVnaW46ICgpID0+IGltcG9ydChcIi4vcGx1Z2lucy9tYXJrZG93bi5tanNcIiksXG4gICAgcGFyc2VyczogW1wibWFya2Rvd25cIiwgXCJtZHhcIiwgXCJyZW1hcmtcIl0sXG4gICAgcHJpbnRlcnM6IFtcIm1kYXN0XCJdXG4gIH0sXG4gIHtcbiAgICBpbXBvcnRQbHVnaW46ICgpID0+IGltcG9ydChcIi4vcGx1Z2lucy9tZXJpeWFoLm1qc1wiKSxcbiAgICBwYXJzZXJzOiBbXCJtZXJpeWFoXCJdXG4gIH0sXG4gIHtcbiAgICBpbXBvcnRQbHVnaW46ICgpID0+IGltcG9ydChcIi4vcGx1Z2lucy9wb3N0Y3NzLm1qc1wiKSxcbiAgICBwYXJzZXJzOiBbXCJjc3NcIiwgXCJsZXNzXCIsIFwic2Nzc1wiXSxcbiAgICBwcmludGVyczogW1wicG9zdGNzc1wiXVxuICB9LFxuICB7XG4gICAgaW1wb3J0UGx1Z2luOiAoKSA9PiBpbXBvcnQoXCIuL3BsdWdpbnMvdHlwZXNjcmlwdC5tanNcIiksXG4gICAgcGFyc2VyczogW1widHlwZXNjcmlwdFwiXVxuICB9LFxuICB7XG4gICAgaW1wb3J0UGx1Z2luOiAoKSA9PiBpbXBvcnQoXCIuL3BsdWdpbnMveWFtbC5tanNcIiksXG4gICAgcGFyc2VyczogW1wieWFtbFwiXSxcbiAgICBwcmludGVyczogW1wieWFtbFwiXVxuICB9XG5dKTtcblxuLy8gc3JjL21haW4vcGx1Z2lucy9sb2FkLWJ1aWx0aW4tcGx1Z2lucy5qc1xuZnVuY3Rpb24gbG9hZEJ1aWx0aW5QbHVnaW5zKCkge1xuICByZXR1cm4gW2J1aWx0aW5fcGx1Z2luc19wcm94eV9leHBvcnRzXTtcbn1cbnZhciBsb2FkX2J1aWx0aW5fcGx1Z2luc19kZWZhdWx0ID0gbG9hZEJ1aWx0aW5QbHVnaW5zO1xuXG4vLyBzcmMvbWFpbi9wbHVnaW5zL2xvYWQtcGx1Z2luLmpzXG5pbXBvcnQgcGF0aDEyIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyBwYXRoVG9GaWxlVVJMIGFzIHBhdGhUb0ZpbGVVUkw1IH0gZnJvbSBcInVybFwiO1xuXG4vLyBzcmMvdXRpbHMvaW1wb3J0LWZyb20tZGlyZWN0b3J5LmpzXG5pbXBvcnQgcGF0aDExIGZyb20gXCJwYXRoXCI7XG5mdW5jdGlvbiBpbXBvcnRGcm9tRGlyZWN0b3J5KHNwZWNpZmllciwgZGlyZWN0b3J5KSB7XG4gIHJldHVybiBpbXBvcnRfZnJvbV9maWxlX2RlZmF1bHQoc3BlY2lmaWVyLCBwYXRoMTEuam9pbihkaXJlY3RvcnksIFwibm9vcC5qc1wiKSk7XG59XG52YXIgaW1wb3J0X2Zyb21fZGlyZWN0b3J5X2RlZmF1bHQgPSBpbXBvcnRGcm9tRGlyZWN0b3J5O1xuXG4vLyBzcmMvbWFpbi9wbHVnaW5zL2xvYWQtcGx1Z2luLmpzXG5hc3luYyBmdW5jdGlvbiBpbXBvcnRQbHVnaW4obmFtZSwgY3dkKSB7XG4gIGlmIChwYXRoMTIuaXNBYnNvbHV0ZShuYW1lKSkge1xuICAgIHJldHVybiBpbXBvcnQocGF0aFRvRmlsZVVSTDUobmFtZSkuaHJlZik7XG4gIH1cbiAgdHJ5IHtcbiAgICByZXR1cm4gYXdhaXQgaW1wb3J0KHBhdGhUb0ZpbGVVUkw1KHBhdGgxMi5yZXNvbHZlKG5hbWUpKS5ocmVmKTtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIGltcG9ydF9mcm9tX2RpcmVjdG9yeV9kZWZhdWx0KG5hbWUsIGN3ZCk7XG4gIH1cbn1cbmFzeW5jIGZ1bmN0aW9uIGxvYWRQbHVnaW5XaXRob3V0Q2FjaGUocGx1Z2luLCBjd2QpIHtcbiAgY29uc3QgbW9kdWxlID0gYXdhaXQgaW1wb3J0UGx1Z2luKHBsdWdpbiwgY3dkKTtcbiAgcmV0dXJuIHsgbmFtZTogcGx1Z2luLCAuLi5tb2R1bGUuZGVmYXVsdCA/PyBtb2R1bGUgfTtcbn1cbnZhciBjYWNoZTIgPSAvKiBAX19QVVJFX18gKi8gbmV3IE1hcCgpO1xuZnVuY3Rpb24gbG9hZFBsdWdpbihwbHVnaW4pIHtcbiAgaWYgKHR5cGVvZiBwbHVnaW4gIT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gcGx1Z2luO1xuICB9XG4gIGNvbnN0IGN3ZCA9IHByb2Nlc3MuY3dkKCk7XG4gIGNvbnN0IGNhY2hlS2V5ID0gSlNPTi5zdHJpbmdpZnkoeyBuYW1lOiBwbHVnaW4sIGN3ZCB9KTtcbiAgaWYgKCFjYWNoZTIuaGFzKGNhY2hlS2V5KSkge1xuICAgIGNhY2hlMi5zZXQoY2FjaGVLZXksIGxvYWRQbHVnaW5XaXRob3V0Q2FjaGUocGx1Z2luLCBjd2QpKTtcbiAgfVxuICByZXR1cm4gY2FjaGUyLmdldChjYWNoZUtleSk7XG59XG5mdW5jdGlvbiBjbGVhckNhY2hlMigpIHtcbiAgY2FjaGUyLmNsZWFyKCk7XG59XG5cbi8vIHNyYy9tYWluL3BsdWdpbnMvbG9hZC1wbHVnaW5zLmpzXG5mdW5jdGlvbiBsb2FkUGx1Z2lucyhwbHVnaW5zID0gW10pIHtcbiAgcmV0dXJuIFByb21pc2UuYWxsKHBsdWdpbnMubWFwKChwbHVnaW4pID0+IGxvYWRQbHVnaW4ocGx1Z2luKSkpO1xufVxudmFyIGxvYWRfcGx1Z2luc19kZWZhdWx0ID0gbG9hZFBsdWdpbnM7XG5cbi8vIHNyYy91dGlscy9vYmplY3Qtb21pdC5qc1xuZnVuY3Rpb24gb21pdChvYmplY3QsIGtleXMpIHtcbiAga2V5cyA9IG5ldyBTZXQoa2V5cyk7XG4gIHJldHVybiBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgT2JqZWN0LmVudHJpZXMob2JqZWN0KS5maWx0ZXIoKFtrZXkyXSkgPT4gIWtleXMuaGFzKGtleTIpKVxuICApO1xufVxudmFyIG9iamVjdF9vbWl0X2RlZmF1bHQgPSBvbWl0O1xuXG4vLyBzcmMvaW5kZXguanNcbmltcG9ydCAqIGFzIGRvYyBmcm9tIFwiLi9kb2MubWpzXCI7XG5cbi8vIHNyYy9tYWluL3ZlcnNpb24uZXZhbHVhdGUuY2pzXG52YXIgdmVyc2lvbl9ldmFsdWF0ZV9kZWZhdWx0ID0gXCIzLjQuMlwiO1xuXG4vLyBzcmMvdXRpbHMvcHVibGljLmpzXG52YXIgcHVibGljX2V4cG9ydHMgPSB7fTtcbl9fZXhwb3J0KHB1YmxpY19leHBvcnRzLCB7XG4gIGFkZERhbmdsaW5nQ29tbWVudDogKCkgPT4gYWRkRGFuZ2xpbmdDb21tZW50LFxuICBhZGRMZWFkaW5nQ29tbWVudDogKCkgPT4gYWRkTGVhZGluZ0NvbW1lbnQsXG4gIGFkZFRyYWlsaW5nQ29tbWVudDogKCkgPT4gYWRkVHJhaWxpbmdDb21tZW50LFxuICBnZXRBbGlnbm1lbnRTaXplOiAoKSA9PiBnZXRfYWxpZ25tZW50X3NpemVfZGVmYXVsdCxcbiAgZ2V0SW5kZW50U2l6ZTogKCkgPT4gZ2V0X2luZGVudF9zaXplX2RlZmF1bHQsXG4gIGdldE1heENvbnRpbnVvdXNDb3VudDogKCkgPT4gZ2V0X21heF9jb250aW51b3VzX2NvdW50X2RlZmF1bHQsXG4gIGdldE5leHROb25TcGFjZU5vbkNvbW1lbnRDaGFyYWN0ZXI6ICgpID0+IGdldF9uZXh0X25vbl9zcGFjZV9ub25fY29tbWVudF9jaGFyYWN0ZXJfZGVmYXVsdCxcbiAgZ2V0TmV4dE5vblNwYWNlTm9uQ29tbWVudENoYXJhY3RlckluZGV4OiAoKSA9PiBnZXROZXh0Tm9uU3BhY2VOb25Db21tZW50Q2hhcmFjdGVySW5kZXgyLFxuICBnZXRQcmVmZXJyZWRRdW90ZTogKCkgPT4gZ2V0X3ByZWZlcnJlZF9xdW90ZV9kZWZhdWx0LFxuICBnZXRTdHJpbmdXaWR0aDogKCkgPT4gZ2V0X3N0cmluZ193aWR0aF9kZWZhdWx0LFxuICBoYXNOZXdsaW5lOiAoKSA9PiBoYXNfbmV3bGluZV9kZWZhdWx0LFxuICBoYXNOZXdsaW5lSW5SYW5nZTogKCkgPT4gaGFzX25ld2xpbmVfaW5fcmFuZ2VfZGVmYXVsdCxcbiAgaGFzU3BhY2VzOiAoKSA9PiBoYXNfc3BhY2VzX2RlZmF1bHQsXG4gIGlzTmV4dExpbmVFbXB0eTogKCkgPT4gaXNOZXh0TGluZUVtcHR5MixcbiAgaXNOZXh0TGluZUVtcHR5QWZ0ZXJJbmRleDogKCkgPT4gaXNfbmV4dF9saW5lX2VtcHR5X2RlZmF1bHQsXG4gIGlzUHJldmlvdXNMaW5lRW1wdHk6ICgpID0+IGlzUHJldmlvdXNMaW5lRW1wdHkyLFxuICBtYWtlU3RyaW5nOiAoKSA9PiBtYWtlX3N0cmluZ19kZWZhdWx0LFxuICBza2lwOiAoKSA9PiBza2lwLFxuICBza2lwRXZlcnl0aGluZ0J1dE5ld0xpbmU6ICgpID0+IHNraXBFdmVyeXRoaW5nQnV0TmV3TGluZSxcbiAgc2tpcElubGluZUNvbW1lbnQ6ICgpID0+IHNraXBfaW5saW5lX2NvbW1lbnRfZGVmYXVsdCxcbiAgc2tpcE5ld2xpbmU6ICgpID0+IHNraXBfbmV3bGluZV9kZWZhdWx0LFxuICBza2lwU3BhY2VzOiAoKSA9PiBza2lwU3BhY2VzLFxuICBza2lwVG9MaW5lRW5kOiAoKSA9PiBza2lwVG9MaW5lRW5kLFxuICBza2lwVHJhaWxpbmdDb21tZW50OiAoKSA9PiBza2lwX3RyYWlsaW5nX2NvbW1lbnRfZGVmYXVsdCxcbiAgc2tpcFdoaXRlc3BhY2U6ICgpID0+IHNraXBXaGl0ZXNwYWNlXG59KTtcblxuLy8gc3JjL3V0aWxzL3NraXAtaW5saW5lLWNvbW1lbnQuanNcbmZ1bmN0aW9uIHNraXBJbmxpbmVDb21tZW50KHRleHQsIHN0YXJ0SW5kZXgpIHtcbiAgaWYgKHN0YXJ0SW5kZXggPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICh0ZXh0LmNoYXJBdChzdGFydEluZGV4KSA9PT0gXCIvXCIgJiYgdGV4dC5jaGFyQXQoc3RhcnRJbmRleCArIDEpID09PSBcIipcIikge1xuICAgIGZvciAobGV0IGkgPSBzdGFydEluZGV4ICsgMjsgaSA8IHRleHQubGVuZ3RoOyArK2kpIHtcbiAgICAgIGlmICh0ZXh0LmNoYXJBdChpKSA9PT0gXCIqXCIgJiYgdGV4dC5jaGFyQXQoaSArIDEpID09PSBcIi9cIikge1xuICAgICAgICByZXR1cm4gaSArIDI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHJldHVybiBzdGFydEluZGV4O1xufVxudmFyIHNraXBfaW5saW5lX2NvbW1lbnRfZGVmYXVsdCA9IHNraXBJbmxpbmVDb21tZW50O1xuXG4vLyBzcmMvdXRpbHMvc2tpcC10cmFpbGluZy1jb21tZW50LmpzXG5mdW5jdGlvbiBza2lwVHJhaWxpbmdDb21tZW50KHRleHQsIHN0YXJ0SW5kZXgpIHtcbiAgaWYgKHN0YXJ0SW5kZXggPT09IGZhbHNlKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIGlmICh0ZXh0LmNoYXJBdChzdGFydEluZGV4KSA9PT0gXCIvXCIgJiYgdGV4dC5jaGFyQXQoc3RhcnRJbmRleCArIDEpID09PSBcIi9cIikge1xuICAgIHJldHVybiBza2lwRXZlcnl0aGluZ0J1dE5ld0xpbmUodGV4dCwgc3RhcnRJbmRleCk7XG4gIH1cbiAgcmV0dXJuIHN0YXJ0SW5kZXg7XG59XG52YXIgc2tpcF90cmFpbGluZ19jb21tZW50X2RlZmF1bHQgPSBza2lwVHJhaWxpbmdDb21tZW50O1xuXG4vLyBzcmMvdXRpbHMvZ2V0LW5leHQtbm9uLXNwYWNlLW5vbi1jb21tZW50LWNoYXJhY3Rlci1pbmRleC5qc1xuZnVuY3Rpb24gZ2V0TmV4dE5vblNwYWNlTm9uQ29tbWVudENoYXJhY3RlckluZGV4KHRleHQsIHN0YXJ0SW5kZXgpIHtcbiAgbGV0IG9sZElkeCA9IG51bGw7XG4gIGxldCBuZXh0SWR4ID0gc3RhcnRJbmRleDtcbiAgd2hpbGUgKG5leHRJZHggIT09IG9sZElkeCkge1xuICAgIG9sZElkeCA9IG5leHRJZHg7XG4gICAgbmV4dElkeCA9IHNraXBTcGFjZXModGV4dCwgbmV4dElkeCk7XG4gICAgbmV4dElkeCA9IHNraXBfaW5saW5lX2NvbW1lbnRfZGVmYXVsdCh0ZXh0LCBuZXh0SWR4KTtcbiAgICBuZXh0SWR4ID0gc2tpcF90cmFpbGluZ19jb21tZW50X2RlZmF1bHQodGV4dCwgbmV4dElkeCk7XG4gICAgbmV4dElkeCA9IHNraXBfbmV3bGluZV9kZWZhdWx0KHRleHQsIG5leHRJZHgpO1xuICB9XG4gIHJldHVybiBuZXh0SWR4O1xufVxudmFyIGdldF9uZXh0X25vbl9zcGFjZV9ub25fY29tbWVudF9jaGFyYWN0ZXJfaW5kZXhfZGVmYXVsdCA9IGdldE5leHROb25TcGFjZU5vbkNvbW1lbnRDaGFyYWN0ZXJJbmRleDtcblxuLy8gc3JjL3V0aWxzL2lzLW5leHQtbGluZS1lbXB0eS5qc1xuZnVuY3Rpb24gaXNOZXh0TGluZUVtcHR5KHRleHQsIHN0YXJ0SW5kZXgpIHtcbiAgbGV0IG9sZElkeCA9IG51bGw7XG4gIGxldCBpZHggPSBzdGFydEluZGV4O1xuICB3aGlsZSAoaWR4ICE9PSBvbGRJZHgpIHtcbiAgICBvbGRJZHggPSBpZHg7XG4gICAgaWR4ID0gc2tpcFRvTGluZUVuZCh0ZXh0LCBpZHgpO1xuICAgIGlkeCA9IHNraXBfaW5saW5lX2NvbW1lbnRfZGVmYXVsdCh0ZXh0LCBpZHgpO1xuICAgIGlkeCA9IHNraXBTcGFjZXModGV4dCwgaWR4KTtcbiAgfVxuICBpZHggPSBza2lwX3RyYWlsaW5nX2NvbW1lbnRfZGVmYXVsdCh0ZXh0LCBpZHgpO1xuICBpZHggPSBza2lwX25ld2xpbmVfZGVmYXVsdCh0ZXh0LCBpZHgpO1xuICByZXR1cm4gaWR4ICE9PSBmYWxzZSAmJiBoYXNfbmV3bGluZV9kZWZhdWx0KHRleHQsIGlkeCk7XG59XG52YXIgaXNfbmV4dF9saW5lX2VtcHR5X2RlZmF1bHQgPSBpc05leHRMaW5lRW1wdHk7XG5cbi8vIHNyYy91dGlscy9nZXQtaW5kZW50LXNpemUuanNcbmZ1bmN0aW9uIGdldEluZGVudFNpemUodmFsdWUsIHRhYldpZHRoKSB7XG4gIGNvbnN0IGxhc3ROZXdsaW5lSW5kZXggPSB2YWx1ZS5sYXN0SW5kZXhPZihcIlxcblwiKTtcbiAgaWYgKGxhc3ROZXdsaW5lSW5kZXggPT09IC0xKSB7XG4gICAgcmV0dXJuIDA7XG4gIH1cbiAgcmV0dXJuIGdldF9hbGlnbm1lbnRfc2l6ZV9kZWZhdWx0KFxuICAgIC8vIEFsbCB0aGUgbGVhZGluZyB3aGl0ZXNwYWNlc1xuICAgIHZhbHVlLnNsaWNlKGxhc3ROZXdsaW5lSW5kZXggKyAxKS5tYXRjaCgvXltcXHQgXSovdSlbMF0sXG4gICAgdGFiV2lkdGhcbiAgKTtcbn1cbnZhciBnZXRfaW5kZW50X3NpemVfZGVmYXVsdCA9IGdldEluZGVudFNpemU7XG5cbi8vIG5vZGVfbW9kdWxlcy9lc2NhcGUtc3RyaW5nLXJlZ2V4cC9pbmRleC5qc1xuZnVuY3Rpb24gZXNjYXBlU3RyaW5nUmVnZXhwKHN0cmluZykge1xuICBpZiAodHlwZW9mIHN0cmluZyAhPT0gXCJzdHJpbmdcIikge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXCJFeHBlY3RlZCBhIHN0cmluZ1wiKTtcbiAgfVxuICByZXR1cm4gc3RyaW5nLnJlcGxhY2UoL1t8XFxcXHt9KClbXFxdXiQrKj8uXS9nLCBcIlxcXFwkJlwiKS5yZXBsYWNlKC8tL2csIFwiXFxcXHgyZFwiKTtcbn1cblxuLy8gc3JjL3V0aWxzL2dldC1tYXgtY29udGludW91cy1jb3VudC5qc1xuZnVuY3Rpb24gZ2V0TWF4Q29udGludW91c0NvdW50KHRleHQsIHNlYXJjaFN0cmluZykge1xuICBjb25zdCByZXN1bHRzID0gdGV4dC5tYXRjaChcbiAgICBuZXcgUmVnRXhwKGAoJHtlc2NhcGVTdHJpbmdSZWdleHAoc2VhcmNoU3RyaW5nKX0pK2AsIFwiZ3VcIilcbiAgKTtcbiAgaWYgKHJlc3VsdHMgPT09IG51bGwpIHtcbiAgICByZXR1cm4gMDtcbiAgfVxuICByZXR1cm4gcmVzdWx0cy5yZWR1Y2UoXG4gICAgKG1heENvdW50LCByZXN1bHQpID0+IE1hdGgubWF4KG1heENvdW50LCByZXN1bHQubGVuZ3RoIC8gc2VhcmNoU3RyaW5nLmxlbmd0aCksXG4gICAgMFxuICApO1xufVxudmFyIGdldF9tYXhfY29udGludW91c19jb3VudF9kZWZhdWx0ID0gZ2V0TWF4Q29udGludW91c0NvdW50O1xuXG4vLyBzcmMvdXRpbHMvZ2V0LW5leHQtbm9uLXNwYWNlLW5vbi1jb21tZW50LWNoYXJhY3Rlci5qc1xuZnVuY3Rpb24gZ2V0TmV4dE5vblNwYWNlTm9uQ29tbWVudENoYXJhY3Rlcih0ZXh0LCBzdGFydEluZGV4KSB7XG4gIGNvbnN0IGluZGV4ID0gZ2V0X25leHRfbm9uX3NwYWNlX25vbl9jb21tZW50X2NoYXJhY3Rlcl9pbmRleF9kZWZhdWx0KHRleHQsIHN0YXJ0SW5kZXgpO1xuICByZXR1cm4gaW5kZXggPT09IGZhbHNlID8gXCJcIiA6IHRleHQuY2hhckF0KGluZGV4KTtcbn1cbnZhciBnZXRfbmV4dF9ub25fc3BhY2Vfbm9uX2NvbW1lbnRfY2hhcmFjdGVyX2RlZmF1bHQgPSBnZXROZXh0Tm9uU3BhY2VOb25Db21tZW50Q2hhcmFjdGVyO1xuXG4vLyBzcmMvdXRpbHMvZ2V0LXByZWZlcnJlZC1xdW90ZS5qc1xudmFyIFNJTkdMRV9RVU9URSA9IFwiJ1wiO1xudmFyIERPVUJMRV9RVU9URSA9ICdcIic7XG5mdW5jdGlvbiBnZXRQcmVmZXJyZWRRdW90ZSh0ZXh0LCBwcmVmZXJyZWRRdW90ZU9yUHJlZmVyU2luZ2xlUXVvdGUpIHtcbiAgY29uc3QgcHJlZmVycmVkID0gcHJlZmVycmVkUXVvdGVPclByZWZlclNpbmdsZVF1b3RlID09PSB0cnVlIHx8IHByZWZlcnJlZFF1b3RlT3JQcmVmZXJTaW5nbGVRdW90ZSA9PT0gU0lOR0xFX1FVT1RFID8gU0lOR0xFX1FVT1RFIDogRE9VQkxFX1FVT1RFO1xuICBjb25zdCBhbHRlcm5hdGUgPSBwcmVmZXJyZWQgPT09IFNJTkdMRV9RVU9URSA/IERPVUJMRV9RVU9URSA6IFNJTkdMRV9RVU9URTtcbiAgbGV0IHByZWZlcnJlZFF1b3RlQ291bnQgPSAwO1xuICBsZXQgYWx0ZXJuYXRlUXVvdGVDb3VudCA9IDA7XG4gIGZvciAoY29uc3QgY2hhcmFjdGVyIG9mIHRleHQpIHtcbiAgICBpZiAoY2hhcmFjdGVyID09PSBwcmVmZXJyZWQpIHtcbiAgICAgIHByZWZlcnJlZFF1b3RlQ291bnQrKztcbiAgICB9IGVsc2UgaWYgKGNoYXJhY3RlciA9PT0gYWx0ZXJuYXRlKSB7XG4gICAgICBhbHRlcm5hdGVRdW90ZUNvdW50Kys7XG4gICAgfVxuICB9XG4gIHJldHVybiBwcmVmZXJyZWRRdW90ZUNvdW50ID4gYWx0ZXJuYXRlUXVvdGVDb3VudCA/IGFsdGVybmF0ZSA6IHByZWZlcnJlZDtcbn1cbnZhciBnZXRfcHJlZmVycmVkX3F1b3RlX2RlZmF1bHQgPSBnZXRQcmVmZXJyZWRRdW90ZTtcblxuLy8gc3JjL3V0aWxzL2hhcy1uZXdsaW5lLWluLXJhbmdlLmpzXG5mdW5jdGlvbiBoYXNOZXdsaW5lSW5SYW5nZSh0ZXh0LCBzdGFydEluZGV4LCBlbmRJbmRleCkge1xuICBmb3IgKGxldCBpID0gc3RhcnRJbmRleDsgaSA8IGVuZEluZGV4OyArK2kpIHtcbiAgICBpZiAodGV4dC5jaGFyQXQoaSkgPT09IFwiXFxuXCIpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2U7XG59XG52YXIgaGFzX25ld2xpbmVfaW5fcmFuZ2VfZGVmYXVsdCA9IGhhc05ld2xpbmVJblJhbmdlO1xuXG4vLyBzcmMvdXRpbHMvaGFzLXNwYWNlcy5qc1xuZnVuY3Rpb24gaGFzU3BhY2VzKHRleHQsIHN0YXJ0SW5kZXgsIG9wdGlvbnM4ID0ge30pIHtcbiAgY29uc3QgaWR4ID0gc2tpcFNwYWNlcyhcbiAgICB0ZXh0LFxuICAgIG9wdGlvbnM4LmJhY2t3YXJkcyA/IHN0YXJ0SW5kZXggLSAxIDogc3RhcnRJbmRleCxcbiAgICBvcHRpb25zOFxuICApO1xuICByZXR1cm4gaWR4ICE9PSBzdGFydEluZGV4O1xufVxudmFyIGhhc19zcGFjZXNfZGVmYXVsdCA9IGhhc1NwYWNlcztcblxuLy8gc3JjL3V0aWxzL21ha2Utc3RyaW5nLmpzXG5mdW5jdGlvbiBtYWtlU3RyaW5nKHJhd1RleHQsIGVuY2xvc2luZ1F1b3RlLCB1bmVzY2FwZVVubmVjZXNzYXJ5RXNjYXBlcykge1xuICBjb25zdCBvdGhlclF1b3RlID0gZW5jbG9zaW5nUXVvdGUgPT09ICdcIicgPyBcIidcIiA6ICdcIic7XG4gIGNvbnN0IHJlZ2V4ID0gL1xcXFwoLil8KFtcIiddKS9nc3U7XG4gIGNvbnN0IHJhdyA9IHN0cmluZ19yZXBsYWNlX2FsbF9kZWZhdWx0KFxuICAgIC8qIGlzT3B0aW9uYWxPYmplY3QgKi9cbiAgICBmYWxzZSxcbiAgICByYXdUZXh0LFxuICAgIHJlZ2V4LFxuICAgIChtYXRjaCwgZXNjYXBlZCwgcXVvdGUpID0+IHtcbiAgICAgIGlmIChlc2NhcGVkID09PSBvdGhlclF1b3RlKSB7XG4gICAgICAgIHJldHVybiBlc2NhcGVkO1xuICAgICAgfVxuICAgICAgaWYgKHF1b3RlID09PSBlbmNsb3NpbmdRdW90ZSkge1xuICAgICAgICByZXR1cm4gXCJcXFxcXCIgKyBxdW90ZTtcbiAgICAgIH1cbiAgICAgIGlmIChxdW90ZSkge1xuICAgICAgICByZXR1cm4gcXVvdGU7XG4gICAgICB9XG4gICAgICByZXR1cm4gdW5lc2NhcGVVbm5lY2Vzc2FyeUVzY2FwZXMgJiYgL15bXlxcblxcclwiJzAtN1xcXFxiZm5ydC12eFxcdTIwMjhcXHUyMDI5XSQvdS50ZXN0KGVzY2FwZWQpID8gZXNjYXBlZCA6IFwiXFxcXFwiICsgZXNjYXBlZDtcbiAgICB9XG4gICk7XG4gIHJldHVybiBlbmNsb3NpbmdRdW90ZSArIHJhdyArIGVuY2xvc2luZ1F1b3RlO1xufVxudmFyIG1ha2Vfc3RyaW5nX2RlZmF1bHQgPSBtYWtlU3RyaW5nO1xuXG4vLyBzcmMvdXRpbHMvcHVibGljLmpzXG5mdW5jdGlvbiBsZWdhY3lHZXROZXh0Tm9uU3BhY2VOb25Db21tZW50Q2hhcmFjdGVySW5kZXgodGV4dCwgbm9kZSwgbG9jRW5kKSB7XG4gIHJldHVybiBnZXRfbmV4dF9ub25fc3BhY2Vfbm9uX2NvbW1lbnRfY2hhcmFjdGVyX2luZGV4X2RlZmF1bHQoXG4gICAgdGV4dCxcbiAgICBsb2NFbmQobm9kZSlcbiAgKTtcbn1cbmZ1bmN0aW9uIGdldE5leHROb25TcGFjZU5vbkNvbW1lbnRDaGFyYWN0ZXJJbmRleDIodGV4dCwgc3RhcnRJbmRleCkge1xuICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9PT0gMiB8fCB0eXBlb2Ygc3RhcnRJbmRleCA9PT0gXCJudW1iZXJcIiA/IGdldF9uZXh0X25vbl9zcGFjZV9ub25fY29tbWVudF9jaGFyYWN0ZXJfaW5kZXhfZGVmYXVsdCh0ZXh0LCBzdGFydEluZGV4KSA6IChcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0tIGV4cGVjdGVkXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1yZXN0LXBhcmFtc1xuICAgIGxlZ2FjeUdldE5leHROb25TcGFjZU5vbkNvbW1lbnRDaGFyYWN0ZXJJbmRleCguLi5hcmd1bWVudHMpXG4gICk7XG59XG5mdW5jdGlvbiBsZWdhY3lJc1ByZXZpb3VzTGluZUVtcHR5KHRleHQsIG5vZGUsIGxvY1N0YXJ0KSB7XG4gIHJldHVybiBpc19wcmV2aW91c19saW5lX2VtcHR5X2RlZmF1bHQodGV4dCwgbG9jU3RhcnQobm9kZSkpO1xufVxuZnVuY3Rpb24gaXNQcmV2aW91c0xpbmVFbXB0eTIodGV4dCwgc3RhcnRJbmRleCkge1xuICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9PT0gMiB8fCB0eXBlb2Ygc3RhcnRJbmRleCA9PT0gXCJudW1iZXJcIiA/IGlzX3ByZXZpb3VzX2xpbmVfZW1wdHlfZGVmYXVsdCh0ZXh0LCBzdGFydEluZGV4KSA6IChcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yIC0tIGV4cGVjdGVkXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHByZWZlci1yZXN0LXBhcmFtc1xuICAgIGxlZ2FjeUlzUHJldmlvdXNMaW5lRW1wdHkoLi4uYXJndW1lbnRzKVxuICApO1xufVxuZnVuY3Rpb24gbGVnYWN5SXNOZXh0TGluZUVtcHR5KHRleHQsIG5vZGUsIGxvY0VuZCkge1xuICByZXR1cm4gaXNfbmV4dF9saW5lX2VtcHR5X2RlZmF1bHQodGV4dCwgbG9jRW5kKG5vZGUpKTtcbn1cbmZ1bmN0aW9uIGlzTmV4dExpbmVFbXB0eTIodGV4dCwgc3RhcnRJbmRleCkge1xuICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA9PT0gMiB8fCB0eXBlb2Ygc3RhcnRJbmRleCA9PT0gXCJudW1iZXJcIiA/IGlzX25leHRfbGluZV9lbXB0eV9kZWZhdWx0KHRleHQsIHN0YXJ0SW5kZXgpIDogKFxuICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgLS0gZXhwZWN0ZWRcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcHJlZmVyLXJlc3QtcGFyYW1zXG4gICAgbGVnYWN5SXNOZXh0TGluZUVtcHR5KC4uLmFyZ3VtZW50cylcbiAgKTtcbn1cblxuLy8gc3JjL2luZGV4LmpzXG5mdW5jdGlvbiB3aXRoUGx1Z2lucyhmbiwgb3B0aW9uc0FyZ3VtZW50SW5kZXggPSAxKSB7XG4gIHJldHVybiBhc3luYyAoLi4uYXJncykgPT4ge1xuICAgIGNvbnN0IG9wdGlvbnM4ID0gYXJnc1tvcHRpb25zQXJndW1lbnRJbmRleF0gPz8ge307XG4gICAgY29uc3QgeyBwbHVnaW5zID0gW10gfSA9IG9wdGlvbnM4O1xuICAgIGFyZ3Nbb3B0aW9uc0FyZ3VtZW50SW5kZXhdID0ge1xuICAgICAgLi4ub3B0aW9uczgsXG4gICAgICBwbHVnaW5zOiAoYXdhaXQgUHJvbWlzZS5hbGwoW1xuICAgICAgICBsb2FkX2J1aWx0aW5fcGx1Z2luc19kZWZhdWx0KCksXG4gICAgICAgIC8vIFRPRE86IHN0YW5kYWxvbmUgdmVyc2lvbiBhbGxvdyBgcGx1Z2luc2AgdG8gYmUgYHByZXR0aWVyUGx1Z2luc2Agd2hpY2ggaXMgYW4gb2JqZWN0LCBzaG91bGQgYWxsb3cgdGhhdCB0b29cbiAgICAgICAgbG9hZF9wbHVnaW5zX2RlZmF1bHQocGx1Z2lucylcbiAgICAgIF0pKS5mbGF0KClcbiAgICB9O1xuICAgIHJldHVybiBmbiguLi5hcmdzKTtcbiAgfTtcbn1cbnZhciBmb3JtYXRXaXRoQ3Vyc29yMiA9IHdpdGhQbHVnaW5zKGZvcm1hdFdpdGhDdXJzb3IpO1xuYXN5bmMgZnVuY3Rpb24gZm9ybWF0Mih0ZXh0LCBvcHRpb25zOCkge1xuICBjb25zdCB7IGZvcm1hdHRlZCB9ID0gYXdhaXQgZm9ybWF0V2l0aEN1cnNvcjIodGV4dCwge1xuICAgIC4uLm9wdGlvbnM4LFxuICAgIGN1cnNvck9mZnNldDogLTFcbiAgfSk7XG4gIHJldHVybiBmb3JtYXR0ZWQ7XG59XG5hc3luYyBmdW5jdGlvbiBjaGVjayh0ZXh0LCBvcHRpb25zOCkge1xuICByZXR1cm4gYXdhaXQgZm9ybWF0Mih0ZXh0LCBvcHRpb25zOCkgPT09IHRleHQ7XG59XG5hc3luYyBmdW5jdGlvbiBjbGVhckNhY2hlMygpIHtcbiAgY2xlYXJDYWNoZSgpO1xuICBjbGVhckNhY2hlMigpO1xufVxudmFyIGdldEZpbGVJbmZvMiA9IHdpdGhQbHVnaW5zKGdldF9maWxlX2luZm9fZGVmYXVsdCk7XG52YXIgZ2V0U3VwcG9ydEluZm8yID0gd2l0aFBsdWdpbnMoZ2V0U3VwcG9ydEluZm8sIDApO1xudmFyIHNoYXJlZFdpdGhDbGkgPSB7XG4gIGVycm9yczogZXJyb3JzX2V4cG9ydHMsXG4gIG9wdGlvbkNhdGVnb3JpZXM6IG9wdGlvbl9jYXRlZ29yaWVzX2V4cG9ydHMsXG4gIGNyZWF0ZUlzSWdub3JlZEZ1bmN0aW9uLFxuICBmb3JtYXRPcHRpb25zSGlkZGVuRGVmYXVsdHMsXG4gIG5vcm1hbGl6ZU9wdGlvbnM6IG5vcm1hbGl6ZV9vcHRpb25zX2RlZmF1bHQsXG4gIGdldFN1cHBvcnRJbmZvV2l0aG91dFBsdWdpbnM6IGdldFN1cHBvcnRJbmZvLFxuICBub3JtYWxpemVPcHRpb25TZXR0aW5ncyxcbiAgdm5vcHRzOiB7XG4gICAgQ2hvaWNlU2NoZW1hLFxuICAgIGFwaURlc2NyaXB0b3JcbiAgfSxcbiAgZmFzdEdsb2I6IGltcG9ydF9mYXN0X2dsb2IuZGVmYXVsdCxcbiAgY3JlYXRlVHdvRmlsZXNQYXRjaCxcbiAgdXRpbHM6IHtcbiAgICBvbWl0OiBvYmplY3Rfb21pdF9kZWZhdWx0XG4gIH0sXG4gIG1vY2thYmxlOiBtb2NrYWJsZV9kZWZhdWx0XG59O1xudmFyIGRlYnVnQXBpcyA9IHtcbiAgcGFyc2U6IHdpdGhQbHVnaW5zKHBhcnNlNiksXG4gIGZvcm1hdEFTVDogd2l0aFBsdWdpbnMoZm9ybWF0QXN0KSxcbiAgZm9ybWF0RG9jOiB3aXRoUGx1Z2lucyhmb3JtYXREb2MpLFxuICBwcmludFRvRG9jOiB3aXRoUGx1Z2lucyhwcmludFRvRG9jKSxcbiAgcHJpbnREb2NUb1N0cmluZzogd2l0aFBsdWdpbnMocHJpbnREb2NUb1N0cmluZzIpLFxuICBtb2NrYWJsZTogbW9ja2FibGVfZGVmYXVsdFxufTtcblxuLy8gd2l0aC1kZWZhdWx0LWV4cG9ydDpzcmMvaW5kZXguanNcbnZhciBzcmNfZGVmYXVsdCA9IHNyY19leHBvcnRzO1xuZXhwb3J0IHtcbiAgZGVidWdBcGlzIGFzIF9fZGVidWcsXG4gIHNoYXJlZFdpdGhDbGkgYXMgX19pbnRlcm5hbCxcbiAgY2hlY2ssXG4gIGNsZWFyQ2FjaGUzIGFzIGNsZWFyQ29uZmlnQ2FjaGUsXG4gIHNyY19kZWZhdWx0IGFzIGRlZmF1bHQsXG4gIGRvYyxcbiAgZm9ybWF0MiBhcyBmb3JtYXQsXG4gIGZvcm1hdFdpdGhDdXJzb3IyIGFzIGZvcm1hdFdpdGhDdXJzb3IsXG4gIGdldEZpbGVJbmZvMiBhcyBnZXRGaWxlSW5mbyxcbiAgZ2V0U3VwcG9ydEluZm8yIGFzIGdldFN1cHBvcnRJbmZvLFxuICByZXNvbHZlQ29uZmlnLFxuICByZXNvbHZlQ29uZmlnRmlsZSxcbiAgcHVibGljX2V4cG9ydHMgYXMgdXRpbCxcbiAgdmVyc2lvbl9ldmFsdWF0ZV9kZWZhdWx0IGFzIHZlcnNpb25cbn07XG4iLCAiLyoqXG4gKiBsb2Rhc2ggKEN1c3RvbSBCdWlsZCkgPGh0dHBzOi8vbG9kYXNoLmNvbS8+XG4gKiBCdWlsZDogYGxvZGFzaCBtb2R1bGFyaXplIGV4cG9ydHM9XCJucG1cIiAtbyAuL2BcbiAqIENvcHlyaWdodCBqUXVlcnkgRm91bmRhdGlvbiBhbmQgb3RoZXIgY29udHJpYnV0b3JzIDxodHRwczovL2pxdWVyeS5vcmcvPlxuICogUmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UgPGh0dHBzOi8vbG9kYXNoLmNvbS9saWNlbnNlPlxuICogQmFzZWQgb24gVW5kZXJzY29yZS5qcyAxLjguMyA8aHR0cDovL3VuZGVyc2NvcmVqcy5vcmcvTElDRU5TRT5cbiAqIENvcHlyaWdodCBKZXJlbXkgQXNoa2VuYXMsIERvY3VtZW50Q2xvdWQgYW5kIEludmVzdGlnYXRpdmUgUmVwb3J0ZXJzICYgRWRpdG9yc1xuICovXG5cbi8qKiBVc2VkIGFzIHRoZSBgVHlwZUVycm9yYCBtZXNzYWdlIGZvciBcIkZ1bmN0aW9uc1wiIG1ldGhvZHMuICovXG52YXIgRlVOQ19FUlJPUl9URVhUID0gJ0V4cGVjdGVkIGEgZnVuY3Rpb24nO1xuXG4vKiogVXNlZCB0byBzdGFuZC1pbiBmb3IgYHVuZGVmaW5lZGAgaGFzaCB2YWx1ZXMuICovXG52YXIgSEFTSF9VTkRFRklORUQgPSAnX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfXyc7XG5cbi8qKiBVc2VkIGFzIHJlZmVyZW5jZXMgZm9yIHZhcmlvdXMgYE51bWJlcmAgY29uc3RhbnRzLiAqL1xudmFyIElORklOSVRZID0gMSAvIDA7XG5cbi8qKiBgT2JqZWN0I3RvU3RyaW5nYCByZXN1bHQgcmVmZXJlbmNlcy4gKi9cbnZhciBmdW5jVGFnID0gJ1tvYmplY3QgRnVuY3Rpb25dJyxcbiAgICBnZW5UYWcgPSAnW29iamVjdCBHZW5lcmF0b3JGdW5jdGlvbl0nLFxuICAgIHN5bWJvbFRhZyA9ICdbb2JqZWN0IFN5bWJvbF0nO1xuXG4vKiogVXNlZCB0byBtYXRjaCBwcm9wZXJ0eSBuYW1lcyB3aXRoaW4gcHJvcGVydHkgcGF0aHMuICovXG52YXIgcmVJc0RlZXBQcm9wID0gL1xcLnxcXFsoPzpbXltcXF1dKnwoW1wiJ10pKD86KD8hXFwxKVteXFxcXF18XFxcXC4pKj9cXDEpXFxdLyxcbiAgICByZUlzUGxhaW5Qcm9wID0gL15cXHcqJC8sXG4gICAgcmVMZWFkaW5nRG90ID0gL15cXC4vLFxuICAgIHJlUHJvcE5hbWUgPSAvW14uW1xcXV0rfFxcWyg/OigtP1xcZCsoPzpcXC5cXGQrKT8pfChbXCInXSkoKD86KD8hXFwyKVteXFxcXF18XFxcXC4pKj8pXFwyKVxcXXwoPz0oPzpcXC58XFxbXFxdKSg/OlxcLnxcXFtcXF18JCkpL2c7XG5cbi8qKlxuICogVXNlZCB0byBtYXRjaCBgUmVnRXhwYFxuICogW3N5bnRheCBjaGFyYWN0ZXJzXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1wYXR0ZXJucykuXG4gKi9cbnZhciByZVJlZ0V4cENoYXIgPSAvW1xcXFxeJC4qKz8oKVtcXF17fXxdL2c7XG5cbi8qKiBVc2VkIHRvIG1hdGNoIGJhY2tzbGFzaGVzIGluIHByb3BlcnR5IHBhdGhzLiAqL1xudmFyIHJlRXNjYXBlQ2hhciA9IC9cXFxcKFxcXFwpPy9nO1xuXG4vKiogVXNlZCB0byBkZXRlY3QgaG9zdCBjb25zdHJ1Y3RvcnMgKFNhZmFyaSkuICovXG52YXIgcmVJc0hvc3RDdG9yID0gL15cXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXF0kLztcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBnbG9iYWxgIGZyb20gTm9kZS5qcy4gKi9cbnZhciBmcmVlR2xvYmFsID0gdHlwZW9mIGdsb2JhbCA9PSAnb2JqZWN0JyAmJiBnbG9iYWwgJiYgZ2xvYmFsLk9iamVjdCA9PT0gT2JqZWN0ICYmIGdsb2JhbDtcblxuLyoqIERldGVjdCBmcmVlIHZhcmlhYmxlIGBzZWxmYC4gKi9cbnZhciBmcmVlU2VsZiA9IHR5cGVvZiBzZWxmID09ICdvYmplY3QnICYmIHNlbGYgJiYgc2VsZi5PYmplY3QgPT09IE9iamVjdCAmJiBzZWxmO1xuXG4vKiogVXNlZCBhcyBhIHJlZmVyZW5jZSB0byB0aGUgZ2xvYmFsIG9iamVjdC4gKi9cbnZhciByb290ID0gZnJlZUdsb2JhbCB8fCBmcmVlU2VsZiB8fCBGdW5jdGlvbigncmV0dXJuIHRoaXMnKSgpO1xuXG4vKipcbiAqIEdldHMgdGhlIHZhbHVlIGF0IGBrZXlgIG9mIGBvYmplY3RgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIG9iamVjdCB0byBxdWVyeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgcHJvcGVydHkgdG8gZ2V0LlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIHByb3BlcnR5IHZhbHVlLlxuICovXG5mdW5jdGlvbiBnZXRWYWx1ZShvYmplY3QsIGtleSkge1xuICByZXR1cm4gb2JqZWN0ID09IG51bGwgPyB1bmRlZmluZWQgOiBvYmplY3Rba2V5XTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIGhvc3Qgb2JqZWN0IGluIElFIDwgOS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBhIGhvc3Qgb2JqZWN0LCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGlzSG9zdE9iamVjdCh2YWx1ZSkge1xuICAvLyBNYW55IGhvc3Qgb2JqZWN0cyBhcmUgYE9iamVjdGAgb2JqZWN0cyB0aGF0IGNhbiBjb2VyY2UgdG8gc3RyaW5nc1xuICAvLyBkZXNwaXRlIGhhdmluZyBpbXByb3Blcmx5IGRlZmluZWQgYHRvU3RyaW5nYCBtZXRob2RzLlxuICB2YXIgcmVzdWx0ID0gZmFsc2U7XG4gIGlmICh2YWx1ZSAhPSBudWxsICYmIHR5cGVvZiB2YWx1ZS50b1N0cmluZyAhPSAnZnVuY3Rpb24nKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJlc3VsdCA9ICEhKHZhbHVlICsgJycpO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG4gIH1cbiAgcmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqIFVzZWQgZm9yIGJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzLiAqL1xudmFyIGFycmF5UHJvdG8gPSBBcnJheS5wcm90b3R5cGUsXG4gICAgZnVuY1Byb3RvID0gRnVuY3Rpb24ucHJvdG90eXBlLFxuICAgIG9iamVjdFByb3RvID0gT2JqZWN0LnByb3RvdHlwZTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IG92ZXJyZWFjaGluZyBjb3JlLWpzIHNoaW1zLiAqL1xudmFyIGNvcmVKc0RhdGEgPSByb290WydfX2NvcmUtanNfc2hhcmVkX18nXTtcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IG1ldGhvZHMgbWFzcXVlcmFkaW5nIGFzIG5hdGl2ZS4gKi9cbnZhciBtYXNrU3JjS2V5ID0gKGZ1bmN0aW9uKCkge1xuICB2YXIgdWlkID0gL1teLl0rJC8uZXhlYyhjb3JlSnNEYXRhICYmIGNvcmVKc0RhdGEua2V5cyAmJiBjb3JlSnNEYXRhLmtleXMuSUVfUFJPVE8gfHwgJycpO1xuICByZXR1cm4gdWlkID8gKCdTeW1ib2woc3JjKV8xLicgKyB1aWQpIDogJyc7XG59KCkpO1xuXG4vKiogVXNlZCB0byByZXNvbHZlIHRoZSBkZWNvbXBpbGVkIHNvdXJjZSBvZiBmdW5jdGlvbnMuICovXG52YXIgZnVuY1RvU3RyaW5nID0gZnVuY1Byb3RvLnRvU3RyaW5nO1xuXG4vKiogVXNlZCB0byBjaGVjayBvYmplY3RzIGZvciBvd24gcHJvcGVydGllcy4gKi9cbnZhciBoYXNPd25Qcm9wZXJ0eSA9IG9iamVjdFByb3RvLmhhc093blByb3BlcnR5O1xuXG4vKipcbiAqIFVzZWQgdG8gcmVzb2x2ZSB0aGVcbiAqIFtgdG9TdHJpbmdUYWdgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1vYmplY3QucHJvdG90eXBlLnRvc3RyaW5nKVxuICogb2YgdmFsdWVzLlxuICovXG52YXIgb2JqZWN0VG9TdHJpbmcgPSBvYmplY3RQcm90by50b1N0cmluZztcblxuLyoqIFVzZWQgdG8gZGV0ZWN0IGlmIGEgbWV0aG9kIGlzIG5hdGl2ZS4gKi9cbnZhciByZUlzTmF0aXZlID0gUmVnRXhwKCdeJyArXG4gIGZ1bmNUb1N0cmluZy5jYWxsKGhhc093blByb3BlcnR5KS5yZXBsYWNlKHJlUmVnRXhwQ2hhciwgJ1xcXFwkJicpXG4gIC5yZXBsYWNlKC9oYXNPd25Qcm9wZXJ0eXwoZnVuY3Rpb24pLio/KD89XFxcXFxcKCl8IGZvciAuKz8oPz1cXFxcXFxdKS9nLCAnJDEuKj8nKSArICckJ1xuKTtcblxuLyoqIEJ1aWx0LWluIHZhbHVlIHJlZmVyZW5jZXMuICovXG52YXIgU3ltYm9sID0gcm9vdC5TeW1ib2wsXG4gICAgc3BsaWNlID0gYXJyYXlQcm90by5zcGxpY2U7XG5cbi8qIEJ1aWx0LWluIG1ldGhvZCByZWZlcmVuY2VzIHRoYXQgYXJlIHZlcmlmaWVkIHRvIGJlIG5hdGl2ZS4gKi9cbnZhciBNYXAgPSBnZXROYXRpdmUocm9vdCwgJ01hcCcpLFxuICAgIG5hdGl2ZUNyZWF0ZSA9IGdldE5hdGl2ZShPYmplY3QsICdjcmVhdGUnKTtcblxuLyoqIFVzZWQgdG8gY29udmVydCBzeW1ib2xzIHRvIHByaW1pdGl2ZXMgYW5kIHN0cmluZ3MuICovXG52YXIgc3ltYm9sUHJvdG8gPSBTeW1ib2wgPyBTeW1ib2wucHJvdG90eXBlIDogdW5kZWZpbmVkLFxuICAgIHN5bWJvbFRvU3RyaW5nID0gc3ltYm9sUHJvdG8gPyBzeW1ib2xQcm90by50b1N0cmluZyA6IHVuZGVmaW5lZDtcblxuLyoqXG4gKiBDcmVhdGVzIGEgaGFzaCBvYmplY3QuXG4gKlxuICogQHByaXZhdGVcbiAqIEBjb25zdHJ1Y3RvclxuICogQHBhcmFtIHtBcnJheX0gW2VudHJpZXNdIFRoZSBrZXktdmFsdWUgcGFpcnMgdG8gY2FjaGUuXG4gKi9cbmZ1bmN0aW9uIEhhc2goZW50cmllcykge1xuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIGxlbmd0aCA9IGVudHJpZXMgPyBlbnRyaWVzLmxlbmd0aCA6IDA7XG5cbiAgdGhpcy5jbGVhcigpO1xuICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgIHZhciBlbnRyeSA9IGVudHJpZXNbaW5kZXhdO1xuICAgIHRoaXMuc2V0KGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZW1vdmVzIGFsbCBrZXktdmFsdWUgZW50cmllcyBmcm9tIHRoZSBoYXNoLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBjbGVhclxuICogQG1lbWJlck9mIEhhc2hcbiAqL1xuZnVuY3Rpb24gaGFzaENsZWFyKCkge1xuICB0aGlzLl9fZGF0YV9fID0gbmF0aXZlQ3JlYXRlID8gbmF0aXZlQ3JlYXRlKG51bGwpIDoge307XG59XG5cbi8qKlxuICogUmVtb3ZlcyBga2V5YCBhbmQgaXRzIHZhbHVlIGZyb20gdGhlIGhhc2guXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGRlbGV0ZVxuICogQG1lbWJlck9mIEhhc2hcbiAqIEBwYXJhbSB7T2JqZWN0fSBoYXNoIFRoZSBoYXNoIHRvIG1vZGlmeS5cbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gcmVtb3ZlLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBlbnRyeSB3YXMgcmVtb3ZlZCwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBoYXNoRGVsZXRlKGtleSkge1xuICByZXR1cm4gdGhpcy5oYXMoa2V5KSAmJiBkZWxldGUgdGhpcy5fX2RhdGFfX1trZXldO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIGhhc2ggdmFsdWUgZm9yIGBrZXlgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBnZXRcbiAqIEBtZW1iZXJPZiBIYXNoXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIGdldC5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBlbnRyeSB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gaGFzaEdldChrZXkpIHtcbiAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fO1xuICBpZiAobmF0aXZlQ3JlYXRlKSB7XG4gICAgdmFyIHJlc3VsdCA9IGRhdGFba2V5XTtcbiAgICByZXR1cm4gcmVzdWx0ID09PSBIQVNIX1VOREVGSU5FRCA/IHVuZGVmaW5lZCA6IHJlc3VsdDtcbiAgfVxuICByZXR1cm4gaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLCBrZXkpID8gZGF0YVtrZXldIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGhhc2ggdmFsdWUgZm9yIGBrZXlgIGV4aXN0cy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgaGFzXG4gKiBAbWVtYmVyT2YgSGFzaFxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBlbnRyeSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbiBlbnRyeSBmb3IgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGhhc2hIYXMoa2V5KSB7XG4gIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXztcbiAgcmV0dXJuIG5hdGl2ZUNyZWF0ZSA/IGRhdGFba2V5XSAhPT0gdW5kZWZpbmVkIDogaGFzT3duUHJvcGVydHkuY2FsbChkYXRhLCBrZXkpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIGhhc2ggYGtleWAgdG8gYHZhbHVlYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgc2V0XG4gKiBAbWVtYmVyT2YgSGFzaFxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBzZXQuXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQuXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBoYXNoIGluc3RhbmNlLlxuICovXG5mdW5jdGlvbiBoYXNoU2V0KGtleSwgdmFsdWUpIHtcbiAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fO1xuICBkYXRhW2tleV0gPSAobmF0aXZlQ3JlYXRlICYmIHZhbHVlID09PSB1bmRlZmluZWQpID8gSEFTSF9VTkRFRklORUQgOiB2YWx1ZTtcbiAgcmV0dXJuIHRoaXM7XG59XG5cbi8vIEFkZCBtZXRob2RzIHRvIGBIYXNoYC5cbkhhc2gucHJvdG90eXBlLmNsZWFyID0gaGFzaENsZWFyO1xuSGFzaC5wcm90b3R5cGVbJ2RlbGV0ZSddID0gaGFzaERlbGV0ZTtcbkhhc2gucHJvdG90eXBlLmdldCA9IGhhc2hHZXQ7XG5IYXNoLnByb3RvdHlwZS5oYXMgPSBoYXNoSGFzO1xuSGFzaC5wcm90b3R5cGUuc2V0ID0gaGFzaFNldDtcblxuLyoqXG4gKiBDcmVhdGVzIGFuIGxpc3QgY2FjaGUgb2JqZWN0LlxuICpcbiAqIEBwcml2YXRlXG4gKiBAY29uc3RydWN0b3JcbiAqIEBwYXJhbSB7QXJyYXl9IFtlbnRyaWVzXSBUaGUga2V5LXZhbHVlIHBhaXJzIHRvIGNhY2hlLlxuICovXG5mdW5jdGlvbiBMaXN0Q2FjaGUoZW50cmllcykge1xuICB2YXIgaW5kZXggPSAtMSxcbiAgICAgIGxlbmd0aCA9IGVudHJpZXMgPyBlbnRyaWVzLmxlbmd0aCA6IDA7XG5cbiAgdGhpcy5jbGVhcigpO1xuICB3aGlsZSAoKytpbmRleCA8IGxlbmd0aCkge1xuICAgIHZhciBlbnRyeSA9IGVudHJpZXNbaW5kZXhdO1xuICAgIHRoaXMuc2V0KGVudHJ5WzBdLCBlbnRyeVsxXSk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZW1vdmVzIGFsbCBrZXktdmFsdWUgZW50cmllcyBmcm9tIHRoZSBsaXN0IGNhY2hlLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBjbGVhclxuICogQG1lbWJlck9mIExpc3RDYWNoZVxuICovXG5mdW5jdGlvbiBsaXN0Q2FjaGVDbGVhcigpIHtcbiAgdGhpcy5fX2RhdGFfXyA9IFtdO1xufVxuXG4vKipcbiAqIFJlbW92ZXMgYGtleWAgYW5kIGl0cyB2YWx1ZSBmcm9tIHRoZSBsaXN0IGNhY2hlLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBkZWxldGVcbiAqIEBtZW1iZXJPZiBMaXN0Q2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gcmVtb3ZlLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBlbnRyeSB3YXMgcmVtb3ZlZCwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBsaXN0Q2FjaGVEZWxldGUoa2V5KSB7XG4gIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXyxcbiAgICAgIGluZGV4ID0gYXNzb2NJbmRleE9mKGRhdGEsIGtleSk7XG5cbiAgaWYgKGluZGV4IDwgMCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICB2YXIgbGFzdEluZGV4ID0gZGF0YS5sZW5ndGggLSAxO1xuICBpZiAoaW5kZXggPT0gbGFzdEluZGV4KSB7XG4gICAgZGF0YS5wb3AoKTtcbiAgfSBlbHNlIHtcbiAgICBzcGxpY2UuY2FsbChkYXRhLCBpbmRleCwgMSk7XG4gIH1cbiAgcmV0dXJuIHRydWU7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgbGlzdCBjYWNoZSB2YWx1ZSBmb3IgYGtleWAuXG4gKlxuICogQHByaXZhdGVcbiAqIEBuYW1lIGdldFxuICogQG1lbWJlck9mIExpc3RDYWNoZVxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZW50cnkgdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIGxpc3RDYWNoZUdldChrZXkpIHtcbiAgdmFyIGRhdGEgPSB0aGlzLl9fZGF0YV9fLFxuICAgICAgaW5kZXggPSBhc3NvY0luZGV4T2YoZGF0YSwga2V5KTtcblxuICByZXR1cm4gaW5kZXggPCAwID8gdW5kZWZpbmVkIDogZGF0YVtpbmRleF1bMV07XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGEgbGlzdCBjYWNoZSB2YWx1ZSBmb3IgYGtleWAgZXhpc3RzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBoYXNcbiAqIEBtZW1iZXJPZiBMaXN0Q2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgZW50cnkgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYW4gZW50cnkgZm9yIGBrZXlgIGV4aXN0cywgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBsaXN0Q2FjaGVIYXMoa2V5KSB7XG4gIHJldHVybiBhc3NvY0luZGV4T2YodGhpcy5fX2RhdGFfXywga2V5KSA+IC0xO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIGxpc3QgY2FjaGUgYGtleWAgdG8gYHZhbHVlYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgc2V0XG4gKiBAbWVtYmVyT2YgTGlzdENhY2hlXG4gKiBAcGFyYW0ge3N0cmluZ30ga2V5IFRoZSBrZXkgb2YgdGhlIHZhbHVlIHRvIHNldC5cbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIHNldC5cbiAqIEByZXR1cm5zIHtPYmplY3R9IFJldHVybnMgdGhlIGxpc3QgY2FjaGUgaW5zdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIGxpc3RDYWNoZVNldChrZXksIHZhbHVlKSB7XG4gIHZhciBkYXRhID0gdGhpcy5fX2RhdGFfXyxcbiAgICAgIGluZGV4ID0gYXNzb2NJbmRleE9mKGRhdGEsIGtleSk7XG5cbiAgaWYgKGluZGV4IDwgMCkge1xuICAgIGRhdGEucHVzaChba2V5LCB2YWx1ZV0pO1xuICB9IGVsc2Uge1xuICAgIGRhdGFbaW5kZXhdWzFdID0gdmFsdWU7XG4gIH1cbiAgcmV0dXJuIHRoaXM7XG59XG5cbi8vIEFkZCBtZXRob2RzIHRvIGBMaXN0Q2FjaGVgLlxuTGlzdENhY2hlLnByb3RvdHlwZS5jbGVhciA9IGxpc3RDYWNoZUNsZWFyO1xuTGlzdENhY2hlLnByb3RvdHlwZVsnZGVsZXRlJ10gPSBsaXN0Q2FjaGVEZWxldGU7XG5MaXN0Q2FjaGUucHJvdG90eXBlLmdldCA9IGxpc3RDYWNoZUdldDtcbkxpc3RDYWNoZS5wcm90b3R5cGUuaGFzID0gbGlzdENhY2hlSGFzO1xuTGlzdENhY2hlLnByb3RvdHlwZS5zZXQgPSBsaXN0Q2FjaGVTZXQ7XG5cbi8qKlxuICogQ3JlYXRlcyBhIG1hcCBjYWNoZSBvYmplY3QgdG8gc3RvcmUga2V5LXZhbHVlIHBhaXJzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAY29uc3RydWN0b3JcbiAqIEBwYXJhbSB7QXJyYXl9IFtlbnRyaWVzXSBUaGUga2V5LXZhbHVlIHBhaXJzIHRvIGNhY2hlLlxuICovXG5mdW5jdGlvbiBNYXBDYWNoZShlbnRyaWVzKSB7XG4gIHZhciBpbmRleCA9IC0xLFxuICAgICAgbGVuZ3RoID0gZW50cmllcyA/IGVudHJpZXMubGVuZ3RoIDogMDtcblxuICB0aGlzLmNsZWFyKCk7XG4gIHdoaWxlICgrK2luZGV4IDwgbGVuZ3RoKSB7XG4gICAgdmFyIGVudHJ5ID0gZW50cmllc1tpbmRleF07XG4gICAgdGhpcy5zZXQoZW50cnlbMF0sIGVudHJ5WzFdKTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbW92ZXMgYWxsIGtleS12YWx1ZSBlbnRyaWVzIGZyb20gdGhlIG1hcC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgY2xlYXJcbiAqIEBtZW1iZXJPZiBNYXBDYWNoZVxuICovXG5mdW5jdGlvbiBtYXBDYWNoZUNsZWFyKCkge1xuICB0aGlzLl9fZGF0YV9fID0ge1xuICAgICdoYXNoJzogbmV3IEhhc2gsXG4gICAgJ21hcCc6IG5ldyAoTWFwIHx8IExpc3RDYWNoZSksXG4gICAgJ3N0cmluZyc6IG5ldyBIYXNoXG4gIH07XG59XG5cbi8qKlxuICogUmVtb3ZlcyBga2V5YCBhbmQgaXRzIHZhbHVlIGZyb20gdGhlIG1hcC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQG5hbWUgZGVsZXRlXG4gKiBAbWVtYmVyT2YgTWFwQ2FjaGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBrZXkgVGhlIGtleSBvZiB0aGUgdmFsdWUgdG8gcmVtb3ZlLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIHRoZSBlbnRyeSB3YXMgcmVtb3ZlZCwgZWxzZSBgZmFsc2VgLlxuICovXG5mdW5jdGlvbiBtYXBDYWNoZURlbGV0ZShrZXkpIHtcbiAgcmV0dXJuIGdldE1hcERhdGEodGhpcywga2V5KVsnZGVsZXRlJ10oa2V5KTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBtYXAgdmFsdWUgZm9yIGBrZXlgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBnZXRcbiAqIEBtZW1iZXJPZiBNYXBDYWNoZVxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBnZXQuXG4gKiBAcmV0dXJucyB7Kn0gUmV0dXJucyB0aGUgZW50cnkgdmFsdWUuXG4gKi9cbmZ1bmN0aW9uIG1hcENhY2hlR2V0KGtleSkge1xuICByZXR1cm4gZ2V0TWFwRGF0YSh0aGlzLCBrZXkpLmdldChrZXkpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIG1hcCB2YWx1ZSBmb3IgYGtleWAgZXhpc3RzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBoYXNcbiAqIEBtZW1iZXJPZiBNYXBDYWNoZVxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBlbnRyeSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBhbiBlbnRyeSBmb3IgYGtleWAgZXhpc3RzLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIG1hcENhY2hlSGFzKGtleSkge1xuICByZXR1cm4gZ2V0TWFwRGF0YSh0aGlzLCBrZXkpLmhhcyhrZXkpO1xufVxuXG4vKipcbiAqIFNldHMgdGhlIG1hcCBga2V5YCB0byBgdmFsdWVgLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAbmFtZSBzZXRcbiAqIEBtZW1iZXJPZiBNYXBDYWNoZVxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSB2YWx1ZSB0byBzZXQuXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBzZXQuXG4gKiBAcmV0dXJucyB7T2JqZWN0fSBSZXR1cm5zIHRoZSBtYXAgY2FjaGUgaW5zdGFuY2UuXG4gKi9cbmZ1bmN0aW9uIG1hcENhY2hlU2V0KGtleSwgdmFsdWUpIHtcbiAgZ2V0TWFwRGF0YSh0aGlzLCBrZXkpLnNldChrZXksIHZhbHVlKTtcbiAgcmV0dXJuIHRoaXM7XG59XG5cbi8vIEFkZCBtZXRob2RzIHRvIGBNYXBDYWNoZWAuXG5NYXBDYWNoZS5wcm90b3R5cGUuY2xlYXIgPSBtYXBDYWNoZUNsZWFyO1xuTWFwQ2FjaGUucHJvdG90eXBlWydkZWxldGUnXSA9IG1hcENhY2hlRGVsZXRlO1xuTWFwQ2FjaGUucHJvdG90eXBlLmdldCA9IG1hcENhY2hlR2V0O1xuTWFwQ2FjaGUucHJvdG90eXBlLmhhcyA9IG1hcENhY2hlSGFzO1xuTWFwQ2FjaGUucHJvdG90eXBlLnNldCA9IG1hcENhY2hlU2V0O1xuXG4vKipcbiAqIEdldHMgdGhlIGluZGV4IGF0IHdoaWNoIHRoZSBga2V5YCBpcyBmb3VuZCBpbiBgYXJyYXlgIG9mIGtleS12YWx1ZSBwYWlycy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtBcnJheX0gYXJyYXkgVGhlIGFycmF5IHRvIGluc3BlY3QuXG4gKiBAcGFyYW0geyp9IGtleSBUaGUga2V5IHRvIHNlYXJjaCBmb3IuXG4gKiBAcmV0dXJucyB7bnVtYmVyfSBSZXR1cm5zIHRoZSBpbmRleCBvZiB0aGUgbWF0Y2hlZCB2YWx1ZSwgZWxzZSBgLTFgLlxuICovXG5mdW5jdGlvbiBhc3NvY0luZGV4T2YoYXJyYXksIGtleSkge1xuICB2YXIgbGVuZ3RoID0gYXJyYXkubGVuZ3RoO1xuICB3aGlsZSAobGVuZ3RoLS0pIHtcbiAgICBpZiAoZXEoYXJyYXlbbGVuZ3RoXVswXSwga2V5KSkge1xuICAgICAgcmV0dXJuIGxlbmd0aDtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIC0xO1xufVxuXG4vKipcbiAqIFRoZSBiYXNlIGltcGxlbWVudGF0aW9uIG9mIGBfLmdldGAgd2l0aG91dCBzdXBwb3J0IGZvciBkZWZhdWx0IHZhbHVlcy5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHBhcmFtIHtBcnJheXxzdHJpbmd9IHBhdGggVGhlIHBhdGggb2YgdGhlIHByb3BlcnR5IHRvIGdldC5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByZXNvbHZlZCB2YWx1ZS5cbiAqL1xuZnVuY3Rpb24gYmFzZUdldChvYmplY3QsIHBhdGgpIHtcbiAgcGF0aCA9IGlzS2V5KHBhdGgsIG9iamVjdCkgPyBbcGF0aF0gOiBjYXN0UGF0aChwYXRoKTtcblxuICB2YXIgaW5kZXggPSAwLFxuICAgICAgbGVuZ3RoID0gcGF0aC5sZW5ndGg7XG5cbiAgd2hpbGUgKG9iamVjdCAhPSBudWxsICYmIGluZGV4IDwgbGVuZ3RoKSB7XG4gICAgb2JqZWN0ID0gb2JqZWN0W3RvS2V5KHBhdGhbaW5kZXgrK10pXTtcbiAgfVxuICByZXR1cm4gKGluZGV4ICYmIGluZGV4ID09IGxlbmd0aCkgPyBvYmplY3QgOiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogVGhlIGJhc2UgaW1wbGVtZW50YXRpb24gb2YgYF8uaXNOYXRpdmVgIHdpdGhvdXQgYmFkIHNoaW0gY2hlY2tzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGEgbmF0aXZlIGZ1bmN0aW9uLFxuICogIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gYmFzZUlzTmF0aXZlKHZhbHVlKSB7XG4gIGlmICghaXNPYmplY3QodmFsdWUpIHx8IGlzTWFza2VkKHZhbHVlKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuICB2YXIgcGF0dGVybiA9IChpc0Z1bmN0aW9uKHZhbHVlKSB8fCBpc0hvc3RPYmplY3QodmFsdWUpKSA/IHJlSXNOYXRpdmUgOiByZUlzSG9zdEN0b3I7XG4gIHJldHVybiBwYXR0ZXJuLnRlc3QodG9Tb3VyY2UodmFsdWUpKTtcbn1cblxuLyoqXG4gKiBUaGUgYmFzZSBpbXBsZW1lbnRhdGlvbiBvZiBgXy50b1N0cmluZ2Agd2hpY2ggZG9lc24ndCBjb252ZXJ0IG51bGxpc2hcbiAqIHZhbHVlcyB0byBlbXB0eSBzdHJpbmdzLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBwcm9jZXNzLlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBiYXNlVG9TdHJpbmcodmFsdWUpIHtcbiAgLy8gRXhpdCBlYXJseSBmb3Igc3RyaW5ncyB0byBhdm9pZCBhIHBlcmZvcm1hbmNlIGhpdCBpbiBzb21lIGVudmlyb25tZW50cy5cbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PSAnc3RyaW5nJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICBpZiAoaXNTeW1ib2wodmFsdWUpKSB7XG4gICAgcmV0dXJuIHN5bWJvbFRvU3RyaW5nID8gc3ltYm9sVG9TdHJpbmcuY2FsbCh2YWx1ZSkgOiAnJztcbiAgfVxuICB2YXIgcmVzdWx0ID0gKHZhbHVlICsgJycpO1xuICByZXR1cm4gKHJlc3VsdCA9PSAnMCcgJiYgKDEgLyB2YWx1ZSkgPT0gLUlORklOSVRZKSA/ICctMCcgOiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ2FzdHMgYHZhbHVlYCB0byBhIHBhdGggYXJyYXkgaWYgaXQncyBub3Qgb25lLlxuICpcbiAqIEBwcml2YXRlXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMge0FycmF5fSBSZXR1cm5zIHRoZSBjYXN0IHByb3BlcnR5IHBhdGggYXJyYXkuXG4gKi9cbmZ1bmN0aW9uIGNhc3RQYXRoKHZhbHVlKSB7XG4gIHJldHVybiBpc0FycmF5KHZhbHVlKSA/IHZhbHVlIDogc3RyaW5nVG9QYXRoKHZhbHVlKTtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBkYXRhIGZvciBgbWFwYC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG1hcCBUaGUgbWFwIHRvIHF1ZXJ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUgcmVmZXJlbmNlIGtleS5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSBtYXAgZGF0YS5cbiAqL1xuZnVuY3Rpb24gZ2V0TWFwRGF0YShtYXAsIGtleSkge1xuICB2YXIgZGF0YSA9IG1hcC5fX2RhdGFfXztcbiAgcmV0dXJuIGlzS2V5YWJsZShrZXkpXG4gICAgPyBkYXRhW3R5cGVvZiBrZXkgPT0gJ3N0cmluZycgPyAnc3RyaW5nJyA6ICdoYXNoJ11cbiAgICA6IGRhdGEubWFwO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIG5hdGl2ZSBmdW5jdGlvbiBhdCBga2V5YCBvZiBgb2JqZWN0YC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtPYmplY3R9IG9iamVjdCBUaGUgb2JqZWN0IHRvIHF1ZXJ5LlxuICogQHBhcmFtIHtzdHJpbmd9IGtleSBUaGUga2V5IG9mIHRoZSBtZXRob2QgdG8gZ2V0LlxuICogQHJldHVybnMgeyp9IFJldHVybnMgdGhlIGZ1bmN0aW9uIGlmIGl0J3MgbmF0aXZlLCBlbHNlIGB1bmRlZmluZWRgLlxuICovXG5mdW5jdGlvbiBnZXROYXRpdmUob2JqZWN0LCBrZXkpIHtcbiAgdmFyIHZhbHVlID0gZ2V0VmFsdWUob2JqZWN0LCBrZXkpO1xuICByZXR1cm4gYmFzZUlzTmF0aXZlKHZhbHVlKSA/IHZhbHVlIDogdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGEgcHJvcGVydHkgbmFtZSBhbmQgbm90IGEgcHJvcGVydHkgcGF0aC5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcGFyYW0ge09iamVjdH0gW29iamVjdF0gVGhlIG9iamVjdCB0byBxdWVyeSBrZXlzIG9uLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBwcm9wZXJ0eSBuYW1lLCBlbHNlIGBmYWxzZWAuXG4gKi9cbmZ1bmN0aW9uIGlzS2V5KHZhbHVlLCBvYmplY3QpIHtcbiAgaWYgKGlzQXJyYXkodmFsdWUpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICBpZiAodHlwZSA9PSAnbnVtYmVyJyB8fCB0eXBlID09ICdzeW1ib2wnIHx8IHR5cGUgPT0gJ2Jvb2xlYW4nIHx8XG4gICAgICB2YWx1ZSA9PSBudWxsIHx8IGlzU3ltYm9sKHZhbHVlKSkge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG4gIHJldHVybiByZUlzUGxhaW5Qcm9wLnRlc3QodmFsdWUpIHx8ICFyZUlzRGVlcFByb3AudGVzdCh2YWx1ZSkgfHxcbiAgICAob2JqZWN0ICE9IG51bGwgJiYgdmFsdWUgaW4gT2JqZWN0KG9iamVjdCkpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIHN1aXRhYmxlIGZvciB1c2UgYXMgdW5pcXVlIG9iamVjdCBrZXkuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgc3VpdGFibGUsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNLZXlhYmxlKHZhbHVlKSB7XG4gIHZhciB0eXBlID0gdHlwZW9mIHZhbHVlO1xuICByZXR1cm4gKHR5cGUgPT0gJ3N0cmluZycgfHwgdHlwZSA9PSAnbnVtYmVyJyB8fCB0eXBlID09ICdzeW1ib2wnIHx8IHR5cGUgPT0gJ2Jvb2xlYW4nKVxuICAgID8gKHZhbHVlICE9PSAnX19wcm90b19fJylcbiAgICA6ICh2YWx1ZSA9PT0gbnVsbCk7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGBmdW5jYCBoYXMgaXRzIHNvdXJjZSBtYXNrZWQuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7RnVuY3Rpb259IGZ1bmMgVGhlIGZ1bmN0aW9uIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGBmdW5jYCBpcyBtYXNrZWQsIGVsc2UgYGZhbHNlYC5cbiAqL1xuZnVuY3Rpb24gaXNNYXNrZWQoZnVuYykge1xuICByZXR1cm4gISFtYXNrU3JjS2V5ICYmIChtYXNrU3JjS2V5IGluIGZ1bmMpO1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGBzdHJpbmdgIHRvIGEgcHJvcGVydHkgcGF0aCBhcnJheS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtzdHJpbmd9IHN0cmluZyBUaGUgc3RyaW5nIHRvIGNvbnZlcnQuXG4gKiBAcmV0dXJucyB7QXJyYXl9IFJldHVybnMgdGhlIHByb3BlcnR5IHBhdGggYXJyYXkuXG4gKi9cbnZhciBzdHJpbmdUb1BhdGggPSBtZW1vaXplKGZ1bmN0aW9uKHN0cmluZykge1xuICBzdHJpbmcgPSB0b1N0cmluZyhzdHJpbmcpO1xuXG4gIHZhciByZXN1bHQgPSBbXTtcbiAgaWYgKHJlTGVhZGluZ0RvdC50ZXN0KHN0cmluZykpIHtcbiAgICByZXN1bHQucHVzaCgnJyk7XG4gIH1cbiAgc3RyaW5nLnJlcGxhY2UocmVQcm9wTmFtZSwgZnVuY3Rpb24obWF0Y2gsIG51bWJlciwgcXVvdGUsIHN0cmluZykge1xuICAgIHJlc3VsdC5wdXNoKHF1b3RlID8gc3RyaW5nLnJlcGxhY2UocmVFc2NhcGVDaGFyLCAnJDEnKSA6IChudW1iZXIgfHwgbWF0Y2gpKTtcbiAgfSk7XG4gIHJldHVybiByZXN1bHQ7XG59KTtcblxuLyoqXG4gKiBDb252ZXJ0cyBgdmFsdWVgIHRvIGEgc3RyaW5nIGtleSBpZiBpdCdzIG5vdCBhIHN0cmluZyBvciBzeW1ib2wuXG4gKlxuICogQHByaXZhdGVcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyB7c3RyaW5nfHN5bWJvbH0gUmV0dXJucyB0aGUga2V5LlxuICovXG5mdW5jdGlvbiB0b0tleSh2YWx1ZSkge1xuICBpZiAodHlwZW9mIHZhbHVlID09ICdzdHJpbmcnIHx8IGlzU3ltYm9sKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICB2YXIgcmVzdWx0ID0gKHZhbHVlICsgJycpO1xuICByZXR1cm4gKHJlc3VsdCA9PSAnMCcgJiYgKDEgLyB2YWx1ZSkgPT0gLUlORklOSVRZKSA/ICctMCcgOiByZXN1bHQ7XG59XG5cbi8qKlxuICogQ29udmVydHMgYGZ1bmNgIHRvIGl0cyBzb3VyY2UgY29kZS5cbiAqXG4gKiBAcHJpdmF0ZVxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gcHJvY2Vzcy5cbiAqIEByZXR1cm5zIHtzdHJpbmd9IFJldHVybnMgdGhlIHNvdXJjZSBjb2RlLlxuICovXG5mdW5jdGlvbiB0b1NvdXJjZShmdW5jKSB7XG4gIGlmIChmdW5jICE9IG51bGwpIHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIGZ1bmNUb1N0cmluZy5jYWxsKGZ1bmMpO1xuICAgIH0gY2F0Y2ggKGUpIHt9XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiAoZnVuYyArICcnKTtcbiAgICB9IGNhdGNoIChlKSB7fVxuICB9XG4gIHJldHVybiAnJztcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgZnVuY3Rpb24gdGhhdCBtZW1vaXplcyB0aGUgcmVzdWx0IG9mIGBmdW5jYC4gSWYgYHJlc29sdmVyYCBpc1xuICogcHJvdmlkZWQsIGl0IGRldGVybWluZXMgdGhlIGNhY2hlIGtleSBmb3Igc3RvcmluZyB0aGUgcmVzdWx0IGJhc2VkIG9uIHRoZVxuICogYXJndW1lbnRzIHByb3ZpZGVkIHRvIHRoZSBtZW1vaXplZCBmdW5jdGlvbi4gQnkgZGVmYXVsdCwgdGhlIGZpcnN0IGFyZ3VtZW50XG4gKiBwcm92aWRlZCB0byB0aGUgbWVtb2l6ZWQgZnVuY3Rpb24gaXMgdXNlZCBhcyB0aGUgbWFwIGNhY2hlIGtleS4gVGhlIGBmdW5jYFxuICogaXMgaW52b2tlZCB3aXRoIHRoZSBgdGhpc2AgYmluZGluZyBvZiB0aGUgbWVtb2l6ZWQgZnVuY3Rpb24uXG4gKlxuICogKipOb3RlOioqIFRoZSBjYWNoZSBpcyBleHBvc2VkIGFzIHRoZSBgY2FjaGVgIHByb3BlcnR5IG9uIHRoZSBtZW1vaXplZFxuICogZnVuY3Rpb24uIEl0cyBjcmVhdGlvbiBtYXkgYmUgY3VzdG9taXplZCBieSByZXBsYWNpbmcgdGhlIGBfLm1lbW9pemUuQ2FjaGVgXG4gKiBjb25zdHJ1Y3RvciB3aXRoIG9uZSB3aG9zZSBpbnN0YW5jZXMgaW1wbGVtZW50IHRoZVxuICogW2BNYXBgXShodHRwOi8vZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1wcm9wZXJ0aWVzLW9mLXRoZS1tYXAtcHJvdG90eXBlLW9iamVjdClcbiAqIG1ldGhvZCBpbnRlcmZhY2Ugb2YgYGRlbGV0ZWAsIGBnZXRgLCBgaGFzYCwgYW5kIGBzZXRgLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBGdW5jdGlvblxuICogQHBhcmFtIHtGdW5jdGlvbn0gZnVuYyBUaGUgZnVuY3Rpb24gdG8gaGF2ZSBpdHMgb3V0cHV0IG1lbW9pemVkLlxuICogQHBhcmFtIHtGdW5jdGlvbn0gW3Jlc29sdmVyXSBUaGUgZnVuY3Rpb24gdG8gcmVzb2x2ZSB0aGUgY2FjaGUga2V5LlxuICogQHJldHVybnMge0Z1bmN0aW9ufSBSZXR1cm5zIHRoZSBuZXcgbWVtb2l6ZWQgZnVuY3Rpb24uXG4gKiBAZXhhbXBsZVxuICpcbiAqIHZhciBvYmplY3QgPSB7ICdhJzogMSwgJ2InOiAyIH07XG4gKiB2YXIgb3RoZXIgPSB7ICdjJzogMywgJ2QnOiA0IH07XG4gKlxuICogdmFyIHZhbHVlcyA9IF8ubWVtb2l6ZShfLnZhbHVlcyk7XG4gKiB2YWx1ZXMob2JqZWN0KTtcbiAqIC8vID0+IFsxLCAyXVxuICpcbiAqIHZhbHVlcyhvdGhlcik7XG4gKiAvLyA9PiBbMywgNF1cbiAqXG4gKiBvYmplY3QuYSA9IDI7XG4gKiB2YWx1ZXMob2JqZWN0KTtcbiAqIC8vID0+IFsxLCAyXVxuICpcbiAqIC8vIE1vZGlmeSB0aGUgcmVzdWx0IGNhY2hlLlxuICogdmFsdWVzLmNhY2hlLnNldChvYmplY3QsIFsnYScsICdiJ10pO1xuICogdmFsdWVzKG9iamVjdCk7XG4gKiAvLyA9PiBbJ2EnLCAnYiddXG4gKlxuICogLy8gUmVwbGFjZSBgXy5tZW1vaXplLkNhY2hlYC5cbiAqIF8ubWVtb2l6ZS5DYWNoZSA9IFdlYWtNYXA7XG4gKi9cbmZ1bmN0aW9uIG1lbW9pemUoZnVuYywgcmVzb2x2ZXIpIHtcbiAgaWYgKHR5cGVvZiBmdW5jICE9ICdmdW5jdGlvbicgfHwgKHJlc29sdmVyICYmIHR5cGVvZiByZXNvbHZlciAhPSAnZnVuY3Rpb24nKSkge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoRlVOQ19FUlJPUl9URVhUKTtcbiAgfVxuICB2YXIgbWVtb2l6ZWQgPSBmdW5jdGlvbigpIHtcbiAgICB2YXIgYXJncyA9IGFyZ3VtZW50cyxcbiAgICAgICAga2V5ID0gcmVzb2x2ZXIgPyByZXNvbHZlci5hcHBseSh0aGlzLCBhcmdzKSA6IGFyZ3NbMF0sXG4gICAgICAgIGNhY2hlID0gbWVtb2l6ZWQuY2FjaGU7XG5cbiAgICBpZiAoY2FjaGUuaGFzKGtleSkpIHtcbiAgICAgIHJldHVybiBjYWNoZS5nZXQoa2V5KTtcbiAgICB9XG4gICAgdmFyIHJlc3VsdCA9IGZ1bmMuYXBwbHkodGhpcywgYXJncyk7XG4gICAgbWVtb2l6ZWQuY2FjaGUgPSBjYWNoZS5zZXQoa2V5LCByZXN1bHQpO1xuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG4gIG1lbW9pemVkLmNhY2hlID0gbmV3IChtZW1vaXplLkNhY2hlIHx8IE1hcENhY2hlKTtcbiAgcmV0dXJuIG1lbW9pemVkO1xufVxuXG4vLyBBc3NpZ24gY2FjaGUgdG8gYF8ubWVtb2l6ZWAuXG5tZW1vaXplLkNhY2hlID0gTWFwQ2FjaGU7XG5cbi8qKlxuICogUGVyZm9ybXMgYVxuICogW2BTYW1lVmFsdWVaZXJvYF0oaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNy4wLyNzZWMtc2FtZXZhbHVlemVybylcbiAqIGNvbXBhcmlzb24gYmV0d2VlbiB0d28gdmFsdWVzIHRvIGRldGVybWluZSBpZiB0aGV5IGFyZSBlcXVpdmFsZW50LlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjb21wYXJlLlxuICogQHBhcmFtIHsqfSBvdGhlciBUaGUgb3RoZXIgdmFsdWUgdG8gY29tcGFyZS5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiB0aGUgdmFsdWVzIGFyZSBlcXVpdmFsZW50LCBlbHNlIGBmYWxzZWAuXG4gKiBAZXhhbXBsZVxuICpcbiAqIHZhciBvYmplY3QgPSB7ICdhJzogMSB9O1xuICogdmFyIG90aGVyID0geyAnYSc6IDEgfTtcbiAqXG4gKiBfLmVxKG9iamVjdCwgb2JqZWN0KTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmVxKG9iamVjdCwgb3RoZXIpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmVxKCdhJywgJ2EnKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmVxKCdhJywgT2JqZWN0KCdhJykpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmVxKE5hTiwgTmFOKTtcbiAqIC8vID0+IHRydWVcbiAqL1xuZnVuY3Rpb24gZXEodmFsdWUsIG90aGVyKSB7XG4gIHJldHVybiB2YWx1ZSA9PT0gb3RoZXIgfHwgKHZhbHVlICE9PSB2YWx1ZSAmJiBvdGhlciAhPT0gb3RoZXIpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIGNsYXNzaWZpZWQgYXMgYW4gYEFycmF5YCBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYW4gYXJyYXksIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc0FycmF5KFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0FycmF5KGRvY3VtZW50LmJvZHkuY2hpbGRyZW4pO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzQXJyYXkoJ2FiYycpO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzQXJyYXkoXy5ub29wKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbnZhciBpc0FycmF5ID0gQXJyYXkuaXNBcnJheTtcblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBjbGFzc2lmaWVkIGFzIGEgYEZ1bmN0aW9uYCBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSAwLjEuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBmdW5jdGlvbiwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzRnVuY3Rpb24oXyk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc0Z1bmN0aW9uKC9hYmMvKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWUpIHtcbiAgLy8gVGhlIHVzZSBvZiBgT2JqZWN0I3RvU3RyaW5nYCBhdm9pZHMgaXNzdWVzIHdpdGggdGhlIGB0eXBlb2ZgIG9wZXJhdG9yXG4gIC8vIGluIFNhZmFyaSA4LTkgd2hpY2ggcmV0dXJucyAnb2JqZWN0JyBmb3IgdHlwZWQgYXJyYXkgYW5kIG90aGVyIGNvbnN0cnVjdG9ycy5cbiAgdmFyIHRhZyA9IGlzT2JqZWN0KHZhbHVlKSA/IG9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpIDogJyc7XG4gIHJldHVybiB0YWcgPT0gZnVuY1RhZyB8fCB0YWcgPT0gZ2VuVGFnO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBgdmFsdWVgIGlzIHRoZVxuICogW2xhbmd1YWdlIHR5cGVdKGh0dHA6Ly93d3cuZWNtYS1pbnRlcm5hdGlvbmFsLm9yZy9lY21hLTI2Mi83LjAvI3NlYy1lY21hc2NyaXB0LWxhbmd1YWdlLXR5cGVzKVxuICogb2YgYE9iamVjdGAuIChlLmcuIGFycmF5cywgZnVuY3Rpb25zLCBvYmplY3RzLCByZWdleGVzLCBgbmV3IE51bWJlcigwKWAsIGFuZCBgbmV3IFN0cmluZygnJylgKVxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgMC4xLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIHtib29sZWFufSBSZXR1cm5zIGB0cnVlYCBpZiBgdmFsdWVgIGlzIGFuIG9iamVjdCwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzT2JqZWN0KHt9KTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0KFsxLCAyLCAzXSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdChfLm5vb3ApO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNPYmplY3QobnVsbCk7XG4gKiAvLyA9PiBmYWxzZVxuICovXG5mdW5jdGlvbiBpc09iamVjdCh2YWx1ZSkge1xuICB2YXIgdHlwZSA9IHR5cGVvZiB2YWx1ZTtcbiAgcmV0dXJuICEhdmFsdWUgJiYgKHR5cGUgPT0gJ29iamVjdCcgfHwgdHlwZSA9PSAnZnVuY3Rpb24nKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYHZhbHVlYCBpcyBvYmplY3QtbGlrZS4gQSB2YWx1ZSBpcyBvYmplY3QtbGlrZSBpZiBpdCdzIG5vdCBgbnVsbGBcbiAqIGFuZCBoYXMgYSBgdHlwZW9mYCByZXN1bHQgb2YgXCJvYmplY3RcIi5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDQuMC4wXG4gKiBAY2F0ZWdvcnkgTGFuZ1xuICogQHBhcmFtIHsqfSB2YWx1ZSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyB7Ym9vbGVhbn0gUmV0dXJucyBgdHJ1ZWAgaWYgYHZhbHVlYCBpcyBvYmplY3QtbGlrZSwgZWxzZSBgZmFsc2VgLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZSh7fSk7XG4gKiAvLyA9PiB0cnVlXG4gKlxuICogXy5pc09iamVjdExpa2UoWzEsIDIsIDNdKTtcbiAqIC8vID0+IHRydWVcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZShfLm5vb3ApO1xuICogLy8gPT4gZmFsc2VcbiAqXG4gKiBfLmlzT2JqZWN0TGlrZShudWxsKTtcbiAqIC8vID0+IGZhbHNlXG4gKi9cbmZ1bmN0aW9uIGlzT2JqZWN0TGlrZSh2YWx1ZSkge1xuICByZXR1cm4gISF2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT0gJ29iamVjdCc7XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIGB2YWx1ZWAgaXMgY2xhc3NpZmllZCBhcyBhIGBTeW1ib2xgIHByaW1pdGl2ZSBvciBvYmplY3QuXG4gKlxuICogQHN0YXRpY1xuICogQG1lbWJlck9mIF9cbiAqIEBzaW5jZSA0LjAuMFxuICogQGNhdGVnb3J5IExhbmdcbiAqIEBwYXJhbSB7Kn0gdmFsdWUgVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMge2Jvb2xlYW59IFJldHVybnMgYHRydWVgIGlmIGB2YWx1ZWAgaXMgYSBzeW1ib2wsIGVsc2UgYGZhbHNlYC5cbiAqIEBleGFtcGxlXG4gKlxuICogXy5pc1N5bWJvbChTeW1ib2wuaXRlcmF0b3IpO1xuICogLy8gPT4gdHJ1ZVxuICpcbiAqIF8uaXNTeW1ib2woJ2FiYycpO1xuICogLy8gPT4gZmFsc2VcbiAqL1xuZnVuY3Rpb24gaXNTeW1ib2wodmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PSAnc3ltYm9sJyB8fFxuICAgIChpc09iamVjdExpa2UodmFsdWUpICYmIG9iamVjdFRvU3RyaW5nLmNhbGwodmFsdWUpID09IHN5bWJvbFRhZyk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYHZhbHVlYCB0byBhIHN0cmluZy4gQW4gZW1wdHkgc3RyaW5nIGlzIHJldHVybmVkIGZvciBgbnVsbGBcbiAqIGFuZCBgdW5kZWZpbmVkYCB2YWx1ZXMuIFRoZSBzaWduIG9mIGAtMGAgaXMgcHJlc2VydmVkLlxuICpcbiAqIEBzdGF0aWNcbiAqIEBtZW1iZXJPZiBfXG4gKiBAc2luY2UgNC4wLjBcbiAqIEBjYXRlZ29yeSBMYW5nXG4gKiBAcGFyYW0geyp9IHZhbHVlIFRoZSB2YWx1ZSB0byBwcm9jZXNzLlxuICogQHJldHVybnMge3N0cmluZ30gUmV0dXJucyB0aGUgc3RyaW5nLlxuICogQGV4YW1wbGVcbiAqXG4gKiBfLnRvU3RyaW5nKG51bGwpO1xuICogLy8gPT4gJydcbiAqXG4gKiBfLnRvU3RyaW5nKC0wKTtcbiAqIC8vID0+ICctMCdcbiAqXG4gKiBfLnRvU3RyaW5nKFsxLCAyLCAzXSk7XG4gKiAvLyA9PiAnMSwyLDMnXG4gKi9cbmZ1bmN0aW9uIHRvU3RyaW5nKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZSA9PSBudWxsID8gJycgOiBiYXNlVG9TdHJpbmcodmFsdWUpO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHZhbHVlIGF0IGBwYXRoYCBvZiBgb2JqZWN0YC4gSWYgdGhlIHJlc29sdmVkIHZhbHVlIGlzXG4gKiBgdW5kZWZpbmVkYCwgdGhlIGBkZWZhdWx0VmFsdWVgIGlzIHJldHVybmVkIGluIGl0cyBwbGFjZS5cbiAqXG4gKiBAc3RhdGljXG4gKiBAbWVtYmVyT2YgX1xuICogQHNpbmNlIDMuNy4wXG4gKiBAY2F0ZWdvcnkgT2JqZWN0XG4gKiBAcGFyYW0ge09iamVjdH0gb2JqZWN0IFRoZSBvYmplY3QgdG8gcXVlcnkuXG4gKiBAcGFyYW0ge0FycmF5fHN0cmluZ30gcGF0aCBUaGUgcGF0aCBvZiB0aGUgcHJvcGVydHkgdG8gZ2V0LlxuICogQHBhcmFtIHsqfSBbZGVmYXVsdFZhbHVlXSBUaGUgdmFsdWUgcmV0dXJuZWQgZm9yIGB1bmRlZmluZWRgIHJlc29sdmVkIHZhbHVlcy5cbiAqIEByZXR1cm5zIHsqfSBSZXR1cm5zIHRoZSByZXNvbHZlZCB2YWx1ZS5cbiAqIEBleGFtcGxlXG4gKlxuICogdmFyIG9iamVjdCA9IHsgJ2EnOiBbeyAnYic6IHsgJ2MnOiAzIH0gfV0gfTtcbiAqXG4gKiBfLmdldChvYmplY3QsICdhWzBdLmIuYycpO1xuICogLy8gPT4gM1xuICpcbiAqIF8uZ2V0KG9iamVjdCwgWydhJywgJzAnLCAnYicsICdjJ10pO1xuICogLy8gPT4gM1xuICpcbiAqIF8uZ2V0KG9iamVjdCwgJ2EuYi5jJywgJ2RlZmF1bHQnKTtcbiAqIC8vID0+ICdkZWZhdWx0J1xuICovXG5mdW5jdGlvbiBnZXQob2JqZWN0LCBwYXRoLCBkZWZhdWx0VmFsdWUpIHtcbiAgdmFyIHJlc3VsdCA9IG9iamVjdCA9PSBudWxsID8gdW5kZWZpbmVkIDogYmFzZUdldChvYmplY3QsIHBhdGgpO1xuICByZXR1cm4gcmVzdWx0ID09PSB1bmRlZmluZWQgPyBkZWZhdWx0VmFsdWUgOiByZXN1bHQ7XG59XG5cbm1vZHVsZS5leHBvcnRzID0gZ2V0O1xuIiwgImltcG9ydCBtb2R1bGUgZnJvbSAnbm9kZTptb2R1bGUnO1xuXG5pbXBvcnQgeyB0eXBlIEFwaSwgYXBpIH0gZnJvbSAnQGNvZGVtb2QuY29tL3dvcmtmbG93JztcbmltcG9ydCB0eXBlIHsgSGVscGVycyB9IGZyb20gJ0Bjb2RlbW9kLmNvbS93b3JrZmxvdy9kaXN0L2pzRmFtLmQudHMnO1xuXG5pbXBvcnQgeyBtYXBJbXBvcnRzIH0gZnJvbSAnLi9tYXAtaW1wb3J0cy50cyc7XG5pbXBvcnQgdHlwZSB7IEZTQWJzb2x1dGVQYXRoIH0gZnJvbSAnLi90eXBlcy50cyc7XG5cbmltcG9ydCAqIGFzIGFsaWFzTG9hZGVyIGZyb20gJ0Bub2RlanMtbG9hZGVycy9hbGlhcyc7XG5cblxubW9kdWxlLnJlZ2lzdGVySG9va3MoYWxpYXNMb2FkZXIpO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gd29ya2Zsb3coeyBjb250ZXh0cywgZmlsZXMgfTogQXBpKSB7XG5cdGF3YWl0IGZpbGVzKGdsb2JQYXR0ZXJuKS5qc0ZhbShwcm9jZXNzTW9kdWxlKTtcblxuXHRhc3luYyBmdW5jdGlvbiBwcm9jZXNzTW9kdWxlKHsgYXN0R3JlcCB9OiBIZWxwZXJzKSB7XG5cdFx0Y29uc3QgZmlsZXBhdGggPSBjb250ZXh0cy5nZXRGaWxlQ29udGV4dCgpLmZpbGUgYXMgRlNBYnNvbHV0ZVBhdGg7XG5cblx0XHRhd2FpdCBhc3RHcmVwKHtcblx0XHRcdHJ1bGU6IHtcblx0XHRcdFx0YW55OiBbXG5cdFx0XHRcdFx0eyBraW5kOiAnaW1wb3J0X3N0YXRlbWVudCcgfSxcblx0XHRcdFx0XHR7IGtpbmQ6ICdleHBvcnRfc3RhdGVtZW50JywgaGFzOiB7IGtpbmQ6ICdzdHJpbmcnIH0gfSxcblx0XHRcdFx0XHR7IHBhdHRlcm46ICdpbXBvcnQoXCIkJCRfXCIpJyB9LFxuXHRcdFx0XHRcdHsgcGF0dGVybjogXCJpbXBvcnQoJyQkJF8nKVwiIH0sXG5cdFx0XHRcdF0sXG5cdFx0XHR9LFxuXHRcdH0pLnJlcGxhY2UoYXN5bmMgKHsgZ2V0Tm9kZSB9KSA9PiB7XG5cdFx0XHRjb25zdCBzdGF0ZW1lbnQgPSBnZXROb2RlKCk7XG5cdFx0XHRjb25zdCBpbXBvcnRTcGVjaWZpZXIgPSBzdGF0ZW1lbnQuZmluZCh7XG5cdFx0XHRcdHJ1bGU6IHtcblx0XHRcdFx0XHRraW5kOiAnc3RyaW5nX2ZyYWdtZW50Jyxcblx0XHRcdFx0XHRpbnNpZGU6IHsga2luZDogJ3N0cmluZycgfSxcblx0XHRcdFx0fSxcblx0XHRcdH0pO1xuXG5cdFx0XHRpZiAoIWltcG9ydFNwZWNpZmllcikgcmV0dXJuO1xuXG5cdFx0XHRjb25zdCB7IGlzVHlwZSwgcmVwbGFjZW1lbnQgfSA9IGF3YWl0IG1hcEltcG9ydHMoZmlsZXBhdGgsIGltcG9ydFNwZWNpZmllci50ZXh0KCkpO1xuXG5cdFx0XHRpZiAoIXJlcGxhY2VtZW50KSByZXR1cm47XG5cblx0XHRcdGNvbnN0IGVkaXRzID0gW2ltcG9ydFNwZWNpZmllci5yZXBsYWNlKHJlcGxhY2VtZW50KV07XG5cblx0XHRcdGlmIChpc1R5cGUgJiYgIXN0YXRlbWVudC5jaGlsZHJlbigpLnNvbWUoKG5vZGUpID0+IG5vZGUua2luZCgpID09PSAndHlwZScpKSB7XG5cdFx0XHRcdGNvbnN0IGNsYXVzZSA9IHN0YXRlbWVudC5maW5kKHtcblx0XHRcdFx0XHRydWxlOiB7XG5cdFx0XHRcdFx0XHRhbnk6IFt7IGtpbmQ6ICdpbXBvcnRfY2xhdXNlJyB9LCB7IGtpbmQ6ICdleHBvcnRfY2xhdXNlJyB9XSxcblx0XHRcdFx0XHR9LFxuXHRcdFx0XHR9KTtcblxuXHRcdFx0XHRpZiAoY2xhdXNlKSBlZGl0c1sxXSA9IGNsYXVzZS5yZXBsYWNlKGB0eXBlICR7Y2xhdXNlLnRleHQoKX1gKTtcblx0XHRcdH1cblxuXHRcdFx0cmV0dXJuIHN0YXRlbWVudC5jb21taXRFZGl0cyhlZGl0cyk7XG5cdFx0fSk7XG5cdH1cbn1cblxuY29uc3QgZ2xvYlBhdHRlcm4gPSAnKiovKi57Y2pzLG1qcyxqcyxqc3gsPyhkLiljdHMsPyhkLiltdHMsPyhkLil0cyx0c3h9Jztcblxud29ya2Zsb3coYXBpKTtcbiIsICJ2YXIgbnM9T2JqZWN0LmRlZmluZVByb3BlcnR5O3ZhciBEZT0odD0+dHlwZW9mIHJlcXVpcmU8XCJ1XCI/cmVxdWlyZTp0eXBlb2YgUHJveHk8XCJ1XCI/bmV3IFByb3h5KHQse2dldDooZSxyKT0+KHR5cGVvZiByZXF1aXJlPFwidVwiP3JlcXVpcmU6ZSlbcl19KTp0KShmdW5jdGlvbih0KXtpZih0eXBlb2YgcmVxdWlyZTxcInVcIilyZXR1cm4gcmVxdWlyZS5hcHBseSh0aGlzLGFyZ3VtZW50cyk7dGhyb3cgbmV3IEVycm9yKCdEeW5hbWljIHJlcXVpcmUgb2YgXCInK3QrJ1wiIGlzIG5vdCBzdXBwb3J0ZWQnKX0pO3ZhciBzcz0odCxlKT0+e2Zvcih2YXIgciBpbiBlKW5zKHQscix7Z2V0OmVbcl0sZW51bWVyYWJsZTohMH0pfTt2YXIgWmU9e307c3MoWmUse2FzdEdyZXBOb2RlQ29udGV4dDooKT0+YmUsY3dkQ29udGV4dDooKT0+RyxkZXNjcmliZUNvbnRleHQ6KCk9PnRuLGZpbGVDb250ZXh0OigpPT5wdCxnZXRBc3RHcmVwTm9kZUNvbnRleHQ6KCk9PkwsZ2V0Q29udGV4dHNTbmFwc2hvdDooKT0+SWYsZ2V0Q3dkQ29udGV4dDooKT0+dixnZXREZXNjcmliZUNvbnRleHQ6KCk9PmtmLGdldEZpbGVDb250ZXh0OigpPT5iLGdldEdpdENvbnRleHQ6KCk9Pnp0LGdldFBhcmVudENvbnRleHQ6KCk9PkVmLGdldFBhcmVudEN3ZENvbnRleHQ6KCk9PlFlLGdldFJlcG9zaXRvcmllc0NvbnRleHQ6KCk9Pk9mLGdldFJlcG9zaXRvcnlDb250ZXh0OigpPT5YZSxnaXRDb250ZXh0OigpPT53ZSxtaWdyYXRlQ29udGV4dDooKT0+TGYscGFyZW50Q29udGV4dExlZ2FjeTooKT0+Wm8scGFyZW50Q3dkQ29udGV4dDooKT0+QWUscmVnaXN0ZXJDb250ZXh0OigpPT5RLHJlcG9zaXRvcmllc0NvbnRleHQ6KCk9PmVuLHJlcG9zaXRvcnlDb250ZXh0OigpPT5YfSk7aW1wb3J0e0FzeW5jTG9jYWxTdG9yYWdlIGFzIFZ9ZnJvbVwibm9kZTphc3luY19ob29rc1wiO2ltcG9ydHtpbnZhcmlhbnQgYXMgQnR9ZnJvbVwidHMtaW52YXJpYW50XCI7aW1wb3J0e3NpbXBsZUdpdCBhcyBpc31mcm9tXCJzaW1wbGUtZ2l0XCI7dmFyIHl0PWNsYXNze19jb250ZXh0O2NvbnN0cnVjdG9yKGUpe3RoaXMuX2NvbnRleHQ9ZX1zZXQoZSxyKXt0aGlzLl9jb250ZXh0W2VdPXJ9Z2V0KGUpe3JldHVybiB0aGlzLl9jb250ZXh0W2VdfX07dmFyIHd0PWNsYXNzIGV4dGVuZHMgeXR7Z2V0IHNpbXBsZUdpdCgpe3JldHVybiBpcyh2KCkuY3dkKX1hc3luYyBjaGVja291dCh7YnJhbmNoOmUsZm9yY2U6cn0pe3RyeXthd2FpdCB0aGlzLnNpbXBsZUdpdC5jaGVja291dChlKX1jYXRjaChvKXtpZihyKWF3YWl0IHRoaXMuc2ltcGxlR2l0LmNoZWNrb3V0KFtcIi1iXCIsZV0pO2Vsc2UgdGhyb3cgb319fTtpbXBvcnQgeWUgZnJvbVwiY29sb3JzLWNsaVwiO3ZhciBhcz10eXBlb2YgZ2xvYmFsPT1cIm9iamVjdFwiJiZnbG9iYWwmJmdsb2JhbC5PYmplY3Q9PT1PYmplY3QmJmdsb2JhbCxKdD1hczt2YXIgcHM9dHlwZW9mIHNlbGY9PVwib2JqZWN0XCImJnNlbGYmJnNlbGYuT2JqZWN0PT09T2JqZWN0JiZzZWxmLGZzPUp0fHxwc3x8RnVuY3Rpb24oXCJyZXR1cm4gdGhpc1wiKSgpLEY9ZnM7dmFyIGxzPUYuU3ltYm9sLEk9bHM7dmFyIHByPU9iamVjdC5wcm90b3R5cGUsdXM9cHIuaGFzT3duUHJvcGVydHksY3M9cHIudG9TdHJpbmcsR3Q9ST9JLnRvU3RyaW5nVGFnOnZvaWQgMDtmdW5jdGlvbiBtcyh0KXt2YXIgZT11cy5jYWxsKHQsR3QpLHI9dFtHdF07dHJ5e3RbR3RdPXZvaWQgMDt2YXIgbz0hMH1jYXRjaHt9dmFyIG49Y3MuY2FsbCh0KTtyZXR1cm4gbyYmKGU/dFtHdF09cjpkZWxldGUgdFtHdF0pLG59dmFyIGZyPW1zO3ZhciBkcz1PYmplY3QucHJvdG90eXBlLGdzPWRzLnRvU3RyaW5nO2Z1bmN0aW9uIGhzKHQpe3JldHVybiBncy5jYWxsKHQpfXZhciBscj1oczt2YXIgeHM9XCJbb2JqZWN0IE51bGxdXCIseXM9XCJbb2JqZWN0IFVuZGVmaW5lZF1cIix1cj1JP0kudG9TdHJpbmdUYWc6dm9pZCAwO2Z1bmN0aW9uIHdzKHQpe3JldHVybiB0PT1udWxsP3Q9PT12b2lkIDA/eXM6eHM6dXImJnVyIGluIE9iamVjdCh0KT9mcih0KTpscih0KX12YXIgTT13cztmdW5jdGlvbiBicyh0KXtyZXR1cm4gdCE9bnVsbCYmdHlwZW9mIHQ9PVwib2JqZWN0XCJ9dmFyIEI9YnM7dmFyIEFzPVwiW29iamVjdCBTeW1ib2xdXCI7ZnVuY3Rpb24gX3ModCl7cmV0dXJuIHR5cGVvZiB0PT1cInN5bWJvbFwifHxCKHQpJiZNKHQpPT1Bc312YXIgYnQ9X3M7ZnVuY3Rpb24gQ3ModCxlKXtmb3IodmFyIHI9LTEsbz10PT1udWxsPzA6dC5sZW5ndGgsbj1BcnJheShvKTsrK3I8bzspbltyXT1lKHRbcl0scix0KTtyZXR1cm4gbn12YXIgWXQ9Q3M7dmFyIFBzPUFycmF5LmlzQXJyYXksUz1Qczt2YXIgdnM9MS8wLGNyPUk/SS5wcm90b3R5cGU6dm9pZCAwLG1yPWNyP2NyLnRvU3RyaW5nOnZvaWQgMDtmdW5jdGlvbiBkcih0KXtpZih0eXBlb2YgdD09XCJzdHJpbmdcIilyZXR1cm4gdDtpZihTKHQpKXJldHVybiBZdCh0LGRyKStcIlwiO2lmKGJ0KHQpKXJldHVybiBtcj9tci5jYWxsKHQpOlwiXCI7dmFyIGU9dCtcIlwiO3JldHVybiBlPT1cIjBcIiYmMS90PT0tdnM/XCItMFwiOmV9dmFyIGdyPWRyO2Z1bmN0aW9uIFJzKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiB0IT1udWxsJiYoZT09XCJvYmplY3RcInx8ZT09XCJmdW5jdGlvblwiKX12YXIgej1ScztmdW5jdGlvbiBTcyh0KXtyZXR1cm4gdH12YXIgQXQ9U3M7dmFyIFRzPVwiW29iamVjdCBBc3luY0Z1bmN0aW9uXVwiLEZzPVwiW29iamVjdCBGdW5jdGlvbl1cIixIcz1cIltvYmplY3QgR2VuZXJhdG9yRnVuY3Rpb25dXCIsRXM9XCJbb2JqZWN0IFByb3h5XVwiO2Z1bmN0aW9uIExzKHQpe2lmKCF6KHQpKXJldHVybiExO3ZhciBlPU0odCk7cmV0dXJuIGU9PUZzfHxlPT1Ic3x8ZT09VHN8fGU9PUVzfXZhciBWdD1Mczt2YXIgSXM9RltcIl9fY29yZS1qc19zaGFyZWRfX1wiXSxRdD1Jczt2YXIgaHI9ZnVuY3Rpb24oKXt2YXIgdD0vW14uXSskLy5leGVjKFF0JiZRdC5rZXlzJiZRdC5rZXlzLklFX1BST1RPfHxcIlwiKTtyZXR1cm4gdD9cIlN5bWJvbChzcmMpXzEuXCIrdDpcIlwifSgpO2Z1bmN0aW9uIE9zKHQpe3JldHVybiEhaHImJmhyIGluIHR9dmFyIHhyPU9zO3ZhciBrcz1GdW5jdGlvbi5wcm90b3R5cGUsanM9a3MudG9TdHJpbmc7ZnVuY3Rpb24gRHModCl7aWYodCE9bnVsbCl7dHJ5e3JldHVybiBqcy5jYWxsKHQpfWNhdGNoe310cnl7cmV0dXJuIHQrXCJcIn1jYXRjaHt9fXJldHVyblwiXCJ9dmFyIHR0PURzO3ZhciBHcz0vW1xcXFxeJC4qKz8oKVtcXF17fXxdL2csTnM9L15cXFtvYmplY3QgLis/Q29uc3RydWN0b3JcXF0kLywkcz1GdW5jdGlvbi5wcm90b3R5cGUsTXM9T2JqZWN0LnByb3RvdHlwZSxCcz0kcy50b1N0cmluZyx6cz1Ncy5oYXNPd25Qcm9wZXJ0eSxXcz1SZWdFeHAoXCJeXCIrQnMuY2FsbCh6cykucmVwbGFjZShHcyxcIlxcXFwkJlwiKS5yZXBsYWNlKC9oYXNPd25Qcm9wZXJ0eXwoZnVuY3Rpb24pLio/KD89XFxcXFxcKCl8IGZvciAuKz8oPz1cXFxcXFxdKS9nLFwiJDEuKj9cIikrXCIkXCIpO2Z1bmN0aW9uIEtzKHQpe2lmKCF6KHQpfHx4cih0KSlyZXR1cm4hMTt2YXIgZT1WdCh0KT9XczpOcztyZXR1cm4gZS50ZXN0KHR0KHQpKX12YXIgeXI9S3M7ZnVuY3Rpb24gVXModCxlKXtyZXR1cm4gdD8uW2VdfXZhciB3cj1VcztmdW5jdGlvbiBxcyh0LGUpe3ZhciByPXdyKHQsZSk7cmV0dXJuIHlyKHIpP3I6dm9pZCAwfXZhciBPPXFzO3ZhciBKcz1PKEYsXCJXZWFrTWFwXCIpLFh0PUpzO2Z1bmN0aW9uIFlzKCl7fXZhciBHZT1Zczt2YXIgVnM9ZnVuY3Rpb24oKXt0cnl7dmFyIHQ9TyhPYmplY3QsXCJkZWZpbmVQcm9wZXJ0eVwiKTtyZXR1cm4gdCh7fSxcIlwiLHt9KSx0fWNhdGNoe319KCksTmU9VnM7dmFyIFFzPTkwMDcxOTkyNTQ3NDA5OTEsWHM9L14oPzowfFsxLTldXFxkKikkLztmdW5jdGlvbiBacyh0LGUpe3ZhciByPXR5cGVvZiB0O3JldHVybiBlPWU/P1FzLCEhZSYmKHI9PVwibnVtYmVyXCJ8fHIhPVwic3ltYm9sXCImJlhzLnRlc3QodCkpJiZ0Pi0xJiZ0JTE9PTAmJnQ8ZX12YXIgX3Q9WnM7ZnVuY3Rpb24gdGkodCxlLHIpe2U9PVwiX19wcm90b19fXCImJk5lP05lKHQsZSx7Y29uZmlndXJhYmxlOiEwLGVudW1lcmFibGU6ITAsdmFsdWU6cix3cml0YWJsZTohMH0pOnRbZV09cn12YXIgWnQ9dGk7ZnVuY3Rpb24gZWkodCxlKXtyZXR1cm4gdD09PWV8fHQhPT10JiZlIT09ZX12YXIgQ3Q9ZWk7dmFyIHJpPU9iamVjdC5wcm90b3R5cGUsb2k9cmkuaGFzT3duUHJvcGVydHk7ZnVuY3Rpb24gbmkodCxlLHIpe3ZhciBvPXRbZV07KCEob2kuY2FsbCh0LGUpJiZDdChvLHIpKXx8cj09PXZvaWQgMCYmIShlIGluIHQpKSYmWnQodCxlLHIpfXZhciBicj1uaTt2YXIgc2k9OTAwNzE5OTI1NDc0MDk5MTtmdW5jdGlvbiBpaSh0KXtyZXR1cm4gdHlwZW9mIHQ9PVwibnVtYmVyXCImJnQ+LTEmJnQlMT09MCYmdDw9c2l9dmFyIFB0PWlpO2Z1bmN0aW9uIGFpKHQpe3JldHVybiB0IT1udWxsJiZQdCh0Lmxlbmd0aCkmJiFWdCh0KX12YXIgdGU9YWk7dmFyIHBpPU9iamVjdC5wcm90b3R5cGU7ZnVuY3Rpb24gZmkodCl7dmFyIGU9dCYmdC5jb25zdHJ1Y3RvcixyPXR5cGVvZiBlPT1cImZ1bmN0aW9uXCImJmUucHJvdG90eXBlfHxwaTtyZXR1cm4gdD09PXJ9dmFyIGVlPWZpO2Z1bmN0aW9uIGxpKHQsZSl7Zm9yKHZhciByPS0xLG89QXJyYXkodCk7KytyPHQ7KW9bcl09ZShyKTtyZXR1cm4gb312YXIgQXI9bGk7dmFyIHVpPVwiW29iamVjdCBBcmd1bWVudHNdXCI7ZnVuY3Rpb24gY2kodCl7cmV0dXJuIEIodCkmJk0odCk9PXVpfXZhciAkZT1jaTt2YXIgX3I9T2JqZWN0LnByb3RvdHlwZSxtaT1fci5oYXNPd25Qcm9wZXJ0eSxkaT1fci5wcm9wZXJ0eUlzRW51bWVyYWJsZSxnaT0kZShmdW5jdGlvbigpe3JldHVybiBhcmd1bWVudHN9KCkpPyRlOmZ1bmN0aW9uKHQpe3JldHVybiBCKHQpJiZtaS5jYWxsKHQsXCJjYWxsZWVcIikmJiFkaS5jYWxsKHQsXCJjYWxsZWVcIil9LHZ0PWdpO2Z1bmN0aW9uIGhpKCl7cmV0dXJuITF9dmFyIENyPWhpO3ZhciBScj10eXBlb2YgZXhwb3J0cz09XCJvYmplY3RcIiYmZXhwb3J0cyYmIWV4cG9ydHMubm9kZVR5cGUmJmV4cG9ydHMsUHI9UnImJnR5cGVvZiBtb2R1bGU9PVwib2JqZWN0XCImJm1vZHVsZSYmIW1vZHVsZS5ub2RlVHlwZSYmbW9kdWxlLHhpPVByJiZQci5leHBvcnRzPT09UnIsdnI9eGk/Ri5CdWZmZXI6dm9pZCAwLHlpPXZyP3ZyLmlzQnVmZmVyOnZvaWQgMCx3aT15aXx8Q3IsTnQ9d2k7dmFyIGJpPVwiW29iamVjdCBBcmd1bWVudHNdXCIsQWk9XCJbb2JqZWN0IEFycmF5XVwiLF9pPVwiW29iamVjdCBCb29sZWFuXVwiLENpPVwiW29iamVjdCBEYXRlXVwiLFBpPVwiW29iamVjdCBFcnJvcl1cIix2aT1cIltvYmplY3QgRnVuY3Rpb25dXCIsUmk9XCJbb2JqZWN0IE1hcF1cIixTaT1cIltvYmplY3QgTnVtYmVyXVwiLFRpPVwiW29iamVjdCBPYmplY3RdXCIsRmk9XCJbb2JqZWN0IFJlZ0V4cF1cIixIaT1cIltvYmplY3QgU2V0XVwiLEVpPVwiW29iamVjdCBTdHJpbmddXCIsTGk9XCJbb2JqZWN0IFdlYWtNYXBdXCIsSWk9XCJbb2JqZWN0IEFycmF5QnVmZmVyXVwiLE9pPVwiW29iamVjdCBEYXRhVmlld11cIixraT1cIltvYmplY3QgRmxvYXQzMkFycmF5XVwiLGppPVwiW29iamVjdCBGbG9hdDY0QXJyYXldXCIsRGk9XCJbb2JqZWN0IEludDhBcnJheV1cIixHaT1cIltvYmplY3QgSW50MTZBcnJheV1cIixOaT1cIltvYmplY3QgSW50MzJBcnJheV1cIiwkaT1cIltvYmplY3QgVWludDhBcnJheV1cIixNaT1cIltvYmplY3QgVWludDhDbGFtcGVkQXJyYXldXCIsQmk9XCJbb2JqZWN0IFVpbnQxNkFycmF5XVwiLHppPVwiW29iamVjdCBVaW50MzJBcnJheV1cIixBPXt9O0Fba2ldPUFbamldPUFbRGldPUFbR2ldPUFbTmldPUFbJGldPUFbTWldPUFbQmldPUFbemldPSEwO0FbYmldPUFbQWldPUFbSWldPUFbX2ldPUFbT2ldPUFbQ2ldPUFbUGldPUFbdmldPUFbUmldPUFbU2ldPUFbVGldPUFbRmldPUFbSGldPUFbRWldPUFbTGldPSExO2Z1bmN0aW9uIFdpKHQpe3JldHVybiBCKHQpJiZQdCh0Lmxlbmd0aCkmJiEhQVtNKHQpXX12YXIgU3I9V2k7ZnVuY3Rpb24gS2kodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiB0KGUpfX12YXIgVHI9S2k7dmFyIEZyPXR5cGVvZiBleHBvcnRzPT1cIm9iamVjdFwiJiZleHBvcnRzJiYhZXhwb3J0cy5ub2RlVHlwZSYmZXhwb3J0cywkdD1GciYmdHlwZW9mIG1vZHVsZT09XCJvYmplY3RcIiYmbW9kdWxlJiYhbW9kdWxlLm5vZGVUeXBlJiZtb2R1bGUsVWk9JHQmJiR0LmV4cG9ydHM9PT1GcixNZT1VaSYmSnQucHJvY2VzcyxxaT1mdW5jdGlvbigpe3RyeXt2YXIgdD0kdCYmJHQucmVxdWlyZSYmJHQucmVxdWlyZShcInV0aWxcIikudHlwZXM7cmV0dXJuIHR8fE1lJiZNZS5iaW5kaW5nJiZNZS5iaW5kaW5nKFwidXRpbFwiKX1jYXRjaHt9fSgpLEJlPXFpO3ZhciBIcj1CZSYmQmUuaXNUeXBlZEFycmF5LEppPUhyP1RyKEhyKTpTcixyZT1KaTt2YXIgWWk9T2JqZWN0LnByb3RvdHlwZSxWaT1ZaS5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBRaSh0LGUpe3ZhciByPVModCksbz0hciYmdnQodCksbj0hciYmIW8mJk50KHQpLHM9IXImJiFvJiYhbiYmcmUodCksaT1yfHxvfHxufHxzLGE9aT9Bcih0Lmxlbmd0aCxTdHJpbmcpOltdLHA9YS5sZW5ndGg7Zm9yKHZhciBmIGluIHQpKGV8fFZpLmNhbGwodCxmKSkmJiEoaSYmKGY9PVwibGVuZ3RoXCJ8fG4mJihmPT1cIm9mZnNldFwifHxmPT1cInBhcmVudFwiKXx8cyYmKGY9PVwiYnVmZmVyXCJ8fGY9PVwiYnl0ZUxlbmd0aFwifHxmPT1cImJ5dGVPZmZzZXRcIil8fF90KGYscCkpKSYmYS5wdXNoKGYpO3JldHVybiBhfXZhciBvZT1RaTtmdW5jdGlvbiBYaSh0LGUpe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gdChlKHIpKX19dmFyIG5lPVhpO3ZhciBaaT1uZShPYmplY3Qua2V5cyxPYmplY3QpLEVyPVppO3ZhciB0YT1PYmplY3QucHJvdG90eXBlLGVhPXRhLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIHJhKHQpe2lmKCFlZSh0KSlyZXR1cm4gRXIodCk7dmFyIGU9W107Zm9yKHZhciByIGluIE9iamVjdCh0KSllYS5jYWxsKHQscikmJnIhPVwiY29uc3RydWN0b3JcIiYmZS5wdXNoKHIpO3JldHVybiBlfXZhciBMcj1yYTtmdW5jdGlvbiBvYSh0KXtyZXR1cm4gdGUodCk/b2UodCk6THIodCl9dmFyIFJ0PW9hO2Z1bmN0aW9uIG5hKHQpe3ZhciBlPVtdO2lmKHQhPW51bGwpZm9yKHZhciByIGluIE9iamVjdCh0KSllLnB1c2gocik7cmV0dXJuIGV9dmFyIElyPW5hO3ZhciBzYT1PYmplY3QucHJvdG90eXBlLGlhPXNhLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIGFhKHQpe2lmKCF6KHQpKXJldHVybiBJcih0KTt2YXIgZT1lZSh0KSxyPVtdO2Zvcih2YXIgbyBpbiB0KW89PVwiY29uc3RydWN0b3JcIiYmKGV8fCFpYS5jYWxsKHQsbykpfHxyLnB1c2gobyk7cmV0dXJuIHJ9dmFyIE9yPWFhO2Z1bmN0aW9uIHBhKHQpe3JldHVybiB0ZSh0KT9vZSh0LCEwKTpPcih0KX12YXIga3I9cGE7dmFyIGZhPS9cXC58XFxbKD86W15bXFxdXSp8KFtcIiddKSg/Oig/IVxcMSlbXlxcXFxdfFxcXFwuKSo/XFwxKVxcXS8sbGE9L15cXHcqJC87ZnVuY3Rpb24gdWEodCxlKXtpZihTKHQpKXJldHVybiExO3ZhciByPXR5cGVvZiB0O3JldHVybiByPT1cIm51bWJlclwifHxyPT1cInN5bWJvbFwifHxyPT1cImJvb2xlYW5cInx8dD09bnVsbHx8YnQodCk/ITA6bGEudGVzdCh0KXx8IWZhLnRlc3QodCl8fGUhPW51bGwmJnQgaW4gT2JqZWN0KGUpfXZhciBTdD11YTt2YXIgY2E9TyhPYmplY3QsXCJjcmVhdGVcIiksZXQ9Y2E7ZnVuY3Rpb24gbWEoKXt0aGlzLl9fZGF0YV9fPWV0P2V0KG51bGwpOnt9LHRoaXMuc2l6ZT0wfXZhciBqcj1tYTtmdW5jdGlvbiBkYSh0KXt2YXIgZT10aGlzLmhhcyh0KSYmZGVsZXRlIHRoaXMuX19kYXRhX19bdF07cmV0dXJuIHRoaXMuc2l6ZS09ZT8xOjAsZX12YXIgRHI9ZGE7dmFyIGdhPVwiX19sb2Rhc2hfaGFzaF91bmRlZmluZWRfX1wiLGhhPU9iamVjdC5wcm90b3R5cGUseGE9aGEuaGFzT3duUHJvcGVydHk7ZnVuY3Rpb24geWEodCl7dmFyIGU9dGhpcy5fX2RhdGFfXztpZihldCl7dmFyIHI9ZVt0XTtyZXR1cm4gcj09PWdhP3ZvaWQgMDpyfXJldHVybiB4YS5jYWxsKGUsdCk/ZVt0XTp2b2lkIDB9dmFyIEdyPXlhO3ZhciB3YT1PYmplY3QucHJvdG90eXBlLGJhPXdhLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIEFhKHQpe3ZhciBlPXRoaXMuX19kYXRhX187cmV0dXJuIGV0P2VbdF0hPT12b2lkIDA6YmEuY2FsbChlLHQpfXZhciBOcj1BYTt2YXIgX2E9XCJfX2xvZGFzaF9oYXNoX3VuZGVmaW5lZF9fXCI7ZnVuY3Rpb24gQ2EodCxlKXt2YXIgcj10aGlzLl9fZGF0YV9fO3JldHVybiB0aGlzLnNpemUrPXRoaXMuaGFzKHQpPzA6MSxyW3RdPWV0JiZlPT09dm9pZCAwP19hOmUsdGhpc312YXIgJHI9Q2E7ZnVuY3Rpb24gVHQodCl7dmFyIGU9LTEscj10PT1udWxsPzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8cjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19VHQucHJvdG90eXBlLmNsZWFyPWpyO1R0LnByb3RvdHlwZS5kZWxldGU9RHI7VHQucHJvdG90eXBlLmdldD1HcjtUdC5wcm90b3R5cGUuaGFzPU5yO1R0LnByb3RvdHlwZS5zZXQ9JHI7dmFyIHplPVR0O2Z1bmN0aW9uIFBhKCl7dGhpcy5fX2RhdGFfXz1bXSx0aGlzLnNpemU9MH12YXIgTXI9UGE7ZnVuY3Rpb24gdmEodCxlKXtmb3IodmFyIHI9dC5sZW5ndGg7ci0tOylpZihDdCh0W3JdWzBdLGUpKXJldHVybiByO3JldHVybi0xfXZhciBvdD12YTt2YXIgUmE9QXJyYXkucHJvdG90eXBlLFNhPVJhLnNwbGljZTtmdW5jdGlvbiBUYSh0KXt2YXIgZT10aGlzLl9fZGF0YV9fLHI9b3QoZSx0KTtpZihyPDApcmV0dXJuITE7dmFyIG89ZS5sZW5ndGgtMTtyZXR1cm4gcj09bz9lLnBvcCgpOlNhLmNhbGwoZSxyLDEpLC0tdGhpcy5zaXplLCEwfXZhciBCcj1UYTtmdW5jdGlvbiBGYSh0KXt2YXIgZT10aGlzLl9fZGF0YV9fLHI9b3QoZSx0KTtyZXR1cm4gcjwwP3ZvaWQgMDplW3JdWzFdfXZhciB6cj1GYTtmdW5jdGlvbiBIYSh0KXtyZXR1cm4gb3QodGhpcy5fX2RhdGFfXyx0KT4tMX12YXIgV3I9SGE7ZnVuY3Rpb24gRWEodCxlKXt2YXIgcj10aGlzLl9fZGF0YV9fLG89b3Qocix0KTtyZXR1cm4gbzwwPygrK3RoaXMuc2l6ZSxyLnB1c2goW3QsZV0pKTpyW29dWzFdPWUsdGhpc312YXIgS3I9RWE7ZnVuY3Rpb24gRnQodCl7dmFyIGU9LTEscj10PT1udWxsPzA6dC5sZW5ndGg7Zm9yKHRoaXMuY2xlYXIoKTsrK2U8cjspe3ZhciBvPXRbZV07dGhpcy5zZXQob1swXSxvWzFdKX19RnQucHJvdG90eXBlLmNsZWFyPU1yO0Z0LnByb3RvdHlwZS5kZWxldGU9QnI7RnQucHJvdG90eXBlLmdldD16cjtGdC5wcm90b3R5cGUuaGFzPVdyO0Z0LnByb3RvdHlwZS5zZXQ9S3I7dmFyIG50PUZ0O3ZhciBMYT1PKEYsXCJNYXBcIiksc3Q9TGE7ZnVuY3Rpb24gSWEoKXt0aGlzLnNpemU9MCx0aGlzLl9fZGF0YV9fPXtoYXNoOm5ldyB6ZSxtYXA6bmV3KHN0fHxudCksc3RyaW5nOm5ldyB6ZX19dmFyIFVyPUlhO2Z1bmN0aW9uIE9hKHQpe3ZhciBlPXR5cGVvZiB0O3JldHVybiBlPT1cInN0cmluZ1wifHxlPT1cIm51bWJlclwifHxlPT1cInN5bWJvbFwifHxlPT1cImJvb2xlYW5cIj90IT09XCJfX3Byb3RvX19cIjp0PT09bnVsbH12YXIgcXI9T2E7ZnVuY3Rpb24ga2EodCxlKXt2YXIgcj10Ll9fZGF0YV9fO3JldHVybiBxcihlKT9yW3R5cGVvZiBlPT1cInN0cmluZ1wiP1wic3RyaW5nXCI6XCJoYXNoXCJdOnIubWFwfXZhciBpdD1rYTtmdW5jdGlvbiBqYSh0KXt2YXIgZT1pdCh0aGlzLHQpLmRlbGV0ZSh0KTtyZXR1cm4gdGhpcy5zaXplLT1lPzE6MCxlfXZhciBKcj1qYTtmdW5jdGlvbiBEYSh0KXtyZXR1cm4gaXQodGhpcyx0KS5nZXQodCl9dmFyIFlyPURhO2Z1bmN0aW9uIEdhKHQpe3JldHVybiBpdCh0aGlzLHQpLmhhcyh0KX12YXIgVnI9R2E7ZnVuY3Rpb24gTmEodCxlKXt2YXIgcj1pdCh0aGlzLHQpLG89ci5zaXplO3JldHVybiByLnNldCh0LGUpLHRoaXMuc2l6ZSs9ci5zaXplPT1vPzA6MSx0aGlzfXZhciBRcj1OYTtmdW5jdGlvbiBIdCh0KXt2YXIgZT0tMSxyPXQ9PW51bGw/MDp0Lmxlbmd0aDtmb3IodGhpcy5jbGVhcigpOysrZTxyOyl7dmFyIG89dFtlXTt0aGlzLnNldChvWzBdLG9bMV0pfX1IdC5wcm90b3R5cGUuY2xlYXI9VXI7SHQucHJvdG90eXBlLmRlbGV0ZT1KcjtIdC5wcm90b3R5cGUuZ2V0PVlyO0h0LnByb3RvdHlwZS5oYXM9VnI7SHQucHJvdG90eXBlLnNldD1Rcjt2YXIgbXQ9SHQ7dmFyICRhPVwiRXhwZWN0ZWQgYSBmdW5jdGlvblwiO2Z1bmN0aW9uIFdlKHQsZSl7aWYodHlwZW9mIHQhPVwiZnVuY3Rpb25cInx8ZSE9bnVsbCYmdHlwZW9mIGUhPVwiZnVuY3Rpb25cIil0aHJvdyBuZXcgVHlwZUVycm9yKCRhKTt2YXIgcj1mdW5jdGlvbigpe3ZhciBvPWFyZ3VtZW50cyxuPWU/ZS5hcHBseSh0aGlzLG8pOm9bMF0scz1yLmNhY2hlO2lmKHMuaGFzKG4pKXJldHVybiBzLmdldChuKTt2YXIgaT10LmFwcGx5KHRoaXMsbyk7cmV0dXJuIHIuY2FjaGU9cy5zZXQobixpKXx8cyxpfTtyZXR1cm4gci5jYWNoZT1uZXcoV2UuQ2FjaGV8fG10KSxyfVdlLkNhY2hlPW10O3ZhciBEPVdlO3ZhciBNYT01MDA7ZnVuY3Rpb24gQmEodCl7dmFyIGU9RCh0LGZ1bmN0aW9uKG8pe3JldHVybiByLnNpemU9PT1NYSYmci5jbGVhcigpLG99KSxyPWUuY2FjaGU7cmV0dXJuIGV9dmFyIFhyPUJhO3ZhciB6YT0vW14uW1xcXV0rfFxcWyg/OigtP1xcZCsoPzpcXC5cXGQrKT8pfChbXCInXSkoKD86KD8hXFwyKVteXFxcXF18XFxcXC4pKj8pXFwyKVxcXXwoPz0oPzpcXC58XFxbXFxdKSg/OlxcLnxcXFtcXF18JCkpL2csV2E9L1xcXFwoXFxcXCk/L2csS2E9WHIoZnVuY3Rpb24odCl7dmFyIGU9W107cmV0dXJuIHQuY2hhckNvZGVBdCgwKT09PTQ2JiZlLnB1c2goXCJcIiksdC5yZXBsYWNlKHphLGZ1bmN0aW9uKHIsbyxuLHMpe2UucHVzaChuP3MucmVwbGFjZShXYSxcIiQxXCIpOm98fHIpfSksZX0pLFpyPUthO2Z1bmN0aW9uIFVhKHQpe3JldHVybiB0PT1udWxsP1wiXCI6Z3IodCl9dmFyIHRvPVVhO2Z1bmN0aW9uIHFhKHQsZSl7cmV0dXJuIFModCk/dDpTdCh0LGUpP1t0XTpacih0byh0KSl9dmFyIGF0PXFhO3ZhciBKYT0xLzA7ZnVuY3Rpb24gWWEodCl7aWYodHlwZW9mIHQ9PVwic3RyaW5nXCJ8fGJ0KHQpKXJldHVybiB0O3ZhciBlPXQrXCJcIjtyZXR1cm4gZT09XCIwXCImJjEvdD09LUphP1wiLTBcIjplfXZhciBZPVlhO2Z1bmN0aW9uIFZhKHQsZSl7ZT1hdChlLHQpO2Zvcih2YXIgcj0wLG89ZS5sZW5ndGg7dCE9bnVsbCYmcjxvOyl0PXRbWShlW3IrK10pXTtyZXR1cm4gciYmcj09bz90OnZvaWQgMH12YXIgRXQ9VmE7ZnVuY3Rpb24gUWEodCxlLHIpe3ZhciBvPXQ9PW51bGw/dm9pZCAwOkV0KHQsZSk7cmV0dXJuIG89PT12b2lkIDA/cjpvfXZhciBlbz1RYTtmdW5jdGlvbiBYYSh0LGUpe2Zvcih2YXIgcj0tMSxvPWUubGVuZ3RoLG49dC5sZW5ndGg7KytyPG87KXRbbityXT1lW3JdO3JldHVybiB0fXZhciBMdD1YYTt2YXIgcm89ST9JLmlzQ29uY2F0U3ByZWFkYWJsZTp2b2lkIDA7ZnVuY3Rpb24gWmEodCl7cmV0dXJuIFModCl8fHZ0KHQpfHwhIShybyYmdCYmdFtyb10pfXZhciBvbz1aYTtmdW5jdGlvbiBubyh0LGUscixvLG4pe3ZhciBzPS0xLGk9dC5sZW5ndGg7Zm9yKHJ8fChyPW9vKSxufHwobj1bXSk7KytzPGk7KXt2YXIgYT10W3NdO2U+MCYmcihhKT9lPjE/bm8oYSxlLTEscixvLG4pOkx0KG4sYSk6b3x8KG5bbi5sZW5ndGhdPWEpfXJldHVybiBufXZhciBzbz1ubzt2YXIgdHA9bmUoT2JqZWN0LmdldFByb3RvdHlwZU9mLE9iamVjdCksaW89dHA7ZnVuY3Rpb24gZXAoKXt0aGlzLl9fZGF0YV9fPW5ldyBudCx0aGlzLnNpemU9MH12YXIgYW89ZXA7ZnVuY3Rpb24gcnAodCl7dmFyIGU9dGhpcy5fX2RhdGFfXyxyPWUuZGVsZXRlKHQpO3JldHVybiB0aGlzLnNpemU9ZS5zaXplLHJ9dmFyIHBvPXJwO2Z1bmN0aW9uIG9wKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmdldCh0KX12YXIgZm89b3A7ZnVuY3Rpb24gbnAodCl7cmV0dXJuIHRoaXMuX19kYXRhX18uaGFzKHQpfXZhciBsbz1ucDt2YXIgc3A9MjAwO2Z1bmN0aW9uIGlwKHQsZSl7dmFyIHI9dGhpcy5fX2RhdGFfXztpZihyIGluc3RhbmNlb2YgbnQpe3ZhciBvPXIuX19kYXRhX187aWYoIXN0fHxvLmxlbmd0aDxzcC0xKXJldHVybiBvLnB1c2goW3QsZV0pLHRoaXMuc2l6ZT0rK3Iuc2l6ZSx0aGlzO3I9dGhpcy5fX2RhdGFfXz1uZXcgbXQobyl9cmV0dXJuIHIuc2V0KHQsZSksdGhpcy5zaXplPXIuc2l6ZSx0aGlzfXZhciB1bz1pcDtmdW5jdGlvbiBJdCh0KXt2YXIgZT10aGlzLl9fZGF0YV9fPW5ldyBudCh0KTt0aGlzLnNpemU9ZS5zaXplfUl0LnByb3RvdHlwZS5jbGVhcj1hbztJdC5wcm90b3R5cGUuZGVsZXRlPXBvO0l0LnByb3RvdHlwZS5nZXQ9Zm87SXQucHJvdG90eXBlLmhhcz1sbztJdC5wcm90b3R5cGUuc2V0PXVvO3ZhciBPdD1JdDtmdW5jdGlvbiBhcCh0LGUpe2Zvcih2YXIgcj0tMSxvPXQ9PW51bGw/MDp0Lmxlbmd0aCxuPTAscz1bXTsrK3I8bzspe3ZhciBpPXRbcl07ZShpLHIsdCkmJihzW24rK109aSl9cmV0dXJuIHN9dmFyIGNvPWFwO2Z1bmN0aW9uIHBwKCl7cmV0dXJuW119dmFyIHNlPXBwO3ZhciBmcD1PYmplY3QucHJvdG90eXBlLGxwPWZwLnByb3BlcnR5SXNFbnVtZXJhYmxlLG1vPU9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMsdXA9bW8/ZnVuY3Rpb24odCl7cmV0dXJuIHQ9PW51bGw/W106KHQ9T2JqZWN0KHQpLGNvKG1vKHQpLGZ1bmN0aW9uKGUpe3JldHVybiBscC5jYWxsKHQsZSl9KSl9OnNlLGllPXVwO3ZhciBjcD1PYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzLG1wPWNwP2Z1bmN0aW9uKHQpe2Zvcih2YXIgZT1bXTt0OylMdChlLGllKHQpKSx0PWlvKHQpO3JldHVybiBlfTpzZSxnbz1tcDtmdW5jdGlvbiBkcCh0LGUscil7dmFyIG89ZSh0KTtyZXR1cm4gUyh0KT9vOkx0KG8scih0KSl9dmFyIGFlPWRwO2Z1bmN0aW9uIGdwKHQpe3JldHVybiBhZSh0LFJ0LGllKX12YXIgS2U9Z3A7ZnVuY3Rpb24gaHAodCl7cmV0dXJuIGFlKHQsa3IsZ28pfXZhciBobz1ocDt2YXIgeHA9TyhGLFwiRGF0YVZpZXdcIikscGU9eHA7dmFyIHlwPU8oRixcIlByb21pc2VcIiksZmU9eXA7dmFyIHdwPU8oRixcIlNldFwiKSxsZT13cDt2YXIgeG89XCJbb2JqZWN0IE1hcF1cIixicD1cIltvYmplY3QgT2JqZWN0XVwiLHlvPVwiW29iamVjdCBQcm9taXNlXVwiLHdvPVwiW29iamVjdCBTZXRdXCIsYm89XCJbb2JqZWN0IFdlYWtNYXBdXCIsQW89XCJbb2JqZWN0IERhdGFWaWV3XVwiLEFwPXR0KHBlKSxfcD10dChzdCksQ3A9dHQoZmUpLFBwPXR0KGxlKSx2cD10dChYdCksZHQ9TTsocGUmJmR0KG5ldyBwZShuZXcgQXJyYXlCdWZmZXIoMSkpKSE9QW98fHN0JiZkdChuZXcgc3QpIT14b3x8ZmUmJmR0KGZlLnJlc29sdmUoKSkhPXlvfHxsZSYmZHQobmV3IGxlKSE9d298fFh0JiZkdChuZXcgWHQpIT1ibykmJihkdD1mdW5jdGlvbih0KXt2YXIgZT1NKHQpLHI9ZT09YnA/dC5jb25zdHJ1Y3Rvcjp2b2lkIDAsbz1yP3R0KHIpOlwiXCI7aWYobylzd2l0Y2gobyl7Y2FzZSBBcDpyZXR1cm4gQW87Y2FzZSBfcDpyZXR1cm4geG87Y2FzZSBDcDpyZXR1cm4geW87Y2FzZSBQcDpyZXR1cm4gd287Y2FzZSB2cDpyZXR1cm4gYm99cmV0dXJuIGV9KTt2YXIgVWU9ZHQ7dmFyIFJwPUYuVWludDhBcnJheSxxZT1ScDt2YXIgU3A9XCJfX2xvZGFzaF9oYXNoX3VuZGVmaW5lZF9fXCI7ZnVuY3Rpb24gVHAodCl7cmV0dXJuIHRoaXMuX19kYXRhX18uc2V0KHQsU3ApLHRoaXN9dmFyIF9vPVRwO2Z1bmN0aW9uIEZwKHQpe3JldHVybiB0aGlzLl9fZGF0YV9fLmhhcyh0KX12YXIgQ289RnA7ZnVuY3Rpb24gdWUodCl7dmFyIGU9LTEscj10PT1udWxsPzA6dC5sZW5ndGg7Zm9yKHRoaXMuX19kYXRhX189bmV3IG10OysrZTxyOyl0aGlzLmFkZCh0W2VdKX11ZS5wcm90b3R5cGUuYWRkPXVlLnByb3RvdHlwZS5wdXNoPV9vO3VlLnByb3RvdHlwZS5oYXM9Q287dmFyIFBvPXVlO2Z1bmN0aW9uIEhwKHQsZSl7Zm9yKHZhciByPS0xLG89dD09bnVsbD8wOnQubGVuZ3RoOysrcjxvOylpZihlKHRbcl0scix0KSlyZXR1cm4hMDtyZXR1cm4hMX12YXIgdm89SHA7ZnVuY3Rpb24gRXAodCxlKXtyZXR1cm4gdC5oYXMoZSl9dmFyIFJvPUVwO3ZhciBMcD0xLElwPTI7ZnVuY3Rpb24gT3AodCxlLHIsbyxuLHMpe3ZhciBpPXImTHAsYT10Lmxlbmd0aCxwPWUubGVuZ3RoO2lmKGEhPXAmJiEoaSYmcD5hKSlyZXR1cm4hMTt2YXIgZj1zLmdldCh0KSxsPXMuZ2V0KGUpO2lmKGYmJmwpcmV0dXJuIGY9PWUmJmw9PXQ7dmFyIHU9LTEsZD0hMCxoPXImSXA/bmV3IFBvOnZvaWQgMDtmb3Iocy5zZXQodCxlKSxzLnNldChlLHQpOysrdTxhOyl7dmFyIGc9dFt1XSx5PWVbdV07aWYobyl2YXIgQz1pP28oeSxnLHUsZSx0LHMpOm8oZyx5LHUsdCxlLHMpO2lmKEMhPT12b2lkIDApe2lmKEMpY29udGludWU7ZD0hMTticmVha31pZihoKXtpZighdm8oZSxmdW5jdGlvbihILHcpe2lmKCFSbyhoLHcpJiYoZz09PUh8fG4oZyxILHIsbyxzKSkpcmV0dXJuIGgucHVzaCh3KX0pKXtkPSExO2JyZWFrfX1lbHNlIGlmKCEoZz09PXl8fG4oZyx5LHIsbyxzKSkpe2Q9ITE7YnJlYWt9fXJldHVybiBzLmRlbGV0ZSh0KSxzLmRlbGV0ZShlKSxkfXZhciBjZT1PcDtmdW5jdGlvbiBrcCh0KXt2YXIgZT0tMSxyPUFycmF5KHQuc2l6ZSk7cmV0dXJuIHQuZm9yRWFjaChmdW5jdGlvbihvLG4pe3JbKytlXT1bbixvXX0pLHJ9dmFyIFNvPWtwO2Z1bmN0aW9uIGpwKHQpe3ZhciBlPS0xLHI9QXJyYXkodC5zaXplKTtyZXR1cm4gdC5mb3JFYWNoKGZ1bmN0aW9uKG8pe3JbKytlXT1vfSkscn12YXIgVG89anA7dmFyIERwPTEsR3A9MixOcD1cIltvYmplY3QgQm9vbGVhbl1cIiwkcD1cIltvYmplY3QgRGF0ZV1cIixNcD1cIltvYmplY3QgRXJyb3JdXCIsQnA9XCJbb2JqZWN0IE1hcF1cIix6cD1cIltvYmplY3QgTnVtYmVyXVwiLFdwPVwiW29iamVjdCBSZWdFeHBdXCIsS3A9XCJbb2JqZWN0IFNldF1cIixVcD1cIltvYmplY3QgU3RyaW5nXVwiLHFwPVwiW29iamVjdCBTeW1ib2xdXCIsSnA9XCJbb2JqZWN0IEFycmF5QnVmZmVyXVwiLFlwPVwiW29iamVjdCBEYXRhVmlld11cIixGbz1JP0kucHJvdG90eXBlOnZvaWQgMCxKZT1Gbz9Gby52YWx1ZU9mOnZvaWQgMDtmdW5jdGlvbiBWcCh0LGUscixvLG4scyxpKXtzd2l0Y2gocil7Y2FzZSBZcDppZih0LmJ5dGVMZW5ndGghPWUuYnl0ZUxlbmd0aHx8dC5ieXRlT2Zmc2V0IT1lLmJ5dGVPZmZzZXQpcmV0dXJuITE7dD10LmJ1ZmZlcixlPWUuYnVmZmVyO2Nhc2UgSnA6cmV0dXJuISh0LmJ5dGVMZW5ndGghPWUuYnl0ZUxlbmd0aHx8IXMobmV3IHFlKHQpLG5ldyBxZShlKSkpO2Nhc2UgTnA6Y2FzZSAkcDpjYXNlIHpwOnJldHVybiBDdCgrdCwrZSk7Y2FzZSBNcDpyZXR1cm4gdC5uYW1lPT1lLm5hbWUmJnQubWVzc2FnZT09ZS5tZXNzYWdlO2Nhc2UgV3A6Y2FzZSBVcDpyZXR1cm4gdD09ZStcIlwiO2Nhc2UgQnA6dmFyIGE9U287Y2FzZSBLcDp2YXIgcD1vJkRwO2lmKGF8fChhPVRvKSx0LnNpemUhPWUuc2l6ZSYmIXApcmV0dXJuITE7dmFyIGY9aS5nZXQodCk7aWYoZilyZXR1cm4gZj09ZTtvfD1HcCxpLnNldCh0LGUpO3ZhciBsPWNlKGEodCksYShlKSxvLG4scyxpKTtyZXR1cm4gaS5kZWxldGUodCksbDtjYXNlIHFwOmlmKEplKXJldHVybiBKZS5jYWxsKHQpPT1KZS5jYWxsKGUpfXJldHVybiExfXZhciBIbz1WcDt2YXIgUXA9MSxYcD1PYmplY3QucHJvdG90eXBlLFpwPVhwLmhhc093blByb3BlcnR5O2Z1bmN0aW9uIHRmKHQsZSxyLG8sbixzKXt2YXIgaT1yJlFwLGE9S2UodCkscD1hLmxlbmd0aCxmPUtlKGUpLGw9Zi5sZW5ndGg7aWYocCE9bCYmIWkpcmV0dXJuITE7Zm9yKHZhciB1PXA7dS0tOyl7dmFyIGQ9YVt1XTtpZighKGk/ZCBpbiBlOlpwLmNhbGwoZSxkKSkpcmV0dXJuITF9dmFyIGg9cy5nZXQodCksZz1zLmdldChlKTtpZihoJiZnKXJldHVybiBoPT1lJiZnPT10O3ZhciB5PSEwO3Muc2V0KHQsZSkscy5zZXQoZSx0KTtmb3IodmFyIEM9aTsrK3U8cDspe2Q9YVt1XTt2YXIgSD10W2RdLHc9ZVtkXTtpZihvKXZhciBQPWk/byh3LEgsZCxlLHQscyk6byhILHcsZCx0LGUscyk7aWYoIShQPT09dm9pZCAwP0g9PT13fHxuKEgsdyxyLG8scyk6UCkpe3k9ITE7YnJlYWt9Q3x8KEM9ZD09XCJjb25zdHJ1Y3RvclwiKX1pZih5JiYhQyl7dmFyIEU9dC5jb25zdHJ1Y3RvcixSPWUuY29uc3RydWN0b3I7RSE9UiYmXCJjb25zdHJ1Y3RvclwiaW4gdCYmXCJjb25zdHJ1Y3RvclwiaW4gZSYmISh0eXBlb2YgRT09XCJmdW5jdGlvblwiJiZFIGluc3RhbmNlb2YgRSYmdHlwZW9mIFI9PVwiZnVuY3Rpb25cIiYmUiBpbnN0YW5jZW9mIFIpJiYoeT0hMSl9cmV0dXJuIHMuZGVsZXRlKHQpLHMuZGVsZXRlKGUpLHl9dmFyIEVvPXRmO3ZhciBlZj0xLExvPVwiW29iamVjdCBBcmd1bWVudHNdXCIsSW89XCJbb2JqZWN0IEFycmF5XVwiLG1lPVwiW29iamVjdCBPYmplY3RdXCIscmY9T2JqZWN0LnByb3RvdHlwZSxPbz1yZi5oYXNPd25Qcm9wZXJ0eTtmdW5jdGlvbiBvZih0LGUscixvLG4scyl7dmFyIGk9Uyh0KSxhPVMoZSkscD1pP0lvOlVlKHQpLGY9YT9JbzpVZShlKTtwPXA9PUxvP21lOnAsZj1mPT1Mbz9tZTpmO3ZhciBsPXA9PW1lLHU9Zj09bWUsZD1wPT1mO2lmKGQmJk50KHQpKXtpZighTnQoZSkpcmV0dXJuITE7aT0hMCxsPSExfWlmKGQmJiFsKXJldHVybiBzfHwocz1uZXcgT3QpLGl8fHJlKHQpP2NlKHQsZSxyLG8sbixzKTpIbyh0LGUscCxyLG8sbixzKTtpZighKHImZWYpKXt2YXIgaD1sJiZPby5jYWxsKHQsXCJfX3dyYXBwZWRfX1wiKSxnPXUmJk9vLmNhbGwoZSxcIl9fd3JhcHBlZF9fXCIpO2lmKGh8fGcpe3ZhciB5PWg/dC52YWx1ZSgpOnQsQz1nP2UudmFsdWUoKTplO3JldHVybiBzfHwocz1uZXcgT3QpLG4oeSxDLHIsbyxzKX19cmV0dXJuIGQ/KHN8fChzPW5ldyBPdCksRW8odCxlLHIsbyxuLHMpKTohMX12YXIga289b2Y7ZnVuY3Rpb24gam8odCxlLHIsbyxuKXtyZXR1cm4gdD09PWU/ITA6dD09bnVsbHx8ZT09bnVsbHx8IUIodCkmJiFCKGUpP3QhPT10JiZlIT09ZTprbyh0LGUscixvLGpvLG4pfXZhciBkZT1qbzt2YXIgbmY9MSxzZj0yO2Z1bmN0aW9uIGFmKHQsZSxyLG8pe3ZhciBuPXIubGVuZ3RoLHM9bixpPSFvO2lmKHQ9PW51bGwpcmV0dXJuIXM7Zm9yKHQ9T2JqZWN0KHQpO24tLTspe3ZhciBhPXJbbl07aWYoaSYmYVsyXT9hWzFdIT09dFthWzBdXTohKGFbMF1pbiB0KSlyZXR1cm4hMX1mb3IoOysrbjxzOyl7YT1yW25dO3ZhciBwPWFbMF0sZj10W3BdLGw9YVsxXTtpZihpJiZhWzJdKXtpZihmPT09dm9pZCAwJiYhKHAgaW4gdCkpcmV0dXJuITF9ZWxzZXt2YXIgdT1uZXcgT3Q7aWYobyl2YXIgZD1vKGYsbCxwLHQsZSx1KTtpZighKGQ9PT12b2lkIDA/ZGUobCxmLG5mfHNmLG8sdSk6ZCkpcmV0dXJuITF9fXJldHVybiEwfXZhciBEbz1hZjtmdW5jdGlvbiBwZih0KXtyZXR1cm4gdD09PXQmJiF6KHQpfXZhciBnZT1wZjtmdW5jdGlvbiBmZih0KXtmb3IodmFyIGU9UnQodCkscj1lLmxlbmd0aDtyLS07KXt2YXIgbz1lW3JdLG49dFtvXTtlW3JdPVtvLG4sZ2UobildfXJldHVybiBlfXZhciBHbz1mZjtmdW5jdGlvbiBsZih0LGUpe3JldHVybiBmdW5jdGlvbihyKXtyZXR1cm4gcj09bnVsbD8hMTpyW3RdPT09ZSYmKGUhPT12b2lkIDB8fHQgaW4gT2JqZWN0KHIpKX19dmFyIGhlPWxmO2Z1bmN0aW9uIHVmKHQpe3ZhciBlPUdvKHQpO3JldHVybiBlLmxlbmd0aD09MSYmZVswXVsyXT9oZShlWzBdWzBdLGVbMF1bMV0pOmZ1bmN0aW9uKHIpe3JldHVybiByPT09dHx8RG8ocix0LGUpfX12YXIgTm89dWY7ZnVuY3Rpb24gY2YodCxlKXtyZXR1cm4gdCE9bnVsbCYmZSBpbiBPYmplY3QodCl9dmFyICRvPWNmO2Z1bmN0aW9uIG1mKHQsZSxyKXtlPWF0KGUsdCk7Zm9yKHZhciBvPS0xLG49ZS5sZW5ndGgscz0hMTsrK288bjspe3ZhciBpPVkoZVtvXSk7aWYoIShzPXQhPW51bGwmJnIodCxpKSkpYnJlYWs7dD10W2ldfXJldHVybiBzfHwrK28hPW4/czoobj10PT1udWxsPzA6dC5sZW5ndGgsISFuJiZQdChuKSYmX3QoaSxuKSYmKFModCl8fHZ0KHQpKSl9dmFyIE1vPW1mO2Z1bmN0aW9uIGRmKHQsZSl7cmV0dXJuIHQhPW51bGwmJk1vKHQsZSwkbyl9dmFyIEJvPWRmO3ZhciBnZj0xLGhmPTI7ZnVuY3Rpb24geGYodCxlKXtyZXR1cm4gU3QodCkmJmdlKGUpP2hlKFkodCksZSk6ZnVuY3Rpb24ocil7dmFyIG89ZW8ocix0KTtyZXR1cm4gbz09PXZvaWQgMCYmbz09PWU/Qm8ocix0KTpkZShlLG8sZ2Z8aGYpfX12YXIgem89eGY7ZnVuY3Rpb24geWYodCl7cmV0dXJuIGZ1bmN0aW9uKGUpe3JldHVybiBlPy5bdF19fXZhciBXbz15ZjtmdW5jdGlvbiB3Zih0KXtyZXR1cm4gZnVuY3Rpb24oZSl7cmV0dXJuIEV0KGUsdCl9fXZhciBLbz13ZjtmdW5jdGlvbiBiZih0KXtyZXR1cm4gU3QodCk/V28oWSh0KSk6S28odCl9dmFyIFVvPWJmO2Z1bmN0aW9uIEFmKHQpe3JldHVybiB0eXBlb2YgdD09XCJmdW5jdGlvblwiP3Q6dD09bnVsbD9BdDp0eXBlb2YgdD09XCJvYmplY3RcIj9TKHQpP3pvKHRbMF0sdFsxXSk6Tm8odCk6VW8odCl9dmFyIHhlPUFmO2Z1bmN0aW9uIF9mKHQpe3JldHVybiBmdW5jdGlvbihlLHIsbyl7Zm9yKHZhciBuPS0xLHM9T2JqZWN0KGUpLGk9byhlKSxhPWkubGVuZ3RoO2EtLTspe3ZhciBwPWlbdD9hOisrbl07aWYocihzW3BdLHAscyk9PT0hMSlicmVha31yZXR1cm4gZX19dmFyIHFvPV9mO3ZhciBDZj1xbygpLEpvPUNmO2Z1bmN0aW9uIFBmKHQsZSl7cmV0dXJuIHQmJkpvKHQsZSxSdCl9dmFyIFlvPVBmO3ZhciB2Zj0xLzA7ZnVuY3Rpb24gUmYodCl7dmFyIGU9dD09bnVsbD8wOnQubGVuZ3RoO3JldHVybiBlP3NvKHQsdmYpOltdfXZhciBZZT1SZjtmdW5jdGlvbiBTZih0LGUpe3ZhciByPXt9O3JldHVybiBlPXhlKGUsMyksWW8odCxmdW5jdGlvbihvLG4scyl7WnQocixuLGUobyxuLHMpKX0pLHJ9dmFyIGd0PVNmO2Z1bmN0aW9uIFRmKHQsZSxyLG8pe2lmKCF6KHQpKXJldHVybiB0O2U9YXQoZSx0KTtmb3IodmFyIG49LTEscz1lLmxlbmd0aCxpPXMtMSxhPXQ7YSE9bnVsbCYmKytuPHM7KXt2YXIgcD1ZKGVbbl0pLGY9cjtpZihwPT09XCJfX3Byb3RvX19cInx8cD09PVwiY29uc3RydWN0b3JcInx8cD09PVwicHJvdG90eXBlXCIpcmV0dXJuIHQ7aWYobiE9aSl7dmFyIGw9YVtwXTtmPW8/byhsLHAsYSk6dm9pZCAwLGY9PT12b2lkIDAmJihmPXoobCk/bDpfdChlW24rMV0pP1tdOnt9KX1icihhLHAsZiksYT1hW3BdfXJldHVybiB0fXZhciBWbz1UZjtmdW5jdGlvbiBGZih0LGUscil7Zm9yKHZhciBvPS0xLG49ZS5sZW5ndGgscz17fTsrK288bjspe3ZhciBpPWVbb10sYT1FdCh0LGkpO3IoYSxpKSYmVm8ocyxhdChpLHQpLGEpfXJldHVybiBzfXZhciBRbz1GZjtmdW5jdGlvbiBIZih0LGUpe2lmKHQ9PW51bGwpcmV0dXJue307dmFyIHI9WXQoaG8odCksZnVuY3Rpb24obyl7cmV0dXJuW29dfSk7cmV0dXJuIGU9eGUoZSksUW8odCxyLGZ1bmN0aW9uKG8sbil7cmV0dXJuIGUobyxuWzBdKX0pfXZhciBWZT1IZjsvKipcbiAqIEBsaWNlbnNlXG4gKiBMb2Rhc2ggKEN1c3RvbSBCdWlsZCkgPGh0dHBzOi8vbG9kYXNoLmNvbS8+XG4gKiBCdWlsZDogYGxvZGFzaCBtb2R1bGFyaXplIGV4cG9ydHM9XCJlc1wiIC1vIC4vYFxuICogQ29weXJpZ2h0IE9wZW5KUyBGb3VuZGF0aW9uIGFuZCBvdGhlciBjb250cmlidXRvcnMgPGh0dHBzOi8vb3BlbmpzZi5vcmcvPlxuICogUmVsZWFzZWQgdW5kZXIgTUlUIGxpY2Vuc2UgPGh0dHBzOi8vbG9kYXNoLmNvbS9saWNlbnNlPlxuICogQmFzZWQgb24gVW5kZXJzY29yZS5qcyAxLjguMyA8aHR0cDovL3VuZGVyc2NvcmVqcy5vcmcvTElDRU5TRT5cbiAqIENvcHlyaWdodCBKZXJlbXkgQXNoa2VuYXMsIERvY3VtZW50Q2xvdWQgYW5kIEludmVzdGlnYXRpdmUgUmVwb3J0ZXJzICYgRWRpdG9yc1xuICovdmFyIFQ9e2JsdWVCcmlnaHQ6dD0+eWUuYmx1ZV9idCh0KSxncmVlbjp0PT55ZS5ncmVlbih0KSxyZWQ6dD0+eWUucmVkKHQpLHllbGxvdzp0PT55ZS55ZWxsb3codCl9O3ZhciBXPXQ9Pihjb25zb2xlLmluZm8oYCR7VC5ibHVlQnJpZ2h0KFwiUlVOIFwiKX0gJHt0fWApLHtzdWNjZXNzOmU9PmNvbnNvbGUuaW5mbyhgJHtULmdyZWVuKFwiU1VDQ1wiKX0gJHt0fSR7ZT9gXG4gICR7ZS5zcGxpdChgXG5gKS5tYXAocj0+YFxuICAgICR7cn1gKS5qb2luKFwiXCIpLnRyaW0oKX1gOlwiXCJ9YCksZmFpbDplPT5jb25zb2xlLmVycm9yKGAke1QucmVkKFwiRVJSIFwiKX0gJHt0fSAtICR7ZX1gKSx3YXJuOmU9PmNvbnNvbGUud2FybihgJHtULnllbGxvdyhcIldBUk5cIil9ICR7dH0gLSAke2V9YCl9KTt2YXIgSz0odCxlPS9bXFxuLDsgXS8pPT50eXBlb2YgdD09XCJzdHJpbmdcIj90LnNwbGl0KGUpLm1hcChyPT5yLnRyaW0oKSkuZmlsdGVyKEF0KTpZZSh0Lm1hcChyPT5yLnNwbGl0KC9bXFxuLCA7XS8pLm1hcChvPT5vLnRyaW0oKSkpKS5maWx0ZXIoQXQpLE10PXQ9PnQoKTt2YXIgWG89bmV3IE1hcCxRPSh0LGUpPT4oWG8uc2V0KHQsZSksZSksWm89bmV3IFYsRWY9KCk9PlpvLmdldFN0b3JlKCk/P010LHdlPVEoXCJnaXRcIixuZXcgViksYmU9UShcImFzdEdyZXBOb2RlQ29udGV4dFwiLG5ldyBWKSx0bj1RKFwiZGVzY3JpYmVDb250ZXh0XCIsbmV3IFYpLExmPVEoXCJtaWdyYXRlQ29udGV4dFwiLG5ldyBWKSxHPVEoXCJjd2RDb250ZXh0XCIsbmV3IFYpLEFlPVEoXCJwYXJlbnRDd2RDb250ZXh0XCIsbmV3IFYpLHB0PVEoXCJmaWxlQ29udGV4dFwiLG5ldyBWKSxYPVEoXCJyZXBvc2l0b3J5Q29udGV4dFwiLG5ldyBWKSxlbj1RKFwicmVwb3NpdG9yaWVzQ29udGV4dFwiLG5ldyBWKSxJZj0oKT0+Wy4uLlhvLmVudHJpZXMoKV0ubWFwKChbdCxlXSk9Plt0LGUuZ2V0U3RvcmUoKV0pLmZpbHRlcigoWyx0XSk9PnR5cGVvZiB0PFwidVwiKSxMPSgpPT57bGV0IHQ9YmUuZ2V0U3RvcmUoKTtyZXR1cm4gQnQodCxcIk5vIGFzdC1ncmVwIG5vZGUgY29udGV4dCBmb3VuZFwiKSx0fSx2PSgpPT5HLmdldFN0b3JlKCk/P3tjd2Q6cHJvY2Vzcy5jd2QoKX0sUWU9KCk9PkFlLmdldFN0b3JlKCk/P3tjd2Q6cHJvY2Vzcy5jd2QoKX0sYj0oKT0+e2xldCB0PXB0LmdldFN0b3JlKCk7cmV0dXJuIEJ0KHQsXCJObyBmaWxlIGNvbnRleHQgZm91bmRcIiksdH0senQ9KCk9PntsZXQgdD13ZS5nZXRTdG9yZSgpO3JldHVybiB0fHxuZXcgd3Qoe3JlcG9zaXRvcnk6XCJcIixpZDpcIlwifSl9LFhlPSgpPT57bGV0IHQ9WC5nZXRTdG9yZSgpO3JldHVybiBCdCh0LFwiTm8gcmVwb3NpdG9yeSBjb250ZXh0IGZvdW5kXCIpLHR9LE9mPSgpPT57bGV0IHQ9ZW4uZ2V0U3RvcmUoKTtyZXR1cm4gQnQodCxcIk5vIHJlcG9zaXRvcmllcyBjb250ZXh0IGZvdW5kXCIpLHR9LGtmPSgpPT57bGV0IHQ9dG4uZ2V0U3RvcmUoKTtyZXR1cm4gQnQodCxcIk5vIGRlc2NyaWJlIGNvbnRleHQgZm91bmRcIiksdH07aW1wb3J0e0FzeW5jTG9jYWxTdG9yYWdlIGFzIHJyfWZyb21cIm5vZGU6YXN5bmNfaG9va3NcIjtpbXBvcnR7Y3JlYXRlSGFzaCBhcyBqZn1mcm9tXCJub2RlOmNyeXB0b1wiO3ZhciBmdD1jbGFzcyBleHRlbmRzIFByb21pc2V7I2U7I3Q7Y29uc3RydWN0b3IoZSl7c3VwZXIocj0+e3IoKX0pLHRoaXMuI2U9ZX1zdGF0aWMgZnJvbShlKXtyZXR1cm4gbmV3IGZ0KHI9PntyKGUoKSl9KX1zdGF0aWMgcmVzb2x2ZShlKXtyZXR1cm4gbmV3IGZ0KHI9PntyKGUpfSl9c3RhdGljIHJlamVjdChlKXtyZXR1cm4gbmV3IGZ0KChyLG8pPT57byhlKX0pfXRoZW4oZSxyKXtyZXR1cm4gdGhpcy4jdD8/PW5ldyBQcm9taXNlKHRoaXMuI2UpLHRoaXMuI3QudGhlbihlLHIpfWNhdGNoKGUpe3JldHVybiB0aGlzLiN0PXRoaXMuI3R8fG5ldyBQcm9taXNlKHRoaXMuI2UpLHRoaXMuI3QuY2F0Y2goZSl9fTtmdW5jdGlvbiBEZih0KXtsZXQgZT1qZihcInNoYTFcIik7cmV0dXJuIGUudXBkYXRlKEpTT04uc3RyaW5naWZ5KHQpKSxlLmRpZ2VzdChcImhleFwiKX12YXIgZXI9Y2xhc3N7bmFtZTtoYXNoO2FyZ3VtZW50cztjaGlsZHJlbjtjb25zdHJ1Y3RvcihlLHIsbyl7dGhpcy5uYW1lPWUsdGhpcy5hcmd1bWVudHM9by5tYXAobj0+U3RyaW5nKG4pKSx0aGlzLmhhc2g9RGYoe25hbWU6ZSxmbjpyLnRvU3RyaW5nKCksYXJnczpvfSksdGhpcy5jaGlsZHJlbj1bXX19LHJuPW5ldyBycixfZT1uZXcgcnIsdHI9bmV3IHJyLG9uPXtjaGlsZHJlbjpbXX0sbm49KCk9Pm9uO2Z1bmN0aW9uIG0odCxlKXtyZXR1cm4oLi4ucik9PntsZXQgbz1fZS5nZXRTdG9yZSgpLG49bmV3IGVyKHQsZS50b1N0cmluZygpLHIpO3JldHVybiBvP28uY2hpbGRyZW4ucHVzaChuKTpvbi5jaGlsZHJlbi5wdXNoKG4pLHJuLnJ1bihuLGUsLi4ucil9fXZhciBjPWNsYXNze2NvbnN0cnVjdG9yKGUpe3RoaXMubmFtZT1lO3RoaXMuX2NvbnRleHQ9cm4uZ2V0U3RvcmUoKSx0aGlzLl9wYXJlbnRXcmFwcGVyPXRyLmdldFN0b3JlKCk/P010fV9pbml0O19oZWxwZXJzO19yZXR1cm47X2NvbnRleHQ7X2NvcHlIZWxwZXJzVG9Qcm9taXNlPSEwO19leGVjdXRvcjtfcGFyZW50V3JhcHBlcjtfY2FsbGJhY2s7X2FyZ3VtZW50cztfZG9uZTtwYXJlbnRBcmdzPVtdO2NoaWxkQXJncz1bXTtpbml0aWF0ZWQ9ITE7c2V0UGFyZW50QXJncyguLi5lKXtyZXR1cm4gdGhpcy5wYXJlbnRBcmdzPWUsdGhpc31nZXRDaGlsZEFyZ3MoKXtyZXR1cm4gdGhpcy5jaGlsZEFyZ3N9Z2V0Q2hpbGRBcmcoZSl7cmV0dXJuIHRoaXMuY2hpbGRBcmdzLmZpbmQocj0+dHlwZW9mIHJbZV08XCJ1XCIpPy5bZV19ZG9Ob3RDb3B5SGVscGVyc1RvUHJvbWlzZSgpe3JldHVybiB0aGlzLl9jb3B5SGVscGVyc1RvUHJvbWlzZT0hMSx0aGlzfWluaXQoZSl7cmV0dXJuIGUmJih0aGlzLl9pbml0PUQoZSkpLHRoaXN9ZG9uZShlKXtyZXR1cm4gdGhpcy5fZG9uZT1lLHRoaXN9YXJndW1lbnRzKGUpe3JldHVybiB0aGlzLl9hcmd1bWVudHM9ZSx0aGlzfWdldEFyZ3VtZW50cygpe3JldHVybiB0aGlzLl9hcmd1bWVudHM/Lih0aGlzKX1oZWxwZXJzKGUpe3JldHVybiB0aGlzLl9oZWxwZXJzPWUsdGhpc31jYWxsYmFjayhlKXtyZXR1cm4gdGhpcy5fY2FsbGJhY2s9ZSx0aGlzfXdyYXBwZWRIZWxwZXJzKCl7cmV0dXJuIGd0KHR5cGVvZiB0aGlzLl9oZWxwZXJzPT1cImZ1bmN0aW9uXCI/dGhpcy5faGVscGVycyh0aGlzKTp0aGlzLl9oZWxwZXJzLGU9PiguLi5yKT0+X2UucnVuKHRoaXMuX2NvbnRleHQsKCk9PnRyLnJ1bih0aGlzLmNvbnRleHQoKSwoKT0+ZSguLi5yKSkpKX13cmFwSGVscGVycyhlKXtyZXR1cm4gZ3QoZSxyPT4oLi4ubyk9Pl9lLnJ1bih0aGlzLl9jb250ZXh0LCgpPT50ci5ydW4odGhpcy5jb250ZXh0KCksKCk9PnIoLi4ubykpKSl9Y29udGV4dCgpe3JldHVybihlLC4uLnIpPT4odGhpcy5jaGlsZEFyZ3M9cix0aGlzLl9wYXJlbnRXcmFwcGVyKCgpPT4odGhpcy5fZXhlY3V0b3I/P010KShhc3luYygpPT4odGhpcy5faW5pdCYmIXRoaXMuaW5pdGlhdGVkJiYodGhpcy5pbml0aWF0ZWQ9ITAsYXdhaXQgdGhpcy5faW5pdCh0aGlzKSksdGhpcy5fY2FsbGJhY2smJmF3YWl0IF9lLnJ1bih0aGlzLl9jb250ZXh0LHRoaXMuX2NhbGxiYWNrLHRoaXMpLGU/LigpKSx0aGlzKSwuLi50aGlzLnBhcmVudEFyZ3MpKX1yZXR1cm4oZSl7cmV0dXJuIHRoaXMuX3JldHVybj1lLHRoaXN9ZXhlY3V0b3IoZSl7cmV0dXJuIHRoaXMuX2V4ZWN1dG9yPWUsdGhpc31ydW4oKXtsZXQgZT1uZXcgZnQoKHIsbyk9PnsoYXN5bmMoKT0+e2xldCBuLHM9ITE7cmV0dXJuIGF3YWl0IHRoaXMuY29udGV4dCgpKGFzeW5jKCk9PntuPWF3YWl0IHRoaXMuX3JldHVybj8uKHRoaXMpLHM9ITB9KSxzfHwobj1hd2FpdCB0aGlzLl9yZXR1cm4/Lih0aGlzKSksbn0pKCkudGhlbihyKS5jYXRjaChvKX0pO2lmKHRoaXMuX2NvcHlIZWxwZXJzVG9Qcm9taXNlKXtsZXQgcj10aGlzLndyYXBwZWRIZWxwZXJzKCk7Zm9yKGxldCBvIGluIHIpZVtvXT1yW29dfXJldHVybiBlfX07aW1wb3J0KmFzIHNuIGZyb21cIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiO2ltcG9ydCphcyBhbiBmcm9tXCJub2RlOmZzXCI7aW1wb3J0IG9yIGZyb21cInRyZWUta2lsbFwiO3ZhciBydD0odCxlLHI9e30pPT57bGV0IG89ci5jd2Q/P3Byb2Nlc3MuY3dkKCk7cmV0dXJuIGFuLmV4aXN0c1N5bmMobyk/bmV3IFByb21pc2UoKG4scyk9PntsZXR7ZG9Ob3RUaHJvd0Vycm9yOmkscHJpbnRPdXRwdXQ6YSxwcmludE5ld2xpbmU6cCx3YXRjaDpmLGRvTm90S2lsbDpsLGZpbHRlckVudjp1LC4uLmR9PXIsaD1WZSh7Li4ucHJvY2Vzcy5lbnYsLi4uZD8uZW52LEZPUkNFX0NPTE9SOlwiXCJ9LChSLGopPT51Py4oaixSKT8/ITApLGc9c24uc3Bhd24odCxlLHsuLi5kLGN3ZDpvLGVudjpofSkseT1nLnBpZCxDPVtdLEg9W10sdyxQPSExLEU9bD8oKT0+e1A9ITAsb3IoeSxcIlNJR0tJTExcIiksZy5zdGRpbi5lbmQoKSxnLnN0ZG91dC5kZXN0cm95KCksZy5zdGRlcnIuZGVzdHJveSgpfTpHZTtnLnN0ZG91dC5vbihcImRhdGFcIixSPT57bGV0IGo9Ui50b1N0cmluZygpO2lmKEgucHVzaChqKSxqLmluY2x1ZGVzKFwiUHJvY2VlZFwiKSYmZy5zdGRpbi53cml0ZShgeVxuYCksZiYmai5pbmNsdWRlcyhmKSl7bHx8KFA9ITAsb3IoeSxcIlNJR0tJTExcIiksZy5zdGRpbi5lbmQoKSxnLnN0ZG91dC5kZXN0cm95KCksZy5zdGRlcnIuZGVzdHJveSgpKSxuKHtzdGRvdXQ6SCxzdGRlcnI6QyxlcnJvcjp3LGtpbGw6RX0pO3JldHVybn1QfHwoYSYmcHJvY2Vzcy5zdGRvdXQud3JpdGUoaikscCYmZy5zdGRpbi53cml0ZShgXG5gKSl9KSxnLnN0ZGVyci5vbihcImRhdGFcIixSPT57bGV0IGo9Ui50b1N0cmluZygpO2lmKEMucHVzaChqKSxmJiZqLmluY2x1ZGVzKGYpKXtsfHwoUD0hMCxvcih5LFwiU0lHS0lMTFwiKSxnLnN0ZGluLmVuZCgpLGcuc3Rkb3V0LmRlc3Ryb3koKSxnLnN0ZGVyci5kZXN0cm95KCkpLG4oe3N0ZG91dDpILHN0ZGVycjpDLGVycm9yOncsa2lsbDpFfSk7cmV0dXJufVB8fChhJiZwcm9jZXNzLnN0ZG91dC53cml0ZShqKSxwJiZnLnN0ZGluLndyaXRlKGBcbmApKX0pLGcub24oXCJlcnJvclwiLFI9Pnt3PVJ9KSxnLm9uKFwiY2xvc2VcIixSPT57aWYoIWkpe2lmKHcpe3MobmV3IEVycm9yKGBGYWlsZWQgdG8gZXhlY3V0ZSBjb21tYW5kIFwiJHt0fSAke2Uuam9pbihcIiBcIil9XCIgd2l0aCBlcnJvciAke3cudG9TdHJpbmcoKX1gKSk7cmV0dXJufWlmKFIpe2NvbnNvbGUuZXJyb3IoSC5qb2luKGBcbmApKSxjb25zb2xlLmVycm9yKEMuam9pbihgXG5gKSkscyhuZXcgRXJyb3IoYEZhaWxlZCB0byBleGVjdXRlIGNvbW1hbmQgXCIke3R9ICR7ZS5qb2luKFwiIFwiKX1cIiB3aXRoIGNvZGUgJHtSfWApKTtyZXR1cm59fW4oe3N0ZG91dDpILHN0ZGVycjpDLGVycm9yOncsa2lsbDpFfSl9KX0pOlByb21pc2UucmVqZWN0KG5ldyBFcnJvcihgUHJvdmlkZWQgZGlyZWN0b3J5OiAke299IGRvZXMgbm90IGV4aXN0YCkpfTtmdW5jdGlvbiBHZih0LGUpe3JldHVybiBuZXcgYyhcImV4ZWNcIikuYXJndW1lbnRzKCgpPT4oe2NvbW1hbmQ6dCxhcmdzOmV9KSkuaGVscGVycyhOZikuZXhlY3V0b3IoYXN5bmMocixvKT0+e2xldHtjd2Q6bn09digpLHtjb21tYW5kOnMsYXJnczppfT1vLmdldEFyZ3VtZW50cygpO2NvbnNvbGUubG9nKGAke1QuYmx1ZUJyaWdodChgJHtzfSAke2k/LmpvaW4oXCIgXCIpPz9cIlwifWApfSAke259YCksYXdhaXQgcnQocyxpPz9bXSx7Y3dkOm4sZG9Ob3RUaHJvd0Vycm9yOiEwfSksYXdhaXQgcj8uKCl9KS5yZXR1cm4ocj0+ci53cmFwcGVkSGVscGVycygpKS5ydW4oKX12YXIgVT1tKFwiZXhlY1wiLEdmKSxOZj17ZXhlYzpVLGNvZGVtb2Q6cX07ZnVuY3Rpb24gJGYodCxlKXtyZXR1cm4gbmV3IGMoXCJjb2RlbW9kXCIpLmFyZ3VtZW50cygoKT0+KHtuYW1lOnQsYXJnczplfSkpLmhlbHBlcnMoTWYpLmV4ZWN1dG9yKGFzeW5jKHIsbyk9PntsZXR7Y3dkOm59PXYoKSxzPU9iamVjdC5lbnRyaWVzKG8uZ2V0QXJndW1lbnRzKCkuYXJncz8/e30pLnJlZHVjZSgoaSxbYSxwXSk9PihBcnJheS5pc0FycmF5KHApP3AuZm9yRWFjaChmPT5pLnB1c2goYC0tJHthfT0ke2Z9YCkpOmkucHVzaChgLS0ke2F9PSR7cH1gKSxpKSxbXCItLW5vLWludGVyYWN0aXZlXCJdKTtjb25zb2xlLmxvZyhgJHtULmJsdWVCcmlnaHQoYGNvZGVtb2QgJHt0fSAke3Muam9pbihcIiBcIil9YCl9ICR7bn1gKSxhd2FpdCBydChcIm5weFwiLFtcImNvZGVtb2RAbGF0ZXN0XCIsdCwuLi5zXSx7Y3dkOm4sZG9Ob3RUaHJvd0Vycm9yOiEwLHByaW50T3V0cHV0OiEwfSksYXdhaXQgcj8uKCl9KS5yZXR1cm4ocj0+ci53cmFwcGVkSGVscGVycygpKS5ydW4oKX12YXIgcT1tKFwiY29kZW1vZFwiLCRmKSxNZj17Y29kZW1vZDpxLGV4ZWM6VX07aW1wb3J0KmFzIEt0IGZyb21cIm5vZGU6cGF0aFwiO2ltcG9ydCphcyBJbiBmcm9tXCJnbG9iXCI7aW1wb3J0KmFzIGNuIGZyb21cIm5vZGU6Y2hpbGRfcHJvY2Vzc1wiO2ltcG9ydCphcyBtbiBmcm9tXCJub2RlOmZzL3Byb21pc2VzXCI7aW1wb3J0KmFzIFRlIGZyb21cIm5vZGU6cGF0aFwiO2ltcG9ydCphcyBkbiBmcm9tXCJub2RlOnV0aWxcIjtpbXBvcnR7TGFuZyBhcyB4LFNnTm9kZSBhcyBhbCxwYXJzZSBhcyBwbH1mcm9tXCJAYXN0LWdyZXAvbmFwaVwiO2ltcG9ydCphcyBnbiBmcm9tXCJ5YW1sXCI7aW1wb3J0IFlmIGZyb21cIm9wZW5haVwiO2ltcG9ydCphcyBQZSBmcm9tXCJub2RlOmZzL3Byb21pc2VzXCI7aW1wb3J0e2V4dG5hbWUgYXMgQmZ9ZnJvbVwibm9kZTpwYXRoXCI7dmFyIHpmPW5ldyBNYXAoW1tcInRzXCIsXCJ0eXBlc2NyaXB0XCJdLFtcInRzeFwiLFwidHlwZXNjcmlwdFwiXSxbXCJqc1wiLFwiYmFiZWxcIl0sW1wianN4XCIsXCJiYWJlbFwiXSxbXCJqc29uXCIsXCJqc29uXCJdLFtcImpzb241XCIsXCJqc29uNVwiXSxbXCJqc29uY1wiLFwianNvblwiXSxbXCJjc3NcIixcImNzc1wiXSxbXCJzY3NzXCIsXCJzY3NzXCJdLFtcImxlc3NcIixcImxlc3NcIl0sW1wiZ3JhcGhxbFwiLFwiZ3JhcGhxbFwiXSxbXCJtZFwiLFwibWFya2Rvd25cIl0sW1wibWR4XCIsXCJtZHhcIl0sW1wiaHRtbFwiLFwiaHRtbFwiXSxbXCJ2dWVcIixcInZ1ZVwiXSxbXCJ5YW1sXCIsXCJ5YW1sXCJdLFtcInltbFwiLFwieWFtbFwiXV0pLFdmPXt0YWJXaWR0aDo0LHVzZVRhYnM6ITAsc2VtaTohMCxzaW5nbGVRdW90ZTohMCxxdW90ZVByb3BzOlwiYXMtbmVlZGVkXCIsdHJhaWxpbmdDb21tYTpcImFsbFwiLGJyYWNrZXRTcGFjaW5nOiEwLGFycm93UGFyZW5zOlwiYWx3YXlzXCIsZW5kT2ZMaW5lOlwibGZcIixwYXJzZXI6XCJ0eXBlc2NyaXB0XCJ9LEtmPWFzeW5jIHQ9PntsZXR7cmVzb2x2ZUNvbmZpZzplfT1hd2FpdCBpbXBvcnQoXCJwcmV0dGllclwiKSxyPWF3YWl0IGUodCx7ZWRpdG9yY29uZmlnOiExfSk7KHI9PT1udWxsfHxPYmplY3Qua2V5cyhyKS5sZW5ndGg9PT0wKSYmKHI9V2YpO2xldCBvPXpmLmdldChCZih0KS5zbGljZSgxKSk/P1widHlwZXNjcmlwdFwiO3JldHVybnsuLi5yLHBhcnNlcjpvfX0scG49YXN5bmModCxlKT0+e2xldCByPWUucmVwbGFjZSgvXFwvXFwqXFwqIFxcKlxcKlxcLy9nbSxcIlwiKTt0cnl7bGV0e2Zvcm1hdDpvfT1hd2FpdCBpbXBvcnQoXCJwcmV0dGllclwiKSxuPWF3YWl0IEtmKHQpO3JldHVybiBhd2FpdCBvKHIsbil9Y2F0Y2h7cmV0dXJuIHJ9fTtpbXBvcnR7Z2xvYiBhcyBWeX1mcm9tXCJnbG9iXCI7aW1wb3J0IENlIGZyb21cImpzY29kZXNoaWZ0XCI7dmFyIGZuPXQ9Pih7ajp0P0NlLndpdGhQYXJzZXIodCk6Q2UsanNjb2Rlc2hpZnQ6dD9DZS53aXRoUGFyc2VyKHQpOkNlLHN0YXRzOigpPT57Y29uc29sZS5lcnJvcihcIlRoZSBzdGF0cyBmdW5jdGlvbiB3YXMgY2FsbGVkLCB3aGljaCBpcyBub3Qgc3VwcG9ydGVkIG9uIHB1cnBvc2VcIil9LHJlcG9ydDooKT0+e2NvbnNvbGUuZXJyb3IoXCJUaGUgcmVwb3J0IGZ1bmN0aW9uIHdhcyBjYWxsZWQsIHdoaWNoIGlzIG5vdCBzdXBwb3J0ZWQgb24gcHVycG9zZVwiKX19KTtpbXBvcnR7Y29udmVydENoYW5nZXNUb0RNUCBhcyBVZixkaWZmTGluZXMgYXMgcWZ9ZnJvbVwiZGlmZlwiO2ltcG9ydCBKZiBmcm9tXCJtYWdpYy1zdHJpbmdcIjt2YXIgc3c9cHJvY2Vzcy5hcmd2LmluY2x1ZGVzKFwiLS1mb3JtYXRcIiksbHQ9Y2xhc3MgZXh0ZW5kcyB5dHtfY29udGVudHM9dm9pZCAwO19tYWdpY1N0cmluZz12b2lkIDA7X2NvbnRlbnRzQ2hhbmdlZD0hMTtfb2xkQ29udGVudHM9dm9pZCAwO2ltcG9ydHNVcGRhdGVzPVtdO2dldCBmaWxlKCl7cmV0dXJuIHRoaXMuZ2V0KFwiZmlsZVwiKX1hc3luYyBjb250ZW50cygpe3JldHVybiB0eXBlb2YgdGhpcy5fY29udGVudHM+XCJ1XCImJih0aGlzLl9jb250ZW50cz1hd2FpdCBQZS5yZWFkRmlsZSh0aGlzLmZpbGUse2VuY29kaW5nOlwidXRmLThcIn0pLHRoaXMuX29sZENvbnRlbnRzPXRoaXMuX2NvbnRlbnRzKSx0eXBlb2YgdGhpcy5fbWFnaWNTdHJpbmc8XCJ1XCI/dGhpcy5fbWFnaWNTdHJpbmcudG9TdHJpbmcoKTp0aGlzLl9jb250ZW50c31zZXRDb250ZW50cyhlKXt0aGlzLl9jb250ZW50cz1lLHRoaXMuX21hZ2ljU3RyaW5nPXZvaWQgMCx0aGlzLl9jb250ZW50c0NoYW5nZWQ9ITB9YXN5bmMgbWFnaWNTdHJpbmcoKXtyZXR1cm4gdHlwZW9mIHRoaXMuX21hZ2ljU3RyaW5nPlwidVwiJiYodGhpcy5fbWFnaWNTdHJpbmc9bmV3IEpmKGF3YWl0IHRoaXMuY29udGVudHMoKSkpLHRoaXMuX21hZ2ljU3RyaW5nfWFzeW5jIHVwZGF0ZSh7c3RhcnQ6ZSxlbmQ6cixyZXBsYWNlbWVudDpvfSl7KGF3YWl0IHRoaXMubWFnaWNTdHJpbmcoKSkudXBkYXRlKGUscixvKX1hc3luYyBzYXZlKHtmb3JtYXQ6ZX09e30pe2xldCByO2lmKHRoaXMuX21hZ2ljU3RyaW5nPy5oYXNDaGFuZ2VkKCk/cj10aGlzLl9tYWdpY1N0cmluZy50b1N0cmluZygpOnRoaXMuX2NvbnRlbnRzQ2hhbmdlZCYmKHI9dGhpcy5fY29udGVudHMpLHR5cGVvZiByPT1cInN0cmluZ1wiKXtsZXQgbz10aGlzLl9vbGRDb250ZW50cyxuPWU/YXdhaXQgcG4odGhpcy5maWxlLHIpOnI7YXdhaXQgUGUud3JpdGVGaWxlKHRoaXMuZmlsZSxuKSx0aGlzLl9vbGRDb250ZW50cz12b2lkIDAsdGhpcy5fY29udGVudHM9dm9pZCAwLHRoaXMuX21hZ2ljU3RyaW5nPXZvaWQgMCx0aGlzLl9jb250ZW50c0NoYW5nZWQ9ITEsY29uc29sZS5lcnJvcihgJHtULmJsdWVCcmlnaHQoXCJGSUxFXCIpfSAke3RoaXMuZmlsZX1gKTtsZXQgcz1VZihxZihvPz9uLG4pKTtmb3IobGV0W2ksYV1vZiBzKXN3aXRjaChpKXtjYXNlLTE6cHJvY2Vzcy5zdGRvdXQud3JpdGUoVC5yZWQoYSkpO2JyZWFrO2Nhc2UgMTpwcm9jZXNzLnN0ZG91dC53cml0ZShULmdyZWVuKGEpKTticmVha31wcm9jZXNzLnN0ZG91dC53cml0ZShgXG5gKX19Z2V0IGV4dGVuc2lvbigpe3JldHVybiB0aGlzLmZpbGUuc3BsaXQoXCIuXCIpLnBvcCgpfX07dmFyIFZmPWBcbllvdSBhcmUgYSBtZXRpY3Vsb3VzIGVuZ2luZWVyIGFzc2lnbmVkIHRvIG1pZ3JhdGUgYSBjb2RlYmFzZSBieSB1cGRhdGluZyBpdHMgY29kZSB3aGVuIG5lY2Vzc2FyeS5cblxuV2hlbiB5b3Ugd3JpdGUgY29kZSwgdGhlIGNvZGUgd29ya3Mgb24gdGhlIGZpcnN0IHRyeSwgYW5kIGlzIGNvbXBsZXRlLiBUYWtlIGludG8gYWNjb3VudCB0aGUgY3VycmVudCByZXBvc2l0b3J5J3MgbGFuZ3VhZ2UsIGNvZGUgc3R5bGUsIGFuZCBkZXBlbmRlbmNpZXMuXG5cbllvdSB3aWxsIGJlIGdpdmVuIGEgQ29udGV4dCBGaWxlLCBhIE1pZ3JhdGlvbiBEZXNjcmlwdGlvbiBhbmQgYSBTb3VyY2UgRmlsZS4gWW91IHdpbGwgcmV3cml0ZSB0aGUgU291cmNlIEZpbGUgaW4gb3JkZXIgdG8gYXBwbHkgdGhlIGNoYW5nZXMgZGVzY3JpYmVkIGluIHRoZSBNaWdyYXRpb24gRGVzY3JpcHRpb24uXG5cbllvdSB3aWxsIHVzZSBhIENvbnRleHQgRmlsZSB0byB1bmRlcnN0YW5kIHRoZSBjb2RlYmFzZSBhbmQgdGhlIE1pZ3JhdGlvbiBEZXNjcmlwdGlvbiB0byBhcHBseSB0aGUgY2hhbmdlcy5cbkNvbnRleHQgZmlsZSB3aWxsIGJlIHN1cnJvdW5kZWQgYnkgdHJpcGxlIHNpbmdsZSBxdW90ZXMgbGlrZSB0aGlzOlxuJycnXG5jb250ZXh0IGZpbGUgaGVyZVxuJycnXG5cbklmIGEgbGluZSBvZiBjb2RlIGlzIG5vdCBhZmZlY3RlZCBieSB0aGUgbWlncmF0aW9uLCB5b3Ugc2hvdWxkIGtlZXAgaXQgYXMgaXQgaXMuXG5cblNvdXJjZSBmaWxlIHdpbGwgYmUgc3BsaXQgaW50byBtdWx0aXBsZSBwYXJ0cywgZWFjaCBwYXJ0IHN0YXJ0cyB3aXRoIGEgY29tbWVudCBsaWtlIHRoaXM6XG4vLyBjb2RlbW9kI2FpIzBcbnBhcnQgY29kZSBoZXJlXG4vLyBjb2RlbW9kI2FpIzBcbndoZXJlIDAgaXMgYSBudW1iZXIgdGhhdCByZXByZXNlbnRzIHRoZSBwYXJ0IG51bWJlci5cblxuWW91IG11c3QgcHJpbnQgdGhlIG1vZGlmaWVkIFNvdXJjZSBGaWxlIGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OlxuXG5cXGBcXGBcXGBcbm1vZGlmaWVkIFNvdXJjZSBGaWxlXG5cXGBcXGBcXGBcblxuWW91IG11c3QgcHJlc2VydmUgcGFydHMgbmFtaW5nIGFuZCBvcmRlci5cbmAsV3Q9Y2xhc3N7Y29uc3RydWN0b3IoZSl7dGhpcy51c2VyUHJvbXB0PWV9YmVmb3Jlc1NhbXBsZXM9e307cXVlcnk7X3VzYWdlPXtjb21wbGV0aW9uX3Rva2VuczowLHByb21wdF90b2tlbnM6MCx0b3RhbF90b2tlbnM6MH07YWRkQmVmb3JlKGUpe3RoaXMuYmVmb3Jlc1NhbXBsZXNbZS5maWxlbmFtZV0/Pz1bXSx0aGlzLmJlZm9yZXNTYW1wbGVzW2UuZmlsZW5hbWVdPy5wdXNoKGUpfWdldCBwcm9tcHRzKCl7cmV0dXJuIGd0KHRoaXMuYmVmb3Jlc1NhbXBsZXMsZT0+YFxuWW91IGFyZSBtaWdyYXRpbmcgYSBjb2RlLCB3aGljaCBtYXRjaGVzIGFzdC1ncmVwIHBhdHRlcm46XG4ke3RoaXMucXVlcnk/P1wiXCJ9XG5cbkNvbnRleHQgZmlsZTpcbicnJ1xuJHtlWzBdPy5jb250ZW50c31cbicnJ1xuXG4ke3RoaXMudXNlclByb21wdH1cblxuJHtlLm1hcCgocixvKT0+YFxuLy8gY29kZW1vZCNhaSMke299XG4ke3IudGV4dH1cbi8vIGNvZGVtb2QjYWkjJHtvfVxuXG5gKS5qb2luKFwiXCIpfWApfWdldCB1c2FnZSgpe3JldHVybiB0aGlzLl91c2FnZX1zdGF0aWMgZ2V0UmVwbGFjZW1lbnRzKGUpe2xldCByPWU/Lm1hdGNoKC9gYGAoW1xcc1xcU10qPylgYGAvZyk/LlswXT8ucmVwbGFjZSgvXmBgYC9nLFwiXCIpPy5yZXBsYWNlKC9gYGAkL2csXCJcIiksbz1bXSxuPXI/LnNwbGl0KGBcbmApPz9bXSxzPS0xLGk9XCJcIjtmb3IobGV0IGEgb2Ygbil7bGV0IHA9TnVtYmVyLnBhcnNlSW50KGEubWF0Y2goL1xcL1xcLyBjb2RlbW9kI2FpIyhcXGQrKS8pPy5bMV0/P1wiXCIsMTApO2lmKCFOdW1iZXIuaXNOYU4ocCkpe3M9PT1wPyhvLnB1c2goaSksaT1cIlwiKTpzPXA7Y29udGludWV9aSs9YX1yZXR1cm4gb31hc3luYyBleGVjdXRlKCl7bGV0IGU9cHJvY2Vzcy5hcmd2LmZpbmQobz0+by5zdGFydHNXaXRoKFwiLS1PUEVOQUlfQVBJX0tFWT1cIikpPy5yZXBsYWNlKFwiLS1PUEVOQUlfQVBJX0tFWT1cIixcIlwiKTtlfHwoY29uc29sZS5lcnJvcignUGxlYXNlIHNldCBPUEVOQUlfQVBJX0tFWSBlbnZpcm9ubWVudCB2YXJpYWJsZSBsaWtlIFwiY29kZW1vZCAuLi4gLS1PUEVOQUlfQVBJX0tFWT1ZT1VSX0FQSV9LRVlcIicpLHByb2Nlc3MuZXhpdCgxKSk7bGV0IHI9bmV3IFlmKHthcGlLZXk6ZX0pO2F3YWl0IFByb21pc2UuYWxsKE9iamVjdC5lbnRyaWVzKHRoaXMucHJvbXB0cykubWFwKGFzeW5jKFtvLG5dKT0+e2xldCBzPWF3YWl0IHIuY2hhdC5jb21wbGV0aW9ucy5jcmVhdGUoe21vZGVsOlwiZ3B0LTQtdHVyYm9cIixzZWVkOjcsbWVzc2FnZXM6W3tyb2xlOlwic3lzdGVtXCIsY29udGVudDpWZn0se3JvbGU6XCJ1c2VyXCIsY29udGVudDpufV0sdGVtcGVyYXR1cmU6LjAwMSxuOjF9KSxpPXM/LnVzYWdlO2kmJih0aGlzLl91c2FnZS5jb21wbGV0aW9uX3Rva2Vucys9aS5jb21wbGV0aW9uX3Rva2Vucyx0aGlzLl91c2FnZS5wcm9tcHRfdG9rZW5zKz1pLnByb21wdF90b2tlbnMsdGhpcy5fdXNhZ2UudG90YWxfdG9rZW5zKz1pLnRvdGFsX3Rva2Vucyk7bGV0IGE9cz8uY2hvaWNlc1swXT8ubWVzc2FnZS5jb250ZW50LHA9V3QuZ2V0UmVwbGFjZW1lbnRzKGEpLGY9W10sbD10aGlzLmJlZm9yZXNTYW1wbGVzW29dPz9bXTtmb3IobGV0IHU9MDt1PGwubGVuZ3RoO3UrKyl7bGV0IGQ9bFt1XSxoPXBbdV07Zi5wdXNoKHtzdGFydFBvc2l0aW9uOmQuc3RhcnRQb3NpdGlvbixlbmRQb3NpdGlvbjpkLmVuZFBvc2l0aW9uLHRleHQ6aH0pfWlmKGYubGVuZ3RoKXRyeXtsZXQgdT1uZXcgbHQoe2ZpbGU6b30pO2ZvcihsZXQgZCBvZiBmKWF3YWl0IHUudXBkYXRlKHtzdGFydDpkLnN0YXJ0UG9zaXRpb24sZW5kOmQuZW5kUG9zaXRpb24scmVwbGFjZW1lbnQ6ZC50ZXh0fSk7YXdhaXQgdS5zYXZlKCl9Y2F0Y2h7fX0pKSxjb25zb2xlLmxvZyhgQ29kZW1vZDIuMCAke1QuYmx1ZUJyaWdodChcInVzYWdlXCIpfTogJHtULmdyZWVuKFwiUHJvbXB0IHRva2Vuc1wiKX0oJHt0aGlzLl91c2FnZS5wcm9tcHRfdG9rZW5zfSksICR7VC5ncmVlbihcIkNvbXBsZXRpb24gdG9rZW5zXCIpfSgke3RoaXMuX3VzYWdlLmNvbXBsZXRpb25fdG9rZW5zfSksICR7VC5ncmVlbihcIlRvdGFsIHRva2Vuc1wiKX0oJHt0aGlzLl91c2FnZS50b3RhbF90b2tlbnN9KWApfX07ZnVuY3Rpb24gUWYodCl7bGV0IGU9dHlwZW9mIHQ9PVwic3RyaW5nXCI/dDp0LmpvaW4oXCJcIikscj1uZXcgV3QoZSk7cmV0dXJuIG5ldyBjKFwiYWlcIikuYXJndW1lbnRzKCgpPT4oe3Byb21wdDplfSkpLmhlbHBlcnMoWGYpLmV4ZWN1dG9yKGFzeW5jKCk9PntsZXR7bm9kZTpvLHF1ZXJ5Om59PUwoKSxzPWIoKSxpPW8ucmFuZ2UoKTtyLnF1ZXJ5PXR5cGVvZiBuPT1cInN0cmluZ1wiP246SlNPTi5zdHJpbmdpZnkobiksci5hZGRCZWZvcmUoe2ZpbGVuYW1lOnMuZmlsZSxjb250ZW50czphd2FpdCBzLmNvbnRlbnRzKCksc3RhcnRQb3NpdGlvbjppLnN0YXJ0LmluZGV4LGVuZFBvc2l0aW9uOmkuZW5kLmluZGV4LHRleHQ6by50ZXh0KCl9KX0pLnJldHVybihhc3luYyBvPT4oYXdhaXQgci5leGVjdXRlKCksby53cmFwcGVkSGVscGVycygpKSkucnVuKCl9dmFyIHZlPW0oXCJhaVwiLFFmKSxYZj17fTtmdW5jdGlvbiBaZigpe2xldCB0PSExO3JldHVybiBuZXcgYyhcImV4aXN0c1wiKS5leGVjdXRvcihhc3luYyhlLHIpPT57dD0hMCxhd2FpdCBlPy4oKX0pLnJldHVybigoKT0+dCkucnVuKCl9dmFyIFJlPW0oXCJleGlzdHNcIixaZik7ZnVuY3Rpb24gdGwodCl7bGV0IGU9W107cmV0dXJuIG5ldyBjKFwibWFwXCIpLmhlbHBlcnMobG4pLmFyZ3VtZW50cygoKT0+KHtjYWxsYmFjazp0fSkpLmV4ZWN1dG9yKGFzeW5jKHIsbyk9PntsZXR7Y2FsbGJhY2s6bn09by5nZXRBcmd1bWVudHMoKSxzPWF3YWl0IG4obG4pO2UucHVzaChzKSxhd2FpdCByPy4oKX0pLnJldHVybigoKT0+ZSkucnVuKCl9dmFyIGt0PW0oXCJtYXBcIix0bCksbG49e2dldE5vZGU6KCk9PkwoKS5ub2RlLGdldE1hdGNoOnQ9PkwoKS5ub2RlLmdldE1hdGNoKHQpLGdldE11bHRpcGxlTWF0Y2hlczp0PT5MKCkubm9kZS5nZXRNdWx0aXBsZU1hdGNoZXModCl9O3ZhciBlbD17Z2V0Tm9kZTooKT0+TCgpLm5vZGUsZ2V0TWF0Y2g6dD0+TCgpLm5vZGUuZ2V0TWF0Y2godCksZ2V0TXVsdGlwbGVNYXRjaGVzOnQ9PkwoKS5ub2RlLmdldE11bHRpcGxlTWF0Y2hlcyh0KX07ZnVuY3Rpb24gcmwodCl7cmV0dXJuIG5ldyBjKFwicmVwbGFjZVwiKS5hcmd1bWVudHMoKCk9PntsZXQgZTtyZXR1cm4gdHlwZW9mIHQ9PVwic3RyaW5nXCI/ZT10OkFycmF5LmlzQXJyYXkodCkmJihlPXQuam9pbihcIlwiKSkse3JlcGxhY2VtZW50OmUsY2FsbGJhY2s6dHlwZW9mIHQ9PVwiZnVuY3Rpb25cIj90OnZvaWQgMH19KS5oZWxwZXJzKCgpPT5vbCkucmV0dXJuKGU9PmUud3JhcHBlZEhlbHBlcnMoKSkuZXhlY3V0b3IoYXN5bmMoZSxyKT0+e2xldCBvPWIoKSx7bm9kZTpufT1MKCkse2NhbGxiYWNrOnMscmVwbGFjZW1lbnQ6aX09ci5nZXRBcmd1bWVudHMoKTtpZihzJiYoaT1hd2FpdCBzKHIud3JhcEhlbHBlcnMoZWwpKSksaSl7bGV0IGE9aS5yZXBsYWNlKC8oXFwkXFwkKT9cXCQoW0EtWl0rKS9nbSwoZixsLHUpPT5sP24/LmdldE11bHRpcGxlTWF0Y2hlcyh1KS5tYXAoZD0+ZC50ZXh0KCkpLmpvaW4oXCIgXCIpOm4uZ2V0TWF0Y2godSk/LnRleHQoKXx8XCJcIikscD1uLnJhbmdlKCk7YXdhaXQgby51cGRhdGUoe3N0YXJ0OnAuc3RhcnQuaW5kZXgsZW5kOnAuZW5kLmluZGV4LHJlcGxhY2VtZW50OmF9KX19KS5ydW4oKX12YXIgU2U9bShcInJlcGxhY2VcIixybCksb2w9e21hcDprdH07dmFyIG5sPXtnZXROb2RlOigpPT5MKCkubm9kZSxnZXRNYXRjaDp0PT5MKCkubm9kZS5nZXRNYXRjaCh0KSxnZXRNdWx0aXBsZU1hdGNoZXM6dD0+TCgpLm5vZGUuZ2V0TXVsdGlwbGVNYXRjaGVzKHQpfTtmdW5jdGlvbiBzbCh0KXtyZXR1cm4gbmV3IGMoXCJyZXBsYWNlXCIpLmFyZ3VtZW50cygoKT0+KHtjYWxsYmFjazp0fSkpLmhlbHBlcnMoKCk9PmlsKS5yZXR1cm4oZT0+ZS53cmFwcGVkSGVscGVycygpKS5leGVjdXRvcihhc3luYyhlLHIpPT57bGV0e2NhbGxiYWNrOm99PXIuZ2V0QXJndW1lbnRzKCk7YXdhaXQgbyhyLndyYXBIZWxwZXJzKG5sKSkmJmF3YWl0IGUoKX0pLnJ1bigpfXZhciBucj1tKFwiZmlsdGVyXCIsc2wpLGlsPXttYXA6a3QsZmlsdGVyOm5yLHJlcGxhY2U6U2UsYWk6dmUsZXhpc3RzOlJlfTt2YXIgZmw9e2Nzczp4LkNzcyxodG1sOnguSHRtbCxqczp4LkphdmFTY3JpcHQsanN4OnguSmF2YVNjcmlwdCxtanM6eC5KYXZhU2NyaXB0LGNqczp4LkphdmFTY3JpcHQsdHM6eC5UeXBlU2NyaXB0LHRzeDp4LlRzeCxzaDp4LkJhc2gsYzp4LkMsaDp4LkMsY3BwOnguQ3BwLGhwcDp4LkNwcCxjczp4LkNTaGFycCxkYXJ0OnguRGFydCxleDp4LkVsaXhpcixleHM6eC5FbGl4aXIsZ286eC5HbyxqYXZhOnguSmF2YSxqc29uOnguSnNvbixrdDp4LktvdGxpbixsdWE6eC5MdWEscGhwOnguUGhwLHB5OnguUHl0aG9uLHB5Mzp4LlB5dGhvbixyYjp4LlJ1YnkscnM6eC5SdXN0LHNjYWxhOnguU2NhbGEsc3dpZnQ6eC5Td2lmdCxzcWw6eC5TcWwscHNxbDp4LlNxbCxteXNxbDp4LlNxbH0sbGw9ZG4ucHJvbWlzaWZ5KGNuLmV4ZWNGaWxlKSx1bD1hc3luYyh0LGUpPT57bGV0IHI9RGUucmVzb2x2ZShcIkBhc3QtZ3JlcC9jbGkvcGFja2FnZS5qc29uXCIpLHtiaW46b309SlNPTi5wYXJzZShhd2FpdCBtbi5yZWFkRmlsZShyLFwidXRmLThcIikpLG49VGUuam9pbihUZS5kaXJuYW1lKERlLnJlc29sdmUoXCJAYXN0LWdyZXAvY2xpL3BhY2thZ2UuanNvblwiKSksby5zZyk7YXdhaXQgbGwobixbXCJzY2FuXCIsXCItLXVwZGF0ZS1hbGxcIixcIi0taW5saW5lLXJ1bGVzXCIsSlNPTi5zdHJpbmdpZnkodCksZV0pfTtmdW5jdGlvbiBjbCh0LGUpe3JldHVybiBuZXcgYyhcImFzdEdyZXBcIikuYXJndW1lbnRzKCgpPT57bGV0IHI9dDtyZXR1cm4gdHlwZW9mIHQ9PVwib2JqZWN0XCImJihyPUFycmF5LmlzQXJyYXkodCk/dC5qb2luKFwiXCIpOnQpLHtncmVwOnIsY2FsbGJhY2s6ZX19KS5oZWxwZXJzKHI9PntsZXR7Z3JlcDpvfT1yLmdldEFyZ3VtZW50cygpO3JldHVybiB0eXBlb2Ygbz09XCJvYmplY3RcIiYmXCJpZFwiaW4gbz9tbDp1bn0pLnJldHVybihyPT5yLndyYXBwZWRIZWxwZXJzKCkpLmV4ZWN1dG9yKGFzeW5jKHIsbyk9PntsZXQgbj1iKCkse2dyZXA6cyxjYWxsYmFjazppfT1vLmdldEFyZ3VtZW50cygpLGE7aWYodHlwZW9mIHM9PVwic3RyaW5nXCIpdHJ5e2E9Z24ucGFyc2Uocyl9Y2F0Y2h7YT17cnVsZTp7cGF0dGVybjp7Y29udGV4dDpzLHN0cmljdG5lc3M6XCJyZWxheGVkXCJ9fX19ZWxzZSBhPXM7aWYodHlwZW9mIHM9PVwib2JqZWN0XCImJlwiaWRcImluIHMpYXdhaXQgdWwoYSxuLmZpbGUpO2Vsc2V7aWYoIW4uZXh0ZW5zaW9uKXJldHVybjtsZXQgcD1mbFtuLmV4dGVuc2lvbl07aWYoIXApe2NvbnNvbGUud2FybihgJHtULnllbGxvdyhcIldBUk5cIil9IFVuc3VwcG9ydGVkIGZpbGUgZXh0ZW5zaW9uOiAke24uZXh0ZW5zaW9ufWApO3JldHVybn1sZXQgZj1wbChwLGF3YWl0IG4uY29udGVudHMoKSkucm9vdCgpLmZpbmRBbGwoYSkucmV2ZXJzZSgpLGw9e3F1ZXJ5OnN9O2ZvcihsZXQgdSBvZiBmKXImJihsLm5vZGU9dSxhd2FpdCBiZS5ydW4obCxhc3luYygpPT4oYXdhaXQgaT8uKHVuKSxhd2FpdCByKCkpKSk7YXdhaXQgbi5zYXZlKCl9fSkucnVuKCl9dmFyIGs9bShcImFzdEdyZXBcIixjbCksdW49e3JlcGxhY2U6U2UsbWFwOmt0LGFpOnZlLGZpbHRlcjpucixleGlzdHM6UmV9LG1sPXthc3RHcmVwOmt9O2ltcG9ydCphcyBOIGZyb21cIm5vZGU6ZnMvcHJvbWlzZXNcIjtpbXBvcnQqYXMgWiBmcm9tXCJub2RlOnBhdGhcIjtpbXBvcnQqYXMgXyBmcm9tXCJub2RlOnBhdGgvcG9zaXhcIjtpbXBvcnQqYXMgeG4gZnJvbVwiZ2xvYlwiO3ZhciBobj1bXCJqc1wiLFwianN4XCIsXCJ0c1wiLFwidHN4XCIsXCJjanNcIixcIm1qc1wiXSxkbD0odCxlKT0+e2ZvcihsZXRbcixvXW9mIE9iamVjdC5lbnRyaWVzKGUpKWlmKHQ9PT1vKXJldHVybiByfSxnbD1hc3luYyh0LGUpPT57aWYodCBpbiBlKXJldHVybiBlW3RdO2xldCByPXQuaW5kZXhPZihcIj9cIik7aWYociE9PS0xKXtsZXQgbz10LnNsaWNlKDAscik7aWYobyBpbiBlKXJldHVybmAke2Vbb119PyR7dC5zbGljZShyKzEpfWB9Zm9yKGxldCBvIG9mIGhuKXtsZXQgbj1gJHt0fS4ke299YDtpZihuIGluIGUpcmV0dXJuIF8uZm9ybWF0KHsuLi5fLnBhcnNlKGVbbl0pLGJhc2U6dm9pZCAwLGV4dDp2b2lkIDB9KX10cnl7aWYoKGF3YWl0IE4uc3RhdCh0KSkuaXNEaXJlY3RvcnkoKSlmb3IobGV0IG8gb2YgaG4pe2xldCBuPWAke18uam9pbih0LFwiaW5kZXhcIil9LiR7b31gO2lmKG4gaW4gZSlyZXR1cm4gXy5mb3JtYXQoey4uLl8ucGFyc2UoZVtuXSksYmFzZTp2b2lkIDAsZXh0OnZvaWQgMCxuYW1lOnZvaWQgMH0pfX1jYXRjaHt9fSxobD1hc3luYyh0LGUscik9PntpZihyPy5zdGFydHNXaXRoKFwiLlwiKSYmIXIuZW5kc1dpdGgoXCJwYWNrYWdlLmpzb25cIikpe2xldCBvPWRsKHQsZSksbj1fLnJlc29sdmUoXy5kaXJuYW1lKG8/P3QpLHIpLHM9YXdhaXQgZ2wobixlKT8/bixpPV8uam9pbihfLnJlbGF0aXZlKF8uZGlybmFtZSh0KSxfLmRpcm5hbWUocykpLF8uYmFzZW5hbWUocykpO2kuc3RhcnRzV2l0aChcIi5cIil8fChpPWAuLyR7aX1gKTtsZXQgYT1fLmV4dG5hbWUoaSk7cmV0dXJuIGE9PT1cIi50c1wiP2E9XCIuanNcIjooYT09PVwiLnRzeFwifHxhPT09XCIuanN4XCIpJiYoYT12b2lkIDApLGk9Xy5mb3JtYXQoey4uLl8ucGFyc2UoaSksYmFzZTp2b2lkIDAsZXh0OmF9KSxyIT09aT9pOnJ9cmV0dXJuIHJ9O2Z1bmN0aW9uIHhsKHQpe3JldHVybiBuZXcgYyhcIm1vdmVcIikuYXJndW1lbnRzKCgpPT4oe3RhcmdldDp0fSkpLmhlbHBlcnMoeWwpLmV4ZWN1dG9yKGFzeW5jKGUscik9PntsZXR7dGFyZ2V0Om99PXIuZ2V0QXJndW1lbnRzKCkse2N3ZDpufT12KCkscz1wdC5nZXRTdG9yZSgpLGk9W10sYT0hMTtzPyhhPSEwLGk9W1ouYmFzZW5hbWUocy5maWxlKV0pOmk9YXdhaXQgeG4uZ2xvYihcIioqLyouKlwiLHtjd2Q6bixub2RpcjohMCxpZ25vcmU6W1wiKiovbm9kZV9tb2R1bGVzLyoqXCIsXCIqKi8uZ2l0LyoqXCIsXCIqKi9kaXN0LyoqXCIsXCIqKi9idWlsZC8qKlwiXX0pO2xldCBwPXt9O2ZvcihsZXQgZiBvZiBpKXtsZXQgbD1aLnJlc29sdmUobixmKSx1PVoucmVzb2x2ZShvLC4uLmE/W106W1ouYmFzZW5hbWUobildLGYpO2NvbnNvbGUubG9nKGBNb3ZpbmcgJHtsfSB0byAke3V9YCksYXdhaXQgTi5ta2RpcihaLmRpcm5hbWUodSkse3JlY3Vyc2l2ZTohMH0pLGF3YWl0IE4ucmVuYW1lKGwsdSksdS5tYXRjaCgvXFwuKHRzfGpzfHRzeHxqc3h8Y2pzfG1qcykkLykmJihwW2xdPXUpO3RyeXthd2FpdCBOLnJlYWRkaXIoWi5kaXJuYW1lKGwpKS50aGVuKGQ9PmQubGVuZ3RoPT09MCkmJmF3YWl0IE4ucm1kaXIoWi5kaXJuYW1lKGwpKX1jYXRjaHt9fXRyeXthd2FpdCBOLnJlYWRkaXIobikudGhlbihmPT5mLmxlbmd0aD09PTApJiZhd2FpdCBOLnJtZGlyKG4pfWNhdGNoe31hd2FpdCBHLnJ1bihRZSgpLGFzeW5jKCk9PmF3YWl0ICQoXCIqKi8qLntqcyxqc3gsdHMsdHN4LGNqcyxtanN9XCIpLmpzRmFtKGFzeW5jKHthc3RHcmVwOmZ9KT0+e2xldCBsPWIoKS5maWxlO2F3YWl0IGYoe3J1bGU6e2FueTpbe2tpbmQ6XCJzdHJpbmdfZnJhZ21lbnRcIixpbnNpZGU6e2tpbmQ6XCJzdHJpbmdcIixpbnNpZGU6e2FueTpbe2tpbmQ6XCJpbXBvcnRfc3RhdGVtZW50XCJ9LHtraW5kOlwiZXhwb3J0X3N0YXRlbWVudFwifV19fX0se2tpbmQ6XCJzdHJpbmdfZnJhZ21lbnRcIixpbnNpZGU6e2tpbmQ6XCJzdHJpbmdcIixpbnNpZGU6e2tpbmQ6XCJhcmd1bWVudHNcIixpbnNpZGU6e2tpbmQ6XCJjYWxsX2V4cHJlc3Npb25cIixyZWdleDpcIl5yZXF1aXJlXCJ9fX19XX19KS5yZXBsYWNlKGFzeW5jKHtnZXROb2RlOnV9KT0+YXdhaXQgaGwobCxwLHUoKS50ZXh0KCkpKX0pKX0pLnJldHVybihlPT5lLndyYXBwZWRIZWxwZXJzKCkpLnJ1bigpfXZhciBGZT1tKFwibW92ZVwiLHhsKSx5bD17fTtpbXBvcnR7dHMgYXMgQWx9ZnJvbVwiQGFzdC1ncmVwL25hcGlcIjtmdW5jdGlvbiBIZSh0KXtyZXR1cm4gayh7cnVsZTp7YW55Olt7cGF0dGVybjp0LnJlcGxhY2UoL1wiL2csXCInXCIpfSx7cGF0dGVybjp0LnJlcGxhY2UoLycvZywnXCInKX1dfX0pfWZ1bmN0aW9uIHdsKHQpe2xldCBlPWZuKFwidHN4XCIpO3JldHVybiBuZXcgYyhcImpzY29kZXNoaWZ0XCIpLmFyZ3VtZW50cygoKT0+KHtjYWxsYmFjazp0fSkpLmhlbHBlcnMoKCk9PmJsKS5yZXR1cm4ocj0+ci53cmFwcGVkSGVscGVycygpKS5leGVjdXRvcihhc3luYyhyLG8pPT57bGV0e2NhbGxiYWNrOm59PW8uZ2V0QXJndW1lbnRzKCkscz1iKCksaT1hd2FpdCBzLmNvbnRlbnRzKCk7dHJ5e2xldCBhPWF3YWl0IG4oe3BhdGg6cy5maWxlLHNvdXJjZTppfSxlLHt9KTt0eXBlb2YgYT09XCJzdHJpbmdcIiYmaSE9PWEmJihzLnNldENvbnRlbnRzKGEpLGF3YWl0IHMuc2F2ZSgpKX1jYXRjaChhKXtjb25zb2xlLmVycm9yKGBqc2NvZGVzaGlmdCBlcnJvcjogJHthfSBpbiAke3MuZmlsZX1gKX1hd2FpdCByKCl9KS5ydW4oKX12YXIgeW49bShcImpzY29kZXNoaWZ0XCIsd2wpLGJsPXt9O2Z1bmN0aW9uIF9sKHQpe3JldHVybiBuZXcgYyhcImpzRmFtXCIpLmFyZ3VtZW50cygoKT0+KHtjYWxsYmFjazp0fSkpLmhlbHBlcnMod24pLnNldFBhcmVudEFyZ3Moe2RlZmF1bHRHbG9iOlwiKiovKi57anMsanN4LHRzLHRzeCxjanMsbWpzfVwifSkucmV0dXJuKGU9PmUud3JhcHBlZEhlbHBlcnMoKSkuZXhlY3V0b3IoYXN5bmMoZSxyKT0+e2xldHtjYWxsYmFjazpvfT1yLmdldEFyZ3VtZW50cygpO28mJmF3YWl0IG8od24pLGF3YWl0IGUoKTtsZXR7aW1wb3J0c1VwZGF0ZXM6bn09YigpLHM9YT0+KHtmcm9tOmEuZ2V0TWF0Y2goXCJGUk9NXCIpPy50ZXh0KCksaW1wb3J0czphLmdldE11bHRpcGxlTWF0Y2hlcyhcIklNUE9SVFNcIikuZmlsdGVyKHA9PnAua2luZCgpIT09XCIsXCIpLm1hcChwPT5wLnRleHQoKSl9KSxpPXtydWxlOnthbnk6W3twYXR0ZXJuOlwiaW1wb3J0IHsgJCQkSU1QT1JUUyB9IGZyb20gJyRGUk9NJ1wifSx7cGF0dGVybjonaW1wb3J0IHsgJCQkSU1QT1JUUyB9IGZyb20gXCIkRlJPTVwiJ31dfX07aWYobi5sZW5ndGgpZm9yKGxldHt0eXBlOmEsaW1wb3J0OnB9b2Ygbil7bGV0IGY9QWwucGFyc2UocCkucm9vdCgpLmZpbmRBbGwoaSk7Zm9yKGxldCBsIG9mIGYpe2xldCB1PXMobCk7YXdhaXQgayhpKS5yZXBsYWNlKCh7Z2V0Tm9kZTpkfSk9PntsZXQgaD1zKGQoKSksZz0hMTtpZihoLmZyb209PT11LmZyb20pZm9yKGxldCB5IG9mIHUuaW1wb3J0cylhPT09XCJhZGRcIj9oLmltcG9ydHMuaW5jbHVkZXMoeSl8fChnPSEwLGguaW1wb3J0cy5wdXNoKHkpKTphPT09XCJyZW1vdmVcIiYmaC5pbXBvcnRzLmluY2x1ZGVzKHkpJiYoZz0hMCxoLmltcG9ydHM9aC5pbXBvcnRzLmZpbHRlcihDPT5DIT09eSkpO2lmKGcpcmV0dXJuYGltcG9ydCB7ICR7aC5pbXBvcnRzLmpvaW4oXCIsIFwiKX0gfSBmcm9tIFwiJHtoLmZyb219XCJgfSl9fX0pLnJ1bigpfXZhciBibj1tKFwianNGYW1cIixfbCksd249e2FzdEdyZXA6ayxnZXRJbXBvcnRzOkhlLGFkZEltcG9ydDp0PT57YigpLmltcG9ydHNVcGRhdGVzLnB1c2goe3R5cGU6XCJhZGRcIixpbXBvcnQ6dH0pfSxyZW1vdmVJbXBvcnQ6dD0+e2IoKS5pbXBvcnRzVXBkYXRlcy5wdXNoKHt0eXBlOlwicmVtb3ZlXCIsaW1wb3J0OnR9KX0sanNjb2Rlc2hpZnQ6eW59O2Z1bmN0aW9uIENsKHQpe2xldCBlPVtdO3JldHVybiBuZXcgYyhcIm1hcFwiKS5oZWxwZXJzKEFuKS5hcmd1bWVudHMoKCk9Pih7Y2FsbGJhY2s6dH0pKS5leGVjdXRvcihhc3luYyhyLG8pPT57bGV0e2NhbGxiYWNrOm59PW8uZ2V0QXJndW1lbnRzKCkscz1hd2FpdCBuKEFuKTtlLnB1c2gocyksYXdhaXQgcj8uKCl9KS5yZXR1cm4oKCk9PmUpLnJ1bigpfXZhciBfbj1tKFwibWFwXCIsQ2wpLEFuPXtnZXRDb250ZW50czphc3luYygpPT5KU09OLnBhcnNlKGF3YWl0IGIoKS5jb250ZW50cygpKX07aW1wb3J0IFBsIGZyb21cImRldGVjdC1pbmRlbnRcIjtpbXBvcnR7ZGV0ZWN0TmV3bGluZSBhcyB2bH1mcm9tXCJkZXRlY3QtbmV3bGluZVwiO2Z1bmN0aW9uIFJsKHQpe3JldHVybiBuZXcgYyhcInVwZGF0ZVwiKS5oZWxwZXJzKFNsKS5hcmd1bWVudHMoKCk9Pih7Y2FsbGJhY2s6dH0pKS5leGVjdXRvcihhc3luYyhlLHIpPT57bGV0e2NhbGxiYWNrOm99PXIuZ2V0QXJndW1lbnRzKCksbj1iKCkscz1hd2FpdCBuLmNvbnRlbnRzKCksaT1QbChzKS5pbmRlbnR8fFwiICBcIixhPXZsKHMpfHxgXG5gLHA9cy5zbGljZSgtYS5sZW5ndGgpLGY9YS5sb2NhbGVDb21wYXJlKHApPT09MD9hOlwiXCIsbD1hd2FpdCBvKEpTT04ucGFyc2UocykpO24uc2V0Q29udGVudHMoSlNPTi5zdHJpbmdpZnkobCxudWxsLGkpLmNvbmNhdChmKSksYXdhaXQgbi5zYXZlKCksYXdhaXQgZT8uKCl9KS5yZXR1cm4oZT0+ZS53cmFwcGVkSGVscGVycygpKS5ydW4oKX12YXIgQ249bShcInVwZGF0ZVwiLFJsKSxTbD17fTtmdW5jdGlvbiBUbCh0KXtyZXR1cm4gbmV3IGMoXCJqc29uXCIpLmFyZ3VtZW50cygoKT0+KHtjYWxsYmFjazp0fSkpLmhlbHBlcnMoUG4pLnNldFBhcmVudEFyZ3Moe2RlZmF1bHRHbG9iOlwiKiovKi5qc29uXCJ9KS5yZXR1cm4oZT0+ZS53cmFwcGVkSGVscGVycygpKS5leGVjdXRvcihhc3luYyhlLHIpPT57bGV0e2NhbGxiYWNrOm99PXIuZ2V0QXJndW1lbnRzKCk7byYmYXdhaXQgbyhQbiksYXdhaXQgZSgpfSkucnVuKCl9dmFyIHZuPW0oXCJqc29uXCIsVGwpLFBuPXttYXA6X24sdXBkYXRlOkNufTtpbXBvcnQqYXMgU24gZnJvbVwieWFtbFwiO2Z1bmN0aW9uIEZsKHQpe2xldCBlPVtdO3JldHVybiBuZXcgYyhcIm1hcFwiKS5oZWxwZXJzKFJuKS5hcmd1bWVudHMoKCk9Pih7Y2FsbGJhY2s6dH0pKS5leGVjdXRvcihhc3luYyhyLG8pPT57bGV0e2NhbGxiYWNrOm59PW8uZ2V0QXJndW1lbnRzKCkscz1hd2FpdCBuKFJuKTtlLnB1c2gocyksYXdhaXQgcj8uKCl9KS5yZXR1cm4oKCk9PmUpLnJ1bigpfXZhciBUbj1tKFwibWFwXCIsRmwpLFJuPXtnZXRDb250ZW50czphc3luYygpPT5Tbi5wYXJzZShhd2FpdCBiKCkuY29udGVudHMoKSl9O2ltcG9ydCBIbCBmcm9tXCJkZXRlY3QtaW5kZW50XCI7aW1wb3J0KmFzIEVlIGZyb21cInlhbWxcIjtmdW5jdGlvbiBFbCh0KXtyZXR1cm4gbmV3IGMoXCJ1cGRhdGVcIikuaGVscGVycyhMbCkuYXJndW1lbnRzKCgpPT4oe2NhbGxiYWNrOnR9KSkuZXhlY3V0b3IoYXN5bmMoZSxyKT0+e2xldHtjYWxsYmFjazpvfT1yLmdldEFyZ3VtZW50cygpLG49YigpLHM9YXdhaXQgbi5jb250ZW50cygpLGk9SGwocykuYW1vdW50fHwyLGE9YXdhaXQgbyhFZS5wYXJzZShzKSk7bi5zZXRDb250ZW50cyhFZS5zdHJpbmdpZnkoYSx7aW5kZW50Oml9KSksYXdhaXQgbi5zYXZlKCksYXdhaXQgZT8uKCl9KS5yZXR1cm4oZT0+ZS53cmFwcGVkSGVscGVycygpKS5ydW4oKX12YXIgRm49bShcInVwZGF0ZVwiLEVsKSxMbD17fTtmdW5jdGlvbiBJbCh0KXtyZXR1cm4gbmV3IGMoXCJ5YW1sXCIpLmFyZ3VtZW50cygoKT0+KHtjYWxsYmFjazp0fSkpLmhlbHBlcnMoSG4pLnNldFBhcmVudEFyZ3Moe2RlZmF1bHRHbG9iOlwiKiovKi55YW1sXCJ9KS5yZXR1cm4oZT0+ZS53cmFwcGVkSGVscGVycygpKS5leGVjdXRvcihhc3luYyhlLHIpPT57bGV0e2NhbGxiYWNrOm99PXIuZ2V0QXJndW1lbnRzKCk7byYmYXdhaXQgbyhIbiksYXdhaXQgZSgpfSkucnVuKCl9dmFyIEVuPW0oXCJ5YW1sXCIsSWwpLEhuPXttYXA6VG4sdXBkYXRlOkZufTtmdW5jdGlvbiBPbCh0LGUpe3JldHVybiBuZXcgYyhcImZpbGVzXCIpLmFyZ3VtZW50cyhyPT57bGV0IG89ci5nZXRDaGlsZEFyZyhcImRlZmF1bHRHbG9iXCIpPz9cIioqLyouKlwiO3JldHVybntnbG9iczpLKCF0fHx0eXBlb2YgdD09XCJmdW5jdGlvblwiP286dCwvW1xcbjsgXS8pLGNhbGxiYWNrOnR5cGVvZiB0PT1cImZ1bmN0aW9uXCI/dDplfX0pLmhlbHBlcnMoTG4pLmV4ZWN1dG9yKGFzeW5jKHIsbyk9PntsZXR7Z2xvYnM6bixjYWxsYmFjazpzfT1vLmdldEFyZ3VtZW50cygpLHtjd2Q6aX09digpLGE9bi5maWx0ZXIobD0+S3QuaXNBYnNvbHV0ZShsKSkscD1uLmZpbHRlcihsPT4hS3QuaXNBYnNvbHV0ZShsKSksZj1bLi4uKGF3YWl0IEluLmdsb2IocCx7Y3dkOmksbm9kaXI6ITAsaWdub3JlOltcIioqL25vZGVfbW9kdWxlcy8qKlwiLFwiKiovLmdpdC8qKlwiLFwiKiovZGlzdC8qKlwiLFwiKiovYnVpbGQvKipcIl19KSkubWFwKGw9Pkt0LmpvaW4oaSxsKSksLi4uYV07Zm9yKGxldCBsIG9mIGYpYXdhaXQgcHQucnVuKG5ldyBsdCh7ZmlsZTpsfSksYXN5bmMoKT0+e3MmJmF3YWl0IHMoTG4pLGF3YWl0IHIoKX0pfSkucnVuKCl9dmFyICQ9bShcImZpbGVzXCIsT2wpLExuPXtqc0ZhbTpibixtb3ZlOkZlLGFzdEdyZXA6ayx5YW1sOkVuLGpzb246dm59O2ltcG9ydCphcyAkbiBmcm9tXCJub2RlOmZzL3Byb21pc2VzXCI7aW1wb3J0KmFzIFV0IGZyb21cIm5vZGU6cGF0aFwiO2ltcG9ydCphcyBxdCBmcm9tXCJnbG9iXCI7aW1wb3J0KmFzIGtuIGZyb21cIm5vZGU6cGF0aFwiO2ltcG9ydHt0cyBhcyBrbH1mcm9tXCJAYXN0LWdyZXAvbmFwaVwiO2ltcG9ydCphcyBqbiBmcm9tXCJnbG9iXCI7ZnVuY3Rpb24gamwodCxlKXtyZXR1cm4gbmV3IGMoXCJqc0ZpbGVzXCIpLmFyZ3VtZW50cygoKT0+KHtnbG9iczpLKCF0fHx0eXBlb2YgdD09XCJmdW5jdGlvblwiP1wiKiovKi57anMsanN4LHRzLHRzeCxjanMsbWpzfVwiOnQsL1tcXG47IF0vKSxjYWxsYmFjazp0eXBlb2YgdD09XCJmdW5jdGlvblwiP3Q6ZX0pKS5oZWxwZXJzKE9uKS5leGVjdXRvcihhc3luYyhyLG8pPT57bGV0e2dsb2JzOm4sY2FsbGJhY2s6c309by5nZXRBcmd1bWVudHMoKSx7Y3dkOml9PXYoKSxhPWF3YWl0IGpuLmdsb2Iobix7Y3dkOmksbm9kaXI6ITAsaWdub3JlOltcIioqL25vZGVfbW9kdWxlcy8qKlwiLFwiKiovLmdpdC8qKlwiLFwiKiovZGlzdC8qKlwiLFwiKiovYnVpbGQvKipcIl19KTtmb3IobGV0IHAgb2YgYSlhd2FpdCBwdC5ydW4obmV3IGx0KHtmaWxlOmtuLmpvaW4oaSxwKX0pLGFzeW5jKCk9PntzJiZhd2FpdCBzKE9uKSxhd2FpdCByKCk7bGV0e2ltcG9ydHNVcGRhdGVzOmZ9PWIoKSxsPWQ9Pih7ZnJvbTpkLmdldE1hdGNoKFwiRlJPTVwiKT8udGV4dCgpLGltcG9ydHM6ZC5nZXRNdWx0aXBsZU1hdGNoZXMoXCJJTVBPUlRTXCIpLmZpbHRlcihoPT5oLmtpbmQoKSE9PVwiLFwiKS5tYXAoaD0+aC50ZXh0KCkpfSksdT17cnVsZTp7YW55Olt7cGF0dGVybjpcImltcG9ydCB7ICQkJElNUE9SVFMgfSBmcm9tICckRlJPTSdcIn0se3BhdHRlcm46J2ltcG9ydCB7ICQkJElNUE9SVFMgfSBmcm9tIFwiJEZST01cIid9XX19O2lmKGYubGVuZ3RoKWZvcihsZXR7dHlwZTpkLGltcG9ydDpofW9mIGYpe2xldCBnPWtsLnBhcnNlKGgpLnJvb3QoKS5maW5kQWxsKHUpO2ZvcihsZXQgeSBvZiBnKXtsZXQgQz1sKHkpO2F3YWl0IGsodSkucmVwbGFjZSgoe2dldE5vZGU6SH0pPT57bGV0IHc9bChIKCkpLFA9ITE7aWYody5mcm9tPT09Qy5mcm9tKWZvcihsZXQgRSBvZiBDLmltcG9ydHMpZD09PVwiYWRkXCI/dy5pbXBvcnRzLmluY2x1ZGVzKEUpfHwoUD0hMCx3LmltcG9ydHMucHVzaChFKSk6ZD09PVwicmVtb3ZlXCImJncuaW1wb3J0cy5pbmNsdWRlcyhFKSYmKFA9ITAsdy5pbXBvcnRzPXcuaW1wb3J0cy5maWx0ZXIoUj0+UiE9PUUpKTtpZihQKXJldHVybmBpbXBvcnQgeyAke3cuaW1wb3J0cy5qb2luKFwiLCBcIil9IH0gZnJvbSBcIiR7dy5mcm9tfVwiYH0pfX19KX0pLnJldHVybihyPT5yLndyYXBwZWRIZWxwZXJzKCkpLnJ1bigpfXZhciB1dD1tKFwianNGaWxlc1wiLGpsKSxPbj17YXN0R3JlcDprLGdldEltcG9ydHM6SGUsYWRkSW1wb3J0OnQ9PntiKCkuaW1wb3J0c1VwZGF0ZXMucHVzaCh7dHlwZTpcImFkZFwiLGltcG9ydDp0fSl9LHJlbW92ZUltcG9ydDp0PT57YigpLmltcG9ydHNVcGRhdGVzLnB1c2goe3R5cGU6XCJyZW1vdmVcIixpbXBvcnQ6dH0pfX07ZnVuY3Rpb24gRGwodCl7bGV0IGU9W107cmV0dXJuIG5ldyBjKFwibWFwXCIpLmhlbHBlcnMoRG4pLmV4ZWN1dG9yKGFzeW5jKCk9PntsZXQgcj1hd2FpdCB0KERuKTtlLnB1c2gocil9KS5yZXR1cm4oKCk9PmUpLnJ1bigpfXZhciBHbj1tKFwibWFwXCIsRGwpLERuPXtjd2Q6KCk9PnYoKS5jd2R9O2Z1bmN0aW9uIEdsKHQsZSl7cmV0dXJuIG5ldyBjKFwiZGlyc1wiKS5hcmd1bWVudHMoKCk9PntpZih0eXBlb2YgdD09XCJvYmplY3RcIiYmIUFycmF5LmlzQXJyYXkodCkpe2xldHtkaXJzOm4sLi4uc309dDtyZXR1cm57cGFyYW1zOnsuLi5zLGRpcnM6SyhuKX0sY2FsbGJhY2s6ZX19bGV0IHI9Syh0KTtyZXR1cm57cGFyYW1zOntjcmVhdGU6ci5sZW5ndGg9PT0xJiYhcXQuaGFzTWFnaWMoclswXSksZGlyczpyfSxjYWxsYmFjazplfX0pLmhlbHBlcnMoTm4pLmV4ZWN1dG9yKGFzeW5jKHIsbyk9PntsZXR7cGFyYW1zOntkaXJzOm4sY3JlYXRlOnMsaWdub3JlOml9fT1vLmdldEFyZ3VtZW50cygpLHtjd2Q6YX09digpLHA9YXdhaXQgcXQuZ2xvYihuLHtjd2Q6YSxpZ25vcmU6aX0pLGY9bmV3IFNldDtmb3IobGV0IGwgb2YgcClmLmhhcyhsKXx8KGYuYWRkKGwpLGF3YWl0IEcucnVuKHtjd2Q6VXQuam9pbihhLGwpfSxyKSk7aWYocylmb3IobGV0IGwgb2YgbikhcXQuaGFzTWFnaWMobCkmJiFmLmhhcyhsKSYmKGYuYWRkKGwpLGNvbnNvbGUubG9nKGBDcmVhdGluZyBkaXJlY3RvcnkgJHtVdC5qb2luKGEsbCl9YCksYXdhaXQgJG4ubWtkaXIoVXQuam9pbihhLGwpLHtyZWN1cnNpdmU6ITB9KSxhd2FpdCBHLnJ1bih7Y3dkOlV0LmpvaW4oYSxsKX0scikpfSkuY2FsbGJhY2soYXN5bmMgcj0+e2xldHtjYWxsYmFjazpvfT1yLmdldEFyZ3VtZW50cygpO2F3YWl0IG8/LihObil9KS5yZXR1cm4ocj0+ci53cmFwcGVkSGVscGVycygpKS5ydW4oKX12YXIgaHQ9bShcImRpcnNcIixHbCksTm49e2RpcnM6aHQsanNGaWxlczp1dCxjb2RlbW9kOnEsZXhlYzpVLG1vdmU6RmUsbWFwOkduLGZpbGVzOiR9O2Z1bmN0aW9uIE5sKHtmb3JjZTp0fT17Zm9yY2U6ITB9KXtyZXR1cm4gbmV3IGMoXCJwdXNoXCIpLmFyZ3VtZW50cygoKT0+KHtmb3JjZTp0fSkpLmhlbHBlcnMoJGwpLmV4ZWN1dG9yKGFzeW5jIGU9PntsZXR7cmVwb3NpdG9yeTpyLGJyYW5jaDpvfT1YZSgpLHtjd2Q6bn09digpLHM9VyhgUHVzaGluZyB0byAke3J9L3RyZWUvJHtvfWApO3RyeXthd2FpdCBydChcImdpdFwiLFtcInB1c2hcIiwuLi50P1tcIi1mXCJdOltdXSx7Y3dkOm59KSxzLnN1Y2Nlc3MoKX1jYXRjaChpKXtzLmZhaWwoaS50b1N0cmluZygpKX1hd2FpdCBlKCl9KS5yZXR1cm4oZT0+ZS53cmFwcGVkSGVscGVycygpKS5ydW4oKX12YXIgY3Q9bShcInB1c2hcIixObCksJGw9e307ZnVuY3Rpb24gTWwodCl7cmV0dXJuIG5ldyBjKFwiY29tbWl0XCIpLmFyZ3VtZW50cygoKT0+KHttZXNzYWdlOnR9KSkuaGVscGVycyhCbCkuZXhlY3V0b3IoYXN5bmMoZSxyKT0+e2xldHttZXNzYWdlOm99PXIuZ2V0QXJndW1lbnRzKCkse2N3ZDpufT12KCkscz1YLmdldFN0b3JlKCksaT1XKGBDb21taXR0aW5nJHtzP2AgdG8gJHtzLnJlcG9zaXRvcnl9L3RyZWUvJHtzLmJyYW5jaH1gOlwiXCJ9JHtvP2Agd2l0aCBtZXNzYWdlOiAke0pTT04uc3RyaW5naWZ5KG8pfWA6XCJcIn1gKTt0cnl7YXdhaXQgcnQoXCJnaXRcIixbXCJhZGRcIixcIi5cIl0se2N3ZDpufSk7bGV0e3N0ZG91dDphfT1hd2FpdCBydChcImdpdFwiLFtcImNvbW1pdFwiLFwiLW1cIixvXSx7Y3dkOm4sZG9Ob3RUaHJvd0Vycm9yOiEwfSk7YS5qb2luKFwiXCIpLm1hdGNoKC9ub3RoaW5nIHRvIGNvbW1pdCwgd29ya2luZyB0cmVlIGNsZWFuL2dtKT9pLndhcm4oXCJOb3RoaW5nIHRvIGNvbW1pdFwiKTppLnN1Y2Nlc3MoYS5qb2luKFwiXCIpKX1jYXRjaChhKXtpLmZhaWwoYS50b1N0cmluZygpKX1hd2FpdCBlKCl9KS5yZXR1cm4oZT0+ZS53cmFwcGVkSGVscGVycygpKS5ydW4oKX12YXIganQ9bShcImNvbW1pdFwiLE1sKSxCbD17cHVzaDpjdH07ZnVuY3Rpb24gemwodCxlKXtsZXQgcj1EKChvLG4scyxpKT0+bi5jaGVja291dCh7YnJhbmNoOnMsZm9yY2U6aX0pKTtyZXR1cm4gbmV3IGMoXCJicmFuY2hcIikuYXJndW1lbnRzKCgpPT4oe2JyYW5jaEFyZzp0eXBlb2YgdD09XCJzdHJpbmdcIj97YnJhbmNoOnQsZm9yY2U6ITB9OnQsY2FsbGJhY2s6ZX0pKS5oZWxwZXJzKE1uKS5leGVjdXRvcihhc3luYyhvLG4pPT57bGV0e2JyYW5jaEFyZzpzfT1uLmdldEFyZ3VtZW50cygpLGk9enQoKTthd2FpdCByKGAke2kuZ2V0KFwiaWRcIil9LSR7cy5icmFuY2h9LSR7U3RyaW5nKHMuZm9yY2UpfWAsaSxzLmJyYW5jaCxzLmZvcmNlKSxhd2FpdCBvKCl9KS5jYWxsYmFjayhhc3luYyBvPT57bGV0e2NhbGxiYWNrOm59PW8uZ2V0QXJndW1lbnRzKCk7YXdhaXQgbj8uKE1uKX0pLnJldHVybihvPT5vLndyYXBwZWRIZWxwZXJzKCkpLnJ1bigpfXZhciBMZT1tKFwiYnJhbmNoXCIsemwpLE1uPXtqc0ZpbGVzOnV0LGNvbW1pdDpqdCxwdXNoOmN0LGRpcnM6aHQsY29kZW1vZDpxLGV4ZWM6VSxmaWxlczokfTtpbXBvcnQqYXMgSiBmcm9tXCJub2RlOmZzL3Byb21pc2VzXCI7aW1wb3J0KmFzIEJuIGZyb21cIm5vZGU6b3NcIjtpbXBvcnQqYXMgem4gZnJvbVwibm9kZTpwYXRoXCI7aW1wb3J0IFdsIGZyb21cIkBzaW5kcmVzb3JodXMvc2x1Z2lmeVwiO2ltcG9ydCBLbCBmcm9tXCJmaWxlbmFtaWZ5XCI7aW1wb3J0KmFzIFVsIGZyb21cImdsb2JcIjt2YXIgcWw9XCJjbVwiLFduPSguLi50KT0+e2xldCBlPXQubWFwKG89PntsZXQgbj1XbChvKTtyZXR1cm4gS2wobil9KTtyZXR1cm4gem4uam9pbihCbi50bXBkaXIoKSxxbCwuLi5lKX07dmFyIEtuPWFzeW5jIHQ9Pnt0cnl7bGV0IGU9YXdhaXQgSi5zdGF0KHQpO3JldHVybiBhd2FpdCBKLmFjY2Vzcyh0LEouY29uc3RhbnRzLlJfT0t8Si5jb25zdGFudHMuV19PS3xKLmNvbnN0YW50cy5YX09LKSxlLmlzRGlyZWN0b3J5KCl9Y2F0Y2h7cmV0dXJuITF9fTtpbXBvcnR7T2N0b2tpdCBhcyBZbH1mcm9tXCJAb2N0b2tpdC9yZXN0XCI7aW1wb3J0IFFuIGZyb21cImdpdC11cmwtcGFyc2VcIjt2YXIgVW47ZnVuY3Rpb24gcW4odCl7VW49dH1mdW5jdGlvbiBJZSgpe3JldHVybiBVbn1pbXBvcnR7Q2xlYW5PcHRpb25zIGFzIEpuLHNpbXBsZUdpdCBhcyB4dH1mcm9tXCJzaW1wbGUtZ2l0XCI7aW1wb3J0e2ludmFyaWFudCBhcyBPZX1mcm9tXCJ0cy1pbnZhcmlhbnRcIjt2YXIga2U9YXN5bmMgdD0+KGF3YWl0IHh0KCkubGlzdFJlbW90ZShbXCItLXN5bXJlZlwiLHQsXCJIRUFEXCJdKSkubWF0Y2goL3JlZnNcXC9oZWFkc1xcLyhcXFMrKS9tKT8uWzFdLHNyPWFzeW5jKHQsZSk9Pihhd2FpdCB4dCgpLmxpc3RSZW1vdGUoW3QsZV0pKS5zcGxpdChcIlx0XCIpWzBdLEpsPWFzeW5jKHtjd2Q6dCxoYXNoOmUsYnJhbmNoOnJ9KT0+e2F3YWl0IHh0KHQpLnJldnBhcnNlKFwiSEVBRFwiKSE9PWUmJmF3YWl0IHh0KHQpLnB1bGwoXCJvcmlnaW5cIixyKX0sWW49YXN5bmModCx7YnJhbmNoOmUsdXBzdHJlYW06cixmb3JrOm99KT0+e2xldCBuPUcuZ2V0U3RvcmUoKTtPZShuLFwiTm8gY3dkIGZvdW5kXCIpO2xldCBzPXh0KG4uY3dkKSxpPWF3YWl0IGtlKHIpO09lKGksYE5vIHJlbW90ZSBkZWZhdWx0IGJyYW5jaCBmb3VuZCBpbiAke3J9YCk7bGV0IGE9YXdhaXQgUHJvbWlzZS5hbGwoW3NyKHIsaSksc3IobyxpKV0pO2lmKGFbMF0hPT1hWzFdKXtsZXQgcD1XKFwiU3luY2luZyBmb3JrZWQgcmVwb3NpdG9yeVwiKTt0cnl7KGF3YWl0IHMuZ2V0UmVtb3RlcygpKS5zb21lKGY9PmYubmFtZT09PVwidXBzdHJlYW1cIil8fGF3YWl0IHMuYWRkUmVtb3RlKFwidXBzdHJlYW1cIixyKSxhd2FpdCBzLmZldGNoKFwidXBzdHJlYW1cIixpKSxhd2FpdCBzLmNoZWNrb3V0KGV8fGkpLGF3YWl0IHMubWVyZ2VGcm9tVG8oYHVwc3RyZWFtLyR7aX1gLGV8fGkpLGF3YWl0IHMucHVzaChcIm9yaWdpblwiLGV8fGkpLHAuc3VjY2VzcygpfWNhdGNoKGYpe3AuZmFpbChmLnRvU3RyaW5nKCkpfX19LFZuPWFzeW5jKHQse3JlcG9zaXRvcnlVcmw6ZSxleHRyYU5hbWU6cixzaGFsbG93Om8sYnJhbmNoOm4sdG1wRGlyOnN9KT0+e2lmKGF3YWl0IEtuKHMpKXtsZXQgYT14dChzKTtjb25zb2xlLmxvZyhgRGlyZWN0b3J5ICR7c30gYWxyZWFkeSBleGlzdHMsIHNraXBwaW5nIGNsb25lYCksYXdhaXQgYS5jbGVhbihKbi5GT1JDRStKbi5SRUNVUlNJVkUpLGF3YWl0IGEucmVzZXQoW1wiLS1oYXJkXCJdKTtsZXQgcD1hd2FpdCBrZShlKTtPZShwLGBObyByZW1vdGUgZGVmYXVsdCBicmFuY2ggZm91bmQgaW4gJHtlfWApLGF3YWl0IGEuY2hlY2tvdXQocCk7bGV0IGY9cCYmYXdhaXQgc3IoZSxwKTtPZShmLGBObyByZW1vdGUgZGVmYXVsdCBicmFuY2ggaGFzaCBmb3VuZCBpbiByZW1vdGUgJHtlfWApLGF3YWl0IEpsKHtjd2Q6cyxoYXNoOmYsYnJhbmNoOnB9KTtsZXQgbD0oYXdhaXQgYS5icmFuY2hMb2NhbCgpKS5hbGwuZmlsdGVyKHU9PnUhPT1wKTtsLmxlbmd0aCYmYXdhaXQgYS5kZWxldGVMb2NhbEJyYW5jaGVzKGwsITApO3JldHVybn1sZXQgaT1XKGBDbG9uaW5nIHJlcG9zaXRvcnk6ICR7ZX0gdG8gJHtzfWApO2F3YWl0IHh0KCkuY2xvbmUoZSxzLG8/W1wiLS1kZXB0aFwiLFwiMVwiLFwiLS1zaW5nbGUtYnJhbmNoXCIsLi4ubj9bYC0tYnJhbmNoPSR7bn1gXTpbXV06W10pLGkuc3VjY2VzcygpfTtmdW5jdGlvbiBWbCh7dGl0bGU6dCxib2R5OmUsZHJhZnQ6cn0pe3JldHVybiBuZXcgYyhcInByXCIpLmFyZ3VtZW50cygoKT0+KHt0aXRsZTp0LGJvZHk6ZX0pKS5oZWxwZXJzKFFsKS5leGVjdXRvcihhc3luYyhvLG4pPT57bGV0e2JvZHk6cyx0aXRsZTppfT1uLmdldEFyZ3VtZW50cygpLGE9SWUoKTtpZighYXdhaXQgYT8uZW5zdXJlR2l0aHViU2NvcGVzKFtcInJlcG9cIl0pKXtjb25zb2xlLmxvZyhcIkdpdGh1YiBzY29wZXMgbm90IGF2YWlsYWJsZVwiKTtyZXR1cm59bGV0IGY9YXdhaXQgYT8uZ2V0R2l0aHViQVBJS2V5KCksbD16dCgpO2lmKGYpe2xldCB1PW5ldyBZbCh7YXV0aDpmfSksZD1RbihsLmdldChcInJlcG9zaXRvcnlcIikpLGg9ZC5vd25lcixnPWQubmFtZSx5PShhd2FpdCBsLnNpbXBsZUdpdC5icmFuY2hMb2NhbCgpKS5jdXJyZW50LEM9WC5nZXRTdG9yZSgpO2lmKEM/LmZvcmtlZEZyb20pe2xldCBQPVFuKEM/LmZvcmtlZEZyb20pO2g9UC5vd25lcixnPVAubmFtZSx5PWAke2Qub3duZXJ9OiR7eX1gfWxldCBIPXtvd25lcjpoLHJlcG86Zyx0aXRsZTppLGhlYWQ6eSxiYXNlOmF3YWl0IGtlKGwuZ2V0KFwicmVwb3NpdG9yeVwiKSksYm9keTpzLGRyYWZ0OnJ9LHc9VyhgQ3JlYXRpbmcgUFIgZm9yICR7aH0vJHtnfWApO3RyeXtsZXQgUD1hd2FpdCB1LnB1bGxzLmNyZWF0ZShIKTt3LnN1Y2Nlc3MoYENyZWF0ZWQgUFIgJHtQLmRhdGEuaHRtbF91cmx9YCl9Y2F0Y2goUCl7aWYoUC50b1N0cmluZygpLmluY2x1ZGVzKFwiQSBwdWxsIHJlcXVlc3QgYWxyZWFkeSBleGlzdHNcIikpe2xldCBFPWF3YWl0IHUucHVsbHMubGlzdCh7b3duZXI6aCxyZXBvOmcsaGVhZDp5fSk7aWYoRS5kYXRhLmxlbmd0aD4wKXtsZXQgUj1FLmRhdGFbMF07dHJ5e2F3YWl0IHUucHVsbHMudXBkYXRlKHtvd25lcjpoLHJlcG86ZyxwdWxsX251bWJlcjpSLm51bWJlcix0aXRsZTppLGJvZHk6c30pLHcuc3VjY2VzcyhgVXBkYXRlZCBQUiAke1IuaHRtbF91cmx9YCl9Y2F0Y2goail7dy5mYWlsKGoudG9TdHJpbmcoKSl9fWVsc2Ugdy5mYWlsKFAudG9TdHJpbmcoKSl9ZWxzZSB3LmZhaWwoUC50b1N0cmluZygpKX1hd2FpdCBvKCl9fSkucmV0dXJuKG89Pm8ud3JhcHBlZEhlbHBlcnMoKSkucnVuKCl9dmFyIER0PW0oXCJwclwiLFZsKSxRbD17fTt2YXIgaXI9dD0+dHlwZW9mIHQ9PVwic3RyaW5nXCI/e3JlcG9zaXRvcnk6dCxzaGFsbG93OiEwfTp0O2Z1bmN0aW9uIFhsKHQsZSl7bGV0IHI9RChWbiksbz1EKFluKTtyZXR1cm4gbmV3IGMoXCJjbG9uZVwiKS5hcmd1bWVudHMoKCk9PntsZXQgbj1bXSxzPWU7cmV0dXJuIHR5cGVvZiB0PT1cInN0cmluZ1wifHxBcnJheS5pc0FycmF5KHQpJiZ0LmV2ZXJ5KGk9PnR5cGVvZiBpPT1cInN0cmluZ1wiKT9uPUsodCkubWFwKGlyKTpBcnJheS5pc0FycmF5KHQpP249dC5tYXAoaXIpOnR5cGVvZiB0PT1cImZ1bmN0aW9uXCI/KG49W10scz10KTp0JiYobj1baXIodCldKSx7cmVwb3NpdG9yaWVzOm4sY2FsbGJhY2s6c319KS5oZWxwZXJzKFhuKS5leGVjdXRvcihhc3luYyhuLHMpPT57bGV0e3JlcG9zaXRvcmllczppfT1zLmdldEFyZ3VtZW50cygpLGE9WC5nZXRTdG9yZSgpO2kubGVuZ3RoPT09MCYmYSYmaS5wdXNoKHsuLi5hLHNoYWxsb3c6ITB9KSxhd2FpdCBQcm9taXNlLmFsbChpLm1hcCgoe3JlcG9zaXRvcnk6cCxzaGFsbG93OmYsYnJhbmNoOmx9LHUpPT5HLnJ1bih7Y3dkOnByb2Nlc3MuY3dkKCl9LGFzeW5jKCk9PntsZXQgZD1gJHtwfSwgJHtTdHJpbmcodSl9LCAke1N0cmluZyhmKX0sICR7U3RyaW5nKGwpfWAsaD1XbihgJHtwfSR7U3RyaW5nKHUpfWApLGc9Ry5nZXRTdG9yZSgpLHk9QWUuZ2V0U3RvcmUoKTtnJiYoZy5jd2Q9aCkseSYmKHkuY3dkPWgpLGF3YWl0IHIoZCx7cmVwb3NpdG9yeVVybDpwLGJyYW5jaDpsLHNoYWxsb3c6ZixleHRyYU5hbWU6U3RyaW5nKHUpLHRtcERpcjpofSksYT8uZm9ya2VkRnJvbSYmYXdhaXQgbyhcIlwiLHticmFuY2g6bCx1cHN0cmVhbTphLmZvcmtlZEZyb20sZm9yazpwfSksYXdhaXQgd2UucnVuKG5ldyB3dCh7cmVwb3NpdG9yeTpwLGlkOmR9KSxuKX0pKSl9KS5jYWxsYmFjayhhc3luYyBuPT57bGV0e2NhbGxiYWNrOnN9PW4uZ2V0QXJndW1lbnRzKCk7YXdhaXQgcz8uKFhuKX0pLnJldHVybihuPT5uLndyYXBwZWRIZWxwZXJzKCkpLnJ1bigpfXZhciBqZT1tKFwiY2xvbmVcIixYbCksWG49e2pzRmlsZXM6dXQsYnJhbmNoOkxlLGNvbW1pdDpqdCxwdXNoOmN0LGRpcnM6aHQsY29kZW1vZDpxLGV4ZWM6VSxmaWxlczokLHByOkR0fTt2YXIgWm49e2Nsb25lOmplLGJyYW5jaDpMZSxwdXNoOmN0LGNvbW1pdDpqdH07aW1wb3J0IFpsIGZyb21cImlucXVpcmVyXCI7ZnVuY3Rpb24gdHUoLi4udCl7bGV0IGU7cmV0dXJuIG5ldyBjKFwicXVlc3Rpb25cIikuYXJndW1lbnRzKCgpPT4oe3F1ZXN0aW9uczp0WzBdLGFuc3dlcnM6dFsxXX0pKS5leGVjdXRvcihhc3luYyhyLG8pPT57bGV0e3F1ZXN0aW9uczpuLGFuc3dlcnM6c309by5nZXRBcmd1bWVudHMoKTtlPWF3YWl0IFpsLnByb21wdChuLHMpLGF3YWl0IHI/LigpfSkucmV0dXJuKCgpPT5lKS5ydW4oKX12YXIgdHM9bShcInF1ZXN0aW9uXCIsdHUpO2ltcG9ydHtPY3Rva2l0IGFzIHJ1fWZyb21cIkBvY3Rva2l0L3Jlc3RcIjtpbXBvcnQgZXUgZnJvbVwiZ2l0LXVybC1wYXJzZVwiO3ZhciBhcj10PT57bGV0IGU9ZXUodCk7cmV0dXJue293bmVyOmUub3duZXIscmVwbzplLm5hbWUsbmFtZTplLm5hbWV9fTt2YXIgb3U9YXN5bmModCx7Z2l0aHViQVBJS2V5OmUscGFyYW1ldGVyczpyfSk9PntsZXQgbz1uZXcgcnUoe2F1dGg6ZX0pLG49VyhgRm9ya2luZyAke3Iub3duZXJ9LyR7ci5yZXBvfWApO3RyeXtsZXQgcz1hd2FpdCBvLnJlcG9zLmNyZWF0ZUZvcmsocik7bi5zdWNjZXNzKGBGb3JrZWQgdG8gJHtzLmRhdGEuZnVsbF9uYW1lfWApO2xldCBpPXMuZGF0YS5zc2hfdXJsLGE9cy5kYXRhLnBhcmVudD8uZGVmYXVsdF9icmFuY2g/P1wibWFpblwiO3JldHVybntyZXBvc2l0b3J5OmksYnJhbmNoOmF9fWNhdGNoKHMpe24uZmFpbChzLnRvU3RyaW5nKCkpfX07ZnVuY3Rpb24gbnUodCxlKXtsZXQgcj1EKG91KTtyZXR1cm4gbmV3IGMoXCJmb3JrXCIpLmFyZ3VtZW50cygoKT0+e2xldCBvO3JldHVybiB0eXBlb2YgdD09XCJzdHJpbmdcInx8QXJyYXkuaXNBcnJheSh0KSYmdC5ldmVyeShuPT50eXBlb2Ygbj09XCJzdHJpbmdcIik/bz1LKHQpLm1hcChhcik6QXJyYXkuaXNBcnJheSh0KT9vPXQubWFwKG49PnR5cGVvZiBuPT1cInN0cmluZ1wiP2FyKG4pOm4pOm89W3RdLHtmb3JrUGFyYW1ldGVyczpvLGNhbGxiYWNrOmV9fSkuaGVscGVycyhlcykuZXhlY3V0b3IoYXN5bmMobyxuKT0+e2xldHtmb3JrUGFyYW1ldGVyczpzfT1uLmdldEFyZ3VtZW50cygpLGk9SWUoKTtpZighYXdhaXQgaT8uZW5zdXJlR2l0aHViU2NvcGVzKFtcInJlcG9cIl0pKXtjb25zb2xlLmxvZyhcIkdpdGh1YiBzY29wZXMgbm90IGF2YWlsYWJsZVwiKTtyZXR1cm59bGV0IHA9YXdhaXQgaT8uZ2V0R2l0aHViQVBJS2V5KCk7aWYocClmb3IobGV0IGYgb2Ygcyl7bGV0IGw9YCR7Zi5vd25lcn0vJHtmLnJlcG99YCx1PWF3YWl0IHIobCx7Z2l0aHViQVBJS2V5OnAscGFyYW1ldGVyczpmfSk7aWYoIXUpcmV0dXJuO2F3YWl0IFgucnVuKHsuLi51LGZvcmtlZEZyb206YGh0dHBzOi8vZ2l0aHViLmNvbS8ke2Yub3duZXJ9LyR7Zi5yZXBvfWB9LCgpPT5vKCkpfX0pLmNhbGxiYWNrKGFzeW5jIG89PntsZXR7Y2FsbGJhY2s6bn09by5nZXRBcmd1bWVudHMoKTthd2FpdCBuPy4oZXMpfSkucmV0dXJuKG89Pm8ud3JhcHBlZEhlbHBlcnMoKSkucnVuKCl9dmFyIHJzPW0oXCJmb3JrXCIsbnUpLGVzPXtjbG9uZTpqZSxwcjpEdH07dmFyIG9zPXtmb3JrOnJzLHByOkR0fTthc3luYyBmdW5jdGlvbiBzdSh0KXtsZXQgZT0kKHQpO3JldHVybiBhd2FpdCBlLmFzdEdyZXBgbW9kdWxlLmV4cG9ydHM9e3dvcmtmbG93fWAuZXhpc3RzKCl8fGF3YWl0IGUuYXN0R3JlcGBcbnJ1bGU6XG4gIHBhdHRlcm46XG4gICAgY29udGV4dDogXCJ7IHdvcmtmbG93OiAoKSA9PiAkQiB9XCJcbmAuZXhpc3RzKCl9dmFyIFdfPXtnaXQ6Wm4sYXN0R3JlcDprLGpzRmlsZXM6dXQsY29udGV4dHM6WmUsZGlyczpodCxjb2RlbW9kOnEsZ2V0VHJlZTpubixmaWxlczokLGV4ZWM6VSxxdWVzdGlvbjp0cyxnaXRodWI6b3Msc2V0QXV0aFNlcnZpY2U6cW59O2V4cG9ydHthbCBhcyBTZ05vZGUsV18gYXMgYXBpLGsgYXMgYXN0R3JlcCxiZSBhcyBhc3RHcmVwTm9kZUNvbnRleHQscSBhcyBjb2RlbW9kLFplIGFzIGNvbnRleHRzLEcgYXMgY3dkQ29udGV4dCx0biBhcyBkZXNjcmliZUNvbnRleHQsaHQgYXMgZGlycyxVIGFzIGV4ZWMscHQgYXMgZmlsZUNvbnRleHQsJCBhcyBmaWxlcyxMIGFzIGdldEFzdEdyZXBOb2RlQ29udGV4dCxJZiBhcyBnZXRDb250ZXh0c1NuYXBzaG90LHYgYXMgZ2V0Q3dkQ29udGV4dCxrZiBhcyBnZXREZXNjcmliZUNvbnRleHQsYiBhcyBnZXRGaWxlQ29udGV4dCx6dCBhcyBnZXRHaXRDb250ZXh0LEVmIGFzIGdldFBhcmVudENvbnRleHQsUWUgYXMgZ2V0UGFyZW50Q3dkQ29udGV4dCxPZiBhcyBnZXRSZXBvc2l0b3JpZXNDb250ZXh0LFhlIGFzIGdldFJlcG9zaXRvcnlDb250ZXh0LG5uIGFzIGdldFRyZWUsWm4gYXMgZ2l0LHdlIGFzIGdpdENvbnRleHQsb3MgYXMgZ2l0aHViLHN1IGFzIGlzV29ya2Zsb3dFbmdpbmVGaWxlLHV0IGFzIGpzRmlsZXMsTGYgYXMgbWlncmF0ZUNvbnRleHQsWm8gYXMgcGFyZW50Q29udGV4dExlZ2FjeSxBZSBhcyBwYXJlbnRDd2RDb250ZXh0LHRzIGFzIHF1ZXN0aW9uLFEgYXMgcmVnaXN0ZXJDb250ZXh0LGVuIGFzIHJlcG9zaXRvcmllc0NvbnRleHQsWCBhcyByZXBvc2l0b3J5Q29udGV4dCxxbiBhcyBzZXRBdXRoU2VydmljZX07XG4iLCAiY29uc3QgY2FjaGUgPSBuZXcgV2Vha01hcDxTdHJpbmcsIHN0cmluZ1tdPigpO1xuXG5leHBvcnQgZnVuY3Rpb24gcGF0aHNwZWMoLi4ucGF0aHM6IHN0cmluZ1tdKSB7XG4gICBjb25zdCBrZXkgPSBuZXcgU3RyaW5nKHBhdGhzKTtcbiAgIGNhY2hlLnNldChrZXksIHBhdGhzKTtcblxuICAgcmV0dXJuIGtleSBhcyBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1BhdGhTcGVjKHBhdGg6IHN0cmluZyB8IHVua25vd24pOiBwYXRoIGlzIHN0cmluZyB7XG4gICByZXR1cm4gcGF0aCBpbnN0YW5jZW9mIFN0cmluZyAmJiBjYWNoZS5oYXMocGF0aCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1BhdGhzKHBhdGhTcGVjOiBzdHJpbmcpOiBzdHJpbmdbXSB7XG4gICByZXR1cm4gY2FjaGUuZ2V0KHBhdGhTcGVjKSB8fCBbXTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IFNpbXBsZUdpdFRhc2sgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogVGhlIGBHaXRFcnJvcmAgaXMgdGhyb3duIHdoZW4gdGhlIHVuZGVybHlpbmcgYGdpdGAgcHJvY2VzcyB0aHJvd3MgYVxuICogZmF0YWwgZXhjZXB0aW9uIChlZyBhbiBgRU5PRU5UYCBleGNlcHRpb24gd2hlbiBhdHRlbXB0aW5nIHRvIHVzZSBhXG4gKiBub24td3JpdGFibGUgZGlyZWN0b3J5IGFzIHRoZSByb290IGZvciB5b3VyIHJlcG8pLCBhbmQgYWN0cyBhcyB0aGVcbiAqIGJhc2UgY2xhc3MgZm9yIG1vcmUgc3BlY2lmaWMgZXJyb3JzIHRocm93biBieSB0aGUgcGFyc2luZyBvZiB0aGVcbiAqIGdpdCByZXNwb25zZSBvciBlcnJvcnMgaW4gdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIHRhc2sgYWJvdXQgdG9cbiAqIGJlIHJ1bi5cbiAqXG4gKiBXaGVuIGFuIGV4Y2VwdGlvbiBpcyB0aHJvd24sIHBlbmRpbmcgdGFza3MgaW4gdGhlIHNhbWUgaW5zdGFuY2Ugd2lsbFxuICogbm90IGJlIGV4ZWN1dGVkLiBUaGUgcmVjb21tZW5kZWQgd2F5IHRvIHJ1biBhIHNlcmllcyBvZiB0YXNrcyB0aGF0XG4gKiBjYW4gaW5kZXBlbmRlbnRseSBmYWlsIHdpdGhvdXQgbmVlZGluZyB0byBwcmV2ZW50IGZ1dHVyZSB0YXNrcyBmcm9tXG4gKiBydW5uaW5nIGlzIHRvIGNhdGNoIHRoZW0gaW5kaXZpZHVhbGx5OlxuICpcbiAqIGBgYHR5cGVzY3JpcHRcbiBpbXBvcnQgeyBnaXRQLCBTaW1wbGVHaXQsIEdpdEVycm9yLCBQdWxsUmVzdWx0IH0gZnJvbSAnc2ltcGxlLWdpdCc7XG5cbiBmdW5jdGlvbiBjYXRjaFRhc2sgKGU6IEdpdEVycm9yKSB7XG4gICByZXR1cm4gZS5cbiB9XG5cbiBjb25zdCBnaXQgPSBnaXRQKHJlcG9Xb3JraW5nRGlyKTtcbiBjb25zdCBwdWxsZWQ6IFB1bGxSZXN1bHQgfCBHaXRFcnJvciA9IGF3YWl0IGdpdC5wdWxsKCkuY2F0Y2goY2F0Y2hUYXNrKTtcbiBjb25zdCBwdXNoZWQ6IHN0cmluZyB8IEdpdEVycm9yID0gYXdhaXQgZ2l0LnB1c2hUYWdzKCkuY2F0Y2goY2F0Y2hUYXNrKTtcbiBgYGBcbiAqL1xuZXhwb3J0IGNsYXNzIEdpdEVycm9yIGV4dGVuZHMgRXJyb3Ige1xuICAgY29uc3RydWN0b3IoXG4gICAgICBwdWJsaWMgdGFzaz86IFNpbXBsZUdpdFRhc2s8YW55PixcbiAgICAgIG1lc3NhZ2U/OiBzdHJpbmdcbiAgICkge1xuICAgICAgc3VwZXIobWVzc2FnZSk7XG4gICAgICBPYmplY3Quc2V0UHJvdG90eXBlT2YodGhpcywgbmV3LnRhcmdldC5wcm90b3R5cGUpO1xuICAgfVxufVxuIiwgImltcG9ydCB7IEdpdEVycm9yIH0gZnJvbSAnLi9naXQtZXJyb3InO1xuXG4vKipcbiAqIFRoZSBgR2l0UmVzcG9uc2VFcnJvcmAgaXMgdGhlIHdyYXBwZXIgZm9yIGEgcGFyc2VkIHJlc3BvbnNlIHRoYXQgaXMgdHJlYXRlZCBhc1xuICogYSBmYXRhbCBlcnJvciwgZm9yIGV4YW1wbGUgYXR0ZW1wdGluZyBhIGBtZXJnZWAgY2FuIGxlYXZlIHRoZSByZXBvIGluIGEgY29ycnVwdGVkXG4gKiBzdGF0ZSB3aGVuIHRoZXJlIGFyZSBjb25mbGljdHMgc28gdGhlIHRhc2sgd2lsbCByZWplY3QgcmF0aGVyIHRoYW4gcmVzb2x2ZS5cbiAqXG4gKiBGb3IgZXhhbXBsZSwgY2F0Y2hpbmcgdGhlIG1lcmdlIGNvbmZsaWN0IGV4Y2VwdGlvbjpcbiAqXG4gKiBgYGB0eXBlc2NyaXB0XG4gaW1wb3J0IHsgZ2l0UCwgU2ltcGxlR2l0LCBHaXRSZXNwb25zZUVycm9yLCBNZXJnZVN1bW1hcnkgfSBmcm9tICdzaW1wbGUtZ2l0JztcblxuIGNvbnN0IGdpdCA9IGdpdFAocmVwb1Jvb3QpO1xuIGNvbnN0IG1lcmdlT3B0aW9uczogc3RyaW5nW10gPSBbJy0tbm8tZmYnLCAnb3RoZXItYnJhbmNoJ107XG4gY29uc3QgbWVyZ2VTdW1tYXJ5OiBNZXJnZVN1bW1hcnkgPSBhd2FpdCBnaXQubWVyZ2UobWVyZ2VPcHRpb25zKVxuICAgICAgLmNhdGNoKChlOiBHaXRSZXNwb25zZUVycm9yPE1lcmdlU3VtbWFyeT4pID0+IGUuZ2l0KTtcblxuIGlmIChtZXJnZVN1bW1hcnkuZmFpbGVkKSB7XG4gICAvLyBkZWFsIHdpdGggdGhlIGVycm9yXG4gfVxuIGBgYFxuICovXG5leHBvcnQgY2xhc3MgR2l0UmVzcG9uc2VFcnJvcjxUID0gYW55PiBleHRlbmRzIEdpdEVycm9yIHtcbiAgIGNvbnN0cnVjdG9yKFxuICAgICAgLyoqXG4gICAgICAgKiBgLmdpdGAgYWNjZXNzIHRoZSBwYXJzZWQgcmVzcG9uc2UgdGhhdCBpcyB0cmVhdGVkIGFzIGJlaW5nIGFuIGVycm9yXG4gICAgICAgKi9cbiAgICAgIHB1YmxpYyByZWFkb25seSBnaXQ6IFQsXG4gICAgICBtZXNzYWdlPzogc3RyaW5nXG4gICApIHtcbiAgICAgIHN1cGVyKHVuZGVmaW5lZCwgbWVzc2FnZSB8fCBTdHJpbmcoZ2l0KSk7XG4gICB9XG59XG4iLCAiaW1wb3J0IHsgR2l0RXJyb3IgfSBmcm9tICcuL2dpdC1lcnJvcic7XG5cbi8qKlxuICogVGhlIGBUYXNrQ29uZmlndXJhdGlvbkVycm9yYCBpcyB0aHJvd24gd2hlbiBhIGNvbW1hbmQgd2FzIGluY29ycmVjdGx5XG4gKiBjb25maWd1cmVkLiBBbiBlcnJvciBvZiB0aGlzIGtpbmQgbWVhbnMgdGhhdCBubyBhdHRlbXB0IHdhcyBtYWRlIHRvXG4gKiBydW4geW91ciBjb21tYW5kIHRocm91Z2ggdGhlIHVuZGVybHlpbmcgYGdpdGAgYmluYXJ5LlxuICpcbiAqIENoZWNrIHRoZSBgLm1lc3NhZ2VgIHByb3BlcnR5IGZvciBtb3JlIGRldGFpbCBvbiB3aHkgeW91ciBjb25maWd1cmF0aW9uXG4gKiByZXN1bHRlZCBpbiBhbiBlcnJvci5cbiAqL1xuZXhwb3J0IGNsYXNzIFRhc2tDb25maWd1cmF0aW9uRXJyb3IgZXh0ZW5kcyBHaXRFcnJvciB7XG4gICBjb25zdHJ1Y3RvcihtZXNzYWdlPzogc3RyaW5nKSB7XG4gICAgICBzdXBlcih1bmRlZmluZWQsIG1lc3NhZ2UpO1xuICAgfVxufVxuIiwgImltcG9ydCB7IGV4aXN0cywgRk9MREVSIH0gZnJvbSAnQGt3c2l0ZXMvZmlsZS1leGlzdHMnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjb25zdCBOVUxMID0gJ1xcMCc7XG5cbmV4cG9ydCBjb25zdCBOT09QOiAoLi4uYXJnczogYW55W10pID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuLyoqXG4gKiBSZXR1cm5zIGVpdGhlciB0aGUgc291cmNlIGFyZ3VtZW50IHdoZW4gaXQgaXMgYSBgRnVuY3Rpb25gLCBvciB0aGUgZGVmYXVsdFxuICogYE5PT1BgIGZ1bmN0aW9uIGNvbnN0YW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc0Z1bmN0aW9uPFQgZXh0ZW5kcyAoKSA9PiBhbnk+KHNvdXJjZTogVCB8IGFueSk6IFQge1xuICAgcmV0dXJuIHR5cGVvZiBzb3VyY2UgPT09ICdmdW5jdGlvbicgPyBzb3VyY2UgOiBOT09QO1xufVxuXG4vKipcbiAqIERldGVybWluZXMgd2hldGhlciB0aGUgc3VwcGxpZWQgYXJndW1lbnQgaXMgYm90aCBhIGZ1bmN0aW9uLCBhbmQgaXMgbm90XG4gKiB0aGUgYE5PT1BgIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNVc2VyRnVuY3Rpb248VCBleHRlbmRzIEZ1bmN0aW9uPihzb3VyY2U6IFQgfCBhbnkpOiBzb3VyY2UgaXMgVCB7XG4gICByZXR1cm4gdHlwZW9mIHNvdXJjZSA9PT0gJ2Z1bmN0aW9uJyAmJiBzb3VyY2UgIT09IE5PT1A7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzcGxpdE9uKGlucHV0OiBzdHJpbmcsIGNoYXI6IHN0cmluZyk6IFtzdHJpbmcsIHN0cmluZ10ge1xuICAgY29uc3QgaW5kZXggPSBpbnB1dC5pbmRleE9mKGNoYXIpO1xuICAgaWYgKGluZGV4IDw9IDApIHtcbiAgICAgIHJldHVybiBbaW5wdXQsICcnXTtcbiAgIH1cblxuICAgcmV0dXJuIFtpbnB1dC5zdWJzdHIoMCwgaW5kZXgpLCBpbnB1dC5zdWJzdHIoaW5kZXggKyAxKV07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBmaXJzdDxUIGV4dGVuZHMgYW55W10+KGlucHV0OiBULCBvZmZzZXQ/OiBudW1iZXIpOiBNYXliZTxUW251bWJlcl0+O1xuZXhwb3J0IGZ1bmN0aW9uIGZpcnN0PFQgZXh0ZW5kcyBJQXJndW1lbnRzPihpbnB1dDogVCwgb2Zmc2V0PzogbnVtYmVyKTogTWF5YmU8dW5rbm93bj47XG5leHBvcnQgZnVuY3Rpb24gZmlyc3QoaW5wdXQ6IGFueVtdIHwgSUFyZ3VtZW50cywgb2Zmc2V0ID0gMCk6IE1heWJlPHVua25vd24+IHtcbiAgIHJldHVybiBpc0FycmF5TGlrZShpbnB1dCkgJiYgaW5wdXQubGVuZ3RoID4gb2Zmc2V0ID8gaW5wdXRbb2Zmc2V0XSA6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxhc3Q8VCBleHRlbmRzIGFueVtdPihpbnB1dDogVCwgb2Zmc2V0PzogbnVtYmVyKTogTWF5YmU8VFtudW1iZXJdPjtcbmV4cG9ydCBmdW5jdGlvbiBsYXN0PFQgZXh0ZW5kcyBJQXJndW1lbnRzPihpbnB1dDogVCwgb2Zmc2V0PzogbnVtYmVyKTogTWF5YmU8dW5rbm93bj47XG5leHBvcnQgZnVuY3Rpb24gbGFzdDxUPihpbnB1dDogVCwgb2Zmc2V0PzogbnVtYmVyKTogTWF5YmU8dW5rbm93bj47XG5leHBvcnQgZnVuY3Rpb24gbGFzdChpbnB1dDogdW5rbm93biwgb2Zmc2V0ID0gMCkge1xuICAgaWYgKGlzQXJyYXlMaWtlKGlucHV0KSAmJiBpbnB1dC5sZW5ndGggPiBvZmZzZXQpIHtcbiAgICAgIHJldHVybiBpbnB1dFtpbnB1dC5sZW5ndGggLSAxIC0gb2Zmc2V0XTtcbiAgIH1cbn1cblxudHlwZSBBcnJheUxpa2U8VCA9IGFueT4gPSBUW10gfCBJQXJndW1lbnRzIHwgeyBbaW5kZXg6IG51bWJlcl06IFQ7IGxlbmd0aDogbnVtYmVyIH07XG5cbmZ1bmN0aW9uIGlzQXJyYXlMaWtlKGlucHV0OiBhbnkpOiBpbnB1dCBpcyBBcnJheUxpa2Uge1xuICAgcmV0dXJuICEhKGlucHV0ICYmIHR5cGVvZiBpbnB1dC5sZW5ndGggPT09ICdudW1iZXInKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvTGluZXNXaXRoQ29udGVudChpbnB1dCA9ICcnLCB0cmltbWVkID0gdHJ1ZSwgc2VwYXJhdG9yID0gJ1xcbicpOiBzdHJpbmdbXSB7XG4gICByZXR1cm4gaW5wdXQuc3BsaXQoc2VwYXJhdG9yKS5yZWR1Y2UoKG91dHB1dCwgbGluZSkgPT4ge1xuICAgICAgY29uc3QgbGluZUNvbnRlbnQgPSB0cmltbWVkID8gbGluZS50cmltKCkgOiBsaW5lO1xuICAgICAgaWYgKGxpbmVDb250ZW50KSB7XG4gICAgICAgICBvdXRwdXQucHVzaChsaW5lQ29udGVudCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gb3V0cHV0O1xuICAgfSwgW10gYXMgc3RyaW5nW10pO1xufVxuXG50eXBlIExpbmVXaXRoQ29udGVudENhbGxiYWNrPFQgPSB2b2lkPiA9IChsaW5lOiBzdHJpbmcpID0+IFQ7XG5cbmV4cG9ydCBmdW5jdGlvbiBmb3JFYWNoTGluZVdpdGhDb250ZW50PFQ+KFxuICAgaW5wdXQ6IHN0cmluZyxcbiAgIGNhbGxiYWNrOiBMaW5lV2l0aENvbnRlbnRDYWxsYmFjazxUPlxuKTogVFtdIHtcbiAgIHJldHVybiB0b0xpbmVzV2l0aENvbnRlbnQoaW5wdXQsIHRydWUpLm1hcCgobGluZSkgPT4gY2FsbGJhY2sobGluZSkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZm9sZGVyRXhpc3RzKHBhdGg6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgcmV0dXJuIGV4aXN0cyhwYXRoLCBGT0xERVIpO1xufVxuXG4vKipcbiAqIEFkZHMgYGl0ZW1gIGludG8gdGhlIGB0YXJnZXRgIGBBcnJheWAgb3IgYFNldGAgd2hlbiBpdCBpcyBub3QgYWxyZWFkeSBwcmVzZW50IGFuZCByZXR1cm5zIHRoZSBgaXRlbWAuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmQ8VD4odGFyZ2V0OiBUW10gfCBTZXQ8VD4sIGl0ZW06IFQpOiB0eXBlb2YgaXRlbSB7XG4gICBpZiAoQXJyYXkuaXNBcnJheSh0YXJnZXQpKSB7XG4gICAgICBpZiAoIXRhcmdldC5pbmNsdWRlcyhpdGVtKSkge1xuICAgICAgICAgdGFyZ2V0LnB1c2goaXRlbSk7XG4gICAgICB9XG4gICB9IGVsc2Uge1xuICAgICAgdGFyZ2V0LmFkZChpdGVtKTtcbiAgIH1cbiAgIHJldHVybiBpdGVtO1xufVxuXG4vKipcbiAqIEFkZHMgYGl0ZW1gIGludG8gdGhlIGB0YXJnZXRgIGBBcnJheWAgd2hlbiBpdCBpcyBub3QgYWxyZWFkeSBwcmVzZW50IGFuZCByZXR1cm5zIHRoZSBgdGFyZ2V0YC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluY2x1ZGluZzxUPih0YXJnZXQ6IFRbXSwgaXRlbTogVCk6IHR5cGVvZiB0YXJnZXQge1xuICAgaWYgKEFycmF5LmlzQXJyYXkodGFyZ2V0KSAmJiAhdGFyZ2V0LmluY2x1ZGVzKGl0ZW0pKSB7XG4gICAgICB0YXJnZXQucHVzaChpdGVtKTtcbiAgIH1cblxuICAgcmV0dXJuIHRhcmdldDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZTxUPih0YXJnZXQ6IFNldDxUPiB8IFRbXSwgaXRlbTogVCk6IFQge1xuICAgaWYgKEFycmF5LmlzQXJyYXkodGFyZ2V0KSkge1xuICAgICAgY29uc3QgaW5kZXggPSB0YXJnZXQuaW5kZXhPZihpdGVtKTtcbiAgICAgIGlmIChpbmRleCA+PSAwKSB7XG4gICAgICAgICB0YXJnZXQuc3BsaWNlKGluZGV4LCAxKTtcbiAgICAgIH1cbiAgIH0gZWxzZSB7XG4gICAgICB0YXJnZXQuZGVsZXRlKGl0ZW0pO1xuICAgfVxuICAgcmV0dXJuIGl0ZW07XG59XG5cbmV4cG9ydCBjb25zdCBvYmplY3RUb1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcuY2FsbC5iaW5kKE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmcpIGFzIChcbiAgIGlucHV0OiBhbnlcbikgPT4gc3RyaW5nO1xuXG5leHBvcnQgZnVuY3Rpb24gYXNBcnJheTxUPihzb3VyY2U6IFQgfCBUW10pOiBUW10ge1xuICAgcmV0dXJuIEFycmF5LmlzQXJyYXkoc291cmNlKSA/IHNvdXJjZSA6IFtzb3VyY2VdO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNDYW1lbENhc2Uoc3RyOiBzdHJpbmcpIHtcbiAgIHJldHVybiBzdHIucmVwbGFjZSgvW1xccy1dKyguKS9nLCAoX2FsbCwgY2hyKSA9PiB7XG4gICAgICByZXR1cm4gY2hyLnRvVXBwZXJDYXNlKCk7XG4gICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzU3RyaW5nQXJyYXk8VD4oc291cmNlOiBUIHwgVFtdKTogc3RyaW5nW10ge1xuICAgcmV0dXJuIGFzQXJyYXkoc291cmNlKS5tYXAoU3RyaW5nKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzTnVtYmVyKHNvdXJjZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgb25OYU4gPSAwKSB7XG4gICBpZiAoc291cmNlID09IG51bGwpIHtcbiAgICAgIHJldHVybiBvbk5hTjtcbiAgIH1cblxuICAgY29uc3QgbnVtID0gcGFyc2VJbnQoc291cmNlLCAxMCk7XG4gICByZXR1cm4gaXNOYU4obnVtKSA/IG9uTmFOIDogbnVtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJlZml4ZWRBcnJheTxUPihpbnB1dDogVFtdLCBwcmVmaXg6IFQpOiBUW10ge1xuICAgY29uc3Qgb3V0cHV0OiBUW10gPSBbXTtcbiAgIGZvciAobGV0IGkgPSAwLCBtYXggPSBpbnB1dC5sZW5ndGg7IGkgPCBtYXg7IGkrKykge1xuICAgICAgb3V0cHV0LnB1c2gocHJlZml4LCBpbnB1dFtpXSk7XG4gICB9XG4gICByZXR1cm4gb3V0cHV0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnVmZmVyVG9TdHJpbmcoaW5wdXQ6IEJ1ZmZlciB8IEJ1ZmZlcltdKTogc3RyaW5nIHtcbiAgIHJldHVybiAoQXJyYXkuaXNBcnJheShpbnB1dCkgPyBCdWZmZXIuY29uY2F0KGlucHV0KSA6IGlucHV0KS50b1N0cmluZygndXRmLTgnKTtcbn1cblxuLyoqXG4gKiBHZXQgYSBuZXcgb2JqZWN0IGZyb20gYSBzb3VyY2Ugb2JqZWN0IHdpdGggb25seSB0aGUgbGlzdGVkIHByb3BlcnRpZXMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwaWNrKHNvdXJjZTogUmVjb3JkPHN0cmluZywgYW55PiwgcHJvcGVydGllczogc3RyaW5nW10pIHtcbiAgIHJldHVybiBPYmplY3QuYXNzaWduKFxuICAgICAge30sXG4gICAgICAuLi5wcm9wZXJ0aWVzLm1hcCgocHJvcGVydHkpID0+IChwcm9wZXJ0eSBpbiBzb3VyY2UgPyB7IFtwcm9wZXJ0eV06IHNvdXJjZVtwcm9wZXJ0eV0gfSA6IHt9KSlcbiAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWxheShkdXJhdGlvbiA9IDApOiBQcm9taXNlPHZvaWQ+IHtcbiAgIHJldHVybiBuZXcgUHJvbWlzZSgoZG9uZSkgPT4gc2V0VGltZW91dChkb25lLCBkdXJhdGlvbikpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3JWb2lkPFQ+KGlucHV0OiBUIHwgZmFsc2UpIHtcbiAgIGlmIChpbnB1dCA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICB9XG4gICByZXR1cm4gaW5wdXQ7XG59XG4iLCAiaW1wb3J0IHsgTWF5YmUsIE9wdGlvbnMsIFByaW1pdGl2ZXMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBvYmplY3RUb1N0cmluZyB9IGZyb20gJy4vdXRpbCc7XG5pbXBvcnQgeyBpc1BhdGhTcGVjIH0gZnJvbSAnLi4vYXJncy9wYXRoc3BlYyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXJndW1lbnRGaWx0ZXJQcmVkaWNhdGU8VD4ge1xuICAgKGlucHV0OiBhbnkpOiBpbnB1dCBpcyBUO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyVHlwZTxULCBLPihcbiAgIGlucHV0OiBLLFxuICAgZmlsdGVyOiBBcmd1bWVudEZpbHRlclByZWRpY2F0ZTxUPlxuKTogSyBleHRlbmRzIFQgPyBUIDogdW5kZWZpbmVkO1xuZXhwb3J0IGZ1bmN0aW9uIGZpbHRlclR5cGU8VCwgSz4oaW5wdXQ6IEssIGZpbHRlcjogQXJndW1lbnRGaWx0ZXJQcmVkaWNhdGU8VD4sIGRlZjogVCk6IFQ7XG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyVHlwZTxULCBLPihpbnB1dDogSywgZmlsdGVyOiBBcmd1bWVudEZpbHRlclByZWRpY2F0ZTxUPiwgZGVmPzogVCk6IE1heWJlPFQ+IHtcbiAgIGlmIChmaWx0ZXIoaW5wdXQpKSB7XG4gICAgICByZXR1cm4gaW5wdXQ7XG4gICB9XG4gICByZXR1cm4gYXJndW1lbnRzLmxlbmd0aCA+IDIgPyBkZWYgOiB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJBcnJheTogQXJndW1lbnRGaWx0ZXJQcmVkaWNhdGU8QXJyYXk8YW55Pj4gPSAoaW5wdXQpOiBpbnB1dCBpcyBBcnJheTxhbnk+ID0+IHtcbiAgIHJldHVybiBBcnJheS5pc0FycmF5KGlucHV0KTtcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBmaWx0ZXJQcmltaXRpdmVzKFxuICAgaW5wdXQ6IHVua25vd24sXG4gICBvbWl0PzogQXJyYXk8J2Jvb2xlYW4nIHwgJ3N0cmluZycgfCAnbnVtYmVyJz5cbik6IGlucHV0IGlzIFByaW1pdGl2ZXMge1xuICAgY29uc3QgdHlwZSA9IGlzUGF0aFNwZWMoaW5wdXQpID8gJ3N0cmluZycgOiB0eXBlb2YgaW5wdXQ7XG5cbiAgIHJldHVybiAoXG4gICAgICAvbnVtYmVyfHN0cmluZ3xib29sZWFuLy50ZXN0KHR5cGUpICYmXG4gICAgICAoIW9taXQgfHwgIW9taXQuaW5jbHVkZXModHlwZSBhcyAnYm9vbGVhbicgfCAnc3RyaW5nJyB8ICdudW1iZXInKSlcbiAgICk7XG59XG5cbmV4cG9ydCBjb25zdCBmaWx0ZXJTdHJpbmc6IEFyZ3VtZW50RmlsdGVyUHJlZGljYXRlPHN0cmluZz4gPSAoaW5wdXQpOiBpbnB1dCBpcyBzdHJpbmcgPT4ge1xuICAgcmV0dXJuIHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZyc7XG59O1xuXG5leHBvcnQgY29uc3QgZmlsdGVyU3RyaW5nQXJyYXk6IEFyZ3VtZW50RmlsdGVyUHJlZGljYXRlPHN0cmluZ1tdPiA9IChpbnB1dCk6IGlucHV0IGlzIHN0cmluZ1tdID0+IHtcbiAgIHJldHVybiBBcnJheS5pc0FycmF5KGlucHV0KSAmJiBpbnB1dC5ldmVyeShmaWx0ZXJTdHJpbmcpO1xufTtcblxuZXhwb3J0IGNvbnN0IGZpbHRlclN0cmluZ09yU3RyaW5nQXJyYXk6IEFyZ3VtZW50RmlsdGVyUHJlZGljYXRlPHN0cmluZyB8IHN0cmluZ1tdPiA9IChcbiAgIGlucHV0XG4pOiBpbnB1dCBpcyBzdHJpbmcgfCBzdHJpbmdbXSA9PiB7XG4gICByZXR1cm4gZmlsdGVyU3RyaW5nKGlucHV0KSB8fCAoQXJyYXkuaXNBcnJheShpbnB1dCkgJiYgaW5wdXQuZXZlcnkoZmlsdGVyU3RyaW5nKSk7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyUGxhaW5PYmplY3Q8VCBleHRlbmRzIE9wdGlvbnM+KGlucHV0OiBUIHwgdW5rbm93bik6IGlucHV0IGlzIFQ7XG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyUGxhaW5PYmplY3Q8VCBleHRlbmRzIE9iamVjdD4oaW5wdXQ6IFQgfCB1bmtub3duKTogaW5wdXQgaXMgVCB7XG4gICByZXR1cm4gISFpbnB1dCAmJiBvYmplY3RUb1N0cmluZyhpbnB1dCkgPT09ICdbb2JqZWN0IE9iamVjdF0nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmlsdGVyRnVuY3Rpb24oaW5wdXQ6IHVua25vd24pOiBpbnB1dCBpcyBGdW5jdGlvbiB7XG4gICByZXR1cm4gdHlwZW9mIGlucHV0ID09PSAnZnVuY3Rpb24nO1xufVxuXG5leHBvcnQgY29uc3QgZmlsdGVySGFzTGVuZ3RoOiBBcmd1bWVudEZpbHRlclByZWRpY2F0ZTx7IGxlbmd0aDogbnVtYmVyIH0+ID0gKFxuICAgaW5wdXRcbik6IGlucHV0IGlzIHsgbGVuZ3RoOiBudW1iZXIgfSA9PiB7XG4gICBpZiAoaW5wdXQgPT0gbnVsbCB8fCAnbnVtYmVyfGJvb2xlYW58ZnVuY3Rpb24nLmluY2x1ZGVzKHR5cGVvZiBpbnB1dCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgIH1cbiAgIHJldHVybiBBcnJheS5pc0FycmF5KGlucHV0KSB8fCB0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnIHx8IHR5cGVvZiBpbnB1dC5sZW5ndGggPT09ICdudW1iZXInO1xufTtcbiIsICIvKipcbiAqIEtub3duIHByb2Nlc3MgZXhpdCBjb2RlcyB1c2VkIGJ5IHRoZSB0YXNrIHBhcnNlcnMgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYW4gZXJyb3JcbiAqIHdhcyBvbmUgdGhleSBjYW4gYXV0b21hdGljYWxseSBoYW5kbGVcbiAqL1xuZXhwb3J0IGVudW0gRXhpdENvZGVzIHtcbiAgIFNVQ0NFU1MsXG4gICBFUlJPUixcbiAgIE5PVF9GT1VORCA9IC0yLFxuICAgVU5DTEVBTiA9IDEyOCxcbn1cbiIsICJpbXBvcnQgeyBUYXNrUmVzcG9uc2VGb3JtYXQgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBjbGFzcyBHaXRPdXRwdXRTdHJlYW1zPFQgZXh0ZW5kcyBUYXNrUmVzcG9uc2VGb3JtYXQgPSBCdWZmZXI+IHtcbiAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIHJlYWRvbmx5IHN0ZE91dDogVCxcbiAgICAgIHB1YmxpYyByZWFkb25seSBzdGRFcnI6IFRcbiAgICkge31cblxuICAgYXNTdHJpbmdzKCk6IEdpdE91dHB1dFN0cmVhbXM8c3RyaW5nPiB7XG4gICAgICByZXR1cm4gbmV3IEdpdE91dHB1dFN0cmVhbXModGhpcy5zdGRPdXQudG9TdHJpbmcoJ3V0ZjgnKSwgdGhpcy5zdGRFcnIudG9TdHJpbmcoJ3V0ZjgnKSk7XG4gICB9XG59XG4iLCAiZXhwb3J0IGNsYXNzIExpbmVQYXJzZXI8VD4ge1xuICAgcHJvdGVjdGVkIG1hdGNoZXM6IHN0cmluZ1tdID0gW107XG5cbiAgIHByaXZhdGUgX3JlZ0V4cDogUmVnRXhwW107XG5cbiAgIGNvbnN0cnVjdG9yKFxuICAgICAgcmVnRXhwOiBSZWdFeHAgfCBSZWdFeHBbXSxcbiAgICAgIHVzZU1hdGNoZXM/OiAodGFyZ2V0OiBULCBtYXRjaDogc3RyaW5nW10pID0+IGJvb2xlYW4gfCB2b2lkXG4gICApIHtcbiAgICAgIHRoaXMuX3JlZ0V4cCA9IEFycmF5LmlzQXJyYXkocmVnRXhwKSA/IHJlZ0V4cCA6IFtyZWdFeHBdO1xuICAgICAgaWYgKHVzZU1hdGNoZXMpIHtcbiAgICAgICAgIHRoaXMudXNlTWF0Y2hlcyA9IHVzZU1hdGNoZXM7XG4gICAgICB9XG4gICB9XG5cbiAgIHBhcnNlID0gKGxpbmU6IChvZmZzZXQ6IG51bWJlcikgPT4gc3RyaW5nIHwgdW5kZWZpbmVkLCB0YXJnZXQ6IFQpOiBib29sZWFuID0+IHtcbiAgICAgIHRoaXMucmVzZXRNYXRjaGVzKCk7XG5cbiAgICAgIGlmICghdGhpcy5fcmVnRXhwLmV2ZXJ5KChyZWcsIGluZGV4KSA9PiB0aGlzLmFkZE1hdGNoKHJlZywgaW5kZXgsIGxpbmUoaW5kZXgpKSkpIHtcbiAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMudXNlTWF0Y2hlcyh0YXJnZXQsIHRoaXMucHJlcGFyZU1hdGNoZXMoKSkgIT09IGZhbHNlO1xuICAgfTtcblxuICAgLy8gQHRzLWlnbm9yZVxuICAgcHJvdGVjdGVkIHVzZU1hdGNoZXModGFyZ2V0OiBULCBtYXRjaDogc3RyaW5nW10pOiBib29sZWFuIHwgdm9pZCB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYExpbmVQYXJzZXI6dXNlTWF0Y2hlcyBub3QgaW1wbGVtZW50ZWRgKTtcbiAgIH1cblxuICAgcHJvdGVjdGVkIHJlc2V0TWF0Y2hlcygpIHtcbiAgICAgIHRoaXMubWF0Y2hlcy5sZW5ndGggPSAwO1xuICAgfVxuXG4gICBwcm90ZWN0ZWQgcHJlcGFyZU1hdGNoZXMoKSB7XG4gICAgICByZXR1cm4gdGhpcy5tYXRjaGVzO1xuICAgfVxuXG4gICBwcm90ZWN0ZWQgYWRkTWF0Y2gocmVnOiBSZWdFeHAsIGluZGV4OiBudW1iZXIsIGxpbmU/OiBzdHJpbmcpIHtcbiAgICAgIGNvbnN0IG1hdGNoZWQgPSBsaW5lICYmIHJlZy5leGVjKGxpbmUpO1xuICAgICAgaWYgKG1hdGNoZWQpIHtcbiAgICAgICAgIHRoaXMucHVzaE1hdGNoKGluZGV4LCBtYXRjaGVkKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICEhbWF0Y2hlZDtcbiAgIH1cblxuICAgcHJvdGVjdGVkIHB1c2hNYXRjaChfaW5kZXg6IG51bWJlciwgbWF0Y2hlZDogc3RyaW5nW10pIHtcbiAgICAgIHRoaXMubWF0Y2hlcy5wdXNoKC4uLm1hdGNoZWQuc2xpY2UoMSkpO1xuICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUmVtb3RlTGluZVBhcnNlcjxUPiBleHRlbmRzIExpbmVQYXJzZXI8VD4ge1xuICAgcHJvdGVjdGVkIGFkZE1hdGNoKHJlZzogUmVnRXhwLCBpbmRleDogbnVtYmVyLCBsaW5lPzogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgICByZXR1cm4gL15yZW1vdGU6XFxzLy50ZXN0KFN0cmluZyhsaW5lKSkgJiYgc3VwZXIuYWRkTWF0Y2gocmVnLCBpbmRleCwgbGluZSk7XG4gICB9XG5cbiAgIHByb3RlY3RlZCBwdXNoTWF0Y2goaW5kZXg6IG51bWJlciwgbWF0Y2hlZDogc3RyaW5nW10pIHtcbiAgICAgIGlmIChpbmRleCA+IDAgfHwgbWF0Y2hlZC5sZW5ndGggPiAxKSB7XG4gICAgICAgICBzdXBlci5wdXNoTWF0Y2goaW5kZXgsIG1hdGNoZWQpO1xuICAgICAgfVxuICAgfVxufVxuIiwgImltcG9ydCB7IFNpbXBsZUdpdE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5cbmNvbnN0IGRlZmF1bHRPcHRpb25zOiBPbWl0PFNpbXBsZUdpdE9wdGlvbnMsICdiYXNlRGlyJz4gPSB7XG4gICBiaW5hcnk6ICdnaXQnLFxuICAgbWF4Q29uY3VycmVudFByb2Nlc3NlczogNSxcbiAgIGNvbmZpZzogW10sXG4gICB0cmltbWVkOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVJbnN0YW5jZUNvbmZpZyhcbiAgIC4uLm9wdGlvbnM6IEFycmF5PFBhcnRpYWw8U2ltcGxlR2l0T3B0aW9ucz4gfCB1bmRlZmluZWQ+XG4pOiBTaW1wbGVHaXRPcHRpb25zIHtcbiAgIGNvbnN0IGJhc2VEaXIgPSBwcm9jZXNzLmN3ZCgpO1xuICAgY29uc3QgY29uZmlnOiBTaW1wbGVHaXRPcHRpb25zID0gT2JqZWN0LmFzc2lnbihcbiAgICAgIHsgYmFzZURpciwgLi4uZGVmYXVsdE9wdGlvbnMgfSxcbiAgICAgIC4uLm9wdGlvbnMuZmlsdGVyKChvKSA9PiB0eXBlb2YgbyA9PT0gJ29iamVjdCcgJiYgbylcbiAgICk7XG5cbiAgIGNvbmZpZy5iYXNlRGlyID0gY29uZmlnLmJhc2VEaXIgfHwgYmFzZURpcjtcbiAgIGNvbmZpZy50cmltbWVkID0gY29uZmlnLnRyaW1tZWQgPT09IHRydWU7XG5cbiAgIHJldHVybiBjb25maWc7XG59XG4iLCAiaW1wb3J0IHtcbiAgIGZpbHRlckFycmF5LFxuICAgZmlsdGVyRnVuY3Rpb24sXG4gICBmaWx0ZXJQbGFpbk9iamVjdCxcbiAgIGZpbHRlclByaW1pdGl2ZXMsXG4gICBmaWx0ZXJUeXBlLFxufSBmcm9tICcuL2FyZ3VtZW50LWZpbHRlcnMnO1xuaW1wb3J0IHsgYXNGdW5jdGlvbiwgaXNVc2VyRnVuY3Rpb24sIGxhc3QgfSBmcm9tICcuL3V0aWwnO1xuaW1wb3J0IHsgTWF5YmUsIE9wdGlvbnMsIE9wdGlvbnNWYWx1ZXMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpc1BhdGhTcGVjIH0gZnJvbSAnLi4vYXJncy9wYXRoc3BlYyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRUYXNrT3B0aW9uczxUIGV4dGVuZHMgT3B0aW9ucyA9IE9wdGlvbnM+KFxuICAgb3B0aW9uczogTWF5YmU8VD4sXG4gICBjb21tYW5kczogc3RyaW5nW10gPSBbXVxuKTogc3RyaW5nW10ge1xuICAgaWYgKCFmaWx0ZXJQbGFpbk9iamVjdDxPcHRpb25zPihvcHRpb25zKSkge1xuICAgICAgcmV0dXJuIGNvbW1hbmRzO1xuICAgfVxuXG4gICByZXR1cm4gT2JqZWN0LmtleXMob3B0aW9ucykucmVkdWNlKChjb21tYW5kczogc3RyaW5nW10sIGtleTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZTogT3B0aW9uc1ZhbHVlcyA9IG9wdGlvbnNba2V5XTtcblxuICAgICAgaWYgKGlzUGF0aFNwZWModmFsdWUpKSB7XG4gICAgICAgICBjb21tYW5kcy5wdXNoKHZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAoZmlsdGVyUHJpbWl0aXZlcyh2YWx1ZSwgWydib29sZWFuJ10pKSB7XG4gICAgICAgICBjb21tYW5kcy5wdXNoKGtleSArICc9JyArIHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICBjb21tYW5kcy5wdXNoKGtleSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjb21tYW5kcztcbiAgIH0sIGNvbW1hbmRzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFRyYWlsaW5nT3B0aW9ucyhcbiAgIGFyZ3M6IElBcmd1bWVudHMsXG4gICBpbml0aWFsUHJpbWl0aXZlID0gMCxcbiAgIG9iamVjdE9ubHkgPSBmYWxzZVxuKTogc3RyaW5nW10ge1xuICAgY29uc3QgY29tbWFuZDogc3RyaW5nW10gPSBbXTtcblxuICAgZm9yIChsZXQgaSA9IDAsIG1heCA9IGluaXRpYWxQcmltaXRpdmUgPCAwID8gYXJncy5sZW5ndGggOiBpbml0aWFsUHJpbWl0aXZlOyBpIDwgbWF4OyBpKyspIHtcbiAgICAgIGlmICgnc3RyaW5nfG51bWJlcicuaW5jbHVkZXModHlwZW9mIGFyZ3NbaV0pKSB7XG4gICAgICAgICBjb21tYW5kLnB1c2goU3RyaW5nKGFyZ3NbaV0pKTtcbiAgICAgIH1cbiAgIH1cblxuICAgYXBwZW5kVGFza09wdGlvbnModHJhaWxpbmdPcHRpb25zQXJndW1lbnQoYXJncyksIGNvbW1hbmQpO1xuICAgaWYgKCFvYmplY3RPbmx5KSB7XG4gICAgICBjb21tYW5kLnB1c2goLi4udHJhaWxpbmdBcnJheUFyZ3VtZW50KGFyZ3MpKTtcbiAgIH1cblxuICAgcmV0dXJuIGNvbW1hbmQ7XG59XG5cbmZ1bmN0aW9uIHRyYWlsaW5nQXJyYXlBcmd1bWVudChhcmdzOiBJQXJndW1lbnRzKSB7XG4gICBjb25zdCBoYXNUcmFpbGluZ0NhbGxiYWNrID0gdHlwZW9mIGxhc3QoYXJncykgPT09ICdmdW5jdGlvbic7XG4gICByZXR1cm4gZmlsdGVyVHlwZShsYXN0KGFyZ3MsIGhhc1RyYWlsaW5nQ2FsbGJhY2sgPyAxIDogMCksIGZpbHRlckFycmF5LCBbXSk7XG59XG5cbi8qKlxuICogR2l2ZW4gYW55IG51bWJlciBvZiBhcmd1bWVudHMsIHJldHVybnMgdGhlIHRyYWlsaW5nIG9wdGlvbnMgYXJndW1lbnQsIGlnbm9yaW5nIGEgdHJhaWxpbmcgZnVuY3Rpb24gYXJndW1lbnRcbiAqIGlmIHRoZXJlIGlzIG9uZS4gV2hlbiBub3QgZm91bmQsIHRoZSByZXR1cm4gdmFsdWUgaXMgbnVsbC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRyYWlsaW5nT3B0aW9uc0FyZ3VtZW50KGFyZ3M6IElBcmd1bWVudHMpOiBNYXliZTxPcHRpb25zPiB7XG4gICBjb25zdCBoYXNUcmFpbGluZ0NhbGxiYWNrID0gZmlsdGVyRnVuY3Rpb24obGFzdChhcmdzKSk7XG4gICByZXR1cm4gZmlsdGVyVHlwZShsYXN0KGFyZ3MsIGhhc1RyYWlsaW5nQ2FsbGJhY2sgPyAxIDogMCksIGZpbHRlclBsYWluT2JqZWN0KTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGVpdGhlciB0aGUgc291cmNlIGFyZ3VtZW50IHdoZW4gaXQgaXMgYSBgRnVuY3Rpb25gLCBvciB0aGUgZGVmYXVsdFxuICogYE5PT1BgIGZ1bmN0aW9uIGNvbnN0YW50XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoXG4gICBhcmdzOiB1bmtub3duW10gfCBJQXJndW1lbnRzIHwgdW5rbm93bixcbiAgIGluY2x1ZGVOb29wID0gdHJ1ZVxuKTogTWF5YmU8KC4uLmFyZ3M6IGFueVtdKSA9PiB1bmtub3duPiB7XG4gICBjb25zdCBjYWxsYmFjayA9IGFzRnVuY3Rpb24obGFzdChhcmdzKSk7XG4gICByZXR1cm4gaW5jbHVkZU5vb3AgfHwgaXNVc2VyRnVuY3Rpb24oY2FsbGJhY2spID8gY2FsbGJhY2sgOiB1bmRlZmluZWQ7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBNYXliZUFycmF5LCBUYXNrUGFyc2VyLCBUYXNrUmVzcG9uc2VGb3JtYXQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBHaXRPdXRwdXRTdHJlYW1zIH0gZnJvbSAnLi9naXQtb3V0cHV0LXN0cmVhbXMnO1xuaW1wb3J0IHsgTGluZVBhcnNlciB9IGZyb20gJy4vbGluZS1wYXJzZXInO1xuaW1wb3J0IHsgYXNBcnJheSwgdG9MaW5lc1dpdGhDb250ZW50IH0gZnJvbSAnLi91dGlsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNhbGxUYXNrUGFyc2VyPElOUFVUIGV4dGVuZHMgVGFza1Jlc3BvbnNlRm9ybWF0LCBSRVNQT05TRT4oXG4gICBwYXJzZXI6IFRhc2tQYXJzZXI8SU5QVVQsIFJFU1BPTlNFPixcbiAgIHN0cmVhbXM6IEdpdE91dHB1dFN0cmVhbXM8SU5QVVQ+XG4pIHtcbiAgIHJldHVybiBwYXJzZXIoc3RyZWFtcy5zdGRPdXQsIHN0cmVhbXMuc3RkRXJyKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlU3RyaW5nUmVzcG9uc2U8VD4oXG4gICByZXN1bHQ6IFQsXG4gICBwYXJzZXJzOiBMaW5lUGFyc2VyPFQ+W10sXG4gICB0ZXh0czogTWF5YmVBcnJheTxzdHJpbmc+LFxuICAgdHJpbSA9IHRydWVcbik6IFQge1xuICAgYXNBcnJheSh0ZXh0cykuZm9yRWFjaCgodGV4dCkgPT4ge1xuICAgICAgZm9yIChsZXQgbGluZXMgPSB0b0xpbmVzV2l0aENvbnRlbnQodGV4dCwgdHJpbSksIGkgPSAwLCBtYXggPSBsaW5lcy5sZW5ndGg7IGkgPCBtYXg7IGkrKykge1xuICAgICAgICAgY29uc3QgbGluZSA9IChvZmZzZXQgPSAwKSA9PiB7XG4gICAgICAgICAgICBpZiAoaSArIG9mZnNldCA+PSBtYXgpIHtcbiAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiBsaW5lc1tpICsgb2Zmc2V0XTtcbiAgICAgICAgIH07XG5cbiAgICAgICAgIHBhcnNlcnMuc29tZSgoeyBwYXJzZSB9KSA9PiBwYXJzZShsaW5lLCByZXN1bHQpKTtcbiAgICAgIH1cbiAgIH0pO1xuXG4gICByZXR1cm4gcmVzdWx0O1xufVxuIiwgImV4cG9ydCAqIGZyb20gJy4vYXJndW1lbnQtZmlsdGVycyc7XG5leHBvcnQgKiBmcm9tICcuL2V4aXQtY29kZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9naXQtb3V0cHV0LXN0cmVhbXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saW5lLXBhcnNlcic7XG5leHBvcnQgKiBmcm9tICcuL3NpbXBsZS1naXQtb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3Rhc2stb3B0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL3Rhc2stcGFyc2VyJztcbmV4cG9ydCAqIGZyb20gJy4vdXRpbCc7XG4iLCAiaW1wb3J0IHsgRXhpdENvZGVzIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgTWF5YmUsIFN0cmluZ1Rhc2sgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBlbnVtIENoZWNrUmVwb0FjdGlvbnMge1xuICAgQkFSRSA9ICdiYXJlJyxcbiAgIElOX1RSRUUgPSAndHJlZScsXG4gICBJU19SRVBPX1JPT1QgPSAncm9vdCcsXG59XG5cbmNvbnN0IG9uRXJyb3I6IFN0cmluZ1Rhc2s8Ym9vbGVhbj5bJ29uRXJyb3InXSA9ICh7IGV4aXRDb2RlIH0sIGVycm9yLCBkb25lLCBmYWlsKSA9PiB7XG4gICBpZiAoZXhpdENvZGUgPT09IEV4aXRDb2Rlcy5VTkNMRUFOICYmIGlzTm90UmVwb01lc3NhZ2UoZXJyb3IpKSB7XG4gICAgICByZXR1cm4gZG9uZShCdWZmZXIuZnJvbSgnZmFsc2UnKSk7XG4gICB9XG5cbiAgIGZhaWwoZXJyb3IpO1xufTtcblxuY29uc3QgcGFyc2VyOiBTdHJpbmdUYXNrPGJvb2xlYW4+WydwYXJzZXInXSA9ICh0ZXh0KSA9PiB7XG4gICByZXR1cm4gdGV4dC50cmltKCkgPT09ICd0cnVlJztcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0lzUmVwb1Rhc2soYWN0aW9uOiBNYXliZTxDaGVja1JlcG9BY3Rpb25zPik6IFN0cmluZ1Rhc2s8Ym9vbGVhbj4ge1xuICAgc3dpdGNoIChhY3Rpb24pIHtcbiAgICAgIGNhc2UgQ2hlY2tSZXBvQWN0aW9ucy5CQVJFOlxuICAgICAgICAgcmV0dXJuIGNoZWNrSXNCYXJlUmVwb1Rhc2soKTtcbiAgICAgIGNhc2UgQ2hlY2tSZXBvQWN0aW9ucy5JU19SRVBPX1JPT1Q6XG4gICAgICAgICByZXR1cm4gY2hlY2tJc1JlcG9Sb290VGFzaygpO1xuICAgfVxuXG4gICBjb25zdCBjb21tYW5kcyA9IFsncmV2LXBhcnNlJywgJy0taXMtaW5zaWRlLXdvcmstdHJlZSddO1xuXG4gICByZXR1cm4ge1xuICAgICAgY29tbWFuZHMsXG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBvbkVycm9yLFxuICAgICAgcGFyc2VyLFxuICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrSXNSZXBvUm9vdFRhc2soKTogU3RyaW5nVGFzazxib29sZWFuPiB7XG4gICBjb25zdCBjb21tYW5kcyA9IFsncmV2LXBhcnNlJywgJy0tZ2l0LWRpciddO1xuXG4gICByZXR1cm4ge1xuICAgICAgY29tbWFuZHMsXG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBvbkVycm9yLFxuICAgICAgcGFyc2VyKHBhdGgpIHtcbiAgICAgICAgIHJldHVybiAvXlxcLihnaXQpPyQvLnRlc3QocGF0aC50cmltKCkpO1xuICAgICAgfSxcbiAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjaGVja0lzQmFyZVJlcG9UYXNrKCk6IFN0cmluZ1Rhc2s8Ym9vbGVhbj4ge1xuICAgY29uc3QgY29tbWFuZHMgPSBbJ3Jldi1wYXJzZScsICctLWlzLWJhcmUtcmVwb3NpdG9yeSddO1xuXG4gICByZXR1cm4ge1xuICAgICAgY29tbWFuZHMsXG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBvbkVycm9yLFxuICAgICAgcGFyc2VyLFxuICAgfTtcbn1cblxuZnVuY3Rpb24gaXNOb3RSZXBvTWVzc2FnZShlcnJvcjogRXJyb3IpOiBib29sZWFuIHtcbiAgIHJldHVybiAvKE5vdCBhIGdpdCByZXBvc2l0b3J5fEtlaW4gR2l0LVJlcG9zaXRvcnkpL2kudGVzdChTdHJpbmcoZXJyb3IpKTtcbn1cbiIsICJpbXBvcnQgeyBDbGVhblN1bW1hcnkgfSBmcm9tICcuLi8uLi8uLi90eXBpbmdzJztcbmltcG9ydCB7IHRvTGluZXNXaXRoQ29udGVudCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIENsZWFuUmVzcG9uc2UgaW1wbGVtZW50cyBDbGVhblN1bW1hcnkge1xuICAgcHVibGljIHBhdGhzOiBzdHJpbmdbXSA9IFtdO1xuICAgcHVibGljIGZpbGVzOiBzdHJpbmdbXSA9IFtdO1xuICAgcHVibGljIGZvbGRlcnM6IHN0cmluZ1tdID0gW107XG5cbiAgIGNvbnN0cnVjdG9yKHB1YmxpYyByZWFkb25seSBkcnlSdW46IGJvb2xlYW4pIHt9XG59XG5cbmNvbnN0IHJlbW92YWxSZWdleHAgPSAvXlthLXpdK1xccyovaTtcbmNvbnN0IGRyeVJ1blJlbW92YWxSZWdleHAgPSAvXlthLXpdK1xccytbYS16XStcXHMqL2k7XG5jb25zdCBpc0ZvbGRlclJlZ2V4cCA9IC9cXC8kLztcblxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFuU3VtbWFyeVBhcnNlcihkcnlSdW46IGJvb2xlYW4sIHRleHQ6IHN0cmluZyk6IENsZWFuU3VtbWFyeSB7XG4gICBjb25zdCBzdW1tYXJ5ID0gbmV3IENsZWFuUmVzcG9uc2UoZHJ5UnVuKTtcbiAgIGNvbnN0IHJlZ2V4cCA9IGRyeVJ1biA/IGRyeVJ1blJlbW92YWxSZWdleHAgOiByZW1vdmFsUmVnZXhwO1xuXG4gICB0b0xpbmVzV2l0aENvbnRlbnQodGV4dCkuZm9yRWFjaCgobGluZSkgPT4ge1xuICAgICAgY29uc3QgcmVtb3ZlZCA9IGxpbmUucmVwbGFjZShyZWdleHAsICcnKTtcblxuICAgICAgc3VtbWFyeS5wYXRocy5wdXNoKHJlbW92ZWQpO1xuICAgICAgKGlzRm9sZGVyUmVnZXhwLnRlc3QocmVtb3ZlZCkgPyBzdW1tYXJ5LmZvbGRlcnMgOiBzdW1tYXJ5LmZpbGVzKS5wdXNoKHJlbW92ZWQpO1xuICAgfSk7XG5cbiAgIHJldHVybiBzdW1tYXJ5O1xufVxuIiwgImltcG9ydCB7IFRhc2tDb25maWd1cmF0aW9uRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMvdGFzay1jb25maWd1cmF0aW9uLWVycm9yJztcbmltcG9ydCB0eXBlIHsgQnVmZmVyVGFzaywgRW1wdHlUYXNrUGFyc2VyLCBTaW1wbGVHaXRUYXNrLCBTdHJpbmdUYXNrIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgRU1QVFlfQ09NTUFORFM6IFtdID0gW107XG5cbmV4cG9ydCB0eXBlIEVtcHR5VGFzayA9IHtcbiAgIGNvbW1hbmRzOiB0eXBlb2YgRU1QVFlfQ09NTUFORFM7XG4gICBmb3JtYXQ6ICdlbXB0eSc7XG4gICBwYXJzZXI6IEVtcHR5VGFza1BhcnNlcjtcbiAgIG9uRXJyb3I/OiB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gYWRob2NFeGVjVGFzayhwYXJzZXI6IEVtcHR5VGFza1BhcnNlcik6IEVtcHR5VGFzayB7XG4gICByZXR1cm4ge1xuICAgICAgY29tbWFuZHM6IEVNUFRZX0NPTU1BTkRTLFxuICAgICAgZm9ybWF0OiAnZW1wdHknLFxuICAgICAgcGFyc2VyLFxuICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ3VyYXRpb25FcnJvclRhc2soZXJyb3I6IEVycm9yIHwgc3RyaW5nKTogRW1wdHlUYXNrIHtcbiAgIHJldHVybiB7XG4gICAgICBjb21tYW5kczogRU1QVFlfQ09NTUFORFMsXG4gICAgICBmb3JtYXQ6ICdlbXB0eScsXG4gICAgICBwYXJzZXIoKSB7XG4gICAgICAgICB0aHJvdyB0eXBlb2YgZXJyb3IgPT09ICdzdHJpbmcnID8gbmV3IFRhc2tDb25maWd1cmF0aW9uRXJyb3IoZXJyb3IpIDogZXJyb3I7XG4gICAgICB9LFxuICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmFpZ2h0VGhyb3VnaFN0cmluZ1Rhc2soY29tbWFuZHM6IHN0cmluZ1tdLCB0cmltbWVkID0gZmFsc2UpOiBTdHJpbmdUYXNrPHN0cmluZz4ge1xuICAgcmV0dXJuIHtcbiAgICAgIGNvbW1hbmRzLFxuICAgICAgZm9ybWF0OiAndXRmLTgnLFxuICAgICAgcGFyc2VyKHRleHQpIHtcbiAgICAgICAgIHJldHVybiB0cmltbWVkID8gU3RyaW5nKHRleHQpLnRyaW0oKSA6IHRleHQ7XG4gICAgICB9LFxuICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN0cmFpZ2h0VGhyb3VnaEJ1ZmZlclRhc2soY29tbWFuZHM6IHN0cmluZ1tdKTogQnVmZmVyVGFzazxhbnk+IHtcbiAgIHJldHVybiB7XG4gICAgICBjb21tYW5kcyxcbiAgICAgIGZvcm1hdDogJ2J1ZmZlcicsXG4gICAgICBwYXJzZXIoYnVmZmVyKSB7XG4gICAgICAgICByZXR1cm4gYnVmZmVyO1xuICAgICAgfSxcbiAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0J1ZmZlclRhc2s8Uj4odGFzazogU2ltcGxlR2l0VGFzazxSPik6IHRhc2sgaXMgQnVmZmVyVGFzazxSPiB7XG4gICByZXR1cm4gdGFzay5mb3JtYXQgPT09ICdidWZmZXInO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNFbXB0eVRhc2s8Uj4odGFzazogU2ltcGxlR2l0VGFzazxSPik6IHRhc2sgaXMgRW1wdHlUYXNrIHtcbiAgIHJldHVybiB0YXNrLmZvcm1hdCA9PT0gJ2VtcHR5JyB8fCAhdGFzay5jb21tYW5kcy5sZW5ndGg7XG59XG4iLCAiaW1wb3J0IHsgQ2xlYW5TdW1tYXJ5IH0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQgeyBjbGVhblN1bW1hcnlQYXJzZXIgfSBmcm9tICcuLi9yZXNwb25zZXMvQ2xlYW5TdW1tYXJ5JztcbmltcG9ydCB7IE1heWJlLCBTdHJpbmdUYXNrIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYXNTdHJpbmdBcnJheSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IGNvbmZpZ3VyYXRpb25FcnJvclRhc2sgfSBmcm9tICcuL3Rhc2snO1xuXG5leHBvcnQgY29uc3QgQ09ORklHX0VSUk9SX0lOVEVSQUNUSVZFX01PREUgPSAnR2l0IGNsZWFuIGludGVyYWN0aXZlIG1vZGUgaXMgbm90IHN1cHBvcnRlZCc7XG5leHBvcnQgY29uc3QgQ09ORklHX0VSUk9SX01PREVfUkVRVUlSRUQgPSAnR2l0IGNsZWFuIG1vZGUgcGFyYW1ldGVyIChcIm5cIiBvciBcImZcIikgaXMgcmVxdWlyZWQnO1xuZXhwb3J0IGNvbnN0IENPTkZJR19FUlJPUl9VTktOT1dOX09QVElPTiA9ICdHaXQgY2xlYW4gdW5rbm93biBvcHRpb24gZm91bmQgaW46ICc7XG5cbi8qKlxuICogQWxsIHN1cHBvcnRlZCBvcHRpb24gc3dpdGNoZXMgYXZhaWxhYmxlIGZvciB1c2UgaW4gYSBgZ2l0LmNsZWFuYCBvcGVyYXRpb25cbiAqL1xuZXhwb3J0IGVudW0gQ2xlYW5PcHRpb25zIHtcbiAgIERSWV9SVU4gPSAnbicsXG4gICBGT1JDRSA9ICdmJyxcbiAgIElHTk9SRURfSU5DTFVERUQgPSAneCcsXG4gICBJR05PUkVEX09OTFkgPSAnWCcsXG4gICBFWENMVURJTkcgPSAnZScsXG4gICBRVUlFVCA9ICdxJyxcbiAgIFJFQ1VSU0lWRSA9ICdkJyxcbn1cblxuLyoqXG4gKiBUaGUgdHdvIG1vZGVzIGBnaXQuY2xlYW5gIGNhbiBydW4gaW4gLSBvbmUgb2YgdGhlc2UgbXVzdCBiZSBzdXBwbGllZCBpbiBvcmRlclxuICogZm9yIHRoZSBjb21tYW5kIHRvIG5vdCB0aHJvdyBhIGBUYXNrQ29uZmlndXJhdGlvbkVycm9yYFxuICovXG5leHBvcnQgdHlwZSBDbGVhbk1vZGUgPSBDbGVhbk9wdGlvbnMuRk9SQ0UgfCBDbGVhbk9wdGlvbnMuRFJZX1JVTjtcblxuY29uc3QgQ2xlYW5PcHRpb25WYWx1ZXM6IFNldDxzdHJpbmc+ID0gbmV3IFNldChbXG4gICAnaScsXG4gICAuLi5hc1N0cmluZ0FycmF5KE9iamVjdC52YWx1ZXMoQ2xlYW5PcHRpb25zIGFzIGFueSkpLFxuXSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBjbGVhbldpdGhPcHRpb25zVGFzayhtb2RlOiBDbGVhbk1vZGUgfCBzdHJpbmcsIGN1c3RvbUFyZ3M6IHN0cmluZ1tdKSB7XG4gICBjb25zdCB7IGNsZWFuTW9kZSwgb3B0aW9ucywgdmFsaWQgfSA9IGdldENsZWFuT3B0aW9ucyhtb2RlKTtcblxuICAgaWYgKCFjbGVhbk1vZGUpIHtcbiAgICAgIHJldHVybiBjb25maWd1cmF0aW9uRXJyb3JUYXNrKENPTkZJR19FUlJPUl9NT0RFX1JFUVVJUkVEKTtcbiAgIH1cblxuICAgaWYgKCF2YWxpZC5vcHRpb25zKSB7XG4gICAgICByZXR1cm4gY29uZmlndXJhdGlvbkVycm9yVGFzayhDT05GSUdfRVJST1JfVU5LTk9XTl9PUFRJT04gKyBKU09OLnN0cmluZ2lmeShtb2RlKSk7XG4gICB9XG5cbiAgIG9wdGlvbnMucHVzaCguLi5jdXN0b21BcmdzKTtcblxuICAgaWYgKG9wdGlvbnMuc29tZShpc0ludGVyYWN0aXZlTW9kZSkpIHtcbiAgICAgIHJldHVybiBjb25maWd1cmF0aW9uRXJyb3JUYXNrKENPTkZJR19FUlJPUl9JTlRFUkFDVElWRV9NT0RFKTtcbiAgIH1cblxuICAgcmV0dXJuIGNsZWFuVGFzayhjbGVhbk1vZGUsIG9wdGlvbnMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xlYW5UYXNrKG1vZGU6IENsZWFuTW9kZSwgY3VzdG9tQXJnczogc3RyaW5nW10pOiBTdHJpbmdUYXNrPENsZWFuU3VtbWFyeT4ge1xuICAgY29uc3QgY29tbWFuZHM6IHN0cmluZ1tdID0gWydjbGVhbicsIGAtJHttb2RlfWAsIC4uLmN1c3RvbUFyZ3NdO1xuXG4gICByZXR1cm4ge1xuICAgICAgY29tbWFuZHMsXG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBwYXJzZXIodGV4dDogc3RyaW5nKTogQ2xlYW5TdW1tYXJ5IHtcbiAgICAgICAgIHJldHVybiBjbGVhblN1bW1hcnlQYXJzZXIobW9kZSA9PT0gQ2xlYW5PcHRpb25zLkRSWV9SVU4sIHRleHQpO1xuICAgICAgfSxcbiAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0NsZWFuT3B0aW9uc0FycmF5KGlucHV0OiBzdHJpbmdbXSk6IGlucHV0IGlzIENsZWFuT3B0aW9uc1tdIHtcbiAgIHJldHVybiBBcnJheS5pc0FycmF5KGlucHV0KSAmJiBpbnB1dC5ldmVyeSgodGVzdCkgPT4gQ2xlYW5PcHRpb25WYWx1ZXMuaGFzKHRlc3QpKTtcbn1cblxuZnVuY3Rpb24gZ2V0Q2xlYW5PcHRpb25zKGlucHV0OiBzdHJpbmcpIHtcbiAgIGxldCBjbGVhbk1vZGU6IE1heWJlPENsZWFuTW9kZT47XG4gICBsZXQgb3B0aW9uczogc3RyaW5nW10gPSBbXTtcbiAgIGxldCB2YWxpZCA9IHsgY2xlYW5Nb2RlOiBmYWxzZSwgb3B0aW9uczogdHJ1ZSB9O1xuXG4gICBpbnB1dFxuICAgICAgLnJlcGxhY2UoL1teYS16XWkvZywgJycpXG4gICAgICAuc3BsaXQoJycpXG4gICAgICAuZm9yRWFjaCgoY2hhcikgPT4ge1xuICAgICAgICAgaWYgKGlzQ2xlYW5Nb2RlKGNoYXIpKSB7XG4gICAgICAgICAgICBjbGVhbk1vZGUgPSBjaGFyO1xuICAgICAgICAgICAgdmFsaWQuY2xlYW5Nb2RlID0gdHJ1ZTtcbiAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB2YWxpZC5vcHRpb25zID0gdmFsaWQub3B0aW9ucyAmJiBpc0tub3duT3B0aW9uKChvcHRpb25zW29wdGlvbnMubGVuZ3RoXSA9IGAtJHtjaGFyfWApKTtcbiAgICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICByZXR1cm4ge1xuICAgICAgY2xlYW5Nb2RlLFxuICAgICAgb3B0aW9ucyxcbiAgICAgIHZhbGlkLFxuICAgfTtcbn1cblxuZnVuY3Rpb24gaXNDbGVhbk1vZGUoY2xlYW5Nb2RlPzogc3RyaW5nKTogY2xlYW5Nb2RlIGlzIENsZWFuTW9kZSB7XG4gICByZXR1cm4gY2xlYW5Nb2RlID09PSBDbGVhbk9wdGlvbnMuRk9SQ0UgfHwgY2xlYW5Nb2RlID09PSBDbGVhbk9wdGlvbnMuRFJZX1JVTjtcbn1cblxuZnVuY3Rpb24gaXNLbm93bk9wdGlvbihvcHRpb246IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgcmV0dXJuIC9eLVthLXpdJC9pLnRlc3Qob3B0aW9uKSAmJiBDbGVhbk9wdGlvblZhbHVlcy5oYXMob3B0aW9uLmNoYXJBdCgxKSk7XG59XG5cbmZ1bmN0aW9uIGlzSW50ZXJhY3RpdmVNb2RlKG9wdGlvbjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICBpZiAoL14tW15cXC1dLy50ZXN0KG9wdGlvbikpIHtcbiAgICAgIHJldHVybiBvcHRpb24uaW5kZXhPZignaScpID4gMDtcbiAgIH1cblxuICAgcmV0dXJuIG9wdGlvbiA9PT0gJy0taW50ZXJhY3RpdmUnO1xufVxuIiwgImltcG9ydCB7IENvbmZpZ0dldFJlc3VsdCwgQ29uZmlnTGlzdFN1bW1hcnksIENvbmZpZ1ZhbHVlcyB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MnO1xuaW1wb3J0IHsgbGFzdCwgc3BsaXRPbiB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGNsYXNzIENvbmZpZ0xpc3QgaW1wbGVtZW50cyBDb25maWdMaXN0U3VtbWFyeSB7XG4gICBwdWJsaWMgZmlsZXM6IHN0cmluZ1tdID0gW107XG4gICBwdWJsaWMgdmFsdWVzOiB7IFtmaWxlTmFtZTogc3RyaW5nXTogQ29uZmlnVmFsdWVzIH0gPSBPYmplY3QuY3JlYXRlKG51bGwpO1xuXG4gICBwcml2YXRlIF9hbGw6IENvbmZpZ1ZhbHVlcyB8IHVuZGVmaW5lZDtcblxuICAgcHVibGljIGdldCBhbGwoKTogQ29uZmlnVmFsdWVzIHtcbiAgICAgIGlmICghdGhpcy5fYWxsKSB7XG4gICAgICAgICB0aGlzLl9hbGwgPSB0aGlzLmZpbGVzLnJlZHVjZSgoYWxsOiBDb25maWdWYWx1ZXMsIGZpbGU6IHN0cmluZykgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oYWxsLCB0aGlzLnZhbHVlc1tmaWxlXSk7XG4gICAgICAgICB9LCB7fSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLl9hbGw7XG4gICB9XG5cbiAgIHB1YmxpYyBhZGRGaWxlKGZpbGU6IHN0cmluZyk6IENvbmZpZ1ZhbHVlcyB7XG4gICAgICBpZiAoIShmaWxlIGluIHRoaXMudmFsdWVzKSkge1xuICAgICAgICAgY29uc3QgbGF0ZXN0ID0gbGFzdCh0aGlzLmZpbGVzKTtcbiAgICAgICAgIHRoaXMudmFsdWVzW2ZpbGVdID0gbGF0ZXN0ID8gT2JqZWN0LmNyZWF0ZSh0aGlzLnZhbHVlc1tsYXRlc3RdKSA6IHt9O1xuXG4gICAgICAgICB0aGlzLmZpbGVzLnB1c2goZmlsZSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLnZhbHVlc1tmaWxlXTtcbiAgIH1cblxuICAgcHVibGljIGFkZFZhbHVlKGZpbGU6IHN0cmluZywga2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuYWRkRmlsZShmaWxlKTtcblxuICAgICAgaWYgKCF2YWx1ZXMuaGFzT3duUHJvcGVydHkoa2V5KSkge1xuICAgICAgICAgdmFsdWVzW2tleV0gPSB2YWx1ZTtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZXNba2V5XSkpIHtcbiAgICAgICAgICh2YWx1ZXNba2V5XSBhcyBzdHJpbmdbXSkucHVzaCh2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAgdmFsdWVzW2tleV0gPSBbdmFsdWVzW2tleV0gYXMgc3RyaW5nLCB2YWx1ZV07XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2FsbCA9IHVuZGVmaW5lZDtcbiAgIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ0xpc3RQYXJzZXIodGV4dDogc3RyaW5nKTogQ29uZmlnTGlzdCB7XG4gICBjb25zdCBjb25maWcgPSBuZXcgQ29uZmlnTGlzdCgpO1xuXG4gICBmb3IgKGNvbnN0IGl0ZW0gb2YgY29uZmlnUGFyc2VyKHRleHQpKSB7XG4gICAgICBjb25maWcuYWRkVmFsdWUoaXRlbS5maWxlLCBTdHJpbmcoaXRlbS5rZXkpLCBpdGVtLnZhbHVlKTtcbiAgIH1cblxuICAgcmV0dXJuIGNvbmZpZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbmZpZ0dldFBhcnNlcih0ZXh0OiBzdHJpbmcsIGtleTogc3RyaW5nKTogQ29uZmlnR2V0UmVzdWx0IHtcbiAgIGxldCB2YWx1ZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICBjb25zdCB2YWx1ZXM6IHN0cmluZ1tdID0gW107XG4gICBjb25zdCBzY29wZXM6IE1hcDxzdHJpbmcsIHN0cmluZ1tdPiA9IG5ldyBNYXAoKTtcblxuICAgZm9yIChjb25zdCBpdGVtIG9mIGNvbmZpZ1BhcnNlcih0ZXh0LCBrZXkpKSB7XG4gICAgICBpZiAoaXRlbS5rZXkgIT09IGtleSkge1xuICAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIHZhbHVlcy5wdXNoKCh2YWx1ZSA9IGl0ZW0udmFsdWUpKTtcblxuICAgICAgaWYgKCFzY29wZXMuaGFzKGl0ZW0uZmlsZSkpIHtcbiAgICAgICAgIHNjb3Blcy5zZXQoaXRlbS5maWxlLCBbXSk7XG4gICAgICB9XG5cbiAgICAgIHNjb3Blcy5nZXQoaXRlbS5maWxlKSEucHVzaCh2YWx1ZSk7XG4gICB9XG5cbiAgIHJldHVybiB7XG4gICAgICBrZXksXG4gICAgICBwYXRoczogQXJyYXkuZnJvbShzY29wZXMua2V5cygpKSxcbiAgICAgIHNjb3BlcyxcbiAgICAgIHZhbHVlLFxuICAgICAgdmFsdWVzLFxuICAgfTtcbn1cblxuZnVuY3Rpb24gY29uZmlnRmlsZVBhdGgoZmlsZVBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICByZXR1cm4gZmlsZVBhdGgucmVwbGFjZSgvXihmaWxlKTovLCAnJyk7XG59XG5cbmZ1bmN0aW9uKiBjb25maWdQYXJzZXIodGV4dDogc3RyaW5nLCByZXF1ZXN0ZWRLZXk6IHN0cmluZyB8IG51bGwgPSBudWxsKSB7XG4gICBjb25zdCBsaW5lcyA9IHRleHQuc3BsaXQoJ1xcMCcpO1xuXG4gICBmb3IgKGxldCBpID0gMCwgbWF4ID0gbGluZXMubGVuZ3RoIC0gMTsgaSA8IG1heDsgKSB7XG4gICAgICBjb25zdCBmaWxlID0gY29uZmlnRmlsZVBhdGgobGluZXNbaSsrXSk7XG5cbiAgICAgIGxldCB2YWx1ZSA9IGxpbmVzW2krK107XG4gICAgICBsZXQga2V5ID0gcmVxdWVzdGVkS2V5O1xuXG4gICAgICBpZiAodmFsdWUuaW5jbHVkZXMoJ1xcbicpKSB7XG4gICAgICAgICBjb25zdCBsaW5lID0gc3BsaXRPbih2YWx1ZSwgJ1xcbicpO1xuICAgICAgICAga2V5ID0gbGluZVswXTtcbiAgICAgICAgIHZhbHVlID0gbGluZVsxXTtcbiAgICAgIH1cblxuICAgICAgeWllbGQgeyBmaWxlLCBrZXksIHZhbHVlIH07XG4gICB9XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBDb25maWdHZXRSZXN1bHQsIENvbmZpZ0xpc3RTdW1tYXJ5LCBTaW1wbGVHaXQgfSBmcm9tICcuLi8uLi8uLi90eXBpbmdzJztcbmltcG9ydCB7IGNvbmZpZ0dldFBhcnNlciwgY29uZmlnTGlzdFBhcnNlciB9IGZyb20gJy4uL3Jlc3BvbnNlcy9Db25maWdMaXN0JztcbmltcG9ydCB0eXBlIHsgU2ltcGxlR2l0QXBpIH0gZnJvbSAnLi4vc2ltcGxlLWdpdC1hcGknO1xuaW1wb3J0IHR5cGUgeyBTdHJpbmdUYXNrIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50IH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgZW51bSBHaXRDb25maWdTY29wZSB7XG4gICBzeXN0ZW0gPSAnc3lzdGVtJyxcbiAgIGdsb2JhbCA9ICdnbG9iYWwnLFxuICAgbG9jYWwgPSAnbG9jYWwnLFxuICAgd29ya3RyZWUgPSAnd29ya3RyZWUnLFxufVxuXG5mdW5jdGlvbiBhc0NvbmZpZ1Njb3BlPFQgZXh0ZW5kcyBHaXRDb25maWdTY29wZSB8IHVuZGVmaW5lZD4oXG4gICBzY29wZTogR2l0Q29uZmlnU2NvcGUgfCB1bmtub3duLFxuICAgZmFsbGJhY2s6IFRcbik6IEdpdENvbmZpZ1Njb3BlIHwgVCB7XG4gICBpZiAodHlwZW9mIHNjb3BlID09PSAnc3RyaW5nJyAmJiBHaXRDb25maWdTY29wZS5oYXNPd25Qcm9wZXJ0eShzY29wZSkpIHtcbiAgICAgIHJldHVybiBzY29wZSBhcyBHaXRDb25maWdTY29wZTtcbiAgIH1cbiAgIHJldHVybiBmYWxsYmFjaztcbn1cblxuZnVuY3Rpb24gYWRkQ29uZmlnVGFzayhcbiAgIGtleTogc3RyaW5nLFxuICAgdmFsdWU6IHN0cmluZyxcbiAgIGFwcGVuZDogYm9vbGVhbixcbiAgIHNjb3BlOiBHaXRDb25maWdTY29wZVxuKTogU3RyaW5nVGFzazxzdHJpbmc+IHtcbiAgIGNvbnN0IGNvbW1hbmRzOiBzdHJpbmdbXSA9IFsnY29uZmlnJywgYC0tJHtzY29wZX1gXTtcblxuICAgaWYgKGFwcGVuZCkge1xuICAgICAgY29tbWFuZHMucHVzaCgnLS1hZGQnKTtcbiAgIH1cblxuICAgY29tbWFuZHMucHVzaChrZXksIHZhbHVlKTtcblxuICAgcmV0dXJuIHtcbiAgICAgIGNvbW1hbmRzLFxuICAgICAgZm9ybWF0OiAndXRmLTgnLFxuICAgICAgcGFyc2VyKHRleHQ6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgICByZXR1cm4gdGV4dDtcbiAgICAgIH0sXG4gICB9O1xufVxuXG5mdW5jdGlvbiBnZXRDb25maWdUYXNrKGtleTogc3RyaW5nLCBzY29wZT86IEdpdENvbmZpZ1Njb3BlKTogU3RyaW5nVGFzazxDb25maWdHZXRSZXN1bHQ+IHtcbiAgIGNvbnN0IGNvbW1hbmRzOiBzdHJpbmdbXSA9IFsnY29uZmlnJywgJy0tbnVsbCcsICctLXNob3ctb3JpZ2luJywgJy0tZ2V0LWFsbCcsIGtleV07XG5cbiAgIGlmIChzY29wZSkge1xuICAgICAgY29tbWFuZHMuc3BsaWNlKDEsIDAsIGAtLSR7c2NvcGV9YCk7XG4gICB9XG5cbiAgIHJldHVybiB7XG4gICAgICBjb21tYW5kcyxcbiAgICAgIGZvcm1hdDogJ3V0Zi04JyxcbiAgICAgIHBhcnNlcih0ZXh0KSB7XG4gICAgICAgICByZXR1cm4gY29uZmlnR2V0UGFyc2VyKHRleHQsIGtleSk7XG4gICAgICB9LFxuICAgfTtcbn1cblxuZnVuY3Rpb24gbGlzdENvbmZpZ1Rhc2soc2NvcGU/OiBHaXRDb25maWdTY29wZSk6IFN0cmluZ1Rhc2s8Q29uZmlnTGlzdFN1bW1hcnk+IHtcbiAgIGNvbnN0IGNvbW1hbmRzID0gWydjb25maWcnLCAnLS1saXN0JywgJy0tc2hvdy1vcmlnaW4nLCAnLS1udWxsJ107XG5cbiAgIGlmIChzY29wZSkge1xuICAgICAgY29tbWFuZHMucHVzaChgLS0ke3Njb3BlfWApO1xuICAgfVxuXG4gICByZXR1cm4ge1xuICAgICAgY29tbWFuZHMsXG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBwYXJzZXIodGV4dDogc3RyaW5nKSB7XG4gICAgICAgICByZXR1cm4gY29uZmlnTGlzdFBhcnNlcih0ZXh0KTtcbiAgICAgIH0sXG4gICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoKTogUGljazxTaW1wbGVHaXQsICdhZGRDb25maWcnIHwgJ2dldENvbmZpZycgfCAnbGlzdENvbmZpZyc+IHtcbiAgIHJldHVybiB7XG4gICAgICBhZGRDb25maWcodGhpczogU2ltcGxlR2l0QXBpLCBrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZywgLi4ucmVzdDogdW5rbm93bltdKSB7XG4gICAgICAgICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgICAgICAgIGFkZENvbmZpZ1Rhc2soXG4gICAgICAgICAgICAgICBrZXksXG4gICAgICAgICAgICAgICB2YWx1ZSxcbiAgICAgICAgICAgICAgIHJlc3RbMF0gPT09IHRydWUsXG4gICAgICAgICAgICAgICBhc0NvbmZpZ1Njb3BlKHJlc3RbMV0sIEdpdENvbmZpZ1Njb3BlLmxvY2FsKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpXG4gICAgICAgICApO1xuICAgICAgfSxcblxuICAgICAgZ2V0Q29uZmlnKHRoaXM6IFNpbXBsZUdpdEFwaSwga2V5OiBzdHJpbmcsIHNjb3BlPzogR2l0Q29uZmlnU2NvcGUpIHtcbiAgICAgICAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgICAgICAgZ2V0Q29uZmlnVGFzayhrZXksIGFzQ29uZmlnU2NvcGUoc2NvcGUsIHVuZGVmaW5lZCkpLFxuICAgICAgICAgICAgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cylcbiAgICAgICAgICk7XG4gICAgICB9LFxuXG4gICAgICBsaXN0Q29uZmlnKHRoaXM6IFNpbXBsZUdpdEFwaSwgLi4ucmVzdDogdW5rbm93bltdKSB7XG4gICAgICAgICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgICAgICAgIGxpc3RDb25maWdUYXNrKGFzQ29uZmlnU2NvcGUocmVzdFswXSwgdW5kZWZpbmVkKSksXG4gICAgICAgICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgICAgICAgKTtcbiAgICAgIH0sXG4gICB9O1xufVxuIiwgImV4cG9ydCBlbnVtIERpZmZOYW1lU3RhdHVzIHtcbiAgIEFEREVEID0gJ0EnLFxuICAgQ09QSUVEID0gJ0MnLFxuICAgREVMRVRFRCA9ICdEJyxcbiAgIE1PRElGSUVEID0gJ00nLFxuICAgUkVOQU1FRCA9ICdSJyxcbiAgIENIQU5HRUQgPSAnVCcsXG4gICBVTk1FUkdFRCA9ICdVJyxcbiAgIFVOS05PV04gPSAnWCcsXG4gICBCUk9LRU4gPSAnQicsXG59XG5cbmNvbnN0IGRpZmZOYW1lU3RhdHVzID0gbmV3IFNldChPYmplY3QudmFsdWVzKERpZmZOYW1lU3RhdHVzKSk7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0RpZmZOYW1lU3RhdHVzKGlucHV0OiBzdHJpbmcpOiBpbnB1dCBpcyBEaWZmTmFtZVN0YXR1cyB7XG4gICByZXR1cm4gZGlmZk5hbWVTdGF0dXMuaGFzKGlucHV0IGFzIERpZmZOYW1lU3RhdHVzKTtcbn1cbiIsICJpbXBvcnQgeyBHcmVwUmVzdWx0LCBTaW1wbGVHaXQgfSBmcm9tICcuLi8uLi8uLi90eXBpbmdzJztcbmltcG9ydCB7IFNpbXBsZUdpdEFwaSB9IGZyb20gJy4uL3NpbXBsZS1naXQtYXBpJztcbmltcG9ydCB7XG4gICBhc051bWJlcixcbiAgIGZvckVhY2hMaW5lV2l0aENvbnRlbnQsXG4gICBnZXRUcmFpbGluZ09wdGlvbnMsXG4gICBOVUxMLFxuICAgcHJlZml4ZWRBcnJheSxcbiAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudCxcbn0gZnJvbSAnLi4vdXRpbHMnO1xuXG5pbXBvcnQgeyBjb25maWd1cmF0aW9uRXJyb3JUYXNrIH0gZnJvbSAnLi90YXNrJztcblxuY29uc3QgZGlzYWxsb3dlZE9wdGlvbnMgPSBbJy1oJ107XG5cbmNvbnN0IFF1ZXJ5ID0gU3ltYm9sKCdncmVwUXVlcnknKTtcblxuZXhwb3J0IGludGVyZmFjZSBHaXRHcmVwUXVlcnkgZXh0ZW5kcyBJdGVyYWJsZTxzdHJpbmc+IHtcbiAgIC8qKiBBZGRzIG9uZSBvciBtb3JlIHRlcm1zIHRvIGJlIGdyb3VwZWQgYXMgYW4gXCJhbmRcIiB0byBhbnkgb3RoZXIgdGVybXMgKi9cbiAgIGFuZCguLi5hbmQ6IHN0cmluZ1tdKTogdGhpcztcblxuICAgLyoqIEFkZHMgb25lIG9yIG1vcmUgc2VhcmNoIHRlcm1zIC0gZ2l0LmdyZXAgd2lsbCBcIm9yXCIgdGhpcyB0byBvdGhlciB0ZXJtcyAqL1xuICAgcGFyYW0oLi4ucGFyYW06IHN0cmluZ1tdKTogdGhpcztcbn1cblxuY2xhc3MgR3JlcFF1ZXJ5IGltcGxlbWVudHMgR2l0R3JlcFF1ZXJ5IHtcbiAgIHByaXZhdGUgW1F1ZXJ5XTogc3RyaW5nW10gPSBbXTtcblxuICAgKltTeW1ib2wuaXRlcmF0b3JdKCkge1xuICAgICAgZm9yIChjb25zdCBxdWVyeSBvZiB0aGlzW1F1ZXJ5XSkge1xuICAgICAgICAgeWllbGQgcXVlcnk7XG4gICAgICB9XG4gICB9XG5cbiAgIGFuZCguLi5hbmQ6IHN0cmluZ1tdKSB7XG4gICAgICBhbmQubGVuZ3RoICYmIHRoaXNbUXVlcnldLnB1c2goJy0tYW5kJywgJygnLCAuLi5wcmVmaXhlZEFycmF5KGFuZCwgJy1lJyksICcpJyk7XG4gICAgICByZXR1cm4gdGhpcztcbiAgIH1cblxuICAgcGFyYW0oLi4ucGFyYW06IHN0cmluZ1tdKSB7XG4gICAgICB0aGlzW1F1ZXJ5XS5wdXNoKC4uLnByZWZpeGVkQXJyYXkocGFyYW0sICctZScpKTtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgfVxufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgYnVpbGRlciBmb3IgYSBgZ2l0LmdyZXBgIHF1ZXJ5IHdpdGggb3B0aW9uYWwgcGFyYW1zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBncmVwUXVlcnlCdWlsZGVyKC4uLnBhcmFtczogc3RyaW5nW10pOiBHaXRHcmVwUXVlcnkge1xuICAgcmV0dXJuIG5ldyBHcmVwUXVlcnkoKS5wYXJhbSguLi5wYXJhbXMpO1xufVxuXG5mdW5jdGlvbiBwYXJzZUdyZXAoZ3JlcDogc3RyaW5nKTogR3JlcFJlc3VsdCB7XG4gICBjb25zdCBwYXRoczogR3JlcFJlc3VsdFsncGF0aHMnXSA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgY29uc3QgcmVzdWx0czogR3JlcFJlc3VsdFsncmVzdWx0cyddID0ge307XG5cbiAgIGZvckVhY2hMaW5lV2l0aENvbnRlbnQoZ3JlcCwgKGlucHV0KSA9PiB7XG4gICAgICBjb25zdCBbcGF0aCwgbGluZSwgcHJldmlld10gPSBpbnB1dC5zcGxpdChOVUxMKTtcbiAgICAgIHBhdGhzLmFkZChwYXRoKTtcbiAgICAgIChyZXN1bHRzW3BhdGhdID0gcmVzdWx0c1twYXRoXSB8fCBbXSkucHVzaCh7XG4gICAgICAgICBsaW5lOiBhc051bWJlcihsaW5lKSxcbiAgICAgICAgIHBhdGgsXG4gICAgICAgICBwcmV2aWV3LFxuICAgICAgfSk7XG4gICB9KTtcblxuICAgcmV0dXJuIHtcbiAgICAgIHBhdGhzLFxuICAgICAgcmVzdWx0cyxcbiAgIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uICgpOiBQaWNrPFNpbXBsZUdpdCwgJ2dyZXAnPiB7XG4gICByZXR1cm4ge1xuICAgICAgZ3JlcCh0aGlzOiBTaW1wbGVHaXRBcGksIHNlYXJjaFRlcm06IHN0cmluZyB8IEdpdEdyZXBRdWVyeSkge1xuICAgICAgICAgY29uc3QgdGhlbiA9IHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpO1xuICAgICAgICAgY29uc3Qgb3B0aW9ucyA9IGdldFRyYWlsaW5nT3B0aW9ucyhhcmd1bWVudHMpO1xuXG4gICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBkaXNhbGxvd2VkT3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbnMuaW5jbHVkZXMob3B0aW9uKSkge1xuICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuX3J1blRhc2soXG4gICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uRXJyb3JUYXNrKGBnaXQuZ3JlcDogdXNlIG9mIFwiJHtvcHRpb259XCIgaXMgbm90IHN1cHBvcnRlZC5gKSxcbiAgICAgICAgICAgICAgICAgIHRoZW5cbiAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG5cbiAgICAgICAgIGlmICh0eXBlb2Ygc2VhcmNoVGVybSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHNlYXJjaFRlcm0gPSBncmVwUXVlcnlCdWlsZGVyKCkucGFyYW0oc2VhcmNoVGVybSk7XG4gICAgICAgICB9XG5cbiAgICAgICAgIGNvbnN0IGNvbW1hbmRzID0gWydncmVwJywgJy0tbnVsbCcsICctbicsICctLWZ1bGwtbmFtZScsIC4uLm9wdGlvbnMsIC4uLnNlYXJjaFRlcm1dO1xuXG4gICAgICAgICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgIGNvbW1hbmRzLFxuICAgICAgICAgICAgICAgZm9ybWF0OiAndXRmLTgnLFxuICAgICAgICAgICAgICAgcGFyc2VyKHN0ZE91dCkge1xuICAgICAgICAgICAgICAgICAgcmV0dXJuIHBhcnNlR3JlcChzdGRPdXQpO1xuICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB0aGVuXG4gICAgICAgICApO1xuICAgICAgfSxcbiAgIH07XG59XG4iLCAiaW1wb3J0IHsgc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayB9IGZyb20gJy4vdGFzayc7XG5pbXBvcnQgeyBNYXliZSwgT3B0aW9uRmxhZ3MsIE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBlbnVtIFJlc2V0TW9kZSB7XG4gICBNSVhFRCA9ICdtaXhlZCcsXG4gICBTT0ZUID0gJ3NvZnQnLFxuICAgSEFSRCA9ICdoYXJkJyxcbiAgIE1FUkdFID0gJ21lcmdlJyxcbiAgIEtFRVAgPSAna2VlcCcsXG59XG5cbmNvbnN0IFJlc2V0TW9kZXMgPSBBcnJheS5mcm9tKE9iamVjdC52YWx1ZXMoUmVzZXRNb2RlKSk7XG5cbmV4cG9ydCB0eXBlIFJlc2V0T3B0aW9ucyA9IE9wdGlvbnMgJlxuICAgT3B0aW9uRmxhZ3M8Jy1xJyB8ICctLXF1aWV0JyB8ICctLW5vLXF1aWV0JyB8ICctLXBhdGhzcGVjLWZyb20tbnVsJz4gJlxuICAgT3B0aW9uRmxhZ3M8Jy0tcGF0aHNwZWMtZnJvbS1maWxlJywgc3RyaW5nPjtcblxuZXhwb3J0IGZ1bmN0aW9uIHJlc2V0VGFzayhtb2RlOiBNYXliZTxSZXNldE1vZGU+LCBjdXN0b21BcmdzOiBzdHJpbmdbXSkge1xuICAgY29uc3QgY29tbWFuZHM6IHN0cmluZ1tdID0gWydyZXNldCddO1xuICAgaWYgKGlzVmFsaWRSZXNldE1vZGUobW9kZSkpIHtcbiAgICAgIGNvbW1hbmRzLnB1c2goYC0tJHttb2RlfWApO1xuICAgfVxuICAgY29tbWFuZHMucHVzaCguLi5jdXN0b21BcmdzKTtcblxuICAgcmV0dXJuIHN0cmFpZ2h0VGhyb3VnaFN0cmluZ1Rhc2soY29tbWFuZHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0UmVzZXRNb2RlKG1vZGU6IFJlc2V0TW9kZSB8IGFueSk6IE1heWJlPFJlc2V0TW9kZT4ge1xuICAgaWYgKGlzVmFsaWRSZXNldE1vZGUobW9kZSkpIHtcbiAgICAgIHJldHVybiBtb2RlO1xuICAgfVxuXG4gICBzd2l0Y2ggKHR5cGVvZiBtb2RlKSB7XG4gICAgICBjYXNlICdzdHJpbmcnOlxuICAgICAgY2FzZSAndW5kZWZpbmVkJzpcbiAgICAgICAgIHJldHVybiBSZXNldE1vZGUuU09GVDtcbiAgIH1cblxuICAgcmV0dXJuO1xufVxuXG5mdW5jdGlvbiBpc1ZhbGlkUmVzZXRNb2RlKG1vZGU6IFJlc2V0TW9kZSB8IGFueSk6IG1vZGUgaXMgUmVzZXRNb2RlIHtcbiAgIHJldHVybiBSZXNldE1vZGVzLmluY2x1ZGVzKG1vZGUpO1xufVxuIiwgImltcG9ydCBkZWJ1ZywgeyBEZWJ1Z2dlciB9IGZyb20gJ2RlYnVnJztcbmltcG9ydCB7XG4gICBhcHBlbmQsXG4gICBmaWx0ZXJIYXNMZW5ndGgsXG4gICBmaWx0ZXJTdHJpbmcsXG4gICBmaWx0ZXJUeXBlLFxuICAgTk9PUCxcbiAgIG9iamVjdFRvU3RyaW5nLFxuICAgcmVtb3ZlLFxufSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IE1heWJlIH0gZnJvbSAnLi90eXBlcyc7XG5cbmRlYnVnLmZvcm1hdHRlcnMuTCA9ICh2YWx1ZTogYW55KSA9PiBTdHJpbmcoZmlsdGVySGFzTGVuZ3RoKHZhbHVlKSA/IHZhbHVlLmxlbmd0aCA6ICctJyk7XG5kZWJ1Zy5mb3JtYXR0ZXJzLkIgPSAodmFsdWU6IEJ1ZmZlcikgPT4ge1xuICAgaWYgKEJ1ZmZlci5pc0J1ZmZlcih2YWx1ZSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZS50b1N0cmluZygndXRmOCcpO1xuICAgfVxuICAgcmV0dXJuIG9iamVjdFRvU3RyaW5nKHZhbHVlKTtcbn07XG5cbnR5cGUgT3V0cHV0TG9nZ2luZ0hhbmRsZXIgPSAobWVzc2FnZTogc3RyaW5nLCAuLi5hcmdzOiBhbnlbXSkgPT4gdm9pZDtcblxuZnVuY3Rpb24gY3JlYXRlTG9nKCkge1xuICAgcmV0dXJuIGRlYnVnKCdzaW1wbGUtZ2l0Jyk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3V0cHV0TG9nZ2VyIGV4dGVuZHMgT3V0cHV0TG9nZ2luZ0hhbmRsZXIge1xuICAgcmVhZG9ubHkgbGFiZWw6IHN0cmluZztcblxuICAgaW5mbzogT3V0cHV0TG9nZ2luZ0hhbmRsZXI7XG4gICBzdGVwKG5leHRTdGVwPzogc3RyaW5nKTogT3V0cHV0TG9nZ2VyO1xuICAgc2libGluZyhuYW1lOiBzdHJpbmcpOiBPdXRwdXRMb2dnZXI7XG59XG5cbmZ1bmN0aW9uIHByZWZpeGVkTG9nZ2VyKFxuICAgdG86IERlYnVnZ2VyLFxuICAgcHJlZml4OiBzdHJpbmcsXG4gICBmb3J3YXJkPzogT3V0cHV0TG9nZ2luZ0hhbmRsZXJcbik6IE91dHB1dExvZ2dpbmdIYW5kbGVyIHtcbiAgIGlmICghcHJlZml4IHx8ICFTdHJpbmcocHJlZml4KS5yZXBsYWNlKC9cXHMqLywgJycpKSB7XG4gICAgICByZXR1cm4gIWZvcndhcmRcbiAgICAgICAgID8gdG9cbiAgICAgICAgIDogKG1lc3NhZ2UsIC4uLmFyZ3MpID0+IHtcbiAgICAgICAgICAgICAgdG8obWVzc2FnZSwgLi4uYXJncyk7XG4gICAgICAgICAgICAgIGZvcndhcmQobWVzc2FnZSwgLi4uYXJncyk7XG4gICAgICAgICAgIH07XG4gICB9XG5cbiAgIHJldHVybiAobWVzc2FnZSwgLi4uYXJncykgPT4ge1xuICAgICAgdG8oYCVzICR7bWVzc2FnZX1gLCBwcmVmaXgsIC4uLmFyZ3MpO1xuICAgICAgaWYgKGZvcndhcmQpIHtcbiAgICAgICAgIGZvcndhcmQobWVzc2FnZSwgLi4uYXJncyk7XG4gICAgICB9XG4gICB9O1xufVxuXG5mdW5jdGlvbiBjaGlsZExvZ2dlck5hbWUoXG4gICBuYW1lOiBNYXliZTxzdHJpbmc+LFxuICAgY2hpbGREZWJ1Z2dlcjogTWF5YmU8RGVidWdnZXI+LFxuICAgeyBuYW1lc3BhY2U6IHBhcmVudE5hbWVzcGFjZSB9OiBEZWJ1Z2dlclxuKTogc3RyaW5nIHtcbiAgIGlmICh0eXBlb2YgbmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBuYW1lO1xuICAgfVxuICAgY29uc3QgY2hpbGROYW1lc3BhY2UgPSAoY2hpbGREZWJ1Z2dlciAmJiBjaGlsZERlYnVnZ2VyLm5hbWVzcGFjZSkgfHwgJyc7XG5cbiAgIGlmIChjaGlsZE5hbWVzcGFjZS5zdGFydHNXaXRoKHBhcmVudE5hbWVzcGFjZSkpIHtcbiAgICAgIHJldHVybiBjaGlsZE5hbWVzcGFjZS5zdWJzdHIocGFyZW50TmFtZXNwYWNlLmxlbmd0aCArIDEpO1xuICAgfVxuXG4gICByZXR1cm4gY2hpbGROYW1lc3BhY2UgfHwgcGFyZW50TmFtZXNwYWNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTG9nZ2VyKFxuICAgbGFiZWw6IHN0cmluZyxcbiAgIHZlcmJvc2U/OiBzdHJpbmcgfCBEZWJ1Z2dlcixcbiAgIGluaXRpYWxTdGVwPzogc3RyaW5nLFxuICAgaW5mb0RlYnVnZ2VyID0gY3JlYXRlTG9nKClcbik6IE91dHB1dExvZ2dlciB7XG4gICBjb25zdCBsYWJlbFByZWZpeCA9IChsYWJlbCAmJiBgWyR7bGFiZWx9XWApIHx8ICcnO1xuXG4gICBjb25zdCBzcGF3bmVkOiBPdXRwdXRMb2dnZXJbXSA9IFtdO1xuICAgY29uc3QgZGVidWdEZWJ1Z2dlcjogTWF5YmU8RGVidWdnZXI+ID1cbiAgICAgIHR5cGVvZiB2ZXJib3NlID09PSAnc3RyaW5nJyA/IGluZm9EZWJ1Z2dlci5leHRlbmQodmVyYm9zZSkgOiB2ZXJib3NlO1xuICAgY29uc3Qga2V5ID0gY2hpbGRMb2dnZXJOYW1lKGZpbHRlclR5cGUodmVyYm9zZSwgZmlsdGVyU3RyaW5nKSwgZGVidWdEZWJ1Z2dlciwgaW5mb0RlYnVnZ2VyKTtcblxuICAgcmV0dXJuIHN0ZXAoaW5pdGlhbFN0ZXApO1xuXG4gICBmdW5jdGlvbiBzaWJsaW5nKG5hbWU6IHN0cmluZywgaW5pdGlhbD86IHN0cmluZykge1xuICAgICAgcmV0dXJuIGFwcGVuZChcbiAgICAgICAgIHNwYXduZWQsXG4gICAgICAgICBjcmVhdGVMb2dnZXIobGFiZWwsIGtleS5yZXBsYWNlKC9eW146XSsvLCBuYW1lKSwgaW5pdGlhbCwgaW5mb0RlYnVnZ2VyKVxuICAgICAgKTtcbiAgIH1cblxuICAgZnVuY3Rpb24gc3RlcChwaGFzZT86IHN0cmluZykge1xuICAgICAgY29uc3Qgc3RlcFByZWZpeCA9IChwaGFzZSAmJiBgWyR7cGhhc2V9XWApIHx8ICcnO1xuICAgICAgY29uc3QgZGVidWcgPSAoZGVidWdEZWJ1Z2dlciAmJiBwcmVmaXhlZExvZ2dlcihkZWJ1Z0RlYnVnZ2VyLCBzdGVwUHJlZml4KSkgfHwgTk9PUDtcbiAgICAgIGNvbnN0IGluZm8gPSBwcmVmaXhlZExvZ2dlcihpbmZvRGVidWdnZXIsIGAke2xhYmVsUHJlZml4fSAke3N0ZXBQcmVmaXh9YCwgZGVidWcpO1xuXG4gICAgICByZXR1cm4gT2JqZWN0LmFzc2lnbihkZWJ1Z0RlYnVnZ2VyID8gZGVidWcgOiBpbmZvLCB7XG4gICAgICAgICBsYWJlbCxcbiAgICAgICAgIHNpYmxpbmcsXG4gICAgICAgICBpbmZvLFxuICAgICAgICAgc3RlcCxcbiAgICAgIH0pO1xuICAgfVxufVxuXG4vKipcbiAqIFRoZSBgR2l0TG9nZ2VyYCBpcyB1c2VkIGJ5IHRoZSBtYWluIGBTaW1wbGVHaXRgIHJ1bm5lciB0byBoYW5kbGUgbG9nZ2luZ1xuICogYW55IHdhcm5pbmdzIG9yIGVycm9ycy5cbiAqL1xuZXhwb3J0IGNsYXNzIEdpdExvZ2dlciB7XG4gICBwdWJsaWMgZXJyb3I6IE91dHB1dExvZ2dpbmdIYW5kbGVyO1xuXG4gICBwdWJsaWMgd2FybjogT3V0cHV0TG9nZ2luZ0hhbmRsZXI7XG5cbiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX291dDogRGVidWdnZXIgPSBjcmVhdGVMb2coKSkge1xuICAgICAgdGhpcy5lcnJvciA9IHByZWZpeGVkTG9nZ2VyKF9vdXQsICdbRVJST1JdJyk7XG4gICAgICB0aGlzLndhcm4gPSBwcmVmaXhlZExvZ2dlcihfb3V0LCAnW1dBUk5dJyk7XG4gICB9XG5cbiAgIHNpbGVudChzaWxlbmNlID0gZmFsc2UpIHtcbiAgICAgIGlmIChzaWxlbmNlICE9PSB0aGlzLl9vdXQuZW5hYmxlZCkge1xuICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB7IG5hbWVzcGFjZSB9ID0gdGhpcy5fb3V0O1xuICAgICAgY29uc3QgZW52ID0gKHByb2Nlc3MuZW52LkRFQlVHIHx8ICcnKS5zcGxpdCgnLCcpLmZpbHRlcigocykgPT4gISFzKTtcbiAgICAgIGNvbnN0IGhhc09uID0gZW52LmluY2x1ZGVzKG5hbWVzcGFjZSk7XG4gICAgICBjb25zdCBoYXNPZmYgPSBlbnYuaW5jbHVkZXMoYC0ke25hbWVzcGFjZX1gKTtcblxuICAgICAgLy8gZW5hYmxpbmcgdGhlIGxvZ1xuICAgICAgaWYgKCFzaWxlbmNlKSB7XG4gICAgICAgICBpZiAoaGFzT2ZmKSB7XG4gICAgICAgICAgICByZW1vdmUoZW52LCBgLSR7bmFtZXNwYWNlfWApO1xuICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVudi5wdXNoKG5hbWVzcGFjZSk7XG4gICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAgaWYgKGhhc09uKSB7XG4gICAgICAgICAgICByZW1vdmUoZW52LCBuYW1lc3BhY2UpO1xuICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGVudi5wdXNoKGAtJHtuYW1lc3BhY2V9YCk7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRlYnVnLmVuYWJsZShlbnYuam9pbignLCcpKTtcbiAgIH1cbn1cbiIsICJpbXBvcnQgeyBTaW1wbGVHaXRUYXNrIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgR2l0RXJyb3IgfSBmcm9tICcuLi9lcnJvcnMvZ2l0LWVycm9yJztcbmltcG9ydCB7IGNyZWF0ZUxvZ2dlciwgT3V0cHV0TG9nZ2VyIH0gZnJvbSAnLi4vZ2l0LWxvZ2dlcic7XG5cbnR5cGUgQW55U2ltcGxlR2l0VGFzayA9IFNpbXBsZUdpdFRhc2s8YW55PjtcblxudHlwZSBUYXNrSW5Qcm9ncmVzcyA9IHtcbiAgIG5hbWU6IHN0cmluZztcbiAgIGxvZ2dlcjogT3V0cHV0TG9nZ2VyO1xuICAgdGFzazogQW55U2ltcGxlR2l0VGFzaztcbn07XG5cbmV4cG9ydCBjbGFzcyBUYXNrc1BlbmRpbmdRdWV1ZSB7XG4gICBwcml2YXRlIF9xdWV1ZTogTWFwPEFueVNpbXBsZUdpdFRhc2ssIFRhc2tJblByb2dyZXNzPiA9IG5ldyBNYXAoKTtcblxuICAgY29uc3RydWN0b3IocHJpdmF0ZSBsb2dMYWJlbCA9ICdHaXRFeGVjdXRvcicpIHt9XG5cbiAgIHByaXZhdGUgd2l0aFByb2dyZXNzKHRhc2s6IEFueVNpbXBsZUdpdFRhc2spIHtcbiAgICAgIHJldHVybiB0aGlzLl9xdWV1ZS5nZXQodGFzayk7XG4gICB9XG5cbiAgIHByaXZhdGUgY3JlYXRlUHJvZ3Jlc3ModGFzazogQW55U2ltcGxlR2l0VGFzayk6IFRhc2tJblByb2dyZXNzIHtcbiAgICAgIGNvbnN0IG5hbWUgPSBUYXNrc1BlbmRpbmdRdWV1ZS5nZXROYW1lKHRhc2suY29tbWFuZHNbMF0pO1xuICAgICAgY29uc3QgbG9nZ2VyID0gY3JlYXRlTG9nZ2VyKHRoaXMubG9nTGFiZWwsIG5hbWUpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAgdGFzayxcbiAgICAgICAgIGxvZ2dlcixcbiAgICAgICAgIG5hbWUsXG4gICAgICB9O1xuICAgfVxuXG4gICBwdXNoKHRhc2s6IEFueVNpbXBsZUdpdFRhc2spOiBUYXNrSW5Qcm9ncmVzcyB7XG4gICAgICBjb25zdCBwcm9ncmVzcyA9IHRoaXMuY3JlYXRlUHJvZ3Jlc3ModGFzayk7XG4gICAgICBwcm9ncmVzcy5sb2dnZXIoJ0FkZGluZyB0YXNrIHRvIHRoZSBxdWV1ZSwgY29tbWFuZHMgPSAlbycsIHRhc2suY29tbWFuZHMpO1xuXG4gICAgICB0aGlzLl9xdWV1ZS5zZXQodGFzaywgcHJvZ3Jlc3MpO1xuXG4gICAgICByZXR1cm4gcHJvZ3Jlc3M7XG4gICB9XG5cbiAgIGZhdGFsKGVycjogR2l0RXJyb3IpIHtcbiAgICAgIGZvciAoY29uc3QgW3Rhc2ssIHsgbG9nZ2VyIH1dIG9mIEFycmF5LmZyb20odGhpcy5fcXVldWUuZW50cmllcygpKSkge1xuICAgICAgICAgaWYgKHRhc2sgPT09IGVyci50YXNrKSB7XG4gICAgICAgICAgICBsb2dnZXIuaW5mbyhgRmFpbGVkICVvYCwgZXJyKTtcbiAgICAgICAgICAgIGxvZ2dlcihcbiAgICAgICAgICAgICAgIGBGYXRhbCBleGNlcHRpb24sIGFueSBhcy15ZXQgdW4tc3RhcnRlZCB0YXNrcyBydW4gdGhyb3VnaCB0aGlzIGV4ZWN1dG9yIHdpbGwgbm90IGJlIGF0dGVtcHRlZGBcbiAgICAgICAgICAgICk7XG4gICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICAgICAgICBgQSBmYXRhbCBleGNlcHRpb24gb2NjdXJyZWQgaW4gYSBwcmV2aW91cyB0YXNrLCB0aGUgcXVldWUgaGFzIGJlZW4gcHVyZ2VkOiAlb2AsXG4gICAgICAgICAgICAgICBlcnIubWVzc2FnZVxuICAgICAgICAgICAgKTtcbiAgICAgICAgIH1cblxuICAgICAgICAgdGhpcy5jb21wbGV0ZSh0YXNrKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX3F1ZXVlLnNpemUgIT09IDApIHtcbiAgICAgICAgIHRocm93IG5ldyBFcnJvcihgUXVldWUgc2l6ZSBzaG91bGQgYmUgemVybyBhZnRlciBmYXRhbDogJHt0aGlzLl9xdWV1ZS5zaXplfWApO1xuICAgICAgfVxuICAgfVxuXG4gICBjb21wbGV0ZSh0YXNrOiBBbnlTaW1wbGVHaXRUYXNrKSB7XG4gICAgICBjb25zdCBwcm9ncmVzcyA9IHRoaXMud2l0aFByb2dyZXNzKHRhc2spO1xuICAgICAgaWYgKHByb2dyZXNzKSB7XG4gICAgICAgICB0aGlzLl9xdWV1ZS5kZWxldGUodGFzayk7XG4gICAgICB9XG4gICB9XG5cbiAgIGF0dGVtcHQodGFzazogQW55U2ltcGxlR2l0VGFzayk6IFRhc2tJblByb2dyZXNzIHtcbiAgICAgIGNvbnN0IHByb2dyZXNzID0gdGhpcy53aXRoUHJvZ3Jlc3ModGFzayk7XG4gICAgICBpZiAoIXByb2dyZXNzKSB7XG4gICAgICAgICB0aHJvdyBuZXcgR2l0RXJyb3IodW5kZWZpbmVkLCAnVGFza3NQZW5kaW5nUXVldWU6IGF0dGVtcHQgY2FsbGVkIGZvciBhbiB1bmtub3duIHRhc2snKTtcbiAgICAgIH1cbiAgICAgIHByb2dyZXNzLmxvZ2dlcignU3RhcnRpbmcgdGFzaycpO1xuXG4gICAgICByZXR1cm4gcHJvZ3Jlc3M7XG4gICB9XG5cbiAgIHN0YXRpYyBnZXROYW1lKG5hbWUgPSAnZW1wdHknKSB7XG4gICAgICByZXR1cm4gYHRhc2s6JHtuYW1lfTokeysrVGFza3NQZW5kaW5nUXVldWUuY291bnRlcn1gO1xuICAgfVxuXG4gICBwcml2YXRlIHN0YXRpYyBjb3VudGVyID0gMDtcbn1cbiIsICJpbXBvcnQgeyBzcGF3biwgU3Bhd25PcHRpb25zIH0gZnJvbSAnY2hpbGRfcHJvY2Vzcyc7XG5pbXBvcnQgeyBHaXRFcnJvciB9IGZyb20gJy4uL2Vycm9ycy9naXQtZXJyb3InO1xuaW1wb3J0IHsgT3V0cHV0TG9nZ2VyIH0gZnJvbSAnLi4vZ2l0LWxvZ2dlcic7XG5pbXBvcnQgeyBQbHVnaW5TdG9yZSB9IGZyb20gJy4uL3BsdWdpbnMnO1xuaW1wb3J0IHsgRW1wdHlUYXNrLCBpc0J1ZmZlclRhc2ssIGlzRW1wdHlUYXNrIH0gZnJvbSAnLi4vdGFza3MvdGFzayc7XG5pbXBvcnQge1xuICAgR2l0RXhlY3V0b3JSZXN1bHQsXG4gICBNYXliZSxcbiAgIG91dHB1dEhhbmRsZXIsXG4gICBSdW5uYWJsZVRhc2ssXG4gICBTaW1wbGVHaXRFeGVjdXRvcixcbiAgIFNpbXBsZUdpdFRhc2ssXG59IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGNhbGxUYXNrUGFyc2VyLCBmaXJzdCwgR2l0T3V0cHV0U3RyZWFtcywgb2JqZWN0VG9TdHJpbmcgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBTY2hlZHVsZXIgfSBmcm9tICcuL3NjaGVkdWxlcic7XG5pbXBvcnQgeyBUYXNrc1BlbmRpbmdRdWV1ZSB9IGZyb20gJy4vdGFza3MtcGVuZGluZy1xdWV1ZSc7XG5cbmV4cG9ydCBjbGFzcyBHaXRFeGVjdXRvckNoYWluIGltcGxlbWVudHMgU2ltcGxlR2l0RXhlY3V0b3Ige1xuICAgcHJpdmF0ZSBfY2hhaW46IFByb21pc2U8YW55PiA9IFByb21pc2UucmVzb2x2ZSgpO1xuICAgcHJpdmF0ZSBfcXVldWUgPSBuZXcgVGFza3NQZW5kaW5nUXVldWUoKTtcbiAgIHByaXZhdGUgX2N3ZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICBwdWJsaWMgZ2V0IGN3ZCgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9jd2QgfHwgdGhpcy5fZXhlY3V0b3IuY3dkO1xuICAgfVxuXG4gICBwdWJsaWMgc2V0IGN3ZChjd2Q6IHN0cmluZykge1xuICAgICAgdGhpcy5fY3dkID0gY3dkO1xuICAgfVxuXG4gICBwdWJsaWMgZ2V0IGVudigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9leGVjdXRvci5lbnY7XG4gICB9XG5cbiAgIHB1YmxpYyBnZXQgb3V0cHV0SGFuZGxlcigpIHtcbiAgICAgIHJldHVybiB0aGlzLl9leGVjdXRvci5vdXRwdXRIYW5kbGVyO1xuICAgfVxuXG4gICBjb25zdHJ1Y3RvcihcbiAgICAgIHByaXZhdGUgX2V4ZWN1dG9yOiBTaW1wbGVHaXRFeGVjdXRvcixcbiAgICAgIHByaXZhdGUgX3NjaGVkdWxlcjogU2NoZWR1bGVyLFxuICAgICAgcHJpdmF0ZSBfcGx1Z2luczogUGx1Z2luU3RvcmVcbiAgICkge31cblxuICAgcHVibGljIGNoYWluKCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICB9XG5cbiAgIHB1YmxpYyBwdXNoPFI+KHRhc2s6IFNpbXBsZUdpdFRhc2s8Uj4pOiBQcm9taXNlPFI+IHtcbiAgICAgIHRoaXMuX3F1ZXVlLnB1c2godGFzayk7XG5cbiAgICAgIHJldHVybiAodGhpcy5fY2hhaW4gPSB0aGlzLl9jaGFpbi50aGVuKCgpID0+IHRoaXMuYXR0ZW1wdFRhc2sodGFzaykpKTtcbiAgIH1cblxuICAgcHJpdmF0ZSBhc3luYyBhdHRlbXB0VGFzazxSPih0YXNrOiBTaW1wbGVHaXRUYXNrPFI+KTogUHJvbWlzZTx2b2lkIHwgUj4ge1xuICAgICAgY29uc3Qgb25TY2hlZHVsZUNvbXBsZXRlID0gYXdhaXQgdGhpcy5fc2NoZWR1bGVyLm5leHQoKTtcbiAgICAgIGNvbnN0IG9uUXVldWVDb21wbGV0ZSA9ICgpID0+IHRoaXMuX3F1ZXVlLmNvbXBsZXRlKHRhc2spO1xuXG4gICAgICB0cnkge1xuICAgICAgICAgY29uc3QgeyBsb2dnZXIgfSA9IHRoaXMuX3F1ZXVlLmF0dGVtcHQodGFzayk7XG4gICAgICAgICByZXR1cm4gKGF3YWl0IChpc0VtcHR5VGFzayh0YXNrKVxuICAgICAgICAgICAgPyB0aGlzLmF0dGVtcHRFbXB0eVRhc2sodGFzaywgbG9nZ2VyKVxuICAgICAgICAgICAgOiB0aGlzLmF0dGVtcHRSZW1vdGVUYXNrKHRhc2ssIGxvZ2dlcikpKSBhcyBSO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgdGhyb3cgdGhpcy5vbkZhdGFsRXhjZXB0aW9uKHRhc2ssIGUgYXMgRXJyb3IpO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgIG9uUXVldWVDb21wbGV0ZSgpO1xuICAgICAgICAgb25TY2hlZHVsZUNvbXBsZXRlKCk7XG4gICAgICB9XG4gICB9XG5cbiAgIHByaXZhdGUgb25GYXRhbEV4Y2VwdGlvbjxSPih0YXNrOiBTaW1wbGVHaXRUYXNrPFI+LCBlOiBFcnJvcikge1xuICAgICAgY29uc3QgZ2l0RXJyb3IgPVxuICAgICAgICAgZSBpbnN0YW5jZW9mIEdpdEVycm9yID8gT2JqZWN0LmFzc2lnbihlLCB7IHRhc2sgfSkgOiBuZXcgR2l0RXJyb3IodGFzaywgZSAmJiBTdHJpbmcoZSkpO1xuXG4gICAgICB0aGlzLl9jaGFpbiA9IFByb21pc2UucmVzb2x2ZSgpO1xuICAgICAgdGhpcy5fcXVldWUuZmF0YWwoZ2l0RXJyb3IpO1xuXG4gICAgICByZXR1cm4gZ2l0RXJyb3I7XG4gICB9XG5cbiAgIHByaXZhdGUgYXN5bmMgYXR0ZW1wdFJlbW90ZVRhc2s8Uj4odGFzazogUnVubmFibGVUYXNrPFI+LCBsb2dnZXI6IE91dHB1dExvZ2dlcikge1xuICAgICAgY29uc3QgYmluYXJ5ID0gdGhpcy5fcGx1Z2lucy5leGVjKCdzcGF3bi5iaW5hcnknLCAnJywgcGx1Z2luQ29udGV4dCh0YXNrLCB0YXNrLmNvbW1hbmRzKSk7XG4gICAgICBjb25zdCBhcmdzID0gdGhpcy5fcGx1Z2lucy5leGVjKFxuICAgICAgICAgJ3NwYXduLmFyZ3MnLFxuICAgICAgICAgWy4uLnRhc2suY29tbWFuZHNdLFxuICAgICAgICAgcGx1Z2luQ29udGV4dCh0YXNrLCB0YXNrLmNvbW1hbmRzKVxuICAgICAgKTtcblxuICAgICAgY29uc3QgcmF3ID0gYXdhaXQgdGhpcy5naXRSZXNwb25zZShcbiAgICAgICAgIHRhc2ssXG4gICAgICAgICBiaW5hcnksXG4gICAgICAgICBhcmdzLFxuICAgICAgICAgdGhpcy5vdXRwdXRIYW5kbGVyLFxuICAgICAgICAgbG9nZ2VyLnN0ZXAoJ1NQQVdOJylcbiAgICAgICk7XG4gICAgICBjb25zdCBvdXRwdXRTdHJlYW1zID0gYXdhaXQgdGhpcy5oYW5kbGVUYXNrRGF0YSh0YXNrLCBhcmdzLCByYXcsIGxvZ2dlci5zdGVwKCdIQU5ETEUnKSk7XG5cbiAgICAgIGxvZ2dlcihgcGFzc2luZyByZXNwb25zZSB0byB0YXNrJ3MgcGFyc2VyIGFzIGEgJXNgLCB0YXNrLmZvcm1hdCk7XG5cbiAgICAgIGlmIChpc0J1ZmZlclRhc2sodGFzaykpIHtcbiAgICAgICAgIHJldHVybiBjYWxsVGFza1BhcnNlcih0YXNrLnBhcnNlciwgb3V0cHV0U3RyZWFtcyk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjYWxsVGFza1BhcnNlcih0YXNrLnBhcnNlciwgb3V0cHV0U3RyZWFtcy5hc1N0cmluZ3MoKSk7XG4gICB9XG5cbiAgIHByaXZhdGUgYXN5bmMgYXR0ZW1wdEVtcHR5VGFzayh0YXNrOiBFbXB0eVRhc2ssIGxvZ2dlcjogT3V0cHV0TG9nZ2VyKSB7XG4gICAgICBsb2dnZXIoYGVtcHR5IHRhc2sgYnlwYXNzaW5nIGNoaWxkIHByb2Nlc3MgdG8gY2FsbCB0byB0YXNrJ3MgcGFyc2VyYCk7XG4gICAgICByZXR1cm4gdGFzay5wYXJzZXIodGhpcyk7XG4gICB9XG5cbiAgIHByaXZhdGUgaGFuZGxlVGFza0RhdGE8Uj4oXG4gICAgICB0YXNrOiBTaW1wbGVHaXRUYXNrPFI+LFxuICAgICAgYXJnczogc3RyaW5nW10sXG4gICAgICByZXN1bHQ6IEdpdEV4ZWN1dG9yUmVzdWx0LFxuICAgICAgbG9nZ2VyOiBPdXRwdXRMb2dnZXJcbiAgICk6IFByb21pc2U8R2l0T3V0cHV0U3RyZWFtcz4ge1xuICAgICAgY29uc3QgeyBleGl0Q29kZSwgcmVqZWN0aW9uLCBzdGRPdXQsIHN0ZEVyciB9ID0gcmVzdWx0O1xuXG4gICAgICByZXR1cm4gbmV3IFByb21pc2UoKGRvbmUsIGZhaWwpID0+IHtcbiAgICAgICAgIGxvZ2dlcihgUHJlcGFyaW5nIHRvIGhhbmRsZSBwcm9jZXNzIHJlc3BvbnNlIGV4aXRDb2RlPSVkIHN0ZE91dD1gLCBleGl0Q29kZSk7XG5cbiAgICAgICAgIGNvbnN0IHsgZXJyb3IgfSA9IHRoaXMuX3BsdWdpbnMuZXhlYyhcbiAgICAgICAgICAgICd0YXNrLmVycm9yJyxcbiAgICAgICAgICAgIHsgZXJyb3I6IHJlamVjdGlvbiB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgLi4ucGx1Z2luQ29udGV4dCh0YXNrLCBhcmdzKSxcbiAgICAgICAgICAgICAgIC4uLnJlc3VsdCxcbiAgICAgICAgICAgIH1cbiAgICAgICAgICk7XG5cbiAgICAgICAgIGlmIChlcnJvciAmJiB0YXNrLm9uRXJyb3IpIHtcbiAgICAgICAgICAgIGxvZ2dlci5pbmZvKGBleGl0Q29kZT0lcyBoYW5kbGluZyB3aXRoIGN1c3RvbSBlcnJvciBoYW5kbGVyYCk7XG5cbiAgICAgICAgICAgIHJldHVybiB0YXNrLm9uRXJyb3IoXG4gICAgICAgICAgICAgICByZXN1bHQsXG4gICAgICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgICAgIChuZXdTdGRPdXQpID0+IHtcbiAgICAgICAgICAgICAgICAgIGxvZ2dlci5pbmZvKGBjdXN0b20gZXJyb3IgaGFuZGxlciB0cmVhdGVkIGFzIHN1Y2Nlc3NgKTtcbiAgICAgICAgICAgICAgICAgIGxvZ2dlcihgY3VzdG9tIGVycm9yIHJldHVybmVkIGEgJXNgLCBvYmplY3RUb1N0cmluZyhuZXdTdGRPdXQpKTtcblxuICAgICAgICAgICAgICAgICAgZG9uZShcbiAgICAgICAgICAgICAgICAgICAgIG5ldyBHaXRPdXRwdXRTdHJlYW1zKFxuICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXkuaXNBcnJheShuZXdTdGRPdXQpID8gQnVmZmVyLmNvbmNhdChuZXdTdGRPdXQpIDogbmV3U3RkT3V0LFxuICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyLmNvbmNhdChzdGRFcnIpXG4gICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgIGZhaWxcbiAgICAgICAgICAgICk7XG4gICAgICAgICB9XG5cbiAgICAgICAgIGlmIChlcnJvcikge1xuICAgICAgICAgICAgbG9nZ2VyLmluZm8oXG4gICAgICAgICAgICAgICBgaGFuZGxpbmcgYXMgZXJyb3I6IGV4aXRDb2RlPSVzIHN0ZEVycj0lcyByZWplY3Rpb249JW9gLFxuICAgICAgICAgICAgICAgZXhpdENvZGUsXG4gICAgICAgICAgICAgICBzdGRFcnIubGVuZ3RoLFxuICAgICAgICAgICAgICAgcmVqZWN0aW9uXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmV0dXJuIGZhaWwoZXJyb3IpO1xuICAgICAgICAgfVxuXG4gICAgICAgICBsb2dnZXIuaW5mbyhgcmV0cmlldmluZyB0YXNrIG91dHB1dCBjb21wbGV0ZWApO1xuICAgICAgICAgZG9uZShuZXcgR2l0T3V0cHV0U3RyZWFtcyhCdWZmZXIuY29uY2F0KHN0ZE91dCksIEJ1ZmZlci5jb25jYXQoc3RkRXJyKSkpO1xuICAgICAgfSk7XG4gICB9XG5cbiAgIHByaXZhdGUgYXN5bmMgZ2l0UmVzcG9uc2U8Uj4oXG4gICAgICB0YXNrOiBTaW1wbGVHaXRUYXNrPFI+LFxuICAgICAgY29tbWFuZDogc3RyaW5nLFxuICAgICAgYXJnczogc3RyaW5nW10sXG4gICAgICBvdXRwdXRIYW5kbGVyOiBNYXliZTxvdXRwdXRIYW5kbGVyPixcbiAgICAgIGxvZ2dlcjogT3V0cHV0TG9nZ2VyXG4gICApOiBQcm9taXNlPEdpdEV4ZWN1dG9yUmVzdWx0PiB7XG4gICAgICBjb25zdCBvdXRwdXRMb2dnZXIgPSBsb2dnZXIuc2libGluZygnb3V0cHV0Jyk7XG4gICAgICBjb25zdCBzcGF3bk9wdGlvbnM6IFNwYXduT3B0aW9ucyA9IHRoaXMuX3BsdWdpbnMuZXhlYyhcbiAgICAgICAgICdzcGF3bi5vcHRpb25zJyxcbiAgICAgICAgIHtcbiAgICAgICAgICAgIGN3ZDogdGhpcy5jd2QsXG4gICAgICAgICAgICBlbnY6IHRoaXMuZW52LFxuICAgICAgICAgICAgd2luZG93c0hpZGU6IHRydWUsXG4gICAgICAgICB9LFxuICAgICAgICAgcGx1Z2luQ29udGV4dCh0YXNrLCB0YXNrLmNvbW1hbmRzKVxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlKChkb25lKSA9PiB7XG4gICAgICAgICBjb25zdCBzdGRPdXQ6IEJ1ZmZlcltdID0gW107XG4gICAgICAgICBjb25zdCBzdGRFcnI6IEJ1ZmZlcltdID0gW107XG5cbiAgICAgICAgIGxvZ2dlci5pbmZvKGAlcyAlb2AsIGNvbW1hbmQsIGFyZ3MpO1xuICAgICAgICAgbG9nZ2VyKCclTycsIHNwYXduT3B0aW9ucyk7XG5cbiAgICAgICAgIGxldCByZWplY3Rpb24gPSB0aGlzLl9iZWZvcmVTcGF3bih0YXNrLCBhcmdzKTtcbiAgICAgICAgIGlmIChyZWplY3Rpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBkb25lKHtcbiAgICAgICAgICAgICAgIHN0ZE91dCxcbiAgICAgICAgICAgICAgIHN0ZEVycixcbiAgICAgICAgICAgICAgIGV4aXRDb2RlOiA5OTAxLFxuICAgICAgICAgICAgICAgcmVqZWN0aW9uLFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICB9XG5cbiAgICAgICAgIHRoaXMuX3BsdWdpbnMuZXhlYygnc3Bhd24uYmVmb3JlJywgdW5kZWZpbmVkLCB7XG4gICAgICAgICAgICAuLi5wbHVnaW5Db250ZXh0KHRhc2ssIGFyZ3MpLFxuICAgICAgICAgICAga2lsbChyZWFzb24pIHtcbiAgICAgICAgICAgICAgIHJlamVjdGlvbiA9IHJlYXNvbiB8fCByZWplY3Rpb247XG4gICAgICAgICAgICB9LFxuICAgICAgICAgfSk7XG5cbiAgICAgICAgIGNvbnN0IHNwYXduZWQgPSBzcGF3bihjb21tYW5kLCBhcmdzLCBzcGF3bk9wdGlvbnMpO1xuXG4gICAgICAgICBzcGF3bmVkLnN0ZG91dCEub24oXG4gICAgICAgICAgICAnZGF0YScsXG4gICAgICAgICAgICBvbkRhdGFSZWNlaXZlZChzdGRPdXQsICdzdGRPdXQnLCBsb2dnZXIsIG91dHB1dExvZ2dlci5zdGVwKCdzdGRPdXQnKSlcbiAgICAgICAgICk7XG4gICAgICAgICBzcGF3bmVkLnN0ZGVyciEub24oXG4gICAgICAgICAgICAnZGF0YScsXG4gICAgICAgICAgICBvbkRhdGFSZWNlaXZlZChzdGRFcnIsICdzdGRFcnInLCBsb2dnZXIsIG91dHB1dExvZ2dlci5zdGVwKCdzdGRFcnInKSlcbiAgICAgICAgICk7XG5cbiAgICAgICAgIHNwYXduZWQub24oJ2Vycm9yJywgb25FcnJvclJlY2VpdmVkKHN0ZEVyciwgbG9nZ2VyKSk7XG5cbiAgICAgICAgIGlmIChvdXRwdXRIYW5kbGVyKSB7XG4gICAgICAgICAgICBsb2dnZXIoYFBhc3NpbmcgY2hpbGQgcHJvY2VzcyBzdGRPdXQvc3RkRXJyIHRvIGN1c3RvbSBvdXRwdXRIYW5kbGVyYCk7XG4gICAgICAgICAgICBvdXRwdXRIYW5kbGVyKGNvbW1hbmQsIHNwYXduZWQuc3Rkb3V0ISwgc3Bhd25lZC5zdGRlcnIhLCBbLi4uYXJnc10pO1xuICAgICAgICAgfVxuXG4gICAgICAgICB0aGlzLl9wbHVnaW5zLmV4ZWMoJ3NwYXduLmFmdGVyJywgdW5kZWZpbmVkLCB7XG4gICAgICAgICAgICAuLi5wbHVnaW5Db250ZXh0KHRhc2ssIGFyZ3MpLFxuICAgICAgICAgICAgc3Bhd25lZCxcbiAgICAgICAgICAgIGNsb3NlKGV4aXRDb2RlOiBudW1iZXIsIHJlYXNvbj86IEVycm9yKSB7XG4gICAgICAgICAgICAgICBkb25lKHtcbiAgICAgICAgICAgICAgICAgIHN0ZE91dCxcbiAgICAgICAgICAgICAgICAgIHN0ZEVycixcbiAgICAgICAgICAgICAgICAgIGV4aXRDb2RlLFxuICAgICAgICAgICAgICAgICAgcmVqZWN0aW9uOiByZWplY3Rpb24gfHwgcmVhc29uLFxuICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAga2lsbChyZWFzb246IEVycm9yKSB7XG4gICAgICAgICAgICAgICBpZiAoc3Bhd25lZC5raWxsZWQpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgcmVqZWN0aW9uID0gcmVhc29uO1xuICAgICAgICAgICAgICAgc3Bhd25lZC5raWxsKCdTSUdJTlQnKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICB9KTtcbiAgICAgIH0pO1xuICAgfVxuXG4gICBwcml2YXRlIF9iZWZvcmVTcGF3bjxSPih0YXNrOiBTaW1wbGVHaXRUYXNrPFI+LCBhcmdzOiBzdHJpbmdbXSkge1xuICAgICAgbGV0IHJlamVjdGlvbjogTWF5YmU8RXJyb3I+O1xuICAgICAgdGhpcy5fcGx1Z2lucy5leGVjKCdzcGF3bi5iZWZvcmUnLCB1bmRlZmluZWQsIHtcbiAgICAgICAgIC4uLnBsdWdpbkNvbnRleHQodGFzaywgYXJncyksXG4gICAgICAgICBraWxsKHJlYXNvbikge1xuICAgICAgICAgICAgcmVqZWN0aW9uID0gcmVhc29uIHx8IHJlamVjdGlvbjtcbiAgICAgICAgIH0sXG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHJlamVjdGlvbjtcbiAgIH1cbn1cblxuZnVuY3Rpb24gcGx1Z2luQ29udGV4dDxSPih0YXNrOiBTaW1wbGVHaXRUYXNrPFI+LCBjb21tYW5kczogc3RyaW5nW10pIHtcbiAgIHJldHVybiB7XG4gICAgICBtZXRob2Q6IGZpcnN0KHRhc2suY29tbWFuZHMpIHx8ICcnLFxuICAgICAgY29tbWFuZHMsXG4gICB9O1xufVxuXG5mdW5jdGlvbiBvbkVycm9yUmVjZWl2ZWQodGFyZ2V0OiBCdWZmZXJbXSwgbG9nZ2VyOiBPdXRwdXRMb2dnZXIpIHtcbiAgIHJldHVybiAoZXJyOiBFcnJvcikgPT4ge1xuICAgICAgbG9nZ2VyKGBbRVJST1JdIGNoaWxkIHByb2Nlc3MgZXhjZXB0aW9uICVvYCwgZXJyKTtcbiAgICAgIHRhcmdldC5wdXNoKEJ1ZmZlci5mcm9tKFN0cmluZyhlcnIuc3RhY2spLCAnYXNjaWknKSk7XG4gICB9O1xufVxuXG5mdW5jdGlvbiBvbkRhdGFSZWNlaXZlZChcbiAgIHRhcmdldDogQnVmZmVyW10sXG4gICBuYW1lOiBzdHJpbmcsXG4gICBsb2dnZXI6IE91dHB1dExvZ2dlcixcbiAgIG91dHB1dDogT3V0cHV0TG9nZ2VyXG4pIHtcbiAgIHJldHVybiAoYnVmZmVyOiBCdWZmZXIpID0+IHtcbiAgICAgIGxvZ2dlcihgJXMgcmVjZWl2ZWQgJUwgYnl0ZXNgLCBuYW1lLCBidWZmZXIpO1xuICAgICAgb3V0cHV0KGAlQmAsIGJ1ZmZlcik7XG4gICAgICB0YXJnZXQucHVzaChidWZmZXIpO1xuICAgfTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IFBsdWdpblN0b3JlIH0gZnJvbSAnLi4vcGx1Z2lucyc7XG5pbXBvcnQgdHlwZSB7IEdpdEV4ZWN1dG9yRW52LCBvdXRwdXRIYW5kbGVyLCBTaW1wbGVHaXRFeGVjdXRvciwgU2ltcGxlR2l0VGFzayB9IGZyb20gJy4uL3R5cGVzJztcblxuaW1wb3J0IHsgR2l0RXhlY3V0b3JDaGFpbiB9IGZyb20gJy4vZ2l0LWV4ZWN1dG9yLWNoYWluJztcbmltcG9ydCB7IFNjaGVkdWxlciB9IGZyb20gJy4vc2NoZWR1bGVyJztcblxuZXhwb3J0IGNsYXNzIEdpdEV4ZWN1dG9yIGltcGxlbWVudHMgU2ltcGxlR2l0RXhlY3V0b3Ige1xuICAgcHJpdmF0ZSBfY2hhaW4gPSBuZXcgR2l0RXhlY3V0b3JDaGFpbih0aGlzLCB0aGlzLl9zY2hlZHVsZXIsIHRoaXMuX3BsdWdpbnMpO1xuXG4gICBwdWJsaWMgZW52OiBHaXRFeGVjdXRvckVudjtcbiAgIHB1YmxpYyBvdXRwdXRIYW5kbGVyPzogb3V0cHV0SGFuZGxlcjtcblxuICAgY29uc3RydWN0b3IoXG4gICAgICBwdWJsaWMgY3dkOiBzdHJpbmcsXG4gICAgICBwcml2YXRlIF9zY2hlZHVsZXI6IFNjaGVkdWxlcixcbiAgICAgIHByaXZhdGUgX3BsdWdpbnM6IFBsdWdpblN0b3JlXG4gICApIHt9XG5cbiAgIGNoYWluKCk6IFNpbXBsZUdpdEV4ZWN1dG9yIHtcbiAgICAgIHJldHVybiBuZXcgR2l0RXhlY3V0b3JDaGFpbih0aGlzLCB0aGlzLl9zY2hlZHVsZXIsIHRoaXMuX3BsdWdpbnMpO1xuICAgfVxuXG4gICBwdXNoPFI+KHRhc2s6IFNpbXBsZUdpdFRhc2s8Uj4pOiBQcm9taXNlPFI+IHtcbiAgICAgIHJldHVybiB0aGlzLl9jaGFpbi5wdXNoKHRhc2spO1xuICAgfVxufVxuIiwgImltcG9ydCB7IEdpdEVycm9yIH0gZnJvbSAnLi9lcnJvcnMvZ2l0LWVycm9yJztcbmltcG9ydCB7IEdpdFJlc3BvbnNlRXJyb3IgfSBmcm9tICcuL2Vycm9ycy9naXQtcmVzcG9uc2UtZXJyb3InO1xuaW1wb3J0IHsgU2ltcGxlR2l0VGFzaywgU2ltcGxlR2l0VGFza0NhbGxiYWNrIH0gZnJvbSAnLi90eXBlcyc7XG5pbXBvcnQgeyBOT09QIH0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiB0YXNrQ2FsbGJhY2s8Uj4oXG4gICB0YXNrOiBTaW1wbGVHaXRUYXNrPFI+LFxuICAgcmVzcG9uc2U6IFByb21pc2U8Uj4sXG4gICBjYWxsYmFjazogU2ltcGxlR2l0VGFza0NhbGxiYWNrPFI+ID0gTk9PUFxuKSB7XG4gICBjb25zdCBvblN1Y2Nlc3MgPSAoZGF0YTogUikgPT4ge1xuICAgICAgY2FsbGJhY2sobnVsbCwgZGF0YSk7XG4gICB9O1xuXG4gICBjb25zdCBvbkVycm9yID0gKGVycjogR2l0RXJyb3IgfCBHaXRSZXNwb25zZUVycm9yKSA9PiB7XG4gICAgICBpZiAoZXJyPy50YXNrID09PSB0YXNrKSB7XG4gICAgICAgICBjYWxsYmFjayhcbiAgICAgICAgICAgIGVyciBpbnN0YW5jZW9mIEdpdFJlc3BvbnNlRXJyb3IgPyBhZGREZXByZWNhdGlvbk5vdGljZVRvRXJyb3IoZXJyKSA6IGVycixcbiAgICAgICAgICAgIHVuZGVmaW5lZCBhcyBhbnlcbiAgICAgICAgICk7XG4gICAgICB9XG4gICB9O1xuXG4gICByZXNwb25zZS50aGVuKG9uU3VjY2Vzcywgb25FcnJvcik7XG59XG5cbmZ1bmN0aW9uIGFkZERlcHJlY2F0aW9uTm90aWNlVG9FcnJvcihlcnI6IEdpdFJlc3BvbnNlRXJyb3IpIHtcbiAgIGxldCBsb2cgPSAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zb2xlLndhcm4oXG4gICAgICAgICBgc2ltcGxlLWdpdCBkZXByZWNhdGlvbiBub3RpY2U6IGFjY2Vzc2luZyBHaXRSZXNwb25zZUVycm9yLiR7bmFtZX0gc2hvdWxkIGJlIEdpdFJlc3BvbnNlRXJyb3IuZ2l0LiR7bmFtZX0sIHRoaXMgd2lsbCBubyBsb25nZXIgYmUgYXZhaWxhYmxlIGluIHZlcnNpb24gM2BcbiAgICAgICk7XG4gICAgICBsb2cgPSBOT09QO1xuICAgfTtcblxuICAgcmV0dXJuIE9iamVjdC5jcmVhdGUoZXJyLCBPYmplY3QuZ2V0T3duUHJvcGVydHlOYW1lcyhlcnIuZ2l0KS5yZWR1Y2UoZGVzY3JpcHRvclJlZHVjZXIsIHt9KSk7XG5cbiAgIGZ1bmN0aW9uIGRlc2NyaXB0b3JSZWR1Y2VyKGFsbDogUHJvcGVydHlEZXNjcmlwdG9yTWFwLCBuYW1lOiBzdHJpbmcpOiB0eXBlb2YgYWxsIHtcbiAgICAgIGlmIChuYW1lIGluIGVycikge1xuICAgICAgICAgcmV0dXJuIGFsbDtcbiAgICAgIH1cblxuICAgICAgYWxsW25hbWVdID0ge1xuICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgICAgZ2V0KCkge1xuICAgICAgICAgICAgbG9nKG5hbWUpO1xuICAgICAgICAgICAgcmV0dXJuIGVyci5naXRbbmFtZV07XG4gICAgICAgICB9LFxuICAgICAgfTtcblxuICAgICAgcmV0dXJuIGFsbDtcbiAgIH1cbn1cbiIsICJpbXBvcnQgeyBmb2xkZXJFeGlzdHMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBTaW1wbGVHaXRFeGVjdXRvciB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGFkaG9jRXhlY1Rhc2sgfSBmcm9tICcuL3Rhc2snO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hhbmdlV29ya2luZ0RpcmVjdG9yeVRhc2soZGlyZWN0b3J5OiBzdHJpbmcsIHJvb3Q/OiBTaW1wbGVHaXRFeGVjdXRvcikge1xuICAgcmV0dXJuIGFkaG9jRXhlY1Rhc2soKGluc3RhbmNlOiBTaW1wbGVHaXRFeGVjdXRvcikgPT4ge1xuICAgICAgaWYgKCFmb2xkZXJFeGlzdHMoZGlyZWN0b3J5KSkge1xuICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBHaXQuY3dkOiBjYW5ub3QgY2hhbmdlIHRvIG5vbi1kaXJlY3RvcnkgXCIke2RpcmVjdG9yeX1cImApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gKChyb290IHx8IGluc3RhbmNlKS5jd2QgPSBkaXJlY3RvcnkpO1xuICAgfSk7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBTaW1wbGVHaXQgfSBmcm9tICcuLi8uLi8uLi90eXBpbmdzJztcbmltcG9ydCB0eXBlIHsgU2ltcGxlR2l0QXBpIH0gZnJvbSAnLi4vc2ltcGxlLWdpdC1hcGknO1xuaW1wb3J0IHsgZ2V0VHJhaWxpbmdPcHRpb25zLCByZW1vdmUsIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHN0cmFpZ2h0VGhyb3VnaFN0cmluZ1Rhc2sgfSBmcm9tICcuL3Rhc2snO1xuXG5mdW5jdGlvbiBjaGVja291dFRhc2soYXJnczogc3RyaW5nW10pIHtcbiAgIGNvbnN0IGNvbW1hbmRzID0gWydjaGVja291dCcsIC4uLmFyZ3NdO1xuICAgaWYgKGNvbW1hbmRzWzFdID09PSAnLWInICYmIGNvbW1hbmRzLmluY2x1ZGVzKCctQicpKSB7XG4gICAgICBjb21tYW5kc1sxXSA9IHJlbW92ZShjb21tYW5kcywgJy1CJyk7XG4gICB9XG5cbiAgIHJldHVybiBzdHJhaWdodFRocm91Z2hTdHJpbmdUYXNrKGNvbW1hbmRzKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKCk6IFBpY2s8U2ltcGxlR2l0LCAnY2hlY2tvdXQnIHwgJ2NoZWNrb3V0QnJhbmNoJyB8ICdjaGVja291dExvY2FsQnJhbmNoJz4ge1xuICAgcmV0dXJuIHtcbiAgICAgIGNoZWNrb3V0KHRoaXM6IFNpbXBsZUdpdEFwaSkge1xuICAgICAgICAgcmV0dXJuIHRoaXMuX3J1blRhc2soXG4gICAgICAgICAgICBjaGVja291dFRhc2soZ2V0VHJhaWxpbmdPcHRpb25zKGFyZ3VtZW50cywgMSkpLFxuICAgICAgICAgICAgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cylcbiAgICAgICAgICk7XG4gICAgICB9LFxuXG4gICAgICBjaGVja291dEJyYW5jaCh0aGlzOiBTaW1wbGVHaXRBcGksIGJyYW5jaE5hbWUsIHN0YXJ0UG9pbnQpIHtcbiAgICAgICAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgICAgICAgY2hlY2tvdXRUYXNrKFsnLWInLCBicmFuY2hOYW1lLCBzdGFydFBvaW50LCAuLi5nZXRUcmFpbGluZ09wdGlvbnMoYXJndW1lbnRzKV0pLFxuICAgICAgICAgICAgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cylcbiAgICAgICAgICk7XG4gICAgICB9LFxuXG4gICAgICBjaGVja291dExvY2FsQnJhbmNoKHRoaXM6IFNpbXBsZUdpdEFwaSwgYnJhbmNoTmFtZSkge1xuICAgICAgICAgcmV0dXJuIHRoaXMuX3J1blRhc2soXG4gICAgICAgICAgICBjaGVja291dFRhc2soWyctYicsIGJyYW5jaE5hbWUsIC4uLmdldFRyYWlsaW5nT3B0aW9ucyhhcmd1bWVudHMpXSksXG4gICAgICAgICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgICAgICAgKTtcbiAgICAgIH0sXG4gICB9O1xufVxuIiwgImltcG9ydCB0eXBlIHsgU2ltcGxlR2l0QXBpIH0gZnJvbSAnLi4vc2ltcGxlLWdpdC1hcGknO1xuaW1wb3J0IHR5cGUgeyBTaW1wbGVHaXQgfSBmcm9tICcuLi8uLi8uLi90eXBpbmdzJztcbmltcG9ydCB7IGFzQ2FtZWxDYXNlLCBhc051bWJlciwgTGluZVBhcnNlciwgcGFyc2VTdHJpbmdSZXNwb25zZSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBDb3VudE9iamVjdHNSZXN1bHQge1xuICAgY291bnQ6IG51bWJlcjtcbiAgIHNpemU6IG51bWJlcjtcbiAgIGluUGFjazogbnVtYmVyO1xuICAgcGFja3M6IG51bWJlcjtcbiAgIHNpemVQYWNrOiBudW1iZXI7XG4gICBwcnVuZVBhY2thYmxlOiBudW1iZXI7XG4gICBnYXJiYWdlOiBudW1iZXI7XG4gICBzaXplR2FyYmFnZTogbnVtYmVyO1xufVxuXG5mdW5jdGlvbiBjb3VudE9iamVjdHNSZXNwb25zZSgpOiBDb3VudE9iamVjdHNSZXN1bHQge1xuICAgcmV0dXJuIHtcbiAgICAgIGNvdW50OiAwLFxuICAgICAgZ2FyYmFnZTogMCxcbiAgICAgIGluUGFjazogMCxcbiAgICAgIHBhY2tzOiAwLFxuICAgICAgcHJ1bmVQYWNrYWJsZTogMCxcbiAgICAgIHNpemU6IDAsXG4gICAgICBzaXplR2FyYmFnZTogMCxcbiAgICAgIHNpemVQYWNrOiAwLFxuICAgfTtcbn1cblxuY29uc3QgcGFyc2VyOiBMaW5lUGFyc2VyPENvdW50T2JqZWN0c1Jlc3VsdD4gPSBuZXcgTGluZVBhcnNlcihcbiAgIC8oW2Etei1dKyk6IChcXGQrKSQvLFxuICAgKHJlc3VsdCwgW2tleSwgdmFsdWVdKSA9PiB7XG4gICAgICBjb25zdCBwcm9wZXJ0eSA9IGFzQ2FtZWxDYXNlKGtleSk7XG4gICAgICBpZiAocmVzdWx0Lmhhc093blByb3BlcnR5KHByb3BlcnR5KSkge1xuICAgICAgICAgcmVzdWx0W3Byb3BlcnR5IGFzIGtleW9mIHR5cGVvZiByZXN1bHRdID0gYXNOdW1iZXIodmFsdWUpO1xuICAgICAgfVxuICAgfVxuKTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKCk6IFBpY2s8U2ltcGxlR2l0LCAnY291bnRPYmplY3RzJz4ge1xuICAgcmV0dXJuIHtcbiAgICAgIGNvdW50T2JqZWN0cyh0aGlzOiBTaW1wbGVHaXRBcGkpIHtcbiAgICAgICAgIHJldHVybiB0aGlzLl9ydW5UYXNrKHtcbiAgICAgICAgICAgIGNvbW1hbmRzOiBbJ2NvdW50LW9iamVjdHMnLCAnLS12ZXJib3NlJ10sXG4gICAgICAgICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICAgICAgICBwYXJzZXIoc3RkT3V0OiBzdHJpbmcpIHtcbiAgICAgICAgICAgICAgIHJldHVybiBwYXJzZVN0cmluZ1Jlc3BvbnNlKGNvdW50T2JqZWN0c1Jlc3BvbnNlKCksIFtwYXJzZXJdLCBzdGRPdXQpO1xuICAgICAgICAgICAgfSxcbiAgICAgICAgIH0pO1xuICAgICAgfSxcbiAgIH07XG59XG4iLCAiaW1wb3J0IHsgQ29tbWl0UmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQgeyBMaW5lUGFyc2VyLCBwYXJzZVN0cmluZ1Jlc3BvbnNlIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBwYXJzZXJzOiBMaW5lUGFyc2VyPENvbW1pdFJlc3VsdD5bXSA9IFtcbiAgIG5ldyBMaW5lUGFyc2VyKC9eXFxbKFteXFxzXSspKCBcXChbXildK1xcKSk/IChbXlxcXV0rKS8sIChyZXN1bHQsIFticmFuY2gsIHJvb3QsIGNvbW1pdF0pID0+IHtcbiAgICAgIHJlc3VsdC5icmFuY2ggPSBicmFuY2g7XG4gICAgICByZXN1bHQuY29tbWl0ID0gY29tbWl0O1xuICAgICAgcmVzdWx0LnJvb3QgPSAhIXJvb3Q7XG4gICB9KSxcbiAgIG5ldyBMaW5lUGFyc2VyKC9cXHMqQXV0aG9yOlxccyguKykvaSwgKHJlc3VsdCwgW2F1dGhvcl0pID0+IHtcbiAgICAgIGNvbnN0IHBhcnRzID0gYXV0aG9yLnNwbGl0KCc8Jyk7XG4gICAgICBjb25zdCBlbWFpbCA9IHBhcnRzLnBvcCgpO1xuXG4gICAgICBpZiAoIWVtYWlsIHx8ICFlbWFpbC5pbmNsdWRlcygnQCcpKSB7XG4gICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHJlc3VsdC5hdXRob3IgPSB7XG4gICAgICAgICBlbWFpbDogZW1haWwuc3Vic3RyKDAsIGVtYWlsLmxlbmd0aCAtIDEpLFxuICAgICAgICAgbmFtZTogcGFydHMuam9pbignPCcpLnRyaW0oKSxcbiAgICAgIH07XG4gICB9KSxcbiAgIG5ldyBMaW5lUGFyc2VyKFxuICAgICAgLyhcXGQrKVteLF0qKD86LFxccyooXFxkKylbXixdKikoPzosXFxzKihcXGQrKSkvZyxcbiAgICAgIChyZXN1bHQsIFtjaGFuZ2VzLCBpbnNlcnRpb25zLCBkZWxldGlvbnNdKSA9PiB7XG4gICAgICAgICByZXN1bHQuc3VtbWFyeS5jaGFuZ2VzID0gcGFyc2VJbnQoY2hhbmdlcywgMTApIHx8IDA7XG4gICAgICAgICByZXN1bHQuc3VtbWFyeS5pbnNlcnRpb25zID0gcGFyc2VJbnQoaW5zZXJ0aW9ucywgMTApIHx8IDA7XG4gICAgICAgICByZXN1bHQuc3VtbWFyeS5kZWxldGlvbnMgPSBwYXJzZUludChkZWxldGlvbnMsIDEwKSB8fCAwO1xuICAgICAgfVxuICAgKSxcbiAgIG5ldyBMaW5lUGFyc2VyKFxuICAgICAgL14oXFxkKylbXixdKig/OixcXHMqKFxcZCspW14oXStcXCgoWystXSkpPy8sXG4gICAgICAocmVzdWx0LCBbY2hhbmdlcywgbGluZXMsIGRpcmVjdGlvbl0pID0+IHtcbiAgICAgICAgIHJlc3VsdC5zdW1tYXJ5LmNoYW5nZXMgPSBwYXJzZUludChjaGFuZ2VzLCAxMCkgfHwgMDtcbiAgICAgICAgIGNvbnN0IGNvdW50ID0gcGFyc2VJbnQobGluZXMsIDEwKSB8fCAwO1xuICAgICAgICAgaWYgKGRpcmVjdGlvbiA9PT0gJy0nKSB7XG4gICAgICAgICAgICByZXN1bHQuc3VtbWFyeS5kZWxldGlvbnMgPSBjb3VudDtcbiAgICAgICAgIH0gZWxzZSBpZiAoZGlyZWN0aW9uID09PSAnKycpIHtcbiAgICAgICAgICAgIHJlc3VsdC5zdW1tYXJ5Lmluc2VydGlvbnMgPSBjb3VudDtcbiAgICAgICAgIH1cbiAgICAgIH1cbiAgICksXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDb21taXRSZXN1bHQoc3RkT3V0OiBzdHJpbmcpOiBDb21taXRSZXN1bHQge1xuICAgY29uc3QgcmVzdWx0OiBDb21taXRSZXN1bHQgPSB7XG4gICAgICBhdXRob3I6IG51bGwsXG4gICAgICBicmFuY2g6ICcnLFxuICAgICAgY29tbWl0OiAnJyxcbiAgICAgIHJvb3Q6IGZhbHNlLFxuICAgICAgc3VtbWFyeToge1xuICAgICAgICAgY2hhbmdlczogMCxcbiAgICAgICAgIGluc2VydGlvbnM6IDAsXG4gICAgICAgICBkZWxldGlvbnM6IDAsXG4gICAgICB9LFxuICAgfTtcbiAgIHJldHVybiBwYXJzZVN0cmluZ1Jlc3BvbnNlKHJlc3VsdCwgcGFyc2Vycywgc3RkT3V0KTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IENvbW1pdFJlc3VsdCwgU2ltcGxlR2l0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQgdHlwZSB7IFNpbXBsZUdpdEFwaSB9IGZyb20gJy4uL3NpbXBsZS1naXQtYXBpJztcbmltcG9ydCB0eXBlIHsgU3RyaW5nVGFzayB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IHBhcnNlQ29tbWl0UmVzdWx0IH0gZnJvbSAnLi4vcGFyc2Vycy9wYXJzZS1jb21taXQnO1xuaW1wb3J0IHtcbiAgIGFzQXJyYXksXG4gICBmaWx0ZXJBcnJheSxcbiAgIGZpbHRlclN0cmluZ09yU3RyaW5nQXJyYXksXG4gICBmaWx0ZXJUeXBlLFxuICAgZ2V0VHJhaWxpbmdPcHRpb25zLFxuICAgcHJlZml4ZWRBcnJheSxcbiAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudCxcbn0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgY29uZmlndXJhdGlvbkVycm9yVGFzayB9IGZyb20gJy4vdGFzayc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb21taXRUYXNrKFxuICAgbWVzc2FnZTogc3RyaW5nW10sXG4gICBmaWxlczogc3RyaW5nW10sXG4gICBjdXN0b21BcmdzOiBzdHJpbmdbXVxuKTogU3RyaW5nVGFzazxDb21taXRSZXN1bHQ+IHtcbiAgIGNvbnN0IGNvbW1hbmRzOiBzdHJpbmdbXSA9IFtcbiAgICAgICctYycsXG4gICAgICAnY29yZS5hYmJyZXY9NDAnLFxuICAgICAgJ2NvbW1pdCcsXG4gICAgICAuLi5wcmVmaXhlZEFycmF5KG1lc3NhZ2UsICctbScpLFxuICAgICAgLi4uZmlsZXMsXG4gICAgICAuLi5jdXN0b21BcmdzLFxuICAgXTtcblxuICAgcmV0dXJuIHtcbiAgICAgIGNvbW1hbmRzLFxuICAgICAgZm9ybWF0OiAndXRmLTgnLFxuICAgICAgcGFyc2VyOiBwYXJzZUNvbW1pdFJlc3VsdCxcbiAgIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uICgpOiBQaWNrPFNpbXBsZUdpdCwgJ2NvbW1pdCc+IHtcbiAgIHJldHVybiB7XG4gICAgICBjb21taXQodGhpczogU2ltcGxlR2l0QXBpLCBtZXNzYWdlOiBzdHJpbmcgfCBzdHJpbmdbXSwgLi4ucmVzdDogdW5rbm93bltdKSB7XG4gICAgICAgICBjb25zdCBuZXh0ID0gdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cyk7XG4gICAgICAgICBjb25zdCB0YXNrID1cbiAgICAgICAgICAgIHJlamVjdERlcHJlY2F0ZWRTaWduYXR1cmVzKG1lc3NhZ2UpIHx8XG4gICAgICAgICAgICBjb21taXRUYXNrKFxuICAgICAgICAgICAgICAgYXNBcnJheShtZXNzYWdlKSxcbiAgICAgICAgICAgICAgIGFzQXJyYXkoZmlsdGVyVHlwZShyZXN0WzBdLCBmaWx0ZXJTdHJpbmdPclN0cmluZ0FycmF5LCBbXSkpLFxuICAgICAgICAgICAgICAgWy4uLmZpbHRlclR5cGUocmVzdFsxXSwgZmlsdGVyQXJyYXksIFtdKSwgLi4uZ2V0VHJhaWxpbmdPcHRpb25zKGFyZ3VtZW50cywgMCwgdHJ1ZSldXG4gICAgICAgICAgICApO1xuXG4gICAgICAgICByZXR1cm4gdGhpcy5fcnVuVGFzayh0YXNrLCBuZXh0KTtcbiAgICAgIH0sXG4gICB9O1xuXG4gICBmdW5jdGlvbiByZWplY3REZXByZWNhdGVkU2lnbmF0dXJlcyhtZXNzYWdlPzogdW5rbm93bikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgICFmaWx0ZXJTdHJpbmdPclN0cmluZ0FycmF5KG1lc3NhZ2UpICYmXG4gICAgICAgICBjb25maWd1cmF0aW9uRXJyb3JUYXNrKFxuICAgICAgICAgICAgYGdpdC5jb21taXQ6IHJlcXVpcmVzIHRoZSBjb21taXQgbWVzc2FnZSB0byBiZSBzdXBwbGllZCBhcyBhIHN0cmluZy9zdHJpbmdbXWBcbiAgICAgICAgIClcbiAgICAgICk7XG4gICB9XG59XG4iLCAiaW1wb3J0IHsgUmVzcG9uc2UsIFNpbXBsZUdpdCB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MnO1xuaW1wb3J0IHsgU2ltcGxlR2l0QXBpIH0gZnJvbSAnLi4vc2ltcGxlLWdpdC1hcGknO1xuaW1wb3J0IHsgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayB9IGZyb20gJy4vdGFzayc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uICgpOiBQaWNrPFNpbXBsZUdpdCwgJ2ZpcnN0Q29tbWl0Jz4ge1xuICAgcmV0dXJuIHtcbiAgICAgIGZpcnN0Q29tbWl0KHRoaXM6IFNpbXBsZUdpdEFwaSk6IFJlc3BvbnNlPHN0cmluZz4ge1xuICAgICAgICAgcmV0dXJuIHRoaXMuX3J1blRhc2soXG4gICAgICAgICAgICBzdHJhaWdodFRocm91Z2hTdHJpbmdUYXNrKFsncmV2LWxpc3QnLCAnLS1tYXgtcGFyZW50cz0wJywgJ0hFQUQnXSwgdHJ1ZSksXG4gICAgICAgICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgICAgICAgKTtcbiAgICAgIH0sXG4gICB9O1xufVxuIiwgImltcG9ydCB7IHN0cmFpZ2h0VGhyb3VnaFN0cmluZ1Rhc2sgfSBmcm9tICcuL3Rhc2snO1xuaW1wb3J0IHsgU3RyaW5nVGFzayB9IGZyb20gJy4uL3R5cGVzJztcblxuLyoqXG4gKiBUYXNrIHVzZWQgYnkgYGdpdC5oYXNoT2JqZWN0YFxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzaE9iamVjdFRhc2soZmlsZVBhdGg6IHN0cmluZywgd3JpdGU6IGJvb2xlYW4pOiBTdHJpbmdUYXNrPHN0cmluZz4ge1xuICAgY29uc3QgY29tbWFuZHMgPSBbJ2hhc2gtb2JqZWN0JywgZmlsZVBhdGhdO1xuICAgaWYgKHdyaXRlKSB7XG4gICAgICBjb21tYW5kcy5wdXNoKCctdycpO1xuICAgfVxuXG4gICByZXR1cm4gc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayhjb21tYW5kcywgdHJ1ZSk7XG59XG4iLCAiaW1wb3J0IHsgSW5pdFJlc3VsdCB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MnO1xuXG5leHBvcnQgY2xhc3MgSW5pdFN1bW1hcnkgaW1wbGVtZW50cyBJbml0UmVzdWx0IHtcbiAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIHJlYWRvbmx5IGJhcmU6IGJvb2xlYW4sXG4gICAgICBwdWJsaWMgcmVhZG9ubHkgcGF0aDogc3RyaW5nLFxuICAgICAgcHVibGljIHJlYWRvbmx5IGV4aXN0aW5nOiBib29sZWFuLFxuICAgICAgcHVibGljIHJlYWRvbmx5IGdpdERpcjogc3RyaW5nXG4gICApIHt9XG59XG5cbmNvbnN0IGluaXRSZXNwb25zZVJlZ2V4ID0gL15Jbml0LisgcmVwb3NpdG9yeSBpbiAoLispJC87XG5jb25zdCByZUluaXRSZXNwb25zZVJlZ2V4ID0gL15SZWluLisgaW4gKC4rKSQvO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VJbml0KGJhcmU6IGJvb2xlYW4sIHBhdGg6IHN0cmluZywgdGV4dDogc3RyaW5nKSB7XG4gICBjb25zdCByZXNwb25zZSA9IFN0cmluZyh0ZXh0KS50cmltKCk7XG4gICBsZXQgcmVzdWx0O1xuXG4gICBpZiAoKHJlc3VsdCA9IGluaXRSZXNwb25zZVJlZ2V4LmV4ZWMocmVzcG9uc2UpKSkge1xuICAgICAgcmV0dXJuIG5ldyBJbml0U3VtbWFyeShiYXJlLCBwYXRoLCBmYWxzZSwgcmVzdWx0WzFdKTtcbiAgIH1cblxuICAgaWYgKChyZXN1bHQgPSByZUluaXRSZXNwb25zZVJlZ2V4LmV4ZWMocmVzcG9uc2UpKSkge1xuICAgICAgcmV0dXJuIG5ldyBJbml0U3VtbWFyeShiYXJlLCBwYXRoLCB0cnVlLCByZXN1bHRbMV0pO1xuICAgfVxuXG4gICBsZXQgZ2l0RGlyID0gJyc7XG4gICBjb25zdCB0b2tlbnMgPSByZXNwb25zZS5zcGxpdCgnICcpO1xuICAgd2hpbGUgKHRva2Vucy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHRva2VuID0gdG9rZW5zLnNoaWZ0KCk7XG4gICAgICBpZiAodG9rZW4gPT09ICdpbicpIHtcbiAgICAgICAgIGdpdERpciA9IHRva2Vucy5qb2luKCcgJyk7XG4gICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgIH1cblxuICAgcmV0dXJuIG5ldyBJbml0U3VtbWFyeShiYXJlLCBwYXRoLCAvXnJlL2kudGVzdChyZXNwb25zZSksIGdpdERpcik7XG59XG4iLCAiaW1wb3J0IHsgSW5pdFJlc3VsdCB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MnO1xuaW1wb3J0IHsgcGFyc2VJbml0IH0gZnJvbSAnLi4vcmVzcG9uc2VzL0luaXRTdW1tYXJ5JztcbmltcG9ydCB7IFN0cmluZ1Rhc2sgfSBmcm9tICcuLi90eXBlcyc7XG5cbmNvbnN0IGJhcmVDb21tYW5kID0gJy0tYmFyZSc7XG5cbmZ1bmN0aW9uIGhhc0JhcmVDb21tYW5kKGNvbW1hbmQ6IHN0cmluZ1tdKSB7XG4gICByZXR1cm4gY29tbWFuZC5pbmNsdWRlcyhiYXJlQ29tbWFuZCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbml0VGFzayhiYXJlID0gZmFsc2UsIHBhdGg6IHN0cmluZywgY3VzdG9tQXJnczogc3RyaW5nW10pOiBTdHJpbmdUYXNrPEluaXRSZXN1bHQ+IHtcbiAgIGNvbnN0IGNvbW1hbmRzID0gWydpbml0JywgLi4uY3VzdG9tQXJnc107XG4gICBpZiAoYmFyZSAmJiAhaGFzQmFyZUNvbW1hbmQoY29tbWFuZHMpKSB7XG4gICAgICBjb21tYW5kcy5zcGxpY2UoMSwgMCwgYmFyZUNvbW1hbmQpO1xuICAgfVxuXG4gICByZXR1cm4ge1xuICAgICAgY29tbWFuZHMsXG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBwYXJzZXIodGV4dDogc3RyaW5nKTogSW5pdFJlc3VsdCB7XG4gICAgICAgICByZXR1cm4gcGFyc2VJbml0KGNvbW1hbmRzLmluY2x1ZGVzKCctLWJhcmUnKSwgcGF0aCwgdGV4dCk7XG4gICAgICB9LFxuICAgfTtcbn1cbiIsICJleHBvcnQgZW51bSBMb2dGb3JtYXQge1xuICAgTk9ORSA9ICcnLFxuICAgU1RBVCA9ICctLXN0YXQnLFxuICAgTlVNX1NUQVQgPSAnLS1udW1zdGF0JyxcbiAgIE5BTUVfT05MWSA9ICctLW5hbWUtb25seScsXG4gICBOQU1FX1NUQVRVUyA9ICctLW5hbWUtc3RhdHVzJyxcbn1cblxuY29uc3QgbG9nRm9ybWF0UmVnZXggPSAvXi0tKHN0YXR8bnVtc3RhdHxuYW1lLW9ubHl8bmFtZS1zdGF0dXMpKD18JCkvO1xuXG5leHBvcnQgZnVuY3Rpb24gbG9nRm9ybWF0RnJvbUNvbW1hbmQoY3VzdG9tQXJnczogc3RyaW5nW10pIHtcbiAgIGZvciAobGV0IGkgPSAwOyBpIDwgY3VzdG9tQXJncy5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgZm9ybWF0ID0gbG9nRm9ybWF0UmVnZXguZXhlYyhjdXN0b21BcmdzW2ldKTtcbiAgICAgIGlmIChmb3JtYXQpIHtcbiAgICAgICAgIHJldHVybiBgLS0ke2Zvcm1hdFsxXX1gIGFzIExvZ0Zvcm1hdDtcbiAgICAgIH1cbiAgIH1cblxuICAgcmV0dXJuIExvZ0Zvcm1hdC5OT05FO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNMb2dGb3JtYXQoY3VzdG9tQXJnOiBzdHJpbmcgfCB1bmtub3duKSB7XG4gICByZXR1cm4gbG9nRm9ybWF0UmVnZXgudGVzdChjdXN0b21BcmcgYXMgc3RyaW5nKTtcbn1cbiIsICJpbXBvcnQgeyBEaWZmUmVzdWx0LCBEaWZmUmVzdWx0QmluYXJ5RmlsZSwgRGlmZlJlc3VsdFRleHRGaWxlIH0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5cbi8qKipcbiAqIFRoZSBEaWZmU3VtbWFyeSBpcyByZXR1cm5lZCBhcyBhIHJlc3BvbnNlIHRvIGdldHRpbmcgYGdpdCgpLnN0YXR1cygpYFxuICovXG5leHBvcnQgY2xhc3MgRGlmZlN1bW1hcnkgaW1wbGVtZW50cyBEaWZmUmVzdWx0IHtcbiAgIGNoYW5nZWQgPSAwO1xuICAgZGVsZXRpb25zID0gMDtcbiAgIGluc2VydGlvbnMgPSAwO1xuXG4gICBmaWxlczogQXJyYXk8RGlmZlJlc3VsdFRleHRGaWxlIHwgRGlmZlJlc3VsdEJpbmFyeUZpbGU+ID0gW107XG59XG4iLCAiaW1wb3J0IHsgRGlmZlJlc3VsdCB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MnO1xuaW1wb3J0IHsgTG9nRm9ybWF0IH0gZnJvbSAnLi4vYXJncy9sb2ctZm9ybWF0JztcbmltcG9ydCB7IERpZmZTdW1tYXJ5IH0gZnJvbSAnLi4vcmVzcG9uc2VzL0RpZmZTdW1tYXJ5JztcbmltcG9ydCB7IGlzRGlmZk5hbWVTdGF0dXMgfSBmcm9tICcuLi90YXNrcy9kaWZmLW5hbWUtc3RhdHVzJztcbmltcG9ydCB7IGFzTnVtYmVyLCBMaW5lUGFyc2VyLCBvclZvaWQsIHBhcnNlU3RyaW5nUmVzcG9uc2UgfSBmcm9tICcuLi91dGlscyc7XG5cbmNvbnN0IHN0YXRQYXJzZXIgPSBbXG4gICBuZXcgTGluZVBhcnNlcjxEaWZmUmVzdWx0PihcbiAgICAgIC9eKC4rKVxccytcXHxcXHMrKFxcZCspKFxccytbK1xcLV0rKT8kLyxcbiAgICAgIChyZXN1bHQsIFtmaWxlLCBjaGFuZ2VzLCBhbHRlcmF0aW9ucyA9ICcnXSkgPT4ge1xuICAgICAgICAgcmVzdWx0LmZpbGVzLnB1c2goe1xuICAgICAgICAgICAgZmlsZTogZmlsZS50cmltKCksXG4gICAgICAgICAgICBjaGFuZ2VzOiBhc051bWJlcihjaGFuZ2VzKSxcbiAgICAgICAgICAgIGluc2VydGlvbnM6IGFsdGVyYXRpb25zLnJlcGxhY2UoL1teK10vZywgJycpLmxlbmd0aCxcbiAgICAgICAgICAgIGRlbGV0aW9uczogYWx0ZXJhdGlvbnMucmVwbGFjZSgvW14tXS9nLCAnJykubGVuZ3RoLFxuICAgICAgICAgICAgYmluYXJ5OiBmYWxzZSxcbiAgICAgICAgIH0pO1xuICAgICAgfVxuICAgKSxcbiAgIG5ldyBMaW5lUGFyc2VyPERpZmZSZXN1bHQ+KFxuICAgICAgL14oLispIFxcfFxccytCaW4gKFswLTkuXSspIC0+IChbMC05Ll0rKSAoW2Etel0rKS8sXG4gICAgICAocmVzdWx0LCBbZmlsZSwgYmVmb3JlLCBhZnRlcl0pID0+IHtcbiAgICAgICAgIHJlc3VsdC5maWxlcy5wdXNoKHtcbiAgICAgICAgICAgIGZpbGU6IGZpbGUudHJpbSgpLFxuICAgICAgICAgICAgYmVmb3JlOiBhc051bWJlcihiZWZvcmUpLFxuICAgICAgICAgICAgYWZ0ZXI6IGFzTnVtYmVyKGFmdGVyKSxcbiAgICAgICAgICAgIGJpbmFyeTogdHJ1ZSxcbiAgICAgICAgIH0pO1xuICAgICAgfVxuICAgKSxcbiAgIG5ldyBMaW5lUGFyc2VyPERpZmZSZXN1bHQ+KFxuICAgICAgLyhcXGQrKSBmaWxlcz8gY2hhbmdlZFxccyooKD86LCBcXGQrIFteLF0rKXswLDJ9KS8sXG4gICAgICAocmVzdWx0LCBbY2hhbmdlZCwgc3VtbWFyeV0pID0+IHtcbiAgICAgICAgIGNvbnN0IGluc2VydGVkID0gLyhcXGQrKSBpLy5leGVjKHN1bW1hcnkpO1xuICAgICAgICAgY29uc3QgZGVsZXRlZCA9IC8oXFxkKykgZC8uZXhlYyhzdW1tYXJ5KTtcblxuICAgICAgICAgcmVzdWx0LmNoYW5nZWQgPSBhc051bWJlcihjaGFuZ2VkKTtcbiAgICAgICAgIHJlc3VsdC5pbnNlcnRpb25zID0gYXNOdW1iZXIoaW5zZXJ0ZWQ/LlsxXSk7XG4gICAgICAgICByZXN1bHQuZGVsZXRpb25zID0gYXNOdW1iZXIoZGVsZXRlZD8uWzFdKTtcbiAgICAgIH1cbiAgICksXG5dO1xuXG5jb25zdCBudW1TdGF0UGFyc2VyID0gW1xuICAgbmV3IExpbmVQYXJzZXI8RGlmZlJlc3VsdD4oXG4gICAgICAvKFxcZCspXFx0KFxcZCspXFx0KC4rKSQvLFxuICAgICAgKHJlc3VsdCwgW2NoYW5nZXNJbnNlcnQsIGNoYW5nZXNEZWxldGUsIGZpbGVdKSA9PiB7XG4gICAgICAgICBjb25zdCBpbnNlcnRpb25zID0gYXNOdW1iZXIoY2hhbmdlc0luc2VydCk7XG4gICAgICAgICBjb25zdCBkZWxldGlvbnMgPSBhc051bWJlcihjaGFuZ2VzRGVsZXRlKTtcblxuICAgICAgICAgcmVzdWx0LmNoYW5nZWQrKztcbiAgICAgICAgIHJlc3VsdC5pbnNlcnRpb25zICs9IGluc2VydGlvbnM7XG4gICAgICAgICByZXN1bHQuZGVsZXRpb25zICs9IGRlbGV0aW9ucztcblxuICAgICAgICAgcmVzdWx0LmZpbGVzLnB1c2goe1xuICAgICAgICAgICAgZmlsZSxcbiAgICAgICAgICAgIGNoYW5nZXM6IGluc2VydGlvbnMgKyBkZWxldGlvbnMsXG4gICAgICAgICAgICBpbnNlcnRpb25zLFxuICAgICAgICAgICAgZGVsZXRpb25zLFxuICAgICAgICAgICAgYmluYXJ5OiBmYWxzZSxcbiAgICAgICAgIH0pO1xuICAgICAgfVxuICAgKSxcbiAgIG5ldyBMaW5lUGFyc2VyPERpZmZSZXN1bHQ+KC8tXFx0LVxcdCguKykkLywgKHJlc3VsdCwgW2ZpbGVdKSA9PiB7XG4gICAgICByZXN1bHQuY2hhbmdlZCsrO1xuXG4gICAgICByZXN1bHQuZmlsZXMucHVzaCh7XG4gICAgICAgICBmaWxlLFxuICAgICAgICAgYWZ0ZXI6IDAsXG4gICAgICAgICBiZWZvcmU6IDAsXG4gICAgICAgICBiaW5hcnk6IHRydWUsXG4gICAgICB9KTtcbiAgIH0pLFxuXTtcblxuY29uc3QgbmFtZU9ubHlQYXJzZXIgPSBbXG4gICBuZXcgTGluZVBhcnNlcjxEaWZmUmVzdWx0PigvKC4rKSQvLCAocmVzdWx0LCBbZmlsZV0pID0+IHtcbiAgICAgIHJlc3VsdC5jaGFuZ2VkKys7XG4gICAgICByZXN1bHQuZmlsZXMucHVzaCh7XG4gICAgICAgICBmaWxlLFxuICAgICAgICAgY2hhbmdlczogMCxcbiAgICAgICAgIGluc2VydGlvbnM6IDAsXG4gICAgICAgICBkZWxldGlvbnM6IDAsXG4gICAgICAgICBiaW5hcnk6IGZhbHNlLFxuICAgICAgfSk7XG4gICB9KSxcbl07XG5cbmNvbnN0IG5hbWVTdGF0dXNQYXJzZXIgPSBbXG4gICBuZXcgTGluZVBhcnNlcjxEaWZmUmVzdWx0PihcbiAgICAgIC8oW0FDRE1SVFVYQl0pKFswLTldezAsM30pXFx0KC5bXlxcdF0qKShcXHQoLlteXFx0XSopKT8kLyxcbiAgICAgIChyZXN1bHQsIFtzdGF0dXMsIHNpbWlsYXJpdHksIGZyb20sIF90bywgdG9dKSA9PiB7XG4gICAgICAgICByZXN1bHQuY2hhbmdlZCsrO1xuICAgICAgICAgcmVzdWx0LmZpbGVzLnB1c2goe1xuICAgICAgICAgICAgZmlsZTogdG8gPz8gZnJvbSxcbiAgICAgICAgICAgIGNoYW5nZXM6IDAsXG4gICAgICAgICAgICBpbnNlcnRpb25zOiAwLFxuICAgICAgICAgICAgZGVsZXRpb25zOiAwLFxuICAgICAgICAgICAgYmluYXJ5OiBmYWxzZSxcbiAgICAgICAgICAgIHN0YXR1czogb3JWb2lkKGlzRGlmZk5hbWVTdGF0dXMoc3RhdHVzKSAmJiBzdGF0dXMpLFxuICAgICAgICAgICAgZnJvbTogb3JWb2lkKCEhdG8gJiYgZnJvbSAhPT0gdG8gJiYgZnJvbSksXG4gICAgICAgICAgICBzaW1pbGFyaXR5OiBhc051bWJlcihzaW1pbGFyaXR5KSxcbiAgICAgICAgIH0pO1xuICAgICAgfVxuICAgKSxcbl07XG5cbmNvbnN0IGRpZmZTdW1tYXJ5UGFyc2VyczogUmVjb3JkPExvZ0Zvcm1hdCwgTGluZVBhcnNlcjxEaWZmUmVzdWx0PltdPiA9IHtcbiAgIFtMb2dGb3JtYXQuTk9ORV06IHN0YXRQYXJzZXIsXG4gICBbTG9nRm9ybWF0LlNUQVRdOiBzdGF0UGFyc2VyLFxuICAgW0xvZ0Zvcm1hdC5OVU1fU1RBVF06IG51bVN0YXRQYXJzZXIsXG4gICBbTG9nRm9ybWF0Lk5BTUVfU1RBVFVTXTogbmFtZVN0YXR1c1BhcnNlcixcbiAgIFtMb2dGb3JtYXQuTkFNRV9PTkxZXTogbmFtZU9ubHlQYXJzZXIsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0RGlmZlBhcnNlcihmb3JtYXQgPSBMb2dGb3JtYXQuTk9ORSkge1xuICAgY29uc3QgcGFyc2VyID0gZGlmZlN1bW1hcnlQYXJzZXJzW2Zvcm1hdF07XG5cbiAgIHJldHVybiAoc3RkT3V0OiBzdHJpbmcpID0+IHBhcnNlU3RyaW5nUmVzcG9uc2UobmV3IERpZmZTdW1tYXJ5KCksIHBhcnNlciwgc3RkT3V0LCBmYWxzZSk7XG59XG4iLCAiaW1wb3J0IHsgTGlzdExvZ0xpbmUsIExvZ1Jlc3VsdCB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MnO1xuaW1wb3J0IHsgdG9MaW5lc1dpdGhDb250ZW50IH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgZ2V0RGlmZlBhcnNlciB9IGZyb20gJy4vcGFyc2UtZGlmZi1zdW1tYXJ5JztcbmltcG9ydCB7IExvZ0Zvcm1hdCB9IGZyb20gJy4uL2FyZ3MvbG9nLWZvcm1hdCc7XG5cbmV4cG9ydCBjb25zdCBTVEFSVF9CT1VOREFSWSA9ICdcdTAwRjJcdTAwRjJcdTAwRjJcdTAwRjJcdTAwRjJcdTAwRjIgJztcblxuZXhwb3J0IGNvbnN0IENPTU1JVF9CT1VOREFSWSA9ICcgXHUwMEYyXHUwMEYyJztcblxuZXhwb3J0IGNvbnN0IFNQTElUVEVSID0gJyBcdTAwRjIgJztcblxuY29uc3QgZGVmYXVsdEZpZWxkTmFtZXMgPSBbJ2hhc2gnLCAnZGF0ZScsICdtZXNzYWdlJywgJ3JlZnMnLCAnYXV0aG9yX25hbWUnLCAnYXV0aG9yX2VtYWlsJ107XG5cbmZ1bmN0aW9uIGxpbmVCdWlsZGVyKHRva2Vuczogc3RyaW5nW10sIGZpZWxkczogc3RyaW5nW10pOiBhbnkge1xuICAgcmV0dXJuIGZpZWxkcy5yZWR1Y2UoXG4gICAgICAobGluZSwgZmllbGQsIGluZGV4KSA9PiB7XG4gICAgICAgICBsaW5lW2ZpZWxkXSA9IHRva2Vuc1tpbmRleF0gfHwgJyc7XG4gICAgICAgICByZXR1cm4gbGluZTtcbiAgICAgIH0sXG4gICAgICBPYmplY3QuY3JlYXRlKHsgZGlmZjogbnVsbCB9KSBhcyBhbnlcbiAgICk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVMaXN0TG9nU3VtbWFyeVBhcnNlcjxUID0gYW55PihcbiAgIHNwbGl0dGVyID0gU1BMSVRURVIsXG4gICBmaWVsZHMgPSBkZWZhdWx0RmllbGROYW1lcyxcbiAgIGxvZ0Zvcm1hdCA9IExvZ0Zvcm1hdC5OT05FXG4pIHtcbiAgIGNvbnN0IHBhcnNlRGlmZlJlc3VsdCA9IGdldERpZmZQYXJzZXIobG9nRm9ybWF0KTtcblxuICAgcmV0dXJuIGZ1bmN0aW9uIChzdGRPdXQ6IHN0cmluZyk6IExvZ1Jlc3VsdDxUPiB7XG4gICAgICBjb25zdCBhbGw6IFJlYWRvbmx5QXJyYXk8VCAmIExpc3RMb2dMaW5lPiA9IHRvTGluZXNXaXRoQ29udGVudChcbiAgICAgICAgIHN0ZE91dC50cmltKCksXG4gICAgICAgICBmYWxzZSxcbiAgICAgICAgIFNUQVJUX0JPVU5EQVJZXG4gICAgICApLm1hcChmdW5jdGlvbiAoaXRlbSkge1xuICAgICAgICAgY29uc3QgbGluZURldGFpbCA9IGl0ZW0uc3BsaXQoQ09NTUlUX0JPVU5EQVJZKTtcbiAgICAgICAgIGNvbnN0IGxpc3RMb2dMaW5lOiBUICYgTGlzdExvZ0xpbmUgPSBsaW5lQnVpbGRlcihsaW5lRGV0YWlsWzBdLnNwbGl0KHNwbGl0dGVyKSwgZmllbGRzKTtcblxuICAgICAgICAgaWYgKGxpbmVEZXRhaWwubGVuZ3RoID4gMSAmJiAhIWxpbmVEZXRhaWxbMV0udHJpbSgpKSB7XG4gICAgICAgICAgICBsaXN0TG9nTGluZS5kaWZmID0gcGFyc2VEaWZmUmVzdWx0KGxpbmVEZXRhaWxbMV0pO1xuICAgICAgICAgfVxuXG4gICAgICAgICByZXR1cm4gbGlzdExvZ0xpbmU7XG4gICAgICB9KTtcblxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgIGFsbCxcbiAgICAgICAgIGxhdGVzdDogKGFsbC5sZW5ndGggJiYgYWxsWzBdKSB8fCBudWxsLFxuICAgICAgICAgdG90YWw6IGFsbC5sZW5ndGgsXG4gICAgICB9O1xuICAgfTtcbn1cbiIsICJpbXBvcnQgeyBTdHJpbmdUYXNrIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgRGlmZlJlc3VsdCB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MnO1xuaW1wb3J0IHsgaXNMb2dGb3JtYXQsIExvZ0Zvcm1hdCwgbG9nRm9ybWF0RnJvbUNvbW1hbmQgfSBmcm9tICcuLi9hcmdzL2xvZy1mb3JtYXQnO1xuaW1wb3J0IHsgZ2V0RGlmZlBhcnNlciB9IGZyb20gJy4uL3BhcnNlcnMvcGFyc2UtZGlmZi1zdW1tYXJ5JztcbmltcG9ydCB7IGNvbmZpZ3VyYXRpb25FcnJvclRhc2ssIEVtcHR5VGFzayB9IGZyb20gJy4vdGFzayc7XG5cbmV4cG9ydCBmdW5jdGlvbiBkaWZmU3VtbWFyeVRhc2soY3VzdG9tQXJnczogc3RyaW5nW10pOiBTdHJpbmdUYXNrPERpZmZSZXN1bHQ+IHwgRW1wdHlUYXNrIHtcbiAgIGxldCBsb2dGb3JtYXQgPSBsb2dGb3JtYXRGcm9tQ29tbWFuZChjdXN0b21BcmdzKTtcblxuICAgY29uc3QgY29tbWFuZHMgPSBbJ2RpZmYnXTtcblxuICAgaWYgKGxvZ0Zvcm1hdCA9PT0gTG9nRm9ybWF0Lk5PTkUpIHtcbiAgICAgIGxvZ0Zvcm1hdCA9IExvZ0Zvcm1hdC5TVEFUO1xuICAgICAgY29tbWFuZHMucHVzaCgnLS1zdGF0PTQwOTYnKTtcbiAgIH1cblxuICAgY29tbWFuZHMucHVzaCguLi5jdXN0b21BcmdzKTtcblxuICAgcmV0dXJuIChcbiAgICAgIHZhbGlkYXRlTG9nRm9ybWF0Q29uZmlnKGNvbW1hbmRzKSB8fCB7XG4gICAgICAgICBjb21tYW5kcyxcbiAgICAgICAgIGZvcm1hdDogJ3V0Zi04JyxcbiAgICAgICAgIHBhcnNlcjogZ2V0RGlmZlBhcnNlcihsb2dGb3JtYXQpLFxuICAgICAgfVxuICAgKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlTG9nRm9ybWF0Q29uZmlnKGN1c3RvbUFyZ3M6IHVua25vd25bXSk6IEVtcHR5VGFzayB8IHZvaWQge1xuICAgY29uc3QgZmxhZ3MgPSBjdXN0b21BcmdzLmZpbHRlcihpc0xvZ0Zvcm1hdCk7XG5cbiAgIGlmIChmbGFncy5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4gY29uZmlndXJhdGlvbkVycm9yVGFzayhcbiAgICAgICAgIGBTdW1tYXJ5IGZsYWdzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgLSBwaWNrIG9uZSBvZiAke2ZsYWdzLmpvaW4oJywnKX1gXG4gICAgICApO1xuICAgfVxuXG4gICBpZiAoZmxhZ3MubGVuZ3RoICYmIGN1c3RvbUFyZ3MuaW5jbHVkZXMoJy16JykpIHtcbiAgICAgIHJldHVybiBjb25maWd1cmF0aW9uRXJyb3JUYXNrKFxuICAgICAgICAgYFN1bW1hcnkgZmxhZyAke2ZsYWdzfSBwYXJzaW5nIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggbnVsbCB0ZXJtaW5hdGlvbiBvcHRpb24gJy16J2BcbiAgICAgICk7XG4gICB9XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBPcHRpb25zLCBTdHJpbmdUYXNrIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHR5cGUgeyBMb2dSZXN1bHQsIFNpbXBsZUdpdCB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MnO1xuaW1wb3J0IHsgbG9nRm9ybWF0RnJvbUNvbW1hbmQgfSBmcm9tICcuLi9hcmdzL2xvZy1mb3JtYXQnO1xuaW1wb3J0IHsgcGF0aHNwZWMgfSBmcm9tICcuLi9hcmdzL3BhdGhzcGVjJztcbmltcG9ydCB7XG4gICBDT01NSVRfQk9VTkRBUlksXG4gICBjcmVhdGVMaXN0TG9nU3VtbWFyeVBhcnNlcixcbiAgIFNQTElUVEVSLFxuICAgU1RBUlRfQk9VTkRBUlksXG59IGZyb20gJy4uL3BhcnNlcnMvcGFyc2UtbGlzdC1sb2ctc3VtbWFyeSc7XG5pbXBvcnQge1xuICAgYXBwZW5kVGFza09wdGlvbnMsXG4gICBmaWx0ZXJBcnJheSxcbiAgIGZpbHRlclByaW1pdGl2ZXMsXG4gICBmaWx0ZXJTdHJpbmcsXG4gICBmaWx0ZXJUeXBlLFxuICAgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50LFxuICAgdHJhaWxpbmdPcHRpb25zQXJndW1lbnQsXG59IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IFNpbXBsZUdpdEFwaSB9IGZyb20gJy4uL3NpbXBsZS1naXQtYXBpJztcbmltcG9ydCB7IGNvbmZpZ3VyYXRpb25FcnJvclRhc2sgfSBmcm9tICcuL3Rhc2snO1xuaW1wb3J0IHsgdmFsaWRhdGVMb2dGb3JtYXRDb25maWcgfSBmcm9tICcuL2RpZmYnO1xuXG5lbnVtIGV4Y2x1ZGVPcHRpb25zIHtcbiAgICctLXByZXR0eScsXG4gICAnbWF4LWNvdW50JyxcbiAgICdtYXhDb3VudCcsXG4gICAnbicsXG4gICAnZmlsZScsXG4gICAnZm9ybWF0JyxcbiAgICdmcm9tJyxcbiAgICd0bycsXG4gICAnc3BsaXR0ZXInLFxuICAgJ3N5bW1ldHJpYycsXG4gICAnbWFpbE1hcCcsXG4gICAnbXVsdGlMaW5lJyxcbiAgICdzdHJpY3REYXRlJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEZWZhdWx0TG9nRmllbGRzIHtcbiAgIGhhc2g6IHN0cmluZztcbiAgIGRhdGU6IHN0cmluZztcbiAgIG1lc3NhZ2U6IHN0cmluZztcbiAgIHJlZnM6IHN0cmluZztcbiAgIGJvZHk6IHN0cmluZztcbiAgIGF1dGhvcl9uYW1lOiBzdHJpbmc7XG4gICBhdXRob3JfZW1haWw6IHN0cmluZztcbn1cblxuZXhwb3J0IHR5cGUgTG9nT3B0aW9uczxUID0gRGVmYXVsdExvZ0ZpZWxkcz4gPSB7XG4gICBmaWxlPzogc3RyaW5nO1xuICAgZm9ybWF0PzogVDtcbiAgIGZyb20/OiBzdHJpbmc7XG4gICBtYWlsTWFwPzogYm9vbGVhbjtcbiAgIG1heENvdW50PzogbnVtYmVyO1xuICAgbXVsdGlMaW5lPzogYm9vbGVhbjtcbiAgIHNwbGl0dGVyPzogc3RyaW5nO1xuICAgc3RyaWN0RGF0ZT86IGJvb2xlYW47XG4gICBzeW1tZXRyaWM/OiBib29sZWFuO1xuICAgdG8/OiBzdHJpbmc7XG59O1xuXG5pbnRlcmZhY2UgUGFyc2VkTG9nT3B0aW9ucyB7XG4gICBmaWVsZHM6IHN0cmluZ1tdO1xuICAgc3BsaXR0ZXI6IHN0cmluZztcbiAgIGNvbW1hbmRzOiBzdHJpbmdbXTtcbn1cblxuZnVuY3Rpb24gcHJldHR5Rm9ybWF0KFxuICAgZm9ybWF0OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmtub3duPixcbiAgIHNwbGl0dGVyOiBzdHJpbmdcbik6IFtzdHJpbmdbXSwgc3RyaW5nXSB7XG4gICBjb25zdCBmaWVsZHM6IHN0cmluZ1tdID0gW107XG4gICBjb25zdCBmb3JtYXRTdHI6IHN0cmluZ1tdID0gW107XG5cbiAgIE9iamVjdC5rZXlzKGZvcm1hdCkuZm9yRWFjaCgoZmllbGQpID0+IHtcbiAgICAgIGZpZWxkcy5wdXNoKGZpZWxkKTtcbiAgICAgIGZvcm1hdFN0ci5wdXNoKFN0cmluZyhmb3JtYXRbZmllbGRdKSk7XG4gICB9KTtcblxuICAgcmV0dXJuIFtmaWVsZHMsIGZvcm1hdFN0ci5qb2luKHNwbGl0dGVyKV07XG59XG5cbmZ1bmN0aW9uIHVzZXJPcHRpb25zPFQgZXh0ZW5kcyBPcHRpb25zPihpbnB1dDogVCk6IE9wdGlvbnMge1xuICAgcmV0dXJuIE9iamVjdC5rZXlzKGlucHV0KS5yZWR1Y2UoKG91dCwga2V5KSA9PiB7XG4gICAgICBpZiAoIShrZXkgaW4gZXhjbHVkZU9wdGlvbnMpKSB7XG4gICAgICAgICBvdXRba2V5XSA9IGlucHV0W2tleV07XG4gICAgICB9XG4gICAgICByZXR1cm4gb3V0O1xuICAgfSwge30gYXMgT3B0aW9ucyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUxvZ09wdGlvbnM8VCBleHRlbmRzIE9wdGlvbnM+KFxuICAgb3B0OiBPcHRpb25zIHwgTG9nT3B0aW9uczxUPiA9IHt9LFxuICAgY3VzdG9tQXJnczogc3RyaW5nW10gPSBbXVxuKTogUGFyc2VkTG9nT3B0aW9ucyB7XG4gICBjb25zdCBzcGxpdHRlciA9IGZpbHRlclR5cGUob3B0LnNwbGl0dGVyLCBmaWx0ZXJTdHJpbmcsIFNQTElUVEVSKTtcbiAgIGNvbnN0IGZvcm1hdCA9XG4gICAgICAhZmlsdGVyUHJpbWl0aXZlcyhvcHQuZm9ybWF0KSAmJiBvcHQuZm9ybWF0XG4gICAgICAgICA/IG9wdC5mb3JtYXRcbiAgICAgICAgIDoge1xuICAgICAgICAgICAgICBoYXNoOiAnJUgnLFxuICAgICAgICAgICAgICBkYXRlOiBvcHQuc3RyaWN0RGF0ZSA9PT0gZmFsc2UgPyAnJWFpJyA6ICclYUknLFxuICAgICAgICAgICAgICBtZXNzYWdlOiAnJXMnLFxuICAgICAgICAgICAgICByZWZzOiAnJUQnLFxuICAgICAgICAgICAgICBib2R5OiBvcHQubXVsdGlMaW5lID8gJyVCJyA6ICclYicsXG4gICAgICAgICAgICAgIGF1dGhvcl9uYW1lOiBvcHQubWFpbE1hcCAhPT0gZmFsc2UgPyAnJWFOJyA6ICclYW4nLFxuICAgICAgICAgICAgICBhdXRob3JfZW1haWw6IG9wdC5tYWlsTWFwICE9PSBmYWxzZSA/ICclYUUnIDogJyVhZScsXG4gICAgICAgICAgIH07XG5cbiAgIGNvbnN0IFtmaWVsZHMsIGZvcm1hdFN0cl0gPSBwcmV0dHlGb3JtYXQoZm9ybWF0LCBzcGxpdHRlcik7XG5cbiAgIGNvbnN0IHN1ZmZpeDogc3RyaW5nW10gPSBbXTtcbiAgIGNvbnN0IGNvbW1hbmQ6IHN0cmluZ1tdID0gW1xuICAgICAgYC0tcHJldHR5PWZvcm1hdDoke1NUQVJUX0JPVU5EQVJZfSR7Zm9ybWF0U3RyfSR7Q09NTUlUX0JPVU5EQVJZfWAsXG4gICAgICAuLi5jdXN0b21BcmdzLFxuICAgXTtcblxuICAgY29uc3QgbWF4Q291bnQ6IG51bWJlciB8IHVuZGVmaW5lZCA9IChvcHQgYXMgYW55KS5uIHx8IChvcHQgYXMgYW55KVsnbWF4LWNvdW50J10gfHwgb3B0Lm1heENvdW50O1xuICAgaWYgKG1heENvdW50KSB7XG4gICAgICBjb21tYW5kLnB1c2goYC0tbWF4LWNvdW50PSR7bWF4Q291bnR9YCk7XG4gICB9XG5cbiAgIGlmIChvcHQuZnJvbSB8fCBvcHQudG8pIHtcbiAgICAgIGNvbnN0IHJhbmdlT3BlcmF0b3IgPSBvcHQuc3ltbWV0cmljICE9PSBmYWxzZSA/ICcuLi4nIDogJy4uJztcbiAgICAgIHN1ZmZpeC5wdXNoKGAke29wdC5mcm9tIHx8ICcnfSR7cmFuZ2VPcGVyYXRvcn0ke29wdC50byB8fCAnJ31gKTtcbiAgIH1cblxuICAgaWYgKGZpbHRlclN0cmluZyhvcHQuZmlsZSkpIHtcbiAgICAgIGNvbW1hbmQucHVzaCgnLS1mb2xsb3cnLCBwYXRoc3BlYyhvcHQuZmlsZSkpO1xuICAgfVxuXG4gICBhcHBlbmRUYXNrT3B0aW9ucyh1c2VyT3B0aW9ucyhvcHQgYXMgT3B0aW9ucyksIGNvbW1hbmQpO1xuXG4gICByZXR1cm4ge1xuICAgICAgZmllbGRzLFxuICAgICAgc3BsaXR0ZXIsXG4gICAgICBjb21tYW5kczogWy4uLmNvbW1hbmQsIC4uLnN1ZmZpeF0sXG4gICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbG9nVGFzazxUPihcbiAgIHNwbGl0dGVyOiBzdHJpbmcsXG4gICBmaWVsZHM6IHN0cmluZ1tdLFxuICAgY3VzdG9tQXJnczogc3RyaW5nW11cbik6IFN0cmluZ1Rhc2s8TG9nUmVzdWx0PFQ+PiB7XG4gICBjb25zdCBwYXJzZXIgPSBjcmVhdGVMaXN0TG9nU3VtbWFyeVBhcnNlcihzcGxpdHRlciwgZmllbGRzLCBsb2dGb3JtYXRGcm9tQ29tbWFuZChjdXN0b21BcmdzKSk7XG5cbiAgIHJldHVybiB7XG4gICAgICBjb21tYW5kczogWydsb2cnLCAuLi5jdXN0b21BcmdzXSxcbiAgICAgIGZvcm1hdDogJ3V0Zi04JyxcbiAgICAgIHBhcnNlcixcbiAgIH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uICgpOiBQaWNrPFNpbXBsZUdpdCwgJ2xvZyc+IHtcbiAgIHJldHVybiB7XG4gICAgICBsb2c8VCBleHRlbmRzIE9wdGlvbnM+KHRoaXM6IFNpbXBsZUdpdEFwaSwgLi4ucmVzdDogdW5rbm93bltdKSB7XG4gICAgICAgICBjb25zdCBuZXh0ID0gdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cyk7XG4gICAgICAgICBjb25zdCBvcHRpb25zID0gcGFyc2VMb2dPcHRpb25zPFQ+KFxuICAgICAgICAgICAgdHJhaWxpbmdPcHRpb25zQXJndW1lbnQoYXJndW1lbnRzKSxcbiAgICAgICAgICAgIGZpbHRlclR5cGUoYXJndW1lbnRzWzBdLCBmaWx0ZXJBcnJheSlcbiAgICAgICAgICk7XG4gICAgICAgICBjb25zdCB0YXNrID1cbiAgICAgICAgICAgIHJlamVjdERlcHJlY2F0ZWRTaWduYXR1cmVzKC4uLnJlc3QpIHx8XG4gICAgICAgICAgICB2YWxpZGF0ZUxvZ0Zvcm1hdENvbmZpZyhvcHRpb25zLmNvbW1hbmRzKSB8fFxuICAgICAgICAgICAgY3JlYXRlTG9nVGFzayhvcHRpb25zKTtcblxuICAgICAgICAgcmV0dXJuIHRoaXMuX3J1blRhc2sodGFzaywgbmV4dCk7XG4gICAgICB9LFxuICAgfTtcblxuICAgZnVuY3Rpb24gY3JlYXRlTG9nVGFzayhvcHRpb25zOiBQYXJzZWRMb2dPcHRpb25zKSB7XG4gICAgICByZXR1cm4gbG9nVGFzayhvcHRpb25zLnNwbGl0dGVyLCBvcHRpb25zLmZpZWxkcywgb3B0aW9ucy5jb21tYW5kcyk7XG4gICB9XG5cbiAgIGZ1bmN0aW9uIHJlamVjdERlcHJlY2F0ZWRTaWduYXR1cmVzKGZyb20/OiB1bmtub3duLCB0bz86IHVua25vd24pIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgICBmaWx0ZXJTdHJpbmcoZnJvbSkgJiZcbiAgICAgICAgIGZpbHRlclN0cmluZyh0bykgJiZcbiAgICAgICAgIGNvbmZpZ3VyYXRpb25FcnJvclRhc2soXG4gICAgICAgICAgICBgZ2l0LmxvZyhzdHJpbmcsIHN0cmluZykgc2hvdWxkIGJlIHJlcGxhY2VkIHdpdGggZ2l0LmxvZyh7IGZyb206IHN0cmluZywgdG86IHN0cmluZyB9KWBcbiAgICAgICAgIClcbiAgICAgICk7XG4gICB9XG59XG4iLCAiaW1wb3J0IHtcbiAgIE1lcmdlQ29uZmxpY3QsXG4gICBNZXJnZUNvbmZsaWN0RGVsZXRpb24sXG4gICBNZXJnZURldGFpbCxcbiAgIE1lcmdlUmVzdWx0U3RhdHVzLFxufSBmcm9tICcuLi8uLi8uLi90eXBpbmdzJztcblxuZXhwb3J0IGNsYXNzIE1lcmdlU3VtbWFyeUNvbmZsaWN0IGltcGxlbWVudHMgTWVyZ2VDb25mbGljdCB7XG4gICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyByZWFkb25seSByZWFzb246IHN0cmluZyxcbiAgICAgIHB1YmxpYyByZWFkb25seSBmaWxlOiBzdHJpbmcgfCBudWxsID0gbnVsbCxcbiAgICAgIHB1YmxpYyByZWFkb25seSBtZXRhPzogTWVyZ2VDb25mbGljdERlbGV0aW9uXG4gICApIHt9XG5cbiAgIHRvU3RyaW5nKCkge1xuICAgICAgcmV0dXJuIGAke3RoaXMuZmlsZX06JHt0aGlzLnJlYXNvbn1gO1xuICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWVyZ2VTdW1tYXJ5RGV0YWlsIGltcGxlbWVudHMgTWVyZ2VEZXRhaWwge1xuICAgcHVibGljIGNvbmZsaWN0czogTWVyZ2VDb25mbGljdFtdID0gW107XG4gICBwdWJsaWMgbWVyZ2VzOiBzdHJpbmdbXSA9IFtdO1xuICAgcHVibGljIHJlc3VsdDogTWVyZ2VSZXN1bHRTdGF0dXMgPSAnc3VjY2Vzcyc7XG5cbiAgIGdldCBmYWlsZWQoKSB7XG4gICAgICByZXR1cm4gdGhpcy5jb25mbGljdHMubGVuZ3RoID4gMDtcbiAgIH1cblxuICAgZ2V0IHJlYXNvbigpIHtcbiAgICAgIHJldHVybiB0aGlzLnJlc3VsdDtcbiAgIH1cblxuICAgdG9TdHJpbmcoKSB7XG4gICAgICBpZiAodGhpcy5jb25mbGljdHMubGVuZ3RoKSB7XG4gICAgICAgICByZXR1cm4gYENPTkZMSUNUUzogJHt0aGlzLmNvbmZsaWN0cy5qb2luKCcsICcpfWA7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiAnT0snO1xuICAgfVxufVxuIiwgImltcG9ydCB7XG4gICBQdWxsRGV0YWlsRmlsZUNoYW5nZXMsXG4gICBQdWxsRGV0YWlsU3VtbWFyeSxcbiAgIFB1bGxGYWlsZWRSZXN1bHQsXG4gICBQdWxsUmVzdWx0LFxufSBmcm9tICcuLi8uLi8uLi90eXBpbmdzJztcblxuZXhwb3J0IGNsYXNzIFB1bGxTdW1tYXJ5IGltcGxlbWVudHMgUHVsbFJlc3VsdCB7XG4gICBwdWJsaWMgcmVtb3RlTWVzc2FnZXMgPSB7XG4gICAgICBhbGw6IFtdLFxuICAgfTtcbiAgIHB1YmxpYyBjcmVhdGVkID0gW107XG4gICBwdWJsaWMgZGVsZXRlZDogc3RyaW5nW10gPSBbXTtcbiAgIHB1YmxpYyBmaWxlczogc3RyaW5nW10gPSBbXTtcbiAgIHB1YmxpYyBkZWxldGlvbnM6IFB1bGxEZXRhaWxGaWxlQ2hhbmdlcyA9IHt9O1xuICAgcHVibGljIGluc2VydGlvbnM6IFB1bGxEZXRhaWxGaWxlQ2hhbmdlcyA9IHt9O1xuICAgcHVibGljIHN1bW1hcnk6IFB1bGxEZXRhaWxTdW1tYXJ5ID0ge1xuICAgICAgY2hhbmdlczogMCxcbiAgICAgIGRlbGV0aW9uczogMCxcbiAgICAgIGluc2VydGlvbnM6IDAsXG4gICB9O1xufVxuXG5leHBvcnQgY2xhc3MgUHVsbEZhaWxlZFN1bW1hcnkgaW1wbGVtZW50cyBQdWxsRmFpbGVkUmVzdWx0IHtcbiAgIHJlbW90ZSA9ICcnO1xuICAgaGFzaCA9IHtcbiAgICAgIGxvY2FsOiAnJyxcbiAgICAgIHJlbW90ZTogJycsXG4gICB9O1xuICAgYnJhbmNoID0ge1xuICAgICAgbG9jYWw6ICcnLFxuICAgICAgcmVtb3RlOiAnJyxcbiAgIH07XG4gICBtZXNzYWdlID0gJyc7XG5cbiAgIHRvU3RyaW5nKCkge1xuICAgICAgcmV0dXJuIHRoaXMubWVzc2FnZTtcbiAgIH1cbn1cbiIsICJpbXBvcnQge1xuICAgUmVtb3RlTWVzc2FnZVJlc3VsdCxcbiAgIFJlbW90ZU1lc3NhZ2VzLFxuICAgUmVtb3RlTWVzc2FnZXNPYmplY3RFbnVtZXJhdGlvbixcbn0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQgeyBhc051bWJlciwgUmVtb3RlTGluZVBhcnNlciB9IGZyb20gJy4uL3V0aWxzJztcblxuZnVuY3Rpb24gb2JqZWN0RW51bWVyYXRpb25SZXN1bHQ8VCBleHRlbmRzIFJlbW90ZU1lc3NhZ2VzID0gUmVtb3RlTWVzc2FnZXM+KFxuICAgcmVtb3RlTWVzc2FnZXM6IFRcbik6IFJlbW90ZU1lc3NhZ2VzT2JqZWN0RW51bWVyYXRpb24ge1xuICAgcmV0dXJuIChyZW1vdGVNZXNzYWdlcy5vYmplY3RzID0gcmVtb3RlTWVzc2FnZXMub2JqZWN0cyB8fCB7XG4gICAgICBjb21wcmVzc2luZzogMCxcbiAgICAgIGNvdW50aW5nOiAwLFxuICAgICAgZW51bWVyYXRpbmc6IDAsXG4gICAgICBwYWNrUmV1c2VkOiAwLFxuICAgICAgcmV1c2VkOiB7IGNvdW50OiAwLCBkZWx0YTogMCB9LFxuICAgICAgdG90YWw6IHsgY291bnQ6IDAsIGRlbHRhOiAwIH0sXG4gICB9KTtcbn1cblxuZnVuY3Rpb24gYXNPYmplY3RDb3VudChzb3VyY2U6IHN0cmluZykge1xuICAgY29uc3QgY291bnQgPSAvXlxccyooXFxkKykvLmV4ZWMoc291cmNlKTtcbiAgIGNvbnN0IGRlbHRhID0gL2RlbHRhIChcXGQrKS9pLmV4ZWMoc291cmNlKTtcblxuICAgcmV0dXJuIHtcbiAgICAgIGNvdW50OiBhc051bWJlcigoY291bnQgJiYgY291bnRbMV0pIHx8ICcwJyksXG4gICAgICBkZWx0YTogYXNOdW1iZXIoKGRlbHRhICYmIGRlbHRhWzFdKSB8fCAnMCcpLFxuICAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IHJlbW90ZU1lc3NhZ2VzT2JqZWN0UGFyc2VyczogUmVtb3RlTGluZVBhcnNlcjxSZW1vdGVNZXNzYWdlUmVzdWx0PFJlbW90ZU1lc3NhZ2VzPj5bXSA9XG4gICBbXG4gICAgICBuZXcgUmVtb3RlTGluZVBhcnNlcihcbiAgICAgICAgIC9ecmVtb3RlOlxccyooZW51bWVyYXRpbmd8Y291bnRpbmd8Y29tcHJlc3NpbmcpIG9iamVjdHM6IChcXGQrKSwvaSxcbiAgICAgICAgIChyZXN1bHQsIFthY3Rpb24sIGNvdW50XSkgPT4ge1xuICAgICAgICAgICAgY29uc3Qga2V5ID0gYWN0aW9uLnRvTG93ZXJDYXNlKCk7XG4gICAgICAgICAgICBjb25zdCBlbnVtZXJhdGlvbiA9IG9iamVjdEVudW1lcmF0aW9uUmVzdWx0KHJlc3VsdC5yZW1vdGVNZXNzYWdlcyk7XG5cbiAgICAgICAgICAgIE9iamVjdC5hc3NpZ24oZW51bWVyYXRpb24sIHsgW2tleV06IGFzTnVtYmVyKGNvdW50KSB9KTtcbiAgICAgICAgIH1cbiAgICAgICksXG4gICAgICBuZXcgUmVtb3RlTGluZVBhcnNlcihcbiAgICAgICAgIC9ecmVtb3RlOlxccyooZW51bWVyYXRpbmd8Y291bnRpbmd8Y29tcHJlc3NpbmcpIG9iamVjdHM6IFxcZCslIFxcKFxcZCtcXC8oXFxkKylcXCksL2ksXG4gICAgICAgICAocmVzdWx0LCBbYWN0aW9uLCBjb3VudF0pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGtleSA9IGFjdGlvbi50b0xvd2VyQ2FzZSgpO1xuICAgICAgICAgICAgY29uc3QgZW51bWVyYXRpb24gPSBvYmplY3RFbnVtZXJhdGlvblJlc3VsdChyZXN1bHQucmVtb3RlTWVzc2FnZXMpO1xuXG4gICAgICAgICAgICBPYmplY3QuYXNzaWduKGVudW1lcmF0aW9uLCB7IFtrZXldOiBhc051bWJlcihjb3VudCkgfSk7XG4gICAgICAgICB9XG4gICAgICApLFxuICAgICAgbmV3IFJlbW90ZUxpbmVQYXJzZXIoXG4gICAgICAgICAvdG90YWwgKFteLF0rKSwgcmV1c2VkIChbXixdKyksIHBhY2stcmV1c2VkIChcXGQrKS9pLFxuICAgICAgICAgKHJlc3VsdCwgW3RvdGFsLCByZXVzZWQsIHBhY2tSZXVzZWRdKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBvYmplY3RzID0gb2JqZWN0RW51bWVyYXRpb25SZXN1bHQocmVzdWx0LnJlbW90ZU1lc3NhZ2VzKTtcbiAgICAgICAgICAgIG9iamVjdHMudG90YWwgPSBhc09iamVjdENvdW50KHRvdGFsKTtcbiAgICAgICAgICAgIG9iamVjdHMucmV1c2VkID0gYXNPYmplY3RDb3VudChyZXVzZWQpO1xuICAgICAgICAgICAgb2JqZWN0cy5wYWNrUmV1c2VkID0gYXNOdW1iZXIocGFja1JldXNlZCk7XG4gICAgICAgICB9XG4gICAgICApLFxuICAgXTtcbiIsICJpbXBvcnQgeyBQdXNoUmVzdWx0UmVtb3RlTWVzc2FnZXMsIFJlbW90ZU1lc3NhZ2VSZXN1bHQsIFJlbW90ZU1lc3NhZ2VzIH0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQgeyBhc051bWJlciwgcGFyc2VTdHJpbmdSZXNwb25zZSwgUmVtb3RlTGluZVBhcnNlciB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHJlbW90ZU1lc3NhZ2VzT2JqZWN0UGFyc2VycyB9IGZyb20gJy4vcGFyc2UtcmVtb3RlLW9iamVjdHMnO1xuXG5jb25zdCBwYXJzZXJzOiBSZW1vdGVMaW5lUGFyc2VyPFJlbW90ZU1lc3NhZ2VSZXN1bHQ8UHVzaFJlc3VsdFJlbW90ZU1lc3NhZ2VzIHwgUmVtb3RlTWVzc2FnZXM+PltdID1cbiAgIFtcbiAgICAgIG5ldyBSZW1vdGVMaW5lUGFyc2VyKC9ecmVtb3RlOlxccyooLispJC8sIChyZXN1bHQsIFt0ZXh0XSkgPT4ge1xuICAgICAgICAgcmVzdWx0LnJlbW90ZU1lc3NhZ2VzLmFsbC5wdXNoKHRleHQudHJpbSgpKTtcbiAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH0pLFxuICAgICAgLi4ucmVtb3RlTWVzc2FnZXNPYmplY3RQYXJzZXJzLFxuICAgICAgbmV3IFJlbW90ZUxpbmVQYXJzZXIoXG4gICAgICAgICBbL2NyZWF0ZSBhICg/OnB1bGx8bWVyZ2UpIHJlcXVlc3QvaSwgL1xccyhodHRwcz86XFwvXFwvXFxTKykkL10sXG4gICAgICAgICAocmVzdWx0LCBbcHVsbFJlcXVlc3RVcmxdKSA9PiB7XG4gICAgICAgICAgICAocmVzdWx0LnJlbW90ZU1lc3NhZ2VzIGFzIFB1c2hSZXN1bHRSZW1vdGVNZXNzYWdlcykucHVsbFJlcXVlc3RVcmwgPSBwdWxsUmVxdWVzdFVybDtcbiAgICAgICAgIH1cbiAgICAgICksXG4gICAgICBuZXcgUmVtb3RlTGluZVBhcnNlcihcbiAgICAgICAgIFsvZm91bmQgKFxcZCspIHZ1bG5lcmFiaWxpdGllcy4rXFwoKFteKV0rKVxcKS9pLCAvXFxzKGh0dHBzPzpcXC9cXC9cXFMrKSQvXSxcbiAgICAgICAgIChyZXN1bHQsIFtjb3VudCwgc3VtbWFyeSwgdXJsXSkgPT4ge1xuICAgICAgICAgICAgKHJlc3VsdC5yZW1vdGVNZXNzYWdlcyBhcyBQdXNoUmVzdWx0UmVtb3RlTWVzc2FnZXMpLnZ1bG5lcmFiaWxpdGllcyA9IHtcbiAgICAgICAgICAgICAgIGNvdW50OiBhc051bWJlcihjb3VudCksXG4gICAgICAgICAgICAgICBzdW1tYXJ5LFxuICAgICAgICAgICAgICAgdXJsLFxuICAgICAgICAgICAgfTtcbiAgICAgICAgIH1cbiAgICAgICksXG4gICBdO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VSZW1vdGVNZXNzYWdlczxUIGV4dGVuZHMgUmVtb3RlTWVzc2FnZXMgPSBSZW1vdGVNZXNzYWdlcz4oXG4gICBfc3RkT3V0OiBzdHJpbmcsXG4gICBzdGRFcnI6IHN0cmluZ1xuKTogUmVtb3RlTWVzc2FnZVJlc3VsdCB7XG4gICByZXR1cm4gcGFyc2VTdHJpbmdSZXNwb25zZSh7IHJlbW90ZU1lc3NhZ2VzOiBuZXcgUmVtb3RlTWVzc2FnZVN1bW1hcnkoKSBhcyBUIH0sIHBhcnNlcnMsIHN0ZEVycik7XG59XG5cbmV4cG9ydCBjbGFzcyBSZW1vdGVNZXNzYWdlU3VtbWFyeSBpbXBsZW1lbnRzIFJlbW90ZU1lc3NhZ2VzIHtcbiAgIHB1YmxpYyByZWFkb25seSBhbGw6IHN0cmluZ1tdID0gW107XG59XG4iLCAiaW1wb3J0IHsgUHVsbERldGFpbCwgUHVsbEZhaWxlZFJlc3VsdCwgUHVsbFJlc3VsdCwgUmVtb3RlTWVzc2FnZXMgfSBmcm9tICcuLi8uLi8uLi90eXBpbmdzJztcbmltcG9ydCB7IFB1bGxGYWlsZWRTdW1tYXJ5LCBQdWxsU3VtbWFyeSB9IGZyb20gJy4uL3Jlc3BvbnNlcy9QdWxsU3VtbWFyeSc7XG5pbXBvcnQgeyBUYXNrUGFyc2VyIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYXBwZW5kLCBMaW5lUGFyc2VyLCBwYXJzZVN0cmluZ1Jlc3BvbnNlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgcGFyc2VSZW1vdGVNZXNzYWdlcyB9IGZyb20gJy4vcGFyc2UtcmVtb3RlLW1lc3NhZ2VzJztcblxuY29uc3QgRklMRV9VUERBVEVfUkVHRVggPSAvXlxccyooLis/KVxccytcXHxcXHMrXFxkK1xccyooXFwrKikoLSopLztcbmNvbnN0IFNVTU1BUllfUkVHRVggPSAvKFxcZCspXFxEKygoXFxkKylcXEQrXFwoXFwrXFwpKT8oXFxEKyhcXGQrKVxcRCtcXCgtXFwpKT8vO1xuY29uc3QgQUNUSU9OX1JFR0VYID0gL14oY3JlYXRlfGRlbGV0ZSkgbW9kZSBcXGQrICguKykvO1xuXG5jb25zdCBwYXJzZXJzOiBMaW5lUGFyc2VyPFB1bGxSZXN1bHQ+W10gPSBbXG4gICBuZXcgTGluZVBhcnNlcihGSUxFX1VQREFURV9SRUdFWCwgKHJlc3VsdCwgW2ZpbGUsIGluc2VydGlvbnMsIGRlbGV0aW9uc10pID0+IHtcbiAgICAgIHJlc3VsdC5maWxlcy5wdXNoKGZpbGUpO1xuXG4gICAgICBpZiAoaW5zZXJ0aW9ucykge1xuICAgICAgICAgcmVzdWx0Lmluc2VydGlvbnNbZmlsZV0gPSBpbnNlcnRpb25zLmxlbmd0aDtcbiAgICAgIH1cblxuICAgICAgaWYgKGRlbGV0aW9ucykge1xuICAgICAgICAgcmVzdWx0LmRlbGV0aW9uc1tmaWxlXSA9IGRlbGV0aW9ucy5sZW5ndGg7XG4gICAgICB9XG4gICB9KSxcbiAgIG5ldyBMaW5lUGFyc2VyKFNVTU1BUllfUkVHRVgsIChyZXN1bHQsIFtjaGFuZ2VzLCAsIGluc2VydGlvbnMsICwgZGVsZXRpb25zXSkgPT4ge1xuICAgICAgaWYgKGluc2VydGlvbnMgIT09IHVuZGVmaW5lZCB8fCBkZWxldGlvbnMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgcmVzdWx0LnN1bW1hcnkuY2hhbmdlcyA9ICtjaGFuZ2VzIHx8IDA7XG4gICAgICAgICByZXN1bHQuc3VtbWFyeS5pbnNlcnRpb25zID0gK2luc2VydGlvbnMgfHwgMDtcbiAgICAgICAgIHJlc3VsdC5zdW1tYXJ5LmRlbGV0aW9ucyA9ICtkZWxldGlvbnMgfHwgMDtcbiAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgfSksXG4gICBuZXcgTGluZVBhcnNlcihBQ1RJT05fUkVHRVgsIChyZXN1bHQsIFthY3Rpb24sIGZpbGVdKSA9PiB7XG4gICAgICBhcHBlbmQocmVzdWx0LmZpbGVzLCBmaWxlKTtcbiAgICAgIGFwcGVuZChhY3Rpb24gPT09ICdjcmVhdGUnID8gcmVzdWx0LmNyZWF0ZWQgOiByZXN1bHQuZGVsZXRlZCwgZmlsZSk7XG4gICB9KSxcbl07XG5cbmNvbnN0IGVycm9yUGFyc2VyczogTGluZVBhcnNlcjxQdWxsRmFpbGVkUmVzdWx0PltdID0gW1xuICAgbmV3IExpbmVQYXJzZXIoL15mcm9tXFxzKC4rKSQvaSwgKHJlc3VsdCwgW3JlbW90ZV0pID0+IHZvaWQgKHJlc3VsdC5yZW1vdGUgPSByZW1vdGUpKSxcbiAgIG5ldyBMaW5lUGFyc2VyKC9eZmF0YWw6XFxzKC4rKSQvLCAocmVzdWx0LCBbbWVzc2FnZV0pID0+IHZvaWQgKHJlc3VsdC5tZXNzYWdlID0gbWVzc2FnZSkpLFxuICAgbmV3IExpbmVQYXJzZXIoXG4gICAgICAvKFthLXowLTldKylcXC5cXC4oW2EtejAtOV0rKVxccysoXFxTKylcXHMrLT5cXHMrKFxcUyspJC8sXG4gICAgICAocmVzdWx0LCBbaGFzaExvY2FsLCBoYXNoUmVtb3RlLCBicmFuY2hMb2NhbCwgYnJhbmNoUmVtb3RlXSkgPT4ge1xuICAgICAgICAgcmVzdWx0LmJyYW5jaC5sb2NhbCA9IGJyYW5jaExvY2FsO1xuICAgICAgICAgcmVzdWx0Lmhhc2gubG9jYWwgPSBoYXNoTG9jYWw7XG4gICAgICAgICByZXN1bHQuYnJhbmNoLnJlbW90ZSA9IGJyYW5jaFJlbW90ZTtcbiAgICAgICAgIHJlc3VsdC5oYXNoLnJlbW90ZSA9IGhhc2hSZW1vdGU7XG4gICAgICB9XG4gICApLFxuXTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlUHVsbERldGFpbDogVGFza1BhcnNlcjxzdHJpbmcsIFB1bGxEZXRhaWw+ID0gKHN0ZE91dCwgc3RkRXJyKSA9PiB7XG4gICByZXR1cm4gcGFyc2VTdHJpbmdSZXNwb25zZShuZXcgUHVsbFN1bW1hcnkoKSwgcGFyc2VycywgW3N0ZE91dCwgc3RkRXJyXSk7XG59O1xuXG5leHBvcnQgY29uc3QgcGFyc2VQdWxsUmVzdWx0OiBUYXNrUGFyc2VyPHN0cmluZywgUHVsbFJlc3VsdD4gPSAoc3RkT3V0LCBzdGRFcnIpID0+IHtcbiAgIHJldHVybiBPYmplY3QuYXNzaWduKFxuICAgICAgbmV3IFB1bGxTdW1tYXJ5KCksXG4gICAgICBwYXJzZVB1bGxEZXRhaWwoc3RkT3V0LCBzdGRFcnIpLFxuICAgICAgcGFyc2VSZW1vdGVNZXNzYWdlczxSZW1vdGVNZXNzYWdlcz4oc3RkT3V0LCBzdGRFcnIpXG4gICApO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUHVsbEVycm9yUmVzdWx0KHN0ZE91dDogc3RyaW5nLCBzdGRFcnI6IHN0cmluZykge1xuICAgY29uc3QgcHVsbEVycm9yID0gcGFyc2VTdHJpbmdSZXNwb25zZShuZXcgUHVsbEZhaWxlZFN1bW1hcnkoKSwgZXJyb3JQYXJzZXJzLCBbc3RkT3V0LCBzdGRFcnJdKTtcblxuICAgcmV0dXJuIHB1bGxFcnJvci5tZXNzYWdlICYmIHB1bGxFcnJvcjtcbn1cbiIsICJpbXBvcnQgeyBNZXJnZURldGFpbCwgTWVyZ2VSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi90eXBpbmdzJztcbmltcG9ydCB7IE1lcmdlU3VtbWFyeUNvbmZsaWN0LCBNZXJnZVN1bW1hcnlEZXRhaWwgfSBmcm9tICcuLi9yZXNwb25zZXMvTWVyZ2VTdW1tYXJ5JztcbmltcG9ydCB7IFRhc2tQYXJzZXIgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBMaW5lUGFyc2VyLCBwYXJzZVN0cmluZ1Jlc3BvbnNlIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgcGFyc2VQdWxsUmVzdWx0IH0gZnJvbSAnLi9wYXJzZS1wdWxsJztcblxuY29uc3QgcGFyc2VyczogTGluZVBhcnNlcjxNZXJnZURldGFpbD5bXSA9IFtcbiAgIG5ldyBMaW5lUGFyc2VyKC9eQXV0by1tZXJnaW5nXFxzKyguKykkLywgKHN1bW1hcnksIFthdXRvTWVyZ2VdKSA9PiB7XG4gICAgICBzdW1tYXJ5Lm1lcmdlcy5wdXNoKGF1dG9NZXJnZSk7XG4gICB9KSxcbiAgIG5ldyBMaW5lUGFyc2VyKC9eQ09ORkxJQ1RcXHMrXFwoKC4rKVxcKTogTWVyZ2UgY29uZmxpY3QgaW4gKC4rKSQvLCAoc3VtbWFyeSwgW3JlYXNvbiwgZmlsZV0pID0+IHtcbiAgICAgIHN1bW1hcnkuY29uZmxpY3RzLnB1c2gobmV3IE1lcmdlU3VtbWFyeUNvbmZsaWN0KHJlYXNvbiwgZmlsZSkpO1xuICAgfSksXG4gICBuZXcgTGluZVBhcnNlcihcbiAgICAgIC9eQ09ORkxJQ1RcXHMrXFwoKC4rXFwvZGVsZXRlKVxcKTogKC4rKSBkZWxldGVkIGluICguKykgYW5kLyxcbiAgICAgIChzdW1tYXJ5LCBbcmVhc29uLCBmaWxlLCBkZWxldGVSZWZdKSA9PiB7XG4gICAgICAgICBzdW1tYXJ5LmNvbmZsaWN0cy5wdXNoKG5ldyBNZXJnZVN1bW1hcnlDb25mbGljdChyZWFzb24sIGZpbGUsIHsgZGVsZXRlUmVmIH0pKTtcbiAgICAgIH1cbiAgICksXG4gICBuZXcgTGluZVBhcnNlcigvXkNPTkZMSUNUXFxzK1xcKCguKylcXCk6LywgKHN1bW1hcnksIFtyZWFzb25dKSA9PiB7XG4gICAgICBzdW1tYXJ5LmNvbmZsaWN0cy5wdXNoKG5ldyBNZXJnZVN1bW1hcnlDb25mbGljdChyZWFzb24sIG51bGwpKTtcbiAgIH0pLFxuICAgbmV3IExpbmVQYXJzZXIoL15BdXRvbWF0aWMgbWVyZ2UgZmFpbGVkO1xccysoLispJC8sIChzdW1tYXJ5LCBbcmVzdWx0XSkgPT4ge1xuICAgICAgc3VtbWFyeS5yZXN1bHQgPSByZXN1bHQ7XG4gICB9KSxcbl07XG5cbi8qKlxuICogUGFyc2UgdGhlIGNvbXBsZXRlIHJlc3BvbnNlIGZyb20gYGdpdC5tZXJnZWBcbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlTWVyZ2VSZXN1bHQ6IFRhc2tQYXJzZXI8c3RyaW5nLCBNZXJnZVJlc3VsdD4gPSAoc3RkT3V0LCBzdGRFcnIpID0+IHtcbiAgIHJldHVybiBPYmplY3QuYXNzaWduKHBhcnNlTWVyZ2VEZXRhaWwoc3RkT3V0LCBzdGRFcnIpLCBwYXJzZVB1bGxSZXN1bHQoc3RkT3V0LCBzdGRFcnIpKTtcbn07XG5cbi8qKlxuICogUGFyc2UgdGhlIG1lcmdlIHNwZWNpZmljIGRldGFpbCAoaWU6IG5vdCB0aGUgY29udGVudCBhbHNvIGF2YWlsYWJsZSBpbiB0aGUgcHVsbCBkZXRhaWwpIGZyb20gYGdpdC5tbmVyZ2VgXG4gKiBAcGFyYW0gc3RkT3V0XG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZU1lcmdlRGV0YWlsOiBUYXNrUGFyc2VyPHN0cmluZywgTWVyZ2VEZXRhaWw+ID0gKHN0ZE91dCkgPT4ge1xuICAgcmV0dXJuIHBhcnNlU3RyaW5nUmVzcG9uc2UobmV3IE1lcmdlU3VtbWFyeURldGFpbCgpLCBwYXJzZXJzLCBzdGRPdXQpO1xufTtcbiIsICJpbXBvcnQgeyBNZXJnZVJlc3VsdCB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MnO1xuaW1wb3J0IHsgR2l0UmVzcG9uc2VFcnJvciB9IGZyb20gJy4uL2Vycm9ycy9naXQtcmVzcG9uc2UtZXJyb3InO1xuaW1wb3J0IHsgcGFyc2VNZXJnZVJlc3VsdCB9IGZyb20gJy4uL3BhcnNlcnMvcGFyc2UtbWVyZ2UnO1xuaW1wb3J0IHsgU3RyaW5nVGFzayB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGNvbmZpZ3VyYXRpb25FcnJvclRhc2ssIEVtcHR5VGFzayB9IGZyb20gJy4vdGFzayc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZVRhc2soY3VzdG9tQXJnczogc3RyaW5nW10pOiBFbXB0eVRhc2sgfCBTdHJpbmdUYXNrPE1lcmdlUmVzdWx0PiB7XG4gICBpZiAoIWN1c3RvbUFyZ3MubGVuZ3RoKSB7XG4gICAgICByZXR1cm4gY29uZmlndXJhdGlvbkVycm9yVGFzaygnR2l0Lm1lcmdlIHJlcXVpcmVzIGF0IGxlYXN0IG9uZSBvcHRpb24nKTtcbiAgIH1cblxuICAgcmV0dXJuIHtcbiAgICAgIGNvbW1hbmRzOiBbJ21lcmdlJywgLi4uY3VzdG9tQXJnc10sXG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBwYXJzZXIoc3RkT3V0LCBzdGRFcnIpOiBNZXJnZVJlc3VsdCB7XG4gICAgICAgICBjb25zdCBtZXJnZSA9IHBhcnNlTWVyZ2VSZXN1bHQoc3RkT3V0LCBzdGRFcnIpO1xuICAgICAgICAgaWYgKG1lcmdlLmZhaWxlZCkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEdpdFJlc3BvbnNlRXJyb3IobWVyZ2UpO1xuICAgICAgICAgfVxuXG4gICAgICAgICByZXR1cm4gbWVyZ2U7XG4gICAgICB9LFxuICAgfTtcbn1cbiIsICJpbXBvcnQge1xuICAgUHVzaERldGFpbCxcbiAgIFB1c2hSZXN1bHQsXG4gICBQdXNoUmVzdWx0UHVzaGVkSXRlbSxcbiAgIFB1c2hSZXN1bHRSZW1vdGVNZXNzYWdlcyxcbn0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQgeyBUYXNrUGFyc2VyIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgTGluZVBhcnNlciwgcGFyc2VTdHJpbmdSZXNwb25zZSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHBhcnNlUmVtb3RlTWVzc2FnZXMgfSBmcm9tICcuL3BhcnNlLXJlbW90ZS1tZXNzYWdlcyc7XG5cbmZ1bmN0aW9uIHB1c2hSZXN1bHRQdXNoZWRJdGVtKGxvY2FsOiBzdHJpbmcsIHJlbW90ZTogc3RyaW5nLCBzdGF0dXM6IHN0cmluZyk6IFB1c2hSZXN1bHRQdXNoZWRJdGVtIHtcbiAgIGNvbnN0IGRlbGV0ZWQgPSBzdGF0dXMuaW5jbHVkZXMoJ2RlbGV0ZWQnKTtcbiAgIGNvbnN0IHRhZyA9IHN0YXR1cy5pbmNsdWRlcygndGFnJykgfHwgL15yZWZzXFwvdGFncy8udGVzdChsb2NhbCk7XG4gICBjb25zdCBhbHJlYWR5VXBkYXRlZCA9ICFzdGF0dXMuaW5jbHVkZXMoJ25ldycpO1xuXG4gICByZXR1cm4ge1xuICAgICAgZGVsZXRlZCxcbiAgICAgIHRhZyxcbiAgICAgIGJyYW5jaDogIXRhZyxcbiAgICAgIG5ldzogIWFscmVhZHlVcGRhdGVkLFxuICAgICAgYWxyZWFkeVVwZGF0ZWQsXG4gICAgICBsb2NhbCxcbiAgICAgIHJlbW90ZSxcbiAgIH07XG59XG5cbmNvbnN0IHBhcnNlcnM6IExpbmVQYXJzZXI8UHVzaERldGFpbD5bXSA9IFtcbiAgIG5ldyBMaW5lUGFyc2VyKC9eUHVzaGluZyB0byAoLispJC8sIChyZXN1bHQsIFtyZXBvXSkgPT4ge1xuICAgICAgcmVzdWx0LnJlcG8gPSByZXBvO1xuICAgfSksXG4gICBuZXcgTGluZVBhcnNlcigvXnVwZGF0aW5nIGxvY2FsIHRyYWNraW5nIHJlZiAnKC4rKScvLCAocmVzdWx0LCBbbG9jYWxdKSA9PiB7XG4gICAgICByZXN1bHQucmVmID0ge1xuICAgICAgICAgLi4uKHJlc3VsdC5yZWYgfHwge30pLFxuICAgICAgICAgbG9jYWwsXG4gICAgICB9O1xuICAgfSksXG4gICBuZXcgTGluZVBhcnNlcigvXls9Ki1dXFxzKyhbXjpdKyk6KFxcUyspXFxzK1xcWyguKyldJC8sIChyZXN1bHQsIFtsb2NhbCwgcmVtb3RlLCB0eXBlXSkgPT4ge1xuICAgICAgcmVzdWx0LnB1c2hlZC5wdXNoKHB1c2hSZXN1bHRQdXNoZWRJdGVtKGxvY2FsLCByZW1vdGUsIHR5cGUpKTtcbiAgIH0pLFxuICAgbmV3IExpbmVQYXJzZXIoXG4gICAgICAvXkJyYW5jaCAnKFteJ10rKScgc2V0IHVwIHRvIHRyYWNrIHJlbW90ZSBicmFuY2ggJyhbXiddKyknIGZyb20gJyhbXiddKyknLyxcbiAgICAgIChyZXN1bHQsIFtsb2NhbCwgcmVtb3RlLCByZW1vdGVOYW1lXSkgPT4ge1xuICAgICAgICAgcmVzdWx0LmJyYW5jaCA9IHtcbiAgICAgICAgICAgIC4uLihyZXN1bHQuYnJhbmNoIHx8IHt9KSxcbiAgICAgICAgICAgIGxvY2FsLFxuICAgICAgICAgICAgcmVtb3RlLFxuICAgICAgICAgICAgcmVtb3RlTmFtZSxcbiAgICAgICAgIH07XG4gICAgICB9XG4gICApLFxuICAgbmV3IExpbmVQYXJzZXIoXG4gICAgICAvXihbXjpdKyk6KFxcUyspXFxzKyhbYS16MC05XSspXFwuXFwuKFthLXowLTldKykkLyxcbiAgICAgIChyZXN1bHQsIFtsb2NhbCwgcmVtb3RlLCBmcm9tLCB0b10pID0+IHtcbiAgICAgICAgIHJlc3VsdC51cGRhdGUgPSB7XG4gICAgICAgICAgICBoZWFkOiB7XG4gICAgICAgICAgICAgICBsb2NhbCxcbiAgICAgICAgICAgICAgIHJlbW90ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBoYXNoOiB7XG4gICAgICAgICAgICAgICBmcm9tLFxuICAgICAgICAgICAgICAgdG8sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgfTtcbiAgICAgIH1cbiAgICksXG5dO1xuXG5leHBvcnQgY29uc3QgcGFyc2VQdXNoUmVzdWx0OiBUYXNrUGFyc2VyPHN0cmluZywgUHVzaFJlc3VsdD4gPSAoc3RkT3V0LCBzdGRFcnIpID0+IHtcbiAgIGNvbnN0IHB1c2hEZXRhaWwgPSBwYXJzZVB1c2hEZXRhaWwoc3RkT3V0LCBzdGRFcnIpO1xuICAgY29uc3QgcmVzcG9uc2VEZXRhaWwgPSBwYXJzZVJlbW90ZU1lc3NhZ2VzPFB1c2hSZXN1bHRSZW1vdGVNZXNzYWdlcz4oc3RkT3V0LCBzdGRFcnIpO1xuXG4gICByZXR1cm4ge1xuICAgICAgLi4ucHVzaERldGFpbCxcbiAgICAgIC4uLnJlc3BvbnNlRGV0YWlsLFxuICAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBwYXJzZVB1c2hEZXRhaWw6IFRhc2tQYXJzZXI8c3RyaW5nLCBQdXNoRGV0YWlsPiA9IChzdGRPdXQsIHN0ZEVycikgPT4ge1xuICAgcmV0dXJuIHBhcnNlU3RyaW5nUmVzcG9uc2UoeyBwdXNoZWQ6IFtdIH0sIHBhcnNlcnMsIFtzdGRPdXQsIHN0ZEVycl0pO1xufTtcbiIsICJpbXBvcnQgeyBQdXNoUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQgeyBwYXJzZVB1c2hSZXN1bHQgYXMgcGFyc2VyIH0gZnJvbSAnLi4vcGFyc2Vycy9wYXJzZS1wdXNoJztcbmltcG9ydCB7IFN0cmluZ1Rhc2sgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBhcHBlbmQsIHJlbW92ZSB9IGZyb20gJy4uL3V0aWxzJztcblxudHlwZSBQdXNoUmVmID0geyByZW1vdGU/OiBzdHJpbmc7IGJyYW5jaD86IHN0cmluZyB9O1xuXG5leHBvcnQgZnVuY3Rpb24gcHVzaFRhZ3NUYXNrKHJlZjogUHVzaFJlZiA9IHt9LCBjdXN0b21BcmdzOiBzdHJpbmdbXSk6IFN0cmluZ1Rhc2s8UHVzaFJlc3VsdD4ge1xuICAgYXBwZW5kKGN1c3RvbUFyZ3MsICctLXRhZ3MnKTtcbiAgIHJldHVybiBwdXNoVGFzayhyZWYsIGN1c3RvbUFyZ3MpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHVzaFRhc2socmVmOiBQdXNoUmVmID0ge30sIGN1c3RvbUFyZ3M6IHN0cmluZ1tdKTogU3RyaW5nVGFzazxQdXNoUmVzdWx0PiB7XG4gICBjb25zdCBjb21tYW5kcyA9IFsncHVzaCcsIC4uLmN1c3RvbUFyZ3NdO1xuICAgaWYgKHJlZi5icmFuY2gpIHtcbiAgICAgIGNvbW1hbmRzLnNwbGljZSgxLCAwLCByZWYuYnJhbmNoKTtcbiAgIH1cbiAgIGlmIChyZWYucmVtb3RlKSB7XG4gICAgICBjb21tYW5kcy5zcGxpY2UoMSwgMCwgcmVmLnJlbW90ZSk7XG4gICB9XG5cbiAgIHJlbW92ZShjb21tYW5kcywgJy12Jyk7XG4gICBhcHBlbmQoY29tbWFuZHMsICctLXZlcmJvc2UnKTtcbiAgIGFwcGVuZChjb21tYW5kcywgJy0tcG9yY2VsYWluJyk7XG5cbiAgIHJldHVybiB7XG4gICAgICBjb21tYW5kcyxcbiAgICAgIGZvcm1hdDogJ3V0Zi04JyxcbiAgICAgIHBhcnNlcixcbiAgIH07XG59XG4iLCAiaW1wb3J0IHsgU2ltcGxlR2l0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQgeyBTaW1wbGVHaXRBcGkgfSBmcm9tICcuLi9zaW1wbGUtZ2l0LWFwaSc7XG5pbXBvcnQgeyBnZXRUcmFpbGluZ09wdGlvbnMsIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudCB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHN0cmFpZ2h0VGhyb3VnaEJ1ZmZlclRhc2ssIHN0cmFpZ2h0VGhyb3VnaFN0cmluZ1Rhc2sgfSBmcm9tICcuL3Rhc2snO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoKTogUGljazxTaW1wbGVHaXQsICdzaG93QnVmZmVyJyB8ICdzaG93Jz4ge1xuICAgcmV0dXJuIHtcbiAgICAgIHNob3dCdWZmZXIodGhpczogU2ltcGxlR2l0QXBpKSB7XG4gICAgICAgICBjb25zdCBjb21tYW5kcyA9IFsnc2hvdycsIC4uLmdldFRyYWlsaW5nT3B0aW9ucyhhcmd1bWVudHMsIDEpXTtcbiAgICAgICAgIGlmICghY29tbWFuZHMuaW5jbHVkZXMoJy0tYmluYXJ5JykpIHtcbiAgICAgICAgICAgIGNvbW1hbmRzLnNwbGljZSgxLCAwLCAnLS1iaW5hcnknKTtcbiAgICAgICAgIH1cblxuICAgICAgICAgcmV0dXJuIHRoaXMuX3J1blRhc2soXG4gICAgICAgICAgICBzdHJhaWdodFRocm91Z2hCdWZmZXJUYXNrKGNvbW1hbmRzKSxcbiAgICAgICAgICAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpXG4gICAgICAgICApO1xuICAgICAgfSxcblxuICAgICAgc2hvdyh0aGlzOiBTaW1wbGVHaXRBcGkpIHtcbiAgICAgICAgIGNvbnN0IGNvbW1hbmRzID0gWydzaG93JywgLi4uZ2V0VHJhaWxpbmdPcHRpb25zKGFyZ3VtZW50cywgMSldO1xuICAgICAgICAgcmV0dXJuIHRoaXMuX3J1blRhc2soXG4gICAgICAgICAgICBzdHJhaWdodFRocm91Z2hTdHJpbmdUYXNrKGNvbW1hbmRzKSxcbiAgICAgICAgICAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpXG4gICAgICAgICApO1xuICAgICAgfSxcbiAgIH07XG59XG4iLCAiaW1wb3J0IHsgRmlsZVN0YXR1c1Jlc3VsdCB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MnO1xuXG5leHBvcnQgY29uc3QgZnJvbVBhdGhSZWdleCA9IC9eKC4rKVxcMCguKykkLztcblxuZXhwb3J0IGNsYXNzIEZpbGVTdGF0dXNTdW1tYXJ5IGltcGxlbWVudHMgRmlsZVN0YXR1c1Jlc3VsdCB7XG4gICBwdWJsaWMgcmVhZG9ubHkgZnJvbTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyBwYXRoOiBzdHJpbmcsXG4gICAgICBwdWJsaWMgaW5kZXg6IHN0cmluZyxcbiAgICAgIHB1YmxpYyB3b3JraW5nX2Rpcjogc3RyaW5nXG4gICApIHtcbiAgICAgIGlmIChpbmRleCA9PT0gJ1InIHx8IHdvcmtpbmdfZGlyID09PSAnUicpIHtcbiAgICAgICAgIGNvbnN0IGRldGFpbCA9IGZyb21QYXRoUmVnZXguZXhlYyhwYXRoKSB8fCBbbnVsbCwgcGF0aCwgcGF0aF07XG4gICAgICAgICB0aGlzLmZyb20gPSBkZXRhaWxbMl0gfHwgJyc7XG4gICAgICAgICB0aGlzLnBhdGggPSBkZXRhaWxbMV0gfHwgJyc7XG4gICAgICB9XG4gICB9XG59XG4iLCAiaW1wb3J0IHsgU3RhdHVzUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQgeyBhcHBlbmQsIE5VTEwgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBGaWxlU3RhdHVzU3VtbWFyeSB9IGZyb20gJy4vRmlsZVN0YXR1c1N1bW1hcnknO1xuXG50eXBlIFN0YXR1c0xpbmVQYXJzZXIgPSAocmVzdWx0OiBTdGF0dXNSZXN1bHQsIGZpbGU6IHN0cmluZykgPT4gdm9pZDtcblxuZXhwb3J0IGNsYXNzIFN0YXR1c1N1bW1hcnkgaW1wbGVtZW50cyBTdGF0dXNSZXN1bHQge1xuICAgcHVibGljIG5vdF9hZGRlZCA9IFtdO1xuICAgcHVibGljIGNvbmZsaWN0ZWQgPSBbXTtcbiAgIHB1YmxpYyBjcmVhdGVkID0gW107XG4gICBwdWJsaWMgZGVsZXRlZCA9IFtdO1xuICAgcHVibGljIGlnbm9yZWQgPSB1bmRlZmluZWQ7XG4gICBwdWJsaWMgbW9kaWZpZWQgPSBbXTtcbiAgIHB1YmxpYyByZW5hbWVkID0gW107XG4gICBwdWJsaWMgZmlsZXMgPSBbXTtcbiAgIHB1YmxpYyBzdGFnZWQgPSBbXTtcbiAgIHB1YmxpYyBhaGVhZCA9IDA7XG4gICBwdWJsaWMgYmVoaW5kID0gMDtcbiAgIHB1YmxpYyBjdXJyZW50ID0gbnVsbDtcbiAgIHB1YmxpYyB0cmFja2luZyA9IG51bGw7XG4gICBwdWJsaWMgZGV0YWNoZWQgPSBmYWxzZTtcblxuICAgcHVibGljIGlzQ2xlYW4gPSAoKSA9PiB7XG4gICAgICByZXR1cm4gIXRoaXMuZmlsZXMubGVuZ3RoO1xuICAgfTtcbn1cblxuZW51bSBQb3JjZWxhaW5GaWxlU3RhdHVzIHtcbiAgIEFEREVEID0gJ0EnLFxuICAgREVMRVRFRCA9ICdEJyxcbiAgIE1PRElGSUVEID0gJ00nLFxuICAgUkVOQU1FRCA9ICdSJyxcbiAgIENPUElFRCA9ICdDJyxcbiAgIFVOTUVSR0VEID0gJ1UnLFxuICAgVU5UUkFDS0VEID0gJz8nLFxuICAgSUdOT1JFRCA9ICchJyxcbiAgIE5PTkUgPSAnICcsXG59XG5cbmZ1bmN0aW9uIHJlbmFtZWRGaWxlKGxpbmU6IHN0cmluZykge1xuICAgY29uc3QgW3RvLCBmcm9tXSA9IGxpbmUuc3BsaXQoTlVMTCk7XG5cbiAgIHJldHVybiB7XG4gICAgICBmcm9tOiBmcm9tIHx8IHRvLFxuICAgICAgdG8sXG4gICB9O1xufVxuXG5mdW5jdGlvbiBwYXJzZXIoXG4gICBpbmRleFg6IFBvcmNlbGFpbkZpbGVTdGF0dXMsXG4gICBpbmRleFk6IFBvcmNlbGFpbkZpbGVTdGF0dXMsXG4gICBoYW5kbGVyOiBTdGF0dXNMaW5lUGFyc2VyXG4pOiBbc3RyaW5nLCBTdGF0dXNMaW5lUGFyc2VyXSB7XG4gICByZXR1cm4gW2Ake2luZGV4WH0ke2luZGV4WX1gLCBoYW5kbGVyXTtcbn1cblxuZnVuY3Rpb24gY29uZmxpY3RzKGluZGV4WDogUG9yY2VsYWluRmlsZVN0YXR1cywgLi4uaW5kZXhZOiBQb3JjZWxhaW5GaWxlU3RhdHVzW10pIHtcbiAgIHJldHVybiBpbmRleFkubWFwKCh5KSA9PiBwYXJzZXIoaW5kZXhYLCB5LCAocmVzdWx0LCBmaWxlKSA9PiBhcHBlbmQocmVzdWx0LmNvbmZsaWN0ZWQsIGZpbGUpKSk7XG59XG5cbmNvbnN0IHBhcnNlcnM6IE1hcDxzdHJpbmcsIFN0YXR1c0xpbmVQYXJzZXI+ID0gbmV3IE1hcChbXG4gICBwYXJzZXIoUG9yY2VsYWluRmlsZVN0YXR1cy5OT05FLCBQb3JjZWxhaW5GaWxlU3RhdHVzLkFEREVELCAocmVzdWx0LCBmaWxlKSA9PlxuICAgICAgYXBwZW5kKHJlc3VsdC5jcmVhdGVkLCBmaWxlKVxuICAgKSxcbiAgIHBhcnNlcihQb3JjZWxhaW5GaWxlU3RhdHVzLk5PTkUsIFBvcmNlbGFpbkZpbGVTdGF0dXMuREVMRVRFRCwgKHJlc3VsdCwgZmlsZSkgPT5cbiAgICAgIGFwcGVuZChyZXN1bHQuZGVsZXRlZCwgZmlsZSlcbiAgICksXG4gICBwYXJzZXIoUG9yY2VsYWluRmlsZVN0YXR1cy5OT05FLCBQb3JjZWxhaW5GaWxlU3RhdHVzLk1PRElGSUVELCAocmVzdWx0LCBmaWxlKSA9PlxuICAgICAgYXBwZW5kKHJlc3VsdC5tb2RpZmllZCwgZmlsZSlcbiAgICksXG5cbiAgIHBhcnNlcihcbiAgICAgIFBvcmNlbGFpbkZpbGVTdGF0dXMuQURERUQsXG4gICAgICBQb3JjZWxhaW5GaWxlU3RhdHVzLk5PTkUsXG4gICAgICAocmVzdWx0LCBmaWxlKSA9PiBhcHBlbmQocmVzdWx0LmNyZWF0ZWQsIGZpbGUpICYmIGFwcGVuZChyZXN1bHQuc3RhZ2VkLCBmaWxlKVxuICAgKSxcbiAgIHBhcnNlcihcbiAgICAgIFBvcmNlbGFpbkZpbGVTdGF0dXMuQURERUQsXG4gICAgICBQb3JjZWxhaW5GaWxlU3RhdHVzLk1PRElGSUVELFxuICAgICAgKHJlc3VsdCwgZmlsZSkgPT5cbiAgICAgICAgIGFwcGVuZChyZXN1bHQuY3JlYXRlZCwgZmlsZSkgJiZcbiAgICAgICAgIGFwcGVuZChyZXN1bHQuc3RhZ2VkLCBmaWxlKSAmJlxuICAgICAgICAgYXBwZW5kKHJlc3VsdC5tb2RpZmllZCwgZmlsZSlcbiAgICksXG5cbiAgIHBhcnNlcihcbiAgICAgIFBvcmNlbGFpbkZpbGVTdGF0dXMuREVMRVRFRCxcbiAgICAgIFBvcmNlbGFpbkZpbGVTdGF0dXMuTk9ORSxcbiAgICAgIChyZXN1bHQsIGZpbGUpID0+IGFwcGVuZChyZXN1bHQuZGVsZXRlZCwgZmlsZSkgJiYgYXBwZW5kKHJlc3VsdC5zdGFnZWQsIGZpbGUpXG4gICApLFxuXG4gICBwYXJzZXIoXG4gICAgICBQb3JjZWxhaW5GaWxlU3RhdHVzLk1PRElGSUVELFxuICAgICAgUG9yY2VsYWluRmlsZVN0YXR1cy5OT05FLFxuICAgICAgKHJlc3VsdCwgZmlsZSkgPT4gYXBwZW5kKHJlc3VsdC5tb2RpZmllZCwgZmlsZSkgJiYgYXBwZW5kKHJlc3VsdC5zdGFnZWQsIGZpbGUpXG4gICApLFxuICAgcGFyc2VyKFxuICAgICAgUG9yY2VsYWluRmlsZVN0YXR1cy5NT0RJRklFRCxcbiAgICAgIFBvcmNlbGFpbkZpbGVTdGF0dXMuTU9ESUZJRUQsXG4gICAgICAocmVzdWx0LCBmaWxlKSA9PiBhcHBlbmQocmVzdWx0Lm1vZGlmaWVkLCBmaWxlKSAmJiBhcHBlbmQocmVzdWx0LnN0YWdlZCwgZmlsZSlcbiAgICksXG5cbiAgIHBhcnNlcihQb3JjZWxhaW5GaWxlU3RhdHVzLlJFTkFNRUQsIFBvcmNlbGFpbkZpbGVTdGF0dXMuTk9ORSwgKHJlc3VsdCwgZmlsZSkgPT4ge1xuICAgICAgYXBwZW5kKHJlc3VsdC5yZW5hbWVkLCByZW5hbWVkRmlsZShmaWxlKSk7XG4gICB9KSxcbiAgIHBhcnNlcihQb3JjZWxhaW5GaWxlU3RhdHVzLlJFTkFNRUQsIFBvcmNlbGFpbkZpbGVTdGF0dXMuTU9ESUZJRUQsIChyZXN1bHQsIGZpbGUpID0+IHtcbiAgICAgIGNvbnN0IHJlbmFtZWQgPSByZW5hbWVkRmlsZShmaWxlKTtcbiAgICAgIGFwcGVuZChyZXN1bHQucmVuYW1lZCwgcmVuYW1lZCk7XG4gICAgICBhcHBlbmQocmVzdWx0Lm1vZGlmaWVkLCByZW5hbWVkLnRvKTtcbiAgIH0pLFxuICAgcGFyc2VyKFBvcmNlbGFpbkZpbGVTdGF0dXMuSUdOT1JFRCwgUG9yY2VsYWluRmlsZVN0YXR1cy5JR05PUkVELCAoX3Jlc3VsdCwgX2ZpbGUpID0+IHtcbiAgICAgIGFwcGVuZCgoX3Jlc3VsdC5pZ25vcmVkID0gX3Jlc3VsdC5pZ25vcmVkIHx8IFtdKSwgX2ZpbGUpO1xuICAgfSksXG5cbiAgIHBhcnNlcihQb3JjZWxhaW5GaWxlU3RhdHVzLlVOVFJBQ0tFRCwgUG9yY2VsYWluRmlsZVN0YXR1cy5VTlRSQUNLRUQsIChyZXN1bHQsIGZpbGUpID0+XG4gICAgICBhcHBlbmQocmVzdWx0Lm5vdF9hZGRlZCwgZmlsZSlcbiAgICksXG5cbiAgIC4uLmNvbmZsaWN0cyhQb3JjZWxhaW5GaWxlU3RhdHVzLkFEREVELCBQb3JjZWxhaW5GaWxlU3RhdHVzLkFEREVELCBQb3JjZWxhaW5GaWxlU3RhdHVzLlVOTUVSR0VEKSxcbiAgIC4uLmNvbmZsaWN0cyhcbiAgICAgIFBvcmNlbGFpbkZpbGVTdGF0dXMuREVMRVRFRCxcbiAgICAgIFBvcmNlbGFpbkZpbGVTdGF0dXMuREVMRVRFRCxcbiAgICAgIFBvcmNlbGFpbkZpbGVTdGF0dXMuVU5NRVJHRURcbiAgICksXG4gICAuLi5jb25mbGljdHMoXG4gICAgICBQb3JjZWxhaW5GaWxlU3RhdHVzLlVOTUVSR0VELFxuICAgICAgUG9yY2VsYWluRmlsZVN0YXR1cy5BRERFRCxcbiAgICAgIFBvcmNlbGFpbkZpbGVTdGF0dXMuREVMRVRFRCxcbiAgICAgIFBvcmNlbGFpbkZpbGVTdGF0dXMuVU5NRVJHRURcbiAgICksXG5cbiAgIFtcbiAgICAgICcjIycsXG4gICAgICAocmVzdWx0LCBsaW5lKSA9PiB7XG4gICAgICAgICBjb25zdCBhaGVhZFJlZyA9IC9haGVhZCAoXFxkKykvO1xuICAgICAgICAgY29uc3QgYmVoaW5kUmVnID0gL2JlaGluZCAoXFxkKykvO1xuICAgICAgICAgY29uc3QgY3VycmVudFJlZyA9IC9eKC4rPyg/PSg/OlxcLnszfXxcXHN8JCkpKS87XG4gICAgICAgICBjb25zdCB0cmFja2luZ1JlZyA9IC9cXC57M30oXFxTKikvO1xuICAgICAgICAgY29uc3Qgb25FbXB0eUJyYW5jaFJlZyA9IC9cXHNvblxccyhbXFxTXSspJC87XG4gICAgICAgICBsZXQgcmVnZXhSZXN1bHQ7XG5cbiAgICAgICAgIHJlZ2V4UmVzdWx0ID0gYWhlYWRSZWcuZXhlYyhsaW5lKTtcbiAgICAgICAgIHJlc3VsdC5haGVhZCA9IChyZWdleFJlc3VsdCAmJiArcmVnZXhSZXN1bHRbMV0pIHx8IDA7XG5cbiAgICAgICAgIHJlZ2V4UmVzdWx0ID0gYmVoaW5kUmVnLmV4ZWMobGluZSk7XG4gICAgICAgICByZXN1bHQuYmVoaW5kID0gKHJlZ2V4UmVzdWx0ICYmICtyZWdleFJlc3VsdFsxXSkgfHwgMDtcblxuICAgICAgICAgcmVnZXhSZXN1bHQgPSBjdXJyZW50UmVnLmV4ZWMobGluZSk7XG4gICAgICAgICByZXN1bHQuY3VycmVudCA9IHJlZ2V4UmVzdWx0ICYmIHJlZ2V4UmVzdWx0WzFdO1xuXG4gICAgICAgICByZWdleFJlc3VsdCA9IHRyYWNraW5nUmVnLmV4ZWMobGluZSk7XG4gICAgICAgICByZXN1bHQudHJhY2tpbmcgPSByZWdleFJlc3VsdCAmJiByZWdleFJlc3VsdFsxXTtcblxuICAgICAgICAgcmVnZXhSZXN1bHQgPSBvbkVtcHR5QnJhbmNoUmVnLmV4ZWMobGluZSk7XG4gICAgICAgICByZXN1bHQuY3VycmVudCA9IChyZWdleFJlc3VsdCAmJiByZWdleFJlc3VsdFsxXSkgfHwgcmVzdWx0LmN1cnJlbnQ7XG5cbiAgICAgICAgIHJlc3VsdC5kZXRhY2hlZCA9IC9cXChubyBicmFuY2hcXCkvLnRlc3QobGluZSk7XG4gICAgICB9LFxuICAgXSxcbl0pO1xuXG5leHBvcnQgY29uc3QgcGFyc2VTdGF0dXNTdW1tYXJ5ID0gZnVuY3Rpb24gKHRleHQ6IHN0cmluZyk6IFN0YXR1c1Jlc3VsdCB7XG4gICBjb25zdCBsaW5lcyA9IHRleHQuc3BsaXQoTlVMTCk7XG4gICBjb25zdCBzdGF0dXMgPSBuZXcgU3RhdHVzU3VtbWFyeSgpO1xuXG4gICBmb3IgKGxldCBpID0gMCwgbCA9IGxpbmVzLmxlbmd0aDsgaSA8IGw7ICkge1xuICAgICAgbGV0IGxpbmUgPSBsaW5lc1tpKytdLnRyaW0oKTtcblxuICAgICAgaWYgKCFsaW5lKSB7XG4gICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgaWYgKGxpbmUuY2hhckF0KDApID09PSBQb3JjZWxhaW5GaWxlU3RhdHVzLlJFTkFNRUQpIHtcbiAgICAgICAgIGxpbmUgKz0gTlVMTCArIChsaW5lc1tpKytdIHx8ICcnKTtcbiAgICAgIH1cblxuICAgICAgc3BsaXRMaW5lKHN0YXR1cywgbGluZSk7XG4gICB9XG5cbiAgIHJldHVybiBzdGF0dXM7XG59O1xuXG5mdW5jdGlvbiBzcGxpdExpbmUocmVzdWx0OiBTdGF0dXNSZXN1bHQsIGxpbmVTdHI6IHN0cmluZykge1xuICAgY29uc3QgdHJpbW1lZCA9IGxpbmVTdHIudHJpbSgpO1xuICAgc3dpdGNoICgnICcpIHtcbiAgICAgIGNhc2UgdHJpbW1lZC5jaGFyQXQoMik6XG4gICAgICAgICByZXR1cm4gZGF0YSh0cmltbWVkLmNoYXJBdCgwKSwgdHJpbW1lZC5jaGFyQXQoMSksIHRyaW1tZWQuc3Vic3RyKDMpKTtcbiAgICAgIGNhc2UgdHJpbW1lZC5jaGFyQXQoMSk6XG4gICAgICAgICByZXR1cm4gZGF0YShQb3JjZWxhaW5GaWxlU3RhdHVzLk5PTkUsIHRyaW1tZWQuY2hhckF0KDApLCB0cmltbWVkLnN1YnN0cigyKSk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICAgcmV0dXJuO1xuICAgfVxuXG4gICBmdW5jdGlvbiBkYXRhKGluZGV4OiBzdHJpbmcsIHdvcmtpbmdEaXI6IHN0cmluZywgcGF0aDogc3RyaW5nKSB7XG4gICAgICBjb25zdCByYXcgPSBgJHtpbmRleH0ke3dvcmtpbmdEaXJ9YDtcbiAgICAgIGNvbnN0IGhhbmRsZXIgPSBwYXJzZXJzLmdldChyYXcpO1xuXG4gICAgICBpZiAoaGFuZGxlcikge1xuICAgICAgICAgaGFuZGxlcihyZXN1bHQsIHBhdGgpO1xuICAgICAgfVxuXG4gICAgICBpZiAocmF3ICE9PSAnIyMnICYmIHJhdyAhPT0gJyEhJykge1xuICAgICAgICAgcmVzdWx0LmZpbGVzLnB1c2gobmV3IEZpbGVTdGF0dXNTdW1tYXJ5KHBhdGgsIGluZGV4LCB3b3JraW5nRGlyKSk7XG4gICAgICB9XG4gICB9XG59XG4iLCAiaW1wb3J0IHsgU3RhdHVzUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQgeyBwYXJzZVN0YXR1c1N1bW1hcnkgfSBmcm9tICcuLi9yZXNwb25zZXMvU3RhdHVzU3VtbWFyeSc7XG5pbXBvcnQgeyBTdHJpbmdUYXNrIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCBpZ25vcmVkT3B0aW9ucyA9IFsnLS1udWxsJywgJy16J107XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGF0dXNUYXNrKGN1c3RvbUFyZ3M6IHN0cmluZ1tdKTogU3RyaW5nVGFzazxTdGF0dXNSZXN1bHQ+IHtcbiAgIGNvbnN0IGNvbW1hbmRzID0gW1xuICAgICAgJ3N0YXR1cycsXG4gICAgICAnLS1wb3JjZWxhaW4nLFxuICAgICAgJy1iJyxcbiAgICAgICctdScsXG4gICAgICAnLS1udWxsJyxcbiAgICAgIC4uLmN1c3RvbUFyZ3MuZmlsdGVyKChhcmcpID0+ICFpZ25vcmVkT3B0aW9ucy5pbmNsdWRlcyhhcmcpKSxcbiAgIF07XG5cbiAgIHJldHVybiB7XG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBjb21tYW5kcyxcbiAgICAgIHBhcnNlcih0ZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgIHJldHVybiBwYXJzZVN0YXR1c1N1bW1hcnkodGV4dCk7XG4gICAgICB9LFxuICAgfTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IFNpbXBsZUdpdEFwaSB9IGZyb20gJy4uL3NpbXBsZS1naXQtYXBpJztcbmltcG9ydCB0eXBlIHsgU2ltcGxlR2l0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQgeyBhc051bWJlciwgRXhpdENvZGVzLCBMaW5lUGFyc2VyLCBwYXJzZVN0cmluZ1Jlc3BvbnNlIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFZlcnNpb25SZXN1bHQge1xuICAgbWFqb3I6IG51bWJlcjtcbiAgIG1pbm9yOiBudW1iZXI7XG4gICBwYXRjaDogbnVtYmVyIHwgc3RyaW5nO1xuICAgYWdlbnQ6IHN0cmluZztcbiAgIGluc3RhbGxlZDogYm9vbGVhbjtcbn1cblxuY29uc3QgTk9UX0lOU1RBTExFRCA9ICdpbnN0YWxsZWQ9ZmFsc2UnO1xuXG5mdW5jdGlvbiB2ZXJzaW9uUmVzcG9uc2UoXG4gICBtYWpvciA9IDAsXG4gICBtaW5vciA9IDAsXG4gICBwYXRjaDogc3RyaW5nIHwgbnVtYmVyID0gMCxcbiAgIGFnZW50ID0gJycsXG4gICBpbnN0YWxsZWQgPSB0cnVlXG4pOiBWZXJzaW9uUmVzdWx0IHtcbiAgIHJldHVybiBPYmplY3QuZGVmaW5lUHJvcGVydHkoXG4gICAgICB7XG4gICAgICAgICBtYWpvcixcbiAgICAgICAgIG1pbm9yLFxuICAgICAgICAgcGF0Y2gsXG4gICAgICAgICBhZ2VudCxcbiAgICAgICAgIGluc3RhbGxlZCxcbiAgICAgIH0sXG4gICAgICAndG9TdHJpbmcnLFxuICAgICAge1xuICAgICAgICAgdmFsdWUoKSB7XG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5tYWpvcn0uJHt0aGlzLm1pbm9yfS4ke3RoaXMucGF0Y2h9YDtcbiAgICAgICAgIH0sXG4gICAgICAgICBjb25maWd1cmFibGU6IGZhbHNlLFxuICAgICAgICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgICB9XG4gICApO1xufVxuXG5mdW5jdGlvbiBub3RJbnN0YWxsZWRSZXNwb25zZSgpIHtcbiAgIHJldHVybiB2ZXJzaW9uUmVzcG9uc2UoMCwgMCwgMCwgJycsIGZhbHNlKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKCk6IFBpY2s8U2ltcGxlR2l0LCAndmVyc2lvbic+IHtcbiAgIHJldHVybiB7XG4gICAgICB2ZXJzaW9uKHRoaXM6IFNpbXBsZUdpdEFwaSkge1xuICAgICAgICAgcmV0dXJuIHRoaXMuX3J1blRhc2soe1xuICAgICAgICAgICAgY29tbWFuZHM6IFsnLS12ZXJzaW9uJ10sXG4gICAgICAgICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICAgICAgICBwYXJzZXI6IHZlcnNpb25QYXJzZXIsXG4gICAgICAgICAgICBvbkVycm9yKHJlc3VsdCwgZXJyb3IsIGRvbmUsIGZhaWwpIHtcbiAgICAgICAgICAgICAgIGlmIChyZXN1bHQuZXhpdENvZGUgPT09IEV4aXRDb2Rlcy5OT1RfRk9VTkQpIHtcbiAgICAgICAgICAgICAgICAgIHJldHVybiBkb25lKEJ1ZmZlci5mcm9tKE5PVF9JTlNUQUxMRUQpKTtcbiAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgZmFpbChlcnJvcik7XG4gICAgICAgICAgICB9LFxuICAgICAgICAgfSk7XG4gICAgICB9LFxuICAgfTtcbn1cblxuY29uc3QgcGFyc2VyczogTGluZVBhcnNlcjxWZXJzaW9uUmVzdWx0PltdID0gW1xuICAgbmV3IExpbmVQYXJzZXIoXG4gICAgICAvdmVyc2lvbiAoXFxkKylcXC4oXFxkKylcXC4oXFxkKykoPzpcXHMqXFwoKC4rKVxcKSk/LyxcbiAgICAgIChyZXN1bHQsIFttYWpvciwgbWlub3IsIHBhdGNoLCBhZ2VudCA9ICcnXSkgPT4ge1xuICAgICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICAgIHJlc3VsdCxcbiAgICAgICAgICAgIHZlcnNpb25SZXNwb25zZShhc051bWJlcihtYWpvciksIGFzTnVtYmVyKG1pbm9yKSwgYXNOdW1iZXIocGF0Y2gpLCBhZ2VudClcbiAgICAgICAgICk7XG4gICAgICB9XG4gICApLFxuICAgbmV3IExpbmVQYXJzZXIoXG4gICAgICAvdmVyc2lvbiAoXFxkKylcXC4oXFxkKylcXC4oXFxEKykoLispPyQvLFxuICAgICAgKHJlc3VsdCwgW21ham9yLCBtaW5vciwgcGF0Y2gsIGFnZW50ID0gJyddKSA9PiB7XG4gICAgICAgICBPYmplY3QuYXNzaWduKHJlc3VsdCwgdmVyc2lvblJlc3BvbnNlKGFzTnVtYmVyKG1ham9yKSwgYXNOdW1iZXIobWlub3IpLCBwYXRjaCwgYWdlbnQpKTtcbiAgICAgIH1cbiAgICksXG5dO1xuXG5mdW5jdGlvbiB2ZXJzaW9uUGFyc2VyKHN0ZE91dDogc3RyaW5nKSB7XG4gICBpZiAoc3RkT3V0ID09PSBOT1RfSU5TVEFMTEVEKSB7XG4gICAgICByZXR1cm4gbm90SW5zdGFsbGVkUmVzcG9uc2UoKTtcbiAgIH1cblxuICAgcmV0dXJuIHBhcnNlU3RyaW5nUmVzcG9uc2UodmVyc2lvblJlc3BvbnNlKDAsIDAsIDAsIHN0ZE91dCksIHBhcnNlcnMsIHN0ZE91dCk7XG59XG4iLCAiaW1wb3J0IHsgU2ltcGxlR2l0QmFzZSB9IGZyb20gJy4uLy4uL3R5cGluZ3MnO1xuaW1wb3J0IHsgdGFza0NhbGxiYWNrIH0gZnJvbSAnLi90YXNrLWNhbGxiYWNrJztcbmltcG9ydCB7IGNoYW5nZVdvcmtpbmdEaXJlY3RvcnlUYXNrIH0gZnJvbSAnLi90YXNrcy9jaGFuZ2Utd29ya2luZy1kaXJlY3RvcnknO1xuaW1wb3J0IGNoZWNrb3V0IGZyb20gJy4vdGFza3MvY2hlY2tvdXQnO1xuaW1wb3J0IGNvdW50T2JqZWN0cyBmcm9tICcuL3Rhc2tzL2NvdW50LW9iamVjdHMnO1xuaW1wb3J0IGNvbW1pdCBmcm9tICcuL3Rhc2tzL2NvbW1pdCc7XG5pbXBvcnQgY29uZmlnIGZyb20gJy4vdGFza3MvY29uZmlnJztcbmltcG9ydCBmaXJzdENvbW1pdCBmcm9tICcuL3Rhc2tzL2ZpcnN0LWNvbW1pdCc7XG5pbXBvcnQgZ3JlcCBmcm9tICcuL3Rhc2tzL2dyZXAnO1xuaW1wb3J0IHsgaGFzaE9iamVjdFRhc2sgfSBmcm9tICcuL3Rhc2tzL2hhc2gtb2JqZWN0JztcbmltcG9ydCB7IGluaXRUYXNrIH0gZnJvbSAnLi90YXNrcy9pbml0JztcbmltcG9ydCBsb2cgZnJvbSAnLi90YXNrcy9sb2cnO1xuaW1wb3J0IHsgbWVyZ2VUYXNrIH0gZnJvbSAnLi90YXNrcy9tZXJnZSc7XG5pbXBvcnQgeyBwdXNoVGFzayB9IGZyb20gJy4vdGFza3MvcHVzaCc7XG5pbXBvcnQgc2hvdyBmcm9tICcuL3Rhc2tzL3Nob3cnO1xuaW1wb3J0IHsgc3RhdHVzVGFzayB9IGZyb20gJy4vdGFza3Mvc3RhdHVzJztcbmltcG9ydCB7IGNvbmZpZ3VyYXRpb25FcnJvclRhc2ssIHN0cmFpZ2h0VGhyb3VnaFN0cmluZ1Rhc2sgfSBmcm9tICcuL3Rhc2tzL3Rhc2snO1xuaW1wb3J0IHZlcnNpb24gZnJvbSAnLi90YXNrcy92ZXJzaW9uJztcbmltcG9ydCB7IG91dHB1dEhhbmRsZXIsIFNpbXBsZUdpdEV4ZWN1dG9yLCBTaW1wbGVHaXRUYXNrLCBTaW1wbGVHaXRUYXNrQ2FsbGJhY2sgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7XG4gICBhc0FycmF5LFxuICAgZmlsdGVyU3RyaW5nLFxuICAgZmlsdGVyVHlwZSxcbiAgIGdldFRyYWlsaW5nT3B0aW9ucyxcbiAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudCxcbn0gZnJvbSAnLi91dGlscyc7XG5cbmV4cG9ydCBjbGFzcyBTaW1wbGVHaXRBcGkgaW1wbGVtZW50cyBTaW1wbGVHaXRCYXNlIHtcbiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgX2V4ZWN1dG9yOiBTaW1wbGVHaXRFeGVjdXRvcikge31cblxuICAgcHJvdGVjdGVkIF9ydW5UYXNrPFQ+KHRhc2s6IFNpbXBsZUdpdFRhc2s8VD4sIHRoZW4/OiBTaW1wbGVHaXRUYXNrQ2FsbGJhY2s8VD4pIHtcbiAgICAgIGNvbnN0IGNoYWluID0gdGhpcy5fZXhlY3V0b3IuY2hhaW4oKTtcbiAgICAgIGNvbnN0IHByb21pc2UgPSBjaGFpbi5wdXNoKHRhc2spO1xuXG4gICAgICBpZiAodGhlbikge1xuICAgICAgICAgdGFza0NhbGxiYWNrKHRhc2ssIHByb21pc2UsIHRoZW4pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gT2JqZWN0LmNyZWF0ZSh0aGlzLCB7XG4gICAgICAgICB0aGVuOiB7IHZhbHVlOiBwcm9taXNlLnRoZW4uYmluZChwcm9taXNlKSB9LFxuICAgICAgICAgY2F0Y2g6IHsgdmFsdWU6IHByb21pc2UuY2F0Y2guYmluZChwcm9taXNlKSB9LFxuICAgICAgICAgX2V4ZWN1dG9yOiB7IHZhbHVlOiBjaGFpbiB9LFxuICAgICAgfSk7XG4gICB9XG5cbiAgIGFkZChmaWxlczogc3RyaW5nIHwgc3RyaW5nW10pIHtcbiAgICAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgICAgc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayhbJ2FkZCcsIC4uLmFzQXJyYXkoZmlsZXMpXSksXG4gICAgICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgICAgKTtcbiAgIH1cblxuICAgY3dkKGRpcmVjdG9yeTogc3RyaW5nIHwgeyBwYXRoOiBzdHJpbmc7IHJvb3Q/OiBib29sZWFuIH0pIHtcbiAgICAgIGNvbnN0IG5leHQgPSB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKTtcblxuICAgICAgaWYgKHR5cGVvZiBkaXJlY3RvcnkgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICByZXR1cm4gdGhpcy5fcnVuVGFzayhjaGFuZ2VXb3JraW5nRGlyZWN0b3J5VGFzayhkaXJlY3RvcnksIHRoaXMuX2V4ZWN1dG9yKSwgbmV4dCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgZGlyZWN0b3J5Py5wYXRoID09PSAnc3RyaW5nJykge1xuICAgICAgICAgcmV0dXJuIHRoaXMuX3J1blRhc2soXG4gICAgICAgICAgICBjaGFuZ2VXb3JraW5nRGlyZWN0b3J5VGFzayhcbiAgICAgICAgICAgICAgIGRpcmVjdG9yeS5wYXRoLFxuICAgICAgICAgICAgICAgKGRpcmVjdG9yeS5yb290ICYmIHRoaXMuX2V4ZWN1dG9yKSB8fCB1bmRlZmluZWRcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICBuZXh0XG4gICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgICAgIGNvbmZpZ3VyYXRpb25FcnJvclRhc2soJ0dpdC5jd2Q6IHdvcmtpbmdEaXJlY3RvcnkgbXVzdCBiZSBzdXBwbGllZCBhcyBhIHN0cmluZycpLFxuICAgICAgICAgbmV4dFxuICAgICAgKTtcbiAgIH1cblxuICAgaGFzaE9iamVjdChwYXRoOiBzdHJpbmcsIHdyaXRlOiBib29sZWFuIHwgdW5rbm93bikge1xuICAgICAgcmV0dXJuIHRoaXMuX3J1blRhc2soXG4gICAgICAgICBoYXNoT2JqZWN0VGFzayhwYXRoLCB3cml0ZSA9PT0gdHJ1ZSksXG4gICAgICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgICAgKTtcbiAgIH1cblxuICAgaW5pdChiYXJlPzogYm9vbGVhbiB8IHVua25vd24pIHtcbiAgICAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgICAgaW5pdFRhc2soYmFyZSA9PT0gdHJ1ZSwgdGhpcy5fZXhlY3V0b3IuY3dkLCBnZXRUcmFpbGluZ09wdGlvbnMoYXJndW1lbnRzKSksXG4gICAgICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgICAgKTtcbiAgIH1cblxuICAgbWVyZ2UoKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgICAgIG1lcmdlVGFzayhnZXRUcmFpbGluZ09wdGlvbnMoYXJndW1lbnRzKSksXG4gICAgICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgICAgKTtcbiAgIH1cblxuICAgbWVyZ2VGcm9tVG8ocmVtb3RlOiBzdHJpbmcsIGJyYW5jaDogc3RyaW5nKSB7XG4gICAgICBpZiAoIShmaWx0ZXJTdHJpbmcocmVtb3RlKSAmJiBmaWx0ZXJTdHJpbmcoYnJhbmNoKSkpIHtcbiAgICAgICAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgICAgICAgY29uZmlndXJhdGlvbkVycm9yVGFzayhcbiAgICAgICAgICAgICAgIGBHaXQubWVyZ2VGcm9tVG8gcmVxdWlyZXMgdGhhdCB0aGUgJ3JlbW90ZScgYW5kICdicmFuY2gnIGFyZ3VtZW50cyBhcmUgc3VwcGxpZWQgYXMgc3RyaW5nc2BcbiAgICAgICAgICAgIClcbiAgICAgICAgICk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgICAgbWVyZ2VUYXNrKFtyZW1vdGUsIGJyYW5jaCwgLi4uZ2V0VHJhaWxpbmdPcHRpb25zKGFyZ3VtZW50cyldKSxcbiAgICAgICAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMsIGZhbHNlKVxuICAgICAgKTtcbiAgIH1cblxuICAgb3V0cHV0SGFuZGxlcihoYW5kbGVyOiBvdXRwdXRIYW5kbGVyKSB7XG4gICAgICB0aGlzLl9leGVjdXRvci5vdXRwdXRIYW5kbGVyID0gaGFuZGxlcjtcbiAgICAgIHJldHVybiB0aGlzO1xuICAgfVxuXG4gICBwdXNoKCkge1xuICAgICAgY29uc3QgdGFzayA9IHB1c2hUYXNrKFxuICAgICAgICAge1xuICAgICAgICAgICAgcmVtb3RlOiBmaWx0ZXJUeXBlKGFyZ3VtZW50c1swXSwgZmlsdGVyU3RyaW5nKSxcbiAgICAgICAgICAgIGJyYW5jaDogZmlsdGVyVHlwZShhcmd1bWVudHNbMV0sIGZpbHRlclN0cmluZyksXG4gICAgICAgICB9LFxuICAgICAgICAgZ2V0VHJhaWxpbmdPcHRpb25zKGFyZ3VtZW50cylcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiB0aGlzLl9ydW5UYXNrKHRhc2ssIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpKTtcbiAgIH1cblxuICAgc3Rhc2goKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgICAgIHN0cmFpZ2h0VGhyb3VnaFN0cmluZ1Rhc2soWydzdGFzaCcsIC4uLmdldFRyYWlsaW5nT3B0aW9ucyhhcmd1bWVudHMpXSksXG4gICAgICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgICAgKTtcbiAgIH1cblxuICAgc3RhdHVzKCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3J1blRhc2soXG4gICAgICAgICBzdGF0dXNUYXNrKGdldFRyYWlsaW5nT3B0aW9ucyhhcmd1bWVudHMpKSxcbiAgICAgICAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpXG4gICAgICApO1xuICAgfVxufVxuXG5PYmplY3QuYXNzaWduKFxuICAgU2ltcGxlR2l0QXBpLnByb3RvdHlwZSxcbiAgIGNoZWNrb3V0KCksXG4gICBjb21taXQoKSxcbiAgIGNvbmZpZygpLFxuICAgY291bnRPYmplY3RzKCksXG4gICBmaXJzdENvbW1pdCgpLFxuICAgZ3JlcCgpLFxuICAgbG9nKCksXG4gICBzaG93KCksXG4gICB2ZXJzaW9uKClcbik7XG4iLCAiaW1wb3J0IHsgYXBwZW5kLCByZW1vdmUgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBjcmVhdGVEZWZlcnJlZCwgRGVmZXJyZWRQcm9taXNlIH0gZnJvbSAnQGt3c2l0ZXMvcHJvbWlzZS1kZWZlcnJlZCc7XG5pbXBvcnQgeyBjcmVhdGVMb2dnZXIgfSBmcm9tICcuLi9naXQtbG9nZ2VyJztcblxudHlwZSBTY2hlZHVsZUNvbXBsZXRlQ2FsbGJhY2sgPSAoKSA9PiB2b2lkO1xudHlwZSBTY2hlZHVsZWRUYXNrID0gUGljazxEZWZlcnJlZFByb21pc2U8U2NoZWR1bGVDb21wbGV0ZUNhbGxiYWNrPiwgJ3Byb21pc2UnIHwgJ2RvbmUnPiAmIHtcbiAgIGlkOiBudW1iZXI7XG59O1xuXG5jb25zdCBjcmVhdGVTY2hlZHVsZWRUYXNrOiAoKSA9PiBTY2hlZHVsZWRUYXNrID0gKCgpID0+IHtcbiAgIGxldCBpZCA9IDA7XG4gICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWQrKztcbiAgICAgIGNvbnN0IHsgcHJvbWlzZSwgZG9uZSB9ID0gY3JlYXRlRGVmZXJyZWQ8U2NoZWR1bGVDb21wbGV0ZUNhbGxiYWNrPigpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAgcHJvbWlzZSxcbiAgICAgICAgIGRvbmUsXG4gICAgICAgICBpZCxcbiAgICAgIH07XG4gICB9O1xufSkoKTtcblxuZXhwb3J0IGNsYXNzIFNjaGVkdWxlciB7XG4gICBwcml2YXRlIGxvZ2dlciA9IGNyZWF0ZUxvZ2dlcignJywgJ3NjaGVkdWxlcicpO1xuICAgcHJpdmF0ZSBwZW5kaW5nOiBTY2hlZHVsZWRUYXNrW10gPSBbXTtcbiAgIHByaXZhdGUgcnVubmluZzogU2NoZWR1bGVkVGFza1tdID0gW107XG5cbiAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY29uY3VycmVuY3kgPSAyKSB7XG4gICAgICB0aGlzLmxvZ2dlcihgQ29uc3RydWN0ZWQsIGNvbmN1cnJlbmN5PSVzYCwgY29uY3VycmVuY3kpO1xuICAgfVxuXG4gICBwcml2YXRlIHNjaGVkdWxlKCkge1xuICAgICAgaWYgKCF0aGlzLnBlbmRpbmcubGVuZ3RoIHx8IHRoaXMucnVubmluZy5sZW5ndGggPj0gdGhpcy5jb25jdXJyZW5jeSkge1xuICAgICAgICAgdGhpcy5sb2dnZXIoXG4gICAgICAgICAgICBgU2NoZWR1bGUgYXR0ZW1wdCBpZ25vcmVkLCBwZW5kaW5nPSVzIHJ1bm5pbmc9JXMgY29uY3VycmVuY3k9JXNgLFxuICAgICAgICAgICAgdGhpcy5wZW5kaW5nLmxlbmd0aCxcbiAgICAgICAgICAgIHRoaXMucnVubmluZy5sZW5ndGgsXG4gICAgICAgICAgICB0aGlzLmNvbmN1cnJlbmN5XG4gICAgICAgICApO1xuICAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0YXNrID0gYXBwZW5kKHRoaXMucnVubmluZywgdGhpcy5wZW5kaW5nLnNoaWZ0KCkhKTtcbiAgICAgIHRoaXMubG9nZ2VyKGBBdHRlbXB0aW5nIGlkPSVzYCwgdGFzay5pZCk7XG4gICAgICB0YXNrLmRvbmUoKCkgPT4ge1xuICAgICAgICAgdGhpcy5sb2dnZXIoYENvbXBsZXRpbmcgaWQ9YCwgdGFzay5pZCk7XG4gICAgICAgICByZW1vdmUodGhpcy5ydW5uaW5nLCB0YXNrKTtcbiAgICAgICAgIHRoaXMuc2NoZWR1bGUoKTtcbiAgICAgIH0pO1xuICAgfVxuXG4gICBuZXh0KCk6IFByb21pc2U8U2NoZWR1bGVDb21wbGV0ZUNhbGxiYWNrPiB7XG4gICAgICBjb25zdCB7IHByb21pc2UsIGlkIH0gPSBhcHBlbmQodGhpcy5wZW5kaW5nLCBjcmVhdGVTY2hlZHVsZWRUYXNrKCkpO1xuICAgICAgdGhpcy5sb2dnZXIoYFNjaGVkdWxpbmcgaWQ9JXNgLCBpZCk7XG5cbiAgICAgIHRoaXMuc2NoZWR1bGUoKTtcblxuICAgICAgcmV0dXJuIHByb21pc2U7XG4gICB9XG59XG4iLCAiaW1wb3J0IHsgc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayB9IGZyb20gJy4vdGFzayc7XG5pbXBvcnQgeyBPcHRpb25GbGFncywgT3B0aW9ucywgU3RyaW5nVGFzayB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IHR5cGUgQXBwbHlPcHRpb25zID0gT3B0aW9ucyAmXG4gICBPcHRpb25GbGFnczxcbiAgICAgIHwgJy0tc3RhdCdcbiAgICAgIHwgJy0tbnVtc3RhdCdcbiAgICAgIHwgJy0tc3VtbWFyeSdcbiAgICAgIHwgJy0tY2hlY2snXG4gICAgICB8ICctLWluZGV4J1xuICAgICAgfCAnLS1pbnRlbnQtdG8tYWRkJ1xuICAgICAgfCAnLS0zd2F5J1xuICAgICAgfCAnLS1hcHBseSdcbiAgICAgIHwgJy0tbm8tYWRkJ1xuICAgICAgfCAnLVInXG4gICAgICB8ICctLXJldmVyc2UnXG4gICAgICB8ICctLWFsbG93LWJpbmFyeS1yZXBsYWNlbWVudCdcbiAgICAgIHwgJy0tYmluYXJ5J1xuICAgICAgfCAnLS1yZWplY3QnXG4gICAgICB8ICcteidcbiAgICAgIHwgJy0taW5hY2N1cmF0ZS1lb2YnXG4gICAgICB8ICctLXJlY291bnQnXG4gICAgICB8ICctLWNhY2hlZCdcbiAgICAgIHwgJy0taWdub3JlLXNwYWNlLWNoYW5nZSdcbiAgICAgIHwgJy0taWdub3JlLXdoaXRlc3BhY2UnXG4gICAgICB8ICctLXZlcmJvc2UnXG4gICAgICB8ICctLXVuc2FmZS1wYXRocydcbiAgID4gJlxuICAgT3B0aW9uRmxhZ3M8Jy0td2hpdGVzcGFjZScsICdub3dhcm4nIHwgJ3dhcm4nIHwgJ2ZpeCcgfCAnZXJyb3InIHwgJ2Vycm9yLWFsbCc+ICZcbiAgIE9wdGlvbkZsYWdzPCctLWJ1aWxkLWZha2UtYW5jZXN0b3InIHwgJy0tZXhjbHVkZScgfCAnLS1pbmNsdWRlJyB8ICctLWRpcmVjdG9yeScsIHN0cmluZz4gJlxuICAgT3B0aW9uRmxhZ3M8Jy1wJyB8ICctQycsIG51bWJlcj47XG5cbmV4cG9ydCBmdW5jdGlvbiBhcHBseVBhdGNoVGFzayhwYXRjaGVzOiBzdHJpbmdbXSwgY3VzdG9tQXJnczogc3RyaW5nW10pOiBTdHJpbmdUYXNrPHN0cmluZz4ge1xuICAgcmV0dXJuIHN0cmFpZ2h0VGhyb3VnaFN0cmluZ1Rhc2soWydhcHBseScsIC4uLmN1c3RvbUFyZ3MsIC4uLnBhdGNoZXNdKTtcbn1cbiIsICJpbXBvcnQge1xuICAgQnJhbmNoTXVsdGlEZWxldGVSZXN1bHQsXG4gICBCcmFuY2hTaW5nbGVEZWxldGVGYWlsdXJlLFxuICAgQnJhbmNoU2luZ2xlRGVsZXRlUmVzdWx0LFxuICAgQnJhbmNoU2luZ2xlRGVsZXRlU3VjY2Vzcyxcbn0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5cbmV4cG9ydCBjbGFzcyBCcmFuY2hEZWxldGlvbkJhdGNoIGltcGxlbWVudHMgQnJhbmNoTXVsdGlEZWxldGVSZXN1bHQge1xuICAgYWxsOiBCcmFuY2hTaW5nbGVEZWxldGVSZXN1bHRbXSA9IFtdO1xuICAgYnJhbmNoZXM6IHsgW2JyYW5jaE5hbWU6IHN0cmluZ106IEJyYW5jaFNpbmdsZURlbGV0ZVJlc3VsdCB9ID0ge307XG4gICBlcnJvcnM6IEJyYW5jaFNpbmdsZURlbGV0ZVJlc3VsdFtdID0gW107XG5cbiAgIGdldCBzdWNjZXNzKCk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuICF0aGlzLmVycm9ycy5sZW5ndGg7XG4gICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBicmFuY2hEZWxldGlvblN1Y2Nlc3MoYnJhbmNoOiBzdHJpbmcsIGhhc2g6IHN0cmluZyk6IEJyYW5jaFNpbmdsZURlbGV0ZVN1Y2Nlc3Mge1xuICAgcmV0dXJuIHtcbiAgICAgIGJyYW5jaCxcbiAgICAgIGhhc2gsXG4gICAgICBzdWNjZXNzOiB0cnVlLFxuICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJyYW5jaERlbGV0aW9uRmFpbHVyZShicmFuY2g6IHN0cmluZyk6IEJyYW5jaFNpbmdsZURlbGV0ZUZhaWx1cmUge1xuICAgcmV0dXJuIHtcbiAgICAgIGJyYW5jaCxcbiAgICAgIGhhc2g6IG51bGwsXG4gICAgICBzdWNjZXNzOiBmYWxzZSxcbiAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NpbmdsZUJyYW5jaERlbGV0ZUZhaWx1cmUoXG4gICB0ZXN0OiBCcmFuY2hTaW5nbGVEZWxldGVSZXN1bHRcbik6IHRlc3QgaXMgQnJhbmNoU2luZ2xlRGVsZXRlU3VjY2VzcyB7XG4gICByZXR1cm4gdGVzdC5zdWNjZXNzO1xufVxuIiwgImltcG9ydCB7IEJyYW5jaE11bHRpRGVsZXRlUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQge1xuICAgQnJhbmNoRGVsZXRpb25CYXRjaCxcbiAgIGJyYW5jaERlbGV0aW9uRmFpbHVyZSxcbiAgIGJyYW5jaERlbGV0aW9uU3VjY2Vzcyxcbn0gZnJvbSAnLi4vcmVzcG9uc2VzL0JyYW5jaERlbGV0ZVN1bW1hcnknO1xuaW1wb3J0IHsgVGFza1BhcnNlciB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEV4aXRDb2RlcywgTGluZVBhcnNlciwgcGFyc2VTdHJpbmdSZXNwb25zZSB9IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgZGVsZXRlU3VjY2Vzc1JlZ2V4ID0gLyhcXFMrKVxccytcXChcXFMrXFxzKFteKV0rKVxcKS87XG5jb25zdCBkZWxldGVFcnJvclJlZ2V4ID0gL15lcnJvclteJ10rJyhbXiddKyknL207XG5cbmNvbnN0IHBhcnNlcnM6IExpbmVQYXJzZXI8QnJhbmNoTXVsdGlEZWxldGVSZXN1bHQ+W10gPSBbXG4gICBuZXcgTGluZVBhcnNlcihkZWxldGVTdWNjZXNzUmVnZXgsIChyZXN1bHQsIFticmFuY2gsIGhhc2hdKSA9PiB7XG4gICAgICBjb25zdCBkZWxldGlvbiA9IGJyYW5jaERlbGV0aW9uU3VjY2VzcyhicmFuY2gsIGhhc2gpO1xuXG4gICAgICByZXN1bHQuYWxsLnB1c2goZGVsZXRpb24pO1xuICAgICAgcmVzdWx0LmJyYW5jaGVzW2JyYW5jaF0gPSBkZWxldGlvbjtcbiAgIH0pLFxuICAgbmV3IExpbmVQYXJzZXIoZGVsZXRlRXJyb3JSZWdleCwgKHJlc3VsdCwgW2JyYW5jaF0pID0+IHtcbiAgICAgIGNvbnN0IGRlbGV0aW9uID0gYnJhbmNoRGVsZXRpb25GYWlsdXJlKGJyYW5jaCk7XG5cbiAgICAgIHJlc3VsdC5lcnJvcnMucHVzaChkZWxldGlvbik7XG4gICAgICByZXN1bHQuYWxsLnB1c2goZGVsZXRpb24pO1xuICAgICAgcmVzdWx0LmJyYW5jaGVzW2JyYW5jaF0gPSBkZWxldGlvbjtcbiAgIH0pLFxuXTtcblxuZXhwb3J0IGNvbnN0IHBhcnNlQnJhbmNoRGVsZXRpb25zOiBUYXNrUGFyc2VyPHN0cmluZywgQnJhbmNoTXVsdGlEZWxldGVSZXN1bHQ+ID0gKFxuICAgc3RkT3V0LFxuICAgc3RkRXJyXG4pID0+IHtcbiAgIHJldHVybiBwYXJzZVN0cmluZ1Jlc3BvbnNlKG5ldyBCcmFuY2hEZWxldGlvbkJhdGNoKCksIHBhcnNlcnMsIFtzdGRPdXQsIHN0ZEVycl0pO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0JyYW5jaERlbGV0aW9uRXJyb3IoZGF0YTogc3RyaW5nLCBwcm9jZXNzRXhpdENvZGU6IEV4aXRDb2Rlcyk6IGJvb2xlYW4ge1xuICAgcmV0dXJuIHByb2Nlc3NFeGl0Q29kZSA9PT0gRXhpdENvZGVzLkVSUk9SICYmIGRlbGV0ZUVycm9yUmVnZXgudGVzdChkYXRhKTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IEJyYW5jaFN1bW1hcnksIEJyYW5jaFN1bW1hcnlCcmFuY2ggfSBmcm9tICcuLi8uLi8uLi90eXBpbmdzJztcblxuZXhwb3J0IGVudW0gQnJhbmNoU3RhdHVzSWRlbnRpZmllciB7XG4gICBDVVJSRU5UID0gJyonLFxuICAgTElOS0VEID0gJysnLFxufVxuXG5leHBvcnQgY2xhc3MgQnJhbmNoU3VtbWFyeVJlc3VsdCBpbXBsZW1lbnRzIEJyYW5jaFN1bW1hcnkge1xuICAgcHVibGljIGFsbDogc3RyaW5nW10gPSBbXTtcbiAgIHB1YmxpYyBicmFuY2hlczogeyBbcDogc3RyaW5nXTogQnJhbmNoU3VtbWFyeUJyYW5jaCB9ID0ge307XG4gICBwdWJsaWMgY3VycmVudDogc3RyaW5nID0gJyc7XG4gICBwdWJsaWMgZGV0YWNoZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgcHVzaChcbiAgICAgIHN0YXR1czogQnJhbmNoU3RhdHVzSWRlbnRpZmllciB8IHVua25vd24sXG4gICAgICBkZXRhY2hlZDogYm9vbGVhbixcbiAgICAgIG5hbWU6IHN0cmluZyxcbiAgICAgIGNvbW1pdDogc3RyaW5nLFxuICAgICAgbGFiZWw6IHN0cmluZ1xuICAgKSB7XG4gICAgICBpZiAoc3RhdHVzID09PSBCcmFuY2hTdGF0dXNJZGVudGlmaWVyLkNVUlJFTlQpIHtcbiAgICAgICAgIHRoaXMuZGV0YWNoZWQgPSBkZXRhY2hlZDtcbiAgICAgICAgIHRoaXMuY3VycmVudCA9IG5hbWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuYWxsLnB1c2gobmFtZSk7XG4gICAgICB0aGlzLmJyYW5jaGVzW25hbWVdID0ge1xuICAgICAgICAgY3VycmVudDogc3RhdHVzID09PSBCcmFuY2hTdGF0dXNJZGVudGlmaWVyLkNVUlJFTlQsXG4gICAgICAgICBsaW5rZWRXb3JrVHJlZTogc3RhdHVzID09PSBCcmFuY2hTdGF0dXNJZGVudGlmaWVyLkxJTktFRCxcbiAgICAgICAgIG5hbWUsXG4gICAgICAgICBjb21taXQsXG4gICAgICAgICBsYWJlbCxcbiAgICAgIH07XG4gICB9XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBCcmFuY2hTdW1tYXJ5IH0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQgeyBCcmFuY2hTdW1tYXJ5UmVzdWx0IH0gZnJvbSAnLi4vcmVzcG9uc2VzL0JyYW5jaFN1bW1hcnknO1xuaW1wb3J0IHsgTGluZVBhcnNlciwgcGFyc2VTdHJpbmdSZXNwb25zZSB9IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgcGFyc2VyczogTGluZVBhcnNlcjxCcmFuY2hTdW1tYXJ5UmVzdWx0PltdID0gW1xuICAgbmV3IExpbmVQYXJzZXIoXG4gICAgICAvXihbKitdXFxzKT9cXCgoPzpIRUFEICk/ZGV0YWNoZWQgKD86ZnJvbXxhdCkgKFxcUyspXFwpXFxzKyhbYS16MC05XSspXFxzKC4qKSQvLFxuICAgICAgKHJlc3VsdCwgW2N1cnJlbnQsIG5hbWUsIGNvbW1pdCwgbGFiZWxdKSA9PiB7XG4gICAgICAgICByZXN1bHQucHVzaChicmFuY2hTdGF0dXMoY3VycmVudCksIHRydWUsIG5hbWUsIGNvbW1pdCwgbGFiZWwpO1xuICAgICAgfVxuICAgKSxcbiAgIG5ldyBMaW5lUGFyc2VyKFxuICAgICAgL14oWyorXVxccyk/KFxcUyspXFxzKyhbYS16MC05XSspXFxzPyguKikkL3MsXG4gICAgICAocmVzdWx0LCBbY3VycmVudCwgbmFtZSwgY29tbWl0LCBsYWJlbF0pID0+IHtcbiAgICAgICAgIHJlc3VsdC5wdXNoKGJyYW5jaFN0YXR1cyhjdXJyZW50KSwgZmFsc2UsIG5hbWUsIGNvbW1pdCwgbGFiZWwpO1xuICAgICAgfVxuICAgKSxcbl07XG5cbmZ1bmN0aW9uIGJyYW5jaFN0YXR1cyhpbnB1dD86IHN0cmluZykge1xuICAgcmV0dXJuIGlucHV0ID8gaW5wdXQuY2hhckF0KDApIDogJyc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUJyYW5jaFN1bW1hcnkoc3RkT3V0OiBzdHJpbmcpOiBCcmFuY2hTdW1tYXJ5IHtcbiAgIHJldHVybiBwYXJzZVN0cmluZ1Jlc3BvbnNlKG5ldyBCcmFuY2hTdW1tYXJ5UmVzdWx0KCksIHBhcnNlcnMsIHN0ZE91dCk7XG59XG4iLCAiaW1wb3J0IHsgQnJhbmNoTXVsdGlEZWxldGVSZXN1bHQsIEJyYW5jaFNpbmdsZURlbGV0ZVJlc3VsdCwgQnJhbmNoU3VtbWFyeSB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MnO1xuaW1wb3J0IHsgU3RyaW5nVGFzayB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IEdpdFJlc3BvbnNlRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMvZ2l0LXJlc3BvbnNlLWVycm9yJztcbmltcG9ydCB7IGhhc0JyYW5jaERlbGV0aW9uRXJyb3IsIHBhcnNlQnJhbmNoRGVsZXRpb25zIH0gZnJvbSAnLi4vcGFyc2Vycy9wYXJzZS1icmFuY2gtZGVsZXRlJztcbmltcG9ydCB7IHBhcnNlQnJhbmNoU3VtbWFyeSB9IGZyb20gJy4uL3BhcnNlcnMvcGFyc2UtYnJhbmNoJztcbmltcG9ydCB7IGJ1ZmZlclRvU3RyaW5nIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY29udGFpbnNEZWxldGVCcmFuY2hDb21tYW5kKGNvbW1hbmRzOiBzdHJpbmdbXSkge1xuICAgY29uc3QgZGVsZXRlQ29tbWFuZHMgPSBbJy1kJywgJy1EJywgJy0tZGVsZXRlJ107XG4gICByZXR1cm4gY29tbWFuZHMuc29tZSgoY29tbWFuZCkgPT4gZGVsZXRlQ29tbWFuZHMuaW5jbHVkZXMoY29tbWFuZCkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnJhbmNoVGFzayhcbiAgIGN1c3RvbUFyZ3M6IHN0cmluZ1tdXG4pOiBTdHJpbmdUYXNrPEJyYW5jaFN1bW1hcnkgfCBCcmFuY2hTaW5nbGVEZWxldGVSZXN1bHQ+IHtcbiAgIGNvbnN0IGlzRGVsZXRlID0gY29udGFpbnNEZWxldGVCcmFuY2hDb21tYW5kKGN1c3RvbUFyZ3MpO1xuICAgY29uc3QgY29tbWFuZHMgPSBbJ2JyYW5jaCcsIC4uLmN1c3RvbUFyZ3NdO1xuXG4gICBpZiAoY29tbWFuZHMubGVuZ3RoID09PSAxKSB7XG4gICAgICBjb21tYW5kcy5wdXNoKCctYScpO1xuICAgfVxuXG4gICBpZiAoIWNvbW1hbmRzLmluY2x1ZGVzKCctdicpKSB7XG4gICAgICBjb21tYW5kcy5zcGxpY2UoMSwgMCwgJy12Jyk7XG4gICB9XG5cbiAgIHJldHVybiB7XG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBjb21tYW5kcyxcbiAgICAgIHBhcnNlcihzdGRPdXQsIHN0ZEVycikge1xuICAgICAgICAgaWYgKGlzRGVsZXRlKSB7XG4gICAgICAgICAgICByZXR1cm4gcGFyc2VCcmFuY2hEZWxldGlvbnMoc3RkT3V0LCBzdGRFcnIpLmFsbFswXTtcbiAgICAgICAgIH1cblxuICAgICAgICAgcmV0dXJuIHBhcnNlQnJhbmNoU3VtbWFyeShzdGRPdXQpO1xuICAgICAgfSxcbiAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBicmFuY2hMb2NhbFRhc2soKTogU3RyaW5nVGFzazxCcmFuY2hTdW1tYXJ5PiB7XG4gICBjb25zdCBwYXJzZXIgPSBwYXJzZUJyYW5jaFN1bW1hcnk7XG5cbiAgIHJldHVybiB7XG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBjb21tYW5kczogWydicmFuY2gnLCAnLXYnXSxcbiAgICAgIHBhcnNlcixcbiAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZWxldGVCcmFuY2hlc1Rhc2soXG4gICBicmFuY2hlczogc3RyaW5nW10sXG4gICBmb3JjZURlbGV0ZSA9IGZhbHNlXG4pOiBTdHJpbmdUYXNrPEJyYW5jaE11bHRpRGVsZXRlUmVzdWx0PiB7XG4gICByZXR1cm4ge1xuICAgICAgZm9ybWF0OiAndXRmLTgnLFxuICAgICAgY29tbWFuZHM6IFsnYnJhbmNoJywgJy12JywgZm9yY2VEZWxldGUgPyAnLUQnIDogJy1kJywgLi4uYnJhbmNoZXNdLFxuICAgICAgcGFyc2VyKHN0ZE91dCwgc3RkRXJyKSB7XG4gICAgICAgICByZXR1cm4gcGFyc2VCcmFuY2hEZWxldGlvbnMoc3RkT3V0LCBzdGRFcnIpO1xuICAgICAgfSxcbiAgICAgIG9uRXJyb3IoeyBleGl0Q29kZSwgc3RkT3V0IH0sIGVycm9yLCBkb25lLCBmYWlsKSB7XG4gICAgICAgICBpZiAoIWhhc0JyYW5jaERlbGV0aW9uRXJyb3IoU3RyaW5nKGVycm9yKSwgZXhpdENvZGUpKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFpbChlcnJvcik7XG4gICAgICAgICB9XG5cbiAgICAgICAgIGRvbmUoc3RkT3V0KTtcbiAgICAgIH0sXG4gICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVsZXRlQnJhbmNoVGFzayhcbiAgIGJyYW5jaDogc3RyaW5nLFxuICAgZm9yY2VEZWxldGUgPSBmYWxzZVxuKTogU3RyaW5nVGFzazxCcmFuY2hTaW5nbGVEZWxldGVSZXN1bHQ+IHtcbiAgIGNvbnN0IHRhc2s6IFN0cmluZ1Rhc2s8QnJhbmNoU2luZ2xlRGVsZXRlUmVzdWx0PiA9IHtcbiAgICAgIGZvcm1hdDogJ3V0Zi04JyxcbiAgICAgIGNvbW1hbmRzOiBbJ2JyYW5jaCcsICctdicsIGZvcmNlRGVsZXRlID8gJy1EJyA6ICctZCcsIGJyYW5jaF0sXG4gICAgICBwYXJzZXIoc3RkT3V0LCBzdGRFcnIpIHtcbiAgICAgICAgIHJldHVybiBwYXJzZUJyYW5jaERlbGV0aW9ucyhzdGRPdXQsIHN0ZEVycikuYnJhbmNoZXNbYnJhbmNoXSE7XG4gICAgICB9LFxuICAgICAgb25FcnJvcih7IGV4aXRDb2RlLCBzdGRFcnIsIHN0ZE91dCB9LCBlcnJvciwgXywgZmFpbCkge1xuICAgICAgICAgaWYgKCFoYXNCcmFuY2hEZWxldGlvbkVycm9yKFN0cmluZyhlcnJvciksIGV4aXRDb2RlKSkge1xuICAgICAgICAgICAgcmV0dXJuIGZhaWwoZXJyb3IpO1xuICAgICAgICAgfVxuXG4gICAgICAgICB0aHJvdyBuZXcgR2l0UmVzcG9uc2VFcnJvcihcbiAgICAgICAgICAgIHRhc2sucGFyc2VyKGJ1ZmZlclRvU3RyaW5nKHN0ZE91dCksIGJ1ZmZlclRvU3RyaW5nKHN0ZEVycikpLFxuICAgICAgICAgICAgU3RyaW5nKGVycm9yKVxuICAgICAgICAgKTtcbiAgICAgIH0sXG4gICB9O1xuXG4gICByZXR1cm4gdGFzaztcbn1cbiIsICIvKipcbiAqIFBhcnNlciBmb3IgdGhlIGBjaGVjay1pZ25vcmVgIGNvbW1hbmQgLSByZXR1cm5zIGVhY2ggZmlsZSBhcyBhIHN0cmluZyBhcnJheVxuICovXG5leHBvcnQgY29uc3QgcGFyc2VDaGVja0lnbm9yZSA9ICh0ZXh0OiBzdHJpbmcpOiBzdHJpbmdbXSA9PiB7XG4gICByZXR1cm4gdGV4dFxuICAgICAgLnNwbGl0KC9cXG4vZylcbiAgICAgIC5tYXAoKGxpbmUpID0+IGxpbmUudHJpbSgpKVxuICAgICAgLmZpbHRlcigoZmlsZSkgPT4gISFmaWxlKTtcbn07XG4iLCAiaW1wb3J0IHsgU3RyaW5nVGFzayB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IHBhcnNlQ2hlY2tJZ25vcmUgfSBmcm9tICcuLi9yZXNwb25zZXMvQ2hlY2tJZ25vcmUnO1xuXG5leHBvcnQgZnVuY3Rpb24gY2hlY2tJZ25vcmVUYXNrKHBhdGhzOiBzdHJpbmdbXSk6IFN0cmluZ1Rhc2s8c3RyaW5nW10+IHtcbiAgIHJldHVybiB7XG4gICAgICBjb21tYW5kczogWydjaGVjay1pZ25vcmUnLCAuLi5wYXRoc10sXG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBwYXJzZXI6IHBhcnNlQ2hlY2tJZ25vcmUsXG4gICB9O1xufVxuIiwgImltcG9ydCB7IGNvbmZpZ3VyYXRpb25FcnJvclRhc2ssIEVtcHR5VGFzaywgc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayB9IGZyb20gJy4vdGFzayc7XG5pbXBvcnQgeyBPcHRpb25GbGFncywgT3B0aW9ucywgU3RyaW5nVGFzayB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGFwcGVuZCwgZmlsdGVyU3RyaW5nIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgdHlwZSBDbG9uZU9wdGlvbnMgPSBPcHRpb25zICZcbiAgIE9wdGlvbkZsYWdzPFxuICAgICAgfCAnLS1iYXJlJ1xuICAgICAgfCAnLS1kaXNzb2NpYXRlJ1xuICAgICAgfCAnLS1taXJyb3InXG4gICAgICB8ICctLW5vLWNoZWNrb3V0J1xuICAgICAgfCAnLS1uby1yZW1vdGUtc3VibW9kdWxlcydcbiAgICAgIHwgJy0tbm8tc2hhbGxvdy1zdWJtb2R1bGVzJ1xuICAgICAgfCAnLS1uby1zaW5nbGUtYnJhbmNoJ1xuICAgICAgfCAnLS1uby10YWdzJ1xuICAgICAgfCAnLS1yZW1vdGUtc3VibW9kdWxlcydcbiAgICAgIHwgJy0tc2luZ2xlLWJyYW5jaCdcbiAgICAgIHwgJy0tc2hhbGxvdy1zdWJtb2R1bGVzJ1xuICAgICAgfCAnLS12ZXJib3NlJ1xuICAgPiAmXG4gICBPcHRpb25GbGFnczwnLS1kZXB0aCcgfCAnLWonIHwgJy0tam9icycsIG51bWJlcj4gJlxuICAgT3B0aW9uRmxhZ3M8XG4gICAgICB8ICctLWJyYW5jaCdcbiAgICAgIHwgJy0tb3JpZ2luJ1xuICAgICAgfCAnLS1yZWN1cnNlLXN1Ym1vZHVsZXMnXG4gICAgICB8ICctLXNlcGFyYXRlLWdpdC1kaXInXG4gICAgICB8ICctLXNoYWxsb3ctZXhjbHVkZSdcbiAgICAgIHwgJy0tc2hhbGxvdy1zaW5jZSdcbiAgICAgIHwgJy0tdGVtcGxhdGUnLFxuICAgICAgc3RyaW5nXG4gICA+O1xuXG5mdW5jdGlvbiBkaXNhbGxvd2VkQ29tbWFuZChjb21tYW5kOiBzdHJpbmcpIHtcbiAgIHJldHVybiAvXi0tdXBsb2FkLXBhY2soPXwkKS8udGVzdChjb21tYW5kKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNsb25lVGFzayhcbiAgIHJlcG86IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgIGRpcmVjdG9yeTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgY3VzdG9tQXJnczogc3RyaW5nW11cbik6IFN0cmluZ1Rhc2s8c3RyaW5nPiB8IEVtcHR5VGFzayB7XG4gICBjb25zdCBjb21tYW5kcyA9IFsnY2xvbmUnLCAuLi5jdXN0b21BcmdzXTtcblxuICAgZmlsdGVyU3RyaW5nKHJlcG8pICYmIGNvbW1hbmRzLnB1c2gocmVwbyk7XG4gICBmaWx0ZXJTdHJpbmcoZGlyZWN0b3J5KSAmJiBjb21tYW5kcy5wdXNoKGRpcmVjdG9yeSk7XG5cbiAgIGNvbnN0IGJhbm5lZCA9IGNvbW1hbmRzLmZpbmQoZGlzYWxsb3dlZENvbW1hbmQpO1xuICAgaWYgKGJhbm5lZCkge1xuICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb25FcnJvclRhc2soYGdpdC5mZXRjaDogcG90ZW50aWFsIGV4cGxvaXQgYXJndW1lbnQgYmxvY2tlZC5gKTtcbiAgIH1cblxuICAgcmV0dXJuIHN0cmFpZ2h0VGhyb3VnaFN0cmluZ1Rhc2soY29tbWFuZHMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2xvbmVNaXJyb3JUYXNrKFxuICAgcmVwbzogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgZGlyZWN0b3J5OiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICBjdXN0b21BcmdzOiBzdHJpbmdbXVxuKSB7XG4gICBhcHBlbmQoY3VzdG9tQXJncywgJy0tbWlycm9yJyk7XG5cbiAgIHJldHVybiBjbG9uZVRhc2socmVwbywgZGlyZWN0b3J5LCBjdXN0b21BcmdzKTtcbn1cbiIsICJpbXBvcnQgeyBGZXRjaFJlc3VsdCB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MnO1xuaW1wb3J0IHsgTGluZVBhcnNlciwgcGFyc2VTdHJpbmdSZXNwb25zZSB9IGZyb20gJy4uL3V0aWxzJztcblxuY29uc3QgcGFyc2VyczogTGluZVBhcnNlcjxGZXRjaFJlc3VsdD5bXSA9IFtcbiAgIG5ldyBMaW5lUGFyc2VyKC9Gcm9tICguKykkLywgKHJlc3VsdCwgW3JlbW90ZV0pID0+IHtcbiAgICAgIHJlc3VsdC5yZW1vdGUgPSByZW1vdGU7XG4gICB9KSxcbiAgIG5ldyBMaW5lUGFyc2VyKC9cXCogXFxbbmV3IGJyYW5jaF1cXHMrKFxcUyspXFxzKi0+ICguKykkLywgKHJlc3VsdCwgW25hbWUsIHRyYWNraW5nXSkgPT4ge1xuICAgICAgcmVzdWx0LmJyYW5jaGVzLnB1c2goe1xuICAgICAgICAgbmFtZSxcbiAgICAgICAgIHRyYWNraW5nLFxuICAgICAgfSk7XG4gICB9KSxcbiAgIG5ldyBMaW5lUGFyc2VyKC9cXCogXFxbbmV3IHRhZ11cXHMrKFxcUyspXFxzKi0+ICguKykkLywgKHJlc3VsdCwgW25hbWUsIHRyYWNraW5nXSkgPT4ge1xuICAgICAgcmVzdWx0LnRhZ3MucHVzaCh7XG4gICAgICAgICBuYW1lLFxuICAgICAgICAgdHJhY2tpbmcsXG4gICAgICB9KTtcbiAgIH0pLFxuICAgbmV3IExpbmVQYXJzZXIoLy0gXFxbZGVsZXRlZF1cXHMrXFxTK1xccyotPiAoLispJC8sIChyZXN1bHQsIFt0cmFja2luZ10pID0+IHtcbiAgICAgIHJlc3VsdC5kZWxldGVkLnB1c2goe1xuICAgICAgICAgdHJhY2tpbmcsXG4gICAgICB9KTtcbiAgIH0pLFxuICAgbmV3IExpbmVQYXJzZXIoXG4gICAgICAvXFxzKihbXi5dKylcXC5cXC4oXFxTKylcXHMrKFxcUyspXFxzKi0+ICguKykkLyxcbiAgICAgIChyZXN1bHQsIFtmcm9tLCB0bywgbmFtZSwgdHJhY2tpbmddKSA9PiB7XG4gICAgICAgICByZXN1bHQudXBkYXRlZC5wdXNoKHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICB0cmFja2luZyxcbiAgICAgICAgICAgIHRvLFxuICAgICAgICAgICAgZnJvbSxcbiAgICAgICAgIH0pO1xuICAgICAgfVxuICAgKSxcbl07XG5cbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUZldGNoUmVzdWx0KHN0ZE91dDogc3RyaW5nLCBzdGRFcnI6IHN0cmluZyk6IEZldGNoUmVzdWx0IHtcbiAgIGNvbnN0IHJlc3VsdDogRmV0Y2hSZXN1bHQgPSB7XG4gICAgICByYXc6IHN0ZE91dCxcbiAgICAgIHJlbW90ZTogbnVsbCxcbiAgICAgIGJyYW5jaGVzOiBbXSxcbiAgICAgIHRhZ3M6IFtdLFxuICAgICAgdXBkYXRlZDogW10sXG4gICAgICBkZWxldGVkOiBbXSxcbiAgIH07XG4gICByZXR1cm4gcGFyc2VTdHJpbmdSZXNwb25zZShyZXN1bHQsIHBhcnNlcnMsIFtzdGRPdXQsIHN0ZEVycl0pO1xufVxuIiwgImltcG9ydCB7IEZldGNoUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQgeyBwYXJzZUZldGNoUmVzdWx0IH0gZnJvbSAnLi4vcGFyc2Vycy9wYXJzZS1mZXRjaCc7XG5pbXBvcnQgeyBTdHJpbmdUYXNrIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBjb25maWd1cmF0aW9uRXJyb3JUYXNrLCBFbXB0eVRhc2sgfSBmcm9tICcuL3Rhc2snO1xuXG5mdW5jdGlvbiBkaXNhbGxvd2VkQ29tbWFuZChjb21tYW5kOiBzdHJpbmcpIHtcbiAgIHJldHVybiAvXi0tdXBsb2FkLXBhY2soPXwkKS8udGVzdChjb21tYW5kKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZldGNoVGFzayhcbiAgIHJlbW90ZTogc3RyaW5nLFxuICAgYnJhbmNoOiBzdHJpbmcsXG4gICBjdXN0b21BcmdzOiBzdHJpbmdbXVxuKTogU3RyaW5nVGFzazxGZXRjaFJlc3VsdD4gfCBFbXB0eVRhc2sge1xuICAgY29uc3QgY29tbWFuZHMgPSBbJ2ZldGNoJywgLi4uY3VzdG9tQXJnc107XG4gICBpZiAocmVtb3RlICYmIGJyYW5jaCkge1xuICAgICAgY29tbWFuZHMucHVzaChyZW1vdGUsIGJyYW5jaCk7XG4gICB9XG5cbiAgIGNvbnN0IGJhbm5lZCA9IGNvbW1hbmRzLmZpbmQoZGlzYWxsb3dlZENvbW1hbmQpO1xuICAgaWYgKGJhbm5lZCkge1xuICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb25FcnJvclRhc2soYGdpdC5mZXRjaDogcG90ZW50aWFsIGV4cGxvaXQgYXJndW1lbnQgYmxvY2tlZC5gKTtcbiAgIH1cblxuICAgcmV0dXJuIHtcbiAgICAgIGNvbW1hbmRzLFxuICAgICAgZm9ybWF0OiAndXRmLTgnLFxuICAgICAgcGFyc2VyOiBwYXJzZUZldGNoUmVzdWx0LFxuICAgfTtcbn1cbiIsICJpbXBvcnQgeyBNb3ZlUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQgeyBMaW5lUGFyc2VyLCBwYXJzZVN0cmluZ1Jlc3BvbnNlIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5jb25zdCBwYXJzZXJzOiBMaW5lUGFyc2VyPE1vdmVSZXN1bHQ+W10gPSBbXG4gICBuZXcgTGluZVBhcnNlcigvXlJlbmFtaW5nICguKykgdG8gKC4rKSQvLCAocmVzdWx0LCBbZnJvbSwgdG9dKSA9PiB7XG4gICAgICByZXN1bHQubW92ZXMucHVzaCh7IGZyb20sIHRvIH0pO1xuICAgfSksXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VNb3ZlUmVzdWx0KHN0ZE91dDogc3RyaW5nKTogTW92ZVJlc3VsdCB7XG4gICByZXR1cm4gcGFyc2VTdHJpbmdSZXNwb25zZSh7IG1vdmVzOiBbXSB9LCBwYXJzZXJzLCBzdGRPdXQpO1xufVxuIiwgImltcG9ydCB7IE1vdmVSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi90eXBpbmdzJztcbmltcG9ydCB7IHBhcnNlTW92ZVJlc3VsdCB9IGZyb20gJy4uL3BhcnNlcnMvcGFyc2UtbW92ZSc7XG5pbXBvcnQgeyBTdHJpbmdUYXNrIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgYXNBcnJheSB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1vdmVUYXNrKGZyb206IHN0cmluZyB8IHN0cmluZ1tdLCB0bzogc3RyaW5nKTogU3RyaW5nVGFzazxNb3ZlUmVzdWx0PiB7XG4gICByZXR1cm4ge1xuICAgICAgY29tbWFuZHM6IFsnbXYnLCAnLXYnLCAuLi5hc0FycmF5KGZyb20pLCB0b10sXG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBwYXJzZXI6IHBhcnNlTW92ZVJlc3VsdCxcbiAgIH07XG59XG4iLCAiaW1wb3J0IHsgUHVsbFJlc3VsdCB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MnO1xuaW1wb3J0IHsgR2l0UmVzcG9uc2VFcnJvciB9IGZyb20gJy4uL2Vycm9ycy9naXQtcmVzcG9uc2UtZXJyb3InO1xuaW1wb3J0IHsgcGFyc2VQdWxsRXJyb3JSZXN1bHQsIHBhcnNlUHVsbFJlc3VsdCB9IGZyb20gJy4uL3BhcnNlcnMvcGFyc2UtcHVsbCc7XG5pbXBvcnQgeyBNYXliZSwgU3RyaW5nVGFzayB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGJ1ZmZlclRvU3RyaW5nIH0gZnJvbSAnLi4vdXRpbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gcHVsbFRhc2soXG4gICByZW1vdGU6IE1heWJlPHN0cmluZz4sXG4gICBicmFuY2g6IE1heWJlPHN0cmluZz4sXG4gICBjdXN0b21BcmdzOiBzdHJpbmdbXVxuKTogU3RyaW5nVGFzazxQdWxsUmVzdWx0PiB7XG4gICBjb25zdCBjb21tYW5kczogc3RyaW5nW10gPSBbJ3B1bGwnLCAuLi5jdXN0b21BcmdzXTtcbiAgIGlmIChyZW1vdGUgJiYgYnJhbmNoKSB7XG4gICAgICBjb21tYW5kcy5zcGxpY2UoMSwgMCwgcmVtb3RlLCBicmFuY2gpO1xuICAgfVxuXG4gICByZXR1cm4ge1xuICAgICAgY29tbWFuZHMsXG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBwYXJzZXIoc3RkT3V0LCBzdGRFcnIpOiBQdWxsUmVzdWx0IHtcbiAgICAgICAgIHJldHVybiBwYXJzZVB1bGxSZXN1bHQoc3RkT3V0LCBzdGRFcnIpO1xuICAgICAgfSxcbiAgICAgIG9uRXJyb3IocmVzdWx0LCBfZXJyb3IsIF9kb25lLCBmYWlsKSB7XG4gICAgICAgICBjb25zdCBwdWxsRXJyb3IgPSBwYXJzZVB1bGxFcnJvclJlc3VsdChcbiAgICAgICAgICAgIGJ1ZmZlclRvU3RyaW5nKHJlc3VsdC5zdGRPdXQpLFxuICAgICAgICAgICAgYnVmZmVyVG9TdHJpbmcocmVzdWx0LnN0ZEVycilcbiAgICAgICAgICk7XG4gICAgICAgICBpZiAocHVsbEVycm9yKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFpbChuZXcgR2l0UmVzcG9uc2VFcnJvcihwdWxsRXJyb3IpKTtcbiAgICAgICAgIH1cblxuICAgICAgICAgZmFpbChfZXJyb3IpO1xuICAgICAgfSxcbiAgIH07XG59XG4iLCAiaW1wb3J0IHsgZm9yRWFjaExpbmVXaXRoQ29udGVudCB9IGZyb20gJy4uL3V0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZW1vdGVXaXRob3V0UmVmcyB7XG4gICBuYW1lOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVtb3RlV2l0aFJlZnMgZXh0ZW5kcyBSZW1vdGVXaXRob3V0UmVmcyB7XG4gICByZWZzOiB7XG4gICAgICBmZXRjaDogc3RyaW5nO1xuICAgICAgcHVzaDogc3RyaW5nO1xuICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlR2V0UmVtb3Rlcyh0ZXh0OiBzdHJpbmcpOiBSZW1vdGVXaXRob3V0UmVmc1tdIHtcbiAgIGNvbnN0IHJlbW90ZXM6IHsgW25hbWU6IHN0cmluZ106IFJlbW90ZVdpdGhvdXRSZWZzIH0gPSB7fTtcblxuICAgZm9yRWFjaCh0ZXh0LCAoW25hbWVdKSA9PiAocmVtb3Rlc1tuYW1lXSA9IHsgbmFtZSB9KSk7XG5cbiAgIHJldHVybiBPYmplY3QudmFsdWVzKHJlbW90ZXMpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VHZXRSZW1vdGVzVmVyYm9zZSh0ZXh0OiBzdHJpbmcpOiBSZW1vdGVXaXRoUmVmc1tdIHtcbiAgIGNvbnN0IHJlbW90ZXM6IHsgW25hbWU6IHN0cmluZ106IFJlbW90ZVdpdGhSZWZzIH0gPSB7fTtcblxuICAgZm9yRWFjaCh0ZXh0LCAoW25hbWUsIHVybCwgcHVycG9zZV0pID0+IHtcbiAgICAgIGlmICghcmVtb3Rlcy5oYXNPd25Qcm9wZXJ0eShuYW1lKSkge1xuICAgICAgICAgcmVtb3Rlc1tuYW1lXSA9IHtcbiAgICAgICAgICAgIG5hbWU6IG5hbWUsXG4gICAgICAgICAgICByZWZzOiB7IGZldGNoOiAnJywgcHVzaDogJycgfSxcbiAgICAgICAgIH07XG4gICAgICB9XG5cbiAgICAgIGlmIChwdXJwb3NlICYmIHVybCkge1xuICAgICAgICAgcmVtb3Rlc1tuYW1lXS5yZWZzW3B1cnBvc2UucmVwbGFjZSgvW15hLXpdL2csICcnKSBhcyBrZXlvZiBSZW1vdGVXaXRoUmVmc1sncmVmcyddXSA9IHVybDtcbiAgICAgIH1cbiAgIH0pO1xuXG4gICByZXR1cm4gT2JqZWN0LnZhbHVlcyhyZW1vdGVzKTtcbn1cblxuZnVuY3Rpb24gZm9yRWFjaCh0ZXh0OiBzdHJpbmcsIGhhbmRsZXI6IChsaW5lOiBzdHJpbmdbXSkgPT4gdm9pZCkge1xuICAgZm9yRWFjaExpbmVXaXRoQ29udGVudCh0ZXh0LCAobGluZSkgPT4gaGFuZGxlcihsaW5lLnNwbGl0KC9cXHMrLykpKTtcbn1cbiIsICJpbXBvcnQgeyBwYXJzZUdldFJlbW90ZXMsIHBhcnNlR2V0UmVtb3Rlc1ZlcmJvc2UgfSBmcm9tICcuLi9yZXNwb25zZXMvR2V0UmVtb3RlU3VtbWFyeSc7XG5pbXBvcnQgeyBTdHJpbmdUYXNrIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayB9IGZyb20gJy4vdGFzayc7XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRSZW1vdGVUYXNrKFxuICAgcmVtb3RlTmFtZTogc3RyaW5nLFxuICAgcmVtb3RlUmVwbzogc3RyaW5nLFxuICAgY3VzdG9tQXJnczogc3RyaW5nW11cbik6IFN0cmluZ1Rhc2s8c3RyaW5nPiB7XG4gICByZXR1cm4gc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayhbJ3JlbW90ZScsICdhZGQnLCAuLi5jdXN0b21BcmdzLCByZW1vdGVOYW1lLCByZW1vdGVSZXBvXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZW1vdGVzVGFzayh2ZXJib3NlOiBib29sZWFuKTogU3RyaW5nVGFzazxhbnk+IHtcbiAgIGNvbnN0IGNvbW1hbmRzID0gWydyZW1vdGUnXTtcbiAgIGlmICh2ZXJib3NlKSB7XG4gICAgICBjb21tYW5kcy5wdXNoKCctdicpO1xuICAgfVxuXG4gICByZXR1cm4ge1xuICAgICAgY29tbWFuZHMsXG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBwYXJzZXI6IHZlcmJvc2UgPyBwYXJzZUdldFJlbW90ZXNWZXJib3NlIDogcGFyc2VHZXRSZW1vdGVzLFxuICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGxpc3RSZW1vdGVzVGFzayhjdXN0b21BcmdzOiBzdHJpbmdbXSk6IFN0cmluZ1Rhc2s8c3RyaW5nPiB7XG4gICBjb25zdCBjb21tYW5kcyA9IFsuLi5jdXN0b21BcmdzXTtcbiAgIGlmIChjb21tYW5kc1swXSAhPT0gJ2xzLXJlbW90ZScpIHtcbiAgICAgIGNvbW1hbmRzLnVuc2hpZnQoJ2xzLXJlbW90ZScpO1xuICAgfVxuXG4gICByZXR1cm4gc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayhjb21tYW5kcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZW1vdGVUYXNrKGN1c3RvbUFyZ3M6IHN0cmluZ1tdKTogU3RyaW5nVGFzazxzdHJpbmc+IHtcbiAgIGNvbnN0IGNvbW1hbmRzID0gWy4uLmN1c3RvbUFyZ3NdO1xuICAgaWYgKGNvbW1hbmRzWzBdICE9PSAncmVtb3RlJykge1xuICAgICAgY29tbWFuZHMudW5zaGlmdCgncmVtb3RlJyk7XG4gICB9XG5cbiAgIHJldHVybiBzdHJhaWdodFRocm91Z2hTdHJpbmdUYXNrKGNvbW1hbmRzKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJlbW92ZVJlbW90ZVRhc2socmVtb3RlTmFtZTogc3RyaW5nKSB7XG4gICByZXR1cm4gc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayhbJ3JlbW90ZScsICdyZW1vdmUnLCByZW1vdGVOYW1lXSk7XG59XG4iLCAiaW1wb3J0IHsgTG9nT3B0aW9ucywgTG9nUmVzdWx0IH0gZnJvbSAnLi4vLi4vLi4vdHlwaW5ncyc7XG5pbXBvcnQgeyBsb2dGb3JtYXRGcm9tQ29tbWFuZCB9IGZyb20gJy4uL2FyZ3MvbG9nLWZvcm1hdCc7XG5pbXBvcnQgeyBjcmVhdGVMaXN0TG9nU3VtbWFyeVBhcnNlciB9IGZyb20gJy4uL3BhcnNlcnMvcGFyc2UtbGlzdC1sb2ctc3VtbWFyeSc7XG5pbXBvcnQgdHlwZSB7IFN0cmluZ1Rhc2sgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyB2YWxpZGF0ZUxvZ0Zvcm1hdENvbmZpZyB9IGZyb20gJy4vZGlmZic7XG5pbXBvcnQgeyBwYXJzZUxvZ09wdGlvbnMgfSBmcm9tICcuL2xvZyc7XG5pbXBvcnQgdHlwZSB7IEVtcHR5VGFzayB9IGZyb20gJy4vdGFzayc7XG5cbmV4cG9ydCBmdW5jdGlvbiBzdGFzaExpc3RUYXNrKFxuICAgb3B0OiBMb2dPcHRpb25zID0ge30sXG4gICBjdXN0b21BcmdzOiBzdHJpbmdbXVxuKTogRW1wdHlUYXNrIHwgU3RyaW5nVGFzazxMb2dSZXN1bHQ+IHtcbiAgIGNvbnN0IG9wdGlvbnMgPSBwYXJzZUxvZ09wdGlvbnM8YW55PihvcHQpO1xuICAgY29uc3QgY29tbWFuZHMgPSBbJ3N0YXNoJywgJ2xpc3QnLCAuLi5vcHRpb25zLmNvbW1hbmRzLCAuLi5jdXN0b21BcmdzXTtcbiAgIGNvbnN0IHBhcnNlciA9IGNyZWF0ZUxpc3RMb2dTdW1tYXJ5UGFyc2VyKFxuICAgICAgb3B0aW9ucy5zcGxpdHRlcixcbiAgICAgIG9wdGlvbnMuZmllbGRzLFxuICAgICAgbG9nRm9ybWF0RnJvbUNvbW1hbmQoY29tbWFuZHMpXG4gICApO1xuXG4gICByZXR1cm4gKFxuICAgICAgdmFsaWRhdGVMb2dGb3JtYXRDb25maWcoY29tbWFuZHMpIHx8IHtcbiAgICAgICAgIGNvbW1hbmRzLFxuICAgICAgICAgZm9ybWF0OiAndXRmLTgnLFxuICAgICAgICAgcGFyc2VyLFxuICAgICAgfVxuICAgKTtcbn1cbiIsICJpbXBvcnQgeyBTdHJpbmdUYXNrIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayB9IGZyb20gJy4vdGFzayc7XG5cbmV4cG9ydCBmdW5jdGlvbiBhZGRTdWJNb2R1bGVUYXNrKHJlcG86IHN0cmluZywgcGF0aDogc3RyaW5nKTogU3RyaW5nVGFzazxzdHJpbmc+IHtcbiAgIHJldHVybiBzdWJNb2R1bGVUYXNrKFsnYWRkJywgcmVwbywgcGF0aF0pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5pdFN1Yk1vZHVsZVRhc2soY3VzdG9tQXJnczogc3RyaW5nW10pOiBTdHJpbmdUYXNrPHN0cmluZz4ge1xuICAgcmV0dXJuIHN1Yk1vZHVsZVRhc2soWydpbml0JywgLi4uY3VzdG9tQXJnc10pO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3ViTW9kdWxlVGFzayhjdXN0b21BcmdzOiBzdHJpbmdbXSk6IFN0cmluZ1Rhc2s8c3RyaW5nPiB7XG4gICBjb25zdCBjb21tYW5kcyA9IFsuLi5jdXN0b21BcmdzXTtcbiAgIGlmIChjb21tYW5kc1swXSAhPT0gJ3N1Ym1vZHVsZScpIHtcbiAgICAgIGNvbW1hbmRzLnVuc2hpZnQoJ3N1Ym1vZHVsZScpO1xuICAgfVxuXG4gICByZXR1cm4gc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayhjb21tYW5kcyk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB1cGRhdGVTdWJNb2R1bGVUYXNrKGN1c3RvbUFyZ3M6IHN0cmluZ1tdKTogU3RyaW5nVGFzazxzdHJpbmc+IHtcbiAgIHJldHVybiBzdWJNb2R1bGVUYXNrKFsndXBkYXRlJywgLi4uY3VzdG9tQXJnc10pO1xufVxuIiwgImltcG9ydCB7IFRhZ1Jlc3VsdCB9IGZyb20gJy4uLy4uLy4uL3R5cGluZ3MnO1xuXG5leHBvcnQgY2xhc3MgVGFnTGlzdCBpbXBsZW1lbnRzIFRhZ1Jlc3VsdCB7XG4gICBjb25zdHJ1Y3RvcihcbiAgICAgIHB1YmxpYyByZWFkb25seSBhbGw6IHN0cmluZ1tdLFxuICAgICAgcHVibGljIHJlYWRvbmx5IGxhdGVzdDogc3RyaW5nIHwgdW5kZWZpbmVkXG4gICApIHt9XG59XG5cbmV4cG9ydCBjb25zdCBwYXJzZVRhZ0xpc3QgPSBmdW5jdGlvbiAoZGF0YTogc3RyaW5nLCBjdXN0b21Tb3J0ID0gZmFsc2UpIHtcbiAgIGNvbnN0IHRhZ3MgPSBkYXRhLnNwbGl0KCdcXG4nKS5tYXAodHJpbW1lZCkuZmlsdGVyKEJvb2xlYW4pO1xuXG4gICBpZiAoIWN1c3RvbVNvcnQpIHtcbiAgICAgIHRhZ3Muc29ydChmdW5jdGlvbiAodGFnQSwgdGFnQikge1xuICAgICAgICAgY29uc3QgcGFydHNBID0gdGFnQS5zcGxpdCgnLicpO1xuICAgICAgICAgY29uc3QgcGFydHNCID0gdGFnQi5zcGxpdCgnLicpO1xuXG4gICAgICAgICBpZiAocGFydHNBLmxlbmd0aCA9PT0gMSB8fCBwYXJ0c0IubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICByZXR1cm4gc2luZ2xlU29ydGVkKHRvTnVtYmVyKHBhcnRzQVswXSksIHRvTnVtYmVyKHBhcnRzQlswXSkpO1xuICAgICAgICAgfVxuXG4gICAgICAgICBmb3IgKGxldCBpID0gMCwgbCA9IE1hdGgubWF4KHBhcnRzQS5sZW5ndGgsIHBhcnRzQi5sZW5ndGgpOyBpIDwgbDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBkaWZmID0gc29ydGVkKHRvTnVtYmVyKHBhcnRzQVtpXSksIHRvTnVtYmVyKHBhcnRzQltpXSkpO1xuXG4gICAgICAgICAgICBpZiAoZGlmZikge1xuICAgICAgICAgICAgICAgcmV0dXJuIGRpZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgICB9XG5cbiAgICAgICAgIHJldHVybiAwO1xuICAgICAgfSk7XG4gICB9XG5cbiAgIGNvbnN0IGxhdGVzdCA9IGN1c3RvbVNvcnQgPyB0YWdzWzBdIDogWy4uLnRhZ3NdLnJldmVyc2UoKS5maW5kKCh0YWcpID0+IHRhZy5pbmRleE9mKCcuJykgPj0gMCk7XG5cbiAgIHJldHVybiBuZXcgVGFnTGlzdCh0YWdzLCBsYXRlc3QpO1xufTtcblxuZnVuY3Rpb24gc2luZ2xlU29ydGVkKGE6IG51bWJlciwgYjogbnVtYmVyKTogbnVtYmVyIHtcbiAgIGNvbnN0IGFJc051bSA9IGlzTmFOKGEpO1xuICAgY29uc3QgYklzTnVtID0gaXNOYU4oYik7XG5cbiAgIGlmIChhSXNOdW0gIT09IGJJc051bSkge1xuICAgICAgcmV0dXJuIGFJc051bSA/IDEgOiAtMTtcbiAgIH1cblxuICAgcmV0dXJuIGFJc051bSA/IHNvcnRlZChhLCBiKSA6IDA7XG59XG5cbmZ1bmN0aW9uIHNvcnRlZChhOiBudW1iZXIsIGI6IG51bWJlcikge1xuICAgcmV0dXJuIGEgPT09IGIgPyAwIDogYSA+IGIgPyAxIDogLTE7XG59XG5cbmZ1bmN0aW9uIHRyaW1tZWQoaW5wdXQ6IHN0cmluZykge1xuICAgcmV0dXJuIGlucHV0LnRyaW0oKTtcbn1cblxuZnVuY3Rpb24gdG9OdW1iZXIoaW5wdXQ6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiBwYXJzZUludChpbnB1dC5yZXBsYWNlKC9eXFxEKy9nLCAnJyksIDEwKSB8fCAwO1xuICAgfVxuXG4gICByZXR1cm4gMDtcbn1cbiIsICJpbXBvcnQgeyBUYWdSZXN1bHQgfSBmcm9tICcuLi8uLi8uLi90eXBpbmdzJztcbmltcG9ydCB7IHBhcnNlVGFnTGlzdCB9IGZyb20gJy4uL3Jlc3BvbnNlcy9UYWdMaXN0JztcbmltcG9ydCB7IFN0cmluZ1Rhc2sgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogVGFzayB1c2VkIGJ5IGBnaXQudGFnc2BcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHRhZ0xpc3RUYXNrKGN1c3RvbUFyZ3M6IHN0cmluZ1tdID0gW10pOiBTdHJpbmdUYXNrPFRhZ1Jlc3VsdD4ge1xuICAgY29uc3QgaGFzQ3VzdG9tU29ydCA9IGN1c3RvbUFyZ3Muc29tZSgob3B0aW9uKSA9PiAvXi0tc29ydD0vLnRlc3Qob3B0aW9uKSk7XG5cbiAgIHJldHVybiB7XG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBjb21tYW5kczogWyd0YWcnLCAnLWwnLCAuLi5jdXN0b21BcmdzXSxcbiAgICAgIHBhcnNlcih0ZXh0OiBzdHJpbmcpIHtcbiAgICAgICAgIHJldHVybiBwYXJzZVRhZ0xpc3QodGV4dCwgaGFzQ3VzdG9tU29ydCk7XG4gICAgICB9LFxuICAgfTtcbn1cblxuLyoqXG4gKiBUYXNrIHVzZWQgYnkgYGdpdC5hZGRUYWdgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRUYWdUYXNrKG5hbWU6IHN0cmluZyk6IFN0cmluZ1Rhc2s8eyBuYW1lOiBzdHJpbmcgfT4ge1xuICAgcmV0dXJuIHtcbiAgICAgIGZvcm1hdDogJ3V0Zi04JyxcbiAgICAgIGNvbW1hbmRzOiBbJ3RhZycsIG5hbWVdLFxuICAgICAgcGFyc2VyKCkge1xuICAgICAgICAgcmV0dXJuIHsgbmFtZSB9O1xuICAgICAgfSxcbiAgIH07XG59XG5cbi8qKlxuICogVGFzayB1c2VkIGJ5IGBnaXQuYWRkVGFnYFxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkQW5ub3RhdGVkVGFnVGFzayhcbiAgIG5hbWU6IHN0cmluZyxcbiAgIHRhZ01lc3NhZ2U6IHN0cmluZ1xuKTogU3RyaW5nVGFzazx7IG5hbWU6IHN0cmluZyB9PiB7XG4gICByZXR1cm4ge1xuICAgICAgZm9ybWF0OiAndXRmLTgnLFxuICAgICAgY29tbWFuZHM6IFsndGFnJywgJy1hJywgJy1tJywgdGFnTWVzc2FnZSwgbmFtZV0sXG4gICAgICBwYXJzZXIoKSB7XG4gICAgICAgICByZXR1cm4geyBuYW1lIH07XG4gICAgICB9LFxuICAgfTtcbn1cbiIsICJjb25zdCB7IEdpdEV4ZWN1dG9yIH0gPSByZXF1aXJlKCcuL2xpYi9ydW5uZXJzL2dpdC1leGVjdXRvcicpO1xuY29uc3QgeyBTaW1wbGVHaXRBcGkgfSA9IHJlcXVpcmUoJy4vbGliL3NpbXBsZS1naXQtYXBpJyk7XG5cbmNvbnN0IHsgU2NoZWR1bGVyIH0gPSByZXF1aXJlKCcuL2xpYi9ydW5uZXJzL3NjaGVkdWxlcicpO1xuY29uc3QgeyBjb25maWd1cmF0aW9uRXJyb3JUYXNrIH0gPSByZXF1aXJlKCcuL2xpYi90YXNrcy90YXNrJyk7XG5jb25zdCB7XG4gICBhc0FycmF5LFxuICAgZmlsdGVyQXJyYXksXG4gICBmaWx0ZXJQcmltaXRpdmVzLFxuICAgZmlsdGVyU3RyaW5nLFxuICAgZmlsdGVyU3RyaW5nT3JTdHJpbmdBcnJheSxcbiAgIGZpbHRlclR5cGUsXG4gICBnZXRUcmFpbGluZ09wdGlvbnMsXG4gICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQsXG4gICB0cmFpbGluZ09wdGlvbnNBcmd1bWVudCxcbn0gPSByZXF1aXJlKCcuL2xpYi91dGlscycpO1xuY29uc3QgeyBhcHBseVBhdGNoVGFzayB9ID0gcmVxdWlyZSgnLi9saWIvdGFza3MvYXBwbHktcGF0Y2gnKTtcbmNvbnN0IHtcbiAgIGJyYW5jaFRhc2ssXG4gICBicmFuY2hMb2NhbFRhc2ssXG4gICBkZWxldGVCcmFuY2hlc1Rhc2ssXG4gICBkZWxldGVCcmFuY2hUYXNrLFxufSA9IHJlcXVpcmUoJy4vbGliL3Rhc2tzL2JyYW5jaCcpO1xuY29uc3QgeyBjaGVja0lnbm9yZVRhc2sgfSA9IHJlcXVpcmUoJy4vbGliL3Rhc2tzL2NoZWNrLWlnbm9yZScpO1xuY29uc3QgeyBjaGVja0lzUmVwb1Rhc2sgfSA9IHJlcXVpcmUoJy4vbGliL3Rhc2tzL2NoZWNrLWlzLXJlcG8nKTtcbmNvbnN0IHsgY2xvbmVUYXNrLCBjbG9uZU1pcnJvclRhc2sgfSA9IHJlcXVpcmUoJy4vbGliL3Rhc2tzL2Nsb25lJyk7XG5jb25zdCB7IGNsZWFuV2l0aE9wdGlvbnNUYXNrLCBpc0NsZWFuT3B0aW9uc0FycmF5IH0gPSByZXF1aXJlKCcuL2xpYi90YXNrcy9jbGVhbicpO1xuY29uc3QgeyBkaWZmU3VtbWFyeVRhc2sgfSA9IHJlcXVpcmUoJy4vbGliL3Rhc2tzL2RpZmYnKTtcbmNvbnN0IHsgZmV0Y2hUYXNrIH0gPSByZXF1aXJlKCcuL2xpYi90YXNrcy9mZXRjaCcpO1xuY29uc3QgeyBtb3ZlVGFzayB9ID0gcmVxdWlyZSgnLi9saWIvdGFza3MvbW92ZScpO1xuY29uc3QgeyBwdWxsVGFzayB9ID0gcmVxdWlyZSgnLi9saWIvdGFza3MvcHVsbCcpO1xuY29uc3QgeyBwdXNoVGFnc1Rhc2sgfSA9IHJlcXVpcmUoJy4vbGliL3Rhc2tzL3B1c2gnKTtcbmNvbnN0IHtcbiAgIGFkZFJlbW90ZVRhc2ssXG4gICBnZXRSZW1vdGVzVGFzayxcbiAgIGxpc3RSZW1vdGVzVGFzayxcbiAgIHJlbW90ZVRhc2ssXG4gICByZW1vdmVSZW1vdGVUYXNrLFxufSA9IHJlcXVpcmUoJy4vbGliL3Rhc2tzL3JlbW90ZScpO1xuY29uc3QgeyBnZXRSZXNldE1vZGUsIHJlc2V0VGFzayB9ID0gcmVxdWlyZSgnLi9saWIvdGFza3MvcmVzZXQnKTtcbmNvbnN0IHsgc3Rhc2hMaXN0VGFzayB9ID0gcmVxdWlyZSgnLi9saWIvdGFza3Mvc3Rhc2gtbGlzdCcpO1xuY29uc3Qge1xuICAgYWRkU3ViTW9kdWxlVGFzayxcbiAgIGluaXRTdWJNb2R1bGVUYXNrLFxuICAgc3ViTW9kdWxlVGFzayxcbiAgIHVwZGF0ZVN1Yk1vZHVsZVRhc2ssXG59ID0gcmVxdWlyZSgnLi9saWIvdGFza3Mvc3ViLW1vZHVsZScpO1xuY29uc3QgeyBhZGRBbm5vdGF0ZWRUYWdUYXNrLCBhZGRUYWdUYXNrLCB0YWdMaXN0VGFzayB9ID0gcmVxdWlyZSgnLi9saWIvdGFza3MvdGFnJyk7XG5jb25zdCB7IHN0cmFpZ2h0VGhyb3VnaEJ1ZmZlclRhc2ssIHN0cmFpZ2h0VGhyb3VnaFN0cmluZ1Rhc2sgfSA9IHJlcXVpcmUoJy4vbGliL3Rhc2tzL3Rhc2snKTtcblxuZnVuY3Rpb24gR2l0KG9wdGlvbnMsIHBsdWdpbnMpIHtcbiAgIHRoaXMuX3BsdWdpbnMgPSBwbHVnaW5zO1xuICAgdGhpcy5fZXhlY3V0b3IgPSBuZXcgR2l0RXhlY3V0b3IoXG4gICAgICBvcHRpb25zLmJhc2VEaXIsXG4gICAgICBuZXcgU2NoZWR1bGVyKG9wdGlvbnMubWF4Q29uY3VycmVudFByb2Nlc3NlcyksXG4gICAgICBwbHVnaW5zXG4gICApO1xuXG4gICB0aGlzLl90cmltbWVkID0gb3B0aW9ucy50cmltbWVkO1xufVxuXG4oR2l0LnByb3RvdHlwZSA9IE9iamVjdC5jcmVhdGUoU2ltcGxlR2l0QXBpLnByb3RvdHlwZSkpLmNvbnN0cnVjdG9yID0gR2l0O1xuXG4vKipcbiAqIFNldHMgdGhlIHBhdGggdG8gYSBjdXN0b20gZ2l0IGJpbmFyeSwgc2hvdWxkIGVpdGhlciBiZSBgZ2l0YCB3aGVuIHRoZXJlIGlzIGFuIGluc3RhbGxhdGlvbiBvZiBnaXQgYXZhaWxhYmxlIG9uXG4gKiB0aGUgc3lzdGVtIHBhdGgsIG9yIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGggdG8gdGhlIGV4ZWN1dGFibGUuXG4gKi9cbkdpdC5wcm90b3R5cGUuY3VzdG9tQmluYXJ5ID0gZnVuY3Rpb24gKGNvbW1hbmQpIHtcbiAgIHRoaXMuX3BsdWdpbnMucmVjb25maWd1cmUoJ2JpbmFyeScsIGNvbW1hbmQpO1xuICAgcmV0dXJuIHRoaXM7XG59O1xuXG4vKipcbiAqIFNldHMgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgZm9yIHRoZSBzcGF3bmVkIGNoaWxkIHByb2Nlc3MsIGVpdGhlciBzdXBwbHkgYm90aCBhIG5hbWUgYW5kIHZhbHVlIGFzIHN0cmluZ3Mgb3JcbiAqIGEgc2luZ2xlIG9iamVjdCB0byBlbnRpcmVseSByZXBsYWNlIHRoZSBjdXJyZW50IGVudmlyb25tZW50IHZhcmlhYmxlcy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ3xPYmplY3R9IG5hbWVcbiAqIEBwYXJhbSB7c3RyaW5nfSBbdmFsdWVdXG4gKiBAcmV0dXJucyB7R2l0fVxuICovXG5HaXQucHJvdG90eXBlLmVudiA9IGZ1bmN0aW9uIChuYW1lLCB2YWx1ZSkge1xuICAgaWYgKGFyZ3VtZW50cy5sZW5ndGggPT09IDEgJiYgdHlwZW9mIG5hbWUgPT09ICdvYmplY3QnKSB7XG4gICAgICB0aGlzLl9leGVjdXRvci5lbnYgPSBuYW1lO1xuICAgfSBlbHNlIHtcbiAgICAgICh0aGlzLl9leGVjdXRvci5lbnYgPSB0aGlzLl9leGVjdXRvci5lbnYgfHwge30pW25hbWVdID0gdmFsdWU7XG4gICB9XG5cbiAgIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBMaXN0IHRoZSBzdGFzaChzKSBvZiB0aGUgbG9jYWwgcmVwb1xuICovXG5HaXQucHJvdG90eXBlLnN0YXNoTGlzdCA9IGZ1bmN0aW9uIChvcHRpb25zKSB7XG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgIHN0YXNoTGlzdFRhc2soXG4gICAgICAgICB0cmFpbGluZ09wdGlvbnNBcmd1bWVudChhcmd1bWVudHMpIHx8IHt9LFxuICAgICAgICAgKGZpbHRlckFycmF5KG9wdGlvbnMpICYmIG9wdGlvbnMpIHx8IFtdXG4gICAgICApLFxuICAgICAgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cylcbiAgICk7XG59O1xuXG5mdW5jdGlvbiBjcmVhdGVDbG9uZVRhc2soYXBpLCB0YXNrLCByZXBvUGF0aCwgbG9jYWxQYXRoKSB7XG4gICBpZiAodHlwZW9mIHJlcG9QYXRoICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIGNvbmZpZ3VyYXRpb25FcnJvclRhc2soYGdpdC4ke2FwaX0oKSByZXF1aXJlcyBhIHN0cmluZyAncmVwb1BhdGgnYCk7XG4gICB9XG5cbiAgIHJldHVybiB0YXNrKHJlcG9QYXRoLCBmaWx0ZXJUeXBlKGxvY2FsUGF0aCwgZmlsdGVyU3RyaW5nKSwgZ2V0VHJhaWxpbmdPcHRpb25zKGFyZ3VtZW50cykpO1xufVxuXG4vKipcbiAqIENsb25lIGEgZ2l0IHJlcG9cbiAqL1xuR2l0LnByb3RvdHlwZS5jbG9uZSA9IGZ1bmN0aW9uICgpIHtcbiAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgY3JlYXRlQ2xvbmVUYXNrKCdjbG9uZScsIGNsb25lVGFzaywgLi4uYXJndW1lbnRzKSxcbiAgICAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpXG4gICApO1xufTtcblxuLyoqXG4gKiBNaXJyb3IgYSBnaXQgcmVwb1xuICovXG5HaXQucHJvdG90eXBlLm1pcnJvciA9IGZ1bmN0aW9uICgpIHtcbiAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgY3JlYXRlQ2xvbmVUYXNrKCdtaXJyb3InLCBjbG9uZU1pcnJvclRhc2ssIC4uLmFyZ3VtZW50cyksXG4gICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgKTtcbn07XG5cbi8qKlxuICogTW92ZXMgb25lIG9yIG1vcmUgZmlsZXMgdG8gYSBuZXcgZGVzdGluYXRpb24uXG4gKlxuICogQHNlZSBodHRwczovL2dpdC1zY20uY29tL2RvY3MvZ2l0LW12XG4gKlxuICogQHBhcmFtIHtzdHJpbmd8c3RyaW5nW119IGZyb21cbiAqIEBwYXJhbSB7c3RyaW5nfSB0b1xuICovXG5HaXQucHJvdG90eXBlLm12ID0gZnVuY3Rpb24gKGZyb20sIHRvKSB7XG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayhtb3ZlVGFzayhmcm9tLCB0byksIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpKTtcbn07XG5cbi8qKlxuICogSW50ZXJuYWxseSB1c2VzIHB1bGwgYW5kIHRhZ3MgdG8gZ2V0IHRoZSBsaXN0IG9mIHRhZ3MgdGhlbiBjaGVja3Mgb3V0IHRoZSBsYXRlc3QgdGFnLlxuICpcbiAqIEBwYXJhbSB7RnVuY3Rpb259IFt0aGVuXVxuICovXG5HaXQucHJvdG90eXBlLmNoZWNrb3V0TGF0ZXN0VGFnID0gZnVuY3Rpb24gKHRoZW4pIHtcbiAgIHZhciBnaXQgPSB0aGlzO1xuICAgcmV0dXJuIHRoaXMucHVsbChmdW5jdGlvbiAoKSB7XG4gICAgICBnaXQudGFncyhmdW5jdGlvbiAoZXJyLCB0YWdzKSB7XG4gICAgICAgICBnaXQuY2hlY2tvdXQodGFncy5sYXRlc3QsIHRoZW4pO1xuICAgICAgfSk7XG4gICB9KTtcbn07XG5cbi8qKlxuICogUHVsbCB0aGUgdXBkYXRlZCBjb250ZW50cyBvZiB0aGUgY3VycmVudCByZXBvXG4gKi9cbkdpdC5wcm90b3R5cGUucHVsbCA9IGZ1bmN0aW9uIChyZW1vdGUsIGJyYW5jaCwgb3B0aW9ucywgdGhlbikge1xuICAgcmV0dXJuIHRoaXMuX3J1blRhc2soXG4gICAgICBwdWxsVGFzayhcbiAgICAgICAgIGZpbHRlclR5cGUocmVtb3RlLCBmaWx0ZXJTdHJpbmcpLFxuICAgICAgICAgZmlsdGVyVHlwZShicmFuY2gsIGZpbHRlclN0cmluZyksXG4gICAgICAgICBnZXRUcmFpbGluZ09wdGlvbnMoYXJndW1lbnRzKVxuICAgICAgKSxcbiAgICAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpXG4gICApO1xufTtcblxuLyoqXG4gKiBGZXRjaCB0aGUgdXBkYXRlZCBjb250ZW50cyBvZiB0aGUgY3VycmVudCByZXBvLlxuICpcbiAqIEBleGFtcGxlXG4gKiAgIC5mZXRjaCgndXBzdHJlYW0nLCAnbWFzdGVyJykgLy8gZmV0Y2hlcyBmcm9tIG1hc3RlciBvbiByZW1vdGUgbmFtZWQgdXBzdHJlYW1cbiAqICAgLmZldGNoKGZ1bmN0aW9uICgpIHt9KSAvLyBydW5zIGZldGNoIGFnYWluc3QgZGVmYXVsdCByZW1vdGUgYW5kIGJyYW5jaCBhbmQgY2FsbHMgZnVuY3Rpb25cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ30gW3JlbW90ZV1cbiAqIEBwYXJhbSB7c3RyaW5nfSBbYnJhbmNoXVxuICovXG5HaXQucHJvdG90eXBlLmZldGNoID0gZnVuY3Rpb24gKHJlbW90ZSwgYnJhbmNoKSB7XG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgIGZldGNoVGFzayhcbiAgICAgICAgIGZpbHRlclR5cGUocmVtb3RlLCBmaWx0ZXJTdHJpbmcpLFxuICAgICAgICAgZmlsdGVyVHlwZShicmFuY2gsIGZpbHRlclN0cmluZyksXG4gICAgICAgICBnZXRUcmFpbGluZ09wdGlvbnMoYXJndW1lbnRzKVxuICAgICAgKSxcbiAgICAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpXG4gICApO1xufTtcblxuLyoqXG4gKiBEaXNhYmxlcy9lbmFibGVzIHRoZSB1c2Ugb2YgdGhlIGNvbnNvbGUgZm9yIHByaW50aW5nIHdhcm5pbmdzIGFuZCBlcnJvcnMsIGJ5IGRlZmF1bHQgbWVzc2FnZXMgYXJlIG5vdCBzaG93biBpblxuICogYSBwcm9kdWN0aW9uIGVudmlyb25tZW50LlxuICpcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gc2lsZW5jZVxuICogQHJldHVybnMge0dpdH1cbiAqL1xuR2l0LnByb3RvdHlwZS5zaWxlbnQgPSBmdW5jdGlvbiAoc2lsZW5jZSkge1xuICAgY29uc29sZS53YXJuKFxuICAgICAgJ3NpbXBsZS1naXQgZGVwcmVjYXRpb24gbm90aWNlOiBnaXQuc2lsZW50OiBsb2dnaW5nIHNob3VsZCBiZSBjb25maWd1cmVkIHVzaW5nIHRoZSBgZGVidWdgIGxpYnJhcnkgLyBgREVCVUdgIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGlzIHdpbGwgYmUgYW4gZXJyb3IgaW4gdmVyc2lvbiAzJ1xuICAgKTtcbiAgIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBMaXN0IGFsbCB0YWdzLiBXaGVuIHVzaW5nIGdpdCAyLjcuMCBvciBhYm92ZSwgaW5jbHVkZSBhbiBvcHRpb25zIG9iamVjdCB3aXRoIGBcIi0tc29ydFwiOiBcInByb3BlcnR5LW5hbWVcImAgdG9cbiAqIHNvcnQgdGhlIHRhZ3MgYnkgdGhhdCBwcm9wZXJ0eSBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBkZWZhdWx0IHNlbWFudGljIHZlcnNpb25pbmcgc29ydC5cbiAqXG4gKiBOb3RlLCBzdXBwbHlpbmcgdGhpcyBvcHRpb24gd2hlbiBpdCBpcyBub3Qgc3VwcG9ydGVkIGJ5IHlvdXIgR2l0IHZlcnNpb24gd2lsbCBjYXVzZSB0aGUgb3BlcmF0aW9uIHRvIGZhaWwuXG4gKlxuICogQHBhcmFtIHtPYmplY3R9IFtvcHRpb25zXVxuICogQHBhcmFtIHtGdW5jdGlvbn0gW3RoZW5dXG4gKi9cbkdpdC5wcm90b3R5cGUudGFncyA9IGZ1bmN0aW9uIChvcHRpb25zLCB0aGVuKSB7XG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgIHRhZ0xpc3RUYXNrKGdldFRyYWlsaW5nT3B0aW9ucyhhcmd1bWVudHMpKSxcbiAgICAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpXG4gICApO1xufTtcblxuLyoqXG4gKiBSZWJhc2VzIHRoZSBjdXJyZW50IHdvcmtpbmcgY29weS4gT3B0aW9ucyBjYW4gYmUgc3VwcGxpZWQgZWl0aGVyIGFzIGFuIGFycmF5IG9mIHN0cmluZyBwYXJhbWV0ZXJzXG4gKiB0byBiZSBzZW50IHRvIHRoZSBgZ2l0IHJlYmFzZWAgY29tbWFuZCwgb3IgYSBzdGFuZGFyZCBvcHRpb25zIG9iamVjdC5cbiAqL1xuR2l0LnByb3RvdHlwZS5yZWJhc2UgPSBmdW5jdGlvbiAoKSB7XG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgIHN0cmFpZ2h0VGhyb3VnaFN0cmluZ1Rhc2soWydyZWJhc2UnLCAuLi5nZXRUcmFpbGluZ09wdGlvbnMoYXJndW1lbnRzKV0pLFxuICAgICAgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cylcbiAgICk7XG59O1xuXG4vKipcbiAqIFJlc2V0IGEgcmVwb1xuICovXG5HaXQucHJvdG90eXBlLnJlc2V0ID0gZnVuY3Rpb24gKG1vZGUpIHtcbiAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgcmVzZXRUYXNrKGdldFJlc2V0TW9kZShtb2RlKSwgZ2V0VHJhaWxpbmdPcHRpb25zKGFyZ3VtZW50cykpLFxuICAgICAgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cylcbiAgICk7XG59O1xuXG4vKipcbiAqIFJldmVydCBvbmUgb3IgbW9yZSBjb21taXRzIGluIHRoZSBsb2NhbCB3b3JraW5nIGNvcHlcbiAqL1xuR2l0LnByb3RvdHlwZS5yZXZlcnQgPSBmdW5jdGlvbiAoY29tbWl0KSB7XG4gICBjb25zdCBuZXh0ID0gdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cyk7XG5cbiAgIGlmICh0eXBlb2YgY29tbWl0ICE9PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIHRoaXMuX3J1blRhc2soY29uZmlndXJhdGlvbkVycm9yVGFzaygnQ29tbWl0IG11c3QgYmUgYSBzdHJpbmcnKSwgbmV4dCk7XG4gICB9XG5cbiAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayhbJ3JldmVydCcsIC4uLmdldFRyYWlsaW5nT3B0aW9ucyhhcmd1bWVudHMsIDAsIHRydWUpLCBjb21taXRdKSxcbiAgICAgIG5leHRcbiAgICk7XG59O1xuXG4vKipcbiAqIEFkZCBhIGxpZ2h0d2VpZ2h0IHRhZyB0byB0aGUgaGVhZCBvZiB0aGUgY3VycmVudCBicmFuY2hcbiAqL1xuR2l0LnByb3RvdHlwZS5hZGRUYWcgPSBmdW5jdGlvbiAobmFtZSkge1xuICAgY29uc3QgdGFzayA9XG4gICAgICB0eXBlb2YgbmFtZSA9PT0gJ3N0cmluZydcbiAgICAgICAgID8gYWRkVGFnVGFzayhuYW1lKVxuICAgICAgICAgOiBjb25maWd1cmF0aW9uRXJyb3JUYXNrKCdHaXQuYWRkVGFnIHJlcXVpcmVzIGEgdGFnIG5hbWUnKTtcblxuICAgcmV0dXJuIHRoaXMuX3J1blRhc2sodGFzaywgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cykpO1xufTtcblxuLyoqXG4gKiBBZGQgYW4gYW5ub3RhdGVkIHRhZyB0byB0aGUgaGVhZCBvZiB0aGUgY3VycmVudCBicmFuY2hcbiAqL1xuR2l0LnByb3RvdHlwZS5hZGRBbm5vdGF0ZWRUYWcgPSBmdW5jdGlvbiAodGFnTmFtZSwgdGFnTWVzc2FnZSkge1xuICAgcmV0dXJuIHRoaXMuX3J1blRhc2soXG4gICAgICBhZGRBbm5vdGF0ZWRUYWdUYXNrKHRhZ05hbWUsIHRhZ01lc3NhZ2UpLFxuICAgICAgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cylcbiAgICk7XG59O1xuXG4vKipcbiAqIERlbGV0ZSBhIGxvY2FsIGJyYW5jaFxuICovXG5HaXQucHJvdG90eXBlLmRlbGV0ZUxvY2FsQnJhbmNoID0gZnVuY3Rpb24gKGJyYW5jaE5hbWUsIGZvcmNlRGVsZXRlLCB0aGVuKSB7XG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgIGRlbGV0ZUJyYW5jaFRhc2soYnJhbmNoTmFtZSwgdHlwZW9mIGZvcmNlRGVsZXRlID09PSAnYm9vbGVhbicgPyBmb3JjZURlbGV0ZSA6IGZhbHNlKSxcbiAgICAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpXG4gICApO1xufTtcblxuLyoqXG4gKiBEZWxldGUgb25lIG9yIG1vcmUgbG9jYWwgYnJhbmNoZXNcbiAqL1xuR2l0LnByb3RvdHlwZS5kZWxldGVMb2NhbEJyYW5jaGVzID0gZnVuY3Rpb24gKGJyYW5jaE5hbWVzLCBmb3JjZURlbGV0ZSwgdGhlbikge1xuICAgcmV0dXJuIHRoaXMuX3J1blRhc2soXG4gICAgICBkZWxldGVCcmFuY2hlc1Rhc2soYnJhbmNoTmFtZXMsIHR5cGVvZiBmb3JjZURlbGV0ZSA9PT0gJ2Jvb2xlYW4nID8gZm9yY2VEZWxldGUgOiBmYWxzZSksXG4gICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgKTtcbn07XG5cbi8qKlxuICogTGlzdCBhbGwgYnJhbmNoZXNcbiAqXG4gKiBAcGFyYW0ge09iamVjdCB8IHN0cmluZ1tdfSBbb3B0aW9uc11cbiAqIEBwYXJhbSB7RnVuY3Rpb259IFt0aGVuXVxuICovXG5HaXQucHJvdG90eXBlLmJyYW5jaCA9IGZ1bmN0aW9uIChvcHRpb25zLCB0aGVuKSB7XG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgIGJyYW5jaFRhc2soZ2V0VHJhaWxpbmdPcHRpb25zKGFyZ3VtZW50cykpLFxuICAgICAgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cylcbiAgICk7XG59O1xuXG4vKipcbiAqIFJldHVybiBsaXN0IG9mIGxvY2FsIGJyYW5jaGVzXG4gKlxuICogQHBhcmFtIHtGdW5jdGlvbn0gW3RoZW5dXG4gKi9cbkdpdC5wcm90b3R5cGUuYnJhbmNoTG9jYWwgPSBmdW5jdGlvbiAodGhlbikge1xuICAgcmV0dXJuIHRoaXMuX3J1blRhc2soYnJhbmNoTG9jYWxUYXNrKCksIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpKTtcbn07XG5cbi8qKlxuICogRXhlY3V0ZXMgYW55IGNvbW1hbmQgYWdhaW5zdCB0aGUgZ2l0IGJpbmFyeS5cbiAqL1xuR2l0LnByb3RvdHlwZS5yYXcgPSBmdW5jdGlvbiAoY29tbWFuZHMpIHtcbiAgIGNvbnN0IGNyZWF0ZVJlc3RDb21tYW5kcyA9ICFBcnJheS5pc0FycmF5KGNvbW1hbmRzKTtcbiAgIGNvbnN0IGNvbW1hbmQgPSBbXS5zbGljZS5jYWxsKGNyZWF0ZVJlc3RDb21tYW5kcyA/IGFyZ3VtZW50cyA6IGNvbW1hbmRzLCAwKTtcblxuICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb21tYW5kLmxlbmd0aCAmJiBjcmVhdGVSZXN0Q29tbWFuZHM7IGkrKykge1xuICAgICAgaWYgKCFmaWx0ZXJQcmltaXRpdmVzKGNvbW1hbmRbaV0pKSB7XG4gICAgICAgICBjb21tYW5kLnNwbGljZShpLCBjb21tYW5kLmxlbmd0aCAtIGkpO1xuICAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICB9XG5cbiAgIGNvbW1hbmQucHVzaCguLi5nZXRUcmFpbGluZ09wdGlvbnMoYXJndW1lbnRzLCAwLCB0cnVlKSk7XG5cbiAgIHZhciBuZXh0ID0gdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cyk7XG5cbiAgIGlmICghY29tbWFuZC5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgICAgY29uZmlndXJhdGlvbkVycm9yVGFzaygnUmF3OiBtdXN0IHN1cHBseSBvbmUgb3IgbW9yZSBjb21tYW5kIHRvIGV4ZWN1dGUnKSxcbiAgICAgICAgIG5leHRcbiAgICAgICk7XG4gICB9XG5cbiAgIHJldHVybiB0aGlzLl9ydW5UYXNrKHN0cmFpZ2h0VGhyb3VnaFN0cmluZ1Rhc2soY29tbWFuZCwgdGhpcy5fdHJpbW1lZCksIG5leHQpO1xufTtcblxuR2l0LnByb3RvdHlwZS5zdWJtb2R1bGVBZGQgPSBmdW5jdGlvbiAocmVwbywgcGF0aCwgdGhlbikge1xuICAgcmV0dXJuIHRoaXMuX3J1blRhc2soYWRkU3ViTW9kdWxlVGFzayhyZXBvLCBwYXRoKSwgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cykpO1xufTtcblxuR2l0LnByb3RvdHlwZS5zdWJtb2R1bGVVcGRhdGUgPSBmdW5jdGlvbiAoYXJncywgdGhlbikge1xuICAgcmV0dXJuIHRoaXMuX3J1blRhc2soXG4gICAgICB1cGRhdGVTdWJNb2R1bGVUYXNrKGdldFRyYWlsaW5nT3B0aW9ucyhhcmd1bWVudHMsIHRydWUpKSxcbiAgICAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpXG4gICApO1xufTtcblxuR2l0LnByb3RvdHlwZS5zdWJtb2R1bGVJbml0ID0gZnVuY3Rpb24gKGFyZ3MsIHRoZW4pIHtcbiAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgaW5pdFN1Yk1vZHVsZVRhc2soZ2V0VHJhaWxpbmdPcHRpb25zKGFyZ3VtZW50cywgdHJ1ZSkpLFxuICAgICAgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cylcbiAgICk7XG59O1xuXG5HaXQucHJvdG90eXBlLnN1Yk1vZHVsZSA9IGZ1bmN0aW9uIChvcHRpb25zLCB0aGVuKSB7XG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgIHN1Yk1vZHVsZVRhc2soZ2V0VHJhaWxpbmdPcHRpb25zKGFyZ3VtZW50cykpLFxuICAgICAgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cylcbiAgICk7XG59O1xuXG5HaXQucHJvdG90eXBlLmxpc3RSZW1vdGUgPSBmdW5jdGlvbiAoKSB7XG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgIGxpc3RSZW1vdGVzVGFzayhnZXRUcmFpbGluZ09wdGlvbnMoYXJndW1lbnRzKSksXG4gICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgKTtcbn07XG5cbi8qKlxuICogQWRkcyBhIHJlbW90ZSB0byB0aGUgbGlzdCBvZiByZW1vdGVzLlxuICovXG5HaXQucHJvdG90eXBlLmFkZFJlbW90ZSA9IGZ1bmN0aW9uIChyZW1vdGVOYW1lLCByZW1vdGVSZXBvLCB0aGVuKSB7XG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgIGFkZFJlbW90ZVRhc2socmVtb3RlTmFtZSwgcmVtb3RlUmVwbywgZ2V0VHJhaWxpbmdPcHRpb25zKGFyZ3VtZW50cykpLFxuICAgICAgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cylcbiAgICk7XG59O1xuXG4vKipcbiAqIFJlbW92ZXMgYW4gZW50cnkgYnkgbmFtZSBmcm9tIHRoZSBsaXN0IG9mIHJlbW90ZXMuXG4gKi9cbkdpdC5wcm90b3R5cGUucmVtb3ZlUmVtb3RlID0gZnVuY3Rpb24gKHJlbW90ZU5hbWUsIHRoZW4pIHtcbiAgIHJldHVybiB0aGlzLl9ydW5UYXNrKHJlbW92ZVJlbW90ZVRhc2socmVtb3RlTmFtZSksIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpKTtcbn07XG5cbi8qKlxuICogR2V0cyB0aGUgY3VycmVudGx5IGF2YWlsYWJsZSByZW1vdGVzLCBzZXR0aW5nIHRoZSBvcHRpb25hbCB2ZXJib3NlIGFyZ3VtZW50IHRvIHRydWUgaW5jbHVkZXMgYWRkaXRpb25hbFxuICogZGV0YWlsIG9uIHRoZSByZW1vdGVzIHRoZW1zZWx2ZXMuXG4gKi9cbkdpdC5wcm90b3R5cGUuZ2V0UmVtb3RlcyA9IGZ1bmN0aW9uICh2ZXJib3NlLCB0aGVuKSB7XG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayhnZXRSZW1vdGVzVGFzayh2ZXJib3NlID09PSB0cnVlKSwgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cykpO1xufTtcblxuLyoqXG4gKiBDYWxsIGFueSBgZ2l0IHJlbW90ZWAgZnVuY3Rpb24gd2l0aCBhcmd1bWVudHMgcGFzc2VkIGFzIGFuIGFycmF5IG9mIHN0cmluZ3MuXG4gKlxuICogQHBhcmFtIHtzdHJpbmdbXX0gb3B0aW9uc1xuICogQHBhcmFtIHtGdW5jdGlvbn0gW3RoZW5dXG4gKi9cbkdpdC5wcm90b3R5cGUucmVtb3RlID0gZnVuY3Rpb24gKG9wdGlvbnMsIHRoZW4pIHtcbiAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgcmVtb3RlVGFzayhnZXRUcmFpbGluZ09wdGlvbnMoYXJndW1lbnRzKSksXG4gICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgKTtcbn07XG5cbi8qKlxuICogQ2FsbCBhbnkgYGdpdCB0YWdgIGZ1bmN0aW9uIHdpdGggYXJndW1lbnRzIHBhc3NlZCBhcyBhbiBhcnJheSBvZiBzdHJpbmdzLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nW119IG9wdGlvbnNcbiAqIEBwYXJhbSB7RnVuY3Rpb259IFt0aGVuXVxuICovXG5HaXQucHJvdG90eXBlLnRhZyA9IGZ1bmN0aW9uIChvcHRpb25zLCB0aGVuKSB7XG4gICBjb25zdCBjb21tYW5kID0gZ2V0VHJhaWxpbmdPcHRpb25zKGFyZ3VtZW50cyk7XG5cbiAgIGlmIChjb21tYW5kWzBdICE9PSAndGFnJykge1xuICAgICAgY29tbWFuZC51bnNoaWZ0KCd0YWcnKTtcbiAgIH1cblxuICAgcmV0dXJuIHRoaXMuX3J1blRhc2soc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayhjb21tYW5kKSwgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cykpO1xufTtcblxuLyoqXG4gKiBVcGRhdGVzIHJlcG9zaXRvcnkgc2VydmVyIGluZm9cbiAqXG4gKiBAcGFyYW0ge0Z1bmN0aW9ufSBbdGhlbl1cbiAqL1xuR2l0LnByb3RvdHlwZS51cGRhdGVTZXJ2ZXJJbmZvID0gZnVuY3Rpb24gKHRoZW4pIHtcbiAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayhbJ3VwZGF0ZS1zZXJ2ZXItaW5mbyddKSxcbiAgICAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpXG4gICApO1xufTtcblxuLyoqXG4gKiBQdXNoZXMgdGhlIGN1cnJlbnQgdGFnIGNoYW5nZXMgdG8gYSByZW1vdGUgd2hpY2ggY2FuIGJlIGVpdGhlciBhIFVSTCBvciBuYW1lZCByZW1vdGUuIFdoZW4gbm90IHNwZWNpZmllZCB1c2VzIHRoZVxuICogZGVmYXVsdCBjb25maWd1cmVkIHJlbW90ZSBzcGVjLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfSBbcmVtb3RlXVxuICogQHBhcmFtIHtGdW5jdGlvbn0gW3RoZW5dXG4gKi9cbkdpdC5wcm90b3R5cGUucHVzaFRhZ3MgPSBmdW5jdGlvbiAocmVtb3RlLCB0aGVuKSB7XG4gICBjb25zdCB0YXNrID0gcHVzaFRhZ3NUYXNrKFxuICAgICAgeyByZW1vdGU6IGZpbHRlclR5cGUocmVtb3RlLCBmaWx0ZXJTdHJpbmcpIH0sXG4gICAgICBnZXRUcmFpbGluZ09wdGlvbnMoYXJndW1lbnRzKVxuICAgKTtcblxuICAgcmV0dXJuIHRoaXMuX3J1blRhc2sodGFzaywgdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3VtZW50cykpO1xufTtcblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBuYW1lZCBmaWxlcyBmcm9tIHNvdXJjZSBjb250cm9sLlxuICovXG5HaXQucHJvdG90eXBlLnJtID0gZnVuY3Rpb24gKGZpbGVzKSB7XG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgIHN0cmFpZ2h0VGhyb3VnaFN0cmluZ1Rhc2soWydybScsICctZicsIC4uLmFzQXJyYXkoZmlsZXMpXSksXG4gICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgKTtcbn07XG5cbi8qKlxuICogUmVtb3ZlcyB0aGUgbmFtZWQgZmlsZXMgZnJvbSBzb3VyY2UgY29udHJvbCBidXQga2VlcHMgdGhlbSBvbiBkaXNrIHJhdGhlciB0aGFuIGRlbGV0aW5nIHRoZW0gZW50aXJlbHkuIFRvXG4gKiBjb21wbGV0ZWx5IHJlbW92ZSB0aGUgZmlsZXMsIHVzZSBgcm1gLlxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfHN0cmluZ1tdfSBmaWxlc1xuICovXG5HaXQucHJvdG90eXBlLnJtS2VlcExvY2FsID0gZnVuY3Rpb24gKGZpbGVzKSB7XG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgIHN0cmFpZ2h0VGhyb3VnaFN0cmluZ1Rhc2soWydybScsICctLWNhY2hlZCcsIC4uLmFzQXJyYXkoZmlsZXMpXSksXG4gICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgKTtcbn07XG5cbi8qKlxuICogUmV0dXJucyBhIGxpc3Qgb2Ygb2JqZWN0cyBpbiBhIHRyZWUgYmFzZWQgb24gY29tbWl0IGhhc2guIFBhc3NpbmcgaW4gYW4gb2JqZWN0IGhhc2ggcmV0dXJucyB0aGUgb2JqZWN0J3MgY29udGVudCxcbiAqIHNpemUsIGFuZCB0eXBlLlxuICpcbiAqIFBhc3NpbmcgXCItcFwiIHdpbGwgaW5zdHJ1Y3QgY2F0LWZpbGUgdG8gZGV0ZXJtaW5lIHRoZSBvYmplY3QgdHlwZSwgYW5kIGRpc3BsYXkgaXRzIGZvcm1hdHRlZCBjb250ZW50cy5cbiAqXG4gKiBAcGFyYW0ge3N0cmluZ1tdfSBbb3B0aW9uc11cbiAqIEBwYXJhbSB7RnVuY3Rpb259IFt0aGVuXVxuICovXG5HaXQucHJvdG90eXBlLmNhdEZpbGUgPSBmdW5jdGlvbiAob3B0aW9ucywgdGhlbikge1xuICAgcmV0dXJuIHRoaXMuX2NhdEZpbGUoJ3V0Zi04JywgYXJndW1lbnRzKTtcbn07XG5cbkdpdC5wcm90b3R5cGUuYmluYXJ5Q2F0RmlsZSA9IGZ1bmN0aW9uICgpIHtcbiAgIHJldHVybiB0aGlzLl9jYXRGaWxlKCdidWZmZXInLCBhcmd1bWVudHMpO1xufTtcblxuR2l0LnByb3RvdHlwZS5fY2F0RmlsZSA9IGZ1bmN0aW9uIChmb3JtYXQsIGFyZ3MpIHtcbiAgIHZhciBoYW5kbGVyID0gdHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50KGFyZ3MpO1xuICAgdmFyIGNvbW1hbmQgPSBbJ2NhdC1maWxlJ107XG4gICB2YXIgb3B0aW9ucyA9IGFyZ3NbMF07XG5cbiAgIGlmICh0eXBlb2Ygb3B0aW9ucyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgICAgY29uZmlndXJhdGlvbkVycm9yVGFzaygnR2l0LmNhdEZpbGU6IG9wdGlvbnMgbXVzdCBiZSBzdXBwbGllZCBhcyBhbiBhcnJheSBvZiBzdHJpbmdzJyksXG4gICAgICAgICBoYW5kbGVyXG4gICAgICApO1xuICAgfVxuXG4gICBpZiAoQXJyYXkuaXNBcnJheShvcHRpb25zKSkge1xuICAgICAgY29tbWFuZC5wdXNoLmFwcGx5KGNvbW1hbmQsIG9wdGlvbnMpO1xuICAgfVxuXG4gICBjb25zdCB0YXNrID1cbiAgICAgIGZvcm1hdCA9PT0gJ2J1ZmZlcicgPyBzdHJhaWdodFRocm91Z2hCdWZmZXJUYXNrKGNvbW1hbmQpIDogc3RyYWlnaHRUaHJvdWdoU3RyaW5nVGFzayhjb21tYW5kKTtcblxuICAgcmV0dXJuIHRoaXMuX3J1blRhc2sodGFzaywgaGFuZGxlcik7XG59O1xuXG5HaXQucHJvdG90eXBlLmRpZmYgPSBmdW5jdGlvbiAob3B0aW9ucywgdGhlbikge1xuICAgY29uc3QgdGFzayA9IGZpbHRlclN0cmluZyhvcHRpb25zKVxuICAgICAgPyBjb25maWd1cmF0aW9uRXJyb3JUYXNrKFxuICAgICAgICAgICAnZ2l0LmRpZmY6IHN1cHBseWluZyBvcHRpb25zIGFzIGEgc2luZ2xlIHN0cmluZyBpcyBubyBsb25nZXIgc3VwcG9ydGVkLCBzd2l0Y2ggdG8gYW4gYXJyYXkgb2Ygc3RyaW5ncydcbiAgICAgICAgKVxuICAgICAgOiBzdHJhaWdodFRocm91Z2hTdHJpbmdUYXNrKFsnZGlmZicsIC4uLmdldFRyYWlsaW5nT3B0aW9ucyhhcmd1bWVudHMpXSk7XG5cbiAgIHJldHVybiB0aGlzLl9ydW5UYXNrKHRhc2ssIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpKTtcbn07XG5cbkdpdC5wcm90b3R5cGUuZGlmZlN1bW1hcnkgPSBmdW5jdGlvbiAoKSB7XG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgIGRpZmZTdW1tYXJ5VGFzayhnZXRUcmFpbGluZ09wdGlvbnMoYXJndW1lbnRzLCAxKSksXG4gICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgKTtcbn07XG5cbkdpdC5wcm90b3R5cGUuYXBwbHlQYXRjaCA9IGZ1bmN0aW9uIChwYXRjaGVzKSB7XG4gICBjb25zdCB0YXNrID0gIWZpbHRlclN0cmluZ09yU3RyaW5nQXJyYXkocGF0Y2hlcylcbiAgICAgID8gY29uZmlndXJhdGlvbkVycm9yVGFzayhcbiAgICAgICAgICAgYGdpdC5hcHBseVBhdGNoIHJlcXVpcmVzIG9uZSBvciBtb3JlIHN0cmluZyBwYXRjaGVzIGFzIHRoZSBmaXJzdCBhcmd1bWVudGBcbiAgICAgICAgKVxuICAgICAgOiBhcHBseVBhdGNoVGFzayhhc0FycmF5KHBhdGNoZXMpLCBnZXRUcmFpbGluZ09wdGlvbnMoW10uc2xpY2UuY2FsbChhcmd1bWVudHMsIDEpKSk7XG5cbiAgIHJldHVybiB0aGlzLl9ydW5UYXNrKHRhc2ssIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpKTtcbn07XG5cbkdpdC5wcm90b3R5cGUucmV2cGFyc2UgPSBmdW5jdGlvbiAoKSB7XG4gICBjb25zdCBjb21tYW5kcyA9IFsncmV2LXBhcnNlJywgLi4uZ2V0VHJhaWxpbmdPcHRpb25zKGFyZ3VtZW50cywgdHJ1ZSldO1xuICAgcmV0dXJuIHRoaXMuX3J1blRhc2soXG4gICAgICBzdHJhaWdodFRocm91Z2hTdHJpbmdUYXNrKGNvbW1hbmRzLCB0cnVlKSxcbiAgICAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpXG4gICApO1xufTtcblxuLyoqXG4gKi9cbkdpdC5wcm90b3R5cGUuY2xlYW4gPSBmdW5jdGlvbiAobW9kZSwgb3B0aW9ucywgdGhlbikge1xuICAgY29uc3QgdXNpbmdDbGVhbk9wdGlvbnNBcnJheSA9IGlzQ2xlYW5PcHRpb25zQXJyYXkobW9kZSk7XG4gICBjb25zdCBjbGVhbk1vZGUgPVxuICAgICAgKHVzaW5nQ2xlYW5PcHRpb25zQXJyYXkgJiYgbW9kZS5qb2luKCcnKSkgfHwgZmlsdGVyVHlwZShtb2RlLCBmaWx0ZXJTdHJpbmcpIHx8ICcnO1xuICAgY29uc3QgY3VzdG9tQXJncyA9IGdldFRyYWlsaW5nT3B0aW9ucyhbXS5zbGljZS5jYWxsKGFyZ3VtZW50cywgdXNpbmdDbGVhbk9wdGlvbnNBcnJheSA/IDEgOiAwKSk7XG5cbiAgIHJldHVybiB0aGlzLl9ydW5UYXNrKFxuICAgICAgY2xlYW5XaXRoT3B0aW9uc1Rhc2soY2xlYW5Nb2RlLCBjdXN0b21BcmdzKSxcbiAgICAgIHRyYWlsaW5nRnVuY3Rpb25Bcmd1bWVudChhcmd1bWVudHMpXG4gICApO1xufTtcblxuR2l0LnByb3RvdHlwZS5leGVjID0gZnVuY3Rpb24gKHRoZW4pIHtcbiAgIGNvbnN0IHRhc2sgPSB7XG4gICAgICBjb21tYW5kczogW10sXG4gICAgICBmb3JtYXQ6ICd1dGYtOCcsXG4gICAgICBwYXJzZXIoKSB7XG4gICAgICAgICBpZiAodHlwZW9mIHRoZW4gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRoZW4oKTtcbiAgICAgICAgIH1cbiAgICAgIH0sXG4gICB9O1xuXG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayh0YXNrKTtcbn07XG5cbi8qKlxuICogQ2xlYXJzIHRoZSBxdWV1ZSBvZiBwZW5kaW5nIGNvbW1hbmRzIGFuZCByZXR1cm5zIHRoZSB3cmFwcGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAqXG4gKiBAcmV0dXJucyB7R2l0fVxuICovXG5HaXQucHJvdG90eXBlLmNsZWFyUXVldWUgPSBmdW5jdGlvbiAoKSB7XG4gICAvLyBUT0RPOlxuICAgLy8gdGhpcy5fZXhlY3V0b3IuY2xlYXIoKTtcbiAgIHJldHVybiB0aGlzO1xufTtcblxuLyoqXG4gKiBDaGVjayBpZiBhIHBhdGhuYW1lIG9yIHBhdGhuYW1lcyBhcmUgZXhjbHVkZWQgYnkgLmdpdGlnbm9yZVxuICpcbiAqIEBwYXJhbSB7c3RyaW5nfHN0cmluZ1tdfSBwYXRobmFtZXNcbiAqIEBwYXJhbSB7RnVuY3Rpb259IFt0aGVuXVxuICovXG5HaXQucHJvdG90eXBlLmNoZWNrSWdub3JlID0gZnVuY3Rpb24gKHBhdGhuYW1lcywgdGhlbikge1xuICAgcmV0dXJuIHRoaXMuX3J1blRhc2soXG4gICAgICBjaGVja0lnbm9yZVRhc2soYXNBcnJheShmaWx0ZXJUeXBlKHBhdGhuYW1lcywgZmlsdGVyU3RyaW5nT3JTdHJpbmdBcnJheSwgW10pKSksXG4gICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgKTtcbn07XG5cbkdpdC5wcm90b3R5cGUuY2hlY2tJc1JlcG8gPSBmdW5jdGlvbiAoY2hlY2tUeXBlLCB0aGVuKSB7XG4gICByZXR1cm4gdGhpcy5fcnVuVGFzayhcbiAgICAgIGNoZWNrSXNSZXBvVGFzayhmaWx0ZXJUeXBlKGNoZWNrVHlwZSwgZmlsdGVyU3RyaW5nKSksXG4gICAgICB0cmFpbGluZ0Z1bmN0aW9uQXJndW1lbnQoYXJndW1lbnRzKVxuICAgKTtcbn07XG5cbm1vZHVsZS5leHBvcnRzID0gR2l0O1xuIiwgImltcG9ydCB7IHBhdGhzcGVjIH0gZnJvbSAnLi9hcmdzL3BhdGhzcGVjJztcbmltcG9ydCB7IEdpdENvbnN0cnVjdEVycm9yIH0gZnJvbSAnLi9lcnJvcnMvZ2l0LWNvbnN0cnVjdC1lcnJvcic7XG5pbXBvcnQgeyBHaXRFcnJvciB9IGZyb20gJy4vZXJyb3JzL2dpdC1lcnJvcic7XG5pbXBvcnQgeyBHaXRQbHVnaW5FcnJvciB9IGZyb20gJy4vZXJyb3JzL2dpdC1wbHVnaW4tZXJyb3InO1xuaW1wb3J0IHsgR2l0UmVzcG9uc2VFcnJvciB9IGZyb20gJy4vZXJyb3JzL2dpdC1yZXNwb25zZS1lcnJvcic7XG5pbXBvcnQgeyBUYXNrQ29uZmlndXJhdGlvbkVycm9yIH0gZnJvbSAnLi9lcnJvcnMvdGFzay1jb25maWd1cmF0aW9uLWVycm9yJztcbmltcG9ydCB7IENoZWNrUmVwb0FjdGlvbnMgfSBmcm9tICcuL3Rhc2tzL2NoZWNrLWlzLXJlcG8nO1xuaW1wb3J0IHsgQ2xlYW5PcHRpb25zIH0gZnJvbSAnLi90YXNrcy9jbGVhbic7XG5pbXBvcnQgeyBHaXRDb25maWdTY29wZSB9IGZyb20gJy4vdGFza3MvY29uZmlnJztcbmltcG9ydCB7IERpZmZOYW1lU3RhdHVzIH0gZnJvbSAnLi90YXNrcy9kaWZmLW5hbWUtc3RhdHVzJztcbmltcG9ydCB7IGdyZXBRdWVyeUJ1aWxkZXIgfSBmcm9tICcuL3Rhc2tzL2dyZXAnO1xuaW1wb3J0IHsgUmVzZXRNb2RlIH0gZnJvbSAnLi90YXNrcy9yZXNldCc7XG5cbmV4cG9ydCB7XG4gICBDaGVja1JlcG9BY3Rpb25zLFxuICAgQ2xlYW5PcHRpb25zLFxuICAgRGlmZk5hbWVTdGF0dXMsXG4gICBHaXRDb25maWdTY29wZSxcbiAgIEdpdENvbnN0cnVjdEVycm9yLFxuICAgR2l0RXJyb3IsXG4gICBHaXRQbHVnaW5FcnJvcixcbiAgIEdpdFJlc3BvbnNlRXJyb3IsXG4gICBSZXNldE1vZGUsXG4gICBUYXNrQ29uZmlndXJhdGlvbkVycm9yLFxuICAgZ3JlcFF1ZXJ5QnVpbGRlcixcbiAgIHBhdGhzcGVjLFxufTtcbiIsICJpbXBvcnQgeyBHaXRFcnJvciB9IGZyb20gJy4vZ2l0LWVycm9yJztcbmltcG9ydCB7IFNpbXBsZUdpdE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5cbi8qKlxuICogVGhlIGBHaXRDb25zdHJ1Y3RFcnJvcmAgaXMgdGhyb3duIHdoZW4gYW4gZXJyb3Igb2NjdXJzIGluIHRoZSBjb25zdHJ1Y3RvclxuICogb2YgdGhlIGBzaW1wbGUtZ2l0YCBpbnN0YW5jZSBpdHNlbGYuIE1vc3QgY29tbW9ubHkgYXMgYSByZXN1bHQgb2YgdXNpbmdcbiAqIGEgYGJhc2VEaXJgIG9wdGlvbiB0aGF0IHBvaW50cyB0byBhIGZvbGRlciB0aGF0IGVpdGhlciBkb2VzIG5vdCBleGlzdCxcbiAqIG9yIGNhbm5vdCBiZSByZWFkIGJ5IHRoZSB1c2VyIHRoZSBub2RlIHNjcmlwdCBpcyBydW5uaW5nIGFzLlxuICpcbiAqIENoZWNrIHRoZSBgLm1lc3NhZ2VgIHByb3BlcnR5IGZvciBtb3JlIGRldGFpbCBpbmNsdWRpbmcgdGhlIHByb3BlcnRpZXNcbiAqIHBhc3NlZCB0byB0aGUgY29uc3RydWN0b3IuXG4gKi9cbmV4cG9ydCBjbGFzcyBHaXRDb25zdHJ1Y3RFcnJvciBleHRlbmRzIEdpdEVycm9yIHtcbiAgIGNvbnN0cnVjdG9yKFxuICAgICAgcHVibGljIHJlYWRvbmx5IGNvbmZpZzogU2ltcGxlR2l0T3B0aW9ucyxcbiAgICAgIG1lc3NhZ2U6IHN0cmluZ1xuICAgKSB7XG4gICAgICBzdXBlcih1bmRlZmluZWQsIG1lc3NhZ2UpO1xuICAgfVxufVxuIiwgImltcG9ydCB7IFNpbXBsZUdpdE9wdGlvbnMsIFNpbXBsZUdpdFRhc2sgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBHaXRFcnJvciB9IGZyb20gJy4vZ2l0LWVycm9yJztcblxuZXhwb3J0IGNsYXNzIEdpdFBsdWdpbkVycm9yIGV4dGVuZHMgR2l0RXJyb3Ige1xuICAgY29uc3RydWN0b3IoXG4gICAgICBwdWJsaWMgdGFzaz86IFNpbXBsZUdpdFRhc2s8YW55PixcbiAgICAgIHB1YmxpYyByZWFkb25seSBwbHVnaW4/OiBrZXlvZiBTaW1wbGVHaXRPcHRpb25zLFxuICAgICAgbWVzc2FnZT86IHN0cmluZ1xuICAgKSB7XG4gICAgICBzdXBlcih0YXNrLCBtZXNzYWdlKTtcbiAgICAgIE9iamVjdC5zZXRQcm90b3R5cGVPZih0aGlzLCBuZXcudGFyZ2V0LnByb3RvdHlwZSk7XG4gICB9XG59XG4iLCAiaW1wb3J0IHsgU2ltcGxlR2l0T3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFNpbXBsZUdpdFBsdWdpbiB9IGZyb20gJy4vc2ltcGxlLWdpdC1wbHVnaW4nO1xuaW1wb3J0IHsgR2l0UGx1Z2luRXJyb3IgfSBmcm9tICcuLi9lcnJvcnMvZ2l0LXBsdWdpbi1lcnJvcic7XG5cbmV4cG9ydCBmdW5jdGlvbiBhYm9ydFBsdWdpbihzaWduYWw6IFNpbXBsZUdpdE9wdGlvbnNbJ2Fib3J0J10pIHtcbiAgIGlmICghc2lnbmFsKSB7XG4gICAgICByZXR1cm47XG4gICB9XG5cbiAgIGNvbnN0IG9uU3Bhd25BZnRlcjogU2ltcGxlR2l0UGx1Z2luPCdzcGF3bi5hZnRlcic+ID0ge1xuICAgICAgdHlwZTogJ3NwYXduLmFmdGVyJyxcbiAgICAgIGFjdGlvbihfZGF0YSwgY29udGV4dCkge1xuICAgICAgICAgZnVuY3Rpb24ga2lsbCgpIHtcbiAgICAgICAgICAgIGNvbnRleHQua2lsbChuZXcgR2l0UGx1Z2luRXJyb3IodW5kZWZpbmVkLCAnYWJvcnQnLCAnQWJvcnQgc2lnbmFsIHJlY2VpdmVkJykpO1xuICAgICAgICAgfVxuXG4gICAgICAgICBzaWduYWwuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCBraWxsKTtcblxuICAgICAgICAgY29udGV4dC5zcGF3bmVkLm9uKCdjbG9zZScsICgpID0+IHNpZ25hbC5yZW1vdmVFdmVudExpc3RlbmVyKCdhYm9ydCcsIGtpbGwpKTtcbiAgICAgIH0sXG4gICB9O1xuXG4gICBjb25zdCBvblNwYXduQmVmb3JlOiBTaW1wbGVHaXRQbHVnaW48J3NwYXduLmJlZm9yZSc+ID0ge1xuICAgICAgdHlwZTogJ3NwYXduLmJlZm9yZScsXG4gICAgICBhY3Rpb24oX2RhdGEsIGNvbnRleHQpIHtcbiAgICAgICAgIGlmIChzaWduYWwuYWJvcnRlZCkge1xuICAgICAgICAgICAgY29udGV4dC5raWxsKG5ldyBHaXRQbHVnaW5FcnJvcih1bmRlZmluZWQsICdhYm9ydCcsICdBYm9ydCBhbHJlYWR5IHNpZ25hbGVkJykpO1xuICAgICAgICAgfVxuICAgICAgfSxcbiAgIH07XG5cbiAgIHJldHVybiBbb25TcGF3bkJlZm9yZSwgb25TcGF3bkFmdGVyXTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IFNpbXBsZUdpdFBsdWdpbiB9IGZyb20gJy4vc2ltcGxlLWdpdC1wbHVnaW4nO1xuXG5pbXBvcnQgeyBHaXRQbHVnaW5FcnJvciB9IGZyb20gJy4uL2Vycm9ycy9naXQtcGx1Z2luLWVycm9yJztcbmltcG9ydCB0eXBlIHsgU2ltcGxlR2l0UGx1Z2luQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5mdW5jdGlvbiBpc0NvbmZpZ1N3aXRjaChhcmc6IHN0cmluZyB8IHVua25vd24pIHtcbiAgIHJldHVybiB0eXBlb2YgYXJnID09PSAnc3RyaW5nJyAmJiBhcmcudHJpbSgpLnRvTG93ZXJDYXNlKCkgPT09ICctYyc7XG59XG5cbmZ1bmN0aW9uIHByZXZlbnRQcm90b2NvbE92ZXJyaWRlKGFyZzogc3RyaW5nLCBuZXh0OiBzdHJpbmcpIHtcbiAgIGlmICghaXNDb25maWdTd2l0Y2goYXJnKSkge1xuICAgICAgcmV0dXJuO1xuICAgfVxuXG4gICBpZiAoIS9eXFxzKnByb3RvY29sKC5bYS16XSspPy5hbGxvdy8udGVzdChuZXh0KSkge1xuICAgICAgcmV0dXJuO1xuICAgfVxuXG4gICB0aHJvdyBuZXcgR2l0UGx1Z2luRXJyb3IoXG4gICAgICB1bmRlZmluZWQsXG4gICAgICAndW5zYWZlJyxcbiAgICAgICdDb25maWd1cmluZyBwcm90b2NvbC5hbGxvdyBpcyBub3QgcGVybWl0dGVkIHdpdGhvdXQgZW5hYmxpbmcgYWxsb3dVbnNhZmVFeHRQcm90b2NvbCdcbiAgICk7XG59XG5cbmZ1bmN0aW9uIHByZXZlbnRVcGxvYWRQYWNrKGFyZzogc3RyaW5nLCBtZXRob2Q6IHN0cmluZykge1xuICAgaWYgKC9eXFxzKi0tKHVwbG9hZHxyZWNlaXZlKS1wYWNrLy50ZXN0KGFyZykpIHtcbiAgICAgIHRocm93IG5ldyBHaXRQbHVnaW5FcnJvcihcbiAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICd1bnNhZmUnLFxuICAgICAgICAgYFVzZSBvZiAtLXVwbG9hZC1wYWNrIG9yIC0tcmVjZWl2ZS1wYWNrIGlzIG5vdCBwZXJtaXR0ZWQgd2l0aG91dCBlbmFibGluZyBhbGxvd1Vuc2FmZVBhY2tgXG4gICAgICApO1xuICAgfVxuXG4gICBpZiAobWV0aG9kID09PSAnY2xvbmUnICYmIC9eXFxzKi11XFxiLy50ZXN0KGFyZykpIHtcbiAgICAgIHRocm93IG5ldyBHaXRQbHVnaW5FcnJvcihcbiAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICd1bnNhZmUnLFxuICAgICAgICAgYFVzZSBvZiBjbG9uZSB3aXRoIG9wdGlvbiAtdSBpcyBub3QgcGVybWl0dGVkIHdpdGhvdXQgZW5hYmxpbmcgYWxsb3dVbnNhZmVQYWNrYFxuICAgICAgKTtcbiAgIH1cblxuICAgaWYgKG1ldGhvZCA9PT0gJ3B1c2gnICYmIC9eXFxzKi0tZXhlY1xcYi8udGVzdChhcmcpKSB7XG4gICAgICB0aHJvdyBuZXcgR2l0UGx1Z2luRXJyb3IoXG4gICAgICAgICB1bmRlZmluZWQsXG4gICAgICAgICAndW5zYWZlJyxcbiAgICAgICAgIGBVc2Ugb2YgcHVzaCB3aXRoIG9wdGlvbiAtLWV4ZWMgaXMgbm90IHBlcm1pdHRlZCB3aXRob3V0IGVuYWJsaW5nIGFsbG93VW5zYWZlUGFja2BcbiAgICAgICk7XG4gICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBibG9ja1Vuc2FmZU9wZXJhdGlvbnNQbHVnaW4oe1xuICAgYWxsb3dVbnNhZmVQcm90b2NvbE92ZXJyaWRlID0gZmFsc2UsXG4gICBhbGxvd1Vuc2FmZVBhY2sgPSBmYWxzZSxcbn06IFNpbXBsZUdpdFBsdWdpbkNvbmZpZ1sndW5zYWZlJ10gPSB7fSk6IFNpbXBsZUdpdFBsdWdpbjwnc3Bhd24uYXJncyc+IHtcbiAgIHJldHVybiB7XG4gICAgICB0eXBlOiAnc3Bhd24uYXJncycsXG4gICAgICBhY3Rpb24oYXJncywgY29udGV4dCkge1xuICAgICAgICAgYXJncy5mb3JFYWNoKChjdXJyZW50LCBpbmRleCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV4dCA9IGluZGV4IDwgYXJncy5sZW5ndGggPyBhcmdzW2luZGV4ICsgMV0gOiAnJztcblxuICAgICAgICAgICAgYWxsb3dVbnNhZmVQcm90b2NvbE92ZXJyaWRlIHx8IHByZXZlbnRQcm90b2NvbE92ZXJyaWRlKGN1cnJlbnQsIG5leHQpO1xuICAgICAgICAgICAgYWxsb3dVbnNhZmVQYWNrIHx8IHByZXZlbnRVcGxvYWRQYWNrKGN1cnJlbnQsIGNvbnRleHQubWV0aG9kKTtcbiAgICAgICAgIH0pO1xuXG4gICAgICAgICByZXR1cm4gYXJncztcbiAgICAgIH0sXG4gICB9O1xufVxuIiwgImltcG9ydCB7IHByZWZpeGVkQXJyYXkgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBTaW1wbGVHaXRQbHVnaW4gfSBmcm9tICcuL3NpbXBsZS1naXQtcGx1Z2luJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbW1hbmRDb25maWdQcmVmaXhpbmdQbHVnaW4oXG4gICBjb25maWd1cmF0aW9uOiBzdHJpbmdbXVxuKTogU2ltcGxlR2l0UGx1Z2luPCdzcGF3bi5hcmdzJz4ge1xuICAgY29uc3QgcHJlZml4ID0gcHJlZml4ZWRBcnJheShjb25maWd1cmF0aW9uLCAnLWMnKTtcblxuICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdzcGF3bi5hcmdzJyxcbiAgICAgIGFjdGlvbihkYXRhKSB7XG4gICAgICAgICByZXR1cm4gWy4uLnByZWZpeCwgLi4uZGF0YV07XG4gICAgICB9LFxuICAgfTtcbn1cbiIsICJpbXBvcnQgeyBkZWZlcnJlZCwgRGVmZXJyZWRQcm9taXNlIH0gZnJvbSAnQGt3c2l0ZXMvcHJvbWlzZS1kZWZlcnJlZCc7XG5pbXBvcnQgeyBTaW1wbGVHaXRQbHVnaW5Db25maWcgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBkZWxheSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IFNpbXBsZUdpdFBsdWdpbiB9IGZyb20gJy4vc2ltcGxlLWdpdC1wbHVnaW4nO1xuXG5jb25zdCBuZXZlciA9IGRlZmVycmVkKCkucHJvbWlzZTtcblxuZXhwb3J0IGZ1bmN0aW9uIGNvbXBsZXRpb25EZXRlY3Rpb25QbHVnaW4oe1xuICAgb25DbG9zZSA9IHRydWUsXG4gICBvbkV4aXQgPSA1MCxcbn06IFNpbXBsZUdpdFBsdWdpbkNvbmZpZ1snY29tcGxldGlvbiddID0ge30pOiBTaW1wbGVHaXRQbHVnaW48J3NwYXduLmFmdGVyJz4ge1xuICAgZnVuY3Rpb24gY3JlYXRlRXZlbnRzKCkge1xuICAgICAgbGV0IGV4aXRDb2RlID0gLTE7XG4gICAgICBjb25zdCBldmVudHMgPSB7XG4gICAgICAgICBjbG9zZTogZGVmZXJyZWQoKSxcbiAgICAgICAgIGNsb3NlVGltZW91dDogZGVmZXJyZWQoKSxcbiAgICAgICAgIGV4aXQ6IGRlZmVycmVkKCksXG4gICAgICAgICBleGl0VGltZW91dDogZGVmZXJyZWQoKSxcbiAgICAgIH07XG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IFByb21pc2UucmFjZShbXG4gICAgICAgICBvbkNsb3NlID09PSBmYWxzZSA/IG5ldmVyIDogZXZlbnRzLmNsb3NlVGltZW91dC5wcm9taXNlLFxuICAgICAgICAgb25FeGl0ID09PSBmYWxzZSA/IG5ldmVyIDogZXZlbnRzLmV4aXRUaW1lb3V0LnByb21pc2UsXG4gICAgICBdKTtcblxuICAgICAgY29uZmlndXJlVGltZW91dChvbkNsb3NlLCBldmVudHMuY2xvc2UsIGV2ZW50cy5jbG9zZVRpbWVvdXQpO1xuICAgICAgY29uZmlndXJlVGltZW91dChvbkV4aXQsIGV2ZW50cy5leGl0LCBldmVudHMuZXhpdFRpbWVvdXQpO1xuXG4gICAgICByZXR1cm4ge1xuICAgICAgICAgY2xvc2UoY29kZTogbnVtYmVyKSB7XG4gICAgICAgICAgICBleGl0Q29kZSA9IGNvZGU7XG4gICAgICAgICAgICBldmVudHMuY2xvc2UuZG9uZSgpO1xuICAgICAgICAgfSxcbiAgICAgICAgIGV4aXQoY29kZTogbnVtYmVyKSB7XG4gICAgICAgICAgICBleGl0Q29kZSA9IGNvZGU7XG4gICAgICAgICAgICBldmVudHMuZXhpdC5kb25lKCk7XG4gICAgICAgICB9LFxuICAgICAgICAgZ2V0IGV4aXRDb2RlKCkge1xuICAgICAgICAgICAgcmV0dXJuIGV4aXRDb2RlO1xuICAgICAgICAgfSxcbiAgICAgICAgIHJlc3VsdCxcbiAgICAgIH07XG4gICB9XG5cbiAgIGZ1bmN0aW9uIGNvbmZpZ3VyZVRpbWVvdXQoXG4gICAgICBmbGFnOiBib29sZWFuIHwgbnVtYmVyLFxuICAgICAgZXZlbnQ6IERlZmVycmVkUHJvbWlzZTx2b2lkPixcbiAgICAgIHRpbWVvdXQ6IERlZmVycmVkUHJvbWlzZTx2b2lkPlxuICAgKSB7XG4gICAgICBpZiAoZmxhZyA9PT0gZmFsc2UpIHtcbiAgICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgKGZsYWcgPT09IHRydWUgPyBldmVudC5wcm9taXNlIDogZXZlbnQucHJvbWlzZS50aGVuKCgpID0+IGRlbGF5KGZsYWcpKSkudGhlbih0aW1lb3V0LmRvbmUpO1xuICAgfVxuXG4gICByZXR1cm4ge1xuICAgICAgdHlwZTogJ3NwYXduLmFmdGVyJyxcbiAgICAgIGFzeW5jIGFjdGlvbihfZGF0YSwgeyBzcGF3bmVkLCBjbG9zZSB9KSB7XG4gICAgICAgICBjb25zdCBldmVudHMgPSBjcmVhdGVFdmVudHMoKTtcblxuICAgICAgICAgbGV0IGRlZmVyQ2xvc2UgPSB0cnVlO1xuICAgICAgICAgbGV0IHF1aWNrQ2xvc2UgPSAoKSA9PiB2b2lkIChkZWZlckNsb3NlID0gZmFsc2UpO1xuXG4gICAgICAgICBzcGF3bmVkLnN0ZG91dD8ub24oJ2RhdGEnLCBxdWlja0Nsb3NlKTtcbiAgICAgICAgIHNwYXduZWQuc3RkZXJyPy5vbignZGF0YScsIHF1aWNrQ2xvc2UpO1xuICAgICAgICAgc3Bhd25lZC5vbignZXJyb3InLCBxdWlja0Nsb3NlKTtcblxuICAgICAgICAgc3Bhd25lZC5vbignY2xvc2UnLCAoY29kZTogbnVtYmVyKSA9PiBldmVudHMuY2xvc2UoY29kZSkpO1xuICAgICAgICAgc3Bhd25lZC5vbignZXhpdCcsIChjb2RlOiBudW1iZXIpID0+IGV2ZW50cy5leGl0KGNvZGUpKTtcblxuICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGF3YWl0IGV2ZW50cy5yZXN1bHQ7XG4gICAgICAgICAgICBpZiAoZGVmZXJDbG9zZSkge1xuICAgICAgICAgICAgICAgYXdhaXQgZGVsYXkoNTApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY2xvc2UoZXZlbnRzLmV4aXRDb2RlKTtcbiAgICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgICAgY2xvc2UoZXZlbnRzLmV4aXRDb2RlLCBlcnIgYXMgRXJyb3IpO1xuICAgICAgICAgfVxuICAgICAgfSxcbiAgIH07XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBTaW1wbGVHaXRPcHRpb25zIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5pbXBvcnQgeyBHaXRQbHVnaW5FcnJvciB9IGZyb20gJy4uL2Vycm9ycy9naXQtcGx1Z2luLWVycm9yJztcbmltcG9ydCB7IGFzQXJyYXkgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBQbHVnaW5TdG9yZSB9IGZyb20gJy4vcGx1Z2luLXN0b3JlJztcblxuY29uc3QgV1JPTkdfTlVNQkVSX0VSUiA9IGBJbnZhbGlkIHZhbHVlIHN1cHBsaWVkIGZvciBjdXN0b20gYmluYXJ5LCByZXF1aXJlcyBhIHNpbmdsZSBzdHJpbmcgb3IgYW4gYXJyYXkgY29udGFpbmluZyBlaXRoZXIgb25lIG9yIHR3byBzdHJpbmdzYDtcbmNvbnN0IFdST05HX0NIQVJTX0VSUiA9IGBJbnZhbGlkIHZhbHVlIHN1cHBsaWVkIGZvciBjdXN0b20gYmluYXJ5LCByZXN0cmljdGVkIGNoYXJhY3RlcnMgbXVzdCBiZSByZW1vdmVkIG9yIHN1cHBseSB0aGUgdW5zYWZlLmFsbG93VW5zYWZlQ3VzdG9tQmluYXJ5IG9wdGlvbmA7XG5cbmZ1bmN0aW9uIGlzQmFkQXJndW1lbnQoYXJnOiBzdHJpbmcpIHtcbiAgIHJldHVybiAhYXJnIHx8ICEvXihbYS16XTopPyhbYS16MC05Ly5cXFxcXy1dKykkL2kudGVzdChhcmcpO1xufVxuXG5mdW5jdGlvbiB0b0JpbmFyeUNvbmZpZyhcbiAgIGlucHV0OiBzdHJpbmdbXSxcbiAgIGFsbG93VW5zYWZlOiBib29sZWFuXG4pOiB7IGJpbmFyeTogc3RyaW5nOyBwcmVmaXg/OiBzdHJpbmcgfSB7XG4gICBpZiAoaW5wdXQubGVuZ3RoIDwgMSB8fCBpbnB1dC5sZW5ndGggPiAyKSB7XG4gICAgICB0aHJvdyBuZXcgR2l0UGx1Z2luRXJyb3IodW5kZWZpbmVkLCAnYmluYXJ5JywgV1JPTkdfTlVNQkVSX0VSUik7XG4gICB9XG5cbiAgIGNvbnN0IGlzQmFkID0gaW5wdXQuc29tZShpc0JhZEFyZ3VtZW50KTtcbiAgIGlmIChpc0JhZCkge1xuICAgICAgaWYgKGFsbG93VW5zYWZlKSB7XG4gICAgICAgICBjb25zb2xlLndhcm4oV1JPTkdfQ0hBUlNfRVJSKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgICB0aHJvdyBuZXcgR2l0UGx1Z2luRXJyb3IodW5kZWZpbmVkLCAnYmluYXJ5JywgV1JPTkdfQ0hBUlNfRVJSKTtcbiAgICAgIH1cbiAgIH1cblxuICAgY29uc3QgW2JpbmFyeSwgcHJlZml4XSA9IGlucHV0O1xuICAgcmV0dXJuIHtcbiAgICAgIGJpbmFyeSxcbiAgICAgIHByZWZpeCxcbiAgIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjdXN0b21CaW5hcnlQbHVnaW4oXG4gICBwbHVnaW5zOiBQbHVnaW5TdG9yZSxcbiAgIGlucHV0OiBTaW1wbGVHaXRPcHRpb25zWydiaW5hcnknXSA9IFsnZ2l0J10sXG4gICBhbGxvd1Vuc2FmZSA9IGZhbHNlXG4pIHtcbiAgIGxldCBjb25maWcgPSB0b0JpbmFyeUNvbmZpZyhhc0FycmF5KGlucHV0KSwgYWxsb3dVbnNhZmUpO1xuXG4gICBwbHVnaW5zLm9uKCdiaW5hcnknLCAoaW5wdXQpID0+IHtcbiAgICAgIGNvbmZpZyA9IHRvQmluYXJ5Q29uZmlnKGFzQXJyYXkoaW5wdXQpLCBhbGxvd1Vuc2FmZSk7XG4gICB9KTtcblxuICAgcGx1Z2lucy5hcHBlbmQoJ3NwYXduLmJpbmFyeScsICgpID0+IHtcbiAgICAgIHJldHVybiBjb25maWcuYmluYXJ5O1xuICAgfSk7XG5cbiAgIHBsdWdpbnMuYXBwZW5kKCdzcGF3bi5hcmdzJywgKGRhdGEpID0+IHtcbiAgICAgIHJldHVybiBjb25maWcucHJlZml4ID8gW2NvbmZpZy5wcmVmaXgsIC4uLmRhdGFdIDogZGF0YTtcbiAgIH0pO1xufVxuIiwgImltcG9ydCB7IEdpdEVycm9yIH0gZnJvbSAnLi4vZXJyb3JzL2dpdC1lcnJvcic7XG5pbXBvcnQgeyBHaXRFeGVjdXRvclJlc3VsdCwgU2ltcGxlR2l0UGx1Z2luQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuaW1wb3J0IHsgU2ltcGxlR2l0UGx1Z2luIH0gZnJvbSAnLi9zaW1wbGUtZ2l0LXBsdWdpbic7XG5cbnR5cGUgVGFza1Jlc3VsdCA9IE9taXQ8R2l0RXhlY3V0b3JSZXN1bHQsICdyZWplY3Rpb24nPjtcblxuZnVuY3Rpb24gaXNUYXNrRXJyb3IocmVzdWx0OiBUYXNrUmVzdWx0KSB7XG4gICByZXR1cm4gISEocmVzdWx0LmV4aXRDb2RlICYmIHJlc3VsdC5zdGRFcnIubGVuZ3RoKTtcbn1cblxuZnVuY3Rpb24gZ2V0RXJyb3JNZXNzYWdlKHJlc3VsdDogVGFza1Jlc3VsdCkge1xuICAgcmV0dXJuIEJ1ZmZlci5jb25jYXQoWy4uLnJlc3VsdC5zdGRPdXQsIC4uLnJlc3VsdC5zdGRFcnJdKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVycm9yRGV0ZWN0aW9uSGFuZGxlcihcbiAgIG92ZXJ3cml0ZSA9IGZhbHNlLFxuICAgaXNFcnJvciA9IGlzVGFza0Vycm9yLFxuICAgZXJyb3JNZXNzYWdlOiAocmVzdWx0OiBUYXNrUmVzdWx0KSA9PiBCdWZmZXIgfCBFcnJvciA9IGdldEVycm9yTWVzc2FnZVxuKSB7XG4gICByZXR1cm4gKGVycm9yOiBCdWZmZXIgfCBFcnJvciB8IHVuZGVmaW5lZCwgcmVzdWx0OiBUYXNrUmVzdWx0KSA9PiB7XG4gICAgICBpZiAoKCFvdmVyd3JpdGUgJiYgZXJyb3IpIHx8ICFpc0Vycm9yKHJlc3VsdCkpIHtcbiAgICAgICAgIHJldHVybiBlcnJvcjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGVycm9yTWVzc2FnZShyZXN1bHQpO1xuICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVycm9yRGV0ZWN0aW9uUGx1Z2luKFxuICAgY29uZmlnOiBTaW1wbGVHaXRQbHVnaW5Db25maWdbJ2Vycm9ycyddXG4pOiBTaW1wbGVHaXRQbHVnaW48J3Rhc2suZXJyb3InPiB7XG4gICByZXR1cm4ge1xuICAgICAgdHlwZTogJ3Rhc2suZXJyb3InLFxuICAgICAgYWN0aW9uKGRhdGEsIGNvbnRleHQpIHtcbiAgICAgICAgIGNvbnN0IGVycm9yID0gY29uZmlnKGRhdGEuZXJyb3IsIHtcbiAgICAgICAgICAgIHN0ZEVycjogY29udGV4dC5zdGRFcnIsXG4gICAgICAgICAgICBzdGRPdXQ6IGNvbnRleHQuc3RkT3V0LFxuICAgICAgICAgICAgZXhpdENvZGU6IGNvbnRleHQuZXhpdENvZGUsXG4gICAgICAgICB9KTtcblxuICAgICAgICAgaWYgKEJ1ZmZlci5pc0J1ZmZlcihlcnJvcikpIHtcbiAgICAgICAgICAgIHJldHVybiB7IGVycm9yOiBuZXcgR2l0RXJyb3IodW5kZWZpbmVkLCBlcnJvci50b1N0cmluZygndXRmLTgnKSkgfTtcbiAgICAgICAgIH1cblxuICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgfTtcbiAgICAgIH0sXG4gICB9O1xufVxuIiwgImltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ25vZGU6ZXZlbnRzJztcblxuaW1wb3J0IHR5cGUge1xuICAgU2ltcGxlR2l0UGx1Z2luLFxuICAgU2ltcGxlR2l0UGx1Z2luVHlwZSxcbiAgIFNpbXBsZUdpdFBsdWdpblR5cGVzLFxufSBmcm9tICcuL3NpbXBsZS1naXQtcGx1Z2luJztcbmltcG9ydCB7IGFwcGVuZCwgYXNBcnJheSB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB0eXBlIHsgU2ltcGxlR2l0UGx1Z2luQ29uZmlnIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5leHBvcnQgY2xhc3MgUGx1Z2luU3RvcmUge1xuICAgcHJpdmF0ZSBwbHVnaW5zOiBTZXQ8U2ltcGxlR2l0UGx1Z2luPFNpbXBsZUdpdFBsdWdpblR5cGU+PiA9IG5ldyBTZXQoKTtcbiAgIHByaXZhdGUgZXZlbnRzID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gICBvbjxLIGV4dGVuZHMga2V5b2YgU2ltcGxlR2l0UGx1Z2luQ29uZmlnPihcbiAgICAgIHR5cGU6IEssXG4gICAgICBsaXN0ZW5lcjogKGRhdGE6IFNpbXBsZUdpdFBsdWdpbkNvbmZpZ1tLXSkgPT4gdm9pZFxuICAgKSB7XG4gICAgICB0aGlzLmV2ZW50cy5vbih0eXBlLCBsaXN0ZW5lcik7XG4gICB9XG5cbiAgIHJlY29uZmlndXJlPEsgZXh0ZW5kcyBrZXlvZiBTaW1wbGVHaXRQbHVnaW5Db25maWc+KHR5cGU6IEssIGRhdGE6IFNpbXBsZUdpdFBsdWdpbkNvbmZpZ1tLXSkge1xuICAgICAgdGhpcy5ldmVudHMuZW1pdCh0eXBlLCBkYXRhKTtcbiAgIH1cblxuICAgcHVibGljIGFwcGVuZDxUIGV4dGVuZHMgU2ltcGxlR2l0UGx1Z2luVHlwZT4odHlwZTogVCwgYWN0aW9uOiBTaW1wbGVHaXRQbHVnaW48VD5bJ2FjdGlvbiddKSB7XG4gICAgICBjb25zdCBwbHVnaW4gPSBhcHBlbmQodGhpcy5wbHVnaW5zLCB7IHR5cGUsIGFjdGlvbiB9KTtcblxuICAgICAgcmV0dXJuICgpID0+IHRoaXMucGx1Z2lucy5kZWxldGUocGx1Z2luKTtcbiAgIH1cblxuICAgcHVibGljIGFkZDxUIGV4dGVuZHMgU2ltcGxlR2l0UGx1Z2luVHlwZT4oXG4gICAgICBwbHVnaW46IHZvaWQgfCBTaW1wbGVHaXRQbHVnaW48VD4gfCBTaW1wbGVHaXRQbHVnaW48VD5bXVxuICAgKSB7XG4gICAgICBjb25zdCBwbHVnaW5zOiBTaW1wbGVHaXRQbHVnaW48VD5bXSA9IFtdO1xuXG4gICAgICBhc0FycmF5KHBsdWdpbikuZm9yRWFjaCgocGx1Z2luKSA9PiBwbHVnaW4gJiYgdGhpcy5wbHVnaW5zLmFkZChhcHBlbmQocGx1Z2lucywgcGx1Z2luKSkpO1xuXG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgcGx1Z2lucy5mb3JFYWNoKChwbHVnaW4pID0+IHRoaXMucGx1Z2lucy5kZWxldGUocGx1Z2luKSk7XG4gICAgICB9O1xuICAgfVxuXG4gICBwdWJsaWMgZXhlYzxUIGV4dGVuZHMgU2ltcGxlR2l0UGx1Z2luVHlwZT4oXG4gICAgICB0eXBlOiBULFxuICAgICAgZGF0YTogU2ltcGxlR2l0UGx1Z2luVHlwZXNbVF1bJ2RhdGEnXSxcbiAgICAgIGNvbnRleHQ6IFNpbXBsZUdpdFBsdWdpblR5cGVzW1RdWydjb250ZXh0J11cbiAgICk6IHR5cGVvZiBkYXRhIHtcbiAgICAgIGxldCBvdXRwdXQgPSBkYXRhO1xuICAgICAgY29uc3QgY29udGV4dHVhbCA9IE9iamVjdC5mcmVlemUoT2JqZWN0LmNyZWF0ZShjb250ZXh0KSk7XG5cbiAgICAgIGZvciAoY29uc3QgcGx1Z2luIG9mIHRoaXMucGx1Z2lucykge1xuICAgICAgICAgaWYgKHBsdWdpbi50eXBlID09PSB0eXBlKSB7XG4gICAgICAgICAgICBvdXRwdXQgPSBwbHVnaW4uYWN0aW9uKG91dHB1dCwgY29udGV4dHVhbCk7XG4gICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBvdXRwdXQ7XG4gICB9XG59XG4iLCAiaW1wb3J0IHsgU2ltcGxlR2l0T3B0aW9ucyB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IGFzTnVtYmVyLCBpbmNsdWRpbmcgfSBmcm9tICcuLi91dGlscyc7XG5cbmltcG9ydCB7IFNpbXBsZUdpdFBsdWdpbiB9IGZyb20gJy4vc2ltcGxlLWdpdC1wbHVnaW4nO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvZ3Jlc3NNb25pdG9yUGx1Z2luKHByb2dyZXNzOiBFeGNsdWRlPFNpbXBsZUdpdE9wdGlvbnNbJ3Byb2dyZXNzJ10sIHZvaWQ+KSB7XG4gICBjb25zdCBwcm9ncmVzc0NvbW1hbmQgPSAnLS1wcm9ncmVzcyc7XG4gICBjb25zdCBwcm9ncmVzc01ldGhvZHMgPSBbJ2NoZWNrb3V0JywgJ2Nsb25lJywgJ2ZldGNoJywgJ3B1bGwnLCAncHVzaCddO1xuXG4gICBjb25zdCBvblByb2dyZXNzOiBTaW1wbGVHaXRQbHVnaW48J3NwYXduLmFmdGVyJz4gPSB7XG4gICAgICB0eXBlOiAnc3Bhd24uYWZ0ZXInLFxuICAgICAgYWN0aW9uKF9kYXRhLCBjb250ZXh0KSB7XG4gICAgICAgICBpZiAoIWNvbnRleHQuY29tbWFuZHMuaW5jbHVkZXMocHJvZ3Jlc3NDb21tYW5kKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgfVxuXG4gICAgICAgICBjb250ZXh0LnNwYXduZWQuc3RkZXJyPy5vbignZGF0YScsIChjaHVuazogQnVmZmVyKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBtZXNzYWdlID0gL14oW1xcc1xcU10rPyk6XFxzKihcXGQrKSUgXFwoKFxcZCspXFwvKFxcZCspXFwpLy5leGVjKGNodW5rLnRvU3RyaW5nKCd1dGY4JykpO1xuICAgICAgICAgICAgaWYgKCFtZXNzYWdlKSB7XG4gICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHByb2dyZXNzKHtcbiAgICAgICAgICAgICAgIG1ldGhvZDogY29udGV4dC5tZXRob2QsXG4gICAgICAgICAgICAgICBzdGFnZTogcHJvZ3Jlc3NFdmVudFN0YWdlKG1lc3NhZ2VbMV0pLFxuICAgICAgICAgICAgICAgcHJvZ3Jlc3M6IGFzTnVtYmVyKG1lc3NhZ2VbMl0pLFxuICAgICAgICAgICAgICAgcHJvY2Vzc2VkOiBhc051bWJlcihtZXNzYWdlWzNdKSxcbiAgICAgICAgICAgICAgIHRvdGFsOiBhc051bWJlcihtZXNzYWdlWzRdKSxcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgfSk7XG4gICAgICB9LFxuICAgfTtcblxuICAgY29uc3Qgb25BcmdzOiBTaW1wbGVHaXRQbHVnaW48J3NwYXduLmFyZ3MnPiA9IHtcbiAgICAgIHR5cGU6ICdzcGF3bi5hcmdzJyxcbiAgICAgIGFjdGlvbihhcmdzLCBjb250ZXh0KSB7XG4gICAgICAgICBpZiAoIXByb2dyZXNzTWV0aG9kcy5pbmNsdWRlcyhjb250ZXh0Lm1ldGhvZCkpIHtcbiAgICAgICAgICAgIHJldHVybiBhcmdzO1xuICAgICAgICAgfVxuXG4gICAgICAgICByZXR1cm4gaW5jbHVkaW5nKGFyZ3MsIHByb2dyZXNzQ29tbWFuZCk7XG4gICAgICB9LFxuICAgfTtcblxuICAgcmV0dXJuIFtvbkFyZ3MsIG9uUHJvZ3Jlc3NdO1xufVxuXG5mdW5jdGlvbiBwcm9ncmVzc0V2ZW50U3RhZ2UoaW5wdXQ6IHN0cmluZykge1xuICAgcmV0dXJuIFN0cmluZyhpbnB1dC50b0xvd2VyQ2FzZSgpLnNwbGl0KCcgJywgMSkpIHx8ICd1bmtub3duJztcbn1cbiIsICJpbXBvcnQgeyBTcGF3bk9wdGlvbnMgfSBmcm9tICdjaGlsZF9wcm9jZXNzJztcbmltcG9ydCB7IHBpY2sgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBTaW1wbGVHaXRQbHVnaW4gfSBmcm9tICcuL3NpbXBsZS1naXQtcGx1Z2luJztcblxuZXhwb3J0IGZ1bmN0aW9uIHNwYXduT3B0aW9uc1BsdWdpbihcbiAgIHNwYXduT3B0aW9uczogUGFydGlhbDxTcGF3bk9wdGlvbnM+XG4pOiBTaW1wbGVHaXRQbHVnaW48J3NwYXduLm9wdGlvbnMnPiB7XG4gICBjb25zdCBvcHRpb25zID0gcGljayhzcGF3bk9wdGlvbnMsIFsndWlkJywgJ2dpZCddKTtcblxuICAgcmV0dXJuIHtcbiAgICAgIHR5cGU6ICdzcGF3bi5vcHRpb25zJyxcbiAgICAgIGFjdGlvbihkYXRhKSB7XG4gICAgICAgICByZXR1cm4geyAuLi5vcHRpb25zLCAuLi5kYXRhIH07XG4gICAgICB9LFxuICAgfTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7IFNpbXBsZUdpdFBsdWdpbiB9IGZyb20gJy4vc2ltcGxlLWdpdC1wbHVnaW4nO1xuXG5pbXBvcnQgdHlwZSB7IFNpbXBsZUdpdE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBHaXRQbHVnaW5FcnJvciB9IGZyb20gJy4uL2Vycm9ycy9naXQtcGx1Z2luLWVycm9yJztcblxuZXhwb3J0IGZ1bmN0aW9uIHRpbWVvdXRQbHVnaW4oe1xuICAgYmxvY2ssXG4gICBzdGRFcnIgPSB0cnVlLFxuICAgc3RkT3V0ID0gdHJ1ZSxcbn06IEV4Y2x1ZGU8U2ltcGxlR2l0T3B0aW9uc1sndGltZW91dCddLCB1bmRlZmluZWQ+KTogU2ltcGxlR2l0UGx1Z2luPCdzcGF3bi5hZnRlcic+IHwgdm9pZCB7XG4gICBpZiAoYmxvY2sgPiAwKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAgdHlwZTogJ3NwYXduLmFmdGVyJyxcbiAgICAgICAgIGFjdGlvbihfZGF0YSwgY29udGV4dCkge1xuICAgICAgICAgICAgbGV0IHRpbWVvdXQ6IE5vZGVKUy5UaW1lb3V0O1xuXG4gICAgICAgICAgICBmdW5jdGlvbiB3YWl0KCkge1xuICAgICAgICAgICAgICAgdGltZW91dCAmJiBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgICAgICAgICB0aW1lb3V0ID0gc2V0VGltZW91dChraWxsLCBibG9jayk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZ1bmN0aW9uIHN0b3AoKSB7XG4gICAgICAgICAgICAgICBjb250ZXh0LnNwYXduZWQuc3Rkb3V0Py5vZmYoJ2RhdGEnLCB3YWl0KTtcbiAgICAgICAgICAgICAgIGNvbnRleHQuc3Bhd25lZC5zdGRlcnI/Lm9mZignZGF0YScsIHdhaXQpO1xuICAgICAgICAgICAgICAgY29udGV4dC5zcGF3bmVkLm9mZignZXhpdCcsIHN0b3ApO1xuICAgICAgICAgICAgICAgY29udGV4dC5zcGF3bmVkLm9mZignY2xvc2UnLCBzdG9wKTtcbiAgICAgICAgICAgICAgIHRpbWVvdXQgJiYgY2xlYXJUaW1lb3V0KHRpbWVvdXQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmdW5jdGlvbiBraWxsKCkge1xuICAgICAgICAgICAgICAgc3RvcCgpO1xuICAgICAgICAgICAgICAgY29udGV4dC5raWxsKG5ldyBHaXRQbHVnaW5FcnJvcih1bmRlZmluZWQsICd0aW1lb3V0JywgYGJsb2NrIHRpbWVvdXQgcmVhY2hlZGApKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3RkT3V0ICYmIGNvbnRleHQuc3Bhd25lZC5zdGRvdXQ/Lm9uKCdkYXRhJywgd2FpdCk7XG4gICAgICAgICAgICBzdGRFcnIgJiYgY29udGV4dC5zcGF3bmVkLnN0ZGVycj8ub24oJ2RhdGEnLCB3YWl0KTtcbiAgICAgICAgICAgIGNvbnRleHQuc3Bhd25lZC5vbignZXhpdCcsIHN0b3ApO1xuICAgICAgICAgICAgY29udGV4dC5zcGF3bmVkLm9uKCdjbG9zZScsIHN0b3ApO1xuXG4gICAgICAgICAgICB3YWl0KCk7XG4gICAgICAgICB9LFxuICAgICAgfTtcbiAgIH1cbn1cbiIsICJpbXBvcnQgeyBTaW1wbGVHaXRQbHVnaW4gfSBmcm9tICcuL3NpbXBsZS1naXQtcGx1Z2luJztcbmltcG9ydCB7IGlzUGF0aFNwZWMsIHRvUGF0aHMgfSBmcm9tICcuLi9hcmdzL3BhdGhzcGVjJztcblxuZXhwb3J0IGZ1bmN0aW9uIHN1ZmZpeFBhdGhzUGx1Z2luKCk6IFNpbXBsZUdpdFBsdWdpbjwnc3Bhd24uYXJncyc+IHtcbiAgIHJldHVybiB7XG4gICAgICB0eXBlOiAnc3Bhd24uYXJncycsXG4gICAgICBhY3Rpb24oZGF0YSkge1xuICAgICAgICAgY29uc3QgcHJlZml4OiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAgbGV0IHN1ZmZpeDogdW5kZWZpbmVkIHwgc3RyaW5nW107XG4gICAgICAgICBmdW5jdGlvbiBhcHBlbmQoYXJnczogc3RyaW5nW10pIHtcbiAgICAgICAgICAgIChzdWZmaXggPSBzdWZmaXggfHwgW10pLnB1c2goLi4uYXJncyk7XG4gICAgICAgICB9XG5cbiAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZGF0YS5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgcGFyYW0gPSBkYXRhW2ldO1xuXG4gICAgICAgICAgICBpZiAoaXNQYXRoU3BlYyhwYXJhbSkpIHtcbiAgICAgICAgICAgICAgIGFwcGVuZCh0b1BhdGhzKHBhcmFtKSk7XG4gICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHBhcmFtID09PSAnLS0nKSB7XG4gICAgICAgICAgICAgICBhcHBlbmQoXG4gICAgICAgICAgICAgICAgICBkYXRhLnNsaWNlKGkgKyAxKS5mbGF0TWFwKChpdGVtKSA9PiAoaXNQYXRoU3BlYyhpdGVtKSAmJiB0b1BhdGhzKGl0ZW0pKSB8fCBpdGVtKVxuICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwcmVmaXgucHVzaChwYXJhbSk7XG4gICAgICAgICB9XG5cbiAgICAgICAgIHJldHVybiAhc3VmZml4ID8gcHJlZml4IDogWy4uLnByZWZpeCwgJy0tJywgLi4uc3VmZml4Lm1hcChTdHJpbmcpXTtcbiAgICAgIH0sXG4gICB9O1xufVxuIiwgImltcG9ydCB7IFNpbXBsZUdpdEZhY3RvcnkgfSBmcm9tICcuLi8uLi90eXBpbmdzJztcblxuaW1wb3J0ICogYXMgYXBpIGZyb20gJy4vYXBpJztcbmltcG9ydCB7XG4gICBhYm9ydFBsdWdpbixcbiAgIGJsb2NrVW5zYWZlT3BlcmF0aW9uc1BsdWdpbixcbiAgIGNvbW1hbmRDb25maWdQcmVmaXhpbmdQbHVnaW4sXG4gICBjb21wbGV0aW9uRGV0ZWN0aW9uUGx1Z2luLFxuICAgY3VzdG9tQmluYXJ5UGx1Z2luLFxuICAgZXJyb3JEZXRlY3Rpb25IYW5kbGVyLFxuICAgZXJyb3JEZXRlY3Rpb25QbHVnaW4sXG4gICBQbHVnaW5TdG9yZSxcbiAgIHByb2dyZXNzTW9uaXRvclBsdWdpbixcbiAgIHNwYXduT3B0aW9uc1BsdWdpbixcbiAgIHRpbWVvdXRQbHVnaW4sXG59IGZyb20gJy4vcGx1Z2lucyc7XG5pbXBvcnQgeyBzdWZmaXhQYXRoc1BsdWdpbiB9IGZyb20gJy4vcGx1Z2lucy9zdWZmaXgtcGF0aHMucGx1Z2luJztcbmltcG9ydCB7IGNyZWF0ZUluc3RhbmNlQ29uZmlnLCBmb2xkZXJFeGlzdHMgfSBmcm9tICcuL3V0aWxzJztcbmltcG9ydCB7IFNpbXBsZUdpdE9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJztcblxuY29uc3QgR2l0ID0gcmVxdWlyZSgnLi4vZ2l0Jyk7XG5cbi8qKlxuICogQWRkcyB0aGUgbmVjZXNzYXJ5IHByb3BlcnRpZXMgdG8gdGhlIHN1cHBsaWVkIG9iamVjdCB0byBlbmFibGUgaXQgZm9yIHVzZSBhc1xuICogdGhlIGRlZmF1bHQgZXhwb3J0IG9mIGEgbW9kdWxlLlxuICpcbiAqIEVnOiBgbW9kdWxlLmV4cG9ydHMgPSBlc01vZHVsZUZhY3RvcnkoeyBzb21ldGhpbmcgKCkge30gfSlgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlc01vZHVsZUZhY3Rvcnk8VD4oZGVmYXVsdEV4cG9ydDogVCkge1xuICAgcmV0dXJuIE9iamVjdC5kZWZpbmVQcm9wZXJ0aWVzKGRlZmF1bHRFeHBvcnQsIHtcbiAgICAgIF9fZXNNb2R1bGU6IHsgdmFsdWU6IHRydWUgfSxcbiAgICAgIGRlZmF1bHQ6IHsgdmFsdWU6IGRlZmF1bHRFeHBvcnQgfSxcbiAgIH0pIGFzIFQgJiB7IF9fZXNNb2R1bGU6IHRydWU7IGRlZmF1bHQ6IFQgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdpdEV4cG9ydEZhY3RvcnkoZmFjdG9yeTogU2ltcGxlR2l0RmFjdG9yeSkge1xuICAgcmV0dXJuIE9iamVjdC5hc3NpZ24oZmFjdG9yeS5iaW5kKG51bGwpLCBhcGkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2l0SW5zdGFuY2VGYWN0b3J5KFxuICAgYmFzZURpcj86IHN0cmluZyB8IFBhcnRpYWw8U2ltcGxlR2l0T3B0aW9ucz4sXG4gICBvcHRpb25zPzogUGFydGlhbDxTaW1wbGVHaXRPcHRpb25zPlxuKSB7XG4gICBjb25zdCBwbHVnaW5zID0gbmV3IFBsdWdpblN0b3JlKCk7XG4gICBjb25zdCBjb25maWcgPSBjcmVhdGVJbnN0YW5jZUNvbmZpZyhcbiAgICAgIChiYXNlRGlyICYmICh0eXBlb2YgYmFzZURpciA9PT0gJ3N0cmluZycgPyB7IGJhc2VEaXIgfSA6IGJhc2VEaXIpKSB8fCB7fSxcbiAgICAgIG9wdGlvbnNcbiAgICk7XG5cbiAgIGlmICghZm9sZGVyRXhpc3RzKGNvbmZpZy5iYXNlRGlyKSkge1xuICAgICAgdGhyb3cgbmV3IGFwaS5HaXRDb25zdHJ1Y3RFcnJvcihcbiAgICAgICAgIGNvbmZpZyxcbiAgICAgICAgIGBDYW5ub3QgdXNlIHNpbXBsZS1naXQgb24gYSBkaXJlY3RvcnkgdGhhdCBkb2VzIG5vdCBleGlzdGBcbiAgICAgICk7XG4gICB9XG5cbiAgIGlmIChBcnJheS5pc0FycmF5KGNvbmZpZy5jb25maWcpKSB7XG4gICAgICBwbHVnaW5zLmFkZChjb21tYW5kQ29uZmlnUHJlZml4aW5nUGx1Z2luKGNvbmZpZy5jb25maWcpKTtcbiAgIH1cblxuICAgcGx1Z2lucy5hZGQoYmxvY2tVbnNhZmVPcGVyYXRpb25zUGx1Z2luKGNvbmZpZy51bnNhZmUpKTtcbiAgIHBsdWdpbnMuYWRkKHN1ZmZpeFBhdGhzUGx1Z2luKCkpO1xuICAgcGx1Z2lucy5hZGQoY29tcGxldGlvbkRldGVjdGlvblBsdWdpbihjb25maWcuY29tcGxldGlvbikpO1xuICAgY29uZmlnLmFib3J0ICYmIHBsdWdpbnMuYWRkKGFib3J0UGx1Z2luKGNvbmZpZy5hYm9ydCkpO1xuICAgY29uZmlnLnByb2dyZXNzICYmIHBsdWdpbnMuYWRkKHByb2dyZXNzTW9uaXRvclBsdWdpbihjb25maWcucHJvZ3Jlc3MpKTtcbiAgIGNvbmZpZy50aW1lb3V0ICYmIHBsdWdpbnMuYWRkKHRpbWVvdXRQbHVnaW4oY29uZmlnLnRpbWVvdXQpKTtcbiAgIGNvbmZpZy5zcGF3bk9wdGlvbnMgJiYgcGx1Z2lucy5hZGQoc3Bhd25PcHRpb25zUGx1Z2luKGNvbmZpZy5zcGF3bk9wdGlvbnMpKTtcblxuICAgcGx1Z2lucy5hZGQoZXJyb3JEZXRlY3Rpb25QbHVnaW4oZXJyb3JEZXRlY3Rpb25IYW5kbGVyKHRydWUpKSk7XG4gICBjb25maWcuZXJyb3JzICYmIHBsdWdpbnMuYWRkKGVycm9yRGV0ZWN0aW9uUGx1Z2luKGNvbmZpZy5lcnJvcnMpKTtcblxuICAgY3VzdG9tQmluYXJ5UGx1Z2luKHBsdWdpbnMsIGNvbmZpZy5iaW5hcnksIGNvbmZpZy51bnNhZmU/LmFsbG93VW5zYWZlQ3VzdG9tQmluYXJ5KTtcblxuICAgcmV0dXJuIG5ldyBHaXQoY29uZmlnLCBwbHVnaW5zKTtcbn1cbiIsICJpbXBvcnQgeyBTaW1wbGVHaXQsIFNpbXBsZUdpdE9wdGlvbnMgfSBmcm9tICcuLi8uLi8uLi90eXBpbmdzJztcblxuaW1wb3J0IHsgR2l0UmVzcG9uc2VFcnJvciB9IGZyb20gJy4uL2Vycm9ycy9naXQtcmVzcG9uc2UtZXJyb3InO1xuaW1wb3J0IHsgZ2l0SW5zdGFuY2VGYWN0b3J5IH0gZnJvbSAnLi4vZ2l0LWZhY3RvcnknO1xuaW1wb3J0IHsgU2ltcGxlR2l0VGFza0NhbGxiYWNrIH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCBmdW5jdGlvbk5hbWVzQnVpbGRlckFwaSA9IFsnY3VzdG9tQmluYXJ5JywgJ2VudicsICdvdXRwdXRIYW5kbGVyJywgJ3NpbGVudCddO1xuXG5jb25zdCBmdW5jdGlvbk5hbWVzUHJvbWlzZUFwaSA9IFtcbiAgICdhZGQnLFxuICAgJ2FkZEFubm90YXRlZFRhZycsXG4gICAnYWRkQ29uZmlnJyxcbiAgICdhZGRSZW1vdGUnLFxuICAgJ2FkZFRhZycsXG4gICAnYXBwbHlQYXRjaCcsXG4gICAnYmluYXJ5Q2F0RmlsZScsXG4gICAnYnJhbmNoJyxcbiAgICdicmFuY2hMb2NhbCcsXG4gICAnY2F0RmlsZScsXG4gICAnY2hlY2tJZ25vcmUnLFxuICAgJ2NoZWNrSXNSZXBvJyxcbiAgICdjaGVja291dCcsXG4gICAnY2hlY2tvdXRCcmFuY2gnLFxuICAgJ2NoZWNrb3V0TGF0ZXN0VGFnJyxcbiAgICdjaGVja291dExvY2FsQnJhbmNoJyxcbiAgICdjbGVhbicsXG4gICAnY2xvbmUnLFxuICAgJ2NvbW1pdCcsXG4gICAnY3dkJyxcbiAgICdkZWxldGVMb2NhbEJyYW5jaCcsXG4gICAnZGVsZXRlTG9jYWxCcmFuY2hlcycsXG4gICAnZGlmZicsXG4gICAnZGlmZlN1bW1hcnknLFxuICAgJ2V4ZWMnLFxuICAgJ2ZldGNoJyxcbiAgICdnZXRSZW1vdGVzJyxcbiAgICdpbml0JyxcbiAgICdsaXN0Q29uZmlnJyxcbiAgICdsaXN0UmVtb3RlJyxcbiAgICdsb2cnLFxuICAgJ21lcmdlJyxcbiAgICdtZXJnZUZyb21UbycsXG4gICAnbWlycm9yJyxcbiAgICdtdicsXG4gICAncHVsbCcsXG4gICAncHVzaCcsXG4gICAncHVzaFRhZ3MnLFxuICAgJ3JhdycsXG4gICAncmViYXNlJyxcbiAgICdyZW1vdGUnLFxuICAgJ3JlbW92ZVJlbW90ZScsXG4gICAncmVzZXQnLFxuICAgJ3JldmVydCcsXG4gICAncmV2cGFyc2UnLFxuICAgJ3JtJyxcbiAgICdybUtlZXBMb2NhbCcsXG4gICAnc2hvdycsXG4gICAnc3Rhc2gnLFxuICAgJ3N0YXNoTGlzdCcsXG4gICAnc3RhdHVzJyxcbiAgICdzdWJNb2R1bGUnLFxuICAgJ3N1Ym1vZHVsZUFkZCcsXG4gICAnc3VibW9kdWxlSW5pdCcsXG4gICAnc3VibW9kdWxlVXBkYXRlJyxcbiAgICd0YWcnLFxuICAgJ3RhZ3MnLFxuICAgJ3VwZGF0ZVNlcnZlckluZm8nLFxuXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdpdFAoXG4gICAuLi5hcmdzOiBbXSB8IFtzdHJpbmddIHwgW1BhcnRpYWw8U2ltcGxlR2l0T3B0aW9ucz5dIHwgW3N0cmluZywgUGFydGlhbDxTaW1wbGVHaXRPcHRpb25zPl1cbik6IFNpbXBsZUdpdCB7XG4gICBsZXQgZ2l0OiBhbnk7XG5cbiAgIGxldCBjaGFpbiA9IFByb21pc2UucmVzb2x2ZSgpO1xuXG4gICB0cnkge1xuICAgICAgZ2l0ID0gZ2l0SW5zdGFuY2VGYWN0b3J5KC4uLmFyZ3MpO1xuICAgfSBjYXRjaCAoZSkge1xuICAgICAgY2hhaW4gPSBQcm9taXNlLnJlamVjdChlKTtcbiAgIH1cblxuICAgZnVuY3Rpb24gYnVpbGRlclJldHVybigpIHtcbiAgICAgIHJldHVybiBwcm9taXNlQXBpO1xuICAgfVxuXG4gICBmdW5jdGlvbiBjaGFpblJldHVybigpIHtcbiAgICAgIHJldHVybiBjaGFpbjtcbiAgIH1cblxuICAgY29uc3QgcHJvbWlzZUFwaSA9IFsuLi5mdW5jdGlvbk5hbWVzQnVpbGRlckFwaSwgLi4uZnVuY3Rpb25OYW1lc1Byb21pc2VBcGldLnJlZHVjZShcbiAgICAgIChhcGk6IGFueSwgbmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICBjb25zdCBpc0FzeW5jID0gZnVuY3Rpb25OYW1lc1Byb21pc2VBcGkuaW5jbHVkZXMobmFtZSk7XG5cbiAgICAgICAgIGNvbnN0IHZhbGlkID0gaXNBc3luYyA/IGFzeW5jV3JhcHBlcihuYW1lLCBnaXQpIDogc3luY1dyYXBwZXIobmFtZSwgZ2l0LCBhcGkpO1xuICAgICAgICAgY29uc3QgYWx0ZXJuYXRpdmUgPSBpc0FzeW5jID8gY2hhaW5SZXR1cm4gOiBidWlsZGVyUmV0dXJuO1xuXG4gICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoYXBpLCBuYW1lLCB7XG4gICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSxcbiAgICAgICAgICAgIGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gICAgICAgICAgICB2YWx1ZTogZ2l0ID8gdmFsaWQgOiBhbHRlcm5hdGl2ZSxcbiAgICAgICAgIH0pO1xuXG4gICAgICAgICByZXR1cm4gYXBpO1xuICAgICAgfSxcbiAgICAgIHt9XG4gICApO1xuXG4gICByZXR1cm4gcHJvbWlzZUFwaSBhcyBTaW1wbGVHaXQ7XG5cbiAgIGZ1bmN0aW9uIGFzeW5jV3JhcHBlcihmbjogc3RyaW5nLCBnaXQ6IGFueSk6ICguLi5hcmdzOiBhbnlbXSkgPT4gUHJvbWlzZTxhbnk+IHtcbiAgICAgIHJldHVybiBmdW5jdGlvbiAoLi4uYXJnczogYW55W10pIHtcbiAgICAgICAgIGlmICh0eXBlb2YgYXJnc1thcmdzLmxlbmd0aF0gPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAgICAgICAgICAnUHJvbWlzZSBpbnRlcmZhY2UgcmVxdWlyZXMgdGhhdCBoYW5kbGVycyBhcmUgbm90IHN1cHBsaWVkIGlubGluZSwgJyArXG4gICAgICAgICAgICAgICAgICAndHJhaWxpbmcgZnVuY3Rpb24gbm90IGFsbG93ZWQgaW4gY2FsbCB0byAnICtcbiAgICAgICAgICAgICAgICAgIGZuXG4gICAgICAgICAgICApO1xuICAgICAgICAgfVxuXG4gICAgICAgICByZXR1cm4gY2hhaW4udGhlbihmdW5jdGlvbiAoKSB7XG4gICAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgICAgICAgICAgICAgY29uc3QgY2FsbGJhY2s6IFNpbXBsZUdpdFRhc2tDYWxsYmFjayA9IChlcnI6IEVycm9yIHwgbnVsbCwgcmVzdWx0PzogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoZXJyKSB7XG4gICAgICAgICAgICAgICAgICAgICByZXR1cm4gcmVqZWN0KHRvRXJyb3IoZXJyKSk7XG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICAgICAgIH07XG4gICAgICAgICAgICAgICBhcmdzLnB1c2goY2FsbGJhY2spO1xuXG4gICAgICAgICAgICAgICBnaXRbZm5dLmFwcGx5KGdpdCwgYXJncyk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgIH0pO1xuICAgICAgfTtcbiAgIH1cblxuICAgZnVuY3Rpb24gc3luY1dyYXBwZXIoZm46IHN0cmluZywgZ2l0OiBhbnksIGFwaTogU2ltcGxlR2l0KSB7XG4gICAgICByZXR1cm4gKC4uLmFyZ3M6IGFueVtdKSA9PiB7XG4gICAgICAgICBnaXRbZm5dKC4uLmFyZ3MpO1xuXG4gICAgICAgICByZXR1cm4gYXBpO1xuICAgICAgfTtcbiAgIH1cbn1cblxuZnVuY3Rpb24gdG9FcnJvcihlcnJvcjogRXJyb3IgfCBzdHJpbmcgfCBhbnkpOiBFcnJvciB7XG4gICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgcmV0dXJuIGVycm9yO1xuICAgfVxuXG4gICBpZiAodHlwZW9mIGVycm9yID09PSAnc3RyaW5nJykge1xuICAgICAgcmV0dXJuIG5ldyBFcnJvcihlcnJvcik7XG4gICB9XG5cbiAgIHJldHVybiBuZXcgR2l0UmVzcG9uc2VFcnJvcihlcnJvcik7XG59XG4iLCAiaW1wb3J0IHsgZ2l0SW5zdGFuY2VGYWN0b3J5IH0gZnJvbSAnLi9saWIvZ2l0LWZhY3RvcnknO1xuXG5leHBvcnQgeyBnaXRQIH0gZnJvbSAnLi9saWIvcnVubmVycy9wcm9taXNlLXdyYXBwZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYXBpJztcblxuZXhwb3J0IGNvbnN0IHNpbXBsZUdpdCA9IGdpdEluc3RhbmNlRmFjdG9yeTtcblxuZXhwb3J0IGRlZmF1bHQgZ2l0SW5zdGFuY2VGYWN0b3J5O1xuIiwgImltcG9ydCBleHBhbmQgZnJvbSAnYnJhY2UtZXhwYW5zaW9uJ1xuaW1wb3J0IHsgYXNzZXJ0VmFsaWRQYXR0ZXJuIH0gZnJvbSAnLi9hc3NlcnQtdmFsaWQtcGF0dGVybi5qcydcbmltcG9ydCB7IEFTVCwgRXh0Z2xvYlR5cGUgfSBmcm9tICcuL2FzdC5qcydcbmltcG9ydCB7IGVzY2FwZSB9IGZyb20gJy4vZXNjYXBlLmpzJ1xuaW1wb3J0IHsgdW5lc2NhcGUgfSBmcm9tICcuL3VuZXNjYXBlLmpzJ1xuXG50eXBlIFBsYXRmb3JtID1cbiAgfCAnYWl4J1xuICB8ICdhbmRyb2lkJ1xuICB8ICdkYXJ3aW4nXG4gIHwgJ2ZyZWVic2QnXG4gIHwgJ2hhaWt1J1xuICB8ICdsaW51eCdcbiAgfCAnb3BlbmJzZCdcbiAgfCAnc3Vub3MnXG4gIHwgJ3dpbjMyJ1xuICB8ICdjeWd3aW4nXG4gIHwgJ25ldGJzZCdcblxuZXhwb3J0IGludGVyZmFjZSBNaW5pbWF0Y2hPcHRpb25zIHtcbiAgbm9icmFjZT86IGJvb2xlYW5cbiAgbm9jb21tZW50PzogYm9vbGVhblxuICBub25lZ2F0ZT86IGJvb2xlYW5cbiAgZGVidWc/OiBib29sZWFuXG4gIG5vZ2xvYnN0YXI/OiBib29sZWFuXG4gIG5vZXh0PzogYm9vbGVhblxuICBub251bGw/OiBib29sZWFuXG4gIHdpbmRvd3NQYXRoc05vRXNjYXBlPzogYm9vbGVhblxuICBhbGxvd1dpbmRvd3NFc2NhcGU/OiBib29sZWFuXG4gIHBhcnRpYWw/OiBib29sZWFuXG4gIGRvdD86IGJvb2xlYW5cbiAgbm9jYXNlPzogYm9vbGVhblxuICBub2Nhc2VNYWdpY09ubHk/OiBib29sZWFuXG4gIG1hZ2ljYWxCcmFjZXM/OiBib29sZWFuXG4gIG1hdGNoQmFzZT86IGJvb2xlYW5cbiAgZmxpcE5lZ2F0ZT86IGJvb2xlYW5cbiAgcHJlc2VydmVNdWx0aXBsZVNsYXNoZXM/OiBib29sZWFuXG4gIG9wdGltaXphdGlvbkxldmVsPzogbnVtYmVyXG4gIHBsYXRmb3JtPzogUGxhdGZvcm1cbiAgd2luZG93c05vTWFnaWNSb290PzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgbWluaW1hdGNoID0gKFxuICBwOiBzdHJpbmcsXG4gIHBhdHRlcm46IHN0cmluZyxcbiAgb3B0aW9uczogTWluaW1hdGNoT3B0aW9ucyA9IHt9XG4pID0+IHtcbiAgYXNzZXJ0VmFsaWRQYXR0ZXJuKHBhdHRlcm4pXG5cbiAgLy8gc2hvcnRjdXQ6IGNvbW1lbnRzIG1hdGNoIG5vdGhpbmcuXG4gIGlmICghb3B0aW9ucy5ub2NvbW1lbnQgJiYgcGF0dGVybi5jaGFyQXQoMCkgPT09ICcjJykge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcmV0dXJuIG5ldyBNaW5pbWF0Y2gocGF0dGVybiwgb3B0aW9ucykubWF0Y2gocClcbn1cblxuLy8gT3B0aW1pemVkIGNoZWNraW5nIGZvciB0aGUgbW9zdCBjb21tb24gZ2xvYiBwYXR0ZXJucy5cbmNvbnN0IHN0YXJEb3RFeHRSRSA9IC9eXFwqKyhbXitAIT9cXCpcXFtcXChdKikkL1xuY29uc3Qgc3RhckRvdEV4dFRlc3QgPSAoZXh0OiBzdHJpbmcpID0+IChmOiBzdHJpbmcpID0+XG4gICFmLnN0YXJ0c1dpdGgoJy4nKSAmJiBmLmVuZHNXaXRoKGV4dClcbmNvbnN0IHN0YXJEb3RFeHRUZXN0RG90ID0gKGV4dDogc3RyaW5nKSA9PiAoZjogc3RyaW5nKSA9PiBmLmVuZHNXaXRoKGV4dClcbmNvbnN0IHN0YXJEb3RFeHRUZXN0Tm9jYXNlID0gKGV4dDogc3RyaW5nKSA9PiB7XG4gIGV4dCA9IGV4dC50b0xvd2VyQ2FzZSgpXG4gIHJldHVybiAoZjogc3RyaW5nKSA9PiAhZi5zdGFydHNXaXRoKCcuJykgJiYgZi50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKGV4dClcbn1cbmNvbnN0IHN0YXJEb3RFeHRUZXN0Tm9jYXNlRG90ID0gKGV4dDogc3RyaW5nKSA9PiB7XG4gIGV4dCA9IGV4dC50b0xvd2VyQ2FzZSgpXG4gIHJldHVybiAoZjogc3RyaW5nKSA9PiBmLnRvTG93ZXJDYXNlKCkuZW5kc1dpdGgoZXh0KVxufVxuY29uc3Qgc3RhckRvdFN0YXJSRSA9IC9eXFwqK1xcLlxcKiskL1xuY29uc3Qgc3RhckRvdFN0YXJUZXN0ID0gKGY6IHN0cmluZykgPT4gIWYuc3RhcnRzV2l0aCgnLicpICYmIGYuaW5jbHVkZXMoJy4nKVxuY29uc3Qgc3RhckRvdFN0YXJUZXN0RG90ID0gKGY6IHN0cmluZykgPT5cbiAgZiAhPT0gJy4nICYmIGYgIT09ICcuLicgJiYgZi5pbmNsdWRlcygnLicpXG5jb25zdCBkb3RTdGFyUkUgPSAvXlxcLlxcKiskL1xuY29uc3QgZG90U3RhclRlc3QgPSAoZjogc3RyaW5nKSA9PiBmICE9PSAnLicgJiYgZiAhPT0gJy4uJyAmJiBmLnN0YXJ0c1dpdGgoJy4nKVxuY29uc3Qgc3RhclJFID0gL15cXCorJC9cbmNvbnN0IHN0YXJUZXN0ID0gKGY6IHN0cmluZykgPT4gZi5sZW5ndGggIT09IDAgJiYgIWYuc3RhcnRzV2l0aCgnLicpXG5jb25zdCBzdGFyVGVzdERvdCA9IChmOiBzdHJpbmcpID0+IGYubGVuZ3RoICE9PSAwICYmIGYgIT09ICcuJyAmJiBmICE9PSAnLi4nXG5jb25zdCBxbWFya3NSRSA9IC9eXFw/KyhbXitAIT9cXCpcXFtcXChdKik/JC9cbmNvbnN0IHFtYXJrc1Rlc3ROb2Nhc2UgPSAoWyQwLCBleHQgPSAnJ106IFJlZ0V4cE1hdGNoQXJyYXkpID0+IHtcbiAgY29uc3Qgbm9leHQgPSBxbWFya3NUZXN0Tm9FeHQoWyQwXSlcbiAgaWYgKCFleHQpIHJldHVybiBub2V4dFxuICBleHQgPSBleHQudG9Mb3dlckNhc2UoKVxuICByZXR1cm4gKGY6IHN0cmluZykgPT4gbm9leHQoZikgJiYgZi50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKGV4dClcbn1cbmNvbnN0IHFtYXJrc1Rlc3ROb2Nhc2VEb3QgPSAoWyQwLCBleHQgPSAnJ106IFJlZ0V4cE1hdGNoQXJyYXkpID0+IHtcbiAgY29uc3Qgbm9leHQgPSBxbWFya3NUZXN0Tm9FeHREb3QoWyQwXSlcbiAgaWYgKCFleHQpIHJldHVybiBub2V4dFxuICBleHQgPSBleHQudG9Mb3dlckNhc2UoKVxuICByZXR1cm4gKGY6IHN0cmluZykgPT4gbm9leHQoZikgJiYgZi50b0xvd2VyQ2FzZSgpLmVuZHNXaXRoKGV4dClcbn1cbmNvbnN0IHFtYXJrc1Rlc3REb3QgPSAoWyQwLCBleHQgPSAnJ106IFJlZ0V4cE1hdGNoQXJyYXkpID0+IHtcbiAgY29uc3Qgbm9leHQgPSBxbWFya3NUZXN0Tm9FeHREb3QoWyQwXSlcbiAgcmV0dXJuICFleHQgPyBub2V4dCA6IChmOiBzdHJpbmcpID0+IG5vZXh0KGYpICYmIGYuZW5kc1dpdGgoZXh0KVxufVxuY29uc3QgcW1hcmtzVGVzdCA9IChbJDAsIGV4dCA9ICcnXTogUmVnRXhwTWF0Y2hBcnJheSkgPT4ge1xuICBjb25zdCBub2V4dCA9IHFtYXJrc1Rlc3ROb0V4dChbJDBdKVxuICByZXR1cm4gIWV4dCA/IG5vZXh0IDogKGY6IHN0cmluZykgPT4gbm9leHQoZikgJiYgZi5lbmRzV2l0aChleHQpXG59XG5jb25zdCBxbWFya3NUZXN0Tm9FeHQgPSAoWyQwXTogUmVnRXhwTWF0Y2hBcnJheSkgPT4ge1xuICBjb25zdCBsZW4gPSAkMC5sZW5ndGhcbiAgcmV0dXJuIChmOiBzdHJpbmcpID0+IGYubGVuZ3RoID09PSBsZW4gJiYgIWYuc3RhcnRzV2l0aCgnLicpXG59XG5jb25zdCBxbWFya3NUZXN0Tm9FeHREb3QgPSAoWyQwXTogUmVnRXhwTWF0Y2hBcnJheSkgPT4ge1xuICBjb25zdCBsZW4gPSAkMC5sZW5ndGhcbiAgcmV0dXJuIChmOiBzdHJpbmcpID0+IGYubGVuZ3RoID09PSBsZW4gJiYgZiAhPT0gJy4nICYmIGYgIT09ICcuLidcbn1cblxuLyogYzggaWdub3JlIHN0YXJ0ICovXG5jb25zdCBkZWZhdWx0UGxhdGZvcm06IFBsYXRmb3JtID0gKFxuICB0eXBlb2YgcHJvY2VzcyA9PT0gJ29iamVjdCcgJiYgcHJvY2Vzc1xuICAgID8gKHR5cGVvZiBwcm9jZXNzLmVudiA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgcHJvY2Vzcy5lbnYgJiZcbiAgICAgICAgcHJvY2Vzcy5lbnYuX19NSU5JTUFUQ0hfVEVTVElOR19QTEFURk9STV9fKSB8fFxuICAgICAgcHJvY2Vzcy5wbGF0Zm9ybVxuICAgIDogJ3Bvc2l4J1xuKSBhcyBQbGF0Zm9ybVxudHlwZSBTZXAgPSAnXFxcXCcgfCAnLydcbmNvbnN0IHBhdGg6IHsgW2s6IHN0cmluZ106IHsgc2VwOiBTZXAgfSB9ID0ge1xuICB3aW4zMjogeyBzZXA6ICdcXFxcJyB9LFxuICBwb3NpeDogeyBzZXA6ICcvJyB9LFxufVxuLyogYzggaWdub3JlIHN0b3AgKi9cblxuZXhwb3J0IGNvbnN0IHNlcCA9IGRlZmF1bHRQbGF0Zm9ybSA9PT0gJ3dpbjMyJyA/IHBhdGgud2luMzIuc2VwIDogcGF0aC5wb3NpeC5zZXBcbm1pbmltYXRjaC5zZXAgPSBzZXBcblxuZXhwb3J0IGNvbnN0IEdMT0JTVEFSID0gU3ltYm9sKCdnbG9ic3RhciAqKicpXG5taW5pbWF0Y2guR0xPQlNUQVIgPSBHTE9CU1RBUlxuXG4vLyBhbnkgc2luZ2xlIHRoaW5nIG90aGVyIHRoYW4gL1xuLy8gZG9uJ3QgbmVlZCB0byBlc2NhcGUgLyB3aGVuIHVzaW5nIG5ldyBSZWdFeHAoKVxuY29uc3QgcW1hcmsgPSAnW14vXSdcblxuLy8gKiA9PiBhbnkgbnVtYmVyIG9mIGNoYXJhY3RlcnNcbmNvbnN0IHN0YXIgPSBxbWFyayArICcqPydcblxuLy8gKiogd2hlbiBkb3RzIGFyZSBhbGxvd2VkLiAgQW55dGhpbmcgZ29lcywgZXhjZXB0IC4uIGFuZCAuXG4vLyBub3QgKF4gb3IgLyBmb2xsb3dlZCBieSBvbmUgb3IgdHdvIGRvdHMgZm9sbG93ZWQgYnkgJCBvciAvKSxcbi8vIGZvbGxvd2VkIGJ5IGFueXRoaW5nLCBhbnkgbnVtYmVyIG9mIHRpbWVzLlxuY29uc3QgdHdvU3RhckRvdCA9ICcoPzooPyEoPzpcXFxcL3xeKSg/OlxcXFwuezEsMn0pKCR8XFxcXC8pKS4pKj8nXG5cbi8vIG5vdCBhIF4gb3IgLyBmb2xsb3dlZCBieSBhIGRvdCxcbi8vIGZvbGxvd2VkIGJ5IGFueXRoaW5nLCBhbnkgbnVtYmVyIG9mIHRpbWVzLlxuY29uc3QgdHdvU3Rhck5vRG90ID0gJyg/Oig/ISg/OlxcXFwvfF4pXFxcXC4pLikqPydcblxuZXhwb3J0IGNvbnN0IGZpbHRlciA9XG4gIChwYXR0ZXJuOiBzdHJpbmcsIG9wdGlvbnM6IE1pbmltYXRjaE9wdGlvbnMgPSB7fSkgPT5cbiAgKHA6IHN0cmluZykgPT5cbiAgICBtaW5pbWF0Y2gocCwgcGF0dGVybiwgb3B0aW9ucylcbm1pbmltYXRjaC5maWx0ZXIgPSBmaWx0ZXJcblxuY29uc3QgZXh0ID0gKGE6IE1pbmltYXRjaE9wdGlvbnMsIGI6IE1pbmltYXRjaE9wdGlvbnMgPSB7fSkgPT5cbiAgT2JqZWN0LmFzc2lnbih7fSwgYSwgYilcblxuZXhwb3J0IGNvbnN0IGRlZmF1bHRzID0gKGRlZjogTWluaW1hdGNoT3B0aW9ucyk6IHR5cGVvZiBtaW5pbWF0Y2ggPT4ge1xuICBpZiAoIWRlZiB8fCB0eXBlb2YgZGVmICE9PSAnb2JqZWN0JyB8fCAhT2JqZWN0LmtleXMoZGVmKS5sZW5ndGgpIHtcbiAgICByZXR1cm4gbWluaW1hdGNoXG4gIH1cblxuICBjb25zdCBvcmlnID0gbWluaW1hdGNoXG5cbiAgY29uc3QgbSA9IChwOiBzdHJpbmcsIHBhdHRlcm46IHN0cmluZywgb3B0aW9uczogTWluaW1hdGNoT3B0aW9ucyA9IHt9KSA9PlxuICAgIG9yaWcocCwgcGF0dGVybiwgZXh0KGRlZiwgb3B0aW9ucykpXG5cbiAgcmV0dXJuIE9iamVjdC5hc3NpZ24obSwge1xuICAgIE1pbmltYXRjaDogY2xhc3MgTWluaW1hdGNoIGV4dGVuZHMgb3JpZy5NaW5pbWF0Y2gge1xuICAgICAgY29uc3RydWN0b3IocGF0dGVybjogc3RyaW5nLCBvcHRpb25zOiBNaW5pbWF0Y2hPcHRpb25zID0ge30pIHtcbiAgICAgICAgc3VwZXIocGF0dGVybiwgZXh0KGRlZiwgb3B0aW9ucykpXG4gICAgICB9XG4gICAgICBzdGF0aWMgZGVmYXVsdHMob3B0aW9uczogTWluaW1hdGNoT3B0aW9ucykge1xuICAgICAgICByZXR1cm4gb3JpZy5kZWZhdWx0cyhleHQoZGVmLCBvcHRpb25zKSkuTWluaW1hdGNoXG4gICAgICB9XG4gICAgfSxcblxuICAgIEFTVDogY2xhc3MgQVNUIGV4dGVuZHMgb3JpZy5BU1Qge1xuICAgICAgLyogYzggaWdub3JlIHN0YXJ0ICovXG4gICAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgdHlwZTogRXh0Z2xvYlR5cGUgfCBudWxsLFxuICAgICAgICBwYXJlbnQ/OiBBU1QsXG4gICAgICAgIG9wdGlvbnM6IE1pbmltYXRjaE9wdGlvbnMgPSB7fVxuICAgICAgKSB7XG4gICAgICAgIHN1cGVyKHR5cGUsIHBhcmVudCwgZXh0KGRlZiwgb3B0aW9ucykpXG4gICAgICB9XG4gICAgICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuXG4gICAgICBzdGF0aWMgZnJvbUdsb2IocGF0dGVybjogc3RyaW5nLCBvcHRpb25zOiBNaW5pbWF0Y2hPcHRpb25zID0ge30pIHtcbiAgICAgICAgcmV0dXJuIG9yaWcuQVNULmZyb21HbG9iKHBhdHRlcm4sIGV4dChkZWYsIG9wdGlvbnMpKVxuICAgICAgfVxuICAgIH0sXG5cbiAgICB1bmVzY2FwZTogKFxuICAgICAgczogc3RyaW5nLFxuICAgICAgb3B0aW9uczogUGljazxNaW5pbWF0Y2hPcHRpb25zLCAnd2luZG93c1BhdGhzTm9Fc2NhcGUnPiA9IHt9XG4gICAgKSA9PiBvcmlnLnVuZXNjYXBlKHMsIGV4dChkZWYsIG9wdGlvbnMpKSxcblxuICAgIGVzY2FwZTogKFxuICAgICAgczogc3RyaW5nLFxuICAgICAgb3B0aW9uczogUGljazxNaW5pbWF0Y2hPcHRpb25zLCAnd2luZG93c1BhdGhzTm9Fc2NhcGUnPiA9IHt9XG4gICAgKSA9PiBvcmlnLmVzY2FwZShzLCBleHQoZGVmLCBvcHRpb25zKSksXG5cbiAgICBmaWx0ZXI6IChwYXR0ZXJuOiBzdHJpbmcsIG9wdGlvbnM6IE1pbmltYXRjaE9wdGlvbnMgPSB7fSkgPT5cbiAgICAgIG9yaWcuZmlsdGVyKHBhdHRlcm4sIGV4dChkZWYsIG9wdGlvbnMpKSxcblxuICAgIGRlZmF1bHRzOiAob3B0aW9uczogTWluaW1hdGNoT3B0aW9ucykgPT4gb3JpZy5kZWZhdWx0cyhleHQoZGVmLCBvcHRpb25zKSksXG5cbiAgICBtYWtlUmU6IChwYXR0ZXJuOiBzdHJpbmcsIG9wdGlvbnM6IE1pbmltYXRjaE9wdGlvbnMgPSB7fSkgPT5cbiAgICAgIG9yaWcubWFrZVJlKHBhdHRlcm4sIGV4dChkZWYsIG9wdGlvbnMpKSxcblxuICAgIGJyYWNlRXhwYW5kOiAocGF0dGVybjogc3RyaW5nLCBvcHRpb25zOiBNaW5pbWF0Y2hPcHRpb25zID0ge30pID0+XG4gICAgICBvcmlnLmJyYWNlRXhwYW5kKHBhdHRlcm4sIGV4dChkZWYsIG9wdGlvbnMpKSxcblxuICAgIG1hdGNoOiAobGlzdDogc3RyaW5nW10sIHBhdHRlcm46IHN0cmluZywgb3B0aW9uczogTWluaW1hdGNoT3B0aW9ucyA9IHt9KSA9PlxuICAgICAgb3JpZy5tYXRjaChsaXN0LCBwYXR0ZXJuLCBleHQoZGVmLCBvcHRpb25zKSksXG5cbiAgICBzZXA6IG9yaWcuc2VwLFxuICAgIEdMT0JTVEFSOiBHTE9CU1RBUiBhcyB0eXBlb2YgR0xPQlNUQVIsXG4gIH0pXG59XG5taW5pbWF0Y2guZGVmYXVsdHMgPSBkZWZhdWx0c1xuXG4vLyBCcmFjZSBleHBhbnNpb246XG4vLyBhe2IsY31kIC0+IGFiZCBhY2Rcbi8vIGF7Yix9YyAtPiBhYmMgYWNcbi8vIGF7MC4uM31kIC0+IGEwZCBhMWQgYTJkIGEzZFxuLy8gYXtiLGN7ZCxlfWZ9ZyAtPiBhYmcgYWNkZmcgYWNlZmdcbi8vIGF7YixjfWR7ZSxmfWcgLT4gYWJkZWcgYWNkZWcgYWJkZWcgYWJkZmdcbi8vXG4vLyBJbnZhbGlkIHNldHMgYXJlIG5vdCBleHBhbmRlZC5cbi8vIGF7Mi4ufWIgLT4gYXsyLi59YlxuLy8gYXtifWMgLT4gYXtifWNcbmV4cG9ydCBjb25zdCBicmFjZUV4cGFuZCA9IChcbiAgcGF0dGVybjogc3RyaW5nLFxuICBvcHRpb25zOiBNaW5pbWF0Y2hPcHRpb25zID0ge31cbikgPT4ge1xuICBhc3NlcnRWYWxpZFBhdHRlcm4ocGF0dGVybilcblxuICAvLyBUaGFua3MgdG8gWWV0aW5nIExpIDxodHRwczovL2dpdGh1Yi5jb20veWV0aW5nbGk+IGZvclxuICAvLyBpbXByb3ZpbmcgdGhpcyByZWdleHAgdG8gYXZvaWQgYSBSZURPUyB2dWxuZXJhYmlsaXR5LlxuICBpZiAob3B0aW9ucy5ub2JyYWNlIHx8ICEvXFx7KD86KD8hXFx7KS4pKlxcfS8udGVzdChwYXR0ZXJuKSkge1xuICAgIC8vIHNob3J0Y3V0LiBubyBuZWVkIHRvIGV4cGFuZC5cbiAgICByZXR1cm4gW3BhdHRlcm5dXG4gIH1cblxuICByZXR1cm4gZXhwYW5kKHBhdHRlcm4pXG59XG5taW5pbWF0Y2guYnJhY2VFeHBhbmQgPSBicmFjZUV4cGFuZFxuXG4vLyBwYXJzZSBhIGNvbXBvbmVudCBvZiB0aGUgZXhwYW5kZWQgc2V0LlxuLy8gQXQgdGhpcyBwb2ludCwgbm8gcGF0dGVybiBtYXkgY29udGFpbiBcIi9cIiBpbiBpdFxuLy8gc28gd2UncmUgZ29pbmcgdG8gcmV0dXJuIGEgMmQgYXJyYXksIHdoZXJlIGVhY2ggZW50cnkgaXMgdGhlIGZ1bGxcbi8vIHBhdHRlcm4sIHNwbGl0IG9uICcvJywgYW5kIHRoZW4gdHVybmVkIGludG8gYSByZWd1bGFyIGV4cHJlc3Npb24uXG4vLyBBIHJlZ2V4cCBpcyBtYWRlIGF0IHRoZSBlbmQgd2hpY2ggam9pbnMgZWFjaCBhcnJheSB3aXRoIGFuXG4vLyBlc2NhcGVkIC8sIGFuZCBhbm90aGVyIGZ1bGwgb25lIHdoaWNoIGpvaW5zIGVhY2ggcmVnZXhwIHdpdGggfC5cbi8vXG4vLyBGb2xsb3dpbmcgdGhlIGxlYWQgb2YgQmFzaCA0LjEsIG5vdGUgdGhhdCBcIioqXCIgb25seSBoYXMgc3BlY2lhbCBtZWFuaW5nXG4vLyB3aGVuIGl0IGlzIHRoZSAqb25seSogdGhpbmcgaW4gYSBwYXRoIHBvcnRpb24uICBPdGhlcndpc2UsIGFueSBzZXJpZXNcbi8vIG9mICogaXMgZXF1aXZhbGVudCB0byBhIHNpbmdsZSAqLiAgR2xvYnN0YXIgYmVoYXZpb3IgaXMgZW5hYmxlZCBieVxuLy8gZGVmYXVsdCwgYW5kIGNhbiBiZSBkaXNhYmxlZCBieSBzZXR0aW5nIG9wdGlvbnMubm9nbG9ic3Rhci5cblxuZXhwb3J0IGNvbnN0IG1ha2VSZSA9IChwYXR0ZXJuOiBzdHJpbmcsIG9wdGlvbnM6IE1pbmltYXRjaE9wdGlvbnMgPSB7fSkgPT5cbiAgbmV3IE1pbmltYXRjaChwYXR0ZXJuLCBvcHRpb25zKS5tYWtlUmUoKVxubWluaW1hdGNoLm1ha2VSZSA9IG1ha2VSZVxuXG5leHBvcnQgY29uc3QgbWF0Y2ggPSAoXG4gIGxpc3Q6IHN0cmluZ1tdLFxuICBwYXR0ZXJuOiBzdHJpbmcsXG4gIG9wdGlvbnM6IE1pbmltYXRjaE9wdGlvbnMgPSB7fVxuKSA9PiB7XG4gIGNvbnN0IG1tID0gbmV3IE1pbmltYXRjaChwYXR0ZXJuLCBvcHRpb25zKVxuICBsaXN0ID0gbGlzdC5maWx0ZXIoZiA9PiBtbS5tYXRjaChmKSlcbiAgaWYgKG1tLm9wdGlvbnMubm9udWxsICYmICFsaXN0Lmxlbmd0aCkge1xuICAgIGxpc3QucHVzaChwYXR0ZXJuKVxuICB9XG4gIHJldHVybiBsaXN0XG59XG5taW5pbWF0Y2gubWF0Y2ggPSBtYXRjaFxuXG4vLyByZXBsYWNlIHN0dWZmIGxpa2UgXFwqIHdpdGggKlxuY29uc3QgZ2xvYk1hZ2ljID0gL1s/Kl18WytAIV1cXCguKj9cXCl8XFxbfFxcXS9cbmNvbnN0IHJlZ0V4cEVzY2FwZSA9IChzOiBzdHJpbmcpID0+XG4gIHMucmVwbGFjZSgvWy1bXFxde30oKSorPy4sXFxcXF4kfCNcXHNdL2csICdcXFxcJCYnKVxuXG5leHBvcnQgdHlwZSBNTVJlZ0V4cCA9IFJlZ0V4cCAmIHtcbiAgX3NyYz86IHN0cmluZ1xuICBfZ2xvYj86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBQYXJzZVJldHVybkZpbHRlcmVkID0gc3RyaW5nIHwgTU1SZWdFeHAgfCB0eXBlb2YgR0xPQlNUQVJcbmV4cG9ydCB0eXBlIFBhcnNlUmV0dXJuID0gUGFyc2VSZXR1cm5GaWx0ZXJlZCB8IGZhbHNlXG5cbmV4cG9ydCBjbGFzcyBNaW5pbWF0Y2gge1xuICBvcHRpb25zOiBNaW5pbWF0Y2hPcHRpb25zXG4gIHNldDogUGFyc2VSZXR1cm5GaWx0ZXJlZFtdW11cbiAgcGF0dGVybjogc3RyaW5nXG5cbiAgd2luZG93c1BhdGhzTm9Fc2NhcGU6IGJvb2xlYW5cbiAgbm9uZWdhdGU6IGJvb2xlYW5cbiAgbmVnYXRlOiBib29sZWFuXG4gIGNvbW1lbnQ6IGJvb2xlYW5cbiAgZW1wdHk6IGJvb2xlYW5cbiAgcHJlc2VydmVNdWx0aXBsZVNsYXNoZXM6IGJvb2xlYW5cbiAgcGFydGlhbDogYm9vbGVhblxuICBnbG9iU2V0OiBzdHJpbmdbXVxuICBnbG9iUGFydHM6IHN0cmluZ1tdW11cbiAgbm9jYXNlOiBib29sZWFuXG5cbiAgaXNXaW5kb3dzOiBib29sZWFuXG4gIHBsYXRmb3JtOiBQbGF0Zm9ybVxuICB3aW5kb3dzTm9NYWdpY1Jvb3Q6IGJvb2xlYW5cblxuICByZWdleHA6IGZhbHNlIHwgbnVsbCB8IE1NUmVnRXhwXG4gIGNvbnN0cnVjdG9yKHBhdHRlcm46IHN0cmluZywgb3B0aW9uczogTWluaW1hdGNoT3B0aW9ucyA9IHt9KSB7XG4gICAgYXNzZXJ0VmFsaWRQYXR0ZXJuKHBhdHRlcm4pXG5cbiAgICBvcHRpb25zID0gb3B0aW9ucyB8fCB7fVxuICAgIHRoaXMub3B0aW9ucyA9IG9wdGlvbnNcbiAgICB0aGlzLnBhdHRlcm4gPSBwYXR0ZXJuXG4gICAgdGhpcy5wbGF0Zm9ybSA9IG9wdGlvbnMucGxhdGZvcm0gfHwgZGVmYXVsdFBsYXRmb3JtXG4gICAgdGhpcy5pc1dpbmRvd3MgPSB0aGlzLnBsYXRmb3JtID09PSAnd2luMzInXG4gICAgdGhpcy53aW5kb3dzUGF0aHNOb0VzY2FwZSA9XG4gICAgICAhIW9wdGlvbnMud2luZG93c1BhdGhzTm9Fc2NhcGUgfHwgb3B0aW9ucy5hbGxvd1dpbmRvd3NFc2NhcGUgPT09IGZhbHNlXG4gICAgaWYgKHRoaXMud2luZG93c1BhdGhzTm9Fc2NhcGUpIHtcbiAgICAgIHRoaXMucGF0dGVybiA9IHRoaXMucGF0dGVybi5yZXBsYWNlKC9cXFxcL2csICcvJylcbiAgICB9XG4gICAgdGhpcy5wcmVzZXJ2ZU11bHRpcGxlU2xhc2hlcyA9ICEhb3B0aW9ucy5wcmVzZXJ2ZU11bHRpcGxlU2xhc2hlc1xuICAgIHRoaXMucmVnZXhwID0gbnVsbFxuICAgIHRoaXMubmVnYXRlID0gZmFsc2VcbiAgICB0aGlzLm5vbmVnYXRlID0gISFvcHRpb25zLm5vbmVnYXRlXG4gICAgdGhpcy5jb21tZW50ID0gZmFsc2VcbiAgICB0aGlzLmVtcHR5ID0gZmFsc2VcbiAgICB0aGlzLnBhcnRpYWwgPSAhIW9wdGlvbnMucGFydGlhbFxuICAgIHRoaXMubm9jYXNlID0gISF0aGlzLm9wdGlvbnMubm9jYXNlXG4gICAgdGhpcy53aW5kb3dzTm9NYWdpY1Jvb3QgPVxuICAgICAgb3B0aW9ucy53aW5kb3dzTm9NYWdpY1Jvb3QgIT09IHVuZGVmaW5lZFxuICAgICAgICA/IG9wdGlvbnMud2luZG93c05vTWFnaWNSb290XG4gICAgICAgIDogISEodGhpcy5pc1dpbmRvd3MgJiYgdGhpcy5ub2Nhc2UpXG5cbiAgICB0aGlzLmdsb2JTZXQgPSBbXVxuICAgIHRoaXMuZ2xvYlBhcnRzID0gW11cbiAgICB0aGlzLnNldCA9IFtdXG5cbiAgICAvLyBtYWtlIHRoZSBzZXQgb2YgcmVnZXhwcyBldGMuXG4gICAgdGhpcy5tYWtlKClcbiAgfVxuXG4gIGhhc01hZ2ljKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLm9wdGlvbnMubWFnaWNhbEJyYWNlcyAmJiB0aGlzLnNldC5sZW5ndGggPiAxKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICBmb3IgKGNvbnN0IHBhdHRlcm4gb2YgdGhpcy5zZXQpIHtcbiAgICAgIGZvciAoY29uc3QgcGFydCBvZiBwYXR0ZXJuKSB7XG4gICAgICAgIGlmICh0eXBlb2YgcGFydCAhPT0gJ3N0cmluZycpIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgZGVidWcoLi4uXzogYW55W10pIHt9XG5cbiAgbWFrZSgpIHtcbiAgICBjb25zdCBwYXR0ZXJuID0gdGhpcy5wYXR0ZXJuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9uc1xuXG4gICAgLy8gZW1wdHkgcGF0dGVybnMgYW5kIGNvbW1lbnRzIG1hdGNoIG5vdGhpbmcuXG4gICAgaWYgKCFvcHRpb25zLm5vY29tbWVudCAmJiBwYXR0ZXJuLmNoYXJBdCgwKSA9PT0gJyMnKSB7XG4gICAgICB0aGlzLmNvbW1lbnQgPSB0cnVlXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICBpZiAoIXBhdHRlcm4pIHtcbiAgICAgIHRoaXMuZW1wdHkgPSB0cnVlXG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICAvLyBzdGVwIDE6IGZpZ3VyZSBvdXQgbmVnYXRpb24sIGV0Yy5cbiAgICB0aGlzLnBhcnNlTmVnYXRlKClcblxuICAgIC8vIHN0ZXAgMjogZXhwYW5kIGJyYWNlc1xuICAgIHRoaXMuZ2xvYlNldCA9IFsuLi5uZXcgU2V0KHRoaXMuYnJhY2VFeHBhbmQoKSldXG5cbiAgICBpZiAob3B0aW9ucy5kZWJ1Zykge1xuICAgICAgdGhpcy5kZWJ1ZyA9ICguLi5hcmdzOiBhbnlbXSkgPT4gY29uc29sZS5lcnJvciguLi5hcmdzKVxuICAgIH1cblxuICAgIHRoaXMuZGVidWcodGhpcy5wYXR0ZXJuLCB0aGlzLmdsb2JTZXQpXG5cbiAgICAvLyBzdGVwIDM6IG5vdyB3ZSBoYXZlIGEgc2V0LCBzbyB0dXJuIGVhY2ggb25lIGludG8gYSBzZXJpZXMgb2ZcbiAgICAvLyBwYXRoLXBvcnRpb24gbWF0Y2hpbmcgcGF0dGVybnMuXG4gICAgLy8gVGhlc2Ugd2lsbCBiZSByZWdleHBzLCBleGNlcHQgaW4gdGhlIGNhc2Ugb2YgXCIqKlwiLCB3aGljaCBpc1xuICAgIC8vIHNldCB0byB0aGUgR0xPQlNUQVIgb2JqZWN0IGZvciBnbG9ic3RhciBiZWhhdmlvcixcbiAgICAvLyBhbmQgd2lsbCBub3QgY29udGFpbiBhbnkgLyBjaGFyYWN0ZXJzXG4gICAgLy9cbiAgICAvLyBGaXJzdCwgd2UgcHJlcHJvY2VzcyB0byBtYWtlIHRoZSBnbG9iIHBhdHRlcm4gc2V0cyBhIGJpdCBzaW1wbGVyXG4gICAgLy8gYW5kIGRlZHVwZWQuICBUaGVyZSBhcmUgc29tZSBwZXJmLWtpbGxpbmcgcGF0dGVybnMgdGhhdCBjYW4gY2F1c2VcbiAgICAvLyBwcm9ibGVtcyB3aXRoIGEgZ2xvYiB3YWxrLCBidXQgd2UgY2FuIHNpbXBsaWZ5IHRoZW0gZG93biBhIGJpdC5cbiAgICBjb25zdCByYXdHbG9iUGFydHMgPSB0aGlzLmdsb2JTZXQubWFwKHMgPT4gdGhpcy5zbGFzaFNwbGl0KHMpKVxuICAgIHRoaXMuZ2xvYlBhcnRzID0gdGhpcy5wcmVwcm9jZXNzKHJhd0dsb2JQYXJ0cylcbiAgICB0aGlzLmRlYnVnKHRoaXMucGF0dGVybiwgdGhpcy5nbG9iUGFydHMpXG5cbiAgICAvLyBnbG9iIC0tPiByZWdleHBzXG4gICAgbGV0IHNldCA9IHRoaXMuZ2xvYlBhcnRzLm1hcCgocywgXywgX18pID0+IHtcbiAgICAgIGlmICh0aGlzLmlzV2luZG93cyAmJiB0aGlzLndpbmRvd3NOb01hZ2ljUm9vdCkge1xuICAgICAgICAvLyBjaGVjayBpZiBpdCdzIGEgZHJpdmUgb3IgdW5jIHBhdGguXG4gICAgICAgIGNvbnN0IGlzVU5DID1cbiAgICAgICAgICBzWzBdID09PSAnJyAmJlxuICAgICAgICAgIHNbMV0gPT09ICcnICYmXG4gICAgICAgICAgKHNbMl0gPT09ICc/JyB8fCAhZ2xvYk1hZ2ljLnRlc3Qoc1syXSkpICYmXG4gICAgICAgICAgIWdsb2JNYWdpYy50ZXN0KHNbM10pXG4gICAgICAgIGNvbnN0IGlzRHJpdmUgPSAvXlthLXpdOi9pLnRlc3Qoc1swXSlcbiAgICAgICAgaWYgKGlzVU5DKSB7XG4gICAgICAgICAgcmV0dXJuIFsuLi5zLnNsaWNlKDAsIDQpLCAuLi5zLnNsaWNlKDQpLm1hcChzcyA9PiB0aGlzLnBhcnNlKHNzKSldXG4gICAgICAgIH0gZWxzZSBpZiAoaXNEcml2ZSkge1xuICAgICAgICAgIHJldHVybiBbc1swXSwgLi4ucy5zbGljZSgxKS5tYXAoc3MgPT4gdGhpcy5wYXJzZShzcykpXVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gcy5tYXAoc3MgPT4gdGhpcy5wYXJzZShzcykpXG4gICAgfSlcblxuICAgIHRoaXMuZGVidWcodGhpcy5wYXR0ZXJuLCBzZXQpXG5cbiAgICAvLyBmaWx0ZXIgb3V0IGV2ZXJ5dGhpbmcgdGhhdCBkaWRuJ3QgY29tcGlsZSBwcm9wZXJseS5cbiAgICB0aGlzLnNldCA9IHNldC5maWx0ZXIoXG4gICAgICBzID0+IHMuaW5kZXhPZihmYWxzZSkgPT09IC0xXG4gICAgKSBhcyBQYXJzZVJldHVybkZpbHRlcmVkW11bXVxuXG4gICAgLy8gZG8gbm90IHRyZWF0IHRoZSA/IGluIFVOQyBwYXRocyBhcyBtYWdpY1xuICAgIGlmICh0aGlzLmlzV2luZG93cykge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnNldC5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBwID0gdGhpcy5zZXRbaV1cbiAgICAgICAgaWYgKFxuICAgICAgICAgIHBbMF0gPT09ICcnICYmXG4gICAgICAgICAgcFsxXSA9PT0gJycgJiZcbiAgICAgICAgICB0aGlzLmdsb2JQYXJ0c1tpXVsyXSA9PT0gJz8nICYmXG4gICAgICAgICAgdHlwZW9mIHBbM10gPT09ICdzdHJpbmcnICYmXG4gICAgICAgICAgL15bYS16XTokL2kudGVzdChwWzNdKVxuICAgICAgICApIHtcbiAgICAgICAgICBwWzJdID0gJz8nXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aGlzLmRlYnVnKHRoaXMucGF0dGVybiwgdGhpcy5zZXQpXG4gIH1cblxuICAvLyB2YXJpb3VzIHRyYW5zZm9ybXMgdG8gZXF1aXZhbGVudCBwYXR0ZXJuIHNldHMgdGhhdCBhcmVcbiAgLy8gZmFzdGVyIHRvIHByb2Nlc3MgaW4gYSBmaWxlc3lzdGVtIHdhbGsuICBUaGUgZ29hbCBpcyB0b1xuICAvLyBlbGltaW5hdGUgd2hhdCB3ZSBjYW4sIGFuZCBwdXNoIGFsbCAqKiBwYXR0ZXJucyBhcyBmYXJcbiAgLy8gdG8gdGhlIHJpZ2h0IGFzIHBvc3NpYmxlLCBldmVuIGlmIGl0IGluY3JlYXNlcyB0aGUgbnVtYmVyXG4gIC8vIG9mIHBhdHRlcm5zIHRoYXQgd2UgaGF2ZSB0byBwcm9jZXNzLlxuICBwcmVwcm9jZXNzKGdsb2JQYXJ0czogc3RyaW5nW11bXSkge1xuICAgIC8vIGlmIHdlJ3JlIG5vdCBpbiBnbG9ic3RhciBtb2RlLCB0aGVuIHR1cm4gYWxsICoqIGludG8gKlxuICAgIGlmICh0aGlzLm9wdGlvbnMubm9nbG9ic3Rhcikge1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBnbG9iUGFydHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgZm9yIChsZXQgaiA9IDA7IGogPCBnbG9iUGFydHNbaV0ubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgICBpZiAoZ2xvYlBhcnRzW2ldW2pdID09PSAnKionKSB7XG4gICAgICAgICAgICBnbG9iUGFydHNbaV1bal0gPSAnKidcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB7IG9wdGltaXphdGlvbkxldmVsID0gMSB9ID0gdGhpcy5vcHRpb25zXG5cbiAgICBpZiAob3B0aW1pemF0aW9uTGV2ZWwgPj0gMikge1xuICAgICAgLy8gYWdncmVzc2l2ZSBvcHRpbWl6YXRpb24gZm9yIHRoZSBwdXJwb3NlIG9mIGZzIHdhbGtpbmdcbiAgICAgIGdsb2JQYXJ0cyA9IHRoaXMuZmlyc3RQaGFzZVByZVByb2Nlc3MoZ2xvYlBhcnRzKVxuICAgICAgZ2xvYlBhcnRzID0gdGhpcy5zZWNvbmRQaGFzZVByZVByb2Nlc3MoZ2xvYlBhcnRzKVxuICAgIH0gZWxzZSBpZiAob3B0aW1pemF0aW9uTGV2ZWwgPj0gMSkge1xuICAgICAgLy8ganVzdCBiYXNpYyBvcHRpbWl6YXRpb25zIHRvIHJlbW92ZSBzb21lIC4uIHBhcnRzXG4gICAgICBnbG9iUGFydHMgPSB0aGlzLmxldmVsT25lT3B0aW1pemUoZ2xvYlBhcnRzKVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBqdXN0IGNvbGxhcHNlIG11bHRpcGxlICoqIHBvcnRpb25zIGludG8gb25lXG4gICAgICBnbG9iUGFydHMgPSB0aGlzLmFkamFzY2VudEdsb2JzdGFyT3B0aW1pemUoZ2xvYlBhcnRzKVxuICAgIH1cblxuICAgIHJldHVybiBnbG9iUGFydHNcbiAgfVxuXG4gIC8vIGp1c3QgZ2V0IHJpZCBvZiBhZGphc2NlbnQgKiogcG9ydGlvbnNcbiAgYWRqYXNjZW50R2xvYnN0YXJPcHRpbWl6ZShnbG9iUGFydHM6IHN0cmluZ1tdW10pIHtcbiAgICByZXR1cm4gZ2xvYlBhcnRzLm1hcChwYXJ0cyA9PiB7XG4gICAgICBsZXQgZ3M6IG51bWJlciA9IC0xXG4gICAgICB3aGlsZSAoLTEgIT09IChncyA9IHBhcnRzLmluZGV4T2YoJyoqJywgZ3MgKyAxKSkpIHtcbiAgICAgICAgbGV0IGkgPSBnc1xuICAgICAgICB3aGlsZSAocGFydHNbaSArIDFdID09PSAnKionKSB7XG4gICAgICAgICAgaSsrXG4gICAgICAgIH1cbiAgICAgICAgaWYgKGkgIT09IGdzKSB7XG4gICAgICAgICAgcGFydHMuc3BsaWNlKGdzLCBpIC0gZ3MpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBwYXJ0c1xuICAgIH0pXG4gIH1cblxuICAvLyBnZXQgcmlkIG9mIGFkamFzY2VudCAqKiBhbmQgcmVzb2x2ZSAuLiBwb3J0aW9uc1xuICBsZXZlbE9uZU9wdGltaXplKGdsb2JQYXJ0czogc3RyaW5nW11bXSkge1xuICAgIHJldHVybiBnbG9iUGFydHMubWFwKHBhcnRzID0+IHtcbiAgICAgIHBhcnRzID0gcGFydHMucmVkdWNlKChzZXQ6IHN0cmluZ1tdLCBwYXJ0KSA9PiB7XG4gICAgICAgIGNvbnN0IHByZXYgPSBzZXRbc2V0Lmxlbmd0aCAtIDFdXG4gICAgICAgIGlmIChwYXJ0ID09PSAnKionICYmIHByZXYgPT09ICcqKicpIHtcbiAgICAgICAgICByZXR1cm4gc2V0XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHBhcnQgPT09ICcuLicpIHtcbiAgICAgICAgICBpZiAocHJldiAmJiBwcmV2ICE9PSAnLi4nICYmIHByZXYgIT09ICcuJyAmJiBwcmV2ICE9PSAnKionKSB7XG4gICAgICAgICAgICBzZXQucG9wKClcbiAgICAgICAgICAgIHJldHVybiBzZXRcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc2V0LnB1c2gocGFydClcbiAgICAgICAgcmV0dXJuIHNldFxuICAgICAgfSwgW10pXG4gICAgICByZXR1cm4gcGFydHMubGVuZ3RoID09PSAwID8gWycnXSA6IHBhcnRzXG4gICAgfSlcbiAgfVxuXG4gIGxldmVsVHdvRmlsZU9wdGltaXplKHBhcnRzOiBzdHJpbmcgfCBzdHJpbmdbXSkge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShwYXJ0cykpIHtcbiAgICAgIHBhcnRzID0gdGhpcy5zbGFzaFNwbGl0KHBhcnRzKVxuICAgIH1cbiAgICBsZXQgZGlkU29tZXRoaW5nOiBib29sZWFuID0gZmFsc2VcbiAgICBkbyB7XG4gICAgICBkaWRTb21ldGhpbmcgPSBmYWxzZVxuICAgICAgLy8gPHByZT4vPGU+LzxyZXN0PiAtPiA8cHJlPi88cmVzdD5cbiAgICAgIGlmICghdGhpcy5wcmVzZXJ2ZU11bHRpcGxlU2xhc2hlcykge1xuICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IHBhcnRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgICAgIGNvbnN0IHAgPSBwYXJ0c1tpXVxuICAgICAgICAgIC8vIGRvbid0IHNxdWVlemUgb3V0IFVOQyBwYXR0ZXJuc1xuICAgICAgICAgIGlmIChpID09PSAxICYmIHAgPT09ICcnICYmIHBhcnRzWzBdID09PSAnJykgY29udGludWVcbiAgICAgICAgICBpZiAocCA9PT0gJy4nIHx8IHAgPT09ICcnKSB7XG4gICAgICAgICAgICBkaWRTb21ldGhpbmcgPSB0cnVlXG4gICAgICAgICAgICBwYXJ0cy5zcGxpY2UoaSwgMSlcbiAgICAgICAgICAgIGktLVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAoXG4gICAgICAgICAgcGFydHNbMF0gPT09ICcuJyAmJlxuICAgICAgICAgIHBhcnRzLmxlbmd0aCA9PT0gMiAmJlxuICAgICAgICAgIChwYXJ0c1sxXSA9PT0gJy4nIHx8IHBhcnRzWzFdID09PSAnJylcbiAgICAgICAgKSB7XG4gICAgICAgICAgZGlkU29tZXRoaW5nID0gdHJ1ZVxuICAgICAgICAgIHBhcnRzLnBvcCgpXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gPHByZT4vPHA+Ly4uLzxyZXN0PiAtPiA8cHJlPi88cmVzdD5cbiAgICAgIGxldCBkZDogbnVtYmVyID0gMFxuICAgICAgd2hpbGUgKC0xICE9PSAoZGQgPSBwYXJ0cy5pbmRleE9mKCcuLicsIGRkICsgMSkpKSB7XG4gICAgICAgIGNvbnN0IHAgPSBwYXJ0c1tkZCAtIDFdXG4gICAgICAgIGlmIChwICYmIHAgIT09ICcuJyAmJiBwICE9PSAnLi4nICYmIHAgIT09ICcqKicpIHtcbiAgICAgICAgICBkaWRTb21ldGhpbmcgPSB0cnVlXG4gICAgICAgICAgcGFydHMuc3BsaWNlKGRkIC0gMSwgMilcbiAgICAgICAgICBkZCAtPSAyXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IHdoaWxlIChkaWRTb21ldGhpbmcpXG4gICAgcmV0dXJuIHBhcnRzLmxlbmd0aCA9PT0gMCA/IFsnJ10gOiBwYXJ0c1xuICB9XG5cbiAgLy8gRmlyc3QgcGhhc2U6IHNpbmdsZS1wYXR0ZXJuIHByb2Nlc3NpbmdcbiAgLy8gPHByZT4gaXMgMSBvciBtb3JlIHBvcnRpb25zXG4gIC8vIDxyZXN0PiBpcyAxIG9yIG1vcmUgcG9ydGlvbnNcbiAgLy8gPHA+IGlzIGFueSBwb3J0aW9uIG90aGVyIHRoYW4gLiwgLi4sICcnLCBvciAqKlxuICAvLyA8ZT4gaXMgLiBvciAnJ1xuICAvL1xuICAvLyAqKi8uLiBpcyAqYnJ1dGFsKiBmb3IgZmlsZXN5c3RlbSB3YWxraW5nIHBlcmZvcm1hbmNlLCBiZWNhdXNlXG4gIC8vIGl0IGVmZmVjdGl2ZWx5IHJlc2V0cyB0aGUgcmVjdXJzaXZlIHdhbGsgZWFjaCB0aW1lIGl0IG9jY3VycyxcbiAgLy8gYW5kICoqIGNhbm5vdCBiZSByZWR1Y2VkIG91dCBieSBhIC4uIHBhdHRlcm4gcGFydCBsaWtlIGEgcmVnZXhwXG4gIC8vIG9yIG1vc3Qgc3RyaW5ncyAob3RoZXIgdGhhbiAuLiwgLiwgYW5kICcnKSBjYW4gYmUuXG4gIC8vXG4gIC8vIDxwcmU+LyoqLy4uLzxwPi88cD4vPHJlc3Q+IC0+IHs8cHJlPi8uLi88cD4vPHA+LzxyZXN0Piw8cHJlPi8qKi88cD4vPHA+LzxyZXN0Pn1cbiAgLy8gPHByZT4vPGU+LzxyZXN0PiAtPiA8cHJlPi88cmVzdD5cbiAgLy8gPHByZT4vPHA+Ly4uLzxyZXN0PiAtPiA8cHJlPi88cmVzdD5cbiAgLy8gKiovKiovPHJlc3Q+IC0+ICoqLzxyZXN0PlxuICAvL1xuICAvLyAqKi8qLzxyZXN0PiAtPiAqLyoqLzxyZXN0PiA8PT0gbm90IHZhbGlkIGJlY2F1c2UgKiogZG9lc24ndCBmb2xsb3dcbiAgLy8gdGhpcyBXT1VMRCBiZSBhbGxvd2VkIGlmICoqIGRpZCBmb2xsb3cgc3ltbGlua3MsIG9yICogZGlkbid0XG4gIGZpcnN0UGhhc2VQcmVQcm9jZXNzKGdsb2JQYXJ0czogc3RyaW5nW11bXSkge1xuICAgIGxldCBkaWRTb21ldGhpbmcgPSBmYWxzZVxuICAgIGRvIHtcbiAgICAgIGRpZFNvbWV0aGluZyA9IGZhbHNlXG4gICAgICAvLyA8cHJlPi8qKi8uLi88cD4vPHA+LzxyZXN0PiAtPiB7PHByZT4vLi4vPHA+LzxwPi88cmVzdD4sPHByZT4vKiovPHA+LzxwPi88cmVzdD59XG4gICAgICBmb3IgKGxldCBwYXJ0cyBvZiBnbG9iUGFydHMpIHtcbiAgICAgICAgbGV0IGdzOiBudW1iZXIgPSAtMVxuICAgICAgICB3aGlsZSAoLTEgIT09IChncyA9IHBhcnRzLmluZGV4T2YoJyoqJywgZ3MgKyAxKSkpIHtcbiAgICAgICAgICBsZXQgZ3NzOiBudW1iZXIgPSBnc1xuICAgICAgICAgIHdoaWxlIChwYXJ0c1tnc3MgKyAxXSA9PT0gJyoqJykge1xuICAgICAgICAgICAgLy8gPHByZT4vKiovKiovPHJlc3Q+IC0+IDxwcmU+LyoqLzxyZXN0PlxuICAgICAgICAgICAgZ3NzKytcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gZWcsIGlmIGdzIGlzIDIgYW5kIGdzcyBpcyA0LCB0aGF0IG1lYW5zIHdlIGhhdmUgMyAqKlxuICAgICAgICAgIC8vIHBhcnRzLCBhbmQgY2FuIHJlbW92ZSAyIG9mIHRoZW0uXG4gICAgICAgICAgaWYgKGdzcyA+IGdzKSB7XG4gICAgICAgICAgICBwYXJ0cy5zcGxpY2UoZ3MgKyAxLCBnc3MgLSBncylcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsZXQgbmV4dCA9IHBhcnRzW2dzICsgMV1cbiAgICAgICAgICBjb25zdCBwID0gcGFydHNbZ3MgKyAyXVxuICAgICAgICAgIGNvbnN0IHAyID0gcGFydHNbZ3MgKyAzXVxuICAgICAgICAgIGlmIChuZXh0ICE9PSAnLi4nKSBjb250aW51ZVxuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICFwIHx8XG4gICAgICAgICAgICBwID09PSAnLicgfHxcbiAgICAgICAgICAgIHAgPT09ICcuLicgfHxcbiAgICAgICAgICAgICFwMiB8fFxuICAgICAgICAgICAgcDIgPT09ICcuJyB8fFxuICAgICAgICAgICAgcDIgPT09ICcuLidcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgICAgfVxuICAgICAgICAgIGRpZFNvbWV0aGluZyA9IHRydWVcbiAgICAgICAgICAvLyBlZGl0IHBhcnRzIGluIHBsYWNlLCBhbmQgcHVzaCB0aGUgbmV3IG9uZVxuICAgICAgICAgIHBhcnRzLnNwbGljZShncywgMSlcbiAgICAgICAgICBjb25zdCBvdGhlciA9IHBhcnRzLnNsaWNlKDApXG4gICAgICAgICAgb3RoZXJbZ3NdID0gJyoqJ1xuICAgICAgICAgIGdsb2JQYXJ0cy5wdXNoKG90aGVyKVxuICAgICAgICAgIGdzLS1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDxwcmU+LzxlPi88cmVzdD4gLT4gPHByZT4vPHJlc3Q+XG4gICAgICAgIGlmICghdGhpcy5wcmVzZXJ2ZU11bHRpcGxlU2xhc2hlcykge1xuICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgcGFydHMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBwID0gcGFydHNbaV1cbiAgICAgICAgICAgIC8vIGRvbid0IHNxdWVlemUgb3V0IFVOQyBwYXR0ZXJuc1xuICAgICAgICAgICAgaWYgKGkgPT09IDEgJiYgcCA9PT0gJycgJiYgcGFydHNbMF0gPT09ICcnKSBjb250aW51ZVxuICAgICAgICAgICAgaWYgKHAgPT09ICcuJyB8fCBwID09PSAnJykge1xuICAgICAgICAgICAgICBkaWRTb21ldGhpbmcgPSB0cnVlXG4gICAgICAgICAgICAgIHBhcnRzLnNwbGljZShpLCAxKVxuICAgICAgICAgICAgICBpLS1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKFxuICAgICAgICAgICAgcGFydHNbMF0gPT09ICcuJyAmJlxuICAgICAgICAgICAgcGFydHMubGVuZ3RoID09PSAyICYmXG4gICAgICAgICAgICAocGFydHNbMV0gPT09ICcuJyB8fCBwYXJ0c1sxXSA9PT0gJycpXG4gICAgICAgICAgKSB7XG4gICAgICAgICAgICBkaWRTb21ldGhpbmcgPSB0cnVlXG4gICAgICAgICAgICBwYXJ0cy5wb3AoKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIDxwcmU+LzxwPi8uLi88cmVzdD4gLT4gPHByZT4vPHJlc3Q+XG4gICAgICAgIGxldCBkZDogbnVtYmVyID0gMFxuICAgICAgICB3aGlsZSAoLTEgIT09IChkZCA9IHBhcnRzLmluZGV4T2YoJy4uJywgZGQgKyAxKSkpIHtcbiAgICAgICAgICBjb25zdCBwID0gcGFydHNbZGQgLSAxXVxuICAgICAgICAgIGlmIChwICYmIHAgIT09ICcuJyAmJiBwICE9PSAnLi4nICYmIHAgIT09ICcqKicpIHtcbiAgICAgICAgICAgIGRpZFNvbWV0aGluZyA9IHRydWVcbiAgICAgICAgICAgIGNvbnN0IG5lZWREb3QgPSBkZCA9PT0gMSAmJiBwYXJ0c1tkZCArIDFdID09PSAnKionXG4gICAgICAgICAgICBjb25zdCBzcGxpbiA9IG5lZWREb3QgPyBbJy4nXSA6IFtdXG4gICAgICAgICAgICBwYXJ0cy5zcGxpY2UoZGQgLSAxLCAyLCAuLi5zcGxpbilcbiAgICAgICAgICAgIGlmIChwYXJ0cy5sZW5ndGggPT09IDApIHBhcnRzLnB1c2goJycpXG4gICAgICAgICAgICBkZCAtPSAyXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfSB3aGlsZSAoZGlkU29tZXRoaW5nKVxuXG4gICAgcmV0dXJuIGdsb2JQYXJ0c1xuICB9XG5cbiAgLy8gc2Vjb25kIHBoYXNlOiBtdWx0aS1wYXR0ZXJuIGRlZHVwZXNcbiAgLy8gezxwcmU+LyovPHJlc3Q+LDxwcmU+LzxwPi88cmVzdD59IC0+IDxwcmU+LyovPHJlc3Q+XG4gIC8vIHs8cHJlPi88cmVzdD4sPHByZT4vPHJlc3Q+fSAtPiA8cHJlPi88cmVzdD5cbiAgLy8gezxwcmU+LyoqLzxyZXN0Piw8cHJlPi88cmVzdD59IC0+IDxwcmU+LyoqLzxyZXN0PlxuICAvL1xuICAvLyB7PHByZT4vKiovPHJlc3Q+LDxwcmU+LyoqLzxwPi88cmVzdD59IC0+IDxwcmU+LyoqLzxyZXN0PlxuICAvLyBeLS0gbm90IHZhbGlkIGJlY2F1c2UgKiogZG9lbnMndCBmb2xsb3cgc3ltbGlua3NcbiAgc2Vjb25kUGhhc2VQcmVQcm9jZXNzKGdsb2JQYXJ0czogc3RyaW5nW11bXSk6IHN0cmluZ1tdW10ge1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZ2xvYlBhcnRzLmxlbmd0aCAtIDE7IGkrKykge1xuICAgICAgZm9yIChsZXQgaiA9IGkgKyAxOyBqIDwgZ2xvYlBhcnRzLmxlbmd0aDsgaisrKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoZWQgPSB0aGlzLnBhcnRzTWF0Y2goXG4gICAgICAgICAgZ2xvYlBhcnRzW2ldLFxuICAgICAgICAgIGdsb2JQYXJ0c1tqXSxcbiAgICAgICAgICAhdGhpcy5wcmVzZXJ2ZU11bHRpcGxlU2xhc2hlc1xuICAgICAgICApXG4gICAgICAgIGlmIChtYXRjaGVkKSB7XG4gICAgICAgICAgZ2xvYlBhcnRzW2ldID0gW11cbiAgICAgICAgICBnbG9iUGFydHNbal0gPSBtYXRjaGVkXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gZ2xvYlBhcnRzLmZpbHRlcihncyA9PiBncy5sZW5ndGgpXG4gIH1cblxuICBwYXJ0c01hdGNoKFxuICAgIGE6IHN0cmluZ1tdLFxuICAgIGI6IHN0cmluZ1tdLFxuICAgIGVtcHR5R1NNYXRjaDogYm9vbGVhbiA9IGZhbHNlXG4gICk6IGZhbHNlIHwgc3RyaW5nW10ge1xuICAgIGxldCBhaSA9IDBcbiAgICBsZXQgYmkgPSAwXG4gICAgbGV0IHJlc3VsdDogc3RyaW5nW10gPSBbXVxuICAgIGxldCB3aGljaDogc3RyaW5nID0gJydcbiAgICB3aGlsZSAoYWkgPCBhLmxlbmd0aCAmJiBiaSA8IGIubGVuZ3RoKSB7XG4gICAgICBpZiAoYVthaV0gPT09IGJbYmldKSB7XG4gICAgICAgIHJlc3VsdC5wdXNoKHdoaWNoID09PSAnYicgPyBiW2JpXSA6IGFbYWldKVxuICAgICAgICBhaSsrXG4gICAgICAgIGJpKytcbiAgICAgIH0gZWxzZSBpZiAoZW1wdHlHU01hdGNoICYmIGFbYWldID09PSAnKionICYmIGJbYmldID09PSBhW2FpICsgMV0pIHtcbiAgICAgICAgcmVzdWx0LnB1c2goYVthaV0pXG4gICAgICAgIGFpKytcbiAgICAgIH0gZWxzZSBpZiAoZW1wdHlHU01hdGNoICYmIGJbYmldID09PSAnKionICYmIGFbYWldID09PSBiW2JpICsgMV0pIHtcbiAgICAgICAgcmVzdWx0LnB1c2goYltiaV0pXG4gICAgICAgIGJpKytcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGFbYWldID09PSAnKicgJiZcbiAgICAgICAgYltiaV0gJiZcbiAgICAgICAgKHRoaXMub3B0aW9ucy5kb3QgfHwgIWJbYmldLnN0YXJ0c1dpdGgoJy4nKSkgJiZcbiAgICAgICAgYltiaV0gIT09ICcqKidcbiAgICAgICkge1xuICAgICAgICBpZiAod2hpY2ggPT09ICdiJykgcmV0dXJuIGZhbHNlXG4gICAgICAgIHdoaWNoID0gJ2EnXG4gICAgICAgIHJlc3VsdC5wdXNoKGFbYWldKVxuICAgICAgICBhaSsrXG4gICAgICAgIGJpKytcbiAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgIGJbYmldID09PSAnKicgJiZcbiAgICAgICAgYVthaV0gJiZcbiAgICAgICAgKHRoaXMub3B0aW9ucy5kb3QgfHwgIWFbYWldLnN0YXJ0c1dpdGgoJy4nKSkgJiZcbiAgICAgICAgYVthaV0gIT09ICcqKidcbiAgICAgICkge1xuICAgICAgICBpZiAod2hpY2ggPT09ICdhJykgcmV0dXJuIGZhbHNlXG4gICAgICAgIHdoaWNoID0gJ2InXG4gICAgICAgIHJlc3VsdC5wdXNoKGJbYmldKVxuICAgICAgICBhaSsrXG4gICAgICAgIGJpKytcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBpZiB3ZSBmYWxsIG91dCBvZiB0aGUgbG9vcCwgaXQgbWVhbnMgdGhleSB0d28gYXJlIGlkZW50aWNhbFxuICAgIC8vIGFzIGxvbmcgYXMgdGhlaXIgbGVuZ3RocyBtYXRjaFxuICAgIHJldHVybiBhLmxlbmd0aCA9PT0gYi5sZW5ndGggJiYgcmVzdWx0XG4gIH1cblxuICBwYXJzZU5lZ2F0ZSgpIHtcbiAgICBpZiAodGhpcy5ub25lZ2F0ZSkgcmV0dXJuXG5cbiAgICBjb25zdCBwYXR0ZXJuID0gdGhpcy5wYXR0ZXJuXG4gICAgbGV0IG5lZ2F0ZSA9IGZhbHNlXG4gICAgbGV0IG5lZ2F0ZU9mZnNldCA9IDBcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgcGF0dGVybi5sZW5ndGggJiYgcGF0dGVybi5jaGFyQXQoaSkgPT09ICchJzsgaSsrKSB7XG4gICAgICBuZWdhdGUgPSAhbmVnYXRlXG4gICAgICBuZWdhdGVPZmZzZXQrK1xuICAgIH1cblxuICAgIGlmIChuZWdhdGVPZmZzZXQpIHRoaXMucGF0dGVybiA9IHBhdHRlcm4uc2xpY2UobmVnYXRlT2Zmc2V0KVxuICAgIHRoaXMubmVnYXRlID0gbmVnYXRlXG4gIH1cblxuICAvLyBzZXQgcGFydGlhbCB0byB0cnVlIHRvIHRlc3QgaWYsIGZvciBleGFtcGxlLFxuICAvLyBcIi9hL2JcIiBtYXRjaGVzIHRoZSBzdGFydCBvZiBcIi8qL2IvKi9kXCJcbiAgLy8gUGFydGlhbCBtZWFucywgaWYgeW91IHJ1biBvdXQgb2YgZmlsZSBiZWZvcmUgeW91IHJ1blxuICAvLyBvdXQgb2YgcGF0dGVybiwgdGhlbiB0aGF0J3MgZmluZSwgYXMgbG9uZyBhcyBhbGxcbiAgLy8gdGhlIHBhcnRzIG1hdGNoLlxuICBtYXRjaE9uZShmaWxlOiBzdHJpbmdbXSwgcGF0dGVybjogUGFyc2VSZXR1cm5bXSwgcGFydGlhbDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9uc1xuXG4gICAgLy8gVU5DIHBhdGhzIGxpa2UgLy8/L1g6Ly4uLiBjYW4gbWF0Y2ggWDovLi4uIGFuZCB2aWNlIHZlcnNhXG4gICAgLy8gRHJpdmUgbGV0dGVycyBpbiBhYnNvbHV0ZSBkcml2ZSBvciB1bmMgcGF0aHMgYXJlIGFsd2F5cyBjb21wYXJlZFxuICAgIC8vIGNhc2UtaW5zZW5zaXRpdmVseS5cbiAgICBpZiAodGhpcy5pc1dpbmRvd3MpIHtcbiAgICAgIGNvbnN0IGZpbGVEcml2ZSA9IHR5cGVvZiBmaWxlWzBdID09PSAnc3RyaW5nJyAmJiAvXlthLXpdOiQvaS50ZXN0KGZpbGVbMF0pXG4gICAgICBjb25zdCBmaWxlVU5DID1cbiAgICAgICAgIWZpbGVEcml2ZSAmJlxuICAgICAgICBmaWxlWzBdID09PSAnJyAmJlxuICAgICAgICBmaWxlWzFdID09PSAnJyAmJlxuICAgICAgICBmaWxlWzJdID09PSAnPycgJiZcbiAgICAgICAgL15bYS16XTokL2kudGVzdChmaWxlWzNdKVxuXG4gICAgICBjb25zdCBwYXR0ZXJuRHJpdmUgPVxuICAgICAgICB0eXBlb2YgcGF0dGVyblswXSA9PT0gJ3N0cmluZycgJiYgL15bYS16XTokL2kudGVzdChwYXR0ZXJuWzBdKVxuICAgICAgY29uc3QgcGF0dGVyblVOQyA9XG4gICAgICAgICFwYXR0ZXJuRHJpdmUgJiZcbiAgICAgICAgcGF0dGVyblswXSA9PT0gJycgJiZcbiAgICAgICAgcGF0dGVyblsxXSA9PT0gJycgJiZcbiAgICAgICAgcGF0dGVyblsyXSA9PT0gJz8nICYmXG4gICAgICAgIHR5cGVvZiBwYXR0ZXJuWzNdID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAvXlthLXpdOiQvaS50ZXN0KHBhdHRlcm5bM10pXG5cbiAgICAgIGNvbnN0IGZkaSA9IGZpbGVVTkMgPyAzIDogZmlsZURyaXZlID8gMCA6IHVuZGVmaW5lZFxuICAgICAgY29uc3QgcGRpID0gcGF0dGVyblVOQyA/IDMgOiBwYXR0ZXJuRHJpdmUgPyAwIDogdW5kZWZpbmVkXG4gICAgICBpZiAodHlwZW9mIGZkaSA9PT0gJ251bWJlcicgJiYgdHlwZW9mIHBkaSA9PT0gJ251bWJlcicpIHtcbiAgICAgICAgY29uc3QgW2ZkLCBwZF06IFtzdHJpbmcsIHN0cmluZ10gPSBbZmlsZVtmZGldLCBwYXR0ZXJuW3BkaV0gYXMgc3RyaW5nXVxuICAgICAgICBpZiAoZmQudG9Mb3dlckNhc2UoKSA9PT0gcGQudG9Mb3dlckNhc2UoKSkge1xuICAgICAgICAgIHBhdHRlcm5bcGRpXSA9IGZkXG4gICAgICAgICAgaWYgKHBkaSA+IGZkaSkge1xuICAgICAgICAgICAgcGF0dGVybiA9IHBhdHRlcm4uc2xpY2UocGRpKVxuICAgICAgICAgIH0gZWxzZSBpZiAoZmRpID4gcGRpKSB7XG4gICAgICAgICAgICBmaWxlID0gZmlsZS5zbGljZShmZGkpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gcmVzb2x2ZSBhbmQgcmVkdWNlIC4gYW5kIC4uIHBvcnRpb25zIGluIHRoZSBmaWxlIGFzIHdlbGwuXG4gICAgLy8gZG9udCcgbmVlZCB0byBkbyB0aGUgc2Vjb25kIHBoYXNlLCBiZWNhdXNlIGl0J3Mgb25seSBvbmUgc3RyaW5nW11cbiAgICBjb25zdCB7IG9wdGltaXphdGlvbkxldmVsID0gMSB9ID0gdGhpcy5vcHRpb25zXG4gICAgaWYgKG9wdGltaXphdGlvbkxldmVsID49IDIpIHtcbiAgICAgIGZpbGUgPSB0aGlzLmxldmVsVHdvRmlsZU9wdGltaXplKGZpbGUpXG4gICAgfVxuXG4gICAgdGhpcy5kZWJ1ZygnbWF0Y2hPbmUnLCB0aGlzLCB7IGZpbGUsIHBhdHRlcm4gfSlcbiAgICB0aGlzLmRlYnVnKCdtYXRjaE9uZScsIGZpbGUubGVuZ3RoLCBwYXR0ZXJuLmxlbmd0aClcblxuICAgIGZvciAoXG4gICAgICB2YXIgZmkgPSAwLCBwaSA9IDAsIGZsID0gZmlsZS5sZW5ndGgsIHBsID0gcGF0dGVybi5sZW5ndGg7XG4gICAgICBmaSA8IGZsICYmIHBpIDwgcGw7XG4gICAgICBmaSsrLCBwaSsrXG4gICAgKSB7XG4gICAgICB0aGlzLmRlYnVnKCdtYXRjaE9uZSBsb29wJylcbiAgICAgIHZhciBwID0gcGF0dGVybltwaV1cbiAgICAgIHZhciBmID0gZmlsZVtmaV1cblxuICAgICAgdGhpcy5kZWJ1ZyhwYXR0ZXJuLCBwLCBmKVxuXG4gICAgICAvLyBzaG91bGQgYmUgaW1wb3NzaWJsZS5cbiAgICAgIC8vIHNvbWUgaW52YWxpZCByZWdleHAgc3R1ZmYgaW4gdGhlIHNldC5cbiAgICAgIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICAgICAgaWYgKHAgPT09IGZhbHNlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgICAgLyogYzggaWdub3JlIHN0b3AgKi9cblxuICAgICAgaWYgKHAgPT09IEdMT0JTVEFSKSB7XG4gICAgICAgIHRoaXMuZGVidWcoJ0dMT0JTVEFSJywgW3BhdHRlcm4sIHAsIGZdKVxuXG4gICAgICAgIC8vIFwiKipcIlxuICAgICAgICAvLyBhLyoqL2IvKiovYyB3b3VsZCBtYXRjaCB0aGUgZm9sbG93aW5nOlxuICAgICAgICAvLyBhL2IveC95L3ovY1xuICAgICAgICAvLyBhL3gveS96L2IvY1xuICAgICAgICAvLyBhL2IveC9iL3gvY1xuICAgICAgICAvLyBhL2IvY1xuICAgICAgICAvLyBUbyBkbyB0aGlzLCB0YWtlIHRoZSByZXN0IG9mIHRoZSBwYXR0ZXJuIGFmdGVyXG4gICAgICAgIC8vIHRoZSAqKiwgYW5kIHNlZSBpZiBpdCB3b3VsZCBtYXRjaCB0aGUgZmlsZSByZW1haW5kZXIuXG4gICAgICAgIC8vIElmIHNvLCByZXR1cm4gc3VjY2Vzcy5cbiAgICAgICAgLy8gSWYgbm90LCB0aGUgKiogXCJzd2FsbG93c1wiIGEgc2VnbWVudCwgYW5kIHRyeSBhZ2Fpbi5cbiAgICAgICAgLy8gVGhpcyBpcyByZWN1cnNpdmVseSBhd2Z1bC5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gYS8qKi9iLyoqL2MgbWF0Y2hpbmcgYS9iL3gveS96L2NcbiAgICAgICAgLy8gLSBhIG1hdGNoZXMgYVxuICAgICAgICAvLyAtIGRvdWJsZXN0YXJcbiAgICAgICAgLy8gICAtIG1hdGNoT25lKGIveC95L3ovYywgYi8qKi9jKVxuICAgICAgICAvLyAgICAgLSBiIG1hdGNoZXMgYlxuICAgICAgICAvLyAgICAgLSBkb3VibGVzdGFyXG4gICAgICAgIC8vICAgICAgIC0gbWF0Y2hPbmUoeC95L3ovYywgYykgLT4gbm9cbiAgICAgICAgLy8gICAgICAgLSBtYXRjaE9uZSh5L3ovYywgYykgLT4gbm9cbiAgICAgICAgLy8gICAgICAgLSBtYXRjaE9uZSh6L2MsIGMpIC0+IG5vXG4gICAgICAgIC8vICAgICAgIC0gbWF0Y2hPbmUoYywgYykgeWVzLCBoaXRcbiAgICAgICAgdmFyIGZyID0gZmlcbiAgICAgICAgdmFyIHByID0gcGkgKyAxXG4gICAgICAgIGlmIChwciA9PT0gcGwpIHtcbiAgICAgICAgICB0aGlzLmRlYnVnKCcqKiBhdCB0aGUgZW5kJylcbiAgICAgICAgICAvLyBhICoqIGF0IHRoZSBlbmQgd2lsbCBqdXN0IHN3YWxsb3cgdGhlIHJlc3QuXG4gICAgICAgICAgLy8gV2UgaGF2ZSBmb3VuZCBhIG1hdGNoLlxuICAgICAgICAgIC8vIGhvd2V2ZXIsIGl0IHdpbGwgbm90IHN3YWxsb3cgLy54LCB1bmxlc3NcbiAgICAgICAgICAvLyBvcHRpb25zLmRvdCBpcyBzZXQuXG4gICAgICAgICAgLy8gLiBhbmQgLi4gYXJlICpuZXZlciogbWF0Y2hlZCBieSAqKiwgZm9yIGV4cGxvc2l2ZWx5XG4gICAgICAgICAgLy8gZXhwb25lbnRpYWwgcmVhc29ucy5cbiAgICAgICAgICBmb3IgKDsgZmkgPCBmbDsgZmkrKykge1xuICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICBmaWxlW2ZpXSA9PT0gJy4nIHx8XG4gICAgICAgICAgICAgIGZpbGVbZmldID09PSAnLi4nIHx8XG4gICAgICAgICAgICAgICghb3B0aW9ucy5kb3QgJiYgZmlsZVtmaV0uY2hhckF0KDApID09PSAnLicpXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gb2ssIGxldCdzIHNlZSBpZiB3ZSBjYW4gc3dhbGxvdyB3aGF0ZXZlciB3ZSBjYW4uXG4gICAgICAgIHdoaWxlIChmciA8IGZsKSB7XG4gICAgICAgICAgdmFyIHN3YWxsb3dlZSA9IGZpbGVbZnJdXG5cbiAgICAgICAgICB0aGlzLmRlYnVnKCdcXG5nbG9ic3RhciB3aGlsZScsIGZpbGUsIGZyLCBwYXR0ZXJuLCBwciwgc3dhbGxvd2VlKVxuXG4gICAgICAgICAgLy8gWFhYIHJlbW92ZSB0aGlzIHNsaWNlLiAgSnVzdCBwYXNzIHRoZSBzdGFydCBpbmRleC5cbiAgICAgICAgICBpZiAodGhpcy5tYXRjaE9uZShmaWxlLnNsaWNlKGZyKSwgcGF0dGVybi5zbGljZShwciksIHBhcnRpYWwpKSB7XG4gICAgICAgICAgICB0aGlzLmRlYnVnKCdnbG9ic3RhciBmb3VuZCBtYXRjaCEnLCBmciwgZmwsIHN3YWxsb3dlZSlcbiAgICAgICAgICAgIC8vIGZvdW5kIGEgbWF0Y2guXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBjYW4ndCBzd2FsbG93IFwiLlwiIG9yIFwiLi5cIiBldmVyLlxuICAgICAgICAgICAgLy8gY2FuIG9ubHkgc3dhbGxvdyBcIi5mb29cIiB3aGVuIGV4cGxpY2l0bHkgYXNrZWQuXG4gICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgIHN3YWxsb3dlZSA9PT0gJy4nIHx8XG4gICAgICAgICAgICAgIHN3YWxsb3dlZSA9PT0gJy4uJyB8fFxuICAgICAgICAgICAgICAoIW9wdGlvbnMuZG90ICYmIHN3YWxsb3dlZS5jaGFyQXQoMCkgPT09ICcuJylcbiAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICB0aGlzLmRlYnVnKCdkb3QgZGV0ZWN0ZWQhJywgZmlsZSwgZnIsIHBhdHRlcm4sIHByKVxuICAgICAgICAgICAgICBicmVha1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyAqKiBzd2FsbG93cyBhIHNlZ21lbnQsIGFuZCBjb250aW51ZS5cbiAgICAgICAgICAgIHRoaXMuZGVidWcoJ2dsb2JzdGFyIHN3YWxsb3cgYSBzZWdtZW50LCBhbmQgY29udGludWUnKVxuICAgICAgICAgICAgZnIrK1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIG5vIG1hdGNoIHdhcyBmb3VuZC5cbiAgICAgICAgLy8gSG93ZXZlciwgaW4gcGFydGlhbCBtb2RlLCB3ZSBjYW4ndCBzYXkgdGhpcyBpcyBuZWNlc3NhcmlseSBvdmVyLlxuICAgICAgICAvKiBjOCBpZ25vcmUgc3RhcnQgKi9cbiAgICAgICAgaWYgKHBhcnRpYWwpIHtcbiAgICAgICAgICAvLyByYW4gb3V0IG9mIGZpbGVcbiAgICAgICAgICB0aGlzLmRlYnVnKCdcXG4+Pj4gbm8gbWF0Y2gsIHBhcnRpYWw/JywgZmlsZSwgZnIsIHBhdHRlcm4sIHByKVxuICAgICAgICAgIGlmIChmciA9PT0gZmwpIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuXG4gICAgICAvLyBzb21ldGhpbmcgb3RoZXIgdGhhbiAqKlxuICAgICAgLy8gbm9uLW1hZ2ljIHBhdHRlcm5zIGp1c3QgaGF2ZSB0byBtYXRjaCBleGFjdGx5XG4gICAgICAvLyBwYXR0ZXJucyB3aXRoIG1hZ2ljIGhhdmUgYmVlbiB0dXJuZWQgaW50byByZWdleHBzLlxuICAgICAgbGV0IGhpdDogYm9vbGVhblxuICAgICAgaWYgKHR5cGVvZiBwID09PSAnc3RyaW5nJykge1xuICAgICAgICBoaXQgPSBmID09PSBwXG4gICAgICAgIHRoaXMuZGVidWcoJ3N0cmluZyBtYXRjaCcsIHAsIGYsIGhpdClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGhpdCA9IHAudGVzdChmKVxuICAgICAgICB0aGlzLmRlYnVnKCdwYXR0ZXJuIG1hdGNoJywgcCwgZiwgaGl0KVxuICAgICAgfVxuXG4gICAgICBpZiAoIWhpdCkgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgLy8gTm90ZTogZW5kaW5nIGluIC8gbWVhbnMgdGhhdCB3ZSdsbCBnZXQgYSBmaW5hbCBcIlwiXG4gICAgLy8gYXQgdGhlIGVuZCBvZiB0aGUgcGF0dGVybi4gIFRoaXMgY2FuIG9ubHkgbWF0Y2ggYVxuICAgIC8vIGNvcnJlc3BvbmRpbmcgXCJcIiBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLlxuICAgIC8vIElmIHRoZSBmaWxlIGVuZHMgaW4gLywgdGhlbiBpdCBjYW4gb25seSBtYXRjaCBhXG4gICAgLy8gYSBwYXR0ZXJuIHRoYXQgZW5kcyBpbiAvLCB1bmxlc3MgdGhlIHBhdHRlcm4ganVzdFxuICAgIC8vIGRvZXNuJ3QgaGF2ZSBhbnkgbW9yZSBmb3IgaXQuIEJ1dCwgYS9iLyBzaG91bGQgKm5vdCpcbiAgICAvLyBtYXRjaCBcImEvYi8qXCIsIGV2ZW4gdGhvdWdoIFwiXCIgbWF0Y2hlcyBhZ2FpbnN0IHRoZVxuICAgIC8vIFteL10qPyBwYXR0ZXJuLCBleGNlcHQgaW4gcGFydGlhbCBtb2RlLCB3aGVyZSBpdCBtaWdodFxuICAgIC8vIHNpbXBseSBub3QgYmUgcmVhY2hlZCB5ZXQuXG4gICAgLy8gSG93ZXZlciwgYS9iLyBzaG91bGQgc3RpbGwgc2F0aXNmeSBhLypcblxuICAgIC8vIG5vdyBlaXRoZXIgd2UgZmVsbCBvZmYgdGhlIGVuZCBvZiB0aGUgcGF0dGVybiwgb3Igd2UncmUgZG9uZS5cbiAgICBpZiAoZmkgPT09IGZsICYmIHBpID09PSBwbCkge1xuICAgICAgLy8gcmFuIG91dCBvZiBwYXR0ZXJuIGFuZCBmaWxlbmFtZSBhdCB0aGUgc2FtZSB0aW1lLlxuICAgICAgLy8gYW4gZXhhY3QgaGl0IVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGVsc2UgaWYgKGZpID09PSBmbCkge1xuICAgICAgLy8gcmFuIG91dCBvZiBmaWxlLCBidXQgc3RpbGwgaGFkIHBhdHRlcm4gbGVmdC5cbiAgICAgIC8vIHRoaXMgaXMgb2sgaWYgd2UncmUgZG9pbmcgdGhlIG1hdGNoIGFzIHBhcnQgb2ZcbiAgICAgIC8vIGEgZ2xvYiBmcyB0cmF2ZXJzYWwuXG4gICAgICByZXR1cm4gcGFydGlhbFxuICAgIH0gZWxzZSBpZiAocGkgPT09IHBsKSB7XG4gICAgICAvLyByYW4gb3V0IG9mIHBhdHRlcm4sIHN0aWxsIGhhdmUgZmlsZSBsZWZ0LlxuICAgICAgLy8gdGhpcyBpcyBvbmx5IGFjY2VwdGFibGUgaWYgd2UncmUgb24gdGhlIHZlcnkgbGFzdFxuICAgICAgLy8gZW1wdHkgc2VnbWVudCBvZiBhIGZpbGUgd2l0aCBhIHRyYWlsaW5nIHNsYXNoLlxuICAgICAgLy8gYS8qIHNob3VsZCBtYXRjaCBhL2IvXG4gICAgICByZXR1cm4gZmkgPT09IGZsIC0gMSAmJiBmaWxlW2ZpXSA9PT0gJydcblxuICAgICAgLyogYzggaWdub3JlIHN0YXJ0ICovXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHNob3VsZCBiZSB1bnJlYWNoYWJsZS5cbiAgICAgIHRocm93IG5ldyBFcnJvcignd3RmPycpXG4gICAgfVxuICAgIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gIH1cblxuICBicmFjZUV4cGFuZCgpIHtcbiAgICByZXR1cm4gYnJhY2VFeHBhbmQodGhpcy5wYXR0ZXJuLCB0aGlzLm9wdGlvbnMpXG4gIH1cblxuICBwYXJzZShwYXR0ZXJuOiBzdHJpbmcpOiBQYXJzZVJldHVybiB7XG4gICAgYXNzZXJ0VmFsaWRQYXR0ZXJuKHBhdHRlcm4pXG5cbiAgICBjb25zdCBvcHRpb25zID0gdGhpcy5vcHRpb25zXG5cbiAgICAvLyBzaG9ydGN1dHNcbiAgICBpZiAocGF0dGVybiA9PT0gJyoqJykgcmV0dXJuIEdMT0JTVEFSXG4gICAgaWYgKHBhdHRlcm4gPT09ICcnKSByZXR1cm4gJydcblxuICAgIC8vIGZhciBhbmQgYXdheSwgdGhlIG1vc3QgY29tbW9uIGdsb2IgcGF0dGVybiBwYXJ0cyBhcmVcbiAgICAvLyAqLCAqLiosIGFuZCAqLjxleHQ+ICBBZGQgYSBmYXN0IGNoZWNrIG1ldGhvZCBmb3IgdGhvc2UuXG4gICAgbGV0IG06IFJlZ0V4cE1hdGNoQXJyYXkgfCBudWxsXG4gICAgbGV0IGZhc3RUZXN0OiBudWxsIHwgKChmOiBzdHJpbmcpID0+IGJvb2xlYW4pID0gbnVsbFxuICAgIGlmICgobSA9IHBhdHRlcm4ubWF0Y2goc3RhclJFKSkpIHtcbiAgICAgIGZhc3RUZXN0ID0gb3B0aW9ucy5kb3QgPyBzdGFyVGVzdERvdCA6IHN0YXJUZXN0XG4gICAgfSBlbHNlIGlmICgobSA9IHBhdHRlcm4ubWF0Y2goc3RhckRvdEV4dFJFKSkpIHtcbiAgICAgIGZhc3RUZXN0ID0gKFxuICAgICAgICBvcHRpb25zLm5vY2FzZVxuICAgICAgICAgID8gb3B0aW9ucy5kb3RcbiAgICAgICAgICAgID8gc3RhckRvdEV4dFRlc3ROb2Nhc2VEb3RcbiAgICAgICAgICAgIDogc3RhckRvdEV4dFRlc3ROb2Nhc2VcbiAgICAgICAgICA6IG9wdGlvbnMuZG90XG4gICAgICAgICAgPyBzdGFyRG90RXh0VGVzdERvdFxuICAgICAgICAgIDogc3RhckRvdEV4dFRlc3RcbiAgICAgICkobVsxXSlcbiAgICB9IGVsc2UgaWYgKChtID0gcGF0dGVybi5tYXRjaChxbWFya3NSRSkpKSB7XG4gICAgICBmYXN0VGVzdCA9IChcbiAgICAgICAgb3B0aW9ucy5ub2Nhc2VcbiAgICAgICAgICA/IG9wdGlvbnMuZG90XG4gICAgICAgICAgICA/IHFtYXJrc1Rlc3ROb2Nhc2VEb3RcbiAgICAgICAgICAgIDogcW1hcmtzVGVzdE5vY2FzZVxuICAgICAgICAgIDogb3B0aW9ucy5kb3RcbiAgICAgICAgICA/IHFtYXJrc1Rlc3REb3RcbiAgICAgICAgICA6IHFtYXJrc1Rlc3RcbiAgICAgICkobSlcbiAgICB9IGVsc2UgaWYgKChtID0gcGF0dGVybi5tYXRjaChzdGFyRG90U3RhclJFKSkpIHtcbiAgICAgIGZhc3RUZXN0ID0gb3B0aW9ucy5kb3QgPyBzdGFyRG90U3RhclRlc3REb3QgOiBzdGFyRG90U3RhclRlc3RcbiAgICB9IGVsc2UgaWYgKChtID0gcGF0dGVybi5tYXRjaChkb3RTdGFyUkUpKSkge1xuICAgICAgZmFzdFRlc3QgPSBkb3RTdGFyVGVzdFxuICAgIH1cblxuICAgIGNvbnN0IHJlID0gQVNULmZyb21HbG9iKHBhdHRlcm4sIHRoaXMub3B0aW9ucykudG9NTVBhdHRlcm4oKVxuICAgIGlmIChmYXN0VGVzdCAmJiB0eXBlb2YgcmUgPT09ICdvYmplY3QnKSB7XG4gICAgICAvLyBBdm9pZHMgb3ZlcnJpZGluZyBpbiBmcm96ZW4gZW52aXJvbm1lbnRzXG4gICAgICBSZWZsZWN0LmRlZmluZVByb3BlcnR5KHJlLCAndGVzdCcsIHsgdmFsdWU6IGZhc3RUZXN0IH0pXG4gICAgfVxuICAgIHJldHVybiByZVxuICB9XG5cbiAgbWFrZVJlKCkge1xuICAgIGlmICh0aGlzLnJlZ2V4cCB8fCB0aGlzLnJlZ2V4cCA9PT0gZmFsc2UpIHJldHVybiB0aGlzLnJlZ2V4cFxuXG4gICAgLy8gYXQgdGhpcyBwb2ludCwgdGhpcy5zZXQgaXMgYSAyZCBhcnJheSBvZiBwYXJ0aWFsXG4gICAgLy8gcGF0dGVybiBzdHJpbmdzLCBvciBcIioqXCIuXG4gICAgLy9cbiAgICAvLyBJdCdzIGJldHRlciB0byB1c2UgLm1hdGNoKCkuICBUaGlzIGZ1bmN0aW9uIHNob3VsZG4ndFxuICAgIC8vIGJlIHVzZWQsIHJlYWxseSwgYnV0IGl0J3MgcHJldHR5IGNvbnZlbmllbnQgc29tZXRpbWVzLFxuICAgIC8vIHdoZW4geW91IGp1c3Qgd2FudCB0byB3b3JrIHdpdGggYSByZWdleC5cbiAgICBjb25zdCBzZXQgPSB0aGlzLnNldFxuXG4gICAgaWYgKCFzZXQubGVuZ3RoKSB7XG4gICAgICB0aGlzLnJlZ2V4cCA9IGZhbHNlXG4gICAgICByZXR1cm4gdGhpcy5yZWdleHBcbiAgICB9XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9uc1xuXG4gICAgY29uc3QgdHdvU3RhciA9IG9wdGlvbnMubm9nbG9ic3RhclxuICAgICAgPyBzdGFyXG4gICAgICA6IG9wdGlvbnMuZG90XG4gICAgICA/IHR3b1N0YXJEb3RcbiAgICAgIDogdHdvU3Rhck5vRG90XG4gICAgY29uc3QgZmxhZ3MgPSBuZXcgU2V0KG9wdGlvbnMubm9jYXNlID8gWydpJ10gOiBbXSlcblxuICAgIC8vIHJlZ2V4cGlmeSBub24tZ2xvYnN0YXIgcGF0dGVybnNcbiAgICAvLyBpZiAqKiBpcyBvbmx5IGl0ZW0sIHRoZW4gd2UganVzdCBkbyBvbmUgdHdvU3RhclxuICAgIC8vIGlmICoqIGlzIGZpcnN0LCBhbmQgdGhlcmUgYXJlIG1vcmUsIHByZXBlbmQgKFxcL3x0d29TdGFyXFwvKT8gdG8gbmV4dFxuICAgIC8vIGlmICoqIGlzIGxhc3QsIGFwcGVuZCAoXFwvdHdvU3RhcnwpIHRvIHByZXZpb3VzXG4gICAgLy8gaWYgKiogaXMgaW4gdGhlIG1pZGRsZSwgYXBwZW5kIChcXC98XFwvdHdvU3RhclxcLykgdG8gcHJldmlvdXNcbiAgICAvLyB0aGVuIGZpbHRlciBvdXQgR0xPQlNUQVIgc3ltYm9sc1xuICAgIGxldCByZSA9IHNldFxuICAgICAgLm1hcChwYXR0ZXJuID0+IHtcbiAgICAgICAgY29uc3QgcHA6IChzdHJpbmcgfCB0eXBlb2YgR0xPQlNUQVIpW10gPSBwYXR0ZXJuLm1hcChwID0+IHtcbiAgICAgICAgICBpZiAocCBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgICAgICAgZm9yIChjb25zdCBmIG9mIHAuZmxhZ3Muc3BsaXQoJycpKSBmbGFncy5hZGQoZilcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHR5cGVvZiBwID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgPyByZWdFeHBFc2NhcGUocClcbiAgICAgICAgICAgIDogcCA9PT0gR0xPQlNUQVJcbiAgICAgICAgICAgID8gR0xPQlNUQVJcbiAgICAgICAgICAgIDogcC5fc3JjXG4gICAgICAgIH0pIGFzIChzdHJpbmcgfCB0eXBlb2YgR0xPQlNUQVIpW11cbiAgICAgICAgcHAuZm9yRWFjaCgocCwgaSkgPT4ge1xuICAgICAgICAgIGNvbnN0IG5leHQgPSBwcFtpICsgMV1cbiAgICAgICAgICBjb25zdCBwcmV2ID0gcHBbaSAtIDFdXG4gICAgICAgICAgaWYgKHAgIT09IEdMT0JTVEFSIHx8IHByZXYgPT09IEdMT0JTVEFSKSB7XG4gICAgICAgICAgICByZXR1cm5cbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHByZXYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKG5leHQgIT09IHVuZGVmaW5lZCAmJiBuZXh0ICE9PSBHTE9CU1RBUikge1xuICAgICAgICAgICAgICBwcFtpICsgMV0gPSAnKD86XFxcXC98JyArIHR3b1N0YXIgKyAnXFxcXC8pPycgKyBuZXh0XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwcFtpXSA9IHR3b1N0YXJcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2UgaWYgKG5leHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcHBbaSAtIDFdID0gcHJldiArICcoPzpcXFxcL3wnICsgdHdvU3RhciArICcpPydcbiAgICAgICAgICB9IGVsc2UgaWYgKG5leHQgIT09IEdMT0JTVEFSKSB7XG4gICAgICAgICAgICBwcFtpIC0gMV0gPSBwcmV2ICsgJyg/OlxcXFwvfFxcXFwvJyArIHR3b1N0YXIgKyAnXFxcXC8pJyArIG5leHRcbiAgICAgICAgICAgIHBwW2kgKyAxXSA9IEdMT0JTVEFSXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICByZXR1cm4gcHAuZmlsdGVyKHAgPT4gcCAhPT0gR0xPQlNUQVIpLmpvaW4oJy8nKVxuICAgICAgfSlcbiAgICAgIC5qb2luKCd8JylcblxuICAgIC8vIG5lZWQgdG8gd3JhcCBpbiBwYXJlbnMgaWYgd2UgaGFkIG1vcmUgdGhhbiBvbmUgdGhpbmcgd2l0aCB8LFxuICAgIC8vIG90aGVyd2lzZSBvbmx5IHRoZSBmaXJzdCB3aWxsIGJlIGFuY2hvcmVkIHRvIF4gYW5kIHRoZSBsYXN0IHRvICRcbiAgICBjb25zdCBbb3BlbiwgY2xvc2VdID0gc2V0Lmxlbmd0aCA+IDEgPyBbJyg/OicsICcpJ10gOiBbJycsICcnXVxuICAgIC8vIG11c3QgbWF0Y2ggZW50aXJlIHBhdHRlcm5cbiAgICAvLyBlbmRpbmcgaW4gYSAqIG9yICoqIHdpbGwgbWFrZSBpdCBsZXNzIHN0cmljdC5cbiAgICByZSA9ICdeJyArIG9wZW4gKyByZSArIGNsb3NlICsgJyQnXG5cbiAgICAvLyBjYW4gbWF0Y2ggYW55dGhpbmcsIGFzIGxvbmcgYXMgaXQncyBub3QgdGhpcy5cbiAgICBpZiAodGhpcy5uZWdhdGUpIHJlID0gJ14oPyEnICsgcmUgKyAnKS4rJCdcblxuICAgIHRyeSB7XG4gICAgICB0aGlzLnJlZ2V4cCA9IG5ldyBSZWdFeHAocmUsIFsuLi5mbGFnc10uam9pbignJykpXG4gICAgICAvKiBjOCBpZ25vcmUgc3RhcnQgKi9cbiAgICB9IGNhdGNoIChleCkge1xuICAgICAgLy8gc2hvdWxkIGJlIGltcG9zc2libGVcbiAgICAgIHRoaXMucmVnZXhwID0gZmFsc2VcbiAgICB9XG4gICAgLyogYzggaWdub3JlIHN0b3AgKi9cbiAgICByZXR1cm4gdGhpcy5yZWdleHBcbiAgfVxuXG4gIHNsYXNoU3BsaXQocDogc3RyaW5nKSB7XG4gICAgLy8gaWYgcCBzdGFydHMgd2l0aCAvLyBvbiB3aW5kb3dzLCB3ZSBwcmVzZXJ2ZSB0aGF0XG4gICAgLy8gc28gdGhhdCBVTkMgcGF0aHMgYXJlbid0IGJyb2tlbi4gIE90aGVyd2lzZSwgYW55IG51bWJlciBvZlxuICAgIC8vIC8gY2hhcmFjdGVycyBhcmUgY29hbGVzY2VkIGludG8gb25lLCB1bmxlc3NcbiAgICAvLyBwcmVzZXJ2ZU11bHRpcGxlU2xhc2hlcyBpcyBzZXQgdG8gdHJ1ZS5cbiAgICBpZiAodGhpcy5wcmVzZXJ2ZU11bHRpcGxlU2xhc2hlcykge1xuICAgICAgcmV0dXJuIHAuc3BsaXQoJy8nKVxuICAgIH0gZWxzZSBpZiAodGhpcy5pc1dpbmRvd3MgJiYgL15cXC9cXC9bXlxcL10rLy50ZXN0KHApKSB7XG4gICAgICAvLyBhZGQgYW4gZXh0cmEgJycgZm9yIHRoZSBvbmUgd2UgbG9zZVxuICAgICAgcmV0dXJuIFsnJywgLi4ucC5zcGxpdCgvXFwvKy8pXVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gcC5zcGxpdCgvXFwvKy8pXG4gICAgfVxuICB9XG5cbiAgbWF0Y2goZjogc3RyaW5nLCBwYXJ0aWFsID0gdGhpcy5wYXJ0aWFsKSB7XG4gICAgdGhpcy5kZWJ1ZygnbWF0Y2gnLCBmLCB0aGlzLnBhdHRlcm4pXG4gICAgLy8gc2hvcnQtY2lyY3VpdCBpbiB0aGUgY2FzZSBvZiBidXN0ZWQgdGhpbmdzLlxuICAgIC8vIGNvbW1lbnRzLCBldGMuXG4gICAgaWYgKHRoaXMuY29tbWVudCkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGlmICh0aGlzLmVtcHR5KSB7XG4gICAgICByZXR1cm4gZiA9PT0gJydcbiAgICB9XG5cbiAgICBpZiAoZiA9PT0gJy8nICYmIHBhcnRpYWwpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMub3B0aW9uc1xuXG4gICAgLy8gd2luZG93czogbmVlZCB0byB1c2UgLywgbm90IFxcXG4gICAgaWYgKHRoaXMuaXNXaW5kb3dzKSB7XG4gICAgICBmID0gZi5zcGxpdCgnXFxcXCcpLmpvaW4oJy8nKVxuICAgIH1cblxuICAgIC8vIHRyZWF0IHRoZSB0ZXN0IHBhdGggYXMgYSBzZXQgb2YgcGF0aHBhcnRzLlxuICAgIGNvbnN0IGZmID0gdGhpcy5zbGFzaFNwbGl0KGYpXG4gICAgdGhpcy5kZWJ1Zyh0aGlzLnBhdHRlcm4sICdzcGxpdCcsIGZmKVxuXG4gICAgLy8ganVzdCBPTkUgb2YgdGhlIHBhdHRlcm4gc2V0cyBpbiB0aGlzLnNldCBuZWVkcyB0byBtYXRjaFxuICAgIC8vIGluIG9yZGVyIGZvciBpdCB0byBiZSB2YWxpZC4gIElmIG5lZ2F0aW5nLCB0aGVuIGp1c3Qgb25lXG4gICAgLy8gbWF0Y2ggbWVhbnMgdGhhdCB3ZSBoYXZlIGZhaWxlZC5cbiAgICAvLyBFaXRoZXIgd2F5LCByZXR1cm4gb24gdGhlIGZpcnN0IGhpdC5cblxuICAgIGNvbnN0IHNldCA9IHRoaXMuc2V0XG4gICAgdGhpcy5kZWJ1Zyh0aGlzLnBhdHRlcm4sICdzZXQnLCBzZXQpXG5cbiAgICAvLyBGaW5kIHRoZSBiYXNlbmFtZSBvZiB0aGUgcGF0aCBieSBsb29raW5nIGZvciB0aGUgbGFzdCBub24tZW1wdHkgc2VnbWVudFxuICAgIGxldCBmaWxlbmFtZTogc3RyaW5nID0gZmZbZmYubGVuZ3RoIC0gMV1cbiAgICBpZiAoIWZpbGVuYW1lKSB7XG4gICAgICBmb3IgKGxldCBpID0gZmYubGVuZ3RoIC0gMjsgIWZpbGVuYW1lICYmIGkgPj0gMDsgaS0tKSB7XG4gICAgICAgIGZpbGVuYW1lID0gZmZbaV1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHNldC5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgcGF0dGVybiA9IHNldFtpXVxuICAgICAgbGV0IGZpbGUgPSBmZlxuICAgICAgaWYgKG9wdGlvbnMubWF0Y2hCYXNlICYmIHBhdHRlcm4ubGVuZ3RoID09PSAxKSB7XG4gICAgICAgIGZpbGUgPSBbZmlsZW5hbWVdXG4gICAgICB9XG4gICAgICBjb25zdCBoaXQgPSB0aGlzLm1hdGNoT25lKGZpbGUsIHBhdHRlcm4sIHBhcnRpYWwpXG4gICAgICBpZiAoaGl0KSB7XG4gICAgICAgIGlmIChvcHRpb25zLmZsaXBOZWdhdGUpIHtcbiAgICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAhdGhpcy5uZWdhdGVcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkaWRuJ3QgZ2V0IGFueSBoaXRzLiAgdGhpcyBpcyBzdWNjZXNzIGlmIGl0J3MgYSBuZWdhdGl2ZVxuICAgIC8vIHBhdHRlcm4sIGZhaWx1cmUgb3RoZXJ3aXNlLlxuICAgIGlmIChvcHRpb25zLmZsaXBOZWdhdGUpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5uZWdhdGVcbiAgfVxuXG4gIHN0YXRpYyBkZWZhdWx0cyhkZWY6IE1pbmltYXRjaE9wdGlvbnMpIHtcbiAgICByZXR1cm4gbWluaW1hdGNoLmRlZmF1bHRzKGRlZikuTWluaW1hdGNoXG4gIH1cbn1cbi8qIGM4IGlnbm9yZSBzdGFydCAqL1xuZXhwb3J0IHsgQVNUIH0gZnJvbSAnLi9hc3QuanMnXG5leHBvcnQgeyBlc2NhcGUgfSBmcm9tICcuL2VzY2FwZS5qcydcbmV4cG9ydCB7IHVuZXNjYXBlIH0gZnJvbSAnLi91bmVzY2FwZS5qcydcbi8qIGM4IGlnbm9yZSBzdG9wICovXG5taW5pbWF0Y2guQVNUID0gQVNUXG5taW5pbWF0Y2guTWluaW1hdGNoID0gTWluaW1hdGNoXG5taW5pbWF0Y2guZXNjYXBlID0gZXNjYXBlXG5taW5pbWF0Y2gudW5lc2NhcGUgPSB1bmVzY2FwZVxuIiwgImNvbnN0IE1BWF9QQVRURVJOX0xFTkdUSCA9IDEwMjQgKiA2NFxuZXhwb3J0IGNvbnN0IGFzc2VydFZhbGlkUGF0dGVybjogKHBhdHRlcm46IGFueSkgPT4gdm9pZCA9IChcbiAgcGF0dGVybjogYW55XG4pOiBhc3NlcnRzIHBhdHRlcm4gaXMgc3RyaW5nID0+IHtcbiAgaWYgKHR5cGVvZiBwYXR0ZXJuICE9PSAnc3RyaW5nJykge1xuICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2ludmFsaWQgcGF0dGVybicpXG4gIH1cblxuICBpZiAocGF0dGVybi5sZW5ndGggPiBNQVhfUEFUVEVSTl9MRU5HVEgpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdwYXR0ZXJuIGlzIHRvbyBsb25nJylcbiAgfVxufVxuIiwgIi8vIHRyYW5zbGF0ZSB0aGUgdmFyaW91cyBwb3NpeCBjaGFyYWN0ZXIgY2xhc3NlcyBpbnRvIHVuaWNvZGUgcHJvcGVydGllc1xuLy8gdGhpcyB3b3JrcyBhY3Jvc3MgYWxsIHVuaWNvZGUgbG9jYWxlc1xuXG4vLyB7IDxwb3NpeCBjbGFzcz46IFs8dHJhbnNsYXRpb24+LCAvdSBmbGFnIHJlcXVpcmVkLCBuZWdhdGVkXVxuY29uc3QgcG9zaXhDbGFzc2VzOiB7IFtrOiBzdHJpbmddOiBbZTogc3RyaW5nLCB1OiBib29sZWFuLCBuPzogYm9vbGVhbl0gfSA9IHtcbiAgJ1s6YWxudW06XSc6IFsnXFxcXHB7TH1cXFxccHtObH1cXFxccHtOZH0nLCB0cnVlXSxcbiAgJ1s6YWxwaGE6XSc6IFsnXFxcXHB7TH1cXFxccHtObH0nLCB0cnVlXSxcbiAgJ1s6YXNjaWk6XSc6IFsnXFxcXHgnICsgJzAwLVxcXFx4JyArICc3ZicsIGZhbHNlXSxcbiAgJ1s6Ymxhbms6XSc6IFsnXFxcXHB7WnN9XFxcXHQnLCB0cnVlXSxcbiAgJ1s6Y250cmw6XSc6IFsnXFxcXHB7Q2N9JywgdHJ1ZV0sXG4gICdbOmRpZ2l0Ol0nOiBbJ1xcXFxwe05kfScsIHRydWVdLFxuICAnWzpncmFwaDpdJzogWydcXFxccHtafVxcXFxwe0N9JywgdHJ1ZSwgdHJ1ZV0sXG4gICdbOmxvd2VyOl0nOiBbJ1xcXFxwe0xsfScsIHRydWVdLFxuICAnWzpwcmludDpdJzogWydcXFxccHtDfScsIHRydWVdLFxuICAnWzpwdW5jdDpdJzogWydcXFxccHtQfScsIHRydWVdLFxuICAnWzpzcGFjZTpdJzogWydcXFxccHtafVxcXFx0XFxcXHJcXFxcblxcXFx2XFxcXGYnLCB0cnVlXSxcbiAgJ1s6dXBwZXI6XSc6IFsnXFxcXHB7THV9JywgdHJ1ZV0sXG4gICdbOndvcmQ6XSc6IFsnXFxcXHB7TH1cXFxccHtObH1cXFxccHtOZH1cXFxccHtQY30nLCB0cnVlXSxcbiAgJ1s6eGRpZ2l0Ol0nOiBbJ0EtRmEtZjAtOScsIGZhbHNlXSxcbn1cblxuLy8gb25seSBuZWVkIHRvIGVzY2FwZSBhIGZldyB0aGluZ3MgaW5zaWRlIG9mIGJyYWNlIGV4cHJlc3Npb25zXG4vLyBlc2NhcGVzOiBbIFxcIF0gLVxuY29uc3QgYnJhY2VFc2NhcGUgPSAoczogc3RyaW5nKSA9PiBzLnJlcGxhY2UoL1tbXFxdXFxcXC1dL2csICdcXFxcJCYnKVxuLy8gZXNjYXBlIGFsbCByZWdleHAgbWFnaWMgY2hhcmFjdGVyc1xuY29uc3QgcmVnZXhwRXNjYXBlID0gKHM6IHN0cmluZykgPT5cbiAgcy5yZXBsYWNlKC9bLVtcXF17fSgpKis/LixcXFxcXiR8I1xcc10vZywgJ1xcXFwkJicpXG5cbi8vIGV2ZXJ5dGhpbmcgaGFzIGFscmVhZHkgYmVlbiBlc2NhcGVkLCB3ZSBqdXN0IGhhdmUgdG8gam9pblxuY29uc3QgcmFuZ2VzVG9TdHJpbmcgPSAocmFuZ2VzOiBzdHJpbmdbXSk6IHN0cmluZyA9PiByYW5nZXMuam9pbignJylcblxuZXhwb3J0IHR5cGUgUGFyc2VDbGFzc1Jlc3VsdCA9IFtcbiAgc3JjOiBzdHJpbmcsXG4gIHVGbGFnOiBib29sZWFuLFxuICBjb25zdW1lZDogbnVtYmVyLFxuICBoYXNNYWdpYzogYm9vbGVhblxuXVxuXG4vLyB0YWtlcyBhIGdsb2Igc3RyaW5nIGF0IGEgcG9zaXggYnJhY2UgZXhwcmVzc2lvbiwgYW5kIHJldHVybnNcbi8vIGFuIGVxdWl2YWxlbnQgcmVndWxhciBleHByZXNzaW9uIHNvdXJjZSwgYW5kIGJvb2xlYW4gaW5kaWNhdGluZ1xuLy8gd2hldGhlciB0aGUgL3UgZmxhZyBuZWVkcyB0byBiZSBhcHBsaWVkLCBhbmQgdGhlIG51bWJlciBvZiBjaGFyc1xuLy8gY29uc3VtZWQgdG8gcGFyc2UgdGhlIGNoYXJhY3RlciBjbGFzcy5cbi8vIFRoaXMgYWxzbyByZW1vdmVzIG91dCBvZiBvcmRlciByYW5nZXMsIGFuZCByZXR1cm5zICgkLikgaWYgdGhlXG4vLyBlbnRpcmUgY2xhc3MganVzdCBubyBnb29kLlxuZXhwb3J0IGNvbnN0IHBhcnNlQ2xhc3MgPSAoXG4gIGdsb2I6IHN0cmluZyxcbiAgcG9zaXRpb246IG51bWJlclxuKTogUGFyc2VDbGFzc1Jlc3VsdCA9PiB7XG4gIGNvbnN0IHBvcyA9IHBvc2l0aW9uXG4gIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICBpZiAoZ2xvYi5jaGFyQXQocG9zKSAhPT0gJ1snKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdub3QgaW4gYSBicmFjZSBleHByZXNzaW9uJylcbiAgfVxuICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuICBjb25zdCByYW5nZXM6IHN0cmluZ1tdID0gW11cbiAgY29uc3QgbmVnczogc3RyaW5nW10gPSBbXVxuXG4gIGxldCBpID0gcG9zICsgMVxuICBsZXQgc2F3U3RhcnQgPSBmYWxzZVxuICBsZXQgdWZsYWcgPSBmYWxzZVxuICBsZXQgZXNjYXBpbmcgPSBmYWxzZVxuICBsZXQgbmVnYXRlID0gZmFsc2VcbiAgbGV0IGVuZFBvcyA9IHBvc1xuICBsZXQgcmFuZ2VTdGFydCA9ICcnXG4gIFdISUxFOiB3aGlsZSAoaSA8IGdsb2IubGVuZ3RoKSB7XG4gICAgY29uc3QgYyA9IGdsb2IuY2hhckF0KGkpXG4gICAgaWYgKChjID09PSAnIScgfHwgYyA9PT0gJ14nKSAmJiBpID09PSBwb3MgKyAxKSB7XG4gICAgICBuZWdhdGUgPSB0cnVlXG4gICAgICBpKytcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgaWYgKGMgPT09ICddJyAmJiBzYXdTdGFydCAmJiAhZXNjYXBpbmcpIHtcbiAgICAgIGVuZFBvcyA9IGkgKyAxXG4gICAgICBicmVha1xuICAgIH1cblxuICAgIHNhd1N0YXJ0ID0gdHJ1ZVxuICAgIGlmIChjID09PSAnXFxcXCcpIHtcbiAgICAgIGlmICghZXNjYXBpbmcpIHtcbiAgICAgICAgZXNjYXBpbmcgPSB0cnVlXG4gICAgICAgIGkrK1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgLy8gZXNjYXBlZCBcXCBjaGFyLCBmYWxsIHRocm91Z2ggYW5kIHRyZWF0IGxpa2Ugbm9ybWFsIGNoYXJcbiAgICB9XG4gICAgaWYgKGMgPT09ICdbJyAmJiAhZXNjYXBpbmcpIHtcbiAgICAgIC8vIGVpdGhlciBhIHBvc2l4IGNsYXNzLCBhIGNvbGxhdGlvbiBlcXVpdmFsZW50LCBvciBqdXN0IGEgW1xuICAgICAgZm9yIChjb25zdCBbY2xzLCBbdW5pcCwgdSwgbmVnXV0gb2YgT2JqZWN0LmVudHJpZXMocG9zaXhDbGFzc2VzKSkge1xuICAgICAgICBpZiAoZ2xvYi5zdGFydHNXaXRoKGNscywgaSkpIHtcbiAgICAgICAgICAvLyBpbnZhbGlkLCBbYS1bXSBpcyBmaW5lLCBidXQgbm90IFthLVs6YWxwaGFdXVxuICAgICAgICAgIGlmIChyYW5nZVN0YXJ0KSB7XG4gICAgICAgICAgICByZXR1cm4gWyckLicsIGZhbHNlLCBnbG9iLmxlbmd0aCAtIHBvcywgdHJ1ZV1cbiAgICAgICAgICB9XG4gICAgICAgICAgaSArPSBjbHMubGVuZ3RoXG4gICAgICAgICAgaWYgKG5lZykgbmVncy5wdXNoKHVuaXApXG4gICAgICAgICAgZWxzZSByYW5nZXMucHVzaCh1bmlwKVxuICAgICAgICAgIHVmbGFnID0gdWZsYWcgfHwgdVxuICAgICAgICAgIGNvbnRpbnVlIFdISUxFXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBub3cgaXQncyBqdXN0IGEgbm9ybWFsIGNoYXJhY3RlciwgZWZmZWN0aXZlbHlcbiAgICBlc2NhcGluZyA9IGZhbHNlXG4gICAgaWYgKHJhbmdlU3RhcnQpIHtcbiAgICAgIC8vIHRocm93IHRoaXMgcmFuZ2UgYXdheSBpZiBpdCdzIG5vdCB2YWxpZCwgYnV0IG90aGVyc1xuICAgICAgLy8gY2FuIHN0aWxsIG1hdGNoLlxuICAgICAgaWYgKGMgPiByYW5nZVN0YXJ0KSB7XG4gICAgICAgIHJhbmdlcy5wdXNoKGJyYWNlRXNjYXBlKHJhbmdlU3RhcnQpICsgJy0nICsgYnJhY2VFc2NhcGUoYykpXG4gICAgICB9IGVsc2UgaWYgKGMgPT09IHJhbmdlU3RhcnQpIHtcbiAgICAgICAgcmFuZ2VzLnB1c2goYnJhY2VFc2NhcGUoYykpXG4gICAgICB9XG4gICAgICByYW5nZVN0YXJ0ID0gJydcbiAgICAgIGkrK1xuICAgICAgY29udGludWVcbiAgICB9XG5cbiAgICAvLyBub3cgbWlnaHQgYmUgdGhlIHN0YXJ0IG9mIGEgcmFuZ2UuXG4gICAgLy8gY2FuIGJlIGVpdGhlciBjLWQgb3IgYy1dIG9yIGM8bW9yZS4uLj5dIG9yIGNdIGF0IHRoaXMgcG9pbnRcbiAgICBpZiAoZ2xvYi5zdGFydHNXaXRoKCctXScsIGkgKyAxKSkge1xuICAgICAgcmFuZ2VzLnB1c2goYnJhY2VFc2NhcGUoYyArICctJykpXG4gICAgICBpICs9IDJcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuICAgIGlmIChnbG9iLnN0YXJ0c1dpdGgoJy0nLCBpICsgMSkpIHtcbiAgICAgIHJhbmdlU3RhcnQgPSBjXG4gICAgICBpICs9IDJcbiAgICAgIGNvbnRpbnVlXG4gICAgfVxuXG4gICAgLy8gbm90IHRoZSBzdGFydCBvZiBhIHJhbmdlLCBqdXN0IGEgc2luZ2xlIGNoYXJhY3RlclxuICAgIHJhbmdlcy5wdXNoKGJyYWNlRXNjYXBlKGMpKVxuICAgIGkrK1xuICB9XG5cbiAgaWYgKGVuZFBvcyA8IGkpIHtcbiAgICAvLyBkaWRuJ3Qgc2VlIHRoZSBlbmQgb2YgdGhlIGNsYXNzLCBub3QgYSB2YWxpZCBjbGFzcyxcbiAgICAvLyBidXQgbWlnaHQgc3RpbGwgYmUgdmFsaWQgYXMgYSBsaXRlcmFsIG1hdGNoLlxuICAgIHJldHVybiBbJycsIGZhbHNlLCAwLCBmYWxzZV1cbiAgfVxuXG4gIC8vIGlmIHdlIGdvdCBubyByYW5nZXMgYW5kIG5vIG5lZ2F0ZXMsIHRoZW4gd2UgaGF2ZSBhIHJhbmdlIHRoYXRcbiAgLy8gY2Fubm90IHBvc3NpYmx5IG1hdGNoIGFueXRoaW5nLCBhbmQgdGhhdCBwb2lzb25zIHRoZSB3aG9sZSBnbG9iXG4gIGlmICghcmFuZ2VzLmxlbmd0aCAmJiAhbmVncy5sZW5ndGgpIHtcbiAgICByZXR1cm4gWyckLicsIGZhbHNlLCBnbG9iLmxlbmd0aCAtIHBvcywgdHJ1ZV1cbiAgfVxuXG4gIC8vIGlmIHdlIGdvdCBvbmUgcG9zaXRpdmUgcmFuZ2UsIGFuZCBpdCdzIGEgc2luZ2xlIGNoYXJhY3RlciwgdGhlbiB0aGF0J3NcbiAgLy8gbm90IGFjdHVhbGx5IGEgbWFnaWMgcGF0dGVybiwgaXQncyBqdXN0IHRoYXQgb25lIGxpdGVyYWwgY2hhcmFjdGVyLlxuICAvLyB3ZSBzaG91bGQgbm90IHRyZWF0IHRoYXQgYXMgXCJtYWdpY1wiLCB3ZSBzaG91bGQganVzdCByZXR1cm4gdGhlIGxpdGVyYWxcbiAgLy8gY2hhcmFjdGVyLiBbX10gaXMgYSBwZXJmZWN0bHkgdmFsaWQgd2F5IHRvIGVzY2FwZSBnbG9iIG1hZ2ljIGNoYXJzLlxuICBpZiAoXG4gICAgbmVncy5sZW5ndGggPT09IDAgJiZcbiAgICByYW5nZXMubGVuZ3RoID09PSAxICYmXG4gICAgL15cXFxcPy4kLy50ZXN0KHJhbmdlc1swXSkgJiZcbiAgICAhbmVnYXRlXG4gICkge1xuICAgIGNvbnN0IHIgPSByYW5nZXNbMF0ubGVuZ3RoID09PSAyID8gcmFuZ2VzWzBdLnNsaWNlKC0xKSA6IHJhbmdlc1swXVxuICAgIHJldHVybiBbcmVnZXhwRXNjYXBlKHIpLCBmYWxzZSwgZW5kUG9zIC0gcG9zLCBmYWxzZV1cbiAgfVxuXG4gIGNvbnN0IHNyYW5nZXMgPSAnWycgKyAobmVnYXRlID8gJ14nIDogJycpICsgcmFuZ2VzVG9TdHJpbmcocmFuZ2VzKSArICddJ1xuICBjb25zdCBzbmVncyA9ICdbJyArIChuZWdhdGUgPyAnJyA6ICdeJykgKyByYW5nZXNUb1N0cmluZyhuZWdzKSArICddJ1xuICBjb25zdCBjb21iID1cbiAgICByYW5nZXMubGVuZ3RoICYmIG5lZ3MubGVuZ3RoXG4gICAgICA/ICcoJyArIHNyYW5nZXMgKyAnfCcgKyBzbmVncyArICcpJ1xuICAgICAgOiByYW5nZXMubGVuZ3RoXG4gICAgICA/IHNyYW5nZXNcbiAgICAgIDogc25lZ3NcblxuICByZXR1cm4gW2NvbWIsIHVmbGFnLCBlbmRQb3MgLSBwb3MsIHRydWVdXG59XG4iLCAiaW1wb3J0IHsgTWluaW1hdGNoT3B0aW9ucyB9IGZyb20gJy4vaW5kZXguanMnXG4vKipcbiAqIFVuLWVzY2FwZSBhIHN0cmluZyB0aGF0IGhhcyBiZWVuIGVzY2FwZWQgd2l0aCB7QGxpbmsgZXNjYXBlfS5cbiAqXG4gKiBJZiB0aGUge0BsaW5rIHdpbmRvd3NQYXRoc05vRXNjYXBlfSBvcHRpb24gaXMgdXNlZCwgdGhlbiBzcXVhcmUtYnJhY2VcbiAqIGVzY2FwZXMgYXJlIHJlbW92ZWQsIGJ1dCBub3QgYmFja3NsYXNoIGVzY2FwZXMuICBGb3IgZXhhbXBsZSwgaXQgd2lsbCB0dXJuXG4gKiB0aGUgc3RyaW5nIGAnWypdJ2AgaW50byBgKmAsIGJ1dCBpdCB3aWxsIG5vdCB0dXJuIGAnXFxcXConYCBpbnRvIGAnKidgLFxuICogYmVjdWFzZSBgXFxgIGlzIGEgcGF0aCBzZXBhcmF0b3IgaW4gYHdpbmRvd3NQYXRoc05vRXNjYXBlYCBtb2RlLlxuICpcbiAqIFdoZW4gYHdpbmRvd3NQYXRoc05vRXNjYXBlYCBpcyBub3Qgc2V0LCB0aGVuIGJvdGggYnJhY2UgZXNjYXBlcyBhbmRcbiAqIGJhY2tzbGFzaCBlc2NhcGVzIGFyZSByZW1vdmVkLlxuICpcbiAqIFNsYXNoZXMgKGFuZCBiYWNrc2xhc2hlcyBpbiBgd2luZG93c1BhdGhzTm9Fc2NhcGVgIG1vZGUpIGNhbm5vdCBiZSBlc2NhcGVkXG4gKiBvciB1bmVzY2FwZWQuXG4gKi9cbmV4cG9ydCBjb25zdCB1bmVzY2FwZSA9IChcbiAgczogc3RyaW5nLFxuICB7XG4gICAgd2luZG93c1BhdGhzTm9Fc2NhcGUgPSBmYWxzZSxcbiAgfTogUGljazxNaW5pbWF0Y2hPcHRpb25zLCAnd2luZG93c1BhdGhzTm9Fc2NhcGUnPiA9IHt9XG4pID0+IHtcbiAgcmV0dXJuIHdpbmRvd3NQYXRoc05vRXNjYXBlXG4gICAgPyBzLnJlcGxhY2UoL1xcWyhbXlxcL1xcXFxdKVxcXS9nLCAnJDEnKVxuICAgIDogcy5yZXBsYWNlKC8oKD8hXFxcXCkufF4pXFxbKFteXFwvXFxcXF0pXFxdL2csICckMSQyJykucmVwbGFjZSgvXFxcXChbXlxcL10pL2csICckMScpXG59XG4iLCAiLy8gcGFyc2UgYSBzaW5nbGUgcGF0aCBwb3J0aW9uXG5cbmltcG9ydCB7IHBhcnNlQ2xhc3MgfSBmcm9tICcuL2JyYWNlLWV4cHJlc3Npb25zLmpzJ1xuaW1wb3J0IHsgTWluaW1hdGNoT3B0aW9ucywgTU1SZWdFeHAgfSBmcm9tICcuL2luZGV4LmpzJ1xuaW1wb3J0IHsgdW5lc2NhcGUgfSBmcm9tICcuL3VuZXNjYXBlLmpzJ1xuXG4vLyBjbGFzc2VzIFtdIGFyZSBoYW5kbGVkIGJ5IHRoZSBwYXJzZUNsYXNzIG1ldGhvZFxuLy8gZm9yIHBvc2l0aXZlIGV4dGdsb2JzLCB3ZSBzdWItcGFyc2UgdGhlIGNvbnRlbnRzLCBhbmQgY29tYmluZSxcbi8vIHdpdGggdGhlIGFwcHJvcHJpYXRlIHJlZ2V4cCBjbG9zZS5cbi8vIGZvciBuZWdhdGl2ZSBleHRnbG9icywgd2Ugc3ViLXBhcnNlIHRoZSBjb250ZW50cywgYnV0IHRoZW5cbi8vIGhhdmUgdG8gaW5jbHVkZSB0aGUgcmVzdCBvZiB0aGUgcGF0dGVybiwgdGhlbiB0aGUgcGFyZW50LCBldGMuLFxuLy8gYXMgdGhlIHRoaW5nIHRoYXQgY2Fubm90IGJlIGJlY2F1c2UgUmVnRXhwIG5lZ2F0aXZlIGxvb2thaGVhZHNcbi8vIGFyZSBkaWZmZXJlbnQgZnJvbSBnbG9icy5cbi8vXG4vLyBTbyBmb3IgZXhhbXBsZTpcbi8vIGFAKGl8dyEoeHx5KXp8ailiID0+IF5hKGl8dygoIT8oeHx5KXpiKS4qKXp8ailiJFxuLy8gICAxICAgMiAzICAgNCA1IDYgICAgICAxICAgMiAgICAzICAgNDYgICAgICA1IDZcbi8vXG4vLyBBc3NlbWJsaW5nIHRoZSBleHRnbG9iIHJlcXVpcmVzIG5vdCBqdXN0IHRoZSBuZWdhdGVkIHBhdHRlcm5zIHRoZW1zZWx2ZXMsXG4vLyBidXQgYWxzbyBhbnl0aGluZyBmb2xsb3dpbmcgdGhlIG5lZ2F0aXZlIHBhdHRlcm5zIHVwIHRvIHRoZSBib3VuZGFyeVxuLy8gb2YgdGhlIGN1cnJlbnQgcGF0dGVybiwgcGx1cyBhbnl0aGluZyBmb2xsb3dpbmcgaW4gdGhlIHBhcmVudCBwYXR0ZXJuLlxuLy9cbi8vXG4vLyBTbywgZmlyc3QsIHdlIHBhcnNlIHRoZSBzdHJpbmcgaW50byBhbiBBU1Qgb2YgZXh0Z2xvYnMsIHdpdGhvdXQgdHVybmluZ1xuLy8gYW55dGhpbmcgaW50byByZWdleHBzIHlldC5cbi8vXG4vLyBbJ2EnLCB7QCBbWydpJ10sIFsndycsIHshWyd4JywgJ3knXX0sICd6J10sIFsnaiddXX0sICdiJ11cbi8vXG4vLyBUaGVuLCBmb3IgYWxsIHRoZSBuZWdhdGl2ZSBleHRnbG9icywgd2UgYXBwZW5kIHdoYXRldmVyIGNvbWVzIGFmdGVyIGluXG4vLyBlYWNoIHBhcmVudCBhcyB0aGVpciB0YWlsXG4vL1xuLy8gWydhJywge0AgW1snaSddLCBbJ3cnLCB7IVsneCcsICd5J10sICd6JywgJ2InfSwgJ3onXSwgWydqJ11dfSwgJ2InXVxuLy9cbi8vIExhc3RseSwgd2UgdHVybiBlYWNoIG9mIHRoZXNlIHBpZWNlcyBpbnRvIGEgcmVnZXhwLCBhbmQgam9pblxuLy9cbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdi0tLS0tIC4qIGJlY2F1c2UgdGhlcmUncyBtb3JlIGZvbGxvd2luZyxcbi8vICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdiAgICB2ICBvdGhlcndpc2UsIC4rIGJlY2F1c2UgaXQgbXVzdCBiZVxuLy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ICAgIHYgICpzb21ldGhpbmcqIHRoZXJlLlxuLy8gWydeYScsIHtAIFsnaScsICd3KD86KCE/KD86eHx5KS4qemIkKS4qKXonLCAnaicgXX0sICdiJCddXG4vLyAgIGNvcHkgd2hhdCBmb2xsb3dzIGludG8gaGVyZS0tXl5eXl5cbi8vIFsnXmEnLCAnKD86aXx3KD86KD8hKD86eHx5KS4qemIkKS4qKXp8aiknLCAnYiQnXVxuLy8gWydeYSg/Oml8dyg/Oig/ISg/Onh8eSkuKnpiJCkuKil6fGopYiQnXVxuXG5leHBvcnQgdHlwZSBFeHRnbG9iVHlwZSA9ICchJyB8ICc/JyB8ICcrJyB8ICcqJyB8ICdAJ1xuY29uc3QgdHlwZXMgPSBuZXcgU2V0PEV4dGdsb2JUeXBlPihbJyEnLCAnPycsICcrJywgJyonLCAnQCddKVxuY29uc3QgaXNFeHRnbG9iVHlwZSA9IChjOiBzdHJpbmcpOiBjIGlzIEV4dGdsb2JUeXBlID0+XG4gIHR5cGVzLmhhcyhjIGFzIEV4dGdsb2JUeXBlKVxuXG4vLyBQYXR0ZXJucyB0aGF0IGdldCBwcmVwZW5kZWQgdG8gYmluZCB0byB0aGUgc3RhcnQgb2YgZWl0aGVyIHRoZVxuLy8gZW50aXJlIHN0cmluZywgb3IganVzdCBhIHNpbmdsZSBwYXRoIHBvcnRpb24sIHRvIHByZXZlbnQgZG90c1xuLy8gYW5kL29yIHRyYXZlcnNhbCBwYXR0ZXJucywgd2hlbiBuZWVkZWQuXG4vLyBFeHRzIGRvbid0IG5lZWQgdGhlIF4gb3IgLyBiaXQsIGJlY2F1c2UgdGhlIHJvb3QgYmluZHMgdGhhdCBhbHJlYWR5LlxuY29uc3Qgc3RhcnROb1RyYXZlcnNhbCA9ICcoPyEoPzpefC8pXFxcXC5cXFxcLj8oPzokfC8pKSdcbmNvbnN0IHN0YXJ0Tm9Eb3QgPSAnKD8hXFxcXC4pJ1xuXG4vLyBjaGFyYWN0ZXJzIHRoYXQgaW5kaWNhdGUgYSBzdGFydCBvZiBwYXR0ZXJuIG5lZWRzIHRoZSBcIm5vIGRvdHNcIiBiaXQsXG4vLyBiZWNhdXNlIGEgZG90ICptaWdodCogYmUgbWF0Y2hlZC4gKCBpcyBub3QgaW4gdGhlIGxpc3QsIGJlY2F1c2UgaW5cbi8vIHRoZSBjYXNlIG9mIGEgY2hpbGQgZXh0Z2xvYiwgaXQgd2lsbCBoYW5kbGUgdGhlIHByZXZlbnRpb24gaXRzZWxmLlxuY29uc3QgYWRkUGF0dGVyblN0YXJ0ID0gbmV3IFNldChbJ1snLCAnLiddKVxuLy8gY2FzZXMgd2hlcmUgdHJhdmVyc2FsIGlzIEEtT0ssIG5vIGRvdCBwcmV2ZW50aW9uIG5lZWRlZFxuY29uc3QganVzdERvdHMgPSBuZXcgU2V0KFsnLi4nLCAnLiddKVxuY29uc3QgcmVTcGVjaWFscyA9IG5ldyBTZXQoJygpLip7fSs/W11eJFxcXFwhJylcbmNvbnN0IHJlZ0V4cEVzY2FwZSA9IChzOiBzdHJpbmcpID0+XG4gIHMucmVwbGFjZSgvWy1bXFxde30oKSorPy4sXFxcXF4kfCNcXHNdL2csICdcXFxcJCYnKVxuXG4vLyBhbnkgc2luZ2xlIHRoaW5nIG90aGVyIHRoYW4gL1xuY29uc3QgcW1hcmsgPSAnW14vXSdcblxuLy8gKiA9PiBhbnkgbnVtYmVyIG9mIGNoYXJhY3RlcnNcbmNvbnN0IHN0YXIgPSBxbWFyayArICcqPydcbi8vIHVzZSArIHdoZW4gd2UgbmVlZCB0byBlbnN1cmUgdGhhdCAqc29tZXRoaW5nKiBtYXRjaGVzLCBiZWNhdXNlIHRoZSAqIGlzXG4vLyB0aGUgb25seSB0aGluZyBpbiB0aGUgcGF0aCBwb3J0aW9uLlxuY29uc3Qgc3Rhck5vRW1wdHkgPSBxbWFyayArICcrPydcblxuLy8gcmVtb3ZlIHRoZSBcXCBjaGFycyB0aGF0IHdlIGFkZGVkIGlmIHdlIGVuZCB1cCBkb2luZyBhIG5vbm1hZ2ljIGNvbXBhcmVcbi8vIGNvbnN0IGRlc2xhc2ggPSAoczogc3RyaW5nKSA9PiBzLnJlcGxhY2UoL1xcXFwoLikvZywgJyQxJylcblxuZXhwb3J0IGNsYXNzIEFTVCB7XG4gIHR5cGU6IEV4dGdsb2JUeXBlIHwgbnVsbFxuICByZWFkb25seSAjcm9vdDogQVNUXG5cbiAgI2hhc01hZ2ljPzogYm9vbGVhblxuICAjdWZsYWc6IGJvb2xlYW4gPSBmYWxzZVxuICAjcGFydHM6IChzdHJpbmcgfCBBU1QpW10gPSBbXVxuICByZWFkb25seSAjcGFyZW50PzogQVNUXG4gIHJlYWRvbmx5ICNwYXJlbnRJbmRleDogbnVtYmVyXG4gICNuZWdzOiBBU1RbXVxuICAjZmlsbGVkTmVnczogYm9vbGVhbiA9IGZhbHNlXG4gICNvcHRpb25zOiBNaW5pbWF0Y2hPcHRpb25zXG4gICN0b1N0cmluZz86IHN0cmluZ1xuICAvLyBzZXQgdG8gdHJ1ZSBpZiBpdCdzIGFuIGV4dGdsb2Igd2l0aCBubyBjaGlsZHJlblxuICAvLyAod2hpY2ggcmVhbGx5IG1lYW5zIG9uZSBjaGlsZCBvZiAnJylcbiAgI2VtcHR5RXh0OiBib29sZWFuID0gZmFsc2VcblxuICBjb25zdHJ1Y3RvcihcbiAgICB0eXBlOiBFeHRnbG9iVHlwZSB8IG51bGwsXG4gICAgcGFyZW50PzogQVNULFxuICAgIG9wdGlvbnM6IE1pbmltYXRjaE9wdGlvbnMgPSB7fVxuICApIHtcbiAgICB0aGlzLnR5cGUgPSB0eXBlXG4gICAgLy8gZXh0Z2xvYnMgYXJlIGluaGVyZW50bHkgbWFnaWNhbFxuICAgIGlmICh0eXBlKSB0aGlzLiNoYXNNYWdpYyA9IHRydWVcbiAgICB0aGlzLiNwYXJlbnQgPSBwYXJlbnRcbiAgICB0aGlzLiNyb290ID0gdGhpcy4jcGFyZW50ID8gdGhpcy4jcGFyZW50LiNyb290IDogdGhpc1xuICAgIHRoaXMuI29wdGlvbnMgPSB0aGlzLiNyb290ID09PSB0aGlzID8gb3B0aW9ucyA6IHRoaXMuI3Jvb3QuI29wdGlvbnNcbiAgICB0aGlzLiNuZWdzID0gdGhpcy4jcm9vdCA9PT0gdGhpcyA/IFtdIDogdGhpcy4jcm9vdC4jbmVnc1xuICAgIGlmICh0eXBlID09PSAnIScgJiYgIXRoaXMuI3Jvb3QuI2ZpbGxlZE5lZ3MpIHRoaXMuI25lZ3MucHVzaCh0aGlzKVxuICAgIHRoaXMuI3BhcmVudEluZGV4ID0gdGhpcy4jcGFyZW50ID8gdGhpcy4jcGFyZW50LiNwYXJ0cy5sZW5ndGggOiAwXG4gIH1cblxuICBnZXQgaGFzTWFnaWMoKTogYm9vbGVhbiB8IHVuZGVmaW5lZCB7XG4gICAgLyogYzggaWdub3JlIHN0YXJ0ICovXG4gICAgaWYgKHRoaXMuI2hhc01hZ2ljICE9PSB1bmRlZmluZWQpIHJldHVybiB0aGlzLiNoYXNNYWdpY1xuICAgIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gICAgZm9yIChjb25zdCBwIG9mIHRoaXMuI3BhcnRzKSB7XG4gICAgICBpZiAodHlwZW9mIHAgPT09ICdzdHJpbmcnKSBjb250aW51ZVxuICAgICAgaWYgKHAudHlwZSB8fCBwLmhhc01hZ2ljKSByZXR1cm4gKHRoaXMuI2hhc01hZ2ljID0gdHJ1ZSlcbiAgICB9XG4gICAgLy8gbm90ZTogd2lsbCBiZSB1bmRlZmluZWQgdW50aWwgd2UgZ2VuZXJhdGUgdGhlIHJlZ2V4cCBzcmMgYW5kIGZpbmQgb3V0XG4gICAgcmV0dXJuIHRoaXMuI2hhc01hZ2ljXG4gIH1cblxuICAvLyByZWNvbnN0cnVjdHMgdGhlIHBhdHRlcm5cbiAgdG9TdHJpbmcoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy4jdG9TdHJpbmcgIT09IHVuZGVmaW5lZCkgcmV0dXJuIHRoaXMuI3RvU3RyaW5nXG4gICAgaWYgKCF0aGlzLnR5cGUpIHtcbiAgICAgIHJldHVybiAodGhpcy4jdG9TdHJpbmcgPSB0aGlzLiNwYXJ0cy5tYXAocCA9PiBTdHJpbmcocCkpLmpvaW4oJycpKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gKHRoaXMuI3RvU3RyaW5nID1cbiAgICAgICAgdGhpcy50eXBlICsgJygnICsgdGhpcy4jcGFydHMubWFwKHAgPT4gU3RyaW5nKHApKS5qb2luKCd8JykgKyAnKScpXG4gICAgfVxuICB9XG5cbiAgI2ZpbGxOZWdzKCkge1xuICAgIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICAgIGlmICh0aGlzICE9PSB0aGlzLiNyb290KSB0aHJvdyBuZXcgRXJyb3IoJ3Nob3VsZCBvbmx5IGNhbGwgb24gcm9vdCcpXG4gICAgaWYgKHRoaXMuI2ZpbGxlZE5lZ3MpIHJldHVybiB0aGlzXG4gICAgLyogYzggaWdub3JlIHN0b3AgKi9cblxuICAgIC8vIGNhbGwgdG9TdHJpbmcoKSBvbmNlIHRvIGZpbGwgdGhpcyBvdXRcbiAgICB0aGlzLnRvU3RyaW5nKClcbiAgICB0aGlzLiNmaWxsZWROZWdzID0gdHJ1ZVxuICAgIGxldCBuOiBBU1QgfCB1bmRlZmluZWRcbiAgICB3aGlsZSAoKG4gPSB0aGlzLiNuZWdzLnBvcCgpKSkge1xuICAgICAgaWYgKG4udHlwZSAhPT0gJyEnKSBjb250aW51ZVxuICAgICAgLy8gd2FsayB1cCB0aGUgdHJlZSwgYXBwZW5kaW5nIGV2ZXJ0aGluZyB0aGF0IGNvbWVzIEFGVEVSIHBhcmVudEluZGV4XG4gICAgICBsZXQgcDogQVNUIHwgdW5kZWZpbmVkID0gblxuICAgICAgbGV0IHBwID0gcC4jcGFyZW50XG4gICAgICB3aGlsZSAocHApIHtcbiAgICAgICAgZm9yIChcbiAgICAgICAgICBsZXQgaSA9IHAuI3BhcmVudEluZGV4ICsgMTtcbiAgICAgICAgICAhcHAudHlwZSAmJiBpIDwgcHAuI3BhcnRzLmxlbmd0aDtcbiAgICAgICAgICBpKytcbiAgICAgICAgKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBwYXJ0IG9mIG4uI3BhcnRzKSB7XG4gICAgICAgICAgICAvKiBjOCBpZ25vcmUgc3RhcnQgKi9cbiAgICAgICAgICAgIGlmICh0eXBlb2YgcGFydCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdzdHJpbmcgcGFydCBpbiBleHRnbG9iIEFTVD8/JylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gICAgICAgICAgICBwYXJ0LmNvcHlJbihwcC4jcGFydHNbaV0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHAgPSBwcFxuICAgICAgICBwcCA9IHAuI3BhcmVudFxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgcHVzaCguLi5wYXJ0czogKHN0cmluZyB8IEFTVClbXSkge1xuICAgIGZvciAoY29uc3QgcCBvZiBwYXJ0cykge1xuICAgICAgaWYgKHAgPT09ICcnKSBjb250aW51ZVxuICAgICAgLyogYzggaWdub3JlIHN0YXJ0ICovXG4gICAgICBpZiAodHlwZW9mIHAgIT09ICdzdHJpbmcnICYmICEocCBpbnN0YW5jZW9mIEFTVCAmJiBwLiNwYXJlbnQgPT09IHRoaXMpKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignaW52YWxpZCBwYXJ0OiAnICsgcClcbiAgICAgIH1cbiAgICAgIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gICAgICB0aGlzLiNwYXJ0cy5wdXNoKHApXG4gICAgfVxuICB9XG5cbiAgdG9KU09OKCkge1xuICAgIGNvbnN0IHJldDogYW55W10gPVxuICAgICAgdGhpcy50eXBlID09PSBudWxsXG4gICAgICAgID8gdGhpcy4jcGFydHMuc2xpY2UoKS5tYXAocCA9PiAodHlwZW9mIHAgPT09ICdzdHJpbmcnID8gcCA6IHAudG9KU09OKCkpKVxuICAgICAgICA6IFt0aGlzLnR5cGUsIC4uLnRoaXMuI3BhcnRzLm1hcChwID0+IChwIGFzIEFTVCkudG9KU09OKCkpXVxuICAgIGlmICh0aGlzLmlzU3RhcnQoKSAmJiAhdGhpcy50eXBlKSByZXQudW5zaGlmdChbXSlcbiAgICBpZiAoXG4gICAgICB0aGlzLmlzRW5kKCkgJiZcbiAgICAgICh0aGlzID09PSB0aGlzLiNyb290IHx8XG4gICAgICAgICh0aGlzLiNyb290LiNmaWxsZWROZWdzICYmIHRoaXMuI3BhcmVudD8udHlwZSA9PT0gJyEnKSlcbiAgICApIHtcbiAgICAgIHJldC5wdXNoKHt9KVxuICAgIH1cbiAgICByZXR1cm4gcmV0XG4gIH1cblxuICBpc1N0YXJ0KCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLiNyb290ID09PSB0aGlzKSByZXR1cm4gdHJ1ZVxuICAgIC8vIGlmICh0aGlzLnR5cGUpIHJldHVybiAhIXRoaXMuI3BhcmVudD8uaXNTdGFydCgpXG4gICAgaWYgKCF0aGlzLiNwYXJlbnQ/LmlzU3RhcnQoKSkgcmV0dXJuIGZhbHNlXG4gICAgaWYgKHRoaXMuI3BhcmVudEluZGV4ID09PSAwKSByZXR1cm4gdHJ1ZVxuICAgIC8vIGlmIGV2ZXJ5dGhpbmcgQUhFQUQgb2YgdGhpcyBpcyBhIG5lZ2F0aW9uLCB0aGVuIGl0J3Mgc3RpbGwgdGhlIFwic3RhcnRcIlxuICAgIGNvbnN0IHAgPSB0aGlzLiNwYXJlbnRcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuI3BhcmVudEluZGV4OyBpKyspIHtcbiAgICAgIGNvbnN0IHBwID0gcC4jcGFydHNbaV1cbiAgICAgIGlmICghKHBwIGluc3RhbmNlb2YgQVNUICYmIHBwLnR5cGUgPT09ICchJykpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBpc0VuZCgpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy4jcm9vdCA9PT0gdGhpcykgcmV0dXJuIHRydWVcbiAgICBpZiAodGhpcy4jcGFyZW50Py50eXBlID09PSAnIScpIHJldHVybiB0cnVlXG4gICAgaWYgKCF0aGlzLiNwYXJlbnQ/LmlzRW5kKCkpIHJldHVybiBmYWxzZVxuICAgIGlmICghdGhpcy50eXBlKSByZXR1cm4gdGhpcy4jcGFyZW50Py5pc0VuZCgpXG4gICAgLy8gaWYgbm90IHJvb3QsIGl0J2xsIGFsd2F5cyBoYXZlIGEgcGFyZW50XG4gICAgLyogYzggaWdub3JlIHN0YXJ0ICovXG4gICAgY29uc3QgcGwgPSB0aGlzLiNwYXJlbnQgPyB0aGlzLiNwYXJlbnQuI3BhcnRzLmxlbmd0aCA6IDBcbiAgICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuICAgIHJldHVybiB0aGlzLiNwYXJlbnRJbmRleCA9PT0gcGwgLSAxXG4gIH1cblxuICBjb3B5SW4ocGFydDogQVNUIHwgc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBwYXJ0ID09PSAnc3RyaW5nJykgdGhpcy5wdXNoKHBhcnQpXG4gICAgZWxzZSB0aGlzLnB1c2gocGFydC5jbG9uZSh0aGlzKSlcbiAgfVxuXG4gIGNsb25lKHBhcmVudDogQVNUKSB7XG4gICAgY29uc3QgYyA9IG5ldyBBU1QodGhpcy50eXBlLCBwYXJlbnQpXG4gICAgZm9yIChjb25zdCBwIG9mIHRoaXMuI3BhcnRzKSB7XG4gICAgICBjLmNvcHlJbihwKVxuICAgIH1cbiAgICByZXR1cm4gY1xuICB9XG5cbiAgc3RhdGljICNwYXJzZUFTVChcbiAgICBzdHI6IHN0cmluZyxcbiAgICBhc3Q6IEFTVCxcbiAgICBwb3M6IG51bWJlcixcbiAgICBvcHQ6IE1pbmltYXRjaE9wdGlvbnNcbiAgKTogbnVtYmVyIHtcbiAgICBsZXQgZXNjYXBpbmcgPSBmYWxzZVxuICAgIGxldCBpbkJyYWNlID0gZmFsc2VcbiAgICBsZXQgYnJhY2VTdGFydCA9IC0xXG4gICAgbGV0IGJyYWNlTmVnID0gZmFsc2VcbiAgICBpZiAoYXN0LnR5cGUgPT09IG51bGwpIHtcbiAgICAgIC8vIG91dHNpZGUgb2YgYSBleHRnbG9iLCBhcHBlbmQgdW50aWwgd2UgZmluZCBhIHN0YXJ0XG4gICAgICBsZXQgaSA9IHBvc1xuICAgICAgbGV0IGFjYyA9ICcnXG4gICAgICB3aGlsZSAoaSA8IHN0ci5sZW5ndGgpIHtcbiAgICAgICAgY29uc3QgYyA9IHN0ci5jaGFyQXQoaSsrKVxuICAgICAgICAvLyBzdGlsbCBhY2N1bXVsYXRlIGVzY2FwZXMgYXQgdGhpcyBwb2ludCwgYnV0IHdlIGRvIGlnbm9yZVxuICAgICAgICAvLyBzdGFydHMgdGhhdCBhcmUgZXNjYXBlZFxuICAgICAgICBpZiAoZXNjYXBpbmcgfHwgYyA9PT0gJ1xcXFwnKSB7XG4gICAgICAgICAgZXNjYXBpbmcgPSAhZXNjYXBpbmdcbiAgICAgICAgICBhY2MgKz0gY1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaW5CcmFjZSkge1xuICAgICAgICAgIGlmIChpID09PSBicmFjZVN0YXJ0ICsgMSkge1xuICAgICAgICAgICAgaWYgKGMgPT09ICdeJyB8fCBjID09PSAnIScpIHtcbiAgICAgICAgICAgICAgYnJhY2VOZWcgPSB0cnVlXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSBlbHNlIGlmIChjID09PSAnXScgJiYgIShpID09PSBicmFjZVN0YXJ0ICsgMiAmJiBicmFjZU5lZykpIHtcbiAgICAgICAgICAgIGluQnJhY2UgPSBmYWxzZVxuICAgICAgICAgIH1cbiAgICAgICAgICBhY2MgKz0gY1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH0gZWxzZSBpZiAoYyA9PT0gJ1snKSB7XG4gICAgICAgICAgaW5CcmFjZSA9IHRydWVcbiAgICAgICAgICBicmFjZVN0YXJ0ID0gaVxuICAgICAgICAgIGJyYWNlTmVnID0gZmFsc2VcbiAgICAgICAgICBhY2MgKz0gY1xuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIW9wdC5ub2V4dCAmJiBpc0V4dGdsb2JUeXBlKGMpICYmIHN0ci5jaGFyQXQoaSkgPT09ICcoJykge1xuICAgICAgICAgIGFzdC5wdXNoKGFjYylcbiAgICAgICAgICBhY2MgPSAnJ1xuICAgICAgICAgIGNvbnN0IGV4dCA9IG5ldyBBU1QoYywgYXN0KVxuICAgICAgICAgIGkgPSBBU1QuI3BhcnNlQVNUKHN0ciwgZXh0LCBpLCBvcHQpXG4gICAgICAgICAgYXN0LnB1c2goZXh0KVxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH1cbiAgICAgICAgYWNjICs9IGNcbiAgICAgIH1cbiAgICAgIGFzdC5wdXNoKGFjYylcbiAgICAgIHJldHVybiBpXG4gICAgfVxuXG4gICAgLy8gc29tZSBraW5kIG9mIGV4dGdsb2IsIHBvcyBpcyBhdCB0aGUgKFxuICAgIC8vIGZpbmQgdGhlIG5leHQgfCBvciApXG4gICAgbGV0IGkgPSBwb3MgKyAxXG4gICAgbGV0IHBhcnQgPSBuZXcgQVNUKG51bGwsIGFzdClcbiAgICBjb25zdCBwYXJ0czogQVNUW10gPSBbXVxuICAgIGxldCBhY2MgPSAnJ1xuICAgIHdoaWxlIChpIDwgc3RyLmxlbmd0aCkge1xuICAgICAgY29uc3QgYyA9IHN0ci5jaGFyQXQoaSsrKVxuICAgICAgLy8gc3RpbGwgYWNjdW11bGF0ZSBlc2NhcGVzIGF0IHRoaXMgcG9pbnQsIGJ1dCB3ZSBkbyBpZ25vcmVcbiAgICAgIC8vIHN0YXJ0cyB0aGF0IGFyZSBlc2NhcGVkXG4gICAgICBpZiAoZXNjYXBpbmcgfHwgYyA9PT0gJ1xcXFwnKSB7XG4gICAgICAgIGVzY2FwaW5nID0gIWVzY2FwaW5nXG4gICAgICAgIGFjYyArPSBjXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG5cbiAgICAgIGlmIChpbkJyYWNlKSB7XG4gICAgICAgIGlmIChpID09PSBicmFjZVN0YXJ0ICsgMSkge1xuICAgICAgICAgIGlmIChjID09PSAnXicgfHwgYyA9PT0gJyEnKSB7XG4gICAgICAgICAgICBicmFjZU5lZyA9IHRydWVcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoYyA9PT0gJ10nICYmICEoaSA9PT0gYnJhY2VTdGFydCArIDIgJiYgYnJhY2VOZWcpKSB7XG4gICAgICAgICAgaW5CcmFjZSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgICAgYWNjICs9IGNcbiAgICAgICAgY29udGludWVcbiAgICAgIH0gZWxzZSBpZiAoYyA9PT0gJ1snKSB7XG4gICAgICAgIGluQnJhY2UgPSB0cnVlXG4gICAgICAgIGJyYWNlU3RhcnQgPSBpXG4gICAgICAgIGJyYWNlTmVnID0gZmFsc2VcbiAgICAgICAgYWNjICs9IGNcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgaWYgKGlzRXh0Z2xvYlR5cGUoYykgJiYgc3RyLmNoYXJBdChpKSA9PT0gJygnKSB7XG4gICAgICAgIHBhcnQucHVzaChhY2MpXG4gICAgICAgIGFjYyA9ICcnXG4gICAgICAgIGNvbnN0IGV4dCA9IG5ldyBBU1QoYywgcGFydClcbiAgICAgICAgcGFydC5wdXNoKGV4dClcbiAgICAgICAgaSA9IEFTVC4jcGFyc2VBU1Qoc3RyLCBleHQsIGksIG9wdClcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIGlmIChjID09PSAnfCcpIHtcbiAgICAgICAgcGFydC5wdXNoKGFjYylcbiAgICAgICAgYWNjID0gJydcbiAgICAgICAgcGFydHMucHVzaChwYXJ0KVxuICAgICAgICBwYXJ0ID0gbmV3IEFTVChudWxsLCBhc3QpXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoYyA9PT0gJyknKSB7XG4gICAgICAgIGlmIChhY2MgPT09ICcnICYmIGFzdC4jcGFydHMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgYXN0LiNlbXB0eUV4dCA9IHRydWVcbiAgICAgICAgfVxuICAgICAgICBwYXJ0LnB1c2goYWNjKVxuICAgICAgICBhY2MgPSAnJ1xuICAgICAgICBhc3QucHVzaCguLi5wYXJ0cywgcGFydClcbiAgICAgICAgcmV0dXJuIGlcbiAgICAgIH1cbiAgICAgIGFjYyArPSBjXG4gICAgfVxuXG4gICAgLy8gdW5maW5pc2hlZCBleHRnbG9iXG4gICAgLy8gaWYgd2UgZ290IGhlcmUsIGl0IHdhcyBhIG1hbGZvcm1lZCBleHRnbG9iISBub3QgYW4gZXh0Z2xvYiwgYnV0XG4gICAgLy8gbWF5YmUgc29tZXRoaW5nIGVsc2UgaW4gdGhlcmUuXG4gICAgYXN0LnR5cGUgPSBudWxsXG4gICAgYXN0LiNoYXNNYWdpYyA9IHVuZGVmaW5lZFxuICAgIGFzdC4jcGFydHMgPSBbc3RyLnN1YnN0cmluZyhwb3MgLSAxKV1cbiAgICByZXR1cm4gaVxuICB9XG5cbiAgc3RhdGljIGZyb21HbG9iKHBhdHRlcm46IHN0cmluZywgb3B0aW9uczogTWluaW1hdGNoT3B0aW9ucyA9IHt9KSB7XG4gICAgY29uc3QgYXN0ID0gbmV3IEFTVChudWxsLCB1bmRlZmluZWQsIG9wdGlvbnMpXG4gICAgQVNULiNwYXJzZUFTVChwYXR0ZXJuLCBhc3QsIDAsIG9wdGlvbnMpXG4gICAgcmV0dXJuIGFzdFxuICB9XG5cbiAgLy8gcmV0dXJucyB0aGUgcmVndWxhciBleHByZXNzaW9uIGlmIHRoZXJlJ3MgbWFnaWMsIG9yIHRoZSB1bmVzY2FwZWRcbiAgLy8gc3RyaW5nIGlmIG5vdC5cbiAgdG9NTVBhdHRlcm4oKTogTU1SZWdFeHAgfCBzdHJpbmcge1xuICAgIC8vIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBvbiByb290XG4gICAgLyogYzggaWdub3JlIHN0YXJ0ICovXG4gICAgaWYgKHRoaXMgIT09IHRoaXMuI3Jvb3QpIHJldHVybiB0aGlzLiNyb290LnRvTU1QYXR0ZXJuKClcbiAgICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuICAgIGNvbnN0IGdsb2IgPSB0aGlzLnRvU3RyaW5nKClcbiAgICBjb25zdCBbcmUsIGJvZHksIGhhc01hZ2ljLCB1ZmxhZ10gPSB0aGlzLnRvUmVnRXhwU291cmNlKClcbiAgICAvLyBpZiB3ZSdyZSBpbiBub2Nhc2UgbW9kZSwgYW5kIG5vdCBub2Nhc2VNYWdpY09ubHksIHRoZW4gd2UgZG9cbiAgICAvLyBzdGlsbCBuZWVkIGEgcmVndWxhciBleHByZXNzaW9uIGlmIHdlIGhhdmUgdG8gY2FzZS1pbnNlbnNpdGl2ZWx5XG4gICAgLy8gbWF0Y2ggY2FwaXRhbC9sb3dlcmNhc2UgY2hhcmFjdGVycy5cbiAgICBjb25zdCBhbnlNYWdpYyA9XG4gICAgICBoYXNNYWdpYyB8fFxuICAgICAgdGhpcy4jaGFzTWFnaWMgfHxcbiAgICAgICh0aGlzLiNvcHRpb25zLm5vY2FzZSAmJlxuICAgICAgICAhdGhpcy4jb3B0aW9ucy5ub2Nhc2VNYWdpY09ubHkgJiZcbiAgICAgICAgZ2xvYi50b1VwcGVyQ2FzZSgpICE9PSBnbG9iLnRvTG93ZXJDYXNlKCkpXG4gICAgaWYgKCFhbnlNYWdpYykge1xuICAgICAgcmV0dXJuIGJvZHlcbiAgICB9XG5cbiAgICBjb25zdCBmbGFncyA9ICh0aGlzLiNvcHRpb25zLm5vY2FzZSA/ICdpJyA6ICcnKSArICh1ZmxhZyA/ICd1JyA6ICcnKVxuICAgIHJldHVybiBPYmplY3QuYXNzaWduKG5ldyBSZWdFeHAoYF4ke3JlfSRgLCBmbGFncyksIHtcbiAgICAgIF9zcmM6IHJlLFxuICAgICAgX2dsb2I6IGdsb2IsXG4gICAgfSlcbiAgfVxuXG4gIGdldCBvcHRpb25zKCkge1xuICAgIHJldHVybiB0aGlzLiNvcHRpb25zXG4gIH1cblxuICAvLyByZXR1cm5zIHRoZSBzdHJpbmcgbWF0Y2gsIHRoZSByZWdleHAgc291cmNlLCB3aGV0aGVyIHRoZXJlJ3MgbWFnaWNcbiAgLy8gaW4gdGhlIHJlZ2V4cCAoc28gYSByZWd1bGFyIGV4cHJlc3Npb24gaXMgcmVxdWlyZWQpIGFuZCB3aGV0aGVyIG9yXG4gIC8vIG5vdCB0aGUgdWZsYWcgaXMgbmVlZGVkIGZvciB0aGUgcmVndWxhciBleHByZXNzaW9uIChmb3IgcG9zaXggY2xhc3NlcylcbiAgLy8gVE9ETzogaW5zdGVhZCBvZiBpbmplY3RpbmcgdGhlIHN0YXJ0L2VuZCBhdCB0aGlzIHBvaW50LCBqdXN0IHJldHVyblxuICAvLyB0aGUgQk9EWSBvZiB0aGUgcmVnZXhwLCBhbG9uZyB3aXRoIHRoZSBzdGFydC9lbmQgcG9ydGlvbnMgc3VpdGFibGVcbiAgLy8gZm9yIGJpbmRpbmcgdGhlIHN0YXJ0L2VuZCBpbiBlaXRoZXIgYSBqb2luZWQgZnVsbC1wYXRoIG1ha2VSZSBjb250ZXh0XG4gIC8vICh3aGVyZSB3ZSBiaW5kIHRvIChefC8pLCBvciBhIHN0YW5kYWxvbmUgbWF0Y2hQYXJ0IGNvbnRleHQgKHdoZXJlXG4gIC8vIHdlIGJpbmQgdG8gXiwgYW5kIG5vdCAvKS4gIE90aGVyd2lzZSBzbGFzaGVzIGdldCBkdXBlZCFcbiAgLy9cbiAgLy8gSW4gcGFydC1tYXRjaGluZyBtb2RlLCB0aGUgc3RhcnQgaXM6XG4gIC8vIC0gaWYgbm90IGlzU3RhcnQ6IG5vdGhpbmdcbiAgLy8gLSBpZiB0cmF2ZXJzYWwgcG9zc2libGUsIGJ1dCBub3QgYWxsb3dlZDogXig/IVxcLlxcLj8kKVxuICAvLyAtIGlmIGRvdHMgYWxsb3dlZCBvciBub3QgcG9zc2libGU6IF5cbiAgLy8gLSBpZiBkb3RzIHBvc3NpYmxlIGFuZCBub3QgYWxsb3dlZDogXig/IVxcLilcbiAgLy8gZW5kIGlzOlxuICAvLyAtIGlmIG5vdCBpc0VuZCgpOiBub3RoaW5nXG4gIC8vIC0gZWxzZTogJFxuICAvL1xuICAvLyBJbiBmdWxsLXBhdGggbWF0Y2hpbmcgbW9kZSwgd2UgcHV0IHRoZSBzbGFzaCBhdCB0aGUgU1RBUlQgb2YgdGhlXG4gIC8vIHBhdHRlcm4sIHNvIHN0YXJ0IGlzOlxuICAvLyAtIGlmIGZpcnN0IHBhdHRlcm46IHNhbWUgYXMgcGFydC1tYXRjaGluZyBtb2RlXG4gIC8vIC0gaWYgbm90IGlzU3RhcnQoKTogbm90aGluZ1xuICAvLyAtIGlmIHRyYXZlcnNhbCBwb3NzaWJsZSwgYnV0IG5vdCBhbGxvd2VkOiAvKD8hXFwuXFwuPyg/OiR8LykpXG4gIC8vIC0gaWYgZG90cyBhbGxvd2VkIG9yIG5vdCBwb3NzaWJsZTogL1xuICAvLyAtIGlmIGRvdHMgcG9zc2libGUgYW5kIG5vdCBhbGxvd2VkOiAvKD8hXFwuKVxuICAvLyBlbmQgaXM6XG4gIC8vIC0gaWYgbGFzdCBwYXR0ZXJuLCBzYW1lIGFzIHBhcnQtbWF0Y2hpbmcgbW9kZVxuICAvLyAtIGVsc2Ugbm90aGluZ1xuICAvL1xuICAvLyBBbHdheXMgcHV0IHRoZSAoPzokfC8pIG9uIG5lZ2F0ZWQgdGFpbHMsIHRob3VnaCwgYmVjYXVzZSB0aGF0IGhhcyB0byBiZVxuICAvLyB0aGVyZSB0byBiaW5kIHRoZSBlbmQgb2YgdGhlIG5lZ2F0ZWQgcGF0dGVybiBwb3J0aW9uLCBhbmQgaXQncyBlYXNpZXIgdG9cbiAgLy8ganVzdCBzdGljayBpdCBpbiBub3cgcmF0aGVyIHRoYW4gdHJ5IHRvIGluamVjdCBpdCBsYXRlciBpbiB0aGUgbWlkZGxlIG9mXG4gIC8vIHRoZSBwYXR0ZXJuLlxuICAvL1xuICAvLyBXZSBjYW4ganVzdCBhbHdheXMgcmV0dXJuIHRoZSBzYW1lIGVuZCwgYW5kIGxlYXZlIGl0IHVwIHRvIHRoZSBjYWxsZXJcbiAgLy8gdG8ga25vdyB3aGV0aGVyIGl0J3MgZ29pbmcgdG8gYmUgdXNlZCBqb2luZWQgb3IgaW4gcGFydHMuXG4gIC8vIEFuZCwgaWYgdGhlIHN0YXJ0IGlzIGFkanVzdGVkIHNsaWdodGx5LCBjYW4gZG8gdGhlIHNhbWUgdGhlcmU6XG4gIC8vIC0gaWYgbm90IGlzU3RhcnQ6IG5vdGhpbmdcbiAgLy8gLSBpZiB0cmF2ZXJzYWwgcG9zc2libGUsIGJ1dCBub3QgYWxsb3dlZDogKD86L3xeKSg/IVxcLlxcLj8kKVxuICAvLyAtIGlmIGRvdHMgYWxsb3dlZCBvciBub3QgcG9zc2libGU6ICg/Oi98XilcbiAgLy8gLSBpZiBkb3RzIHBvc3NpYmxlIGFuZCBub3QgYWxsb3dlZDogKD86L3xeKSg/IVxcLilcbiAgLy9cbiAgLy8gQnV0IGl0J3MgYmV0dGVyIHRvIGhhdmUgYSBzaW1wbGVyIGJpbmRpbmcgd2l0aG91dCBhIGNvbmRpdGlvbmFsLCBmb3JcbiAgLy8gcGVyZm9ybWFuY2UsIHNvIHByb2JhYmx5IGJldHRlciB0byByZXR1cm4gYm90aCBzdGFydCBvcHRpb25zLlxuICAvL1xuICAvLyBUaGVuIHRoZSBjYWxsZXIganVzdCBpZ25vcmVzIHRoZSBlbmQgaWYgaXQncyBub3QgdGhlIGZpcnN0IHBhdHRlcm4sXG4gIC8vIGFuZCB0aGUgc3RhcnQgYWx3YXlzIGdldHMgYXBwbGllZC5cbiAgLy9cbiAgLy8gQnV0IHRoYXQncyBhbHdheXMgZ29pbmcgdG8gYmUgJCBpZiBpdCdzIHRoZSBlbmRpbmcgcGF0dGVybiwgb3Igbm90aGluZyxcbiAgLy8gc28gdGhlIGNhbGxlciBjYW4ganVzdCBhdHRhY2ggJCBhdCB0aGUgZW5kIG9mIHRoZSBwYXR0ZXJuIHdoZW4gYnVpbGRpbmcuXG4gIC8vXG4gIC8vIFNvIHRoZSB0b2RvIGlzOlxuICAvLyAtIGJldHRlciBkZXRlY3Qgd2hhdCBraW5kIG9mIHN0YXJ0IGlzIG5lZWRlZFxuICAvLyAtIHJldHVybiBib3RoIGZsYXZvcnMgb2Ygc3RhcnRpbmcgcGF0dGVyblxuICAvLyAtIGF0dGFjaCAkIGF0IHRoZSBlbmQgb2YgdGhlIHBhdHRlcm4gd2hlbiBjcmVhdGluZyB0aGUgYWN0dWFsIFJlZ0V4cFxuICAvL1xuICAvLyBBaCwgYnV0IHdhaXQsIG5vLCB0aGF0IGFsbCBvbmx5IGFwcGxpZXMgdG8gdGhlIHJvb3Qgd2hlbiB0aGUgZmlyc3QgcGF0dGVyblxuICAvLyBpcyBub3QgYW4gZXh0Z2xvYi4gSWYgdGhlIGZpcnN0IHBhdHRlcm4gSVMgYW4gZXh0Z2xvYiwgdGhlbiB3ZSBuZWVkIGFsbFxuICAvLyB0aGF0IGRvdCBwcmV2ZW50aW9uIGJpeiB0byBsaXZlIGluIHRoZSBleHRnbG9iIHBvcnRpb25zLCBiZWNhdXNlIGVnXG4gIC8vICsoKnwueCopIGNhbiBtYXRjaCAueHkgYnV0IG5vdCAueXguXG4gIC8vXG4gIC8vIFNvLCByZXR1cm4gdGhlIHR3byBmbGF2b3JzIGlmIGl0J3MgI3Jvb3QgYW5kIHRoZSBmaXJzdCBjaGlsZCBpcyBub3QgYW5cbiAgLy8gQVNULCBvdGhlcndpc2UgbGVhdmUgaXQgdG8gdGhlIGNoaWxkIEFTVCB0byBoYW5kbGUgaXQsIGFuZCB0aGVyZSxcbiAgLy8gdXNlIHRoZSAoPzpefC8pIHN0eWxlIG9mIHN0YXJ0IGJpbmRpbmcuXG4gIC8vXG4gIC8vIEV2ZW4gc2ltcGxpZmllZCBmdXJ0aGVyOlxuICAvLyAtIFNpbmNlIHRoZSBzdGFydCBmb3IgYSBqb2luIGlzIGVnIC8oPyFcXC4pIGFuZCB0aGUgc3RhcnQgZm9yIGEgcGFydFxuICAvLyBpcyBeKD8hXFwuKSwgd2UgY2FuIGp1c3QgcHJlcGVuZCAoPyFcXC4pIHRvIHRoZSBwYXR0ZXJuIChlaXRoZXIgcm9vdFxuICAvLyBvciBzdGFydCBvciB3aGF0ZXZlcikgYW5kIHByZXBlbmQgXiBvciAvIGF0IHRoZSBSZWdleHAgY29uc3RydWN0aW9uLlxuICB0b1JlZ0V4cFNvdXJjZShcbiAgICBhbGxvd0RvdD86IGJvb2xlYW5cbiAgKTogW3JlOiBzdHJpbmcsIGJvZHk6IHN0cmluZywgaGFzTWFnaWM6IGJvb2xlYW4sIHVmbGFnOiBib29sZWFuXSB7XG4gICAgY29uc3QgZG90ID0gYWxsb3dEb3QgPz8gISF0aGlzLiNvcHRpb25zLmRvdFxuICAgIGlmICh0aGlzLiNyb290ID09PSB0aGlzKSB0aGlzLiNmaWxsTmVncygpXG4gICAgaWYgKCF0aGlzLnR5cGUpIHtcbiAgICAgIGNvbnN0IG5vRW1wdHkgPSB0aGlzLmlzU3RhcnQoKSAmJiB0aGlzLmlzRW5kKClcbiAgICAgIGNvbnN0IHNyYyA9IHRoaXMuI3BhcnRzXG4gICAgICAgIC5tYXAocCA9PiB7XG4gICAgICAgICAgY29uc3QgW3JlLCBfLCBoYXNNYWdpYywgdWZsYWddID1cbiAgICAgICAgICAgIHR5cGVvZiBwID09PSAnc3RyaW5nJ1xuICAgICAgICAgICAgICA/IEFTVC4jcGFyc2VHbG9iKHAsIHRoaXMuI2hhc01hZ2ljLCBub0VtcHR5KVxuICAgICAgICAgICAgICA6IHAudG9SZWdFeHBTb3VyY2UoYWxsb3dEb3QpXG4gICAgICAgICAgdGhpcy4jaGFzTWFnaWMgPSB0aGlzLiNoYXNNYWdpYyB8fCBoYXNNYWdpY1xuICAgICAgICAgIHRoaXMuI3VmbGFnID0gdGhpcy4jdWZsYWcgfHwgdWZsYWdcbiAgICAgICAgICByZXR1cm4gcmVcbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oJycpXG5cbiAgICAgIGxldCBzdGFydCA9ICcnXG4gICAgICBpZiAodGhpcy5pc1N0YXJ0KCkpIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLiNwYXJ0c1swXSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAvLyB0aGlzIGlzIHRoZSBzdHJpbmcgdGhhdCB3aWxsIG1hdGNoIHRoZSBzdGFydCBvZiB0aGUgcGF0dGVybixcbiAgICAgICAgICAvLyBzbyB3ZSBuZWVkIHRvIHByb3RlY3QgYWdhaW5zdCBkb3RzIGFuZCBzdWNoLlxuXG4gICAgICAgICAgLy8gJy4nIGFuZCAnLi4nIGNhbm5vdCBtYXRjaCB1bmxlc3MgdGhlIHBhdHRlcm4gaXMgdGhhdCBleGFjdGx5LFxuICAgICAgICAgIC8vIGV2ZW4gaWYgaXQgc3RhcnRzIHdpdGggLiBvciBkb3Q6dHJ1ZSBpcyBzZXQuXG4gICAgICAgICAgY29uc3QgZG90VHJhdkFsbG93ZWQgPVxuICAgICAgICAgICAgdGhpcy4jcGFydHMubGVuZ3RoID09PSAxICYmIGp1c3REb3RzLmhhcyh0aGlzLiNwYXJ0c1swXSlcbiAgICAgICAgICBpZiAoIWRvdFRyYXZBbGxvd2VkKSB7XG4gICAgICAgICAgICBjb25zdCBhcHMgPSBhZGRQYXR0ZXJuU3RhcnRcbiAgICAgICAgICAgIC8vIGNoZWNrIGlmIHdlIGhhdmUgYSBwb3NzaWJpbGl0eSBvZiBtYXRjaGluZyAuIG9yIC4uLFxuICAgICAgICAgICAgLy8gYW5kIHByZXZlbnQgdGhhdC5cbiAgICAgICAgICAgIGNvbnN0IG5lZWROb1RyYXYgPVxuICAgICAgICAgICAgICAvLyBkb3RzIGFyZSBhbGxvd2VkLCBhbmQgdGhlIHBhdHRlcm4gc3RhcnRzIHdpdGggWyBvciAuXG4gICAgICAgICAgICAgIChkb3QgJiYgYXBzLmhhcyhzcmMuY2hhckF0KDApKSkgfHxcbiAgICAgICAgICAgICAgLy8gdGhlIHBhdHRlcm4gc3RhcnRzIHdpdGggXFwuLCBhbmQgdGhlbiBbIG9yIC5cbiAgICAgICAgICAgICAgKHNyYy5zdGFydHNXaXRoKCdcXFxcLicpICYmIGFwcy5oYXMoc3JjLmNoYXJBdCgyKSkpIHx8XG4gICAgICAgICAgICAgIC8vIHRoZSBwYXR0ZXJuIHN0YXJ0cyB3aXRoIFxcLlxcLiwgYW5kIHRoZW4gWyBvciAuXG4gICAgICAgICAgICAgIChzcmMuc3RhcnRzV2l0aCgnXFxcXC5cXFxcLicpICYmIGFwcy5oYXMoc3JjLmNoYXJBdCg0KSkpXG4gICAgICAgICAgICAvLyBubyBuZWVkIHRvIHByZXZlbnQgZG90cyBpZiBpdCBjYW4ndCBtYXRjaCBhIGRvdCwgb3IgaWYgYVxuICAgICAgICAgICAgLy8gc3ViLXBhdHRlcm4gd2lsbCBiZSBwcmV2ZW50aW5nIGl0IGFueXdheS5cbiAgICAgICAgICAgIGNvbnN0IG5lZWROb0RvdCA9ICFkb3QgJiYgIWFsbG93RG90ICYmIGFwcy5oYXMoc3JjLmNoYXJBdCgwKSlcblxuICAgICAgICAgICAgc3RhcnQgPSBuZWVkTm9UcmF2ID8gc3RhcnROb1RyYXZlcnNhbCA6IG5lZWROb0RvdCA/IHN0YXJ0Tm9Eb3QgOiAnJ1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBhcHBlbmQgdGhlIFwiZW5kIG9mIHBhdGggcG9ydGlvblwiIHBhdHRlcm4gdG8gbmVnYXRpb24gdGFpbHNcbiAgICAgIGxldCBlbmQgPSAnJ1xuICAgICAgaWYgKFxuICAgICAgICB0aGlzLmlzRW5kKCkgJiZcbiAgICAgICAgdGhpcy4jcm9vdC4jZmlsbGVkTmVncyAmJlxuICAgICAgICB0aGlzLiNwYXJlbnQ/LnR5cGUgPT09ICchJ1xuICAgICAgKSB7XG4gICAgICAgIGVuZCA9ICcoPzokfFxcXFwvKSdcbiAgICAgIH1cbiAgICAgIGNvbnN0IGZpbmFsID0gc3RhcnQgKyBzcmMgKyBlbmRcbiAgICAgIHJldHVybiBbXG4gICAgICAgIGZpbmFsLFxuICAgICAgICB1bmVzY2FwZShzcmMpLFxuICAgICAgICAodGhpcy4jaGFzTWFnaWMgPSAhIXRoaXMuI2hhc01hZ2ljKSxcbiAgICAgICAgdGhpcy4jdWZsYWcsXG4gICAgICBdXG4gICAgfVxuXG4gICAgLy8gV2UgbmVlZCB0byBjYWxjdWxhdGUgdGhlIGJvZHkgKnR3aWNlKiBpZiBpdCdzIGEgcmVwZWF0IHBhdHRlcm5cbiAgICAvLyBhdCB0aGUgc3RhcnQsIG9uY2UgaW4gbm9kb3QgbW9kZSwgdGhlbiBhZ2FpbiBpbiBkb3QgbW9kZSwgc28gYVxuICAgIC8vIHBhdHRlcm4gbGlrZSAqKD8pIGNhbiBtYXRjaCAneC55J1xuXG4gICAgY29uc3QgcmVwZWF0ZWQgPSB0aGlzLnR5cGUgPT09ICcqJyB8fCB0aGlzLnR5cGUgPT09ICcrJ1xuICAgIC8vIHNvbWUga2luZCBvZiBleHRnbG9iXG4gICAgY29uc3Qgc3RhcnQgPSB0aGlzLnR5cGUgPT09ICchJyA/ICcoPzooPyEoPzonIDogJyg/OidcbiAgICBsZXQgYm9keSA9IHRoaXMuI3BhcnRzVG9SZWdFeHAoZG90KVxuXG4gICAgaWYgKHRoaXMuaXNTdGFydCgpICYmIHRoaXMuaXNFbmQoKSAmJiAhYm9keSAmJiB0aGlzLnR5cGUgIT09ICchJykge1xuICAgICAgLy8gaW52YWxpZCBleHRnbG9iLCBoYXMgdG8gYXQgbGVhc3QgYmUgKnNvbWV0aGluZyogcHJlc2VudCwgaWYgaXQnc1xuICAgICAgLy8gdGhlIGVudGlyZSBwYXRoIHBvcnRpb24uXG4gICAgICBjb25zdCBzID0gdGhpcy50b1N0cmluZygpXG4gICAgICB0aGlzLiNwYXJ0cyA9IFtzXVxuICAgICAgdGhpcy50eXBlID0gbnVsbFxuICAgICAgdGhpcy4jaGFzTWFnaWMgPSB1bmRlZmluZWRcbiAgICAgIHJldHVybiBbcywgdW5lc2NhcGUodGhpcy50b1N0cmluZygpKSwgZmFsc2UsIGZhbHNlXVxuICAgIH1cblxuICAgIC8vIFhYWCBhYnN0cmFjdCBvdXQgdGhpcyBtYXAgbWV0aG9kXG4gICAgbGV0IGJvZHlEb3RBbGxvd2VkID1cbiAgICAgICFyZXBlYXRlZCB8fCBhbGxvd0RvdCB8fCBkb3QgfHwgIXN0YXJ0Tm9Eb3RcbiAgICAgICAgPyAnJ1xuICAgICAgICA6IHRoaXMuI3BhcnRzVG9SZWdFeHAodHJ1ZSlcbiAgICBpZiAoYm9keURvdEFsbG93ZWQgPT09IGJvZHkpIHtcbiAgICAgIGJvZHlEb3RBbGxvd2VkID0gJydcbiAgICB9XG4gICAgaWYgKGJvZHlEb3RBbGxvd2VkKSB7XG4gICAgICBib2R5ID0gYCg/OiR7Ym9keX0pKD86JHtib2R5RG90QWxsb3dlZH0pKj9gXG4gICAgfVxuXG4gICAgLy8gYW4gZW1wdHkgISgpIGlzIGV4YWN0bHkgZXF1aXZhbGVudCB0byBhIHN0YXJOb0VtcHR5XG4gICAgbGV0IGZpbmFsID0gJydcbiAgICBpZiAodGhpcy50eXBlID09PSAnIScgJiYgdGhpcy4jZW1wdHlFeHQpIHtcbiAgICAgIGZpbmFsID0gKHRoaXMuaXNTdGFydCgpICYmICFkb3QgPyBzdGFydE5vRG90IDogJycpICsgc3Rhck5vRW1wdHlcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY2xvc2UgPVxuICAgICAgICB0aGlzLnR5cGUgPT09ICchJ1xuICAgICAgICAgID8gLy8gISgpIG11c3QgbWF0Y2ggc29tZXRoaW5nLGJ1dCAhKHgpIGNhbiBtYXRjaCAnJ1xuICAgICAgICAgICAgJykpJyArXG4gICAgICAgICAgICAodGhpcy5pc1N0YXJ0KCkgJiYgIWRvdCAmJiAhYWxsb3dEb3QgPyBzdGFydE5vRG90IDogJycpICtcbiAgICAgICAgICAgIHN0YXIgK1xuICAgICAgICAgICAgJyknXG4gICAgICAgICAgOiB0aGlzLnR5cGUgPT09ICdAJ1xuICAgICAgICAgID8gJyknXG4gICAgICAgICAgOiB0aGlzLnR5cGUgPT09ICc/J1xuICAgICAgICAgID8gJyk/J1xuICAgICAgICAgIDogdGhpcy50eXBlID09PSAnKycgJiYgYm9keURvdEFsbG93ZWRcbiAgICAgICAgICA/ICcpJ1xuICAgICAgICAgIDogdGhpcy50eXBlID09PSAnKicgJiYgYm9keURvdEFsbG93ZWRcbiAgICAgICAgICA/IGApP2BcbiAgICAgICAgICA6IGApJHt0aGlzLnR5cGV9YFxuICAgICAgZmluYWwgPSBzdGFydCArIGJvZHkgKyBjbG9zZVxuICAgIH1cbiAgICByZXR1cm4gW1xuICAgICAgZmluYWwsXG4gICAgICB1bmVzY2FwZShib2R5KSxcbiAgICAgICh0aGlzLiNoYXNNYWdpYyA9ICEhdGhpcy4jaGFzTWFnaWMpLFxuICAgICAgdGhpcy4jdWZsYWcsXG4gICAgXVxuICB9XG5cbiAgI3BhcnRzVG9SZWdFeHAoZG90OiBib29sZWFuKSB7XG4gICAgcmV0dXJuIHRoaXMuI3BhcnRzXG4gICAgICAubWFwKHAgPT4ge1xuICAgICAgICAvLyBleHRnbG9iIEFTVHMgc2hvdWxkIG9ubHkgY29udGFpbiBwYXJlbnQgQVNUc1xuICAgICAgICAvKiBjOCBpZ25vcmUgc3RhcnQgKi9cbiAgICAgICAgaWYgKHR5cGVvZiBwID09PSAnc3RyaW5nJykge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcignc3RyaW5nIHR5cGUgaW4gZXh0Z2xvYiBhc3Q/PycpXG4gICAgICAgIH1cbiAgICAgICAgLyogYzggaWdub3JlIHN0b3AgKi9cbiAgICAgICAgLy8gY2FuIGlnbm9yZSBoYXNNYWdpYywgYmVjYXVzZSBleHRnbG9icyBhcmUgYWxyZWFkeSBhbHdheXMgbWFnaWNcbiAgICAgICAgY29uc3QgW3JlLCBfLCBfaGFzTWFnaWMsIHVmbGFnXSA9IHAudG9SZWdFeHBTb3VyY2UoZG90KVxuICAgICAgICB0aGlzLiN1ZmxhZyA9IHRoaXMuI3VmbGFnIHx8IHVmbGFnXG4gICAgICAgIHJldHVybiByZVxuICAgICAgfSlcbiAgICAgIC5maWx0ZXIocCA9PiAhKHRoaXMuaXNTdGFydCgpICYmIHRoaXMuaXNFbmQoKSkgfHwgISFwKVxuICAgICAgLmpvaW4oJ3wnKVxuICB9XG5cbiAgc3RhdGljICNwYXJzZUdsb2IoXG4gICAgZ2xvYjogc3RyaW5nLFxuICAgIGhhc01hZ2ljOiBib29sZWFuIHwgdW5kZWZpbmVkLFxuICAgIG5vRW1wdHk6IGJvb2xlYW4gPSBmYWxzZVxuICApOiBbcmU6IHN0cmluZywgYm9keTogc3RyaW5nLCBoYXNNYWdpYzogYm9vbGVhbiwgdWZsYWc6IGJvb2xlYW5dIHtcbiAgICBsZXQgZXNjYXBpbmcgPSBmYWxzZVxuICAgIGxldCByZSA9ICcnXG4gICAgbGV0IHVmbGFnID0gZmFsc2VcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGdsb2IubGVuZ3RoOyBpKyspIHtcbiAgICAgIGNvbnN0IGMgPSBnbG9iLmNoYXJBdChpKVxuICAgICAgaWYgKGVzY2FwaW5nKSB7XG4gICAgICAgIGVzY2FwaW5nID0gZmFsc2VcbiAgICAgICAgcmUgKz0gKHJlU3BlY2lhbHMuaGFzKGMpID8gJ1xcXFwnIDogJycpICsgY1xuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKGMgPT09ICdcXFxcJykge1xuICAgICAgICBpZiAoaSA9PT0gZ2xvYi5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgcmUgKz0gJ1xcXFxcXFxcJ1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGVzY2FwaW5nID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9XG4gICAgICBpZiAoYyA9PT0gJ1snKSB7XG4gICAgICAgIGNvbnN0IFtzcmMsIG5lZWRVZmxhZywgY29uc3VtZWQsIG1hZ2ljXSA9IHBhcnNlQ2xhc3MoZ2xvYiwgaSlcbiAgICAgICAgaWYgKGNvbnN1bWVkKSB7XG4gICAgICAgICAgcmUgKz0gc3JjXG4gICAgICAgICAgdWZsYWcgPSB1ZmxhZyB8fCBuZWVkVWZsYWdcbiAgICAgICAgICBpICs9IGNvbnN1bWVkIC0gMVxuICAgICAgICAgIGhhc01hZ2ljID0gaGFzTWFnaWMgfHwgbWFnaWNcbiAgICAgICAgICBjb250aW51ZVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAoYyA9PT0gJyonKSB7XG4gICAgICAgIGlmIChub0VtcHR5ICYmIGdsb2IgPT09ICcqJykgcmUgKz0gc3Rhck5vRW1wdHlcbiAgICAgICAgZWxzZSByZSArPSBzdGFyXG4gICAgICAgIGhhc01hZ2ljID0gdHJ1ZVxuICAgICAgICBjb250aW51ZVxuICAgICAgfVxuICAgICAgaWYgKGMgPT09ICc/Jykge1xuICAgICAgICByZSArPSBxbWFya1xuICAgICAgICBoYXNNYWdpYyA9IHRydWVcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIHJlICs9IHJlZ0V4cEVzY2FwZShjKVxuICAgIH1cbiAgICByZXR1cm4gW3JlLCB1bmVzY2FwZShnbG9iKSwgISFoYXNNYWdpYywgdWZsYWddXG4gIH1cbn1cbiIsICJpbXBvcnQgeyBNaW5pbWF0Y2hPcHRpb25zIH0gZnJvbSAnLi9pbmRleC5qcydcbi8qKlxuICogRXNjYXBlIGFsbCBtYWdpYyBjaGFyYWN0ZXJzIGluIGEgZ2xvYiBwYXR0ZXJuLlxuICpcbiAqIElmIHRoZSB7QGxpbmsgd2luZG93c1BhdGhzTm9Fc2NhcGUgfCBHbG9iT3B0aW9ucy53aW5kb3dzUGF0aHNOb0VzY2FwZX1cbiAqIG9wdGlvbiBpcyB1c2VkLCB0aGVuIGNoYXJhY3RlcnMgYXJlIGVzY2FwZWQgYnkgd3JhcHBpbmcgaW4gYFtdYCwgYmVjYXVzZVxuICogYSBtYWdpYyBjaGFyYWN0ZXIgd3JhcHBlZCBpbiBhIGNoYXJhY3RlciBjbGFzcyBjYW4gb25seSBiZSBzYXRpc2ZpZWQgYnlcbiAqIHRoYXQgZXhhY3QgY2hhcmFjdGVyLiAgSW4gdGhpcyBtb2RlLCBgXFxgIGlzIF9ub3RfIGVzY2FwZWQsIGJlY2F1c2UgaXQgaXNcbiAqIG5vdCBpbnRlcnByZXRlZCBhcyBhIG1hZ2ljIGNoYXJhY3RlciwgYnV0IGluc3RlYWQgYXMgYSBwYXRoIHNlcGFyYXRvci5cbiAqL1xuZXhwb3J0IGNvbnN0IGVzY2FwZSA9IChcbiAgczogc3RyaW5nLFxuICB7XG4gICAgd2luZG93c1BhdGhzTm9Fc2NhcGUgPSBmYWxzZSxcbiAgfTogUGljazxNaW5pbWF0Y2hPcHRpb25zLCAnd2luZG93c1BhdGhzTm9Fc2NhcGUnPiA9IHt9XG4pID0+IHtcbiAgLy8gZG9uJ3QgbmVlZCB0byBlc2NhcGUgK0AhIGJlY2F1c2Ugd2UgZXNjYXBlIHRoZSBwYXJlbnNcbiAgLy8gdGhhdCBtYWtlIHRob3NlIG1hZ2ljLCBhbmQgZXNjYXBpbmcgISBhcyBbIV0gaXNuJ3QgdmFsaWQsXG4gIC8vIGJlY2F1c2UgWyFdXSBpcyBhIHZhbGlkIGdsb2IgY2xhc3MgbWVhbmluZyBub3QgJ10nLlxuICByZXR1cm4gd2luZG93c1BhdGhzTm9Fc2NhcGVcbiAgICA/IHMucmVwbGFjZSgvWz8qKClbXFxdXS9nLCAnWyQmXScpXG4gICAgOiBzLnJlcGxhY2UoL1s/KigpW1xcXVxcXFxdL2csICdcXFxcJCYnKVxufVxuIiwgImltcG9ydCB7IE1pbmltYXRjaCwgTWluaW1hdGNoT3B0aW9ucyB9IGZyb20gJ21pbmltYXRjaCdcbmltcG9ydCB7IE1pbmlwYXNzIH0gZnJvbSAnbWluaXBhc3MnXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSAnbm9kZTp1cmwnXG5pbXBvcnQge1xuICBGU09wdGlvbixcbiAgUGF0aCxcbiAgUGF0aFNjdXJyeSxcbiAgUGF0aFNjdXJyeURhcndpbixcbiAgUGF0aFNjdXJyeVBvc2l4LFxuICBQYXRoU2N1cnJ5V2luMzIsXG59IGZyb20gJ3BhdGgtc2N1cnJ5J1xuaW1wb3J0IHsgSWdub3JlTGlrZSB9IGZyb20gJy4vaWdub3JlLmpzJ1xuaW1wb3J0IHsgUGF0dGVybiB9IGZyb20gJy4vcGF0dGVybi5qcydcbmltcG9ydCB7IEdsb2JTdHJlYW0sIEdsb2JXYWxrZXIgfSBmcm9tICcuL3dhbGtlci5qcydcblxuZXhwb3J0IHR5cGUgTWF0Y2hTZXQgPSBNaW5pbWF0Y2hbJ3NldCddXG5leHBvcnQgdHlwZSBHbG9iUGFydHMgPSBFeGNsdWRlPE1pbmltYXRjaFsnZ2xvYlBhcnRzJ10sIHVuZGVmaW5lZD5cblxuLy8gaWYgbm8gcHJvY2VzcyBnbG9iYWwsIGp1c3QgY2FsbCBpdCBsaW51eC5cbi8vIHNvIHdlIGRlZmF1bHQgdG8gY2FzZS1zZW5zaXRpdmUsIC8gc2VwYXJhdG9yc1xuY29uc3QgZGVmYXVsdFBsYXRmb3JtOiBOb2RlSlMuUGxhdGZvcm0gPVxuICAoXG4gICAgdHlwZW9mIHByb2Nlc3MgPT09ICdvYmplY3QnICYmXG4gICAgcHJvY2VzcyAmJlxuICAgIHR5cGVvZiBwcm9jZXNzLnBsYXRmb3JtID09PSAnc3RyaW5nJ1xuICApID9cbiAgICBwcm9jZXNzLnBsYXRmb3JtXG4gIDogJ2xpbnV4J1xuXG4vKipcbiAqIEEgYEdsb2JPcHRpb25zYCBvYmplY3QgbWF5IGJlIHByb3ZpZGVkIHRvIGFueSBvZiB0aGUgZXhwb3J0ZWQgbWV0aG9kcywgYW5kXG4gKiBtdXN0IGJlIHByb3ZpZGVkIHRvIHRoZSBgR2xvYmAgY29uc3RydWN0b3IuXG4gKlxuICogQWxsIG9wdGlvbnMgYXJlIG9wdGlvbmFsLCBib29sZWFuLCBhbmQgZmFsc2UgYnkgZGVmYXVsdCwgdW5sZXNzIG90aGVyd2lzZVxuICogbm90ZWQuXG4gKlxuICogQWxsIHJlc29sdmVkIG9wdGlvbnMgYXJlIGFkZGVkIHRvIHRoZSBHbG9iIG9iamVjdCBhcyBwcm9wZXJ0aWVzLlxuICpcbiAqIElmIHlvdSBhcmUgcnVubmluZyBtYW55IGBnbG9iYCBvcGVyYXRpb25zLCB5b3UgY2FuIHBhc3MgYSBHbG9iIG9iamVjdCBhcyB0aGVcbiAqIGBvcHRpb25zYCBhcmd1bWVudCB0byBhIHN1YnNlcXVlbnQgb3BlcmF0aW9uIHRvIHNoYXJlIHRoZSBwcmV2aW91c2x5IGxvYWRlZFxuICogY2FjaGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYk9wdGlvbnMge1xuICAvKipcbiAgICogU2V0IHRvIGB0cnVlYCB0byBhbHdheXMgcmVjZWl2ZSBhYnNvbHV0ZSBwYXRocyBmb3JcbiAgICogbWF0Y2hlZCBmaWxlcy4gU2V0IHRvIGBmYWxzZWAgdG8gYWx3YXlzIHJldHVybiByZWxhdGl2ZSBwYXRocy5cbiAgICpcbiAgICogV2hlbiB0aGlzIG9wdGlvbiBpcyBub3Qgc2V0LCBhYnNvbHV0ZSBwYXRocyBhcmUgcmV0dXJuZWQgZm9yIHBhdHRlcm5zXG4gICAqIHRoYXQgYXJlIGFic29sdXRlLCBhbmQgb3RoZXJ3aXNlIHBhdGhzIGFyZSByZXR1cm5lZCB0aGF0IGFyZSByZWxhdGl2ZVxuICAgKiB0byB0aGUgYGN3ZGAgc2V0dGluZy5cbiAgICpcbiAgICogVGhpcyBkb2VzIF9ub3RfIG1ha2UgYW4gZXh0cmEgc3lzdGVtIGNhbGwgdG8gZ2V0XG4gICAqIHRoZSByZWFscGF0aCwgaXQgb25seSBkb2VzIHN0cmluZyBwYXRoIHJlc29sdXRpb24uXG4gICAqXG4gICAqIENvbmZsaWN0cyB3aXRoIHtAbGluayB3aXRoRmlsZVR5cGVzfVxuICAgKi9cbiAgYWJzb2x1dGU/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIFNldCB0byBmYWxzZSB0byBlbmFibGUge0BsaW5rIHdpbmRvd3NQYXRoc05vRXNjYXBlfVxuICAgKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgYWxsb3dXaW5kb3dzRXNjYXBlPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSBpbiB3aGljaCB0byBzZWFyY2guIERlZmF1bHRzIHRvXG4gICAqIGBwcm9jZXNzLmN3ZCgpYC5cbiAgICpcbiAgICogTWF5IGJlIGVpaGVyIGEgc3RyaW5nIHBhdGggb3IgYSBgZmlsZTovL2AgVVJMIG9iamVjdCBvciBzdHJpbmcuXG4gICAqL1xuICBjd2Q/OiBzdHJpbmcgfCBVUkxcblxuICAvKipcbiAgICogSW5jbHVkZSBgLmRvdGAgZmlsZXMgaW4gbm9ybWFsIG1hdGNoZXMgYW5kIGBnbG9ic3RhcmBcbiAgICogbWF0Y2hlcy4gTm90ZSB0aGF0IGFuIGV4cGxpY2l0IGRvdCBpbiBhIHBvcnRpb24gb2YgdGhlIHBhdHRlcm5cbiAgICogd2lsbCBhbHdheXMgbWF0Y2ggZG90IGZpbGVzLlxuICAgKi9cbiAgZG90PzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBQcmVwZW5kIGFsbCByZWxhdGl2ZSBwYXRoIHN0cmluZ3Mgd2l0aCBgLi9gIChvciBgLlxcYCBvbiBXaW5kb3dzKS5cbiAgICpcbiAgICogV2l0aG91dCB0aGlzIG9wdGlvbiwgcmV0dXJuZWQgcmVsYXRpdmUgcGF0aHMgYXJlIFwiYmFyZVwiLCBzbyBpbnN0ZWFkIG9mXG4gICAqIHJldHVybmluZyBgJy4vZm9vL2JhcidgLCB0aGV5IGFyZSByZXR1cm5lZCBhcyBgJ2Zvby9iYXInYC5cbiAgICpcbiAgICogUmVsYXRpdmUgcGF0dGVybnMgc3RhcnRpbmcgd2l0aCBgJy4uLydgIGFyZSBub3QgcHJlcGVuZGVkIHdpdGggYC4vYCwgZXZlblxuICAgKiBpZiB0aGlzIG9wdGlvbiBpcyBzZXQuXG4gICAqL1xuICBkb3RSZWxhdGl2ZT86IGJvb2xlYW5cblxuICAvKipcbiAgICogRm9sbG93IHN5bWxpbmtlZCBkaXJlY3RvcmllcyB3aGVuIGV4cGFuZGluZyBgKipgXG4gICAqIHBhdHRlcm5zLiBUaGlzIGNhbiByZXN1bHQgaW4gYSBsb3Qgb2YgZHVwbGljYXRlIHJlZmVyZW5jZXMgaW5cbiAgICogdGhlIHByZXNlbmNlIG9mIGN5Y2xpYyBsaW5rcywgYW5kIG1ha2UgcGVyZm9ybWFuY2UgcXVpdGUgYmFkLlxuICAgKlxuICAgKiBCeSBkZWZhdWx0LCBhIGAqKmAgaW4gYSBwYXR0ZXJuIHdpbGwgZm9sbG93IDEgc3ltYm9saWMgbGluayBpZlxuICAgKiBpdCBpcyBub3QgdGhlIGZpcnN0IGl0ZW0gaW4gdGhlIHBhdHRlcm4sIG9yIG5vbmUgaWYgaXQgaXMgdGhlXG4gICAqIGZpcnN0IGl0ZW0gaW4gdGhlIHBhdHRlcm4sIGZvbGxvd2luZyB0aGUgc2FtZSBiZWhhdmlvciBhcyBCYXNoLlxuICAgKi9cbiAgZm9sbG93PzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBzdHJpbmcgb3Igc3RyaW5nW10sIG9yIGFuIG9iamVjdCB3aXRoIGBpZ25vcmVgIGFuZCBgaWdub3JlQ2hpbGRyZW5gXG4gICAqIG1ldGhvZHMuXG4gICAqXG4gICAqIElmIGEgc3RyaW5nIG9yIHN0cmluZ1tdIGlzIHByb3ZpZGVkLCB0aGVuIHRoaXMgaXMgdHJlYXRlZCBhcyBhIGdsb2JcbiAgICogcGF0dGVybiBvciBhcnJheSBvZiBnbG9iIHBhdHRlcm5zIHRvIGV4Y2x1ZGUgZnJvbSBtYXRjaGVzLiBUbyBpZ25vcmUgYWxsXG4gICAqIGNoaWxkcmVuIHdpdGhpbiBhIGRpcmVjdG9yeSwgYXMgd2VsbCBhcyB0aGUgZW50cnkgaXRzZWxmLCBhcHBlbmQgYCcvKionYFxuICAgKiB0byB0aGUgaWdub3JlIHBhdHRlcm4uXG4gICAqXG4gICAqICoqTm90ZSoqIGBpZ25vcmVgIHBhdHRlcm5zIGFyZSBfYWx3YXlzXyBpbiBgZG90OnRydWVgIG1vZGUsIHJlZ2FyZGxlc3Mgb2ZcbiAgICogYW55IG90aGVyIHNldHRpbmdzLlxuICAgKlxuICAgKiBJZiBhbiBvYmplY3QgaXMgcHJvdmlkZWQgdGhhdCBoYXMgYGlnbm9yZWQocGF0aClgIGFuZC9vclxuICAgKiBgY2hpbGRyZW5JZ25vcmVkKHBhdGgpYCBtZXRob2RzLCB0aGVuIHRoZXNlIG1ldGhvZHMgd2lsbCBiZSBjYWxsZWQgdG9cbiAgICogZGV0ZXJtaW5lIHdoZXRoZXIgYW55IFBhdGggaXMgYSBtYXRjaCBvciBpZiBpdHMgY2hpbGRyZW4gc2hvdWxkIGJlXG4gICAqIHRyYXZlcnNlZCwgcmVzcGVjdGl2ZWx5LlxuICAgKi9cbiAgaWdub3JlPzogc3RyaW5nIHwgc3RyaW5nW10gfCBJZ25vcmVMaWtlXG5cbiAgLyoqXG4gICAqIFRyZWF0IGJyYWNlIGV4cGFuc2lvbiBsaWtlIGB7YSxifWAgYXMgYSBcIm1hZ2ljXCIgcGF0dGVybi4gSGFzIG5vXG4gICAqIGVmZmVjdCBpZiB7QGxpbmsgbm9icmFjZX0gaXMgc2V0LlxuICAgKlxuICAgKiBPbmx5IGhhcyBlZmZlY3Qgb24gdGhlIHtAbGluayBoYXNNYWdpY30gZnVuY3Rpb24uXG4gICAqL1xuICBtYWdpY2FsQnJhY2VzPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBBZGQgYSBgL2AgY2hhcmFjdGVyIHRvIGRpcmVjdG9yeSBtYXRjaGVzLiBOb3RlIHRoYXQgdGhpcyByZXF1aXJlc1xuICAgKiBhZGRpdGlvbmFsIHN0YXQgY2FsbHMgaW4gc29tZSBjYXNlcy5cbiAgICovXG4gIG1hcms/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIFBlcmZvcm0gYSBiYXNlbmFtZS1vbmx5IG1hdGNoIGlmIHRoZSBwYXR0ZXJuIGRvZXMgbm90IGNvbnRhaW4gYW55IHNsYXNoXG4gICAqIGNoYXJhY3RlcnMuIFRoYXQgaXMsIGAqLmpzYCB3b3VsZCBiZSB0cmVhdGVkIGFzIGVxdWl2YWxlbnQgdG9cbiAgICogYCoqXFwvKi5qc2AsIG1hdGNoaW5nIGFsbCBqcyBmaWxlcyBpbiBhbGwgZGlyZWN0b3JpZXMuXG4gICAqL1xuICBtYXRjaEJhc2U/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIExpbWl0IHRoZSBkaXJlY3RvcnkgdHJhdmVyc2FsIHRvIGEgZ2l2ZW4gZGVwdGggYmVsb3cgdGhlIGN3ZC5cbiAgICogTm90ZSB0aGF0IHRoaXMgZG9lcyBOT1QgcHJldmVudCB0cmF2ZXJzYWwgdG8gc2libGluZyBmb2xkZXJzLFxuICAgKiByb290IHBhdHRlcm5zLCBhbmQgc28gb24uIEl0IG9ubHkgbGltaXRzIHRoZSBtYXhpbXVtIGZvbGRlciBkZXB0aFxuICAgKiB0aGF0IHRoZSB3YWxrIHdpbGwgZGVzY2VuZCwgcmVsYXRpdmUgdG8gdGhlIGN3ZC5cbiAgICovXG4gIG1heERlcHRoPzogbnVtYmVyXG5cbiAgLyoqXG4gICAqIERvIG5vdCBleHBhbmQgYHthLGJ9YCBhbmQgYHsxLi4zfWAgYnJhY2Ugc2V0cy5cbiAgICovXG4gIG5vYnJhY2U/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIFBlcmZvcm0gYSBjYXNlLWluc2Vuc2l0aXZlIG1hdGNoLiBUaGlzIGRlZmF1bHRzIHRvIGB0cnVlYCBvbiBtYWNPUyBhbmRcbiAgICogV2luZG93cyBzeXN0ZW1zLCBhbmQgYGZhbHNlYCBvbiBhbGwgb3RoZXJzLlxuICAgKlxuICAgKiAqKk5vdGUqKiBgbm9jYXNlYCBzaG91bGQgb25seSBiZSBleHBsaWNpdGx5IHNldCB3aGVuIGl0IGlzXG4gICAqIGtub3duIHRoYXQgdGhlIGZpbGVzeXN0ZW0ncyBjYXNlIHNlbnNpdGl2aXR5IGRpZmZlcnMgZnJvbSB0aGVcbiAgICogcGxhdGZvcm0gZGVmYXVsdC4gSWYgc2V0IGB0cnVlYCBvbiBjYXNlLXNlbnNpdGl2ZSBmaWxlXG4gICAqIHN5c3RlbXMsIG9yIGBmYWxzZWAgb24gY2FzZS1pbnNlbnNpdGl2ZSBmaWxlIHN5c3RlbXMsIHRoZW4gdGhlXG4gICAqIHdhbGsgbWF5IHJldHVybiBtb3JlIG9yIGxlc3MgcmVzdWx0cyB0aGFuIGV4cGVjdGVkLlxuICAgKi9cbiAgbm9jYXNlPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBEbyBub3QgbWF0Y2ggZGlyZWN0b3JpZXMsIG9ubHkgZmlsZXMuIChOb3RlOiB0byBtYXRjaFxuICAgKiBfb25seV8gZGlyZWN0b3JpZXMsIHB1dCBhIGAvYCBhdCB0aGUgZW5kIG9mIHRoZSBwYXR0ZXJuLilcbiAgICovXG4gIG5vZGlyPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBEbyBub3QgbWF0Y2ggXCJleHRnbG9iXCIgcGF0dGVybnMgc3VjaCBhcyBgKyhhfGIpYC5cbiAgICovXG4gIG5vZXh0PzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBEbyBub3QgbWF0Y2ggYCoqYCBhZ2FpbnN0IG11bHRpcGxlIGZpbGVuYW1lcy4gKEllLCB0cmVhdCBpdCBhcyBhIG5vcm1hbFxuICAgKiBgKmAgaW5zdGVhZC4pXG4gICAqXG4gICAqIENvbmZsaWN0cyB3aXRoIHtAbGluayBtYXRjaEJhc2V9XG4gICAqL1xuICBub2dsb2JzdGFyPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBEZWZhdWx0cyB0byB2YWx1ZSBvZiBgcHJvY2Vzcy5wbGF0Zm9ybWAgaWYgYXZhaWxhYmxlLCBvciBgJ2xpbnV4J2AgaWZcbiAgICogbm90LiBTZXR0aW5nIGBwbGF0Zm9ybTond2luMzInYCBvbiBub24tV2luZG93cyBzeXN0ZW1zIG1heSBjYXVzZSBzdHJhbmdlXG4gICAqIGJlaGF2aW9yLlxuICAgKi9cbiAgcGxhdGZvcm0/OiBOb2RlSlMuUGxhdGZvcm1cblxuICAvKipcbiAgICogU2V0IHRvIHRydWUgdG8gY2FsbCBgZnMucmVhbHBhdGhgIG9uIGFsbCBvZiB0aGVcbiAgICogcmVzdWx0cy4gSW4gdGhlIGNhc2Ugb2YgYW4gZW50cnkgdGhhdCBjYW5ub3QgYmUgcmVzb2x2ZWQsIHRoZVxuICAgKiBlbnRyeSBpcyBvbWl0dGVkLiBUaGlzIGluY3VycyBhIHNsaWdodCBwZXJmb3JtYW5jZSBwZW5hbHR5LCBvZlxuICAgKiBjb3Vyc2UsIGJlY2F1c2Ugb2YgdGhlIGFkZGVkIHN5c3RlbSBjYWxscy5cbiAgICovXG4gIHJlYWxwYXRoPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKlxuICAgKiBBIHN0cmluZyBwYXRoIHJlc29sdmVkIGFnYWluc3QgdGhlIGBjd2RgIG9wdGlvbiwgd2hpY2hcbiAgICogaXMgdXNlZCBhcyB0aGUgc3RhcnRpbmcgcG9pbnQgZm9yIGFic29sdXRlIHBhdHRlcm5zIHRoYXQgc3RhcnRcbiAgICogd2l0aCBgL2AsIChidXQgbm90IGRyaXZlIGxldHRlcnMgb3IgVU5DIHBhdGhzIG9uIFdpbmRvd3MpLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgdGhpcyBfZG9lc24ndF8gbmVjZXNzYXJpbHkgbGltaXQgdGhlIHdhbGsgdG8gdGhlXG4gICAqIGByb290YCBkaXJlY3RvcnksIGFuZCBkb2Vzbid0IGFmZmVjdCB0aGUgY3dkIHN0YXJ0aW5nIHBvaW50IGZvclxuICAgKiBub24tYWJzb2x1dGUgcGF0dGVybnMuIEEgcGF0dGVybiBjb250YWluaW5nIGAuLmAgd2lsbCBzdGlsbCBiZVxuICAgKiBhYmxlIHRvIHRyYXZlcnNlIG91dCBvZiB0aGUgcm9vdCBkaXJlY3RvcnksIGlmIGl0IGlzIG5vdCBhblxuICAgKiBhY3R1YWwgcm9vdCBkaXJlY3Rvcnkgb24gdGhlIGZpbGVzeXN0ZW0sIGFuZCBhbnkgbm9uLWFic29sdXRlXG4gICAqIHBhdHRlcm5zIHdpbGwgYmUgbWF0Y2hlZCBpbiB0aGUgYGN3ZGAuIEZvciBleGFtcGxlLCB0aGVcbiAgICogcGF0dGVybiBgLy4uLypgIHdpdGggYHtyb290Oicvc29tZS9wYXRoJ31gIHdpbGwgcmV0dXJuIGFsbFxuICAgKiBmaWxlcyBpbiBgL3NvbWVgLCBub3QgYWxsIGZpbGVzIGluIGAvc29tZS9wYXRoYC4gVGhlIHBhdHRlcm5cbiAgICogYCpgIHdpdGggYHtyb290Oicvc29tZS9wYXRoJ31gIHdpbGwgcmV0dXJuIGFsbCB0aGUgZW50cmllcyBpblxuICAgKiB0aGUgY3dkLCBub3QgdGhlIGVudHJpZXMgaW4gYC9zb21lL3BhdGhgLlxuICAgKlxuICAgKiBUbyBzdGFydCBhYnNvbHV0ZSBhbmQgbm9uLWFic29sdXRlIHBhdHRlcm5zIGluIHRoZSBzYW1lXG4gICAqIHBhdGgsIHlvdSBjYW4gdXNlIGB7cm9vdDonJ31gLiBIb3dldmVyLCBiZSBhd2FyZSB0aGF0IG9uXG4gICAqIFdpbmRvd3Mgc3lzdGVtcywgYSBwYXR0ZXJuIGxpa2UgYHg6LypgIG9yIGAvL2hvc3Qvc2hhcmUvKmAgd2lsbFxuICAgKiBfYWx3YXlzXyBzdGFydCBpbiB0aGUgYHg6L2Agb3IgYC8vaG9zdC9zaGFyZWAgZGlyZWN0b3J5LFxuICAgKiByZWdhcmRsZXNzIG9mIHRoZSBgcm9vdGAgc2V0dGluZy5cbiAgICovXG4gIHJvb3Q/OiBzdHJpbmdcblxuICAvKipcbiAgICogQSBbUGF0aFNjdXJyeV0oaHR0cDovL25wbS5pbS9wYXRoLXNjdXJyeSkgb2JqZWN0IHVzZWRcbiAgICogdG8gdHJhdmVyc2UgdGhlIGZpbGUgc3lzdGVtLiBJZiB0aGUgYG5vY2FzZWAgb3B0aW9uIGlzIHNldFxuICAgKiBleHBsaWNpdGx5LCB0aGVuIGFueSBwcm92aWRlZCBgc2N1cnJ5YCBvYmplY3QgbXVzdCBtYXRjaCB0aGlzXG4gICAqIHNldHRpbmcuXG4gICAqL1xuICBzY3Vycnk/OiBQYXRoU2N1cnJ5XG5cbiAgLyoqXG4gICAqIENhbGwgYGxzdGF0KClgIG9uIGFsbCBlbnRyaWVzLCB3aGV0aGVyIHJlcXVpcmVkIG9yIG5vdCB0byBkZXRlcm1pbmVcbiAgICogaWYgaXQncyBhIHZhbGlkIG1hdGNoLiBXaGVuIHVzZWQgd2l0aCB7QGxpbmsgd2l0aEZpbGVUeXBlc30sIHRoaXMgbWVhbnNcbiAgICogdGhhdCBtYXRjaGVzIHdpbGwgaW5jbHVkZSBkYXRhIHN1Y2ggYXMgbW9kaWZpZWQgdGltZSwgcGVybWlzc2lvbnMsIGFuZFxuICAgKiBzbyBvbi4gIE5vdGUgdGhhdCB0aGlzIHdpbGwgaW5jdXIgYSBwZXJmb3JtYW5jZSBjb3N0IGR1ZSB0byB0aGUgYWRkZWRcbiAgICogc3lzdGVtIGNhbGxzLlxuICAgKi9cbiAgc3RhdD86IGJvb2xlYW5cblxuICAvKipcbiAgICogQW4gQWJvcnRTaWduYWwgd2hpY2ggd2lsbCBjYW5jZWwgdGhlIEdsb2Igd2FsayB3aGVuXG4gICAqIHRyaWdnZXJlZC5cbiAgICovXG4gIHNpZ25hbD86IEFib3J0U2lnbmFsXG5cbiAgLyoqXG4gICAqIFVzZSBgXFxcXGAgYXMgYSBwYXRoIHNlcGFyYXRvciBfb25seV8sIGFuZFxuICAgKiAgX25ldmVyXyBhcyBhbiBlc2NhcGUgY2hhcmFjdGVyLiBJZiBzZXQsIGFsbCBgXFxcXGAgY2hhcmFjdGVycyBhcmVcbiAgICogIHJlcGxhY2VkIHdpdGggYC9gIGluIHRoZSBwYXR0ZXJuLlxuICAgKlxuICAgKiAgTm90ZSB0aGF0IHRoaXMgbWFrZXMgaXQgKippbXBvc3NpYmxlKiogdG8gbWF0Y2ggYWdhaW5zdCBwYXRoc1xuICAgKiAgY29udGFpbmluZyBsaXRlcmFsIGdsb2IgcGF0dGVybiBjaGFyYWN0ZXJzLCBidXQgYWxsb3dzIG1hdGNoaW5nXG4gICAqICB3aXRoIHBhdHRlcm5zIGNvbnN0cnVjdGVkIHVzaW5nIGBwYXRoLmpvaW4oKWAgYW5kXG4gICAqICBgcGF0aC5yZXNvbHZlKClgIG9uIFdpbmRvd3MgcGxhdGZvcm1zLCBtaW1pY2tpbmcgdGhlIChidWdneSEpXG4gICAqICBiZWhhdmlvciBvZiBHbG9iIHY3IGFuZCBiZWZvcmUgb24gV2luZG93cy4gUGxlYXNlIHVzZSB3aXRoXG4gICAqICBjYXV0aW9uLCBhbmQgYmUgbWluZGZ1bCBvZiBbdGhlIGNhdmVhdCBiZWxvdyBhYm91dCBXaW5kb3dzXG4gICAqICBwYXRoc10oI3dpbmRvd3MpLiAoRm9yIGxlZ2FjeSByZWFzb25zLCB0aGlzIGlzIGFsc28gc2V0IGlmXG4gICAqICBgYWxsb3dXaW5kb3dzRXNjYXBlYCBpcyBzZXQgdG8gdGhlIGV4YWN0IHZhbHVlIGBmYWxzZWAuKVxuICAgKi9cbiAgd2luZG93c1BhdGhzTm9Fc2NhcGU/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIFJldHVybiBbUGF0aFNjdXJyeV0oaHR0cDovL25wbS5pbS9wYXRoLXNjdXJyeSlcbiAgICogYFBhdGhgIG9iamVjdHMgaW5zdGVhZCBvZiBzdHJpbmdzLiBUaGVzZSBhcmUgc2ltaWxhciB0byBhXG4gICAqIE5vZGVKUyBgRGlyZW50YCBvYmplY3QsIGJ1dCB3aXRoIGFkZGl0aW9uYWwgbWV0aG9kcyBhbmRcbiAgICogcHJvcGVydGllcy5cbiAgICpcbiAgICogQ29uZmxpY3RzIHdpdGgge0BsaW5rIGFic29sdXRlfVxuICAgKi9cbiAgd2l0aEZpbGVUeXBlcz86IGJvb2xlYW5cblxuICAvKipcbiAgICogQW4gZnMgaW1wbGVtZW50YXRpb24gdG8gb3ZlcnJpZGUgc29tZSBvciBhbGwgb2YgdGhlIGRlZmF1bHRzLiAgU2VlXG4gICAqIGh0dHA6Ly9ucG0uaW0vcGF0aC1zY3VycnkgZm9yIGRldGFpbHMgYWJvdXQgd2hhdCBjYW4gYmUgb3ZlcnJpZGRlbi5cbiAgICovXG4gIGZzPzogRlNPcHRpb25cblxuICAvKipcbiAgICogSnVzdCBwYXNzZWQgYWxvbmcgdG8gTWluaW1hdGNoLiAgTm90ZSB0aGF0IHRoaXMgbWFrZXMgYWxsIHBhdHRlcm5cbiAgICogbWF0Y2hpbmcgb3BlcmF0aW9ucyBzbG93ZXIgYW5kICpleHRyZW1lbHkqIG5vaXN5LlxuICAgKi9cbiAgZGVidWc/OiBib29sZWFuXG5cbiAgLyoqXG4gICAqIFJldHVybiBgL2AgZGVsaW1pdGVkIHBhdGhzLCBldmVuIG9uIFdpbmRvd3MuXG4gICAqXG4gICAqIE9uIHBvc2l4IHN5c3RlbXMsIHRoaXMgaGFzIG5vIGVmZmVjdC4gIEJ1dCwgb24gV2luZG93cywgaXQgbWVhbnMgdGhhdFxuICAgKiBwYXRocyB3aWxsIGJlIGAvYCBkZWxpbWl0ZWQsIGFuZCBhYnNvbHV0ZSBwYXRocyB3aWxsIGJlIHRoZWlyIGZ1bGxcbiAgICogcmVzb2x2ZWQgVU5DIGZvcm1zLCBlZyBpbnN0ZWFkIG9mIGAnQzpcXFxcZm9vXFxcXGJhcidgLCBpdCB3b3VsZCByZXR1cm5cbiAgICogYCcvLz8vQzovZm9vL2JhcidgXG4gICAqL1xuICBwb3NpeD86IGJvb2xlYW5cblxuICAvKipcbiAgICogRG8gbm90IG1hdGNoIGFueSBjaGlsZHJlbiBvZiBhbnkgbWF0Y2hlcy4gRm9yIGV4YW1wbGUsIHRoZSBwYXR0ZXJuXG4gICAqIGAqKlxcL2Zvb2Agd291bGQgbWF0Y2ggYGEvZm9vYCwgYnV0IG5vdCBgYS9mb28vYi9mb29gIGluIHRoaXMgbW9kZS5cbiAgICpcbiAgICogVGhpcyBpcyBlc3BlY2lhbGx5IHVzZWZ1bCBmb3IgY2FzZXMgbGlrZSBcImZpbmQgYWxsIGBub2RlX21vZHVsZXNgXG4gICAqIGZvbGRlcnMsIGJ1dCBub3QgdGhlIG9uZXMgaW4gYG5vZGVfbW9kdWxlc2BcIi5cbiAgICpcbiAgICogSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGlzLCB0aGUgYElnbm9yZWAgaW1wbGVtZW50YXRpb24gbXVzdCBzdXBwb3J0IGFuXG4gICAqIGBhZGQocGF0dGVybjogc3RyaW5nKWAgbWV0aG9kLiBJZiB1c2luZyB0aGUgZGVmYXVsdCBgSWdub3JlYCBjbGFzcywgdGhlblxuICAgKiB0aGlzIGlzIGZpbmUsIGJ1dCBpZiB0aGlzIGlzIHNldCB0byBgZmFsc2VgLCBhbmQgYSBjdXN0b20gYElnbm9yZWAgaXNcbiAgICogcHJvdmlkZWQgdGhhdCBkb2VzIG5vdCBoYXZlIGFuIGBhZGQoKWAgbWV0aG9kLCB0aGVuIGl0IHdpbGwgdGhyb3cgYW5cbiAgICogZXJyb3IuXG4gICAqXG4gICAqICoqQ2F2ZWF0KiogSXQgKm9ubHkqIGlnbm9yZXMgbWF0Y2hlcyB0aGF0IHdvdWxkIGJlIGEgZGVzY2VuZGFudCBvZiBhXG4gICAqIHByZXZpb3VzIG1hdGNoLCBhbmQgb25seSBpZiB0aGF0IGRlc2NlbmRhbnQgaXMgbWF0Y2hlZCAqYWZ0ZXIqIHRoZVxuICAgKiBhbmNlc3RvciBpcyBlbmNvdW50ZXJlZC4gU2luY2UgdGhlIGZpbGUgc3lzdGVtIHdhbGsgaGFwcGVucyBpblxuICAgKiBpbmRldGVybWluYXRlIG9yZGVyLCBpdCdzIHBvc3NpYmxlIHRoYXQgYSBtYXRjaCB3aWxsIGFscmVhZHkgYmUgYWRkZWRcbiAgICogYmVmb3JlIGl0cyBhbmNlc3RvciwgaWYgbXVsdGlwbGUgb3IgYnJhY2VkIHBhdHRlcm5zIGFyZSB1c2VkLlxuICAgKlxuICAgKiBGb3IgZXhhbXBsZTpcbiAgICpcbiAgICogYGBgdHNcbiAgICogY29uc3QgcmVzdWx0cyA9IGF3YWl0IGdsb2IoW1xuICAgKiAgIC8vIGxpa2VseSB0byBtYXRjaCBmaXJzdCwgc2luY2UgaXQncyBqdXN0IGEgc3RhdFxuICAgKiAgICdhL2IvYy9kL2UvZicsXG4gICAqXG4gICAqICAgLy8gdGhpcyBwYXR0ZXJuIGlzIG1vcmUgY29tcGxpY2F0ZWQhIEl0IG11c3QgdG8gdmFyaW91cyByZWFkZGlyKClcbiAgICogICAvLyBjYWxscyBhbmQgdGVzdCB0aGUgcmVzdWx0cyBhZ2FpbnN0IGEgcmVndWxhciBleHByZXNzaW9uLCBhbmQgdGhhdFxuICAgKiAgIC8vIGlzIGNlcnRhaW5seSBnb2luZyB0byB0YWtlIGEgbGl0dGxlIGJpdCBsb25nZXIuXG4gICAqICAgLy9cbiAgICogICAvLyBTbywgbGF0ZXIgb24sIGl0IGVuY291bnRlcnMgYSBtYXRjaCBhdCAnYS9iL2MvZC9lJywgYnV0IGl0J3MgdG9vXG4gICAqICAgLy8gbGF0ZSB0byBpZ25vcmUgYS9iL2MvZC9lL2YsIGJlY2F1c2UgaXQncyBhbHJlYWR5IGJlZW4gZW1pdHRlZC5cbiAgICogICAnYS9bYmRmXS8/L1thLXpdLyonLFxuICAgKiBdLCB7IGluY2x1ZGVDaGlsZE1hdGNoZXM6IGZhbHNlIH0pXG4gICAqIGBgYFxuICAgKlxuICAgKiBJdCdzIGJlc3QgdG8gb25seSBzZXQgdGhpcyB0byBgZmFsc2VgIGlmIHlvdSBjYW4gYmUgcmVhc29uYWJseSBzdXJlIHRoYXRcbiAgICogbm8gY29tcG9uZW50cyBvZiB0aGUgcGF0dGVybiB3aWxsIHBvdGVudGlhbGx5IG1hdGNoIG9uZSBhbm90aGVyJ3MgZmlsZVxuICAgKiBzeXN0ZW0gZGVzY2VuZGFudHMsIG9yIGlmIHRoZSBvY2Nhc2lvbmFsIGluY2x1ZGVkIGNoaWxkIGVudHJ5IHdpbGwgbm90XG4gICAqIGNhdXNlIHByb2JsZW1zLlxuICAgKlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBpbmNsdWRlQ2hpbGRNYXRjaGVzPzogYm9vbGVhblxufVxuXG5leHBvcnQgdHlwZSBHbG9iT3B0aW9uc1dpdGhGaWxlVHlwZXNUcnVlID0gR2xvYk9wdGlvbnMgJiB7XG4gIHdpdGhGaWxlVHlwZXM6IHRydWVcbiAgLy8gc3RyaW5nIG9wdGlvbnMgbm90IHJlbGV2YW50IGlmIHJldHVybmluZyBQYXRoIG9iamVjdHMuXG4gIGFic29sdXRlPzogdW5kZWZpbmVkXG4gIG1hcms/OiB1bmRlZmluZWRcbiAgcG9zaXg/OiB1bmRlZmluZWRcbn1cblxuZXhwb3J0IHR5cGUgR2xvYk9wdGlvbnNXaXRoRmlsZVR5cGVzRmFsc2UgPSBHbG9iT3B0aW9ucyAmIHtcbiAgd2l0aEZpbGVUeXBlcz86IGZhbHNlXG59XG5cbmV4cG9ydCB0eXBlIEdsb2JPcHRpb25zV2l0aEZpbGVUeXBlc1Vuc2V0ID0gR2xvYk9wdGlvbnMgJiB7XG4gIHdpdGhGaWxlVHlwZXM/OiB1bmRlZmluZWRcbn1cblxuZXhwb3J0IHR5cGUgUmVzdWx0PE9wdHM+ID1cbiAgT3B0cyBleHRlbmRzIEdsb2JPcHRpb25zV2l0aEZpbGVUeXBlc1RydWUgPyBQYXRoXG4gIDogT3B0cyBleHRlbmRzIEdsb2JPcHRpb25zV2l0aEZpbGVUeXBlc0ZhbHNlID8gc3RyaW5nXG4gIDogT3B0cyBleHRlbmRzIEdsb2JPcHRpb25zV2l0aEZpbGVUeXBlc1Vuc2V0ID8gc3RyaW5nXG4gIDogc3RyaW5nIHwgUGF0aFxuZXhwb3J0IHR5cGUgUmVzdWx0czxPcHRzPiA9IFJlc3VsdDxPcHRzPltdXG5cbmV4cG9ydCB0eXBlIEZpbGVUeXBlczxPcHRzPiA9XG4gIE9wdHMgZXh0ZW5kcyBHbG9iT3B0aW9uc1dpdGhGaWxlVHlwZXNUcnVlID8gdHJ1ZVxuICA6IE9wdHMgZXh0ZW5kcyBHbG9iT3B0aW9uc1dpdGhGaWxlVHlwZXNGYWxzZSA/IGZhbHNlXG4gIDogT3B0cyBleHRlbmRzIEdsb2JPcHRpb25zV2l0aEZpbGVUeXBlc1Vuc2V0ID8gZmFsc2VcbiAgOiBib29sZWFuXG5cbi8qKlxuICogQW4gb2JqZWN0IHRoYXQgY2FuIHBlcmZvcm0gZ2xvYiBwYXR0ZXJuIHRyYXZlcnNhbHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBHbG9iPE9wdHMgZXh0ZW5kcyBHbG9iT3B0aW9ucz4gaW1wbGVtZW50cyBHbG9iT3B0aW9ucyB7XG4gIGFic29sdXRlPzogYm9vbGVhblxuICBjd2Q6IHN0cmluZ1xuICByb290Pzogc3RyaW5nXG4gIGRvdDogYm9vbGVhblxuICBkb3RSZWxhdGl2ZTogYm9vbGVhblxuICBmb2xsb3c6IGJvb2xlYW5cbiAgaWdub3JlPzogc3RyaW5nIHwgc3RyaW5nW10gfCBJZ25vcmVMaWtlXG4gIG1hZ2ljYWxCcmFjZXM6IGJvb2xlYW5cbiAgbWFyaz86IGJvb2xlYW5cbiAgbWF0Y2hCYXNlOiBib29sZWFuXG4gIG1heERlcHRoOiBudW1iZXJcbiAgbm9icmFjZTogYm9vbGVhblxuICBub2Nhc2U6IGJvb2xlYW5cbiAgbm9kaXI6IGJvb2xlYW5cbiAgbm9leHQ6IGJvb2xlYW5cbiAgbm9nbG9ic3RhcjogYm9vbGVhblxuICBwYXR0ZXJuOiBzdHJpbmdbXVxuICBwbGF0Zm9ybTogTm9kZUpTLlBsYXRmb3JtXG4gIHJlYWxwYXRoOiBib29sZWFuXG4gIHNjdXJyeTogUGF0aFNjdXJyeVxuICBzdGF0OiBib29sZWFuXG4gIHNpZ25hbD86IEFib3J0U2lnbmFsXG4gIHdpbmRvd3NQYXRoc05vRXNjYXBlOiBib29sZWFuXG4gIHdpdGhGaWxlVHlwZXM6IEZpbGVUeXBlczxPcHRzPlxuICBpbmNsdWRlQ2hpbGRNYXRjaGVzOiBib29sZWFuXG5cbiAgLyoqXG4gICAqIFRoZSBvcHRpb25zIHByb3ZpZGVkIHRvIHRoZSBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIG9wdHM6IE9wdHNcblxuICAvKipcbiAgICogQW4gYXJyYXkgb2YgcGFyc2VkIGltbXV0YWJsZSB7QGxpbmsgUGF0dGVybn0gb2JqZWN0cy5cbiAgICovXG4gIHBhdHRlcm5zOiBQYXR0ZXJuW11cblxuICAvKipcbiAgICogQWxsIG9wdGlvbnMgYXJlIHN0b3JlZCBhcyBwcm9wZXJ0aWVzIG9uIHRoZSBgR2xvYmAgb2JqZWN0LlxuICAgKlxuICAgKiBTZWUge0BsaW5rIEdsb2JPcHRpb25zfSBmb3IgZnVsbCBvcHRpb25zIGRlc2NyaXB0aW9ucy5cbiAgICpcbiAgICogTm90ZSB0aGF0IGEgcHJldmlvdXMgYEdsb2JgIG9iamVjdCBjYW4gYmUgcGFzc2VkIGFzIHRoZVxuICAgKiBgR2xvYk9wdGlvbnNgIHRvIGFub3RoZXIgYEdsb2JgIGluc3RhbnRpYXRpb24gdG8gcmUtdXNlIHNldHRpbmdzXG4gICAqIGFuZCBjYWNoZXMgd2l0aCBhIG5ldyBwYXR0ZXJuLlxuICAgKlxuICAgKiBUcmF2ZXJzYWwgZnVuY3Rpb25zIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMgdG8gcnVuIHRoZSB3YWxrXG4gICAqIGFnYWluLlxuICAgKi9cbiAgY29uc3RydWN0b3IocGF0dGVybjogc3RyaW5nIHwgc3RyaW5nW10sIG9wdHM6IE9wdHMpIHtcbiAgICAvKiBjOCBpZ25vcmUgc3RhcnQgKi9cbiAgICBpZiAoIW9wdHMpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2dsb2Igb3B0aW9ucyByZXF1aXJlZCcpXG4gICAgLyogYzggaWdub3JlIHN0b3AgKi9cbiAgICB0aGlzLndpdGhGaWxlVHlwZXMgPSAhIW9wdHMud2l0aEZpbGVUeXBlcyBhcyBGaWxlVHlwZXM8T3B0cz5cbiAgICB0aGlzLnNpZ25hbCA9IG9wdHMuc2lnbmFsXG4gICAgdGhpcy5mb2xsb3cgPSAhIW9wdHMuZm9sbG93XG4gICAgdGhpcy5kb3QgPSAhIW9wdHMuZG90XG4gICAgdGhpcy5kb3RSZWxhdGl2ZSA9ICEhb3B0cy5kb3RSZWxhdGl2ZVxuICAgIHRoaXMubm9kaXIgPSAhIW9wdHMubm9kaXJcbiAgICB0aGlzLm1hcmsgPSAhIW9wdHMubWFya1xuICAgIGlmICghb3B0cy5jd2QpIHtcbiAgICAgIHRoaXMuY3dkID0gJydcbiAgICB9IGVsc2UgaWYgKG9wdHMuY3dkIGluc3RhbmNlb2YgVVJMIHx8IG9wdHMuY3dkLnN0YXJ0c1dpdGgoJ2ZpbGU6Ly8nKSkge1xuICAgICAgb3B0cy5jd2QgPSBmaWxlVVJMVG9QYXRoKG9wdHMuY3dkKVxuICAgIH1cbiAgICB0aGlzLmN3ZCA9IG9wdHMuY3dkIHx8ICcnXG4gICAgdGhpcy5yb290ID0gb3B0cy5yb290XG4gICAgdGhpcy5tYWdpY2FsQnJhY2VzID0gISFvcHRzLm1hZ2ljYWxCcmFjZXNcbiAgICB0aGlzLm5vYnJhY2UgPSAhIW9wdHMubm9icmFjZVxuICAgIHRoaXMubm9leHQgPSAhIW9wdHMubm9leHRcbiAgICB0aGlzLnJlYWxwYXRoID0gISFvcHRzLnJlYWxwYXRoXG4gICAgdGhpcy5hYnNvbHV0ZSA9IG9wdHMuYWJzb2x1dGVcbiAgICB0aGlzLmluY2x1ZGVDaGlsZE1hdGNoZXMgPSBvcHRzLmluY2x1ZGVDaGlsZE1hdGNoZXMgIT09IGZhbHNlXG5cbiAgICB0aGlzLm5vZ2xvYnN0YXIgPSAhIW9wdHMubm9nbG9ic3RhclxuICAgIHRoaXMubWF0Y2hCYXNlID0gISFvcHRzLm1hdGNoQmFzZVxuICAgIHRoaXMubWF4RGVwdGggPVxuICAgICAgdHlwZW9mIG9wdHMubWF4RGVwdGggPT09ICdudW1iZXInID8gb3B0cy5tYXhEZXB0aCA6IEluZmluaXR5XG4gICAgdGhpcy5zdGF0ID0gISFvcHRzLnN0YXRcbiAgICB0aGlzLmlnbm9yZSA9IG9wdHMuaWdub3JlXG5cbiAgICBpZiAodGhpcy53aXRoRmlsZVR5cGVzICYmIHRoaXMuYWJzb2x1dGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdjYW5ub3Qgc2V0IGFic29sdXRlIGFuZCB3aXRoRmlsZVR5cGVzOnRydWUnKVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgcGF0dGVybiA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHBhdHRlcm4gPSBbcGF0dGVybl1cbiAgICB9XG5cbiAgICB0aGlzLndpbmRvd3NQYXRoc05vRXNjYXBlID1cbiAgICAgICEhb3B0cy53aW5kb3dzUGF0aHNOb0VzY2FwZSB8fFxuICAgICAgKG9wdHMgYXMgeyBhbGxvd1dpbmRvd3NFc2NhcGU/OiBib29sZWFuIH0pLmFsbG93V2luZG93c0VzY2FwZSA9PT1cbiAgICAgICAgZmFsc2VcblxuICAgIGlmICh0aGlzLndpbmRvd3NQYXRoc05vRXNjYXBlKSB7XG4gICAgICBwYXR0ZXJuID0gcGF0dGVybi5tYXAocCA9PiBwLnJlcGxhY2UoL1xcXFwvZywgJy8nKSlcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tYXRjaEJhc2UpIHtcbiAgICAgIGlmIChvcHRzLm5vZ2xvYnN0YXIpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignYmFzZSBtYXRjaGluZyByZXF1aXJlcyBnbG9ic3RhcicpXG4gICAgICB9XG4gICAgICBwYXR0ZXJuID0gcGF0dGVybi5tYXAocCA9PiAocC5pbmNsdWRlcygnLycpID8gcCA6IGAuLyoqLyR7cH1gKSlcbiAgICB9XG5cbiAgICB0aGlzLnBhdHRlcm4gPSBwYXR0ZXJuXG5cbiAgICB0aGlzLnBsYXRmb3JtID0gb3B0cy5wbGF0Zm9ybSB8fCBkZWZhdWx0UGxhdGZvcm1cbiAgICB0aGlzLm9wdHMgPSB7IC4uLm9wdHMsIHBsYXRmb3JtOiB0aGlzLnBsYXRmb3JtIH1cbiAgICBpZiAob3B0cy5zY3VycnkpIHtcbiAgICAgIHRoaXMuc2N1cnJ5ID0gb3B0cy5zY3VycnlcbiAgICAgIGlmIChcbiAgICAgICAgb3B0cy5ub2Nhc2UgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBvcHRzLm5vY2FzZSAhPT0gb3B0cy5zY3Vycnkubm9jYXNlXG4gICAgICApIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdub2Nhc2Ugb3B0aW9uIGNvbnRyYWRpY3RzIHByb3ZpZGVkIHNjdXJyeSBvcHRpb24nKVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBTY3VycnkgPVxuICAgICAgICBvcHRzLnBsYXRmb3JtID09PSAnd2luMzInID8gUGF0aFNjdXJyeVdpbjMyXG4gICAgICAgIDogb3B0cy5wbGF0Zm9ybSA9PT0gJ2RhcndpbicgPyBQYXRoU2N1cnJ5RGFyd2luXG4gICAgICAgIDogb3B0cy5wbGF0Zm9ybSA/IFBhdGhTY3VycnlQb3NpeFxuICAgICAgICA6IFBhdGhTY3VycnlcbiAgICAgIHRoaXMuc2N1cnJ5ID0gbmV3IFNjdXJyeSh0aGlzLmN3ZCwge1xuICAgICAgICBub2Nhc2U6IG9wdHMubm9jYXNlLFxuICAgICAgICBmczogb3B0cy5mcyxcbiAgICAgIH0pXG4gICAgfVxuICAgIHRoaXMubm9jYXNlID0gdGhpcy5zY3Vycnkubm9jYXNlXG5cbiAgICAvLyBJZiB5b3UgZG8gbm9jYXNlOnRydWUgb24gYSBjYXNlLXNlbnNpdGl2ZSBmaWxlIHN5c3RlbSwgdGhlblxuICAgIC8vIHdlIG5lZWQgdG8gdXNlIHJlZ2V4cHMgaW5zdGVhZCBvZiBzdHJpbmdzIGZvciBub24tbWFnaWNcbiAgICAvLyBwYXRoIHBvcnRpb25zLCBiZWNhdXNlIHN0YXR0aW5nIGBhQmNgIHdvbid0IHJldHVybiByZXN1bHRzXG4gICAgLy8gZm9yIHRoZSBmaWxlIGBBYkNgIGZvciBleGFtcGxlLlxuICAgIGNvbnN0IG5vY2FzZU1hZ2ljT25seSA9XG4gICAgICB0aGlzLnBsYXRmb3JtID09PSAnZGFyd2luJyB8fCB0aGlzLnBsYXRmb3JtID09PSAnd2luMzInXG5cbiAgICBjb25zdCBtbW86IE1pbmltYXRjaE9wdGlvbnMgPSB7XG4gICAgICAvLyBkZWZhdWx0IG5vY2FzZSBiYXNlZCBvbiBwbGF0Zm9ybVxuICAgICAgLi4ub3B0cyxcbiAgICAgIGRvdDogdGhpcy5kb3QsXG4gICAgICBtYXRjaEJhc2U6IHRoaXMubWF0Y2hCYXNlLFxuICAgICAgbm9icmFjZTogdGhpcy5ub2JyYWNlLFxuICAgICAgbm9jYXNlOiB0aGlzLm5vY2FzZSxcbiAgICAgIG5vY2FzZU1hZ2ljT25seSxcbiAgICAgIG5vY29tbWVudDogdHJ1ZSxcbiAgICAgIG5vZXh0OiB0aGlzLm5vZXh0LFxuICAgICAgbm9uZWdhdGU6IHRydWUsXG4gICAgICBvcHRpbWl6YXRpb25MZXZlbDogMixcbiAgICAgIHBsYXRmb3JtOiB0aGlzLnBsYXRmb3JtLFxuICAgICAgd2luZG93c1BhdGhzTm9Fc2NhcGU6IHRoaXMud2luZG93c1BhdGhzTm9Fc2NhcGUsXG4gICAgICBkZWJ1ZzogISF0aGlzLm9wdHMuZGVidWcsXG4gICAgfVxuXG4gICAgY29uc3QgbW1zID0gdGhpcy5wYXR0ZXJuLm1hcChwID0+IG5ldyBNaW5pbWF0Y2gocCwgbW1vKSlcbiAgICBjb25zdCBbbWF0Y2hTZXQsIGdsb2JQYXJ0c10gPSBtbXMucmVkdWNlKFxuICAgICAgKHNldDogW01hdGNoU2V0LCBHbG9iUGFydHNdLCBtKSA9PiB7XG4gICAgICAgIHNldFswXS5wdXNoKC4uLm0uc2V0KVxuICAgICAgICBzZXRbMV0ucHVzaCguLi5tLmdsb2JQYXJ0cylcbiAgICAgICAgcmV0dXJuIHNldFxuICAgICAgfSxcbiAgICAgIFtbXSwgW11dLFxuICAgIClcbiAgICB0aGlzLnBhdHRlcm5zID0gbWF0Y2hTZXQubWFwKChzZXQsIGkpID0+IHtcbiAgICAgIGNvbnN0IGcgPSBnbG9iUGFydHNbaV1cbiAgICAgIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICAgICAgaWYgKCFnKSB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcGF0dGVybiBvYmplY3QnKVxuICAgICAgLyogYzggaWdub3JlIHN0b3AgKi9cbiAgICAgIHJldHVybiBuZXcgUGF0dGVybihzZXQsIGcsIDAsIHRoaXMucGxhdGZvcm0pXG4gICAgfSlcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSByZXN1bHRzIGFycmF5LlxuICAgKi9cbiAgYXN5bmMgd2FsaygpOiBQcm9taXNlPFJlc3VsdHM8T3B0cz4+XG4gIGFzeW5jIHdhbGsoKTogUHJvbWlzZTwoc3RyaW5nIHwgUGF0aClbXT4ge1xuICAgIC8vIFdhbGtlcnMgYWx3YXlzIHJldHVybiBhcnJheSBvZiBQYXRoIG9iamVjdHMsIHNvIHdlIGp1c3QgaGF2ZSB0b1xuICAgIC8vIGNvZXJjZSB0aGVtIGludG8gdGhlIHJpZ2h0IHNoYXBlLiAgSXQgd2lsbCBoYXZlIGFscmVhZHkgY2FsbGVkXG4gICAgLy8gcmVhbHBhdGgoKSBpZiB0aGUgb3B0aW9uIHdhcyBzZXQgdG8gZG8gc28sIHNvIHdlIGtub3cgdGhhdCdzIGNhY2hlZC5cbiAgICAvLyBzdGFydCBvdXQga25vd2luZyB0aGUgY3dkLCBhdCBsZWFzdFxuICAgIHJldHVybiBbXG4gICAgICAuLi4oYXdhaXQgbmV3IEdsb2JXYWxrZXIodGhpcy5wYXR0ZXJucywgdGhpcy5zY3VycnkuY3dkLCB7XG4gICAgICAgIC4uLnRoaXMub3B0cyxcbiAgICAgICAgbWF4RGVwdGg6XG4gICAgICAgICAgdGhpcy5tYXhEZXB0aCAhPT0gSW5maW5pdHkgP1xuICAgICAgICAgICAgdGhpcy5tYXhEZXB0aCArIHRoaXMuc2N1cnJ5LmN3ZC5kZXB0aCgpXG4gICAgICAgICAgOiBJbmZpbml0eSxcbiAgICAgICAgcGxhdGZvcm06IHRoaXMucGxhdGZvcm0sXG4gICAgICAgIG5vY2FzZTogdGhpcy5ub2Nhc2UsXG4gICAgICAgIGluY2x1ZGVDaGlsZE1hdGNoZXM6IHRoaXMuaW5jbHVkZUNoaWxkTWF0Y2hlcyxcbiAgICAgIH0pLndhbGsoKSksXG4gICAgXVxuICB9XG5cbiAgLyoqXG4gICAqIHN5bmNocm9ub3VzIHtAbGluayBHbG9iLndhbGt9XG4gICAqL1xuICB3YWxrU3luYygpOiBSZXN1bHRzPE9wdHM+XG4gIHdhbGtTeW5jKCk6IChzdHJpbmcgfCBQYXRoKVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgLi4ubmV3IEdsb2JXYWxrZXIodGhpcy5wYXR0ZXJucywgdGhpcy5zY3VycnkuY3dkLCB7XG4gICAgICAgIC4uLnRoaXMub3B0cyxcbiAgICAgICAgbWF4RGVwdGg6XG4gICAgICAgICAgdGhpcy5tYXhEZXB0aCAhPT0gSW5maW5pdHkgP1xuICAgICAgICAgICAgdGhpcy5tYXhEZXB0aCArIHRoaXMuc2N1cnJ5LmN3ZC5kZXB0aCgpXG4gICAgICAgICAgOiBJbmZpbml0eSxcbiAgICAgICAgcGxhdGZvcm06IHRoaXMucGxhdGZvcm0sXG4gICAgICAgIG5vY2FzZTogdGhpcy5ub2Nhc2UsXG4gICAgICAgIGluY2x1ZGVDaGlsZE1hdGNoZXM6IHRoaXMuaW5jbHVkZUNoaWxkTWF0Y2hlcyxcbiAgICAgIH0pLndhbGtTeW5jKCksXG4gICAgXVxuICB9XG5cbiAgLyoqXG4gICAqIFN0cmVhbSByZXN1bHRzIGFzeW5jaHJvbm91c2x5LlxuICAgKi9cbiAgc3RyZWFtKCk6IE1pbmlwYXNzPFJlc3VsdDxPcHRzPiwgUmVzdWx0PE9wdHM+PlxuICBzdHJlYW0oKTogTWluaXBhc3M8c3RyaW5nIHwgUGF0aCwgc3RyaW5nIHwgUGF0aD4ge1xuICAgIHJldHVybiBuZXcgR2xvYlN0cmVhbSh0aGlzLnBhdHRlcm5zLCB0aGlzLnNjdXJyeS5jd2QsIHtcbiAgICAgIC4uLnRoaXMub3B0cyxcbiAgICAgIG1heERlcHRoOlxuICAgICAgICB0aGlzLm1heERlcHRoICE9PSBJbmZpbml0eSA/XG4gICAgICAgICAgdGhpcy5tYXhEZXB0aCArIHRoaXMuc2N1cnJ5LmN3ZC5kZXB0aCgpXG4gICAgICAgIDogSW5maW5pdHksXG4gICAgICBwbGF0Zm9ybTogdGhpcy5wbGF0Zm9ybSxcbiAgICAgIG5vY2FzZTogdGhpcy5ub2Nhc2UsXG4gICAgICBpbmNsdWRlQ2hpbGRNYXRjaGVzOiB0aGlzLmluY2x1ZGVDaGlsZE1hdGNoZXMsXG4gICAgfSkuc3RyZWFtKClcbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJlYW0gcmVzdWx0cyBzeW5jaHJvbm91c2x5LlxuICAgKi9cbiAgc3RyZWFtU3luYygpOiBNaW5pcGFzczxSZXN1bHQ8T3B0cz4sIFJlc3VsdDxPcHRzPj5cbiAgc3RyZWFtU3luYygpOiBNaW5pcGFzczxzdHJpbmcgfCBQYXRoLCBzdHJpbmcgfCBQYXRoPiB7XG4gICAgcmV0dXJuIG5ldyBHbG9iU3RyZWFtKHRoaXMucGF0dGVybnMsIHRoaXMuc2N1cnJ5LmN3ZCwge1xuICAgICAgLi4udGhpcy5vcHRzLFxuICAgICAgbWF4RGVwdGg6XG4gICAgICAgIHRoaXMubWF4RGVwdGggIT09IEluZmluaXR5ID9cbiAgICAgICAgICB0aGlzLm1heERlcHRoICsgdGhpcy5zY3VycnkuY3dkLmRlcHRoKClcbiAgICAgICAgOiBJbmZpbml0eSxcbiAgICAgIHBsYXRmb3JtOiB0aGlzLnBsYXRmb3JtLFxuICAgICAgbm9jYXNlOiB0aGlzLm5vY2FzZSxcbiAgICAgIGluY2x1ZGVDaGlsZE1hdGNoZXM6IHRoaXMuaW5jbHVkZUNoaWxkTWF0Y2hlcyxcbiAgICB9KS5zdHJlYW1TeW5jKClcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZhdWx0IHN5bmMgaXRlcmF0aW9uIGZ1bmN0aW9uLiBSZXR1cm5zIGEgR2VuZXJhdG9yIHRoYXRcbiAgICogaXRlcmF0ZXMgb3ZlciB0aGUgcmVzdWx0cy5cbiAgICovXG4gIGl0ZXJhdGVTeW5jKCk6IEdlbmVyYXRvcjxSZXN1bHQ8T3B0cz4sIHZvaWQsIHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5zdHJlYW1TeW5jKClbU3ltYm9sLml0ZXJhdG9yXSgpXG4gIH1cbiAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlcmF0ZVN5bmMoKVxuICB9XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgYXN5bmMgaXRlcmF0aW9uIGZ1bmN0aW9uLiBSZXR1cm5zIGFuIEFzeW5jR2VuZXJhdG9yIHRoYXRcbiAgICogaXRlcmF0ZXMgb3ZlciB0aGUgcmVzdWx0cy5cbiAgICovXG4gIGl0ZXJhdGUoKTogQXN5bmNHZW5lcmF0b3I8UmVzdWx0PE9wdHM+LCB2b2lkLCB2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RyZWFtKClbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKClcbiAgfVxuICBbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKCkge1xuICAgIHJldHVybiB0aGlzLml0ZXJhdGUoKVxuICB9XG59XG4iLCAiLyoqXG4gKiBAbW9kdWxlIExSVUNhY2hlXG4gKi9cblxuLy8gbW9kdWxlLXByaXZhdGUgbmFtZXMgYW5kIHR5cGVzXG50eXBlIFBlcmYgPSB7IG5vdzogKCkgPT4gbnVtYmVyIH1cbmNvbnN0IHBlcmY6IFBlcmYgPVxuICB0eXBlb2YgcGVyZm9ybWFuY2UgPT09ICdvYmplY3QnICYmXG4gIHBlcmZvcm1hbmNlICYmXG4gIHR5cGVvZiBwZXJmb3JtYW5jZS5ub3cgPT09ICdmdW5jdGlvbidcbiAgICA/IHBlcmZvcm1hbmNlXG4gICAgOiBEYXRlXG5cbmNvbnN0IHdhcm5lZCA9IG5ldyBTZXQ8c3RyaW5nPigpXG5cbi8vIGVpdGhlciBhIGZ1bmN0aW9uIG9yIGEgY2xhc3NcbnR5cGUgRm9yQyA9ICgoLi4uYTogYW55W10pID0+IGFueSkgfCB7IG5ldyAoLi4uYTogYW55W10pOiBhbnkgfVxuXG4vKiBjOCBpZ25vcmUgc3RhcnQgKi9cbmNvbnN0IFBST0NFU1MgPSAoXG4gIHR5cGVvZiBwcm9jZXNzID09PSAnb2JqZWN0JyAmJiAhIXByb2Nlc3MgPyBwcm9jZXNzIDoge31cbikgYXMgeyBbazogc3RyaW5nXTogYW55IH1cbi8qIGM4IGlnbm9yZSBzdGFydCAqL1xuXG5jb25zdCBlbWl0V2FybmluZyA9IChcbiAgbXNnOiBzdHJpbmcsXG4gIHR5cGU6IHN0cmluZyxcbiAgY29kZTogc3RyaW5nLFxuICBmbjogRm9yQ1xuKSA9PiB7XG4gIHR5cGVvZiBQUk9DRVNTLmVtaXRXYXJuaW5nID09PSAnZnVuY3Rpb24nXG4gICAgPyBQUk9DRVNTLmVtaXRXYXJuaW5nKG1zZywgdHlwZSwgY29kZSwgZm4pXG4gICAgOiBjb25zb2xlLmVycm9yKGBbJHtjb2RlfV0gJHt0eXBlfTogJHttc2d9YClcbn1cblxubGV0IEFDID0gZ2xvYmFsVGhpcy5BYm9ydENvbnRyb2xsZXJcbmxldCBBUyA9IGdsb2JhbFRoaXMuQWJvcnRTaWduYWxcblxuLyogYzggaWdub3JlIHN0YXJ0ICovXG5pZiAodHlwZW9mIEFDID09PSAndW5kZWZpbmVkJykge1xuICAvL0B0cy1pZ25vcmVcbiAgQVMgPSBjbGFzcyBBYm9ydFNpZ25hbCB7XG4gICAgb25hYm9ydD86ICguLi5hOiBhbnlbXSkgPT4gYW55XG4gICAgX29uYWJvcnQ6ICgoLi4uYTogYW55W10pID0+IGFueSlbXSA9IFtdXG4gICAgcmVhc29uPzogYW55XG4gICAgYWJvcnRlZDogYm9vbGVhbiA9IGZhbHNlXG4gICAgYWRkRXZlbnRMaXN0ZW5lcihfOiBzdHJpbmcsIGZuOiAoLi4uYTogYW55W10pID0+IGFueSkge1xuICAgICAgdGhpcy5fb25hYm9ydC5wdXNoKGZuKVxuICAgIH1cbiAgfVxuICAvL0B0cy1pZ25vcmVcbiAgQUMgPSBjbGFzcyBBYm9ydENvbnRyb2xsZXIge1xuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgd2FybkFDUG9seWZpbGwoKVxuICAgIH1cbiAgICBzaWduYWwgPSBuZXcgQVMoKVxuICAgIGFib3J0KHJlYXNvbjogYW55KSB7XG4gICAgICBpZiAodGhpcy5zaWduYWwuYWJvcnRlZCkgcmV0dXJuXG4gICAgICAvL0B0cy1pZ25vcmVcbiAgICAgIHRoaXMuc2lnbmFsLnJlYXNvbiA9IHJlYXNvblxuICAgICAgLy9AdHMtaWdub3JlXG4gICAgICB0aGlzLnNpZ25hbC5hYm9ydGVkID0gdHJ1ZVxuICAgICAgLy9AdHMtaWdub3JlXG4gICAgICBmb3IgKGNvbnN0IGZuIG9mIHRoaXMuc2lnbmFsLl9vbmFib3J0KSB7XG4gICAgICAgIGZuKHJlYXNvbilcbiAgICAgIH1cbiAgICAgIHRoaXMuc2lnbmFsLm9uYWJvcnQ/LihyZWFzb24pXG4gICAgfVxuICB9XG4gIGxldCBwcmludEFDUG9seWZpbGxXYXJuaW5nID1cbiAgICBQUk9DRVNTLmVudj8uTFJVX0NBQ0hFX0lHTk9SRV9BQ19XQVJOSU5HICE9PSAnMSdcbiAgY29uc3Qgd2FybkFDUG9seWZpbGwgPSAoKSA9PiB7XG4gICAgaWYgKCFwcmludEFDUG9seWZpbGxXYXJuaW5nKSByZXR1cm5cbiAgICBwcmludEFDUG9seWZpbGxXYXJuaW5nID0gZmFsc2VcbiAgICBlbWl0V2FybmluZyhcbiAgICAgICdBYm9ydENvbnRyb2xsZXIgaXMgbm90IGRlZmluZWQuIElmIHVzaW5nIGxydS1jYWNoZSBpbiAnICtcbiAgICAgICAgJ25vZGUgMTQsIGxvYWQgYW4gQWJvcnRDb250cm9sbGVyIHBvbHlmaWxsIGZyb20gdGhlICcgK1xuICAgICAgICAnYG5vZGUtYWJvcnQtY29udHJvbGxlcmAgcGFja2FnZS4gQSBtaW5pbWFsIHBvbHlmaWxsIGlzICcgK1xuICAgICAgICAncHJvdmlkZWQgZm9yIHVzZSBieSBMUlVDYWNoZS5mZXRjaCgpLCBidXQgaXQgc2hvdWxkIG5vdCBiZSAnICtcbiAgICAgICAgJ3JlbGllZCB1cG9uIGluIG90aGVyIGNvbnRleHRzIChlZywgcGFzc2luZyBpdCB0byBvdGhlciBBUElzIHRoYXQgJyArXG4gICAgICAgICd1c2UgQWJvcnRDb250cm9sbGVyL0Fib3J0U2lnbmFsIG1pZ2h0IGhhdmUgdW5kZXNpcmFibGUgZWZmZWN0cykuICcgK1xuICAgICAgICAnWW91IG1heSBkaXNhYmxlIHRoaXMgd2l0aCBMUlVfQ0FDSEVfSUdOT1JFX0FDX1dBUk5JTkc9MSBpbiB0aGUgZW52LicsXG4gICAgICAnTk9fQUJPUlRfQ09OVFJPTExFUicsXG4gICAgICAnRU5PVFNVUCcsXG4gICAgICB3YXJuQUNQb2x5ZmlsbFxuICAgIClcbiAgfVxufVxuLyogYzggaWdub3JlIHN0b3AgKi9cblxuY29uc3Qgc2hvdWxkV2FybiA9IChjb2RlOiBzdHJpbmcpID0+ICF3YXJuZWQuaGFzKGNvZGUpXG5cbmNvbnN0IFRZUEUgPSBTeW1ib2woJ3R5cGUnKVxuZXhwb3J0IHR5cGUgUG9zSW50ID0gbnVtYmVyICYgeyBbVFlQRV06ICdQb3NpdGl2ZSBJbnRlZ2VyJyB9XG5leHBvcnQgdHlwZSBJbmRleCA9IG51bWJlciAmIHsgW1RZUEVdOiAnTFJVQ2FjaGUgSW5kZXgnIH1cblxuY29uc3QgaXNQb3NJbnQgPSAobjogYW55KTogbiBpcyBQb3NJbnQgPT5cbiAgbiAmJiBuID09PSBNYXRoLmZsb29yKG4pICYmIG4gPiAwICYmIGlzRmluaXRlKG4pXG5cbmV4cG9ydCB0eXBlIFVpbnRBcnJheSA9IFVpbnQ4QXJyYXkgfCBVaW50MTZBcnJheSB8IFVpbnQzMkFycmF5XG5leHBvcnQgdHlwZSBOdW1iZXJBcnJheSA9IFVpbnRBcnJheSB8IG51bWJlcltdXG5cbi8qIGM4IGlnbm9yZSBzdGFydCAqL1xuLy8gVGhpcyBpcyBhIGxpdHRsZSBiaXQgcmlkaWN1bG91cywgdGJoLlxuLy8gVGhlIG1heGltdW0gYXJyYXkgbGVuZ3RoIGlzIDJeMzItMSBvciB0aGVyZWFib3V0cyBvbiBtb3N0IEpTIGltcGxzLlxuLy8gQW5kIHdlbGwgYmVmb3JlIHRoYXQgcG9pbnQsIHlvdSdyZSBjYWNoaW5nIHRoZSBlbnRpcmUgd29ybGQsIEkgbWVhbixcbi8vIHRoYXQncyB+MzJHQiBvZiBqdXN0IGludGVnZXJzIGZvciB0aGUgbmV4dC9wcmV2IGxpbmtzLCBwbHVzIHdoYXRldmVyXG4vLyBlbHNlIHRvIGhvbGQgdGhhdCBtYW55IGtleXMgYW5kIHZhbHVlcy4gIEp1c3QgZmlsbGluZyB0aGUgbWVtb3J5IHdpdGhcbi8vIHplcm9lcyBhdCBpbml0IHRpbWUgaXMgYnJ1dGFsIHdoZW4geW91IGdldCB0aGF0IGJpZy5cbi8vIEJ1dCB3aHkgbm90IGJlIGNvbXBsZXRlP1xuLy8gTWF5YmUgaW4gdGhlIGZ1dHVyZSwgdGhlc2UgbGltaXRzIHdpbGwgaGF2ZSBleHBhbmRlZC5cbmNvbnN0IGdldFVpbnRBcnJheSA9IChtYXg6IG51bWJlcikgPT5cbiAgIWlzUG9zSW50KG1heClcbiAgICA/IG51bGxcbiAgICA6IG1heCA8PSBNYXRoLnBvdygyLCA4KVxuICAgID8gVWludDhBcnJheVxuICAgIDogbWF4IDw9IE1hdGgucG93KDIsIDE2KVxuICAgID8gVWludDE2QXJyYXlcbiAgICA6IG1heCA8PSBNYXRoLnBvdygyLCAzMilcbiAgICA/IFVpbnQzMkFycmF5XG4gICAgOiBtYXggPD0gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcbiAgICA/IFplcm9BcnJheVxuICAgIDogbnVsbFxuLyogYzggaWdub3JlIHN0b3AgKi9cblxuY2xhc3MgWmVyb0FycmF5IGV4dGVuZHMgQXJyYXk8bnVtYmVyPiB7XG4gIGNvbnN0cnVjdG9yKHNpemU6IG51bWJlcikge1xuICAgIHN1cGVyKHNpemUpXG4gICAgdGhpcy5maWxsKDApXG4gIH1cbn1cbmV4cG9ydCB0eXBlIHsgWmVyb0FycmF5IH1cbmV4cG9ydCB0eXBlIHsgU3RhY2sgfVxuXG5leHBvcnQgdHlwZSBTdGFja0xpa2UgPSBTdGFjayB8IEluZGV4W11cbmNsYXNzIFN0YWNrIHtcbiAgaGVhcDogTnVtYmVyQXJyYXlcbiAgbGVuZ3RoOiBudW1iZXJcbiAgLy8gcHJpdmF0ZSBjb25zdHJ1Y3RvclxuICBzdGF0aWMgI2NvbnN0cnVjdGluZzogYm9vbGVhbiA9IGZhbHNlXG4gIHN0YXRpYyBjcmVhdGUobWF4OiBudW1iZXIpOiBTdGFja0xpa2Uge1xuICAgIGNvbnN0IEhlYXBDbHMgPSBnZXRVaW50QXJyYXkobWF4KVxuICAgIGlmICghSGVhcENscykgcmV0dXJuIFtdXG4gICAgU3RhY2suI2NvbnN0cnVjdGluZyA9IHRydWVcbiAgICBjb25zdCBzID0gbmV3IFN0YWNrKG1heCwgSGVhcENscylcbiAgICBTdGFjay4jY29uc3RydWN0aW5nID0gZmFsc2VcbiAgICByZXR1cm4gc1xuICB9XG4gIGNvbnN0cnVjdG9yKFxuICAgIG1heDogbnVtYmVyLFxuICAgIEhlYXBDbHM6IHsgbmV3IChuOiBudW1iZXIpOiBOdW1iZXJBcnJheSB9XG4gICkge1xuICAgIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICAgIGlmICghU3RhY2suI2NvbnN0cnVjdGluZykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignaW5zdGFudGlhdGUgU3RhY2sgdXNpbmcgU3RhY2suY3JlYXRlKG4pJylcbiAgICB9XG4gICAgLyogYzggaWdub3JlIHN0b3AgKi9cbiAgICB0aGlzLmhlYXAgPSBuZXcgSGVhcENscyhtYXgpXG4gICAgdGhpcy5sZW5ndGggPSAwXG4gIH1cbiAgcHVzaChuOiBJbmRleCkge1xuICAgIHRoaXMuaGVhcFt0aGlzLmxlbmd0aCsrXSA9IG5cbiAgfVxuICBwb3AoKTogSW5kZXgge1xuICAgIHJldHVybiB0aGlzLmhlYXBbLS10aGlzLmxlbmd0aF0gYXMgSW5kZXhcbiAgfVxufVxuXG4vKipcbiAqIFByb21pc2UgcmVwcmVzZW50aW5nIGFuIGluLXByb2dyZXNzIHtAbGluayBMUlVDYWNoZSNmZXRjaH0gY2FsbFxuICovXG5leHBvcnQgdHlwZSBCYWNrZ3JvdW5kRmV0Y2g8Vj4gPSBQcm9taXNlPFYgfCB1bmRlZmluZWQ+ICYge1xuICBfX3JldHVybmVkOiBCYWNrZ3JvdW5kRmV0Y2g8Vj4gfCB1bmRlZmluZWRcbiAgX19hYm9ydENvbnRyb2xsZXI6IEFib3J0Q29udHJvbGxlclxuICBfX3N0YWxlV2hpbGVGZXRjaGluZzogViB8IHVuZGVmaW5lZFxufVxuXG5leHBvcnQgdHlwZSBEaXNwb3NlVGFzazxLLCBWPiA9IFtcbiAgdmFsdWU6IFYsXG4gIGtleTogSyxcbiAgcmVhc29uOiBMUlVDYWNoZS5EaXNwb3NlUmVhc29uXG5dXG5cbmV4cG9ydCBuYW1lc3BhY2UgTFJVQ2FjaGUge1xuICAvKipcbiAgICogQW4gaW50ZWdlciBncmVhdGVyIHRoYW4gMCwgcmVmbGVjdGluZyB0aGUgY2FsY3VsYXRlZCBzaXplIG9mIGl0ZW1zXG4gICAqL1xuICBleHBvcnQgdHlwZSBTaXplID0gbnVtYmVyXG5cbiAgLyoqXG4gICAqIEludGVnZXIgZ3JlYXRlciB0aGFuIDAsIHJlcHJlc2VudGluZyBzb21lIG51bWJlciBvZiBtaWxsaXNlY29uZHMsIG9yIHRoZVxuICAgKiB0aW1lIGF0IHdoaWNoIGEgVFRMIHN0YXJ0ZWQgY291bnRpbmcgZnJvbS5cbiAgICovXG4gIGV4cG9ydCB0eXBlIE1pbGxpc2Vjb25kcyA9IG51bWJlclxuXG4gIC8qKlxuICAgKiBBbiBpbnRlZ2VyIGdyZWF0ZXIgdGhhbiAwLCByZWZsZWN0aW5nIGEgbnVtYmVyIG9mIGl0ZW1zXG4gICAqL1xuICBleHBvcnQgdHlwZSBDb3VudCA9IG51bWJlclxuXG4gIC8qKlxuICAgKiBUaGUgcmVhc29uIHdoeSBhbiBpdGVtIHdhcyByZW1vdmVkIGZyb20gdGhlIGNhY2hlLCBwYXNzZWRcbiAgICogdG8gdGhlIHtAbGluayBEaXNwb3Nlcn0gbWV0aG9kcy5cbiAgICpcbiAgICogLSBgZXZpY3RgOiBUaGUgaXRlbSB3YXMgZXZpY3RlZCBiZWNhdXNlIGl0IGlzIHRoZSBsZWFzdCByZWNlbnRseSB1c2VkLFxuICAgKiAgIGFuZCB0aGUgY2FjaGUgaXMgZnVsbC5cbiAgICogLSBgc2V0YDogQSBuZXcgdmFsdWUgd2FzIHNldCwgb3ZlcndyaXRpbmcgdGhlIG9sZCB2YWx1ZSBiZWluZyBkaXNwb3NlZC5cbiAgICogLSBgZGVsZXRlYDogVGhlIGl0ZW0gd2FzIGV4cGxpY2l0bHkgZGVsZXRlZCwgZWl0aGVyIGJ5IGNhbGxpbmdcbiAgICogICB7QGxpbmsgTFJVQ2FjaGUjZGVsZXRlfSwge0BsaW5rIExSVUNhY2hlI2NsZWFyfSwgb3JcbiAgICogICB7QGxpbmsgTFJVQ2FjaGUjc2V0fSB3aXRoIGFuIHVuZGVmaW5lZCB2YWx1ZS5cbiAgICogLSBgZXhwaXJlYDogVGhlIGl0ZW0gd2FzIHJlbW92ZWQgZHVlIHRvIGV4Y2VlZGluZyBpdHMgVFRMLlxuICAgKiAtIGBmZXRjaGA6IEEge0BsaW5rIE9wdGlvbnNCYXNlI2ZldGNoTWV0aG9kfSBvcGVyYXRpb24gcmV0dXJuZWRcbiAgICogICBgdW5kZWZpbmVkYCBvciB3YXMgYWJvcnRlZCwgY2F1c2luZyB0aGUgaXRlbSB0byBiZSBkZWxldGVkLlxuICAgKi9cbiAgZXhwb3J0IHR5cGUgRGlzcG9zZVJlYXNvbiA9XG4gICAgfCAnZXZpY3QnXG4gICAgfCAnc2V0J1xuICAgIHwgJ2RlbGV0ZSdcbiAgICB8ICdleHBpcmUnXG4gICAgfCAnZmV0Y2gnXG4gIC8qKlxuICAgKiBBIG1ldGhvZCBjYWxsZWQgdXBvbiBpdGVtIHJlbW92YWwsIHBhc3NlZCBhcyB0aGVcbiAgICoge0BsaW5rIE9wdGlvbnNCYXNlLmRpc3Bvc2V9IGFuZC9vclxuICAgKiB7QGxpbmsgT3B0aW9uc0Jhc2UuZGlzcG9zZUFmdGVyfSBvcHRpb25zLlxuICAgKi9cbiAgZXhwb3J0IHR5cGUgRGlzcG9zZXI8SywgVj4gPSAoXG4gICAgdmFsdWU6IFYsXG4gICAga2V5OiBLLFxuICAgIHJlYXNvbjogRGlzcG9zZVJlYXNvblxuICApID0+IHZvaWRcblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB0aGF0IHJldHVybnMgdGhlIGVmZmVjdGl2ZSBjYWxjdWxhdGVkIHNpemVcbiAgICogb2YgYW4gZW50cnkgaW4gdGhlIGNhY2hlLlxuICAgKi9cbiAgZXhwb3J0IHR5cGUgU2l6ZUNhbGN1bGF0b3I8SywgVj4gPSAodmFsdWU6IFYsIGtleTogSykgPT4gU2l6ZVxuXG4gIC8qKlxuICAgKiBPcHRpb25zIHByb3ZpZGVkIHRvIHRoZVxuICAgKiB7QGxpbmsgT3B0aW9uc0Jhc2UuZmV0Y2hNZXRob2R9IGZ1bmN0aW9uLlxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBGZXRjaGVyT3B0aW9uczxLLCBWLCBGQyA9IHVua25vd24+IHtcbiAgICBzaWduYWw6IEFib3J0U2lnbmFsXG4gICAgb3B0aW9uczogRmV0Y2hlckZldGNoT3B0aW9uczxLLCBWLCBGQz5cbiAgICAvKipcbiAgICAgKiBPYmplY3QgcHJvdmlkZWQgaW4gdGhlIHtAbGluayBGZXRjaE9wdGlvbnMuY29udGV4dH0gb3B0aW9uIHRvXG4gICAgICoge0BsaW5rIExSVUNhY2hlI2ZldGNofVxuICAgICAqL1xuICAgIGNvbnRleHQ6IEZDXG4gIH1cblxuICAvKipcbiAgICogT2NjYXNpb25hbGx5LCBpdCBtYXkgYmUgdXNlZnVsIHRvIHRyYWNrIHRoZSBpbnRlcm5hbCBiZWhhdmlvciBvZiB0aGVcbiAgICogY2FjaGUsIHBhcnRpY3VsYXJseSBmb3IgbG9nZ2luZywgZGVidWdnaW5nLCBvciBmb3IgYmVoYXZpb3Igd2l0aGluIHRoZVxuICAgKiBgZmV0Y2hNZXRob2RgLiBUbyBkbyB0aGlzLCB5b3UgY2FuIHBhc3MgYSBgc3RhdHVzYCBvYmplY3QgdG8gdGhlXG4gICAqIHtAbGluayBMUlVDYWNoZSNmZXRjaH0sIHtAbGluayBMUlVDYWNoZSNnZXR9LCB7QGxpbmsgTFJVQ2FjaGUjc2V0fSxcbiAgICoge0BsaW5rIExSVUNhY2hlI21lbW99LCBhbmQge0BsaW5rIExSVUNhY2hlI2hhc30gbWV0aG9kcy5cbiAgICpcbiAgICogVGhlIGBzdGF0dXNgIG9wdGlvbiBzaG91bGQgYmUgYSBwbGFpbiBKYXZhU2NyaXB0IG9iamVjdC4gVGhlIGZvbGxvd2luZ1xuICAgKiBmaWVsZHMgd2lsbCBiZSBzZXQgb24gaXQgYXBwcm9wcmlhdGVseSwgZGVwZW5kaW5nIG9uIHRoZSBzaXR1YXRpb24uXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIFN0YXR1czxWPiB7XG4gICAgLyoqXG4gICAgICogVGhlIHN0YXR1cyBvZiBhIHNldCgpIG9wZXJhdGlvbi5cbiAgICAgKlxuICAgICAqIC0gYWRkOiB0aGUgaXRlbSB3YXMgbm90IGZvdW5kIGluIHRoZSBjYWNoZSwgYW5kIHdhcyBhZGRlZFxuICAgICAqIC0gdXBkYXRlOiB0aGUgaXRlbSB3YXMgaW4gdGhlIGNhY2hlLCB3aXRoIHRoZSBzYW1lIHZhbHVlIHByb3ZpZGVkXG4gICAgICogLSByZXBsYWNlOiB0aGUgaXRlbSB3YXMgaW4gdGhlIGNhY2hlLCBhbmQgcmVwbGFjZWRcbiAgICAgKiAtIG1pc3M6IHRoZSBpdGVtIHdhcyBub3QgYWRkZWQgdG8gdGhlIGNhY2hlIGZvciBzb21lIHJlYXNvblxuICAgICAqL1xuICAgIHNldD86ICdhZGQnIHwgJ3VwZGF0ZScgfCAncmVwbGFjZScgfCAnbWlzcydcblxuICAgIC8qKlxuICAgICAqIHRoZSB0dGwgc3RvcmVkIGZvciB0aGUgaXRlbSwgb3IgdW5kZWZpbmVkIGlmIHR0bHMgYXJlIG5vdCB1c2VkLlxuICAgICAqL1xuICAgIHR0bD86IE1pbGxpc2Vjb25kc1xuXG4gICAgLyoqXG4gICAgICogdGhlIHN0YXJ0IHRpbWUgZm9yIHRoZSBpdGVtLCBvciB1bmRlZmluZWQgaWYgdHRscyBhcmUgbm90IHVzZWQuXG4gICAgICovXG4gICAgc3RhcnQ/OiBNaWxsaXNlY29uZHNcblxuICAgIC8qKlxuICAgICAqIFRoZSB0aW1lc3RhbXAgdXNlZCBmb3IgVFRMIGNhbGN1bGF0aW9uXG4gICAgICovXG4gICAgbm93PzogTWlsbGlzZWNvbmRzXG5cbiAgICAvKipcbiAgICAgKiB0aGUgcmVtYWluaW5nIHR0bCBmb3IgdGhlIGl0ZW0sIG9yIHVuZGVmaW5lZCBpZiB0dGxzIGFyZSBub3QgdXNlZC5cbiAgICAgKi9cbiAgICByZW1haW5pbmdUVEw/OiBNaWxsaXNlY29uZHNcblxuICAgIC8qKlxuICAgICAqIFRoZSBjYWxjdWxhdGVkIHNpemUgZm9yIHRoZSBpdGVtLCBpZiBzaXplcyBhcmUgdXNlZC5cbiAgICAgKi9cbiAgICBlbnRyeVNpemU/OiBTaXplXG5cbiAgICAvKipcbiAgICAgKiBUaGUgdG90YWwgY2FsY3VsYXRlZCBzaXplIG9mIHRoZSBjYWNoZSwgaWYgc2l6ZXMgYXJlIHVzZWQuXG4gICAgICovXG4gICAgdG90YWxDYWxjdWxhdGVkU2l6ZT86IFNpemVcblxuICAgIC8qKlxuICAgICAqIEEgZmxhZyBpbmRpY2F0aW5nIHRoYXQgdGhlIGl0ZW0gd2FzIG5vdCBzdG9yZWQsIGR1ZSB0byBleGNlZWRpbmcgdGhlXG4gICAgICoge0BsaW5rIE9wdGlvbnNCYXNlLm1heEVudHJ5U2l6ZX1cbiAgICAgKi9cbiAgICBtYXhFbnRyeVNpemVFeGNlZWRlZD86IHRydWVcblxuICAgIC8qKlxuICAgICAqIFRoZSBvbGQgdmFsdWUsIHNwZWNpZmllZCBpbiB0aGUgY2FzZSBvZiBgc2V0Oid1cGRhdGUnYCBvclxuICAgICAqIGBzZXQ6J3JlcGxhY2UnYFxuICAgICAqL1xuICAgIG9sZFZhbHVlPzogVlxuXG4gICAgLyoqXG4gICAgICogVGhlIHJlc3VsdHMgb2YgYSB7QGxpbmsgTFJVQ2FjaGUjaGFzfSBvcGVyYXRpb25cbiAgICAgKlxuICAgICAqIC0gaGl0OiB0aGUgaXRlbSB3YXMgZm91bmQgaW4gdGhlIGNhY2hlXG4gICAgICogLSBzdGFsZTogdGhlIGl0ZW0gd2FzIGZvdW5kIGluIHRoZSBjYWNoZSwgYnV0IGlzIHN0YWxlXG4gICAgICogLSBtaXNzOiB0aGUgaXRlbSB3YXMgbm90IGZvdW5kIGluIHRoZSBjYWNoZVxuICAgICAqL1xuICAgIGhhcz86ICdoaXQnIHwgJ3N0YWxlJyB8ICdtaXNzJ1xuXG4gICAgLyoqXG4gICAgICogVGhlIHN0YXR1cyBvZiBhIHtAbGluayBMUlVDYWNoZSNmZXRjaH0gb3BlcmF0aW9uLlxuICAgICAqIE5vdGUgdGhhdCB0aGlzIGNhbiBjaGFuZ2UgYXMgdGhlIHVuZGVybHlpbmcgZmV0Y2goKSBtb3ZlcyB0aHJvdWdoXG4gICAgICogdmFyaW91cyBzdGF0ZXMuXG4gICAgICpcbiAgICAgKiAtIGluZmxpZ2h0OiB0aGVyZSBpcyBhbm90aGVyIGZldGNoKCkgZm9yIHRoaXMga2V5IHdoaWNoIGlzIGluIHByb2Nlc3NcbiAgICAgKiAtIGdldDogdGhlcmUgaXMgbm8ge0BsaW5rIE9wdGlvbnNCYXNlLmZldGNoTWV0aG9kfSwgc29cbiAgICAgKiAgIHtAbGluayBMUlVDYWNoZSNnZXR9IHdhcyBjYWxsZWQuXG4gICAgICogLSBtaXNzOiB0aGUgaXRlbSBpcyBub3QgaW4gY2FjaGUsIGFuZCB3aWxsIGJlIGZldGNoZWQuXG4gICAgICogLSBoaXQ6IHRoZSBpdGVtIGlzIGluIHRoZSBjYWNoZSwgYW5kIHdhcyByZXNvbHZlZCBpbW1lZGlhdGVseS5cbiAgICAgKiAtIHN0YWxlOiB0aGUgaXRlbSBpcyBpbiB0aGUgY2FjaGUsIGJ1dCBzdGFsZS5cbiAgICAgKiAtIHJlZnJlc2g6IHRoZSBpdGVtIGlzIGluIHRoZSBjYWNoZSwgYW5kIG5vdCBzdGFsZSwgYnV0XG4gICAgICogICB7QGxpbmsgRmV0Y2hPcHRpb25zLmZvcmNlUmVmcmVzaH0gd2FzIHNwZWNpZmllZC5cbiAgICAgKi9cbiAgICBmZXRjaD86ICdnZXQnIHwgJ2luZmxpZ2h0JyB8ICdtaXNzJyB8ICdoaXQnIHwgJ3N0YWxlJyB8ICdyZWZyZXNoJ1xuXG4gICAgLyoqXG4gICAgICogVGhlIHtAbGluayBPcHRpb25zQmFzZS5mZXRjaE1ldGhvZH0gd2FzIGNhbGxlZFxuICAgICAqL1xuICAgIGZldGNoRGlzcGF0Y2hlZD86IHRydWVcblxuICAgIC8qKlxuICAgICAqIFRoZSBjYWNoZWQgdmFsdWUgd2FzIHVwZGF0ZWQgYWZ0ZXIgYSBzdWNjZXNzZnVsIGNhbGwgdG9cbiAgICAgKiB7QGxpbmsgT3B0aW9uc0Jhc2UuZmV0Y2hNZXRob2R9XG4gICAgICovXG4gICAgZmV0Y2hVcGRhdGVkPzogdHJ1ZVxuXG4gICAgLyoqXG4gICAgICogVGhlIHJlYXNvbiBmb3IgYSBmZXRjaCgpIHJlamVjdGlvbi4gIEVpdGhlciB0aGUgZXJyb3IgcmFpc2VkIGJ5IHRoZVxuICAgICAqIHtAbGluayBPcHRpb25zQmFzZS5mZXRjaE1ldGhvZH0sIG9yIHRoZSByZWFzb24gZm9yIGFuXG4gICAgICogQWJvcnRTaWduYWwuXG4gICAgICovXG4gICAgZmV0Y2hFcnJvcj86IEVycm9yXG5cbiAgICAvKipcbiAgICAgKiBUaGUgZmV0Y2ggcmVjZWl2ZWQgYW4gYWJvcnQgc2lnbmFsXG4gICAgICovXG4gICAgZmV0Y2hBYm9ydGVkPzogdHJ1ZVxuXG4gICAgLyoqXG4gICAgICogVGhlIGFib3J0IHNpZ25hbCByZWNlaXZlZCB3YXMgaWdub3JlZCwgYW5kIHRoZSBmZXRjaCB3YXMgYWxsb3dlZCB0b1xuICAgICAqIGNvbnRpbnVlLlxuICAgICAqL1xuICAgIGZldGNoQWJvcnRJZ25vcmVkPzogdHJ1ZVxuXG4gICAgLyoqXG4gICAgICogVGhlIGZldGNoTWV0aG9kIHByb21pc2UgcmVzb2x2ZWQgc3VjY2Vzc2Z1bGx5XG4gICAgICovXG4gICAgZmV0Y2hSZXNvbHZlZD86IHRydWVcblxuICAgIC8qKlxuICAgICAqIFRoZSBmZXRjaE1ldGhvZCBwcm9taXNlIHdhcyByZWplY3RlZFxuICAgICAqL1xuICAgIGZldGNoUmVqZWN0ZWQ/OiB0cnVlXG5cbiAgICAvKipcbiAgICAgKiBUaGUgc3RhdHVzIG9mIGEge0BsaW5rIExSVUNhY2hlI2dldH0gb3BlcmF0aW9uLlxuICAgICAqXG4gICAgICogLSBmZXRjaGluZzogVGhlIGl0ZW0gaXMgY3VycmVudGx5IGJlaW5nIGZldGNoZWQuICBJZiBhIHByZXZpb3VzIHZhbHVlXG4gICAgICogICBpcyBwcmVzZW50IGFuZCBhbGxvd2VkLCB0aGF0IHdpbGwgYmUgcmV0dXJuZWQuXG4gICAgICogLSBzdGFsZTogVGhlIGl0ZW0gaXMgaW4gdGhlIGNhY2hlLCBhbmQgaXMgc3RhbGUuXG4gICAgICogLSBoaXQ6IHRoZSBpdGVtIGlzIGluIHRoZSBjYWNoZVxuICAgICAqIC0gbWlzczogdGhlIGl0ZW0gaXMgbm90IGluIHRoZSBjYWNoZVxuICAgICAqL1xuICAgIGdldD86ICdzdGFsZScgfCAnaGl0JyB8ICdtaXNzJ1xuXG4gICAgLyoqXG4gICAgICogQSBmZXRjaCBvciBnZXQgb3BlcmF0aW9uIHJldHVybmVkIGEgc3RhbGUgdmFsdWUuXG4gICAgICovXG4gICAgcmV0dXJuZWRTdGFsZT86IHRydWVcbiAgfVxuXG4gIC8qKlxuICAgKiBvcHRpb25zIHdoaWNoIG92ZXJyaWRlIHRoZSBvcHRpb25zIHNldCBpbiB0aGUgTFJVQ2FjaGUgY29uc3RydWN0b3JcbiAgICogd2hlbiBjYWxsaW5nIHtAbGluayBMUlVDYWNoZSNmZXRjaH0uXG4gICAqXG4gICAqIFRoaXMgaXMgdGhlIHVuaW9uIG9mIHtAbGluayBHZXRPcHRpb25zfSBhbmQge0BsaW5rIFNldE9wdGlvbnN9LCBwbHVzXG4gICAqIHtAbGluayBPcHRpb25zQmFzZS5ub0RlbGV0ZU9uRmV0Y2hSZWplY3Rpb259LFxuICAgKiB7QGxpbmsgT3B0aW9uc0Jhc2UuYWxsb3dTdGFsZU9uRmV0Y2hSZWplY3Rpb259LFxuICAgKiB7QGxpbmsgRmV0Y2hPcHRpb25zLmZvcmNlUmVmcmVzaH0sIGFuZFxuICAgKiB7QGxpbmsgRmV0Y2hlck9wdGlvbnMuY29udGV4dH1cbiAgICpcbiAgICogQW55IG9mIHRoZXNlIG1heSBiZSBtb2RpZmllZCBpbiB0aGUge0BsaW5rIE9wdGlvbnNCYXNlLmZldGNoTWV0aG9kfVxuICAgKiBmdW5jdGlvbiwgYnV0IHRoZSB7QGxpbmsgR2V0T3B0aW9uc30gZmllbGRzIHdpbGwgb2YgY291cnNlIGhhdmUgbm9cbiAgICogZWZmZWN0LCBhcyB0aGUge0BsaW5rIExSVUNhY2hlI2dldH0gY2FsbCBhbHJlYWR5IGhhcHBlbmVkIGJ5IHRoZSB0aW1lXG4gICAqIHRoZSBmZXRjaE1ldGhvZCBpcyBjYWxsZWQuXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIEZldGNoZXJGZXRjaE9wdGlvbnM8SywgViwgRkMgPSB1bmtub3duPlxuICAgIGV4dGVuZHMgUGljazxcbiAgICAgIE9wdGlvbnNCYXNlPEssIFYsIEZDPixcbiAgICAgIHwgJ2FsbG93U3RhbGUnXG4gICAgICB8ICd1cGRhdGVBZ2VPbkdldCdcbiAgICAgIHwgJ25vRGVsZXRlT25TdGFsZUdldCdcbiAgICAgIHwgJ3NpemVDYWxjdWxhdGlvbidcbiAgICAgIHwgJ3R0bCdcbiAgICAgIHwgJ25vRGlzcG9zZU9uU2V0J1xuICAgICAgfCAnbm9VcGRhdGVUVEwnXG4gICAgICB8ICdub0RlbGV0ZU9uRmV0Y2hSZWplY3Rpb24nXG4gICAgICB8ICdhbGxvd1N0YWxlT25GZXRjaFJlamVjdGlvbidcbiAgICAgIHwgJ2lnbm9yZUZldGNoQWJvcnQnXG4gICAgICB8ICdhbGxvd1N0YWxlT25GZXRjaEFib3J0J1xuICAgID4ge1xuICAgIHN0YXR1cz86IFN0YXR1czxWPlxuICAgIHNpemU/OiBTaXplXG4gIH1cblxuICAvKipcbiAgICogT3B0aW9ucyB0aGF0IG1heSBiZSBwYXNzZWQgdG8gdGhlIHtAbGluayBMUlVDYWNoZSNmZXRjaH0gbWV0aG9kLlxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBGZXRjaE9wdGlvbnM8SywgViwgRkM+XG4gICAgZXh0ZW5kcyBGZXRjaGVyRmV0Y2hPcHRpb25zPEssIFYsIEZDPiB7XG4gICAgLyoqXG4gICAgICogU2V0IHRvIHRydWUgdG8gZm9yY2UgYSByZS1sb2FkIG9mIHRoZSBleGlzdGluZyBkYXRhLCBldmVuIGlmIGl0XG4gICAgICogaXMgbm90IHlldCBzdGFsZS5cbiAgICAgKi9cbiAgICBmb3JjZVJlZnJlc2g/OiBib29sZWFuXG4gICAgLyoqXG4gICAgICogQ29udGV4dCBwcm92aWRlZCB0byB0aGUge0BsaW5rIE9wdGlvbnNCYXNlLmZldGNoTWV0aG9kfSBhc1xuICAgICAqIHRoZSB7QGxpbmsgRmV0Y2hlck9wdGlvbnMuY29udGV4dH0gcGFyYW0uXG4gICAgICpcbiAgICAgKiBJZiB0aGUgRkMgdHlwZSBpcyBzcGVjaWZpZWQgYXMgdW5rbm93biAodGhlIGRlZmF1bHQpLFxuICAgICAqIHVuZGVmaW5lZCBvciB2b2lkLCB0aGVuIHRoaXMgaXMgb3B0aW9uYWwuICBPdGhlcndpc2UsIGl0IHdpbGxcbiAgICAgKiBiZSByZXF1aXJlZC5cbiAgICAgKi9cbiAgICBjb250ZXh0PzogRkNcbiAgICBzaWduYWw/OiBBYm9ydFNpZ25hbFxuICAgIHN0YXR1cz86IFN0YXR1czxWPlxuICB9XG4gIC8qKlxuICAgKiBPcHRpb25zIHByb3ZpZGVkIHRvIHtAbGluayBMUlVDYWNoZSNmZXRjaH0gd2hlbiB0aGUgRkMgdHlwZSBpcyBzb21ldGhpbmdcbiAgICogb3RoZXIgdGhhbiBgdW5rbm93bmAsIGB1bmRlZmluZWRgLCBvciBgdm9pZGBcbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hPcHRpb25zV2l0aENvbnRleHQ8SywgViwgRkM+XG4gICAgZXh0ZW5kcyBGZXRjaE9wdGlvbnM8SywgViwgRkM+IHtcbiAgICBjb250ZXh0OiBGQ1xuICB9XG4gIC8qKlxuICAgKiBPcHRpb25zIHByb3ZpZGVkIHRvIHtAbGluayBMUlVDYWNoZSNmZXRjaH0gd2hlbiB0aGUgRkMgdHlwZSBpc1xuICAgKiBgdW5kZWZpbmVkYCBvciBgdm9pZGBcbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgRmV0Y2hPcHRpb25zTm9Db250ZXh0PEssIFY+XG4gICAgZXh0ZW5kcyBGZXRjaE9wdGlvbnM8SywgViwgdW5kZWZpbmVkPiB7XG4gICAgY29udGV4dD86IHVuZGVmaW5lZFxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBNZW1vT3B0aW9uczxLLCBWLCBGQyA9IHVua25vd24+XG4gICAgZXh0ZW5kcyBQaWNrPFxuICAgICAgT3B0aW9uc0Jhc2U8SywgViwgRkM+LFxuICAgICAgfCAnYWxsb3dTdGFsZSdcbiAgICAgIHwgJ3VwZGF0ZUFnZU9uR2V0J1xuICAgICAgfCAnbm9EZWxldGVPblN0YWxlR2V0J1xuICAgICAgfCAnc2l6ZUNhbGN1bGF0aW9uJ1xuICAgICAgfCAndHRsJ1xuICAgICAgfCAnbm9EaXNwb3NlT25TZXQnXG4gICAgICB8ICdub1VwZGF0ZVRUTCdcbiAgICAgIHwgJ25vRGVsZXRlT25GZXRjaFJlamVjdGlvbidcbiAgICAgIHwgJ2FsbG93U3RhbGVPbkZldGNoUmVqZWN0aW9uJ1xuICAgICAgfCAnaWdub3JlRmV0Y2hBYm9ydCdcbiAgICAgIHwgJ2FsbG93U3RhbGVPbkZldGNoQWJvcnQnXG4gICAgPiB7XG4gICAgLyoqXG4gICAgICogU2V0IHRvIHRydWUgdG8gZm9yY2UgYSByZS1sb2FkIG9mIHRoZSBleGlzdGluZyBkYXRhLCBldmVuIGlmIGl0XG4gICAgICogaXMgbm90IHlldCBzdGFsZS5cbiAgICAgKi9cbiAgICBmb3JjZVJlZnJlc2g/OiBib29sZWFuXG4gICAgLyoqXG4gICAgICogQ29udGV4dCBwcm92aWRlZCB0byB0aGUge0BsaW5rIE9wdGlvbnNCYXNlLm1lbW9NZXRob2R9IGFzXG4gICAgICogdGhlIHtAbGluayBNZW1vaXplck9wdGlvbnMuY29udGV4dH0gcGFyYW0uXG4gICAgICpcbiAgICAgKiBJZiB0aGUgRkMgdHlwZSBpcyBzcGVjaWZpZWQgYXMgdW5rbm93biAodGhlIGRlZmF1bHQpLFxuICAgICAqIHVuZGVmaW5lZCBvciB2b2lkLCB0aGVuIHRoaXMgaXMgb3B0aW9uYWwuICBPdGhlcndpc2UsIGl0IHdpbGxcbiAgICAgKiBiZSByZXF1aXJlZC5cbiAgICAgKi9cbiAgICBjb250ZXh0PzogRkNcbiAgICBzdGF0dXM/OiBTdGF0dXM8Vj5cbiAgfVxuICAvKipcbiAgICogT3B0aW9ucyBwcm92aWRlZCB0byB7QGxpbmsgTFJVQ2FjaGUjbWVtb30gd2hlbiB0aGUgRkMgdHlwZSBpcyBzb21ldGhpbmdcbiAgICogb3RoZXIgdGhhbiBgdW5rbm93bmAsIGB1bmRlZmluZWRgLCBvciBgdm9pZGBcbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgTWVtb09wdGlvbnNXaXRoQ29udGV4dDxLLCBWLCBGQz5cbiAgICBleHRlbmRzIE1lbW9PcHRpb25zPEssIFYsIEZDPiB7XG4gICAgY29udGV4dDogRkNcbiAgfVxuICAvKipcbiAgICogT3B0aW9ucyBwcm92aWRlZCB0byB7QGxpbmsgTFJVQ2FjaGUjbWVtb30gd2hlbiB0aGUgRkMgdHlwZSBpc1xuICAgKiBgdW5kZWZpbmVkYCBvciBgdm9pZGBcbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgTWVtb09wdGlvbnNOb0NvbnRleHQ8SywgVj5cbiAgICBleHRlbmRzIE1lbW9PcHRpb25zPEssIFYsIHVuZGVmaW5lZD4ge1xuICAgIGNvbnRleHQ/OiB1bmRlZmluZWRcbiAgfVxuXG4gIC8qKlxuICAgKiBPcHRpb25zIHByb3ZpZGVkIHRvIHRoZVxuICAgKiB7QGxpbmsgT3B0aW9uc0Jhc2UubWVtb01ldGhvZH0gZnVuY3Rpb24uXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIE1lbW9pemVyT3B0aW9uczxLLCBWLCBGQyA9IHVua25vd24+IHtcbiAgICBvcHRpb25zOiBNZW1vaXplck1lbW9PcHRpb25zPEssIFYsIEZDPlxuICAgIC8qKlxuICAgICAqIE9iamVjdCBwcm92aWRlZCBpbiB0aGUge0BsaW5rIE1lbW9PcHRpb25zLmNvbnRleHR9IG9wdGlvbiB0b1xuICAgICAqIHtAbGluayBMUlVDYWNoZSNtZW1vfVxuICAgICAqL1xuICAgIGNvbnRleHQ6IEZDXG4gIH1cblxuICAvKipcbiAgICogb3B0aW9ucyB3aGljaCBvdmVycmlkZSB0aGUgb3B0aW9ucyBzZXQgaW4gdGhlIExSVUNhY2hlIGNvbnN0cnVjdG9yXG4gICAqIHdoZW4gY2FsbGluZyB7QGxpbmsgTFJVQ2FjaGUjbWVtb30uXG4gICAqXG4gICAqIFRoaXMgaXMgdGhlIHVuaW9uIG9mIHtAbGluayBHZXRPcHRpb25zfSBhbmQge0BsaW5rIFNldE9wdGlvbnN9LCBwbHVzXG4gICAqIHtAbGluayBNZW1vT3B0aW9ucy5mb3JjZVJlZnJlc2h9LCBhbmRcbiAgICoge0BsaW5rIE1lbW9lck9wdGlvbnMuY29udGV4dH1cbiAgICpcbiAgICogQW55IG9mIHRoZXNlIG1heSBiZSBtb2RpZmllZCBpbiB0aGUge0BsaW5rIE9wdGlvbnNCYXNlLm1lbW9NZXRob2R9XG4gICAqIGZ1bmN0aW9uLCBidXQgdGhlIHtAbGluayBHZXRPcHRpb25zfSBmaWVsZHMgd2lsbCBvZiBjb3Vyc2UgaGF2ZSBub1xuICAgKiBlZmZlY3QsIGFzIHRoZSB7QGxpbmsgTFJVQ2FjaGUjZ2V0fSBjYWxsIGFscmVhZHkgaGFwcGVuZWQgYnkgdGhlIHRpbWVcbiAgICogdGhlIG1lbW9NZXRob2QgaXMgY2FsbGVkLlxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBNZW1vaXplck1lbW9PcHRpb25zPEssIFYsIEZDID0gdW5rbm93bj5cbiAgICBleHRlbmRzIFBpY2s8XG4gICAgICBPcHRpb25zQmFzZTxLLCBWLCBGQz4sXG4gICAgICB8ICdhbGxvd1N0YWxlJ1xuICAgICAgfCAndXBkYXRlQWdlT25HZXQnXG4gICAgICB8ICdub0RlbGV0ZU9uU3RhbGVHZXQnXG4gICAgICB8ICdzaXplQ2FsY3VsYXRpb24nXG4gICAgICB8ICd0dGwnXG4gICAgICB8ICdub0Rpc3Bvc2VPblNldCdcbiAgICAgIHwgJ25vVXBkYXRlVFRMJ1xuICAgID4ge1xuICAgIHN0YXR1cz86IFN0YXR1czxWPlxuICAgIHNpemU/OiBTaXplXG4gICAgc3RhcnQ/OiBNaWxsaXNlY29uZHNcbiAgfVxuXG4gIC8qKlxuICAgKiBPcHRpb25zIHRoYXQgbWF5IGJlIHBhc3NlZCB0byB0aGUge0BsaW5rIExSVUNhY2hlI2hhc30gbWV0aG9kLlxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBIYXNPcHRpb25zPEssIFYsIEZDPlxuICAgIGV4dGVuZHMgUGljazxPcHRpb25zQmFzZTxLLCBWLCBGQz4sICd1cGRhdGVBZ2VPbkhhcyc+IHtcbiAgICBzdGF0dXM/OiBTdGF0dXM8Vj5cbiAgfVxuXG4gIC8qKlxuICAgKiBPcHRpb25zIHRoYXQgbWF5IGJlIHBhc3NlZCB0byB0aGUge0BsaW5rIExSVUNhY2hlI2dldH0gbWV0aG9kLlxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBHZXRPcHRpb25zPEssIFYsIEZDPlxuICAgIGV4dGVuZHMgUGljazxcbiAgICAgIE9wdGlvbnNCYXNlPEssIFYsIEZDPixcbiAgICAgICdhbGxvd1N0YWxlJyB8ICd1cGRhdGVBZ2VPbkdldCcgfCAnbm9EZWxldGVPblN0YWxlR2V0J1xuICAgID4ge1xuICAgIHN0YXR1cz86IFN0YXR1czxWPlxuICB9XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgdGhhdCBtYXkgYmUgcGFzc2VkIHRvIHRoZSB7QGxpbmsgTFJVQ2FjaGUjcGVla30gbWV0aG9kLlxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBQZWVrT3B0aW9uczxLLCBWLCBGQz5cbiAgICBleHRlbmRzIFBpY2s8T3B0aW9uc0Jhc2U8SywgViwgRkM+LCAnYWxsb3dTdGFsZSc+IHt9XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgdGhhdCBtYXkgYmUgcGFzc2VkIHRvIHRoZSB7QGxpbmsgTFJVQ2FjaGUjc2V0fSBtZXRob2QuXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIFNldE9wdGlvbnM8SywgViwgRkM+XG4gICAgZXh0ZW5kcyBQaWNrPFxuICAgICAgT3B0aW9uc0Jhc2U8SywgViwgRkM+LFxuICAgICAgJ3NpemVDYWxjdWxhdGlvbicgfCAndHRsJyB8ICdub0Rpc3Bvc2VPblNldCcgfCAnbm9VcGRhdGVUVEwnXG4gICAgPiB7XG4gICAgLyoqXG4gICAgICogSWYgc2l6ZSB0cmFja2luZyBpcyBlbmFibGVkLCB0aGVuIHNldHRpbmcgYW4gZXhwbGljaXQgc2l6ZVxuICAgICAqIGluIHRoZSB7QGxpbmsgTFJVQ2FjaGUjc2V0fSBjYWxsIHdpbGwgcHJldmVudCBjYWxsaW5nIHRoZVxuICAgICAqIHtAbGluayBPcHRpb25zQmFzZS5zaXplQ2FsY3VsYXRpb259IGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIHNpemU/OiBTaXplXG4gICAgLyoqXG4gICAgICogSWYgVFRMIHRyYWNraW5nIGlzIGVuYWJsZWQsIHRoZW4gc2V0dGluZyBhbiBleHBsaWNpdCBzdGFydFxuICAgICAqIHRpbWUgaW4gdGhlIHtAbGluayBMUlVDYWNoZSNzZXR9IGNhbGwgd2lsbCBvdmVycmlkZSB0aGVcbiAgICAgKiBkZWZhdWx0IHRpbWUgZnJvbSBgcGVyZm9ybWFuY2Uubm93KClgIG9yIGBEYXRlLm5vdygpYC5cbiAgICAgKlxuICAgICAqIE5vdGUgdGhhdCBpdCBtdXN0IGJlIGEgdmFsaWQgdmFsdWUgZm9yIHdoaWNoZXZlciB0aW1lLXRyYWNraW5nXG4gICAgICogbWV0aG9kIGlzIGluIHVzZS5cbiAgICAgKi9cbiAgICBzdGFydD86IE1pbGxpc2Vjb25kc1xuICAgIHN0YXR1cz86IFN0YXR1czxWPlxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIHNpZ25hdHVyZSBmb3IgdGhlIHtAbGluayBPcHRpb25zQmFzZS5mZXRjaE1ldGhvZH0gb3B0aW9uLlxuICAgKi9cbiAgZXhwb3J0IHR5cGUgRmV0Y2hlcjxLLCBWLCBGQyA9IHVua25vd24+ID0gKFxuICAgIGtleTogSyxcbiAgICBzdGFsZVZhbHVlOiBWIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbnM6IEZldGNoZXJPcHRpb25zPEssIFYsIEZDPlxuICApID0+IFByb21pc2U8ViB8IHVuZGVmaW5lZCB8IHZvaWQ+IHwgViB8IHVuZGVmaW5lZCB8IHZvaWRcblxuICAvKipcbiAgICogdGhlIHR5cGUgc2lnbmF0dXJlIGZvciB0aGUge0BsaW5rIE9wdGlvbnNCYXNlLm1lbW9NZXRob2R9IG9wdGlvbi5cbiAgICovXG4gIGV4cG9ydCB0eXBlIE1lbW9pemVyPEssIFYsIEZDID0gdW5rbm93bj4gPSAoXG4gICAga2V5OiBLLFxuICAgIHN0YWxlVmFsdWU6IFYgfCB1bmRlZmluZWQsXG4gICAgb3B0aW9uczogTWVtb2l6ZXJPcHRpb25zPEssIFYsIEZDPlxuICApID0+IFZcblxuICAvKipcbiAgICogT3B0aW9ucyB3aGljaCBtYXkgYmUgcGFzc2VkIHRvIHRoZSB7QGxpbmsgTFJVQ2FjaGV9IGNvbnN0cnVjdG9yLlxuICAgKlxuICAgKiBNb3N0IG9mIHRoZXNlIG1heSBiZSBvdmVycmlkZGVuIGluIHRoZSB2YXJpb3VzIG9wdGlvbnMgdGhhdCB1c2VcbiAgICogdGhlbS5cbiAgICpcbiAgICogRGVzcGl0ZSBhbGwgYmVpbmcgdGVjaG5pY2FsbHkgb3B0aW9uYWwsIHRoZSBjb25zdHJ1Y3RvciByZXF1aXJlcyB0aGF0XG4gICAqIGEgY2FjaGUgaXMgYXQgbWluaW11bSBsaW1pdGVkIGJ5IG9uZSBvciBtb3JlIG9mIHtAbGluayBPcHRpb25zQmFzZS5tYXh9LFxuICAgKiB7QGxpbmsgT3B0aW9uc0Jhc2UudHRsfSwgb3Ige0BsaW5rIE9wdGlvbnNCYXNlLm1heFNpemV9LlxuICAgKlxuICAgKiBJZiB7QGxpbmsgT3B0aW9uc0Jhc2UudHRsfSBpcyB1c2VkIGFsb25lLCB0aGVuIGl0IGlzIHN0cm9uZ2x5IGFkdmlzZWRcbiAgICogKGFuZCBpbiBmYWN0IHJlcXVpcmVkIGJ5IHRoZSB0eXBlIGRlZmluaXRpb25zIGhlcmUpIHRoYXQgdGhlIGNhY2hlXG4gICAqIGFsc28gc2V0IHtAbGluayBPcHRpb25zQmFzZS50dGxBdXRvcHVyZ2V9LCB0byBwcmV2ZW50IHBvdGVudGlhbGx5XG4gICAqIHVuYm91bmRlZCBzdG9yYWdlLlxuICAgKlxuICAgKiBBbGwgb3B0aW9ucyBhcmUgYWxzbyBhdmFpbGFibGUgb24gdGhlIHtAbGluayBMUlVDYWNoZX0gaW5zdGFuY2UsIG1ha2luZ1xuICAgKiBpdCBzYWZlIHRvIHBhc3MgYW4gTFJVQ2FjaGUgaW5zdGFuY2UgYXMgdGhlIG9wdGlvbnMgYXJndW1lbW50IHRvXG4gICAqIG1ha2UgYW5vdGhlciBlbXB0eSBjYWNoZSBvZiB0aGUgc2FtZSB0eXBlLlxuICAgKlxuICAgKiBTb21lIG9wdGlvbnMgYXJlIG1hcmtlZCBhcyByZWFkLW9ubHksIGJlY2F1c2UgY2hhbmdpbmcgdGhlbSBhZnRlclxuICAgKiBpbnN0YW50aWF0aW9uIGlzIG5vdCBzYWZlLiBDaGFuZ2luZyBhbnkgb2YgdGhlIG90aGVyIG9wdGlvbnMgd2lsbCBvZlxuICAgKiBjb3Vyc2Ugb25seSBoYXZlIGFuIGVmZmVjdCBvbiBzdWJzZXF1ZW50IG1ldGhvZCBjYWxscy5cbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uc0Jhc2U8SywgViwgRkM+IHtcbiAgICAvKipcbiAgICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gc3RvcmUgaW4gdGhlIGNhY2hlIGJlZm9yZSBldmljdGluZ1xuICAgICAqIG9sZCBlbnRyaWVzLiBUaGlzIGlzIHJlYWQtb25seSBvbiB0aGUge0BsaW5rIExSVUNhY2hlfSBpbnN0YW5jZSxcbiAgICAgKiBhbmQgbWF5IG5vdCBiZSBvdmVycmlkZGVuLlxuICAgICAqXG4gICAgICogSWYgc2V0LCB0aGVuIHN0b3JhZ2Ugc3BhY2Ugd2lsbCBiZSBwcmUtYWxsb2NhdGVkIGF0IGNvbnN0cnVjdGlvblxuICAgICAqIHRpbWUsIGFuZCB0aGUgY2FjaGUgd2lsbCBwZXJmb3JtIHNpZ25pZmljYW50bHkgZmFzdGVyLlxuICAgICAqXG4gICAgICogTm90ZSB0aGF0IHNpZ25pZmljYW50bHkgZmV3ZXIgaXRlbXMgbWF5IGJlIHN0b3JlZCwgaWZcbiAgICAgKiB7QGxpbmsgT3B0aW9uc0Jhc2UubWF4U2l6ZX0gYW5kL29yIHtAbGluayBPcHRpb25zQmFzZS50dGx9IGFyZSBhbHNvXG4gICAgICogc2V0LlxuICAgICAqXG4gICAgICogKipJdCBpcyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byBzZXQgYSBgbWF4YCB0byBwcmV2ZW50IHVuYm91bmRlZCBncm93dGhcbiAgICAgKiBvZiB0aGUgY2FjaGUuKipcbiAgICAgKi9cbiAgICBtYXg/OiBDb3VudFxuXG4gICAgLyoqXG4gICAgICogTWF4IHRpbWUgaW4gbWlsbGlzZWNvbmRzIGZvciBpdGVtcyB0byBsaXZlIGluIGNhY2hlIGJlZm9yZSB0aGV5IGFyZVxuICAgICAqIGNvbnNpZGVyZWQgc3RhbGUuICBOb3RlIHRoYXQgc3RhbGUgaXRlbXMgYXJlIE5PVCBwcmVlbXB0aXZlbHkgcmVtb3ZlZCBieVxuICAgICAqIGRlZmF1bHQsIGFuZCBNQVkgbGl2ZSBpbiB0aGUgY2FjaGUsIGNvbnRyaWJ1dGluZyB0byBpdHMgTFJVIG1heCwgbG9uZ1xuICAgICAqIGFmdGVyIHRoZXkgaGF2ZSBleHBpcmVkLCB1bmxlc3Mge0BsaW5rIE9wdGlvbnNCYXNlLnR0bEF1dG9wdXJnZX0gaXNcbiAgICAgKiBzZXQuXG4gICAgICpcbiAgICAgKiBJZiBzZXQgdG8gYDBgICh0aGUgZGVmYXVsdCB2YWx1ZSksIHRoZW4gdGhhdCBtZWFucyBcImRvIG5vdCB0cmFja1xuICAgICAqIFRUTFwiLCBub3QgXCJleHBpcmUgaW1tZWRpYXRlbHlcIi5cbiAgICAgKlxuICAgICAqIEFsc28sIGFzIHRoaXMgY2FjaGUgaXMgb3B0aW1pemVkIGZvciBMUlUvTVJVIG9wZXJhdGlvbnMsIHNvbWUgb2ZcbiAgICAgKiB0aGUgc3RhbGVuZXNzL1RUTCBjaGVja3Mgd2lsbCByZWR1Y2UgcGVyZm9ybWFuY2UsIGFzIHRoZXkgd2lsbCBpbmN1clxuICAgICAqIG92ZXJoZWFkIGJ5IGRlbGV0aW5nIGl0ZW1zLlxuICAgICAqXG4gICAgICogVGhpcyBpcyBub3QgcHJpbWFyaWx5IGEgVFRMIGNhY2hlLCBhbmQgZG9lcyBub3QgbWFrZSBzdHJvbmcgVFRMXG4gICAgICogZ3VhcmFudGVlcy4gVGhlcmUgaXMgbm8gcHJlLWVtcHRpdmUgcHJ1bmluZyBvZiBleHBpcmVkIGl0ZW1zLCBidXQgeW91XG4gICAgICogX21heV8gc2V0IGEgVFRMIG9uIHRoZSBjYWNoZSwgYW5kIGl0IHdpbGwgdHJlYXQgZXhwaXJlZCBpdGVtcyBhcyBtaXNzaW5nXG4gICAgICogd2hlbiB0aGV5IGFyZSBmZXRjaGVkLCBhbmQgZGVsZXRlIHRoZW0uXG4gICAgICpcbiAgICAgKiBPcHRpb25hbCwgYnV0IG11c3QgYmUgYSBub24tbmVnYXRpdmUgaW50ZWdlciBpbiBtcyBpZiBzcGVjaWZpZWQuXG4gICAgICpcbiAgICAgKiBUaGlzIG1heSBiZSBvdmVycmlkZGVuIGJ5IHBhc3NpbmcgYW4gb3B0aW9ucyBvYmplY3QgdG8gYGNhY2hlLnNldCgpYC5cbiAgICAgKlxuICAgICAqIEF0IGxlYXN0IG9uZSBvZiBgbWF4YCwgYG1heFNpemVgLCBvciBgVFRMYCBpcyByZXF1aXJlZC4gVGhpcyBtdXN0IGJlIGFcbiAgICAgKiBwb3NpdGl2ZSBpbnRlZ2VyIGlmIHNldC5cbiAgICAgKlxuICAgICAqIEV2ZW4gaWYgdHRsIHRyYWNraW5nIGlzIGVuYWJsZWQsICoqaXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gc2V0IGFcbiAgICAgKiBgbWF4YCB0byBwcmV2ZW50IHVuYm91bmRlZCBncm93dGggb2YgdGhlIGNhY2hlLioqXG4gICAgICpcbiAgICAgKiBJZiB0dGwgdHJhY2tpbmcgaXMgZW5hYmxlZCwgYW5kIGBtYXhgIGFuZCBgbWF4U2l6ZWAgYXJlIG5vdCBzZXQsXG4gICAgICogYW5kIGB0dGxBdXRvcHVyZ2VgIGlzIG5vdCBzZXQsIHRoZW4gYSB3YXJuaW5nIHdpbGwgYmUgZW1pdHRlZFxuICAgICAqIGNhdXRpb25pbmcgYWJvdXQgdGhlIHBvdGVudGlhbCBmb3IgdW5ib3VuZGVkIG1lbW9yeSBjb25zdW1wdGlvbi5cbiAgICAgKiAoVGhlIFR5cGVTY3JpcHQgZGVmaW5pdGlvbnMgd2lsbCBhbHNvIGRpc2NvdXJhZ2UgdGhpcy4pXG4gICAgICovXG4gICAgdHRsPzogTWlsbGlzZWNvbmRzXG5cbiAgICAvKipcbiAgICAgKiBNaW5pbXVtIGFtb3VudCBvZiB0aW1lIGluIG1zIGluIHdoaWNoIHRvIGNoZWNrIGZvciBzdGFsZW5lc3MuXG4gICAgICogRGVmYXVsdHMgdG8gMSwgd2hpY2ggbWVhbnMgdGhhdCB0aGUgY3VycmVudCB0aW1lIGlzIGNoZWNrZWRcbiAgICAgKiBhdCBtb3N0IG9uY2UgcGVyIG1pbGxpc2Vjb25kLlxuICAgICAqXG4gICAgICogU2V0IHRvIDAgdG8gY2hlY2sgdGhlIGN1cnJlbnQgdGltZSBldmVyeSB0aW1lIHN0YWxlbmVzcyBpcyB0ZXN0ZWQuXG4gICAgICogKFRoaXMgcmVkdWNlcyBwZXJmb3JtYW5jZSwgYW5kIGlzIHRoZW9yZXRpY2FsbHkgdW5uZWNlc3NhcnkuKVxuICAgICAqXG4gICAgICogU2V0dGluZyB0aGlzIHRvIGEgaGlnaGVyIHZhbHVlIHdpbGwgaW1wcm92ZSBwZXJmb3JtYW5jZSBzb21ld2hhdFxuICAgICAqIHdoaWxlIHVzaW5nIHR0bCB0cmFja2luZywgYWxiZWl0IGF0IHRoZSBleHBlbnNlIG9mIGtlZXBpbmcgc3RhbGVcbiAgICAgKiBpdGVtcyBhcm91bmQgYSBiaXQgbG9uZ2VyIHRoYW4gdGhlaXIgVFRMcyB3b3VsZCBpbmRpY2F0ZS5cbiAgICAgKlxuICAgICAqIEBkZWZhdWx0IDFcbiAgICAgKi9cbiAgICB0dGxSZXNvbHV0aW9uPzogTWlsbGlzZWNvbmRzXG5cbiAgICAvKipcbiAgICAgKiBQcmVlbXB0aXZlbHkgcmVtb3ZlIHN0YWxlIGl0ZW1zIGZyb20gdGhlIGNhY2hlLlxuICAgICAqXG4gICAgICogTm90ZSB0aGF0IHRoaXMgbWF5ICpzaWduaWZpY2FudGx5KiBkZWdyYWRlIHBlcmZvcm1hbmNlLCBlc3BlY2lhbGx5IGlmXG4gICAgICogdGhlIGNhY2hlIGlzIHN0b3JpbmcgYSBsYXJnZSBudW1iZXIgb2YgaXRlbXMuIEl0IGlzIGFsbW9zdCBhbHdheXMgYmVzdFxuICAgICAqIHRvIGp1c3QgbGVhdmUgdGhlIHN0YWxlIGl0ZW1zIGluIHRoZSBjYWNoZSwgYW5kIGxldCB0aGVtIGZhbGwgb3V0IGFzIG5ld1xuICAgICAqIGl0ZW1zIGFyZSBhZGRlZC5cbiAgICAgKlxuICAgICAqIE5vdGUgdGhhdCB0aGlzIG1lYW5zIHRoYXQge0BsaW5rIE9wdGlvbnNCYXNlLmFsbG93U3RhbGV9IGlzIGEgYml0XG4gICAgICogcG9pbnRsZXNzLCBhcyBzdGFsZSBpdGVtcyB3aWxsIGJlIGRlbGV0ZWQgYWxtb3N0IGFzIHNvb24gYXMgdGhleVxuICAgICAqIGV4cGlyZS5cbiAgICAgKlxuICAgICAqIFVzZSB3aXRoIGNhdXRpb24hXG4gICAgICovXG4gICAgdHRsQXV0b3B1cmdlPzogYm9vbGVhblxuXG4gICAgLyoqXG4gICAgICogV2hlbiB1c2luZyB0aW1lLWV4cGlyaW5nIGVudHJpZXMgd2l0aCBgdHRsYCwgc2V0dGluZyB0aGlzIHRvIGB0cnVlYCB3aWxsXG4gICAgICogbWFrZSBlYWNoIGl0ZW0ncyBhZ2UgcmVzZXQgdG8gMCB3aGVuZXZlciBpdCBpcyByZXRyaWV2ZWQgZnJvbSBjYWNoZSB3aXRoXG4gICAgICoge0BsaW5rIExSVUNhY2hlI2dldH0sIGNhdXNpbmcgaXQgdG8gbm90IGV4cGlyZS4gKEl0IGNhbiBzdGlsbCBmYWxsIG91dFxuICAgICAqIG9mIGNhY2hlIGJhc2VkIG9uIHJlY2VuY3kgb2YgdXNlLCBvZiBjb3Vyc2UuKVxuICAgICAqXG4gICAgICogSGFzIG5vIGVmZmVjdCBpZiB7QGxpbmsgT3B0aW9uc0Jhc2UudHRsfSBpcyBub3Qgc2V0LlxuICAgICAqXG4gICAgICogVGhpcyBtYXkgYmUgb3ZlcnJpZGRlbiBieSBwYXNzaW5nIGFuIG9wdGlvbnMgb2JqZWN0IHRvIGBjYWNoZS5nZXQoKWAuXG4gICAgICovXG4gICAgdXBkYXRlQWdlT25HZXQ/OiBib29sZWFuXG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHVzaW5nIHRpbWUtZXhwaXJpbmcgZW50cmllcyB3aXRoIGB0dGxgLCBzZXR0aW5nIHRoaXMgdG8gYHRydWVgIHdpbGxcbiAgICAgKiBtYWtlIGVhY2ggaXRlbSdzIGFnZSByZXNldCB0byAwIHdoZW5ldmVyIGl0cyBwcmVzZW5jZSBpbiB0aGUgY2FjaGUgaXNcbiAgICAgKiBjaGVja2VkIHdpdGgge0BsaW5rIExSVUNhY2hlI2hhc30sIGNhdXNpbmcgaXQgdG8gbm90IGV4cGlyZS4gKEl0IGNhblxuICAgICAqIHN0aWxsIGZhbGwgb3V0IG9mIGNhY2hlIGJhc2VkIG9uIHJlY2VuY3kgb2YgdXNlLCBvZiBjb3Vyc2UuKVxuICAgICAqXG4gICAgICogSGFzIG5vIGVmZmVjdCBpZiB7QGxpbmsgT3B0aW9uc0Jhc2UudHRsfSBpcyBub3Qgc2V0LlxuICAgICAqL1xuICAgIHVwZGF0ZUFnZU9uSGFzPzogYm9vbGVhblxuXG4gICAgLyoqXG4gICAgICogQWxsb3cge0BsaW5rIExSVUNhY2hlI2dldH0gYW5kIHtAbGluayBMUlVDYWNoZSNmZXRjaH0gY2FsbHMgdG8gcmV0dXJuXG4gICAgICogc3RhbGUgZGF0YSwgaWYgYXZhaWxhYmxlLlxuICAgICAqXG4gICAgICogQnkgZGVmYXVsdCwgaWYgeW91IHNldCBgdHRsYCwgc3RhbGUgaXRlbXMgd2lsbCBvbmx5IGJlIGRlbGV0ZWQgZnJvbSB0aGVcbiAgICAgKiBjYWNoZSB3aGVuIHlvdSBgZ2V0KGtleSlgLiBUaGF0IGlzLCBpdCdzIG5vdCBwcmVlbXB0aXZlbHkgcHJ1bmluZyBpdGVtcyxcbiAgICAgKiB1bmxlc3Mge0BsaW5rIE9wdGlvbnNCYXNlLnR0bEF1dG9wdXJnZX0gaXMgc2V0LlxuICAgICAqXG4gICAgICogSWYgeW91IHNldCBgYWxsb3dTdGFsZTp0cnVlYCwgaXQnbGwgcmV0dXJuIHRoZSBzdGFsZSB2YWx1ZSAqYXMgd2VsbCBhcypcbiAgICAgKiBkZWxldGluZyBpdC4gSWYgeW91IGRvbid0IHNldCB0aGlzLCB0aGVuIGl0J2xsIHJldHVybiBgdW5kZWZpbmVkYCB3aGVuXG4gICAgICogeW91IHRyeSB0byBnZXQgYSBzdGFsZSBlbnRyeS5cbiAgICAgKlxuICAgICAqIE5vdGUgdGhhdCB3aGVuIGEgc3RhbGUgZW50cnkgaXMgZmV0Y2hlZCwgX2V2ZW4gaWYgaXQgaXMgcmV0dXJuZWQgZHVlIHRvXG4gICAgICogYGFsbG93U3RhbGVgIGJlaW5nIHNldF8sIGl0IGlzIHJlbW92ZWQgZnJvbSB0aGUgY2FjaGUgaW1tZWRpYXRlbHkuIFlvdVxuICAgICAqIGNhbiBzdXBwcmVzcyB0aGlzIGJlaGF2aW9yIGJ5IHNldHRpbmdcbiAgICAgKiB7QGxpbmsgT3B0aW9uc0Jhc2Uubm9EZWxldGVPblN0YWxlR2V0fSwgZWl0aGVyIGluIHRoZSBjb25zdHJ1Y3Rvciwgb3IgaW5cbiAgICAgKiB0aGUgb3B0aW9ucyBwcm92aWRlZCB0byB7QGxpbmsgTFJVQ2FjaGUjZ2V0fS5cbiAgICAgKlxuICAgICAqIFRoaXMgbWF5IGJlIG92ZXJyaWRkZW4gYnkgcGFzc2luZyBhbiBvcHRpb25zIG9iamVjdCB0byBgY2FjaGUuZ2V0KClgLlxuICAgICAqIFRoZSBgY2FjaGUuaGFzKClgIG1ldGhvZCB3aWxsIGFsd2F5cyByZXR1cm4gYGZhbHNlYCBmb3Igc3RhbGUgaXRlbXMuXG4gICAgICpcbiAgICAgKiBPbmx5IHJlbGV2YW50IGlmIGEgdHRsIGlzIHNldC5cbiAgICAgKi9cbiAgICBhbGxvd1N0YWxlPzogYm9vbGVhblxuXG4gICAgLyoqXG4gICAgICogRnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgb24gaXRlbXMgd2hlbiB0aGV5IGFyZSBkcm9wcGVkIGZyb20gdGhlXG4gICAgICogY2FjaGUsIGFzIGBkaXNwb3NlKHZhbHVlLCBrZXksIHJlYXNvbilgLlxuICAgICAqXG4gICAgICogVGhpcyBjYW4gYmUgaGFuZHkgaWYgeW91IHdhbnQgdG8gY2xvc2UgZmlsZSBkZXNjcmlwdG9ycyBvciBkb1xuICAgICAqIG90aGVyIGNsZWFudXAgdGFza3Mgd2hlbiBpdGVtcyBhcmUgbm8gbG9uZ2VyIHN0b3JlZCBpbiB0aGUgY2FjaGUuXG4gICAgICpcbiAgICAgKiAqKk5PVEUqKjogSXQgaXMgY2FsbGVkIF9iZWZvcmVfIHRoZSBpdGVtIGhhcyBiZWVuIGZ1bGx5IHJlbW92ZWRcbiAgICAgKiBmcm9tIHRoZSBjYWNoZSwgc28gaWYgeW91IHdhbnQgdG8gcHV0IGl0IHJpZ2h0IGJhY2sgaW4sIHlvdSBuZWVkXG4gICAgICogdG8gd2FpdCB1bnRpbCB0aGUgbmV4dCB0aWNrLiBJZiB5b3UgdHJ5IHRvIGFkZCBpdCBiYWNrIGluIGR1cmluZ1xuICAgICAqIHRoZSBgZGlzcG9zZSgpYCBmdW5jdGlvbiBjYWxsLCBpdCB3aWxsIGJyZWFrIHRoaW5ncyBpbiBzdWJ0bGUgYW5kXG4gICAgICogd2VpcmQgd2F5cy5cbiAgICAgKlxuICAgICAqIFVubGlrZSBzZXZlcmFsIG90aGVyIG9wdGlvbnMsIHRoaXMgbWF5IF9ub3RfIGJlIG92ZXJyaWRkZW4gYnlcbiAgICAgKiBwYXNzaW5nIGFuIG9wdGlvbiB0byBgc2V0KClgLCBmb3IgcGVyZm9ybWFuY2UgcmVhc29ucy5cbiAgICAgKlxuICAgICAqIFRoZSBgcmVhc29uYCB3aWxsIGJlIG9uZSBvZiB0aGUgZm9sbG93aW5nIHN0cmluZ3MsIGNvcnJlc3BvbmRpbmdcbiAgICAgKiB0byB0aGUgcmVhc29uIGZvciB0aGUgaXRlbSdzIGRlbGV0aW9uOlxuICAgICAqXG4gICAgICogLSBgZXZpY3RgIEl0ZW0gd2FzIGV2aWN0ZWQgdG8gbWFrZSBzcGFjZSBmb3IgYSBuZXcgYWRkaXRpb25cbiAgICAgKiAtIGBzZXRgIEl0ZW0gd2FzIG92ZXJ3cml0dGVuIGJ5IGEgbmV3IHZhbHVlXG4gICAgICogLSBgZXhwaXJlYCBJdGVtIGV4cGlyZWQgaXRzIFRUTFxuICAgICAqIC0gYGZldGNoYCBJdGVtIHdhcyBkZWxldGVkIGR1ZSB0byBhIGZhaWxlZCBvciBhYm9ydGVkIGZldGNoLCBvciBhXG4gICAgICogICBmZXRjaE1ldGhvZCByZXR1cm5pbmcgYHVuZGVmaW5lZC5cbiAgICAgKiAtIGBkZWxldGVgIEl0ZW0gd2FzIHJlbW92ZWQgYnkgZXhwbGljaXQgYGNhY2hlLmRlbGV0ZShrZXkpYCxcbiAgICAgKiAgIGBjYWNoZS5jbGVhcigpYCwgb3IgYGNhY2hlLnNldChrZXksIHVuZGVmaW5lZClgLlxuICAgICAqL1xuICAgIGRpc3Bvc2U/OiBEaXNwb3NlcjxLLCBWPlxuXG4gICAgLyoqXG4gICAgICogVGhlIHNhbWUgYXMge0BsaW5rIE9wdGlvbnNCYXNlLmRpc3Bvc2V9LCBidXQgY2FsbGVkICphZnRlciogdGhlIGVudHJ5XG4gICAgICogaXMgY29tcGxldGVseSByZW1vdmVkIGFuZCB0aGUgY2FjaGUgaXMgb25jZSBhZ2FpbiBpbiBhIGNsZWFuIHN0YXRlLlxuICAgICAqXG4gICAgICogSXQgaXMgc2FmZSB0byBhZGQgYW4gaXRlbSByaWdodCBiYWNrIGludG8gdGhlIGNhY2hlIGF0IHRoaXMgcG9pbnQuXG4gICAgICogSG93ZXZlciwgbm90ZSB0aGF0IGl0IGlzICp2ZXJ5KiBlYXN5IHRvIGluYWR2ZXJ0ZW50bHkgY3JlYXRlIGluZmluaXRlXG4gICAgICogcmVjdXJzaW9uIHRoaXMgd2F5LlxuICAgICAqL1xuICAgIGRpc3Bvc2VBZnRlcj86IERpc3Bvc2VyPEssIFY+XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdG8gdHJ1ZSB0byBzdXBwcmVzcyBjYWxsaW5nIHRoZVxuICAgICAqIHtAbGluayBPcHRpb25zQmFzZS5kaXNwb3NlfSBmdW5jdGlvbiBpZiB0aGUgZW50cnkga2V5IGlzXG4gICAgICogc3RpbGwgYWNjZXNzaWJsZSB3aXRoaW4gdGhlIGNhY2hlLlxuICAgICAqXG4gICAgICogVGhpcyBtYXkgYmUgb3ZlcnJpZGRlbiBieSBwYXNzaW5nIGFuIG9wdGlvbnMgb2JqZWN0IHRvXG4gICAgICoge0BsaW5rIExSVUNhY2hlI3NldH0uXG4gICAgICpcbiAgICAgKiBPbmx5IHJlbGV2YW50IGlmIGBkaXNwb3NlYCBvciBgZGlzcG9zZUFmdGVyYCBhcmUgc2V0LlxuICAgICAqL1xuICAgIG5vRGlzcG9zZU9uU2V0PzogYm9vbGVhblxuXG4gICAgLyoqXG4gICAgICogQm9vbGVhbiBmbGFnIHRvIHRlbGwgdGhlIGNhY2hlIHRvIG5vdCB1cGRhdGUgdGhlIFRUTCB3aGVuIHNldHRpbmcgYSBuZXdcbiAgICAgKiB2YWx1ZSBmb3IgYW4gZXhpc3Rpbmcga2V5IChpZSwgd2hlbiB1cGRhdGluZyBhIHZhbHVlIHJhdGhlciB0aGFuXG4gICAgICogaW5zZXJ0aW5nIGEgbmV3IHZhbHVlKS4gIE5vdGUgdGhhdCB0aGUgVFRMIHZhbHVlIGlzIF9hbHdheXNfIHNldCAoaWZcbiAgICAgKiBwcm92aWRlZCkgd2hlbiBhZGRpbmcgYSBuZXcgZW50cnkgaW50byB0aGUgY2FjaGUuXG4gICAgICpcbiAgICAgKiBIYXMgbm8gZWZmZWN0IGlmIGEge0BsaW5rIE9wdGlvbnNCYXNlLnR0bH0gaXMgbm90IHNldC5cbiAgICAgKlxuICAgICAqIE1heSBiZSBwYXNzZWQgYXMgYW4gb3B0aW9uIHRvIHtAbGluayBMUlVDYWNoZSNzZXR9LlxuICAgICAqL1xuICAgIG5vVXBkYXRlVFRMPzogYm9vbGVhblxuXG4gICAgLyoqXG4gICAgICogU2V0IHRvIGEgcG9zaXRpdmUgaW50ZWdlciB0byB0cmFjayB0aGUgc2l6ZXMgb2YgaXRlbXMgYWRkZWQgdG8gdGhlXG4gICAgICogY2FjaGUsIGFuZCBhdXRvbWF0aWNhbGx5IGV2aWN0IGl0ZW1zIGluIG9yZGVyIHRvIHN0YXkgYmVsb3cgdGhpcyBzaXplLlxuICAgICAqIE5vdGUgdGhhdCB0aGlzIG1heSByZXN1bHQgaW4gZmV3ZXIgdGhhbiBgbWF4YCBpdGVtcyBiZWluZyBzdG9yZWQuXG4gICAgICpcbiAgICAgKiBBdHRlbXB0aW5nIHRvIGFkZCBhbiBpdGVtIHRvIHRoZSBjYWNoZSB3aG9zZSBjYWxjdWxhdGVkIHNpemUgaXMgZ3JlYXRlclxuICAgICAqIHRoYXQgdGhpcyBhbW91bnQgd2lsbCBiZSBhIG5vLW9wLiBUaGUgaXRlbSB3aWxsIG5vdCBiZSBjYWNoZWQsIGFuZCBub1xuICAgICAqIG90aGVyIGl0ZW1zIHdpbGwgYmUgZXZpY3RlZC5cbiAgICAgKlxuICAgICAqIE9wdGlvbmFsLCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciBpZiBwcm92aWRlZC5cbiAgICAgKlxuICAgICAqIFNldHMgYG1heEVudHJ5U2l6ZWAgdG8gdGhlIHNhbWUgdmFsdWUsIHVubGVzcyBhIGRpZmZlcmVudCB2YWx1ZSBpc1xuICAgICAqIHByb3ZpZGVkIGZvciBgbWF4RW50cnlTaXplYC5cbiAgICAgKlxuICAgICAqIEF0IGxlYXN0IG9uZSBvZiBgbWF4YCwgYG1heFNpemVgLCBvciBgVFRMYCBpcyByZXF1aXJlZC4gVGhpcyBtdXN0IGJlIGFcbiAgICAgKiBwb3NpdGl2ZSBpbnRlZ2VyIGlmIHNldC5cbiAgICAgKlxuICAgICAqIEV2ZW4gaWYgc2l6ZSB0cmFja2luZyBpcyBlbmFibGVkLCAqKml0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHNldCBhXG4gICAgICogYG1heGAgdG8gcHJldmVudCB1bmJvdW5kZWQgZ3Jvd3RoIG9mIHRoZSBjYWNoZS4qKlxuICAgICAqXG4gICAgICogTm90ZSBhbHNvIHRoYXQgc2l6ZSB0cmFja2luZyBjYW4gbmVnYXRpdmVseSBpbXBhY3QgcGVyZm9ybWFuY2UsXG4gICAgICogdGhvdWdoIGZvciBtb3N0IGNhc2VzLCBvbmx5IG1pbmltYWxseS5cbiAgICAgKi9cbiAgICBtYXhTaXplPzogU2l6ZVxuXG4gICAgLyoqXG4gICAgICogVGhlIG1heGltdW0gYWxsb3dlZCBzaXplIGZvciBhbnkgc2luZ2xlIGl0ZW0gaW4gdGhlIGNhY2hlLlxuICAgICAqXG4gICAgICogSWYgYSBsYXJnZXIgaXRlbSBpcyBwYXNzZWQgdG8ge0BsaW5rIExSVUNhY2hlI3NldH0gb3IgcmV0dXJuZWQgYnkgYVxuICAgICAqIHtAbGluayBPcHRpb25zQmFzZS5mZXRjaE1ldGhvZH0gb3Ige0BsaW5rIE9wdGlvbnNCYXNlLm1lbW9NZXRob2R9LCB0aGVuXG4gICAgICogaXQgd2lsbCBub3QgYmUgc3RvcmVkIGluIHRoZSBjYWNoZS5cbiAgICAgKlxuICAgICAqIEF0dGVtcHRpbmcgdG8gYWRkIGFuIGl0ZW0gd2hvc2UgY2FsY3VsYXRlZCBzaXplIGlzIGdyZWF0ZXIgdGhhblxuICAgICAqIHRoaXMgYW1vdW50IHdpbGwgbm90IGNhY2hlIHRoZSBpdGVtIG9yIGV2aWN0IGFueSBvbGQgaXRlbXMsIGJ1dFxuICAgICAqIFdJTEwgZGVsZXRlIGFuIGV4aXN0aW5nIHZhbHVlIGlmIG9uZSBpcyBhbHJlYWR5IHByZXNlbnQuXG4gICAgICpcbiAgICAgKiBPcHRpb25hbCwgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIgaWYgcHJvdmlkZWQuIERlZmF1bHRzIHRvXG4gICAgICogdGhlIHZhbHVlIG9mIGBtYXhTaXplYCBpZiBwcm92aWRlZC5cbiAgICAgKi9cbiAgICBtYXhFbnRyeVNpemU/OiBTaXplXG5cbiAgICAvKipcbiAgICAgKiBBIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhIG51bWJlciBpbmRpY2F0aW5nIHRoZSBpdGVtJ3Mgc2l6ZS5cbiAgICAgKlxuICAgICAqIFJlcXVpcmVzIHtAbGluayBPcHRpb25zQmFzZS5tYXhTaXplfSB0byBiZSBzZXQuXG4gICAgICpcbiAgICAgKiBJZiBub3QgcHJvdmlkZWQsIGFuZCB7QGxpbmsgT3B0aW9uc0Jhc2UubWF4U2l6ZX0gb3JcbiAgICAgKiB7QGxpbmsgT3B0aW9uc0Jhc2UubWF4RW50cnlTaXplfSBhcmUgc2V0LCB0aGVuIGFsbFxuICAgICAqIHtAbGluayBMUlVDYWNoZSNzZXR9IGNhbGxzICoqbXVzdCoqIHByb3ZpZGUgYW4gZXhwbGljaXRcbiAgICAgKiB7QGxpbmsgU2V0T3B0aW9ucy5zaXplfSBvciBzaXplQ2FsY3VsYXRpb24gcGFyYW0uXG4gICAgICovXG4gICAgc2l6ZUNhbGN1bGF0aW9uPzogU2l6ZUNhbGN1bGF0b3I8SywgVj5cblxuICAgIC8qKlxuICAgICAqIE1ldGhvZCB0aGF0IHByb3ZpZGVzIHRoZSBpbXBsZW1lbnRhdGlvbiBmb3Ige0BsaW5rIExSVUNhY2hlI2ZldGNofVxuICAgICAqXG4gICAgICogYGBgdHNcbiAgICAgKiBmZXRjaE1ldGhvZChrZXksIHN0YWxlVmFsdWUsIHsgc2lnbmFsLCBvcHRpb25zLCBjb250ZXh0IH0pXG4gICAgICogYGBgXG4gICAgICpcbiAgICAgKiBJZiBgZmV0Y2hNZXRob2RgIGlzIG5vdCBwcm92aWRlZCwgdGhlbiBgY2FjaGUuZmV0Y2goa2V5KWAgaXMgZXF1aXZhbGVudFxuICAgICAqIHRvIGBQcm9taXNlLnJlc29sdmUoY2FjaGUuZ2V0KGtleSkpYC5cbiAgICAgKlxuICAgICAqIElmIGF0IGFueSB0aW1lLCBgc2lnbmFsLmFib3J0ZWRgIGlzIHNldCB0byBgdHJ1ZWAsIG9yIGlmIHRoZVxuICAgICAqIGBzaWduYWwub25hYm9ydGAgbWV0aG9kIGlzIGNhbGxlZCwgb3IgaWYgaXQgZW1pdHMgYW4gYCdhYm9ydCdgIGV2ZW50XG4gICAgICogd2hpY2ggeW91IGNhbiBsaXN0ZW4gdG8gd2l0aCBgYWRkRXZlbnRMaXN0ZW5lcmAsIHRoZW4gdGhhdCBtZWFucyB0aGF0XG4gICAgICogdGhlIGZldGNoIHNob3VsZCBiZSBhYmFuZG9uZWQuIFRoaXMgbWF5IGJlIHBhc3NlZCBhbG9uZyB0byBhc3luY1xuICAgICAqIGZ1bmN0aW9ucyBhd2FyZSBvZiBBYm9ydENvbnRyb2xsZXIvQWJvcnRTaWduYWwgYmVoYXZpb3IuXG4gICAgICpcbiAgICAgKiBUaGUgYGZldGNoTWV0aG9kYCBzaG91bGQgKipvbmx5KiogcmV0dXJuIGB1bmRlZmluZWRgIG9yIGEgUHJvbWlzZVxuICAgICAqIHJlc29sdmluZyB0byBgdW5kZWZpbmVkYCBpZiB0aGUgQWJvcnRDb250cm9sbGVyIHNpZ25hbGVkIGFuIGBhYm9ydGBcbiAgICAgKiBldmVudC4gSW4gYWxsIG90aGVyIGNhc2VzLCBpdCBzaG91bGQgcmV0dXJuIG9yIHJlc29sdmUgdG8gYSB2YWx1ZVxuICAgICAqIHN1aXRhYmxlIGZvciBhZGRpbmcgdG8gdGhlIGNhY2hlLlxuICAgICAqXG4gICAgICogVGhlIGBvcHRpb25zYCBvYmplY3QgaXMgYSB1bmlvbiBvZiB0aGUgb3B0aW9ucyB0aGF0IG1heSBiZSBwcm92aWRlZCB0b1xuICAgICAqIGBzZXQoKWAgYW5kIGBnZXQoKWAuIElmIHRoZXkgYXJlIG1vZGlmaWVkLCB0aGVuIHRoYXQgd2lsbCByZXN1bHQgaW5cbiAgICAgKiBtb2RpZnlpbmcgdGhlIHNldHRpbmdzIHRvIGBjYWNoZS5zZXQoKWAgd2hlbiB0aGUgdmFsdWUgaXMgcmVzb2x2ZWQsIGFuZFxuICAgICAqIGluIHRoZSBjYXNlIG9mXG4gICAgICoge0BsaW5rIE9wdGlvbnNCYXNlLm5vRGVsZXRlT25GZXRjaFJlamVjdGlvbn0gYW5kXG4gICAgICoge0BsaW5rIE9wdGlvbnNCYXNlLmFsbG93U3RhbGVPbkZldGNoUmVqZWN0aW9ufSwgdGhlIGhhbmRsaW5nIG9mXG4gICAgICogYGZldGNoTWV0aG9kYCBmYWlsdXJlcy5cbiAgICAgKlxuICAgICAqIEZvciBleGFtcGxlLCBhIEROUyBjYWNoZSBtYXkgdXBkYXRlIHRoZSBUVEwgYmFzZWQgb24gdGhlIHZhbHVlIHJldHVybmVkXG4gICAgICogZnJvbSBhIHJlbW90ZSBETlMgc2VydmVyIGJ5IGNoYW5naW5nIGBvcHRpb25zLnR0bGAgaW4gdGhlIGBmZXRjaE1ldGhvZGAuXG4gICAgICovXG4gICAgZmV0Y2hNZXRob2Q/OiBGZXRjaGVyPEssIFYsIEZDPlxuXG4gICAgLyoqXG4gICAgICogTWV0aG9kIHRoYXQgcHJvdmlkZXMgdGhlIGltcGxlbWVudGF0aW9uIGZvciB7QGxpbmsgTFJVQ2FjaGUjbWVtb31cbiAgICAgKi9cbiAgICBtZW1vTWV0aG9kPzogTWVtb2l6ZXI8SywgViwgRkM+XG5cbiAgICAvKipcbiAgICAgKiBTZXQgdG8gdHJ1ZSB0byBzdXBwcmVzcyB0aGUgZGVsZXRpb24gb2Ygc3RhbGUgZGF0YSB3aGVuIGFcbiAgICAgKiB7QGxpbmsgT3B0aW9uc0Jhc2UuZmV0Y2hNZXRob2R9IHJldHVybnMgYSByZWplY3RlZCBwcm9taXNlLlxuICAgICAqL1xuICAgIG5vRGVsZXRlT25GZXRjaFJlamVjdGlvbj86IGJvb2xlYW5cblxuICAgIC8qKlxuICAgICAqIERvIG5vdCBkZWxldGUgc3RhbGUgaXRlbXMgd2hlbiB0aGV5IGFyZSByZXRyaWV2ZWQgd2l0aFxuICAgICAqIHtAbGluayBMUlVDYWNoZSNnZXR9LlxuICAgICAqXG4gICAgICogTm90ZSB0aGF0IHRoZSBgZ2V0YCByZXR1cm4gdmFsdWUgd2lsbCBzdGlsbCBiZSBgdW5kZWZpbmVkYFxuICAgICAqIHVubGVzcyB7QGxpbmsgT3B0aW9uc0Jhc2UuYWxsb3dTdGFsZX0gaXMgdHJ1ZS5cbiAgICAgKlxuICAgICAqIFdoZW4gdXNpbmcgdGltZS1leHBpcmluZyBlbnRyaWVzIHdpdGggYHR0bGAsIGJ5IGRlZmF1bHQgc3RhbGVcbiAgICAgKiBpdGVtcyB3aWxsIGJlIHJlbW92ZWQgZnJvbSB0aGUgY2FjaGUgd2hlbiB0aGUga2V5IGlzIGFjY2Vzc2VkXG4gICAgICogd2l0aCBgY2FjaGUuZ2V0KClgLlxuICAgICAqXG4gICAgICogU2V0dGluZyB0aGlzIG9wdGlvbiB3aWxsIGNhdXNlIHN0YWxlIGl0ZW1zIHRvIHJlbWFpbiBpbiB0aGUgY2FjaGUsIHVudGlsXG4gICAgICogdGhleSBhcmUgZXhwbGljaXRseSBkZWxldGVkIHdpdGggYGNhY2hlLmRlbGV0ZShrZXkpYCwgb3IgcmV0cmlldmVkIHdpdGhcbiAgICAgKiBgbm9EZWxldGVPblN0YWxlR2V0YCBzZXQgdG8gYGZhbHNlYC5cbiAgICAgKlxuICAgICAqIFRoaXMgbWF5IGJlIG92ZXJyaWRkZW4gYnkgcGFzc2luZyBhbiBvcHRpb25zIG9iamVjdCB0byBgY2FjaGUuZ2V0KClgLlxuICAgICAqXG4gICAgICogT25seSByZWxldmFudCBpZiBhIHR0bCBpcyB1c2VkLlxuICAgICAqL1xuICAgIG5vRGVsZXRlT25TdGFsZUdldD86IGJvb2xlYW5cblxuICAgIC8qKlxuICAgICAqIFNldCB0byB0cnVlIHRvIGFsbG93IHJldHVybmluZyBzdGFsZSBkYXRhIHdoZW4gYVxuICAgICAqIHtAbGluayBPcHRpb25zQmFzZS5mZXRjaE1ldGhvZH0gdGhyb3dzIGFuIGVycm9yIG9yIHJldHVybnMgYSByZWplY3RlZFxuICAgICAqIHByb21pc2UuXG4gICAgICpcbiAgICAgKiBUaGlzIGRpZmZlcnMgZnJvbSB1c2luZyB7QGxpbmsgT3B0aW9uc0Jhc2UuYWxsb3dTdGFsZX0gaW4gdGhhdCBzdGFsZVxuICAgICAqIGRhdGEgd2lsbCBPTkxZIGJlIHJldHVybmVkIGluIHRoZSBjYXNlIHRoYXQgdGhlIHtAbGluayBMUlVDYWNoZSNmZXRjaH1cbiAgICAgKiBmYWlscywgbm90IGFueSBvdGhlciB0aW1lcy5cbiAgICAgKlxuICAgICAqIElmIGEgYGZldGNoTWV0aG9kYCBmYWlscywgYW5kIHRoZXJlIGlzIG5vIHN0YWxlIHZhbHVlIGF2YWlsYWJsZSwgdGhlXG4gICAgICogYGZldGNoKClgIHdpbGwgcmVzb2x2ZSB0byBgdW5kZWZpbmVkYC4gSWUsIGFsbCBgZmV0Y2hNZXRob2RgIGVycm9ycyBhcmVcbiAgICAgKiBzdXBwcmVzc2VkLlxuICAgICAqXG4gICAgICogSW1wbGllcyBgbm9EZWxldGVPbkZldGNoUmVqZWN0aW9uYC5cbiAgICAgKlxuICAgICAqIFRoaXMgbWF5IGJlIHNldCBpbiBjYWxscyB0byBgZmV0Y2goKWAsIG9yIGRlZmF1bHRlZCBvbiB0aGUgY29uc3RydWN0b3IsXG4gICAgICogb3Igb3ZlcnJpZGRlbiBieSBtb2RpZnlpbmcgdGhlIG9wdGlvbnMgb2JqZWN0IGluIHRoZSBgZmV0Y2hNZXRob2RgLlxuICAgICAqL1xuICAgIGFsbG93U3RhbGVPbkZldGNoUmVqZWN0aW9uPzogYm9vbGVhblxuXG4gICAgLyoqXG4gICAgICogU2V0IHRvIHRydWUgdG8gcmV0dXJuIGEgc3RhbGUgdmFsdWUgZnJvbSB0aGUgY2FjaGUgd2hlbiB0aGVcbiAgICAgKiBgQWJvcnRTaWduYWxgIHBhc3NlZCB0byB0aGUge0BsaW5rIE9wdGlvbnNCYXNlLmZldGNoTWV0aG9kfSBkaXNwYXRjaGVzXG4gICAgICogYW4gYCdhYm9ydCdgIGV2ZW50LCB3aGV0aGVyIHVzZXItdHJpZ2dlcmVkLCBvciBkdWUgdG8gaW50ZXJuYWwgY2FjaGVcbiAgICAgKiBiZWhhdmlvci5cbiAgICAgKlxuICAgICAqIFVubGVzcyB7QGxpbmsgT3B0aW9uc0Jhc2UuaWdub3JlRmV0Y2hBYm9ydH0gaXMgYWxzbyBzZXQsIHRoZSB1bmRlcmx5aW5nXG4gICAgICoge0BsaW5rIE9wdGlvbnNCYXNlLmZldGNoTWV0aG9kfSB3aWxsIHN0aWxsIGJlIGNvbnNpZGVyZWQgY2FuY2VsZWQsIGFuZFxuICAgICAqIGFueSB2YWx1ZSBpdCByZXR1cm5zIHdpbGwgYmUgaWdub3JlZCBhbmQgbm90IGNhY2hlZC5cbiAgICAgKlxuICAgICAqIENhdmVhdDogc2luY2UgZmV0Y2hlcyBhcmUgYWJvcnRlZCB3aGVuIGEgbmV3IHZhbHVlIGlzIGV4cGxpY2l0bHlcbiAgICAgKiBzZXQgaW4gdGhlIGNhY2hlLCB0aGlzIGNhbiBsZWFkIHRvIGZldGNoIHJldHVybmluZyBhIHN0YWxlIHZhbHVlLFxuICAgICAqIHNpbmNlIHRoYXQgd2FzIHRoZSBmYWxsYmFjayB2YWx1ZSBfYXQgdGhlIG1vbWVudCB0aGUgYGZldGNoKClgIHdhc1xuICAgICAqIGluaXRpYXRlZF8sIGV2ZW4gdGhvdWdoIHRoZSBuZXcgdXBkYXRlZCB2YWx1ZSBpcyBub3cgcHJlc2VudCBpblxuICAgICAqIHRoZSBjYWNoZS5cbiAgICAgKlxuICAgICAqIEZvciBleGFtcGxlOlxuICAgICAqXG4gICAgICogYGBgdHNcbiAgICAgKiBjb25zdCBjYWNoZSA9IG5ldyBMUlVDYWNoZTxzdHJpbmcsIGFueT4oe1xuICAgICAqICAgdHRsOiAxMDAsXG4gICAgICogICBmZXRjaE1ldGhvZDogYXN5bmMgKHVybCwgb2xkVmFsdWUsIHsgc2lnbmFsIH0pID0+ICB7XG4gICAgICogICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKHVybCwgeyBzaWduYWwgfSlcbiAgICAgKiAgICAgcmV0dXJuIGF3YWl0IHJlcy5qc29uKClcbiAgICAgKiAgIH1cbiAgICAgKiB9KVxuICAgICAqIGNhY2hlLnNldCgnaHR0cHM6Ly9leGFtcGxlLmNvbS8nLCB7IHNvbWU6ICdkYXRhJyB9KVxuICAgICAqIC8vIDEwMG1zIGdvIGJ5Li4uXG4gICAgICogY29uc3QgcmVzdWx0ID0gY2FjaGUuZmV0Y2goJ2h0dHBzOi8vZXhhbXBsZS5jb20vJylcbiAgICAgKiBjYWNoZS5zZXQoJ2h0dHBzOi8vZXhhbXBsZS5jb20vJywgeyBvdGhlcjogJ3RoaW5nJyB9KVxuICAgICAqIGNvbnNvbGUubG9nKGF3YWl0IHJlc3VsdCkgLy8geyBzb21lOiAnZGF0YScgfVxuICAgICAqIGNvbnNvbGUubG9nKGNhY2hlLmdldCgnaHR0cHM6Ly9leGFtcGxlLmNvbS8nKSkgLy8geyBvdGhlcjogJ3RoaW5nJyB9XG4gICAgICogYGBgXG4gICAgICovXG4gICAgYWxsb3dTdGFsZU9uRmV0Y2hBYm9ydD86IGJvb2xlYW5cblxuICAgIC8qKlxuICAgICAqIFNldCB0byB0cnVlIHRvIGlnbm9yZSB0aGUgYGFib3J0YCBldmVudCBlbWl0dGVkIGJ5IHRoZSBgQWJvcnRTaWduYWxgXG4gICAgICogb2JqZWN0IHBhc3NlZCB0byB7QGxpbmsgT3B0aW9uc0Jhc2UuZmV0Y2hNZXRob2R9LCBhbmQgc3RpbGwgY2FjaGUgdGhlXG4gICAgICogcmVzdWx0aW5nIHJlc29sdXRpb24gdmFsdWUsIGFzIGxvbmcgYXMgaXQgaXMgbm90IGB1bmRlZmluZWRgLlxuICAgICAqXG4gICAgICogV2hlbiB1c2VkIG9uIGl0cyBvd24sIHRoaXMgbWVhbnMgYWJvcnRlZCB7QGxpbmsgTFJVQ2FjaGUjZmV0Y2h9IGNhbGxzXG4gICAgICogYXJlIG5vdCBpbW1lZGlhdGVseSByZXNvbHZlZCBvciByZWplY3RlZCB3aGVuIHRoZXkgYXJlIGFib3J0ZWQsIGFuZFxuICAgICAqIGluc3RlYWQgdGFrZSB0aGUgZnVsbCB0aW1lIHRvIGF3YWl0LlxuICAgICAqXG4gICAgICogV2hlbiB1c2VkIHdpdGgge0BsaW5rIE9wdGlvbnNCYXNlLmFsbG93U3RhbGVPbkZldGNoQWJvcnR9LCBhYm9ydGVkXG4gICAgICoge0BsaW5rIExSVUNhY2hlI2ZldGNofSBjYWxscyB3aWxsIHJlc29sdmUgaW1tZWRpYXRlbHkgdG8gdGhlaXIgc3RhbGVcbiAgICAgKiBjYWNoZWQgdmFsdWUgb3IgYHVuZGVmaW5lZGAsIGFuZCB3aWxsIGNvbnRpbnVlIHRvIHByb2Nlc3MgYW5kIGV2ZW50dWFsbHlcbiAgICAgKiB1cGRhdGUgdGhlIGNhY2hlIHdoZW4gdGhleSByZXNvbHZlLCBhcyBsb25nIGFzIHRoZSByZXN1bHRpbmcgdmFsdWUgaXNcbiAgICAgKiBub3QgYHVuZGVmaW5lZGAsIHRodXMgc3VwcG9ydGluZyBhIFwicmV0dXJuIHN0YWxlIG9uIHRpbWVvdXQgd2hpbGVcbiAgICAgKiByZWZyZXNoaW5nXCIgbWVjaGFuaXNtIGJ5IHBhc3NpbmcgYEFib3J0U2lnbmFsLnRpbWVvdXQobilgIGFzIHRoZSBzaWduYWwuXG4gICAgICpcbiAgICAgKiBGb3IgZXhhbXBsZTpcbiAgICAgKlxuICAgICAqIGBgYHRzXG4gICAgICogY29uc3QgYyA9IG5ldyBMUlVDYWNoZSh7XG4gICAgICogICB0dGw6IDEwMCxcbiAgICAgKiAgIGlnbm9yZUZldGNoQWJvcnQ6IHRydWUsXG4gICAgICogICBhbGxvd1N0YWxlT25GZXRjaEFib3J0OiB0cnVlLFxuICAgICAqICAgZmV0Y2hNZXRob2Q6IGFzeW5jIChrZXksIG9sZFZhbHVlLCB7IHNpZ25hbCB9KSA9PiB7XG4gICAgICogICAgIC8vIG5vdGU6IGRvIE5PVCBwYXNzIHRoZSBzaWduYWwgdG8gZmV0Y2goKSFcbiAgICAgKiAgICAgLy8gbGV0J3Mgc2F5IHRoaXMgZmV0Y2ggY2FuIHRha2UgYSBsb25nIHRpbWUuXG4gICAgICogICAgIGNvbnN0IHJlcyA9IGF3YWl0IGZldGNoKGBodHRwczovL3Nsb3ctYmFja2VuZC1zZXJ2ZXIvJHtrZXl9YClcbiAgICAgKiAgICAgcmV0dXJuIGF3YWl0IHJlcy5qc29uKClcbiAgICAgKiAgIH0sXG4gICAgICogfSlcbiAgICAgKlxuICAgICAqIC8vIHRoaXMgd2lsbCByZXR1cm4gdGhlIHN0YWxlIHZhbHVlIGFmdGVyIDEwMG1zLCB3aGlsZSBzdGlsbFxuICAgICAqIC8vIHVwZGF0aW5nIGluIHRoZSBiYWNrZ3JvdW5kIGZvciBuZXh0IHRpbWUuXG4gICAgICogY29uc3QgdmFsID0gYXdhaXQgYy5mZXRjaCgna2V5JywgeyBzaWduYWw6IEFib3J0U2lnbmFsLnRpbWVvdXQoMTAwKSB9KVxuICAgICAqIGBgYFxuICAgICAqXG4gICAgICogKipOb3RlKio6IHJlZ2FyZGxlc3Mgb2YgdGhpcyBzZXR0aW5nLCBhbiBgYWJvcnRgIGV2ZW50IF9pcyBzdGlsbFxuICAgICAqIGVtaXR0ZWQgb24gdGhlIGBBYm9ydFNpZ25hbGAgb2JqZWN0Xywgc28gbWF5IHJlc3VsdCBpbiBpbnZhbGlkIHJlc3VsdHNcbiAgICAgKiB3aGVuIHBhc3NlZCB0byBvdGhlciB1bmRlcmx5aW5nIEFQSXMgdGhhdCB1c2UgQWJvcnRTaWduYWxzLlxuICAgICAqXG4gICAgICogVGhpcyBtYXkgYmUgb3ZlcnJpZGRlbiBpbiB0aGUge0BsaW5rIE9wdGlvbnNCYXNlLmZldGNoTWV0aG9kfSBvciB0aGVcbiAgICAgKiBjYWxsIHRvIHtAbGluayBMUlVDYWNoZSNmZXRjaH0uXG4gICAgICovXG4gICAgaWdub3JlRmV0Y2hBYm9ydD86IGJvb2xlYW5cbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uc01heExpbWl0PEssIFYsIEZDPlxuICAgIGV4dGVuZHMgT3B0aW9uc0Jhc2U8SywgViwgRkM+IHtcbiAgICBtYXg6IENvdW50XG4gIH1cbiAgZXhwb3J0IGludGVyZmFjZSBPcHRpb25zVFRMTGltaXQ8SywgViwgRkM+XG4gICAgZXh0ZW5kcyBPcHRpb25zQmFzZTxLLCBWLCBGQz4ge1xuICAgIHR0bDogTWlsbGlzZWNvbmRzXG4gICAgdHRsQXV0b3B1cmdlOiBib29sZWFuXG4gIH1cbiAgZXhwb3J0IGludGVyZmFjZSBPcHRpb25zU2l6ZUxpbWl0PEssIFYsIEZDPlxuICAgIGV4dGVuZHMgT3B0aW9uc0Jhc2U8SywgViwgRkM+IHtcbiAgICBtYXhTaXplOiBTaXplXG4gIH1cblxuICAvKipcbiAgICogVGhlIHZhbGlkIHNhZmUgb3B0aW9ucyBmb3IgdGhlIHtAbGluayBMUlVDYWNoZX0gY29uc3RydWN0b3JcbiAgICovXG4gIGV4cG9ydCB0eXBlIE9wdGlvbnM8SywgViwgRkM+ID1cbiAgICB8IE9wdGlvbnNNYXhMaW1pdDxLLCBWLCBGQz5cbiAgICB8IE9wdGlvbnNTaXplTGltaXQ8SywgViwgRkM+XG4gICAgfCBPcHRpb25zVFRMTGltaXQ8SywgViwgRkM+XG5cbiAgLyoqXG4gICAqIEVudHJ5IG9iamVjdHMgdXNlZCBieSB7QGxpbmsgTFJVQ2FjaGUjbG9hZH0gYW5kIHtAbGluayBMUlVDYWNoZSNkdW1wfSxcbiAgICogYW5kIHJldHVybmVkIGJ5IHtAbGluayBMUlVDYWNoZSNpbmZvfS5cbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgRW50cnk8Vj4ge1xuICAgIHZhbHVlOiBWXG4gICAgdHRsPzogTWlsbGlzZWNvbmRzXG4gICAgc2l6ZT86IFNpemVcbiAgICBzdGFydD86IE1pbGxpc2Vjb25kc1xuICB9XG59XG5cbi8qKlxuICogRGVmYXVsdCBleHBvcnQsIHRoZSB0aGluZyB5b3UncmUgdXNpbmcgdGhpcyBtb2R1bGUgdG8gZ2V0LlxuICpcbiAqIFRoZSBgS2AgYW5kIGBWYCB0eXBlcyBkZWZpbmUgdGhlIGtleSBhbmQgdmFsdWUgdHlwZXMsIHJlc3BlY3RpdmVseS4gVGhlXG4gKiBvcHRpb25hbCBgRkNgIHR5cGUgZGVmaW5lcyB0aGUgdHlwZSBvZiB0aGUgYGNvbnRleHRgIG9iamVjdCBwYXNzZWQgdG9cbiAqIGBjYWNoZS5mZXRjaCgpYCBhbmQgYGNhY2hlLm1lbW8oKWAuXG4gKlxuICogS2V5cyBhbmQgdmFsdWVzICoqbXVzdCBub3QqKiBiZSBgbnVsbGAgb3IgYHVuZGVmaW5lZGAuXG4gKlxuICogQWxsIHByb3BlcnRpZXMgZnJvbSB0aGUgb3B0aW9ucyBvYmplY3QgKHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBgbWF4YCxcbiAqIGBtYXhTaXplYCwgYGZldGNoTWV0aG9kYCwgYG1lbW9NZXRob2RgLCBgZGlzcG9zZWAgYW5kIGBkaXNwb3NlQWZ0ZXJgKSBhcmVcbiAqIGFkZGVkIGFzIG5vcm1hbCBwdWJsaWMgbWVtYmVycy4gKFRoZSBsaXN0ZWQgb3B0aW9ucyBhcmUgcmVhZC1vbmx5IGdldHRlcnMuKVxuICpcbiAqIENoYW5naW5nIGFueSBvZiB0aGVzZSB3aWxsIGFsdGVyIHRoZSBkZWZhdWx0cyBmb3Igc3Vic2VxdWVudCBtZXRob2QgY2FsbHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBMUlVDYWNoZTxLIGV4dGVuZHMge30sIFYgZXh0ZW5kcyB7fSwgRkMgPSB1bmtub3duPlxuICBpbXBsZW1lbnRzIE1hcDxLLCBWPlxue1xuICAvLyBvcHRpb25zIHRoYXQgY2Fubm90IGJlIGNoYW5nZWQgd2l0aG91dCBkaXNhc3RlclxuICByZWFkb25seSAjbWF4OiBMUlVDYWNoZS5Db3VudFxuICByZWFkb25seSAjbWF4U2l6ZTogTFJVQ2FjaGUuU2l6ZVxuICByZWFkb25seSAjZGlzcG9zZT86IExSVUNhY2hlLkRpc3Bvc2VyPEssIFY+XG4gIHJlYWRvbmx5ICNkaXNwb3NlQWZ0ZXI/OiBMUlVDYWNoZS5EaXNwb3NlcjxLLCBWPlxuICByZWFkb25seSAjZmV0Y2hNZXRob2Q/OiBMUlVDYWNoZS5GZXRjaGVyPEssIFYsIEZDPlxuICByZWFkb25seSAjbWVtb01ldGhvZD86IExSVUNhY2hlLk1lbW9pemVyPEssIFYsIEZDPlxuXG4gIC8qKlxuICAgKiB7QGxpbmsgTFJVQ2FjaGUuT3B0aW9uc0Jhc2UudHRsfVxuICAgKi9cbiAgdHRsOiBMUlVDYWNoZS5NaWxsaXNlY29uZHNcblxuICAvKipcbiAgICoge0BsaW5rIExSVUNhY2hlLk9wdGlvbnNCYXNlLnR0bFJlc29sdXRpb259XG4gICAqL1xuICB0dGxSZXNvbHV0aW9uOiBMUlVDYWNoZS5NaWxsaXNlY29uZHNcbiAgLyoqXG4gICAqIHtAbGluayBMUlVDYWNoZS5PcHRpb25zQmFzZS50dGxBdXRvcHVyZ2V9XG4gICAqL1xuICB0dGxBdXRvcHVyZ2U6IGJvb2xlYW5cbiAgLyoqXG4gICAqIHtAbGluayBMUlVDYWNoZS5PcHRpb25zQmFzZS51cGRhdGVBZ2VPbkdldH1cbiAgICovXG4gIHVwZGF0ZUFnZU9uR2V0OiBib29sZWFuXG4gIC8qKlxuICAgKiB7QGxpbmsgTFJVQ2FjaGUuT3B0aW9uc0Jhc2UudXBkYXRlQWdlT25IYXN9XG4gICAqL1xuICB1cGRhdGVBZ2VPbkhhczogYm9vbGVhblxuICAvKipcbiAgICoge0BsaW5rIExSVUNhY2hlLk9wdGlvbnNCYXNlLmFsbG93U3RhbGV9XG4gICAqL1xuICBhbGxvd1N0YWxlOiBib29sZWFuXG5cbiAgLyoqXG4gICAqIHtAbGluayBMUlVDYWNoZS5PcHRpb25zQmFzZS5ub0Rpc3Bvc2VPblNldH1cbiAgICovXG4gIG5vRGlzcG9zZU9uU2V0OiBib29sZWFuXG4gIC8qKlxuICAgKiB7QGxpbmsgTFJVQ2FjaGUuT3B0aW9uc0Jhc2Uubm9VcGRhdGVUVEx9XG4gICAqL1xuICBub1VwZGF0ZVRUTDogYm9vbGVhblxuICAvKipcbiAgICoge0BsaW5rIExSVUNhY2hlLk9wdGlvbnNCYXNlLm1heEVudHJ5U2l6ZX1cbiAgICovXG4gIG1heEVudHJ5U2l6ZTogTFJVQ2FjaGUuU2l6ZVxuICAvKipcbiAgICoge0BsaW5rIExSVUNhY2hlLk9wdGlvbnNCYXNlLnNpemVDYWxjdWxhdGlvbn1cbiAgICovXG4gIHNpemVDYWxjdWxhdGlvbj86IExSVUNhY2hlLlNpemVDYWxjdWxhdG9yPEssIFY+XG4gIC8qKlxuICAgKiB7QGxpbmsgTFJVQ2FjaGUuT3B0aW9uc0Jhc2Uubm9EZWxldGVPbkZldGNoUmVqZWN0aW9ufVxuICAgKi9cbiAgbm9EZWxldGVPbkZldGNoUmVqZWN0aW9uOiBib29sZWFuXG4gIC8qKlxuICAgKiB7QGxpbmsgTFJVQ2FjaGUuT3B0aW9uc0Jhc2Uubm9EZWxldGVPblN0YWxlR2V0fVxuICAgKi9cbiAgbm9EZWxldGVPblN0YWxlR2V0OiBib29sZWFuXG4gIC8qKlxuICAgKiB7QGxpbmsgTFJVQ2FjaGUuT3B0aW9uc0Jhc2UuYWxsb3dTdGFsZU9uRmV0Y2hBYm9ydH1cbiAgICovXG4gIGFsbG93U3RhbGVPbkZldGNoQWJvcnQ6IGJvb2xlYW5cbiAgLyoqXG4gICAqIHtAbGluayBMUlVDYWNoZS5PcHRpb25zQmFzZS5hbGxvd1N0YWxlT25GZXRjaFJlamVjdGlvbn1cbiAgICovXG4gIGFsbG93U3RhbGVPbkZldGNoUmVqZWN0aW9uOiBib29sZWFuXG4gIC8qKlxuICAgKiB7QGxpbmsgTFJVQ2FjaGUuT3B0aW9uc0Jhc2UuaWdub3JlRmV0Y2hBYm9ydH1cbiAgICovXG4gIGlnbm9yZUZldGNoQWJvcnQ6IGJvb2xlYW5cblxuICAvLyBjb21wdXRlZCBwcm9wZXJ0aWVzXG4gICNzaXplOiBMUlVDYWNoZS5Db3VudFxuICAjY2FsY3VsYXRlZFNpemU6IExSVUNhY2hlLlNpemVcbiAgI2tleU1hcDogTWFwPEssIEluZGV4PlxuICAja2V5TGlzdDogKEsgfCB1bmRlZmluZWQpW11cbiAgI3ZhbExpc3Q6IChWIHwgQmFja2dyb3VuZEZldGNoPFY+IHwgdW5kZWZpbmVkKVtdXG4gICNuZXh0OiBOdW1iZXJBcnJheVxuICAjcHJldjogTnVtYmVyQXJyYXlcbiAgI2hlYWQ6IEluZGV4XG4gICN0YWlsOiBJbmRleFxuICAjZnJlZTogU3RhY2tMaWtlXG4gICNkaXNwb3NlZD86IERpc3Bvc2VUYXNrPEssIFY+W11cbiAgI3NpemVzPzogWmVyb0FycmF5XG4gICNzdGFydHM/OiBaZXJvQXJyYXlcbiAgI3R0bHM/OiBaZXJvQXJyYXlcblxuICAjaGFzRGlzcG9zZTogYm9vbGVhblxuICAjaGFzRmV0Y2hNZXRob2Q6IGJvb2xlYW5cbiAgI2hhc0Rpc3Bvc2VBZnRlcjogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBEbyBub3QgY2FsbCB0aGlzIG1ldGhvZCB1bmxlc3MgeW91IG5lZWQgdG8gaW5zcGVjdCB0aGVcbiAgICogaW5uZXIgd29ya2luZ3Mgb2YgdGhlIGNhY2hlLiAgSWYgYW55dGhpbmcgcmV0dXJuZWQgYnkgdGhpc1xuICAgKiBvYmplY3QgaXMgbW9kaWZpZWQgaW4gYW55IHdheSwgc3RyYW5nZSBicmVha2FnZSBtYXkgb2NjdXIuXG4gICAqXG4gICAqIFRoZXNlIGZpZWxkcyBhcmUgcHJpdmF0ZSBmb3IgYSByZWFzb24hXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgc3RhdGljIHVuc2FmZUV4cG9zZUludGVybmFsczxcbiAgICBLIGV4dGVuZHMge30sXG4gICAgViBleHRlbmRzIHt9LFxuICAgIEZDIGV4dGVuZHMgdW5rbm93biA9IHVua25vd25cbiAgPihjOiBMUlVDYWNoZTxLLCBWLCBGQz4pIHtcbiAgICByZXR1cm4ge1xuICAgICAgLy8gcHJvcGVydGllc1xuICAgICAgc3RhcnRzOiBjLiNzdGFydHMsXG4gICAgICB0dGxzOiBjLiN0dGxzLFxuICAgICAgc2l6ZXM6IGMuI3NpemVzLFxuICAgICAga2V5TWFwOiBjLiNrZXlNYXAgYXMgTWFwPEssIG51bWJlcj4sXG4gICAgICBrZXlMaXN0OiBjLiNrZXlMaXN0LFxuICAgICAgdmFsTGlzdDogYy4jdmFsTGlzdCxcbiAgICAgIG5leHQ6IGMuI25leHQsXG4gICAgICBwcmV2OiBjLiNwcmV2LFxuICAgICAgZ2V0IGhlYWQoKSB7XG4gICAgICAgIHJldHVybiBjLiNoZWFkXG4gICAgICB9LFxuICAgICAgZ2V0IHRhaWwoKSB7XG4gICAgICAgIHJldHVybiBjLiN0YWlsXG4gICAgICB9LFxuICAgICAgZnJlZTogYy4jZnJlZSxcbiAgICAgIC8vIG1ldGhvZHNcbiAgICAgIGlzQmFja2dyb3VuZEZldGNoOiAocDogYW55KSA9PiBjLiNpc0JhY2tncm91bmRGZXRjaChwKSxcbiAgICAgIGJhY2tncm91bmRGZXRjaDogKFxuICAgICAgICBrOiBLLFxuICAgICAgICBpbmRleDogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICAgICAgICBvcHRpb25zOiBMUlVDYWNoZS5GZXRjaE9wdGlvbnM8SywgViwgRkM+LFxuICAgICAgICBjb250ZXh0OiBhbnlcbiAgICAgICk6IEJhY2tncm91bmRGZXRjaDxWPiA9PlxuICAgICAgICBjLiNiYWNrZ3JvdW5kRmV0Y2goXG4gICAgICAgICAgayxcbiAgICAgICAgICBpbmRleCBhcyBJbmRleCB8IHVuZGVmaW5lZCxcbiAgICAgICAgICBvcHRpb25zLFxuICAgICAgICAgIGNvbnRleHRcbiAgICAgICAgKSxcbiAgICAgIG1vdmVUb1RhaWw6IChpbmRleDogbnVtYmVyKTogdm9pZCA9PlxuICAgICAgICBjLiNtb3ZlVG9UYWlsKGluZGV4IGFzIEluZGV4KSxcbiAgICAgIGluZGV4ZXM6IChvcHRpb25zPzogeyBhbGxvd1N0YWxlOiBib29sZWFuIH0pID0+XG4gICAgICAgIGMuI2luZGV4ZXMob3B0aW9ucyksXG4gICAgICByaW5kZXhlczogKG9wdGlvbnM/OiB7IGFsbG93U3RhbGU6IGJvb2xlYW4gfSkgPT5cbiAgICAgICAgYy4jcmluZGV4ZXMob3B0aW9ucyksXG4gICAgICBpc1N0YWxlOiAoaW5kZXg6IG51bWJlciB8IHVuZGVmaW5lZCkgPT5cbiAgICAgICAgYy4jaXNTdGFsZShpbmRleCBhcyBJbmRleCksXG4gICAgfVxuICB9XG5cbiAgLy8gUHJvdGVjdGVkIHJlYWQtb25seSBtZW1iZXJzXG5cbiAgLyoqXG4gICAqIHtAbGluayBMUlVDYWNoZS5PcHRpb25zQmFzZS5tYXh9IChyZWFkLW9ubHkpXG4gICAqL1xuICBnZXQgbWF4KCk6IExSVUNhY2hlLkNvdW50IHtcbiAgICByZXR1cm4gdGhpcy4jbWF4XG4gIH1cbiAgLyoqXG4gICAqIHtAbGluayBMUlVDYWNoZS5PcHRpb25zQmFzZS5tYXhTaXplfSAocmVhZC1vbmx5KVxuICAgKi9cbiAgZ2V0IG1heFNpemUoKTogTFJVQ2FjaGUuQ291bnQge1xuICAgIHJldHVybiB0aGlzLiNtYXhTaXplXG4gIH1cbiAgLyoqXG4gICAqIFRoZSB0b3RhbCBjb21wdXRlZCBzaXplIG9mIGl0ZW1zIGluIHRoZSBjYWNoZSAocmVhZC1vbmx5KVxuICAgKi9cbiAgZ2V0IGNhbGN1bGF0ZWRTaXplKCk6IExSVUNhY2hlLlNpemUge1xuICAgIHJldHVybiB0aGlzLiNjYWxjdWxhdGVkU2l6ZVxuICB9XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIGl0ZW1zIHN0b3JlZCBpbiB0aGUgY2FjaGUgKHJlYWQtb25seSlcbiAgICovXG4gIGdldCBzaXplKCk6IExSVUNhY2hlLkNvdW50IHtcbiAgICByZXR1cm4gdGhpcy4jc2l6ZVxuICB9XG4gIC8qKlxuICAgKiB7QGxpbmsgTFJVQ2FjaGUuT3B0aW9uc0Jhc2UuZmV0Y2hNZXRob2R9IChyZWFkLW9ubHkpXG4gICAqL1xuICBnZXQgZmV0Y2hNZXRob2QoKTogTFJVQ2FjaGUuRmV0Y2hlcjxLLCBWLCBGQz4gfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLiNmZXRjaE1ldGhvZFxuICB9XG4gIGdldCBtZW1vTWV0aG9kKCk6IExSVUNhY2hlLk1lbW9pemVyPEssIFYsIEZDPiB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI21lbW9NZXRob2RcbiAgfVxuICAvKipcbiAgICoge0BsaW5rIExSVUNhY2hlLk9wdGlvbnNCYXNlLmRpc3Bvc2V9IChyZWFkLW9ubHkpXG4gICAqL1xuICBnZXQgZGlzcG9zZSgpIHtcbiAgICByZXR1cm4gdGhpcy4jZGlzcG9zZVxuICB9XG4gIC8qKlxuICAgKiB7QGxpbmsgTFJVQ2FjaGUuT3B0aW9uc0Jhc2UuZGlzcG9zZUFmdGVyfSAocmVhZC1vbmx5KVxuICAgKi9cbiAgZ2V0IGRpc3Bvc2VBZnRlcigpIHtcbiAgICByZXR1cm4gdGhpcy4jZGlzcG9zZUFmdGVyXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBvcHRpb25zOiBMUlVDYWNoZS5PcHRpb25zPEssIFYsIEZDPiB8IExSVUNhY2hlPEssIFYsIEZDPlxuICApIHtcbiAgICBjb25zdCB7XG4gICAgICBtYXggPSAwLFxuICAgICAgdHRsLFxuICAgICAgdHRsUmVzb2x1dGlvbiA9IDEsXG4gICAgICB0dGxBdXRvcHVyZ2UsXG4gICAgICB1cGRhdGVBZ2VPbkdldCxcbiAgICAgIHVwZGF0ZUFnZU9uSGFzLFxuICAgICAgYWxsb3dTdGFsZSxcbiAgICAgIGRpc3Bvc2UsXG4gICAgICBkaXNwb3NlQWZ0ZXIsXG4gICAgICBub0Rpc3Bvc2VPblNldCxcbiAgICAgIG5vVXBkYXRlVFRMLFxuICAgICAgbWF4U2l6ZSA9IDAsXG4gICAgICBtYXhFbnRyeVNpemUgPSAwLFxuICAgICAgc2l6ZUNhbGN1bGF0aW9uLFxuICAgICAgZmV0Y2hNZXRob2QsXG4gICAgICBtZW1vTWV0aG9kLFxuICAgICAgbm9EZWxldGVPbkZldGNoUmVqZWN0aW9uLFxuICAgICAgbm9EZWxldGVPblN0YWxlR2V0LFxuICAgICAgYWxsb3dTdGFsZU9uRmV0Y2hSZWplY3Rpb24sXG4gICAgICBhbGxvd1N0YWxlT25GZXRjaEFib3J0LFxuICAgICAgaWdub3JlRmV0Y2hBYm9ydCxcbiAgICB9ID0gb3B0aW9uc1xuXG4gICAgaWYgKG1heCAhPT0gMCAmJiAhaXNQb3NJbnQobWF4KSkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignbWF4IG9wdGlvbiBtdXN0IGJlIGEgbm9ubmVnYXRpdmUgaW50ZWdlcicpXG4gICAgfVxuXG4gICAgY29uc3QgVWludEFycmF5ID0gbWF4ID8gZ2V0VWludEFycmF5KG1heCkgOiBBcnJheVxuICAgIGlmICghVWludEFycmF5KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgbWF4IHZhbHVlOiAnICsgbWF4KVxuICAgIH1cblxuICAgIHRoaXMuI21heCA9IG1heFxuICAgIHRoaXMuI21heFNpemUgPSBtYXhTaXplXG4gICAgdGhpcy5tYXhFbnRyeVNpemUgPSBtYXhFbnRyeVNpemUgfHwgdGhpcy4jbWF4U2l6ZVxuICAgIHRoaXMuc2l6ZUNhbGN1bGF0aW9uID0gc2l6ZUNhbGN1bGF0aW9uXG4gICAgaWYgKHRoaXMuc2l6ZUNhbGN1bGF0aW9uKSB7XG4gICAgICBpZiAoIXRoaXMuI21heFNpemUgJiYgIXRoaXMubWF4RW50cnlTaXplKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAgICAgJ2Nhbm5vdCBzZXQgc2l6ZUNhbGN1bGF0aW9uIHdpdGhvdXQgc2V0dGluZyBtYXhTaXplIG9yIG1heEVudHJ5U2l6ZSdcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgaWYgKHR5cGVvZiB0aGlzLnNpemVDYWxjdWxhdGlvbiAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdzaXplQ2FsY3VsYXRpb24gc2V0IHRvIG5vbi1mdW5jdGlvbicpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgbWVtb01ldGhvZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICB0eXBlb2YgbWVtb01ldGhvZCAhPT0gJ2Z1bmN0aW9uJ1xuICAgICkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignbWVtb01ldGhvZCBtdXN0IGJlIGEgZnVuY3Rpb24gaWYgZGVmaW5lZCcpXG4gICAgfVxuICAgIHRoaXMuI21lbW9NZXRob2QgPSBtZW1vTWV0aG9kXG5cbiAgICBpZiAoXG4gICAgICBmZXRjaE1ldGhvZCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICB0eXBlb2YgZmV0Y2hNZXRob2QgIT09ICdmdW5jdGlvbidcbiAgICApIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAgICdmZXRjaE1ldGhvZCBtdXN0IGJlIGEgZnVuY3Rpb24gaWYgc3BlY2lmaWVkJ1xuICAgICAgKVxuICAgIH1cbiAgICB0aGlzLiNmZXRjaE1ldGhvZCA9IGZldGNoTWV0aG9kXG4gICAgdGhpcy4jaGFzRmV0Y2hNZXRob2QgPSAhIWZldGNoTWV0aG9kXG5cbiAgICB0aGlzLiNrZXlNYXAgPSBuZXcgTWFwKClcbiAgICB0aGlzLiNrZXlMaXN0ID0gbmV3IEFycmF5KG1heCkuZmlsbCh1bmRlZmluZWQpXG4gICAgdGhpcy4jdmFsTGlzdCA9IG5ldyBBcnJheShtYXgpLmZpbGwodW5kZWZpbmVkKVxuICAgIHRoaXMuI25leHQgPSBuZXcgVWludEFycmF5KG1heClcbiAgICB0aGlzLiNwcmV2ID0gbmV3IFVpbnRBcnJheShtYXgpXG4gICAgdGhpcy4jaGVhZCA9IDAgYXMgSW5kZXhcbiAgICB0aGlzLiN0YWlsID0gMCBhcyBJbmRleFxuICAgIHRoaXMuI2ZyZWUgPSBTdGFjay5jcmVhdGUobWF4KVxuICAgIHRoaXMuI3NpemUgPSAwXG4gICAgdGhpcy4jY2FsY3VsYXRlZFNpemUgPSAwXG5cbiAgICBpZiAodHlwZW9mIGRpc3Bvc2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHRoaXMuI2Rpc3Bvc2UgPSBkaXNwb3NlXG4gICAgfVxuICAgIGlmICh0eXBlb2YgZGlzcG9zZUFmdGVyID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICB0aGlzLiNkaXNwb3NlQWZ0ZXIgPSBkaXNwb3NlQWZ0ZXJcbiAgICAgIHRoaXMuI2Rpc3Bvc2VkID0gW11cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jZGlzcG9zZUFmdGVyID0gdW5kZWZpbmVkXG4gICAgICB0aGlzLiNkaXNwb3NlZCA9IHVuZGVmaW5lZFxuICAgIH1cbiAgICB0aGlzLiNoYXNEaXNwb3NlID0gISF0aGlzLiNkaXNwb3NlXG4gICAgdGhpcy4jaGFzRGlzcG9zZUFmdGVyID0gISF0aGlzLiNkaXNwb3NlQWZ0ZXJcblxuICAgIHRoaXMubm9EaXNwb3NlT25TZXQgPSAhIW5vRGlzcG9zZU9uU2V0XG4gICAgdGhpcy5ub1VwZGF0ZVRUTCA9ICEhbm9VcGRhdGVUVExcbiAgICB0aGlzLm5vRGVsZXRlT25GZXRjaFJlamVjdGlvbiA9ICEhbm9EZWxldGVPbkZldGNoUmVqZWN0aW9uXG4gICAgdGhpcy5hbGxvd1N0YWxlT25GZXRjaFJlamVjdGlvbiA9ICEhYWxsb3dTdGFsZU9uRmV0Y2hSZWplY3Rpb25cbiAgICB0aGlzLmFsbG93U3RhbGVPbkZldGNoQWJvcnQgPSAhIWFsbG93U3RhbGVPbkZldGNoQWJvcnRcbiAgICB0aGlzLmlnbm9yZUZldGNoQWJvcnQgPSAhIWlnbm9yZUZldGNoQWJvcnRcblxuICAgIC8vIE5COiBtYXhFbnRyeVNpemUgaXMgc2V0IHRvIG1heFNpemUgaWYgaXQncyBzZXRcbiAgICBpZiAodGhpcy5tYXhFbnRyeVNpemUgIT09IDApIHtcbiAgICAgIGlmICh0aGlzLiNtYXhTaXplICE9PSAwKSB7XG4gICAgICAgIGlmICghaXNQb3NJbnQodGhpcy4jbWF4U2l6ZSkpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAgICAgJ21heFNpemUgbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIgaWYgc3BlY2lmaWVkJ1xuICAgICAgICAgIClcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKCFpc1Bvc0ludCh0aGlzLm1heEVudHJ5U2l6ZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAnbWF4RW50cnlTaXplIG11c3QgYmUgYSBwb3NpdGl2ZSBpbnRlZ2VyIGlmIHNwZWNpZmllZCdcbiAgICAgICAgKVxuICAgICAgfVxuICAgICAgdGhpcy4jaW5pdGlhbGl6ZVNpemVUcmFja2luZygpXG4gICAgfVxuXG4gICAgdGhpcy5hbGxvd1N0YWxlID0gISFhbGxvd1N0YWxlXG4gICAgdGhpcy5ub0RlbGV0ZU9uU3RhbGVHZXQgPSAhIW5vRGVsZXRlT25TdGFsZUdldFxuICAgIHRoaXMudXBkYXRlQWdlT25HZXQgPSAhIXVwZGF0ZUFnZU9uR2V0XG4gICAgdGhpcy51cGRhdGVBZ2VPbkhhcyA9ICEhdXBkYXRlQWdlT25IYXNcbiAgICB0aGlzLnR0bFJlc29sdXRpb24gPVxuICAgICAgaXNQb3NJbnQodHRsUmVzb2x1dGlvbikgfHwgdHRsUmVzb2x1dGlvbiA9PT0gMFxuICAgICAgICA/IHR0bFJlc29sdXRpb25cbiAgICAgICAgOiAxXG4gICAgdGhpcy50dGxBdXRvcHVyZ2UgPSAhIXR0bEF1dG9wdXJnZVxuICAgIHRoaXMudHRsID0gdHRsIHx8IDBcbiAgICBpZiAodGhpcy50dGwpIHtcbiAgICAgIGlmICghaXNQb3NJbnQodGhpcy50dGwpKSB7XG4gICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAgICAgJ3R0bCBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciBpZiBzcGVjaWZpZWQnXG4gICAgICAgIClcbiAgICAgIH1cbiAgICAgIHRoaXMuI2luaXRpYWxpemVUVExUcmFja2luZygpXG4gICAgfVxuXG4gICAgLy8gZG8gbm90IGFsbG93IGNvbXBsZXRlbHkgdW5ib3VuZGVkIGNhY2hlc1xuICAgIGlmICh0aGlzLiNtYXggPT09IDAgJiYgdGhpcy50dGwgPT09IDAgJiYgdGhpcy4jbWF4U2l6ZSA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgJ0F0IGxlYXN0IG9uZSBvZiBtYXgsIG1heFNpemUsIG9yIHR0bCBpcyByZXF1aXJlZCdcbiAgICAgIClcbiAgICB9XG4gICAgaWYgKCF0aGlzLnR0bEF1dG9wdXJnZSAmJiAhdGhpcy4jbWF4ICYmICF0aGlzLiNtYXhTaXplKSB7XG4gICAgICBjb25zdCBjb2RlID0gJ0xSVV9DQUNIRV9VTkJPVU5ERUQnXG4gICAgICBpZiAoc2hvdWxkV2Fybihjb2RlKSkge1xuICAgICAgICB3YXJuZWQuYWRkKGNvZGUpXG4gICAgICAgIGNvbnN0IG1zZyA9XG4gICAgICAgICAgJ1RUTCBjYWNoaW5nIHdpdGhvdXQgdHRsQXV0b3B1cmdlLCBtYXgsIG9yIG1heFNpemUgY2FuICcgK1xuICAgICAgICAgICdyZXN1bHQgaW4gdW5ib3VuZGVkIG1lbW9yeSBjb25zdW1wdGlvbi4nXG4gICAgICAgIGVtaXRXYXJuaW5nKG1zZywgJ1VuYm91bmRlZENhY2hlV2FybmluZycsIGNvZGUsIExSVUNhY2hlKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIG51bWJlciBvZiBtcyBsZWZ0IGluIHRoZSBpdGVtJ3MgVFRMLiBJZiBpdGVtIGlzIG5vdCBpbiBjYWNoZSxcbiAgICogcmV0dXJucyBgMGAuIFJldHVybnMgYEluZmluaXR5YCBpZiBpdGVtIGlzIGluIGNhY2hlIHdpdGhvdXQgYSBkZWZpbmVkIFRUTC5cbiAgICovXG4gIGdldFJlbWFpbmluZ1RUTChrZXk6IEspIHtcbiAgICByZXR1cm4gdGhpcy4ja2V5TWFwLmhhcyhrZXkpID8gSW5maW5pdHkgOiAwXG4gIH1cblxuICAjaW5pdGlhbGl6ZVRUTFRyYWNraW5nKCkge1xuICAgIGNvbnN0IHR0bHMgPSBuZXcgWmVyb0FycmF5KHRoaXMuI21heClcbiAgICBjb25zdCBzdGFydHMgPSBuZXcgWmVyb0FycmF5KHRoaXMuI21heClcbiAgICB0aGlzLiN0dGxzID0gdHRsc1xuICAgIHRoaXMuI3N0YXJ0cyA9IHN0YXJ0c1xuXG4gICAgdGhpcy4jc2V0SXRlbVRUTCA9IChpbmRleCwgdHRsLCBzdGFydCA9IHBlcmYubm93KCkpID0+IHtcbiAgICAgIHN0YXJ0c1tpbmRleF0gPSB0dGwgIT09IDAgPyBzdGFydCA6IDBcbiAgICAgIHR0bHNbaW5kZXhdID0gdHRsXG4gICAgICBpZiAodHRsICE9PSAwICYmIHRoaXMudHRsQXV0b3B1cmdlKSB7XG4gICAgICAgIGNvbnN0IHQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICBpZiAodGhpcy4jaXNTdGFsZShpbmRleCkpIHtcbiAgICAgICAgICAgIHRoaXMuI2RlbGV0ZSh0aGlzLiNrZXlMaXN0W2luZGV4XSBhcyBLLCAnZXhwaXJlJylcbiAgICAgICAgICB9XG4gICAgICAgIH0sIHR0bCArIDEpXG4gICAgICAgIC8vIHVucmVmKCkgbm90IHN1cHBvcnRlZCBvbiBhbGwgcGxhdGZvcm1zXG4gICAgICAgIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICAgICAgICBpZiAodC51bnJlZikge1xuICAgICAgICAgIHQudW5yZWYoKVxuICAgICAgICB9XG4gICAgICAgIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy4jdXBkYXRlSXRlbUFnZSA9IGluZGV4ID0+IHtcbiAgICAgIHN0YXJ0c1tpbmRleF0gPSB0dGxzW2luZGV4XSAhPT0gMCA/IHBlcmYubm93KCkgOiAwXG4gICAgfVxuXG4gICAgdGhpcy4jc3RhdHVzVFRMID0gKHN0YXR1cywgaW5kZXgpID0+IHtcbiAgICAgIGlmICh0dGxzW2luZGV4XSkge1xuICAgICAgICBjb25zdCB0dGwgPSB0dGxzW2luZGV4XVxuICAgICAgICBjb25zdCBzdGFydCA9IHN0YXJ0c1tpbmRleF1cbiAgICAgICAgLyogYzggaWdub3JlIG5leHQgKi9cbiAgICAgICAgaWYgKCF0dGwgfHwgIXN0YXJ0KSByZXR1cm5cbiAgICAgICAgc3RhdHVzLnR0bCA9IHR0bFxuICAgICAgICBzdGF0dXMuc3RhcnQgPSBzdGFydFxuICAgICAgICBzdGF0dXMubm93ID0gY2FjaGVkTm93IHx8IGdldE5vdygpXG4gICAgICAgIGNvbnN0IGFnZSA9IHN0YXR1cy5ub3cgLSBzdGFydFxuICAgICAgICBzdGF0dXMucmVtYWluaW5nVFRMID0gdHRsIC0gYWdlXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gZGVib3VuY2UgY2FsbHMgdG8gcGVyZi5ub3coKSB0byAxcyBzbyB3ZSdyZSBub3QgaGl0dGluZ1xuICAgIC8vIHRoYXQgY29zdGx5IGNhbGwgcmVwZWF0ZWRseS5cbiAgICBsZXQgY2FjaGVkTm93ID0gMFxuICAgIGNvbnN0IGdldE5vdyA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG4gPSBwZXJmLm5vdygpXG4gICAgICBpZiAodGhpcy50dGxSZXNvbHV0aW9uID4gMCkge1xuICAgICAgICBjYWNoZWROb3cgPSBuXG4gICAgICAgIGNvbnN0IHQgPSBzZXRUaW1lb3V0KFxuICAgICAgICAgICgpID0+IChjYWNoZWROb3cgPSAwKSxcbiAgICAgICAgICB0aGlzLnR0bFJlc29sdXRpb25cbiAgICAgICAgKVxuICAgICAgICAvLyBub3QgYXZhaWxhYmxlIG9uIGFsbCBwbGF0Zm9ybXNcbiAgICAgICAgLyogYzggaWdub3JlIHN0YXJ0ICovXG4gICAgICAgIGlmICh0LnVucmVmKSB7XG4gICAgICAgICAgdC51bnJlZigpXG4gICAgICAgIH1cbiAgICAgICAgLyogYzggaWdub3JlIHN0b3AgKi9cbiAgICAgIH1cbiAgICAgIHJldHVybiBuXG4gICAgfVxuXG4gICAgdGhpcy5nZXRSZW1haW5pbmdUVEwgPSBrZXkgPT4ge1xuICAgICAgY29uc3QgaW5kZXggPSB0aGlzLiNrZXlNYXAuZ2V0KGtleSlcbiAgICAgIGlmIChpbmRleCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiAwXG4gICAgICB9XG4gICAgICBjb25zdCB0dGwgPSB0dGxzW2luZGV4XVxuICAgICAgY29uc3Qgc3RhcnQgPSBzdGFydHNbaW5kZXhdXG4gICAgICBpZiAoIXR0bCB8fCAhc3RhcnQpIHtcbiAgICAgICAgcmV0dXJuIEluZmluaXR5XG4gICAgICB9XG4gICAgICBjb25zdCBhZ2UgPSAoY2FjaGVkTm93IHx8IGdldE5vdygpKSAtIHN0YXJ0XG4gICAgICByZXR1cm4gdHRsIC0gYWdlXG4gICAgfVxuXG4gICAgdGhpcy4jaXNTdGFsZSA9IGluZGV4ID0+IHtcbiAgICAgIGNvbnN0IHMgPSBzdGFydHNbaW5kZXhdXG4gICAgICBjb25zdCB0ID0gdHRsc1tpbmRleF1cbiAgICAgIHJldHVybiAhIXQgJiYgISFzICYmIChjYWNoZWROb3cgfHwgZ2V0Tm93KCkpIC0gcyA+IHRcbiAgICB9XG4gIH1cblxuICAvLyBjb25kaXRpb25hbGx5IHNldCBwcml2YXRlIG1ldGhvZHMgcmVsYXRlZCB0byBUVExcbiAgI3VwZGF0ZUl0ZW1BZ2U6IChpbmRleDogSW5kZXgpID0+IHZvaWQgPSAoKSA9PiB7fVxuICAjc3RhdHVzVFRMOiAoc3RhdHVzOiBMUlVDYWNoZS5TdGF0dXM8Vj4sIGluZGV4OiBJbmRleCkgPT4gdm9pZCA9XG4gICAgKCkgPT4ge31cbiAgI3NldEl0ZW1UVEw6IChcbiAgICBpbmRleDogSW5kZXgsXG4gICAgdHRsOiBMUlVDYWNoZS5NaWxsaXNlY29uZHMsXG4gICAgc3RhcnQ/OiBMUlVDYWNoZS5NaWxsaXNlY29uZHNcbiAgICAvLyBpZ25vcmUgYmVjYXVzZSB3ZSBuZXZlciBjYWxsIHRoaXMgaWYgd2UncmUgbm90IGFscmVhZHkgaW4gVFRMIG1vZGVcbiAgICAvKiBjOCBpZ25vcmUgc3RhcnQgKi9cbiAgKSA9PiB2b2lkID0gKCkgPT4ge31cbiAgLyogYzggaWdub3JlIHN0b3AgKi9cblxuICAjaXNTdGFsZTogKGluZGV4OiBJbmRleCkgPT4gYm9vbGVhbiA9ICgpID0+IGZhbHNlXG5cbiAgI2luaXRpYWxpemVTaXplVHJhY2tpbmcoKSB7XG4gICAgY29uc3Qgc2l6ZXMgPSBuZXcgWmVyb0FycmF5KHRoaXMuI21heClcbiAgICB0aGlzLiNjYWxjdWxhdGVkU2l6ZSA9IDBcbiAgICB0aGlzLiNzaXplcyA9IHNpemVzXG4gICAgdGhpcy4jcmVtb3ZlSXRlbVNpemUgPSBpbmRleCA9PiB7XG4gICAgICB0aGlzLiNjYWxjdWxhdGVkU2l6ZSAtPSBzaXplc1tpbmRleF0gYXMgbnVtYmVyXG4gICAgICBzaXplc1tpbmRleF0gPSAwXG4gICAgfVxuICAgIHRoaXMuI3JlcXVpcmVTaXplID0gKGssIHYsIHNpemUsIHNpemVDYWxjdWxhdGlvbikgPT4ge1xuICAgICAgLy8gcHJvdmlzaW9uYWxseSBhY2NlcHQgYmFja2dyb3VuZCBmZXRjaGVzLlxuICAgICAgLy8gYWN0dWFsIHZhbHVlIHNpemUgd2lsbCBiZSBjaGVja2VkIHdoZW4gdGhleSByZXR1cm4uXG4gICAgICBpZiAodGhpcy4jaXNCYWNrZ3JvdW5kRmV0Y2godikpIHtcbiAgICAgICAgcmV0dXJuIDBcbiAgICAgIH1cbiAgICAgIGlmICghaXNQb3NJbnQoc2l6ZSkpIHtcbiAgICAgICAgaWYgKHNpemVDYWxjdWxhdGlvbikge1xuICAgICAgICAgIGlmICh0eXBlb2Ygc2l6ZUNhbGN1bGF0aW9uICE9PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdzaXplQ2FsY3VsYXRpb24gbXVzdCBiZSBhIGZ1bmN0aW9uJylcbiAgICAgICAgICB9XG4gICAgICAgICAgc2l6ZSA9IHNpemVDYWxjdWxhdGlvbih2LCBrKVxuICAgICAgICAgIGlmICghaXNQb3NJbnQoc2l6ZSkpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAgICAgICAgICdzaXplQ2FsY3VsYXRpb24gcmV0dXJuIGludmFsaWQgKGV4cGVjdCBwb3NpdGl2ZSBpbnRlZ2VyKSdcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgICAgICAgICdpbnZhbGlkIHNpemUgdmFsdWUgKG11c3QgYmUgcG9zaXRpdmUgaW50ZWdlcikuICcgK1xuICAgICAgICAgICAgICAnV2hlbiBtYXhTaXplIG9yIG1heEVudHJ5U2l6ZSBpcyB1c2VkLCBzaXplQ2FsY3VsYXRpb24gJyArXG4gICAgICAgICAgICAgICdvciBzaXplIG11c3QgYmUgc2V0LidcbiAgICAgICAgICApXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBzaXplXG4gICAgfVxuICAgIHRoaXMuI2FkZEl0ZW1TaXplID0gKFxuICAgICAgaW5kZXg6IEluZGV4LFxuICAgICAgc2l6ZTogTFJVQ2FjaGUuU2l6ZSxcbiAgICAgIHN0YXR1cz86IExSVUNhY2hlLlN0YXR1czxWPlxuICAgICkgPT4ge1xuICAgICAgc2l6ZXNbaW5kZXhdID0gc2l6ZVxuICAgICAgaWYgKHRoaXMuI21heFNpemUpIHtcbiAgICAgICAgY29uc3QgbWF4U2l6ZSA9IHRoaXMuI21heFNpemUgLSAoc2l6ZXNbaW5kZXhdIGFzIG51bWJlcilcbiAgICAgICAgd2hpbGUgKHRoaXMuI2NhbGN1bGF0ZWRTaXplID4gbWF4U2l6ZSkge1xuICAgICAgICAgIHRoaXMuI2V2aWN0KHRydWUpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHRoaXMuI2NhbGN1bGF0ZWRTaXplICs9IHNpemVzW2luZGV4XSBhcyBudW1iZXJcbiAgICAgIGlmIChzdGF0dXMpIHtcbiAgICAgICAgc3RhdHVzLmVudHJ5U2l6ZSA9IHNpemVcbiAgICAgICAgc3RhdHVzLnRvdGFsQ2FsY3VsYXRlZFNpemUgPSB0aGlzLiNjYWxjdWxhdGVkU2l6ZVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNyZW1vdmVJdGVtU2l6ZTogKGluZGV4OiBJbmRleCkgPT4gdm9pZCA9IF9pID0+IHt9XG4gICNhZGRJdGVtU2l6ZTogKFxuICAgIGluZGV4OiBJbmRleCxcbiAgICBzaXplOiBMUlVDYWNoZS5TaXplLFxuICAgIHN0YXR1cz86IExSVUNhY2hlLlN0YXR1czxWPlxuICApID0+IHZvaWQgPSAoX2ksIF9zLCBfc3QpID0+IHt9XG4gICNyZXF1aXJlU2l6ZTogKFxuICAgIGs6IEssXG4gICAgdjogViB8IEJhY2tncm91bmRGZXRjaDxWPixcbiAgICBzaXplPzogTFJVQ2FjaGUuU2l6ZSxcbiAgICBzaXplQ2FsY3VsYXRpb24/OiBMUlVDYWNoZS5TaXplQ2FsY3VsYXRvcjxLLCBWPlxuICApID0+IExSVUNhY2hlLlNpemUgPSAoXG4gICAgX2s6IEssXG4gICAgX3Y6IFYgfCBCYWNrZ3JvdW5kRmV0Y2g8Vj4sXG4gICAgc2l6ZT86IExSVUNhY2hlLlNpemUsXG4gICAgc2l6ZUNhbGN1bGF0aW9uPzogTFJVQ2FjaGUuU2l6ZUNhbGN1bGF0b3I8SywgVj5cbiAgKSA9PiB7XG4gICAgaWYgKHNpemUgfHwgc2l6ZUNhbGN1bGF0aW9uKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgICAnY2Fubm90IHNldCBzaXplIHdpdGhvdXQgc2V0dGluZyBtYXhTaXplIG9yIG1heEVudHJ5U2l6ZSBvbiBjYWNoZSdcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIDBcbiAgfTtcblxuICAqI2luZGV4ZXMoeyBhbGxvd1N0YWxlID0gdGhpcy5hbGxvd1N0YWxlIH0gPSB7fSkge1xuICAgIGlmICh0aGlzLiNzaXplKSB7XG4gICAgICBmb3IgKGxldCBpID0gdGhpcy4jdGFpbDsgdHJ1ZTsgKSB7XG4gICAgICAgIGlmICghdGhpcy4jaXNWYWxpZEluZGV4KGkpKSB7XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWxsb3dTdGFsZSB8fCAhdGhpcy4jaXNTdGFsZShpKSkge1xuICAgICAgICAgIHlpZWxkIGlcbiAgICAgICAgfVxuICAgICAgICBpZiAoaSA9PT0gdGhpcy4jaGVhZCkge1xuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaSA9IHRoaXMuI3ByZXZbaV0gYXMgSW5kZXhcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICojcmluZGV4ZXMoeyBhbGxvd1N0YWxlID0gdGhpcy5hbGxvd1N0YWxlIH0gPSB7fSkge1xuICAgIGlmICh0aGlzLiNzaXplKSB7XG4gICAgICBmb3IgKGxldCBpID0gdGhpcy4jaGVhZDsgdHJ1ZTsgKSB7XG4gICAgICAgIGlmICghdGhpcy4jaXNWYWxpZEluZGV4KGkpKSB7XG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgICBpZiAoYWxsb3dTdGFsZSB8fCAhdGhpcy4jaXNTdGFsZShpKSkge1xuICAgICAgICAgIHlpZWxkIGlcbiAgICAgICAgfVxuICAgICAgICBpZiAoaSA9PT0gdGhpcy4jdGFpbCkge1xuICAgICAgICAgIGJyZWFrXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaSA9IHRoaXMuI25leHRbaV0gYXMgSW5kZXhcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICNpc1ZhbGlkSW5kZXgoaW5kZXg6IEluZGV4KSB7XG4gICAgcmV0dXJuIChcbiAgICAgIGluZGV4ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMuI2tleU1hcC5nZXQodGhpcy4ja2V5TGlzdFtpbmRleF0gYXMgSykgPT09IGluZGV4XG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIGdlbmVyYXRvciB5aWVsZGluZyBgW2tleSwgdmFsdWVdYCBwYWlycyxcbiAgICogaW4gb3JkZXIgZnJvbSBtb3N0IHJlY2VudGx5IHVzZWQgdG8gbGVhc3QgcmVjZW50bHkgdXNlZC5cbiAgICovXG4gICplbnRyaWVzKCkge1xuICAgIGZvciAoY29uc3QgaSBvZiB0aGlzLiNpbmRleGVzKCkpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdGhpcy4jdmFsTGlzdFtpXSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIHRoaXMuI2tleUxpc3RbaV0gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAhdGhpcy4jaXNCYWNrZ3JvdW5kRmV0Y2godGhpcy4jdmFsTGlzdFtpXSlcbiAgICAgICkge1xuICAgICAgICB5aWVsZCBbdGhpcy4ja2V5TGlzdFtpXSwgdGhpcy4jdmFsTGlzdFtpXV0gYXMgW0ssIFZdXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEludmVyc2Ugb3JkZXIgdmVyc2lvbiBvZiB7QGxpbmsgTFJVQ2FjaGUuZW50cmllc31cbiAgICpcbiAgICogUmV0dXJuIGEgZ2VuZXJhdG9yIHlpZWxkaW5nIGBba2V5LCB2YWx1ZV1gIHBhaXJzLFxuICAgKiBpbiBvcmRlciBmcm9tIGxlYXN0IHJlY2VudGx5IHVzZWQgdG8gbW9zdCByZWNlbnRseSB1c2VkLlxuICAgKi9cbiAgKnJlbnRyaWVzKCkge1xuICAgIGZvciAoY29uc3QgaSBvZiB0aGlzLiNyaW5kZXhlcygpKSB7XG4gICAgICBpZiAoXG4gICAgICAgIHRoaXMuI3ZhbExpc3RbaV0gIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICB0aGlzLiNrZXlMaXN0W2ldICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgIXRoaXMuI2lzQmFja2dyb3VuZEZldGNoKHRoaXMuI3ZhbExpc3RbaV0pXG4gICAgICApIHtcbiAgICAgICAgeWllbGQgW3RoaXMuI2tleUxpc3RbaV0sIHRoaXMuI3ZhbExpc3RbaV1dXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIGdlbmVyYXRvciB5aWVsZGluZyB0aGUga2V5cyBpbiB0aGUgY2FjaGUsXG4gICAqIGluIG9yZGVyIGZyb20gbW9zdCByZWNlbnRseSB1c2VkIHRvIGxlYXN0IHJlY2VudGx5IHVzZWQuXG4gICAqL1xuICAqa2V5cygpIHtcbiAgICBmb3IgKGNvbnN0IGkgb2YgdGhpcy4jaW5kZXhlcygpKSB7XG4gICAgICBjb25zdCBrID0gdGhpcy4ja2V5TGlzdFtpXVxuICAgICAgaWYgKFxuICAgICAgICBrICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgIXRoaXMuI2lzQmFja2dyb3VuZEZldGNoKHRoaXMuI3ZhbExpc3RbaV0pXG4gICAgICApIHtcbiAgICAgICAgeWllbGQga1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbnZlcnNlIG9yZGVyIHZlcnNpb24gb2Yge0BsaW5rIExSVUNhY2hlLmtleXN9XG4gICAqXG4gICAqIFJldHVybiBhIGdlbmVyYXRvciB5aWVsZGluZyB0aGUga2V5cyBpbiB0aGUgY2FjaGUsXG4gICAqIGluIG9yZGVyIGZyb20gbGVhc3QgcmVjZW50bHkgdXNlZCB0byBtb3N0IHJlY2VudGx5IHVzZWQuXG4gICAqL1xuICAqcmtleXMoKSB7XG4gICAgZm9yIChjb25zdCBpIG9mIHRoaXMuI3JpbmRleGVzKCkpIHtcbiAgICAgIGNvbnN0IGsgPSB0aGlzLiNrZXlMaXN0W2ldXG4gICAgICBpZiAoXG4gICAgICAgIGsgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAhdGhpcy4jaXNCYWNrZ3JvdW5kRmV0Y2godGhpcy4jdmFsTGlzdFtpXSlcbiAgICAgICkge1xuICAgICAgICB5aWVsZCBrXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIGdlbmVyYXRvciB5aWVsZGluZyB0aGUgdmFsdWVzIGluIHRoZSBjYWNoZSxcbiAgICogaW4gb3JkZXIgZnJvbSBtb3N0IHJlY2VudGx5IHVzZWQgdG8gbGVhc3QgcmVjZW50bHkgdXNlZC5cbiAgICovXG4gICp2YWx1ZXMoKSB7XG4gICAgZm9yIChjb25zdCBpIG9mIHRoaXMuI2luZGV4ZXMoKSkge1xuICAgICAgY29uc3QgdiA9IHRoaXMuI3ZhbExpc3RbaV1cbiAgICAgIGlmIChcbiAgICAgICAgdiAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICF0aGlzLiNpc0JhY2tncm91bmRGZXRjaCh0aGlzLiN2YWxMaXN0W2ldKVxuICAgICAgKSB7XG4gICAgICAgIHlpZWxkIHRoaXMuI3ZhbExpc3RbaV0gYXMgVlxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbnZlcnNlIG9yZGVyIHZlcnNpb24gb2Yge0BsaW5rIExSVUNhY2hlLnZhbHVlc31cbiAgICpcbiAgICogUmV0dXJuIGEgZ2VuZXJhdG9yIHlpZWxkaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIGNhY2hlLFxuICAgKiBpbiBvcmRlciBmcm9tIGxlYXN0IHJlY2VudGx5IHVzZWQgdG8gbW9zdCByZWNlbnRseSB1c2VkLlxuICAgKi9cbiAgKnJ2YWx1ZXMoKSB7XG4gICAgZm9yIChjb25zdCBpIG9mIHRoaXMuI3JpbmRleGVzKCkpIHtcbiAgICAgIGNvbnN0IHYgPSB0aGlzLiN2YWxMaXN0W2ldXG4gICAgICBpZiAoXG4gICAgICAgIHYgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAhdGhpcy4jaXNCYWNrZ3JvdW5kRmV0Y2godGhpcy4jdmFsTGlzdFtpXSlcbiAgICAgICkge1xuICAgICAgICB5aWVsZCB0aGlzLiN2YWxMaXN0W2ldXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEl0ZXJhdGluZyBvdmVyIHRoZSBjYWNoZSBpdHNlbGYgeWllbGRzIHRoZSBzYW1lIHJlc3VsdHMgYXNcbiAgICoge0BsaW5rIExSVUNhY2hlLmVudHJpZXN9XG4gICAqL1xuICBbU3ltYm9sLml0ZXJhdG9yXSgpIHtcbiAgICByZXR1cm4gdGhpcy5lbnRyaWVzKClcbiAgfVxuXG4gIC8qKlxuICAgKiBBIFN0cmluZyB2YWx1ZSB0aGF0IGlzIHVzZWQgaW4gdGhlIGNyZWF0aW9uIG9mIHRoZSBkZWZhdWx0IHN0cmluZ1xuICAgKiBkZXNjcmlwdGlvbiBvZiBhbiBvYmplY3QuIENhbGxlZCBieSB0aGUgYnVpbHQtaW4gbWV0aG9kXG4gICAqIGBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nYC5cbiAgICovXG4gIFtTeW1ib2wudG9TdHJpbmdUYWddID0gJ0xSVUNhY2hlJ1xuXG4gIC8qKlxuICAgKiBGaW5kIGEgdmFsdWUgZm9yIHdoaWNoIHRoZSBzdXBwbGllZCBmbiBtZXRob2QgcmV0dXJucyBhIHRydXRoeSB2YWx1ZSxcbiAgICogc2ltaWxhciB0byBgQXJyYXkuZmluZCgpYC4gZm4gaXMgY2FsbGVkIGFzIGBmbih2YWx1ZSwga2V5LCBjYWNoZSlgLlxuICAgKi9cbiAgZmluZChcbiAgICBmbjogKHY6IFYsIGs6IEssIHNlbGY6IExSVUNhY2hlPEssIFYsIEZDPikgPT4gYm9vbGVhbixcbiAgICBnZXRPcHRpb25zOiBMUlVDYWNoZS5HZXRPcHRpb25zPEssIFYsIEZDPiA9IHt9XG4gICkge1xuICAgIGZvciAoY29uc3QgaSBvZiB0aGlzLiNpbmRleGVzKCkpIHtcbiAgICAgIGNvbnN0IHYgPSB0aGlzLiN2YWxMaXN0W2ldXG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuI2lzQmFja2dyb3VuZEZldGNoKHYpXG4gICAgICAgID8gdi5fX3N0YWxlV2hpbGVGZXRjaGluZ1xuICAgICAgICA6IHZcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSBjb250aW51ZVxuICAgICAgaWYgKGZuKHZhbHVlLCB0aGlzLiNrZXlMaXN0W2ldIGFzIEssIHRoaXMpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldCh0aGlzLiNrZXlMaXN0W2ldIGFzIEssIGdldE9wdGlvbnMpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENhbGwgdGhlIHN1cHBsaWVkIGZ1bmN0aW9uIG9uIGVhY2ggaXRlbSBpbiB0aGUgY2FjaGUsIGluIG9yZGVyIGZyb20gbW9zdFxuICAgKiByZWNlbnRseSB1c2VkIHRvIGxlYXN0IHJlY2VudGx5IHVzZWQuXG4gICAqXG4gICAqIGBmbmAgaXMgY2FsbGVkIGFzIGBmbih2YWx1ZSwga2V5LCBjYWNoZSlgLlxuICAgKlxuICAgKiBJZiBgdGhpc3BgIGlzIHByb3ZpZGVkLCBmdW5jdGlvbiB3aWxsIGJlIGNhbGxlZCBpbiB0aGUgYHRoaXNgLWNvbnRleHQgb2ZcbiAgICogdGhlIHByb3ZpZGVkIG9iamVjdCwgb3IgdGhlIGNhY2hlIGlmIG5vIGB0aGlzcGAgb2JqZWN0IGlzIHByb3ZpZGVkLlxuICAgKlxuICAgKiBEb2VzIG5vdCB1cGRhdGUgYWdlIG9yIHJlY2VudHkgb2YgdXNlLCBvciBpdGVyYXRlIG92ZXIgc3RhbGUgdmFsdWVzLlxuICAgKi9cbiAgZm9yRWFjaChcbiAgICBmbjogKHY6IFYsIGs6IEssIHNlbGY6IExSVUNhY2hlPEssIFYsIEZDPikgPT4gYW55LFxuICAgIHRoaXNwOiBhbnkgPSB0aGlzXG4gICkge1xuICAgIGZvciAoY29uc3QgaSBvZiB0aGlzLiNpbmRleGVzKCkpIHtcbiAgICAgIGNvbnN0IHYgPSB0aGlzLiN2YWxMaXN0W2ldXG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuI2lzQmFja2dyb3VuZEZldGNoKHYpXG4gICAgICAgID8gdi5fX3N0YWxlV2hpbGVGZXRjaGluZ1xuICAgICAgICA6IHZcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSBjb250aW51ZVxuICAgICAgZm4uY2FsbCh0aGlzcCwgdmFsdWUsIHRoaXMuI2tleUxpc3RbaV0gYXMgSywgdGhpcylcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIHNhbWUgYXMge0BsaW5rIExSVUNhY2hlLmZvckVhY2h9IGJ1dCBpdGVtcyBhcmUgaXRlcmF0ZWQgb3ZlciBpblxuICAgKiByZXZlcnNlIG9yZGVyLiAgKGllLCBsZXNzIHJlY2VudGx5IHVzZWQgaXRlbXMgYXJlIGl0ZXJhdGVkIG92ZXIgZmlyc3QuKVxuICAgKi9cbiAgcmZvckVhY2goXG4gICAgZm46ICh2OiBWLCBrOiBLLCBzZWxmOiBMUlVDYWNoZTxLLCBWLCBGQz4pID0+IGFueSxcbiAgICB0aGlzcDogYW55ID0gdGhpc1xuICApIHtcbiAgICBmb3IgKGNvbnN0IGkgb2YgdGhpcy4jcmluZGV4ZXMoKSkge1xuICAgICAgY29uc3QgdiA9IHRoaXMuI3ZhbExpc3RbaV1cbiAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy4jaXNCYWNrZ3JvdW5kRmV0Y2godilcbiAgICAgICAgPyB2Ll9fc3RhbGVXaGlsZUZldGNoaW5nXG4gICAgICAgIDogdlxuICAgICAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIGNvbnRpbnVlXG4gICAgICBmbi5jYWxsKHRoaXNwLCB2YWx1ZSwgdGhpcy4ja2V5TGlzdFtpXSBhcyBLLCB0aGlzKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgYW55IHN0YWxlIGVudHJpZXMuIFJldHVybnMgdHJ1ZSBpZiBhbnl0aGluZyB3YXMgcmVtb3ZlZCxcbiAgICogZmFsc2Ugb3RoZXJ3aXNlLlxuICAgKi9cbiAgcHVyZ2VTdGFsZSgpIHtcbiAgICBsZXQgZGVsZXRlZCA9IGZhbHNlXG4gICAgZm9yIChjb25zdCBpIG9mIHRoaXMuI3JpbmRleGVzKHsgYWxsb3dTdGFsZTogdHJ1ZSB9KSkge1xuICAgICAgaWYgKHRoaXMuI2lzU3RhbGUoaSkpIHtcbiAgICAgICAgdGhpcy4jZGVsZXRlKHRoaXMuI2tleUxpc3RbaV0gYXMgSywgJ2V4cGlyZScpXG4gICAgICAgIGRlbGV0ZWQgPSB0cnVlXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBkZWxldGVkXG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBleHRlbmRlZCBpbmZvIGFib3V0IGEgZ2l2ZW4gZW50cnksIHRvIGdldCBpdHMgdmFsdWUsIHNpemUsIGFuZFxuICAgKiBUVEwgaW5mbyBzaW11bHRhbmVvdXNseS4gUmV0dXJucyBgdW5kZWZpbmVkYCBpZiB0aGUga2V5IGlzIG5vdCBwcmVzZW50LlxuICAgKlxuICAgKiBVbmxpa2Uge0BsaW5rIExSVUNhY2hlI2R1bXB9LCB3aGljaCBpcyBkZXNpZ25lZCB0byBiZSBwb3J0YWJsZSBhbmQgc3Vydml2ZVxuICAgKiBzZXJpYWxpemF0aW9uLCB0aGUgYHN0YXJ0YCB2YWx1ZSBpcyBhbHdheXMgdGhlIGN1cnJlbnQgdGltZXN0YW1wLCBhbmQgdGhlXG4gICAqIGB0dGxgIGlzIGEgY2FsY3VsYXRlZCByZW1haW5pbmcgdGltZSB0byBsaXZlIChuZWdhdGl2ZSBpZiBleHBpcmVkKS5cbiAgICpcbiAgICogQWx3YXlzIHJldHVybnMgc3RhbGUgdmFsdWVzLCBpZiB0aGVpciBpbmZvIGlzIGZvdW5kIGluIHRoZSBjYWNoZSwgc28gYmVcbiAgICogc3VyZSB0byBjaGVjayBmb3IgZXhwaXJhdGlvbnMgKGllLCBhIG5lZ2F0aXZlIHtAbGluayBMUlVDYWNoZS5FbnRyeSN0dGx9KVxuICAgKiBpZiByZWxldmFudC5cbiAgICovXG4gIGluZm8oa2V5OiBLKTogTFJVQ2FjaGUuRW50cnk8Vj4gfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IGkgPSB0aGlzLiNrZXlNYXAuZ2V0KGtleSlcbiAgICBpZiAoaSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgY29uc3QgdiA9IHRoaXMuI3ZhbExpc3RbaV1cbiAgICBjb25zdCB2YWx1ZTogViB8IHVuZGVmaW5lZCA9IHRoaXMuI2lzQmFja2dyb3VuZEZldGNoKHYpXG4gICAgICA/IHYuX19zdGFsZVdoaWxlRmV0Y2hpbmdcbiAgICAgIDogdlxuICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgY29uc3QgZW50cnk6IExSVUNhY2hlLkVudHJ5PFY+ID0geyB2YWx1ZSB9XG4gICAgaWYgKHRoaXMuI3R0bHMgJiYgdGhpcy4jc3RhcnRzKSB7XG4gICAgICBjb25zdCB0dGwgPSB0aGlzLiN0dGxzW2ldXG4gICAgICBjb25zdCBzdGFydCA9IHRoaXMuI3N0YXJ0c1tpXVxuICAgICAgaWYgKHR0bCAmJiBzdGFydCkge1xuICAgICAgICBjb25zdCByZW1haW4gPSB0dGwgLSAocGVyZi5ub3coKSAtIHN0YXJ0KVxuICAgICAgICBlbnRyeS50dGwgPSByZW1haW5cbiAgICAgICAgZW50cnkuc3RhcnQgPSBEYXRlLm5vdygpXG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLiNzaXplcykge1xuICAgICAgZW50cnkuc2l6ZSA9IHRoaXMuI3NpemVzW2ldXG4gICAgfVxuICAgIHJldHVybiBlbnRyeVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhbiBhcnJheSBvZiBba2V5LCB7QGxpbmsgTFJVQ2FjaGUuRW50cnl9XSB0dXBsZXMgd2hpY2ggY2FuIGJlXG4gICAqIHBhc3NlZCB0byB7QGxpbmsgTFJMVUNhY2hlI2xvYWR9LlxuICAgKlxuICAgKiBUaGUgYHN0YXJ0YCBmaWVsZHMgYXJlIGNhbGN1bGF0ZWQgcmVsYXRpdmUgdG8gYSBwb3J0YWJsZSBgRGF0ZS5ub3coKWBcbiAgICogdGltZXN0YW1wLCBldmVuIGlmIGBwZXJmb3JtYW5jZS5ub3coKWAgaXMgYXZhaWxhYmxlLlxuICAgKlxuICAgKiBTdGFsZSBlbnRyaWVzIGFyZSBhbHdheXMgaW5jbHVkZWQgaW4gdGhlIGBkdW1wYCwgZXZlbiBpZlxuICAgKiB7QGxpbmsgTFJVQ2FjaGUuT3B0aW9uc0Jhc2UuYWxsb3dTdGFsZX0gaXMgZmFsc2UuXG4gICAqXG4gICAqIE5vdGU6IHRoaXMgcmV0dXJucyBhbiBhY3R1YWwgYXJyYXksIG5vdCBhIGdlbmVyYXRvciwgc28gaXQgY2FuIGJlIG1vcmVcbiAgICogZWFzaWx5IHBhc3NlZCBhcm91bmQuXG4gICAqL1xuICBkdW1wKCkge1xuICAgIGNvbnN0IGFycjogW0ssIExSVUNhY2hlLkVudHJ5PFY+XVtdID0gW11cbiAgICBmb3IgKGNvbnN0IGkgb2YgdGhpcy4jaW5kZXhlcyh7IGFsbG93U3RhbGU6IHRydWUgfSkpIHtcbiAgICAgIGNvbnN0IGtleSA9IHRoaXMuI2tleUxpc3RbaV1cbiAgICAgIGNvbnN0IHYgPSB0aGlzLiN2YWxMaXN0W2ldXG4gICAgICBjb25zdCB2YWx1ZTogViB8IHVuZGVmaW5lZCA9IHRoaXMuI2lzQmFja2dyb3VuZEZldGNoKHYpXG4gICAgICAgID8gdi5fX3N0YWxlV2hpbGVGZXRjaGluZ1xuICAgICAgICA6IHZcbiAgICAgIGlmICh2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IGtleSA9PT0gdW5kZWZpbmVkKSBjb250aW51ZVxuICAgICAgY29uc3QgZW50cnk6IExSVUNhY2hlLkVudHJ5PFY+ID0geyB2YWx1ZSB9XG4gICAgICBpZiAodGhpcy4jdHRscyAmJiB0aGlzLiNzdGFydHMpIHtcbiAgICAgICAgZW50cnkudHRsID0gdGhpcy4jdHRsc1tpXVxuICAgICAgICAvLyBhbHdheXMgZHVtcCB0aGUgc3RhcnQgcmVsYXRpdmUgdG8gYSBwb3J0YWJsZSB0aW1lc3RhbXBcbiAgICAgICAgLy8gaXQncyBvayBmb3IgdGhpcyB0byBiZSBhIGJpdCBzbG93LCBpdCdzIGEgcmFyZSBvcGVyYXRpb24uXG4gICAgICAgIGNvbnN0IGFnZSA9IHBlcmYubm93KCkgLSAodGhpcy4jc3RhcnRzW2ldIGFzIG51bWJlcilcbiAgICAgICAgZW50cnkuc3RhcnQgPSBNYXRoLmZsb29yKERhdGUubm93KCkgLSBhZ2UpXG4gICAgICB9XG4gICAgICBpZiAodGhpcy4jc2l6ZXMpIHtcbiAgICAgICAgZW50cnkuc2l6ZSA9IHRoaXMuI3NpemVzW2ldXG4gICAgICB9XG4gICAgICBhcnIudW5zaGlmdChba2V5LCBlbnRyeV0pXG4gICAgfVxuICAgIHJldHVybiBhcnJcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNldCB0aGUgY2FjaGUgYW5kIGxvYWQgaW4gdGhlIGl0ZW1zIGluIGVudHJpZXMgaW4gdGhlIG9yZGVyIGxpc3RlZC5cbiAgICpcbiAgICogVGhlIHNoYXBlIG9mIHRoZSByZXN1bHRpbmcgY2FjaGUgbWF5IGJlIGRpZmZlcmVudCBpZiB0aGUgc2FtZSBvcHRpb25zIGFyZVxuICAgKiBub3QgdXNlZCBpbiBib3RoIGNhY2hlcy5cbiAgICpcbiAgICogVGhlIGBzdGFydGAgZmllbGRzIGFyZSBhc3N1bWVkIHRvIGJlIGNhbGN1bGF0ZWQgcmVsYXRpdmUgdG8gYSBwb3J0YWJsZVxuICAgKiBgRGF0ZS5ub3coKWAgdGltZXN0YW1wLCBldmVuIGlmIGBwZXJmb3JtYW5jZS5ub3coKWAgaXMgYXZhaWxhYmxlLlxuICAgKi9cbiAgbG9hZChhcnI6IFtLLCBMUlVDYWNoZS5FbnRyeTxWPl1bXSkge1xuICAgIHRoaXMuY2xlYXIoKVxuICAgIGZvciAoY29uc3QgW2tleSwgZW50cnldIG9mIGFycikge1xuICAgICAgaWYgKGVudHJ5LnN0YXJ0KSB7XG4gICAgICAgIC8vIGVudHJ5LnN0YXJ0IGlzIGEgcG9ydGFibGUgdGltZXN0YW1wLCBidXQgd2UgbWF5IGJlIHVzaW5nXG4gICAgICAgIC8vIG5vZGUncyBwZXJmb3JtYW5jZS5ub3coKSwgc28gY2FsY3VsYXRlIHRoZSBvZmZzZXQsIHNvIHRoYXRcbiAgICAgICAgLy8gd2UgZ2V0IHRoZSBpbnRlbmRlZCByZW1haW5pbmcgVFRMLCBubyBtYXR0ZXIgaG93IGxvbmcgaXQnc1xuICAgICAgICAvLyBiZWVuIG9uIGljZS5cbiAgICAgICAgLy9cbiAgICAgICAgLy8gaXQncyBvayBmb3IgdGhpcyB0byBiZSBhIGJpdCBzbG93LCBpdCdzIGEgcmFyZSBvcGVyYXRpb24uXG4gICAgICAgIGNvbnN0IGFnZSA9IERhdGUubm93KCkgLSBlbnRyeS5zdGFydFxuICAgICAgICBlbnRyeS5zdGFydCA9IHBlcmYubm93KCkgLSBhZ2VcbiAgICAgIH1cbiAgICAgIHRoaXMuc2V0KGtleSwgZW50cnkudmFsdWUsIGVudHJ5KVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSB2YWx1ZSB0byB0aGUgY2FjaGUuXG4gICAqXG4gICAqIE5vdGU6IGlmIGB1bmRlZmluZWRgIGlzIHNwZWNpZmllZCBhcyBhIHZhbHVlLCB0aGlzIGlzIGFuIGFsaWFzIGZvclxuICAgKiB7QGxpbmsgTFJVQ2FjaGUjZGVsZXRlfVxuICAgKlxuICAgKiBGaWVsZHMgb24gdGhlIHtAbGluayBMUlVDYWNoZS5TZXRPcHRpb25zfSBvcHRpb25zIHBhcmFtIHdpbGwgb3ZlcnJpZGVcbiAgICogdGhlaXIgY29ycmVzcG9uZGluZyB2YWx1ZXMgaW4gdGhlIGNvbnN0cnVjdG9yIG9wdGlvbnMgZm9yIHRoZSBzY29wZVxuICAgKiBvZiB0aGlzIHNpbmdsZSBgc2V0KClgIG9wZXJhdGlvbi5cbiAgICpcbiAgICogSWYgYHN0YXJ0YCBpcyBwcm92aWRlZCwgdGhlbiB0aGF0IHdpbGwgc2V0IHRoZSBlZmZlY3RpdmUgc3RhcnRcbiAgICogdGltZSBmb3IgdGhlIFRUTCBjYWxjdWxhdGlvbi4gTm90ZSB0aGF0IHRoaXMgbXVzdCBiZSBhIHByZXZpb3VzXG4gICAqIHZhbHVlIG9mIGBwZXJmb3JtYW5jZS5ub3coKWAgaWYgc3VwcG9ydGVkLCBvciBhIHByZXZpb3VzIHZhbHVlIG9mXG4gICAqIGBEYXRlLm5vdygpYCBpZiBub3QuXG4gICAqXG4gICAqIE9wdGlvbnMgb2JqZWN0IG1heSBhbHNvIGluY2x1ZGUgYHNpemVgLCB3aGljaCB3aWxsIHByZXZlbnRcbiAgICogY2FsbGluZyB0aGUgYHNpemVDYWxjdWxhdGlvbmAgZnVuY3Rpb24gYW5kIGp1c3QgdXNlIHRoZSBzcGVjaWZpZWRcbiAgICogbnVtYmVyIGlmIGl0IGlzIGEgcG9zaXRpdmUgaW50ZWdlciwgYW5kIGBub0Rpc3Bvc2VPblNldGAgd2hpY2hcbiAgICogd2lsbCBwcmV2ZW50IGNhbGxpbmcgYSBgZGlzcG9zZWAgZnVuY3Rpb24gaW4gdGhlIGNhc2Ugb2ZcbiAgICogb3ZlcndyaXRlcy5cbiAgICpcbiAgICogSWYgdGhlIGBzaXplYCAob3IgcmV0dXJuIHZhbHVlIG9mIGBzaXplQ2FsY3VsYXRpb25gKSBmb3IgYSBnaXZlblxuICAgKiBlbnRyeSBpcyBncmVhdGVyIHRoYW4gYG1heEVudHJ5U2l6ZWAsIHRoZW4gdGhlIGl0ZW0gd2lsbCBub3QgYmVcbiAgICogYWRkZWQgdG8gdGhlIGNhY2hlLlxuICAgKlxuICAgKiBXaWxsIHVwZGF0ZSB0aGUgcmVjZW5jeSBvZiB0aGUgZW50cnkuXG4gICAqXG4gICAqIElmIHRoZSB2YWx1ZSBpcyBgdW5kZWZpbmVkYCwgdGhlbiB0aGlzIGlzIGFuIGFsaWFzIGZvclxuICAgKiBgY2FjaGUuZGVsZXRlKGtleSlgLiBgdW5kZWZpbmVkYCBpcyBuZXZlciBzdG9yZWQgaW4gdGhlIGNhY2hlLlxuICAgKi9cbiAgc2V0KFxuICAgIGs6IEssXG4gICAgdjogViB8IEJhY2tncm91bmRGZXRjaDxWPiB8IHVuZGVmaW5lZCxcbiAgICBzZXRPcHRpb25zOiBMUlVDYWNoZS5TZXRPcHRpb25zPEssIFYsIEZDPiA9IHt9XG4gICkge1xuICAgIGlmICh2ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuZGVsZXRlKGspXG4gICAgICByZXR1cm4gdGhpc1xuICAgIH1cbiAgICBjb25zdCB7XG4gICAgICB0dGwgPSB0aGlzLnR0bCxcbiAgICAgIHN0YXJ0LFxuICAgICAgbm9EaXNwb3NlT25TZXQgPSB0aGlzLm5vRGlzcG9zZU9uU2V0LFxuICAgICAgc2l6ZUNhbGN1bGF0aW9uID0gdGhpcy5zaXplQ2FsY3VsYXRpb24sXG4gICAgICBzdGF0dXMsXG4gICAgfSA9IHNldE9wdGlvbnNcbiAgICBsZXQgeyBub1VwZGF0ZVRUTCA9IHRoaXMubm9VcGRhdGVUVEwgfSA9IHNldE9wdGlvbnNcblxuICAgIGNvbnN0IHNpemUgPSB0aGlzLiNyZXF1aXJlU2l6ZShcbiAgICAgIGssXG4gICAgICB2LFxuICAgICAgc2V0T3B0aW9ucy5zaXplIHx8IDAsXG4gICAgICBzaXplQ2FsY3VsYXRpb25cbiAgICApXG4gICAgLy8gaWYgdGhlIGl0ZW0gZG9lc24ndCBmaXQsIGRvbid0IGRvIGFueXRoaW5nXG4gICAgLy8gTkI6IG1heEVudHJ5U2l6ZSBzZXQgdG8gbWF4U2l6ZSBieSBkZWZhdWx0XG4gICAgaWYgKHRoaXMubWF4RW50cnlTaXplICYmIHNpemUgPiB0aGlzLm1heEVudHJ5U2l6ZSkge1xuICAgICAgaWYgKHN0YXR1cykge1xuICAgICAgICBzdGF0dXMuc2V0ID0gJ21pc3MnXG4gICAgICAgIHN0YXR1cy5tYXhFbnRyeVNpemVFeGNlZWRlZCA9IHRydWVcbiAgICAgIH1cbiAgICAgIC8vIGhhdmUgdG8gZGVsZXRlLCBpbiBjYXNlIHNvbWV0aGluZyBpcyB0aGVyZSBhbHJlYWR5LlxuICAgICAgdGhpcy4jZGVsZXRlKGssICdzZXQnKVxuICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG4gICAgbGV0IGluZGV4ID0gdGhpcy4jc2l6ZSA9PT0gMCA/IHVuZGVmaW5lZCA6IHRoaXMuI2tleU1hcC5nZXQoaylcbiAgICBpZiAoaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gYWRkaXRpb25cbiAgICAgIGluZGV4ID0gKFxuICAgICAgICB0aGlzLiNzaXplID09PSAwXG4gICAgICAgICAgPyB0aGlzLiN0YWlsXG4gICAgICAgICAgOiB0aGlzLiNmcmVlLmxlbmd0aCAhPT0gMFxuICAgICAgICAgID8gdGhpcy4jZnJlZS5wb3AoKVxuICAgICAgICAgIDogdGhpcy4jc2l6ZSA9PT0gdGhpcy4jbWF4XG4gICAgICAgICAgPyB0aGlzLiNldmljdChmYWxzZSlcbiAgICAgICAgICA6IHRoaXMuI3NpemVcbiAgICAgICkgYXMgSW5kZXhcbiAgICAgIHRoaXMuI2tleUxpc3RbaW5kZXhdID0ga1xuICAgICAgdGhpcy4jdmFsTGlzdFtpbmRleF0gPSB2XG4gICAgICB0aGlzLiNrZXlNYXAuc2V0KGssIGluZGV4KVxuICAgICAgdGhpcy4jbmV4dFt0aGlzLiN0YWlsXSA9IGluZGV4XG4gICAgICB0aGlzLiNwcmV2W2luZGV4XSA9IHRoaXMuI3RhaWxcbiAgICAgIHRoaXMuI3RhaWwgPSBpbmRleFxuICAgICAgdGhpcy4jc2l6ZSsrXG4gICAgICB0aGlzLiNhZGRJdGVtU2l6ZShpbmRleCwgc2l6ZSwgc3RhdHVzKVxuICAgICAgaWYgKHN0YXR1cykgc3RhdHVzLnNldCA9ICdhZGQnXG4gICAgICBub1VwZGF0ZVRUTCA9IGZhbHNlXG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIHVwZGF0ZVxuICAgICAgdGhpcy4jbW92ZVRvVGFpbChpbmRleClcbiAgICAgIGNvbnN0IG9sZFZhbCA9IHRoaXMuI3ZhbExpc3RbaW5kZXhdIGFzIFYgfCBCYWNrZ3JvdW5kRmV0Y2g8Vj5cbiAgICAgIGlmICh2ICE9PSBvbGRWYWwpIHtcbiAgICAgICAgaWYgKHRoaXMuI2hhc0ZldGNoTWV0aG9kICYmIHRoaXMuI2lzQmFja2dyb3VuZEZldGNoKG9sZFZhbCkpIHtcbiAgICAgICAgICBvbGRWYWwuX19hYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IEVycm9yKCdyZXBsYWNlZCcpKVxuICAgICAgICAgIGNvbnN0IHsgX19zdGFsZVdoaWxlRmV0Y2hpbmc6IHMgfSA9IG9sZFZhbFxuICAgICAgICAgIGlmIChzICE9PSB1bmRlZmluZWQgJiYgIW5vRGlzcG9zZU9uU2V0KSB7XG4gICAgICAgICAgICBpZiAodGhpcy4jaGFzRGlzcG9zZSkge1xuICAgICAgICAgICAgICB0aGlzLiNkaXNwb3NlPy4ocyBhcyBWLCBrLCAnc2V0JylcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0aGlzLiNoYXNEaXNwb3NlQWZ0ZXIpIHtcbiAgICAgICAgICAgICAgdGhpcy4jZGlzcG9zZWQ/LnB1c2goW3MgYXMgViwgaywgJ3NldCddKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICghbm9EaXNwb3NlT25TZXQpIHtcbiAgICAgICAgICBpZiAodGhpcy4jaGFzRGlzcG9zZSkge1xuICAgICAgICAgICAgdGhpcy4jZGlzcG9zZT8uKG9sZFZhbCBhcyBWLCBrLCAnc2V0JylcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKHRoaXMuI2hhc0Rpc3Bvc2VBZnRlcikge1xuICAgICAgICAgICAgdGhpcy4jZGlzcG9zZWQ/LnB1c2goW29sZFZhbCBhcyBWLCBrLCAnc2V0J10pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRoaXMuI3JlbW92ZUl0ZW1TaXplKGluZGV4KVxuICAgICAgICB0aGlzLiNhZGRJdGVtU2l6ZShpbmRleCwgc2l6ZSwgc3RhdHVzKVxuICAgICAgICB0aGlzLiN2YWxMaXN0W2luZGV4XSA9IHZcbiAgICAgICAgaWYgKHN0YXR1cykge1xuICAgICAgICAgIHN0YXR1cy5zZXQgPSAncmVwbGFjZSdcbiAgICAgICAgICBjb25zdCBvbGRWYWx1ZSA9XG4gICAgICAgICAgICBvbGRWYWwgJiYgdGhpcy4jaXNCYWNrZ3JvdW5kRmV0Y2gob2xkVmFsKVxuICAgICAgICAgICAgICA/IG9sZFZhbC5fX3N0YWxlV2hpbGVGZXRjaGluZ1xuICAgICAgICAgICAgICA6IG9sZFZhbFxuICAgICAgICAgIGlmIChvbGRWYWx1ZSAhPT0gdW5kZWZpbmVkKSBzdGF0dXMub2xkVmFsdWUgPSBvbGRWYWx1ZVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHN0YXR1cykge1xuICAgICAgICBzdGF0dXMuc2V0ID0gJ3VwZGF0ZSdcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHR0bCAhPT0gMCAmJiAhdGhpcy4jdHRscykge1xuICAgICAgdGhpcy4jaW5pdGlhbGl6ZVRUTFRyYWNraW5nKClcbiAgICB9XG4gICAgaWYgKHRoaXMuI3R0bHMpIHtcbiAgICAgIGlmICghbm9VcGRhdGVUVEwpIHtcbiAgICAgICAgdGhpcy4jc2V0SXRlbVRUTChpbmRleCwgdHRsLCBzdGFydClcbiAgICAgIH1cbiAgICAgIGlmIChzdGF0dXMpIHRoaXMuI3N0YXR1c1RUTChzdGF0dXMsIGluZGV4KVxuICAgIH1cbiAgICBpZiAoIW5vRGlzcG9zZU9uU2V0ICYmIHRoaXMuI2hhc0Rpc3Bvc2VBZnRlciAmJiB0aGlzLiNkaXNwb3NlZCkge1xuICAgICAgY29uc3QgZHQgPSB0aGlzLiNkaXNwb3NlZFxuICAgICAgbGV0IHRhc2s6IERpc3Bvc2VUYXNrPEssIFY+IHwgdW5kZWZpbmVkXG4gICAgICB3aGlsZSAoKHRhc2sgPSBkdD8uc2hpZnQoKSkpIHtcbiAgICAgICAgdGhpcy4jZGlzcG9zZUFmdGVyPy4oLi4udGFzaylcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmljdCB0aGUgbGVhc3QgcmVjZW50bHkgdXNlZCBpdGVtLCByZXR1cm5pbmcgaXRzIHZhbHVlIG9yXG4gICAqIGB1bmRlZmluZWRgIGlmIGNhY2hlIGlzIGVtcHR5LlxuICAgKi9cbiAgcG9wKCk6IFYgfCB1bmRlZmluZWQge1xuICAgIHRyeSB7XG4gICAgICB3aGlsZSAodGhpcy4jc2l6ZSkge1xuICAgICAgICBjb25zdCB2YWwgPSB0aGlzLiN2YWxMaXN0W3RoaXMuI2hlYWRdXG4gICAgICAgIHRoaXMuI2V2aWN0KHRydWUpXG4gICAgICAgIGlmICh0aGlzLiNpc0JhY2tncm91bmRGZXRjaCh2YWwpKSB7XG4gICAgICAgICAgaWYgKHZhbC5fX3N0YWxlV2hpbGVGZXRjaGluZykge1xuICAgICAgICAgICAgcmV0dXJuIHZhbC5fX3N0YWxlV2hpbGVGZXRjaGluZ1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh2YWwgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHJldHVybiB2YWxcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZmluYWxseSB7XG4gICAgICBpZiAodGhpcy4jaGFzRGlzcG9zZUFmdGVyICYmIHRoaXMuI2Rpc3Bvc2VkKSB7XG4gICAgICAgIGNvbnN0IGR0ID0gdGhpcy4jZGlzcG9zZWRcbiAgICAgICAgbGV0IHRhc2s6IERpc3Bvc2VUYXNrPEssIFY+IHwgdW5kZWZpbmVkXG4gICAgICAgIHdoaWxlICgodGFzayA9IGR0Py5zaGlmdCgpKSkge1xuICAgICAgICAgIHRoaXMuI2Rpc3Bvc2VBZnRlcj8uKC4uLnRhc2spXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAjZXZpY3QoZnJlZTogYm9vbGVhbikge1xuICAgIGNvbnN0IGhlYWQgPSB0aGlzLiNoZWFkXG4gICAgY29uc3QgayA9IHRoaXMuI2tleUxpc3RbaGVhZF0gYXMgS1xuICAgIGNvbnN0IHYgPSB0aGlzLiN2YWxMaXN0W2hlYWRdIGFzIFZcbiAgICBpZiAodGhpcy4jaGFzRmV0Y2hNZXRob2QgJiYgdGhpcy4jaXNCYWNrZ3JvdW5kRmV0Y2godikpIHtcbiAgICAgIHYuX19hYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IEVycm9yKCdldmljdGVkJykpXG4gICAgfSBlbHNlIGlmICh0aGlzLiNoYXNEaXNwb3NlIHx8IHRoaXMuI2hhc0Rpc3Bvc2VBZnRlcikge1xuICAgICAgaWYgKHRoaXMuI2hhc0Rpc3Bvc2UpIHtcbiAgICAgICAgdGhpcy4jZGlzcG9zZT8uKHYsIGssICdldmljdCcpXG4gICAgICB9XG4gICAgICBpZiAodGhpcy4jaGFzRGlzcG9zZUFmdGVyKSB7XG4gICAgICAgIHRoaXMuI2Rpc3Bvc2VkPy5wdXNoKFt2LCBrLCAnZXZpY3QnXSlcbiAgICAgIH1cbiAgICB9XG4gICAgdGhpcy4jcmVtb3ZlSXRlbVNpemUoaGVhZClcbiAgICAvLyBpZiB3ZSBhcmVuJ3QgYWJvdXQgdG8gdXNlIHRoZSBpbmRleCwgdGhlbiBudWxsIHRoZXNlIG91dFxuICAgIGlmIChmcmVlKSB7XG4gICAgICB0aGlzLiNrZXlMaXN0W2hlYWRdID0gdW5kZWZpbmVkXG4gICAgICB0aGlzLiN2YWxMaXN0W2hlYWRdID0gdW5kZWZpbmVkXG4gICAgICB0aGlzLiNmcmVlLnB1c2goaGVhZClcbiAgICB9XG4gICAgaWYgKHRoaXMuI3NpemUgPT09IDEpIHtcbiAgICAgIHRoaXMuI2hlYWQgPSB0aGlzLiN0YWlsID0gMCBhcyBJbmRleFxuICAgICAgdGhpcy4jZnJlZS5sZW5ndGggPSAwXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuI2hlYWQgPSB0aGlzLiNuZXh0W2hlYWRdIGFzIEluZGV4XG4gICAgfVxuICAgIHRoaXMuI2tleU1hcC5kZWxldGUoaylcbiAgICB0aGlzLiNzaXplLS1cbiAgICByZXR1cm4gaGVhZFxuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrIGlmIGEga2V5IGlzIGluIHRoZSBjYWNoZSwgd2l0aG91dCB1cGRhdGluZyB0aGUgcmVjZW5jeSBvZiB1c2UuXG4gICAqIFdpbGwgcmV0dXJuIGZhbHNlIGlmIHRoZSBpdGVtIGlzIHN0YWxlLCBldmVuIHRob3VnaCBpdCBpcyB0ZWNobmljYWxseVxuICAgKiBpbiB0aGUgY2FjaGUuXG4gICAqXG4gICAqIENoZWNrIGlmIGEga2V5IGlzIGluIHRoZSBjYWNoZSwgd2l0aG91dCB1cGRhdGluZyB0aGUgcmVjZW5jeSBvZlxuICAgKiB1c2UuIEFnZSBpcyB1cGRhdGVkIGlmIHtAbGluayBMUlVDYWNoZS5PcHRpb25zQmFzZS51cGRhdGVBZ2VPbkhhc30gaXMgc2V0XG4gICAqIHRvIGB0cnVlYCBpbiBlaXRoZXIgdGhlIG9wdGlvbnMgb3IgdGhlIGNvbnN0cnVjdG9yLlxuICAgKlxuICAgKiBXaWxsIHJldHVybiBgZmFsc2VgIGlmIHRoZSBpdGVtIGlzIHN0YWxlLCBldmVuIHRob3VnaCBpdCBpcyB0ZWNobmljYWxseSBpblxuICAgKiB0aGUgY2FjaGUuIFRoZSBkaWZmZXJlbmNlIGNhbiBiZSBkZXRlcm1pbmVkIChpZiBpdCBtYXR0ZXJzKSBieSB1c2luZyBhXG4gICAqIGBzdGF0dXNgIGFyZ3VtZW50LCBhbmQgaW5zcGVjdGluZyB0aGUgYGhhc2AgZmllbGQuXG4gICAqXG4gICAqIFdpbGwgbm90IHVwZGF0ZSBpdGVtIGFnZSB1bmxlc3NcbiAgICoge0BsaW5rIExSVUNhY2hlLk9wdGlvbnNCYXNlLnVwZGF0ZUFnZU9uSGFzfSBpcyBzZXQuXG4gICAqL1xuICBoYXMoazogSywgaGFzT3B0aW9uczogTFJVQ2FjaGUuSGFzT3B0aW9uczxLLCBWLCBGQz4gPSB7fSkge1xuICAgIGNvbnN0IHsgdXBkYXRlQWdlT25IYXMgPSB0aGlzLnVwZGF0ZUFnZU9uSGFzLCBzdGF0dXMgfSA9XG4gICAgICBoYXNPcHRpb25zXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLiNrZXlNYXAuZ2V0KGspXG4gICAgaWYgKGluZGV4ICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IHYgPSB0aGlzLiN2YWxMaXN0W2luZGV4XVxuICAgICAgaWYgKFxuICAgICAgICB0aGlzLiNpc0JhY2tncm91bmRGZXRjaCh2KSAmJlxuICAgICAgICB2Ll9fc3RhbGVXaGlsZUZldGNoaW5nID09PSB1bmRlZmluZWRcbiAgICAgICkge1xuICAgICAgICByZXR1cm4gZmFsc2VcbiAgICAgIH1cbiAgICAgIGlmICghdGhpcy4jaXNTdGFsZShpbmRleCkpIHtcbiAgICAgICAgaWYgKHVwZGF0ZUFnZU9uSGFzKSB7XG4gICAgICAgICAgdGhpcy4jdXBkYXRlSXRlbUFnZShpbmRleClcbiAgICAgICAgfVxuICAgICAgICBpZiAoc3RhdHVzKSB7XG4gICAgICAgICAgc3RhdHVzLmhhcyA9ICdoaXQnXG4gICAgICAgICAgdGhpcy4jc3RhdHVzVFRMKHN0YXR1cywgaW5kZXgpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0gZWxzZSBpZiAoc3RhdHVzKSB7XG4gICAgICAgIHN0YXR1cy5oYXMgPSAnc3RhbGUnXG4gICAgICAgIHRoaXMuI3N0YXR1c1RUTChzdGF0dXMsIGluZGV4KVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoc3RhdHVzKSB7XG4gICAgICBzdGF0dXMuaGFzID0gJ21pc3MnXG4gICAgfVxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgLyoqXG4gICAqIExpa2Uge0BsaW5rIExSVUNhY2hlI2dldH0gYnV0IGRvZXNuJ3QgdXBkYXRlIHJlY2VuY3kgb3IgZGVsZXRlIHN0YWxlXG4gICAqIGl0ZW1zLlxuICAgKlxuICAgKiBSZXR1cm5zIGB1bmRlZmluZWRgIGlmIHRoZSBpdGVtIGlzIHN0YWxlLCB1bmxlc3NcbiAgICoge0BsaW5rIExSVUNhY2hlLk9wdGlvbnNCYXNlLmFsbG93U3RhbGV9IGlzIHNldC5cbiAgICovXG4gIHBlZWsoazogSywgcGVla09wdGlvbnM6IExSVUNhY2hlLlBlZWtPcHRpb25zPEssIFYsIEZDPiA9IHt9KSB7XG4gICAgY29uc3QgeyBhbGxvd1N0YWxlID0gdGhpcy5hbGxvd1N0YWxlIH0gPSBwZWVrT3B0aW9uc1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy4ja2V5TWFwLmdldChrKVxuICAgIGlmIChcbiAgICAgIGluZGV4ID09PSB1bmRlZmluZWQgfHxcbiAgICAgICghYWxsb3dTdGFsZSAmJiB0aGlzLiNpc1N0YWxlKGluZGV4KSlcbiAgICApIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjb25zdCB2ID0gdGhpcy4jdmFsTGlzdFtpbmRleF1cbiAgICAvLyBlaXRoZXIgc3RhbGUgYW5kIGFsbG93ZWQsIG9yIGZvcmNpbmcgYSByZWZyZXNoIG9mIG5vbi1zdGFsZSB2YWx1ZVxuICAgIHJldHVybiB0aGlzLiNpc0JhY2tncm91bmRGZXRjaCh2KSA/IHYuX19zdGFsZVdoaWxlRmV0Y2hpbmcgOiB2XG4gIH1cblxuICAjYmFja2dyb3VuZEZldGNoKFxuICAgIGs6IEssXG4gICAgaW5kZXg6IEluZGV4IHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbnM6IExSVUNhY2hlLkZldGNoT3B0aW9uczxLLCBWLCBGQz4sXG4gICAgY29udGV4dDogYW55XG4gICk6IEJhY2tncm91bmRGZXRjaDxWPiB7XG4gICAgY29uc3QgdiA9IGluZGV4ID09PSB1bmRlZmluZWQgPyB1bmRlZmluZWQgOiB0aGlzLiN2YWxMaXN0W2luZGV4XVxuICAgIGlmICh0aGlzLiNpc0JhY2tncm91bmRGZXRjaCh2KSkge1xuICAgICAgcmV0dXJuIHZcbiAgICB9XG5cbiAgICBjb25zdCBhYyA9IG5ldyBBQygpXG4gICAgY29uc3QgeyBzaWduYWwgfSA9IG9wdGlvbnNcbiAgICAvLyB3aGVuL2lmIG91ciBBQyBzaWduYWxzLCB0aGVuIHN0b3AgbGlzdGVuaW5nIHRvIHRoZWlycy5cbiAgICBzaWduYWw/LmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCkgPT4gYWMuYWJvcnQoc2lnbmFsLnJlYXNvbiksIHtcbiAgICAgIHNpZ25hbDogYWMuc2lnbmFsLFxuICAgIH0pXG5cbiAgICBjb25zdCBmZXRjaE9wdHMgPSB7XG4gICAgICBzaWduYWw6IGFjLnNpZ25hbCxcbiAgICAgIG9wdGlvbnMsXG4gICAgICBjb250ZXh0LFxuICAgIH1cblxuICAgIGNvbnN0IGNiID0gKFxuICAgICAgdjogViB8IHVuZGVmaW5lZCxcbiAgICAgIHVwZGF0ZUNhY2hlID0gZmFsc2VcbiAgICApOiBWIHwgdW5kZWZpbmVkID0+IHtcbiAgICAgIGNvbnN0IHsgYWJvcnRlZCB9ID0gYWMuc2lnbmFsXG4gICAgICBjb25zdCBpZ25vcmVBYm9ydCA9IG9wdGlvbnMuaWdub3JlRmV0Y2hBYm9ydCAmJiB2ICE9PSB1bmRlZmluZWRcbiAgICAgIGlmIChvcHRpb25zLnN0YXR1cykge1xuICAgICAgICBpZiAoYWJvcnRlZCAmJiAhdXBkYXRlQ2FjaGUpIHtcbiAgICAgICAgICBvcHRpb25zLnN0YXR1cy5mZXRjaEFib3J0ZWQgPSB0cnVlXG4gICAgICAgICAgb3B0aW9ucy5zdGF0dXMuZmV0Y2hFcnJvciA9IGFjLnNpZ25hbC5yZWFzb25cbiAgICAgICAgICBpZiAoaWdub3JlQWJvcnQpIG9wdGlvbnMuc3RhdHVzLmZldGNoQWJvcnRJZ25vcmVkID0gdHJ1ZVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9wdGlvbnMuc3RhdHVzLmZldGNoUmVzb2x2ZWQgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChhYm9ydGVkICYmICFpZ25vcmVBYm9ydCAmJiAhdXBkYXRlQ2FjaGUpIHtcbiAgICAgICAgcmV0dXJuIGZldGNoRmFpbChhYy5zaWduYWwucmVhc29uKVxuICAgICAgfVxuICAgICAgLy8gZWl0aGVyIHdlIGRpZG4ndCBhYm9ydCwgYW5kIGFyZSBzdGlsbCBoZXJlLCBvciB3ZSBkaWQsIGFuZCBpZ25vcmVkXG4gICAgICBjb25zdCBiZiA9IHAgYXMgQmFja2dyb3VuZEZldGNoPFY+XG4gICAgICBpZiAodGhpcy4jdmFsTGlzdFtpbmRleCBhcyBJbmRleF0gPT09IHApIHtcbiAgICAgICAgaWYgKHYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGlmIChiZi5fX3N0YWxlV2hpbGVGZXRjaGluZykge1xuICAgICAgICAgICAgdGhpcy4jdmFsTGlzdFtpbmRleCBhcyBJbmRleF0gPSBiZi5fX3N0YWxlV2hpbGVGZXRjaGluZ1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLiNkZWxldGUoaywgJ2ZldGNoJylcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuc3RhdHVzKSBvcHRpb25zLnN0YXR1cy5mZXRjaFVwZGF0ZWQgPSB0cnVlXG4gICAgICAgICAgdGhpcy5zZXQoaywgdiwgZmV0Y2hPcHRzLm9wdGlvbnMpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB2XG4gICAgfVxuXG4gICAgY29uc3QgZWIgPSAoZXI6IGFueSkgPT4ge1xuICAgICAgaWYgKG9wdGlvbnMuc3RhdHVzKSB7XG4gICAgICAgIG9wdGlvbnMuc3RhdHVzLmZldGNoUmVqZWN0ZWQgPSB0cnVlXG4gICAgICAgIG9wdGlvbnMuc3RhdHVzLmZldGNoRXJyb3IgPSBlclxuICAgICAgfVxuICAgICAgcmV0dXJuIGZldGNoRmFpbChlcilcbiAgICB9XG5cbiAgICBjb25zdCBmZXRjaEZhaWwgPSAoZXI6IGFueSk6IFYgfCB1bmRlZmluZWQgPT4ge1xuICAgICAgY29uc3QgeyBhYm9ydGVkIH0gPSBhYy5zaWduYWxcbiAgICAgIGNvbnN0IGFsbG93U3RhbGVBYm9ydGVkID1cbiAgICAgICAgYWJvcnRlZCAmJiBvcHRpb25zLmFsbG93U3RhbGVPbkZldGNoQWJvcnRcbiAgICAgIGNvbnN0IGFsbG93U3RhbGUgPVxuICAgICAgICBhbGxvd1N0YWxlQWJvcnRlZCB8fCBvcHRpb25zLmFsbG93U3RhbGVPbkZldGNoUmVqZWN0aW9uXG4gICAgICBjb25zdCBub0RlbGV0ZSA9IGFsbG93U3RhbGUgfHwgb3B0aW9ucy5ub0RlbGV0ZU9uRmV0Y2hSZWplY3Rpb25cbiAgICAgIGNvbnN0IGJmID0gcCBhcyBCYWNrZ3JvdW5kRmV0Y2g8Vj5cbiAgICAgIGlmICh0aGlzLiN2YWxMaXN0W2luZGV4IGFzIEluZGV4XSA9PT0gcCkge1xuICAgICAgICAvLyBpZiB3ZSBhbGxvdyBzdGFsZSBvbiBmZXRjaCByZWplY3Rpb25zLCB0aGVuIHdlIG5lZWQgdG8gZW5zdXJlIHRoYXRcbiAgICAgICAgLy8gdGhlIHN0YWxlIHZhbHVlIGlzIG5vdCByZW1vdmVkIGZyb20gdGhlIGNhY2hlIHdoZW4gdGhlIGZldGNoIGZhaWxzLlxuICAgICAgICBjb25zdCBkZWwgPSAhbm9EZWxldGUgfHwgYmYuX19zdGFsZVdoaWxlRmV0Y2hpbmcgPT09IHVuZGVmaW5lZFxuICAgICAgICBpZiAoZGVsKSB7XG4gICAgICAgICAgdGhpcy4jZGVsZXRlKGssICdmZXRjaCcpXG4gICAgICAgIH0gZWxzZSBpZiAoIWFsbG93U3RhbGVBYm9ydGVkKSB7XG4gICAgICAgICAgLy8gc3RpbGwgcmVwbGFjZSB0aGUgKnByb21pc2UqIHdpdGggdGhlIHN0YWxlIHZhbHVlLFxuICAgICAgICAgIC8vIHNpbmNlIHdlIGFyZSBkb25lIHdpdGggdGhlIHByb21pc2UgYXQgdGhpcyBwb2ludC5cbiAgICAgICAgICAvLyBsZWF2ZSBpdCB1bnRvdWNoZWQgaWYgd2UncmUgc3RpbGwgd2FpdGluZyBmb3IgYW5cbiAgICAgICAgICAvLyBhYm9ydGVkIGJhY2tncm91bmQgZmV0Y2ggdGhhdCBoYXNuJ3QgeWV0IHJldHVybmVkLlxuICAgICAgICAgIHRoaXMuI3ZhbExpc3RbaW5kZXggYXMgSW5kZXhdID0gYmYuX19zdGFsZVdoaWxlRmV0Y2hpbmdcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKGFsbG93U3RhbGUpIHtcbiAgICAgICAgaWYgKG9wdGlvbnMuc3RhdHVzICYmIGJmLl9fc3RhbGVXaGlsZUZldGNoaW5nICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBvcHRpb25zLnN0YXR1cy5yZXR1cm5lZFN0YWxlID0gdHJ1ZVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBiZi5fX3N0YWxlV2hpbGVGZXRjaGluZ1xuICAgICAgfSBlbHNlIGlmIChiZi5fX3JldHVybmVkID09PSBiZikge1xuICAgICAgICB0aHJvdyBlclxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHBjYWxsID0gKFxuICAgICAgcmVzOiAodjogViB8IHVuZGVmaW5lZCkgPT4gdm9pZCxcbiAgICAgIHJlajogKGU6IGFueSkgPT4gdm9pZFxuICAgICkgPT4ge1xuICAgICAgY29uc3QgZm1wID0gdGhpcy4jZmV0Y2hNZXRob2Q/LihrLCB2LCBmZXRjaE9wdHMpXG4gICAgICBpZiAoZm1wICYmIGZtcCBpbnN0YW5jZW9mIFByb21pc2UpIHtcbiAgICAgICAgZm1wLnRoZW4odiA9PiByZXModiA9PT0gdW5kZWZpbmVkID8gdW5kZWZpbmVkIDogdiksIHJlailcbiAgICAgIH1cbiAgICAgIC8vIGlnbm9yZWQsIHdlIGdvIHVudGlsIHdlIGZpbmlzaCwgcmVnYXJkbGVzcy5cbiAgICAgIC8vIGRlZmVyIGNoZWNrIHVudGlsIHdlIGFyZSBhY3R1YWxseSBhYm9ydGluZyxcbiAgICAgIC8vIHNvIGZldGNoTWV0aG9kIGNhbiBvdmVycmlkZS5cbiAgICAgIGFjLnNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsICgpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICFvcHRpb25zLmlnbm9yZUZldGNoQWJvcnQgfHxcbiAgICAgICAgICBvcHRpb25zLmFsbG93U3RhbGVPbkZldGNoQWJvcnRcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmVzKHVuZGVmaW5lZClcbiAgICAgICAgICAvLyB3aGVuIGl0IGV2ZW50dWFsbHkgcmVzb2x2ZXMsIHVwZGF0ZSB0aGUgY2FjaGUuXG4gICAgICAgICAgaWYgKG9wdGlvbnMuYWxsb3dTdGFsZU9uRmV0Y2hBYm9ydCkge1xuICAgICAgICAgICAgcmVzID0gdiA9PiBjYih2LCB0cnVlKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG5cbiAgICBpZiAob3B0aW9ucy5zdGF0dXMpIG9wdGlvbnMuc3RhdHVzLmZldGNoRGlzcGF0Y2hlZCA9IHRydWVcbiAgICBjb25zdCBwID0gbmV3IFByb21pc2UocGNhbGwpLnRoZW4oY2IsIGViKVxuICAgIGNvbnN0IGJmOiBCYWNrZ3JvdW5kRmV0Y2g8Vj4gPSBPYmplY3QuYXNzaWduKHAsIHtcbiAgICAgIF9fYWJvcnRDb250cm9sbGVyOiBhYyxcbiAgICAgIF9fc3RhbGVXaGlsZUZldGNoaW5nOiB2LFxuICAgICAgX19yZXR1cm5lZDogdW5kZWZpbmVkLFxuICAgIH0pXG5cbiAgICBpZiAoaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgICAgLy8gaW50ZXJuYWwsIGRvbid0IGV4cG9zZSBzdGF0dXMuXG4gICAgICB0aGlzLnNldChrLCBiZiwgeyAuLi5mZXRjaE9wdHMub3B0aW9ucywgc3RhdHVzOiB1bmRlZmluZWQgfSlcbiAgICAgIGluZGV4ID0gdGhpcy4ja2V5TWFwLmdldChrKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLiN2YWxMaXN0W2luZGV4XSA9IGJmXG4gICAgfVxuICAgIHJldHVybiBiZlxuICB9XG5cbiAgI2lzQmFja2dyb3VuZEZldGNoKHA6IGFueSk6IHAgaXMgQmFja2dyb3VuZEZldGNoPFY+IHtcbiAgICBpZiAoIXRoaXMuI2hhc0ZldGNoTWV0aG9kKSByZXR1cm4gZmFsc2VcbiAgICBjb25zdCBiID0gcCBhcyBCYWNrZ3JvdW5kRmV0Y2g8Vj5cbiAgICByZXR1cm4gKFxuICAgICAgISFiICYmXG4gICAgICBiIGluc3RhbmNlb2YgUHJvbWlzZSAmJlxuICAgICAgYi5oYXNPd25Qcm9wZXJ0eSgnX19zdGFsZVdoaWxlRmV0Y2hpbmcnKSAmJlxuICAgICAgYi5fX2Fib3J0Q29udHJvbGxlciBpbnN0YW5jZW9mIEFDXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIE1ha2UgYW4gYXN5bmNocm9ub3VzIGNhY2hlZCBmZXRjaCB1c2luZyB0aGVcbiAgICoge0BsaW5rIExSVUNhY2hlLk9wdGlvbnNCYXNlLmZldGNoTWV0aG9kfSBmdW5jdGlvbi5cbiAgICpcbiAgICogSWYgdGhlIHZhbHVlIGlzIGluIHRoZSBjYWNoZSBhbmQgbm90IHN0YWxlLCB0aGVuIHRoZSByZXR1cm5lZFxuICAgKiBQcm9taXNlIHJlc29sdmVzIHRvIHRoZSB2YWx1ZS5cbiAgICpcbiAgICogSWYgbm90IGluIHRoZSBjYWNoZSwgb3IgYmV5b25kIGl0cyBUVEwgc3RhbGVuZXNzLCB0aGVuXG4gICAqIGBmZXRjaE1ldGhvZChrZXksIHN0YWxlVmFsdWUsIHsgb3B0aW9ucywgc2lnbmFsLCBjb250ZXh0IH0pYCBpc1xuICAgKiBjYWxsZWQsIGFuZCB0aGUgdmFsdWUgcmV0dXJuZWQgd2lsbCBiZSBhZGRlZCB0byB0aGUgY2FjaGUgb25jZVxuICAgKiByZXNvbHZlZC5cbiAgICpcbiAgICogSWYgY2FsbGVkIHdpdGggYGFsbG93U3RhbGVgLCBhbmQgYW4gYXN5bmNocm9ub3VzIGZldGNoIGlzXG4gICAqIGN1cnJlbnRseSBpbiBwcm9ncmVzcyB0byByZWxvYWQgYSBzdGFsZSB2YWx1ZSwgdGhlbiB0aGUgZm9ybWVyXG4gICAqIHN0YWxlIHZhbHVlIHdpbGwgYmUgcmV0dXJuZWQuXG4gICAqXG4gICAqIElmIGNhbGxlZCB3aXRoIGBmb3JjZVJlZnJlc2hgLCB0aGVuIHRoZSBjYWNoZWQgaXRlbSB3aWxsIGJlXG4gICAqIHJlLWZldGNoZWQsIGV2ZW4gaWYgaXQgaXMgbm90IHN0YWxlLiBIb3dldmVyLCBpZiBgYWxsb3dTdGFsZWAgaXMgYWxzb1xuICAgKiBzZXQsIHRoZW4gdGhlIG9sZCB2YWx1ZSB3aWxsIHN0aWxsIGJlIHJldHVybmVkLiBUaGlzIGlzIHVzZWZ1bFxuICAgKiBpbiBjYXNlcyB3aGVyZSB5b3Ugd2FudCB0byBmb3JjZSBhIHJlbG9hZCBvZiBhIGNhY2hlZCB2YWx1ZS4gSWZcbiAgICogYSBiYWNrZ3JvdW5kIGZldGNoIGlzIGFscmVhZHkgaW4gcHJvZ3Jlc3MsIHRoZW4gYGZvcmNlUmVmcmVzaGBcbiAgICogaGFzIG5vIGVmZmVjdC5cbiAgICpcbiAgICogSWYgbXVsdGlwbGUgZmV0Y2hlcyBmb3IgdGhlIHNhbWUga2V5IGFyZSBpc3N1ZWQsIHRoZW4gdGhleSB3aWxsIGFsbCBiZVxuICAgKiBjb2FsZXNjZWQgaW50byBhIHNpbmdsZSBjYWxsIHRvIGZldGNoTWV0aG9kLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgdGhpcyBtZWFucyB0aGF0IGhhbmRsaW5nIG9wdGlvbnMgc3VjaCBhc1xuICAgKiB7QGxpbmsgTFJVQ2FjaGUuT3B0aW9uc0Jhc2UuYWxsb3dTdGFsZU9uRmV0Y2hBYm9ydH0sXG4gICAqIHtAbGluayBMUlVDYWNoZS5GZXRjaE9wdGlvbnMuc2lnbmFsfSxcbiAgICogYW5kIHtAbGluayBMUlVDYWNoZS5PcHRpb25zQmFzZS5hbGxvd1N0YWxlT25GZXRjaFJlamVjdGlvbn0gd2lsbCBiZVxuICAgKiBkZXRlcm1pbmVkIGJ5IHRoZSBGSVJTVCBmZXRjaCgpIGNhbGwgZm9yIGEgZ2l2ZW4ga2V5LlxuICAgKlxuICAgKiBUaGlzIGlzIGEga25vd24gKGZpeGFibGUpIHNob3J0Y29taW5nIHdoaWNoIHdpbGwgYmUgYWRkcmVzZWQgb24gd2hlblxuICAgKiBzb21lb25lIGNvbXBsYWlucyBhYm91dCBpdCwgYXMgdGhlIGZpeCB3b3VsZCBpbnZvbHZlIGFkZGVkIGNvbXBsZXhpdHkgYW5kXG4gICAqIG1heSBub3QgYmUgd29ydGggdGhlIGNvc3RzIGZvciB0aGlzIGVkZ2UgY2FzZS5cbiAgICpcbiAgICogSWYge0BsaW5rIExSVUNhY2hlLk9wdGlvbnNCYXNlLmZldGNoTWV0aG9kfSBpcyBub3Qgc3BlY2lmaWVkLCB0aGVuIHRoaXMgaXNcbiAgICogZWZmZWN0aXZlbHkgYW4gYWxpYXMgZm9yIGBQcm9taXNlLnJlc29sdmUoY2FjaGUuZ2V0KGtleSkpYC5cbiAgICpcbiAgICogV2hlbiB0aGUgZmV0Y2ggbWV0aG9kIHJlc29sdmVzIHRvIGEgdmFsdWUsIGlmIHRoZSBmZXRjaCBoYXMgbm90XG4gICAqIGJlZW4gYWJvcnRlZCBkdWUgdG8gZGVsZXRpb24sIGV2aWN0aW9uLCBvciBiZWluZyBvdmVyd3JpdHRlbixcbiAgICogdGhlbiBpdCBpcyBhZGRlZCB0byB0aGUgY2FjaGUgdXNpbmcgdGhlIG9wdGlvbnMgcHJvdmlkZWQuXG4gICAqXG4gICAqIElmIHRoZSBrZXkgaXMgZXZpY3RlZCBvciBkZWxldGVkIGJlZm9yZSB0aGUgYGZldGNoTWV0aG9kYFxuICAgKiByZXNvbHZlcywgdGhlbiB0aGUgQWJvcnRTaWduYWwgcGFzc2VkIHRvIHRoZSBgZmV0Y2hNZXRob2RgIHdpbGxcbiAgICogcmVjZWl2ZSBhbiBgYWJvcnRgIGV2ZW50LCBhbmQgdGhlIHByb21pc2UgcmV0dXJuZWQgYnkgYGZldGNoKClgXG4gICAqIHdpbGwgcmVqZWN0IHdpdGggdGhlIHJlYXNvbiBmb3IgdGhlIGFib3J0LlxuICAgKlxuICAgKiBJZiBhIGBzaWduYWxgIGlzIHBhc3NlZCB0byB0aGUgYGZldGNoKClgIGNhbGwsIHRoZW4gYWJvcnRpbmcgdGhlXG4gICAqIHNpZ25hbCB3aWxsIGFib3J0IHRoZSBmZXRjaCBhbmQgY2F1c2UgdGhlIGBmZXRjaCgpYCBwcm9taXNlIHRvXG4gICAqIHJlamVjdCB3aXRoIHRoZSByZWFzb24gcHJvdmlkZWQuXG4gICAqXG4gICAqICoqU2V0dGluZyBgY29udGV4dGAqKlxuICAgKlxuICAgKiBJZiBhbiBgRkNgIHR5cGUgaXMgc2V0IHRvIGEgdHlwZSBvdGhlciB0aGFuIGB1bmtub3duYCwgYHZvaWRgLCBvclxuICAgKiBgdW5kZWZpbmVkYCBpbiB0aGUge0BsaW5rIExSVUNhY2hlfSBjb25zdHJ1Y3RvciwgdGhlbiBhbGxcbiAgICogY2FsbHMgdG8gYGNhY2hlLmZldGNoKClgIF9tdXN0XyBwcm92aWRlIGEgYGNvbnRleHRgIG9wdGlvbi4gSWZcbiAgICogc2V0IHRvIGB1bmRlZmluZWRgIG9yIGB2b2lkYCwgdGhlbiBjYWxscyB0byBmZXRjaCBfbXVzdCBub3RfXG4gICAqIHByb3ZpZGUgYSBgY29udGV4dGAgb3B0aW9uLlxuICAgKlxuICAgKiBUaGUgYGNvbnRleHRgIHBhcmFtIGFsbG93cyB5b3UgdG8gcHJvdmlkZSBhcmJpdHJhcnkgZGF0YSB0aGF0XG4gICAqIG1pZ2h0IGJlIHJlbGV2YW50IGluIHRoZSBjb3Vyc2Ugb2YgZmV0Y2hpbmcgdGhlIGRhdGEuIEl0IGlzIG9ubHlcbiAgICogcmVsZXZhbnQgZm9yIHRoZSBjb3Vyc2Ugb2YgYSBzaW5nbGUgYGZldGNoKClgIG9wZXJhdGlvbiwgYW5kXG4gICAqIGRpc2NhcmRlZCBhZnRlcndhcmRzLlxuICAgKlxuICAgKiAqKk5vdGU6IGBmZXRjaCgpYCBjYWxscyBhcmUgaW5mbGlnaHQtdW5pcXVlKipcbiAgICpcbiAgICogSWYgeW91IGNhbGwgYGZldGNoKClgIG11bHRpcGxlIHRpbWVzIHdpdGggdGhlIHNhbWUga2V5IHZhbHVlLFxuICAgKiB0aGVuIGV2ZXJ5IGNhbGwgYWZ0ZXIgdGhlIGZpcnN0IHdpbGwgcmVzb2x2ZSBvbiB0aGUgc2FtZVxuICAgKiBwcm9taXNlPHN1cD4xPC9zdXA+LFxuICAgKiBfZXZlbiBpZiB0aGV5IGhhdmUgZGlmZmVyZW50IHNldHRpbmdzIHRoYXQgd291bGQgb3RoZXJ3aXNlIGNoYW5nZVxuICAgKiB0aGUgYmVoYXZpb3Igb2YgdGhlIGZldGNoXywgc3VjaCBhcyBgbm9EZWxldGVPbkZldGNoUmVqZWN0aW9uYFxuICAgKiBvciBgaWdub3JlRmV0Y2hBYm9ydGAuXG4gICAqXG4gICAqIEluIG1vc3QgY2FzZXMsIHRoaXMgaXMgbm90IGEgcHJvYmxlbSAoaW4gZmFjdCwgb25seSBmZXRjaGluZ1xuICAgKiBzb21ldGhpbmcgb25jZSBpcyB3aGF0IHlvdSBwcm9iYWJseSB3YW50LCBpZiB5b3UncmUgY2FjaGluZyBpblxuICAgKiB0aGUgZmlyc3QgcGxhY2UpLiBJZiB5b3UgYXJlIGNoYW5naW5nIHRoZSBmZXRjaCgpIG9wdGlvbnNcbiAgICogZHJhbWF0aWNhbGx5IGJldHdlZW4gcnVucywgdGhlcmUncyBhIGdvb2QgY2hhbmNlIHRoYXQgeW91IG1pZ2h0XG4gICAqIGJlIHRyeWluZyB0byBmaXQgZGl2ZXJnZW50IHNlbWFudGljcyBpbnRvIGEgc2luZ2xlIG9iamVjdCwgYW5kXG4gICAqIHdvdWxkIGJlIGJldHRlciBvZmYgd2l0aCBtdWx0aXBsZSBjYWNoZSBpbnN0YW5jZXMuXG4gICAqXG4gICAqICoqMSoqOiBJZSwgdGhleSdyZSBub3QgdGhlIFwic2FtZSBQcm9taXNlXCIsIGJ1dCB0aGV5IHJlc29sdmUgYXRcbiAgICogdGhlIHNhbWUgdGltZSwgYmVjYXVzZSB0aGV5J3JlIGJvdGggd2FpdGluZyBvbiB0aGUgc2FtZVxuICAgKiB1bmRlcmx5aW5nIGZldGNoTWV0aG9kIHJlc3BvbnNlLlxuICAgKi9cblxuICBmZXRjaChcbiAgICBrOiBLLFxuICAgIGZldGNoT3B0aW9uczogdW5rbm93biBleHRlbmRzIEZDXG4gICAgICA/IExSVUNhY2hlLkZldGNoT3B0aW9uczxLLCBWLCBGQz5cbiAgICAgIDogRkMgZXh0ZW5kcyB1bmRlZmluZWQgfCB2b2lkXG4gICAgICA/IExSVUNhY2hlLkZldGNoT3B0aW9uc05vQ29udGV4dDxLLCBWPlxuICAgICAgOiBMUlVDYWNoZS5GZXRjaE9wdGlvbnNXaXRoQ29udGV4dDxLLCBWLCBGQz5cbiAgKTogUHJvbWlzZTx1bmRlZmluZWQgfCBWPlxuXG4gIC8vIHRoaXMgb3ZlcmxvYWQgbm90IGFsbG93ZWQgaWYgY29udGV4dCBpcyByZXF1aXJlZFxuICBmZXRjaChcbiAgICBrOiB1bmtub3duIGV4dGVuZHMgRkNcbiAgICAgID8gS1xuICAgICAgOiBGQyBleHRlbmRzIHVuZGVmaW5lZCB8IHZvaWRcbiAgICAgID8gS1xuICAgICAgOiBuZXZlcixcbiAgICBmZXRjaE9wdGlvbnM/OiB1bmtub3duIGV4dGVuZHMgRkNcbiAgICAgID8gTFJVQ2FjaGUuRmV0Y2hPcHRpb25zPEssIFYsIEZDPlxuICAgICAgOiBGQyBleHRlbmRzIHVuZGVmaW5lZCB8IHZvaWRcbiAgICAgID8gTFJVQ2FjaGUuRmV0Y2hPcHRpb25zTm9Db250ZXh0PEssIFY+XG4gICAgICA6IG5ldmVyXG4gICk6IFByb21pc2U8dW5kZWZpbmVkIHwgVj5cblxuICBhc3luYyBmZXRjaChcbiAgICBrOiBLLFxuICAgIGZldGNoT3B0aW9uczogTFJVQ2FjaGUuRmV0Y2hPcHRpb25zPEssIFYsIEZDPiA9IHt9XG4gICk6IFByb21pc2U8dW5kZWZpbmVkIHwgVj4ge1xuICAgIGNvbnN0IHtcbiAgICAgIC8vIGdldCBvcHRpb25zXG4gICAgICBhbGxvd1N0YWxlID0gdGhpcy5hbGxvd1N0YWxlLFxuICAgICAgdXBkYXRlQWdlT25HZXQgPSB0aGlzLnVwZGF0ZUFnZU9uR2V0LFxuICAgICAgbm9EZWxldGVPblN0YWxlR2V0ID0gdGhpcy5ub0RlbGV0ZU9uU3RhbGVHZXQsXG4gICAgICAvLyBzZXQgb3B0aW9uc1xuICAgICAgdHRsID0gdGhpcy50dGwsXG4gICAgICBub0Rpc3Bvc2VPblNldCA9IHRoaXMubm9EaXNwb3NlT25TZXQsXG4gICAgICBzaXplID0gMCxcbiAgICAgIHNpemVDYWxjdWxhdGlvbiA9IHRoaXMuc2l6ZUNhbGN1bGF0aW9uLFxuICAgICAgbm9VcGRhdGVUVEwgPSB0aGlzLm5vVXBkYXRlVFRMLFxuICAgICAgLy8gZmV0Y2ggZXhjbHVzaXZlIG9wdGlvbnNcbiAgICAgIG5vRGVsZXRlT25GZXRjaFJlamVjdGlvbiA9IHRoaXMubm9EZWxldGVPbkZldGNoUmVqZWN0aW9uLFxuICAgICAgYWxsb3dTdGFsZU9uRmV0Y2hSZWplY3Rpb24gPSB0aGlzLmFsbG93U3RhbGVPbkZldGNoUmVqZWN0aW9uLFxuICAgICAgaWdub3JlRmV0Y2hBYm9ydCA9IHRoaXMuaWdub3JlRmV0Y2hBYm9ydCxcbiAgICAgIGFsbG93U3RhbGVPbkZldGNoQWJvcnQgPSB0aGlzLmFsbG93U3RhbGVPbkZldGNoQWJvcnQsXG4gICAgICBjb250ZXh0LFxuICAgICAgZm9yY2VSZWZyZXNoID0gZmFsc2UsXG4gICAgICBzdGF0dXMsXG4gICAgICBzaWduYWwsXG4gICAgfSA9IGZldGNoT3B0aW9uc1xuXG4gICAgaWYgKCF0aGlzLiNoYXNGZXRjaE1ldGhvZCkge1xuICAgICAgaWYgKHN0YXR1cykgc3RhdHVzLmZldGNoID0gJ2dldCdcbiAgICAgIHJldHVybiB0aGlzLmdldChrLCB7XG4gICAgICAgIGFsbG93U3RhbGUsXG4gICAgICAgIHVwZGF0ZUFnZU9uR2V0LFxuICAgICAgICBub0RlbGV0ZU9uU3RhbGVHZXQsXG4gICAgICAgIHN0YXR1cyxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgY29uc3Qgb3B0aW9ucyA9IHtcbiAgICAgIGFsbG93U3RhbGUsXG4gICAgICB1cGRhdGVBZ2VPbkdldCxcbiAgICAgIG5vRGVsZXRlT25TdGFsZUdldCxcbiAgICAgIHR0bCxcbiAgICAgIG5vRGlzcG9zZU9uU2V0LFxuICAgICAgc2l6ZSxcbiAgICAgIHNpemVDYWxjdWxhdGlvbixcbiAgICAgIG5vVXBkYXRlVFRMLFxuICAgICAgbm9EZWxldGVPbkZldGNoUmVqZWN0aW9uLFxuICAgICAgYWxsb3dTdGFsZU9uRmV0Y2hSZWplY3Rpb24sXG4gICAgICBhbGxvd1N0YWxlT25GZXRjaEFib3J0LFxuICAgICAgaWdub3JlRmV0Y2hBYm9ydCxcbiAgICAgIHN0YXR1cyxcbiAgICAgIHNpZ25hbCxcbiAgICB9XG5cbiAgICBsZXQgaW5kZXggPSB0aGlzLiNrZXlNYXAuZ2V0KGspXG4gICAgaWYgKGluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGlmIChzdGF0dXMpIHN0YXR1cy5mZXRjaCA9ICdtaXNzJ1xuICAgICAgY29uc3QgcCA9IHRoaXMuI2JhY2tncm91bmRGZXRjaChrLCBpbmRleCwgb3B0aW9ucywgY29udGV4dClcbiAgICAgIHJldHVybiAocC5fX3JldHVybmVkID0gcClcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gaW4gY2FjaGUsIG1heWJlIGFscmVhZHkgZmV0Y2hpbmdcbiAgICAgIGNvbnN0IHYgPSB0aGlzLiN2YWxMaXN0W2luZGV4XVxuICAgICAgaWYgKHRoaXMuI2lzQmFja2dyb3VuZEZldGNoKHYpKSB7XG4gICAgICAgIGNvbnN0IHN0YWxlID1cbiAgICAgICAgICBhbGxvd1N0YWxlICYmIHYuX19zdGFsZVdoaWxlRmV0Y2hpbmcgIT09IHVuZGVmaW5lZFxuICAgICAgICBpZiAoc3RhdHVzKSB7XG4gICAgICAgICAgc3RhdHVzLmZldGNoID0gJ2luZmxpZ2h0J1xuICAgICAgICAgIGlmIChzdGFsZSkgc3RhdHVzLnJldHVybmVkU3RhbGUgPSB0cnVlXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHN0YWxlID8gdi5fX3N0YWxlV2hpbGVGZXRjaGluZyA6ICh2Ll9fcmV0dXJuZWQgPSB2KVxuICAgICAgfVxuXG4gICAgICAvLyBpZiB3ZSBmb3JjZSBhIHJlZnJlc2gsIHRoYXQgbWVhbnMgZG8gTk9UIHNlcnZlIHRoZSBjYWNoZWQgdmFsdWUsXG4gICAgICAvLyB1bmxlc3Mgd2UgYXJlIGFscmVhZHkgaW4gdGhlIHByb2Nlc3Mgb2YgcmVmcmVzaGluZyB0aGUgY2FjaGUuXG4gICAgICBjb25zdCBpc1N0YWxlID0gdGhpcy4jaXNTdGFsZShpbmRleClcbiAgICAgIGlmICghZm9yY2VSZWZyZXNoICYmICFpc1N0YWxlKSB7XG4gICAgICAgIGlmIChzdGF0dXMpIHN0YXR1cy5mZXRjaCA9ICdoaXQnXG4gICAgICAgIHRoaXMuI21vdmVUb1RhaWwoaW5kZXgpXG4gICAgICAgIGlmICh1cGRhdGVBZ2VPbkdldCkge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUl0ZW1BZ2UoaW5kZXgpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHN0YXR1cykgdGhpcy4jc3RhdHVzVFRMKHN0YXR1cywgaW5kZXgpXG4gICAgICAgIHJldHVybiB2XG4gICAgICB9XG5cbiAgICAgIC8vIG9rLCBpdCBpcyBzdGFsZSBvciBhIGZvcmNlZCByZWZyZXNoLCBhbmQgbm90IGFscmVhZHkgZmV0Y2hpbmcuXG4gICAgICAvLyByZWZyZXNoIHRoZSBjYWNoZS5cbiAgICAgIGNvbnN0IHAgPSB0aGlzLiNiYWNrZ3JvdW5kRmV0Y2goaywgaW5kZXgsIG9wdGlvbnMsIGNvbnRleHQpXG4gICAgICBjb25zdCBoYXNTdGFsZSA9IHAuX19zdGFsZVdoaWxlRmV0Y2hpbmcgIT09IHVuZGVmaW5lZFxuICAgICAgY29uc3Qgc3RhbGVWYWwgPSBoYXNTdGFsZSAmJiBhbGxvd1N0YWxlXG4gICAgICBpZiAoc3RhdHVzKSB7XG4gICAgICAgIHN0YXR1cy5mZXRjaCA9IGlzU3RhbGUgPyAnc3RhbGUnIDogJ3JlZnJlc2gnXG4gICAgICAgIGlmIChzdGFsZVZhbCAmJiBpc1N0YWxlKSBzdGF0dXMucmV0dXJuZWRTdGFsZSA9IHRydWVcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdGFsZVZhbCA/IHAuX19zdGFsZVdoaWxlRmV0Y2hpbmcgOiAocC5fX3JldHVybmVkID0gcClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW4gc29tZSBjYXNlcywgYGNhY2hlLmZldGNoKClgIG1heSByZXNvbHZlIHRvIGB1bmRlZmluZWRgLCBlaXRoZXIgYmVjYXVzZVxuICAgKiBhIHtAbGluayBMUlVDYWNoZS5PcHRpb25zQmFzZSNmZXRjaE1ldGhvZH0gd2FzIG5vdCBwcm92aWRlZCAodHVybmluZ1xuICAgKiBgY2FjaGUuZmV0Y2goaylgIGludG8ganVzdCBhbiBhc3luYyB3cmFwcGVyIGFyb3VuZCBgY2FjaGUuZ2V0KGspYCkgb3JcbiAgICogYmVjYXVzZSBgaWdub3JlRmV0Y2hBYm9ydGAgd2FzIHNwZWNpZmllZCAoZWl0aGVyIHRvIHRoZSBjb25zdHJ1Y3RvciBvclxuICAgKiBpbiB0aGUge0BsaW5rIExSVUNhY2hlLkZldGNoT3B0aW9uc30pLiBBbHNvLCB0aGVcbiAgICoge0BsaW5rIE9wdGlvbnNCYXNlLmZldGNoTWV0aG9kfSBtYXkgcmV0dXJuIGB1bmRlZmluZWRgIG9yIGB2b2lkYCwgbWFraW5nXG4gICAqIHRoZSB0ZXN0IGV2ZW4gbW9yZSBjb21wbGljYXRlZC5cbiAgICpcbiAgICogQmVjYXVzZSBpbmZlcnJpbmcgdGhlIGNhc2VzIHdoZXJlIGB1bmRlZmluZWRgIG1pZ2h0IGJlIHJldHVybmVkIGFyZSBzb1xuICAgKiBjdW1iZXJzb21lLCBidXQgdGVzdGluZyBmb3IgYHVuZGVmaW5lZGAgY2FuIGFsc28gYmUgYW5ub3lpbmcsIHRoaXMgbWV0aG9kXG4gICAqIGNhbiBiZSB1c2VkLCB3aGljaCB3aWxsIHJlamVjdCBpZiBgdGhpcy5mZXRjaCgpYCByZXNvbHZlcyB0byB1bmRlZmluZWQuXG4gICAqL1xuICBmb3JjZUZldGNoKFxuICAgIGs6IEssXG4gICAgZmV0Y2hPcHRpb25zOiB1bmtub3duIGV4dGVuZHMgRkNcbiAgICAgID8gTFJVQ2FjaGUuRmV0Y2hPcHRpb25zPEssIFYsIEZDPlxuICAgICAgOiBGQyBleHRlbmRzIHVuZGVmaW5lZCB8IHZvaWRcbiAgICAgID8gTFJVQ2FjaGUuRmV0Y2hPcHRpb25zTm9Db250ZXh0PEssIFY+XG4gICAgICA6IExSVUNhY2hlLkZldGNoT3B0aW9uc1dpdGhDb250ZXh0PEssIFYsIEZDPlxuICApOiBQcm9taXNlPFY+XG4gIC8vIHRoaXMgb3ZlcmxvYWQgbm90IGFsbG93ZWQgaWYgY29udGV4dCBpcyByZXF1aXJlZFxuICBmb3JjZUZldGNoKFxuICAgIGs6IHVua25vd24gZXh0ZW5kcyBGQ1xuICAgICAgPyBLXG4gICAgICA6IEZDIGV4dGVuZHMgdW5kZWZpbmVkIHwgdm9pZFxuICAgICAgPyBLXG4gICAgICA6IG5ldmVyLFxuICAgIGZldGNoT3B0aW9ucz86IHVua25vd24gZXh0ZW5kcyBGQ1xuICAgICAgPyBMUlVDYWNoZS5GZXRjaE9wdGlvbnM8SywgViwgRkM+XG4gICAgICA6IEZDIGV4dGVuZHMgdW5kZWZpbmVkIHwgdm9pZFxuICAgICAgPyBMUlVDYWNoZS5GZXRjaE9wdGlvbnNOb0NvbnRleHQ8SywgVj5cbiAgICAgIDogbmV2ZXJcbiAgKTogUHJvbWlzZTxWPlxuICBhc3luYyBmb3JjZUZldGNoKFxuICAgIGs6IEssXG4gICAgZmV0Y2hPcHRpb25zOiBMUlVDYWNoZS5GZXRjaE9wdGlvbnM8SywgViwgRkM+ID0ge31cbiAgKTogUHJvbWlzZTxWPiB7XG4gICAgY29uc3QgdiA9IGF3YWl0IHRoaXMuZmV0Y2goXG4gICAgICBrLFxuICAgICAgZmV0Y2hPcHRpb25zIGFzIHVua25vd24gZXh0ZW5kcyBGQ1xuICAgICAgICA/IExSVUNhY2hlLkZldGNoT3B0aW9uczxLLCBWLCBGQz5cbiAgICAgICAgOiBGQyBleHRlbmRzIHVuZGVmaW5lZCB8IHZvaWRcbiAgICAgICAgPyBMUlVDYWNoZS5GZXRjaE9wdGlvbnNOb0NvbnRleHQ8SywgVj5cbiAgICAgICAgOiBMUlVDYWNoZS5GZXRjaE9wdGlvbnNXaXRoQ29udGV4dDxLLCBWLCBGQz5cbiAgICApXG4gICAgaWYgKHYgPT09IHVuZGVmaW5lZCkgdGhyb3cgbmV3IEVycm9yKCdmZXRjaCgpIHJldHVybmVkIHVuZGVmaW5lZCcpXG4gICAgcmV0dXJuIHZcbiAgfVxuXG4gIC8qKlxuICAgKiBJZiB0aGUga2V5IGlzIGZvdW5kIGluIHRoZSBjYWNoZSwgdGhlbiB0aGlzIGlzIGVxdWl2YWxlbnQgdG9cbiAgICoge0BsaW5rIExSVUNhY2hlI2dldH0uIElmIG5vdCwgaW4gdGhlIGNhY2hlLCB0aGVuIGNhbGN1bGF0ZSB0aGUgdmFsdWUgdXNpbmdcbiAgICogdGhlIHtAbGluayBMUlVDYWNoZS5PcHRpb25zQmFzZS5tZW1vTWV0aG9kfSwgYW5kIGFkZCBpdCB0byB0aGUgY2FjaGUuXG4gICAqXG4gICAqIElmIGFuIGBGQ2AgdHlwZSBpcyBzZXQgdG8gYSB0eXBlIG90aGVyIHRoYW4gYHVua25vd25gLCBgdm9pZGAsIG9yXG4gICAqIGB1bmRlZmluZWRgIGluIHRoZSBMUlVDYWNoZSBjb25zdHJ1Y3RvciwgdGhlbiBhbGwgY2FsbHMgdG8gYGNhY2hlLm1lbW8oKWBcbiAgICogX211c3RfIHByb3ZpZGUgYSBgY29udGV4dGAgb3B0aW9uLiBJZiBzZXQgdG8gYHVuZGVmaW5lZGAgb3IgYHZvaWRgLCB0aGVuXG4gICAqIGNhbGxzIHRvIG1lbW8gX211c3Qgbm90XyBwcm92aWRlIGEgYGNvbnRleHRgIG9wdGlvbi5cbiAgICpcbiAgICogVGhlIGBjb250ZXh0YCBwYXJhbSBhbGxvd3MgeW91IHRvIHByb3ZpZGUgYXJiaXRyYXJ5IGRhdGEgdGhhdCBtaWdodCBiZVxuICAgKiByZWxldmFudCBpbiB0aGUgY291cnNlIG9mIGZldGNoaW5nIHRoZSBkYXRhLiBJdCBpcyBvbmx5IHJlbGV2YW50IGZvciB0aGVcbiAgICogY291cnNlIG9mIGEgc2luZ2xlIGBtZW1vKClgIG9wZXJhdGlvbiwgYW5kIGRpc2NhcmRlZCBhZnRlcndhcmRzLlxuICAgKi9cbiAgbWVtbyhcbiAgICBrOiBLLFxuICAgIG1lbW9PcHRpb25zOiB1bmtub3duIGV4dGVuZHMgRkNcbiAgICAgID8gTFJVQ2FjaGUuTWVtb09wdGlvbnM8SywgViwgRkM+XG4gICAgICA6IEZDIGV4dGVuZHMgdW5kZWZpbmVkIHwgdm9pZFxuICAgICAgPyBMUlVDYWNoZS5NZW1vT3B0aW9uc05vQ29udGV4dDxLLCBWPlxuICAgICAgOiBMUlVDYWNoZS5NZW1vT3B0aW9uc1dpdGhDb250ZXh0PEssIFYsIEZDPlxuICApOiBWXG4gIC8vIHRoaXMgb3ZlcmxvYWQgbm90IGFsbG93ZWQgaWYgY29udGV4dCBpcyByZXF1aXJlZFxuICBtZW1vKFxuICAgIGs6IHVua25vd24gZXh0ZW5kcyBGQ1xuICAgICAgPyBLXG4gICAgICA6IEZDIGV4dGVuZHMgdW5kZWZpbmVkIHwgdm9pZFxuICAgICAgPyBLXG4gICAgICA6IG5ldmVyLFxuICAgIG1lbW9PcHRpb25zPzogdW5rbm93biBleHRlbmRzIEZDXG4gICAgICA/IExSVUNhY2hlLk1lbW9PcHRpb25zPEssIFYsIEZDPlxuICAgICAgOiBGQyBleHRlbmRzIHVuZGVmaW5lZCB8IHZvaWRcbiAgICAgID8gTFJVQ2FjaGUuTWVtb09wdGlvbnNOb0NvbnRleHQ8SywgVj5cbiAgICAgIDogbmV2ZXJcbiAgKTogVlxuICBtZW1vKGs6IEssIG1lbW9PcHRpb25zOiBMUlVDYWNoZS5NZW1vT3B0aW9uczxLLCBWLCBGQz4gPSB7fSkge1xuICAgIGNvbnN0IG1lbW9NZXRob2QgPSB0aGlzLiNtZW1vTWV0aG9kXG4gICAgaWYgKCFtZW1vTWV0aG9kKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ25vIG1lbW9NZXRob2QgcHJvdmlkZWQgdG8gY29uc3RydWN0b3InKVxuICAgIH1cbiAgICBjb25zdCB7IGNvbnRleHQsIGZvcmNlUmVmcmVzaCwgLi4ub3B0aW9ucyB9ID0gbWVtb09wdGlvbnNcbiAgICBjb25zdCB2ID0gdGhpcy5nZXQoaywgb3B0aW9ucylcbiAgICBpZiAoIWZvcmNlUmVmcmVzaCAmJiB2ICE9PSB1bmRlZmluZWQpIHJldHVybiB2XG4gICAgY29uc3QgdnYgPSBtZW1vTWV0aG9kKGssIHYsIHtcbiAgICAgIG9wdGlvbnMsXG4gICAgICBjb250ZXh0LFxuICAgIH0gYXMgTFJVQ2FjaGUuTWVtb2l6ZXJPcHRpb25zPEssIFYsIEZDPilcbiAgICB0aGlzLnNldChrLCB2diwgb3B0aW9ucylcbiAgICByZXR1cm4gdnZcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSB2YWx1ZSBmcm9tIHRoZSBjYWNoZS4gV2lsbCB1cGRhdGUgdGhlIHJlY2VuY3kgb2YgdGhlIGNhY2hlXG4gICAqIGVudHJ5IGZvdW5kLlxuICAgKlxuICAgKiBJZiB0aGUga2V5IGlzIG5vdCBmb3VuZCwgZ2V0KCkgd2lsbCByZXR1cm4gYHVuZGVmaW5lZGAuXG4gICAqL1xuICBnZXQoazogSywgZ2V0T3B0aW9uczogTFJVQ2FjaGUuR2V0T3B0aW9uczxLLCBWLCBGQz4gPSB7fSkge1xuICAgIGNvbnN0IHtcbiAgICAgIGFsbG93U3RhbGUgPSB0aGlzLmFsbG93U3RhbGUsXG4gICAgICB1cGRhdGVBZ2VPbkdldCA9IHRoaXMudXBkYXRlQWdlT25HZXQsXG4gICAgICBub0RlbGV0ZU9uU3RhbGVHZXQgPSB0aGlzLm5vRGVsZXRlT25TdGFsZUdldCxcbiAgICAgIHN0YXR1cyxcbiAgICB9ID0gZ2V0T3B0aW9uc1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy4ja2V5TWFwLmdldChrKVxuICAgIGlmIChpbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuI3ZhbExpc3RbaW5kZXhdXG4gICAgICBjb25zdCBmZXRjaGluZyA9IHRoaXMuI2lzQmFja2dyb3VuZEZldGNoKHZhbHVlKVxuICAgICAgaWYgKHN0YXR1cykgdGhpcy4jc3RhdHVzVFRMKHN0YXR1cywgaW5kZXgpXG4gICAgICBpZiAodGhpcy4jaXNTdGFsZShpbmRleCkpIHtcbiAgICAgICAgaWYgKHN0YXR1cykgc3RhdHVzLmdldCA9ICdzdGFsZSdcbiAgICAgICAgLy8gZGVsZXRlIG9ubHkgaWYgbm90IGFuIGluLWZsaWdodCBiYWNrZ3JvdW5kIGZldGNoXG4gICAgICAgIGlmICghZmV0Y2hpbmcpIHtcbiAgICAgICAgICBpZiAoIW5vRGVsZXRlT25TdGFsZUdldCkge1xuICAgICAgICAgICAgdGhpcy4jZGVsZXRlKGssICdleHBpcmUnKVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAoc3RhdHVzICYmIGFsbG93U3RhbGUpIHN0YXR1cy5yZXR1cm5lZFN0YWxlID0gdHJ1ZVxuICAgICAgICAgIHJldHVybiBhbGxvd1N0YWxlID8gdmFsdWUgOiB1bmRlZmluZWRcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBzdGF0dXMgJiZcbiAgICAgICAgICAgIGFsbG93U3RhbGUgJiZcbiAgICAgICAgICAgIHZhbHVlLl9fc3RhbGVXaGlsZUZldGNoaW5nICE9PSB1bmRlZmluZWRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIHN0YXR1cy5yZXR1cm5lZFN0YWxlID0gdHJ1ZVxuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gYWxsb3dTdGFsZSA/IHZhbHVlLl9fc3RhbGVXaGlsZUZldGNoaW5nIDogdW5kZWZpbmVkXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmIChzdGF0dXMpIHN0YXR1cy5nZXQgPSAnaGl0J1xuICAgICAgICAvLyBpZiB3ZSdyZSBjdXJyZW50bHkgZmV0Y2hpbmcgaXQsIHdlIGRvbid0IGFjdHVhbGx5IGhhdmUgaXQgeWV0XG4gICAgICAgIC8vIGl0J3Mgbm90IHN0YWxlLCB3aGljaCBtZWFucyB0aGlzIGlzbid0IGEgc3RhbGVXaGlsZVJlZmV0Y2hpbmcuXG4gICAgICAgIC8vIElmIGl0J3Mgbm90IHN0YWxlLCBhbmQgZmV0Y2hpbmcsIEFORCBoYXMgYSBfX3N0YWxlV2hpbGVGZXRjaGluZ1xuICAgICAgICAvLyB2YWx1ZSwgdGhlbiB0aGF0IG1lYW5zIHRoZSB1c2VyIGZldGNoZWQgd2l0aCB7Zm9yY2VSZWZyZXNoOnRydWV9LFxuICAgICAgICAvLyBzbyBpdCdzIHNhZmUgdG8gcmV0dXJuIHRoYXQgdmFsdWUuXG4gICAgICAgIGlmIChmZXRjaGluZykge1xuICAgICAgICAgIHJldHVybiB2YWx1ZS5fX3N0YWxlV2hpbGVGZXRjaGluZ1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuI21vdmVUb1RhaWwoaW5kZXgpXG4gICAgICAgIGlmICh1cGRhdGVBZ2VPbkdldCkge1xuICAgICAgICAgIHRoaXMuI3VwZGF0ZUl0ZW1BZ2UoaW5kZXgpXG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHZhbHVlXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChzdGF0dXMpIHtcbiAgICAgIHN0YXR1cy5nZXQgPSAnbWlzcydcbiAgICB9XG4gIH1cblxuICAjY29ubmVjdChwOiBJbmRleCwgbjogSW5kZXgpIHtcbiAgICB0aGlzLiNwcmV2W25dID0gcFxuICAgIHRoaXMuI25leHRbcF0gPSBuXG4gIH1cblxuICAjbW92ZVRvVGFpbChpbmRleDogSW5kZXgpOiB2b2lkIHtcbiAgICAvLyBpZiB0YWlsIGFscmVhZHksIG5vdGhpbmcgdG8gZG9cbiAgICAvLyBpZiBoZWFkLCBtb3ZlIGhlYWQgdG8gbmV4dFtpbmRleF1cbiAgICAvLyBlbHNlXG4gICAgLy8gICBtb3ZlIG5leHRbcHJldltpbmRleF1dIHRvIG5leHRbaW5kZXhdIChoZWFkIGhhcyBubyBwcmV2KVxuICAgIC8vICAgbW92ZSBwcmV2W25leHRbaW5kZXhdXSB0byBwcmV2W2luZGV4XVxuICAgIC8vIHByZXZbaW5kZXhdID0gdGFpbFxuICAgIC8vIG5leHRbdGFpbF0gPSBpbmRleFxuICAgIC8vIHRhaWwgPSBpbmRleFxuICAgIGlmIChpbmRleCAhPT0gdGhpcy4jdGFpbCkge1xuICAgICAgaWYgKGluZGV4ID09PSB0aGlzLiNoZWFkKSB7XG4gICAgICAgIHRoaXMuI2hlYWQgPSB0aGlzLiNuZXh0W2luZGV4XSBhcyBJbmRleFxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy4jY29ubmVjdChcbiAgICAgICAgICB0aGlzLiNwcmV2W2luZGV4XSBhcyBJbmRleCxcbiAgICAgICAgICB0aGlzLiNuZXh0W2luZGV4XSBhcyBJbmRleFxuICAgICAgICApXG4gICAgICB9XG4gICAgICB0aGlzLiNjb25uZWN0KHRoaXMuI3RhaWwsIGluZGV4KVxuICAgICAgdGhpcy4jdGFpbCA9IGluZGV4XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgYSBrZXkgb3V0IG9mIHRoZSBjYWNoZS5cbiAgICpcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBrZXkgd2FzIGRlbGV0ZWQsIGZhbHNlIG90aGVyd2lzZS5cbiAgICovXG4gIGRlbGV0ZShrOiBLKSB7XG4gICAgcmV0dXJuIHRoaXMuI2RlbGV0ZShrLCAnZGVsZXRlJylcbiAgfVxuXG4gICNkZWxldGUoazogSywgcmVhc29uOiBMUlVDYWNoZS5EaXNwb3NlUmVhc29uKSB7XG4gICAgbGV0IGRlbGV0ZWQgPSBmYWxzZVxuICAgIGlmICh0aGlzLiNzaXplICE9PSAwKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMuI2tleU1hcC5nZXQoaylcbiAgICAgIGlmIChpbmRleCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGRlbGV0ZWQgPSB0cnVlXG4gICAgICAgIGlmICh0aGlzLiNzaXplID09PSAxKSB7XG4gICAgICAgICAgdGhpcy4jY2xlYXIocmVhc29uKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuI3JlbW92ZUl0ZW1TaXplKGluZGV4KVxuICAgICAgICAgIGNvbnN0IHYgPSB0aGlzLiN2YWxMaXN0W2luZGV4XVxuICAgICAgICAgIGlmICh0aGlzLiNpc0JhY2tncm91bmRGZXRjaCh2KSkge1xuICAgICAgICAgICAgdi5fX2Fib3J0Q29udHJvbGxlci5hYm9ydChuZXcgRXJyb3IoJ2RlbGV0ZWQnKSlcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuI2hhc0Rpc3Bvc2UgfHwgdGhpcy4jaGFzRGlzcG9zZUFmdGVyKSB7XG4gICAgICAgICAgICBpZiAodGhpcy4jaGFzRGlzcG9zZSkge1xuICAgICAgICAgICAgICB0aGlzLiNkaXNwb3NlPy4odiBhcyBWLCBrLCByZWFzb24pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy4jaGFzRGlzcG9zZUFmdGVyKSB7XG4gICAgICAgICAgICAgIHRoaXMuI2Rpc3Bvc2VkPy5wdXNoKFt2IGFzIFYsIGssIHJlYXNvbl0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuI2tleU1hcC5kZWxldGUoaylcbiAgICAgICAgICB0aGlzLiNrZXlMaXN0W2luZGV4XSA9IHVuZGVmaW5lZFxuICAgICAgICAgIHRoaXMuI3ZhbExpc3RbaW5kZXhdID0gdW5kZWZpbmVkXG4gICAgICAgICAgaWYgKGluZGV4ID09PSB0aGlzLiN0YWlsKSB7XG4gICAgICAgICAgICB0aGlzLiN0YWlsID0gdGhpcy4jcHJldltpbmRleF0gYXMgSW5kZXhcbiAgICAgICAgICB9IGVsc2UgaWYgKGluZGV4ID09PSB0aGlzLiNoZWFkKSB7XG4gICAgICAgICAgICB0aGlzLiNoZWFkID0gdGhpcy4jbmV4dFtpbmRleF0gYXMgSW5kZXhcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgcGkgPSB0aGlzLiNwcmV2W2luZGV4XSBhcyBudW1iZXJcbiAgICAgICAgICAgIHRoaXMuI25leHRbcGldID0gdGhpcy4jbmV4dFtpbmRleF0gYXMgbnVtYmVyXG4gICAgICAgICAgICBjb25zdCBuaSA9IHRoaXMuI25leHRbaW5kZXhdIGFzIG51bWJlclxuICAgICAgICAgICAgdGhpcy4jcHJldltuaV0gPSB0aGlzLiNwcmV2W2luZGV4XSBhcyBudW1iZXJcbiAgICAgICAgICB9XG4gICAgICAgICAgdGhpcy4jc2l6ZS0tXG4gICAgICAgICAgdGhpcy4jZnJlZS5wdXNoKGluZGV4KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlmICh0aGlzLiNoYXNEaXNwb3NlQWZ0ZXIgJiYgdGhpcy4jZGlzcG9zZWQ/Lmxlbmd0aCkge1xuICAgICAgY29uc3QgZHQgPSB0aGlzLiNkaXNwb3NlZFxuICAgICAgbGV0IHRhc2s6IERpc3Bvc2VUYXNrPEssIFY+IHwgdW5kZWZpbmVkXG4gICAgICB3aGlsZSAoKHRhc2sgPSBkdD8uc2hpZnQoKSkpIHtcbiAgICAgICAgdGhpcy4jZGlzcG9zZUFmdGVyPy4oLi4udGFzaylcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIGRlbGV0ZWRcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGVhciB0aGUgY2FjaGUgZW50aXJlbHksIHRocm93aW5nIGF3YXkgYWxsIHZhbHVlcy5cbiAgICovXG4gIGNsZWFyKCkge1xuICAgIHJldHVybiB0aGlzLiNjbGVhcignZGVsZXRlJylcbiAgfVxuICAjY2xlYXIocmVhc29uOiBMUlVDYWNoZS5EaXNwb3NlUmVhc29uKSB7XG4gICAgZm9yIChjb25zdCBpbmRleCBvZiB0aGlzLiNyaW5kZXhlcyh7IGFsbG93U3RhbGU6IHRydWUgfSkpIHtcbiAgICAgIGNvbnN0IHYgPSB0aGlzLiN2YWxMaXN0W2luZGV4XVxuICAgICAgaWYgKHRoaXMuI2lzQmFja2dyb3VuZEZldGNoKHYpKSB7XG4gICAgICAgIHYuX19hYm9ydENvbnRyb2xsZXIuYWJvcnQobmV3IEVycm9yKCdkZWxldGVkJykpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBrID0gdGhpcy4ja2V5TGlzdFtpbmRleF1cbiAgICAgICAgaWYgKHRoaXMuI2hhc0Rpc3Bvc2UpIHtcbiAgICAgICAgICB0aGlzLiNkaXNwb3NlPy4odiBhcyBWLCBrIGFzIEssIHJlYXNvbilcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy4jaGFzRGlzcG9zZUFmdGVyKSB7XG4gICAgICAgICAgdGhpcy4jZGlzcG9zZWQ/LnB1c2goW3YgYXMgViwgayBhcyBLLCByZWFzb25dKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy4ja2V5TWFwLmNsZWFyKClcbiAgICB0aGlzLiN2YWxMaXN0LmZpbGwodW5kZWZpbmVkKVxuICAgIHRoaXMuI2tleUxpc3QuZmlsbCh1bmRlZmluZWQpXG4gICAgaWYgKHRoaXMuI3R0bHMgJiYgdGhpcy4jc3RhcnRzKSB7XG4gICAgICB0aGlzLiN0dGxzLmZpbGwoMClcbiAgICAgIHRoaXMuI3N0YXJ0cy5maWxsKDApXG4gICAgfVxuICAgIGlmICh0aGlzLiNzaXplcykge1xuICAgICAgdGhpcy4jc2l6ZXMuZmlsbCgwKVxuICAgIH1cbiAgICB0aGlzLiNoZWFkID0gMCBhcyBJbmRleFxuICAgIHRoaXMuI3RhaWwgPSAwIGFzIEluZGV4XG4gICAgdGhpcy4jZnJlZS5sZW5ndGggPSAwXG4gICAgdGhpcy4jY2FsY3VsYXRlZFNpemUgPSAwXG4gICAgdGhpcy4jc2l6ZSA9IDBcbiAgICBpZiAodGhpcy4jaGFzRGlzcG9zZUFmdGVyICYmIHRoaXMuI2Rpc3Bvc2VkKSB7XG4gICAgICBjb25zdCBkdCA9IHRoaXMuI2Rpc3Bvc2VkXG4gICAgICBsZXQgdGFzazogRGlzcG9zZVRhc2s8SywgVj4gfCB1bmRlZmluZWRcbiAgICAgIHdoaWxlICgodGFzayA9IGR0Py5zaGlmdCgpKSkge1xuICAgICAgICB0aGlzLiNkaXNwb3NlQWZ0ZXI/LiguLi50YXNrKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwgImltcG9ydCB7IExSVUNhY2hlIH0gZnJvbSAnbHJ1LWNhY2hlJ1xuaW1wb3J0IHsgcG9zaXgsIHdpbjMyIH0gZnJvbSAnbm9kZTpwYXRoJ1xuXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSAnbm9kZTp1cmwnXG5cbmltcG9ydCB7XG4gIGxzdGF0U3luYyxcbiAgcmVhZGRpciBhcyByZWFkZGlyQ0IsXG4gIHJlYWRkaXJTeW5jLFxuICByZWFkbGlua1N5bmMsXG4gIHJlYWxwYXRoU3luYyBhcyBycHMsXG59IGZyb20gJ2ZzJ1xuaW1wb3J0ICogYXMgYWN0dWFsRlMgZnJvbSAnbm9kZTpmcydcblxuY29uc3QgcmVhbHBhdGhTeW5jID0gcnBzLm5hdGl2ZVxuLy8gVE9ETzogdGVzdCBwZXJmIG9mIGZzL3Byb21pc2VzIHJlYWxwYXRoIHZzIHJlYWxwYXRoQ0IsXG4vLyBzaW5jZSB0aGUgcHJvbWlzZXMgb25lIHVzZXMgcmVhbHBhdGgubmF0aXZlXG5cbmltcG9ydCB7IGxzdGF0LCByZWFkZGlyLCByZWFkbGluaywgcmVhbHBhdGggfSBmcm9tICdub2RlOmZzL3Byb21pc2VzJ1xuXG5pbXBvcnQgeyBNaW5pcGFzcyB9IGZyb20gJ21pbmlwYXNzJ1xuaW1wb3J0IHR5cGUgeyBEaXJlbnQsIFN0YXRzIH0gZnJvbSAnbm9kZTpmcydcblxuLyoqXG4gKiBBbiBvYmplY3QgdGhhdCB3aWxsIGJlIHVzZWQgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYGZzYFxuICogbWV0aG9kcy4gIEFueSBtZXRob2RzIHRoYXQgYXJlIG5vdCBvdmVycmlkZGVuIHdpbGwgdXNlIE5vZGUnc1xuICogYnVpbHQtaW4gaW1wbGVtZW50YXRpb25zLlxuICpcbiAqIC0gbHN0YXRTeW5jXG4gKiAtIHJlYWRkaXIgKGNhbGxiYWNrIGB3aXRoRmlsZVR5cGVzYCBEaXJlbnQgdmFyaWFudCwgdXNlZCBmb3JcbiAqICAgcmVhZGRpckNCIGFuZCBtb3N0IHdhbGtzKVxuICogLSByZWFkZGlyU3luY1xuICogLSByZWFkbGlua1N5bmNcbiAqIC0gcmVhbHBhdGhTeW5jXG4gKiAtIHByb21pc2VzOiBPYmplY3QgY29udGFpbmluZyB0aGUgZm9sbG93aW5nIGFzeW5jIG1ldGhvZHM6XG4gKiAgIC0gbHN0YXRcbiAqICAgLSByZWFkZGlyIChEaXJlbnQgdmFyaWFudCBvbmx5KVxuICogICAtIHJlYWRsaW5rXG4gKiAgIC0gcmVhbHBhdGhcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGU09wdGlvbiB7XG4gIGxzdGF0U3luYz86IChwYXRoOiBzdHJpbmcpID0+IFN0YXRzXG4gIHJlYWRkaXI/OiAoXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG9wdGlvbnM6IHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9LFxuICAgIGNiOiAoZXI6IE5vZGVKUy5FcnJub0V4Y2VwdGlvbiB8IG51bGwsIGVudHJpZXM/OiBEaXJlbnRbXSkgPT4gYW55LFxuICApID0+IHZvaWRcbiAgcmVhZGRpclN5bmM/OiAoXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG9wdGlvbnM6IHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9LFxuICApID0+IERpcmVudFtdXG4gIHJlYWRsaW5rU3luYz86IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZ1xuICByZWFscGF0aFN5bmM/OiAocGF0aDogc3RyaW5nKSA9PiBzdHJpbmdcbiAgcHJvbWlzZXM/OiB7XG4gICAgbHN0YXQ/OiAocGF0aDogc3RyaW5nKSA9PiBQcm9taXNlPFN0YXRzPlxuICAgIHJlYWRkaXI/OiAoXG4gICAgICBwYXRoOiBzdHJpbmcsXG4gICAgICBvcHRpb25zOiB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSxcbiAgICApID0+IFByb21pc2U8RGlyZW50W10+XG4gICAgcmVhZGxpbms/OiAocGF0aDogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz5cbiAgICByZWFscGF0aD86IChwYXRoOiBzdHJpbmcpID0+IFByb21pc2U8c3RyaW5nPlxuICAgIFtrOiBzdHJpbmddOiBhbnlcbiAgfVxuICBbazogc3RyaW5nXTogYW55XG59XG5cbmludGVyZmFjZSBGU1ZhbHVlIHtcbiAgbHN0YXRTeW5jOiAocGF0aDogc3RyaW5nKSA9PiBTdGF0c1xuICByZWFkZGlyOiAoXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG9wdGlvbnM6IHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9LFxuICAgIGNiOiAoZXI6IE5vZGVKUy5FcnJub0V4Y2VwdGlvbiB8IG51bGwsIGVudHJpZXM/OiBEaXJlbnRbXSkgPT4gYW55LFxuICApID0+IHZvaWRcbiAgcmVhZGRpclN5bmM6IChwYXRoOiBzdHJpbmcsIG9wdGlvbnM6IHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KSA9PiBEaXJlbnRbXVxuICByZWFkbGlua1N5bmM6IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZ1xuICByZWFscGF0aFN5bmM6IChwYXRoOiBzdHJpbmcpID0+IHN0cmluZ1xuICBwcm9taXNlczoge1xuICAgIGxzdGF0OiAocGF0aDogc3RyaW5nKSA9PiBQcm9taXNlPFN0YXRzPlxuICAgIHJlYWRkaXI6IChcbiAgICAgIHBhdGg6IHN0cmluZyxcbiAgICAgIG9wdGlvbnM6IHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9LFxuICAgICkgPT4gUHJvbWlzZTxEaXJlbnRbXT5cbiAgICByZWFkbGluazogKHBhdGg6IHN0cmluZykgPT4gUHJvbWlzZTxzdHJpbmc+XG4gICAgcmVhbHBhdGg6IChwYXRoOiBzdHJpbmcpID0+IFByb21pc2U8c3RyaW5nPlxuICAgIFtrOiBzdHJpbmddOiBhbnlcbiAgfVxuICBbazogc3RyaW5nXTogYW55XG59XG5cbmNvbnN0IGRlZmF1bHRGUzogRlNWYWx1ZSA9IHtcbiAgbHN0YXRTeW5jLFxuICByZWFkZGlyOiByZWFkZGlyQ0IsXG4gIHJlYWRkaXJTeW5jLFxuICByZWFkbGlua1N5bmMsXG4gIHJlYWxwYXRoU3luYyxcbiAgcHJvbWlzZXM6IHtcbiAgICBsc3RhdCxcbiAgICByZWFkZGlyLFxuICAgIHJlYWRsaW5rLFxuICAgIHJlYWxwYXRoLFxuICB9LFxufVxuXG4vLyBpZiB0aGV5IGp1c3QgZ2F2ZSB1cyByZXF1aXJlKCdmcycpIHRoZW4gdXNlIG91ciBkZWZhdWx0XG5jb25zdCBmc0Zyb21PcHRpb24gPSAoZnNPcHRpb24/OiBGU09wdGlvbik6IEZTVmFsdWUgPT5cbiAgIWZzT3B0aW9uIHx8IGZzT3B0aW9uID09PSBkZWZhdWx0RlMgfHwgZnNPcHRpb24gPT09IGFjdHVhbEZTID9cbiAgICBkZWZhdWx0RlNcbiAgOiB7XG4gICAgICAuLi5kZWZhdWx0RlMsXG4gICAgICAuLi5mc09wdGlvbixcbiAgICAgIHByb21pc2VzOiB7XG4gICAgICAgIC4uLmRlZmF1bHRGUy5wcm9taXNlcyxcbiAgICAgICAgLi4uKGZzT3B0aW9uLnByb21pc2VzIHx8IHt9KSxcbiAgICAgIH0sXG4gICAgfVxuXG4vLyB0dXJuIHNvbWV0aGluZyBsaWtlIC8vPy9jOi8gaW50byBjOlxcXG5jb25zdCB1bmNEcml2ZVJlZ2V4cCA9IC9eXFxcXFxcXFxcXD9cXFxcKFthLXpdOilcXFxcPyQvaVxuY29uc3QgdW5jVG9Ecml2ZSA9IChyb290UGF0aDogc3RyaW5nKTogc3RyaW5nID0+XG4gIHJvb3RQYXRoLnJlcGxhY2UoL1xcLy9nLCAnXFxcXCcpLnJlcGxhY2UodW5jRHJpdmVSZWdleHAsICckMVxcXFwnKVxuXG4vLyB3aW5kb3dzIHBhdGhzIGFyZSBzZXBhcmF0ZWQgYnkgZWl0aGVyIC8gb3IgXFxcbmNvbnN0IGVpdGhlclNlcCA9IC9bXFxcXFxcL10vXG5cbmNvbnN0IFVOS05PV04gPSAwIC8vIG1heSBub3QgZXZlbiBleGlzdCwgZm9yIGFsbCB3ZSBrbm93XG5jb25zdCBJRklGTyA9IDBiMDAwMVxuY29uc3QgSUZDSFIgPSAwYjAwMTBcbmNvbnN0IElGRElSID0gMGIwMTAwXG5jb25zdCBJRkJMSyA9IDBiMDExMFxuY29uc3QgSUZSRUcgPSAwYjEwMDBcbmNvbnN0IElGTE5LID0gMGIxMDEwXG5jb25zdCBJRlNPQ0sgPSAwYjExMDBcbmNvbnN0IElGTVQgPSAwYjExMTFcblxuZXhwb3J0IHR5cGUgVHlwZSA9XG4gIHwgJ1Vua25vd24nXG4gIHwgJ0ZJRk8nXG4gIHwgJ0NoYXJhY3RlckRldmljZSdcbiAgfCAnRGlyZWN0b3J5J1xuICB8ICdCbG9ja0RldmljZSdcbiAgfCAnRmlsZSdcbiAgfCAnU3ltYm9saWNMaW5rJ1xuICB8ICdTb2NrZXQnXG5cbi8vIG1hc2sgdG8gdW5zZXQgbG93IDQgYml0c1xuY29uc3QgSUZNVF9VTktOT1dOID0gfklGTVRcblxuLy8gc2V0IGFmdGVyIHN1Y2Nlc3NmdWxseSBjYWxsaW5nIHJlYWRkaXIoKSBhbmQgZ2V0dGluZyBlbnRyaWVzLlxuY29uc3QgUkVBRERJUl9DQUxMRUQgPSAwYjAwMDBfMDAwMV8wMDAwXG4vLyBzZXQgYWZ0ZXIgYSBzdWNjZXNzZnVsIGxzdGF0KClcbmNvbnN0IExTVEFUX0NBTExFRCA9IDBiMDAwMF8wMDEwXzAwMDBcbi8vIHNldCBpZiBhbiBlbnRyeSAob3Igb25lIG9mIGl0cyBwYXJlbnRzKSBpcyBkZWZpbml0ZWx5IG5vdCBhIGRpclxuY29uc3QgRU5PVERJUiA9IDBiMDAwMF8wMTAwXzAwMDBcbi8vIHNldCBpZiBhbiBlbnRyeSAob3Igb25lIG9mIGl0cyBwYXJlbnRzKSBkb2VzIG5vdCBleGlzdFxuLy8gKGNhbiBhbHNvIGJlIHNldCBvbiBsc3RhdCBlcnJvcnMgbGlrZSBFQUNDRVMgb3IgRU5BTUVUT09MT05HKVxuY29uc3QgRU5PRU5UID0gMGIwMDAwXzEwMDBfMDAwMFxuLy8gY2Fubm90IGhhdmUgY2hpbGQgZW50cmllcyAtLSBhbHNvIHZlcmlmeSAmSUZNVCBpcyBlaXRoZXIgSUZESVIgb3IgSUZMTktcbi8vIHNldCBpZiB3ZSBmYWlsIHRvIHJlYWRsaW5rXG5jb25zdCBFTk9SRUFETElOSyA9IDBiMDAwMV8wMDAwXzAwMDBcbi8vIHNldCBpZiB3ZSBrbm93IHJlYWxwYXRoKCkgd2lsbCBmYWlsXG5jb25zdCBFTk9SRUFMUEFUSCA9IDBiMDAxMF8wMDAwXzAwMDBcblxuY29uc3QgRU5PQ0hJTEQgPSBFTk9URElSIHwgRU5PRU5UIHwgRU5PUkVBTFBBVEhcbmNvbnN0IFRZUEVNQVNLID0gMGIwMDExXzExMTFfMTExMVxuXG5jb25zdCBlbnRUb1R5cGUgPSAoczogRGlyZW50IHwgU3RhdHMpID0+XG4gIHMuaXNGaWxlKCkgPyBJRlJFR1xuICA6IHMuaXNEaXJlY3RvcnkoKSA/IElGRElSXG4gIDogcy5pc1N5bWJvbGljTGluaygpID8gSUZMTktcbiAgOiBzLmlzQ2hhcmFjdGVyRGV2aWNlKCkgPyBJRkNIUlxuICA6IHMuaXNCbG9ja0RldmljZSgpID8gSUZCTEtcbiAgOiBzLmlzU29ja2V0KCkgPyBJRlNPQ0tcbiAgOiBzLmlzRklGTygpID8gSUZJRk9cbiAgOiBVTktOT1dOXG5cbi8vIG5vcm1hbGl6ZSB1bmljb2RlIHBhdGggbmFtZXNcbmNvbnN0IG5vcm1hbGl6ZUNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKVxuY29uc3Qgbm9ybWFsaXplID0gKHM6IHN0cmluZykgPT4ge1xuICBjb25zdCBjID0gbm9ybWFsaXplQ2FjaGUuZ2V0KHMpXG4gIGlmIChjKSByZXR1cm4gY1xuICBjb25zdCBuID0gcy5ub3JtYWxpemUoJ05GS0QnKVxuICBub3JtYWxpemVDYWNoZS5zZXQocywgbilcbiAgcmV0dXJuIG5cbn1cblxuY29uc3Qgbm9ybWFsaXplTm9jYXNlQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpXG5jb25zdCBub3JtYWxpemVOb2Nhc2UgPSAoczogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IGMgPSBub3JtYWxpemVOb2Nhc2VDYWNoZS5nZXQocylcbiAgaWYgKGMpIHJldHVybiBjXG4gIGNvbnN0IG4gPSBub3JtYWxpemUocy50b0xvd2VyQ2FzZSgpKVxuICBub3JtYWxpemVOb2Nhc2VDYWNoZS5zZXQocywgbilcbiAgcmV0dXJuIG5cbn1cblxuLyoqXG4gKiBPcHRpb25zIHRoYXQgbWF5IGJlIHByb3ZpZGVkIHRvIHRoZSBQYXRoIGNvbnN0cnVjdG9yXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGF0aE9wdHMge1xuICBmdWxscGF0aD86IHN0cmluZ1xuICByZWxhdGl2ZT86IHN0cmluZ1xuICByZWxhdGl2ZVBvc2l4Pzogc3RyaW5nXG4gIHBhcmVudD86IFBhdGhCYXNlXG4gIC8qKlxuICAgKiBTZWUge0BsaW5rIEZTT3B0aW9ufVxuICAgKi9cbiAgZnM/OiBGU09wdGlvblxufVxuXG4vKipcbiAqIEFuIExSVUNhY2hlIGZvciBzdG9yaW5nIHJlc29sdmVkIHBhdGggc3RyaW5ncyBvciBQYXRoIG9iamVjdHMuXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNsYXNzIFJlc29sdmVDYWNoZSBleHRlbmRzIExSVUNhY2hlPHN0cmluZywgc3RyaW5nPiB7XG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHsgbWF4OiAyNTYgfSlcbiAgfVxufVxuXG4vLyBJbiBvcmRlciB0byBwcmV2ZW50IGJsb3dpbmcgb3V0IHRoZSBqcyBoZWFwIGJ5IGFsbG9jYXRpbmcgaHVuZHJlZHMgb2Zcbi8vIHRob3VzYW5kcyBvZiBQYXRoIGVudHJpZXMgd2hlbiB3YWxraW5nIGV4dHJlbWVseSBsYXJnZSB0cmVlcywgdGhlIFwiY2hpbGRyZW5cIlxuLy8gaW4gdGhpcyB0cmVlIGFyZSByZXByZXNlbnRlZCBieSBzdG9yaW5nIGFuIGFycmF5IG9mIFBhdGggZW50cmllcyBpbiBhblxuLy8gTFJVQ2FjaGUsIGluZGV4ZWQgYnkgdGhlIHBhcmVudC4gIEF0IGFueSB0aW1lLCBQYXRoLmNoaWxkcmVuKCkgbWF5IHJldHVybiBhblxuLy8gZW1wdHkgYXJyYXksIGluZGljYXRpbmcgdGhhdCBpdCBkb2Vzbid0IGtub3cgYWJvdXQgYW55IG9mIGl0cyBjaGlsZHJlbiwgYW5kXG4vLyB0aHVzIGhhcyB0byByZWJ1aWxkIHRoYXQgY2FjaGUuICBUaGlzIGlzIGZpbmUsIGl0IGp1c3QgbWVhbnMgdGhhdCB3ZSBkb24ndFxuLy8gYmVuZWZpdCBhcyBtdWNoIGZyb20gaGF2aW5nIHRoZSBjYWNoZWQgZW50cmllcywgYnV0IGh1Z2UgZGlyZWN0b3J5IHdhbGtzXG4vLyBkb24ndCBibG93IG91dCB0aGUgc3RhY2ssIGFuZCBzbWFsbGVyIG9uZXMgYXJlIHN0aWxsIGFzIGZhc3QgYXMgcG9zc2libGUuXG4vL1xuLy9JdCBkb2VzIGltcG9zZSBzb21lIGNvbXBsZXhpdHkgd2hlbiBidWlsZGluZyB1cCB0aGUgcmVhZGRpciBkYXRhLCBiZWNhdXNlIHdlXG4vL25lZWQgdG8gcGFzcyBhIHJlZmVyZW5jZSB0byB0aGUgY2hpbGRyZW4gYXJyYXkgdGhhdCB3ZSBzdGFydGVkIHdpdGguXG5cbi8qKlxuICogYW4gTFJVQ2FjaGUgZm9yIHN0b3JpbmcgY2hpbGQgZW50cmllcy5cbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgQ2hpbGRyZW5DYWNoZSBleHRlbmRzIExSVUNhY2hlPFBhdGhCYXNlLCBDaGlsZHJlbj4ge1xuICBjb25zdHJ1Y3RvcihtYXhTaXplOiBudW1iZXIgPSAxNiAqIDEwMjQpIHtcbiAgICBzdXBlcih7XG4gICAgICBtYXhTaXplLFxuICAgICAgLy8gcGFyZW50ICsgY2hpbGRyZW5cbiAgICAgIHNpemVDYWxjdWxhdGlvbjogYSA9PiBhLmxlbmd0aCArIDEsXG4gICAgfSlcbiAgfVxufVxuXG4vKipcbiAqIEFycmF5IG9mIFBhdGggb2JqZWN0cywgcGx1cyBhIG1hcmtlciBpbmRpY2F0aW5nIHRoZSBmaXJzdCBwcm92aXNpb25hbCBlbnRyeVxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgdHlwZSBDaGlsZHJlbiA9IFBhdGhCYXNlW10gJiB7IHByb3Zpc2lvbmFsOiBudW1iZXIgfVxuXG5jb25zdCBzZXRBc0N3ZCA9IFN5bWJvbCgnUGF0aFNjdXJyeSBzZXRBc0N3ZCcpXG5cbi8qKlxuICogUGF0aCBvYmplY3RzIGFyZSBzb3J0IG9mIGxpa2UgYSBzdXBlci1wb3dlcmVkXG4gKiB7QGxpbmsgaHR0cHM6Ly9ub2RlanMub3JnL2RvY3MvbGF0ZXN0L2FwaS9mcy5odG1sI2NsYXNzLWZzZGlyZW50IGZzLkRpcmVudH1cbiAqXG4gKiBFYWNoIG9uZSByZXByZXNlbnRzIGEgc2luZ2xlIGZpbGVzeXN0ZW0gZW50cnkgb24gZGlzaywgd2hpY2ggbWF5IG9yIG1heSBub3RcbiAqIGV4aXN0LiBJdCBpbmNsdWRlcyBtZXRob2RzIGZvciByZWFkaW5nIHZhcmlvdXMgdHlwZXMgb2YgaW5mb3JtYXRpb24gdmlhXG4gKiBsc3RhdCwgcmVhZGxpbmssIGFuZCByZWFkZGlyLCBhbmQgY2FjaGVzIGFsbCBpbmZvcm1hdGlvbiB0byB0aGUgZ3JlYXRlc3RcbiAqIGRlZ3JlZSBwb3NzaWJsZS5cbiAqXG4gKiBOb3RlIHRoYXQgZnMgb3BlcmF0aW9ucyB0aGF0IHdvdWxkIG5vcm1hbGx5IHRocm93IHdpbGwgaW5zdGVhZCByZXR1cm4gYW5cbiAqIFwiZW1wdHlcIiB2YWx1ZS4gVGhpcyBpcyBpbiBvcmRlciB0byBwcmV2ZW50IGV4Y2Vzc2l2ZSBvdmVyaGVhZCBmcm9tIGVycm9yXG4gKiBzdGFjayB0cmFjZXMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQYXRoQmFzZSBpbXBsZW1lbnRzIERpcmVudCB7XG4gIC8qKlxuICAgKiB0aGUgYmFzZW5hbWUgb2YgdGhpcyBwYXRoXG4gICAqXG4gICAqICoqSW1wb3J0YW50Kio6ICphbHdheXMqIHRlc3QgdGhlIHBhdGggbmFtZSBhZ2FpbnN0IGFueSB0ZXN0IHN0cmluZ1xuICAgKiB1c2luZ3RoZSB7QGxpbmsgaXNOYW1lZH0gbWV0aG9kLCBhbmQgbm90IGJ5IGRpcmVjdGx5IGNvbXBhcmluZyB0aGlzXG4gICAqIHN0cmluZy4gT3RoZXJ3aXNlLCB1bmljb2RlIHBhdGggc3RyaW5ncyB0aGF0IHRoZSBzeXN0ZW0gc2VlcyBhcyBpZGVudGljYWxcbiAgICogd2lsbCBub3QgYmUgcHJvcGVybHkgdHJlYXRlZCBhcyB0aGUgc2FtZSBwYXRoLCBsZWFkaW5nIHRvIGluY29ycmVjdFxuICAgKiBiZWhhdmlvciBhbmQgcG9zc2libGUgc2VjdXJpdHkgaXNzdWVzLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nXG4gIC8qKlxuICAgKiB0aGUgUGF0aCBlbnRyeSBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXRoIHJvb3QuXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcm9vdDogUGF0aEJhc2VcbiAgLyoqXG4gICAqIEFsbCByb290cyBmb3VuZCB3aXRoaW4gdGhlIGN1cnJlbnQgUGF0aFNjdXJyeSBmYW1pbHlcbiAgICpcbiAgICogQGludGVybmFsXG4gICAqL1xuICByb290czogeyBbazogc3RyaW5nXTogUGF0aEJhc2UgfVxuICAvKipcbiAgICogYSByZWZlcmVuY2UgdG8gdGhlIHBhcmVudCBwYXRoLCBvciB1bmRlZmluZWQgaW4gdGhlIGNhc2Ugb2Ygcm9vdCBlbnRyaWVzXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcGFyZW50PzogUGF0aEJhc2VcbiAgLyoqXG4gICAqIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHBhdGhzIGFyZSBjb21wYXJlZCBjYXNlLWluc2Vuc2l0aXZlbHlcbiAgICogQGludGVybmFsXG4gICAqL1xuICBub2Nhc2U6IGJvb2xlYW5cblxuICAvKipcbiAgICogYm9vbGVhbiBpbmRpY2F0aW5nIHRoYXQgdGhpcyBwYXRoIGlzIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5XG4gICAqIG9mIHRoZSBQYXRoU2N1cnJ5IGNvbGxlY3Rpb24gdGhhdCBjb250YWlucyBpdC5cbiAgICovXG4gIGlzQ1dEOiBib29sZWFuID0gZmFsc2VcblxuICAvKipcbiAgICogdGhlIHN0cmluZyBvciByZWdleHAgdXNlZCB0byBzcGxpdCBwYXRocy4gT24gcG9zaXgsIGl0IGlzIGAnLydgLCBhbmQgb25cbiAgICogd2luZG93cyBpdCBpcyBhIFJlZ0V4cCBtYXRjaGluZyBlaXRoZXIgYCcvJ2Agb3IgYCdcXFxcJ2BcbiAgICovXG4gIGFic3RyYWN0IHNwbGl0U2VwOiBzdHJpbmcgfCBSZWdFeHBcbiAgLyoqXG4gICAqIFRoZSBwYXRoIHNlcGFyYXRvciBzdHJpbmcgdG8gdXNlIHdoZW4gam9pbmluZyBwYXRoc1xuICAgKi9cbiAgYWJzdHJhY3Qgc2VwOiBzdHJpbmdcblxuICAvLyBwb3RlbnRpYWwgZGVmYXVsdCBmcyBvdmVycmlkZVxuICAjZnM6IEZTVmFsdWVcblxuICAvLyBTdGF0cyBmaWVsZHNcbiAgI2Rldj86IG51bWJlclxuICBnZXQgZGV2KCkge1xuICAgIHJldHVybiB0aGlzLiNkZXZcbiAgfVxuICAjbW9kZT86IG51bWJlclxuICBnZXQgbW9kZSgpIHtcbiAgICByZXR1cm4gdGhpcy4jbW9kZVxuICB9XG4gICNubGluaz86IG51bWJlclxuICBnZXQgbmxpbmsoKSB7XG4gICAgcmV0dXJuIHRoaXMuI25saW5rXG4gIH1cbiAgI3VpZD86IG51bWJlclxuICBnZXQgdWlkKCkge1xuICAgIHJldHVybiB0aGlzLiN1aWRcbiAgfVxuICAjZ2lkPzogbnVtYmVyXG4gIGdldCBnaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2dpZFxuICB9XG4gICNyZGV2PzogbnVtYmVyXG4gIGdldCByZGV2KCkge1xuICAgIHJldHVybiB0aGlzLiNyZGV2XG4gIH1cbiAgI2Jsa3NpemU/OiBudW1iZXJcbiAgZ2V0IGJsa3NpemUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2Jsa3NpemVcbiAgfVxuICAjaW5vPzogbnVtYmVyXG4gIGdldCBpbm8oKSB7XG4gICAgcmV0dXJuIHRoaXMuI2lub1xuICB9XG4gICNzaXplPzogbnVtYmVyXG4gIGdldCBzaXplKCkge1xuICAgIHJldHVybiB0aGlzLiNzaXplXG4gIH1cbiAgI2Jsb2Nrcz86IG51bWJlclxuICBnZXQgYmxvY2tzKCkge1xuICAgIHJldHVybiB0aGlzLiNibG9ja3NcbiAgfVxuICAjYXRpbWVNcz86IG51bWJlclxuICBnZXQgYXRpbWVNcygpIHtcbiAgICByZXR1cm4gdGhpcy4jYXRpbWVNc1xuICB9XG4gICNtdGltZU1zPzogbnVtYmVyXG4gIGdldCBtdGltZU1zKCkge1xuICAgIHJldHVybiB0aGlzLiNtdGltZU1zXG4gIH1cbiAgI2N0aW1lTXM/OiBudW1iZXJcbiAgZ2V0IGN0aW1lTXMoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2N0aW1lTXNcbiAgfVxuICAjYmlydGh0aW1lTXM/OiBudW1iZXJcbiAgZ2V0IGJpcnRodGltZU1zKCkge1xuICAgIHJldHVybiB0aGlzLiNiaXJ0aHRpbWVNc1xuICB9XG4gICNhdGltZT86IERhdGVcbiAgZ2V0IGF0aW1lKCkge1xuICAgIHJldHVybiB0aGlzLiNhdGltZVxuICB9XG4gICNtdGltZT86IERhdGVcbiAgZ2V0IG10aW1lKCkge1xuICAgIHJldHVybiB0aGlzLiNtdGltZVxuICB9XG4gICNjdGltZT86IERhdGVcbiAgZ2V0IGN0aW1lKCkge1xuICAgIHJldHVybiB0aGlzLiNjdGltZVxuICB9XG4gICNiaXJ0aHRpbWU/OiBEYXRlXG4gIGdldCBiaXJ0aHRpbWUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2JpcnRodGltZVxuICB9XG5cbiAgI21hdGNoTmFtZTogc3RyaW5nXG4gICNkZXB0aD86IG51bWJlclxuICAjZnVsbHBhdGg/OiBzdHJpbmdcbiAgI2Z1bGxwYXRoUG9zaXg/OiBzdHJpbmdcbiAgI3JlbGF0aXZlPzogc3RyaW5nXG4gICNyZWxhdGl2ZVBvc2l4Pzogc3RyaW5nXG4gICN0eXBlOiBudW1iZXJcbiAgI2NoaWxkcmVuOiBDaGlsZHJlbkNhY2hlXG4gICNsaW5rVGFyZ2V0PzogUGF0aEJhc2VcbiAgI3JlYWxwYXRoPzogUGF0aEJhc2VcblxuICAvKipcbiAgICogVGhpcyBwcm9wZXJ0eSBpcyBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBEaXJlbnQgY2xhc3MgYXMgb2ZcbiAgICogTm9kZSB2MjAsIHdoZXJlIERpcmVudFsncGFyZW50UGF0aCddIHJlZmVycyB0byB0aGUgcGF0aCBvZiB0aGVcbiAgICogZGlyZWN0b3J5IHRoYXQgd2FzIHBhc3NlZCB0byByZWFkZGlyLiBGb3Igcm9vdCBlbnRyaWVzLCBpdCdzIHRoZSBwYXRoXG4gICAqIHRvIHRoZSBlbnRyeSBpdHNlbGYuXG4gICAqL1xuICBnZXQgcGFyZW50UGF0aCgpOiBzdHJpbmcge1xuICAgIHJldHVybiAodGhpcy5wYXJlbnQgfHwgdGhpcykuZnVsbHBhdGgoKVxuICB9XG5cbiAgLyoqXG4gICAqIERlcHJlY2F0ZWQgYWxpYXMgZm9yIERpcmVudFsncGFyZW50UGF0aCddIFNvbWV3aGF0IGNvdW50ZXJpbnR1aXRpdmVseSxcbiAgICogdGhpcyBwcm9wZXJ0eSByZWZlcnMgdG8gdGhlICpwYXJlbnQqIHBhdGgsIG5vdCB0aGUgcGF0aCBvYmplY3QgaXRzZWxmLlxuICAgKi9cbiAgZ2V0IHBhdGgoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5wYXJlbnRQYXRoXG4gIH1cblxuICAvKipcbiAgICogRG8gbm90IGNyZWF0ZSBuZXcgUGF0aCBvYmplY3RzIGRpcmVjdGx5LiAgVGhleSBzaG91bGQgYWx3YXlzIGJlIGFjY2Vzc2VkXG4gICAqIHZpYSB0aGUgUGF0aFNjdXJyeSBjbGFzcyBvciBvdGhlciBtZXRob2RzIG9uIHRoZSBQYXRoIGNsYXNzLlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB0eXBlOiBudW1iZXIgPSBVTktOT1dOLFxuICAgIHJvb3Q6IFBhdGhCYXNlIHwgdW5kZWZpbmVkLFxuICAgIHJvb3RzOiB7IFtrOiBzdHJpbmddOiBQYXRoQmFzZSB9LFxuICAgIG5vY2FzZTogYm9vbGVhbixcbiAgICBjaGlsZHJlbjogQ2hpbGRyZW5DYWNoZSxcbiAgICBvcHRzOiBQYXRoT3B0cyxcbiAgKSB7XG4gICAgdGhpcy5uYW1lID0gbmFtZVxuICAgIHRoaXMuI21hdGNoTmFtZSA9IG5vY2FzZSA/IG5vcm1hbGl6ZU5vY2FzZShuYW1lKSA6IG5vcm1hbGl6ZShuYW1lKVxuICAgIHRoaXMuI3R5cGUgPSB0eXBlICYgVFlQRU1BU0tcbiAgICB0aGlzLm5vY2FzZSA9IG5vY2FzZVxuICAgIHRoaXMucm9vdHMgPSByb290c1xuICAgIHRoaXMucm9vdCA9IHJvb3QgfHwgdGhpc1xuICAgIHRoaXMuI2NoaWxkcmVuID0gY2hpbGRyZW5cbiAgICB0aGlzLiNmdWxscGF0aCA9IG9wdHMuZnVsbHBhdGhcbiAgICB0aGlzLiNyZWxhdGl2ZSA9IG9wdHMucmVsYXRpdmVcbiAgICB0aGlzLiNyZWxhdGl2ZVBvc2l4ID0gb3B0cy5yZWxhdGl2ZVBvc2l4XG4gICAgdGhpcy5wYXJlbnQgPSBvcHRzLnBhcmVudFxuICAgIGlmICh0aGlzLnBhcmVudCkge1xuICAgICAgdGhpcy4jZnMgPSB0aGlzLnBhcmVudC4jZnNcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy4jZnMgPSBmc0Zyb21PcHRpb24ob3B0cy5mcylcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZGVwdGggb2YgdGhlIFBhdGggb2JqZWN0IGZyb20gaXRzIHJvb3QuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBhIHBhdGggYXQgYC9mb28vYmFyYCB3b3VsZCBoYXZlIGEgZGVwdGggb2YgMi5cbiAgICovXG4gIGRlcHRoKCk6IG51bWJlciB7XG4gICAgaWYgKHRoaXMuI2RlcHRoICE9PSB1bmRlZmluZWQpIHJldHVybiB0aGlzLiNkZXB0aFxuICAgIGlmICghdGhpcy5wYXJlbnQpIHJldHVybiAodGhpcy4jZGVwdGggPSAwKVxuICAgIHJldHVybiAodGhpcy4jZGVwdGggPSB0aGlzLnBhcmVudC5kZXB0aCgpICsgMSlcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGFic3RyYWN0IGdldFJvb3RTdHJpbmcocGF0aDogc3RyaW5nKTogc3RyaW5nXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGFic3RyYWN0IGdldFJvb3Qocm9vdFBhdGg6IHN0cmluZyk6IFBhdGhCYXNlXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGFic3RyYWN0IG5ld0NoaWxkKG5hbWU6IHN0cmluZywgdHlwZT86IG51bWJlciwgb3B0cz86IFBhdGhPcHRzKTogUGF0aEJhc2VcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBjaGlsZHJlbkNhY2hlKCkge1xuICAgIHJldHVybiB0aGlzLiNjaGlsZHJlblxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgUGF0aCBvYmplY3QgcmVmZXJlbmNlZCBieSB0aGUgc3RyaW5nIHBhdGgsIHJlc29sdmVkIGZyb20gdGhpcyBQYXRoXG4gICAqL1xuICByZXNvbHZlKHBhdGg/OiBzdHJpbmcpOiBQYXRoQmFzZSB7XG4gICAgaWYgKCFwYXRoKSB7XG4gICAgICByZXR1cm4gdGhpc1xuICAgIH1cbiAgICBjb25zdCByb290UGF0aCA9IHRoaXMuZ2V0Um9vdFN0cmluZyhwYXRoKVxuICAgIGNvbnN0IGRpciA9IHBhdGguc3Vic3RyaW5nKHJvb3RQYXRoLmxlbmd0aClcbiAgICBjb25zdCBkaXJQYXJ0cyA9IGRpci5zcGxpdCh0aGlzLnNwbGl0U2VwKVxuICAgIGNvbnN0IHJlc3VsdDogUGF0aEJhc2UgPVxuICAgICAgcm9vdFBhdGggP1xuICAgICAgICB0aGlzLmdldFJvb3Qocm9vdFBhdGgpLiNyZXNvbHZlUGFydHMoZGlyUGFydHMpXG4gICAgICA6IHRoaXMuI3Jlc29sdmVQYXJ0cyhkaXJQYXJ0cylcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICAjcmVzb2x2ZVBhcnRzKGRpclBhcnRzOiBzdHJpbmdbXSkge1xuICAgIGxldCBwOiBQYXRoQmFzZSA9IHRoaXNcbiAgICBmb3IgKGNvbnN0IHBhcnQgb2YgZGlyUGFydHMpIHtcbiAgICAgIHAgPSBwLmNoaWxkKHBhcnQpXG4gICAgfVxuICAgIHJldHVybiBwXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY2FjaGVkIGNoaWxkcmVuIFBhdGggb2JqZWN0cywgaWYgc3RpbGwgYXZhaWxhYmxlLiAgSWYgdGhleVxuICAgKiBoYXZlIGZhbGxlbiBvdXQgb2YgdGhlIGNhY2hlLCB0aGVuIHJldHVybnMgYW4gZW1wdHkgYXJyYXksIGFuZCByZXNldHMgdGhlXG4gICAqIFJFQURESVJfQ0FMTEVEIGJpdCwgc28gdGhhdCBmdXR1cmUgY2FsbHMgdG8gcmVhZGRpcigpIHdpbGwgcmVxdWlyZSBhbiBmc1xuICAgKiBsb29rdXAuXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY2hpbGRyZW4oKTogQ2hpbGRyZW4ge1xuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMuI2NoaWxkcmVuLmdldCh0aGlzKVxuICAgIGlmIChjYWNoZWQpIHtcbiAgICAgIHJldHVybiBjYWNoZWRcbiAgICB9XG4gICAgY29uc3QgY2hpbGRyZW46IENoaWxkcmVuID0gT2JqZWN0LmFzc2lnbihbXSwgeyBwcm92aXNpb25hbDogMCB9KVxuICAgIHRoaXMuI2NoaWxkcmVuLnNldCh0aGlzLCBjaGlsZHJlbilcbiAgICB0aGlzLiN0eXBlICY9IH5SRUFERElSX0NBTExFRFxuICAgIHJldHVybiBjaGlsZHJlblxuICB9XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIGEgcGF0aCBwb3J0aW9uIGFuZCByZXR1cm5zIG9yIGNyZWF0ZXMgdGhlIGNoaWxkIFBhdGguXG4gICAqXG4gICAqIFJldHVybnMgYHRoaXNgIGlmIHBhdGhQYXJ0IGlzIGAnJ2Agb3IgYCcuJ2AsIG9yIGBwYXJlbnRgIGlmIHBhdGhQYXJ0IGlzXG4gICAqIGAnLi4nYC5cbiAgICpcbiAgICogVGhpcyBzaG91bGQgbm90IGJlIGNhbGxlZCBkaXJlY3RseS4gIElmIGBwYXRoUGFydGAgY29udGFpbnMgYW55IHBhdGhcbiAgICogc2VwYXJhdG9ycywgaXQgd2lsbCBsZWFkIHRvIHVuc2FmZSB1bmRlZmluZWQgYmVoYXZpb3IuXG4gICAqXG4gICAqIFVzZSBgUGF0aC5yZXNvbHZlKClgIGluc3RlYWQuXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY2hpbGQocGF0aFBhcnQ6IHN0cmluZywgb3B0cz86IFBhdGhPcHRzKTogUGF0aEJhc2Uge1xuICAgIGlmIChwYXRoUGFydCA9PT0gJycgfHwgcGF0aFBhcnQgPT09ICcuJykge1xuICAgICAgcmV0dXJuIHRoaXNcbiAgICB9XG4gICAgaWYgKHBhdGhQYXJ0ID09PSAnLi4nKSB7XG4gICAgICByZXR1cm4gdGhpcy5wYXJlbnQgfHwgdGhpc1xuICAgIH1cblxuICAgIC8vIGZpbmQgdGhlIGNoaWxkXG4gICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLmNoaWxkcmVuKClcbiAgICBjb25zdCBuYW1lID1cbiAgICAgIHRoaXMubm9jYXNlID8gbm9ybWFsaXplTm9jYXNlKHBhdGhQYXJ0KSA6IG5vcm1hbGl6ZShwYXRoUGFydClcbiAgICBmb3IgKGNvbnN0IHAgb2YgY2hpbGRyZW4pIHtcbiAgICAgIGlmIChwLiNtYXRjaE5hbWUgPT09IG5hbWUpIHtcbiAgICAgICAgcmV0dXJuIHBcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBkaWRuJ3QgZmluZCBpdCwgY3JlYXRlIHByb3Zpc2lvbmFsIGNoaWxkLCBzaW5jZSBpdCBtaWdodCBub3RcbiAgICAvLyBhY3R1YWxseSBleGlzdC4gIElmIHdlIGtub3cgdGhlIHBhcmVudCBpc24ndCBhIGRpciwgdGhlblxuICAgIC8vIGluIGZhY3QgaXQgQ0FOJ1QgZXhpc3QuXG4gICAgY29uc3QgcyA9IHRoaXMucGFyZW50ID8gdGhpcy5zZXAgOiAnJ1xuICAgIGNvbnN0IGZ1bGxwYXRoID1cbiAgICAgIHRoaXMuI2Z1bGxwYXRoID8gdGhpcy4jZnVsbHBhdGggKyBzICsgcGF0aFBhcnQgOiB1bmRlZmluZWRcbiAgICBjb25zdCBwY2hpbGQgPSB0aGlzLm5ld0NoaWxkKHBhdGhQYXJ0LCBVTktOT1dOLCB7XG4gICAgICAuLi5vcHRzLFxuICAgICAgcGFyZW50OiB0aGlzLFxuICAgICAgZnVsbHBhdGgsXG4gICAgfSlcblxuICAgIGlmICghdGhpcy5jYW5SZWFkZGlyKCkpIHtcbiAgICAgIHBjaGlsZC4jdHlwZSB8PSBFTk9FTlRcbiAgICB9XG5cbiAgICAvLyBkb24ndCBoYXZlIHRvIHVwZGF0ZSBwcm92aXNpb25hbCwgYmVjYXVzZSBpZiB3ZSBoYXZlIHJlYWwgY2hpbGRyZW4sXG4gICAgLy8gdGhlbiBwcm92aXNpb25hbCBpcyBzZXQgdG8gY2hpbGRyZW4ubGVuZ3RoLCBvdGhlcndpc2UgYSBsb3dlciBudW1iZXJcbiAgICBjaGlsZHJlbi5wdXNoKHBjaGlsZClcbiAgICByZXR1cm4gcGNoaWxkXG4gIH1cblxuICAvKipcbiAgICogVGhlIHJlbGF0aXZlIHBhdGggZnJvbSB0aGUgY3dkLiBJZiBpdCBkb2VzIG5vdCBzaGFyZSBhbiBhbmNlc3RvciB3aXRoXG4gICAqIHRoZSBjd2QsIHRoZW4gdGhpcyBlbmRzIHVwIGJlaW5nIGVxdWl2YWxlbnQgdG8gdGhlIGZ1bGxwYXRoKClcbiAgICovXG4gIHJlbGF0aXZlKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuaXNDV0QpIHJldHVybiAnJ1xuICAgIGlmICh0aGlzLiNyZWxhdGl2ZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdGhpcy4jcmVsYXRpdmVcbiAgICB9XG4gICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZVxuICAgIGNvbnN0IHAgPSB0aGlzLnBhcmVudFxuICAgIGlmICghcCkge1xuICAgICAgcmV0dXJuICh0aGlzLiNyZWxhdGl2ZSA9IHRoaXMubmFtZSlcbiAgICB9XG4gICAgY29uc3QgcHYgPSBwLnJlbGF0aXZlKClcbiAgICByZXR1cm4gcHYgKyAoIXB2IHx8ICFwLnBhcmVudCA/ICcnIDogdGhpcy5zZXApICsgbmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSByZWxhdGl2ZSBwYXRoIGZyb20gdGhlIGN3ZCwgdXNpbmcgLyBhcyB0aGUgcGF0aCBzZXBhcmF0b3IuXG4gICAqIElmIGl0IGRvZXMgbm90IHNoYXJlIGFuIGFuY2VzdG9yIHdpdGhcbiAgICogdGhlIGN3ZCwgdGhlbiB0aGlzIGVuZHMgdXAgYmVpbmcgZXF1aXZhbGVudCB0byB0aGUgZnVsbHBhdGhQb3NpeCgpXG4gICAqIE9uIHBvc2l4IHN5c3RlbXMsIHRoaXMgaXMgaWRlbnRpY2FsIHRvIHJlbGF0aXZlKCkuXG4gICAqL1xuICByZWxhdGl2ZVBvc2l4KCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuc2VwID09PSAnLycpIHJldHVybiB0aGlzLnJlbGF0aXZlKClcbiAgICBpZiAodGhpcy5pc0NXRCkgcmV0dXJuICcnXG4gICAgaWYgKHRoaXMuI3JlbGF0aXZlUG9zaXggIT09IHVuZGVmaW5lZCkgcmV0dXJuIHRoaXMuI3JlbGF0aXZlUG9zaXhcbiAgICBjb25zdCBuYW1lID0gdGhpcy5uYW1lXG4gICAgY29uc3QgcCA9IHRoaXMucGFyZW50XG4gICAgaWYgKCFwKSB7XG4gICAgICByZXR1cm4gKHRoaXMuI3JlbGF0aXZlUG9zaXggPSB0aGlzLmZ1bGxwYXRoUG9zaXgoKSlcbiAgICB9XG4gICAgY29uc3QgcHYgPSBwLnJlbGF0aXZlUG9zaXgoKVxuICAgIHJldHVybiBwdiArICghcHYgfHwgIXAucGFyZW50ID8gJycgOiAnLycpICsgbmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBmdWxseSByZXNvbHZlZCBwYXRoIHN0cmluZyBmb3IgdGhpcyBQYXRoIGVudHJ5XG4gICAqL1xuICBmdWxscGF0aCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLiNmdWxscGF0aCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gdGhpcy4jZnVsbHBhdGhcbiAgICB9XG4gICAgY29uc3QgbmFtZSA9IHRoaXMubmFtZVxuICAgIGNvbnN0IHAgPSB0aGlzLnBhcmVudFxuICAgIGlmICghcCkge1xuICAgICAgcmV0dXJuICh0aGlzLiNmdWxscGF0aCA9IHRoaXMubmFtZSlcbiAgICB9XG4gICAgY29uc3QgcHYgPSBwLmZ1bGxwYXRoKClcbiAgICBjb25zdCBmcCA9IHB2ICsgKCFwLnBhcmVudCA/ICcnIDogdGhpcy5zZXApICsgbmFtZVxuICAgIHJldHVybiAodGhpcy4jZnVsbHBhdGggPSBmcClcbiAgfVxuXG4gIC8qKlxuICAgKiBPbiBwbGF0Zm9ybXMgb3RoZXIgdGhhbiB3aW5kb3dzLCB0aGlzIGlzIGlkZW50aWNhbCB0byBmdWxscGF0aC5cbiAgICpcbiAgICogT24gd2luZG93cywgdGhpcyBpcyBvdmVycmlkZGVuIHRvIHJldHVybiB0aGUgZm9yd2FyZC1zbGFzaCBmb3JtIG9mIHRoZVxuICAgKiBmdWxsIFVOQyBwYXRoLlxuICAgKi9cbiAgZnVsbHBhdGhQb3NpeCgpOiBzdHJpbmcge1xuICAgIGlmICh0aGlzLiNmdWxscGF0aFBvc2l4ICE9PSB1bmRlZmluZWQpIHJldHVybiB0aGlzLiNmdWxscGF0aFBvc2l4XG4gICAgaWYgKHRoaXMuc2VwID09PSAnLycpIHJldHVybiAodGhpcy4jZnVsbHBhdGhQb3NpeCA9IHRoaXMuZnVsbHBhdGgoKSlcbiAgICBpZiAoIXRoaXMucGFyZW50KSB7XG4gICAgICBjb25zdCBwID0gdGhpcy5mdWxscGF0aCgpLnJlcGxhY2UoL1xcXFwvZywgJy8nKVxuICAgICAgaWYgKC9eW2Etel06XFwvL2kudGVzdChwKSkge1xuICAgICAgICByZXR1cm4gKHRoaXMuI2Z1bGxwYXRoUG9zaXggPSBgLy8/LyR7cH1gKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLiNmdWxscGF0aFBvc2l4ID0gcClcbiAgICAgIH1cbiAgICB9XG4gICAgY29uc3QgcCA9IHRoaXMucGFyZW50XG4gICAgY29uc3QgcGZwcCA9IHAuZnVsbHBhdGhQb3NpeCgpXG4gICAgY29uc3QgZnBwID0gcGZwcCArICghcGZwcCB8fCAhcC5wYXJlbnQgPyAnJyA6ICcvJykgKyB0aGlzLm5hbWVcbiAgICByZXR1cm4gKHRoaXMuI2Z1bGxwYXRoUG9zaXggPSBmcHApXG4gIH1cblxuICAvKipcbiAgICogSXMgdGhlIFBhdGggb2YgYW4gdW5rbm93biB0eXBlP1xuICAgKlxuICAgKiBOb3RlIHRoYXQgd2UgbWlnaHQga25vdyAqc29tZXRoaW5nKiBhYm91dCBpdCBpZiB0aGVyZSBoYXMgYmVlbiBhIHByZXZpb3VzXG4gICAqIGZpbGVzeXN0ZW0gb3BlcmF0aW9uLCBmb3IgZXhhbXBsZSB0aGF0IGl0IGRvZXMgbm90IGV4aXN0LCBvciBpcyBub3QgYVxuICAgKiBsaW5rLCBvciB3aGV0aGVyIGl0IGhhcyBjaGlsZCBlbnRyaWVzLlxuICAgKi9cbiAgaXNVbmtub3duKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy4jdHlwZSAmIElGTVQpID09PSBVTktOT1dOXG4gIH1cblxuICBpc1R5cGUodHlwZTogVHlwZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzW2BpcyR7dHlwZX1gXSgpXG4gIH1cblxuICBnZXRUeXBlKCk6IFR5cGUge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmlzVW5rbm93bigpID8gJ1Vua25vd24nXG4gICAgICA6IHRoaXMuaXNEaXJlY3RvcnkoKSA/ICdEaXJlY3RvcnknXG4gICAgICA6IHRoaXMuaXNGaWxlKCkgPyAnRmlsZSdcbiAgICAgIDogdGhpcy5pc1N5bWJvbGljTGluaygpID8gJ1N5bWJvbGljTGluaydcbiAgICAgIDogdGhpcy5pc0ZJRk8oKSA/ICdGSUZPJ1xuICAgICAgOiB0aGlzLmlzQ2hhcmFjdGVyRGV2aWNlKCkgPyAnQ2hhcmFjdGVyRGV2aWNlJ1xuICAgICAgOiB0aGlzLmlzQmxvY2tEZXZpY2UoKSA/ICdCbG9ja0RldmljZSdcbiAgICAgIDogLyogYzggaWdub3JlIHN0YXJ0ICovIHRoaXMuaXNTb2NrZXQoKSA/ICdTb2NrZXQnXG4gICAgICA6ICdVbmtub3duJ1xuICAgIClcbiAgICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuICB9XG5cbiAgLyoqXG4gICAqIElzIHRoZSBQYXRoIGEgcmVndWxhciBmaWxlP1xuICAgKi9cbiAgaXNGaWxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy4jdHlwZSAmIElGTVQpID09PSBJRlJFR1xuICB9XG5cbiAgLyoqXG4gICAqIElzIHRoZSBQYXRoIGEgZGlyZWN0b3J5P1xuICAgKi9cbiAgaXNEaXJlY3RvcnkoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLiN0eXBlICYgSUZNVCkgPT09IElGRElSXG4gIH1cblxuICAvKipcbiAgICogSXMgdGhlIHBhdGggYSBjaGFyYWN0ZXIgZGV2aWNlP1xuICAgKi9cbiAgaXNDaGFyYWN0ZXJEZXZpY2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLiN0eXBlICYgSUZNVCkgPT09IElGQ0hSXG4gIH1cblxuICAvKipcbiAgICogSXMgdGhlIHBhdGggYSBibG9jayBkZXZpY2U/XG4gICAqL1xuICBpc0Jsb2NrRGV2aWNlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy4jdHlwZSAmIElGTVQpID09PSBJRkJMS1xuICB9XG5cbiAgLyoqXG4gICAqIElzIHRoZSBwYXRoIGEgRklGTyBwaXBlP1xuICAgKi9cbiAgaXNGSUZPKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy4jdHlwZSAmIElGTVQpID09PSBJRklGT1xuICB9XG5cbiAgLyoqXG4gICAqIElzIHRoZSBwYXRoIGEgc29ja2V0P1xuICAgKi9cbiAgaXNTb2NrZXQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICh0aGlzLiN0eXBlICYgSUZNVCkgPT09IElGU09DS1xuICB9XG5cbiAgLyoqXG4gICAqIElzIHRoZSBwYXRoIGEgc3ltYm9saWMgbGluaz9cbiAgICovXG4gIGlzU3ltYm9saWNMaW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAodGhpcy4jdHlwZSAmIElGTE5LKSA9PT0gSUZMTktcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGVudHJ5IGlmIGl0IGhhcyBiZWVuIHN1YmplY3Qgb2YgYSBzdWNjZXNzZnVsIGxzdGF0LCBvclxuICAgKiB1bmRlZmluZWQgb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBEb2VzIG5vdCByZWFkIHRoZSBmaWxlc3lzdGVtLCBzbyBhbiB1bmRlZmluZWQgcmVzdWx0ICpjb3VsZCogc2ltcGx5XG4gICAqIG1lYW4gdGhhdCB3ZSBoYXZlbid0IGNhbGxlZCBsc3RhdCBvbiBpdC5cbiAgICovXG4gIGxzdGF0Q2FjaGVkKCk6IFBhdGhCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jdHlwZSAmIExTVEFUX0NBTExFRCA/IHRoaXMgOiB1bmRlZmluZWRcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGNhY2hlZCBsaW5rIHRhcmdldCBpZiB0aGUgZW50cnkgaGFzIGJlZW4gdGhlIHN1YmplY3Qgb2YgYVxuICAgKiBzdWNjZXNzZnVsIHJlYWRsaW5rLCBvciB1bmRlZmluZWQgb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBEb2VzIG5vdCByZWFkIHRoZSBmaWxlc3lzdGVtLCBzbyBhbiB1bmRlZmluZWQgcmVzdWx0ICpjb3VsZCoganVzdCBtZWFuIHdlXG4gICAqIGRvbid0IGhhdmUgYW55IGNhY2hlZCBkYXRhLiBPbmx5IHVzZSBpdCBpZiB5b3UgYXJlIHZlcnkgc3VyZSB0aGF0IGFcbiAgICogcmVhZGxpbmsoKSBoYXMgYmVlbiBjYWxsZWQgYXQgc29tZSBwb2ludC5cbiAgICovXG4gIHJlYWRsaW5rQ2FjaGVkKCk6IFBhdGhCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jbGlua1RhcmdldFxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGNhY2hlZCByZWFscGF0aCB0YXJnZXQgaWYgdGhlIGVudHJ5IGhhcyBiZWVuIHRoZSBzdWJqZWN0XG4gICAqIG9mIGEgc3VjY2Vzc2Z1bCByZWFscGF0aCwgb3IgdW5kZWZpbmVkIG90aGVyd2lzZS5cbiAgICpcbiAgICogRG9lcyBub3QgcmVhZCB0aGUgZmlsZXN5c3RlbSwgc28gYW4gdW5kZWZpbmVkIHJlc3VsdCAqY291bGQqIGp1c3QgbWVhbiB3ZVxuICAgKiBkb24ndCBoYXZlIGFueSBjYWNoZWQgZGF0YS4gT25seSB1c2UgaXQgaWYgeW91IGFyZSB2ZXJ5IHN1cmUgdGhhdCBhXG4gICAqIHJlYWxwYXRoKCkgaGFzIGJlZW4gY2FsbGVkIGF0IHNvbWUgcG9pbnQuXG4gICAqL1xuICByZWFscGF0aENhY2hlZCgpOiBQYXRoQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuI3JlYWxwYXRoXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY2FjaGVkIGNoaWxkIFBhdGggZW50cmllcyBhcnJheSBpZiB0aGUgZW50cnkgaGFzIGJlZW4gdGhlXG4gICAqIHN1YmplY3Qgb2YgYSBzdWNjZXNzZnVsIHJlYWRkaXIoKSwgb3IgW10gb3RoZXJ3aXNlLlxuICAgKlxuICAgKiBEb2VzIG5vdCByZWFkIHRoZSBmaWxlc3lzdGVtLCBzbyBhbiBlbXB0eSBhcnJheSAqY291bGQqIGp1c3QgbWVhbiB3ZVxuICAgKiBkb24ndCBoYXZlIGFueSBjYWNoZWQgZGF0YS4gT25seSB1c2UgaXQgaWYgeW91IGFyZSB2ZXJ5IHN1cmUgdGhhdCBhXG4gICAqIHJlYWRkaXIoKSBoYXMgYmVlbiBjYWxsZWQgcmVjZW50bHkgZW5vdWdoIHRvIHN0aWxsIGJlIHZhbGlkLlxuICAgKi9cbiAgcmVhZGRpckNhY2hlZCgpOiBQYXRoQmFzZVtdIHtcbiAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4oKVxuICAgIHJldHVybiBjaGlsZHJlbi5zbGljZSgwLCBjaGlsZHJlbi5wcm92aXNpb25hbClcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdHJ1ZSBpZiBpdCdzIHdvcnRoIHRyeWluZyB0byByZWFkbGluay4gIEllLCB3ZSBkb24ndCAoeWV0KSBoYXZlXG4gICAqIGFueSBpbmRpY2F0aW9uIHRoYXQgcmVhZGxpbmsgd2lsbCBkZWZpbml0ZWx5IGZhaWwuXG4gICAqXG4gICAqIFJldHVybnMgZmFsc2UgaWYgdGhlIHBhdGggaXMga25vd24gdG8gbm90IGJlIGEgc3ltbGluaywgaWYgYSBwcmV2aW91c1xuICAgKiByZWFkbGluayBmYWlsZWQsIG9yIGlmIHRoZSBlbnRyeSBkb2VzIG5vdCBleGlzdC5cbiAgICovXG4gIGNhblJlYWRsaW5rKCk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLiNsaW5rVGFyZ2V0KSByZXR1cm4gdHJ1ZVxuICAgIGlmICghdGhpcy5wYXJlbnQpIHJldHVybiBmYWxzZVxuICAgIC8vIGNhc2VzIHdoZXJlIGl0IGNhbm5vdCBwb3NzaWJseSBzdWNjZWVkXG4gICAgY29uc3QgaWZtdCA9IHRoaXMuI3R5cGUgJiBJRk1UXG4gICAgcmV0dXJuICEoXG4gICAgICAoaWZtdCAhPT0gVU5LTk9XTiAmJiBpZm10ICE9PSBJRkxOSykgfHxcbiAgICAgIHRoaXMuI3R5cGUgJiBFTk9SRUFETElOSyB8fFxuICAgICAgdGhpcy4jdHlwZSAmIEVOT0VOVFxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdHJ1ZSBpZiByZWFkZGlyIGhhcyBwcmV2aW91c2x5IGJlZW4gc3VjY2Vzc2Z1bGx5IGNhbGxlZCBvbiB0aGlzXG4gICAqIHBhdGgsIGluZGljYXRpbmcgdGhhdCBjYWNoZWRSZWFkZGlyKCkgaXMgbGlrZWx5IHZhbGlkLlxuICAgKi9cbiAgY2FsbGVkUmVhZGRpcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy4jdHlwZSAmIFJFQURESVJfQ0FMTEVEKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiB0aGUgcGF0aCBpcyBrbm93biB0byBub3QgZXhpc3QuIFRoYXQgaXMsIGEgcHJldmlvdXMgbHN0YXRcbiAgICogb3IgcmVhZGRpciBmYWlsZWQgdG8gdmVyaWZ5IGl0cyBleGlzdGVuY2Ugd2hlbiB0aGF0IHdvdWxkIGhhdmUgYmVlblxuICAgKiBleHBlY3RlZCwgb3IgYSBwYXJlbnQgZW50cnkgd2FzIG1hcmtlZCBlaXRoZXIgZW5vZW50IG9yIGVub3RkaXIuXG4gICAqL1xuICBpc0VOT0VOVCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISEodGhpcy4jdHlwZSAmIEVOT0VOVClcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgcGF0aCBpcyBhIG1hdGNoIGZvciB0aGUgZ2l2ZW4gcGF0aCBuYW1lLiAgVGhpcyBoYW5kbGVzXG4gICAqIGNhc2Ugc2Vuc2l0aXZpdHkgYW5kIHVuaWNvZGUgbm9ybWFsaXphdGlvbi5cbiAgICpcbiAgICogTm90ZTogZXZlbiBvbiBjYXNlLXNlbnNpdGl2ZSBzeXN0ZW1zLCBpdCBpcyAqKm5vdCoqIHNhZmUgdG8gdGVzdCB0aGVcbiAgICogZXF1YWxpdHkgb2YgdGhlIGAubmFtZWAgcHJvcGVydHkgdG8gZGV0ZXJtaW5lIHdoZXRoZXIgYSBnaXZlbiBwYXRobmFtZVxuICAgKiBtYXRjaGVzLCBkdWUgdG8gdW5pY29kZSBub3JtYWxpemF0aW9uIG1pc21hdGNoZXMuXG4gICAqXG4gICAqIEFsd2F5cyB1c2UgdGhpcyBtZXRob2QgaW5zdGVhZCBvZiB0ZXN0aW5nIHRoZSBgcGF0aC5uYW1lYCBwcm9wZXJ0eVxuICAgKiBkaXJlY3RseS5cbiAgICovXG4gIGlzTmFtZWQobjogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLm5vY2FzZSA/XG4gICAgICAgIHRoaXMuI21hdGNoTmFtZSA9PT0gbm9ybWFsaXplKG4pXG4gICAgICA6IHRoaXMuI21hdGNoTmFtZSA9PT0gbm9ybWFsaXplTm9jYXNlKG4pXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBQYXRoIG9iamVjdCBjb3JyZXNwb25kaW5nIHRvIHRoZSB0YXJnZXQgb2YgYSBzeW1ib2xpYyBsaW5rLlxuICAgKlxuICAgKiBJZiB0aGUgUGF0aCBpcyBub3QgYSBzeW1ib2xpYyBsaW5rLCBvciBpZiB0aGUgcmVhZGxpbmsgY2FsbCBmYWlscyBmb3IgYW55XG4gICAqIHJlYXNvbiwgYHVuZGVmaW5lZGAgaXMgcmV0dXJuZWQuXG4gICAqXG4gICAqIFJlc3VsdCBpcyBjYWNoZWQsIGFuZCB0aHVzIG1heSBiZSBvdXRkYXRlZCBpZiB0aGUgZmlsZXN5c3RlbSBpcyBtdXRhdGVkLlxuICAgKi9cbiAgYXN5bmMgcmVhZGxpbmsoKTogUHJvbWlzZTxQYXRoQmFzZSB8IHVuZGVmaW5lZD4ge1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMuI2xpbmtUYXJnZXRcbiAgICBpZiAodGFyZ2V0KSB7XG4gICAgICByZXR1cm4gdGFyZ2V0XG4gICAgfVxuICAgIGlmICghdGhpcy5jYW5SZWFkbGluaygpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuICAgIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICAgIC8vIGFscmVhZHkgY292ZXJlZCBieSB0aGUgY2FuUmVhZGxpbmsgdGVzdCwgaGVyZSBmb3IgdHMgZ3J1bXBsZXNcbiAgICBpZiAoIXRoaXMucGFyZW50KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuICAgIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlYWQgPSBhd2FpdCB0aGlzLiNmcy5wcm9taXNlcy5yZWFkbGluayh0aGlzLmZ1bGxwYXRoKCkpXG4gICAgICBjb25zdCBsaW5rVGFyZ2V0ID0gKGF3YWl0IHRoaXMucGFyZW50LnJlYWxwYXRoKCkpPy5yZXNvbHZlKHJlYWQpXG4gICAgICBpZiAobGlua1RhcmdldCkge1xuICAgICAgICByZXR1cm4gKHRoaXMuI2xpbmtUYXJnZXQgPSBsaW5rVGFyZ2V0KVxuICAgICAgfVxuICAgIH0gY2F0Y2ggKGVyKSB7XG4gICAgICB0aGlzLiNyZWFkbGlua0ZhaWwoKGVyIGFzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbikuY29kZSlcbiAgICAgIHJldHVybiB1bmRlZmluZWRcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU3luY2hyb25vdXMge0BsaW5rIFBhdGhCYXNlLnJlYWRsaW5rfVxuICAgKi9cbiAgcmVhZGxpbmtTeW5jKCk6IFBhdGhCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB0YXJnZXQgPSB0aGlzLiNsaW5rVGFyZ2V0XG4gICAgaWYgKHRhcmdldCkge1xuICAgICAgcmV0dXJuIHRhcmdldFxuICAgIH1cbiAgICBpZiAoIXRoaXMuY2FuUmVhZGxpbmsoKSkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgICAvKiBjOCBpZ25vcmUgc3RhcnQgKi9cbiAgICAvLyBhbHJlYWR5IGNvdmVyZWQgYnkgdGhlIGNhblJlYWRsaW5rIHRlc3QsIGhlcmUgZm9yIHRzIGdydW1wbGVzXG4gICAgaWYgKCF0aGlzLnBhcmVudCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cbiAgICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZWFkID0gdGhpcy4jZnMucmVhZGxpbmtTeW5jKHRoaXMuZnVsbHBhdGgoKSlcbiAgICAgIGNvbnN0IGxpbmtUYXJnZXQgPSB0aGlzLnBhcmVudC5yZWFscGF0aFN5bmMoKT8ucmVzb2x2ZShyZWFkKVxuICAgICAgaWYgKGxpbmtUYXJnZXQpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLiNsaW5rVGFyZ2V0ID0gbGlua1RhcmdldClcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcikge1xuICAgICAgdGhpcy4jcmVhZGxpbmtGYWlsKChlciBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb24pLmNvZGUpXG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuICB9XG5cbiAgI3JlYWRkaXJTdWNjZXNzKGNoaWxkcmVuOiBDaGlsZHJlbikge1xuICAgIC8vIHN1Y2NlZWRlZCwgbWFyayByZWFkZGlyIGNhbGxlZCBiaXRcbiAgICB0aGlzLiN0eXBlIHw9IFJFQURESVJfQ0FMTEVEXG4gICAgLy8gbWFyayBhbGwgcmVtYWluaW5nIHByb3Zpc2lvbmFsIGNoaWxkcmVuIGFzIEVOT0VOVFxuICAgIGZvciAobGV0IHAgPSBjaGlsZHJlbi5wcm92aXNpb25hbDsgcCA8IGNoaWxkcmVuLmxlbmd0aDsgcCsrKSB7XG4gICAgICBjb25zdCBjID0gY2hpbGRyZW5bcF1cbiAgICAgIGlmIChjKSBjLiNtYXJrRU5PRU5UKClcbiAgICB9XG4gIH1cblxuICAjbWFya0VOT0VOVCgpIHtcbiAgICAvLyBtYXJrIGFzIFVOS05PV04gYW5kIEVOT0VOVFxuICAgIGlmICh0aGlzLiN0eXBlICYgRU5PRU5UKSByZXR1cm5cbiAgICB0aGlzLiN0eXBlID0gKHRoaXMuI3R5cGUgfCBFTk9FTlQpICYgSUZNVF9VTktOT1dOXG4gICAgdGhpcy4jbWFya0NoaWxkcmVuRU5PRU5UKClcbiAgfVxuXG4gICNtYXJrQ2hpbGRyZW5FTk9FTlQoKSB7XG4gICAgLy8gYWxsIGNoaWxkcmVuIGFyZSBwcm92aXNpb25hbCBhbmQgZG8gbm90IGV4aXN0XG4gICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLmNoaWxkcmVuKClcbiAgICBjaGlsZHJlbi5wcm92aXNpb25hbCA9IDBcbiAgICBmb3IgKGNvbnN0IHAgb2YgY2hpbGRyZW4pIHtcbiAgICAgIHAuI21hcmtFTk9FTlQoKVxuICAgIH1cbiAgfVxuXG4gICNtYXJrRU5PUkVBTFBBVEgoKSB7XG4gICAgdGhpcy4jdHlwZSB8PSBFTk9SRUFMUEFUSFxuICAgIHRoaXMuI21hcmtFTk9URElSKClcbiAgfVxuXG4gIC8vIHNhdmUgdGhlIGluZm9ybWF0aW9uIHdoZW4gd2Uga25vdyB0aGUgZW50cnkgaXMgbm90IGEgZGlyXG4gICNtYXJrRU5PVERJUigpIHtcbiAgICAvLyBlbnRyeSBpcyBub3QgYSBkaXJlY3RvcnksIHNvIGFueSBjaGlsZHJlbiBjYW4ndCBleGlzdC5cbiAgICAvLyB0aGlzICpzaG91bGQqIGJlIGltcG9zc2libGUsIHNpbmNlIGFueSBjaGlsZHJlbiBjcmVhdGVkXG4gICAgLy8gYWZ0ZXIgaXQncyBiZWVuIG1hcmtlZCBFTk9URElSIHNob3VsZCBiZSBtYXJrZWQgRU5PRU5ULFxuICAgIC8vIHNvIGl0IHdvbid0IGV2ZW4gZ2V0IHRvIHRoaXMgcG9pbnQuXG4gICAgLyogYzggaWdub3JlIHN0YXJ0ICovXG4gICAgaWYgKHRoaXMuI3R5cGUgJiBFTk9URElSKSByZXR1cm5cbiAgICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuICAgIGxldCB0ID0gdGhpcy4jdHlwZVxuICAgIC8vIHRoaXMgY291bGQgaGFwcGVuIGlmIHdlIHN0YXQgYSBkaXIsIHRoZW4gZGVsZXRlIGl0LFxuICAgIC8vIHRoZW4gdHJ5IHRvIHJlYWQgaXQgb3Igb25lIG9mIGl0cyBjaGlsZHJlbi5cbiAgICBpZiAoKHQgJiBJRk1UKSA9PT0gSUZESVIpIHQgJj0gSUZNVF9VTktOT1dOXG4gICAgdGhpcy4jdHlwZSA9IHQgfCBFTk9URElSXG4gICAgdGhpcy4jbWFya0NoaWxkcmVuRU5PRU5UKClcbiAgfVxuXG4gICNyZWFkZGlyRmFpbChjb2RlOiBzdHJpbmcgPSAnJykge1xuICAgIC8vIG1hcmtFTk9URElSIGFuZCBtYXJrRU5PRU5UIGFsc28gc2V0IHByb3Zpc2lvbmFsPTBcbiAgICBpZiAoY29kZSA9PT0gJ0VOT1RESVInIHx8IGNvZGUgPT09ICdFUEVSTScpIHtcbiAgICAgIHRoaXMuI21hcmtFTk9URElSKClcbiAgICB9IGVsc2UgaWYgKGNvZGUgPT09ICdFTk9FTlQnKSB7XG4gICAgICB0aGlzLiNtYXJrRU5PRU5UKClcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5jaGlsZHJlbigpLnByb3Zpc2lvbmFsID0gMFxuICAgIH1cbiAgfVxuXG4gICNsc3RhdEZhaWwoY29kZTogc3RyaW5nID0gJycpIHtcbiAgICAvLyBXaW5kb3dzIGp1c3QgcmFpc2VzIEVOT0VOVCBpbiB0aGlzIGNhc2UsIGRpc2FibGUgZm9yIHdpbiBDSVxuICAgIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICAgIGlmIChjb2RlID09PSAnRU5PVERJUicpIHtcbiAgICAgIC8vIGFscmVhZHkga25vdyBpdCBoYXMgYSBwYXJlbnQgYnkgdGhpcyBwb2ludFxuICAgICAgY29uc3QgcCA9IHRoaXMucGFyZW50IGFzIFBhdGhCYXNlXG4gICAgICBwLiNtYXJrRU5PVERJUigpXG4gICAgfSBlbHNlIGlmIChjb2RlID09PSAnRU5PRU5UJykge1xuICAgICAgLyogYzggaWdub3JlIHN0b3AgKi9cbiAgICAgIHRoaXMuI21hcmtFTk9FTlQoKVxuICAgIH1cbiAgfVxuXG4gICNyZWFkbGlua0ZhaWwoY29kZTogc3RyaW5nID0gJycpIHtcbiAgICBsZXQgdGVyID0gdGhpcy4jdHlwZVxuICAgIHRlciB8PSBFTk9SRUFETElOS1xuICAgIGlmIChjb2RlID09PSAnRU5PRU5UJykgdGVyIHw9IEVOT0VOVFxuICAgIC8vIHdpbmRvd3MgZ2V0cyBhIHdlaXJkIGVycm9yIHdoZW4geW91IHRyeSB0byByZWFkbGluayBhIGZpbGVcbiAgICBpZiAoY29kZSA9PT0gJ0VJTlZBTCcgfHwgY29kZSA9PT0gJ1VOS05PV04nKSB7XG4gICAgICAvLyBleGlzdHMsIGJ1dCBub3QgYSBzeW1saW5rLCB3ZSBkb24ndCBrbm93IFdIQVQgaXQgaXMsIHNvIHJlbW92ZVxuICAgICAgLy8gYWxsIElGTVQgYml0cy5cbiAgICAgIHRlciAmPSBJRk1UX1VOS05PV05cbiAgICB9XG4gICAgdGhpcy4jdHlwZSA9IHRlclxuICAgIC8vIHdpbmRvd3MganVzdCBnZXRzIEVOT0VOVCBpbiB0aGlzIGNhc2UuICBXZSBkbyBjb3ZlciB0aGUgY2FzZSxcbiAgICAvLyBqdXN0IGRpc2FibGVkIGJlY2F1c2UgaXQncyBpbXBvc3NpYmxlIG9uIFdpbmRvd3MgQ0lcbiAgICAvKiBjOCBpZ25vcmUgc3RhcnQgKi9cbiAgICBpZiAoY29kZSA9PT0gJ0VOT1RESVInICYmIHRoaXMucGFyZW50KSB7XG4gICAgICB0aGlzLnBhcmVudC4jbWFya0VOT1RESVIoKVxuICAgIH1cbiAgICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuICB9XG5cbiAgI3JlYWRkaXJBZGRDaGlsZChlOiBEaXJlbnQsIGM6IENoaWxkcmVuKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuI3JlYWRkaXJNYXliZVByb21vdGVDaGlsZChlLCBjKSB8fFxuICAgICAgdGhpcy4jcmVhZGRpckFkZE5ld0NoaWxkKGUsIGMpXG4gICAgKVxuICB9XG5cbiAgI3JlYWRkaXJBZGROZXdDaGlsZChlOiBEaXJlbnQsIGM6IENoaWxkcmVuKTogUGF0aEJhc2Uge1xuICAgIC8vIGFsbG9jIG5ldyBlbnRyeSBhdCBoZWFkLCBzbyBpdCdzIG5ldmVyIHByb3Zpc2lvbmFsXG4gICAgY29uc3QgdHlwZSA9IGVudFRvVHlwZShlKVxuICAgIGNvbnN0IGNoaWxkID0gdGhpcy5uZXdDaGlsZChlLm5hbWUsIHR5cGUsIHsgcGFyZW50OiB0aGlzIH0pXG4gICAgY29uc3QgaWZtdCA9IGNoaWxkLiN0eXBlICYgSUZNVFxuICAgIGlmIChpZm10ICE9PSBJRkRJUiAmJiBpZm10ICE9PSBJRkxOSyAmJiBpZm10ICE9PSBVTktOT1dOKSB7XG4gICAgICBjaGlsZC4jdHlwZSB8PSBFTk9URElSXG4gICAgfVxuICAgIGMudW5zaGlmdChjaGlsZClcbiAgICBjLnByb3Zpc2lvbmFsKytcbiAgICByZXR1cm4gY2hpbGRcbiAgfVxuXG4gICNyZWFkZGlyTWF5YmVQcm9tb3RlQ2hpbGQoZTogRGlyZW50LCBjOiBDaGlsZHJlbik6IFBhdGhCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICBmb3IgKGxldCBwID0gYy5wcm92aXNpb25hbDsgcCA8IGMubGVuZ3RoOyBwKyspIHtcbiAgICAgIGNvbnN0IHBjaGlsZCA9IGNbcF1cbiAgICAgIGNvbnN0IG5hbWUgPVxuICAgICAgICB0aGlzLm5vY2FzZSA/IG5vcm1hbGl6ZU5vY2FzZShlLm5hbWUpIDogbm9ybWFsaXplKGUubmFtZSlcbiAgICAgIGlmIChuYW1lICE9PSBwY2hpbGQhLiNtYXRjaE5hbWUpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMuI3JlYWRkaXJQcm9tb3RlQ2hpbGQoZSwgcGNoaWxkISwgcCwgYylcbiAgICB9XG4gIH1cblxuICAjcmVhZGRpclByb21vdGVDaGlsZChcbiAgICBlOiBEaXJlbnQsXG4gICAgcDogUGF0aEJhc2UsXG4gICAgaW5kZXg6IG51bWJlcixcbiAgICBjOiBDaGlsZHJlbixcbiAgKTogUGF0aEJhc2Uge1xuICAgIGNvbnN0IHYgPSBwLm5hbWVcbiAgICAvLyByZXRhaW4gYW55IG90aGVyIGZsYWdzLCBidXQgc2V0IGlmbXQgZnJvbSBkaXJlbnRcbiAgICBwLiN0eXBlID0gKHAuI3R5cGUgJiBJRk1UX1VOS05PV04pIHwgZW50VG9UeXBlKGUpXG4gICAgLy8gY2FzZSBzZW5zaXRpdml0eSBmaXhpbmcgd2hlbiB3ZSBsZWFybiB0aGUgdHJ1ZSBuYW1lLlxuICAgIGlmICh2ICE9PSBlLm5hbWUpIHAubmFtZSA9IGUubmFtZVxuXG4gICAgLy8ganVzdCBhZHZhbmNlIHByb3Zpc2lvbmFsIGluZGV4IChwb3RlbnRpYWxseSBvZmYgdGhlIGxpc3QpLFxuICAgIC8vIG90aGVyd2lzZSB3ZSBoYXZlIHRvIHNwbGljZS9wb3AgaXQgb3V0IGFuZCByZS1pbnNlcnQgYXQgaGVhZFxuICAgIGlmIChpbmRleCAhPT0gYy5wcm92aXNpb25hbCkge1xuICAgICAgaWYgKGluZGV4ID09PSBjLmxlbmd0aCAtIDEpIGMucG9wKClcbiAgICAgIGVsc2UgYy5zcGxpY2UoaW5kZXgsIDEpXG4gICAgICBjLnVuc2hpZnQocClcbiAgICB9XG4gICAgYy5wcm92aXNpb25hbCsrXG4gICAgcmV0dXJuIHBcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsIGxzdGF0KCkgb24gdGhpcyBQYXRoLCBhbmQgdXBkYXRlIGFsbCBrbm93biBpbmZvcm1hdGlvbiB0aGF0IGNhbiBiZVxuICAgKiBkZXRlcm1pbmVkLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgdW5saWtlIGBmcy5sc3RhdCgpYCwgdGhlIHJldHVybmVkIHZhbHVlIGRvZXMgbm90IGNvbnRhaW4gc29tZVxuICAgKiBpbmZvcm1hdGlvbiwgc3VjaCBhcyBgbW9kZWAsIGBkZXZgLCBgbmxpbmtgLCBhbmQgYGlub2AuICBJZiB0aGF0XG4gICAqIGluZm9ybWF0aW9uIGlzIHJlcXVpcmVkLCB5b3Ugd2lsbCBuZWVkIHRvIGNhbGwgYGZzLmxzdGF0YCB5b3Vyc2VsZi5cbiAgICpcbiAgICogSWYgdGhlIFBhdGggcmVmZXJzIHRvIGEgbm9uZXhpc3RlbnQgZmlsZSwgb3IgaWYgdGhlIGxzdGF0IGNhbGwgZmFpbHMgZm9yXG4gICAqIGFueSByZWFzb24sIGB1bmRlZmluZWRgIGlzIHJldHVybmVkLiAgT3RoZXJ3aXNlIHRoZSB1cGRhdGVkIFBhdGggb2JqZWN0IGlzXG4gICAqIHJldHVybmVkLlxuICAgKlxuICAgKiBSZXN1bHRzIGFyZSBjYWNoZWQsIGFuZCB0aHVzIG1heSBiZSBvdXQgb2YgZGF0ZSBpZiB0aGUgZmlsZXN5c3RlbSBpc1xuICAgKiBtdXRhdGVkLlxuICAgKi9cbiAgYXN5bmMgbHN0YXQoKTogUHJvbWlzZTxQYXRoQmFzZSB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICgodGhpcy4jdHlwZSAmIEVOT0VOVCkgPT09IDApIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHRoaXMuI2FwcGx5U3RhdChhd2FpdCB0aGlzLiNmcy5wcm9taXNlcy5sc3RhdCh0aGlzLmZ1bGxwYXRoKCkpKVxuICAgICAgICByZXR1cm4gdGhpc1xuICAgICAgfSBjYXRjaCAoZXIpIHtcbiAgICAgICAgdGhpcy4jbHN0YXRGYWlsKChlciBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb24pLmNvZGUpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHN5bmNocm9ub3VzIHtAbGluayBQYXRoQmFzZS5sc3RhdH1cbiAgICovXG4gIGxzdGF0U3luYygpOiBQYXRoQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCh0aGlzLiN0eXBlICYgRU5PRU5UKSA9PT0gMCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgdGhpcy4jYXBwbHlTdGF0KHRoaXMuI2ZzLmxzdGF0U3luYyh0aGlzLmZ1bGxwYXRoKCkpKVxuICAgICAgICByZXR1cm4gdGhpc1xuICAgICAgfSBjYXRjaCAoZXIpIHtcbiAgICAgICAgdGhpcy4jbHN0YXRGYWlsKChlciBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb24pLmNvZGUpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgI2FwcGx5U3RhdChzdDogU3RhdHMpIHtcbiAgICBjb25zdCB7XG4gICAgICBhdGltZSxcbiAgICAgIGF0aW1lTXMsXG4gICAgICBiaXJ0aHRpbWUsXG4gICAgICBiaXJ0aHRpbWVNcyxcbiAgICAgIGJsa3NpemUsXG4gICAgICBibG9ja3MsXG4gICAgICBjdGltZSxcbiAgICAgIGN0aW1lTXMsXG4gICAgICBkZXYsXG4gICAgICBnaWQsXG4gICAgICBpbm8sXG4gICAgICBtb2RlLFxuICAgICAgbXRpbWUsXG4gICAgICBtdGltZU1zLFxuICAgICAgbmxpbmssXG4gICAgICByZGV2LFxuICAgICAgc2l6ZSxcbiAgICAgIHVpZCxcbiAgICB9ID0gc3RcbiAgICB0aGlzLiNhdGltZSA9IGF0aW1lXG4gICAgdGhpcy4jYXRpbWVNcyA9IGF0aW1lTXNcbiAgICB0aGlzLiNiaXJ0aHRpbWUgPSBiaXJ0aHRpbWVcbiAgICB0aGlzLiNiaXJ0aHRpbWVNcyA9IGJpcnRodGltZU1zXG4gICAgdGhpcy4jYmxrc2l6ZSA9IGJsa3NpemVcbiAgICB0aGlzLiNibG9ja3MgPSBibG9ja3NcbiAgICB0aGlzLiNjdGltZSA9IGN0aW1lXG4gICAgdGhpcy4jY3RpbWVNcyA9IGN0aW1lTXNcbiAgICB0aGlzLiNkZXYgPSBkZXZcbiAgICB0aGlzLiNnaWQgPSBnaWRcbiAgICB0aGlzLiNpbm8gPSBpbm9cbiAgICB0aGlzLiNtb2RlID0gbW9kZVxuICAgIHRoaXMuI210aW1lID0gbXRpbWVcbiAgICB0aGlzLiNtdGltZU1zID0gbXRpbWVNc1xuICAgIHRoaXMuI25saW5rID0gbmxpbmtcbiAgICB0aGlzLiNyZGV2ID0gcmRldlxuICAgIHRoaXMuI3NpemUgPSBzaXplXG4gICAgdGhpcy4jdWlkID0gdWlkXG4gICAgY29uc3QgaWZtdCA9IGVudFRvVHlwZShzdClcbiAgICAvLyByZXRhaW4gYW55IG90aGVyIGZsYWdzLCBidXQgc2V0IHRoZSBpZm10XG4gICAgdGhpcy4jdHlwZSA9ICh0aGlzLiN0eXBlICYgSUZNVF9VTktOT1dOKSB8IGlmbXQgfCBMU1RBVF9DQUxMRURcbiAgICBpZiAoaWZtdCAhPT0gVU5LTk9XTiAmJiBpZm10ICE9PSBJRkRJUiAmJiBpZm10ICE9PSBJRkxOSykge1xuICAgICAgdGhpcy4jdHlwZSB8PSBFTk9URElSXG4gICAgfVxuICB9XG5cbiAgI29uUmVhZGRpckNCOiAoKFxuICAgIGVyOiBOb2RlSlMuRXJybm9FeGNlcHRpb24gfCBudWxsLFxuICAgIGVudHJpZXM6IFBhdGhbXSxcbiAgKSA9PiBhbnkpW10gPSBbXVxuICAjcmVhZGRpckNCSW5GbGlnaHQ6IGJvb2xlYW4gPSBmYWxzZVxuICAjY2FsbE9uUmVhZGRpckNCKGNoaWxkcmVuOiBQYXRoW10pIHtcbiAgICB0aGlzLiNyZWFkZGlyQ0JJbkZsaWdodCA9IGZhbHNlXG4gICAgY29uc3QgY2JzID0gdGhpcy4jb25SZWFkZGlyQ0Iuc2xpY2UoKVxuICAgIHRoaXMuI29uUmVhZGRpckNCLmxlbmd0aCA9IDBcbiAgICBjYnMuZm9yRWFjaChjYiA9PiBjYihudWxsLCBjaGlsZHJlbikpXG4gIH1cblxuICAvKipcbiAgICogU3RhbmRhcmQgbm9kZS1zdHlsZSBjYWxsYmFjayBpbnRlcmZhY2UgdG8gZ2V0IGxpc3Qgb2YgZGlyZWN0b3J5IGVudHJpZXMuXG4gICAqXG4gICAqIElmIHRoZSBQYXRoIGNhbm5vdCBvciBkb2VzIG5vdCBjb250YWluIGFueSBjaGlsZHJlbiwgdGhlbiBhbiBlbXB0eSBhcnJheVxuICAgKiBpcyByZXR1cm5lZC5cbiAgICpcbiAgICogUmVzdWx0cyBhcmUgY2FjaGVkLCBhbmQgdGh1cyBtYXkgYmUgb3V0IG9mIGRhdGUgaWYgdGhlIGZpbGVzeXN0ZW0gaXNcbiAgICogbXV0YXRlZC5cbiAgICpcbiAgICogQHBhcmFtIGNiIFRoZSBjYWxsYmFjayBjYWxsZWQgd2l0aCAoZXIsIGVudHJpZXMpLiAgTm90ZSB0aGF0IHRoZSBgZXJgXG4gICAqIHBhcmFtIGlzIHNvbWV3aGF0IGV4dHJhbmVvdXMsIGFzIGFsbCByZWFkZGlyKCkgZXJyb3JzIGFyZSBoYW5kbGVkIGFuZFxuICAgKiBzaW1wbHkgcmVzdWx0IGluIGFuIGVtcHR5IHNldCBvZiBlbnRyaWVzIGJlaW5nIHJldHVybmVkLlxuICAgKiBAcGFyYW0gYWxsb3daYWxnbyBCb29sZWFuIGluZGljYXRpbmcgdGhhdCBpbW1lZGlhdGVseSBrbm93biByZXN1bHRzIHNob3VsZFxuICAgKiAqbm90KiBiZSBkZWZlcnJlZCB3aXRoIGBxdWV1ZU1pY3JvdGFza2AuIERlZmF1bHRzIHRvIGBmYWxzZWAuIFJlbGVhc2VcbiAgICogemFsZ28gYXQgeW91ciBwZXJpbCwgdGhlIGRhcmsgcG9ueSBsb3JkIGlzIGRldmlvdXMgYW5kIHVuZm9yZ2l2aW5nLlxuICAgKi9cbiAgcmVhZGRpckNCKFxuICAgIGNiOiAoZXI6IE5vZGVKUy5FcnJub0V4Y2VwdGlvbiB8IG51bGwsIGVudHJpZXM6IFBhdGhCYXNlW10pID0+IGFueSxcbiAgICBhbGxvd1phbGdvOiBib29sZWFuID0gZmFsc2UsXG4gICk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jYW5SZWFkZGlyKCkpIHtcbiAgICAgIGlmIChhbGxvd1phbGdvKSBjYihudWxsLCBbXSlcbiAgICAgIGVsc2UgcXVldWVNaWNyb3Rhc2soKCkgPT4gY2IobnVsbCwgW10pKVxuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgY2hpbGRyZW4gPSB0aGlzLmNoaWxkcmVuKClcbiAgICBpZiAodGhpcy5jYWxsZWRSZWFkZGlyKCkpIHtcbiAgICAgIGNvbnN0IGMgPSBjaGlsZHJlbi5zbGljZSgwLCBjaGlsZHJlbi5wcm92aXNpb25hbClcbiAgICAgIGlmIChhbGxvd1phbGdvKSBjYihudWxsLCBjKVxuICAgICAgZWxzZSBxdWV1ZU1pY3JvdGFzaygoKSA9PiBjYihudWxsLCBjKSlcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIC8vIGRvbid0IGhhdmUgdG8gd29ycnkgYWJvdXQgemFsZ28gYXQgdGhpcyBwb2ludC5cbiAgICB0aGlzLiNvblJlYWRkaXJDQi5wdXNoKGNiKVxuICAgIGlmICh0aGlzLiNyZWFkZGlyQ0JJbkZsaWdodCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHRoaXMuI3JlYWRkaXJDQkluRmxpZ2h0ID0gdHJ1ZVxuXG4gICAgLy8gZWxzZSByZWFkIHRoZSBkaXJlY3RvcnksIGZpbGwgdXAgY2hpbGRyZW5cbiAgICAvLyBkZS1wcm92aXNpb25hbGl6ZSBhbnkgcHJvdmlzaW9uYWwgY2hpbGRyZW4uXG4gICAgY29uc3QgZnVsbHBhdGggPSB0aGlzLmZ1bGxwYXRoKClcbiAgICB0aGlzLiNmcy5yZWFkZGlyKGZ1bGxwYXRoLCB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSwgKGVyLCBlbnRyaWVzKSA9PiB7XG4gICAgICBpZiAoZXIpIHtcbiAgICAgICAgdGhpcy4jcmVhZGRpckZhaWwoKGVyIGFzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbikuY29kZSlcbiAgICAgICAgY2hpbGRyZW4ucHJvdmlzaW9uYWwgPSAwXG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBpZiB3ZSBkaWRuJ3QgZ2V0IGFuIGVycm9yLCB3ZSBhbHdheXMgZ2V0IGVudHJpZXMuXG4gICAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgICBmb3IgKGNvbnN0IGUgb2YgZW50cmllcykge1xuICAgICAgICAgIHRoaXMuI3JlYWRkaXJBZGRDaGlsZChlLCBjaGlsZHJlbilcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNyZWFkZGlyU3VjY2VzcyhjaGlsZHJlbilcbiAgICAgIH1cbiAgICAgIHRoaXMuI2NhbGxPblJlYWRkaXJDQihjaGlsZHJlbi5zbGljZSgwLCBjaGlsZHJlbi5wcm92aXNpb25hbCkpXG4gICAgICByZXR1cm5cbiAgICB9KVxuICB9XG5cbiAgI2FzeW5jUmVhZGRpckluRmxpZ2h0PzogUHJvbWlzZTx2b2lkPlxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gYXJyYXkgb2Yga25vd24gY2hpbGQgZW50cmllcy5cbiAgICpcbiAgICogSWYgdGhlIFBhdGggY2Fubm90IG9yIGRvZXMgbm90IGNvbnRhaW4gYW55IGNoaWxkcmVuLCB0aGVuIGFuIGVtcHR5IGFycmF5XG4gICAqIGlzIHJldHVybmVkLlxuICAgKlxuICAgKiBSZXN1bHRzIGFyZSBjYWNoZWQsIGFuZCB0aHVzIG1heSBiZSBvdXQgb2YgZGF0ZSBpZiB0aGUgZmlsZXN5c3RlbSBpc1xuICAgKiBtdXRhdGVkLlxuICAgKi9cbiAgYXN5bmMgcmVhZGRpcigpOiBQcm9taXNlPFBhdGhCYXNlW10+IHtcbiAgICBpZiAoIXRoaXMuY2FuUmVhZGRpcigpKSB7XG4gICAgICByZXR1cm4gW11cbiAgICB9XG5cbiAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4oKVxuICAgIGlmICh0aGlzLmNhbGxlZFJlYWRkaXIoKSkge1xuICAgICAgcmV0dXJuIGNoaWxkcmVuLnNsaWNlKDAsIGNoaWxkcmVuLnByb3Zpc2lvbmFsKVxuICAgIH1cblxuICAgIC8vIGVsc2UgcmVhZCB0aGUgZGlyZWN0b3J5LCBmaWxsIHVwIGNoaWxkcmVuXG4gICAgLy8gZGUtcHJvdmlzaW9uYWxpemUgYW55IHByb3Zpc2lvbmFsIGNoaWxkcmVuLlxuICAgIGNvbnN0IGZ1bGxwYXRoID0gdGhpcy5mdWxscGF0aCgpXG4gICAgaWYgKHRoaXMuI2FzeW5jUmVhZGRpckluRmxpZ2h0KSB7XG4gICAgICBhd2FpdCB0aGlzLiNhc3luY1JlYWRkaXJJbkZsaWdodFxuICAgIH0gZWxzZSB7XG4gICAgICAvKiBjOCBpZ25vcmUgc3RhcnQgKi9cbiAgICAgIGxldCByZXNvbHZlOiAoKSA9PiB2b2lkID0gKCkgPT4ge31cbiAgICAgIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gICAgICB0aGlzLiNhc3luY1JlYWRkaXJJbkZsaWdodCA9IG5ldyBQcm9taXNlPHZvaWQ+KFxuICAgICAgICByZXMgPT4gKHJlc29sdmUgPSByZXMpLFxuICAgICAgKVxuICAgICAgdHJ5IHtcbiAgICAgICAgZm9yIChjb25zdCBlIG9mIGF3YWl0IHRoaXMuI2ZzLnByb21pc2VzLnJlYWRkaXIoZnVsbHBhdGgsIHtcbiAgICAgICAgICB3aXRoRmlsZVR5cGVzOiB0cnVlLFxuICAgICAgICB9KSkge1xuICAgICAgICAgIHRoaXMuI3JlYWRkaXJBZGRDaGlsZChlLCBjaGlsZHJlbilcbiAgICAgICAgfVxuICAgICAgICB0aGlzLiNyZWFkZGlyU3VjY2VzcyhjaGlsZHJlbilcbiAgICAgIH0gY2F0Y2ggKGVyKSB7XG4gICAgICAgIHRoaXMuI3JlYWRkaXJGYWlsKChlciBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb24pLmNvZGUpXG4gICAgICAgIGNoaWxkcmVuLnByb3Zpc2lvbmFsID0gMFxuICAgICAgfVxuICAgICAgdGhpcy4jYXN5bmNSZWFkZGlySW5GbGlnaHQgPSB1bmRlZmluZWRcbiAgICAgIHJlc29sdmUoKVxuICAgIH1cbiAgICByZXR1cm4gY2hpbGRyZW4uc2xpY2UoMCwgY2hpbGRyZW4ucHJvdmlzaW9uYWwpXG4gIH1cblxuICAvKipcbiAgICogc3luY2hyb25vdXMge0BsaW5rIFBhdGhCYXNlLnJlYWRkaXJ9XG4gICAqL1xuICByZWFkZGlyU3luYygpOiBQYXRoQmFzZVtdIHtcbiAgICBpZiAoIXRoaXMuY2FuUmVhZGRpcigpKSB7XG4gICAgICByZXR1cm4gW11cbiAgICB9XG5cbiAgICBjb25zdCBjaGlsZHJlbiA9IHRoaXMuY2hpbGRyZW4oKVxuICAgIGlmICh0aGlzLmNhbGxlZFJlYWRkaXIoKSkge1xuICAgICAgcmV0dXJuIGNoaWxkcmVuLnNsaWNlKDAsIGNoaWxkcmVuLnByb3Zpc2lvbmFsKVxuICAgIH1cblxuICAgIC8vIGVsc2UgcmVhZCB0aGUgZGlyZWN0b3J5LCBmaWxsIHVwIGNoaWxkcmVuXG4gICAgLy8gZGUtcHJvdmlzaW9uYWxpemUgYW55IHByb3Zpc2lvbmFsIGNoaWxkcmVuLlxuICAgIGNvbnN0IGZ1bGxwYXRoID0gdGhpcy5mdWxscGF0aCgpXG4gICAgdHJ5IHtcbiAgICAgIGZvciAoY29uc3QgZSBvZiB0aGlzLiNmcy5yZWFkZGlyU3luYyhmdWxscGF0aCwge1xuICAgICAgICB3aXRoRmlsZVR5cGVzOiB0cnVlLFxuICAgICAgfSkpIHtcbiAgICAgICAgdGhpcy4jcmVhZGRpckFkZENoaWxkKGUsIGNoaWxkcmVuKVxuICAgICAgfVxuICAgICAgdGhpcy4jcmVhZGRpclN1Y2Nlc3MoY2hpbGRyZW4pXG4gICAgfSBjYXRjaCAoZXIpIHtcbiAgICAgIHRoaXMuI3JlYWRkaXJGYWlsKChlciBhcyBOb2RlSlMuRXJybm9FeGNlcHRpb24pLmNvZGUpXG4gICAgICBjaGlsZHJlbi5wcm92aXNpb25hbCA9IDBcbiAgICB9XG4gICAgcmV0dXJuIGNoaWxkcmVuLnNsaWNlKDAsIGNoaWxkcmVuLnByb3Zpc2lvbmFsKVxuICB9XG5cbiAgY2FuUmVhZGRpcigpIHtcbiAgICBpZiAodGhpcy4jdHlwZSAmIEVOT0NISUxEKSByZXR1cm4gZmFsc2VcbiAgICBjb25zdCBpZm10ID0gSUZNVCAmIHRoaXMuI3R5cGVcbiAgICAvLyB3ZSBhbHdheXMgc2V0IEVOT1RESVIgd2hlbiBzZXR0aW5nIElGTVQsIHNvIHNob3VsZCBiZSBpbXBvc3NpYmxlXG4gICAgLyogYzggaWdub3JlIHN0YXJ0ICovXG4gICAgaWYgKCEoaWZtdCA9PT0gVU5LTk9XTiB8fCBpZm10ID09PSBJRkRJUiB8fCBpZm10ID09PSBJRkxOSykpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBzaG91bGRXYWxrKFxuICAgIGRpcnM6IFNldDxQYXRoQmFzZSB8IHVuZGVmaW5lZD4sXG4gICAgd2Fsa0ZpbHRlcj86IChlOiBQYXRoQmFzZSkgPT4gYm9vbGVhbixcbiAgKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgICh0aGlzLiN0eXBlICYgSUZESVIpID09PSBJRkRJUiAmJlxuICAgICAgISh0aGlzLiN0eXBlICYgRU5PQ0hJTEQpICYmXG4gICAgICAhZGlycy5oYXModGhpcykgJiZcbiAgICAgICghd2Fsa0ZpbHRlciB8fCB3YWxrRmlsdGVyKHRoaXMpKVxuICAgIClcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIFBhdGggb2JqZWN0IGNvcnJlc3BvbmRpbmcgdG8gcGF0aCBhcyByZXNvbHZlZFxuICAgKiBieSByZWFscGF0aCgzKS5cbiAgICpcbiAgICogSWYgdGhlIHJlYWxwYXRoIGNhbGwgZmFpbHMgZm9yIGFueSByZWFzb24sIGB1bmRlZmluZWRgIGlzIHJldHVybmVkLlxuICAgKlxuICAgKiBSZXN1bHQgaXMgY2FjaGVkLCBhbmQgdGh1cyBtYXkgYmUgb3V0ZGF0ZWQgaWYgdGhlIGZpbGVzeXN0ZW0gaXMgbXV0YXRlZC5cbiAgICogT24gc3VjY2VzcywgcmV0dXJucyBhIFBhdGggb2JqZWN0LlxuICAgKi9cbiAgYXN5bmMgcmVhbHBhdGgoKTogUHJvbWlzZTxQYXRoQmFzZSB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICh0aGlzLiNyZWFscGF0aCkgcmV0dXJuIHRoaXMuI3JlYWxwYXRoXG4gICAgaWYgKChFTk9SRUFMUEFUSCB8IEVOT1JFQURMSU5LIHwgRU5PRU5UKSAmIHRoaXMuI3R5cGUpIHJldHVybiB1bmRlZmluZWRcbiAgICB0cnkge1xuICAgICAgY29uc3QgcnAgPSBhd2FpdCB0aGlzLiNmcy5wcm9taXNlcy5yZWFscGF0aCh0aGlzLmZ1bGxwYXRoKCkpXG4gICAgICByZXR1cm4gKHRoaXMuI3JlYWxwYXRoID0gdGhpcy5yZXNvbHZlKHJwKSlcbiAgICB9IGNhdGNoIChfKSB7XG4gICAgICB0aGlzLiNtYXJrRU5PUkVBTFBBVEgoKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTeW5jaHJvbm91cyB7QGxpbmsgcmVhbHBhdGh9XG4gICAqL1xuICByZWFscGF0aFN5bmMoKTogUGF0aEJhc2UgfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLiNyZWFscGF0aCkgcmV0dXJuIHRoaXMuI3JlYWxwYXRoXG4gICAgaWYgKChFTk9SRUFMUEFUSCB8IEVOT1JFQURMSU5LIHwgRU5PRU5UKSAmIHRoaXMuI3R5cGUpIHJldHVybiB1bmRlZmluZWRcbiAgICB0cnkge1xuICAgICAgY29uc3QgcnAgPSB0aGlzLiNmcy5yZWFscGF0aFN5bmModGhpcy5mdWxscGF0aCgpKVxuICAgICAgcmV0dXJuICh0aGlzLiNyZWFscGF0aCA9IHRoaXMucmVzb2x2ZShycCkpXG4gICAgfSBjYXRjaCAoXykge1xuICAgICAgdGhpcy4jbWFya0VOT1JFQUxQQVRIKClcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW50ZXJuYWwgbWV0aG9kIHRvIG1hcmsgdGhpcyBQYXRoIG9iamVjdCBhcyB0aGUgc2N1cnJ5IGN3ZCxcbiAgICogY2FsbGVkIGJ5IHtAbGluayBQYXRoU2N1cnJ5I2NoZGlyfVxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIFtzZXRBc0N3ZF0ob2xkQ3dkOiBQYXRoQmFzZSk6IHZvaWQge1xuICAgIGlmIChvbGRDd2QgPT09IHRoaXMpIHJldHVyblxuICAgIG9sZEN3ZC5pc0NXRCA9IGZhbHNlXG4gICAgdGhpcy5pc0NXRCA9IHRydWVcblxuICAgIGNvbnN0IGNoYW5nZWQgPSBuZXcgU2V0PFBhdGhCYXNlPihbXSlcbiAgICBsZXQgcnAgPSBbXVxuICAgIGxldCBwOiBQYXRoQmFzZSA9IHRoaXNcbiAgICB3aGlsZSAocCAmJiBwLnBhcmVudCkge1xuICAgICAgY2hhbmdlZC5hZGQocClcbiAgICAgIHAuI3JlbGF0aXZlID0gcnAuam9pbih0aGlzLnNlcClcbiAgICAgIHAuI3JlbGF0aXZlUG9zaXggPSBycC5qb2luKCcvJylcbiAgICAgIHAgPSBwLnBhcmVudFxuICAgICAgcnAucHVzaCgnLi4nKVxuICAgIH1cbiAgICAvLyBub3cgdW4tbWVtb2l6ZSBwYXJlbnRzIG9mIG9sZCBjd2RcbiAgICBwID0gb2xkQ3dkXG4gICAgd2hpbGUgKHAgJiYgcC5wYXJlbnQgJiYgIWNoYW5nZWQuaGFzKHApKSB7XG4gICAgICBwLiNyZWxhdGl2ZSA9IHVuZGVmaW5lZFxuICAgICAgcC4jcmVsYXRpdmVQb3NpeCA9IHVuZGVmaW5lZFxuICAgICAgcCA9IHAucGFyZW50XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUGF0aCBjbGFzcyB1c2VkIG9uIHdpbjMyIHN5c3RlbXNcbiAqXG4gKiBVc2VzIGAnXFxcXCdgIGFzIHRoZSBwYXRoIHNlcGFyYXRvciBmb3IgcmV0dXJuZWQgcGF0aHMsIGVpdGhlciBgJ1xcXFwnYCBvciBgJy8nYFxuICogYXMgdGhlIHBhdGggc2VwYXJhdG9yIGZvciBwYXJzaW5nIHBhdGhzLlxuICovXG5leHBvcnQgY2xhc3MgUGF0aFdpbjMyIGV4dGVuZHMgUGF0aEJhc2Uge1xuICAvKipcbiAgICogU2VwYXJhdG9yIGZvciBnZW5lcmF0aW5nIHBhdGggc3RyaW5ncy5cbiAgICovXG4gIHNlcDogJ1xcXFwnID0gJ1xcXFwnXG4gIC8qKlxuICAgKiBTZXBhcmF0b3IgZm9yIHBhcnNpbmcgcGF0aCBzdHJpbmdzLlxuICAgKi9cbiAgc3BsaXRTZXA6IFJlZ0V4cCA9IGVpdGhlclNlcFxuXG4gIC8qKlxuICAgKiBEbyBub3QgY3JlYXRlIG5ldyBQYXRoIG9iamVjdHMgZGlyZWN0bHkuICBUaGV5IHNob3VsZCBhbHdheXMgYmUgYWNjZXNzZWRcbiAgICogdmlhIHRoZSBQYXRoU2N1cnJ5IGNsYXNzIG9yIG90aGVyIG1ldGhvZHMgb24gdGhlIFBhdGggY2xhc3MuXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIHR5cGU6IG51bWJlciA9IFVOS05PV04sXG4gICAgcm9vdDogUGF0aEJhc2UgfCB1bmRlZmluZWQsXG4gICAgcm9vdHM6IHsgW2s6IHN0cmluZ106IFBhdGhCYXNlIH0sXG4gICAgbm9jYXNlOiBib29sZWFuLFxuICAgIGNoaWxkcmVuOiBDaGlsZHJlbkNhY2hlLFxuICAgIG9wdHM6IFBhdGhPcHRzLFxuICApIHtcbiAgICBzdXBlcihuYW1lLCB0eXBlLCByb290LCByb290cywgbm9jYXNlLCBjaGlsZHJlbiwgb3B0cylcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIG5ld0NoaWxkKG5hbWU6IHN0cmluZywgdHlwZTogbnVtYmVyID0gVU5LTk9XTiwgb3B0czogUGF0aE9wdHMgPSB7fSkge1xuICAgIHJldHVybiBuZXcgUGF0aFdpbjMyKFxuICAgICAgbmFtZSxcbiAgICAgIHR5cGUsXG4gICAgICB0aGlzLnJvb3QsXG4gICAgICB0aGlzLnJvb3RzLFxuICAgICAgdGhpcy5ub2Nhc2UsXG4gICAgICB0aGlzLmNoaWxkcmVuQ2FjaGUoKSxcbiAgICAgIG9wdHMsXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZ2V0Um9vdFN0cmluZyhwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB3aW4zMi5wYXJzZShwYXRoKS5yb290XG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXRSb290KHJvb3RQYXRoOiBzdHJpbmcpOiBQYXRoQmFzZSB7XG4gICAgcm9vdFBhdGggPSB1bmNUb0RyaXZlKHJvb3RQYXRoLnRvVXBwZXJDYXNlKCkpXG4gICAgaWYgKHJvb3RQYXRoID09PSB0aGlzLnJvb3QubmFtZSkge1xuICAgICAgcmV0dXJuIHRoaXMucm9vdFxuICAgIH1cbiAgICAvLyBvaywgbm90IHRoYXQgb25lLCBjaGVjayBpZiBpdCBtYXRjaGVzIGFub3RoZXIgd2Uga25vdyBhYm91dFxuICAgIGZvciAoY29uc3QgW2NvbXBhcmUsIHJvb3RdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMucm9vdHMpKSB7XG4gICAgICBpZiAodGhpcy5zYW1lUm9vdChyb290UGF0aCwgY29tcGFyZSkpIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLnJvb3RzW3Jvb3RQYXRoXSA9IHJvb3QpXG4gICAgICB9XG4gICAgfVxuICAgIC8vIG90aGVyd2lzZSwgaGF2ZSB0byBjcmVhdGUgYSBuZXcgb25lLlxuICAgIHJldHVybiAodGhpcy5yb290c1tyb290UGF0aF0gPSBuZXcgUGF0aFNjdXJyeVdpbjMyKFxuICAgICAgcm9vdFBhdGgsXG4gICAgICB0aGlzLFxuICAgICkucm9vdClcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHNhbWVSb290KHJvb3RQYXRoOiBzdHJpbmcsIGNvbXBhcmU6IHN0cmluZyA9IHRoaXMucm9vdC5uYW1lKTogYm9vbGVhbiB7XG4gICAgLy8gd2luZG93cyBjYW4gKHJhcmVseSkgaGF2ZSBjYXNlLXNlbnNpdGl2ZSBmaWxlc3lzdGVtLCBidXRcbiAgICAvLyBVTkMgYW5kIGRyaXZlIGxldHRlcnMgYXJlIGFsd2F5cyBjYXNlLWluc2Vuc2l0aXZlLCBhbmQgY2Fub25pY2FsbHlcbiAgICAvLyByZXByZXNlbnRlZCB1cHBlcmNhc2UuXG4gICAgcm9vdFBhdGggPSByb290UGF0aFxuICAgICAgLnRvVXBwZXJDYXNlKClcbiAgICAgIC5yZXBsYWNlKC9cXC8vZywgJ1xcXFwnKVxuICAgICAgLnJlcGxhY2UodW5jRHJpdmVSZWdleHAsICckMVxcXFwnKVxuICAgIHJldHVybiByb290UGF0aCA9PT0gY29tcGFyZVxuICB9XG59XG5cbi8qKlxuICogUGF0aCBjbGFzcyB1c2VkIG9uIGFsbCBwb3NpeCBzeXN0ZW1zLlxuICpcbiAqIFVzZXMgYCcvJ2AgYXMgdGhlIHBhdGggc2VwYXJhdG9yLlxuICovXG5leHBvcnQgY2xhc3MgUGF0aFBvc2l4IGV4dGVuZHMgUGF0aEJhc2Uge1xuICAvKipcbiAgICogc2VwYXJhdG9yIGZvciBwYXJzaW5nIHBhdGggc3RyaW5nc1xuICAgKi9cbiAgc3BsaXRTZXA6ICcvJyA9ICcvJ1xuICAvKipcbiAgICogc2VwYXJhdG9yIGZvciBnZW5lcmF0aW5nIHBhdGggc3RyaW5nc1xuICAgKi9cbiAgc2VwOiAnLycgPSAnLydcblxuICAvKipcbiAgICogRG8gbm90IGNyZWF0ZSBuZXcgUGF0aCBvYmplY3RzIGRpcmVjdGx5LiAgVGhleSBzaG91bGQgYWx3YXlzIGJlIGFjY2Vzc2VkXG4gICAqIHZpYSB0aGUgUGF0aFNjdXJyeSBjbGFzcyBvciBvdGhlciBtZXRob2RzIG9uIHRoZSBQYXRoIGNsYXNzLlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNvbnN0cnVjdG9yKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB0eXBlOiBudW1iZXIgPSBVTktOT1dOLFxuICAgIHJvb3Q6IFBhdGhCYXNlIHwgdW5kZWZpbmVkLFxuICAgIHJvb3RzOiB7IFtrOiBzdHJpbmddOiBQYXRoQmFzZSB9LFxuICAgIG5vY2FzZTogYm9vbGVhbixcbiAgICBjaGlsZHJlbjogQ2hpbGRyZW5DYWNoZSxcbiAgICBvcHRzOiBQYXRoT3B0cyxcbiAgKSB7XG4gICAgc3VwZXIobmFtZSwgdHlwZSwgcm9vdCwgcm9vdHMsIG5vY2FzZSwgY2hpbGRyZW4sIG9wdHMpXG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBnZXRSb290U3RyaW5nKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGguc3RhcnRzV2l0aCgnLycpID8gJy8nIDogJydcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGdldFJvb3QoX3Jvb3RQYXRoOiBzdHJpbmcpOiBQYXRoQmFzZSB7XG4gICAgcmV0dXJuIHRoaXMucm9vdFxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgbmV3Q2hpbGQobmFtZTogc3RyaW5nLCB0eXBlOiBudW1iZXIgPSBVTktOT1dOLCBvcHRzOiBQYXRoT3B0cyA9IHt9KSB7XG4gICAgcmV0dXJuIG5ldyBQYXRoUG9zaXgoXG4gICAgICBuYW1lLFxuICAgICAgdHlwZSxcbiAgICAgIHRoaXMucm9vdCxcbiAgICAgIHRoaXMucm9vdHMsXG4gICAgICB0aGlzLm5vY2FzZSxcbiAgICAgIHRoaXMuY2hpbGRyZW5DYWNoZSgpLFxuICAgICAgb3B0cyxcbiAgICApXG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIHRoYXQgbWF5IGJlIHByb3ZpZGVkIHRvIHRoZSBQYXRoU2N1cnJ5IGNvbnN0cnVjdG9yXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGF0aFNjdXJyeU9wdHMge1xuICAvKipcbiAgICogcGVyZm9ybSBjYXNlLWluc2Vuc2l0aXZlIHBhdGggbWF0Y2hpbmcuIERlZmF1bHQgYmFzZWQgb24gcGxhdGZvcm1cbiAgICogc3ViY2xhc3MuXG4gICAqL1xuICBub2Nhc2U/OiBib29sZWFuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgUGF0aCBlbnRyaWVzIHRvIGtlZXAgaW4gdGhlIGNhY2hlIG9mIFBhdGggY2hpbGQgcmVmZXJlbmNlcy5cbiAgICpcbiAgICogU2V0dGluZyB0aGlzIGhpZ2hlciB0aGFuIDY1NTM2IHdpbGwgZHJhbWF0aWNhbGx5IGluY3JlYXNlIHRoZSBkYXRhXG4gICAqIGNvbnN1bXB0aW9uIGFuZCBjb25zdHJ1Y3Rpb24gdGltZSBvdmVyaGVhZCBvZiBlYWNoIFBhdGhTY3VycnkuXG4gICAqXG4gICAqIFNldHRpbmcgdGhpcyB2YWx1ZSB0byAyNTYgb3IgbG93ZXIgd2lsbCBzaWduaWZpY2FudGx5IHJlZHVjZSB0aGUgZGF0YVxuICAgKiBjb25zdW1wdGlvbiBhbmQgY29uc3RydWN0aW9uIHRpbWUgb3ZlcmhlYWQsIGJ1dCBtYXkgYWxzbyByZWR1Y2UgcmVzb2x2ZSgpXG4gICAqIGFuZCByZWFkZGlyKCkgcGVyZm9ybWFuY2Ugb24gbGFyZ2UgZmlsZXN5c3RlbXMuXG4gICAqXG4gICAqIERlZmF1bHQgYDE2Mzg0YC5cbiAgICovXG4gIGNoaWxkcmVuQ2FjaGVTaXplPzogbnVtYmVyXG4gIC8qKlxuICAgKiBBbiBvYmplY3QgdGhhdCBvdmVycmlkZXMgdGhlIGJ1aWx0LWluIGZ1bmN0aW9ucyBmcm9tIHRoZSBmcyBhbmRcbiAgICogZnMvcHJvbWlzZXMgbW9kdWxlcy5cbiAgICpcbiAgICogU2VlIHtAbGluayBGU09wdGlvbn1cbiAgICovXG4gIGZzPzogRlNPcHRpb25cbn1cblxuLyoqXG4gKiBUaGUgYmFzZSBjbGFzcyBmb3IgYWxsIFBhdGhTY3VycnkgY2xhc3NlcywgcHJvdmlkaW5nIHRoZSBpbnRlcmZhY2UgZm9yIHBhdGhcbiAqIHJlc29sdXRpb24gYW5kIGZpbGVzeXN0ZW0gb3BlcmF0aW9ucy5cbiAqXG4gKiBUeXBpY2FsbHksIHlvdSBzaG91bGQgKm5vdCogaW5zdGFudGlhdGUgdGhpcyBjbGFzcyBkaXJlY3RseSwgYnV0IHJhdGhlciBvbmVcbiAqIG9mIHRoZSBwbGF0Zm9ybS1zcGVjaWZpYyBjbGFzc2VzLCBvciB0aGUgZXhwb3J0ZWQge0BsaW5rIFBhdGhTY3Vycnl9IHdoaWNoXG4gKiBkZWZhdWx0cyB0byB0aGUgY3VycmVudCBwbGF0Zm9ybS5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBhdGhTY3VycnlCYXNlIHtcbiAgLyoqXG4gICAqIFRoZSByb290IFBhdGggZW50cnkgZm9yIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IG9mIHRoaXMgU2N1cnJ5XG4gICAqL1xuICByb290OiBQYXRoQmFzZVxuICAvKipcbiAgICogVGhlIHN0cmluZyBwYXRoIGZvciB0aGUgcm9vdCBvZiB0aGlzIFNjdXJyeSdzIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnlcbiAgICovXG4gIHJvb3RQYXRoOiBzdHJpbmdcbiAgLyoqXG4gICAqIEEgY29sbGVjdGlvbiBvZiBhbGwgcm9vdHMgZW5jb3VudGVyZWQsIHJlZmVyZW5jZWQgYnkgcm9vdFBhdGhcbiAgICovXG4gIHJvb3RzOiB7IFtrOiBzdHJpbmddOiBQYXRoQmFzZSB9XG4gIC8qKlxuICAgKiBUaGUgUGF0aCBlbnRyeSBjb3JyZXNwb25kaW5nIHRvIHRoaXMgUGF0aFNjdXJyeSdzIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkuXG4gICAqL1xuICBjd2Q6IFBhdGhCYXNlXG4gICNyZXNvbHZlQ2FjaGU6IFJlc29sdmVDYWNoZVxuICAjcmVzb2x2ZVBvc2l4Q2FjaGU6IFJlc29sdmVDYWNoZVxuICAjY2hpbGRyZW46IENoaWxkcmVuQ2FjaGVcbiAgLyoqXG4gICAqIFBlcmZvcm0gcGF0aCBjb21wYXJpc29ucyBjYXNlLWluc2Vuc2l0aXZlbHkuXG4gICAqXG4gICAqIERlZmF1bHRzIHRydWUgb24gRGFyd2luIGFuZCBXaW5kb3dzIHN5c3RlbXMsIGZhbHNlIGVsc2V3aGVyZS5cbiAgICovXG4gIG5vY2FzZTogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBUaGUgcGF0aCBzZXBhcmF0b3IgdXNlZCBmb3IgcGFyc2luZyBwYXRoc1xuICAgKlxuICAgKiBgJy8nYCBvbiBQb3NpeCBzeXN0ZW1zLCBlaXRoZXIgYCcvJ2Agb3IgYCdcXFxcJ2Agb24gV2luZG93c1xuICAgKi9cbiAgYWJzdHJhY3Qgc2VwOiBzdHJpbmcgfCBSZWdFeHBcblxuICAjZnM6IEZTVmFsdWVcblxuICAvKipcbiAgICogVGhpcyBjbGFzcyBzaG91bGQgbm90IGJlIGluc3RhbnRpYXRlZCBkaXJlY3RseS5cbiAgICpcbiAgICogVXNlIFBhdGhTY3VycnlXaW4zMiwgUGF0aFNjdXJyeURhcndpbiwgUGF0aFNjdXJyeVBvc2l4LCBvciBQYXRoU2N1cnJ5XG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgY3dkOiBVUkwgfCBzdHJpbmcgPSBwcm9jZXNzLmN3ZCgpLFxuICAgIHBhdGhJbXBsOiB0eXBlb2Ygd2luMzIgfCB0eXBlb2YgcG9zaXgsXG4gICAgc2VwOiBzdHJpbmcgfCBSZWdFeHAsXG4gICAge1xuICAgICAgbm9jYXNlLFxuICAgICAgY2hpbGRyZW5DYWNoZVNpemUgPSAxNiAqIDEwMjQsXG4gICAgICBmcyA9IGRlZmF1bHRGUyxcbiAgICB9OiBQYXRoU2N1cnJ5T3B0cyA9IHt9LFxuICApIHtcbiAgICB0aGlzLiNmcyA9IGZzRnJvbU9wdGlvbihmcylcbiAgICBpZiAoY3dkIGluc3RhbmNlb2YgVVJMIHx8IGN3ZC5zdGFydHNXaXRoKCdmaWxlOi8vJykpIHtcbiAgICAgIGN3ZCA9IGZpbGVVUkxUb1BhdGgoY3dkKVxuICAgIH1cbiAgICAvLyByZXNvbHZlIGFuZCBzcGxpdCByb290LCBhbmQgdGhlbiBhZGQgdG8gdGhlIHN0b3JlLlxuICAgIC8vIHRoaXMgaXMgdGhlIG9ubHkgdGltZSB3ZSBjYWxsIHBhdGgucmVzb2x2ZSgpXG4gICAgY29uc3QgY3dkUGF0aCA9IHBhdGhJbXBsLnJlc29sdmUoY3dkKVxuICAgIHRoaXMucm9vdHMgPSBPYmplY3QuY3JlYXRlKG51bGwpXG4gICAgdGhpcy5yb290UGF0aCA9IHRoaXMucGFyc2VSb290UGF0aChjd2RQYXRoKVxuICAgIHRoaXMuI3Jlc29sdmVDYWNoZSA9IG5ldyBSZXNvbHZlQ2FjaGUoKVxuICAgIHRoaXMuI3Jlc29sdmVQb3NpeENhY2hlID0gbmV3IFJlc29sdmVDYWNoZSgpXG4gICAgdGhpcy4jY2hpbGRyZW4gPSBuZXcgQ2hpbGRyZW5DYWNoZShjaGlsZHJlbkNhY2hlU2l6ZSlcblxuICAgIGNvbnN0IHNwbGl0ID0gY3dkUGF0aC5zdWJzdHJpbmcodGhpcy5yb290UGF0aC5sZW5ndGgpLnNwbGl0KHNlcClcbiAgICAvLyByZXNvbHZlKCcvJykgbGVhdmVzICcnLCBzcGxpdHMgdG8gWycnXSwgd2UgZG9uJ3Qgd2FudCB0aGF0LlxuICAgIGlmIChzcGxpdC5sZW5ndGggPT09IDEgJiYgIXNwbGl0WzBdKSB7XG4gICAgICBzcGxpdC5wb3AoKVxuICAgIH1cbiAgICAvKiBjOCBpZ25vcmUgc3RhcnQgKi9cbiAgICBpZiAobm9jYXNlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAgICdtdXN0IHByb3ZpZGUgbm9jYXNlIHNldHRpbmcgdG8gUGF0aFNjdXJyeUJhc2UgY3RvcicsXG4gICAgICApXG4gICAgfVxuICAgIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gICAgdGhpcy5ub2Nhc2UgPSBub2Nhc2VcbiAgICB0aGlzLnJvb3QgPSB0aGlzLm5ld1Jvb3QodGhpcy4jZnMpXG4gICAgdGhpcy5yb290c1t0aGlzLnJvb3RQYXRoXSA9IHRoaXMucm9vdFxuICAgIGxldCBwcmV2OiBQYXRoQmFzZSA9IHRoaXMucm9vdFxuICAgIGxldCBsZW4gPSBzcGxpdC5sZW5ndGggLSAxXG4gICAgY29uc3Qgam9pblNlcCA9IHBhdGhJbXBsLnNlcFxuICAgIGxldCBhYnMgPSB0aGlzLnJvb3RQYXRoXG4gICAgbGV0IHNhd0ZpcnN0ID0gZmFsc2VcbiAgICBmb3IgKGNvbnN0IHBhcnQgb2Ygc3BsaXQpIHtcbiAgICAgIGNvbnN0IGwgPSBsZW4tLVxuICAgICAgcHJldiA9IHByZXYuY2hpbGQocGFydCwge1xuICAgICAgICByZWxhdGl2ZTogbmV3IEFycmF5KGwpLmZpbGwoJy4uJykuam9pbihqb2luU2VwKSxcbiAgICAgICAgcmVsYXRpdmVQb3NpeDogbmV3IEFycmF5KGwpLmZpbGwoJy4uJykuam9pbignLycpLFxuICAgICAgICBmdWxscGF0aDogKGFicyArPSAoc2F3Rmlyc3QgPyAnJyA6IGpvaW5TZXApICsgcGFydCksXG4gICAgICB9KVxuICAgICAgc2F3Rmlyc3QgPSB0cnVlXG4gICAgfVxuICAgIHRoaXMuY3dkID0gcHJldlxuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZGVwdGggb2YgYSBwcm92aWRlZCBwYXRoLCBzdHJpbmcsIG9yIHRoZSBjd2RcbiAgICovXG4gIGRlcHRoKHBhdGg6IFBhdGggfCBzdHJpbmcgPSB0aGlzLmN3ZCk6IG51bWJlciB7XG4gICAgaWYgKHR5cGVvZiBwYXRoID09PSAnc3RyaW5nJykge1xuICAgICAgcGF0aCA9IHRoaXMuY3dkLnJlc29sdmUocGF0aClcbiAgICB9XG4gICAgcmV0dXJuIHBhdGguZGVwdGgoKVxuICB9XG5cbiAgLyoqXG4gICAqIFBhcnNlIHRoZSByb290IHBvcnRpb24gb2YgYSBwYXRoIHN0cmluZ1xuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGFic3RyYWN0IHBhcnNlUm9vdFBhdGgoZGlyOiBzdHJpbmcpOiBzdHJpbmdcbiAgLyoqXG4gICAqIGNyZWF0ZSBhIG5ldyBQYXRoIHRvIHVzZSBhcyByb290IGR1cmluZyBjb25zdHJ1Y3Rpb24uXG4gICAqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgYWJzdHJhY3QgbmV3Um9vdChmczogRlNWYWx1ZSk6IFBhdGhCYXNlXG4gIC8qKlxuICAgKiBEZXRlcm1pbmUgd2hldGhlciBhIGdpdmVuIHBhdGggc3RyaW5nIGlzIGFic29sdXRlXG4gICAqL1xuICBhYnN0cmFjdCBpc0Fic29sdXRlKHA6IHN0cmluZyk6IGJvb2xlYW5cblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBjYWNoZSBvZiBjaGlsZCBlbnRyaWVzLiAgRXhwb3NlZCBzbyBzdWJjbGFzc2VzIGNhbiBjcmVhdGVcbiAgICogY2hpbGQgUGF0aCBvYmplY3RzIGluIGEgcGxhdGZvcm0tc3BlY2lmaWMgd2F5LlxuICAgKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIGNoaWxkcmVuQ2FjaGUoKSB7XG4gICAgcmV0dXJuIHRoaXMuI2NoaWxkcmVuXG4gIH1cblxuICAvKipcbiAgICogUmVzb2x2ZSBvbmUgb3IgbW9yZSBwYXRoIHN0cmluZ3MgdG8gYSByZXNvbHZlZCBzdHJpbmdcbiAgICpcbiAgICogU2FtZSBpbnRlcmZhY2UgYXMgcmVxdWlyZSgncGF0aCcpLnJlc29sdmUuXG4gICAqXG4gICAqIE11Y2ggZmFzdGVyIHRoYW4gcGF0aC5yZXNvbHZlKCkgd2hlbiBjYWxsZWQgbXVsdGlwbGUgdGltZXMgZm9yIHRoZSBzYW1lXG4gICAqIHBhdGgsIGJlY2F1c2UgdGhlIHJlc29sdmVkIFBhdGggb2JqZWN0cyBhcmUgY2FjaGVkLiAgTXVjaCBzbG93ZXJcbiAgICogb3RoZXJ3aXNlLlxuICAgKi9cbiAgcmVzb2x2ZSguLi5wYXRoczogc3RyaW5nW10pOiBzdHJpbmcge1xuICAgIC8vIGZpcnN0IGZpZ3VyZSBvdXQgdGhlIG1pbmltdW0gbnVtYmVyIG9mIHBhdGhzIHdlIGhhdmUgdG8gdGVzdFxuICAgIC8vIHdlIGFsd2F5cyBzdGFydCBhdCBjd2QsIGJ1dCBhbnkgYWJzb2x1dGVzIHdpbGwgYnVtcCB0aGUgc3RhcnRcbiAgICBsZXQgciA9ICcnXG4gICAgZm9yIChsZXQgaSA9IHBhdGhzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCBwID0gcGF0aHNbaV1cbiAgICAgIGlmICghcCB8fCBwID09PSAnLicpIGNvbnRpbnVlXG4gICAgICByID0gciA/IGAke3B9LyR7cn1gIDogcFxuICAgICAgaWYgKHRoaXMuaXNBYnNvbHV0ZShwKSkge1xuICAgICAgICBicmVha1xuICAgICAgfVxuICAgIH1cbiAgICBjb25zdCBjYWNoZWQgPSB0aGlzLiNyZXNvbHZlQ2FjaGUuZ2V0KHIpXG4gICAgaWYgKGNhY2hlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gY2FjaGVkXG4gICAgfVxuICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuY3dkLnJlc29sdmUocikuZnVsbHBhdGgoKVxuICAgIHRoaXMuI3Jlc29sdmVDYWNoZS5zZXQociwgcmVzdWx0KVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXNvbHZlIG9uZSBvciBtb3JlIHBhdGggc3RyaW5ncyB0byBhIHJlc29sdmVkIHN0cmluZywgcmV0dXJuaW5nXG4gICAqIHRoZSBwb3NpeCBwYXRoLiAgSWRlbnRpY2FsIHRvIC5yZXNvbHZlKCkgb24gcG9zaXggc3lzdGVtcywgYnV0IG9uXG4gICAqIHdpbmRvd3Mgd2lsbCByZXR1cm4gYSBmb3J3YXJkLXNsYXNoIHNlcGFyYXRlZCBVTkMgcGF0aC5cbiAgICpcbiAgICogU2FtZSBpbnRlcmZhY2UgYXMgcmVxdWlyZSgncGF0aCcpLnJlc29sdmUuXG4gICAqXG4gICAqIE11Y2ggZmFzdGVyIHRoYW4gcGF0aC5yZXNvbHZlKCkgd2hlbiBjYWxsZWQgbXVsdGlwbGUgdGltZXMgZm9yIHRoZSBzYW1lXG4gICAqIHBhdGgsIGJlY2F1c2UgdGhlIHJlc29sdmVkIFBhdGggb2JqZWN0cyBhcmUgY2FjaGVkLiAgTXVjaCBzbG93ZXJcbiAgICogb3RoZXJ3aXNlLlxuICAgKi9cbiAgcmVzb2x2ZVBvc2l4KC4uLnBhdGhzOiBzdHJpbmdbXSk6IHN0cmluZyB7XG4gICAgLy8gZmlyc3QgZmlndXJlIG91dCB0aGUgbWluaW11bSBudW1iZXIgb2YgcGF0aHMgd2UgaGF2ZSB0byB0ZXN0XG4gICAgLy8gd2UgYWx3YXlzIHN0YXJ0IGF0IGN3ZCwgYnV0IGFueSBhYnNvbHV0ZXMgd2lsbCBidW1wIHRoZSBzdGFydFxuICAgIGxldCByID0gJydcbiAgICBmb3IgKGxldCBpID0gcGF0aHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIGNvbnN0IHAgPSBwYXRoc1tpXVxuICAgICAgaWYgKCFwIHx8IHAgPT09ICcuJykgY29udGludWVcbiAgICAgIHIgPSByID8gYCR7cH0vJHtyfWAgOiBwXG4gICAgICBpZiAodGhpcy5pc0Fic29sdXRlKHApKSB7XG4gICAgICAgIGJyZWFrXG4gICAgICB9XG4gICAgfVxuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMuI3Jlc29sdmVQb3NpeENhY2hlLmdldChyKVxuICAgIGlmIChjYWNoZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGNhY2hlZFxuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSB0aGlzLmN3ZC5yZXNvbHZlKHIpLmZ1bGxwYXRoUG9zaXgoKVxuICAgIHRoaXMuI3Jlc29sdmVQb3NpeENhY2hlLnNldChyLCByZXN1bHQpXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgLyoqXG4gICAqIGZpbmQgdGhlIHJlbGF0aXZlIHBhdGggZnJvbSB0aGUgY3dkIHRvIHRoZSBzdXBwbGllZCBwYXRoIHN0cmluZyBvciBlbnRyeVxuICAgKi9cbiAgcmVsYXRpdmUoZW50cnk6IFBhdGhCYXNlIHwgc3RyaW5nID0gdGhpcy5jd2QpOiBzdHJpbmcge1xuICAgIGlmICh0eXBlb2YgZW50cnkgPT09ICdzdHJpbmcnKSB7XG4gICAgICBlbnRyeSA9IHRoaXMuY3dkLnJlc29sdmUoZW50cnkpXG4gICAgfVxuICAgIHJldHVybiBlbnRyeS5yZWxhdGl2ZSgpXG4gIH1cblxuICAvKipcbiAgICogZmluZCB0aGUgcmVsYXRpdmUgcGF0aCBmcm9tIHRoZSBjd2QgdG8gdGhlIHN1cHBsaWVkIHBhdGggc3RyaW5nIG9yXG4gICAqIGVudHJ5LCB1c2luZyAvIGFzIHRoZSBwYXRoIGRlbGltaXRlciwgZXZlbiBvbiBXaW5kb3dzLlxuICAgKi9cbiAgcmVsYXRpdmVQb3NpeChlbnRyeTogUGF0aEJhc2UgfCBzdHJpbmcgPSB0aGlzLmN3ZCk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiBlbnRyeSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVudHJ5ID0gdGhpcy5jd2QucmVzb2x2ZShlbnRyeSlcbiAgICB9XG4gICAgcmV0dXJuIGVudHJ5LnJlbGF0aXZlUG9zaXgoKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgYmFzZW5hbWUgZm9yIHRoZSBwcm92aWRlZCBzdHJpbmcgb3IgUGF0aCBvYmplY3RcbiAgICovXG4gIGJhc2VuYW1lKGVudHJ5OiBQYXRoQmFzZSB8IHN0cmluZyA9IHRoaXMuY3dkKTogc3RyaW5nIHtcbiAgICBpZiAodHlwZW9mIGVudHJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgZW50cnkgPSB0aGlzLmN3ZC5yZXNvbHZlKGVudHJ5KVxuICAgIH1cbiAgICByZXR1cm4gZW50cnkubmFtZVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgZGlybmFtZSBmb3IgdGhlIHByb3ZpZGVkIHN0cmluZyBvciBQYXRoIG9iamVjdFxuICAgKi9cbiAgZGlybmFtZShlbnRyeTogUGF0aEJhc2UgfCBzdHJpbmcgPSB0aGlzLmN3ZCk6IHN0cmluZyB7XG4gICAgaWYgKHR5cGVvZiBlbnRyeSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVudHJ5ID0gdGhpcy5jd2QucmVzb2x2ZShlbnRyeSlcbiAgICB9XG4gICAgcmV0dXJuIChlbnRyeS5wYXJlbnQgfHwgZW50cnkpLmZ1bGxwYXRoKClcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYW4gYXJyYXkgb2Yga25vd24gY2hpbGQgZW50cmllcy5cbiAgICpcbiAgICogRmlyc3QgYXJndW1lbnQgbWF5IGJlIGVpdGhlciBhIHN0cmluZywgb3IgYSBQYXRoIG9iamVjdC5cbiAgICpcbiAgICogSWYgdGhlIFBhdGggY2Fubm90IG9yIGRvZXMgbm90IGNvbnRhaW4gYW55IGNoaWxkcmVuLCB0aGVuIGFuIGVtcHR5IGFycmF5XG4gICAqIGlzIHJldHVybmVkLlxuICAgKlxuICAgKiBSZXN1bHRzIGFyZSBjYWNoZWQsIGFuZCB0aHVzIG1heSBiZSBvdXQgb2YgZGF0ZSBpZiB0aGUgZmlsZXN5c3RlbSBpc1xuICAgKiBtdXRhdGVkLlxuICAgKlxuICAgKiBVbmxpa2UgYGZzLnJlYWRkaXIoKWAsIHRoZSBgd2l0aEZpbGVUeXBlc2Agb3B0aW9uIGRlZmF1bHRzIHRvIGB0cnVlYC4gU2V0XG4gICAqIGB7IHdpdGhGaWxlVHlwZXM6IGZhbHNlIH1gIHRvIHJldHVybiBzdHJpbmdzLlxuICAgKi9cblxuICByZWFkZGlyKCk6IFByb21pc2U8UGF0aEJhc2VbXT5cbiAgcmVhZGRpcihvcHRzOiB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSk6IFByb21pc2U8UGF0aEJhc2VbXT5cbiAgcmVhZGRpcihvcHRzOiB7IHdpdGhGaWxlVHlwZXM6IGZhbHNlIH0pOiBQcm9taXNlPHN0cmluZ1tdPlxuICByZWFkZGlyKG9wdHM6IHsgd2l0aEZpbGVUeXBlczogYm9vbGVhbiB9KTogUHJvbWlzZTxQYXRoQmFzZVtdIHwgc3RyaW5nW10+XG4gIHJlYWRkaXIoZW50cnk6IFBhdGhCYXNlIHwgc3RyaW5nKTogUHJvbWlzZTxQYXRoQmFzZVtdPlxuICByZWFkZGlyKFxuICAgIGVudHJ5OiBQYXRoQmFzZSB8IHN0cmluZyxcbiAgICBvcHRzOiB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSxcbiAgKTogUHJvbWlzZTxQYXRoQmFzZVtdPlxuICByZWFkZGlyKFxuICAgIGVudHJ5OiBQYXRoQmFzZSB8IHN0cmluZyxcbiAgICBvcHRzOiB7IHdpdGhGaWxlVHlwZXM6IGZhbHNlIH0sXG4gICk6IFByb21pc2U8c3RyaW5nW10+XG4gIHJlYWRkaXIoXG4gICAgZW50cnk6IFBhdGhCYXNlIHwgc3RyaW5nLFxuICAgIG9wdHM6IHsgd2l0aEZpbGVUeXBlczogYm9vbGVhbiB9LFxuICApOiBQcm9taXNlPFBhdGhCYXNlW10gfCBzdHJpbmdbXT5cbiAgYXN5bmMgcmVhZGRpcihcbiAgICBlbnRyeTogUGF0aEJhc2UgfCBzdHJpbmcgfCB7IHdpdGhGaWxlVHlwZXM6IGJvb2xlYW4gfSA9IHRoaXMuY3dkLFxuICAgIG9wdHM6IHsgd2l0aEZpbGVUeXBlczogYm9vbGVhbiB9ID0ge1xuICAgICAgd2l0aEZpbGVUeXBlczogdHJ1ZSxcbiAgICB9LFxuICApOiBQcm9taXNlPFBhdGhCYXNlW10gfCBzdHJpbmdbXT4ge1xuICAgIGlmICh0eXBlb2YgZW50cnkgPT09ICdzdHJpbmcnKSB7XG4gICAgICBlbnRyeSA9IHRoaXMuY3dkLnJlc29sdmUoZW50cnkpXG4gICAgfSBlbHNlIGlmICghKGVudHJ5IGluc3RhbmNlb2YgUGF0aEJhc2UpKSB7XG4gICAgICBvcHRzID0gZW50cnlcbiAgICAgIGVudHJ5ID0gdGhpcy5jd2RcbiAgICB9XG4gICAgY29uc3QgeyB3aXRoRmlsZVR5cGVzIH0gPSBvcHRzXG4gICAgaWYgKCFlbnRyeS5jYW5SZWFkZGlyKCkpIHtcbiAgICAgIHJldHVybiBbXVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwID0gYXdhaXQgZW50cnkucmVhZGRpcigpXG4gICAgICByZXR1cm4gd2l0aEZpbGVUeXBlcyA/IHAgOiBwLm1hcChlID0+IGUubmFtZSlcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogc3luY2hyb25vdXMge0BsaW5rIFBhdGhTY3VycnlCYXNlLnJlYWRkaXJ9XG4gICAqL1xuICByZWFkZGlyU3luYygpOiBQYXRoQmFzZVtdXG4gIHJlYWRkaXJTeW5jKG9wdHM6IHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KTogUGF0aEJhc2VbXVxuICByZWFkZGlyU3luYyhvcHRzOiB7IHdpdGhGaWxlVHlwZXM6IGZhbHNlIH0pOiBzdHJpbmdbXVxuICByZWFkZGlyU3luYyhvcHRzOiB7IHdpdGhGaWxlVHlwZXM6IGJvb2xlYW4gfSk6IFBhdGhCYXNlW10gfCBzdHJpbmdbXVxuICByZWFkZGlyU3luYyhlbnRyeTogUGF0aEJhc2UgfCBzdHJpbmcpOiBQYXRoQmFzZVtdXG4gIHJlYWRkaXJTeW5jKFxuICAgIGVudHJ5OiBQYXRoQmFzZSB8IHN0cmluZyxcbiAgICBvcHRzOiB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSxcbiAgKTogUGF0aEJhc2VbXVxuICByZWFkZGlyU3luYyhcbiAgICBlbnRyeTogUGF0aEJhc2UgfCBzdHJpbmcsXG4gICAgb3B0czogeyB3aXRoRmlsZVR5cGVzOiBmYWxzZSB9LFxuICApOiBzdHJpbmdbXVxuICByZWFkZGlyU3luYyhcbiAgICBlbnRyeTogUGF0aEJhc2UgfCBzdHJpbmcsXG4gICAgb3B0czogeyB3aXRoRmlsZVR5cGVzOiBib29sZWFuIH0sXG4gICk6IFBhdGhCYXNlW10gfCBzdHJpbmdbXVxuICByZWFkZGlyU3luYyhcbiAgICBlbnRyeTogUGF0aEJhc2UgfCBzdHJpbmcgfCB7IHdpdGhGaWxlVHlwZXM6IGJvb2xlYW4gfSA9IHRoaXMuY3dkLFxuICAgIG9wdHM6IHsgd2l0aEZpbGVUeXBlczogYm9vbGVhbiB9ID0ge1xuICAgICAgd2l0aEZpbGVUeXBlczogdHJ1ZSxcbiAgICB9LFxuICApOiBQYXRoQmFzZVtdIHwgc3RyaW5nW10ge1xuICAgIGlmICh0eXBlb2YgZW50cnkgPT09ICdzdHJpbmcnKSB7XG4gICAgICBlbnRyeSA9IHRoaXMuY3dkLnJlc29sdmUoZW50cnkpXG4gICAgfSBlbHNlIGlmICghKGVudHJ5IGluc3RhbmNlb2YgUGF0aEJhc2UpKSB7XG4gICAgICBvcHRzID0gZW50cnlcbiAgICAgIGVudHJ5ID0gdGhpcy5jd2RcbiAgICB9XG4gICAgY29uc3QgeyB3aXRoRmlsZVR5cGVzID0gdHJ1ZSB9ID0gb3B0c1xuICAgIGlmICghZW50cnkuY2FuUmVhZGRpcigpKSB7XG4gICAgICByZXR1cm4gW11cbiAgICB9IGVsc2UgaWYgKHdpdGhGaWxlVHlwZXMpIHtcbiAgICAgIHJldHVybiBlbnRyeS5yZWFkZGlyU3luYygpXG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBlbnRyeS5yZWFkZGlyU3luYygpLm1hcChlID0+IGUubmFtZSlcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2FsbCBsc3RhdCgpIG9uIHRoZSBzdHJpbmcgb3IgUGF0aCBvYmplY3QsIGFuZCB1cGRhdGUgYWxsIGtub3duXG4gICAqIGluZm9ybWF0aW9uIHRoYXQgY2FuIGJlIGRldGVybWluZWQuXG4gICAqXG4gICAqIE5vdGUgdGhhdCB1bmxpa2UgYGZzLmxzdGF0KClgLCB0aGUgcmV0dXJuZWQgdmFsdWUgZG9lcyBub3QgY29udGFpbiBzb21lXG4gICAqIGluZm9ybWF0aW9uLCBzdWNoIGFzIGBtb2RlYCwgYGRldmAsIGBubGlua2AsIGFuZCBgaW5vYC4gIElmIHRoYXRcbiAgICogaW5mb3JtYXRpb24gaXMgcmVxdWlyZWQsIHlvdSB3aWxsIG5lZWQgdG8gY2FsbCBgZnMubHN0YXRgIHlvdXJzZWxmLlxuICAgKlxuICAgKiBJZiB0aGUgUGF0aCByZWZlcnMgdG8gYSBub25leGlzdGVudCBmaWxlLCBvciBpZiB0aGUgbHN0YXQgY2FsbCBmYWlscyBmb3JcbiAgICogYW55IHJlYXNvbiwgYHVuZGVmaW5lZGAgaXMgcmV0dXJuZWQuICBPdGhlcndpc2UgdGhlIHVwZGF0ZWQgUGF0aCBvYmplY3QgaXNcbiAgICogcmV0dXJuZWQuXG4gICAqXG4gICAqIFJlc3VsdHMgYXJlIGNhY2hlZCwgYW5kIHRodXMgbWF5IGJlIG91dCBvZiBkYXRlIGlmIHRoZSBmaWxlc3lzdGVtIGlzXG4gICAqIG11dGF0ZWQuXG4gICAqL1xuICBhc3luYyBsc3RhdChcbiAgICBlbnRyeTogc3RyaW5nIHwgUGF0aEJhc2UgPSB0aGlzLmN3ZCxcbiAgKTogUHJvbWlzZTxQYXRoQmFzZSB8IHVuZGVmaW5lZD4ge1xuICAgIGlmICh0eXBlb2YgZW50cnkgPT09ICdzdHJpbmcnKSB7XG4gICAgICBlbnRyeSA9IHRoaXMuY3dkLnJlc29sdmUoZW50cnkpXG4gICAgfVxuICAgIHJldHVybiBlbnRyeS5sc3RhdCgpXG4gIH1cblxuICAvKipcbiAgICogc3luY2hyb25vdXMge0BsaW5rIFBhdGhTY3VycnlCYXNlLmxzdGF0fVxuICAgKi9cbiAgbHN0YXRTeW5jKGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSA9IHRoaXMuY3dkKTogUGF0aEJhc2UgfCB1bmRlZmluZWQge1xuICAgIGlmICh0eXBlb2YgZW50cnkgPT09ICdzdHJpbmcnKSB7XG4gICAgICBlbnRyeSA9IHRoaXMuY3dkLnJlc29sdmUoZW50cnkpXG4gICAgfVxuICAgIHJldHVybiBlbnRyeS5sc3RhdFN5bmMoKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgUGF0aCBvYmplY3Qgb3Igc3RyaW5nIHBhdGggY29ycmVzcG9uZGluZyB0byB0aGUgdGFyZ2V0IG9mIGFcbiAgICogc3ltYm9saWMgbGluay5cbiAgICpcbiAgICogSWYgdGhlIHBhdGggaXMgbm90IGEgc3ltYm9saWMgbGluaywgb3IgaWYgdGhlIHJlYWRsaW5rIGNhbGwgZmFpbHMgZm9yIGFueVxuICAgKiByZWFzb24sIGB1bmRlZmluZWRgIGlzIHJldHVybmVkLlxuICAgKlxuICAgKiBSZXN1bHQgaXMgY2FjaGVkLCBhbmQgdGh1cyBtYXkgYmUgb3V0ZGF0ZWQgaWYgdGhlIGZpbGVzeXN0ZW0gaXMgbXV0YXRlZC5cbiAgICpcbiAgICogYHt3aXRoRmlsZVR5cGVzfWAgb3B0aW9uIGRlZmF1bHRzIHRvIGBmYWxzZWAuXG4gICAqXG4gICAqIE9uIHN1Y2Nlc3MsIHJldHVybnMgYSBQYXRoIG9iamVjdCBpZiBgd2l0aEZpbGVUeXBlc2Agb3B0aW9uIGlzIHRydWUsXG4gICAqIG90aGVyd2lzZSBhIHN0cmluZy5cbiAgICovXG4gIHJlYWRsaW5rKCk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPlxuICByZWFkbGluayhvcHQ6IHsgd2l0aEZpbGVUeXBlczogZmFsc2UgfSk6IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPlxuICByZWFkbGluayhvcHQ6IHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KTogUHJvbWlzZTxQYXRoQmFzZSB8IHVuZGVmaW5lZD5cbiAgcmVhZGxpbmsob3B0OiB7XG4gICAgd2l0aEZpbGVUeXBlczogYm9vbGVhblxuICB9KTogUHJvbWlzZTxQYXRoQmFzZSB8IHN0cmluZyB8IHVuZGVmaW5lZD5cbiAgcmVhZGxpbmsoXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlLFxuICAgIG9wdD86IHsgd2l0aEZpbGVUeXBlczogZmFsc2UgfSxcbiAgKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+XG4gIHJlYWRsaW5rKFxuICAgIGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSxcbiAgICBvcHQ6IHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9LFxuICApOiBQcm9taXNlPFBhdGhCYXNlIHwgdW5kZWZpbmVkPlxuICByZWFkbGluayhcbiAgICBlbnRyeTogc3RyaW5nIHwgUGF0aEJhc2UsXG4gICAgb3B0OiB7IHdpdGhGaWxlVHlwZXM6IGJvb2xlYW4gfSxcbiAgKTogUHJvbWlzZTxzdHJpbmcgfCBQYXRoQmFzZSB8IHVuZGVmaW5lZD5cbiAgYXN5bmMgcmVhZGxpbmsoXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlIHwgeyB3aXRoRmlsZVR5cGVzOiBib29sZWFuIH0gPSB0aGlzLmN3ZCxcbiAgICB7IHdpdGhGaWxlVHlwZXMgfTogeyB3aXRoRmlsZVR5cGVzOiBib29sZWFuIH0gPSB7XG4gICAgICB3aXRoRmlsZVR5cGVzOiBmYWxzZSxcbiAgICB9LFxuICApOiBQcm9taXNlPHN0cmluZyB8IFBhdGhCYXNlIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKHR5cGVvZiBlbnRyeSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVudHJ5ID0gdGhpcy5jd2QucmVzb2x2ZShlbnRyeSlcbiAgICB9IGVsc2UgaWYgKCEoZW50cnkgaW5zdGFuY2VvZiBQYXRoQmFzZSkpIHtcbiAgICAgIHdpdGhGaWxlVHlwZXMgPSBlbnRyeS53aXRoRmlsZVR5cGVzXG4gICAgICBlbnRyeSA9IHRoaXMuY3dkXG4gICAgfVxuICAgIGNvbnN0IGUgPSBhd2FpdCBlbnRyeS5yZWFkbGluaygpXG4gICAgcmV0dXJuIHdpdGhGaWxlVHlwZXMgPyBlIDogZT8uZnVsbHBhdGgoKVxuICB9XG5cbiAgLyoqXG4gICAqIHN5bmNocm9ub3VzIHtAbGluayBQYXRoU2N1cnJ5QmFzZS5yZWFkbGlua31cbiAgICovXG4gIHJlYWRsaW5rU3luYygpOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgcmVhZGxpbmtTeW5jKG9wdDogeyB3aXRoRmlsZVR5cGVzOiBmYWxzZSB9KTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIHJlYWRsaW5rU3luYyhvcHQ6IHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9KTogUGF0aEJhc2UgfCB1bmRlZmluZWRcbiAgcmVhZGxpbmtTeW5jKG9wdDoge1xuICAgIHdpdGhGaWxlVHlwZXM6IGJvb2xlYW5cbiAgfSk6IFBhdGhCYXNlIHwgc3RyaW5nIHwgdW5kZWZpbmVkXG4gIHJlYWRsaW5rU3luYyhcbiAgICBlbnRyeTogc3RyaW5nIHwgUGF0aEJhc2UsXG4gICAgb3B0PzogeyB3aXRoRmlsZVR5cGVzOiBmYWxzZSB9LFxuICApOiBzdHJpbmcgfCB1bmRlZmluZWRcbiAgcmVhZGxpbmtTeW5jKFxuICAgIGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSxcbiAgICBvcHQ6IHsgd2l0aEZpbGVUeXBlczogdHJ1ZSB9LFxuICApOiBQYXRoQmFzZSB8IHVuZGVmaW5lZFxuICByZWFkbGlua1N5bmMoXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlLFxuICAgIG9wdDogeyB3aXRoRmlsZVR5cGVzOiBib29sZWFuIH0sXG4gICk6IHN0cmluZyB8IFBhdGhCYXNlIHwgdW5kZWZpbmVkXG4gIHJlYWRsaW5rU3luYyhcbiAgICBlbnRyeTogc3RyaW5nIHwgUGF0aEJhc2UgfCB7IHdpdGhGaWxlVHlwZXM6IGJvb2xlYW4gfSA9IHRoaXMuY3dkLFxuICAgIHsgd2l0aEZpbGVUeXBlcyB9OiB7IHdpdGhGaWxlVHlwZXM6IGJvb2xlYW4gfSA9IHtcbiAgICAgIHdpdGhGaWxlVHlwZXM6IGZhbHNlLFxuICAgIH0sXG4gICk6IHN0cmluZyB8IFBhdGhCYXNlIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAodHlwZW9mIGVudHJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgZW50cnkgPSB0aGlzLmN3ZC5yZXNvbHZlKGVudHJ5KVxuICAgIH0gZWxzZSBpZiAoIShlbnRyeSBpbnN0YW5jZW9mIFBhdGhCYXNlKSkge1xuICAgICAgd2l0aEZpbGVUeXBlcyA9IGVudHJ5LndpdGhGaWxlVHlwZXNcbiAgICAgIGVudHJ5ID0gdGhpcy5jd2RcbiAgICB9XG4gICAgY29uc3QgZSA9IGVudHJ5LnJlYWRsaW5rU3luYygpXG4gICAgcmV0dXJuIHdpdGhGaWxlVHlwZXMgPyBlIDogZT8uZnVsbHBhdGgoKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgUGF0aCBvYmplY3Qgb3Igc3RyaW5nIHBhdGggY29ycmVzcG9uZGluZyB0byBwYXRoIGFzIHJlc29sdmVkXG4gICAqIGJ5IHJlYWxwYXRoKDMpLlxuICAgKlxuICAgKiBJZiB0aGUgcmVhbHBhdGggY2FsbCBmYWlscyBmb3IgYW55IHJlYXNvbiwgYHVuZGVmaW5lZGAgaXMgcmV0dXJuZWQuXG4gICAqXG4gICAqIFJlc3VsdCBpcyBjYWNoZWQsIGFuZCB0aHVzIG1heSBiZSBvdXRkYXRlZCBpZiB0aGUgZmlsZXN5c3RlbSBpcyBtdXRhdGVkLlxuICAgKlxuICAgKiBge3dpdGhGaWxlVHlwZXN9YCBvcHRpb24gZGVmYXVsdHMgdG8gYGZhbHNlYC5cbiAgICpcbiAgICogT24gc3VjY2VzcywgcmV0dXJucyBhIFBhdGggb2JqZWN0IGlmIGB3aXRoRmlsZVR5cGVzYCBvcHRpb24gaXMgdHJ1ZSxcbiAgICogb3RoZXJ3aXNlIGEgc3RyaW5nLlxuICAgKi9cbiAgcmVhbHBhdGgoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+XG4gIHJlYWxwYXRoKG9wdDogeyB3aXRoRmlsZVR5cGVzOiBmYWxzZSB9KTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+XG4gIHJlYWxwYXRoKG9wdDogeyB3aXRoRmlsZVR5cGVzOiB0cnVlIH0pOiBQcm9taXNlPFBhdGhCYXNlIHwgdW5kZWZpbmVkPlxuICByZWFscGF0aChvcHQ6IHtcbiAgICB3aXRoRmlsZVR5cGVzOiBib29sZWFuXG4gIH0pOiBQcm9taXNlPFBhdGhCYXNlIHwgc3RyaW5nIHwgdW5kZWZpbmVkPlxuICByZWFscGF0aChcbiAgICBlbnRyeTogc3RyaW5nIHwgUGF0aEJhc2UsXG4gICAgb3B0PzogeyB3aXRoRmlsZVR5cGVzOiBmYWxzZSB9LFxuICApOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD5cbiAgcmVhbHBhdGgoXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlLFxuICAgIG9wdDogeyB3aXRoRmlsZVR5cGVzOiB0cnVlIH0sXG4gICk6IFByb21pc2U8UGF0aEJhc2UgfCB1bmRlZmluZWQ+XG4gIHJlYWxwYXRoKFxuICAgIGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSxcbiAgICBvcHQ6IHsgd2l0aEZpbGVUeXBlczogYm9vbGVhbiB9LFxuICApOiBQcm9taXNlPHN0cmluZyB8IFBhdGhCYXNlIHwgdW5kZWZpbmVkPlxuICBhc3luYyByZWFscGF0aChcbiAgICBlbnRyeTogc3RyaW5nIHwgUGF0aEJhc2UgfCB7IHdpdGhGaWxlVHlwZXM6IGJvb2xlYW4gfSA9IHRoaXMuY3dkLFxuICAgIHsgd2l0aEZpbGVUeXBlcyB9OiB7IHdpdGhGaWxlVHlwZXM6IGJvb2xlYW4gfSA9IHtcbiAgICAgIHdpdGhGaWxlVHlwZXM6IGZhbHNlLFxuICAgIH0sXG4gICk6IFByb21pc2U8c3RyaW5nIHwgUGF0aEJhc2UgfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAodHlwZW9mIGVudHJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgZW50cnkgPSB0aGlzLmN3ZC5yZXNvbHZlKGVudHJ5KVxuICAgIH0gZWxzZSBpZiAoIShlbnRyeSBpbnN0YW5jZW9mIFBhdGhCYXNlKSkge1xuICAgICAgd2l0aEZpbGVUeXBlcyA9IGVudHJ5LndpdGhGaWxlVHlwZXNcbiAgICAgIGVudHJ5ID0gdGhpcy5jd2RcbiAgICB9XG4gICAgY29uc3QgZSA9IGF3YWl0IGVudHJ5LnJlYWxwYXRoKClcbiAgICByZXR1cm4gd2l0aEZpbGVUeXBlcyA/IGUgOiBlPy5mdWxscGF0aCgpXG4gIH1cblxuICByZWFscGF0aFN5bmMoKTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIHJlYWxwYXRoU3luYyhvcHQ6IHsgd2l0aEZpbGVUeXBlczogZmFsc2UgfSk6IHN0cmluZyB8IHVuZGVmaW5lZFxuICByZWFscGF0aFN5bmMob3B0OiB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSk6IFBhdGhCYXNlIHwgdW5kZWZpbmVkXG4gIHJlYWxwYXRoU3luYyhvcHQ6IHtcbiAgICB3aXRoRmlsZVR5cGVzOiBib29sZWFuXG4gIH0pOiBQYXRoQmFzZSB8IHN0cmluZyB8IHVuZGVmaW5lZFxuICByZWFscGF0aFN5bmMoXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlLFxuICAgIG9wdD86IHsgd2l0aEZpbGVUeXBlczogZmFsc2UgfSxcbiAgKTogc3RyaW5nIHwgdW5kZWZpbmVkXG4gIHJlYWxwYXRoU3luYyhcbiAgICBlbnRyeTogc3RyaW5nIHwgUGF0aEJhc2UsXG4gICAgb3B0OiB7IHdpdGhGaWxlVHlwZXM6IHRydWUgfSxcbiAgKTogUGF0aEJhc2UgfCB1bmRlZmluZWRcbiAgcmVhbHBhdGhTeW5jKFxuICAgIGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSxcbiAgICBvcHQ6IHsgd2l0aEZpbGVUeXBlczogYm9vbGVhbiB9LFxuICApOiBzdHJpbmcgfCBQYXRoQmFzZSB8IHVuZGVmaW5lZFxuICByZWFscGF0aFN5bmMoXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlIHwgeyB3aXRoRmlsZVR5cGVzOiBib29sZWFuIH0gPSB0aGlzLmN3ZCxcbiAgICB7IHdpdGhGaWxlVHlwZXMgfTogeyB3aXRoRmlsZVR5cGVzOiBib29sZWFuIH0gPSB7XG4gICAgICB3aXRoRmlsZVR5cGVzOiBmYWxzZSxcbiAgICB9LFxuICApOiBzdHJpbmcgfCBQYXRoQmFzZSB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKHR5cGVvZiBlbnRyeSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVudHJ5ID0gdGhpcy5jd2QucmVzb2x2ZShlbnRyeSlcbiAgICB9IGVsc2UgaWYgKCEoZW50cnkgaW5zdGFuY2VvZiBQYXRoQmFzZSkpIHtcbiAgICAgIHdpdGhGaWxlVHlwZXMgPSBlbnRyeS53aXRoRmlsZVR5cGVzXG4gICAgICBlbnRyeSA9IHRoaXMuY3dkXG4gICAgfVxuICAgIGNvbnN0IGUgPSBlbnRyeS5yZWFscGF0aFN5bmMoKVxuICAgIHJldHVybiB3aXRoRmlsZVR5cGVzID8gZSA6IGU/LmZ1bGxwYXRoKClcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3luY2hyb25vdXNseSB3YWxrIHRoZSBkaXJlY3RvcnkgdHJlZSwgcmV0dXJuaW5nIGFuIGFycmF5IG9mXG4gICAqIGFsbCBwYXRoIHN0cmluZ3Mgb3IgUGF0aCBvYmplY3RzIGZvdW5kLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgdGhpcyB3aWxsIGJlIGV4dHJlbWVseSBtZW1vcnktaHVuZ3J5IG9uIGxhcmdlIGZpbGVzeXN0ZW1zLlxuICAgKiBJbiBzdWNoIGNhc2VzLCBpdCBtYXkgYmUgYmV0dGVyIHRvIHVzZSB0aGUgc3RyZWFtIG9yIGFzeW5jIGl0ZXJhdG9yXG4gICAqIHdhbGsgaW1wbGVtZW50YXRpb24uXG4gICAqL1xuICB3YWxrKCk6IFByb21pc2U8UGF0aEJhc2VbXT5cbiAgd2FsayhcbiAgICBvcHRzOiBXYWxrT3B0aW9uc1dpdGhGaWxlVHlwZXNUcnVlIHwgV2Fsa09wdGlvbnNXaXRoRmlsZVR5cGVzVW5zZXQsXG4gICk6IFByb21pc2U8UGF0aEJhc2VbXT5cbiAgd2FsayhvcHRzOiBXYWxrT3B0aW9uc1dpdGhGaWxlVHlwZXNGYWxzZSk6IFByb21pc2U8c3RyaW5nW10+XG4gIHdhbGsob3B0czogV2Fsa09wdGlvbnMpOiBQcm9taXNlPHN0cmluZ1tdIHwgUGF0aEJhc2VbXT5cbiAgd2FsayhlbnRyeTogc3RyaW5nIHwgUGF0aEJhc2UpOiBQcm9taXNlPFBhdGhCYXNlW10+XG4gIHdhbGsoXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlLFxuICAgIG9wdHM6IFdhbGtPcHRpb25zV2l0aEZpbGVUeXBlc1RydWUgfCBXYWxrT3B0aW9uc1dpdGhGaWxlVHlwZXNVbnNldCxcbiAgKTogUHJvbWlzZTxQYXRoQmFzZVtdPlxuICB3YWxrKFxuICAgIGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSxcbiAgICBvcHRzOiBXYWxrT3B0aW9uc1dpdGhGaWxlVHlwZXNGYWxzZSxcbiAgKTogUHJvbWlzZTxzdHJpbmdbXT5cbiAgd2FsayhcbiAgICBlbnRyeTogc3RyaW5nIHwgUGF0aEJhc2UsXG4gICAgb3B0czogV2Fsa09wdGlvbnMsXG4gICk6IFByb21pc2U8UGF0aEJhc2VbXSB8IHN0cmluZ1tdPlxuICBhc3luYyB3YWxrKFxuICAgIGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSB8IFdhbGtPcHRpb25zID0gdGhpcy5jd2QsXG4gICAgb3B0czogV2Fsa09wdGlvbnMgPSB7fSxcbiAgKTogUHJvbWlzZTxQYXRoQmFzZVtdIHwgc3RyaW5nW10+IHtcbiAgICBpZiAodHlwZW9mIGVudHJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgZW50cnkgPSB0aGlzLmN3ZC5yZXNvbHZlKGVudHJ5KVxuICAgIH0gZWxzZSBpZiAoIShlbnRyeSBpbnN0YW5jZW9mIFBhdGhCYXNlKSkge1xuICAgICAgb3B0cyA9IGVudHJ5XG4gICAgICBlbnRyeSA9IHRoaXMuY3dkXG4gICAgfVxuICAgIGNvbnN0IHtcbiAgICAgIHdpdGhGaWxlVHlwZXMgPSB0cnVlLFxuICAgICAgZm9sbG93ID0gZmFsc2UsXG4gICAgICBmaWx0ZXIsXG4gICAgICB3YWxrRmlsdGVyLFxuICAgIH0gPSBvcHRzXG4gICAgY29uc3QgcmVzdWx0czogKHN0cmluZyB8IFBhdGhCYXNlKVtdID0gW11cbiAgICBpZiAoIWZpbHRlciB8fCBmaWx0ZXIoZW50cnkpKSB7XG4gICAgICByZXN1bHRzLnB1c2god2l0aEZpbGVUeXBlcyA/IGVudHJ5IDogZW50cnkuZnVsbHBhdGgoKSlcbiAgICB9XG4gICAgY29uc3QgZGlycyA9IG5ldyBTZXQ8UGF0aEJhc2U+KClcbiAgICBjb25zdCB3YWxrID0gKFxuICAgICAgZGlyOiBQYXRoQmFzZSxcbiAgICAgIGNiOiAoZXI/OiBOb2RlSlMuRXJybm9FeGNlcHRpb24pID0+IHZvaWQsXG4gICAgKSA9PiB7XG4gICAgICBkaXJzLmFkZChkaXIpXG4gICAgICBkaXIucmVhZGRpckNCKChlciwgZW50cmllcykgPT4ge1xuICAgICAgICAvKiBjOCBpZ25vcmUgc3RhcnQgKi9cbiAgICAgICAgaWYgKGVyKSB7XG4gICAgICAgICAgcmV0dXJuIGNiKGVyKVxuICAgICAgICB9XG4gICAgICAgIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gICAgICAgIGxldCBsZW4gPSBlbnRyaWVzLmxlbmd0aFxuICAgICAgICBpZiAoIWxlbikgcmV0dXJuIGNiKClcbiAgICAgICAgY29uc3QgbmV4dCA9ICgpID0+IHtcbiAgICAgICAgICBpZiAoLS1sZW4gPT09IDApIHtcbiAgICAgICAgICAgIGNiKClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZm9yIChjb25zdCBlIG9mIGVudHJpZXMpIHtcbiAgICAgICAgICBpZiAoIWZpbHRlciB8fCBmaWx0ZXIoZSkpIHtcbiAgICAgICAgICAgIHJlc3VsdHMucHVzaCh3aXRoRmlsZVR5cGVzID8gZSA6IGUuZnVsbHBhdGgoKSlcbiAgICAgICAgICB9XG4gICAgICAgICAgaWYgKGZvbGxvdyAmJiBlLmlzU3ltYm9saWNMaW5rKCkpIHtcbiAgICAgICAgICAgIGUucmVhbHBhdGgoKVxuICAgICAgICAgICAgICAudGhlbihyID0+IChyPy5pc1Vua25vd24oKSA/IHIubHN0YXQoKSA6IHIpKVxuICAgICAgICAgICAgICAudGhlbihyID0+XG4gICAgICAgICAgICAgICAgcj8uc2hvdWxkV2FsayhkaXJzLCB3YWxrRmlsdGVyKSA/IHdhbGsociwgbmV4dCkgOiBuZXh0KCksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKGUuc2hvdWxkV2FsayhkaXJzLCB3YWxrRmlsdGVyKSkge1xuICAgICAgICAgICAgICB3YWxrKGUsIG5leHQpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBuZXh0KClcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sIHRydWUpIC8vIHphbGdvb29vb29vXG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnQgPSBlbnRyeVxuICAgIHJldHVybiBuZXcgUHJvbWlzZTxQYXRoQmFzZVtdIHwgc3RyaW5nW10+KChyZXMsIHJlaikgPT4ge1xuICAgICAgd2FsayhzdGFydCwgZXIgPT4ge1xuICAgICAgICAvKiBjOCBpZ25vcmUgc3RhcnQgKi9cbiAgICAgICAgaWYgKGVyKSByZXR1cm4gcmVqKGVyKVxuICAgICAgICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuICAgICAgICByZXMocmVzdWx0cyBhcyBQYXRoQmFzZVtdIHwgc3RyaW5nW10pXG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogU3luY2hyb25vdXNseSB3YWxrIHRoZSBkaXJlY3RvcnkgdHJlZSwgcmV0dXJuaW5nIGFuIGFycmF5IG9mXG4gICAqIGFsbCBwYXRoIHN0cmluZ3Mgb3IgUGF0aCBvYmplY3RzIGZvdW5kLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgdGhpcyB3aWxsIGJlIGV4dHJlbWVseSBtZW1vcnktaHVuZ3J5IG9uIGxhcmdlIGZpbGVzeXN0ZW1zLlxuICAgKiBJbiBzdWNoIGNhc2VzLCBpdCBtYXkgYmUgYmV0dGVyIHRvIHVzZSB0aGUgc3RyZWFtIG9yIGFzeW5jIGl0ZXJhdG9yXG4gICAqIHdhbGsgaW1wbGVtZW50YXRpb24uXG4gICAqL1xuICB3YWxrU3luYygpOiBQYXRoQmFzZVtdXG4gIHdhbGtTeW5jKFxuICAgIG9wdHM6IFdhbGtPcHRpb25zV2l0aEZpbGVUeXBlc1RydWUgfCBXYWxrT3B0aW9uc1dpdGhGaWxlVHlwZXNVbnNldCxcbiAgKTogUGF0aEJhc2VbXVxuICB3YWxrU3luYyhvcHRzOiBXYWxrT3B0aW9uc1dpdGhGaWxlVHlwZXNGYWxzZSk6IHN0cmluZ1tdXG4gIHdhbGtTeW5jKG9wdHM6IFdhbGtPcHRpb25zKTogc3RyaW5nW10gfCBQYXRoQmFzZVtdXG4gIHdhbGtTeW5jKGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSk6IFBhdGhCYXNlW11cbiAgd2Fsa1N5bmMoXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlLFxuICAgIG9wdHM6IFdhbGtPcHRpb25zV2l0aEZpbGVUeXBlc1Vuc2V0IHwgV2Fsa09wdGlvbnNXaXRoRmlsZVR5cGVzVHJ1ZSxcbiAgKTogUGF0aEJhc2VbXVxuICB3YWxrU3luYyhcbiAgICBlbnRyeTogc3RyaW5nIHwgUGF0aEJhc2UsXG4gICAgb3B0czogV2Fsa09wdGlvbnNXaXRoRmlsZVR5cGVzRmFsc2UsXG4gICk6IHN0cmluZ1tdXG4gIHdhbGtTeW5jKFxuICAgIGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSxcbiAgICBvcHRzOiBXYWxrT3B0aW9ucyxcbiAgKTogUGF0aEJhc2VbXSB8IHN0cmluZ1tdXG4gIHdhbGtTeW5jKFxuICAgIGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSB8IFdhbGtPcHRpb25zID0gdGhpcy5jd2QsXG4gICAgb3B0czogV2Fsa09wdGlvbnMgPSB7fSxcbiAgKTogUGF0aEJhc2VbXSB8IHN0cmluZ1tdIHtcbiAgICBpZiAodHlwZW9mIGVudHJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgZW50cnkgPSB0aGlzLmN3ZC5yZXNvbHZlKGVudHJ5KVxuICAgIH0gZWxzZSBpZiAoIShlbnRyeSBpbnN0YW5jZW9mIFBhdGhCYXNlKSkge1xuICAgICAgb3B0cyA9IGVudHJ5XG4gICAgICBlbnRyeSA9IHRoaXMuY3dkXG4gICAgfVxuICAgIGNvbnN0IHtcbiAgICAgIHdpdGhGaWxlVHlwZXMgPSB0cnVlLFxuICAgICAgZm9sbG93ID0gZmFsc2UsXG4gICAgICBmaWx0ZXIsXG4gICAgICB3YWxrRmlsdGVyLFxuICAgIH0gPSBvcHRzXG4gICAgY29uc3QgcmVzdWx0czogKHN0cmluZyB8IFBhdGhCYXNlKVtdID0gW11cbiAgICBpZiAoIWZpbHRlciB8fCBmaWx0ZXIoZW50cnkpKSB7XG4gICAgICByZXN1bHRzLnB1c2god2l0aEZpbGVUeXBlcyA/IGVudHJ5IDogZW50cnkuZnVsbHBhdGgoKSlcbiAgICB9XG4gICAgY29uc3QgZGlycyA9IG5ldyBTZXQ8UGF0aEJhc2U+KFtlbnRyeV0pXG4gICAgZm9yIChjb25zdCBkaXIgb2YgZGlycykge1xuICAgICAgY29uc3QgZW50cmllcyA9IGRpci5yZWFkZGlyU3luYygpXG4gICAgICBmb3IgKGNvbnN0IGUgb2YgZW50cmllcykge1xuICAgICAgICBpZiAoIWZpbHRlciB8fCBmaWx0ZXIoZSkpIHtcbiAgICAgICAgICByZXN1bHRzLnB1c2god2l0aEZpbGVUeXBlcyA/IGUgOiBlLmZ1bGxwYXRoKCkpXG4gICAgICAgIH1cbiAgICAgICAgbGV0IHI6IFBhdGhCYXNlIHwgdW5kZWZpbmVkID0gZVxuICAgICAgICBpZiAoZS5pc1N5bWJvbGljTGluaygpKSB7XG4gICAgICAgICAgaWYgKCEoZm9sbG93ICYmIChyID0gZS5yZWFscGF0aFN5bmMoKSkpKSBjb250aW51ZVxuICAgICAgICAgIGlmIChyLmlzVW5rbm93bigpKSByLmxzdGF0U3luYygpXG4gICAgICAgIH1cbiAgICAgICAgaWYgKHIuc2hvdWxkV2FsayhkaXJzLCB3YWxrRmlsdGVyKSkge1xuICAgICAgICAgIGRpcnMuYWRkKHIpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdHMgYXMgc3RyaW5nW10gfCBQYXRoQmFzZVtdXG4gIH1cblxuICAvKipcbiAgICogU3VwcG9ydCBmb3IgYGZvciBhd2FpdGBcbiAgICpcbiAgICogQWxpYXMgZm9yIHtAbGluayBQYXRoU2N1cnJ5QmFzZS5pdGVyYXRlfVxuICAgKlxuICAgKiBOb3RlOiBBcyBvZiBOb2RlIDE5LCB0aGlzIGlzIHZlcnkgc2xvdywgY29tcGFyZWQgdG8gb3RoZXIgbWV0aG9kcyBvZlxuICAgKiB3YWxraW5nLiAgQ29uc2lkZXIgdXNpbmcge0BsaW5rIFBhdGhTY3VycnlCYXNlLnN0cmVhbX0gaWYgbWVtb3J5IG92ZXJoZWFkXG4gICAqIGFuZCBiYWNrcHJlc3N1cmUgYXJlIGNvbmNlcm5zLCBvciB7QGxpbmsgUGF0aFNjdXJyeUJhc2Uud2Fsa30gaWYgbm90LlxuICAgKi9cbiAgW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSgpIHtcbiAgICByZXR1cm4gdGhpcy5pdGVyYXRlKClcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3luYyBnZW5lcmF0b3IgZm9ybSBvZiB7QGxpbmsgUGF0aFNjdXJyeUJhc2Uud2Fsa31cbiAgICpcbiAgICogTm90ZTogQXMgb2YgTm9kZSAxOSwgdGhpcyBpcyB2ZXJ5IHNsb3csIGNvbXBhcmVkIHRvIG90aGVyIG1ldGhvZHMgb2ZcbiAgICogd2Fsa2luZywgZXNwZWNpYWxseSBpZiBtb3N0L2FsbCBvZiB0aGUgZGlyZWN0b3J5IHRyZWUgaGFzIGJlZW4gcHJldmlvdXNseVxuICAgKiB3YWxrZWQuICBDb25zaWRlciB1c2luZyB7QGxpbmsgUGF0aFNjdXJyeUJhc2Uuc3RyZWFtfSBpZiBtZW1vcnkgb3ZlcmhlYWRcbiAgICogYW5kIGJhY2twcmVzc3VyZSBhcmUgY29uY2VybnMsIG9yIHtAbGluayBQYXRoU2N1cnJ5QmFzZS53YWxrfSBpZiBub3QuXG4gICAqL1xuICBpdGVyYXRlKCk6IEFzeW5jR2VuZXJhdG9yPFBhdGhCYXNlLCB2b2lkLCB2b2lkPlxuICBpdGVyYXRlKFxuICAgIG9wdHM6IFdhbGtPcHRpb25zV2l0aEZpbGVUeXBlc1RydWUgfCBXYWxrT3B0aW9uc1dpdGhGaWxlVHlwZXNVbnNldCxcbiAgKTogQXN5bmNHZW5lcmF0b3I8UGF0aEJhc2UsIHZvaWQsIHZvaWQ+XG4gIGl0ZXJhdGUoXG4gICAgb3B0czogV2Fsa09wdGlvbnNXaXRoRmlsZVR5cGVzRmFsc2UsXG4gICk6IEFzeW5jR2VuZXJhdG9yPHN0cmluZywgdm9pZCwgdm9pZD5cbiAgaXRlcmF0ZShvcHRzOiBXYWxrT3B0aW9ucyk6IEFzeW5jR2VuZXJhdG9yPHN0cmluZyB8IFBhdGhCYXNlLCB2b2lkLCB2b2lkPlxuICBpdGVyYXRlKGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSk6IEFzeW5jR2VuZXJhdG9yPFBhdGhCYXNlLCB2b2lkLCB2b2lkPlxuICBpdGVyYXRlKFxuICAgIGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSxcbiAgICBvcHRzOiBXYWxrT3B0aW9uc1dpdGhGaWxlVHlwZXNUcnVlIHwgV2Fsa09wdGlvbnNXaXRoRmlsZVR5cGVzVW5zZXQsXG4gICk6IEFzeW5jR2VuZXJhdG9yPFBhdGhCYXNlLCB2b2lkLCB2b2lkPlxuICBpdGVyYXRlKFxuICAgIGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSxcbiAgICBvcHRzOiBXYWxrT3B0aW9uc1dpdGhGaWxlVHlwZXNGYWxzZSxcbiAgKTogQXN5bmNHZW5lcmF0b3I8c3RyaW5nLCB2b2lkLCB2b2lkPlxuICBpdGVyYXRlKFxuICAgIGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSxcbiAgICBvcHRzOiBXYWxrT3B0aW9ucyxcbiAgKTogQXN5bmNHZW5lcmF0b3I8UGF0aEJhc2UgfCBzdHJpbmcsIHZvaWQsIHZvaWQ+XG4gIGl0ZXJhdGUoXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlIHwgV2Fsa09wdGlvbnMgPSB0aGlzLmN3ZCxcbiAgICBvcHRpb25zOiBXYWxrT3B0aW9ucyA9IHt9LFxuICApOiBBc3luY0dlbmVyYXRvcjxQYXRoQmFzZSB8IHN0cmluZywgdm9pZCwgdm9pZD4ge1xuICAgIC8vIGl0ZXJhdGluZyBhc3luYyBvdmVyIHRoZSBzdHJlYW0gaXMgc2lnbmlmaWNhbnRseSBtb3JlIHBlcmZvcm1hbnQsXG4gICAgLy8gZXNwZWNpYWxseSBpbiB0aGUgd2FybS1jYWNoZSBzY2VuYXJpbywgYmVjYXVzZSBpdCBidWZmZXJzIHVwIGRpcmVjdG9yeVxuICAgIC8vIGVudHJpZXMgaW4gdGhlIGJhY2tncm91bmQgaW5zdGVhZCBvZiB3YWl0aW5nIGZvciBhIHlpZWxkIGZvciBlYWNoIG9uZS5cbiAgICBpZiAodHlwZW9mIGVudHJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgZW50cnkgPSB0aGlzLmN3ZC5yZXNvbHZlKGVudHJ5KVxuICAgIH0gZWxzZSBpZiAoIShlbnRyeSBpbnN0YW5jZW9mIFBhdGhCYXNlKSkge1xuICAgICAgb3B0aW9ucyA9IGVudHJ5XG4gICAgICBlbnRyeSA9IHRoaXMuY3dkXG4gICAgfVxuICAgIHJldHVybiB0aGlzLnN0cmVhbShlbnRyeSwgb3B0aW9ucylbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKClcbiAgfVxuXG4gIC8qKlxuICAgKiBJdGVyYXRpbmcgb3ZlciBhIFBhdGhTY3VycnkgcGVyZm9ybXMgYSBzeW5jaHJvbm91cyB3YWxrLlxuICAgKlxuICAgKiBBbGlhcyBmb3Ige0BsaW5rIFBhdGhTY3VycnlCYXNlLml0ZXJhdGVTeW5jfVxuICAgKi9cbiAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlcmF0ZVN5bmMoKVxuICB9XG5cbiAgaXRlcmF0ZVN5bmMoKTogR2VuZXJhdG9yPFBhdGhCYXNlLCB2b2lkLCB2b2lkPlxuICBpdGVyYXRlU3luYyhcbiAgICBvcHRzOiBXYWxrT3B0aW9uc1dpdGhGaWxlVHlwZXNUcnVlIHwgV2Fsa09wdGlvbnNXaXRoRmlsZVR5cGVzVW5zZXQsXG4gICk6IEdlbmVyYXRvcjxQYXRoQmFzZSwgdm9pZCwgdm9pZD5cbiAgaXRlcmF0ZVN5bmMoXG4gICAgb3B0czogV2Fsa09wdGlvbnNXaXRoRmlsZVR5cGVzRmFsc2UsXG4gICk6IEdlbmVyYXRvcjxzdHJpbmcsIHZvaWQsIHZvaWQ+XG4gIGl0ZXJhdGVTeW5jKG9wdHM6IFdhbGtPcHRpb25zKTogR2VuZXJhdG9yPHN0cmluZyB8IFBhdGhCYXNlLCB2b2lkLCB2b2lkPlxuICBpdGVyYXRlU3luYyhlbnRyeTogc3RyaW5nIHwgUGF0aEJhc2UpOiBHZW5lcmF0b3I8UGF0aEJhc2UsIHZvaWQsIHZvaWQ+XG4gIGl0ZXJhdGVTeW5jKFxuICAgIGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSxcbiAgICBvcHRzOiBXYWxrT3B0aW9uc1dpdGhGaWxlVHlwZXNUcnVlIHwgV2Fsa09wdGlvbnNXaXRoRmlsZVR5cGVzVW5zZXQsXG4gICk6IEdlbmVyYXRvcjxQYXRoQmFzZSwgdm9pZCwgdm9pZD5cbiAgaXRlcmF0ZVN5bmMoXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlLFxuICAgIG9wdHM6IFdhbGtPcHRpb25zV2l0aEZpbGVUeXBlc0ZhbHNlLFxuICApOiBHZW5lcmF0b3I8c3RyaW5nLCB2b2lkLCB2b2lkPlxuICBpdGVyYXRlU3luYyhcbiAgICBlbnRyeTogc3RyaW5nIHwgUGF0aEJhc2UsXG4gICAgb3B0czogV2Fsa09wdGlvbnMsXG4gICk6IEdlbmVyYXRvcjxQYXRoQmFzZSB8IHN0cmluZywgdm9pZCwgdm9pZD5cbiAgKml0ZXJhdGVTeW5jKFxuICAgIGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSB8IFdhbGtPcHRpb25zID0gdGhpcy5jd2QsXG4gICAgb3B0czogV2Fsa09wdGlvbnMgPSB7fSxcbiAgKTogR2VuZXJhdG9yPFBhdGhCYXNlIHwgc3RyaW5nLCB2b2lkLCB2b2lkPiB7XG4gICAgaWYgKHR5cGVvZiBlbnRyeSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGVudHJ5ID0gdGhpcy5jd2QucmVzb2x2ZShlbnRyeSlcbiAgICB9IGVsc2UgaWYgKCEoZW50cnkgaW5zdGFuY2VvZiBQYXRoQmFzZSkpIHtcbiAgICAgIG9wdHMgPSBlbnRyeVxuICAgICAgZW50cnkgPSB0aGlzLmN3ZFxuICAgIH1cbiAgICBjb25zdCB7XG4gICAgICB3aXRoRmlsZVR5cGVzID0gdHJ1ZSxcbiAgICAgIGZvbGxvdyA9IGZhbHNlLFxuICAgICAgZmlsdGVyLFxuICAgICAgd2Fsa0ZpbHRlcixcbiAgICB9ID0gb3B0c1xuICAgIGlmICghZmlsdGVyIHx8IGZpbHRlcihlbnRyeSkpIHtcbiAgICAgIHlpZWxkIHdpdGhGaWxlVHlwZXMgPyBlbnRyeSA6IGVudHJ5LmZ1bGxwYXRoKClcbiAgICB9XG4gICAgY29uc3QgZGlycyA9IG5ldyBTZXQ8UGF0aEJhc2U+KFtlbnRyeV0pXG4gICAgZm9yIChjb25zdCBkaXIgb2YgZGlycykge1xuICAgICAgY29uc3QgZW50cmllcyA9IGRpci5yZWFkZGlyU3luYygpXG4gICAgICBmb3IgKGNvbnN0IGUgb2YgZW50cmllcykge1xuICAgICAgICBpZiAoIWZpbHRlciB8fCBmaWx0ZXIoZSkpIHtcbiAgICAgICAgICB5aWVsZCB3aXRoRmlsZVR5cGVzID8gZSA6IGUuZnVsbHBhdGgoKVxuICAgICAgICB9XG4gICAgICAgIGxldCByOiBQYXRoQmFzZSB8IHVuZGVmaW5lZCA9IGVcbiAgICAgICAgaWYgKGUuaXNTeW1ib2xpY0xpbmsoKSkge1xuICAgICAgICAgIGlmICghKGZvbGxvdyAmJiAociA9IGUucmVhbHBhdGhTeW5jKCkpKSkgY29udGludWVcbiAgICAgICAgICBpZiAoci5pc1Vua25vd24oKSkgci5sc3RhdFN5bmMoKVxuICAgICAgICB9XG4gICAgICAgIGlmIChyLnNob3VsZFdhbGsoZGlycywgd2Fsa0ZpbHRlcikpIHtcbiAgICAgICAgICBkaXJzLmFkZChyKVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN0cmVhbSBmb3JtIG9mIHtAbGluayBQYXRoU2N1cnJ5QmFzZS53YWxrfVxuICAgKlxuICAgKiBSZXR1cm5zIGEgTWluaXBhc3Mgc3RyZWFtIHRoYXQgZW1pdHMge0BsaW5rIFBhdGhCYXNlfSBvYmplY3RzIGJ5IGRlZmF1bHQsXG4gICAqIG9yIHN0cmluZ3MgaWYgYHsgd2l0aEZpbGVUeXBlczogZmFsc2UgfWAgaXMgc2V0IGluIHRoZSBvcHRpb25zLlxuICAgKi9cbiAgc3RyZWFtKCk6IE1pbmlwYXNzPFBhdGhCYXNlPlxuICBzdHJlYW0oXG4gICAgb3B0czogV2Fsa09wdGlvbnNXaXRoRmlsZVR5cGVzVHJ1ZSB8IFdhbGtPcHRpb25zV2l0aEZpbGVUeXBlc1Vuc2V0LFxuICApOiBNaW5pcGFzczxQYXRoQmFzZT5cbiAgc3RyZWFtKG9wdHM6IFdhbGtPcHRpb25zV2l0aEZpbGVUeXBlc0ZhbHNlKTogTWluaXBhc3M8c3RyaW5nPlxuICBzdHJlYW0ob3B0czogV2Fsa09wdGlvbnMpOiBNaW5pcGFzczxzdHJpbmcgfCBQYXRoQmFzZT5cbiAgc3RyZWFtKGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSk6IE1pbmlwYXNzPFBhdGhCYXNlPlxuICBzdHJlYW0oXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlLFxuICAgIG9wdHM6IFdhbGtPcHRpb25zV2l0aEZpbGVUeXBlc1Vuc2V0IHwgV2Fsa09wdGlvbnNXaXRoRmlsZVR5cGVzVHJ1ZSxcbiAgKTogTWluaXBhc3M8UGF0aEJhc2U+XG4gIHN0cmVhbShcbiAgICBlbnRyeTogc3RyaW5nIHwgUGF0aEJhc2UsXG4gICAgb3B0czogV2Fsa09wdGlvbnNXaXRoRmlsZVR5cGVzRmFsc2UsXG4gICk6IE1pbmlwYXNzPHN0cmluZz5cbiAgc3RyZWFtKFxuICAgIGVudHJ5OiBzdHJpbmcgfCBQYXRoQmFzZSxcbiAgICBvcHRzOiBXYWxrT3B0aW9ucyxcbiAgKTogTWluaXBhc3M8c3RyaW5nPiB8IE1pbmlwYXNzPFBhdGhCYXNlPlxuICBzdHJlYW0oXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlIHwgV2Fsa09wdGlvbnMgPSB0aGlzLmN3ZCxcbiAgICBvcHRzOiBXYWxrT3B0aW9ucyA9IHt9LFxuICApOiBNaW5pcGFzczxzdHJpbmc+IHwgTWluaXBhc3M8UGF0aEJhc2U+IHtcbiAgICBpZiAodHlwZW9mIGVudHJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgZW50cnkgPSB0aGlzLmN3ZC5yZXNvbHZlKGVudHJ5KVxuICAgIH0gZWxzZSBpZiAoIShlbnRyeSBpbnN0YW5jZW9mIFBhdGhCYXNlKSkge1xuICAgICAgb3B0cyA9IGVudHJ5XG4gICAgICBlbnRyeSA9IHRoaXMuY3dkXG4gICAgfVxuICAgIGNvbnN0IHtcbiAgICAgIHdpdGhGaWxlVHlwZXMgPSB0cnVlLFxuICAgICAgZm9sbG93ID0gZmFsc2UsXG4gICAgICBmaWx0ZXIsXG4gICAgICB3YWxrRmlsdGVyLFxuICAgIH0gPSBvcHRzXG4gICAgY29uc3QgcmVzdWx0cyA9IG5ldyBNaW5pcGFzczxzdHJpbmcgfCBQYXRoQmFzZT4oeyBvYmplY3RNb2RlOiB0cnVlIH0pXG4gICAgaWYgKCFmaWx0ZXIgfHwgZmlsdGVyKGVudHJ5KSkge1xuICAgICAgcmVzdWx0cy53cml0ZSh3aXRoRmlsZVR5cGVzID8gZW50cnkgOiBlbnRyeS5mdWxscGF0aCgpKVxuICAgIH1cbiAgICBjb25zdCBkaXJzID0gbmV3IFNldDxQYXRoQmFzZT4oKVxuICAgIGNvbnN0IHF1ZXVlOiBQYXRoQmFzZVtdID0gW2VudHJ5XVxuICAgIGxldCBwcm9jZXNzaW5nID0gMFxuICAgIGNvbnN0IHByb2Nlc3MgPSAoKSA9PiB7XG4gICAgICBsZXQgcGF1c2VkID0gZmFsc2VcbiAgICAgIHdoaWxlICghcGF1c2VkKSB7XG4gICAgICAgIGNvbnN0IGRpciA9IHF1ZXVlLnNoaWZ0KClcbiAgICAgICAgaWYgKCFkaXIpIHtcbiAgICAgICAgICBpZiAocHJvY2Vzc2luZyA9PT0gMCkgcmVzdWx0cy5lbmQoKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG5cbiAgICAgICAgcHJvY2Vzc2luZysrXG4gICAgICAgIGRpcnMuYWRkKGRpcilcblxuICAgICAgICBjb25zdCBvblJlYWRkaXIgPSAoXG4gICAgICAgICAgZXI6IG51bGwgfCBOb2RlSlMuRXJybm9FeGNlcHRpb24sXG4gICAgICAgICAgZW50cmllczogUGF0aEJhc2VbXSxcbiAgICAgICAgICBkaWRSZWFscGF0aHM6IGJvb2xlYW4gPSBmYWxzZSxcbiAgICAgICAgKSA9PiB7XG4gICAgICAgICAgLyogYzggaWdub3JlIHN0YXJ0ICovXG4gICAgICAgICAgaWYgKGVyKSByZXR1cm4gcmVzdWx0cy5lbWl0KCdlcnJvcicsIGVyKVxuICAgICAgICAgIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gICAgICAgICAgaWYgKGZvbGxvdyAmJiAhZGlkUmVhbHBhdGhzKSB7XG4gICAgICAgICAgICBjb25zdCBwcm9taXNlczogUHJvbWlzZTxQYXRoQmFzZSB8IHVuZGVmaW5lZD5bXSA9IFtdXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGUgb2YgZW50cmllcykge1xuICAgICAgICAgICAgICBpZiAoZS5pc1N5bWJvbGljTGluaygpKSB7XG4gICAgICAgICAgICAgICAgcHJvbWlzZXMucHVzaChcbiAgICAgICAgICAgICAgICAgIGVcbiAgICAgICAgICAgICAgICAgICAgLnJlYWxwYXRoKClcbiAgICAgICAgICAgICAgICAgICAgLnRoZW4oKHI6IFBhdGhCYXNlIHwgdW5kZWZpbmVkKSA9PlxuICAgICAgICAgICAgICAgICAgICAgIHI/LmlzVW5rbm93bigpID8gci5sc3RhdCgpIDogcixcbiAgICAgICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChwcm9taXNlcy5sZW5ndGgpIHtcbiAgICAgICAgICAgICAgUHJvbWlzZS5hbGwocHJvbWlzZXMpLnRoZW4oKCkgPT5cbiAgICAgICAgICAgICAgICBvblJlYWRkaXIobnVsbCwgZW50cmllcywgdHJ1ZSksXG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgcmV0dXJuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZm9yIChjb25zdCBlIG9mIGVudHJpZXMpIHtcbiAgICAgICAgICAgIGlmIChlICYmICghZmlsdGVyIHx8IGZpbHRlcihlKSkpIHtcbiAgICAgICAgICAgICAgaWYgKCFyZXN1bHRzLndyaXRlKHdpdGhGaWxlVHlwZXMgPyBlIDogZS5mdWxscGF0aCgpKSkge1xuICAgICAgICAgICAgICAgIHBhdXNlZCA9IHRydWVcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHByb2Nlc3NpbmctLVxuICAgICAgICAgIGZvciAoY29uc3QgZSBvZiBlbnRyaWVzKSB7XG4gICAgICAgICAgICBjb25zdCByID0gZS5yZWFscGF0aENhY2hlZCgpIHx8IGVcbiAgICAgICAgICAgIGlmIChyLnNob3VsZFdhbGsoZGlycywgd2Fsa0ZpbHRlcikpIHtcbiAgICAgICAgICAgICAgcXVldWUucHVzaChyKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpZiAocGF1c2VkICYmICFyZXN1bHRzLmZsb3dpbmcpIHtcbiAgICAgICAgICAgIHJlc3VsdHMub25jZSgnZHJhaW4nLCBwcm9jZXNzKVxuICAgICAgICAgIH0gZWxzZSBpZiAoIXN5bmMpIHtcbiAgICAgICAgICAgIHByb2Nlc3MoKVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHphbGdvIGNvbnRhaW5tZW50XG4gICAgICAgIGxldCBzeW5jID0gdHJ1ZVxuICAgICAgICBkaXIucmVhZGRpckNCKG9uUmVhZGRpciwgdHJ1ZSlcbiAgICAgICAgc3luYyA9IGZhbHNlXG4gICAgICB9XG4gICAgfVxuICAgIHByb2Nlc3MoKVxuICAgIHJldHVybiByZXN1bHRzIGFzIE1pbmlwYXNzPHN0cmluZz4gfCBNaW5pcGFzczxQYXRoQmFzZT5cbiAgfVxuXG4gIC8qKlxuICAgKiBTeW5jaHJvbm91cyBmb3JtIG9mIHtAbGluayBQYXRoU2N1cnJ5QmFzZS5zdHJlYW19XG4gICAqXG4gICAqIFJldHVybnMgYSBNaW5pcGFzcyBzdHJlYW0gdGhhdCBlbWl0cyB7QGxpbmsgUGF0aEJhc2V9IG9iamVjdHMgYnkgZGVmYXVsdCxcbiAgICogb3Igc3RyaW5ncyBpZiBgeyB3aXRoRmlsZVR5cGVzOiBmYWxzZSB9YCBpcyBzZXQgaW4gdGhlIG9wdGlvbnMuXG4gICAqXG4gICAqIFdpbGwgY29tcGxldGUgdGhlIHdhbGsgaW4gYSBzaW5nbGUgdGljayBpZiB0aGUgc3RyZWFtIGlzIGNvbnN1bWVkIGZ1bGx5LlxuICAgKiBPdGhlcndpc2UsIHdpbGwgcGF1c2UgYXMgbmVlZGVkIGZvciBzdHJlYW0gYmFja3ByZXNzdXJlLlxuICAgKi9cbiAgc3RyZWFtU3luYygpOiBNaW5pcGFzczxQYXRoQmFzZT5cbiAgc3RyZWFtU3luYyhcbiAgICBvcHRzOiBXYWxrT3B0aW9uc1dpdGhGaWxlVHlwZXNUcnVlIHwgV2Fsa09wdGlvbnNXaXRoRmlsZVR5cGVzVW5zZXQsXG4gICk6IE1pbmlwYXNzPFBhdGhCYXNlPlxuICBzdHJlYW1TeW5jKG9wdHM6IFdhbGtPcHRpb25zV2l0aEZpbGVUeXBlc0ZhbHNlKTogTWluaXBhc3M8c3RyaW5nPlxuICBzdHJlYW1TeW5jKG9wdHM6IFdhbGtPcHRpb25zKTogTWluaXBhc3M8c3RyaW5nIHwgUGF0aEJhc2U+XG4gIHN0cmVhbVN5bmMoZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlKTogTWluaXBhc3M8UGF0aEJhc2U+XG4gIHN0cmVhbVN5bmMoXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlLFxuICAgIG9wdHM6IFdhbGtPcHRpb25zV2l0aEZpbGVUeXBlc1Vuc2V0IHwgV2Fsa09wdGlvbnNXaXRoRmlsZVR5cGVzVHJ1ZSxcbiAgKTogTWluaXBhc3M8UGF0aEJhc2U+XG4gIHN0cmVhbVN5bmMoXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlLFxuICAgIG9wdHM6IFdhbGtPcHRpb25zV2l0aEZpbGVUeXBlc0ZhbHNlLFxuICApOiBNaW5pcGFzczxzdHJpbmc+XG4gIHN0cmVhbVN5bmMoXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlLFxuICAgIG9wdHM6IFdhbGtPcHRpb25zLFxuICApOiBNaW5pcGFzczxzdHJpbmc+IHwgTWluaXBhc3M8UGF0aEJhc2U+XG4gIHN0cmVhbVN5bmMoXG4gICAgZW50cnk6IHN0cmluZyB8IFBhdGhCYXNlIHwgV2Fsa09wdGlvbnMgPSB0aGlzLmN3ZCxcbiAgICBvcHRzOiBXYWxrT3B0aW9ucyA9IHt9LFxuICApOiBNaW5pcGFzczxzdHJpbmc+IHwgTWluaXBhc3M8UGF0aEJhc2U+IHtcbiAgICBpZiAodHlwZW9mIGVudHJ5ID09PSAnc3RyaW5nJykge1xuICAgICAgZW50cnkgPSB0aGlzLmN3ZC5yZXNvbHZlKGVudHJ5KVxuICAgIH0gZWxzZSBpZiAoIShlbnRyeSBpbnN0YW5jZW9mIFBhdGhCYXNlKSkge1xuICAgICAgb3B0cyA9IGVudHJ5XG4gICAgICBlbnRyeSA9IHRoaXMuY3dkXG4gICAgfVxuICAgIGNvbnN0IHtcbiAgICAgIHdpdGhGaWxlVHlwZXMgPSB0cnVlLFxuICAgICAgZm9sbG93ID0gZmFsc2UsXG4gICAgICBmaWx0ZXIsXG4gICAgICB3YWxrRmlsdGVyLFxuICAgIH0gPSBvcHRzXG4gICAgY29uc3QgcmVzdWx0cyA9IG5ldyBNaW5pcGFzczxzdHJpbmcgfCBQYXRoQmFzZT4oeyBvYmplY3RNb2RlOiB0cnVlIH0pXG4gICAgY29uc3QgZGlycyA9IG5ldyBTZXQ8UGF0aEJhc2U+KClcbiAgICBpZiAoIWZpbHRlciB8fCBmaWx0ZXIoZW50cnkpKSB7XG4gICAgICByZXN1bHRzLndyaXRlKHdpdGhGaWxlVHlwZXMgPyBlbnRyeSA6IGVudHJ5LmZ1bGxwYXRoKCkpXG4gICAgfVxuICAgIGNvbnN0IHF1ZXVlOiBQYXRoQmFzZVtdID0gW2VudHJ5XVxuICAgIGxldCBwcm9jZXNzaW5nID0gMFxuICAgIGNvbnN0IHByb2Nlc3MgPSAoKSA9PiB7XG4gICAgICBsZXQgcGF1c2VkID0gZmFsc2VcbiAgICAgIHdoaWxlICghcGF1c2VkKSB7XG4gICAgICAgIGNvbnN0IGRpciA9IHF1ZXVlLnNoaWZ0KClcbiAgICAgICAgaWYgKCFkaXIpIHtcbiAgICAgICAgICBpZiAocHJvY2Vzc2luZyA9PT0gMCkgcmVzdWx0cy5lbmQoKVxuICAgICAgICAgIHJldHVyblxuICAgICAgICB9XG4gICAgICAgIHByb2Nlc3NpbmcrK1xuICAgICAgICBkaXJzLmFkZChkaXIpXG5cbiAgICAgICAgY29uc3QgZW50cmllcyA9IGRpci5yZWFkZGlyU3luYygpXG4gICAgICAgIGZvciAoY29uc3QgZSBvZiBlbnRyaWVzKSB7XG4gICAgICAgICAgaWYgKCFmaWx0ZXIgfHwgZmlsdGVyKGUpKSB7XG4gICAgICAgICAgICBpZiAoIXJlc3VsdHMud3JpdGUod2l0aEZpbGVUeXBlcyA/IGUgOiBlLmZ1bGxwYXRoKCkpKSB7XG4gICAgICAgICAgICAgIHBhdXNlZCA9IHRydWVcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcHJvY2Vzc2luZy0tXG4gICAgICAgIGZvciAoY29uc3QgZSBvZiBlbnRyaWVzKSB7XG4gICAgICAgICAgbGV0IHI6IFBhdGhCYXNlIHwgdW5kZWZpbmVkID0gZVxuICAgICAgICAgIGlmIChlLmlzU3ltYm9saWNMaW5rKCkpIHtcbiAgICAgICAgICAgIGlmICghKGZvbGxvdyAmJiAociA9IGUucmVhbHBhdGhTeW5jKCkpKSkgY29udGludWVcbiAgICAgICAgICAgIGlmIChyLmlzVW5rbm93bigpKSByLmxzdGF0U3luYygpXG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChyLnNob3VsZFdhbGsoZGlycywgd2Fsa0ZpbHRlcikpIHtcbiAgICAgICAgICAgIHF1ZXVlLnB1c2gocilcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChwYXVzZWQgJiYgIXJlc3VsdHMuZmxvd2luZykgcmVzdWx0cy5vbmNlKCdkcmFpbicsIHByb2Nlc3MpXG4gICAgfVxuICAgIHByb2Nlc3MoKVxuICAgIHJldHVybiByZXN1bHRzIGFzIE1pbmlwYXNzPHN0cmluZz4gfCBNaW5pcGFzczxQYXRoQmFzZT5cbiAgfVxuXG4gIGNoZGlyKHBhdGg6IHN0cmluZyB8IFBhdGggPSB0aGlzLmN3ZCkge1xuICAgIGNvbnN0IG9sZEN3ZCA9IHRoaXMuY3dkXG4gICAgdGhpcy5jd2QgPSB0eXBlb2YgcGF0aCA9PT0gJ3N0cmluZycgPyB0aGlzLmN3ZC5yZXNvbHZlKHBhdGgpIDogcGF0aFxuICAgIHRoaXMuY3dkW3NldEFzQ3dkXShvbGRDd2QpXG4gIH1cbn1cblxuLyoqXG4gKiBPcHRpb25zIHByb3ZpZGVkIHRvIGFsbCB3YWxrIG1ldGhvZHMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgV2Fsa09wdGlvbnMge1xuICAvKipcbiAgICogUmV0dXJuIHJlc3VsdHMgYXMge0BsaW5rIFBhdGhCYXNlfSBvYmplY3RzIHJhdGhlciB0aGFuIHN0cmluZ3MuXG4gICAqIFdoZW4gc2V0IHRvIGZhbHNlLCByZXN1bHRzIGFyZSBmdWxseSByZXNvbHZlZCBwYXRocywgYXMgcmV0dXJuZWQgYnlcbiAgICoge0BsaW5rIFBhdGhCYXNlLmZ1bGxwYXRofS5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgd2l0aEZpbGVUeXBlcz86IGJvb2xlYW5cblxuICAvKipcbiAgICogIEF0dGVtcHQgdG8gcmVhZCBkaXJlY3RvcnkgZW50cmllcyBmcm9tIHN5bWJvbGljIGxpbmtzLiBPdGhlcndpc2UsIG9ubHlcbiAgICogIGFjdHVhbCBkaXJlY3RvcmllcyBhcmUgdHJhdmVyc2VkLiBSZWdhcmRsZXNzIG9mIHRoaXMgc2V0dGluZywgYSBnaXZlblxuICAgKiAgdGFyZ2V0IHBhdGggd2lsbCBvbmx5IGV2ZXIgYmUgd2Fsa2VkIG9uY2UsIG1lYW5pbmcgdGhhdCBhIHN5bWJvbGljIGxpbmtcbiAgICogIHRvIGEgcHJldmlvdXNseSB0cmF2ZXJzZWQgZGlyZWN0b3J5IHdpbGwgbmV2ZXIgYmUgZm9sbG93ZWQuXG4gICAqXG4gICAqICBTZXR0aW5nIHRoaXMgaW1wb3NlcyBhIHNsaWdodCBwZXJmb3JtYW5jZSBwZW5hbHR5LCBiZWNhdXNlIGByZWFkbGlua2BcbiAgICogIG11c3QgYmUgY2FsbGVkIG9uIGFsbCBzeW1ib2xpYyBsaW5rcyBlbmNvdW50ZXJlZCwgaW4gb3JkZXIgdG8gYXZvaWRcbiAgICogIGluZmluaXRlIGN5Y2xlcy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIGZvbGxvdz86IGJvb2xlYW5cblxuICAvKipcbiAgICogT25seSByZXR1cm4gZW50cmllcyB3aGVyZSB0aGUgcHJvdmlkZWQgZnVuY3Rpb24gcmV0dXJucyB0cnVlLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgbm90IHByZXZlbnQgZGlyZWN0b3JpZXMgZnJvbSBiZWluZyB0cmF2ZXJzZWQsIGV2ZW4gaWYgdGhleSBkb1xuICAgKiBub3QgcGFzcyB0aGUgZmlsdGVyLCB0aG91Z2ggaXQgd2lsbCBwcmV2ZW50IGRpcmVjdG9yaWVzIHRoZW1zZWx2ZXMgZnJvbVxuICAgKiBiZWluZyBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0IHNldC4gIFNlZSB7QGxpbmsgd2Fsa0ZpbHRlcn1cbiAgICpcbiAgICogQXN5bmNocm9ub3VzIGZ1bmN0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCBoZXJlLlxuICAgKlxuICAgKiBCeSBkZWZhdWx0LCBpZiBubyBmaWx0ZXIgaXMgcHJvdmlkZWQsIGFsbCBlbnRyaWVzIGFuZCB0cmF2ZXJzZWRcbiAgICogZGlyZWN0b3JpZXMgYXJlIGluY2x1ZGVkLlxuICAgKi9cbiAgZmlsdGVyPzogKGVudHJ5OiBQYXRoQmFzZSkgPT4gYm9vbGVhblxuXG4gIC8qKlxuICAgKiBPbmx5IHRyYXZlcnNlIGRpcmVjdG9yaWVzIChhbmQgaW4gdGhlIGNhc2Ugb2Yge0BsaW5rIGZvbGxvd30gYmVpbmcgc2V0IHRvXG4gICAqIHRydWUsIHN5bWJvbGljIGxpbmtzIHRvIGRpcmVjdG9yaWVzKSBpZiB0aGUgcHJvdmlkZWQgZnVuY3Rpb24gcmV0dXJuc1xuICAgKiB0cnVlLlxuICAgKlxuICAgKiBUaGlzIHdpbGwgbm90IHByZXZlbnQgZGlyZWN0b3JpZXMgZnJvbSBiZWluZyBpbmNsdWRlZCBpbiB0aGUgcmVzdWx0IHNldCxcbiAgICogZXZlbiBpZiB0aGV5IGRvIG5vdCBwYXNzIHRoZSBzdXBwbGllZCBmaWx0ZXIgZnVuY3Rpb24uICBTZWUge0BsaW5rIGZpbHRlcn1cbiAgICogdG8gZG8gdGhhdC5cbiAgICpcbiAgICogQXN5bmNocm9ub3VzIGZ1bmN0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCBoZXJlLlxuICAgKi9cbiAgd2Fsa0ZpbHRlcj86IChlbnRyeTogUGF0aEJhc2UpID0+IGJvb2xlYW5cbn1cblxuZXhwb3J0IHR5cGUgV2Fsa09wdGlvbnNXaXRoRmlsZVR5cGVzVW5zZXQgPSBXYWxrT3B0aW9ucyAmIHtcbiAgd2l0aEZpbGVUeXBlcz86IHVuZGVmaW5lZFxufVxuZXhwb3J0IHR5cGUgV2Fsa09wdGlvbnNXaXRoRmlsZVR5cGVzVHJ1ZSA9IFdhbGtPcHRpb25zICYge1xuICB3aXRoRmlsZVR5cGVzOiB0cnVlXG59XG5leHBvcnQgdHlwZSBXYWxrT3B0aW9uc1dpdGhGaWxlVHlwZXNGYWxzZSA9IFdhbGtPcHRpb25zICYge1xuICB3aXRoRmlsZVR5cGVzOiBmYWxzZVxufVxuXG4vKipcbiAqIFdpbmRvd3MgaW1wbGVtZW50YXRpb24gb2Yge0BsaW5rIFBhdGhTY3VycnlCYXNlfVxuICpcbiAqIERlZmF1bHRzIHRvIGNhc2UgaW5zZW5zaXR2ZSwgdXNlcyBgJ1xcXFwnYCB0byBnZW5lcmF0ZSBwYXRoIHN0cmluZ3MuICBVc2VzXG4gKiB7QGxpbmsgUGF0aFdpbjMyfSBmb3IgUGF0aCBvYmplY3RzLlxuICovXG5leHBvcnQgY2xhc3MgUGF0aFNjdXJyeVdpbjMyIGV4dGVuZHMgUGF0aFNjdXJyeUJhc2Uge1xuICAvKipcbiAgICogc2VwYXJhdG9yIGZvciBnZW5lcmF0aW5nIHBhdGggc3RyaW5nc1xuICAgKi9cbiAgc2VwOiAnXFxcXCcgPSAnXFxcXCdcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjd2Q6IFVSTCB8IHN0cmluZyA9IHByb2Nlc3MuY3dkKCksXG4gICAgb3B0czogUGF0aFNjdXJyeU9wdHMgPSB7fSxcbiAgKSB7XG4gICAgY29uc3QgeyBub2Nhc2UgPSB0cnVlIH0gPSBvcHRzXG4gICAgc3VwZXIoY3dkLCB3aW4zMiwgJ1xcXFwnLCB7IC4uLm9wdHMsIG5vY2FzZSB9KVxuICAgIHRoaXMubm9jYXNlID0gbm9jYXNlXG4gICAgZm9yIChsZXQgcDogUGF0aEJhc2UgfCB1bmRlZmluZWQgPSB0aGlzLmN3ZDsgcDsgcCA9IHAucGFyZW50KSB7XG4gICAgICBwLm5vY2FzZSA9IHRoaXMubm9jYXNlXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgcGFyc2VSb290UGF0aChkaXI6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gaWYgdGhlIHBhdGggc3RhcnRzIHdpdGggYSBzaW5nbGUgc2VwYXJhdG9yLCBpdCdzIG5vdCBhIFVOQywgYW5kIHdlJ2xsXG4gICAgLy8ganVzdCBnZXQgc2VwYXJhdG9yIGFzIHRoZSByb290LCBhbmQgZHJpdmVGcm9tVU5DIHdpbGwgcmV0dXJuIFxcXG4gICAgLy8gSW4gdGhhdCBjYXNlLCBtb3VudCBcXCBvbiB0aGUgcm9vdCBmcm9tIHRoZSBjd2QuXG4gICAgcmV0dXJuIHdpbjMyLnBhcnNlKGRpcikucm9vdC50b1VwcGVyQ2FzZSgpXG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZXdSb290KGZzOiBGU1ZhbHVlKSB7XG4gICAgcmV0dXJuIG5ldyBQYXRoV2luMzIoXG4gICAgICB0aGlzLnJvb3RQYXRoLFxuICAgICAgSUZESVIsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLnJvb3RzLFxuICAgICAgdGhpcy5ub2Nhc2UsXG4gICAgICB0aGlzLmNoaWxkcmVuQ2FjaGUoKSxcbiAgICAgIHsgZnMgfSxcbiAgICApXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRydWUgaWYgdGhlIHByb3ZpZGVkIHBhdGggc3RyaW5nIGlzIGFuIGFic29sdXRlIHBhdGhcbiAgICovXG4gIGlzQWJzb2x1dGUocDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHAuc3RhcnRzV2l0aCgnLycpIHx8IHAuc3RhcnRzV2l0aCgnXFxcXCcpIHx8IC9eW2Etel06KFxcL3xcXFxcKS9pLnRlc3QocClcbiAgICApXG4gIH1cbn1cblxuLyoqXG4gKiB7QGxpbmsgUGF0aFNjdXJyeUJhc2V9IGltcGxlbWVudGF0aW9uIGZvciBhbGwgcG9zaXggc3lzdGVtcyBvdGhlciB0aGFuIERhcndpbi5cbiAqXG4gKiBEZWZhdWx0cyB0byBjYXNlLXNlbnNpdGl2ZSBtYXRjaGluZywgdXNlcyBgJy8nYCB0byBnZW5lcmF0ZSBwYXRoIHN0cmluZ3MuXG4gKlxuICogVXNlcyB7QGxpbmsgUGF0aFBvc2l4fSBmb3IgUGF0aCBvYmplY3RzLlxuICovXG5leHBvcnQgY2xhc3MgUGF0aFNjdXJyeVBvc2l4IGV4dGVuZHMgUGF0aFNjdXJyeUJhc2Uge1xuICAvKipcbiAgICogc2VwYXJhdG9yIGZvciBnZW5lcmF0aW5nIHBhdGggc3RyaW5nc1xuICAgKi9cbiAgc2VwOiAnLycgPSAnLydcbiAgY29uc3RydWN0b3IoXG4gICAgY3dkOiBVUkwgfCBzdHJpbmcgPSBwcm9jZXNzLmN3ZCgpLFxuICAgIG9wdHM6IFBhdGhTY3VycnlPcHRzID0ge30sXG4gICkge1xuICAgIGNvbnN0IHsgbm9jYXNlID0gZmFsc2UgfSA9IG9wdHNcbiAgICBzdXBlcihjd2QsIHBvc2l4LCAnLycsIHsgLi4ub3B0cywgbm9jYXNlIH0pXG4gICAgdGhpcy5ub2Nhc2UgPSBub2Nhc2VcbiAgfVxuXG4gIC8qKlxuICAgKiBAaW50ZXJuYWxcbiAgICovXG4gIHBhcnNlUm9vdFBhdGgoX2Rpcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJy8nXG4gIH1cblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBuZXdSb290KGZzOiBGU1ZhbHVlKSB7XG4gICAgcmV0dXJuIG5ldyBQYXRoUG9zaXgoXG4gICAgICB0aGlzLnJvb3RQYXRoLFxuICAgICAgSUZESVIsXG4gICAgICB1bmRlZmluZWQsXG4gICAgICB0aGlzLnJvb3RzLFxuICAgICAgdGhpcy5ub2Nhc2UsXG4gICAgICB0aGlzLmNoaWxkcmVuQ2FjaGUoKSxcbiAgICAgIHsgZnMgfSxcbiAgICApXG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIHRydWUgaWYgdGhlIHByb3ZpZGVkIHBhdGggc3RyaW5nIGlzIGFuIGFic29sdXRlIHBhdGhcbiAgICovXG4gIGlzQWJzb2x1dGUocDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHAuc3RhcnRzV2l0aCgnLycpXG4gIH1cbn1cblxuLyoqXG4gKiB7QGxpbmsgUGF0aFNjdXJyeUJhc2V9IGltcGxlbWVudGF0aW9uIGZvciBEYXJ3aW4gKG1hY09TKSBzeXN0ZW1zLlxuICpcbiAqIERlZmF1bHRzIHRvIGNhc2UtaW5zZW5zaXRpdmUgbWF0Y2hpbmcsIHVzZXMgYCcvJ2AgZm9yIGdlbmVyYXRpbmcgcGF0aFxuICogc3RyaW5ncy5cbiAqXG4gKiBVc2VzIHtAbGluayBQYXRoUG9zaXh9IGZvciBQYXRoIG9iamVjdHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXRoU2N1cnJ5RGFyd2luIGV4dGVuZHMgUGF0aFNjdXJyeVBvc2l4IHtcbiAgY29uc3RydWN0b3IoXG4gICAgY3dkOiBVUkwgfCBzdHJpbmcgPSBwcm9jZXNzLmN3ZCgpLFxuICAgIG9wdHM6IFBhdGhTY3VycnlPcHRzID0ge30sXG4gICkge1xuICAgIGNvbnN0IHsgbm9jYXNlID0gdHJ1ZSB9ID0gb3B0c1xuICAgIHN1cGVyKGN3ZCwgeyAuLi5vcHRzLCBub2Nhc2UgfSlcbiAgfVxufVxuXG4vKipcbiAqIERlZmF1bHQge0BsaW5rIFBhdGhCYXNlfSBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGN1cnJlbnQgcGxhdGZvcm0uXG4gKlxuICoge0BsaW5rIFBhdGhXaW4zMn0gb24gV2luZG93cyBzeXN0ZW1zLCB7QGxpbmsgUGF0aFBvc2l4fSBvbiBhbGwgb3RoZXJzLlxuICovXG5leHBvcnQgY29uc3QgUGF0aCA9IHByb2Nlc3MucGxhdGZvcm0gPT09ICd3aW4zMicgPyBQYXRoV2luMzIgOiBQYXRoUG9zaXhcbmV4cG9ydCB0eXBlIFBhdGggPSBQYXRoQmFzZSB8IEluc3RhbmNlVHlwZTx0eXBlb2YgUGF0aD5cblxuLyoqXG4gKiBEZWZhdWx0IHtAbGluayBQYXRoU2N1cnJ5QmFzZX0gaW1wbGVtZW50YXRpb24gZm9yIHRoZSBjdXJyZW50IHBsYXRmb3JtLlxuICpcbiAqIHtAbGluayBQYXRoU2N1cnJ5V2luMzJ9IG9uIFdpbmRvd3Mgc3lzdGVtcywge0BsaW5rIFBhdGhTY3VycnlEYXJ3aW59IG9uXG4gKiBEYXJ3aW4gKG1hY09TKSBzeXN0ZW1zLCB7QGxpbmsgUGF0aFNjdXJyeVBvc2l4fSBvbiBhbGwgb3RoZXJzLlxuICovXG5leHBvcnQgY29uc3QgUGF0aFNjdXJyeTpcbiAgfCB0eXBlb2YgUGF0aFNjdXJyeVdpbjMyXG4gIHwgdHlwZW9mIFBhdGhTY3VycnlEYXJ3aW5cbiAgfCB0eXBlb2YgUGF0aFNjdXJyeVBvc2l4ID1cbiAgcHJvY2Vzcy5wbGF0Zm9ybSA9PT0gJ3dpbjMyJyA/IFBhdGhTY3VycnlXaW4zMlxuICA6IHByb2Nlc3MucGxhdGZvcm0gPT09ICdkYXJ3aW4nID8gUGF0aFNjdXJyeURhcndpblxuICA6IFBhdGhTY3VycnlQb3NpeFxuZXhwb3J0IHR5cGUgUGF0aFNjdXJyeSA9IFBhdGhTY3VycnlCYXNlIHwgSW5zdGFuY2VUeXBlPHR5cGVvZiBQYXRoU2N1cnJ5PlxuIiwgImNvbnN0IHByb2MgPVxuICB0eXBlb2YgcHJvY2VzcyA9PT0gJ29iamVjdCcgJiYgcHJvY2Vzc1xuICAgID8gcHJvY2Vzc1xuICAgIDoge1xuICAgICAgICBzdGRvdXQ6IG51bGwsXG4gICAgICAgIHN0ZGVycjogbnVsbCxcbiAgICAgIH1cbmltcG9ydCB7IEV2ZW50RW1pdHRlciB9IGZyb20gJ25vZGU6ZXZlbnRzJ1xuaW1wb3J0IFN0cmVhbSBmcm9tICdub2RlOnN0cmVhbSdcbmltcG9ydCB7IFN0cmluZ0RlY29kZXIgfSBmcm9tICdub2RlOnN0cmluZ19kZWNvZGVyJ1xuXG4vKipcbiAqIFNhbWUgYXMgU3RyaW5nRGVjb2RlciwgYnV0IGV4cG9zaW5nIHRoZSBgbGFzdE5lZWRgIGZsYWcgb24gdGhlIHR5cGVcbiAqL1xudHlwZSBTRCA9IFN0cmluZ0RlY29kZXIgJiB7IGxhc3ROZWVkOiBib29sZWFuIH1cblxuZXhwb3J0IHR5cGUgeyBTRCwgUGlwZSwgUGlwZVByb3h5RXJyb3JzIH1cblxuLyoqXG4gKiBSZXR1cm4gdHJ1ZSBpZiB0aGUgYXJndW1lbnQgaXMgYSBNaW5pcGFzcyBzdHJlYW0sIE5vZGUgc3RyZWFtLCBvciBzb21ldGhpbmdcbiAqIGVsc2UgdGhhdCBNaW5pcGFzcyBjYW4gaW50ZXJhY3Qgd2l0aC5cbiAqL1xuZXhwb3J0IGNvbnN0IGlzU3RyZWFtID0gKFxuICBzOiBhbnlcbik6IHMgaXMgTWluaXBhc3MuUmVhZGFibGUgfCBNaW5pcGFzcy5Xcml0YWJsZSA9PlxuICAhIXMgJiZcbiAgdHlwZW9mIHMgPT09ICdvYmplY3QnICYmXG4gIChzIGluc3RhbmNlb2YgTWluaXBhc3MgfHxcbiAgICBzIGluc3RhbmNlb2YgU3RyZWFtIHx8XG4gICAgaXNSZWFkYWJsZShzKSB8fFxuICAgIGlzV3JpdGFibGUocykpXG5cbi8qKlxuICogUmV0dXJuIHRydWUgaWYgdGhlIGFyZ3VtZW50IGlzIGEgdmFsaWQge0BsaW5rIE1pbmlwYXNzLlJlYWRhYmxlfVxuICovXG5leHBvcnQgY29uc3QgaXNSZWFkYWJsZSA9IChzOiBhbnkpOiBzIGlzIE1pbmlwYXNzLlJlYWRhYmxlID0+XG4gICEhcyAmJlxuICB0eXBlb2YgcyA9PT0gJ29iamVjdCcgJiZcbiAgcyBpbnN0YW5jZW9mIEV2ZW50RW1pdHRlciAmJlxuICB0eXBlb2YgKHMgYXMgTWluaXBhc3MuUmVhZGFibGUpLnBpcGUgPT09ICdmdW5jdGlvbicgJiZcbiAgLy8gbm9kZSBjb3JlIFdyaXRhYmxlIHN0cmVhbXMgaGF2ZSBhIHBpcGUoKSBtZXRob2QsIGJ1dCBpdCB0aHJvd3NcbiAgKHMgYXMgTWluaXBhc3MuUmVhZGFibGUpLnBpcGUgIT09IFN0cmVhbS5Xcml0YWJsZS5wcm90b3R5cGUucGlwZVxuXG4vKipcbiAqIFJldHVybiB0cnVlIGlmIHRoZSBhcmd1bWVudCBpcyBhIHZhbGlkIHtAbGluayBNaW5pcGFzcy5Xcml0YWJsZX1cbiAqL1xuZXhwb3J0IGNvbnN0IGlzV3JpdGFibGUgPSAoczogYW55KTogcyBpcyBNaW5pcGFzcy5SZWFkYWJsZSA9PlxuICAhIXMgJiZcbiAgdHlwZW9mIHMgPT09ICdvYmplY3QnICYmXG4gIHMgaW5zdGFuY2VvZiBFdmVudEVtaXR0ZXIgJiZcbiAgdHlwZW9mIChzIGFzIE1pbmlwYXNzLldyaXRhYmxlKS53cml0ZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICB0eXBlb2YgKHMgYXMgTWluaXBhc3MuV3JpdGFibGUpLmVuZCA9PT0gJ2Z1bmN0aW9uJ1xuXG5jb25zdCBFT0YgPSBTeW1ib2woJ0VPRicpXG5jb25zdCBNQVlCRV9FTUlUX0VORCA9IFN5bWJvbCgnbWF5YmVFbWl0RW5kJylcbmNvbnN0IEVNSVRURURfRU5EID0gU3ltYm9sKCdlbWl0dGVkRW5kJylcbmNvbnN0IEVNSVRUSU5HX0VORCA9IFN5bWJvbCgnZW1pdHRpbmdFbmQnKVxuY29uc3QgRU1JVFRFRF9FUlJPUiA9IFN5bWJvbCgnZW1pdHRlZEVycm9yJylcbmNvbnN0IENMT1NFRCA9IFN5bWJvbCgnY2xvc2VkJylcbmNvbnN0IFJFQUQgPSBTeW1ib2woJ3JlYWQnKVxuY29uc3QgRkxVU0ggPSBTeW1ib2woJ2ZsdXNoJylcbmNvbnN0IEZMVVNIQ0hVTksgPSBTeW1ib2woJ2ZsdXNoQ2h1bmsnKVxuY29uc3QgRU5DT0RJTkcgPSBTeW1ib2woJ2VuY29kaW5nJylcbmNvbnN0IERFQ09ERVIgPSBTeW1ib2woJ2RlY29kZXInKVxuY29uc3QgRkxPV0lORyA9IFN5bWJvbCgnZmxvd2luZycpXG5jb25zdCBQQVVTRUQgPSBTeW1ib2woJ3BhdXNlZCcpXG5jb25zdCBSRVNVTUUgPSBTeW1ib2woJ3Jlc3VtZScpXG5jb25zdCBCVUZGRVIgPSBTeW1ib2woJ2J1ZmZlcicpXG5jb25zdCBQSVBFUyA9IFN5bWJvbCgncGlwZXMnKVxuY29uc3QgQlVGRkVSTEVOR1RIID0gU3ltYm9sKCdidWZmZXJMZW5ndGgnKVxuY29uc3QgQlVGRkVSUFVTSCA9IFN5bWJvbCgnYnVmZmVyUHVzaCcpXG5jb25zdCBCVUZGRVJTSElGVCA9IFN5bWJvbCgnYnVmZmVyU2hpZnQnKVxuY29uc3QgT0JKRUNUTU9ERSA9IFN5bWJvbCgnb2JqZWN0TW9kZScpXG4vLyBpbnRlcm5hbCBldmVudCB3aGVuIHN0cmVhbSBpcyBkZXN0cm95ZWRcbmNvbnN0IERFU1RST1lFRCA9IFN5bWJvbCgnZGVzdHJveWVkJylcbi8vIGludGVybmFsIGV2ZW50IHdoZW4gc3RyZWFtIGhhcyBhbiBlcnJvclxuY29uc3QgRVJST1IgPSBTeW1ib2woJ2Vycm9yJylcbmNvbnN0IEVNSVREQVRBID0gU3ltYm9sKCdlbWl0RGF0YScpXG5jb25zdCBFTUlURU5EID0gU3ltYm9sKCdlbWl0RW5kJylcbmNvbnN0IEVNSVRFTkQyID0gU3ltYm9sKCdlbWl0RW5kMicpXG5jb25zdCBBU1lOQyA9IFN5bWJvbCgnYXN5bmMnKVxuY29uc3QgQUJPUlQgPSBTeW1ib2woJ2Fib3J0JylcbmNvbnN0IEFCT1JURUQgPSBTeW1ib2woJ2Fib3J0ZWQnKVxuY29uc3QgU0lHTkFMID0gU3ltYm9sKCdzaWduYWwnKVxuY29uc3QgREFUQUxJU1RFTkVSUyA9IFN5bWJvbCgnZGF0YUxpc3RlbmVycycpXG5jb25zdCBESVNDQVJERUQgPSBTeW1ib2woJ2Rpc2NhcmRlZCcpXG5cbmNvbnN0IGRlZmVyID0gKGZuOiAoLi4uYTogYW55W10pID0+IGFueSkgPT4gUHJvbWlzZS5yZXNvbHZlKCkudGhlbihmbilcbmNvbnN0IG5vZGVmZXIgPSAoZm46ICguLi5hOiBhbnlbXSkgPT4gYW55KSA9PiBmbigpXG5cbi8vIGV2ZW50cyB0aGF0IG1lYW4gJ3RoZSBzdHJlYW0gaXMgb3Zlcidcbi8vIHRoZXNlIGFyZSB0cmVhdGVkIHNwZWNpYWxseSwgYW5kIHJlLWVtaXR0ZWRcbi8vIGlmIHRoZXkgYXJlIGxpc3RlbmVkIGZvciBhZnRlciBlbWl0dGluZy5cbnR5cGUgRW5kaXNoRXZlbnQgPSAnZW5kJyB8ICdmaW5pc2gnIHwgJ3ByZWZpbmlzaCdcbmNvbnN0IGlzRW5kaXNoID0gKGV2OiBhbnkpOiBldiBpcyBFbmRpc2hFdmVudCA9PlxuICBldiA9PT0gJ2VuZCcgfHwgZXYgPT09ICdmaW5pc2gnIHx8IGV2ID09PSAncHJlZmluaXNoJ1xuXG5jb25zdCBpc0FycmF5QnVmZmVyTGlrZSA9IChiOiBhbnkpOiBiIGlzIEFycmF5QnVmZmVyTGlrZSA9PlxuICBiIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIgfHxcbiAgKCEhYiAmJlxuICAgIHR5cGVvZiBiID09PSAnb2JqZWN0JyAmJlxuICAgIGIuY29uc3RydWN0b3IgJiZcbiAgICBiLmNvbnN0cnVjdG9yLm5hbWUgPT09ICdBcnJheUJ1ZmZlcicgJiZcbiAgICBiLmJ5dGVMZW5ndGggPj0gMClcblxuY29uc3QgaXNBcnJheUJ1ZmZlclZpZXcgPSAoYjogYW55KTogYiBpcyBBcnJheUJ1ZmZlclZpZXcgPT5cbiAgIUJ1ZmZlci5pc0J1ZmZlcihiKSAmJiBBcnJheUJ1ZmZlci5pc1ZpZXcoYilcblxuLyoqXG4gKiBPcHRpb25zIHRoYXQgbWF5IGJlIHBhc3NlZCB0byBzdHJlYW0ucGlwZSgpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlwZU9wdGlvbnMge1xuICAvKipcbiAgICogZW5kIHRoZSBkZXN0aW5hdGlvbiBzdHJlYW0gd2hlbiB0aGUgc291cmNlIHN0cmVhbSBlbmRzXG4gICAqL1xuICBlbmQ/OiBib29sZWFuXG4gIC8qKlxuICAgKiBwcm94eSBlcnJvcnMgZnJvbSB0aGUgc291cmNlIHN0cmVhbSB0byB0aGUgZGVzdGluYXRpb24gc3RyZWFtXG4gICAqL1xuICBwcm94eUVycm9ycz86IGJvb2xlYW5cbn1cblxuLyoqXG4gKiBJbnRlcm5hbCBjbGFzcyByZXByZXNlbnRpbmcgYSBwaXBlIHRvIGEgZGVzdGluYXRpb24gc3RyZWFtLlxuICpcbiAqIEBpbnRlcm5hbFxuICovXG5jbGFzcyBQaXBlPFQgZXh0ZW5kcyB1bmtub3duPiB7XG4gIHNyYzogTWluaXBhc3M8VD5cbiAgZGVzdDogTWluaXBhc3M8YW55LCBUPlxuICBvcHRzOiBQaXBlT3B0aW9uc1xuICBvbmRyYWluOiAoKSA9PiBhbnlcbiAgY29uc3RydWN0b3IoXG4gICAgc3JjOiBNaW5pcGFzczxUPixcbiAgICBkZXN0OiBNaW5pcGFzcy5Xcml0YWJsZSxcbiAgICBvcHRzOiBQaXBlT3B0aW9uc1xuICApIHtcbiAgICB0aGlzLnNyYyA9IHNyY1xuICAgIHRoaXMuZGVzdCA9IGRlc3QgYXMgTWluaXBhc3M8YW55LCBUPlxuICAgIHRoaXMub3B0cyA9IG9wdHNcbiAgICB0aGlzLm9uZHJhaW4gPSAoKSA9PiBzcmNbUkVTVU1FXSgpXG4gICAgdGhpcy5kZXN0Lm9uKCdkcmFpbicsIHRoaXMub25kcmFpbilcbiAgfVxuICB1bnBpcGUoKSB7XG4gICAgdGhpcy5kZXN0LnJlbW92ZUxpc3RlbmVyKCdkcmFpbicsIHRoaXMub25kcmFpbilcbiAgfVxuICAvLyBvbmx5IGhlcmUgZm9yIHRoZSBwcm90b3R5cGVcbiAgLyogYzggaWdub3JlIHN0YXJ0ICovXG4gIHByb3h5RXJyb3JzKF9lcjogYW55KSB7fVxuICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuICBlbmQoKSB7XG4gICAgdGhpcy51bnBpcGUoKVxuICAgIGlmICh0aGlzLm9wdHMuZW5kKSB0aGlzLmRlc3QuZW5kKClcbiAgfVxufVxuXG4vKipcbiAqIEludGVybmFsIGNsYXNzIHJlcHJlc2VudGluZyBhIHBpcGUgdG8gYSBkZXN0aW5hdGlvbiBzdHJlYW0gd2hlcmVcbiAqIGVycm9ycyBhcmUgcHJveGllZC5cbiAqXG4gKiBAaW50ZXJuYWxcbiAqL1xuY2xhc3MgUGlwZVByb3h5RXJyb3JzPFQ+IGV4dGVuZHMgUGlwZTxUPiB7XG4gIHVucGlwZSgpIHtcbiAgICB0aGlzLnNyYy5yZW1vdmVMaXN0ZW5lcignZXJyb3InLCB0aGlzLnByb3h5RXJyb3JzKVxuICAgIHN1cGVyLnVucGlwZSgpXG4gIH1cbiAgY29uc3RydWN0b3IoXG4gICAgc3JjOiBNaW5pcGFzczxUPixcbiAgICBkZXN0OiBNaW5pcGFzcy5Xcml0YWJsZSxcbiAgICBvcHRzOiBQaXBlT3B0aW9uc1xuICApIHtcbiAgICBzdXBlcihzcmMsIGRlc3QsIG9wdHMpXG4gICAgdGhpcy5wcm94eUVycm9ycyA9IGVyID0+IGRlc3QuZW1pdCgnZXJyb3InLCBlcilcbiAgICBzcmMub24oJ2Vycm9yJywgdGhpcy5wcm94eUVycm9ycylcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIE1pbmlwYXNzIHtcbiAgLyoqXG4gICAqIEVuY29kaW5nIHVzZWQgdG8gY3JlYXRlIGEgc3RyZWFtIHRoYXQgb3V0cHV0cyBzdHJpbmdzIHJhdGhlciB0aGFuXG4gICAqIEJ1ZmZlciBvYmplY3RzLlxuICAgKi9cbiAgZXhwb3J0IHR5cGUgRW5jb2RpbmcgPSBCdWZmZXJFbmNvZGluZyB8ICdidWZmZXInIHwgbnVsbFxuXG4gIC8qKlxuICAgKiBBbnkgc3RyZWFtIHRoYXQgTWluaXBhc3MgY2FuIHBpcGUgaW50b1xuICAgKi9cbiAgZXhwb3J0IHR5cGUgV3JpdGFibGUgPVxuICAgIHwgTWluaXBhc3M8YW55LCBhbnksIGFueT5cbiAgICB8IE5vZGVKUy5Xcml0ZVN0cmVhbVxuICAgIHwgKE5vZGVKUy5Xcml0ZVN0cmVhbSAmIHsgZmQ6IG51bWJlciB9KVxuICAgIHwgKEV2ZW50RW1pdHRlciAmIHtcbiAgICAgICAgZW5kKCk6IGFueVxuICAgICAgICB3cml0ZShjaHVuazogYW55LCAuLi5hcmdzOiBhbnlbXSk6IGFueVxuICAgICAgfSlcblxuICAvKipcbiAgICogQW55IHN0cmVhbSB0aGF0IGNhbiBiZSByZWFkIGZyb21cbiAgICovXG4gIGV4cG9ydCB0eXBlIFJlYWRhYmxlID1cbiAgICB8IE1pbmlwYXNzPGFueSwgYW55LCBhbnk+XG4gICAgfCBOb2RlSlMuUmVhZFN0cmVhbVxuICAgIHwgKE5vZGVKUy5SZWFkU3RyZWFtICYgeyBmZDogbnVtYmVyIH0pXG4gICAgfCAoRXZlbnRFbWl0dGVyICYge1xuICAgICAgICBwYXVzZSgpOiBhbnlcbiAgICAgICAgcmVzdW1lKCk6IGFueVxuICAgICAgICBwaXBlKC4uLmRlc3RBcmdzOiBhbnlbXSk6IGFueVxuICAgICAgfSlcblxuICAvKipcbiAgICogVXRpbGl0eSB0eXBlIHRoYXQgY2FuIGJlIGl0ZXJhdGVkIHN5bmMgb3IgYXN5bmNcbiAgICovXG4gIGV4cG9ydCB0eXBlIER1YWxJdGVyYWJsZTxUPiA9IEl0ZXJhYmxlPFQ+ICYgQXN5bmNJdGVyYWJsZTxUPlxuXG4gIHR5cGUgRXZlbnRBcmd1bWVudHMgPSBSZWNvcmQ8c3RyaW5nIHwgc3ltYm9sLCB1bmtub3duW10+XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0aW5nIG9mIGV2ZW50cyB0aGF0IGEgTWluaXBhc3MgY2xhc3MgY2FuIGVtaXQuXG4gICAqIEV4dGVuZCB0aGlzIHdoZW4gZXh0ZW5kaW5nIHRoZSBNaW5pcGFzcyBjbGFzcywgYW5kIHBhc3MgYXNcbiAgICogdGhlIHRoaXJkIHRlbXBsYXRlIGFyZ3VtZW50LiAgVGhlIGtleSBpcyB0aGUgbmFtZSBvZiB0aGUgZXZlbnQsXG4gICAqIGFuZCB0aGUgdmFsdWUgaXMgdGhlIGFyZ3VtZW50IGxpc3QuXG4gICAqXG4gICAqIEFueSB1bmRlY2xhcmVkIGV2ZW50cyB3aWxsIHN0aWxsIGJlIGFsbG93ZWQsIGJ1dCB0aGUgaGFuZGxlciB3aWxsIGdldFxuICAgKiBhcmd1bWVudHMgYXMgYHVua25vd25bXWAuXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIEV2ZW50czxSVHlwZSBleHRlbmRzIGFueSA9IEJ1ZmZlcj5cbiAgICBleHRlbmRzIEV2ZW50QXJndW1lbnRzIHtcbiAgICByZWFkYWJsZTogW11cbiAgICBkYXRhOiBbY2h1bms6IFJUeXBlXVxuICAgIGVycm9yOiBbZXI6IHVua25vd25dXG4gICAgYWJvcnQ6IFtyZWFzb246IHVua25vd25dXG4gICAgZHJhaW46IFtdXG4gICAgcmVzdW1lOiBbXVxuICAgIGVuZDogW11cbiAgICBmaW5pc2g6IFtdXG4gICAgcHJlZmluaXNoOiBbXVxuICAgIGNsb3NlOiBbXVxuICAgIFtERVNUUk9ZRURdOiBbZXI/OiB1bmtub3duXVxuICAgIFtFUlJPUl06IFtlcjogdW5rbm93bl1cbiAgfVxuXG4gIC8qKlxuICAgKiBTdHJpbmcgb3IgYnVmZmVyLWxpa2UgZGF0YSB0aGF0IGNhbiBiZSBqb2luZWQgYW5kIHNsaWNlZFxuICAgKi9cbiAgZXhwb3J0IHR5cGUgQ29udGlndW91c0RhdGEgPVxuICAgIHwgQnVmZmVyXG4gICAgfCBBcnJheUJ1ZmZlckxpa2VcbiAgICB8IEFycmF5QnVmZmVyVmlld1xuICAgIHwgc3RyaW5nXG4gIGV4cG9ydCB0eXBlIEJ1ZmZlck9yU3RyaW5nID0gQnVmZmVyIHwgc3RyaW5nXG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgcGFzc2VkIHRvIHRoZSBNaW5pcGFzcyBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIGV4cG9ydCB0eXBlIFNoYXJlZE9wdGlvbnMgPSB7XG4gICAgLyoqXG4gICAgICogRGVmZXIgYWxsIGRhdGEgZW1pc3Npb24gYW5kIG90aGVyIGV2ZW50cyB1bnRpbCB0aGUgZW5kIG9mIHRoZVxuICAgICAqIGN1cnJlbnQgdGljaywgc2ltaWxhciB0byBOb2RlIGNvcmUgc3RyZWFtc1xuICAgICAqL1xuICAgIGFzeW5jPzogYm9vbGVhblxuICAgIC8qKlxuICAgICAqIEEgc2lnbmFsIHdoaWNoIHdpbGwgYWJvcnQgdGhlIHN0cmVhbVxuICAgICAqL1xuICAgIHNpZ25hbD86IEFib3J0U2lnbmFsXG4gICAgLyoqXG4gICAgICogT3V0cHV0IHN0cmluZyBlbmNvZGluZy4gU2V0IHRvIGBudWxsYCBvciBgJ2J1ZmZlcidgIChvciBvbWl0KSB0b1xuICAgICAqIGVtaXQgQnVmZmVyIG9iamVjdHMgcmF0aGVyIHRoYW4gc3RyaW5ncy5cbiAgICAgKlxuICAgICAqIENvbmZsaWN0cyB3aXRoIGBvYmplY3RNb2RlYFxuICAgICAqL1xuICAgIGVuY29kaW5nPzogQnVmZmVyRW5jb2RpbmcgfCBudWxsIHwgJ2J1ZmZlcidcbiAgICAvKipcbiAgICAgKiBPdXRwdXQgZGF0YSBleGFjdGx5IGFzIGl0IHdhcyB3cml0dGVuLCBzdXBwb3J0aW5nIG5vbi1idWZmZXIvc3RyaW5nXG4gICAgICogZGF0YSAoc3VjaCBhcyBhcmJpdHJhcnkgb2JqZWN0cywgZmFsc2V5IHZhbHVlcywgZXRjLilcbiAgICAgKlxuICAgICAqIENvbmZsaWN0cyB3aXRoIGBlbmNvZGluZ2BcbiAgICAgKi9cbiAgICBvYmplY3RNb2RlPzogYm9vbGVhblxuICB9XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIGEgc3RyaW5nIGVuY29kZWQgb3V0cHV0XG4gICAqL1xuICBleHBvcnQgdHlwZSBFbmNvZGluZ09wdGlvbnMgPSBTaGFyZWRPcHRpb25zICYge1xuICAgIGVuY29kaW5nOiBCdWZmZXJFbmNvZGluZ1xuICAgIG9iamVjdE1vZGU/OiBmYWxzZVxuICB9XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIGNvbnRpZ3VvdXMgZGF0YSBidWZmZXIgb3V0cHV0XG4gICAqL1xuICBleHBvcnQgdHlwZSBCdWZmZXJPcHRpb25zID0gU2hhcmVkT3B0aW9ucyAmIHtcbiAgICBlbmNvZGluZz86IG51bGwgfCAnYnVmZmVyJ1xuICAgIG9iamVjdE1vZGU/OiBmYWxzZVxuICB9XG5cbiAgLyoqXG4gICAqIE9wdGlvbnMgZm9yIG9iamVjdE1vZGUgYXJiaXRyYXJ5IG91dHB1dFxuICAgKi9cbiAgZXhwb3J0IHR5cGUgT2JqZWN0TW9kZU9wdGlvbnMgPSBTaGFyZWRPcHRpb25zICYge1xuICAgIG9iamVjdE1vZGU6IHRydWVcbiAgICBlbmNvZGluZz86IG51bGxcbiAgfVxuXG4gIC8qKlxuICAgKiBVdGlsaXR5IHR5cGUgdG8gZGV0ZXJtaW5lIGFsbG93ZWQgb3B0aW9ucyBiYXNlZCBvbiByZWFkIHR5cGVcbiAgICovXG4gIGV4cG9ydCB0eXBlIE9wdGlvbnM8VD4gPVxuICAgIHwgT2JqZWN0TW9kZU9wdGlvbnNcbiAgICB8IChUIGV4dGVuZHMgc3RyaW5nXG4gICAgICAgID8gRW5jb2RpbmdPcHRpb25zXG4gICAgICAgIDogVCBleHRlbmRzIEJ1ZmZlclxuICAgICAgICA/IEJ1ZmZlck9wdGlvbnNcbiAgICAgICAgOiBTaGFyZWRPcHRpb25zKVxufVxuXG5jb25zdCBpc09iamVjdE1vZGVPcHRpb25zID0gKFxuICBvOiBNaW5pcGFzcy5TaGFyZWRPcHRpb25zXG4pOiBvIGlzIE1pbmlwYXNzLk9iamVjdE1vZGVPcHRpb25zID0+ICEhby5vYmplY3RNb2RlXG5cbmNvbnN0IGlzRW5jb2RpbmdPcHRpb25zID0gKFxuICBvOiBNaW5pcGFzcy5TaGFyZWRPcHRpb25zXG4pOiBvIGlzIE1pbmlwYXNzLkVuY29kaW5nT3B0aW9ucyA9PlxuICAhby5vYmplY3RNb2RlICYmICEhby5lbmNvZGluZyAmJiBvLmVuY29kaW5nICE9PSAnYnVmZmVyJ1xuXG4vKipcbiAqIE1haW4gZXhwb3J0LCB0aGUgTWluaXBhc3MgY2xhc3NcbiAqXG4gKiBgUlR5cGVgIGlzIHRoZSB0eXBlIG9mIGRhdGEgZW1pdHRlZCwgZGVmYXVsdHMgdG8gQnVmZmVyXG4gKlxuICogYFdUeXBlYCBpcyB0aGUgdHlwZSBvZiBkYXRhIHRvIGJlIHdyaXR0ZW4sIGlmIFJUeXBlIGlzIGJ1ZmZlciBvciBzdHJpbmcsXG4gKiB0aGVuIGFueSB7QGxpbmsgTWluaXBhc3MuQ29udGlndW91c0RhdGF9IGlzIGFsbG93ZWQuXG4gKlxuICogYEV2ZW50c2AgaXMgdGhlIHNldCBvZiBldmVudCBoYW5kbGVyIHNpZ25hdHVyZXMgdGhhdCB0aGlzIG9iamVjdFxuICogd2lsbCBlbWl0LCBzZWUge0BsaW5rIE1pbmlwYXNzLkV2ZW50c31cbiAqL1xuZXhwb3J0IGNsYXNzIE1pbmlwYXNzPFxuICAgIFJUeXBlIGV4dGVuZHMgdW5rbm93biA9IEJ1ZmZlcixcbiAgICBXVHlwZSBleHRlbmRzIHVua25vd24gPSBSVHlwZSBleHRlbmRzIE1pbmlwYXNzLkJ1ZmZlck9yU3RyaW5nXG4gICAgICA/IE1pbmlwYXNzLkNvbnRpZ3VvdXNEYXRhXG4gICAgICA6IFJUeXBlLFxuICAgIEV2ZW50cyBleHRlbmRzIE1pbmlwYXNzLkV2ZW50czxSVHlwZT4gPSBNaW5pcGFzcy5FdmVudHM8UlR5cGU+XG4gID5cbiAgZXh0ZW5kcyBFdmVudEVtaXR0ZXJcbiAgaW1wbGVtZW50cyBNaW5pcGFzcy5EdWFsSXRlcmFibGU8UlR5cGU+XG57XG4gIFtGTE9XSU5HXTogYm9vbGVhbiA9IGZhbHNlO1xuICBbUEFVU0VEXTogYm9vbGVhbiA9IGZhbHNlO1xuICBbUElQRVNdOiBQaXBlPFJUeXBlPltdID0gW107XG4gIFtCVUZGRVJdOiBSVHlwZVtdID0gW107XG4gIFtPQkpFQ1RNT0RFXTogYm9vbGVhbjtcbiAgW0VOQ09ESU5HXTogQnVmZmVyRW5jb2RpbmcgfCBudWxsO1xuICBbQVNZTkNdOiBib29sZWFuO1xuICBbREVDT0RFUl06IFNEIHwgbnVsbDtcbiAgW0VPRl06IGJvb2xlYW4gPSBmYWxzZTtcbiAgW0VNSVRURURfRU5EXTogYm9vbGVhbiA9IGZhbHNlO1xuICBbRU1JVFRJTkdfRU5EXTogYm9vbGVhbiA9IGZhbHNlO1xuICBbQ0xPU0VEXTogYm9vbGVhbiA9IGZhbHNlO1xuICBbRU1JVFRFRF9FUlJPUl06IHVua25vd24gPSBudWxsO1xuICBbQlVGRkVSTEVOR1RIXTogbnVtYmVyID0gMDtcbiAgW0RFU1RST1lFRF06IGJvb2xlYW4gPSBmYWxzZTtcbiAgW1NJR05BTF0/OiBBYm9ydFNpZ25hbDtcbiAgW0FCT1JURURdOiBib29sZWFuID0gZmFsc2U7XG4gIFtEQVRBTElTVEVORVJTXTogbnVtYmVyID0gMDtcbiAgW0RJU0NBUkRFRF06IGJvb2xlYW4gPSBmYWxzZVxuXG4gIC8qKlxuICAgKiB0cnVlIGlmIHRoZSBzdHJlYW0gY2FuIGJlIHdyaXR0ZW5cbiAgICovXG4gIHdyaXRhYmxlOiBib29sZWFuID0gdHJ1ZVxuICAvKipcbiAgICogdHJ1ZSBpZiB0aGUgc3RyZWFtIGNhbiBiZSByZWFkXG4gICAqL1xuICByZWFkYWJsZTogYm9vbGVhbiA9IHRydWVcblxuICAvKipcbiAgICogSWYgYFJUeXBlYCBpcyBCdWZmZXIsIHRoZW4gb3B0aW9ucyBkbyBub3QgbmVlZCB0byBiZSBwcm92aWRlZC5cbiAgICogT3RoZXJ3aXNlLCBhbiBvcHRpb25zIG9iamVjdCBtdXN0IGJlIHByb3ZpZGVkIHRvIHNwZWNpZnkgZWl0aGVyXG4gICAqIHtAbGluayBNaW5pcGFzcy5TaGFyZWRPcHRpb25zLm9iamVjdE1vZGV9IG9yXG4gICAqIHtAbGluayBNaW5pcGFzcy5TaGFyZWRPcHRpb25zLmVuY29kaW5nfSwgYXMgYXBwcm9wcmlhdGUuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihcbiAgICAuLi5hcmdzOlxuICAgICAgfCBbTWluaXBhc3MuT2JqZWN0TW9kZU9wdGlvbnNdXG4gICAgICB8IChSVHlwZSBleHRlbmRzIEJ1ZmZlclxuICAgICAgICAgID8gW10gfCBbTWluaXBhc3MuT3B0aW9uczxSVHlwZT5dXG4gICAgICAgICAgOiBbTWluaXBhc3MuT3B0aW9uczxSVHlwZT5dKVxuICApIHtcbiAgICBjb25zdCBvcHRpb25zOiBNaW5pcGFzcy5PcHRpb25zPFJUeXBlPiA9IChhcmdzWzBdIHx8XG4gICAgICB7fSkgYXMgTWluaXBhc3MuT3B0aW9uczxSVHlwZT5cbiAgICBzdXBlcigpXG4gICAgaWYgKG9wdGlvbnMub2JqZWN0TW9kZSAmJiB0eXBlb2Ygb3B0aW9ucy5lbmNvZGluZyA9PT0gJ3N0cmluZycpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoXG4gICAgICAgICdFbmNvZGluZyBhbmQgb2JqZWN0TW9kZSBtYXkgbm90IGJlIHVzZWQgdG9nZXRoZXInXG4gICAgICApXG4gICAgfVxuICAgIGlmIChpc09iamVjdE1vZGVPcHRpb25zKG9wdGlvbnMpKSB7XG4gICAgICB0aGlzW09CSkVDVE1PREVdID0gdHJ1ZVxuICAgICAgdGhpc1tFTkNPRElOR10gPSBudWxsXG4gICAgfSBlbHNlIGlmIChpc0VuY29kaW5nT3B0aW9ucyhvcHRpb25zKSkge1xuICAgICAgdGhpc1tFTkNPRElOR10gPSBvcHRpb25zLmVuY29kaW5nXG4gICAgICB0aGlzW09CSkVDVE1PREVdID0gZmFsc2VcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpc1tPQkpFQ1RNT0RFXSA9IGZhbHNlXG4gICAgICB0aGlzW0VOQ09ESU5HXSA9IG51bGxcbiAgICB9XG4gICAgdGhpc1tBU1lOQ10gPSAhIW9wdGlvbnMuYXN5bmNcbiAgICB0aGlzW0RFQ09ERVJdID0gdGhpc1tFTkNPRElOR11cbiAgICAgID8gKG5ldyBTdHJpbmdEZWNvZGVyKHRoaXNbRU5DT0RJTkddKSBhcyBTRClcbiAgICAgIDogbnVsbFxuXG4gICAgLy9AdHMtaWdub3JlIC0gcHJpdmF0ZSBvcHRpb24gZm9yIGRlYnVnZ2luZyBhbmQgdGVzdGluZ1xuICAgIGlmIChvcHRpb25zICYmIG9wdGlvbnMuZGVidWdFeHBvc2VCdWZmZXIgPT09IHRydWUpIHtcbiAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnYnVmZmVyJywgeyBnZXQ6ICgpID0+IHRoaXNbQlVGRkVSXSB9KVxuICAgIH1cbiAgICAvL0B0cy1pZ25vcmUgLSBwcml2YXRlIG9wdGlvbiBmb3IgZGVidWdnaW5nIGFuZCB0ZXN0aW5nXG4gICAgaWYgKG9wdGlvbnMgJiYgb3B0aW9ucy5kZWJ1Z0V4cG9zZVBpcGVzID09PSB0cnVlKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkodGhpcywgJ3BpcGVzJywgeyBnZXQ6ICgpID0+IHRoaXNbUElQRVNdIH0pXG4gICAgfVxuXG4gICAgY29uc3QgeyBzaWduYWwgfSA9IG9wdGlvbnNcbiAgICBpZiAoc2lnbmFsKSB7XG4gICAgICB0aGlzW1NJR05BTF0gPSBzaWduYWxcbiAgICAgIGlmIChzaWduYWwuYWJvcnRlZCkge1xuICAgICAgICB0aGlzW0FCT1JUXSgpXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBzaWduYWwuYWRkRXZlbnRMaXN0ZW5lcignYWJvcnQnLCAoKSA9PiB0aGlzW0FCT1JUXSgpKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBUaGUgYW1vdW50IG9mIGRhdGEgc3RvcmVkIGluIHRoZSBidWZmZXIgd2FpdGluZyB0byBiZSByZWFkLlxuICAgKlxuICAgKiBGb3IgQnVmZmVyIHN0cmluZ3MsIHRoaXMgd2lsbCBiZSB0aGUgdG90YWwgYnl0ZSBsZW5ndGguXG4gICAqIEZvciBzdHJpbmcgZW5jb2Rpbmcgc3RyZWFtcywgdGhpcyB3aWxsIGJlIHRoZSBzdHJpbmcgY2hhcmFjdGVyIGxlbmd0aCxcbiAgICogYWNjb3JkaW5nIHRvIEphdmFTY3JpcHQncyBgc3RyaW5nLmxlbmd0aGAgbG9naWMuXG4gICAqIEZvciBvYmplY3RNb2RlIHN0cmVhbXMsIHRoaXMgaXMgYSBjb3VudCBvZiB0aGUgaXRlbXMgd2FpdGluZyB0byBiZVxuICAgKiBlbWl0dGVkLlxuICAgKi9cbiAgZ2V0IGJ1ZmZlckxlbmd0aCgpIHtcbiAgICByZXR1cm4gdGhpc1tCVUZGRVJMRU5HVEhdXG4gIH1cblxuICAvKipcbiAgICogVGhlIGBCdWZmZXJFbmNvZGluZ2AgY3VycmVudGx5IGluIHVzZSwgb3IgYG51bGxgXG4gICAqL1xuICBnZXQgZW5jb2RpbmcoKSB7XG4gICAgcmV0dXJuIHRoaXNbRU5DT0RJTkddXG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgLSBUaGlzIGlzIGEgcmVhZCBvbmx5IHByb3BlcnR5XG4gICAqL1xuICBzZXQgZW5jb2RpbmcoX2VuYykge1xuICAgIHRocm93IG5ldyBFcnJvcignRW5jb2RpbmcgbXVzdCBiZSBzZXQgYXQgaW5zdGFudGlhdGlvbiB0aW1lJylcbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCAtIEVuY29kaW5nIG1heSBvbmx5IGJlIHNldCBhdCBpbnN0YW50aWF0aW9uIHRpbWVcbiAgICovXG4gIHNldEVuY29kaW5nKF9lbmM6IE1pbmlwYXNzLkVuY29kaW5nKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdFbmNvZGluZyBtdXN0IGJlIHNldCBhdCBpbnN0YW50aWF0aW9uIHRpbWUnKVxuICB9XG5cbiAgLyoqXG4gICAqIFRydWUgaWYgdGhpcyBpcyBhbiBvYmplY3RNb2RlIHN0cmVhbVxuICAgKi9cbiAgZ2V0IG9iamVjdE1vZGUoKSB7XG4gICAgcmV0dXJuIHRoaXNbT0JKRUNUTU9ERV1cbiAgfVxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCAtIFRoaXMgaXMgYSByZWFkLW9ubHkgcHJvcGVydHlcbiAgICovXG4gIHNldCBvYmplY3RNb2RlKF9vbSkge1xuICAgIHRocm93IG5ldyBFcnJvcignb2JqZWN0TW9kZSBtdXN0IGJlIHNldCBhdCBpbnN0YW50aWF0aW9uIHRpbWUnKVxuICB9XG5cbiAgLyoqXG4gICAqIHRydWUgaWYgdGhpcyBpcyBhbiBhc3luYyBzdHJlYW1cbiAgICovXG4gIGdldCBbJ2FzeW5jJ10oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXNbQVNZTkNdXG4gIH1cbiAgLyoqXG4gICAqIFNldCB0byB0cnVlIHRvIG1ha2UgdGhpcyBzdHJlYW0gYXN5bmMuXG4gICAqXG4gICAqIE9uY2Ugc2V0LCBpdCBjYW5ub3QgYmUgdW5zZXQsIGFzIHRoaXMgd291bGQgcG90ZW50aWFsbHkgY2F1c2UgaW5jb3JyZWN0XG4gICAqIGJlaGF2aW9yLiAgSWUsIGEgc3luYyBzdHJlYW0gY2FuIGJlIG1hZGUgYXN5bmMsIGJ1dCBhbiBhc3luYyBzdHJlYW1cbiAgICogY2Fubm90IGJlIHNhZmVseSBtYWRlIHN5bmMuXG4gICAqL1xuICBzZXQgWydhc3luYyddKGE6IGJvb2xlYW4pIHtcbiAgICB0aGlzW0FTWU5DXSA9IHRoaXNbQVNZTkNdIHx8ICEhYVxuICB9XG5cbiAgLy8gZHJvcCBldmVyeXRoaW5nIGFuZCBnZXQgb3V0IG9mIHRoZSBmbG93IGNvbXBsZXRlbHlcbiAgW0FCT1JUXSgpIHtcbiAgICB0aGlzW0FCT1JURURdID0gdHJ1ZVxuICAgIHRoaXMuZW1pdCgnYWJvcnQnLCB0aGlzW1NJR05BTF0/LnJlYXNvbilcbiAgICB0aGlzLmRlc3Ryb3kodGhpc1tTSUdOQUxdPy5yZWFzb24pXG4gIH1cblxuICAvKipcbiAgICogVHJ1ZSBpZiB0aGUgc3RyZWFtIGhhcyBiZWVuIGFib3J0ZWQuXG4gICAqL1xuICBnZXQgYWJvcnRlZCgpIHtcbiAgICByZXR1cm4gdGhpc1tBQk9SVEVEXVxuICB9XG4gIC8qKlxuICAgKiBOby1vcCBzZXR0ZXIuIFN0cmVhbSBhYm9ydGVkIHN0YXR1cyBpcyBzZXQgdmlhIHRoZSBBYm9ydFNpZ25hbCBwcm92aWRlZFxuICAgKiBpbiB0aGUgY29uc3RydWN0b3Igb3B0aW9ucy5cbiAgICovXG4gIHNldCBhYm9ydGVkKF8pIHt9XG5cbiAgLyoqXG4gICAqIFdyaXRlIGRhdGEgaW50byB0aGUgc3RyZWFtXG4gICAqXG4gICAqIElmIHRoZSBjaHVuayB3cml0dGVuIGlzIGEgc3RyaW5nLCBhbmQgZW5jb2RpbmcgaXMgbm90IHNwZWNpZmllZCwgdGhlblxuICAgKiBgdXRmOGAgd2lsbCBiZSBhc3N1bWVkLiBJZiB0aGUgc3RyZWFtIGVuY29kaW5nIG1hdGNoZXMgdGhlIGVuY29kaW5nIG9mXG4gICAqIGEgd3JpdHRlbiBzdHJpbmcsIGFuZCB0aGUgc3RhdGUgb2YgdGhlIHN0cmluZyBkZWNvZGVyIGFsbG93cyBpdCwgdGhlblxuICAgKiB0aGUgc3RyaW5nIHdpbGwgYmUgcGFzc2VkIHRocm91Z2ggdG8gZWl0aGVyIHRoZSBvdXRwdXQgb3IgdGhlIGludGVybmFsXG4gICAqIGJ1ZmZlciB3aXRob3V0IGFueSBwcm9jZXNzaW5nLiBPdGhlcndpc2UsIGl0IHdpbGwgYmUgdHVybmVkIGludG8gYVxuICAgKiBCdWZmZXIgb2JqZWN0IGZvciBwcm9jZXNzaW5nIGludG8gdGhlIGRlc2lyZWQgZW5jb2RpbmcuXG4gICAqXG4gICAqIElmIHByb3ZpZGVkLCBgY2JgIGZ1bmN0aW9uIGlzIGNhbGxlZCBpbW1lZGlhdGVseSBiZWZvcmUgcmV0dXJuIGZvclxuICAgKiBzeW5jIHN0cmVhbXMsIG9yIG9uIG5leHQgdGljayBmb3IgYXN5bmMgc3RyZWFtcywgYmVjYXVzZSBmb3IgdGhpc1xuICAgKiBiYXNlIGNsYXNzLCBhIGNodW5rIGlzIGNvbnNpZGVyZWQgXCJwcm9jZXNzZWRcIiBvbmNlIGl0IGlzIGFjY2VwdGVkXG4gICAqIGFuZCBlaXRoZXIgZW1pdHRlZCBvciBidWZmZXJlZC4gVGhhdCBpcywgdGhlIGNhbGxiYWNrIGRvZXMgbm90IGluZGljYXRlXG4gICAqIHRoYXQgdGhlIGNodW5rIGhhcyBiZWVuIGV2ZW50dWFsbHkgZW1pdHRlZCwgdGhvdWdoIG9mIGNvdXJzZSBjaGlsZFxuICAgKiBjbGFzc2VzIGNhbiBvdmVycmlkZSB0aGlzIGZ1bmN0aW9uIHRvIGRvIHdoYXRldmVyIHByb2Nlc3NpbmcgaXMgcmVxdWlyZWRcbiAgICogYW5kIGNhbGwgYHN1cGVyLndyaXRlKC4uLilgIG9ubHkgb25jZSBwcm9jZXNzaW5nIGlzIGNvbXBsZXRlZC5cbiAgICovXG4gIHdyaXRlKGNodW5rOiBXVHlwZSwgY2I/OiAoKSA9PiB2b2lkKTogYm9vbGVhblxuICB3cml0ZShcbiAgICBjaHVuazogV1R5cGUsXG4gICAgZW5jb2Rpbmc/OiBNaW5pcGFzcy5FbmNvZGluZyxcbiAgICBjYj86ICgpID0+IHZvaWRcbiAgKTogYm9vbGVhblxuICB3cml0ZShcbiAgICBjaHVuazogV1R5cGUsXG4gICAgZW5jb2Rpbmc/OiBNaW5pcGFzcy5FbmNvZGluZyB8ICgoKSA9PiB2b2lkKSxcbiAgICBjYj86ICgpID0+IHZvaWRcbiAgKTogYm9vbGVhbiB7XG4gICAgaWYgKHRoaXNbQUJPUlRFRF0pIHJldHVybiBmYWxzZVxuICAgIGlmICh0aGlzW0VPRl0pIHRocm93IG5ldyBFcnJvcignd3JpdGUgYWZ0ZXIgZW5kJylcblxuICAgIGlmICh0aGlzW0RFU1RST1lFRF0pIHtcbiAgICAgIHRoaXMuZW1pdChcbiAgICAgICAgJ2Vycm9yJyxcbiAgICAgICAgT2JqZWN0LmFzc2lnbihcbiAgICAgICAgICBuZXcgRXJyb3IoJ0Nhbm5vdCBjYWxsIHdyaXRlIGFmdGVyIGEgc3RyZWFtIHdhcyBkZXN0cm95ZWQnKSxcbiAgICAgICAgICB7IGNvZGU6ICdFUlJfU1RSRUFNX0RFU1RST1lFRCcgfVxuICAgICAgICApXG4gICAgICApXG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIGlmICh0eXBlb2YgZW5jb2RpbmcgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNiID0gZW5jb2RpbmdcbiAgICAgIGVuY29kaW5nID0gJ3V0ZjgnXG4gICAgfVxuXG4gICAgaWYgKCFlbmNvZGluZykgZW5jb2RpbmcgPSAndXRmOCdcblxuICAgIGNvbnN0IGZuID0gdGhpc1tBU1lOQ10gPyBkZWZlciA6IG5vZGVmZXJcblxuICAgIC8vIGNvbnZlcnQgYXJyYXkgYnVmZmVycyBhbmQgdHlwZWQgYXJyYXkgdmlld3MgaW50byBidWZmZXJzXG4gICAgLy8gYXQgc29tZSBwb2ludCBpbiB0aGUgZnV0dXJlLCB3ZSBtYXkgd2FudCB0byBkbyB0aGUgb3Bwb3NpdGUhXG4gICAgLy8gbGVhdmUgc3RyaW5ncyBhbmQgYnVmZmVycyBhcy1pc1xuICAgIC8vIGFueXRoaW5nIGlzIG9ubHkgYWxsb3dlZCBpZiBpbiBvYmplY3QgbW9kZSwgc28gdGhyb3dcbiAgICBpZiAoIXRoaXNbT0JKRUNUTU9ERV0gJiYgIUJ1ZmZlci5pc0J1ZmZlcihjaHVuaykpIHtcbiAgICAgIGlmIChpc0FycmF5QnVmZmVyVmlldyhjaHVuaykpIHtcbiAgICAgICAgLy9AdHMtaWdub3JlIC0gc2luZnVsIHVuc2FmZSB0eXBlIGNoYW5naW5nXG4gICAgICAgIGNodW5rID0gQnVmZmVyLmZyb20oXG4gICAgICAgICAgY2h1bmsuYnVmZmVyLFxuICAgICAgICAgIGNodW5rLmJ5dGVPZmZzZXQsXG4gICAgICAgICAgY2h1bmsuYnl0ZUxlbmd0aFxuICAgICAgICApXG4gICAgICB9IGVsc2UgaWYgKGlzQXJyYXlCdWZmZXJMaWtlKGNodW5rKSkge1xuICAgICAgICAvL0B0cy1pZ25vcmUgLSBzaW5mdWwgdW5zYWZlIHR5cGUgY2hhbmdpbmdcbiAgICAgICAgY2h1bmsgPSBCdWZmZXIuZnJvbShjaHVuaylcbiAgICAgIH0gZWxzZSBpZiAodHlwZW9mIGNodW5rICE9PSAnc3RyaW5nJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgJ05vbi1jb250aWd1b3VzIGRhdGEgd3JpdHRlbiB0byBub24tb2JqZWN0TW9kZSBzdHJlYW0nXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBoYW5kbGUgb2JqZWN0IG1vZGUgdXAgZnJvbnQsIHNpbmNlIGl0J3Mgc2ltcGxlclxuICAgIC8vIHRoaXMgeWllbGRzIGJldHRlciBwZXJmb3JtYW5jZSwgZmV3ZXIgY2hlY2tzIGxhdGVyLlxuICAgIGlmICh0aGlzW09CSkVDVE1PREVdKSB7XG4gICAgICAvLyBtYXliZSBpbXBvc3NpYmxlP1xuICAgICAgLyogYzggaWdub3JlIHN0YXJ0ICovXG4gICAgICBpZiAodGhpc1tGTE9XSU5HXSAmJiB0aGlzW0JVRkZFUkxFTkdUSF0gIT09IDApIHRoaXNbRkxVU0hdKHRydWUpXG4gICAgICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuXG4gICAgICBpZiAodGhpc1tGTE9XSU5HXSkgdGhpcy5lbWl0KCdkYXRhJywgY2h1bmsgYXMgdW5rbm93biBhcyBSVHlwZSlcbiAgICAgIGVsc2UgdGhpc1tCVUZGRVJQVVNIXShjaHVuayBhcyB1bmtub3duIGFzIFJUeXBlKVxuXG4gICAgICBpZiAodGhpc1tCVUZGRVJMRU5HVEhdICE9PSAwKSB0aGlzLmVtaXQoJ3JlYWRhYmxlJylcblxuICAgICAgaWYgKGNiKSBmbihjYilcblxuICAgICAgcmV0dXJuIHRoaXNbRkxPV0lOR11cbiAgICB9XG5cbiAgICAvLyBhdCB0aGlzIHBvaW50IHRoZSBjaHVuayBpcyBhIGJ1ZmZlciBvciBzdHJpbmdcbiAgICAvLyBkb24ndCBidWZmZXIgaXQgdXAgb3Igc2VuZCBpdCB0byB0aGUgZGVjb2RlclxuICAgIGlmICghKGNodW5rIGFzIE1pbmlwYXNzLkJ1ZmZlck9yU3RyaW5nKS5sZW5ndGgpIHtcbiAgICAgIGlmICh0aGlzW0JVRkZFUkxFTkdUSF0gIT09IDApIHRoaXMuZW1pdCgncmVhZGFibGUnKVxuICAgICAgaWYgKGNiKSBmbihjYilcbiAgICAgIHJldHVybiB0aGlzW0ZMT1dJTkddXG4gICAgfVxuXG4gICAgLy8gZmFzdC1wYXRoIHdyaXRpbmcgc3RyaW5ncyBvZiBzYW1lIGVuY29kaW5nIHRvIGEgc3RyZWFtIHdpdGhcbiAgICAvLyBhbiBlbXB0eSBidWZmZXIsIHNraXBwaW5nIHRoZSBidWZmZXIvZGVjb2RlciBkYW5jZVxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBjaHVuayA9PT0gJ3N0cmluZycgJiZcbiAgICAgIC8vIHVubGVzcyBpdCBpcyBhIHN0cmluZyBhbHJlYWR5IHJlYWR5IGZvciB1cyB0byB1c2VcbiAgICAgICEoZW5jb2RpbmcgPT09IHRoaXNbRU5DT0RJTkddICYmICF0aGlzW0RFQ09ERVJdPy5sYXN0TmVlZClcbiAgICApIHtcbiAgICAgIC8vQHRzLWlnbm9yZSAtIHNpbmZ1bCB1bnNhZmUgdHlwZSBjaGFuZ2VcbiAgICAgIGNodW5rID0gQnVmZmVyLmZyb20oY2h1bmssIGVuY29kaW5nKVxuICAgIH1cblxuICAgIGlmIChCdWZmZXIuaXNCdWZmZXIoY2h1bmspICYmIHRoaXNbRU5DT0RJTkddKSB7XG4gICAgICAvL0B0cy1pZ25vcmUgLSBzaW5mdWwgdW5zYWZlIHR5cGUgY2hhbmdlXG4gICAgICBjaHVuayA9IHRoaXNbREVDT0RFUl0ud3JpdGUoY2h1bmspXG4gICAgfVxuXG4gICAgLy8gTm90ZTogZmx1c2hpbmcgQ0FOIHBvdGVudGlhbGx5IHN3aXRjaCB1cyBpbnRvIG5vdC1mbG93aW5nIG1vZGVcbiAgICBpZiAodGhpc1tGTE9XSU5HXSAmJiB0aGlzW0JVRkZFUkxFTkdUSF0gIT09IDApIHRoaXNbRkxVU0hdKHRydWUpXG5cbiAgICBpZiAodGhpc1tGTE9XSU5HXSkgdGhpcy5lbWl0KCdkYXRhJywgY2h1bmsgYXMgdW5rbm93biBhcyBSVHlwZSlcbiAgICBlbHNlIHRoaXNbQlVGRkVSUFVTSF0oY2h1bmsgYXMgdW5rbm93biBhcyBSVHlwZSlcblxuICAgIGlmICh0aGlzW0JVRkZFUkxFTkdUSF0gIT09IDApIHRoaXMuZW1pdCgncmVhZGFibGUnKVxuXG4gICAgaWYgKGNiKSBmbihjYilcblxuICAgIHJldHVybiB0aGlzW0ZMT1dJTkddXG4gIH1cblxuICAvKipcbiAgICogTG93LWxldmVsIGV4cGxpY2l0IHJlYWQgbWV0aG9kLlxuICAgKlxuICAgKiBJbiBvYmplY3RNb2RlLCB0aGUgYXJndW1lbnQgaXMgaWdub3JlZCwgYW5kIG9uZSBpdGVtIGlzIHJldHVybmVkIGlmXG4gICAqIGF2YWlsYWJsZS5cbiAgICpcbiAgICogYG5gIGlzIHRoZSBudW1iZXIgb2YgYnl0ZXMgKG9yIGluIHRoZSBjYXNlIG9mIGVuY29kaW5nIHN0cmVhbXMsXG4gICAqIGNoYXJhY3RlcnMpIHRvIGNvbnN1bWUuIElmIGBuYCBpcyBub3QgcHJvdmlkZWQsIHRoZW4gdGhlIGVudGlyZSBidWZmZXJcbiAgICogaXMgcmV0dXJuZWQsIG9yIGBudWxsYCBpcyByZXR1cm5lZCBpZiBubyBkYXRhIGlzIGF2YWlsYWJsZS5cbiAgICpcbiAgICogSWYgYG5gIGlzIGdyZWF0ZXIgdGhhdCB0aGUgYW1vdW50IG9mIGRhdGEgaW4gdGhlIGludGVybmFsIGJ1ZmZlcixcbiAgICogdGhlbiBgbnVsbGAgaXMgcmV0dXJuZWQuXG4gICAqL1xuICByZWFkKG4/OiBudW1iZXIgfCBudWxsKTogUlR5cGUgfCBudWxsIHtcbiAgICBpZiAodGhpc1tERVNUUk9ZRURdKSByZXR1cm4gbnVsbFxuICAgIHRoaXNbRElTQ0FSREVEXSA9IGZhbHNlXG5cbiAgICBpZiAoXG4gICAgICB0aGlzW0JVRkZFUkxFTkdUSF0gPT09IDAgfHxcbiAgICAgIG4gPT09IDAgfHxcbiAgICAgIChuICYmIG4gPiB0aGlzW0JVRkZFUkxFTkdUSF0pXG4gICAgKSB7XG4gICAgICB0aGlzW01BWUJFX0VNSVRfRU5EXSgpXG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIGlmICh0aGlzW09CSkVDVE1PREVdKSBuID0gbnVsbFxuXG4gICAgaWYgKHRoaXNbQlVGRkVSXS5sZW5ndGggPiAxICYmICF0aGlzW09CSkVDVE1PREVdKSB7XG4gICAgICAvLyBub3Qgb2JqZWN0IG1vZGUsIHNvIGlmIHdlIGhhdmUgYW4gZW5jb2RpbmcsIHRoZW4gUlR5cGUgaXMgc3RyaW5nXG4gICAgICAvLyBvdGhlcndpc2UsIG11c3QgYmUgQnVmZmVyXG4gICAgICB0aGlzW0JVRkZFUl0gPSBbXG4gICAgICAgICh0aGlzW0VOQ09ESU5HXVxuICAgICAgICAgID8gdGhpc1tCVUZGRVJdLmpvaW4oJycpXG4gICAgICAgICAgOiBCdWZmZXIuY29uY2F0KFxuICAgICAgICAgICAgICB0aGlzW0JVRkZFUl0gYXMgQnVmZmVyW10sXG4gICAgICAgICAgICAgIHRoaXNbQlVGRkVSTEVOR1RIXVxuICAgICAgICAgICAgKSkgYXMgUlR5cGUsXG4gICAgICBdXG4gICAgfVxuXG4gICAgY29uc3QgcmV0ID0gdGhpc1tSRUFEXShuIHx8IG51bGwsIHRoaXNbQlVGRkVSXVswXSBhcyBSVHlwZSlcbiAgICB0aGlzW01BWUJFX0VNSVRfRU5EXSgpXG4gICAgcmV0dXJuIHJldFxuICB9XG5cbiAgW1JFQURdKG46IG51bWJlciB8IG51bGwsIGNodW5rOiBSVHlwZSkge1xuICAgIGlmICh0aGlzW09CSkVDVE1PREVdKSB0aGlzW0JVRkZFUlNISUZUXSgpXG4gICAgZWxzZSB7XG4gICAgICBjb25zdCBjID0gY2h1bmsgYXMgTWluaXBhc3MuQnVmZmVyT3JTdHJpbmdcbiAgICAgIGlmIChuID09PSBjLmxlbmd0aCB8fCBuID09PSBudWxsKSB0aGlzW0JVRkZFUlNISUZUXSgpXG4gICAgICBlbHNlIGlmICh0eXBlb2YgYyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhpc1tCVUZGRVJdWzBdID0gYy5zbGljZShuKSBhcyBSVHlwZVxuICAgICAgICBjaHVuayA9IGMuc2xpY2UoMCwgbikgYXMgUlR5cGVcbiAgICAgICAgdGhpc1tCVUZGRVJMRU5HVEhdIC09IG5cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXNbQlVGRkVSXVswXSA9IGMuc3ViYXJyYXkobikgYXMgUlR5cGVcbiAgICAgICAgY2h1bmsgPSBjLnN1YmFycmF5KDAsIG4pIGFzIFJUeXBlXG4gICAgICAgIHRoaXNbQlVGRkVSTEVOR1RIXSAtPSBuXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5lbWl0KCdkYXRhJywgY2h1bmspXG5cbiAgICBpZiAoIXRoaXNbQlVGRkVSXS5sZW5ndGggJiYgIXRoaXNbRU9GXSkgdGhpcy5lbWl0KCdkcmFpbicpXG5cbiAgICByZXR1cm4gY2h1bmtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmQgdGhlIHN0cmVhbSwgb3B0aW9uYWxseSBwcm92aWRpbmcgYSBmaW5hbCB3cml0ZS5cbiAgICpcbiAgICogU2VlIHtAbGluayBNaW5pcGFzcyN3cml0ZX0gZm9yIGFyZ3VtZW50IGRlc2NyaXB0aW9uc1xuICAgKi9cbiAgZW5kKGNiPzogKCkgPT4gdm9pZCk6IHRoaXNcbiAgZW5kKGNodW5rOiBXVHlwZSwgY2I/OiAoKSA9PiB2b2lkKTogdGhpc1xuICBlbmQoY2h1bms6IFdUeXBlLCBlbmNvZGluZz86IE1pbmlwYXNzLkVuY29kaW5nLCBjYj86ICgpID0+IHZvaWQpOiB0aGlzXG4gIGVuZChcbiAgICBjaHVuaz86IFdUeXBlIHwgKCgpID0+IHZvaWQpLFxuICAgIGVuY29kaW5nPzogTWluaXBhc3MuRW5jb2RpbmcgfCAoKCkgPT4gdm9pZCksXG4gICAgY2I/OiAoKSA9PiB2b2lkXG4gICk6IHRoaXMge1xuICAgIGlmICh0eXBlb2YgY2h1bmsgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNiID0gY2h1bmsgYXMgKCkgPT4gdm9pZFxuICAgICAgY2h1bmsgPSB1bmRlZmluZWRcbiAgICB9XG4gICAgaWYgKHR5cGVvZiBlbmNvZGluZyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgY2IgPSBlbmNvZGluZ1xuICAgICAgZW5jb2RpbmcgPSAndXRmOCdcbiAgICB9XG4gICAgaWYgKGNodW5rICE9PSB1bmRlZmluZWQpIHRoaXMud3JpdGUoY2h1bmssIGVuY29kaW5nKVxuICAgIGlmIChjYikgdGhpcy5vbmNlKCdlbmQnLCBjYilcbiAgICB0aGlzW0VPRl0gPSB0cnVlXG4gICAgdGhpcy53cml0YWJsZSA9IGZhbHNlXG5cbiAgICAvLyBpZiB3ZSBoYXZlbid0IHdyaXR0ZW4gYW55dGhpbmcsIHRoZW4gZ28gYWhlYWQgYW5kIGVtaXQsXG4gICAgLy8gZXZlbiBpZiB3ZSdyZSBub3QgcmVhZGluZy5cbiAgICAvLyB3ZSdsbCByZS1lbWl0IGlmIGEgbmV3ICdlbmQnIGxpc3RlbmVyIGlzIGFkZGVkIGFueXdheS5cbiAgICAvLyBUaGlzIG1ha2VzIE1QIG1vcmUgc3VpdGFibGUgdG8gd3JpdGUtb25seSB1c2UgY2FzZXMuXG4gICAgaWYgKHRoaXNbRkxPV0lOR10gfHwgIXRoaXNbUEFVU0VEXSkgdGhpc1tNQVlCRV9FTUlUX0VORF0oKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICAvLyBkb24ndCBsZXQgdGhlIGludGVybmFsIHJlc3VtZSBiZSBvdmVyd3JpdHRlblxuICBbUkVTVU1FXSgpIHtcbiAgICBpZiAodGhpc1tERVNUUk9ZRURdKSByZXR1cm5cblxuICAgIGlmICghdGhpc1tEQVRBTElTVEVORVJTXSAmJiAhdGhpc1tQSVBFU10ubGVuZ3RoKSB7XG4gICAgICB0aGlzW0RJU0NBUkRFRF0gPSB0cnVlXG4gICAgfVxuICAgIHRoaXNbUEFVU0VEXSA9IGZhbHNlXG4gICAgdGhpc1tGTE9XSU5HXSA9IHRydWVcbiAgICB0aGlzLmVtaXQoJ3Jlc3VtZScpXG4gICAgaWYgKHRoaXNbQlVGRkVSXS5sZW5ndGgpIHRoaXNbRkxVU0hdKClcbiAgICBlbHNlIGlmICh0aGlzW0VPRl0pIHRoaXNbTUFZQkVfRU1JVF9FTkRdKClcbiAgICBlbHNlIHRoaXMuZW1pdCgnZHJhaW4nKVxuICB9XG5cbiAgLyoqXG4gICAqIFJlc3VtZSB0aGUgc3RyZWFtIGlmIGl0IGlzIGN1cnJlbnRseSBpbiBhIHBhdXNlZCBzdGF0ZVxuICAgKlxuICAgKiBJZiBjYWxsZWQgd2hlbiB0aGVyZSBhcmUgbm8gcGlwZSBkZXN0aW5hdGlvbnMgb3IgYGRhdGFgIGV2ZW50IGxpc3RlbmVycyxcbiAgICogdGhpcyB3aWxsIHBsYWNlIHRoZSBzdHJlYW0gaW4gYSBcImRpc2NhcmRlZFwiIHN0YXRlLCB3aGVyZSBhbGwgZGF0YSB3aWxsXG4gICAqIGJlIHRocm93biBhd2F5LiBUaGUgZGlzY2FyZGVkIHN0YXRlIGlzIHJlbW92ZWQgaWYgYSBwaXBlIGRlc3RpbmF0aW9uIG9yXG4gICAqIGRhdGEgaGFuZGxlciBpcyBhZGRlZCwgaWYgcGF1c2UoKSBpcyBjYWxsZWQsIG9yIGlmIGFueSBzeW5jaHJvbm91cyBvclxuICAgKiBhc3luY2hyb25vdXMgaXRlcmF0aW9uIGlzIHN0YXJ0ZWQuXG4gICAqL1xuICByZXN1bWUoKSB7XG4gICAgcmV0dXJuIHRoaXNbUkVTVU1FXSgpXG4gIH1cblxuICAvKipcbiAgICogUGF1c2UgdGhlIHN0cmVhbVxuICAgKi9cbiAgcGF1c2UoKSB7XG4gICAgdGhpc1tGTE9XSU5HXSA9IGZhbHNlXG4gICAgdGhpc1tQQVVTRURdID0gdHJ1ZVxuICAgIHRoaXNbRElTQ0FSREVEXSA9IGZhbHNlXG4gIH1cblxuICAvKipcbiAgICogdHJ1ZSBpZiB0aGUgc3RyZWFtIGhhcyBiZWVuIGZvcmNpYmx5IGRlc3Ryb3llZFxuICAgKi9cbiAgZ2V0IGRlc3Ryb3llZCgpIHtcbiAgICByZXR1cm4gdGhpc1tERVNUUk9ZRURdXG4gIH1cblxuICAvKipcbiAgICogdHJ1ZSBpZiB0aGUgc3RyZWFtIGlzIGN1cnJlbnRseSBpbiBhIGZsb3dpbmcgc3RhdGUsIG1lYW5pbmcgdGhhdFxuICAgKiBhbnkgd3JpdGVzIHdpbGwgYmUgaW1tZWRpYXRlbHkgZW1pdHRlZC5cbiAgICovXG4gIGdldCBmbG93aW5nKCkge1xuICAgIHJldHVybiB0aGlzW0ZMT1dJTkddXG4gIH1cblxuICAvKipcbiAgICogdHJ1ZSBpZiB0aGUgc3RyZWFtIGlzIGN1cnJlbnRseSBpbiBhIHBhdXNlZCBzdGF0ZVxuICAgKi9cbiAgZ2V0IHBhdXNlZCgpIHtcbiAgICByZXR1cm4gdGhpc1tQQVVTRURdXG4gIH1cblxuICBbQlVGRkVSUFVTSF0oY2h1bms6IFJUeXBlKSB7XG4gICAgaWYgKHRoaXNbT0JKRUNUTU9ERV0pIHRoaXNbQlVGRkVSTEVOR1RIXSArPSAxXG4gICAgZWxzZSB0aGlzW0JVRkZFUkxFTkdUSF0gKz0gKGNodW5rIGFzIE1pbmlwYXNzLkJ1ZmZlck9yU3RyaW5nKS5sZW5ndGhcbiAgICB0aGlzW0JVRkZFUl0ucHVzaChjaHVuaylcbiAgfVxuXG4gIFtCVUZGRVJTSElGVF0oKTogUlR5cGUge1xuICAgIGlmICh0aGlzW09CSkVDVE1PREVdKSB0aGlzW0JVRkZFUkxFTkdUSF0gLT0gMVxuICAgIGVsc2VcbiAgICAgIHRoaXNbQlVGRkVSTEVOR1RIXSAtPSAoXG4gICAgICAgIHRoaXNbQlVGRkVSXVswXSBhcyBNaW5pcGFzcy5CdWZmZXJPclN0cmluZ1xuICAgICAgKS5sZW5ndGhcbiAgICByZXR1cm4gdGhpc1tCVUZGRVJdLnNoaWZ0KCkgYXMgUlR5cGVcbiAgfVxuXG4gIFtGTFVTSF0obm9EcmFpbjogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgZG8ge30gd2hpbGUgKFxuICAgICAgdGhpc1tGTFVTSENIVU5LXSh0aGlzW0JVRkZFUlNISUZUXSgpKSAmJlxuICAgICAgdGhpc1tCVUZGRVJdLmxlbmd0aFxuICAgIClcblxuICAgIGlmICghbm9EcmFpbiAmJiAhdGhpc1tCVUZGRVJdLmxlbmd0aCAmJiAhdGhpc1tFT0ZdKSB0aGlzLmVtaXQoJ2RyYWluJylcbiAgfVxuXG4gIFtGTFVTSENIVU5LXShjaHVuazogUlR5cGUpIHtcbiAgICB0aGlzLmVtaXQoJ2RhdGEnLCBjaHVuaylcbiAgICByZXR1cm4gdGhpc1tGTE9XSU5HXVxuICB9XG5cbiAgLyoqXG4gICAqIFBpcGUgYWxsIGRhdGEgZW1pdHRlZCBieSB0aGlzIHN0cmVhbSBpbnRvIHRoZSBkZXN0aW5hdGlvbiBwcm92aWRlZC5cbiAgICpcbiAgICogVHJpZ2dlcnMgdGhlIGZsb3cgb2YgZGF0YS5cbiAgICovXG4gIHBpcGU8VyBleHRlbmRzIE1pbmlwYXNzLldyaXRhYmxlPihkZXN0OiBXLCBvcHRzPzogUGlwZU9wdGlvbnMpOiBXIHtcbiAgICBpZiAodGhpc1tERVNUUk9ZRURdKSByZXR1cm4gZGVzdFxuICAgIHRoaXNbRElTQ0FSREVEXSA9IGZhbHNlXG5cbiAgICBjb25zdCBlbmRlZCA9IHRoaXNbRU1JVFRFRF9FTkRdXG4gICAgb3B0cyA9IG9wdHMgfHwge31cbiAgICBpZiAoZGVzdCA9PT0gcHJvYy5zdGRvdXQgfHwgZGVzdCA9PT0gcHJvYy5zdGRlcnIpIG9wdHMuZW5kID0gZmFsc2VcbiAgICBlbHNlIG9wdHMuZW5kID0gb3B0cy5lbmQgIT09IGZhbHNlXG4gICAgb3B0cy5wcm94eUVycm9ycyA9ICEhb3B0cy5wcm94eUVycm9yc1xuXG4gICAgLy8gcGlwaW5nIGFuIGVuZGVkIHN0cmVhbSBlbmRzIGltbWVkaWF0ZWx5XG4gICAgaWYgKGVuZGVkKSB7XG4gICAgICBpZiAob3B0cy5lbmQpIGRlc3QuZW5kKClcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gXCJhc1wiIGhlcmUganVzdCBpZ25vcmVzIHRoZSBXVHlwZSwgd2hpY2ggcGlwZXMgZG9uJ3QgY2FyZSBhYm91dCxcbiAgICAgIC8vIHNpbmNlIHRoZXkncmUgb25seSBjb25zdW1pbmcgZnJvbSB1cywgYW5kIHdyaXRpbmcgdG8gdGhlIGRlc3RcbiAgICAgIHRoaXNbUElQRVNdLnB1c2goXG4gICAgICAgICFvcHRzLnByb3h5RXJyb3JzXG4gICAgICAgICAgPyBuZXcgUGlwZTxSVHlwZT4odGhpcyBhcyBNaW5pcGFzczxSVHlwZT4sIGRlc3QsIG9wdHMpXG4gICAgICAgICAgOiBuZXcgUGlwZVByb3h5RXJyb3JzPFJUeXBlPih0aGlzIGFzIE1pbmlwYXNzPFJUeXBlPiwgZGVzdCwgb3B0cylcbiAgICAgIClcbiAgICAgIGlmICh0aGlzW0FTWU5DXSkgZGVmZXIoKCkgPT4gdGhpc1tSRVNVTUVdKCkpXG4gICAgICBlbHNlIHRoaXNbUkVTVU1FXSgpXG4gICAgfVxuXG4gICAgcmV0dXJuIGRlc3RcbiAgfVxuXG4gIC8qKlxuICAgKiBGdWxseSB1bmhvb2sgYSBwaXBlZCBkZXN0aW5hdGlvbiBzdHJlYW0uXG4gICAqXG4gICAqIElmIHRoZSBkZXN0aW5hdGlvbiBzdHJlYW0gd2FzIHRoZSBvbmx5IGNvbnN1bWVyIG9mIHRoaXMgc3RyZWFtIChpZSxcbiAgICogdGhlcmUgYXJlIG5vIG90aGVyIHBpcGVkIGRlc3RpbmF0aW9ucyBvciBgJ2RhdGEnYCBldmVudCBsaXN0ZW5lcnMpXG4gICAqIHRoZW4gdGhlIGZsb3cgb2YgZGF0YSB3aWxsIHN0b3AgdW50aWwgdGhlcmUgaXMgYW5vdGhlciBjb25zdW1lciBvclxuICAgKiB7QGxpbmsgTWluaXBhc3MjcmVzdW1lfSBpcyBleHBsaWNpdGx5IGNhbGxlZC5cbiAgICovXG4gIHVucGlwZTxXIGV4dGVuZHMgTWluaXBhc3MuV3JpdGFibGU+KGRlc3Q6IFcpIHtcbiAgICBjb25zdCBwID0gdGhpc1tQSVBFU10uZmluZChwID0+IHAuZGVzdCA9PT0gZGVzdClcbiAgICBpZiAocCkge1xuICAgICAgaWYgKHRoaXNbUElQRVNdLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICBpZiAodGhpc1tGTE9XSU5HXSAmJiB0aGlzW0RBVEFMSVNURU5FUlNdID09PSAwKSB7XG4gICAgICAgICAgdGhpc1tGTE9XSU5HXSA9IGZhbHNlXG4gICAgICAgIH1cbiAgICAgICAgdGhpc1tQSVBFU10gPSBbXVxuICAgICAgfSBlbHNlIHRoaXNbUElQRVNdLnNwbGljZSh0aGlzW1BJUEVTXS5pbmRleE9mKHApLCAxKVxuICAgICAgcC51bnBpcGUoKVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBBbGlhcyBmb3Ige0BsaW5rIE1pbmlwYXNzI29ufVxuICAgKi9cbiAgYWRkTGlzdGVuZXI8RXZlbnQgZXh0ZW5kcyBrZXlvZiBFdmVudHM+KFxuICAgIGV2OiBFdmVudCxcbiAgICBoYW5kbGVyOiAoLi4uYXJnczogRXZlbnRzW0V2ZW50XSkgPT4gYW55XG4gICk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLm9uKGV2LCBoYW5kbGVyKVxuICB9XG5cbiAgLyoqXG4gICAqIE1vc3RseSBpZGVudGljYWwgdG8gYEV2ZW50RW1pdHRlci5vbmAsIHdpdGggdGhlIGZvbGxvd2luZ1xuICAgKiBiZWhhdmlvciBkaWZmZXJlbmNlcyB0byBwcmV2ZW50IGRhdGEgbG9zcyBhbmQgdW5uZWNlc3NhcnkgaGFuZ3M6XG4gICAqXG4gICAqIC0gQWRkaW5nIGEgJ2RhdGEnIGV2ZW50IGhhbmRsZXIgd2lsbCB0cmlnZ2VyIHRoZSBmbG93IG9mIGRhdGFcbiAgICpcbiAgICogLSBBZGRpbmcgYSAncmVhZGFibGUnIGV2ZW50IGhhbmRsZXIgd2hlbiB0aGVyZSBpcyBkYXRhIHdhaXRpbmcgdG8gYmUgcmVhZFxuICAgKiAgIHdpbGwgY2F1c2UgJ3JlYWRhYmxlJyB0byBiZSBlbWl0dGVkIGltbWVkaWF0ZWx5LlxuICAgKlxuICAgKiAtIEFkZGluZyBhbiAnZW5kaXNoJyBldmVudCBoYW5kbGVyICgnZW5kJywgJ2ZpbmlzaCcsIGV0Yy4pIHdoaWNoIGhhc1xuICAgKiAgIGFscmVhZHkgcGFzc2VkIHdpbGwgY2F1c2UgdGhlIGV2ZW50IHRvIGJlIGVtaXR0ZWQgaW1tZWRpYXRlbHkgYW5kIGFsbFxuICAgKiAgIGhhbmRsZXJzIHJlbW92ZWQuXG4gICAqXG4gICAqIC0gQWRkaW5nIGFuICdlcnJvcicgZXZlbnQgaGFuZGxlciBhZnRlciBhbiBlcnJvciBoYXMgYmVlbiBlbWl0dGVkIHdpbGxcbiAgICogICBjYXVzZSB0aGUgZXZlbnQgdG8gYmUgcmUtZW1pdHRlZCBpbW1lZGlhdGVseSB3aXRoIHRoZSBlcnJvciBwcmV2aW91c2x5XG4gICAqICAgcmFpc2VkLlxuICAgKi9cbiAgb248RXZlbnQgZXh0ZW5kcyBrZXlvZiBFdmVudHM+KFxuICAgIGV2OiBFdmVudCxcbiAgICBoYW5kbGVyOiAoLi4uYXJnczogRXZlbnRzW0V2ZW50XSkgPT4gYW55XG4gICk6IHRoaXMge1xuICAgIGNvbnN0IHJldCA9IHN1cGVyLm9uKFxuICAgICAgZXYgYXMgc3RyaW5nIHwgc3ltYm9sLFxuICAgICAgaGFuZGxlciBhcyAoLi4uYTogYW55W10pID0+IGFueVxuICAgIClcbiAgICBpZiAoZXYgPT09ICdkYXRhJykge1xuICAgICAgdGhpc1tESVNDQVJERURdID0gZmFsc2VcbiAgICAgIHRoaXNbREFUQUxJU1RFTkVSU10rK1xuICAgICAgaWYgKCF0aGlzW1BJUEVTXS5sZW5ndGggJiYgIXRoaXNbRkxPV0lOR10pIHtcbiAgICAgICAgdGhpc1tSRVNVTUVdKClcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGV2ID09PSAncmVhZGFibGUnICYmIHRoaXNbQlVGRkVSTEVOR1RIXSAhPT0gMCkge1xuICAgICAgc3VwZXIuZW1pdCgncmVhZGFibGUnKVxuICAgIH0gZWxzZSBpZiAoaXNFbmRpc2goZXYpICYmIHRoaXNbRU1JVFRFRF9FTkRdKSB7XG4gICAgICBzdXBlci5lbWl0KGV2KVxuICAgICAgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoZXYpXG4gICAgfSBlbHNlIGlmIChldiA9PT0gJ2Vycm9yJyAmJiB0aGlzW0VNSVRURURfRVJST1JdKSB7XG4gICAgICBjb25zdCBoID0gaGFuZGxlciBhcyAoLi4uYTogRXZlbnRzWydlcnJvciddKSA9PiBhbnlcbiAgICAgIGlmICh0aGlzW0FTWU5DXSkgZGVmZXIoKCkgPT4gaC5jYWxsKHRoaXMsIHRoaXNbRU1JVFRFRF9FUlJPUl0pKVxuICAgICAgZWxzZSBoLmNhbGwodGhpcywgdGhpc1tFTUlUVEVEX0VSUk9SXSlcbiAgICB9XG4gICAgcmV0dXJuIHJldFxuICB9XG5cbiAgLyoqXG4gICAqIEFsaWFzIGZvciB7QGxpbmsgTWluaXBhc3Mjb2ZmfVxuICAgKi9cbiAgcmVtb3ZlTGlzdGVuZXI8RXZlbnQgZXh0ZW5kcyBrZXlvZiBFdmVudHM+KFxuICAgIGV2OiBFdmVudCxcbiAgICBoYW5kbGVyOiAoLi4uYXJnczogRXZlbnRzW0V2ZW50XSkgPT4gYW55XG4gICkge1xuICAgIHJldHVybiB0aGlzLm9mZihldiwgaGFuZGxlcilcbiAgfVxuXG4gIC8qKlxuICAgKiBNb3N0bHkgaWRlbnRpY2FsIHRvIGBFdmVudEVtaXR0ZXIub2ZmYFxuICAgKlxuICAgKiBJZiBhICdkYXRhJyBldmVudCBoYW5kbGVyIGlzIHJlbW92ZWQsIGFuZCBpdCB3YXMgdGhlIGxhc3QgY29uc3VtZXJcbiAgICogKGllLCB0aGVyZSBhcmUgbm8gcGlwZSBkZXN0aW5hdGlvbnMgb3Igb3RoZXIgJ2RhdGEnIGV2ZW50IGxpc3RlbmVycyksXG4gICAqIHRoZW4gdGhlIGZsb3cgb2YgZGF0YSB3aWxsIHN0b3AgdW50aWwgdGhlcmUgaXMgYW5vdGhlciBjb25zdW1lciBvclxuICAgKiB7QGxpbmsgTWluaXBhc3MjcmVzdW1lfSBpcyBleHBsaWNpdGx5IGNhbGxlZC5cbiAgICovXG4gIG9mZjxFdmVudCBleHRlbmRzIGtleW9mIEV2ZW50cz4oXG4gICAgZXY6IEV2ZW50LFxuICAgIGhhbmRsZXI6ICguLi5hcmdzOiBFdmVudHNbRXZlbnRdKSA9PiBhbnlcbiAgKSB7XG4gICAgY29uc3QgcmV0ID0gc3VwZXIub2ZmKFxuICAgICAgZXYgYXMgc3RyaW5nIHwgc3ltYm9sLFxuICAgICAgaGFuZGxlciBhcyAoLi4uYTogYW55W10pID0+IGFueVxuICAgIClcbiAgICAvLyBpZiB3ZSBwcmV2aW91c2x5IGhhZCBsaXN0ZW5lcnMsIGFuZCBub3cgd2UgZG9uJ3QsIGFuZCB3ZSBkb24ndFxuICAgIC8vIGhhdmUgYW55IHBpcGVzLCB0aGVuIHN0b3AgdGhlIGZsb3csIHVubGVzcyBpdCdzIGJlZW4gZXhwbGljaXRseVxuICAgIC8vIHB1dCBpbiBhIGRpc2NhcmRlZCBmbG93aW5nIHN0YXRlIHZpYSBzdHJlYW0ucmVzdW1lKCkuXG4gICAgaWYgKGV2ID09PSAnZGF0YScpIHtcbiAgICAgIHRoaXNbREFUQUxJU1RFTkVSU10gPSB0aGlzLmxpc3RlbmVycygnZGF0YScpLmxlbmd0aFxuICAgICAgaWYgKFxuICAgICAgICB0aGlzW0RBVEFMSVNURU5FUlNdID09PSAwICYmXG4gICAgICAgICF0aGlzW0RJU0NBUkRFRF0gJiZcbiAgICAgICAgIXRoaXNbUElQRVNdLmxlbmd0aFxuICAgICAgKSB7XG4gICAgICAgIHRoaXNbRkxPV0lOR10gPSBmYWxzZVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gcmV0XG4gIH1cblxuICAvKipcbiAgICogTW9zdGx5IGlkZW50aWNhbCB0byBgRXZlbnRFbWl0dGVyLnJlbW92ZUFsbExpc3RlbmVyc2BcbiAgICpcbiAgICogSWYgYWxsICdkYXRhJyBldmVudCBoYW5kbGVycyBhcmUgcmVtb3ZlZCwgYW5kIHRoZXkgd2VyZSB0aGUgbGFzdCBjb25zdW1lclxuICAgKiAoaWUsIHRoZXJlIGFyZSBubyBwaXBlIGRlc3RpbmF0aW9ucyksIHRoZW4gdGhlIGZsb3cgb2YgZGF0YSB3aWxsIHN0b3BcbiAgICogdW50aWwgdGhlcmUgaXMgYW5vdGhlciBjb25zdW1lciBvciB7QGxpbmsgTWluaXBhc3MjcmVzdW1lfSBpcyBleHBsaWNpdGx5XG4gICAqIGNhbGxlZC5cbiAgICovXG4gIHJlbW92ZUFsbExpc3RlbmVyczxFdmVudCBleHRlbmRzIGtleW9mIEV2ZW50cz4oZXY/OiBFdmVudCkge1xuICAgIGNvbnN0IHJldCA9IHN1cGVyLnJlbW92ZUFsbExpc3RlbmVycyhldiBhcyBzdHJpbmcgfCBzeW1ib2wgfCB1bmRlZmluZWQpXG4gICAgaWYgKGV2ID09PSAnZGF0YScgfHwgZXYgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpc1tEQVRBTElTVEVORVJTXSA9IDBcbiAgICAgIGlmICghdGhpc1tESVNDQVJERURdICYmICF0aGlzW1BJUEVTXS5sZW5ndGgpIHtcbiAgICAgICAgdGhpc1tGTE9XSU5HXSA9IGZhbHNlXG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiByZXRcbiAgfVxuXG4gIC8qKlxuICAgKiB0cnVlIGlmIHRoZSAnZW5kJyBldmVudCBoYXMgYmVlbiBlbWl0dGVkXG4gICAqL1xuICBnZXQgZW1pdHRlZEVuZCgpIHtcbiAgICByZXR1cm4gdGhpc1tFTUlUVEVEX0VORF1cbiAgfVxuXG4gIFtNQVlCRV9FTUlUX0VORF0oKSB7XG4gICAgaWYgKFxuICAgICAgIXRoaXNbRU1JVFRJTkdfRU5EXSAmJlxuICAgICAgIXRoaXNbRU1JVFRFRF9FTkRdICYmXG4gICAgICAhdGhpc1tERVNUUk9ZRURdICYmXG4gICAgICB0aGlzW0JVRkZFUl0ubGVuZ3RoID09PSAwICYmXG4gICAgICB0aGlzW0VPRl1cbiAgICApIHtcbiAgICAgIHRoaXNbRU1JVFRJTkdfRU5EXSA9IHRydWVcbiAgICAgIHRoaXMuZW1pdCgnZW5kJylcbiAgICAgIHRoaXMuZW1pdCgncHJlZmluaXNoJylcbiAgICAgIHRoaXMuZW1pdCgnZmluaXNoJylcbiAgICAgIGlmICh0aGlzW0NMT1NFRF0pIHRoaXMuZW1pdCgnY2xvc2UnKVxuICAgICAgdGhpc1tFTUlUVElOR19FTkRdID0gZmFsc2VcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTW9zdGx5IGlkZW50aWNhbCB0byBgRXZlbnRFbWl0dGVyLmVtaXRgLCB3aXRoIHRoZSBmb2xsb3dpbmdcbiAgICogYmVoYXZpb3IgZGlmZmVyZW5jZXMgdG8gcHJldmVudCBkYXRhIGxvc3MgYW5kIHVubmVjZXNzYXJ5IGhhbmdzOlxuICAgKlxuICAgKiBJZiB0aGUgc3RyZWFtIGhhcyBiZWVuIGRlc3Ryb3llZCwgYW5kIHRoZSBldmVudCBpcyBzb21ldGhpbmcgb3RoZXJcbiAgICogdGhhbiAnY2xvc2UnIG9yICdlcnJvcicsIHRoZW4gYGZhbHNlYCBpcyByZXR1cm5lZCBhbmQgbm8gaGFuZGxlcnNcbiAgICogYXJlIGNhbGxlZC5cbiAgICpcbiAgICogSWYgdGhlIGV2ZW50IGlzICdlbmQnLCBhbmQgaGFzIGFscmVhZHkgYmVlbiBlbWl0dGVkLCB0aGVuIHRoZSBldmVudFxuICAgKiBpcyBpZ25vcmVkLiBJZiB0aGUgc3RyZWFtIGlzIGluIGEgcGF1c2VkIG9yIG5vbi1mbG93aW5nIHN0YXRlLCB0aGVuXG4gICAqIHRoZSBldmVudCB3aWxsIGJlIGRlZmVycmVkIHVudGlsIGRhdGEgZmxvdyByZXN1bWVzLiBJZiB0aGUgc3RyZWFtIGlzXG4gICAqIGFzeW5jLCB0aGVuIGhhbmRsZXJzIHdpbGwgYmUgY2FsbGVkIG9uIHRoZSBuZXh0IHRpY2sgcmF0aGVyIHRoYW5cbiAgICogaW1tZWRpYXRlbHkuXG4gICAqXG4gICAqIElmIHRoZSBldmVudCBpcyAnY2xvc2UnLCBhbmQgJ2VuZCcgaGFzIG5vdCB5ZXQgYmVlbiBlbWl0dGVkLCB0aGVuXG4gICAqIHRoZSBldmVudCB3aWxsIGJlIGRlZmVycmVkIHVudGlsIGFmdGVyICdlbmQnIGlzIGVtaXR0ZWQuXG4gICAqXG4gICAqIElmIHRoZSBldmVudCBpcyAnZXJyb3InLCBhbmQgYW4gQWJvcnRTaWduYWwgd2FzIHByb3ZpZGVkIGZvciB0aGUgc3RyZWFtLFxuICAgKiBhbmQgdGhlcmUgYXJlIG5vIGxpc3RlbmVycywgdGhlbiB0aGUgZXZlbnQgaXMgaWdub3JlZCwgbWF0Y2hpbmcgdGhlXG4gICAqIGJlaGF2aW9yIG9mIG5vZGUgY29yZSBzdHJlYW1zIGluIHRoZSBwcmVzZW5zZSBvZiBhbiBBYm9ydFNpZ25hbC5cbiAgICpcbiAgICogSWYgdGhlIGV2ZW50IGlzICdmaW5pc2gnIG9yICdwcmVmaW5pc2gnLCB0aGVuIGFsbCBsaXN0ZW5lcnMgd2lsbCBiZVxuICAgKiByZW1vdmVkIGFmdGVyIGVtaXR0aW5nIHRoZSBldmVudCwgdG8gcHJldmVudCBkb3VibGUtZmlyaW5nLlxuICAgKi9cbiAgZW1pdDxFdmVudCBleHRlbmRzIGtleW9mIEV2ZW50cz4oXG4gICAgZXY6IEV2ZW50LFxuICAgIC4uLmFyZ3M6IEV2ZW50c1tFdmVudF1cbiAgKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZGF0YSA9IGFyZ3NbMF1cbiAgICAvLyBlcnJvciBhbmQgY2xvc2UgYXJlIG9ubHkgZXZlbnRzIGFsbG93ZWQgYWZ0ZXIgY2FsbGluZyBkZXN0cm95KClcbiAgICBpZiAoXG4gICAgICBldiAhPT0gJ2Vycm9yJyAmJlxuICAgICAgZXYgIT09ICdjbG9zZScgJiZcbiAgICAgIGV2ICE9PSBERVNUUk9ZRUQgJiZcbiAgICAgIHRoaXNbREVTVFJPWUVEXVxuICAgICkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfSBlbHNlIGlmIChldiA9PT0gJ2RhdGEnKSB7XG4gICAgICByZXR1cm4gIXRoaXNbT0JKRUNUTU9ERV0gJiYgIWRhdGFcbiAgICAgICAgPyBmYWxzZVxuICAgICAgICA6IHRoaXNbQVNZTkNdXG4gICAgICAgID8gKGRlZmVyKCgpID0+IHRoaXNbRU1JVERBVEFdKGRhdGEgYXMgUlR5cGUpKSwgdHJ1ZSlcbiAgICAgICAgOiB0aGlzW0VNSVREQVRBXShkYXRhIGFzIFJUeXBlKVxuICAgIH0gZWxzZSBpZiAoZXYgPT09ICdlbmQnKSB7XG4gICAgICByZXR1cm4gdGhpc1tFTUlURU5EXSgpXG4gICAgfSBlbHNlIGlmIChldiA9PT0gJ2Nsb3NlJykge1xuICAgICAgdGhpc1tDTE9TRURdID0gdHJ1ZVxuICAgICAgLy8gZG9uJ3QgZW1pdCBjbG9zZSBiZWZvcmUgJ2VuZCcgYW5kICdmaW5pc2gnXG4gICAgICBpZiAoIXRoaXNbRU1JVFRFRF9FTkRdICYmICF0aGlzW0RFU1RST1lFRF0pIHJldHVybiBmYWxzZVxuICAgICAgY29uc3QgcmV0ID0gc3VwZXIuZW1pdCgnY2xvc2UnKVxuICAgICAgdGhpcy5yZW1vdmVBbGxMaXN0ZW5lcnMoJ2Nsb3NlJylcbiAgICAgIHJldHVybiByZXRcbiAgICB9IGVsc2UgaWYgKGV2ID09PSAnZXJyb3InKSB7XG4gICAgICB0aGlzW0VNSVRURURfRVJST1JdID0gZGF0YVxuICAgICAgc3VwZXIuZW1pdChFUlJPUiwgZGF0YSlcbiAgICAgIGNvbnN0IHJldCA9XG4gICAgICAgICF0aGlzW1NJR05BTF0gfHwgdGhpcy5saXN0ZW5lcnMoJ2Vycm9yJykubGVuZ3RoXG4gICAgICAgICAgPyBzdXBlci5lbWl0KCdlcnJvcicsIGRhdGEpXG4gICAgICAgICAgOiBmYWxzZVxuICAgICAgdGhpc1tNQVlCRV9FTUlUX0VORF0oKVxuICAgICAgcmV0dXJuIHJldFxuICAgIH0gZWxzZSBpZiAoZXYgPT09ICdyZXN1bWUnKSB7XG4gICAgICBjb25zdCByZXQgPSBzdXBlci5lbWl0KCdyZXN1bWUnKVxuICAgICAgdGhpc1tNQVlCRV9FTUlUX0VORF0oKVxuICAgICAgcmV0dXJuIHJldFxuICAgIH0gZWxzZSBpZiAoZXYgPT09ICdmaW5pc2gnIHx8IGV2ID09PSAncHJlZmluaXNoJykge1xuICAgICAgY29uc3QgcmV0ID0gc3VwZXIuZW1pdChldilcbiAgICAgIHRoaXMucmVtb3ZlQWxsTGlzdGVuZXJzKGV2KVxuICAgICAgcmV0dXJuIHJldFxuICAgIH1cblxuICAgIC8vIFNvbWUgb3RoZXIgdW5rbm93biBldmVudFxuICAgIGNvbnN0IHJldCA9IHN1cGVyLmVtaXQoZXYgYXMgc3RyaW5nLCAuLi5hcmdzKVxuICAgIHRoaXNbTUFZQkVfRU1JVF9FTkRdKClcbiAgICByZXR1cm4gcmV0XG4gIH1cblxuICBbRU1JVERBVEFdKGRhdGE6IFJUeXBlKSB7XG4gICAgZm9yIChjb25zdCBwIG9mIHRoaXNbUElQRVNdKSB7XG4gICAgICBpZiAocC5kZXN0LndyaXRlKGRhdGEgYXMgUlR5cGUpID09PSBmYWxzZSkgdGhpcy5wYXVzZSgpXG4gICAgfVxuICAgIGNvbnN0IHJldCA9IHRoaXNbRElTQ0FSREVEXSA/IGZhbHNlIDogc3VwZXIuZW1pdCgnZGF0YScsIGRhdGEpXG4gICAgdGhpc1tNQVlCRV9FTUlUX0VORF0oKVxuICAgIHJldHVybiByZXRcbiAgfVxuXG4gIFtFTUlURU5EXSgpIHtcbiAgICBpZiAodGhpc1tFTUlUVEVEX0VORF0pIHJldHVybiBmYWxzZVxuXG4gICAgdGhpc1tFTUlUVEVEX0VORF0gPSB0cnVlXG4gICAgdGhpcy5yZWFkYWJsZSA9IGZhbHNlXG4gICAgcmV0dXJuIHRoaXNbQVNZTkNdXG4gICAgICA/IChkZWZlcigoKSA9PiB0aGlzW0VNSVRFTkQyXSgpKSwgdHJ1ZSlcbiAgICAgIDogdGhpc1tFTUlURU5EMl0oKVxuICB9XG5cbiAgW0VNSVRFTkQyXSgpIHtcbiAgICBpZiAodGhpc1tERUNPREVSXSkge1xuICAgICAgY29uc3QgZGF0YSA9IHRoaXNbREVDT0RFUl0uZW5kKClcbiAgICAgIGlmIChkYXRhKSB7XG4gICAgICAgIGZvciAoY29uc3QgcCBvZiB0aGlzW1BJUEVTXSkge1xuICAgICAgICAgIHAuZGVzdC53cml0ZShkYXRhIGFzIFJUeXBlKVxuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpc1tESVNDQVJERURdKSBzdXBlci5lbWl0KCdkYXRhJywgZGF0YSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IHAgb2YgdGhpc1tQSVBFU10pIHtcbiAgICAgIHAuZW5kKClcbiAgICB9XG4gICAgY29uc3QgcmV0ID0gc3VwZXIuZW1pdCgnZW5kJylcbiAgICB0aGlzLnJlbW92ZUFsbExpc3RlbmVycygnZW5kJylcbiAgICByZXR1cm4gcmV0XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJuIGEgUHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIGFuIGFycmF5IG9mIGFsbCBlbWl0dGVkIGRhdGEgb25jZVxuICAgKiB0aGUgc3RyZWFtIGVuZHMuXG4gICAqL1xuICBhc3luYyBjb2xsZWN0KCk6IFByb21pc2U8UlR5cGVbXSAmIHsgZGF0YUxlbmd0aDogbnVtYmVyIH0+IHtcbiAgICBjb25zdCBidWY6IFJUeXBlW10gJiB7IGRhdGFMZW5ndGg6IG51bWJlciB9ID0gT2JqZWN0LmFzc2lnbihbXSwge1xuICAgICAgZGF0YUxlbmd0aDogMCxcbiAgICB9KVxuICAgIGlmICghdGhpc1tPQkpFQ1RNT0RFXSkgYnVmLmRhdGFMZW5ndGggPSAwXG4gICAgLy8gc2V0IHRoZSBwcm9taXNlIGZpcnN0LCBpbiBjYXNlIGFuIGVycm9yIGlzIHJhaXNlZFxuICAgIC8vIGJ5IHRyaWdnZXJpbmcgdGhlIGZsb3cgaGVyZS5cbiAgICBjb25zdCBwID0gdGhpcy5wcm9taXNlKClcbiAgICB0aGlzLm9uKCdkYXRhJywgYyA9PiB7XG4gICAgICBidWYucHVzaChjKVxuICAgICAgaWYgKCF0aGlzW09CSkVDVE1PREVdKVxuICAgICAgICBidWYuZGF0YUxlbmd0aCArPSAoYyBhcyBNaW5pcGFzcy5CdWZmZXJPclN0cmluZykubGVuZ3RoXG4gICAgfSlcbiAgICBhd2FpdCBwXG4gICAgcmV0dXJuIGJ1ZlxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybiBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgY29uY2F0ZW5hdGlvbiBvZiBhbGwgZW1pdHRlZCBkYXRhXG4gICAqIG9uY2UgdGhlIHN0cmVhbSBlbmRzLlxuICAgKlxuICAgKiBOb3QgYWxsb3dlZCBvbiBvYmplY3RNb2RlIHN0cmVhbXMuXG4gICAqL1xuICBhc3luYyBjb25jYXQoKTogUHJvbWlzZTxSVHlwZT4ge1xuICAgIGlmICh0aGlzW09CSkVDVE1PREVdKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2Nhbm5vdCBjb25jYXQgaW4gb2JqZWN0TW9kZScpXG4gICAgfVxuICAgIGNvbnN0IGJ1ZiA9IGF3YWl0IHRoaXMuY29sbGVjdCgpXG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXNbRU5DT0RJTkddXG4gICAgICAgID8gYnVmLmpvaW4oJycpXG4gICAgICAgIDogQnVmZmVyLmNvbmNhdChidWYgYXMgQnVmZmVyW10sIGJ1Zi5kYXRhTGVuZ3RoKVxuICAgICkgYXMgUlR5cGVcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gYSB2b2lkIFByb21pc2UgdGhhdCByZXNvbHZlcyBvbmNlIHRoZSBzdHJlYW0gZW5kcy5cbiAgICovXG4gIGFzeW5jIHByb21pc2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMub24oREVTVFJPWUVELCAoKSA9PiByZWplY3QobmV3IEVycm9yKCdzdHJlYW0gZGVzdHJveWVkJykpKVxuICAgICAgdGhpcy5vbignZXJyb3InLCBlciA9PiByZWplY3QoZXIpKVxuICAgICAgdGhpcy5vbignZW5kJywgKCkgPT4gcmVzb2x2ZSgpKVxuICAgIH0pXG4gIH1cblxuICAvKipcbiAgICogQXN5bmNocm9ub3VzIGBmb3IgYXdhaXQgb2ZgIGl0ZXJhdGlvbi5cbiAgICpcbiAgICogVGhpcyB3aWxsIGNvbnRpbnVlIGVtaXR0aW5nIGFsbCBjaHVua3MgdW50aWwgdGhlIHN0cmVhbSB0ZXJtaW5hdGVzLlxuICAgKi9cbiAgW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSgpOiBBc3luY0dlbmVyYXRvcjxSVHlwZSwgdm9pZCwgdm9pZD4ge1xuICAgIC8vIHNldCB0aGlzIHVwIGZyb250LCBpbiBjYXNlIHRoZSBjb25zdW1lciBkb2Vzbid0IGNhbGwgbmV4dCgpXG4gICAgLy8gcmlnaHQgYXdheS5cbiAgICB0aGlzW0RJU0NBUkRFRF0gPSBmYWxzZVxuICAgIGxldCBzdG9wcGVkID0gZmFsc2VcbiAgICBjb25zdCBzdG9wID0gYXN5bmMgKCk6IFByb21pc2U8SXRlcmF0b3JSZXR1cm5SZXN1bHQ8dm9pZD4+ID0+IHtcbiAgICAgIHRoaXMucGF1c2UoKVxuICAgICAgc3RvcHBlZCA9IHRydWVcbiAgICAgIHJldHVybiB7IHZhbHVlOiB1bmRlZmluZWQsIGRvbmU6IHRydWUgfVxuICAgIH1cbiAgICBjb25zdCBuZXh0ID0gKCk6IFByb21pc2U8SXRlcmF0b3JSZXN1bHQ8UlR5cGUsIHZvaWQ+PiA9PiB7XG4gICAgICBpZiAoc3RvcHBlZCkgcmV0dXJuIHN0b3AoKVxuICAgICAgY29uc3QgcmVzID0gdGhpcy5yZWFkKClcbiAgICAgIGlmIChyZXMgIT09IG51bGwpIHJldHVybiBQcm9taXNlLnJlc29sdmUoeyBkb25lOiBmYWxzZSwgdmFsdWU6IHJlcyB9KVxuXG4gICAgICBpZiAodGhpc1tFT0ZdKSByZXR1cm4gc3RvcCgpXG5cbiAgICAgIGxldCByZXNvbHZlITogKHJlczogSXRlcmF0b3JSZXN1bHQ8UlR5cGU+KSA9PiB2b2lkXG4gICAgICBsZXQgcmVqZWN0ITogKGVyOiB1bmtub3duKSA9PiB2b2lkXG4gICAgICBjb25zdCBvbmVyciA9IChlcjogdW5rbm93bikgPT4ge1xuICAgICAgICB0aGlzLm9mZignZGF0YScsIG9uZGF0YSlcbiAgICAgICAgdGhpcy5vZmYoJ2VuZCcsIG9uZW5kKVxuICAgICAgICB0aGlzLm9mZihERVNUUk9ZRUQsIG9uZGVzdHJveSlcbiAgICAgICAgc3RvcCgpXG4gICAgICAgIHJlamVjdChlcilcbiAgICAgIH1cbiAgICAgIGNvbnN0IG9uZGF0YSA9ICh2YWx1ZTogUlR5cGUpID0+IHtcbiAgICAgICAgdGhpcy5vZmYoJ2Vycm9yJywgb25lcnIpXG4gICAgICAgIHRoaXMub2ZmKCdlbmQnLCBvbmVuZClcbiAgICAgICAgdGhpcy5vZmYoREVTVFJPWUVELCBvbmRlc3Ryb3kpXG4gICAgICAgIHRoaXMucGF1c2UoKVxuICAgICAgICByZXNvbHZlKHsgdmFsdWUsIGRvbmU6ICEhdGhpc1tFT0ZdIH0pXG4gICAgICB9XG4gICAgICBjb25zdCBvbmVuZCA9ICgpID0+IHtcbiAgICAgICAgdGhpcy5vZmYoJ2Vycm9yJywgb25lcnIpXG4gICAgICAgIHRoaXMub2ZmKCdkYXRhJywgb25kYXRhKVxuICAgICAgICB0aGlzLm9mZihERVNUUk9ZRUQsIG9uZGVzdHJveSlcbiAgICAgICAgc3RvcCgpXG4gICAgICAgIHJlc29sdmUoeyBkb25lOiB0cnVlLCB2YWx1ZTogdW5kZWZpbmVkIH0pXG4gICAgICB9XG4gICAgICBjb25zdCBvbmRlc3Ryb3kgPSAoKSA9PiBvbmVycihuZXcgRXJyb3IoJ3N0cmVhbSBkZXN0cm95ZWQnKSlcbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTxJdGVyYXRvclJlc3VsdDxSVHlwZT4+KChyZXMsIHJlaikgPT4ge1xuICAgICAgICByZWplY3QgPSByZWpcbiAgICAgICAgcmVzb2x2ZSA9IHJlc1xuICAgICAgICB0aGlzLm9uY2UoREVTVFJPWUVELCBvbmRlc3Ryb3kpXG4gICAgICAgIHRoaXMub25jZSgnZXJyb3InLCBvbmVycilcbiAgICAgICAgdGhpcy5vbmNlKCdlbmQnLCBvbmVuZClcbiAgICAgICAgdGhpcy5vbmNlKCdkYXRhJywgb25kYXRhKVxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmV4dCxcbiAgICAgIHRocm93OiBzdG9wLFxuICAgICAgcmV0dXJuOiBzdG9wLFxuICAgICAgW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNcbiAgICAgIH0sXG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN5bmNocm9ub3VzIGBmb3Igb2ZgIGl0ZXJhdGlvbi5cbiAgICpcbiAgICogVGhlIGl0ZXJhdGlvbiB3aWxsIHRlcm1pbmF0ZSB3aGVuIHRoZSBpbnRlcm5hbCBidWZmZXIgcnVucyBvdXQsIGV2ZW5cbiAgICogaWYgdGhlIHN0cmVhbSBoYXMgbm90IHlldCB0ZXJtaW5hdGVkLlxuICAgKi9cbiAgW1N5bWJvbC5pdGVyYXRvcl0oKTogR2VuZXJhdG9yPFJUeXBlLCB2b2lkLCB2b2lkPiB7XG4gICAgLy8gc2V0IHRoaXMgdXAgZnJvbnQsIGluIGNhc2UgdGhlIGNvbnN1bWVyIGRvZXNuJ3QgY2FsbCBuZXh0KClcbiAgICAvLyByaWdodCBhd2F5LlxuICAgIHRoaXNbRElTQ0FSREVEXSA9IGZhbHNlXG4gICAgbGV0IHN0b3BwZWQgPSBmYWxzZVxuICAgIGNvbnN0IHN0b3AgPSAoKTogSXRlcmF0b3JSZXR1cm5SZXN1bHQ8dm9pZD4gPT4ge1xuICAgICAgdGhpcy5wYXVzZSgpXG4gICAgICB0aGlzLm9mZihFUlJPUiwgc3RvcClcbiAgICAgIHRoaXMub2ZmKERFU1RST1lFRCwgc3RvcClcbiAgICAgIHRoaXMub2ZmKCdlbmQnLCBzdG9wKVxuICAgICAgc3RvcHBlZCA9IHRydWVcbiAgICAgIHJldHVybiB7IGRvbmU6IHRydWUsIHZhbHVlOiB1bmRlZmluZWQgfVxuICAgIH1cblxuICAgIGNvbnN0IG5leHQgPSAoKTogSXRlcmF0b3JSZXN1bHQ8UlR5cGUsIHZvaWQ+ID0+IHtcbiAgICAgIGlmIChzdG9wcGVkKSByZXR1cm4gc3RvcCgpXG4gICAgICBjb25zdCB2YWx1ZSA9IHRoaXMucmVhZCgpXG4gICAgICByZXR1cm4gdmFsdWUgPT09IG51bGwgPyBzdG9wKCkgOiB7IGRvbmU6IGZhbHNlLCB2YWx1ZSB9XG4gICAgfVxuXG4gICAgdGhpcy5vbmNlKCdlbmQnLCBzdG9wKVxuICAgIHRoaXMub25jZShFUlJPUiwgc3RvcClcbiAgICB0aGlzLm9uY2UoREVTVFJPWUVELCBzdG9wKVxuXG4gICAgcmV0dXJuIHtcbiAgICAgIG5leHQsXG4gICAgICB0aHJvdzogc3RvcCxcbiAgICAgIHJldHVybjogc3RvcCxcbiAgICAgIFtTeW1ib2wuaXRlcmF0b3JdKCkge1xuICAgICAgICByZXR1cm4gdGhpc1xuICAgICAgfSxcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRGVzdHJveSBhIHN0cmVhbSwgcHJldmVudGluZyBpdCBmcm9tIGJlaW5nIHVzZWQgZm9yIGFueSBmdXJ0aGVyIHB1cnBvc2UuXG4gICAqXG4gICAqIElmIHRoZSBzdHJlYW0gaGFzIGEgYGNsb3NlKClgIG1ldGhvZCwgdGhlbiBpdCB3aWxsIGJlIGNhbGxlZCBvblxuICAgKiBkZXN0cnVjdGlvbi5cbiAgICpcbiAgICogQWZ0ZXIgZGVzdHJ1Y3Rpb24sIGFueSBhdHRlbXB0IHRvIHdyaXRlIGRhdGEsIHJlYWQgZGF0YSwgb3IgZW1pdCBtb3N0XG4gICAqIGV2ZW50cyB3aWxsIGJlIGlnbm9yZWQuXG4gICAqXG4gICAqIElmIGFuIGVycm9yIGFyZ3VtZW50IGlzIHByb3ZpZGVkLCB0aGVuIGl0IHdpbGwgYmUgZW1pdHRlZCBpbiBhblxuICAgKiAnZXJyb3InIGV2ZW50LlxuICAgKi9cbiAgZGVzdHJveShlcj86IHVua25vd24pIHtcbiAgICBpZiAodGhpc1tERVNUUk9ZRURdKSB7XG4gICAgICBpZiAoZXIpIHRoaXMuZW1pdCgnZXJyb3InLCBlcilcbiAgICAgIGVsc2UgdGhpcy5lbWl0KERFU1RST1lFRClcbiAgICAgIHJldHVybiB0aGlzXG4gICAgfVxuXG4gICAgdGhpc1tERVNUUk9ZRURdID0gdHJ1ZVxuICAgIHRoaXNbRElTQ0FSREVEXSA9IHRydWVcblxuICAgIC8vIHRocm93IGF3YXkgYWxsIGJ1ZmZlcmVkIGRhdGEsIGl0J3MgbmV2ZXIgY29taW5nIG91dFxuICAgIHRoaXNbQlVGRkVSXS5sZW5ndGggPSAwXG4gICAgdGhpc1tCVUZGRVJMRU5HVEhdID0gMFxuXG4gICAgY29uc3Qgd2MgPSB0aGlzIGFzIE1pbmlwYXNzPFJUeXBlLCBXVHlwZSwgRXZlbnRzPiAmIHtcbiAgICAgIGNsb3NlPzogKCkgPT4gdm9pZFxuICAgIH1cbiAgICBpZiAodHlwZW9mIHdjLmNsb3NlID09PSAnZnVuY3Rpb24nICYmICF0aGlzW0NMT1NFRF0pIHdjLmNsb3NlKClcblxuICAgIGlmIChlcikgdGhpcy5lbWl0KCdlcnJvcicsIGVyKVxuICAgIC8vIGlmIG5vIGVycm9yIHRvIGVtaXQsIHN0aWxsIHJlamVjdCBwZW5kaW5nIHByb21pc2VzXG4gICAgZWxzZSB0aGlzLmVtaXQoREVTVFJPWUVEKVxuXG4gICAgcmV0dXJuIHRoaXNcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGlhcyBmb3Ige0BsaW5rIGlzU3RyZWFtfVxuICAgKlxuICAgKiBGb3JtZXIgZXhwb3J0IGxvY2F0aW9uLCBtYWludGFpbmVkIGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIHN0YXRpYyBnZXQgaXNTdHJlYW0oKSB7XG4gICAgcmV0dXJuIGlzU3RyZWFtXG4gIH1cbn1cbiIsICIvLyB0aGlzIGlzIGp1c3QgYSB2ZXJ5IGxpZ2h0IHdyYXBwZXIgYXJvdW5kIDIgYXJyYXlzIHdpdGggYW4gb2Zmc2V0IGluZGV4XG5cbmltcG9ydCB7IEdMT0JTVEFSIH0gZnJvbSAnbWluaW1hdGNoJ1xuZXhwb3J0IHR5cGUgTU1QYXR0ZXJuID0gc3RyaW5nIHwgUmVnRXhwIHwgdHlwZW9mIEdMT0JTVEFSXG5cbi8vIGFuIGFycmF5IG9mIGxlbmd0aCA+PSAxXG5leHBvcnQgdHlwZSBQYXR0ZXJuTGlzdCA9IFtwOiBNTVBhdHRlcm4sIC4uLnJlc3Q6IE1NUGF0dGVybltdXVxuZXhwb3J0IHR5cGUgVU5DUGF0dGVybkxpc3QgPSBbXG4gIHAwOiAnJyxcbiAgcDE6ICcnLFxuICBwMjogc3RyaW5nLFxuICBwMzogc3RyaW5nLFxuICAuLi5yZXN0OiBNTVBhdHRlcm5bXSxcbl1cbmV4cG9ydCB0eXBlIERyaXZlUGF0dGVybkxpc3QgPSBbcDA6IHN0cmluZywgLi4ucmVzdDogTU1QYXR0ZXJuW11dXG5leHBvcnQgdHlwZSBBYnNvbHV0ZVBhdHRlcm5MaXN0ID0gW3AwOiAnJywgLi4ucmVzdDogTU1QYXR0ZXJuW11dXG5leHBvcnQgdHlwZSBHbG9iTGlzdCA9IFtwOiBzdHJpbmcsIC4uLnJlc3Q6IHN0cmluZ1tdXVxuXG5jb25zdCBpc1BhdHRlcm5MaXN0ID0gKHBsOiBNTVBhdHRlcm5bXSk6IHBsIGlzIFBhdHRlcm5MaXN0ID0+XG4gIHBsLmxlbmd0aCA+PSAxXG5jb25zdCBpc0dsb2JMaXN0ID0gKGdsOiBzdHJpbmdbXSk6IGdsIGlzIEdsb2JMaXN0ID0+IGdsLmxlbmd0aCA+PSAxXG5cbi8qKlxuICogQW4gaW1tdXRhYmxlLWlzaCB2aWV3IG9uIGFuIGFycmF5IG9mIGdsb2IgcGFydHMgYW5kIHRoZWlyIHBhcnNlZFxuICogcmVzdWx0c1xuICovXG5leHBvcnQgY2xhc3MgUGF0dGVybiB7XG4gIHJlYWRvbmx5ICNwYXR0ZXJuTGlzdDogUGF0dGVybkxpc3RcbiAgcmVhZG9ubHkgI2dsb2JMaXN0OiBHbG9iTGlzdFxuICByZWFkb25seSAjaW5kZXg6IG51bWJlclxuICByZWFkb25seSBsZW5ndGg6IG51bWJlclxuICByZWFkb25seSAjcGxhdGZvcm06IE5vZGVKUy5QbGF0Zm9ybVxuICAjcmVzdD86IFBhdHRlcm4gfCBudWxsXG4gICNnbG9iU3RyaW5nPzogc3RyaW5nXG4gICNpc0RyaXZlPzogYm9vbGVhblxuICAjaXNVTkM/OiBib29sZWFuXG4gICNpc0Fic29sdXRlPzogYm9vbGVhblxuICAjZm9sbG93R2xvYnN0YXI6IGJvb2xlYW4gPSB0cnVlXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcGF0dGVybkxpc3Q6IE1NUGF0dGVybltdLFxuICAgIGdsb2JMaXN0OiBzdHJpbmdbXSxcbiAgICBpbmRleDogbnVtYmVyLFxuICAgIHBsYXRmb3JtOiBOb2RlSlMuUGxhdGZvcm0sXG4gICkge1xuICAgIGlmICghaXNQYXR0ZXJuTGlzdChwYXR0ZXJuTGlzdCkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2VtcHR5IHBhdHRlcm4gbGlzdCcpXG4gICAgfVxuICAgIGlmICghaXNHbG9iTGlzdChnbG9iTGlzdCkpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ2VtcHR5IGdsb2IgbGlzdCcpXG4gICAgfVxuICAgIGlmIChnbG9iTGlzdC5sZW5ndGggIT09IHBhdHRlcm5MaXN0Lmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcignbWlzbWF0Y2hlZCBwYXR0ZXJuIGxpc3QgYW5kIGdsb2IgbGlzdCBsZW5ndGhzJylcbiAgICB9XG4gICAgdGhpcy5sZW5ndGggPSBwYXR0ZXJuTGlzdC5sZW5ndGhcbiAgICBpZiAoaW5kZXggPCAwIHx8IGluZGV4ID49IHRoaXMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbmRleCBvdXQgb2YgcmFuZ2UnKVxuICAgIH1cbiAgICB0aGlzLiNwYXR0ZXJuTGlzdCA9IHBhdHRlcm5MaXN0XG4gICAgdGhpcy4jZ2xvYkxpc3QgPSBnbG9iTGlzdFxuICAgIHRoaXMuI2luZGV4ID0gaW5kZXhcbiAgICB0aGlzLiNwbGF0Zm9ybSA9IHBsYXRmb3JtXG5cbiAgICAvLyBub3JtYWxpemUgcm9vdCBlbnRyaWVzIG9mIGFic29sdXRlIHBhdHRlcm5zIG9uIGluaXRpYWwgY3JlYXRpb24uXG4gICAgaWYgKHRoaXMuI2luZGV4ID09PSAwKSB7XG4gICAgICAvLyBjOiA9PiBbJ2M6LyddXG4gICAgICAvLyBDOi8gPT4gWydDOi8nXVxuICAgICAgLy8gQzoveCA9PiBbJ0M6LycsICd4J11cbiAgICAgIC8vIC8vaG9zdC9zaGFyZSA9PiBbJy8vaG9zdC9zaGFyZS8nXVxuICAgICAgLy8gLy9ob3N0L3NoYXJlLyA9PiBbJy8vaG9zdC9zaGFyZS8nXVxuICAgICAgLy8gLy9ob3N0L3NoYXJlL3ggPT4gWycvL2hvc3Qvc2hhcmUvJywgJ3gnXVxuICAgICAgLy8gL2V0YyA9PiBbJy8nLCAnZXRjJ11cbiAgICAgIC8vIC8gPT4gWycvJ11cbiAgICAgIGlmICh0aGlzLmlzVU5DKCkpIHtcbiAgICAgICAgLy8gJycgLyAnJyAvICdob3N0JyAvICdzaGFyZSdcbiAgICAgICAgY29uc3QgW3AwLCBwMSwgcDIsIHAzLCAuLi5wcmVzdF0gPSB0aGlzLiNwYXR0ZXJuTGlzdFxuICAgICAgICBjb25zdCBbZzAsIGcxLCBnMiwgZzMsIC4uLmdyZXN0XSA9IHRoaXMuI2dsb2JMaXN0XG4gICAgICAgIGlmIChwcmVzdFswXSA9PT0gJycpIHtcbiAgICAgICAgICAvLyBlbmRzIGluIC9cbiAgICAgICAgICBwcmVzdC5zaGlmdCgpXG4gICAgICAgICAgZ3Jlc3Quc2hpZnQoKVxuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHAgPSBbcDAsIHAxLCBwMiwgcDMsICcnXS5qb2luKCcvJylcbiAgICAgICAgY29uc3QgZyA9IFtnMCwgZzEsIGcyLCBnMywgJyddLmpvaW4oJy8nKVxuICAgICAgICB0aGlzLiNwYXR0ZXJuTGlzdCA9IFtwLCAuLi5wcmVzdF1cbiAgICAgICAgdGhpcy4jZ2xvYkxpc3QgPSBbZywgLi4uZ3Jlc3RdXG4gICAgICAgIHRoaXMubGVuZ3RoID0gdGhpcy4jcGF0dGVybkxpc3QubGVuZ3RoXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXNEcml2ZSgpIHx8IHRoaXMuaXNBYnNvbHV0ZSgpKSB7XG4gICAgICAgIGNvbnN0IFtwMSwgLi4ucHJlc3RdID0gdGhpcy4jcGF0dGVybkxpc3RcbiAgICAgICAgY29uc3QgW2cxLCAuLi5ncmVzdF0gPSB0aGlzLiNnbG9iTGlzdFxuICAgICAgICBpZiAocHJlc3RbMF0gPT09ICcnKSB7XG4gICAgICAgICAgLy8gZW5kcyBpbiAvXG4gICAgICAgICAgcHJlc3Quc2hpZnQoKVxuICAgICAgICAgIGdyZXN0LnNoaWZ0KClcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBwID0gKHAxIGFzIHN0cmluZykgKyAnLydcbiAgICAgICAgY29uc3QgZyA9IGcxICsgJy8nXG4gICAgICAgIHRoaXMuI3BhdHRlcm5MaXN0ID0gW3AsIC4uLnByZXN0XVxuICAgICAgICB0aGlzLiNnbG9iTGlzdCA9IFtnLCAuLi5ncmVzdF1cbiAgICAgICAgdGhpcy5sZW5ndGggPSB0aGlzLiNwYXR0ZXJuTGlzdC5sZW5ndGhcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVGhlIGZpcnN0IGVudHJ5IGluIHRoZSBwYXJzZWQgbGlzdCBvZiBwYXR0ZXJuc1xuICAgKi9cbiAgcGF0dGVybigpOiBNTVBhdHRlcm4ge1xuICAgIHJldHVybiB0aGlzLiNwYXR0ZXJuTGlzdFt0aGlzLiNpbmRleF0gYXMgTU1QYXR0ZXJuXG4gIH1cblxuICAvKipcbiAgICogdHJ1ZSBvZiBpZiBwYXR0ZXJuKCkgcmV0dXJucyBhIHN0cmluZ1xuICAgKi9cbiAgaXNTdHJpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHR5cGVvZiB0aGlzLiNwYXR0ZXJuTGlzdFt0aGlzLiNpbmRleF0gPT09ICdzdHJpbmcnXG4gIH1cbiAgLyoqXG4gICAqIHRydWUgb2YgaWYgcGF0dGVybigpIHJldHVybnMgR0xPQlNUQVJcbiAgICovXG4gIGlzR2xvYnN0YXIoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI3BhdHRlcm5MaXN0W3RoaXMuI2luZGV4XSA9PT0gR0xPQlNUQVJcbiAgfVxuICAvKipcbiAgICogdHJ1ZSBpZiBwYXR0ZXJuKCkgcmV0dXJucyBhIHJlZ2V4cFxuICAgKi9cbiAgaXNSZWdFeHAoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI3BhdHRlcm5MaXN0W3RoaXMuI2luZGV4XSBpbnN0YW5jZW9mIFJlZ0V4cFxuICB9XG5cbiAgLyoqXG4gICAqIFRoZSAvLWpvaW5lZCBzZXQgb2YgZ2xvYiBwYXJ0cyB0aGF0IG1ha2UgdXAgdGhpcyBwYXR0ZXJuXG4gICAqL1xuICBnbG9iU3RyaW5nKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuICh0aGlzLiNnbG9iU3RyaW5nID1cbiAgICAgIHRoaXMuI2dsb2JTdHJpbmcgfHxcbiAgICAgICh0aGlzLiNpbmRleCA9PT0gMCA/XG4gICAgICAgIHRoaXMuaXNBYnNvbHV0ZSgpID9cbiAgICAgICAgICB0aGlzLiNnbG9iTGlzdFswXSArIHRoaXMuI2dsb2JMaXN0LnNsaWNlKDEpLmpvaW4oJy8nKVxuICAgICAgICA6IHRoaXMuI2dsb2JMaXN0LmpvaW4oJy8nKVxuICAgICAgOiB0aGlzLiNnbG9iTGlzdC5zbGljZSh0aGlzLiNpbmRleCkuam9pbignLycpKSlcbiAgfVxuXG4gIC8qKlxuICAgKiB0cnVlIGlmIHRoZXJlIGFyZSBtb3JlIHBhdHRlcm4gcGFydHMgYWZ0ZXIgdGhpcyBvbmVcbiAgICovXG4gIGhhc01vcmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMubGVuZ3RoID4gdGhpcy4jaW5kZXggKyAxXG4gIH1cblxuICAvKipcbiAgICogVGhlIHJlc3Qgb2YgdGhlIHBhdHRlcm4gYWZ0ZXIgdGhpcyBwYXJ0LCBvciBudWxsIGlmIHRoaXMgaXMgdGhlIGVuZFxuICAgKi9cbiAgcmVzdCgpOiBQYXR0ZXJuIHwgbnVsbCB7XG4gICAgaWYgKHRoaXMuI3Jlc3QgIT09IHVuZGVmaW5lZCkgcmV0dXJuIHRoaXMuI3Jlc3RcbiAgICBpZiAoIXRoaXMuaGFzTW9yZSgpKSByZXR1cm4gKHRoaXMuI3Jlc3QgPSBudWxsKVxuICAgIHRoaXMuI3Jlc3QgPSBuZXcgUGF0dGVybihcbiAgICAgIHRoaXMuI3BhdHRlcm5MaXN0LFxuICAgICAgdGhpcy4jZ2xvYkxpc3QsXG4gICAgICB0aGlzLiNpbmRleCArIDEsXG4gICAgICB0aGlzLiNwbGF0Zm9ybSxcbiAgICApXG4gICAgdGhpcy4jcmVzdC4jaXNBYnNvbHV0ZSA9IHRoaXMuI2lzQWJzb2x1dGVcbiAgICB0aGlzLiNyZXN0LiNpc1VOQyA9IHRoaXMuI2lzVU5DXG4gICAgdGhpcy4jcmVzdC4jaXNEcml2ZSA9IHRoaXMuI2lzRHJpdmVcbiAgICByZXR1cm4gdGhpcy4jcmVzdFxuICB9XG5cbiAgLyoqXG4gICAqIHRydWUgaWYgdGhlIHBhdHRlcm4gcmVwcmVzZW50cyBhIC8vdW5jL3BhdGgvIG9uIHdpbmRvd3NcbiAgICovXG4gIGlzVU5DKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHBsID0gdGhpcy4jcGF0dGVybkxpc3RcbiAgICByZXR1cm4gdGhpcy4jaXNVTkMgIT09IHVuZGVmaW5lZCA/XG4gICAgICAgIHRoaXMuI2lzVU5DXG4gICAgICA6ICh0aGlzLiNpc1VOQyA9XG4gICAgICAgICAgdGhpcy4jcGxhdGZvcm0gPT09ICd3aW4zMicgJiZcbiAgICAgICAgICB0aGlzLiNpbmRleCA9PT0gMCAmJlxuICAgICAgICAgIHBsWzBdID09PSAnJyAmJlxuICAgICAgICAgIHBsWzFdID09PSAnJyAmJlxuICAgICAgICAgIHR5cGVvZiBwbFsyXSA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAhIXBsWzJdICYmXG4gICAgICAgICAgdHlwZW9mIHBsWzNdID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAgICEhcGxbM10pXG4gIH1cblxuICAvLyBwYXR0ZXJuIGxpa2UgQzovLi4uXG4gIC8vIHNwbGl0ID0gWydDOicsIC4uLl1cbiAgLy8gWFhYOiB3b3VsZCBiZSBuaWNlIHRvIGhhbmRsZSBwYXR0ZXJucyBsaWtlIGBjOipgIHRvIHRlc3QgdGhlIGN3ZFxuICAvLyBpbiBjOiBmb3IgKiwgYnV0IEkgZG9uJ3Qga25vdyBvZiBhIHdheSB0byBldmVuIGZpZ3VyZSBvdXQgd2hhdCB0aGF0XG4gIC8vIGN3ZCBpcyB3aXRob3V0IGFjdHVhbGx5IGNoZGlyJ2luZyBpbnRvIGl0P1xuICAvKipcbiAgICogVHJ1ZSBpZiB0aGUgcGF0dGVybiBzdGFydHMgd2l0aCBhIGRyaXZlIGxldHRlciBvbiBXaW5kb3dzXG4gICAqL1xuICBpc0RyaXZlKCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHBsID0gdGhpcy4jcGF0dGVybkxpc3RcbiAgICByZXR1cm4gdGhpcy4jaXNEcml2ZSAhPT0gdW5kZWZpbmVkID9cbiAgICAgICAgdGhpcy4jaXNEcml2ZVxuICAgICAgOiAodGhpcy4jaXNEcml2ZSA9XG4gICAgICAgICAgdGhpcy4jcGxhdGZvcm0gPT09ICd3aW4zMicgJiZcbiAgICAgICAgICB0aGlzLiNpbmRleCA9PT0gMCAmJlxuICAgICAgICAgIHRoaXMubGVuZ3RoID4gMSAmJlxuICAgICAgICAgIHR5cGVvZiBwbFswXSA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgICAvXlthLXpdOiQvaS50ZXN0KHBsWzBdKSlcbiAgfVxuXG4gIC8vIHBhdHRlcm4gPSAnLycgb3IgJy8uLi4nIG9yICcveC8uLi4nXG4gIC8vIHNwbGl0ID0gWycnLCAnJ10gb3IgWycnLCAuLi5dIG9yIFsnJywgJ3gnLCAuLi5dXG4gIC8vIERyaXZlIGFuZCBVTkMgYm90aCBjb25zaWRlcmVkIGFic29sdXRlIG9uIHdpbmRvd3NcbiAgLyoqXG4gICAqIFRydWUgaWYgdGhlIHBhdHRlcm4gaXMgcm9vdGVkIG9uIGFuIGFic29sdXRlIHBhdGhcbiAgICovXG4gIGlzQWJzb2x1dGUoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgcGwgPSB0aGlzLiNwYXR0ZXJuTGlzdFxuICAgIHJldHVybiB0aGlzLiNpc0Fic29sdXRlICE9PSB1bmRlZmluZWQgP1xuICAgICAgICB0aGlzLiNpc0Fic29sdXRlXG4gICAgICA6ICh0aGlzLiNpc0Fic29sdXRlID1cbiAgICAgICAgICAocGxbMF0gPT09ICcnICYmIHBsLmxlbmd0aCA+IDEpIHx8XG4gICAgICAgICAgdGhpcy5pc0RyaXZlKCkgfHxcbiAgICAgICAgICB0aGlzLmlzVU5DKCkpXG4gIH1cblxuICAvKipcbiAgICogY29uc3VtZSB0aGUgcm9vdCBvZiB0aGUgcGF0dGVybiwgYW5kIHJldHVybiBpdFxuICAgKi9cbiAgcm9vdCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHAgPSB0aGlzLiNwYXR0ZXJuTGlzdFswXVxuICAgIHJldHVybiAoXG4gICAgICAgIHR5cGVvZiBwID09PSAnc3RyaW5nJyAmJiB0aGlzLmlzQWJzb2x1dGUoKSAmJiB0aGlzLiNpbmRleCA9PT0gMFxuICAgICAgKSA/XG4gICAgICAgIHBcbiAgICAgIDogJydcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayB0byBzZWUgaWYgdGhlIGN1cnJlbnQgZ2xvYnN0YXIgcGF0dGVybiBpcyBhbGxvd2VkIHRvIGZvbGxvd1xuICAgKiBhIHN5bWJvbGljIGxpbmsuXG4gICAqL1xuICBjaGVja0ZvbGxvd0dsb2JzdGFyKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiAhKFxuICAgICAgdGhpcy4jaW5kZXggPT09IDAgfHxcbiAgICAgICF0aGlzLmlzR2xvYnN0YXIoKSB8fFxuICAgICAgIXRoaXMuI2ZvbGxvd0dsb2JzdGFyXG4gICAgKVxuICB9XG5cbiAgLyoqXG4gICAqIE1hcmsgdGhhdCB0aGUgY3VycmVudCBnbG9ic3RhciBwYXR0ZXJuIGlzIGZvbGxvd2luZyBhIHN5bWJvbGljIGxpbmtcbiAgICovXG4gIG1hcmtGb2xsb3dHbG9ic3RhcigpOiBib29sZWFuIHtcbiAgICBpZiAodGhpcy4jaW5kZXggPT09IDAgfHwgIXRoaXMuaXNHbG9ic3RhcigpIHx8ICF0aGlzLiNmb2xsb3dHbG9ic3RhcilcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIHRoaXMuI2ZvbGxvd0dsb2JzdGFyID0gZmFsc2VcbiAgICByZXR1cm4gdHJ1ZVxuICB9XG59XG4iLCAiLy8gZ2l2ZSBpdCBhIHBhdHRlcm4sIGFuZCBpdCdsbCBiZSBhYmxlIHRvIHRlbGwgeW91IGlmXG4vLyBhIGdpdmVuIHBhdGggc2hvdWxkIGJlIGlnbm9yZWQuXG4vLyBJZ25vcmluZyBhIHBhdGggaWdub3JlcyBpdHMgY2hpbGRyZW4gaWYgdGhlIHBhdHRlcm4gZW5kcyBpbiAvKipcbi8vIElnbm9yZXMgYXJlIGFsd2F5cyBwYXJzZWQgaW4gZG90OnRydWUgbW9kZVxuXG5pbXBvcnQgeyBNaW5pbWF0Y2gsIE1pbmltYXRjaE9wdGlvbnMgfSBmcm9tICdtaW5pbWF0Y2gnXG5pbXBvcnQgeyBQYXRoIH0gZnJvbSAncGF0aC1zY3VycnknXG5pbXBvcnQgeyBQYXR0ZXJuIH0gZnJvbSAnLi9wYXR0ZXJuLmpzJ1xuaW1wb3J0IHsgR2xvYldhbGtlck9wdHMgfSBmcm9tICcuL3dhbGtlci5qcydcblxuZXhwb3J0IGludGVyZmFjZSBJZ25vcmVMaWtlIHtcbiAgaWdub3JlZD86IChwOiBQYXRoKSA9PiBib29sZWFuXG4gIGNoaWxkcmVuSWdub3JlZD86IChwOiBQYXRoKSA9PiBib29sZWFuXG4gIGFkZD86IChpZ25vcmU6IHN0cmluZykgPT4gdm9pZFxufVxuXG5jb25zdCBkZWZhdWx0UGxhdGZvcm06IE5vZGVKUy5QbGF0Zm9ybSA9XG4gIChcbiAgICB0eXBlb2YgcHJvY2VzcyA9PT0gJ29iamVjdCcgJiZcbiAgICBwcm9jZXNzICYmXG4gICAgdHlwZW9mIHByb2Nlc3MucGxhdGZvcm0gPT09ICdzdHJpbmcnXG4gICkgP1xuICAgIHByb2Nlc3MucGxhdGZvcm1cbiAgOiAnbGludXgnXG5cbi8qKlxuICogQ2xhc3MgdXNlZCB0byBwcm9jZXNzIGlnbm9yZWQgcGF0dGVybnNcbiAqL1xuZXhwb3J0IGNsYXNzIElnbm9yZSBpbXBsZW1lbnRzIElnbm9yZUxpa2Uge1xuICByZWxhdGl2ZTogTWluaW1hdGNoW11cbiAgcmVsYXRpdmVDaGlsZHJlbjogTWluaW1hdGNoW11cbiAgYWJzb2x1dGU6IE1pbmltYXRjaFtdXG4gIGFic29sdXRlQ2hpbGRyZW46IE1pbmltYXRjaFtdXG4gIHBsYXRmb3JtOiBOb2RlSlMuUGxhdGZvcm1cbiAgbW1vcHRzOiBNaW5pbWF0Y2hPcHRpb25zXG5cbiAgY29uc3RydWN0b3IoXG4gICAgaWdub3JlZDogc3RyaW5nW10sXG4gICAge1xuICAgICAgbm9icmFjZSxcbiAgICAgIG5vY2FzZSxcbiAgICAgIG5vZXh0LFxuICAgICAgbm9nbG9ic3RhcixcbiAgICAgIHBsYXRmb3JtID0gZGVmYXVsdFBsYXRmb3JtLFxuICAgIH06IEdsb2JXYWxrZXJPcHRzLFxuICApIHtcbiAgICB0aGlzLnJlbGF0aXZlID0gW11cbiAgICB0aGlzLmFic29sdXRlID0gW11cbiAgICB0aGlzLnJlbGF0aXZlQ2hpbGRyZW4gPSBbXVxuICAgIHRoaXMuYWJzb2x1dGVDaGlsZHJlbiA9IFtdXG4gICAgdGhpcy5wbGF0Zm9ybSA9IHBsYXRmb3JtXG4gICAgdGhpcy5tbW9wdHMgPSB7XG4gICAgICBkb3Q6IHRydWUsXG4gICAgICBub2JyYWNlLFxuICAgICAgbm9jYXNlLFxuICAgICAgbm9leHQsXG4gICAgICBub2dsb2JzdGFyLFxuICAgICAgb3B0aW1pemF0aW9uTGV2ZWw6IDIsXG4gICAgICBwbGF0Zm9ybSxcbiAgICAgIG5vY29tbWVudDogdHJ1ZSxcbiAgICAgIG5vbmVnYXRlOiB0cnVlLFxuICAgIH1cbiAgICBmb3IgKGNvbnN0IGlnbiBvZiBpZ25vcmVkKSB0aGlzLmFkZChpZ24pXG4gIH1cblxuICBhZGQoaWduOiBzdHJpbmcpIHtcbiAgICAvLyB0aGlzIGlzIGEgbGl0dGxlIHdlaXJkLCBidXQgaXQgZ2l2ZXMgdXMgYSBjbGVhbiBzZXQgb2Ygb3B0aW1pemVkXG4gICAgLy8gbWluaW1hdGNoIG1hdGNoZXJzLCB3aXRob3V0IGdldHRpbmcgdHJpcHBlZCB1cCBpZiBvbmUgb2YgdGhlbVxuICAgIC8vIGVuZHMgaW4gLyoqIGluc2lkZSBhIGJyYWNlIHNlY3Rpb24sIGFuZCBpdCdzIG9ubHkgaW5lZmZpY2llbnQgYXRcbiAgICAvLyB0aGUgc3RhcnQgb2YgdGhlIHdhbGssIG5vdCBhbG9uZyBpdC5cbiAgICAvLyBJdCdkIGJlIG5pY2UgaWYgdGhlIFBhdHRlcm4gY2xhc3MganVzdCBoYWQgYSAudGVzdCgpIG1ldGhvZCwgYnV0XG4gICAgLy8gaGFuZGxpbmcgZ2xvYnN0YXJzIGlzIGEgYml0IG9mIGEgcGl0YSwgYW5kIHRoYXQgY29kZSBhbHJlYWR5IGxpdmVzXG4gICAgLy8gaW4gbWluaW1hdGNoIGFueXdheS5cbiAgICAvLyBBbm90aGVyIHdheSB3b3VsZCBiZSBpZiBtYXliZSBNaW5pbWF0Y2ggY291bGQgdGFrZSBpdHMgc2V0L2dsb2JQYXJ0c1xuICAgIC8vIGFzIGFuIG9wdGlvbiwgYW5kIHRoZW4gd2UgY291bGQgYXQgbGVhc3QganVzdCB1c2UgUGF0dGVybiB0byB0ZXN0XG4gICAgLy8gZm9yIGFic29sdXRlLW5lc3MuXG4gICAgLy8gWWV0IGFub3RoZXIgd2F5LCBNaW5pbWF0Y2ggY291bGQgdGFrZSBhbiBhcnJheSBvZiBnbG9iIHN0cmluZ3MsIGFuZFxuICAgIC8vIGEgY3dkIG9wdGlvbiwgYW5kIGRvIHRoZSByaWdodCB0aGluZy5cbiAgICBjb25zdCBtbSA9IG5ldyBNaW5pbWF0Y2goaWduLCB0aGlzLm1tb3B0cylcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IG1tLnNldC5sZW5ndGg7IGkrKykge1xuICAgICAgY29uc3QgcGFyc2VkID0gbW0uc2V0W2ldXG4gICAgICBjb25zdCBnbG9iUGFydHMgPSBtbS5nbG9iUGFydHNbaV1cbiAgICAgIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICAgICAgaWYgKCFwYXJzZWQgfHwgIWdsb2JQYXJ0cykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ2ludmFsaWQgcGF0dGVybiBvYmplY3QnKVxuICAgICAgfVxuICAgICAgLy8gc3RyaXAgb2ZmIGxlYWRpbmcgLi8gcG9ydGlvbnNcbiAgICAgIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS9pc2FhY3Mvbm9kZS1nbG9iL2lzc3Vlcy81NzBcbiAgICAgIHdoaWxlIChwYXJzZWRbMF0gPT09ICcuJyAmJiBnbG9iUGFydHNbMF0gPT09ICcuJykge1xuICAgICAgICBwYXJzZWQuc2hpZnQoKVxuICAgICAgICBnbG9iUGFydHMuc2hpZnQoKVxuICAgICAgfVxuICAgICAgLyogYzggaWdub3JlIHN0b3AgKi9cbiAgICAgIGNvbnN0IHAgPSBuZXcgUGF0dGVybihwYXJzZWQsIGdsb2JQYXJ0cywgMCwgdGhpcy5wbGF0Zm9ybSlcbiAgICAgIGNvbnN0IG0gPSBuZXcgTWluaW1hdGNoKHAuZ2xvYlN0cmluZygpLCB0aGlzLm1tb3B0cylcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gZ2xvYlBhcnRzW2dsb2JQYXJ0cy5sZW5ndGggLSAxXSA9PT0gJyoqJ1xuICAgICAgY29uc3QgYWJzb2x1dGUgPSBwLmlzQWJzb2x1dGUoKVxuICAgICAgaWYgKGFic29sdXRlKSB0aGlzLmFic29sdXRlLnB1c2gobSlcbiAgICAgIGVsc2UgdGhpcy5yZWxhdGl2ZS5wdXNoKG0pXG4gICAgICBpZiAoY2hpbGRyZW4pIHtcbiAgICAgICAgaWYgKGFic29sdXRlKSB0aGlzLmFic29sdXRlQ2hpbGRyZW4ucHVzaChtKVxuICAgICAgICBlbHNlIHRoaXMucmVsYXRpdmVDaGlsZHJlbi5wdXNoKG0pXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWdub3JlZChwOiBQYXRoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZnVsbHBhdGggPSBwLmZ1bGxwYXRoKClcbiAgICBjb25zdCBmdWxscGF0aHMgPSBgJHtmdWxscGF0aH0vYFxuICAgIGNvbnN0IHJlbGF0aXZlID0gcC5yZWxhdGl2ZSgpIHx8ICcuJ1xuICAgIGNvbnN0IHJlbGF0aXZlcyA9IGAke3JlbGF0aXZlfS9gXG4gICAgZm9yIChjb25zdCBtIG9mIHRoaXMucmVsYXRpdmUpIHtcbiAgICAgIGlmIChtLm1hdGNoKHJlbGF0aXZlKSB8fCBtLm1hdGNoKHJlbGF0aXZlcykpIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGZvciAoY29uc3QgbSBvZiB0aGlzLmFic29sdXRlKSB7XG4gICAgICBpZiAobS5tYXRjaChmdWxscGF0aCkgfHwgbS5tYXRjaChmdWxscGF0aHMpKSByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuXG4gIGNoaWxkcmVuSWdub3JlZChwOiBQYXRoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZnVsbHBhdGggPSBwLmZ1bGxwYXRoKCkgKyAnLydcbiAgICBjb25zdCByZWxhdGl2ZSA9IChwLnJlbGF0aXZlKCkgfHwgJy4nKSArICcvJ1xuICAgIGZvciAoY29uc3QgbSBvZiB0aGlzLnJlbGF0aXZlQ2hpbGRyZW4pIHtcbiAgICAgIGlmIChtLm1hdGNoKHJlbGF0aXZlKSkgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgZm9yIChjb25zdCBtIG9mIHRoaXMuYWJzb2x1dGVDaGlsZHJlbikge1xuICAgICAgaWYgKG0ubWF0Y2goZnVsbHBhdGgpKSByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuIiwgIi8vIHN5bmNocm9ub3VzIHV0aWxpdHkgZm9yIGZpbHRlcmluZyBlbnRyaWVzIGFuZCBjYWxjdWxhdGluZyBzdWJ3YWxrc1xuXG5pbXBvcnQgeyBHTE9CU1RBUiwgTU1SZWdFeHAgfSBmcm9tICdtaW5pbWF0Y2gnXG5pbXBvcnQgeyBQYXRoIH0gZnJvbSAncGF0aC1zY3VycnknXG5pbXBvcnQgeyBNTVBhdHRlcm4sIFBhdHRlcm4gfSBmcm9tICcuL3BhdHRlcm4uanMnXG5pbXBvcnQgeyBHbG9iV2Fsa2VyT3B0cyB9IGZyb20gJy4vd2Fsa2VyLmpzJ1xuXG4vKipcbiAqIEEgY2FjaGUgb2Ygd2hpY2ggcGF0dGVybnMgaGF2ZSBiZWVuIHByb2Nlc3NlZCBmb3IgYSBnaXZlbiBQYXRoXG4gKi9cbmV4cG9ydCBjbGFzcyBIYXNXYWxrZWRDYWNoZSB7XG4gIHN0b3JlOiBNYXA8c3RyaW5nLCBTZXQ8c3RyaW5nPj5cbiAgY29uc3RydWN0b3Ioc3RvcmU6IE1hcDxzdHJpbmcsIFNldDxzdHJpbmc+PiA9IG5ldyBNYXAoKSkge1xuICAgIHRoaXMuc3RvcmUgPSBzdG9yZVxuICB9XG4gIGNvcHkoKSB7XG4gICAgcmV0dXJuIG5ldyBIYXNXYWxrZWRDYWNoZShuZXcgTWFwKHRoaXMuc3RvcmUpKVxuICB9XG4gIGhhc1dhbGtlZCh0YXJnZXQ6IFBhdGgsIHBhdHRlcm46IFBhdHRlcm4pIHtcbiAgICByZXR1cm4gdGhpcy5zdG9yZS5nZXQodGFyZ2V0LmZ1bGxwYXRoKCkpPy5oYXMocGF0dGVybi5nbG9iU3RyaW5nKCkpXG4gIH1cbiAgc3RvcmVXYWxrZWQodGFyZ2V0OiBQYXRoLCBwYXR0ZXJuOiBQYXR0ZXJuKSB7XG4gICAgY29uc3QgZnVsbHBhdGggPSB0YXJnZXQuZnVsbHBhdGgoKVxuICAgIGNvbnN0IGNhY2hlZCA9IHRoaXMuc3RvcmUuZ2V0KGZ1bGxwYXRoKVxuICAgIGlmIChjYWNoZWQpIGNhY2hlZC5hZGQocGF0dGVybi5nbG9iU3RyaW5nKCkpXG4gICAgZWxzZSB0aGlzLnN0b3JlLnNldChmdWxscGF0aCwgbmV3IFNldChbcGF0dGVybi5nbG9iU3RyaW5nKCldKSlcbiAgfVxufVxuXG4vKipcbiAqIEEgcmVjb3JkIG9mIHdoaWNoIHBhdGhzIGhhdmUgYmVlbiBtYXRjaGVkIGluIGEgZ2l2ZW4gd2FsayBzdGVwLFxuICogYW5kIHdoZXRoZXIgdGhleSBvbmx5IGFyZSBjb25zaWRlcmVkIGEgbWF0Y2ggaWYgdGhleSBhcmUgYSBkaXJlY3RvcnksXG4gKiBhbmQgd2hldGhlciB0aGVpciBhYnNvbHV0ZSBvciByZWxhdGl2ZSBwYXRoIHNob3VsZCBiZSByZXR1cm5lZC5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hdGNoUmVjb3JkIHtcbiAgc3RvcmU6IE1hcDxQYXRoLCBudW1iZXI+ID0gbmV3IE1hcCgpXG4gIGFkZCh0YXJnZXQ6IFBhdGgsIGFic29sdXRlOiBib29sZWFuLCBpZkRpcjogYm9vbGVhbikge1xuICAgIGNvbnN0IG4gPSAoYWJzb2x1dGUgPyAyIDogMCkgfCAoaWZEaXIgPyAxIDogMClcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5zdG9yZS5nZXQodGFyZ2V0KVxuICAgIHRoaXMuc3RvcmUuc2V0KHRhcmdldCwgY3VycmVudCA9PT0gdW5kZWZpbmVkID8gbiA6IG4gJiBjdXJyZW50KVxuICB9XG4gIC8vIG1hdGNoLCBhYnNvbHV0ZSwgaWZkaXJcbiAgZW50cmllcygpOiBbUGF0aCwgYm9vbGVhbiwgYm9vbGVhbl1bXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnN0b3JlLmVudHJpZXMoKV0ubWFwKChbcGF0aCwgbl0pID0+IFtcbiAgICAgIHBhdGgsXG4gICAgICAhIShuICYgMiksXG4gICAgICAhIShuICYgMSksXG4gICAgXSlcbiAgfVxufVxuXG4vKipcbiAqIEEgY29sbGVjdGlvbiBvZiBwYXR0ZXJucyB0aGF0IG11c3QgYmUgcHJvY2Vzc2VkIGluIGEgc3Vic2VxdWVudCBzdGVwXG4gKiBmb3IgYSBnaXZlbiBwYXRoLlxuICovXG5leHBvcnQgY2xhc3MgU3ViV2Fsa3Mge1xuICBzdG9yZTogTWFwPFBhdGgsIFBhdHRlcm5bXT4gPSBuZXcgTWFwKClcbiAgYWRkKHRhcmdldDogUGF0aCwgcGF0dGVybjogUGF0dGVybikge1xuICAgIGlmICghdGFyZ2V0LmNhblJlYWRkaXIoKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IHN1YnMgPSB0aGlzLnN0b3JlLmdldCh0YXJnZXQpXG4gICAgaWYgKHN1YnMpIHtcbiAgICAgIGlmICghc3Vicy5maW5kKHAgPT4gcC5nbG9iU3RyaW5nKCkgPT09IHBhdHRlcm4uZ2xvYlN0cmluZygpKSkge1xuICAgICAgICBzdWJzLnB1c2gocGF0dGVybilcbiAgICAgIH1cbiAgICB9IGVsc2UgdGhpcy5zdG9yZS5zZXQodGFyZ2V0LCBbcGF0dGVybl0pXG4gIH1cbiAgZ2V0KHRhcmdldDogUGF0aCk6IFBhdHRlcm5bXSB7XG4gICAgY29uc3Qgc3VicyA9IHRoaXMuc3RvcmUuZ2V0KHRhcmdldClcbiAgICAvKiBjOCBpZ25vcmUgc3RhcnQgKi9cbiAgICBpZiAoIXN1YnMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignYXR0ZW1wdGluZyB0byB3YWxrIHVua25vd24gcGF0aCcpXG4gICAgfVxuICAgIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gICAgcmV0dXJuIHN1YnNcbiAgfVxuICBlbnRyaWVzKCk6IFtQYXRoLCBQYXR0ZXJuW11dW10ge1xuICAgIHJldHVybiB0aGlzLmtleXMoKS5tYXAoayA9PiBbaywgdGhpcy5zdG9yZS5nZXQoaykgYXMgUGF0dGVybltdXSlcbiAgfVxuICBrZXlzKCk6IFBhdGhbXSB7XG4gICAgcmV0dXJuIFsuLi50aGlzLnN0b3JlLmtleXMoKV0uZmlsdGVyKHQgPT4gdC5jYW5SZWFkZGlyKCkpXG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgY2xhc3MgdGhhdCBwcm9jZXNzZXMgcGF0dGVybnMgZm9yIGEgZ2l2ZW4gcGF0aC5cbiAqXG4gKiBIYW5kbGVzIGNoaWxkIGVudHJ5IGZpbHRlcmluZywgYW5kIGRldGVybWluaW5nIHdoZXRoZXIgYSBwYXRoJ3NcbiAqIGRpcmVjdG9yeSBjb250ZW50cyBtdXN0IGJlIHJlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBQcm9jZXNzb3Ige1xuICBoYXNXYWxrZWRDYWNoZTogSGFzV2Fsa2VkQ2FjaGVcbiAgbWF0Y2hlcyA9IG5ldyBNYXRjaFJlY29yZCgpXG4gIHN1YndhbGtzID0gbmV3IFN1YldhbGtzKClcbiAgcGF0dGVybnM/OiBQYXR0ZXJuW11cbiAgZm9sbG93OiBib29sZWFuXG4gIGRvdDogYm9vbGVhblxuICBvcHRzOiBHbG9iV2Fsa2VyT3B0c1xuXG4gIGNvbnN0cnVjdG9yKG9wdHM6IEdsb2JXYWxrZXJPcHRzLCBoYXNXYWxrZWRDYWNoZT86IEhhc1dhbGtlZENhY2hlKSB7XG4gICAgdGhpcy5vcHRzID0gb3B0c1xuICAgIHRoaXMuZm9sbG93ID0gISFvcHRzLmZvbGxvd1xuICAgIHRoaXMuZG90ID0gISFvcHRzLmRvdFxuICAgIHRoaXMuaGFzV2Fsa2VkQ2FjaGUgPVxuICAgICAgaGFzV2Fsa2VkQ2FjaGUgPyBoYXNXYWxrZWRDYWNoZS5jb3B5KCkgOiBuZXcgSGFzV2Fsa2VkQ2FjaGUoKVxuICB9XG5cbiAgcHJvY2Vzc1BhdHRlcm5zKHRhcmdldDogUGF0aCwgcGF0dGVybnM6IFBhdHRlcm5bXSkge1xuICAgIHRoaXMucGF0dGVybnMgPSBwYXR0ZXJuc1xuICAgIGNvbnN0IHByb2Nlc3NpbmdTZXQ6IFtQYXRoLCBQYXR0ZXJuXVtdID0gcGF0dGVybnMubWFwKHAgPT4gW3RhcmdldCwgcF0pXG5cbiAgICAvLyBtYXAgb2YgcGF0aHMgdG8gdGhlIG1hZ2ljLXN0YXJ0aW5nIHN1YndhbGtzIHRoZXkgbmVlZCB0byB3YWxrXG4gICAgLy8gZmlyc3QgaXRlbSBpbiBwYXR0ZXJucyBpcyB0aGUgZmlsdGVyXG5cbiAgICBmb3IgKGxldCBbdCwgcGF0dGVybl0gb2YgcHJvY2Vzc2luZ1NldCkge1xuICAgICAgdGhpcy5oYXNXYWxrZWRDYWNoZS5zdG9yZVdhbGtlZCh0LCBwYXR0ZXJuKVxuXG4gICAgICBjb25zdCByb290ID0gcGF0dGVybi5yb290KClcbiAgICAgIGNvbnN0IGFic29sdXRlID0gcGF0dGVybi5pc0Fic29sdXRlKCkgJiYgdGhpcy5vcHRzLmFic29sdXRlICE9PSBmYWxzZVxuXG4gICAgICAvLyBzdGFydCBhYnNvbHV0ZSBwYXR0ZXJucyBhdCByb290XG4gICAgICBpZiAocm9vdCkge1xuICAgICAgICB0ID0gdC5yZXNvbHZlKFxuICAgICAgICAgIHJvb3QgPT09ICcvJyAmJiB0aGlzLm9wdHMucm9vdCAhPT0gdW5kZWZpbmVkID9cbiAgICAgICAgICAgIHRoaXMub3B0cy5yb290XG4gICAgICAgICAgOiByb290LFxuICAgICAgICApXG4gICAgICAgIGNvbnN0IHJlc3QgPSBwYXR0ZXJuLnJlc3QoKVxuICAgICAgICBpZiAoIXJlc3QpIHtcbiAgICAgICAgICB0aGlzLm1hdGNoZXMuYWRkKHQsIHRydWUsIGZhbHNlKVxuICAgICAgICAgIGNvbnRpbnVlXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcGF0dGVybiA9IHJlc3RcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAodC5pc0VOT0VOVCgpKSBjb250aW51ZVxuXG4gICAgICBsZXQgcDogTU1QYXR0ZXJuXG4gICAgICBsZXQgcmVzdDogUGF0dGVybiB8IG51bGxcbiAgICAgIGxldCBjaGFuZ2VkID0gZmFsc2VcbiAgICAgIHdoaWxlIChcbiAgICAgICAgdHlwZW9mIChwID0gcGF0dGVybi5wYXR0ZXJuKCkpID09PSAnc3RyaW5nJyAmJlxuICAgICAgICAocmVzdCA9IHBhdHRlcm4ucmVzdCgpKVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGMgPSB0LnJlc29sdmUocClcbiAgICAgICAgdCA9IGNcbiAgICAgICAgcGF0dGVybiA9IHJlc3RcbiAgICAgICAgY2hhbmdlZCA9IHRydWVcbiAgICAgIH1cbiAgICAgIHAgPSBwYXR0ZXJuLnBhdHRlcm4oKVxuICAgICAgcmVzdCA9IHBhdHRlcm4ucmVzdCgpXG4gICAgICBpZiAoY2hhbmdlZCkge1xuICAgICAgICBpZiAodGhpcy5oYXNXYWxrZWRDYWNoZS5oYXNXYWxrZWQodCwgcGF0dGVybikpIGNvbnRpbnVlXG4gICAgICAgIHRoaXMuaGFzV2Fsa2VkQ2FjaGUuc3RvcmVXYWxrZWQodCwgcGF0dGVybilcbiAgICAgIH1cblxuICAgICAgLy8gbm93IHdlIGhhdmUgZWl0aGVyIGEgZmluYWwgc3RyaW5nIGZvciBhIGtub3duIGVudHJ5LFxuICAgICAgLy8gbW9yZSBzdHJpbmdzIGZvciBhbiB1bmtub3duIGVudHJ5LFxuICAgICAgLy8gb3IgYSBwYXR0ZXJuIHN0YXJ0aW5nIHdpdGggbWFnaWMsIG1vdW50ZWQgb24gdC5cbiAgICAgIGlmICh0eXBlb2YgcCA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgLy8gbXVzdCBub3QgYmUgZmluYWwgZW50cnksIG90aGVyd2lzZSB3ZSB3b3VsZCBoYXZlXG4gICAgICAgIC8vIGNvbmNhdGVuYXRlZCBpdCBlYXJsaWVyLlxuICAgICAgICBjb25zdCBpZkRpciA9IHAgPT09ICcuLicgfHwgcCA9PT0gJycgfHwgcCA9PT0gJy4nXG4gICAgICAgIHRoaXMubWF0Y2hlcy5hZGQodC5yZXNvbHZlKHApLCBhYnNvbHV0ZSwgaWZEaXIpXG4gICAgICAgIGNvbnRpbnVlXG4gICAgICB9IGVsc2UgaWYgKHAgPT09IEdMT0JTVEFSKSB7XG4gICAgICAgIC8vIGlmIG5vIHJlc3QsIG1hdGNoIGFuZCBzdWJ3YWxrIHBhdHRlcm5cbiAgICAgICAgLy8gaWYgcmVzdCwgcHJvY2VzcyByZXN0IGFuZCBzdWJ3YWxrIHBhdHRlcm5cbiAgICAgICAgLy8gaWYgaXQncyBhIHN5bWxpbmssIGJ1dCB3ZSBkaWRuJ3QgZ2V0IGhlcmUgYnkgd2F5IG9mIGFcbiAgICAgICAgLy8gZ2xvYnN0YXIgbWF0Y2ggKG1lYW5pbmcgaXQncyB0aGUgZmlyc3QgdGltZSBUSElTIGdsb2JzdGFyXG4gICAgICAgIC8vIGhhcyB0cmF2ZXJzZWQgYSBzeW1saW5rKSwgdGhlbiB3ZSBmb2xsb3cgaXQuIE90aGVyd2lzZSwgc3RvcC5cbiAgICAgICAgaWYgKFxuICAgICAgICAgICF0LmlzU3ltYm9saWNMaW5rKCkgfHxcbiAgICAgICAgICB0aGlzLmZvbGxvdyB8fFxuICAgICAgICAgIHBhdHRlcm4uY2hlY2tGb2xsb3dHbG9ic3RhcigpXG4gICAgICAgICkge1xuICAgICAgICAgIHRoaXMuc3Vid2Fsa3MuYWRkKHQsIHBhdHRlcm4pXG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgcnAgPSByZXN0Py5wYXR0ZXJuKClcbiAgICAgICAgY29uc3QgcnJlc3QgPSByZXN0Py5yZXN0KClcbiAgICAgICAgaWYgKCFyZXN0IHx8ICgocnAgPT09ICcnIHx8IHJwID09PSAnLicpICYmICFycmVzdCkpIHtcbiAgICAgICAgICAvLyBvbmx5IEhBUyB0byBiZSBhIGRpciBpZiBpdCBlbmRzIGluICoqLyBvciAqKi8uXG4gICAgICAgICAgLy8gYnV0IGVuZGluZyBpbiAqKiB3aWxsIG1hdGNoIGZpbGVzIGFzIHdlbGwuXG4gICAgICAgICAgdGhpcy5tYXRjaGVzLmFkZCh0LCBhYnNvbHV0ZSwgcnAgPT09ICcnIHx8IHJwID09PSAnLicpXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgaWYgKHJwID09PSAnLi4nKSB7XG4gICAgICAgICAgICAvLyB0aGlzIHdvdWxkIG1lYW4geW91J3JlIG1hdGNoaW5nICoqLy4uIGF0IHRoZSBmcyByb290LFxuICAgICAgICAgICAgLy8gYW5kIG5vIHRoYW5rcywgSSdtIG5vdCBnb25uYSB0ZXN0IHRoYXQgc3BlY2lmaWMgY2FzZS5cbiAgICAgICAgICAgIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICAgICAgICAgICAgY29uc3QgdHAgPSB0LnBhcmVudCB8fCB0XG4gICAgICAgICAgICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuICAgICAgICAgICAgaWYgKCFycmVzdCkgdGhpcy5tYXRjaGVzLmFkZCh0cCwgYWJzb2x1dGUsIHRydWUpXG4gICAgICAgICAgICBlbHNlIGlmICghdGhpcy5oYXNXYWxrZWRDYWNoZS5oYXNXYWxrZWQodHAsIHJyZXN0KSkge1xuICAgICAgICAgICAgICB0aGlzLnN1YndhbGtzLmFkZCh0cCwgcnJlc3QpXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHAgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgdGhpcy5zdWJ3YWxrcy5hZGQodCwgcGF0dGVybilcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgc3Vid2Fsa1RhcmdldHMoKTogUGF0aFtdIHtcbiAgICByZXR1cm4gdGhpcy5zdWJ3YWxrcy5rZXlzKClcbiAgfVxuXG4gIGNoaWxkKCkge1xuICAgIHJldHVybiBuZXcgUHJvY2Vzc29yKHRoaXMub3B0cywgdGhpcy5oYXNXYWxrZWRDYWNoZSlcbiAgfVxuXG4gIC8vIHJldHVybiBhIG5ldyBQcm9jZXNzb3IgY29udGFpbmluZyB0aGUgc3Vid2Fsa3MgZm9yIGVhY2hcbiAgLy8gY2hpbGQgZW50cnksIGFuZCBhIHNldCBvZiBtYXRjaGVzLCBhbmRcbiAgLy8gYSBoYXNXYWxrZWRDYWNoZSB0aGF0J3MgYSBjb3B5IG9mIHRoaXMgb25lXG4gIC8vIHRoZW4gd2UncmUgZ29pbmcgdG8gY2FsbFxuICBmaWx0ZXJFbnRyaWVzKHBhcmVudDogUGF0aCwgZW50cmllczogUGF0aFtdKTogUHJvY2Vzc29yIHtcbiAgICBjb25zdCBwYXR0ZXJucyA9IHRoaXMuc3Vid2Fsa3MuZ2V0KHBhcmVudClcbiAgICAvLyBwdXQgbWF0Y2hlcyBhbmQgZW50cnkgd2Fsa3MgaW50byB0aGUgcmVzdWx0cyBwcm9jZXNzb3JcbiAgICBjb25zdCByZXN1bHRzID0gdGhpcy5jaGlsZCgpXG4gICAgZm9yIChjb25zdCBlIG9mIGVudHJpZXMpIHtcbiAgICAgIGZvciAoY29uc3QgcGF0dGVybiBvZiBwYXR0ZXJucykge1xuICAgICAgICBjb25zdCBhYnNvbHV0ZSA9IHBhdHRlcm4uaXNBYnNvbHV0ZSgpXG4gICAgICAgIGNvbnN0IHAgPSBwYXR0ZXJuLnBhdHRlcm4oKVxuICAgICAgICBjb25zdCByZXN0ID0gcGF0dGVybi5yZXN0KClcbiAgICAgICAgaWYgKHAgPT09IEdMT0JTVEFSKSB7XG4gICAgICAgICAgcmVzdWx0cy50ZXN0R2xvYnN0YXIoZSwgcGF0dGVybiwgcmVzdCwgYWJzb2x1dGUpXG4gICAgICAgIH0gZWxzZSBpZiAocCBpbnN0YW5jZW9mIFJlZ0V4cCkge1xuICAgICAgICAgIHJlc3VsdHMudGVzdFJlZ0V4cChlLCBwLCByZXN0LCBhYnNvbHV0ZSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXN1bHRzLnRlc3RTdHJpbmcoZSwgcCwgcmVzdCwgYWJzb2x1dGUpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc3VsdHNcbiAgfVxuXG4gIHRlc3RHbG9ic3RhcihcbiAgICBlOiBQYXRoLFxuICAgIHBhdHRlcm46IFBhdHRlcm4sXG4gICAgcmVzdDogUGF0dGVybiB8IG51bGwsXG4gICAgYWJzb2x1dGU6IGJvb2xlYW4sXG4gICkge1xuICAgIGlmICh0aGlzLmRvdCB8fCAhZS5uYW1lLnN0YXJ0c1dpdGgoJy4nKSkge1xuICAgICAgaWYgKCFwYXR0ZXJuLmhhc01vcmUoKSkge1xuICAgICAgICB0aGlzLm1hdGNoZXMuYWRkKGUsIGFic29sdXRlLCBmYWxzZSlcbiAgICAgIH1cbiAgICAgIGlmIChlLmNhblJlYWRkaXIoKSkge1xuICAgICAgICAvLyBpZiB3ZSdyZSBpbiBmb2xsb3cgbW9kZSBvciBpdCdzIG5vdCBhIHN5bWxpbmssIGp1c3Qga2VlcFxuICAgICAgICAvLyB0ZXN0aW5nIHRoZSBzYW1lIHBhdHRlcm4uIElmIHRoZXJlJ3MgbW9yZSBhZnRlciB0aGUgZ2xvYnN0YXIsXG4gICAgICAgIC8vIHRoZW4gdGhpcyBzeW1saW5rIGNvbnN1bWVzIHRoZSBnbG9ic3Rhci4gSWYgbm90LCB0aGVuIHdlIGNhblxuICAgICAgICAvLyBmb2xsb3cgYXQgbW9zdCBPTkUgc3ltbGluayBhbG9uZyB0aGUgd2F5LCBzbyB3ZSBtYXJrIGl0LCB3aGljaFxuICAgICAgICAvLyBhbHNvIGNoZWNrcyB0byBlbnN1cmUgdGhhdCBpdCB3YXNuJ3QgYWxyZWFkeSBtYXJrZWQuXG4gICAgICAgIGlmICh0aGlzLmZvbGxvdyB8fCAhZS5pc1N5bWJvbGljTGluaygpKSB7XG4gICAgICAgICAgdGhpcy5zdWJ3YWxrcy5hZGQoZSwgcGF0dGVybilcbiAgICAgICAgfSBlbHNlIGlmIChlLmlzU3ltYm9saWNMaW5rKCkpIHtcbiAgICAgICAgICBpZiAocmVzdCAmJiBwYXR0ZXJuLmNoZWNrRm9sbG93R2xvYnN0YXIoKSkge1xuICAgICAgICAgICAgdGhpcy5zdWJ3YWxrcy5hZGQoZSwgcmVzdClcbiAgICAgICAgICB9IGVsc2UgaWYgKHBhdHRlcm4ubWFya0ZvbGxvd0dsb2JzdGFyKCkpIHtcbiAgICAgICAgICAgIHRoaXMuc3Vid2Fsa3MuYWRkKGUsIHBhdHRlcm4pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC8vIGlmIHRoZSBORVhUIHRoaW5nIG1hdGNoZXMgdGhpcyBlbnRyeSwgdGhlbiBhbHNvIGFkZFxuICAgIC8vIHRoZSByZXN0LlxuICAgIGlmIChyZXN0KSB7XG4gICAgICBjb25zdCBycCA9IHJlc3QucGF0dGVybigpXG4gICAgICBpZiAoXG4gICAgICAgIHR5cGVvZiBycCA9PT0gJ3N0cmluZycgJiZcbiAgICAgICAgLy8gZG90cyBhbmQgZW1wdHkgd2VyZSBoYW5kbGVkIGFscmVhZHlcbiAgICAgICAgcnAgIT09ICcuLicgJiZcbiAgICAgICAgcnAgIT09ICcnICYmXG4gICAgICAgIHJwICE9PSAnLidcbiAgICAgICkge1xuICAgICAgICB0aGlzLnRlc3RTdHJpbmcoZSwgcnAsIHJlc3QucmVzdCgpLCBhYnNvbHV0ZSlcbiAgICAgIH0gZWxzZSBpZiAocnAgPT09ICcuLicpIHtcbiAgICAgICAgLyogYzggaWdub3JlIHN0YXJ0ICovXG4gICAgICAgIGNvbnN0IGVwID0gZS5wYXJlbnQgfHwgZVxuICAgICAgICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuICAgICAgICB0aGlzLnN1YndhbGtzLmFkZChlcCwgcmVzdClcbiAgICAgIH0gZWxzZSBpZiAocnAgaW5zdGFuY2VvZiBSZWdFeHApIHtcbiAgICAgICAgdGhpcy50ZXN0UmVnRXhwKGUsIHJwLCByZXN0LnJlc3QoKSwgYWJzb2x1dGUpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGVzdFJlZ0V4cChcbiAgICBlOiBQYXRoLFxuICAgIHA6IE1NUmVnRXhwLFxuICAgIHJlc3Q6IFBhdHRlcm4gfCBudWxsLFxuICAgIGFic29sdXRlOiBib29sZWFuLFxuICApIHtcbiAgICBpZiAoIXAudGVzdChlLm5hbWUpKSByZXR1cm5cbiAgICBpZiAoIXJlc3QpIHtcbiAgICAgIHRoaXMubWF0Y2hlcy5hZGQoZSwgYWJzb2x1dGUsIGZhbHNlKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN1YndhbGtzLmFkZChlLCByZXN0KVxuICAgIH1cbiAgfVxuXG4gIHRlc3RTdHJpbmcoZTogUGF0aCwgcDogc3RyaW5nLCByZXN0OiBQYXR0ZXJuIHwgbnVsbCwgYWJzb2x1dGU6IGJvb2xlYW4pIHtcbiAgICAvLyBzaG91bGQgbmV2ZXIgaGFwcGVuP1xuICAgIGlmICghZS5pc05hbWVkKHApKSByZXR1cm5cbiAgICBpZiAoIXJlc3QpIHtcbiAgICAgIHRoaXMubWF0Y2hlcy5hZGQoZSwgYWJzb2x1dGUsIGZhbHNlKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnN1YndhbGtzLmFkZChlLCByZXN0KVxuICAgIH1cbiAgfVxufVxuIiwgIi8qKlxuICogU2luZ2xlLXVzZSB1dGlsaXR5IGNsYXNzZXMgdG8gcHJvdmlkZSBmdW5jdGlvbmFsaXR5IHRvIHRoZSB7QGxpbmsgR2xvYn1cbiAqIG1ldGhvZHMuXG4gKlxuICogQG1vZHVsZVxuICovXG5pbXBvcnQgeyBNaW5pcGFzcyB9IGZyb20gJ21pbmlwYXNzJ1xuaW1wb3J0IHsgUGF0aCB9IGZyb20gJ3BhdGgtc2N1cnJ5J1xuaW1wb3J0IHsgSWdub3JlLCBJZ25vcmVMaWtlIH0gZnJvbSAnLi9pZ25vcmUuanMnXG5cbi8vIFhYWCBjYW4gd2Ugc29tZWhvdyBtYWtlIGl0IHNvIHRoYXQgaXQgTkVWRVIgcHJvY2Vzc2VzIGEgZ2l2ZW4gcGF0aCBtb3JlIHRoYW5cbi8vIG9uY2UsIGVub3VnaCB0aGF0IHRoZSBtYXRjaCBzZXQgdHJhY2tpbmcgaXMgbm8gbG9uZ2VyIG5lZWRlZD8gIHRoYXQnZCBzcGVlZFxuLy8gdGhpbmdzIHVwIGEgbG90LiAgT3IgbWF5YmUgYnJpbmcgYmFjayBub3VuaXF1ZSwgYW5kIHNraXAgaXQgaW4gdGhhdCBjYXNlP1xuXG4vLyBhIHNpbmdsZSBtaW5pbWF0Y2ggc2V0IGVudHJ5IHdpdGggMSBvciBtb3JlIHBhcnRzXG5pbXBvcnQgeyBQYXR0ZXJuIH0gZnJvbSAnLi9wYXR0ZXJuLmpzJ1xuaW1wb3J0IHsgUHJvY2Vzc29yIH0gZnJvbSAnLi9wcm9jZXNzb3IuanMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgR2xvYldhbGtlck9wdHMge1xuICBhYnNvbHV0ZT86IGJvb2xlYW5cbiAgYWxsb3dXaW5kb3dzRXNjYXBlPzogYm9vbGVhblxuICBjd2Q/OiBzdHJpbmcgfCBVUkxcbiAgZG90PzogYm9vbGVhblxuICBkb3RSZWxhdGl2ZT86IGJvb2xlYW5cbiAgZm9sbG93PzogYm9vbGVhblxuICBpZ25vcmU/OiBzdHJpbmcgfCBzdHJpbmdbXSB8IElnbm9yZUxpa2VcbiAgbWFyaz86IGJvb2xlYW5cbiAgbWF0Y2hCYXNlPzogYm9vbGVhblxuICAvLyBOb3RlOiBtYXhEZXB0aCBoZXJlIG1lYW5zIFwibWF4aW11bSBhY3R1YWwgUGF0aC5kZXB0aCgpXCIsXG4gIC8vIG5vdCBcIm1heGltdW0gZGVwdGggYmV5b25kIGN3ZFwiXG4gIG1heERlcHRoPzogbnVtYmVyXG4gIG5vYnJhY2U/OiBib29sZWFuXG4gIG5vY2FzZT86IGJvb2xlYW5cbiAgbm9kaXI/OiBib29sZWFuXG4gIG5vZXh0PzogYm9vbGVhblxuICBub2dsb2JzdGFyPzogYm9vbGVhblxuICBwbGF0Zm9ybT86IE5vZGVKUy5QbGF0Zm9ybVxuICBwb3NpeD86IGJvb2xlYW5cbiAgcmVhbHBhdGg/OiBib29sZWFuXG4gIHJvb3Q/OiBzdHJpbmdcbiAgc3RhdD86IGJvb2xlYW5cbiAgc2lnbmFsPzogQWJvcnRTaWduYWxcbiAgd2luZG93c1BhdGhzTm9Fc2NhcGU/OiBib29sZWFuXG4gIHdpdGhGaWxlVHlwZXM/OiBib29sZWFuXG4gIGluY2x1ZGVDaGlsZE1hdGNoZXM/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIEdXT0ZpbGVUeXBlc1RydWUgPSBHbG9iV2Fsa2VyT3B0cyAmIHtcbiAgd2l0aEZpbGVUeXBlczogdHJ1ZVxufVxuZXhwb3J0IHR5cGUgR1dPRmlsZVR5cGVzRmFsc2UgPSBHbG9iV2Fsa2VyT3B0cyAmIHtcbiAgd2l0aEZpbGVUeXBlczogZmFsc2Vcbn1cbmV4cG9ydCB0eXBlIEdXT0ZpbGVUeXBlc1Vuc2V0ID0gR2xvYldhbGtlck9wdHMgJiB7XG4gIHdpdGhGaWxlVHlwZXM/OiB1bmRlZmluZWRcbn1cblxuZXhwb3J0IHR5cGUgUmVzdWx0PE8gZXh0ZW5kcyBHbG9iV2Fsa2VyT3B0cz4gPVxuICBPIGV4dGVuZHMgR1dPRmlsZVR5cGVzVHJ1ZSA/IFBhdGhcbiAgOiBPIGV4dGVuZHMgR1dPRmlsZVR5cGVzRmFsc2UgPyBzdHJpbmdcbiAgOiBPIGV4dGVuZHMgR1dPRmlsZVR5cGVzVW5zZXQgPyBzdHJpbmdcbiAgOiBQYXRoIHwgc3RyaW5nXG5cbmV4cG9ydCB0eXBlIE1hdGNoZXM8TyBleHRlbmRzIEdsb2JXYWxrZXJPcHRzPiA9XG4gIE8gZXh0ZW5kcyBHV09GaWxlVHlwZXNUcnVlID8gU2V0PFBhdGg+XG4gIDogTyBleHRlbmRzIEdXT0ZpbGVUeXBlc0ZhbHNlID8gU2V0PHN0cmluZz5cbiAgOiBPIGV4dGVuZHMgR1dPRmlsZVR5cGVzVW5zZXQgPyBTZXQ8c3RyaW5nPlxuICA6IFNldDxQYXRoIHwgc3RyaW5nPlxuXG5leHBvcnQgdHlwZSBNYXRjaFN0cmVhbTxPIGV4dGVuZHMgR2xvYldhbGtlck9wdHM+ID0gTWluaXBhc3M8XG4gIFJlc3VsdDxPPixcbiAgUmVzdWx0PE8+XG4+XG5cbmNvbnN0IG1ha2VJZ25vcmUgPSAoXG4gIGlnbm9yZTogc3RyaW5nIHwgc3RyaW5nW10gfCBJZ25vcmVMaWtlLFxuICBvcHRzOiBHbG9iV2Fsa2VyT3B0cyxcbik6IElnbm9yZUxpa2UgPT5cbiAgdHlwZW9mIGlnbm9yZSA9PT0gJ3N0cmluZycgPyBuZXcgSWdub3JlKFtpZ25vcmVdLCBvcHRzKVxuICA6IEFycmF5LmlzQXJyYXkoaWdub3JlKSA/IG5ldyBJZ25vcmUoaWdub3JlLCBvcHRzKVxuICA6IGlnbm9yZVxuXG4vKipcbiAqIGJhc2ljIHdhbGtpbmcgdXRpbGl0aWVzIHRoYXQgYWxsIHRoZSBnbG9iIHdhbGtlciB0eXBlcyB1c2VcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEdsb2JVdGlsPE8gZXh0ZW5kcyBHbG9iV2Fsa2VyT3B0cyA9IEdsb2JXYWxrZXJPcHRzPiB7XG4gIHBhdGg6IFBhdGhcbiAgcGF0dGVybnM6IFBhdHRlcm5bXVxuICBvcHRzOiBPXG4gIHNlZW46IFNldDxQYXRoPiA9IG5ldyBTZXQ8UGF0aD4oKVxuICBwYXVzZWQ6IGJvb2xlYW4gPSBmYWxzZVxuICBhYm9ydGVkOiBib29sZWFuID0gZmFsc2VcbiAgI29uUmVzdW1lOiAoKCkgPT4gYW55KVtdID0gW11cbiAgI2lnbm9yZT86IElnbm9yZUxpa2VcbiAgI3NlcDogJ1xcXFwnIHwgJy8nXG4gIHNpZ25hbD86IEFib3J0U2lnbmFsXG4gIG1heERlcHRoOiBudW1iZXJcbiAgaW5jbHVkZUNoaWxkTWF0Y2hlczogYm9vbGVhblxuXG4gIGNvbnN0cnVjdG9yKHBhdHRlcm5zOiBQYXR0ZXJuW10sIHBhdGg6IFBhdGgsIG9wdHM6IE8pXG4gIGNvbnN0cnVjdG9yKHBhdHRlcm5zOiBQYXR0ZXJuW10sIHBhdGg6IFBhdGgsIG9wdHM6IE8pIHtcbiAgICB0aGlzLnBhdHRlcm5zID0gcGF0dGVybnNcbiAgICB0aGlzLnBhdGggPSBwYXRoXG4gICAgdGhpcy5vcHRzID0gb3B0c1xuICAgIHRoaXMuI3NlcCA9ICFvcHRzLnBvc2l4ICYmIG9wdHMucGxhdGZvcm0gPT09ICd3aW4zMicgPyAnXFxcXCcgOiAnLydcbiAgICB0aGlzLmluY2x1ZGVDaGlsZE1hdGNoZXMgPSBvcHRzLmluY2x1ZGVDaGlsZE1hdGNoZXMgIT09IGZhbHNlXG4gICAgaWYgKG9wdHMuaWdub3JlIHx8ICF0aGlzLmluY2x1ZGVDaGlsZE1hdGNoZXMpIHtcbiAgICAgIHRoaXMuI2lnbm9yZSA9IG1ha2VJZ25vcmUob3B0cy5pZ25vcmUgPz8gW10sIG9wdHMpXG4gICAgICBpZiAoXG4gICAgICAgICF0aGlzLmluY2x1ZGVDaGlsZE1hdGNoZXMgJiZcbiAgICAgICAgdHlwZW9mIHRoaXMuI2lnbm9yZS5hZGQgIT09ICdmdW5jdGlvbidcbiAgICAgICkge1xuICAgICAgICBjb25zdCBtID0gJ2Nhbm5vdCBpZ25vcmUgY2hpbGQgbWF0Y2hlcywgaWdub3JlIGxhY2tzIGFkZCgpIG1ldGhvZC4nXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihtKVxuICAgICAgfVxuICAgIH1cbiAgICAvLyBpZ25vcmUsIGFsd2F5cyBzZXQgd2l0aCBtYXhEZXB0aCwgYnV0IGl0J3Mgb3B0aW9uYWwgb24gdGhlXG4gICAgLy8gR2xvYk9wdGlvbnMgdHlwZVxuICAgIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICAgIHRoaXMubWF4RGVwdGggPSBvcHRzLm1heERlcHRoIHx8IEluZmluaXR5XG4gICAgLyogYzggaWdub3JlIHN0b3AgKi9cbiAgICBpZiAob3B0cy5zaWduYWwpIHtcbiAgICAgIHRoaXMuc2lnbmFsID0gb3B0cy5zaWduYWxcbiAgICAgIHRoaXMuc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCkgPT4ge1xuICAgICAgICB0aGlzLiNvblJlc3VtZS5sZW5ndGggPSAwXG4gICAgICB9KVxuICAgIH1cbiAgfVxuXG4gICNpZ25vcmVkKHBhdGg6IFBhdGgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5zZWVuLmhhcyhwYXRoKSB8fCAhIXRoaXMuI2lnbm9yZT8uaWdub3JlZD8uKHBhdGgpXG4gIH1cbiAgI2NoaWxkcmVuSWdub3JlZChwYXRoOiBQYXRoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy4jaWdub3JlPy5jaGlsZHJlbklnbm9yZWQ/LihwYXRoKVxuICB9XG5cbiAgLy8gYmFja3ByZXNzdXJlIG1lY2hhbmlzbVxuICBwYXVzZSgpIHtcbiAgICB0aGlzLnBhdXNlZCA9IHRydWVcbiAgfVxuICByZXN1bWUoKSB7XG4gICAgLyogYzggaWdub3JlIHN0YXJ0ICovXG4gICAgaWYgKHRoaXMuc2lnbmFsPy5hYm9ydGVkKSByZXR1cm5cbiAgICAvKiBjOCBpZ25vcmUgc3RvcCAqL1xuICAgIHRoaXMucGF1c2VkID0gZmFsc2VcbiAgICBsZXQgZm46ICgoKSA9PiBhbnkpIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkXG4gICAgd2hpbGUgKCF0aGlzLnBhdXNlZCAmJiAoZm4gPSB0aGlzLiNvblJlc3VtZS5zaGlmdCgpKSkge1xuICAgICAgZm4oKVxuICAgIH1cbiAgfVxuICBvblJlc3VtZShmbjogKCkgPT4gYW55KSB7XG4gICAgaWYgKHRoaXMuc2lnbmFsPy5hYm9ydGVkKSByZXR1cm5cbiAgICAvKiBjOCBpZ25vcmUgc3RhcnQgKi9cbiAgICBpZiAoIXRoaXMucGF1c2VkKSB7XG4gICAgICBmbigpXG4gICAgfSBlbHNlIHtcbiAgICAgIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gICAgICB0aGlzLiNvblJlc3VtZS5wdXNoKGZuKVxuICAgIH1cbiAgfVxuXG4gIC8vIGRvIHRoZSByZXF1aXNpdGUgcmVhbHBhdGgvc3RhdCBjaGVja2luZywgYW5kIHJldHVybiB0aGUgcGF0aFxuICAvLyB0byBhZGQgb3IgdW5kZWZpbmVkIHRvIGZpbHRlciBpdCBvdXQuXG4gIGFzeW5jIG1hdGNoQ2hlY2soZTogUGF0aCwgaWZEaXI6IGJvb2xlYW4pOiBQcm9taXNlPFBhdGggfCB1bmRlZmluZWQ+IHtcbiAgICBpZiAoaWZEaXIgJiYgdGhpcy5vcHRzLm5vZGlyKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgbGV0IHJwYzogUGF0aCB8IHVuZGVmaW5lZFxuICAgIGlmICh0aGlzLm9wdHMucmVhbHBhdGgpIHtcbiAgICAgIHJwYyA9IGUucmVhbHBhdGhDYWNoZWQoKSB8fCAoYXdhaXQgZS5yZWFscGF0aCgpKVxuICAgICAgaWYgKCFycGMpIHJldHVybiB1bmRlZmluZWRcbiAgICAgIGUgPSBycGNcbiAgICB9XG4gICAgY29uc3QgbmVlZFN0YXQgPSBlLmlzVW5rbm93bigpIHx8IHRoaXMub3B0cy5zdGF0XG4gICAgY29uc3QgcyA9IG5lZWRTdGF0ID8gYXdhaXQgZS5sc3RhdCgpIDogZVxuICAgIGlmICh0aGlzLm9wdHMuZm9sbG93ICYmIHRoaXMub3B0cy5ub2RpciAmJiBzPy5pc1N5bWJvbGljTGluaygpKSB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBhd2FpdCBzLnJlYWxwYXRoKClcbiAgICAgIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICAgICAgaWYgKHRhcmdldCAmJiAodGFyZ2V0LmlzVW5rbm93bigpIHx8IHRoaXMub3B0cy5zdGF0KSkge1xuICAgICAgICBhd2FpdCB0YXJnZXQubHN0YXQoKVxuICAgICAgfVxuICAgICAgLyogYzggaWdub3JlIHN0b3AgKi9cbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubWF0Y2hDaGVja1Rlc3QocywgaWZEaXIpXG4gIH1cblxuICBtYXRjaENoZWNrVGVzdChlOiBQYXRoIHwgdW5kZWZpbmVkLCBpZkRpcjogYm9vbGVhbik6IFBhdGggfCB1bmRlZmluZWQge1xuICAgIHJldHVybiAoXG4gICAgICAgIGUgJiZcbiAgICAgICAgICAodGhpcy5tYXhEZXB0aCA9PT0gSW5maW5pdHkgfHwgZS5kZXB0aCgpIDw9IHRoaXMubWF4RGVwdGgpICYmXG4gICAgICAgICAgKCFpZkRpciB8fCBlLmNhblJlYWRkaXIoKSkgJiZcbiAgICAgICAgICAoIXRoaXMub3B0cy5ub2RpciB8fCAhZS5pc0RpcmVjdG9yeSgpKSAmJlxuICAgICAgICAgICghdGhpcy5vcHRzLm5vZGlyIHx8XG4gICAgICAgICAgICAhdGhpcy5vcHRzLmZvbGxvdyB8fFxuICAgICAgICAgICAgIWUuaXNTeW1ib2xpY0xpbmsoKSB8fFxuICAgICAgICAgICAgIWUucmVhbHBhdGhDYWNoZWQoKT8uaXNEaXJlY3RvcnkoKSkgJiZcbiAgICAgICAgICAhdGhpcy4jaWdub3JlZChlKVxuICAgICAgKSA/XG4gICAgICAgIGVcbiAgICAgIDogdW5kZWZpbmVkXG4gIH1cblxuICBtYXRjaENoZWNrU3luYyhlOiBQYXRoLCBpZkRpcjogYm9vbGVhbik6IFBhdGggfCB1bmRlZmluZWQge1xuICAgIGlmIChpZkRpciAmJiB0aGlzLm9wdHMubm9kaXIpIHJldHVybiB1bmRlZmluZWRcbiAgICBsZXQgcnBjOiBQYXRoIHwgdW5kZWZpbmVkXG4gICAgaWYgKHRoaXMub3B0cy5yZWFscGF0aCkge1xuICAgICAgcnBjID0gZS5yZWFscGF0aENhY2hlZCgpIHx8IGUucmVhbHBhdGhTeW5jKClcbiAgICAgIGlmICghcnBjKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgICBlID0gcnBjXG4gICAgfVxuICAgIGNvbnN0IG5lZWRTdGF0ID0gZS5pc1Vua25vd24oKSB8fCB0aGlzLm9wdHMuc3RhdFxuICAgIGNvbnN0IHMgPSBuZWVkU3RhdCA/IGUubHN0YXRTeW5jKCkgOiBlXG4gICAgaWYgKHRoaXMub3B0cy5mb2xsb3cgJiYgdGhpcy5vcHRzLm5vZGlyICYmIHM/LmlzU3ltYm9saWNMaW5rKCkpIHtcbiAgICAgIGNvbnN0IHRhcmdldCA9IHMucmVhbHBhdGhTeW5jKClcbiAgICAgIGlmICh0YXJnZXQgJiYgKHRhcmdldD8uaXNVbmtub3duKCkgfHwgdGhpcy5vcHRzLnN0YXQpKSB7XG4gICAgICAgIHRhcmdldC5sc3RhdFN5bmMoKVxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5tYXRjaENoZWNrVGVzdChzLCBpZkRpcilcbiAgfVxuXG4gIGFic3RyYWN0IG1hdGNoRW1pdChwOiBSZXN1bHQ8Tz4pOiB2b2lkXG4gIGFic3RyYWN0IG1hdGNoRW1pdChwOiBzdHJpbmcgfCBQYXRoKTogdm9pZFxuXG4gIG1hdGNoRmluaXNoKGU6IFBhdGgsIGFic29sdXRlOiBib29sZWFuKSB7XG4gICAgaWYgKHRoaXMuI2lnbm9yZWQoZSkpIHJldHVyblxuICAgIC8vIHdlIGtub3cgd2UgaGF2ZSBhbiBpZ25vcmUgaWYgdGhpcyBpcyBmYWxzZSwgYnV0IFRTIGRvZXNuJ3RcbiAgICBpZiAoIXRoaXMuaW5jbHVkZUNoaWxkTWF0Y2hlcyAmJiB0aGlzLiNpZ25vcmU/LmFkZCkge1xuICAgICAgY29uc3QgaWduID0gYCR7ZS5yZWxhdGl2ZVBvc2l4KCl9LyoqYFxuICAgICAgdGhpcy4jaWdub3JlLmFkZChpZ24pXG4gICAgfVxuICAgIGNvbnN0IGFicyA9XG4gICAgICB0aGlzLm9wdHMuYWJzb2x1dGUgPT09IHVuZGVmaW5lZCA/IGFic29sdXRlIDogdGhpcy5vcHRzLmFic29sdXRlXG4gICAgdGhpcy5zZWVuLmFkZChlKVxuICAgIGNvbnN0IG1hcmsgPSB0aGlzLm9wdHMubWFyayAmJiBlLmlzRGlyZWN0b3J5KCkgPyB0aGlzLiNzZXAgOiAnJ1xuICAgIC8vIG9rLCB3ZSBoYXZlIHdoYXQgd2UgbmVlZCFcbiAgICBpZiAodGhpcy5vcHRzLndpdGhGaWxlVHlwZXMpIHtcbiAgICAgIHRoaXMubWF0Y2hFbWl0KGUpXG4gICAgfSBlbHNlIGlmIChhYnMpIHtcbiAgICAgIGNvbnN0IGFicyA9IHRoaXMub3B0cy5wb3NpeCA/IGUuZnVsbHBhdGhQb3NpeCgpIDogZS5mdWxscGF0aCgpXG4gICAgICB0aGlzLm1hdGNoRW1pdChhYnMgKyBtYXJrKVxuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCByZWwgPSB0aGlzLm9wdHMucG9zaXggPyBlLnJlbGF0aXZlUG9zaXgoKSA6IGUucmVsYXRpdmUoKVxuICAgICAgY29uc3QgcHJlID1cbiAgICAgICAgdGhpcy5vcHRzLmRvdFJlbGF0aXZlICYmICFyZWwuc3RhcnRzV2l0aCgnLi4nICsgdGhpcy4jc2VwKSA/XG4gICAgICAgICAgJy4nICsgdGhpcy4jc2VwXG4gICAgICAgIDogJydcbiAgICAgIHRoaXMubWF0Y2hFbWl0KCFyZWwgPyAnLicgKyBtYXJrIDogcHJlICsgcmVsICsgbWFyaylcbiAgICB9XG4gIH1cblxuICBhc3luYyBtYXRjaChlOiBQYXRoLCBhYnNvbHV0ZTogYm9vbGVhbiwgaWZEaXI6IGJvb2xlYW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBwID0gYXdhaXQgdGhpcy5tYXRjaENoZWNrKGUsIGlmRGlyKVxuICAgIGlmIChwKSB0aGlzLm1hdGNoRmluaXNoKHAsIGFic29sdXRlKVxuICB9XG5cbiAgbWF0Y2hTeW5jKGU6IFBhdGgsIGFic29sdXRlOiBib29sZWFuLCBpZkRpcjogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IHAgPSB0aGlzLm1hdGNoQ2hlY2tTeW5jKGUsIGlmRGlyKVxuICAgIGlmIChwKSB0aGlzLm1hdGNoRmluaXNoKHAsIGFic29sdXRlKVxuICB9XG5cbiAgd2Fsa0NCKHRhcmdldDogUGF0aCwgcGF0dGVybnM6IFBhdHRlcm5bXSwgY2I6ICgpID0+IGFueSkge1xuICAgIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICAgIGlmICh0aGlzLnNpZ25hbD8uYWJvcnRlZCkgY2IoKVxuICAgIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gICAgdGhpcy53YWxrQ0IyKHRhcmdldCwgcGF0dGVybnMsIG5ldyBQcm9jZXNzb3IodGhpcy5vcHRzKSwgY2IpXG4gIH1cblxuICB3YWxrQ0IyKFxuICAgIHRhcmdldDogUGF0aCxcbiAgICBwYXR0ZXJuczogUGF0dGVybltdLFxuICAgIHByb2Nlc3NvcjogUHJvY2Vzc29yLFxuICAgIGNiOiAoKSA9PiBhbnksXG4gICkge1xuICAgIGlmICh0aGlzLiNjaGlsZHJlbklnbm9yZWQodGFyZ2V0KSkgcmV0dXJuIGNiKClcbiAgICBpZiAodGhpcy5zaWduYWw/LmFib3J0ZWQpIGNiKClcbiAgICBpZiAodGhpcy5wYXVzZWQpIHtcbiAgICAgIHRoaXMub25SZXN1bWUoKCkgPT4gdGhpcy53YWxrQ0IyKHRhcmdldCwgcGF0dGVybnMsIHByb2Nlc3NvciwgY2IpKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHByb2Nlc3Nvci5wcm9jZXNzUGF0dGVybnModGFyZ2V0LCBwYXR0ZXJucylcblxuICAgIC8vIGRvbmUgcHJvY2Vzc2luZy4gIGFsbCBvZiB0aGUgYWJvdmUgaXMgc3luYywgY2FuIGJlIGFic3RyYWN0ZWQgb3V0LlxuICAgIC8vIHN1YndhbGtzIGlzIGEgbWFwIG9mIHBhdGhzIHRvIHRoZSBlbnRyeSBmaWx0ZXJzIHRoZXkgbmVlZFxuICAgIC8vIG1hdGNoZXMgaXMgYSBtYXAgb2YgcGF0aHMgdG8gW2Fic29sdXRlLCBpZkRpcl0gdHVwbGVzLlxuICAgIGxldCB0YXNrcyA9IDFcbiAgICBjb25zdCBuZXh0ID0gKCkgPT4ge1xuICAgICAgaWYgKC0tdGFza3MgPT09IDApIGNiKClcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFttLCBhYnNvbHV0ZSwgaWZEaXJdIG9mIHByb2Nlc3Nvci5tYXRjaGVzLmVudHJpZXMoKSkge1xuICAgICAgaWYgKHRoaXMuI2lnbm9yZWQobSkpIGNvbnRpbnVlXG4gICAgICB0YXNrcysrXG4gICAgICB0aGlzLm1hdGNoKG0sIGFic29sdXRlLCBpZkRpcikudGhlbigoKSA9PiBuZXh0KCkpXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB0IG9mIHByb2Nlc3Nvci5zdWJ3YWxrVGFyZ2V0cygpKSB7XG4gICAgICBpZiAodGhpcy5tYXhEZXB0aCAhPT0gSW5maW5pdHkgJiYgdC5kZXB0aCgpID49IHRoaXMubWF4RGVwdGgpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIHRhc2tzKytcbiAgICAgIGNvbnN0IGNoaWxkcmVuQ2FjaGVkID0gdC5yZWFkZGlyQ2FjaGVkKClcbiAgICAgIGlmICh0LmNhbGxlZFJlYWRkaXIoKSlcbiAgICAgICAgdGhpcy53YWxrQ0IzKHQsIGNoaWxkcmVuQ2FjaGVkLCBwcm9jZXNzb3IsIG5leHQpXG4gICAgICBlbHNlIHtcbiAgICAgICAgdC5yZWFkZGlyQ0IoXG4gICAgICAgICAgKF8sIGVudHJpZXMpID0+IHRoaXMud2Fsa0NCMyh0LCBlbnRyaWVzLCBwcm9jZXNzb3IsIG5leHQpLFxuICAgICAgICAgIHRydWUsXG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBuZXh0KClcbiAgfVxuXG4gIHdhbGtDQjMoXG4gICAgdGFyZ2V0OiBQYXRoLFxuICAgIGVudHJpZXM6IFBhdGhbXSxcbiAgICBwcm9jZXNzb3I6IFByb2Nlc3NvcixcbiAgICBjYjogKCkgPT4gYW55LFxuICApIHtcbiAgICBwcm9jZXNzb3IgPSBwcm9jZXNzb3IuZmlsdGVyRW50cmllcyh0YXJnZXQsIGVudHJpZXMpXG5cbiAgICBsZXQgdGFza3MgPSAxXG4gICAgY29uc3QgbmV4dCA9ICgpID0+IHtcbiAgICAgIGlmICgtLXRhc2tzID09PSAwKSBjYigpXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBbbSwgYWJzb2x1dGUsIGlmRGlyXSBvZiBwcm9jZXNzb3IubWF0Y2hlcy5lbnRyaWVzKCkpIHtcbiAgICAgIGlmICh0aGlzLiNpZ25vcmVkKG0pKSBjb250aW51ZVxuICAgICAgdGFza3MrK1xuICAgICAgdGhpcy5tYXRjaChtLCBhYnNvbHV0ZSwgaWZEaXIpLnRoZW4oKCkgPT4gbmV4dCgpKVxuICAgIH1cbiAgICBmb3IgKGNvbnN0IFt0YXJnZXQsIHBhdHRlcm5zXSBvZiBwcm9jZXNzb3Iuc3Vid2Fsa3MuZW50cmllcygpKSB7XG4gICAgICB0YXNrcysrXG4gICAgICB0aGlzLndhbGtDQjIodGFyZ2V0LCBwYXR0ZXJucywgcHJvY2Vzc29yLmNoaWxkKCksIG5leHQpXG4gICAgfVxuXG4gICAgbmV4dCgpXG4gIH1cblxuICB3YWxrQ0JTeW5jKHRhcmdldDogUGF0aCwgcGF0dGVybnM6IFBhdHRlcm5bXSwgY2I6ICgpID0+IGFueSkge1xuICAgIC8qIGM4IGlnbm9yZSBzdGFydCAqL1xuICAgIGlmICh0aGlzLnNpZ25hbD8uYWJvcnRlZCkgY2IoKVxuICAgIC8qIGM4IGlnbm9yZSBzdG9wICovXG4gICAgdGhpcy53YWxrQ0IyU3luYyh0YXJnZXQsIHBhdHRlcm5zLCBuZXcgUHJvY2Vzc29yKHRoaXMub3B0cyksIGNiKVxuICB9XG5cbiAgd2Fsa0NCMlN5bmMoXG4gICAgdGFyZ2V0OiBQYXRoLFxuICAgIHBhdHRlcm5zOiBQYXR0ZXJuW10sXG4gICAgcHJvY2Vzc29yOiBQcm9jZXNzb3IsXG4gICAgY2I6ICgpID0+IGFueSxcbiAgKSB7XG4gICAgaWYgKHRoaXMuI2NoaWxkcmVuSWdub3JlZCh0YXJnZXQpKSByZXR1cm4gY2IoKVxuICAgIGlmICh0aGlzLnNpZ25hbD8uYWJvcnRlZCkgY2IoKVxuICAgIGlmICh0aGlzLnBhdXNlZCkge1xuICAgICAgdGhpcy5vblJlc3VtZSgoKSA9PlxuICAgICAgICB0aGlzLndhbGtDQjJTeW5jKHRhcmdldCwgcGF0dGVybnMsIHByb2Nlc3NvciwgY2IpLFxuICAgICAgKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHByb2Nlc3Nvci5wcm9jZXNzUGF0dGVybnModGFyZ2V0LCBwYXR0ZXJucylcblxuICAgIC8vIGRvbmUgcHJvY2Vzc2luZy4gIGFsbCBvZiB0aGUgYWJvdmUgaXMgc3luYywgY2FuIGJlIGFic3RyYWN0ZWQgb3V0LlxuICAgIC8vIHN1YndhbGtzIGlzIGEgbWFwIG9mIHBhdGhzIHRvIHRoZSBlbnRyeSBmaWx0ZXJzIHRoZXkgbmVlZFxuICAgIC8vIG1hdGNoZXMgaXMgYSBtYXAgb2YgcGF0aHMgdG8gW2Fic29sdXRlLCBpZkRpcl0gdHVwbGVzLlxuICAgIGxldCB0YXNrcyA9IDFcbiAgICBjb25zdCBuZXh0ID0gKCkgPT4ge1xuICAgICAgaWYgKC0tdGFza3MgPT09IDApIGNiKClcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFttLCBhYnNvbHV0ZSwgaWZEaXJdIG9mIHByb2Nlc3Nvci5tYXRjaGVzLmVudHJpZXMoKSkge1xuICAgICAgaWYgKHRoaXMuI2lnbm9yZWQobSkpIGNvbnRpbnVlXG4gICAgICB0aGlzLm1hdGNoU3luYyhtLCBhYnNvbHV0ZSwgaWZEaXIpXG4gICAgfVxuXG4gICAgZm9yIChjb25zdCB0IG9mIHByb2Nlc3Nvci5zdWJ3YWxrVGFyZ2V0cygpKSB7XG4gICAgICBpZiAodGhpcy5tYXhEZXB0aCAhPT0gSW5maW5pdHkgJiYgdC5kZXB0aCgpID49IHRoaXMubWF4RGVwdGgpIHtcbiAgICAgICAgY29udGludWVcbiAgICAgIH1cbiAgICAgIHRhc2tzKytcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gdC5yZWFkZGlyU3luYygpXG4gICAgICB0aGlzLndhbGtDQjNTeW5jKHQsIGNoaWxkcmVuLCBwcm9jZXNzb3IsIG5leHQpXG4gICAgfVxuXG4gICAgbmV4dCgpXG4gIH1cblxuICB3YWxrQ0IzU3luYyhcbiAgICB0YXJnZXQ6IFBhdGgsXG4gICAgZW50cmllczogUGF0aFtdLFxuICAgIHByb2Nlc3NvcjogUHJvY2Vzc29yLFxuICAgIGNiOiAoKSA9PiBhbnksXG4gICkge1xuICAgIHByb2Nlc3NvciA9IHByb2Nlc3Nvci5maWx0ZXJFbnRyaWVzKHRhcmdldCwgZW50cmllcylcblxuICAgIGxldCB0YXNrcyA9IDFcbiAgICBjb25zdCBuZXh0ID0gKCkgPT4ge1xuICAgICAgaWYgKC0tdGFza3MgPT09IDApIGNiKClcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IFttLCBhYnNvbHV0ZSwgaWZEaXJdIG9mIHByb2Nlc3Nvci5tYXRjaGVzLmVudHJpZXMoKSkge1xuICAgICAgaWYgKHRoaXMuI2lnbm9yZWQobSkpIGNvbnRpbnVlXG4gICAgICB0aGlzLm1hdGNoU3luYyhtLCBhYnNvbHV0ZSwgaWZEaXIpXG4gICAgfVxuICAgIGZvciAoY29uc3QgW3RhcmdldCwgcGF0dGVybnNdIG9mIHByb2Nlc3Nvci5zdWJ3YWxrcy5lbnRyaWVzKCkpIHtcbiAgICAgIHRhc2tzKytcbiAgICAgIHRoaXMud2Fsa0NCMlN5bmModGFyZ2V0LCBwYXR0ZXJucywgcHJvY2Vzc29yLmNoaWxkKCksIG5leHQpXG4gICAgfVxuXG4gICAgbmV4dCgpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdsb2JXYWxrZXI8XG4gIE8gZXh0ZW5kcyBHbG9iV2Fsa2VyT3B0cyA9IEdsb2JXYWxrZXJPcHRzLFxuPiBleHRlbmRzIEdsb2JVdGlsPE8+IHtcbiAgbWF0Y2hlcyA9IG5ldyBTZXQ8UmVzdWx0PE8+PigpXG5cbiAgY29uc3RydWN0b3IocGF0dGVybnM6IFBhdHRlcm5bXSwgcGF0aDogUGF0aCwgb3B0czogTykge1xuICAgIHN1cGVyKHBhdHRlcm5zLCBwYXRoLCBvcHRzKVxuICB9XG5cbiAgbWF0Y2hFbWl0KGU6IFJlc3VsdDxPPik6IHZvaWQge1xuICAgIHRoaXMubWF0Y2hlcy5hZGQoZSlcbiAgfVxuXG4gIGFzeW5jIHdhbGsoKTogUHJvbWlzZTxTZXQ8UmVzdWx0PE8+Pj4ge1xuICAgIGlmICh0aGlzLnNpZ25hbD8uYWJvcnRlZCkgdGhyb3cgdGhpcy5zaWduYWwucmVhc29uXG4gICAgaWYgKHRoaXMucGF0aC5pc1Vua25vd24oKSkge1xuICAgICAgYXdhaXQgdGhpcy5wYXRoLmxzdGF0KClcbiAgICB9XG4gICAgYXdhaXQgbmV3IFByb21pc2UoKHJlcywgcmVqKSA9PiB7XG4gICAgICB0aGlzLndhbGtDQih0aGlzLnBhdGgsIHRoaXMucGF0dGVybnMsICgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuc2lnbmFsPy5hYm9ydGVkKSB7XG4gICAgICAgICAgcmVqKHRoaXMuc2lnbmFsLnJlYXNvbilcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXModGhpcy5tYXRjaGVzKVxuICAgICAgICB9XG4gICAgICB9KVxuICAgIH0pXG4gICAgcmV0dXJuIHRoaXMubWF0Y2hlc1xuICB9XG5cbiAgd2Fsa1N5bmMoKTogU2V0PFJlc3VsdDxPPj4ge1xuICAgIGlmICh0aGlzLnNpZ25hbD8uYWJvcnRlZCkgdGhyb3cgdGhpcy5zaWduYWwucmVhc29uXG4gICAgaWYgKHRoaXMucGF0aC5pc1Vua25vd24oKSkge1xuICAgICAgdGhpcy5wYXRoLmxzdGF0U3luYygpXG4gICAgfVxuICAgIC8vIG5vdGhpbmcgZm9yIHRoZSBjYWxsYmFjayB0byBkbywgYmVjYXVzZSB0aGlzIG5ldmVyIHBhdXNlc1xuICAgIHRoaXMud2Fsa0NCU3luYyh0aGlzLnBhdGgsIHRoaXMucGF0dGVybnMsICgpID0+IHtcbiAgICAgIGlmICh0aGlzLnNpZ25hbD8uYWJvcnRlZCkgdGhyb3cgdGhpcy5zaWduYWwucmVhc29uXG4gICAgfSlcbiAgICByZXR1cm4gdGhpcy5tYXRjaGVzXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEdsb2JTdHJlYW08XG4gIE8gZXh0ZW5kcyBHbG9iV2Fsa2VyT3B0cyA9IEdsb2JXYWxrZXJPcHRzLFxuPiBleHRlbmRzIEdsb2JVdGlsPE8+IHtcbiAgcmVzdWx0czogTWluaXBhc3M8UmVzdWx0PE8+LCBSZXN1bHQ8Tz4+XG5cbiAgY29uc3RydWN0b3IocGF0dGVybnM6IFBhdHRlcm5bXSwgcGF0aDogUGF0aCwgb3B0czogTykge1xuICAgIHN1cGVyKHBhdHRlcm5zLCBwYXRoLCBvcHRzKVxuICAgIHRoaXMucmVzdWx0cyA9IG5ldyBNaW5pcGFzczxSZXN1bHQ8Tz4sIFJlc3VsdDxPPj4oe1xuICAgICAgc2lnbmFsOiB0aGlzLnNpZ25hbCxcbiAgICAgIG9iamVjdE1vZGU6IHRydWUsXG4gICAgfSlcbiAgICB0aGlzLnJlc3VsdHMub24oJ2RyYWluJywgKCkgPT4gdGhpcy5yZXN1bWUoKSlcbiAgICB0aGlzLnJlc3VsdHMub24oJ3Jlc3VtZScsICgpID0+IHRoaXMucmVzdW1lKCkpXG4gIH1cblxuICBtYXRjaEVtaXQoZTogUmVzdWx0PE8+KTogdm9pZCB7XG4gICAgdGhpcy5yZXN1bHRzLndyaXRlKGUpXG4gICAgaWYgKCF0aGlzLnJlc3VsdHMuZmxvd2luZykgdGhpcy5wYXVzZSgpXG4gIH1cblxuICBzdHJlYW0oKTogTWF0Y2hTdHJlYW08Tz4ge1xuICAgIGNvbnN0IHRhcmdldCA9IHRoaXMucGF0aFxuICAgIGlmICh0YXJnZXQuaXNVbmtub3duKCkpIHtcbiAgICAgIHRhcmdldC5sc3RhdCgpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLndhbGtDQih0YXJnZXQsIHRoaXMucGF0dGVybnMsICgpID0+IHRoaXMucmVzdWx0cy5lbmQoKSlcbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMud2Fsa0NCKHRhcmdldCwgdGhpcy5wYXR0ZXJucywgKCkgPT4gdGhpcy5yZXN1bHRzLmVuZCgpKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5yZXN1bHRzXG4gIH1cblxuICBzdHJlYW1TeW5jKCk6IE1hdGNoU3RyZWFtPE8+IHtcbiAgICBpZiAodGhpcy5wYXRoLmlzVW5rbm93bigpKSB7XG4gICAgICB0aGlzLnBhdGgubHN0YXRTeW5jKClcbiAgICB9XG4gICAgdGhpcy53YWxrQ0JTeW5jKHRoaXMucGF0aCwgdGhpcy5wYXR0ZXJucywgKCkgPT4gdGhpcy5yZXN1bHRzLmVuZCgpKVxuICAgIHJldHVybiB0aGlzLnJlc3VsdHNcbiAgfVxufVxuIiwgImltcG9ydCB7IE1pbmltYXRjaCB9IGZyb20gJ21pbmltYXRjaCdcbmltcG9ydCB7IEdsb2JPcHRpb25zIH0gZnJvbSAnLi9nbG9iLmpzJ1xuXG4vKipcbiAqIFJldHVybiB0cnVlIGlmIHRoZSBwYXR0ZXJucyBwcm92aWRlZCBjb250YWluIGFueSBtYWdpYyBnbG9iIGNoYXJhY3RlcnMsXG4gKiBnaXZlbiB0aGUgb3B0aW9ucyBwcm92aWRlZC5cbiAqXG4gKiBCcmFjZSBleHBhbnNpb24gaXMgbm90IGNvbnNpZGVyZWQgXCJtYWdpY1wiIHVubGVzcyB0aGUgYG1hZ2ljYWxCcmFjZXNgIG9wdGlvblxuICogaXMgc2V0LCBhcyBicmFjZSBleHBhbnNpb24ganVzdCB0dXJucyBvbmUgc3RyaW5nIGludG8gYW4gYXJyYXkgb2Ygc3RyaW5ncy5cbiAqIFNvIGEgcGF0dGVybiBsaWtlIGAneHthLGJ9eSdgIHdvdWxkIHJldHVybiBgZmFsc2VgLCBiZWNhdXNlIGAneGF5J2AgYW5kXG4gKiBgJ3hieSdgIGJvdGggZG8gbm90IGNvbnRhaW4gYW55IG1hZ2ljIGdsb2IgY2hhcmFjdGVycywgYW5kIGl0J3MgdHJlYXRlZCB0aGVcbiAqIHNhbWUgYXMgaWYgeW91IGhhZCBjYWxsZWQgaXQgb24gYFsneGF5JywgJ3hieSddYC4gV2hlbiBgbWFnaWNhbEJyYWNlczp0cnVlYFxuICogaXMgaW4gdGhlIG9wdGlvbnMsIGJyYWNlIGV4cGFuc2lvbiBfaXNfIHRyZWF0ZWQgYXMgYSBwYXR0ZXJuIGhhdmluZyBtYWdpYy5cbiAqL1xuZXhwb3J0IGNvbnN0IGhhc01hZ2ljID0gKFxuICBwYXR0ZXJuOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgb3B0aW9uczogR2xvYk9wdGlvbnMgPSB7fSxcbik6IGJvb2xlYW4gPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkocGF0dGVybikpIHtcbiAgICBwYXR0ZXJuID0gW3BhdHRlcm5dXG4gIH1cbiAgZm9yIChjb25zdCBwIG9mIHBhdHRlcm4pIHtcbiAgICBpZiAobmV3IE1pbmltYXRjaChwLCBvcHRpb25zKS5oYXNNYWdpYygpKSByZXR1cm4gdHJ1ZVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuIiwgImltcG9ydCB7IGVzY2FwZSwgdW5lc2NhcGUgfSBmcm9tICdtaW5pbWF0Y2gnXG5pbXBvcnQgeyBNaW5pcGFzcyB9IGZyb20gJ21pbmlwYXNzJ1xuaW1wb3J0IHsgUGF0aCB9IGZyb20gJ3BhdGgtc2N1cnJ5J1xuaW1wb3J0IHR5cGUge1xuICBHbG9iT3B0aW9ucyxcbiAgR2xvYk9wdGlvbnNXaXRoRmlsZVR5cGVzRmFsc2UsXG4gIEdsb2JPcHRpb25zV2l0aEZpbGVUeXBlc1RydWUsXG4gIEdsb2JPcHRpb25zV2l0aEZpbGVUeXBlc1Vuc2V0LFxufSBmcm9tICcuL2dsb2IuanMnXG5pbXBvcnQgeyBHbG9iIH0gZnJvbSAnLi9nbG9iLmpzJ1xuaW1wb3J0IHsgaGFzTWFnaWMgfSBmcm9tICcuL2hhcy1tYWdpYy5qcydcblxuZXhwb3J0IHsgZXNjYXBlLCB1bmVzY2FwZSB9IGZyb20gJ21pbmltYXRjaCdcbmV4cG9ydCB0eXBlIHtcbiAgRlNPcHRpb24sXG4gIFBhdGgsXG4gIFdhbGtPcHRpb25zLFxuICBXYWxrT3B0aW9uc1dpdGhGaWxlVHlwZXNUcnVlLFxuICBXYWxrT3B0aW9uc1dpdGhGaWxlVHlwZXNVbnNldCxcbn0gZnJvbSAncGF0aC1zY3VycnknXG5leHBvcnQgeyBHbG9iIH0gZnJvbSAnLi9nbG9iLmpzJ1xuZXhwb3J0IHR5cGUge1xuICBHbG9iT3B0aW9ucyxcbiAgR2xvYk9wdGlvbnNXaXRoRmlsZVR5cGVzRmFsc2UsXG4gIEdsb2JPcHRpb25zV2l0aEZpbGVUeXBlc1RydWUsXG4gIEdsb2JPcHRpb25zV2l0aEZpbGVUeXBlc1Vuc2V0LFxufSBmcm9tICcuL2dsb2IuanMnXG5leHBvcnQgeyBoYXNNYWdpYyB9IGZyb20gJy4vaGFzLW1hZ2ljLmpzJ1xuZXhwb3J0IHsgSWdub3JlIH0gZnJvbSAnLi9pZ25vcmUuanMnXG5leHBvcnQgdHlwZSB7IElnbm9yZUxpa2UgfSBmcm9tICcuL2lnbm9yZS5qcydcbmV4cG9ydCB0eXBlIHsgTWF0Y2hTdHJlYW0gfSBmcm9tICcuL3dhbGtlci5qcydcblxuLyoqXG4gKiBTeW5jcm9ub3VzIGZvcm0gb2Yge0BsaW5rIGdsb2JTdHJlYW19LiBXaWxsIHJlYWQgYWxsIHRoZSBtYXRjaGVzIGFzIGZhc3QgYXNcbiAqIHlvdSBjb25zdW1lIHRoZW0sIGV2ZW4gYWxsIGluIGEgc2luZ2xlIHRpY2sgaWYgeW91IGNvbnN1bWUgdGhlbSBpbW1lZGlhdGVseSxcbiAqIGJ1dCB3aWxsIHN0aWxsIHJlc3BvbmQgdG8gYmFja3ByZXNzdXJlIGlmIHRoZXkncmUgbm90IGNvbnN1bWVkIGltbWVkaWF0ZWx5LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2xvYlN0cmVhbVN5bmMoXG4gIHBhdHRlcm46IHN0cmluZyB8IHN0cmluZ1tdLFxuICBvcHRpb25zOiBHbG9iT3B0aW9uc1dpdGhGaWxlVHlwZXNUcnVlLFxuKTogTWluaXBhc3M8UGF0aCwgUGF0aD5cbmV4cG9ydCBmdW5jdGlvbiBnbG9iU3RyZWFtU3luYyhcbiAgcGF0dGVybjogc3RyaW5nIHwgc3RyaW5nW10sXG4gIG9wdGlvbnM6IEdsb2JPcHRpb25zV2l0aEZpbGVUeXBlc0ZhbHNlLFxuKTogTWluaXBhc3M8c3RyaW5nLCBzdHJpbmc+XG5leHBvcnQgZnVuY3Rpb24gZ2xvYlN0cmVhbVN5bmMoXG4gIHBhdHRlcm46IHN0cmluZyB8IHN0cmluZ1tdLFxuICBvcHRpb25zOiBHbG9iT3B0aW9uc1dpdGhGaWxlVHlwZXNVbnNldCxcbik6IE1pbmlwYXNzPHN0cmluZywgc3RyaW5nPlxuZXhwb3J0IGZ1bmN0aW9uIGdsb2JTdHJlYW1TeW5jKFxuICBwYXR0ZXJuOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgb3B0aW9uczogR2xvYk9wdGlvbnMsXG4pOiBNaW5pcGFzczxQYXRoLCBQYXRoPiB8IE1pbmlwYXNzPHN0cmluZywgc3RyaW5nPlxuZXhwb3J0IGZ1bmN0aW9uIGdsb2JTdHJlYW1TeW5jKFxuICBwYXR0ZXJuOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgb3B0aW9uczogR2xvYk9wdGlvbnMgPSB7fSxcbikge1xuICByZXR1cm4gbmV3IEdsb2IocGF0dGVybiwgb3B0aW9ucykuc3RyZWFtU3luYygpXG59XG5cbi8qKlxuICogUmV0dXJuIGEgc3RyZWFtIHRoYXQgZW1pdHMgYWxsIHRoZSBzdHJpbmdzIG9yIGBQYXRoYCBvYmplY3RzIGFuZFxuICogdGhlbiBlbWl0cyBgZW5kYCB3aGVuIGNvbXBsZXRlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdsb2JTdHJlYW0oXG4gIHBhdHRlcm46IHN0cmluZyB8IHN0cmluZ1tdLFxuICBvcHRpb25zOiBHbG9iT3B0aW9uc1dpdGhGaWxlVHlwZXNGYWxzZSxcbik6IE1pbmlwYXNzPHN0cmluZywgc3RyaW5nPlxuZXhwb3J0IGZ1bmN0aW9uIGdsb2JTdHJlYW0oXG4gIHBhdHRlcm46IHN0cmluZyB8IHN0cmluZ1tdLFxuICBvcHRpb25zOiBHbG9iT3B0aW9uc1dpdGhGaWxlVHlwZXNUcnVlLFxuKTogTWluaXBhc3M8UGF0aCwgUGF0aD5cbmV4cG9ydCBmdW5jdGlvbiBnbG9iU3RyZWFtKFxuICBwYXR0ZXJuOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgb3B0aW9ucz86IEdsb2JPcHRpb25zV2l0aEZpbGVUeXBlc1Vuc2V0IHwgdW5kZWZpbmVkLFxuKTogTWluaXBhc3M8c3RyaW5nLCBzdHJpbmc+XG5leHBvcnQgZnVuY3Rpb24gZ2xvYlN0cmVhbShcbiAgcGF0dGVybjogc3RyaW5nIHwgc3RyaW5nW10sXG4gIG9wdGlvbnM6IEdsb2JPcHRpb25zLFxuKTogTWluaXBhc3M8UGF0aCwgUGF0aD4gfCBNaW5pcGFzczxzdHJpbmcsIHN0cmluZz5cbmV4cG9ydCBmdW5jdGlvbiBnbG9iU3RyZWFtKFxuICBwYXR0ZXJuOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgb3B0aW9uczogR2xvYk9wdGlvbnMgPSB7fSxcbikge1xuICByZXR1cm4gbmV3IEdsb2IocGF0dGVybiwgb3B0aW9ucykuc3RyZWFtKClcbn1cblxuLyoqXG4gKiBTeW5jaHJvbm91cyBmb3JtIG9mIHtAbGluayBnbG9ifVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2xvYlN5bmMoXG4gIHBhdHRlcm46IHN0cmluZyB8IHN0cmluZ1tdLFxuICBvcHRpb25zOiBHbG9iT3B0aW9uc1dpdGhGaWxlVHlwZXNGYWxzZSxcbik6IHN0cmluZ1tdXG5leHBvcnQgZnVuY3Rpb24gZ2xvYlN5bmMoXG4gIHBhdHRlcm46IHN0cmluZyB8IHN0cmluZ1tdLFxuICBvcHRpb25zOiBHbG9iT3B0aW9uc1dpdGhGaWxlVHlwZXNUcnVlLFxuKTogUGF0aFtdXG5leHBvcnQgZnVuY3Rpb24gZ2xvYlN5bmMoXG4gIHBhdHRlcm46IHN0cmluZyB8IHN0cmluZ1tdLFxuICBvcHRpb25zPzogR2xvYk9wdGlvbnNXaXRoRmlsZVR5cGVzVW5zZXQgfCB1bmRlZmluZWQsXG4pOiBzdHJpbmdbXVxuZXhwb3J0IGZ1bmN0aW9uIGdsb2JTeW5jKFxuICBwYXR0ZXJuOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgb3B0aW9uczogR2xvYk9wdGlvbnMsXG4pOiBQYXRoW10gfCBzdHJpbmdbXVxuZXhwb3J0IGZ1bmN0aW9uIGdsb2JTeW5jKFxuICBwYXR0ZXJuOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgb3B0aW9uczogR2xvYk9wdGlvbnMgPSB7fSxcbikge1xuICByZXR1cm4gbmV3IEdsb2IocGF0dGVybiwgb3B0aW9ucykud2Fsa1N5bmMoKVxufVxuXG4vKipcbiAqIFBlcmZvcm0gYW4gYXN5bmNocm9ub3VzIGdsb2Igc2VhcmNoIGZvciB0aGUgcGF0dGVybihzKSBzcGVjaWZpZWQuIFJldHVybnNcbiAqIFtQYXRoXShodHRwczovL2lzYWFjcy5naXRodWIuaW8vcGF0aC1zY3VycnkvY2xhc3Nlcy9QYXRoQmFzZSkgb2JqZWN0cyBpZiB0aGVcbiAqIHtAbGluayB3aXRoRmlsZVR5cGVzfSBvcHRpb24gaXMgc2V0IHRvIGB0cnVlYC4gU2VlIHtAbGluayBHbG9iT3B0aW9uc30gZm9yXG4gKiBmdWxsIG9wdGlvbiBkZXNjcmlwdGlvbnMuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdsb2JfKFxuICBwYXR0ZXJuOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgb3B0aW9ucz86IEdsb2JPcHRpb25zV2l0aEZpbGVUeXBlc1Vuc2V0IHwgdW5kZWZpbmVkLFxuKTogUHJvbWlzZTxzdHJpbmdbXT5cbmFzeW5jIGZ1bmN0aW9uIGdsb2JfKFxuICBwYXR0ZXJuOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgb3B0aW9uczogR2xvYk9wdGlvbnNXaXRoRmlsZVR5cGVzVHJ1ZSxcbik6IFByb21pc2U8UGF0aFtdPlxuYXN5bmMgZnVuY3Rpb24gZ2xvYl8oXG4gIHBhdHRlcm46IHN0cmluZyB8IHN0cmluZ1tdLFxuICBvcHRpb25zOiBHbG9iT3B0aW9uc1dpdGhGaWxlVHlwZXNGYWxzZSxcbik6IFByb21pc2U8c3RyaW5nW10+XG5hc3luYyBmdW5jdGlvbiBnbG9iXyhcbiAgcGF0dGVybjogc3RyaW5nIHwgc3RyaW5nW10sXG4gIG9wdGlvbnM6IEdsb2JPcHRpb25zLFxuKTogUHJvbWlzZTxQYXRoW10gfCBzdHJpbmdbXT5cbmFzeW5jIGZ1bmN0aW9uIGdsb2JfKFxuICBwYXR0ZXJuOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgb3B0aW9uczogR2xvYk9wdGlvbnMgPSB7fSxcbikge1xuICByZXR1cm4gbmV3IEdsb2IocGF0dGVybiwgb3B0aW9ucykud2FsaygpXG59XG5cbi8qKlxuICogUmV0dXJuIGEgc3luYyBpdGVyYXRvciBmb3Igd2Fsa2luZyBnbG9iIHBhdHRlcm4gbWF0Y2hlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdsb2JJdGVyYXRlU3luYyhcbiAgcGF0dGVybjogc3RyaW5nIHwgc3RyaW5nW10sXG4gIG9wdGlvbnM/OiBHbG9iT3B0aW9uc1dpdGhGaWxlVHlwZXNVbnNldCB8IHVuZGVmaW5lZCxcbik6IEdlbmVyYXRvcjxzdHJpbmcsIHZvaWQsIHZvaWQ+XG5leHBvcnQgZnVuY3Rpb24gZ2xvYkl0ZXJhdGVTeW5jKFxuICBwYXR0ZXJuOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgb3B0aW9uczogR2xvYk9wdGlvbnNXaXRoRmlsZVR5cGVzVHJ1ZSxcbik6IEdlbmVyYXRvcjxQYXRoLCB2b2lkLCB2b2lkPlxuZXhwb3J0IGZ1bmN0aW9uIGdsb2JJdGVyYXRlU3luYyhcbiAgcGF0dGVybjogc3RyaW5nIHwgc3RyaW5nW10sXG4gIG9wdGlvbnM6IEdsb2JPcHRpb25zV2l0aEZpbGVUeXBlc0ZhbHNlLFxuKTogR2VuZXJhdG9yPHN0cmluZywgdm9pZCwgdm9pZD5cbmV4cG9ydCBmdW5jdGlvbiBnbG9iSXRlcmF0ZVN5bmMoXG4gIHBhdHRlcm46IHN0cmluZyB8IHN0cmluZ1tdLFxuICBvcHRpb25zOiBHbG9iT3B0aW9ucyxcbik6IEdlbmVyYXRvcjxQYXRoLCB2b2lkLCB2b2lkPiB8IEdlbmVyYXRvcjxzdHJpbmcsIHZvaWQsIHZvaWQ+XG5leHBvcnQgZnVuY3Rpb24gZ2xvYkl0ZXJhdGVTeW5jKFxuICBwYXR0ZXJuOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgb3B0aW9uczogR2xvYk9wdGlvbnMgPSB7fSxcbikge1xuICByZXR1cm4gbmV3IEdsb2IocGF0dGVybiwgb3B0aW9ucykuaXRlcmF0ZVN5bmMoKVxufVxuXG4vKipcbiAqIFJldHVybiBhbiBhc3luYyBpdGVyYXRvciBmb3Igd2Fsa2luZyBnbG9iIHBhdHRlcm4gbWF0Y2hlcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdsb2JJdGVyYXRlKFxuICBwYXR0ZXJuOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgb3B0aW9ucz86IEdsb2JPcHRpb25zV2l0aEZpbGVUeXBlc1Vuc2V0IHwgdW5kZWZpbmVkLFxuKTogQXN5bmNHZW5lcmF0b3I8c3RyaW5nLCB2b2lkLCB2b2lkPlxuZXhwb3J0IGZ1bmN0aW9uIGdsb2JJdGVyYXRlKFxuICBwYXR0ZXJuOiBzdHJpbmcgfCBzdHJpbmdbXSxcbiAgb3B0aW9uczogR2xvYk9wdGlvbnNXaXRoRmlsZVR5cGVzVHJ1ZSxcbik6IEFzeW5jR2VuZXJhdG9yPFBhdGgsIHZvaWQsIHZvaWQ+XG5leHBvcnQgZnVuY3Rpb24gZ2xvYkl0ZXJhdGUoXG4gIHBhdHRlcm46IHN0cmluZyB8IHN0cmluZ1tdLFxuICBvcHRpb25zOiBHbG9iT3B0aW9uc1dpdGhGaWxlVHlwZXNGYWxzZSxcbik6IEFzeW5jR2VuZXJhdG9yPHN0cmluZywgdm9pZCwgdm9pZD5cbmV4cG9ydCBmdW5jdGlvbiBnbG9iSXRlcmF0ZShcbiAgcGF0dGVybjogc3RyaW5nIHwgc3RyaW5nW10sXG4gIG9wdGlvbnM6IEdsb2JPcHRpb25zLFxuKTogQXN5bmNHZW5lcmF0b3I8UGF0aCwgdm9pZCwgdm9pZD4gfCBBc3luY0dlbmVyYXRvcjxzdHJpbmcsIHZvaWQsIHZvaWQ+XG5leHBvcnQgZnVuY3Rpb24gZ2xvYkl0ZXJhdGUoXG4gIHBhdHRlcm46IHN0cmluZyB8IHN0cmluZ1tdLFxuICBvcHRpb25zOiBHbG9iT3B0aW9ucyA9IHt9LFxuKSB7XG4gIHJldHVybiBuZXcgR2xvYihwYXR0ZXJuLCBvcHRpb25zKS5pdGVyYXRlKClcbn1cblxuLy8gYWxpYXNlczogZ2xvYi5zeW5jLnN0cmVhbSgpIGdsb2Iuc3RyZWFtLnN5bmMoKSBnbG9iLnN5bmMoKSBldGNcbmV4cG9ydCBjb25zdCBzdHJlYW1TeW5jID0gZ2xvYlN0cmVhbVN5bmNcbmV4cG9ydCBjb25zdCBzdHJlYW0gPSBPYmplY3QuYXNzaWduKGdsb2JTdHJlYW0sIHsgc3luYzogZ2xvYlN0cmVhbVN5bmMgfSlcbmV4cG9ydCBjb25zdCBpdGVyYXRlU3luYyA9IGdsb2JJdGVyYXRlU3luY1xuZXhwb3J0IGNvbnN0IGl0ZXJhdGUgPSBPYmplY3QuYXNzaWduKGdsb2JJdGVyYXRlLCB7XG4gIHN5bmM6IGdsb2JJdGVyYXRlU3luYyxcbn0pXG5leHBvcnQgY29uc3Qgc3luYyA9IE9iamVjdC5hc3NpZ24oZ2xvYlN5bmMsIHtcbiAgc3RyZWFtOiBnbG9iU3RyZWFtU3luYyxcbiAgaXRlcmF0ZTogZ2xvYkl0ZXJhdGVTeW5jLFxufSlcblxuZXhwb3J0IGNvbnN0IGdsb2IgPSBPYmplY3QuYXNzaWduKGdsb2JfLCB7XG4gIGdsb2I6IGdsb2JfLFxuICBnbG9iU3luYyxcbiAgc3luYyxcbiAgZ2xvYlN0cmVhbSxcbiAgc3RyZWFtLFxuICBnbG9iU3RyZWFtU3luYyxcbiAgc3RyZWFtU3luYyxcbiAgZ2xvYkl0ZXJhdGUsXG4gIGl0ZXJhdGUsXG4gIGdsb2JJdGVyYXRlU3luYyxcbiAgaXRlcmF0ZVN5bmMsXG4gIEdsb2IsXG4gIGhhc01hZ2ljLFxuICBlc2NhcGUsXG4gIHVuZXNjYXBlLFxufSlcbmdsb2IuZ2xvYiA9IGdsb2JcbiIsICJleHBvcnQgY29uc3QgVkVSU0lPTiA9ICc0LjIzLjAnOyAvLyB4LXJlbGVhc2UtcGxlYXNlLXZlcnNpb25cbiIsICIvKipcbiAqIERpc2NsYWltZXI6IG1vZHVsZXMgaW4gX3NoaW1zIGFyZW4ndCBpbnRlbmRlZCB0byBiZSBpbXBvcnRlZCBieSBTREsgdXNlcnMuXG4gKi9cbmltcG9ydCB7IHR5cGUgUmVxdWVzdE9wdGlvbnMgfSBmcm9tICcuLi9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBTaGltcyB7XG4gIGtpbmQ6IHN0cmluZztcbiAgZmV0Y2g6IGFueTtcbiAgUmVxdWVzdDogYW55O1xuICBSZXNwb25zZTogYW55O1xuICBIZWFkZXJzOiBhbnk7XG4gIEZvcm1EYXRhOiBhbnk7XG4gIEJsb2I6IGFueTtcbiAgRmlsZTogYW55O1xuICBSZWFkYWJsZVN0cmVhbTogYW55O1xuICBnZXRNdWx0aXBhcnRSZXF1ZXN0T3B0aW9uczogPFQgZXh0ZW5kcyB7fSA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgICBmb3JtOiBTaGltc1snRm9ybURhdGEnXSxcbiAgICBvcHRzOiBSZXF1ZXN0T3B0aW9uczxUPixcbiAgKSA9PiBQcm9taXNlPFJlcXVlc3RPcHRpb25zPFQ+PjtcbiAgZ2V0RGVmYXVsdEFnZW50OiAodXJsOiBzdHJpbmcpID0+IGFueTtcbiAgZmlsZUZyb21QYXRoOlxuICAgIHwgKChwYXRoOiBzdHJpbmcsIGZpbGVuYW1lPzogc3RyaW5nLCBvcHRpb25zPzoge30pID0+IFByb21pc2U8U2hpbXNbJ0ZpbGUnXT4pXG4gICAgfCAoKHBhdGg6IHN0cmluZywgb3B0aW9ucz86IHt9KSA9PiBQcm9taXNlPFNoaW1zWydGaWxlJ10+KTtcbiAgaXNGc1JlYWRTdHJlYW06ICh2YWx1ZTogYW55KSA9PiBib29sZWFuO1xufVxuXG5leHBvcnQgbGV0IGF1dG8gPSBmYWxzZTtcbmV4cG9ydCBsZXQga2luZDogU2hpbXNbJ2tpbmQnXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbmV4cG9ydCBsZXQgZmV0Y2g6IFNoaW1zWydmZXRjaCddIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuZXhwb3J0IGxldCBSZXF1ZXN0OiBTaGltc1snUmVxdWVzdCddIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuZXhwb3J0IGxldCBSZXNwb25zZTogU2hpbXNbJ1Jlc3BvbnNlJ10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5leHBvcnQgbGV0IEhlYWRlcnM6IFNoaW1zWydIZWFkZXJzJ10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5leHBvcnQgbGV0IEZvcm1EYXRhOiBTaGltc1snRm9ybURhdGEnXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbmV4cG9ydCBsZXQgQmxvYjogU2hpbXNbJ0Jsb2InXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbmV4cG9ydCBsZXQgRmlsZTogU2hpbXNbJ0ZpbGUnXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbmV4cG9ydCBsZXQgUmVhZGFibGVTdHJlYW06IFNoaW1zWydSZWFkYWJsZVN0cmVhbSddIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuZXhwb3J0IGxldCBnZXRNdWx0aXBhcnRSZXF1ZXN0T3B0aW9uczogU2hpbXNbJ2dldE11bHRpcGFydFJlcXVlc3RPcHRpb25zJ10gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5leHBvcnQgbGV0IGdldERlZmF1bHRBZ2VudDogU2hpbXNbJ2dldERlZmF1bHRBZ2VudCddIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuZXhwb3J0IGxldCBmaWxlRnJvbVBhdGg6IFNoaW1zWydmaWxlRnJvbVBhdGgnXSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbmV4cG9ydCBsZXQgaXNGc1JlYWRTdHJlYW06IFNoaW1zWydpc0ZzUmVhZFN0cmVhbSddIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG5leHBvcnQgZnVuY3Rpb24gc2V0U2hpbXMoc2hpbXM6IFNoaW1zLCBvcHRpb25zOiB7IGF1dG86IGJvb2xlYW4gfSA9IHsgYXV0bzogZmFsc2UgfSkge1xuICBpZiAoYXV0bykge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIGB5b3UgbXVzdCBcXGBpbXBvcnQgJ29wZW5haS9zaGltcy8ke3NoaW1zLmtpbmR9J1xcYCBiZWZvcmUgaW1wb3J0aW5nIGFueXRoaW5nIGVsc2UgZnJvbSBvcGVuYWlgLFxuICAgICk7XG4gIH1cbiAgaWYgKGtpbmQpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYGNhbid0IFxcYGltcG9ydCAnb3BlbmFpL3NoaW1zLyR7c2hpbXMua2luZH0nXFxgIGFmdGVyIFxcYGltcG9ydCAnb3BlbmFpL3NoaW1zLyR7a2luZH0nXFxgYCk7XG4gIH1cbiAgYXV0byA9IG9wdGlvbnMuYXV0bztcbiAga2luZCA9IHNoaW1zLmtpbmQ7XG4gIGZldGNoID0gc2hpbXMuZmV0Y2g7XG4gIFJlcXVlc3QgPSBzaGltcy5SZXF1ZXN0O1xuICBSZXNwb25zZSA9IHNoaW1zLlJlc3BvbnNlO1xuICBIZWFkZXJzID0gc2hpbXMuSGVhZGVycztcbiAgRm9ybURhdGEgPSBzaGltcy5Gb3JtRGF0YTtcbiAgQmxvYiA9IHNoaW1zLkJsb2I7XG4gIEZpbGUgPSBzaGltcy5GaWxlO1xuICBSZWFkYWJsZVN0cmVhbSA9IHNoaW1zLlJlYWRhYmxlU3RyZWFtO1xuICBnZXRNdWx0aXBhcnRSZXF1ZXN0T3B0aW9ucyA9IHNoaW1zLmdldE11bHRpcGFydFJlcXVlc3RPcHRpb25zO1xuICBnZXREZWZhdWx0QWdlbnQgPSBzaGltcy5nZXREZWZhdWx0QWdlbnQ7XG4gIGZpbGVGcm9tUGF0aCA9IHNoaW1zLmZpbGVGcm9tUGF0aDtcbiAgaXNGc1JlYWRTdHJlYW0gPSBzaGltcy5pc0ZzUmVhZFN0cmVhbTtcbn1cbiIsICIvKipcbiAqIERpc2NsYWltZXI6IG1vZHVsZXMgaW4gX3NoaW1zIGFyZW4ndCBpbnRlbmRlZCB0byBiZSBpbXBvcnRlZCBieSBTREsgdXNlcnMuXG4gKi9cbmltcG9ydCAqIGFzIG5mIGZyb20gJ25vZGUtZmV0Y2gnO1xuaW1wb3J0ICogYXMgZmQgZnJvbSAnZm9ybWRhdGEtbm9kZSc7XG5pbXBvcnQgeyB0eXBlIEZpbGUsIHR5cGUgRmlsZVByb3BlcnR5QmFnIH0gZnJvbSAnZm9ybWRhdGEtbm9kZSc7XG5pbXBvcnQgS2VlcEFsaXZlQWdlbnQgZnJvbSAnYWdlbnRrZWVwYWxpdmUnO1xuaW1wb3J0IHsgQWJvcnRDb250cm9sbGVyIGFzIEFib3J0Q29udHJvbGxlclBvbHlmaWxsIH0gZnJvbSAnYWJvcnQtY29udHJvbGxlcic7XG5pbXBvcnQgeyBSZWFkU3RyZWFtIGFzIEZzUmVhZFN0cmVhbSB9IGZyb20gJ25vZGU6ZnMnO1xuaW1wb3J0IHsgdHlwZSBBZ2VudCB9IGZyb20gJ25vZGU6aHR0cCc7XG5pbXBvcnQgeyBGb3JtRGF0YUVuY29kZXIgfSBmcm9tICdmb3JtLWRhdGEtZW5jb2Rlcic7XG5pbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gJ25vZGU6c3RyZWFtJztcbmltcG9ydCB7IHR5cGUgUmVxdWVzdE9wdGlvbnMgfSBmcm9tICcuLi9jb3JlJztcbmltcG9ydCB7IE11bHRpcGFydEJvZHkgfSBmcm9tICcuL011bHRpcGFydEJvZHknO1xuaW1wb3J0IHsgdHlwZSBTaGltcyB9IGZyb20gJy4vcmVnaXN0cnknO1xuXG4vLyBAdHMtaWdub3JlICh0aGlzIHBhY2thZ2UgZG9lcyBub3QgaGF2ZSBwcm9wZXIgZXhwb3J0IG1hcHMgZm9yIHRoaXMgZXhwb3J0KVxuaW1wb3J0IHsgUmVhZGFibGVTdHJlYW0gfSBmcm9tICd3ZWItc3RyZWFtcy1wb2x5ZmlsbC9kaXN0L3BvbnlmaWxsLmVzMjAxOC5qcyc7XG5cbnR5cGUgRmlsZUZyb21QYXRoT3B0aW9ucyA9IE9taXQ8RmlsZVByb3BlcnR5QmFnLCAnbGFzdE1vZGlmaWVkJz47XG5cbmxldCBmaWxlRnJvbVBhdGhXYXJuZWQgPSBmYWxzZTtcblxuLyoqXG4gKiBAZGVwcmVjYXRlZCB1c2UgZnMuY3JlYXRlUmVhZFN0cmVhbSgnLi9teS9maWxlLnR4dCcpIGluc3RlYWRcbiAqL1xuYXN5bmMgZnVuY3Rpb24gZmlsZUZyb21QYXRoKHBhdGg6IHN0cmluZyk6IFByb21pc2U8RmlsZT47XG5hc3luYyBmdW5jdGlvbiBmaWxlRnJvbVBhdGgocGF0aDogc3RyaW5nLCBmaWxlbmFtZT86IHN0cmluZyk6IFByb21pc2U8RmlsZT47XG5hc3luYyBmdW5jdGlvbiBmaWxlRnJvbVBhdGgocGF0aDogc3RyaW5nLCBvcHRpb25zPzogRmlsZUZyb21QYXRoT3B0aW9ucyk6IFByb21pc2U8RmlsZT47XG5hc3luYyBmdW5jdGlvbiBmaWxlRnJvbVBhdGgocGF0aDogc3RyaW5nLCBmaWxlbmFtZT86IHN0cmluZywgb3B0aW9ucz86IEZpbGVGcm9tUGF0aE9wdGlvbnMpOiBQcm9taXNlPEZpbGU+O1xuYXN5bmMgZnVuY3Rpb24gZmlsZUZyb21QYXRoKHBhdGg6IHN0cmluZywgLi4uYXJnczogYW55W10pOiBQcm9taXNlPEZpbGU+IHtcbiAgLy8gdGhpcyBpbXBvcnQgZmFpbHMgaW4gZW52aXJvbm1lbnRzIHRoYXQgZG9uJ3QgaGFuZGxlIGV4cG9ydCBtYXBzIGNvcnJlY3RseSwgbGlrZSBvbGQgdmVyc2lvbnMgb2YgSmVzdFxuICBjb25zdCB7IGZpbGVGcm9tUGF0aDogX2ZpbGVGcm9tUGF0aCB9ID0gYXdhaXQgaW1wb3J0KCdmb3JtZGF0YS1ub2RlL2ZpbGUtZnJvbS1wYXRoJyk7XG5cbiAgaWYgKCFmaWxlRnJvbVBhdGhXYXJuZWQpIHtcbiAgICBjb25zb2xlLndhcm4oYGZpbGVGcm9tUGF0aCBpcyBkZXByZWNhdGVkOyB1c2UgZnMuY3JlYXRlUmVhZFN0cmVhbSgke0pTT04uc3RyaW5naWZ5KHBhdGgpfSkgaW5zdGVhZGApO1xuICAgIGZpbGVGcm9tUGF0aFdhcm5lZCA9IHRydWU7XG4gIH1cbiAgLy8gQHRzLWlnbm9yZVxuICByZXR1cm4gYXdhaXQgX2ZpbGVGcm9tUGF0aChwYXRoLCAuLi5hcmdzKTtcbn1cblxuY29uc3QgZGVmYXVsdEh0dHBBZ2VudDogQWdlbnQgPSBuZXcgS2VlcEFsaXZlQWdlbnQoeyBrZWVwQWxpdmU6IHRydWUsIHRpbWVvdXQ6IDUgKiA2MCAqIDEwMDAgfSk7XG5jb25zdCBkZWZhdWx0SHR0cHNBZ2VudDogQWdlbnQgPSBuZXcgS2VlcEFsaXZlQWdlbnQuSHR0cHNBZ2VudCh7IGtlZXBBbGl2ZTogdHJ1ZSwgdGltZW91dDogNSAqIDYwICogMTAwMCB9KTtcblxuYXN5bmMgZnVuY3Rpb24gZ2V0TXVsdGlwYXJ0UmVxdWVzdE9wdGlvbnM8VCBleHRlbmRzIHt9ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KFxuICBmb3JtOiBmZC5Gb3JtRGF0YSxcbiAgb3B0czogUmVxdWVzdE9wdGlvbnM8VD4sXG4pOiBQcm9taXNlPFJlcXVlc3RPcHRpb25zPFQ+PiB7XG4gIGNvbnN0IGVuY29kZXIgPSBuZXcgRm9ybURhdGFFbmNvZGVyKGZvcm0pO1xuICBjb25zdCByZWFkYWJsZSA9IFJlYWRhYmxlLmZyb20oZW5jb2Rlcik7XG4gIGNvbnN0IGJvZHkgPSBuZXcgTXVsdGlwYXJ0Qm9keShyZWFkYWJsZSk7XG4gIGNvbnN0IGhlYWRlcnMgPSB7XG4gICAgLi4ub3B0cy5oZWFkZXJzLFxuICAgIC4uLmVuY29kZXIuaGVhZGVycyxcbiAgICAnQ29udGVudC1MZW5ndGgnOiBlbmNvZGVyLmNvbnRlbnRMZW5ndGgsXG4gIH07XG5cbiAgcmV0dXJuIHsgLi4ub3B0cywgYm9keTogYm9keSBhcyBhbnksIGhlYWRlcnMgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldFJ1bnRpbWUoKTogU2hpbXMge1xuICAvLyBQb2x5ZmlsbCBnbG9iYWwgb2JqZWN0IGlmIG5lZWRlZC5cbiAgaWYgKHR5cGVvZiBBYm9ydENvbnRyb2xsZXIgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvciAodGhlIHR5cGVzIGFyZSBzdWJ0bHkgZGlmZmVyZW50LCBidXQgY29tcGF0aWJsZSBpbiBwcmFjdGljZSlcbiAgICBnbG9iYWxUaGlzLkFib3J0Q29udHJvbGxlciA9IEFib3J0Q29udHJvbGxlclBvbHlmaWxsO1xuICB9XG4gIHJldHVybiB7XG4gICAga2luZDogJ25vZGUnLFxuICAgIGZldGNoOiBuZi5kZWZhdWx0LFxuICAgIFJlcXVlc3Q6IG5mLlJlcXVlc3QsXG4gICAgUmVzcG9uc2U6IG5mLlJlc3BvbnNlLFxuICAgIEhlYWRlcnM6IG5mLkhlYWRlcnMsXG4gICAgRm9ybURhdGE6IGZkLkZvcm1EYXRhLFxuICAgIEJsb2I6IGZkLkJsb2IsXG4gICAgRmlsZTogZmQuRmlsZSxcbiAgICBSZWFkYWJsZVN0cmVhbSxcbiAgICBnZXRNdWx0aXBhcnRSZXF1ZXN0T3B0aW9ucyxcbiAgICBnZXREZWZhdWx0QWdlbnQ6ICh1cmw6IHN0cmluZyk6IEFnZW50ID0+ICh1cmwuc3RhcnRzV2l0aCgnaHR0cHMnKSA/IGRlZmF1bHRIdHRwc0FnZW50IDogZGVmYXVsdEh0dHBBZ2VudCksXG4gICAgZmlsZUZyb21QYXRoLFxuICAgIGlzRnNSZWFkU3RyZWFtOiAodmFsdWU6IGFueSk6IHZhbHVlIGlzIEZzUmVhZFN0cmVhbSA9PiB2YWx1ZSBpbnN0YW5jZW9mIEZzUmVhZFN0cmVhbSxcbiAgfTtcbn1cbiIsICJ2YXIgX19jbGFzc1ByaXZhdGVGaWVsZEdldCA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZEdldCkgfHwgZnVuY3Rpb24gKHJlY2VpdmVyLCBzdGF0ZSwga2luZCwgZikge1xuICAgIGlmIChraW5kID09PSBcImFcIiAmJiAhZikgdGhyb3cgbmV3IFR5cGVFcnJvcihcIlByaXZhdGUgYWNjZXNzb3Igd2FzIGRlZmluZWQgd2l0aG91dCBhIGdldHRlclwiKTtcbiAgICBpZiAodHlwZW9mIHN0YXRlID09PSBcImZ1bmN0aW9uXCIgPyByZWNlaXZlciAhPT0gc3RhdGUgfHwgIWYgOiAhc3RhdGUuaGFzKHJlY2VpdmVyKSkgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkNhbm5vdCByZWFkIHByaXZhdGUgbWVtYmVyIGZyb20gYW4gb2JqZWN0IHdob3NlIGNsYXNzIGRpZCBub3QgZGVjbGFyZSBpdFwiKTtcbiAgICByZXR1cm4ga2luZCA9PT0gXCJtXCIgPyBmIDoga2luZCA9PT0gXCJhXCIgPyBmLmNhbGwocmVjZWl2ZXIpIDogZiA/IGYudmFsdWUgOiBzdGF0ZS5nZXQocmVjZWl2ZXIpO1xufTtcbnZhciBfRm9ybURhdGFfaW5zdGFuY2VzLCBfRm9ybURhdGFfZW50cmllcywgX0Zvcm1EYXRhX3NldEVudHJ5O1xuaW1wb3J0IHsgaW5zcGVjdCB9IGZyb20gXCJ1dGlsXCI7XG5pbXBvcnQgeyBGaWxlIH0gZnJvbSBcIi4vRmlsZS5qc1wiO1xuaW1wb3J0IHsgaXNGaWxlIH0gZnJvbSBcIi4vaXNGaWxlLmpzXCI7XG5pbXBvcnQgeyBpc0Jsb2IgfSBmcm9tIFwiLi9pc0Jsb2IuanNcIjtcbmltcG9ydCB7IGlzRnVuY3Rpb24gfSBmcm9tIFwiLi9pc0Z1bmN0aW9uLmpzXCI7XG5pbXBvcnQgeyBkZXByZWNhdGVDb25zdHJ1Y3RvckVudHJpZXMgfSBmcm9tIFwiLi9kZXByZWNhdGVDb25zdHJ1Y3RvckVudHJpZXMuanNcIjtcbmV4cG9ydCBjbGFzcyBGb3JtRGF0YSB7XG4gICAgY29uc3RydWN0b3IoZW50cmllcykge1xuICAgICAgICBfRm9ybURhdGFfaW5zdGFuY2VzLmFkZCh0aGlzKTtcbiAgICAgICAgX0Zvcm1EYXRhX2VudHJpZXMuc2V0KHRoaXMsIG5ldyBNYXAoKSk7XG4gICAgICAgIGlmIChlbnRyaWVzKSB7XG4gICAgICAgICAgICBkZXByZWNhdGVDb25zdHJ1Y3RvckVudHJpZXMoKTtcbiAgICAgICAgICAgIGVudHJpZXMuZm9yRWFjaCgoeyBuYW1lLCB2YWx1ZSwgZmlsZU5hbWUgfSkgPT4gdGhpcy5hcHBlbmQobmFtZSwgdmFsdWUsIGZpbGVOYW1lKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc3RhdGljIFsoX0Zvcm1EYXRhX2VudHJpZXMgPSBuZXcgV2Vha01hcCgpLCBfRm9ybURhdGFfaW5zdGFuY2VzID0gbmV3IFdlYWtTZXQoKSwgU3ltYm9sLmhhc0luc3RhbmNlKV0odmFsdWUpIHtcbiAgICAgICAgcmV0dXJuIEJvb2xlYW4odmFsdWVcbiAgICAgICAgICAgICYmIGlzRnVuY3Rpb24odmFsdWUuY29uc3RydWN0b3IpXG4gICAgICAgICAgICAmJiB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddID09PSBcIkZvcm1EYXRhXCJcbiAgICAgICAgICAgICYmIGlzRnVuY3Rpb24odmFsdWUuYXBwZW5kKVxuICAgICAgICAgICAgJiYgaXNGdW5jdGlvbih2YWx1ZS5zZXQpXG4gICAgICAgICAgICAmJiBpc0Z1bmN0aW9uKHZhbHVlLmdldClcbiAgICAgICAgICAgICYmIGlzRnVuY3Rpb24odmFsdWUuZ2V0QWxsKVxuICAgICAgICAgICAgJiYgaXNGdW5jdGlvbih2YWx1ZS5oYXMpXG4gICAgICAgICAgICAmJiBpc0Z1bmN0aW9uKHZhbHVlLmRlbGV0ZSlcbiAgICAgICAgICAgICYmIGlzRnVuY3Rpb24odmFsdWUuZW50cmllcylcbiAgICAgICAgICAgICYmIGlzRnVuY3Rpb24odmFsdWUudmFsdWVzKVxuICAgICAgICAgICAgJiYgaXNGdW5jdGlvbih2YWx1ZS5rZXlzKVxuICAgICAgICAgICAgJiYgaXNGdW5jdGlvbih2YWx1ZVtTeW1ib2wuaXRlcmF0b3JdKVxuICAgICAgICAgICAgJiYgaXNGdW5jdGlvbih2YWx1ZS5mb3JFYWNoKSk7XG4gICAgfVxuICAgIGFwcGVuZChuYW1lLCB2YWx1ZSwgZmlsZU5hbWUpIHtcbiAgICAgICAgX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRm9ybURhdGFfaW5zdGFuY2VzLCBcIm1cIiwgX0Zvcm1EYXRhX3NldEVudHJ5KS5jYWxsKHRoaXMsIHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBmaWxlTmFtZSxcbiAgICAgICAgICAgIGFwcGVuZDogdHJ1ZSxcbiAgICAgICAgICAgIHJhd1ZhbHVlOiB2YWx1ZSxcbiAgICAgICAgICAgIGFyZ3NMZW5ndGg6IGFyZ3VtZW50cy5sZW5ndGhcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHNldChuYW1lLCB2YWx1ZSwgZmlsZU5hbWUpIHtcbiAgICAgICAgX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRm9ybURhdGFfaW5zdGFuY2VzLCBcIm1cIiwgX0Zvcm1EYXRhX3NldEVudHJ5KS5jYWxsKHRoaXMsIHtcbiAgICAgICAgICAgIG5hbWUsXG4gICAgICAgICAgICBmaWxlTmFtZSxcbiAgICAgICAgICAgIGFwcGVuZDogZmFsc2UsXG4gICAgICAgICAgICByYXdWYWx1ZTogdmFsdWUsXG4gICAgICAgICAgICBhcmdzTGVuZ3RoOiBhcmd1bWVudHMubGVuZ3RoXG4gICAgICAgIH0pO1xuICAgIH1cbiAgICBnZXQobmFtZSkge1xuICAgICAgICBjb25zdCBmaWVsZCA9IF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhX2VudHJpZXMsIFwiZlwiKS5nZXQoU3RyaW5nKG5hbWUpKTtcbiAgICAgICAgaWYgKCFmaWVsZCkge1xuICAgICAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZpZWxkWzBdO1xuICAgIH1cbiAgICBnZXRBbGwobmFtZSkge1xuICAgICAgICBjb25zdCBmaWVsZCA9IF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhX2VudHJpZXMsIFwiZlwiKS5nZXQoU3RyaW5nKG5hbWUpKTtcbiAgICAgICAgaWYgKCFmaWVsZCkge1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWVsZC5zbGljZSgpO1xuICAgIH1cbiAgICBoYXMobmFtZSkge1xuICAgICAgICByZXR1cm4gX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRm9ybURhdGFfZW50cmllcywgXCJmXCIpLmhhcyhTdHJpbmcobmFtZSkpO1xuICAgIH1cbiAgICBkZWxldGUobmFtZSkge1xuICAgICAgICBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9Gb3JtRGF0YV9lbnRyaWVzLCBcImZcIikuZGVsZXRlKFN0cmluZyhuYW1lKSk7XG4gICAgfVxuICAgICprZXlzKCkge1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBvZiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9Gb3JtRGF0YV9lbnRyaWVzLCBcImZcIikua2V5cygpKSB7XG4gICAgICAgICAgICB5aWVsZCBrZXk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgKmVudHJpZXMoKSB7XG4gICAgICAgIGZvciAoY29uc3QgbmFtZSBvZiB0aGlzLmtleXMoKSkge1xuICAgICAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5nZXRBbGwobmFtZSk7XG4gICAgICAgICAgICBmb3IgKGNvbnN0IHZhbHVlIG9mIHZhbHVlcykge1xuICAgICAgICAgICAgICAgIHlpZWxkIFtuYW1lLCB2YWx1ZV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgKnZhbHVlcygpIHtcbiAgICAgICAgZm9yIChjb25zdCBbLCB2YWx1ZV0gb2YgdGhpcykge1xuICAgICAgICAgICAgeWllbGQgdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgWyhfRm9ybURhdGFfc2V0RW50cnkgPSBmdW5jdGlvbiBfRm9ybURhdGFfc2V0RW50cnkoeyBuYW1lLCByYXdWYWx1ZSwgYXBwZW5kLCBmaWxlTmFtZSwgYXJnc0xlbmd0aCB9KSB7XG4gICAgICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBhcHBlbmQgPyBcImFwcGVuZFwiIDogXCJzZXRcIjtcbiAgICAgICAgaWYgKGFyZ3NMZW5ndGggPCAyKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBGYWlsZWQgdG8gZXhlY3V0ZSAnJHttZXRob2ROYW1lfScgb24gJ0Zvcm1EYXRhJzogYFxuICAgICAgICAgICAgICAgICsgYDIgYXJndW1lbnRzIHJlcXVpcmVkLCBidXQgb25seSAke2FyZ3NMZW5ndGh9IHByZXNlbnQuYCk7XG4gICAgICAgIH1cbiAgICAgICAgbmFtZSA9IFN0cmluZyhuYW1lKTtcbiAgICAgICAgbGV0IHZhbHVlO1xuICAgICAgICBpZiAoaXNGaWxlKHJhd1ZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWUgPSBmaWxlTmFtZSA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgICAgICAgPyByYXdWYWx1ZVxuICAgICAgICAgICAgICAgIDogbmV3IEZpbGUoW3Jhd1ZhbHVlXSwgZmlsZU5hbWUsIHtcbiAgICAgICAgICAgICAgICAgICAgdHlwZTogcmF3VmFsdWUudHlwZSxcbiAgICAgICAgICAgICAgICAgICAgbGFzdE1vZGlmaWVkOiByYXdWYWx1ZS5sYXN0TW9kaWZpZWRcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICBlbHNlIGlmIChpc0Jsb2IocmF3VmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZSA9IG5ldyBGaWxlKFtyYXdWYWx1ZV0sIGZpbGVOYW1lID09PSB1bmRlZmluZWQgPyBcImJsb2JcIiA6IGZpbGVOYW1lLCB7XG4gICAgICAgICAgICAgICAgdHlwZTogcmF3VmFsdWUudHlwZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSBpZiAoZmlsZU5hbWUpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYEZhaWxlZCB0byBleGVjdXRlICcke21ldGhvZE5hbWV9JyBvbiAnRm9ybURhdGEnOiBgXG4gICAgICAgICAgICAgICAgKyBcInBhcmFtZXRlciAyIGlzIG5vdCBvZiB0eXBlICdCbG9iJy5cIik7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICB2YWx1ZSA9IFN0cmluZyhyYXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgdmFsdWVzID0gX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRm9ybURhdGFfZW50cmllcywgXCJmXCIpLmdldChuYW1lKTtcbiAgICAgICAgaWYgKCF2YWx1ZXMpIHtcbiAgICAgICAgICAgIHJldHVybiB2b2lkIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhX2VudHJpZXMsIFwiZlwiKS5zZXQobmFtZSwgW3ZhbHVlXSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFhcHBlbmQpIHtcbiAgICAgICAgICAgIHJldHVybiB2b2lkIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhX2VudHJpZXMsIFwiZlwiKS5zZXQobmFtZSwgW3ZhbHVlXSk7XG4gICAgICAgIH1cbiAgICAgICAgdmFsdWVzLnB1c2godmFsdWUpO1xuICAgIH0sIFN5bWJvbC5pdGVyYXRvcildKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5lbnRyaWVzKCk7XG4gICAgfVxuICAgIGZvckVhY2goY2FsbGJhY2ssIHRoaXNBcmcpIHtcbiAgICAgICAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIHRoaXMpIHtcbiAgICAgICAgICAgIGNhbGxiYWNrLmNhbGwodGhpc0FyZywgdmFsdWUsIG5hbWUsIHRoaXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBbU3ltYm9sLnRvU3RyaW5nVGFnXSgpIHtcbiAgICAgICAgcmV0dXJuIFwiRm9ybURhdGFcIjtcbiAgICB9XG4gICAgW2luc3BlY3QuY3VzdG9tXSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXNbU3ltYm9sLnRvU3RyaW5nVGFnXTtcbiAgICB9XG59XG4iLCAiaW1wb3J0IHsgQmxvYiB9IGZyb20gXCIuL0Jsb2IuanNcIjtcbmV4cG9ydCBjb25zdCBpc0Jsb2IgPSAodmFsdWUpID0+IHZhbHVlIGluc3RhbmNlb2YgQmxvYjtcbiIsICJpbXBvcnQgeyBkZXByZWNhdGUgfSBmcm9tIFwidXRpbFwiO1xuZXhwb3J0IGNvbnN0IGRlcHJlY2F0ZUNvbnN0cnVjdG9yRW50cmllcyA9IGRlcHJlY2F0ZSgoKSA9PiB7IH0sIFwiQ29uc3RydWN0b3IgXFxcImVudHJpZXNcXFwiIGFyZ3VtZW50IGlzIG5vdCBzcGVjLWNvbXBsaWFudCBcIlxuICAgICsgXCJhbmQgd2lsbCBiZSByZW1vdmVkIGluIG5leHQgbWFqb3IgcmVsZWFzZS5cIik7XG4iLCAiZXhwb3J0ICogZnJvbSBcIi4vRm9ybURhdGEuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0Jsb2IuanNcIjtcbmV4cG9ydCAqIGZyb20gXCIuL0ZpbGUuanNcIjtcbiIsICJjb25zdCBhbHBoYWJldCA9IFwiYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5XCI7XG5mdW5jdGlvbiBjcmVhdGVCb3VuZGFyeSgpIHtcbiAgICBsZXQgc2l6ZSA9IDE2O1xuICAgIGxldCByZXMgPSBcIlwiO1xuICAgIHdoaWxlIChzaXplLS0pIHtcbiAgICAgICAgcmVzICs9IGFscGhhYmV0WyhNYXRoLnJhbmRvbSgpICogYWxwaGFiZXQubGVuZ3RoKSA8PCAwXTtcbiAgICB9XG4gICAgcmV0dXJuIHJlcztcbn1cbmV4cG9ydCBkZWZhdWx0IGNyZWF0ZUJvdW5kYXJ5O1xuIiwgImNvbnN0IGdldFR5cGUgPSAodmFsdWUpID0+IChPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwodmFsdWUpLnNsaWNlKDgsIC0xKS50b0xvd2VyQ2FzZSgpKTtcbmZ1bmN0aW9uIGlzUGxhaW5PYmplY3QodmFsdWUpIHtcbiAgICBpZiAoZ2V0VHlwZSh2YWx1ZSkgIT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBjb25zdCBwcCA9IE9iamVjdC5nZXRQcm90b3R5cGVPZih2YWx1ZSk7XG4gICAgaWYgKHBwID09PSBudWxsIHx8IHBwID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGNvbnN0IEN0b3IgPSBwcC5jb25zdHJ1Y3RvciAmJiBwcC5jb25zdHJ1Y3Rvci50b1N0cmluZygpO1xuICAgIHJldHVybiBDdG9yID09PSBPYmplY3QudG9TdHJpbmcoKTtcbn1cbmV4cG9ydCBkZWZhdWx0IGlzUGxhaW5PYmplY3Q7XG4iLCAiY29uc3Qgbm9ybWFsaXplVmFsdWUgPSAodmFsdWUpID0+IFN0cmluZyh2YWx1ZSlcbiAgICAucmVwbGFjZSgvXFxyfFxcbi9nLCAobWF0Y2gsIGksIHN0cikgPT4ge1xuICAgIGlmICgobWF0Y2ggPT09IFwiXFxyXCIgJiYgc3RyW2kgKyAxXSAhPT0gXCJcXG5cIilcbiAgICAgICAgfHwgKG1hdGNoID09PSBcIlxcblwiICYmIHN0cltpIC0gMV0gIT09IFwiXFxyXCIpKSB7XG4gICAgICAgIHJldHVybiBcIlxcclxcblwiO1xuICAgIH1cbiAgICByZXR1cm4gbWF0Y2g7XG59KTtcbmV4cG9ydCBkZWZhdWx0IG5vcm1hbGl6ZVZhbHVlO1xuIiwgImNvbnN0IGVzY2FwZU5hbWUgPSAobmFtZSkgPT4gU3RyaW5nKG5hbWUpXG4gICAgLnJlcGxhY2UoL1xcci9nLCBcIiUwRFwiKVxuICAgIC5yZXBsYWNlKC9cXG4vZywgXCIlMEFcIilcbiAgICAucmVwbGFjZSgvXCIvZywgXCIlMjJcIik7XG5leHBvcnQgZGVmYXVsdCBlc2NhcGVOYW1lO1xuIiwgImNvbnN0IGlzRnVuY3Rpb24gPSAodmFsdWUpID0+ICh0eXBlb2YgdmFsdWUgPT09IFwiZnVuY3Rpb25cIik7XG5leHBvcnQgZGVmYXVsdCBpc0Z1bmN0aW9uO1xuIiwgImltcG9ydCBpc0Z1bmN0aW9uIGZyb20gXCIuL2lzRnVuY3Rpb24uanNcIjtcbmV4cG9ydCBjb25zdCBpc0ZpbGVMaWtlID0gKHZhbHVlKSA9PiBCb29sZWFuKHZhbHVlXG4gICAgJiYgdHlwZW9mIHZhbHVlID09PSBcIm9iamVjdFwiXG4gICAgJiYgaXNGdW5jdGlvbih2YWx1ZS5jb25zdHJ1Y3RvcilcbiAgICAmJiB2YWx1ZVtTeW1ib2wudG9TdHJpbmdUYWddID09PSBcIkZpbGVcIlxuICAgICYmIGlzRnVuY3Rpb24odmFsdWUuc3RyZWFtKVxuICAgICYmIHZhbHVlLm5hbWUgIT0gbnVsbFxuICAgICYmIHZhbHVlLnNpemUgIT0gbnVsbFxuICAgICYmIHZhbHVlLmxhc3RNb2RpZmllZCAhPSBudWxsKTtcbiIsICJpbXBvcnQgaXNGdW5jdGlvbiBmcm9tIFwiLi9pc0Z1bmN0aW9uLmpzXCI7XG5leHBvcnQgY29uc3QgaXNGb3JtRGF0YSA9ICh2YWx1ZSkgPT4gQm9vbGVhbih2YWx1ZVxuICAgICYmIGlzRnVuY3Rpb24odmFsdWUuY29uc3RydWN0b3IpXG4gICAgJiYgdmFsdWVbU3ltYm9sLnRvU3RyaW5nVGFnXSA9PT0gXCJGb3JtRGF0YVwiXG4gICAgJiYgaXNGdW5jdGlvbih2YWx1ZS5hcHBlbmQpXG4gICAgJiYgaXNGdW5jdGlvbih2YWx1ZS5nZXRBbGwpXG4gICAgJiYgaXNGdW5jdGlvbih2YWx1ZS5lbnRyaWVzKVxuICAgICYmIGlzRnVuY3Rpb24odmFsdWVbU3ltYm9sLml0ZXJhdG9yXSkpO1xuZXhwb3J0IGNvbnN0IGlzRm9ybURhdGFMaWtlID0gaXNGb3JtRGF0YTtcbiIsICJ2YXIgX19jbGFzc1ByaXZhdGVGaWVsZFNldCA9ICh0aGlzICYmIHRoaXMuX19jbGFzc1ByaXZhdGVGaWVsZFNldCkgfHwgZnVuY3Rpb24gKHJlY2VpdmVyLCBzdGF0ZSwgdmFsdWUsIGtpbmQsIGYpIHtcbiAgICBpZiAoa2luZCA9PT0gXCJtXCIpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIG1ldGhvZCBpcyBub3Qgd3JpdGFibGVcIik7XG4gICAgaWYgKGtpbmQgPT09IFwiYVwiICYmICFmKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiUHJpdmF0ZSBhY2Nlc3NvciB3YXMgZGVmaW5lZCB3aXRob3V0IGEgc2V0dGVyXCIpO1xuICAgIGlmICh0eXBlb2Ygc3RhdGUgPT09IFwiZnVuY3Rpb25cIiA/IHJlY2VpdmVyICE9PSBzdGF0ZSB8fCAhZiA6ICFzdGF0ZS5oYXMocmVjZWl2ZXIpKSB0aHJvdyBuZXcgVHlwZUVycm9yKFwiQ2Fubm90IHdyaXRlIHByaXZhdGUgbWVtYmVyIHRvIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XG4gICAgcmV0dXJuIChraW5kID09PSBcImFcIiA/IGYuY2FsbChyZWNlaXZlciwgdmFsdWUpIDogZiA/IGYudmFsdWUgPSB2YWx1ZSA6IHN0YXRlLnNldChyZWNlaXZlciwgdmFsdWUpKSwgdmFsdWU7XG59O1xudmFyIF9fY2xhc3NQcml2YXRlRmllbGRHZXQgPSAodGhpcyAmJiB0aGlzLl9fY2xhc3NQcml2YXRlRmllbGRHZXQpIHx8IGZ1bmN0aW9uIChyZWNlaXZlciwgc3RhdGUsIGtpbmQsIGYpIHtcbiAgICBpZiAoa2luZCA9PT0gXCJhXCIgJiYgIWYpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJQcml2YXRlIGFjY2Vzc29yIHdhcyBkZWZpbmVkIHdpdGhvdXQgYSBnZXR0ZXJcIik7XG4gICAgaWYgKHR5cGVvZiBzdGF0ZSA9PT0gXCJmdW5jdGlvblwiID8gcmVjZWl2ZXIgIT09IHN0YXRlIHx8ICFmIDogIXN0YXRlLmhhcyhyZWNlaXZlcikpIHRocm93IG5ldyBUeXBlRXJyb3IoXCJDYW5ub3QgcmVhZCBwcml2YXRlIG1lbWJlciBmcm9tIGFuIG9iamVjdCB3aG9zZSBjbGFzcyBkaWQgbm90IGRlY2xhcmUgaXRcIik7XG4gICAgcmV0dXJuIGtpbmQgPT09IFwibVwiID8gZiA6IGtpbmQgPT09IFwiYVwiID8gZi5jYWxsKHJlY2VpdmVyKSA6IGYgPyBmLnZhbHVlIDogc3RhdGUuZ2V0KHJlY2VpdmVyKTtcbn07XG52YXIgX0Zvcm1EYXRhRW5jb2Rlcl9pbnN0YW5jZXMsIF9Gb3JtRGF0YUVuY29kZXJfQ1JMRiwgX0Zvcm1EYXRhRW5jb2Rlcl9DUkxGX0JZVEVTLCBfRm9ybURhdGFFbmNvZGVyX0NSTEZfQllURVNfTEVOR1RILCBfRm9ybURhdGFFbmNvZGVyX0RBU0hFUywgX0Zvcm1EYXRhRW5jb2Rlcl9lbmNvZGVyLCBfRm9ybURhdGFFbmNvZGVyX2Zvb3RlciwgX0Zvcm1EYXRhRW5jb2Rlcl9mb3JtLCBfRm9ybURhdGFFbmNvZGVyX29wdGlvbnMsIF9Gb3JtRGF0YUVuY29kZXJfZ2V0RmllbGRIZWFkZXI7XG5pbXBvcnQgY3JlYXRlQm91bmRhcnkgZnJvbSBcIi4vdXRpbC9jcmVhdGVCb3VuZGFyeS5qc1wiO1xuaW1wb3J0IGlzUGxhaW5PYmplY3QgZnJvbSBcIi4vdXRpbC9pc1BsYWluT2JqZWN0LmpzXCI7XG5pbXBvcnQgbm9ybWFsaXplIGZyb20gXCIuL3V0aWwvbm9ybWFsaXplVmFsdWUuanNcIjtcbmltcG9ydCBlc2NhcGUgZnJvbSBcIi4vdXRpbC9lc2NhcGVOYW1lLmpzXCI7XG5pbXBvcnQgeyBpc0ZpbGVMaWtlIH0gZnJvbSBcIi4vdXRpbC9pc0ZpbGVMaWtlLmpzXCI7XG5pbXBvcnQgeyBpc0Zvcm1EYXRhIH0gZnJvbSBcIi4vdXRpbC9pc0Zvcm1EYXRhLmpzXCI7XG5jb25zdCBkZWZhdWx0T3B0aW9ucyA9IHtcbiAgICBlbmFibGVBZGRpdGlvbmFsSGVhZGVyczogZmFsc2Vcbn07XG5leHBvcnQgY2xhc3MgRm9ybURhdGFFbmNvZGVyIHtcbiAgICBjb25zdHJ1Y3Rvcihmb3JtLCBib3VuZGFyeU9yT3B0aW9ucywgb3B0aW9ucykge1xuICAgICAgICBfRm9ybURhdGFFbmNvZGVyX2luc3RhbmNlcy5hZGQodGhpcyk7XG4gICAgICAgIF9Gb3JtRGF0YUVuY29kZXJfQ1JMRi5zZXQodGhpcywgXCJcXHJcXG5cIik7XG4gICAgICAgIF9Gb3JtRGF0YUVuY29kZXJfQ1JMRl9CWVRFUy5zZXQodGhpcywgdm9pZCAwKTtcbiAgICAgICAgX0Zvcm1EYXRhRW5jb2Rlcl9DUkxGX0JZVEVTX0xFTkdUSC5zZXQodGhpcywgdm9pZCAwKTtcbiAgICAgICAgX0Zvcm1EYXRhRW5jb2Rlcl9EQVNIRVMuc2V0KHRoaXMsIFwiLVwiLnJlcGVhdCgyKSk7XG4gICAgICAgIF9Gb3JtRGF0YUVuY29kZXJfZW5jb2Rlci5zZXQodGhpcywgbmV3IFRleHRFbmNvZGVyKCkpO1xuICAgICAgICBfRm9ybURhdGFFbmNvZGVyX2Zvb3Rlci5zZXQodGhpcywgdm9pZCAwKTtcbiAgICAgICAgX0Zvcm1EYXRhRW5jb2Rlcl9mb3JtLnNldCh0aGlzLCB2b2lkIDApO1xuICAgICAgICBfRm9ybURhdGFFbmNvZGVyX29wdGlvbnMuc2V0KHRoaXMsIHZvaWQgMCk7XG4gICAgICAgIGlmICghaXNGb3JtRGF0YShmb3JtKSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcIkV4cGVjdGVkIGZpcnN0IGFyZ3VtZW50IHRvIGJlIGEgRm9ybURhdGEgaW5zdGFuY2UuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGxldCBib3VuZGFyeTtcbiAgICAgICAgaWYgKGlzUGxhaW5PYmplY3QoYm91bmRhcnlPck9wdGlvbnMpKSB7XG4gICAgICAgICAgICBvcHRpb25zID0gYm91bmRhcnlPck9wdGlvbnM7XG4gICAgICAgIH1cbiAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICBib3VuZGFyeSA9IGJvdW5kYXJ5T3JPcHRpb25zO1xuICAgICAgICB9XG4gICAgICAgIGlmICghYm91bmRhcnkpIHtcbiAgICAgICAgICAgIGJvdW5kYXJ5ID0gY3JlYXRlQm91bmRhcnkoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodHlwZW9mIGJvdW5kYXJ5ICE9PSBcInN0cmluZ1wiKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgYm91bmRhcnkgYXJndW1lbnQgdG8gYmUgYSBzdHJpbmcuXCIpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChvcHRpb25zICYmICFpc1BsYWluT2JqZWN0KG9wdGlvbnMpKSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiRXhwZWN0ZWQgb3B0aW9ucyBhcmd1bWVudCB0byBiZSBhbiBvYmplY3QuXCIpO1xuICAgICAgICB9XG4gICAgICAgIF9fY2xhc3NQcml2YXRlRmllbGRTZXQodGhpcywgX0Zvcm1EYXRhRW5jb2Rlcl9mb3JtLCBmb3JtLCBcImZcIik7XG4gICAgICAgIF9fY2xhc3NQcml2YXRlRmllbGRTZXQodGhpcywgX0Zvcm1EYXRhRW5jb2Rlcl9vcHRpb25zLCB7IC4uLmRlZmF1bHRPcHRpb25zLCAuLi5vcHRpb25zIH0sIFwiZlwiKTtcbiAgICAgICAgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfRm9ybURhdGFFbmNvZGVyX0NSTEZfQllURVMsIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhRW5jb2Rlcl9lbmNvZGVyLCBcImZcIikuZW5jb2RlKF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhRW5jb2Rlcl9DUkxGLCBcImZcIikpLCBcImZcIik7XG4gICAgICAgIF9fY2xhc3NQcml2YXRlRmllbGRTZXQodGhpcywgX0Zvcm1EYXRhRW5jb2Rlcl9DUkxGX0JZVEVTX0xFTkdUSCwgX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRm9ybURhdGFFbmNvZGVyX0NSTEZfQllURVMsIFwiZlwiKS5ieXRlTGVuZ3RoLCBcImZcIik7XG4gICAgICAgIHRoaXMuYm91bmRhcnkgPSBgZm9ybS1kYXRhLWJvdW5kYXJ5LSR7Ym91bmRhcnl9YDtcbiAgICAgICAgdGhpcy5jb250ZW50VHlwZSA9IGBtdWx0aXBhcnQvZm9ybS1kYXRhOyBib3VuZGFyeT0ke3RoaXMuYm91bmRhcnl9YDtcbiAgICAgICAgX19jbGFzc1ByaXZhdGVGaWVsZFNldCh0aGlzLCBfRm9ybURhdGFFbmNvZGVyX2Zvb3RlciwgX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRm9ybURhdGFFbmNvZGVyX2VuY29kZXIsIFwiZlwiKS5lbmNvZGUoYCR7X19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRm9ybURhdGFFbmNvZGVyX0RBU0hFUywgXCJmXCIpfSR7dGhpcy5ib3VuZGFyeX0ke19fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhRW5jb2Rlcl9EQVNIRVMsIFwiZlwiKX0ke19fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhRW5jb2Rlcl9DUkxGLCBcImZcIikucmVwZWF0KDIpfWApLCBcImZcIik7XG4gICAgICAgIHRoaXMuY29udGVudExlbmd0aCA9IFN0cmluZyh0aGlzLmdldENvbnRlbnRMZW5ndGgoKSk7XG4gICAgICAgIHRoaXMuaGVhZGVycyA9IE9iamVjdC5mcmVlemUoe1xuICAgICAgICAgICAgXCJDb250ZW50LVR5cGVcIjogdGhpcy5jb250ZW50VHlwZSxcbiAgICAgICAgICAgIFwiQ29udGVudC1MZW5ndGhcIjogdGhpcy5jb250ZW50TGVuZ3RoXG4gICAgICAgIH0pO1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0aGlzLCB7XG4gICAgICAgICAgICBib3VuZGFyeTogeyB3cml0YWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogZmFsc2UgfSxcbiAgICAgICAgICAgIGNvbnRlbnRUeXBlOiB7IHdyaXRhYmxlOiBmYWxzZSwgY29uZmlndXJhYmxlOiBmYWxzZSB9LFxuICAgICAgICAgICAgY29udGVudExlbmd0aDogeyB3cml0YWJsZTogZmFsc2UsIGNvbmZpZ3VyYWJsZTogZmFsc2UgfSxcbiAgICAgICAgICAgIGhlYWRlcnM6IHsgd3JpdGFibGU6IGZhbHNlLCBjb25maWd1cmFibGU6IGZhbHNlIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICAgIGdldENvbnRlbnRMZW5ndGgoKSB7XG4gICAgICAgIGxldCBsZW5ndGggPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IFtuYW1lLCByYXddIG9mIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhRW5jb2Rlcl9mb3JtLCBcImZcIikpIHtcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlID0gaXNGaWxlTGlrZShyYXcpID8gcmF3IDogX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRm9ybURhdGFFbmNvZGVyX2VuY29kZXIsIFwiZlwiKS5lbmNvZGUobm9ybWFsaXplKHJhdykpO1xuICAgICAgICAgICAgbGVuZ3RoICs9IF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhRW5jb2Rlcl9pbnN0YW5jZXMsIFwibVwiLCBfRm9ybURhdGFFbmNvZGVyX2dldEZpZWxkSGVhZGVyKS5jYWxsKHRoaXMsIG5hbWUsIHZhbHVlKS5ieXRlTGVuZ3RoO1xuICAgICAgICAgICAgbGVuZ3RoICs9IGlzRmlsZUxpa2UodmFsdWUpID8gdmFsdWUuc2l6ZSA6IHZhbHVlLmJ5dGVMZW5ndGg7XG4gICAgICAgICAgICBsZW5ndGggKz0gX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRm9ybURhdGFFbmNvZGVyX0NSTEZfQllURVNfTEVOR1RILCBcImZcIik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGxlbmd0aCArIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhRW5jb2Rlcl9mb290ZXIsIFwiZlwiKS5ieXRlTGVuZ3RoO1xuICAgIH1cbiAgICAqdmFsdWVzKCkge1xuICAgICAgICBmb3IgKGNvbnN0IFtuYW1lLCByYXddIG9mIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhRW5jb2Rlcl9mb3JtLCBcImZcIikuZW50cmllcygpKSB7XG4gICAgICAgICAgICBjb25zdCB2YWx1ZSA9IGlzRmlsZUxpa2UocmF3KSA/IHJhdyA6IF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhRW5jb2Rlcl9lbmNvZGVyLCBcImZcIikuZW5jb2RlKG5vcm1hbGl6ZShyYXcpKTtcbiAgICAgICAgICAgIHlpZWxkIF9fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhRW5jb2Rlcl9pbnN0YW5jZXMsIFwibVwiLCBfRm9ybURhdGFFbmNvZGVyX2dldEZpZWxkSGVhZGVyKS5jYWxsKHRoaXMsIG5hbWUsIHZhbHVlKTtcbiAgICAgICAgICAgIHlpZWxkIHZhbHVlO1xuICAgICAgICAgICAgeWllbGQgX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRm9ybURhdGFFbmNvZGVyX0NSTEZfQllURVMsIFwiZlwiKTtcbiAgICAgICAgfVxuICAgICAgICB5aWVsZCBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9Gb3JtRGF0YUVuY29kZXJfZm9vdGVyLCBcImZcIik7XG4gICAgfVxuICAgIGFzeW5jICplbmNvZGUoKSB7XG4gICAgICAgIGZvciAoY29uc3QgcGFydCBvZiB0aGlzLnZhbHVlcygpKSB7XG4gICAgICAgICAgICBpZiAoaXNGaWxlTGlrZShwYXJ0KSkge1xuICAgICAgICAgICAgICAgIHlpZWxkKiBwYXJ0LnN0cmVhbSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgICAgeWllbGQgcGFydDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBbKF9Gb3JtRGF0YUVuY29kZXJfQ1JMRiA9IG5ldyBXZWFrTWFwKCksIF9Gb3JtRGF0YUVuY29kZXJfQ1JMRl9CWVRFUyA9IG5ldyBXZWFrTWFwKCksIF9Gb3JtRGF0YUVuY29kZXJfQ1JMRl9CWVRFU19MRU5HVEggPSBuZXcgV2Vha01hcCgpLCBfRm9ybURhdGFFbmNvZGVyX0RBU0hFUyA9IG5ldyBXZWFrTWFwKCksIF9Gb3JtRGF0YUVuY29kZXJfZW5jb2RlciA9IG5ldyBXZWFrTWFwKCksIF9Gb3JtRGF0YUVuY29kZXJfZm9vdGVyID0gbmV3IFdlYWtNYXAoKSwgX0Zvcm1EYXRhRW5jb2Rlcl9mb3JtID0gbmV3IFdlYWtNYXAoKSwgX0Zvcm1EYXRhRW5jb2Rlcl9vcHRpb25zID0gbmV3IFdlYWtNYXAoKSwgX0Zvcm1EYXRhRW5jb2Rlcl9pbnN0YW5jZXMgPSBuZXcgV2Vha1NldCgpLCBfRm9ybURhdGFFbmNvZGVyX2dldEZpZWxkSGVhZGVyID0gZnVuY3Rpb24gX0Zvcm1EYXRhRW5jb2Rlcl9nZXRGaWVsZEhlYWRlcihuYW1lLCB2YWx1ZSkge1xuICAgICAgICBsZXQgaGVhZGVyID0gXCJcIjtcbiAgICAgICAgaGVhZGVyICs9IGAke19fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhRW5jb2Rlcl9EQVNIRVMsIFwiZlwiKX0ke3RoaXMuYm91bmRhcnl9JHtfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9Gb3JtRGF0YUVuY29kZXJfQ1JMRiwgXCJmXCIpfWA7XG4gICAgICAgIGhlYWRlciArPSBgQ29udGVudC1EaXNwb3NpdGlvbjogZm9ybS1kYXRhOyBuYW1lPVwiJHtlc2NhcGUobmFtZSl9XCJgO1xuICAgICAgICBpZiAoaXNGaWxlTGlrZSh2YWx1ZSkpIHtcbiAgICAgICAgICAgIGhlYWRlciArPSBgOyBmaWxlbmFtZT1cIiR7ZXNjYXBlKHZhbHVlLm5hbWUpfVwiJHtfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9Gb3JtRGF0YUVuY29kZXJfQ1JMRiwgXCJmXCIpfWA7XG4gICAgICAgICAgICBoZWFkZXIgKz0gYENvbnRlbnQtVHlwZTogJHt2YWx1ZS50eXBlIHx8IFwiYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtXCJ9YDtcbiAgICAgICAgfVxuICAgICAgICBpZiAoX19jbGFzc1ByaXZhdGVGaWVsZEdldCh0aGlzLCBfRm9ybURhdGFFbmNvZGVyX29wdGlvbnMsIFwiZlwiKS5lbmFibGVBZGRpdGlvbmFsSGVhZGVycyA9PT0gdHJ1ZSkge1xuICAgICAgICAgICAgaGVhZGVyICs9IGAke19fY2xhc3NQcml2YXRlRmllbGRHZXQodGhpcywgX0Zvcm1EYXRhRW5jb2Rlcl9DUkxGLCBcImZcIil9Q29udGVudC1MZW5ndGg6ICR7aXNGaWxlTGlrZSh2YWx1ZSkgPyB2YWx1ZS5zaXplIDogdmFsdWUuYnl0ZUxlbmd0aH1gO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9Gb3JtRGF0YUVuY29kZXJfZW5jb2RlciwgXCJmXCIpLmVuY29kZShgJHtoZWFkZXJ9JHtfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0KHRoaXMsIF9Gb3JtRGF0YUVuY29kZXJfQ1JMRiwgXCJmXCIpLnJlcGVhdCgyKX1gKTtcbiAgICB9LCBTeW1ib2wuaXRlcmF0b3IpXSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWVzKCk7XG4gICAgfVxuICAgIFtTeW1ib2wuYXN5bmNJdGVyYXRvcl0oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVuY29kZSgpO1xuICAgIH1cbn1cbmV4cG9ydCBjb25zdCBFbmNvZGVyID0gRm9ybURhdGFFbmNvZGVyO1xuIiwgIi8qKlxuICogRGlzY2xhaW1lcjogbW9kdWxlcyBpbiBfc2hpbXMgYXJlbid0IGludGVuZGVkIHRvIGJlIGltcG9ydGVkIGJ5IFNESyB1c2Vycy5cbiAqL1xuZXhwb3J0IGNsYXNzIE11bHRpcGFydEJvZHkge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgYm9keTogYW55KSB7fVxuICBnZXQgW1N5bWJvbC50b1N0cmluZ1RhZ10oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gJ011bHRpcGFydEJvZHknO1xuICB9XG59XG4iLCAiLyoqXG4gKiBEaXNjbGFpbWVyOiBtb2R1bGVzIGluIF9zaGltcyBhcmVuJ3QgaW50ZW5kZWQgdG8gYmUgaW1wb3J0ZWQgYnkgU0RLIHVzZXJzLlxuICovXG5pbXBvcnQgKiBhcyBzaGltcyBmcm9tICcuL3JlZ2lzdHJ5Lm1qcyc7XG5pbXBvcnQgKiBhcyBhdXRvIGZyb20gJ29wZW5haS9fc2hpbXMvYXV0by9ydW50aW1lJztcbmlmICghc2hpbXMua2luZCkgc2hpbXMuc2V0U2hpbXMoYXV0by5nZXRSdW50aW1lKCksIHsgYXV0bzogdHJ1ZSB9KTtcbmV4cG9ydCAqIGZyb20gJy4vcmVnaXN0cnkubWpzJztcbiIsICIvLyBGaWxlIGdlbmVyYXRlZCBmcm9tIG91ciBPcGVuQVBJIHNwZWMgYnkgU3RhaW5sZXNzLlxuXG5pbXBvcnQgeyBjYXN0VG9FcnJvciwgSGVhZGVycyB9IGZyb20gJy4vY29yZSc7XG5cbmV4cG9ydCBjbGFzcyBPcGVuQUlFcnJvciBleHRlbmRzIEVycm9yIHt9XG5cbmV4cG9ydCBjbGFzcyBBUElFcnJvciBleHRlbmRzIE9wZW5BSUVycm9yIHtcbiAgcmVhZG9ubHkgc3RhdHVzOiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gIHJlYWRvbmx5IGhlYWRlcnM6IEhlYWRlcnMgfCB1bmRlZmluZWQ7XG4gIHJlYWRvbmx5IGVycm9yOiBPYmplY3QgfCB1bmRlZmluZWQ7XG5cbiAgcmVhZG9ubHkgY29kZTogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgcmVhZG9ubHkgcGFyYW06IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzdGF0dXM6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgICBlcnJvcjogT2JqZWN0IHwgdW5kZWZpbmVkLFxuICAgIG1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBoZWFkZXJzOiBIZWFkZXJzIHwgdW5kZWZpbmVkLFxuICApIHtcbiAgICBzdXBlcihgJHtBUElFcnJvci5tYWtlTWVzc2FnZShzdGF0dXMsIGVycm9yLCBtZXNzYWdlKX1gKTtcbiAgICB0aGlzLnN0YXR1cyA9IHN0YXR1cztcbiAgICB0aGlzLmhlYWRlcnMgPSBoZWFkZXJzO1xuXG4gICAgY29uc3QgZGF0YSA9IGVycm9yIGFzIFJlY29yZDxzdHJpbmcsIGFueT47XG4gICAgdGhpcy5lcnJvciA9IGRhdGE7XG4gICAgdGhpcy5jb2RlID0gZGF0YT8uWydjb2RlJ107XG4gICAgdGhpcy5wYXJhbSA9IGRhdGE/LlsncGFyYW0nXTtcbiAgICB0aGlzLnR5cGUgPSBkYXRhPy5bJ3R5cGUnXTtcbiAgfVxuXG4gIHByaXZhdGUgc3RhdGljIG1ha2VNZXNzYWdlKHN0YXR1czogbnVtYmVyIHwgdW5kZWZpbmVkLCBlcnJvcjogYW55LCBtZXNzYWdlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBjb25zdCBtc2cgPVxuICAgICAgZXJyb3I/Lm1lc3NhZ2UgP1xuICAgICAgICB0eXBlb2YgZXJyb3IubWVzc2FnZSA9PT0gJ3N0cmluZycgP1xuICAgICAgICAgIGVycm9yLm1lc3NhZ2VcbiAgICAgICAgOiBKU09OLnN0cmluZ2lmeShlcnJvci5tZXNzYWdlKVxuICAgICAgOiBlcnJvciA/IEpTT04uc3RyaW5naWZ5KGVycm9yKVxuICAgICAgOiBtZXNzYWdlO1xuXG4gICAgaWYgKHN0YXR1cyAmJiBtc2cpIHtcbiAgICAgIHJldHVybiBgJHtzdGF0dXN9ICR7bXNnfWA7XG4gICAgfVxuICAgIGlmIChzdGF0dXMpIHtcbiAgICAgIHJldHVybiBgJHtzdGF0dXN9IHN0YXR1cyBjb2RlIChubyBib2R5KWA7XG4gICAgfVxuICAgIGlmIChtc2cpIHtcbiAgICAgIHJldHVybiBtc2c7XG4gICAgfVxuICAgIHJldHVybiAnKG5vIHN0YXR1cyBjb2RlIG9yIGJvZHkpJztcbiAgfVxuXG4gIHN0YXRpYyBnZW5lcmF0ZShcbiAgICBzdGF0dXM6IG51bWJlciB8IHVuZGVmaW5lZCxcbiAgICBlcnJvclJlc3BvbnNlOiBPYmplY3QgfCB1bmRlZmluZWQsXG4gICAgbWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGhlYWRlcnM6IEhlYWRlcnMgfCB1bmRlZmluZWQsXG4gICkge1xuICAgIGlmICghc3RhdHVzKSB7XG4gICAgICByZXR1cm4gbmV3IEFQSUNvbm5lY3Rpb25FcnJvcih7IGNhdXNlOiBjYXN0VG9FcnJvcihlcnJvclJlc3BvbnNlKSB9KTtcbiAgICB9XG5cbiAgICBjb25zdCBlcnJvciA9IChlcnJvclJlc3BvbnNlIGFzIFJlY29yZDxzdHJpbmcsIGFueT4pPy5bJ2Vycm9yJ107XG5cbiAgICBpZiAoc3RhdHVzID09PSA0MDApIHtcbiAgICAgIHJldHVybiBuZXcgQmFkUmVxdWVzdEVycm9yKHN0YXR1cywgZXJyb3IsIG1lc3NhZ2UsIGhlYWRlcnMpO1xuICAgIH1cblxuICAgIGlmIChzdGF0dXMgPT09IDQwMSkge1xuICAgICAgcmV0dXJuIG5ldyBBdXRoZW50aWNhdGlvbkVycm9yKHN0YXR1cywgZXJyb3IsIG1lc3NhZ2UsIGhlYWRlcnMpO1xuICAgIH1cblxuICAgIGlmIChzdGF0dXMgPT09IDQwMykge1xuICAgICAgcmV0dXJuIG5ldyBQZXJtaXNzaW9uRGVuaWVkRXJyb3Ioc3RhdHVzLCBlcnJvciwgbWVzc2FnZSwgaGVhZGVycyk7XG4gICAgfVxuXG4gICAgaWYgKHN0YXR1cyA9PT0gNDA0KSB7XG4gICAgICByZXR1cm4gbmV3IE5vdEZvdW5kRXJyb3Ioc3RhdHVzLCBlcnJvciwgbWVzc2FnZSwgaGVhZGVycyk7XG4gICAgfVxuXG4gICAgaWYgKHN0YXR1cyA9PT0gNDA5KSB7XG4gICAgICByZXR1cm4gbmV3IENvbmZsaWN0RXJyb3Ioc3RhdHVzLCBlcnJvciwgbWVzc2FnZSwgaGVhZGVycyk7XG4gICAgfVxuXG4gICAgaWYgKHN0YXR1cyA9PT0gNDIyKSB7XG4gICAgICByZXR1cm4gbmV3IFVucHJvY2Vzc2FibGVFbnRpdHlFcnJvcihzdGF0dXMsIGVycm9yLCBtZXNzYWdlLCBoZWFkZXJzKTtcbiAgICB9XG5cbiAgICBpZiAoc3RhdHVzID09PSA0MjkpIHtcbiAgICAgIHJldHVybiBuZXcgUmF0ZUxpbWl0RXJyb3Ioc3RhdHVzLCBlcnJvciwgbWVzc2FnZSwgaGVhZGVycyk7XG4gICAgfVxuXG4gICAgaWYgKHN0YXR1cyA+PSA1MDApIHtcbiAgICAgIHJldHVybiBuZXcgSW50ZXJuYWxTZXJ2ZXJFcnJvcihzdGF0dXMsIGVycm9yLCBtZXNzYWdlLCBoZWFkZXJzKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbmV3IEFQSUVycm9yKHN0YXR1cywgZXJyb3IsIG1lc3NhZ2UsIGhlYWRlcnMpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBUElVc2VyQWJvcnRFcnJvciBleHRlbmRzIEFQSUVycm9yIHtcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgc3RhdHVzOiB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgY29uc3RydWN0b3IoeyBtZXNzYWdlIH06IHsgbWVzc2FnZT86IHN0cmluZyB9ID0ge30pIHtcbiAgICBzdXBlcih1bmRlZmluZWQsIHVuZGVmaW5lZCwgbWVzc2FnZSB8fCAnUmVxdWVzdCB3YXMgYWJvcnRlZC4nLCB1bmRlZmluZWQpO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBUElDb25uZWN0aW9uRXJyb3IgZXh0ZW5kcyBBUElFcnJvciB7XG4gIG92ZXJyaWRlIHJlYWRvbmx5IHN0YXR1czogdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKHsgbWVzc2FnZSwgY2F1c2UgfTogeyBtZXNzYWdlPzogc3RyaW5nOyBjYXVzZT86IEVycm9yIHwgdW5kZWZpbmVkIH0pIHtcbiAgICBzdXBlcih1bmRlZmluZWQsIHVuZGVmaW5lZCwgbWVzc2FnZSB8fCAnQ29ubmVjdGlvbiBlcnJvci4nLCB1bmRlZmluZWQpO1xuICAgIC8vIGluIHNvbWUgZW52aXJvbm1lbnRzIHRoZSAnY2F1c2UnIHByb3BlcnR5IGlzIGFscmVhZHkgZGVjbGFyZWRcbiAgICAvLyBAdHMtaWdub3JlXG4gICAgaWYgKGNhdXNlKSB0aGlzLmNhdXNlID0gY2F1c2U7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFQSUNvbm5lY3Rpb25UaW1lb3V0RXJyb3IgZXh0ZW5kcyBBUElDb25uZWN0aW9uRXJyb3Ige1xuICBjb25zdHJ1Y3Rvcih7IG1lc3NhZ2UgfTogeyBtZXNzYWdlPzogc3RyaW5nIH0gPSB7fSkge1xuICAgIHN1cGVyKHsgbWVzc2FnZTogbWVzc2FnZSA/PyAnUmVxdWVzdCB0aW1lZCBvdXQuJyB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgQmFkUmVxdWVzdEVycm9yIGV4dGVuZHMgQVBJRXJyb3Ige1xuICBvdmVycmlkZSByZWFkb25seSBzdGF0dXM6IDQwMCA9IDQwMDtcbn1cblxuZXhwb3J0IGNsYXNzIEF1dGhlbnRpY2F0aW9uRXJyb3IgZXh0ZW5kcyBBUElFcnJvciB7XG4gIG92ZXJyaWRlIHJlYWRvbmx5IHN0YXR1czogNDAxID0gNDAxO1xufVxuXG5leHBvcnQgY2xhc3MgUGVybWlzc2lvbkRlbmllZEVycm9yIGV4dGVuZHMgQVBJRXJyb3Ige1xuICBvdmVycmlkZSByZWFkb25seSBzdGF0dXM6IDQwMyA9IDQwMztcbn1cblxuZXhwb3J0IGNsYXNzIE5vdEZvdW5kRXJyb3IgZXh0ZW5kcyBBUElFcnJvciB7XG4gIG92ZXJyaWRlIHJlYWRvbmx5IHN0YXR1czogNDA0ID0gNDA0O1xufVxuXG5leHBvcnQgY2xhc3MgQ29uZmxpY3RFcnJvciBleHRlbmRzIEFQSUVycm9yIHtcbiAgb3ZlcnJpZGUgcmVhZG9ubHkgc3RhdHVzOiA0MDkgPSA0MDk7XG59XG5cbmV4cG9ydCBjbGFzcyBVbnByb2Nlc3NhYmxlRW50aXR5RXJyb3IgZXh0ZW5kcyBBUElFcnJvciB7XG4gIG92ZXJyaWRlIHJlYWRvbmx5IHN0YXR1czogNDIyID0gNDIyO1xufVxuXG5leHBvcnQgY2xhc3MgUmF0ZUxpbWl0RXJyb3IgZXh0ZW5kcyBBUElFcnJvciB7XG4gIG92ZXJyaWRlIHJlYWRvbmx5IHN0YXR1czogNDI5ID0gNDI5O1xufVxuXG5leHBvcnQgY2xhc3MgSW50ZXJuYWxTZXJ2ZXJFcnJvciBleHRlbmRzIEFQSUVycm9yIHt9XG4iLCAiaW1wb3J0IHsgUmVhZGFibGVTdHJlYW0sIHR5cGUgUmVzcG9uc2UgfSBmcm9tICcuL19zaGltcy9pbmRleCc7XG5pbXBvcnQgeyBPcGVuQUlFcnJvciB9IGZyb20gJy4vZXJyb3InO1xuXG5pbXBvcnQgeyBBUElFcnJvciB9IGZyb20gXCIuL2Vycm9yXCI7XG5cbnR5cGUgQnl0ZXMgPSBzdHJpbmcgfCBBcnJheUJ1ZmZlciB8IFVpbnQ4QXJyYXkgfCBCdWZmZXIgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG50eXBlIFNlcnZlclNlbnRFdmVudCA9IHtcbiAgZXZlbnQ6IHN0cmluZyB8IG51bGw7XG4gIGRhdGE6IHN0cmluZztcbiAgcmF3OiBzdHJpbmdbXTtcbn07XG5cbmV4cG9ydCBjbGFzcyBTdHJlYW08SXRlbT4gaW1wbGVtZW50cyBBc3luY0l0ZXJhYmxlPEl0ZW0+IHtcbiAgY29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgaXRlcmF0b3I6ICgpID0+IEFzeW5jSXRlcmF0b3I8SXRlbT4sXG4gICAgY29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyLFxuICApIHtcbiAgICB0aGlzLmNvbnRyb2xsZXIgPSBjb250cm9sbGVyO1xuICB9XG5cbiAgc3RhdGljIGZyb21TU0VSZXNwb25zZTxJdGVtPihyZXNwb25zZTogUmVzcG9uc2UsIGNvbnRyb2xsZXI6IEFib3J0Q29udHJvbGxlcikge1xuICAgIGxldCBjb25zdW1lZCA9IGZhbHNlO1xuICAgIGNvbnN0IGRlY29kZXIgPSBuZXcgU1NFRGVjb2RlcigpO1xuXG4gICAgYXN5bmMgZnVuY3Rpb24qIGl0ZXJNZXNzYWdlcygpOiBBc3luY0dlbmVyYXRvcjxTZXJ2ZXJTZW50RXZlbnQsIHZvaWQsIHVua25vd24+IHtcbiAgICAgIGlmICghcmVzcG9uc2UuYm9keSkge1xuICAgICAgICBjb250cm9sbGVyLmFib3J0KCk7XG4gICAgICAgIHRocm93IG5ldyBPcGVuQUlFcnJvcihgQXR0ZW1wdGVkIHRvIGl0ZXJhdGUgb3ZlciBhIHJlc3BvbnNlIHdpdGggbm8gYm9keWApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBsaW5lRGVjb2RlciA9IG5ldyBMaW5lRGVjb2RlcigpO1xuXG4gICAgICBjb25zdCBpdGVyID0gcmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhYmxlPEJ5dGVzPihyZXNwb25zZS5ib2R5KTtcbiAgICAgIGZvciBhd2FpdCAoY29uc3QgY2h1bmsgb2YgaXRlcikge1xuICAgICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZURlY29kZXIuZGVjb2RlKGNodW5rKSkge1xuICAgICAgICAgIGNvbnN0IHNzZSA9IGRlY29kZXIuZGVjb2RlKGxpbmUpO1xuICAgICAgICAgIGlmIChzc2UpIHlpZWxkIHNzZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZURlY29kZXIuZmx1c2goKSkge1xuICAgICAgICBjb25zdCBzc2UgPSBkZWNvZGVyLmRlY29kZShsaW5lKTtcbiAgICAgICAgaWYgKHNzZSkgeWllbGQgc3NlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIGZ1bmN0aW9uKiBpdGVyYXRvcigpOiBBc3luY0l0ZXJhdG9yPEl0ZW0sIGFueSwgdW5kZWZpbmVkPiB7XG4gICAgICBpZiAoY29uc3VtZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgaXRlcmF0ZSBvdmVyIGEgY29uc3VtZWQgc3RyZWFtLCB1c2UgYC50ZWUoKWAgdG8gc3BsaXQgdGhlIHN0cmVhbS4nKTtcbiAgICAgIH1cbiAgICAgIGNvbnN1bWVkID0gdHJ1ZTtcbiAgICAgIGxldCBkb25lID0gZmFsc2U7XG4gICAgICB0cnkge1xuICAgICAgICBmb3IgYXdhaXQgKGNvbnN0IHNzZSBvZiBpdGVyTWVzc2FnZXMoKSkge1xuICAgICAgICAgIGlmIChkb25lKSBjb250aW51ZTtcblxuICAgICAgICAgIGlmIChzc2UuZGF0YS5zdGFydHNXaXRoKCdbRE9ORV0nKSkge1xuICAgICAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAoc3NlLmV2ZW50ID09PSBudWxsKSB7XG4gICAgICAgICAgICBsZXQgZGF0YTtcblxuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgZGF0YSA9IEpTT04ucGFyc2Uoc3NlLmRhdGEpO1xuICAgICAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBDb3VsZCBub3QgcGFyc2UgbWVzc2FnZSBpbnRvIEpTT046YCwgc3NlLmRhdGEpO1xuICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKGBGcm9tIGNodW5rOmAsIHNzZS5yYXcpO1xuICAgICAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoZGF0YSAmJiBkYXRhLmVycm9yKSB7XG4gICAgICAgICAgICAgIHRocm93IG5ldyBBUElFcnJvcih1bmRlZmluZWQsIGRhdGEuZXJyb3IsIHVuZGVmaW5lZCwgdW5kZWZpbmVkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgeWllbGQgZGF0YTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIElmIHRoZSB1c2VyIGNhbGxzIGBzdHJlYW0uY29udHJvbGxlci5hYm9ydCgpYCwgd2Ugc2hvdWxkIGV4aXQgd2l0aG91dCB0aHJvd2luZy5cbiAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvciAmJiBlLm5hbWUgPT09ICdBYm9ydEVycm9yJykgcmV0dXJuO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgLy8gSWYgdGhlIHVzZXIgYGJyZWFrYHMsIGFib3J0IHRoZSBvbmdvaW5nIHJlcXVlc3QuXG4gICAgICAgIGlmICghZG9uZSkgY29udHJvbGxlci5hYm9ydCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgU3RyZWFtKGl0ZXJhdG9yLCBjb250cm9sbGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgYSBTdHJlYW0gZnJvbSBhIG5ld2xpbmUtc2VwYXJhdGVkIFJlYWRhYmxlU3RyZWFtXG4gICAqIHdoZXJlIGVhY2ggaXRlbSBpcyBhIEpTT04gdmFsdWUuXG4gICAqL1xuICBzdGF0aWMgZnJvbVJlYWRhYmxlU3RyZWFtPEl0ZW0+KHJlYWRhYmxlU3RyZWFtOiBSZWFkYWJsZVN0cmVhbSwgY29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyKSB7XG4gICAgbGV0IGNvbnN1bWVkID0gZmFsc2U7XG5cbiAgICBhc3luYyBmdW5jdGlvbiogaXRlckxpbmVzKCk6IEFzeW5jR2VuZXJhdG9yPHN0cmluZywgdm9pZCwgdW5rbm93bj4ge1xuICAgICAgY29uc3QgbGluZURlY29kZXIgPSBuZXcgTGluZURlY29kZXIoKTtcblxuICAgICAgY29uc3QgaXRlciA9IHJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYWJsZTxCeXRlcz4ocmVhZGFibGVTdHJlYW0pO1xuICAgICAgZm9yIGF3YWl0IChjb25zdCBjaHVuayBvZiBpdGVyKSB7XG4gICAgICAgIGZvciAoY29uc3QgbGluZSBvZiBsaW5lRGVjb2Rlci5kZWNvZGUoY2h1bmspKSB7XG4gICAgICAgICAgeWllbGQgbGluZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZURlY29kZXIuZmx1c2goKSkge1xuICAgICAgICB5aWVsZCBsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIGFzeW5jIGZ1bmN0aW9uKiBpdGVyYXRvcigpOiBBc3luY0l0ZXJhdG9yPEl0ZW0sIGFueSwgdW5kZWZpbmVkPiB7XG4gICAgICBpZiAoY29uc3VtZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3QgaXRlcmF0ZSBvdmVyIGEgY29uc3VtZWQgc3RyZWFtLCB1c2UgYC50ZWUoKWAgdG8gc3BsaXQgdGhlIHN0cmVhbS4nKTtcbiAgICAgIH1cbiAgICAgIGNvbnN1bWVkID0gdHJ1ZTtcbiAgICAgIGxldCBkb25lID0gZmFsc2U7XG4gICAgICB0cnkge1xuICAgICAgICBmb3IgYXdhaXQgKGNvbnN0IGxpbmUgb2YgaXRlckxpbmVzKCkpIHtcbiAgICAgICAgICBpZiAoZG9uZSkgY29udGludWU7XG4gICAgICAgICAgaWYgKGxpbmUpIHlpZWxkIEpTT04ucGFyc2UobGluZSk7XG4gICAgICAgIH1cbiAgICAgICAgZG9uZSA9IHRydWU7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIElmIHRoZSB1c2VyIGNhbGxzIGBzdHJlYW0uY29udHJvbGxlci5hYm9ydCgpYCwgd2Ugc2hvdWxkIGV4aXQgd2l0aG91dCB0aHJvd2luZy5cbiAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvciAmJiBlLm5hbWUgPT09ICdBYm9ydEVycm9yJykgcmV0dXJuO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfSBmaW5hbGx5IHtcbiAgICAgICAgLy8gSWYgdGhlIHVzZXIgYGJyZWFrYHMsIGFib3J0IHRoZSBvbmdvaW5nIHJlcXVlc3QuXG4gICAgICAgIGlmICghZG9uZSkgY29udHJvbGxlci5hYm9ydCgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgU3RyZWFtKGl0ZXJhdG9yLCBjb250cm9sbGVyKTtcbiAgfVxuXG4gIFtTeW1ib2wuYXN5bmNJdGVyYXRvcl0oKTogQXN5bmNJdGVyYXRvcjxJdGVtPiB7XG4gICAgcmV0dXJuIHRoaXMuaXRlcmF0b3IoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTcGxpdHMgdGhlIHN0cmVhbSBpbnRvIHR3byBzdHJlYW1zIHdoaWNoIGNhbiBiZVxuICAgKiBpbmRlcGVuZGVudGx5IHJlYWQgZnJvbSBhdCBkaWZmZXJlbnQgc3BlZWRzLlxuICAgKi9cbiAgdGVlKCk6IFtTdHJlYW08SXRlbT4sIFN0cmVhbTxJdGVtPl0ge1xuICAgIGNvbnN0IGxlZnQ6IEFycmF5PFByb21pc2U8SXRlcmF0b3JSZXN1bHQ8SXRlbT4+PiA9IFtdO1xuICAgIGNvbnN0IHJpZ2h0OiBBcnJheTxQcm9taXNlPEl0ZXJhdG9yUmVzdWx0PEl0ZW0+Pj4gPSBbXTtcbiAgICBjb25zdCBpdGVyYXRvciA9IHRoaXMuaXRlcmF0b3IoKTtcblxuICAgIGNvbnN0IHRlZUl0ZXJhdG9yID0gKHF1ZXVlOiBBcnJheTxQcm9taXNlPEl0ZXJhdG9yUmVzdWx0PEl0ZW0+Pj4pOiBBc3luY0l0ZXJhdG9yPEl0ZW0+ID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG5leHQ6ICgpID0+IHtcbiAgICAgICAgICBpZiAocXVldWUubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBpdGVyYXRvci5uZXh0KCk7XG4gICAgICAgICAgICBsZWZ0LnB1c2gocmVzdWx0KTtcbiAgICAgICAgICAgIHJpZ2h0LnB1c2gocmVzdWx0KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIHF1ZXVlLnNoaWZ0KCkhO1xuICAgICAgICB9LFxuICAgICAgfTtcbiAgICB9O1xuXG4gICAgcmV0dXJuIFtcbiAgICAgIG5ldyBTdHJlYW0oKCkgPT4gdGVlSXRlcmF0b3IobGVmdCksIHRoaXMuY29udHJvbGxlciksXG4gICAgICBuZXcgU3RyZWFtKCgpID0+IHRlZUl0ZXJhdG9yKHJpZ2h0KSwgdGhpcy5jb250cm9sbGVyKSxcbiAgICBdO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoaXMgc3RyZWFtIHRvIGEgbmV3bGluZS1zZXBhcmF0ZWQgUmVhZGFibGVTdHJlYW0gb2ZcbiAgICogSlNPTiBzdHJpbmdpZmllZCB2YWx1ZXMgaW4gdGhlIHN0cmVhbVxuICAgKiB3aGljaCBjYW4gYmUgdHVybmVkIGJhY2sgaW50byBhIFN0cmVhbSB3aXRoIGBTdHJlYW0uZnJvbVJlYWRhYmxlU3RyZWFtKClgLlxuICAgKi9cbiAgdG9SZWFkYWJsZVN0cmVhbSgpOiBSZWFkYWJsZVN0cmVhbSB7XG4gICAgY29uc3Qgc2VsZiA9IHRoaXM7XG4gICAgbGV0IGl0ZXI6IEFzeW5jSXRlcmF0b3I8SXRlbT47XG4gICAgY29uc3QgZW5jb2RlciA9IG5ldyBUZXh0RW5jb2RlcigpO1xuXG4gICAgcmV0dXJuIG5ldyBSZWFkYWJsZVN0cmVhbSh7XG4gICAgICBhc3luYyBzdGFydCgpIHtcbiAgICAgICAgaXRlciA9IHNlbGZbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKCk7XG4gICAgICB9LFxuICAgICAgYXN5bmMgcHVsbChjdHJsKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgeyB2YWx1ZSwgZG9uZSB9ID0gYXdhaXQgaXRlci5uZXh0KCk7XG4gICAgICAgICAgaWYgKGRvbmUpIHJldHVybiBjdHJsLmNsb3NlKCk7XG5cbiAgICAgICAgICBjb25zdCBieXRlcyA9IGVuY29kZXIuZW5jb2RlKEpTT04uc3RyaW5naWZ5KHZhbHVlKSArICdcXG4nKTtcblxuICAgICAgICAgIGN0cmwuZW5xdWV1ZShieXRlcyk7XG4gICAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICAgIGN0cmwuZXJyb3IoZXJyKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGFzeW5jIGNhbmNlbCgpIHtcbiAgICAgICAgYXdhaXQgaXRlci5yZXR1cm4/LigpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5jbGFzcyBTU0VEZWNvZGVyIHtcbiAgcHJpdmF0ZSBkYXRhOiBzdHJpbmdbXTtcbiAgcHJpdmF0ZSBldmVudDogc3RyaW5nIHwgbnVsbDtcbiAgcHJpdmF0ZSBjaHVua3M6IHN0cmluZ1tdO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuZXZlbnQgPSBudWxsO1xuICAgIHRoaXMuZGF0YSA9IFtdO1xuICAgIHRoaXMuY2h1bmtzID0gW107XG4gIH1cblxuICBkZWNvZGUobGluZTogc3RyaW5nKSB7XG4gICAgaWYgKGxpbmUuZW5kc1dpdGgoJ1xccicpKSB7XG4gICAgICBsaW5lID0gbGluZS5zdWJzdHJpbmcoMCwgbGluZS5sZW5ndGggLSAxKTtcbiAgICB9XG5cbiAgICBpZiAoIWxpbmUpIHtcbiAgICAgIC8vIGVtcHR5IGxpbmUgYW5kIHdlIGRpZG4ndCBwcmV2aW91c2x5IGVuY291bnRlciBhbnkgbWVzc2FnZXNcbiAgICAgIGlmICghdGhpcy5ldmVudCAmJiAhdGhpcy5kYXRhLmxlbmd0aCkgcmV0dXJuIG51bGw7XG5cbiAgICAgIGNvbnN0IHNzZTogU2VydmVyU2VudEV2ZW50ID0ge1xuICAgICAgICBldmVudDogdGhpcy5ldmVudCxcbiAgICAgICAgZGF0YTogdGhpcy5kYXRhLmpvaW4oJ1xcbicpLFxuICAgICAgICByYXc6IHRoaXMuY2h1bmtzLFxuICAgICAgfTtcblxuICAgICAgdGhpcy5ldmVudCA9IG51bGw7XG4gICAgICB0aGlzLmRhdGEgPSBbXTtcbiAgICAgIHRoaXMuY2h1bmtzID0gW107XG5cbiAgICAgIHJldHVybiBzc2U7XG4gICAgfVxuXG4gICAgdGhpcy5jaHVua3MucHVzaChsaW5lKTtcblxuICAgIGlmIChsaW5lLnN0YXJ0c1dpdGgoJzonKSkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbGV0IFtmaWVsZG5hbWUsIF8sIHZhbHVlXSA9IHBhcnRpdGlvbihsaW5lLCAnOicpO1xuXG4gICAgaWYgKHZhbHVlLnN0YXJ0c1dpdGgoJyAnKSkge1xuICAgICAgdmFsdWUgPSB2YWx1ZS5zdWJzdHJpbmcoMSk7XG4gICAgfVxuXG4gICAgaWYgKGZpZWxkbmFtZSA9PT0gJ2V2ZW50Jykge1xuICAgICAgdGhpcy5ldmVudCA9IHZhbHVlO1xuICAgIH0gZWxzZSBpZiAoZmllbGRuYW1lID09PSAnZGF0YScpIHtcbiAgICAgIHRoaXMuZGF0YS5wdXNoKHZhbHVlKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuXG4vKipcbiAqIEEgcmUtaW1wbGVtZW50YXRpb24gb2YgaHR0cHgncyBgTGluZURlY29kZXJgIGluIFB5dGhvbiB0aGF0IGhhbmRsZXMgaW5jcmVtZW50YWxseVxuICogcmVhZGluZyBsaW5lcyBmcm9tIHRleHQuXG4gKlxuICogaHR0cHM6Ly9naXRodWIuY29tL2VuY29kZS9odHRweC9ibG9iLzkyMDMzM2VhOTgxMThlOWNmNjE3ZjI0NjkwNWQ3YjIwMjUxMDk0MWMvaHR0cHgvX2RlY29kZXJzLnB5I0wyNThcbiAqL1xuY2xhc3MgTGluZURlY29kZXIge1xuICAvLyBwcmV0dGllci1pZ25vcmVcbiAgc3RhdGljIE5FV0xJTkVfQ0hBUlMgPSBuZXcgU2V0KFsnXFxuJywgJ1xccicsICdcXHgwYicsICdcXHgwYycsICdcXHgxYycsICdcXHgxZCcsICdcXHgxZScsICdcXHg4NScsICdcXHUyMDI4JywgJ1xcdTIwMjknXSk7XG4gIHN0YXRpYyBORVdMSU5FX1JFR0VYUCA9IC9cXHJcXG58W1xcblxcclxceDBiXFx4MGNcXHgxY1xceDFkXFx4MWVcXHg4NVxcdTIwMjhcXHUyMDI5XS9nO1xuXG4gIGJ1ZmZlcjogc3RyaW5nW107XG4gIHRyYWlsaW5nQ1I6IGJvb2xlYW47XG4gIHRleHREZWNvZGVyOiBhbnk7IC8vIFRleHREZWNvZGVyIGZvdW5kIGluIGJyb3dzZXJzOyBub3QgdHlwZWQgdG8gYXZvaWQgcHVsbGluZyBpbiBlaXRoZXIgXCJkb21cIiBvciBcIm5vZGVcIiB0eXBlcy5cblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmJ1ZmZlciA9IFtdO1xuICAgIHRoaXMudHJhaWxpbmdDUiA9IGZhbHNlO1xuICB9XG5cbiAgZGVjb2RlKGNodW5rOiBCeXRlcyk6IHN0cmluZ1tdIHtcbiAgICBsZXQgdGV4dCA9IHRoaXMuZGVjb2RlVGV4dChjaHVuayk7XG5cbiAgICBpZiAodGhpcy50cmFpbGluZ0NSKSB7XG4gICAgICB0ZXh0ID0gJ1xccicgKyB0ZXh0O1xuICAgICAgdGhpcy50cmFpbGluZ0NSID0gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0ZXh0LmVuZHNXaXRoKCdcXHInKSkge1xuICAgICAgdGhpcy50cmFpbGluZ0NSID0gdHJ1ZTtcbiAgICAgIHRleHQgPSB0ZXh0LnNsaWNlKDAsIC0xKTtcbiAgICB9XG5cbiAgICBpZiAoIXRleHQpIHtcbiAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBjb25zdCB0cmFpbGluZ05ld2xpbmUgPSBMaW5lRGVjb2Rlci5ORVdMSU5FX0NIQVJTLmhhcyh0ZXh0W3RleHQubGVuZ3RoIC0gMV0gfHwgJycpO1xuICAgIGxldCBsaW5lcyA9IHRleHQuc3BsaXQoTGluZURlY29kZXIuTkVXTElORV9SRUdFWFApO1xuXG4gICAgaWYgKGxpbmVzLmxlbmd0aCA9PT0gMSAmJiAhdHJhaWxpbmdOZXdsaW5lKSB7XG4gICAgICB0aGlzLmJ1ZmZlci5wdXNoKGxpbmVzWzBdISk7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYnVmZmVyLmxlbmd0aCA+IDApIHtcbiAgICAgIGxpbmVzID0gW3RoaXMuYnVmZmVyLmpvaW4oJycpICsgbGluZXNbMF0sIC4uLmxpbmVzLnNsaWNlKDEpXTtcbiAgICAgIHRoaXMuYnVmZmVyID0gW107XG4gICAgfVxuXG4gICAgaWYgKCF0cmFpbGluZ05ld2xpbmUpIHtcbiAgICAgIHRoaXMuYnVmZmVyID0gW2xpbmVzLnBvcCgpIHx8ICcnXTtcbiAgICB9XG5cbiAgICByZXR1cm4gbGluZXM7XG4gIH1cblxuICBkZWNvZGVUZXh0KGJ5dGVzOiBCeXRlcyk6IHN0cmluZyB7XG4gICAgaWYgKGJ5dGVzID09IG51bGwpIHJldHVybiAnJztcbiAgICBpZiAodHlwZW9mIGJ5dGVzID09PSAnc3RyaW5nJykgcmV0dXJuIGJ5dGVzO1xuXG4gICAgLy8gTm9kZTpcbiAgICBpZiAodHlwZW9mIEJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIGlmIChieXRlcyBpbnN0YW5jZW9mIEJ1ZmZlcikge1xuICAgICAgICByZXR1cm4gYnl0ZXMudG9TdHJpbmcoKTtcbiAgICAgIH1cbiAgICAgIGlmIChieXRlcyBpbnN0YW5jZW9mIFVpbnQ4QXJyYXkpIHtcbiAgICAgICAgcmV0dXJuIEJ1ZmZlci5mcm9tKGJ5dGVzKS50b1N0cmluZygpO1xuICAgICAgfVxuXG4gICAgICB0aHJvdyBuZXcgT3BlbkFJRXJyb3IoXG4gICAgICAgIGBVbmV4cGVjdGVkOiByZWNlaXZlZCBub24tVWludDhBcnJheSAoJHtieXRlcy5jb25zdHJ1Y3Rvci5uYW1lfSkgc3RyZWFtIGNodW5rIGluIGFuIGVudmlyb25tZW50IHdpdGggYSBnbG9iYWwgXCJCdWZmZXJcIiBkZWZpbmVkLCB3aGljaCB0aGlzIGxpYnJhcnkgYXNzdW1lcyB0byBiZSBOb2RlLiBQbGVhc2UgcmVwb3J0IHRoaXMgZXJyb3IuYCxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgLy8gQnJvd3NlclxuICAgIGlmICh0eXBlb2YgVGV4dERlY29kZXIgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBpZiAoYnl0ZXMgaW5zdGFuY2VvZiBVaW50OEFycmF5IHx8IGJ5dGVzIGluc3RhbmNlb2YgQXJyYXlCdWZmZXIpIHtcbiAgICAgICAgdGhpcy50ZXh0RGVjb2RlciA/Pz0gbmV3IFRleHREZWNvZGVyKCd1dGY4Jyk7XG4gICAgICAgIHJldHVybiB0aGlzLnRleHREZWNvZGVyLmRlY29kZShieXRlcyk7XG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBPcGVuQUlFcnJvcihcbiAgICAgICAgYFVuZXhwZWN0ZWQ6IHJlY2VpdmVkIG5vbi1VaW50OEFycmF5L0FycmF5QnVmZmVyICgke1xuICAgICAgICAgIChieXRlcyBhcyBhbnkpLmNvbnN0cnVjdG9yLm5hbWVcbiAgICAgICAgfSkgaW4gYSB3ZWIgcGxhdGZvcm0uIFBsZWFzZSByZXBvcnQgdGhpcyBlcnJvci5gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgT3BlbkFJRXJyb3IoXG4gICAgICBgVW5leHBlY3RlZDogbmVpdGhlciBCdWZmZXIgbm9yIFRleHREZWNvZGVyIGFyZSBhdmFpbGFibGUgYXMgZ2xvYmFscy4gUGxlYXNlIHJlcG9ydCB0aGlzIGVycm9yLmAsXG4gICAgKTtcbiAgfVxuXG4gIGZsdXNoKCk6IHN0cmluZ1tdIHtcbiAgICBpZiAoIXRoaXMuYnVmZmVyLmxlbmd0aCAmJiAhdGhpcy50cmFpbGluZ0NSKSB7XG4gICAgICByZXR1cm4gW107XG4gICAgfVxuXG4gICAgY29uc3QgbGluZXMgPSBbdGhpcy5idWZmZXIuam9pbignJyldO1xuICAgIHRoaXMuYnVmZmVyID0gW107XG4gICAgdGhpcy50cmFpbGluZ0NSID0gZmFsc2U7XG4gICAgcmV0dXJuIGxpbmVzO1xuICB9XG59XG5cbmZ1bmN0aW9uIHBhcnRpdGlvbihzdHI6IHN0cmluZywgZGVsaW1pdGVyOiBzdHJpbmcpOiBbc3RyaW5nLCBzdHJpbmcsIHN0cmluZ10ge1xuICBjb25zdCBpbmRleCA9IHN0ci5pbmRleE9mKGRlbGltaXRlcik7XG4gIGlmIChpbmRleCAhPT0gLTEpIHtcbiAgICByZXR1cm4gW3N0ci5zdWJzdHJpbmcoMCwgaW5kZXgpLCBkZWxpbWl0ZXIsIHN0ci5zdWJzdHJpbmcoaW5kZXggKyBkZWxpbWl0ZXIubGVuZ3RoKV07XG4gIH1cblxuICByZXR1cm4gW3N0ciwgJycsICcnXTtcbn1cblxuLyoqXG4gKiBNb3N0IGJyb3dzZXJzIGRvbid0IHlldCBoYXZlIGFzeW5jIGl0ZXJhYmxlIHN1cHBvcnQgZm9yIFJlYWRhYmxlU3RyZWFtLFxuICogYW5kIE5vZGUgaGFzIGEgdmVyeSBkaWZmZXJlbnQgd2F5IG9mIHJlYWRpbmcgYnl0ZXMgZnJvbSBpdHMgXCJSZWFkYWJsZVN0cmVhbVwiLlxuICpcbiAqIFRoaXMgcG9seWZpbGwgd2FzIHB1bGxlZCBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS9NYXR0aWFzQnVlbGVucy93ZWItc3RyZWFtcy1wb2x5ZmlsbC9wdWxsLzEyMiNpc3N1ZWNvbW1lbnQtMTYyNzM1NDQ5MFxuICovXG5mdW5jdGlvbiByZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmFibGU8VD4oc3RyZWFtOiBhbnkpOiBBc3luY0l0ZXJhYmxlSXRlcmF0b3I8VD4ge1xuICBpZiAoc3RyZWFtW1N5bWJvbC5hc3luY0l0ZXJhdG9yXSkgcmV0dXJuIHN0cmVhbTtcblxuICBjb25zdCByZWFkZXIgPSBzdHJlYW0uZ2V0UmVhZGVyKCk7XG4gIHJldHVybiB7XG4gICAgYXN5bmMgbmV4dCgpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHJlYWRlci5yZWFkKCk7XG4gICAgICAgIGlmIChyZXN1bHQ/LmRvbmUpIHJlYWRlci5yZWxlYXNlTG9jaygpOyAvLyByZWxlYXNlIGxvY2sgd2hlbiBzdHJlYW0gYmVjb21lcyBjbG9zZWRcbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgcmVhZGVyLnJlbGVhc2VMb2NrKCk7IC8vIHJlbGVhc2UgbG9jayB3aGVuIHN0cmVhbSBiZWNvbWVzIGVycm9yZWRcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9LFxuICAgIGFzeW5jIHJldHVybigpIHtcbiAgICAgIGNvbnN0IGNhbmNlbFByb21pc2UgPSByZWFkZXIuY2FuY2VsKCk7XG4gICAgICByZWFkZXIucmVsZWFzZUxvY2soKTtcbiAgICAgIGF3YWl0IGNhbmNlbFByb21pc2U7XG4gICAgICByZXR1cm4geyBkb25lOiB0cnVlLCB2YWx1ZTogdW5kZWZpbmVkIH07XG4gICAgfSxcbiAgICBbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKCkge1xuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSxcbiAgfTtcbn1cbiIsICJpbXBvcnQgeyB0eXBlIFJlcXVlc3RPcHRpb25zIH0gZnJvbSAnLi9jb3JlJztcbmltcG9ydCB7XG4gIEZvcm1EYXRhLFxuICBGaWxlLFxuICB0eXBlIEJsb2IsXG4gIHR5cGUgRmlsZVByb3BlcnR5QmFnLFxuICBnZXRNdWx0aXBhcnRSZXF1ZXN0T3B0aW9ucyxcbiAgdHlwZSBGc1JlYWRTdHJlYW0sXG4gIGlzRnNSZWFkU3RyZWFtLFxufSBmcm9tICcuL19zaGltcy9pbmRleCc7XG5pbXBvcnQgeyBNdWx0aXBhcnRCb2R5IH0gZnJvbSAnLi9fc2hpbXMvTXVsdGlwYXJ0Qm9keSc7XG5leHBvcnQgeyBmaWxlRnJvbVBhdGggfSBmcm9tICcuL19zaGltcy9pbmRleCc7XG5cbnR5cGUgQmxvYkxpa2VQYXJ0ID0gc3RyaW5nIHwgQXJyYXlCdWZmZXIgfCBBcnJheUJ1ZmZlclZpZXcgfCBCbG9iTGlrZSB8IFVpbnQ4QXJyYXkgfCBEYXRhVmlldztcbmV4cG9ydCB0eXBlIEJsb2JQYXJ0ID0gc3RyaW5nIHwgQXJyYXlCdWZmZXIgfCBBcnJheUJ1ZmZlclZpZXcgfCBCbG9iIHwgVWludDhBcnJheSB8IERhdGFWaWV3O1xuXG4vKipcbiAqIFR5cGljYWxseSwgdGhpcyBpcyBhIG5hdGl2ZSBcIkZpbGVcIiBjbGFzcy5cbiAqXG4gKiBXZSBwcm92aWRlIHRoZSB7QGxpbmsgdG9GaWxlfSB1dGlsaXR5IHRvIGNvbnZlcnQgYSB2YXJpZXR5IG9mIG9iamVjdHNcbiAqIGludG8gdGhlIEZpbGUgY2xhc3MuXG4gKlxuICogRm9yIGNvbnZlbmllbmNlLCB5b3UgY2FuIGFsc28gcGFzcyBhIGZldGNoIFJlc3BvbnNlLCBvciBpbiBOb2RlLFxuICogdGhlIHJlc3VsdCBvZiBmcy5jcmVhdGVSZWFkU3RyZWFtKCkuXG4gKi9cbmV4cG9ydCB0eXBlIFVwbG9hZGFibGUgPSBGaWxlTGlrZSB8IFJlc3BvbnNlTGlrZSB8IEZzUmVhZFN0cmVhbTtcblxuLyoqXG4gKiBJbnRlbmRlZCB0byBtYXRjaCB3ZWIuQmxvYiwgbm9kZS5CbG9iLCBub2RlLWZldGNoLkJsb2IsIGV0Yy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCbG9iTGlrZSB7XG4gIC8qKiBbTUROIFJlZmVyZW5jZV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0Jsb2Ivc2l6ZSkgKi9cbiAgcmVhZG9ubHkgc2l6ZTogbnVtYmVyO1xuICAvKiogW01ETiBSZWZlcmVuY2VdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9CbG9iL3R5cGUpICovXG4gIHJlYWRvbmx5IHR5cGU6IHN0cmluZztcbiAgLyoqIFtNRE4gUmVmZXJlbmNlXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvQmxvYi90ZXh0KSAqL1xuICB0ZXh0KCk6IFByb21pc2U8c3RyaW5nPjtcbiAgLyoqIFtNRE4gUmVmZXJlbmNlXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9kb2NzL1dlYi9BUEkvQmxvYi9zbGljZSkgKi9cbiAgc2xpY2Uoc3RhcnQ/OiBudW1iZXIsIGVuZD86IG51bWJlcik6IEJsb2JMaWtlO1xuICAvLyB1bmZvcnR1bmF0ZWx5IEB0eXBlcy9ub2RlLWZldGNoQF4yLjYuNCBkb2Vzbid0IHR5cGUgdGhlIGFycmF5QnVmZmVyIG1ldGhvZFxufVxuXG4vKipcbiAqIEludGVuZGVkIHRvIG1hdGNoIHdlYi5GaWxlLCBub2RlLkZpbGUsIG5vZGUtZmV0Y2guRmlsZSwgZXRjLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVMaWtlIGV4dGVuZHMgQmxvYkxpa2Uge1xuICAvKiogW01ETiBSZWZlcmVuY2VdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2RvY3MvV2ViL0FQSS9GaWxlL2xhc3RNb2RpZmllZCkgKi9cbiAgcmVhZG9ubHkgbGFzdE1vZGlmaWVkOiBudW1iZXI7XG4gIC8qKiBbTUROIFJlZmVyZW5jZV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZG9jcy9XZWIvQVBJL0ZpbGUvbmFtZSkgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEludGVuZGVkIHRvIG1hdGNoIHdlYi5SZXNwb25zZSwgbm9kZS5SZXNwb25zZSwgbm9kZS1mZXRjaC5SZXNwb25zZSwgZXRjLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlTGlrZSB7XG4gIHVybDogc3RyaW5nO1xuICBibG9iKCk6IFByb21pc2U8QmxvYkxpa2U+O1xufVxuXG5leHBvcnQgY29uc3QgaXNSZXNwb25zZUxpa2UgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFJlc3BvbnNlTGlrZSA9PlxuICB2YWx1ZSAhPSBudWxsICYmXG4gIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgdHlwZW9mIHZhbHVlLnVybCA9PT0gJ3N0cmluZycgJiZcbiAgdHlwZW9mIHZhbHVlLmJsb2IgPT09ICdmdW5jdGlvbic7XG5cbmV4cG9ydCBjb25zdCBpc0ZpbGVMaWtlID0gKHZhbHVlOiBhbnkpOiB2YWx1ZSBpcyBGaWxlTGlrZSA9PlxuICB2YWx1ZSAhPSBudWxsICYmXG4gIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiZcbiAgdHlwZW9mIHZhbHVlLm5hbWUgPT09ICdzdHJpbmcnICYmXG4gIHR5cGVvZiB2YWx1ZS5sYXN0TW9kaWZpZWQgPT09ICdudW1iZXInICYmXG4gIGlzQmxvYkxpa2UodmFsdWUpO1xuXG4vKipcbiAqIFRoZSBCbG9iTGlrZSB0eXBlIG9taXRzIGFycmF5QnVmZmVyKCkgYmVjYXVzZSBAdHlwZXMvbm9kZS1mZXRjaEBeMi42LjQgbGFja3MgaXQ7IGJ1dCB0aGlzIGNoZWNrXG4gKiBhZGRzIHRoZSBhcnJheUJ1ZmZlcigpIG1ldGhvZCB0eXBlIGJlY2F1c2UgaXQgaXMgYXZhaWxhYmxlIGFuZCB1c2VkIGF0IHJ1bnRpbWVcbiAqL1xuZXhwb3J0IGNvbnN0IGlzQmxvYkxpa2UgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIEJsb2JMaWtlICYgeyBhcnJheUJ1ZmZlcigpOiBQcm9taXNlPEFycmF5QnVmZmVyPiB9ID0+XG4gIHZhbHVlICE9IG51bGwgJiZcbiAgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJlxuICB0eXBlb2YgdmFsdWUuc2l6ZSA9PT0gJ251bWJlcicgJiZcbiAgdHlwZW9mIHZhbHVlLnR5cGUgPT09ICdzdHJpbmcnICYmXG4gIHR5cGVvZiB2YWx1ZS50ZXh0ID09PSAnZnVuY3Rpb24nICYmXG4gIHR5cGVvZiB2YWx1ZS5zbGljZSA9PT0gJ2Z1bmN0aW9uJyAmJlxuICB0eXBlb2YgdmFsdWUuYXJyYXlCdWZmZXIgPT09ICdmdW5jdGlvbic7XG5cbmV4cG9ydCBjb25zdCBpc1VwbG9hZGFibGUgPSAodmFsdWU6IGFueSk6IHZhbHVlIGlzIFVwbG9hZGFibGUgPT4ge1xuICByZXR1cm4gaXNGaWxlTGlrZSh2YWx1ZSkgfHwgaXNSZXNwb25zZUxpa2UodmFsdWUpIHx8IGlzRnNSZWFkU3RyZWFtKHZhbHVlKTtcbn07XG5cbmV4cG9ydCB0eXBlIFRvRmlsZUlucHV0ID0gVXBsb2FkYWJsZSB8IEV4Y2x1ZGU8QmxvYkxpa2VQYXJ0LCBzdHJpbmc+IHwgQXN5bmNJdGVyYWJsZTxCbG9iTGlrZVBhcnQ+O1xuXG4vKipcbiAqIEhlbHBlciBmb3IgY3JlYXRpbmcgYSB7QGxpbmsgRmlsZX0gdG8gcGFzcyB0byBhbiBTREsgdXBsb2FkIG1ldGhvZCBmcm9tIGEgdmFyaWV0eSBvZiBkaWZmZXJlbnQgZGF0YSBmb3JtYXRzXG4gKiBAcGFyYW0gdmFsdWUgdGhlIHJhdyBjb250ZW50IG9mIHRoZSBmaWxlLiAgQ2FuIGJlIGFuIHtAbGluayBVcGxvYWRhYmxlfSwge0BsaW5rIEJsb2JMaWtlUGFydH0sIG9yIHtAbGluayBBc3luY0l0ZXJhYmxlfSBvZiB7QGxpbmsgQmxvYkxpa2VQYXJ0fXNcbiAqIEBwYXJhbSB7c3RyaW5nPX0gbmFtZSB0aGUgbmFtZSBvZiB0aGUgZmlsZS4gSWYgb21pdHRlZCwgdG9GaWxlIHdpbGwgdHJ5IHRvIGRldGVybWluZSBhIGZpbGUgbmFtZSBmcm9tIGJpdHMgaWYgcG9zc2libGVcbiAqIEBwYXJhbSB7T2JqZWN0PX0gb3B0aW9ucyBhZGRpdGlvbmFsIHByb3BlcnRpZXNcbiAqIEBwYXJhbSB7c3RyaW5nPX0gb3B0aW9ucy50eXBlIHRoZSBNSU1FIHR5cGUgb2YgdGhlIGNvbnRlbnRcbiAqIEBwYXJhbSB7bnVtYmVyPX0gb3B0aW9ucy5sYXN0TW9kaWZpZWQgdGhlIGxhc3QgbW9kaWZpZWQgdGltZXN0YW1wXG4gKiBAcmV0dXJucyBhIHtAbGluayBGaWxlfSB3aXRoIHRoZSBnaXZlbiBwcm9wZXJ0aWVzXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiB0b0ZpbGUoXG4gIHZhbHVlOiBUb0ZpbGVJbnB1dCB8IFByb21pc2VMaWtlPFRvRmlsZUlucHV0PixcbiAgbmFtZT86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsXG4gIG9wdGlvbnM6IEZpbGVQcm9wZXJ0eUJhZyB8IHVuZGVmaW5lZCA9IHt9LFxuKTogUHJvbWlzZTxGaWxlTGlrZT4ge1xuICAvLyBJZiBpdCdzIGEgcHJvbWlzZSwgcmVzb2x2ZSBpdC5cbiAgdmFsdWUgPSBhd2FpdCB2YWx1ZTtcblxuICBpZiAoaXNSZXNwb25zZUxpa2UodmFsdWUpKSB7XG4gICAgY29uc3QgYmxvYiA9IGF3YWl0IHZhbHVlLmJsb2IoKTtcbiAgICBuYW1lIHx8PSBuZXcgVVJMKHZhbHVlLnVybCkucGF0aG5hbWUuc3BsaXQoL1tcXFxcL10vKS5wb3AoKSA/PyAndW5rbm93bl9maWxlJztcblxuICAgIHJldHVybiBuZXcgRmlsZShbYmxvYiBhcyBhbnldLCBuYW1lLCBvcHRpb25zKTtcbiAgfVxuXG4gIGNvbnN0IGJpdHMgPSBhd2FpdCBnZXRCeXRlcyh2YWx1ZSk7XG5cbiAgbmFtZSB8fD0gZ2V0TmFtZSh2YWx1ZSkgPz8gJ3Vua25vd25fZmlsZSc7XG5cbiAgaWYgKCFvcHRpb25zLnR5cGUpIHtcbiAgICBjb25zdCB0eXBlID0gKGJpdHNbMF0gYXMgYW55KT8udHlwZTtcbiAgICBpZiAodHlwZW9mIHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgICBvcHRpb25zID0geyAuLi5vcHRpb25zLCB0eXBlIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5ldyBGaWxlKGJpdHMsIG5hbWUsIG9wdGlvbnMpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBnZXRCeXRlcyh2YWx1ZTogVG9GaWxlSW5wdXQpOiBQcm9taXNlPEFycmF5PEJsb2JQYXJ0Pj4ge1xuICBsZXQgcGFydHM6IEFycmF5PEJsb2JQYXJ0PiA9IFtdO1xuICBpZiAoXG4gICAgdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyB8fFxuICAgIEFycmF5QnVmZmVyLmlzVmlldyh2YWx1ZSkgfHwgLy8gaW5jbHVkZXMgVWludDhBcnJheSwgQnVmZmVyLCBldGMuXG4gICAgdmFsdWUgaW5zdGFuY2VvZiBBcnJheUJ1ZmZlclxuICApIHtcbiAgICBwYXJ0cy5wdXNoKHZhbHVlKTtcbiAgfSBlbHNlIGlmIChpc0Jsb2JMaWtlKHZhbHVlKSkge1xuICAgIHBhcnRzLnB1c2goYXdhaXQgdmFsdWUuYXJyYXlCdWZmZXIoKSk7XG4gIH0gZWxzZSBpZiAoXG4gICAgaXNBc3luY0l0ZXJhYmxlSXRlcmF0b3IodmFsdWUpIC8vIGluY2x1ZGVzIFJlYWRhYmxlLCBSZWFkYWJsZVN0cmVhbSwgZXRjLlxuICApIHtcbiAgICBmb3IgYXdhaXQgKGNvbnN0IGNodW5rIG9mIHZhbHVlKSB7XG4gICAgICBwYXJ0cy5wdXNoKGNodW5rIGFzIEJsb2JQYXJ0KTsgLy8gVE9ETywgY29uc2lkZXIgdmFsaWRhdGluZz9cbiAgICB9XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYFVuZXhwZWN0ZWQgZGF0YSB0eXBlOiAke3R5cGVvZiB2YWx1ZX07IGNvbnN0cnVjdG9yOiAke3ZhbHVlPy5jb25zdHJ1Y3RvclxuICAgICAgICA/Lm5hbWV9OyBwcm9wczogJHtwcm9wc0ZvckVycm9yKHZhbHVlKX1gLFxuICAgICk7XG4gIH1cblxuICByZXR1cm4gcGFydHM7XG59XG5cbmZ1bmN0aW9uIHByb3BzRm9yRXJyb3IodmFsdWU6IGFueSk6IHN0cmluZyB7XG4gIGNvbnN0IHByb3BzID0gT2JqZWN0LmdldE93blByb3BlcnR5TmFtZXModmFsdWUpO1xuICByZXR1cm4gYFske3Byb3BzLm1hcCgocCkgPT4gYFwiJHtwfVwiYCkuam9pbignLCAnKX1dYDtcbn1cblxuZnVuY3Rpb24gZ2V0TmFtZSh2YWx1ZTogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIChcbiAgICBnZXRTdHJpbmdGcm9tTWF5YmVCdWZmZXIodmFsdWUubmFtZSkgfHxcbiAgICBnZXRTdHJpbmdGcm9tTWF5YmVCdWZmZXIodmFsdWUuZmlsZW5hbWUpIHx8XG4gICAgLy8gRm9yIGZzLlJlYWRTdHJlYW1cbiAgICBnZXRTdHJpbmdGcm9tTWF5YmVCdWZmZXIodmFsdWUucGF0aCk/LnNwbGl0KC9bXFxcXC9dLykucG9wKClcbiAgKTtcbn1cblxuY29uc3QgZ2V0U3RyaW5nRnJvbU1heWJlQnVmZmVyID0gKHg6IHN0cmluZyB8IEJ1ZmZlciB8IHVua25vd24pOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAodHlwZW9mIHggPT09ICdzdHJpbmcnKSByZXR1cm4geDtcbiAgaWYgKHR5cGVvZiBCdWZmZXIgIT09ICd1bmRlZmluZWQnICYmIHggaW5zdGFuY2VvZiBCdWZmZXIpIHJldHVybiBTdHJpbmcoeCk7XG4gIHJldHVybiB1bmRlZmluZWQ7XG59O1xuXG5jb25zdCBpc0FzeW5jSXRlcmFibGVJdGVyYXRvciA9ICh2YWx1ZTogYW55KTogdmFsdWUgaXMgQXN5bmNJdGVyYWJsZUl0ZXJhdG9yPHVua25vd24+ID0+XG4gIHZhbHVlICE9IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgdmFsdWVbU3ltYm9sLmFzeW5jSXRlcmF0b3JdID09PSAnZnVuY3Rpb24nO1xuXG5leHBvcnQgY29uc3QgaXNNdWx0aXBhcnRCb2R5ID0gKGJvZHk6IGFueSk6IGJvZHkgaXMgTXVsdGlwYXJ0Qm9keSA9PlxuICBib2R5ICYmIHR5cGVvZiBib2R5ID09PSAnb2JqZWN0JyAmJiBib2R5LmJvZHkgJiYgYm9keVtTeW1ib2wudG9TdHJpbmdUYWddID09PSAnTXVsdGlwYXJ0Qm9keSc7XG5cbi8qKlxuICogUmV0dXJucyBhIG11bHRpcGFydC9mb3JtLWRhdGEgcmVxdWVzdCBpZiBhbnkgcGFydCBvZiB0aGUgZ2l2ZW4gcmVxdWVzdCBib2R5IGNvbnRhaW5zIGEgRmlsZSAvIEJsb2IgdmFsdWUuXG4gKiBPdGhlcndpc2UgcmV0dXJucyB0aGUgcmVxdWVzdCBhcyBpcy5cbiAqL1xuZXhwb3J0IGNvbnN0IG1heWJlTXVsdGlwYXJ0Rm9ybVJlcXVlc3RPcHRpb25zID0gYXN5bmMgPFQgZXh0ZW5kcyB7fSA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgb3B0czogUmVxdWVzdE9wdGlvbnM8VD4sXG4pOiBQcm9taXNlPFJlcXVlc3RPcHRpb25zPFQgfCBNdWx0aXBhcnRCb2R5Pj4gPT4ge1xuICBpZiAoIWhhc1VwbG9hZGFibGVWYWx1ZShvcHRzLmJvZHkpKSByZXR1cm4gb3B0cztcblxuICBjb25zdCBmb3JtID0gYXdhaXQgY3JlYXRlRm9ybShvcHRzLmJvZHkpO1xuICByZXR1cm4gZ2V0TXVsdGlwYXJ0UmVxdWVzdE9wdGlvbnMoZm9ybSwgb3B0cyk7XG59O1xuXG5leHBvcnQgY29uc3QgbXVsdGlwYXJ0Rm9ybVJlcXVlc3RPcHRpb25zID0gYXN5bmMgPFQgZXh0ZW5kcyB7fSA9IFJlY29yZDxzdHJpbmcsIHVua25vd24+PihcbiAgb3B0czogUmVxdWVzdE9wdGlvbnM8VD4sXG4pOiBQcm9taXNlPFJlcXVlc3RPcHRpb25zPFQgfCBNdWx0aXBhcnRCb2R5Pj4gPT4ge1xuICBjb25zdCBmb3JtID0gYXdhaXQgY3JlYXRlRm9ybShvcHRzLmJvZHkpO1xuICByZXR1cm4gZ2V0TXVsdGlwYXJ0UmVxdWVzdE9wdGlvbnMoZm9ybSwgb3B0cyk7XG59O1xuXG5leHBvcnQgY29uc3QgY3JlYXRlRm9ybSA9IGFzeW5jIDxUID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4+KGJvZHk6IFQgfCB1bmRlZmluZWQpOiBQcm9taXNlPEZvcm1EYXRhPiA9PiB7XG4gIGNvbnN0IGZvcm0gPSBuZXcgRm9ybURhdGEoKTtcbiAgYXdhaXQgUHJvbWlzZS5hbGwoT2JqZWN0LmVudHJpZXMoYm9keSB8fCB7fSkubWFwKChba2V5LCB2YWx1ZV0pID0+IGFkZEZvcm1WYWx1ZShmb3JtLCBrZXksIHZhbHVlKSkpO1xuICByZXR1cm4gZm9ybTtcbn07XG5cbmNvbnN0IGhhc1VwbG9hZGFibGVWYWx1ZSA9ICh2YWx1ZTogdW5rbm93bik6IGJvb2xlYW4gPT4ge1xuICBpZiAoaXNVcGxvYWRhYmxlKHZhbHVlKSkgcmV0dXJuIHRydWU7XG4gIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkgcmV0dXJuIHZhbHVlLnNvbWUoaGFzVXBsb2FkYWJsZVZhbHVlKTtcbiAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcpIHtcbiAgICBmb3IgKGNvbnN0IGsgaW4gdmFsdWUpIHtcbiAgICAgIGlmIChoYXNVcGxvYWRhYmxlVmFsdWUoKHZhbHVlIGFzIGFueSlba10pKSByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlO1xufTtcblxuY29uc3QgYWRkRm9ybVZhbHVlID0gYXN5bmMgKGZvcm06IEZvcm1EYXRhLCBrZXk6IHN0cmluZywgdmFsdWU6IHVua25vd24pOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybjtcbiAgaWYgKHZhbHVlID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgVHlwZUVycm9yKFxuICAgICAgYFJlY2VpdmVkIG51bGwgZm9yIFwiJHtrZXl9XCI7IHRvIHBhc3MgbnVsbCBpbiBGb3JtRGF0YSwgeW91IG11c3QgdXNlIHRoZSBzdHJpbmcgJ251bGwnYCxcbiAgICApO1xuICB9XG5cbiAgLy8gVE9ETzogbWFrZSBuZXN0ZWQgZm9ybWF0cyBjb25maWd1cmFibGVcbiAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgIGZvcm0uYXBwZW5kKGtleSwgU3RyaW5nKHZhbHVlKSk7XG4gIH0gZWxzZSBpZiAoaXNVcGxvYWRhYmxlKHZhbHVlKSkge1xuICAgIGNvbnN0IGZpbGUgPSBhd2FpdCB0b0ZpbGUodmFsdWUpO1xuICAgIGZvcm0uYXBwZW5kKGtleSwgZmlsZSBhcyBGaWxlKTtcbiAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgIGF3YWl0IFByb21pc2UuYWxsKHZhbHVlLm1hcCgoZW50cnkpID0+IGFkZEZvcm1WYWx1ZShmb3JtLCBrZXkgKyAnW10nLCBlbnRyeSkpKTtcbiAgfSBlbHNlIGlmICh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgYXdhaXQgUHJvbWlzZS5hbGwoXG4gICAgICBPYmplY3QuZW50cmllcyh2YWx1ZSkubWFwKChbbmFtZSwgcHJvcF0pID0+IGFkZEZvcm1WYWx1ZShmb3JtLCBgJHtrZXl9WyR7bmFtZX1dYCwgcHJvcCkpLFxuICAgICk7XG4gIH0gZWxzZSB7XG4gICAgdGhyb3cgbmV3IFR5cGVFcnJvcihcbiAgICAgIGBJbnZhbGlkIHZhbHVlIGdpdmVuIHRvIGZvcm0sIGV4cGVjdGVkIGEgc3RyaW5nLCBudW1iZXIsIGJvb2xlYW4sIG9iamVjdCwgQXJyYXksIEZpbGUgb3IgQmxvYiBidXQgZ290ICR7dmFsdWV9IGluc3RlYWRgLFxuICAgICk7XG4gIH1cbn07XG4iLCAiaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJy4vdmVyc2lvbic7XG5pbXBvcnQgeyBTdHJlYW0gfSBmcm9tICcuL3N0cmVhbWluZyc7XG5pbXBvcnQge1xuICBPcGVuQUlFcnJvcixcbiAgQVBJRXJyb3IsXG4gIEFQSUNvbm5lY3Rpb25FcnJvcixcbiAgQVBJQ29ubmVjdGlvblRpbWVvdXRFcnJvcixcbiAgQVBJVXNlckFib3J0RXJyb3IsXG59IGZyb20gJy4vZXJyb3InO1xuaW1wb3J0IHtcbiAga2luZCBhcyBzaGltc0tpbmQsXG4gIHR5cGUgUmVhZGFibGUsXG4gIGdldERlZmF1bHRBZ2VudCxcbiAgdHlwZSBBZ2VudCxcbiAgZmV0Y2gsXG4gIHR5cGUgUmVxdWVzdEluZm8sXG4gIHR5cGUgUmVxdWVzdEluaXQsXG4gIHR5cGUgUmVzcG9uc2UsXG4gIHR5cGUgSGVhZGVyc0luaXQsXG59IGZyb20gJy4vX3NoaW1zL2luZGV4JztcbmV4cG9ydCB7IHR5cGUgUmVzcG9uc2UgfTtcbmltcG9ydCB7IGlzTXVsdGlwYXJ0Qm9keSB9IGZyb20gJy4vdXBsb2Fkcyc7XG5leHBvcnQge1xuICBtYXliZU11bHRpcGFydEZvcm1SZXF1ZXN0T3B0aW9ucyxcbiAgbXVsdGlwYXJ0Rm9ybVJlcXVlc3RPcHRpb25zLFxuICBjcmVhdGVGb3JtLFxuICB0eXBlIFVwbG9hZGFibGUsXG59IGZyb20gJy4vdXBsb2Fkcyc7XG5cbmV4cG9ydCB0eXBlIEZldGNoID0gKHVybDogUmVxdWVzdEluZm8sIGluaXQ/OiBSZXF1ZXN0SW5pdCkgPT4gUHJvbWlzZTxSZXNwb25zZT47XG5cbnR5cGUgUHJvbWlzZU9yVmFsdWU8VD4gPSBUIHwgUHJvbWlzZTxUPjtcblxudHlwZSBBUElSZXNwb25zZVByb3BzID0ge1xuICByZXNwb25zZTogUmVzcG9uc2U7XG4gIG9wdGlvbnM6IEZpbmFsUmVxdWVzdE9wdGlvbnM7XG4gIGNvbnRyb2xsZXI6IEFib3J0Q29udHJvbGxlcjtcbn07XG5cbmFzeW5jIGZ1bmN0aW9uIGRlZmF1bHRQYXJzZVJlc3BvbnNlPFQ+KHByb3BzOiBBUElSZXNwb25zZVByb3BzKTogUHJvbWlzZTxUPiB7XG4gIGNvbnN0IHsgcmVzcG9uc2UgfSA9IHByb3BzO1xuICBpZiAocHJvcHMub3B0aW9ucy5zdHJlYW0pIHtcbiAgICBkZWJ1ZygncmVzcG9uc2UnLCByZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLnVybCwgcmVzcG9uc2UuaGVhZGVycywgcmVzcG9uc2UuYm9keSk7XG5cbiAgICAvLyBOb3RlOiB0aGVyZSBpcyBhbiBpbnZhcmlhbnQgaGVyZSB0aGF0IGlzbid0IHJlcHJlc2VudGVkIGluIHRoZSB0eXBlIHN5c3RlbVxuICAgIC8vIHRoYXQgaWYgeW91IHNldCBgc3RyZWFtOiB0cnVlYCB0aGUgcmVzcG9uc2UgdHlwZSBtdXN0IGFsc28gYmUgYFN0cmVhbTxUPmBcbiAgICByZXR1cm4gU3RyZWFtLmZyb21TU0VSZXNwb25zZShyZXNwb25zZSwgcHJvcHMuY29udHJvbGxlcikgYXMgYW55O1xuICB9XG5cbiAgLy8gZmV0Y2ggcmVmdXNlcyB0byByZWFkIHRoZSBib2R5IHdoZW4gdGhlIHN0YXR1cyBjb2RlIGlzIDIwNC5cbiAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gMjA0KSB7XG4gICAgcmV0dXJuIG51bGwgYXMgVDtcbiAgfVxuXG4gIGlmIChwcm9wcy5vcHRpb25zLl9fYmluYXJ5UmVzcG9uc2UpIHtcbiAgICByZXR1cm4gcmVzcG9uc2UgYXMgdW5rbm93biBhcyBUO1xuICB9XG5cbiAgY29uc3QgY29udGVudFR5cGUgPSByZXNwb25zZS5oZWFkZXJzLmdldCgnY29udGVudC10eXBlJyk7XG4gIGlmIChjb250ZW50VHlwZT8uaW5jbHVkZXMoJ2FwcGxpY2F0aW9uL2pzb24nKSkge1xuICAgIGNvbnN0IGpzb24gPSBhd2FpdCByZXNwb25zZS5qc29uKCk7XG5cbiAgICBkZWJ1ZygncmVzcG9uc2UnLCByZXNwb25zZS5zdGF0dXMsIHJlc3BvbnNlLnVybCwgcmVzcG9uc2UuaGVhZGVycywganNvbik7XG5cbiAgICByZXR1cm4ganNvbiBhcyBUO1xuICB9XG5cbiAgY29uc3QgdGV4dCA9IGF3YWl0IHJlc3BvbnNlLnRleHQoKTtcbiAgZGVidWcoJ3Jlc3BvbnNlJywgcmVzcG9uc2Uuc3RhdHVzLCByZXNwb25zZS51cmwsIHJlc3BvbnNlLmhlYWRlcnMsIHRleHQpO1xuXG4gIC8vIFRPRE8gaGFuZGxlIGJsb2IsIGFycmF5YnVmZmVyLCBvdGhlciBjb250ZW50IHR5cGVzLCBldGMuXG4gIHJldHVybiB0ZXh0IGFzIHVua25vd24gYXMgVDtcbn1cblxuLyoqXG4gKiBBIHN1YmNsYXNzIG9mIGBQcm9taXNlYCBwcm92aWRpbmcgYWRkaXRpb25hbCBoZWxwZXIgbWV0aG9kc1xuICogZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIFNESy5cbiAqL1xuZXhwb3J0IGNsYXNzIEFQSVByb21pc2U8VD4gZXh0ZW5kcyBQcm9taXNlPFQ+IHtcbiAgcHJpdmF0ZSBwYXJzZWRQcm9taXNlOiBQcm9taXNlPFQ+IHwgdW5kZWZpbmVkO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVzcG9uc2VQcm9taXNlOiBQcm9taXNlPEFQSVJlc3BvbnNlUHJvcHM+LFxuICAgIHByaXZhdGUgcGFyc2VSZXNwb25zZTogKHByb3BzOiBBUElSZXNwb25zZVByb3BzKSA9PiBQcm9taXNlT3JWYWx1ZTxUPiA9IGRlZmF1bHRQYXJzZVJlc3BvbnNlLFxuICApIHtcbiAgICBzdXBlcigocmVzb2x2ZSkgPT4ge1xuICAgICAgLy8gdGhpcyBpcyBtYXliZSBhIGJpdCB3ZWlyZCBidXQgdGhpcyBoYXMgdG8gYmUgYSBuby1vcCB0byBub3QgaW1wbGljaXRseVxuICAgICAgLy8gcGFyc2UgdGhlIHJlc3BvbnNlIGJvZHk7IGluc3RlYWQgLnRoZW4sIC5jYXRjaCwgLmZpbmFsbHkgYXJlIG92ZXJyaWRkZW5cbiAgICAgIC8vIHRvIHBhcnNlIHRoZSByZXNwb25zZVxuICAgICAgcmVzb2x2ZShudWxsIGFzIGFueSk7XG4gICAgfSk7XG4gIH1cblxuICBfdGhlblVud3JhcDxVPih0cmFuc2Zvcm06IChkYXRhOiBUKSA9PiBVKTogQVBJUHJvbWlzZTxVPiB7XG4gICAgcmV0dXJuIG5ldyBBUElQcm9taXNlKHRoaXMucmVzcG9uc2VQcm9taXNlLCBhc3luYyAocHJvcHMpID0+IHRyYW5zZm9ybShhd2FpdCB0aGlzLnBhcnNlUmVzcG9uc2UocHJvcHMpKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgcmF3IGBSZXNwb25zZWAgaW5zdGFuY2UgaW5zdGVhZCBvZiBwYXJzaW5nIHRoZSByZXNwb25zZVxuICAgKiBkYXRhLlxuICAgKlxuICAgKiBJZiB5b3Ugd2FudCB0byBwYXJzZSB0aGUgcmVzcG9uc2UgYm9keSBidXQgc3RpbGwgZ2V0IHRoZSBgUmVzcG9uc2VgXG4gICAqIGluc3RhbmNlLCB5b3UgY2FuIHVzZSB7QGxpbmsgd2l0aFJlc3BvbnNlKCl9LlxuICAgKlxuICAgKiBcdUQ4M0RcdURDNEIgR2V0dGluZyB0aGUgd3JvbmcgVHlwZVNjcmlwdCB0eXBlIGZvciBgUmVzcG9uc2VgP1xuICAgKiBUcnkgc2V0dGluZyBgXCJtb2R1bGVSZXNvbHV0aW9uXCI6IFwiTm9kZU5leHRcImAgaWYgeW91IGNhbixcbiAgICogb3IgYWRkIG9uZSBvZiB0aGVzZSBpbXBvcnRzIGJlZm9yZSB5b3VyIGZpcnN0IGBpbXBvcnQgXHUyMDI2IGZyb20gJ29wZW5haSdgOlxuICAgKiAtIGBpbXBvcnQgJ29wZW5haS9zaGltcy9ub2RlJ2AgKGlmIHlvdSdyZSBydW5uaW5nIG9uIE5vZGUpXG4gICAqIC0gYGltcG9ydCAnb3BlbmFpL3NoaW1zL3dlYidgIChvdGhlcndpc2UpXG4gICAqL1xuICBhc1Jlc3BvbnNlKCk6IFByb21pc2U8UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5yZXNwb25zZVByb21pc2UudGhlbigocCkgPT4gcC5yZXNwb25zZSk7XG4gIH1cbiAgLyoqXG4gICAqIEdldHMgdGhlIHBhcnNlZCByZXNwb25zZSBkYXRhIGFuZCB0aGUgcmF3IGBSZXNwb25zZWAgaW5zdGFuY2UuXG4gICAqXG4gICAqIElmIHlvdSBqdXN0IHdhbnQgdG8gZ2V0IHRoZSByYXcgYFJlc3BvbnNlYCBpbnN0YW5jZSB3aXRob3V0IHBhcnNpbmcgaXQsXG4gICAqIHlvdSBjYW4gdXNlIHtAbGluayBhc1Jlc3BvbnNlKCl9LlxuICAgKlxuICAgKlxuICAgKiBcdUQ4M0RcdURDNEIgR2V0dGluZyB0aGUgd3JvbmcgVHlwZVNjcmlwdCB0eXBlIGZvciBgUmVzcG9uc2VgP1xuICAgKiBUcnkgc2V0dGluZyBgXCJtb2R1bGVSZXNvbHV0aW9uXCI6IFwiTm9kZU5leHRcImAgaWYgeW91IGNhbixcbiAgICogb3IgYWRkIG9uZSBvZiB0aGVzZSBpbXBvcnRzIGJlZm9yZSB5b3VyIGZpcnN0IGBpbXBvcnQgXHUyMDI2IGZyb20gJ29wZW5haSdgOlxuICAgKiAtIGBpbXBvcnQgJ29wZW5haS9zaGltcy9ub2RlJ2AgKGlmIHlvdSdyZSBydW5uaW5nIG9uIE5vZGUpXG4gICAqIC0gYGltcG9ydCAnb3BlbmFpL3NoaW1zL3dlYidgIChvdGhlcndpc2UpXG4gICAqL1xuICBhc3luYyB3aXRoUmVzcG9uc2UoKTogUHJvbWlzZTx7IGRhdGE6IFQ7IHJlc3BvbnNlOiBSZXNwb25zZSB9PiB7XG4gICAgY29uc3QgW2RhdGEsIHJlc3BvbnNlXSA9IGF3YWl0IFByb21pc2UuYWxsKFt0aGlzLnBhcnNlKCksIHRoaXMuYXNSZXNwb25zZSgpXSk7XG4gICAgcmV0dXJuIHsgZGF0YSwgcmVzcG9uc2UgfTtcbiAgfVxuXG4gIHByaXZhdGUgcGFyc2UoKTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKCF0aGlzLnBhcnNlZFByb21pc2UpIHtcbiAgICAgIHRoaXMucGFyc2VkUHJvbWlzZSA9IHRoaXMucmVzcG9uc2VQcm9taXNlLnRoZW4odGhpcy5wYXJzZVJlc3BvbnNlKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucGFyc2VkUHJvbWlzZTtcbiAgfVxuXG4gIG92ZXJyaWRlIHRoZW48VFJlc3VsdDEgPSBULCBUUmVzdWx0MiA9IG5ldmVyPihcbiAgICBvbmZ1bGZpbGxlZD86ICgodmFsdWU6IFQpID0+IFRSZXN1bHQxIHwgUHJvbWlzZUxpa2U8VFJlc3VsdDE+KSB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICAgb25yZWplY3RlZD86ICgocmVhc29uOiBhbnkpID0+IFRSZXN1bHQyIHwgUHJvbWlzZUxpa2U8VFJlc3VsdDI+KSB8IHVuZGVmaW5lZCB8IG51bGwsXG4gICk6IFByb21pc2U8VFJlc3VsdDEgfCBUUmVzdWx0Mj4ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlKCkudGhlbihvbmZ1bGZpbGxlZCwgb25yZWplY3RlZCk7XG4gIH1cblxuICBvdmVycmlkZSBjYXRjaDxUUmVzdWx0ID0gbmV2ZXI+KFxuICAgIG9ucmVqZWN0ZWQ/OiAoKHJlYXNvbjogYW55KSA9PiBUUmVzdWx0IHwgUHJvbWlzZUxpa2U8VFJlc3VsdD4pIHwgdW5kZWZpbmVkIHwgbnVsbCxcbiAgKTogUHJvbWlzZTxUIHwgVFJlc3VsdD4ge1xuICAgIHJldHVybiB0aGlzLnBhcnNlKCkuY2F0Y2gob25yZWplY3RlZCk7XG4gIH1cblxuICBvdmVycmlkZSBmaW5hbGx5KG9uZmluYWxseT86ICgoKSA9PiB2b2lkKSB8IHVuZGVmaW5lZCB8IG51bGwpOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gdGhpcy5wYXJzZSgpLmZpbmFsbHkob25maW5hbGx5KTtcbiAgfVxufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQVBJQ2xpZW50IHtcbiAgYmFzZVVSTDogc3RyaW5nO1xuICBtYXhSZXRyaWVzOiBudW1iZXI7XG4gIHRpbWVvdXQ6IG51bWJlcjtcbiAgaHR0cEFnZW50OiBBZ2VudCB8IHVuZGVmaW5lZDtcblxuICBwcml2YXRlIGZldGNoOiBGZXRjaDtcbiAgcHJvdGVjdGVkIGlkZW1wb3RlbmN5SGVhZGVyPzogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKHtcbiAgICBiYXNlVVJMLFxuICAgIG1heFJldHJpZXMgPSAyLFxuICAgIHRpbWVvdXQgPSA2MDAwMDAsIC8vIDEwIG1pbnV0ZXNcbiAgICBodHRwQWdlbnQsXG4gICAgZmV0Y2g6IG92ZXJyaWRlbkZldGNoLFxuICB9OiB7XG4gICAgYmFzZVVSTDogc3RyaW5nO1xuICAgIG1heFJldHJpZXM/OiBudW1iZXIgfCB1bmRlZmluZWQ7XG4gICAgdGltZW91dDogbnVtYmVyIHwgdW5kZWZpbmVkO1xuICAgIGh0dHBBZ2VudDogQWdlbnQgfCB1bmRlZmluZWQ7XG4gICAgZmV0Y2g6IEZldGNoIHwgdW5kZWZpbmVkO1xuICB9KSB7XG4gICAgdGhpcy5iYXNlVVJMID0gYmFzZVVSTDtcbiAgICB0aGlzLm1heFJldHJpZXMgPSB2YWxpZGF0ZVBvc2l0aXZlSW50ZWdlcignbWF4UmV0cmllcycsIG1heFJldHJpZXMpO1xuICAgIHRoaXMudGltZW91dCA9IHZhbGlkYXRlUG9zaXRpdmVJbnRlZ2VyKCd0aW1lb3V0JywgdGltZW91dCk7XG4gICAgdGhpcy5odHRwQWdlbnQgPSBodHRwQWdlbnQ7XG5cbiAgICB0aGlzLmZldGNoID0gb3ZlcnJpZGVuRmV0Y2ggPz8gZmV0Y2g7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXV0aEhlYWRlcnMob3B0czogRmluYWxSZXF1ZXN0T3B0aW9ucyk6IEhlYWRlcnMge1xuICAgIHJldHVybiB7fTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPdmVycmlkZSB0aGlzIHRvIGFkZCB5b3VyIG93biBkZWZhdWx0IGhlYWRlcnMsIGZvciBleGFtcGxlOlxuICAgKlxuICAgKiAge1xuICAgKiAgICAuLi5zdXBlci5kZWZhdWx0SGVhZGVycygpLFxuICAgKiAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyIDEyMycsXG4gICAqICB9XG4gICAqL1xuICBwcm90ZWN0ZWQgZGVmYXVsdEhlYWRlcnMob3B0czogRmluYWxSZXF1ZXN0T3B0aW9ucyk6IEhlYWRlcnMge1xuICAgIHJldHVybiB7XG4gICAgICBBY2NlcHQ6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAnVXNlci1BZ2VudCc6IHRoaXMuZ2V0VXNlckFnZW50KCksXG4gICAgICAuLi5nZXRQbGF0Zm9ybUhlYWRlcnMoKSxcbiAgICAgIC4uLnRoaXMuYXV0aEhlYWRlcnMob3B0cyksXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBkZWZhdWx0UXVlcnkoKTogRGVmYXVsdFF1ZXJ5IHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZSB0aGlzIHRvIGFkZCB5b3VyIG93biBoZWFkZXJzIHZhbGlkYXRpb246XG4gICAqL1xuICBwcm90ZWN0ZWQgdmFsaWRhdGVIZWFkZXJzKGhlYWRlcnM6IEhlYWRlcnMsIGN1c3RvbUhlYWRlcnM6IEhlYWRlcnMpIHt9XG5cbiAgcHJvdGVjdGVkIGRlZmF1bHRJZGVtcG90ZW5jeUtleSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgc3RhaW5sZXNzLW5vZGUtcmV0cnktJHt1dWlkNCgpfWA7XG4gIH1cblxuICBnZXQ8UmVxIGV4dGVuZHMge30sIFJzcD4ocGF0aDogc3RyaW5nLCBvcHRzPzogUHJvbWlzZU9yVmFsdWU8UmVxdWVzdE9wdGlvbnM8UmVxPj4pOiBBUElQcm9taXNlPFJzcD4ge1xuICAgIHJldHVybiB0aGlzLm1ldGhvZFJlcXVlc3QoJ2dldCcsIHBhdGgsIG9wdHMpO1xuICB9XG5cbiAgcG9zdDxSZXEgZXh0ZW5kcyB7fSwgUnNwPihwYXRoOiBzdHJpbmcsIG9wdHM/OiBQcm9taXNlT3JWYWx1ZTxSZXF1ZXN0T3B0aW9uczxSZXE+Pik6IEFQSVByb21pc2U8UnNwPiB7XG4gICAgcmV0dXJuIHRoaXMubWV0aG9kUmVxdWVzdCgncG9zdCcsIHBhdGgsIG9wdHMpO1xuICB9XG5cbiAgcGF0Y2g8UmVxIGV4dGVuZHMge30sIFJzcD4ocGF0aDogc3RyaW5nLCBvcHRzPzogUHJvbWlzZU9yVmFsdWU8UmVxdWVzdE9wdGlvbnM8UmVxPj4pOiBBUElQcm9taXNlPFJzcD4ge1xuICAgIHJldHVybiB0aGlzLm1ldGhvZFJlcXVlc3QoJ3BhdGNoJywgcGF0aCwgb3B0cyk7XG4gIH1cblxuICBwdXQ8UmVxIGV4dGVuZHMge30sIFJzcD4ocGF0aDogc3RyaW5nLCBvcHRzPzogUHJvbWlzZU9yVmFsdWU8UmVxdWVzdE9wdGlvbnM8UmVxPj4pOiBBUElQcm9taXNlPFJzcD4ge1xuICAgIHJldHVybiB0aGlzLm1ldGhvZFJlcXVlc3QoJ3B1dCcsIHBhdGgsIG9wdHMpO1xuICB9XG5cbiAgZGVsZXRlPFJlcSBleHRlbmRzIHt9LCBSc3A+KHBhdGg6IHN0cmluZywgb3B0cz86IFByb21pc2VPclZhbHVlPFJlcXVlc3RPcHRpb25zPFJlcT4+KTogQVBJUHJvbWlzZTxSc3A+IHtcbiAgICByZXR1cm4gdGhpcy5tZXRob2RSZXF1ZXN0KCdkZWxldGUnLCBwYXRoLCBvcHRzKTtcbiAgfVxuXG4gIHByaXZhdGUgbWV0aG9kUmVxdWVzdDxSZXEgZXh0ZW5kcyB7fSwgUnNwPihcbiAgICBtZXRob2Q6IEhUVFBNZXRob2QsXG4gICAgcGF0aDogc3RyaW5nLFxuICAgIG9wdHM/OiBQcm9taXNlT3JWYWx1ZTxSZXF1ZXN0T3B0aW9uczxSZXE+PixcbiAgKTogQVBJUHJvbWlzZTxSc3A+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0KFByb21pc2UucmVzb2x2ZShvcHRzKS50aGVuKChvcHRzKSA9PiAoeyBtZXRob2QsIHBhdGgsIC4uLm9wdHMgfSkpKTtcbiAgfVxuXG4gIGdldEFQSUxpc3Q8SXRlbSwgUGFnZUNsYXNzIGV4dGVuZHMgQWJzdHJhY3RQYWdlPEl0ZW0+ID0gQWJzdHJhY3RQYWdlPEl0ZW0+PihcbiAgICBwYXRoOiBzdHJpbmcsXG4gICAgUGFnZTogbmV3ICguLi5hcmdzOiBhbnlbXSkgPT4gUGFnZUNsYXNzLFxuICAgIG9wdHM/OiBSZXF1ZXN0T3B0aW9uczxhbnk+LFxuICApOiBQYWdlUHJvbWlzZTxQYWdlQ2xhc3MsIEl0ZW0+IHtcbiAgICByZXR1cm4gdGhpcy5yZXF1ZXN0QVBJTGlzdChQYWdlLCB7IG1ldGhvZDogJ2dldCcsIHBhdGgsIC4uLm9wdHMgfSk7XG4gIH1cblxuICBwcml2YXRlIGNhbGN1bGF0ZUNvbnRlbnRMZW5ndGgoYm9keTogdW5rbm93bik6IHN0cmluZyB8IG51bGwge1xuICAgIGlmICh0eXBlb2YgYm9keSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmICh0eXBlb2YgQnVmZmVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICByZXR1cm4gQnVmZmVyLmJ5dGVMZW5ndGgoYm9keSwgJ3V0ZjgnKS50b1N0cmluZygpO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIFRleHRFbmNvZGVyICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgICBjb25zdCBlbmNvZGVyID0gbmV3IFRleHRFbmNvZGVyKCk7XG4gICAgICAgIGNvbnN0IGVuY29kZWQgPSBlbmNvZGVyLmVuY29kZShib2R5KTtcbiAgICAgICAgcmV0dXJuIGVuY29kZWQubGVuZ3RoLnRvU3RyaW5nKCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBidWlsZFJlcXVlc3Q8UmVxIGV4dGVuZHMge30+KFxuICAgIG9wdGlvbnM6IEZpbmFsUmVxdWVzdE9wdGlvbnM8UmVxPixcbiAgKTogeyByZXE6IFJlcXVlc3RJbml0OyB1cmw6IHN0cmluZzsgdGltZW91dDogbnVtYmVyIH0ge1xuICAgIGNvbnN0IHsgbWV0aG9kLCBwYXRoLCBxdWVyeSwgaGVhZGVyczogaGVhZGVycyA9IHt9IH0gPSBvcHRpb25zO1xuXG4gICAgY29uc3QgYm9keSA9XG4gICAgICBpc011bHRpcGFydEJvZHkob3B0aW9ucy5ib2R5KSA/IG9wdGlvbnMuYm9keS5ib2R5XG4gICAgICA6IG9wdGlvbnMuYm9keSA/IEpTT04uc3RyaW5naWZ5KG9wdGlvbnMuYm9keSwgbnVsbCwgMilcbiAgICAgIDogbnVsbDtcbiAgICBjb25zdCBjb250ZW50TGVuZ3RoID0gdGhpcy5jYWxjdWxhdGVDb250ZW50TGVuZ3RoKGJvZHkpO1xuXG4gICAgY29uc3QgdXJsID0gdGhpcy5idWlsZFVSTChwYXRoISwgcXVlcnkpO1xuICAgIGlmICgndGltZW91dCcgaW4gb3B0aW9ucykgdmFsaWRhdGVQb3NpdGl2ZUludGVnZXIoJ3RpbWVvdXQnLCBvcHRpb25zLnRpbWVvdXQpO1xuICAgIGNvbnN0IHRpbWVvdXQgPSBvcHRpb25zLnRpbWVvdXQgPz8gdGhpcy50aW1lb3V0O1xuICAgIGNvbnN0IGh0dHBBZ2VudCA9IG9wdGlvbnMuaHR0cEFnZW50ID8/IHRoaXMuaHR0cEFnZW50ID8/IGdldERlZmF1bHRBZ2VudCh1cmwpO1xuICAgIGNvbnN0IG1pbkFnZW50VGltZW91dCA9IHRpbWVvdXQgKyAxMDAwO1xuICAgIGlmIChcbiAgICAgIHR5cGVvZiAoaHR0cEFnZW50IGFzIGFueSk/Lm9wdGlvbnM/LnRpbWVvdXQgPT09ICdudW1iZXInICYmXG4gICAgICBtaW5BZ2VudFRpbWVvdXQgPiAoKGh0dHBBZ2VudCBhcyBhbnkpLm9wdGlvbnMudGltZW91dCA/PyAwKVxuICAgICkge1xuICAgICAgLy8gQWxsb3cgYW55IGdpdmVuIHJlcXVlc3QgdG8gYnVtcCBvdXIgYWdlbnQgYWN0aXZlIHNvY2tldCB0aW1lb3V0LlxuICAgICAgLy8gVGhpcyBtYXkgc2VlbSBzdHJhbmdlLCBidXQgbGVha2luZyBhY3RpdmUgc29ja2V0cyBzaG91bGQgYmUgcmFyZSBhbmQgbm90IHBhcnRpY3VsYXJseSBwcm9ibGVtYXRpYyxcbiAgICAgIC8vIGFuZCB3aXRob3V0IG11dGF0aW5nIGFnZW50IHdlIHdvdWxkIG5lZWQgdG8gY3JlYXRlIG1vcmUgb2YgdGhlbS5cbiAgICAgIC8vIFRoaXMgdHJhZGVvZmYgb3B0aW1pemVzIGZvciBwZXJmb3JtYW5jZS5cbiAgICAgIChodHRwQWdlbnQgYXMgYW55KS5vcHRpb25zLnRpbWVvdXQgPSBtaW5BZ2VudFRpbWVvdXQ7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaWRlbXBvdGVuY3lIZWFkZXIgJiYgbWV0aG9kICE9PSAnZ2V0Jykge1xuICAgICAgaWYgKCFvcHRpb25zLmlkZW1wb3RlbmN5S2V5KSBvcHRpb25zLmlkZW1wb3RlbmN5S2V5ID0gdGhpcy5kZWZhdWx0SWRlbXBvdGVuY3lLZXkoKTtcbiAgICAgIGhlYWRlcnNbdGhpcy5pZGVtcG90ZW5jeUhlYWRlcl0gPSBvcHRpb25zLmlkZW1wb3RlbmN5S2V5O1xuICAgIH1cblxuICAgIGNvbnN0IHJlcUhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAuLi4oY29udGVudExlbmd0aCAmJiB7ICdDb250ZW50LUxlbmd0aCc6IGNvbnRlbnRMZW5ndGggfSksXG4gICAgICAuLi50aGlzLmRlZmF1bHRIZWFkZXJzKG9wdGlvbnMpLFxuICAgICAgLi4uaGVhZGVycyxcbiAgICB9O1xuICAgIC8vIGxldCBidWlsdGluIGZldGNoIHNldCB0aGUgQ29udGVudC1UeXBlIGZvciBtdWx0aXBhcnQgYm9kaWVzXG4gICAgaWYgKGlzTXVsdGlwYXJ0Qm9keShvcHRpb25zLmJvZHkpICYmIHNoaW1zS2luZCAhPT0gJ25vZGUnKSB7XG4gICAgICBkZWxldGUgcmVxSGVhZGVyc1snQ29udGVudC1UeXBlJ107XG4gICAgfVxuXG4gICAgLy8gU3RyaXAgYW55IGhlYWRlcnMgYmVpbmcgZXhwbGljaXRseSBvbWl0dGVkIHdpdGggbnVsbFxuICAgIE9iamVjdC5rZXlzKHJlcUhlYWRlcnMpLmZvckVhY2goKGtleSkgPT4gcmVxSGVhZGVyc1trZXldID09PSBudWxsICYmIGRlbGV0ZSByZXFIZWFkZXJzW2tleV0pO1xuXG4gICAgY29uc3QgcmVxOiBSZXF1ZXN0SW5pdCA9IHtcbiAgICAgIG1ldGhvZCxcbiAgICAgIC4uLihib2R5ICYmIHsgYm9keTogYm9keSBhcyBhbnkgfSksXG4gICAgICBoZWFkZXJzOiByZXFIZWFkZXJzLFxuICAgICAgLi4uKGh0dHBBZ2VudCAmJiB7IGFnZW50OiBodHRwQWdlbnQgfSksXG4gICAgICAvLyBAdHMtaWdub3JlIG5vZGUtZmV0Y2ggdXNlcyBhIGN1c3RvbSBBYm9ydFNpZ25hbCB0eXBlIHRoYXQgaXNcbiAgICAgIC8vIG5vdCBjb21wYXRpYmxlIHdpdGggc3RhbmRhcmQgd2ViIHR5cGVzXG4gICAgICBzaWduYWw6IG9wdGlvbnMuc2lnbmFsID8/IG51bGwsXG4gICAgfTtcblxuICAgIHRoaXMudmFsaWRhdGVIZWFkZXJzKHJlcUhlYWRlcnMsIGhlYWRlcnMpO1xuXG4gICAgcmV0dXJuIHsgcmVxLCB1cmwsIHRpbWVvdXQgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VkIGFzIGEgY2FsbGJhY2sgZm9yIG11dGF0aW5nIHRoZSBnaXZlbiBgUmVxdWVzdEluaXRgIG9iamVjdC5cbiAgICpcbiAgICogVGhpcyBpcyB1c2VmdWwgZm9yIGNhc2VzIHdoZXJlIHlvdSB3YW50IHRvIGFkZCBjZXJ0YWluIGhlYWRlcnMgYmFzZWQgb2ZmIG9mXG4gICAqIHRoZSByZXF1ZXN0IHByb3BlcnRpZXMsIGUuZy4gYG1ldGhvZGAgb3IgYHVybGAuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgcHJlcGFyZVJlcXVlc3QoXG4gICAgcmVxdWVzdDogUmVxdWVzdEluaXQsXG4gICAgeyB1cmwsIG9wdGlvbnMgfTogeyB1cmw6IHN0cmluZzsgb3B0aW9uczogRmluYWxSZXF1ZXN0T3B0aW9ucyB9LFxuICApOiBQcm9taXNlPHZvaWQ+IHt9XG5cbiAgcHJvdGVjdGVkIHBhcnNlSGVhZGVycyhoZWFkZXJzOiBIZWFkZXJzSW5pdCB8IG51bGwgfCB1bmRlZmluZWQpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgICByZXR1cm4gKFxuICAgICAgIWhlYWRlcnMgPyB7fVxuICAgICAgOiBTeW1ib2wuaXRlcmF0b3IgaW4gaGVhZGVycyA/XG4gICAgICAgIE9iamVjdC5mcm9tRW50cmllcyhBcnJheS5mcm9tKGhlYWRlcnMgYXMgSXRlcmFibGU8c3RyaW5nW10+KS5tYXAoKGhlYWRlcikgPT4gWy4uLmhlYWRlcl0pKVxuICAgICAgOiB7IC4uLmhlYWRlcnMgfVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgbWFrZVN0YXR1c0Vycm9yKFxuICAgIHN0YXR1czogbnVtYmVyIHwgdW5kZWZpbmVkLFxuICAgIGVycm9yOiBPYmplY3QgfCB1bmRlZmluZWQsXG4gICAgbWVzc2FnZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGhlYWRlcnM6IEhlYWRlcnMgfCB1bmRlZmluZWQsXG4gICkge1xuICAgIHJldHVybiBBUElFcnJvci5nZW5lcmF0ZShzdGF0dXMsIGVycm9yLCBtZXNzYWdlLCBoZWFkZXJzKTtcbiAgfVxuXG4gIHJlcXVlc3Q8UmVxIGV4dGVuZHMge30sIFJzcD4oXG4gICAgb3B0aW9uczogUHJvbWlzZU9yVmFsdWU8RmluYWxSZXF1ZXN0T3B0aW9uczxSZXE+PixcbiAgICByZW1haW5pbmdSZXRyaWVzOiBudW1iZXIgfCBudWxsID0gbnVsbCxcbiAgKTogQVBJUHJvbWlzZTxSc3A+IHtcbiAgICByZXR1cm4gbmV3IEFQSVByb21pc2UodGhpcy5tYWtlUmVxdWVzdChvcHRpb25zLCByZW1haW5pbmdSZXRyaWVzKSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIG1ha2VSZXF1ZXN0KFxuICAgIG9wdGlvbnNJbnB1dDogUHJvbWlzZU9yVmFsdWU8RmluYWxSZXF1ZXN0T3B0aW9ucz4sXG4gICAgcmV0cmllc1JlbWFpbmluZzogbnVtYmVyIHwgbnVsbCxcbiAgKTogUHJvbWlzZTxBUElSZXNwb25zZVByb3BzPiB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IGF3YWl0IG9wdGlvbnNJbnB1dDtcbiAgICBpZiAocmV0cmllc1JlbWFpbmluZyA9PSBudWxsKSB7XG4gICAgICByZXRyaWVzUmVtYWluaW5nID0gb3B0aW9ucy5tYXhSZXRyaWVzID8/IHRoaXMubWF4UmV0cmllcztcbiAgICB9XG5cbiAgICBjb25zdCB7IHJlcSwgdXJsLCB0aW1lb3V0IH0gPSB0aGlzLmJ1aWxkUmVxdWVzdChvcHRpb25zKTtcblxuICAgIGF3YWl0IHRoaXMucHJlcGFyZVJlcXVlc3QocmVxLCB7IHVybCwgb3B0aW9ucyB9KTtcblxuICAgIGRlYnVnKCdyZXF1ZXN0JywgdXJsLCBvcHRpb25zLCByZXEuaGVhZGVycyk7XG5cbiAgICBpZiAob3B0aW9ucy5zaWduYWw/LmFib3J0ZWQpIHtcbiAgICAgIHRocm93IG5ldyBBUElVc2VyQWJvcnRFcnJvcigpO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCB0aGlzLmZldGNoV2l0aFRpbWVvdXQodXJsLCByZXEsIHRpbWVvdXQsIGNvbnRyb2xsZXIpLmNhdGNoKGNhc3RUb0Vycm9yKTtcblxuICAgIGlmIChyZXNwb25zZSBpbnN0YW5jZW9mIEVycm9yKSB7XG4gICAgICBpZiAob3B0aW9ucy5zaWduYWw/LmFib3J0ZWQpIHtcbiAgICAgICAgdGhyb3cgbmV3IEFQSVVzZXJBYm9ydEVycm9yKCk7XG4gICAgICB9XG4gICAgICBpZiAocmV0cmllc1JlbWFpbmluZykge1xuICAgICAgICByZXR1cm4gdGhpcy5yZXRyeVJlcXVlc3Qob3B0aW9ucywgcmV0cmllc1JlbWFpbmluZyk7XG4gICAgICB9XG4gICAgICBpZiAocmVzcG9uc2UubmFtZSA9PT0gJ0Fib3J0RXJyb3InKSB7XG4gICAgICAgIHRocm93IG5ldyBBUElDb25uZWN0aW9uVGltZW91dEVycm9yKCk7XG4gICAgICB9XG4gICAgICB0aHJvdyBuZXcgQVBJQ29ubmVjdGlvbkVycm9yKHsgY2F1c2U6IHJlc3BvbnNlIH0pO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3BvbnNlSGVhZGVycyA9IGNyZWF0ZVJlc3BvbnNlSGVhZGVycyhyZXNwb25zZS5oZWFkZXJzKTtcblxuICAgIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICAgIGlmIChyZXRyaWVzUmVtYWluaW5nICYmIHRoaXMuc2hvdWxkUmV0cnkocmVzcG9uc2UpKSB7XG4gICAgICAgIHJldHVybiB0aGlzLnJldHJ5UmVxdWVzdChvcHRpb25zLCByZXRyaWVzUmVtYWluaW5nLCByZXNwb25zZUhlYWRlcnMpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBlcnJUZXh0ID0gYXdhaXQgcmVzcG9uc2UudGV4dCgpLmNhdGNoKChlKSA9PiBjYXN0VG9FcnJvcihlKS5tZXNzYWdlKTtcbiAgICAgIGNvbnN0IGVyckpTT04gPSBzYWZlSlNPTihlcnJUZXh0KTtcbiAgICAgIGNvbnN0IGVyck1lc3NhZ2UgPSBlcnJKU09OID8gdW5kZWZpbmVkIDogZXJyVGV4dDtcblxuICAgICAgZGVidWcoJ3Jlc3BvbnNlJywgcmVzcG9uc2Uuc3RhdHVzLCB1cmwsIHJlc3BvbnNlSGVhZGVycywgZXJyTWVzc2FnZSk7XG5cbiAgICAgIGNvbnN0IGVyciA9IHRoaXMubWFrZVN0YXR1c0Vycm9yKHJlc3BvbnNlLnN0YXR1cywgZXJySlNPTiwgZXJyTWVzc2FnZSwgcmVzcG9uc2VIZWFkZXJzKTtcbiAgICAgIHRocm93IGVycjtcbiAgICB9XG5cbiAgICByZXR1cm4geyByZXNwb25zZSwgb3B0aW9ucywgY29udHJvbGxlciB9O1xuICB9XG5cbiAgcmVxdWVzdEFQSUxpc3Q8SXRlbSA9IHVua25vd24sIFBhZ2VDbGFzcyBleHRlbmRzIEFic3RyYWN0UGFnZTxJdGVtPiA9IEFic3RyYWN0UGFnZTxJdGVtPj4oXG4gICAgUGFnZTogbmV3ICguLi5hcmdzOiBDb25zdHJ1Y3RvclBhcmFtZXRlcnM8dHlwZW9mIEFic3RyYWN0UGFnZT4pID0+IFBhZ2VDbGFzcyxcbiAgICBvcHRpb25zOiBGaW5hbFJlcXVlc3RPcHRpb25zLFxuICApOiBQYWdlUHJvbWlzZTxQYWdlQ2xhc3MsIEl0ZW0+IHtcbiAgICBjb25zdCByZXF1ZXN0ID0gdGhpcy5tYWtlUmVxdWVzdChvcHRpb25zLCBudWxsKTtcbiAgICByZXR1cm4gbmV3IFBhZ2VQcm9taXNlPFBhZ2VDbGFzcywgSXRlbT4odGhpcywgcmVxdWVzdCwgUGFnZSk7XG4gIH1cblxuICBidWlsZFVSTDxSZXEgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4ocGF0aDogc3RyaW5nLCBxdWVyeTogUmVxIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyB7XG4gICAgY29uc3QgdXJsID1cbiAgICAgIGlzQWJzb2x1dGVVUkwocGF0aCkgP1xuICAgICAgICBuZXcgVVJMKHBhdGgpXG4gICAgICA6IG5ldyBVUkwodGhpcy5iYXNlVVJMICsgKHRoaXMuYmFzZVVSTC5lbmRzV2l0aCgnLycpICYmIHBhdGguc3RhcnRzV2l0aCgnLycpID8gcGF0aC5zbGljZSgxKSA6IHBhdGgpKTtcblxuICAgIGNvbnN0IGRlZmF1bHRRdWVyeSA9IHRoaXMuZGVmYXVsdFF1ZXJ5KCk7XG4gICAgaWYgKCFpc0VtcHR5T2JqKGRlZmF1bHRRdWVyeSkpIHtcbiAgICAgIHF1ZXJ5ID0geyAuLi5kZWZhdWx0UXVlcnksIC4uLnF1ZXJ5IH0gYXMgUmVxO1xuICAgIH1cblxuICAgIGlmIChxdWVyeSkge1xuICAgICAgdXJsLnNlYXJjaCA9IHRoaXMuc3RyaW5naWZ5UXVlcnkocXVlcnkpO1xuICAgIH1cblxuICAgIHJldHVybiB1cmwudG9TdHJpbmcoKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdHJpbmdpZnlRdWVyeShxdWVyeTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pOiBzdHJpbmcge1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhxdWVyeSlcbiAgICAgIC5maWx0ZXIoKFtfLCB2YWx1ZV0pID0+IHR5cGVvZiB2YWx1ZSAhPT0gJ3VuZGVmaW5lZCcpXG4gICAgICAubWFwKChba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyB8fCB0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykge1xuICAgICAgICAgIHJldHVybiBgJHtlbmNvZGVVUklDb21wb25lbnQoa2V5KX09JHtlbmNvZGVVUklDb21wb25lbnQodmFsdWUpfWA7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHZhbHVlID09PSBudWxsKSB7XG4gICAgICAgICAgcmV0dXJuIGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT1gO1xuICAgICAgICB9XG4gICAgICAgIHRocm93IG5ldyBPcGVuQUlFcnJvcihcbiAgICAgICAgICBgQ2Fubm90IHN0cmluZ2lmeSB0eXBlICR7dHlwZW9mIHZhbHVlfTsgRXhwZWN0ZWQgc3RyaW5nLCBudW1iZXIsIGJvb2xlYW4sIG9yIG51bGwuIElmIHlvdSBuZWVkIHRvIHBhc3MgbmVzdGVkIHF1ZXJ5IHBhcmFtZXRlcnMsIHlvdSBjYW4gbWFudWFsbHkgZW5jb2RlIHRoZW0sIGUuZy4geyBxdWVyeTogeyAnZm9vW2tleTFdJzogdmFsdWUxLCAnZm9vW2tleTJdJzogdmFsdWUyIH0gfSwgYW5kIHBsZWFzZSBvcGVuIGEgR2l0SHViIGlzc3VlIHJlcXVlc3RpbmcgYmV0dGVyIHN1cHBvcnQgZm9yIHlvdXIgdXNlIGNhc2UuYCxcbiAgICAgICAgKTtcbiAgICAgIH0pXG4gICAgICAuam9pbignJicpO1xuICB9XG5cbiAgYXN5bmMgZmV0Y2hXaXRoVGltZW91dChcbiAgICB1cmw6IFJlcXVlc3RJbmZvLFxuICAgIGluaXQ6IFJlcXVlc3RJbml0IHwgdW5kZWZpbmVkLFxuICAgIG1zOiBudW1iZXIsXG4gICAgY29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyLFxuICApOiBQcm9taXNlPFJlc3BvbnNlPiB7XG4gICAgY29uc3QgeyBzaWduYWwsIC4uLm9wdGlvbnMgfSA9IGluaXQgfHwge307XG4gICAgaWYgKHNpZ25hbCkgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCkgPT4gY29udHJvbGxlci5hYm9ydCgpKTtcblxuICAgIGNvbnN0IHRpbWVvdXQgPSBzZXRUaW1lb3V0KCgpID0+IGNvbnRyb2xsZXIuYWJvcnQoKSwgbXMpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuZ2V0UmVxdWVzdENsaWVudCgpXG4gICAgICAgIC8vIHVzZSB1bmRlZmluZWQgdGhpcyBiaW5kaW5nOyBmZXRjaCBlcnJvcnMgaWYgYm91bmQgdG8gc29tZXRoaW5nIGVsc2UgaW4gYnJvd3Nlci9jbG91ZGZsYXJlXG4gICAgICAgIC5mZXRjaC5jYWxsKHVuZGVmaW5lZCwgdXJsLCB7IHNpZ25hbDogY29udHJvbGxlci5zaWduYWwgYXMgYW55LCAuLi5vcHRpb25zIH0pXG4gICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICBjbGVhclRpbWVvdXQodGltZW91dCk7XG4gICAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRSZXF1ZXN0Q2xpZW50KCk6IFJlcXVlc3RDbGllbnQge1xuICAgIHJldHVybiB7IGZldGNoOiB0aGlzLmZldGNoIH07XG4gIH1cblxuICBwcml2YXRlIHNob3VsZFJldHJ5KHJlc3BvbnNlOiBSZXNwb25zZSk6IGJvb2xlYW4ge1xuICAgIC8vIE5vdGUgdGhpcyBpcyBub3QgYSBzdGFuZGFyZCBoZWFkZXIuXG4gICAgY29uc3Qgc2hvdWxkUmV0cnlIZWFkZXIgPSByZXNwb25zZS5oZWFkZXJzLmdldCgneC1zaG91bGQtcmV0cnknKTtcblxuICAgIC8vIElmIHRoZSBzZXJ2ZXIgZXhwbGljaXRseSBzYXlzIHdoZXRoZXIgb3Igbm90IHRvIHJldHJ5LCBvYmV5LlxuICAgIGlmIChzaG91bGRSZXRyeUhlYWRlciA9PT0gJ3RydWUnKSByZXR1cm4gdHJ1ZTtcbiAgICBpZiAoc2hvdWxkUmV0cnlIZWFkZXIgPT09ICdmYWxzZScpIHJldHVybiBmYWxzZTtcblxuICAgIC8vIFJldHJ5IG9uIHJlcXVlc3QgdGltZW91dHMuXG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDA4KSByZXR1cm4gdHJ1ZTtcblxuICAgIC8vIFJldHJ5IG9uIGxvY2sgdGltZW91dHMuXG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA9PT0gNDA5KSByZXR1cm4gdHJ1ZTtcblxuICAgIC8vIFJldHJ5IG9uIHJhdGUgbGltaXRzLlxuICAgIGlmIChyZXNwb25zZS5zdGF0dXMgPT09IDQyOSkgcmV0dXJuIHRydWU7XG5cbiAgICAvLyBSZXRyeSBpbnRlcm5hbCBlcnJvcnMuXG4gICAgaWYgKHJlc3BvbnNlLnN0YXR1cyA+PSA1MDApIHJldHVybiB0cnVlO1xuXG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByZXRyeVJlcXVlc3QoXG4gICAgb3B0aW9uczogRmluYWxSZXF1ZXN0T3B0aW9ucyxcbiAgICByZXRyaWVzUmVtYWluaW5nOiBudW1iZXIsXG4gICAgcmVzcG9uc2VIZWFkZXJzPzogSGVhZGVycyB8IHVuZGVmaW5lZCxcbiAgKTogUHJvbWlzZTxBUElSZXNwb25zZVByb3BzPiB7XG4gICAgLy8gQWJvdXQgdGhlIFJldHJ5LUFmdGVyIGhlYWRlcjogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRUUC9IZWFkZXJzL1JldHJ5LUFmdGVyXG4gICAgbGV0IHRpbWVvdXRNaWxsaXM6IG51bWJlciB8IHVuZGVmaW5lZDtcbiAgICBjb25zdCByZXRyeUFmdGVySGVhZGVyID0gcmVzcG9uc2VIZWFkZXJzPy5bJ3JldHJ5LWFmdGVyJ107XG4gICAgaWYgKHJldHJ5QWZ0ZXJIZWFkZXIpIHtcbiAgICAgIGNvbnN0IHRpbWVvdXRTZWNvbmRzID0gcGFyc2VJbnQocmV0cnlBZnRlckhlYWRlcik7XG4gICAgICBpZiAoIU51bWJlci5pc05hTih0aW1lb3V0U2Vjb25kcykpIHtcbiAgICAgICAgdGltZW91dE1pbGxpcyA9IHRpbWVvdXRTZWNvbmRzICogMTAwMDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRpbWVvdXRNaWxsaXMgPSBEYXRlLnBhcnNlKHJldHJ5QWZ0ZXJIZWFkZXIpIC0gRGF0ZS5ub3coKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJZiB0aGUgQVBJIGFza3MgdXMgdG8gd2FpdCBhIGNlcnRhaW4gYW1vdW50IG9mIHRpbWUgKGFuZCBpdCdzIGEgcmVhc29uYWJsZSBhbW91bnQpLFxuICAgIC8vIGp1c3QgZG8gd2hhdCBpdCBzYXlzLCBidXQgb3RoZXJ3aXNlIGNhbGN1bGF0ZSBhIGRlZmF1bHRcbiAgICBpZiAoXG4gICAgICAhdGltZW91dE1pbGxpcyB8fFxuICAgICAgIU51bWJlci5pc0ludGVnZXIodGltZW91dE1pbGxpcykgfHxcbiAgICAgIHRpbWVvdXRNaWxsaXMgPD0gMCB8fFxuICAgICAgdGltZW91dE1pbGxpcyA+IDYwICogMTAwMFxuICAgICkge1xuICAgICAgY29uc3QgbWF4UmV0cmllcyA9IG9wdGlvbnMubWF4UmV0cmllcyA/PyB0aGlzLm1heFJldHJpZXM7XG4gICAgICB0aW1lb3V0TWlsbGlzID0gdGhpcy5jYWxjdWxhdGVEZWZhdWx0UmV0cnlUaW1lb3V0TWlsbGlzKHJldHJpZXNSZW1haW5pbmcsIG1heFJldHJpZXMpO1xuICAgIH1cbiAgICBhd2FpdCBzbGVlcCh0aW1lb3V0TWlsbGlzKTtcblxuICAgIHJldHVybiB0aGlzLm1ha2VSZXF1ZXN0KG9wdGlvbnMsIHJldHJpZXNSZW1haW5pbmcgLSAxKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlRGVmYXVsdFJldHJ5VGltZW91dE1pbGxpcyhyZXRyaWVzUmVtYWluaW5nOiBudW1iZXIsIG1heFJldHJpZXM6IG51bWJlcik6IG51bWJlciB7XG4gICAgY29uc3QgaW5pdGlhbFJldHJ5RGVsYXkgPSAwLjU7XG4gICAgY29uc3QgbWF4UmV0cnlEZWxheSA9IDguMDtcblxuICAgIGNvbnN0IG51bVJldHJpZXMgPSBtYXhSZXRyaWVzIC0gcmV0cmllc1JlbWFpbmluZztcblxuICAgIC8vIEFwcGx5IGV4cG9uZW50aWFsIGJhY2tvZmYsIGJ1dCBub3QgbW9yZSB0aGFuIHRoZSBtYXguXG4gICAgY29uc3Qgc2xlZXBTZWNvbmRzID0gTWF0aC5taW4oaW5pdGlhbFJldHJ5RGVsYXkgKiBNYXRoLnBvdygyLCBudW1SZXRyaWVzKSwgbWF4UmV0cnlEZWxheSk7XG5cbiAgICAvLyBBcHBseSBzb21lIGppdHRlciwgdGFrZSB1cCB0byBhdCBtb3N0IDI1IHBlcmNlbnQgb2YgdGhlIHJldHJ5IHRpbWUuXG4gICAgY29uc3Qgaml0dGVyID0gMSAtIE1hdGgucmFuZG9tKCkgKiAwLjI1O1xuXG4gICAgcmV0dXJuIHNsZWVwU2Vjb25kcyAqIGppdHRlciAqIDEwMDA7XG4gIH1cblxuICBwcml2YXRlIGdldFVzZXJBZ2VudCgpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLmNvbnN0cnVjdG9yLm5hbWV9L0pTICR7VkVSU0lPTn1gO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIFBhZ2VJbmZvID0geyB1cmw6IFVSTCB9IHwgeyBwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHwgbnVsbCB9O1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RQYWdlPEl0ZW0+IGltcGxlbWVudHMgQXN5bmNJdGVyYWJsZTxJdGVtPiB7XG4gICNjbGllbnQ6IEFQSUNsaWVudDtcbiAgcHJvdGVjdGVkIG9wdGlvbnM6IEZpbmFsUmVxdWVzdE9wdGlvbnM7XG5cbiAgcHJvdGVjdGVkIHJlc3BvbnNlOiBSZXNwb25zZTtcbiAgcHJvdGVjdGVkIGJvZHk6IHVua25vd247XG5cbiAgY29uc3RydWN0b3IoY2xpZW50OiBBUElDbGllbnQsIHJlc3BvbnNlOiBSZXNwb25zZSwgYm9keTogdW5rbm93biwgb3B0aW9uczogRmluYWxSZXF1ZXN0T3B0aW9ucykge1xuICAgIHRoaXMuI2NsaWVudCA9IGNsaWVudDtcbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHRoaXMucmVzcG9uc2UgPSByZXNwb25zZTtcbiAgICB0aGlzLmJvZHkgPSBib2R5O1xuICB9XG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIFVzZSBuZXh0UGFnZUluZm8gaW5zdGVhZFxuICAgKi9cbiAgYWJzdHJhY3QgbmV4dFBhZ2VQYXJhbXMoKTogUGFydGlhbDxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4gfCBudWxsO1xuICBhYnN0cmFjdCBuZXh0UGFnZUluZm8oKTogUGFnZUluZm8gfCBudWxsO1xuXG4gIGFic3RyYWN0IGdldFBhZ2luYXRlZEl0ZW1zKCk6IEl0ZW1bXTtcblxuICBoYXNOZXh0UGFnZSgpOiBib29sZWFuIHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0UGFnaW5hdGVkSXRlbXMoKTtcbiAgICBpZiAoIWl0ZW1zLmxlbmd0aCkgcmV0dXJuIGZhbHNlO1xuICAgIHJldHVybiB0aGlzLm5leHRQYWdlSW5mbygpICE9IG51bGw7XG4gIH1cblxuICBhc3luYyBnZXROZXh0UGFnZSgpOiBQcm9taXNlPHRoaXM+IHtcbiAgICBjb25zdCBuZXh0SW5mbyA9IHRoaXMubmV4dFBhZ2VJbmZvKCk7XG4gICAgaWYgKCFuZXh0SW5mbykge1xuICAgICAgdGhyb3cgbmV3IE9wZW5BSUVycm9yKFxuICAgICAgICAnTm8gbmV4dCBwYWdlIGV4cGVjdGVkOyBwbGVhc2UgY2hlY2sgYC5oYXNOZXh0UGFnZSgpYCBiZWZvcmUgY2FsbGluZyBgLmdldE5leHRQYWdlKClgLicsXG4gICAgICApO1xuICAgIH1cbiAgICBjb25zdCBuZXh0T3B0aW9ucyA9IHsgLi4udGhpcy5vcHRpb25zIH07XG4gICAgaWYgKCdwYXJhbXMnIGluIG5leHRJbmZvKSB7XG4gICAgICBuZXh0T3B0aW9ucy5xdWVyeSA9IHsgLi4ubmV4dE9wdGlvbnMucXVlcnksIC4uLm5leHRJbmZvLnBhcmFtcyB9O1xuICAgIH0gZWxzZSBpZiAoJ3VybCcgaW4gbmV4dEluZm8pIHtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IFsuLi5PYmplY3QuZW50cmllcyhuZXh0T3B0aW9ucy5xdWVyeSB8fCB7fSksIC4uLm5leHRJbmZvLnVybC5zZWFyY2hQYXJhbXMuZW50cmllcygpXTtcbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIHBhcmFtcykge1xuICAgICAgICBuZXh0SW5mby51cmwuc2VhcmNoUGFyYW1zLnNldChrZXksIHZhbHVlIGFzIGFueSk7XG4gICAgICB9XG4gICAgICBuZXh0T3B0aW9ucy5xdWVyeSA9IHVuZGVmaW5lZDtcbiAgICAgIG5leHRPcHRpb25zLnBhdGggPSBuZXh0SW5mby51cmwudG9TdHJpbmcoKTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuI2NsaWVudC5yZXF1ZXN0QVBJTGlzdCh0aGlzLmNvbnN0cnVjdG9yIGFzIGFueSwgbmV4dE9wdGlvbnMpO1xuICB9XG5cbiAgYXN5bmMgKml0ZXJQYWdlcygpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXNcbiAgICBsZXQgcGFnZTogQWJzdHJhY3RQYWdlPEl0ZW0+ID0gdGhpcztcbiAgICB5aWVsZCBwYWdlO1xuICAgIHdoaWxlIChwYWdlLmhhc05leHRQYWdlKCkpIHtcbiAgICAgIHBhZ2UgPSBhd2FpdCBwYWdlLmdldE5leHRQYWdlKCk7XG4gICAgICB5aWVsZCBwYWdlO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jICpbU3ltYm9sLmFzeW5jSXRlcmF0b3JdKCkge1xuICAgIGZvciBhd2FpdCAoY29uc3QgcGFnZSBvZiB0aGlzLml0ZXJQYWdlcygpKSB7XG4gICAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgcGFnZS5nZXRQYWdpbmF0ZWRJdGVtcygpKSB7XG4gICAgICAgIHlpZWxkIGl0ZW07XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogVGhpcyBzdWJjbGFzcyBvZiBQcm9taXNlIHdpbGwgcmVzb2x2ZSB0byBhbiBpbnN0YW50aWF0ZWQgUGFnZSBvbmNlIHRoZSByZXF1ZXN0IGNvbXBsZXRlcy5cbiAqXG4gKiBJdCBhbHNvIGltcGxlbWVudHMgQXN5bmNJdGVyYWJsZSB0byBhbGxvdyBhdXRvLXBhZ2luYXRpbmcgaXRlcmF0aW9uIG9uIGFuIHVuYXdhaXRlZCBsaXN0IGNhbGwsIGVnOlxuICpcbiAqICAgIGZvciBhd2FpdCAoY29uc3QgaXRlbSBvZiBjbGllbnQuaXRlbXMubGlzdCgpKSB7XG4gKiAgICAgIGNvbnNvbGUubG9nKGl0ZW0pXG4gKiAgICB9XG4gKi9cbmV4cG9ydCBjbGFzcyBQYWdlUHJvbWlzZTxcbiAgICBQYWdlQ2xhc3MgZXh0ZW5kcyBBYnN0cmFjdFBhZ2U8SXRlbT4sXG4gICAgSXRlbSA9IFJldHVyblR5cGU8UGFnZUNsYXNzWydnZXRQYWdpbmF0ZWRJdGVtcyddPltudW1iZXJdLFxuICA+XG4gIGV4dGVuZHMgQVBJUHJvbWlzZTxQYWdlQ2xhc3M+XG4gIGltcGxlbWVudHMgQXN5bmNJdGVyYWJsZTxJdGVtPlxue1xuICBjb25zdHJ1Y3RvcihcbiAgICBjbGllbnQ6IEFQSUNsaWVudCxcbiAgICByZXF1ZXN0OiBQcm9taXNlPEFQSVJlc3BvbnNlUHJvcHM+LFxuICAgIFBhZ2U6IG5ldyAoLi4uYXJnczogQ29uc3RydWN0b3JQYXJhbWV0ZXJzPHR5cGVvZiBBYnN0cmFjdFBhZ2U+KSA9PiBQYWdlQ2xhc3MsXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgcmVxdWVzdCxcbiAgICAgIGFzeW5jIChwcm9wcykgPT4gbmV3IFBhZ2UoY2xpZW50LCBwcm9wcy5yZXNwb25zZSwgYXdhaXQgZGVmYXVsdFBhcnNlUmVzcG9uc2UocHJvcHMpLCBwcm9wcy5vcHRpb25zKSxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEFsbG93IGF1dG8tcGFnaW5hdGluZyBpdGVyYXRpb24gb24gYW4gdW5hd2FpdGVkIGxpc3QgY2FsbCwgZWc6XG4gICAqXG4gICAqICAgIGZvciBhd2FpdCAoY29uc3QgaXRlbSBvZiBjbGllbnQuaXRlbXMubGlzdCgpKSB7XG4gICAqICAgICAgY29uc29sZS5sb2coaXRlbSlcbiAgICogICAgfVxuICAgKi9cbiAgYXN5bmMgKltTeW1ib2wuYXN5bmNJdGVyYXRvcl0oKSB7XG4gICAgY29uc3QgcGFnZSA9IGF3YWl0IHRoaXM7XG4gICAgZm9yIGF3YWl0IChjb25zdCBpdGVtIG9mIHBhZ2UpIHtcbiAgICAgIHlpZWxkIGl0ZW07XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBjcmVhdGVSZXNwb25zZUhlYWRlcnMgPSAoXG4gIGhlYWRlcnM6IEF3YWl0ZWQ8UmV0dXJuVHlwZTxGZXRjaD4+WydoZWFkZXJzJ10sXG4pOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0+IHtcbiAgcmV0dXJuIG5ldyBQcm94eShcbiAgICBPYmplY3QuZnJvbUVudHJpZXMoXG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICBoZWFkZXJzLmVudHJpZXMoKSxcbiAgICApLFxuICAgIHtcbiAgICAgIGdldCh0YXJnZXQsIG5hbWUpIHtcbiAgICAgICAgY29uc3Qga2V5ID0gbmFtZS50b1N0cmluZygpO1xuICAgICAgICByZXR1cm4gdGFyZ2V0W2tleS50b0xvd2VyQ2FzZSgpXSB8fCB0YXJnZXRba2V5XTtcbiAgICAgIH0sXG4gICAgfSxcbiAgKTtcbn07XG5cbnR5cGUgSFRUUE1ldGhvZCA9ICdnZXQnIHwgJ3Bvc3QnIHwgJ3B1dCcgfCAncGF0Y2gnIHwgJ2RlbGV0ZSc7XG5cbmV4cG9ydCB0eXBlIFJlcXVlc3RDbGllbnQgPSB7IGZldGNoOiBGZXRjaCB9O1xuZXhwb3J0IHR5cGUgSGVhZGVycyA9IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ+O1xuZXhwb3J0IHR5cGUgRGVmYXVsdFF1ZXJ5ID0gUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPjtcbmV4cG9ydCB0eXBlIEtleXNFbnVtPFQ+ID0geyBbUCBpbiBrZXlvZiBSZXF1aXJlZDxUPl06IHRydWUgfTtcblxuZXhwb3J0IHR5cGUgUmVxdWVzdE9wdGlvbnM8UmVxIGV4dGVuZHMge30gPSBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IFJlYWRhYmxlPiA9IHtcbiAgbWV0aG9kPzogSFRUUE1ldGhvZDtcbiAgcGF0aD86IHN0cmluZztcbiAgcXVlcnk/OiBSZXEgfCB1bmRlZmluZWQ7XG4gIGJvZHk/OiBSZXEgfCB1bmRlZmluZWQ7XG4gIGhlYWRlcnM/OiBIZWFkZXJzIHwgdW5kZWZpbmVkO1xuXG4gIG1heFJldHJpZXM/OiBudW1iZXI7XG4gIHN0cmVhbT86IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG4gIHRpbWVvdXQ/OiBudW1iZXI7XG4gIGh0dHBBZ2VudD86IEFnZW50O1xuICBzaWduYWw/OiBBYm9ydFNpZ25hbCB8IHVuZGVmaW5lZCB8IG51bGw7XG4gIGlkZW1wb3RlbmN5S2V5Pzogc3RyaW5nO1xuXG4gIF9fYmluYXJ5UmVzcG9uc2U/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xufTtcblxuLy8gVGhpcyBpcyByZXF1aXJlZCBzbyB0aGF0IHdlIGNhbiBkZXRlcm1pbmUgaWYgYSBnaXZlbiBvYmplY3QgbWF0Y2hlcyB0aGUgUmVxdWVzdE9wdGlvbnNcbi8vIHR5cGUgYXQgcnVudGltZS4gV2hpbGUgdGhpcyByZXF1aXJlcyBkdXBsaWNhdGlvbiwgaXQgaXMgZW5mb3JjZWQgYnkgdGhlIFR5cGVTY3JpcHRcbi8vIGNvbXBpbGVyIHN1Y2ggdGhhdCBhbnkgbWlzc2luZyAvIGV4dHJhbmVvdXMga2V5cyB3aWxsIGNhdXNlIGFuIGVycm9yLlxuY29uc3QgcmVxdWVzdE9wdGlvbnNLZXlzOiBLZXlzRW51bTxSZXF1ZXN0T3B0aW9ucz4gPSB7XG4gIG1ldGhvZDogdHJ1ZSxcbiAgcGF0aDogdHJ1ZSxcbiAgcXVlcnk6IHRydWUsXG4gIGJvZHk6IHRydWUsXG4gIGhlYWRlcnM6IHRydWUsXG5cbiAgbWF4UmV0cmllczogdHJ1ZSxcbiAgc3RyZWFtOiB0cnVlLFxuICB0aW1lb3V0OiB0cnVlLFxuICBodHRwQWdlbnQ6IHRydWUsXG4gIHNpZ25hbDogdHJ1ZSxcbiAgaWRlbXBvdGVuY3lLZXk6IHRydWUsXG5cbiAgX19iaW5hcnlSZXNwb25zZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBpc1JlcXVlc3RPcHRpb25zID0gKG9iajogdW5rbm93bik6IG9iaiBpcyBSZXF1ZXN0T3B0aW9uczxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiB8IFJlYWRhYmxlPiA9PiB7XG4gIHJldHVybiAoXG4gICAgdHlwZW9mIG9iaiA9PT0gJ29iamVjdCcgJiZcbiAgICBvYmogIT09IG51bGwgJiZcbiAgICAhaXNFbXB0eU9iaihvYmopICYmXG4gICAgT2JqZWN0LmtleXMob2JqKS5ldmVyeSgoaykgPT4gaGFzT3duKHJlcXVlc3RPcHRpb25zS2V5cywgaykpXG4gICk7XG59O1xuXG5leHBvcnQgdHlwZSBGaW5hbFJlcXVlc3RPcHRpb25zPFJlcSBleHRlbmRzIHt9ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4gfCBSZWFkYWJsZT4gPSBSZXF1ZXN0T3B0aW9uczxSZXE+ICYge1xuICBtZXRob2Q6IEhUVFBNZXRob2Q7XG4gIHBhdGg6IHN0cmluZztcbn07XG5cbmRlY2xhcmUgY29uc3QgRGVubzogYW55O1xuZGVjbGFyZSBjb25zdCBFZGdlUnVudGltZTogYW55O1xudHlwZSBBcmNoID0gJ3gzMicgfCAneDY0JyB8ICdhcm0nIHwgJ2FybTY0JyB8IGBvdGhlcjoke3N0cmluZ31gIHwgJ3Vua25vd24nO1xudHlwZSBQbGF0Zm9ybU5hbWUgPVxuICB8ICdNYWNPUydcbiAgfCAnTGludXgnXG4gIHwgJ1dpbmRvd3MnXG4gIHwgJ0ZyZWVCU0QnXG4gIHwgJ09wZW5CU0QnXG4gIHwgJ2lPUydcbiAgfCAnQW5kcm9pZCdcbiAgfCBgT3RoZXI6JHtzdHJpbmd9YFxuICB8ICdVbmtub3duJztcbnR5cGUgQnJvd3NlciA9ICdpZScgfCAnZWRnZScgfCAnY2hyb21lJyB8ICdmaXJlZm94JyB8ICdzYWZhcmknO1xudHlwZSBQbGF0Zm9ybVByb3BlcnRpZXMgPSB7XG4gICdYLVN0YWlubGVzcy1MYW5nJzogJ2pzJztcbiAgJ1gtU3RhaW5sZXNzLVBhY2thZ2UtVmVyc2lvbic6IHN0cmluZztcbiAgJ1gtU3RhaW5sZXNzLU9TJzogUGxhdGZvcm1OYW1lO1xuICAnWC1TdGFpbmxlc3MtQXJjaCc6IEFyY2g7XG4gICdYLVN0YWlubGVzcy1SdW50aW1lJzogJ25vZGUnIHwgJ2Rlbm8nIHwgJ2VkZ2UnIHwgYGJyb3dzZXI6JHtCcm93c2VyfWAgfCAndW5rbm93bic7XG4gICdYLVN0YWlubGVzcy1SdW50aW1lLVZlcnNpb24nOiBzdHJpbmc7XG59O1xuY29uc3QgZ2V0UGxhdGZvcm1Qcm9wZXJ0aWVzID0gKCk6IFBsYXRmb3JtUHJvcGVydGllcyA9PiB7XG4gIGlmICh0eXBlb2YgRGVubyAhPT0gJ3VuZGVmaW5lZCcgJiYgRGVuby5idWlsZCAhPSBudWxsKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdYLVN0YWlubGVzcy1MYW5nJzogJ2pzJyxcbiAgICAgICdYLVN0YWlubGVzcy1QYWNrYWdlLVZlcnNpb24nOiBWRVJTSU9OLFxuICAgICAgJ1gtU3RhaW5sZXNzLU9TJzogbm9ybWFsaXplUGxhdGZvcm0oRGVuby5idWlsZC5vcyksXG4gICAgICAnWC1TdGFpbmxlc3MtQXJjaCc6IG5vcm1hbGl6ZUFyY2goRGVuby5idWlsZC5hcmNoKSxcbiAgICAgICdYLVN0YWlubGVzcy1SdW50aW1lJzogJ2Rlbm8nLFxuICAgICAgJ1gtU3RhaW5sZXNzLVJ1bnRpbWUtVmVyc2lvbic6IERlbm8udmVyc2lvbixcbiAgICB9O1xuICB9XG4gIGlmICh0eXBlb2YgRWRnZVJ1bnRpbWUgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdYLVN0YWlubGVzcy1MYW5nJzogJ2pzJyxcbiAgICAgICdYLVN0YWlubGVzcy1QYWNrYWdlLVZlcnNpb24nOiBWRVJTSU9OLFxuICAgICAgJ1gtU3RhaW5sZXNzLU9TJzogJ1Vua25vd24nLFxuICAgICAgJ1gtU3RhaW5sZXNzLUFyY2gnOiBgb3RoZXI6JHtFZGdlUnVudGltZX1gLFxuICAgICAgJ1gtU3RhaW5sZXNzLVJ1bnRpbWUnOiAnZWRnZScsXG4gICAgICAnWC1TdGFpbmxlc3MtUnVudGltZS1WZXJzaW9uJzogcHJvY2Vzcy52ZXJzaW9uLFxuICAgIH07XG4gIH1cbiAgLy8gQ2hlY2sgaWYgTm9kZS5qc1xuICBpZiAoT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKHR5cGVvZiBwcm9jZXNzICE9PSAndW5kZWZpbmVkJyA/IHByb2Nlc3MgOiAwKSA9PT0gJ1tvYmplY3QgcHJvY2Vzc10nKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICdYLVN0YWlubGVzcy1MYW5nJzogJ2pzJyxcbiAgICAgICdYLVN0YWlubGVzcy1QYWNrYWdlLVZlcnNpb24nOiBWRVJTSU9OLFxuICAgICAgJ1gtU3RhaW5sZXNzLU9TJzogbm9ybWFsaXplUGxhdGZvcm0ocHJvY2Vzcy5wbGF0Zm9ybSksXG4gICAgICAnWC1TdGFpbmxlc3MtQXJjaCc6IG5vcm1hbGl6ZUFyY2gocHJvY2Vzcy5hcmNoKSxcbiAgICAgICdYLVN0YWlubGVzcy1SdW50aW1lJzogJ25vZGUnLFxuICAgICAgJ1gtU3RhaW5sZXNzLVJ1bnRpbWUtVmVyc2lvbic6IHByb2Nlc3MudmVyc2lvbixcbiAgICB9O1xuICB9XG5cbiAgY29uc3QgYnJvd3NlckluZm8gPSBnZXRCcm93c2VySW5mbygpO1xuICBpZiAoYnJvd3NlckluZm8pIHtcbiAgICByZXR1cm4ge1xuICAgICAgJ1gtU3RhaW5sZXNzLUxhbmcnOiAnanMnLFxuICAgICAgJ1gtU3RhaW5sZXNzLVBhY2thZ2UtVmVyc2lvbic6IFZFUlNJT04sXG4gICAgICAnWC1TdGFpbmxlc3MtT1MnOiAnVW5rbm93bicsXG4gICAgICAnWC1TdGFpbmxlc3MtQXJjaCc6ICd1bmtub3duJyxcbiAgICAgICdYLVN0YWlubGVzcy1SdW50aW1lJzogYGJyb3dzZXI6JHticm93c2VySW5mby5icm93c2VyfWAsXG4gICAgICAnWC1TdGFpbmxlc3MtUnVudGltZS1WZXJzaW9uJzogYnJvd3NlckluZm8udmVyc2lvbixcbiAgICB9O1xuICB9XG5cbiAgLy8gVE9ETyBhZGQgc3VwcG9ydCBmb3IgQ2xvdWRmbGFyZSB3b3JrZXJzLCBldGMuXG4gIHJldHVybiB7XG4gICAgJ1gtU3RhaW5sZXNzLUxhbmcnOiAnanMnLFxuICAgICdYLVN0YWlubGVzcy1QYWNrYWdlLVZlcnNpb24nOiBWRVJTSU9OLFxuICAgICdYLVN0YWlubGVzcy1PUyc6ICdVbmtub3duJyxcbiAgICAnWC1TdGFpbmxlc3MtQXJjaCc6ICd1bmtub3duJyxcbiAgICAnWC1TdGFpbmxlc3MtUnVudGltZSc6ICd1bmtub3duJyxcbiAgICAnWC1TdGFpbmxlc3MtUnVudGltZS1WZXJzaW9uJzogJ3Vua25vd24nLFxuICB9O1xufTtcblxudHlwZSBCcm93c2VySW5mbyA9IHtcbiAgYnJvd3NlcjogQnJvd3NlcjtcbiAgdmVyc2lvbjogc3RyaW5nO1xufTtcblxuZGVjbGFyZSBjb25zdCBuYXZpZ2F0b3I6IHsgdXNlckFnZW50OiBzdHJpbmcgfSB8IHVuZGVmaW5lZDtcblxuLy8gTm90ZTogbW9kaWZpZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20vSlMtRGV2VG9vbHMvaG9zdC1lbnZpcm9ubWVudC9ibG9iL2IxYWI3OWVjZGUzN2RiNWQ2ZTE2M2MwNTBlNTRmZTdkMjg3ZDdjOTIvc3JjL2lzb21vcnBoaWMuYnJvd3Nlci50c1xuZnVuY3Rpb24gZ2V0QnJvd3NlckluZm8oKTogQnJvd3NlckluZm8gfCBudWxsIHtcbiAgaWYgKHR5cGVvZiBuYXZpZ2F0b3IgPT09ICd1bmRlZmluZWQnIHx8ICFuYXZpZ2F0b3IpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8vIE5PVEU6IFRoZSBvcmRlciBtYXR0ZXJzIGhlcmUhXG4gIGNvbnN0IGJyb3dzZXJQYXR0ZXJucyA9IFtcbiAgICB7IGtleTogJ2VkZ2UnIGFzIGNvbnN0LCBwYXR0ZXJuOiAvRWRnZSg/OlxcVysoXFxkKylcXC4oXFxkKykoPzpcXC4oXFxkKykpPyk/LyB9LFxuICAgIHsga2V5OiAnaWUnIGFzIGNvbnN0LCBwYXR0ZXJuOiAvTVNJRSg/OlxcVysoXFxkKylcXC4oXFxkKykoPzpcXC4oXFxkKykpPyk/LyB9LFxuICAgIHsga2V5OiAnaWUnIGFzIGNvbnN0LCBwYXR0ZXJuOiAvVHJpZGVudCg/Oi4qcnZcXDooXFxkKylcXC4oXFxkKykoPzpcXC4oXFxkKykpPyk/LyB9LFxuICAgIHsga2V5OiAnY2hyb21lJyBhcyBjb25zdCwgcGF0dGVybjogL0Nocm9tZSg/OlxcVysoXFxkKylcXC4oXFxkKykoPzpcXC4oXFxkKykpPyk/LyB9LFxuICAgIHsga2V5OiAnZmlyZWZveCcgYXMgY29uc3QsIHBhdHRlcm46IC9GaXJlZm94KD86XFxXKyhcXGQrKVxcLihcXGQrKSg/OlxcLihcXGQrKSk/KT8vIH0sXG4gICAgeyBrZXk6ICdzYWZhcmknIGFzIGNvbnN0LCBwYXR0ZXJuOiAvKD86VmVyc2lvblxcVysoXFxkKylcXC4oXFxkKykoPzpcXC4oXFxkKykpPyk/KD86XFxXK01vYmlsZVxcUyopP1xcVytTYWZhcmkvIH0sXG4gIF07XG5cbiAgLy8gRmluZCB0aGUgRklSU1QgbWF0Y2hpbmcgYnJvd3NlclxuICBmb3IgKGNvbnN0IHsga2V5LCBwYXR0ZXJuIH0gb2YgYnJvd3NlclBhdHRlcm5zKSB7XG4gICAgY29uc3QgbWF0Y2ggPSBwYXR0ZXJuLmV4ZWMobmF2aWdhdG9yLnVzZXJBZ2VudCk7XG4gICAgaWYgKG1hdGNoKSB7XG4gICAgICBjb25zdCBtYWpvciA9IG1hdGNoWzFdIHx8IDA7XG4gICAgICBjb25zdCBtaW5vciA9IG1hdGNoWzJdIHx8IDA7XG4gICAgICBjb25zdCBwYXRjaCA9IG1hdGNoWzNdIHx8IDA7XG5cbiAgICAgIHJldHVybiB7IGJyb3dzZXI6IGtleSwgdmVyc2lvbjogYCR7bWFqb3J9LiR7bWlub3J9LiR7cGF0Y2h9YCB9O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuXG5jb25zdCBub3JtYWxpemVBcmNoID0gKGFyY2g6IHN0cmluZyk6IEFyY2ggPT4ge1xuICAvLyBOb2RlIGRvY3M6XG4gIC8vIC0gaHR0cHM6Ly9ub2RlanMub3JnL2FwaS9wcm9jZXNzLmh0bWwjcHJvY2Vzc2FyY2hcbiAgLy8gRGVubyBkb2NzOlxuICAvLyAtIGh0dHBzOi8vZG9jLmRlbm8ubGFuZC9kZW5vL3N0YWJsZS9+L0Rlbm8uYnVpbGRcbiAgaWYgKGFyY2ggPT09ICd4MzInKSByZXR1cm4gJ3gzMic7XG4gIGlmIChhcmNoID09PSAneDg2XzY0JyB8fCBhcmNoID09PSAneDY0JykgcmV0dXJuICd4NjQnO1xuICBpZiAoYXJjaCA9PT0gJ2FybScpIHJldHVybiAnYXJtJztcbiAgaWYgKGFyY2ggPT09ICdhYXJjaDY0JyB8fCBhcmNoID09PSAnYXJtNjQnKSByZXR1cm4gJ2FybTY0JztcbiAgaWYgKGFyY2gpIHJldHVybiBgb3RoZXI6JHthcmNofWA7XG4gIHJldHVybiAndW5rbm93bic7XG59O1xuXG5jb25zdCBub3JtYWxpemVQbGF0Zm9ybSA9IChwbGF0Zm9ybTogc3RyaW5nKTogUGxhdGZvcm1OYW1lID0+IHtcbiAgLy8gTm9kZSBwbGF0Zm9ybXM6XG4gIC8vIC0gaHR0cHM6Ly9ub2RlanMub3JnL2FwaS9wcm9jZXNzLmh0bWwjcHJvY2Vzc3BsYXRmb3JtXG4gIC8vIERlbm8gcGxhdGZvcm1zOlxuICAvLyAtIGh0dHBzOi8vZG9jLmRlbm8ubGFuZC9kZW5vL3N0YWJsZS9+L0Rlbm8uYnVpbGRcbiAgLy8gLSBodHRwczovL2dpdGh1Yi5jb20vZGVub2xhbmQvZGVuby9pc3N1ZXMvMTQ3OTlcblxuICBwbGF0Zm9ybSA9IHBsYXRmb3JtLnRvTG93ZXJDYXNlKCk7XG5cbiAgLy8gTk9URTogdGhpcyBpT1MgY2hlY2sgaXMgdW50ZXN0ZWQgYW5kIG1heSBub3Qgd29ya1xuICAvLyBOb2RlIGRvZXMgbm90IHdvcmsgbmF0aXZlbHkgb24gSU9TLCB0aGVyZSBpcyBhIGZvcmsgYXRcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL25vZGVqcy1tb2JpbGUvbm9kZWpzLW1vYmlsZVxuICAvLyBob3dldmVyIGl0IGlzIHVua25vd24gYXQgdGhlIHRpbWUgb2Ygd3JpdGluZyBob3cgdG8gZGV0ZWN0IGlmIGl0IGlzIHJ1bm5pbmdcbiAgaWYgKHBsYXRmb3JtLmluY2x1ZGVzKCdpb3MnKSkgcmV0dXJuICdpT1MnO1xuICBpZiAocGxhdGZvcm0gPT09ICdhbmRyb2lkJykgcmV0dXJuICdBbmRyb2lkJztcbiAgaWYgKHBsYXRmb3JtID09PSAnZGFyd2luJykgcmV0dXJuICdNYWNPUyc7XG4gIGlmIChwbGF0Zm9ybSA9PT0gJ3dpbjMyJykgcmV0dXJuICdXaW5kb3dzJztcbiAgaWYgKHBsYXRmb3JtID09PSAnZnJlZWJzZCcpIHJldHVybiAnRnJlZUJTRCc7XG4gIGlmIChwbGF0Zm9ybSA9PT0gJ29wZW5ic2QnKSByZXR1cm4gJ09wZW5CU0QnO1xuICBpZiAocGxhdGZvcm0gPT09ICdsaW51eCcpIHJldHVybiAnTGludXgnO1xuICBpZiAocGxhdGZvcm0pIHJldHVybiBgT3RoZXI6JHtwbGF0Zm9ybX1gO1xuICByZXR1cm4gJ1Vua25vd24nO1xufTtcblxubGV0IF9wbGF0Zm9ybUhlYWRlcnM6IFBsYXRmb3JtUHJvcGVydGllcztcbmNvbnN0IGdldFBsYXRmb3JtSGVhZGVycyA9ICgpID0+IHtcbiAgcmV0dXJuIChfcGxhdGZvcm1IZWFkZXJzID8/PSBnZXRQbGF0Zm9ybVByb3BlcnRpZXMoKSk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2FmZUpTT04gPSAodGV4dDogc3RyaW5nKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIEpTT04ucGFyc2UodGV4dCk7XG4gIH0gY2F0Y2ggKGVycikge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn07XG5cbi8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8xOTcwOTg0NlxuY29uc3Qgc3RhcnRzV2l0aFNjaGVtZVJlZ2V4cCA9IG5ldyBSZWdFeHAoJ14oPzpbYS16XSs6KT8vLycsICdpJyk7XG5jb25zdCBpc0Fic29sdXRlVVJMID0gKHVybDogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIHJldHVybiBzdGFydHNXaXRoU2NoZW1lUmVnZXhwLnRlc3QodXJsKTtcbn07XG5cbmV4cG9ydCBjb25zdCBzbGVlcCA9IChtczogbnVtYmVyKSA9PiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4gc2V0VGltZW91dChyZXNvbHZlLCBtcykpO1xuXG5jb25zdCB2YWxpZGF0ZVBvc2l0aXZlSW50ZWdlciA9IChuYW1lOiBzdHJpbmcsIG46IHVua25vd24pOiBudW1iZXIgPT4ge1xuICBpZiAodHlwZW9mIG4gIT09ICdudW1iZXInIHx8ICFOdW1iZXIuaXNJbnRlZ2VyKG4pKSB7XG4gICAgdGhyb3cgbmV3IE9wZW5BSUVycm9yKGAke25hbWV9IG11c3QgYmUgYW4gaW50ZWdlcmApO1xuICB9XG4gIGlmIChuIDwgMCkge1xuICAgIHRocm93IG5ldyBPcGVuQUlFcnJvcihgJHtuYW1lfSBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlcmApO1xuICB9XG4gIHJldHVybiBuO1xufTtcblxuZXhwb3J0IGNvbnN0IGNhc3RUb0Vycm9yID0gKGVycjogYW55KTogRXJyb3IgPT4ge1xuICBpZiAoZXJyIGluc3RhbmNlb2YgRXJyb3IpIHJldHVybiBlcnI7XG4gIHJldHVybiBuZXcgRXJyb3IoZXJyKTtcbn07XG5cbmV4cG9ydCBjb25zdCBlbnN1cmVQcmVzZW50ID0gPFQ+KHZhbHVlOiBUIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFQgPT4ge1xuICBpZiAodmFsdWUgPT0gbnVsbCkgdGhyb3cgbmV3IE9wZW5BSUVycm9yKGBFeHBlY3RlZCBhIHZhbHVlIHRvIGJlIGdpdmVuIGJ1dCByZWNlaXZlZCAke3ZhbHVlfSBpbnN0ZWFkLmApO1xuICByZXR1cm4gdmFsdWU7XG59O1xuXG4vKipcbiAqIFJlYWQgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUuXG4gKlxuICogV2lsbCByZXR1cm4gdW5kZWZpbmVkIGlmIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZSBkb2Vzbid0IGV4aXN0IG9yIGNhbm5vdCBiZSBhY2Nlc3NlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlYWRFbnYgPSAoZW52OiBzdHJpbmcpOiBzdHJpbmcgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAodHlwZW9mIHByb2Nlc3MgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIHByb2Nlc3MuZW52Py5bZW52XSA/PyB1bmRlZmluZWQ7XG4gIH1cbiAgaWYgKHR5cGVvZiBEZW5vICE9PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBEZW5vLmVudj8uZ2V0Py4oZW52KTtcbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufTtcblxuZXhwb3J0IGNvbnN0IGNvZXJjZUludGVnZXIgPSAodmFsdWU6IHVua25vd24pOiBudW1iZXIgPT4ge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykgcmV0dXJuIE1hdGgucm91bmQodmFsdWUpO1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykgcmV0dXJuIHBhcnNlSW50KHZhbHVlLCAxMCk7XG5cbiAgdGhyb3cgbmV3IE9wZW5BSUVycm9yKGBDb3VsZCBub3QgY29lcmNlICR7dmFsdWV9ICh0eXBlOiAke3R5cGVvZiB2YWx1ZX0pIGludG8gYSBudW1iZXJgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb2VyY2VGbG9hdCA9ICh2YWx1ZTogdW5rbm93bik6IG51bWJlciA9PiB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSByZXR1cm4gdmFsdWU7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSByZXR1cm4gcGFyc2VGbG9hdCh2YWx1ZSk7XG5cbiAgdGhyb3cgbmV3IE9wZW5BSUVycm9yKGBDb3VsZCBub3QgY29lcmNlICR7dmFsdWV9ICh0eXBlOiAke3R5cGVvZiB2YWx1ZX0pIGludG8gYSBudW1iZXJgKTtcbn07XG5cbmV4cG9ydCBjb25zdCBjb2VyY2VCb29sZWFuID0gKHZhbHVlOiB1bmtub3duKTogYm9vbGVhbiA9PiB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdib29sZWFuJykgcmV0dXJuIHZhbHVlO1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykgcmV0dXJuIHZhbHVlID09PSAndHJ1ZSc7XG4gIHJldHVybiBCb29sZWFuKHZhbHVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXliZUNvZXJjZUludGVnZXIgPSAodmFsdWU6IHVua25vd24pOiBudW1iZXIgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIGNvZXJjZUludGVnZXIodmFsdWUpO1xufTtcblxuZXhwb3J0IGNvbnN0IG1heWJlQ29lcmNlRmxvYXQgPSAodmFsdWU6IHVua25vd24pOiBudW1iZXIgfCB1bmRlZmluZWQgPT4ge1xuICBpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIGNvZXJjZUZsb2F0KHZhbHVlKTtcbn07XG5cbmV4cG9ydCBjb25zdCBtYXliZUNvZXJjZUJvb2xlYW4gPSAodmFsdWU6IHVua25vd24pOiBib29sZWFuIHwgdW5kZWZpbmVkID0+IHtcbiAgaWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHJldHVybiBjb2VyY2VCb29sZWFuKHZhbHVlKTtcbn07XG5cbi8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vYS8zNDQ5MTI4N1xuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHlPYmoob2JqOiBPYmplY3QgfCBudWxsIHwgdW5kZWZpbmVkKTogYm9vbGVhbiB7XG4gIGlmICghb2JqKSByZXR1cm4gdHJ1ZTtcbiAgZm9yIChjb25zdCBfayBpbiBvYmopIHJldHVybiBmYWxzZTtcbiAgcmV0dXJuIHRydWU7XG59XG5cbi8vIGh0dHBzOi8vZXNsaW50Lm9yZy9kb2NzL2xhdGVzdC9ydWxlcy9uby1wcm90b3R5cGUtYnVpbHRpbnNcbmV4cG9ydCBmdW5jdGlvbiBoYXNPd24ob2JqOiBPYmplY3QsIGtleTogc3RyaW5nKTogYm9vbGVhbiB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqLCBrZXkpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVidWcoYWN0aW9uOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKSB7XG4gIGlmICh0eXBlb2YgcHJvY2VzcyAhPT0gJ3VuZGVmaW5lZCcgJiYgcHJvY2Vzcy5lbnZbJ0RFQlVHJ10gPT09ICd0cnVlJykge1xuICAgIGNvbnNvbGUubG9nKGBPcGVuQUk6REVCVUc6JHthY3Rpb259YCwgLi4uYXJncyk7XG4gIH1cbn1cblxuLyoqXG4gKiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMjExNzUyM1xuICovXG5jb25zdCB1dWlkNCA9ICgpID0+IHtcbiAgcmV0dXJuICd4eHh4eHh4eC14eHh4LTR4eHgteXh4eC14eHh4eHh4eHh4eHgnLnJlcGxhY2UoL1t4eV0vZywgKGMpID0+IHtcbiAgICBjb25zdCByID0gKE1hdGgucmFuZG9tKCkgKiAxNikgfCAwO1xuICAgIGNvbnN0IHYgPSBjID09PSAneCcgPyByIDogKHIgJiAweDMpIHwgMHg4O1xuICAgIHJldHVybiB2LnRvU3RyaW5nKDE2KTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgaXNSdW5uaW5nSW5Ccm93c2VyID0gKCkgPT4ge1xuICByZXR1cm4gKFxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB0eXBlb2Ygd2luZG93LmRvY3VtZW50ICE9PSAndW5kZWZpbmVkJyAmJlxuICAgIC8vIEB0cy1pZ25vcmVcbiAgICB0eXBlb2YgbmF2aWdhdG9yICE9PSAndW5kZWZpbmVkJ1xuICApO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBIZWFkZXJzUHJvdG9jb2wge1xuICBnZXQ6IChoZWFkZXI6IHN0cmluZykgPT4gc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbn1cbmV4cG9ydCB0eXBlIEhlYWRlcnNMaWtlID0gUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgc3RyaW5nW10gfCB1bmRlZmluZWQ+IHwgSGVhZGVyc1Byb3RvY29sO1xuXG5leHBvcnQgY29uc3QgaXNIZWFkZXJzUHJvdG9jb2wgPSAoaGVhZGVyczogYW55KTogaGVhZGVycyBpcyBIZWFkZXJzUHJvdG9jb2wgPT4ge1xuICByZXR1cm4gdHlwZW9mIGhlYWRlcnM/LmdldCA9PT0gJ2Z1bmN0aW9uJztcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRSZXF1aXJlZEhlYWRlciA9IChoZWFkZXJzOiBIZWFkZXJzTGlrZSwgaGVhZGVyOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBsb3dlckNhc2VkSGVhZGVyID0gaGVhZGVyLnRvTG93ZXJDYXNlKCk7XG4gIGlmIChpc0hlYWRlcnNQcm90b2NvbChoZWFkZXJzKSkge1xuICAgIC8vIHRvIGRlYWwgd2l0aCB0aGUgY2FzZSB3aGVyZSB0aGUgaGVhZGVyIGxvb2tzIGxpa2UgU3RhaW5sZXNzLUV2ZW50LUlkXG4gICAgY29uc3QgaW50ZXJjYXBzSGVhZGVyID1cbiAgICAgIGhlYWRlclswXT8udG9VcHBlckNhc2UoKSArXG4gICAgICBoZWFkZXIuc3Vic3RyaW5nKDEpLnJlcGxhY2UoLyhbXlxcd10pKFxcdykvZywgKF9tLCBnMSwgZzIpID0+IGcxICsgZzIudG9VcHBlckNhc2UoKSk7XG4gICAgZm9yIChjb25zdCBrZXkgb2YgW2hlYWRlciwgbG93ZXJDYXNlZEhlYWRlciwgaGVhZGVyLnRvVXBwZXJDYXNlKCksIGludGVyY2Fwc0hlYWRlcl0pIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gaGVhZGVycy5nZXQoa2V5KTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICByZXR1cm4gdmFsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMoaGVhZGVycykpIHtcbiAgICBpZiAoa2V5LnRvTG93ZXJDYXNlKCkgPT09IGxvd2VyQ2FzZWRIZWFkZXIpIHtcbiAgICAgIGlmIChBcnJheS5pc0FycmF5KHZhbHVlKSkge1xuICAgICAgICBpZiAodmFsdWUubGVuZ3RoIDw9IDEpIHJldHVybiB2YWx1ZVswXTtcbiAgICAgICAgY29uc29sZS53YXJuKGBSZWNlaXZlZCAke3ZhbHVlLmxlbmd0aH0gZW50cmllcyBmb3IgdGhlICR7aGVhZGVyfSBoZWFkZXIsIHVzaW5nIHRoZSBmaXJzdCBlbnRyeS5gKTtcbiAgICAgICAgcmV0dXJuIHZhbHVlWzBdO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHZhbHVlO1xuICAgIH1cbiAgfVxuXG4gIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGZpbmQgJHtoZWFkZXJ9IGhlYWRlcmApO1xufTtcblxuLyoqXG4gKiBFbmNvZGVzIGEgc3RyaW5nIHRvIEJhc2U2NCBmb3JtYXQuXG4gKi9cbmV4cG9ydCBjb25zdCB0b0Jhc2U2NCA9IChzdHI6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcgPT4ge1xuICBpZiAoIXN0cikgcmV0dXJuICcnO1xuICBpZiAodHlwZW9mIEJ1ZmZlciAhPT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gQnVmZmVyLmZyb20oc3RyKS50b1N0cmluZygnYmFzZTY0Jyk7XG4gIH1cblxuICBpZiAodHlwZW9mIGJ0b2EgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIGJ0b2Eoc3RyKTtcbiAgfVxuXG4gIHRocm93IG5ldyBPcGVuQUlFcnJvcignQ2Fubm90IGdlbmVyYXRlIGI2NCBzdHJpbmc7IEV4cGVjdGVkIGBCdWZmZXJgIG9yIGBidG9hYCB0byBiZSBkZWZpbmVkJyk7XG59O1xuIiwgIi8vIEZpbGUgZ2VuZXJhdGVkIGZyb20gb3VyIE9wZW5BUEkgc3BlYyBieSBTdGFpbmxlc3MuXG5cbmltcG9ydCB7IEFic3RyYWN0UGFnZSwgUmVzcG9uc2UsIEFQSUNsaWVudCwgRmluYWxSZXF1ZXN0T3B0aW9ucywgUGFnZUluZm8gfSBmcm9tICcuL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VSZXNwb25zZTxJdGVtPiB7XG4gIGRhdGE6IEFycmF5PEl0ZW0+O1xuXG4gIG9iamVjdDogJ2xpc3QnO1xufVxuXG4vKipcbiAqIE5vdGU6IG5vIHBhZ2luYXRpb24gYWN0dWFsbHkgb2NjdXJzIHlldCwgdGhpcyBpcyBmb3IgZm9yd2FyZHMtY29tcGF0aWJpbGl0eS5cbiAqL1xuZXhwb3J0IGNsYXNzIFBhZ2U8SXRlbT4gZXh0ZW5kcyBBYnN0cmFjdFBhZ2U8SXRlbT4gaW1wbGVtZW50cyBQYWdlUmVzcG9uc2U8SXRlbT4ge1xuICBkYXRhOiBBcnJheTxJdGVtPjtcblxuICBvYmplY3Q6ICdsaXN0JztcblxuICBjb25zdHJ1Y3RvcihjbGllbnQ6IEFQSUNsaWVudCwgcmVzcG9uc2U6IFJlc3BvbnNlLCBib2R5OiBQYWdlUmVzcG9uc2U8SXRlbT4sIG9wdGlvbnM6IEZpbmFsUmVxdWVzdE9wdGlvbnMpIHtcbiAgICBzdXBlcihjbGllbnQsIHJlc3BvbnNlLCBib2R5LCBvcHRpb25zKTtcblxuICAgIHRoaXMuZGF0YSA9IGJvZHkuZGF0YTtcbiAgICB0aGlzLm9iamVjdCA9IGJvZHkub2JqZWN0O1xuICB9XG5cbiAgZ2V0UGFnaW5hdGVkSXRlbXMoKTogSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhO1xuICB9XG5cbiAgLy8gQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBgbmV4dFBhZ2VJbmZvKClgIGluc3RlYWRcbiAgLyoqXG4gICAqIFRoaXMgcGFnZSByZXByZXNlbnRzIGEgcmVzcG9uc2UgdGhhdCBpc24ndCBhY3R1YWxseSBwYWdpbmF0ZWQgYXQgdGhlIEFQSSBsZXZlbFxuICAgKiBzbyB0aGVyZSB3aWxsIG5ldmVyIGJlIGFueSBuZXh0IHBhZ2UgcGFyYW1zLlxuICAgKi9cbiAgbmV4dFBhZ2VQYXJhbXMoKTogbnVsbCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cblxuICBuZXh0UGFnZUluZm8oKTogbnVsbCB7XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXJzb3JQYWdlUmVzcG9uc2U8SXRlbT4ge1xuICBkYXRhOiBBcnJheTxJdGVtPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDdXJzb3JQYWdlUGFyYW1zIHtcbiAgLyoqXG4gICAqIElkZW50aWZpZXIgZm9yIHRoZSBsYXN0IGpvYiBmcm9tIHRoZSBwcmV2aW91cyBwYWdpbmF0aW9uIHJlcXVlc3QuXG4gICAqL1xuICBhZnRlcj86IHN0cmluZztcblxuICAvKipcbiAgICogTnVtYmVyIG9mIGZpbmUtdHVuaW5nIGpvYnMgdG8gcmV0cmlldmUuXG4gICAqL1xuICBsaW1pdD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGNsYXNzIEN1cnNvclBhZ2U8SXRlbSBleHRlbmRzIHsgaWQ6IHN0cmluZyB9PlxuICBleHRlbmRzIEFic3RyYWN0UGFnZTxJdGVtPlxuICBpbXBsZW1lbnRzIEN1cnNvclBhZ2VSZXNwb25zZTxJdGVtPlxue1xuICBkYXRhOiBBcnJheTxJdGVtPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBjbGllbnQ6IEFQSUNsaWVudCxcbiAgICByZXNwb25zZTogUmVzcG9uc2UsXG4gICAgYm9keTogQ3Vyc29yUGFnZVJlc3BvbnNlPEl0ZW0+LFxuICAgIG9wdGlvbnM6IEZpbmFsUmVxdWVzdE9wdGlvbnMsXG4gICkge1xuICAgIHN1cGVyKGNsaWVudCwgcmVzcG9uc2UsIGJvZHksIG9wdGlvbnMpO1xuXG4gICAgdGhpcy5kYXRhID0gYm9keS5kYXRhO1xuICB9XG5cbiAgZ2V0UGFnaW5hdGVkSXRlbXMoKTogSXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5kYXRhO1xuICB9XG5cbiAgLy8gQGRlcHJlY2F0ZWQgUGxlYXNlIHVzZSBgbmV4dFBhZ2VJbmZvKClgIGluc3RlYWRcbiAgbmV4dFBhZ2VQYXJhbXMoKTogUGFydGlhbDxDdXJzb3JQYWdlUGFyYW1zPiB8IG51bGwge1xuICAgIGNvbnN0IGluZm8gPSB0aGlzLm5leHRQYWdlSW5mbygpO1xuICAgIGlmICghaW5mbykgcmV0dXJuIG51bGw7XG4gICAgaWYgKCdwYXJhbXMnIGluIGluZm8pIHJldHVybiBpbmZvLnBhcmFtcztcbiAgICBjb25zdCBwYXJhbXMgPSBPYmplY3QuZnJvbUVudHJpZXMoaW5mby51cmwuc2VhcmNoUGFyYW1zKTtcbiAgICBpZiAoIU9iamVjdC5rZXlzKHBhcmFtcykubGVuZ3RoKSByZXR1cm4gbnVsbDtcbiAgICByZXR1cm4gcGFyYW1zO1xuICB9XG5cbiAgbmV4dFBhZ2VJbmZvKCk6IFBhZ2VJbmZvIHwgbnVsbCB7XG4gICAgaWYgKCF0aGlzLmRhdGE/Lmxlbmd0aCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgY29uc3QgbmV4dCA9IHRoaXMuZGF0YVt0aGlzLmRhdGEubGVuZ3RoIC0gMV0/LmlkO1xuICAgIGlmICghbmV4dCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIHsgcGFyYW1zOiB7IGFmdGVyOiBuZXh0IH0gfTtcbiAgfVxufVxuIiwgIi8vIEZpbGUgZ2VuZXJhdGVkIGZyb20gb3VyIE9wZW5BUEkgc3BlYyBieSBTdGFpbmxlc3MuXG5cbmltcG9ydCB0eXBlIHsgT3BlbkFJIH0gZnJvbSAnLi9pbmRleCc7XG5cbmV4cG9ydCBjbGFzcyBBUElSZXNvdXJjZSB7XG4gIHByb3RlY3RlZCBfY2xpZW50OiBPcGVuQUk7XG5cbiAgY29uc3RydWN0b3IoY2xpZW50OiBPcGVuQUkpIHtcbiAgICB0aGlzLl9jbGllbnQgPSBjbGllbnQ7XG4gIH1cbn1cbiIsICIvLyBGaWxlIGdlbmVyYXRlZCBmcm9tIG91ciBPcGVuQVBJIHNwZWMgYnkgU3RhaW5sZXNzLlxuXG5pbXBvcnQgKiBhcyBDb3JlIGZyb20gXCIuLi8uLi9jb3JlXCI7XG5pbXBvcnQgeyBBUElQcm9taXNlIH0gZnJvbSBcIi4uLy4uL2NvcmVcIjtcbmltcG9ydCB7IEFQSVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlXCI7XG5pbXBvcnQgKiBhcyBDaGF0Q29tcGxldGlvbnNBUEkgZnJvbSBcIi4vY29tcGxldGlvbnNcIjtcbmltcG9ydCAqIGFzIENvbXBsZXRpb25zQVBJIGZyb20gXCIuLi9jb21wbGV0aW9uc1wiO1xuaW1wb3J0ICogYXMgU2hhcmVkIGZyb20gXCIuLi9zaGFyZWRcIjtcbmltcG9ydCB7IFN0cmVhbSB9IGZyb20gXCIuLi8uLi9zdHJlYW1pbmdcIjtcblxuZXhwb3J0IGNsYXNzIENvbXBsZXRpb25zIGV4dGVuZHMgQVBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG1vZGVsIHJlc3BvbnNlIGZvciB0aGUgZ2l2ZW4gY2hhdCBjb252ZXJzYXRpb24uXG4gICAqL1xuICBjcmVhdGUoXG4gICAgYm9keTogQ2hhdENvbXBsZXRpb25DcmVhdGVQYXJhbXNOb25TdHJlYW1pbmcsXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IEFQSVByb21pc2U8Q2hhdENvbXBsZXRpb24+O1xuICBjcmVhdGUoXG4gICAgYm9keTogQ2hhdENvbXBsZXRpb25DcmVhdGVQYXJhbXNTdHJlYW1pbmcsXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IEFQSVByb21pc2U8U3RyZWFtPENoYXRDb21wbGV0aW9uQ2h1bms+PjtcbiAgY3JlYXRlKFxuICAgIGJvZHk6IENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zQmFzZSxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQVBJUHJvbWlzZTxTdHJlYW08Q2hhdENvbXBsZXRpb25DaHVuaz4gfCBDaGF0Q29tcGxldGlvbj47XG4gIGNyZWF0ZShcbiAgICBib2R5OiBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtcyxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQVBJUHJvbWlzZTxDaGF0Q29tcGxldGlvbj4gfCBBUElQcm9taXNlPFN0cmVhbTxDaGF0Q29tcGxldGlvbkNodW5rPj4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQucG9zdCgnL2NoYXQvY29tcGxldGlvbnMnLCB7IGJvZHksIC4uLm9wdGlvbnMsIHN0cmVhbTogYm9keS5zdHJlYW0gPz8gZmFsc2UgfSkgYXNcbiAgICAgIHwgQVBJUHJvbWlzZTxDaGF0Q29tcGxldGlvbj5cbiAgICAgIHwgQVBJUHJvbWlzZTxTdHJlYW08Q2hhdENvbXBsZXRpb25DaHVuaz4+O1xuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNoYXQgY29tcGxldGlvbiByZXNwb25zZSByZXR1cm5lZCBieSBtb2RlbCwgYmFzZWQgb24gdGhlIHByb3ZpZGVkXG4gKiBpbnB1dC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29tcGxldGlvbiB7XG4gIC8qKlxuICAgKiBBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgY2hhdCBjb21wbGV0aW9uLlxuICAgKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQSBsaXN0IG9mIGNoYXQgY29tcGxldGlvbiBjaG9pY2VzLiBDYW4gYmUgbW9yZSB0aGFuIG9uZSBpZiBgbmAgaXMgZ3JlYXRlclxuICAgKiB0aGFuIDEuXG4gICAqL1xuICBjaG9pY2VzOiBBcnJheTxDaGF0Q29tcGxldGlvbi5DaG9pY2U+O1xuXG4gIC8qKlxuICAgKiBUaGUgVW5peCB0aW1lc3RhbXAgKGluIHNlY29uZHMpIG9mIHdoZW4gdGhlIGNoYXQgY29tcGxldGlvbiB3YXMgY3JlYXRlZC5cbiAgICovXG4gIGNyZWF0ZWQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG1vZGVsIHVzZWQgZm9yIHRoZSBjaGF0IGNvbXBsZXRpb24uXG4gICAqL1xuICBtb2RlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgb2JqZWN0IHR5cGUsIHdoaWNoIGlzIGFsd2F5cyBgY2hhdC5jb21wbGV0aW9uYC5cbiAgICovXG4gIG9iamVjdDogJ2NoYXQuY29tcGxldGlvbic7XG5cbiAgLyoqXG4gICAqIFRoaXMgZmluZ2VycHJpbnQgcmVwcmVzZW50cyB0aGUgYmFja2VuZCBjb25maWd1cmF0aW9uIHRoYXQgdGhlIG1vZGVsIHJ1bnMgd2l0aC5cbiAgICpcbiAgICogQ2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgYHNlZWRgIHJlcXVlc3QgcGFyYW1ldGVyIHRvIHVuZGVyc3RhbmQgd2hlblxuICAgKiBiYWNrZW5kIGNoYW5nZXMgaGF2ZSBiZWVuIG1hZGUgdGhhdCBtaWdodCBpbXBhY3QgZGV0ZXJtaW5pc20uXG4gICAqL1xuICBzeXN0ZW1fZmluZ2VycHJpbnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzYWdlIHN0YXRpc3RpY3MgZm9yIHRoZSBjb21wbGV0aW9uIHJlcXVlc3QuXG4gICAqL1xuICB1c2FnZT86IENvbXBsZXRpb25zQVBJLkNvbXBsZXRpb25Vc2FnZTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDaGF0Q29tcGxldGlvbiB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgQ2hvaWNlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgcmVhc29uIHRoZSBtb2RlbCBzdG9wcGVkIGdlbmVyYXRpbmcgdG9rZW5zLiBUaGlzIHdpbGwgYmUgYHN0b3BgIGlmIHRoZSBtb2RlbFxuICAgICAqIGhpdCBhIG5hdHVyYWwgc3RvcCBwb2ludCBvciBhIHByb3ZpZGVkIHN0b3Agc2VxdWVuY2UsIGBsZW5ndGhgIGlmIHRoZSBtYXhpbXVtXG4gICAgICogbnVtYmVyIG9mIHRva2VucyBzcGVjaWZpZWQgaW4gdGhlIHJlcXVlc3Qgd2FzIHJlYWNoZWQsIGBjb250ZW50X2ZpbHRlcmAgaWZcbiAgICAgKiBjb250ZW50IHdhcyBvbWl0dGVkIGR1ZSB0byBhIGZsYWcgZnJvbSBvdXIgY29udGVudCBmaWx0ZXJzLCBgdG9vbF9jYWxsc2AgaWYgdGhlXG4gICAgICogbW9kZWwgY2FsbGVkIGEgdG9vbCwgb3IgYGZ1bmN0aW9uX2NhbGxgIChkZXByZWNhdGVkKSBpZiB0aGUgbW9kZWwgY2FsbGVkIGFcbiAgICAgKiBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmaW5pc2hfcmVhc29uOiAnc3RvcCcgfCAnbGVuZ3RoJyB8ICd0b29sX2NhbGxzJyB8ICdjb250ZW50X2ZpbHRlcicgfCAnZnVuY3Rpb25fY2FsbCc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaW5kZXggb2YgdGhlIGNob2ljZSBpbiB0aGUgbGlzdCBvZiBjaG9pY2VzLlxuICAgICAqL1xuICAgIGluZGV4OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBMb2cgcHJvYmFiaWxpdHkgaW5mb3JtYXRpb24gZm9yIHRoZSBjaG9pY2UuXG4gICAgICovXG4gICAgbG9ncHJvYnM6IENob2ljZS5Mb2dwcm9icyB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBBIGNoYXQgY29tcGxldGlvbiBtZXNzYWdlIGdlbmVyYXRlZCBieSB0aGUgbW9kZWwuXG4gICAgICovXG4gICAgbWVzc2FnZTogQ2hhdENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uTWVzc2FnZTtcbiAgfVxuXG4gIGV4cG9ydCBuYW1lc3BhY2UgQ2hvaWNlIHtcbiAgICAvKipcbiAgICAgKiBMb2cgcHJvYmFiaWxpdHkgaW5mb3JtYXRpb24gZm9yIHRoZSBjaG9pY2UuXG4gICAgICovXG4gICAgZXhwb3J0IGludGVyZmFjZSBMb2dwcm9icyB7XG4gICAgICAvKipcbiAgICAgICAqIEEgbGlzdCBvZiBtZXNzYWdlIGNvbnRlbnQgdG9rZW5zIHdpdGggbG9nIHByb2JhYmlsaXR5IGluZm9ybWF0aW9uLlxuICAgICAgICovXG4gICAgICBjb250ZW50OiBBcnJheTxDaGF0Q29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25Ub2tlbkxvZ3Byb2I+IHwgbnVsbDtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29tcGxldGlvbkFzc2lzdGFudE1lc3NhZ2VQYXJhbSB7XG4gIC8qKlxuICAgKiBUaGUgcm9sZSBvZiB0aGUgbWVzc2FnZXMgYXV0aG9yLCBpbiB0aGlzIGNhc2UgYGFzc2lzdGFudGAuXG4gICAqL1xuICByb2xlOiAnYXNzaXN0YW50JztcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnRzIG9mIHRoZSBhc3Npc3RhbnQgbWVzc2FnZS4gUmVxdWlyZWQgdW5sZXNzIGB0b29sX2NhbGxzYCBvclxuICAgKiBgZnVuY3Rpb25fY2FsbGAgaXMgc3BlY2lmaWVkLlxuICAgKi9cbiAgY29udGVudD86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIERlcHJlY2F0ZWQgYW5kIHJlcGxhY2VkIGJ5IGB0b29sX2NhbGxzYC4gVGhlIG5hbWUgYW5kIGFyZ3VtZW50cyBvZiBhIGZ1bmN0aW9uXG4gICAqIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCwgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBtb2RlbC5cbiAgICovXG4gIGZ1bmN0aW9uX2NhbGw/OiBDaGF0Q29tcGxldGlvbkFzc2lzdGFudE1lc3NhZ2VQYXJhbS5GdW5jdGlvbkNhbGw7XG5cbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIG5hbWUgZm9yIHRoZSBwYXJ0aWNpcGFudC4gUHJvdmlkZXMgdGhlIG1vZGVsIGluZm9ybWF0aW9uIHRvXG4gICAqIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBwYXJ0aWNpcGFudHMgb2YgdGhlIHNhbWUgcm9sZS5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0b29sIGNhbGxzIGdlbmVyYXRlZCBieSB0aGUgbW9kZWwsIHN1Y2ggYXMgZnVuY3Rpb24gY2FsbHMuXG4gICAqL1xuICB0b29sX2NhbGxzPzogQXJyYXk8Q2hhdENvbXBsZXRpb25NZXNzYWdlVG9vbENhbGw+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENoYXRDb21wbGV0aW9uQXNzaXN0YW50TWVzc2FnZVBhcmFtIHtcbiAgLyoqXG4gICAqIERlcHJlY2F0ZWQgYW5kIHJlcGxhY2VkIGJ5IGB0b29sX2NhbGxzYC4gVGhlIG5hbWUgYW5kIGFyZ3VtZW50cyBvZiBhIGZ1bmN0aW9uXG4gICAqIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCwgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBtb2RlbC5cbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25DYWxsIHtcbiAgICAvKipcbiAgICAgKiBUaGUgYXJndW1lbnRzIHRvIGNhbGwgdGhlIGZ1bmN0aW9uIHdpdGgsIGFzIGdlbmVyYXRlZCBieSB0aGUgbW9kZWwgaW4gSlNPTlxuICAgICAqIGZvcm1hdC4gTm90ZSB0aGF0IHRoZSBtb2RlbCBkb2VzIG5vdCBhbHdheXMgZ2VuZXJhdGUgdmFsaWQgSlNPTiwgYW5kIG1heVxuICAgICAqIGhhbGx1Y2luYXRlIHBhcmFtZXRlcnMgbm90IGRlZmluZWQgYnkgeW91ciBmdW5jdGlvbiBzY2hlbWEuIFZhbGlkYXRlIHRoZVxuICAgICAqIGFyZ3VtZW50cyBpbiB5b3VyIGNvZGUgYmVmb3JlIGNhbGxpbmcgeW91ciBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBhcmd1bWVudHM6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB0byBjYWxsLlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzdHJlYW1lZCBjaHVuayBvZiBhIGNoYXQgY29tcGxldGlvbiByZXNwb25zZSByZXR1cm5lZCBieSBtb2RlbCxcbiAqIGJhc2VkIG9uIHRoZSBwcm92aWRlZCBpbnB1dC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29tcGxldGlvbkNodW5rIHtcbiAgLyoqXG4gICAqIEEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBjaGF0IGNvbXBsZXRpb24uIEVhY2ggY2h1bmsgaGFzIHRoZSBzYW1lIElELlxuICAgKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQSBsaXN0IG9mIGNoYXQgY29tcGxldGlvbiBjaG9pY2VzLiBDYW4gYmUgbW9yZSB0aGFuIG9uZSBpZiBgbmAgaXMgZ3JlYXRlclxuICAgKiB0aGFuIDEuXG4gICAqL1xuICBjaG9pY2VzOiBBcnJheTxDaGF0Q29tcGxldGlvbkNodW5rLkNob2ljZT47XG5cbiAgLyoqXG4gICAqIFRoZSBVbml4IHRpbWVzdGFtcCAoaW4gc2Vjb25kcykgb2Ygd2hlbiB0aGUgY2hhdCBjb21wbGV0aW9uIHdhcyBjcmVhdGVkLiBFYWNoXG4gICAqIGNodW5rIGhhcyB0aGUgc2FtZSB0aW1lc3RhbXAuXG4gICAqL1xuICBjcmVhdGVkOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBtb2RlbCB0byBnZW5lcmF0ZSB0aGUgY29tcGxldGlvbi5cbiAgICovXG4gIG1vZGVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvYmplY3QgdHlwZSwgd2hpY2ggaXMgYWx3YXlzIGBjaGF0LmNvbXBsZXRpb24uY2h1bmtgLlxuICAgKi9cbiAgb2JqZWN0OiAnY2hhdC5jb21wbGV0aW9uLmNodW5rJztcblxuICAvKipcbiAgICogVGhpcyBmaW5nZXJwcmludCByZXByZXNlbnRzIHRoZSBiYWNrZW5kIGNvbmZpZ3VyYXRpb24gdGhhdCB0aGUgbW9kZWwgcnVucyB3aXRoLlxuICAgKiBDYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBgc2VlZGAgcmVxdWVzdCBwYXJhbWV0ZXIgdG8gdW5kZXJzdGFuZCB3aGVuXG4gICAqIGJhY2tlbmQgY2hhbmdlcyBoYXZlIGJlZW4gbWFkZSB0aGF0IG1pZ2h0IGltcGFjdCBkZXRlcm1pbmlzbS5cbiAgICovXG4gIHN5c3RlbV9maW5nZXJwcmludD86IHN0cmluZztcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDaGF0Q29tcGxldGlvbkNodW5rIHtcbiAgZXhwb3J0IGludGVyZmFjZSBDaG9pY2Uge1xuICAgIC8qKlxuICAgICAqIEEgY2hhdCBjb21wbGV0aW9uIGRlbHRhIGdlbmVyYXRlZCBieSBzdHJlYW1lZCBtb2RlbCByZXNwb25zZXMuXG4gICAgICovXG4gICAgZGVsdGE6IENob2ljZS5EZWx0YTtcblxuICAgIC8qKlxuICAgICAqIFRoZSByZWFzb24gdGhlIG1vZGVsIHN0b3BwZWQgZ2VuZXJhdGluZyB0b2tlbnMuIFRoaXMgd2lsbCBiZSBgc3RvcGAgaWYgdGhlIG1vZGVsXG4gICAgICogaGl0IGEgbmF0dXJhbCBzdG9wIHBvaW50IG9yIGEgcHJvdmlkZWQgc3RvcCBzZXF1ZW5jZSwgYGxlbmd0aGAgaWYgdGhlIG1heGltdW1cbiAgICAgKiBudW1iZXIgb2YgdG9rZW5zIHNwZWNpZmllZCBpbiB0aGUgcmVxdWVzdCB3YXMgcmVhY2hlZCwgYGNvbnRlbnRfZmlsdGVyYCBpZlxuICAgICAqIGNvbnRlbnQgd2FzIG9taXR0ZWQgZHVlIHRvIGEgZmxhZyBmcm9tIG91ciBjb250ZW50IGZpbHRlcnMsIGB0b29sX2NhbGxzYCBpZiB0aGVcbiAgICAgKiBtb2RlbCBjYWxsZWQgYSB0b29sLCBvciBgZnVuY3Rpb25fY2FsbGAgKGRlcHJlY2F0ZWQpIGlmIHRoZSBtb2RlbCBjYWxsZWQgYVxuICAgICAqIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGZpbmlzaF9yZWFzb246ICdzdG9wJyB8ICdsZW5ndGgnIHwgJ3Rvb2xfY2FsbHMnIHwgJ2NvbnRlbnRfZmlsdGVyJyB8ICdmdW5jdGlvbl9jYWxsJyB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaW5kZXggb2YgdGhlIGNob2ljZSBpbiB0aGUgbGlzdCBvZiBjaG9pY2VzLlxuICAgICAqL1xuICAgIGluZGV4OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBMb2cgcHJvYmFiaWxpdHkgaW5mb3JtYXRpb24gZm9yIHRoZSBjaG9pY2UuXG4gICAgICovXG4gICAgbG9ncHJvYnM/OiBDaG9pY2UuTG9ncHJvYnMgfCBudWxsO1xuICB9XG5cbiAgZXhwb3J0IG5hbWVzcGFjZSBDaG9pY2Uge1xuICAgIC8qKlxuICAgICAqIEEgY2hhdCBjb21wbGV0aW9uIGRlbHRhIGdlbmVyYXRlZCBieSBzdHJlYW1lZCBtb2RlbCByZXNwb25zZXMuXG4gICAgICovXG4gICAgZXhwb3J0IGludGVyZmFjZSBEZWx0YSB7XG4gICAgICAvKipcbiAgICAgICAqIFRoZSBjb250ZW50cyBvZiB0aGUgY2h1bmsgbWVzc2FnZS5cbiAgICAgICAqL1xuICAgICAgY29udGVudD86IHN0cmluZyB8IG51bGw7XG5cbiAgICAgIC8qKlxuICAgICAgICogRGVwcmVjYXRlZCBhbmQgcmVwbGFjZWQgYnkgYHRvb2xfY2FsbHNgLiBUaGUgbmFtZSBhbmQgYXJndW1lbnRzIG9mIGEgZnVuY3Rpb25cbiAgICAgICAqIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCwgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBtb2RlbC5cbiAgICAgICAqL1xuICAgICAgZnVuY3Rpb25fY2FsbD86IERlbHRhLkZ1bmN0aW9uQ2FsbDtcblxuICAgICAgLyoqXG4gICAgICAgKiBUaGUgcm9sZSBvZiB0aGUgYXV0aG9yIG9mIHRoaXMgbWVzc2FnZS5cbiAgICAgICAqL1xuICAgICAgcm9sZT86ICdzeXN0ZW0nIHwgJ3VzZXInIHwgJ2Fzc2lzdGFudCcgfCAndG9vbCc7XG5cbiAgICAgIHRvb2xfY2FsbHM/OiBBcnJheTxEZWx0YS5Ub29sQ2FsbD47XG4gICAgfVxuXG4gICAgZXhwb3J0IG5hbWVzcGFjZSBEZWx0YSB7XG4gICAgICAvKipcbiAgICAgICAqIERlcHJlY2F0ZWQgYW5kIHJlcGxhY2VkIGJ5IGB0b29sX2NhbGxzYC4gVGhlIG5hbWUgYW5kIGFyZ3VtZW50cyBvZiBhIGZ1bmN0aW9uXG4gICAgICAgKiB0aGF0IHNob3VsZCBiZSBjYWxsZWQsIGFzIGdlbmVyYXRlZCBieSB0aGUgbW9kZWwuXG4gICAgICAgKi9cbiAgICAgIGV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb25DYWxsIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRoZSBhcmd1bWVudHMgdG8gY2FsbCB0aGUgZnVuY3Rpb24gd2l0aCwgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBtb2RlbCBpbiBKU09OXG4gICAgICAgICAqIGZvcm1hdC4gTm90ZSB0aGF0IHRoZSBtb2RlbCBkb2VzIG5vdCBhbHdheXMgZ2VuZXJhdGUgdmFsaWQgSlNPTiwgYW5kIG1heVxuICAgICAgICAgKiBoYWxsdWNpbmF0ZSBwYXJhbWV0ZXJzIG5vdCBkZWZpbmVkIGJ5IHlvdXIgZnVuY3Rpb24gc2NoZW1hLiBWYWxpZGF0ZSB0aGVcbiAgICAgICAgICogYXJndW1lbnRzIGluIHlvdXIgY29kZSBiZWZvcmUgY2FsbGluZyB5b3VyIGZ1bmN0aW9uLlxuICAgICAgICAgKi9cbiAgICAgICAgYXJndW1lbnRzPzogc3RyaW5nO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdG8gY2FsbC5cbiAgICAgICAgICovXG4gICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICB9XG5cbiAgICAgIGV4cG9ydCBpbnRlcmZhY2UgVG9vbENhbGwge1xuICAgICAgICBpbmRleDogbnVtYmVyO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgSUQgb2YgdGhlIHRvb2wgY2FsbC5cbiAgICAgICAgICovXG4gICAgICAgIGlkPzogc3RyaW5nO1xuXG4gICAgICAgIGZ1bmN0aW9uPzogVG9vbENhbGwuRnVuY3Rpb247XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRoZSB0eXBlIG9mIHRoZSB0b29sLiBDdXJyZW50bHksIG9ubHkgYGZ1bmN0aW9uYCBpcyBzdXBwb3J0ZWQuXG4gICAgICAgICAqL1xuICAgICAgICB0eXBlPzogJ2Z1bmN0aW9uJztcbiAgICAgIH1cblxuICAgICAgZXhwb3J0IG5hbWVzcGFjZSBUb29sQ2FsbCB7XG4gICAgICAgIGV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb24ge1xuICAgICAgICAgIC8qKlxuICAgICAgICAgICAqIFRoZSBhcmd1bWVudHMgdG8gY2FsbCB0aGUgZnVuY3Rpb24gd2l0aCwgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBtb2RlbCBpbiBKU09OXG4gICAgICAgICAgICogZm9ybWF0LiBOb3RlIHRoYXQgdGhlIG1vZGVsIGRvZXMgbm90IGFsd2F5cyBnZW5lcmF0ZSB2YWxpZCBKU09OLCBhbmQgbWF5XG4gICAgICAgICAgICogaGFsbHVjaW5hdGUgcGFyYW1ldGVycyBub3QgZGVmaW5lZCBieSB5b3VyIGZ1bmN0aW9uIHNjaGVtYS4gVmFsaWRhdGUgdGhlXG4gICAgICAgICAgICogYXJndW1lbnRzIGluIHlvdXIgY29kZSBiZWZvcmUgY2FsbGluZyB5b3VyIGZ1bmN0aW9uLlxuICAgICAgICAgICAqL1xuICAgICAgICAgIGFyZ3VtZW50cz86IHN0cmluZztcblxuICAgICAgICAgIC8qKlxuICAgICAgICAgICAqIFRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB0byBjYWxsLlxuICAgICAgICAgICAqL1xuICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBMb2cgcHJvYmFiaWxpdHkgaW5mb3JtYXRpb24gZm9yIHRoZSBjaG9pY2UuXG4gICAgICovXG4gICAgZXhwb3J0IGludGVyZmFjZSBMb2dwcm9icyB7XG4gICAgICAvKipcbiAgICAgICAqIEEgbGlzdCBvZiBtZXNzYWdlIGNvbnRlbnQgdG9rZW5zIHdpdGggbG9nIHByb2JhYmlsaXR5IGluZm9ybWF0aW9uLlxuICAgICAgICovXG4gICAgICBjb250ZW50OiBBcnJheTxDaGF0Q29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25Ub2tlbkxvZ3Byb2I+IHwgbnVsbDtcbiAgICB9XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgQ2hhdENvbXBsZXRpb25Db250ZW50UGFydCA9IENoYXRDb21wbGV0aW9uQ29udGVudFBhcnRUZXh0IHwgQ2hhdENvbXBsZXRpb25Db250ZW50UGFydEltYWdlO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRDb21wbGV0aW9uQ29udGVudFBhcnRJbWFnZSB7XG4gIGltYWdlX3VybDogQ2hhdENvbXBsZXRpb25Db250ZW50UGFydEltYWdlLkltYWdlVVJMO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0aGUgY29udGVudCBwYXJ0LlxuICAgKi9cbiAgdHlwZTogJ2ltYWdlX3VybCc7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ2hhdENvbXBsZXRpb25Db250ZW50UGFydEltYWdlIHtcbiAgZXhwb3J0IGludGVyZmFjZSBJbWFnZVVSTCB7XG4gICAgLyoqXG4gICAgICogRWl0aGVyIGEgVVJMIG9mIHRoZSBpbWFnZSBvciB0aGUgYmFzZTY0IGVuY29kZWQgaW1hZ2UgZGF0YS5cbiAgICAgKi9cbiAgICB1cmw6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFNwZWNpZmllcyB0aGUgZGV0YWlsIGxldmVsIG9mIHRoZSBpbWFnZS4gTGVhcm4gbW9yZSBpbiB0aGVcbiAgICAgKiBbVmlzaW9uIGd1aWRlXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9ndWlkZXMvdmlzaW9uL2xvdy1vci1oaWdoLWZpZGVsaXR5LWltYWdlLXVuZGVyc3RhbmRpbmcpLlxuICAgICAqL1xuICAgIGRldGFpbD86ICdhdXRvJyB8ICdsb3cnIHwgJ2hpZ2gnO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdENvbXBsZXRpb25Db250ZW50UGFydFRleHQge1xuICAvKipcbiAgICogVGhlIHRleHQgY29udGVudC5cbiAgICovXG4gIHRleHQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIGNvbnRlbnQgcGFydC5cbiAgICovXG4gIHR5cGU6ICd0ZXh0Jztcbn1cblxuLyoqXG4gKiBTcGVjaWZ5aW5nIGEgcGFydGljdWxhciBmdW5jdGlvbiB2aWEgYHtcIm5hbWVcIjogXCJteV9mdW5jdGlvblwifWAgZm9yY2VzIHRoZSBtb2RlbFxuICogdG8gY2FsbCB0aGF0IGZ1bmN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoYXRDb21wbGV0aW9uRnVuY3Rpb25DYWxsT3B0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB0byBjYWxsLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRDb21wbGV0aW9uRnVuY3Rpb25NZXNzYWdlUGFyYW0ge1xuICAvKipcbiAgICogVGhlIGNvbnRlbnRzIG9mIHRoZSBmdW5jdGlvbiBtZXNzYWdlLlxuICAgKi9cbiAgY29udGVudDogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByb2xlIG9mIHRoZSBtZXNzYWdlcyBhdXRob3IsIGluIHRoaXMgY2FzZSBgZnVuY3Rpb25gLlxuICAgKi9cbiAgcm9sZTogJ2Z1bmN0aW9uJztcbn1cblxuLyoqXG4gKiBBIGNoYXQgY29tcGxldGlvbiBtZXNzYWdlIGdlbmVyYXRlZCBieSB0aGUgbW9kZWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdENvbXBsZXRpb25NZXNzYWdlIHtcbiAgLyoqXG4gICAqIFRoZSBjb250ZW50cyBvZiB0aGUgbWVzc2FnZS5cbiAgICovXG4gIGNvbnRlbnQ6IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSByb2xlIG9mIHRoZSBhdXRob3Igb2YgdGhpcyBtZXNzYWdlLlxuICAgKi9cbiAgcm9sZTogJ2Fzc2lzdGFudCc7XG5cbiAgLyoqXG4gICAqIERlcHJlY2F0ZWQgYW5kIHJlcGxhY2VkIGJ5IGB0b29sX2NhbGxzYC4gVGhlIG5hbWUgYW5kIGFyZ3VtZW50cyBvZiBhIGZ1bmN0aW9uXG4gICAqIHRoYXQgc2hvdWxkIGJlIGNhbGxlZCwgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBtb2RlbC5cbiAgICovXG4gIGZ1bmN0aW9uX2NhbGw/OiBDaGF0Q29tcGxldGlvbk1lc3NhZ2UuRnVuY3Rpb25DYWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgdG9vbCBjYWxscyBnZW5lcmF0ZWQgYnkgdGhlIG1vZGVsLCBzdWNoIGFzIGZ1bmN0aW9uIGNhbGxzLlxuICAgKi9cbiAgdG9vbF9jYWxscz86IEFycmF5PENoYXRDb21wbGV0aW9uTWVzc2FnZVRvb2xDYWxsPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDaGF0Q29tcGxldGlvbk1lc3NhZ2Uge1xuICAvKipcbiAgICogRGVwcmVjYXRlZCBhbmQgcmVwbGFjZWQgYnkgYHRvb2xfY2FsbHNgLiBUaGUgbmFtZSBhbmQgYXJndW1lbnRzIG9mIGEgZnVuY3Rpb25cbiAgICogdGhhdCBzaG91bGQgYmUgY2FsbGVkLCBhcyBnZW5lcmF0ZWQgYnkgdGhlIG1vZGVsLlxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbkNhbGwge1xuICAgIC8qKlxuICAgICAqIFRoZSBhcmd1bWVudHMgdG8gY2FsbCB0aGUgZnVuY3Rpb24gd2l0aCwgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBtb2RlbCBpbiBKU09OXG4gICAgICogZm9ybWF0LiBOb3RlIHRoYXQgdGhlIG1vZGVsIGRvZXMgbm90IGFsd2F5cyBnZW5lcmF0ZSB2YWxpZCBKU09OLCBhbmQgbWF5XG4gICAgICogaGFsbHVjaW5hdGUgcGFyYW1ldGVycyBub3QgZGVmaW5lZCBieSB5b3VyIGZ1bmN0aW9uIHNjaGVtYS4gVmFsaWRhdGUgdGhlXG4gICAgICogYXJndW1lbnRzIGluIHlvdXIgY29kZSBiZWZvcmUgY2FsbGluZyB5b3VyIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGFyZ3VtZW50czogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uIHRvIGNhbGwuXG4gICAgICovXG4gICAgbmFtZTogc3RyaW5nO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIENoYXRDb21wbGV0aW9uTWVzc2FnZVBhcmFtID1cbiAgfCBDaGF0Q29tcGxldGlvblN5c3RlbU1lc3NhZ2VQYXJhbVxuICB8IENoYXRDb21wbGV0aW9uVXNlck1lc3NhZ2VQYXJhbVxuICB8IENoYXRDb21wbGV0aW9uQXNzaXN0YW50TWVzc2FnZVBhcmFtXG4gIHwgQ2hhdENvbXBsZXRpb25Ub29sTWVzc2FnZVBhcmFtXG4gIHwgQ2hhdENvbXBsZXRpb25GdW5jdGlvbk1lc3NhZ2VQYXJhbTtcblxuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29tcGxldGlvbk1lc3NhZ2VUb29sQ2FsbCB7XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIHRvb2wgY2FsbC5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB0aGF0IHRoZSBtb2RlbCBjYWxsZWQuXG4gICAqL1xuICBmdW5jdGlvbjogQ2hhdENvbXBsZXRpb25NZXNzYWdlVG9vbENhbGwuRnVuY3Rpb247XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHRoZSB0b29sLiBDdXJyZW50bHksIG9ubHkgYGZ1bmN0aW9uYCBpcyBzdXBwb3J0ZWQuXG4gICAqL1xuICB0eXBlOiAnZnVuY3Rpb24nO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENoYXRDb21wbGV0aW9uTWVzc2FnZVRvb2xDYWxsIHtcbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiB0aGF0IHRoZSBtb2RlbCBjYWxsZWQuXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uIHtcbiAgICAvKipcbiAgICAgKiBUaGUgYXJndW1lbnRzIHRvIGNhbGwgdGhlIGZ1bmN0aW9uIHdpdGgsIGFzIGdlbmVyYXRlZCBieSB0aGUgbW9kZWwgaW4gSlNPTlxuICAgICAqIGZvcm1hdC4gTm90ZSB0aGF0IHRoZSBtb2RlbCBkb2VzIG5vdCBhbHdheXMgZ2VuZXJhdGUgdmFsaWQgSlNPTiwgYW5kIG1heVxuICAgICAqIGhhbGx1Y2luYXRlIHBhcmFtZXRlcnMgbm90IGRlZmluZWQgYnkgeW91ciBmdW5jdGlvbiBzY2hlbWEuIFZhbGlkYXRlIHRoZVxuICAgICAqIGFyZ3VtZW50cyBpbiB5b3VyIGNvZGUgYmVmb3JlIGNhbGxpbmcgeW91ciBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBhcmd1bWVudHM6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB0byBjYWxsLlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgfVxufVxuXG4vKipcbiAqIFNwZWNpZmllcyBhIHRvb2wgdGhlIG1vZGVsIHNob3VsZCB1c2UuIFVzZSB0byBmb3JjZSB0aGUgbW9kZWwgdG8gY2FsbCBhIHNwZWNpZmljXG4gKiBmdW5jdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29tcGxldGlvbk5hbWVkVG9vbENob2ljZSB7XG4gIGZ1bmN0aW9uOiBDaGF0Q29tcGxldGlvbk5hbWVkVG9vbENob2ljZS5GdW5jdGlvbjtcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIHRvb2wuIEN1cnJlbnRseSwgb25seSBgZnVuY3Rpb25gIGlzIHN1cHBvcnRlZC5cbiAgICovXG4gIHR5cGU6ICdmdW5jdGlvbic7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ2hhdENvbXBsZXRpb25OYW1lZFRvb2xDaG9pY2Uge1xuICBleHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdG8gY2FsbC5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgcm9sZSBvZiB0aGUgYXV0aG9yIG9mIGEgbWVzc2FnZVxuICovXG5leHBvcnQgdHlwZSBDaGF0Q29tcGxldGlvblJvbGUgPSAnc3lzdGVtJyB8ICd1c2VyJyB8ICdhc3Npc3RhbnQnIHwgJ3Rvb2wnIHwgJ2Z1bmN0aW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29tcGxldGlvblN5c3RlbU1lc3NhZ2VQYXJhbSB7XG4gIC8qKlxuICAgKiBUaGUgY29udGVudHMgb2YgdGhlIHN5c3RlbSBtZXNzYWdlLlxuICAgKi9cbiAgY29udGVudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcm9sZSBvZiB0aGUgbWVzc2FnZXMgYXV0aG9yLCBpbiB0aGlzIGNhc2UgYHN5c3RlbWAuXG4gICAqL1xuICByb2xlOiAnc3lzdGVtJztcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgbmFtZSBmb3IgdGhlIHBhcnRpY2lwYW50LiBQcm92aWRlcyB0aGUgbW9kZWwgaW5mb3JtYXRpb24gdG9cbiAgICogZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHBhcnRpY2lwYW50cyBvZiB0aGUgc2FtZSByb2xlLlxuICAgKi9cbiAgbmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29tcGxldGlvblRva2VuTG9ncHJvYiB7XG4gIC8qKlxuICAgKiBUaGUgdG9rZW4uXG4gICAqL1xuICB0b2tlbjogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgaW50ZWdlcnMgcmVwcmVzZW50aW5nIHRoZSBVVEYtOCBieXRlcyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdG9rZW4uXG4gICAqIFVzZWZ1bCBpbiBpbnN0YW5jZXMgd2hlcmUgY2hhcmFjdGVycyBhcmUgcmVwcmVzZW50ZWQgYnkgbXVsdGlwbGUgdG9rZW5zIGFuZFxuICAgKiB0aGVpciBieXRlIHJlcHJlc2VudGF0aW9ucyBtdXN0IGJlIGNvbWJpbmVkIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IHRleHRcbiAgICogcmVwcmVzZW50YXRpb24uIENhbiBiZSBgbnVsbGAgaWYgdGhlcmUgaXMgbm8gYnl0ZXMgcmVwcmVzZW50YXRpb24gZm9yIHRoZSB0b2tlbi5cbiAgICovXG4gIGJ5dGVzOiBBcnJheTxudW1iZXI+IHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIGxvZyBwcm9iYWJpbGl0eSBvZiB0aGlzIHRva2VuLlxuICAgKi9cbiAgbG9ncHJvYjogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBMaXN0IG9mIHRoZSBtb3N0IGxpa2VseSB0b2tlbnMgYW5kIHRoZWlyIGxvZyBwcm9iYWJpbGl0eSwgYXQgdGhpcyB0b2tlblxuICAgKiBwb3NpdGlvbi4gSW4gcmFyZSBjYXNlcywgdGhlcmUgbWF5IGJlIGZld2VyIHRoYW4gdGhlIG51bWJlciBvZiByZXF1ZXN0ZWRcbiAgICogYHRvcF9sb2dwcm9ic2AgcmV0dXJuZWQuXG4gICAqL1xuICB0b3BfbG9ncHJvYnM6IEFycmF5PENoYXRDb21wbGV0aW9uVG9rZW5Mb2dwcm9iLlRvcExvZ3Byb2I+O1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENoYXRDb21wbGV0aW9uVG9rZW5Mb2dwcm9iIHtcbiAgZXhwb3J0IGludGVyZmFjZSBUb3BMb2dwcm9iIHtcbiAgICAvKipcbiAgICAgKiBUaGUgdG9rZW4uXG4gICAgICovXG4gICAgdG9rZW46IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBpbnRlZ2VycyByZXByZXNlbnRpbmcgdGhlIFVURi04IGJ5dGVzIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB0b2tlbi5cbiAgICAgKiBVc2VmdWwgaW4gaW5zdGFuY2VzIHdoZXJlIGNoYXJhY3RlcnMgYXJlIHJlcHJlc2VudGVkIGJ5IG11bHRpcGxlIHRva2VucyBhbmRcbiAgICAgKiB0aGVpciBieXRlIHJlcHJlc2VudGF0aW9ucyBtdXN0IGJlIGNvbWJpbmVkIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IHRleHRcbiAgICAgKiByZXByZXNlbnRhdGlvbi4gQ2FuIGJlIGBudWxsYCBpZiB0aGVyZSBpcyBubyBieXRlcyByZXByZXNlbnRhdGlvbiBmb3IgdGhlIHRva2VuLlxuICAgICAqL1xuICAgIGJ5dGVzOiBBcnJheTxudW1iZXI+IHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqIFRoZSBsb2cgcHJvYmFiaWxpdHkgb2YgdGhpcyB0b2tlbi5cbiAgICAgKi9cbiAgICBsb2dwcm9iOiBudW1iZXI7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29tcGxldGlvblRvb2wge1xuICBmdW5jdGlvbjogU2hhcmVkLkZ1bmN0aW9uRGVmaW5pdGlvbjtcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdGhlIHRvb2wuIEN1cnJlbnRseSwgb25seSBgZnVuY3Rpb25gIGlzIHN1cHBvcnRlZC5cbiAgICovXG4gIHR5cGU6ICdmdW5jdGlvbic7XG59XG5cbi8qKlxuICogQ29udHJvbHMgd2hpY2ggKGlmIGFueSkgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IHRoZSBtb2RlbC4gYG5vbmVgIG1lYW5zIHRoZSBtb2RlbFxuICogd2lsbCBub3QgY2FsbCBhIGZ1bmN0aW9uIGFuZCBpbnN0ZWFkIGdlbmVyYXRlcyBhIG1lc3NhZ2UuIGBhdXRvYCBtZWFucyB0aGUgbW9kZWxcbiAqIGNhbiBwaWNrIGJldHdlZW4gZ2VuZXJhdGluZyBhIG1lc3NhZ2Ugb3IgY2FsbGluZyBhIGZ1bmN0aW9uLiBTcGVjaWZ5aW5nIGFcbiAqIHBhcnRpY3VsYXIgZnVuY3Rpb24gdmlhXG4gKiBge1widHlwZTogXCJmdW5jdGlvblwiLCBcImZ1bmN0aW9uXCI6IHtcIm5hbWVcIjogXCJteV9mdW5jdGlvblwifX1gIGZvcmNlcyB0aGUgbW9kZWwgdG9cbiAqIGNhbGwgdGhhdCBmdW5jdGlvbi5cbiAqXG4gKiBgbm9uZWAgaXMgdGhlIGRlZmF1bHQgd2hlbiBubyBmdW5jdGlvbnMgYXJlIHByZXNlbnQuIGBhdXRvYCBpcyB0aGUgZGVmYXVsdCBpZlxuICogZnVuY3Rpb25zIGFyZSBwcmVzZW50LlxuICovXG5leHBvcnQgdHlwZSBDaGF0Q29tcGxldGlvblRvb2xDaG9pY2VPcHRpb24gPSAnbm9uZScgfCAnYXV0bycgfCBDaGF0Q29tcGxldGlvbk5hbWVkVG9vbENob2ljZTtcblxuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29tcGxldGlvblRvb2xNZXNzYWdlUGFyYW0ge1xuICAvKipcbiAgICogVGhlIGNvbnRlbnRzIG9mIHRoZSB0b29sIG1lc3NhZ2UuXG4gICAqL1xuICBjb250ZW50OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSByb2xlIG9mIHRoZSBtZXNzYWdlcyBhdXRob3IsIGluIHRoaXMgY2FzZSBgdG9vbGAuXG4gICAqL1xuICByb2xlOiAndG9vbCc7XG5cbiAgLyoqXG4gICAqIFRvb2wgY2FsbCB0aGF0IHRoaXMgbWVzc2FnZSBpcyByZXNwb25kaW5nIHRvLlxuICAgKi9cbiAgdG9vbF9jYWxsX2lkOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdENvbXBsZXRpb25Vc2VyTWVzc2FnZVBhcmFtIHtcbiAgLyoqXG4gICAqIFRoZSBjb250ZW50cyBvZiB0aGUgdXNlciBtZXNzYWdlLlxuICAgKi9cbiAgY29udGVudDogc3RyaW5nIHwgQXJyYXk8Q2hhdENvbXBsZXRpb25Db250ZW50UGFydD47XG5cbiAgLyoqXG4gICAqIFRoZSByb2xlIG9mIHRoZSBtZXNzYWdlcyBhdXRob3IsIGluIHRoaXMgY2FzZSBgdXNlcmAuXG4gICAqL1xuICByb2xlOiAndXNlcic7XG5cbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIG5hbWUgZm9yIHRoZSBwYXJ0aWNpcGFudC4gUHJvdmlkZXMgdGhlIG1vZGVsIGluZm9ybWF0aW9uIHRvXG4gICAqIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBwYXJ0aWNpcGFudHMgb2YgdGhlIHNhbWUgcm9sZS5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgQ2hhdENvbXBsZXRpb25NZXNzYWdlUGFyYW0gc2hvdWxkIGJlIHVzZWQgaW5zdGVhZFxuICovXG5leHBvcnQgdHlwZSBDcmVhdGVDaGF0Q29tcGxldGlvblJlcXVlc3RNZXNzYWdlID0gQ2hhdENvbXBsZXRpb25NZXNzYWdlUGFyYW07XG5cbmV4cG9ydCB0eXBlIENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zID1cbiAgfCBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtc05vblN0cmVhbWluZ1xuICB8IENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zU3RyZWFtaW5nO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zQmFzZSB7XG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgbWVzc2FnZXMgY29tcHJpc2luZyB0aGUgY29udmVyc2F0aW9uIHNvIGZhci5cbiAgICogW0V4YW1wbGUgUHl0aG9uIGNvZGVdKGh0dHBzOi8vY29va2Jvb2sub3BlbmFpLmNvbS9leGFtcGxlcy9ob3dfdG9fZm9ybWF0X2lucHV0c190b19jaGF0Z3B0X21vZGVscykuXG4gICAqL1xuICBtZXNzYWdlczogQXJyYXk8Q2hhdENvbXBsZXRpb25NZXNzYWdlUGFyYW0+O1xuXG4gIC8qKlxuICAgKiBJRCBvZiB0aGUgbW9kZWwgdG8gdXNlLiBTZWUgdGhlXG4gICAqIFttb2RlbCBlbmRwb2ludCBjb21wYXRpYmlsaXR5XShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9tb2RlbHMvbW9kZWwtZW5kcG9pbnQtY29tcGF0aWJpbGl0eSlcbiAgICogdGFibGUgZm9yIGRldGFpbHMgb24gd2hpY2ggbW9kZWxzIHdvcmsgd2l0aCB0aGUgQ2hhdCBBUEkuXG4gICAqL1xuICBtb2RlbDpcbiAgICB8IChzdHJpbmcgJiB7fSlcbiAgICB8ICdncHQtNC0xMTA2LXByZXZpZXcnXG4gICAgfCAnZ3B0LTQtdmlzaW9uLXByZXZpZXcnXG4gICAgfCAnZ3B0LTQnXG4gICAgfCAnZ3B0LTQtMDMxNCdcbiAgICB8ICdncHQtNC0wNjEzJ1xuICAgIHwgJ2dwdC00LTMyaydcbiAgICB8ICdncHQtNC0zMmstMDMxNCdcbiAgICB8ICdncHQtNC0zMmstMDYxMydcbiAgICB8ICdncHQtMy41LXR1cmJvJ1xuICAgIHwgJ2dwdC0zLjUtdHVyYm8tMTZrJ1xuICAgIHwgJ2dwdC0zLjUtdHVyYm8tMDMwMSdcbiAgICB8ICdncHQtMy41LXR1cmJvLTA2MTMnXG4gICAgfCAnZ3B0LTMuNS10dXJiby0xMTA2J1xuICAgIHwgJ2dwdC0zLjUtdHVyYm8tMTZrLTA2MTMnO1xuXG4gIC8qKlxuICAgKiBOdW1iZXIgYmV0d2VlbiAtMi4wIGFuZCAyLjAuIFBvc2l0aXZlIHZhbHVlcyBwZW5hbGl6ZSBuZXcgdG9rZW5zIGJhc2VkIG9uIHRoZWlyXG4gICAqIGV4aXN0aW5nIGZyZXF1ZW5jeSBpbiB0aGUgdGV4dCBzbyBmYXIsIGRlY3JlYXNpbmcgdGhlIG1vZGVsJ3MgbGlrZWxpaG9vZCB0b1xuICAgKiByZXBlYXQgdGhlIHNhbWUgbGluZSB2ZXJiYXRpbS5cbiAgICpcbiAgICogW1NlZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGZyZXF1ZW5jeSBhbmQgcHJlc2VuY2UgcGVuYWx0aWVzLl0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvZ3VpZGVzL3RleHQtZ2VuZXJhdGlvbi9wYXJhbWV0ZXItZGV0YWlscylcbiAgICovXG4gIGZyZXF1ZW5jeV9wZW5hbHR5PzogbnVtYmVyIHwgbnVsbDtcblxuICAvKipcbiAgICogRGVwcmVjYXRlZCBpbiBmYXZvciBvZiBgdG9vbF9jaG9pY2VgLlxuICAgKlxuICAgKiBDb250cm9scyB3aGljaCAoaWYgYW55KSBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgdGhlIG1vZGVsLiBgbm9uZWAgbWVhbnMgdGhlIG1vZGVsXG4gICAqIHdpbGwgbm90IGNhbGwgYSBmdW5jdGlvbiBhbmQgaW5zdGVhZCBnZW5lcmF0ZXMgYSBtZXNzYWdlLiBgYXV0b2AgbWVhbnMgdGhlIG1vZGVsXG4gICAqIGNhbiBwaWNrIGJldHdlZW4gZ2VuZXJhdGluZyBhIG1lc3NhZ2Ugb3IgY2FsbGluZyBhIGZ1bmN0aW9uLiBTcGVjaWZ5aW5nIGFcbiAgICogcGFydGljdWxhciBmdW5jdGlvbiB2aWEgYHtcIm5hbWVcIjogXCJteV9mdW5jdGlvblwifWAgZm9yY2VzIHRoZSBtb2RlbCB0byBjYWxsIHRoYXRcbiAgICogZnVuY3Rpb24uXG4gICAqXG4gICAqIGBub25lYCBpcyB0aGUgZGVmYXVsdCB3aGVuIG5vIGZ1bmN0aW9ucyBhcmUgcHJlc2VudC4gYGF1dG9gIGlzIHRoZSBkZWZhdWx0IGlmXG4gICAqIGZ1bmN0aW9ucyBhcmUgcHJlc2VudC5cbiAgICovXG4gIGZ1bmN0aW9uX2NhbGw/OiAnbm9uZScgfCAnYXV0bycgfCBDaGF0Q29tcGxldGlvbkZ1bmN0aW9uQ2FsbE9wdGlvbjtcblxuICAvKipcbiAgICogRGVwcmVjYXRlZCBpbiBmYXZvciBvZiBgdG9vbHNgLlxuICAgKlxuICAgKiBBIGxpc3Qgb2YgZnVuY3Rpb25zIHRoZSBtb2RlbCBtYXkgZ2VuZXJhdGUgSlNPTiBpbnB1dHMgZm9yLlxuICAgKi9cbiAgZnVuY3Rpb25zPzogQXJyYXk8Q2hhdENvbXBsZXRpb25DcmVhdGVQYXJhbXMuRnVuY3Rpb24+O1xuXG4gIC8qKlxuICAgKiBNb2RpZnkgdGhlIGxpa2VsaWhvb2Qgb2Ygc3BlY2lmaWVkIHRva2VucyBhcHBlYXJpbmcgaW4gdGhlIGNvbXBsZXRpb24uXG4gICAqXG4gICAqIEFjY2VwdHMgYSBKU09OIG9iamVjdCB0aGF0IG1hcHMgdG9rZW5zIChzcGVjaWZpZWQgYnkgdGhlaXIgdG9rZW4gSUQgaW4gdGhlXG4gICAqIHRva2VuaXplcikgdG8gYW4gYXNzb2NpYXRlZCBiaWFzIHZhbHVlIGZyb20gLTEwMCB0byAxMDAuIE1hdGhlbWF0aWNhbGx5LCB0aGVcbiAgICogYmlhcyBpcyBhZGRlZCB0byB0aGUgbG9naXRzIGdlbmVyYXRlZCBieSB0aGUgbW9kZWwgcHJpb3IgdG8gc2FtcGxpbmcuIFRoZSBleGFjdFxuICAgKiBlZmZlY3Qgd2lsbCB2YXJ5IHBlciBtb2RlbCwgYnV0IHZhbHVlcyBiZXR3ZWVuIC0xIGFuZCAxIHNob3VsZCBkZWNyZWFzZSBvclxuICAgKiBpbmNyZWFzZSBsaWtlbGlob29kIG9mIHNlbGVjdGlvbjsgdmFsdWVzIGxpa2UgLTEwMCBvciAxMDAgc2hvdWxkIHJlc3VsdCBpbiBhIGJhblxuICAgKiBvciBleGNsdXNpdmUgc2VsZWN0aW9uIG9mIHRoZSByZWxldmFudCB0b2tlbi5cbiAgICovXG4gIGxvZ2l0X2JpYXM/OiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+IHwgbnVsbDtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZXR1cm4gbG9nIHByb2JhYmlsaXRpZXMgb2YgdGhlIG91dHB1dCB0b2tlbnMgb3Igbm90LiBJZiB0cnVlLFxuICAgKiByZXR1cm5zIHRoZSBsb2cgcHJvYmFiaWxpdGllcyBvZiBlYWNoIG91dHB1dCB0b2tlbiByZXR1cm5lZCBpbiB0aGUgYGNvbnRlbnRgIG9mXG4gICAqIGBtZXNzYWdlYC4gVGhpcyBvcHRpb24gaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUgb24gdGhlIGBncHQtNC12aXNpb24tcHJldmlld2BcbiAgICogbW9kZWwuXG4gICAqL1xuICBsb2dwcm9icz86IGJvb2xlYW4gfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgW3Rva2Vuc10oL3Rva2VuaXplcikgdGhhdCBjYW4gYmUgZ2VuZXJhdGVkIGluIHRoZSBjaGF0XG4gICAqIGNvbXBsZXRpb24uXG4gICAqXG4gICAqIFRoZSB0b3RhbCBsZW5ndGggb2YgaW5wdXQgdG9rZW5zIGFuZCBnZW5lcmF0ZWQgdG9rZW5zIGlzIGxpbWl0ZWQgYnkgdGhlIG1vZGVsJ3NcbiAgICogY29udGV4dCBsZW5ndGguXG4gICAqIFtFeGFtcGxlIFB5dGhvbiBjb2RlXShodHRwczovL2Nvb2tib29rLm9wZW5haS5jb20vZXhhbXBsZXMvaG93X3RvX2NvdW50X3Rva2Vuc193aXRoX3Rpa3Rva2VuKVxuICAgKiBmb3IgY291bnRpbmcgdG9rZW5zLlxuICAgKi9cbiAgbWF4X3Rva2Vucz86IG51bWJlciB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEhvdyBtYW55IGNoYXQgY29tcGxldGlvbiBjaG9pY2VzIHRvIGdlbmVyYXRlIGZvciBlYWNoIGlucHV0IG1lc3NhZ2UuIE5vdGUgdGhhdFxuICAgKiB5b3Ugd2lsbCBiZSBjaGFyZ2VkIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgZ2VuZXJhdGVkIHRva2VucyBhY3Jvc3MgYWxsIG9mIHRoZVxuICAgKiBjaG9pY2VzLiBLZWVwIGBuYCBhcyBgMWAgdG8gbWluaW1pemUgY29zdHMuXG4gICAqL1xuICBuPzogbnVtYmVyIHwgbnVsbDtcblxuICAvKipcbiAgICogTnVtYmVyIGJldHdlZW4gLTIuMCBhbmQgMi4wLiBQb3NpdGl2ZSB2YWx1ZXMgcGVuYWxpemUgbmV3IHRva2VucyBiYXNlZCBvblxuICAgKiB3aGV0aGVyIHRoZXkgYXBwZWFyIGluIHRoZSB0ZXh0IHNvIGZhciwgaW5jcmVhc2luZyB0aGUgbW9kZWwncyBsaWtlbGlob29kIHRvXG4gICAqIHRhbGsgYWJvdXQgbmV3IHRvcGljcy5cbiAgICpcbiAgICogW1NlZSBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGZyZXF1ZW5jeSBhbmQgcHJlc2VuY2UgcGVuYWx0aWVzLl0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvZ3VpZGVzL3RleHQtZ2VuZXJhdGlvbi9wYXJhbWV0ZXItZGV0YWlscylcbiAgICovXG4gIHByZXNlbmNlX3BlbmFsdHk/OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBBbiBvYmplY3Qgc3BlY2lmeWluZyB0aGUgZm9ybWF0IHRoYXQgdGhlIG1vZGVsIG11c3Qgb3V0cHV0LiBDb21wYXRpYmxlIHdpdGhcbiAgICogYGdwdC00LTExMDYtcHJldmlld2AgYW5kIGBncHQtMy41LXR1cmJvLTExMDZgLlxuICAgKlxuICAgKiBTZXR0aW5nIHRvIGB7IFwidHlwZVwiOiBcImpzb25fb2JqZWN0XCIgfWAgZW5hYmxlcyBKU09OIG1vZGUsIHdoaWNoIGd1YXJhbnRlZXMgdGhlXG4gICAqIG1lc3NhZ2UgdGhlIG1vZGVsIGdlbmVyYXRlcyBpcyB2YWxpZCBKU09OLlxuICAgKlxuICAgKiAqKkltcG9ydGFudDoqKiB3aGVuIHVzaW5nIEpTT04gbW9kZSwgeW91ICoqbXVzdCoqIGFsc28gaW5zdHJ1Y3QgdGhlIG1vZGVsIHRvXG4gICAqIHByb2R1Y2UgSlNPTiB5b3Vyc2VsZiB2aWEgYSBzeXN0ZW0gb3IgdXNlciBtZXNzYWdlLiBXaXRob3V0IHRoaXMsIHRoZSBtb2RlbCBtYXlcbiAgICogZ2VuZXJhdGUgYW4gdW5lbmRpbmcgc3RyZWFtIG9mIHdoaXRlc3BhY2UgdW50aWwgdGhlIGdlbmVyYXRpb24gcmVhY2hlcyB0aGUgdG9rZW5cbiAgICogbGltaXQsIHJlc3VsdGluZyBpbiBhIGxvbmctcnVubmluZyBhbmQgc2VlbWluZ2x5IFwic3R1Y2tcIiByZXF1ZXN0LiBBbHNvIG5vdGUgdGhhdFxuICAgKiB0aGUgbWVzc2FnZSBjb250ZW50IG1heSBiZSBwYXJ0aWFsbHkgY3V0IG9mZiBpZiBgZmluaXNoX3JlYXNvbj1cImxlbmd0aFwiYCwgd2hpY2hcbiAgICogaW5kaWNhdGVzIHRoZSBnZW5lcmF0aW9uIGV4Y2VlZGVkIGBtYXhfdG9rZW5zYCBvciB0aGUgY29udmVyc2F0aW9uIGV4Y2VlZGVkIHRoZVxuICAgKiBtYXggY29udGV4dCBsZW5ndGguXG4gICAqL1xuICByZXNwb25zZV9mb3JtYXQ/OiBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtcy5SZXNwb25zZUZvcm1hdDtcblxuICAvKipcbiAgICogVGhpcyBmZWF0dXJlIGlzIGluIEJldGEuIElmIHNwZWNpZmllZCwgb3VyIHN5c3RlbSB3aWxsIG1ha2UgYSBiZXN0IGVmZm9ydCB0b1xuICAgKiBzYW1wbGUgZGV0ZXJtaW5pc3RpY2FsbHksIHN1Y2ggdGhhdCByZXBlYXRlZCByZXF1ZXN0cyB3aXRoIHRoZSBzYW1lIGBzZWVkYCBhbmRcbiAgICogcGFyYW1ldGVycyBzaG91bGQgcmV0dXJuIHRoZSBzYW1lIHJlc3VsdC4gRGV0ZXJtaW5pc20gaXMgbm90IGd1YXJhbnRlZWQsIGFuZCB5b3VcbiAgICogc2hvdWxkIHJlZmVyIHRvIHRoZSBgc3lzdGVtX2ZpbmdlcnByaW50YCByZXNwb25zZSBwYXJhbWV0ZXIgdG8gbW9uaXRvciBjaGFuZ2VzXG4gICAqIGluIHRoZSBiYWNrZW5kLlxuICAgKi9cbiAgc2VlZD86IG51bWJlciB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFVwIHRvIDQgc2VxdWVuY2VzIHdoZXJlIHRoZSBBUEkgd2lsbCBzdG9wIGdlbmVyYXRpbmcgZnVydGhlciB0b2tlbnMuXG4gICAqL1xuICBzdG9wPzogc3RyaW5nIHwgbnVsbCB8IEFycmF5PHN0cmluZz47XG5cbiAgLyoqXG4gICAqIElmIHNldCwgcGFydGlhbCBtZXNzYWdlIGRlbHRhcyB3aWxsIGJlIHNlbnQsIGxpa2UgaW4gQ2hhdEdQVC4gVG9rZW5zIHdpbGwgYmVcbiAgICogc2VudCBhcyBkYXRhLW9ubHlcbiAgICogW3NlcnZlci1zZW50IGV2ZW50c10oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1NlcnZlci1zZW50X2V2ZW50cy9Vc2luZ19zZXJ2ZXItc2VudF9ldmVudHMjRXZlbnRfc3RyZWFtX2Zvcm1hdClcbiAgICogYXMgdGhleSBiZWNvbWUgYXZhaWxhYmxlLCB3aXRoIHRoZSBzdHJlYW0gdGVybWluYXRlZCBieSBhIGBkYXRhOiBbRE9ORV1gXG4gICAqIG1lc3NhZ2UuXG4gICAqIFtFeGFtcGxlIFB5dGhvbiBjb2RlXShodHRwczovL2Nvb2tib29rLm9wZW5haS5jb20vZXhhbXBsZXMvaG93X3RvX3N0cmVhbV9jb21wbGV0aW9ucykuXG4gICAqL1xuICBzdHJlYW0/OiBib29sZWFuIHwgbnVsbDtcblxuICAvKipcbiAgICogV2hhdCBzYW1wbGluZyB0ZW1wZXJhdHVyZSB0byB1c2UsIGJldHdlZW4gMCBhbmQgMi4gSGlnaGVyIHZhbHVlcyBsaWtlIDAuOCB3aWxsXG4gICAqIG1ha2UgdGhlIG91dHB1dCBtb3JlIHJhbmRvbSwgd2hpbGUgbG93ZXIgdmFsdWVzIGxpa2UgMC4yIHdpbGwgbWFrZSBpdCBtb3JlXG4gICAqIGZvY3VzZWQgYW5kIGRldGVybWluaXN0aWMuXG4gICAqXG4gICAqIFdlIGdlbmVyYWxseSByZWNvbW1lbmQgYWx0ZXJpbmcgdGhpcyBvciBgdG9wX3BgIGJ1dCBub3QgYm90aC5cbiAgICovXG4gIHRlbXBlcmF0dXJlPzogbnVtYmVyIHwgbnVsbDtcblxuICAvKipcbiAgICogQ29udHJvbHMgd2hpY2ggKGlmIGFueSkgZnVuY3Rpb24gaXMgY2FsbGVkIGJ5IHRoZSBtb2RlbC4gYG5vbmVgIG1lYW5zIHRoZSBtb2RlbFxuICAgKiB3aWxsIG5vdCBjYWxsIGEgZnVuY3Rpb24gYW5kIGluc3RlYWQgZ2VuZXJhdGVzIGEgbWVzc2FnZS4gYGF1dG9gIG1lYW5zIHRoZSBtb2RlbFxuICAgKiBjYW4gcGljayBiZXR3ZWVuIGdlbmVyYXRpbmcgYSBtZXNzYWdlIG9yIGNhbGxpbmcgYSBmdW5jdGlvbi4gU3BlY2lmeWluZyBhXG4gICAqIHBhcnRpY3VsYXIgZnVuY3Rpb24gdmlhXG4gICAqIGB7XCJ0eXBlOiBcImZ1bmN0aW9uXCIsIFwiZnVuY3Rpb25cIjoge1wibmFtZVwiOiBcIm15X2Z1bmN0aW9uXCJ9fWAgZm9yY2VzIHRoZSBtb2RlbCB0b1xuICAgKiBjYWxsIHRoYXQgZnVuY3Rpb24uXG4gICAqXG4gICAqIGBub25lYCBpcyB0aGUgZGVmYXVsdCB3aGVuIG5vIGZ1bmN0aW9ucyBhcmUgcHJlc2VudC4gYGF1dG9gIGlzIHRoZSBkZWZhdWx0IGlmXG4gICAqIGZ1bmN0aW9ucyBhcmUgcHJlc2VudC5cbiAgICovXG4gIHRvb2xfY2hvaWNlPzogQ2hhdENvbXBsZXRpb25Ub29sQ2hvaWNlT3B0aW9uO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgdG9vbHMgdGhlIG1vZGVsIG1heSBjYWxsLiBDdXJyZW50bHksIG9ubHkgZnVuY3Rpb25zIGFyZSBzdXBwb3J0ZWQgYXMgYVxuICAgKiB0b29sLiBVc2UgdGhpcyB0byBwcm92aWRlIGEgbGlzdCBvZiBmdW5jdGlvbnMgdGhlIG1vZGVsIG1heSBnZW5lcmF0ZSBKU09OIGlucHV0c1xuICAgKiBmb3IuXG4gICAqL1xuICB0b29scz86IEFycmF5PENoYXRDb21wbGV0aW9uVG9vbD47XG5cbiAgLyoqXG4gICAqIEFuIGludGVnZXIgYmV0d2VlbiAwIGFuZCA1IHNwZWNpZnlpbmcgdGhlIG51bWJlciBvZiBtb3N0IGxpa2VseSB0b2tlbnMgdG8gcmV0dXJuXG4gICAqIGF0IGVhY2ggdG9rZW4gcG9zaXRpb24sIGVhY2ggd2l0aCBhbiBhc3NvY2lhdGVkIGxvZyBwcm9iYWJpbGl0eS4gYGxvZ3Byb2JzYCBtdXN0XG4gICAqIGJlIHNldCB0byBgdHJ1ZWAgaWYgdGhpcyBwYXJhbWV0ZXIgaXMgdXNlZC5cbiAgICovXG4gIHRvcF9sb2dwcm9icz86IG51bWJlciB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEFuIGFsdGVybmF0aXZlIHRvIHNhbXBsaW5nIHdpdGggdGVtcGVyYXR1cmUsIGNhbGxlZCBudWNsZXVzIHNhbXBsaW5nLCB3aGVyZSB0aGVcbiAgICogbW9kZWwgY29uc2lkZXJzIHRoZSByZXN1bHRzIG9mIHRoZSB0b2tlbnMgd2l0aCB0b3BfcCBwcm9iYWJpbGl0eSBtYXNzLiBTbyAwLjFcbiAgICogbWVhbnMgb25seSB0aGUgdG9rZW5zIGNvbXByaXNpbmcgdGhlIHRvcCAxMCUgcHJvYmFiaWxpdHkgbWFzcyBhcmUgY29uc2lkZXJlZC5cbiAgICpcbiAgICogV2UgZ2VuZXJhbGx5IHJlY29tbWVuZCBhbHRlcmluZyB0aGlzIG9yIGB0ZW1wZXJhdHVyZWAgYnV0IG5vdCBib3RoLlxuICAgKi9cbiAgdG9wX3A/OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBBIHVuaXF1ZSBpZGVudGlmaWVyIHJlcHJlc2VudGluZyB5b3VyIGVuZC11c2VyLCB3aGljaCBjYW4gaGVscCBPcGVuQUkgdG8gbW9uaXRvclxuICAgKiBhbmQgZGV0ZWN0IGFidXNlLlxuICAgKiBbTGVhcm4gbW9yZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvZ3VpZGVzL3NhZmV0eS1iZXN0LXByYWN0aWNlcy9lbmQtdXNlci1pZHMpLlxuICAgKi9cbiAgdXNlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtcyB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb24ge1xuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB0byBiZSBjYWxsZWQuIE11c3QgYmUgYS16LCBBLVosIDAtOSwgb3IgY29udGFpblxuICAgICAqIHVuZGVyc2NvcmVzIGFuZCBkYXNoZXMsIHdpdGggYSBtYXhpbXVtIGxlbmd0aCBvZiA2NC5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBBIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhlIGZ1bmN0aW9uIGRvZXMsIHVzZWQgYnkgdGhlIG1vZGVsIHRvIGNob29zZSB3aGVuIGFuZFxuICAgICAqIGhvdyB0byBjYWxsIHRoZSBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBwYXJhbWV0ZXJzIHRoZSBmdW5jdGlvbnMgYWNjZXB0cywgZGVzY3JpYmVkIGFzIGEgSlNPTiBTY2hlbWEgb2JqZWN0LiBTZWUgdGhlXG4gICAgICogW2d1aWRlXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9ndWlkZXMvdGV4dC1nZW5lcmF0aW9uL2Z1bmN0aW9uLWNhbGxpbmcpXG4gICAgICogZm9yIGV4YW1wbGVzLCBhbmQgdGhlXG4gICAgICogW0pTT04gU2NoZW1hIHJlZmVyZW5jZV0oaHR0cHM6Ly9qc29uLXNjaGVtYS5vcmcvdW5kZXJzdGFuZGluZy1qc29uLXNjaGVtYS8pIGZvclxuICAgICAqIGRvY3VtZW50YXRpb24gYWJvdXQgdGhlIGZvcm1hdC5cbiAgICAgKlxuICAgICAqIE9taXR0aW5nIGBwYXJhbWV0ZXJzYCBkZWZpbmVzIGEgZnVuY3Rpb24gd2l0aCBhbiBlbXB0eSBwYXJhbWV0ZXIgbGlzdC5cbiAgICAgKi9cbiAgICBwYXJhbWV0ZXJzPzogU2hhcmVkLkZ1bmN0aW9uUGFyYW1ldGVycztcbiAgfVxuXG4gIC8qKlxuICAgKiBBbiBvYmplY3Qgc3BlY2lmeWluZyB0aGUgZm9ybWF0IHRoYXQgdGhlIG1vZGVsIG11c3Qgb3V0cHV0LiBDb21wYXRpYmxlIHdpdGhcbiAgICogYGdwdC00LTExMDYtcHJldmlld2AgYW5kIGBncHQtMy41LXR1cmJvLTExMDZgLlxuICAgKlxuICAgKiBTZXR0aW5nIHRvIGB7IFwidHlwZVwiOiBcImpzb25fb2JqZWN0XCIgfWAgZW5hYmxlcyBKU09OIG1vZGUsIHdoaWNoIGd1YXJhbnRlZXMgdGhlXG4gICAqIG1lc3NhZ2UgdGhlIG1vZGVsIGdlbmVyYXRlcyBpcyB2YWxpZCBKU09OLlxuICAgKlxuICAgKiAqKkltcG9ydGFudDoqKiB3aGVuIHVzaW5nIEpTT04gbW9kZSwgeW91ICoqbXVzdCoqIGFsc28gaW5zdHJ1Y3QgdGhlIG1vZGVsIHRvXG4gICAqIHByb2R1Y2UgSlNPTiB5b3Vyc2VsZiB2aWEgYSBzeXN0ZW0gb3IgdXNlciBtZXNzYWdlLiBXaXRob3V0IHRoaXMsIHRoZSBtb2RlbCBtYXlcbiAgICogZ2VuZXJhdGUgYW4gdW5lbmRpbmcgc3RyZWFtIG9mIHdoaXRlc3BhY2UgdW50aWwgdGhlIGdlbmVyYXRpb24gcmVhY2hlcyB0aGUgdG9rZW5cbiAgICogbGltaXQsIHJlc3VsdGluZyBpbiBhIGxvbmctcnVubmluZyBhbmQgc2VlbWluZ2x5IFwic3R1Y2tcIiByZXF1ZXN0LiBBbHNvIG5vdGUgdGhhdFxuICAgKiB0aGUgbWVzc2FnZSBjb250ZW50IG1heSBiZSBwYXJ0aWFsbHkgY3V0IG9mZiBpZiBgZmluaXNoX3JlYXNvbj1cImxlbmd0aFwiYCwgd2hpY2hcbiAgICogaW5kaWNhdGVzIHRoZSBnZW5lcmF0aW9uIGV4Y2VlZGVkIGBtYXhfdG9rZW5zYCBvciB0aGUgY29udmVyc2F0aW9uIGV4Y2VlZGVkIHRoZVxuICAgKiBtYXggY29udGV4dCBsZW5ndGguXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlRm9ybWF0IHtcbiAgICAvKipcbiAgICAgKiBNdXN0IGJlIG9uZSBvZiBgdGV4dGAgb3IgYGpzb25fb2JqZWN0YC5cbiAgICAgKi9cbiAgICB0eXBlPzogJ3RleHQnIHwgJ2pzb25fb2JqZWN0JztcbiAgfVxuXG4gIGV4cG9ydCB0eXBlIENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zTm9uU3RyZWFtaW5nID1cbiAgICBDaGF0Q29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25DcmVhdGVQYXJhbXNOb25TdHJlYW1pbmc7XG4gIGV4cG9ydCB0eXBlIENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zU3RyZWFtaW5nID0gQ2hhdENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zU3RyZWFtaW5nO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtcyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCB0eXBlIENvbXBsZXRpb25DcmVhdGVQYXJhbXMgPSBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtcztcblxuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtc05vblN0cmVhbWluZyBleHRlbmRzIENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zQmFzZSB7XG4gIC8qKlxuICAgKiBJZiBzZXQsIHBhcnRpYWwgbWVzc2FnZSBkZWx0YXMgd2lsbCBiZSBzZW50LCBsaWtlIGluIENoYXRHUFQuIFRva2VucyB3aWxsIGJlXG4gICAqIHNlbnQgYXMgZGF0YS1vbmx5XG4gICAqIFtzZXJ2ZXItc2VudCBldmVudHNdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9TZXJ2ZXItc2VudF9ldmVudHMvVXNpbmdfc2VydmVyLXNlbnRfZXZlbnRzI0V2ZW50X3N0cmVhbV9mb3JtYXQpXG4gICAqIGFzIHRoZXkgYmVjb21lIGF2YWlsYWJsZSwgd2l0aCB0aGUgc3RyZWFtIHRlcm1pbmF0ZWQgYnkgYSBgZGF0YTogW0RPTkVdYFxuICAgKiBtZXNzYWdlLlxuICAgKiBbRXhhbXBsZSBQeXRob24gY29kZV0oaHR0cHM6Ly9jb29rYm9vay5vcGVuYWkuY29tL2V4YW1wbGVzL2hvd190b19zdHJlYW1fY29tcGxldGlvbnMpLlxuICAgKi9cbiAgc3RyZWFtPzogZmFsc2UgfCBudWxsO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtc05vblN0cmVhbWluZyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCB0eXBlIENvbXBsZXRpb25DcmVhdGVQYXJhbXNOb25TdHJlYW1pbmcgPSBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtc05vblN0cmVhbWluZztcblxuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtc1N0cmVhbWluZyBleHRlbmRzIENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zQmFzZSB7XG4gIC8qKlxuICAgKiBJZiBzZXQsIHBhcnRpYWwgbWVzc2FnZSBkZWx0YXMgd2lsbCBiZSBzZW50LCBsaWtlIGluIENoYXRHUFQuIFRva2VucyB3aWxsIGJlXG4gICAqIHNlbnQgYXMgZGF0YS1vbmx5XG4gICAqIFtzZXJ2ZXItc2VudCBldmVudHNdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9TZXJ2ZXItc2VudF9ldmVudHMvVXNpbmdfc2VydmVyLXNlbnRfZXZlbnRzI0V2ZW50X3N0cmVhbV9mb3JtYXQpXG4gICAqIGFzIHRoZXkgYmVjb21lIGF2YWlsYWJsZSwgd2l0aCB0aGUgc3RyZWFtIHRlcm1pbmF0ZWQgYnkgYSBgZGF0YTogW0RPTkVdYFxuICAgKiBtZXNzYWdlLlxuICAgKiBbRXhhbXBsZSBQeXRob24gY29kZV0oaHR0cHM6Ly9jb29rYm9vay5vcGVuYWkuY29tL2V4YW1wbGVzL2hvd190b19zdHJlYW1fY29tcGxldGlvbnMpLlxuICAgKi9cbiAgc3RyZWFtOiB0cnVlO1xufVxuXG4vKipcbiAqIEBkZXByZWNhdGVkIFVzZSBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtc1N0cmVhbWluZyBpbnN0ZWFkXG4gKi9cbmV4cG9ydCB0eXBlIENvbXBsZXRpb25DcmVhdGVQYXJhbXNTdHJlYW1pbmcgPSBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtc1N0cmVhbWluZztcblxuZXhwb3J0IG5hbWVzcGFjZSBDb21wbGV0aW9ucyB7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb24gPSBDaGF0Q29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb247XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25Bc3Npc3RhbnRNZXNzYWdlUGFyYW0gPSBDaGF0Q29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25Bc3Npc3RhbnRNZXNzYWdlUGFyYW07XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25DaHVuayA9IENoYXRDb21wbGV0aW9uc0FQSS5DaGF0Q29tcGxldGlvbkNodW5rO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uQ29udGVudFBhcnQgPSBDaGF0Q29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25Db250ZW50UGFydDtcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvbkNvbnRlbnRQYXJ0SW1hZ2UgPSBDaGF0Q29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25Db250ZW50UGFydEltYWdlO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uQ29udGVudFBhcnRUZXh0ID0gQ2hhdENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uQ29udGVudFBhcnRUZXh0O1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uRnVuY3Rpb25DYWxsT3B0aW9uID0gQ2hhdENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uRnVuY3Rpb25DYWxsT3B0aW9uO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uRnVuY3Rpb25NZXNzYWdlUGFyYW0gPSBDaGF0Q29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25GdW5jdGlvbk1lc3NhZ2VQYXJhbTtcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvbk1lc3NhZ2UgPSBDaGF0Q29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25NZXNzYWdlO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uTWVzc2FnZVBhcmFtID0gQ2hhdENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uTWVzc2FnZVBhcmFtO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uTWVzc2FnZVRvb2xDYWxsID0gQ2hhdENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uTWVzc2FnZVRvb2xDYWxsO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uTmFtZWRUb29sQ2hvaWNlID0gQ2hhdENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uTmFtZWRUb29sQ2hvaWNlO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uUm9sZSA9IENoYXRDb21wbGV0aW9uc0FQSS5DaGF0Q29tcGxldGlvblJvbGU7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25TeXN0ZW1NZXNzYWdlUGFyYW0gPSBDaGF0Q29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25TeXN0ZW1NZXNzYWdlUGFyYW07XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25Ub2tlbkxvZ3Byb2IgPSBDaGF0Q29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25Ub2tlbkxvZ3Byb2I7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25Ub29sID0gQ2hhdENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uVG9vbDtcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvblRvb2xDaG9pY2VPcHRpb24gPSBDaGF0Q29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25Ub29sQ2hvaWNlT3B0aW9uO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uVG9vbE1lc3NhZ2VQYXJhbSA9IENoYXRDb21wbGV0aW9uc0FQSS5DaGF0Q29tcGxldGlvblRvb2xNZXNzYWdlUGFyYW07XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25Vc2VyTWVzc2FnZVBhcmFtID0gQ2hhdENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uVXNlck1lc3NhZ2VQYXJhbTtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIENoYXRDb21wbGV0aW9uTWVzc2FnZVBhcmFtIHNob3VsZCBiZSB1c2VkIGluc3RlYWRcbiAgICovXG4gIGV4cG9ydCBpbXBvcnQgQ3JlYXRlQ2hhdENvbXBsZXRpb25SZXF1ZXN0TWVzc2FnZSA9IENoYXRDb21wbGV0aW9uc0FQSS5DcmVhdGVDaGF0Q29tcGxldGlvblJlcXVlc3RNZXNzYWdlO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zID0gQ2hhdENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IENvbXBsZXRpb25DcmVhdGVQYXJhbXMgPSBDaGF0Q29tcGxldGlvbnNBUEkuQ29tcGxldGlvbkNyZWF0ZVBhcmFtcztcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtc05vblN0cmVhbWluZyA9IENoYXRDb21wbGV0aW9uc0FQSS5DaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtc05vblN0cmVhbWluZztcbiAgZXhwb3J0IGltcG9ydCBDb21wbGV0aW9uQ3JlYXRlUGFyYW1zTm9uU3RyZWFtaW5nID0gQ2hhdENvbXBsZXRpb25zQVBJLkNvbXBsZXRpb25DcmVhdGVQYXJhbXNOb25TdHJlYW1pbmc7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25DcmVhdGVQYXJhbXNTdHJlYW1pbmcgPSBDaGF0Q29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25DcmVhdGVQYXJhbXNTdHJlYW1pbmc7XG4gIGV4cG9ydCBpbXBvcnQgQ29tcGxldGlvbkNyZWF0ZVBhcmFtc1N0cmVhbWluZyA9IENoYXRDb21wbGV0aW9uc0FQSS5Db21wbGV0aW9uQ3JlYXRlUGFyYW1zU3RyZWFtaW5nO1xufVxuIiwgIi8vIEZpbGUgZ2VuZXJhdGVkIGZyb20gb3VyIE9wZW5BUEkgc3BlYyBieSBTdGFpbmxlc3MuXG5cbmltcG9ydCB7IEFQSVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlXCI7XG5pbXBvcnQgKiBhcyBDb21wbGV0aW9uc0FQSSBmcm9tIFwiLi9jb21wbGV0aW9uc1wiO1xuXG5leHBvcnQgY2xhc3MgQ2hhdCBleHRlbmRzIEFQSVJlc291cmNlIHtcbiAgY29tcGxldGlvbnM6IENvbXBsZXRpb25zQVBJLkNvbXBsZXRpb25zID0gbmV3IENvbXBsZXRpb25zQVBJLkNvbXBsZXRpb25zKHRoaXMuX2NsaWVudCk7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ2hhdCB7XG4gIGV4cG9ydCBpbXBvcnQgQ29tcGxldGlvbnMgPSBDb21wbGV0aW9uc0FQSS5Db21wbGV0aW9ucztcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvbiA9IENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uQXNzaXN0YW50TWVzc2FnZVBhcmFtID0gQ29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25Bc3Npc3RhbnRNZXNzYWdlUGFyYW07XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25DaHVuayA9IENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uQ2h1bms7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25Db250ZW50UGFydCA9IENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uQ29udGVudFBhcnQ7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25Db250ZW50UGFydEltYWdlID0gQ29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25Db250ZW50UGFydEltYWdlO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uQ29udGVudFBhcnRUZXh0ID0gQ29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25Db250ZW50UGFydFRleHQ7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25GdW5jdGlvbkNhbGxPcHRpb24gPSBDb21wbGV0aW9uc0FQSS5DaGF0Q29tcGxldGlvbkZ1bmN0aW9uQ2FsbE9wdGlvbjtcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvbkZ1bmN0aW9uTWVzc2FnZVBhcmFtID0gQ29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25GdW5jdGlvbk1lc3NhZ2VQYXJhbTtcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvbk1lc3NhZ2UgPSBDb21wbGV0aW9uc0FQSS5DaGF0Q29tcGxldGlvbk1lc3NhZ2U7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25NZXNzYWdlUGFyYW0gPSBDb21wbGV0aW9uc0FQSS5DaGF0Q29tcGxldGlvbk1lc3NhZ2VQYXJhbTtcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvbk1lc3NhZ2VUb29sQ2FsbCA9IENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uTWVzc2FnZVRvb2xDYWxsO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uTmFtZWRUb29sQ2hvaWNlID0gQ29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25OYW1lZFRvb2xDaG9pY2U7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25Sb2xlID0gQ29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25Sb2xlO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uU3lzdGVtTWVzc2FnZVBhcmFtID0gQ29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25TeXN0ZW1NZXNzYWdlUGFyYW07XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25Ub2tlbkxvZ3Byb2IgPSBDb21wbGV0aW9uc0FQSS5DaGF0Q29tcGxldGlvblRva2VuTG9ncHJvYjtcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvblRvb2wgPSBDb21wbGV0aW9uc0FQSS5DaGF0Q29tcGxldGlvblRvb2w7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25Ub29sQ2hvaWNlT3B0aW9uID0gQ29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25Ub29sQ2hvaWNlT3B0aW9uO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uVG9vbE1lc3NhZ2VQYXJhbSA9IENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uVG9vbE1lc3NhZ2VQYXJhbTtcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvblVzZXJNZXNzYWdlUGFyYW0gPSBDb21wbGV0aW9uc0FQSS5DaGF0Q29tcGxldGlvblVzZXJNZXNzYWdlUGFyYW07XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBDaGF0Q29tcGxldGlvbk1lc3NhZ2VQYXJhbSBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkXG4gICAqL1xuICBleHBvcnQgaW1wb3J0IENyZWF0ZUNoYXRDb21wbGV0aW9uUmVxdWVzdE1lc3NhZ2UgPSBDb21wbGV0aW9uc0FQSS5DcmVhdGVDaGF0Q29tcGxldGlvblJlcXVlc3RNZXNzYWdlO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zID0gQ29tcGxldGlvbnNBUEkuQ2hhdENvbXBsZXRpb25DcmVhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgQ29tcGxldGlvbkNyZWF0ZVBhcmFtcyA9IENvbXBsZXRpb25zQVBJLkNvbXBsZXRpb25DcmVhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25DcmVhdGVQYXJhbXNOb25TdHJlYW1pbmcgPSBDb21wbGV0aW9uc0FQSS5DaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtc05vblN0cmVhbWluZztcbiAgZXhwb3J0IGltcG9ydCBDb21wbGV0aW9uQ3JlYXRlUGFyYW1zTm9uU3RyZWFtaW5nID0gQ29tcGxldGlvbnNBUEkuQ29tcGxldGlvbkNyZWF0ZVBhcmFtc05vblN0cmVhbWluZztcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtc1N0cmVhbWluZyA9IENvbXBsZXRpb25zQVBJLkNoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zU3RyZWFtaW5nO1xuICBleHBvcnQgaW1wb3J0IENvbXBsZXRpb25DcmVhdGVQYXJhbXNTdHJlYW1pbmcgPSBDb21wbGV0aW9uc0FQSS5Db21wbGV0aW9uQ3JlYXRlUGFyYW1zU3RyZWFtaW5nO1xufVxuIiwgIi8vIEZpbGUgZ2VuZXJhdGVkIGZyb20gb3VyIE9wZW5BUEkgc3BlYyBieSBTdGFpbmxlc3MuXG5cbmltcG9ydCAqIGFzIENvcmUgZnJvbSBcIi4uLy4uL2NvcmVcIjtcbmltcG9ydCB7IEFQSVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlXCI7XG5pbXBvcnQgeyB0eXBlIFJlc3BvbnNlIH0gZnJvbSBcIi4uLy4uL19zaGltcy9pbmRleFwiO1xuaW1wb3J0ICogYXMgU3BlZWNoQVBJIGZyb20gXCIuL3NwZWVjaFwiO1xuXG5leHBvcnQgY2xhc3MgU3BlZWNoIGV4dGVuZHMgQVBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogR2VuZXJhdGVzIGF1ZGlvIGZyb20gdGhlIGlucHV0IHRleHQuXG4gICAqL1xuICBjcmVhdGUoYm9keTogU3BlZWNoQ3JlYXRlUGFyYW1zLCBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyk6IENvcmUuQVBJUHJvbWlzZTxSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQucG9zdCgnL2F1ZGlvL3NwZWVjaCcsIHsgYm9keSwgLi4ub3B0aW9ucywgX19iaW5hcnlSZXNwb25zZTogdHJ1ZSB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNwZWVjaENyZWF0ZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgdGV4dCB0byBnZW5lcmF0ZSBhdWRpbyBmb3IuIFRoZSBtYXhpbXVtIGxlbmd0aCBpcyA0MDk2IGNoYXJhY3RlcnMuXG4gICAqL1xuICBpbnB1dDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBPbmUgb2YgdGhlIGF2YWlsYWJsZSBbVFRTIG1vZGVsc10oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvbW9kZWxzL3R0cyk6XG4gICAqIGB0dHMtMWAgb3IgYHR0cy0xLWhkYFxuICAgKi9cbiAgbW9kZWw6IChzdHJpbmcgJiB7fSkgfCAndHRzLTEnIHwgJ3R0cy0xLWhkJztcblxuICAvKipcbiAgICogVGhlIHZvaWNlIHRvIHVzZSB3aGVuIGdlbmVyYXRpbmcgdGhlIGF1ZGlvLiBTdXBwb3J0ZWQgdm9pY2VzIGFyZSBgYWxsb3lgLFxuICAgKiBgZWNob2AsIGBmYWJsZWAsIGBvbnl4YCwgYG5vdmFgLCBhbmQgYHNoaW1tZXJgLiBQcmV2aWV3cyBvZiB0aGUgdm9pY2VzIGFyZVxuICAgKiBhdmFpbGFibGUgaW4gdGhlXG4gICAqIFtUZXh0IHRvIHNwZWVjaCBndWlkZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvZ3VpZGVzL3RleHQtdG8tc3BlZWNoL3ZvaWNlLW9wdGlvbnMpLlxuICAgKi9cbiAgdm9pY2U6ICdhbGxveScgfCAnZWNobycgfCAnZmFibGUnIHwgJ29ueXgnIHwgJ25vdmEnIHwgJ3NoaW1tZXInO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9ybWF0IHRvIGF1ZGlvIGluLiBTdXBwb3J0ZWQgZm9ybWF0cyBhcmUgYG1wM2AsIGBvcHVzYCwgYGFhY2AsIGFuZCBgZmxhY2AuXG4gICAqL1xuICByZXNwb25zZV9mb3JtYXQ/OiAnbXAzJyB8ICdvcHVzJyB8ICdhYWMnIHwgJ2ZsYWMnO1xuXG4gIC8qKlxuICAgKiBUaGUgc3BlZWQgb2YgdGhlIGdlbmVyYXRlZCBhdWRpby4gU2VsZWN0IGEgdmFsdWUgZnJvbSBgMC4yNWAgdG8gYDQuMGAuIGAxLjBgIGlzXG4gICAqIHRoZSBkZWZhdWx0LlxuICAgKi9cbiAgc3BlZWQ/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgU3BlZWNoIHtcbiAgZXhwb3J0IGltcG9ydCBTcGVlY2hDcmVhdGVQYXJhbXMgPSBTcGVlY2hBUEkuU3BlZWNoQ3JlYXRlUGFyYW1zO1xufVxuIiwgIi8vIEZpbGUgZ2VuZXJhdGVkIGZyb20gb3VyIE9wZW5BUEkgc3BlYyBieSBTdGFpbmxlc3MuXG5cbmltcG9ydCAqIGFzIENvcmUgZnJvbSBcIi4uLy4uL2NvcmVcIjtcbmltcG9ydCB7IEFQSVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlXCI7XG5pbXBvcnQgKiBhcyBUcmFuc2NyaXB0aW9uc0FQSSBmcm9tIFwiLi90cmFuc2NyaXB0aW9uc1wiO1xuaW1wb3J0IHsgdHlwZSBVcGxvYWRhYmxlLCBtdWx0aXBhcnRGb3JtUmVxdWVzdE9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vY29yZVwiO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNjcmlwdGlvbnMgZXh0ZW5kcyBBUElSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBUcmFuc2NyaWJlcyBhdWRpbyBpbnRvIHRoZSBpbnB1dCBsYW5ndWFnZS5cbiAgICovXG4gIGNyZWF0ZShib2R5OiBUcmFuc2NyaXB0aW9uQ3JlYXRlUGFyYW1zLCBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyk6IENvcmUuQVBJUHJvbWlzZTxUcmFuc2NyaXB0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5wb3N0KCcvYXVkaW8vdHJhbnNjcmlwdGlvbnMnLCBtdWx0aXBhcnRGb3JtUmVxdWVzdE9wdGlvbnMoeyBib2R5LCAuLi5vcHRpb25zIH0pKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zY3JpcHRpb24ge1xuICB0ZXh0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNjcmlwdGlvbkNyZWF0ZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYXVkaW8gZmlsZSBvYmplY3QgKG5vdCBmaWxlIG5hbWUpIHRvIHRyYW5zY3JpYmUsIGluIG9uZSBvZiB0aGVzZSBmb3JtYXRzOlxuICAgKiBmbGFjLCBtcDMsIG1wNCwgbXBlZywgbXBnYSwgbTRhLCBvZ2csIHdhdiwgb3Igd2VibS5cbiAgICovXG4gIGZpbGU6IFVwbG9hZGFibGU7XG5cbiAgLyoqXG4gICAqIElEIG9mIHRoZSBtb2RlbCB0byB1c2UuIE9ubHkgYHdoaXNwZXItMWAgaXMgY3VycmVudGx5IGF2YWlsYWJsZS5cbiAgICovXG4gIG1vZGVsOiAoc3RyaW5nICYge30pIHwgJ3doaXNwZXItMSc7XG5cbiAgLyoqXG4gICAqIFRoZSBsYW5ndWFnZSBvZiB0aGUgaW5wdXQgYXVkaW8uIFN1cHBseWluZyB0aGUgaW5wdXQgbGFuZ3VhZ2UgaW5cbiAgICogW0lTTy02MzktMV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTGlzdF9vZl9JU09fNjM5LTFfY29kZXMpIGZvcm1hdCB3aWxsXG4gICAqIGltcHJvdmUgYWNjdXJhY3kgYW5kIGxhdGVuY3kuXG4gICAqL1xuICBsYW5ndWFnZT86IHN0cmluZztcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgdGV4dCB0byBndWlkZSB0aGUgbW9kZWwncyBzdHlsZSBvciBjb250aW51ZSBhIHByZXZpb3VzIGF1ZGlvXG4gICAqIHNlZ21lbnQuIFRoZVxuICAgKiBbcHJvbXB0XShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9ndWlkZXMvc3BlZWNoLXRvLXRleHQvcHJvbXB0aW5nKVxuICAgKiBzaG91bGQgbWF0Y2ggdGhlIGF1ZGlvIGxhbmd1YWdlLlxuICAgKi9cbiAgcHJvbXB0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9ybWF0IG9mIHRoZSB0cmFuc2NyaXB0IG91dHB1dCwgaW4gb25lIG9mIHRoZXNlIG9wdGlvbnM6IGBqc29uYCwgYHRleHRgLFxuICAgKiBgc3J0YCwgYHZlcmJvc2VfanNvbmAsIG9yIGB2dHRgLlxuICAgKi9cbiAgcmVzcG9uc2VfZm9ybWF0PzogJ2pzb24nIHwgJ3RleHQnIHwgJ3NydCcgfCAndmVyYm9zZV9qc29uJyB8ICd2dHQnO1xuXG4gIC8qKlxuICAgKiBUaGUgc2FtcGxpbmcgdGVtcGVyYXR1cmUsIGJldHdlZW4gMCBhbmQgMS4gSGlnaGVyIHZhbHVlcyBsaWtlIDAuOCB3aWxsIG1ha2UgdGhlXG4gICAqIG91dHB1dCBtb3JlIHJhbmRvbSwgd2hpbGUgbG93ZXIgdmFsdWVzIGxpa2UgMC4yIHdpbGwgbWFrZSBpdCBtb3JlIGZvY3VzZWQgYW5kXG4gICAqIGRldGVybWluaXN0aWMuIElmIHNldCB0byAwLCB0aGUgbW9kZWwgd2lsbCB1c2VcbiAgICogW2xvZyBwcm9iYWJpbGl0eV0oaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvTG9nX3Byb2JhYmlsaXR5KSB0b1xuICAgKiBhdXRvbWF0aWNhbGx5IGluY3JlYXNlIHRoZSB0ZW1wZXJhdHVyZSB1bnRpbCBjZXJ0YWluIHRocmVzaG9sZHMgYXJlIGhpdC5cbiAgICovXG4gIHRlbXBlcmF0dXJlPzogbnVtYmVyO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFRyYW5zY3JpcHRpb25zIHtcbiAgZXhwb3J0IGltcG9ydCBUcmFuc2NyaXB0aW9uID0gVHJhbnNjcmlwdGlvbnNBUEkuVHJhbnNjcmlwdGlvbjtcbiAgZXhwb3J0IGltcG9ydCBUcmFuc2NyaXB0aW9uQ3JlYXRlUGFyYW1zID0gVHJhbnNjcmlwdGlvbnNBUEkuVHJhbnNjcmlwdGlvbkNyZWF0ZVBhcmFtcztcbn1cbiIsICIvLyBGaWxlIGdlbmVyYXRlZCBmcm9tIG91ciBPcGVuQVBJIHNwZWMgYnkgU3RhaW5sZXNzLlxuXG5pbXBvcnQgKiBhcyBDb3JlIGZyb20gXCIuLi8uLi9jb3JlXCI7XG5pbXBvcnQgeyBBUElSZXNvdXJjZSB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZVwiO1xuaW1wb3J0ICogYXMgVHJhbnNsYXRpb25zQVBJIGZyb20gXCIuL3RyYW5zbGF0aW9uc1wiO1xuaW1wb3J0IHsgdHlwZSBVcGxvYWRhYmxlLCBtdWx0aXBhcnRGb3JtUmVxdWVzdE9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vY29yZVwiO1xuXG5leHBvcnQgY2xhc3MgVHJhbnNsYXRpb25zIGV4dGVuZHMgQVBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogVHJhbnNsYXRlcyBhdWRpbyBpbnRvIEVuZ2xpc2guXG4gICAqL1xuICBjcmVhdGUoYm9keTogVHJhbnNsYXRpb25DcmVhdGVQYXJhbXMsIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zKTogQ29yZS5BUElQcm9taXNlPFRyYW5zbGF0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5wb3N0KCcvYXVkaW8vdHJhbnNsYXRpb25zJywgbXVsdGlwYXJ0Rm9ybVJlcXVlc3RPcHRpb25zKHsgYm9keSwgLi4ub3B0aW9ucyB9KSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvbiB7XG4gIHRleHQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2xhdGlvbkNyZWF0ZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYXVkaW8gZmlsZSBvYmplY3QgKG5vdCBmaWxlIG5hbWUpIHRyYW5zbGF0ZSwgaW4gb25lIG9mIHRoZXNlIGZvcm1hdHM6IGZsYWMsXG4gICAqIG1wMywgbXA0LCBtcGVnLCBtcGdhLCBtNGEsIG9nZywgd2F2LCBvciB3ZWJtLlxuICAgKi9cbiAgZmlsZTogVXBsb2FkYWJsZTtcblxuICAvKipcbiAgICogSUQgb2YgdGhlIG1vZGVsIHRvIHVzZS4gT25seSBgd2hpc3Blci0xYCBpcyBjdXJyZW50bHkgYXZhaWxhYmxlLlxuICAgKi9cbiAgbW9kZWw6IChzdHJpbmcgJiB7fSkgfCAnd2hpc3Blci0xJztcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgdGV4dCB0byBndWlkZSB0aGUgbW9kZWwncyBzdHlsZSBvciBjb250aW51ZSBhIHByZXZpb3VzIGF1ZGlvXG4gICAqIHNlZ21lbnQuIFRoZVxuICAgKiBbcHJvbXB0XShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9ndWlkZXMvc3BlZWNoLXRvLXRleHQvcHJvbXB0aW5nKVxuICAgKiBzaG91bGQgYmUgaW4gRW5nbGlzaC5cbiAgICovXG4gIHByb21wdD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZvcm1hdCBvZiB0aGUgdHJhbnNjcmlwdCBvdXRwdXQsIGluIG9uZSBvZiB0aGVzZSBvcHRpb25zOiBganNvbmAsIGB0ZXh0YCxcbiAgICogYHNydGAsIGB2ZXJib3NlX2pzb25gLCBvciBgdnR0YC5cbiAgICovXG4gIHJlc3BvbnNlX2Zvcm1hdD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNhbXBsaW5nIHRlbXBlcmF0dXJlLCBiZXR3ZWVuIDAgYW5kIDEuIEhpZ2hlciB2YWx1ZXMgbGlrZSAwLjggd2lsbCBtYWtlIHRoZVxuICAgKiBvdXRwdXQgbW9yZSByYW5kb20sIHdoaWxlIGxvd2VyIHZhbHVlcyBsaWtlIDAuMiB3aWxsIG1ha2UgaXQgbW9yZSBmb2N1c2VkIGFuZFxuICAgKiBkZXRlcm1pbmlzdGljLiBJZiBzZXQgdG8gMCwgdGhlIG1vZGVsIHdpbGwgdXNlXG4gICAqIFtsb2cgcHJvYmFiaWxpdHldKGh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0xvZ19wcm9iYWJpbGl0eSkgdG9cbiAgICogYXV0b21hdGljYWxseSBpbmNyZWFzZSB0aGUgdGVtcGVyYXR1cmUgdW50aWwgY2VydGFpbiB0aHJlc2hvbGRzIGFyZSBoaXQuXG4gICAqL1xuICB0ZW1wZXJhdHVyZT86IG51bWJlcjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBUcmFuc2xhdGlvbnMge1xuICBleHBvcnQgaW1wb3J0IFRyYW5zbGF0aW9uID0gVHJhbnNsYXRpb25zQVBJLlRyYW5zbGF0aW9uO1xuICBleHBvcnQgaW1wb3J0IFRyYW5zbGF0aW9uQ3JlYXRlUGFyYW1zID0gVHJhbnNsYXRpb25zQVBJLlRyYW5zbGF0aW9uQ3JlYXRlUGFyYW1zO1xufVxuIiwgIi8vIEZpbGUgZ2VuZXJhdGVkIGZyb20gb3VyIE9wZW5BUEkgc3BlYyBieSBTdGFpbmxlc3MuXG5cbmltcG9ydCB7IEFQSVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlXCI7XG5pbXBvcnQgKiBhcyBTcGVlY2hBUEkgZnJvbSBcIi4vc3BlZWNoXCI7XG5pbXBvcnQgKiBhcyBUcmFuc2NyaXB0aW9uc0FQSSBmcm9tIFwiLi90cmFuc2NyaXB0aW9uc1wiO1xuaW1wb3J0ICogYXMgVHJhbnNsYXRpb25zQVBJIGZyb20gXCIuL3RyYW5zbGF0aW9uc1wiO1xuXG5leHBvcnQgY2xhc3MgQXVkaW8gZXh0ZW5kcyBBUElSZXNvdXJjZSB7XG4gIHRyYW5zY3JpcHRpb25zOiBUcmFuc2NyaXB0aW9uc0FQSS5UcmFuc2NyaXB0aW9ucyA9IG5ldyBUcmFuc2NyaXB0aW9uc0FQSS5UcmFuc2NyaXB0aW9ucyh0aGlzLl9jbGllbnQpO1xuICB0cmFuc2xhdGlvbnM6IFRyYW5zbGF0aW9uc0FQSS5UcmFuc2xhdGlvbnMgPSBuZXcgVHJhbnNsYXRpb25zQVBJLlRyYW5zbGF0aW9ucyh0aGlzLl9jbGllbnQpO1xuICBzcGVlY2g6IFNwZWVjaEFQSS5TcGVlY2ggPSBuZXcgU3BlZWNoQVBJLlNwZWVjaCh0aGlzLl9jbGllbnQpO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEF1ZGlvIHtcbiAgZXhwb3J0IGltcG9ydCBUcmFuc2NyaXB0aW9ucyA9IFRyYW5zY3JpcHRpb25zQVBJLlRyYW5zY3JpcHRpb25zO1xuICBleHBvcnQgaW1wb3J0IFRyYW5zY3JpcHRpb24gPSBUcmFuc2NyaXB0aW9uc0FQSS5UcmFuc2NyaXB0aW9uO1xuICBleHBvcnQgaW1wb3J0IFRyYW5zY3JpcHRpb25DcmVhdGVQYXJhbXMgPSBUcmFuc2NyaXB0aW9uc0FQSS5UcmFuc2NyaXB0aW9uQ3JlYXRlUGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IFRyYW5zbGF0aW9ucyA9IFRyYW5zbGF0aW9uc0FQSS5UcmFuc2xhdGlvbnM7XG4gIGV4cG9ydCBpbXBvcnQgVHJhbnNsYXRpb24gPSBUcmFuc2xhdGlvbnNBUEkuVHJhbnNsYXRpb247XG4gIGV4cG9ydCBpbXBvcnQgVHJhbnNsYXRpb25DcmVhdGVQYXJhbXMgPSBUcmFuc2xhdGlvbnNBUEkuVHJhbnNsYXRpb25DcmVhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgU3BlZWNoID0gU3BlZWNoQVBJLlNwZWVjaDtcbiAgZXhwb3J0IGltcG9ydCBTcGVlY2hDcmVhdGVQYXJhbXMgPSBTcGVlY2hBUEkuU3BlZWNoQ3JlYXRlUGFyYW1zO1xufVxuIiwgIi8vIEZpbGUgZ2VuZXJhdGVkIGZyb20gb3VyIE9wZW5BUEkgc3BlYyBieSBTdGFpbmxlc3MuXG5cbmltcG9ydCAqIGFzIENvcmUgZnJvbSBcIi4uLy4uLy4uL2NvcmVcIjtcbmltcG9ydCB7IEFQSVJlc291cmNlIH0gZnJvbSBcIi4uLy4uLy4uL3Jlc291cmNlXCI7XG5pbXBvcnQgeyBpc1JlcXVlc3RPcHRpb25zIH0gZnJvbSBcIi4uLy4uLy4uL2NvcmVcIjtcbmltcG9ydCAqIGFzIEZpbGVzQVBJIGZyb20gXCIuL2ZpbGVzXCI7XG5pbXBvcnQgeyBDdXJzb3JQYWdlLCB0eXBlIEN1cnNvclBhZ2VQYXJhbXMgfSBmcm9tIFwiLi4vLi4vLi4vcGFnaW5hdGlvblwiO1xuXG5leHBvcnQgY2xhc3MgRmlsZXMgZXh0ZW5kcyBBUElSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gYXNzaXN0YW50IGZpbGUgYnkgYXR0YWNoaW5nIGFcbiAgICogW0ZpbGVdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvZmlsZXMpIHRvIGFuXG4gICAqIFthc3Npc3RhbnRdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvYXNzaXN0YW50cykuXG4gICAqL1xuICBjcmVhdGUoXG4gICAgYXNzaXN0YW50SWQ6IHN0cmluZyxcbiAgICBib2R5OiBGaWxlQ3JlYXRlUGFyYW1zLFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBDb3JlLkFQSVByb21pc2U8QXNzaXN0YW50RmlsZT4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQucG9zdChgL2Fzc2lzdGFudHMvJHthc3Npc3RhbnRJZH0vZmlsZXNgLCB7XG4gICAgICBib2R5LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGhlYWRlcnM6IHsgJ09wZW5BSS1CZXRhJzogJ2Fzc2lzdGFudHM9djEnLCAuLi5vcHRpb25zPy5oZWFkZXJzIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGFuIEFzc2lzdGFudEZpbGUuXG4gICAqL1xuICByZXRyaWV2ZShcbiAgICBhc3Npc3RhbnRJZDogc3RyaW5nLFxuICAgIGZpbGVJZDogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBDb3JlLkFQSVByb21pc2U8QXNzaXN0YW50RmlsZT4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQuZ2V0KGAvYXNzaXN0YW50cy8ke2Fzc2lzdGFudElkfS9maWxlcy8ke2ZpbGVJZH1gLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgaGVhZGVyczogeyAnT3BlbkFJLUJldGEnOiAnYXNzaXN0YW50cz12MScsIC4uLm9wdGlvbnM/LmhlYWRlcnMgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBhc3Npc3RhbnQgZmlsZXMuXG4gICAqL1xuICBsaXN0KFxuICAgIGFzc2lzdGFudElkOiBzdHJpbmcsXG4gICAgcXVlcnk/OiBGaWxlTGlzdFBhcmFtcyxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQ29yZS5QYWdlUHJvbWlzZTxBc3Npc3RhbnRGaWxlc1BhZ2UsIEFzc2lzdGFudEZpbGU+O1xuICBsaXN0KFxuICAgIGFzc2lzdGFudElkOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENvcmUuUGFnZVByb21pc2U8QXNzaXN0YW50RmlsZXNQYWdlLCBBc3Npc3RhbnRGaWxlPjtcbiAgbGlzdChcbiAgICBhc3Npc3RhbnRJZDogc3RyaW5nLFxuICAgIHF1ZXJ5OiBGaWxlTGlzdFBhcmFtcyB8IENvcmUuUmVxdWVzdE9wdGlvbnMgPSB7fSxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQ29yZS5QYWdlUHJvbWlzZTxBc3Npc3RhbnRGaWxlc1BhZ2UsIEFzc2lzdGFudEZpbGU+IHtcbiAgICBpZiAoaXNSZXF1ZXN0T3B0aW9ucyhxdWVyeSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmxpc3QoYXNzaXN0YW50SWQsIHt9LCBxdWVyeSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jbGllbnQuZ2V0QVBJTGlzdChgL2Fzc2lzdGFudHMvJHthc3Npc3RhbnRJZH0vZmlsZXNgLCBBc3Npc3RhbnRGaWxlc1BhZ2UsIHtcbiAgICAgIHF1ZXJ5LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGhlYWRlcnM6IHsgJ09wZW5BSS1CZXRhJzogJ2Fzc2lzdGFudHM9djEnLCAuLi5vcHRpb25zPy5oZWFkZXJzIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIGFuIGFzc2lzdGFudCBmaWxlLlxuICAgKi9cbiAgZGVsKFxuICAgIGFzc2lzdGFudElkOiBzdHJpbmcsXG4gICAgZmlsZUlkOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENvcmUuQVBJUHJvbWlzZTxGaWxlRGVsZXRlUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmRlbGV0ZShgL2Fzc2lzdGFudHMvJHthc3Npc3RhbnRJZH0vZmlsZXMvJHtmaWxlSWR9YCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGhlYWRlcnM6IHsgJ09wZW5BSS1CZXRhJzogJ2Fzc2lzdGFudHM9djEnLCAuLi5vcHRpb25zPy5oZWFkZXJzIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIEFzc2lzdGFudEZpbGVzUGFnZSBleHRlbmRzIEN1cnNvclBhZ2U8QXNzaXN0YW50RmlsZT4ge31cblxuLyoqXG4gKiBBIGxpc3Qgb2YgW0ZpbGVzXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9hcGktcmVmZXJlbmNlL2ZpbGVzKSBhdHRhY2hlZFxuICogdG8gYW4gYGFzc2lzdGFudGAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaXN0YW50RmlsZSB7XG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciwgd2hpY2ggY2FuIGJlIHJlZmVyZW5jZWQgaW4gQVBJIGVuZHBvaW50cy5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBhc3Npc3RhbnQgSUQgdGhhdCB0aGUgZmlsZSBpcyBhdHRhY2hlZCB0by5cbiAgICovXG4gIGFzc2lzdGFudF9pZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgVW5peCB0aW1lc3RhbXAgKGluIHNlY29uZHMpIGZvciB3aGVuIHRoZSBhc3Npc3RhbnQgZmlsZSB3YXMgY3JlYXRlZC5cbiAgICovXG4gIGNyZWF0ZWRfYXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG9iamVjdCB0eXBlLCB3aGljaCBpcyBhbHdheXMgYGFzc2lzdGFudC5maWxlYC5cbiAgICovXG4gIG9iamVjdDogJ2Fzc2lzdGFudC5maWxlJztcbn1cblxuLyoqXG4gKiBEZWxldGVzIHRoZSBhc3NvY2lhdGlvbiBiZXR3ZWVuIHRoZSBhc3Npc3RhbnQgYW5kIHRoZSBmaWxlLCBidXQgZG9lcyBub3QgZGVsZXRlXG4gKiB0aGUgW0ZpbGVdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvZmlsZXMpIG9iamVjdCBpdHNlbGYuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZURlbGV0ZVJlc3BvbnNlIHtcbiAgaWQ6IHN0cmluZztcblxuICBkZWxldGVkOiBib29sZWFuO1xuXG4gIG9iamVjdDogJ2Fzc2lzdGFudC5maWxlLmRlbGV0ZWQnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVDcmVhdGVQYXJhbXMge1xuICAvKipcbiAgICogQSBbRmlsZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXBpLXJlZmVyZW5jZS9maWxlcykgSUQgKHdpdGhcbiAgICogYHB1cnBvc2U9XCJhc3Npc3RhbnRzXCJgKSB0aGF0IHRoZSBhc3Npc3RhbnQgc2hvdWxkIHVzZS4gVXNlZnVsIGZvciB0b29scyBsaWtlXG4gICAqIGByZXRyaWV2YWxgIGFuZCBgY29kZV9pbnRlcnByZXRlcmAgdGhhdCBjYW4gYWNjZXNzIGZpbGVzLlxuICAgKi9cbiAgZmlsZV9pZDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZpbGVMaXN0UGFyYW1zIGV4dGVuZHMgQ3Vyc29yUGFnZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBBIGN1cnNvciBmb3IgdXNlIGluIHBhZ2luYXRpb24uIGBiZWZvcmVgIGlzIGFuIG9iamVjdCBJRCB0aGF0IGRlZmluZXMgeW91ciBwbGFjZVxuICAgKiBpbiB0aGUgbGlzdC4gRm9yIGluc3RhbmNlLCBpZiB5b3UgbWFrZSBhIGxpc3QgcmVxdWVzdCBhbmQgcmVjZWl2ZSAxMDAgb2JqZWN0cyxcbiAgICogZW5kaW5nIHdpdGggb2JqX2ZvbywgeW91ciBzdWJzZXF1ZW50IGNhbGwgY2FuIGluY2x1ZGUgYmVmb3JlPW9ial9mb28gaW4gb3JkZXIgdG9cbiAgICogZmV0Y2ggdGhlIHByZXZpb3VzIHBhZ2Ugb2YgdGhlIGxpc3QuXG4gICAqL1xuICBiZWZvcmU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNvcnQgb3JkZXIgYnkgdGhlIGBjcmVhdGVkX2F0YCB0aW1lc3RhbXAgb2YgdGhlIG9iamVjdHMuIGBhc2NgIGZvciBhc2NlbmRpbmdcbiAgICogb3JkZXIgYW5kIGBkZXNjYCBmb3IgZGVzY2VuZGluZyBvcmRlci5cbiAgICovXG4gIG9yZGVyPzogJ2FzYycgfCAnZGVzYyc7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRmlsZXMge1xuICBleHBvcnQgaW1wb3J0IEFzc2lzdGFudEZpbGUgPSBGaWxlc0FQSS5Bc3Npc3RhbnRGaWxlO1xuICBleHBvcnQgaW1wb3J0IEZpbGVEZWxldGVSZXNwb25zZSA9IEZpbGVzQVBJLkZpbGVEZWxldGVSZXNwb25zZTtcbiAgZXhwb3J0IGltcG9ydCBBc3Npc3RhbnRGaWxlc1BhZ2UgPSBGaWxlc0FQSS5Bc3Npc3RhbnRGaWxlc1BhZ2U7XG4gIGV4cG9ydCBpbXBvcnQgRmlsZUNyZWF0ZVBhcmFtcyA9IEZpbGVzQVBJLkZpbGVDcmVhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgRmlsZUxpc3RQYXJhbXMgPSBGaWxlc0FQSS5GaWxlTGlzdFBhcmFtcztcbn1cbiIsICIvLyBGaWxlIGdlbmVyYXRlZCBmcm9tIG91ciBPcGVuQVBJIHNwZWMgYnkgU3RhaW5sZXNzLlxuXG5pbXBvcnQgKiBhcyBDb3JlIGZyb20gXCIuLi8uLi8uLi9jb3JlXCI7XG5pbXBvcnQgeyBBUElSZXNvdXJjZSB9IGZyb20gXCIuLi8uLi8uLi9yZXNvdXJjZVwiO1xuaW1wb3J0IHsgaXNSZXF1ZXN0T3B0aW9ucyB9IGZyb20gXCIuLi8uLi8uLi9jb3JlXCI7XG5pbXBvcnQgKiBhcyBBc3Npc3RhbnRzQVBJIGZyb20gXCIuL2Fzc2lzdGFudHNcIjtcbmltcG9ydCAqIGFzIFNoYXJlZCBmcm9tIFwiLi4vLi4vc2hhcmVkXCI7XG5pbXBvcnQgKiBhcyBGaWxlc0FQSSBmcm9tIFwiLi9maWxlc1wiO1xuaW1wb3J0IHsgQ3Vyc29yUGFnZSwgdHlwZSBDdXJzb3JQYWdlUGFyYW1zIH0gZnJvbSBcIi4uLy4uLy4uL3BhZ2luYXRpb25cIjtcblxuZXhwb3J0IGNsYXNzIEFzc2lzdGFudHMgZXh0ZW5kcyBBUElSZXNvdXJjZSB7XG4gIGZpbGVzOiBGaWxlc0FQSS5GaWxlcyA9IG5ldyBGaWxlc0FQSS5GaWxlcyh0aGlzLl9jbGllbnQpO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYW4gYXNzaXN0YW50IHdpdGggYSBtb2RlbCBhbmQgaW5zdHJ1Y3Rpb25zLlxuICAgKi9cbiAgY3JlYXRlKGJvZHk6IEFzc2lzdGFudENyZWF0ZVBhcmFtcywgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLkFQSVByb21pc2U8QXNzaXN0YW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5wb3N0KCcvYXNzaXN0YW50cycsIHtcbiAgICAgIGJvZHksXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgaGVhZGVyczogeyAnT3BlbkFJLUJldGEnOiAnYXNzaXN0YW50cz12MScsIC4uLm9wdGlvbnM/LmhlYWRlcnMgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYW4gYXNzaXN0YW50LlxuICAgKi9cbiAgcmV0cmlldmUoYXNzaXN0YW50SWQ6IHN0cmluZywgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLkFQSVByb21pc2U8QXNzaXN0YW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5nZXQoYC9hc3Npc3RhbnRzLyR7YXNzaXN0YW50SWR9YCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGhlYWRlcnM6IHsgJ09wZW5BSS1CZXRhJzogJ2Fzc2lzdGFudHM9djEnLCAuLi5vcHRpb25zPy5oZWFkZXJzIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTW9kaWZpZXMgYW4gYXNzaXN0YW50LlxuICAgKi9cbiAgdXBkYXRlKFxuICAgIGFzc2lzdGFudElkOiBzdHJpbmcsXG4gICAgYm9keTogQXNzaXN0YW50VXBkYXRlUGFyYW1zLFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBDb3JlLkFQSVByb21pc2U8QXNzaXN0YW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5wb3N0KGAvYXNzaXN0YW50cy8ke2Fzc2lzdGFudElkfWAsIHtcbiAgICAgIGJvZHksXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgaGVhZGVyczogeyAnT3BlbkFJLUJldGEnOiAnYXNzaXN0YW50cz12MScsIC4uLm9wdGlvbnM/LmhlYWRlcnMgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBhc3Npc3RhbnRzLlxuICAgKi9cbiAgbGlzdChcbiAgICBxdWVyeT86IEFzc2lzdGFudExpc3RQYXJhbXMsXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENvcmUuUGFnZVByb21pc2U8QXNzaXN0YW50c1BhZ2UsIEFzc2lzdGFudD47XG4gIGxpc3Qob3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLlBhZ2VQcm9taXNlPEFzc2lzdGFudHNQYWdlLCBBc3Npc3RhbnQ+O1xuICBsaXN0KFxuICAgIHF1ZXJ5OiBBc3Npc3RhbnRMaXN0UGFyYW1zIHwgQ29yZS5SZXF1ZXN0T3B0aW9ucyA9IHt9LFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBDb3JlLlBhZ2VQcm9taXNlPEFzc2lzdGFudHNQYWdlLCBBc3Npc3RhbnQ+IHtcbiAgICBpZiAoaXNSZXF1ZXN0T3B0aW9ucyhxdWVyeSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmxpc3Qoe30sIHF1ZXJ5KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5nZXRBUElMaXN0KCcvYXNzaXN0YW50cycsIEFzc2lzdGFudHNQYWdlLCB7XG4gICAgICBxdWVyeSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBoZWFkZXJzOiB7ICdPcGVuQUktQmV0YSc6ICdhc3Npc3RhbnRzPXYxJywgLi4ub3B0aW9ucz8uaGVhZGVycyB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhbiBhc3Npc3RhbnQuXG4gICAqL1xuICBkZWwoYXNzaXN0YW50SWQ6IHN0cmluZywgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLkFQSVByb21pc2U8QXNzaXN0YW50RGVsZXRlZD4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQuZGVsZXRlKGAvYXNzaXN0YW50cy8ke2Fzc2lzdGFudElkfWAsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBoZWFkZXJzOiB7ICdPcGVuQUktQmV0YSc6ICdhc3Npc3RhbnRzPXYxJywgLi4ub3B0aW9ucz8uaGVhZGVycyB9LFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBBc3Npc3RhbnRzUGFnZSBleHRlbmRzIEN1cnNvclBhZ2U8QXNzaXN0YW50PiB7fVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gYGFzc2lzdGFudGAgdGhhdCBjYW4gY2FsbCB0aGUgbW9kZWwgYW5kIHVzZSB0b29scy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBc3Npc3RhbnQge1xuICAvKipcbiAgICogVGhlIGlkZW50aWZpZXIsIHdoaWNoIGNhbiBiZSByZWZlcmVuY2VkIGluIEFQSSBlbmRwb2ludHMuXG4gICAqL1xuICBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgVW5peCB0aW1lc3RhbXAgKGluIHNlY29uZHMpIGZvciB3aGVuIHRoZSBhc3Npc3RhbnQgd2FzIGNyZWF0ZWQuXG4gICAqL1xuICBjcmVhdGVkX2F0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYXNzaXN0YW50LiBUaGUgbWF4aW11bSBsZW5ndGggaXMgNTEyIGNoYXJhY3RlcnMuXG4gICAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIFtmaWxlXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9hcGktcmVmZXJlbmNlL2ZpbGVzKSBJRHNcbiAgICogYXR0YWNoZWQgdG8gdGhpcyBhc3Npc3RhbnQuIFRoZXJlIGNhbiBiZSBhIG1heGltdW0gb2YgMjAgZmlsZXMgYXR0YWNoZWQgdG8gdGhlXG4gICAqIGFzc2lzdGFudC4gRmlsZXMgYXJlIG9yZGVyZWQgYnkgdGhlaXIgY3JlYXRpb24gZGF0ZSBpbiBhc2NlbmRpbmcgb3JkZXIuXG4gICAqL1xuICBmaWxlX2lkczogQXJyYXk8c3RyaW5nPjtcblxuICAvKipcbiAgICogVGhlIHN5c3RlbSBpbnN0cnVjdGlvbnMgdGhhdCB0aGUgYXNzaXN0YW50IHVzZXMuIFRoZSBtYXhpbXVtIGxlbmd0aCBpcyAzMjc2OFxuICAgKiBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgaW5zdHJ1Y3Rpb25zOiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBTZXQgb2YgMTYga2V5LXZhbHVlIHBhaXJzIHRoYXQgY2FuIGJlIGF0dGFjaGVkIHRvIGFuIG9iamVjdC4gVGhpcyBjYW4gYmUgdXNlZnVsXG4gICAqIGZvciBzdG9yaW5nIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9iamVjdCBpbiBhIHN0cnVjdHVyZWQgZm9ybWF0LiBLZXlzXG4gICAqIGNhbiBiZSBhIG1heGltdW0gb2YgNjQgY2hhcmFjdGVycyBsb25nIGFuZCB2YWx1ZXMgY2FuIGJlIGEgbWF4aXVtIG9mIDUxMlxuICAgKiBjaGFyYWN0ZXJzIGxvbmcuXG4gICAqL1xuICBtZXRhZGF0YTogdW5rbm93biB8IG51bGw7XG5cbiAgLyoqXG4gICAqIElEIG9mIHRoZSBtb2RlbCB0byB1c2UuIFlvdSBjYW4gdXNlIHRoZVxuICAgKiBbTGlzdCBtb2RlbHNdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvbW9kZWxzL2xpc3QpIEFQSSB0b1xuICAgKiBzZWUgYWxsIG9mIHlvdXIgYXZhaWxhYmxlIG1vZGVscywgb3Igc2VlIG91clxuICAgKiBbTW9kZWwgb3ZlcnZpZXddKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL21vZGVscy9vdmVydmlldykgZm9yXG4gICAqIGRlc2NyaXB0aW9ucyBvZiB0aGVtLlxuICAgKi9cbiAgbW9kZWw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGFzc2lzdGFudC4gVGhlIG1heGltdW0gbGVuZ3RoIGlzIDI1NiBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIG9iamVjdCB0eXBlLCB3aGljaCBpcyBhbHdheXMgYGFzc2lzdGFudGAuXG4gICAqL1xuICBvYmplY3Q6ICdhc3Npc3RhbnQnO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgdG9vbCBlbmFibGVkIG9uIHRoZSBhc3Npc3RhbnQuIFRoZXJlIGNhbiBiZSBhIG1heGltdW0gb2YgMTI4IHRvb2xzIHBlclxuICAgKiBhc3Npc3RhbnQuIFRvb2xzIGNhbiBiZSBvZiB0eXBlcyBgY29kZV9pbnRlcnByZXRlcmAsIGByZXRyaWV2YWxgLCBvciBgZnVuY3Rpb25gLlxuICAgKi9cbiAgdG9vbHM6IEFycmF5PEFzc2lzdGFudC5Db2RlSW50ZXJwcmV0ZXIgfCBBc3Npc3RhbnQuUmV0cmlldmFsIHwgQXNzaXN0YW50LkZ1bmN0aW9uPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBc3Npc3RhbnQge1xuICBleHBvcnQgaW50ZXJmYWNlIENvZGVJbnRlcnByZXRlciB7XG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdG9vbCBiZWluZyBkZWZpbmVkOiBgY29kZV9pbnRlcnByZXRlcmBcbiAgICAgKi9cbiAgICB0eXBlOiAnY29kZV9pbnRlcnByZXRlcic7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFJldHJpZXZhbCB7XG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdG9vbCBiZWluZyBkZWZpbmVkOiBgcmV0cmlldmFsYFxuICAgICAqL1xuICAgIHR5cGU6ICdyZXRyaWV2YWwnO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbiB7XG4gICAgZnVuY3Rpb246IFNoYXJlZC5GdW5jdGlvbkRlZmluaXRpb247XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdHlwZSBvZiB0b29sIGJlaW5nIGRlZmluZWQ6IGBmdW5jdGlvbmBcbiAgICAgKi9cbiAgICB0eXBlOiAnZnVuY3Rpb24nO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaXN0YW50RGVsZXRlZCB7XG4gIGlkOiBzdHJpbmc7XG5cbiAgZGVsZXRlZDogYm9vbGVhbjtcblxuICBvYmplY3Q6ICdhc3Npc3RhbnQuZGVsZXRlZCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQXNzaXN0YW50Q3JlYXRlUGFyYW1zIHtcbiAgLyoqXG4gICAqIElEIG9mIHRoZSBtb2RlbCB0byB1c2UuIFlvdSBjYW4gdXNlIHRoZVxuICAgKiBbTGlzdCBtb2RlbHNdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvbW9kZWxzL2xpc3QpIEFQSSB0b1xuICAgKiBzZWUgYWxsIG9mIHlvdXIgYXZhaWxhYmxlIG1vZGVscywgb3Igc2VlIG91clxuICAgKiBbTW9kZWwgb3ZlcnZpZXddKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL21vZGVscy9vdmVydmlldykgZm9yXG4gICAqIGRlc2NyaXB0aW9ucyBvZiB0aGVtLlxuICAgKi9cbiAgbW9kZWw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBhc3Npc3RhbnQuIFRoZSBtYXhpbXVtIGxlbmd0aCBpcyA1MTIgY2hhcmFjdGVycy5cbiAgICovXG4gIGRlc2NyaXB0aW9uPzogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIFtmaWxlXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9hcGktcmVmZXJlbmNlL2ZpbGVzKSBJRHNcbiAgICogYXR0YWNoZWQgdG8gdGhpcyBhc3Npc3RhbnQuIFRoZXJlIGNhbiBiZSBhIG1heGltdW0gb2YgMjAgZmlsZXMgYXR0YWNoZWQgdG8gdGhlXG4gICAqIGFzc2lzdGFudC4gRmlsZXMgYXJlIG9yZGVyZWQgYnkgdGhlaXIgY3JlYXRpb24gZGF0ZSBpbiBhc2NlbmRpbmcgb3JkZXIuXG4gICAqL1xuICBmaWxlX2lkcz86IEFycmF5PHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBzeXN0ZW0gaW5zdHJ1Y3Rpb25zIHRoYXQgdGhlIGFzc2lzdGFudCB1c2VzLiBUaGUgbWF4aW11bSBsZW5ndGggaXMgMzI3NjhcbiAgICogY2hhcmFjdGVycy5cbiAgICovXG4gIGluc3RydWN0aW9ucz86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFNldCBvZiAxNiBrZXktdmFsdWUgcGFpcnMgdGhhdCBjYW4gYmUgYXR0YWNoZWQgdG8gYW4gb2JqZWN0LiBUaGlzIGNhbiBiZSB1c2VmdWxcbiAgICogZm9yIHN0b3JpbmcgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb2JqZWN0IGluIGEgc3RydWN0dXJlZCBmb3JtYXQuIEtleXNcbiAgICogY2FuIGJlIGEgbWF4aW11bSBvZiA2NCBjaGFyYWN0ZXJzIGxvbmcgYW5kIHZhbHVlcyBjYW4gYmUgYSBtYXhpdW0gb2YgNTEyXG4gICAqIGNoYXJhY3RlcnMgbG9uZy5cbiAgICovXG4gIG1ldGFkYXRhPzogdW5rbm93biB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBhc3Npc3RhbnQuIFRoZSBtYXhpbXVtIGxlbmd0aCBpcyAyNTYgY2hhcmFjdGVycy5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgdG9vbCBlbmFibGVkIG9uIHRoZSBhc3Npc3RhbnQuIFRoZXJlIGNhbiBiZSBhIG1heGltdW0gb2YgMTI4IHRvb2xzIHBlclxuICAgKiBhc3Npc3RhbnQuIFRvb2xzIGNhbiBiZSBvZiB0eXBlcyBgY29kZV9pbnRlcnByZXRlcmAsIGByZXRyaWV2YWxgLCBvciBgZnVuY3Rpb25gLlxuICAgKi9cbiAgdG9vbHM/OiBBcnJheTxcbiAgICB8IEFzc2lzdGFudENyZWF0ZVBhcmFtcy5Bc3Npc3RhbnRUb29sc0NvZGVcbiAgICB8IEFzc2lzdGFudENyZWF0ZVBhcmFtcy5Bc3Npc3RhbnRUb29sc1JldHJpZXZhbFxuICAgIHwgQXNzaXN0YW50Q3JlYXRlUGFyYW1zLkFzc2lzdGFudFRvb2xzRnVuY3Rpb25cbiAgPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBBc3Npc3RhbnRDcmVhdGVQYXJhbXMge1xuICBleHBvcnQgaW50ZXJmYWNlIEFzc2lzdGFudFRvb2xzQ29kZSB7XG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdG9vbCBiZWluZyBkZWZpbmVkOiBgY29kZV9pbnRlcnByZXRlcmBcbiAgICAgKi9cbiAgICB0eXBlOiAnY29kZV9pbnRlcnByZXRlcic7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEFzc2lzdGFudFRvb2xzUmV0cmlldmFsIHtcbiAgICAvKipcbiAgICAgKiBUaGUgdHlwZSBvZiB0b29sIGJlaW5nIGRlZmluZWQ6IGByZXRyaWV2YWxgXG4gICAgICovXG4gICAgdHlwZTogJ3JldHJpZXZhbCc7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEFzc2lzdGFudFRvb2xzRnVuY3Rpb24ge1xuICAgIGZ1bmN0aW9uOiBTaGFyZWQuRnVuY3Rpb25EZWZpbml0aW9uO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdG9vbCBiZWluZyBkZWZpbmVkOiBgZnVuY3Rpb25gXG4gICAgICovXG4gICAgdHlwZTogJ2Z1bmN0aW9uJztcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFzc2lzdGFudFVwZGF0ZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhlIGFzc2lzdGFudC4gVGhlIG1heGltdW0gbGVuZ3RoIGlzIDUxMiBjaGFyYWN0ZXJzLlxuICAgKi9cbiAgZGVzY3JpcHRpb24/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgW0ZpbGVdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvZmlsZXMpIElEc1xuICAgKiBhdHRhY2hlZCB0byB0aGlzIGFzc2lzdGFudC4gVGhlcmUgY2FuIGJlIGEgbWF4aW11bSBvZiAyMCBmaWxlcyBhdHRhY2hlZCB0byB0aGVcbiAgICogYXNzaXN0YW50LiBGaWxlcyBhcmUgb3JkZXJlZCBieSB0aGVpciBjcmVhdGlvbiBkYXRlIGluIGFzY2VuZGluZyBvcmRlci4gSWYgYVxuICAgKiBmaWxlIHdhcyBwcmV2aW9zdWx5IGF0dGFjaGVkIHRvIHRoZSBsaXN0IGJ1dCBkb2VzIG5vdCBzaG93IHVwIGluIHRoZSBsaXN0LCBpdFxuICAgKiB3aWxsIGJlIGRlbGV0ZWQgZnJvbSB0aGUgYXNzaXN0YW50LlxuICAgKi9cbiAgZmlsZV9pZHM/OiBBcnJheTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBUaGUgc3lzdGVtIGluc3RydWN0aW9ucyB0aGF0IHRoZSBhc3Npc3RhbnQgdXNlcy4gVGhlIG1heGltdW0gbGVuZ3RoIGlzIDMyNzY4XG4gICAqIGNoYXJhY3RlcnMuXG4gICAqL1xuICBpbnN0cnVjdGlvbnM/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBTZXQgb2YgMTYga2V5LXZhbHVlIHBhaXJzIHRoYXQgY2FuIGJlIGF0dGFjaGVkIHRvIGFuIG9iamVjdC4gVGhpcyBjYW4gYmUgdXNlZnVsXG4gICAqIGZvciBzdG9yaW5nIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9iamVjdCBpbiBhIHN0cnVjdHVyZWQgZm9ybWF0LiBLZXlzXG4gICAqIGNhbiBiZSBhIG1heGltdW0gb2YgNjQgY2hhcmFjdGVycyBsb25nIGFuZCB2YWx1ZXMgY2FuIGJlIGEgbWF4aXVtIG9mIDUxMlxuICAgKiBjaGFyYWN0ZXJzIGxvbmcuXG4gICAqL1xuICBtZXRhZGF0YT86IHVua25vd24gfCBudWxsO1xuXG4gIC8qKlxuICAgKiBJRCBvZiB0aGUgbW9kZWwgdG8gdXNlLiBZb3UgY2FuIHVzZSB0aGVcbiAgICogW0xpc3QgbW9kZWxzXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9hcGktcmVmZXJlbmNlL21vZGVscy9saXN0KSBBUEkgdG9cbiAgICogc2VlIGFsbCBvZiB5b3VyIGF2YWlsYWJsZSBtb2RlbHMsIG9yIHNlZSBvdXJcbiAgICogW01vZGVsIG92ZXJ2aWV3XShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9tb2RlbHMvb3ZlcnZpZXcpIGZvclxuICAgKiBkZXNjcmlwdGlvbnMgb2YgdGhlbS5cbiAgICovXG4gIG1vZGVsPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgYXNzaXN0YW50LiBUaGUgbWF4aW11bSBsZW5ndGggaXMgMjU2IGNoYXJhY3RlcnMuXG4gICAqL1xuICBuYW1lPzogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIHRvb2wgZW5hYmxlZCBvbiB0aGUgYXNzaXN0YW50LiBUaGVyZSBjYW4gYmUgYSBtYXhpbXVtIG9mIDEyOCB0b29scyBwZXJcbiAgICogYXNzaXN0YW50LiBUb29scyBjYW4gYmUgb2YgdHlwZXMgYGNvZGVfaW50ZXJwcmV0ZXJgLCBgcmV0cmlldmFsYCwgb3IgYGZ1bmN0aW9uYC5cbiAgICovXG4gIHRvb2xzPzogQXJyYXk8XG4gICAgfCBBc3Npc3RhbnRVcGRhdGVQYXJhbXMuQXNzaXN0YW50VG9vbHNDb2RlXG4gICAgfCBBc3Npc3RhbnRVcGRhdGVQYXJhbXMuQXNzaXN0YW50VG9vbHNSZXRyaWV2YWxcbiAgICB8IEFzc2lzdGFudFVwZGF0ZVBhcmFtcy5Bc3Npc3RhbnRUb29sc0Z1bmN0aW9uXG4gID47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQXNzaXN0YW50VXBkYXRlUGFyYW1zIHtcbiAgZXhwb3J0IGludGVyZmFjZSBBc3Npc3RhbnRUb29sc0NvZGUge1xuICAgIC8qKlxuICAgICAqIFRoZSB0eXBlIG9mIHRvb2wgYmVpbmcgZGVmaW5lZDogYGNvZGVfaW50ZXJwcmV0ZXJgXG4gICAgICovXG4gICAgdHlwZTogJ2NvZGVfaW50ZXJwcmV0ZXInO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBBc3Npc3RhbnRUb29sc1JldHJpZXZhbCB7XG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdG9vbCBiZWluZyBkZWZpbmVkOiBgcmV0cmlldmFsYFxuICAgICAqL1xuICAgIHR5cGU6ICdyZXRyaWV2YWwnO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBBc3Npc3RhbnRUb29sc0Z1bmN0aW9uIHtcbiAgICBmdW5jdGlvbjogU2hhcmVkLkZ1bmN0aW9uRGVmaW5pdGlvbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSB0eXBlIG9mIHRvb2wgYmVpbmcgZGVmaW5lZDogYGZ1bmN0aW9uYFxuICAgICAqL1xuICAgIHR5cGU6ICdmdW5jdGlvbic7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBBc3Npc3RhbnRMaXN0UGFyYW1zIGV4dGVuZHMgQ3Vyc29yUGFnZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBBIGN1cnNvciBmb3IgdXNlIGluIHBhZ2luYXRpb24uIGBiZWZvcmVgIGlzIGFuIG9iamVjdCBJRCB0aGF0IGRlZmluZXMgeW91ciBwbGFjZVxuICAgKiBpbiB0aGUgbGlzdC4gRm9yIGluc3RhbmNlLCBpZiB5b3UgbWFrZSBhIGxpc3QgcmVxdWVzdCBhbmQgcmVjZWl2ZSAxMDAgb2JqZWN0cyxcbiAgICogZW5kaW5nIHdpdGggb2JqX2ZvbywgeW91ciBzdWJzZXF1ZW50IGNhbGwgY2FuIGluY2x1ZGUgYmVmb3JlPW9ial9mb28gaW4gb3JkZXIgdG9cbiAgICogZmV0Y2ggdGhlIHByZXZpb3VzIHBhZ2Ugb2YgdGhlIGxpc3QuXG4gICAqL1xuICBiZWZvcmU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFNvcnQgb3JkZXIgYnkgdGhlIGBjcmVhdGVkX2F0YCB0aW1lc3RhbXAgb2YgdGhlIG9iamVjdHMuIGBhc2NgIGZvciBhc2NlbmRpbmdcbiAgICogb3JkZXIgYW5kIGBkZXNjYCBmb3IgZGVzY2VuZGluZyBvcmRlci5cbiAgICovXG4gIG9yZGVyPzogJ2FzYycgfCAnZGVzYyc7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQXNzaXN0YW50cyB7XG4gIGV4cG9ydCBpbXBvcnQgQXNzaXN0YW50ID0gQXNzaXN0YW50c0FQSS5Bc3Npc3RhbnQ7XG4gIGV4cG9ydCBpbXBvcnQgQXNzaXN0YW50RGVsZXRlZCA9IEFzc2lzdGFudHNBUEkuQXNzaXN0YW50RGVsZXRlZDtcbiAgZXhwb3J0IGltcG9ydCBBc3Npc3RhbnRzUGFnZSA9IEFzc2lzdGFudHNBUEkuQXNzaXN0YW50c1BhZ2U7XG4gIGV4cG9ydCBpbXBvcnQgQXNzaXN0YW50Q3JlYXRlUGFyYW1zID0gQXNzaXN0YW50c0FQSS5Bc3Npc3RhbnRDcmVhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgQXNzaXN0YW50VXBkYXRlUGFyYW1zID0gQXNzaXN0YW50c0FQSS5Bc3Npc3RhbnRVcGRhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgQXNzaXN0YW50TGlzdFBhcmFtcyA9IEFzc2lzdGFudHNBUEkuQXNzaXN0YW50TGlzdFBhcmFtcztcbiAgZXhwb3J0IGltcG9ydCBGaWxlcyA9IEZpbGVzQVBJLkZpbGVzO1xuICBleHBvcnQgaW1wb3J0IEFzc2lzdGFudEZpbGUgPSBGaWxlc0FQSS5Bc3Npc3RhbnRGaWxlO1xuICBleHBvcnQgaW1wb3J0IEZpbGVEZWxldGVSZXNwb25zZSA9IEZpbGVzQVBJLkZpbGVEZWxldGVSZXNwb25zZTtcbiAgZXhwb3J0IGltcG9ydCBBc3Npc3RhbnRGaWxlc1BhZ2UgPSBGaWxlc0FQSS5Bc3Npc3RhbnRGaWxlc1BhZ2U7XG4gIGV4cG9ydCBpbXBvcnQgRmlsZUNyZWF0ZVBhcmFtcyA9IEZpbGVzQVBJLkZpbGVDcmVhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgRmlsZUxpc3RQYXJhbXMgPSBGaWxlc0FQSS5GaWxlTGlzdFBhcmFtcztcbn1cbiIsICJpbXBvcnQgeyB0eXBlIENoYXRDb21wbGV0aW9uUnVubmVyIH0gZnJvbSAnLi9DaGF0Q29tcGxldGlvblJ1bm5lcic7XG5pbXBvcnQgeyB0eXBlIENoYXRDb21wbGV0aW9uU3RyZWFtaW5nUnVubmVyIH0gZnJvbSAnLi9DaGF0Q29tcGxldGlvblN0cmVhbWluZ1J1bm5lcic7XG5pbXBvcnQgeyBKU09OU2NoZW1hIH0gZnJvbSAnLi9qc29uc2NoZW1hJztcblxudHlwZSBQcm9taXNlT3JWYWx1ZTxUPiA9IFQgfCBQcm9taXNlPFQ+O1xuXG5leHBvcnQgdHlwZSBSdW5uYWJsZUZ1bmN0aW9uV2l0aFBhcnNlPEFyZ3MgZXh0ZW5kcyBvYmplY3Q+ID0ge1xuICAvKipcbiAgICogQHBhcmFtIGFyZ3MgdGhlIHJldHVybiB2YWx1ZSBmcm9tIGBwYXJzZWAuXG4gICAqIEBwYXJhbSBydW5uZXIgdGhlIHJ1bm5lciBldmFsdWF0aW5nIHRoaXMgY2FsbGJhY2suXG4gICAqIEByZXR1cm5zIGEgc3RyaW5nIHRvIHNlbmQgYmFjayB0byBPcGVuQUkuXG4gICAqL1xuICBmdW5jdGlvbjogKFxuICAgIGFyZ3M6IEFyZ3MsXG4gICAgcnVubmVyOiBDaGF0Q29tcGxldGlvblJ1bm5lciB8IENoYXRDb21wbGV0aW9uU3RyZWFtaW5nUnVubmVyLFxuICApID0+IFByb21pc2VPclZhbHVlPHVua25vd24+O1xuICAvKipcbiAgICogQHBhcmFtIGlucHV0IHRoZSByYXcgYXJncyBmcm9tIHRoZSBPcGVuQUkgZnVuY3Rpb24gY2FsbC5cbiAgICogQHJldHVybnMgdGhlIHBhcnNlZCBhcmd1bWVudHMgdG8gcGFzcyB0byBgZnVuY3Rpb25gXG4gICAqL1xuICBwYXJzZTogKGlucHV0OiBzdHJpbmcpID0+IFByb21pc2VPclZhbHVlPEFyZ3M+O1xuICAvKipcbiAgICogVGhlIHBhcmFtZXRlcnMgdGhlIGZ1bmN0aW9uIGFjY2VwdHMsIGRlc2NyaWJlcyBhcyBhIEpTT04gU2NoZW1hIG9iamVjdC5cbiAgICovXG4gIHBhcmFtZXRlcnM6IEpTT05TY2hlbWE7XG4gIC8qKlxuICAgKiBBIGRlc2NyaXB0aW9uIG9mIHdoYXQgdGhlIGZ1bmN0aW9uIGRvZXMsIHVzZWQgYnkgdGhlIG1vZGVsIHRvIGNob29zZSB3aGVuIGFuZCBob3cgdG8gY2FsbCB0aGUgZnVuY3Rpb24uXG4gICAqL1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZC4gV2lsbCBkZWZhdWx0IHRvIGZ1bmN0aW9uLm5hbWUgaWYgb21pdHRlZC5cbiAgICovXG4gIG5hbWU/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgdHlwZSBSdW5uYWJsZUZ1bmN0aW9uV2l0aG91dFBhcnNlID0ge1xuICAvKipcbiAgICogQHBhcmFtIGFyZ3MgdGhlIHJhdyBhcmdzIGZyb20gdGhlIE9wZW5BSSBmdW5jdGlvbiBjYWxsLlxuICAgKiBAcmV0dXJucyBhIHN0cmluZyB0byBzZW5kIGJhY2sgdG8gT3BlbkFJXG4gICAqL1xuICBmdW5jdGlvbjogKFxuICAgIGFyZ3M6IHN0cmluZyxcbiAgICBydW5uZXI6IENoYXRDb21wbGV0aW9uUnVubmVyIHwgQ2hhdENvbXBsZXRpb25TdHJlYW1pbmdSdW5uZXIsXG4gICkgPT4gUHJvbWlzZU9yVmFsdWU8dW5rbm93bj47XG4gIC8qKlxuICAgKiBUaGUgcGFyYW1ldGVycyB0aGUgZnVuY3Rpb24gYWNjZXB0cywgZGVzY3JpYmVzIGFzIGEgSlNPTiBTY2hlbWEgb2JqZWN0LlxuICAgKi9cbiAgcGFyYW1ldGVyczogSlNPTlNjaGVtYTtcbiAgLyoqXG4gICAqIEEgZGVzY3JpcHRpb24gb2Ygd2hhdCB0aGUgZnVuY3Rpb24gZG9lcywgdXNlZCBieSB0aGUgbW9kZWwgdG8gY2hvb3NlIHdoZW4gYW5kIGhvdyB0byBjYWxsIHRoZSBmdW5jdGlvbi5cbiAgICovXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdG8gYmUgY2FsbGVkLiBXaWxsIGRlZmF1bHQgdG8gZnVuY3Rpb24ubmFtZSBpZiBvbWl0dGVkLlxuICAgKi9cbiAgbmFtZT86IHN0cmluZyB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIFJ1bm5hYmxlRnVuY3Rpb248QXJncyBleHRlbmRzIG9iamVjdCB8IHN0cmluZz4gPVxuICBBcmdzIGV4dGVuZHMgc3RyaW5nID8gUnVubmFibGVGdW5jdGlvbldpdGhvdXRQYXJzZVxuICA6IEFyZ3MgZXh0ZW5kcyBvYmplY3QgPyBSdW5uYWJsZUZ1bmN0aW9uV2l0aFBhcnNlPEFyZ3M+XG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIFJ1bm5hYmxlVG9vbEZ1bmN0aW9uPEFyZ3MgZXh0ZW5kcyBvYmplY3QgfCBzdHJpbmc+ID1cbiAgQXJncyBleHRlbmRzIHN0cmluZyA/IFJ1bm5hYmxlVG9vbEZ1bmN0aW9uV2l0aG91dFBhcnNlXG4gIDogQXJncyBleHRlbmRzIG9iamVjdCA/IFJ1bm5hYmxlVG9vbEZ1bmN0aW9uV2l0aFBhcnNlPEFyZ3M+XG4gIDogbmV2ZXI7XG5cbmV4cG9ydCB0eXBlIFJ1bm5hYmxlVG9vbEZ1bmN0aW9uV2l0aG91dFBhcnNlID0ge1xuICB0eXBlOiAnZnVuY3Rpb24nO1xuICBmdW5jdGlvbjogUnVubmFibGVGdW5jdGlvbldpdGhvdXRQYXJzZTtcbn07XG5leHBvcnQgdHlwZSBSdW5uYWJsZVRvb2xGdW5jdGlvbldpdGhQYXJzZTxBcmdzIGV4dGVuZHMgb2JqZWN0PiA9IHtcbiAgdHlwZTogJ2Z1bmN0aW9uJztcbiAgZnVuY3Rpb246IFJ1bm5hYmxlRnVuY3Rpb25XaXRoUGFyc2U8QXJncz47XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNSdW5uYWJsZUZ1bmN0aW9uV2l0aFBhcnNlPEFyZ3MgZXh0ZW5kcyBvYmplY3Q+KFxuICBmbjogYW55LFxuKTogZm4gaXMgUnVubmFibGVGdW5jdGlvbldpdGhQYXJzZTxBcmdzPiB7XG4gIHJldHVybiB0eXBlb2YgKGZuIGFzIGFueSkucGFyc2UgPT09ICdmdW5jdGlvbic7XG59XG5cbmV4cG9ydCB0eXBlIEJhc2VGdW5jdGlvbnNBcmdzID0gcmVhZG9ubHkgKG9iamVjdCB8IHN0cmluZylbXTtcblxuZXhwb3J0IHR5cGUgUnVubmFibGVGdW5jdGlvbnM8RnVuY3Rpb25zQXJncyBleHRlbmRzIEJhc2VGdW5jdGlvbnNBcmdzPiA9XG4gIFthbnlbXV0gZXh0ZW5kcyBbRnVuY3Rpb25zQXJnc10gPyByZWFkb25seSBSdW5uYWJsZUZ1bmN0aW9uPGFueT5bXVxuICA6IHtcbiAgICAgIFtJbmRleCBpbiBrZXlvZiBGdW5jdGlvbnNBcmdzXTogSW5kZXggZXh0ZW5kcyBudW1iZXIgPyBSdW5uYWJsZUZ1bmN0aW9uPEZ1bmN0aW9uc0FyZ3NbSW5kZXhdPlxuICAgICAgOiBGdW5jdGlvbnNBcmdzW0luZGV4XTtcbiAgICB9O1xuXG5leHBvcnQgdHlwZSBSdW5uYWJsZVRvb2xzPEZ1bmN0aW9uc0FyZ3MgZXh0ZW5kcyBCYXNlRnVuY3Rpb25zQXJncz4gPVxuICBbYW55W11dIGV4dGVuZHMgW0Z1bmN0aW9uc0FyZ3NdID8gcmVhZG9ubHkgUnVubmFibGVUb29sRnVuY3Rpb248YW55PltdXG4gIDoge1xuICAgICAgW0luZGV4IGluIGtleW9mIEZ1bmN0aW9uc0FyZ3NdOiBJbmRleCBleHRlbmRzIG51bWJlciA/IFJ1bm5hYmxlVG9vbEZ1bmN0aW9uPEZ1bmN0aW9uc0FyZ3NbSW5kZXhdPlxuICAgICAgOiBGdW5jdGlvbnNBcmdzW0luZGV4XTtcbiAgICB9O1xuXG4vKipcbiAqIFRoaXMgaXMgaGVscGVyIGNsYXNzIGZvciBwYXNzaW5nIGEgYGZ1bmN0aW9uYCBhbmQgYHBhcnNlYCB3aGVyZSB0aGUgYGZ1bmN0aW9uYFxuICogYXJndW1lbnQgdHlwZSBtYXRjaGVzIHRoZSBgcGFyc2VgIHJldHVybiB0eXBlLlxuICpcbiAqIEBkZXByZWNhdGVkIC0gcGxlYXNlIHVzZSBQYXJzaW5nVG9vbEZ1bmN0aW9uIGluc3RlYWQuXG4gKi9cbmV4cG9ydCBjbGFzcyBQYXJzaW5nRnVuY3Rpb248QXJncyBleHRlbmRzIG9iamVjdD4ge1xuICBmdW5jdGlvbjogUnVubmFibGVGdW5jdGlvbldpdGhQYXJzZTxBcmdzPlsnZnVuY3Rpb24nXTtcbiAgcGFyc2U6IFJ1bm5hYmxlRnVuY3Rpb25XaXRoUGFyc2U8QXJncz5bJ3BhcnNlJ107XG4gIHBhcmFtZXRlcnM6IFJ1bm5hYmxlRnVuY3Rpb25XaXRoUGFyc2U8QXJncz5bJ3BhcmFtZXRlcnMnXTtcbiAgZGVzY3JpcHRpb246IFJ1bm5hYmxlRnVuY3Rpb25XaXRoUGFyc2U8QXJncz5bJ2Rlc2NyaXB0aW9uJ107XG4gIG5hbWU/OiBSdW5uYWJsZUZ1bmN0aW9uV2l0aFBhcnNlPEFyZ3M+WyduYW1lJ107XG5cbiAgY29uc3RydWN0b3IoaW5wdXQ6IFJ1bm5hYmxlRnVuY3Rpb25XaXRoUGFyc2U8QXJncz4pIHtcbiAgICB0aGlzLmZ1bmN0aW9uID0gaW5wdXQuZnVuY3Rpb247XG4gICAgdGhpcy5wYXJzZSA9IGlucHV0LnBhcnNlO1xuICAgIHRoaXMucGFyYW1ldGVycyA9IGlucHV0LnBhcmFtZXRlcnM7XG4gICAgdGhpcy5kZXNjcmlwdGlvbiA9IGlucHV0LmRlc2NyaXB0aW9uO1xuICAgIHRoaXMubmFtZSA9IGlucHV0Lm5hbWU7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGlzIGlzIGhlbHBlciBjbGFzcyBmb3IgcGFzc2luZyBhIGBmdW5jdGlvbmAgYW5kIGBwYXJzZWAgd2hlcmUgdGhlIGBmdW5jdGlvbmBcbiAqIGFyZ3VtZW50IHR5cGUgbWF0Y2hlcyB0aGUgYHBhcnNlYCByZXR1cm4gdHlwZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFBhcnNpbmdUb29sRnVuY3Rpb248QXJncyBleHRlbmRzIG9iamVjdD4ge1xuICB0eXBlOiAnZnVuY3Rpb24nO1xuICBmdW5jdGlvbjogUnVubmFibGVGdW5jdGlvbldpdGhQYXJzZTxBcmdzPjtcblxuICBjb25zdHJ1Y3RvcihpbnB1dDogUnVubmFibGVGdW5jdGlvbldpdGhQYXJzZTxBcmdzPikge1xuICAgIHRoaXMudHlwZSA9ICdmdW5jdGlvbic7XG4gICAgdGhpcy5mdW5jdGlvbiA9IGlucHV0O1xuICB9XG59XG4iLCAiaW1wb3J0IHtcbiAgdHlwZSBDaGF0Q29tcGxldGlvbkFzc2lzdGFudE1lc3NhZ2VQYXJhbSxcbiAgdHlwZSBDaGF0Q29tcGxldGlvbkZ1bmN0aW9uTWVzc2FnZVBhcmFtLFxuICB0eXBlIENoYXRDb21wbGV0aW9uTWVzc2FnZVBhcmFtLFxuICB0eXBlIENoYXRDb21wbGV0aW9uVG9vbE1lc3NhZ2VQYXJhbSxcbn0gZnJvbSBcIi4uL3Jlc291cmNlc1wiO1xuXG5leHBvcnQgY29uc3QgaXNBc3Npc3RhbnRNZXNzYWdlID0gKFxuICBtZXNzYWdlOiBDaGF0Q29tcGxldGlvbk1lc3NhZ2VQYXJhbSB8IG51bGwgfCB1bmRlZmluZWQsXG4pOiBtZXNzYWdlIGlzIENoYXRDb21wbGV0aW9uQXNzaXN0YW50TWVzc2FnZVBhcmFtID0+IHtcbiAgcmV0dXJuIG1lc3NhZ2U/LnJvbGUgPT09ICdhc3Npc3RhbnQnO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzRnVuY3Rpb25NZXNzYWdlID0gKFxuICBtZXNzYWdlOiBDaGF0Q29tcGxldGlvbk1lc3NhZ2VQYXJhbSB8IG51bGwgfCB1bmRlZmluZWQsXG4pOiBtZXNzYWdlIGlzIENoYXRDb21wbGV0aW9uRnVuY3Rpb25NZXNzYWdlUGFyYW0gPT4ge1xuICByZXR1cm4gbWVzc2FnZT8ucm9sZSA9PT0gJ2Z1bmN0aW9uJztcbn07XG5cbmV4cG9ydCBjb25zdCBpc1Rvb2xNZXNzYWdlID0gKFxuICBtZXNzYWdlOiBDaGF0Q29tcGxldGlvbk1lc3NhZ2VQYXJhbSB8IG51bGwgfCB1bmRlZmluZWQsXG4pOiBtZXNzYWdlIGlzIENoYXRDb21wbGV0aW9uVG9vbE1lc3NhZ2VQYXJhbSA9PiB7XG4gIHJldHVybiBtZXNzYWdlPy5yb2xlID09PSAndG9vbCc7XG59O1xuXG5leHBvcnQgZnVuY3Rpb24gaXNQcmVzZW50PFQ+KG9iajogVCB8IG51bGwgfCB1bmRlZmluZWQpOiBvYmogaXMgVCB7XG4gIHJldHVybiBvYmogIT0gbnVsbDtcbn1cbiIsICJpbXBvcnQgKiBhcyBDb3JlIGZyb20gXCIuLi9jb3JlXCI7XG5pbXBvcnQgeyB0eXBlIENvbXBsZXRpb25Vc2FnZSB9IGZyb20gXCIuLi9yZXNvdXJjZXMvY29tcGxldGlvbnNcIjtcbmltcG9ydCB7XG4gIHR5cGUgQ29tcGxldGlvbnMsXG4gIHR5cGUgQ2hhdENvbXBsZXRpb24sXG4gIHR5cGUgQ2hhdENvbXBsZXRpb25NZXNzYWdlLFxuICB0eXBlIENoYXRDb21wbGV0aW9uTWVzc2FnZVBhcmFtLFxuICB0eXBlIENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zLFxuICB0eXBlIENoYXRDb21wbGV0aW9uVG9vbCxcbn0gZnJvbSBcIi4uL3Jlc291cmNlcy9jaGF0L2NvbXBsZXRpb25zXCI7XG5pbXBvcnQgeyBBUElVc2VyQWJvcnRFcnJvciwgT3BlbkFJRXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JcIjtcbmltcG9ydCB7XG4gIHR5cGUgUnVubmFibGVGdW5jdGlvbixcbiAgaXNSdW5uYWJsZUZ1bmN0aW9uV2l0aFBhcnNlLFxuICB0eXBlIEJhc2VGdW5jdGlvbnNBcmdzLFxufSBmcm9tICcuL1J1bm5hYmxlRnVuY3Rpb24nO1xuaW1wb3J0IHsgQ2hhdENvbXBsZXRpb25GdW5jdGlvblJ1bm5lclBhcmFtcywgQ2hhdENvbXBsZXRpb25Ub29sUnVubmVyUGFyYW1zIH0gZnJvbSAnLi9DaGF0Q29tcGxldGlvblJ1bm5lcic7XG5pbXBvcnQge1xuICBDaGF0Q29tcGxldGlvblN0cmVhbWluZ0Z1bmN0aW9uUnVubmVyUGFyYW1zLFxuICBDaGF0Q29tcGxldGlvblN0cmVhbWluZ1Rvb2xSdW5uZXJQYXJhbXMsXG59IGZyb20gJy4vQ2hhdENvbXBsZXRpb25TdHJlYW1pbmdSdW5uZXInO1xuaW1wb3J0IHsgaXNBc3Npc3RhbnRNZXNzYWdlLCBpc0Z1bmN0aW9uTWVzc2FnZSwgaXNUb29sTWVzc2FnZSB9IGZyb20gJy4vY2hhdENvbXBsZXRpb25VdGlscyc7XG5cbmNvbnN0IERFRkFVTFRfTUFYX0NIQVRfQ09NUExFVElPTlMgPSAxMDtcbmV4cG9ydCBpbnRlcmZhY2UgUnVubmVyT3B0aW9ucyBleHRlbmRzIENvcmUuUmVxdWVzdE9wdGlvbnMge1xuICAvKiogSG93IG1hbnkgcmVxdWVzdHMgdG8gbWFrZSBiZWZvcmUgY2FuY2VsaW5nLiBEZWZhdWx0IDEwLiAqL1xuICBtYXhDaGF0Q29tcGxldGlvbnM/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdENoYXRDb21wbGV0aW9uUnVubmVyPFxuICBFdmVudHMgZXh0ZW5kcyBDdXN0b21FdmVudHM8YW55PiA9IEFic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXJFdmVudHMsXG4+IHtcbiAgY29udHJvbGxlcjogQWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuXG4gICNjb25uZWN0ZWRQcm9taXNlOiBQcm9taXNlPHZvaWQ+O1xuICAjcmVzb2x2ZUNvbm5lY3RlZFByb21pc2U6ICgpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgI3JlamVjdENvbm5lY3RlZFByb21pc2U6IChlcnJvcjogT3BlbkFJRXJyb3IpID0+IHZvaWQgPSAoKSA9PiB7fTtcblxuICAjZW5kUHJvbWlzZTogUHJvbWlzZTx2b2lkPjtcbiAgI3Jlc29sdmVFbmRQcm9taXNlOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG4gICNyZWplY3RFbmRQcm9taXNlOiAoZXJyb3I6IE9wZW5BSUVycm9yKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgI2xpc3RlbmVyczogeyBbRXZlbnQgaW4ga2V5b2YgRXZlbnRzXT86IExpc3RlbmVyc0ZvckV2ZW50PEV2ZW50cywgRXZlbnQ+IH0gPSB7fTtcblxuICBwcm90ZWN0ZWQgX2NoYXRDb21wbGV0aW9uczogQ2hhdENvbXBsZXRpb25bXSA9IFtdO1xuICBtZXNzYWdlczogQ2hhdENvbXBsZXRpb25NZXNzYWdlUGFyYW1bXSA9IFtdO1xuXG4gICNlbmRlZCA9IGZhbHNlO1xuICAjZXJyb3JlZCA9IGZhbHNlO1xuICAjYWJvcnRlZCA9IGZhbHNlO1xuICAjY2F0Y2hpbmdQcm9taXNlQ3JlYXRlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuI2Nvbm5lY3RlZFByb21pc2UgPSBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0aGlzLiNyZXNvbHZlQ29ubmVjdGVkUHJvbWlzZSA9IHJlc29sdmU7XG4gICAgICB0aGlzLiNyZWplY3RDb25uZWN0ZWRQcm9taXNlID0gcmVqZWN0O1xuICAgIH0pO1xuXG4gICAgdGhpcy4jZW5kUHJvbWlzZSA9IG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRoaXMuI3Jlc29sdmVFbmRQcm9taXNlID0gcmVzb2x2ZTtcbiAgICAgIHRoaXMuI3JlamVjdEVuZFByb21pc2UgPSByZWplY3Q7XG4gICAgfSk7XG5cbiAgICAvLyBEb24ndCBsZXQgdGhlc2UgcHJvbWlzZXMgY2F1c2UgdW5oYW5kbGVkIHJlamVjdGlvbiBlcnJvcnMuXG4gICAgLy8gd2Ugd2lsbCBtYW51YWxseSBjYXVzZSBhbiB1bmhhbmRsZWQgcmVqZWN0aW9uIGVycm9yIGxhdGVyXG4gICAgLy8gaWYgdGhlIHVzZXIgaGFzbid0IHJlZ2lzdGVyZWQgYW55IGVycm9yIGxpc3RlbmVyIG9yIGNhbGxlZFxuICAgIC8vIGFueSBwcm9taXNlLXJldHVybmluZyBtZXRob2QuXG4gICAgdGhpcy4jY29ubmVjdGVkUHJvbWlzZS5jYXRjaCgoKSA9PiB7fSk7XG4gICAgdGhpcy4jZW5kUHJvbWlzZS5jYXRjaCgoKSA9PiB7fSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX3J1bihleGVjdXRvcjogKCkgPT4gUHJvbWlzZTxhbnk+KSB7XG4gICAgLy8gVW5mb3J0dW5hdGVseSBpZiB3ZSBjYWxsIGBleGVjdXRvcigpYCBpbW1lZGlhdGVseSB3ZSBnZXQgcnVudGltZSBlcnJvcnMgYWJvdXRcbiAgICAvLyByZWZlcmVuY2VzIHRvIGB0aGlzYCBiZWZvcmUgdGhlIGBzdXBlcigpYCBjb25zdHJ1Y3RvciBjYWxsIHJldHVybnMuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBleGVjdXRvcigpLnRoZW4oKCkgPT4ge1xuICAgICAgICB0aGlzLl9lbWl0RmluYWwoKTtcbiAgICAgICAgdGhpcy5fZW1pdCgnZW5kJyk7XG4gICAgICB9LCB0aGlzLiNoYW5kbGVFcnJvcik7XG4gICAgfSwgMCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgX2FkZENoYXRDb21wbGV0aW9uKGNoYXRDb21wbGV0aW9uOiBDaGF0Q29tcGxldGlvbik6IENoYXRDb21wbGV0aW9uIHtcbiAgICB0aGlzLl9jaGF0Q29tcGxldGlvbnMucHVzaChjaGF0Q29tcGxldGlvbik7XG4gICAgdGhpcy5fZW1pdCgnY2hhdENvbXBsZXRpb24nLCBjaGF0Q29tcGxldGlvbik7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNoYXRDb21wbGV0aW9uLmNob2ljZXNbMF0/Lm1lc3NhZ2U7XG4gICAgaWYgKG1lc3NhZ2UpIHRoaXMuX2FkZE1lc3NhZ2UobWVzc2FnZSBhcyBDaGF0Q29tcGxldGlvbk1lc3NhZ2VQYXJhbSk7XG4gICAgcmV0dXJuIGNoYXRDb21wbGV0aW9uO1xuICB9XG5cbiAgcHJvdGVjdGVkIF9hZGRNZXNzYWdlKG1lc3NhZ2U6IENoYXRDb21wbGV0aW9uTWVzc2FnZVBhcmFtLCBlbWl0ID0gdHJ1ZSkge1xuICAgIGlmICghKCdjb250ZW50JyBpbiBtZXNzYWdlKSkgbWVzc2FnZS5jb250ZW50ID0gbnVsbDtcblxuICAgIHRoaXMubWVzc2FnZXMucHVzaChtZXNzYWdlKTtcblxuICAgIGlmIChlbWl0KSB7XG4gICAgICB0aGlzLl9lbWl0KCdtZXNzYWdlJywgbWVzc2FnZSk7XG4gICAgICBpZiAoKGlzRnVuY3Rpb25NZXNzYWdlKG1lc3NhZ2UpIHx8IGlzVG9vbE1lc3NhZ2UobWVzc2FnZSkpICYmIG1lc3NhZ2UuY29udGVudCkge1xuICAgICAgICAvLyBOb3RlLCB0aGlzIGFzc3VtZXMgdGhhdCB7cm9sZTogJ3Rvb2wnLCBjb250ZW50OiBcdTIwMjZ9IGlzIGFsd2F5cyB0aGUgcmVzdWx0IG9mIGEgY2FsbCBvZiB0b29sIG9mIHR5cGU9ZnVuY3Rpb24uXG4gICAgICAgIHRoaXMuX2VtaXQoJ2Z1bmN0aW9uQ2FsbFJlc3VsdCcsIG1lc3NhZ2UuY29udGVudCBhcyBzdHJpbmcpO1xuICAgICAgfSBlbHNlIGlmIChpc0Fzc2lzdGFudE1lc3NhZ2UobWVzc2FnZSkgJiYgbWVzc2FnZS5mdW5jdGlvbl9jYWxsKSB7XG4gICAgICAgIHRoaXMuX2VtaXQoJ2Z1bmN0aW9uQ2FsbCcsIG1lc3NhZ2UuZnVuY3Rpb25fY2FsbCk7XG4gICAgICB9IGVsc2UgaWYgKGlzQXNzaXN0YW50TWVzc2FnZShtZXNzYWdlKSAmJiBtZXNzYWdlLnRvb2xfY2FsbHMpIHtcbiAgICAgICAgZm9yIChjb25zdCB0b29sX2NhbGwgb2YgbWVzc2FnZS50b29sX2NhbGxzKSB7XG4gICAgICAgICAgaWYgKHRvb2xfY2FsbC50eXBlID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgICB0aGlzLl9lbWl0KCdmdW5jdGlvbkNhbGwnLCB0b29sX2NhbGwuZnVuY3Rpb24pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBfY29ubmVjdGVkKCkge1xuICAgIGlmICh0aGlzLmVuZGVkKSByZXR1cm47XG4gICAgdGhpcy4jcmVzb2x2ZUNvbm5lY3RlZFByb21pc2UoKTtcbiAgICB0aGlzLl9lbWl0KCdjb25uZWN0Jyk7XG4gIH1cblxuICBnZXQgZW5kZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2VuZGVkO1xuICB9XG5cbiAgZ2V0IGVycm9yZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuI2Vycm9yZWQ7XG4gIH1cblxuICBnZXQgYWJvcnRlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy4jYWJvcnRlZDtcbiAgfVxuXG4gIGFib3J0KCkge1xuICAgIHRoaXMuY29udHJvbGxlci5hYm9ydCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgdGhlIGxpc3RlbmVyIGZ1bmN0aW9uIHRvIHRoZSBlbmQgb2YgdGhlIGxpc3RlbmVycyBhcnJheSBmb3IgdGhlIGV2ZW50LlxuICAgKiBObyBjaGVja3MgYXJlIG1hZGUgdG8gc2VlIGlmIHRoZSBsaXN0ZW5lciBoYXMgYWxyZWFkeSBiZWVuIGFkZGVkLiBNdWx0aXBsZSBjYWxscyBwYXNzaW5nXG4gICAqIHRoZSBzYW1lIGNvbWJpbmF0aW9uIG9mIGV2ZW50IGFuZCBsaXN0ZW5lciB3aWxsIHJlc3VsdCBpbiB0aGUgbGlzdGVuZXIgYmVpbmcgYWRkZWQsIGFuZFxuICAgKiBjYWxsZWQsIG11bHRpcGxlIHRpbWVzLlxuICAgKiBAcmV0dXJucyB0aGlzIENoYXRDb21wbGV0aW9uU3RyZWFtLCBzbyB0aGF0IGNhbGxzIGNhbiBiZSBjaGFpbmVkXG4gICAqL1xuICBvbjxFdmVudCBleHRlbmRzIGtleW9mIEV2ZW50cz4oZXZlbnQ6IEV2ZW50LCBsaXN0ZW5lcjogTGlzdGVuZXJGb3JFdmVudDxFdmVudHMsIEV2ZW50Pik6IHRoaXMge1xuICAgIGNvbnN0IGxpc3RlbmVyczogTGlzdGVuZXJzRm9yRXZlbnQ8RXZlbnRzLCBFdmVudD4gPVxuICAgICAgdGhpcy4jbGlzdGVuZXJzW2V2ZW50XSB8fCAodGhpcy4jbGlzdGVuZXJzW2V2ZW50XSA9IFtdKTtcbiAgICBsaXN0ZW5lcnMucHVzaCh7IGxpc3RlbmVyIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgdGhlIHNwZWNpZmllZCBsaXN0ZW5lciBmcm9tIHRoZSBsaXN0ZW5lciBhcnJheSBmb3IgdGhlIGV2ZW50LlxuICAgKiBvZmYoKSB3aWxsIHJlbW92ZSwgYXQgbW9zdCwgb25lIGluc3RhbmNlIG9mIGEgbGlzdGVuZXIgZnJvbSB0aGUgbGlzdGVuZXIgYXJyYXkuIElmIGFueSBzaW5nbGVcbiAgICogbGlzdGVuZXIgaGFzIGJlZW4gYWRkZWQgbXVsdGlwbGUgdGltZXMgdG8gdGhlIGxpc3RlbmVyIGFycmF5IGZvciB0aGUgc3BlY2lmaWVkIGV2ZW50LCB0aGVuXG4gICAqIG9mZigpIG11c3QgYmUgY2FsbGVkIG11bHRpcGxlIHRpbWVzIHRvIHJlbW92ZSBlYWNoIGluc3RhbmNlLlxuICAgKiBAcmV0dXJucyB0aGlzIENoYXRDb21wbGV0aW9uU3RyZWFtLCBzbyB0aGF0IGNhbGxzIGNhbiBiZSBjaGFpbmVkXG4gICAqL1xuICBvZmY8RXZlbnQgZXh0ZW5kcyBrZXlvZiBFdmVudHM+KGV2ZW50OiBFdmVudCwgbGlzdGVuZXI6IExpc3RlbmVyRm9yRXZlbnQ8RXZlbnRzLCBFdmVudD4pOiB0aGlzIHtcbiAgICBjb25zdCBsaXN0ZW5lcnMgPSB0aGlzLiNsaXN0ZW5lcnNbZXZlbnRdO1xuICAgIGlmICghbGlzdGVuZXJzKSByZXR1cm4gdGhpcztcbiAgICBjb25zdCBpbmRleCA9IGxpc3RlbmVycy5maW5kSW5kZXgoKGwpID0+IGwubGlzdGVuZXIgPT09IGxpc3RlbmVyKTtcbiAgICBpZiAoaW5kZXggPj0gMCkgbGlzdGVuZXJzLnNwbGljZShpbmRleCwgMSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIG9uZS10aW1lIGxpc3RlbmVyIGZ1bmN0aW9uIGZvciB0aGUgZXZlbnQuIFRoZSBuZXh0IHRpbWUgdGhlIGV2ZW50IGlzIHRyaWdnZXJlZCxcbiAgICogdGhpcyBsaXN0ZW5lciBpcyByZW1vdmVkIGFuZCB0aGVuIGludm9rZWQuXG4gICAqIEByZXR1cm5zIHRoaXMgQ2hhdENvbXBsZXRpb25TdHJlYW0sIHNvIHRoYXQgY2FsbHMgY2FuIGJlIGNoYWluZWRcbiAgICovXG4gIG9uY2U8RXZlbnQgZXh0ZW5kcyBrZXlvZiBFdmVudHM+KGV2ZW50OiBFdmVudCwgbGlzdGVuZXI6IExpc3RlbmVyRm9yRXZlbnQ8RXZlbnRzLCBFdmVudD4pOiB0aGlzIHtcbiAgICBjb25zdCBsaXN0ZW5lcnM6IExpc3RlbmVyc0ZvckV2ZW50PEV2ZW50cywgRXZlbnQ+ID1cbiAgICAgIHRoaXMuI2xpc3RlbmVyc1tldmVudF0gfHwgKHRoaXMuI2xpc3RlbmVyc1tldmVudF0gPSBbXSk7XG4gICAgbGlzdGVuZXJzLnB1c2goeyBsaXN0ZW5lciwgb25jZTogdHJ1ZSB9KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBUaGlzIGlzIHNpbWlsYXIgdG8gYC5vbmNlKClgLCBidXQgcmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB0aGUgbmV4dCB0aW1lXG4gICAqIHRoZSBldmVudCBpcyB0cmlnZ2VyZWQsIGluc3RlYWQgb2YgY2FsbGluZyBhIGxpc3RlbmVyIGNhbGxiYWNrLlxuICAgKiBAcmV0dXJucyBhIFByb21pc2UgdGhhdCByZXNvbHZlcyB0aGUgbmV4dCB0aW1lIGdpdmVuIGV2ZW50IGlzIHRyaWdnZXJlZCxcbiAgICogb3IgcmVqZWN0cyBpZiBhbiBlcnJvciBpcyBlbWl0dGVkLiAgKElmIHlvdSByZXF1ZXN0IHRoZSAnZXJyb3InIGV2ZW50LFxuICAgKiByZXR1cm5zIGEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGVycm9yKS5cbiAgICpcbiAgICogRXhhbXBsZTpcbiAgICpcbiAgICogICBjb25zdCBtZXNzYWdlID0gYXdhaXQgc3RyZWFtLmVtaXR0ZWQoJ21lc3NhZ2UnKSAvLyByZWplY3RzIGlmIHRoZSBzdHJlYW0gZXJyb3JzXG4gICAqL1xuICBlbWl0dGVkPEV2ZW50IGV4dGVuZHMga2V5b2YgRXZlbnRzPihcbiAgICBldmVudDogRXZlbnQsXG4gICk6IFByb21pc2U8XG4gICAgRXZlbnRQYXJhbWV0ZXJzPEV2ZW50cywgRXZlbnQ+IGV4dGVuZHMgW2luZmVyIFBhcmFtXSA/IFBhcmFtXG4gICAgOiBFdmVudFBhcmFtZXRlcnM8RXZlbnRzLCBFdmVudD4gZXh0ZW5kcyBbXSA/IHZvaWRcbiAgICA6IEV2ZW50UGFyYW1ldGVyczxFdmVudHMsIEV2ZW50PlxuICA+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy4jY2F0Y2hpbmdQcm9taXNlQ3JlYXRlZCA9IHRydWU7XG4gICAgICBpZiAoZXZlbnQgIT09ICdlcnJvcicpIHRoaXMub25jZSgnZXJyb3InLCByZWplY3QpO1xuICAgICAgdGhpcy5vbmNlKGV2ZW50LCByZXNvbHZlIGFzIGFueSk7XG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBkb25lKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuI2NhdGNoaW5nUHJvbWlzZUNyZWF0ZWQgPSB0cnVlO1xuICAgIGF3YWl0IHRoaXMuI2VuZFByb21pc2U7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgZmluYWwgQ2hhdENvbXBsZXRpb24sIG9yIHJlamVjdHNcbiAgICogaWYgYW4gZXJyb3Igb2NjdXJyZWQgb3IgdGhlIHN0cmVhbSBlbmRlZCBwcmVtYXR1cmVseSB3aXRob3V0IHByb2R1Y2luZyBhIENoYXRDb21wbGV0aW9uLlxuICAgKi9cbiAgYXN5bmMgZmluYWxDaGF0Q29tcGxldGlvbigpOiBQcm9taXNlPENoYXRDb21wbGV0aW9uPiB7XG4gICAgYXdhaXQgdGhpcy5kb25lKCk7XG4gICAgY29uc3QgY29tcGxldGlvbiA9IHRoaXMuX2NoYXRDb21wbGV0aW9uc1t0aGlzLl9jaGF0Q29tcGxldGlvbnMubGVuZ3RoIC0gMV07XG4gICAgaWYgKCFjb21wbGV0aW9uKSB0aHJvdyBuZXcgT3BlbkFJRXJyb3IoJ3N0cmVhbSBlbmRlZCB3aXRob3V0IHByb2R1Y2luZyBhIENoYXRDb21wbGV0aW9uJyk7XG4gICAgcmV0dXJuIGNvbXBsZXRpb247XG4gIH1cblxuICAjZ2V0RmluYWxDb250ZW50KCk6IHN0cmluZyB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLiNnZXRGaW5hbE1lc3NhZ2UoKS5jb250ZW50ID8/IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgY29udGVudCBvZiB0aGUgZmluYWwgQ2hhdENvbXBsZXRpb25NZXNzYWdlLCBvciByZWplY3RzXG4gICAqIGlmIGFuIGVycm9yIG9jY3VycmVkIG9yIHRoZSBzdHJlYW0gZW5kZWQgcHJlbWF0dXJlbHkgd2l0aG91dCBwcm9kdWNpbmcgYSBDaGF0Q29tcGxldGlvbk1lc3NhZ2UuXG4gICAqL1xuICBhc3luYyBmaW5hbENvbnRlbnQoKTogUHJvbWlzZTxzdHJpbmcgfCBudWxsPiB7XG4gICAgYXdhaXQgdGhpcy5kb25lKCk7XG4gICAgcmV0dXJuIHRoaXMuI2dldEZpbmFsQ29udGVudCgpO1xuICB9XG5cbiAgI2dldEZpbmFsTWVzc2FnZSgpOiBDaGF0Q29tcGxldGlvbk1lc3NhZ2Uge1xuICAgIGxldCBpID0gdGhpcy5tZXNzYWdlcy5sZW5ndGg7XG4gICAgd2hpbGUgKGktLSA+IDApIHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB0aGlzLm1lc3NhZ2VzW2ldO1xuICAgICAgaWYgKGlzQXNzaXN0YW50TWVzc2FnZShtZXNzYWdlKSkge1xuICAgICAgICByZXR1cm4geyAuLi5tZXNzYWdlLCBjb250ZW50OiBtZXNzYWdlLmNvbnRlbnQgPz8gbnVsbCB9O1xuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBuZXcgT3BlbkFJRXJyb3IoJ3N0cmVhbSBlbmRlZCB3aXRob3V0IHByb2R1Y2luZyBhIENoYXRDb21wbGV0aW9uTWVzc2FnZSB3aXRoIHJvbGU9YXNzaXN0YW50Jyk7XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgdGhlIGZpbmFsIGFzc2lzdGFudCBDaGF0Q29tcGxldGlvbk1lc3NhZ2UgcmVzcG9uc2UsXG4gICAqIG9yIHJlamVjdHMgaWYgYW4gZXJyb3Igb2NjdXJyZWQgb3IgdGhlIHN0cmVhbSBlbmRlZCBwcmVtYXR1cmVseSB3aXRob3V0IHByb2R1Y2luZyBhIENoYXRDb21wbGV0aW9uTWVzc2FnZS5cbiAgICovXG4gIGFzeW5jIGZpbmFsTWVzc2FnZSgpOiBQcm9taXNlPENoYXRDb21wbGV0aW9uTWVzc2FnZT4ge1xuICAgIGF3YWl0IHRoaXMuZG9uZSgpO1xuICAgIHJldHVybiB0aGlzLiNnZXRGaW5hbE1lc3NhZ2UoKTtcbiAgfVxuXG4gICNnZXRGaW5hbEZ1bmN0aW9uQ2FsbCgpOiBDaGF0Q29tcGxldGlvbk1lc3NhZ2UuRnVuY3Rpb25DYWxsIHwgdW5kZWZpbmVkIHtcbiAgICBmb3IgKGxldCBpID0gdGhpcy5tZXNzYWdlcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHRoaXMubWVzc2FnZXNbaV07XG4gICAgICBpZiAoaXNBc3Npc3RhbnRNZXNzYWdlKG1lc3NhZ2UpICYmIG1lc3NhZ2U/LmZ1bmN0aW9uX2NhbGwpIHtcbiAgICAgICAgcmV0dXJuIG1lc3NhZ2UuZnVuY3Rpb25fY2FsbDtcbiAgICAgIH1cbiAgICAgIGlmIChpc0Fzc2lzdGFudE1lc3NhZ2UobWVzc2FnZSkgJiYgbWVzc2FnZT8udG9vbF9jYWxscz8ubGVuZ3RoKSB7XG4gICAgICAgIHJldHVybiBtZXNzYWdlLnRvb2xfY2FsbHMuYXQoLTEpPy5mdW5jdGlvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogQHJldHVybnMgYSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgY29udGVudCBvZiB0aGUgZmluYWwgRnVuY3Rpb25DYWxsLCBvciByZWplY3RzXG4gICAqIGlmIGFuIGVycm9yIG9jY3VycmVkIG9yIHRoZSBzdHJlYW0gZW5kZWQgcHJlbWF0dXJlbHkgd2l0aG91dCBwcm9kdWNpbmcgYSBDaGF0Q29tcGxldGlvbk1lc3NhZ2UuXG4gICAqL1xuICBhc3luYyBmaW5hbEZ1bmN0aW9uQ2FsbCgpOiBQcm9taXNlPENoYXRDb21wbGV0aW9uTWVzc2FnZS5GdW5jdGlvbkNhbGwgfCB1bmRlZmluZWQ+IHtcbiAgICBhd2FpdCB0aGlzLmRvbmUoKTtcbiAgICByZXR1cm4gdGhpcy4jZ2V0RmluYWxGdW5jdGlvbkNhbGwoKTtcbiAgfVxuXG4gICNnZXRGaW5hbEZ1bmN0aW9uQ2FsbFJlc3VsdCgpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGZvciAobGV0IGkgPSB0aGlzLm1lc3NhZ2VzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCBtZXNzYWdlID0gdGhpcy5tZXNzYWdlc1tpXTtcbiAgICAgIGlmIChpc0Z1bmN0aW9uTWVzc2FnZShtZXNzYWdlKSAmJiBtZXNzYWdlLmNvbnRlbnQgIT0gbnVsbCkge1xuICAgICAgICByZXR1cm4gbWVzc2FnZS5jb250ZW50O1xuICAgICAgfVxuICAgICAgaWYgKFxuICAgICAgICBpc1Rvb2xNZXNzYWdlKG1lc3NhZ2UpICYmXG4gICAgICAgIG1lc3NhZ2UuY29udGVudCAhPSBudWxsICYmXG4gICAgICAgIHRoaXMubWVzc2FnZXMuc29tZShcbiAgICAgICAgICAoeCkgPT5cbiAgICAgICAgICAgIHgucm9sZSA9PT0gJ2Fzc2lzdGFudCcgJiZcbiAgICAgICAgICAgIHgudG9vbF9jYWxscz8uc29tZSgoeSkgPT4geS50eXBlID09PSAnZnVuY3Rpb24nICYmIHkuaWQgPT09IG1lc3NhZ2UudG9vbF9jYWxsX2lkKSxcbiAgICAgICAgKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiBtZXNzYWdlLmNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgYXN5bmMgZmluYWxGdW5jdGlvbkNhbGxSZXN1bHQoKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+IHtcbiAgICBhd2FpdCB0aGlzLmRvbmUoKTtcbiAgICByZXR1cm4gdGhpcy4jZ2V0RmluYWxGdW5jdGlvbkNhbGxSZXN1bHQoKTtcbiAgfVxuXG4gICNjYWxjdWxhdGVUb3RhbFVzYWdlKCk6IENvbXBsZXRpb25Vc2FnZSB7XG4gICAgY29uc3QgdG90YWw6IENvbXBsZXRpb25Vc2FnZSA9IHtcbiAgICAgIGNvbXBsZXRpb25fdG9rZW5zOiAwLFxuICAgICAgcHJvbXB0X3Rva2VuczogMCxcbiAgICAgIHRvdGFsX3Rva2VuczogMCxcbiAgICB9O1xuICAgIGZvciAoY29uc3QgeyB1c2FnZSB9IG9mIHRoaXMuX2NoYXRDb21wbGV0aW9ucykge1xuICAgICAgaWYgKHVzYWdlKSB7XG4gICAgICAgIHRvdGFsLmNvbXBsZXRpb25fdG9rZW5zICs9IHVzYWdlLmNvbXBsZXRpb25fdG9rZW5zO1xuICAgICAgICB0b3RhbC5wcm9tcHRfdG9rZW5zICs9IHVzYWdlLnByb21wdF90b2tlbnM7XG4gICAgICAgIHRvdGFsLnRvdGFsX3Rva2VucyArPSB1c2FnZS50b3RhbF90b2tlbnM7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB0b3RhbDtcbiAgfVxuXG4gIGFzeW5jIHRvdGFsVXNhZ2UoKTogUHJvbWlzZTxDb21wbGV0aW9uVXNhZ2U+IHtcbiAgICBhd2FpdCB0aGlzLmRvbmUoKTtcbiAgICByZXR1cm4gdGhpcy4jY2FsY3VsYXRlVG90YWxVc2FnZSgpO1xuICB9XG5cbiAgYWxsQ2hhdENvbXBsZXRpb25zKCk6IENoYXRDb21wbGV0aW9uW10ge1xuICAgIHJldHVybiBbLi4udGhpcy5fY2hhdENvbXBsZXRpb25zXTtcbiAgfVxuXG4gICNoYW5kbGVFcnJvciA9IChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgIHRoaXMuI2Vycm9yZWQgPSB0cnVlO1xuICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIEVycm9yICYmIGVycm9yLm5hbWUgPT09ICdBYm9ydEVycm9yJykge1xuICAgICAgZXJyb3IgPSBuZXcgQVBJVXNlckFib3J0RXJyb3IoKTtcbiAgICB9XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgQVBJVXNlckFib3J0RXJyb3IpIHtcbiAgICAgIHRoaXMuI2Fib3J0ZWQgPSB0cnVlO1xuICAgICAgcmV0dXJuIHRoaXMuX2VtaXQoJ2Fib3J0JywgZXJyb3IpO1xuICAgIH1cbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBPcGVuQUlFcnJvcikge1xuICAgICAgcmV0dXJuIHRoaXMuX2VtaXQoJ2Vycm9yJywgZXJyb3IpO1xuICAgIH1cbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgY29uc3Qgb3BlbkFJRXJyb3I6IE9wZW5BSUVycm9yID0gbmV3IE9wZW5BSUVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgb3BlbkFJRXJyb3IuY2F1c2UgPSBlcnJvcjtcbiAgICAgIHJldHVybiB0aGlzLl9lbWl0KCdlcnJvcicsIG9wZW5BSUVycm9yKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2VtaXQoJ2Vycm9yJywgbmV3IE9wZW5BSUVycm9yKFN0cmluZyhlcnJvcikpKTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgX2VtaXQ8RXZlbnQgZXh0ZW5kcyBrZXlvZiBFdmVudHM+KGV2ZW50OiBFdmVudCwgLi4uYXJnczogRXZlbnRQYXJhbWV0ZXJzPEV2ZW50cywgRXZlbnQ+KSB7XG4gICAgLy8gbWFrZSBzdXJlIHdlIGRvbid0IGVtaXQgYW55IGV2ZW50cyBhZnRlciBlbmRcbiAgICBpZiAodGhpcy4jZW5kZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQgPT09ICdlbmQnKSB7XG4gICAgICB0aGlzLiNlbmRlZCA9IHRydWU7XG4gICAgICB0aGlzLiNyZXNvbHZlRW5kUHJvbWlzZSgpO1xuICAgIH1cblxuICAgIGNvbnN0IGxpc3RlbmVyczogTGlzdGVuZXJzRm9yRXZlbnQ8RXZlbnRzLCBFdmVudD4gfCB1bmRlZmluZWQgPSB0aGlzLiNsaXN0ZW5lcnNbZXZlbnRdO1xuICAgIGlmIChsaXN0ZW5lcnMpIHtcbiAgICAgIHRoaXMuI2xpc3RlbmVyc1tldmVudF0gPSBsaXN0ZW5lcnMuZmlsdGVyKChsKSA9PiAhbC5vbmNlKSBhcyBhbnk7XG4gICAgICBsaXN0ZW5lcnMuZm9yRWFjaCgoeyBsaXN0ZW5lciB9OiBhbnkpID0+IGxpc3RlbmVyKC4uLmFyZ3MpKTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQgPT09ICdhYm9ydCcpIHtcbiAgICAgIGNvbnN0IGVycm9yID0gYXJnc1swXSBhcyBBUElVc2VyQWJvcnRFcnJvcjtcbiAgICAgIGlmICghdGhpcy4jY2F0Y2hpbmdQcm9taXNlQ3JlYXRlZCAmJiAhbGlzdGVuZXJzPy5sZW5ndGgpIHtcbiAgICAgICAgUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xuICAgICAgfVxuICAgICAgdGhpcy4jcmVqZWN0Q29ubmVjdGVkUHJvbWlzZShlcnJvcik7XG4gICAgICB0aGlzLiNyZWplY3RFbmRQcm9taXNlKGVycm9yKTtcbiAgICAgIHRoaXMuX2VtaXQoJ2VuZCcpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChldmVudCA9PT0gJ2Vycm9yJykge1xuICAgICAgLy8gTk9URTogX2VtaXQoJ2Vycm9yJywgZXJyb3IpIHNob3VsZCBvbmx5IGJlIGNhbGxlZCBmcm9tICNoYW5kbGVFcnJvcigpLlxuXG4gICAgICBjb25zdCBlcnJvciA9IGFyZ3NbMF0gYXMgT3BlbkFJRXJyb3I7XG4gICAgICBpZiAoIXRoaXMuI2NhdGNoaW5nUHJvbWlzZUNyZWF0ZWQgJiYgIWxpc3RlbmVycz8ubGVuZ3RoKSB7XG4gICAgICAgIC8vIFRyaWdnZXIgYW4gdW5oYW5kbGVkIHJlamVjdGlvbiBpZiB0aGUgdXNlciBoYXNuJ3QgcmVnaXN0ZXJlZCBhbnkgZXJyb3IgaGFuZGxlcnMuXG4gICAgICAgIC8vIElmIHlvdSBhcmUgc2VlaW5nIHN0YWNrIHRyYWNlcyBoZXJlLCBtYWtlIHN1cmUgdG8gaGFuZGxlIGVycm9ycyB2aWEgZWl0aGVyOlxuICAgICAgICAvLyAtIHJ1bm5lci5vbignZXJyb3InLCAoKSA9PiAuLi4pXG4gICAgICAgIC8vIC0gYXdhaXQgcnVubmVyLmRvbmUoKVxuICAgICAgICAvLyAtIGF3YWl0IHJ1bm5lci5maW5hbENoYXRDb21wbGV0aW9uKClcbiAgICAgICAgLy8gLSBldGMuXG4gICAgICAgIFByb21pc2UucmVqZWN0KGVycm9yKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuI3JlamVjdENvbm5lY3RlZFByb21pc2UoZXJyb3IpO1xuICAgICAgdGhpcy4jcmVqZWN0RW5kUHJvbWlzZShlcnJvcik7XG4gICAgICB0aGlzLl9lbWl0KCdlbmQnKTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgX2VtaXRGaW5hbCgpIHtcbiAgICBjb25zdCBjb21wbGV0aW9uID0gdGhpcy5fY2hhdENvbXBsZXRpb25zW3RoaXMuX2NoYXRDb21wbGV0aW9ucy5sZW5ndGggLSAxXTtcbiAgICBpZiAoY29tcGxldGlvbikgdGhpcy5fZW1pdCgnZmluYWxDaGF0Q29tcGxldGlvbicsIGNvbXBsZXRpb24pO1xuICAgIGNvbnN0IGZpbmFsTWVzc2FnZSA9IHRoaXMuI2dldEZpbmFsTWVzc2FnZSgpO1xuICAgIGlmIChmaW5hbE1lc3NhZ2UpIHRoaXMuX2VtaXQoJ2ZpbmFsTWVzc2FnZScsIGZpbmFsTWVzc2FnZSk7XG4gICAgY29uc3QgZmluYWxDb250ZW50ID0gdGhpcy4jZ2V0RmluYWxDb250ZW50KCk7XG4gICAgaWYgKGZpbmFsQ29udGVudCkgdGhpcy5fZW1pdCgnZmluYWxDb250ZW50JywgZmluYWxDb250ZW50KTtcblxuICAgIGNvbnN0IGZpbmFsRnVuY3Rpb25DYWxsID0gdGhpcy4jZ2V0RmluYWxGdW5jdGlvbkNhbGwoKTtcbiAgICBpZiAoZmluYWxGdW5jdGlvbkNhbGwpIHRoaXMuX2VtaXQoJ2ZpbmFsRnVuY3Rpb25DYWxsJywgZmluYWxGdW5jdGlvbkNhbGwpO1xuXG4gICAgY29uc3QgZmluYWxGdW5jdGlvbkNhbGxSZXN1bHQgPSB0aGlzLiNnZXRGaW5hbEZ1bmN0aW9uQ2FsbFJlc3VsdCgpO1xuICAgIGlmIChmaW5hbEZ1bmN0aW9uQ2FsbFJlc3VsdCAhPSBudWxsKSB0aGlzLl9lbWl0KCdmaW5hbEZ1bmN0aW9uQ2FsbFJlc3VsdCcsIGZpbmFsRnVuY3Rpb25DYWxsUmVzdWx0KTtcblxuICAgIGlmICh0aGlzLl9jaGF0Q29tcGxldGlvbnMuc29tZSgoYykgPT4gYy51c2FnZSkpIHtcbiAgICAgIHRoaXMuX2VtaXQoJ3RvdGFsVXNhZ2UnLCB0aGlzLiNjYWxjdWxhdGVUb3RhbFVzYWdlKCkpO1xuICAgIH1cbiAgfVxuXG4gICN2YWxpZGF0ZVBhcmFtcyhwYXJhbXM6IENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zKTogdm9pZCB7XG4gICAgaWYgKHBhcmFtcy5uICE9IG51bGwgJiYgcGFyYW1zLm4gPiAxKSB7XG4gICAgICB0aHJvdyBuZXcgT3BlbkFJRXJyb3IoXG4gICAgICAgICdDaGF0Q29tcGxldGlvbiBjb252ZW5pZW5jZSBoZWxwZXJzIG9ubHkgc3VwcG9ydCBuPTEgYXQgdGhpcyB0aW1lLiBUbyB1c2Ugbj4xLCBwbGVhc2UgdXNlIGNoYXQuY29tcGxldGlvbnMuY3JlYXRlKCkgZGlyZWN0bHkuJyxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIF9jcmVhdGVDaGF0Q29tcGxldGlvbihcbiAgICBjb21wbGV0aW9uczogQ29tcGxldGlvbnMsXG4gICAgcGFyYW1zOiBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtcyxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogUHJvbWlzZTxDaGF0Q29tcGxldGlvbj4ge1xuICAgIGNvbnN0IHNpZ25hbCA9IG9wdGlvbnM/LnNpZ25hbDtcbiAgICBpZiAoc2lnbmFsKSB7XG4gICAgICBpZiAoc2lnbmFsLmFib3J0ZWQpIHRoaXMuY29udHJvbGxlci5hYm9ydCgpO1xuICAgICAgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCkgPT4gdGhpcy5jb250cm9sbGVyLmFib3J0KCkpO1xuICAgIH1cbiAgICB0aGlzLiN2YWxpZGF0ZVBhcmFtcyhwYXJhbXMpO1xuXG4gICAgY29uc3QgY2hhdENvbXBsZXRpb24gPSBhd2FpdCBjb21wbGV0aW9ucy5jcmVhdGUoXG4gICAgICB7IC4uLnBhcmFtcywgc3RyZWFtOiBmYWxzZSB9LFxuICAgICAgeyAuLi5vcHRpb25zLCBzaWduYWw6IHRoaXMuY29udHJvbGxlci5zaWduYWwgfSxcbiAgICApO1xuICAgIHRoaXMuX2Nvbm5lY3RlZCgpO1xuICAgIHJldHVybiB0aGlzLl9hZGRDaGF0Q29tcGxldGlvbihjaGF0Q29tcGxldGlvbik7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgX3J1bkNoYXRDb21wbGV0aW9uKFxuICAgIGNvbXBsZXRpb25zOiBDb21wbGV0aW9ucyxcbiAgICBwYXJhbXM6IENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zLFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBQcm9taXNlPENoYXRDb21wbGV0aW9uPiB7XG4gICAgZm9yIChjb25zdCBtZXNzYWdlIG9mIHBhcmFtcy5tZXNzYWdlcykge1xuICAgICAgdGhpcy5fYWRkTWVzc2FnZShtZXNzYWdlLCBmYWxzZSk7XG4gICAgfVxuICAgIHJldHVybiBhd2FpdCB0aGlzLl9jcmVhdGVDaGF0Q29tcGxldGlvbihjb21wbGV0aW9ucywgcGFyYW1zLCBvcHRpb25zKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBfcnVuRnVuY3Rpb25zPEZ1bmN0aW9uc0FyZ3MgZXh0ZW5kcyBCYXNlRnVuY3Rpb25zQXJncz4oXG4gICAgY29tcGxldGlvbnM6IENvbXBsZXRpb25zLFxuICAgIHBhcmFtczpcbiAgICAgIHwgQ2hhdENvbXBsZXRpb25GdW5jdGlvblJ1bm5lclBhcmFtczxGdW5jdGlvbnNBcmdzPlxuICAgICAgfCBDaGF0Q29tcGxldGlvblN0cmVhbWluZ0Z1bmN0aW9uUnVubmVyUGFyYW1zPEZ1bmN0aW9uc0FyZ3M+LFxuICAgIG9wdGlvbnM/OiBSdW5uZXJPcHRpb25zLFxuICApIHtcbiAgICBjb25zdCByb2xlID0gJ2Z1bmN0aW9uJyBhcyBjb25zdDtcbiAgICBjb25zdCB7IGZ1bmN0aW9uX2NhbGwgPSAnYXV0bycsIHN0cmVhbSwgLi4ucmVzdFBhcmFtcyB9ID0gcGFyYW1zO1xuICAgIGNvbnN0IHNpbmdsZUZ1bmN0aW9uVG9DYWxsID0gdHlwZW9mIGZ1bmN0aW9uX2NhbGwgIT09ICdzdHJpbmcnICYmIGZ1bmN0aW9uX2NhbGw/Lm5hbWU7XG4gICAgY29uc3QgeyBtYXhDaGF0Q29tcGxldGlvbnMgPSBERUZBVUxUX01BWF9DSEFUX0NPTVBMRVRJT05TIH0gPSBvcHRpb25zIHx8IHt9O1xuXG4gICAgY29uc3QgZnVuY3Rpb25zQnlOYW1lOiBSZWNvcmQ8c3RyaW5nLCBSdW5uYWJsZUZ1bmN0aW9uPGFueT4+ID0ge307XG4gICAgZm9yIChjb25zdCBmIG9mIHBhcmFtcy5mdW5jdGlvbnMpIHtcbiAgICAgIGZ1bmN0aW9uc0J5TmFtZVtmLm5hbWUgfHwgZi5mdW5jdGlvbi5uYW1lXSA9IGY7XG4gICAgfVxuXG4gICAgY29uc3QgZnVuY3Rpb25zOiBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtcy5GdW5jdGlvbltdID0gcGFyYW1zLmZ1bmN0aW9ucy5tYXAoXG4gICAgICAoZik6IENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zLkZ1bmN0aW9uID0+ICh7XG4gICAgICAgIG5hbWU6IGYubmFtZSB8fCBmLmZ1bmN0aW9uLm5hbWUsXG4gICAgICAgIHBhcmFtZXRlcnM6IGYucGFyYW1ldGVycyBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgICAgICAgZGVzY3JpcHRpb246IGYuZGVzY3JpcHRpb24sXG4gICAgICB9KSxcbiAgICApO1xuXG4gICAgZm9yIChjb25zdCBtZXNzYWdlIG9mIHBhcmFtcy5tZXNzYWdlcykge1xuICAgICAgdGhpcy5fYWRkTWVzc2FnZShtZXNzYWdlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXhDaGF0Q29tcGxldGlvbnM7ICsraSkge1xuICAgICAgY29uc3QgY2hhdENvbXBsZXRpb246IENoYXRDb21wbGV0aW9uID0gYXdhaXQgdGhpcy5fY3JlYXRlQ2hhdENvbXBsZXRpb24oXG4gICAgICAgIGNvbXBsZXRpb25zLFxuICAgICAgICB7XG4gICAgICAgICAgLi4ucmVzdFBhcmFtcyxcbiAgICAgICAgICBmdW5jdGlvbl9jYWxsLFxuICAgICAgICAgIGZ1bmN0aW9ucyxcbiAgICAgICAgICBtZXNzYWdlczogWy4uLnRoaXMubWVzc2FnZXNdLFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBjaGF0Q29tcGxldGlvbi5jaG9pY2VzWzBdPy5tZXNzYWdlO1xuICAgICAgaWYgKCFtZXNzYWdlKSB7XG4gICAgICAgIHRocm93IG5ldyBPcGVuQUlFcnJvcihgbWlzc2luZyBtZXNzYWdlIGluIENoYXRDb21wbGV0aW9uIHJlc3BvbnNlYCk7XG4gICAgICB9XG4gICAgICBpZiAoIW1lc3NhZ2UuZnVuY3Rpb25fY2FsbCkgcmV0dXJuO1xuICAgICAgY29uc3QgeyBuYW1lLCBhcmd1bWVudHM6IGFyZ3MgfSA9IG1lc3NhZ2UuZnVuY3Rpb25fY2FsbDtcbiAgICAgIGNvbnN0IGZuID0gZnVuY3Rpb25zQnlOYW1lW25hbWVdO1xuICAgICAgaWYgKCFmbikge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gYEludmFsaWQgZnVuY3Rpb25fY2FsbDogJHtKU09OLnN0cmluZ2lmeShuYW1lKX0uIEF2YWlsYWJsZSBvcHRpb25zIGFyZTogJHtmdW5jdGlvbnNcbiAgICAgICAgICAubWFwKChmKSA9PiBKU09OLnN0cmluZ2lmeShmLm5hbWUpKVxuICAgICAgICAgIC5qb2luKCcsICcpfS4gUGxlYXNlIHRyeSBhZ2FpbmA7XG5cbiAgICAgICAgdGhpcy5fYWRkTWVzc2FnZSh7IHJvbGUsIG5hbWUsIGNvbnRlbnQgfSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfSBlbHNlIGlmIChzaW5nbGVGdW5jdGlvblRvQ2FsbCAmJiBzaW5nbGVGdW5jdGlvblRvQ2FsbCAhPT0gbmFtZSkge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gYEludmFsaWQgZnVuY3Rpb25fY2FsbDogJHtKU09OLnN0cmluZ2lmeShuYW1lKX0uICR7SlNPTi5zdHJpbmdpZnkoXG4gICAgICAgICAgc2luZ2xlRnVuY3Rpb25Ub0NhbGwsXG4gICAgICAgICl9IHJlcXVlc3RlZC4gUGxlYXNlIHRyeSBhZ2FpbmA7XG5cbiAgICAgICAgdGhpcy5fYWRkTWVzc2FnZSh7IHJvbGUsIG5hbWUsIGNvbnRlbnQgfSk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBsZXQgcGFyc2VkO1xuICAgICAgdHJ5IHtcbiAgICAgICAgcGFyc2VkID0gaXNSdW5uYWJsZUZ1bmN0aW9uV2l0aFBhcnNlKGZuKSA/IGF3YWl0IGZuLnBhcnNlKGFyZ3MpIDogYXJncztcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRoaXMuX2FkZE1lc3NhZ2Uoe1xuICAgICAgICAgIHJvbGUsXG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICBjb250ZW50OiBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvciksXG4gICAgICAgIH0pO1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgLy8gQHRzLWV4cGVjdC1lcnJvciBpdCBjYW4ndCBydWxlIG91dCBgbmV2ZXJgIHR5cGUuXG4gICAgICBjb25zdCByYXdDb250ZW50ID0gYXdhaXQgZm4uZnVuY3Rpb24ocGFyc2VkLCB0aGlzKTtcbiAgICAgIGNvbnN0IGNvbnRlbnQgPSB0aGlzLiNzdHJpbmdpZnlGdW5jdGlvbkNhbGxSZXN1bHQocmF3Q29udGVudCk7XG5cbiAgICAgIHRoaXMuX2FkZE1lc3NhZ2UoeyByb2xlLCBuYW1lLCBjb250ZW50IH0pO1xuXG4gICAgICBpZiAoc2luZ2xlRnVuY3Rpb25Ub0NhbGwpIHJldHVybjtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgX3J1blRvb2xzPEZ1bmN0aW9uc0FyZ3MgZXh0ZW5kcyBCYXNlRnVuY3Rpb25zQXJncz4oXG4gICAgY29tcGxldGlvbnM6IENvbXBsZXRpb25zLFxuICAgIHBhcmFtczpcbiAgICAgIHwgQ2hhdENvbXBsZXRpb25Ub29sUnVubmVyUGFyYW1zPEZ1bmN0aW9uc0FyZ3M+XG4gICAgICB8IENoYXRDb21wbGV0aW9uU3RyZWFtaW5nVG9vbFJ1bm5lclBhcmFtczxGdW5jdGlvbnNBcmdzPixcbiAgICBvcHRpb25zPzogUnVubmVyT3B0aW9ucyxcbiAgKSB7XG4gICAgY29uc3Qgcm9sZSA9ICd0b29sJyBhcyBjb25zdDtcbiAgICBjb25zdCB7IHRvb2xfY2hvaWNlID0gJ2F1dG8nLCBzdHJlYW0sIC4uLnJlc3RQYXJhbXMgfSA9IHBhcmFtcztcbiAgICBjb25zdCBzaW5nbGVGdW5jdGlvblRvQ2FsbCA9IHR5cGVvZiB0b29sX2Nob2ljZSAhPT0gJ3N0cmluZycgJiYgdG9vbF9jaG9pY2U/LmZ1bmN0aW9uPy5uYW1lO1xuICAgIGNvbnN0IHsgbWF4Q2hhdENvbXBsZXRpb25zID0gREVGQVVMVF9NQVhfQ0hBVF9DT01QTEVUSU9OUyB9ID0gb3B0aW9ucyB8fCB7fTtcblxuICAgIGNvbnN0IGZ1bmN0aW9uc0J5TmFtZTogUmVjb3JkPHN0cmluZywgUnVubmFibGVGdW5jdGlvbjxhbnk+PiA9IHt9O1xuICAgIGZvciAoY29uc3QgZiBvZiBwYXJhbXMudG9vbHMpIHtcbiAgICAgIGlmIChmLnR5cGUgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgZnVuY3Rpb25zQnlOYW1lW2YuZnVuY3Rpb24ubmFtZSB8fCBmLmZ1bmN0aW9uLmZ1bmN0aW9uLm5hbWVdID0gZi5mdW5jdGlvbjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCB0b29sczogQ2hhdENvbXBsZXRpb25Ub29sW10gPVxuICAgICAgJ3Rvb2xzJyBpbiBwYXJhbXMgP1xuICAgICAgICBwYXJhbXMudG9vbHMubWFwKCh0KSA9PlxuICAgICAgICAgIHQudHlwZSA9PT0gJ2Z1bmN0aW9uJyA/XG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICdmdW5jdGlvbicsXG4gICAgICAgICAgICAgIGZ1bmN0aW9uOiB7XG4gICAgICAgICAgICAgICAgbmFtZTogdC5mdW5jdGlvbi5uYW1lIHx8IHQuZnVuY3Rpb24uZnVuY3Rpb24ubmFtZSxcbiAgICAgICAgICAgICAgICBwYXJhbWV0ZXJzOiB0LmZ1bmN0aW9uLnBhcmFtZXRlcnMgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4sXG4gICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHQuZnVuY3Rpb24uZGVzY3JpcHRpb24sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9XG4gICAgICAgICAgOiAodCBhcyB1bmtub3duIGFzIENoYXRDb21wbGV0aW9uVG9vbCksXG4gICAgICAgIClcbiAgICAgIDogKHVuZGVmaW5lZCBhcyBhbnkpO1xuXG4gICAgZm9yIChjb25zdCBtZXNzYWdlIG9mIHBhcmFtcy5tZXNzYWdlcykge1xuICAgICAgdGhpcy5fYWRkTWVzc2FnZShtZXNzYWdlLCBmYWxzZSk7XG4gICAgfVxuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBtYXhDaGF0Q29tcGxldGlvbnM7ICsraSkge1xuICAgICAgY29uc3QgY2hhdENvbXBsZXRpb246IENoYXRDb21wbGV0aW9uID0gYXdhaXQgdGhpcy5fY3JlYXRlQ2hhdENvbXBsZXRpb24oXG4gICAgICAgIGNvbXBsZXRpb25zLFxuICAgICAgICB7XG4gICAgICAgICAgLi4ucmVzdFBhcmFtcyxcbiAgICAgICAgICB0b29sX2Nob2ljZSxcbiAgICAgICAgICB0b29scyxcbiAgICAgICAgICBtZXNzYWdlczogWy4uLnRoaXMubWVzc2FnZXNdLFxuICAgICAgICB9LFxuICAgICAgICBvcHRpb25zLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSBjaGF0Q29tcGxldGlvbi5jaG9pY2VzWzBdPy5tZXNzYWdlO1xuICAgICAgaWYgKCFtZXNzYWdlKSB7XG4gICAgICAgIHRocm93IG5ldyBPcGVuQUlFcnJvcihgbWlzc2luZyBtZXNzYWdlIGluIENoYXRDb21wbGV0aW9uIHJlc3BvbnNlYCk7XG4gICAgICB9XG4gICAgICBpZiAoIW1lc3NhZ2UudG9vbF9jYWxscykge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGZvciAoY29uc3QgdG9vbF9jYWxsIG9mIG1lc3NhZ2UudG9vbF9jYWxscykge1xuICAgICAgICBpZiAodG9vbF9jYWxsLnR5cGUgIT09ICdmdW5jdGlvbicpIGNvbnRpbnVlO1xuICAgICAgICBjb25zdCB0b29sX2NhbGxfaWQgPSB0b29sX2NhbGwuaWQ7XG4gICAgICAgIGNvbnN0IHsgbmFtZSwgYXJndW1lbnRzOiBhcmdzIH0gPSB0b29sX2NhbGwuZnVuY3Rpb247XG4gICAgICAgIGNvbnN0IGZuID0gZnVuY3Rpb25zQnlOYW1lW25hbWVdO1xuXG4gICAgICAgIGlmICghZm4pIHtcbiAgICAgICAgICBjb25zdCBjb250ZW50ID0gYEludmFsaWQgdG9vbF9jYWxsOiAke0pTT04uc3RyaW5naWZ5KG5hbWUpfS4gQXZhaWxhYmxlIG9wdGlvbnMgYXJlOiAke3Rvb2xzXG4gICAgICAgICAgICAubWFwKChmKSA9PiBKU09OLnN0cmluZ2lmeShmLmZ1bmN0aW9uLm5hbWUpKVxuICAgICAgICAgICAgLmpvaW4oJywgJyl9LiBQbGVhc2UgdHJ5IGFnYWluYDtcblxuICAgICAgICAgIHRoaXMuX2FkZE1lc3NhZ2UoeyByb2xlLCB0b29sX2NhbGxfaWQsIGNvbnRlbnQgfSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH0gZWxzZSBpZiAoc2luZ2xlRnVuY3Rpb25Ub0NhbGwgJiYgc2luZ2xlRnVuY3Rpb25Ub0NhbGwgIT09IG5hbWUpIHtcbiAgICAgICAgICBjb25zdCBjb250ZW50ID0gYEludmFsaWQgdG9vbF9jYWxsOiAke0pTT04uc3RyaW5naWZ5KG5hbWUpfS4gJHtKU09OLnN0cmluZ2lmeShcbiAgICAgICAgICAgIHNpbmdsZUZ1bmN0aW9uVG9DYWxsLFxuICAgICAgICAgICl9IHJlcXVlc3RlZC4gUGxlYXNlIHRyeSBhZ2FpbmA7XG5cbiAgICAgICAgICB0aGlzLl9hZGRNZXNzYWdlKHsgcm9sZSwgdG9vbF9jYWxsX2lkLCBjb250ZW50IH0pO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHBhcnNlZDtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBwYXJzZWQgPSBpc1J1bm5hYmxlRnVuY3Rpb25XaXRoUGFyc2UoZm4pID8gYXdhaXQgZm4ucGFyc2UoYXJncykgOiBhcmdzO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIGNvbnN0IGNvbnRlbnQgPSBlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IubWVzc2FnZSA6IFN0cmluZyhlcnJvcik7XG4gICAgICAgICAgdGhpcy5fYWRkTWVzc2FnZSh7IHJvbGUsIHRvb2xfY2FsbF9pZCwgY29udGVudCB9KTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgaXQgY2FuJ3QgcnVsZSBvdXQgYG5ldmVyYCB0eXBlLlxuICAgICAgICBjb25zdCByYXdDb250ZW50ID0gYXdhaXQgZm4uZnVuY3Rpb24ocGFyc2VkLCB0aGlzKTtcbiAgICAgICAgY29uc3QgY29udGVudCA9IHRoaXMuI3N0cmluZ2lmeUZ1bmN0aW9uQ2FsbFJlc3VsdChyYXdDb250ZW50KTtcbiAgICAgICAgdGhpcy5fYWRkTWVzc2FnZSh7IHJvbGUsIHRvb2xfY2FsbF9pZCwgY29udGVudCB9KTtcblxuICAgICAgICBpZiAoc2luZ2xlRnVuY3Rpb25Ub0NhbGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cblxuICAjc3RyaW5naWZ5RnVuY3Rpb25DYWxsUmVzdWx0KHJhd0NvbnRlbnQ6IHVua25vd24pOiBzdHJpbmcge1xuICAgIHJldHVybiAoXG4gICAgICB0eXBlb2YgcmF3Q29udGVudCA9PT0gJ3N0cmluZycgPyByYXdDb250ZW50XG4gICAgICA6IHJhd0NvbnRlbnQgPT09IHVuZGVmaW5lZCA/ICd1bmRlZmluZWQnXG4gICAgICA6IEpTT04uc3RyaW5naWZ5KHJhd0NvbnRlbnQpXG4gICAgKTtcbiAgfVxufVxuXG50eXBlIEN1c3RvbUV2ZW50czxFdmVudCBleHRlbmRzIHN0cmluZz4gPSB7XG4gIFtrIGluIEV2ZW50XTogayBleHRlbmRzIGtleW9mIEFic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXJFdmVudHMgPyBBYnN0cmFjdENoYXRDb21wbGV0aW9uUnVubmVyRXZlbnRzW2tdXG4gIDogKC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkO1xufTtcblxudHlwZSBMaXN0ZW5lckZvckV2ZW50PEV2ZW50cyBleHRlbmRzIEN1c3RvbUV2ZW50czxhbnk+LCBFdmVudCBleHRlbmRzIGtleW9mIEV2ZW50cz4gPSBFdmVudCBleHRlbmRzIChcbiAga2V5b2YgQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lckV2ZW50c1xuKSA/XG4gIEFic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXJFdmVudHNbRXZlbnRdXG46IEV2ZW50c1tFdmVudF07XG5cbnR5cGUgTGlzdGVuZXJzRm9yRXZlbnQ8RXZlbnRzIGV4dGVuZHMgQ3VzdG9tRXZlbnRzPGFueT4sIEV2ZW50IGV4dGVuZHMga2V5b2YgRXZlbnRzPiA9IEFycmF5PHtcbiAgbGlzdGVuZXI6IExpc3RlbmVyRm9yRXZlbnQ8RXZlbnRzLCBFdmVudD47XG4gIG9uY2U/OiBib29sZWFuO1xufT47XG50eXBlIEV2ZW50UGFyYW1ldGVyczxFdmVudHMgZXh0ZW5kcyBDdXN0b21FdmVudHM8YW55PiwgRXZlbnQgZXh0ZW5kcyBrZXlvZiBFdmVudHM+ID0gUGFyYW1ldGVyczxcbiAgTGlzdGVuZXJGb3JFdmVudDxFdmVudHMsIEV2ZW50PlxuPjtcblxuZXhwb3J0IGludGVyZmFjZSBBYnN0cmFjdENoYXRDb21wbGV0aW9uUnVubmVyRXZlbnRzIHtcbiAgY29ubmVjdDogKCkgPT4gdm9pZDtcbiAgZnVuY3Rpb25DYWxsOiAoZnVuY3Rpb25DYWxsOiBDaGF0Q29tcGxldGlvbk1lc3NhZ2UuRnVuY3Rpb25DYWxsKSA9PiB2b2lkO1xuICBtZXNzYWdlOiAobWVzc2FnZTogQ2hhdENvbXBsZXRpb25NZXNzYWdlUGFyYW0pID0+IHZvaWQ7XG4gIGNoYXRDb21wbGV0aW9uOiAoY29tcGxldGlvbjogQ2hhdENvbXBsZXRpb24pID0+IHZvaWQ7XG4gIGZpbmFsQ29udGVudDogKGNvbnRlbnRTbmFwc2hvdDogc3RyaW5nKSA9PiB2b2lkO1xuICBmaW5hbE1lc3NhZ2U6IChtZXNzYWdlOiBDaGF0Q29tcGxldGlvbk1lc3NhZ2VQYXJhbSkgPT4gdm9pZDtcbiAgZmluYWxDaGF0Q29tcGxldGlvbjogKGNvbXBsZXRpb246IENoYXRDb21wbGV0aW9uKSA9PiB2b2lkO1xuICBmaW5hbEZ1bmN0aW9uQ2FsbDogKGZ1bmN0aW9uQ2FsbDogQ2hhdENvbXBsZXRpb25NZXNzYWdlLkZ1bmN0aW9uQ2FsbCkgPT4gdm9pZDtcbiAgZnVuY3Rpb25DYWxsUmVzdWx0OiAoY29udGVudDogc3RyaW5nKSA9PiB2b2lkO1xuICBmaW5hbEZ1bmN0aW9uQ2FsbFJlc3VsdDogKGNvbnRlbnQ6IHN0cmluZykgPT4gdm9pZDtcbiAgZXJyb3I6IChlcnJvcjogT3BlbkFJRXJyb3IpID0+IHZvaWQ7XG4gIGFib3J0OiAoZXJyb3I6IEFQSVVzZXJBYm9ydEVycm9yKSA9PiB2b2lkO1xuICBlbmQ6ICgpID0+IHZvaWQ7XG4gIHRvdGFsVXNhZ2U6ICh1c2FnZTogQ29tcGxldGlvblVzYWdlKSA9PiB2b2lkO1xufVxuIiwgImltcG9ydCB7XG4gIHR5cGUgQ29tcGxldGlvbnMsXG4gIHR5cGUgQ2hhdENvbXBsZXRpb25NZXNzYWdlUGFyYW0sXG4gIHR5cGUgQ2hhdENvbXBsZXRpb25DcmVhdGVQYXJhbXNOb25TdHJlYW1pbmcsXG59IGZyb20gXCIuLi9yZXNvdXJjZXMvY2hhdC9jb21wbGV0aW9uc1wiO1xuaW1wb3J0IHsgdHlwZSBSdW5uYWJsZUZ1bmN0aW9ucywgdHlwZSBCYXNlRnVuY3Rpb25zQXJncywgUnVubmFibGVUb29scyB9IGZyb20gJy4vUnVubmFibGVGdW5jdGlvbic7XG5pbXBvcnQge1xuICBBYnN0cmFjdENoYXRDb21wbGV0aW9uUnVubmVyLFxuICBBYnN0cmFjdENoYXRDb21wbGV0aW9uUnVubmVyRXZlbnRzLFxuICBSdW5uZXJPcHRpb25zLFxufSBmcm9tICcuL0Fic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXInO1xuaW1wb3J0IHsgaXNBc3Npc3RhbnRNZXNzYWdlIH0gZnJvbSAnLi9jaGF0Q29tcGxldGlvblV0aWxzJztcblxuZXhwb3J0IGludGVyZmFjZSBDaGF0Q29tcGxldGlvblJ1bm5lckV2ZW50cyBleHRlbmRzIEFic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXJFdmVudHMge1xuICBjb250ZW50OiAoY29udGVudDogc3RyaW5nKSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBDaGF0Q29tcGxldGlvbkZ1bmN0aW9uUnVubmVyUGFyYW1zPEZ1bmN0aW9uc0FyZ3MgZXh0ZW5kcyBCYXNlRnVuY3Rpb25zQXJncz4gPSBPbWl0PFxuICBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtc05vblN0cmVhbWluZyxcbiAgJ2Z1bmN0aW9ucydcbj4gJiB7XG4gIGZ1bmN0aW9uczogUnVubmFibGVGdW5jdGlvbnM8RnVuY3Rpb25zQXJncz47XG59O1xuXG5leHBvcnQgdHlwZSBDaGF0Q29tcGxldGlvblRvb2xSdW5uZXJQYXJhbXM8RnVuY3Rpb25zQXJncyBleHRlbmRzIEJhc2VGdW5jdGlvbnNBcmdzPiA9IE9taXQ8XG4gIENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zTm9uU3RyZWFtaW5nLFxuICAndG9vbHMnXG4+ICYge1xuICB0b29sczogUnVubmFibGVUb29sczxGdW5jdGlvbnNBcmdzPjtcbn07XG5cbmV4cG9ydCBjbGFzcyBDaGF0Q29tcGxldGlvblJ1bm5lciBleHRlbmRzIEFic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXI8Q2hhdENvbXBsZXRpb25SdW5uZXJFdmVudHM+IHtcbiAgLyoqIEBkZXByZWNhdGVkIC0gcGxlYXNlIHVzZSBgcnVuVG9vbHNgIGluc3RlYWQuICovXG4gIHN0YXRpYyBydW5GdW5jdGlvbnMoXG4gICAgY29tcGxldGlvbnM6IENvbXBsZXRpb25zLFxuICAgIHBhcmFtczogQ2hhdENvbXBsZXRpb25GdW5jdGlvblJ1bm5lclBhcmFtczxhbnlbXT4sXG4gICAgb3B0aW9ucz86IFJ1bm5lck9wdGlvbnMsXG4gICk6IENoYXRDb21wbGV0aW9uUnVubmVyIHtcbiAgICBjb25zdCBydW5uZXIgPSBuZXcgQ2hhdENvbXBsZXRpb25SdW5uZXIoKTtcbiAgICBjb25zdCBvcHRzID0ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGhlYWRlcnM6IHsgLi4ub3B0aW9ucz8uaGVhZGVycywgJ1gtU3RhaW5sZXNzLUhlbHBlci1NZXRob2QnOiAncnVuRnVuY3Rpb25zJyB9LFxuICAgIH07XG4gICAgcnVubmVyLl9ydW4oKCkgPT4gcnVubmVyLl9ydW5GdW5jdGlvbnMoY29tcGxldGlvbnMsIHBhcmFtcywgb3B0cykpO1xuICAgIHJldHVybiBydW5uZXI7XG4gIH1cblxuICBzdGF0aWMgcnVuVG9vbHMoXG4gICAgY29tcGxldGlvbnM6IENvbXBsZXRpb25zLFxuICAgIHBhcmFtczogQ2hhdENvbXBsZXRpb25Ub29sUnVubmVyUGFyYW1zPGFueVtdPixcbiAgICBvcHRpb25zPzogUnVubmVyT3B0aW9ucyxcbiAgKTogQ2hhdENvbXBsZXRpb25SdW5uZXIge1xuICAgIGNvbnN0IHJ1bm5lciA9IG5ldyBDaGF0Q29tcGxldGlvblJ1bm5lcigpO1xuICAgIGNvbnN0IG9wdHMgPSB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgaGVhZGVyczogeyAuLi5vcHRpb25zPy5oZWFkZXJzLCAnWC1TdGFpbmxlc3MtSGVscGVyLU1ldGhvZCc6ICdydW5Ub29scycgfSxcbiAgICB9O1xuICAgIHJ1bm5lci5fcnVuKCgpID0+IHJ1bm5lci5fcnVuVG9vbHMoY29tcGxldGlvbnMsIHBhcmFtcywgb3B0cykpO1xuICAgIHJldHVybiBydW5uZXI7XG4gIH1cblxuICBvdmVycmlkZSBfYWRkTWVzc2FnZShtZXNzYWdlOiBDaGF0Q29tcGxldGlvbk1lc3NhZ2VQYXJhbSkge1xuICAgIHN1cGVyLl9hZGRNZXNzYWdlKG1lc3NhZ2UpO1xuICAgIGlmIChpc0Fzc2lzdGFudE1lc3NhZ2UobWVzc2FnZSkgJiYgbWVzc2FnZS5jb250ZW50KSB7XG4gICAgICB0aGlzLl9lbWl0KCdjb250ZW50JywgbWVzc2FnZS5jb250ZW50IGFzIHN0cmluZyk7XG4gICAgfVxuICB9XG59XG4iLCAiaW1wb3J0ICogYXMgQ29yZSBmcm9tIFwiLi4vY29yZVwiO1xuaW1wb3J0IHsgT3BlbkFJRXJyb3IsIEFQSVVzZXJBYm9ydEVycm9yIH0gZnJvbSBcIi4uL2Vycm9yXCI7XG5pbXBvcnQge1xuICBDb21wbGV0aW9ucyxcbiAgdHlwZSBDaGF0Q29tcGxldGlvbixcbiAgdHlwZSBDaGF0Q29tcGxldGlvbkNodW5rLFxuICB0eXBlIENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zLFxuICB0eXBlIENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zQmFzZSxcbn0gZnJvbSBcIi4uL3Jlc291cmNlcy9jaGF0L2NvbXBsZXRpb25zXCI7XG5pbXBvcnQge1xuICBBYnN0cmFjdENoYXRDb21wbGV0aW9uUnVubmVyLFxuICB0eXBlIEFic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXJFdmVudHMsXG59IGZyb20gJy4vQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lcic7XG5pbXBvcnQgeyB0eXBlIFJlYWRhYmxlU3RyZWFtIH0gZnJvbSBcIi4uL19zaGltcy9pbmRleFwiO1xuaW1wb3J0IHsgU3RyZWFtIH0gZnJvbSBcIi4uL3N0cmVhbWluZ1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRDb21wbGV0aW9uU3RyZWFtRXZlbnRzIGV4dGVuZHMgQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lckV2ZW50cyB7XG4gIGNvbnRlbnQ6IChjb250ZW50RGVsdGE6IHN0cmluZywgY29udGVudFNuYXBzaG90OiBzdHJpbmcpID0+IHZvaWQ7XG4gIGNodW5rOiAoY2h1bms6IENoYXRDb21wbGV0aW9uQ2h1bmssIHNuYXBzaG90OiBDaGF0Q29tcGxldGlvblNuYXBzaG90KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBDaGF0Q29tcGxldGlvblN0cmVhbVBhcmFtcyA9IE9taXQ8Q2hhdENvbXBsZXRpb25DcmVhdGVQYXJhbXNCYXNlLCAnc3RyZWFtJz4gJiB7XG4gIHN0cmVhbT86IHRydWU7XG59O1xuXG5leHBvcnQgY2xhc3MgQ2hhdENvbXBsZXRpb25TdHJlYW1cbiAgZXh0ZW5kcyBBYnN0cmFjdENoYXRDb21wbGV0aW9uUnVubmVyPENoYXRDb21wbGV0aW9uU3RyZWFtRXZlbnRzPlxuICBpbXBsZW1lbnRzIEFzeW5jSXRlcmFibGU8Q2hhdENvbXBsZXRpb25DaHVuaz5cbntcbiAgI2N1cnJlbnRDaGF0Q29tcGxldGlvblNuYXBzaG90OiBDaGF0Q29tcGxldGlvblNuYXBzaG90IHwgdW5kZWZpbmVkO1xuXG4gIGdldCBjdXJyZW50Q2hhdENvbXBsZXRpb25TbmFwc2hvdCgpOiBDaGF0Q29tcGxldGlvblNuYXBzaG90IHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy4jY3VycmVudENoYXRDb21wbGV0aW9uU25hcHNob3Q7XG4gIH1cblxuICAvKipcbiAgICogSW50ZW5kZWQgZm9yIHVzZSBvbiB0aGUgZnJvbnRlbmQsIGNvbnN1bWluZyBhIHN0cmVhbSBwcm9kdWNlZCB3aXRoXG4gICAqIGAudG9SZWFkYWJsZVN0cmVhbSgpYCBvbiB0aGUgYmFja2VuZC5cbiAgICpcbiAgICogTm90ZSB0aGF0IG1lc3NhZ2VzIHNlbnQgdG8gdGhlIG1vZGVsIGRvIG5vdCBhcHBlYXIgaW4gYC5vbignbWVzc2FnZScpYFxuICAgKiBpbiB0aGlzIGNvbnRleHQuXG4gICAqL1xuICBzdGF0aWMgZnJvbVJlYWRhYmxlU3RyZWFtKHN0cmVhbTogUmVhZGFibGVTdHJlYW0pOiBDaGF0Q29tcGxldGlvblN0cmVhbSB7XG4gICAgY29uc3QgcnVubmVyID0gbmV3IENoYXRDb21wbGV0aW9uU3RyZWFtKCk7XG4gICAgcnVubmVyLl9ydW4oKCkgPT4gcnVubmVyLl9mcm9tUmVhZGFibGVTdHJlYW0oc3RyZWFtKSk7XG4gICAgcmV0dXJuIHJ1bm5lcjtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVDaGF0Q29tcGxldGlvbihcbiAgICBjb21wbGV0aW9uczogQ29tcGxldGlvbnMsXG4gICAgcGFyYW1zOiBDaGF0Q29tcGxldGlvblN0cmVhbVBhcmFtcyxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQ2hhdENvbXBsZXRpb25TdHJlYW0ge1xuICAgIGNvbnN0IHJ1bm5lciA9IG5ldyBDaGF0Q29tcGxldGlvblN0cmVhbSgpO1xuICAgIHJ1bm5lci5fcnVuKCgpID0+XG4gICAgICBydW5uZXIuX3J1bkNoYXRDb21wbGV0aW9uKFxuICAgICAgICBjb21wbGV0aW9ucyxcbiAgICAgICAgeyAuLi5wYXJhbXMsIHN0cmVhbTogdHJ1ZSB9LFxuICAgICAgICB7IC4uLm9wdGlvbnMsIGhlYWRlcnM6IHsgLi4ub3B0aW9ucz8uaGVhZGVycywgJ1gtU3RhaW5sZXNzLUhlbHBlci1NZXRob2QnOiAnc3RyZWFtJyB9IH0sXG4gICAgICApLFxuICAgICk7XG4gICAgcmV0dXJuIHJ1bm5lcjtcbiAgfVxuXG4gICNiZWdpblJlcXVlc3QoKSB7XG4gICAgaWYgKHRoaXMuZW5kZWQpIHJldHVybjtcbiAgICB0aGlzLiNjdXJyZW50Q2hhdENvbXBsZXRpb25TbmFwc2hvdCA9IHVuZGVmaW5lZDtcbiAgfVxuICAjYWRkQ2h1bmsoY2h1bms6IENoYXRDb21wbGV0aW9uQ2h1bmspIHtcbiAgICBpZiAodGhpcy5lbmRlZCkgcmV0dXJuO1xuICAgIGNvbnN0IGNvbXBsZXRpb24gPSB0aGlzLiNhY2N1bXVsYXRlQ2hhdENvbXBsZXRpb24oY2h1bmspO1xuICAgIHRoaXMuX2VtaXQoJ2NodW5rJywgY2h1bmssIGNvbXBsZXRpb24pO1xuICAgIGNvbnN0IGRlbHRhID0gY2h1bmsuY2hvaWNlc1swXT8uZGVsdGE/LmNvbnRlbnQ7XG4gICAgY29uc3Qgc25hcHNob3QgPSBjb21wbGV0aW9uLmNob2ljZXNbMF0/Lm1lc3NhZ2U7XG4gICAgaWYgKGRlbHRhICE9IG51bGwgJiYgc25hcHNob3Q/LnJvbGUgPT09ICdhc3Npc3RhbnQnICYmIHNuYXBzaG90Py5jb250ZW50KSB7XG4gICAgICB0aGlzLl9lbWl0KCdjb250ZW50JywgZGVsdGEsIHNuYXBzaG90LmNvbnRlbnQpO1xuICAgIH1cbiAgfVxuICAjZW5kUmVxdWVzdCgpOiBDaGF0Q29tcGxldGlvbiB7XG4gICAgaWYgKHRoaXMuZW5kZWQpIHtcbiAgICAgIHRocm93IG5ldyBPcGVuQUlFcnJvcihgc3RyZWFtIGhhcyBlbmRlZCwgdGhpcyBzaG91bGRuJ3QgaGFwcGVuYCk7XG4gICAgfVxuICAgIGNvbnN0IHNuYXBzaG90ID0gdGhpcy4jY3VycmVudENoYXRDb21wbGV0aW9uU25hcHNob3Q7XG4gICAgaWYgKCFzbmFwc2hvdCkge1xuICAgICAgdGhyb3cgbmV3IE9wZW5BSUVycm9yKGByZXF1ZXN0IGVuZGVkIHdpdGhvdXQgc2VuZGluZyBhbnkgY2h1bmtzYCk7XG4gICAgfVxuICAgIHRoaXMuI2N1cnJlbnRDaGF0Q29tcGxldGlvblNuYXBzaG90ID0gdW5kZWZpbmVkO1xuICAgIHJldHVybiBmaW5hbGl6ZUNoYXRDb21wbGV0aW9uKHNuYXBzaG90KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhc3luYyBfY3JlYXRlQ2hhdENvbXBsZXRpb24oXG4gICAgY29tcGxldGlvbnM6IENvbXBsZXRpb25zLFxuICAgIHBhcmFtczogQ2hhdENvbXBsZXRpb25DcmVhdGVQYXJhbXMsXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IFByb21pc2U8Q2hhdENvbXBsZXRpb24+IHtcbiAgICBjb25zdCBzaWduYWwgPSBvcHRpb25zPy5zaWduYWw7XG4gICAgaWYgKHNpZ25hbCkge1xuICAgICAgaWYgKHNpZ25hbC5hYm9ydGVkKSB0aGlzLmNvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICAgIHNpZ25hbC5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsICgpID0+IHRoaXMuY29udHJvbGxlci5hYm9ydCgpKTtcbiAgICB9XG4gICAgdGhpcy4jYmVnaW5SZXF1ZXN0KCk7XG4gICAgY29uc3Qgc3RyZWFtID0gYXdhaXQgY29tcGxldGlvbnMuY3JlYXRlKFxuICAgICAgeyAuLi5wYXJhbXMsIHN0cmVhbTogdHJ1ZSB9LFxuICAgICAgeyAuLi5vcHRpb25zLCBzaWduYWw6IHRoaXMuY29udHJvbGxlci5zaWduYWwgfSxcbiAgICApO1xuICAgIHRoaXMuX2Nvbm5lY3RlZCgpO1xuICAgIGZvciBhd2FpdCAoY29uc3QgY2h1bmsgb2Ygc3RyZWFtKSB7XG4gICAgICB0aGlzLiNhZGRDaHVuayhjaHVuayk7XG4gICAgfVxuICAgIGlmIChzdHJlYW0uY29udHJvbGxlci5zaWduYWw/LmFib3J0ZWQpIHtcbiAgICAgIHRocm93IG5ldyBBUElVc2VyQWJvcnRFcnJvcigpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fYWRkQ2hhdENvbXBsZXRpb24odGhpcy4jZW5kUmVxdWVzdCgpKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhc3luYyBfZnJvbVJlYWRhYmxlU3RyZWFtKFxuICAgIHJlYWRhYmxlU3RyZWFtOiBSZWFkYWJsZVN0cmVhbSxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogUHJvbWlzZTxDaGF0Q29tcGxldGlvbj4ge1xuICAgIGNvbnN0IHNpZ25hbCA9IG9wdGlvbnM/LnNpZ25hbDtcbiAgICBpZiAoc2lnbmFsKSB7XG4gICAgICBpZiAoc2lnbmFsLmFib3J0ZWQpIHRoaXMuY29udHJvbGxlci5hYm9ydCgpO1xuICAgICAgc2lnbmFsLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCkgPT4gdGhpcy5jb250cm9sbGVyLmFib3J0KCkpO1xuICAgIH1cbiAgICB0aGlzLiNiZWdpblJlcXVlc3QoKTtcbiAgICB0aGlzLl9jb25uZWN0ZWQoKTtcbiAgICBjb25zdCBzdHJlYW0gPSBTdHJlYW0uZnJvbVJlYWRhYmxlU3RyZWFtPENoYXRDb21wbGV0aW9uQ2h1bms+KHJlYWRhYmxlU3RyZWFtLCB0aGlzLmNvbnRyb2xsZXIpO1xuICAgIGxldCBjaGF0SWQ7XG4gICAgZm9yIGF3YWl0IChjb25zdCBjaHVuayBvZiBzdHJlYW0pIHtcbiAgICAgIGlmIChjaGF0SWQgJiYgY2hhdElkICE9PSBjaHVuay5pZCkge1xuICAgICAgICAvLyBBIG5ldyByZXF1ZXN0IGhhcyBiZWVuIG1hZGUuXG4gICAgICAgIHRoaXMuX2FkZENoYXRDb21wbGV0aW9uKHRoaXMuI2VuZFJlcXVlc3QoKSk7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuI2FkZENodW5rKGNodW5rKTtcbiAgICAgIGNoYXRJZCA9IGNodW5rLmlkO1xuICAgIH1cbiAgICBpZiAoc3RyZWFtLmNvbnRyb2xsZXIuc2lnbmFsPy5hYm9ydGVkKSB7XG4gICAgICB0aHJvdyBuZXcgQVBJVXNlckFib3J0RXJyb3IoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2FkZENoYXRDb21wbGV0aW9uKHRoaXMuI2VuZFJlcXVlc3QoKSk7XG4gIH1cblxuICAjYWNjdW11bGF0ZUNoYXRDb21wbGV0aW9uKGNodW5rOiBDaGF0Q29tcGxldGlvbkNodW5rKTogQ2hhdENvbXBsZXRpb25TbmFwc2hvdCB7XG4gICAgbGV0IHNuYXBzaG90ID0gdGhpcy4jY3VycmVudENoYXRDb21wbGV0aW9uU25hcHNob3Q7XG4gICAgY29uc3QgeyBjaG9pY2VzLCAuLi5yZXN0IH0gPSBjaHVuaztcbiAgICBpZiAoIXNuYXBzaG90KSB7XG4gICAgICBzbmFwc2hvdCA9IHRoaXMuI2N1cnJlbnRDaGF0Q29tcGxldGlvblNuYXBzaG90ID0ge1xuICAgICAgICAuLi5yZXN0LFxuICAgICAgICBjaG9pY2VzOiBbXSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIE9iamVjdC5hc3NpZ24oc25hcHNob3QsIHJlc3QpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgeyBkZWx0YSwgZmluaXNoX3JlYXNvbiwgaW5kZXgsIGxvZ3Byb2JzID0gbnVsbCwgLi4ub3RoZXIgfSBvZiBjaHVuay5jaG9pY2VzKSB7XG4gICAgICBsZXQgY2hvaWNlID0gc25hcHNob3QuY2hvaWNlc1tpbmRleF07XG4gICAgICBpZiAoIWNob2ljZSkge1xuICAgICAgICBzbmFwc2hvdC5jaG9pY2VzW2luZGV4XSA9IHsgZmluaXNoX3JlYXNvbiwgaW5kZXgsIG1lc3NhZ2U6IGRlbHRhLCBsb2dwcm9icywgLi4ub3RoZXIgfTtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGlmIChsb2dwcm9icykge1xuICAgICAgICBpZiAoIWNob2ljZS5sb2dwcm9icykge1xuICAgICAgICAgIGNob2ljZS5sb2dwcm9icyA9IGxvZ3Byb2JzO1xuICAgICAgICB9IGVsc2UgaWYgKGxvZ3Byb2JzLmNvbnRlbnQpIHtcbiAgICAgICAgICBjaG9pY2UubG9ncHJvYnMuY29udGVudCA/Pz0gW107XG4gICAgICAgICAgY2hvaWNlLmxvZ3Byb2JzLmNvbnRlbnQucHVzaCguLi5sb2dwcm9icy5jb250ZW50KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpZiAoZmluaXNoX3JlYXNvbikgY2hvaWNlLmZpbmlzaF9yZWFzb24gPSBmaW5pc2hfcmVhc29uO1xuICAgICAgT2JqZWN0LmFzc2lnbihjaG9pY2UsIG90aGVyKTtcblxuICAgICAgaWYgKCFkZWx0YSkgY29udGludWU7IC8vIFNob3VsZG4ndCBoYXBwZW47IGp1c3QgaW4gY2FzZS5cbiAgICAgIGNvbnN0IHsgY29udGVudCwgZnVuY3Rpb25fY2FsbCwgcm9sZSwgdG9vbF9jYWxscyB9ID0gZGVsdGE7XG5cbiAgICAgIGlmIChjb250ZW50KSBjaG9pY2UubWVzc2FnZS5jb250ZW50ID0gKGNob2ljZS5tZXNzYWdlLmNvbnRlbnQgfHwgJycpICsgY29udGVudDtcbiAgICAgIGlmIChyb2xlKSBjaG9pY2UubWVzc2FnZS5yb2xlID0gcm9sZTtcbiAgICAgIGlmIChmdW5jdGlvbl9jYWxsKSB7XG4gICAgICAgIGlmICghY2hvaWNlLm1lc3NhZ2UuZnVuY3Rpb25fY2FsbCkge1xuICAgICAgICAgIGNob2ljZS5tZXNzYWdlLmZ1bmN0aW9uX2NhbGwgPSBmdW5jdGlvbl9jYWxsO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGlmIChmdW5jdGlvbl9jYWxsLm5hbWUpIGNob2ljZS5tZXNzYWdlLmZ1bmN0aW9uX2NhbGwubmFtZSA9IGZ1bmN0aW9uX2NhbGwubmFtZTtcbiAgICAgICAgICBpZiAoZnVuY3Rpb25fY2FsbC5hcmd1bWVudHMpIHtcbiAgICAgICAgICAgIGNob2ljZS5tZXNzYWdlLmZ1bmN0aW9uX2NhbGwuYXJndW1lbnRzID8/PSAnJztcbiAgICAgICAgICAgIGNob2ljZS5tZXNzYWdlLmZ1bmN0aW9uX2NhbGwuYXJndW1lbnRzICs9IGZ1bmN0aW9uX2NhbGwuYXJndW1lbnRzO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRvb2xfY2FsbHMpIHtcbiAgICAgICAgaWYgKCFjaG9pY2UubWVzc2FnZS50b29sX2NhbGxzKSBjaG9pY2UubWVzc2FnZS50b29sX2NhbGxzID0gW107XG4gICAgICAgIGZvciAoY29uc3QgeyBpbmRleCwgaWQsIHR5cGUsIGZ1bmN0aW9uOiBmbiB9IG9mIHRvb2xfY2FsbHMpIHtcbiAgICAgICAgICBjb25zdCB0b29sX2NhbGwgPSAoY2hvaWNlLm1lc3NhZ2UudG9vbF9jYWxsc1tpbmRleF0gPz89IHt9KTtcbiAgICAgICAgICBpZiAoaWQpIHRvb2xfY2FsbC5pZCA9IGlkO1xuICAgICAgICAgIGlmICh0eXBlKSB0b29sX2NhbGwudHlwZSA9IHR5cGU7XG4gICAgICAgICAgaWYgKGZuKSB0b29sX2NhbGwuZnVuY3Rpb24gPz89IHsgYXJndW1lbnRzOiAnJyB9O1xuICAgICAgICAgIGlmIChmbj8ubmFtZSkgdG9vbF9jYWxsLmZ1bmN0aW9uIS5uYW1lID0gZm4ubmFtZTtcbiAgICAgICAgICBpZiAoZm4/LmFyZ3VtZW50cykgdG9vbF9jYWxsLmZ1bmN0aW9uIS5hcmd1bWVudHMgKz0gZm4uYXJndW1lbnRzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzbmFwc2hvdDtcbiAgfVxuXG4gIFtTeW1ib2wuYXN5bmNJdGVyYXRvcl0oKTogQXN5bmNJdGVyYXRvcjxDaGF0Q29tcGxldGlvbkNodW5rPiB7XG4gICAgY29uc3QgcHVzaFF1ZXVlOiBDaGF0Q29tcGxldGlvbkNodW5rW10gPSBbXTtcbiAgICBjb25zdCByZWFkUXVldWU6ICgoY2h1bms6IENoYXRDb21wbGV0aW9uQ2h1bmsgfCB1bmRlZmluZWQpID0+IHZvaWQpW10gPSBbXTtcbiAgICBsZXQgZG9uZSA9IGZhbHNlO1xuXG4gICAgdGhpcy5vbignY2h1bmsnLCAoY2h1bmspID0+IHtcbiAgICAgIGNvbnN0IHJlYWRlciA9IHJlYWRRdWV1ZS5zaGlmdCgpO1xuICAgICAgaWYgKHJlYWRlcikge1xuICAgICAgICByZWFkZXIoY2h1bmspO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcHVzaFF1ZXVlLnB1c2goY2h1bmspO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5vbignZW5kJywgKCkgPT4ge1xuICAgICAgZG9uZSA9IHRydWU7XG4gICAgICBmb3IgKGNvbnN0IHJlYWRlciBvZiByZWFkUXVldWUpIHtcbiAgICAgICAgcmVhZGVyKHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgICByZWFkUXVldWUubGVuZ3RoID0gMDtcbiAgICB9KTtcblxuICAgIHJldHVybiB7XG4gICAgICBuZXh0OiBhc3luYyAoKTogUHJvbWlzZTxJdGVyYXRvclJlc3VsdDxDaGF0Q29tcGxldGlvbkNodW5rPj4gPT4ge1xuICAgICAgICBpZiAoIXB1c2hRdWV1ZS5sZW5ndGgpIHtcbiAgICAgICAgICBpZiAoZG9uZSkge1xuICAgICAgICAgICAgcmV0dXJuIHsgdmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1ZSB9O1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gbmV3IFByb21pc2U8Q2hhdENvbXBsZXRpb25DaHVuayB8IHVuZGVmaW5lZD4oKHJlc29sdmUpID0+IHJlYWRRdWV1ZS5wdXNoKHJlc29sdmUpKS50aGVuKFxuICAgICAgICAgICAgKGNodW5rKSA9PiAoY2h1bmsgPyB7IHZhbHVlOiBjaHVuaywgZG9uZTogZmFsc2UgfSA6IHsgdmFsdWU6IHVuZGVmaW5lZCwgZG9uZTogdHJ1ZSB9KSxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGNodW5rID0gcHVzaFF1ZXVlLnNoaWZ0KCkhO1xuICAgICAgICByZXR1cm4geyB2YWx1ZTogY2h1bmssIGRvbmU6IGZhbHNlIH07XG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICB0b1JlYWRhYmxlU3RyZWFtKCk6IFJlYWRhYmxlU3RyZWFtIHtcbiAgICBjb25zdCBzdHJlYW0gPSBuZXcgU3RyZWFtKHRoaXNbU3ltYm9sLmFzeW5jSXRlcmF0b3JdLmJpbmQodGhpcyksIHRoaXMuY29udHJvbGxlcik7XG4gICAgcmV0dXJuIHN0cmVhbS50b1JlYWRhYmxlU3RyZWFtKCk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZmluYWxpemVDaGF0Q29tcGxldGlvbihzbmFwc2hvdDogQ2hhdENvbXBsZXRpb25TbmFwc2hvdCk6IENoYXRDb21wbGV0aW9uIHtcbiAgY29uc3QgeyBpZCwgY2hvaWNlcywgY3JlYXRlZCwgbW9kZWwgfSA9IHNuYXBzaG90O1xuICByZXR1cm4ge1xuICAgIGlkLFxuICAgIGNob2ljZXM6IGNob2ljZXMubWFwKCh7IG1lc3NhZ2UsIGZpbmlzaF9yZWFzb24sIGluZGV4LCBsb2dwcm9icyB9KTogQ2hhdENvbXBsZXRpb24uQ2hvaWNlID0+IHtcbiAgICAgIGlmICghZmluaXNoX3JlYXNvbikgdGhyb3cgbmV3IE9wZW5BSUVycm9yKGBtaXNzaW5nIGZpbmlzaF9yZWFzb24gZm9yIGNob2ljZSAke2luZGV4fWApO1xuICAgICAgY29uc3QgeyBjb250ZW50ID0gbnVsbCwgZnVuY3Rpb25fY2FsbCwgdG9vbF9jYWxscyB9ID0gbWVzc2FnZTtcbiAgICAgIGNvbnN0IHJvbGUgPSBtZXNzYWdlLnJvbGUgYXMgJ2Fzc2lzdGFudCc7IC8vIHRoaXMgaXMgd2hhdCB3ZSBleHBlY3Q7IGluIHRoZW9yeSBpdCBjb3VsZCBiZSBkaWZmZXJlbnQgd2hpY2ggd291bGQgbWFrZSBvdXIgdHlwZXMgYSBzbGlnaHQgbGllIGJ1dCB3b3VsZCBiZSBmaW5lLlxuICAgICAgaWYgKCFyb2xlKSB0aHJvdyBuZXcgT3BlbkFJRXJyb3IoYG1pc3Npbmcgcm9sZSBmb3IgY2hvaWNlICR7aW5kZXh9YCk7XG4gICAgICBpZiAoZnVuY3Rpb25fY2FsbCkge1xuICAgICAgICBjb25zdCB7IGFyZ3VtZW50czogYXJncywgbmFtZSB9ID0gZnVuY3Rpb25fY2FsbDtcbiAgICAgICAgaWYgKGFyZ3MgPT0gbnVsbCkgdGhyb3cgbmV3IE9wZW5BSUVycm9yKGBtaXNzaW5nIGZ1bmN0aW9uX2NhbGwuYXJndW1lbnRzIGZvciBjaG9pY2UgJHtpbmRleH1gKTtcbiAgICAgICAgaWYgKCFuYW1lKSB0aHJvdyBuZXcgT3BlbkFJRXJyb3IoYG1pc3NpbmcgZnVuY3Rpb25fY2FsbC5uYW1lIGZvciBjaG9pY2UgJHtpbmRleH1gKTtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBtZXNzYWdlOiB7IGNvbnRlbnQsIGZ1bmN0aW9uX2NhbGw6IHsgYXJndW1lbnRzOiBhcmdzLCBuYW1lIH0sIHJvbGUgfSxcbiAgICAgICAgICBmaW5pc2hfcmVhc29uLFxuICAgICAgICAgIGluZGV4LFxuICAgICAgICAgIGxvZ3Byb2JzLFxuICAgICAgICB9O1xuICAgICAgfVxuICAgICAgaWYgKHRvb2xfY2FsbHMpIHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICBpbmRleCxcbiAgICAgICAgICBmaW5pc2hfcmVhc29uLFxuICAgICAgICAgIGxvZ3Byb2JzLFxuICAgICAgICAgIG1lc3NhZ2U6IHtcbiAgICAgICAgICAgIHJvbGUsXG4gICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgdG9vbF9jYWxsczogdG9vbF9jYWxscy5tYXAoKHRvb2xfY2FsbCwgaSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB7IGZ1bmN0aW9uOiBmbiwgdHlwZSwgaWQgfSA9IHRvb2xfY2FsbDtcbiAgICAgICAgICAgICAgY29uc3QgeyBhcmd1bWVudHM6IGFyZ3MsIG5hbWUgfSA9IGZuIHx8IHt9O1xuICAgICAgICAgICAgICBpZiAoaWQgPT0gbnVsbClcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgT3BlbkFJRXJyb3IoYG1pc3NpbmcgY2hvaWNlc1ske2luZGV4fV0udG9vbF9jYWxsc1ske2l9XS5pZFxcbiR7c3RyKHNuYXBzaG90KX1gKTtcbiAgICAgICAgICAgICAgaWYgKHR5cGUgPT0gbnVsbClcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgT3BlbkFJRXJyb3IoYG1pc3NpbmcgY2hvaWNlc1ske2luZGV4fV0udG9vbF9jYWxsc1ske2l9XS50eXBlXFxuJHtzdHIoc25hcHNob3QpfWApO1xuICAgICAgICAgICAgICBpZiAobmFtZSA9PSBudWxsKVxuICAgICAgICAgICAgICAgIHRocm93IG5ldyBPcGVuQUlFcnJvcihcbiAgICAgICAgICAgICAgICAgIGBtaXNzaW5nIGNob2ljZXNbJHtpbmRleH1dLnRvb2xfY2FsbHNbJHtpfV0uZnVuY3Rpb24ubmFtZVxcbiR7c3RyKHNuYXBzaG90KX1gLFxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgIGlmIChhcmdzID09IG51bGwpXG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IE9wZW5BSUVycm9yKFxuICAgICAgICAgICAgICAgICAgYG1pc3NpbmcgY2hvaWNlc1ske2luZGV4fV0udG9vbF9jYWxsc1ske2l9XS5mdW5jdGlvbi5hcmd1bWVudHNcXG4ke3N0cihzbmFwc2hvdCl9YCxcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgIHJldHVybiB7IGlkLCB0eXBlLCBmdW5jdGlvbjogeyBuYW1lLCBhcmd1bWVudHM6IGFyZ3MgfSB9O1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSxcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHJldHVybiB7IG1lc3NhZ2U6IHsgY29udGVudDogY29udGVudCwgcm9sZSB9LCBmaW5pc2hfcmVhc29uLCBpbmRleCwgbG9ncHJvYnMgfTtcbiAgICB9KSxcbiAgICBjcmVhdGVkLFxuICAgIG1vZGVsLFxuICAgIG9iamVjdDogJ2NoYXQuY29tcGxldGlvbicsXG4gIH07XG59XG5cbmZ1bmN0aW9uIHN0cih4OiB1bmtub3duKSB7XG4gIHJldHVybiBKU09OLnN0cmluZ2lmeSh4KTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgc3RyZWFtZWQgY2h1bmsgb2YgYSBjaGF0IGNvbXBsZXRpb24gcmVzcG9uc2UgcmV0dXJuZWQgYnkgbW9kZWwsXG4gKiBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgaW5wdXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdENvbXBsZXRpb25TbmFwc2hvdCB7XG4gIC8qKlxuICAgKiBBIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgY2hhdCBjb21wbGV0aW9uLlxuICAgKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQSBsaXN0IG9mIGNoYXQgY29tcGxldGlvbiBjaG9pY2VzLiBDYW4gYmUgbW9yZSB0aGFuIG9uZSBpZiBgbmAgaXMgZ3JlYXRlclxuICAgKiB0aGFuIDEuXG4gICAqL1xuICBjaG9pY2VzOiBBcnJheTxDaGF0Q29tcGxldGlvblNuYXBzaG90LkNob2ljZT47XG5cbiAgLyoqXG4gICAqIFRoZSBVbml4IHRpbWVzdGFtcCAoaW4gc2Vjb25kcykgb2Ygd2hlbiB0aGUgY2hhdCBjb21wbGV0aW9uIHdhcyBjcmVhdGVkLlxuICAgKi9cbiAgY3JlYXRlZDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9kZWwgdG8gZ2VuZXJhdGUgdGhlIGNvbXBsZXRpb24uXG4gICAqL1xuICBtb2RlbDogc3RyaW5nO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENoYXRDb21wbGV0aW9uU25hcHNob3Qge1xuICBleHBvcnQgaW50ZXJmYWNlIENob2ljZSB7XG4gICAgLyoqXG4gICAgICogQSBjaGF0IGNvbXBsZXRpb24gZGVsdGEgZ2VuZXJhdGVkIGJ5IHN0cmVhbWVkIG1vZGVsIHJlc3BvbnNlcy5cbiAgICAgKi9cbiAgICBtZXNzYWdlOiBDaG9pY2UuTWVzc2FnZTtcblxuICAgIC8qKlxuICAgICAqIFRoZSByZWFzb24gdGhlIG1vZGVsIHN0b3BwZWQgZ2VuZXJhdGluZyB0b2tlbnMuIFRoaXMgd2lsbCBiZSBgc3RvcGAgaWYgdGhlIG1vZGVsXG4gICAgICogaGl0IGEgbmF0dXJhbCBzdG9wIHBvaW50IG9yIGEgcHJvdmlkZWQgc3RvcCBzZXF1ZW5jZSwgYGxlbmd0aGAgaWYgdGhlIG1heGltdW1cbiAgICAgKiBudW1iZXIgb2YgdG9rZW5zIHNwZWNpZmllZCBpbiB0aGUgcmVxdWVzdCB3YXMgcmVhY2hlZCwgYGNvbnRlbnRfZmlsdGVyYCBpZlxuICAgICAqIGNvbnRlbnQgd2FzIG9taXR0ZWQgZHVlIHRvIGEgZmxhZyBmcm9tIG91ciBjb250ZW50IGZpbHRlcnMsIG9yIGBmdW5jdGlvbl9jYWxsYFxuICAgICAqIGlmIHRoZSBtb2RlbCBjYWxsZWQgYSBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBmaW5pc2hfcmVhc29uOiBDaGF0Q29tcGxldGlvbi5DaG9pY2VbJ2ZpbmlzaF9yZWFzb24nXSB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBMb2cgcHJvYmFiaWxpdHkgaW5mb3JtYXRpb24gZm9yIHRoZSBjaG9pY2UuXG4gICAgICovXG4gICAgbG9ncHJvYnM6IENoYXRDb21wbGV0aW9uLkNob2ljZS5Mb2dwcm9icyB8IG51bGw7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaW5kZXggb2YgdGhlIGNob2ljZSBpbiB0aGUgbGlzdCBvZiBjaG9pY2VzLlxuICAgICAqL1xuICAgIGluZGV4OiBudW1iZXI7XG4gIH1cblxuICBleHBvcnQgbmFtZXNwYWNlIENob2ljZSB7XG4gICAgLyoqXG4gICAgICogQSBjaGF0IGNvbXBsZXRpb24gZGVsdGEgZ2VuZXJhdGVkIGJ5IHN0cmVhbWVkIG1vZGVsIHJlc3BvbnNlcy5cbiAgICAgKi9cbiAgICBleHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2Uge1xuICAgICAgLyoqXG4gICAgICAgKiBUaGUgY29udGVudHMgb2YgdGhlIGNodW5rIG1lc3NhZ2UuXG4gICAgICAgKi9cbiAgICAgIGNvbnRlbnQ/OiBzdHJpbmcgfCBudWxsO1xuXG4gICAgICAvKipcbiAgICAgICAqIFRoZSBuYW1lIGFuZCBhcmd1bWVudHMgb2YgYSBmdW5jdGlvbiB0aGF0IHNob3VsZCBiZSBjYWxsZWQsIGFzIGdlbmVyYXRlZCBieSB0aGVcbiAgICAgICAqIG1vZGVsLlxuICAgICAgICovXG4gICAgICBmdW5jdGlvbl9jYWxsPzogTWVzc2FnZS5GdW5jdGlvbkNhbGw7XG5cbiAgICAgIHRvb2xfY2FsbHM/OiBBcnJheTxNZXNzYWdlLlRvb2xDYWxsPjtcblxuICAgICAgLyoqXG4gICAgICAgKiBUaGUgcm9sZSBvZiB0aGUgYXV0aG9yIG9mIHRoaXMgbWVzc2FnZS5cbiAgICAgICAqL1xuICAgICAgcm9sZT86ICdzeXN0ZW0nIHwgJ3VzZXInIHwgJ2Fzc2lzdGFudCcgfCAnZnVuY3Rpb24nIHwgJ3Rvb2wnO1xuICAgIH1cblxuICAgIGV4cG9ydCBuYW1lc3BhY2UgTWVzc2FnZSB7XG4gICAgICBleHBvcnQgaW50ZXJmYWNlIFRvb2xDYWxsIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRoZSBJRCBvZiB0aGUgdG9vbCBjYWxsLlxuICAgICAgICAgKi9cbiAgICAgICAgaWQ/OiBzdHJpbmc7XG5cbiAgICAgICAgZnVuY3Rpb24/OiBUb29sQ2FsbC5GdW5jdGlvbjtcblxuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIHR5cGUgb2YgdGhlIHRvb2wuXG4gICAgICAgICAqL1xuICAgICAgICB0eXBlPzogJ2Z1bmN0aW9uJztcbiAgICAgIH1cblxuICAgICAgZXhwb3J0IG5hbWVzcGFjZSBUb29sQ2FsbCB7XG4gICAgICAgIGV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb24ge1xuICAgICAgICAgIC8qKlxuICAgICAgICAgICAqIFRoZSBhcmd1bWVudHMgdG8gY2FsbCB0aGUgZnVuY3Rpb24gd2l0aCwgYXMgZ2VuZXJhdGVkIGJ5IHRoZSBtb2RlbCBpbiBKU09OXG4gICAgICAgICAgICogZm9ybWF0LiBOb3RlIHRoYXQgdGhlIG1vZGVsIGRvZXMgbm90IGFsd2F5cyBnZW5lcmF0ZSB2YWxpZCBKU09OLCBhbmQgbWF5XG4gICAgICAgICAgICogaGFsbHVjaW5hdGUgcGFyYW1ldGVycyBub3QgZGVmaW5lZCBieSB5b3VyIGZ1bmN0aW9uIHNjaGVtYS4gVmFsaWRhdGUgdGhlXG4gICAgICAgICAgICogYXJndW1lbnRzIGluIHlvdXIgY29kZSBiZWZvcmUgY2FsbGluZyB5b3VyIGZ1bmN0aW9uLlxuICAgICAgICAgICAqL1xuICAgICAgICAgIGFyZ3VtZW50cz86IHN0cmluZztcblxuICAgICAgICAgIC8qKlxuICAgICAgICAgICAqIFRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB0byBjYWxsLlxuICAgICAgICAgICAqL1xuICAgICAgICAgIG5hbWU/OiBzdHJpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUaGUgbmFtZSBhbmQgYXJndW1lbnRzIG9mIGEgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgY2FsbGVkLCBhcyBnZW5lcmF0ZWQgYnkgdGhlXG4gICAgICAgKiBtb2RlbC5cbiAgICAgICAqL1xuICAgICAgZXhwb3J0IGludGVyZmFjZSBGdW5jdGlvbkNhbGwge1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIGFyZ3VtZW50cyB0byBjYWxsIHRoZSBmdW5jdGlvbiB3aXRoLCBhcyBnZW5lcmF0ZWQgYnkgdGhlIG1vZGVsIGluIEpTT05cbiAgICAgICAgICogZm9ybWF0LiBOb3RlIHRoYXQgdGhlIG1vZGVsIGRvZXMgbm90IGFsd2F5cyBnZW5lcmF0ZSB2YWxpZCBKU09OLCBhbmQgbWF5XG4gICAgICAgICAqIGhhbGx1Y2luYXRlIHBhcmFtZXRlcnMgbm90IGRlZmluZWQgYnkgeW91ciBmdW5jdGlvbiBzY2hlbWEuIFZhbGlkYXRlIHRoZVxuICAgICAgICAgKiBhcmd1bWVudHMgaW4geW91ciBjb2RlIGJlZm9yZSBjYWxsaW5nIHlvdXIgZnVuY3Rpb24uXG4gICAgICAgICAqL1xuICAgICAgICBhcmd1bWVudHM/OiBzdHJpbmc7XG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbiB0byBjYWxsLlxuICAgICAgICAgKi9cbiAgICAgICAgbmFtZT86IHN0cmluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsICJpbXBvcnQge1xuICBDb21wbGV0aW9ucyxcbiAgdHlwZSBDaGF0Q29tcGxldGlvbkNodW5rLFxuICB0eXBlIENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zU3RyZWFtaW5nLFxufSBmcm9tIFwiLi4vcmVzb3VyY2VzL2NoYXQvY29tcGxldGlvbnNcIjtcbmltcG9ydCB7IFJ1bm5lck9wdGlvbnMsIHR5cGUgQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lckV2ZW50cyB9IGZyb20gJy4vQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lcic7XG5pbXBvcnQgeyB0eXBlIFJlYWRhYmxlU3RyZWFtIH0gZnJvbSBcIi4uL19zaGltcy9pbmRleFwiO1xuaW1wb3J0IHsgUnVubmFibGVUb29scywgdHlwZSBCYXNlRnVuY3Rpb25zQXJncywgdHlwZSBSdW5uYWJsZUZ1bmN0aW9ucyB9IGZyb20gJy4vUnVubmFibGVGdW5jdGlvbic7XG5pbXBvcnQgeyBDaGF0Q29tcGxldGlvblNuYXBzaG90LCBDaGF0Q29tcGxldGlvblN0cmVhbSB9IGZyb20gJy4vQ2hhdENvbXBsZXRpb25TdHJlYW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRDb21wbGV0aW9uU3RyZWFtRXZlbnRzIGV4dGVuZHMgQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lckV2ZW50cyB7XG4gIGNvbnRlbnQ6IChjb250ZW50RGVsdGE6IHN0cmluZywgY29udGVudFNuYXBzaG90OiBzdHJpbmcpID0+IHZvaWQ7XG4gIGNodW5rOiAoY2h1bms6IENoYXRDb21wbGV0aW9uQ2h1bmssIHNuYXBzaG90OiBDaGF0Q29tcGxldGlvblNuYXBzaG90KSA9PiB2b2lkO1xufVxuXG5leHBvcnQgdHlwZSBDaGF0Q29tcGxldGlvblN0cmVhbWluZ0Z1bmN0aW9uUnVubmVyUGFyYW1zPEZ1bmN0aW9uc0FyZ3MgZXh0ZW5kcyBCYXNlRnVuY3Rpb25zQXJncz4gPSBPbWl0PFxuICBDaGF0Q29tcGxldGlvbkNyZWF0ZVBhcmFtc1N0cmVhbWluZyxcbiAgJ2Z1bmN0aW9ucydcbj4gJiB7XG4gIGZ1bmN0aW9uczogUnVubmFibGVGdW5jdGlvbnM8RnVuY3Rpb25zQXJncz47XG59O1xuXG5leHBvcnQgdHlwZSBDaGF0Q29tcGxldGlvblN0cmVhbWluZ1Rvb2xSdW5uZXJQYXJhbXM8RnVuY3Rpb25zQXJncyBleHRlbmRzIEJhc2VGdW5jdGlvbnNBcmdzPiA9IE9taXQ8XG4gIENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zU3RyZWFtaW5nLFxuICAndG9vbHMnXG4+ICYge1xuICB0b29sczogUnVubmFibGVUb29sczxGdW5jdGlvbnNBcmdzPjtcbn07XG5cbmV4cG9ydCBjbGFzcyBDaGF0Q29tcGxldGlvblN0cmVhbWluZ1J1bm5lclxuICBleHRlbmRzIENoYXRDb21wbGV0aW9uU3RyZWFtXG4gIGltcGxlbWVudHMgQXN5bmNJdGVyYWJsZTxDaGF0Q29tcGxldGlvbkNodW5rPlxue1xuICBzdGF0aWMgb3ZlcnJpZGUgZnJvbVJlYWRhYmxlU3RyZWFtKHN0cmVhbTogUmVhZGFibGVTdHJlYW0pOiBDaGF0Q29tcGxldGlvblN0cmVhbWluZ1J1bm5lciB7XG4gICAgY29uc3QgcnVubmVyID0gbmV3IENoYXRDb21wbGV0aW9uU3RyZWFtaW5nUnVubmVyKCk7XG4gICAgcnVubmVyLl9ydW4oKCkgPT4gcnVubmVyLl9mcm9tUmVhZGFibGVTdHJlYW0oc3RyZWFtKSk7XG4gICAgcmV0dXJuIHJ1bm5lcjtcbiAgfVxuXG4gIC8qKiBAZGVwcmVjYXRlZCAtIHBsZWFzZSB1c2UgYHJ1blRvb2xzYCBpbnN0ZWFkLiAqL1xuICBzdGF0aWMgcnVuRnVuY3Rpb25zPFQgZXh0ZW5kcyAoc3RyaW5nIHwgb2JqZWN0KVtdPihcbiAgICBjb21wbGV0aW9uczogQ29tcGxldGlvbnMsXG4gICAgcGFyYW1zOiBDaGF0Q29tcGxldGlvblN0cmVhbWluZ0Z1bmN0aW9uUnVubmVyUGFyYW1zPFQ+LFxuICAgIG9wdGlvbnM/OiBSdW5uZXJPcHRpb25zLFxuICApOiBDaGF0Q29tcGxldGlvblN0cmVhbWluZ1J1bm5lciB7XG4gICAgY29uc3QgcnVubmVyID0gbmV3IENoYXRDb21wbGV0aW9uU3RyZWFtaW5nUnVubmVyKCk7XG4gICAgY29uc3Qgb3B0cyA9IHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBoZWFkZXJzOiB7IC4uLm9wdGlvbnM/LmhlYWRlcnMsICdYLVN0YWlubGVzcy1IZWxwZXItTWV0aG9kJzogJ3J1bkZ1bmN0aW9ucycgfSxcbiAgICB9O1xuICAgIHJ1bm5lci5fcnVuKCgpID0+IHJ1bm5lci5fcnVuRnVuY3Rpb25zKGNvbXBsZXRpb25zLCBwYXJhbXMsIG9wdHMpKTtcbiAgICByZXR1cm4gcnVubmVyO1xuICB9XG5cbiAgc3RhdGljIHJ1blRvb2xzPFQgZXh0ZW5kcyAoc3RyaW5nIHwgb2JqZWN0KVtdPihcbiAgICBjb21wbGV0aW9uczogQ29tcGxldGlvbnMsXG4gICAgcGFyYW1zOiBDaGF0Q29tcGxldGlvblN0cmVhbWluZ1Rvb2xSdW5uZXJQYXJhbXM8VD4sXG4gICAgb3B0aW9ucz86IFJ1bm5lck9wdGlvbnMsXG4gICk6IENoYXRDb21wbGV0aW9uU3RyZWFtaW5nUnVubmVyIHtcbiAgICBjb25zdCBydW5uZXIgPSBuZXcgQ2hhdENvbXBsZXRpb25TdHJlYW1pbmdSdW5uZXIoKTtcbiAgICBjb25zdCBvcHRzID0ge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGhlYWRlcnM6IHsgLi4ub3B0aW9ucz8uaGVhZGVycywgJ1gtU3RhaW5sZXNzLUhlbHBlci1NZXRob2QnOiAncnVuVG9vbHMnIH0sXG4gICAgfTtcbiAgICBydW5uZXIuX3J1bigoKSA9PiBydW5uZXIuX3J1blRvb2xzKGNvbXBsZXRpb25zLCBwYXJhbXMsIG9wdHMpKTtcbiAgICByZXR1cm4gcnVubmVyO1xuICB9XG59XG4iLCAiLy8gRmlsZSBnZW5lcmF0ZWQgZnJvbSBvdXIgT3BlbkFQSSBzcGVjIGJ5IFN0YWlubGVzcy5cblxuaW1wb3J0ICogYXMgQ29yZSBmcm9tIFwiLi4vLi4vLi4vY29yZVwiO1xuaW1wb3J0IHsgQVBJUmVzb3VyY2UgfSBmcm9tIFwiLi4vLi4vLi4vcmVzb3VyY2VcIjtcbmltcG9ydCB7IENoYXRDb21wbGV0aW9uUnVubmVyLCBDaGF0Q29tcGxldGlvbkZ1bmN0aW9uUnVubmVyUGFyYW1zIH0gZnJvbSBcIi4uLy4uLy4uL2xpYi9DaGF0Q29tcGxldGlvblJ1bm5lclwiO1xuZXhwb3J0IHsgQ2hhdENvbXBsZXRpb25SdW5uZXIsIENoYXRDb21wbGV0aW9uRnVuY3Rpb25SdW5uZXJQYXJhbXMgfSBmcm9tIFwiLi4vLi4vLi4vbGliL0NoYXRDb21wbGV0aW9uUnVubmVyXCI7XG5pbXBvcnQge1xuICBDaGF0Q29tcGxldGlvblN0cmVhbWluZ1J1bm5lcixcbiAgQ2hhdENvbXBsZXRpb25TdHJlYW1pbmdGdW5jdGlvblJ1bm5lclBhcmFtcyxcbn0gZnJvbSBcIi4uLy4uLy4uL2xpYi9DaGF0Q29tcGxldGlvblN0cmVhbWluZ1J1bm5lclwiO1xuZXhwb3J0IHtcbiAgQ2hhdENvbXBsZXRpb25TdHJlYW1pbmdSdW5uZXIsXG4gIENoYXRDb21wbGV0aW9uU3RyZWFtaW5nRnVuY3Rpb25SdW5uZXJQYXJhbXMsXG59IGZyb20gXCIuLi8uLi8uLi9saWIvQ2hhdENvbXBsZXRpb25TdHJlYW1pbmdSdW5uZXJcIjtcbmltcG9ydCB7IEJhc2VGdW5jdGlvbnNBcmdzIH0gZnJvbSBcIi4uLy4uLy4uL2xpYi9SdW5uYWJsZUZ1bmN0aW9uXCI7XG5leHBvcnQge1xuICBSdW5uYWJsZUZ1bmN0aW9uLFxuICBSdW5uYWJsZUZ1bmN0aW9ucyxcbiAgUnVubmFibGVGdW5jdGlvbldpdGhQYXJzZSxcbiAgUnVubmFibGVGdW5jdGlvbldpdGhvdXRQYXJzZSxcbiAgUGFyc2luZ0Z1bmN0aW9uLFxuICBQYXJzaW5nVG9vbEZ1bmN0aW9uLFxufSBmcm9tIFwiLi4vLi4vLi4vbGliL1J1bm5hYmxlRnVuY3Rpb25cIjtcbmltcG9ydCB7IENoYXRDb21wbGV0aW9uVG9vbFJ1bm5lclBhcmFtcyB9IGZyb20gXCIuLi8uLi8uLi9saWIvQ2hhdENvbXBsZXRpb25SdW5uZXJcIjtcbmV4cG9ydCB7IENoYXRDb21wbGV0aW9uVG9vbFJ1bm5lclBhcmFtcyB9IGZyb20gXCIuLi8uLi8uLi9saWIvQ2hhdENvbXBsZXRpb25SdW5uZXJcIjtcbmltcG9ydCB7IENoYXRDb21wbGV0aW9uU3RyZWFtaW5nVG9vbFJ1bm5lclBhcmFtcyB9IGZyb20gXCIuLi8uLi8uLi9saWIvQ2hhdENvbXBsZXRpb25TdHJlYW1pbmdSdW5uZXJcIjtcbmV4cG9ydCB7IENoYXRDb21wbGV0aW9uU3RyZWFtaW5nVG9vbFJ1bm5lclBhcmFtcyB9IGZyb20gXCIuLi8uLi8uLi9saWIvQ2hhdENvbXBsZXRpb25TdHJlYW1pbmdSdW5uZXJcIjtcbmltcG9ydCB7IENoYXRDb21wbGV0aW9uU3RyZWFtLCB0eXBlIENoYXRDb21wbGV0aW9uU3RyZWFtUGFyYW1zIH0gZnJvbSBcIi4uLy4uLy4uL2xpYi9DaGF0Q29tcGxldGlvblN0cmVhbVwiO1xuZXhwb3J0IHsgQ2hhdENvbXBsZXRpb25TdHJlYW0sIHR5cGUgQ2hhdENvbXBsZXRpb25TdHJlYW1QYXJhbXMgfSBmcm9tIFwiLi4vLi4vLi4vbGliL0NoYXRDb21wbGV0aW9uU3RyZWFtXCI7XG5cbmV4cG9ydCBjbGFzcyBDb21wbGV0aW9ucyBleHRlbmRzIEFQSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkIC0gdXNlIGBydW5Ub29sc2AgaW5zdGVhZC5cbiAgICovXG4gIHJ1bkZ1bmN0aW9uczxGdW5jdGlvbnNBcmdzIGV4dGVuZHMgQmFzZUZ1bmN0aW9uc0FyZ3M+KFxuICAgIGJvZHk6IENoYXRDb21wbGV0aW9uRnVuY3Rpb25SdW5uZXJQYXJhbXM8RnVuY3Rpb25zQXJncz4sXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENoYXRDb21wbGV0aW9uUnVubmVyO1xuICBydW5GdW5jdGlvbnM8RnVuY3Rpb25zQXJncyBleHRlbmRzIEJhc2VGdW5jdGlvbnNBcmdzPihcbiAgICBib2R5OiBDaGF0Q29tcGxldGlvblN0cmVhbWluZ0Z1bmN0aW9uUnVubmVyUGFyYW1zPEZ1bmN0aW9uc0FyZ3M+LFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBDaGF0Q29tcGxldGlvblN0cmVhbWluZ1J1bm5lcjtcbiAgcnVuRnVuY3Rpb25zPEZ1bmN0aW9uc0FyZ3MgZXh0ZW5kcyBCYXNlRnVuY3Rpb25zQXJncz4oXG4gICAgYm9keTpcbiAgICAgIHwgQ2hhdENvbXBsZXRpb25GdW5jdGlvblJ1bm5lclBhcmFtczxGdW5jdGlvbnNBcmdzPlxuICAgICAgfCBDaGF0Q29tcGxldGlvblN0cmVhbWluZ0Z1bmN0aW9uUnVubmVyUGFyYW1zPEZ1bmN0aW9uc0FyZ3M+LFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBDaGF0Q29tcGxldGlvblJ1bm5lciB8IENoYXRDb21wbGV0aW9uU3RyZWFtaW5nUnVubmVyIHtcbiAgICBpZiAoYm9keS5zdHJlYW0pIHtcbiAgICAgIHJldHVybiBDaGF0Q29tcGxldGlvblN0cmVhbWluZ1J1bm5lci5ydW5GdW5jdGlvbnMoXG4gICAgICAgIHRoaXMuX2NsaWVudC5jaGF0LmNvbXBsZXRpb25zLFxuICAgICAgICBib2R5IGFzIENoYXRDb21wbGV0aW9uU3RyZWFtaW5nRnVuY3Rpb25SdW5uZXJQYXJhbXM8RnVuY3Rpb25zQXJncz4sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gQ2hhdENvbXBsZXRpb25SdW5uZXIucnVuRnVuY3Rpb25zKFxuICAgICAgdGhpcy5fY2xpZW50LmNoYXQuY29tcGxldGlvbnMsXG4gICAgICBib2R5IGFzIENoYXRDb21wbGV0aW9uRnVuY3Rpb25SdW5uZXJQYXJhbXM8RnVuY3Rpb25zQXJncz4sXG4gICAgICBvcHRpb25zLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQSBjb252ZW5pZW5jZSBoZWxwZXIgZm9yIHVzaW5nIHRvb2wgY2FsbHMgd2l0aCB0aGUgL2NoYXQvY29tcGxldGlvbnMgZW5kcG9pbnRcbiAgICogd2hpY2ggYXV0b21hdGljYWxseSBjYWxscyB0aGUgSmF2YVNjcmlwdCBmdW5jdGlvbnMgeW91IHByb3ZpZGUgYW5kIHNlbmRzIHRoZWlyXG4gICAqIHJlc3VsdHMgYmFjayB0byB0aGUgL2NoYXQvY29tcGxldGlvbnMgZW5kcG9pbnQsIGxvb3BpbmcgYXMgbG9uZyBhcyB0aGUgbW9kZWxcbiAgICogcmVxdWVzdHMgZnVuY3Rpb24gY2FsbHMuXG4gICAqXG4gICAqIEZvciBtb3JlIGRldGFpbHMgYW5kIGV4YW1wbGVzLCBzZWVcbiAgICogW3RoZSBkb2NzXShodHRwczovL2dpdGh1Yi5jb20vb3BlbmFpL29wZW5haS1ub2RlI2F1dG9tYXRlZC1mdW5jdGlvbi1jYWxscylcbiAgICovXG4gIHJ1blRvb2xzPEZ1bmN0aW9uc0FyZ3MgZXh0ZW5kcyBCYXNlRnVuY3Rpb25zQXJncz4oXG4gICAgYm9keTogQ2hhdENvbXBsZXRpb25Ub29sUnVubmVyUGFyYW1zPEZ1bmN0aW9uc0FyZ3M+LFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBDaGF0Q29tcGxldGlvblJ1bm5lcjtcbiAgcnVuVG9vbHM8RnVuY3Rpb25zQXJncyBleHRlbmRzIEJhc2VGdW5jdGlvbnNBcmdzPihcbiAgICBib2R5OiBDaGF0Q29tcGxldGlvblN0cmVhbWluZ1Rvb2xSdW5uZXJQYXJhbXM8RnVuY3Rpb25zQXJncz4sXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENoYXRDb21wbGV0aW9uU3RyZWFtaW5nUnVubmVyO1xuICBydW5Ub29sczxGdW5jdGlvbnNBcmdzIGV4dGVuZHMgQmFzZUZ1bmN0aW9uc0FyZ3M+KFxuICAgIGJvZHk6XG4gICAgICB8IENoYXRDb21wbGV0aW9uVG9vbFJ1bm5lclBhcmFtczxGdW5jdGlvbnNBcmdzPlxuICAgICAgfCBDaGF0Q29tcGxldGlvblN0cmVhbWluZ1Rvb2xSdW5uZXJQYXJhbXM8RnVuY3Rpb25zQXJncz4sXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENoYXRDb21wbGV0aW9uUnVubmVyIHwgQ2hhdENvbXBsZXRpb25TdHJlYW1pbmdSdW5uZXIge1xuICAgIGlmIChib2R5LnN0cmVhbSkge1xuICAgICAgcmV0dXJuIENoYXRDb21wbGV0aW9uU3RyZWFtaW5nUnVubmVyLnJ1blRvb2xzKFxuICAgICAgICB0aGlzLl9jbGllbnQuY2hhdC5jb21wbGV0aW9ucyxcbiAgICAgICAgYm9keSBhcyBDaGF0Q29tcGxldGlvblN0cmVhbWluZ1Rvb2xSdW5uZXJQYXJhbXM8RnVuY3Rpb25zQXJncz4sXG4gICAgICAgIG9wdGlvbnMsXG4gICAgICApO1xuICAgIH1cbiAgICByZXR1cm4gQ2hhdENvbXBsZXRpb25SdW5uZXIucnVuVG9vbHMoXG4gICAgICB0aGlzLl9jbGllbnQuY2hhdC5jb21wbGV0aW9ucyxcbiAgICAgIGJvZHkgYXMgQ2hhdENvbXBsZXRpb25Ub29sUnVubmVyUGFyYW1zPEZ1bmN0aW9uc0FyZ3M+LFxuICAgICAgb3B0aW9ucyxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBjaGF0IGNvbXBsZXRpb24gc3RyZWFtXG4gICAqL1xuICBzdHJlYW0oYm9keTogQ2hhdENvbXBsZXRpb25TdHJlYW1QYXJhbXMsIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zKTogQ2hhdENvbXBsZXRpb25TdHJlYW0ge1xuICAgIHJldHVybiBDaGF0Q29tcGxldGlvblN0cmVhbS5jcmVhdGVDaGF0Q29tcGxldGlvbih0aGlzLl9jbGllbnQuY2hhdC5jb21wbGV0aW9ucywgYm9keSwgb3B0aW9ucyk7XG4gIH1cbn1cbiIsICIvLyBGaWxlIGdlbmVyYXRlZCBmcm9tIG91ciBPcGVuQVBJIHNwZWMgYnkgU3RhaW5sZXNzLlxuXG5pbXBvcnQgeyBBUElSZXNvdXJjZSB9IGZyb20gXCIuLi8uLi8uLi9yZXNvdXJjZVwiO1xuaW1wb3J0ICogYXMgQ29tcGxldGlvbnNBUEkgZnJvbSBcIi4vY29tcGxldGlvbnNcIjtcblxuZXhwb3J0IGNsYXNzIENoYXQgZXh0ZW5kcyBBUElSZXNvdXJjZSB7XG4gIGNvbXBsZXRpb25zOiBDb21wbGV0aW9uc0FQSS5Db21wbGV0aW9ucyA9IG5ldyBDb21wbGV0aW9uc0FQSS5Db21wbGV0aW9ucyh0aGlzLl9jbGllbnQpO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENoYXQge1xuICBleHBvcnQgaW1wb3J0IENvbXBsZXRpb25zID0gQ29tcGxldGlvbnNBUEkuQ29tcGxldGlvbnM7XG59XG4iLCAiLy8gRmlsZSBnZW5lcmF0ZWQgZnJvbSBvdXIgT3BlbkFQSSBzcGVjIGJ5IFN0YWlubGVzcy5cblxuaW1wb3J0ICogYXMgQ29yZSBmcm9tIFwiLi4vLi4vLi4vLi4vY29yZVwiO1xuaW1wb3J0IHsgQVBJUmVzb3VyY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vcmVzb3VyY2VcIjtcbmltcG9ydCB7IGlzUmVxdWVzdE9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vY29yZVwiO1xuaW1wb3J0ICogYXMgRmlsZXNBUEkgZnJvbSBcIi4vZmlsZXNcIjtcbmltcG9ydCB7IEN1cnNvclBhZ2UsIHR5cGUgQ3Vyc29yUGFnZVBhcmFtcyB9IGZyb20gXCIuLi8uLi8uLi8uLi9wYWdpbmF0aW9uXCI7XG5cbmV4cG9ydCBjbGFzcyBGaWxlcyBleHRlbmRzIEFQSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIG1lc3NhZ2UgZmlsZS5cbiAgICovXG4gIHJldHJpZXZlKFxuICAgIHRocmVhZElkOiBzdHJpbmcsXG4gICAgbWVzc2FnZUlkOiBzdHJpbmcsXG4gICAgZmlsZUlkOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENvcmUuQVBJUHJvbWlzZTxNZXNzYWdlRmlsZT4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQuZ2V0KGAvdGhyZWFkcy8ke3RocmVhZElkfS9tZXNzYWdlcy8ke21lc3NhZ2VJZH0vZmlsZXMvJHtmaWxlSWR9YCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGhlYWRlcnM6IHsgJ09wZW5BSS1CZXRhJzogJ2Fzc2lzdGFudHM9djEnLCAuLi5vcHRpb25zPy5oZWFkZXJzIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGxpc3Qgb2YgbWVzc2FnZSBmaWxlcy5cbiAgICovXG4gIGxpc3QoXG4gICAgdGhyZWFkSWQ6IHN0cmluZyxcbiAgICBtZXNzYWdlSWQ6IHN0cmluZyxcbiAgICBxdWVyeT86IEZpbGVMaXN0UGFyYW1zLFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBDb3JlLlBhZ2VQcm9taXNlPE1lc3NhZ2VGaWxlc1BhZ2UsIE1lc3NhZ2VGaWxlPjtcbiAgbGlzdChcbiAgICB0aHJlYWRJZDogc3RyaW5nLFxuICAgIG1lc3NhZ2VJZDogc3RyaW5nLFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBDb3JlLlBhZ2VQcm9taXNlPE1lc3NhZ2VGaWxlc1BhZ2UsIE1lc3NhZ2VGaWxlPjtcbiAgbGlzdChcbiAgICB0aHJlYWRJZDogc3RyaW5nLFxuICAgIG1lc3NhZ2VJZDogc3RyaW5nLFxuICAgIHF1ZXJ5OiBGaWxlTGlzdFBhcmFtcyB8IENvcmUuUmVxdWVzdE9wdGlvbnMgPSB7fSxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQ29yZS5QYWdlUHJvbWlzZTxNZXNzYWdlRmlsZXNQYWdlLCBNZXNzYWdlRmlsZT4ge1xuICAgIGlmIChpc1JlcXVlc3RPcHRpb25zKHF1ZXJ5KSkge1xuICAgICAgcmV0dXJuIHRoaXMubGlzdCh0aHJlYWRJZCwgbWVzc2FnZUlkLCB7fSwgcXVlcnkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmdldEFQSUxpc3QoYC90aHJlYWRzLyR7dGhyZWFkSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfS9maWxlc2AsIE1lc3NhZ2VGaWxlc1BhZ2UsIHtcbiAgICAgIHF1ZXJ5LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGhlYWRlcnM6IHsgJ09wZW5BSS1CZXRhJzogJ2Fzc2lzdGFudHM9djEnLCAuLi5vcHRpb25zPy5oZWFkZXJzIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VGaWxlc1BhZ2UgZXh0ZW5kcyBDdXJzb3JQYWdlPE1lc3NhZ2VGaWxlPiB7fVxuXG4vKipcbiAqIEEgbGlzdCBvZiBmaWxlcyBhdHRhY2hlZCB0byBhIGBtZXNzYWdlYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlRmlsZSB7XG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciwgd2hpY2ggY2FuIGJlIHJlZmVyZW5jZWQgaW4gQVBJIGVuZHBvaW50cy5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVbml4IHRpbWVzdGFtcCAoaW4gc2Vjb25kcykgZm9yIHdoZW4gdGhlIG1lc3NhZ2UgZmlsZSB3YXMgY3JlYXRlZC5cbiAgICovXG4gIGNyZWF0ZWRfYXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBbbWVzc2FnZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXBpLXJlZmVyZW5jZS9tZXNzYWdlcylcbiAgICogdGhhdCB0aGUgW0ZpbGVdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvZmlsZXMpIGlzXG4gICAqIGF0dGFjaGVkIHRvLlxuICAgKi9cbiAgbWVzc2FnZV9pZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgb2JqZWN0IHR5cGUsIHdoaWNoIGlzIGFsd2F5cyBgdGhyZWFkLm1lc3NhZ2UuZmlsZWAuXG4gICAqL1xuICBvYmplY3Q6ICd0aHJlYWQubWVzc2FnZS5maWxlJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlTGlzdFBhcmFtcyBleHRlbmRzIEN1cnNvclBhZ2VQYXJhbXMge1xuICAvKipcbiAgICogQSBjdXJzb3IgZm9yIHVzZSBpbiBwYWdpbmF0aW9uLiBgYmVmb3JlYCBpcyBhbiBvYmplY3QgSUQgdGhhdCBkZWZpbmVzIHlvdXIgcGxhY2VcbiAgICogaW4gdGhlIGxpc3QuIEZvciBpbnN0YW5jZSwgaWYgeW91IG1ha2UgYSBsaXN0IHJlcXVlc3QgYW5kIHJlY2VpdmUgMTAwIG9iamVjdHMsXG4gICAqIGVuZGluZyB3aXRoIG9ial9mb28sIHlvdXIgc3Vic2VxdWVudCBjYWxsIGNhbiBpbmNsdWRlIGJlZm9yZT1vYmpfZm9vIGluIG9yZGVyIHRvXG4gICAqIGZldGNoIHRoZSBwcmV2aW91cyBwYWdlIG9mIHRoZSBsaXN0LlxuICAgKi9cbiAgYmVmb3JlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTb3J0IG9yZGVyIGJ5IHRoZSBgY3JlYXRlZF9hdGAgdGltZXN0YW1wIG9mIHRoZSBvYmplY3RzLiBgYXNjYCBmb3IgYXNjZW5kaW5nXG4gICAqIG9yZGVyIGFuZCBgZGVzY2AgZm9yIGRlc2NlbmRpbmcgb3JkZXIuXG4gICAqL1xuICBvcmRlcj86ICdhc2MnIHwgJ2Rlc2MnO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEZpbGVzIHtcbiAgZXhwb3J0IGltcG9ydCBNZXNzYWdlRmlsZSA9IEZpbGVzQVBJLk1lc3NhZ2VGaWxlO1xuICBleHBvcnQgaW1wb3J0IE1lc3NhZ2VGaWxlc1BhZ2UgPSBGaWxlc0FQSS5NZXNzYWdlRmlsZXNQYWdlO1xuICBleHBvcnQgaW1wb3J0IEZpbGVMaXN0UGFyYW1zID0gRmlsZXNBUEkuRmlsZUxpc3RQYXJhbXM7XG59XG4iLCAiLy8gRmlsZSBnZW5lcmF0ZWQgZnJvbSBvdXIgT3BlbkFQSSBzcGVjIGJ5IFN0YWlubGVzcy5cblxuaW1wb3J0ICogYXMgQ29yZSBmcm9tIFwiLi4vLi4vLi4vLi4vY29yZVwiO1xuaW1wb3J0IHsgQVBJUmVzb3VyY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vcmVzb3VyY2VcIjtcbmltcG9ydCB7IGlzUmVxdWVzdE9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vY29yZVwiO1xuaW1wb3J0ICogYXMgTWVzc2FnZXNBUEkgZnJvbSBcIi4vbWVzc2FnZXNcIjtcbmltcG9ydCAqIGFzIEZpbGVzQVBJIGZyb20gXCIuL2ZpbGVzXCI7XG5pbXBvcnQgeyBDdXJzb3JQYWdlLCB0eXBlIEN1cnNvclBhZ2VQYXJhbXMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vcGFnaW5hdGlvblwiO1xuXG5leHBvcnQgY2xhc3MgTWVzc2FnZXMgZXh0ZW5kcyBBUElSZXNvdXJjZSB7XG4gIGZpbGVzOiBGaWxlc0FQSS5GaWxlcyA9IG5ldyBGaWxlc0FQSS5GaWxlcyh0aGlzLl9jbGllbnQpO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSBtZXNzYWdlLlxuICAgKi9cbiAgY3JlYXRlKFxuICAgIHRocmVhZElkOiBzdHJpbmcsXG4gICAgYm9keTogTWVzc2FnZUNyZWF0ZVBhcmFtcyxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQ29yZS5BUElQcm9taXNlPFRocmVhZE1lc3NhZ2U+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LnBvc3QoYC90aHJlYWRzLyR7dGhyZWFkSWR9L21lc3NhZ2VzYCwge1xuICAgICAgYm9keSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBoZWFkZXJzOiB7ICdPcGVuQUktQmV0YSc6ICdhc3Npc3RhbnRzPXYxJywgLi4ub3B0aW9ucz8uaGVhZGVycyB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlIGEgbWVzc2FnZS5cbiAgICovXG4gIHJldHJpZXZlKFxuICAgIHRocmVhZElkOiBzdHJpbmcsXG4gICAgbWVzc2FnZUlkOiBzdHJpbmcsXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENvcmUuQVBJUHJvbWlzZTxUaHJlYWRNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5nZXQoYC90aHJlYWRzLyR7dGhyZWFkSWR9L21lc3NhZ2VzLyR7bWVzc2FnZUlkfWAsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBoZWFkZXJzOiB7ICdPcGVuQUktQmV0YSc6ICdhc3Npc3RhbnRzPXYxJywgLi4ub3B0aW9ucz8uaGVhZGVycyB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIE1vZGlmaWVzIGEgbWVzc2FnZS5cbiAgICovXG4gIHVwZGF0ZShcbiAgICB0aHJlYWRJZDogc3RyaW5nLFxuICAgIG1lc3NhZ2VJZDogc3RyaW5nLFxuICAgIGJvZHk6IE1lc3NhZ2VVcGRhdGVQYXJhbXMsXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENvcmUuQVBJUHJvbWlzZTxUaHJlYWRNZXNzYWdlPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5wb3N0KGAvdGhyZWFkcy8ke3RocmVhZElkfS9tZXNzYWdlcy8ke21lc3NhZ2VJZH1gLCB7XG4gICAgICBib2R5LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGhlYWRlcnM6IHsgJ09wZW5BSS1CZXRhJzogJ2Fzc2lzdGFudHM9djEnLCAuLi5vcHRpb25zPy5oZWFkZXJzIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhIGxpc3Qgb2YgbWVzc2FnZXMgZm9yIGEgZ2l2ZW4gdGhyZWFkLlxuICAgKi9cbiAgbGlzdChcbiAgICB0aHJlYWRJZDogc3RyaW5nLFxuICAgIHF1ZXJ5PzogTWVzc2FnZUxpc3RQYXJhbXMsXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENvcmUuUGFnZVByb21pc2U8VGhyZWFkTWVzc2FnZXNQYWdlLCBUaHJlYWRNZXNzYWdlPjtcbiAgbGlzdCh0aHJlYWRJZDogc3RyaW5nLCBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyk6IENvcmUuUGFnZVByb21pc2U8VGhyZWFkTWVzc2FnZXNQYWdlLCBUaHJlYWRNZXNzYWdlPjtcbiAgbGlzdChcbiAgICB0aHJlYWRJZDogc3RyaW5nLFxuICAgIHF1ZXJ5OiBNZXNzYWdlTGlzdFBhcmFtcyB8IENvcmUuUmVxdWVzdE9wdGlvbnMgPSB7fSxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQ29yZS5QYWdlUHJvbWlzZTxUaHJlYWRNZXNzYWdlc1BhZ2UsIFRocmVhZE1lc3NhZ2U+IHtcbiAgICBpZiAoaXNSZXF1ZXN0T3B0aW9ucyhxdWVyeSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmxpc3QodGhyZWFkSWQsIHt9LCBxdWVyeSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jbGllbnQuZ2V0QVBJTGlzdChgL3RocmVhZHMvJHt0aHJlYWRJZH0vbWVzc2FnZXNgLCBUaHJlYWRNZXNzYWdlc1BhZ2UsIHtcbiAgICAgIHF1ZXJ5LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGhlYWRlcnM6IHsgJ09wZW5BSS1CZXRhJzogJ2Fzc2lzdGFudHM9djEnLCAuLi5vcHRpb25zPy5oZWFkZXJzIH0sXG4gICAgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFRocmVhZE1lc3NhZ2VzUGFnZSBleHRlbmRzIEN1cnNvclBhZ2U8VGhyZWFkTWVzc2FnZT4ge31cblxuLyoqXG4gKiBSZWZlcmVuY2VzIGFuIGltYWdlIFtGaWxlXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9hcGktcmVmZXJlbmNlL2ZpbGVzKVxuICogaW4gdGhlIGNvbnRlbnQgb2YgYSBtZXNzYWdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VDb250ZW50SW1hZ2VGaWxlIHtcbiAgaW1hZ2VfZmlsZTogTWVzc2FnZUNvbnRlbnRJbWFnZUZpbGUuSW1hZ2VGaWxlO1xuXG4gIC8qKlxuICAgKiBBbHdheXMgYGltYWdlX2ZpbGVgLlxuICAgKi9cbiAgdHlwZTogJ2ltYWdlX2ZpbGUnO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE1lc3NhZ2VDb250ZW50SW1hZ2VGaWxlIHtcbiAgZXhwb3J0IGludGVyZmFjZSBJbWFnZUZpbGUge1xuICAgIC8qKlxuICAgICAqIFRoZSBbRmlsZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXBpLXJlZmVyZW5jZS9maWxlcykgSUQgb2YgdGhlIGltYWdlXG4gICAgICogaW4gdGhlIG1lc3NhZ2UgY29udGVudC5cbiAgICAgKi9cbiAgICBmaWxlX2lkOiBzdHJpbmc7XG4gIH1cbn1cblxuLyoqXG4gKiBUaGUgdGV4dCBjb250ZW50IHRoYXQgaXMgcGFydCBvZiBhIG1lc3NhZ2UuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZUNvbnRlbnRUZXh0IHtcbiAgdGV4dDogTWVzc2FnZUNvbnRlbnRUZXh0LlRleHQ7XG5cbiAgLyoqXG4gICAqIEFsd2F5cyBgdGV4dGAuXG4gICAqL1xuICB0eXBlOiAndGV4dCc7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgTWVzc2FnZUNvbnRlbnRUZXh0IHtcbiAgZXhwb3J0IGludGVyZmFjZSBUZXh0IHtcbiAgICBhbm5vdGF0aW9uczogQXJyYXk8VGV4dC5GaWxlQ2l0YXRpb24gfCBUZXh0LkZpbGVQYXRoPjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBkYXRhIHRoYXQgbWFrZXMgdXAgdGhlIHRleHQuXG4gICAgICovXG4gICAgdmFsdWU6IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBuYW1lc3BhY2UgVGV4dCB7XG4gICAgLyoqXG4gICAgICogQSBjaXRhdGlvbiB3aXRoaW4gdGhlIG1lc3NhZ2UgdGhhdCBwb2ludHMgdG8gYSBzcGVjaWZpYyBxdW90ZSBmcm9tIGEgc3BlY2lmaWNcbiAgICAgKiBGaWxlIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXNzaXN0YW50IG9yIHRoZSBtZXNzYWdlLiBHZW5lcmF0ZWQgd2hlbiB0aGUgYXNzaXN0YW50XG4gICAgICogdXNlcyB0aGUgXCJyZXRyaWV2YWxcIiB0b29sIHRvIHNlYXJjaCBmaWxlcy5cbiAgICAgKi9cbiAgICBleHBvcnQgaW50ZXJmYWNlIEZpbGVDaXRhdGlvbiB7XG4gICAgICBlbmRfaW5kZXg6IG51bWJlcjtcblxuICAgICAgZmlsZV9jaXRhdGlvbjogRmlsZUNpdGF0aW9uLkZpbGVDaXRhdGlvbjtcblxuICAgICAgc3RhcnRfaW5kZXg6IG51bWJlcjtcblxuICAgICAgLyoqXG4gICAgICAgKiBUaGUgdGV4dCBpbiB0aGUgbWVzc2FnZSBjb250ZW50IHRoYXQgbmVlZHMgdG8gYmUgcmVwbGFjZWQuXG4gICAgICAgKi9cbiAgICAgIHRleHQ6IHN0cmluZztcblxuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgYGZpbGVfY2l0YXRpb25gLlxuICAgICAgICovXG4gICAgICB0eXBlOiAnZmlsZV9jaXRhdGlvbic7XG4gICAgfVxuXG4gICAgZXhwb3J0IG5hbWVzcGFjZSBGaWxlQ2l0YXRpb24ge1xuICAgICAgZXhwb3J0IGludGVyZmFjZSBGaWxlQ2l0YXRpb24ge1xuICAgICAgICAvKipcbiAgICAgICAgICogVGhlIElEIG9mIHRoZSBzcGVjaWZpYyBGaWxlIHRoZSBjaXRhdGlvbiBpcyBmcm9tLlxuICAgICAgICAgKi9cbiAgICAgICAgZmlsZV9pZDogc3RyaW5nO1xuXG4gICAgICAgIC8qKlxuICAgICAgICAgKiBUaGUgc3BlY2lmaWMgcXVvdGUgaW4gdGhlIGZpbGUuXG4gICAgICAgICAqL1xuICAgICAgICBxdW90ZTogc3RyaW5nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEEgVVJMIGZvciB0aGUgZmlsZSB0aGF0J3MgZ2VuZXJhdGVkIHdoZW4gdGhlIGFzc2lzdGFudCB1c2VkIHRoZVxuICAgICAqIGBjb2RlX2ludGVycHJldGVyYCB0b29sIHRvIGdlbmVyYXRlIGEgZmlsZS5cbiAgICAgKi9cbiAgICBleHBvcnQgaW50ZXJmYWNlIEZpbGVQYXRoIHtcbiAgICAgIGVuZF9pbmRleDogbnVtYmVyO1xuXG4gICAgICBmaWxlX3BhdGg6IEZpbGVQYXRoLkZpbGVQYXRoO1xuXG4gICAgICBzdGFydF9pbmRleDogbnVtYmVyO1xuXG4gICAgICAvKipcbiAgICAgICAqIFRoZSB0ZXh0IGluIHRoZSBtZXNzYWdlIGNvbnRlbnQgdGhhdCBuZWVkcyB0byBiZSByZXBsYWNlZC5cbiAgICAgICAqL1xuICAgICAgdGV4dDogc3RyaW5nO1xuXG4gICAgICAvKipcbiAgICAgICAqIEFsd2F5cyBgZmlsZV9wYXRoYC5cbiAgICAgICAqL1xuICAgICAgdHlwZTogJ2ZpbGVfcGF0aCc7XG4gICAgfVxuXG4gICAgZXhwb3J0IG5hbWVzcGFjZSBGaWxlUGF0aCB7XG4gICAgICBleHBvcnQgaW50ZXJmYWNlIEZpbGVQYXRoIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRoZSBJRCBvZiB0aGUgZmlsZSB0aGF0IHdhcyBnZW5lcmF0ZWQuXG4gICAgICAgICAqL1xuICAgICAgICBmaWxlX2lkOiBzdHJpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIG1lc3NhZ2Ugd2l0aGluIGFcbiAqIFt0aHJlYWRdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvdGhyZWFkcykuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGhyZWFkTWVzc2FnZSB7XG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciwgd2hpY2ggY2FuIGJlIHJlZmVyZW5jZWQgaW4gQVBJIGVuZHBvaW50cy5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIElmIGFwcGxpY2FibGUsIHRoZSBJRCBvZiB0aGVcbiAgICogW2Fzc2lzdGFudF0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXBpLXJlZmVyZW5jZS9hc3Npc3RhbnRzKSB0aGF0XG4gICAqIGF1dGhvcmVkIHRoaXMgbWVzc2FnZS5cbiAgICovXG4gIGFzc2lzdGFudF9pZDogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIGNvbnRlbnQgb2YgdGhlIG1lc3NhZ2UgaW4gYXJyYXkgb2YgdGV4dCBhbmQvb3IgaW1hZ2VzLlxuICAgKi9cbiAgY29udGVudDogQXJyYXk8TWVzc2FnZUNvbnRlbnRJbWFnZUZpbGUgfCBNZXNzYWdlQ29udGVudFRleHQ+O1xuXG4gIC8qKlxuICAgKiBUaGUgVW5peCB0aW1lc3RhbXAgKGluIHNlY29uZHMpIGZvciB3aGVuIHRoZSBtZXNzYWdlIHdhcyBjcmVhdGVkLlxuICAgKi9cbiAgY3JlYXRlZF9hdDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgW2ZpbGVdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvZmlsZXMpIElEcyB0aGF0XG4gICAqIHRoZSBhc3Npc3RhbnQgc2hvdWxkIHVzZS4gVXNlZnVsIGZvciB0b29scyBsaWtlIHJldHJpZXZhbCBhbmQgY29kZV9pbnRlcnByZXRlclxuICAgKiB0aGF0IGNhbiBhY2Nlc3MgZmlsZXMuIEEgbWF4aW11bSBvZiAxMCBmaWxlcyBjYW4gYmUgYXR0YWNoZWQgdG8gYSBtZXNzYWdlLlxuICAgKi9cbiAgZmlsZV9pZHM6IEFycmF5PHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFNldCBvZiAxNiBrZXktdmFsdWUgcGFpcnMgdGhhdCBjYW4gYmUgYXR0YWNoZWQgdG8gYW4gb2JqZWN0LiBUaGlzIGNhbiBiZSB1c2VmdWxcbiAgICogZm9yIHN0b3JpbmcgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb2JqZWN0IGluIGEgc3RydWN0dXJlZCBmb3JtYXQuIEtleXNcbiAgICogY2FuIGJlIGEgbWF4aW11bSBvZiA2NCBjaGFyYWN0ZXJzIGxvbmcgYW5kIHZhbHVlcyBjYW4gYmUgYSBtYXhpdW0gb2YgNTEyXG4gICAqIGNoYXJhY3RlcnMgbG9uZy5cbiAgICovXG4gIG1ldGFkYXRhOiB1bmtub3duIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIG9iamVjdCB0eXBlLCB3aGljaCBpcyBhbHdheXMgYHRocmVhZC5tZXNzYWdlYC5cbiAgICovXG4gIG9iamVjdDogJ3RocmVhZC5tZXNzYWdlJztcblxuICAvKipcbiAgICogVGhlIGVudGl0eSB0aGF0IHByb2R1Y2VkIHRoZSBtZXNzYWdlLiBPbmUgb2YgYHVzZXJgIG9yIGBhc3Npc3RhbnRgLlxuICAgKi9cbiAgcm9sZTogJ3VzZXInIHwgJ2Fzc2lzdGFudCc7XG5cbiAgLyoqXG4gICAqIElmIGFwcGxpY2FibGUsIHRoZSBJRCBvZiB0aGVcbiAgICogW3J1bl0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXBpLXJlZmVyZW5jZS9ydW5zKSBhc3NvY2lhdGVkIHdpdGggdGhlXG4gICAqIGF1dGhvcmluZyBvZiB0aGlzIG1lc3NhZ2UuXG4gICAqL1xuICBydW5faWQ6IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBbdGhyZWFkXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9hcGktcmVmZXJlbmNlL3RocmVhZHMpIElEIHRoYXRcbiAgICogdGhpcyBtZXNzYWdlIGJlbG9uZ3MgdG8uXG4gICAqL1xuICB0aHJlYWRfaWQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaHJlYWRNZXNzYWdlRGVsZXRlZCB7XG4gIGlkOiBzdHJpbmc7XG5cbiAgZGVsZXRlZDogYm9vbGVhbjtcblxuICBvYmplY3Q6ICd0aHJlYWQubWVzc2FnZS5kZWxldGVkJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlQ3JlYXRlUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IG9mIHRoZSBtZXNzYWdlLlxuICAgKi9cbiAgY29udGVudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcm9sZSBvZiB0aGUgZW50aXR5IHRoYXQgaXMgY3JlYXRpbmcgdGhlIG1lc3NhZ2UuIEN1cnJlbnRseSBvbmx5IGB1c2VyYCBpc1xuICAgKiBzdXBwb3J0ZWQuXG4gICAqL1xuICByb2xlOiAndXNlcic7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBbRmlsZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXBpLXJlZmVyZW5jZS9maWxlcykgSURzIHRoYXRcbiAgICogdGhlIG1lc3NhZ2Ugc2hvdWxkIHVzZS4gVGhlcmUgY2FuIGJlIGEgbWF4aW11bSBvZiAxMCBmaWxlcyBhdHRhY2hlZCB0byBhXG4gICAqIG1lc3NhZ2UuIFVzZWZ1bCBmb3IgdG9vbHMgbGlrZSBgcmV0cmlldmFsYCBhbmQgYGNvZGVfaW50ZXJwcmV0ZXJgIHRoYXQgY2FuXG4gICAqIGFjY2VzcyBhbmQgdXNlIGZpbGVzLlxuICAgKi9cbiAgZmlsZV9pZHM/OiBBcnJheTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBTZXQgb2YgMTYga2V5LXZhbHVlIHBhaXJzIHRoYXQgY2FuIGJlIGF0dGFjaGVkIHRvIGFuIG9iamVjdC4gVGhpcyBjYW4gYmUgdXNlZnVsXG4gICAqIGZvciBzdG9yaW5nIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9iamVjdCBpbiBhIHN0cnVjdHVyZWQgZm9ybWF0LiBLZXlzXG4gICAqIGNhbiBiZSBhIG1heGltdW0gb2YgNjQgY2hhcmFjdGVycyBsb25nIGFuZCB2YWx1ZXMgY2FuIGJlIGEgbWF4aXVtIG9mIDUxMlxuICAgKiBjaGFyYWN0ZXJzIGxvbmcuXG4gICAqL1xuICBtZXRhZGF0YT86IHVua25vd24gfCBudWxsO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1lc3NhZ2VVcGRhdGVQYXJhbXMge1xuICAvKipcbiAgICogU2V0IG9mIDE2IGtleS12YWx1ZSBwYWlycyB0aGF0IGNhbiBiZSBhdHRhY2hlZCB0byBhbiBvYmplY3QuIFRoaXMgY2FuIGJlIHVzZWZ1bFxuICAgKiBmb3Igc3RvcmluZyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBvYmplY3QgaW4gYSBzdHJ1Y3R1cmVkIGZvcm1hdC4gS2V5c1xuICAgKiBjYW4gYmUgYSBtYXhpbXVtIG9mIDY0IGNoYXJhY3RlcnMgbG9uZyBhbmQgdmFsdWVzIGNhbiBiZSBhIG1heGl1bSBvZiA1MTJcbiAgICogY2hhcmFjdGVycyBsb25nLlxuICAgKi9cbiAgbWV0YWRhdGE/OiB1bmtub3duIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlTGlzdFBhcmFtcyBleHRlbmRzIEN1cnNvclBhZ2VQYXJhbXMge1xuICAvKipcbiAgICogQSBjdXJzb3IgZm9yIHVzZSBpbiBwYWdpbmF0aW9uLiBgYmVmb3JlYCBpcyBhbiBvYmplY3QgSUQgdGhhdCBkZWZpbmVzIHlvdXIgcGxhY2VcbiAgICogaW4gdGhlIGxpc3QuIEZvciBpbnN0YW5jZSwgaWYgeW91IG1ha2UgYSBsaXN0IHJlcXVlc3QgYW5kIHJlY2VpdmUgMTAwIG9iamVjdHMsXG4gICAqIGVuZGluZyB3aXRoIG9ial9mb28sIHlvdXIgc3Vic2VxdWVudCBjYWxsIGNhbiBpbmNsdWRlIGJlZm9yZT1vYmpfZm9vIGluIG9yZGVyIHRvXG4gICAqIGZldGNoIHRoZSBwcmV2aW91cyBwYWdlIG9mIHRoZSBsaXN0LlxuICAgKi9cbiAgYmVmb3JlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTb3J0IG9yZGVyIGJ5IHRoZSBgY3JlYXRlZF9hdGAgdGltZXN0YW1wIG9mIHRoZSBvYmplY3RzLiBgYXNjYCBmb3IgYXNjZW5kaW5nXG4gICAqIG9yZGVyIGFuZCBgZGVzY2AgZm9yIGRlc2NlbmRpbmcgb3JkZXIuXG4gICAqL1xuICBvcmRlcj86ICdhc2MnIHwgJ2Rlc2MnO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIE1lc3NhZ2VzIHtcbiAgZXhwb3J0IGltcG9ydCBNZXNzYWdlQ29udGVudEltYWdlRmlsZSA9IE1lc3NhZ2VzQVBJLk1lc3NhZ2VDb250ZW50SW1hZ2VGaWxlO1xuICBleHBvcnQgaW1wb3J0IE1lc3NhZ2VDb250ZW50VGV4dCA9IE1lc3NhZ2VzQVBJLk1lc3NhZ2VDb250ZW50VGV4dDtcbiAgZXhwb3J0IGltcG9ydCBUaHJlYWRNZXNzYWdlID0gTWVzc2FnZXNBUEkuVGhyZWFkTWVzc2FnZTtcbiAgZXhwb3J0IGltcG9ydCBUaHJlYWRNZXNzYWdlRGVsZXRlZCA9IE1lc3NhZ2VzQVBJLlRocmVhZE1lc3NhZ2VEZWxldGVkO1xuICBleHBvcnQgaW1wb3J0IFRocmVhZE1lc3NhZ2VzUGFnZSA9IE1lc3NhZ2VzQVBJLlRocmVhZE1lc3NhZ2VzUGFnZTtcbiAgZXhwb3J0IGltcG9ydCBNZXNzYWdlQ3JlYXRlUGFyYW1zID0gTWVzc2FnZXNBUEkuTWVzc2FnZUNyZWF0ZVBhcmFtcztcbiAgZXhwb3J0IGltcG9ydCBNZXNzYWdlVXBkYXRlUGFyYW1zID0gTWVzc2FnZXNBUEkuTWVzc2FnZVVwZGF0ZVBhcmFtcztcbiAgZXhwb3J0IGltcG9ydCBNZXNzYWdlTGlzdFBhcmFtcyA9IE1lc3NhZ2VzQVBJLk1lc3NhZ2VMaXN0UGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IEZpbGVzID0gRmlsZXNBUEkuRmlsZXM7XG4gIGV4cG9ydCBpbXBvcnQgTWVzc2FnZUZpbGUgPSBGaWxlc0FQSS5NZXNzYWdlRmlsZTtcbiAgZXhwb3J0IGltcG9ydCBNZXNzYWdlRmlsZXNQYWdlID0gRmlsZXNBUEkuTWVzc2FnZUZpbGVzUGFnZTtcbiAgZXhwb3J0IGltcG9ydCBGaWxlTGlzdFBhcmFtcyA9IEZpbGVzQVBJLkZpbGVMaXN0UGFyYW1zO1xufVxuIiwgIi8vIEZpbGUgZ2VuZXJhdGVkIGZyb20gb3VyIE9wZW5BUEkgc3BlYyBieSBTdGFpbmxlc3MuXG5cbmltcG9ydCAqIGFzIENvcmUgZnJvbSBcIi4uLy4uLy4uLy4uL2NvcmVcIjtcbmltcG9ydCB7IEFQSVJlc291cmNlIH0gZnJvbSBcIi4uLy4uLy4uLy4uL3Jlc291cmNlXCI7XG5pbXBvcnQgeyBpc1JlcXVlc3RPcHRpb25zIH0gZnJvbSBcIi4uLy4uLy4uLy4uL2NvcmVcIjtcbmltcG9ydCAqIGFzIFN0ZXBzQVBJIGZyb20gXCIuL3N0ZXBzXCI7XG5pbXBvcnQgeyBDdXJzb3JQYWdlLCB0eXBlIEN1cnNvclBhZ2VQYXJhbXMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vcGFnaW5hdGlvblwiO1xuXG5leHBvcnQgY2xhc3MgU3RlcHMgZXh0ZW5kcyBBUElSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBydW4gc3RlcC5cbiAgICovXG4gIHJldHJpZXZlKFxuICAgIHRocmVhZElkOiBzdHJpbmcsXG4gICAgcnVuSWQ6IHN0cmluZyxcbiAgICBzdGVwSWQ6IHN0cmluZyxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQ29yZS5BUElQcm9taXNlPFJ1blN0ZXA+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmdldChgL3RocmVhZHMvJHt0aHJlYWRJZH0vcnVucy8ke3J1bklkfS9zdGVwcy8ke3N0ZXBJZH1gLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgaGVhZGVyczogeyAnT3BlbkFJLUJldGEnOiAnYXNzaXN0YW50cz12MScsIC4uLm9wdGlvbnM/LmhlYWRlcnMgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBydW4gc3RlcHMgYmVsb25naW5nIHRvIGEgcnVuLlxuICAgKi9cbiAgbGlzdChcbiAgICB0aHJlYWRJZDogc3RyaW5nLFxuICAgIHJ1bklkOiBzdHJpbmcsXG4gICAgcXVlcnk/OiBTdGVwTGlzdFBhcmFtcyxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQ29yZS5QYWdlUHJvbWlzZTxSdW5TdGVwc1BhZ2UsIFJ1blN0ZXA+O1xuICBsaXN0KFxuICAgIHRocmVhZElkOiBzdHJpbmcsXG4gICAgcnVuSWQ6IHN0cmluZyxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQ29yZS5QYWdlUHJvbWlzZTxSdW5TdGVwc1BhZ2UsIFJ1blN0ZXA+O1xuICBsaXN0KFxuICAgIHRocmVhZElkOiBzdHJpbmcsXG4gICAgcnVuSWQ6IHN0cmluZyxcbiAgICBxdWVyeTogU3RlcExpc3RQYXJhbXMgfCBDb3JlLlJlcXVlc3RPcHRpb25zID0ge30sXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENvcmUuUGFnZVByb21pc2U8UnVuU3RlcHNQYWdlLCBSdW5TdGVwPiB7XG4gICAgaWYgKGlzUmVxdWVzdE9wdGlvbnMocXVlcnkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5saXN0KHRocmVhZElkLCBydW5JZCwge30sIHF1ZXJ5KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5nZXRBUElMaXN0KGAvdGhyZWFkcy8ke3RocmVhZElkfS9ydW5zLyR7cnVuSWR9L3N0ZXBzYCwgUnVuU3RlcHNQYWdlLCB7XG4gICAgICBxdWVyeSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBoZWFkZXJzOiB7ICdPcGVuQUktQmV0YSc6ICdhc3Npc3RhbnRzPXYxJywgLi4ub3B0aW9ucz8uaGVhZGVycyB9LFxuICAgIH0pO1xuICB9XG59XG5cbmV4cG9ydCBjbGFzcyBSdW5TdGVwc1BhZ2UgZXh0ZW5kcyBDdXJzb3JQYWdlPFJ1blN0ZXA+IHt9XG5cbi8qKlxuICogRGV0YWlscyBvZiB0aGUgQ29kZSBJbnRlcnByZXRlciB0b29sIGNhbGwgdGhlIHJ1biBzdGVwIHdhcyBpbnZvbHZlZCBpbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2RlVG9vbENhbGwge1xuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSB0b29sIGNhbGwuXG4gICAqL1xuICBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQ29kZSBJbnRlcnByZXRlciB0b29sIGNhbGwgZGVmaW5pdGlvbi5cbiAgICovXG4gIGNvZGVfaW50ZXJwcmV0ZXI6IENvZGVUb29sQ2FsbC5Db2RlSW50ZXJwcmV0ZXI7XG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIHRvb2wgY2FsbC4gVGhpcyBpcyBhbHdheXMgZ29pbmcgdG8gYmUgYGNvZGVfaW50ZXJwcmV0ZXJgIGZvciB0aGlzXG4gICAqIHR5cGUgb2YgdG9vbCBjYWxsLlxuICAgKi9cbiAgdHlwZTogJ2NvZGVfaW50ZXJwcmV0ZXInO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENvZGVUb29sQ2FsbCB7XG4gIC8qKlxuICAgKiBUaGUgQ29kZSBJbnRlcnByZXRlciB0b29sIGNhbGwgZGVmaW5pdGlvbi5cbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgQ29kZUludGVycHJldGVyIHtcbiAgICAvKipcbiAgICAgKiBUaGUgaW5wdXQgdG8gdGhlIENvZGUgSW50ZXJwcmV0ZXIgdG9vbCBjYWxsLlxuICAgICAqL1xuICAgIGlucHV0OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3V0cHV0cyBmcm9tIHRoZSBDb2RlIEludGVycHJldGVyIHRvb2wgY2FsbC4gQ29kZSBJbnRlcnByZXRlciBjYW4gb3V0cHV0IG9uZVxuICAgICAqIG9yIG1vcmUgaXRlbXMsIGluY2x1ZGluZyB0ZXh0IChgbG9nc2ApIG9yIGltYWdlcyAoYGltYWdlYCkuIEVhY2ggb2YgdGhlc2UgYXJlXG4gICAgICogcmVwcmVzZW50ZWQgYnkgYSBkaWZmZXJlbnQgb2JqZWN0IHR5cGUuXG4gICAgICovXG4gICAgb3V0cHV0czogQXJyYXk8Q29kZUludGVycHJldGVyLkxvZ3MgfCBDb2RlSW50ZXJwcmV0ZXIuSW1hZ2U+O1xuICB9XG5cbiAgZXhwb3J0IG5hbWVzcGFjZSBDb2RlSW50ZXJwcmV0ZXIge1xuICAgIC8qKlxuICAgICAqIFRleHQgb3V0cHV0IGZyb20gdGhlIENvZGUgSW50ZXJwcmV0ZXIgdG9vbCBjYWxsIGFzIHBhcnQgb2YgYSBydW4gc3RlcC5cbiAgICAgKi9cbiAgICBleHBvcnQgaW50ZXJmYWNlIExvZ3Mge1xuICAgICAgLyoqXG4gICAgICAgKiBUaGUgdGV4dCBvdXRwdXQgZnJvbSB0aGUgQ29kZSBJbnRlcnByZXRlciB0b29sIGNhbGwuXG4gICAgICAgKi9cbiAgICAgIGxvZ3M6IHN0cmluZztcblxuICAgICAgLyoqXG4gICAgICAgKiBBbHdheXMgYGxvZ3NgLlxuICAgICAgICovXG4gICAgICB0eXBlOiAnbG9ncyc7XG4gICAgfVxuXG4gICAgZXhwb3J0IGludGVyZmFjZSBJbWFnZSB7XG4gICAgICBpbWFnZTogSW1hZ2UuSW1hZ2U7XG5cbiAgICAgIC8qKlxuICAgICAgICogQWx3YXlzIGBpbWFnZWAuXG4gICAgICAgKi9cbiAgICAgIHR5cGU6ICdpbWFnZSc7XG4gICAgfVxuXG4gICAgZXhwb3J0IG5hbWVzcGFjZSBJbWFnZSB7XG4gICAgICBleHBvcnQgaW50ZXJmYWNlIEltYWdlIHtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIFRoZSBbZmlsZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXBpLXJlZmVyZW5jZS9maWxlcykgSUQgb2YgdGhlXG4gICAgICAgICAqIGltYWdlLlxuICAgICAgICAgKi9cbiAgICAgICAgZmlsZV9pZDogc3RyaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uVG9vbENhbGwge1xuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSB0b29sIGNhbGwgb2JqZWN0LlxuICAgKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlZmluaXRpb24gb2YgdGhlIGZ1bmN0aW9uIHRoYXQgd2FzIGNhbGxlZC5cbiAgICovXG4gIGZ1bmN0aW9uOiBGdW5jdGlvblRvb2xDYWxsLkZ1bmN0aW9uO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiB0b29sIGNhbGwuIFRoaXMgaXMgYWx3YXlzIGdvaW5nIHRvIGJlIGBmdW5jdGlvbmAgZm9yIHRoaXMgdHlwZSBvZlxuICAgKiB0b29sIGNhbGwuXG4gICAqL1xuICB0eXBlOiAnZnVuY3Rpb24nO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEZ1bmN0aW9uVG9vbENhbGwge1xuICAvKipcbiAgICogVGhlIGRlZmluaXRpb24gb2YgdGhlIGZ1bmN0aW9uIHRoYXQgd2FzIGNhbGxlZC5cbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgRnVuY3Rpb24ge1xuICAgIC8qKlxuICAgICAqIFRoZSBhcmd1bWVudHMgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBhcmd1bWVudHM6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBuYW1lIG9mIHRoZSBmdW5jdGlvbi5cbiAgICAgKi9cbiAgICBuYW1lOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgb3V0cHV0IG9mIHRoZSBmdW5jdGlvbi4gVGhpcyB3aWxsIGJlIGBudWxsYCBpZiB0aGUgb3V0cHV0cyBoYXZlIG5vdCBiZWVuXG4gICAgICogW3N1Ym1pdHRlZF0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXBpLXJlZmVyZW5jZS9ydW5zL3N1Ym1pdFRvb2xPdXRwdXRzKVxuICAgICAqIHlldC5cbiAgICAgKi9cbiAgICBvdXRwdXQ6IHN0cmluZyB8IG51bGw7XG4gIH1cbn1cblxuLyoqXG4gKiBEZXRhaWxzIG9mIHRoZSBtZXNzYWdlIGNyZWF0aW9uIGJ5IHRoZSBydW4gc3RlcC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlQ3JlYXRpb25TdGVwRGV0YWlscyB7XG4gIG1lc3NhZ2VfY3JlYXRpb246IE1lc3NhZ2VDcmVhdGlvblN0ZXBEZXRhaWxzLk1lc3NhZ2VDcmVhdGlvbjtcblxuICAvKipcbiAgICogQWx3YXlzIGBtZXNzYWdlX2NyZWF0aW9uYC5cbiAgICovXG4gIHR5cGU6ICdtZXNzYWdlX2NyZWF0aW9uJztcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBNZXNzYWdlQ3JlYXRpb25TdGVwRGV0YWlscyB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZUNyZWF0aW9uIHtcbiAgICAvKipcbiAgICAgKiBUaGUgSUQgb2YgdGhlIG1lc3NhZ2UgdGhhdCB3YXMgY3JlYXRlZCBieSB0aGlzIHJ1biBzdGVwLlxuICAgICAqL1xuICAgIG1lc3NhZ2VfaWQ6IHN0cmluZztcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJldHJpZXZhbFRvb2xDYWxsIHtcbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgdG9vbCBjYWxsIG9iamVjdC5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEZvciBub3csIHRoaXMgaXMgYWx3YXlzIGdvaW5nIHRvIGJlIGFuIGVtcHR5IG9iamVjdC5cbiAgICovXG4gIHJldHJpZXZhbDogdW5rbm93bjtcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdG9vbCBjYWxsLiBUaGlzIGlzIGFsd2F5cyBnb2luZyB0byBiZSBgcmV0cmlldmFsYCBmb3IgdGhpcyB0eXBlIG9mXG4gICAqIHRvb2wgY2FsbC5cbiAgICovXG4gIHR5cGU6ICdyZXRyaWV2YWwnO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzdGVwIGluIGV4ZWN1dGlvbiBvZiBhIHJ1bi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSdW5TdGVwIHtcbiAgLyoqXG4gICAqIFRoZSBpZGVudGlmaWVyIG9mIHRoZSBydW4gc3RlcCwgd2hpY2ggY2FuIGJlIHJlZmVyZW5jZWQgaW4gQVBJIGVuZHBvaW50cy5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGVcbiAgICogW2Fzc2lzdGFudF0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXBpLXJlZmVyZW5jZS9hc3Npc3RhbnRzKVxuICAgKiBhc3NvY2lhdGVkIHdpdGggdGhlIHJ1biBzdGVwLlxuICAgKi9cbiAgYXNzaXN0YW50X2lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVbml4IHRpbWVzdGFtcCAoaW4gc2Vjb25kcykgZm9yIHdoZW4gdGhlIHJ1biBzdGVwIHdhcyBjYW5jZWxsZWQuXG4gICAqL1xuICBjYW5jZWxsZWRfYXQ6IG51bWJlciB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBVbml4IHRpbWVzdGFtcCAoaW4gc2Vjb25kcykgZm9yIHdoZW4gdGhlIHJ1biBzdGVwIGNvbXBsZXRlZC5cbiAgICovXG4gIGNvbXBsZXRlZF9hdDogbnVtYmVyIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIFVuaXggdGltZXN0YW1wIChpbiBzZWNvbmRzKSBmb3Igd2hlbiB0aGUgcnVuIHN0ZXAgd2FzIGNyZWF0ZWQuXG4gICAqL1xuICBjcmVhdGVkX2F0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBVbml4IHRpbWVzdGFtcCAoaW4gc2Vjb25kcykgZm9yIHdoZW4gdGhlIHJ1biBzdGVwIGV4cGlyZWQuIEEgc3RlcCBpc1xuICAgKiBjb25zaWRlcmVkIGV4cGlyZWQgaWYgdGhlIHBhcmVudCBydW4gaXMgZXhwaXJlZC5cbiAgICovXG4gIGV4cGlyZWRfYXQ6IG51bWJlciB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBVbml4IHRpbWVzdGFtcCAoaW4gc2Vjb25kcykgZm9yIHdoZW4gdGhlIHJ1biBzdGVwIGZhaWxlZC5cbiAgICovXG4gIGZhaWxlZF9hdDogbnVtYmVyIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIGxhc3QgZXJyb3IgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcnVuIHN0ZXAuIFdpbGwgYmUgYG51bGxgIGlmIHRoZXJlIGFyZSBub1xuICAgKiBlcnJvcnMuXG4gICAqL1xuICBsYXN0X2Vycm9yOiBSdW5TdGVwLkxhc3RFcnJvciB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFNldCBvZiAxNiBrZXktdmFsdWUgcGFpcnMgdGhhdCBjYW4gYmUgYXR0YWNoZWQgdG8gYW4gb2JqZWN0LiBUaGlzIGNhbiBiZSB1c2VmdWxcbiAgICogZm9yIHN0b3JpbmcgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb2JqZWN0IGluIGEgc3RydWN0dXJlZCBmb3JtYXQuIEtleXNcbiAgICogY2FuIGJlIGEgbWF4aW11bSBvZiA2NCBjaGFyYWN0ZXJzIGxvbmcgYW5kIHZhbHVlcyBjYW4gYmUgYSBtYXhpdW0gb2YgNTEyXG4gICAqIGNoYXJhY3RlcnMgbG9uZy5cbiAgICovXG4gIG1ldGFkYXRhOiB1bmtub3duIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIG9iamVjdCB0eXBlLCB3aGljaCBpcyBhbHdheXMgYHRocmVhZC5ydW4uc3RlcGAuXG4gICAqL1xuICBvYmplY3Q6ICd0aHJlYWQucnVuLnN0ZXAnO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIFtydW5dKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvcnVucykgdGhhdFxuICAgKiB0aGlzIHJ1biBzdGVwIGlzIGEgcGFydCBvZi5cbiAgICovXG4gIHJ1bl9pZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3RhdHVzIG9mIHRoZSBydW4gc3RlcCwgd2hpY2ggY2FuIGJlIGVpdGhlciBgaW5fcHJvZ3Jlc3NgLCBgY2FuY2VsbGVkYCxcbiAgICogYGZhaWxlZGAsIGBjb21wbGV0ZWRgLCBvciBgZXhwaXJlZGAuXG4gICAqL1xuICBzdGF0dXM6ICdpbl9wcm9ncmVzcycgfCAnY2FuY2VsbGVkJyB8ICdmYWlsZWQnIHwgJ2NvbXBsZXRlZCcgfCAnZXhwaXJlZCc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZXRhaWxzIG9mIHRoZSBydW4gc3RlcC5cbiAgICovXG4gIHN0ZXBfZGV0YWlsczogTWVzc2FnZUNyZWF0aW9uU3RlcERldGFpbHMgfCBUb29sQ2FsbHNTdGVwRGV0YWlscztcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBbdGhyZWFkXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9hcGktcmVmZXJlbmNlL3RocmVhZHMpXG4gICAqIHRoYXQgd2FzIHJ1bi5cbiAgICovXG4gIHRocmVhZF9pZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgdHlwZSBvZiBydW4gc3RlcCwgd2hpY2ggY2FuIGJlIGVpdGhlciBgbWVzc2FnZV9jcmVhdGlvbmAgb3IgYHRvb2xfY2FsbHNgLlxuICAgKi9cbiAgdHlwZTogJ21lc3NhZ2VfY3JlYXRpb24nIHwgJ3Rvb2xfY2FsbHMnO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJ1blN0ZXAge1xuICAvKipcbiAgICogVGhlIGxhc3QgZXJyb3IgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcnVuIHN0ZXAuIFdpbGwgYmUgYG51bGxgIGlmIHRoZXJlIGFyZSBub1xuICAgKiBlcnJvcnMuXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIExhc3RFcnJvciB7XG4gICAgLyoqXG4gICAgICogT25lIG9mIGBzZXJ2ZXJfZXJyb3JgIG9yIGByYXRlX2xpbWl0X2V4Y2VlZGVkYC5cbiAgICAgKi9cbiAgICBjb2RlOiAnc2VydmVyX2Vycm9yJyB8ICdyYXRlX2xpbWl0X2V4Y2VlZGVkJztcblxuICAgIC8qKlxuICAgICAqIEEgaHVtYW4tcmVhZGFibGUgZGVzY3JpcHRpb24gb2YgdGhlIGVycm9yLlxuICAgICAqL1xuICAgIG1lc3NhZ2U6IHN0cmluZztcbiAgfVxufVxuXG4vKipcbiAqIERldGFpbHMgb2YgdGhlIHRvb2wgY2FsbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb29sQ2FsbHNTdGVwRGV0YWlscyB7XG4gIC8qKlxuICAgKiBBbiBhcnJheSBvZiB0b29sIGNhbGxzIHRoZSBydW4gc3RlcCB3YXMgaW52b2x2ZWQgaW4uIFRoZXNlIGNhbiBiZSBhc3NvY2lhdGVkXG4gICAqIHdpdGggb25lIG9mIHRocmVlIHR5cGVzIG9mIHRvb2xzOiBgY29kZV9pbnRlcnByZXRlcmAsIGByZXRyaWV2YWxgLCBvclxuICAgKiBgZnVuY3Rpb25gLlxuICAgKi9cbiAgdG9vbF9jYWxsczogQXJyYXk8Q29kZVRvb2xDYWxsIHwgUmV0cmlldmFsVG9vbENhbGwgfCBGdW5jdGlvblRvb2xDYWxsPjtcblxuICAvKipcbiAgICogQWx3YXlzIGB0b29sX2NhbGxzYC5cbiAgICovXG4gIHR5cGU6ICd0b29sX2NhbGxzJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTdGVwTGlzdFBhcmFtcyBleHRlbmRzIEN1cnNvclBhZ2VQYXJhbXMge1xuICAvKipcbiAgICogQSBjdXJzb3IgZm9yIHVzZSBpbiBwYWdpbmF0aW9uLiBgYmVmb3JlYCBpcyBhbiBvYmplY3QgSUQgdGhhdCBkZWZpbmVzIHlvdXIgcGxhY2VcbiAgICogaW4gdGhlIGxpc3QuIEZvciBpbnN0YW5jZSwgaWYgeW91IG1ha2UgYSBsaXN0IHJlcXVlc3QgYW5kIHJlY2VpdmUgMTAwIG9iamVjdHMsXG4gICAqIGVuZGluZyB3aXRoIG9ial9mb28sIHlvdXIgc3Vic2VxdWVudCBjYWxsIGNhbiBpbmNsdWRlIGJlZm9yZT1vYmpfZm9vIGluIG9yZGVyIHRvXG4gICAqIGZldGNoIHRoZSBwcmV2aW91cyBwYWdlIG9mIHRoZSBsaXN0LlxuICAgKi9cbiAgYmVmb3JlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTb3J0IG9yZGVyIGJ5IHRoZSBgY3JlYXRlZF9hdGAgdGltZXN0YW1wIG9mIHRoZSBvYmplY3RzLiBgYXNjYCBmb3IgYXNjZW5kaW5nXG4gICAqIG9yZGVyIGFuZCBgZGVzY2AgZm9yIGRlc2NlbmRpbmcgb3JkZXIuXG4gICAqL1xuICBvcmRlcj86ICdhc2MnIHwgJ2Rlc2MnO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFN0ZXBzIHtcbiAgZXhwb3J0IGltcG9ydCBDb2RlVG9vbENhbGwgPSBTdGVwc0FQSS5Db2RlVG9vbENhbGw7XG4gIGV4cG9ydCBpbXBvcnQgRnVuY3Rpb25Ub29sQ2FsbCA9IFN0ZXBzQVBJLkZ1bmN0aW9uVG9vbENhbGw7XG4gIGV4cG9ydCBpbXBvcnQgTWVzc2FnZUNyZWF0aW9uU3RlcERldGFpbHMgPSBTdGVwc0FQSS5NZXNzYWdlQ3JlYXRpb25TdGVwRGV0YWlscztcbiAgZXhwb3J0IGltcG9ydCBSZXRyaWV2YWxUb29sQ2FsbCA9IFN0ZXBzQVBJLlJldHJpZXZhbFRvb2xDYWxsO1xuICBleHBvcnQgaW1wb3J0IFJ1blN0ZXAgPSBTdGVwc0FQSS5SdW5TdGVwO1xuICBleHBvcnQgaW1wb3J0IFRvb2xDYWxsc1N0ZXBEZXRhaWxzID0gU3RlcHNBUEkuVG9vbENhbGxzU3RlcERldGFpbHM7XG4gIGV4cG9ydCBpbXBvcnQgUnVuU3RlcHNQYWdlID0gU3RlcHNBUEkuUnVuU3RlcHNQYWdlO1xuICBleHBvcnQgaW1wb3J0IFN0ZXBMaXN0UGFyYW1zID0gU3RlcHNBUEkuU3RlcExpc3RQYXJhbXM7XG59XG4iLCAiLy8gRmlsZSBnZW5lcmF0ZWQgZnJvbSBvdXIgT3BlbkFQSSBzcGVjIGJ5IFN0YWlubGVzcy5cblxuaW1wb3J0ICogYXMgQ29yZSBmcm9tIFwiLi4vLi4vLi4vLi4vY29yZVwiO1xuaW1wb3J0IHsgQVBJUmVzb3VyY2UgfSBmcm9tIFwiLi4vLi4vLi4vLi4vcmVzb3VyY2VcIjtcbmltcG9ydCB7IGlzUmVxdWVzdE9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vLi4vLi4vY29yZVwiO1xuaW1wb3J0ICogYXMgUnVuc0FQSSBmcm9tIFwiLi9ydW5zXCI7XG5pbXBvcnQgKiBhcyBTaGFyZWQgZnJvbSBcIi4uLy4uLy4uL3NoYXJlZFwiO1xuaW1wb3J0ICogYXMgU3RlcHNBUEkgZnJvbSBcIi4vc3RlcHNcIjtcbmltcG9ydCB7IEN1cnNvclBhZ2UsIHR5cGUgQ3Vyc29yUGFnZVBhcmFtcyB9IGZyb20gXCIuLi8uLi8uLi8uLi9wYWdpbmF0aW9uXCI7XG5cbmV4cG9ydCBjbGFzcyBSdW5zIGV4dGVuZHMgQVBJUmVzb3VyY2Uge1xuICBzdGVwczogU3RlcHNBUEkuU3RlcHMgPSBuZXcgU3RlcHNBUEkuU3RlcHModGhpcy5fY2xpZW50KTtcblxuICAvKipcbiAgICogQ3JlYXRlIGEgcnVuLlxuICAgKi9cbiAgY3JlYXRlKHRocmVhZElkOiBzdHJpbmcsIGJvZHk6IFJ1bkNyZWF0ZVBhcmFtcywgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLkFQSVByb21pc2U8UnVuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5wb3N0KGAvdGhyZWFkcy8ke3RocmVhZElkfS9ydW5zYCwge1xuICAgICAgYm9keSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBoZWFkZXJzOiB7ICdPcGVuQUktQmV0YSc6ICdhc3Npc3RhbnRzPXYxJywgLi4ub3B0aW9ucz8uaGVhZGVycyB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIHJ1bi5cbiAgICovXG4gIHJldHJpZXZlKHRocmVhZElkOiBzdHJpbmcsIHJ1bklkOiBzdHJpbmcsIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zKTogQ29yZS5BUElQcm9taXNlPFJ1bj4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQuZ2V0KGAvdGhyZWFkcy8ke3RocmVhZElkfS9ydW5zLyR7cnVuSWR9YCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGhlYWRlcnM6IHsgJ09wZW5BSS1CZXRhJzogJ2Fzc2lzdGFudHM9djEnLCAuLi5vcHRpb25zPy5oZWFkZXJzIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogTW9kaWZpZXMgYSBydW4uXG4gICAqL1xuICB1cGRhdGUoXG4gICAgdGhyZWFkSWQ6IHN0cmluZyxcbiAgICBydW5JZDogc3RyaW5nLFxuICAgIGJvZHk6IFJ1blVwZGF0ZVBhcmFtcyxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQ29yZS5BUElQcm9taXNlPFJ1bj4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQucG9zdChgL3RocmVhZHMvJHt0aHJlYWRJZH0vcnVucy8ke3J1bklkfWAsIHtcbiAgICAgIGJvZHksXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgaGVhZGVyczogeyAnT3BlbkFJLUJldGEnOiAnYXNzaXN0YW50cz12MScsIC4uLm9wdGlvbnM/LmhlYWRlcnMgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBydW5zIGJlbG9uZ2luZyB0byBhIHRocmVhZC5cbiAgICovXG4gIGxpc3QoXG4gICAgdGhyZWFkSWQ6IHN0cmluZyxcbiAgICBxdWVyeT86IFJ1bkxpc3RQYXJhbXMsXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENvcmUuUGFnZVByb21pc2U8UnVuc1BhZ2UsIFJ1bj47XG4gIGxpc3QodGhyZWFkSWQ6IHN0cmluZywgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLlBhZ2VQcm9taXNlPFJ1bnNQYWdlLCBSdW4+O1xuICBsaXN0KFxuICAgIHRocmVhZElkOiBzdHJpbmcsXG4gICAgcXVlcnk6IFJ1bkxpc3RQYXJhbXMgfCBDb3JlLlJlcXVlc3RPcHRpb25zID0ge30sXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENvcmUuUGFnZVByb21pc2U8UnVuc1BhZ2UsIFJ1bj4ge1xuICAgIGlmIChpc1JlcXVlc3RPcHRpb25zKHF1ZXJ5KSkge1xuICAgICAgcmV0dXJuIHRoaXMubGlzdCh0aHJlYWRJZCwge30sIHF1ZXJ5KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5nZXRBUElMaXN0KGAvdGhyZWFkcy8ke3RocmVhZElkfS9ydW5zYCwgUnVuc1BhZ2UsIHtcbiAgICAgIHF1ZXJ5LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGhlYWRlcnM6IHsgJ09wZW5BSS1CZXRhJzogJ2Fzc2lzdGFudHM9djEnLCAuLi5vcHRpb25zPy5oZWFkZXJzIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FuY2VscyBhIHJ1biB0aGF0IGlzIGBpbl9wcm9ncmVzc2AuXG4gICAqL1xuICBjYW5jZWwodGhyZWFkSWQ6IHN0cmluZywgcnVuSWQ6IHN0cmluZywgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLkFQSVByb21pc2U8UnVuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5wb3N0KGAvdGhyZWFkcy8ke3RocmVhZElkfS9ydW5zLyR7cnVuSWR9L2NhbmNlbGAsIHtcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBoZWFkZXJzOiB7ICdPcGVuQUktQmV0YSc6ICdhc3Npc3RhbnRzPXYxJywgLi4ub3B0aW9ucz8uaGVhZGVycyB9LFxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gYSBydW4gaGFzIHRoZSBgc3RhdHVzOiBcInJlcXVpcmVzX2FjdGlvblwiYCBhbmQgYHJlcXVpcmVkX2FjdGlvbi50eXBlYCBpc1xuICAgKiBgc3VibWl0X3Rvb2xfb3V0cHV0c2AsIHRoaXMgZW5kcG9pbnQgY2FuIGJlIHVzZWQgdG8gc3VibWl0IHRoZSBvdXRwdXRzIGZyb20gdGhlXG4gICAqIHRvb2wgY2FsbHMgb25jZSB0aGV5J3JlIGFsbCBjb21wbGV0ZWQuIEFsbCBvdXRwdXRzIG11c3QgYmUgc3VibWl0dGVkIGluIGEgc2luZ2xlXG4gICAqIHJlcXVlc3QuXG4gICAqL1xuICBzdWJtaXRUb29sT3V0cHV0cyhcbiAgICB0aHJlYWRJZDogc3RyaW5nLFxuICAgIHJ1bklkOiBzdHJpbmcsXG4gICAgYm9keTogUnVuU3VibWl0VG9vbE91dHB1dHNQYXJhbXMsXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENvcmUuQVBJUHJvbWlzZTxSdW4+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LnBvc3QoYC90aHJlYWRzLyR7dGhyZWFkSWR9L3J1bnMvJHtydW5JZH0vc3VibWl0X3Rvb2xfb3V0cHV0c2AsIHtcbiAgICAgIGJvZHksXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgaGVhZGVyczogeyAnT3BlbkFJLUJldGEnOiAnYXNzaXN0YW50cz12MScsIC4uLm9wdGlvbnM/LmhlYWRlcnMgfSxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgUnVuc1BhZ2UgZXh0ZW5kcyBDdXJzb3JQYWdlPFJ1bj4ge31cblxuLyoqXG4gKiBUb29sIGNhbGwgb2JqZWN0c1xuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlcXVpcmVkQWN0aW9uRnVuY3Rpb25Ub29sQ2FsbCB7XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIHRvb2wgY2FsbC4gVGhpcyBJRCBtdXN0IGJlIHJlZmVyZW5jZWQgd2hlbiB5b3Ugc3VibWl0IHRoZSB0b29sXG4gICAqIG91dHB1dHMgaW4gdXNpbmcgdGhlXG4gICAqIFtTdWJtaXQgdG9vbCBvdXRwdXRzIHRvIHJ1bl0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXBpLXJlZmVyZW5jZS9ydW5zL3N1Ym1pdFRvb2xPdXRwdXRzKVxuICAgKiBlbmRwb2ludC5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBmdW5jdGlvbiBkZWZpbml0aW9uLlxuICAgKi9cbiAgZnVuY3Rpb246IFJlcXVpcmVkQWN0aW9uRnVuY3Rpb25Ub29sQ2FsbC5GdW5jdGlvbjtcblxuICAvKipcbiAgICogVGhlIHR5cGUgb2YgdG9vbCBjYWxsIHRoZSBvdXRwdXQgaXMgcmVxdWlyZWQgZm9yLiBGb3Igbm93LCB0aGlzIGlzIGFsd2F5c1xuICAgKiBgZnVuY3Rpb25gLlxuICAgKi9cbiAgdHlwZTogJ2Z1bmN0aW9uJztcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSZXF1aXJlZEFjdGlvbkZ1bmN0aW9uVG9vbENhbGwge1xuICAvKipcbiAgICogVGhlIGZ1bmN0aW9uIGRlZmluaXRpb24uXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIEZ1bmN0aW9uIHtcbiAgICAvKipcbiAgICAgKiBUaGUgYXJndW1lbnRzIHRoYXQgdGhlIG1vZGVsIGV4cGVjdHMgeW91IHRvIHBhc3MgdG8gdGhlIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIGFyZ3VtZW50czogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uLlxuICAgICAqL1xuICAgIG5hbWU6IHN0cmluZztcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gZXhlY3V0aW9uIHJ1biBvbiBhXG4gKiBbdGhyZWFkXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9hcGktcmVmZXJlbmNlL3RocmVhZHMpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1biB7XG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciwgd2hpY2ggY2FuIGJlIHJlZmVyZW5jZWQgaW4gQVBJIGVuZHBvaW50cy5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGVcbiAgICogW2Fzc2lzdGFudF0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXBpLXJlZmVyZW5jZS9hc3Npc3RhbnRzKSB1c2VkIGZvclxuICAgKiBleGVjdXRpb24gb2YgdGhpcyBydW4uXG4gICAqL1xuICBhc3Npc3RhbnRfaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVuaXggdGltZXN0YW1wIChpbiBzZWNvbmRzKSBmb3Igd2hlbiB0aGUgcnVuIHdhcyBjYW5jZWxsZWQuXG4gICAqL1xuICBjYW5jZWxsZWRfYXQ6IG51bWJlciB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBVbml4IHRpbWVzdGFtcCAoaW4gc2Vjb25kcykgZm9yIHdoZW4gdGhlIHJ1biB3YXMgY29tcGxldGVkLlxuICAgKi9cbiAgY29tcGxldGVkX2F0OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgVW5peCB0aW1lc3RhbXAgKGluIHNlY29uZHMpIGZvciB3aGVuIHRoZSBydW4gd2FzIGNyZWF0ZWQuXG4gICAqL1xuICBjcmVhdGVkX2F0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBVbml4IHRpbWVzdGFtcCAoaW4gc2Vjb25kcykgZm9yIHdoZW4gdGhlIHJ1biB3aWxsIGV4cGlyZS5cbiAgICovXG4gIGV4cGlyZXNfYXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIFVuaXggdGltZXN0YW1wIChpbiBzZWNvbmRzKSBmb3Igd2hlbiB0aGUgcnVuIGZhaWxlZC5cbiAgICovXG4gIGZhaWxlZF9hdDogbnVtYmVyIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgW0ZpbGVdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvZmlsZXMpIElEcyB0aGVcbiAgICogW2Fzc2lzdGFudF0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXBpLXJlZmVyZW5jZS9hc3Npc3RhbnRzKSB1c2VkIGZvclxuICAgKiB0aGlzIHJ1bi5cbiAgICovXG4gIGZpbGVfaWRzOiBBcnJheTxzdHJpbmc+O1xuXG4gIC8qKlxuICAgKiBUaGUgaW5zdHJ1Y3Rpb25zIHRoYXQgdGhlXG4gICAqIFthc3Npc3RhbnRdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvYXNzaXN0YW50cykgdXNlZCBmb3JcbiAgICogdGhpcyBydW4uXG4gICAqL1xuICBpbnN0cnVjdGlvbnM6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxhc3QgZXJyb3IgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcnVuLiBXaWxsIGJlIGBudWxsYCBpZiB0aGVyZSBhcmUgbm8gZXJyb3JzLlxuICAgKi9cbiAgbGFzdF9lcnJvcjogUnVuLkxhc3RFcnJvciB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFNldCBvZiAxNiBrZXktdmFsdWUgcGFpcnMgdGhhdCBjYW4gYmUgYXR0YWNoZWQgdG8gYW4gb2JqZWN0LiBUaGlzIGNhbiBiZSB1c2VmdWxcbiAgICogZm9yIHN0b3JpbmcgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb2JqZWN0IGluIGEgc3RydWN0dXJlZCBmb3JtYXQuIEtleXNcbiAgICogY2FuIGJlIGEgbWF4aW11bSBvZiA2NCBjaGFyYWN0ZXJzIGxvbmcgYW5kIHZhbHVlcyBjYW4gYmUgYSBtYXhpdW0gb2YgNTEyXG4gICAqIGNoYXJhY3RlcnMgbG9uZy5cbiAgICovXG4gIG1ldGFkYXRhOiB1bmtub3duIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIG1vZGVsIHRoYXQgdGhlXG4gICAqIFthc3Npc3RhbnRdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvYXNzaXN0YW50cykgdXNlZCBmb3JcbiAgICogdGhpcyBydW4uXG4gICAqL1xuICBtb2RlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgb2JqZWN0IHR5cGUsIHdoaWNoIGlzIGFsd2F5cyBgdGhyZWFkLnJ1bmAuXG4gICAqL1xuICBvYmplY3Q6ICd0aHJlYWQucnVuJztcblxuICAvKipcbiAgICogRGV0YWlscyBvbiB0aGUgYWN0aW9uIHJlcXVpcmVkIHRvIGNvbnRpbnVlIHRoZSBydW4uIFdpbGwgYmUgYG51bGxgIGlmIG5vIGFjdGlvblxuICAgKiBpcyByZXF1aXJlZC5cbiAgICovXG4gIHJlcXVpcmVkX2FjdGlvbjogUnVuLlJlcXVpcmVkQWN0aW9uIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIFVuaXggdGltZXN0YW1wIChpbiBzZWNvbmRzKSBmb3Igd2hlbiB0aGUgcnVuIHdhcyBzdGFydGVkLlxuICAgKi9cbiAgc3RhcnRlZF9hdDogbnVtYmVyIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIHN0YXR1cyBvZiB0aGUgcnVuLCB3aGljaCBjYW4gYmUgZWl0aGVyIGBxdWV1ZWRgLCBgaW5fcHJvZ3Jlc3NgLFxuICAgKiBgcmVxdWlyZXNfYWN0aW9uYCwgYGNhbmNlbGxpbmdgLCBgY2FuY2VsbGVkYCwgYGZhaWxlZGAsIGBjb21wbGV0ZWRgLCBvclxuICAgKiBgZXhwaXJlZGAuXG4gICAqL1xuICBzdGF0dXM6XG4gICAgfCAncXVldWVkJ1xuICAgIHwgJ2luX3Byb2dyZXNzJ1xuICAgIHwgJ3JlcXVpcmVzX2FjdGlvbidcbiAgICB8ICdjYW5jZWxsaW5nJ1xuICAgIHwgJ2NhbmNlbGxlZCdcbiAgICB8ICdmYWlsZWQnXG4gICAgfCAnY29tcGxldGVkJ1xuICAgIHwgJ2V4cGlyZWQnO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIFt0aHJlYWRdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvdGhyZWFkcylcbiAgICogdGhhdCB3YXMgZXhlY3V0ZWQgb24gYXMgYSBwYXJ0IG9mIHRoaXMgcnVuLlxuICAgKi9cbiAgdGhyZWFkX2lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIHRvb2xzIHRoYXQgdGhlXG4gICAqIFthc3Npc3RhbnRdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvYXNzaXN0YW50cykgdXNlZCBmb3JcbiAgICogdGhpcyBydW4uXG4gICAqL1xuICB0b29sczogQXJyYXk8UnVuLkFzc2lzdGFudFRvb2xzQ29kZSB8IFJ1bi5Bc3Npc3RhbnRUb29sc1JldHJpZXZhbCB8IFJ1bi5Bc3Npc3RhbnRUb29sc0Z1bmN0aW9uPjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSdW4ge1xuICAvKipcbiAgICogVGhlIGxhc3QgZXJyb3IgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcnVuLiBXaWxsIGJlIGBudWxsYCBpZiB0aGVyZSBhcmUgbm8gZXJyb3JzLlxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBMYXN0RXJyb3Ige1xuICAgIC8qKlxuICAgICAqIE9uZSBvZiBgc2VydmVyX2Vycm9yYCBvciBgcmF0ZV9saW1pdF9leGNlZWRlZGAuXG4gICAgICovXG4gICAgY29kZTogJ3NlcnZlcl9lcnJvcicgfCAncmF0ZV9saW1pdF9leGNlZWRlZCc7XG5cbiAgICAvKipcbiAgICAgKiBBIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIG9mIHRoZSBlcnJvci5cbiAgICAgKi9cbiAgICBtZXNzYWdlOiBzdHJpbmc7XG4gIH1cblxuICAvKipcbiAgICogRGV0YWlscyBvbiB0aGUgYWN0aW9uIHJlcXVpcmVkIHRvIGNvbnRpbnVlIHRoZSBydW4uIFdpbGwgYmUgYG51bGxgIGlmIG5vIGFjdGlvblxuICAgKiBpcyByZXF1aXJlZC5cbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgUmVxdWlyZWRBY3Rpb24ge1xuICAgIC8qKlxuICAgICAqIERldGFpbHMgb24gdGhlIHRvb2wgb3V0cHV0cyBuZWVkZWQgZm9yIHRoaXMgcnVuIHRvIGNvbnRpbnVlLlxuICAgICAqL1xuICAgIHN1Ym1pdF90b29sX291dHB1dHM6IFJlcXVpcmVkQWN0aW9uLlN1Ym1pdFRvb2xPdXRwdXRzO1xuXG4gICAgLyoqXG4gICAgICogRm9yIG5vdywgdGhpcyBpcyBhbHdheXMgYHN1Ym1pdF90b29sX291dHB1dHNgLlxuICAgICAqL1xuICAgIHR5cGU6ICdzdWJtaXRfdG9vbF9vdXRwdXRzJztcbiAgfVxuXG4gIGV4cG9ydCBuYW1lc3BhY2UgUmVxdWlyZWRBY3Rpb24ge1xuICAgIC8qKlxuICAgICAqIERldGFpbHMgb24gdGhlIHRvb2wgb3V0cHV0cyBuZWVkZWQgZm9yIHRoaXMgcnVuIHRvIGNvbnRpbnVlLlxuICAgICAqL1xuICAgIGV4cG9ydCBpbnRlcmZhY2UgU3VibWl0VG9vbE91dHB1dHMge1xuICAgICAgLyoqXG4gICAgICAgKiBBIGxpc3Qgb2YgdGhlIHJlbGV2YW50IHRvb2wgY2FsbHMuXG4gICAgICAgKi9cbiAgICAgIHRvb2xfY2FsbHM6IEFycmF5PFJ1bnNBUEkuUmVxdWlyZWRBY3Rpb25GdW5jdGlvblRvb2xDYWxsPjtcbiAgICB9XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEFzc2lzdGFudFRvb2xzQ29kZSB7XG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdG9vbCBiZWluZyBkZWZpbmVkOiBgY29kZV9pbnRlcnByZXRlcmBcbiAgICAgKi9cbiAgICB0eXBlOiAnY29kZV9pbnRlcnByZXRlcic7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEFzc2lzdGFudFRvb2xzUmV0cmlldmFsIHtcbiAgICAvKipcbiAgICAgKiBUaGUgdHlwZSBvZiB0b29sIGJlaW5nIGRlZmluZWQ6IGByZXRyaWV2YWxgXG4gICAgICovXG4gICAgdHlwZTogJ3JldHJpZXZhbCc7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIEFzc2lzdGFudFRvb2xzRnVuY3Rpb24ge1xuICAgIGZ1bmN0aW9uOiBTaGFyZWQuRnVuY3Rpb25EZWZpbml0aW9uO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdG9vbCBiZWluZyBkZWZpbmVkOiBgZnVuY3Rpb25gXG4gICAgICovXG4gICAgdHlwZTogJ2Z1bmN0aW9uJztcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJ1bkNyZWF0ZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlXG4gICAqIFthc3Npc3RhbnRdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvYXNzaXN0YW50cykgdG8gdXNlIHRvXG4gICAqIGV4ZWN1dGUgdGhpcyBydW4uXG4gICAqL1xuICBhc3Npc3RhbnRfaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogT3ZlcnJpZGUgdGhlIGRlZmF1bHQgc3lzdGVtIG1lc3NhZ2Ugb2YgdGhlIGFzc2lzdGFudC4gVGhpcyBpcyB1c2VmdWwgZm9yXG4gICAqIG1vZGlmeWluZyB0aGUgYmVoYXZpb3Igb24gYSBwZXItcnVuIGJhc2lzLlxuICAgKi9cbiAgaW5zdHJ1Y3Rpb25zPzogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogU2V0IG9mIDE2IGtleS12YWx1ZSBwYWlycyB0aGF0IGNhbiBiZSBhdHRhY2hlZCB0byBhbiBvYmplY3QuIFRoaXMgY2FuIGJlIHVzZWZ1bFxuICAgKiBmb3Igc3RvcmluZyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBvYmplY3QgaW4gYSBzdHJ1Y3R1cmVkIGZvcm1hdC4gS2V5c1xuICAgKiBjYW4gYmUgYSBtYXhpbXVtIG9mIDY0IGNoYXJhY3RlcnMgbG9uZyBhbmQgdmFsdWVzIGNhbiBiZSBhIG1heGl1bSBvZiA1MTJcbiAgICogY2hhcmFjdGVycyBsb25nLlxuICAgKi9cbiAgbWV0YWRhdGE/OiB1bmtub3duIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBbTW9kZWxdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvbW9kZWxzKSB0b1xuICAgKiBiZSB1c2VkIHRvIGV4ZWN1dGUgdGhpcyBydW4uIElmIGEgdmFsdWUgaXMgcHJvdmlkZWQgaGVyZSwgaXQgd2lsbCBvdmVycmlkZSB0aGVcbiAgICogbW9kZWwgYXNzb2NpYXRlZCB3aXRoIHRoZSBhc3Npc3RhbnQuIElmIG5vdCwgdGhlIG1vZGVsIGFzc29jaWF0ZWQgd2l0aCB0aGVcbiAgICogYXNzaXN0YW50IHdpbGwgYmUgdXNlZC5cbiAgICovXG4gIG1vZGVsPzogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogT3ZlcnJpZGUgdGhlIHRvb2xzIHRoZSBhc3Npc3RhbnQgY2FuIHVzZSBmb3IgdGhpcyBydW4uIFRoaXMgaXMgdXNlZnVsIGZvclxuICAgKiBtb2RpZnlpbmcgdGhlIGJlaGF2aW9yIG9uIGEgcGVyLXJ1biBiYXNpcy5cbiAgICovXG4gIHRvb2xzPzogQXJyYXk8XG4gICAgfCBSdW5DcmVhdGVQYXJhbXMuQXNzaXN0YW50VG9vbHNDb2RlXG4gICAgfCBSdW5DcmVhdGVQYXJhbXMuQXNzaXN0YW50VG9vbHNSZXRyaWV2YWxcbiAgICB8IFJ1bkNyZWF0ZVBhcmFtcy5Bc3Npc3RhbnRUb29sc0Z1bmN0aW9uXG4gID4gfCBudWxsO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFJ1bkNyZWF0ZVBhcmFtcyB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgQXNzaXN0YW50VG9vbHNDb2RlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgdHlwZSBvZiB0b29sIGJlaW5nIGRlZmluZWQ6IGBjb2RlX2ludGVycHJldGVyYFxuICAgICAqL1xuICAgIHR5cGU6ICdjb2RlX2ludGVycHJldGVyJztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQXNzaXN0YW50VG9vbHNSZXRyaWV2YWwge1xuICAgIC8qKlxuICAgICAqIFRoZSB0eXBlIG9mIHRvb2wgYmVpbmcgZGVmaW5lZDogYHJldHJpZXZhbGBcbiAgICAgKi9cbiAgICB0eXBlOiAncmV0cmlldmFsJztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgQXNzaXN0YW50VG9vbHNGdW5jdGlvbiB7XG4gICAgZnVuY3Rpb246IFNoYXJlZC5GdW5jdGlvbkRlZmluaXRpb247XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdHlwZSBvZiB0b29sIGJlaW5nIGRlZmluZWQ6IGBmdW5jdGlvbmBcbiAgICAgKi9cbiAgICB0eXBlOiAnZnVuY3Rpb24nO1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVuVXBkYXRlUGFyYW1zIHtcbiAgLyoqXG4gICAqIFNldCBvZiAxNiBrZXktdmFsdWUgcGFpcnMgdGhhdCBjYW4gYmUgYXR0YWNoZWQgdG8gYW4gb2JqZWN0LiBUaGlzIGNhbiBiZSB1c2VmdWxcbiAgICogZm9yIHN0b3JpbmcgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb2JqZWN0IGluIGEgc3RydWN0dXJlZCBmb3JtYXQuIEtleXNcbiAgICogY2FuIGJlIGEgbWF4aW11bSBvZiA2NCBjaGFyYWN0ZXJzIGxvbmcgYW5kIHZhbHVlcyBjYW4gYmUgYSBtYXhpdW0gb2YgNTEyXG4gICAqIGNoYXJhY3RlcnMgbG9uZy5cbiAgICovXG4gIG1ldGFkYXRhPzogdW5rbm93biB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgUnVuTGlzdFBhcmFtcyBleHRlbmRzIEN1cnNvclBhZ2VQYXJhbXMge1xuICAvKipcbiAgICogQSBjdXJzb3IgZm9yIHVzZSBpbiBwYWdpbmF0aW9uLiBgYmVmb3JlYCBpcyBhbiBvYmplY3QgSUQgdGhhdCBkZWZpbmVzIHlvdXIgcGxhY2VcbiAgICogaW4gdGhlIGxpc3QuIEZvciBpbnN0YW5jZSwgaWYgeW91IG1ha2UgYSBsaXN0IHJlcXVlc3QgYW5kIHJlY2VpdmUgMTAwIG9iamVjdHMsXG4gICAqIGVuZGluZyB3aXRoIG9ial9mb28sIHlvdXIgc3Vic2VxdWVudCBjYWxsIGNhbiBpbmNsdWRlIGJlZm9yZT1vYmpfZm9vIGluIG9yZGVyIHRvXG4gICAqIGZldGNoIHRoZSBwcmV2aW91cyBwYWdlIG9mIHRoZSBsaXN0LlxuICAgKi9cbiAgYmVmb3JlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTb3J0IG9yZGVyIGJ5IHRoZSBgY3JlYXRlZF9hdGAgdGltZXN0YW1wIG9mIHRoZSBvYmplY3RzLiBgYXNjYCBmb3IgYXNjZW5kaW5nXG4gICAqIG9yZGVyIGFuZCBgZGVzY2AgZm9yIGRlc2NlbmRpbmcgb3JkZXIuXG4gICAqL1xuICBvcmRlcj86ICdhc2MnIHwgJ2Rlc2MnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJ1blN1Ym1pdFRvb2xPdXRwdXRzUGFyYW1zIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiB0b29scyBmb3Igd2hpY2ggdGhlIG91dHB1dHMgYXJlIGJlaW5nIHN1Ym1pdHRlZC5cbiAgICovXG4gIHRvb2xfb3V0cHV0czogQXJyYXk8UnVuU3VibWl0VG9vbE91dHB1dHNQYXJhbXMuVG9vbE91dHB1dD47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgUnVuU3VibWl0VG9vbE91dHB1dHNQYXJhbXMge1xuICBleHBvcnQgaW50ZXJmYWNlIFRvb2xPdXRwdXQge1xuICAgIC8qKlxuICAgICAqIFRoZSBvdXRwdXQgb2YgdGhlIHRvb2wgY2FsbCB0byBiZSBzdWJtaXR0ZWQgdG8gY29udGludWUgdGhlIHJ1bi5cbiAgICAgKi9cbiAgICBvdXRwdXQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgSUQgb2YgdGhlIHRvb2wgY2FsbCBpbiB0aGUgYHJlcXVpcmVkX2FjdGlvbmAgb2JqZWN0IHdpdGhpbiB0aGUgcnVuIG9iamVjdFxuICAgICAqIHRoZSBvdXRwdXQgaXMgYmVpbmcgc3VibWl0dGVkIGZvci5cbiAgICAgKi9cbiAgICB0b29sX2NhbGxfaWQ/OiBzdHJpbmc7XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBSdW5zIHtcbiAgZXhwb3J0IGltcG9ydCBSZXF1aXJlZEFjdGlvbkZ1bmN0aW9uVG9vbENhbGwgPSBSdW5zQVBJLlJlcXVpcmVkQWN0aW9uRnVuY3Rpb25Ub29sQ2FsbDtcbiAgZXhwb3J0IGltcG9ydCBSdW4gPSBSdW5zQVBJLlJ1bjtcbiAgZXhwb3J0IGltcG9ydCBSdW5zUGFnZSA9IFJ1bnNBUEkuUnVuc1BhZ2U7XG4gIGV4cG9ydCBpbXBvcnQgUnVuQ3JlYXRlUGFyYW1zID0gUnVuc0FQSS5SdW5DcmVhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgUnVuVXBkYXRlUGFyYW1zID0gUnVuc0FQSS5SdW5VcGRhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgUnVuTGlzdFBhcmFtcyA9IFJ1bnNBUEkuUnVuTGlzdFBhcmFtcztcbiAgZXhwb3J0IGltcG9ydCBSdW5TdWJtaXRUb29sT3V0cHV0c1BhcmFtcyA9IFJ1bnNBUEkuUnVuU3VibWl0VG9vbE91dHB1dHNQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgU3RlcHMgPSBTdGVwc0FQSS5TdGVwcztcbiAgZXhwb3J0IGltcG9ydCBDb2RlVG9vbENhbGwgPSBTdGVwc0FQSS5Db2RlVG9vbENhbGw7XG4gIGV4cG9ydCBpbXBvcnQgRnVuY3Rpb25Ub29sQ2FsbCA9IFN0ZXBzQVBJLkZ1bmN0aW9uVG9vbENhbGw7XG4gIGV4cG9ydCBpbXBvcnQgTWVzc2FnZUNyZWF0aW9uU3RlcERldGFpbHMgPSBTdGVwc0FQSS5NZXNzYWdlQ3JlYXRpb25TdGVwRGV0YWlscztcbiAgZXhwb3J0IGltcG9ydCBSZXRyaWV2YWxUb29sQ2FsbCA9IFN0ZXBzQVBJLlJldHJpZXZhbFRvb2xDYWxsO1xuICBleHBvcnQgaW1wb3J0IFJ1blN0ZXAgPSBTdGVwc0FQSS5SdW5TdGVwO1xuICBleHBvcnQgaW1wb3J0IFRvb2xDYWxsc1N0ZXBEZXRhaWxzID0gU3RlcHNBUEkuVG9vbENhbGxzU3RlcERldGFpbHM7XG4gIGV4cG9ydCBpbXBvcnQgUnVuU3RlcHNQYWdlID0gU3RlcHNBUEkuUnVuU3RlcHNQYWdlO1xuICBleHBvcnQgaW1wb3J0IFN0ZXBMaXN0UGFyYW1zID0gU3RlcHNBUEkuU3RlcExpc3RQYXJhbXM7XG59XG4iLCAiLy8gRmlsZSBnZW5lcmF0ZWQgZnJvbSBvdXIgT3BlbkFQSSBzcGVjIGJ5IFN0YWlubGVzcy5cblxuaW1wb3J0ICogYXMgQ29yZSBmcm9tIFwiLi4vLi4vLi4vY29yZVwiO1xuaW1wb3J0IHsgQVBJUmVzb3VyY2UgfSBmcm9tIFwiLi4vLi4vLi4vcmVzb3VyY2VcIjtcbmltcG9ydCB7IGlzUmVxdWVzdE9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vLi4vY29yZVwiO1xuaW1wb3J0ICogYXMgVGhyZWFkc0FQSSBmcm9tIFwiLi90aHJlYWRzXCI7XG5pbXBvcnQgKiBhcyBTaGFyZWQgZnJvbSBcIi4uLy4uL3NoYXJlZFwiO1xuaW1wb3J0ICogYXMgTWVzc2FnZXNBUEkgZnJvbSBcIi4vbWVzc2FnZXMvbWVzc2FnZXNcIjtcbmltcG9ydCAqIGFzIFJ1bnNBUEkgZnJvbSBcIi4vcnVucy9ydW5zXCI7XG5cbmV4cG9ydCBjbGFzcyBUaHJlYWRzIGV4dGVuZHMgQVBJUmVzb3VyY2Uge1xuICBydW5zOiBSdW5zQVBJLlJ1bnMgPSBuZXcgUnVuc0FQSS5SdW5zKHRoaXMuX2NsaWVudCk7XG4gIG1lc3NhZ2VzOiBNZXNzYWdlc0FQSS5NZXNzYWdlcyA9IG5ldyBNZXNzYWdlc0FQSS5NZXNzYWdlcyh0aGlzLl9jbGllbnQpO1xuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSB0aHJlYWQuXG4gICAqL1xuICBjcmVhdGUoYm9keT86IFRocmVhZENyZWF0ZVBhcmFtcywgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLkFQSVByb21pc2U8VGhyZWFkPjtcbiAgY3JlYXRlKG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zKTogQ29yZS5BUElQcm9taXNlPFRocmVhZD47XG4gIGNyZWF0ZShcbiAgICBib2R5OiBUaHJlYWRDcmVhdGVQYXJhbXMgfCBDb3JlLlJlcXVlc3RPcHRpb25zID0ge30sXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENvcmUuQVBJUHJvbWlzZTxUaHJlYWQ+IHtcbiAgICBpZiAoaXNSZXF1ZXN0T3B0aW9ucyhib2R5KSkge1xuICAgICAgcmV0dXJuIHRoaXMuY3JlYXRlKHt9LCBib2R5KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5wb3N0KCcvdGhyZWFkcycsIHtcbiAgICAgIGJvZHksXG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgaGVhZGVyczogeyAnT3BlbkFJLUJldGEnOiAnYXNzaXN0YW50cz12MScsIC4uLm9wdGlvbnM/LmhlYWRlcnMgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSB0aHJlYWQuXG4gICAqL1xuICByZXRyaWV2ZSh0aHJlYWRJZDogc3RyaW5nLCBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyk6IENvcmUuQVBJUHJvbWlzZTxUaHJlYWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmdldChgL3RocmVhZHMvJHt0aHJlYWRJZH1gLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgaGVhZGVyczogeyAnT3BlbkFJLUJldGEnOiAnYXNzaXN0YW50cz12MScsIC4uLm9wdGlvbnM/LmhlYWRlcnMgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNb2RpZmllcyBhIHRocmVhZC5cbiAgICovXG4gIHVwZGF0ZSh0aHJlYWRJZDogc3RyaW5nLCBib2R5OiBUaHJlYWRVcGRhdGVQYXJhbXMsIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zKTogQ29yZS5BUElQcm9taXNlPFRocmVhZD4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQucG9zdChgL3RocmVhZHMvJHt0aHJlYWRJZH1gLCB7XG4gICAgICBib2R5LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGhlYWRlcnM6IHsgJ09wZW5BSS1CZXRhJzogJ2Fzc2lzdGFudHM9djEnLCAuLi5vcHRpb25zPy5oZWFkZXJzIH0sXG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlIGEgdGhyZWFkLlxuICAgKi9cbiAgZGVsKHRocmVhZElkOiBzdHJpbmcsIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zKTogQ29yZS5BUElQcm9taXNlPFRocmVhZERlbGV0ZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmRlbGV0ZShgL3RocmVhZHMvJHt0aHJlYWRJZH1gLCB7XG4gICAgICAuLi5vcHRpb25zLFxuICAgICAgaGVhZGVyczogeyAnT3BlbkFJLUJldGEnOiAnYXNzaXN0YW50cz12MScsIC4uLm9wdGlvbnM/LmhlYWRlcnMgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGUgYSB0aHJlYWQgYW5kIHJ1biBpdCBpbiBvbmUgcmVxdWVzdC5cbiAgICovXG4gIGNyZWF0ZUFuZFJ1bihib2R5OiBUaHJlYWRDcmVhdGVBbmRSdW5QYXJhbXMsIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zKTogQ29yZS5BUElQcm9taXNlPFJ1bnNBUEkuUnVuPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5wb3N0KCcvdGhyZWFkcy9ydW5zJywge1xuICAgICAgYm9keSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgICBoZWFkZXJzOiB7ICdPcGVuQUktQmV0YSc6ICdhc3Npc3RhbnRzPXYxJywgLi4ub3B0aW9ucz8uaGVhZGVycyB9LFxuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHRocmVhZCB0aGF0IGNvbnRhaW5zXG4gKiBbbWVzc2FnZXNdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvbWVzc2FnZXMpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRocmVhZCB7XG4gIC8qKlxuICAgKiBUaGUgaWRlbnRpZmllciwgd2hpY2ggY2FuIGJlIHJlZmVyZW5jZWQgaW4gQVBJIGVuZHBvaW50cy5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVbml4IHRpbWVzdGFtcCAoaW4gc2Vjb25kcykgZm9yIHdoZW4gdGhlIHRocmVhZCB3YXMgY3JlYXRlZC5cbiAgICovXG4gIGNyZWF0ZWRfYXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogU2V0IG9mIDE2IGtleS12YWx1ZSBwYWlycyB0aGF0IGNhbiBiZSBhdHRhY2hlZCB0byBhbiBvYmplY3QuIFRoaXMgY2FuIGJlIHVzZWZ1bFxuICAgKiBmb3Igc3RvcmluZyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBvYmplY3QgaW4gYSBzdHJ1Y3R1cmVkIGZvcm1hdC4gS2V5c1xuICAgKiBjYW4gYmUgYSBtYXhpbXVtIG9mIDY0IGNoYXJhY3RlcnMgbG9uZyBhbmQgdmFsdWVzIGNhbiBiZSBhIG1heGl1bSBvZiA1MTJcbiAgICogY2hhcmFjdGVycyBsb25nLlxuICAgKi9cbiAgbWV0YWRhdGE6IHVua25vd24gfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgb2JqZWN0IHR5cGUsIHdoaWNoIGlzIGFsd2F5cyBgdGhyZWFkYC5cbiAgICovXG4gIG9iamVjdDogJ3RocmVhZCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhyZWFkRGVsZXRlZCB7XG4gIGlkOiBzdHJpbmc7XG5cbiAgZGVsZXRlZDogYm9vbGVhbjtcblxuICBvYmplY3Q6ICd0aHJlYWQuZGVsZXRlZCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhyZWFkQ3JlYXRlUGFyYW1zIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBbbWVzc2FnZXNdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvbWVzc2FnZXMpIHRvXG4gICAqIHN0YXJ0IHRoZSB0aHJlYWQgd2l0aC5cbiAgICovXG4gIG1lc3NhZ2VzPzogQXJyYXk8VGhyZWFkQ3JlYXRlUGFyYW1zLk1lc3NhZ2U+O1xuXG4gIC8qKlxuICAgKiBTZXQgb2YgMTYga2V5LXZhbHVlIHBhaXJzIHRoYXQgY2FuIGJlIGF0dGFjaGVkIHRvIGFuIG9iamVjdC4gVGhpcyBjYW4gYmUgdXNlZnVsXG4gICAqIGZvciBzdG9yaW5nIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9iamVjdCBpbiBhIHN0cnVjdHVyZWQgZm9ybWF0LiBLZXlzXG4gICAqIGNhbiBiZSBhIG1heGltdW0gb2YgNjQgY2hhcmFjdGVycyBsb25nIGFuZCB2YWx1ZXMgY2FuIGJlIGEgbWF4aXVtIG9mIDUxMlxuICAgKiBjaGFyYWN0ZXJzIGxvbmcuXG4gICAqL1xuICBtZXRhZGF0YT86IHVua25vd24gfCBudWxsO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIFRocmVhZENyZWF0ZVBhcmFtcyB7XG4gIGV4cG9ydCBpbnRlcmZhY2UgTWVzc2FnZSB7XG4gICAgLyoqXG4gICAgICogVGhlIGNvbnRlbnQgb2YgdGhlIG1lc3NhZ2UuXG4gICAgICovXG4gICAgY29udGVudDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHJvbGUgb2YgdGhlIGVudGl0eSB0aGF0IGlzIGNyZWF0aW5nIHRoZSBtZXNzYWdlLiBDdXJyZW50bHkgb25seSBgdXNlcmAgaXNcbiAgICAgKiBzdXBwb3J0ZWQuXG4gICAgICovXG4gICAgcm9sZTogJ3VzZXInO1xuXG4gICAgLyoqXG4gICAgICogQSBsaXN0IG9mIFtGaWxlXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9hcGktcmVmZXJlbmNlL2ZpbGVzKSBJRHMgdGhhdFxuICAgICAqIHRoZSBtZXNzYWdlIHNob3VsZCB1c2UuIFRoZXJlIGNhbiBiZSBhIG1heGltdW0gb2YgMTAgZmlsZXMgYXR0YWNoZWQgdG8gYVxuICAgICAqIG1lc3NhZ2UuIFVzZWZ1bCBmb3IgdG9vbHMgbGlrZSBgcmV0cmlldmFsYCBhbmQgYGNvZGVfaW50ZXJwcmV0ZXJgIHRoYXQgY2FuXG4gICAgICogYWNjZXNzIGFuZCB1c2UgZmlsZXMuXG4gICAgICovXG4gICAgZmlsZV9pZHM/OiBBcnJheTxzdHJpbmc+O1xuXG4gICAgLyoqXG4gICAgICogU2V0IG9mIDE2IGtleS12YWx1ZSBwYWlycyB0aGF0IGNhbiBiZSBhdHRhY2hlZCB0byBhbiBvYmplY3QuIFRoaXMgY2FuIGJlIHVzZWZ1bFxuICAgICAqIGZvciBzdG9yaW5nIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9iamVjdCBpbiBhIHN0cnVjdHVyZWQgZm9ybWF0LiBLZXlzXG4gICAgICogY2FuIGJlIGEgbWF4aW11bSBvZiA2NCBjaGFyYWN0ZXJzIGxvbmcgYW5kIHZhbHVlcyBjYW4gYmUgYSBtYXhpdW0gb2YgNTEyXG4gICAgICogY2hhcmFjdGVycyBsb25nLlxuICAgICAqL1xuICAgIG1ldGFkYXRhPzogdW5rbm93biB8IG51bGw7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaHJlYWRVcGRhdGVQYXJhbXMge1xuICAvKipcbiAgICogU2V0IG9mIDE2IGtleS12YWx1ZSBwYWlycyB0aGF0IGNhbiBiZSBhdHRhY2hlZCB0byBhbiBvYmplY3QuIFRoaXMgY2FuIGJlIHVzZWZ1bFxuICAgKiBmb3Igc3RvcmluZyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBvYmplY3QgaW4gYSBzdHJ1Y3R1cmVkIGZvcm1hdC4gS2V5c1xuICAgKiBjYW4gYmUgYSBtYXhpbXVtIG9mIDY0IGNoYXJhY3RlcnMgbG9uZyBhbmQgdmFsdWVzIGNhbiBiZSBhIG1heGl1bSBvZiA1MTJcbiAgICogY2hhcmFjdGVycyBsb25nLlxuICAgKi9cbiAgbWV0YWRhdGE/OiB1bmtub3duIHwgbnVsbDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaHJlYWRDcmVhdGVBbmRSdW5QYXJhbXMge1xuICAvKipcbiAgICogVGhlIElEIG9mIHRoZVxuICAgKiBbYXNzaXN0YW50XShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9hcGktcmVmZXJlbmNlL2Fzc2lzdGFudHMpIHRvIHVzZSB0b1xuICAgKiBleGVjdXRlIHRoaXMgcnVuLlxuICAgKi9cbiAgYXNzaXN0YW50X2lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRoZSBkZWZhdWx0IHN5c3RlbSBtZXNzYWdlIG9mIHRoZSBhc3Npc3RhbnQuIFRoaXMgaXMgdXNlZnVsIGZvclxuICAgKiBtb2RpZnlpbmcgdGhlIGJlaGF2aW9yIG9uIGEgcGVyLXJ1biBiYXNpcy5cbiAgICovXG4gIGluc3RydWN0aW9ucz86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFNldCBvZiAxNiBrZXktdmFsdWUgcGFpcnMgdGhhdCBjYW4gYmUgYXR0YWNoZWQgdG8gYW4gb2JqZWN0LiBUaGlzIGNhbiBiZSB1c2VmdWxcbiAgICogZm9yIHN0b3JpbmcgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgb2JqZWN0IGluIGEgc3RydWN0dXJlZCBmb3JtYXQuIEtleXNcbiAgICogY2FuIGJlIGEgbWF4aW11bSBvZiA2NCBjaGFyYWN0ZXJzIGxvbmcgYW5kIHZhbHVlcyBjYW4gYmUgYSBtYXhpdW0gb2YgNTEyXG4gICAqIGNoYXJhY3RlcnMgbG9uZy5cbiAgICovXG4gIG1ldGFkYXRhPzogdW5rbm93biB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgW01vZGVsXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9hcGktcmVmZXJlbmNlL21vZGVscykgdG9cbiAgICogYmUgdXNlZCB0byBleGVjdXRlIHRoaXMgcnVuLiBJZiBhIHZhbHVlIGlzIHByb3ZpZGVkIGhlcmUsIGl0IHdpbGwgb3ZlcnJpZGUgdGhlXG4gICAqIG1vZGVsIGFzc29jaWF0ZWQgd2l0aCB0aGUgYXNzaXN0YW50LiBJZiBub3QsIHRoZSBtb2RlbCBhc3NvY2lhdGVkIHdpdGggdGhlXG4gICAqIGFzc2lzdGFudCB3aWxsIGJlIHVzZWQuXG4gICAqL1xuICBtb2RlbD86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIElmIG5vIHRocmVhZCBpcyBwcm92aWRlZCwgYW4gZW1wdHkgdGhyZWFkIHdpbGwgYmUgY3JlYXRlZC5cbiAgICovXG4gIHRocmVhZD86IFRocmVhZENyZWF0ZUFuZFJ1blBhcmFtcy5UaHJlYWQ7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRoZSB0b29scyB0aGUgYXNzaXN0YW50IGNhbiB1c2UgZm9yIHRoaXMgcnVuLiBUaGlzIGlzIHVzZWZ1bCBmb3JcbiAgICogbW9kaWZ5aW5nIHRoZSBiZWhhdmlvciBvbiBhIHBlci1ydW4gYmFzaXMuXG4gICAqL1xuICB0b29scz86IEFycmF5PFxuICAgIHwgVGhyZWFkQ3JlYXRlQW5kUnVuUGFyYW1zLkFzc2lzdGFudFRvb2xzQ29kZVxuICAgIHwgVGhyZWFkQ3JlYXRlQW5kUnVuUGFyYW1zLkFzc2lzdGFudFRvb2xzUmV0cmlldmFsXG4gICAgfCBUaHJlYWRDcmVhdGVBbmRSdW5QYXJhbXMuQXNzaXN0YW50VG9vbHNGdW5jdGlvblxuICA+IHwgbnVsbDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBUaHJlYWRDcmVhdGVBbmRSdW5QYXJhbXMge1xuICAvKipcbiAgICogSWYgbm8gdGhyZWFkIGlzIHByb3ZpZGVkLCBhbiBlbXB0eSB0aHJlYWQgd2lsbCBiZSBjcmVhdGVkLlxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBUaHJlYWQge1xuICAgIC8qKlxuICAgICAqIEEgbGlzdCBvZiBbbWVzc2FnZXNdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvbWVzc2FnZXMpIHRvXG4gICAgICogc3RhcnQgdGhlIHRocmVhZCB3aXRoLlxuICAgICAqL1xuICAgIG1lc3NhZ2VzPzogQXJyYXk8VGhyZWFkLk1lc3NhZ2U+O1xuXG4gICAgLyoqXG4gICAgICogU2V0IG9mIDE2IGtleS12YWx1ZSBwYWlycyB0aGF0IGNhbiBiZSBhdHRhY2hlZCB0byBhbiBvYmplY3QuIFRoaXMgY2FuIGJlIHVzZWZ1bFxuICAgICAqIGZvciBzdG9yaW5nIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG9iamVjdCBpbiBhIHN0cnVjdHVyZWQgZm9ybWF0LiBLZXlzXG4gICAgICogY2FuIGJlIGEgbWF4aW11bSBvZiA2NCBjaGFyYWN0ZXJzIGxvbmcgYW5kIHZhbHVlcyBjYW4gYmUgYSBtYXhpdW0gb2YgNTEyXG4gICAgICogY2hhcmFjdGVycyBsb25nLlxuICAgICAqL1xuICAgIG1ldGFkYXRhPzogdW5rbm93biB8IG51bGw7XG4gIH1cblxuICBleHBvcnQgbmFtZXNwYWNlIFRocmVhZCB7XG4gICAgZXhwb3J0IGludGVyZmFjZSBNZXNzYWdlIHtcbiAgICAgIC8qKlxuICAgICAgICogVGhlIGNvbnRlbnQgb2YgdGhlIG1lc3NhZ2UuXG4gICAgICAgKi9cbiAgICAgIGNvbnRlbnQ6IHN0cmluZztcblxuICAgICAgLyoqXG4gICAgICAgKiBUaGUgcm9sZSBvZiB0aGUgZW50aXR5IHRoYXQgaXMgY3JlYXRpbmcgdGhlIG1lc3NhZ2UuIEN1cnJlbnRseSBvbmx5IGB1c2VyYCBpc1xuICAgICAgICogc3VwcG9ydGVkLlxuICAgICAgICovXG4gICAgICByb2xlOiAndXNlcic7XG5cbiAgICAgIC8qKlxuICAgICAgICogQSBsaXN0IG9mIFtGaWxlXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9hcGktcmVmZXJlbmNlL2ZpbGVzKSBJRHMgdGhhdFxuICAgICAgICogdGhlIG1lc3NhZ2Ugc2hvdWxkIHVzZS4gVGhlcmUgY2FuIGJlIGEgbWF4aW11bSBvZiAxMCBmaWxlcyBhdHRhY2hlZCB0byBhXG4gICAgICAgKiBtZXNzYWdlLiBVc2VmdWwgZm9yIHRvb2xzIGxpa2UgYHJldHJpZXZhbGAgYW5kIGBjb2RlX2ludGVycHJldGVyYCB0aGF0IGNhblxuICAgICAgICogYWNjZXNzIGFuZCB1c2UgZmlsZXMuXG4gICAgICAgKi9cbiAgICAgIGZpbGVfaWRzPzogQXJyYXk8c3RyaW5nPjtcblxuICAgICAgLyoqXG4gICAgICAgKiBTZXQgb2YgMTYga2V5LXZhbHVlIHBhaXJzIHRoYXQgY2FuIGJlIGF0dGFjaGVkIHRvIGFuIG9iamVjdC4gVGhpcyBjYW4gYmUgdXNlZnVsXG4gICAgICAgKiBmb3Igc3RvcmluZyBhZGRpdGlvbmFsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBvYmplY3QgaW4gYSBzdHJ1Y3R1cmVkIGZvcm1hdC4gS2V5c1xuICAgICAgICogY2FuIGJlIGEgbWF4aW11bSBvZiA2NCBjaGFyYWN0ZXJzIGxvbmcgYW5kIHZhbHVlcyBjYW4gYmUgYSBtYXhpdW0gb2YgNTEyXG4gICAgICAgKiBjaGFyYWN0ZXJzIGxvbmcuXG4gICAgICAgKi9cbiAgICAgIG1ldGFkYXRhPzogdW5rbm93biB8IG51bGw7XG4gICAgfVxuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBBc3Npc3RhbnRUb29sc0NvZGUge1xuICAgIC8qKlxuICAgICAqIFRoZSB0eXBlIG9mIHRvb2wgYmVpbmcgZGVmaW5lZDogYGNvZGVfaW50ZXJwcmV0ZXJgXG4gICAgICovXG4gICAgdHlwZTogJ2NvZGVfaW50ZXJwcmV0ZXInO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBBc3Npc3RhbnRUb29sc1JldHJpZXZhbCB7XG4gICAgLyoqXG4gICAgICogVGhlIHR5cGUgb2YgdG9vbCBiZWluZyBkZWZpbmVkOiBgcmV0cmlldmFsYFxuICAgICAqL1xuICAgIHR5cGU6ICdyZXRyaWV2YWwnO1xuICB9XG5cbiAgZXhwb3J0IGludGVyZmFjZSBBc3Npc3RhbnRUb29sc0Z1bmN0aW9uIHtcbiAgICBmdW5jdGlvbjogU2hhcmVkLkZ1bmN0aW9uRGVmaW5pdGlvbjtcblxuICAgIC8qKlxuICAgICAqIFRoZSB0eXBlIG9mIHRvb2wgYmVpbmcgZGVmaW5lZDogYGZ1bmN0aW9uYFxuICAgICAqL1xuICAgIHR5cGU6ICdmdW5jdGlvbic7XG4gIH1cbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBUaHJlYWRzIHtcbiAgZXhwb3J0IGltcG9ydCBUaHJlYWQgPSBUaHJlYWRzQVBJLlRocmVhZDtcbiAgZXhwb3J0IGltcG9ydCBUaHJlYWREZWxldGVkID0gVGhyZWFkc0FQSS5UaHJlYWREZWxldGVkO1xuICBleHBvcnQgaW1wb3J0IFRocmVhZENyZWF0ZVBhcmFtcyA9IFRocmVhZHNBUEkuVGhyZWFkQ3JlYXRlUGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IFRocmVhZFVwZGF0ZVBhcmFtcyA9IFRocmVhZHNBUEkuVGhyZWFkVXBkYXRlUGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IFRocmVhZENyZWF0ZUFuZFJ1blBhcmFtcyA9IFRocmVhZHNBUEkuVGhyZWFkQ3JlYXRlQW5kUnVuUGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IFJ1bnMgPSBSdW5zQVBJLlJ1bnM7XG4gIGV4cG9ydCBpbXBvcnQgUmVxdWlyZWRBY3Rpb25GdW5jdGlvblRvb2xDYWxsID0gUnVuc0FQSS5SZXF1aXJlZEFjdGlvbkZ1bmN0aW9uVG9vbENhbGw7XG4gIGV4cG9ydCBpbXBvcnQgUnVuID0gUnVuc0FQSS5SdW47XG4gIGV4cG9ydCBpbXBvcnQgUnVuc1BhZ2UgPSBSdW5zQVBJLlJ1bnNQYWdlO1xuICBleHBvcnQgaW1wb3J0IFJ1bkNyZWF0ZVBhcmFtcyA9IFJ1bnNBUEkuUnVuQ3JlYXRlUGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IFJ1blVwZGF0ZVBhcmFtcyA9IFJ1bnNBUEkuUnVuVXBkYXRlUGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IFJ1bkxpc3RQYXJhbXMgPSBSdW5zQVBJLlJ1bkxpc3RQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgUnVuU3VibWl0VG9vbE91dHB1dHNQYXJhbXMgPSBSdW5zQVBJLlJ1blN1Ym1pdFRvb2xPdXRwdXRzUGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IE1lc3NhZ2VzID0gTWVzc2FnZXNBUEkuTWVzc2FnZXM7XG4gIGV4cG9ydCBpbXBvcnQgTWVzc2FnZUNvbnRlbnRJbWFnZUZpbGUgPSBNZXNzYWdlc0FQSS5NZXNzYWdlQ29udGVudEltYWdlRmlsZTtcbiAgZXhwb3J0IGltcG9ydCBNZXNzYWdlQ29udGVudFRleHQgPSBNZXNzYWdlc0FQSS5NZXNzYWdlQ29udGVudFRleHQ7XG4gIGV4cG9ydCBpbXBvcnQgVGhyZWFkTWVzc2FnZSA9IE1lc3NhZ2VzQVBJLlRocmVhZE1lc3NhZ2U7XG4gIGV4cG9ydCBpbXBvcnQgVGhyZWFkTWVzc2FnZURlbGV0ZWQgPSBNZXNzYWdlc0FQSS5UaHJlYWRNZXNzYWdlRGVsZXRlZDtcbiAgZXhwb3J0IGltcG9ydCBUaHJlYWRNZXNzYWdlc1BhZ2UgPSBNZXNzYWdlc0FQSS5UaHJlYWRNZXNzYWdlc1BhZ2U7XG4gIGV4cG9ydCBpbXBvcnQgTWVzc2FnZUNyZWF0ZVBhcmFtcyA9IE1lc3NhZ2VzQVBJLk1lc3NhZ2VDcmVhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgTWVzc2FnZVVwZGF0ZVBhcmFtcyA9IE1lc3NhZ2VzQVBJLk1lc3NhZ2VVcGRhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgTWVzc2FnZUxpc3RQYXJhbXMgPSBNZXNzYWdlc0FQSS5NZXNzYWdlTGlzdFBhcmFtcztcbn1cbiIsICIvLyBGaWxlIGdlbmVyYXRlZCBmcm9tIG91ciBPcGVuQVBJIHNwZWMgYnkgU3RhaW5sZXNzLlxuXG5pbXBvcnQgeyBBUElSZXNvdXJjZSB9IGZyb20gXCIuLi8uLi9yZXNvdXJjZVwiO1xuaW1wb3J0ICogYXMgQXNzaXN0YW50c0FQSSBmcm9tIFwiLi9hc3Npc3RhbnRzL2Fzc2lzdGFudHNcIjtcbmltcG9ydCAqIGFzIENoYXRBUEkgZnJvbSBcIi4vY2hhdC9jaGF0XCI7XG5pbXBvcnQgKiBhcyBUaHJlYWRzQVBJIGZyb20gXCIuL3RocmVhZHMvdGhyZWFkc1wiO1xuXG5leHBvcnQgY2xhc3MgQmV0YSBleHRlbmRzIEFQSVJlc291cmNlIHtcbiAgY2hhdDogQ2hhdEFQSS5DaGF0ID0gbmV3IENoYXRBUEkuQ2hhdCh0aGlzLl9jbGllbnQpO1xuICBhc3Npc3RhbnRzOiBBc3Npc3RhbnRzQVBJLkFzc2lzdGFudHMgPSBuZXcgQXNzaXN0YW50c0FQSS5Bc3Npc3RhbnRzKHRoaXMuX2NsaWVudCk7XG4gIHRocmVhZHM6IFRocmVhZHNBUEkuVGhyZWFkcyA9IG5ldyBUaHJlYWRzQVBJLlRocmVhZHModGhpcy5fY2xpZW50KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBCZXRhIHtcbiAgZXhwb3J0IGltcG9ydCBDaGF0ID0gQ2hhdEFQSS5DaGF0O1xuICBleHBvcnQgaW1wb3J0IEFzc2lzdGFudHMgPSBBc3Npc3RhbnRzQVBJLkFzc2lzdGFudHM7XG4gIGV4cG9ydCBpbXBvcnQgQXNzaXN0YW50ID0gQXNzaXN0YW50c0FQSS5Bc3Npc3RhbnQ7XG4gIGV4cG9ydCBpbXBvcnQgQXNzaXN0YW50RGVsZXRlZCA9IEFzc2lzdGFudHNBUEkuQXNzaXN0YW50RGVsZXRlZDtcbiAgZXhwb3J0IGltcG9ydCBBc3Npc3RhbnRzUGFnZSA9IEFzc2lzdGFudHNBUEkuQXNzaXN0YW50c1BhZ2U7XG4gIGV4cG9ydCBpbXBvcnQgQXNzaXN0YW50Q3JlYXRlUGFyYW1zID0gQXNzaXN0YW50c0FQSS5Bc3Npc3RhbnRDcmVhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgQXNzaXN0YW50VXBkYXRlUGFyYW1zID0gQXNzaXN0YW50c0FQSS5Bc3Npc3RhbnRVcGRhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgQXNzaXN0YW50TGlzdFBhcmFtcyA9IEFzc2lzdGFudHNBUEkuQXNzaXN0YW50TGlzdFBhcmFtcztcbiAgZXhwb3J0IGltcG9ydCBUaHJlYWRzID0gVGhyZWFkc0FQSS5UaHJlYWRzO1xuICBleHBvcnQgaW1wb3J0IFRocmVhZCA9IFRocmVhZHNBUEkuVGhyZWFkO1xuICBleHBvcnQgaW1wb3J0IFRocmVhZERlbGV0ZWQgPSBUaHJlYWRzQVBJLlRocmVhZERlbGV0ZWQ7XG4gIGV4cG9ydCBpbXBvcnQgVGhyZWFkQ3JlYXRlUGFyYW1zID0gVGhyZWFkc0FQSS5UaHJlYWRDcmVhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgVGhyZWFkVXBkYXRlUGFyYW1zID0gVGhyZWFkc0FQSS5UaHJlYWRVcGRhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgVGhyZWFkQ3JlYXRlQW5kUnVuUGFyYW1zID0gVGhyZWFkc0FQSS5UaHJlYWRDcmVhdGVBbmRSdW5QYXJhbXM7XG59XG4iLCAiLy8gRmlsZSBnZW5lcmF0ZWQgZnJvbSBvdXIgT3BlbkFQSSBzcGVjIGJ5IFN0YWlubGVzcy5cblxuaW1wb3J0ICogYXMgQ29yZSBmcm9tIFwiLi4vY29yZVwiO1xuaW1wb3J0IHsgQVBJUHJvbWlzZSB9IGZyb20gXCIuLi9jb3JlXCI7XG5pbXBvcnQgeyBBUElSZXNvdXJjZSB9IGZyb20gXCIuLi9yZXNvdXJjZVwiO1xuaW1wb3J0ICogYXMgQ29tcGxldGlvbnNBUEkgZnJvbSBcIi4vY29tcGxldGlvbnNcIjtcbmltcG9ydCB7IFN0cmVhbSB9IGZyb20gXCIuLi9zdHJlYW1pbmdcIjtcblxuZXhwb3J0IGNsYXNzIENvbXBsZXRpb25zIGV4dGVuZHMgQVBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIGNvbXBsZXRpb24gZm9yIHRoZSBwcm92aWRlZCBwcm9tcHQgYW5kIHBhcmFtZXRlcnMuXG4gICAqL1xuICBjcmVhdGUoYm9keTogQ29tcGxldGlvbkNyZWF0ZVBhcmFtc05vblN0cmVhbWluZywgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBBUElQcm9taXNlPENvbXBsZXRpb24+O1xuICBjcmVhdGUoXG4gICAgYm9keTogQ29tcGxldGlvbkNyZWF0ZVBhcmFtc1N0cmVhbWluZyxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQVBJUHJvbWlzZTxTdHJlYW08Q29tcGxldGlvbj4+O1xuICBjcmVhdGUoXG4gICAgYm9keTogQ29tcGxldGlvbkNyZWF0ZVBhcmFtc0Jhc2UsXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IEFQSVByb21pc2U8U3RyZWFtPENvbXBsZXRpb24+IHwgQ29tcGxldGlvbj47XG4gIGNyZWF0ZShcbiAgICBib2R5OiBDb21wbGV0aW9uQ3JlYXRlUGFyYW1zLFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBBUElQcm9taXNlPENvbXBsZXRpb24+IHwgQVBJUHJvbWlzZTxTdHJlYW08Q29tcGxldGlvbj4+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LnBvc3QoJy9jb21wbGV0aW9ucycsIHsgYm9keSwgLi4ub3B0aW9ucywgc3RyZWFtOiBib2R5LnN0cmVhbSA/PyBmYWxzZSB9KSBhc1xuICAgICAgfCBBUElQcm9taXNlPENvbXBsZXRpb24+XG4gICAgICB8IEFQSVByb21pc2U8U3RyZWFtPENvbXBsZXRpb24+PjtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb21wbGV0aW9uIHJlc3BvbnNlIGZyb20gdGhlIEFQSS4gTm90ZTogYm90aCB0aGUgc3RyZWFtZWQgYW5kXG4gKiBub24tc3RyZWFtZWQgcmVzcG9uc2Ugb2JqZWN0cyBzaGFyZSB0aGUgc2FtZSBzaGFwZSAodW5saWtlIHRoZSBjaGF0IGVuZHBvaW50KS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21wbGV0aW9uIHtcbiAgLyoqXG4gICAqIEEgdW5pcXVlIGlkZW50aWZpZXIgZm9yIHRoZSBjb21wbGV0aW9uLlxuICAgKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgY29tcGxldGlvbiBjaG9pY2VzIHRoZSBtb2RlbCBnZW5lcmF0ZWQgZm9yIHRoZSBpbnB1dCBwcm9tcHQuXG4gICAqL1xuICBjaG9pY2VzOiBBcnJheTxDb21wbGV0aW9uQ2hvaWNlPjtcblxuICAvKipcbiAgICogVGhlIFVuaXggdGltZXN0YW1wIChpbiBzZWNvbmRzKSBvZiB3aGVuIHRoZSBjb21wbGV0aW9uIHdhcyBjcmVhdGVkLlxuICAgKi9cbiAgY3JlYXRlZDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9kZWwgdXNlZCBmb3IgY29tcGxldGlvbi5cbiAgICovXG4gIG1vZGVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvYmplY3QgdHlwZSwgd2hpY2ggaXMgYWx3YXlzIFwidGV4dF9jb21wbGV0aW9uXCJcbiAgICovXG4gIG9iamVjdDogJ3RleHRfY29tcGxldGlvbic7XG5cbiAgLyoqXG4gICAqIFRoaXMgZmluZ2VycHJpbnQgcmVwcmVzZW50cyB0aGUgYmFja2VuZCBjb25maWd1cmF0aW9uIHRoYXQgdGhlIG1vZGVsIHJ1bnMgd2l0aC5cbiAgICpcbiAgICogQ2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgYHNlZWRgIHJlcXVlc3QgcGFyYW1ldGVyIHRvIHVuZGVyc3RhbmQgd2hlblxuICAgKiBiYWNrZW5kIGNoYW5nZXMgaGF2ZSBiZWVuIG1hZGUgdGhhdCBtaWdodCBpbXBhY3QgZGV0ZXJtaW5pc20uXG4gICAqL1xuICBzeXN0ZW1fZmluZ2VycHJpbnQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFVzYWdlIHN0YXRpc3RpY3MgZm9yIHRoZSBjb21wbGV0aW9uIHJlcXVlc3QuXG4gICAqL1xuICB1c2FnZT86IENvbXBsZXRpb25Vc2FnZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb21wbGV0aW9uQ2hvaWNlIHtcbiAgLyoqXG4gICAqIFRoZSByZWFzb24gdGhlIG1vZGVsIHN0b3BwZWQgZ2VuZXJhdGluZyB0b2tlbnMuIFRoaXMgd2lsbCBiZSBgc3RvcGAgaWYgdGhlIG1vZGVsXG4gICAqIGhpdCBhIG5hdHVyYWwgc3RvcCBwb2ludCBvciBhIHByb3ZpZGVkIHN0b3Agc2VxdWVuY2UsIGBsZW5ndGhgIGlmIHRoZSBtYXhpbXVtXG4gICAqIG51bWJlciBvZiB0b2tlbnMgc3BlY2lmaWVkIGluIHRoZSByZXF1ZXN0IHdhcyByZWFjaGVkLCBvciBgY29udGVudF9maWx0ZXJgIGlmXG4gICAqIGNvbnRlbnQgd2FzIG9taXR0ZWQgZHVlIHRvIGEgZmxhZyBmcm9tIG91ciBjb250ZW50IGZpbHRlcnMuXG4gICAqL1xuICBmaW5pc2hfcmVhc29uOiAnc3RvcCcgfCAnbGVuZ3RoJyB8ICdjb250ZW50X2ZpbHRlcic7XG5cbiAgaW5kZXg6IG51bWJlcjtcblxuICBsb2dwcm9iczogQ29tcGxldGlvbkNob2ljZS5Mb2dwcm9icyB8IG51bGw7XG5cbiAgdGV4dDogc3RyaW5nO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENvbXBsZXRpb25DaG9pY2Uge1xuICBleHBvcnQgaW50ZXJmYWNlIExvZ3Byb2JzIHtcbiAgICB0ZXh0X29mZnNldD86IEFycmF5PG51bWJlcj47XG5cbiAgICB0b2tlbl9sb2dwcm9icz86IEFycmF5PG51bWJlcj47XG5cbiAgICB0b2tlbnM/OiBBcnJheTxzdHJpbmc+O1xuXG4gICAgdG9wX2xvZ3Byb2JzPzogQXJyYXk8UmVjb3JkPHN0cmluZywgbnVtYmVyPj47XG4gIH1cbn1cblxuLyoqXG4gKiBVc2FnZSBzdGF0aXN0aWNzIGZvciB0aGUgY29tcGxldGlvbiByZXF1ZXN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbXBsZXRpb25Vc2FnZSB7XG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgdG9rZW5zIGluIHRoZSBnZW5lcmF0ZWQgY29tcGxldGlvbi5cbiAgICovXG4gIGNvbXBsZXRpb25fdG9rZW5zOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE51bWJlciBvZiB0b2tlbnMgaW4gdGhlIHByb21wdC5cbiAgICovXG4gIHByb21wdF90b2tlbnM6IG51bWJlcjtcblxuICAvKipcbiAgICogVG90YWwgbnVtYmVyIG9mIHRva2VucyB1c2VkIGluIHRoZSByZXF1ZXN0IChwcm9tcHQgKyBjb21wbGV0aW9uKS5cbiAgICovXG4gIHRvdGFsX3Rva2VuczogbnVtYmVyO1xufVxuXG5leHBvcnQgdHlwZSBDb21wbGV0aW9uQ3JlYXRlUGFyYW1zID0gQ29tcGxldGlvbkNyZWF0ZVBhcmFtc05vblN0cmVhbWluZyB8IENvbXBsZXRpb25DcmVhdGVQYXJhbXNTdHJlYW1pbmc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxldGlvbkNyZWF0ZVBhcmFtc0Jhc2Uge1xuICAvKipcbiAgICogSUQgb2YgdGhlIG1vZGVsIHRvIHVzZS4gWW91IGNhbiB1c2UgdGhlXG4gICAqIFtMaXN0IG1vZGVsc10oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXBpLXJlZmVyZW5jZS9tb2RlbHMvbGlzdCkgQVBJIHRvXG4gICAqIHNlZSBhbGwgb2YgeW91ciBhdmFpbGFibGUgbW9kZWxzLCBvciBzZWUgb3VyXG4gICAqIFtNb2RlbCBvdmVydmlld10oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvbW9kZWxzL292ZXJ2aWV3KSBmb3JcbiAgICogZGVzY3JpcHRpb25zIG9mIHRoZW0uXG4gICAqL1xuICBtb2RlbDpcbiAgICB8IChzdHJpbmcgJiB7fSlcbiAgICB8ICdiYWJiYWdlLTAwMidcbiAgICB8ICdkYXZpbmNpLTAwMidcbiAgICB8ICdncHQtMy41LXR1cmJvLWluc3RydWN0J1xuICAgIHwgJ3RleHQtZGF2aW5jaS0wMDMnXG4gICAgfCAndGV4dC1kYXZpbmNpLTAwMidcbiAgICB8ICd0ZXh0LWRhdmluY2ktMDAxJ1xuICAgIHwgJ2NvZGUtZGF2aW5jaS0wMDInXG4gICAgfCAndGV4dC1jdXJpZS0wMDEnXG4gICAgfCAndGV4dC1iYWJiYWdlLTAwMSdcbiAgICB8ICd0ZXh0LWFkYS0wMDEnO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvbXB0KHMpIHRvIGdlbmVyYXRlIGNvbXBsZXRpb25zIGZvciwgZW5jb2RlZCBhcyBhIHN0cmluZywgYXJyYXkgb2ZcbiAgICogc3RyaW5ncywgYXJyYXkgb2YgdG9rZW5zLCBvciBhcnJheSBvZiB0b2tlbiBhcnJheXMuXG4gICAqXG4gICAqIE5vdGUgdGhhdCA8fGVuZG9mdGV4dHw+IGlzIHRoZSBkb2N1bWVudCBzZXBhcmF0b3IgdGhhdCB0aGUgbW9kZWwgc2VlcyBkdXJpbmdcbiAgICogdHJhaW5pbmcsIHNvIGlmIGEgcHJvbXB0IGlzIG5vdCBzcGVjaWZpZWQgdGhlIG1vZGVsIHdpbGwgZ2VuZXJhdGUgYXMgaWYgZnJvbSB0aGVcbiAgICogYmVnaW5uaW5nIG9mIGEgbmV3IGRvY3VtZW50LlxuICAgKi9cbiAgcHJvbXB0OiBzdHJpbmcgfCBBcnJheTxzdHJpbmc+IHwgQXJyYXk8bnVtYmVyPiB8IEFycmF5PEFycmF5PG51bWJlcj4+IHwgbnVsbDtcblxuICAvKipcbiAgICogR2VuZXJhdGVzIGBiZXN0X29mYCBjb21wbGV0aW9ucyBzZXJ2ZXItc2lkZSBhbmQgcmV0dXJucyB0aGUgXCJiZXN0XCIgKHRoZSBvbmUgd2l0aFxuICAgKiB0aGUgaGlnaGVzdCBsb2cgcHJvYmFiaWxpdHkgcGVyIHRva2VuKS4gUmVzdWx0cyBjYW5ub3QgYmUgc3RyZWFtZWQuXG4gICAqXG4gICAqIFdoZW4gdXNlZCB3aXRoIGBuYCwgYGJlc3Rfb2ZgIGNvbnRyb2xzIHRoZSBudW1iZXIgb2YgY2FuZGlkYXRlIGNvbXBsZXRpb25zIGFuZFxuICAgKiBgbmAgc3BlY2lmaWVzIGhvdyBtYW55IHRvIHJldHVybiBcdTIwMTMgYGJlc3Rfb2ZgIG11c3QgYmUgZ3JlYXRlciB0aGFuIGBuYC5cbiAgICpcbiAgICogKipOb3RlOioqIEJlY2F1c2UgdGhpcyBwYXJhbWV0ZXIgZ2VuZXJhdGVzIG1hbnkgY29tcGxldGlvbnMsIGl0IGNhbiBxdWlja2x5XG4gICAqIGNvbnN1bWUgeW91ciB0b2tlbiBxdW90YS4gVXNlIGNhcmVmdWxseSBhbmQgZW5zdXJlIHRoYXQgeW91IGhhdmUgcmVhc29uYWJsZVxuICAgKiBzZXR0aW5ncyBmb3IgYG1heF90b2tlbnNgIGFuZCBgc3RvcGAuXG4gICAqL1xuICBiZXN0X29mPzogbnVtYmVyIHwgbnVsbDtcblxuICAvKipcbiAgICogRWNobyBiYWNrIHRoZSBwcm9tcHQgaW4gYWRkaXRpb24gdG8gdGhlIGNvbXBsZXRpb25cbiAgICovXG4gIGVjaG8/OiBib29sZWFuIHwgbnVsbDtcblxuICAvKipcbiAgICogTnVtYmVyIGJldHdlZW4gLTIuMCBhbmQgMi4wLiBQb3NpdGl2ZSB2YWx1ZXMgcGVuYWxpemUgbmV3IHRva2VucyBiYXNlZCBvbiB0aGVpclxuICAgKiBleGlzdGluZyBmcmVxdWVuY3kgaW4gdGhlIHRleHQgc28gZmFyLCBkZWNyZWFzaW5nIHRoZSBtb2RlbCdzIGxpa2VsaWhvb2QgdG9cbiAgICogcmVwZWF0IHRoZSBzYW1lIGxpbmUgdmVyYmF0aW0uXG4gICAqXG4gICAqIFtTZWUgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBmcmVxdWVuY3kgYW5kIHByZXNlbmNlIHBlbmFsdGllcy5dKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2d1aWRlcy90ZXh0LWdlbmVyYXRpb24vcGFyYW1ldGVyLWRldGFpbHMpXG4gICAqL1xuICBmcmVxdWVuY3lfcGVuYWx0eT86IG51bWJlciB8IG51bGw7XG5cbiAgLyoqXG4gICAqIE1vZGlmeSB0aGUgbGlrZWxpaG9vZCBvZiBzcGVjaWZpZWQgdG9rZW5zIGFwcGVhcmluZyBpbiB0aGUgY29tcGxldGlvbi5cbiAgICpcbiAgICogQWNjZXB0cyBhIEpTT04gb2JqZWN0IHRoYXQgbWFwcyB0b2tlbnMgKHNwZWNpZmllZCBieSB0aGVpciB0b2tlbiBJRCBpbiB0aGUgR1BUXG4gICAqIHRva2VuaXplcikgdG8gYW4gYXNzb2NpYXRlZCBiaWFzIHZhbHVlIGZyb20gLTEwMCB0byAxMDAuIFlvdSBjYW4gdXNlIHRoaXNcbiAgICogW3Rva2VuaXplciB0b29sXSgvdG9rZW5pemVyP3ZpZXc9YnBlKSAod2hpY2ggd29ya3MgZm9yIGJvdGggR1BULTIgYW5kIEdQVC0zKSB0b1xuICAgKiBjb252ZXJ0IHRleHQgdG8gdG9rZW4gSURzLiBNYXRoZW1hdGljYWxseSwgdGhlIGJpYXMgaXMgYWRkZWQgdG8gdGhlIGxvZ2l0c1xuICAgKiBnZW5lcmF0ZWQgYnkgdGhlIG1vZGVsIHByaW9yIHRvIHNhbXBsaW5nLiBUaGUgZXhhY3QgZWZmZWN0IHdpbGwgdmFyeSBwZXIgbW9kZWwsXG4gICAqIGJ1dCB2YWx1ZXMgYmV0d2VlbiAtMSBhbmQgMSBzaG91bGQgZGVjcmVhc2Ugb3IgaW5jcmVhc2UgbGlrZWxpaG9vZCBvZiBzZWxlY3Rpb247XG4gICAqIHZhbHVlcyBsaWtlIC0xMDAgb3IgMTAwIHNob3VsZCByZXN1bHQgaW4gYSBiYW4gb3IgZXhjbHVzaXZlIHNlbGVjdGlvbiBvZiB0aGVcbiAgICogcmVsZXZhbnQgdG9rZW4uXG4gICAqXG4gICAqIEFzIGFuIGV4YW1wbGUsIHlvdSBjYW4gcGFzcyBge1wiNTAyNTZcIjogLTEwMH1gIHRvIHByZXZlbnQgdGhlIDx8ZW5kb2Z0ZXh0fD4gdG9rZW5cbiAgICogZnJvbSBiZWluZyBnZW5lcmF0ZWQuXG4gICAqL1xuICBsb2dpdF9iaWFzPzogUmVjb3JkPHN0cmluZywgbnVtYmVyPiB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgdGhlIGxvZyBwcm9iYWJpbGl0aWVzIG9uIHRoZSBgbG9ncHJvYnNgIG1vc3QgbGlrZWx5IG91dHB1dCB0b2tlbnMsIGFzXG4gICAqIHdlbGwgdGhlIGNob3NlbiB0b2tlbnMuIEZvciBleGFtcGxlLCBpZiBgbG9ncHJvYnNgIGlzIDUsIHRoZSBBUEkgd2lsbCByZXR1cm4gYVxuICAgKiBsaXN0IG9mIHRoZSA1IG1vc3QgbGlrZWx5IHRva2Vucy4gVGhlIEFQSSB3aWxsIGFsd2F5cyByZXR1cm4gdGhlIGBsb2dwcm9iYCBvZlxuICAgKiB0aGUgc2FtcGxlZCB0b2tlbiwgc28gdGhlcmUgbWF5IGJlIHVwIHRvIGBsb2dwcm9icysxYCBlbGVtZW50cyBpbiB0aGUgcmVzcG9uc2UuXG4gICAqXG4gICAqIFRoZSBtYXhpbXVtIHZhbHVlIGZvciBgbG9ncHJvYnNgIGlzIDUuXG4gICAqL1xuICBsb2dwcm9icz86IG51bWJlciB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBbdG9rZW5zXSgvdG9rZW5pemVyKSB0aGF0IGNhbiBiZSBnZW5lcmF0ZWQgaW4gdGhlXG4gICAqIGNvbXBsZXRpb24uXG4gICAqXG4gICAqIFRoZSB0b2tlbiBjb3VudCBvZiB5b3VyIHByb21wdCBwbHVzIGBtYXhfdG9rZW5zYCBjYW5ub3QgZXhjZWVkIHRoZSBtb2RlbCdzXG4gICAqIGNvbnRleHQgbGVuZ3RoLlxuICAgKiBbRXhhbXBsZSBQeXRob24gY29kZV0oaHR0cHM6Ly9jb29rYm9vay5vcGVuYWkuY29tL2V4YW1wbGVzL2hvd190b19jb3VudF90b2tlbnNfd2l0aF90aWt0b2tlbilcbiAgICogZm9yIGNvdW50aW5nIHRva2Vucy5cbiAgICovXG4gIG1heF90b2tlbnM/OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBIb3cgbWFueSBjb21wbGV0aW9ucyB0byBnZW5lcmF0ZSBmb3IgZWFjaCBwcm9tcHQuXG4gICAqXG4gICAqICoqTm90ZToqKiBCZWNhdXNlIHRoaXMgcGFyYW1ldGVyIGdlbmVyYXRlcyBtYW55IGNvbXBsZXRpb25zLCBpdCBjYW4gcXVpY2tseVxuICAgKiBjb25zdW1lIHlvdXIgdG9rZW4gcXVvdGEuIFVzZSBjYXJlZnVsbHkgYW5kIGVuc3VyZSB0aGF0IHlvdSBoYXZlIHJlYXNvbmFibGVcbiAgICogc2V0dGluZ3MgZm9yIGBtYXhfdG9rZW5zYCBhbmQgYHN0b3BgLlxuICAgKi9cbiAgbj86IG51bWJlciB8IG51bGw7XG5cbiAgLyoqXG4gICAqIE51bWJlciBiZXR3ZWVuIC0yLjAgYW5kIDIuMC4gUG9zaXRpdmUgdmFsdWVzIHBlbmFsaXplIG5ldyB0b2tlbnMgYmFzZWQgb25cbiAgICogd2hldGhlciB0aGV5IGFwcGVhciBpbiB0aGUgdGV4dCBzbyBmYXIsIGluY3JlYXNpbmcgdGhlIG1vZGVsJ3MgbGlrZWxpaG9vZCB0b1xuICAgKiB0YWxrIGFib3V0IG5ldyB0b3BpY3MuXG4gICAqXG4gICAqIFtTZWUgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBmcmVxdWVuY3kgYW5kIHByZXNlbmNlIHBlbmFsdGllcy5dKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2d1aWRlcy90ZXh0LWdlbmVyYXRpb24vcGFyYW1ldGVyLWRldGFpbHMpXG4gICAqL1xuICBwcmVzZW5jZV9wZW5hbHR5PzogbnVtYmVyIHwgbnVsbDtcblxuICAvKipcbiAgICogSWYgc3BlY2lmaWVkLCBvdXIgc3lzdGVtIHdpbGwgbWFrZSBhIGJlc3QgZWZmb3J0IHRvIHNhbXBsZSBkZXRlcm1pbmlzdGljYWxseSxcbiAgICogc3VjaCB0aGF0IHJlcGVhdGVkIHJlcXVlc3RzIHdpdGggdGhlIHNhbWUgYHNlZWRgIGFuZCBwYXJhbWV0ZXJzIHNob3VsZCByZXR1cm5cbiAgICogdGhlIHNhbWUgcmVzdWx0LlxuICAgKlxuICAgKiBEZXRlcm1pbmlzbSBpcyBub3QgZ3VhcmFudGVlZCwgYW5kIHlvdSBzaG91bGQgcmVmZXIgdG8gdGhlIGBzeXN0ZW1fZmluZ2VycHJpbnRgXG4gICAqIHJlc3BvbnNlIHBhcmFtZXRlciB0byBtb25pdG9yIGNoYW5nZXMgaW4gdGhlIGJhY2tlbmQuXG4gICAqL1xuICBzZWVkPzogbnVtYmVyIHwgbnVsbDtcblxuICAvKipcbiAgICogVXAgdG8gNCBzZXF1ZW5jZXMgd2hlcmUgdGhlIEFQSSB3aWxsIHN0b3AgZ2VuZXJhdGluZyBmdXJ0aGVyIHRva2Vucy4gVGhlXG4gICAqIHJldHVybmVkIHRleHQgd2lsbCBub3QgY29udGFpbiB0aGUgc3RvcCBzZXF1ZW5jZS5cbiAgICovXG4gIHN0b3A/OiBzdHJpbmcgfCBudWxsIHwgQXJyYXk8c3RyaW5nPjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBzdHJlYW0gYmFjayBwYXJ0aWFsIHByb2dyZXNzLiBJZiBzZXQsIHRva2VucyB3aWxsIGJlIHNlbnQgYXNcbiAgICogZGF0YS1vbmx5XG4gICAqIFtzZXJ2ZXItc2VudCBldmVudHNdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9TZXJ2ZXItc2VudF9ldmVudHMvVXNpbmdfc2VydmVyLXNlbnRfZXZlbnRzI0V2ZW50X3N0cmVhbV9mb3JtYXQpXG4gICAqIGFzIHRoZXkgYmVjb21lIGF2YWlsYWJsZSwgd2l0aCB0aGUgc3RyZWFtIHRlcm1pbmF0ZWQgYnkgYSBgZGF0YTogW0RPTkVdYFxuICAgKiBtZXNzYWdlLlxuICAgKiBbRXhhbXBsZSBQeXRob24gY29kZV0oaHR0cHM6Ly9jb29rYm9vay5vcGVuYWkuY29tL2V4YW1wbGVzL2hvd190b19zdHJlYW1fY29tcGxldGlvbnMpLlxuICAgKi9cbiAgc3RyZWFtPzogYm9vbGVhbiB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBzdWZmaXggdGhhdCBjb21lcyBhZnRlciBhIGNvbXBsZXRpb24gb2YgaW5zZXJ0ZWQgdGV4dC5cbiAgICovXG4gIHN1ZmZpeD86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFdoYXQgc2FtcGxpbmcgdGVtcGVyYXR1cmUgdG8gdXNlLCBiZXR3ZWVuIDAgYW5kIDIuIEhpZ2hlciB2YWx1ZXMgbGlrZSAwLjggd2lsbFxuICAgKiBtYWtlIHRoZSBvdXRwdXQgbW9yZSByYW5kb20sIHdoaWxlIGxvd2VyIHZhbHVlcyBsaWtlIDAuMiB3aWxsIG1ha2UgaXQgbW9yZVxuICAgKiBmb2N1c2VkIGFuZCBkZXRlcm1pbmlzdGljLlxuICAgKlxuICAgKiBXZSBnZW5lcmFsbHkgcmVjb21tZW5kIGFsdGVyaW5nIHRoaXMgb3IgYHRvcF9wYCBidXQgbm90IGJvdGguXG4gICAqL1xuICB0ZW1wZXJhdHVyZT86IG51bWJlciB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEFuIGFsdGVybmF0aXZlIHRvIHNhbXBsaW5nIHdpdGggdGVtcGVyYXR1cmUsIGNhbGxlZCBudWNsZXVzIHNhbXBsaW5nLCB3aGVyZSB0aGVcbiAgICogbW9kZWwgY29uc2lkZXJzIHRoZSByZXN1bHRzIG9mIHRoZSB0b2tlbnMgd2l0aCB0b3BfcCBwcm9iYWJpbGl0eSBtYXNzLiBTbyAwLjFcbiAgICogbWVhbnMgb25seSB0aGUgdG9rZW5zIGNvbXByaXNpbmcgdGhlIHRvcCAxMCUgcHJvYmFiaWxpdHkgbWFzcyBhcmUgY29uc2lkZXJlZC5cbiAgICpcbiAgICogV2UgZ2VuZXJhbGx5IHJlY29tbWVuZCBhbHRlcmluZyB0aGlzIG9yIGB0ZW1wZXJhdHVyZWAgYnV0IG5vdCBib3RoLlxuICAgKi9cbiAgdG9wX3A/OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBBIHVuaXF1ZSBpZGVudGlmaWVyIHJlcHJlc2VudGluZyB5b3VyIGVuZC11c2VyLCB3aGljaCBjYW4gaGVscCBPcGVuQUkgdG8gbW9uaXRvclxuICAgKiBhbmQgZGV0ZWN0IGFidXNlLlxuICAgKiBbTGVhcm4gbW9yZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvZ3VpZGVzL3NhZmV0eS1iZXN0LXByYWN0aWNlcy9lbmQtdXNlci1pZHMpLlxuICAgKi9cbiAgdXNlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDb21wbGV0aW9uQ3JlYXRlUGFyYW1zIHtcbiAgZXhwb3J0IHR5cGUgQ29tcGxldGlvbkNyZWF0ZVBhcmFtc05vblN0cmVhbWluZyA9IENvbXBsZXRpb25zQVBJLkNvbXBsZXRpb25DcmVhdGVQYXJhbXNOb25TdHJlYW1pbmc7XG4gIGV4cG9ydCB0eXBlIENvbXBsZXRpb25DcmVhdGVQYXJhbXNTdHJlYW1pbmcgPSBDb21wbGV0aW9uc0FQSS5Db21wbGV0aW9uQ3JlYXRlUGFyYW1zU3RyZWFtaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBsZXRpb25DcmVhdGVQYXJhbXNOb25TdHJlYW1pbmcgZXh0ZW5kcyBDb21wbGV0aW9uQ3JlYXRlUGFyYW1zQmFzZSB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHN0cmVhbSBiYWNrIHBhcnRpYWwgcHJvZ3Jlc3MuIElmIHNldCwgdG9rZW5zIHdpbGwgYmUgc2VudCBhc1xuICAgKiBkYXRhLW9ubHlcbiAgICogW3NlcnZlci1zZW50IGV2ZW50c10oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL1NlcnZlci1zZW50X2V2ZW50cy9Vc2luZ19zZXJ2ZXItc2VudF9ldmVudHMjRXZlbnRfc3RyZWFtX2Zvcm1hdClcbiAgICogYXMgdGhleSBiZWNvbWUgYXZhaWxhYmxlLCB3aXRoIHRoZSBzdHJlYW0gdGVybWluYXRlZCBieSBhIGBkYXRhOiBbRE9ORV1gXG4gICAqIG1lc3NhZ2UuXG4gICAqIFtFeGFtcGxlIFB5dGhvbiBjb2RlXShodHRwczovL2Nvb2tib29rLm9wZW5haS5jb20vZXhhbXBsZXMvaG93X3RvX3N0cmVhbV9jb21wbGV0aW9ucykuXG4gICAqL1xuICBzdHJlYW0/OiBmYWxzZSB8IG51bGw7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcGxldGlvbkNyZWF0ZVBhcmFtc1N0cmVhbWluZyBleHRlbmRzIENvbXBsZXRpb25DcmVhdGVQYXJhbXNCYXNlIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc3RyZWFtIGJhY2sgcGFydGlhbCBwcm9ncmVzcy4gSWYgc2V0LCB0b2tlbnMgd2lsbCBiZSBzZW50IGFzXG4gICAqIGRhdGEtb25seVxuICAgKiBbc2VydmVyLXNlbnQgZXZlbnRzXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvU2VydmVyLXNlbnRfZXZlbnRzL1VzaW5nX3NlcnZlci1zZW50X2V2ZW50cyNFdmVudF9zdHJlYW1fZm9ybWF0KVxuICAgKiBhcyB0aGV5IGJlY29tZSBhdmFpbGFibGUsIHdpdGggdGhlIHN0cmVhbSB0ZXJtaW5hdGVkIGJ5IGEgYGRhdGE6IFtET05FXWBcbiAgICogbWVzc2FnZS5cbiAgICogW0V4YW1wbGUgUHl0aG9uIGNvZGVdKGh0dHBzOi8vY29va2Jvb2sub3BlbmFpLmNvbS9leGFtcGxlcy9ob3dfdG9fc3RyZWFtX2NvbXBsZXRpb25zKS5cbiAgICovXG4gIHN0cmVhbTogdHJ1ZTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBDb21wbGV0aW9ucyB7XG4gIGV4cG9ydCBpbXBvcnQgQ29tcGxldGlvbiA9IENvbXBsZXRpb25zQVBJLkNvbXBsZXRpb247XG4gIGV4cG9ydCBpbXBvcnQgQ29tcGxldGlvbkNob2ljZSA9IENvbXBsZXRpb25zQVBJLkNvbXBsZXRpb25DaG9pY2U7XG4gIGV4cG9ydCBpbXBvcnQgQ29tcGxldGlvblVzYWdlID0gQ29tcGxldGlvbnNBUEkuQ29tcGxldGlvblVzYWdlO1xuICBleHBvcnQgaW1wb3J0IENvbXBsZXRpb25DcmVhdGVQYXJhbXMgPSBDb21wbGV0aW9uc0FQSS5Db21wbGV0aW9uQ3JlYXRlUGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IENvbXBsZXRpb25DcmVhdGVQYXJhbXNOb25TdHJlYW1pbmcgPSBDb21wbGV0aW9uc0FQSS5Db21wbGV0aW9uQ3JlYXRlUGFyYW1zTm9uU3RyZWFtaW5nO1xuICBleHBvcnQgaW1wb3J0IENvbXBsZXRpb25DcmVhdGVQYXJhbXNTdHJlYW1pbmcgPSBDb21wbGV0aW9uc0FQSS5Db21wbGV0aW9uQ3JlYXRlUGFyYW1zU3RyZWFtaW5nO1xufVxuIiwgIi8vIEZpbGUgZ2VuZXJhdGVkIGZyb20gb3VyIE9wZW5BUEkgc3BlYyBieSBTdGFpbmxlc3MuXG5cbmltcG9ydCAqIGFzIENvcmUgZnJvbSBcIi4uL2NvcmVcIjtcbmltcG9ydCB7IEFQSVJlc291cmNlIH0gZnJvbSBcIi4uL3Jlc291cmNlXCI7XG5pbXBvcnQgKiBhcyBFbWJlZGRpbmdzQVBJIGZyb20gXCIuL2VtYmVkZGluZ3NcIjtcblxuZXhwb3J0IGNsYXNzIEVtYmVkZGluZ3MgZXh0ZW5kcyBBUElSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGVtYmVkZGluZyB2ZWN0b3IgcmVwcmVzZW50aW5nIHRoZSBpbnB1dCB0ZXh0LlxuICAgKi9cbiAgY3JlYXRlKFxuICAgIGJvZHk6IEVtYmVkZGluZ0NyZWF0ZVBhcmFtcyxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQ29yZS5BUElQcm9taXNlPENyZWF0ZUVtYmVkZGluZ1Jlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5wb3N0KCcvZW1iZWRkaW5ncycsIHsgYm9keSwgLi4ub3B0aW9ucyB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZUVtYmVkZGluZ1Jlc3BvbnNlIHtcbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIGVtYmVkZGluZ3MgZ2VuZXJhdGVkIGJ5IHRoZSBtb2RlbC5cbiAgICovXG4gIGRhdGE6IEFycmF5PEVtYmVkZGluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBtb2RlbCB1c2VkIHRvIGdlbmVyYXRlIHRoZSBlbWJlZGRpbmcuXG4gICAqL1xuICBtb2RlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgb2JqZWN0IHR5cGUsIHdoaWNoIGlzIGFsd2F5cyBcImxpc3RcIi5cbiAgICovXG4gIG9iamVjdDogJ2xpc3QnO1xuXG4gIC8qKlxuICAgKiBUaGUgdXNhZ2UgaW5mb3JtYXRpb24gZm9yIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgdXNhZ2U6IENyZWF0ZUVtYmVkZGluZ1Jlc3BvbnNlLlVzYWdlO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIENyZWF0ZUVtYmVkZGluZ1Jlc3BvbnNlIHtcbiAgLyoqXG4gICAqIFRoZSB1c2FnZSBpbmZvcm1hdGlvbiBmb3IgdGhlIHJlcXVlc3QuXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIFVzYWdlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIHRva2VucyB1c2VkIGJ5IHRoZSBwcm9tcHQuXG4gICAgICovXG4gICAgcHJvbXB0X3Rva2VuczogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHRvdGFsIG51bWJlciBvZiB0b2tlbnMgdXNlZCBieSB0aGUgcmVxdWVzdC5cbiAgICAgKi9cbiAgICB0b3RhbF90b2tlbnM6IG51bWJlcjtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYW4gZW1iZWRkaW5nIHZlY3RvciByZXR1cm5lZCBieSBlbWJlZGRpbmcgZW5kcG9pbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRW1iZWRkaW5nIHtcbiAgLyoqXG4gICAqIFRoZSBlbWJlZGRpbmcgdmVjdG9yLCB3aGljaCBpcyBhIGxpc3Qgb2YgZmxvYXRzLiBUaGUgbGVuZ3RoIG9mIHZlY3RvciBkZXBlbmRzIG9uXG4gICAqIHRoZSBtb2RlbCBhcyBsaXN0ZWQgaW4gdGhlXG4gICAqIFtlbWJlZGRpbmcgZ3VpZGVdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2d1aWRlcy9lbWJlZGRpbmdzKS5cbiAgICovXG4gIGVtYmVkZGluZzogQXJyYXk8bnVtYmVyPjtcblxuICAvKipcbiAgICogVGhlIGluZGV4IG9mIHRoZSBlbWJlZGRpbmcgaW4gdGhlIGxpc3Qgb2YgZW1iZWRkaW5ncy5cbiAgICovXG4gIGluZGV4OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBvYmplY3QgdHlwZSwgd2hpY2ggaXMgYWx3YXlzIFwiZW1iZWRkaW5nXCIuXG4gICAqL1xuICBvYmplY3Q6ICdlbWJlZGRpbmcnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVtYmVkZGluZ0NyZWF0ZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBJbnB1dCB0ZXh0IHRvIGVtYmVkLCBlbmNvZGVkIGFzIGEgc3RyaW5nIG9yIGFycmF5IG9mIHRva2Vucy4gVG8gZW1iZWQgbXVsdGlwbGVcbiAgICogaW5wdXRzIGluIGEgc2luZ2xlIHJlcXVlc3QsIHBhc3MgYW4gYXJyYXkgb2Ygc3RyaW5ncyBvciBhcnJheSBvZiB0b2tlbiBhcnJheXMuXG4gICAqIFRoZSBpbnB1dCBtdXN0IG5vdCBleGNlZWQgdGhlIG1heCBpbnB1dCB0b2tlbnMgZm9yIHRoZSBtb2RlbCAoODE5MiB0b2tlbnMgZm9yXG4gICAqIGB0ZXh0LWVtYmVkZGluZy1hZGEtMDAyYCksIGNhbm5vdCBiZSBhbiBlbXB0eSBzdHJpbmcsIGFuZCBhbnkgYXJyYXkgbXVzdCBiZSAyMDQ4XG4gICAqIGRpbWVuc2lvbnMgb3IgbGVzcy5cbiAgICogW0V4YW1wbGUgUHl0aG9uIGNvZGVdKGh0dHBzOi8vY29va2Jvb2sub3BlbmFpLmNvbS9leGFtcGxlcy9ob3dfdG9fY291bnRfdG9rZW5zX3dpdGhfdGlrdG9rZW4pXG4gICAqIGZvciBjb3VudGluZyB0b2tlbnMuXG4gICAqL1xuICBpbnB1dDogc3RyaW5nIHwgQXJyYXk8c3RyaW5nPiB8IEFycmF5PG51bWJlcj4gfCBBcnJheTxBcnJheTxudW1iZXI+PjtcblxuICAvKipcbiAgICogSUQgb2YgdGhlIG1vZGVsIHRvIHVzZS4gWW91IGNhbiB1c2UgdGhlXG4gICAqIFtMaXN0IG1vZGVsc10oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXBpLXJlZmVyZW5jZS9tb2RlbHMvbGlzdCkgQVBJIHRvXG4gICAqIHNlZSBhbGwgb2YgeW91ciBhdmFpbGFibGUgbW9kZWxzLCBvciBzZWUgb3VyXG4gICAqIFtNb2RlbCBvdmVydmlld10oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvbW9kZWxzL292ZXJ2aWV3KSBmb3JcbiAgICogZGVzY3JpcHRpb25zIG9mIHRoZW0uXG4gICAqL1xuICBtb2RlbDogKHN0cmluZyAmIHt9KSB8ICd0ZXh0LWVtYmVkZGluZy1hZGEtMDAyJztcblxuICAvKipcbiAgICogVGhlIGZvcm1hdCB0byByZXR1cm4gdGhlIGVtYmVkZGluZ3MgaW4uIENhbiBiZSBlaXRoZXIgYGZsb2F0YCBvclxuICAgKiBbYGJhc2U2NGBdKGh0dHBzOi8vcHlwaS5vcmcvcHJvamVjdC9weWJhc2U2NC8pLlxuICAgKi9cbiAgZW5jb2RpbmdfZm9ybWF0PzogJ2Zsb2F0JyB8ICdiYXNlNjQnO1xuXG4gIC8qKlxuICAgKiBBIHVuaXF1ZSBpZGVudGlmaWVyIHJlcHJlc2VudGluZyB5b3VyIGVuZC11c2VyLCB3aGljaCBjYW4gaGVscCBPcGVuQUkgdG8gbW9uaXRvclxuICAgKiBhbmQgZGV0ZWN0IGFidXNlLlxuICAgKiBbTGVhcm4gbW9yZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvZ3VpZGVzL3NhZmV0eS1iZXN0LXByYWN0aWNlcy9lbmQtdXNlci1pZHMpLlxuICAgKi9cbiAgdXNlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFbWJlZGRpbmdzIHtcbiAgZXhwb3J0IGltcG9ydCBDcmVhdGVFbWJlZGRpbmdSZXNwb25zZSA9IEVtYmVkZGluZ3NBUEkuQ3JlYXRlRW1iZWRkaW5nUmVzcG9uc2U7XG4gIGV4cG9ydCBpbXBvcnQgRW1iZWRkaW5nID0gRW1iZWRkaW5nc0FQSS5FbWJlZGRpbmc7XG4gIGV4cG9ydCBpbXBvcnQgRW1iZWRkaW5nQ3JlYXRlUGFyYW1zID0gRW1iZWRkaW5nc0FQSS5FbWJlZGRpbmdDcmVhdGVQYXJhbXM7XG59XG4iLCAiLy8gRmlsZSBnZW5lcmF0ZWQgZnJvbSBvdXIgT3BlbkFQSSBzcGVjIGJ5IFN0YWlubGVzcy5cblxuaW1wb3J0ICogYXMgQ29yZSBmcm9tIFwiLi4vY29yZVwiO1xuaW1wb3J0IHsgQVBJUmVzb3VyY2UgfSBmcm9tIFwiLi4vcmVzb3VyY2VcIjtcbmltcG9ydCAqIGFzIEVkaXRzQVBJIGZyb20gXCIuL2VkaXRzXCI7XG5pbXBvcnQgKiBhcyBDb21wbGV0aW9uc0FQSSBmcm9tIFwiLi9jb21wbGV0aW9uc1wiO1xuXG5leHBvcnQgY2xhc3MgRWRpdHMgZXh0ZW5kcyBBUElSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGVkaXQgZm9yIHRoZSBwcm92aWRlZCBpbnB1dCwgaW5zdHJ1Y3Rpb24sIGFuZCBwYXJhbWV0ZXJzLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBUaGUgRWRpdHMgQVBJIGlzIGRlcHJlY2F0ZWQ7IHBsZWFzZSB1c2UgQ2hhdCBDb21wbGV0aW9ucyBpbnN0ZWFkLlxuICAgKlxuICAgKiBodHRwczovL29wZW5haS5jb20vYmxvZy9ncHQtNC1hcGktZ2VuZXJhbC1hdmFpbGFiaWxpdHkjZGVwcmVjYXRpb24tb2YtdGhlLWVkaXRzLWFwaVxuICAgKi9cbiAgY3JlYXRlKGJvZHk6IEVkaXRDcmVhdGVQYXJhbXMsIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zKTogQ29yZS5BUElQcm9taXNlPEVkaXQ+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LnBvc3QoJy9lZGl0cycsIHsgYm9keSwgLi4ub3B0aW9ucyB9KTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVkaXQge1xuICAvKipcbiAgICogQSBsaXN0IG9mIGVkaXQgY2hvaWNlcy4gQ2FuIGJlIG1vcmUgdGhhbiBvbmUgaWYgYG5gIGlzIGdyZWF0ZXIgdGhhbiAxLlxuICAgKi9cbiAgY2hvaWNlczogQXJyYXk8RWRpdC5DaG9pY2U+O1xuXG4gIC8qKlxuICAgKiBUaGUgVW5peCB0aW1lc3RhbXAgKGluIHNlY29uZHMpIG9mIHdoZW4gdGhlIGVkaXQgd2FzIGNyZWF0ZWQuXG4gICAqL1xuICBjcmVhdGVkOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBvYmplY3QgdHlwZSwgd2hpY2ggaXMgYWx3YXlzIGBlZGl0YC5cbiAgICovXG4gIG9iamVjdDogJ2VkaXQnO1xuXG4gIC8qKlxuICAgKiBVc2FnZSBzdGF0aXN0aWNzIGZvciB0aGUgY29tcGxldGlvbiByZXF1ZXN0LlxuICAgKi9cbiAgdXNhZ2U6IENvbXBsZXRpb25zQVBJLkNvbXBsZXRpb25Vc2FnZTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFZGl0IHtcbiAgZXhwb3J0IGludGVyZmFjZSBDaG9pY2Uge1xuICAgIC8qKlxuICAgICAqIFRoZSByZWFzb24gdGhlIG1vZGVsIHN0b3BwZWQgZ2VuZXJhdGluZyB0b2tlbnMuIFRoaXMgd2lsbCBiZSBgc3RvcGAgaWYgdGhlIG1vZGVsXG4gICAgICogaGl0IGEgbmF0dXJhbCBzdG9wIHBvaW50IG9yIGEgcHJvdmlkZWQgc3RvcCBzZXF1ZW5jZSwgYGxlbmd0aGAgaWYgdGhlIG1heGltdW1cbiAgICAgKiBudW1iZXIgb2YgdG9rZW5zIHNwZWNpZmllZCBpbiB0aGUgcmVxdWVzdCB3YXMgcmVhY2hlZCwgb3IgYGNvbnRlbnRfZmlsdGVyYCBpZlxuICAgICAqIGNvbnRlbnQgd2FzIG9taXR0ZWQgZHVlIHRvIGEgZmxhZyBmcm9tIG91ciBjb250ZW50IGZpbHRlcnMuXG4gICAgICovXG4gICAgZmluaXNoX3JlYXNvbjogJ3N0b3AnIHwgJ2xlbmd0aCc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaW5kZXggb2YgdGhlIGNob2ljZSBpbiB0aGUgbGlzdCBvZiBjaG9pY2VzLlxuICAgICAqL1xuICAgIGluZGV4OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgZWRpdGVkIHJlc3VsdC5cbiAgICAgKi9cbiAgICB0ZXh0OiBzdHJpbmc7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBFZGl0Q3JlYXRlUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBpbnN0cnVjdGlvbiB0aGF0IHRlbGxzIHRoZSBtb2RlbCBob3cgdG8gZWRpdCB0aGUgcHJvbXB0LlxuICAgKi9cbiAgaW5zdHJ1Y3Rpb246IHN0cmluZztcblxuICAvKipcbiAgICogSUQgb2YgdGhlIG1vZGVsIHRvIHVzZS4gWW91IGNhbiB1c2UgdGhlIGB0ZXh0LWRhdmluY2ktZWRpdC0wMDFgIG9yXG4gICAqIGBjb2RlLWRhdmluY2ktZWRpdC0wMDFgIG1vZGVsIHdpdGggdGhpcyBlbmRwb2ludC5cbiAgICovXG4gIG1vZGVsOiAoc3RyaW5nICYge30pIHwgJ3RleHQtZGF2aW5jaS1lZGl0LTAwMScgfCAnY29kZS1kYXZpbmNpLWVkaXQtMDAxJztcblxuICAvKipcbiAgICogVGhlIGlucHV0IHRleHQgdG8gdXNlIGFzIGEgc3RhcnRpbmcgcG9pbnQgZm9yIHRoZSBlZGl0LlxuICAgKi9cbiAgaW5wdXQ/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBIb3cgbWFueSBlZGl0cyB0byBnZW5lcmF0ZSBmb3IgdGhlIGlucHV0IGFuZCBpbnN0cnVjdGlvbi5cbiAgICovXG4gIG4/OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBXaGF0IHNhbXBsaW5nIHRlbXBlcmF0dXJlIHRvIHVzZSwgYmV0d2VlbiAwIGFuZCAyLiBIaWdoZXIgdmFsdWVzIGxpa2UgMC44IHdpbGxcbiAgICogbWFrZSB0aGUgb3V0cHV0IG1vcmUgcmFuZG9tLCB3aGlsZSBsb3dlciB2YWx1ZXMgbGlrZSAwLjIgd2lsbCBtYWtlIGl0IG1vcmVcbiAgICogZm9jdXNlZCBhbmQgZGV0ZXJtaW5pc3RpYy5cbiAgICpcbiAgICogV2UgZ2VuZXJhbGx5IHJlY29tbWVuZCBhbHRlcmluZyB0aGlzIG9yIGB0b3BfcGAgYnV0IG5vdCBib3RoLlxuICAgKi9cbiAgdGVtcGVyYXR1cmU/OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBBbiBhbHRlcm5hdGl2ZSB0byBzYW1wbGluZyB3aXRoIHRlbXBlcmF0dXJlLCBjYWxsZWQgbnVjbGV1cyBzYW1wbGluZywgd2hlcmUgdGhlXG4gICAqIG1vZGVsIGNvbnNpZGVycyB0aGUgcmVzdWx0cyBvZiB0aGUgdG9rZW5zIHdpdGggdG9wX3AgcHJvYmFiaWxpdHkgbWFzcy4gU28gMC4xXG4gICAqIG1lYW5zIG9ubHkgdGhlIHRva2VucyBjb21wcmlzaW5nIHRoZSB0b3AgMTAlIHByb2JhYmlsaXR5IG1hc3MgYXJlIGNvbnNpZGVyZWQuXG4gICAqXG4gICAqIFdlIGdlbmVyYWxseSByZWNvbW1lbmQgYWx0ZXJpbmcgdGhpcyBvciBgdGVtcGVyYXR1cmVgIGJ1dCBub3QgYm90aC5cbiAgICovXG4gIHRvcF9wPzogbnVtYmVyIHwgbnVsbDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBFZGl0cyB7XG4gIGV4cG9ydCBpbXBvcnQgRWRpdCA9IEVkaXRzQVBJLkVkaXQ7XG4gIGV4cG9ydCBpbXBvcnQgRWRpdENyZWF0ZVBhcmFtcyA9IEVkaXRzQVBJLkVkaXRDcmVhdGVQYXJhbXM7XG59XG4iLCAiLy8gRmlsZSBnZW5lcmF0ZWQgZnJvbSBvdXIgT3BlbkFQSSBzcGVjIGJ5IFN0YWlubGVzcy5cblxuaW1wb3J0ICogYXMgQ29yZSBmcm9tIFwiLi4vY29yZVwiO1xuaW1wb3J0IHsgQVBJUmVzb3VyY2UgfSBmcm9tIFwiLi4vcmVzb3VyY2VcIjtcbmltcG9ydCB7IGlzUmVxdWVzdE9wdGlvbnMgfSBmcm9tIFwiLi4vY29yZVwiO1xuaW1wb3J0IHsgdHlwZSBSZXNwb25zZSB9IGZyb20gXCIuLi9fc2hpbXMvaW5kZXhcIjtcbmltcG9ydCB7IHNsZWVwIH0gZnJvbSBcIi4uL2NvcmVcIjtcbmltcG9ydCB7IEFQSUNvbm5lY3Rpb25UaW1lb3V0RXJyb3IgfSBmcm9tIFwiLi4vZXJyb3JcIjtcbmltcG9ydCAqIGFzIEZpbGVzQVBJIGZyb20gXCIuL2ZpbGVzXCI7XG5pbXBvcnQgeyB0eXBlIFVwbG9hZGFibGUsIG11bHRpcGFydEZvcm1SZXF1ZXN0T3B0aW9ucyB9IGZyb20gXCIuLi9jb3JlXCI7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSBcIi4uL3BhZ2luYXRpb25cIjtcblxuZXhwb3J0IGNsYXNzIEZpbGVzIGV4dGVuZHMgQVBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogVXBsb2FkIGEgZmlsZSB0aGF0IGNhbiBiZSB1c2VkIGFjcm9zcyB2YXJpb3VzIGVuZHBvaW50cy4gVGhlIHNpemUgb2YgYWxsIHRoZVxuICAgKiBmaWxlcyB1cGxvYWRlZCBieSBvbmUgb3JnYW5pemF0aW9uIGNhbiBiZSB1cCB0byAxMDAgR0IuXG4gICAqXG4gICAqIFRoZSBzaXplIG9mIGluZGl2aWR1YWwgZmlsZXMgY2FuIGJlIGEgbWF4aW11bSBvZiA1MTIgTUIgb3IgMiBtaWxsaW9uIHRva2VucyBmb3JcbiAgICogQXNzaXN0YW50cy4gU2VlIHRoZVxuICAgKiBbQXNzaXN0YW50cyBUb29scyBndWlkZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXNzaXN0YW50cy90b29scykgdG9cbiAgICogbGVhcm4gbW9yZSBhYm91dCB0aGUgdHlwZXMgb2YgZmlsZXMgc3VwcG9ydGVkLiBUaGUgRmluZS10dW5pbmcgQVBJIG9ubHkgc3VwcG9ydHNcbiAgICogYC5qc29ubGAgZmlsZXMuXG4gICAqXG4gICAqIFBsZWFzZSBbY29udGFjdCB1c10oaHR0cHM6Ly9oZWxwLm9wZW5haS5jb20vKSBpZiB5b3UgbmVlZCB0byBpbmNyZWFzZSB0aGVzZVxuICAgKiBzdG9yYWdlIGxpbWl0cy5cbiAgICovXG4gIGNyZWF0ZShib2R5OiBGaWxlQ3JlYXRlUGFyYW1zLCBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyk6IENvcmUuQVBJUHJvbWlzZTxGaWxlT2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5wb3N0KCcvZmlsZXMnLCBtdWx0aXBhcnRGb3JtUmVxdWVzdE9wdGlvbnMoeyBib2R5LCAuLi5vcHRpb25zIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWMgZmlsZS5cbiAgICovXG4gIHJldHJpZXZlKGZpbGVJZDogc3RyaW5nLCBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyk6IENvcmUuQVBJUHJvbWlzZTxGaWxlT2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5nZXQoYC9maWxlcy8ke2ZpbGVJZH1gLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIGEgbGlzdCBvZiBmaWxlcyB0aGF0IGJlbG9uZyB0byB0aGUgdXNlcidzIG9yZ2FuaXphdGlvbi5cbiAgICovXG4gIGxpc3QocXVlcnk/OiBGaWxlTGlzdFBhcmFtcywgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLlBhZ2VQcm9taXNlPEZpbGVPYmplY3RzUGFnZSwgRmlsZU9iamVjdD47XG4gIGxpc3Qob3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLlBhZ2VQcm9taXNlPEZpbGVPYmplY3RzUGFnZSwgRmlsZU9iamVjdD47XG4gIGxpc3QoXG4gICAgcXVlcnk6IEZpbGVMaXN0UGFyYW1zIHwgQ29yZS5SZXF1ZXN0T3B0aW9ucyA9IHt9LFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBDb3JlLlBhZ2VQcm9taXNlPEZpbGVPYmplY3RzUGFnZSwgRmlsZU9iamVjdD4ge1xuICAgIGlmIChpc1JlcXVlc3RPcHRpb25zKHF1ZXJ5KSkge1xuICAgICAgcmV0dXJuIHRoaXMubGlzdCh7fSwgcXVlcnkpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmdldEFQSUxpc3QoJy9maWxlcycsIEZpbGVPYmplY3RzUGFnZSwgeyBxdWVyeSwgLi4ub3B0aW9ucyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGUgYSBmaWxlLlxuICAgKi9cbiAgZGVsKGZpbGVJZDogc3RyaW5nLCBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyk6IENvcmUuQVBJUHJvbWlzZTxGaWxlRGVsZXRlZD4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQuZGVsZXRlKGAvZmlsZXMvJHtmaWxlSWR9YCwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY29udGVudHMgb2YgdGhlIHNwZWNpZmllZCBmaWxlLlxuICAgKi9cbiAgY29udGVudChmaWxlSWQ6IHN0cmluZywgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLkFQSVByb21pc2U8UmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmdldChgL2ZpbGVzLyR7ZmlsZUlkfS9jb250ZW50YCwgeyAuLi5vcHRpb25zLCBfX2JpbmFyeVJlc3BvbnNlOiB0cnVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGNvbnRlbnRzIG9mIHRoZSBzcGVjaWZpZWQgZmlsZS5cbiAgICpcbiAgICogQGRlcHJlY2F0ZWQgVGhlIGAuY29udGVudCgpYCBtZXRob2Qgc2hvdWxkIGJlIHVzZWQgaW5zdGVhZFxuICAgKi9cbiAgcmV0cmlldmVDb250ZW50KGZpbGVJZDogc3RyaW5nLCBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyk6IENvcmUuQVBJUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmdldChgL2ZpbGVzLyR7ZmlsZUlkfS9jb250ZW50YCwge1xuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIGhlYWRlcnM6IHsgQWNjZXB0OiAnYXBwbGljYXRpb24vanNvbicsIC4uLm9wdGlvbnM/LmhlYWRlcnMgfSxcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXYWl0cyBmb3IgdGhlIGdpdmVuIGZpbGUgdG8gYmUgcHJvY2Vzc2VkLCBkZWZhdWx0IHRpbWVvdXQgaXMgMzAgbWlucy5cbiAgICovXG4gIGFzeW5jIHdhaXRGb3JQcm9jZXNzaW5nKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgeyBwb2xsSW50ZXJ2YWwgPSA1MDAwLCBtYXhXYWl0ID0gMzAgKiA2MCAqIDEwMDAgfTogeyBwb2xsSW50ZXJ2YWw/OiBudW1iZXI7IG1heFdhaXQ/OiBudW1iZXIgfSA9IHt9LFxuICApOiBQcm9taXNlPEZpbGVPYmplY3Q+IHtcbiAgICBjb25zdCBURVJNSU5BTF9TVEFURVMgPSBuZXcgU2V0KFsncHJvY2Vzc2VkJywgJ2Vycm9yJywgJ2RlbGV0ZWQnXSk7XG5cbiAgICBjb25zdCBzdGFydCA9IERhdGUubm93KCk7XG4gICAgbGV0IGZpbGUgPSBhd2FpdCB0aGlzLnJldHJpZXZlKGlkKTtcblxuICAgIHdoaWxlICghZmlsZS5zdGF0dXMgfHwgIVRFUk1JTkFMX1NUQVRFUy5oYXMoZmlsZS5zdGF0dXMpKSB7XG4gICAgICBhd2FpdCBzbGVlcChwb2xsSW50ZXJ2YWwpO1xuXG4gICAgICBmaWxlID0gYXdhaXQgdGhpcy5yZXRyaWV2ZShpZCk7XG4gICAgICBpZiAoRGF0ZS5ub3coKSAtIHN0YXJ0ID4gbWF4V2FpdCkge1xuICAgICAgICB0aHJvdyBuZXcgQVBJQ29ubmVjdGlvblRpbWVvdXRFcnJvcih7XG4gICAgICAgICAgbWVzc2FnZTogYEdpdmluZyB1cCBvbiB3YWl0aW5nIGZvciBmaWxlICR7aWR9IHRvIGZpbmlzaCBwcm9jZXNzaW5nIGFmdGVyICR7bWF4V2FpdH0gbWlsbGlzZWNvbmRzLmAsXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBmaWxlO1xuICB9XG59XG5cbi8qKlxuICogTm90ZTogbm8gcGFnaW5hdGlvbiBhY3R1YWxseSBvY2N1cnMgeWV0LCB0aGlzIGlzIGZvciBmb3J3YXJkcy1jb21wYXRpYmlsaXR5LlxuICovXG5leHBvcnQgY2xhc3MgRmlsZU9iamVjdHNQYWdlIGV4dGVuZHMgUGFnZTxGaWxlT2JqZWN0PiB7fVxuXG5leHBvcnQgdHlwZSBGaWxlQ29udGVudCA9IHN0cmluZztcblxuZXhwb3J0IGludGVyZmFjZSBGaWxlRGVsZXRlZCB7XG4gIGlkOiBzdHJpbmc7XG5cbiAgZGVsZXRlZDogYm9vbGVhbjtcblxuICBvYmplY3Q6ICdmaWxlJztcbn1cblxuLyoqXG4gKiBUaGUgYEZpbGVgIG9iamVjdCByZXByZXNlbnRzIGEgZG9jdW1lbnQgdGhhdCBoYXMgYmVlbiB1cGxvYWRlZCB0byBPcGVuQUkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZU9iamVjdCB7XG4gIC8qKlxuICAgKiBUaGUgZmlsZSBpZGVudGlmaWVyLCB3aGljaCBjYW4gYmUgcmVmZXJlbmNlZCBpbiB0aGUgQVBJIGVuZHBvaW50cy5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBmaWxlLCBpbiBieXRlcy5cbiAgICovXG4gIGJ5dGVzOiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBVbml4IHRpbWVzdGFtcCAoaW4gc2Vjb25kcykgZm9yIHdoZW4gdGhlIGZpbGUgd2FzIGNyZWF0ZWQuXG4gICAqL1xuICBjcmVhdGVkX2F0OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBmaWxlLlxuICAgKi9cbiAgZmlsZW5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG9iamVjdCB0eXBlLCB3aGljaCBpcyBhbHdheXMgYGZpbGVgLlxuICAgKi9cbiAgb2JqZWN0OiAnZmlsZSc7XG5cbiAgLyoqXG4gICAqIFRoZSBpbnRlbmRlZCBwdXJwb3NlIG9mIHRoZSBmaWxlLiBTdXBwb3J0ZWQgdmFsdWVzIGFyZSBgZmluZS10dW5lYCxcbiAgICogYGZpbmUtdHVuZS1yZXN1bHRzYCwgYGFzc2lzdGFudHNgLCBhbmQgYGFzc2lzdGFudHNfb3V0cHV0YC5cbiAgICovXG4gIHB1cnBvc2U6ICdmaW5lLXR1bmUnIHwgJ2ZpbmUtdHVuZS1yZXN1bHRzJyB8ICdhc3Npc3RhbnRzJyB8ICdhc3Npc3RhbnRzX291dHB1dCc7XG5cbiAgLyoqXG4gICAqIERlcHJlY2F0ZWQuIFRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgZmlsZSwgd2hpY2ggY2FuIGJlIGVpdGhlciBgdXBsb2FkZWRgLFxuICAgKiBgcHJvY2Vzc2VkYCwgb3IgYGVycm9yYC5cbiAgICovXG4gIHN0YXR1czogJ3VwbG9hZGVkJyB8ICdwcm9jZXNzZWQnIHwgJ2Vycm9yJztcblxuICAvKipcbiAgICogRGVwcmVjYXRlZC4gRm9yIGRldGFpbHMgb24gd2h5IGEgZmluZS10dW5pbmcgdHJhaW5pbmcgZmlsZSBmYWlsZWQgdmFsaWRhdGlvbixcbiAgICogc2VlIHRoZSBgZXJyb3JgIGZpZWxkIG9uIGBmaW5lX3R1bmluZy5qb2JgLlxuICAgKi9cbiAgc3RhdHVzX2RldGFpbHM/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsZUNyZWF0ZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgRmlsZSBvYmplY3QgKG5vdCBmaWxlIG5hbWUpIHRvIGJlIHVwbG9hZGVkLlxuICAgKi9cbiAgZmlsZTogVXBsb2FkYWJsZTtcblxuICAvKipcbiAgICogVGhlIGludGVuZGVkIHB1cnBvc2Ugb2YgdGhlIHVwbG9hZGVkIGZpbGUuXG4gICAqXG4gICAqIFVzZSBcImZpbmUtdHVuZVwiIGZvclxuICAgKiBbRmluZS10dW5pbmddKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvZmluZS10dW5pbmcpIGFuZFxuICAgKiBcImFzc2lzdGFudHNcIiBmb3JcbiAgICogW0Fzc2lzdGFudHNdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvYXNzaXN0YW50cykgYW5kXG4gICAqIFtNZXNzYWdlc10oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvYXBpLXJlZmVyZW5jZS9tZXNzYWdlcykuIFRoaXMgYWxsb3dzXG4gICAqIHVzIHRvIHZhbGlkYXRlIHRoZSBmb3JtYXQgb2YgdGhlIHVwbG9hZGVkIGZpbGUgaXMgY29ycmVjdCBmb3IgZmluZS10dW5pbmcuXG4gICAqL1xuICBwdXJwb3NlOiAnZmluZS10dW5lJyB8ICdhc3Npc3RhbnRzJztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWxlTGlzdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBPbmx5IHJldHVybiBmaWxlcyB3aXRoIHRoZSBnaXZlbiBwdXJwb3NlLlxuICAgKi9cbiAgcHVycG9zZT86IHN0cmluZztcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBGaWxlcyB7XG4gIGV4cG9ydCBpbXBvcnQgRmlsZUNvbnRlbnQgPSBGaWxlc0FQSS5GaWxlQ29udGVudDtcbiAgZXhwb3J0IGltcG9ydCBGaWxlRGVsZXRlZCA9IEZpbGVzQVBJLkZpbGVEZWxldGVkO1xuICBleHBvcnQgaW1wb3J0IEZpbGVPYmplY3QgPSBGaWxlc0FQSS5GaWxlT2JqZWN0O1xuICBleHBvcnQgaW1wb3J0IEZpbGVPYmplY3RzUGFnZSA9IEZpbGVzQVBJLkZpbGVPYmplY3RzUGFnZTtcbiAgZXhwb3J0IGltcG9ydCBGaWxlQ3JlYXRlUGFyYW1zID0gRmlsZXNBUEkuRmlsZUNyZWF0ZVBhcmFtcztcbiAgZXhwb3J0IGltcG9ydCBGaWxlTGlzdFBhcmFtcyA9IEZpbGVzQVBJLkZpbGVMaXN0UGFyYW1zO1xufVxuIiwgIi8vIEZpbGUgZ2VuZXJhdGVkIGZyb20gb3VyIE9wZW5BUEkgc3BlYyBieSBTdGFpbmxlc3MuXG5cbmltcG9ydCAqIGFzIENvcmUgZnJvbSBcIi4uL2NvcmVcIjtcbmltcG9ydCB7IEFQSVByb21pc2UgfSBmcm9tIFwiLi4vY29yZVwiO1xuaW1wb3J0IHsgQVBJUmVzb3VyY2UgfSBmcm9tIFwiLi4vcmVzb3VyY2VcIjtcbmltcG9ydCAqIGFzIEZpbmVUdW5lc0FQSSBmcm9tIFwiLi9maW5lLXR1bmVzXCI7XG5pbXBvcnQgKiBhcyBGaWxlc0FQSSBmcm9tIFwiLi9maWxlc1wiO1xuaW1wb3J0IHsgUGFnZSB9IGZyb20gXCIuLi9wYWdpbmF0aW9uXCI7XG5pbXBvcnQgeyBTdHJlYW0gfSBmcm9tIFwiLi4vc3RyZWFtaW5nXCI7XG5cbmV4cG9ydCBjbGFzcyBGaW5lVHVuZXMgZXh0ZW5kcyBBUElSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgam9iIHRoYXQgZmluZS10dW5lcyBhIHNwZWNpZmllZCBtb2RlbCBmcm9tIGEgZ2l2ZW4gZGF0YXNldC5cbiAgICpcbiAgICogUmVzcG9uc2UgaW5jbHVkZXMgZGV0YWlscyBvZiB0aGUgZW5xdWV1ZWQgam9iIGluY2x1ZGluZyBqb2Igc3RhdHVzIGFuZCB0aGUgbmFtZVxuICAgKiBvZiB0aGUgZmluZS10dW5lZCBtb2RlbHMgb25jZSBjb21wbGV0ZS5cbiAgICpcbiAgICogW0xlYXJuIG1vcmUgYWJvdXQgZmluZS10dW5pbmddKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2d1aWRlcy9sZWdhY3ktZmluZS10dW5pbmcpXG4gICAqL1xuICBjcmVhdGUoYm9keTogRmluZVR1bmVDcmVhdGVQYXJhbXMsIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zKTogQ29yZS5BUElQcm9taXNlPEZpbmVUdW5lPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5wb3N0KCcvZmluZS10dW5lcycsIHsgYm9keSwgLi4ub3B0aW9ucyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGluZm8gYWJvdXQgdGhlIGZpbmUtdHVuZSBqb2IuXG4gICAqXG4gICAqIFtMZWFybiBtb3JlIGFib3V0IGZpbmUtdHVuaW5nXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9ndWlkZXMvbGVnYWN5LWZpbmUtdHVuaW5nKVxuICAgKi9cbiAgcmV0cmlldmUoZmluZVR1bmVJZDogc3RyaW5nLCBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyk6IENvcmUuQVBJUHJvbWlzZTxGaW5lVHVuZT4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQuZ2V0KGAvZmluZS10dW5lcy8ke2ZpbmVUdW5lSWR9YCwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdCB5b3VyIG9yZ2FuaXphdGlvbidzIGZpbmUtdHVuaW5nIGpvYnNcbiAgICovXG4gIGxpc3Qob3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLlBhZ2VQcm9taXNlPEZpbmVUdW5lc1BhZ2UsIEZpbmVUdW5lPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5nZXRBUElMaXN0KCcvZmluZS10dW5lcycsIEZpbmVUdW5lc1BhZ2UsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEltbWVkaWF0ZWx5IGNhbmNlbCBhIGZpbmUtdHVuZSBqb2IuXG4gICAqL1xuICBjYW5jZWwoZmluZVR1bmVJZDogc3RyaW5nLCBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyk6IENvcmUuQVBJUHJvbWlzZTxGaW5lVHVuZT4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQucG9zdChgL2ZpbmUtdHVuZXMvJHtmaW5lVHVuZUlkfS9jYW5jZWxgLCBvcHRpb25zKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgZmluZS1ncmFpbmVkIHN0YXR1cyB1cGRhdGVzIGZvciBhIGZpbmUtdHVuZSBqb2IuXG4gICAqL1xuICBsaXN0RXZlbnRzKFxuICAgIGZpbmVUdW5lSWQ6IHN0cmluZyxcbiAgICBxdWVyeT86IEZpbmVUdW5lTGlzdEV2ZW50c1BhcmFtc05vblN0cmVhbWluZyxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQVBJUHJvbWlzZTxGaW5lVHVuZUV2ZW50c0xpc3RSZXNwb25zZT47XG4gIGxpc3RFdmVudHMoXG4gICAgZmluZVR1bmVJZDogc3RyaW5nLFxuICAgIHF1ZXJ5OiBGaW5lVHVuZUxpc3RFdmVudHNQYXJhbXNTdHJlYW1pbmcsXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IEFQSVByb21pc2U8U3RyZWFtPEZpbmVUdW5lRXZlbnQ+PjtcbiAgbGlzdEV2ZW50cyhcbiAgICBmaW5lVHVuZUlkOiBzdHJpbmcsXG4gICAgcXVlcnk/OiBGaW5lVHVuZUxpc3RFdmVudHNQYXJhbXNCYXNlIHwgdW5kZWZpbmVkLFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBBUElQcm9taXNlPFN0cmVhbTxGaW5lVHVuZUV2ZW50PiB8IEZpbmVUdW5lRXZlbnRzTGlzdFJlc3BvbnNlPjtcbiAgbGlzdEV2ZW50cyhcbiAgICBmaW5lVHVuZUlkOiBzdHJpbmcsXG4gICAgcXVlcnk/OiBGaW5lVHVuZUxpc3RFdmVudHNQYXJhbXMgfCB1bmRlZmluZWQsXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IEFQSVByb21pc2U8RmluZVR1bmVFdmVudHNMaXN0UmVzcG9uc2U+IHwgQVBJUHJvbWlzZTxTdHJlYW08RmluZVR1bmVFdmVudD4+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmdldChgL2ZpbmUtdHVuZXMvJHtmaW5lVHVuZUlkfS9ldmVudHNgLCB7XG4gICAgICBxdWVyeSxcbiAgICAgIHRpbWVvdXQ6IDg2NDAwMDAwLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIHN0cmVhbTogcXVlcnk/LnN0cmVhbSA/PyBmYWxzZSxcbiAgICB9KSBhcyBBUElQcm9taXNlPEZpbmVUdW5lRXZlbnRzTGlzdFJlc3BvbnNlPiB8IEFQSVByb21pc2U8U3RyZWFtPEZpbmVUdW5lRXZlbnQ+PjtcbiAgfVxufVxuXG4vKipcbiAqIE5vdGU6IG5vIHBhZ2luYXRpb24gYWN0dWFsbHkgb2NjdXJzIHlldCwgdGhpcyBpcyBmb3IgZm9yd2FyZHMtY29tcGF0aWJpbGl0eS5cbiAqL1xuZXhwb3J0IGNsYXNzIEZpbmVUdW5lc1BhZ2UgZXh0ZW5kcyBQYWdlPEZpbmVUdW5lPiB7fVxuXG4vKipcbiAqIFRoZSBgRmluZVR1bmVgIG9iamVjdCByZXByZXNlbnRzIGEgbGVnYWN5IGZpbmUtdHVuZSBqb2IgdGhhdCBoYXMgYmVlbiBjcmVhdGVkXG4gKiB0aHJvdWdoIHRoZSBBUEkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmluZVR1bmUge1xuICAvKipcbiAgICogVGhlIG9iamVjdCBpZGVudGlmaWVyLCB3aGljaCBjYW4gYmUgcmVmZXJlbmNlZCBpbiB0aGUgQVBJIGVuZHBvaW50cy5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBVbml4IHRpbWVzdGFtcCAoaW4gc2Vjb25kcykgZm9yIHdoZW4gdGhlIGZpbmUtdHVuaW5nIGpvYiB3YXMgY3JlYXRlZC5cbiAgICovXG4gIGNyZWF0ZWRfYXQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGZpbmUtdHVuZWQgbW9kZWwgdGhhdCBpcyBiZWluZyBjcmVhdGVkLlxuICAgKi9cbiAgZmluZV90dW5lZF9tb2RlbDogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIGh5cGVycGFyYW1ldGVycyB1c2VkIGZvciB0aGUgZmluZS10dW5pbmcgam9iLiBTZWUgdGhlXG4gICAqIFtmaW5lLXR1bmluZyBndWlkZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvZ3VpZGVzL2xlZ2FjeS1maW5lLXR1bmluZy9oeXBlcnBhcmFtZXRlcnMpXG4gICAqIGZvciBtb3JlIGRldGFpbHMuXG4gICAqL1xuICBoeXBlcnBhcmFtczogRmluZVR1bmUuSHlwZXJwYXJhbXM7XG5cbiAgLyoqXG4gICAqIFRoZSBiYXNlIG1vZGVsIHRoYXQgaXMgYmVpbmcgZmluZS10dW5lZC5cbiAgICovXG4gIG1vZGVsOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBvYmplY3QgdHlwZSwgd2hpY2ggaXMgYWx3YXlzIFwiZmluZS10dW5lXCIuXG4gICAqL1xuICBvYmplY3Q6ICdmaW5lLXR1bmUnO1xuXG4gIC8qKlxuICAgKiBUaGUgb3JnYW5pemF0aW9uIHRoYXQgb3ducyB0aGUgZmluZS10dW5pbmcgam9iLlxuICAgKi9cbiAgb3JnYW5pemF0aW9uX2lkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBjb21waWxlZCByZXN1bHRzIGZpbGVzIGZvciB0aGUgZmluZS10dW5pbmcgam9iLlxuICAgKi9cbiAgcmVzdWx0X2ZpbGVzOiBBcnJheTxGaWxlc0FQSS5GaWxlT2JqZWN0PjtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBmaW5lLXR1bmluZyBqb2IsIHdoaWNoIGNhbiBiZSBlaXRoZXIgYGNyZWF0ZWRgLFxuICAgKiBgcnVubmluZ2AsIGBzdWNjZWVkZWRgLCBgZmFpbGVkYCwgb3IgYGNhbmNlbGxlZGAuXG4gICAqL1xuICBzdGF0dXM6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgZmlsZXMgdXNlZCBmb3IgdHJhaW5pbmcuXG4gICAqL1xuICB0cmFpbmluZ19maWxlczogQXJyYXk8RmlsZXNBUEkuRmlsZU9iamVjdD47XG5cbiAgLyoqXG4gICAqIFRoZSBVbml4IHRpbWVzdGFtcCAoaW4gc2Vjb25kcykgZm9yIHdoZW4gdGhlIGZpbmUtdHVuaW5nIGpvYiB3YXMgbGFzdCB1cGRhdGVkLlxuICAgKi9cbiAgdXBkYXRlZF9hdDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBmaWxlcyB1c2VkIGZvciB2YWxpZGF0aW9uLlxuICAgKi9cbiAgdmFsaWRhdGlvbl9maWxlczogQXJyYXk8RmlsZXNBUEkuRmlsZU9iamVjdD47XG5cbiAgLyoqXG4gICAqIFRoZSBsaXN0IG9mIGV2ZW50cyB0aGF0IGhhdmUgYmVlbiBvYnNlcnZlZCBpbiB0aGUgbGlmZWN5Y2xlIG9mIHRoZSBGaW5lVHVuZSBqb2IuXG4gICAqL1xuICBldmVudHM/OiBBcnJheTxGaW5lVHVuZUV2ZW50Pjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBGaW5lVHVuZSB7XG4gIC8qKlxuICAgKiBUaGUgaHlwZXJwYXJhbWV0ZXJzIHVzZWQgZm9yIHRoZSBmaW5lLXR1bmluZyBqb2IuIFNlZSB0aGVcbiAgICogW2ZpbmUtdHVuaW5nIGd1aWRlXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9ndWlkZXMvbGVnYWN5LWZpbmUtdHVuaW5nL2h5cGVycGFyYW1ldGVycylcbiAgICogZm9yIG1vcmUgZGV0YWlscy5cbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgSHlwZXJwYXJhbXMge1xuICAgIC8qKlxuICAgICAqIFRoZSBiYXRjaCBzaXplIHRvIHVzZSBmb3IgdHJhaW5pbmcuIFRoZSBiYXRjaCBzaXplIGlzIHRoZSBudW1iZXIgb2YgdHJhaW5pbmdcbiAgICAgKiBleGFtcGxlcyB1c2VkIHRvIHRyYWluIGEgc2luZ2xlIGZvcndhcmQgYW5kIGJhY2t3YXJkIHBhc3MuXG4gICAgICovXG4gICAgYmF0Y2hfc2l6ZTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIGxlYXJuaW5nIHJhdGUgbXVsdGlwbGllciB0byB1c2UgZm9yIHRyYWluaW5nLlxuICAgICAqL1xuICAgIGxlYXJuaW5nX3JhdGVfbXVsdGlwbGllcjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIG51bWJlciBvZiBlcG9jaHMgdG8gdHJhaW4gdGhlIG1vZGVsIGZvci4gQW4gZXBvY2ggcmVmZXJzIHRvIG9uZSBmdWxsIGN5Y2xlXG4gICAgICogdGhyb3VnaCB0aGUgdHJhaW5pbmcgZGF0YXNldC5cbiAgICAgKi9cbiAgICBuX2Vwb2NoczogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHdlaWdodCB0byB1c2UgZm9yIGxvc3Mgb24gdGhlIHByb21wdCB0b2tlbnMuXG4gICAgICovXG4gICAgcHJvbXB0X2xvc3Nfd2VpZ2h0OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIGNsYXNzZXMgdG8gdXNlIGZvciBjb21wdXRpbmcgY2xhc3NpZmljYXRpb24gbWV0cmljcy5cbiAgICAgKi9cbiAgICBjbGFzc2lmaWNhdGlvbl9uX2NsYXNzZXM/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcG9zaXRpdmUgY2xhc3MgdG8gdXNlIGZvciBjb21wdXRpbmcgY2xhc3NpZmljYXRpb24gbWV0cmljcy5cbiAgICAgKi9cbiAgICBjbGFzc2lmaWNhdGlvbl9wb3NpdGl2ZV9jbGFzcz86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFRoZSBjbGFzc2lmaWNhdGlvbiBtZXRyaWNzIHRvIGNvbXB1dGUgdXNpbmcgdGhlIHZhbGlkYXRpb24gZGF0YXNldCBhdCB0aGUgZW5kIG9mXG4gICAgICogZXZlcnkgZXBvY2guXG4gICAgICovXG4gICAgY29tcHV0ZV9jbGFzc2lmaWNhdGlvbl9tZXRyaWNzPzogYm9vbGVhbjtcbiAgfVxufVxuXG4vKipcbiAqIEZpbmUtdHVuZSBldmVudCBvYmplY3RcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGaW5lVHVuZUV2ZW50IHtcbiAgY3JlYXRlZF9hdDogbnVtYmVyO1xuXG4gIGxldmVsOiBzdHJpbmc7XG5cbiAgbWVzc2FnZTogc3RyaW5nO1xuXG4gIG9iamVjdDogJ2ZpbmUtdHVuZS1ldmVudCc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmluZVR1bmVFdmVudHNMaXN0UmVzcG9uc2Uge1xuICBkYXRhOiBBcnJheTxGaW5lVHVuZUV2ZW50PjtcblxuICBvYmplY3Q6ICdsaXN0Jztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaW5lVHVuZUNyZWF0ZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgYW4gdXBsb2FkZWQgZmlsZSB0aGF0IGNvbnRhaW5zIHRyYWluaW5nIGRhdGEuXG4gICAqXG4gICAqIFNlZSBbdXBsb2FkIGZpbGVdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvZmlsZXMvdXBsb2FkKVxuICAgKiBmb3IgaG93IHRvIHVwbG9hZCBhIGZpbGUuXG4gICAqXG4gICAqIFlvdXIgZGF0YXNldCBtdXN0IGJlIGZvcm1hdHRlZCBhcyBhIEpTT05MIGZpbGUsIHdoZXJlIGVhY2ggdHJhaW5pbmcgZXhhbXBsZSBpcyBhXG4gICAqIEpTT04gb2JqZWN0IHdpdGggdGhlIGtleXMgXCJwcm9tcHRcIiBhbmQgXCJjb21wbGV0aW9uXCIuIEFkZGl0aW9uYWxseSwgeW91IG11c3RcbiAgICogdXBsb2FkIHlvdXIgZmlsZSB3aXRoIHRoZSBwdXJwb3NlIGBmaW5lLXR1bmVgLlxuICAgKlxuICAgKiBTZWUgdGhlXG4gICAqIFtmaW5lLXR1bmluZyBndWlkZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvZ3VpZGVzL2xlZ2FjeS1maW5lLXR1bmluZy9jcmVhdGluZy10cmFpbmluZy1kYXRhKVxuICAgKiBmb3IgbW9yZSBkZXRhaWxzLlxuICAgKi9cbiAgdHJhaW5pbmdfZmlsZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYmF0Y2ggc2l6ZSB0byB1c2UgZm9yIHRyYWluaW5nLiBUaGUgYmF0Y2ggc2l6ZSBpcyB0aGUgbnVtYmVyIG9mIHRyYWluaW5nXG4gICAqIGV4YW1wbGVzIHVzZWQgdG8gdHJhaW4gYSBzaW5nbGUgZm9yd2FyZCBhbmQgYmFja3dhcmQgcGFzcy5cbiAgICpcbiAgICogQnkgZGVmYXVsdCwgdGhlIGJhdGNoIHNpemUgd2lsbCBiZSBkeW5hbWljYWxseSBjb25maWd1cmVkIHRvIGJlIH4wLjIlIG9mIHRoZVxuICAgKiBudW1iZXIgb2YgZXhhbXBsZXMgaW4gdGhlIHRyYWluaW5nIHNldCwgY2FwcGVkIGF0IDI1NiAtIGluIGdlbmVyYWwsIHdlJ3ZlIGZvdW5kXG4gICAqIHRoYXQgbGFyZ2VyIGJhdGNoIHNpemVzIHRlbmQgdG8gd29yayBiZXR0ZXIgZm9yIGxhcmdlciBkYXRhc2V0cy5cbiAgICovXG4gIGJhdGNoX3NpemU/OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBJZiB0aGlzIGlzIHByb3ZpZGVkLCB3ZSBjYWxjdWxhdGUgRi1iZXRhIHNjb3JlcyBhdCB0aGUgc3BlY2lmaWVkIGJldGEgdmFsdWVzLlxuICAgKiBUaGUgRi1iZXRhIHNjb3JlIGlzIGEgZ2VuZXJhbGl6YXRpb24gb2YgRi0xIHNjb3JlLiBUaGlzIGlzIG9ubHkgdXNlZCBmb3IgYmluYXJ5XG4gICAqIGNsYXNzaWZpY2F0aW9uLlxuICAgKlxuICAgKiBXaXRoIGEgYmV0YSBvZiAxIChpLmUuIHRoZSBGLTEgc2NvcmUpLCBwcmVjaXNpb24gYW5kIHJlY2FsbCBhcmUgZ2l2ZW4gdGhlIHNhbWVcbiAgICogd2VpZ2h0LiBBIGxhcmdlciBiZXRhIHNjb3JlIHB1dHMgbW9yZSB3ZWlnaHQgb24gcmVjYWxsIGFuZCBsZXNzIG9uIHByZWNpc2lvbi4gQVxuICAgKiBzbWFsbGVyIGJldGEgc2NvcmUgcHV0cyBtb3JlIHdlaWdodCBvbiBwcmVjaXNpb24gYW5kIGxlc3Mgb24gcmVjYWxsLlxuICAgKi9cbiAgY2xhc3NpZmljYXRpb25fYmV0YXM/OiBBcnJheTxudW1iZXI+IHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBjbGFzc2VzIGluIGEgY2xhc3NpZmljYXRpb24gdGFzay5cbiAgICpcbiAgICogVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgZm9yIG11bHRpY2xhc3MgY2xhc3NpZmljYXRpb24uXG4gICAqL1xuICBjbGFzc2lmaWNhdGlvbl9uX2NsYXNzZXM/OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgcG9zaXRpdmUgY2xhc3MgaW4gYmluYXJ5IGNsYXNzaWZpY2F0aW9uLlxuICAgKlxuICAgKiBUaGlzIHBhcmFtZXRlciBpcyBuZWVkZWQgdG8gZ2VuZXJhdGUgcHJlY2lzaW9uLCByZWNhbGwsIGFuZCBGMSBtZXRyaWNzIHdoZW5cbiAgICogZG9pbmcgYmluYXJ5IGNsYXNzaWZpY2F0aW9uLlxuICAgKi9cbiAgY2xhc3NpZmljYXRpb25fcG9zaXRpdmVfY2xhc3M/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBJZiBzZXQsIHdlIGNhbGN1bGF0ZSBjbGFzc2lmaWNhdGlvbi1zcGVjaWZpYyBtZXRyaWNzIHN1Y2ggYXMgYWNjdXJhY3kgYW5kIEYtMVxuICAgKiBzY29yZSB1c2luZyB0aGUgdmFsaWRhdGlvbiBzZXQgYXQgdGhlIGVuZCBvZiBldmVyeSBlcG9jaC4gVGhlc2UgbWV0cmljcyBjYW4gYmVcbiAgICogdmlld2VkIGluIHRoZVxuICAgKiBbcmVzdWx0cyBmaWxlXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9ndWlkZXMvbGVnYWN5LWZpbmUtdHVuaW5nL2FuYWx5emluZy15b3VyLWZpbmUtdHVuZWQtbW9kZWwpLlxuICAgKlxuICAgKiBJbiBvcmRlciB0byBjb21wdXRlIGNsYXNzaWZpY2F0aW9uIG1ldHJpY3MsIHlvdSBtdXN0IHByb3ZpZGUgYVxuICAgKiBgdmFsaWRhdGlvbl9maWxlYC4gQWRkaXRpb25hbGx5LCB5b3UgbXVzdCBzcGVjaWZ5IGBjbGFzc2lmaWNhdGlvbl9uX2NsYXNzZXNgIGZvclxuICAgKiBtdWx0aWNsYXNzIGNsYXNzaWZpY2F0aW9uIG9yIGBjbGFzc2lmaWNhdGlvbl9wb3NpdGl2ZV9jbGFzc2AgZm9yIGJpbmFyeVxuICAgKiBjbGFzc2lmaWNhdGlvbi5cbiAgICovXG4gIGNvbXB1dGVfY2xhc3NpZmljYXRpb25fbWV0cmljcz86IGJvb2xlYW4gfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgaHlwZXJwYXJhbWV0ZXJzIHVzZWQgZm9yIHRoZSBmaW5lLXR1bmluZyBqb2IuXG4gICAqL1xuICBoeXBlcnBhcmFtZXRlcnM/OiBGaW5lVHVuZUNyZWF0ZVBhcmFtcy5IeXBlcnBhcmFtZXRlcnM7XG5cbiAgLyoqXG4gICAqIFRoZSBsZWFybmluZyByYXRlIG11bHRpcGxpZXIgdG8gdXNlIGZvciB0cmFpbmluZy4gVGhlIGZpbmUtdHVuaW5nIGxlYXJuaW5nIHJhdGVcbiAgICogaXMgdGhlIG9yaWdpbmFsIGxlYXJuaW5nIHJhdGUgdXNlZCBmb3IgcHJldHJhaW5pbmcgbXVsdGlwbGllZCBieSB0aGlzIHZhbHVlLlxuICAgKlxuICAgKiBCeSBkZWZhdWx0LCB0aGUgbGVhcm5pbmcgcmF0ZSBtdWx0aXBsaWVyIGlzIHRoZSAwLjA1LCAwLjEsIG9yIDAuMiBkZXBlbmRpbmcgb25cbiAgICogZmluYWwgYGJhdGNoX3NpemVgIChsYXJnZXIgbGVhcm5pbmcgcmF0ZXMgdGVuZCB0byBwZXJmb3JtIGJldHRlciB3aXRoIGxhcmdlclxuICAgKiBiYXRjaCBzaXplcykuIFdlIHJlY29tbWVuZCBleHBlcmltZW50aW5nIHdpdGggdmFsdWVzIGluIHRoZSByYW5nZSAwLjAyIHRvIDAuMiB0b1xuICAgKiBzZWUgd2hhdCBwcm9kdWNlcyB0aGUgYmVzdCByZXN1bHRzLlxuICAgKi9cbiAgbGVhcm5pbmdfcmF0ZV9tdWx0aXBsaWVyPzogbnVtYmVyIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGJhc2UgbW9kZWwgdG8gZmluZS10dW5lLiBZb3UgY2FuIHNlbGVjdCBvbmUgb2YgXCJhZGFcIiwgXCJiYWJiYWdlXCIsXG4gICAqIFwiY3VyaWVcIiwgXCJkYXZpbmNpXCIsIG9yIGEgZmluZS10dW5lZCBtb2RlbCBjcmVhdGVkIGFmdGVyIDIwMjItMDQtMjEgYW5kIGJlZm9yZVxuICAgKiAyMDIzLTA4LTIyLiBUbyBsZWFybiBtb3JlIGFib3V0IHRoZXNlIG1vZGVscywgc2VlIHRoZVxuICAgKiBbTW9kZWxzXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9tb2RlbHMpIGRvY3VtZW50YXRpb24uXG4gICAqL1xuICBtb2RlbD86IChzdHJpbmcgJiB7fSkgfCAnYWRhJyB8ICdiYWJiYWdlJyB8ICdjdXJpZScgfCAnZGF2aW5jaScgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgd2VpZ2h0IHRvIHVzZSBmb3IgbG9zcyBvbiB0aGUgcHJvbXB0IHRva2Vucy4gVGhpcyBjb250cm9scyBob3cgbXVjaCB0aGVcbiAgICogbW9kZWwgdHJpZXMgdG8gbGVhcm4gdG8gZ2VuZXJhdGUgdGhlIHByb21wdCAoYXMgY29tcGFyZWQgdG8gdGhlIGNvbXBsZXRpb24gd2hpY2hcbiAgICogYWx3YXlzIGhhcyBhIHdlaWdodCBvZiAxLjApLCBhbmQgY2FuIGFkZCBhIHN0YWJpbGl6aW5nIGVmZmVjdCB0byB0cmFpbmluZyB3aGVuXG4gICAqIGNvbXBsZXRpb25zIGFyZSBzaG9ydC5cbiAgICpcbiAgICogSWYgcHJvbXB0cyBhcmUgZXh0cmVtZWx5IGxvbmcgKHJlbGF0aXZlIHRvIGNvbXBsZXRpb25zKSwgaXQgbWF5IG1ha2Ugc2Vuc2UgdG9cbiAgICogcmVkdWNlIHRoaXMgd2VpZ2h0IHNvIGFzIHRvIGF2b2lkIG92ZXItcHJpb3JpdGl6aW5nIGxlYXJuaW5nIHRoZSBwcm9tcHQuXG4gICAqL1xuICBwcm9tcHRfbG9zc193ZWlnaHQ/OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBBIHN0cmluZyBvZiB1cCB0byA0MCBjaGFyYWN0ZXJzIHRoYXQgd2lsbCBiZSBhZGRlZCB0byB5b3VyIGZpbmUtdHVuZWQgbW9kZWxcbiAgICogbmFtZS5cbiAgICpcbiAgICogRm9yIGV4YW1wbGUsIGEgYHN1ZmZpeGAgb2YgXCJjdXN0b20tbW9kZWwtbmFtZVwiIHdvdWxkIHByb2R1Y2UgYSBtb2RlbCBuYW1lIGxpa2VcbiAgICogYGFkYTpmdC15b3VyLW9yZzpjdXN0b20tbW9kZWwtbmFtZS0yMDIyLTAyLTE1LTA0LTIxLTA0YC5cbiAgICovXG4gIHN1ZmZpeD86IHN0cmluZyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiBhbiB1cGxvYWRlZCBmaWxlIHRoYXQgY29udGFpbnMgdmFsaWRhdGlvbiBkYXRhLlxuICAgKlxuICAgKiBJZiB5b3UgcHJvdmlkZSB0aGlzIGZpbGUsIHRoZSBkYXRhIGlzIHVzZWQgdG8gZ2VuZXJhdGUgdmFsaWRhdGlvbiBtZXRyaWNzXG4gICAqIHBlcmlvZGljYWxseSBkdXJpbmcgZmluZS10dW5pbmcuIFRoZXNlIG1ldHJpY3MgY2FuIGJlIHZpZXdlZCBpbiB0aGVcbiAgICogW2ZpbmUtdHVuaW5nIHJlc3VsdHMgZmlsZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvZ3VpZGVzL2xlZ2FjeS1maW5lLXR1bmluZy9hbmFseXppbmcteW91ci1maW5lLXR1bmVkLW1vZGVsKS5cbiAgICogWW91ciB0cmFpbiBhbmQgdmFsaWRhdGlvbiBkYXRhIHNob3VsZCBiZSBtdXR1YWxseSBleGNsdXNpdmUuXG4gICAqXG4gICAqIFlvdXIgZGF0YXNldCBtdXN0IGJlIGZvcm1hdHRlZCBhcyBhIEpTT05MIGZpbGUsIHdoZXJlIGVhY2ggdmFsaWRhdGlvbiBleGFtcGxlIGlzXG4gICAqIGEgSlNPTiBvYmplY3Qgd2l0aCB0aGUga2V5cyBcInByb21wdFwiIGFuZCBcImNvbXBsZXRpb25cIi4gQWRkaXRpb25hbGx5LCB5b3UgbXVzdFxuICAgKiB1cGxvYWQgeW91ciBmaWxlIHdpdGggdGhlIHB1cnBvc2UgYGZpbmUtdHVuZWAuXG4gICAqXG4gICAqIFNlZSB0aGVcbiAgICogW2ZpbmUtdHVuaW5nIGd1aWRlXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9ndWlkZXMvbGVnYWN5LWZpbmUtdHVuaW5nL2NyZWF0aW5nLXRyYWluaW5nLWRhdGEpXG4gICAqIGZvciBtb3JlIGRldGFpbHMuXG4gICAqL1xuICB2YWxpZGF0aW9uX2ZpbGU/OiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEZpbmVUdW5lQ3JlYXRlUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBoeXBlcnBhcmFtZXRlcnMgdXNlZCBmb3IgdGhlIGZpbmUtdHVuaW5nIGpvYi5cbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgSHlwZXJwYXJhbWV0ZXJzIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIGVwb2NocyB0byB0cmFpbiB0aGUgbW9kZWwgZm9yLiBBbiBlcG9jaCByZWZlcnMgdG8gb25lIGZ1bGwgY3ljbGVcbiAgICAgKiB0aHJvdWdoIHRoZSB0cmFpbmluZyBkYXRhc2V0LlxuICAgICAqL1xuICAgIG5fZXBvY2hzPzogJ2F1dG8nIHwgbnVtYmVyO1xuICB9XG59XG5cbmV4cG9ydCB0eXBlIEZpbmVUdW5lTGlzdEV2ZW50c1BhcmFtcyA9XG4gIHwgRmluZVR1bmVMaXN0RXZlbnRzUGFyYW1zTm9uU3RyZWFtaW5nXG4gIHwgRmluZVR1bmVMaXN0RXZlbnRzUGFyYW1zU3RyZWFtaW5nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZpbmVUdW5lTGlzdEV2ZW50c1BhcmFtc0Jhc2Uge1xuICAvKipcbiAgICogV2hldGhlciB0byBzdHJlYW0gZXZlbnRzIGZvciB0aGUgZmluZS10dW5lIGpvYi4gSWYgc2V0IHRvIHRydWUsIGV2ZW50cyB3aWxsIGJlXG4gICAqIHNlbnQgYXMgZGF0YS1vbmx5XG4gICAqIFtzZXJ2ZXItc2VudCBldmVudHNdKGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9TZXJ2ZXItc2VudF9ldmVudHMvVXNpbmdfc2VydmVyLXNlbnRfZXZlbnRzI0V2ZW50X3N0cmVhbV9mb3JtYXQpXG4gICAqIGFzIHRoZXkgYmVjb21lIGF2YWlsYWJsZS4gVGhlIHN0cmVhbSB3aWxsIHRlcm1pbmF0ZSB3aXRoIGEgYGRhdGE6IFtET05FXWBcbiAgICogbWVzc2FnZSB3aGVuIHRoZSBqb2IgaXMgZmluaXNoZWQgKHN1Y2NlZWRlZCwgY2FuY2VsbGVkLCBvciBmYWlsZWQpLlxuICAgKlxuICAgKiBJZiBzZXQgdG8gZmFsc2UsIG9ubHkgZXZlbnRzIGdlbmVyYXRlZCBzbyBmYXIgd2lsbCBiZSByZXR1cm5lZC5cbiAgICovXG4gIHN0cmVhbT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRmluZVR1bmVMaXN0RXZlbnRzUGFyYW1zIHtcbiAgZXhwb3J0IHR5cGUgRmluZVR1bmVMaXN0RXZlbnRzUGFyYW1zTm9uU3RyZWFtaW5nID0gRmluZVR1bmVzQVBJLkZpbmVUdW5lTGlzdEV2ZW50c1BhcmFtc05vblN0cmVhbWluZztcbiAgZXhwb3J0IHR5cGUgRmluZVR1bmVMaXN0RXZlbnRzUGFyYW1zU3RyZWFtaW5nID0gRmluZVR1bmVzQVBJLkZpbmVUdW5lTGlzdEV2ZW50c1BhcmFtc1N0cmVhbWluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaW5lVHVuZUxpc3RFdmVudHNQYXJhbXNOb25TdHJlYW1pbmcgZXh0ZW5kcyBGaW5lVHVuZUxpc3RFdmVudHNQYXJhbXNCYXNlIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc3RyZWFtIGV2ZW50cyBmb3IgdGhlIGZpbmUtdHVuZSBqb2IuIElmIHNldCB0byB0cnVlLCBldmVudHMgd2lsbCBiZVxuICAgKiBzZW50IGFzIGRhdGEtb25seVxuICAgKiBbc2VydmVyLXNlbnQgZXZlbnRzXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvU2VydmVyLXNlbnRfZXZlbnRzL1VzaW5nX3NlcnZlci1zZW50X2V2ZW50cyNFdmVudF9zdHJlYW1fZm9ybWF0KVxuICAgKiBhcyB0aGV5IGJlY29tZSBhdmFpbGFibGUuIFRoZSBzdHJlYW0gd2lsbCB0ZXJtaW5hdGUgd2l0aCBhIGBkYXRhOiBbRE9ORV1gXG4gICAqIG1lc3NhZ2Ugd2hlbiB0aGUgam9iIGlzIGZpbmlzaGVkIChzdWNjZWVkZWQsIGNhbmNlbGxlZCwgb3IgZmFpbGVkKS5cbiAgICpcbiAgICogSWYgc2V0IHRvIGZhbHNlLCBvbmx5IGV2ZW50cyBnZW5lcmF0ZWQgc28gZmFyIHdpbGwgYmUgcmV0dXJuZWQuXG4gICAqL1xuICBzdHJlYW0/OiBmYWxzZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaW5lVHVuZUxpc3RFdmVudHNQYXJhbXNTdHJlYW1pbmcgZXh0ZW5kcyBGaW5lVHVuZUxpc3RFdmVudHNQYXJhbXNCYXNlIHtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gc3RyZWFtIGV2ZW50cyBmb3IgdGhlIGZpbmUtdHVuZSBqb2IuIElmIHNldCB0byB0cnVlLCBldmVudHMgd2lsbCBiZVxuICAgKiBzZW50IGFzIGRhdGEtb25seVxuICAgKiBbc2VydmVyLXNlbnQgZXZlbnRzXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvU2VydmVyLXNlbnRfZXZlbnRzL1VzaW5nX3NlcnZlci1zZW50X2V2ZW50cyNFdmVudF9zdHJlYW1fZm9ybWF0KVxuICAgKiBhcyB0aGV5IGJlY29tZSBhdmFpbGFibGUuIFRoZSBzdHJlYW0gd2lsbCB0ZXJtaW5hdGUgd2l0aCBhIGBkYXRhOiBbRE9ORV1gXG4gICAqIG1lc3NhZ2Ugd2hlbiB0aGUgam9iIGlzIGZpbmlzaGVkIChzdWNjZWVkZWQsIGNhbmNlbGxlZCwgb3IgZmFpbGVkKS5cbiAgICpcbiAgICogSWYgc2V0IHRvIGZhbHNlLCBvbmx5IGV2ZW50cyBnZW5lcmF0ZWQgc28gZmFyIHdpbGwgYmUgcmV0dXJuZWQuXG4gICAqL1xuICBzdHJlYW06IHRydWU7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgRmluZVR1bmVzIHtcbiAgZXhwb3J0IGltcG9ydCBGaW5lVHVuZSA9IEZpbmVUdW5lc0FQSS5GaW5lVHVuZTtcbiAgZXhwb3J0IGltcG9ydCBGaW5lVHVuZUV2ZW50ID0gRmluZVR1bmVzQVBJLkZpbmVUdW5lRXZlbnQ7XG4gIGV4cG9ydCBpbXBvcnQgRmluZVR1bmVFdmVudHNMaXN0UmVzcG9uc2UgPSBGaW5lVHVuZXNBUEkuRmluZVR1bmVFdmVudHNMaXN0UmVzcG9uc2U7XG4gIGV4cG9ydCBpbXBvcnQgRmluZVR1bmVzUGFnZSA9IEZpbmVUdW5lc0FQSS5GaW5lVHVuZXNQYWdlO1xuICBleHBvcnQgaW1wb3J0IEZpbmVUdW5lQ3JlYXRlUGFyYW1zID0gRmluZVR1bmVzQVBJLkZpbmVUdW5lQ3JlYXRlUGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IEZpbmVUdW5lTGlzdEV2ZW50c1BhcmFtcyA9IEZpbmVUdW5lc0FQSS5GaW5lVHVuZUxpc3RFdmVudHNQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgRmluZVR1bmVMaXN0RXZlbnRzUGFyYW1zTm9uU3RyZWFtaW5nID0gRmluZVR1bmVzQVBJLkZpbmVUdW5lTGlzdEV2ZW50c1BhcmFtc05vblN0cmVhbWluZztcbiAgZXhwb3J0IGltcG9ydCBGaW5lVHVuZUxpc3RFdmVudHNQYXJhbXNTdHJlYW1pbmcgPSBGaW5lVHVuZXNBUEkuRmluZVR1bmVMaXN0RXZlbnRzUGFyYW1zU3RyZWFtaW5nO1xufVxuIiwgIi8vIEZpbGUgZ2VuZXJhdGVkIGZyb20gb3VyIE9wZW5BUEkgc3BlYyBieSBTdGFpbmxlc3MuXG5cbmltcG9ydCAqIGFzIENvcmUgZnJvbSBcIi4uLy4uL2NvcmVcIjtcbmltcG9ydCB7IEFQSVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlXCI7XG5pbXBvcnQgeyBpc1JlcXVlc3RPcHRpb25zIH0gZnJvbSBcIi4uLy4uL2NvcmVcIjtcbmltcG9ydCAqIGFzIEpvYnNBUEkgZnJvbSBcIi4vam9ic1wiO1xuaW1wb3J0IHsgQ3Vyc29yUGFnZSwgdHlwZSBDdXJzb3JQYWdlUGFyYW1zIH0gZnJvbSBcIi4uLy4uL3BhZ2luYXRpb25cIjtcblxuZXhwb3J0IGNsYXNzIEpvYnMgZXh0ZW5kcyBBUElSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgam9iIHRoYXQgZmluZS10dW5lcyBhIHNwZWNpZmllZCBtb2RlbCBmcm9tIGEgZ2l2ZW4gZGF0YXNldC5cbiAgICpcbiAgICogUmVzcG9uc2UgaW5jbHVkZXMgZGV0YWlscyBvZiB0aGUgZW5xdWV1ZWQgam9iIGluY2x1ZGluZyBqb2Igc3RhdHVzIGFuZCB0aGUgbmFtZVxuICAgKiBvZiB0aGUgZmluZS10dW5lZCBtb2RlbHMgb25jZSBjb21wbGV0ZS5cbiAgICpcbiAgICogW0xlYXJuIG1vcmUgYWJvdXQgZmluZS10dW5pbmddKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2d1aWRlcy9maW5lLXR1bmluZylcbiAgICovXG4gIGNyZWF0ZShib2R5OiBKb2JDcmVhdGVQYXJhbXMsIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zKTogQ29yZS5BUElQcm9taXNlPEZpbmVUdW5pbmdKb2I+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LnBvc3QoJy9maW5lX3R1bmluZy9qb2JzJywgeyBib2R5LCAuLi5vcHRpb25zIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBpbmZvIGFib3V0IGEgZmluZS10dW5pbmcgam9iLlxuICAgKlxuICAgKiBbTGVhcm4gbW9yZSBhYm91dCBmaW5lLXR1bmluZ10oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvZ3VpZGVzL2ZpbmUtdHVuaW5nKVxuICAgKi9cbiAgcmV0cmlldmUoZmluZVR1bmluZ0pvYklkOiBzdHJpbmcsIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zKTogQ29yZS5BUElQcm9taXNlPEZpbmVUdW5pbmdKb2I+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmdldChgL2ZpbmVfdHVuaW5nL2pvYnMvJHtmaW5lVHVuaW5nSm9iSWR9YCwgb3B0aW9ucyk7XG4gIH1cblxuICAvKipcbiAgICogTGlzdCB5b3VyIG9yZ2FuaXphdGlvbidzIGZpbmUtdHVuaW5nIGpvYnNcbiAgICovXG4gIGxpc3QoXG4gICAgcXVlcnk/OiBKb2JMaXN0UGFyYW1zLFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBDb3JlLlBhZ2VQcm9taXNlPEZpbmVUdW5pbmdKb2JzUGFnZSwgRmluZVR1bmluZ0pvYj47XG4gIGxpc3Qob3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLlBhZ2VQcm9taXNlPEZpbmVUdW5pbmdKb2JzUGFnZSwgRmluZVR1bmluZ0pvYj47XG4gIGxpc3QoXG4gICAgcXVlcnk6IEpvYkxpc3RQYXJhbXMgfCBDb3JlLlJlcXVlc3RPcHRpb25zID0ge30sXG4gICAgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMsXG4gICk6IENvcmUuUGFnZVByb21pc2U8RmluZVR1bmluZ0pvYnNQYWdlLCBGaW5lVHVuaW5nSm9iPiB7XG4gICAgaWYgKGlzUmVxdWVzdE9wdGlvbnMocXVlcnkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5saXN0KHt9LCBxdWVyeSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9jbGllbnQuZ2V0QVBJTGlzdCgnL2ZpbmVfdHVuaW5nL2pvYnMnLCBGaW5lVHVuaW5nSm9ic1BhZ2UsIHsgcXVlcnksIC4uLm9wdGlvbnMgfSk7XG4gIH1cblxuICAvKipcbiAgICogSW1tZWRpYXRlbHkgY2FuY2VsIGEgZmluZS10dW5lIGpvYi5cbiAgICovXG4gIGNhbmNlbChmaW5lVHVuaW5nSm9iSWQ6IHN0cmluZywgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLkFQSVByb21pc2U8RmluZVR1bmluZ0pvYj4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQucG9zdChgL2ZpbmVfdHVuaW5nL2pvYnMvJHtmaW5lVHVuaW5nSm9iSWR9L2NhbmNlbGAsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzdGF0dXMgdXBkYXRlcyBmb3IgYSBmaW5lLXR1bmluZyBqb2IuXG4gICAqL1xuICBsaXN0RXZlbnRzKFxuICAgIGZpbmVUdW5pbmdKb2JJZDogc3RyaW5nLFxuICAgIHF1ZXJ5PzogSm9iTGlzdEV2ZW50c1BhcmFtcyxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQ29yZS5QYWdlUHJvbWlzZTxGaW5lVHVuaW5nSm9iRXZlbnRzUGFnZSwgRmluZVR1bmluZ0pvYkV2ZW50PjtcbiAgbGlzdEV2ZW50cyhcbiAgICBmaW5lVHVuaW5nSm9iSWQ6IHN0cmluZyxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQ29yZS5QYWdlUHJvbWlzZTxGaW5lVHVuaW5nSm9iRXZlbnRzUGFnZSwgRmluZVR1bmluZ0pvYkV2ZW50PjtcbiAgbGlzdEV2ZW50cyhcbiAgICBmaW5lVHVuaW5nSm9iSWQ6IHN0cmluZyxcbiAgICBxdWVyeTogSm9iTGlzdEV2ZW50c1BhcmFtcyB8IENvcmUuUmVxdWVzdE9wdGlvbnMgPSB7fSxcbiAgICBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyxcbiAgKTogQ29yZS5QYWdlUHJvbWlzZTxGaW5lVHVuaW5nSm9iRXZlbnRzUGFnZSwgRmluZVR1bmluZ0pvYkV2ZW50PiB7XG4gICAgaWYgKGlzUmVxdWVzdE9wdGlvbnMocXVlcnkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5saXN0RXZlbnRzKGZpbmVUdW5pbmdKb2JJZCwge30sIHF1ZXJ5KTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5nZXRBUElMaXN0KGAvZmluZV90dW5pbmcvam9icy8ke2ZpbmVUdW5pbmdKb2JJZH0vZXZlbnRzYCwgRmluZVR1bmluZ0pvYkV2ZW50c1BhZ2UsIHtcbiAgICAgIHF1ZXJ5LFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9KTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgRmluZVR1bmluZ0pvYnNQYWdlIGV4dGVuZHMgQ3Vyc29yUGFnZTxGaW5lVHVuaW5nSm9iPiB7fVxuXG5leHBvcnQgY2xhc3MgRmluZVR1bmluZ0pvYkV2ZW50c1BhZ2UgZXh0ZW5kcyBDdXJzb3JQYWdlPEZpbmVUdW5pbmdKb2JFdmVudD4ge31cblxuLyoqXG4gKiBUaGUgYGZpbmVfdHVuaW5nLmpvYmAgb2JqZWN0IHJlcHJlc2VudHMgYSBmaW5lLXR1bmluZyBqb2IgdGhhdCBoYXMgYmVlbiBjcmVhdGVkXG4gKiB0aHJvdWdoIHRoZSBBUEkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmluZVR1bmluZ0pvYiB7XG4gIC8qKlxuICAgKiBUaGUgb2JqZWN0IGlkZW50aWZpZXIsIHdoaWNoIGNhbiBiZSByZWZlcmVuY2VkIGluIHRoZSBBUEkgZW5kcG9pbnRzLlxuICAgKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVuaXggdGltZXN0YW1wIChpbiBzZWNvbmRzKSBmb3Igd2hlbiB0aGUgZmluZS10dW5pbmcgam9iIHdhcyBjcmVhdGVkLlxuICAgKi9cbiAgY3JlYXRlZF9hdDogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBGb3IgZmluZS10dW5pbmcgam9icyB0aGF0IGhhdmUgYGZhaWxlZGAsIHRoaXMgd2lsbCBjb250YWluIG1vcmUgaW5mb3JtYXRpb24gb25cbiAgICogdGhlIGNhdXNlIG9mIHRoZSBmYWlsdXJlLlxuICAgKi9cbiAgZXJyb3I6IEZpbmVUdW5pbmdKb2IuRXJyb3IgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgZmluZS10dW5lZCBtb2RlbCB0aGF0IGlzIGJlaW5nIGNyZWF0ZWQuIFRoZSB2YWx1ZSB3aWxsIGJlIG51bGxcbiAgICogaWYgdGhlIGZpbmUtdHVuaW5nIGpvYiBpcyBzdGlsbCBydW5uaW5nLlxuICAgKi9cbiAgZmluZV90dW5lZF9tb2RlbDogc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIFVuaXggdGltZXN0YW1wIChpbiBzZWNvbmRzKSBmb3Igd2hlbiB0aGUgZmluZS10dW5pbmcgam9iIHdhcyBmaW5pc2hlZC4gVGhlXG4gICAqIHZhbHVlIHdpbGwgYmUgbnVsbCBpZiB0aGUgZmluZS10dW5pbmcgam9iIGlzIHN0aWxsIHJ1bm5pbmcuXG4gICAqL1xuICBmaW5pc2hlZF9hdDogbnVtYmVyIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIGh5cGVycGFyYW1ldGVycyB1c2VkIGZvciB0aGUgZmluZS10dW5pbmcgam9iLiBTZWUgdGhlXG4gICAqIFtmaW5lLXR1bmluZyBndWlkZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvZ3VpZGVzL2ZpbmUtdHVuaW5nKSBmb3JcbiAgICogbW9yZSBkZXRhaWxzLlxuICAgKi9cbiAgaHlwZXJwYXJhbWV0ZXJzOiBGaW5lVHVuaW5nSm9iLkh5cGVycGFyYW1ldGVycztcblxuICAvKipcbiAgICogVGhlIGJhc2UgbW9kZWwgdGhhdCBpcyBiZWluZyBmaW5lLXR1bmVkLlxuICAgKi9cbiAgbW9kZWw6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG9iamVjdCB0eXBlLCB3aGljaCBpcyBhbHdheXMgXCJmaW5lX3R1bmluZy5qb2JcIi5cbiAgICovXG4gIG9iamVjdDogJ2ZpbmVfdHVuaW5nLmpvYic7XG5cbiAgLyoqXG4gICAqIFRoZSBvcmdhbml6YXRpb24gdGhhdCBvd25zIHRoZSBmaW5lLXR1bmluZyBqb2IuXG4gICAqL1xuICBvcmdhbml6YXRpb25faWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGNvbXBpbGVkIHJlc3VsdHMgZmlsZSBJRChzKSBmb3IgdGhlIGZpbmUtdHVuaW5nIGpvYi4gWW91IGNhbiByZXRyaWV2ZSB0aGVcbiAgICogcmVzdWx0cyB3aXRoIHRoZVxuICAgKiBbRmlsZXMgQVBJXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9hcGktcmVmZXJlbmNlL2ZpbGVzL3JldHJpZXZlLWNvbnRlbnRzKS5cbiAgICovXG4gIHJlc3VsdF9maWxlczogQXJyYXk8c3RyaW5nPjtcblxuICAvKipcbiAgICogVGhlIGN1cnJlbnQgc3RhdHVzIG9mIHRoZSBmaW5lLXR1bmluZyBqb2IsIHdoaWNoIGNhbiBiZSBlaXRoZXJcbiAgICogYHZhbGlkYXRpbmdfZmlsZXNgLCBgcXVldWVkYCwgYHJ1bm5pbmdgLCBgc3VjY2VlZGVkYCwgYGZhaWxlZGAsIG9yIGBjYW5jZWxsZWRgLlxuICAgKi9cbiAgc3RhdHVzOiAndmFsaWRhdGluZ19maWxlcycgfCAncXVldWVkJyB8ICdydW5uaW5nJyB8ICdzdWNjZWVkZWQnIHwgJ2ZhaWxlZCcgfCAnY2FuY2VsbGVkJztcblxuICAvKipcbiAgICogVGhlIHRvdGFsIG51bWJlciBvZiBiaWxsYWJsZSB0b2tlbnMgcHJvY2Vzc2VkIGJ5IHRoaXMgZmluZS10dW5pbmcgam9iLiBUaGUgdmFsdWVcbiAgICogd2lsbCBiZSBudWxsIGlmIHRoZSBmaW5lLXR1bmluZyBqb2IgaXMgc3RpbGwgcnVubmluZy5cbiAgICovXG4gIHRyYWluZWRfdG9rZW5zOiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgZmlsZSBJRCB1c2VkIGZvciB0cmFpbmluZy4gWW91IGNhbiByZXRyaWV2ZSB0aGUgdHJhaW5pbmcgZGF0YSB3aXRoIHRoZVxuICAgKiBbRmlsZXMgQVBJXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9hcGktcmVmZXJlbmNlL2ZpbGVzL3JldHJpZXZlLWNvbnRlbnRzKS5cbiAgICovXG4gIHRyYWluaW5nX2ZpbGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZpbGUgSUQgdXNlZCBmb3IgdmFsaWRhdGlvbi4gWW91IGNhbiByZXRyaWV2ZSB0aGUgdmFsaWRhdGlvbiByZXN1bHRzIHdpdGhcbiAgICogdGhlXG4gICAqIFtGaWxlcyBBUEldKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2FwaS1yZWZlcmVuY2UvZmlsZXMvcmV0cmlldmUtY29udGVudHMpLlxuICAgKi9cbiAgdmFsaWRhdGlvbl9maWxlOiBzdHJpbmcgfCBudWxsO1xufVxuXG5leHBvcnQgbmFtZXNwYWNlIEZpbmVUdW5pbmdKb2Ige1xuICAvKipcbiAgICogRm9yIGZpbmUtdHVuaW5nIGpvYnMgdGhhdCBoYXZlIGBmYWlsZWRgLCB0aGlzIHdpbGwgY29udGFpbiBtb3JlIGluZm9ybWF0aW9uIG9uXG4gICAqIHRoZSBjYXVzZSBvZiB0aGUgZmFpbHVyZS5cbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgRXJyb3Ige1xuICAgIC8qKlxuICAgICAqIEEgbWFjaGluZS1yZWFkYWJsZSBlcnJvciBjb2RlLlxuICAgICAqL1xuICAgIGNvZGU6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEEgaHVtYW4tcmVhZGFibGUgZXJyb3IgbWVzc2FnZS5cbiAgICAgKi9cbiAgICBtZXNzYWdlOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgcGFyYW1ldGVyIHRoYXQgd2FzIGludmFsaWQsIHVzdWFsbHkgYHRyYWluaW5nX2ZpbGVgIG9yIGB2YWxpZGF0aW9uX2ZpbGVgLlxuICAgICAqIFRoaXMgZmllbGQgd2lsbCBiZSBudWxsIGlmIHRoZSBmYWlsdXJlIHdhcyBub3QgcGFyYW1ldGVyLXNwZWNpZmljLlxuICAgICAqL1xuICAgIHBhcmFtOiBzdHJpbmcgfCBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBoeXBlcnBhcmFtZXRlcnMgdXNlZCBmb3IgdGhlIGZpbmUtdHVuaW5nIGpvYi4gU2VlIHRoZVxuICAgKiBbZmluZS10dW5pbmcgZ3VpZGVdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2d1aWRlcy9maW5lLXR1bmluZykgZm9yXG4gICAqIG1vcmUgZGV0YWlscy5cbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgSHlwZXJwYXJhbWV0ZXJzIHtcbiAgICAvKipcbiAgICAgKiBUaGUgbnVtYmVyIG9mIGVwb2NocyB0byB0cmFpbiB0aGUgbW9kZWwgZm9yLiBBbiBlcG9jaCByZWZlcnMgdG8gb25lIGZ1bGwgY3ljbGVcbiAgICAgKiB0aHJvdWdoIHRoZSB0cmFpbmluZyBkYXRhc2V0LiBcImF1dG9cIiBkZWNpZGVzIHRoZSBvcHRpbWFsIG51bWJlciBvZiBlcG9jaHMgYmFzZWRcbiAgICAgKiBvbiB0aGUgc2l6ZSBvZiB0aGUgZGF0YXNldC4gSWYgc2V0dGluZyB0aGUgbnVtYmVyIG1hbnVhbGx5LCB3ZSBzdXBwb3J0IGFueVxuICAgICAqIG51bWJlciBiZXR3ZWVuIDEgYW5kIDUwIGVwb2Nocy5cbiAgICAgKi9cbiAgICBuX2Vwb2NoczogJ2F1dG8nIHwgbnVtYmVyO1xuICB9XG59XG5cbi8qKlxuICogRmluZS10dW5pbmcgam9iIGV2ZW50IG9iamVjdFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZpbmVUdW5pbmdKb2JFdmVudCB7XG4gIGlkOiBzdHJpbmc7XG5cbiAgY3JlYXRlZF9hdDogbnVtYmVyO1xuXG4gIGxldmVsOiAnaW5mbycgfCAnd2FybicgfCAnZXJyb3InO1xuXG4gIG1lc3NhZ2U6IHN0cmluZztcblxuICBvYmplY3Q6ICdmaW5lX3R1bmluZy5qb2IuZXZlbnQnO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEpvYkNyZWF0ZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgbW9kZWwgdG8gZmluZS10dW5lLiBZb3UgY2FuIHNlbGVjdCBvbmUgb2YgdGhlXG4gICAqIFtzdXBwb3J0ZWQgbW9kZWxzXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9ndWlkZXMvZmluZS10dW5pbmcvd2hhdC1tb2RlbHMtY2FuLWJlLWZpbmUtdHVuZWQpLlxuICAgKi9cbiAgbW9kZWw6IChzdHJpbmcgJiB7fSkgfCAnYmFiYmFnZS0wMDInIHwgJ2RhdmluY2ktMDAyJyB8ICdncHQtMy41LXR1cmJvJztcblxuICAvKipcbiAgICogVGhlIElEIG9mIGFuIHVwbG9hZGVkIGZpbGUgdGhhdCBjb250YWlucyB0cmFpbmluZyBkYXRhLlxuICAgKlxuICAgKiBTZWUgW3VwbG9hZCBmaWxlXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9hcGktcmVmZXJlbmNlL2ZpbGVzL3VwbG9hZClcbiAgICogZm9yIGhvdyB0byB1cGxvYWQgYSBmaWxlLlxuICAgKlxuICAgKiBZb3VyIGRhdGFzZXQgbXVzdCBiZSBmb3JtYXR0ZWQgYXMgYSBKU09OTCBmaWxlLiBBZGRpdGlvbmFsbHksIHlvdSBtdXN0IHVwbG9hZFxuICAgKiB5b3VyIGZpbGUgd2l0aCB0aGUgcHVycG9zZSBgZmluZS10dW5lYC5cbiAgICpcbiAgICogU2VlIHRoZSBbZmluZS10dW5pbmcgZ3VpZGVdKGh0dHBzOi8vcGxhdGZvcm0ub3BlbmFpLmNvbS9kb2NzL2d1aWRlcy9maW5lLXR1bmluZylcbiAgICogZm9yIG1vcmUgZGV0YWlscy5cbiAgICovXG4gIHRyYWluaW5nX2ZpbGU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGh5cGVycGFyYW1ldGVycyB1c2VkIGZvciB0aGUgZmluZS10dW5pbmcgam9iLlxuICAgKi9cbiAgaHlwZXJwYXJhbWV0ZXJzPzogSm9iQ3JlYXRlUGFyYW1zLkh5cGVycGFyYW1ldGVycztcblxuICAvKipcbiAgICogQSBzdHJpbmcgb2YgdXAgdG8gMTggY2hhcmFjdGVycyB0aGF0IHdpbGwgYmUgYWRkZWQgdG8geW91ciBmaW5lLXR1bmVkIG1vZGVsXG4gICAqIG5hbWUuXG4gICAqXG4gICAqIEZvciBleGFtcGxlLCBhIGBzdWZmaXhgIG9mIFwiY3VzdG9tLW1vZGVsLW5hbWVcIiB3b3VsZCBwcm9kdWNlIGEgbW9kZWwgbmFtZSBsaWtlXG4gICAqIGBmdDpncHQtMy41LXR1cmJvOm9wZW5haTpjdXN0b20tbW9kZWwtbmFtZTo3cDRsVVJlbGAuXG4gICAqL1xuICBzdWZmaXg/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgYW4gdXBsb2FkZWQgZmlsZSB0aGF0IGNvbnRhaW5zIHZhbGlkYXRpb24gZGF0YS5cbiAgICpcbiAgICogSWYgeW91IHByb3ZpZGUgdGhpcyBmaWxlLCB0aGUgZGF0YSBpcyB1c2VkIHRvIGdlbmVyYXRlIHZhbGlkYXRpb24gbWV0cmljc1xuICAgKiBwZXJpb2RpY2FsbHkgZHVyaW5nIGZpbmUtdHVuaW5nLiBUaGVzZSBtZXRyaWNzIGNhbiBiZSB2aWV3ZWQgaW4gdGhlIGZpbmUtdHVuaW5nXG4gICAqIHJlc3VsdHMgZmlsZS4gVGhlIHNhbWUgZGF0YSBzaG91bGQgbm90IGJlIHByZXNlbnQgaW4gYm90aCB0cmFpbiBhbmQgdmFsaWRhdGlvblxuICAgKiBmaWxlcy5cbiAgICpcbiAgICogWW91ciBkYXRhc2V0IG11c3QgYmUgZm9ybWF0dGVkIGFzIGEgSlNPTkwgZmlsZS4gWW91IG11c3QgdXBsb2FkIHlvdXIgZmlsZSB3aXRoXG4gICAqIHRoZSBwdXJwb3NlIGBmaW5lLXR1bmVgLlxuICAgKlxuICAgKiBTZWUgdGhlIFtmaW5lLXR1bmluZyBndWlkZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvZ3VpZGVzL2ZpbmUtdHVuaW5nKVxuICAgKiBmb3IgbW9yZSBkZXRhaWxzLlxuICAgKi9cbiAgdmFsaWRhdGlvbl9maWxlPzogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBKb2JDcmVhdGVQYXJhbXMge1xuICAvKipcbiAgICogVGhlIGh5cGVycGFyYW1ldGVycyB1c2VkIGZvciB0aGUgZmluZS10dW5pbmcgam9iLlxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBIeXBlcnBhcmFtZXRlcnMge1xuICAgIC8qKlxuICAgICAqIE51bWJlciBvZiBleGFtcGxlcyBpbiBlYWNoIGJhdGNoLiBBIGxhcmdlciBiYXRjaCBzaXplIG1lYW5zIHRoYXQgbW9kZWxcbiAgICAgKiBwYXJhbWV0ZXJzIGFyZSB1cGRhdGVkIGxlc3MgZnJlcXVlbnRseSwgYnV0IHdpdGggbG93ZXIgdmFyaWFuY2UuXG4gICAgICovXG4gICAgYmF0Y2hfc2l6ZT86ICdhdXRvJyB8IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFNjYWxpbmcgZmFjdG9yIGZvciB0aGUgbGVhcm5pbmcgcmF0ZS4gQSBzbWFsbGVyIGxlYXJuaW5nIHJhdGUgbWF5IGJlIHVzZWZ1bCB0b1xuICAgICAqIGF2b2lkIG92ZXJmaXR0aW5nLlxuICAgICAqL1xuICAgIGxlYXJuaW5nX3JhdGVfbXVsdGlwbGllcj86ICdhdXRvJyB8IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBudW1iZXIgb2YgZXBvY2hzIHRvIHRyYWluIHRoZSBtb2RlbCBmb3IuIEFuIGVwb2NoIHJlZmVycyB0byBvbmUgZnVsbCBjeWNsZVxuICAgICAqIHRocm91Z2ggdGhlIHRyYWluaW5nIGRhdGFzZXQuXG4gICAgICovXG4gICAgbl9lcG9jaHM/OiAnYXV0bycgfCBudW1iZXI7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBKb2JMaXN0UGFyYW1zIGV4dGVuZHMgQ3Vyc29yUGFnZVBhcmFtcyB7fVxuXG5leHBvcnQgaW50ZXJmYWNlIEpvYkxpc3RFdmVudHNQYXJhbXMgZXh0ZW5kcyBDdXJzb3JQYWdlUGFyYW1zIHt9XG5cbmV4cG9ydCBuYW1lc3BhY2UgSm9icyB7XG4gIGV4cG9ydCBpbXBvcnQgRmluZVR1bmluZ0pvYiA9IEpvYnNBUEkuRmluZVR1bmluZ0pvYjtcbiAgZXhwb3J0IGltcG9ydCBGaW5lVHVuaW5nSm9iRXZlbnQgPSBKb2JzQVBJLkZpbmVUdW5pbmdKb2JFdmVudDtcbiAgZXhwb3J0IGltcG9ydCBGaW5lVHVuaW5nSm9ic1BhZ2UgPSBKb2JzQVBJLkZpbmVUdW5pbmdKb2JzUGFnZTtcbiAgZXhwb3J0IGltcG9ydCBGaW5lVHVuaW5nSm9iRXZlbnRzUGFnZSA9IEpvYnNBUEkuRmluZVR1bmluZ0pvYkV2ZW50c1BhZ2U7XG4gIGV4cG9ydCBpbXBvcnQgSm9iQ3JlYXRlUGFyYW1zID0gSm9ic0FQSS5Kb2JDcmVhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgSm9iTGlzdFBhcmFtcyA9IEpvYnNBUEkuSm9iTGlzdFBhcmFtcztcbiAgZXhwb3J0IGltcG9ydCBKb2JMaXN0RXZlbnRzUGFyYW1zID0gSm9ic0FQSS5Kb2JMaXN0RXZlbnRzUGFyYW1zO1xufVxuIiwgIi8vIEZpbGUgZ2VuZXJhdGVkIGZyb20gb3VyIE9wZW5BUEkgc3BlYyBieSBTdGFpbmxlc3MuXG5cbmltcG9ydCB7IEFQSVJlc291cmNlIH0gZnJvbSBcIi4uLy4uL3Jlc291cmNlXCI7XG5pbXBvcnQgKiBhcyBKb2JzQVBJIGZyb20gXCIuL2pvYnNcIjtcblxuZXhwb3J0IGNsYXNzIEZpbmVUdW5pbmcgZXh0ZW5kcyBBUElSZXNvdXJjZSB7XG4gIGpvYnM6IEpvYnNBUEkuSm9icyA9IG5ldyBKb2JzQVBJLkpvYnModGhpcy5fY2xpZW50KTtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBGaW5lVHVuaW5nIHtcbiAgZXhwb3J0IGltcG9ydCBKb2JzID0gSm9ic0FQSS5Kb2JzO1xuICBleHBvcnQgaW1wb3J0IEZpbmVUdW5pbmdKb2IgPSBKb2JzQVBJLkZpbmVUdW5pbmdKb2I7XG4gIGV4cG9ydCBpbXBvcnQgRmluZVR1bmluZ0pvYkV2ZW50ID0gSm9ic0FQSS5GaW5lVHVuaW5nSm9iRXZlbnQ7XG4gIGV4cG9ydCBpbXBvcnQgRmluZVR1bmluZ0pvYnNQYWdlID0gSm9ic0FQSS5GaW5lVHVuaW5nSm9ic1BhZ2U7XG4gIGV4cG9ydCBpbXBvcnQgRmluZVR1bmluZ0pvYkV2ZW50c1BhZ2UgPSBKb2JzQVBJLkZpbmVUdW5pbmdKb2JFdmVudHNQYWdlO1xuICBleHBvcnQgaW1wb3J0IEpvYkNyZWF0ZVBhcmFtcyA9IEpvYnNBUEkuSm9iQ3JlYXRlUGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IEpvYkxpc3RQYXJhbXMgPSBKb2JzQVBJLkpvYkxpc3RQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgSm9iTGlzdEV2ZW50c1BhcmFtcyA9IEpvYnNBUEkuSm9iTGlzdEV2ZW50c1BhcmFtcztcbn1cbiIsICIvLyBGaWxlIGdlbmVyYXRlZCBmcm9tIG91ciBPcGVuQVBJIHNwZWMgYnkgU3RhaW5sZXNzLlxuXG5pbXBvcnQgKiBhcyBDb3JlIGZyb20gXCIuLi9jb3JlXCI7XG5pbXBvcnQgeyBBUElSZXNvdXJjZSB9IGZyb20gXCIuLi9yZXNvdXJjZVwiO1xuaW1wb3J0ICogYXMgSW1hZ2VzQVBJIGZyb20gXCIuL2ltYWdlc1wiO1xuaW1wb3J0IHsgdHlwZSBVcGxvYWRhYmxlLCBtdWx0aXBhcnRGb3JtUmVxdWVzdE9wdGlvbnMgfSBmcm9tIFwiLi4vY29yZVwiO1xuXG5leHBvcnQgY2xhc3MgSW1hZ2VzIGV4dGVuZHMgQVBJUmVzb3VyY2Uge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIHZhcmlhdGlvbiBvZiBhIGdpdmVuIGltYWdlLlxuICAgKi9cbiAgY3JlYXRlVmFyaWF0aW9uKFxuICAgIGJvZHk6IEltYWdlQ3JlYXRlVmFyaWF0aW9uUGFyYW1zLFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBDb3JlLkFQSVByb21pc2U8SW1hZ2VzUmVzcG9uc2U+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LnBvc3QoJy9pbWFnZXMvdmFyaWF0aW9ucycsIG11bHRpcGFydEZvcm1SZXF1ZXN0T3B0aW9ucyh7IGJvZHksIC4uLm9wdGlvbnMgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gZWRpdGVkIG9yIGV4dGVuZGVkIGltYWdlIGdpdmVuIGFuIG9yaWdpbmFsIGltYWdlIGFuZCBhIHByb21wdC5cbiAgICovXG4gIGVkaXQoYm9keTogSW1hZ2VFZGl0UGFyYW1zLCBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyk6IENvcmUuQVBJUHJvbWlzZTxJbWFnZXNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQucG9zdCgnL2ltYWdlcy9lZGl0cycsIG11bHRpcGFydEZvcm1SZXF1ZXN0T3B0aW9ucyh7IGJvZHksIC4uLm9wdGlvbnMgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW1hZ2UgZ2l2ZW4gYSBwcm9tcHQuXG4gICAqL1xuICBnZW5lcmF0ZShib2R5OiBJbWFnZUdlbmVyYXRlUGFyYW1zLCBvcHRpb25zPzogQ29yZS5SZXF1ZXN0T3B0aW9ucyk6IENvcmUuQVBJUHJvbWlzZTxJbWFnZXNSZXNwb25zZT4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQucG9zdCgnL2ltYWdlcy9nZW5lcmF0aW9ucycsIHsgYm9keSwgLi4ub3B0aW9ucyB9KTtcbiAgfVxufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgdGhlIHVybCBvciB0aGUgY29udGVudCBvZiBhbiBpbWFnZSBnZW5lcmF0ZWQgYnkgdGhlIE9wZW5BSSBBUEkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2Uge1xuICAvKipcbiAgICogVGhlIGJhc2U2NC1lbmNvZGVkIEpTT04gb2YgdGhlIGdlbmVyYXRlZCBpbWFnZSwgaWYgYHJlc3BvbnNlX2Zvcm1hdGAgaXNcbiAgICogYGI2NF9qc29uYC5cbiAgICovXG4gIGI2NF9qc29uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJvbXB0IHRoYXQgd2FzIHVzZWQgdG8gZ2VuZXJhdGUgdGhlIGltYWdlLCBpZiB0aGVyZSB3YXMgYW55IHJldmlzaW9uIHRvIHRoZVxuICAgKiBwcm9tcHQuXG4gICAqL1xuICByZXZpc2VkX3Byb21wdD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVSTCBvZiB0aGUgZ2VuZXJhdGVkIGltYWdlLCBpZiBgcmVzcG9uc2VfZm9ybWF0YCBpcyBgdXJsYCAoZGVmYXVsdCkuXG4gICAqL1xuICB1cmw/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW1hZ2VzUmVzcG9uc2Uge1xuICBjcmVhdGVkOiBudW1iZXI7XG5cbiAgZGF0YTogQXJyYXk8SW1hZ2U+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlQ3JlYXRlVmFyaWF0aW9uUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBpbWFnZSB0byB1c2UgYXMgdGhlIGJhc2lzIGZvciB0aGUgdmFyaWF0aW9uKHMpLiBNdXN0IGJlIGEgdmFsaWQgUE5HIGZpbGUsXG4gICAqIGxlc3MgdGhhbiA0TUIsIGFuZCBzcXVhcmUuXG4gICAqL1xuICBpbWFnZTogVXBsb2FkYWJsZTtcblxuICAvKipcbiAgICogVGhlIG1vZGVsIHRvIHVzZSBmb3IgaW1hZ2UgZ2VuZXJhdGlvbi4gT25seSBgZGFsbC1lLTJgIGlzIHN1cHBvcnRlZCBhdCB0aGlzXG4gICAqIHRpbWUuXG4gICAqL1xuICBtb2RlbD86IChzdHJpbmcgJiB7fSkgfCAnZGFsbC1lLTInIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBpbWFnZXMgdG8gZ2VuZXJhdGUuIE11c3QgYmUgYmV0d2VlbiAxIGFuZCAxMC4gRm9yIGBkYWxsLWUtM2AsIG9ubHlcbiAgICogYG49MWAgaXMgc3VwcG9ydGVkLlxuICAgKi9cbiAgbj86IG51bWJlciB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBmb3JtYXQgaW4gd2hpY2ggdGhlIGdlbmVyYXRlZCBpbWFnZXMgYXJlIHJldHVybmVkLiBNdXN0IGJlIG9uZSBvZiBgdXJsYCBvclxuICAgKiBgYjY0X2pzb25gLlxuICAgKi9cbiAgcmVzcG9uc2VfZm9ybWF0PzogJ3VybCcgfCAnYjY0X2pzb24nIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIHNpemUgb2YgdGhlIGdlbmVyYXRlZCBpbWFnZXMuIE11c3QgYmUgb25lIG9mIGAyNTZ4MjU2YCwgYDUxMng1MTJgLCBvclxuICAgKiBgMTAyNHgxMDI0YC5cbiAgICovXG4gIHNpemU/OiAnMjU2eDI1NicgfCAnNTEyeDUxMicgfCAnMTAyNHgxMDI0JyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIEEgdW5pcXVlIGlkZW50aWZpZXIgcmVwcmVzZW50aW5nIHlvdXIgZW5kLXVzZXIsIHdoaWNoIGNhbiBoZWxwIE9wZW5BSSB0byBtb25pdG9yXG4gICAqIGFuZCBkZXRlY3QgYWJ1c2UuXG4gICAqIFtMZWFybiBtb3JlXShodHRwczovL3BsYXRmb3JtLm9wZW5haS5jb20vZG9jcy9ndWlkZXMvc2FmZXR5LWJlc3QtcHJhY3RpY2VzL2VuZC11c2VyLWlkcykuXG4gICAqL1xuICB1c2VyPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEltYWdlRWRpdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgaW1hZ2UgdG8gZWRpdC4gTXVzdCBiZSBhIHZhbGlkIFBORyBmaWxlLCBsZXNzIHRoYW4gNE1CLCBhbmQgc3F1YXJlLiBJZiBtYXNrXG4gICAqIGlzIG5vdCBwcm92aWRlZCwgaW1hZ2UgbXVzdCBoYXZlIHRyYW5zcGFyZW5jeSwgd2hpY2ggd2lsbCBiZSB1c2VkIGFzIHRoZSBtYXNrLlxuICAgKi9cbiAgaW1hZ2U6IFVwbG9hZGFibGU7XG5cbiAgLyoqXG4gICAqIEEgdGV4dCBkZXNjcmlwdGlvbiBvZiB0aGUgZGVzaXJlZCBpbWFnZShzKS4gVGhlIG1heGltdW0gbGVuZ3RoIGlzIDEwMDBcbiAgICogY2hhcmFjdGVycy5cbiAgICovXG4gIHByb21wdDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBbiBhZGRpdGlvbmFsIGltYWdlIHdob3NlIGZ1bGx5IHRyYW5zcGFyZW50IGFyZWFzIChlLmcuIHdoZXJlIGFscGhhIGlzIHplcm8pXG4gICAqIGluZGljYXRlIHdoZXJlIGBpbWFnZWAgc2hvdWxkIGJlIGVkaXRlZC4gTXVzdCBiZSBhIHZhbGlkIFBORyBmaWxlLCBsZXNzIHRoYW5cbiAgICogNE1CLCBhbmQgaGF2ZSB0aGUgc2FtZSBkaW1lbnNpb25zIGFzIGBpbWFnZWAuXG4gICAqL1xuICBtYXNrPzogVXBsb2FkYWJsZTtcblxuICAvKipcbiAgICogVGhlIG1vZGVsIHRvIHVzZSBmb3IgaW1hZ2UgZ2VuZXJhdGlvbi4gT25seSBgZGFsbC1lLTJgIGlzIHN1cHBvcnRlZCBhdCB0aGlzXG4gICAqIHRpbWUuXG4gICAqL1xuICBtb2RlbD86IChzdHJpbmcgJiB7fSkgfCAnZGFsbC1lLTInIHwgbnVsbDtcblxuICAvKipcbiAgICogVGhlIG51bWJlciBvZiBpbWFnZXMgdG8gZ2VuZXJhdGUuIE11c3QgYmUgYmV0d2VlbiAxIGFuZCAxMC5cbiAgICovXG4gIG4/OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgZm9ybWF0IGluIHdoaWNoIHRoZSBnZW5lcmF0ZWQgaW1hZ2VzIGFyZSByZXR1cm5lZC4gTXVzdCBiZSBvbmUgb2YgYHVybGAgb3JcbiAgICogYGI2NF9qc29uYC5cbiAgICovXG4gIHJlc3BvbnNlX2Zvcm1hdD86ICd1cmwnIHwgJ2I2NF9qc29uJyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBnZW5lcmF0ZWQgaW1hZ2VzLiBNdXN0IGJlIG9uZSBvZiBgMjU2eDI1NmAsIGA1MTJ4NTEyYCwgb3JcbiAgICogYDEwMjR4MTAyNGAuXG4gICAqL1xuICBzaXplPzogJzI1NngyNTYnIHwgJzUxMng1MTInIHwgJzEwMjR4MTAyNCcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBBIHVuaXF1ZSBpZGVudGlmaWVyIHJlcHJlc2VudGluZyB5b3VyIGVuZC11c2VyLCB3aGljaCBjYW4gaGVscCBPcGVuQUkgdG8gbW9uaXRvclxuICAgKiBhbmQgZGV0ZWN0IGFidXNlLlxuICAgKiBbTGVhcm4gbW9yZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvZ3VpZGVzL3NhZmV0eS1iZXN0LXByYWN0aWNlcy9lbmQtdXNlci1pZHMpLlxuICAgKi9cbiAgdXNlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJbWFnZUdlbmVyYXRlUGFyYW1zIHtcbiAgLyoqXG4gICAqIEEgdGV4dCBkZXNjcmlwdGlvbiBvZiB0aGUgZGVzaXJlZCBpbWFnZShzKS4gVGhlIG1heGltdW0gbGVuZ3RoIGlzIDEwMDBcbiAgICogY2hhcmFjdGVycyBmb3IgYGRhbGwtZS0yYCBhbmQgNDAwMCBjaGFyYWN0ZXJzIGZvciBgZGFsbC1lLTNgLlxuICAgKi9cbiAgcHJvbXB0OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtb2RlbCB0byB1c2UgZm9yIGltYWdlIGdlbmVyYXRpb24uXG4gICAqL1xuICBtb2RlbD86IChzdHJpbmcgJiB7fSkgfCAnZGFsbC1lLTInIHwgJ2RhbGwtZS0zJyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBudW1iZXIgb2YgaW1hZ2VzIHRvIGdlbmVyYXRlLiBNdXN0IGJlIGJldHdlZW4gMSBhbmQgMTAuIEZvciBgZGFsbC1lLTNgLCBvbmx5XG4gICAqIGBuPTFgIGlzIHN1cHBvcnRlZC5cbiAgICovXG4gIG4/OiBudW1iZXIgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgcXVhbGl0eSBvZiB0aGUgaW1hZ2UgdGhhdCB3aWxsIGJlIGdlbmVyYXRlZC4gYGhkYCBjcmVhdGVzIGltYWdlcyB3aXRoIGZpbmVyXG4gICAqIGRldGFpbHMgYW5kIGdyZWF0ZXIgY29uc2lzdGVuY3kgYWNyb3NzIHRoZSBpbWFnZS4gVGhpcyBwYXJhbSBpcyBvbmx5IHN1cHBvcnRlZFxuICAgKiBmb3IgYGRhbGwtZS0zYC5cbiAgICovXG4gIHF1YWxpdHk/OiAnc3RhbmRhcmQnIHwgJ2hkJztcblxuICAvKipcbiAgICogVGhlIGZvcm1hdCBpbiB3aGljaCB0aGUgZ2VuZXJhdGVkIGltYWdlcyBhcmUgcmV0dXJuZWQuIE11c3QgYmUgb25lIG9mIGB1cmxgIG9yXG4gICAqIGBiNjRfanNvbmAuXG4gICAqL1xuICByZXNwb25zZV9mb3JtYXQ/OiAndXJsJyB8ICdiNjRfanNvbicgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgc2l6ZSBvZiB0aGUgZ2VuZXJhdGVkIGltYWdlcy4gTXVzdCBiZSBvbmUgb2YgYDI1NngyNTZgLCBgNTEyeDUxMmAsIG9yXG4gICAqIGAxMDI0eDEwMjRgIGZvciBgZGFsbC1lLTJgLiBNdXN0IGJlIG9uZSBvZiBgMTAyNHgxMDI0YCwgYDE3OTJ4MTAyNGAsIG9yXG4gICAqIGAxMDI0eDE3OTJgIGZvciBgZGFsbC1lLTNgIG1vZGVscy5cbiAgICovXG4gIHNpemU/OiAnMjU2eDI1NicgfCAnNTEyeDUxMicgfCAnMTAyNHgxMDI0JyB8ICcxNzkyeDEwMjQnIHwgJzEwMjR4MTc5MicgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgc3R5bGUgb2YgdGhlIGdlbmVyYXRlZCBpbWFnZXMuIE11c3QgYmUgb25lIG9mIGB2aXZpZGAgb3IgYG5hdHVyYWxgLiBWaXZpZFxuICAgKiBjYXVzZXMgdGhlIG1vZGVsIHRvIGxlYW4gdG93YXJkcyBnZW5lcmF0aW5nIGh5cGVyLXJlYWwgYW5kIGRyYW1hdGljIGltYWdlcy5cbiAgICogTmF0dXJhbCBjYXVzZXMgdGhlIG1vZGVsIHRvIHByb2R1Y2UgbW9yZSBuYXR1cmFsLCBsZXNzIGh5cGVyLXJlYWwgbG9va2luZ1xuICAgKiBpbWFnZXMuIFRoaXMgcGFyYW0gaXMgb25seSBzdXBwb3J0ZWQgZm9yIGBkYWxsLWUtM2AuXG4gICAqL1xuICBzdHlsZT86ICd2aXZpZCcgfCAnbmF0dXJhbCcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBBIHVuaXF1ZSBpZGVudGlmaWVyIHJlcHJlc2VudGluZyB5b3VyIGVuZC11c2VyLCB3aGljaCBjYW4gaGVscCBPcGVuQUkgdG8gbW9uaXRvclxuICAgKiBhbmQgZGV0ZWN0IGFidXNlLlxuICAgKiBbTGVhcm4gbW9yZV0oaHR0cHM6Ly9wbGF0Zm9ybS5vcGVuYWkuY29tL2RvY3MvZ3VpZGVzL3NhZmV0eS1iZXN0LXByYWN0aWNlcy9lbmQtdXNlci1pZHMpLlxuICAgKi9cbiAgdXNlcj86IHN0cmluZztcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBJbWFnZXMge1xuICBleHBvcnQgaW1wb3J0IEltYWdlID0gSW1hZ2VzQVBJLkltYWdlO1xuICBleHBvcnQgaW1wb3J0IEltYWdlc1Jlc3BvbnNlID0gSW1hZ2VzQVBJLkltYWdlc1Jlc3BvbnNlO1xuICBleHBvcnQgaW1wb3J0IEltYWdlQ3JlYXRlVmFyaWF0aW9uUGFyYW1zID0gSW1hZ2VzQVBJLkltYWdlQ3JlYXRlVmFyaWF0aW9uUGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IEltYWdlRWRpdFBhcmFtcyA9IEltYWdlc0FQSS5JbWFnZUVkaXRQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgSW1hZ2VHZW5lcmF0ZVBhcmFtcyA9IEltYWdlc0FQSS5JbWFnZUdlbmVyYXRlUGFyYW1zO1xufVxuIiwgIi8vIEZpbGUgZ2VuZXJhdGVkIGZyb20gb3VyIE9wZW5BUEkgc3BlYyBieSBTdGFpbmxlc3MuXG5cbmltcG9ydCAqIGFzIENvcmUgZnJvbSBcIi4uL2NvcmVcIjtcbmltcG9ydCB7IEFQSVJlc291cmNlIH0gZnJvbSBcIi4uL3Jlc291cmNlXCI7XG5pbXBvcnQgKiBhcyBNb2RlbHNBUEkgZnJvbSBcIi4vbW9kZWxzXCI7XG5pbXBvcnQgeyBQYWdlIH0gZnJvbSBcIi4uL3BhZ2luYXRpb25cIjtcblxuZXhwb3J0IGNsYXNzIE1vZGVscyBleHRlbmRzIEFQSVJlc291cmNlIHtcbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIG1vZGVsIGluc3RhbmNlLCBwcm92aWRpbmcgYmFzaWMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIG1vZGVsIHN1Y2ggYXNcbiAgICogdGhlIG93bmVyIGFuZCBwZXJtaXNzaW9uaW5nLlxuICAgKi9cbiAgcmV0cmlldmUobW9kZWw6IHN0cmluZywgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLkFQSVByb21pc2U8TW9kZWw+IHtcbiAgICByZXR1cm4gdGhpcy5fY2xpZW50LmdldChgL21vZGVscy8ke21vZGVsfWAsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIExpc3RzIHRoZSBjdXJyZW50bHkgYXZhaWxhYmxlIG1vZGVscywgYW5kIHByb3ZpZGVzIGJhc2ljIGluZm9ybWF0aW9uIGFib3V0IGVhY2hcbiAgICogb25lIHN1Y2ggYXMgdGhlIG93bmVyIGFuZCBhdmFpbGFiaWxpdHkuXG4gICAqL1xuICBsaXN0KG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zKTogQ29yZS5QYWdlUHJvbWlzZTxNb2RlbHNQYWdlLCBNb2RlbD4ge1xuICAgIHJldHVybiB0aGlzLl9jbGllbnQuZ2V0QVBJTGlzdCgnL21vZGVscycsIE1vZGVsc1BhZ2UsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZSBhIGZpbmUtdHVuZWQgbW9kZWwuIFlvdSBtdXN0IGhhdmUgdGhlIE93bmVyIHJvbGUgaW4geW91ciBvcmdhbml6YXRpb24gdG9cbiAgICogZGVsZXRlIGEgbW9kZWwuXG4gICAqL1xuICBkZWwobW9kZWw6IHN0cmluZywgb3B0aW9ucz86IENvcmUuUmVxdWVzdE9wdGlvbnMpOiBDb3JlLkFQSVByb21pc2U8TW9kZWxEZWxldGVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5kZWxldGUoYC9tb2RlbHMvJHttb2RlbH1gLCBvcHRpb25zKTtcbiAgfVxufVxuXG4vKipcbiAqIE5vdGU6IG5vIHBhZ2luYXRpb24gYWN0dWFsbHkgb2NjdXJzIHlldCwgdGhpcyBpcyBmb3IgZm9yd2FyZHMtY29tcGF0aWJpbGl0eS5cbiAqL1xuZXhwb3J0IGNsYXNzIE1vZGVsc1BhZ2UgZXh0ZW5kcyBQYWdlPE1vZGVsPiB7fVxuXG4vKipcbiAqIERlc2NyaWJlcyBhbiBPcGVuQUkgbW9kZWwgb2ZmZXJpbmcgdGhhdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSBBUEkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWwge1xuICAvKipcbiAgICogVGhlIG1vZGVsIGlkZW50aWZpZXIsIHdoaWNoIGNhbiBiZSByZWZlcmVuY2VkIGluIHRoZSBBUEkgZW5kcG9pbnRzLlxuICAgKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIFVuaXggdGltZXN0YW1wIChpbiBzZWNvbmRzKSB3aGVuIHRoZSBtb2RlbCB3YXMgY3JlYXRlZC5cbiAgICovXG4gIGNyZWF0ZWQ6IG51bWJlcjtcblxuICAvKipcbiAgICogVGhlIG9iamVjdCB0eXBlLCB3aGljaCBpcyBhbHdheXMgXCJtb2RlbFwiLlxuICAgKi9cbiAgb2JqZWN0OiAnbW9kZWwnO1xuXG4gIC8qKlxuICAgKiBUaGUgb3JnYW5pemF0aW9uIHRoYXQgb3ducyB0aGUgbW9kZWwuXG4gICAqL1xuICBvd25lZF9ieTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1vZGVsRGVsZXRlZCB7XG4gIGlkOiBzdHJpbmc7XG5cbiAgZGVsZXRlZDogYm9vbGVhbjtcblxuICBvYmplY3Q6IHN0cmluZztcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBNb2RlbHMge1xuICBleHBvcnQgaW1wb3J0IE1vZGVsID0gTW9kZWxzQVBJLk1vZGVsO1xuICBleHBvcnQgaW1wb3J0IE1vZGVsRGVsZXRlZCA9IE1vZGVsc0FQSS5Nb2RlbERlbGV0ZWQ7XG4gIGV4cG9ydCBpbXBvcnQgTW9kZWxzUGFnZSA9IE1vZGVsc0FQSS5Nb2RlbHNQYWdlO1xufVxuIiwgIi8vIEZpbGUgZ2VuZXJhdGVkIGZyb20gb3VyIE9wZW5BUEkgc3BlYyBieSBTdGFpbmxlc3MuXG5cbmltcG9ydCAqIGFzIENvcmUgZnJvbSBcIi4uL2NvcmVcIjtcbmltcG9ydCB7IEFQSVJlc291cmNlIH0gZnJvbSBcIi4uL3Jlc291cmNlXCI7XG5pbXBvcnQgKiBhcyBNb2RlcmF0aW9uc0FQSSBmcm9tIFwiLi9tb2RlcmF0aW9uc1wiO1xuXG5leHBvcnQgY2xhc3MgTW9kZXJhdGlvbnMgZXh0ZW5kcyBBUElSZXNvdXJjZSB7XG4gIC8qKlxuICAgKiBDbGFzc2lmaWVzIGlmIHRleHQgdmlvbGF0ZXMgT3BlbkFJJ3MgQ29udGVudCBQb2xpY3lcbiAgICovXG4gIGNyZWF0ZShcbiAgICBib2R5OiBNb2RlcmF0aW9uQ3JlYXRlUGFyYW1zLFxuICAgIG9wdGlvbnM/OiBDb3JlLlJlcXVlc3RPcHRpb25zLFxuICApOiBDb3JlLkFQSVByb21pc2U8TW9kZXJhdGlvbkNyZWF0ZVJlc3BvbnNlPiB7XG4gICAgcmV0dXJuIHRoaXMuX2NsaWVudC5wb3N0KCcvbW9kZXJhdGlvbnMnLCB7IGJvZHksIC4uLm9wdGlvbnMgfSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBNb2RlcmF0aW9uIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiB0aGUgY2F0ZWdvcmllcywgYW5kIHdoZXRoZXIgdGhleSBhcmUgZmxhZ2dlZCBvciBub3QuXG4gICAqL1xuICBjYXRlZ29yaWVzOiBNb2RlcmF0aW9uLkNhdGVnb3JpZXM7XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiB0aGUgY2F0ZWdvcmllcyBhbG9uZyB3aXRoIHRoZWlyIHNjb3JlcyBhcyBwcmVkaWN0ZWQgYnkgbW9kZWwuXG4gICAqL1xuICBjYXRlZ29yeV9zY29yZXM6IE1vZGVyYXRpb24uQ2F0ZWdvcnlTY29yZXM7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhlIGNvbnRlbnQgdmlvbGF0ZXNcbiAgICogW09wZW5BSSdzIHVzYWdlIHBvbGljaWVzXSgvcG9saWNpZXMvdXNhZ2UtcG9saWNpZXMpLlxuICAgKi9cbiAgZmxhZ2dlZDogYm9vbGVhbjtcbn1cblxuZXhwb3J0IG5hbWVzcGFjZSBNb2RlcmF0aW9uIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiB0aGUgY2F0ZWdvcmllcywgYW5kIHdoZXRoZXIgdGhleSBhcmUgZmxhZ2dlZCBvciBub3QuXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIENhdGVnb3JpZXMge1xuICAgIC8qKlxuICAgICAqIENvbnRlbnQgdGhhdCBleHByZXNzZXMsIGluY2l0ZXMsIG9yIHByb21vdGVzIGhhcmFzc2luZyBsYW5ndWFnZSB0b3dhcmRzIGFueVxuICAgICAqIHRhcmdldC5cbiAgICAgKi9cbiAgICBoYXJhc3NtZW50OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogSGFyYXNzbWVudCBjb250ZW50IHRoYXQgYWxzbyBpbmNsdWRlcyB2aW9sZW5jZSBvciBzZXJpb3VzIGhhcm0gdG93YXJkcyBhbnlcbiAgICAgKiB0YXJnZXQuXG4gICAgICovXG4gICAgJ2hhcmFzc21lbnQvdGhyZWF0ZW5pbmcnOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQ29udGVudCB0aGF0IGV4cHJlc3NlcywgaW5jaXRlcywgb3IgcHJvbW90ZXMgaGF0ZSBiYXNlZCBvbiByYWNlLCBnZW5kZXIsXG4gICAgICogZXRobmljaXR5LCByZWxpZ2lvbiwgbmF0aW9uYWxpdHksIHNleHVhbCBvcmllbnRhdGlvbiwgZGlzYWJpbGl0eSBzdGF0dXMsIG9yXG4gICAgICogY2FzdGUuIEhhdGVmdWwgY29udGVudCBhaW1lZCBhdCBub24tcHJvdGVjdGVkIGdyb3VwcyAoZS5nLiwgY2hlc3MgcGxheWVycykgaXNcbiAgICAgKiBoYXJyYXNzbWVudC5cbiAgICAgKi9cbiAgICBoYXRlOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogSGF0ZWZ1bCBjb250ZW50IHRoYXQgYWxzbyBpbmNsdWRlcyB2aW9sZW5jZSBvciBzZXJpb3VzIGhhcm0gdG93YXJkcyB0aGUgdGFyZ2V0ZWRcbiAgICAgKiBncm91cCBiYXNlZCBvbiByYWNlLCBnZW5kZXIsIGV0aG5pY2l0eSwgcmVsaWdpb24sIG5hdGlvbmFsaXR5LCBzZXh1YWxcbiAgICAgKiBvcmllbnRhdGlvbiwgZGlzYWJpbGl0eSBzdGF0dXMsIG9yIGNhc3RlLlxuICAgICAqL1xuICAgICdoYXRlL3RocmVhdGVuaW5nJzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIENvbnRlbnQgdGhhdCBwcm9tb3RlcywgZW5jb3VyYWdlcywgb3IgZGVwaWN0cyBhY3RzIG9mIHNlbGYtaGFybSwgc3VjaCBhc1xuICAgICAqIHN1aWNpZGUsIGN1dHRpbmcsIGFuZCBlYXRpbmcgZGlzb3JkZXJzLlxuICAgICAqL1xuICAgICdzZWxmLWhhcm0nOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQ29udGVudCB0aGF0IGVuY291cmFnZXMgcGVyZm9ybWluZyBhY3RzIG9mIHNlbGYtaGFybSwgc3VjaCBhcyBzdWljaWRlLCBjdXR0aW5nLFxuICAgICAqIGFuZCBlYXRpbmcgZGlzb3JkZXJzLCBvciB0aGF0IGdpdmVzIGluc3RydWN0aW9ucyBvciBhZHZpY2Ugb24gaG93IHRvIGNvbW1pdCBzdWNoXG4gICAgICogYWN0cy5cbiAgICAgKi9cbiAgICAnc2VsZi1oYXJtL2luc3RydWN0aW9ucyc6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBDb250ZW50IHdoZXJlIHRoZSBzcGVha2VyIGV4cHJlc3NlcyB0aGF0IHRoZXkgYXJlIGVuZ2FnaW5nIG9yIGludGVuZCB0byBlbmdhZ2VcbiAgICAgKiBpbiBhY3RzIG9mIHNlbGYtaGFybSwgc3VjaCBhcyBzdWljaWRlLCBjdXR0aW5nLCBhbmQgZWF0aW5nIGRpc29yZGVycy5cbiAgICAgKi9cbiAgICAnc2VsZi1oYXJtL2ludGVudCc6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBDb250ZW50IG1lYW50IHRvIGFyb3VzZSBzZXh1YWwgZXhjaXRlbWVudCwgc3VjaCBhcyB0aGUgZGVzY3JpcHRpb24gb2Ygc2V4dWFsXG4gICAgICogYWN0aXZpdHksIG9yIHRoYXQgcHJvbW90ZXMgc2V4dWFsIHNlcnZpY2VzIChleGNsdWRpbmcgc2V4IGVkdWNhdGlvbiBhbmRcbiAgICAgKiB3ZWxsbmVzcykuXG4gICAgICovXG4gICAgc2V4dWFsOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogU2V4dWFsIGNvbnRlbnQgdGhhdCBpbmNsdWRlcyBhbiBpbmRpdmlkdWFsIHdobyBpcyB1bmRlciAxOCB5ZWFycyBvbGQuXG4gICAgICovXG4gICAgJ3NleHVhbC9taW5vcnMnOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQ29udGVudCB0aGF0IGRlcGljdHMgZGVhdGgsIHZpb2xlbmNlLCBvciBwaHlzaWNhbCBpbmp1cnkuXG4gICAgICovXG4gICAgdmlvbGVuY2U6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBDb250ZW50IHRoYXQgZGVwaWN0cyBkZWF0aCwgdmlvbGVuY2UsIG9yIHBoeXNpY2FsIGluanVyeSBpbiBncmFwaGljIGRldGFpbC5cbiAgICAgKi9cbiAgICAndmlvbGVuY2UvZ3JhcGhpYyc6IGJvb2xlYW47XG4gIH1cblxuICAvKipcbiAgICogQSBsaXN0IG9mIHRoZSBjYXRlZ29yaWVzIGFsb25nIHdpdGggdGhlaXIgc2NvcmVzIGFzIHByZWRpY3RlZCBieSBtb2RlbC5cbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgQ2F0ZWdvcnlTY29yZXMge1xuICAgIC8qKlxuICAgICAqIFRoZSBzY29yZSBmb3IgdGhlIGNhdGVnb3J5ICdoYXJhc3NtZW50Jy5cbiAgICAgKi9cbiAgICBoYXJhc3NtZW50OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc2NvcmUgZm9yIHRoZSBjYXRlZ29yeSAnaGFyYXNzbWVudC90aHJlYXRlbmluZycuXG4gICAgICovXG4gICAgJ2hhcmFzc21lbnQvdGhyZWF0ZW5pbmcnOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBUaGUgc2NvcmUgZm9yIHRoZSBjYXRlZ29yeSAnaGF0ZScuXG4gICAgICovXG4gICAgaGF0ZTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNjb3JlIGZvciB0aGUgY2F0ZWdvcnkgJ2hhdGUvdGhyZWF0ZW5pbmcnLlxuICAgICAqL1xuICAgICdoYXRlL3RocmVhdGVuaW5nJzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNjb3JlIGZvciB0aGUgY2F0ZWdvcnkgJ3NlbGYtaGFybScuXG4gICAgICovXG4gICAgJ3NlbGYtaGFybSc6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBzY29yZSBmb3IgdGhlIGNhdGVnb3J5ICdzZWxmLWhhcm0vaW5zdHJ1Y3Rpb25zJy5cbiAgICAgKi9cbiAgICAnc2VsZi1oYXJtL2luc3RydWN0aW9ucyc6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBzY29yZSBmb3IgdGhlIGNhdGVnb3J5ICdzZWxmLWhhcm0vaW50ZW50Jy5cbiAgICAgKi9cbiAgICAnc2VsZi1oYXJtL2ludGVudCc6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFRoZSBzY29yZSBmb3IgdGhlIGNhdGVnb3J5ICdzZXh1YWwnLlxuICAgICAqL1xuICAgIHNleHVhbDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNjb3JlIGZvciB0aGUgY2F0ZWdvcnkgJ3NleHVhbC9taW5vcnMnLlxuICAgICAqL1xuICAgICdzZXh1YWwvbWlub3JzJzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNjb3JlIGZvciB0aGUgY2F0ZWdvcnkgJ3Zpb2xlbmNlJy5cbiAgICAgKi9cbiAgICB2aW9sZW5jZTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogVGhlIHNjb3JlIGZvciB0aGUgY2F0ZWdvcnkgJ3Zpb2xlbmNlL2dyYXBoaWMnLlxuICAgICAqL1xuICAgICd2aW9sZW5jZS9ncmFwaGljJzogbnVtYmVyO1xuICB9XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBwb2xpY3kgY29tcGxpYW5jZSByZXBvcnQgYnkgT3BlbkFJJ3MgY29udGVudCBtb2RlcmF0aW9uIG1vZGVsIGFnYWluc3RcbiAqIGEgZ2l2ZW4gaW5wdXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZXJhdGlvbkNyZWF0ZVJlc3BvbnNlIHtcbiAgLyoqXG4gICAqIFRoZSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIG1vZGVyYXRpb24gcmVxdWVzdC5cbiAgICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtb2RlbCB1c2VkIHRvIGdlbmVyYXRlIHRoZSBtb2RlcmF0aW9uIHJlc3VsdHMuXG4gICAqL1xuICBtb2RlbDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgbW9kZXJhdGlvbiBvYmplY3RzLlxuICAgKi9cbiAgcmVzdWx0czogQXJyYXk8TW9kZXJhdGlvbj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZXJhdGlvbkNyZWF0ZVBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgaW5wdXQgdGV4dCB0byBjbGFzc2lmeVxuICAgKi9cbiAgaW5wdXQ6IHN0cmluZyB8IEFycmF5PHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFR3byBjb250ZW50IG1vZGVyYXRpb25zIG1vZGVscyBhcmUgYXZhaWxhYmxlOiBgdGV4dC1tb2RlcmF0aW9uLXN0YWJsZWAgYW5kXG4gICAqIGB0ZXh0LW1vZGVyYXRpb24tbGF0ZXN0YC5cbiAgICpcbiAgICogVGhlIGRlZmF1bHQgaXMgYHRleHQtbW9kZXJhdGlvbi1sYXRlc3RgIHdoaWNoIHdpbGwgYmUgYXV0b21hdGljYWxseSB1cGdyYWRlZFxuICAgKiBvdmVyIHRpbWUuIFRoaXMgZW5zdXJlcyB5b3UgYXJlIGFsd2F5cyB1c2luZyBvdXIgbW9zdCBhY2N1cmF0ZSBtb2RlbC4gSWYgeW91IHVzZVxuICAgKiBgdGV4dC1tb2RlcmF0aW9uLXN0YWJsZWAsIHdlIHdpbGwgcHJvdmlkZSBhZHZhbmNlZCBub3RpY2UgYmVmb3JlIHVwZGF0aW5nIHRoZVxuICAgKiBtb2RlbC4gQWNjdXJhY3kgb2YgYHRleHQtbW9kZXJhdGlvbi1zdGFibGVgIG1heSBiZSBzbGlnaHRseSBsb3dlciB0aGFuIGZvclxuICAgKiBgdGV4dC1tb2RlcmF0aW9uLWxhdGVzdGAuXG4gICAqL1xuICBtb2RlbD86IChzdHJpbmcgJiB7fSkgfCAndGV4dC1tb2RlcmF0aW9uLWxhdGVzdCcgfCAndGV4dC1tb2RlcmF0aW9uLXN0YWJsZSc7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgTW9kZXJhdGlvbnMge1xuICBleHBvcnQgaW1wb3J0IE1vZGVyYXRpb24gPSBNb2RlcmF0aW9uc0FQSS5Nb2RlcmF0aW9uO1xuICBleHBvcnQgaW1wb3J0IE1vZGVyYXRpb25DcmVhdGVSZXNwb25zZSA9IE1vZGVyYXRpb25zQVBJLk1vZGVyYXRpb25DcmVhdGVSZXNwb25zZTtcbiAgZXhwb3J0IGltcG9ydCBNb2RlcmF0aW9uQ3JlYXRlUGFyYW1zID0gTW9kZXJhdGlvbnNBUEkuTW9kZXJhdGlvbkNyZWF0ZVBhcmFtcztcbn1cbiIsICIvLyBGaWxlIGdlbmVyYXRlZCBmcm9tIG91ciBPcGVuQVBJIHNwZWMgYnkgU3RhaW5sZXNzLlxuXG5pbXBvcnQgKiBhcyBDb3JlIGZyb20gJy4vY29yZSc7XG5pbXBvcnQgKiBhcyBQYWdpbmF0aW9uIGZyb20gJy4vcGFnaW5hdGlvbic7XG5pbXBvcnQgKiBhcyBFcnJvcnMgZnJvbSAnLi9lcnJvcic7XG5pbXBvcnQgeyB0eXBlIEFnZW50IH0gZnJvbSAnLi9fc2hpbXMvaW5kZXgnO1xuaW1wb3J0ICogYXMgVXBsb2FkcyBmcm9tICcuL3VwbG9hZHMnO1xuaW1wb3J0ICogYXMgQVBJIGZyb20gXCIuL3Jlc291cmNlcy9pbmRleFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENsaWVudE9wdGlvbnMge1xuICAvKipcbiAgICogRGVmYXVsdHMgdG8gcHJvY2Vzcy5lbnZbJ09QRU5BSV9BUElfS0VZJ10uXG4gICAqL1xuICBhcGlLZXk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIERlZmF1bHRzIHRvIHByb2Nlc3MuZW52WydPUEVOQUlfT1JHX0lEJ10uXG4gICAqL1xuICBvcmdhbml6YXRpb24/OiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBPdmVycmlkZSB0aGUgZGVmYXVsdCBiYXNlIFVSTCBmb3IgdGhlIEFQSSwgZS5nLiwgXCJodHRwczovL2FwaS5leGFtcGxlLmNvbS92Mi9cIlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byBwcm9jZXNzLmVudlsnT1BFTkFJX0JBU0VfVVJMJ10uXG4gICAqL1xuICBiYXNlVVJMPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIG1heGltdW0gYW1vdW50IG9mIHRpbWUgKGluIG1pbGxpc2Vjb25kcykgdGhhdCB0aGUgY2xpZW50IHNob3VsZCB3YWl0IGZvciBhIHJlc3BvbnNlXG4gICAqIGZyb20gdGhlIHNlcnZlciBiZWZvcmUgdGltaW5nIG91dCBhIHNpbmdsZSByZXF1ZXN0LlxuICAgKlxuICAgKiBOb3RlIHRoYXQgcmVxdWVzdCB0aW1lb3V0cyBhcmUgcmV0cmllZCBieSBkZWZhdWx0LCBzbyBpbiBhIHdvcnN0LWNhc2Ugc2NlbmFyaW8geW91IG1heSB3YWl0XG4gICAqIG11Y2ggbG9uZ2VyIHRoYW4gdGhpcyB0aW1lb3V0IGJlZm9yZSB0aGUgcHJvbWlzZSBzdWNjZWVkcyBvciBmYWlscy5cbiAgICovXG4gIHRpbWVvdXQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEFuIEhUVFAgYWdlbnQgdXNlZCB0byBtYW5hZ2UgSFRUUChTKSBjb25uZWN0aW9ucy5cbiAgICpcbiAgICogSWYgbm90IHByb3ZpZGVkLCBhbiBhZ2VudCB3aWxsIGJlIGNvbnN0cnVjdGVkIGJ5IGRlZmF1bHQgaW4gdGhlIE5vZGUuanMgZW52aXJvbm1lbnQsXG4gICAqIG90aGVyd2lzZSBubyBhZ2VudCBpcyB1c2VkLlxuICAgKi9cbiAgaHR0cEFnZW50PzogQWdlbnQ7XG5cbiAgLyoqXG4gICAqIFNwZWNpZnkgYSBjdXN0b20gYGZldGNoYCBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbi5cbiAgICpcbiAgICogSWYgbm90IHByb3ZpZGVkLCB3ZSB1c2UgYG5vZGUtZmV0Y2hgIG9uIE5vZGUuanMgYW5kIG90aGVyd2lzZSBleHBlY3QgdGhhdCBgZmV0Y2hgIGlzXG4gICAqIGRlZmluZWQgZ2xvYmFsbHkuXG4gICAqL1xuICBmZXRjaD86IENvcmUuRmV0Y2ggfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiB0aW1lcyB0aGF0IHRoZSBjbGllbnQgd2lsbCByZXRyeSBhIHJlcXVlc3QgaW4gY2FzZSBvZiBhXG4gICAqIHRlbXBvcmFyeSBmYWlsdXJlLCBsaWtlIGEgbmV0d29yayBlcnJvciBvciBhIDVYWCBlcnJvciBmcm9tIHRoZSBzZXJ2ZXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IDJcbiAgICovXG4gIG1heFJldHJpZXM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIERlZmF1bHQgaGVhZGVycyB0byBpbmNsdWRlIHdpdGggZXZlcnkgcmVxdWVzdCB0byB0aGUgQVBJLlxuICAgKlxuICAgKiBUaGVzZSBjYW4gYmUgcmVtb3ZlZCBpbiBpbmRpdmlkdWFsIHJlcXVlc3RzIGJ5IGV4cGxpY2l0bHkgc2V0dGluZyB0aGVcbiAgICogaGVhZGVyIHRvIGB1bmRlZmluZWRgIG9yIGBudWxsYCBpbiByZXF1ZXN0IG9wdGlvbnMuXG4gICAqL1xuICBkZWZhdWx0SGVhZGVycz86IENvcmUuSGVhZGVycztcblxuICAvKipcbiAgICogRGVmYXVsdCBxdWVyeSBwYXJhbWV0ZXJzIHRvIGluY2x1ZGUgd2l0aCBldmVyeSByZXF1ZXN0IHRvIHRoZSBBUEkuXG4gICAqXG4gICAqIFRoZXNlIGNhbiBiZSByZW1vdmVkIGluIGluZGl2aWR1YWwgcmVxdWVzdHMgYnkgZXhwbGljaXRseSBzZXR0aW5nIHRoZVxuICAgKiBwYXJhbSB0byBgdW5kZWZpbmVkYCBpbiByZXF1ZXN0IG9wdGlvbnMuXG4gICAqL1xuICBkZWZhdWx0UXVlcnk/OiBDb3JlLkRlZmF1bHRRdWVyeTtcblxuICAvKipcbiAgICogQnkgZGVmYXVsdCwgY2xpZW50LXNpZGUgdXNlIG9mIHRoaXMgbGlicmFyeSBpcyBub3QgYWxsb3dlZCwgYXMgaXQgcmlza3MgZXhwb3NpbmcgeW91ciBzZWNyZXQgQVBJIGNyZWRlbnRpYWxzIHRvIGF0dGFja2Vycy5cbiAgICogT25seSBzZXQgdGhpcyBvcHRpb24gdG8gYHRydWVgIGlmIHlvdSB1bmRlcnN0YW5kIHRoZSByaXNrcyBhbmQgaGF2ZSBhcHByb3ByaWF0ZSBtaXRpZ2F0aW9ucyBpbiBwbGFjZS5cbiAgICovXG4gIGRhbmdlcm91c2x5QWxsb3dCcm93c2VyPzogYm9vbGVhbjtcbn1cblxuLyoqIEFQSSBDbGllbnQgZm9yIGludGVyZmFjaW5nIHdpdGggdGhlIE9wZW5BSSBBUEkuICovXG5leHBvcnQgY2xhc3MgT3BlbkFJIGV4dGVuZHMgQ29yZS5BUElDbGllbnQge1xuICBhcGlLZXk6IHN0cmluZztcbiAgb3JnYW5pemF0aW9uOiBzdHJpbmcgfCBudWxsO1xuXG4gIHByaXZhdGUgX29wdGlvbnM6IENsaWVudE9wdGlvbnM7XG5cbiAgLyoqXG4gICAqIEFQSSBDbGllbnQgZm9yIGludGVyZmFjaW5nIHdpdGggdGhlIE9wZW5BSSBBUEkuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5hcGlLZXk9cHJvY2Vzcy5lbnZbJ09QRU5BSV9BUElfS0VZJ10gPz8gdW5kZWZpbmVkXVxuICAgKiBAcGFyYW0ge3N0cmluZyB8IG51bGx9IFtvcHRzLm9yZ2FuaXphdGlvbj1wcm9jZXNzLmVudlsnT1BFTkFJX09SR19JRCddID8/IG51bGxdXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbb3B0cy5iYXNlVVJMPXByb2Nlc3MuZW52WydPUEVOQUlfQkFTRV9VUkwnXSA/PyBodHRwczovL2FwaS5vcGVuYWkuY29tL3YxXSAtIE92ZXJyaWRlIHRoZSBkZWZhdWx0IGJhc2UgVVJMIGZvciB0aGUgQVBJLlxuICAgKiBAcGFyYW0ge251bWJlcn0gW29wdHMudGltZW91dD0xMCBtaW51dGVzXSAtIFRoZSBtYXhpbXVtIGFtb3VudCBvZiB0aW1lIChpbiBtaWxsaXNlY29uZHMpIHRoZSBjbGllbnQgd2lsbCB3YWl0IGZvciBhIHJlc3BvbnNlIGJlZm9yZSB0aW1pbmcgb3V0LlxuICAgKiBAcGFyYW0ge251bWJlcn0gW29wdHMuaHR0cEFnZW50XSAtIEFuIEhUVFAgYWdlbnQgdXNlZCB0byBtYW5hZ2UgSFRUUChzKSBjb25uZWN0aW9ucy5cbiAgICogQHBhcmFtIHtDb3JlLkZldGNofSBbb3B0cy5mZXRjaF0gLSBTcGVjaWZ5IGEgY3VzdG9tIGBmZXRjaGAgZnVuY3Rpb24gaW1wbGVtZW50YXRpb24uXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbb3B0cy5tYXhSZXRyaWVzPTJdIC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHRoZSBjbGllbnQgd2lsbCByZXRyeSBhIHJlcXVlc3QuXG4gICAqIEBwYXJhbSB7Q29yZS5IZWFkZXJzfSBvcHRzLmRlZmF1bHRIZWFkZXJzIC0gRGVmYXVsdCBoZWFkZXJzIHRvIGluY2x1ZGUgd2l0aCBldmVyeSByZXF1ZXN0IHRvIHRoZSBBUEkuXG4gICAqIEBwYXJhbSB7Q29yZS5EZWZhdWx0UXVlcnl9IG9wdHMuZGVmYXVsdFF1ZXJ5IC0gRGVmYXVsdCBxdWVyeSBwYXJhbWV0ZXJzIHRvIGluY2x1ZGUgd2l0aCBldmVyeSByZXF1ZXN0IHRvIHRoZSBBUEkuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gW29wdHMuZGFuZ2Vyb3VzbHlBbGxvd0Jyb3dzZXI9ZmFsc2VdIC0gQnkgZGVmYXVsdCwgY2xpZW50LXNpZGUgdXNlIG9mIHRoaXMgbGlicmFyeSBpcyBub3QgYWxsb3dlZCwgYXMgaXQgcmlza3MgZXhwb3NpbmcgeW91ciBzZWNyZXQgQVBJIGNyZWRlbnRpYWxzIHRvIGF0dGFja2Vycy5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHtcbiAgICBiYXNlVVJMID0gQ29yZS5yZWFkRW52KCdPUEVOQUlfQkFTRV9VUkwnKSxcbiAgICBhcGlLZXkgPSBDb3JlLnJlYWRFbnYoJ09QRU5BSV9BUElfS0VZJyksXG4gICAgb3JnYW5pemF0aW9uID0gQ29yZS5yZWFkRW52KCdPUEVOQUlfT1JHX0lEJykgPz8gbnVsbCxcbiAgICAuLi5vcHRzXG4gIH06IENsaWVudE9wdGlvbnMgPSB7fSkge1xuICAgIGlmIChhcGlLZXkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9ycy5PcGVuQUlFcnJvcihcbiAgICAgICAgXCJUaGUgT1BFTkFJX0FQSV9LRVkgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgbWlzc2luZyBvciBlbXB0eTsgZWl0aGVyIHByb3ZpZGUgaXQsIG9yIGluc3RhbnRpYXRlIHRoZSBPcGVuQUkgY2xpZW50IHdpdGggYW4gYXBpS2V5IG9wdGlvbiwgbGlrZSBuZXcgT3BlbkFJKHsgYXBpS2V5OiAnTXkgQVBJIEtleScgfSkuXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IG9wdGlvbnM6IENsaWVudE9wdGlvbnMgPSB7XG4gICAgICBhcGlLZXksXG4gICAgICBvcmdhbml6YXRpb24sXG4gICAgICAuLi5vcHRzLFxuICAgICAgYmFzZVVSTDogYmFzZVVSTCA/PyBgaHR0cHM6Ly9hcGkub3BlbmFpLmNvbS92MWAsXG4gICAgfTtcblxuICAgIGlmICghb3B0aW9ucy5kYW5nZXJvdXNseUFsbG93QnJvd3NlciAmJiBDb3JlLmlzUnVubmluZ0luQnJvd3NlcigpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3JzLk9wZW5BSUVycm9yKFxuICAgICAgICBcIkl0IGxvb2tzIGxpa2UgeW91J3JlIHJ1bm5pbmcgaW4gYSBicm93c2VyLWxpa2UgZW52aXJvbm1lbnQuXFxuXFxuVGhpcyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0LCBhcyBpdCByaXNrcyBleHBvc2luZyB5b3VyIHNlY3JldCBBUEkgY3JlZGVudGlhbHMgdG8gYXR0YWNrZXJzLlxcbklmIHlvdSB1bmRlcnN0YW5kIHRoZSByaXNrcyBhbmQgaGF2ZSBhcHByb3ByaWF0ZSBtaXRpZ2F0aW9ucyBpbiBwbGFjZSxcXG55b3UgY2FuIHNldCB0aGUgYGRhbmdlcm91c2x5QWxsb3dCcm93c2VyYCBvcHRpb24gdG8gYHRydWVgLCBlLmcuLFxcblxcbm5ldyBPcGVuQUkoeyBhcGlLZXksIGRhbmdlcm91c2x5QWxsb3dCcm93c2VyOiB0cnVlIH0pO1xcblxcbmh0dHBzOi8vaGVscC5vcGVuYWkuY29tL2VuL2FydGljbGVzLzUxMTI1OTUtYmVzdC1wcmFjdGljZXMtZm9yLWFwaS1rZXktc2FmZXR5XFxuXCIsXG4gICAgICApO1xuICAgIH1cblxuICAgIHN1cGVyKHtcbiAgICAgIGJhc2VVUkw6IG9wdGlvbnMuYmFzZVVSTCEsXG4gICAgICB0aW1lb3V0OiBvcHRpb25zLnRpbWVvdXQgPz8gNjAwMDAwIC8qIDEwIG1pbnV0ZXMgKi8sXG4gICAgICBodHRwQWdlbnQ6IG9wdGlvbnMuaHR0cEFnZW50LFxuICAgICAgbWF4UmV0cmllczogb3B0aW9ucy5tYXhSZXRyaWVzLFxuICAgICAgZmV0Y2g6IG9wdGlvbnMuZmV0Y2gsXG4gICAgfSk7XG4gICAgdGhpcy5fb3B0aW9ucyA9IG9wdGlvbnM7XG5cbiAgICB0aGlzLmFwaUtleSA9IGFwaUtleTtcbiAgICB0aGlzLm9yZ2FuaXphdGlvbiA9IG9yZ2FuaXphdGlvbjtcbiAgfVxuXG4gIGNvbXBsZXRpb25zOiBBUEkuQ29tcGxldGlvbnMgPSBuZXcgQVBJLkNvbXBsZXRpb25zKHRoaXMpO1xuICBjaGF0OiBBUEkuQ2hhdCA9IG5ldyBBUEkuQ2hhdCh0aGlzKTtcbiAgZWRpdHM6IEFQSS5FZGl0cyA9IG5ldyBBUEkuRWRpdHModGhpcyk7XG4gIGVtYmVkZGluZ3M6IEFQSS5FbWJlZGRpbmdzID0gbmV3IEFQSS5FbWJlZGRpbmdzKHRoaXMpO1xuICBmaWxlczogQVBJLkZpbGVzID0gbmV3IEFQSS5GaWxlcyh0aGlzKTtcbiAgaW1hZ2VzOiBBUEkuSW1hZ2VzID0gbmV3IEFQSS5JbWFnZXModGhpcyk7XG4gIGF1ZGlvOiBBUEkuQXVkaW8gPSBuZXcgQVBJLkF1ZGlvKHRoaXMpO1xuICBtb2RlcmF0aW9uczogQVBJLk1vZGVyYXRpb25zID0gbmV3IEFQSS5Nb2RlcmF0aW9ucyh0aGlzKTtcbiAgbW9kZWxzOiBBUEkuTW9kZWxzID0gbmV3IEFQSS5Nb2RlbHModGhpcyk7XG4gIGZpbmVUdW5pbmc6IEFQSS5GaW5lVHVuaW5nID0gbmV3IEFQSS5GaW5lVHVuaW5nKHRoaXMpO1xuICBmaW5lVHVuZXM6IEFQSS5GaW5lVHVuZXMgPSBuZXcgQVBJLkZpbmVUdW5lcyh0aGlzKTtcbiAgYmV0YTogQVBJLkJldGEgPSBuZXcgQVBJLkJldGEodGhpcyk7XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRlZmF1bHRRdWVyeSgpOiBDb3JlLkRlZmF1bHRRdWVyeSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX29wdGlvbnMuZGVmYXVsdFF1ZXJ5O1xuICB9XG5cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGRlZmF1bHRIZWFkZXJzKG9wdHM6IENvcmUuRmluYWxSZXF1ZXN0T3B0aW9ucyk6IENvcmUuSGVhZGVycyB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN1cGVyLmRlZmF1bHRIZWFkZXJzKG9wdHMpLFxuICAgICAgJ09wZW5BSS1Pcmdhbml6YXRpb24nOiB0aGlzLm9yZ2FuaXphdGlvbixcbiAgICAgIC4uLnRoaXMuX29wdGlvbnMuZGVmYXVsdEhlYWRlcnMsXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBvdmVycmlkZSBhdXRoSGVhZGVycyhvcHRzOiBDb3JlLkZpbmFsUmVxdWVzdE9wdGlvbnMpOiBDb3JlLkhlYWRlcnMge1xuICAgIHJldHVybiB7IEF1dGhvcml6YXRpb246IGBCZWFyZXIgJHt0aGlzLmFwaUtleX1gIH07XG4gIH1cblxuICBzdGF0aWMgT3BlbkFJID0gdGhpcztcblxuICBzdGF0aWMgT3BlbkFJRXJyb3IgPSBFcnJvcnMuT3BlbkFJRXJyb3I7XG4gIHN0YXRpYyBBUElFcnJvciA9IEVycm9ycy5BUElFcnJvcjtcbiAgc3RhdGljIEFQSUNvbm5lY3Rpb25FcnJvciA9IEVycm9ycy5BUElDb25uZWN0aW9uRXJyb3I7XG4gIHN0YXRpYyBBUElDb25uZWN0aW9uVGltZW91dEVycm9yID0gRXJyb3JzLkFQSUNvbm5lY3Rpb25UaW1lb3V0RXJyb3I7XG4gIHN0YXRpYyBBUElVc2VyQWJvcnRFcnJvciA9IEVycm9ycy5BUElVc2VyQWJvcnRFcnJvcjtcbiAgc3RhdGljIE5vdEZvdW5kRXJyb3IgPSBFcnJvcnMuTm90Rm91bmRFcnJvcjtcbiAgc3RhdGljIENvbmZsaWN0RXJyb3IgPSBFcnJvcnMuQ29uZmxpY3RFcnJvcjtcbiAgc3RhdGljIFJhdGVMaW1pdEVycm9yID0gRXJyb3JzLlJhdGVMaW1pdEVycm9yO1xuICBzdGF0aWMgQmFkUmVxdWVzdEVycm9yID0gRXJyb3JzLkJhZFJlcXVlc3RFcnJvcjtcbiAgc3RhdGljIEF1dGhlbnRpY2F0aW9uRXJyb3IgPSBFcnJvcnMuQXV0aGVudGljYXRpb25FcnJvcjtcbiAgc3RhdGljIEludGVybmFsU2VydmVyRXJyb3IgPSBFcnJvcnMuSW50ZXJuYWxTZXJ2ZXJFcnJvcjtcbiAgc3RhdGljIFBlcm1pc3Npb25EZW5pZWRFcnJvciA9IEVycm9ycy5QZXJtaXNzaW9uRGVuaWVkRXJyb3I7XG4gIHN0YXRpYyBVbnByb2Nlc3NhYmxlRW50aXR5RXJyb3IgPSBFcnJvcnMuVW5wcm9jZXNzYWJsZUVudGl0eUVycm9yO1xufVxuXG5leHBvcnQgY29uc3Qge1xuICBPcGVuQUlFcnJvcixcbiAgQVBJRXJyb3IsXG4gIEFQSUNvbm5lY3Rpb25FcnJvcixcbiAgQVBJQ29ubmVjdGlvblRpbWVvdXRFcnJvcixcbiAgQVBJVXNlckFib3J0RXJyb3IsXG4gIE5vdEZvdW5kRXJyb3IsXG4gIENvbmZsaWN0RXJyb3IsXG4gIFJhdGVMaW1pdEVycm9yLFxuICBCYWRSZXF1ZXN0RXJyb3IsXG4gIEF1dGhlbnRpY2F0aW9uRXJyb3IsXG4gIEludGVybmFsU2VydmVyRXJyb3IsXG4gIFBlcm1pc3Npb25EZW5pZWRFcnJvcixcbiAgVW5wcm9jZXNzYWJsZUVudGl0eUVycm9yLFxufSA9IEVycm9ycztcblxuZXhwb3J0IGltcG9ydCB0b0ZpbGUgPSBVcGxvYWRzLnRvRmlsZTtcbmV4cG9ydCBpbXBvcnQgZmlsZUZyb21QYXRoID0gVXBsb2Fkcy5maWxlRnJvbVBhdGg7XG5cbmV4cG9ydCBuYW1lc3BhY2UgT3BlbkFJIHtcbiAgLy8gSGVscGVyIGZ1bmN0aW9uc1xuICBleHBvcnQgaW1wb3J0IHRvRmlsZSA9IFVwbG9hZHMudG9GaWxlO1xuICBleHBvcnQgaW1wb3J0IGZpbGVGcm9tUGF0aCA9IFVwbG9hZHMuZmlsZUZyb21QYXRoO1xuXG4gIGV4cG9ydCBpbXBvcnQgUmVxdWVzdE9wdGlvbnMgPSBDb3JlLlJlcXVlc3RPcHRpb25zO1xuXG4gIGV4cG9ydCBpbXBvcnQgUGFnZSA9IFBhZ2luYXRpb24uUGFnZTtcbiAgZXhwb3J0IGltcG9ydCBQYWdlUmVzcG9uc2UgPSBQYWdpbmF0aW9uLlBhZ2VSZXNwb25zZTtcblxuICBleHBvcnQgaW1wb3J0IEN1cnNvclBhZ2UgPSBQYWdpbmF0aW9uLkN1cnNvclBhZ2U7XG4gIGV4cG9ydCBpbXBvcnQgQ3Vyc29yUGFnZVBhcmFtcyA9IFBhZ2luYXRpb24uQ3Vyc29yUGFnZVBhcmFtcztcbiAgZXhwb3J0IGltcG9ydCBDdXJzb3JQYWdlUmVzcG9uc2UgPSBQYWdpbmF0aW9uLkN1cnNvclBhZ2VSZXNwb25zZTtcblxuICBleHBvcnQgaW1wb3J0IENvbXBsZXRpb25zID0gQVBJLkNvbXBsZXRpb25zO1xuICBleHBvcnQgaW1wb3J0IENvbXBsZXRpb24gPSBBUEkuQ29tcGxldGlvbjtcbiAgZXhwb3J0IGltcG9ydCBDb21wbGV0aW9uQ2hvaWNlID0gQVBJLkNvbXBsZXRpb25DaG9pY2U7XG4gIGV4cG9ydCBpbXBvcnQgQ29tcGxldGlvblVzYWdlID0gQVBJLkNvbXBsZXRpb25Vc2FnZTtcbiAgZXhwb3J0IGltcG9ydCBDb21wbGV0aW9uQ3JlYXRlUGFyYW1zID0gQVBJLkNvbXBsZXRpb25DcmVhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgQ29tcGxldGlvbkNyZWF0ZVBhcmFtc05vblN0cmVhbWluZyA9IEFQSS5Db21wbGV0aW9uQ3JlYXRlUGFyYW1zTm9uU3RyZWFtaW5nO1xuICBleHBvcnQgaW1wb3J0IENvbXBsZXRpb25DcmVhdGVQYXJhbXNTdHJlYW1pbmcgPSBBUEkuQ29tcGxldGlvbkNyZWF0ZVBhcmFtc1N0cmVhbWluZztcblxuICBleHBvcnQgaW1wb3J0IENoYXQgPSBBUEkuQ2hhdDtcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvbiA9IEFQSS5DaGF0Q29tcGxldGlvbjtcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvbkFzc2lzdGFudE1lc3NhZ2VQYXJhbSA9IEFQSS5DaGF0Q29tcGxldGlvbkFzc2lzdGFudE1lc3NhZ2VQYXJhbTtcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvbkNodW5rID0gQVBJLkNoYXRDb21wbGV0aW9uQ2h1bms7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25Db250ZW50UGFydCA9IEFQSS5DaGF0Q29tcGxldGlvbkNvbnRlbnRQYXJ0O1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uQ29udGVudFBhcnRJbWFnZSA9IEFQSS5DaGF0Q29tcGxldGlvbkNvbnRlbnRQYXJ0SW1hZ2U7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25Db250ZW50UGFydFRleHQgPSBBUEkuQ2hhdENvbXBsZXRpb25Db250ZW50UGFydFRleHQ7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25GdW5jdGlvbkNhbGxPcHRpb24gPSBBUEkuQ2hhdENvbXBsZXRpb25GdW5jdGlvbkNhbGxPcHRpb247XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25GdW5jdGlvbk1lc3NhZ2VQYXJhbSA9IEFQSS5DaGF0Q29tcGxldGlvbkZ1bmN0aW9uTWVzc2FnZVBhcmFtO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uTWVzc2FnZSA9IEFQSS5DaGF0Q29tcGxldGlvbk1lc3NhZ2U7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25NZXNzYWdlUGFyYW0gPSBBUEkuQ2hhdENvbXBsZXRpb25NZXNzYWdlUGFyYW07XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25NZXNzYWdlVG9vbENhbGwgPSBBUEkuQ2hhdENvbXBsZXRpb25NZXNzYWdlVG9vbENhbGw7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25OYW1lZFRvb2xDaG9pY2UgPSBBUEkuQ2hhdENvbXBsZXRpb25OYW1lZFRvb2xDaG9pY2U7XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25Sb2xlID0gQVBJLkNoYXRDb21wbGV0aW9uUm9sZTtcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvblN5c3RlbU1lc3NhZ2VQYXJhbSA9IEFQSS5DaGF0Q29tcGxldGlvblN5c3RlbU1lc3NhZ2VQYXJhbTtcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvblRva2VuTG9ncHJvYiA9IEFQSS5DaGF0Q29tcGxldGlvblRva2VuTG9ncHJvYjtcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvblRvb2wgPSBBUEkuQ2hhdENvbXBsZXRpb25Ub29sO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uVG9vbENob2ljZU9wdGlvbiA9IEFQSS5DaGF0Q29tcGxldGlvblRvb2xDaG9pY2VPcHRpb247XG4gIGV4cG9ydCBpbXBvcnQgQ2hhdENvbXBsZXRpb25Ub29sTWVzc2FnZVBhcmFtID0gQVBJLkNoYXRDb21wbGV0aW9uVG9vbE1lc3NhZ2VQYXJhbTtcbiAgZXhwb3J0IGltcG9ydCBDaGF0Q29tcGxldGlvblVzZXJNZXNzYWdlUGFyYW0gPSBBUEkuQ2hhdENvbXBsZXRpb25Vc2VyTWVzc2FnZVBhcmFtO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zID0gQVBJLkNoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zTm9uU3RyZWFtaW5nID0gQVBJLkNoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zTm9uU3RyZWFtaW5nO1xuICBleHBvcnQgaW1wb3J0IENoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zU3RyZWFtaW5nID0gQVBJLkNoYXRDb21wbGV0aW9uQ3JlYXRlUGFyYW1zU3RyZWFtaW5nO1xuXG4gIGV4cG9ydCBpbXBvcnQgRWRpdHMgPSBBUEkuRWRpdHM7XG4gIGV4cG9ydCBpbXBvcnQgRWRpdCA9IEFQSS5FZGl0O1xuICBleHBvcnQgaW1wb3J0IEVkaXRDcmVhdGVQYXJhbXMgPSBBUEkuRWRpdENyZWF0ZVBhcmFtcztcblxuICBleHBvcnQgaW1wb3J0IEVtYmVkZGluZ3MgPSBBUEkuRW1iZWRkaW5ncztcbiAgZXhwb3J0IGltcG9ydCBDcmVhdGVFbWJlZGRpbmdSZXNwb25zZSA9IEFQSS5DcmVhdGVFbWJlZGRpbmdSZXNwb25zZTtcbiAgZXhwb3J0IGltcG9ydCBFbWJlZGRpbmcgPSBBUEkuRW1iZWRkaW5nO1xuICBleHBvcnQgaW1wb3J0IEVtYmVkZGluZ0NyZWF0ZVBhcmFtcyA9IEFQSS5FbWJlZGRpbmdDcmVhdGVQYXJhbXM7XG5cbiAgZXhwb3J0IGltcG9ydCBGaWxlcyA9IEFQSS5GaWxlcztcbiAgZXhwb3J0IGltcG9ydCBGaWxlQ29udGVudCA9IEFQSS5GaWxlQ29udGVudDtcbiAgZXhwb3J0IGltcG9ydCBGaWxlRGVsZXRlZCA9IEFQSS5GaWxlRGVsZXRlZDtcbiAgZXhwb3J0IGltcG9ydCBGaWxlT2JqZWN0ID0gQVBJLkZpbGVPYmplY3Q7XG4gIGV4cG9ydCBpbXBvcnQgRmlsZU9iamVjdHNQYWdlID0gQVBJLkZpbGVPYmplY3RzUGFnZTtcbiAgZXhwb3J0IGltcG9ydCBGaWxlQ3JlYXRlUGFyYW1zID0gQVBJLkZpbGVDcmVhdGVQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgRmlsZUxpc3RQYXJhbXMgPSBBUEkuRmlsZUxpc3RQYXJhbXM7XG5cbiAgZXhwb3J0IGltcG9ydCBJbWFnZXMgPSBBUEkuSW1hZ2VzO1xuICBleHBvcnQgaW1wb3J0IEltYWdlID0gQVBJLkltYWdlO1xuICBleHBvcnQgaW1wb3J0IEltYWdlc1Jlc3BvbnNlID0gQVBJLkltYWdlc1Jlc3BvbnNlO1xuICBleHBvcnQgaW1wb3J0IEltYWdlQ3JlYXRlVmFyaWF0aW9uUGFyYW1zID0gQVBJLkltYWdlQ3JlYXRlVmFyaWF0aW9uUGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IEltYWdlRWRpdFBhcmFtcyA9IEFQSS5JbWFnZUVkaXRQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgSW1hZ2VHZW5lcmF0ZVBhcmFtcyA9IEFQSS5JbWFnZUdlbmVyYXRlUGFyYW1zO1xuXG4gIGV4cG9ydCBpbXBvcnQgQXVkaW8gPSBBUEkuQXVkaW87XG5cbiAgZXhwb3J0IGltcG9ydCBNb2RlcmF0aW9ucyA9IEFQSS5Nb2RlcmF0aW9ucztcbiAgZXhwb3J0IGltcG9ydCBNb2RlcmF0aW9uID0gQVBJLk1vZGVyYXRpb247XG4gIGV4cG9ydCBpbXBvcnQgTW9kZXJhdGlvbkNyZWF0ZVJlc3BvbnNlID0gQVBJLk1vZGVyYXRpb25DcmVhdGVSZXNwb25zZTtcbiAgZXhwb3J0IGltcG9ydCBNb2RlcmF0aW9uQ3JlYXRlUGFyYW1zID0gQVBJLk1vZGVyYXRpb25DcmVhdGVQYXJhbXM7XG5cbiAgZXhwb3J0IGltcG9ydCBNb2RlbHMgPSBBUEkuTW9kZWxzO1xuICBleHBvcnQgaW1wb3J0IE1vZGVsID0gQVBJLk1vZGVsO1xuICBleHBvcnQgaW1wb3J0IE1vZGVsRGVsZXRlZCA9IEFQSS5Nb2RlbERlbGV0ZWQ7XG4gIGV4cG9ydCBpbXBvcnQgTW9kZWxzUGFnZSA9IEFQSS5Nb2RlbHNQYWdlO1xuXG4gIGV4cG9ydCBpbXBvcnQgRmluZVR1bmluZyA9IEFQSS5GaW5lVHVuaW5nO1xuXG4gIGV4cG9ydCBpbXBvcnQgRmluZVR1bmVzID0gQVBJLkZpbmVUdW5lcztcbiAgZXhwb3J0IGltcG9ydCBGaW5lVHVuZSA9IEFQSS5GaW5lVHVuZTtcbiAgZXhwb3J0IGltcG9ydCBGaW5lVHVuZUV2ZW50ID0gQVBJLkZpbmVUdW5lRXZlbnQ7XG4gIGV4cG9ydCBpbXBvcnQgRmluZVR1bmVFdmVudHNMaXN0UmVzcG9uc2UgPSBBUEkuRmluZVR1bmVFdmVudHNMaXN0UmVzcG9uc2U7XG4gIGV4cG9ydCBpbXBvcnQgRmluZVR1bmVzUGFnZSA9IEFQSS5GaW5lVHVuZXNQYWdlO1xuICBleHBvcnQgaW1wb3J0IEZpbmVUdW5lQ3JlYXRlUGFyYW1zID0gQVBJLkZpbmVUdW5lQ3JlYXRlUGFyYW1zO1xuICBleHBvcnQgaW1wb3J0IEZpbmVUdW5lTGlzdEV2ZW50c1BhcmFtcyA9IEFQSS5GaW5lVHVuZUxpc3RFdmVudHNQYXJhbXM7XG4gIGV4cG9ydCBpbXBvcnQgRmluZVR1bmVMaXN0RXZlbnRzUGFyYW1zTm9uU3RyZWFtaW5nID0gQVBJLkZpbmVUdW5lTGlzdEV2ZW50c1BhcmFtc05vblN0cmVhbWluZztcbiAgZXhwb3J0IGltcG9ydCBGaW5lVHVuZUxpc3RFdmVudHNQYXJhbXNTdHJlYW1pbmcgPSBBUEkuRmluZVR1bmVMaXN0RXZlbnRzUGFyYW1zU3RyZWFtaW5nO1xuXG4gIGV4cG9ydCBpbXBvcnQgQmV0YSA9IEFQSS5CZXRhO1xuXG4gIGV4cG9ydCBpbXBvcnQgRnVuY3Rpb25EZWZpbml0aW9uID0gQVBJLkZ1bmN0aW9uRGVmaW5pdGlvbjtcbiAgZXhwb3J0IGltcG9ydCBGdW5jdGlvblBhcmFtZXRlcnMgPSBBUEkuRnVuY3Rpb25QYXJhbWV0ZXJzO1xufVxuXG5leHBvcnQgZGVmYXVsdCBPcGVuQUk7XG4iLCAiZnVuY3Rpb24gRGlmZigpIHt9XG5EaWZmLnByb3RvdHlwZSA9IHtcbiAgZGlmZjogZnVuY3Rpb24gZGlmZihvbGRTdHJpbmcsIG5ld1N0cmluZykge1xuICAgIHZhciBfb3B0aW9ucyR0aW1lb3V0O1xuXG4gICAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHt9O1xuICAgIHZhciBjYWxsYmFjayA9IG9wdGlvbnMuY2FsbGJhY2s7XG5cbiAgICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGNhbGxiYWNrID0gb3B0aW9ucztcbiAgICAgIG9wdGlvbnMgPSB7fTtcbiAgICB9XG5cbiAgICB0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuICAgIHZhciBzZWxmID0gdGhpcztcblxuICAgIGZ1bmN0aW9uIGRvbmUodmFsdWUpIHtcbiAgICAgIGlmIChjYWxsYmFjaykge1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjYWxsYmFjayh1bmRlZmluZWQsIHZhbHVlKTtcbiAgICAgICAgfSwgMCk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHZhbHVlO1xuICAgICAgfVxuICAgIH0gLy8gQWxsb3cgc3ViY2xhc3NlcyB0byBtYXNzYWdlIHRoZSBpbnB1dCBwcmlvciB0byBydW5uaW5nXG5cblxuICAgIG9sZFN0cmluZyA9IHRoaXMuY2FzdElucHV0KG9sZFN0cmluZyk7XG4gICAgbmV3U3RyaW5nID0gdGhpcy5jYXN0SW5wdXQobmV3U3RyaW5nKTtcbiAgICBvbGRTdHJpbmcgPSB0aGlzLnJlbW92ZUVtcHR5KHRoaXMudG9rZW5pemUob2xkU3RyaW5nKSk7XG4gICAgbmV3U3RyaW5nID0gdGhpcy5yZW1vdmVFbXB0eSh0aGlzLnRva2VuaXplKG5ld1N0cmluZykpO1xuICAgIHZhciBuZXdMZW4gPSBuZXdTdHJpbmcubGVuZ3RoLFxuICAgICAgICBvbGRMZW4gPSBvbGRTdHJpbmcubGVuZ3RoO1xuICAgIHZhciBlZGl0TGVuZ3RoID0gMTtcbiAgICB2YXIgbWF4RWRpdExlbmd0aCA9IG5ld0xlbiArIG9sZExlbjtcblxuICAgIGlmIChvcHRpb25zLm1heEVkaXRMZW5ndGgpIHtcbiAgICAgIG1heEVkaXRMZW5ndGggPSBNYXRoLm1pbihtYXhFZGl0TGVuZ3RoLCBvcHRpb25zLm1heEVkaXRMZW5ndGgpO1xuICAgIH1cblxuICAgIHZhciBtYXhFeGVjdXRpb25UaW1lID0gKF9vcHRpb25zJHRpbWVvdXQgPSBvcHRpb25zLnRpbWVvdXQpICE9PSBudWxsICYmIF9vcHRpb25zJHRpbWVvdXQgIT09IHZvaWQgMCA/IF9vcHRpb25zJHRpbWVvdXQgOiBJbmZpbml0eTtcbiAgICB2YXIgYWJvcnRBZnRlclRpbWVzdGFtcCA9IERhdGUubm93KCkgKyBtYXhFeGVjdXRpb25UaW1lO1xuICAgIHZhciBiZXN0UGF0aCA9IFt7XG4gICAgICBvbGRQb3M6IC0xLFxuICAgICAgbGFzdENvbXBvbmVudDogdW5kZWZpbmVkXG4gICAgfV07IC8vIFNlZWQgZWRpdExlbmd0aCA9IDAsIGkuZS4gdGhlIGNvbnRlbnQgc3RhcnRzIHdpdGggdGhlIHNhbWUgdmFsdWVzXG5cbiAgICB2YXIgbmV3UG9zID0gdGhpcy5leHRyYWN0Q29tbW9uKGJlc3RQYXRoWzBdLCBuZXdTdHJpbmcsIG9sZFN0cmluZywgMCk7XG5cbiAgICBpZiAoYmVzdFBhdGhbMF0ub2xkUG9zICsgMSA+PSBvbGRMZW4gJiYgbmV3UG9zICsgMSA+PSBuZXdMZW4pIHtcbiAgICAgIC8vIElkZW50aXR5IHBlciB0aGUgZXF1YWxpdHkgYW5kIHRva2VuaXplclxuICAgICAgcmV0dXJuIGRvbmUoW3tcbiAgICAgICAgdmFsdWU6IHRoaXMuam9pbihuZXdTdHJpbmcpLFxuICAgICAgICBjb3VudDogbmV3U3RyaW5nLmxlbmd0aFxuICAgICAgfV0pO1xuICAgIH0gLy8gT25jZSB3ZSBoaXQgdGhlIHJpZ2h0IGVkZ2Ugb2YgdGhlIGVkaXQgZ3JhcGggb24gc29tZSBkaWFnb25hbCBrLCB3ZSBjYW5cbiAgICAvLyBkZWZpbml0ZWx5IHJlYWNoIHRoZSBlbmQgb2YgdGhlIGVkaXQgZ3JhcGggaW4gbm8gbW9yZSB0aGFuIGsgZWRpdHMsIHNvXG4gICAgLy8gdGhlcmUncyBubyBwb2ludCBpbiBjb25zaWRlcmluZyBhbnkgbW92ZXMgdG8gZGlhZ29uYWwgaysxIGFueSBtb3JlIChmcm9tXG4gICAgLy8gd2hpY2ggd2UncmUgZ3VhcmFudGVlZCB0byBuZWVkIGF0IGxlYXN0IGsrMSBtb3JlIGVkaXRzKS5cbiAgICAvLyBTaW1pbGFybHksIG9uY2Ugd2UndmUgcmVhY2hlZCB0aGUgYm90dG9tIG9mIHRoZSBlZGl0IGdyYXBoLCB0aGVyZSdzIG5vXG4gICAgLy8gcG9pbnQgY29uc2lkZXJpbmcgbW92ZXMgdG8gbG93ZXIgZGlhZ29uYWxzLlxuICAgIC8vIFdlIHJlY29yZCB0aGlzIGZhY3QgYnkgc2V0dGluZyBtaW5EaWFnb25hbFRvQ29uc2lkZXIgYW5kXG4gICAgLy8gbWF4RGlhZ29uYWxUb0NvbnNpZGVyIHRvIHNvbWUgZmluaXRlIHZhbHVlIG9uY2Ugd2UndmUgaGl0IHRoZSBlZGdlIG9mXG4gICAgLy8gdGhlIGVkaXQgZ3JhcGguXG4gICAgLy8gVGhpcyBvcHRpbWl6YXRpb24gaXMgbm90IGZhaXRoZnVsIHRvIHRoZSBvcmlnaW5hbCBhbGdvcml0aG0gcHJlc2VudGVkIGluXG4gICAgLy8gTXllcnMncyBwYXBlciwgd2hpY2ggaW5zdGVhZCBwb2ludGxlc3NseSBleHRlbmRzIEQtcGF0aHMgb2ZmIHRoZSBlbmQgb2ZcbiAgICAvLyB0aGUgZWRpdCBncmFwaCAtIHNlZSBwYWdlIDcgb2YgTXllcnMncyBwYXBlciB3aGljaCBub3RlcyB0aGlzIHBvaW50XG4gICAgLy8gZXhwbGljaXRseSBhbmQgaWxsdXN0cmF0ZXMgaXQgd2l0aCBhIGRpYWdyYW0uIFRoaXMgaGFzIG1ham9yIHBlcmZvcm1hbmNlXG4gICAgLy8gaW1wbGljYXRpb25zIGZvciBzb21lIGNvbW1vbiBzY2VuYXJpb3MuIEZvciBpbnN0YW5jZSwgdG8gY29tcHV0ZSBhIGRpZmZcbiAgICAvLyB3aGVyZSB0aGUgbmV3IHRleHQgc2ltcGx5IGFwcGVuZHMgZCBjaGFyYWN0ZXJzIG9uIHRoZSBlbmQgb2YgdGhlXG4gICAgLy8gb3JpZ2luYWwgdGV4dCBvZiBsZW5ndGggbiwgdGhlIHRydWUgTXllcnMgYWxnb3JpdGhtIHdpbGwgdGFrZSBPKG4rZF4yKVxuICAgIC8vIHRpbWUgd2hpbGUgdGhpcyBvcHRpbWl6YXRpb24gbmVlZHMgb25seSBPKG4rZCkgdGltZS5cblxuXG4gICAgdmFyIG1pbkRpYWdvbmFsVG9Db25zaWRlciA9IC1JbmZpbml0eSxcbiAgICAgICAgbWF4RGlhZ29uYWxUb0NvbnNpZGVyID0gSW5maW5pdHk7IC8vIE1haW4gd29ya2VyIG1ldGhvZC4gY2hlY2tzIGFsbCBwZXJtdXRhdGlvbnMgb2YgYSBnaXZlbiBlZGl0IGxlbmd0aCBmb3IgYWNjZXB0YW5jZS5cblxuICAgIGZ1bmN0aW9uIGV4ZWNFZGl0TGVuZ3RoKCkge1xuICAgICAgZm9yICh2YXIgZGlhZ29uYWxQYXRoID0gTWF0aC5tYXgobWluRGlhZ29uYWxUb0NvbnNpZGVyLCAtZWRpdExlbmd0aCk7IGRpYWdvbmFsUGF0aCA8PSBNYXRoLm1pbihtYXhEaWFnb25hbFRvQ29uc2lkZXIsIGVkaXRMZW5ndGgpOyBkaWFnb25hbFBhdGggKz0gMikge1xuICAgICAgICB2YXIgYmFzZVBhdGggPSB2b2lkIDA7XG4gICAgICAgIHZhciByZW1vdmVQYXRoID0gYmVzdFBhdGhbZGlhZ29uYWxQYXRoIC0gMV0sXG4gICAgICAgICAgICBhZGRQYXRoID0gYmVzdFBhdGhbZGlhZ29uYWxQYXRoICsgMV07XG5cbiAgICAgICAgaWYgKHJlbW92ZVBhdGgpIHtcbiAgICAgICAgICAvLyBObyBvbmUgZWxzZSBpcyBnb2luZyB0byBhdHRlbXB0IHRvIHVzZSB0aGlzIHZhbHVlLCBjbGVhciBpdFxuICAgICAgICAgIGJlc3RQYXRoW2RpYWdvbmFsUGF0aCAtIDFdID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGNhbkFkZCA9IGZhbHNlO1xuXG4gICAgICAgIGlmIChhZGRQYXRoKSB7XG4gICAgICAgICAgLy8gd2hhdCBuZXdQb3Mgd2lsbCBiZSBhZnRlciB3ZSBkbyBhbiBpbnNlcnRpb246XG4gICAgICAgICAgdmFyIGFkZFBhdGhOZXdQb3MgPSBhZGRQYXRoLm9sZFBvcyAtIGRpYWdvbmFsUGF0aDtcbiAgICAgICAgICBjYW5BZGQgPSBhZGRQYXRoICYmIDAgPD0gYWRkUGF0aE5ld1BvcyAmJiBhZGRQYXRoTmV3UG9zIDwgbmV3TGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIGNhblJlbW92ZSA9IHJlbW92ZVBhdGggJiYgcmVtb3ZlUGF0aC5vbGRQb3MgKyAxIDwgb2xkTGVuO1xuXG4gICAgICAgIGlmICghY2FuQWRkICYmICFjYW5SZW1vdmUpIHtcbiAgICAgICAgICAvLyBJZiB0aGlzIHBhdGggaXMgYSB0ZXJtaW5hbCB0aGVuIHBydW5lXG4gICAgICAgICAgYmVzdFBhdGhbZGlhZ29uYWxQYXRoXSA9IHVuZGVmaW5lZDtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfSAvLyBTZWxlY3QgdGhlIGRpYWdvbmFsIHRoYXQgd2Ugd2FudCB0byBicmFuY2ggZnJvbS4gV2Ugc2VsZWN0IHRoZSBwcmlvclxuICAgICAgICAvLyBwYXRoIHdob3NlIHBvc2l0aW9uIGluIHRoZSBvbGQgc3RyaW5nIGlzIHRoZSBmYXJ0aGVzdCBmcm9tIHRoZSBvcmlnaW5cbiAgICAgICAgLy8gYW5kIGRvZXMgbm90IHBhc3MgdGhlIGJvdW5kcyBvZiB0aGUgZGlmZiBncmFwaFxuICAgICAgICAvLyBUT0RPOiBSZW1vdmUgdGhlIGArIDFgIGhlcmUgdG8gbWFrZSBiZWhhdmlvciBtYXRjaCBNeWVycyBhbGdvcml0aG1cbiAgICAgICAgLy8gICAgICAgYW5kIHByZWZlciB0byBvcmRlciByZW1vdmFscyBiZWZvcmUgaW5zZXJ0aW9ucy5cblxuXG4gICAgICAgIGlmICghY2FuUmVtb3ZlIHx8IGNhbkFkZCAmJiByZW1vdmVQYXRoLm9sZFBvcyArIDEgPCBhZGRQYXRoLm9sZFBvcykge1xuICAgICAgICAgIGJhc2VQYXRoID0gc2VsZi5hZGRUb1BhdGgoYWRkUGF0aCwgdHJ1ZSwgdW5kZWZpbmVkLCAwKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBiYXNlUGF0aCA9IHNlbGYuYWRkVG9QYXRoKHJlbW92ZVBhdGgsIHVuZGVmaW5lZCwgdHJ1ZSwgMSk7XG4gICAgICAgIH1cblxuICAgICAgICBuZXdQb3MgPSBzZWxmLmV4dHJhY3RDb21tb24oYmFzZVBhdGgsIG5ld1N0cmluZywgb2xkU3RyaW5nLCBkaWFnb25hbFBhdGgpO1xuXG4gICAgICAgIGlmIChiYXNlUGF0aC5vbGRQb3MgKyAxID49IG9sZExlbiAmJiBuZXdQb3MgKyAxID49IG5ld0xlbikge1xuICAgICAgICAgIC8vIElmIHdlIGhhdmUgaGl0IHRoZSBlbmQgb2YgYm90aCBzdHJpbmdzLCB0aGVuIHdlIGFyZSBkb25lXG4gICAgICAgICAgcmV0dXJuIGRvbmUoYnVpbGRWYWx1ZXMoc2VsZiwgYmFzZVBhdGgubGFzdENvbXBvbmVudCwgbmV3U3RyaW5nLCBvbGRTdHJpbmcsIHNlbGYudXNlTG9uZ2VzdFRva2VuKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYmVzdFBhdGhbZGlhZ29uYWxQYXRoXSA9IGJhc2VQYXRoO1xuXG4gICAgICAgICAgaWYgKGJhc2VQYXRoLm9sZFBvcyArIDEgPj0gb2xkTGVuKSB7XG4gICAgICAgICAgICBtYXhEaWFnb25hbFRvQ29uc2lkZXIgPSBNYXRoLm1pbihtYXhEaWFnb25hbFRvQ29uc2lkZXIsIGRpYWdvbmFsUGF0aCAtIDEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmIChuZXdQb3MgKyAxID49IG5ld0xlbikge1xuICAgICAgICAgICAgbWluRGlhZ29uYWxUb0NvbnNpZGVyID0gTWF0aC5tYXgobWluRGlhZ29uYWxUb0NvbnNpZGVyLCBkaWFnb25hbFBhdGggKyAxKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZWRpdExlbmd0aCsrO1xuICAgIH0gLy8gUGVyZm9ybXMgdGhlIGxlbmd0aCBvZiBlZGl0IGl0ZXJhdGlvbi4gSXMgYSBiaXQgZnVnbHkgYXMgdGhpcyBoYXMgdG8gc3VwcG9ydCB0aGVcbiAgICAvLyBzeW5jIGFuZCBhc3luYyBtb2RlIHdoaWNoIGlzIG5ldmVyIGZ1bi4gTG9vcHMgb3ZlciBleGVjRWRpdExlbmd0aCB1bnRpbCBhIHZhbHVlXG4gICAgLy8gaXMgcHJvZHVjZWQsIG9yIHVudGlsIHRoZSBlZGl0IGxlbmd0aCBleGNlZWRzIG9wdGlvbnMubWF4RWRpdExlbmd0aCAoaWYgZ2l2ZW4pLFxuICAgIC8vIGluIHdoaWNoIGNhc2UgaXQgd2lsbCByZXR1cm4gdW5kZWZpbmVkLlxuXG5cbiAgICBpZiAoY2FsbGJhY2spIHtcbiAgICAgIChmdW5jdGlvbiBleGVjKCkge1xuICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBpZiAoZWRpdExlbmd0aCA+IG1heEVkaXRMZW5ndGggfHwgRGF0ZS5ub3coKSA+IGFib3J0QWZ0ZXJUaW1lc3RhbXApIHtcbiAgICAgICAgICAgIHJldHVybiBjYWxsYmFjaygpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGlmICghZXhlY0VkaXRMZW5ndGgoKSkge1xuICAgICAgICAgICAgZXhlYygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSwgMCk7XG4gICAgICB9KSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICB3aGlsZSAoZWRpdExlbmd0aCA8PSBtYXhFZGl0TGVuZ3RoICYmIERhdGUubm93KCkgPD0gYWJvcnRBZnRlclRpbWVzdGFtcCkge1xuICAgICAgICB2YXIgcmV0ID0gZXhlY0VkaXRMZW5ndGgoKTtcblxuICAgICAgICBpZiAocmV0KSB7XG4gICAgICAgICAgcmV0dXJuIHJldDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfSxcbiAgYWRkVG9QYXRoOiBmdW5jdGlvbiBhZGRUb1BhdGgocGF0aCwgYWRkZWQsIHJlbW92ZWQsIG9sZFBvc0luYykge1xuICAgIHZhciBsYXN0ID0gcGF0aC5sYXN0Q29tcG9uZW50O1xuXG4gICAgaWYgKGxhc3QgJiYgbGFzdC5hZGRlZCA9PT0gYWRkZWQgJiYgbGFzdC5yZW1vdmVkID09PSByZW1vdmVkKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvbGRQb3M6IHBhdGgub2xkUG9zICsgb2xkUG9zSW5jLFxuICAgICAgICBsYXN0Q29tcG9uZW50OiB7XG4gICAgICAgICAgY291bnQ6IGxhc3QuY291bnQgKyAxLFxuICAgICAgICAgIGFkZGVkOiBhZGRlZCxcbiAgICAgICAgICByZW1vdmVkOiByZW1vdmVkLFxuICAgICAgICAgIHByZXZpb3VzQ29tcG9uZW50OiBsYXN0LnByZXZpb3VzQ29tcG9uZW50XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG9sZFBvczogcGF0aC5vbGRQb3MgKyBvbGRQb3NJbmMsXG4gICAgICAgIGxhc3RDb21wb25lbnQ6IHtcbiAgICAgICAgICBjb3VudDogMSxcbiAgICAgICAgICBhZGRlZDogYWRkZWQsXG4gICAgICAgICAgcmVtb3ZlZDogcmVtb3ZlZCxcbiAgICAgICAgICBwcmV2aW91c0NvbXBvbmVudDogbGFzdFxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cbiAgfSxcbiAgZXh0cmFjdENvbW1vbjogZnVuY3Rpb24gZXh0cmFjdENvbW1vbihiYXNlUGF0aCwgbmV3U3RyaW5nLCBvbGRTdHJpbmcsIGRpYWdvbmFsUGF0aCkge1xuICAgIHZhciBuZXdMZW4gPSBuZXdTdHJpbmcubGVuZ3RoLFxuICAgICAgICBvbGRMZW4gPSBvbGRTdHJpbmcubGVuZ3RoLFxuICAgICAgICBvbGRQb3MgPSBiYXNlUGF0aC5vbGRQb3MsXG4gICAgICAgIG5ld1BvcyA9IG9sZFBvcyAtIGRpYWdvbmFsUGF0aCxcbiAgICAgICAgY29tbW9uQ291bnQgPSAwO1xuXG4gICAgd2hpbGUgKG5ld1BvcyArIDEgPCBuZXdMZW4gJiYgb2xkUG9zICsgMSA8IG9sZExlbiAmJiB0aGlzLmVxdWFscyhuZXdTdHJpbmdbbmV3UG9zICsgMV0sIG9sZFN0cmluZ1tvbGRQb3MgKyAxXSkpIHtcbiAgICAgIG5ld1BvcysrO1xuICAgICAgb2xkUG9zKys7XG4gICAgICBjb21tb25Db3VudCsrO1xuICAgIH1cblxuICAgIGlmIChjb21tb25Db3VudCkge1xuICAgICAgYmFzZVBhdGgubGFzdENvbXBvbmVudCA9IHtcbiAgICAgICAgY291bnQ6IGNvbW1vbkNvdW50LFxuICAgICAgICBwcmV2aW91c0NvbXBvbmVudDogYmFzZVBhdGgubGFzdENvbXBvbmVudFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBiYXNlUGF0aC5vbGRQb3MgPSBvbGRQb3M7XG4gICAgcmV0dXJuIG5ld1BvcztcbiAgfSxcbiAgZXF1YWxzOiBmdW5jdGlvbiBlcXVhbHMobGVmdCwgcmlnaHQpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLmNvbXBhcmF0b3IpIHtcbiAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuY29tcGFyYXRvcihsZWZ0LCByaWdodCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBsZWZ0ID09PSByaWdodCB8fCB0aGlzLm9wdGlvbnMuaWdub3JlQ2FzZSAmJiBsZWZ0LnRvTG93ZXJDYXNlKCkgPT09IHJpZ2h0LnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuICB9LFxuICByZW1vdmVFbXB0eTogZnVuY3Rpb24gcmVtb3ZlRW1wdHkoYXJyYXkpIHtcbiAgICB2YXIgcmV0ID0gW107XG5cbiAgICBmb3IgKHZhciBpID0gMDsgaSA8IGFycmF5Lmxlbmd0aDsgaSsrKSB7XG4gICAgICBpZiAoYXJyYXlbaV0pIHtcbiAgICAgICAgcmV0LnB1c2goYXJyYXlbaV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiByZXQ7XG4gIH0sXG4gIGNhc3RJbnB1dDogZnVuY3Rpb24gY2FzdElucHV0KHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9LFxuICB0b2tlbml6ZTogZnVuY3Rpb24gdG9rZW5pemUodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUuc3BsaXQoJycpO1xuICB9LFxuICBqb2luOiBmdW5jdGlvbiBqb2luKGNoYXJzKSB7XG4gICAgcmV0dXJuIGNoYXJzLmpvaW4oJycpO1xuICB9XG59O1xuXG5mdW5jdGlvbiBidWlsZFZhbHVlcyhkaWZmLCBsYXN0Q29tcG9uZW50LCBuZXdTdHJpbmcsIG9sZFN0cmluZywgdXNlTG9uZ2VzdFRva2VuKSB7XG4gIC8vIEZpcnN0IHdlIGNvbnZlcnQgb3VyIGxpbmtlZCBsaXN0IG9mIGNvbXBvbmVudHMgaW4gcmV2ZXJzZSBvcmRlciB0byBhblxuICAvLyBhcnJheSBpbiB0aGUgcmlnaHQgb3JkZXI6XG4gIHZhciBjb21wb25lbnRzID0gW107XG4gIHZhciBuZXh0Q29tcG9uZW50O1xuXG4gIHdoaWxlIChsYXN0Q29tcG9uZW50KSB7XG4gICAgY29tcG9uZW50cy5wdXNoKGxhc3RDb21wb25lbnQpO1xuICAgIG5leHRDb21wb25lbnQgPSBsYXN0Q29tcG9uZW50LnByZXZpb3VzQ29tcG9uZW50O1xuICAgIGRlbGV0ZSBsYXN0Q29tcG9uZW50LnByZXZpb3VzQ29tcG9uZW50O1xuICAgIGxhc3RDb21wb25lbnQgPSBuZXh0Q29tcG9uZW50O1xuICB9XG5cbiAgY29tcG9uZW50cy5yZXZlcnNlKCk7XG4gIHZhciBjb21wb25lbnRQb3MgPSAwLFxuICAgICAgY29tcG9uZW50TGVuID0gY29tcG9uZW50cy5sZW5ndGgsXG4gICAgICBuZXdQb3MgPSAwLFxuICAgICAgb2xkUG9zID0gMDtcblxuICBmb3IgKDsgY29tcG9uZW50UG9zIDwgY29tcG9uZW50TGVuOyBjb21wb25lbnRQb3MrKykge1xuICAgIHZhciBjb21wb25lbnQgPSBjb21wb25lbnRzW2NvbXBvbmVudFBvc107XG5cbiAgICBpZiAoIWNvbXBvbmVudC5yZW1vdmVkKSB7XG4gICAgICBpZiAoIWNvbXBvbmVudC5hZGRlZCAmJiB1c2VMb25nZXN0VG9rZW4pIHtcbiAgICAgICAgdmFyIHZhbHVlID0gbmV3U3RyaW5nLnNsaWNlKG5ld1BvcywgbmV3UG9zICsgY29tcG9uZW50LmNvdW50KTtcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5tYXAoZnVuY3Rpb24gKHZhbHVlLCBpKSB7XG4gICAgICAgICAgdmFyIG9sZFZhbHVlID0gb2xkU3RyaW5nW29sZFBvcyArIGldO1xuICAgICAgICAgIHJldHVybiBvbGRWYWx1ZS5sZW5ndGggPiB2YWx1ZS5sZW5ndGggPyBvbGRWYWx1ZSA6IHZhbHVlO1xuICAgICAgICB9KTtcbiAgICAgICAgY29tcG9uZW50LnZhbHVlID0gZGlmZi5qb2luKHZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbXBvbmVudC52YWx1ZSA9IGRpZmYuam9pbihuZXdTdHJpbmcuc2xpY2UobmV3UG9zLCBuZXdQb3MgKyBjb21wb25lbnQuY291bnQpKTtcbiAgICAgIH1cblxuICAgICAgbmV3UG9zICs9IGNvbXBvbmVudC5jb3VudDsgLy8gQ29tbW9uIGNhc2VcblxuICAgICAgaWYgKCFjb21wb25lbnQuYWRkZWQpIHtcbiAgICAgICAgb2xkUG9zICs9IGNvbXBvbmVudC5jb3VudDtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgY29tcG9uZW50LnZhbHVlID0gZGlmZi5qb2luKG9sZFN0cmluZy5zbGljZShvbGRQb3MsIG9sZFBvcyArIGNvbXBvbmVudC5jb3VudCkpO1xuICAgICAgb2xkUG9zICs9IGNvbXBvbmVudC5jb3VudDsgLy8gUmV2ZXJzZSBhZGQgYW5kIHJlbW92ZSBzbyByZW1vdmVzIGFyZSBvdXRwdXQgZmlyc3QgdG8gbWF0Y2ggY29tbW9uIGNvbnZlbnRpb25cbiAgICAgIC8vIFRoZSBkaWZmaW5nIGFsZ29yaXRobSBpcyB0aWVkIHRvIGFkZCB0aGVuIHJlbW92ZSBvdXRwdXQgYW5kIHRoaXMgaXMgdGhlIHNpbXBsZXN0XG4gICAgICAvLyByb3V0ZSB0byBnZXQgdGhlIGRlc2lyZWQgb3V0cHV0IHdpdGggbWluaW1hbCBvdmVyaGVhZC5cblxuICAgICAgaWYgKGNvbXBvbmVudFBvcyAmJiBjb21wb25lbnRzW2NvbXBvbmVudFBvcyAtIDFdLmFkZGVkKSB7XG4gICAgICAgIHZhciB0bXAgPSBjb21wb25lbnRzW2NvbXBvbmVudFBvcyAtIDFdO1xuICAgICAgICBjb21wb25lbnRzW2NvbXBvbmVudFBvcyAtIDFdID0gY29tcG9uZW50c1tjb21wb25lbnRQb3NdO1xuICAgICAgICBjb21wb25lbnRzW2NvbXBvbmVudFBvc10gPSB0bXA7XG4gICAgICB9XG4gICAgfVxuICB9IC8vIFNwZWNpYWwgY2FzZSBoYW5kbGUgZm9yIHdoZW4gb25lIHRlcm1pbmFsIGlzIGlnbm9yZWQgKGkuZS4gd2hpdGVzcGFjZSkuXG4gIC8vIEZvciB0aGlzIGNhc2Ugd2UgbWVyZ2UgdGhlIHRlcm1pbmFsIGludG8gdGhlIHByaW9yIHN0cmluZyBhbmQgZHJvcCB0aGUgY2hhbmdlLlxuICAvLyBUaGlzIGlzIG9ubHkgYXZhaWxhYmxlIGZvciBzdHJpbmcgbW9kZS5cblxuXG4gIHZhciBmaW5hbENvbXBvbmVudCA9IGNvbXBvbmVudHNbY29tcG9uZW50TGVuIC0gMV07XG5cbiAgaWYgKGNvbXBvbmVudExlbiA+IDEgJiYgdHlwZW9mIGZpbmFsQ29tcG9uZW50LnZhbHVlID09PSAnc3RyaW5nJyAmJiAoZmluYWxDb21wb25lbnQuYWRkZWQgfHwgZmluYWxDb21wb25lbnQucmVtb3ZlZCkgJiYgZGlmZi5lcXVhbHMoJycsIGZpbmFsQ29tcG9uZW50LnZhbHVlKSkge1xuICAgIGNvbXBvbmVudHNbY29tcG9uZW50TGVuIC0gMl0udmFsdWUgKz0gZmluYWxDb21wb25lbnQudmFsdWU7XG4gICAgY29tcG9uZW50cy5wb3AoKTtcbiAgfVxuXG4gIHJldHVybiBjb21wb25lbnRzO1xufVxuXG52YXIgY2hhcmFjdGVyRGlmZiA9IG5ldyBEaWZmKCk7XG5mdW5jdGlvbiBkaWZmQ2hhcnMob2xkU3RyLCBuZXdTdHIsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGNoYXJhY3RlckRpZmYuZGlmZihvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucyk7XG59XG5cbmZ1bmN0aW9uIGdlbmVyYXRlT3B0aW9ucyhvcHRpb25zLCBkZWZhdWx0cykge1xuICBpZiAodHlwZW9mIG9wdGlvbnMgPT09ICdmdW5jdGlvbicpIHtcbiAgICBkZWZhdWx0cy5jYWxsYmFjayA9IG9wdGlvbnM7XG4gIH0gZWxzZSBpZiAob3B0aW9ucykge1xuICAgIGZvciAodmFyIG5hbWUgaW4gb3B0aW9ucykge1xuICAgICAgLyogaXN0YW5idWwgaWdub3JlIGVsc2UgKi9cbiAgICAgIGlmIChvcHRpb25zLmhhc093blByb3BlcnR5KG5hbWUpKSB7XG4gICAgICAgIGRlZmF1bHRzW25hbWVdID0gb3B0aW9uc1tuYW1lXTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGVmYXVsdHM7XG59XG5cbi8vXG4vLyBSYW5nZXMgYW5kIGV4Y2VwdGlvbnM6XG4vLyBMYXRpbi0xIFN1cHBsZW1lbnQsIDAwODBcdTIwMTMwMEZGXG4vLyAgLSBVKzAwRDcgIFx1MDBENyBNdWx0aXBsaWNhdGlvbiBzaWduXG4vLyAgLSBVKzAwRjcgIFx1MDBGNyBEaXZpc2lvbiBzaWduXG4vLyBMYXRpbiBFeHRlbmRlZC1BLCAwMTAwXHUyMDEzMDE3RlxuLy8gTGF0aW4gRXh0ZW5kZWQtQiwgMDE4MFx1MjAxMzAyNEZcbi8vIElQQSBFeHRlbnNpb25zLCAwMjUwXHUyMDEzMDJBRlxuLy8gU3BhY2luZyBNb2RpZmllciBMZXR0ZXJzLCAwMkIwXHUyMDEzMDJGRlxuLy8gIC0gVSswMkM3ICBcdTAyQzcgJiM3MTE7ICBDYXJvblxuLy8gIC0gVSswMkQ4ICBcdTAyRDggJiM3Mjg7ICBCcmV2ZVxuLy8gIC0gVSswMkQ5ICBcdTAyRDkgJiM3Mjk7ICBEb3QgQWJvdmVcbi8vICAtIFUrMDJEQSAgXHUwMkRBICYjNzMwOyAgUmluZyBBYm92ZVxuLy8gIC0gVSswMkRCICBcdTAyREIgJiM3MzE7ICBPZ29uZWtcbi8vICAtIFUrMDJEQyAgXHUwMkRDICYjNzMyOyAgU21hbGwgVGlsZGVcbi8vICAtIFUrMDJERCAgXHUwMkREICYjNzMzOyAgRG91YmxlIEFjdXRlIEFjY2VudFxuLy8gTGF0aW4gRXh0ZW5kZWQgQWRkaXRpb25hbCwgMUUwMFx1MjAxMzFFRkZcblxudmFyIGV4dGVuZGVkV29yZENoYXJzID0gL15bQS1aYS16XFx4QzAtXFx1MDJDNlxcdTAyQzgtXFx1MDJEN1xcdTAyREUtXFx1MDJGRlxcdTFFMDAtXFx1MUVGRl0rJC87XG52YXIgcmVXaGl0ZXNwYWNlID0gL1xcUy87XG52YXIgd29yZERpZmYgPSBuZXcgRGlmZigpO1xuXG53b3JkRGlmZi5lcXVhbHMgPSBmdW5jdGlvbiAobGVmdCwgcmlnaHQpIHtcbiAgaWYgKHRoaXMub3B0aW9ucy5pZ25vcmVDYXNlKSB7XG4gICAgbGVmdCA9IGxlZnQudG9Mb3dlckNhc2UoKTtcbiAgICByaWdodCA9IHJpZ2h0LnRvTG93ZXJDYXNlKCk7XG4gIH1cblxuICByZXR1cm4gbGVmdCA9PT0gcmlnaHQgfHwgdGhpcy5vcHRpb25zLmlnbm9yZVdoaXRlc3BhY2UgJiYgIXJlV2hpdGVzcGFjZS50ZXN0KGxlZnQpICYmICFyZVdoaXRlc3BhY2UudGVzdChyaWdodCk7XG59O1xuXG53b3JkRGlmZi50b2tlbml6ZSA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICAvLyBBbGwgd2hpdGVzcGFjZSBzeW1ib2xzIGV4Y2VwdCBuZXdsaW5lIGdyb3VwIGludG8gb25lIHRva2VuLCBlYWNoIG5ld2xpbmUgLSBpbiBzZXBhcmF0ZSB0b2tlblxuICB2YXIgdG9rZW5zID0gdmFsdWUuc3BsaXQoLyhbXlxcU1xcclxcbl0rfFsoKVtcXF17fSdcIlxcclxcbl18XFxiKS8pOyAvLyBKb2luIHRoZSBib3VuZGFyeSBzcGxpdHMgdGhhdCB3ZSBkbyBub3QgY29uc2lkZXIgdG8gYmUgYm91bmRhcmllcy4gVGhpcyBpcyBwcmltYXJpbHkgdGhlIGV4dGVuZGVkIExhdGluIGNoYXJhY3RlciBzZXQuXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCB0b2tlbnMubGVuZ3RoIC0gMTsgaSsrKSB7XG4gICAgLy8gSWYgd2UgaGF2ZSBhbiBlbXB0eSBzdHJpbmcgaW4gdGhlIG5leHQgZmllbGQgYW5kIHdlIGhhdmUgb25seSB3b3JkIGNoYXJzIGJlZm9yZSBhbmQgYWZ0ZXIsIG1lcmdlXG4gICAgaWYgKCF0b2tlbnNbaSArIDFdICYmIHRva2Vuc1tpICsgMl0gJiYgZXh0ZW5kZWRXb3JkQ2hhcnMudGVzdCh0b2tlbnNbaV0pICYmIGV4dGVuZGVkV29yZENoYXJzLnRlc3QodG9rZW5zW2kgKyAyXSkpIHtcbiAgICAgIHRva2Vuc1tpXSArPSB0b2tlbnNbaSArIDJdO1xuICAgICAgdG9rZW5zLnNwbGljZShpICsgMSwgMik7XG4gICAgICBpLS07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRva2Vucztcbn07XG5cbmZ1bmN0aW9uIGRpZmZXb3JkcyhvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucykge1xuICBvcHRpb25zID0gZ2VuZXJhdGVPcHRpb25zKG9wdGlvbnMsIHtcbiAgICBpZ25vcmVXaGl0ZXNwYWNlOiB0cnVlXG4gIH0pO1xuICByZXR1cm4gd29yZERpZmYuZGlmZihvbGRTdHIsIG5ld1N0ciwgb3B0aW9ucyk7XG59XG5mdW5jdGlvbiBkaWZmV29yZHNXaXRoU3BhY2Uob2xkU3RyLCBuZXdTdHIsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIHdvcmREaWZmLmRpZmYob2xkU3RyLCBuZXdTdHIsIG9wdGlvbnMpO1xufVxuXG52YXIgbGluZURpZmYgPSBuZXcgRGlmZigpO1xuXG5saW5lRGlmZi50b2tlbml6ZSA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICBpZiAodGhpcy5vcHRpb25zLnN0cmlwVHJhaWxpbmdDcikge1xuICAgIC8vIHJlbW92ZSBvbmUgXFxyIGJlZm9yZSBcXG4gdG8gbWF0Y2ggR05VIGRpZmYncyAtLXN0cmlwLXRyYWlsaW5nLWNyIGJlaGF2aW9yXG4gICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9cXHJcXG4vZywgJ1xcbicpO1xuICB9XG5cbiAgdmFyIHJldExpbmVzID0gW10sXG4gICAgICBsaW5lc0FuZE5ld2xpbmVzID0gdmFsdWUuc3BsaXQoLyhcXG58XFxyXFxuKS8pOyAvLyBJZ25vcmUgdGhlIGZpbmFsIGVtcHR5IHRva2VuIHRoYXQgb2NjdXJzIGlmIHRoZSBzdHJpbmcgZW5kcyB3aXRoIGEgbmV3IGxpbmVcblxuICBpZiAoIWxpbmVzQW5kTmV3bGluZXNbbGluZXNBbmROZXdsaW5lcy5sZW5ndGggLSAxXSkge1xuICAgIGxpbmVzQW5kTmV3bGluZXMucG9wKCk7XG4gIH0gLy8gTWVyZ2UgdGhlIGNvbnRlbnQgYW5kIGxpbmUgc2VwYXJhdG9ycyBpbnRvIHNpbmdsZSB0b2tlbnNcblxuXG4gIGZvciAodmFyIGkgPSAwOyBpIDwgbGluZXNBbmROZXdsaW5lcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBsaW5lID0gbGluZXNBbmROZXdsaW5lc1tpXTtcblxuICAgIGlmIChpICUgMiAmJiAhdGhpcy5vcHRpb25zLm5ld2xpbmVJc1Rva2VuKSB7XG4gICAgICByZXRMaW5lc1tyZXRMaW5lcy5sZW5ndGggLSAxXSArPSBsaW5lO1xuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5vcHRpb25zLmlnbm9yZVdoaXRlc3BhY2UpIHtcbiAgICAgICAgbGluZSA9IGxpbmUudHJpbSgpO1xuICAgICAgfVxuXG4gICAgICByZXRMaW5lcy5wdXNoKGxpbmUpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiByZXRMaW5lcztcbn07XG5cbmZ1bmN0aW9uIGRpZmZMaW5lcyhvbGRTdHIsIG5ld1N0ciwgY2FsbGJhY2spIHtcbiAgcmV0dXJuIGxpbmVEaWZmLmRpZmYob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKTtcbn1cbmZ1bmN0aW9uIGRpZmZUcmltbWVkTGluZXMob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKSB7XG4gIHZhciBvcHRpb25zID0gZ2VuZXJhdGVPcHRpb25zKGNhbGxiYWNrLCB7XG4gICAgaWdub3JlV2hpdGVzcGFjZTogdHJ1ZVxuICB9KTtcbiAgcmV0dXJuIGxpbmVEaWZmLmRpZmYob2xkU3RyLCBuZXdTdHIsIG9wdGlvbnMpO1xufVxuXG52YXIgc2VudGVuY2VEaWZmID0gbmV3IERpZmYoKTtcblxuc2VudGVuY2VEaWZmLnRva2VuaXplID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZS5zcGxpdCgvKFxcUy4rP1suIT9dKSg/PVxccyt8JCkvKTtcbn07XG5cbmZ1bmN0aW9uIGRpZmZTZW50ZW5jZXMob2xkU3RyLCBuZXdTdHIsIGNhbGxiYWNrKSB7XG4gIHJldHVybiBzZW50ZW5jZURpZmYuZGlmZihvbGRTdHIsIG5ld1N0ciwgY2FsbGJhY2spO1xufVxuXG52YXIgY3NzRGlmZiA9IG5ldyBEaWZmKCk7XG5cbmNzc0RpZmYudG9rZW5pemUgPSBmdW5jdGlvbiAodmFsdWUpIHtcbiAgcmV0dXJuIHZhbHVlLnNwbGl0KC8oW3t9OjssXXxcXHMrKS8pO1xufTtcblxuZnVuY3Rpb24gZGlmZkNzcyhvbGRTdHIsIG5ld1N0ciwgY2FsbGJhY2spIHtcbiAgcmV0dXJuIGNzc0RpZmYuZGlmZihvbGRTdHIsIG5ld1N0ciwgY2FsbGJhY2spO1xufVxuXG5mdW5jdGlvbiBfdHlwZW9mKG9iaikge1xuICBcIkBiYWJlbC9oZWxwZXJzIC0gdHlwZW9mXCI7XG5cbiAgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwiZnVuY3Rpb25cIiAmJiB0eXBlb2YgU3ltYm9sLml0ZXJhdG9yID09PSBcInN5bWJvbFwiKSB7XG4gICAgX3R5cGVvZiA9IGZ1bmN0aW9uIChvYmopIHtcbiAgICAgIHJldHVybiB0eXBlb2Ygb2JqO1xuICAgIH07XG4gIH0gZWxzZSB7XG4gICAgX3R5cGVvZiA9IGZ1bmN0aW9uIChvYmopIHtcbiAgICAgIHJldHVybiBvYmogJiYgdHlwZW9mIFN5bWJvbCA9PT0gXCJmdW5jdGlvblwiICYmIG9iai5jb25zdHJ1Y3RvciA9PT0gU3ltYm9sICYmIG9iaiAhPT0gU3ltYm9sLnByb3RvdHlwZSA/IFwic3ltYm9sXCIgOiB0eXBlb2Ygb2JqO1xuICAgIH07XG4gIH1cblxuICByZXR1cm4gX3R5cGVvZihvYmopO1xufVxuXG5mdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7XG4gIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmpba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cblxuZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7XG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcblxuICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgIHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpO1xuICAgIGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHtcbiAgICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlO1xuICAgIH0pO1xuICAgIGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTtcbiAgfVxuXG4gIHJldHVybiBrZXlzO1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkMih0YXJnZXQpIHtcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTtcblxuICAgIGlmIChpICUgMikge1xuICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZnVuY3Rpb24gX3RvQ29uc3VtYWJsZUFycmF5KGFycikge1xuICByZXR1cm4gX2FycmF5V2l0aG91dEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShhcnIpIHx8IF9ub25JdGVyYWJsZVNwcmVhZCgpO1xufVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRob3V0SG9sZXMoYXJyKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShhcnIpO1xufVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5KGl0ZXIpIHtcbiAgaWYgKHR5cGVvZiBTeW1ib2wgIT09IFwidW5kZWZpbmVkXCIgJiYgU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChpdGVyKSkgcmV0dXJuIEFycmF5LmZyb20oaXRlcik7XG59XG5cbmZ1bmN0aW9uIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShvLCBtaW5MZW4pIHtcbiAgaWYgKCFvKSByZXR1cm47XG4gIGlmICh0eXBlb2YgbyA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7XG4gIHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLnNsaWNlKDgsIC0xKTtcbiAgaWYgKG4gPT09IFwiT2JqZWN0XCIgJiYgby5jb25zdHJ1Y3RvcikgbiA9IG8uY29uc3RydWN0b3IubmFtZTtcbiAgaWYgKG4gPT09IFwiTWFwXCIgfHwgbiA9PT0gXCJTZXRcIikgcmV0dXJuIEFycmF5LmZyb20obyk7XG4gIGlmIChuID09PSBcIkFyZ3VtZW50c1wiIHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTtcbn1cblxuZnVuY3Rpb24gX2FycmF5TGlrZVRvQXJyYXkoYXJyLCBsZW4pIHtcbiAgaWYgKGxlbiA9PSBudWxsIHx8IGxlbiA+IGFyci5sZW5ndGgpIGxlbiA9IGFyci5sZW5ndGg7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGFycjIgPSBuZXcgQXJyYXkobGVuKTsgaSA8IGxlbjsgaSsrKSBhcnIyW2ldID0gYXJyW2ldO1xuXG4gIHJldHVybiBhcnIyO1xufVxuXG5mdW5jdGlvbiBfbm9uSXRlcmFibGVTcHJlYWQoKSB7XG4gIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gc3ByZWFkIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpO1xufVxuXG52YXIgb2JqZWN0UHJvdG90eXBlVG9TdHJpbmcgPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nO1xudmFyIGpzb25EaWZmID0gbmV3IERpZmYoKTsgLy8gRGlzY3JpbWluYXRlIGJldHdlZW4gdHdvIGxpbmVzIG9mIHByZXR0eS1wcmludGVkLCBzZXJpYWxpemVkIEpTT04gd2hlcmUgb25lIG9mIHRoZW0gaGFzIGFcbi8vIGRhbmdsaW5nIGNvbW1hIGFuZCB0aGUgb3RoZXIgZG9lc24ndC4gVHVybnMgb3V0IGluY2x1ZGluZyB0aGUgZGFuZ2xpbmcgY29tbWEgeWllbGRzIHRoZSBuaWNlc3Qgb3V0cHV0OlxuXG5qc29uRGlmZi51c2VMb25nZXN0VG9rZW4gPSB0cnVlO1xuanNvbkRpZmYudG9rZW5pemUgPSBsaW5lRGlmZi50b2tlbml6ZTtcblxuanNvbkRpZmYuY2FzdElucHV0ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gIHZhciBfdGhpcyRvcHRpb25zID0gdGhpcy5vcHRpb25zLFxuICAgICAgdW5kZWZpbmVkUmVwbGFjZW1lbnQgPSBfdGhpcyRvcHRpb25zLnVuZGVmaW5lZFJlcGxhY2VtZW50LFxuICAgICAgX3RoaXMkb3B0aW9ucyRzdHJpbmdpID0gX3RoaXMkb3B0aW9ucy5zdHJpbmdpZnlSZXBsYWNlcixcbiAgICAgIHN0cmluZ2lmeVJlcGxhY2VyID0gX3RoaXMkb3B0aW9ucyRzdHJpbmdpID09PSB2b2lkIDAgPyBmdW5jdGlvbiAoaywgdikge1xuICAgIHJldHVybiB0eXBlb2YgdiA9PT0gJ3VuZGVmaW5lZCcgPyB1bmRlZmluZWRSZXBsYWNlbWVudCA6IHY7XG4gIH0gOiBfdGhpcyRvcHRpb25zJHN0cmluZ2k7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gdmFsdWUgOiBKU09OLnN0cmluZ2lmeShjYW5vbmljYWxpemUodmFsdWUsIG51bGwsIG51bGwsIHN0cmluZ2lmeVJlcGxhY2VyKSwgc3RyaW5naWZ5UmVwbGFjZXIsICcgICcpO1xufTtcblxuanNvbkRpZmYuZXF1YWxzID0gZnVuY3Rpb24gKGxlZnQsIHJpZ2h0KSB7XG4gIHJldHVybiBEaWZmLnByb3RvdHlwZS5lcXVhbHMuY2FsbChqc29uRGlmZiwgbGVmdC5yZXBsYWNlKC8sKFtcXHJcXG5dKS9nLCAnJDEnKSwgcmlnaHQucmVwbGFjZSgvLChbXFxyXFxuXSkvZywgJyQxJykpO1xufTtcblxuZnVuY3Rpb24gZGlmZkpzb24ob2xkT2JqLCBuZXdPYmosIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGpzb25EaWZmLmRpZmYob2xkT2JqLCBuZXdPYmosIG9wdGlvbnMpO1xufSAvLyBUaGlzIGZ1bmN0aW9uIGhhbmRsZXMgdGhlIHByZXNlbmNlIG9mIGNpcmN1bGFyIHJlZmVyZW5jZXMgYnkgYmFpbGluZyBvdXQgd2hlbiBlbmNvdW50ZXJpbmcgYW5cbi8vIG9iamVjdCB0aGF0IGlzIGFscmVhZHkgb24gdGhlIFwic3RhY2tcIiBvZiBpdGVtcyBiZWluZyBwcm9jZXNzZWQuIEFjY2VwdHMgYW4gb3B0aW9uYWwgcmVwbGFjZXJcblxuZnVuY3Rpb24gY2Fub25pY2FsaXplKG9iaiwgc3RhY2ssIHJlcGxhY2VtZW50U3RhY2ssIHJlcGxhY2VyLCBrZXkpIHtcbiAgc3RhY2sgPSBzdGFjayB8fCBbXTtcbiAgcmVwbGFjZW1lbnRTdGFjayA9IHJlcGxhY2VtZW50U3RhY2sgfHwgW107XG5cbiAgaWYgKHJlcGxhY2VyKSB7XG4gICAgb2JqID0gcmVwbGFjZXIoa2V5LCBvYmopO1xuICB9XG5cbiAgdmFyIGk7XG5cbiAgZm9yIChpID0gMDsgaSA8IHN0YWNrLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgaWYgKHN0YWNrW2ldID09PSBvYmopIHtcbiAgICAgIHJldHVybiByZXBsYWNlbWVudFN0YWNrW2ldO1xuICAgIH1cbiAgfVxuXG4gIHZhciBjYW5vbmljYWxpemVkT2JqO1xuXG4gIGlmICgnW29iamVjdCBBcnJheV0nID09PSBvYmplY3RQcm90b3R5cGVUb1N0cmluZy5jYWxsKG9iaikpIHtcbiAgICBzdGFjay5wdXNoKG9iaik7XG4gICAgY2Fub25pY2FsaXplZE9iaiA9IG5ldyBBcnJheShvYmoubGVuZ3RoKTtcbiAgICByZXBsYWNlbWVudFN0YWNrLnB1c2goY2Fub25pY2FsaXplZE9iaik7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgb2JqLmxlbmd0aDsgaSArPSAxKSB7XG4gICAgICBjYW5vbmljYWxpemVkT2JqW2ldID0gY2Fub25pY2FsaXplKG9ialtpXSwgc3RhY2ssIHJlcGxhY2VtZW50U3RhY2ssIHJlcGxhY2VyLCBrZXkpO1xuICAgIH1cblxuICAgIHN0YWNrLnBvcCgpO1xuICAgIHJlcGxhY2VtZW50U3RhY2sucG9wKCk7XG4gICAgcmV0dXJuIGNhbm9uaWNhbGl6ZWRPYmo7XG4gIH1cblxuICBpZiAob2JqICYmIG9iai50b0pTT04pIHtcbiAgICBvYmogPSBvYmoudG9KU09OKCk7XG4gIH1cblxuICBpZiAoX3R5cGVvZihvYmopID09PSAnb2JqZWN0JyAmJiBvYmogIT09IG51bGwpIHtcbiAgICBzdGFjay5wdXNoKG9iaik7XG4gICAgY2Fub25pY2FsaXplZE9iaiA9IHt9O1xuICAgIHJlcGxhY2VtZW50U3RhY2sucHVzaChjYW5vbmljYWxpemVkT2JqKTtcblxuICAgIHZhciBzb3J0ZWRLZXlzID0gW10sXG4gICAgICAgIF9rZXk7XG5cbiAgICBmb3IgKF9rZXkgaW4gb2JqKSB7XG4gICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgaWYgKG9iai5oYXNPd25Qcm9wZXJ0eShfa2V5KSkge1xuICAgICAgICBzb3J0ZWRLZXlzLnB1c2goX2tleSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgc29ydGVkS2V5cy5zb3J0KCk7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgc29ydGVkS2V5cy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgX2tleSA9IHNvcnRlZEtleXNbaV07XG4gICAgICBjYW5vbmljYWxpemVkT2JqW19rZXldID0gY2Fub25pY2FsaXplKG9ialtfa2V5XSwgc3RhY2ssIHJlcGxhY2VtZW50U3RhY2ssIHJlcGxhY2VyLCBfa2V5KTtcbiAgICB9XG5cbiAgICBzdGFjay5wb3AoKTtcbiAgICByZXBsYWNlbWVudFN0YWNrLnBvcCgpO1xuICB9IGVsc2Uge1xuICAgIGNhbm9uaWNhbGl6ZWRPYmogPSBvYmo7XG4gIH1cblxuICByZXR1cm4gY2Fub25pY2FsaXplZE9iajtcbn1cblxudmFyIGFycmF5RGlmZiA9IG5ldyBEaWZmKCk7XG5cbmFycmF5RGlmZi50b2tlbml6ZSA9IGZ1bmN0aW9uICh2YWx1ZSkge1xuICByZXR1cm4gdmFsdWUuc2xpY2UoKTtcbn07XG5cbmFycmF5RGlmZi5qb2luID0gYXJyYXlEaWZmLnJlbW92ZUVtcHR5ID0gZnVuY3Rpb24gKHZhbHVlKSB7XG4gIHJldHVybiB2YWx1ZTtcbn07XG5cbmZ1bmN0aW9uIGRpZmZBcnJheXMob2xkQXJyLCBuZXdBcnIsIGNhbGxiYWNrKSB7XG4gIHJldHVybiBhcnJheURpZmYuZGlmZihvbGRBcnIsIG5ld0FyciwgY2FsbGJhY2spO1xufVxuXG5mdW5jdGlvbiBwYXJzZVBhdGNoKHVuaURpZmYpIHtcbiAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICB2YXIgZGlmZnN0ciA9IHVuaURpZmYuc3BsaXQoL1xcclxcbnxbXFxuXFx2XFxmXFxyXFx4ODVdLyksXG4gICAgICBkZWxpbWl0ZXJzID0gdW5pRGlmZi5tYXRjaCgvXFxyXFxufFtcXG5cXHZcXGZcXHJcXHg4NV0vZykgfHwgW10sXG4gICAgICBsaXN0ID0gW10sXG4gICAgICBpID0gMDtcblxuICBmdW5jdGlvbiBwYXJzZUluZGV4KCkge1xuICAgIHZhciBpbmRleCA9IHt9O1xuICAgIGxpc3QucHVzaChpbmRleCk7IC8vIFBhcnNlIGRpZmYgbWV0YWRhdGFcblxuICAgIHdoaWxlIChpIDwgZGlmZnN0ci5sZW5ndGgpIHtcbiAgICAgIHZhciBsaW5lID0gZGlmZnN0cltpXTsgLy8gRmlsZSBoZWFkZXIgZm91bmQsIGVuZCBwYXJzaW5nIGRpZmYgbWV0YWRhdGFcblxuICAgICAgaWYgKC9eKFxcLVxcLVxcLXxcXCtcXCtcXCt8QEApXFxzLy50ZXN0KGxpbmUpKSB7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfSAvLyBEaWZmIGluZGV4XG5cblxuICAgICAgdmFyIGhlYWRlciA9IC9eKD86SW5kZXg6fGRpZmYoPzogLXIgXFx3KykrKVxccysoLis/KVxccyokLy5leGVjKGxpbmUpO1xuXG4gICAgICBpZiAoaGVhZGVyKSB7XG4gICAgICAgIGluZGV4LmluZGV4ID0gaGVhZGVyWzFdO1xuICAgICAgfVxuXG4gICAgICBpKys7XG4gICAgfSAvLyBQYXJzZSBmaWxlIGhlYWRlcnMgaWYgdGhleSBhcmUgZGVmaW5lZC4gVW5pZmllZCBkaWZmIHJlcXVpcmVzIHRoZW0sIGJ1dFxuICAgIC8vIHRoZXJlJ3Mgbm8gdGVjaG5pY2FsIGlzc3VlcyB0byBoYXZlIGFuIGlzb2xhdGVkIGh1bmsgd2l0aG91dCBmaWxlIGhlYWRlclxuXG5cbiAgICBwYXJzZUZpbGVIZWFkZXIoaW5kZXgpO1xuICAgIHBhcnNlRmlsZUhlYWRlcihpbmRleCk7IC8vIFBhcnNlIGh1bmtzXG5cbiAgICBpbmRleC5odW5rcyA9IFtdO1xuXG4gICAgd2hpbGUgKGkgPCBkaWZmc3RyLmxlbmd0aCkge1xuICAgICAgdmFyIF9saW5lID0gZGlmZnN0cltpXTtcblxuICAgICAgaWYgKC9eKEluZGV4OnxkaWZmfFxcLVxcLVxcLXxcXCtcXCtcXCspXFxzLy50ZXN0KF9saW5lKSkge1xuICAgICAgICBicmVhaztcbiAgICAgIH0gZWxzZSBpZiAoL15AQC8udGVzdChfbGluZSkpIHtcbiAgICAgICAgaW5kZXguaHVua3MucHVzaChwYXJzZUh1bmsoKSk7XG4gICAgICB9IGVsc2UgaWYgKF9saW5lICYmIG9wdGlvbnMuc3RyaWN0KSB7XG4gICAgICAgIC8vIElnbm9yZSB1bmV4cGVjdGVkIGNvbnRlbnQgdW5sZXNzIGluIHN0cmljdCBtb2RlXG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5rbm93biBsaW5lICcgKyAoaSArIDEpICsgJyAnICsgSlNPTi5zdHJpbmdpZnkoX2xpbmUpKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGkrKztcbiAgICAgIH1cbiAgICB9XG4gIH0gLy8gUGFyc2VzIHRoZSAtLS0gYW5kICsrKyBoZWFkZXJzLCBpZiBub25lIGFyZSBmb3VuZCwgbm8gbGluZXNcbiAgLy8gYXJlIGNvbnN1bWVkLlxuXG5cbiAgZnVuY3Rpb24gcGFyc2VGaWxlSGVhZGVyKGluZGV4KSB7XG4gICAgdmFyIGZpbGVIZWFkZXIgPSAvXigtLS18XFwrXFwrXFwrKVxccysoLiopJC8uZXhlYyhkaWZmc3RyW2ldKTtcblxuICAgIGlmIChmaWxlSGVhZGVyKSB7XG4gICAgICB2YXIga2V5UHJlZml4ID0gZmlsZUhlYWRlclsxXSA9PT0gJy0tLScgPyAnb2xkJyA6ICduZXcnO1xuICAgICAgdmFyIGRhdGEgPSBmaWxlSGVhZGVyWzJdLnNwbGl0KCdcXHQnLCAyKTtcbiAgICAgIHZhciBmaWxlTmFtZSA9IGRhdGFbMF0ucmVwbGFjZSgvXFxcXFxcXFwvZywgJ1xcXFwnKTtcblxuICAgICAgaWYgKC9eXCIuKlwiJC8udGVzdChmaWxlTmFtZSkpIHtcbiAgICAgICAgZmlsZU5hbWUgPSBmaWxlTmFtZS5zdWJzdHIoMSwgZmlsZU5hbWUubGVuZ3RoIC0gMik7XG4gICAgICB9XG5cbiAgICAgIGluZGV4W2tleVByZWZpeCArICdGaWxlTmFtZSddID0gZmlsZU5hbWU7XG4gICAgICBpbmRleFtrZXlQcmVmaXggKyAnSGVhZGVyJ10gPSAoZGF0YVsxXSB8fCAnJykudHJpbSgpO1xuICAgICAgaSsrO1xuICAgIH1cbiAgfSAvLyBQYXJzZXMgYSBodW5rXG4gIC8vIFRoaXMgYXNzdW1lcyB0aGF0IHdlIGFyZSBhdCB0aGUgc3RhcnQgb2YgYSBodW5rLlxuXG5cbiAgZnVuY3Rpb24gcGFyc2VIdW5rKCkge1xuICAgIHZhciBjaHVua0hlYWRlckluZGV4ID0gaSxcbiAgICAgICAgY2h1bmtIZWFkZXJMaW5lID0gZGlmZnN0cltpKytdLFxuICAgICAgICBjaHVua0hlYWRlciA9IGNodW5rSGVhZGVyTGluZS5zcGxpdCgvQEAgLShcXGQrKSg/OiwoXFxkKykpPyBcXCsoXFxkKykoPzosKFxcZCspKT8gQEAvKTtcbiAgICB2YXIgaHVuayA9IHtcbiAgICAgIG9sZFN0YXJ0OiArY2h1bmtIZWFkZXJbMV0sXG4gICAgICBvbGRMaW5lczogdHlwZW9mIGNodW5rSGVhZGVyWzJdID09PSAndW5kZWZpbmVkJyA/IDEgOiArY2h1bmtIZWFkZXJbMl0sXG4gICAgICBuZXdTdGFydDogK2NodW5rSGVhZGVyWzNdLFxuICAgICAgbmV3TGluZXM6IHR5cGVvZiBjaHVua0hlYWRlcls0XSA9PT0gJ3VuZGVmaW5lZCcgPyAxIDogK2NodW5rSGVhZGVyWzRdLFxuICAgICAgbGluZXM6IFtdLFxuICAgICAgbGluZWRlbGltaXRlcnM6IFtdXG4gICAgfTsgLy8gVW5pZmllZCBEaWZmIEZvcm1hdCBxdWlyazogSWYgdGhlIGNodW5rIHNpemUgaXMgMCxcbiAgICAvLyB0aGUgZmlyc3QgbnVtYmVyIGlzIG9uZSBsb3dlciB0aGFuIG9uZSB3b3VsZCBleHBlY3QuXG4gICAgLy8gaHR0cHM6Ly93d3cuYXJ0aW1hLmNvbS93ZWJsb2dzL3ZpZXdwb3N0LmpzcD90aHJlYWQ9MTY0MjkzXG5cbiAgICBpZiAoaHVuay5vbGRMaW5lcyA9PT0gMCkge1xuICAgICAgaHVuay5vbGRTdGFydCArPSAxO1xuICAgIH1cblxuICAgIGlmIChodW5rLm5ld0xpbmVzID09PSAwKSB7XG4gICAgICBodW5rLm5ld1N0YXJ0ICs9IDE7XG4gICAgfVxuXG4gICAgdmFyIGFkZENvdW50ID0gMCxcbiAgICAgICAgcmVtb3ZlQ291bnQgPSAwO1xuXG4gICAgZm9yICg7IGkgPCBkaWZmc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICAvLyBMaW5lcyBzdGFydGluZyB3aXRoICctLS0nIGNvdWxkIGJlIG1pc3Rha2VuIGZvciB0aGUgXCJyZW1vdmUgbGluZVwiIG9wZXJhdGlvblxuICAgICAgLy8gQnV0IHRoZXkgY291bGQgYmUgdGhlIGhlYWRlciBmb3IgdGhlIG5leHQgZmlsZS4gVGhlcmVmb3JlIHBydW5lIHN1Y2ggY2FzZXMgb3V0LlxuICAgICAgaWYgKGRpZmZzdHJbaV0uaW5kZXhPZignLS0tICcpID09PSAwICYmIGkgKyAyIDwgZGlmZnN0ci5sZW5ndGggJiYgZGlmZnN0cltpICsgMV0uaW5kZXhPZignKysrICcpID09PSAwICYmIGRpZmZzdHJbaSArIDJdLmluZGV4T2YoJ0BAJykgPT09IDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG5cbiAgICAgIHZhciBvcGVyYXRpb24gPSBkaWZmc3RyW2ldLmxlbmd0aCA9PSAwICYmIGkgIT0gZGlmZnN0ci5sZW5ndGggLSAxID8gJyAnIDogZGlmZnN0cltpXVswXTtcblxuICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gJysnIHx8IG9wZXJhdGlvbiA9PT0gJy0nIHx8IG9wZXJhdGlvbiA9PT0gJyAnIHx8IG9wZXJhdGlvbiA9PT0gJ1xcXFwnKSB7XG4gICAgICAgIGh1bmsubGluZXMucHVzaChkaWZmc3RyW2ldKTtcbiAgICAgICAgaHVuay5saW5lZGVsaW1pdGVycy5wdXNoKGRlbGltaXRlcnNbaV0gfHwgJ1xcbicpO1xuXG4gICAgICAgIGlmIChvcGVyYXRpb24gPT09ICcrJykge1xuICAgICAgICAgIGFkZENvdW50Kys7XG4gICAgICAgIH0gZWxzZSBpZiAob3BlcmF0aW9uID09PSAnLScpIHtcbiAgICAgICAgICByZW1vdmVDb3VudCsrO1xuICAgICAgICB9IGVsc2UgaWYgKG9wZXJhdGlvbiA9PT0gJyAnKSB7XG4gICAgICAgICAgYWRkQ291bnQrKztcbiAgICAgICAgICByZW1vdmVDb3VudCsrO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9IC8vIEhhbmRsZSB0aGUgZW1wdHkgYmxvY2sgY291bnQgY2FzZVxuXG5cbiAgICBpZiAoIWFkZENvdW50ICYmIGh1bmsubmV3TGluZXMgPT09IDEpIHtcbiAgICAgIGh1bmsubmV3TGluZXMgPSAwO1xuICAgIH1cblxuICAgIGlmICghcmVtb3ZlQ291bnQgJiYgaHVuay5vbGRMaW5lcyA9PT0gMSkge1xuICAgICAgaHVuay5vbGRMaW5lcyA9IDA7XG4gICAgfSAvLyBQZXJmb3JtIG9wdGlvbmFsIHNhbml0eSBjaGVja2luZ1xuXG5cbiAgICBpZiAob3B0aW9ucy5zdHJpY3QpIHtcbiAgICAgIGlmIChhZGRDb3VudCAhPT0gaHVuay5uZXdMaW5lcykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0FkZGVkIGxpbmUgY291bnQgZGlkIG5vdCBtYXRjaCBmb3IgaHVuayBhdCBsaW5lICcgKyAoY2h1bmtIZWFkZXJJbmRleCArIDEpKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHJlbW92ZUNvdW50ICE9PSBodW5rLm9sZExpbmVzKSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignUmVtb3ZlZCBsaW5lIGNvdW50IGRpZCBub3QgbWF0Y2ggZm9yIGh1bmsgYXQgbGluZSAnICsgKGNodW5rSGVhZGVySW5kZXggKyAxKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGh1bms7XG4gIH1cblxuICB3aGlsZSAoaSA8IGRpZmZzdHIubGVuZ3RoKSB7XG4gICAgcGFyc2VJbmRleCgpO1xuICB9XG5cbiAgcmV0dXJuIGxpc3Q7XG59XG5cbi8vIEl0ZXJhdG9yIHRoYXQgdHJhdmVyc2VzIGluIHRoZSByYW5nZSBvZiBbbWluLCBtYXhdLCBzdGVwcGluZ1xuLy8gYnkgZGlzdGFuY2UgZnJvbSBhIGdpdmVuIHN0YXJ0IHBvc2l0aW9uLiBJLmUuIGZvciBbMCwgNF0sIHdpdGhcbi8vIHN0YXJ0IG9mIDIsIHRoaXMgd2lsbCBpdGVyYXRlIDIsIDMsIDEsIDQsIDAuXG5mdW5jdGlvbiBkaXN0YW5jZUl0ZXJhdG9yIChzdGFydCwgbWluTGluZSwgbWF4TGluZSkge1xuICB2YXIgd2FudEZvcndhcmQgPSB0cnVlLFxuICAgICAgYmFja3dhcmRFeGhhdXN0ZWQgPSBmYWxzZSxcbiAgICAgIGZvcndhcmRFeGhhdXN0ZWQgPSBmYWxzZSxcbiAgICAgIGxvY2FsT2Zmc2V0ID0gMTtcbiAgcmV0dXJuIGZ1bmN0aW9uIGl0ZXJhdG9yKCkge1xuICAgIGlmICh3YW50Rm9yd2FyZCAmJiAhZm9yd2FyZEV4aGF1c3RlZCkge1xuICAgICAgaWYgKGJhY2t3YXJkRXhoYXVzdGVkKSB7XG4gICAgICAgIGxvY2FsT2Zmc2V0Kys7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB3YW50Rm9yd2FyZCA9IGZhbHNlO1xuICAgICAgfSAvLyBDaGVjayBpZiB0cnlpbmcgdG8gZml0IGJleW9uZCB0ZXh0IGxlbmd0aCwgYW5kIGlmIG5vdCwgY2hlY2sgaXQgZml0c1xuICAgICAgLy8gYWZ0ZXIgb2Zmc2V0IGxvY2F0aW9uIChvciBkZXNpcmVkIGxvY2F0aW9uIG9uIGZpcnN0IGl0ZXJhdGlvbilcblxuXG4gICAgICBpZiAoc3RhcnQgKyBsb2NhbE9mZnNldCA8PSBtYXhMaW5lKSB7XG4gICAgICAgIHJldHVybiBsb2NhbE9mZnNldDtcbiAgICAgIH1cblxuICAgICAgZm9yd2FyZEV4aGF1c3RlZCA9IHRydWU7XG4gICAgfVxuXG4gICAgaWYgKCFiYWNrd2FyZEV4aGF1c3RlZCkge1xuICAgICAgaWYgKCFmb3J3YXJkRXhoYXVzdGVkKSB7XG4gICAgICAgIHdhbnRGb3J3YXJkID0gdHJ1ZTtcbiAgICAgIH0gLy8gQ2hlY2sgaWYgdHJ5aW5nIHRvIGZpdCBiZWZvcmUgdGV4dCBiZWdpbm5pbmcsIGFuZCBpZiBub3QsIGNoZWNrIGl0IGZpdHNcbiAgICAgIC8vIGJlZm9yZSBvZmZzZXQgbG9jYXRpb25cblxuXG4gICAgICBpZiAobWluTGluZSA8PSBzdGFydCAtIGxvY2FsT2Zmc2V0KSB7XG4gICAgICAgIHJldHVybiAtbG9jYWxPZmZzZXQrKztcbiAgICAgIH1cblxuICAgICAgYmFja3dhcmRFeGhhdXN0ZWQgPSB0cnVlO1xuICAgICAgcmV0dXJuIGl0ZXJhdG9yKCk7XG4gICAgfSAvLyBXZSB0cmllZCB0byBmaXQgaHVuayBiZWZvcmUgdGV4dCBiZWdpbm5pbmcgYW5kIGJleW9uZCB0ZXh0IGxlbmd0aCwgdGhlblxuICAgIC8vIGh1bmsgY2FuJ3QgZml0IG9uIHRoZSB0ZXh0LiBSZXR1cm4gdW5kZWZpbmVkXG5cbiAgfTtcbn1cblxuZnVuY3Rpb24gYXBwbHlQYXRjaChzb3VyY2UsIHVuaURpZmYpIHtcbiAgdmFyIG9wdGlvbnMgPSBhcmd1bWVudHMubGVuZ3RoID4gMiAmJiBhcmd1bWVudHNbMl0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1syXSA6IHt9O1xuXG4gIGlmICh0eXBlb2YgdW5pRGlmZiA9PT0gJ3N0cmluZycpIHtcbiAgICB1bmlEaWZmID0gcGFyc2VQYXRjaCh1bmlEaWZmKTtcbiAgfVxuXG4gIGlmIChBcnJheS5pc0FycmF5KHVuaURpZmYpKSB7XG4gICAgaWYgKHVuaURpZmYubGVuZ3RoID4gMSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdhcHBseVBhdGNoIG9ubHkgd29ya3Mgd2l0aCBhIHNpbmdsZSBpbnB1dC4nKTtcbiAgICB9XG5cbiAgICB1bmlEaWZmID0gdW5pRGlmZlswXTtcbiAgfSAvLyBBcHBseSB0aGUgZGlmZiB0byB0aGUgaW5wdXRcblxuXG4gIHZhciBsaW5lcyA9IHNvdXJjZS5zcGxpdCgvXFxyXFxufFtcXG5cXHZcXGZcXHJcXHg4NV0vKSxcbiAgICAgIGRlbGltaXRlcnMgPSBzb3VyY2UubWF0Y2goL1xcclxcbnxbXFxuXFx2XFxmXFxyXFx4ODVdL2cpIHx8IFtdLFxuICAgICAgaHVua3MgPSB1bmlEaWZmLmh1bmtzLFxuICAgICAgY29tcGFyZUxpbmUgPSBvcHRpb25zLmNvbXBhcmVMaW5lIHx8IGZ1bmN0aW9uIChsaW5lTnVtYmVyLCBsaW5lLCBvcGVyYXRpb24sIHBhdGNoQ29udGVudCkge1xuICAgIHJldHVybiBsaW5lID09PSBwYXRjaENvbnRlbnQ7XG4gIH0sXG4gICAgICBlcnJvckNvdW50ID0gMCxcbiAgICAgIGZ1enpGYWN0b3IgPSBvcHRpb25zLmZ1enpGYWN0b3IgfHwgMCxcbiAgICAgIG1pbkxpbmUgPSAwLFxuICAgICAgb2Zmc2V0ID0gMCxcbiAgICAgIHJlbW92ZUVPRk5MLFxuICAgICAgYWRkRU9GTkw7XG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGh1bmsgZXhhY3RseSBmaXRzIG9uIHRoZSBwcm92aWRlZCBsb2NhdGlvblxuICAgKi9cblxuXG4gIGZ1bmN0aW9uIGh1bmtGaXRzKGh1bmssIHRvUG9zKSB7XG4gICAgZm9yICh2YXIgaiA9IDA7IGogPCBodW5rLmxpbmVzLmxlbmd0aDsgaisrKSB7XG4gICAgICB2YXIgbGluZSA9IGh1bmsubGluZXNbal0sXG4gICAgICAgICAgb3BlcmF0aW9uID0gbGluZS5sZW5ndGggPiAwID8gbGluZVswXSA6ICcgJyxcbiAgICAgICAgICBjb250ZW50ID0gbGluZS5sZW5ndGggPiAwID8gbGluZS5zdWJzdHIoMSkgOiBsaW5lO1xuXG4gICAgICBpZiAob3BlcmF0aW9uID09PSAnICcgfHwgb3BlcmF0aW9uID09PSAnLScpIHtcbiAgICAgICAgLy8gQ29udGV4dCBzYW5pdHkgY2hlY2tcbiAgICAgICAgaWYgKCFjb21wYXJlTGluZSh0b1BvcyArIDEsIGxpbmVzW3RvUG9zXSwgb3BlcmF0aW9uLCBjb250ZW50KSkge1xuICAgICAgICAgIGVycm9yQ291bnQrKztcblxuICAgICAgICAgIGlmIChlcnJvckNvdW50ID4gZnV6ekZhY3Rvcikge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRvUG9zKys7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0gLy8gU2VhcmNoIGJlc3QgZml0IG9mZnNldHMgZm9yIGVhY2ggaHVuayBiYXNlZCBvbiB0aGUgcHJldmlvdXMgb25lc1xuXG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBodW5rcy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBodW5rID0gaHVua3NbaV0sXG4gICAgICAgIG1heExpbmUgPSBsaW5lcy5sZW5ndGggLSBodW5rLm9sZExpbmVzLFxuICAgICAgICBsb2NhbE9mZnNldCA9IDAsXG4gICAgICAgIHRvUG9zID0gb2Zmc2V0ICsgaHVuay5vbGRTdGFydCAtIDE7XG4gICAgdmFyIGl0ZXJhdG9yID0gZGlzdGFuY2VJdGVyYXRvcih0b1BvcywgbWluTGluZSwgbWF4TGluZSk7XG5cbiAgICBmb3IgKDsgbG9jYWxPZmZzZXQgIT09IHVuZGVmaW5lZDsgbG9jYWxPZmZzZXQgPSBpdGVyYXRvcigpKSB7XG4gICAgICBpZiAoaHVua0ZpdHMoaHVuaywgdG9Qb3MgKyBsb2NhbE9mZnNldCkpIHtcbiAgICAgICAgaHVuay5vZmZzZXQgPSBvZmZzZXQgKz0gbG9jYWxPZmZzZXQ7XG4gICAgICAgIGJyZWFrO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChsb2NhbE9mZnNldCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSAvLyBTZXQgbG93ZXIgdGV4dCBsaW1pdCB0byBlbmQgb2YgdGhlIGN1cnJlbnQgaHVuaywgc28gbmV4dCBvbmVzIGRvbid0IHRyeVxuICAgIC8vIHRvIGZpdCBvdmVyIGFscmVhZHkgcGF0Y2hlZCB0ZXh0XG5cblxuICAgIG1pbkxpbmUgPSBodW5rLm9mZnNldCArIGh1bmsub2xkU3RhcnQgKyBodW5rLm9sZExpbmVzO1xuICB9IC8vIEFwcGx5IHBhdGNoIGh1bmtzXG5cblxuICB2YXIgZGlmZk9mZnNldCA9IDA7XG5cbiAgZm9yICh2YXIgX2kgPSAwOyBfaSA8IGh1bmtzLmxlbmd0aDsgX2krKykge1xuICAgIHZhciBfaHVuayA9IGh1bmtzW19pXSxcbiAgICAgICAgX3RvUG9zID0gX2h1bmsub2xkU3RhcnQgKyBfaHVuay5vZmZzZXQgKyBkaWZmT2Zmc2V0IC0gMTtcblxuICAgIGRpZmZPZmZzZXQgKz0gX2h1bmsubmV3TGluZXMgLSBfaHVuay5vbGRMaW5lcztcblxuICAgIGZvciAodmFyIGogPSAwOyBqIDwgX2h1bmsubGluZXMubGVuZ3RoOyBqKyspIHtcbiAgICAgIHZhciBsaW5lID0gX2h1bmsubGluZXNbal0sXG4gICAgICAgICAgb3BlcmF0aW9uID0gbGluZS5sZW5ndGggPiAwID8gbGluZVswXSA6ICcgJyxcbiAgICAgICAgICBjb250ZW50ID0gbGluZS5sZW5ndGggPiAwID8gbGluZS5zdWJzdHIoMSkgOiBsaW5lLFxuICAgICAgICAgIGRlbGltaXRlciA9IF9odW5rLmxpbmVkZWxpbWl0ZXJzICYmIF9odW5rLmxpbmVkZWxpbWl0ZXJzW2pdIHx8ICdcXG4nO1xuXG4gICAgICBpZiAob3BlcmF0aW9uID09PSAnICcpIHtcbiAgICAgICAgX3RvUG9zKys7XG4gICAgICB9IGVsc2UgaWYgKG9wZXJhdGlvbiA9PT0gJy0nKSB7XG4gICAgICAgIGxpbmVzLnNwbGljZShfdG9Qb3MsIDEpO1xuICAgICAgICBkZWxpbWl0ZXJzLnNwbGljZShfdG9Qb3MsIDEpO1xuICAgICAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgZWxzZSAqL1xuICAgICAgfSBlbHNlIGlmIChvcGVyYXRpb24gPT09ICcrJykge1xuICAgICAgICBsaW5lcy5zcGxpY2UoX3RvUG9zLCAwLCBjb250ZW50KTtcbiAgICAgICAgZGVsaW1pdGVycy5zcGxpY2UoX3RvUG9zLCAwLCBkZWxpbWl0ZXIpO1xuICAgICAgICBfdG9Qb3MrKztcbiAgICAgIH0gZWxzZSBpZiAob3BlcmF0aW9uID09PSAnXFxcXCcpIHtcbiAgICAgICAgdmFyIHByZXZpb3VzT3BlcmF0aW9uID0gX2h1bmsubGluZXNbaiAtIDFdID8gX2h1bmsubGluZXNbaiAtIDFdWzBdIDogbnVsbDtcblxuICAgICAgICBpZiAocHJldmlvdXNPcGVyYXRpb24gPT09ICcrJykge1xuICAgICAgICAgIHJlbW92ZUVPRk5MID0gdHJ1ZTtcbiAgICAgICAgfSBlbHNlIGlmIChwcmV2aW91c09wZXJhdGlvbiA9PT0gJy0nKSB7XG4gICAgICAgICAgYWRkRU9GTkwgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9IC8vIEhhbmRsZSBFT0ZOTCBpbnNlcnRpb24vcmVtb3ZhbFxuXG5cbiAgaWYgKHJlbW92ZUVPRk5MKSB7XG4gICAgd2hpbGUgKCFsaW5lc1tsaW5lcy5sZW5ndGggLSAxXSkge1xuICAgICAgbGluZXMucG9wKCk7XG4gICAgICBkZWxpbWl0ZXJzLnBvcCgpO1xuICAgIH1cbiAgfSBlbHNlIGlmIChhZGRFT0ZOTCkge1xuICAgIGxpbmVzLnB1c2goJycpO1xuICAgIGRlbGltaXRlcnMucHVzaCgnXFxuJyk7XG4gIH1cblxuICBmb3IgKHZhciBfayA9IDA7IF9rIDwgbGluZXMubGVuZ3RoIC0gMTsgX2srKykge1xuICAgIGxpbmVzW19rXSA9IGxpbmVzW19rXSArIGRlbGltaXRlcnNbX2tdO1xuICB9XG5cbiAgcmV0dXJuIGxpbmVzLmpvaW4oJycpO1xufSAvLyBXcmFwcGVyIHRoYXQgc3VwcG9ydHMgbXVsdGlwbGUgZmlsZSBwYXRjaGVzIHZpYSBjYWxsYmFja3MuXG5cbmZ1bmN0aW9uIGFwcGx5UGF0Y2hlcyh1bmlEaWZmLCBvcHRpb25zKSB7XG4gIGlmICh0eXBlb2YgdW5pRGlmZiA9PT0gJ3N0cmluZycpIHtcbiAgICB1bmlEaWZmID0gcGFyc2VQYXRjaCh1bmlEaWZmKTtcbiAgfVxuXG4gIHZhciBjdXJyZW50SW5kZXggPSAwO1xuXG4gIGZ1bmN0aW9uIHByb2Nlc3NJbmRleCgpIHtcbiAgICB2YXIgaW5kZXggPSB1bmlEaWZmW2N1cnJlbnRJbmRleCsrXTtcblxuICAgIGlmICghaW5kZXgpIHtcbiAgICAgIHJldHVybiBvcHRpb25zLmNvbXBsZXRlKCk7XG4gICAgfVxuXG4gICAgb3B0aW9ucy5sb2FkRmlsZShpbmRleCwgZnVuY3Rpb24gKGVyciwgZGF0YSkge1xuICAgICAgaWYgKGVycikge1xuICAgICAgICByZXR1cm4gb3B0aW9ucy5jb21wbGV0ZShlcnIpO1xuICAgICAgfVxuXG4gICAgICB2YXIgdXBkYXRlZENvbnRlbnQgPSBhcHBseVBhdGNoKGRhdGEsIGluZGV4LCBvcHRpb25zKTtcbiAgICAgIG9wdGlvbnMucGF0Y2hlZChpbmRleCwgdXBkYXRlZENvbnRlbnQsIGZ1bmN0aW9uIChlcnIpIHtcbiAgICAgICAgaWYgKGVycikge1xuICAgICAgICAgIHJldHVybiBvcHRpb25zLmNvbXBsZXRlKGVycik7XG4gICAgICAgIH1cblxuICAgICAgICBwcm9jZXNzSW5kZXgoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvY2Vzc0luZGV4KCk7XG59XG5cbmZ1bmN0aW9uIHN0cnVjdHVyZWRQYXRjaChvbGRGaWxlTmFtZSwgbmV3RmlsZU5hbWUsIG9sZFN0ciwgbmV3U3RyLCBvbGRIZWFkZXIsIG5ld0hlYWRlciwgb3B0aW9ucykge1xuICBpZiAoIW9wdGlvbnMpIHtcbiAgICBvcHRpb25zID0ge307XG4gIH1cblxuICBpZiAodHlwZW9mIG9wdGlvbnMuY29udGV4dCA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICBvcHRpb25zLmNvbnRleHQgPSA0O1xuICB9XG5cbiAgdmFyIGRpZmYgPSBkaWZmTGluZXMob2xkU3RyLCBuZXdTdHIsIG9wdGlvbnMpO1xuXG4gIGlmICghZGlmZikge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGRpZmYucHVzaCh7XG4gICAgdmFsdWU6ICcnLFxuICAgIGxpbmVzOiBbXVxuICB9KTsgLy8gQXBwZW5kIGFuIGVtcHR5IHZhbHVlIHRvIG1ha2UgY2xlYW51cCBlYXNpZXJcblxuICBmdW5jdGlvbiBjb250ZXh0TGluZXMobGluZXMpIHtcbiAgICByZXR1cm4gbGluZXMubWFwKGZ1bmN0aW9uIChlbnRyeSkge1xuICAgICAgcmV0dXJuICcgJyArIGVudHJ5O1xuICAgIH0pO1xuICB9XG5cbiAgdmFyIGh1bmtzID0gW107XG4gIHZhciBvbGRSYW5nZVN0YXJ0ID0gMCxcbiAgICAgIG5ld1JhbmdlU3RhcnQgPSAwLFxuICAgICAgY3VyUmFuZ2UgPSBbXSxcbiAgICAgIG9sZExpbmUgPSAxLFxuICAgICAgbmV3TGluZSA9IDE7XG5cbiAgdmFyIF9sb29wID0gZnVuY3Rpb24gX2xvb3AoaSkge1xuICAgIHZhciBjdXJyZW50ID0gZGlmZltpXSxcbiAgICAgICAgbGluZXMgPSBjdXJyZW50LmxpbmVzIHx8IGN1cnJlbnQudmFsdWUucmVwbGFjZSgvXFxuJC8sICcnKS5zcGxpdCgnXFxuJyk7XG4gICAgY3VycmVudC5saW5lcyA9IGxpbmVzO1xuXG4gICAgaWYgKGN1cnJlbnQuYWRkZWQgfHwgY3VycmVudC5yZW1vdmVkKSB7XG4gICAgICB2YXIgX2N1clJhbmdlO1xuXG4gICAgICAvLyBJZiB3ZSBoYXZlIHByZXZpb3VzIGNvbnRleHQsIHN0YXJ0IHdpdGggdGhhdFxuICAgICAgaWYgKCFvbGRSYW5nZVN0YXJ0KSB7XG4gICAgICAgIHZhciBwcmV2ID0gZGlmZltpIC0gMV07XG4gICAgICAgIG9sZFJhbmdlU3RhcnQgPSBvbGRMaW5lO1xuICAgICAgICBuZXdSYW5nZVN0YXJ0ID0gbmV3TGluZTtcblxuICAgICAgICBpZiAocHJldikge1xuICAgICAgICAgIGN1clJhbmdlID0gb3B0aW9ucy5jb250ZXh0ID4gMCA/IGNvbnRleHRMaW5lcyhwcmV2LmxpbmVzLnNsaWNlKC1vcHRpb25zLmNvbnRleHQpKSA6IFtdO1xuICAgICAgICAgIG9sZFJhbmdlU3RhcnQgLT0gY3VyUmFuZ2UubGVuZ3RoO1xuICAgICAgICAgIG5ld1JhbmdlU3RhcnQgLT0gY3VyUmFuZ2UubGVuZ3RoO1xuICAgICAgICB9XG4gICAgICB9IC8vIE91dHB1dCBvdXIgY2hhbmdlc1xuXG5cbiAgICAgIChfY3VyUmFuZ2UgPSBjdXJSYW5nZSkucHVzaC5hcHBseShfY3VyUmFuZ2UsIF90b0NvbnN1bWFibGVBcnJheShsaW5lcy5tYXAoZnVuY3Rpb24gKGVudHJ5KSB7XG4gICAgICAgIHJldHVybiAoY3VycmVudC5hZGRlZCA/ICcrJyA6ICctJykgKyBlbnRyeTtcbiAgICAgIH0pKSk7IC8vIFRyYWNrIHRoZSB1cGRhdGVkIGZpbGUgcG9zaXRpb25cblxuXG4gICAgICBpZiAoY3VycmVudC5hZGRlZCkge1xuICAgICAgICBuZXdMaW5lICs9IGxpbmVzLmxlbmd0aDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG9sZExpbmUgKz0gbGluZXMubGVuZ3RoO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICAvLyBJZGVudGljYWwgY29udGV4dCBsaW5lcy4gVHJhY2sgbGluZSBjaGFuZ2VzXG4gICAgICBpZiAob2xkUmFuZ2VTdGFydCkge1xuICAgICAgICAvLyBDbG9zZSBvdXQgYW55IGNoYW5nZXMgdGhhdCBoYXZlIGJlZW4gb3V0cHV0IChvciBqb2luIG92ZXJsYXBwaW5nKVxuICAgICAgICBpZiAobGluZXMubGVuZ3RoIDw9IG9wdGlvbnMuY29udGV4dCAqIDIgJiYgaSA8IGRpZmYubGVuZ3RoIC0gMikge1xuICAgICAgICAgIHZhciBfY3VyUmFuZ2UyO1xuXG4gICAgICAgICAgLy8gT3ZlcmxhcHBpbmdcbiAgICAgICAgICAoX2N1clJhbmdlMiA9IGN1clJhbmdlKS5wdXNoLmFwcGx5KF9jdXJSYW5nZTIsIF90b0NvbnN1bWFibGVBcnJheShjb250ZXh0TGluZXMobGluZXMpKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFyIF9jdXJSYW5nZTM7XG5cbiAgICAgICAgICAvLyBlbmQgdGhlIHJhbmdlIGFuZCBvdXRwdXRcbiAgICAgICAgICB2YXIgY29udGV4dFNpemUgPSBNYXRoLm1pbihsaW5lcy5sZW5ndGgsIG9wdGlvbnMuY29udGV4dCk7XG5cbiAgICAgICAgICAoX2N1clJhbmdlMyA9IGN1clJhbmdlKS5wdXNoLmFwcGx5KF9jdXJSYW5nZTMsIF90b0NvbnN1bWFibGVBcnJheShjb250ZXh0TGluZXMobGluZXMuc2xpY2UoMCwgY29udGV4dFNpemUpKSkpO1xuXG4gICAgICAgICAgdmFyIGh1bmsgPSB7XG4gICAgICAgICAgICBvbGRTdGFydDogb2xkUmFuZ2VTdGFydCxcbiAgICAgICAgICAgIG9sZExpbmVzOiBvbGRMaW5lIC0gb2xkUmFuZ2VTdGFydCArIGNvbnRleHRTaXplLFxuICAgICAgICAgICAgbmV3U3RhcnQ6IG5ld1JhbmdlU3RhcnQsXG4gICAgICAgICAgICBuZXdMaW5lczogbmV3TGluZSAtIG5ld1JhbmdlU3RhcnQgKyBjb250ZXh0U2l6ZSxcbiAgICAgICAgICAgIGxpbmVzOiBjdXJSYW5nZVxuICAgICAgICAgIH07XG5cbiAgICAgICAgICBpZiAoaSA+PSBkaWZmLmxlbmd0aCAtIDIgJiYgbGluZXMubGVuZ3RoIDw9IG9wdGlvbnMuY29udGV4dCkge1xuICAgICAgICAgICAgLy8gRU9GIGlzIGluc2lkZSB0aGlzIGh1bmtcbiAgICAgICAgICAgIHZhciBvbGRFT0ZOZXdsaW5lID0gL1xcbiQvLnRlc3Qob2xkU3RyKTtcbiAgICAgICAgICAgIHZhciBuZXdFT0ZOZXdsaW5lID0gL1xcbiQvLnRlc3QobmV3U3RyKTtcbiAgICAgICAgICAgIHZhciBub05sQmVmb3JlQWRkcyA9IGxpbmVzLmxlbmd0aCA9PSAwICYmIGN1clJhbmdlLmxlbmd0aCA+IGh1bmsub2xkTGluZXM7XG5cbiAgICAgICAgICAgIGlmICghb2xkRU9GTmV3bGluZSAmJiBub05sQmVmb3JlQWRkcyAmJiBvbGRTdHIubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAvLyBzcGVjaWFsIGNhc2U6IG9sZCBoYXMgbm8gZW9sIGFuZCBubyB0cmFpbGluZyBjb250ZXh0OyBuby1ubCBjYW4gZW5kIHVwIGJlZm9yZSBhZGRzXG4gICAgICAgICAgICAgIC8vIGhvd2V2ZXIsIGlmIHRoZSBvbGQgZmlsZSBpcyBlbXB0eSwgZG8gbm90IG91dHB1dCB0aGUgbm8tbmwgbGluZVxuICAgICAgICAgICAgICBjdXJSYW5nZS5zcGxpY2UoaHVuay5vbGRMaW5lcywgMCwgJ1xcXFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZScpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIW9sZEVPRk5ld2xpbmUgJiYgIW5vTmxCZWZvcmVBZGRzIHx8ICFuZXdFT0ZOZXdsaW5lKSB7XG4gICAgICAgICAgICAgIGN1clJhbmdlLnB1c2goJ1xcXFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGh1bmtzLnB1c2goaHVuayk7XG4gICAgICAgICAgb2xkUmFuZ2VTdGFydCA9IDA7XG4gICAgICAgICAgbmV3UmFuZ2VTdGFydCA9IDA7XG4gICAgICAgICAgY3VyUmFuZ2UgPSBbXTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBvbGRMaW5lICs9IGxpbmVzLmxlbmd0aDtcbiAgICAgIG5ld0xpbmUgKz0gbGluZXMubGVuZ3RoO1xuICAgIH1cbiAgfTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGRpZmYubGVuZ3RoOyBpKyspIHtcbiAgICBfbG9vcChpKTtcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgb2xkRmlsZU5hbWU6IG9sZEZpbGVOYW1lLFxuICAgIG5ld0ZpbGVOYW1lOiBuZXdGaWxlTmFtZSxcbiAgICBvbGRIZWFkZXI6IG9sZEhlYWRlcixcbiAgICBuZXdIZWFkZXI6IG5ld0hlYWRlcixcbiAgICBodW5rczogaHVua3NcbiAgfTtcbn1cbmZ1bmN0aW9uIGZvcm1hdFBhdGNoKGRpZmYpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoZGlmZikpIHtcbiAgICByZXR1cm4gZGlmZi5tYXAoZm9ybWF0UGF0Y2gpLmpvaW4oJ1xcbicpO1xuICB9XG5cbiAgdmFyIHJldCA9IFtdO1xuXG4gIGlmIChkaWZmLm9sZEZpbGVOYW1lID09IGRpZmYubmV3RmlsZU5hbWUpIHtcbiAgICByZXQucHVzaCgnSW5kZXg6ICcgKyBkaWZmLm9sZEZpbGVOYW1lKTtcbiAgfVxuXG4gIHJldC5wdXNoKCc9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Jyk7XG4gIHJldC5wdXNoKCctLS0gJyArIGRpZmYub2xkRmlsZU5hbWUgKyAodHlwZW9mIGRpZmYub2xkSGVhZGVyID09PSAndW5kZWZpbmVkJyA/ICcnIDogJ1xcdCcgKyBkaWZmLm9sZEhlYWRlcikpO1xuICByZXQucHVzaCgnKysrICcgKyBkaWZmLm5ld0ZpbGVOYW1lICsgKHR5cGVvZiBkaWZmLm5ld0hlYWRlciA9PT0gJ3VuZGVmaW5lZCcgPyAnJyA6ICdcXHQnICsgZGlmZi5uZXdIZWFkZXIpKTtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGRpZmYuaHVua3MubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgaHVuayA9IGRpZmYuaHVua3NbaV07IC8vIFVuaWZpZWQgRGlmZiBGb3JtYXQgcXVpcms6IElmIHRoZSBjaHVuayBzaXplIGlzIDAsXG4gICAgLy8gdGhlIGZpcnN0IG51bWJlciBpcyBvbmUgbG93ZXIgdGhhbiBvbmUgd291bGQgZXhwZWN0LlxuICAgIC8vIGh0dHBzOi8vd3d3LmFydGltYS5jb20vd2VibG9ncy92aWV3cG9zdC5qc3A/dGhyZWFkPTE2NDI5M1xuXG4gICAgaWYgKGh1bmsub2xkTGluZXMgPT09IDApIHtcbiAgICAgIGh1bmsub2xkU3RhcnQgLT0gMTtcbiAgICB9XG5cbiAgICBpZiAoaHVuay5uZXdMaW5lcyA9PT0gMCkge1xuICAgICAgaHVuay5uZXdTdGFydCAtPSAxO1xuICAgIH1cblxuICAgIHJldC5wdXNoKCdAQCAtJyArIGh1bmsub2xkU3RhcnQgKyAnLCcgKyBodW5rLm9sZExpbmVzICsgJyArJyArIGh1bmsubmV3U3RhcnQgKyAnLCcgKyBodW5rLm5ld0xpbmVzICsgJyBAQCcpO1xuICAgIHJldC5wdXNoLmFwcGx5KHJldCwgaHVuay5saW5lcyk7XG4gIH1cblxuICByZXR1cm4gcmV0LmpvaW4oJ1xcbicpICsgJ1xcbic7XG59XG5mdW5jdGlvbiBjcmVhdGVUd29GaWxlc1BhdGNoKG9sZEZpbGVOYW1lLCBuZXdGaWxlTmFtZSwgb2xkU3RyLCBuZXdTdHIsIG9sZEhlYWRlciwgbmV3SGVhZGVyLCBvcHRpb25zKSB7XG4gIHJldHVybiBmb3JtYXRQYXRjaChzdHJ1Y3R1cmVkUGF0Y2gob2xkRmlsZU5hbWUsIG5ld0ZpbGVOYW1lLCBvbGRTdHIsIG5ld1N0ciwgb2xkSGVhZGVyLCBuZXdIZWFkZXIsIG9wdGlvbnMpKTtcbn1cbmZ1bmN0aW9uIGNyZWF0ZVBhdGNoKGZpbGVOYW1lLCBvbGRTdHIsIG5ld1N0ciwgb2xkSGVhZGVyLCBuZXdIZWFkZXIsIG9wdGlvbnMpIHtcbiAgcmV0dXJuIGNyZWF0ZVR3b0ZpbGVzUGF0Y2goZmlsZU5hbWUsIGZpbGVOYW1lLCBvbGRTdHIsIG5ld1N0ciwgb2xkSGVhZGVyLCBuZXdIZWFkZXIsIG9wdGlvbnMpO1xufVxuXG5mdW5jdGlvbiBhcnJheUVxdWFsKGEsIGIpIHtcbiAgaWYgKGEubGVuZ3RoICE9PSBiLmxlbmd0aCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBhcnJheVN0YXJ0c1dpdGgoYSwgYik7XG59XG5mdW5jdGlvbiBhcnJheVN0YXJ0c1dpdGgoYXJyYXksIHN0YXJ0KSB7XG4gIGlmIChzdGFydC5sZW5ndGggPiBhcnJheS5sZW5ndGgpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBmb3IgKHZhciBpID0gMDsgaSA8IHN0YXJ0Lmxlbmd0aDsgaSsrKSB7XG4gICAgaWYgKHN0YXJ0W2ldICE9PSBhcnJheVtpXSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0cnVlO1xufVxuXG5mdW5jdGlvbiBjYWxjTGluZUNvdW50KGh1bmspIHtcbiAgdmFyIF9jYWxjT2xkTmV3TGluZUNvdW50ID0gY2FsY09sZE5ld0xpbmVDb3VudChodW5rLmxpbmVzKSxcbiAgICAgIG9sZExpbmVzID0gX2NhbGNPbGROZXdMaW5lQ291bnQub2xkTGluZXMsXG4gICAgICBuZXdMaW5lcyA9IF9jYWxjT2xkTmV3TGluZUNvdW50Lm5ld0xpbmVzO1xuXG4gIGlmIChvbGRMaW5lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgaHVuay5vbGRMaW5lcyA9IG9sZExpbmVzO1xuICB9IGVsc2Uge1xuICAgIGRlbGV0ZSBodW5rLm9sZExpbmVzO1xuICB9XG5cbiAgaWYgKG5ld0xpbmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICBodW5rLm5ld0xpbmVzID0gbmV3TGluZXM7XG4gIH0gZWxzZSB7XG4gICAgZGVsZXRlIGh1bmsubmV3TGluZXM7XG4gIH1cbn1cbmZ1bmN0aW9uIG1lcmdlKG1pbmUsIHRoZWlycywgYmFzZSkge1xuICBtaW5lID0gbG9hZFBhdGNoKG1pbmUsIGJhc2UpO1xuICB0aGVpcnMgPSBsb2FkUGF0Y2godGhlaXJzLCBiYXNlKTtcbiAgdmFyIHJldCA9IHt9OyAvLyBGb3IgaW5kZXggd2UganVzdCBsZXQgaXQgcGFzcyB0aHJvdWdoIGFzIGl0IGRvZXNuJ3QgaGF2ZSBhbnkgbmVjZXNzYXJ5IG1lYW5pbmcuXG4gIC8vIExlYXZpbmcgc2FuaXR5IGNoZWNrcyBvbiB0aGlzIHRvIHRoZSBBUEkgY29uc3VtZXIgdGhhdCBtYXkga25vdyBtb3JlIGFib3V0IHRoZVxuICAvLyBtZWFuaW5nIGluIHRoZWlyIG93biBjb250ZXh0LlxuXG4gIGlmIChtaW5lLmluZGV4IHx8IHRoZWlycy5pbmRleCkge1xuICAgIHJldC5pbmRleCA9IG1pbmUuaW5kZXggfHwgdGhlaXJzLmluZGV4O1xuICB9XG5cbiAgaWYgKG1pbmUubmV3RmlsZU5hbWUgfHwgdGhlaXJzLm5ld0ZpbGVOYW1lKSB7XG4gICAgaWYgKCFmaWxlTmFtZUNoYW5nZWQobWluZSkpIHtcbiAgICAgIC8vIE5vIGhlYWRlciBvciBubyBjaGFuZ2UgaW4gb3VycywgdXNlIHRoZWlycyAoYW5kIG91cnMgaWYgdGhlaXJzIGRvZXMgbm90IGV4aXN0KVxuICAgICAgcmV0Lm9sZEZpbGVOYW1lID0gdGhlaXJzLm9sZEZpbGVOYW1lIHx8IG1pbmUub2xkRmlsZU5hbWU7XG4gICAgICByZXQubmV3RmlsZU5hbWUgPSB0aGVpcnMubmV3RmlsZU5hbWUgfHwgbWluZS5uZXdGaWxlTmFtZTtcbiAgICAgIHJldC5vbGRIZWFkZXIgPSB0aGVpcnMub2xkSGVhZGVyIHx8IG1pbmUub2xkSGVhZGVyO1xuICAgICAgcmV0Lm5ld0hlYWRlciA9IHRoZWlycy5uZXdIZWFkZXIgfHwgbWluZS5uZXdIZWFkZXI7XG4gICAgfSBlbHNlIGlmICghZmlsZU5hbWVDaGFuZ2VkKHRoZWlycykpIHtcbiAgICAgIC8vIE5vIGhlYWRlciBvciBubyBjaGFuZ2UgaW4gdGhlaXJzLCB1c2Ugb3Vyc1xuICAgICAgcmV0Lm9sZEZpbGVOYW1lID0gbWluZS5vbGRGaWxlTmFtZTtcbiAgICAgIHJldC5uZXdGaWxlTmFtZSA9IG1pbmUubmV3RmlsZU5hbWU7XG4gICAgICByZXQub2xkSGVhZGVyID0gbWluZS5vbGRIZWFkZXI7XG4gICAgICByZXQubmV3SGVhZGVyID0gbWluZS5uZXdIZWFkZXI7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEJvdGggY2hhbmdlZC4uLiBmaWd1cmUgaXQgb3V0XG4gICAgICByZXQub2xkRmlsZU5hbWUgPSBzZWxlY3RGaWVsZChyZXQsIG1pbmUub2xkRmlsZU5hbWUsIHRoZWlycy5vbGRGaWxlTmFtZSk7XG4gICAgICByZXQubmV3RmlsZU5hbWUgPSBzZWxlY3RGaWVsZChyZXQsIG1pbmUubmV3RmlsZU5hbWUsIHRoZWlycy5uZXdGaWxlTmFtZSk7XG4gICAgICByZXQub2xkSGVhZGVyID0gc2VsZWN0RmllbGQocmV0LCBtaW5lLm9sZEhlYWRlciwgdGhlaXJzLm9sZEhlYWRlcik7XG4gICAgICByZXQubmV3SGVhZGVyID0gc2VsZWN0RmllbGQocmV0LCBtaW5lLm5ld0hlYWRlciwgdGhlaXJzLm5ld0hlYWRlcik7XG4gICAgfVxuICB9XG5cbiAgcmV0Lmh1bmtzID0gW107XG4gIHZhciBtaW5lSW5kZXggPSAwLFxuICAgICAgdGhlaXJzSW5kZXggPSAwLFxuICAgICAgbWluZU9mZnNldCA9IDAsXG4gICAgICB0aGVpcnNPZmZzZXQgPSAwO1xuXG4gIHdoaWxlIChtaW5lSW5kZXggPCBtaW5lLmh1bmtzLmxlbmd0aCB8fCB0aGVpcnNJbmRleCA8IHRoZWlycy5odW5rcy5sZW5ndGgpIHtcbiAgICB2YXIgbWluZUN1cnJlbnQgPSBtaW5lLmh1bmtzW21pbmVJbmRleF0gfHwge1xuICAgICAgb2xkU3RhcnQ6IEluZmluaXR5XG4gICAgfSxcbiAgICAgICAgdGhlaXJzQ3VycmVudCA9IHRoZWlycy5odW5rc1t0aGVpcnNJbmRleF0gfHwge1xuICAgICAgb2xkU3RhcnQ6IEluZmluaXR5XG4gICAgfTtcblxuICAgIGlmIChodW5rQmVmb3JlKG1pbmVDdXJyZW50LCB0aGVpcnNDdXJyZW50KSkge1xuICAgICAgLy8gVGhpcyBwYXRjaCBkb2VzIG5vdCBvdmVybGFwIHdpdGggYW55IG9mIHRoZSBvdGhlcnMsIHlheS5cbiAgICAgIHJldC5odW5rcy5wdXNoKGNsb25lSHVuayhtaW5lQ3VycmVudCwgbWluZU9mZnNldCkpO1xuICAgICAgbWluZUluZGV4Kys7XG4gICAgICB0aGVpcnNPZmZzZXQgKz0gbWluZUN1cnJlbnQubmV3TGluZXMgLSBtaW5lQ3VycmVudC5vbGRMaW5lcztcbiAgICB9IGVsc2UgaWYgKGh1bmtCZWZvcmUodGhlaXJzQ3VycmVudCwgbWluZUN1cnJlbnQpKSB7XG4gICAgICAvLyBUaGlzIHBhdGNoIGRvZXMgbm90IG92ZXJsYXAgd2l0aCBhbnkgb2YgdGhlIG90aGVycywgeWF5LlxuICAgICAgcmV0Lmh1bmtzLnB1c2goY2xvbmVIdW5rKHRoZWlyc0N1cnJlbnQsIHRoZWlyc09mZnNldCkpO1xuICAgICAgdGhlaXJzSW5kZXgrKztcbiAgICAgIG1pbmVPZmZzZXQgKz0gdGhlaXJzQ3VycmVudC5uZXdMaW5lcyAtIHRoZWlyc0N1cnJlbnQub2xkTGluZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIE92ZXJsYXAsIG1lcmdlIGFzIGJlc3Qgd2UgY2FuXG4gICAgICB2YXIgbWVyZ2VkSHVuayA9IHtcbiAgICAgICAgb2xkU3RhcnQ6IE1hdGgubWluKG1pbmVDdXJyZW50Lm9sZFN0YXJ0LCB0aGVpcnNDdXJyZW50Lm9sZFN0YXJ0KSxcbiAgICAgICAgb2xkTGluZXM6IDAsXG4gICAgICAgIG5ld1N0YXJ0OiBNYXRoLm1pbihtaW5lQ3VycmVudC5uZXdTdGFydCArIG1pbmVPZmZzZXQsIHRoZWlyc0N1cnJlbnQub2xkU3RhcnQgKyB0aGVpcnNPZmZzZXQpLFxuICAgICAgICBuZXdMaW5lczogMCxcbiAgICAgICAgbGluZXM6IFtdXG4gICAgICB9O1xuICAgICAgbWVyZ2VMaW5lcyhtZXJnZWRIdW5rLCBtaW5lQ3VycmVudC5vbGRTdGFydCwgbWluZUN1cnJlbnQubGluZXMsIHRoZWlyc0N1cnJlbnQub2xkU3RhcnQsIHRoZWlyc0N1cnJlbnQubGluZXMpO1xuICAgICAgdGhlaXJzSW5kZXgrKztcbiAgICAgIG1pbmVJbmRleCsrO1xuICAgICAgcmV0Lmh1bmtzLnB1c2gobWVyZ2VkSHVuayk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJldDtcbn1cblxuZnVuY3Rpb24gbG9hZFBhdGNoKHBhcmFtLCBiYXNlKSB7XG4gIGlmICh0eXBlb2YgcGFyYW0gPT09ICdzdHJpbmcnKSB7XG4gICAgaWYgKC9eQEAvbS50ZXN0KHBhcmFtKSB8fCAvXkluZGV4Oi9tLnRlc3QocGFyYW0pKSB7XG4gICAgICByZXR1cm4gcGFyc2VQYXRjaChwYXJhbSlbMF07XG4gICAgfVxuXG4gICAgaWYgKCFiYXNlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ011c3QgcHJvdmlkZSBhIGJhc2UgcmVmZXJlbmNlIG9yIHBhc3MgaW4gYSBwYXRjaCcpO1xuICAgIH1cblxuICAgIHJldHVybiBzdHJ1Y3R1cmVkUGF0Y2godW5kZWZpbmVkLCB1bmRlZmluZWQsIGJhc2UsIHBhcmFtKTtcbiAgfVxuXG4gIHJldHVybiBwYXJhbTtcbn1cblxuZnVuY3Rpb24gZmlsZU5hbWVDaGFuZ2VkKHBhdGNoKSB7XG4gIHJldHVybiBwYXRjaC5uZXdGaWxlTmFtZSAmJiBwYXRjaC5uZXdGaWxlTmFtZSAhPT0gcGF0Y2gub2xkRmlsZU5hbWU7XG59XG5cbmZ1bmN0aW9uIHNlbGVjdEZpZWxkKGluZGV4LCBtaW5lLCB0aGVpcnMpIHtcbiAgaWYgKG1pbmUgPT09IHRoZWlycykge1xuICAgIHJldHVybiBtaW5lO1xuICB9IGVsc2Uge1xuICAgIGluZGV4LmNvbmZsaWN0ID0gdHJ1ZTtcbiAgICByZXR1cm4ge1xuICAgICAgbWluZTogbWluZSxcbiAgICAgIHRoZWlyczogdGhlaXJzXG4gICAgfTtcbiAgfVxufVxuXG5mdW5jdGlvbiBodW5rQmVmb3JlKHRlc3QsIGNoZWNrKSB7XG4gIHJldHVybiB0ZXN0Lm9sZFN0YXJ0IDwgY2hlY2sub2xkU3RhcnQgJiYgdGVzdC5vbGRTdGFydCArIHRlc3Qub2xkTGluZXMgPCBjaGVjay5vbGRTdGFydDtcbn1cblxuZnVuY3Rpb24gY2xvbmVIdW5rKGh1bmssIG9mZnNldCkge1xuICByZXR1cm4ge1xuICAgIG9sZFN0YXJ0OiBodW5rLm9sZFN0YXJ0LFxuICAgIG9sZExpbmVzOiBodW5rLm9sZExpbmVzLFxuICAgIG5ld1N0YXJ0OiBodW5rLm5ld1N0YXJ0ICsgb2Zmc2V0LFxuICAgIG5ld0xpbmVzOiBodW5rLm5ld0xpbmVzLFxuICAgIGxpbmVzOiBodW5rLmxpbmVzXG4gIH07XG59XG5cbmZ1bmN0aW9uIG1lcmdlTGluZXMoaHVuaywgbWluZU9mZnNldCwgbWluZUxpbmVzLCB0aGVpck9mZnNldCwgdGhlaXJMaW5lcykge1xuICAvLyBUaGlzIHdpbGwgZ2VuZXJhbGx5IHJlc3VsdCBpbiBhIGNvbmZsaWN0ZWQgaHVuaywgYnV0IHRoZXJlIGFyZSBjYXNlcyB3aGVyZSB0aGUgY29udGV4dFxuICAvLyBpcyB0aGUgb25seSBvdmVybGFwIHdoZXJlIHdlIGNhbiBzdWNjZXNzZnVsbHkgbWVyZ2UgdGhlIGNvbnRlbnQgaGVyZS5cbiAgdmFyIG1pbmUgPSB7XG4gICAgb2Zmc2V0OiBtaW5lT2Zmc2V0LFxuICAgIGxpbmVzOiBtaW5lTGluZXMsXG4gICAgaW5kZXg6IDBcbiAgfSxcbiAgICAgIHRoZWlyID0ge1xuICAgIG9mZnNldDogdGhlaXJPZmZzZXQsXG4gICAgbGluZXM6IHRoZWlyTGluZXMsXG4gICAgaW5kZXg6IDBcbiAgfTsgLy8gSGFuZGxlIGFueSBsZWFkaW5nIGNvbnRlbnRcblxuICBpbnNlcnRMZWFkaW5nKGh1bmssIG1pbmUsIHRoZWlyKTtcbiAgaW5zZXJ0TGVhZGluZyhodW5rLCB0aGVpciwgbWluZSk7IC8vIE5vdyBpbiB0aGUgb3ZlcmxhcCBjb250ZW50LiBTY2FuIHRocm91Z2ggYW5kIHNlbGVjdCB0aGUgYmVzdCBjaGFuZ2VzIGZyb20gZWFjaC5cblxuICB3aGlsZSAobWluZS5pbmRleCA8IG1pbmUubGluZXMubGVuZ3RoICYmIHRoZWlyLmluZGV4IDwgdGhlaXIubGluZXMubGVuZ3RoKSB7XG4gICAgdmFyIG1pbmVDdXJyZW50ID0gbWluZS5saW5lc1ttaW5lLmluZGV4XSxcbiAgICAgICAgdGhlaXJDdXJyZW50ID0gdGhlaXIubGluZXNbdGhlaXIuaW5kZXhdO1xuXG4gICAgaWYgKChtaW5lQ3VycmVudFswXSA9PT0gJy0nIHx8IG1pbmVDdXJyZW50WzBdID09PSAnKycpICYmICh0aGVpckN1cnJlbnRbMF0gPT09ICctJyB8fCB0aGVpckN1cnJlbnRbMF0gPT09ICcrJykpIHtcbiAgICAgIC8vIEJvdGggbW9kaWZpZWQgLi4uXG4gICAgICBtdXR1YWxDaGFuZ2UoaHVuaywgbWluZSwgdGhlaXIpO1xuICAgIH0gZWxzZSBpZiAobWluZUN1cnJlbnRbMF0gPT09ICcrJyAmJiB0aGVpckN1cnJlbnRbMF0gPT09ICcgJykge1xuICAgICAgdmFyIF9odW5rJGxpbmVzO1xuXG4gICAgICAvLyBNaW5lIGluc2VydGVkXG4gICAgICAoX2h1bmskbGluZXMgPSBodW5rLmxpbmVzKS5wdXNoLmFwcGx5KF9odW5rJGxpbmVzLCBfdG9Db25zdW1hYmxlQXJyYXkoY29sbGVjdENoYW5nZShtaW5lKSkpO1xuICAgIH0gZWxzZSBpZiAodGhlaXJDdXJyZW50WzBdID09PSAnKycgJiYgbWluZUN1cnJlbnRbMF0gPT09ICcgJykge1xuICAgICAgdmFyIF9odW5rJGxpbmVzMjtcblxuICAgICAgLy8gVGhlaXJzIGluc2VydGVkXG4gICAgICAoX2h1bmskbGluZXMyID0gaHVuay5saW5lcykucHVzaC5hcHBseShfaHVuayRsaW5lczIsIF90b0NvbnN1bWFibGVBcnJheShjb2xsZWN0Q2hhbmdlKHRoZWlyKSkpO1xuICAgIH0gZWxzZSBpZiAobWluZUN1cnJlbnRbMF0gPT09ICctJyAmJiB0aGVpckN1cnJlbnRbMF0gPT09ICcgJykge1xuICAgICAgLy8gTWluZSByZW1vdmVkIG9yIGVkaXRlZFxuICAgICAgcmVtb3ZhbChodW5rLCBtaW5lLCB0aGVpcik7XG4gICAgfSBlbHNlIGlmICh0aGVpckN1cnJlbnRbMF0gPT09ICctJyAmJiBtaW5lQ3VycmVudFswXSA9PT0gJyAnKSB7XG4gICAgICAvLyBUaGVpciByZW1vdmVkIG9yIGVkaXRlZFxuICAgICAgcmVtb3ZhbChodW5rLCB0aGVpciwgbWluZSwgdHJ1ZSk7XG4gICAgfSBlbHNlIGlmIChtaW5lQ3VycmVudCA9PT0gdGhlaXJDdXJyZW50KSB7XG4gICAgICAvLyBDb250ZXh0IGlkZW50aXR5XG4gICAgICBodW5rLmxpbmVzLnB1c2gobWluZUN1cnJlbnQpO1xuICAgICAgbWluZS5pbmRleCsrO1xuICAgICAgdGhlaXIuaW5kZXgrKztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ29udGV4dCBtaXNtYXRjaFxuICAgICAgY29uZmxpY3QoaHVuaywgY29sbGVjdENoYW5nZShtaW5lKSwgY29sbGVjdENoYW5nZSh0aGVpcikpO1xuICAgIH1cbiAgfSAvLyBOb3cgcHVzaCBhbnl0aGluZyB0aGF0IG1heSBiZSByZW1haW5pbmdcblxuXG4gIGluc2VydFRyYWlsaW5nKGh1bmssIG1pbmUpO1xuICBpbnNlcnRUcmFpbGluZyhodW5rLCB0aGVpcik7XG4gIGNhbGNMaW5lQ291bnQoaHVuayk7XG59XG5cbmZ1bmN0aW9uIG11dHVhbENoYW5nZShodW5rLCBtaW5lLCB0aGVpcikge1xuICB2YXIgbXlDaGFuZ2VzID0gY29sbGVjdENoYW5nZShtaW5lKSxcbiAgICAgIHRoZWlyQ2hhbmdlcyA9IGNvbGxlY3RDaGFuZ2UodGhlaXIpO1xuXG4gIGlmIChhbGxSZW1vdmVzKG15Q2hhbmdlcykgJiYgYWxsUmVtb3Zlcyh0aGVpckNoYW5nZXMpKSB7XG4gICAgLy8gU3BlY2lhbCBjYXNlIGZvciByZW1vdmUgY2hhbmdlcyB0aGF0IGFyZSBzdXBlcnNldHMgb2Ygb25lIGFub3RoZXJcbiAgICBpZiAoYXJyYXlTdGFydHNXaXRoKG15Q2hhbmdlcywgdGhlaXJDaGFuZ2VzKSAmJiBza2lwUmVtb3ZlU3VwZXJzZXQodGhlaXIsIG15Q2hhbmdlcywgbXlDaGFuZ2VzLmxlbmd0aCAtIHRoZWlyQ2hhbmdlcy5sZW5ndGgpKSB7XG4gICAgICB2YXIgX2h1bmskbGluZXMzO1xuXG4gICAgICAoX2h1bmskbGluZXMzID0gaHVuay5saW5lcykucHVzaC5hcHBseShfaHVuayRsaW5lczMsIF90b0NvbnN1bWFibGVBcnJheShteUNoYW5nZXMpKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH0gZWxzZSBpZiAoYXJyYXlTdGFydHNXaXRoKHRoZWlyQ2hhbmdlcywgbXlDaGFuZ2VzKSAmJiBza2lwUmVtb3ZlU3VwZXJzZXQobWluZSwgdGhlaXJDaGFuZ2VzLCB0aGVpckNoYW5nZXMubGVuZ3RoIC0gbXlDaGFuZ2VzLmxlbmd0aCkpIHtcbiAgICAgIHZhciBfaHVuayRsaW5lczQ7XG5cbiAgICAgIChfaHVuayRsaW5lczQgPSBodW5rLmxpbmVzKS5wdXNoLmFwcGx5KF9odW5rJGxpbmVzNCwgX3RvQ29uc3VtYWJsZUFycmF5KHRoZWlyQ2hhbmdlcykpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuICB9IGVsc2UgaWYgKGFycmF5RXF1YWwobXlDaGFuZ2VzLCB0aGVpckNoYW5nZXMpKSB7XG4gICAgdmFyIF9odW5rJGxpbmVzNTtcblxuICAgIChfaHVuayRsaW5lczUgPSBodW5rLmxpbmVzKS5wdXNoLmFwcGx5KF9odW5rJGxpbmVzNSwgX3RvQ29uc3VtYWJsZUFycmF5KG15Q2hhbmdlcykpO1xuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uZmxpY3QoaHVuaywgbXlDaGFuZ2VzLCB0aGVpckNoYW5nZXMpO1xufVxuXG5mdW5jdGlvbiByZW1vdmFsKGh1bmssIG1pbmUsIHRoZWlyLCBzd2FwKSB7XG4gIHZhciBteUNoYW5nZXMgPSBjb2xsZWN0Q2hhbmdlKG1pbmUpLFxuICAgICAgdGhlaXJDaGFuZ2VzID0gY29sbGVjdENvbnRleHQodGhlaXIsIG15Q2hhbmdlcyk7XG5cbiAgaWYgKHRoZWlyQ2hhbmdlcy5tZXJnZWQpIHtcbiAgICB2YXIgX2h1bmskbGluZXM2O1xuXG4gICAgKF9odW5rJGxpbmVzNiA9IGh1bmsubGluZXMpLnB1c2guYXBwbHkoX2h1bmskbGluZXM2LCBfdG9Db25zdW1hYmxlQXJyYXkodGhlaXJDaGFuZ2VzLm1lcmdlZCkpO1xuICB9IGVsc2Uge1xuICAgIGNvbmZsaWN0KGh1bmssIHN3YXAgPyB0aGVpckNoYW5nZXMgOiBteUNoYW5nZXMsIHN3YXAgPyBteUNoYW5nZXMgOiB0aGVpckNoYW5nZXMpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbmZsaWN0KGh1bmssIG1pbmUsIHRoZWlyKSB7XG4gIGh1bmsuY29uZmxpY3QgPSB0cnVlO1xuICBodW5rLmxpbmVzLnB1c2goe1xuICAgIGNvbmZsaWN0OiB0cnVlLFxuICAgIG1pbmU6IG1pbmUsXG4gICAgdGhlaXJzOiB0aGVpclxuICB9KTtcbn1cblxuZnVuY3Rpb24gaW5zZXJ0TGVhZGluZyhodW5rLCBpbnNlcnQsIHRoZWlyKSB7XG4gIHdoaWxlIChpbnNlcnQub2Zmc2V0IDwgdGhlaXIub2Zmc2V0ICYmIGluc2VydC5pbmRleCA8IGluc2VydC5saW5lcy5sZW5ndGgpIHtcbiAgICB2YXIgbGluZSA9IGluc2VydC5saW5lc1tpbnNlcnQuaW5kZXgrK107XG4gICAgaHVuay5saW5lcy5wdXNoKGxpbmUpO1xuICAgIGluc2VydC5vZmZzZXQrKztcbiAgfVxufVxuXG5mdW5jdGlvbiBpbnNlcnRUcmFpbGluZyhodW5rLCBpbnNlcnQpIHtcbiAgd2hpbGUgKGluc2VydC5pbmRleCA8IGluc2VydC5saW5lcy5sZW5ndGgpIHtcbiAgICB2YXIgbGluZSA9IGluc2VydC5saW5lc1tpbnNlcnQuaW5kZXgrK107XG4gICAgaHVuay5saW5lcy5wdXNoKGxpbmUpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGNvbGxlY3RDaGFuZ2Uoc3RhdGUpIHtcbiAgdmFyIHJldCA9IFtdLFxuICAgICAgb3BlcmF0aW9uID0gc3RhdGUubGluZXNbc3RhdGUuaW5kZXhdWzBdO1xuXG4gIHdoaWxlIChzdGF0ZS5pbmRleCA8IHN0YXRlLmxpbmVzLmxlbmd0aCkge1xuICAgIHZhciBsaW5lID0gc3RhdGUubGluZXNbc3RhdGUuaW5kZXhdOyAvLyBHcm91cCBhZGRpdGlvbnMgdGhhdCBhcmUgaW1tZWRpYXRlbHkgYWZ0ZXIgc3VidHJhY3Rpb25zIGFuZCB0cmVhdCB0aGVtIGFzIG9uZSBcImF0b21pY1wiIG1vZGlmeSBjaGFuZ2UuXG5cbiAgICBpZiAob3BlcmF0aW9uID09PSAnLScgJiYgbGluZVswXSA9PT0gJysnKSB7XG4gICAgICBvcGVyYXRpb24gPSAnKyc7XG4gICAgfVxuXG4gICAgaWYgKG9wZXJhdGlvbiA9PT0gbGluZVswXSkge1xuICAgICAgcmV0LnB1c2gobGluZSk7XG4gICAgICBzdGF0ZS5pbmRleCsrO1xuICAgIH0gZWxzZSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmV0O1xufVxuXG5mdW5jdGlvbiBjb2xsZWN0Q29udGV4dChzdGF0ZSwgbWF0Y2hDaGFuZ2VzKSB7XG4gIHZhciBjaGFuZ2VzID0gW10sXG4gICAgICBtZXJnZWQgPSBbXSxcbiAgICAgIG1hdGNoSW5kZXggPSAwLFxuICAgICAgY29udGV4dENoYW5nZXMgPSBmYWxzZSxcbiAgICAgIGNvbmZsaWN0ZWQgPSBmYWxzZTtcblxuICB3aGlsZSAobWF0Y2hJbmRleCA8IG1hdGNoQ2hhbmdlcy5sZW5ndGggJiYgc3RhdGUuaW5kZXggPCBzdGF0ZS5saW5lcy5sZW5ndGgpIHtcbiAgICB2YXIgY2hhbmdlID0gc3RhdGUubGluZXNbc3RhdGUuaW5kZXhdLFxuICAgICAgICBtYXRjaCA9IG1hdGNoQ2hhbmdlc1ttYXRjaEluZGV4XTsgLy8gT25jZSB3ZSd2ZSBoaXQgb3VyIGFkZCwgdGhlbiB3ZSBhcmUgZG9uZVxuXG4gICAgaWYgKG1hdGNoWzBdID09PSAnKycpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGNvbnRleHRDaGFuZ2VzID0gY29udGV4dENoYW5nZXMgfHwgY2hhbmdlWzBdICE9PSAnICc7XG4gICAgbWVyZ2VkLnB1c2gobWF0Y2gpO1xuICAgIG1hdGNoSW5kZXgrKzsgLy8gQ29uc3VtZSBhbnkgYWRkaXRpb25zIGluIHRoZSBvdGhlciBibG9jayBhcyBhIGNvbmZsaWN0IHRvIGF0dGVtcHRcbiAgICAvLyB0byBwdWxsIGluIHRoZSByZW1haW5pbmcgY29udGV4dCBhZnRlciB0aGlzXG5cbiAgICBpZiAoY2hhbmdlWzBdID09PSAnKycpIHtcbiAgICAgIGNvbmZsaWN0ZWQgPSB0cnVlO1xuXG4gICAgICB3aGlsZSAoY2hhbmdlWzBdID09PSAnKycpIHtcbiAgICAgICAgY2hhbmdlcy5wdXNoKGNoYW5nZSk7XG4gICAgICAgIGNoYW5nZSA9IHN0YXRlLmxpbmVzWysrc3RhdGUuaW5kZXhdO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChtYXRjaC5zdWJzdHIoMSkgPT09IGNoYW5nZS5zdWJzdHIoMSkpIHtcbiAgICAgIGNoYW5nZXMucHVzaChjaGFuZ2UpO1xuICAgICAgc3RhdGUuaW5kZXgrKztcbiAgICB9IGVsc2Uge1xuICAgICAgY29uZmxpY3RlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgaWYgKChtYXRjaENoYW5nZXNbbWF0Y2hJbmRleF0gfHwgJycpWzBdID09PSAnKycgJiYgY29udGV4dENoYW5nZXMpIHtcbiAgICBjb25mbGljdGVkID0gdHJ1ZTtcbiAgfVxuXG4gIGlmIChjb25mbGljdGVkKSB7XG4gICAgcmV0dXJuIGNoYW5nZXM7XG4gIH1cblxuICB3aGlsZSAobWF0Y2hJbmRleCA8IG1hdGNoQ2hhbmdlcy5sZW5ndGgpIHtcbiAgICBtZXJnZWQucHVzaChtYXRjaENoYW5nZXNbbWF0Y2hJbmRleCsrXSk7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIG1lcmdlZDogbWVyZ2VkLFxuICAgIGNoYW5nZXM6IGNoYW5nZXNcbiAgfTtcbn1cblxuZnVuY3Rpb24gYWxsUmVtb3ZlcyhjaGFuZ2VzKSB7XG4gIHJldHVybiBjaGFuZ2VzLnJlZHVjZShmdW5jdGlvbiAocHJldiwgY2hhbmdlKSB7XG4gICAgcmV0dXJuIHByZXYgJiYgY2hhbmdlWzBdID09PSAnLSc7XG4gIH0sIHRydWUpO1xufVxuXG5mdW5jdGlvbiBza2lwUmVtb3ZlU3VwZXJzZXQoc3RhdGUsIHJlbW92ZUNoYW5nZXMsIGRlbHRhKSB7XG4gIGZvciAodmFyIGkgPSAwOyBpIDwgZGVsdGE7IGkrKykge1xuICAgIHZhciBjaGFuZ2VDb250ZW50ID0gcmVtb3ZlQ2hhbmdlc1tyZW1vdmVDaGFuZ2VzLmxlbmd0aCAtIGRlbHRhICsgaV0uc3Vic3RyKDEpO1xuXG4gICAgaWYgKHN0YXRlLmxpbmVzW3N0YXRlLmluZGV4ICsgaV0gIT09ICcgJyArIGNoYW5nZUNvbnRlbnQpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBzdGF0ZS5pbmRleCArPSBkZWx0YTtcbiAgcmV0dXJuIHRydWU7XG59XG5cbmZ1bmN0aW9uIGNhbGNPbGROZXdMaW5lQ291bnQobGluZXMpIHtcbiAgdmFyIG9sZExpbmVzID0gMDtcbiAgdmFyIG5ld0xpbmVzID0gMDtcbiAgbGluZXMuZm9yRWFjaChmdW5jdGlvbiAobGluZSkge1xuICAgIGlmICh0eXBlb2YgbGluZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgIHZhciBteUNvdW50ID0gY2FsY09sZE5ld0xpbmVDb3VudChsaW5lLm1pbmUpO1xuICAgICAgdmFyIHRoZWlyQ291bnQgPSBjYWxjT2xkTmV3TGluZUNvdW50KGxpbmUudGhlaXJzKTtcblxuICAgICAgaWYgKG9sZExpbmVzICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKG15Q291bnQub2xkTGluZXMgPT09IHRoZWlyQ291bnQub2xkTGluZXMpIHtcbiAgICAgICAgICBvbGRMaW5lcyArPSBteUNvdW50Lm9sZExpbmVzO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG9sZExpbmVzID0gdW5kZWZpbmVkO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGlmIChuZXdMaW5lcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmIChteUNvdW50Lm5ld0xpbmVzID09PSB0aGVpckNvdW50Lm5ld0xpbmVzKSB7XG4gICAgICAgICAgbmV3TGluZXMgKz0gbXlDb3VudC5uZXdMaW5lcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBuZXdMaW5lcyA9IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAobmV3TGluZXMgIT09IHVuZGVmaW5lZCAmJiAobGluZVswXSA9PT0gJysnIHx8IGxpbmVbMF0gPT09ICcgJykpIHtcbiAgICAgICAgbmV3TGluZXMrKztcbiAgICAgIH1cblxuICAgICAgaWYgKG9sZExpbmVzICE9PSB1bmRlZmluZWQgJiYgKGxpbmVbMF0gPT09ICctJyB8fCBsaW5lWzBdID09PSAnICcpKSB7XG4gICAgICAgIG9sZExpbmVzKys7XG4gICAgICB9XG4gICAgfVxuICB9KTtcbiAgcmV0dXJuIHtcbiAgICBvbGRMaW5lczogb2xkTGluZXMsXG4gICAgbmV3TGluZXM6IG5ld0xpbmVzXG4gIH07XG59XG5cbmZ1bmN0aW9uIHJldmVyc2VQYXRjaChzdHJ1Y3R1cmVkUGF0Y2gpIHtcbiAgaWYgKEFycmF5LmlzQXJyYXkoc3RydWN0dXJlZFBhdGNoKSkge1xuICAgIHJldHVybiBzdHJ1Y3R1cmVkUGF0Y2gubWFwKHJldmVyc2VQYXRjaCkucmV2ZXJzZSgpO1xuICB9XG5cbiAgcmV0dXJuIF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBzdHJ1Y3R1cmVkUGF0Y2gpLCB7fSwge1xuICAgIG9sZEZpbGVOYW1lOiBzdHJ1Y3R1cmVkUGF0Y2gubmV3RmlsZU5hbWUsXG4gICAgb2xkSGVhZGVyOiBzdHJ1Y3R1cmVkUGF0Y2gubmV3SGVhZGVyLFxuICAgIG5ld0ZpbGVOYW1lOiBzdHJ1Y3R1cmVkUGF0Y2gub2xkRmlsZU5hbWUsXG4gICAgbmV3SGVhZGVyOiBzdHJ1Y3R1cmVkUGF0Y2gub2xkSGVhZGVyLFxuICAgIGh1bmtzOiBzdHJ1Y3R1cmVkUGF0Y2guaHVua3MubWFwKGZ1bmN0aW9uIChodW5rKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBvbGRMaW5lczogaHVuay5uZXdMaW5lcyxcbiAgICAgICAgb2xkU3RhcnQ6IGh1bmsubmV3U3RhcnQsXG4gICAgICAgIG5ld0xpbmVzOiBodW5rLm9sZExpbmVzLFxuICAgICAgICBuZXdTdGFydDogaHVuay5vbGRTdGFydCxcbiAgICAgICAgbGluZWRlbGltaXRlcnM6IGh1bmsubGluZWRlbGltaXRlcnMsXG4gICAgICAgIGxpbmVzOiBodW5rLmxpbmVzLm1hcChmdW5jdGlvbiAobCkge1xuICAgICAgICAgIGlmIChsLnN0YXJ0c1dpdGgoJy0nKSkge1xuICAgICAgICAgICAgcmV0dXJuIFwiK1wiLmNvbmNhdChsLnNsaWNlKDEpKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBpZiAobC5zdGFydHNXaXRoKCcrJykpIHtcbiAgICAgICAgICAgIHJldHVybiBcIi1cIi5jb25jYXQobC5zbGljZSgxKSk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIGw7XG4gICAgICAgIH0pXG4gICAgICB9O1xuICAgIH0pXG4gIH0pO1xufVxuXG4vLyBTZWU6IGh0dHA6Ly9jb2RlLmdvb2dsZS5jb20vcC9nb29nbGUtZGlmZi1tYXRjaC1wYXRjaC93aWtpL0FQSVxuZnVuY3Rpb24gY29udmVydENoYW5nZXNUb0RNUChjaGFuZ2VzKSB7XG4gIHZhciByZXQgPSBbXSxcbiAgICAgIGNoYW5nZSxcbiAgICAgIG9wZXJhdGlvbjtcblxuICBmb3IgKHZhciBpID0gMDsgaSA8IGNoYW5nZXMubGVuZ3RoOyBpKyspIHtcbiAgICBjaGFuZ2UgPSBjaGFuZ2VzW2ldO1xuXG4gICAgaWYgKGNoYW5nZS5hZGRlZCkge1xuICAgICAgb3BlcmF0aW9uID0gMTtcbiAgICB9IGVsc2UgaWYgKGNoYW5nZS5yZW1vdmVkKSB7XG4gICAgICBvcGVyYXRpb24gPSAtMTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3BlcmF0aW9uID0gMDtcbiAgICB9XG5cbiAgICByZXQucHVzaChbb3BlcmF0aW9uLCBjaGFuZ2UudmFsdWVdKTtcbiAgfVxuXG4gIHJldHVybiByZXQ7XG59XG5cbmZ1bmN0aW9uIGNvbnZlcnRDaGFuZ2VzVG9YTUwoY2hhbmdlcykge1xuICB2YXIgcmV0ID0gW107XG5cbiAgZm9yICh2YXIgaSA9IDA7IGkgPCBjaGFuZ2VzLmxlbmd0aDsgaSsrKSB7XG4gICAgdmFyIGNoYW5nZSA9IGNoYW5nZXNbaV07XG5cbiAgICBpZiAoY2hhbmdlLmFkZGVkKSB7XG4gICAgICByZXQucHVzaCgnPGlucz4nKTtcbiAgICB9IGVsc2UgaWYgKGNoYW5nZS5yZW1vdmVkKSB7XG4gICAgICByZXQucHVzaCgnPGRlbD4nKTtcbiAgICB9XG5cbiAgICByZXQucHVzaChlc2NhcGVIVE1MKGNoYW5nZS52YWx1ZSkpO1xuXG4gICAgaWYgKGNoYW5nZS5hZGRlZCkge1xuICAgICAgcmV0LnB1c2goJzwvaW5zPicpO1xuICAgIH0gZWxzZSBpZiAoY2hhbmdlLnJlbW92ZWQpIHtcbiAgICAgIHJldC5wdXNoKCc8L2RlbD4nKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gcmV0LmpvaW4oJycpO1xufVxuXG5mdW5jdGlvbiBlc2NhcGVIVE1MKHMpIHtcbiAgdmFyIG4gPSBzO1xuICBuID0gbi5yZXBsYWNlKC8mL2csICcmYW1wOycpO1xuICBuID0gbi5yZXBsYWNlKC88L2csICcmbHQ7Jyk7XG4gIG4gPSBuLnJlcGxhY2UoLz4vZywgJyZndDsnKTtcbiAgbiA9IG4ucmVwbGFjZSgvXCIvZywgJyZxdW90OycpO1xuICByZXR1cm4gbjtcbn1cblxuZXhwb3J0IHsgRGlmZiwgYXBwbHlQYXRjaCwgYXBwbHlQYXRjaGVzLCBjYW5vbmljYWxpemUsIGNvbnZlcnRDaGFuZ2VzVG9ETVAsIGNvbnZlcnRDaGFuZ2VzVG9YTUwsIGNyZWF0ZVBhdGNoLCBjcmVhdGVUd29GaWxlc1BhdGNoLCBkaWZmQXJyYXlzLCBkaWZmQ2hhcnMsIGRpZmZDc3MsIGRpZmZKc29uLCBkaWZmTGluZXMsIGRpZmZTZW50ZW5jZXMsIGRpZmZUcmltbWVkTGluZXMsIGRpZmZXb3JkcywgZGlmZldvcmRzV2l0aFNwYWNlLCBmb3JtYXRQYXRjaCwgbWVyZ2UsIHBhcnNlUGF0Y2gsIHJldmVyc2VQYXRjaCwgc3RydWN0dXJlZFBhdGNoIH07XG4iLCAiaW1wb3J0IHR5cGUgeyBTdHJpbmdSZWFkZXIsIFN0cmluZ1dyaXRlciB9IGZyb20gJy4vc3RyaW5ncyc7XG5cbmV4cG9ydCBjb25zdCBjb21tYSA9ICcsJy5jaGFyQ29kZUF0KDApO1xuZXhwb3J0IGNvbnN0IHNlbWljb2xvbiA9ICc7Jy5jaGFyQ29kZUF0KDApO1xuXG5jb25zdCBjaGFycyA9ICdBQkNERUZHSElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OSsvJztcbmNvbnN0IGludFRvQ2hhciA9IG5ldyBVaW50OEFycmF5KDY0KTsgLy8gNjQgcG9zc2libGUgY2hhcnMuXG5jb25zdCBjaGFyVG9JbnQgPSBuZXcgVWludDhBcnJheSgxMjgpOyAvLyB6IGlzIDEyMiBpbiBBU0NJSVxuXG5mb3IgKGxldCBpID0gMDsgaSA8IGNoYXJzLmxlbmd0aDsgaSsrKSB7XG4gIGNvbnN0IGMgPSBjaGFycy5jaGFyQ29kZUF0KGkpO1xuICBpbnRUb0NoYXJbaV0gPSBjO1xuICBjaGFyVG9JbnRbY10gPSBpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlSW50ZWdlcihyZWFkZXI6IFN0cmluZ1JlYWRlciwgcmVsYXRpdmU6IG51bWJlcik6IG51bWJlciB7XG4gIGxldCB2YWx1ZSA9IDA7XG4gIGxldCBzaGlmdCA9IDA7XG4gIGxldCBpbnRlZ2VyID0gMDtcblxuICBkbyB7XG4gICAgY29uc3QgYyA9IHJlYWRlci5uZXh0KCk7XG4gICAgaW50ZWdlciA9IGNoYXJUb0ludFtjXTtcbiAgICB2YWx1ZSB8PSAoaW50ZWdlciAmIDMxKSA8PCBzaGlmdDtcbiAgICBzaGlmdCArPSA1O1xuICB9IHdoaWxlIChpbnRlZ2VyICYgMzIpO1xuXG4gIGNvbnN0IHNob3VsZE5lZ2F0ZSA9IHZhbHVlICYgMTtcbiAgdmFsdWUgPj4+PSAxO1xuXG4gIGlmIChzaG91bGROZWdhdGUpIHtcbiAgICB2YWx1ZSA9IC0weDgwMDAwMDAwIHwgLXZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIHJlbGF0aXZlICsgdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVJbnRlZ2VyKGJ1aWxkZXI6IFN0cmluZ1dyaXRlciwgbnVtOiBudW1iZXIsIHJlbGF0aXZlOiBudW1iZXIpOiBudW1iZXIge1xuICBsZXQgZGVsdGEgPSBudW0gLSByZWxhdGl2ZTtcblxuICBkZWx0YSA9IGRlbHRhIDwgMCA/ICgtZGVsdGEgPDwgMSkgfCAxIDogZGVsdGEgPDwgMTtcbiAgZG8ge1xuICAgIGxldCBjbGFtcGVkID0gZGVsdGEgJiAwYjAxMTExMTtcbiAgICBkZWx0YSA+Pj49IDU7XG4gICAgaWYgKGRlbHRhID4gMCkgY2xhbXBlZCB8PSAwYjEwMDAwMDtcbiAgICBidWlsZGVyLndyaXRlKGludFRvQ2hhcltjbGFtcGVkXSk7XG4gIH0gd2hpbGUgKGRlbHRhID4gMCk7XG5cbiAgcmV0dXJuIG51bTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGhhc01vcmVWbHEocmVhZGVyOiBTdHJpbmdSZWFkZXIsIG1heDogbnVtYmVyKSB7XG4gIGlmIChyZWFkZXIucG9zID49IG1heCkgcmV0dXJuIGZhbHNlO1xuICByZXR1cm4gcmVhZGVyLnBlZWsoKSAhPT0gY29tbWE7XG59XG4iLCAiY29uc3QgYnVmTGVuZ3RoID0gMTAyNCAqIDE2O1xuXG4vLyBQcm92aWRlIGEgZmFsbGJhY2sgZm9yIG9sZGVyIGVudmlyb25tZW50cy5cbmNvbnN0IHRkID1cbiAgdHlwZW9mIFRleHREZWNvZGVyICE9PSAndW5kZWZpbmVkJ1xuICAgID8gLyogI19fUFVSRV9fICovIG5ldyBUZXh0RGVjb2RlcigpXG4gICAgOiB0eXBlb2YgQnVmZmVyICE9PSAndW5kZWZpbmVkJ1xuICAgID8ge1xuICAgICAgICBkZWNvZGUoYnVmOiBVaW50OEFycmF5KTogc3RyaW5nIHtcbiAgICAgICAgICBjb25zdCBvdXQgPSBCdWZmZXIuZnJvbShidWYuYnVmZmVyLCBidWYuYnl0ZU9mZnNldCwgYnVmLmJ5dGVMZW5ndGgpO1xuICAgICAgICAgIHJldHVybiBvdXQudG9TdHJpbmcoKTtcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICA6IHtcbiAgICAgICAgZGVjb2RlKGJ1ZjogVWludDhBcnJheSk6IHN0cmluZyB7XG4gICAgICAgICAgbGV0IG91dCA9ICcnO1xuICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgYnVmLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBvdXQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShidWZbaV0pO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZXR1cm4gb3V0O1xuICAgICAgICB9LFxuICAgICAgfTtcblxuZXhwb3J0IGNsYXNzIFN0cmluZ1dyaXRlciB7XG4gIHBvcyA9IDA7XG4gIHByaXZhdGUgb3V0ID0gJyc7XG4gIHByaXZhdGUgYnVmZmVyID0gbmV3IFVpbnQ4QXJyYXkoYnVmTGVuZ3RoKTtcblxuICB3cml0ZSh2OiBudW1iZXIpOiB2b2lkIHtcbiAgICBjb25zdCB7IGJ1ZmZlciB9ID0gdGhpcztcbiAgICBidWZmZXJbdGhpcy5wb3MrK10gPSB2O1xuICAgIGlmICh0aGlzLnBvcyA9PT0gYnVmTGVuZ3RoKSB7XG4gICAgICB0aGlzLm91dCArPSB0ZC5kZWNvZGUoYnVmZmVyKTtcbiAgICAgIHRoaXMucG9zID0gMDtcbiAgICB9XG4gIH1cblxuICBmbHVzaCgpOiBzdHJpbmcge1xuICAgIGNvbnN0IHsgYnVmZmVyLCBvdXQsIHBvcyB9ID0gdGhpcztcbiAgICByZXR1cm4gcG9zID4gMCA/IG91dCArIHRkLmRlY29kZShidWZmZXIuc3ViYXJyYXkoMCwgcG9zKSkgOiBvdXQ7XG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFN0cmluZ1JlYWRlciB7XG4gIHBvcyA9IDA7XG4gIHByaXZhdGUgZGVjbGFyZSBidWZmZXI6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihidWZmZXI6IHN0cmluZykge1xuICAgIHRoaXMuYnVmZmVyID0gYnVmZmVyO1xuICB9XG5cbiAgbmV4dCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmJ1ZmZlci5jaGFyQ29kZUF0KHRoaXMucG9zKyspO1xuICB9XG5cbiAgcGVlaygpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmJ1ZmZlci5jaGFyQ29kZUF0KHRoaXMucG9zKTtcbiAgfVxuXG4gIGluZGV4T2YoY2hhcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICBjb25zdCB7IGJ1ZmZlciwgcG9zIH0gPSB0aGlzO1xuICAgIGNvbnN0IGlkeCA9IGJ1ZmZlci5pbmRleE9mKGNoYXIsIHBvcyk7XG4gICAgcmV0dXJuIGlkeCA9PT0gLTEgPyBidWZmZXIubGVuZ3RoIDogaWR4O1xuICB9XG59XG4iLCAiaW1wb3J0IHsgU3RyaW5nUmVhZGVyLCBTdHJpbmdXcml0ZXIgfSBmcm9tICcuL3N0cmluZ3MnO1xuaW1wb3J0IHsgY29tbWEsIGRlY29kZUludGVnZXIsIGVuY29kZUludGVnZXIsIGhhc01vcmVWbHEsIHNlbWljb2xvbiB9IGZyb20gJy4vdmxxJztcblxuY29uc3QgRU1QVFk6IGFueVtdID0gW107XG5cbnR5cGUgTGluZSA9IG51bWJlcjtcbnR5cGUgQ29sdW1uID0gbnVtYmVyO1xudHlwZSBLaW5kID0gbnVtYmVyO1xudHlwZSBOYW1lID0gbnVtYmVyO1xudHlwZSBWYXIgPSBudW1iZXI7XG50eXBlIFNvdXJjZXNJbmRleCA9IG51bWJlcjtcbnR5cGUgU2NvcGVzSW5kZXggPSBudW1iZXI7XG5cbnR5cGUgTWl4PEEsIEIsIE8+ID0gKEEgJiBPKSB8IChCICYgTyk7XG5cbmV4cG9ydCB0eXBlIE9yaWdpbmFsU2NvcGUgPSBNaXg8XG4gIFtMaW5lLCBDb2x1bW4sIExpbmUsIENvbHVtbiwgS2luZF0sXG4gIFtMaW5lLCBDb2x1bW4sIExpbmUsIENvbHVtbiwgS2luZCwgTmFtZV0sXG4gIHsgdmFyczogVmFyW10gfVxuPjtcblxuZXhwb3J0IHR5cGUgR2VuZXJhdGVkUmFuZ2UgPSBNaXg8XG4gIFtMaW5lLCBDb2x1bW4sIExpbmUsIENvbHVtbl0sXG4gIFtMaW5lLCBDb2x1bW4sIExpbmUsIENvbHVtbiwgU291cmNlc0luZGV4LCBTY29wZXNJbmRleF0sXG4gIHtcbiAgICBjYWxsc2l0ZTogQ2FsbFNpdGUgfCBudWxsO1xuICAgIGJpbmRpbmdzOiBCaW5kaW5nW107XG4gICAgaXNTY29wZTogYm9vbGVhbjtcbiAgfVxuPjtcbmV4cG9ydCB0eXBlIENhbGxTaXRlID0gW1NvdXJjZXNJbmRleCwgTGluZSwgQ29sdW1uXTtcbnR5cGUgQmluZGluZyA9IEJpbmRpbmdFeHByZXNzaW9uUmFuZ2VbXTtcbmV4cG9ydCB0eXBlIEJpbmRpbmdFeHByZXNzaW9uUmFuZ2UgPSBbTmFtZV0gfCBbTmFtZSwgTGluZSwgQ29sdW1uXTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlY29kZU9yaWdpbmFsU2NvcGVzKGlucHV0OiBzdHJpbmcpOiBPcmlnaW5hbFNjb3BlW10ge1xuICBjb25zdCB7IGxlbmd0aCB9ID0gaW5wdXQ7XG4gIGNvbnN0IHJlYWRlciA9IG5ldyBTdHJpbmdSZWFkZXIoaW5wdXQpO1xuICBjb25zdCBzY29wZXM6IE9yaWdpbmFsU2NvcGVbXSA9IFtdO1xuICBjb25zdCBzdGFjazogT3JpZ2luYWxTY29wZVtdID0gW107XG4gIGxldCBsaW5lID0gMDtcblxuICBmb3IgKDsgcmVhZGVyLnBvcyA8IGxlbmd0aDsgcmVhZGVyLnBvcysrKSB7XG4gICAgbGluZSA9IGRlY29kZUludGVnZXIocmVhZGVyLCBsaW5lKTtcbiAgICBjb25zdCBjb2x1bW4gPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG5cbiAgICBpZiAoIWhhc01vcmVWbHEocmVhZGVyLCBsZW5ndGgpKSB7XG4gICAgICBjb25zdCBsYXN0ID0gc3RhY2sucG9wKCkhO1xuICAgICAgbGFzdFsyXSA9IGxpbmU7XG4gICAgICBsYXN0WzNdID0gY29sdW1uO1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgY29uc3Qga2luZCA9IGRlY29kZUludGVnZXIocmVhZGVyLCAwKTtcbiAgICBjb25zdCBmaWVsZHMgPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgY29uc3QgaGFzTmFtZSA9IGZpZWxkcyAmIDBiMDAwMTtcblxuICAgIGNvbnN0IHNjb3BlOiBPcmlnaW5hbFNjb3BlID0gKFxuICAgICAgaGFzTmFtZSA/IFtsaW5lLCBjb2x1bW4sIDAsIDAsIGtpbmQsIGRlY29kZUludGVnZXIocmVhZGVyLCAwKV0gOiBbbGluZSwgY29sdW1uLCAwLCAwLCBraW5kXVxuICAgICkgYXMgT3JpZ2luYWxTY29wZTtcblxuICAgIGxldCB2YXJzOiBWYXJbXSA9IEVNUFRZO1xuICAgIGlmIChoYXNNb3JlVmxxKHJlYWRlciwgbGVuZ3RoKSkge1xuICAgICAgdmFycyA9IFtdO1xuICAgICAgZG8ge1xuICAgICAgICBjb25zdCB2YXJzSW5kZXggPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgICAgIHZhcnMucHVzaCh2YXJzSW5kZXgpO1xuICAgICAgfSB3aGlsZSAoaGFzTW9yZVZscShyZWFkZXIsIGxlbmd0aCkpO1xuICAgIH1cbiAgICBzY29wZS52YXJzID0gdmFycztcblxuICAgIHNjb3Blcy5wdXNoKHNjb3BlKTtcbiAgICBzdGFjay5wdXNoKHNjb3BlKTtcbiAgfVxuXG4gIHJldHVybiBzY29wZXM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGVPcmlnaW5hbFNjb3BlcyhzY29wZXM6IE9yaWdpbmFsU2NvcGVbXSk6IHN0cmluZyB7XG4gIGNvbnN0IHdyaXRlciA9IG5ldyBTdHJpbmdXcml0ZXIoKTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHNjb3Blcy5sZW5ndGg7ICkge1xuICAgIGkgPSBfZW5jb2RlT3JpZ2luYWxTY29wZXMoc2NvcGVzLCBpLCB3cml0ZXIsIFswXSk7XG4gIH1cblxuICByZXR1cm4gd3JpdGVyLmZsdXNoKCk7XG59XG5cbmZ1bmN0aW9uIF9lbmNvZGVPcmlnaW5hbFNjb3BlcyhcbiAgc2NvcGVzOiBPcmlnaW5hbFNjb3BlW10sXG4gIGluZGV4OiBudW1iZXIsXG4gIHdyaXRlcjogU3RyaW5nV3JpdGVyLFxuICBzdGF0ZTogW1xuICAgIG51bWJlciwgLy8gR2VuQ29sdW1uXG4gIF0sXG4pOiBudW1iZXIge1xuICBjb25zdCBzY29wZSA9IHNjb3Blc1tpbmRleF07XG4gIGNvbnN0IHsgMDogc3RhcnRMaW5lLCAxOiBzdGFydENvbHVtbiwgMjogZW5kTGluZSwgMzogZW5kQ29sdW1uLCA0OiBraW5kLCB2YXJzIH0gPSBzY29wZTtcblxuICBpZiAoaW5kZXggPiAwKSB3cml0ZXIud3JpdGUoY29tbWEpO1xuXG4gIHN0YXRlWzBdID0gZW5jb2RlSW50ZWdlcih3cml0ZXIsIHN0YXJ0TGluZSwgc3RhdGVbMF0pO1xuICBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc3RhcnRDb2x1bW4sIDApO1xuICBlbmNvZGVJbnRlZ2VyKHdyaXRlciwga2luZCwgMCk7XG5cbiAgY29uc3QgZmllbGRzID0gc2NvcGUubGVuZ3RoID09PSA2ID8gMGIwMDAxIDogMDtcbiAgZW5jb2RlSW50ZWdlcih3cml0ZXIsIGZpZWxkcywgMCk7XG4gIGlmIChzY29wZS5sZW5ndGggPT09IDYpIGVuY29kZUludGVnZXIod3JpdGVyLCBzY29wZVs1XSwgMCk7XG5cbiAgZm9yIChjb25zdCB2IG9mIHZhcnMpIHtcbiAgICBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgdiwgMCk7XG4gIH1cblxuICBmb3IgKGluZGV4Kys7IGluZGV4IDwgc2NvcGVzLmxlbmd0aDsgKSB7XG4gICAgY29uc3QgbmV4dCA9IHNjb3Blc1tpbmRleF07XG4gICAgY29uc3QgeyAwOiBsLCAxOiBjIH0gPSBuZXh0O1xuICAgIGlmIChsID4gZW5kTGluZSB8fCAobCA9PT0gZW5kTGluZSAmJiBjID49IGVuZENvbHVtbikpIHtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpbmRleCA9IF9lbmNvZGVPcmlnaW5hbFNjb3BlcyhzY29wZXMsIGluZGV4LCB3cml0ZXIsIHN0YXRlKTtcbiAgfVxuXG4gIHdyaXRlci53cml0ZShjb21tYSk7XG4gIHN0YXRlWzBdID0gZW5jb2RlSW50ZWdlcih3cml0ZXIsIGVuZExpbmUsIHN0YXRlWzBdKTtcbiAgZW5jb2RlSW50ZWdlcih3cml0ZXIsIGVuZENvbHVtbiwgMCk7XG5cbiAgcmV0dXJuIGluZGV4O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlR2VuZXJhdGVkUmFuZ2VzKGlucHV0OiBzdHJpbmcpOiBHZW5lcmF0ZWRSYW5nZVtdIHtcbiAgY29uc3QgeyBsZW5ndGggfSA9IGlucHV0O1xuICBjb25zdCByZWFkZXIgPSBuZXcgU3RyaW5nUmVhZGVyKGlucHV0KTtcbiAgY29uc3QgcmFuZ2VzOiBHZW5lcmF0ZWRSYW5nZVtdID0gW107XG4gIGNvbnN0IHN0YWNrOiBHZW5lcmF0ZWRSYW5nZVtdID0gW107XG5cbiAgbGV0IGdlbkxpbmUgPSAwO1xuICBsZXQgZGVmaW5pdGlvblNvdXJjZXNJbmRleCA9IDA7XG4gIGxldCBkZWZpbml0aW9uU2NvcGVJbmRleCA9IDA7XG4gIGxldCBjYWxsc2l0ZVNvdXJjZXNJbmRleCA9IDA7XG4gIGxldCBjYWxsc2l0ZUxpbmUgPSAwO1xuICBsZXQgY2FsbHNpdGVDb2x1bW4gPSAwO1xuICBsZXQgYmluZGluZ0xpbmUgPSAwO1xuICBsZXQgYmluZGluZ0NvbHVtbiA9IDA7XG5cbiAgZG8ge1xuICAgIGNvbnN0IHNlbWkgPSByZWFkZXIuaW5kZXhPZignOycpO1xuICAgIGxldCBnZW5Db2x1bW4gPSAwO1xuXG4gICAgZm9yICg7IHJlYWRlci5wb3MgPCBzZW1pOyByZWFkZXIucG9zKyspIHtcbiAgICAgIGdlbkNvbHVtbiA9IGRlY29kZUludGVnZXIocmVhZGVyLCBnZW5Db2x1bW4pO1xuXG4gICAgICBpZiAoIWhhc01vcmVWbHEocmVhZGVyLCBzZW1pKSkge1xuICAgICAgICBjb25zdCBsYXN0ID0gc3RhY2sucG9wKCkhO1xuICAgICAgICBsYXN0WzJdID0gZ2VuTGluZTtcbiAgICAgICAgbGFzdFszXSA9IGdlbkNvbHVtbjtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGZpZWxkcyA9IGRlY29kZUludGVnZXIocmVhZGVyLCAwKTtcbiAgICAgIGNvbnN0IGhhc0RlZmluaXRpb24gPSBmaWVsZHMgJiAwYjAwMDE7XG4gICAgICBjb25zdCBoYXNDYWxsc2l0ZSA9IGZpZWxkcyAmIDBiMDAxMDtcbiAgICAgIGNvbnN0IGhhc1Njb3BlID0gZmllbGRzICYgMGIwMTAwO1xuXG4gICAgICBsZXQgY2FsbHNpdGU6IENhbGxTaXRlIHwgbnVsbCA9IG51bGw7XG4gICAgICBsZXQgYmluZGluZ3M6IEJpbmRpbmdbXSA9IEVNUFRZO1xuICAgICAgbGV0IHJhbmdlOiBHZW5lcmF0ZWRSYW5nZTtcbiAgICAgIGlmIChoYXNEZWZpbml0aW9uKSB7XG4gICAgICAgIGNvbnN0IGRlZlNvdXJjZXNJbmRleCA9IGRlY29kZUludGVnZXIocmVhZGVyLCBkZWZpbml0aW9uU291cmNlc0luZGV4KTtcbiAgICAgICAgZGVmaW5pdGlvblNjb3BlSW5kZXggPSBkZWNvZGVJbnRlZ2VyKFxuICAgICAgICAgIHJlYWRlcixcbiAgICAgICAgICBkZWZpbml0aW9uU291cmNlc0luZGV4ID09PSBkZWZTb3VyY2VzSW5kZXggPyBkZWZpbml0aW9uU2NvcGVJbmRleCA6IDAsXG4gICAgICAgICk7XG5cbiAgICAgICAgZGVmaW5pdGlvblNvdXJjZXNJbmRleCA9IGRlZlNvdXJjZXNJbmRleDtcbiAgICAgICAgcmFuZ2UgPSBbZ2VuTGluZSwgZ2VuQ29sdW1uLCAwLCAwLCBkZWZTb3VyY2VzSW5kZXgsIGRlZmluaXRpb25TY29wZUluZGV4XSBhcyBHZW5lcmF0ZWRSYW5nZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJhbmdlID0gW2dlbkxpbmUsIGdlbkNvbHVtbiwgMCwgMF0gYXMgR2VuZXJhdGVkUmFuZ2U7XG4gICAgICB9XG5cbiAgICAgIHJhbmdlLmlzU2NvcGUgPSAhIWhhc1Njb3BlO1xuXG4gICAgICBpZiAoaGFzQ2FsbHNpdGUpIHtcbiAgICAgICAgY29uc3QgcHJldkNzaSA9IGNhbGxzaXRlU291cmNlc0luZGV4O1xuICAgICAgICBjb25zdCBwcmV2TGluZSA9IGNhbGxzaXRlTGluZTtcbiAgICAgICAgY2FsbHNpdGVTb3VyY2VzSW5kZXggPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgY2FsbHNpdGVTb3VyY2VzSW5kZXgpO1xuICAgICAgICBjb25zdCBzYW1lU291cmNlID0gcHJldkNzaSA9PT0gY2FsbHNpdGVTb3VyY2VzSW5kZXg7XG4gICAgICAgIGNhbGxzaXRlTGluZSA9IGRlY29kZUludGVnZXIocmVhZGVyLCBzYW1lU291cmNlID8gY2FsbHNpdGVMaW5lIDogMCk7XG4gICAgICAgIGNhbGxzaXRlQ29sdW1uID0gZGVjb2RlSW50ZWdlcihcbiAgICAgICAgICByZWFkZXIsXG4gICAgICAgICAgc2FtZVNvdXJjZSAmJiBwcmV2TGluZSA9PT0gY2FsbHNpdGVMaW5lID8gY2FsbHNpdGVDb2x1bW4gOiAwLFxuICAgICAgICApO1xuXG4gICAgICAgIGNhbGxzaXRlID0gW2NhbGxzaXRlU291cmNlc0luZGV4LCBjYWxsc2l0ZUxpbmUsIGNhbGxzaXRlQ29sdW1uXTtcbiAgICAgIH1cbiAgICAgIHJhbmdlLmNhbGxzaXRlID0gY2FsbHNpdGU7XG5cbiAgICAgIGlmIChoYXNNb3JlVmxxKHJlYWRlciwgc2VtaSkpIHtcbiAgICAgICAgYmluZGluZ3MgPSBbXTtcbiAgICAgICAgZG8ge1xuICAgICAgICAgIGJpbmRpbmdMaW5lID0gZ2VuTGluZTtcbiAgICAgICAgICBiaW5kaW5nQ29sdW1uID0gZ2VuQ29sdW1uO1xuICAgICAgICAgIGNvbnN0IGV4cHJlc3Npb25zQ291bnQgPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgICAgICAgbGV0IGV4cHJlc3Npb25SYW5nZXM6IEJpbmRpbmdFeHByZXNzaW9uUmFuZ2VbXTtcbiAgICAgICAgICBpZiAoZXhwcmVzc2lvbnNDb3VudCA8IC0xKSB7XG4gICAgICAgICAgICBleHByZXNzaW9uUmFuZ2VzID0gW1tkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCldXTtcbiAgICAgICAgICAgIGZvciAobGV0IGkgPSAtMTsgaSA+IGV4cHJlc3Npb25zQ291bnQ7IGktLSkge1xuICAgICAgICAgICAgICBjb25zdCBwcmV2QmwgPSBiaW5kaW5nTGluZTtcbiAgICAgICAgICAgICAgYmluZGluZ0xpbmUgPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgYmluZGluZ0xpbmUpO1xuICAgICAgICAgICAgICBiaW5kaW5nQ29sdW1uID0gZGVjb2RlSW50ZWdlcihyZWFkZXIsIGJpbmRpbmdMaW5lID09PSBwcmV2QmwgPyBiaW5kaW5nQ29sdW1uIDogMCk7XG4gICAgICAgICAgICAgIGNvbnN0IGV4cHJlc3Npb24gPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgMCk7XG4gICAgICAgICAgICAgIGV4cHJlc3Npb25SYW5nZXMucHVzaChbZXhwcmVzc2lvbiwgYmluZGluZ0xpbmUsIGJpbmRpbmdDb2x1bW5dKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgZXhwcmVzc2lvblJhbmdlcyA9IFtbZXhwcmVzc2lvbnNDb3VudF1dO1xuICAgICAgICAgIH1cbiAgICAgICAgICBiaW5kaW5ncy5wdXNoKGV4cHJlc3Npb25SYW5nZXMpO1xuICAgICAgICB9IHdoaWxlIChoYXNNb3JlVmxxKHJlYWRlciwgc2VtaSkpO1xuICAgICAgfVxuICAgICAgcmFuZ2UuYmluZGluZ3MgPSBiaW5kaW5ncztcblxuICAgICAgcmFuZ2VzLnB1c2gocmFuZ2UpO1xuICAgICAgc3RhY2sucHVzaChyYW5nZSk7XG4gICAgfVxuXG4gICAgZ2VuTGluZSsrO1xuICAgIHJlYWRlci5wb3MgPSBzZW1pICsgMTtcbiAgfSB3aGlsZSAocmVhZGVyLnBvcyA8IGxlbmd0aCk7XG5cbiAgcmV0dXJuIHJhbmdlcztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZUdlbmVyYXRlZFJhbmdlcyhyYW5nZXM6IEdlbmVyYXRlZFJhbmdlW10pOiBzdHJpbmcge1xuICBpZiAocmFuZ2VzLmxlbmd0aCA9PT0gMCkgcmV0dXJuICcnO1xuXG4gIGNvbnN0IHdyaXRlciA9IG5ldyBTdHJpbmdXcml0ZXIoKTtcblxuICBmb3IgKGxldCBpID0gMDsgaSA8IHJhbmdlcy5sZW5ndGg7ICkge1xuICAgIGkgPSBfZW5jb2RlR2VuZXJhdGVkUmFuZ2VzKHJhbmdlcywgaSwgd3JpdGVyLCBbMCwgMCwgMCwgMCwgMCwgMCwgMF0pO1xuICB9XG5cbiAgcmV0dXJuIHdyaXRlci5mbHVzaCgpO1xufVxuXG5mdW5jdGlvbiBfZW5jb2RlR2VuZXJhdGVkUmFuZ2VzKFxuICByYW5nZXM6IEdlbmVyYXRlZFJhbmdlW10sXG4gIGluZGV4OiBudW1iZXIsXG4gIHdyaXRlcjogU3RyaW5nV3JpdGVyLFxuICBzdGF0ZTogW1xuICAgIG51bWJlciwgLy8gR2VuTGluZVxuICAgIG51bWJlciwgLy8gR2VuQ29sdW1uXG4gICAgbnVtYmVyLCAvLyBEZWZTb3VyY2VzSW5kZXhcbiAgICBudW1iZXIsIC8vIERlZlNjb3Blc0luZGV4XG4gICAgbnVtYmVyLCAvLyBDYWxsU291cmNlc0luZGV4XG4gICAgbnVtYmVyLCAvLyBDYWxsTGluZVxuICAgIG51bWJlciwgLy8gQ2FsbENvbHVtblxuICBdLFxuKTogbnVtYmVyIHtcbiAgY29uc3QgcmFuZ2UgPSByYW5nZXNbaW5kZXhdO1xuICBjb25zdCB7XG4gICAgMDogc3RhcnRMaW5lLFxuICAgIDE6IHN0YXJ0Q29sdW1uLFxuICAgIDI6IGVuZExpbmUsXG4gICAgMzogZW5kQ29sdW1uLFxuICAgIGlzU2NvcGUsXG4gICAgY2FsbHNpdGUsXG4gICAgYmluZGluZ3MsXG4gIH0gPSByYW5nZTtcblxuICBpZiAoc3RhdGVbMF0gPCBzdGFydExpbmUpIHtcbiAgICBjYXRjaHVwTGluZSh3cml0ZXIsIHN0YXRlWzBdLCBzdGFydExpbmUpO1xuICAgIHN0YXRlWzBdID0gc3RhcnRMaW5lO1xuICAgIHN0YXRlWzFdID0gMDtcbiAgfSBlbHNlIGlmIChpbmRleCA+IDApIHtcbiAgICB3cml0ZXIud3JpdGUoY29tbWEpO1xuICB9XG5cbiAgc3RhdGVbMV0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgcmFuZ2VbMV0sIHN0YXRlWzFdKTtcblxuICBjb25zdCBmaWVsZHMgPVxuICAgIChyYW5nZS5sZW5ndGggPT09IDYgPyAwYjAwMDEgOiAwKSB8IChjYWxsc2l0ZSA/IDBiMDAxMCA6IDApIHwgKGlzU2NvcGUgPyAwYjAxMDAgOiAwKTtcbiAgZW5jb2RlSW50ZWdlcih3cml0ZXIsIGZpZWxkcywgMCk7XG5cbiAgaWYgKHJhbmdlLmxlbmd0aCA9PT0gNikge1xuICAgIGNvbnN0IHsgNDogc291cmNlc0luZGV4LCA1OiBzY29wZXNJbmRleCB9ID0gcmFuZ2U7XG4gICAgaWYgKHNvdXJjZXNJbmRleCAhPT0gc3RhdGVbMl0pIHtcbiAgICAgIHN0YXRlWzNdID0gMDtcbiAgICB9XG4gICAgc3RhdGVbMl0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc291cmNlc0luZGV4LCBzdGF0ZVsyXSk7XG4gICAgc3RhdGVbM10gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc2NvcGVzSW5kZXgsIHN0YXRlWzNdKTtcbiAgfVxuXG4gIGlmIChjYWxsc2l0ZSkge1xuICAgIGNvbnN0IHsgMDogc291cmNlc0luZGV4LCAxOiBjYWxsTGluZSwgMjogY2FsbENvbHVtbiB9ID0gcmFuZ2UuY2FsbHNpdGUhO1xuICAgIGlmIChzb3VyY2VzSW5kZXggIT09IHN0YXRlWzRdKSB7XG4gICAgICBzdGF0ZVs1XSA9IDA7XG4gICAgICBzdGF0ZVs2XSA9IDA7XG4gICAgfSBlbHNlIGlmIChjYWxsTGluZSAhPT0gc3RhdGVbNV0pIHtcbiAgICAgIHN0YXRlWzZdID0gMDtcbiAgICB9XG4gICAgc3RhdGVbNF0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc291cmNlc0luZGV4LCBzdGF0ZVs0XSk7XG4gICAgc3RhdGVbNV0gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgY2FsbExpbmUsIHN0YXRlWzVdKTtcbiAgICBzdGF0ZVs2XSA9IGVuY29kZUludGVnZXIod3JpdGVyLCBjYWxsQ29sdW1uLCBzdGF0ZVs2XSk7XG4gIH1cblxuICBpZiAoYmluZGluZ3MpIHtcbiAgICBmb3IgKGNvbnN0IGJpbmRpbmcgb2YgYmluZGluZ3MpIHtcbiAgICAgIGlmIChiaW5kaW5nLmxlbmd0aCA+IDEpIGVuY29kZUludGVnZXIod3JpdGVyLCAtYmluZGluZy5sZW5ndGgsIDApO1xuICAgICAgY29uc3QgZXhwcmVzc2lvbiA9IGJpbmRpbmdbMF1bMF07XG4gICAgICBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgZXhwcmVzc2lvbiwgMCk7XG4gICAgICBsZXQgYmluZGluZ1N0YXJ0TGluZSA9IHN0YXJ0TGluZTtcbiAgICAgIGxldCBiaW5kaW5nU3RhcnRDb2x1bW4gPSBzdGFydENvbHVtbjtcbiAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgYmluZGluZy5sZW5ndGg7IGkrKykge1xuICAgICAgICBjb25zdCBleHBSYW5nZSA9IGJpbmRpbmdbaV07XG4gICAgICAgIGJpbmRpbmdTdGFydExpbmUgPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgZXhwUmFuZ2VbMV0hLCBiaW5kaW5nU3RhcnRMaW5lKTtcbiAgICAgICAgYmluZGluZ1N0YXJ0Q29sdW1uID0gZW5jb2RlSW50ZWdlcih3cml0ZXIsIGV4cFJhbmdlWzJdISwgYmluZGluZ1N0YXJ0Q29sdW1uKTtcbiAgICAgICAgZW5jb2RlSW50ZWdlcih3cml0ZXIsIGV4cFJhbmdlWzBdISwgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZm9yIChpbmRleCsrOyBpbmRleCA8IHJhbmdlcy5sZW5ndGg7ICkge1xuICAgIGNvbnN0IG5leHQgPSByYW5nZXNbaW5kZXhdO1xuICAgIGNvbnN0IHsgMDogbCwgMTogYyB9ID0gbmV4dDtcbiAgICBpZiAobCA+IGVuZExpbmUgfHwgKGwgPT09IGVuZExpbmUgJiYgYyA+PSBlbmRDb2x1bW4pKSB7XG4gICAgICBicmVhaztcbiAgICB9XG4gICAgaW5kZXggPSBfZW5jb2RlR2VuZXJhdGVkUmFuZ2VzKHJhbmdlcywgaW5kZXgsIHdyaXRlciwgc3RhdGUpO1xuICB9XG5cbiAgaWYgKHN0YXRlWzBdIDwgZW5kTGluZSkge1xuICAgIGNhdGNodXBMaW5lKHdyaXRlciwgc3RhdGVbMF0sIGVuZExpbmUpO1xuICAgIHN0YXRlWzBdID0gZW5kTGluZTtcbiAgICBzdGF0ZVsxXSA9IDA7XG4gIH0gZWxzZSB7XG4gICAgd3JpdGVyLndyaXRlKGNvbW1hKTtcbiAgfVxuICBzdGF0ZVsxXSA9IGVuY29kZUludGVnZXIod3JpdGVyLCBlbmRDb2x1bW4sIHN0YXRlWzFdKTtcblxuICByZXR1cm4gaW5kZXg7XG59XG5cbmZ1bmN0aW9uIGNhdGNodXBMaW5lKHdyaXRlcjogU3RyaW5nV3JpdGVyLCBsYXN0TGluZTogbnVtYmVyLCBsaW5lOiBudW1iZXIpIHtcbiAgZG8ge1xuICAgIHdyaXRlci53cml0ZShzZW1pY29sb24pO1xuICB9IHdoaWxlICgrK2xhc3RMaW5lIDwgbGluZSk7XG59XG4iLCAiaW1wb3J0IHsgY29tbWEsIGRlY29kZUludGVnZXIsIGVuY29kZUludGVnZXIsIGhhc01vcmVWbHEsIHNlbWljb2xvbiB9IGZyb20gJy4vdmxxJztcbmltcG9ydCB7IFN0cmluZ1dyaXRlciwgU3RyaW5nUmVhZGVyIH0gZnJvbSAnLi9zdHJpbmdzJztcblxuZXhwb3J0IHtcbiAgZGVjb2RlT3JpZ2luYWxTY29wZXMsXG4gIGVuY29kZU9yaWdpbmFsU2NvcGVzLFxuICBkZWNvZGVHZW5lcmF0ZWRSYW5nZXMsXG4gIGVuY29kZUdlbmVyYXRlZFJhbmdlcyxcbn0gZnJvbSAnLi9zY29wZXMnO1xuZXhwb3J0IHR5cGUgeyBPcmlnaW5hbFNjb3BlLCBHZW5lcmF0ZWRSYW5nZSwgQ2FsbFNpdGUsIEJpbmRpbmdFeHByZXNzaW9uUmFuZ2UgfSBmcm9tICcuL3Njb3Blcyc7XG5cbmV4cG9ydCB0eXBlIFNvdXJjZU1hcFNlZ21lbnQgPVxuICB8IFtudW1iZXJdXG4gIHwgW251bWJlciwgbnVtYmVyLCBudW1iZXIsIG51bWJlcl1cbiAgfCBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyLCBudW1iZXJdO1xuZXhwb3J0IHR5cGUgU291cmNlTWFwTGluZSA9IFNvdXJjZU1hcFNlZ21lbnRbXTtcbmV4cG9ydCB0eXBlIFNvdXJjZU1hcE1hcHBpbmdzID0gU291cmNlTWFwTGluZVtdO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVjb2RlKG1hcHBpbmdzOiBzdHJpbmcpOiBTb3VyY2VNYXBNYXBwaW5ncyB7XG4gIGNvbnN0IHsgbGVuZ3RoIH0gPSBtYXBwaW5ncztcbiAgY29uc3QgcmVhZGVyID0gbmV3IFN0cmluZ1JlYWRlcihtYXBwaW5ncyk7XG4gIGNvbnN0IGRlY29kZWQ6IFNvdXJjZU1hcE1hcHBpbmdzID0gW107XG4gIGxldCBnZW5Db2x1bW4gPSAwO1xuICBsZXQgc291cmNlc0luZGV4ID0gMDtcbiAgbGV0IHNvdXJjZUxpbmUgPSAwO1xuICBsZXQgc291cmNlQ29sdW1uID0gMDtcbiAgbGV0IG5hbWVzSW5kZXggPSAwO1xuXG4gIGRvIHtcbiAgICBjb25zdCBzZW1pID0gcmVhZGVyLmluZGV4T2YoJzsnKTtcbiAgICBjb25zdCBsaW5lOiBTb3VyY2VNYXBMaW5lID0gW107XG4gICAgbGV0IHNvcnRlZCA9IHRydWU7XG4gICAgbGV0IGxhc3RDb2wgPSAwO1xuICAgIGdlbkNvbHVtbiA9IDA7XG5cbiAgICB3aGlsZSAocmVhZGVyLnBvcyA8IHNlbWkpIHtcbiAgICAgIGxldCBzZWc6IFNvdXJjZU1hcFNlZ21lbnQ7XG5cbiAgICAgIGdlbkNvbHVtbiA9IGRlY29kZUludGVnZXIocmVhZGVyLCBnZW5Db2x1bW4pO1xuICAgICAgaWYgKGdlbkNvbHVtbiA8IGxhc3RDb2wpIHNvcnRlZCA9IGZhbHNlO1xuICAgICAgbGFzdENvbCA9IGdlbkNvbHVtbjtcblxuICAgICAgaWYgKGhhc01vcmVWbHEocmVhZGVyLCBzZW1pKSkge1xuICAgICAgICBzb3VyY2VzSW5kZXggPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgc291cmNlc0luZGV4KTtcbiAgICAgICAgc291cmNlTGluZSA9IGRlY29kZUludGVnZXIocmVhZGVyLCBzb3VyY2VMaW5lKTtcbiAgICAgICAgc291cmNlQ29sdW1uID0gZGVjb2RlSW50ZWdlcihyZWFkZXIsIHNvdXJjZUNvbHVtbik7XG5cbiAgICAgICAgaWYgKGhhc01vcmVWbHEocmVhZGVyLCBzZW1pKSkge1xuICAgICAgICAgIG5hbWVzSW5kZXggPSBkZWNvZGVJbnRlZ2VyKHJlYWRlciwgbmFtZXNJbmRleCk7XG4gICAgICAgICAgc2VnID0gW2dlbkNvbHVtbiwgc291cmNlc0luZGV4LCBzb3VyY2VMaW5lLCBzb3VyY2VDb2x1bW4sIG5hbWVzSW5kZXhdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNlZyA9IFtnZW5Db2x1bW4sIHNvdXJjZXNJbmRleCwgc291cmNlTGluZSwgc291cmNlQ29sdW1uXTtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgc2VnID0gW2dlbkNvbHVtbl07XG4gICAgICB9XG5cbiAgICAgIGxpbmUucHVzaChzZWcpO1xuICAgICAgcmVhZGVyLnBvcysrO1xuICAgIH1cblxuICAgIGlmICghc29ydGVkKSBzb3J0KGxpbmUpO1xuICAgIGRlY29kZWQucHVzaChsaW5lKTtcbiAgICByZWFkZXIucG9zID0gc2VtaSArIDE7XG4gIH0gd2hpbGUgKHJlYWRlci5wb3MgPD0gbGVuZ3RoKTtcblxuICByZXR1cm4gZGVjb2RlZDtcbn1cblxuZnVuY3Rpb24gc29ydChsaW5lOiBTb3VyY2VNYXBTZWdtZW50W10pIHtcbiAgbGluZS5zb3J0KHNvcnRDb21wYXJhdG9yKTtcbn1cblxuZnVuY3Rpb24gc29ydENvbXBhcmF0b3IoYTogU291cmNlTWFwU2VnbWVudCwgYjogU291cmNlTWFwU2VnbWVudCk6IG51bWJlciB7XG4gIHJldHVybiBhWzBdIC0gYlswXTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZShkZWNvZGVkOiBTb3VyY2VNYXBNYXBwaW5ncyk6IHN0cmluZztcbmV4cG9ydCBmdW5jdGlvbiBlbmNvZGUoZGVjb2RlZDogUmVhZG9ubHk8U291cmNlTWFwTWFwcGluZ3M+KTogc3RyaW5nO1xuZXhwb3J0IGZ1bmN0aW9uIGVuY29kZShkZWNvZGVkOiBSZWFkb25seTxTb3VyY2VNYXBNYXBwaW5ncz4pOiBzdHJpbmcge1xuICBjb25zdCB3cml0ZXIgPSBuZXcgU3RyaW5nV3JpdGVyKCk7XG4gIGxldCBzb3VyY2VzSW5kZXggPSAwO1xuICBsZXQgc291cmNlTGluZSA9IDA7XG4gIGxldCBzb3VyY2VDb2x1bW4gPSAwO1xuICBsZXQgbmFtZXNJbmRleCA9IDA7XG5cbiAgZm9yIChsZXQgaSA9IDA7IGkgPCBkZWNvZGVkLmxlbmd0aDsgaSsrKSB7XG4gICAgY29uc3QgbGluZSA9IGRlY29kZWRbaV07XG4gICAgaWYgKGkgPiAwKSB3cml0ZXIud3JpdGUoc2VtaWNvbG9uKTtcbiAgICBpZiAobGluZS5sZW5ndGggPT09IDApIGNvbnRpbnVlO1xuXG4gICAgbGV0IGdlbkNvbHVtbiA9IDA7XG5cbiAgICBmb3IgKGxldCBqID0gMDsgaiA8IGxpbmUubGVuZ3RoOyBqKyspIHtcbiAgICAgIGNvbnN0IHNlZ21lbnQgPSBsaW5lW2pdO1xuICAgICAgaWYgKGogPiAwKSB3cml0ZXIud3JpdGUoY29tbWEpO1xuXG4gICAgICBnZW5Db2x1bW4gPSBlbmNvZGVJbnRlZ2VyKHdyaXRlciwgc2VnbWVudFswXSwgZ2VuQ29sdW1uKTtcblxuICAgICAgaWYgKHNlZ21lbnQubGVuZ3RoID09PSAxKSBjb250aW51ZTtcbiAgICAgIHNvdXJjZXNJbmRleCA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzFdLCBzb3VyY2VzSW5kZXgpO1xuICAgICAgc291cmNlTGluZSA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzJdLCBzb3VyY2VMaW5lKTtcbiAgICAgIHNvdXJjZUNvbHVtbiA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzNdLCBzb3VyY2VDb2x1bW4pO1xuXG4gICAgICBpZiAoc2VnbWVudC5sZW5ndGggPT09IDQpIGNvbnRpbnVlO1xuICAgICAgbmFtZXNJbmRleCA9IGVuY29kZUludGVnZXIod3JpdGVyLCBzZWdtZW50WzRdLCBuYW1lc0luZGV4KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gd3JpdGVyLmZsdXNoKCk7XG59XG4iLCAiZXhwb3J0IGRlZmF1bHQgY2xhc3MgQml0U2V0IHtcblx0Y29uc3RydWN0b3IoYXJnKSB7XG5cdFx0dGhpcy5iaXRzID0gYXJnIGluc3RhbmNlb2YgQml0U2V0ID8gYXJnLmJpdHMuc2xpY2UoKSA6IFtdO1xuXHR9XG5cblx0YWRkKG4pIHtcblx0XHR0aGlzLmJpdHNbbiA+PiA1XSB8PSAxIDw8IChuICYgMzEpO1xuXHR9XG5cblx0aGFzKG4pIHtcblx0XHRyZXR1cm4gISEodGhpcy5iaXRzW24gPj4gNV0gJiAoMSA8PCAobiAmIDMxKSkpO1xuXHR9XG59XG4iLCAiZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2h1bmsge1xuXHRjb25zdHJ1Y3RvcihzdGFydCwgZW5kLCBjb250ZW50KSB7XG5cdFx0dGhpcy5zdGFydCA9IHN0YXJ0O1xuXHRcdHRoaXMuZW5kID0gZW5kO1xuXHRcdHRoaXMub3JpZ2luYWwgPSBjb250ZW50O1xuXG5cdFx0dGhpcy5pbnRybyA9ICcnO1xuXHRcdHRoaXMub3V0cm8gPSAnJztcblxuXHRcdHRoaXMuY29udGVudCA9IGNvbnRlbnQ7XG5cdFx0dGhpcy5zdG9yZU5hbWUgPSBmYWxzZTtcblx0XHR0aGlzLmVkaXRlZCA9IGZhbHNlO1xuXG5cdFx0aWYgKERFQlVHKSB7XG5cdFx0XHQvLyB3ZSBtYWtlIHRoZXNlIG5vbi1lbnVtZXJhYmxlLCBmb3Igc2FuaXR5IHdoaWxlIGRlYnVnZ2luZ1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcywge1xuXHRcdFx0XHRwcmV2aW91czogeyB3cml0YWJsZTogdHJ1ZSwgdmFsdWU6IG51bGwgfSxcblx0XHRcdFx0bmV4dDogeyB3cml0YWJsZTogdHJ1ZSwgdmFsdWU6IG51bGwgfSxcblx0XHRcdH0pO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLnByZXZpb3VzID0gbnVsbDtcblx0XHRcdHRoaXMubmV4dCA9IG51bGw7XG5cdFx0fVxuXHR9XG5cblx0YXBwZW5kTGVmdChjb250ZW50KSB7XG5cdFx0dGhpcy5vdXRybyArPSBjb250ZW50O1xuXHR9XG5cblx0YXBwZW5kUmlnaHQoY29udGVudCkge1xuXHRcdHRoaXMuaW50cm8gPSB0aGlzLmludHJvICsgY29udGVudDtcblx0fVxuXG5cdGNsb25lKCkge1xuXHRcdGNvbnN0IGNodW5rID0gbmV3IENodW5rKHRoaXMuc3RhcnQsIHRoaXMuZW5kLCB0aGlzLm9yaWdpbmFsKTtcblxuXHRcdGNodW5rLmludHJvID0gdGhpcy5pbnRybztcblx0XHRjaHVuay5vdXRybyA9IHRoaXMub3V0cm87XG5cdFx0Y2h1bmsuY29udGVudCA9IHRoaXMuY29udGVudDtcblx0XHRjaHVuay5zdG9yZU5hbWUgPSB0aGlzLnN0b3JlTmFtZTtcblx0XHRjaHVuay5lZGl0ZWQgPSB0aGlzLmVkaXRlZDtcblxuXHRcdHJldHVybiBjaHVuaztcblx0fVxuXG5cdGNvbnRhaW5zKGluZGV4KSB7XG5cdFx0cmV0dXJuIHRoaXMuc3RhcnQgPCBpbmRleCAmJiBpbmRleCA8IHRoaXMuZW5kO1xuXHR9XG5cblx0ZWFjaE5leHQoZm4pIHtcblx0XHRsZXQgY2h1bmsgPSB0aGlzO1xuXHRcdHdoaWxlIChjaHVuaykge1xuXHRcdFx0Zm4oY2h1bmspO1xuXHRcdFx0Y2h1bmsgPSBjaHVuay5uZXh0O1xuXHRcdH1cblx0fVxuXG5cdGVhY2hQcmV2aW91cyhmbikge1xuXHRcdGxldCBjaHVuayA9IHRoaXM7XG5cdFx0d2hpbGUgKGNodW5rKSB7XG5cdFx0XHRmbihjaHVuayk7XG5cdFx0XHRjaHVuayA9IGNodW5rLnByZXZpb3VzO1xuXHRcdH1cblx0fVxuXG5cdGVkaXQoY29udGVudCwgc3RvcmVOYW1lLCBjb250ZW50T25seSkge1xuXHRcdHRoaXMuY29udGVudCA9IGNvbnRlbnQ7XG5cdFx0aWYgKCFjb250ZW50T25seSkge1xuXHRcdFx0dGhpcy5pbnRybyA9ICcnO1xuXHRcdFx0dGhpcy5vdXRybyA9ICcnO1xuXHRcdH1cblx0XHR0aGlzLnN0b3JlTmFtZSA9IHN0b3JlTmFtZTtcblxuXHRcdHRoaXMuZWRpdGVkID0gdHJ1ZTtcblxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0cHJlcGVuZExlZnQoY29udGVudCkge1xuXHRcdHRoaXMub3V0cm8gPSBjb250ZW50ICsgdGhpcy5vdXRybztcblx0fVxuXG5cdHByZXBlbmRSaWdodChjb250ZW50KSB7XG5cdFx0dGhpcy5pbnRybyA9IGNvbnRlbnQgKyB0aGlzLmludHJvO1xuXHR9XG5cblx0cmVzZXQoKSB7XG5cdFx0dGhpcy5pbnRybyA9ICcnO1xuXHRcdHRoaXMub3V0cm8gPSAnJztcblx0XHRpZiAodGhpcy5lZGl0ZWQpIHtcblx0XHRcdHRoaXMuY29udGVudCA9IHRoaXMub3JpZ2luYWw7XG5cdFx0XHR0aGlzLnN0b3JlTmFtZSA9IGZhbHNlO1xuXHRcdFx0dGhpcy5lZGl0ZWQgPSBmYWxzZTtcblx0XHR9XG5cdH1cblxuXHRzcGxpdChpbmRleCkge1xuXHRcdGNvbnN0IHNsaWNlSW5kZXggPSBpbmRleCAtIHRoaXMuc3RhcnQ7XG5cblx0XHRjb25zdCBvcmlnaW5hbEJlZm9yZSA9IHRoaXMub3JpZ2luYWwuc2xpY2UoMCwgc2xpY2VJbmRleCk7XG5cdFx0Y29uc3Qgb3JpZ2luYWxBZnRlciA9IHRoaXMub3JpZ2luYWwuc2xpY2Uoc2xpY2VJbmRleCk7XG5cblx0XHR0aGlzLm9yaWdpbmFsID0gb3JpZ2luYWxCZWZvcmU7XG5cblx0XHRjb25zdCBuZXdDaHVuayA9IG5ldyBDaHVuayhpbmRleCwgdGhpcy5lbmQsIG9yaWdpbmFsQWZ0ZXIpO1xuXHRcdG5ld0NodW5rLm91dHJvID0gdGhpcy5vdXRybztcblx0XHR0aGlzLm91dHJvID0gJyc7XG5cblx0XHR0aGlzLmVuZCA9IGluZGV4O1xuXG5cdFx0aWYgKHRoaXMuZWRpdGVkKSB7XG5cdFx0XHQvLyBhZnRlciBzcGxpdCB3ZSBzaG91bGQgc2F2ZSB0aGUgZWRpdCBjb250ZW50IHJlY29yZCBpbnRvIHRoZSBjb3JyZWN0IGNodW5rXG5cdFx0XHQvLyB0byBtYWtlIHN1cmUgc291cmNlbWFwIGNvcnJlY3Rcblx0XHRcdC8vIEZvciBleGFtcGxlOlxuXHRcdFx0Ly8gJyAgdGVzdCcudHJpbSgpXG5cdFx0XHQvLyAgICAgc3BsaXQgICAtPiAnICAnICsgJ3Rlc3QnXG5cdFx0XHQvLyAgIOKclO+4jyBlZGl0ICAgIC0+ICcnICsgJ3Rlc3QnXG5cdFx0XHQvLyAgIOKclu+4jyBlZGl0ICAgIC0+ICd0ZXN0JyArICcnIFxuXHRcdFx0Ly8gVE9ETyBpcyB0aGlzIGJsb2NrIG5lY2Vzc2FyeT8uLi5cblx0XHRcdG5ld0NodW5rLmVkaXQoJycsIGZhbHNlKTtcblx0XHRcdHRoaXMuY29udGVudCA9ICcnO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmNvbnRlbnQgPSBvcmlnaW5hbEJlZm9yZTtcblx0XHR9XG5cblx0XHRuZXdDaHVuay5uZXh0ID0gdGhpcy5uZXh0O1xuXHRcdGlmIChuZXdDaHVuay5uZXh0KSBuZXdDaHVuay5uZXh0LnByZXZpb3VzID0gbmV3Q2h1bms7XG5cdFx0bmV3Q2h1bmsucHJldmlvdXMgPSB0aGlzO1xuXHRcdHRoaXMubmV4dCA9IG5ld0NodW5rO1xuXG5cdFx0cmV0dXJuIG5ld0NodW5rO1xuXHR9XG5cblx0dG9TdHJpbmcoKSB7XG5cdFx0cmV0dXJuIHRoaXMuaW50cm8gKyB0aGlzLmNvbnRlbnQgKyB0aGlzLm91dHJvO1xuXHR9XG5cblx0dHJpbUVuZChyeCkge1xuXHRcdHRoaXMub3V0cm8gPSB0aGlzLm91dHJvLnJlcGxhY2UocngsICcnKTtcblx0XHRpZiAodGhpcy5vdXRyby5sZW5ndGgpIHJldHVybiB0cnVlO1xuXG5cdFx0Y29uc3QgdHJpbW1lZCA9IHRoaXMuY29udGVudC5yZXBsYWNlKHJ4LCAnJyk7XG5cblx0XHRpZiAodHJpbW1lZC5sZW5ndGgpIHtcblx0XHRcdGlmICh0cmltbWVkICE9PSB0aGlzLmNvbnRlbnQpIHtcblx0XHRcdFx0dGhpcy5zcGxpdCh0aGlzLnN0YXJ0ICsgdHJpbW1lZC5sZW5ndGgpLmVkaXQoJycsIHVuZGVmaW5lZCwgdHJ1ZSk7XG5cdFx0XHRcdGlmICh0aGlzLmVkaXRlZCkge1xuXHRcdFx0XHRcdC8vIHNhdmUgdGhlIGNoYW5nZSwgaWYgaXQgaGFzIGJlZW4gZWRpdGVkXG5cdFx0XHRcdFx0dGhpcy5lZGl0KHRyaW1tZWQsIHRoaXMuc3RvcmVOYW1lLCB0cnVlKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHRydWU7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuZWRpdCgnJywgdW5kZWZpbmVkLCB0cnVlKTtcblxuXHRcdFx0dGhpcy5pbnRybyA9IHRoaXMuaW50cm8ucmVwbGFjZShyeCwgJycpO1xuXHRcdFx0aWYgKHRoaXMuaW50cm8ubGVuZ3RoKSByZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdH1cblxuXHR0cmltU3RhcnQocngpIHtcblx0XHR0aGlzLmludHJvID0gdGhpcy5pbnRyby5yZXBsYWNlKHJ4LCAnJyk7XG5cdFx0aWYgKHRoaXMuaW50cm8ubGVuZ3RoKSByZXR1cm4gdHJ1ZTtcblxuXHRcdGNvbnN0IHRyaW1tZWQgPSB0aGlzLmNvbnRlbnQucmVwbGFjZShyeCwgJycpO1xuXG5cdFx0aWYgKHRyaW1tZWQubGVuZ3RoKSB7XG5cdFx0XHRpZiAodHJpbW1lZCAhPT0gdGhpcy5jb250ZW50KSB7XG5cdFx0XHRcdGNvbnN0IG5ld0NodW5rID0gdGhpcy5zcGxpdCh0aGlzLmVuZCAtIHRyaW1tZWQubGVuZ3RoKTtcblx0XHRcdFx0aWYgKHRoaXMuZWRpdGVkKSB7XG5cdFx0XHRcdFx0Ly8gc2F2ZSB0aGUgY2hhbmdlLCBpZiBpdCBoYXMgYmVlbiBlZGl0ZWRcblx0XHRcdFx0XHRuZXdDaHVuay5lZGl0KHRyaW1tZWQsIHRoaXMuc3RvcmVOYW1lLCB0cnVlKTtcblx0XHRcdFx0fVxuXHRcdFx0XHR0aGlzLmVkaXQoJycsIHVuZGVmaW5lZCwgdHJ1ZSk7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5lZGl0KCcnLCB1bmRlZmluZWQsIHRydWUpO1xuXG5cdFx0XHR0aGlzLm91dHJvID0gdGhpcy5vdXRyby5yZXBsYWNlKHJ4LCAnJyk7XG5cdFx0XHRpZiAodGhpcy5vdXRyby5sZW5ndGgpIHJldHVybiB0cnVlO1xuXHRcdH1cblx0fVxufVxuIiwgImltcG9ydCB7IGVuY29kZSB9IGZyb20gJ0BqcmlkZ2V3ZWxsL3NvdXJjZW1hcC1jb2RlYyc7XG5cbmZ1bmN0aW9uIGdldEJ0b2EoKSB7XG5cdGlmICh0eXBlb2YgZ2xvYmFsVGhpcyAhPT0gJ3VuZGVmaW5lZCcgJiYgdHlwZW9mIGdsb2JhbFRoaXMuYnRvYSA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdHJldHVybiAoc3RyKSA9PiBnbG9iYWxUaGlzLmJ0b2EodW5lc2NhcGUoZW5jb2RlVVJJQ29tcG9uZW50KHN0cikpKTtcblx0fSBlbHNlIGlmICh0eXBlb2YgQnVmZmVyID09PSAnZnVuY3Rpb24nKSB7XG5cdFx0cmV0dXJuIChzdHIpID0+IEJ1ZmZlci5mcm9tKHN0ciwgJ3V0Zi04JykudG9TdHJpbmcoJ2Jhc2U2NCcpO1xuXHR9IGVsc2Uge1xuXHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIGVudmlyb25tZW50OiBgd2luZG93LmJ0b2FgIG9yIGBCdWZmZXJgIHNob3VsZCBiZSBzdXBwb3J0ZWQuJyk7XG5cdFx0fTtcblx0fVxufVxuXG5jb25zdCBidG9hID0gLyojX19QVVJFX18qLyBnZXRCdG9hKCk7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNvdXJjZU1hcCB7XG5cdGNvbnN0cnVjdG9yKHByb3BlcnRpZXMpIHtcblx0XHR0aGlzLnZlcnNpb24gPSAzO1xuXHRcdHRoaXMuZmlsZSA9IHByb3BlcnRpZXMuZmlsZTtcblx0XHR0aGlzLnNvdXJjZXMgPSBwcm9wZXJ0aWVzLnNvdXJjZXM7XG5cdFx0dGhpcy5zb3VyY2VzQ29udGVudCA9IHByb3BlcnRpZXMuc291cmNlc0NvbnRlbnQ7XG5cdFx0dGhpcy5uYW1lcyA9IHByb3BlcnRpZXMubmFtZXM7XG5cdFx0dGhpcy5tYXBwaW5ncyA9IGVuY29kZShwcm9wZXJ0aWVzLm1hcHBpbmdzKTtcblx0XHRpZiAodHlwZW9mIHByb3BlcnRpZXMueF9nb29nbGVfaWdub3JlTGlzdCAhPT0gJ3VuZGVmaW5lZCcpIHtcblx0XHRcdHRoaXMueF9nb29nbGVfaWdub3JlTGlzdCA9IHByb3BlcnRpZXMueF9nb29nbGVfaWdub3JlTGlzdDtcblx0XHR9XG5cdFx0aWYgKHR5cGVvZiBwcm9wZXJ0aWVzLmRlYnVnSWQgIT09ICd1bmRlZmluZWQnKSB7XG5cdFx0XHR0aGlzLmRlYnVnSWQgPSBwcm9wZXJ0aWVzLmRlYnVnSWQ7XG5cdFx0fVxuXHR9XG5cblx0dG9TdHJpbmcoKSB7XG5cdFx0cmV0dXJuIEpTT04uc3RyaW5naWZ5KHRoaXMpO1xuXHR9XG5cblx0dG9VcmwoKSB7XG5cdFx0cmV0dXJuICdkYXRhOmFwcGxpY2F0aW9uL2pzb247Y2hhcnNldD11dGYtODtiYXNlNjQsJyArIGJ0b2EodGhpcy50b1N0cmluZygpKTtcblx0fVxufVxuIiwgImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGd1ZXNzSW5kZW50KGNvZGUpIHtcblx0Y29uc3QgbGluZXMgPSBjb2RlLnNwbGl0KCdcXG4nKTtcblxuXHRjb25zdCB0YWJiZWQgPSBsaW5lcy5maWx0ZXIoKGxpbmUpID0+IC9eXFx0Ky8udGVzdChsaW5lKSk7XG5cdGNvbnN0IHNwYWNlZCA9IGxpbmVzLmZpbHRlcigobGluZSkgPT4gL14gezIsfS8udGVzdChsaW5lKSk7XG5cblx0aWYgKHRhYmJlZC5sZW5ndGggPT09IDAgJiYgc3BhY2VkLmxlbmd0aCA9PT0gMCkge1xuXHRcdHJldHVybiBudWxsO1xuXHR9XG5cblx0Ly8gTW9yZSBsaW5lcyB0YWJiZWQgdGhhbiBzcGFjZWQ/IEFzc3VtZSB0YWJzLCBhbmRcblx0Ly8gZGVmYXVsdCB0byB0YWJzIGluIHRoZSBjYXNlIG9mIGEgdGllIChvciBub3RoaW5nXG5cdC8vIHRvIGdvIG9uKVxuXHRpZiAodGFiYmVkLmxlbmd0aCA+PSBzcGFjZWQubGVuZ3RoKSB7XG5cdFx0cmV0dXJuICdcXHQnO1xuXHR9XG5cblx0Ly8gT3RoZXJ3aXNlLCB3ZSBuZWVkIHRvIGd1ZXNzIHRoZSBtdWx0aXBsZVxuXHRjb25zdCBtaW4gPSBzcGFjZWQucmVkdWNlKChwcmV2aW91cywgY3VycmVudCkgPT4ge1xuXHRcdGNvbnN0IG51bVNwYWNlcyA9IC9eICsvLmV4ZWMoY3VycmVudClbMF0ubGVuZ3RoO1xuXHRcdHJldHVybiBNYXRoLm1pbihudW1TcGFjZXMsIHByZXZpb3VzKTtcblx0fSwgSW5maW5pdHkpO1xuXG5cdHJldHVybiBuZXcgQXJyYXkobWluICsgMSkuam9pbignICcpO1xufVxuIiwgImV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGdldFJlbGF0aXZlUGF0aChmcm9tLCB0bykge1xuXHRjb25zdCBmcm9tUGFydHMgPSBmcm9tLnNwbGl0KC9bL1xcXFxdLyk7XG5cdGNvbnN0IHRvUGFydHMgPSB0by5zcGxpdCgvWy9cXFxcXS8pO1xuXG5cdGZyb21QYXJ0cy5wb3AoKTsgLy8gZ2V0IGRpcm5hbWVcblxuXHR3aGlsZSAoZnJvbVBhcnRzWzBdID09PSB0b1BhcnRzWzBdKSB7XG5cdFx0ZnJvbVBhcnRzLnNoaWZ0KCk7XG5cdFx0dG9QYXJ0cy5zaGlmdCgpO1xuXHR9XG5cblx0aWYgKGZyb21QYXJ0cy5sZW5ndGgpIHtcblx0XHRsZXQgaSA9IGZyb21QYXJ0cy5sZW5ndGg7XG5cdFx0d2hpbGUgKGktLSkgZnJvbVBhcnRzW2ldID0gJy4uJztcblx0fVxuXG5cdHJldHVybiBmcm9tUGFydHMuY29uY2F0KHRvUGFydHMpLmpvaW4oJy8nKTtcbn1cbiIsICJjb25zdCB0b1N0cmluZyA9IE9iamVjdC5wcm90b3R5cGUudG9TdHJpbmc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGlzT2JqZWN0KHRoaW5nKSB7XG5cdHJldHVybiB0b1N0cmluZy5jYWxsKHRoaW5nKSA9PT0gJ1tvYmplY3QgT2JqZWN0XSc7XG59XG4iLCAiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZ2V0TG9jYXRvcihzb3VyY2UpIHtcblx0Y29uc3Qgb3JpZ2luYWxMaW5lcyA9IHNvdXJjZS5zcGxpdCgnXFxuJyk7XG5cdGNvbnN0IGxpbmVPZmZzZXRzID0gW107XG5cblx0Zm9yIChsZXQgaSA9IDAsIHBvcyA9IDA7IGkgPCBvcmlnaW5hbExpbmVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0bGluZU9mZnNldHMucHVzaChwb3MpO1xuXHRcdHBvcyArPSBvcmlnaW5hbExpbmVzW2ldLmxlbmd0aCArIDE7XG5cdH1cblxuXHRyZXR1cm4gZnVuY3Rpb24gbG9jYXRlKGluZGV4KSB7XG5cdFx0bGV0IGkgPSAwO1xuXHRcdGxldCBqID0gbGluZU9mZnNldHMubGVuZ3RoO1xuXHRcdHdoaWxlIChpIDwgaikge1xuXHRcdFx0Y29uc3QgbSA9IChpICsgaikgPj4gMTtcblx0XHRcdGlmIChpbmRleCA8IGxpbmVPZmZzZXRzW21dKSB7XG5cdFx0XHRcdGogPSBtO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0aSA9IG0gKyAxO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRjb25zdCBsaW5lID0gaSAtIDE7XG5cdFx0Y29uc3QgY29sdW1uID0gaW5kZXggLSBsaW5lT2Zmc2V0c1tsaW5lXTtcblx0XHRyZXR1cm4geyBsaW5lLCBjb2x1bW4gfTtcblx0fTtcbn1cbiIsICJjb25zdCB3b3JkUmVnZXggPSAvXFx3LztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTWFwcGluZ3Mge1xuXHRjb25zdHJ1Y3RvcihoaXJlcykge1xuXHRcdHRoaXMuaGlyZXMgPSBoaXJlcztcblx0XHR0aGlzLmdlbmVyYXRlZENvZGVMaW5lID0gMDtcblx0XHR0aGlzLmdlbmVyYXRlZENvZGVDb2x1bW4gPSAwO1xuXHRcdHRoaXMucmF3ID0gW107XG5cdFx0dGhpcy5yYXdTZWdtZW50cyA9IHRoaXMucmF3W3RoaXMuZ2VuZXJhdGVkQ29kZUxpbmVdID0gW107XG5cdFx0dGhpcy5wZW5kaW5nID0gbnVsbDtcblx0fVxuXG5cdGFkZEVkaXQoc291cmNlSW5kZXgsIGNvbnRlbnQsIGxvYywgbmFtZUluZGV4KSB7XG5cdFx0aWYgKGNvbnRlbnQubGVuZ3RoKSB7XG5cdFx0XHRjb25zdCBjb250ZW50TGVuZ3RoTWludXNPbmUgPSBjb250ZW50Lmxlbmd0aCAtIDE7XG5cdFx0XHRsZXQgY29udGVudExpbmVFbmQgPSBjb250ZW50LmluZGV4T2YoJ1xcbicsIDApO1xuXHRcdFx0bGV0IHByZXZpb3VzQ29udGVudExpbmVFbmQgPSAtMTtcblx0XHRcdC8vIExvb3AgdGhyb3VnaCBlYWNoIGxpbmUgaW4gdGhlIGNvbnRlbnQgYW5kIGFkZCBhIHNlZ21lbnQsIGJ1dCBzdG9wIGlmIHRoZSBsYXN0IGxpbmUgaXMgZW1wdHksXG5cdFx0XHQvLyBlbHNlIGNvZGUgYWZ0ZXJ3YXJkcyB3b3VsZCBmaWxsIG9uZSBsaW5lIHRvbyBtYW55XG5cdFx0XHR3aGlsZSAoY29udGVudExpbmVFbmQgPj0gMCAmJiBjb250ZW50TGVuZ3RoTWludXNPbmUgPiBjb250ZW50TGluZUVuZCkge1xuXHRcdFx0XHRjb25zdCBzZWdtZW50ID0gW3RoaXMuZ2VuZXJhdGVkQ29kZUNvbHVtbiwgc291cmNlSW5kZXgsIGxvYy5saW5lLCBsb2MuY29sdW1uXTtcblx0XHRcdFx0aWYgKG5hbWVJbmRleCA+PSAwKSB7XG5cdFx0XHRcdFx0c2VnbWVudC5wdXNoKG5hbWVJbmRleCk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy5yYXdTZWdtZW50cy5wdXNoKHNlZ21lbnQpO1xuXG5cdFx0XHRcdHRoaXMuZ2VuZXJhdGVkQ29kZUxpbmUgKz0gMTtcblx0XHRcdFx0dGhpcy5yYXdbdGhpcy5nZW5lcmF0ZWRDb2RlTGluZV0gPSB0aGlzLnJhd1NlZ21lbnRzID0gW107XG5cdFx0XHRcdHRoaXMuZ2VuZXJhdGVkQ29kZUNvbHVtbiA9IDA7XG5cblx0XHRcdFx0cHJldmlvdXNDb250ZW50TGluZUVuZCA9IGNvbnRlbnRMaW5lRW5kO1xuXHRcdFx0XHRjb250ZW50TGluZUVuZCA9IGNvbnRlbnQuaW5kZXhPZignXFxuJywgY29udGVudExpbmVFbmQgKyAxKTtcblx0XHRcdH1cblxuXHRcdFx0Y29uc3Qgc2VnbWVudCA9IFt0aGlzLmdlbmVyYXRlZENvZGVDb2x1bW4sIHNvdXJjZUluZGV4LCBsb2MubGluZSwgbG9jLmNvbHVtbl07XG5cdFx0XHRpZiAobmFtZUluZGV4ID49IDApIHtcblx0XHRcdFx0c2VnbWVudC5wdXNoKG5hbWVJbmRleCk7XG5cdFx0XHR9XG5cdFx0XHR0aGlzLnJhd1NlZ21lbnRzLnB1c2goc2VnbWVudCk7XG5cblx0XHRcdHRoaXMuYWR2YW5jZShjb250ZW50LnNsaWNlKHByZXZpb3VzQ29udGVudExpbmVFbmQgKyAxKSk7XG5cdFx0fSBlbHNlIGlmICh0aGlzLnBlbmRpbmcpIHtcblx0XHRcdHRoaXMucmF3U2VnbWVudHMucHVzaCh0aGlzLnBlbmRpbmcpO1xuXHRcdFx0dGhpcy5hZHZhbmNlKGNvbnRlbnQpO1xuXHRcdH1cblxuXHRcdHRoaXMucGVuZGluZyA9IG51bGw7XG5cdH1cblxuXHRhZGRVbmVkaXRlZENodW5rKHNvdXJjZUluZGV4LCBjaHVuaywgb3JpZ2luYWwsIGxvYywgc291cmNlbWFwTG9jYXRpb25zKSB7XG5cdFx0bGV0IG9yaWdpbmFsQ2hhckluZGV4ID0gY2h1bmsuc3RhcnQ7XG5cdFx0bGV0IGZpcnN0ID0gdHJ1ZTtcblx0XHQvLyB3aGVuIGl0ZXJhdGluZyBlYWNoIGNoYXIsIGNoZWNrIGlmIGl0J3MgaW4gYSB3b3JkIGJvdW5kYXJ5XG5cdFx0bGV0IGNoYXJJbkhpcmVzQm91bmRhcnkgPSBmYWxzZTtcblxuXHRcdHdoaWxlIChvcmlnaW5hbENoYXJJbmRleCA8IGNodW5rLmVuZCkge1xuXHRcdFx0aWYgKG9yaWdpbmFsW29yaWdpbmFsQ2hhckluZGV4XSA9PT0gJ1xcbicpIHtcblx0XHRcdFx0bG9jLmxpbmUgKz0gMTtcblx0XHRcdFx0bG9jLmNvbHVtbiA9IDA7XG5cdFx0XHRcdHRoaXMuZ2VuZXJhdGVkQ29kZUxpbmUgKz0gMTtcblx0XHRcdFx0dGhpcy5yYXdbdGhpcy5nZW5lcmF0ZWRDb2RlTGluZV0gPSB0aGlzLnJhd1NlZ21lbnRzID0gW107XG5cdFx0XHRcdHRoaXMuZ2VuZXJhdGVkQ29kZUNvbHVtbiA9IDA7XG5cdFx0XHRcdGZpcnN0ID0gdHJ1ZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGlmICh0aGlzLmhpcmVzIHx8IGZpcnN0IHx8IHNvdXJjZW1hcExvY2F0aW9ucy5oYXMob3JpZ2luYWxDaGFySW5kZXgpKSB7XG5cdFx0XHRcdFx0Y29uc3Qgc2VnbWVudCA9IFt0aGlzLmdlbmVyYXRlZENvZGVDb2x1bW4sIHNvdXJjZUluZGV4LCBsb2MubGluZSwgbG9jLmNvbHVtbl07XG5cblx0XHRcdFx0XHRpZiAodGhpcy5oaXJlcyA9PT0gJ2JvdW5kYXJ5Jykge1xuXHRcdFx0XHRcdFx0Ly8gaW4gaGlyZXMgXCJib3VuZGFyeVwiLCBncm91cCBzZWdtZW50cyBwZXIgd29yZCBib3VuZGFyeSB0aGFuIHBlciBjaGFyXG5cdFx0XHRcdFx0XHRpZiAod29yZFJlZ2V4LnRlc3Qob3JpZ2luYWxbb3JpZ2luYWxDaGFySW5kZXhdKSkge1xuXHRcdFx0XHRcdFx0XHQvLyBmb3IgZmlyc3QgY2hhciBpbiB0aGUgYm91bmRhcnkgZm91bmQsIHN0YXJ0IHRoZSBib3VuZGFyeSBieSBwdXNoaW5nIGEgc2VnbWVudFxuXHRcdFx0XHRcdFx0XHRpZiAoIWNoYXJJbkhpcmVzQm91bmRhcnkpIHtcblx0XHRcdFx0XHRcdFx0XHR0aGlzLnJhd1NlZ21lbnRzLnB1c2goc2VnbWVudCk7XG5cdFx0XHRcdFx0XHRcdFx0Y2hhckluSGlyZXNCb3VuZGFyeSA9IHRydWU7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdC8vIGZvciBub24td29yZCBjaGFyLCBlbmQgdGhlIGJvdW5kYXJ5IGJ5IHB1c2hpbmcgYSBzZWdtZW50XG5cdFx0XHRcdFx0XHRcdHRoaXMucmF3U2VnbWVudHMucHVzaChzZWdtZW50KTtcblx0XHRcdFx0XHRcdFx0Y2hhckluSGlyZXNCb3VuZGFyeSA9IGZhbHNlO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHR0aGlzLnJhd1NlZ21lbnRzLnB1c2goc2VnbWVudCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cblx0XHRcdFx0bG9jLmNvbHVtbiArPSAxO1xuXHRcdFx0XHR0aGlzLmdlbmVyYXRlZENvZGVDb2x1bW4gKz0gMTtcblx0XHRcdFx0Zmlyc3QgPSBmYWxzZTtcblx0XHRcdH1cblxuXHRcdFx0b3JpZ2luYWxDaGFySW5kZXggKz0gMTtcblx0XHR9XG5cblx0XHR0aGlzLnBlbmRpbmcgPSBudWxsO1xuXHR9XG5cblx0YWR2YW5jZShzdHIpIHtcblx0XHRpZiAoIXN0cikgcmV0dXJuO1xuXG5cdFx0Y29uc3QgbGluZXMgPSBzdHIuc3BsaXQoJ1xcbicpO1xuXG5cdFx0aWYgKGxpbmVzLmxlbmd0aCA+IDEpIHtcblx0XHRcdGZvciAobGV0IGkgPSAwOyBpIDwgbGluZXMubGVuZ3RoIC0gMTsgaSsrKSB7XG5cdFx0XHRcdHRoaXMuZ2VuZXJhdGVkQ29kZUxpbmUrKztcblx0XHRcdFx0dGhpcy5yYXdbdGhpcy5nZW5lcmF0ZWRDb2RlTGluZV0gPSB0aGlzLnJhd1NlZ21lbnRzID0gW107XG5cdFx0XHR9XG5cdFx0XHR0aGlzLmdlbmVyYXRlZENvZGVDb2x1bW4gPSAwO1xuXHRcdH1cblxuXHRcdHRoaXMuZ2VuZXJhdGVkQ29kZUNvbHVtbiArPSBsaW5lc1tsaW5lcy5sZW5ndGggLSAxXS5sZW5ndGg7XG5cdH1cbn1cbiIsICJpbXBvcnQgQml0U2V0IGZyb20gJy4vQml0U2V0LmpzJztcbmltcG9ydCBDaHVuayBmcm9tICcuL0NodW5rLmpzJztcbmltcG9ydCBTb3VyY2VNYXAgZnJvbSAnLi9Tb3VyY2VNYXAuanMnO1xuaW1wb3J0IGd1ZXNzSW5kZW50IGZyb20gJy4vdXRpbHMvZ3Vlc3NJbmRlbnQuanMnO1xuaW1wb3J0IGdldFJlbGF0aXZlUGF0aCBmcm9tICcuL3V0aWxzL2dldFJlbGF0aXZlUGF0aC5qcyc7XG5pbXBvcnQgaXNPYmplY3QgZnJvbSAnLi91dGlscy9pc09iamVjdC5qcyc7XG5pbXBvcnQgZ2V0TG9jYXRvciBmcm9tICcuL3V0aWxzL2dldExvY2F0b3IuanMnO1xuaW1wb3J0IE1hcHBpbmdzIGZyb20gJy4vdXRpbHMvTWFwcGluZ3MuanMnO1xuaW1wb3J0IFN0YXRzIGZyb20gJy4vdXRpbHMvU3RhdHMuanMnO1xuXG5jb25zdCBuID0gJ1xcbic7XG5cbmNvbnN0IHdhcm5lZCA9IHtcblx0aW5zZXJ0TGVmdDogZmFsc2UsXG5cdGluc2VydFJpZ2h0OiBmYWxzZSxcblx0c3RvcmVOYW1lOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE1hZ2ljU3RyaW5nIHtcblx0Y29uc3RydWN0b3Ioc3RyaW5nLCBvcHRpb25zID0ge30pIHtcblx0XHRjb25zdCBjaHVuayA9IG5ldyBDaHVuaygwLCBzdHJpbmcubGVuZ3RoLCBzdHJpbmcpO1xuXG5cdFx0T2JqZWN0LmRlZmluZVByb3BlcnRpZXModGhpcywge1xuXHRcdFx0b3JpZ2luYWw6IHsgd3JpdGFibGU6IHRydWUsIHZhbHVlOiBzdHJpbmcgfSxcblx0XHRcdG91dHJvOiB7IHdyaXRhYmxlOiB0cnVlLCB2YWx1ZTogJycgfSxcblx0XHRcdGludHJvOiB7IHdyaXRhYmxlOiB0cnVlLCB2YWx1ZTogJycgfSxcblx0XHRcdGZpcnN0Q2h1bms6IHsgd3JpdGFibGU6IHRydWUsIHZhbHVlOiBjaHVuayB9LFxuXHRcdFx0bGFzdENodW5rOiB7IHdyaXRhYmxlOiB0cnVlLCB2YWx1ZTogY2h1bmsgfSxcblx0XHRcdGxhc3RTZWFyY2hlZENodW5rOiB7IHdyaXRhYmxlOiB0cnVlLCB2YWx1ZTogY2h1bmsgfSxcblx0XHRcdGJ5U3RhcnQ6IHsgd3JpdGFibGU6IHRydWUsIHZhbHVlOiB7fSB9LFxuXHRcdFx0YnlFbmQ6IHsgd3JpdGFibGU6IHRydWUsIHZhbHVlOiB7fSB9LFxuXHRcdFx0ZmlsZW5hbWU6IHsgd3JpdGFibGU6IHRydWUsIHZhbHVlOiBvcHRpb25zLmZpbGVuYW1lIH0sXG5cdFx0XHRpbmRlbnRFeGNsdXNpb25SYW5nZXM6IHsgd3JpdGFibGU6IHRydWUsIHZhbHVlOiBvcHRpb25zLmluZGVudEV4Y2x1c2lvblJhbmdlcyB9LFxuXHRcdFx0c291cmNlbWFwTG9jYXRpb25zOiB7IHdyaXRhYmxlOiB0cnVlLCB2YWx1ZTogbmV3IEJpdFNldCgpIH0sXG5cdFx0XHRzdG9yZWROYW1lczogeyB3cml0YWJsZTogdHJ1ZSwgdmFsdWU6IHt9IH0sXG5cdFx0XHRpbmRlbnRTdHI6IHsgd3JpdGFibGU6IHRydWUsIHZhbHVlOiB1bmRlZmluZWQgfSxcblx0XHRcdGlnbm9yZUxpc3Q6IHsgd3JpdGFibGU6IHRydWUsIHZhbHVlOiBvcHRpb25zLmlnbm9yZUxpc3QgfSxcblx0XHR9KTtcblxuXHRcdGlmIChERUJVRykge1xuXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdzdGF0cycsIHsgdmFsdWU6IG5ldyBTdGF0cygpIH0pO1xuXHRcdH1cblxuXHRcdHRoaXMuYnlTdGFydFswXSA9IGNodW5rO1xuXHRcdHRoaXMuYnlFbmRbc3RyaW5nLmxlbmd0aF0gPSBjaHVuaztcblx0fVxuXG5cdGFkZFNvdXJjZW1hcExvY2F0aW9uKGNoYXIpIHtcblx0XHR0aGlzLnNvdXJjZW1hcExvY2F0aW9ucy5hZGQoY2hhcik7XG5cdH1cblxuXHRhcHBlbmQoY29udGVudCkge1xuXHRcdGlmICh0eXBlb2YgY29udGVudCAhPT0gJ3N0cmluZycpIHRocm93IG5ldyBUeXBlRXJyb3IoJ291dHJvIGNvbnRlbnQgbXVzdCBiZSBhIHN0cmluZycpO1xuXG5cdFx0dGhpcy5vdXRybyArPSBjb250ZW50O1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0YXBwZW5kTGVmdChpbmRleCwgY29udGVudCkge1xuXHRcdGlmICh0eXBlb2YgY29udGVudCAhPT0gJ3N0cmluZycpIHRocm93IG5ldyBUeXBlRXJyb3IoJ2luc2VydGVkIGNvbnRlbnQgbXVzdCBiZSBhIHN0cmluZycpO1xuXG5cdFx0aWYgKERFQlVHKSB0aGlzLnN0YXRzLnRpbWUoJ2FwcGVuZExlZnQnKTtcblxuXHRcdHRoaXMuX3NwbGl0KGluZGV4KTtcblxuXHRcdGNvbnN0IGNodW5rID0gdGhpcy5ieUVuZFtpbmRleF07XG5cblx0XHRpZiAoY2h1bmspIHtcblx0XHRcdGNodW5rLmFwcGVuZExlZnQoY29udGVudCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuaW50cm8gKz0gY29udGVudDtcblx0XHR9XG5cblx0XHRpZiAoREVCVUcpIHRoaXMuc3RhdHMudGltZUVuZCgnYXBwZW5kTGVmdCcpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0YXBwZW5kUmlnaHQoaW5kZXgsIGNvbnRlbnQpIHtcblx0XHRpZiAodHlwZW9mIGNvbnRlbnQgIT09ICdzdHJpbmcnKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnNlcnRlZCBjb250ZW50IG11c3QgYmUgYSBzdHJpbmcnKTtcblxuXHRcdGlmIChERUJVRykgdGhpcy5zdGF0cy50aW1lKCdhcHBlbmRSaWdodCcpO1xuXG5cdFx0dGhpcy5fc3BsaXQoaW5kZXgpO1xuXG5cdFx0Y29uc3QgY2h1bmsgPSB0aGlzLmJ5U3RhcnRbaW5kZXhdO1xuXG5cdFx0aWYgKGNodW5rKSB7XG5cdFx0XHRjaHVuay5hcHBlbmRSaWdodChjb250ZW50KTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5vdXRybyArPSBjb250ZW50O1xuXHRcdH1cblxuXHRcdGlmIChERUJVRykgdGhpcy5zdGF0cy50aW1lRW5kKCdhcHBlbmRSaWdodCcpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0Y2xvbmUoKSB7XG5cdFx0Y29uc3QgY2xvbmVkID0gbmV3IE1hZ2ljU3RyaW5nKHRoaXMub3JpZ2luYWwsIHsgZmlsZW5hbWU6IHRoaXMuZmlsZW5hbWUgfSk7XG5cblx0XHRsZXQgb3JpZ2luYWxDaHVuayA9IHRoaXMuZmlyc3RDaHVuaztcblx0XHRsZXQgY2xvbmVkQ2h1bmsgPSAoY2xvbmVkLmZpcnN0Q2h1bmsgPSBjbG9uZWQubGFzdFNlYXJjaGVkQ2h1bmsgPSBvcmlnaW5hbENodW5rLmNsb25lKCkpO1xuXG5cdFx0d2hpbGUgKG9yaWdpbmFsQ2h1bmspIHtcblx0XHRcdGNsb25lZC5ieVN0YXJ0W2Nsb25lZENodW5rLnN0YXJ0XSA9IGNsb25lZENodW5rO1xuXHRcdFx0Y2xvbmVkLmJ5RW5kW2Nsb25lZENodW5rLmVuZF0gPSBjbG9uZWRDaHVuaztcblxuXHRcdFx0Y29uc3QgbmV4dE9yaWdpbmFsQ2h1bmsgPSBvcmlnaW5hbENodW5rLm5leHQ7XG5cdFx0XHRjb25zdCBuZXh0Q2xvbmVkQ2h1bmsgPSBuZXh0T3JpZ2luYWxDaHVuayAmJiBuZXh0T3JpZ2luYWxDaHVuay5jbG9uZSgpO1xuXG5cdFx0XHRpZiAobmV4dENsb25lZENodW5rKSB7XG5cdFx0XHRcdGNsb25lZENodW5rLm5leHQgPSBuZXh0Q2xvbmVkQ2h1bms7XG5cdFx0XHRcdG5leHRDbG9uZWRDaHVuay5wcmV2aW91cyA9IGNsb25lZENodW5rO1xuXG5cdFx0XHRcdGNsb25lZENodW5rID0gbmV4dENsb25lZENodW5rO1xuXHRcdFx0fVxuXG5cdFx0XHRvcmlnaW5hbENodW5rID0gbmV4dE9yaWdpbmFsQ2h1bms7XG5cdFx0fVxuXG5cdFx0Y2xvbmVkLmxhc3RDaHVuayA9IGNsb25lZENodW5rO1xuXG5cdFx0aWYgKHRoaXMuaW5kZW50RXhjbHVzaW9uUmFuZ2VzKSB7XG5cdFx0XHRjbG9uZWQuaW5kZW50RXhjbHVzaW9uUmFuZ2VzID0gdGhpcy5pbmRlbnRFeGNsdXNpb25SYW5nZXMuc2xpY2UoKTtcblx0XHR9XG5cblx0XHRjbG9uZWQuc291cmNlbWFwTG9jYXRpb25zID0gbmV3IEJpdFNldCh0aGlzLnNvdXJjZW1hcExvY2F0aW9ucyk7XG5cblx0XHRjbG9uZWQuaW50cm8gPSB0aGlzLmludHJvO1xuXHRcdGNsb25lZC5vdXRybyA9IHRoaXMub3V0cm87XG5cblx0XHRyZXR1cm4gY2xvbmVkO1xuXHR9XG5cblx0Z2VuZXJhdGVEZWNvZGVkTWFwKG9wdGlvbnMpIHtcblx0XHRvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcblxuXHRcdGNvbnN0IHNvdXJjZUluZGV4ID0gMDtcblx0XHRjb25zdCBuYW1lcyA9IE9iamVjdC5rZXlzKHRoaXMuc3RvcmVkTmFtZXMpO1xuXHRcdGNvbnN0IG1hcHBpbmdzID0gbmV3IE1hcHBpbmdzKG9wdGlvbnMuaGlyZXMpO1xuXG5cdFx0Y29uc3QgbG9jYXRlID0gZ2V0TG9jYXRvcih0aGlzLm9yaWdpbmFsKTtcblxuXHRcdGlmICh0aGlzLmludHJvKSB7XG5cdFx0XHRtYXBwaW5ncy5hZHZhbmNlKHRoaXMuaW50cm8pO1xuXHRcdH1cblxuXHRcdHRoaXMuZmlyc3RDaHVuay5lYWNoTmV4dCgoY2h1bmspID0+IHtcblx0XHRcdGNvbnN0IGxvYyA9IGxvY2F0ZShjaHVuay5zdGFydCk7XG5cblx0XHRcdGlmIChjaHVuay5pbnRyby5sZW5ndGgpIG1hcHBpbmdzLmFkdmFuY2UoY2h1bmsuaW50cm8pO1xuXG5cdFx0XHRpZiAoY2h1bmsuZWRpdGVkKSB7XG5cdFx0XHRcdG1hcHBpbmdzLmFkZEVkaXQoXG5cdFx0XHRcdFx0c291cmNlSW5kZXgsXG5cdFx0XHRcdFx0Y2h1bmsuY29udGVudCxcblx0XHRcdFx0XHRsb2MsXG5cdFx0XHRcdFx0Y2h1bmsuc3RvcmVOYW1lID8gbmFtZXMuaW5kZXhPZihjaHVuay5vcmlnaW5hbCkgOiAtMSxcblx0XHRcdFx0KTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG1hcHBpbmdzLmFkZFVuZWRpdGVkQ2h1bmsoc291cmNlSW5kZXgsIGNodW5rLCB0aGlzLm9yaWdpbmFsLCBsb2MsIHRoaXMuc291cmNlbWFwTG9jYXRpb25zKTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKGNodW5rLm91dHJvLmxlbmd0aCkgbWFwcGluZ3MuYWR2YW5jZShjaHVuay5vdXRybyk7XG5cdFx0fSk7XG5cblx0XHRyZXR1cm4ge1xuXHRcdFx0ZmlsZTogb3B0aW9ucy5maWxlID8gb3B0aW9ucy5maWxlLnNwbGl0KC9bL1xcXFxdLykucG9wKCkgOiB1bmRlZmluZWQsXG5cdFx0XHRzb3VyY2VzOiBbXG5cdFx0XHRcdG9wdGlvbnMuc291cmNlID8gZ2V0UmVsYXRpdmVQYXRoKG9wdGlvbnMuZmlsZSB8fCAnJywgb3B0aW9ucy5zb3VyY2UpIDogb3B0aW9ucy5maWxlIHx8ICcnLFxuXHRcdFx0XSxcblx0XHRcdHNvdXJjZXNDb250ZW50OiBvcHRpb25zLmluY2x1ZGVDb250ZW50ID8gW3RoaXMub3JpZ2luYWxdIDogdW5kZWZpbmVkLFxuXHRcdFx0bmFtZXMsXG5cdFx0XHRtYXBwaW5nczogbWFwcGluZ3MucmF3LFxuXHRcdFx0eF9nb29nbGVfaWdub3JlTGlzdDogdGhpcy5pZ25vcmVMaXN0ID8gW3NvdXJjZUluZGV4XSA6IHVuZGVmaW5lZCxcblx0XHR9O1xuXHR9XG5cblx0Z2VuZXJhdGVNYXAob3B0aW9ucykge1xuXHRcdHJldHVybiBuZXcgU291cmNlTWFwKHRoaXMuZ2VuZXJhdGVEZWNvZGVkTWFwKG9wdGlvbnMpKTtcblx0fVxuXG5cdF9lbnN1cmVpbmRlbnRTdHIoKSB7XG5cdFx0aWYgKHRoaXMuaW5kZW50U3RyID09PSB1bmRlZmluZWQpIHtcblx0XHRcdHRoaXMuaW5kZW50U3RyID0gZ3Vlc3NJbmRlbnQodGhpcy5vcmlnaW5hbCk7XG5cdFx0fVxuXHR9XG5cblx0X2dldFJhd0luZGVudFN0cmluZygpIHtcblx0XHR0aGlzLl9lbnN1cmVpbmRlbnRTdHIoKTtcblx0XHRyZXR1cm4gdGhpcy5pbmRlbnRTdHI7XG5cdH1cblxuXHRnZXRJbmRlbnRTdHJpbmcoKSB7XG5cdFx0dGhpcy5fZW5zdXJlaW5kZW50U3RyKCk7XG5cdFx0cmV0dXJuIHRoaXMuaW5kZW50U3RyID09PSBudWxsID8gJ1xcdCcgOiB0aGlzLmluZGVudFN0cjtcblx0fVxuXG5cdGluZGVudChpbmRlbnRTdHIsIG9wdGlvbnMpIHtcblx0XHRjb25zdCBwYXR0ZXJuID0gL15bXlxcclxcbl0vZ207XG5cblx0XHRpZiAoaXNPYmplY3QoaW5kZW50U3RyKSkge1xuXHRcdFx0b3B0aW9ucyA9IGluZGVudFN0cjtcblx0XHRcdGluZGVudFN0ciA9IHVuZGVmaW5lZDtcblx0XHR9XG5cblx0XHRpZiAoaW5kZW50U3RyID09PSB1bmRlZmluZWQpIHtcblx0XHRcdHRoaXMuX2Vuc3VyZWluZGVudFN0cigpO1xuXHRcdFx0aW5kZW50U3RyID0gdGhpcy5pbmRlbnRTdHIgfHwgJ1xcdCc7XG5cdFx0fVxuXG5cdFx0aWYgKGluZGVudFN0ciA9PT0gJycpIHJldHVybiB0aGlzOyAvLyBub29wXG5cblx0XHRvcHRpb25zID0gb3B0aW9ucyB8fCB7fTtcblxuXHRcdC8vIFByb2Nlc3MgZXhjbHVzaW9uIHJhbmdlc1xuXHRcdGNvbnN0IGlzRXhjbHVkZWQgPSB7fTtcblxuXHRcdGlmIChvcHRpb25zLmV4Y2x1ZGUpIHtcblx0XHRcdGNvbnN0IGV4Y2x1c2lvbnMgPVxuXHRcdFx0XHR0eXBlb2Ygb3B0aW9ucy5leGNsdWRlWzBdID09PSAnbnVtYmVyJyA/IFtvcHRpb25zLmV4Y2x1ZGVdIDogb3B0aW9ucy5leGNsdWRlO1xuXHRcdFx0ZXhjbHVzaW9ucy5mb3JFYWNoKChleGNsdXNpb24pID0+IHtcblx0XHRcdFx0Zm9yIChsZXQgaSA9IGV4Y2x1c2lvblswXTsgaSA8IGV4Y2x1c2lvblsxXTsgaSArPSAxKSB7XG5cdFx0XHRcdFx0aXNFeGNsdWRlZFtpXSA9IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdGxldCBzaG91bGRJbmRlbnROZXh0Q2hhcmFjdGVyID0gb3B0aW9ucy5pbmRlbnRTdGFydCAhPT0gZmFsc2U7XG5cdFx0Y29uc3QgcmVwbGFjZXIgPSAobWF0Y2gpID0+IHtcblx0XHRcdGlmIChzaG91bGRJbmRlbnROZXh0Q2hhcmFjdGVyKSByZXR1cm4gYCR7aW5kZW50U3RyfSR7bWF0Y2h9YDtcblx0XHRcdHNob3VsZEluZGVudE5leHRDaGFyYWN0ZXIgPSB0cnVlO1xuXHRcdFx0cmV0dXJuIG1hdGNoO1xuXHRcdH07XG5cblx0XHR0aGlzLmludHJvID0gdGhpcy5pbnRyby5yZXBsYWNlKHBhdHRlcm4sIHJlcGxhY2VyKTtcblxuXHRcdGxldCBjaGFySW5kZXggPSAwO1xuXHRcdGxldCBjaHVuayA9IHRoaXMuZmlyc3RDaHVuaztcblxuXHRcdHdoaWxlIChjaHVuaykge1xuXHRcdFx0Y29uc3QgZW5kID0gY2h1bmsuZW5kO1xuXG5cdFx0XHRpZiAoY2h1bmsuZWRpdGVkKSB7XG5cdFx0XHRcdGlmICghaXNFeGNsdWRlZFtjaGFySW5kZXhdKSB7XG5cdFx0XHRcdFx0Y2h1bmsuY29udGVudCA9IGNodW5rLmNvbnRlbnQucmVwbGFjZShwYXR0ZXJuLCByZXBsYWNlcik7XG5cblx0XHRcdFx0XHRpZiAoY2h1bmsuY29udGVudC5sZW5ndGgpIHtcblx0XHRcdFx0XHRcdHNob3VsZEluZGVudE5leHRDaGFyYWN0ZXIgPSBjaHVuay5jb250ZW50W2NodW5rLmNvbnRlbnQubGVuZ3RoIC0gMV0gPT09ICdcXG4nO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y2hhckluZGV4ID0gY2h1bmsuc3RhcnQ7XG5cblx0XHRcdFx0d2hpbGUgKGNoYXJJbmRleCA8IGVuZCkge1xuXHRcdFx0XHRcdGlmICghaXNFeGNsdWRlZFtjaGFySW5kZXhdKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBjaGFyID0gdGhpcy5vcmlnaW5hbFtjaGFySW5kZXhdO1xuXG5cdFx0XHRcdFx0XHRpZiAoY2hhciA9PT0gJ1xcbicpIHtcblx0XHRcdFx0XHRcdFx0c2hvdWxkSW5kZW50TmV4dENoYXJhY3RlciA9IHRydWU7XG5cdFx0XHRcdFx0XHR9IGVsc2UgaWYgKGNoYXIgIT09ICdcXHInICYmIHNob3VsZEluZGVudE5leHRDaGFyYWN0ZXIpIHtcblx0XHRcdFx0XHRcdFx0c2hvdWxkSW5kZW50TmV4dENoYXJhY3RlciA9IGZhbHNlO1xuXG5cdFx0XHRcdFx0XHRcdGlmIChjaGFySW5kZXggPT09IGNodW5rLnN0YXJ0KSB7XG5cdFx0XHRcdFx0XHRcdFx0Y2h1bmsucHJlcGVuZFJpZ2h0KGluZGVudFN0cik7XG5cdFx0XHRcdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5fc3BsaXRDaHVuayhjaHVuaywgY2hhckluZGV4KTtcblx0XHRcdFx0XHRcdFx0XHRjaHVuayA9IGNodW5rLm5leHQ7XG5cdFx0XHRcdFx0XHRcdFx0Y2h1bmsucHJlcGVuZFJpZ2h0KGluZGVudFN0cik7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRjaGFySW5kZXggKz0gMTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRjaGFySW5kZXggPSBjaHVuay5lbmQ7XG5cdFx0XHRjaHVuayA9IGNodW5rLm5leHQ7XG5cdFx0fVxuXG5cdFx0dGhpcy5vdXRybyA9IHRoaXMub3V0cm8ucmVwbGFjZShwYXR0ZXJuLCByZXBsYWNlcik7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdGluc2VydCgpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHQnbWFnaWNTdHJpbmcuaW5zZXJ0KC4uLikgaXMgZGVwcmVjYXRlZC4gVXNlIHByZXBlbmRSaWdodCguLi4pIG9yIGFwcGVuZExlZnQoLi4uKScsXG5cdFx0KTtcblx0fVxuXG5cdGluc2VydExlZnQoaW5kZXgsIGNvbnRlbnQpIHtcblx0XHRpZiAoIXdhcm5lZC5pbnNlcnRMZWZ0KSB7XG5cdFx0XHRjb25zb2xlLndhcm4oXG5cdFx0XHRcdCdtYWdpY1N0cmluZy5pbnNlcnRMZWZ0KC4uLikgaXMgZGVwcmVjYXRlZC4gVXNlIG1hZ2ljU3RyaW5nLmFwcGVuZExlZnQoLi4uKSBpbnN0ZWFkJyxcblx0XHRcdCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tY29uc29sZVxuXHRcdFx0d2FybmVkLmluc2VydExlZnQgPSB0cnVlO1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzLmFwcGVuZExlZnQoaW5kZXgsIGNvbnRlbnQpO1xuXHR9XG5cblx0aW5zZXJ0UmlnaHQoaW5kZXgsIGNvbnRlbnQpIHtcblx0XHRpZiAoIXdhcm5lZC5pbnNlcnRSaWdodCkge1xuXHRcdFx0Y29uc29sZS53YXJuKFxuXHRcdFx0XHQnbWFnaWNTdHJpbmcuaW5zZXJ0UmlnaHQoLi4uKSBpcyBkZXByZWNhdGVkLiBVc2UgbWFnaWNTdHJpbmcucHJlcGVuZFJpZ2h0KC4uLikgaW5zdGVhZCcsXG5cdFx0XHQpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnNvbGVcblx0XHRcdHdhcm5lZC5pbnNlcnRSaWdodCA9IHRydWU7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMucHJlcGVuZFJpZ2h0KGluZGV4LCBjb250ZW50KTtcblx0fVxuXG5cdG1vdmUoc3RhcnQsIGVuZCwgaW5kZXgpIHtcblx0XHRpZiAoaW5kZXggPj0gc3RhcnQgJiYgaW5kZXggPD0gZW5kKSB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBtb3ZlIGEgc2VsZWN0aW9uIGluc2lkZSBpdHNlbGYnKTtcblxuXHRcdGlmIChERUJVRykgdGhpcy5zdGF0cy50aW1lKCdtb3ZlJyk7XG5cblx0XHR0aGlzLl9zcGxpdChzdGFydCk7XG5cdFx0dGhpcy5fc3BsaXQoZW5kKTtcblx0XHR0aGlzLl9zcGxpdChpbmRleCk7XG5cblx0XHRjb25zdCBmaXJzdCA9IHRoaXMuYnlTdGFydFtzdGFydF07XG5cdFx0Y29uc3QgbGFzdCA9IHRoaXMuYnlFbmRbZW5kXTtcblxuXHRcdGNvbnN0IG9sZExlZnQgPSBmaXJzdC5wcmV2aW91cztcblx0XHRjb25zdCBvbGRSaWdodCA9IGxhc3QubmV4dDtcblxuXHRcdGNvbnN0IG5ld1JpZ2h0ID0gdGhpcy5ieVN0YXJ0W2luZGV4XTtcblx0XHRpZiAoIW5ld1JpZ2h0ICYmIGxhc3QgPT09IHRoaXMubGFzdENodW5rKSByZXR1cm4gdGhpcztcblx0XHRjb25zdCBuZXdMZWZ0ID0gbmV3UmlnaHQgPyBuZXdSaWdodC5wcmV2aW91cyA6IHRoaXMubGFzdENodW5rO1xuXG5cdFx0aWYgKG9sZExlZnQpIG9sZExlZnQubmV4dCA9IG9sZFJpZ2h0O1xuXHRcdGlmIChvbGRSaWdodCkgb2xkUmlnaHQucHJldmlvdXMgPSBvbGRMZWZ0O1xuXG5cdFx0aWYgKG5ld0xlZnQpIG5ld0xlZnQubmV4dCA9IGZpcnN0O1xuXHRcdGlmIChuZXdSaWdodCkgbmV3UmlnaHQucHJldmlvdXMgPSBsYXN0O1xuXG5cdFx0aWYgKCFmaXJzdC5wcmV2aW91cykgdGhpcy5maXJzdENodW5rID0gbGFzdC5uZXh0O1xuXHRcdGlmICghbGFzdC5uZXh0KSB7XG5cdFx0XHR0aGlzLmxhc3RDaHVuayA9IGZpcnN0LnByZXZpb3VzO1xuXHRcdFx0dGhpcy5sYXN0Q2h1bmsubmV4dCA9IG51bGw7XG5cdFx0fVxuXG5cdFx0Zmlyc3QucHJldmlvdXMgPSBuZXdMZWZ0O1xuXHRcdGxhc3QubmV4dCA9IG5ld1JpZ2h0IHx8IG51bGw7XG5cblx0XHRpZiAoIW5ld0xlZnQpIHRoaXMuZmlyc3RDaHVuayA9IGZpcnN0O1xuXHRcdGlmICghbmV3UmlnaHQpIHRoaXMubGFzdENodW5rID0gbGFzdDtcblxuXHRcdGlmIChERUJVRykgdGhpcy5zdGF0cy50aW1lRW5kKCdtb3ZlJyk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRvdmVyd3JpdGUoc3RhcnQsIGVuZCwgY29udGVudCwgb3B0aW9ucykge1xuXHRcdG9wdGlvbnMgPSBvcHRpb25zIHx8IHt9O1xuXHRcdHJldHVybiB0aGlzLnVwZGF0ZShzdGFydCwgZW5kLCBjb250ZW50LCB7IC4uLm9wdGlvbnMsIG92ZXJ3cml0ZTogIW9wdGlvbnMuY29udGVudE9ubHkgfSk7XG5cdH1cblxuXHR1cGRhdGUoc3RhcnQsIGVuZCwgY29udGVudCwgb3B0aW9ucykge1xuXHRcdGlmICh0eXBlb2YgY29udGVudCAhPT0gJ3N0cmluZycpIHRocm93IG5ldyBUeXBlRXJyb3IoJ3JlcGxhY2VtZW50IGNvbnRlbnQgbXVzdCBiZSBhIHN0cmluZycpO1xuXG5cdFx0aWYgKHRoaXMub3JpZ2luYWwubGVuZ3RoICE9PSAwKSB7XG5cdFx0XHR3aGlsZSAoc3RhcnQgPCAwKSBzdGFydCArPSB0aGlzLm9yaWdpbmFsLmxlbmd0aDtcblx0XHRcdHdoaWxlIChlbmQgPCAwKSBlbmQgKz0gdGhpcy5vcmlnaW5hbC5sZW5ndGg7XG5cdFx0fVxuXG5cdFx0aWYgKGVuZCA+IHRoaXMub3JpZ2luYWwubGVuZ3RoKSB0aHJvdyBuZXcgRXJyb3IoJ2VuZCBpcyBvdXQgb2YgYm91bmRzJyk7XG5cdFx0aWYgKHN0YXJ0ID09PSBlbmQpXG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXG5cdFx0XHRcdCdDYW5ub3Qgb3ZlcndyaXRlIGEgemVyby1sZW5ndGggcmFuZ2Ug4oCTIHVzZSBhcHBlbmRMZWZ0IG9yIHByZXBlbmRSaWdodCBpbnN0ZWFkJyxcblx0XHRcdCk7XG5cblx0XHRpZiAoREVCVUcpIHRoaXMuc3RhdHMudGltZSgnb3ZlcndyaXRlJyk7XG5cblx0XHR0aGlzLl9zcGxpdChzdGFydCk7XG5cdFx0dGhpcy5fc3BsaXQoZW5kKTtcblxuXHRcdGlmIChvcHRpb25zID09PSB0cnVlKSB7XG5cdFx0XHRpZiAoIXdhcm5lZC5zdG9yZU5hbWUpIHtcblx0XHRcdFx0Y29uc29sZS53YXJuKFxuXHRcdFx0XHRcdCdUaGUgZmluYWwgYXJndW1lbnQgdG8gbWFnaWNTdHJpbmcub3ZlcndyaXRlKC4uLikgc2hvdWxkIGJlIGFuIG9wdGlvbnMgb2JqZWN0LiBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3JpY2gtaGFycmlzL21hZ2ljLXN0cmluZycsXG5cdFx0XHRcdCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tY29uc29sZVxuXHRcdFx0XHR3YXJuZWQuc3RvcmVOYW1lID0gdHJ1ZTtcblx0XHRcdH1cblxuXHRcdFx0b3B0aW9ucyA9IHsgc3RvcmVOYW1lOiB0cnVlIH07XG5cdFx0fVxuXHRcdGNvbnN0IHN0b3JlTmFtZSA9IG9wdGlvbnMgIT09IHVuZGVmaW5lZCA/IG9wdGlvbnMuc3RvcmVOYW1lIDogZmFsc2U7XG5cdFx0Y29uc3Qgb3ZlcndyaXRlID0gb3B0aW9ucyAhPT0gdW5kZWZpbmVkID8gb3B0aW9ucy5vdmVyd3JpdGUgOiBmYWxzZTtcblxuXHRcdGlmIChzdG9yZU5hbWUpIHtcblx0XHRcdGNvbnN0IG9yaWdpbmFsID0gdGhpcy5vcmlnaW5hbC5zbGljZShzdGFydCwgZW5kKTtcblx0XHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLnN0b3JlZE5hbWVzLCBvcmlnaW5hbCwge1xuXHRcdFx0XHR3cml0YWJsZTogdHJ1ZSxcblx0XHRcdFx0dmFsdWU6IHRydWUsXG5cdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG5cdFx0XHR9KTtcblx0XHR9XG5cblx0XHRjb25zdCBmaXJzdCA9IHRoaXMuYnlTdGFydFtzdGFydF07XG5cdFx0Y29uc3QgbGFzdCA9IHRoaXMuYnlFbmRbZW5kXTtcblxuXHRcdGlmIChmaXJzdCkge1xuXHRcdFx0bGV0IGNodW5rID0gZmlyc3Q7XG5cdFx0XHR3aGlsZSAoY2h1bmsgIT09IGxhc3QpIHtcblx0XHRcdFx0aWYgKGNodW5rLm5leHQgIT09IHRoaXMuYnlTdGFydFtjaHVuay5lbmRdKSB7XG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgb3ZlcndyaXRlIGFjcm9zcyBhIHNwbGl0IHBvaW50Jyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Y2h1bmsgPSBjaHVuay5uZXh0O1xuXHRcdFx0XHRjaHVuay5lZGl0KCcnLCBmYWxzZSk7XG5cdFx0XHR9XG5cblx0XHRcdGZpcnN0LmVkaXQoY29udGVudCwgc3RvcmVOYW1lLCAhb3ZlcndyaXRlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Ly8gbXVzdCBiZSBpbnNlcnRpbmcgYXQgdGhlIGVuZFxuXHRcdFx0Y29uc3QgbmV3Q2h1bmsgPSBuZXcgQ2h1bmsoc3RhcnQsIGVuZCwgJycpLmVkaXQoY29udGVudCwgc3RvcmVOYW1lKTtcblxuXHRcdFx0Ly8gVE9ETyBsYXN0IGNodW5rIGluIHRoZSBhcnJheSBtYXkgbm90IGJlIHRoZSBsYXN0IGNodW5rLCBpZiBpdCdzIG1vdmVkLi4uXG5cdFx0XHRsYXN0Lm5leHQgPSBuZXdDaHVuaztcblx0XHRcdG5ld0NodW5rLnByZXZpb3VzID0gbGFzdDtcblx0XHR9XG5cblx0XHRpZiAoREVCVUcpIHRoaXMuc3RhdHMudGltZUVuZCgnb3ZlcndyaXRlJyk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwcmVwZW5kKGNvbnRlbnQpIHtcblx0XHRpZiAodHlwZW9mIGNvbnRlbnQgIT09ICdzdHJpbmcnKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdvdXRybyBjb250ZW50IG11c3QgYmUgYSBzdHJpbmcnKTtcblxuXHRcdHRoaXMuaW50cm8gPSBjb250ZW50ICsgdGhpcy5pbnRybztcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHByZXBlbmRMZWZ0KGluZGV4LCBjb250ZW50KSB7XG5cdFx0aWYgKHR5cGVvZiBjb250ZW50ICE9PSAnc3RyaW5nJykgdGhyb3cgbmV3IFR5cGVFcnJvcignaW5zZXJ0ZWQgY29udGVudCBtdXN0IGJlIGEgc3RyaW5nJyk7XG5cblx0XHRpZiAoREVCVUcpIHRoaXMuc3RhdHMudGltZSgnaW5zZXJ0UmlnaHQnKTtcblxuXHRcdHRoaXMuX3NwbGl0KGluZGV4KTtcblxuXHRcdGNvbnN0IGNodW5rID0gdGhpcy5ieUVuZFtpbmRleF07XG5cblx0XHRpZiAoY2h1bmspIHtcblx0XHRcdGNodW5rLnByZXBlbmRMZWZ0KGNvbnRlbnQpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmludHJvID0gY29udGVudCArIHRoaXMuaW50cm87XG5cdFx0fVxuXG5cdFx0aWYgKERFQlVHKSB0aGlzLnN0YXRzLnRpbWVFbmQoJ2luc2VydFJpZ2h0Jyk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRwcmVwZW5kUmlnaHQoaW5kZXgsIGNvbnRlbnQpIHtcblx0XHRpZiAodHlwZW9mIGNvbnRlbnQgIT09ICdzdHJpbmcnKSB0aHJvdyBuZXcgVHlwZUVycm9yKCdpbnNlcnRlZCBjb250ZW50IG11c3QgYmUgYSBzdHJpbmcnKTtcblxuXHRcdGlmIChERUJVRykgdGhpcy5zdGF0cy50aW1lKCdpbnNlcnRSaWdodCcpO1xuXG5cdFx0dGhpcy5fc3BsaXQoaW5kZXgpO1xuXG5cdFx0Y29uc3QgY2h1bmsgPSB0aGlzLmJ5U3RhcnRbaW5kZXhdO1xuXG5cdFx0aWYgKGNodW5rKSB7XG5cdFx0XHRjaHVuay5wcmVwZW5kUmlnaHQoY29udGVudCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMub3V0cm8gPSBjb250ZW50ICsgdGhpcy5vdXRybztcblx0XHR9XG5cblx0XHRpZiAoREVCVUcpIHRoaXMuc3RhdHMudGltZUVuZCgnaW5zZXJ0UmlnaHQnKTtcblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHJlbW92ZShzdGFydCwgZW5kKSB7XG5cdFx0aWYgKHRoaXMub3JpZ2luYWwubGVuZ3RoICE9PSAwKSB7XG5cdFx0XHR3aGlsZSAoc3RhcnQgPCAwKSBzdGFydCArPSB0aGlzLm9yaWdpbmFsLmxlbmd0aDtcblx0XHRcdHdoaWxlIChlbmQgPCAwKSBlbmQgKz0gdGhpcy5vcmlnaW5hbC5sZW5ndGg7XG5cdFx0fVxuXG5cdFx0aWYgKHN0YXJ0ID09PSBlbmQpIHJldHVybiB0aGlzO1xuXG5cdFx0aWYgKHN0YXJ0IDwgMCB8fCBlbmQgPiB0aGlzLm9yaWdpbmFsLmxlbmd0aCkgdGhyb3cgbmV3IEVycm9yKCdDaGFyYWN0ZXIgaXMgb3V0IG9mIGJvdW5kcycpO1xuXHRcdGlmIChzdGFydCA+IGVuZCkgdGhyb3cgbmV3IEVycm9yKCdlbmQgbXVzdCBiZSBncmVhdGVyIHRoYW4gc3RhcnQnKTtcblxuXHRcdGlmIChERUJVRykgdGhpcy5zdGF0cy50aW1lKCdyZW1vdmUnKTtcblxuXHRcdHRoaXMuX3NwbGl0KHN0YXJ0KTtcblx0XHR0aGlzLl9zcGxpdChlbmQpO1xuXG5cdFx0bGV0IGNodW5rID0gdGhpcy5ieVN0YXJ0W3N0YXJ0XTtcblxuXHRcdHdoaWxlIChjaHVuaykge1xuXHRcdFx0Y2h1bmsuaW50cm8gPSAnJztcblx0XHRcdGNodW5rLm91dHJvID0gJyc7XG5cdFx0XHRjaHVuay5lZGl0KCcnKTtcblxuXHRcdFx0Y2h1bmsgPSBlbmQgPiBjaHVuay5lbmQgPyB0aGlzLmJ5U3RhcnRbY2h1bmsuZW5kXSA6IG51bGw7XG5cdFx0fVxuXG5cdFx0aWYgKERFQlVHKSB0aGlzLnN0YXRzLnRpbWVFbmQoJ3JlbW92ZScpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0cmVzZXQoc3RhcnQsIGVuZCkge1xuXHRcdGlmICh0aGlzLm9yaWdpbmFsLmxlbmd0aCAhPT0gMCkge1xuXHRcdFx0d2hpbGUgKHN0YXJ0IDwgMCkgc3RhcnQgKz0gdGhpcy5vcmlnaW5hbC5sZW5ndGg7XG5cdFx0XHR3aGlsZSAoZW5kIDwgMCkgZW5kICs9IHRoaXMub3JpZ2luYWwubGVuZ3RoO1xuXHRcdH1cblxuXHRcdGlmIChzdGFydCA9PT0gZW5kKSByZXR1cm4gdGhpcztcblxuXHRcdGlmIChzdGFydCA8IDAgfHwgZW5kID4gdGhpcy5vcmlnaW5hbC5sZW5ndGgpIHRocm93IG5ldyBFcnJvcignQ2hhcmFjdGVyIGlzIG91dCBvZiBib3VuZHMnKTtcblx0XHRpZiAoc3RhcnQgPiBlbmQpIHRocm93IG5ldyBFcnJvcignZW5kIG11c3QgYmUgZ3JlYXRlciB0aGFuIHN0YXJ0Jyk7XG5cblx0XHRpZiAoREVCVUcpIHRoaXMuc3RhdHMudGltZSgncmVzZXQnKTtcblxuXHRcdHRoaXMuX3NwbGl0KHN0YXJ0KTtcblx0XHR0aGlzLl9zcGxpdChlbmQpO1xuXG5cdFx0bGV0IGNodW5rID0gdGhpcy5ieVN0YXJ0W3N0YXJ0XTtcblxuXHRcdHdoaWxlIChjaHVuaykge1xuXHRcdFx0Y2h1bmsucmVzZXQoKTtcblxuXHRcdFx0Y2h1bmsgPSBlbmQgPiBjaHVuay5lbmQgPyB0aGlzLmJ5U3RhcnRbY2h1bmsuZW5kXSA6IG51bGw7XG5cdFx0fVxuXG5cdFx0aWYgKERFQlVHKSB0aGlzLnN0YXRzLnRpbWVFbmQoJ3Jlc2V0Jyk7XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHRsYXN0Q2hhcigpIHtcblx0XHRpZiAodGhpcy5vdXRyby5sZW5ndGgpIHJldHVybiB0aGlzLm91dHJvW3RoaXMub3V0cm8ubGVuZ3RoIC0gMV07XG5cdFx0bGV0IGNodW5rID0gdGhpcy5sYXN0Q2h1bms7XG5cdFx0ZG8ge1xuXHRcdFx0aWYgKGNodW5rLm91dHJvLmxlbmd0aCkgcmV0dXJuIGNodW5rLm91dHJvW2NodW5rLm91dHJvLmxlbmd0aCAtIDFdO1xuXHRcdFx0aWYgKGNodW5rLmNvbnRlbnQubGVuZ3RoKSByZXR1cm4gY2h1bmsuY29udGVudFtjaHVuay5jb250ZW50Lmxlbmd0aCAtIDFdO1xuXHRcdFx0aWYgKGNodW5rLmludHJvLmxlbmd0aCkgcmV0dXJuIGNodW5rLmludHJvW2NodW5rLmludHJvLmxlbmd0aCAtIDFdO1xuXHRcdH0gd2hpbGUgKChjaHVuayA9IGNodW5rLnByZXZpb3VzKSk7XG5cdFx0aWYgKHRoaXMuaW50cm8ubGVuZ3RoKSByZXR1cm4gdGhpcy5pbnRyb1t0aGlzLmludHJvLmxlbmd0aCAtIDFdO1xuXHRcdHJldHVybiAnJztcblx0fVxuXG5cdGxhc3RMaW5lKCkge1xuXHRcdGxldCBsaW5lSW5kZXggPSB0aGlzLm91dHJvLmxhc3RJbmRleE9mKG4pO1xuXHRcdGlmIChsaW5lSW5kZXggIT09IC0xKSByZXR1cm4gdGhpcy5vdXRyby5zdWJzdHIobGluZUluZGV4ICsgMSk7XG5cdFx0bGV0IGxpbmVTdHIgPSB0aGlzLm91dHJvO1xuXHRcdGxldCBjaHVuayA9IHRoaXMubGFzdENodW5rO1xuXHRcdGRvIHtcblx0XHRcdGlmIChjaHVuay5vdXRyby5sZW5ndGggPiAwKSB7XG5cdFx0XHRcdGxpbmVJbmRleCA9IGNodW5rLm91dHJvLmxhc3RJbmRleE9mKG4pO1xuXHRcdFx0XHRpZiAobGluZUluZGV4ICE9PSAtMSkgcmV0dXJuIGNodW5rLm91dHJvLnN1YnN0cihsaW5lSW5kZXggKyAxKSArIGxpbmVTdHI7XG5cdFx0XHRcdGxpbmVTdHIgPSBjaHVuay5vdXRybyArIGxpbmVTdHI7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChjaHVuay5jb250ZW50Lmxlbmd0aCA+IDApIHtcblx0XHRcdFx0bGluZUluZGV4ID0gY2h1bmsuY29udGVudC5sYXN0SW5kZXhPZihuKTtcblx0XHRcdFx0aWYgKGxpbmVJbmRleCAhPT0gLTEpIHJldHVybiBjaHVuay5jb250ZW50LnN1YnN0cihsaW5lSW5kZXggKyAxKSArIGxpbmVTdHI7XG5cdFx0XHRcdGxpbmVTdHIgPSBjaHVuay5jb250ZW50ICsgbGluZVN0cjtcblx0XHRcdH1cblxuXHRcdFx0aWYgKGNodW5rLmludHJvLmxlbmd0aCA+IDApIHtcblx0XHRcdFx0bGluZUluZGV4ID0gY2h1bmsuaW50cm8ubGFzdEluZGV4T2Yobik7XG5cdFx0XHRcdGlmIChsaW5lSW5kZXggIT09IC0xKSByZXR1cm4gY2h1bmsuaW50cm8uc3Vic3RyKGxpbmVJbmRleCArIDEpICsgbGluZVN0cjtcblx0XHRcdFx0bGluZVN0ciA9IGNodW5rLmludHJvICsgbGluZVN0cjtcblx0XHRcdH1cblx0XHR9IHdoaWxlICgoY2h1bmsgPSBjaHVuay5wcmV2aW91cykpO1xuXHRcdGxpbmVJbmRleCA9IHRoaXMuaW50cm8ubGFzdEluZGV4T2Yobik7XG5cdFx0aWYgKGxpbmVJbmRleCAhPT0gLTEpIHJldHVybiB0aGlzLmludHJvLnN1YnN0cihsaW5lSW5kZXggKyAxKSArIGxpbmVTdHI7XG5cdFx0cmV0dXJuIHRoaXMuaW50cm8gKyBsaW5lU3RyO1xuXHR9XG5cblx0c2xpY2Uoc3RhcnQgPSAwLCBlbmQgPSB0aGlzLm9yaWdpbmFsLmxlbmd0aCkge1xuXHRcdGlmICh0aGlzLm9yaWdpbmFsLmxlbmd0aCAhPT0gMCkge1xuXHRcdFx0d2hpbGUgKHN0YXJ0IDwgMCkgc3RhcnQgKz0gdGhpcy5vcmlnaW5hbC5sZW5ndGg7XG5cdFx0XHR3aGlsZSAoZW5kIDwgMCkgZW5kICs9IHRoaXMub3JpZ2luYWwubGVuZ3RoO1xuXHRcdH1cblxuXHRcdGxldCByZXN1bHQgPSAnJztcblxuXHRcdC8vIGZpbmQgc3RhcnQgY2h1bmtcblx0XHRsZXQgY2h1bmsgPSB0aGlzLmZpcnN0Q2h1bms7XG5cdFx0d2hpbGUgKGNodW5rICYmIChjaHVuay5zdGFydCA+IHN0YXJ0IHx8IGNodW5rLmVuZCA8PSBzdGFydCkpIHtcblx0XHRcdC8vIGZvdW5kIGVuZCBjaHVuayBiZWZvcmUgc3RhcnRcblx0XHRcdGlmIChjaHVuay5zdGFydCA8IGVuZCAmJiBjaHVuay5lbmQgPj0gZW5kKSB7XG5cdFx0XHRcdHJldHVybiByZXN1bHQ7XG5cdFx0XHR9XG5cblx0XHRcdGNodW5rID0gY2h1bmsubmV4dDtcblx0XHR9XG5cblx0XHRpZiAoY2h1bmsgJiYgY2h1bmsuZWRpdGVkICYmIGNodW5rLnN0YXJ0ICE9PSBzdGFydClcblx0XHRcdHRocm93IG5ldyBFcnJvcihgQ2Fubm90IHVzZSByZXBsYWNlZCBjaGFyYWN0ZXIgJHtzdGFydH0gYXMgc2xpY2Ugc3RhcnQgYW5jaG9yLmApO1xuXG5cdFx0Y29uc3Qgc3RhcnRDaHVuayA9IGNodW5rO1xuXHRcdHdoaWxlIChjaHVuaykge1xuXHRcdFx0aWYgKGNodW5rLmludHJvICYmIChzdGFydENodW5rICE9PSBjaHVuayB8fCBjaHVuay5zdGFydCA9PT0gc3RhcnQpKSB7XG5cdFx0XHRcdHJlc3VsdCArPSBjaHVuay5pbnRybztcblx0XHRcdH1cblxuXHRcdFx0Y29uc3QgY29udGFpbnNFbmQgPSBjaHVuay5zdGFydCA8IGVuZCAmJiBjaHVuay5lbmQgPj0gZW5kO1xuXHRcdFx0aWYgKGNvbnRhaW5zRW5kICYmIGNodW5rLmVkaXRlZCAmJiBjaHVuay5lbmQgIT09IGVuZClcblx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKGBDYW5ub3QgdXNlIHJlcGxhY2VkIGNoYXJhY3RlciAke2VuZH0gYXMgc2xpY2UgZW5kIGFuY2hvci5gKTtcblxuXHRcdFx0Y29uc3Qgc2xpY2VTdGFydCA9IHN0YXJ0Q2h1bmsgPT09IGNodW5rID8gc3RhcnQgLSBjaHVuay5zdGFydCA6IDA7XG5cdFx0XHRjb25zdCBzbGljZUVuZCA9IGNvbnRhaW5zRW5kID8gY2h1bmsuY29udGVudC5sZW5ndGggKyBlbmQgLSBjaHVuay5lbmQgOiBjaHVuay5jb250ZW50Lmxlbmd0aDtcblxuXHRcdFx0cmVzdWx0ICs9IGNodW5rLmNvbnRlbnQuc2xpY2Uoc2xpY2VTdGFydCwgc2xpY2VFbmQpO1xuXG5cdFx0XHRpZiAoY2h1bmsub3V0cm8gJiYgKCFjb250YWluc0VuZCB8fCBjaHVuay5lbmQgPT09IGVuZCkpIHtcblx0XHRcdFx0cmVzdWx0ICs9IGNodW5rLm91dHJvO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoY29udGFpbnNFbmQpIHtcblx0XHRcdFx0YnJlYWs7XG5cdFx0XHR9XG5cblx0XHRcdGNodW5rID0gY2h1bmsubmV4dDtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cblx0Ly8gVE9ETyBkZXByZWNhdGUgdGhpcz8gbm90IHJlYWxseSB2ZXJ5IHVzZWZ1bFxuXHRzbmlwKHN0YXJ0LCBlbmQpIHtcblx0XHRjb25zdCBjbG9uZSA9IHRoaXMuY2xvbmUoKTtcblx0XHRjbG9uZS5yZW1vdmUoMCwgc3RhcnQpO1xuXHRcdGNsb25lLnJlbW92ZShlbmQsIGNsb25lLm9yaWdpbmFsLmxlbmd0aCk7XG5cblx0XHRyZXR1cm4gY2xvbmU7XG5cdH1cblxuXHRfc3BsaXQoaW5kZXgpIHtcblx0XHRpZiAodGhpcy5ieVN0YXJ0W2luZGV4XSB8fCB0aGlzLmJ5RW5kW2luZGV4XSkgcmV0dXJuO1xuXG5cdFx0aWYgKERFQlVHKSB0aGlzLnN0YXRzLnRpbWUoJ19zcGxpdCcpO1xuXG5cdFx0bGV0IGNodW5rID0gdGhpcy5sYXN0U2VhcmNoZWRDaHVuaztcblx0XHRjb25zdCBzZWFyY2hGb3J3YXJkID0gaW5kZXggPiBjaHVuay5lbmQ7XG5cblx0XHR3aGlsZSAoY2h1bmspIHtcblx0XHRcdGlmIChjaHVuay5jb250YWlucyhpbmRleCkpIHJldHVybiB0aGlzLl9zcGxpdENodW5rKGNodW5rLCBpbmRleCk7XG5cblx0XHRcdGNodW5rID0gc2VhcmNoRm9yd2FyZCA/IHRoaXMuYnlTdGFydFtjaHVuay5lbmRdIDogdGhpcy5ieUVuZFtjaHVuay5zdGFydF07XG5cdFx0fVxuXHR9XG5cblx0X3NwbGl0Q2h1bmsoY2h1bmssIGluZGV4KSB7XG5cdFx0aWYgKGNodW5rLmVkaXRlZCAmJiBjaHVuay5jb250ZW50Lmxlbmd0aCkge1xuXHRcdFx0Ly8gemVyby1sZW5ndGggZWRpdGVkIGNodW5rcyBhcmUgYSBzcGVjaWFsIGNhc2UgKG92ZXJsYXBwaW5nIHJlcGxhY2VtZW50cylcblx0XHRcdGNvbnN0IGxvYyA9IGdldExvY2F0b3IodGhpcy5vcmlnaW5hbCkoaW5kZXgpO1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHRgQ2Fubm90IHNwbGl0IGEgY2h1bmsgdGhhdCBoYXMgYWxyZWFkeSBiZWVuIGVkaXRlZCAoJHtsb2MubGluZX06JHtsb2MuY29sdW1ufSDigJMgXCIke2NodW5rLm9yaWdpbmFsfVwiKWAsXG5cdFx0XHQpO1xuXHRcdH1cblxuXHRcdGNvbnN0IG5ld0NodW5rID0gY2h1bmsuc3BsaXQoaW5kZXgpO1xuXG5cdFx0dGhpcy5ieUVuZFtpbmRleF0gPSBjaHVuaztcblx0XHR0aGlzLmJ5U3RhcnRbaW5kZXhdID0gbmV3Q2h1bms7XG5cdFx0dGhpcy5ieUVuZFtuZXdDaHVuay5lbmRdID0gbmV3Q2h1bms7XG5cblx0XHRpZiAoY2h1bmsgPT09IHRoaXMubGFzdENodW5rKSB0aGlzLmxhc3RDaHVuayA9IG5ld0NodW5rO1xuXG5cdFx0dGhpcy5sYXN0U2VhcmNoZWRDaHVuayA9IGNodW5rO1xuXHRcdGlmIChERUJVRykgdGhpcy5zdGF0cy50aW1lRW5kKCdfc3BsaXQnKTtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxuXG5cdHRvU3RyaW5nKCkge1xuXHRcdGxldCBzdHIgPSB0aGlzLmludHJvO1xuXG5cdFx0bGV0IGNodW5rID0gdGhpcy5maXJzdENodW5rO1xuXHRcdHdoaWxlIChjaHVuaykge1xuXHRcdFx0c3RyICs9IGNodW5rLnRvU3RyaW5nKCk7XG5cdFx0XHRjaHVuayA9IGNodW5rLm5leHQ7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHN0ciArIHRoaXMub3V0cm87XG5cdH1cblxuXHRpc0VtcHR5KCkge1xuXHRcdGxldCBjaHVuayA9IHRoaXMuZmlyc3RDaHVuaztcblx0XHRkbyB7XG5cdFx0XHRpZiAoXG5cdFx0XHRcdChjaHVuay5pbnRyby5sZW5ndGggJiYgY2h1bmsuaW50cm8udHJpbSgpKSB8fFxuXHRcdFx0XHQoY2h1bmsuY29udGVudC5sZW5ndGggJiYgY2h1bmsuY29udGVudC50cmltKCkpIHx8XG5cdFx0XHRcdChjaHVuay5vdXRyby5sZW5ndGggJiYgY2h1bmsub3V0cm8udHJpbSgpKVxuXHRcdFx0KVxuXHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fSB3aGlsZSAoKGNodW5rID0gY2h1bmsubmV4dCkpO1xuXHRcdHJldHVybiB0cnVlO1xuXHR9XG5cblx0bGVuZ3RoKCkge1xuXHRcdGxldCBjaHVuayA9IHRoaXMuZmlyc3RDaHVuaztcblx0XHRsZXQgbGVuZ3RoID0gMDtcblx0XHRkbyB7XG5cdFx0XHRsZW5ndGggKz0gY2h1bmsuaW50cm8ubGVuZ3RoICsgY2h1bmsuY29udGVudC5sZW5ndGggKyBjaHVuay5vdXRyby5sZW5ndGg7XG5cdFx0fSB3aGlsZSAoKGNodW5rID0gY2h1bmsubmV4dCkpO1xuXHRcdHJldHVybiBsZW5ndGg7XG5cdH1cblxuXHR0cmltTGluZXMoKSB7XG5cdFx0cmV0dXJuIHRoaXMudHJpbSgnW1xcXFxyXFxcXG5dJyk7XG5cdH1cblxuXHR0cmltKGNoYXJUeXBlKSB7XG5cdFx0cmV0dXJuIHRoaXMudHJpbVN0YXJ0KGNoYXJUeXBlKS50cmltRW5kKGNoYXJUeXBlKTtcblx0fVxuXG5cdHRyaW1FbmRBYm9ydGVkKGNoYXJUeXBlKSB7XG5cdFx0Y29uc3QgcnggPSBuZXcgUmVnRXhwKChjaGFyVHlwZSB8fCAnXFxcXHMnKSArICcrJCcpO1xuXG5cdFx0dGhpcy5vdXRybyA9IHRoaXMub3V0cm8ucmVwbGFjZShyeCwgJycpO1xuXHRcdGlmICh0aGlzLm91dHJvLmxlbmd0aCkgcmV0dXJuIHRydWU7XG5cblx0XHRsZXQgY2h1bmsgPSB0aGlzLmxhc3RDaHVuaztcblxuXHRcdGRvIHtcblx0XHRcdGNvbnN0IGVuZCA9IGNodW5rLmVuZDtcblx0XHRcdGNvbnN0IGFib3J0ZWQgPSBjaHVuay50cmltRW5kKHJ4KTtcblxuXHRcdFx0Ly8gaWYgY2h1bmsgd2FzIHRyaW1tZWQsIHdlIGhhdmUgYSBuZXcgbGFzdENodW5rXG5cdFx0XHRpZiAoY2h1bmsuZW5kICE9PSBlbmQpIHtcblx0XHRcdFx0aWYgKHRoaXMubGFzdENodW5rID09PSBjaHVuaykge1xuXHRcdFx0XHRcdHRoaXMubGFzdENodW5rID0gY2h1bmsubmV4dDtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdHRoaXMuYnlFbmRbY2h1bmsuZW5kXSA9IGNodW5rO1xuXHRcdFx0XHR0aGlzLmJ5U3RhcnRbY2h1bmsubmV4dC5zdGFydF0gPSBjaHVuay5uZXh0O1xuXHRcdFx0XHR0aGlzLmJ5RW5kW2NodW5rLm5leHQuZW5kXSA9IGNodW5rLm5leHQ7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChhYm9ydGVkKSByZXR1cm4gdHJ1ZTtcblx0XHRcdGNodW5rID0gY2h1bmsucHJldmlvdXM7XG5cdFx0fSB3aGlsZSAoY2h1bmspO1xuXG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0dHJpbUVuZChjaGFyVHlwZSkge1xuXHRcdHRoaXMudHJpbUVuZEFib3J0ZWQoY2hhclR5cGUpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cdHRyaW1TdGFydEFib3J0ZWQoY2hhclR5cGUpIHtcblx0XHRjb25zdCByeCA9IG5ldyBSZWdFeHAoJ14nICsgKGNoYXJUeXBlIHx8ICdcXFxccycpICsgJysnKTtcblxuXHRcdHRoaXMuaW50cm8gPSB0aGlzLmludHJvLnJlcGxhY2UocngsICcnKTtcblx0XHRpZiAodGhpcy5pbnRyby5sZW5ndGgpIHJldHVybiB0cnVlO1xuXG5cdFx0bGV0IGNodW5rID0gdGhpcy5maXJzdENodW5rO1xuXG5cdFx0ZG8ge1xuXHRcdFx0Y29uc3QgZW5kID0gY2h1bmsuZW5kO1xuXHRcdFx0Y29uc3QgYWJvcnRlZCA9IGNodW5rLnRyaW1TdGFydChyeCk7XG5cblx0XHRcdGlmIChjaHVuay5lbmQgIT09IGVuZCkge1xuXHRcdFx0XHQvLyBzcGVjaWFsIGNhc2UuLi5cblx0XHRcdFx0aWYgKGNodW5rID09PSB0aGlzLmxhc3RDaHVuaykgdGhpcy5sYXN0Q2h1bmsgPSBjaHVuay5uZXh0O1xuXG5cdFx0XHRcdHRoaXMuYnlFbmRbY2h1bmsuZW5kXSA9IGNodW5rO1xuXHRcdFx0XHR0aGlzLmJ5U3RhcnRbY2h1bmsubmV4dC5zdGFydF0gPSBjaHVuay5uZXh0O1xuXHRcdFx0XHR0aGlzLmJ5RW5kW2NodW5rLm5leHQuZW5kXSA9IGNodW5rLm5leHQ7XG5cdFx0XHR9XG5cblx0XHRcdGlmIChhYm9ydGVkKSByZXR1cm4gdHJ1ZTtcblx0XHRcdGNodW5rID0gY2h1bmsubmV4dDtcblx0XHR9IHdoaWxlIChjaHVuayk7XG5cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHR0cmltU3RhcnQoY2hhclR5cGUpIHtcblx0XHR0aGlzLnRyaW1TdGFydEFib3J0ZWQoY2hhclR5cGUpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0aGFzQ2hhbmdlZCgpIHtcblx0XHRyZXR1cm4gdGhpcy5vcmlnaW5hbCAhPT0gdGhpcy50b1N0cmluZygpO1xuXHR9XG5cblx0X3JlcGxhY2VSZWdleHAoc2VhcmNoVmFsdWUsIHJlcGxhY2VtZW50KSB7XG5cdFx0ZnVuY3Rpb24gZ2V0UmVwbGFjZW1lbnQobWF0Y2gsIHN0cikge1xuXHRcdFx0aWYgKHR5cGVvZiByZXBsYWNlbWVudCA9PT0gJ3N0cmluZycpIHtcblx0XHRcdFx0cmV0dXJuIHJlcGxhY2VtZW50LnJlcGxhY2UoL1xcJChcXCR8JnxcXGQrKS9nLCAoXywgaSkgPT4ge1xuXHRcdFx0XHRcdC8vIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0phdmFTY3JpcHQvUmVmZXJlbmNlL0dsb2JhbF9PYmplY3RzL1N0cmluZy9yZXBsYWNlI3NwZWNpZnlpbmdfYV9zdHJpbmdfYXNfYV9wYXJhbWV0ZXJcblx0XHRcdFx0XHRpZiAoaSA9PT0gJyQnKSByZXR1cm4gJyQnO1xuXHRcdFx0XHRcdGlmIChpID09PSAnJicpIHJldHVybiBtYXRjaFswXTtcblx0XHRcdFx0XHRjb25zdCBudW0gPSAraTtcblx0XHRcdFx0XHRpZiAobnVtIDwgbWF0Y2gubGVuZ3RoKSByZXR1cm4gbWF0Y2hbK2ldO1xuXHRcdFx0XHRcdHJldHVybiBgJCR7aX1gO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHJldHVybiByZXBsYWNlbWVudCguLi5tYXRjaCwgbWF0Y2guaW5kZXgsIHN0ciwgbWF0Y2guZ3JvdXBzKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0ZnVuY3Rpb24gbWF0Y2hBbGwocmUsIHN0cikge1xuXHRcdFx0bGV0IG1hdGNoO1xuXHRcdFx0Y29uc3QgbWF0Y2hlcyA9IFtdO1xuXHRcdFx0d2hpbGUgKChtYXRjaCA9IHJlLmV4ZWMoc3RyKSkpIHtcblx0XHRcdFx0bWF0Y2hlcy5wdXNoKG1hdGNoKTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBtYXRjaGVzO1xuXHRcdH1cblx0XHRpZiAoc2VhcmNoVmFsdWUuZ2xvYmFsKSB7XG5cdFx0XHRjb25zdCBtYXRjaGVzID0gbWF0Y2hBbGwoc2VhcmNoVmFsdWUsIHRoaXMub3JpZ2luYWwpO1xuXHRcdFx0bWF0Y2hlcy5mb3JFYWNoKChtYXRjaCkgPT4ge1xuXHRcdFx0XHRpZiAobWF0Y2guaW5kZXggIT0gbnVsbCkge1xuXHRcdFx0XHRcdGNvbnN0IHJlcGxhY2VtZW50ID0gZ2V0UmVwbGFjZW1lbnQobWF0Y2gsIHRoaXMub3JpZ2luYWwpO1xuXHRcdFx0XHRcdGlmIChyZXBsYWNlbWVudCAhPT0gbWF0Y2hbMF0pIHtcblx0XHRcdFx0XHRcdHRoaXMub3ZlcndyaXRlKFxuXHRcdFx0XHRcdFx0XHRtYXRjaC5pbmRleCxcblx0XHRcdFx0XHRcdFx0bWF0Y2guaW5kZXggKyBtYXRjaFswXS5sZW5ndGgsXG5cdFx0XHRcdFx0XHRcdHJlcGxhY2VtZW50XG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IG1hdGNoID0gdGhpcy5vcmlnaW5hbC5tYXRjaChzZWFyY2hWYWx1ZSk7XG5cdFx0XHRpZiAobWF0Y2ggJiYgbWF0Y2guaW5kZXggIT0gbnVsbCkge1xuXHRcdFx0XHRjb25zdCByZXBsYWNlbWVudCA9IGdldFJlcGxhY2VtZW50KG1hdGNoLCB0aGlzLm9yaWdpbmFsKTtcblx0XHRcdFx0aWYgKHJlcGxhY2VtZW50ICE9PSBtYXRjaFswXSkge1xuXHRcdFx0XHRcdHRoaXMub3ZlcndyaXRlKFxuXHRcdFx0XHRcdFx0bWF0Y2guaW5kZXgsXG5cdFx0XHRcdFx0XHRtYXRjaC5pbmRleCArIG1hdGNoWzBdLmxlbmd0aCxcblx0XHRcdFx0XHRcdHJlcGxhY2VtZW50XG5cdFx0XHRcdFx0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdF9yZXBsYWNlU3RyaW5nKHN0cmluZywgcmVwbGFjZW1lbnQpIHtcblx0XHRjb25zdCB7IG9yaWdpbmFsIH0gPSB0aGlzO1xuXHRcdGNvbnN0IGluZGV4ID0gb3JpZ2luYWwuaW5kZXhPZihzdHJpbmcpO1xuXG5cdFx0aWYgKGluZGV4ICE9PSAtMSkge1xuXHRcdFx0dGhpcy5vdmVyd3JpdGUoaW5kZXgsIGluZGV4ICsgc3RyaW5nLmxlbmd0aCwgcmVwbGFjZW1lbnQpO1xuXHRcdH1cblxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0cmVwbGFjZShzZWFyY2hWYWx1ZSwgcmVwbGFjZW1lbnQpIHtcblx0XHRpZiAodHlwZW9mIHNlYXJjaFZhbHVlID09PSAnc3RyaW5nJykge1xuXHRcdFx0cmV0dXJuIHRoaXMuX3JlcGxhY2VTdHJpbmcoc2VhcmNoVmFsdWUsIHJlcGxhY2VtZW50KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcy5fcmVwbGFjZVJlZ2V4cChzZWFyY2hWYWx1ZSwgcmVwbGFjZW1lbnQpO1xuXHR9XG5cblx0X3JlcGxhY2VBbGxTdHJpbmcoc3RyaW5nLCByZXBsYWNlbWVudCkge1xuXHRcdGNvbnN0IHsgb3JpZ2luYWwgfSA9IHRoaXM7XG5cdFx0Y29uc3Qgc3RyaW5nTGVuZ3RoID0gc3RyaW5nLmxlbmd0aDtcblx0XHRmb3IgKFxuXHRcdFx0bGV0IGluZGV4ID0gb3JpZ2luYWwuaW5kZXhPZihzdHJpbmcpO1xuXHRcdFx0aW5kZXggIT09IC0xO1xuXHRcdFx0aW5kZXggPSBvcmlnaW5hbC5pbmRleE9mKHN0cmluZywgaW5kZXggKyBzdHJpbmdMZW5ndGgpXG5cdFx0KSB7XG5cdFx0XHRjb25zdCBwcmV2aW91cyA9IG9yaWdpbmFsLnNsaWNlKGluZGV4LCBpbmRleCArIHN0cmluZ0xlbmd0aCk7XG5cdFx0XHRpZiAocHJldmlvdXMgIT09IHJlcGxhY2VtZW50KVxuXHRcdFx0XHR0aGlzLm92ZXJ3cml0ZShpbmRleCwgaW5kZXggKyBzdHJpbmdMZW5ndGgsIHJlcGxhY2VtZW50KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHJlcGxhY2VBbGwoc2VhcmNoVmFsdWUsIHJlcGxhY2VtZW50KSB7XG5cdFx0aWYgKHR5cGVvZiBzZWFyY2hWYWx1ZSA9PT0gJ3N0cmluZycpIHtcblx0XHRcdHJldHVybiB0aGlzLl9yZXBsYWNlQWxsU3RyaW5nKHNlYXJjaFZhbHVlLCByZXBsYWNlbWVudCk7XG5cdFx0fVxuXG5cdFx0aWYgKCFzZWFyY2hWYWx1ZS5nbG9iYWwpIHtcblx0XHRcdHRocm93IG5ldyBUeXBlRXJyb3IoXG5cdFx0XHRcdCdNYWdpY1N0cmluZy5wcm90b3R5cGUucmVwbGFjZUFsbCBjYWxsZWQgd2l0aCBhIG5vbi1nbG9iYWwgUmVnRXhwIGFyZ3VtZW50Jyxcblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXMuX3JlcGxhY2VSZWdleHAoc2VhcmNoVmFsdWUsIHJlcGxhY2VtZW50KTtcblx0fVxufVxuIiwgImltcG9ydCBNYWdpY1N0cmluZyBmcm9tICcuL01hZ2ljU3RyaW5nLmpzJztcbmltcG9ydCBTb3VyY2VNYXAgZnJvbSAnLi9Tb3VyY2VNYXAuanMnO1xuaW1wb3J0IGdldFJlbGF0aXZlUGF0aCBmcm9tICcuL3V0aWxzL2dldFJlbGF0aXZlUGF0aC5qcyc7XG5pbXBvcnQgaXNPYmplY3QgZnJvbSAnLi91dGlscy9pc09iamVjdC5qcyc7XG5pbXBvcnQgZ2V0TG9jYXRvciBmcm9tICcuL3V0aWxzL2dldExvY2F0b3IuanMnO1xuaW1wb3J0IE1hcHBpbmdzIGZyb20gJy4vdXRpbHMvTWFwcGluZ3MuanMnO1xuXG5jb25zdCBoYXNPd25Qcm9wID0gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQnVuZGxlIHtcblx0Y29uc3RydWN0b3Iob3B0aW9ucyA9IHt9KSB7XG5cdFx0dGhpcy5pbnRybyA9IG9wdGlvbnMuaW50cm8gfHwgJyc7XG5cdFx0dGhpcy5zZXBhcmF0b3IgPSBvcHRpb25zLnNlcGFyYXRvciAhPT0gdW5kZWZpbmVkID8gb3B0aW9ucy5zZXBhcmF0b3IgOiAnXFxuJztcblx0XHR0aGlzLnNvdXJjZXMgPSBbXTtcblx0XHR0aGlzLnVuaXF1ZVNvdXJjZXMgPSBbXTtcblx0XHR0aGlzLnVuaXF1ZVNvdXJjZUluZGV4QnlGaWxlbmFtZSA9IHt9O1xuXHR9XG5cblx0YWRkU291cmNlKHNvdXJjZSkge1xuXHRcdGlmIChzb3VyY2UgaW5zdGFuY2VvZiBNYWdpY1N0cmluZykge1xuXHRcdFx0cmV0dXJuIHRoaXMuYWRkU291cmNlKHtcblx0XHRcdFx0Y29udGVudDogc291cmNlLFxuXHRcdFx0XHRmaWxlbmFtZTogc291cmNlLmZpbGVuYW1lLFxuXHRcdFx0XHRzZXBhcmF0b3I6IHRoaXMuc2VwYXJhdG9yLFxuXHRcdFx0fSk7XG5cdFx0fVxuXG5cdFx0aWYgKCFpc09iamVjdChzb3VyY2UpIHx8ICFzb3VyY2UuY29udGVudCkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHQnYnVuZGxlLmFkZFNvdXJjZSgpIHRha2VzIGFuIG9iamVjdCB3aXRoIGEgYGNvbnRlbnRgIHByb3BlcnR5LCB3aGljaCBzaG91bGQgYmUgYW4gaW5zdGFuY2Ugb2YgTWFnaWNTdHJpbmcsIGFuZCBhbiBvcHRpb25hbCBgZmlsZW5hbWVgJyxcblx0XHRcdCk7XG5cdFx0fVxuXG5cdFx0WydmaWxlbmFtZScsICdpZ25vcmVMaXN0JywgJ2luZGVudEV4Y2x1c2lvblJhbmdlcycsICdzZXBhcmF0b3InXS5mb3JFYWNoKChvcHRpb24pID0+IHtcblx0XHRcdGlmICghaGFzT3duUHJvcC5jYWxsKHNvdXJjZSwgb3B0aW9uKSkgc291cmNlW29wdGlvbl0gPSBzb3VyY2UuY29udGVudFtvcHRpb25dO1xuXHRcdH0pO1xuXG5cdFx0aWYgKHNvdXJjZS5zZXBhcmF0b3IgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0Ly8gVE9ETyB0aGVyZSdzIGEgYnVuY2ggb2YgdGhpcyBzb3J0IG9mIHRoaW5nLCBuZWVkcyBjbGVhbmluZyB1cFxuXHRcdFx0c291cmNlLnNlcGFyYXRvciA9IHRoaXMuc2VwYXJhdG9yO1xuXHRcdH1cblxuXHRcdGlmIChzb3VyY2UuZmlsZW5hbWUpIHtcblx0XHRcdGlmICghaGFzT3duUHJvcC5jYWxsKHRoaXMudW5pcXVlU291cmNlSW5kZXhCeUZpbGVuYW1lLCBzb3VyY2UuZmlsZW5hbWUpKSB7XG5cdFx0XHRcdHRoaXMudW5pcXVlU291cmNlSW5kZXhCeUZpbGVuYW1lW3NvdXJjZS5maWxlbmFtZV0gPSB0aGlzLnVuaXF1ZVNvdXJjZXMubGVuZ3RoO1xuXHRcdFx0XHR0aGlzLnVuaXF1ZVNvdXJjZXMucHVzaCh7IGZpbGVuYW1lOiBzb3VyY2UuZmlsZW5hbWUsIGNvbnRlbnQ6IHNvdXJjZS5jb250ZW50Lm9yaWdpbmFsIH0pO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0Y29uc3QgdW5pcXVlU291cmNlID0gdGhpcy51bmlxdWVTb3VyY2VzW3RoaXMudW5pcXVlU291cmNlSW5kZXhCeUZpbGVuYW1lW3NvdXJjZS5maWxlbmFtZV1dO1xuXHRcdFx0XHRpZiAoc291cmNlLmNvbnRlbnQub3JpZ2luYWwgIT09IHVuaXF1ZVNvdXJjZS5jb250ZW50KSB7XG5cdFx0XHRcdFx0dGhyb3cgbmV3IEVycm9yKGBJbGxlZ2FsIHNvdXJjZTogc2FtZSBmaWxlbmFtZSAoJHtzb3VyY2UuZmlsZW5hbWV9KSwgZGlmZmVyZW50IGNvbnRlbnRzYCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHR0aGlzLnNvdXJjZXMucHVzaChzb3VyY2UpO1xuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0YXBwZW5kKHN0ciwgb3B0aW9ucykge1xuXHRcdHRoaXMuYWRkU291cmNlKHtcblx0XHRcdGNvbnRlbnQ6IG5ldyBNYWdpY1N0cmluZyhzdHIpLFxuXHRcdFx0c2VwYXJhdG9yOiAob3B0aW9ucyAmJiBvcHRpb25zLnNlcGFyYXRvcikgfHwgJycsXG5cdFx0fSk7XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdGNsb25lKCkge1xuXHRcdGNvbnN0IGJ1bmRsZSA9IG5ldyBCdW5kbGUoe1xuXHRcdFx0aW50cm86IHRoaXMuaW50cm8sXG5cdFx0XHRzZXBhcmF0b3I6IHRoaXMuc2VwYXJhdG9yLFxuXHRcdH0pO1xuXG5cdFx0dGhpcy5zb3VyY2VzLmZvckVhY2goKHNvdXJjZSkgPT4ge1xuXHRcdFx0YnVuZGxlLmFkZFNvdXJjZSh7XG5cdFx0XHRcdGZpbGVuYW1lOiBzb3VyY2UuZmlsZW5hbWUsXG5cdFx0XHRcdGNvbnRlbnQ6IHNvdXJjZS5jb250ZW50LmNsb25lKCksXG5cdFx0XHRcdHNlcGFyYXRvcjogc291cmNlLnNlcGFyYXRvcixcblx0XHRcdH0pO1xuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIGJ1bmRsZTtcblx0fVxuXG5cdGdlbmVyYXRlRGVjb2RlZE1hcChvcHRpb25zID0ge30pIHtcblx0XHRjb25zdCBuYW1lcyA9IFtdO1xuXHRcdGxldCB4X2dvb2dsZV9pZ25vcmVMaXN0ID0gdW5kZWZpbmVkO1xuXHRcdHRoaXMuc291cmNlcy5mb3JFYWNoKChzb3VyY2UpID0+IHtcblx0XHRcdE9iamVjdC5rZXlzKHNvdXJjZS5jb250ZW50LnN0b3JlZE5hbWVzKS5mb3JFYWNoKChuYW1lKSA9PiB7XG5cdFx0XHRcdGlmICghfm5hbWVzLmluZGV4T2YobmFtZSkpIG5hbWVzLnB1c2gobmFtZSk7XG5cdFx0XHR9KTtcblx0XHR9KTtcblxuXHRcdGNvbnN0IG1hcHBpbmdzID0gbmV3IE1hcHBpbmdzKG9wdGlvbnMuaGlyZXMpO1xuXG5cdFx0aWYgKHRoaXMuaW50cm8pIHtcblx0XHRcdG1hcHBpbmdzLmFkdmFuY2UodGhpcy5pbnRybyk7XG5cdFx0fVxuXG5cdFx0dGhpcy5zb3VyY2VzLmZvckVhY2goKHNvdXJjZSwgaSkgPT4ge1xuXHRcdFx0aWYgKGkgPiAwKSB7XG5cdFx0XHRcdG1hcHBpbmdzLmFkdmFuY2UodGhpcy5zZXBhcmF0b3IpO1xuXHRcdFx0fVxuXG5cdFx0XHRjb25zdCBzb3VyY2VJbmRleCA9IHNvdXJjZS5maWxlbmFtZSA/IHRoaXMudW5pcXVlU291cmNlSW5kZXhCeUZpbGVuYW1lW3NvdXJjZS5maWxlbmFtZV0gOiAtMTtcblx0XHRcdGNvbnN0IG1hZ2ljU3RyaW5nID0gc291cmNlLmNvbnRlbnQ7XG5cdFx0XHRjb25zdCBsb2NhdGUgPSBnZXRMb2NhdG9yKG1hZ2ljU3RyaW5nLm9yaWdpbmFsKTtcblxuXHRcdFx0aWYgKG1hZ2ljU3RyaW5nLmludHJvKSB7XG5cdFx0XHRcdG1hcHBpbmdzLmFkdmFuY2UobWFnaWNTdHJpbmcuaW50cm8pO1xuXHRcdFx0fVxuXG5cdFx0XHRtYWdpY1N0cmluZy5maXJzdENodW5rLmVhY2hOZXh0KChjaHVuaykgPT4ge1xuXHRcdFx0XHRjb25zdCBsb2MgPSBsb2NhdGUoY2h1bmsuc3RhcnQpO1xuXG5cdFx0XHRcdGlmIChjaHVuay5pbnRyby5sZW5ndGgpIG1hcHBpbmdzLmFkdmFuY2UoY2h1bmsuaW50cm8pO1xuXG5cdFx0XHRcdGlmIChzb3VyY2UuZmlsZW5hbWUpIHtcblx0XHRcdFx0XHRpZiAoY2h1bmsuZWRpdGVkKSB7XG5cdFx0XHRcdFx0XHRtYXBwaW5ncy5hZGRFZGl0KFxuXHRcdFx0XHRcdFx0XHRzb3VyY2VJbmRleCxcblx0XHRcdFx0XHRcdFx0Y2h1bmsuY29udGVudCxcblx0XHRcdFx0XHRcdFx0bG9jLFxuXHRcdFx0XHRcdFx0XHRjaHVuay5zdG9yZU5hbWUgPyBuYW1lcy5pbmRleE9mKGNodW5rLm9yaWdpbmFsKSA6IC0xLFxuXHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0bWFwcGluZ3MuYWRkVW5lZGl0ZWRDaHVuayhcblx0XHRcdFx0XHRcdFx0c291cmNlSW5kZXgsXG5cdFx0XHRcdFx0XHRcdGNodW5rLFxuXHRcdFx0XHRcdFx0XHRtYWdpY1N0cmluZy5vcmlnaW5hbCxcblx0XHRcdFx0XHRcdFx0bG9jLFxuXHRcdFx0XHRcdFx0XHRtYWdpY1N0cmluZy5zb3VyY2VtYXBMb2NhdGlvbnMsXG5cdFx0XHRcdFx0XHQpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRtYXBwaW5ncy5hZHZhbmNlKGNodW5rLmNvbnRlbnQpO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0aWYgKGNodW5rLm91dHJvLmxlbmd0aCkgbWFwcGluZ3MuYWR2YW5jZShjaHVuay5vdXRybyk7XG5cdFx0XHR9KTtcblxuXHRcdFx0aWYgKG1hZ2ljU3RyaW5nLm91dHJvKSB7XG5cdFx0XHRcdG1hcHBpbmdzLmFkdmFuY2UobWFnaWNTdHJpbmcub3V0cm8pO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoc291cmNlLmlnbm9yZUxpc3QgJiYgc291cmNlSW5kZXggIT09IC0xKSB7XG5cdFx0XHRcdGlmICh4X2dvb2dsZV9pZ25vcmVMaXN0ID09PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHR4X2dvb2dsZV9pZ25vcmVMaXN0ID0gW107XG5cdFx0XHRcdH1cblx0XHRcdFx0eF9nb29nbGVfaWdub3JlTGlzdC5wdXNoKHNvdXJjZUluZGV4KTtcblx0XHRcdH1cblx0XHR9KTtcblxuXHRcdHJldHVybiB7XG5cdFx0XHRmaWxlOiBvcHRpb25zLmZpbGUgPyBvcHRpb25zLmZpbGUuc3BsaXQoL1svXFxcXF0vKS5wb3AoKSA6IHVuZGVmaW5lZCxcblx0XHRcdHNvdXJjZXM6IHRoaXMudW5pcXVlU291cmNlcy5tYXAoKHNvdXJjZSkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gb3B0aW9ucy5maWxlID8gZ2V0UmVsYXRpdmVQYXRoKG9wdGlvbnMuZmlsZSwgc291cmNlLmZpbGVuYW1lKSA6IHNvdXJjZS5maWxlbmFtZTtcblx0XHRcdH0pLFxuXHRcdFx0c291cmNlc0NvbnRlbnQ6IHRoaXMudW5pcXVlU291cmNlcy5tYXAoKHNvdXJjZSkgPT4ge1xuXHRcdFx0XHRyZXR1cm4gb3B0aW9ucy5pbmNsdWRlQ29udGVudCA/IHNvdXJjZS5jb250ZW50IDogbnVsbDtcblx0XHRcdH0pLFxuXHRcdFx0bmFtZXMsXG5cdFx0XHRtYXBwaW5nczogbWFwcGluZ3MucmF3LFxuXHRcdFx0eF9nb29nbGVfaWdub3JlTGlzdCxcblx0XHR9O1xuXHR9XG5cblx0Z2VuZXJhdGVNYXAob3B0aW9ucykge1xuXHRcdHJldHVybiBuZXcgU291cmNlTWFwKHRoaXMuZ2VuZXJhdGVEZWNvZGVkTWFwKG9wdGlvbnMpKTtcblx0fVxuXG5cdGdldEluZGVudFN0cmluZygpIHtcblx0XHRjb25zdCBpbmRlbnRTdHJpbmdDb3VudHMgPSB7fTtcblxuXHRcdHRoaXMuc291cmNlcy5mb3JFYWNoKChzb3VyY2UpID0+IHtcblx0XHRcdGNvbnN0IGluZGVudFN0ciA9IHNvdXJjZS5jb250ZW50Ll9nZXRSYXdJbmRlbnRTdHJpbmcoKTtcblxuXHRcdFx0aWYgKGluZGVudFN0ciA9PT0gbnVsbCkgcmV0dXJuO1xuXG5cdFx0XHRpZiAoIWluZGVudFN0cmluZ0NvdW50c1tpbmRlbnRTdHJdKSBpbmRlbnRTdHJpbmdDb3VudHNbaW5kZW50U3RyXSA9IDA7XG5cdFx0XHRpbmRlbnRTdHJpbmdDb3VudHNbaW5kZW50U3RyXSArPSAxO1xuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIChcblx0XHRcdE9iamVjdC5rZXlzKGluZGVudFN0cmluZ0NvdW50cykuc29ydCgoYSwgYikgPT4ge1xuXHRcdFx0XHRyZXR1cm4gaW5kZW50U3RyaW5nQ291bnRzW2FdIC0gaW5kZW50U3RyaW5nQ291bnRzW2JdO1xuXHRcdFx0fSlbMF0gfHwgJ1xcdCdcblx0XHQpO1xuXHR9XG5cblx0aW5kZW50KGluZGVudFN0cikge1xuXHRcdGlmICghYXJndW1lbnRzLmxlbmd0aCkge1xuXHRcdFx0aW5kZW50U3RyID0gdGhpcy5nZXRJbmRlbnRTdHJpbmcoKTtcblx0XHR9XG5cblx0XHRpZiAoaW5kZW50U3RyID09PSAnJykgcmV0dXJuIHRoaXM7IC8vIG5vb3BcblxuXHRcdGxldCB0cmFpbGluZ05ld2xpbmUgPSAhdGhpcy5pbnRybyB8fCB0aGlzLmludHJvLnNsaWNlKC0xKSA9PT0gJ1xcbic7XG5cblx0XHR0aGlzLnNvdXJjZXMuZm9yRWFjaCgoc291cmNlLCBpKSA9PiB7XG5cdFx0XHRjb25zdCBzZXBhcmF0b3IgPSBzb3VyY2Uuc2VwYXJhdG9yICE9PSB1bmRlZmluZWQgPyBzb3VyY2Uuc2VwYXJhdG9yIDogdGhpcy5zZXBhcmF0b3I7XG5cdFx0XHRjb25zdCBpbmRlbnRTdGFydCA9IHRyYWlsaW5nTmV3bGluZSB8fCAoaSA+IDAgJiYgL1xccj9cXG4kLy50ZXN0KHNlcGFyYXRvcikpO1xuXG5cdFx0XHRzb3VyY2UuY29udGVudC5pbmRlbnQoaW5kZW50U3RyLCB7XG5cdFx0XHRcdGV4Y2x1ZGU6IHNvdXJjZS5pbmRlbnRFeGNsdXNpb25SYW5nZXMsXG5cdFx0XHRcdGluZGVudFN0YXJ0LCAvLzogdHJhaWxpbmdOZXdsaW5lIHx8IC9cXHI/XFxuJC8udGVzdCggc2VwYXJhdG9yICkgIC8vdHJ1ZS8vL1xccj9cXG4vLnRlc3QoIHNlcGFyYXRvciApXG5cdFx0XHR9KTtcblxuXHRcdFx0dHJhaWxpbmdOZXdsaW5lID0gc291cmNlLmNvbnRlbnQubGFzdENoYXIoKSA9PT0gJ1xcbic7XG5cdFx0fSk7XG5cblx0XHRpZiAodGhpcy5pbnRybykge1xuXHRcdFx0dGhpcy5pbnRybyA9XG5cdFx0XHRcdGluZGVudFN0ciArXG5cdFx0XHRcdHRoaXMuaW50cm8ucmVwbGFjZSgvXlteXFxuXS9nbSwgKG1hdGNoLCBpbmRleCkgPT4ge1xuXHRcdFx0XHRcdHJldHVybiBpbmRleCA+IDAgPyBpbmRlbnRTdHIgKyBtYXRjaCA6IG1hdGNoO1xuXHRcdFx0XHR9KTtcblx0XHR9XG5cblx0XHRyZXR1cm4gdGhpcztcblx0fVxuXG5cdHByZXBlbmQoc3RyKSB7XG5cdFx0dGhpcy5pbnRybyA9IHN0ciArIHRoaXMuaW50cm87XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHR0b1N0cmluZygpIHtcblx0XHRjb25zdCBib2R5ID0gdGhpcy5zb3VyY2VzXG5cdFx0XHQubWFwKChzb3VyY2UsIGkpID0+IHtcblx0XHRcdFx0Y29uc3Qgc2VwYXJhdG9yID0gc291cmNlLnNlcGFyYXRvciAhPT0gdW5kZWZpbmVkID8gc291cmNlLnNlcGFyYXRvciA6IHRoaXMuc2VwYXJhdG9yO1xuXHRcdFx0XHRjb25zdCBzdHIgPSAoaSA+IDAgPyBzZXBhcmF0b3IgOiAnJykgKyBzb3VyY2UuY29udGVudC50b1N0cmluZygpO1xuXG5cdFx0XHRcdHJldHVybiBzdHI7XG5cdFx0XHR9KVxuXHRcdFx0LmpvaW4oJycpO1xuXG5cdFx0cmV0dXJuIHRoaXMuaW50cm8gKyBib2R5O1xuXHR9XG5cblx0aXNFbXB0eSgpIHtcblx0XHRpZiAodGhpcy5pbnRyby5sZW5ndGggJiYgdGhpcy5pbnRyby50cmltKCkpIHJldHVybiBmYWxzZTtcblx0XHRpZiAodGhpcy5zb3VyY2VzLnNvbWUoKHNvdXJjZSkgPT4gIXNvdXJjZS5jb250ZW50LmlzRW1wdHkoKSkpIHJldHVybiBmYWxzZTtcblx0XHRyZXR1cm4gdHJ1ZTtcblx0fVxuXG5cdGxlbmd0aCgpIHtcblx0XHRyZXR1cm4gdGhpcy5zb3VyY2VzLnJlZHVjZShcblx0XHRcdChsZW5ndGgsIHNvdXJjZSkgPT4gbGVuZ3RoICsgc291cmNlLmNvbnRlbnQubGVuZ3RoKCksXG5cdFx0XHR0aGlzLmludHJvLmxlbmd0aCxcblx0XHQpO1xuXHR9XG5cblx0dHJpbUxpbmVzKCkge1xuXHRcdHJldHVybiB0aGlzLnRyaW0oJ1tcXFxcclxcXFxuXScpO1xuXHR9XG5cblx0dHJpbShjaGFyVHlwZSkge1xuXHRcdHJldHVybiB0aGlzLnRyaW1TdGFydChjaGFyVHlwZSkudHJpbUVuZChjaGFyVHlwZSk7XG5cdH1cblxuXHR0cmltU3RhcnQoY2hhclR5cGUpIHtcblx0XHRjb25zdCByeCA9IG5ldyBSZWdFeHAoJ14nICsgKGNoYXJUeXBlIHx8ICdcXFxccycpICsgJysnKTtcblx0XHR0aGlzLmludHJvID0gdGhpcy5pbnRyby5yZXBsYWNlKHJ4LCAnJyk7XG5cblx0XHRpZiAoIXRoaXMuaW50cm8pIHtcblx0XHRcdGxldCBzb3VyY2U7XG5cdFx0XHRsZXQgaSA9IDA7XG5cblx0XHRcdGRvIHtcblx0XHRcdFx0c291cmNlID0gdGhpcy5zb3VyY2VzW2krK107XG5cdFx0XHRcdGlmICghc291cmNlKSB7XG5cdFx0XHRcdFx0YnJlYWs7XG5cdFx0XHRcdH1cblx0XHRcdH0gd2hpbGUgKCFzb3VyY2UuY29udGVudC50cmltU3RhcnRBYm9ydGVkKGNoYXJUeXBlKSk7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHR0cmltRW5kKGNoYXJUeXBlKSB7XG5cdFx0Y29uc3QgcnggPSBuZXcgUmVnRXhwKChjaGFyVHlwZSB8fCAnXFxcXHMnKSArICcrJCcpO1xuXG5cdFx0bGV0IHNvdXJjZTtcblx0XHRsZXQgaSA9IHRoaXMuc291cmNlcy5sZW5ndGggLSAxO1xuXG5cdFx0ZG8ge1xuXHRcdFx0c291cmNlID0gdGhpcy5zb3VyY2VzW2ktLV07XG5cdFx0XHRpZiAoIXNvdXJjZSkge1xuXHRcdFx0XHR0aGlzLmludHJvID0gdGhpcy5pbnRyby5yZXBsYWNlKHJ4LCAnJyk7XG5cdFx0XHRcdGJyZWFrO1xuXHRcdFx0fVxuXHRcdH0gd2hpbGUgKCFzb3VyY2UuY29udGVudC50cmltRW5kQWJvcnRlZChjaGFyVHlwZSkpO1xuXG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cbn1cbiIsICIvLyBEZXRlY3QgZWl0aGVyIHNwYWNlcyBvciB0YWJzIGJ1dCBub3QgYm90aCB0byBwcm9wZXJseSBoYW5kbGUgdGFicyBmb3IgaW5kZW50YXRpb24gYW5kIHNwYWNlcyBmb3IgYWxpZ25tZW50XG5jb25zdCBJTkRFTlRfUkVHRVggPSAvXig/OiggKSt8XFx0KykvO1xuXG5jb25zdCBJTkRFTlRfVFlQRV9TUEFDRSA9ICdzcGFjZSc7XG5jb25zdCBJTkRFTlRfVFlQRV9UQUIgPSAndGFiJztcblxuLyoqXG5NYWtlIGEgTWFwIHRoYXQgY291bnRzIGhvdyBtYW55IGluZGVudHMvdW5pbmRlbnRzIGhhdmUgb2NjdXJyZWQgZm9yIGEgZ2l2ZW4gc2l6ZSBhbmQgaG93IG1hbnkgbGluZXMgZm9sbG93IGEgZ2l2ZW4gaW5kZW50YXRpb24uXG5cblRoZSBrZXkgaXMgYSBjb25jYXRlbmF0aW9uIG9mIHRoZSBpbmRlbnRhdGlvbiB0eXBlIChzID0gc3BhY2UgYW5kIHQgPSB0YWIpIGFuZCB0aGUgc2l6ZSBvZiB0aGUgaW5kZW50cy91bmluZGVudHMuXG5cbmBgYFxuaW5kZW50cyA9IHtcblx0dDM6IFsxLCAwXSxcblx0dDQ6IFsxLCA1XSxcblx0czU6IFsxLCAwXSxcblx0czEyOiBbMSwgMF0sXG59XG5gYGBcbiovXG5mdW5jdGlvbiBtYWtlSW5kZW50c01hcChzdHJpbmcsIGlnbm9yZVNpbmdsZVNwYWNlcykge1xuXHRjb25zdCBpbmRlbnRzID0gbmV3IE1hcCgpO1xuXG5cdC8vIFJlbWVtYmVyIHRoZSBzaXplIG9mIHByZXZpb3VzIGxpbmUncyBpbmRlbnRhdGlvblxuXHRsZXQgcHJldmlvdXNTaXplID0gMDtcblx0bGV0IHByZXZpb3VzSW5kZW50VHlwZTtcblxuXHQvLyBJbmRlbnRzIGtleSAoaWRlbnQgdHlwZSArIHNpemUgb2YgdGhlIGluZGVudHMvdW5pbmRlbnRzKVxuXHRsZXQga2V5O1xuXG5cdGZvciAoY29uc3QgbGluZSBvZiBzdHJpbmcuc3BsaXQoL1xcbi9nKSkge1xuXHRcdGlmICghbGluZSkge1xuXHRcdFx0Ly8gSWdub3JlIGVtcHR5IGxpbmVzXG5cdFx0XHRjb250aW51ZTtcblx0XHR9XG5cblx0XHRsZXQgaW5kZW50O1xuXHRcdGxldCBpbmRlbnRUeXBlO1xuXHRcdGxldCB1c2U7XG5cdFx0bGV0IHdlaWdodDtcblx0XHRsZXQgZW50cnk7XG5cdFx0Y29uc3QgbWF0Y2hlcyA9IGxpbmUubWF0Y2goSU5ERU5UX1JFR0VYKTtcblxuXHRcdGlmIChtYXRjaGVzID09PSBudWxsKSB7XG5cdFx0XHRwcmV2aW91c1NpemUgPSAwO1xuXHRcdFx0cHJldmlvdXNJbmRlbnRUeXBlID0gJyc7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGluZGVudCA9IG1hdGNoZXNbMF0ubGVuZ3RoO1xuXHRcdFx0aW5kZW50VHlwZSA9IG1hdGNoZXNbMV0gPyBJTkRFTlRfVFlQRV9TUEFDRSA6IElOREVOVF9UWVBFX1RBQjtcblxuXHRcdFx0Ly8gSWdub3JlIHNpbmdsZSBzcGFjZSB1bmxlc3MgaXQncyB0aGUgb25seSBpbmRlbnQgZGV0ZWN0ZWQgdG8gcHJldmVudCBjb21tb24gZmFsc2UgcG9zaXRpdmVzXG5cdFx0XHRpZiAoaWdub3JlU2luZ2xlU3BhY2VzICYmIGluZGVudFR5cGUgPT09IElOREVOVF9UWVBFX1NQQUNFICYmIGluZGVudCA9PT0gMSkge1xuXHRcdFx0XHRjb250aW51ZTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKGluZGVudFR5cGUgIT09IHByZXZpb3VzSW5kZW50VHlwZSkge1xuXHRcdFx0XHRwcmV2aW91c1NpemUgPSAwO1xuXHRcdFx0fVxuXG5cdFx0XHRwcmV2aW91c0luZGVudFR5cGUgPSBpbmRlbnRUeXBlO1xuXG5cdFx0XHR1c2UgPSAxO1xuXHRcdFx0d2VpZ2h0ID0gMDtcblxuXHRcdFx0Y29uc3QgaW5kZW50RGlmZmVyZW5jZSA9IGluZGVudCAtIHByZXZpb3VzU2l6ZTtcblx0XHRcdHByZXZpb3VzU2l6ZSA9IGluZGVudDtcblxuXHRcdFx0Ly8gUHJldmlvdXMgbGluZSBoYXZlIHNhbWUgaW5kZW50P1xuXHRcdFx0aWYgKGluZGVudERpZmZlcmVuY2UgPT09IDApIHtcblx0XHRcdFx0Ly8gTm90IGEgbmV3IFwidXNlXCIgb2YgdGhlIGN1cnJlbnQgaW5kZW50OlxuXHRcdFx0XHR1c2UgPSAwO1xuXHRcdFx0XHQvLyBCdXQgZG8gYWRkIGEgYml0IHRvIGl0IGZvciBicmVha2luZyB0aWVzOlxuXHRcdFx0XHR3ZWlnaHQgPSAxO1xuXHRcdFx0XHQvLyBXZSB1c2UgdGhlIGtleSBmcm9tIHByZXZpb3VzIGxvb3Bcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNvbnN0IGFic29sdXRlSW5kZW50RGlmZmVyZW5jZSA9IGluZGVudERpZmZlcmVuY2UgPiAwID8gaW5kZW50RGlmZmVyZW5jZSA6IC1pbmRlbnREaWZmZXJlbmNlO1xuXHRcdFx0XHRrZXkgPSBlbmNvZGVJbmRlbnRzS2V5KGluZGVudFR5cGUsIGFic29sdXRlSW5kZW50RGlmZmVyZW5jZSk7XG5cdFx0XHR9XG5cblx0XHRcdC8vIFVwZGF0ZSB0aGUgc3RhdHNcblx0XHRcdGVudHJ5ID0gaW5kZW50cy5nZXQoa2V5KTtcblx0XHRcdGVudHJ5ID0gZW50cnkgPT09IHVuZGVmaW5lZCA/IFsxLCAwXSA6IFtlbnRyeVswXSArIHVzZSwgZW50cnlbMV0gKyB3ZWlnaHRdO1xuXG5cdFx0XHRpbmRlbnRzLnNldChrZXksIGVudHJ5KTtcblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gaW5kZW50cztcbn1cblxuLy8gRW5jb2RlIHRoZSBpbmRlbnQgdHlwZSBhbmQgYW1vdW50IGFzIGEgc3RyaW5nIChlLmcuICdzNCcpIGZvciB1c2UgYXMgYSBjb21wb3VuZCBrZXkgaW4gdGhlIGluZGVudHMgTWFwLlxuZnVuY3Rpb24gZW5jb2RlSW5kZW50c0tleShpbmRlbnRUeXBlLCBpbmRlbnRBbW91bnQpIHtcblx0Y29uc3QgdHlwZUNoYXJhY3RlciA9IGluZGVudFR5cGUgPT09IElOREVOVF9UWVBFX1NQQUNFID8gJ3MnIDogJ3QnO1xuXHRyZXR1cm4gdHlwZUNoYXJhY3RlciArIFN0cmluZyhpbmRlbnRBbW91bnQpO1xufVxuXG4vLyBFeHRyYWN0IHRoZSBpbmRlbnQgdHlwZSBhbmQgYW1vdW50IGZyb20gYSBrZXkgb2YgdGhlIGluZGVudHMgTWFwLlxuZnVuY3Rpb24gZGVjb2RlSW5kZW50c0tleShpbmRlbnRzS2V5KSB7XG5cdGNvbnN0IGtleUhhc1R5cGVTcGFjZSA9IGluZGVudHNLZXlbMF0gPT09ICdzJztcblx0Y29uc3QgdHlwZSA9IGtleUhhc1R5cGVTcGFjZSA/IElOREVOVF9UWVBFX1NQQUNFIDogSU5ERU5UX1RZUEVfVEFCO1xuXG5cdGNvbnN0IGFtb3VudCA9IE51bWJlcihpbmRlbnRzS2V5LnNsaWNlKDEpKTtcblxuXHRyZXR1cm4ge3R5cGUsIGFtb3VudH07XG59XG5cbi8vIFJldHVybiB0aGUga2V5IChlLmcuICdzNCcpIGZyb20gdGhlIGluZGVudHMgTWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgbW9zdCBjb21tb24gaW5kZW50LFxuLy8gb3IgcmV0dXJuIHVuZGVmaW5lZCBpZiB0aGVyZSBhcmUgbm8gaW5kZW50cy5cbmZ1bmN0aW9uIGdldE1vc3RVc2VkS2V5KGluZGVudHMpIHtcblx0bGV0IHJlc3VsdDtcblx0bGV0IG1heFVzZWQgPSAwO1xuXHRsZXQgbWF4V2VpZ2h0ID0gMDtcblxuXHRmb3IgKGNvbnN0IFtrZXksIFt1c2VkQ291bnQsIHdlaWdodF1dIG9mIGluZGVudHMpIHtcblx0XHRpZiAodXNlZENvdW50ID4gbWF4VXNlZCB8fCAodXNlZENvdW50ID09PSBtYXhVc2VkICYmIHdlaWdodCA+IG1heFdlaWdodCkpIHtcblx0XHRcdG1heFVzZWQgPSB1c2VkQ291bnQ7XG5cdFx0XHRtYXhXZWlnaHQgPSB3ZWlnaHQ7XG5cdFx0XHRyZXN1bHQgPSBrZXk7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIHJlc3VsdDtcbn1cblxuZnVuY3Rpb24gbWFrZUluZGVudFN0cmluZyh0eXBlLCBhbW91bnQpIHtcblx0Y29uc3QgaW5kZW50Q2hhcmFjdGVyID0gdHlwZSA9PT0gSU5ERU5UX1RZUEVfU1BBQ0UgPyAnICcgOiAnXFx0Jztcblx0cmV0dXJuIGluZGVudENoYXJhY3Rlci5yZXBlYXQoYW1vdW50KTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZGV0ZWN0SW5kZW50KHN0cmluZykge1xuXHRpZiAodHlwZW9mIHN0cmluZyAhPT0gJ3N0cmluZycpIHtcblx0XHR0aHJvdyBuZXcgVHlwZUVycm9yKCdFeHBlY3RlZCBhIHN0cmluZycpO1xuXHR9XG5cblx0Ly8gSWRlbnRpZnkgaW5kZW50cyB3aGlsZSBza2lwcGluZyBzaW5nbGUgc3BhY2UgaW5kZW50cyB0byBhdm9pZCBjb21tb24gZWRnZSBjYXNlcyAoZS5nLiBjb2RlIGNvbW1lbnRzKVxuXHQvLyBJZiBubyBpbmRlbnRzIGFyZSBpZGVudGlmaWVkLCBydW4gYWdhaW4gYW5kIGluY2x1ZGUgYWxsIGluZGVudHMgZm9yIGNvbXByZWhlbnNpdmUgZGV0ZWN0aW9uXG5cdGxldCBpbmRlbnRzID0gbWFrZUluZGVudHNNYXAoc3RyaW5nLCB0cnVlKTtcblx0aWYgKGluZGVudHMuc2l6ZSA9PT0gMCkge1xuXHRcdGluZGVudHMgPSBtYWtlSW5kZW50c01hcChzdHJpbmcsIGZhbHNlKTtcblx0fVxuXG5cdGNvbnN0IGtleU9mTW9zdFVzZWRJbmRlbnQgPSBnZXRNb3N0VXNlZEtleShpbmRlbnRzKTtcblxuXHRsZXQgdHlwZTtcblx0bGV0IGFtb3VudCA9IDA7XG5cdGxldCBpbmRlbnQgPSAnJztcblxuXHRpZiAoa2V5T2ZNb3N0VXNlZEluZGVudCAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0KHt0eXBlLCBhbW91bnR9ID0gZGVjb2RlSW5kZW50c0tleShrZXlPZk1vc3RVc2VkSW5kZW50KSk7XG5cdFx0aW5kZW50ID0gbWFrZUluZGVudFN0cmluZyh0eXBlLCBhbW91bnQpO1xuXHR9XG5cblx0cmV0dXJuIHtcblx0XHRhbW91bnQsXG5cdFx0dHlwZSxcblx0XHRpbmRlbnQsXG5cdH07XG59XG4iLCAiZXhwb3J0IGZ1bmN0aW9uIGRldGVjdE5ld2xpbmUoc3RyaW5nKSB7XG5cdGlmICh0eXBlb2Ygc3RyaW5nICE9PSAnc3RyaW5nJykge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ0V4cGVjdGVkIGEgc3RyaW5nJyk7XG5cdH1cblxuXHRjb25zdCBuZXdsaW5lcyA9IHN0cmluZy5tYXRjaCgvKD86XFxyP1xcbikvZykgfHwgW107XG5cblx0aWYgKG5ld2xpbmVzLmxlbmd0aCA9PT0gMCkge1xuXHRcdHJldHVybjtcblx0fVxuXG5cdGNvbnN0IGNybGYgPSBuZXdsaW5lcy5maWx0ZXIobmV3bGluZSA9PiBuZXdsaW5lID09PSAnXFxyXFxuJykubGVuZ3RoO1xuXHRjb25zdCBsZiA9IG5ld2xpbmVzLmxlbmd0aCAtIGNybGY7XG5cblx0cmV0dXJuIGNybGYgPiBsZiA/ICdcXHJcXG4nIDogJ1xcbic7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXRlY3ROZXdsaW5lR3JhY2VmdWwoc3RyaW5nKSB7XG5cdHJldHVybiAodHlwZW9mIHN0cmluZyA9PT0gJ3N0cmluZycgJiYgZGV0ZWN0TmV3bGluZShzdHJpbmcpKSB8fCAnXFxuJztcbn1cbiIsICJleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBlc2NhcGVTdHJpbmdSZWdleHAoc3RyaW5nKSB7XG5cdGlmICh0eXBlb2Ygc3RyaW5nICE9PSAnc3RyaW5nJykge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ0V4cGVjdGVkIGEgc3RyaW5nJyk7XG5cdH1cblxuXHQvLyBFc2NhcGUgY2hhcmFjdGVycyB3aXRoIHNwZWNpYWwgbWVhbmluZyBlaXRoZXIgaW5zaWRlIG9yIG91dHNpZGUgY2hhcmFjdGVyIHNldHMuXG5cdC8vIFVzZSBhIHNpbXBsZSBiYWNrc2xhc2ggZXNjYXBlIHdoZW4gaXRcdTIwMTlzIGFsd2F5cyB2YWxpZCwgYW5kIGEgYFxceG5uYCBlc2NhcGUgd2hlbiB0aGUgc2ltcGxlciBmb3JtIHdvdWxkIGJlIGRpc2FsbG93ZWQgYnkgVW5pY29kZSBwYXR0ZXJuc1x1MjAxOSBzdHJpY3RlciBncmFtbWFyLlxuXHRyZXR1cm4gc3RyaW5nXG5cdFx0LnJlcGxhY2UoL1t8XFxcXHt9KClbXFxdXiQrKj8uXS9nLCAnXFxcXCQmJylcblx0XHQucmVwbGFjZSgvLS9nLCAnXFxcXHgyZCcpO1xufVxuIiwgImNvbnN0IHJlcGxhY2VtZW50cyA9IFtcblx0Ly8gR2VybWFuIHVtbGF1dHNcblx0WydcdTAwREYnLCAnc3MnXSxcblx0WydcdTFFOUUnLCAnU3MnXSxcblx0WydcdTAwRTQnLCAnYWUnXSxcblx0WydcdTAwQzQnLCAnQWUnXSxcblx0WydcdTAwRjYnLCAnb2UnXSxcblx0WydcdTAwRDYnLCAnT2UnXSxcblx0WydcdTAwRkMnLCAndWUnXSxcblx0WydcdTAwREMnLCAnVWUnXSxcblxuXHQvLyBMYXRpblxuXHRbJ1x1MDBDMCcsICdBJ10sXG5cdFsnXHUwMEMxJywgJ0EnXSxcblx0WydcdTAwQzInLCAnQSddLFxuXHRbJ1x1MDBDMycsICdBJ10sXG5cdFsnXHUwMEM0JywgJ0FlJ10sXG5cdFsnXHUwMEM1JywgJ0EnXSxcblx0WydcdTAwQzYnLCAnQUUnXSxcblx0WydcdTAwQzcnLCAnQyddLFxuXHRbJ1x1MDBDOCcsICdFJ10sXG5cdFsnXHUwMEM5JywgJ0UnXSxcblx0WydcdTAwQ0EnLCAnRSddLFxuXHRbJ1x1MDBDQicsICdFJ10sXG5cdFsnXHUwMENDJywgJ0knXSxcblx0WydcdTAwQ0QnLCAnSSddLFxuXHRbJ1x1MDBDRScsICdJJ10sXG5cdFsnXHUwMENGJywgJ0knXSxcblx0WydcdTAwRDAnLCAnRCddLFxuXHRbJ1x1MDBEMScsICdOJ10sXG5cdFsnXHUwMEQyJywgJ08nXSxcblx0WydcdTAwRDMnLCAnTyddLFxuXHRbJ1x1MDBENCcsICdPJ10sXG5cdFsnXHUwMEQ1JywgJ08nXSxcblx0WydcdTAwRDYnLCAnT2UnXSxcblx0WydcdTAxNTAnLCAnTyddLFxuXHRbJ1x1MDBEOCcsICdPJ10sXG5cdFsnXHUwMEQ5JywgJ1UnXSxcblx0WydcdTAwREEnLCAnVSddLFxuXHRbJ1x1MDBEQicsICdVJ10sXG5cdFsnXHUwMERDJywgJ1VlJ10sXG5cdFsnXHUwMTcwJywgJ1UnXSxcblx0WydcdTAwREQnLCAnWSddLFxuXHRbJ1x1MDBERScsICdUSCddLFxuXHRbJ1x1MDBERicsICdzcyddLFxuXHRbJ1x1MDBFMCcsICdhJ10sXG5cdFsnXHUwMEUxJywgJ2EnXSxcblx0WydcdTAwRTInLCAnYSddLFxuXHRbJ1x1MDBFMycsICdhJ10sXG5cdFsnXHUwMEU0JywgJ2FlJ10sXG5cdFsnXHUwMEU1JywgJ2EnXSxcblx0WydcdTAwRTYnLCAnYWUnXSxcblx0WydcdTAwRTcnLCAnYyddLFxuXHRbJ1x1MDBFOCcsICdlJ10sXG5cdFsnXHUwMEU5JywgJ2UnXSxcblx0WydcdTAwRUEnLCAnZSddLFxuXHRbJ1x1MDBFQicsICdlJ10sXG5cdFsnXHUwMEVDJywgJ2knXSxcblx0WydcdTAwRUQnLCAnaSddLFxuXHRbJ1x1MDBFRScsICdpJ10sXG5cdFsnXHUwMEVGJywgJ2knXSxcblx0WydcdTAwRjAnLCAnZCddLFxuXHRbJ1x1MDBGMScsICduJ10sXG5cdFsnXHUwMEYyJywgJ28nXSxcblx0WydcdTAwRjMnLCAnbyddLFxuXHRbJ1x1MDBGNCcsICdvJ10sXG5cdFsnXHUwMEY1JywgJ28nXSxcblx0WydcdTAwRjYnLCAnb2UnXSxcblx0WydcdTAxNTEnLCAnbyddLFxuXHRbJ1x1MDBGOCcsICdvJ10sXG5cdFsnXHUwMEY5JywgJ3UnXSxcblx0WydcdTAwRkEnLCAndSddLFxuXHRbJ1x1MDBGQicsICd1J10sXG5cdFsnXHUwMEZDJywgJ3VlJ10sXG5cdFsnXHUwMTcxJywgJ3UnXSxcblx0WydcdTAwRkQnLCAneSddLFxuXHRbJ1x1MDBGRScsICd0aCddLFxuXHRbJ1x1MDBGRicsICd5J10sXG5cdFsnXHUxRTlFJywgJ1NTJ10sXG5cblx0Ly8gVmlldG5hbWVzZVxuXHRbJ1x1MDBFMCcsICdhJ10sXG5cdFsnXHUwMEMwJywgJ0EnXSxcblx0WydcdTAwRTEnLCAnYSddLFxuXHRbJ1x1MDBDMScsICdBJ10sXG5cdFsnXHUwMEUyJywgJ2EnXSxcblx0WydcdTAwQzInLCAnQSddLFxuXHRbJ1x1MDBFMycsICdhJ10sXG5cdFsnXHUwMEMzJywgJ0EnXSxcblx0WydcdTAwRTgnLCAnZSddLFxuXHRbJ1x1MDBDOCcsICdFJ10sXG5cdFsnXHUwMEU5JywgJ2UnXSxcblx0WydcdTAwQzknLCAnRSddLFxuXHRbJ1x1MDBFQScsICdlJ10sXG5cdFsnXHUwMENBJywgJ0UnXSxcblx0WydcdTAwRUMnLCAnaSddLFxuXHRbJ1x1MDBDQycsICdJJ10sXG5cdFsnXHUwMEVEJywgJ2knXSxcblx0WydcdTAwQ0QnLCAnSSddLFxuXHRbJ1x1MDBGMicsICdvJ10sXG5cdFsnXHUwMEQyJywgJ08nXSxcblx0WydcdTAwRjMnLCAnbyddLFxuXHRbJ1x1MDBEMycsICdPJ10sXG5cdFsnXHUwMEY0JywgJ28nXSxcblx0WydcdTAwRDQnLCAnTyddLFxuXHRbJ1x1MDBGNScsICdvJ10sXG5cdFsnXHUwMEQ1JywgJ08nXSxcblx0WydcdTAwRjknLCAndSddLFxuXHRbJ1x1MDBEOScsICdVJ10sXG5cdFsnXHUwMEZBJywgJ3UnXSxcblx0WydcdTAwREEnLCAnVSddLFxuXHRbJ1x1MDBGRCcsICd5J10sXG5cdFsnXHUwMEREJywgJ1knXSxcblx0WydcdTAxMDMnLCAnYSddLFxuXHRbJ1x1MDEwMicsICdBJ10sXG5cdFsnXHUwMTEwJywgJ0QnXSxcblx0WydcdTAxMTEnLCAnZCddLFxuXHRbJ1x1MDEyOScsICdpJ10sXG5cdFsnXHUwMTI4JywgJ0knXSxcblx0WydcdTAxNjknLCAndSddLFxuXHRbJ1x1MDE2OCcsICdVJ10sXG5cdFsnXHUwMUExJywgJ28nXSxcblx0WydcdTAxQTAnLCAnTyddLFxuXHRbJ1x1MDFCMCcsICd1J10sXG5cdFsnXHUwMUFGJywgJ1UnXSxcblx0WydcdTFFQTEnLCAnYSddLFxuXHRbJ1x1MUVBMCcsICdBJ10sXG5cdFsnXHUxRUEzJywgJ2EnXSxcblx0WydcdTFFQTInLCAnQSddLFxuXHRbJ1x1MUVBNScsICdhJ10sXG5cdFsnXHUxRUE0JywgJ0EnXSxcblx0WydcdTFFQTcnLCAnYSddLFxuXHRbJ1x1MUVBNicsICdBJ10sXG5cdFsnXHUxRUE5JywgJ2EnXSxcblx0WydcdTFFQTgnLCAnQSddLFxuXHRbJ1x1MUVBQicsICdhJ10sXG5cdFsnXHUxRUFBJywgJ0EnXSxcblx0WydcdTFFQUQnLCAnYSddLFxuXHRbJ1x1MUVBQycsICdBJ10sXG5cdFsnXHUxRUFGJywgJ2EnXSxcblx0WydcdTFFQUUnLCAnQSddLFxuXHRbJ1x1MUVCMScsICdhJ10sXG5cdFsnXHUxRUIwJywgJ0EnXSxcblx0WydcdTFFQjMnLCAnYSddLFxuXHRbJ1x1MUVCMicsICdBJ10sXG5cdFsnXHUxRUI1JywgJ2EnXSxcblx0WydcdTFFQjQnLCAnQSddLFxuXHRbJ1x1MUVCNycsICdhJ10sXG5cdFsnXHUxRUI2JywgJ0EnXSxcblx0WydcdTFFQjknLCAnZSddLFxuXHRbJ1x1MUVCOCcsICdFJ10sXG5cdFsnXHUxRUJCJywgJ2UnXSxcblx0WydcdTFFQkEnLCAnRSddLFxuXHRbJ1x1MUVCRCcsICdlJ10sXG5cdFsnXHUxRUJDJywgJ0UnXSxcblx0WydcdTFFQkYnLCAnZSddLFxuXHRbJ1x1MUVCRScsICdFJ10sXG5cdFsnXHUxRUMxJywgJ2UnXSxcblx0WydcdTFFQzAnLCAnRSddLFxuXHRbJ1x1MUVDMycsICdlJ10sXG5cdFsnXHUxRUMyJywgJ0UnXSxcblx0WydcdTFFQzUnLCAnZSddLFxuXHRbJ1x1MUVDNCcsICdFJ10sXG5cdFsnXHUxRUM3JywgJ2UnXSxcblx0WydcdTFFQzYnLCAnRSddLFxuXHRbJ1x1MUVDOScsICdpJ10sXG5cdFsnXHUxRUM4JywgJ0knXSxcblx0WydcdTFFQ0InLCAnaSddLFxuXHRbJ1x1MUVDQScsICdJJ10sXG5cdFsnXHUxRUNEJywgJ28nXSxcblx0WydcdTFFQ0MnLCAnTyddLFxuXHRbJ1x1MUVDRicsICdvJ10sXG5cdFsnXHUxRUNFJywgJ08nXSxcblx0WydcdTFFRDEnLCAnbyddLFxuXHRbJ1x1MUVEMCcsICdPJ10sXG5cdFsnXHUxRUQzJywgJ28nXSxcblx0WydcdTFFRDInLCAnTyddLFxuXHRbJ1x1MUVENScsICdvJ10sXG5cdFsnXHUxRUQ0JywgJ08nXSxcblx0WydcdTFFRDcnLCAnbyddLFxuXHRbJ1x1MUVENicsICdPJ10sXG5cdFsnXHUxRUQ5JywgJ28nXSxcblx0WydcdTFFRDgnLCAnTyddLFxuXHRbJ1x1MUVEQicsICdvJ10sXG5cdFsnXHUxRURBJywgJ08nXSxcblx0WydcdTFFREQnLCAnbyddLFxuXHRbJ1x1MUVEQycsICdPJ10sXG5cdFsnXHUxRURGJywgJ28nXSxcblx0WydcdTFFREUnLCAnTyddLFxuXHRbJ1x1MUVFMScsICdvJ10sXG5cdFsnXHUxRUUwJywgJ08nXSxcblx0WydcdTFFRTMnLCAnbyddLFxuXHRbJ1x1MUVFMicsICdPJ10sXG5cdFsnXHUxRUU1JywgJ3UnXSxcblx0WydcdTFFRTQnLCAnVSddLFxuXHRbJ1x1MUVFNycsICd1J10sXG5cdFsnXHUxRUU2JywgJ1UnXSxcblx0WydcdTFFRTknLCAndSddLFxuXHRbJ1x1MUVFOCcsICdVJ10sXG5cdFsnXHUxRUVCJywgJ3UnXSxcblx0WydcdTFFRUEnLCAnVSddLFxuXHRbJ1x1MUVFRCcsICd1J10sXG5cdFsnXHUxRUVDJywgJ1UnXSxcblx0WydcdTFFRUYnLCAndSddLFxuXHRbJ1x1MUVFRScsICdVJ10sXG5cdFsnXHUxRUYxJywgJ3UnXSxcblx0WydcdTFFRjAnLCAnVSddLFxuXHRbJ1x1MUVGMycsICd5J10sXG5cdFsnXHUxRUYyJywgJ1knXSxcblx0WydcdTFFRjUnLCAneSddLFxuXHRbJ1x1MUVGNCcsICdZJ10sXG5cdFsnXHUxRUY3JywgJ3knXSxcblx0WydcdTFFRjYnLCAnWSddLFxuXHRbJ1x1MUVGOScsICd5J10sXG5cdFsnXHUxRUY4JywgJ1knXSxcblxuXHQvLyBBcmFiaWNcblx0WydcdTA2MjEnLCAnZSddLFxuXHRbJ1x1MDYyMicsICdhJ10sXG5cdFsnXHUwNjIzJywgJ2EnXSxcblx0WydcdTA2MjQnLCAndyddLFxuXHRbJ1x1MDYyNScsICdpJ10sXG5cdFsnXHUwNjI2JywgJ3knXSxcblx0WydcdTA2MjcnLCAnYSddLFxuXHRbJ1x1MDYyOCcsICdiJ10sXG5cdFsnXHUwNjI5JywgJ3QnXSxcblx0WydcdTA2MkEnLCAndCddLFxuXHRbJ1x1MDYyQicsICd0aCddLFxuXHRbJ1x1MDYyQycsICdqJ10sXG5cdFsnXHUwNjJEJywgJ2gnXSxcblx0WydcdTA2MkUnLCAna2gnXSxcblx0WydcdTA2MkYnLCAnZCddLFxuXHRbJ1x1MDYzMCcsICdkaCddLFxuXHRbJ1x1MDYzMScsICdyJ10sXG5cdFsnXHUwNjMyJywgJ3onXSxcblx0WydcdTA2MzMnLCAncyddLFxuXHRbJ1x1MDYzNCcsICdzaCddLFxuXHRbJ1x1MDYzNScsICdzJ10sXG5cdFsnXHUwNjM2JywgJ2QnXSxcblx0WydcdTA2MzcnLCAndCddLFxuXHRbJ1x1MDYzOCcsICd6J10sXG5cdFsnXHUwNjM5JywgJ2UnXSxcblx0WydcdTA2M0EnLCAnZ2gnXSxcblx0WydcdTA2NDAnLCAnXyddLFxuXHRbJ1x1MDY0MScsICdmJ10sXG5cdFsnXHUwNjQyJywgJ3EnXSxcblx0WydcdTA2NDMnLCAnayddLFxuXHRbJ1x1MDY0NCcsICdsJ10sXG5cdFsnXHUwNjQ1JywgJ20nXSxcblx0WydcdTA2NDYnLCAnbiddLFxuXHRbJ1x1MDY0NycsICdoJ10sXG5cdFsnXHUwNjQ4JywgJ3cnXSxcblx0WydcdTA2NDknLCAnYSddLFxuXHRbJ1x1MDY0QScsICd5J10sXG5cdFsnXHUwNjRFXHUyMDBFJywgJ2EnXSxcblx0WydcdTA2NEYnLCAndSddLFxuXHRbJ1x1MDY1MFx1MjAwRScsICdpJ10sXG5cdFsnXHUwNjYwJywgJzAnXSxcblx0WydcdTA2NjEnLCAnMSddLFxuXHRbJ1x1MDY2MicsICcyJ10sXG5cdFsnXHUwNjYzJywgJzMnXSxcblx0WydcdTA2NjQnLCAnNCddLFxuXHRbJ1x1MDY2NScsICc1J10sXG5cdFsnXHUwNjY2JywgJzYnXSxcblx0WydcdTA2NjcnLCAnNyddLFxuXHRbJ1x1MDY2OCcsICc4J10sXG5cdFsnXHUwNjY5JywgJzknXSxcblxuXHQvLyBQZXJzaWFuIC8gRmFyc2lcblx0WydcdTA2ODYnLCAnY2gnXSxcblx0WydcdTA2QTknLCAnayddLFxuXHRbJ1x1MDZBRicsICdnJ10sXG5cdFsnXHUwNjdFJywgJ3AnXSxcblx0WydcdTA2OTgnLCAnemgnXSxcblx0WydcdTA2Q0MnLCAneSddLFxuXHRbJ1x1MDZGMCcsICcwJ10sXG5cdFsnXHUwNkYxJywgJzEnXSxcblx0WydcdTA2RjInLCAnMiddLFxuXHRbJ1x1MDZGMycsICczJ10sXG5cdFsnXHUwNkY0JywgJzQnXSxcblx0WydcdTA2RjUnLCAnNSddLFxuXHRbJ1x1MDZGNicsICc2J10sXG5cdFsnXHUwNkY3JywgJzcnXSxcblx0WydcdTA2RjgnLCAnOCddLFxuXHRbJ1x1MDZGOScsICc5J10sXG5cblx0Ly8gUGFzaHRvXG5cdFsnXHUwNjdDJywgJ3AnXSxcblx0WydcdTA2ODEnLCAneiddLFxuXHRbJ1x1MDY4NScsICdjJ10sXG5cdFsnXHUwNjg5JywgJ2QnXSxcblx0WydcdUZFQUInLCAnZCddLFxuXHRbJ1x1RkVBRCcsICdyJ10sXG5cdFsnXHUwNjkzJywgJ3InXSxcblx0WydcdUZFQUYnLCAneiddLFxuXHRbJ1x1MDY5NicsICdnJ10sXG5cdFsnXHUwNjlBJywgJ3gnXSxcblx0WydcdTA2QUInLCAnZyddLFxuXHRbJ1x1MDZCQycsICduJ10sXG5cdFsnXHUwNkMwJywgJ2UnXSxcblx0WydcdTA2RDAnLCAnZSddLFxuXHRbJ1x1MDZDRCcsICdhaSddLFxuXG5cdC8vIFVyZHVcblx0WydcdTA2NzknLCAndCddLFxuXHRbJ1x1MDY4OCcsICdkJ10sXG5cdFsnXHUwNjkxJywgJ3InXSxcblx0WydcdTA2QkEnLCAnbiddLFxuXHRbJ1x1MDZDMScsICdoJ10sXG5cdFsnXHUwNkJFJywgJ2gnXSxcblx0WydcdTA2RDInLCAnZSddLFxuXG5cdC8vIFJ1c3NpYW5cblx0WydcdTA0MTAnLCAnQSddLFxuXHRbJ1x1MDQzMCcsICdhJ10sXG5cdFsnXHUwNDExJywgJ0InXSxcblx0WydcdTA0MzEnLCAnYiddLFxuXHRbJ1x1MDQxMicsICdWJ10sXG5cdFsnXHUwNDMyJywgJ3YnXSxcblx0WydcdTA0MTMnLCAnRyddLFxuXHRbJ1x1MDQzMycsICdnJ10sXG5cdFsnXHUwNDE0JywgJ0QnXSxcblx0WydcdTA0MzQnLCAnZCddLFxuXHRbJ1x1MDQ0QVx1MDQzNScsICd5ZSddLFxuXHRbJ1x1MDQyQVx1MDQzNScsICdZZSddLFxuXHRbJ1x1MDQ0QVx1MDQxNScsICd5RSddLFxuXHRbJ1x1MDQyQVx1MDQxNScsICdZRSddLFxuXHRbJ1x1MDQxNScsICdFJ10sXG5cdFsnXHUwNDM1JywgJ2UnXSxcblx0WydcdTA0MDEnLCAnWW8nXSxcblx0WydcdTA0NTEnLCAneW8nXSxcblx0WydcdTA0MTYnLCAnWmgnXSxcblx0WydcdTA0MzYnLCAnemgnXSxcblx0WydcdTA0MTcnLCAnWiddLFxuXHRbJ1x1MDQzNycsICd6J10sXG5cdFsnXHUwNDE4JywgJ0knXSxcblx0WydcdTA0MzgnLCAnaSddLFxuXHRbJ1x1MDQ0Qlx1MDQzOScsICdpeSddLFxuXHRbJ1x1MDQyQlx1MDQzOScsICdJeSddLFxuXHRbJ1x1MDQyQlx1MDQxOScsICdJWSddLFxuXHRbJ1x1MDQ0Qlx1MDQxOScsICdpWSddLFxuXHRbJ1x1MDQxOScsICdZJ10sXG5cdFsnXHUwNDM5JywgJ3knXSxcblx0WydcdTA0MUEnLCAnSyddLFxuXHRbJ1x1MDQzQScsICdrJ10sXG5cdFsnXHUwNDFCJywgJ0wnXSxcblx0WydcdTA0M0InLCAnbCddLFxuXHRbJ1x1MDQxQycsICdNJ10sXG5cdFsnXHUwNDNDJywgJ20nXSxcblx0WydcdTA0MUQnLCAnTiddLFxuXHRbJ1x1MDQzRCcsICduJ10sXG5cdFsnXHUwNDFFJywgJ08nXSxcblx0WydcdTA0M0UnLCAnbyddLFxuXHRbJ1x1MDQxRicsICdQJ10sXG5cdFsnXHUwNDNGJywgJ3AnXSxcblx0WydcdTA0MjAnLCAnUiddLFxuXHRbJ1x1MDQ0MCcsICdyJ10sXG5cdFsnXHUwNDIxJywgJ1MnXSxcblx0WydcdTA0NDEnLCAncyddLFxuXHRbJ1x1MDQyMicsICdUJ10sXG5cdFsnXHUwNDQyJywgJ3QnXSxcblx0WydcdTA0MjMnLCAnVSddLFxuXHRbJ1x1MDQ0MycsICd1J10sXG5cdFsnXHUwNDI0JywgJ0YnXSxcblx0WydcdTA0NDQnLCAnZiddLFxuXHRbJ1x1MDQyNScsICdLaCddLFxuXHRbJ1x1MDQ0NScsICdraCddLFxuXHRbJ1x1MDQyNicsICdUcyddLFxuXHRbJ1x1MDQ0NicsICd0cyddLFxuXHRbJ1x1MDQyNycsICdDaCddLFxuXHRbJ1x1MDQ0NycsICdjaCddLFxuXHRbJ1x1MDQyOCcsICdTaCddLFxuXHRbJ1x1MDQ0OCcsICdzaCddLFxuXHRbJ1x1MDQyOScsICdTY2gnXSxcblx0WydcdTA0NDknLCAnc2NoJ10sXG5cdFsnXHUwNDJBJywgJyddLFxuXHRbJ1x1MDQ0QScsICcnXSxcblx0WydcdTA0MkInLCAnWSddLFxuXHRbJ1x1MDQ0QicsICd5J10sXG5cdFsnXHUwNDJDJywgJyddLFxuXHRbJ1x1MDQ0QycsICcnXSxcblx0WydcdTA0MkQnLCAnRSddLFxuXHRbJ1x1MDQ0RCcsICdlJ10sXG5cdFsnXHUwNDJFJywgJ1l1J10sXG5cdFsnXHUwNDRFJywgJ3l1J10sXG5cdFsnXHUwNDJGJywgJ1lhJ10sXG5cdFsnXHUwNDRGJywgJ3lhJ10sXG5cblx0Ly8gUm9tYW5pYW5cblx0WydcdTAxMDMnLCAnYSddLFxuXHRbJ1x1MDEwMicsICdBJ10sXG5cdFsnXHUwMjE5JywgJ3MnXSxcblx0WydcdTAyMTgnLCAnUyddLFxuXHRbJ1x1MDIxQicsICd0J10sXG5cdFsnXHUwMjFBJywgJ1QnXSxcblx0WydcdTAxNjMnLCAndCddLFxuXHRbJ1x1MDE2MicsICdUJ10sXG5cblx0Ly8gVHVya2lzaFxuXHRbJ1x1MDE1RicsICdzJ10sXG5cdFsnXHUwMTVFJywgJ1MnXSxcblx0WydcdTAwRTcnLCAnYyddLFxuXHRbJ1x1MDBDNycsICdDJ10sXG5cdFsnXHUwMTFGJywgJ2cnXSxcblx0WydcdTAxMUUnLCAnRyddLFxuXHRbJ1x1MDEzMScsICdpJ10sXG5cdFsnXHUwMTMwJywgJ0knXSxcblxuXHQvLyBBcm1lbmlhblxuXHRbJ1x1MDU2MScsICdhJ10sXG5cdFsnXHUwNTMxJywgJ0EnXSxcblx0WydcdTA1NjInLCAnYiddLFxuXHRbJ1x1MDUzMicsICdCJ10sXG5cdFsnXHUwNTYzJywgJ2cnXSxcblx0WydcdTA1MzMnLCAnRyddLFxuXHRbJ1x1MDU2NCcsICdkJ10sXG5cdFsnXHUwNTM0JywgJ0QnXSxcblx0WydcdTA1NjUnLCAneWUnXSxcblx0WydcdTA1MzUnLCAnWWUnXSxcblx0WydcdTA1NjYnLCAneiddLFxuXHRbJ1x1MDUzNicsICdaJ10sXG5cdFsnXHUwNTY3JywgJ2UnXSxcblx0WydcdTA1MzcnLCAnRSddLFxuXHRbJ1x1MDU2OCcsICd5J10sXG5cdFsnXHUwNTM4JywgJ1knXSxcblx0WydcdTA1NjknLCAndCddLFxuXHRbJ1x1MDUzOScsICdUJ10sXG5cdFsnXHUwNTZBJywgJ3poJ10sXG5cdFsnXHUwNTNBJywgJ1poJ10sXG5cdFsnXHUwNTZCJywgJ2knXSxcblx0WydcdTA1M0InLCAnSSddLFxuXHRbJ1x1MDU2QycsICdsJ10sXG5cdFsnXHUwNTNDJywgJ0wnXSxcblx0WydcdTA1NkQnLCAna2gnXSxcblx0WydcdTA1M0QnLCAnS2gnXSxcblx0WydcdTA1NkUnLCAndHMnXSxcblx0WydcdTA1M0UnLCAnVHMnXSxcblx0WydcdTA1NkYnLCAnayddLFxuXHRbJ1x1MDUzRicsICdLJ10sXG5cdFsnXHUwNTcwJywgJ2gnXSxcblx0WydcdTA1NDAnLCAnSCddLFxuXHRbJ1x1MDU3MScsICdkeiddLFxuXHRbJ1x1MDU0MScsICdEeiddLFxuXHRbJ1x1MDU3MicsICdnaCddLFxuXHRbJ1x1MDU0MicsICdHaCddLFxuXHRbJ1x1MDU3MycsICd0Y2gnXSxcblx0WydcdTA1NDMnLCAnVGNoJ10sXG5cdFsnXHUwNTc0JywgJ20nXSxcblx0WydcdTA1NDQnLCAnTSddLFxuXHRbJ1x1MDU3NScsICd5J10sXG5cdFsnXHUwNTQ1JywgJ1knXSxcblx0WydcdTA1NzYnLCAnbiddLFxuXHRbJ1x1MDU0NicsICdOJ10sXG5cdFsnXHUwNTc3JywgJ3NoJ10sXG5cdFsnXHUwNTQ3JywgJ1NoJ10sXG5cdFsnXHUwNTc4JywgJ3ZvJ10sXG5cdFsnXHUwNTQ4JywgJ1ZvJ10sXG5cdFsnXHUwNTc5JywgJ2NoJ10sXG5cdFsnXHUwNTQ5JywgJ0NoJ10sXG5cdFsnXHUwNTdBJywgJ3AnXSxcblx0WydcdTA1NEEnLCAnUCddLFxuXHRbJ1x1MDU3QicsICdqJ10sXG5cdFsnXHUwNTRCJywgJ0onXSxcblx0WydcdTA1N0MnLCAnciddLFxuXHRbJ1x1MDU0QycsICdSJ10sXG5cdFsnXHUwNTdEJywgJ3MnXSxcblx0WydcdTA1NEQnLCAnUyddLFxuXHRbJ1x1MDU3RScsICd2J10sXG5cdFsnXHUwNTRFJywgJ1YnXSxcblx0WydcdTA1N0YnLCAndCddLFxuXHRbJ1x1MDU0RicsICdUJ10sXG5cdFsnXHUwNTgwJywgJ3InXSxcblx0WydcdTA1NTAnLCAnUiddLFxuXHRbJ1x1MDU4MScsICdjJ10sXG5cdFsnXHUwNTUxJywgJ0MnXSxcblx0WydcdTA1NzhcdTA1ODInLCAndSddLFxuXHRbJ1x1MDU0OFx1MDU1MicsICdVJ10sXG5cdFsnXHUwNTQ4XHUwNTgyJywgJ1UnXSxcblx0WydcdTA1ODMnLCAncCddLFxuXHRbJ1x1MDU1MycsICdQJ10sXG5cdFsnXHUwNTg0JywgJ3EnXSxcblx0WydcdTA1NTQnLCAnUSddLFxuXHRbJ1x1MDU4NScsICdvJ10sXG5cdFsnXHUwNTU1JywgJ08nXSxcblx0WydcdTA1ODYnLCAnZiddLFxuXHRbJ1x1MDU1NicsICdGJ10sXG5cdFsnXHUwNTg3JywgJ3lldiddLFxuXG5cdC8vIEdlb3JnaWFuXG5cdFsnXHUxMEQwJywgJ2EnXSxcblx0WydcdTEwRDEnLCAnYiddLFxuXHRbJ1x1MTBEMicsICdnJ10sXG5cdFsnXHUxMEQzJywgJ2QnXSxcblx0WydcdTEwRDQnLCAnZSddLFxuXHRbJ1x1MTBENScsICd2J10sXG5cdFsnXHUxMEQ2JywgJ3onXSxcblx0WydcdTEwRDcnLCAndCddLFxuXHRbJ1x1MTBEOCcsICdpJ10sXG5cdFsnXHUxMEQ5JywgJ2snXSxcblx0WydcdTEwREEnLCAnbCddLFxuXHRbJ1x1MTBEQicsICdtJ10sXG5cdFsnXHUxMERDJywgJ24nXSxcblx0WydcdTEwREQnLCAnbyddLFxuXHRbJ1x1MTBERScsICdwJ10sXG5cdFsnXHUxMERGJywgJ3poJ10sXG5cdFsnXHUxMEUwJywgJ3InXSxcblx0WydcdTEwRTEnLCAncyddLFxuXHRbJ1x1MTBFMicsICd0J10sXG5cdFsnXHUxMEUzJywgJ3UnXSxcblx0WydcdTEwRTQnLCAncGgnXSxcblx0WydcdTEwRTUnLCAncSddLFxuXHRbJ1x1MTBFNicsICdnaCddLFxuXHRbJ1x1MTBFNycsICdrJ10sXG5cdFsnXHUxMEU4JywgJ3NoJ10sXG5cdFsnXHUxMEU5JywgJ2NoJ10sXG5cdFsnXHUxMEVBJywgJ3RzJ10sXG5cdFsnXHUxMEVCJywgJ2R6J10sXG5cdFsnXHUxMEVDJywgJ3RzJ10sXG5cdFsnXHUxMEVEJywgJ3RjaCddLFxuXHRbJ1x1MTBFRScsICdraCddLFxuXHRbJ1x1MTBFRicsICdqJ10sXG5cdFsnXHUxMEYwJywgJ2gnXSxcblxuXHQvLyBDemVjaFxuXHRbJ1x1MDEwRCcsICdjJ10sXG5cdFsnXHUwMTBGJywgJ2QnXSxcblx0WydcdTAxMUInLCAnZSddLFxuXHRbJ1x1MDE0OCcsICduJ10sXG5cdFsnXHUwMTU5JywgJ3InXSxcblx0WydcdTAxNjEnLCAncyddLFxuXHRbJ1x1MDE2NScsICd0J10sXG5cdFsnXHUwMTZGJywgJ3UnXSxcblx0WydcdTAxN0UnLCAneiddLFxuXHRbJ1x1MDEwQycsICdDJ10sXG5cdFsnXHUwMTBFJywgJ0QnXSxcblx0WydcdTAxMUEnLCAnRSddLFxuXHRbJ1x1MDE0NycsICdOJ10sXG5cdFsnXHUwMTU4JywgJ1InXSxcblx0WydcdTAxNjAnLCAnUyddLFxuXHRbJ1x1MDE2NCcsICdUJ10sXG5cdFsnXHUwMTZFJywgJ1UnXSxcblx0WydcdTAxN0QnLCAnWiddLFxuXG5cdC8vIERoaXZlaGlcblx0WydcdTA3ODAnLCAnaCddLFxuXHRbJ1x1MDc4MScsICdzaCddLFxuXHRbJ1x1MDc4MicsICduJ10sXG5cdFsnXHUwNzgzJywgJ3InXSxcblx0WydcdTA3ODQnLCAnYiddLFxuXHRbJ1x1MDc4NScsICdsaCddLFxuXHRbJ1x1MDc4NicsICdrJ10sXG5cdFsnXHUwNzg3JywgJ2EnXSxcblx0WydcdTA3ODgnLCAndiddLFxuXHRbJ1x1MDc4OScsICdtJ10sXG5cdFsnXHUwNzhBJywgJ2YnXSxcblx0WydcdTA3OEInLCAnZGgnXSxcblx0WydcdTA3OEMnLCAndGgnXSxcblx0WydcdTA3OEQnLCAnbCddLFxuXHRbJ1x1MDc4RScsICdnJ10sXG5cdFsnXHUwNzhGJywgJ2duJ10sXG5cdFsnXHUwNzkwJywgJ3MnXSxcblx0WydcdTA3OTEnLCAnZCddLFxuXHRbJ1x1MDc5MicsICd6J10sXG5cdFsnXHUwNzkzJywgJ3QnXSxcblx0WydcdTA3OTQnLCAneSddLFxuXHRbJ1x1MDc5NScsICdwJ10sXG5cdFsnXHUwNzk2JywgJ2onXSxcblx0WydcdTA3OTcnLCAnY2gnXSxcblx0WydcdTA3OTgnLCAndHQnXSxcblx0WydcdTA3OTknLCAnaGgnXSxcblx0WydcdTA3OUEnLCAna2gnXSxcblx0WydcdTA3OUInLCAndGgnXSxcblx0WydcdTA3OUMnLCAneiddLFxuXHRbJ1x1MDc5RCcsICdzaCddLFxuXHRbJ1x1MDc5RScsICdzJ10sXG5cdFsnXHUwNzlGJywgJ2QnXSxcblx0WydcdTA3QTAnLCAndCddLFxuXHRbJ1x1MDdBMScsICd6J10sXG5cdFsnXHUwN0EyJywgJ2EnXSxcblx0WydcdTA3QTMnLCAnZ2gnXSxcblx0WydcdTA3QTQnLCAncSddLFxuXHRbJ1x1MDdBNScsICd3J10sXG5cdFsnXHUwN0E2JywgJ2EnXSxcblx0WydcdTA3QTcnLCAnYWEnXSxcblx0WydcdTA3QTgnLCAnaSddLFxuXHRbJ1x1MDdBOScsICdlZSddLFxuXHRbJ1x1MDdBQScsICd1J10sXG5cdFsnXHUwN0FCJywgJ29vJ10sXG5cdFsnXHUwN0FDJywgJ2UnXSxcblx0WydcdTA3QUQnLCAnZXknXSxcblx0WydcdTA3QUUnLCAnbyddLFxuXHRbJ1x1MDdBRicsICdvYSddLFxuXHRbJ1x1MDdCMCcsICcnXSxcblxuXHQvLyBHcmVla1xuXHRbJ1x1MDNCMScsICdhJ10sXG5cdFsnXHUwM0IyJywgJ3YnXSxcblx0WydcdTAzQjMnLCAnZyddLFxuXHRbJ1x1MDNCNCcsICdkJ10sXG5cdFsnXHUwM0I1JywgJ2UnXSxcblx0WydcdTAzQjYnLCAneiddLFxuXHRbJ1x1MDNCNycsICdpJ10sXG5cdFsnXHUwM0I4JywgJ3RoJ10sXG5cdFsnXHUwM0I5JywgJ2knXSxcblx0WydcdTAzQkEnLCAnayddLFxuXHRbJ1x1MDNCQicsICdsJ10sXG5cdFsnXHUwM0JDJywgJ20nXSxcblx0WydcdTAzQkQnLCAnbiddLFxuXHRbJ1x1MDNCRScsICdrcyddLFxuXHRbJ1x1MDNCRicsICdvJ10sXG5cdFsnXHUwM0MwJywgJ3AnXSxcblx0WydcdTAzQzEnLCAnciddLFxuXHRbJ1x1MDNDMycsICdzJ10sXG5cdFsnXHUwM0M0JywgJ3QnXSxcblx0WydcdTAzQzUnLCAneSddLFxuXHRbJ1x1MDNDNicsICdmJ10sXG5cdFsnXHUwM0M3JywgJ3gnXSxcblx0WydcdTAzQzgnLCAncHMnXSxcblx0WydcdTAzQzknLCAnbyddLFxuXHRbJ1x1MDNBQycsICdhJ10sXG5cdFsnXHUwM0FEJywgJ2UnXSxcblx0WydcdTAzQUYnLCAnaSddLFxuXHRbJ1x1MDNDQycsICdvJ10sXG5cdFsnXHUwM0NEJywgJ3knXSxcblx0WydcdTAzQUUnLCAnaSddLFxuXHRbJ1x1MDNDRScsICdvJ10sXG5cdFsnXHUwM0MyJywgJ3MnXSxcblx0WydcdTAzQ0EnLCAnaSddLFxuXHRbJ1x1MDNCMCcsICd5J10sXG5cdFsnXHUwM0NCJywgJ3knXSxcblx0WydcdTAzOTAnLCAnaSddLFxuXHRbJ1x1MDM5MScsICdBJ10sXG5cdFsnXHUwMzkyJywgJ0InXSxcblx0WydcdTAzOTMnLCAnRyddLFxuXHRbJ1x1MDM5NCcsICdEJ10sXG5cdFsnXHUwMzk1JywgJ0UnXSxcblx0WydcdTAzOTYnLCAnWiddLFxuXHRbJ1x1MDM5NycsICdJJ10sXG5cdFsnXHUwMzk4JywgJ1RIJ10sXG5cdFsnXHUwMzk5JywgJ0knXSxcblx0WydcdTAzOUEnLCAnSyddLFxuXHRbJ1x1MDM5QicsICdMJ10sXG5cdFsnXHUwMzlDJywgJ00nXSxcblx0WydcdTAzOUQnLCAnTiddLFxuXHRbJ1x1MDM5RScsICdLUyddLFxuXHRbJ1x1MDM5RicsICdPJ10sXG5cdFsnXHUwM0EwJywgJ1AnXSxcblx0WydcdTAzQTEnLCAnUiddLFxuXHRbJ1x1MDNBMycsICdTJ10sXG5cdFsnXHUwM0E0JywgJ1QnXSxcblx0WydcdTAzQTUnLCAnWSddLFxuXHRbJ1x1MDNBNicsICdGJ10sXG5cdFsnXHUwM0E3JywgJ1gnXSxcblx0WydcdTAzQTgnLCAnUFMnXSxcblx0WydcdTAzQTknLCAnTyddLFxuXHRbJ1x1MDM4NicsICdBJ10sXG5cdFsnXHUwMzg4JywgJ0UnXSxcblx0WydcdTAzOEEnLCAnSSddLFxuXHRbJ1x1MDM4QycsICdPJ10sXG5cdFsnXHUwMzhFJywgJ1knXSxcblx0WydcdTAzODknLCAnSSddLFxuXHRbJ1x1MDM4RicsICdPJ10sXG5cdFsnXHUwM0FBJywgJ0knXSxcblx0WydcdTAzQUInLCAnWSddLFxuXG5cdC8vIERpc2FibGVkIGFzIGl0IGNvbmZsaWN0cyB3aXRoIEdlcm1hbiBhbmQgTGF0aW4uXG5cdC8vIEh1bmdhcmlhblxuXHQvLyBbJ1x1MDBFNCcsICdhJ10sXG5cdC8vIFsnXHUwMEM0JywgJ0EnXSxcblx0Ly8gWydcdTAwRjYnLCAnbyddLFxuXHQvLyBbJ1x1MDBENicsICdPJ10sXG5cdC8vIFsnXHUwMEZDJywgJ3UnXSxcblx0Ly8gWydcdTAwREMnLCAnVSddLFxuXHQvLyBbJ1x1MDE3MScsICd1J10sXG5cdC8vIFsnXHUwMTcwJywgJ1UnXSxcblxuXHQvLyBMYXR2aWFuXG5cdFsnXHUwMTAxJywgJ2EnXSxcblx0WydcdTAxMTMnLCAnZSddLFxuXHRbJ1x1MDEyMycsICdnJ10sXG5cdFsnXHUwMTJCJywgJ2knXSxcblx0WydcdTAxMzcnLCAnayddLFxuXHRbJ1x1MDEzQycsICdsJ10sXG5cdFsnXHUwMTQ2JywgJ24nXSxcblx0WydcdTAxNkInLCAndSddLFxuXHRbJ1x1MDEwMCcsICdBJ10sXG5cdFsnXHUwMTEyJywgJ0UnXSxcblx0WydcdTAxMjInLCAnRyddLFxuXHRbJ1x1MDEyQScsICdJJ10sXG5cdFsnXHUwMTM2JywgJ0snXSxcblx0WydcdTAxM0InLCAnTCddLFxuXHRbJ1x1MDE0NScsICdOJ10sXG5cdFsnXHUwMTZBJywgJ1UnXSxcblx0WydcdTAxMEQnLCAnYyddLFxuXHRbJ1x1MDE2MScsICdzJ10sXG5cdFsnXHUwMTdFJywgJ3onXSxcblx0WydcdTAxMEMnLCAnQyddLFxuXHRbJ1x1MDE2MCcsICdTJ10sXG5cdFsnXHUwMTdEJywgJ1onXSxcblxuXHQvLyBMaXRodWFuaWFuXG5cdFsnXHUwMTA1JywgJ2EnXSxcblx0WydcdTAxMEQnLCAnYyddLFxuXHRbJ1x1MDExOScsICdlJ10sXG5cdFsnXHUwMTE3JywgJ2UnXSxcblx0WydcdTAxMkYnLCAnaSddLFxuXHRbJ1x1MDE2MScsICdzJ10sXG5cdFsnXHUwMTczJywgJ3UnXSxcblx0WydcdTAxNkInLCAndSddLFxuXHRbJ1x1MDE3RScsICd6J10sXG5cdFsnXHUwMTA0JywgJ0EnXSxcblx0WydcdTAxMEMnLCAnQyddLFxuXHRbJ1x1MDExOCcsICdFJ10sXG5cdFsnXHUwMTE2JywgJ0UnXSxcblx0WydcdTAxMkUnLCAnSSddLFxuXHRbJ1x1MDE2MCcsICdTJ10sXG5cdFsnXHUwMTcyJywgJ1UnXSxcblx0WydcdTAxNkEnLCAnVSddLFxuXG5cdC8vIE1hY2Vkb25pYW5cblx0WydcdTA0MEMnLCAnS2onXSxcblx0WydcdTA0NUMnLCAna2onXSxcblx0WydcdTA0MDknLCAnTGonXSxcblx0WydcdTA0NTknLCAnbGonXSxcblx0WydcdTA0MEEnLCAnTmonXSxcblx0WydcdTA0NUEnLCAnbmonXSxcblx0WydcdTA0MjJcdTA0NDEnLCAnVHMnXSxcblx0WydcdTA0NDJcdTA0NDEnLCAndHMnXSxcblxuXHQvLyBQb2xpc2hcblx0WydcdTAxMDUnLCAnYSddLFxuXHRbJ1x1MDEwNycsICdjJ10sXG5cdFsnXHUwMTE5JywgJ2UnXSxcblx0WydcdTAxNDInLCAnbCddLFxuXHRbJ1x1MDE0NCcsICduJ10sXG5cdFsnXHUwMTVCJywgJ3MnXSxcblx0WydcdTAxN0EnLCAneiddLFxuXHRbJ1x1MDE3QycsICd6J10sXG5cdFsnXHUwMTA0JywgJ0EnXSxcblx0WydcdTAxMDYnLCAnQyddLFxuXHRbJ1x1MDExOCcsICdFJ10sXG5cdFsnXHUwMTQxJywgJ0wnXSxcblx0WydcdTAxNDMnLCAnTiddLFxuXHRbJ1x1MDE1QScsICdTJ10sXG5cdFsnXHUwMTc5JywgJ1onXSxcblx0WydcdTAxN0InLCAnWiddLFxuXG5cdC8vIERpc2FibGVkIGFzIGl0IGNvbmZsaWN0cyB3aXRoIFZpZXRuYW1lc2UuXG5cdC8vIFNlcmJpYW5cblx0Ly8gWydcdTA0NTknLCAnbGonXSxcblx0Ly8gWydcdTA0NUEnLCAnbmonXSxcblx0Ly8gWydcdTA0MDknLCAnTGonXSxcblx0Ly8gWydcdTA0MEEnLCAnTmonXSxcblx0Ly8gWydcdTAxMTEnLCAnZGonXSxcblx0Ly8gWydcdTAxMTAnLCAnRGonXSxcblx0Ly8gWydcdTA0NTInLCAnZGonXSxcblx0Ly8gWydcdTA0NTgnLCAnaiddLFxuXHQvLyBbJ1x1MDQ1QicsICdjJ10sXG5cdC8vIFsnXHUwNDVGJywgJ2R6J10sXG5cdC8vIFsnXHUwNDAyJywgJ0RqJ10sXG5cdC8vIFsnXHUwNDA4JywgJ2onXSxcblx0Ly8gWydcdTA0MEInLCAnQyddLFxuXHQvLyBbJ1x1MDQwRicsICdEeiddLFxuXG5cdC8vIERpc2FibGVkIGFzIGl0IGNvbmZsaWN0cyB3aXRoIEdlcm1hbiBhbmQgTGF0aW4uXG5cdC8vIFNsb3Zha1xuXHQvLyBbJ1x1MDBFNCcsICdhJ10sXG5cdC8vIFsnXHUwMEM0JywgJ0EnXSxcblx0Ly8gWydcdTAxM0UnLCAnbCddLFxuXHQvLyBbJ1x1MDEzQScsICdsJ10sXG5cdC8vIFsnXHUwMTU1JywgJ3InXSxcblx0Ly8gWydcdTAxM0QnLCAnTCddLFxuXHQvLyBbJ1x1MDEzOScsICdMJ10sXG5cdC8vIFsnXHUwMTU0JywgJ1InXSxcblxuXHQvLyBEaXNhYmxlZCBhcyBpdCBjb25mbGljdHMgd2l0aCBHZXJtYW4gYW5kIExhdGluLlxuXHQvLyBTd2VkaXNoXG5cdC8vIFsnXHUwMEU1JywgJ28nXSxcblx0Ly8gWydcdTAwQzUnLCAnbyddLFxuXHQvLyBbJ1x1MDBFNCcsICdhJ10sXG5cdC8vIFsnXHUwMEM0JywgJ0EnXSxcblx0Ly8gWydcdTAwRUInLCAnZSddLFxuXHQvLyBbJ1x1MDBDQicsICdFJ10sXG5cdC8vIFsnXHUwMEY2JywgJ28nXSxcblx0Ly8gWydcdTAwRDYnLCAnTyddLFxuXG5cdC8vIFVrcmFpbmlhblxuXHRbJ1x1MDQwNCcsICdZZSddLFxuXHRbJ1x1MDQwNicsICdJJ10sXG5cdFsnXHUwNDA3JywgJ1lpJ10sXG5cdFsnXHUwNDkwJywgJ0cnXSxcblx0WydcdTA0NTQnLCAneWUnXSxcblx0WydcdTA0NTYnLCAnaSddLFxuXHRbJ1x1MDQ1NycsICd5aSddLFxuXHRbJ1x1MDQ5MScsICdnJ10sXG5cblx0Ly8gRHV0Y2hcblx0WydcdTAxMzInLCAnSUonXSxcblx0WydcdTAxMzMnLCAnaWonXSxcblxuXHQvLyBEYW5pc2hcblx0Ly8gWydcdTAwQzYnLCAnQWUnXSxcblx0Ly8gWydcdTAwRDgnLCAnT2UnXSxcblx0Ly8gWydcdTAwQzUnLCAnQWEnXSxcblx0Ly8gWydcdTAwRTYnLCAnYWUnXSxcblx0Ly8gWydcdTAwRjgnLCAnb2UnXSxcblx0Ly8gWydcdTAwRTUnLCAnYWEnXVxuXG5cdC8vIEN1cnJlbmNpZXNcblx0WydcdTAwQTInLCAnYyddLFxuXHRbJ1x1MDBBNScsICdZJ10sXG5cdFsnXHUwN0ZGJywgJ2InXSxcblx0WydcdTA5RjMnLCAndCddLFxuXHRbJ1x1MEFGMScsICdCbyddLFxuXHRbJ1x1MEUzRicsICdCJ10sXG5cdFsnXHUyMEEwJywgJ0NFJ10sXG5cdFsnXHUyMEExJywgJ0MnXSxcblx0WydcdTIwQTInLCAnQ3InXSxcblx0WydcdTIwQTMnLCAnRiddLFxuXHRbJ1x1MjBBNScsICdtJ10sXG5cdFsnXHUyMEE2JywgJ04nXSxcblx0WydcdTIwQTcnLCAnUHQnXSxcblx0WydcdTIwQTgnLCAnUnMnXSxcblx0WydcdTIwQTknLCAnVyddLFxuXHRbJ1x1MjBBQicsICdzJ10sXG5cdFsnXHUyMEFDJywgJ0UnXSxcblx0WydcdTIwQUQnLCAnSyddLFxuXHRbJ1x1MjBBRScsICdUJ10sXG5cdFsnXHUyMEFGJywgJ0RwJ10sXG5cdFsnXHUyMEIwJywgJ1MnXSxcblx0WydcdTIwQjEnLCAnUCddLFxuXHRbJ1x1MjBCMicsICdHJ10sXG5cdFsnXHUyMEIzJywgJ0EnXSxcblx0WydcdTIwQjQnLCAnUyddLFxuXHRbJ1x1MjBCNScsICdDJ10sXG5cdFsnXHUyMEI2JywgJ3R0J10sXG5cdFsnXHUyMEI3JywgJ1MnXSxcblx0WydcdTIwQjgnLCAnVCddLFxuXHRbJ1x1MjBCOScsICdSJ10sXG5cdFsnXHUyMEJBJywgJ0wnXSxcblx0WydcdTIwQkQnLCAnUCddLFxuXHRbJ1x1MjBCRicsICdCJ10sXG5cdFsnXHVGRTY5JywgJyQnXSxcblx0WydcdUZGRTAnLCAnYyddLFxuXHRbJ1x1RkZFNScsICdZJ10sXG5cdFsnXHVGRkU2JywgJ1cnXSxcblxuXHQvLyBMYXRpblxuXHRbJ1x1RDgzNVx1REMwMCcsICdBJ10sXG5cdFsnXHVEODM1XHVEQzAxJywgJ0InXSxcblx0WydcdUQ4MzVcdURDMDInLCAnQyddLFxuXHRbJ1x1RDgzNVx1REMwMycsICdEJ10sXG5cdFsnXHVEODM1XHVEQzA0JywgJ0UnXSxcblx0WydcdUQ4MzVcdURDMDUnLCAnRiddLFxuXHRbJ1x1RDgzNVx1REMwNicsICdHJ10sXG5cdFsnXHVEODM1XHVEQzA3JywgJ0gnXSxcblx0WydcdUQ4MzVcdURDMDgnLCAnSSddLFxuXHRbJ1x1RDgzNVx1REMwOScsICdKJ10sXG5cdFsnXHVEODM1XHVEQzBBJywgJ0snXSxcblx0WydcdUQ4MzVcdURDMEInLCAnTCddLFxuXHRbJ1x1RDgzNVx1REMwQycsICdNJ10sXG5cdFsnXHVEODM1XHVEQzBEJywgJ04nXSxcblx0WydcdUQ4MzVcdURDMEUnLCAnTyddLFxuXHRbJ1x1RDgzNVx1REMwRicsICdQJ10sXG5cdFsnXHVEODM1XHVEQzEwJywgJ1EnXSxcblx0WydcdUQ4MzVcdURDMTEnLCAnUiddLFxuXHRbJ1x1RDgzNVx1REMxMicsICdTJ10sXG5cdFsnXHVEODM1XHVEQzEzJywgJ1QnXSxcblx0WydcdUQ4MzVcdURDMTQnLCAnVSddLFxuXHRbJ1x1RDgzNVx1REMxNScsICdWJ10sXG5cdFsnXHVEODM1XHVEQzE2JywgJ1cnXSxcblx0WydcdUQ4MzVcdURDMTcnLCAnWCddLFxuXHRbJ1x1RDgzNVx1REMxOCcsICdZJ10sXG5cdFsnXHVEODM1XHVEQzE5JywgJ1onXSxcblx0WydcdUQ4MzVcdURDMUEnLCAnYSddLFxuXHRbJ1x1RDgzNVx1REMxQicsICdiJ10sXG5cdFsnXHVEODM1XHVEQzFDJywgJ2MnXSxcblx0WydcdUQ4MzVcdURDMUQnLCAnZCddLFxuXHRbJ1x1RDgzNVx1REMxRScsICdlJ10sXG5cdFsnXHVEODM1XHVEQzFGJywgJ2YnXSxcblx0WydcdUQ4MzVcdURDMjAnLCAnZyddLFxuXHRbJ1x1RDgzNVx1REMyMScsICdoJ10sXG5cdFsnXHVEODM1XHVEQzIyJywgJ2knXSxcblx0WydcdUQ4MzVcdURDMjMnLCAnaiddLFxuXHRbJ1x1RDgzNVx1REMyNCcsICdrJ10sXG5cdFsnXHVEODM1XHVEQzI1JywgJ2wnXSxcblx0WydcdUQ4MzVcdURDMjYnLCAnbSddLFxuXHRbJ1x1RDgzNVx1REMyNycsICduJ10sXG5cdFsnXHVEODM1XHVEQzI4JywgJ28nXSxcblx0WydcdUQ4MzVcdURDMjknLCAncCddLFxuXHRbJ1x1RDgzNVx1REMyQScsICdxJ10sXG5cdFsnXHVEODM1XHVEQzJCJywgJ3InXSxcblx0WydcdUQ4MzVcdURDMkMnLCAncyddLFxuXHRbJ1x1RDgzNVx1REMyRCcsICd0J10sXG5cdFsnXHVEODM1XHVEQzJFJywgJ3UnXSxcblx0WydcdUQ4MzVcdURDMkYnLCAndiddLFxuXHRbJ1x1RDgzNVx1REMzMCcsICd3J10sXG5cdFsnXHVEODM1XHVEQzMxJywgJ3gnXSxcblx0WydcdUQ4MzVcdURDMzInLCAneSddLFxuXHRbJ1x1RDgzNVx1REMzMycsICd6J10sXG5cdFsnXHVEODM1XHVEQzM0JywgJ0EnXSxcblx0WydcdUQ4MzVcdURDMzUnLCAnQiddLFxuXHRbJ1x1RDgzNVx1REMzNicsICdDJ10sXG5cdFsnXHVEODM1XHVEQzM3JywgJ0QnXSxcblx0WydcdUQ4MzVcdURDMzgnLCAnRSddLFxuXHRbJ1x1RDgzNVx1REMzOScsICdGJ10sXG5cdFsnXHVEODM1XHVEQzNBJywgJ0cnXSxcblx0WydcdUQ4MzVcdURDM0InLCAnSCddLFxuXHRbJ1x1RDgzNVx1REMzQycsICdJJ10sXG5cdFsnXHVEODM1XHVEQzNEJywgJ0onXSxcblx0WydcdUQ4MzVcdURDM0UnLCAnSyddLFxuXHRbJ1x1RDgzNVx1REMzRicsICdMJ10sXG5cdFsnXHVEODM1XHVEQzQwJywgJ00nXSxcblx0WydcdUQ4MzVcdURDNDEnLCAnTiddLFxuXHRbJ1x1RDgzNVx1REM0MicsICdPJ10sXG5cdFsnXHVEODM1XHVEQzQzJywgJ1AnXSxcblx0WydcdUQ4MzVcdURDNDQnLCAnUSddLFxuXHRbJ1x1RDgzNVx1REM0NScsICdSJ10sXG5cdFsnXHVEODM1XHVEQzQ2JywgJ1MnXSxcblx0WydcdUQ4MzVcdURDNDcnLCAnVCddLFxuXHRbJ1x1RDgzNVx1REM0OCcsICdVJ10sXG5cdFsnXHVEODM1XHVEQzQ5JywgJ1YnXSxcblx0WydcdUQ4MzVcdURDNEEnLCAnVyddLFxuXHRbJ1x1RDgzNVx1REM0QicsICdYJ10sXG5cdFsnXHVEODM1XHVEQzRDJywgJ1knXSxcblx0WydcdUQ4MzVcdURDNEQnLCAnWiddLFxuXHRbJ1x1RDgzNVx1REM0RScsICdhJ10sXG5cdFsnXHVEODM1XHVEQzRGJywgJ2InXSxcblx0WydcdUQ4MzVcdURDNTAnLCAnYyddLFxuXHRbJ1x1RDgzNVx1REM1MScsICdkJ10sXG5cdFsnXHVEODM1XHVEQzUyJywgJ2UnXSxcblx0WydcdUQ4MzVcdURDNTMnLCAnZiddLFxuXHRbJ1x1RDgzNVx1REM1NCcsICdnJ10sXG5cdFsnXHVEODM1XHVEQzU2JywgJ2knXSxcblx0WydcdUQ4MzVcdURDNTcnLCAnaiddLFxuXHRbJ1x1RDgzNVx1REM1OCcsICdrJ10sXG5cdFsnXHVEODM1XHVEQzU5JywgJ2wnXSxcblx0WydcdUQ4MzVcdURDNUEnLCAnbSddLFxuXHRbJ1x1RDgzNVx1REM1QicsICduJ10sXG5cdFsnXHVEODM1XHVEQzVDJywgJ28nXSxcblx0WydcdUQ4MzVcdURDNUQnLCAncCddLFxuXHRbJ1x1RDgzNVx1REM1RScsICdxJ10sXG5cdFsnXHVEODM1XHVEQzVGJywgJ3InXSxcblx0WydcdUQ4MzVcdURDNjAnLCAncyddLFxuXHRbJ1x1RDgzNVx1REM2MScsICd0J10sXG5cdFsnXHVEODM1XHVEQzYyJywgJ3UnXSxcblx0WydcdUQ4MzVcdURDNjMnLCAndiddLFxuXHRbJ1x1RDgzNVx1REM2NCcsICd3J10sXG5cdFsnXHVEODM1XHVEQzY1JywgJ3gnXSxcblx0WydcdUQ4MzVcdURDNjYnLCAneSddLFxuXHRbJ1x1RDgzNVx1REM2NycsICd6J10sXG5cdFsnXHVEODM1XHVEQzY4JywgJ0EnXSxcblx0WydcdUQ4MzVcdURDNjknLCAnQiddLFxuXHRbJ1x1RDgzNVx1REM2QScsICdDJ10sXG5cdFsnXHVEODM1XHVEQzZCJywgJ0QnXSxcblx0WydcdUQ4MzVcdURDNkMnLCAnRSddLFxuXHRbJ1x1RDgzNVx1REM2RCcsICdGJ10sXG5cdFsnXHVEODM1XHVEQzZFJywgJ0cnXSxcblx0WydcdUQ4MzVcdURDNkYnLCAnSCddLFxuXHRbJ1x1RDgzNVx1REM3MCcsICdJJ10sXG5cdFsnXHVEODM1XHVEQzcxJywgJ0onXSxcblx0WydcdUQ4MzVcdURDNzInLCAnSyddLFxuXHRbJ1x1RDgzNVx1REM3MycsICdMJ10sXG5cdFsnXHVEODM1XHVEQzc0JywgJ00nXSxcblx0WydcdUQ4MzVcdURDNzUnLCAnTiddLFxuXHRbJ1x1RDgzNVx1REM3NicsICdPJ10sXG5cdFsnXHVEODM1XHVEQzc3JywgJ1AnXSxcblx0WydcdUQ4MzVcdURDNzgnLCAnUSddLFxuXHRbJ1x1RDgzNVx1REM3OScsICdSJ10sXG5cdFsnXHVEODM1XHVEQzdBJywgJ1MnXSxcblx0WydcdUQ4MzVcdURDN0InLCAnVCddLFxuXHRbJ1x1RDgzNVx1REM3QycsICdVJ10sXG5cdFsnXHVEODM1XHVEQzdEJywgJ1YnXSxcblx0WydcdUQ4MzVcdURDN0UnLCAnVyddLFxuXHRbJ1x1RDgzNVx1REM3RicsICdYJ10sXG5cdFsnXHVEODM1XHVEQzgwJywgJ1knXSxcblx0WydcdUQ4MzVcdURDODEnLCAnWiddLFxuXHRbJ1x1RDgzNVx1REM4MicsICdhJ10sXG5cdFsnXHVEODM1XHVEQzgzJywgJ2InXSxcblx0WydcdUQ4MzVcdURDODQnLCAnYyddLFxuXHRbJ1x1RDgzNVx1REM4NScsICdkJ10sXG5cdFsnXHVEODM1XHVEQzg2JywgJ2UnXSxcblx0WydcdUQ4MzVcdURDODcnLCAnZiddLFxuXHRbJ1x1RDgzNVx1REM4OCcsICdnJ10sXG5cdFsnXHVEODM1XHVEQzg5JywgJ2gnXSxcblx0WydcdUQ4MzVcdURDOEEnLCAnaSddLFxuXHRbJ1x1RDgzNVx1REM4QicsICdqJ10sXG5cdFsnXHVEODM1XHVEQzhDJywgJ2snXSxcblx0WydcdUQ4MzVcdURDOEQnLCAnbCddLFxuXHRbJ1x1RDgzNVx1REM4RScsICdtJ10sXG5cdFsnXHVEODM1XHVEQzhGJywgJ24nXSxcblx0WydcdUQ4MzVcdURDOTAnLCAnbyddLFxuXHRbJ1x1RDgzNVx1REM5MScsICdwJ10sXG5cdFsnXHVEODM1XHVEQzkyJywgJ3EnXSxcblx0WydcdUQ4MzVcdURDOTMnLCAnciddLFxuXHRbJ1x1RDgzNVx1REM5NCcsICdzJ10sXG5cdFsnXHVEODM1XHVEQzk1JywgJ3QnXSxcblx0WydcdUQ4MzVcdURDOTYnLCAndSddLFxuXHRbJ1x1RDgzNVx1REM5NycsICd2J10sXG5cdFsnXHVEODM1XHVEQzk4JywgJ3cnXSxcblx0WydcdUQ4MzVcdURDOTknLCAneCddLFxuXHRbJ1x1RDgzNVx1REM5QScsICd5J10sXG5cdFsnXHVEODM1XHVEQzlCJywgJ3onXSxcblx0WydcdUQ4MzVcdURDOUMnLCAnQSddLFxuXHRbJ1x1RDgzNVx1REM5RScsICdDJ10sXG5cdFsnXHVEODM1XHVEQzlGJywgJ0QnXSxcblx0WydcdUQ4MzVcdURDQTInLCAnZyddLFxuXHRbJ1x1RDgzNVx1RENBNScsICdKJ10sXG5cdFsnXHVEODM1XHVEQ0E2JywgJ0snXSxcblx0WydcdUQ4MzVcdURDQTknLCAnTiddLFxuXHRbJ1x1RDgzNVx1RENBQScsICdPJ10sXG5cdFsnXHVEODM1XHVEQ0FCJywgJ1AnXSxcblx0WydcdUQ4MzVcdURDQUMnLCAnUSddLFxuXHRbJ1x1RDgzNVx1RENBRScsICdTJ10sXG5cdFsnXHVEODM1XHVEQ0FGJywgJ1QnXSxcblx0WydcdUQ4MzVcdURDQjAnLCAnVSddLFxuXHRbJ1x1RDgzNVx1RENCMScsICdWJ10sXG5cdFsnXHVEODM1XHVEQ0IyJywgJ1cnXSxcblx0WydcdUQ4MzVcdURDQjMnLCAnWCddLFxuXHRbJ1x1RDgzNVx1RENCNCcsICdZJ10sXG5cdFsnXHVEODM1XHVEQ0I1JywgJ1onXSxcblx0WydcdUQ4MzVcdURDQjYnLCAnYSddLFxuXHRbJ1x1RDgzNVx1RENCNycsICdiJ10sXG5cdFsnXHVEODM1XHVEQ0I4JywgJ2MnXSxcblx0WydcdUQ4MzVcdURDQjknLCAnZCddLFxuXHRbJ1x1RDgzNVx1RENCQicsICdmJ10sXG5cdFsnXHVEODM1XHVEQ0JEJywgJ2gnXSxcblx0WydcdUQ4MzVcdURDQkUnLCAnaSddLFxuXHRbJ1x1RDgzNVx1RENCRicsICdqJ10sXG5cdFsnXHVEODM1XHVEQ0MwJywgJ2gnXSxcblx0WydcdUQ4MzVcdURDQzEnLCAnbCddLFxuXHRbJ1x1RDgzNVx1RENDMicsICdtJ10sXG5cdFsnXHVEODM1XHVEQ0MzJywgJ24nXSxcblx0WydcdUQ4MzVcdURDQzUnLCAncCddLFxuXHRbJ1x1RDgzNVx1RENDNicsICdxJ10sXG5cdFsnXHVEODM1XHVEQ0M3JywgJ3InXSxcblx0WydcdUQ4MzVcdURDQzgnLCAncyddLFxuXHRbJ1x1RDgzNVx1RENDOScsICd0J10sXG5cdFsnXHVEODM1XHVEQ0NBJywgJ3UnXSxcblx0WydcdUQ4MzVcdURDQ0InLCAndiddLFxuXHRbJ1x1RDgzNVx1RENDQycsICd3J10sXG5cdFsnXHVEODM1XHVEQ0NEJywgJ3gnXSxcblx0WydcdUQ4MzVcdURDQ0UnLCAneSddLFxuXHRbJ1x1RDgzNVx1RENDRicsICd6J10sXG5cdFsnXHVEODM1XHVEQ0QwJywgJ0EnXSxcblx0WydcdUQ4MzVcdURDRDEnLCAnQiddLFxuXHRbJ1x1RDgzNVx1RENEMicsICdDJ10sXG5cdFsnXHVEODM1XHVEQ0QzJywgJ0QnXSxcblx0WydcdUQ4MzVcdURDRDQnLCAnRSddLFxuXHRbJ1x1RDgzNVx1RENENScsICdGJ10sXG5cdFsnXHVEODM1XHVEQ0Q2JywgJ0cnXSxcblx0WydcdUQ4MzVcdURDRDcnLCAnSCddLFxuXHRbJ1x1RDgzNVx1RENEOCcsICdJJ10sXG5cdFsnXHVEODM1XHVEQ0Q5JywgJ0onXSxcblx0WydcdUQ4MzVcdURDREEnLCAnSyddLFxuXHRbJ1x1RDgzNVx1RENEQicsICdMJ10sXG5cdFsnXHVEODM1XHVEQ0RDJywgJ00nXSxcblx0WydcdUQ4MzVcdURDREQnLCAnTiddLFxuXHRbJ1x1RDgzNVx1RENERScsICdPJ10sXG5cdFsnXHVEODM1XHVEQ0RGJywgJ1AnXSxcblx0WydcdUQ4MzVcdURDRTAnLCAnUSddLFxuXHRbJ1x1RDgzNVx1RENFMScsICdSJ10sXG5cdFsnXHVEODM1XHVEQ0UyJywgJ1MnXSxcblx0WydcdUQ4MzVcdURDRTMnLCAnVCddLFxuXHRbJ1x1RDgzNVx1RENFNCcsICdVJ10sXG5cdFsnXHVEODM1XHVEQ0U1JywgJ1YnXSxcblx0WydcdUQ4MzVcdURDRTYnLCAnVyddLFxuXHRbJ1x1RDgzNVx1RENFNycsICdYJ10sXG5cdFsnXHVEODM1XHVEQ0U4JywgJ1knXSxcblx0WydcdUQ4MzVcdURDRTknLCAnWiddLFxuXHRbJ1x1RDgzNVx1RENFQScsICdhJ10sXG5cdFsnXHVEODM1XHVEQ0VCJywgJ2InXSxcblx0WydcdUQ4MzVcdURDRUMnLCAnYyddLFxuXHRbJ1x1RDgzNVx1RENFRCcsICdkJ10sXG5cdFsnXHVEODM1XHVEQ0VFJywgJ2UnXSxcblx0WydcdUQ4MzVcdURDRUYnLCAnZiddLFxuXHRbJ1x1RDgzNVx1RENGMCcsICdnJ10sXG5cdFsnXHVEODM1XHVEQ0YxJywgJ2gnXSxcblx0WydcdUQ4MzVcdURDRjInLCAnaSddLFxuXHRbJ1x1RDgzNVx1RENGMycsICdqJ10sXG5cdFsnXHVEODM1XHVEQ0Y0JywgJ2snXSxcblx0WydcdUQ4MzVcdURDRjUnLCAnbCddLFxuXHRbJ1x1RDgzNVx1RENGNicsICdtJ10sXG5cdFsnXHVEODM1XHVEQ0Y3JywgJ24nXSxcblx0WydcdUQ4MzVcdURDRjgnLCAnbyddLFxuXHRbJ1x1RDgzNVx1RENGOScsICdwJ10sXG5cdFsnXHVEODM1XHVEQ0ZBJywgJ3EnXSxcblx0WydcdUQ4MzVcdURDRkInLCAnciddLFxuXHRbJ1x1RDgzNVx1RENGQycsICdzJ10sXG5cdFsnXHVEODM1XHVEQ0ZEJywgJ3QnXSxcblx0WydcdUQ4MzVcdURDRkUnLCAndSddLFxuXHRbJ1x1RDgzNVx1RENGRicsICd2J10sXG5cdFsnXHVEODM1XHVERDAwJywgJ3cnXSxcblx0WydcdUQ4MzVcdUREMDEnLCAneCddLFxuXHRbJ1x1RDgzNVx1REQwMicsICd5J10sXG5cdFsnXHVEODM1XHVERDAzJywgJ3onXSxcblx0WydcdUQ4MzVcdUREMDQnLCAnQSddLFxuXHRbJ1x1RDgzNVx1REQwNScsICdCJ10sXG5cdFsnXHVEODM1XHVERDA3JywgJ0QnXSxcblx0WydcdUQ4MzVcdUREMDgnLCAnRSddLFxuXHRbJ1x1RDgzNVx1REQwOScsICdGJ10sXG5cdFsnXHVEODM1XHVERDBBJywgJ0cnXSxcblx0WydcdUQ4MzVcdUREMEQnLCAnSiddLFxuXHRbJ1x1RDgzNVx1REQwRScsICdLJ10sXG5cdFsnXHVEODM1XHVERDBGJywgJ0wnXSxcblx0WydcdUQ4MzVcdUREMTAnLCAnTSddLFxuXHRbJ1x1RDgzNVx1REQxMScsICdOJ10sXG5cdFsnXHVEODM1XHVERDEyJywgJ08nXSxcblx0WydcdUQ4MzVcdUREMTMnLCAnUCddLFxuXHRbJ1x1RDgzNVx1REQxNCcsICdRJ10sXG5cdFsnXHVEODM1XHVERDE2JywgJ1MnXSxcblx0WydcdUQ4MzVcdUREMTcnLCAnVCddLFxuXHRbJ1x1RDgzNVx1REQxOCcsICdVJ10sXG5cdFsnXHVEODM1XHVERDE5JywgJ1YnXSxcblx0WydcdUQ4MzVcdUREMUEnLCAnVyddLFxuXHRbJ1x1RDgzNVx1REQxQicsICdYJ10sXG5cdFsnXHVEODM1XHVERDFDJywgJ1knXSxcblx0WydcdUQ4MzVcdUREMUUnLCAnYSddLFxuXHRbJ1x1RDgzNVx1REQxRicsICdiJ10sXG5cdFsnXHVEODM1XHVERDIwJywgJ2MnXSxcblx0WydcdUQ4MzVcdUREMjEnLCAnZCddLFxuXHRbJ1x1RDgzNVx1REQyMicsICdlJ10sXG5cdFsnXHVEODM1XHVERDIzJywgJ2YnXSxcblx0WydcdUQ4MzVcdUREMjQnLCAnZyddLFxuXHRbJ1x1RDgzNVx1REQyNScsICdoJ10sXG5cdFsnXHVEODM1XHVERDI2JywgJ2knXSxcblx0WydcdUQ4MzVcdUREMjcnLCAnaiddLFxuXHRbJ1x1RDgzNVx1REQyOCcsICdrJ10sXG5cdFsnXHVEODM1XHVERDI5JywgJ2wnXSxcblx0WydcdUQ4MzVcdUREMkEnLCAnbSddLFxuXHRbJ1x1RDgzNVx1REQyQicsICduJ10sXG5cdFsnXHVEODM1XHVERDJDJywgJ28nXSxcblx0WydcdUQ4MzVcdUREMkQnLCAncCddLFxuXHRbJ1x1RDgzNVx1REQyRScsICdxJ10sXG5cdFsnXHVEODM1XHVERDJGJywgJ3InXSxcblx0WydcdUQ4MzVcdUREMzAnLCAncyddLFxuXHRbJ1x1RDgzNVx1REQzMScsICd0J10sXG5cdFsnXHVEODM1XHVERDMyJywgJ3UnXSxcblx0WydcdUQ4MzVcdUREMzMnLCAndiddLFxuXHRbJ1x1RDgzNVx1REQzNCcsICd3J10sXG5cdFsnXHVEODM1XHVERDM1JywgJ3gnXSxcblx0WydcdUQ4MzVcdUREMzYnLCAneSddLFxuXHRbJ1x1RDgzNVx1REQzNycsICd6J10sXG5cdFsnXHVEODM1XHVERDM4JywgJ0EnXSxcblx0WydcdUQ4MzVcdUREMzknLCAnQiddLFxuXHRbJ1x1RDgzNVx1REQzQicsICdEJ10sXG5cdFsnXHVEODM1XHVERDNDJywgJ0UnXSxcblx0WydcdUQ4MzVcdUREM0QnLCAnRiddLFxuXHRbJ1x1RDgzNVx1REQzRScsICdHJ10sXG5cdFsnXHVEODM1XHVERDQwJywgJ0knXSxcblx0WydcdUQ4MzVcdURENDEnLCAnSiddLFxuXHRbJ1x1RDgzNVx1REQ0MicsICdLJ10sXG5cdFsnXHVEODM1XHVERDQzJywgJ0wnXSxcblx0WydcdUQ4MzVcdURENDQnLCAnTSddLFxuXHRbJ1x1RDgzNVx1REQ0NicsICdOJ10sXG5cdFsnXHVEODM1XHVERDRBJywgJ1MnXSxcblx0WydcdUQ4MzVcdURENEInLCAnVCddLFxuXHRbJ1x1RDgzNVx1REQ0QycsICdVJ10sXG5cdFsnXHVEODM1XHVERDREJywgJ1YnXSxcblx0WydcdUQ4MzVcdURENEUnLCAnVyddLFxuXHRbJ1x1RDgzNVx1REQ0RicsICdYJ10sXG5cdFsnXHVEODM1XHVERDUwJywgJ1knXSxcblx0WydcdUQ4MzVcdURENTInLCAnYSddLFxuXHRbJ1x1RDgzNVx1REQ1MycsICdiJ10sXG5cdFsnXHVEODM1XHVERDU0JywgJ2MnXSxcblx0WydcdUQ4MzVcdURENTUnLCAnZCddLFxuXHRbJ1x1RDgzNVx1REQ1NicsICdlJ10sXG5cdFsnXHVEODM1XHVERDU3JywgJ2YnXSxcblx0WydcdUQ4MzVcdURENTgnLCAnZyddLFxuXHRbJ1x1RDgzNVx1REQ1OScsICdoJ10sXG5cdFsnXHVEODM1XHVERDVBJywgJ2knXSxcblx0WydcdUQ4MzVcdURENUInLCAnaiddLFxuXHRbJ1x1RDgzNVx1REQ1QycsICdrJ10sXG5cdFsnXHVEODM1XHVERDVEJywgJ2wnXSxcblx0WydcdUQ4MzVcdURENUUnLCAnbSddLFxuXHRbJ1x1RDgzNVx1REQ1RicsICduJ10sXG5cdFsnXHVEODM1XHVERDYwJywgJ28nXSxcblx0WydcdUQ4MzVcdURENjEnLCAncCddLFxuXHRbJ1x1RDgzNVx1REQ2MicsICdxJ10sXG5cdFsnXHVEODM1XHVERDYzJywgJ3InXSxcblx0WydcdUQ4MzVcdURENjQnLCAncyddLFxuXHRbJ1x1RDgzNVx1REQ2NScsICd0J10sXG5cdFsnXHVEODM1XHVERDY2JywgJ3UnXSxcblx0WydcdUQ4MzVcdURENjcnLCAndiddLFxuXHRbJ1x1RDgzNVx1REQ2OCcsICd3J10sXG5cdFsnXHVEODM1XHVERDY5JywgJ3gnXSxcblx0WydcdUQ4MzVcdURENkEnLCAneSddLFxuXHRbJ1x1RDgzNVx1REQ2QicsICd6J10sXG5cdFsnXHVEODM1XHVERDZDJywgJ0EnXSxcblx0WydcdUQ4MzVcdURENkQnLCAnQiddLFxuXHRbJ1x1RDgzNVx1REQ2RScsICdDJ10sXG5cdFsnXHVEODM1XHVERDZGJywgJ0QnXSxcblx0WydcdUQ4MzVcdURENzAnLCAnRSddLFxuXHRbJ1x1RDgzNVx1REQ3MScsICdGJ10sXG5cdFsnXHVEODM1XHVERDcyJywgJ0cnXSxcblx0WydcdUQ4MzVcdURENzMnLCAnSCddLFxuXHRbJ1x1RDgzNVx1REQ3NCcsICdJJ10sXG5cdFsnXHVEODM1XHVERDc1JywgJ0onXSxcblx0WydcdUQ4MzVcdURENzYnLCAnSyddLFxuXHRbJ1x1RDgzNVx1REQ3NycsICdMJ10sXG5cdFsnXHVEODM1XHVERDc4JywgJ00nXSxcblx0WydcdUQ4MzVcdURENzknLCAnTiddLFxuXHRbJ1x1RDgzNVx1REQ3QScsICdPJ10sXG5cdFsnXHVEODM1XHVERDdCJywgJ1AnXSxcblx0WydcdUQ4MzVcdUREN0MnLCAnUSddLFxuXHRbJ1x1RDgzNVx1REQ3RCcsICdSJ10sXG5cdFsnXHVEODM1XHVERDdFJywgJ1MnXSxcblx0WydcdUQ4MzVcdUREN0YnLCAnVCddLFxuXHRbJ1x1RDgzNVx1REQ4MCcsICdVJ10sXG5cdFsnXHVEODM1XHVERDgxJywgJ1YnXSxcblx0WydcdUQ4MzVcdUREODInLCAnVyddLFxuXHRbJ1x1RDgzNVx1REQ4MycsICdYJ10sXG5cdFsnXHVEODM1XHVERDg0JywgJ1knXSxcblx0WydcdUQ4MzVcdUREODUnLCAnWiddLFxuXHRbJ1x1RDgzNVx1REQ4NicsICdhJ10sXG5cdFsnXHVEODM1XHVERDg3JywgJ2InXSxcblx0WydcdUQ4MzVcdUREODgnLCAnYyddLFxuXHRbJ1x1RDgzNVx1REQ4OScsICdkJ10sXG5cdFsnXHVEODM1XHVERDhBJywgJ2UnXSxcblx0WydcdUQ4MzVcdUREOEInLCAnZiddLFxuXHRbJ1x1RDgzNVx1REQ4QycsICdnJ10sXG5cdFsnXHVEODM1XHVERDhEJywgJ2gnXSxcblx0WydcdUQ4MzVcdUREOEUnLCAnaSddLFxuXHRbJ1x1RDgzNVx1REQ4RicsICdqJ10sXG5cdFsnXHVEODM1XHVERDkwJywgJ2snXSxcblx0WydcdUQ4MzVcdUREOTEnLCAnbCddLFxuXHRbJ1x1RDgzNVx1REQ5MicsICdtJ10sXG5cdFsnXHVEODM1XHVERDkzJywgJ24nXSxcblx0WydcdUQ4MzVcdUREOTQnLCAnbyddLFxuXHRbJ1x1RDgzNVx1REQ5NScsICdwJ10sXG5cdFsnXHVEODM1XHVERDk2JywgJ3EnXSxcblx0WydcdUQ4MzVcdUREOTcnLCAnciddLFxuXHRbJ1x1RDgzNVx1REQ5OCcsICdzJ10sXG5cdFsnXHVEODM1XHVERDk5JywgJ3QnXSxcblx0WydcdUQ4MzVcdUREOUEnLCAndSddLFxuXHRbJ1x1RDgzNVx1REQ5QicsICd2J10sXG5cdFsnXHVEODM1XHVERDlDJywgJ3cnXSxcblx0WydcdUQ4MzVcdUREOUQnLCAneCddLFxuXHRbJ1x1RDgzNVx1REQ5RScsICd5J10sXG5cdFsnXHVEODM1XHVERDlGJywgJ3onXSxcblx0WydcdUQ4MzVcdUREQTAnLCAnQSddLFxuXHRbJ1x1RDgzNVx1RERBMScsICdCJ10sXG5cdFsnXHVEODM1XHVEREEyJywgJ0MnXSxcblx0WydcdUQ4MzVcdUREQTMnLCAnRCddLFxuXHRbJ1x1RDgzNVx1RERBNCcsICdFJ10sXG5cdFsnXHVEODM1XHVEREE1JywgJ0YnXSxcblx0WydcdUQ4MzVcdUREQTYnLCAnRyddLFxuXHRbJ1x1RDgzNVx1RERBNycsICdIJ10sXG5cdFsnXHVEODM1XHVEREE4JywgJ0knXSxcblx0WydcdUQ4MzVcdUREQTknLCAnSiddLFxuXHRbJ1x1RDgzNVx1RERBQScsICdLJ10sXG5cdFsnXHVEODM1XHVEREFCJywgJ0wnXSxcblx0WydcdUQ4MzVcdUREQUMnLCAnTSddLFxuXHRbJ1x1RDgzNVx1RERBRCcsICdOJ10sXG5cdFsnXHVEODM1XHVEREFFJywgJ08nXSxcblx0WydcdUQ4MzVcdUREQUYnLCAnUCddLFxuXHRbJ1x1RDgzNVx1RERCMCcsICdRJ10sXG5cdFsnXHVEODM1XHVEREIxJywgJ1InXSxcblx0WydcdUQ4MzVcdUREQjInLCAnUyddLFxuXHRbJ1x1RDgzNVx1RERCMycsICdUJ10sXG5cdFsnXHVEODM1XHVEREI0JywgJ1UnXSxcblx0WydcdUQ4MzVcdUREQjUnLCAnViddLFxuXHRbJ1x1RDgzNVx1RERCNicsICdXJ10sXG5cdFsnXHVEODM1XHVEREI3JywgJ1gnXSxcblx0WydcdUQ4MzVcdUREQjgnLCAnWSddLFxuXHRbJ1x1RDgzNVx1RERCOScsICdaJ10sXG5cdFsnXHVEODM1XHVEREJBJywgJ2EnXSxcblx0WydcdUQ4MzVcdUREQkInLCAnYiddLFxuXHRbJ1x1RDgzNVx1RERCQycsICdjJ10sXG5cdFsnXHVEODM1XHVEREJEJywgJ2QnXSxcblx0WydcdUQ4MzVcdUREQkUnLCAnZSddLFxuXHRbJ1x1RDgzNVx1RERCRicsICdmJ10sXG5cdFsnXHVEODM1XHVEREMwJywgJ2cnXSxcblx0WydcdUQ4MzVcdUREQzEnLCAnaCddLFxuXHRbJ1x1RDgzNVx1RERDMicsICdpJ10sXG5cdFsnXHVEODM1XHVEREMzJywgJ2onXSxcblx0WydcdUQ4MzVcdUREQzQnLCAnayddLFxuXHRbJ1x1RDgzNVx1RERDNScsICdsJ10sXG5cdFsnXHVEODM1XHVEREM2JywgJ20nXSxcblx0WydcdUQ4MzVcdUREQzcnLCAnbiddLFxuXHRbJ1x1RDgzNVx1RERDOCcsICdvJ10sXG5cdFsnXHVEODM1XHVEREM5JywgJ3AnXSxcblx0WydcdUQ4MzVcdUREQ0EnLCAncSddLFxuXHRbJ1x1RDgzNVx1RERDQicsICdyJ10sXG5cdFsnXHVEODM1XHVERENDJywgJ3MnXSxcblx0WydcdUQ4MzVcdUREQ0QnLCAndCddLFxuXHRbJ1x1RDgzNVx1RERDRScsICd1J10sXG5cdFsnXHVEODM1XHVERENGJywgJ3YnXSxcblx0WydcdUQ4MzVcdURERDAnLCAndyddLFxuXHRbJ1x1RDgzNVx1REREMScsICd4J10sXG5cdFsnXHVEODM1XHVEREQyJywgJ3knXSxcblx0WydcdUQ4MzVcdURERDMnLCAneiddLFxuXHRbJ1x1RDgzNVx1RERENCcsICdBJ10sXG5cdFsnXHVEODM1XHVEREQ1JywgJ0InXSxcblx0WydcdUQ4MzVcdURERDYnLCAnQyddLFxuXHRbJ1x1RDgzNVx1RERENycsICdEJ10sXG5cdFsnXHVEODM1XHVEREQ4JywgJ0UnXSxcblx0WydcdUQ4MzVcdURERDknLCAnRiddLFxuXHRbJ1x1RDgzNVx1REREQScsICdHJ10sXG5cdFsnXHVEODM1XHVERERCJywgJ0gnXSxcblx0WydcdUQ4MzVcdUREREMnLCAnSSddLFxuXHRbJ1x1RDgzNVx1RERERCcsICdKJ10sXG5cdFsnXHVEODM1XHVERERFJywgJ0snXSxcblx0WydcdUQ4MzVcdUREREYnLCAnTCddLFxuXHRbJ1x1RDgzNVx1RERFMCcsICdNJ10sXG5cdFsnXHVEODM1XHVEREUxJywgJ04nXSxcblx0WydcdUQ4MzVcdURERTInLCAnTyddLFxuXHRbJ1x1RDgzNVx1RERFMycsICdQJ10sXG5cdFsnXHVEODM1XHVEREU0JywgJ1EnXSxcblx0WydcdUQ4MzVcdURERTUnLCAnUiddLFxuXHRbJ1x1RDgzNVx1RERFNicsICdTJ10sXG5cdFsnXHVEODM1XHVEREU3JywgJ1QnXSxcblx0WydcdUQ4MzVcdURERTgnLCAnVSddLFxuXHRbJ1x1RDgzNVx1RERFOScsICdWJ10sXG5cdFsnXHVEODM1XHVEREVBJywgJ1cnXSxcblx0WydcdUQ4MzVcdURERUInLCAnWCddLFxuXHRbJ1x1RDgzNVx1RERFQycsICdZJ10sXG5cdFsnXHVEODM1XHVEREVEJywgJ1onXSxcblx0WydcdUQ4MzVcdURERUUnLCAnYSddLFxuXHRbJ1x1RDgzNVx1RERFRicsICdiJ10sXG5cdFsnXHVEODM1XHVEREYwJywgJ2MnXSxcblx0WydcdUQ4MzVcdURERjEnLCAnZCddLFxuXHRbJ1x1RDgzNVx1RERGMicsICdlJ10sXG5cdFsnXHVEODM1XHVEREYzJywgJ2YnXSxcblx0WydcdUQ4MzVcdURERjQnLCAnZyddLFxuXHRbJ1x1RDgzNVx1RERGNScsICdoJ10sXG5cdFsnXHVEODM1XHVEREY2JywgJ2knXSxcblx0WydcdUQ4MzVcdURERjcnLCAnaiddLFxuXHRbJ1x1RDgzNVx1RERGOCcsICdrJ10sXG5cdFsnXHVEODM1XHVEREY5JywgJ2wnXSxcblx0WydcdUQ4MzVcdURERkEnLCAnbSddLFxuXHRbJ1x1RDgzNVx1RERGQicsICduJ10sXG5cdFsnXHVEODM1XHVEREZDJywgJ28nXSxcblx0WydcdUQ4MzVcdURERkQnLCAncCddLFxuXHRbJ1x1RDgzNVx1RERGRScsICdxJ10sXG5cdFsnXHVEODM1XHVEREZGJywgJ3InXSxcblx0WydcdUQ4MzVcdURFMDAnLCAncyddLFxuXHRbJ1x1RDgzNVx1REUwMScsICd0J10sXG5cdFsnXHVEODM1XHVERTAyJywgJ3UnXSxcblx0WydcdUQ4MzVcdURFMDMnLCAndiddLFxuXHRbJ1x1RDgzNVx1REUwNCcsICd3J10sXG5cdFsnXHVEODM1XHVERTA1JywgJ3gnXSxcblx0WydcdUQ4MzVcdURFMDYnLCAneSddLFxuXHRbJ1x1RDgzNVx1REUwNycsICd6J10sXG5cdFsnXHVEODM1XHVERTA4JywgJ0EnXSxcblx0WydcdUQ4MzVcdURFMDknLCAnQiddLFxuXHRbJ1x1RDgzNVx1REUwQScsICdDJ10sXG5cdFsnXHVEODM1XHVERTBCJywgJ0QnXSxcblx0WydcdUQ4MzVcdURFMEMnLCAnRSddLFxuXHRbJ1x1RDgzNVx1REUwRCcsICdGJ10sXG5cdFsnXHVEODM1XHVERTBFJywgJ0cnXSxcblx0WydcdUQ4MzVcdURFMEYnLCAnSCddLFxuXHRbJ1x1RDgzNVx1REUxMCcsICdJJ10sXG5cdFsnXHVEODM1XHVERTExJywgJ0onXSxcblx0WydcdUQ4MzVcdURFMTInLCAnSyddLFxuXHRbJ1x1RDgzNVx1REUxMycsICdMJ10sXG5cdFsnXHVEODM1XHVERTE0JywgJ00nXSxcblx0WydcdUQ4MzVcdURFMTUnLCAnTiddLFxuXHRbJ1x1RDgzNVx1REUxNicsICdPJ10sXG5cdFsnXHVEODM1XHVERTE3JywgJ1AnXSxcblx0WydcdUQ4MzVcdURFMTgnLCAnUSddLFxuXHRbJ1x1RDgzNVx1REUxOScsICdSJ10sXG5cdFsnXHVEODM1XHVERTFBJywgJ1MnXSxcblx0WydcdUQ4MzVcdURFMUInLCAnVCddLFxuXHRbJ1x1RDgzNVx1REUxQycsICdVJ10sXG5cdFsnXHVEODM1XHVERTFEJywgJ1YnXSxcblx0WydcdUQ4MzVcdURFMUUnLCAnVyddLFxuXHRbJ1x1RDgzNVx1REUxRicsICdYJ10sXG5cdFsnXHVEODM1XHVERTIwJywgJ1knXSxcblx0WydcdUQ4MzVcdURFMjEnLCAnWiddLFxuXHRbJ1x1RDgzNVx1REUyMicsICdhJ10sXG5cdFsnXHVEODM1XHVERTIzJywgJ2InXSxcblx0WydcdUQ4MzVcdURFMjQnLCAnYyddLFxuXHRbJ1x1RDgzNVx1REUyNScsICdkJ10sXG5cdFsnXHVEODM1XHVERTI2JywgJ2UnXSxcblx0WydcdUQ4MzVcdURFMjcnLCAnZiddLFxuXHRbJ1x1RDgzNVx1REUyOCcsICdnJ10sXG5cdFsnXHVEODM1XHVERTI5JywgJ2gnXSxcblx0WydcdUQ4MzVcdURFMkEnLCAnaSddLFxuXHRbJ1x1RDgzNVx1REUyQicsICdqJ10sXG5cdFsnXHVEODM1XHVERTJDJywgJ2snXSxcblx0WydcdUQ4MzVcdURFMkQnLCAnbCddLFxuXHRbJ1x1RDgzNVx1REUyRScsICdtJ10sXG5cdFsnXHVEODM1XHVERTJGJywgJ24nXSxcblx0WydcdUQ4MzVcdURFMzAnLCAnbyddLFxuXHRbJ1x1RDgzNVx1REUzMScsICdwJ10sXG5cdFsnXHVEODM1XHVERTMyJywgJ3EnXSxcblx0WydcdUQ4MzVcdURFMzMnLCAnciddLFxuXHRbJ1x1RDgzNVx1REUzNCcsICdzJ10sXG5cdFsnXHVEODM1XHVERTM1JywgJ3QnXSxcblx0WydcdUQ4MzVcdURFMzYnLCAndSddLFxuXHRbJ1x1RDgzNVx1REUzNycsICd2J10sXG5cdFsnXHVEODM1XHVERTM4JywgJ3cnXSxcblx0WydcdUQ4MzVcdURFMzknLCAneCddLFxuXHRbJ1x1RDgzNVx1REUzQScsICd5J10sXG5cdFsnXHVEODM1XHVERTNCJywgJ3onXSxcblx0WydcdUQ4MzVcdURFM0MnLCAnQSddLFxuXHRbJ1x1RDgzNVx1REUzRCcsICdCJ10sXG5cdFsnXHVEODM1XHVERTNFJywgJ0MnXSxcblx0WydcdUQ4MzVcdURFM0YnLCAnRCddLFxuXHRbJ1x1RDgzNVx1REU0MCcsICdFJ10sXG5cdFsnXHVEODM1XHVERTQxJywgJ0YnXSxcblx0WydcdUQ4MzVcdURFNDInLCAnRyddLFxuXHRbJ1x1RDgzNVx1REU0MycsICdIJ10sXG5cdFsnXHVEODM1XHVERTQ0JywgJ0knXSxcblx0WydcdUQ4MzVcdURFNDUnLCAnSiddLFxuXHRbJ1x1RDgzNVx1REU0NicsICdLJ10sXG5cdFsnXHVEODM1XHVERTQ3JywgJ0wnXSxcblx0WydcdUQ4MzVcdURFNDgnLCAnTSddLFxuXHRbJ1x1RDgzNVx1REU0OScsICdOJ10sXG5cdFsnXHVEODM1XHVERTRBJywgJ08nXSxcblx0WydcdUQ4MzVcdURFNEInLCAnUCddLFxuXHRbJ1x1RDgzNVx1REU0QycsICdRJ10sXG5cdFsnXHVEODM1XHVERTREJywgJ1InXSxcblx0WydcdUQ4MzVcdURFNEUnLCAnUyddLFxuXHRbJ1x1RDgzNVx1REU0RicsICdUJ10sXG5cdFsnXHVEODM1XHVERTUwJywgJ1UnXSxcblx0WydcdUQ4MzVcdURFNTEnLCAnViddLFxuXHRbJ1x1RDgzNVx1REU1MicsICdXJ10sXG5cdFsnXHVEODM1XHVERTUzJywgJ1gnXSxcblx0WydcdUQ4MzVcdURFNTQnLCAnWSddLFxuXHRbJ1x1RDgzNVx1REU1NScsICdaJ10sXG5cdFsnXHVEODM1XHVERTU2JywgJ2EnXSxcblx0WydcdUQ4MzVcdURFNTcnLCAnYiddLFxuXHRbJ1x1RDgzNVx1REU1OCcsICdjJ10sXG5cdFsnXHVEODM1XHVERTU5JywgJ2QnXSxcblx0WydcdUQ4MzVcdURFNUEnLCAnZSddLFxuXHRbJ1x1RDgzNVx1REU1QicsICdmJ10sXG5cdFsnXHVEODM1XHVERTVDJywgJ2cnXSxcblx0WydcdUQ4MzVcdURFNUQnLCAnaCddLFxuXHRbJ1x1RDgzNVx1REU1RScsICdpJ10sXG5cdFsnXHVEODM1XHVERTVGJywgJ2onXSxcblx0WydcdUQ4MzVcdURFNjAnLCAnayddLFxuXHRbJ1x1RDgzNVx1REU2MScsICdsJ10sXG5cdFsnXHVEODM1XHVERTYyJywgJ20nXSxcblx0WydcdUQ4MzVcdURFNjMnLCAnbiddLFxuXHRbJ1x1RDgzNVx1REU2NCcsICdvJ10sXG5cdFsnXHVEODM1XHVERTY1JywgJ3AnXSxcblx0WydcdUQ4MzVcdURFNjYnLCAncSddLFxuXHRbJ1x1RDgzNVx1REU2NycsICdyJ10sXG5cdFsnXHVEODM1XHVERTY4JywgJ3MnXSxcblx0WydcdUQ4MzVcdURFNjknLCAndCddLFxuXHRbJ1x1RDgzNVx1REU2QScsICd1J10sXG5cdFsnXHVEODM1XHVERTZCJywgJ3YnXSxcblx0WydcdUQ4MzVcdURFNkMnLCAndyddLFxuXHRbJ1x1RDgzNVx1REU2RCcsICd4J10sXG5cdFsnXHVEODM1XHVERTZFJywgJ3knXSxcblx0WydcdUQ4MzVcdURFNkYnLCAneiddLFxuXHRbJ1x1RDgzNVx1REU3MCcsICdBJ10sXG5cdFsnXHVEODM1XHVERTcxJywgJ0InXSxcblx0WydcdUQ4MzVcdURFNzInLCAnQyddLFxuXHRbJ1x1RDgzNVx1REU3MycsICdEJ10sXG5cdFsnXHVEODM1XHVERTc0JywgJ0UnXSxcblx0WydcdUQ4MzVcdURFNzUnLCAnRiddLFxuXHRbJ1x1RDgzNVx1REU3NicsICdHJ10sXG5cdFsnXHVEODM1XHVERTc3JywgJ0gnXSxcblx0WydcdUQ4MzVcdURFNzgnLCAnSSddLFxuXHRbJ1x1RDgzNVx1REU3OScsICdKJ10sXG5cdFsnXHVEODM1XHVERTdBJywgJ0snXSxcblx0WydcdUQ4MzVcdURFN0InLCAnTCddLFxuXHRbJ1x1RDgzNVx1REU3QycsICdNJ10sXG5cdFsnXHVEODM1XHVERTdEJywgJ04nXSxcblx0WydcdUQ4MzVcdURFN0UnLCAnTyddLFxuXHRbJ1x1RDgzNVx1REU3RicsICdQJ10sXG5cdFsnXHVEODM1XHVERTgwJywgJ1EnXSxcblx0WydcdUQ4MzVcdURFODEnLCAnUiddLFxuXHRbJ1x1RDgzNVx1REU4MicsICdTJ10sXG5cdFsnXHVEODM1XHVERTgzJywgJ1QnXSxcblx0WydcdUQ4MzVcdURFODQnLCAnVSddLFxuXHRbJ1x1RDgzNVx1REU4NScsICdWJ10sXG5cdFsnXHVEODM1XHVERTg2JywgJ1cnXSxcblx0WydcdUQ4MzVcdURFODcnLCAnWCddLFxuXHRbJ1x1RDgzNVx1REU4OCcsICdZJ10sXG5cdFsnXHVEODM1XHVERTg5JywgJ1onXSxcblx0WydcdUQ4MzVcdURFOEEnLCAnYSddLFxuXHRbJ1x1RDgzNVx1REU4QicsICdiJ10sXG5cdFsnXHVEODM1XHVERThDJywgJ2MnXSxcblx0WydcdUQ4MzVcdURFOEQnLCAnZCddLFxuXHRbJ1x1RDgzNVx1REU4RScsICdlJ10sXG5cdFsnXHVEODM1XHVERThGJywgJ2YnXSxcblx0WydcdUQ4MzVcdURFOTAnLCAnZyddLFxuXHRbJ1x1RDgzNVx1REU5MScsICdoJ10sXG5cdFsnXHVEODM1XHVERTkyJywgJ2knXSxcblx0WydcdUQ4MzVcdURFOTMnLCAnaiddLFxuXHRbJ1x1RDgzNVx1REU5NCcsICdrJ10sXG5cdFsnXHVEODM1XHVERTk1JywgJ2wnXSxcblx0WydcdUQ4MzVcdURFOTYnLCAnbSddLFxuXHRbJ1x1RDgzNVx1REU5NycsICduJ10sXG5cdFsnXHVEODM1XHVERTk4JywgJ28nXSxcblx0WydcdUQ4MzVcdURFOTknLCAncCddLFxuXHRbJ1x1RDgzNVx1REU5QScsICdxJ10sXG5cdFsnXHVEODM1XHVERTlCJywgJ3InXSxcblx0WydcdUQ4MzVcdURFOUMnLCAncyddLFxuXHRbJ1x1RDgzNVx1REU5RCcsICd0J10sXG5cdFsnXHVEODM1XHVERTlFJywgJ3UnXSxcblx0WydcdUQ4MzVcdURFOUYnLCAndiddLFxuXHRbJ1x1RDgzNVx1REVBMCcsICd3J10sXG5cdFsnXHVEODM1XHVERUExJywgJ3gnXSxcblx0WydcdUQ4MzVcdURFQTInLCAneSddLFxuXHRbJ1x1RDgzNVx1REVBMycsICd6J10sXG5cblx0Ly8gRG90bGVzcyBsZXR0ZXJzXG5cdFsnXHVEODM1XHVERUE0JywgJ2wnXSxcblx0WydcdUQ4MzVcdURFQTUnLCAnaiddLFxuXG5cdC8vIEdyZWVrXG5cdFsnXHVEODM1XHVERUUyJywgJ0EnXSxcblx0WydcdUQ4MzVcdURFRTMnLCAnQiddLFxuXHRbJ1x1RDgzNVx1REVFNCcsICdHJ10sXG5cdFsnXHVEODM1XHVERUU1JywgJ0QnXSxcblx0WydcdUQ4MzVcdURFRTYnLCAnRSddLFxuXHRbJ1x1RDgzNVx1REVFNycsICdaJ10sXG5cdFsnXHVEODM1XHVERUU4JywgJ0knXSxcblx0WydcdUQ4MzVcdURFRTknLCAnVEgnXSxcblx0WydcdUQ4MzVcdURFRUEnLCAnSSddLFxuXHRbJ1x1RDgzNVx1REVFQicsICdLJ10sXG5cdFsnXHVEODM1XHVERUVDJywgJ0wnXSxcblx0WydcdUQ4MzVcdURFRUQnLCAnTSddLFxuXHRbJ1x1RDgzNVx1REVFRScsICdOJ10sXG5cdFsnXHVEODM1XHVERUVGJywgJ0tTJ10sXG5cdFsnXHVEODM1XHVERUYwJywgJ08nXSxcblx0WydcdUQ4MzVcdURFRjEnLCAnUCddLFxuXHRbJ1x1RDgzNVx1REVGMicsICdSJ10sXG5cdFsnXHVEODM1XHVERUYzJywgJ1RIJ10sXG5cdFsnXHVEODM1XHVERUY0JywgJ1MnXSxcblx0WydcdUQ4MzVcdURFRjUnLCAnVCddLFxuXHRbJ1x1RDgzNVx1REVGNicsICdZJ10sXG5cdFsnXHVEODM1XHVERUY3JywgJ0YnXSxcblx0WydcdUQ4MzVcdURFRjgnLCAneCddLFxuXHRbJ1x1RDgzNVx1REVGOScsICdQUyddLFxuXHRbJ1x1RDgzNVx1REVGQScsICdPJ10sXG5cdFsnXHVEODM1XHVERUZCJywgJ0QnXSxcblx0WydcdUQ4MzVcdURFRkMnLCAnYSddLFxuXHRbJ1x1RDgzNVx1REVGRCcsICdiJ10sXG5cdFsnXHVEODM1XHVERUZFJywgJ2cnXSxcblx0WydcdUQ4MzVcdURFRkYnLCAnZCddLFxuXHRbJ1x1RDgzNVx1REYwMCcsICdlJ10sXG5cdFsnXHVEODM1XHVERjAxJywgJ3onXSxcblx0WydcdUQ4MzVcdURGMDInLCAnaSddLFxuXHRbJ1x1RDgzNVx1REYwMycsICd0aCddLFxuXHRbJ1x1RDgzNVx1REYwNCcsICdpJ10sXG5cdFsnXHVEODM1XHVERjA1JywgJ2snXSxcblx0WydcdUQ4MzVcdURGMDYnLCAnbCddLFxuXHRbJ1x1RDgzNVx1REYwNycsICdtJ10sXG5cdFsnXHVEODM1XHVERjA4JywgJ24nXSxcblx0WydcdUQ4MzVcdURGMDknLCAna3MnXSxcblx0WydcdUQ4MzVcdURGMEEnLCAnbyddLFxuXHRbJ1x1RDgzNVx1REYwQicsICdwJ10sXG5cdFsnXHVEODM1XHVERjBDJywgJ3InXSxcblx0WydcdUQ4MzVcdURGMEQnLCAncyddLFxuXHRbJ1x1RDgzNVx1REYwRScsICdzJ10sXG5cdFsnXHVEODM1XHVERjBGJywgJ3QnXSxcblx0WydcdUQ4MzVcdURGMTAnLCAneSddLFxuXHRbJ1x1RDgzNVx1REYxMScsICdmJ10sXG5cdFsnXHVEODM1XHVERjEyJywgJ3gnXSxcblx0WydcdUQ4MzVcdURGMTMnLCAncHMnXSxcblx0WydcdUQ4MzVcdURGMTQnLCAnbyddLFxuXHRbJ1x1RDgzNVx1REYxNScsICdkJ10sXG5cdFsnXHVEODM1XHVERjE2JywgJ0UnXSxcblx0WydcdUQ4MzVcdURGMTcnLCAnVEgnXSxcblx0WydcdUQ4MzVcdURGMTgnLCAnSyddLFxuXHRbJ1x1RDgzNVx1REYxOScsICdmJ10sXG5cdFsnXHVEODM1XHVERjFBJywgJ3InXSxcblx0WydcdUQ4MzVcdURGMUInLCAncCddLFxuXHRbJ1x1RDgzNVx1REYxQycsICdBJ10sXG5cdFsnXHVEODM1XHVERjFEJywgJ1YnXSxcblx0WydcdUQ4MzVcdURGMUUnLCAnRyddLFxuXHRbJ1x1RDgzNVx1REYxRicsICdEJ10sXG5cdFsnXHVEODM1XHVERjIwJywgJ0UnXSxcblx0WydcdUQ4MzVcdURGMjEnLCAnWiddLFxuXHRbJ1x1RDgzNVx1REYyMicsICdJJ10sXG5cdFsnXHVEODM1XHVERjIzJywgJ1RIJ10sXG5cdFsnXHVEODM1XHVERjI0JywgJ0knXSxcblx0WydcdUQ4MzVcdURGMjUnLCAnSyddLFxuXHRbJ1x1RDgzNVx1REYyNicsICdMJ10sXG5cdFsnXHVEODM1XHVERjI3JywgJ00nXSxcblx0WydcdUQ4MzVcdURGMjgnLCAnTiddLFxuXHRbJ1x1RDgzNVx1REYyOScsICdLUyddLFxuXHRbJ1x1RDgzNVx1REYyQScsICdPJ10sXG5cdFsnXHVEODM1XHVERjJCJywgJ1AnXSxcblx0WydcdUQ4MzVcdURGMkMnLCAnUyddLFxuXHRbJ1x1RDgzNVx1REYyRCcsICdUSCddLFxuXHRbJ1x1RDgzNVx1REYyRScsICdTJ10sXG5cdFsnXHVEODM1XHVERjJGJywgJ1QnXSxcblx0WydcdUQ4MzVcdURGMzAnLCAnWSddLFxuXHRbJ1x1RDgzNVx1REYzMScsICdGJ10sXG5cdFsnXHVEODM1XHVERjMyJywgJ1gnXSxcblx0WydcdUQ4MzVcdURGMzMnLCAnUFMnXSxcblx0WydcdUQ4MzVcdURGMzQnLCAnTyddLFxuXHRbJ1x1RDgzNVx1REYzNScsICdEJ10sXG5cdFsnXHVEODM1XHVERjM2JywgJ2EnXSxcblx0WydcdUQ4MzVcdURGMzcnLCAndiddLFxuXHRbJ1x1RDgzNVx1REYzOCcsICdnJ10sXG5cdFsnXHVEODM1XHVERjM5JywgJ2QnXSxcblx0WydcdUQ4MzVcdURGM0EnLCAnZSddLFxuXHRbJ1x1RDgzNVx1REYzQicsICd6J10sXG5cdFsnXHVEODM1XHVERjNDJywgJ2knXSxcblx0WydcdUQ4MzVcdURGM0QnLCAndGgnXSxcblx0WydcdUQ4MzVcdURGM0UnLCAnaSddLFxuXHRbJ1x1RDgzNVx1REYzRicsICdrJ10sXG5cdFsnXHVEODM1XHVERjQwJywgJ2wnXSxcblx0WydcdUQ4MzVcdURGNDEnLCAnbSddLFxuXHRbJ1x1RDgzNVx1REY0MicsICduJ10sXG5cdFsnXHVEODM1XHVERjQzJywgJ2tzJ10sXG5cdFsnXHVEODM1XHVERjQ0JywgJ28nXSxcblx0WydcdUQ4MzVcdURGNDUnLCAncCddLFxuXHRbJ1x1RDgzNVx1REY0NicsICdyJ10sXG5cdFsnXHVEODM1XHVERjQ3JywgJ3MnXSxcblx0WydcdUQ4MzVcdURGNDgnLCAncyddLFxuXHRbJ1x1RDgzNVx1REY0OScsICd0J10sXG5cdFsnXHVEODM1XHVERjRBJywgJ3knXSxcblx0WydcdUQ4MzVcdURGNEInLCAnZiddLFxuXHRbJ1x1RDgzNVx1REY0QycsICd4J10sXG5cdFsnXHVEODM1XHVERjREJywgJ3BzJ10sXG5cdFsnXHVEODM1XHVERjRFJywgJ28nXSxcblx0WydcdUQ4MzVcdURGNEYnLCAnYSddLFxuXHRbJ1x1RDgzNVx1REY1MCcsICdlJ10sXG5cdFsnXHVEODM1XHVERjUxJywgJ2knXSxcblx0WydcdUQ4MzVcdURGNTInLCAnayddLFxuXHRbJ1x1RDgzNVx1REY1MycsICdmJ10sXG5cdFsnXHVEODM1XHVERjU0JywgJ3InXSxcblx0WydcdUQ4MzVcdURGNTUnLCAncCddLFxuXHRbJ1x1RDgzNVx1REY1NicsICdBJ10sXG5cdFsnXHVEODM1XHVERjU3JywgJ0InXSxcblx0WydcdUQ4MzVcdURGNTgnLCAnRyddLFxuXHRbJ1x1RDgzNVx1REY1OScsICdEJ10sXG5cdFsnXHVEODM1XHVERjVBJywgJ0UnXSxcblx0WydcdUQ4MzVcdURGNUInLCAnWiddLFxuXHRbJ1x1RDgzNVx1REY1QycsICdJJ10sXG5cdFsnXHVEODM1XHVERjVEJywgJ1RIJ10sXG5cdFsnXHVEODM1XHVERjVFJywgJ0knXSxcblx0WydcdUQ4MzVcdURGNUYnLCAnSyddLFxuXHRbJ1x1RDgzNVx1REY2MCcsICdMJ10sXG5cdFsnXHVEODM1XHVERjYxJywgJ00nXSxcblx0WydcdUQ4MzVcdURGNjInLCAnTiddLFxuXHRbJ1x1RDgzNVx1REY2MycsICdLUyddLFxuXHRbJ1x1RDgzNVx1REY2NCcsICdPJ10sXG5cdFsnXHVEODM1XHVERjY1JywgJ1AnXSxcblx0WydcdUQ4MzVcdURGNjYnLCAnUiddLFxuXHRbJ1x1RDgzNVx1REY2NycsICdUSCddLFxuXHRbJ1x1RDgzNVx1REY2OCcsICdTJ10sXG5cdFsnXHVEODM1XHVERjY5JywgJ1QnXSxcblx0WydcdUQ4MzVcdURGNkEnLCAnWSddLFxuXHRbJ1x1RDgzNVx1REY2QicsICdGJ10sXG5cdFsnXHVEODM1XHVERjZDJywgJ1gnXSxcblx0WydcdUQ4MzVcdURGNkQnLCAnUFMnXSxcblx0WydcdUQ4MzVcdURGNkUnLCAnTyddLFxuXHRbJ1x1RDgzNVx1REY2RicsICdEJ10sXG5cdFsnXHVEODM1XHVERjcwJywgJ2EnXSxcblx0WydcdUQ4MzVcdURGNzEnLCAndiddLFxuXHRbJ1x1RDgzNVx1REY3MicsICdnJ10sXG5cdFsnXHVEODM1XHVERjczJywgJ2QnXSxcblx0WydcdUQ4MzVcdURGNzQnLCAnZSddLFxuXHRbJ1x1RDgzNVx1REY3NScsICd6J10sXG5cdFsnXHVEODM1XHVERjc2JywgJ2knXSxcblx0WydcdUQ4MzVcdURGNzcnLCAndGgnXSxcblx0WydcdUQ4MzVcdURGNzgnLCAnaSddLFxuXHRbJ1x1RDgzNVx1REY3OScsICdrJ10sXG5cdFsnXHVEODM1XHVERjdBJywgJ2wnXSxcblx0WydcdUQ4MzVcdURGN0InLCAnbSddLFxuXHRbJ1x1RDgzNVx1REY3QycsICduJ10sXG5cdFsnXHVEODM1XHVERjdEJywgJ2tzJ10sXG5cdFsnXHVEODM1XHVERjdFJywgJ28nXSxcblx0WydcdUQ4MzVcdURGN0YnLCAncCddLFxuXHRbJ1x1RDgzNVx1REY4MCcsICdyJ10sXG5cdFsnXHVEODM1XHVERjgxJywgJ3MnXSxcblx0WydcdUQ4MzVcdURGODInLCAncyddLFxuXHRbJ1x1RDgzNVx1REY4MycsICd0J10sXG5cdFsnXHVEODM1XHVERjg0JywgJ3knXSxcblx0WydcdUQ4MzVcdURGODUnLCAnZiddLFxuXHRbJ1x1RDgzNVx1REY4NicsICd4J10sXG5cdFsnXHVEODM1XHVERjg3JywgJ3BzJ10sXG5cdFsnXHVEODM1XHVERjg4JywgJ28nXSxcblx0WydcdUQ4MzVcdURGODknLCAnYSddLFxuXHRbJ1x1RDgzNVx1REY4QScsICdlJ10sXG5cdFsnXHVEODM1XHVERjhCJywgJ2knXSxcblx0WydcdUQ4MzVcdURGOEMnLCAnayddLFxuXHRbJ1x1RDgzNVx1REY4RCcsICdmJ10sXG5cdFsnXHVEODM1XHVERjhFJywgJ3InXSxcblx0WydcdUQ4MzVcdURGOEYnLCAncCddLFxuXHRbJ1x1RDgzNVx1REY5MCcsICdBJ10sXG5cdFsnXHVEODM1XHVERjkxJywgJ1YnXSxcblx0WydcdUQ4MzVcdURGOTInLCAnRyddLFxuXHRbJ1x1RDgzNVx1REY5MycsICdEJ10sXG5cdFsnXHVEODM1XHVERjk0JywgJ0UnXSxcblx0WydcdUQ4MzVcdURGOTUnLCAnWiddLFxuXHRbJ1x1RDgzNVx1REY5NicsICdJJ10sXG5cdFsnXHVEODM1XHVERjk3JywgJ1RIJ10sXG5cdFsnXHVEODM1XHVERjk4JywgJ0knXSxcblx0WydcdUQ4MzVcdURGOTknLCAnSyddLFxuXHRbJ1x1RDgzNVx1REY5QScsICdMJ10sXG5cdFsnXHVEODM1XHVERjlCJywgJ00nXSxcblx0WydcdUQ4MzVcdURGOUMnLCAnTiddLFxuXHRbJ1x1RDgzNVx1REY5RCcsICdLUyddLFxuXHRbJ1x1RDgzNVx1REY5RScsICdPJ10sXG5cdFsnXHVEODM1XHVERjlGJywgJ1AnXSxcblx0WydcdUQ4MzVcdURGQTAnLCAnUyddLFxuXHRbJ1x1RDgzNVx1REZBMScsICdUSCddLFxuXHRbJ1x1RDgzNVx1REZBMicsICdTJ10sXG5cdFsnXHVEODM1XHVERkEzJywgJ1QnXSxcblx0WydcdUQ4MzVcdURGQTQnLCAnWSddLFxuXHRbJ1x1RDgzNVx1REZBNScsICdGJ10sXG5cdFsnXHVEODM1XHVERkE2JywgJ1gnXSxcblx0WydcdUQ4MzVcdURGQTcnLCAnUFMnXSxcblx0WydcdUQ4MzVcdURGQTgnLCAnTyddLFxuXHRbJ1x1RDgzNVx1REZBOScsICdEJ10sXG5cdFsnXHVEODM1XHVERkFBJywgJ2F2J10sXG5cdFsnXHVEODM1XHVERkFCJywgJ2cnXSxcblx0WydcdUQ4MzVcdURGQUMnLCAnZCddLFxuXHRbJ1x1RDgzNVx1REZBRCcsICdlJ10sXG5cdFsnXHVEODM1XHVERkFFJywgJ3onXSxcblx0WydcdUQ4MzVcdURGQUYnLCAnaSddLFxuXHRbJ1x1RDgzNVx1REZCMCcsICdpJ10sXG5cdFsnXHVEODM1XHVERkIxJywgJ3RoJ10sXG5cdFsnXHVEODM1XHVERkIyJywgJ2knXSxcblx0WydcdUQ4MzVcdURGQjMnLCAnayddLFxuXHRbJ1x1RDgzNVx1REZCNCcsICdsJ10sXG5cdFsnXHVEODM1XHVERkI1JywgJ20nXSxcblx0WydcdUQ4MzVcdURGQjYnLCAnbiddLFxuXHRbJ1x1RDgzNVx1REZCNycsICdrcyddLFxuXHRbJ1x1RDgzNVx1REZCOCcsICdvJ10sXG5cdFsnXHVEODM1XHVERkI5JywgJ3AnXSxcblx0WydcdUQ4MzVcdURGQkEnLCAnciddLFxuXHRbJ1x1RDgzNVx1REZCQicsICdzJ10sXG5cdFsnXHVEODM1XHVERkJDJywgJ3MnXSxcblx0WydcdUQ4MzVcdURGQkQnLCAndCddLFxuXHRbJ1x1RDgzNVx1REZCRScsICd5J10sXG5cdFsnXHVEODM1XHVERkJGJywgJ2YnXSxcblx0WydcdUQ4MzVcdURGQzAnLCAneCddLFxuXHRbJ1x1RDgzNVx1REZDMScsICdwcyddLFxuXHRbJ1x1RDgzNVx1REZDMicsICdvJ10sXG5cdFsnXHVEODM1XHVERkMzJywgJ2EnXSxcblx0WydcdUQ4MzVcdURGQzQnLCAnZSddLFxuXHRbJ1x1RDgzNVx1REZDNScsICdpJ10sXG5cdFsnXHVEODM1XHVERkM2JywgJ2snXSxcblx0WydcdUQ4MzVcdURGQzcnLCAnZiddLFxuXHRbJ1x1RDgzNVx1REZDOCcsICdyJ10sXG5cdFsnXHVEODM1XHVERkM5JywgJ3AnXSxcblx0WydcdUQ4MzVcdURGQ0EnLCAnRiddLFxuXHRbJ1x1RDgzNVx1REZDQicsICdmJ10sXG5cdFsnXHUyNDlDJywgJyhhKSddLFxuXHRbJ1x1MjQ5RCcsICcoYiknXSxcblx0WydcdTI0OUUnLCAnKGMpJ10sXG5cdFsnXHUyNDlGJywgJyhkKSddLFxuXHRbJ1x1MjRBMCcsICcoZSknXSxcblx0WydcdTI0QTEnLCAnKGYpJ10sXG5cdFsnXHUyNEEyJywgJyhnKSddLFxuXHRbJ1x1MjRBMycsICcoaCknXSxcblx0WydcdTI0QTQnLCAnKGkpJ10sXG5cdFsnXHUyNEE1JywgJyhqKSddLFxuXHRbJ1x1MjRBNicsICcoayknXSxcblx0WydcdTI0QTcnLCAnKGwpJ10sXG5cdFsnXHUyNEE4JywgJyhtKSddLFxuXHRbJ1x1MjRBOScsICcobiknXSxcblx0WydcdTI0QUEnLCAnKG8pJ10sXG5cdFsnXHUyNEFCJywgJyhwKSddLFxuXHRbJ1x1MjRBQycsICcocSknXSxcblx0WydcdTI0QUQnLCAnKHIpJ10sXG5cdFsnXHUyNEFFJywgJyhzKSddLFxuXHRbJ1x1MjRBRicsICcodCknXSxcblx0WydcdTI0QjAnLCAnKHUpJ10sXG5cdFsnXHUyNEIxJywgJyh2KSddLFxuXHRbJ1x1MjRCMicsICcodyknXSxcblx0WydcdTI0QjMnLCAnKHgpJ10sXG5cdFsnXHUyNEI0JywgJyh5KSddLFxuXHRbJ1x1MjRCNScsICcoeiknXSxcblx0WydcdTI0QjYnLCAnKEEpJ10sXG5cdFsnXHUyNEI3JywgJyhCKSddLFxuXHRbJ1x1MjRCOCcsICcoQyknXSxcblx0WydcdTI0QjknLCAnKEQpJ10sXG5cdFsnXHUyNEJBJywgJyhFKSddLFxuXHRbJ1x1MjRCQicsICcoRiknXSxcblx0WydcdTI0QkMnLCAnKEcpJ10sXG5cdFsnXHUyNEJEJywgJyhIKSddLFxuXHRbJ1x1MjRCRScsICcoSSknXSxcblx0WydcdTI0QkYnLCAnKEopJ10sXG5cdFsnXHUyNEMwJywgJyhLKSddLFxuXHRbJ1x1MjRDMScsICcoTCknXSxcblx0WydcdTI0QzMnLCAnKE4pJ10sXG5cdFsnXHUyNEM0JywgJyhPKSddLFxuXHRbJ1x1MjRDNScsICcoUCknXSxcblx0WydcdTI0QzYnLCAnKFEpJ10sXG5cdFsnXHUyNEM3JywgJyhSKSddLFxuXHRbJ1x1MjRDOCcsICcoUyknXSxcblx0WydcdTI0QzknLCAnKFQpJ10sXG5cdFsnXHUyNENBJywgJyhVKSddLFxuXHRbJ1x1MjRDQicsICcoViknXSxcblx0WydcdTI0Q0MnLCAnKFcpJ10sXG5cdFsnXHUyNENEJywgJyhYKSddLFxuXHRbJ1x1MjRDRScsICcoWSknXSxcblx0WydcdTI0Q0YnLCAnKFopJ10sXG5cdFsnXHUyNEQwJywgJyhhKSddLFxuXHRbJ1x1MjREMScsICcoYiknXSxcblx0WydcdTI0RDInLCAnKGIpJ10sXG5cdFsnXHUyNEQzJywgJyhjKSddLFxuXHRbJ1x1MjRENCcsICcoZSknXSxcblx0WydcdTI0RDUnLCAnKGYpJ10sXG5cdFsnXHUyNEQ2JywgJyhnKSddLFxuXHRbJ1x1MjRENycsICcoaCknXSxcblx0WydcdTI0RDgnLCAnKGkpJ10sXG5cdFsnXHUyNEQ5JywgJyhqKSddLFxuXHRbJ1x1MjREQScsICcoayknXSxcblx0WydcdTI0REInLCAnKGwpJ10sXG5cdFsnXHUyNERDJywgJyhtKSddLFxuXHRbJ1x1MjRERCcsICcobiknXSxcblx0WydcdTI0REUnLCAnKG8pJ10sXG5cdFsnXHUyNERGJywgJyhwKSddLFxuXHRbJ1x1MjRFMCcsICcocSknXSxcblx0WydcdTI0RTEnLCAnKHIpJ10sXG5cdFsnXHUyNEUyJywgJyhzKSddLFxuXHRbJ1x1MjRFMycsICcodCknXSxcblx0WydcdTI0RTQnLCAnKHUpJ10sXG5cdFsnXHUyNEU1JywgJyh2KSddLFxuXHRbJ1x1MjRFNicsICcodyknXSxcblx0WydcdTI0RTcnLCAnKHgpJ10sXG5cdFsnXHUyNEU4JywgJyh5KSddLFxuXHRbJ1x1MjRFOScsICcoeiknXSxcblxuXHQvLyBNYWx0ZXNlXG5cdFsnXHUwMTBBJywgJ0MnXSxcblx0WydcdTAxMEInLCAnYyddLFxuXHRbJ1x1MDEyMCcsICdHJ10sXG5cdFsnXHUwMTIxJywgJ2cnXSxcblx0WydcdTAxMjYnLCAnSCddLFxuXHRbJ1x1MDEyNycsICdoJ10sXG5cdFsnXHUwMTdCJywgJ1onXSxcblx0WydcdTAxN0MnLCAneiddLFxuXG5cdC8vIE51bWJlcnNcblx0WydcdUQ4MzVcdURGQ0UnLCAnMCddLFxuXHRbJ1x1RDgzNVx1REZDRicsICcxJ10sXG5cdFsnXHVEODM1XHVERkQwJywgJzInXSxcblx0WydcdUQ4MzVcdURGRDEnLCAnMyddLFxuXHRbJ1x1RDgzNVx1REZEMicsICc0J10sXG5cdFsnXHVEODM1XHVERkQzJywgJzUnXSxcblx0WydcdUQ4MzVcdURGRDQnLCAnNiddLFxuXHRbJ1x1RDgzNVx1REZENScsICc3J10sXG5cdFsnXHVEODM1XHVERkQ2JywgJzgnXSxcblx0WydcdUQ4MzVcdURGRDcnLCAnOSddLFxuXHRbJ1x1RDgzNVx1REZEOCcsICcwJ10sXG5cdFsnXHVEODM1XHVERkQ5JywgJzEnXSxcblx0WydcdUQ4MzVcdURGREEnLCAnMiddLFxuXHRbJ1x1RDgzNVx1REZEQicsICczJ10sXG5cdFsnXHVEODM1XHVERkRDJywgJzQnXSxcblx0WydcdUQ4MzVcdURGREQnLCAnNSddLFxuXHRbJ1x1RDgzNVx1REZERScsICc2J10sXG5cdFsnXHVEODM1XHVERkRGJywgJzcnXSxcblx0WydcdUQ4MzVcdURGRTAnLCAnOCddLFxuXHRbJ1x1RDgzNVx1REZFMScsICc5J10sXG5cdFsnXHVEODM1XHVERkUyJywgJzAnXSxcblx0WydcdUQ4MzVcdURGRTMnLCAnMSddLFxuXHRbJ1x1RDgzNVx1REZFNCcsICcyJ10sXG5cdFsnXHVEODM1XHVERkU1JywgJzMnXSxcblx0WydcdUQ4MzVcdURGRTYnLCAnNCddLFxuXHRbJ1x1RDgzNVx1REZFNycsICc1J10sXG5cdFsnXHVEODM1XHVERkU4JywgJzYnXSxcblx0WydcdUQ4MzVcdURGRTknLCAnNyddLFxuXHRbJ1x1RDgzNVx1REZFQScsICc4J10sXG5cdFsnXHVEODM1XHVERkVCJywgJzknXSxcblx0WydcdUQ4MzVcdURGRUMnLCAnMCddLFxuXHRbJ1x1RDgzNVx1REZFRCcsICcxJ10sXG5cdFsnXHVEODM1XHVERkVFJywgJzInXSxcblx0WydcdUQ4MzVcdURGRUYnLCAnMyddLFxuXHRbJ1x1RDgzNVx1REZGMCcsICc0J10sXG5cdFsnXHVEODM1XHVERkYxJywgJzUnXSxcblx0WydcdUQ4MzVcdURGRjInLCAnNiddLFxuXHRbJ1x1RDgzNVx1REZGMycsICc3J10sXG5cdFsnXHVEODM1XHVERkY0JywgJzgnXSxcblx0WydcdUQ4MzVcdURGRjUnLCAnOSddLFxuXHRbJ1x1RDgzNVx1REZGNicsICcwJ10sXG5cdFsnXHVEODM1XHVERkY3JywgJzEnXSxcblx0WydcdUQ4MzVcdURGRjgnLCAnMiddLFxuXHRbJ1x1RDgzNVx1REZGOScsICczJ10sXG5cdFsnXHVEODM1XHVERkZBJywgJzQnXSxcblx0WydcdUQ4MzVcdURGRkInLCAnNSddLFxuXHRbJ1x1RDgzNVx1REZGQycsICc2J10sXG5cdFsnXHVEODM1XHVERkZEJywgJzcnXSxcblx0WydcdUQ4MzVcdURGRkUnLCAnOCddLFxuXHRbJ1x1RDgzNVx1REZGRicsICc5J10sXG5cdFsnXHUyNDYwJywgJzEnXSxcblx0WydcdTI0NjEnLCAnMiddLFxuXHRbJ1x1MjQ2MicsICczJ10sXG5cdFsnXHUyNDYzJywgJzQnXSxcblx0WydcdTI0NjQnLCAnNSddLFxuXHRbJ1x1MjQ2NScsICc2J10sXG5cdFsnXHUyNDY2JywgJzcnXSxcblx0WydcdTI0NjcnLCAnOCddLFxuXHRbJ1x1MjQ2OCcsICc5J10sXG5cdFsnXHUyNDY5JywgJzEwJ10sXG5cdFsnXHUyNDZBJywgJzExJ10sXG5cdFsnXHUyNDZCJywgJzEyJ10sXG5cdFsnXHUyNDZDJywgJzEzJ10sXG5cdFsnXHUyNDZEJywgJzE0J10sXG5cdFsnXHUyNDZFJywgJzE1J10sXG5cdFsnXHUyNDZGJywgJzE2J10sXG5cdFsnXHUyNDcwJywgJzE3J10sXG5cdFsnXHUyNDcxJywgJzE4J10sXG5cdFsnXHUyNDcyJywgJzE5J10sXG5cdFsnXHUyNDczJywgJzIwJ10sXG5cdFsnXHUyNDc0JywgJzEnXSxcblx0WydcdTI0NzUnLCAnMiddLFxuXHRbJ1x1MjQ3NicsICczJ10sXG5cdFsnXHUyNDc3JywgJzQnXSxcblx0WydcdTI0NzgnLCAnNSddLFxuXHRbJ1x1MjQ3OScsICc2J10sXG5cdFsnXHUyNDdBJywgJzcnXSxcblx0WydcdTI0N0InLCAnOCddLFxuXHRbJ1x1MjQ3QycsICc5J10sXG5cdFsnXHUyNDdEJywgJzEwJ10sXG5cdFsnXHUyNDdFJywgJzExJ10sXG5cdFsnXHUyNDdGJywgJzEyJ10sXG5cdFsnXHUyNDgwJywgJzEzJ10sXG5cdFsnXHUyNDgxJywgJzE0J10sXG5cdFsnXHUyNDgyJywgJzE1J10sXG5cdFsnXHUyNDgzJywgJzE2J10sXG5cdFsnXHUyNDg0JywgJzE3J10sXG5cdFsnXHUyNDg1JywgJzE4J10sXG5cdFsnXHUyNDg2JywgJzE5J10sXG5cdFsnXHUyNDg3JywgJzIwJ10sXG5cdFsnXHUyNDg4JywgJzEuJ10sXG5cdFsnXHUyNDg5JywgJzIuJ10sXG5cdFsnXHUyNDhBJywgJzMuJ10sXG5cdFsnXHUyNDhCJywgJzQuJ10sXG5cdFsnXHUyNDhDJywgJzUuJ10sXG5cdFsnXHUyNDhEJywgJzYuJ10sXG5cdFsnXHUyNDhFJywgJzcuJ10sXG5cdFsnXHUyNDhGJywgJzguJ10sXG5cdFsnXHUyNDkwJywgJzkuJ10sXG5cdFsnXHUyNDkxJywgJzEwLiddLFxuXHRbJ1x1MjQ5MicsICcxMS4nXSxcblx0WydcdTI0OTMnLCAnMTIuJ10sXG5cdFsnXHUyNDk0JywgJzEzLiddLFxuXHRbJ1x1MjQ5NScsICcxNC4nXSxcblx0WydcdTI0OTYnLCAnMTUuJ10sXG5cdFsnXHUyNDk3JywgJzE2LiddLFxuXHRbJ1x1MjQ5OCcsICcxNy4nXSxcblx0WydcdTI0OTknLCAnMTguJ10sXG5cdFsnXHUyNDlBJywgJzE5LiddLFxuXHRbJ1x1MjQ5QicsICcyMC4nXSxcblx0WydcdTI0RUEnLCAnMCddLFxuXHRbJ1x1MjRFQicsICcxMSddLFxuXHRbJ1x1MjRFQycsICcxMiddLFxuXHRbJ1x1MjRFRCcsICcxMyddLFxuXHRbJ1x1MjRFRScsICcxNCddLFxuXHRbJ1x1MjRFRicsICcxNSddLFxuXHRbJ1x1MjRGMCcsICcxNiddLFxuXHRbJ1x1MjRGMScsICcxNyddLFxuXHRbJ1x1MjRGMicsICcxOCddLFxuXHRbJ1x1MjRGMycsICcxOSddLFxuXHRbJ1x1MjRGNCcsICcyMCddLFxuXHRbJ1x1MjRGNScsICcxJ10sXG5cdFsnXHUyNEY2JywgJzInXSxcblx0WydcdTI0RjcnLCAnMyddLFxuXHRbJ1x1MjRGOCcsICc0J10sXG5cdFsnXHUyNEY5JywgJzUnXSxcblx0WydcdTI0RkEnLCAnNiddLFxuXHRbJ1x1MjRGQicsICc3J10sXG5cdFsnXHUyNEZDJywgJzgnXSxcblx0WydcdTI0RkQnLCAnOSddLFxuXHRbJ1x1MjRGRScsICcxMCddLFxuXHRbJ1x1MjRGRicsICcwJ10sXG5cblx0Ly8gUHVuY3R1YXRpb25cblx0WydcdUQ4M0RcdURFNzAnLCAnJiddLFxuXHRbJ1x1RDgzRFx1REU3MScsICcmJ10sXG5cdFsnXHVEODNEXHVERTcyJywgJyYnXSxcblx0WydcdUQ4M0RcdURFNzMnLCAnJiddLFxuXHRbJ1x1RDgzRFx1REU3NCcsICcmJ10sXG5cdFsnXHVEODNEXHVERTc1JywgJyYnXSxcblx0WydcdUQ4M0RcdURFNzYnLCAnXCInXSxcblx0WydcdUQ4M0RcdURFNzcnLCAnXCInXSxcblx0WydcdUQ4M0RcdURFNzgnLCAnXCInXSxcblx0WydcdTIwM0QnLCAnPyEnXSxcblx0WydcdUQ4M0RcdURFNzknLCAnPyEnXSxcblx0WydcdUQ4M0RcdURFN0EnLCAnPyEnXSxcblx0WydcdUQ4M0RcdURFN0InLCAnPyEnXSxcblx0WydcdUQ4M0RcdURFN0MnLCAnLyddLFxuXHRbJ1x1RDgzRFx1REU3RCcsICdcXFxcJ10sXG5cblx0Ly8gQWxjaGVteVxuXHRbJ1x1RDgzRFx1REYwNycsICdBUiddLFxuXHRbJ1x1RDgzRFx1REYwOCcsICdWJ10sXG5cdFsnXHVEODNEXHVERjA5JywgJ1YnXSxcblx0WydcdUQ4M0RcdURGMDYnLCAnVlInXSxcblx0WydcdUQ4M0RcdURGMDUnLCAnVkYnXSxcblx0WydcdUQ4M0RcdURGMjknLCAnMiddLFxuXHRbJ1x1RDgzRFx1REYyQScsICc1J10sXG5cdFsnXHVEODNEXHVERjYxJywgJ2YnXSxcblx0WydcdUQ4M0RcdURGNjInLCAnVyddLFxuXHRbJ1x1RDgzRFx1REY2MycsICdVJ10sXG5cdFsnXHVEODNEXHVERjY3JywgJ1YnXSxcblx0WydcdUQ4M0RcdURGNjgnLCAnVCddLFxuXHRbJ1x1RDgzRFx1REY2QScsICdWJ10sXG5cdFsnXHVEODNEXHVERjZCJywgJ01CJ10sXG5cdFsnXHVEODNEXHVERjZDJywgJ1ZCJ10sXG5cdFsnXHVEODNEXHVERjcyJywgJzNCJ10sXG5cdFsnXHVEODNEXHVERjczJywgJzNCJ10sXG5cblx0Ly8gRW1vamlzXG5cdFsnXHVEODNEXHVEQ0FGJywgJzEwMCddLFxuXHRbJ1x1RDgzRFx1REQxOScsICdCQUNLJ10sXG5cdFsnXHVEODNEXHVERDFBJywgJ0VORCddLFxuXHRbJ1x1RDgzRFx1REQxQicsICdPTiEnXSxcblx0WydcdUQ4M0RcdUREMUMnLCAnU09PTiddLFxuXHRbJ1x1RDgzRFx1REQxRCcsICdUT1AnXSxcblx0WydcdUQ4M0RcdUREMUUnLCAnMTgnXSxcblx0WydcdUQ4M0RcdUREMjQnLCAnYWJjJ10sXG5cdFsnXHVEODNEXHVERDIwJywgJ0FCQ0QnXSxcblx0WydcdUQ4M0RcdUREMjEnLCAnYWJjZCddLFxuXHRbJ1x1RDgzRFx1REQyMicsICcxMjM0J10sXG5cdFsnXHVEODNEXHVERDIzJywgJ1QmQCUnXSxcblx0WycjXHVGRTBGXHUyMEUzJywgJyMnXSxcblx0WycqXHVGRTBGXHUyMEUzJywgJyonXSxcblx0WycwXHVGRTBGXHUyMEUzJywgJzAnXSxcblx0WycxXHVGRTBGXHUyMEUzJywgJzEnXSxcblx0WycyXHVGRTBGXHUyMEUzJywgJzInXSxcblx0WyczXHVGRTBGXHUyMEUzJywgJzMnXSxcblx0Wyc0XHVGRTBGXHUyMEUzJywgJzQnXSxcblx0Wyc1XHVGRTBGXHUyMEUzJywgJzUnXSxcblx0Wyc2XHVGRTBGXHUyMEUzJywgJzYnXSxcblx0Wyc3XHVGRTBGXHUyMEUzJywgJzcnXSxcblx0Wyc4XHVGRTBGXHUyMEUzJywgJzgnXSxcblx0Wyc5XHVGRTBGXHUyMEUzJywgJzknXSxcblx0WydcdUQ4M0RcdUREMUYnLCAnMTAnXSxcblx0WydcdUQ4M0NcdURENzBcdUZFMEYnLCAnQSddLFxuXHRbJ1x1RDgzQ1x1REQ3MVx1RkUwRicsICdCJ10sXG5cdFsnXHVEODNDXHVERDhFJywgJ0FCJ10sXG5cdFsnXHVEODNDXHVERDkxJywgJ0NMJ10sXG5cdFsnXHVEODNDXHVERDdFXHVGRTBGJywgJ08nXSxcblx0WydcdUQ4M0NcdUREN0YnLCAnUCddLFxuXHRbJ1x1RDgzQ1x1REQ5OCcsICdTT1MnXSxcblx0WydcdUQ4M0NcdURENzInLCAnQyddLFxuXHRbJ1x1RDgzQ1x1REQ3MycsICdEJ10sXG5cdFsnXHVEODNDXHVERDc0JywgJ0UnXSxcblx0WydcdUQ4M0NcdURENzUnLCAnRiddLFxuXHRbJ1x1RDgzQ1x1REQ3NicsICdHJ10sXG5cdFsnXHVEODNDXHVERDc3JywgJ0gnXSxcblx0WydcdUQ4M0NcdURENzgnLCAnSSddLFxuXHRbJ1x1RDgzQ1x1REQ3OScsICdKJ10sXG5cdFsnXHVEODNDXHVERDdBJywgJ0snXSxcblx0WydcdUQ4M0NcdUREN0InLCAnTCddLFxuXHRbJ1x1RDgzQ1x1REQ3QycsICdNJ10sXG5cdFsnXHVEODNDXHVERDdEJywgJ04nXSxcblx0WydcdUQ4M0NcdUREODAnLCAnUSddLFxuXHRbJ1x1RDgzQ1x1REQ4MScsICdSJ10sXG5cdFsnXHVEODNDXHVERDgyJywgJ1MnXSxcblx0WydcdUQ4M0NcdUREODMnLCAnVCddLFxuXHRbJ1x1RDgzQ1x1REQ4NCcsICdVJ10sXG5cdFsnXHVEODNDXHVERDg1JywgJ1YnXSxcblx0WydcdUQ4M0NcdUREODYnLCAnVyddLFxuXHRbJ1x1RDgzQ1x1REQ4NycsICdYJ10sXG5cdFsnXHVEODNDXHVERDg4JywgJ1knXSxcblx0WydcdUQ4M0NcdUREODknLCAnWiddXG5dO1xuXG5leHBvcnQgZGVmYXVsdCByZXBsYWNlbWVudHM7XG4iLCAiaW1wb3J0IGVzY2FwZVN0cmluZ1JlZ2V4cCBmcm9tICdlc2NhcGUtc3RyaW5nLXJlZ2V4cCc7XG5pbXBvcnQgYnVpbHRpblJlcGxhY2VtZW50cyBmcm9tICcuL3JlcGxhY2VtZW50cy5qcyc7XG5cbmNvbnN0IGRvQ3VzdG9tUmVwbGFjZW1lbnRzID0gKHN0cmluZywgcmVwbGFjZW1lbnRzKSA9PiB7XG5cdGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIHJlcGxhY2VtZW50cykge1xuXHRcdC8vIFRPRE86IFVzZSBgU3RyaW5nI3JlcGxhY2VBbGwoKWAgd2hlbiB0YXJnZXRpbmcgTm9kZS5qcyAxNi5cblx0XHRzdHJpbmcgPSBzdHJpbmcucmVwbGFjZShuZXcgUmVnRXhwKGVzY2FwZVN0cmluZ1JlZ2V4cChrZXkpLCAnZycpLCB2YWx1ZSk7XG5cdH1cblxuXHRyZXR1cm4gc3RyaW5nO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gdHJhbnNsaXRlcmF0ZShzdHJpbmcsIG9wdGlvbnMpIHtcblx0aWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgYSBzdHJpbmcsIGdvdCBcXGAke3R5cGVvZiBzdHJpbmd9XFxgYCk7XG5cdH1cblxuXHRvcHRpb25zID0ge1xuXHRcdGN1c3RvbVJlcGxhY2VtZW50czogW10sXG5cdFx0Li4ub3B0aW9uc1xuXHR9O1xuXG5cdGNvbnN0IGN1c3RvbVJlcGxhY2VtZW50cyA9IG5ldyBNYXAoW1xuXHRcdC4uLmJ1aWx0aW5SZXBsYWNlbWVudHMsXG5cdFx0Li4ub3B0aW9ucy5jdXN0b21SZXBsYWNlbWVudHNcblx0XSk7XG5cblx0c3RyaW5nID0gc3RyaW5nLm5vcm1hbGl6ZSgpO1xuXHRzdHJpbmcgPSBkb0N1c3RvbVJlcGxhY2VtZW50cyhzdHJpbmcsIGN1c3RvbVJlcGxhY2VtZW50cyk7XG5cdHN0cmluZyA9IHN0cmluZy5ub3JtYWxpemUoJ05GRCcpLnJlcGxhY2UoL1xccHtEaWFjcml0aWN9L2d1LCAnJykubm9ybWFsaXplKCk7XG5cblx0cmV0dXJuIHN0cmluZztcbn1cbiIsICJjb25zdCBvdmVycmlkYWJsZVJlcGxhY2VtZW50cyA9IFtcblx0WycmJywgJyBhbmQgJ10sXG5cdFsnXHVEODNFXHVERDg0JywgJyB1bmljb3JuICddLFxuXHRbJ1x1MjY2NScsICcgbG92ZSAnXVxuXTtcblxuZXhwb3J0IGRlZmF1bHQgb3ZlcnJpZGFibGVSZXBsYWNlbWVudHM7XG4iLCAiaW1wb3J0IGVzY2FwZVN0cmluZ1JlZ2V4cCBmcm9tICdlc2NhcGUtc3RyaW5nLXJlZ2V4cCc7XG5pbXBvcnQgdHJhbnNsaXRlcmF0ZSBmcm9tICdAc2luZHJlc29yaHVzL3RyYW5zbGl0ZXJhdGUnO1xuaW1wb3J0IGJ1aWx0aW5PdmVycmlkYWJsZVJlcGxhY2VtZW50cyBmcm9tICcuL292ZXJyaWRhYmxlLXJlcGxhY2VtZW50cy5qcyc7XG5cbmNvbnN0IGRlY2FtZWxpemUgPSBzdHJpbmcgPT4ge1xuXHRyZXR1cm4gc3RyaW5nXG5cdFx0Ly8gU2VwYXJhdGUgY2FwaXRhbGl6ZWQgd29yZHMuXG5cdFx0LnJlcGxhY2UoLyhbQS1aXXsyLH0pKFxcZCspL2csICckMSAkMicpXG5cdFx0LnJlcGxhY2UoLyhbYS16XFxkXSspKFtBLVpdezIsfSkvZywgJyQxICQyJylcblxuXHRcdC5yZXBsYWNlKC8oW2EtelxcZF0pKFtBLVpdKS9nLCAnJDEgJDInKVxuXHRcdC8vIGBbYS1ydC16XWAgbWF0Y2hlcyBhbGwgbG93ZXJjYXNlIGNoYXJhY3RlcnMgZXhjZXB0IGBzYC5cblx0XHQvLyBUaGlzIGF2b2lkcyBtYXRjaGluZyBwbHVyYWwgYWNyb255bXMgbGlrZSBgQVBJc2AuXG5cdFx0LnJlcGxhY2UoLyhbQS1aXSspKFtBLVpdW2EtcnQtelxcZF0rKS9nLCAnJDEgJDInKTtcbn07XG5cbmNvbnN0IHJlbW92ZU1vb3RTZXBhcmF0b3JzID0gKHN0cmluZywgc2VwYXJhdG9yKSA9PiB7XG5cdGNvbnN0IGVzY2FwZWRTZXBhcmF0b3IgPSBlc2NhcGVTdHJpbmdSZWdleHAoc2VwYXJhdG9yKTtcblxuXHRyZXR1cm4gc3RyaW5nXG5cdFx0LnJlcGxhY2UobmV3IFJlZ0V4cChgJHtlc2NhcGVkU2VwYXJhdG9yfXsyLH1gLCAnZycpLCBzZXBhcmF0b3IpXG5cdFx0LnJlcGxhY2UobmV3IFJlZ0V4cChgXiR7ZXNjYXBlZFNlcGFyYXRvcn18JHtlc2NhcGVkU2VwYXJhdG9yfSRgLCAnZycpLCAnJyk7XG59O1xuXG5jb25zdCBidWlsZFBhdHRlcm5TbHVnID0gb3B0aW9ucyA9PiB7XG5cdGxldCBuZWdhdGlvblNldFBhdHRlcm4gPSAnYS16XFxcXGQnO1xuXHRuZWdhdGlvblNldFBhdHRlcm4gKz0gb3B0aW9ucy5sb3dlcmNhc2UgPyAnJyA6ICdBLVonO1xuXG5cdGlmIChvcHRpb25zLnByZXNlcnZlQ2hhcmFjdGVycy5sZW5ndGggPiAwKSB7XG5cdFx0Zm9yIChjb25zdCBjaGFyYWN0ZXIgb2Ygb3B0aW9ucy5wcmVzZXJ2ZUNoYXJhY3RlcnMpIHtcblx0XHRcdGlmIChjaGFyYWN0ZXIgPT09IG9wdGlvbnMuc2VwYXJhdG9yKSB7XG5cdFx0XHRcdHRocm93IG5ldyBFcnJvcihgVGhlIHNlcGFyYXRvciBjaGFyYWN0ZXIgXFxgJHtvcHRpb25zLnNlcGFyYXRvcn1cXGAgY2Fubm90IGJlIGluY2x1ZGVkIGluIHByZXNlcnZlZCBjaGFyYWN0ZXJzOiAke29wdGlvbnMucHJlc2VydmVDaGFyYWN0ZXJzfWApO1xuXHRcdFx0fVxuXG5cdFx0XHRuZWdhdGlvblNldFBhdHRlcm4gKz0gZXNjYXBlU3RyaW5nUmVnZXhwKGNoYXJhY3Rlcik7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIG5ldyBSZWdFeHAoYFteJHtuZWdhdGlvblNldFBhdHRlcm59XStgLCAnZycpO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gc2x1Z2lmeShzdHJpbmcsIG9wdGlvbnMpIHtcblx0aWYgKHR5cGVvZiBzdHJpbmcgIT09ICdzdHJpbmcnKSB7XG5cdFx0dGhyb3cgbmV3IFR5cGVFcnJvcihgRXhwZWN0ZWQgYSBzdHJpbmcsIGdvdCBcXGAke3R5cGVvZiBzdHJpbmd9XFxgYCk7XG5cdH1cblxuXHRvcHRpb25zID0ge1xuXHRcdHNlcGFyYXRvcjogJy0nLFxuXHRcdGxvd2VyY2FzZTogdHJ1ZSxcblx0XHRkZWNhbWVsaXplOiB0cnVlLFxuXHRcdGN1c3RvbVJlcGxhY2VtZW50czogW10sXG5cdFx0cHJlc2VydmVMZWFkaW5nVW5kZXJzY29yZTogZmFsc2UsXG5cdFx0cHJlc2VydmVUcmFpbGluZ0Rhc2g6IGZhbHNlLFxuXHRcdHByZXNlcnZlQ2hhcmFjdGVyczogW10sXG5cdFx0Li4ub3B0aW9uc1xuXHR9O1xuXG5cdGNvbnN0IHNob3VsZFByZXBlbmRVbmRlcnNjb3JlID0gb3B0aW9ucy5wcmVzZXJ2ZUxlYWRpbmdVbmRlcnNjb3JlICYmIHN0cmluZy5zdGFydHNXaXRoKCdfJyk7XG5cdGNvbnN0IHNob3VsZEFwcGVuZERhc2ggPSBvcHRpb25zLnByZXNlcnZlVHJhaWxpbmdEYXNoICYmIHN0cmluZy5lbmRzV2l0aCgnLScpO1xuXG5cdGNvbnN0IGN1c3RvbVJlcGxhY2VtZW50cyA9IG5ldyBNYXAoW1xuXHRcdC4uLmJ1aWx0aW5PdmVycmlkYWJsZVJlcGxhY2VtZW50cyxcblx0XHQuLi5vcHRpb25zLmN1c3RvbVJlcGxhY2VtZW50c1xuXHRdKTtcblxuXHRzdHJpbmcgPSB0cmFuc2xpdGVyYXRlKHN0cmluZywge2N1c3RvbVJlcGxhY2VtZW50c30pO1xuXG5cdGlmIChvcHRpb25zLmRlY2FtZWxpemUpIHtcblx0XHRzdHJpbmcgPSBkZWNhbWVsaXplKHN0cmluZyk7XG5cdH1cblxuXHRjb25zdCBwYXR0ZXJuU2x1ZyA9IGJ1aWxkUGF0dGVyblNsdWcob3B0aW9ucyk7XG5cblx0aWYgKG9wdGlvbnMubG93ZXJjYXNlKSB7XG5cdFx0c3RyaW5nID0gc3RyaW5nLnRvTG93ZXJDYXNlKCk7XG5cdH1cblxuXHQvLyBEZXRlY3QgY29udHJhY3Rpb25zL3Bvc3Nlc3NpdmVzIGJ5IGxvb2tpbmcgZm9yIGFueSB3b3JkIGZvbGxvd2VkIGJ5IGEgYCd0YFxuXHQvLyBvciBgJ3NgIGluIGlzb2xhdGlvbiBhbmQgdGhlbiByZW1vdmUgaXQuXG5cdHN0cmluZyA9IHN0cmluZy5yZXBsYWNlKC8oW2EtekEtWlxcZF0rKScoW3RzXSkoXFxzfCQpL2csICckMSQyJDMnKTtcblxuXHRzdHJpbmcgPSBzdHJpbmcucmVwbGFjZShwYXR0ZXJuU2x1Zywgb3B0aW9ucy5zZXBhcmF0b3IpO1xuXHRzdHJpbmcgPSBzdHJpbmcucmVwbGFjZSgvXFxcXC9nLCAnJyk7XG5cblx0aWYgKG9wdGlvbnMuc2VwYXJhdG9yKSB7XG5cdFx0c3RyaW5nID0gcmVtb3ZlTW9vdFNlcGFyYXRvcnMoc3RyaW5nLCBvcHRpb25zLnNlcGFyYXRvcik7XG5cdH1cblxuXHRpZiAoc2hvdWxkUHJlcGVuZFVuZGVyc2NvcmUpIHtcblx0XHRzdHJpbmcgPSBgXyR7c3RyaW5nfWA7XG5cdH1cblxuXHRpZiAoc2hvdWxkQXBwZW5kRGFzaCkge1xuXHRcdHN0cmluZyA9IGAke3N0cmluZ30tYDtcblx0fVxuXG5cdHJldHVybiBzdHJpbmc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzbHVnaWZ5V2l0aENvdW50ZXIoKSB7XG5cdGNvbnN0IG9jY3VycmVuY2VzID0gbmV3IE1hcCgpO1xuXG5cdGNvbnN0IGNvdW50YWJsZSA9IChzdHJpbmcsIG9wdGlvbnMpID0+IHtcblx0XHRzdHJpbmcgPSBzbHVnaWZ5KHN0cmluZywgb3B0aW9ucyk7XG5cblx0XHRpZiAoIXN0cmluZykge1xuXHRcdFx0cmV0dXJuICcnO1xuXHRcdH1cblxuXHRcdGNvbnN0IHN0cmluZ0xvd2VyID0gc3RyaW5nLnRvTG93ZXJDYXNlKCk7XG5cdFx0Y29uc3QgbnVtYmVybGVzcyA9IG9jY3VycmVuY2VzLmdldChzdHJpbmdMb3dlci5yZXBsYWNlKC8oPzotXFxkKz8pKz8kLywgJycpKSB8fCAwO1xuXHRcdGNvbnN0IGNvdW50ZXIgPSBvY2N1cnJlbmNlcy5nZXQoc3RyaW5nTG93ZXIpO1xuXHRcdG9jY3VycmVuY2VzLnNldChzdHJpbmdMb3dlciwgdHlwZW9mIGNvdW50ZXIgPT09ICdudW1iZXInID8gY291bnRlciArIDEgOiAxKTtcblx0XHRjb25zdCBuZXdDb3VudGVyID0gb2NjdXJyZW5jZXMuZ2V0KHN0cmluZ0xvd2VyKSB8fCAyO1xuXHRcdGlmIChuZXdDb3VudGVyID49IDIgfHwgbnVtYmVybGVzcyA+IDIpIHtcblx0XHRcdHN0cmluZyA9IGAke3N0cmluZ30tJHtuZXdDb3VudGVyfWA7XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHN0cmluZztcblx0fTtcblxuXHRjb3VudGFibGUucmVzZXQgPSAoKSA9PiB7XG5cdFx0b2NjdXJyZW5jZXMuY2xlYXIoKTtcblx0fTtcblxuXHRyZXR1cm4gY291bnRhYmxlO1xufVxuIiwgIi8qIGVzbGludC1kaXNhYmxlIG5vLWNvbnRyb2wtcmVnZXggKi9cblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gZmlsZW5hbWVSZXNlcnZlZFJlZ2V4KCkge1xuXHRyZXR1cm4gL1s8PjpcIi9cXFxcfD8qXFx1MDAwMC1cXHUwMDFGXS9nO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gd2luZG93c1Jlc2VydmVkTmFtZVJlZ2V4KCkge1xuXHRyZXR1cm4gL14oY29ufHBybnxhdXh8bnVsfGNvbVxcZHxscHRcXGQpJC9pO1xufVxuIiwgImltcG9ydCBmaWxlbmFtZVJlc2VydmVkUmVnZXgsIHt3aW5kb3dzUmVzZXJ2ZWROYW1lUmVnZXh9IGZyb20gJ2ZpbGVuYW1lLXJlc2VydmVkLXJlZ2V4JztcblxuLy8gRG9lc24ndCBtYWtlIHNlbnNlIHRvIGhhdmUgbG9uZ2VyIGZpbGVuYW1lc1xuY29uc3QgTUFYX0ZJTEVOQU1FX0xFTkdUSCA9IDEwMDtcblxuY29uc3QgcmVSZWxhdGl2ZVBhdGggPSAvXlxcLisoXFxcXHxcXC8pfF5cXC4rJC87XG5jb25zdCByZVRyYWlsaW5nUGVyaW9kcyA9IC9cXC4rJC87XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGZpbGVuYW1pZnkoc3RyaW5nLCBvcHRpb25zID0ge30pIHtcblx0Y29uc3QgcmVDb250cm9sQ2hhcnMgPSAvW1xcdTAwMDAtXFx1MDAxRlxcdTAwODAtXFx1MDA5Rl0vZzsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby1jb250cm9sLXJlZ2V4XG5cdGNvbnN0IHJlUmVwZWF0ZWRSZXNlcnZlZENoYXJhY3RlcnMgPSAvKFs8PjpcIi9cXFxcfD8qXFx1MDAwMC1cXHUwMDFGXSl7Mix9L2c7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbm8tY29udHJvbC1yZWdleFxuXG5cdGlmICh0eXBlb2Ygc3RyaW5nICE9PSAnc3RyaW5nJykge1xuXHRcdHRocm93IG5ldyBUeXBlRXJyb3IoJ0V4cGVjdGVkIGEgc3RyaW5nJyk7XG5cdH1cblxuXHRjb25zdCByZXBsYWNlbWVudCA9IG9wdGlvbnMucmVwbGFjZW1lbnQgPT09IHVuZGVmaW5lZCA/ICchJyA6IG9wdGlvbnMucmVwbGFjZW1lbnQ7XG5cblx0aWYgKGZpbGVuYW1lUmVzZXJ2ZWRSZWdleCgpLnRlc3QocmVwbGFjZW1lbnQpICYmIHJlQ29udHJvbENoYXJzLnRlc3QocmVwbGFjZW1lbnQpKSB7XG5cdFx0dGhyb3cgbmV3IEVycm9yKCdSZXBsYWNlbWVudCBzdHJpbmcgY2Fubm90IGNvbnRhaW4gcmVzZXJ2ZWQgZmlsZW5hbWUgY2hhcmFjdGVycycpO1xuXHR9XG5cblx0aWYgKHJlcGxhY2VtZW50Lmxlbmd0aCA+IDApIHtcblx0XHRzdHJpbmcgPSBzdHJpbmcucmVwbGFjZShyZVJlcGVhdGVkUmVzZXJ2ZWRDaGFyYWN0ZXJzLCAnJDEnKTtcblx0fVxuXG5cdHN0cmluZyA9IHN0cmluZy5ub3JtYWxpemUoJ05GRCcpO1xuXHRzdHJpbmcgPSBzdHJpbmcucmVwbGFjZShyZVJlbGF0aXZlUGF0aCwgcmVwbGFjZW1lbnQpO1xuXHRzdHJpbmcgPSBzdHJpbmcucmVwbGFjZShmaWxlbmFtZVJlc2VydmVkUmVnZXgoKSwgcmVwbGFjZW1lbnQpO1xuXHRzdHJpbmcgPSBzdHJpbmcucmVwbGFjZShyZUNvbnRyb2xDaGFycywgcmVwbGFjZW1lbnQpO1xuXHRzdHJpbmcgPSBzdHJpbmcucmVwbGFjZShyZVRyYWlsaW5nUGVyaW9kcywgJycpO1xuXG5cdGlmIChyZXBsYWNlbWVudC5sZW5ndGggPiAwKSB7XG5cdFx0Y29uc3Qgc3RhcnRlZFdpdGhEb3QgPSBzdHJpbmdbMF0gPT09ICcuJztcblxuXHRcdC8vIFdlIHJlbW92ZWQgdGhlIHdob2xlIGZpbGVuYW1lXG5cdFx0aWYgKCFzdGFydGVkV2l0aERvdCAmJiBzdHJpbmdbMF0gPT09ICcuJykge1xuXHRcdFx0c3RyaW5nID0gcmVwbGFjZW1lbnQgKyBzdHJpbmc7XG5cdFx0fVxuXG5cdFx0Ly8gV2UgcmVtb3ZlZCB0aGUgd2hvbGUgZXh0ZW5zaW9uXG5cdFx0aWYgKHN0cmluZ1tzdHJpbmcubGVuZ3RoIC0gMV0gPT09ICcuJykge1xuXHRcdFx0c3RyaW5nICs9IHJlcGxhY2VtZW50O1xuXHRcdH1cblx0fVxuXG5cdHN0cmluZyA9IHdpbmRvd3NSZXNlcnZlZE5hbWVSZWdleCgpLnRlc3Qoc3RyaW5nKSA/IHN0cmluZyArIHJlcGxhY2VtZW50IDogc3RyaW5nO1xuXHRjb25zdCBhbGxvd2VkTGVuZ3RoID0gdHlwZW9mIG9wdGlvbnMubWF4TGVuZ3RoID09PSAnbnVtYmVyJyA/IG9wdGlvbnMubWF4TGVuZ3RoIDogTUFYX0ZJTEVOQU1FX0xFTkdUSDtcblx0aWYgKHN0cmluZy5sZW5ndGggPiBhbGxvd2VkTGVuZ3RoKSB7XG5cdFx0Y29uc3QgZXh0ZW5zaW9uSW5kZXggPSBzdHJpbmcubGFzdEluZGV4T2YoJy4nKTtcblx0XHRpZiAoZXh0ZW5zaW9uSW5kZXggPT09IC0xKSB7XG5cdFx0XHRzdHJpbmcgPSBzdHJpbmcuc2xpY2UoMCwgYWxsb3dlZExlbmd0aCk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IGZpbGVuYW1lID0gc3RyaW5nLnNsaWNlKDAsIGV4dGVuc2lvbkluZGV4KTtcblx0XHRcdGNvbnN0IGV4dGVuc2lvbiA9IHN0cmluZy5zbGljZShleHRlbnNpb25JbmRleCk7XG5cdFx0XHRzdHJpbmcgPSBmaWxlbmFtZS5zbGljZSgwLCBNYXRoLm1heCgxLCBhbGxvd2VkTGVuZ3RoIC0gZXh0ZW5zaW9uLmxlbmd0aCkpICsgZXh0ZW5zaW9uO1xuXHRcdH1cblx0fVxuXG5cdHJldHVybiBzdHJpbmc7XG59XG4iLCAiLyoqXG4gKiBgbGlzdGAgdHlwZSBwcm9tcHRcbiAqL1xuXG5pbXBvcnQgYW5zaUVzY2FwZXMgZnJvbSAnYW5zaS1lc2NhcGVzJztcbmltcG9ydCBjb2xvcnMgZnJvbSAneW9jdG9jb2xvcnMtY2pzJztcbmltcG9ydCBmaWd1cmVzIGZyb20gJ0BpbnF1aXJlci9maWd1cmVzJztcbmltcG9ydCBydW5Bc3luYyBmcm9tICdydW4tYXN5bmMnO1xuaW1wb3J0IHsgZmxhdE1hcCwgbWFwLCB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCBvYnNlcnZlIGZyb20gJy4uL3V0aWxzL2V2ZW50cy5qcyc7XG5pbXBvcnQgUGFnaW5hdG9yIGZyb20gJy4uL3V0aWxzL3BhZ2luYXRvci5qcyc7XG5pbXBvcnQgaW5jcmVtZW50TGlzdEluZGV4IGZyb20gJy4uL3V0aWxzL2luY3JlbWVudExpc3RJbmRleC5qcyc7XG5pbXBvcnQgQmFzZSBmcm9tICcuL2Jhc2UuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBMaXN0UHJvbXB0IGV4dGVuZHMgQmFzZSB7XG4gIGNvbnN0cnVjdG9yKHF1ZXN0aW9ucywgcmwsIGFuc3dlcnMpIHtcbiAgICBzdXBlcihxdWVzdGlvbnMsIHJsLCBhbnN3ZXJzKTtcblxuICAgIGlmICghdGhpcy5vcHQuY2hvaWNlcykge1xuICAgICAgdGhpcy50aHJvd1BhcmFtRXJyb3IoJ2Nob2ljZXMnKTtcbiAgICB9XG5cbiAgICB0aGlzLmZpcnN0UmVuZGVyID0gdHJ1ZTtcbiAgICB0aGlzLnNlbGVjdGVkID0gMDtcblxuICAgIGNvbnN0IGRlZiA9IHRoaXMub3B0LmRlZmF1bHQ7XG5cbiAgICAvLyBJZiBkZWYgaXMgYSBOdW1iZXIsIHRoZW4gdXNlIGFzIGluZGV4LiBPdGhlcndpc2UsIGNoZWNrIGZvciB2YWx1ZS5cbiAgICBpZiAodHlwZW9mIGRlZiA9PT0gJ251bWJlcicgJiYgZGVmID49IDAgJiYgZGVmIDwgdGhpcy5vcHQuY2hvaWNlcy5yZWFsTGVuZ3RoKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkID0gZGVmO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRlZiAhPT0gJ251bWJlcicgJiYgZGVmICE9IG51bGwpIHtcbiAgICAgIGNvbnN0IGluZGV4ID0gdGhpcy5vcHQuY2hvaWNlcy5yZWFsQ2hvaWNlcy5maW5kSW5kZXgoKHsgdmFsdWUgfSkgPT4gdmFsdWUgPT09IGRlZik7XG4gICAgICB0aGlzLnNlbGVjdGVkID0gTWF0aC5tYXgoaW5kZXgsIDApO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3VyZSBubyBkZWZhdWx0IGlzIHNldCAoc28gaXQgd29uJ3QgYmUgcHJpbnRlZClcbiAgICB0aGlzLm9wdC5kZWZhdWx0ID0gbnVsbDtcblxuICAgIGNvbnN0IHNob3VsZExvb3AgPSB0aGlzLm9wdC5sb29wID09PSB1bmRlZmluZWQgPyB0cnVlIDogdGhpcy5vcHQubG9vcDtcbiAgICB0aGlzLnBhZ2luYXRvciA9IG5ldyBQYWdpbmF0b3IodGhpcy5zY3JlZW4sIHsgaXNJbmZpbml0ZTogc2hvdWxkTG9vcCB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTdGFydCB0aGUgSW5xdWlyeSBzZXNzaW9uXG4gICAqIEBwYXJhbSAge0Z1bmN0aW9ufSBjYiAgICAgIENhbGxiYWNrIHdoZW4gcHJvbXB0IGlzIGRvbmVcbiAgICogQHJldHVybiB7dGhpc31cbiAgICovXG5cbiAgX3J1bihjYikge1xuICAgIHRoaXMuZG9uZSA9IGNiO1xuXG4gICAgY29uc3QgZXZlbnRzID0gb2JzZXJ2ZSh0aGlzLnJsKTtcbiAgICBldmVudHMubm9ybWFsaXplZFVwS2V5LnBpcGUodGFrZVVudGlsKGV2ZW50cy5saW5lKSkuZm9yRWFjaCh0aGlzLm9uVXBLZXkuYmluZCh0aGlzKSk7XG4gICAgZXZlbnRzLm5vcm1hbGl6ZWREb3duS2V5XG4gICAgICAucGlwZSh0YWtlVW50aWwoZXZlbnRzLmxpbmUpKVxuICAgICAgLmZvckVhY2godGhpcy5vbkRvd25LZXkuYmluZCh0aGlzKSk7XG4gICAgZXZlbnRzLm51bWJlcktleS5waXBlKHRha2VVbnRpbChldmVudHMubGluZSkpLmZvckVhY2godGhpcy5vbk51bWJlcktleS5iaW5kKHRoaXMpKTtcbiAgICBldmVudHMubGluZVxuICAgICAgLnBpcGUoXG4gICAgICAgIHRha2UoMSksXG4gICAgICAgIG1hcCh0aGlzLmdldEN1cnJlbnRWYWx1ZS5iaW5kKHRoaXMpKSxcbiAgICAgICAgZmxhdE1hcCgodmFsdWUpID0+XG4gICAgICAgICAgcnVuQXN5bmModGhpcy5vcHQuZmlsdGVyKSh2YWx1ZSwgdGhpcy5hbnN3ZXJzKS5jYXRjaCgoZXJyb3IpID0+IGVycm9yKSxcbiAgICAgICAgKSxcbiAgICAgIClcbiAgICAgIC5mb3JFYWNoKHRoaXMub25TdWJtaXQuYmluZCh0aGlzKSk7XG5cbiAgICAvLyBJbml0IHRoZSBwcm9tcHRcbiAgICB0aGlzLnJlbmRlcigpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVyIHRoZSBwcm9tcHQgdG8gc2NyZWVuXG4gICAqIEByZXR1cm4ge0xpc3RQcm9tcHR9IHNlbGZcbiAgICovXG5cbiAgcmVuZGVyKCkge1xuICAgIC8vIFJlbmRlciBxdWVzdGlvblxuICAgIGxldCBtZXNzYWdlID0gdGhpcy5nZXRRdWVzdGlvbigpO1xuXG4gICAgaWYgKHRoaXMuZmlyc3RSZW5kZXIpIHtcbiAgICAgIG1lc3NhZ2UgKz0gY29sb3JzLmRpbSgnKFVzZSBhcnJvdyBrZXlzKScpO1xuICAgIH1cblxuICAgIC8vIFJlbmRlciBjaG9pY2VzIG9yIGFuc3dlciBkZXBlbmRpbmcgb24gdGhlIHN0YXRlXG4gICAgaWYgKHRoaXMuc3RhdHVzID09PSAnYW5zd2VyZWQnKSB7XG4gICAgICBtZXNzYWdlICs9IGNvbG9ycy5jeWFuKHRoaXMub3B0LmNob2ljZXMuZ2V0Q2hvaWNlKHRoaXMuc2VsZWN0ZWQpLnNob3J0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgY2hvaWNlc1N0ciA9IGxpc3RSZW5kZXIodGhpcy5vcHQuY2hvaWNlcywgdGhpcy5zZWxlY3RlZCk7XG4gICAgICBjb25zdCBpbmRleFBvc2l0aW9uID0gdGhpcy5vcHQuY2hvaWNlcy5pbmRleE9mKFxuICAgICAgICB0aGlzLm9wdC5jaG9pY2VzLmdldENob2ljZSh0aGlzLnNlbGVjdGVkKSxcbiAgICAgICk7XG4gICAgICBjb25zdCByZWFsSW5kZXhQb3NpdGlvbiA9XG4gICAgICAgIHRoaXMub3B0LmNob2ljZXMucmVkdWNlKChhY2MsIHZhbHVlLCBpKSA9PiB7XG4gICAgICAgICAgLy8gRG9udCBjb3VudCBsaW5lcyBwYXN0IHRoZSBjaG9pY2Ugd2UgYXJlIGxvb2tpbmcgYXRcbiAgICAgICAgICBpZiAoaSA+IGluZGV4UG9zaXRpb24pIHtcbiAgICAgICAgICAgIHJldHVybiBhY2M7XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIEFkZCBsaW5lIGlmIGl0J3MgYSBzZXBhcmF0b3JcbiAgICAgICAgICBpZiAodmFsdWUudHlwZSA9PT0gJ3NlcGFyYXRvcicpIHtcbiAgICAgICAgICAgIHJldHVybiBhY2MgKyAxO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGxldCBsID0gdmFsdWUubmFtZTtcbiAgICAgICAgICAvLyBOb24tc3RyaW5ncyB0YWtlIHVwIG9uZSBsaW5lXG4gICAgICAgICAgaWYgKHR5cGVvZiBsICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIGFjYyArIDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gQ2FsY3VsYXRlIGxpbmVzIHRha2VuIHVwIGJ5IHN0cmluZ1xuICAgICAgICAgIGwgPSBsLnNwbGl0KCdcXG4nKTtcbiAgICAgICAgICByZXR1cm4gYWNjICsgbC5sZW5ndGg7XG4gICAgICAgIH0sIDApIC0gMTtcbiAgICAgIG1lc3NhZ2UgKz1cbiAgICAgICAgJ1xcbicgKyB0aGlzLnBhZ2luYXRvci5wYWdpbmF0ZShjaG9pY2VzU3RyLCByZWFsSW5kZXhQb3NpdGlvbiwgdGhpcy5vcHQucGFnZVNpemUpO1xuICAgIH1cblxuICAgIG1lc3NhZ2UgKz0gYW5zaUVzY2FwZXMuY3Vyc29ySGlkZTtcbiAgICB0aGlzLmZpcnN0UmVuZGVyID0gZmFsc2U7XG5cbiAgICB0aGlzLnNjcmVlbi5yZW5kZXIobWVzc2FnZSk7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB1c2VyIHByZXNzIGBlbnRlcmAga2V5XG4gICAqL1xuXG4gIG9uU3VibWl0KHZhbHVlKSB7XG4gICAgdGhpcy5zdGF0dXMgPSAnYW5zd2VyZWQnO1xuXG4gICAgLy8gUmVyZW5kZXIgcHJvbXB0XG4gICAgdGhpcy5yZW5kZXIoKTtcblxuICAgIHRoaXMuc2NyZWVuLmRvbmUoKTtcbiAgICB0aGlzLmRvbmUodmFsdWUpO1xuICB9XG5cbiAgZ2V0Q3VycmVudFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLm9wdC5jaG9pY2VzLmdldENob2ljZSh0aGlzLnNlbGVjdGVkKS52YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIHVzZXIgcHJlc3MgYSBrZXlcbiAgICovXG4gIG9uVXBLZXkoKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IGluY3JlbWVudExpc3RJbmRleCh0aGlzLnNlbGVjdGVkLCAndXAnLCB0aGlzLm9wdCk7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIG9uRG93bktleSgpIHtcbiAgICB0aGlzLnNlbGVjdGVkID0gaW5jcmVtZW50TGlzdEluZGV4KHRoaXMuc2VsZWN0ZWQsICdkb3duJywgdGhpcy5vcHQpO1xuICAgIHRoaXMucmVuZGVyKCk7XG4gIH1cblxuICBvbk51bWJlcktleShpbnB1dCkge1xuICAgIGlmIChpbnB1dCA8PSB0aGlzLm9wdC5jaG9pY2VzLnJlYWxMZW5ndGgpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSBpbnB1dCAtIDE7XG4gICAgfVxuXG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxufVxuXG4vKipcbiAqIEZ1bmN0aW9uIGZvciByZW5kZXJpbmcgbGlzdCBjaG9pY2VzXG4gKiBAcGFyYW0gIHtOdW1iZXJ9IHBvaW50ZXIgUG9zaXRpb24gb2YgdGhlIHBvaW50ZXJcbiAqIEByZXR1cm4ge1N0cmluZ30gICAgICAgICBSZW5kZXJlZCBjb250ZW50XG4gKi9cbmZ1bmN0aW9uIGxpc3RSZW5kZXIoY2hvaWNlcywgcG9pbnRlcikge1xuICBsZXQgb3V0cHV0ID0gJyc7XG4gIGxldCBzZXBhcmF0b3JPZmZzZXQgPSAwO1xuXG4gIGNob2ljZXMuZm9yRWFjaCgoY2hvaWNlLCBpKSA9PiB7XG4gICAgaWYgKGNob2ljZS50eXBlID09PSAnc2VwYXJhdG9yJykge1xuICAgICAgc2VwYXJhdG9yT2Zmc2V0Kys7XG4gICAgICBvdXRwdXQgKz0gJyAgJyArIGNob2ljZSArICdcXG4nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChjaG9pY2UuZGlzYWJsZWQpIHtcbiAgICAgIHNlcGFyYXRvck9mZnNldCsrO1xuICAgICAgb3V0cHV0ICs9ICcgIC0gJyArIGNob2ljZS5uYW1lO1xuICAgICAgb3V0cHV0ICs9IGAgKCR7XG4gICAgICAgIHR5cGVvZiBjaG9pY2UuZGlzYWJsZWQgPT09ICdzdHJpbmcnID8gY2hvaWNlLmRpc2FibGVkIDogJ0Rpc2FibGVkJ1xuICAgICAgfSlgO1xuICAgICAgb3V0cHV0ICs9ICdcXG4nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBpIC0gc2VwYXJhdG9yT2Zmc2V0ID09PSBwb2ludGVyO1xuICAgIGxldCBsaW5lID0gKGlzU2VsZWN0ZWQgPyBmaWd1cmVzLnBvaW50ZXIgKyAnICcgOiAnICAnKSArIGNob2ljZS5uYW1lO1xuICAgIGlmIChpc1NlbGVjdGVkKSB7XG4gICAgICBsaW5lID0gY29sb3JzLmN5YW4obGluZSk7XG4gICAgfVxuXG4gICAgb3V0cHV0ICs9IGxpbmUgKyAnIFxcbic7XG4gIH0pO1xuXG4gIHJldHVybiBvdXRwdXQucmVwbGFjZUFsbCgvXFxuJC9nLCAnJyk7XG59XG4iLCAiLy8gcHJvY2Vzcy5lbnYgZG90LW5vdGF0aW9uIGFjY2VzcyBwcmludHM6XG4vLyBQcm9wZXJ0eSAnVEVSTScgY29tZXMgZnJvbSBhbiBpbmRleCBzaWduYXR1cmUsIHNvIGl0IG11c3QgYmUgYWNjZXNzZWQgd2l0aCBbJ1RFUk0nXS50cyg0MTExKVxuLyogZXNsaW50IGRvdC1ub3RhdGlvbjogW1wib2ZmXCJdICovXG5pbXBvcnQgcHJvY2VzcyBmcm9tICdub2RlOnByb2Nlc3MnO1xuLy8gUG9ydGVkIGZyb20gaXMtdW5pY29kZS1zdXBwb3J0ZWRcbmZ1bmN0aW9uIGlzVW5pY29kZVN1cHBvcnRlZCgpIHtcbiAgICBpZiAocHJvY2Vzcy5wbGF0Zm9ybSAhPT0gJ3dpbjMyJykge1xuICAgICAgICByZXR1cm4gcHJvY2Vzcy5lbnZbJ1RFUk0nXSAhPT0gJ2xpbnV4JzsgLy8gTGludXggY29uc29sZSAoa2VybmVsKVxuICAgIH1cbiAgICByZXR1cm4gKEJvb2xlYW4ocHJvY2Vzcy5lbnZbJ1dUX1NFU1NJT04nXSkgfHwgLy8gV2luZG93cyBUZXJtaW5hbFxuICAgICAgICBCb29sZWFuKHByb2Nlc3MuZW52WydURVJNSU5VU19TVUJMSU1FJ10pIHx8IC8vIFRlcm1pbnVzICg8MC4yLjI3KVxuICAgICAgICBwcm9jZXNzLmVudlsnQ29uRW11VGFzayddID09PSAne2NtZDo6Q21kZXJ9JyB8fCAvLyBDb25FbXUgYW5kIGNtZGVyXG4gICAgICAgIHByb2Nlc3MuZW52WydURVJNX1BST0dSQU0nXSA9PT0gJ1Rlcm1pbnVzLVN1YmxpbWUnIHx8XG4gICAgICAgIHByb2Nlc3MuZW52WydURVJNX1BST0dSQU0nXSA9PT0gJ3ZzY29kZScgfHxcbiAgICAgICAgcHJvY2Vzcy5lbnZbJ1RFUk0nXSA9PT0gJ3h0ZXJtLTI1NmNvbG9yJyB8fFxuICAgICAgICBwcm9jZXNzLmVudlsnVEVSTSddID09PSAnYWxhY3JpdHR5JyB8fFxuICAgICAgICBwcm9jZXNzLmVudlsnVEVSTUlOQUxfRU1VTEFUT1InXSA9PT0gJ0pldEJyYWlucy1KZWRpVGVybScpO1xufVxuLy8gUG9ydGVkIGZyb20gZmlndXJlc1xuY29uc3QgY29tbW9uID0ge1xuICAgIGNpcmNsZVF1ZXN0aW9uTWFyazogJyg/KScsXG4gICAgcXVlc3Rpb25NYXJrUHJlZml4OiAnKD8pJyxcbiAgICBzcXVhcmU6ICdcdTI1ODgnLFxuICAgIHNxdWFyZURhcmtTaGFkZTogJ1x1MjU5MycsXG4gICAgc3F1YXJlTWVkaXVtU2hhZGU6ICdcdTI1OTInLFxuICAgIHNxdWFyZUxpZ2h0U2hhZGU6ICdcdTI1OTEnLFxuICAgIHNxdWFyZVRvcDogJ1x1MjU4MCcsXG4gICAgc3F1YXJlQm90dG9tOiAnXHUyNTg0JyxcbiAgICBzcXVhcmVMZWZ0OiAnXHUyNThDJyxcbiAgICBzcXVhcmVSaWdodDogJ1x1MjU5MCcsXG4gICAgc3F1YXJlQ2VudGVyOiAnXHUyNUEwJyxcbiAgICBidWxsZXQ6ICdcdTI1Q0YnLFxuICAgIGRvdDogJ1x1MjAyNCcsXG4gICAgZWxsaXBzaXM6ICdcdTIwMjYnLFxuICAgIHBvaW50ZXJTbWFsbDogJ1x1MjAzQScsXG4gICAgdHJpYW5nbGVVcDogJ1x1MjVCMicsXG4gICAgdHJpYW5nbGVVcFNtYWxsOiAnXHUyNUI0JyxcbiAgICB0cmlhbmdsZURvd246ICdcdTI1QkMnLFxuICAgIHRyaWFuZ2xlRG93blNtYWxsOiAnXHUyNUJFJyxcbiAgICB0cmlhbmdsZUxlZnRTbWFsbDogJ1x1MjVDMicsXG4gICAgdHJpYW5nbGVSaWdodFNtYWxsOiAnXHUyNUI4JyxcbiAgICBob21lOiAnXHUyMzAyJyxcbiAgICBoZWFydDogJ1x1MjY2NScsXG4gICAgbXVzaWNOb3RlOiAnXHUyNjZBJyxcbiAgICBtdXNpY05vdGVCZWFtZWQ6ICdcdTI2NkInLFxuICAgIGFycm93VXA6ICdcdTIxOTEnLFxuICAgIGFycm93RG93bjogJ1x1MjE5MycsXG4gICAgYXJyb3dMZWZ0OiAnXHUyMTkwJyxcbiAgICBhcnJvd1JpZ2h0OiAnXHUyMTkyJyxcbiAgICBhcnJvd0xlZnRSaWdodDogJ1x1MjE5NCcsXG4gICAgYXJyb3dVcERvd246ICdcdTIxOTUnLFxuICAgIGFsbW9zdEVxdWFsOiAnXHUyMjQ4JyxcbiAgICBub3RFcXVhbDogJ1x1MjI2MCcsXG4gICAgbGVzc09yRXF1YWw6ICdcdTIyNjQnLFxuICAgIGdyZWF0ZXJPckVxdWFsOiAnXHUyMjY1JyxcbiAgICBpZGVudGljYWw6ICdcdTIyNjEnLFxuICAgIGluZmluaXR5OiAnXHUyMjFFJyxcbiAgICBzdWJzY3JpcHRaZXJvOiAnXHUyMDgwJyxcbiAgICBzdWJzY3JpcHRPbmU6ICdcdTIwODEnLFxuICAgIHN1YnNjcmlwdFR3bzogJ1x1MjA4MicsXG4gICAgc3Vic2NyaXB0VGhyZWU6ICdcdTIwODMnLFxuICAgIHN1YnNjcmlwdEZvdXI6ICdcdTIwODQnLFxuICAgIHN1YnNjcmlwdEZpdmU6ICdcdTIwODUnLFxuICAgIHN1YnNjcmlwdFNpeDogJ1x1MjA4NicsXG4gICAgc3Vic2NyaXB0U2V2ZW46ICdcdTIwODcnLFxuICAgIHN1YnNjcmlwdEVpZ2h0OiAnXHUyMDg4JyxcbiAgICBzdWJzY3JpcHROaW5lOiAnXHUyMDg5JyxcbiAgICBvbmVIYWxmOiAnXHUwMEJEJyxcbiAgICBvbmVUaGlyZDogJ1x1MjE1MycsXG4gICAgb25lUXVhcnRlcjogJ1x1MDBCQycsXG4gICAgb25lRmlmdGg6ICdcdTIxNTUnLFxuICAgIG9uZVNpeHRoOiAnXHUyMTU5JyxcbiAgICBvbmVFaWdodGg6ICdcdTIxNUInLFxuICAgIHR3b1RoaXJkczogJ1x1MjE1NCcsXG4gICAgdHdvRmlmdGhzOiAnXHUyMTU2JyxcbiAgICB0aHJlZVF1YXJ0ZXJzOiAnXHUwMEJFJyxcbiAgICB0aHJlZUZpZnRoczogJ1x1MjE1NycsXG4gICAgdGhyZWVFaWdodGhzOiAnXHUyMTVDJyxcbiAgICBmb3VyRmlmdGhzOiAnXHUyMTU4JyxcbiAgICBmaXZlU2l4dGhzOiAnXHUyMTVBJyxcbiAgICBmaXZlRWlnaHRoczogJ1x1MjE1RCcsXG4gICAgc2V2ZW5FaWdodGhzOiAnXHUyMTVFJyxcbiAgICBsaW5lOiAnXHUyNTAwJyxcbiAgICBsaW5lQm9sZDogJ1x1MjUwMScsXG4gICAgbGluZURvdWJsZTogJ1x1MjU1MCcsXG4gICAgbGluZURhc2hlZDA6ICdcdTI1MDQnLFxuICAgIGxpbmVEYXNoZWQxOiAnXHUyNTA1JyxcbiAgICBsaW5lRGFzaGVkMjogJ1x1MjUwOCcsXG4gICAgbGluZURhc2hlZDM6ICdcdTI1MDknLFxuICAgIGxpbmVEYXNoZWQ0OiAnXHUyNTRDJyxcbiAgICBsaW5lRGFzaGVkNTogJ1x1MjU0RCcsXG4gICAgbGluZURhc2hlZDY6ICdcdTI1NzQnLFxuICAgIGxpbmVEYXNoZWQ3OiAnXHUyNTc2JyxcbiAgICBsaW5lRGFzaGVkODogJ1x1MjU3OCcsXG4gICAgbGluZURhc2hlZDk6ICdcdTI1N0EnLFxuICAgIGxpbmVEYXNoZWQxMDogJ1x1MjU3QycsXG4gICAgbGluZURhc2hlZDExOiAnXHUyNTdFJyxcbiAgICBsaW5lRGFzaGVkMTI6ICdcdTIyMTInLFxuICAgIGxpbmVEYXNoZWQxMzogJ1x1MjAxMycsXG4gICAgbGluZURhc2hlZDE0OiAnXHUyMDEwJyxcbiAgICBsaW5lRGFzaGVkMTU6ICdcdTIwNDMnLFxuICAgIGxpbmVWZXJ0aWNhbDogJ1x1MjUwMicsXG4gICAgbGluZVZlcnRpY2FsQm9sZDogJ1x1MjUwMycsXG4gICAgbGluZVZlcnRpY2FsRG91YmxlOiAnXHUyNTUxJyxcbiAgICBsaW5lVmVydGljYWxEYXNoZWQwOiAnXHUyNTA2JyxcbiAgICBsaW5lVmVydGljYWxEYXNoZWQxOiAnXHUyNTA3JyxcbiAgICBsaW5lVmVydGljYWxEYXNoZWQyOiAnXHUyNTBBJyxcbiAgICBsaW5lVmVydGljYWxEYXNoZWQzOiAnXHUyNTBCJyxcbiAgICBsaW5lVmVydGljYWxEYXNoZWQ0OiAnXHUyNTRFJyxcbiAgICBsaW5lVmVydGljYWxEYXNoZWQ1OiAnXHUyNTRGJyxcbiAgICBsaW5lVmVydGljYWxEYXNoZWQ2OiAnXHUyNTc1JyxcbiAgICBsaW5lVmVydGljYWxEYXNoZWQ3OiAnXHUyNTc3JyxcbiAgICBsaW5lVmVydGljYWxEYXNoZWQ4OiAnXHUyNTc5JyxcbiAgICBsaW5lVmVydGljYWxEYXNoZWQ5OiAnXHUyNTdCJyxcbiAgICBsaW5lVmVydGljYWxEYXNoZWQxMDogJ1x1MjU3RCcsXG4gICAgbGluZVZlcnRpY2FsRGFzaGVkMTE6ICdcdTI1N0YnLFxuICAgIGxpbmVEb3duTGVmdDogJ1x1MjUxMCcsXG4gICAgbGluZURvd25MZWZ0QXJjOiAnXHUyNTZFJyxcbiAgICBsaW5lRG93bkJvbGRMZWZ0Qm9sZDogJ1x1MjUxMycsXG4gICAgbGluZURvd25Cb2xkTGVmdDogJ1x1MjUxMicsXG4gICAgbGluZURvd25MZWZ0Qm9sZDogJ1x1MjUxMScsXG4gICAgbGluZURvd25Eb3VibGVMZWZ0RG91YmxlOiAnXHUyNTU3JyxcbiAgICBsaW5lRG93bkRvdWJsZUxlZnQ6ICdcdTI1NTYnLFxuICAgIGxpbmVEb3duTGVmdERvdWJsZTogJ1x1MjU1NScsXG4gICAgbGluZURvd25SaWdodDogJ1x1MjUwQycsXG4gICAgbGluZURvd25SaWdodEFyYzogJ1x1MjU2RCcsXG4gICAgbGluZURvd25Cb2xkUmlnaHRCb2xkOiAnXHUyNTBGJyxcbiAgICBsaW5lRG93bkJvbGRSaWdodDogJ1x1MjUwRScsXG4gICAgbGluZURvd25SaWdodEJvbGQ6ICdcdTI1MEQnLFxuICAgIGxpbmVEb3duRG91YmxlUmlnaHREb3VibGU6ICdcdTI1NTQnLFxuICAgIGxpbmVEb3duRG91YmxlUmlnaHQ6ICdcdTI1NTMnLFxuICAgIGxpbmVEb3duUmlnaHREb3VibGU6ICdcdTI1NTInLFxuICAgIGxpbmVVcExlZnQ6ICdcdTI1MTgnLFxuICAgIGxpbmVVcExlZnRBcmM6ICdcdTI1NkYnLFxuICAgIGxpbmVVcEJvbGRMZWZ0Qm9sZDogJ1x1MjUxQicsXG4gICAgbGluZVVwQm9sZExlZnQ6ICdcdTI1MUEnLFxuICAgIGxpbmVVcExlZnRCb2xkOiAnXHUyNTE5JyxcbiAgICBsaW5lVXBEb3VibGVMZWZ0RG91YmxlOiAnXHUyNTVEJyxcbiAgICBsaW5lVXBEb3VibGVMZWZ0OiAnXHUyNTVDJyxcbiAgICBsaW5lVXBMZWZ0RG91YmxlOiAnXHUyNTVCJyxcbiAgICBsaW5lVXBSaWdodDogJ1x1MjUxNCcsXG4gICAgbGluZVVwUmlnaHRBcmM6ICdcdTI1NzAnLFxuICAgIGxpbmVVcEJvbGRSaWdodEJvbGQ6ICdcdTI1MTcnLFxuICAgIGxpbmVVcEJvbGRSaWdodDogJ1x1MjUxNicsXG4gICAgbGluZVVwUmlnaHRCb2xkOiAnXHUyNTE1JyxcbiAgICBsaW5lVXBEb3VibGVSaWdodERvdWJsZTogJ1x1MjU1QScsXG4gICAgbGluZVVwRG91YmxlUmlnaHQ6ICdcdTI1NTknLFxuICAgIGxpbmVVcFJpZ2h0RG91YmxlOiAnXHUyNTU4JyxcbiAgICBsaW5lVXBEb3duTGVmdDogJ1x1MjUyNCcsXG4gICAgbGluZVVwQm9sZERvd25Cb2xkTGVmdEJvbGQ6ICdcdTI1MkInLFxuICAgIGxpbmVVcEJvbGREb3duQm9sZExlZnQ6ICdcdTI1MjgnLFxuICAgIGxpbmVVcERvd25MZWZ0Qm9sZDogJ1x1MjUyNScsXG4gICAgbGluZVVwQm9sZERvd25MZWZ0Qm9sZDogJ1x1MjUyOScsXG4gICAgbGluZVVwRG93bkJvbGRMZWZ0Qm9sZDogJ1x1MjUyQScsXG4gICAgbGluZVVwRG93bkJvbGRMZWZ0OiAnXHUyNTI3JyxcbiAgICBsaW5lVXBCb2xkRG93bkxlZnQ6ICdcdTI1MjYnLFxuICAgIGxpbmVVcERvdWJsZURvd25Eb3VibGVMZWZ0RG91YmxlOiAnXHUyNTYzJyxcbiAgICBsaW5lVXBEb3VibGVEb3duRG91YmxlTGVmdDogJ1x1MjU2MicsXG4gICAgbGluZVVwRG93bkxlZnREb3VibGU6ICdcdTI1NjEnLFxuICAgIGxpbmVVcERvd25SaWdodDogJ1x1MjUxQycsXG4gICAgbGluZVVwQm9sZERvd25Cb2xkUmlnaHRCb2xkOiAnXHUyNTIzJyxcbiAgICBsaW5lVXBCb2xkRG93bkJvbGRSaWdodDogJ1x1MjUyMCcsXG4gICAgbGluZVVwRG93blJpZ2h0Qm9sZDogJ1x1MjUxRCcsXG4gICAgbGluZVVwQm9sZERvd25SaWdodEJvbGQ6ICdcdTI1MjEnLFxuICAgIGxpbmVVcERvd25Cb2xkUmlnaHRCb2xkOiAnXHUyNTIyJyxcbiAgICBsaW5lVXBEb3duQm9sZFJpZ2h0OiAnXHUyNTFGJyxcbiAgICBsaW5lVXBCb2xkRG93blJpZ2h0OiAnXHUyNTFFJyxcbiAgICBsaW5lVXBEb3VibGVEb3duRG91YmxlUmlnaHREb3VibGU6ICdcdTI1NjAnLFxuICAgIGxpbmVVcERvdWJsZURvd25Eb3VibGVSaWdodDogJ1x1MjU1RicsXG4gICAgbGluZVVwRG93blJpZ2h0RG91YmxlOiAnXHUyNTVFJyxcbiAgICBsaW5lRG93bkxlZnRSaWdodDogJ1x1MjUyQycsXG4gICAgbGluZURvd25Cb2xkTGVmdEJvbGRSaWdodEJvbGQ6ICdcdTI1MzMnLFxuICAgIGxpbmVEb3duTGVmdEJvbGRSaWdodEJvbGQ6ICdcdTI1MkYnLFxuICAgIGxpbmVEb3duQm9sZExlZnRSaWdodDogJ1x1MjUzMCcsXG4gICAgbGluZURvd25Cb2xkTGVmdEJvbGRSaWdodDogJ1x1MjUzMScsXG4gICAgbGluZURvd25Cb2xkTGVmdFJpZ2h0Qm9sZDogJ1x1MjUzMicsXG4gICAgbGluZURvd25MZWZ0UmlnaHRCb2xkOiAnXHUyNTJFJyxcbiAgICBsaW5lRG93bkxlZnRCb2xkUmlnaHQ6ICdcdTI1MkQnLFxuICAgIGxpbmVEb3duRG91YmxlTGVmdERvdWJsZVJpZ2h0RG91YmxlOiAnXHUyNTY2JyxcbiAgICBsaW5lRG93bkRvdWJsZUxlZnRSaWdodDogJ1x1MjU2NScsXG4gICAgbGluZURvd25MZWZ0RG91YmxlUmlnaHREb3VibGU6ICdcdTI1NjQnLFxuICAgIGxpbmVVcExlZnRSaWdodDogJ1x1MjUzNCcsXG4gICAgbGluZVVwQm9sZExlZnRCb2xkUmlnaHRCb2xkOiAnXHUyNTNCJyxcbiAgICBsaW5lVXBMZWZ0Qm9sZFJpZ2h0Qm9sZDogJ1x1MjUzNycsXG4gICAgbGluZVVwQm9sZExlZnRSaWdodDogJ1x1MjUzOCcsXG4gICAgbGluZVVwQm9sZExlZnRCb2xkUmlnaHQ6ICdcdTI1MzknLFxuICAgIGxpbmVVcEJvbGRMZWZ0UmlnaHRCb2xkOiAnXHUyNTNBJyxcbiAgICBsaW5lVXBMZWZ0UmlnaHRCb2xkOiAnXHUyNTM2JyxcbiAgICBsaW5lVXBMZWZ0Qm9sZFJpZ2h0OiAnXHUyNTM1JyxcbiAgICBsaW5lVXBEb3VibGVMZWZ0RG91YmxlUmlnaHREb3VibGU6ICdcdTI1NjknLFxuICAgIGxpbmVVcERvdWJsZUxlZnRSaWdodDogJ1x1MjU2OCcsXG4gICAgbGluZVVwTGVmdERvdWJsZVJpZ2h0RG91YmxlOiAnXHUyNTY3JyxcbiAgICBsaW5lVXBEb3duTGVmdFJpZ2h0OiAnXHUyNTNDJyxcbiAgICBsaW5lVXBCb2xkRG93bkJvbGRMZWZ0Qm9sZFJpZ2h0Qm9sZDogJ1x1MjU0QicsXG4gICAgbGluZVVwRG93bkJvbGRMZWZ0Qm9sZFJpZ2h0Qm9sZDogJ1x1MjU0OCcsXG4gICAgbGluZVVwQm9sZERvd25MZWZ0Qm9sZFJpZ2h0Qm9sZDogJ1x1MjU0NycsXG4gICAgbGluZVVwQm9sZERvd25Cb2xkTGVmdFJpZ2h0Qm9sZDogJ1x1MjU0QScsXG4gICAgbGluZVVwQm9sZERvd25Cb2xkTGVmdEJvbGRSaWdodDogJ1x1MjU0OScsXG4gICAgbGluZVVwQm9sZERvd25MZWZ0UmlnaHQ6ICdcdTI1NDAnLFxuICAgIGxpbmVVcERvd25Cb2xkTGVmdFJpZ2h0OiAnXHUyNTQxJyxcbiAgICBsaW5lVXBEb3duTGVmdEJvbGRSaWdodDogJ1x1MjUzRCcsXG4gICAgbGluZVVwRG93bkxlZnRSaWdodEJvbGQ6ICdcdTI1M0UnLFxuICAgIGxpbmVVcEJvbGREb3duQm9sZExlZnRSaWdodDogJ1x1MjU0MicsXG4gICAgbGluZVVwRG93bkxlZnRCb2xkUmlnaHRCb2xkOiAnXHUyNTNGJyxcbiAgICBsaW5lVXBCb2xkRG93bkxlZnRCb2xkUmlnaHQ6ICdcdTI1NDMnLFxuICAgIGxpbmVVcEJvbGREb3duTGVmdFJpZ2h0Qm9sZDogJ1x1MjU0NCcsXG4gICAgbGluZVVwRG93bkJvbGRMZWZ0Qm9sZFJpZ2h0OiAnXHUyNTQ1JyxcbiAgICBsaW5lVXBEb3duQm9sZExlZnRSaWdodEJvbGQ6ICdcdTI1NDYnLFxuICAgIGxpbmVVcERvdWJsZURvd25Eb3VibGVMZWZ0RG91YmxlUmlnaHREb3VibGU6ICdcdTI1NkMnLFxuICAgIGxpbmVVcERvdWJsZURvd25Eb3VibGVMZWZ0UmlnaHQ6ICdcdTI1NkInLFxuICAgIGxpbmVVcERvd25MZWZ0RG91YmxlUmlnaHREb3VibGU6ICdcdTI1NkEnLFxuICAgIGxpbmVDcm9zczogJ1x1MjU3MycsXG4gICAgbGluZUJhY2tzbGFzaDogJ1x1MjU3MicsXG4gICAgbGluZVNsYXNoOiAnXHUyNTcxJyxcbn07XG5jb25zdCBzcGVjaWFsTWFpblN5bWJvbHMgPSB7XG4gICAgdGljazogJ1x1MjcxNCcsXG4gICAgaW5mbzogJ1x1MjEzOScsXG4gICAgd2FybmluZzogJ1x1MjZBMCcsXG4gICAgY3Jvc3M6ICdcdTI3MTgnLFxuICAgIHNxdWFyZVNtYWxsOiAnXHUyNUZCJyxcbiAgICBzcXVhcmVTbWFsbEZpbGxlZDogJ1x1MjVGQycsXG4gICAgY2lyY2xlOiAnXHUyNUVGJyxcbiAgICBjaXJjbGVGaWxsZWQ6ICdcdTI1QzknLFxuICAgIGNpcmNsZURvdHRlZDogJ1x1MjVDQycsXG4gICAgY2lyY2xlRG91YmxlOiAnXHUyNUNFJyxcbiAgICBjaXJjbGVDaXJjbGU6ICdcdTI0REUnLFxuICAgIGNpcmNsZUNyb3NzOiAnXHUyNEU3JyxcbiAgICBjaXJjbGVQaXBlOiAnXHUyNEJFJyxcbiAgICByYWRpb09uOiAnXHUyNUM5JyxcbiAgICByYWRpb09mZjogJ1x1MjVFRicsXG4gICAgY2hlY2tib3hPbjogJ1x1MjYxMicsXG4gICAgY2hlY2tib3hPZmY6ICdcdTI2MTAnLFxuICAgIGNoZWNrYm94Q2lyY2xlT246ICdcdTI0RTcnLFxuICAgIGNoZWNrYm94Q2lyY2xlT2ZmOiAnXHUyNEJFJyxcbiAgICBwb2ludGVyOiAnXHUyNzZGJyxcbiAgICB0cmlhbmdsZVVwT3V0bGluZTogJ1x1MjVCMycsXG4gICAgdHJpYW5nbGVMZWZ0OiAnXHUyNUMwJyxcbiAgICB0cmlhbmdsZVJpZ2h0OiAnXHUyNUI2JyxcbiAgICBsb3plbmdlOiAnXHUyNUM2JyxcbiAgICBsb3plbmdlT3V0bGluZTogJ1x1MjVDNycsXG4gICAgaGFtYnVyZ2VyOiAnXHUyNjMwJyxcbiAgICBzbWlsZXk6ICdcdTMyRTEnLFxuICAgIG11c3RhY2hlOiAnXHUwREY0JyxcbiAgICBzdGFyOiAnXHUyNjA1JyxcbiAgICBwbGF5OiAnXHUyNUI2JyxcbiAgICBub2RlanM6ICdcdTJCMjInLFxuICAgIG9uZVNldmVudGg6ICdcdTIxNTAnLFxuICAgIG9uZU5pbnRoOiAnXHUyMTUxJyxcbiAgICBvbmVUZW50aDogJ1x1MjE1MicsXG59O1xuY29uc3Qgc3BlY2lhbEZhbGxiYWNrU3ltYm9scyA9IHtcbiAgICB0aWNrOiAnXHUyMjFBJyxcbiAgICBpbmZvOiAnaScsXG4gICAgd2FybmluZzogJ1x1MjAzQycsXG4gICAgY3Jvc3M6ICdcdTAwRDcnLFxuICAgIHNxdWFyZVNtYWxsOiAnXHUyNUExJyxcbiAgICBzcXVhcmVTbWFsbEZpbGxlZDogJ1x1MjVBMCcsXG4gICAgY2lyY2xlOiAnKCApJyxcbiAgICBjaXJjbGVGaWxsZWQ6ICcoKiknLFxuICAgIGNpcmNsZURvdHRlZDogJyggKScsXG4gICAgY2lyY2xlRG91YmxlOiAnKCApJyxcbiAgICBjaXJjbGVDaXJjbGU6ICcoXHUyNUNCKScsXG4gICAgY2lyY2xlQ3Jvc3M6ICcoXHUwMEQ3KScsXG4gICAgY2lyY2xlUGlwZTogJyhcdTI1MDIpJyxcbiAgICByYWRpb09uOiAnKCopJyxcbiAgICByYWRpb09mZjogJyggKScsXG4gICAgY2hlY2tib3hPbjogJ1tcdTAwRDddJyxcbiAgICBjaGVja2JveE9mZjogJ1sgXScsXG4gICAgY2hlY2tib3hDaXJjbGVPbjogJyhcdTAwRDcpJyxcbiAgICBjaGVja2JveENpcmNsZU9mZjogJyggKScsXG4gICAgcG9pbnRlcjogJz4nLFxuICAgIHRyaWFuZ2xlVXBPdXRsaW5lOiAnXHUyMjA2JyxcbiAgICB0cmlhbmdsZUxlZnQ6ICdcdTI1QzQnLFxuICAgIHRyaWFuZ2xlUmlnaHQ6ICdcdTI1QkEnLFxuICAgIGxvemVuZ2U6ICdcdTI2NjYnLFxuICAgIGxvemVuZ2VPdXRsaW5lOiAnXHUyNUNBJyxcbiAgICBoYW1idXJnZXI6ICdcdTIyNjEnLFxuICAgIHNtaWxleTogJ1x1MjYzQScsXG4gICAgbXVzdGFjaGU6ICdcdTI1MENcdTI1MDBcdTI1MTAnLFxuICAgIHN0YXI6ICdcdTI3MzYnLFxuICAgIHBsYXk6ICdcdTI1QkEnLFxuICAgIG5vZGVqczogJ1x1MjY2NicsXG4gICAgb25lU2V2ZW50aDogJzEvNycsXG4gICAgb25lTmludGg6ICcxLzknLFxuICAgIG9uZVRlbnRoOiAnMS8xMCcsXG59O1xuZXhwb3J0IGNvbnN0IG1haW5TeW1ib2xzID0geyAuLi5jb21tb24sIC4uLnNwZWNpYWxNYWluU3ltYm9scyB9O1xuZXhwb3J0IGNvbnN0IGZhbGxiYWNrU3ltYm9scyA9IHtcbiAgICAuLi5jb21tb24sXG4gICAgLi4uc3BlY2lhbEZhbGxiYWNrU3ltYm9scyxcbn07XG5jb25zdCBzaG91bGRVc2VNYWluID0gaXNVbmljb2RlU3VwcG9ydGVkKCk7XG5jb25zdCBmaWd1cmVzID0gc2hvdWxkVXNlTWFpbiA/IG1haW5TeW1ib2xzIDogZmFsbGJhY2tTeW1ib2xzO1xuZXhwb3J0IGRlZmF1bHQgZmlndXJlcztcbmNvbnN0IHJlcGxhY2VtZW50cyA9IE9iamVjdC5lbnRyaWVzKHNwZWNpYWxNYWluU3ltYm9scyk7XG4vLyBPbiB0ZXJtaW5hbHMgd2hpY2ggZG8gbm90IHN1cHBvcnQgVW5pY29kZSBzeW1ib2xzLCBzdWJzdGl0dXRlIHRoZW0gdG8gb3RoZXIgc3ltYm9sc1xuZXhwb3J0IGNvbnN0IHJlcGxhY2VTeW1ib2xzID0gKHN0cmluZywgeyB1c2VGYWxsYmFjayA9ICFzaG91bGRVc2VNYWluIH0gPSB7fSkgPT4ge1xuICAgIGlmICh1c2VGYWxsYmFjaykge1xuICAgICAgICBmb3IgKGNvbnN0IFtrZXksIG1haW5TeW1ib2xdIG9mIHJlcGxhY2VtZW50cykge1xuICAgICAgICAgICAgY29uc3QgZmFsbGJhY2tTeW1ib2wgPSBmYWxsYmFja1N5bWJvbHNba2V5XTtcbiAgICAgICAgICAgIGlmICghZmFsbGJhY2tTeW1ib2wpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuYWJsZSB0byBmaW5kIGZhbGxiYWNrIGZvciAke2tleX1gKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHN0cmluZyA9IHN0cmluZy5yZXBsYWNlQWxsKG1haW5TeW1ib2wsIGZhbGxiYWNrU3ltYm9sKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gc3RyaW5nO1xufTtcbiIsICJpbXBvcnQgeyBmcm9tRXZlbnQsIGZpbHRlciwgbWFwLCBzaGFyZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5cbmZ1bmN0aW9uIG5vcm1hbGl6ZUtleXByZXNzRXZlbnRzKHZhbHVlLCBrZXkpIHtcbiAgcmV0dXJuIHsgdmFsdWUsIGtleToga2V5IHx8IHt9IH07XG59XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIG9ic2VydmUocmwpIHtcbiAgY29uc3Qga2V5cHJlc3MgPSBmcm9tRXZlbnQocmwuaW5wdXQsICdrZXlwcmVzcycsIG5vcm1hbGl6ZUtleXByZXNzRXZlbnRzKVxuICAgIC5waXBlKHRha2VVbnRpbChmcm9tRXZlbnQocmwsICdjbG9zZScpKSlcbiAgICAvLyBJZ25vcmUgYGVudGVyYCBrZXkuIE9uIHRoZSByZWFkbGluZSwgd2Ugb25seSBjYXJlIGFib3V0IHRoZSBgbGluZWAgZXZlbnQuXG4gICAgLnBpcGUoZmlsdGVyKCh7IGtleSB9KSA9PiBrZXkubmFtZSAhPT0gJ2VudGVyJyAmJiBrZXkubmFtZSAhPT0gJ3JldHVybicpKTtcblxuICByZXR1cm4ge1xuICAgIGxpbmU6IGZyb21FdmVudChybCwgJ2xpbmUnKSxcbiAgICBrZXlwcmVzcyxcblxuICAgIG5vcm1hbGl6ZWRVcEtleToga2V5cHJlc3MucGlwZShcbiAgICAgIGZpbHRlcihcbiAgICAgICAgKHsga2V5IH0pID0+XG4gICAgICAgICAga2V5Lm5hbWUgPT09ICd1cCcgfHwga2V5Lm5hbWUgPT09ICdrJyB8fCAoa2V5Lm5hbWUgPT09ICdwJyAmJiBrZXkuY3RybCksXG4gICAgICApLFxuICAgICAgc2hhcmUoKSxcbiAgICApLFxuXG4gICAgbm9ybWFsaXplZERvd25LZXk6IGtleXByZXNzLnBpcGUoXG4gICAgICBmaWx0ZXIoXG4gICAgICAgICh7IGtleSB9KSA9PlxuICAgICAgICAgIGtleS5uYW1lID09PSAnZG93bicgfHwga2V5Lm5hbWUgPT09ICdqJyB8fCAoa2V5Lm5hbWUgPT09ICduJyAmJiBrZXkuY3RybCksXG4gICAgICApLFxuICAgICAgc2hhcmUoKSxcbiAgICApLFxuXG4gICAgbnVtYmVyS2V5OiBrZXlwcmVzcy5waXBlKFxuICAgICAgZmlsdGVyKChlKSA9PiBlLnZhbHVlICYmICcxMjM0NTY3ODknLmluY2x1ZGVzKGUudmFsdWUpKSxcbiAgICAgIG1hcCgoZSkgPT4gTnVtYmVyKGUudmFsdWUpKSxcbiAgICAgIHNoYXJlKCksXG4gICAgKSxcblxuICAgIHNwYWNlS2V5OiBrZXlwcmVzcy5waXBlKFxuICAgICAgZmlsdGVyKCh7IGtleSB9KSA9PiBrZXkgJiYga2V5Lm5hbWUgPT09ICdzcGFjZScpLFxuICAgICAgc2hhcmUoKSxcbiAgICApLFxuICAgIGFLZXk6IGtleXByZXNzLnBpcGUoXG4gICAgICBmaWx0ZXIoKHsga2V5IH0pID0+IGtleSAmJiBrZXkubmFtZSA9PT0gJ2EnKSxcbiAgICAgIHNoYXJlKCksXG4gICAgKSxcbiAgICBpS2V5OiBrZXlwcmVzcy5waXBlKFxuICAgICAgZmlsdGVyKCh7IGtleSB9KSA9PiBrZXkgJiYga2V5Lm5hbWUgPT09ICdpJyksXG4gICAgICBzaGFyZSgpLFxuICAgICksXG4gIH07XG59XG4iLCAiaW1wb3J0IGNvbG9ycyBmcm9tICd5b2N0b2NvbG9ycy1janMnO1xuXG4vKipcbiAqIFRoZSBwYWdpbmF0b3IgcmV0dXJucyBhIHN1YnNldCBvZiB0aGUgY2hvaWNlcyBpZiB0aGUgbGlzdCBpcyB0b28gbG9uZy5cbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQYWdpbmF0b3Ige1xuICAvKipcbiAgICogQHBhcmFtIHtpbXBvcnQoXCIuL3NjcmVlbi1tYW5hZ2VyXCIpfSBbc2NyZWVuXVxuICAgKiBAcGFyYW0ge3tpc0luZmluaXRlPzogYm9vbGVhbn19IFtvcHRpb25zXVxuICAgKi9cbiAgY29uc3RydWN0b3Ioc2NyZWVuLCBvcHRpb25zID0ge30pIHtcbiAgICBjb25zdCB7IGlzSW5maW5pdGUgPSB0cnVlIH0gPSBvcHRpb25zO1xuICAgIHRoaXMubGFzdEluZGV4ID0gMDtcbiAgICB0aGlzLnNjcmVlbiA9IHNjcmVlbjtcbiAgICB0aGlzLmlzSW5maW5pdGUgPSBpc0luZmluaXRlO1xuICB9XG5cbiAgcGFnaW5hdGUob3V0cHV0LCBhY3RpdmUsIHBhZ2VTaXplKSB7XG4gICAgcGFnZVNpemUgfHw9IDc7XG4gICAgbGV0IGxpbmVzID0gb3V0cHV0LnNwbGl0KCdcXG4nKTtcblxuICAgIGlmICh0aGlzLnNjcmVlbikge1xuICAgICAgbGluZXMgPSB0aGlzLnNjcmVlbi5icmVha0xpbmVzKGxpbmVzKTtcbiAgICAgIGFjdGl2ZSA9IGxpbmVzXG4gICAgICAgIC5tYXAoKGxpbmVQYXJ0cykgPT4gbGluZVBhcnRzLmxlbmd0aClcbiAgICAgICAgLnNwbGljZSgwLCBhY3RpdmUpXG4gICAgICAgIC5yZWR1Y2UoKGEsIGIpID0+IGEgKyBiLCAwKTtcbiAgICAgIGxpbmVzID0gbGluZXMuZmxhdCgpO1xuICAgIH1cblxuICAgIC8vIE1ha2Ugc3VyZSB0aGVyZSdzIGVub3VnaCBsaW5lcyB0byBwYWdpbmF0ZVxuICAgIGlmIChsaW5lcy5sZW5ndGggPD0gcGFnZVNpemUpIHtcbiAgICAgIHJldHVybiBvdXRwdXQ7XG4gICAgfVxuICAgIGNvbnN0IHZpc2libGVMaW5lcyA9IHRoaXMuaXNJbmZpbml0ZVxuICAgICAgPyB0aGlzLmdldEluZmluaXRlTGluZXMobGluZXMsIGFjdGl2ZSwgcGFnZVNpemUpXG4gICAgICA6IHRoaXMuZ2V0RmluaXRlTGluZXMobGluZXMsIGFjdGl2ZSwgcGFnZVNpemUpO1xuICAgIHRoaXMubGFzdEluZGV4ID0gYWN0aXZlO1xuICAgIHJldHVybiAoXG4gICAgICB2aXNpYmxlTGluZXMuam9pbignXFxuJykgK1xuICAgICAgJ1xcbicgK1xuICAgICAgY29sb3JzLmRpbSgnKE1vdmUgdXAgYW5kIGRvd24gdG8gcmV2ZWFsIG1vcmUgY2hvaWNlcyknKVxuICAgICk7XG4gIH1cblxuICBnZXRJbmZpbml0ZUxpbmVzKGxpbmVzLCBhY3RpdmUsIHBhZ2VTaXplKSB7XG4gICAgaWYgKHRoaXMucG9pbnRlciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLnBvaW50ZXIgPSAwO1xuICAgIH1cbiAgICBjb25zdCBtaWRkbGVPZkxpc3QgPSBNYXRoLmZsb29yKHBhZ2VTaXplIC8gMik7XG4gICAgLy8gTW92ZSB0aGUgcG9pbnRlciBvbmx5IHdoZW4gdGhlIHVzZXIgZ28gZG93biBhbmQgbGltaXQgaXQgdG8gdGhlIG1pZGRsZSBvZiB0aGUgbGlzdFxuICAgIGlmIChcbiAgICAgIHRoaXMucG9pbnRlciA8IG1pZGRsZU9mTGlzdCAmJlxuICAgICAgdGhpcy5sYXN0SW5kZXggPCBhY3RpdmUgJiZcbiAgICAgIGFjdGl2ZSAtIHRoaXMubGFzdEluZGV4IDwgcGFnZVNpemVcbiAgICApIHtcbiAgICAgIHRoaXMucG9pbnRlciA9IE1hdGgubWluKG1pZGRsZU9mTGlzdCwgdGhpcy5wb2ludGVyICsgYWN0aXZlIC0gdGhpcy5sYXN0SW5kZXgpO1xuICAgIH1cblxuICAgIC8vIER1cGxpY2F0ZSB0aGUgbGluZXMgc28gaXQgZ2l2ZSBhbiBpbmZpbml0ZSBsaXN0IGxvb2tcbiAgICBjb25zdCBpbmZpbml0ZSA9IFtsaW5lcywgbGluZXMsIGxpbmVzXS5mbGF0KCk7XG4gICAgY29uc3QgdG9wSW5kZXggPSBNYXRoLm1heCgwLCBhY3RpdmUgKyBsaW5lcy5sZW5ndGggLSB0aGlzLnBvaW50ZXIpO1xuXG4gICAgcmV0dXJuIGluZmluaXRlLnNwbGljZSh0b3BJbmRleCwgcGFnZVNpemUpO1xuICB9XG5cbiAgZ2V0RmluaXRlTGluZXMobGluZXMsIGFjdGl2ZSwgcGFnZVNpemUpIHtcbiAgICBsZXQgdG9wSW5kZXggPSBhY3RpdmUgLSBwYWdlU2l6ZSAvIDI7XG4gICAgaWYgKHRvcEluZGV4IDwgMCkge1xuICAgICAgdG9wSW5kZXggPSAwO1xuICAgIH0gZWxzZSBpZiAodG9wSW5kZXggKyBwYWdlU2l6ZSA+IGxpbmVzLmxlbmd0aCkge1xuICAgICAgdG9wSW5kZXggPSBsaW5lcy5sZW5ndGggLSBwYWdlU2l6ZTtcbiAgICB9XG4gICAgcmV0dXJuIGxpbmVzLnNwbGljZSh0b3BJbmRleCwgcGFnZVNpemUpO1xuICB9XG59XG4iLCAiZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gaW5jcmVtZW50TGlzdEluZGV4KGN1cnJlbnQsIGRpciwgb3B0KSB7XG4gIGNvbnN0IGxlbiA9IG9wdC5jaG9pY2VzLnJlYWxMZW5ndGg7XG4gIGNvbnN0IHNob3VsZExvb3AgPSAnbG9vcCcgaW4gb3B0ID8gQm9vbGVhbihvcHQubG9vcCkgOiB0cnVlO1xuICBpZiAoZGlyID09PSAndXAnKSB7XG4gICAgaWYgKGN1cnJlbnQgPiAwKSB7XG4gICAgICByZXR1cm4gY3VycmVudCAtIDE7XG4gICAgfVxuICAgIHJldHVybiBzaG91bGRMb29wID8gbGVuIC0gMSA6IGN1cnJlbnQ7XG4gIH1cbiAgaWYgKGRpciA9PT0gJ2Rvd24nKSB7XG4gICAgaWYgKGN1cnJlbnQgPCBsZW4gLSAxKSB7XG4gICAgICByZXR1cm4gY3VycmVudCArIDE7XG4gICAgfVxuICAgIHJldHVybiBzaG91bGRMb29wID8gMCA6IGN1cnJlbnQ7XG4gIH1cbiAgdGhyb3cgbmV3IEVycm9yKCdkaXIgbXVzdCBiZSB1cCBvciBkb3duJyk7XG59XG4iLCAiLyoqXG4gKiBCYXNlIHByb21wdCBpbXBsZW1lbnRhdGlvblxuICogU2hvdWxkIGJlIGV4dGVuZGVkIGJ5IHByb21wdCB0eXBlcy5cbiAqL1xuaW1wb3J0IGNvbG9ycyBmcm9tICd5b2N0b2NvbG9ycy1janMnO1xuaW1wb3J0IHJ1bkFzeW5jIGZyb20gJ3J1bi1hc3luYyc7XG5pbXBvcnQgeyBmaWx0ZXIsIG1lcmdlTWFwLCBzaGFyZSwgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgQ2hvaWNlcyBmcm9tICcuLi9vYmplY3RzL2Nob2ljZXMuanMnO1xuaW1wb3J0IFNjcmVlbk1hbmFnZXIgZnJvbSAnLi4vdXRpbHMvc2NyZWVuLW1hbmFnZXIuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQcm9tcHQge1xuICBjb25zdHJ1Y3RvcihxdWVzdGlvbiwgcmwsIGFuc3dlcnMpIHtcbiAgICAvLyBTZXR1cCBpbnN0YW5jZSBkZWZhdWx0cyBwcm9wZXJ0eVxuICAgIE9iamVjdC5hc3NpZ24odGhpcywge1xuICAgICAgYW5zd2VycyxcbiAgICAgIHN0YXR1czogJ3BlbmRpbmcnLFxuICAgIH0pO1xuXG4gICAgLy8gU2V0IGRlZmF1bHRzIHByb21wdCBvcHRpb25zXG4gICAgdGhpcy5vcHQgPSB7XG4gICAgICB2YWxpZGF0ZTogKCkgPT4gdHJ1ZSxcbiAgICAgIHZhbGlkYXRpbmdUZXh0OiAnJyxcbiAgICAgIGZpbHRlcjogKHZhbCkgPT4gdmFsLFxuICAgICAgZmlsdGVyaW5nVGV4dDogJycsXG4gICAgICB3aGVuOiAoKSA9PiB0cnVlLFxuICAgICAgc3VmZml4OiAnJyxcbiAgICAgIHByZWZpeDogY29sb3JzLmdyZWVuKCc/JyksXG4gICAgICB0cmFuc2Zvcm1lcjogKHZhbCkgPT4gdmFsLFxuICAgICAgLi4ucXVlc3Rpb24sXG4gICAgfTtcblxuICAgIC8vIE1ha2Ugc3VyZSBuYW1lIGlzIHByZXNlbnRcbiAgICBpZiAoIXRoaXMub3B0Lm5hbWUpIHtcbiAgICAgIHRoaXMudGhyb3dQYXJhbUVycm9yKCduYW1lJyk7XG4gICAgfVxuXG4gICAgLy8gU2V0IGRlZmF1bHQgbWVzc2FnZSBpZiBubyBtZXNzYWdlIGRlZmluZWRcbiAgICB0aGlzLm9wdC5tZXNzYWdlIHx8PSB0aGlzLm9wdC5uYW1lICsgJzonO1xuXG4gICAgLy8gTm9ybWFsaXplIGNob2ljZXNcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh0aGlzLm9wdC5jaG9pY2VzKSkge1xuICAgICAgdGhpcy5vcHQuY2hvaWNlcyA9IG5ldyBDaG9pY2VzKHRoaXMub3B0LmNob2ljZXMsIGFuc3dlcnMpO1xuICAgIH1cblxuICAgIHRoaXMucmwgPSBybDtcbiAgICB0aGlzLnNjcmVlbiA9IG5ldyBTY3JlZW5NYW5hZ2VyKHRoaXMucmwpO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IHRoZSBJbnF1aXJ5IHNlc3Npb24gYW5kIG1hbmFnZSBvdXRwdXQgdmFsdWUgZmlsdGVyaW5nXG4gICAqIEByZXR1cm4ge1Byb21pc2V9XG4gICAqL1xuXG4gIHJ1bigpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgdGhpcy5fcnVuKFxuICAgICAgICAodmFsdWUpID0+IHJlc29sdmUodmFsdWUpLFxuICAgICAgICAoZXJyb3IpID0+IHJlamVjdChlcnJvciksXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gRGVmYXVsdCBub29wICh0aGlzIG9uZSBzaG91bGQgYmUgb3ZlcndyaXR0ZW4gaW4gcHJvbXB0cylcbiAgX3J1bihjYikge1xuICAgIGNiKCk7XG4gIH1cblxuICAvKipcbiAgICogVGhyb3cgYW4gZXJyb3IgdGVsbGluZyBhIHJlcXVpcmVkIHBhcmFtZXRlciBpcyBtaXNzaW5nXG4gICAqIEBwYXJhbSAge1N0cmluZ30gbmFtZSBOYW1lIG9mIHRoZSBtaXNzaW5nIHBhcmFtXG4gICAqIEByZXR1cm4ge1Rocm93IEVycm9yfVxuICAgKi9cblxuICB0aHJvd1BhcmFtRXJyb3IobmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcignWW91IG11c3QgcHJvdmlkZSBhIGAnICsgbmFtZSArICdgIHBhcmFtZXRlcicpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBVSSBjbG9zZXMuIE92ZXJyaWRlIHRvIGRvIGFueSBzcGVjaWZpYyBjbGVhbnVwIG5lY2Vzc2FyeVxuICAgKi9cbiAgY2xvc2UoKSB7XG4gICAgdGhpcy5zY3JlZW4ucmVsZWFzZUN1cnNvcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1biB0aGUgcHJvdmlkZWQgdmFsaWRhdGlvbiBtZXRob2QgZWFjaCB0aW1lIGEgc3VibWl0IGV2ZW50IG9jY3VyLlxuICAgKiBAcGFyYW0gIHtSeC5PYnNlcnZhYmxlfSBzdWJtaXQgLSBzdWJtaXQgZXZlbnQgZmxvd1xuICAgKiBAcmV0dXJuIHtPYmplY3R9ICAgICAgICBPYmplY3QgY29udGFpbmluZyB0d28gb2JzZXJ2YWJsZXM6IGBzdWNjZXNzYCBhbmQgYGVycm9yYFxuICAgKi9cbiAgaGFuZGxlU3VibWl0RXZlbnRzKHN1Ym1pdCkge1xuICAgIGNvbnN0IHZhbGlkYXRlID0gcnVuQXN5bmModGhpcy5vcHQudmFsaWRhdGUpO1xuICAgIGNvbnN0IGFzeW5jRmlsdGVyID0gcnVuQXN5bmModGhpcy5vcHQuZmlsdGVyKTtcbiAgICBjb25zdCB2YWxpZGF0aW9uID0gc3VibWl0LnBpcGUoXG4gICAgICBtZXJnZU1hcCgodmFsdWUpID0+IHtcbiAgICAgICAgdGhpcy5zdGFydFNwaW5uZXIodmFsdWUsIHRoaXMub3B0LmZpbHRlcmluZ1RleHQpO1xuICAgICAgICByZXR1cm4gYXN5bmNGaWx0ZXIodmFsdWUsIHRoaXMuYW5zd2VycykudGhlbihcbiAgICAgICAgICAoZmlsdGVyZWRWYWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zdGFydFNwaW5uZXIoZmlsdGVyZWRWYWx1ZSwgdGhpcy5vcHQudmFsaWRhdGluZ1RleHQpO1xuICAgICAgICAgICAgcmV0dXJuIHZhbGlkYXRlKGZpbHRlcmVkVmFsdWUsIHRoaXMuYW5zd2VycykudGhlbihcbiAgICAgICAgICAgICAgKGlzVmFsaWQpID0+ICh7IGlzVmFsaWQsIHZhbHVlOiBmaWx0ZXJlZFZhbHVlIH0pLFxuICAgICAgICAgICAgICAoZXJyb3JfKSA9PiAoeyBpc1ZhbGlkOiBlcnJvcl8sIHZhbHVlOiBmaWx0ZXJlZFZhbHVlIH0pLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIChlcnJvcl8pID0+ICh7IGlzVmFsaWQ6IGVycm9yXyB9KSxcbiAgICAgICAgKTtcbiAgICAgIH0pLFxuICAgICAgc2hhcmUoKSxcbiAgICApO1xuXG4gICAgY29uc3Qgc3VjY2VzcyA9IHZhbGlkYXRpb24ucGlwZShcbiAgICAgIGZpbHRlcigoc3RhdGUpID0+IHN0YXRlLmlzVmFsaWQgPT09IHRydWUpLFxuICAgICAgdGFrZSgxKSxcbiAgICApO1xuICAgIGNvbnN0IGVycm9yID0gdmFsaWRhdGlvbi5waXBlKFxuICAgICAgZmlsdGVyKChzdGF0ZSkgPT4gc3RhdGUuaXNWYWxpZCAhPT0gdHJ1ZSksXG4gICAgICB0YWtlVW50aWwoc3VjY2VzcyksXG4gICAgKTtcblxuICAgIHJldHVybiB7XG4gICAgICBzdWNjZXNzLFxuICAgICAgZXJyb3IsXG4gICAgfTtcbiAgfVxuXG4gIHN0YXJ0U3Bpbm5lcih2YWx1ZSwgYm90dG9tQ29udGVudCkge1xuICAgIHZhbHVlID0gdGhpcy5nZXRTcGlubmluZ1ZhbHVlKHZhbHVlKTtcbiAgICAvLyBJZiB0aGUgcXVlc3Rpb24gd2lsbCBzcGluLCBjdXQgb2ZmIHRoZSBwcmVmaXggKGZvciBsYXlvdXQgcHVycG9zZXMpXG4gICAgY29uc3QgY29udGVudCA9IGJvdHRvbUNvbnRlbnRcbiAgICAgID8gdGhpcy5nZXRRdWVzdGlvbigpICsgdmFsdWVcbiAgICAgIDogdGhpcy5nZXRRdWVzdGlvbigpLnNsaWNlKHRoaXMub3B0LnByZWZpeC5sZW5ndGggKyAxKSArIHZhbHVlO1xuXG4gICAgdGhpcy5zY3JlZW4ucmVuZGVyV2l0aFNwaW5uZXIoY29udGVudCwgYm90dG9tQ29udGVudCk7XG4gIH1cblxuICAvKipcbiAgICogQWxsb3cgb3ZlcnJpZGUsIGUuZy4gZm9yIHBhc3N3b3JkIHByb21wdHNcbiAgICogU2VlOiBodHRwczovL2dpdGh1Yi5jb20vU0JvdWRyaWFzL0lucXVpcmVyLmpzL2lzc3Vlcy8xMDIyXG4gICAqXG4gICAqIEByZXR1cm4ge1N0cmluZ30gdmFsdWUgdG8gZGlzcGxheSB3aGlsZSBzcGlubmluZ1xuICAgKi9cbiAgZ2V0U3Bpbm5pbmdWYWx1ZSh2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZSB0aGUgcHJvbXB0IHF1ZXN0aW9uIHN0cmluZ1xuICAgKiBAcmV0dXJuIHtTdHJpbmd9IHByb21wdCBxdWVzdGlvbiBzdHJpbmdcbiAgICovXG4gIGdldFF1ZXN0aW9uKCkge1xuICAgIGxldCBtZXNzYWdlID1cbiAgICAgICh0aGlzLm9wdC5wcmVmaXggPyB0aGlzLm9wdC5wcmVmaXggKyAnICcgOiAnJykgK1xuICAgICAgY29sb3JzLmJvbGQodGhpcy5vcHQubWVzc2FnZSkgK1xuICAgICAgdGhpcy5vcHQuc3VmZml4ICtcbiAgICAgIGNvbG9ycy5yZXNldCgnICcpO1xuXG4gICAgLy8gQXBwZW5kIHRoZSBkZWZhdWx0IGlmIGF2YWlsYWJsZSwgYW5kIGlmIHF1ZXN0aW9uIGlzbid0IHRvdWNoZWQvYW5zd2VyZWRcbiAgICBpZiAoXG4gICAgICB0aGlzLm9wdC5kZWZhdWx0ICE9IG51bGwgJiZcbiAgICAgIHRoaXMuc3RhdHVzICE9PSAndG91Y2hlZCcgJiZcbiAgICAgIHRoaXMuc3RhdHVzICE9PSAnYW5zd2VyZWQnXG4gICAgKSB7XG4gICAgICAvLyBJZiBkZWZhdWx0IHBhc3N3b3JkIGlzIHN1cHBsaWVkLCBoaWRlIGl0XG4gICAgICBtZXNzYWdlICs9XG4gICAgICAgIHRoaXMub3B0LnR5cGUgPT09ICdwYXNzd29yZCdcbiAgICAgICAgICA/IGNvbG9ycy5pdGFsaWMoY29sb3JzLmRpbSgnW2hpZGRlbl0gJykpXG4gICAgICAgICAgOiBjb2xvcnMuZGltKCcoJyArIHRoaXMub3B0LmRlZmF1bHQgKyAnKSAnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfVxufVxuIiwgImltcG9ydCBhc3NlcnQgZnJvbSAnbm9kZTphc3NlcnQnO1xuXG5pbXBvcnQgU2VwYXJhdG9yIGZyb20gJy4vc2VwYXJhdG9yLmpzJztcbmltcG9ydCBDaG9pY2UgZnJvbSAnLi9jaG9pY2UuanMnO1xuXG4vKipcbiAqIENob2ljZXMgY29sbGVjdGlvblxuICogQ29sbGVjdGlvbiBvZiBtdWx0aXBsZSBgY2hvaWNlYCBvYmplY3RcbiAqL1xuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2hvaWNlcyB7XG4gIC8qKiBAcGFyYW0ge0FycmF5fSBjaG9pY2VzICBBbGwgYGNob2ljZWAgdG8ga2VlcCBpbiB0aGUgY29sbGVjdGlvbiAqL1xuICBjb25zdHJ1Y3RvcihjaG9pY2VzLCBhbnN3ZXJzKSB7XG4gICAgdGhpcy5jaG9pY2VzID0gY2hvaWNlcy5tYXAoKHZhbCkgPT4ge1xuICAgICAgaWYgKHZhbC50eXBlID09PSAnc2VwYXJhdG9yJykge1xuICAgICAgICBpZiAoISh2YWwgaW5zdGFuY2VvZiBTZXBhcmF0b3IpKSB7XG4gICAgICAgICAgdmFsID0gbmV3IFNlcGFyYXRvcih2YWwubGluZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdmFsO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3IENob2ljZSh2YWwsIGFuc3dlcnMpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5yZWFsQ2hvaWNlcyA9IHRoaXMuY2hvaWNlc1xuICAgICAgLmZpbHRlcihTZXBhcmF0b3IuZXhjbHVkZSlcbiAgICAgIC5maWx0ZXIoKGl0ZW0pID0+ICFpdGVtLmRpc2FibGVkKTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0aGlzLCAnbGVuZ3RoJywge1xuICAgICAgZ2V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jaG9pY2VzLmxlbmd0aDtcbiAgICAgIH0sXG4gICAgICBzZXQodmFsKSB7XG4gICAgICAgIHRoaXMuY2hvaWNlcy5sZW5ndGggPSB2YWw7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRoaXMsICdyZWFsTGVuZ3RoJywge1xuICAgICAgZ2V0KCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWFsQ2hvaWNlcy5sZW5ndGg7XG4gICAgICB9LFxuICAgICAgc2V0KCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCBzZXQgYHJlYWxMZW5ndGhgIG9mIGEgQ2hvaWNlcyBjb2xsZWN0aW9uJyk7XG4gICAgICB9LFxuICAgIH0pO1xuICB9XG5cbiAgW1N5bWJvbC5pdGVyYXRvcl0oKSB7XG4gICAgY29uc3QgZGF0YSA9IHRoaXMuY2hvaWNlcztcbiAgICBsZXQgaW5kZXggPSAtMTtcblxuICAgIHJldHVybiB7XG4gICAgICBuZXh0OiAoKSA9PiAoeyB2YWx1ZTogZGF0YVsrK2luZGV4XSwgZG9uZTogIShpbmRleCBpbiBkYXRhKSB9KSxcbiAgICB9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHZhbGlkIGNob2ljZSBmcm9tIHRoZSBjb2xsZWN0aW9uXG4gICAqIEBwYXJhbSAge051bWJlcn0gc2VsZWN0b3IgIFRoZSBzZWxlY3RlZCBjaG9pY2UgaW5kZXhcbiAgICogQHJldHVybiB7Q2hvaWNlfFVuZGVmaW5lZH0gUmV0dXJuIHRoZSBtYXRjaGVkIGNob2ljZSBvciB1bmRlZmluZWRcbiAgICovXG4gIGdldENob2ljZShzZWxlY3Rvcikge1xuICAgIGFzc2VydCh0eXBlb2Ygc2VsZWN0b3IgPT09ICdudW1iZXInKTtcbiAgICByZXR1cm4gdGhpcy5yZWFsQ2hvaWNlc1tzZWxlY3Rvcl07XG4gIH1cblxuICAvKipcbiAgICogR2V0IGEgcmF3IGVsZW1lbnQgZnJvbSB0aGUgY29sbGVjdGlvblxuICAgKiBAcGFyYW0gIHtOdW1iZXJ9IHNlbGVjdG9yICBUaGUgc2VsZWN0ZWQgaW5kZXggdmFsdWVcbiAgICogQHJldHVybiB7Q2hvaWNlfFVuZGVmaW5lZH0gUmV0dXJuIHRoZSBtYXRjaGVkIGNob2ljZSBvciB1bmRlZmluZWRcbiAgICovXG4gIGdldChzZWxlY3Rvcikge1xuICAgIGFzc2VydCh0eXBlb2Ygc2VsZWN0b3IgPT09ICdudW1iZXInKTtcbiAgICByZXR1cm4gdGhpcy5jaG9pY2VzW3NlbGVjdG9yXTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYXRjaCB0aGUgdmFsaWQgY2hvaWNlcyBhZ2FpbnN0IGEgd2hlcmUgY2xhdXNlXG4gICAqIEBwYXJhbSAge0Z1bmN0aW9ufE9iamVjdH0gd2hlcmVDbGF1c2UgZmlsdGVyIGZ1bmN0aW9uIG9yIGtleS12YWx1ZSBvYmplY3QgdG8gbWF0Y2ggYWdhaW5zdFxuICAgKiBAcmV0dXJuIHtBcnJheX0gICAgICAgICAgICAgIE1hdGNoaW5nIGNob2ljZXMgb3IgZW1wdHkgYXJyYXlcbiAgICovXG4gIHdoZXJlKHdoZXJlQ2xhdXNlKSB7XG4gICAgbGV0IGZpbHRlckZuO1xuICAgIGlmICh0eXBlb2Ygd2hlcmVDbGF1c2UgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIGZpbHRlckZuID0gd2hlcmVDbGF1c2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IFtrZXksIHZhbHVlXSA9IE9iamVjdC5lbnRyaWVzKHdoZXJlQ2xhdXNlKVswXTtcbiAgICAgIGZpbHRlckZuID0gKGNob2ljZSkgPT4gY2hvaWNlW2tleV0gPT09IHZhbHVlO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLnJlYWxDaG9pY2VzLmZpbHRlcihmaWx0ZXJGbik7XG4gIH1cblxuICAvKipcbiAgICogUGx1Y2sgYSBwYXJ0aWN1bGFyIGtleSBmcm9tIHRoZSBjaG9pY2VzXG4gICAqIEBwYXJhbSAge1N0cmluZ30gcHJvcGVydHlOYW1lIFByb3BlcnR5IG5hbWUgdG8gc2VsZWN0XG4gICAqIEByZXR1cm4ge0FycmF5fSAgICAgICAgICAgICAgIFNlbGVjdGVkIHByb3BlcnRpZXNcbiAgICovXG4gIHBsdWNrKHByb3BlcnR5TmFtZSkge1xuICAgIHJldHVybiB0aGlzLnJlYWxDaG9pY2VzLm1hcCgoY2hvaWNlKSA9PiBjaG9pY2VbcHJvcGVydHlOYW1lXSk7XG4gIH1cblxuICAvLyBFeHBvc2UgdXN1YWwgQXJyYXkgbWV0aG9kc1xuICBpbmRleE9mKC4uLmFyZ3MpIHtcbiAgICByZXR1cm4gdGhpcy5jaG9pY2VzLmluZGV4T2YoLi4uYXJncyk7XG4gIH1cblxuICBmb3JFYWNoKC4uLmFyZ3MpIHtcbiAgICByZXR1cm4gdGhpcy5jaG9pY2VzLmZvckVhY2goLi4uYXJncyk7XG4gIH1cblxuICBmaWx0ZXIoLi4uYXJncykge1xuICAgIHJldHVybiB0aGlzLmNob2ljZXMuZmlsdGVyKC4uLmFyZ3MpO1xuICB9XG5cbiAgcmVkdWNlKC4uLmFyZ3MpIHtcbiAgICByZXR1cm4gdGhpcy5jaG9pY2VzLnJlZHVjZSguLi5hcmdzKTtcbiAgfVxuXG4gIGZpbmQoZnVuYykge1xuICAgIHJldHVybiB0aGlzLmNob2ljZXMuZmluZChmdW5jKTtcbiAgfVxuXG4gIHNvbWUoZnVuYykge1xuICAgIHJldHVybiB0aGlzLmNob2ljZXMuc29tZShmdW5jKTtcbiAgfVxuXG4gIHB1c2goLi4uYXJncykge1xuICAgIGNvbnN0IG9ianMgPSBhcmdzLm1hcCgodmFsKSA9PiBuZXcgQ2hvaWNlKHZhbCkpO1xuICAgIHRoaXMuY2hvaWNlcy5wdXNoKC4uLm9ianMpO1xuICAgIHRoaXMucmVhbENob2ljZXMgPSB0aGlzLmNob2ljZXNcbiAgICAgIC5maWx0ZXIoU2VwYXJhdG9yLmV4Y2x1ZGUpXG4gICAgICAuZmlsdGVyKChpdGVtKSA9PiAhaXRlbS5kaXNhYmxlZCk7XG4gICAgcmV0dXJuIHRoaXMuY2hvaWNlcztcbiAgfVxufVxuIiwgImltcG9ydCBjb2xvcnMgZnJvbSAneW9jdG9jb2xvcnMtY2pzJztcbmltcG9ydCBmaWd1cmVzIGZyb20gJ0BpbnF1aXJlci9maWd1cmVzJztcblxuLyoqXG4gKiBTZXBhcmF0b3Igb2JqZWN0XG4gKiBVc2VkIHRvIHNwYWNlL3NlcGFyYXRlIGNob2ljZXMgZ3JvdXBcbiAqIEBjb25zdHJ1Y3RvclxuICogQHBhcmFtIHtTdHJpbmd9IGxpbmUgICBTZXBhcmF0aW9uIGxpbmUgY29udGVudCAoZmFjdWx0YXRpdmUpXG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgU2VwYXJhdG9yIHtcbiAgY29uc3RydWN0b3IobGluZSkge1xuICAgIHRoaXMudHlwZSA9ICdzZXBhcmF0b3InO1xuICAgIHRoaXMubGluZSA9IGNvbG9ycy5kaW0obGluZSB8fCBBcnJheS5mcm9tKHsgbGVuZ3RoOiAxNSB9KS5qb2luKGZpZ3VyZXMubGluZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhlbHBlciBmdW5jdGlvbiByZXR1cm5pbmcgZmFsc2UgaWYgb2JqZWN0IGlzIGEgc2VwYXJhdG9yXG4gICAqIEBwYXJhbSAge09iamVjdH0gb2JqIG9iamVjdCB0byB0ZXN0IGFnYWluc3RcbiAgICogQHJldHVybiB7Qm9vbGVhbn0gICAgYGZhbHNlYCBpZiBvYmplY3QgaXMgYSBzZXBhcmF0b3JcbiAgICovXG4gIHN0YXRpYyBleGNsdWRlKG9iaikge1xuICAgIHJldHVybiBvYmoudHlwZSAhPT0gJ3NlcGFyYXRvcic7XG4gIH1cblxuICAvKipcbiAgICogU3RyaW5naWZ5IHNlcGFyYXRvclxuICAgKiBAcmV0dXJuIHtTdHJpbmd9IHRoZSBzZXBhcmF0b3IgZGlzcGxheSBzdHJpbmdcbiAgICovXG4gIHRvU3RyaW5nKCkge1xuICAgIHJldHVybiB0aGlzLmxpbmU7XG4gIH1cbn1cbiIsICIvKipcbiAqIENob2ljZSBvYmplY3RcbiAqIE5vcm1hbGl6ZSBpbnB1dCBhcyBjaG9pY2Ugb2JqZWN0XG4gKiBAY29uc3RydWN0b3JcbiAqIEBwYXJhbSB7TnVtYmVyfFN0cmluZ3xPYmplY3R9IHZhbCAgQ2hvaWNlIHZhbHVlLiBJZiBhbiBvYmplY3QgaXMgcGFzc2VkLCBpdCBzaG91bGQgY29udGFpbnNcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXQgbGVhc3Qgb25lIG9mIGB2YWx1ZWAgb3IgYG5hbWVgIHByb3BlcnR5XG4gKi9cblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQ2hvaWNlIHtcbiAgY29uc3RydWN0b3IodmFsLCBhbnN3ZXJzKSB7XG4gICAgLy8gRG9uJ3QgcHJvY2VzcyBDaG9pY2UgYW5kIFNlcGFyYXRvciBvYmplY3RcbiAgICBpZiAodmFsIGluc3RhbmNlb2YgQ2hvaWNlIHx8IHZhbC50eXBlID09PSAnc2VwYXJhdG9yJykge1xuICAgICAgcmV0dXJuIHZhbDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHZhbCA9PT0gJ3N0cmluZycgfHwgdHlwZW9mIHZhbCA9PT0gJ251bWJlcicpIHtcbiAgICAgIHRoaXMubmFtZSA9IFN0cmluZyh2YWwpO1xuICAgICAgdGhpcy52YWx1ZSA9IHZhbDtcbiAgICAgIHRoaXMuc2hvcnQgPSBTdHJpbmcodmFsKTtcbiAgICB9IGVsc2Uge1xuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCB2YWwsIHtcbiAgICAgICAgbmFtZTogdmFsLm5hbWUgfHwgdmFsLnZhbHVlLFxuICAgICAgICB2YWx1ZTogJ3ZhbHVlJyBpbiB2YWwgPyB2YWwudmFsdWUgOiB2YWwubmFtZSxcbiAgICAgICAgc2hvcnQ6IHZhbC5zaG9ydCB8fCB2YWwubmFtZSB8fCB2YWwudmFsdWUsXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLmRpc2FibGVkID1cbiAgICAgIHR5cGVvZiB2YWwuZGlzYWJsZWQgPT09ICdmdW5jdGlvbicgPyB2YWwuZGlzYWJsZWQoYW5zd2VycykgOiB2YWwuZGlzYWJsZWQ7XG4gIH1cbn1cbiIsICJpbXBvcnQgYW5zaUVzY2FwZXMgZnJvbSAnYW5zaS1lc2NhcGVzJztcbmltcG9ydCBjbGlXaWR0aCBmcm9tICdjbGktd2lkdGgnO1xuaW1wb3J0IHdyYXBBbnNpIGZyb20gJ3dyYXAtYW5zaSc7XG5pbXBvcnQgc3RyaXBBbnNpIGZyb20gJ3N0cmlwLWFuc2knO1xuaW1wb3J0IHN0cmluZ1dpZHRoIGZyb20gJ3N0cmluZy13aWR0aCc7XG5pbXBvcnQgb3JhIGZyb20gJ29yYSc7XG5pbXBvcnQgKiBhcyB1dGlsIGZyb20gJy4vcmVhZGxpbmUuanMnO1xuXG5mdW5jdGlvbiBoZWlnaHQoY29udGVudCkge1xuICByZXR1cm4gY29udGVudC5zcGxpdCgnXFxuJykubGVuZ3RoO1xufVxuXG4vKiogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnQgKi9cbmZ1bmN0aW9uIGxhc3RMaW5lKGNvbnRlbnQpIHtcbiAgcmV0dXJuIGNvbnRlbnQuc3BsaXQoJ1xcbicpLnBvcCgpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTY3JlZW5NYW5hZ2VyIHtcbiAgY29uc3RydWN0b3IocmwpIHtcbiAgICAvLyBUaGVzZSB2YXJpYWJsZXMgYXJlIGtlZXBpbmcgaW5mb3JtYXRpb24gdG8gYWxsb3cgY29ycmVjdCBwcm9tcHQgcmUtcmVuZGVyaW5nXG4gICAgdGhpcy5oZWlnaHQgPSAwO1xuICAgIHRoaXMuZXh0cmFMaW5lc1VuZGVyUHJvbXB0ID0gMDtcblxuICAgIHRoaXMucmwgPSBybDtcbiAgfVxuXG4gIHJlbmRlcldpdGhTcGlubmVyKGNvbnRlbnQsIGJvdHRvbUNvbnRlbnQpIHtcbiAgICBpZiAodGhpcy5zcGlubmVySWQpIHtcbiAgICAgIGNsZWFySW50ZXJ2YWwodGhpcy5zcGlubmVySWQpO1xuICAgIH1cblxuICAgIGxldCBzcGlubmVyO1xuICAgIGxldCBjb250ZW50RnVuYztcbiAgICBsZXQgYm90dG9tQ29udGVudEZ1bmM7XG5cbiAgICBpZiAoYm90dG9tQ29udGVudCkge1xuICAgICAgc3Bpbm5lciA9IG9yYShib3R0b21Db250ZW50KTtcbiAgICAgIGNvbnRlbnRGdW5jID0gKCkgPT4gY29udGVudDtcbiAgICAgIGJvdHRvbUNvbnRlbnRGdW5jID0gKCkgPT4gc3Bpbm5lci5mcmFtZSgpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzcGlubmVyID0gb3JhKGNvbnRlbnQpO1xuICAgICAgY29udGVudEZ1bmMgPSAoKSA9PiBzcGlubmVyLmZyYW1lKCk7XG4gICAgICBib3R0b21Db250ZW50RnVuYyA9ICgpID0+ICcnO1xuICAgIH1cblxuICAgIHRoaXMuc3Bpbm5lcklkID0gc2V0SW50ZXJ2YWwoXG4gICAgICAoKSA9PiB0aGlzLnJlbmRlcihjb250ZW50RnVuYygpLCBib3R0b21Db250ZW50RnVuYygpLCB0cnVlKSxcbiAgICAgIHNwaW5uZXIuaW50ZXJ2YWwsXG4gICAgKTtcbiAgfVxuXG4gIHJlbmRlcihjb250ZW50LCBib3R0b21Db250ZW50LCBzcGlubmluZyA9IGZhbHNlKSB7XG4gICAgaWYgKHRoaXMuc3Bpbm5lcklkICYmICFzcGlubmluZykge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLnNwaW5uZXJJZCk7XG4gICAgfVxuXG4gICAgdGhpcy5ybC5vdXRwdXQudW5tdXRlKCk7XG4gICAgdGhpcy5jbGVhbih0aGlzLmV4dHJhTGluZXNVbmRlclByb21wdCk7XG5cbiAgICAvKipcbiAgICAgKiBXcml0ZSBtZXNzYWdlIHRvIHNjcmVlbiBhbmQgc2V0UHJvbXB0IHRvIGNvbnRyb2wgYmFja3NwYWNlXG4gICAgICovXG5cbiAgICBjb25zdCBwcm9tcHRMaW5lID0gbGFzdExpbmUoY29udGVudCk7XG4gICAgY29uc3QgcmF3UHJvbXB0TGluZSA9IHN0cmlwQW5zaShwcm9tcHRMaW5lKTtcblxuICAgIC8vIFJlbW92ZSB0aGUgcmwubGluZSBmcm9tIG91ciBwcm9tcHQuIFdlIGNhbid0IHJlbHkgb24gdGhlIGNvbnRlbnQgb2ZcbiAgICAvLyBybC5saW5lIChtYWlubHkgYmVjYXVzZSBvZiB0aGUgcGFzc3dvcmQgcHJvbXB0KSwgc28ganVzdCByZWx5IG9uIGl0J3NcbiAgICAvLyBsZW5ndGguXG4gICAgbGV0IHByb21wdCA9IHJhd1Byb21wdExpbmU7XG4gICAgaWYgKHRoaXMucmwubGluZS5sZW5ndGggPiAwKSB7XG4gICAgICBwcm9tcHQgPSBwcm9tcHQuc2xpY2UoMCwgLXRoaXMucmwubGluZS5sZW5ndGgpO1xuICAgIH1cblxuICAgIHRoaXMucmwuc2V0UHJvbXB0KHByb21wdCk7XG5cbiAgICAvLyBTZXRQcm9tcHQgd2lsbCBjaGFuZ2UgY3Vyc29yIHBvc2l0aW9uLCBub3cgd2UgY2FuIGdldCBjb3JyZWN0IHZhbHVlXG4gICAgY29uc3QgY3Vyc29yUG9zID0gdGhpcy5ybC5fZ2V0Q3Vyc29yUG9zKCk7XG4gICAgY29uc3Qgd2lkdGggPSB0aGlzLm5vcm1hbGl6ZWRDbGlXaWR0aCgpO1xuXG4gICAgY29udGVudCA9IHRoaXMuZm9yY2VMaW5lUmV0dXJuKGNvbnRlbnQsIHdpZHRoKTtcbiAgICBib3R0b21Db250ZW50ICYmPSB0aGlzLmZvcmNlTGluZVJldHVybihib3R0b21Db250ZW50LCB3aWR0aCk7XG5cbiAgICAvLyBNYW51YWxseSBpbnNlcnQgYW4gZXh0cmEgbGluZSBpZiB3ZSdyZSBhdCB0aGUgZW5kIG9mIHRoZSBsaW5lLlxuICAgIC8vIFRoaXMgcHJldmVudCB0aGUgY3Vyc29yIGZyb20gYXBwZWFyaW5nIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlXG4gICAgLy8gY3VycmVudCBsaW5lLlxuICAgIGlmIChyYXdQcm9tcHRMaW5lLmxlbmd0aCAlIHdpZHRoID09PSAwKSB7XG4gICAgICBjb250ZW50ICs9ICdcXG4nO1xuICAgIH1cblxuICAgIGNvbnN0IGZ1bGxDb250ZW50ID0gY29udGVudCArIChib3R0b21Db250ZW50ID8gJ1xcbicgKyBib3R0b21Db250ZW50IDogJycpO1xuICAgIHRoaXMucmwub3V0cHV0LndyaXRlKGZ1bGxDb250ZW50KTtcblxuICAgIC8qKlxuICAgICAqIFJlLWFkanVzdCB0aGUgY3Vyc29yIGF0IHRoZSBjb3JyZWN0IHBvc2l0aW9uLlxuICAgICAqL1xuXG4gICAgLy8gV2UgbmVlZCB0byBjb25zaWRlciBwYXJ0cyBvZiB0aGUgcHJvbXB0IHVuZGVyIHRoZSBjdXJzb3IgYXMgcGFydCBvZiB0aGUgYm90dG9tXG4gICAgLy8gY29udGVudCBpbiBvcmRlciB0byBjb3JyZWN0bHkgY2xlYW51cCBhbmQgcmUtcmVuZGVyLlxuICAgIGNvbnN0IHByb21wdExpbmVVcERpZmYgPSBNYXRoLmZsb29yKHJhd1Byb21wdExpbmUubGVuZ3RoIC8gd2lkdGgpIC0gY3Vyc29yUG9zLnJvd3M7XG4gICAgY29uc3QgYm90dG9tQ29udGVudEhlaWdodCA9XG4gICAgICBwcm9tcHRMaW5lVXBEaWZmICsgKGJvdHRvbUNvbnRlbnQgPyBoZWlnaHQoYm90dG9tQ29udGVudCkgOiAwKTtcbiAgICBpZiAoYm90dG9tQ29udGVudEhlaWdodCA+IDApIHtcbiAgICAgIHV0aWwudXAodGhpcy5ybCwgYm90dG9tQ29udGVudEhlaWdodCk7XG4gICAgfVxuXG4gICAgLy8gUmVzZXQgY3Vyc29yIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGxpbmVcbiAgICB1dGlsLmxlZnQodGhpcy5ybCwgc3RyaW5nV2lkdGgobGFzdExpbmUoZnVsbENvbnRlbnQpKSk7XG5cbiAgICAvLyBBZGp1c3QgY3Vyc29yIG9uIHRoZSByaWdodFxuICAgIGlmIChjdXJzb3JQb3MuY29scyA+IDApIHtcbiAgICAgIHV0aWwucmlnaHQodGhpcy5ybCwgY3Vyc29yUG9zLmNvbHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNldCB1cCBzdGF0ZSBmb3IgbmV4dCByZS1yZW5kZXJpbmdcbiAgICAgKi9cbiAgICB0aGlzLmV4dHJhTGluZXNVbmRlclByb21wdCA9IGJvdHRvbUNvbnRlbnRIZWlnaHQ7XG4gICAgdGhpcy5oZWlnaHQgPSBoZWlnaHQoZnVsbENvbnRlbnQpO1xuXG4gICAgdGhpcy5ybC5vdXRwdXQubXV0ZSgpO1xuICB9XG5cbiAgY2xlYW4oZXh0cmFMaW5lcykge1xuICAgIGlmIChleHRyYUxpbmVzID4gMCkge1xuICAgICAgdXRpbC5kb3duKHRoaXMucmwsIGV4dHJhTGluZXMpO1xuICAgIH1cblxuICAgIHV0aWwuY2xlYXJMaW5lKHRoaXMucmwsIHRoaXMuaGVpZ2h0KTtcbiAgfVxuXG4gIGRvbmUoKSB7XG4gICAgdGhpcy5ybC5zZXRQcm9tcHQoJycpO1xuICAgIHRoaXMucmwub3V0cHV0LnVubXV0ZSgpO1xuICAgIHRoaXMucmwub3V0cHV0LndyaXRlKGBcXG4ke2Fuc2lFc2NhcGVzLmN1cnNvclNob3d9YCk7XG4gIH1cblxuICByZWxlYXNlQ3Vyc29yKCkge1xuICAgIGlmICh0aGlzLmV4dHJhTGluZXNVbmRlclByb21wdCA+IDApIHtcbiAgICAgIHV0aWwuZG93bih0aGlzLnJsLCB0aGlzLmV4dHJhTGluZXNVbmRlclByb21wdCk7XG4gICAgfVxuICB9XG5cbiAgbm9ybWFsaXplZENsaVdpZHRoKCkge1xuICAgIGNvbnN0IHdpZHRoID0gY2xpV2lkdGgoe1xuICAgICAgZGVmYXVsdFdpZHRoOiA4MCxcbiAgICAgIG91dHB1dDogdGhpcy5ybC5vdXRwdXQsXG4gICAgfSk7XG4gICAgcmV0dXJuIHdpZHRoO1xuICB9XG5cbiAgLyoqXG4gICAqIEBwYXJhbSB7c3RyaW5nW119IGxpbmVzXG4gICAqL1xuICBicmVha0xpbmVzKGxpbmVzLCB3aWR0aCA9IHRoaXMubm9ybWFsaXplZENsaVdpZHRoKCkpIHtcbiAgICAvLyBCcmVhayBsaW5lcyB3aG8ncmUgbG9uZ2VyIHRoYW4gdGhlIGNsaSB3aWR0aCBzbyB3ZSBjYW4gbm9ybWFsaXplIHRoZSBuYXR1cmFsIGxpbmVcbiAgICAvLyByZXR1cm5zIGJlaGF2aW9yIGFjcm9zcyB0ZXJtaW5hbHMuXG4gICAgLy8gcmU6IHRyaW06IGZhbHNlOyBieSBkZWZhdWx0LCBgd3JhcC1hbnNpYCB0cmltcyB3aGl0ZXNwYWNlLCB3aGljaFxuICAgIC8vIGlzIG5vdCB3aGF0IHdlIHdhbnQuXG4gICAgLy8gcmU6IGhhcmQ6IHRydWU7IGJ5IGRlZmF1bHQnLCBgd3JhcC1hbnNpYCBkb2VzIHNvZnQgd3JhcHBpbmdcbiAgICByZXR1cm4gbGluZXMubWFwKChsaW5lKSA9PlxuICAgICAgd3JhcEFuc2kobGluZSwgd2lkdGgsIHsgdHJpbTogZmFsc2UsIGhhcmQ6IHRydWUgfSkuc3BsaXQoJ1xcbicpLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnRcbiAgICovXG4gIGZvcmNlTGluZVJldHVybihjb250ZW50LCB3aWR0aCA9IHRoaXMubm9ybWFsaXplZENsaVdpZHRoKCkpIHtcbiAgICByZXR1cm4gdGhpcy5icmVha0xpbmVzKGNvbnRlbnQuc3BsaXQoJ1xcbicpLCB3aWR0aCkuZmxhdCgpLmpvaW4oJ1xcbicpO1xuICB9XG59XG4iLCAiaW1wb3J0IGFuc2lFc2NhcGVzIGZyb20gJ2Fuc2ktZXNjYXBlcyc7XG5cbi8qKlxuICogTW92ZSBjdXJzb3IgbGVmdCBieSBgeGBcbiAqIEBwYXJhbSAge1JlYWRsaW5lfSBybCAtIFJlYWRsaW5lIGluc3RhbmNlXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAgeCAgLSBIb3cgZmFyIHRvIGdvIGxlZnQgKGRlZmF1bHQgdG8gMSlcbiAqL1xuXG5leHBvcnQgY29uc3QgbGVmdCA9IGZ1bmN0aW9uIChybCwgeCkge1xuICBybC5vdXRwdXQud3JpdGUoYW5zaUVzY2FwZXMuY3Vyc29yQmFja3dhcmQoeCkpO1xufTtcblxuLyoqXG4gKiBNb3ZlIGN1cnNvciByaWdodCBieSBgeGBcbiAqIEBwYXJhbSAge1JlYWRsaW5lfSBybCAtIFJlYWRsaW5lIGluc3RhbmNlXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAgeCAgLSBIb3cgZmFyIHRvIGdvIGxlZnQgKGRlZmF1bHQgdG8gMSlcbiAqL1xuXG5leHBvcnQgY29uc3QgcmlnaHQgPSBmdW5jdGlvbiAocmwsIHgpIHtcbiAgcmwub3V0cHV0LndyaXRlKGFuc2lFc2NhcGVzLmN1cnNvckZvcndhcmQoeCkpO1xufTtcblxuLyoqXG4gKiBNb3ZlIGN1cnNvciB1cCBieSBgeGBcbiAqIEBwYXJhbSAge1JlYWRsaW5lfSBybCAtIFJlYWRsaW5lIGluc3RhbmNlXG4gKiBAcGFyYW0gIHtOdW1iZXJ9ICAgeCAgLSBIb3cgZmFyIHRvIGdvIHVwIChkZWZhdWx0IHRvIDEpXG4gKi9cblxuZXhwb3J0IGNvbnN0IHVwID0gZnVuY3Rpb24gKHJsLCB4KSB7XG4gIHJsLm91dHB1dC53cml0ZShhbnNpRXNjYXBlcy5jdXJzb3JVcCh4KSk7XG59O1xuXG4vKipcbiAqIE1vdmUgY3Vyc29yIGRvd24gYnkgYHhgXG4gKiBAcGFyYW0gIHtSZWFkbGluZX0gcmwgLSBSZWFkbGluZSBpbnN0YW5jZVxuICogQHBhcmFtICB7TnVtYmVyfSAgIHggIC0gSG93IGZhciB0byBnbyBkb3duIChkZWZhdWx0IHRvIDEpXG4gKi9cblxuZXhwb3J0IGNvbnN0IGRvd24gPSBmdW5jdGlvbiAocmwsIHgpIHtcbiAgcmwub3V0cHV0LndyaXRlKGFuc2lFc2NhcGVzLmN1cnNvckRvd24oeCkpO1xufTtcblxuLyoqXG4gKiBDbGVhciBjdXJyZW50IGxpbmVcbiAqIEBwYXJhbSAge1JlYWRsaW5lfSBybCAgLSBSZWFkbGluZSBpbnN0YW5jZVxuICogQHBhcmFtICB7TnVtYmVyfSAgIGxlbiAtIG51bWJlciBvZiBsaW5lIHRvIGRlbGV0ZVxuICovXG5leHBvcnQgY29uc3QgY2xlYXJMaW5lID0gZnVuY3Rpb24gKHJsLCBsZW4pIHtcbiAgcmwub3V0cHV0LndyaXRlKGFuc2lFc2NhcGVzLmVyYXNlTGluZXMobGVuKSk7XG59O1xuIiwgIi8qKlxuICogYGlucHV0YCB0eXBlIHByb21wdFxuICovXG5cbmltcG9ydCBjb2xvcnMgZnJvbSAneW9jdG9jb2xvcnMtY2pzJztcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgb2JzZXJ2ZSBmcm9tICcuLi91dGlscy9ldmVudHMuanMnO1xuaW1wb3J0IEJhc2UgZnJvbSAnLi9iYXNlLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgSW5wdXRQcm9tcHQgZXh0ZW5kcyBCYXNlIHtcbiAgLyoqXG4gICAqIFN0YXJ0IHRoZSBJbnF1aXJ5IHNlc3Npb25cbiAgICogQHBhcmFtICB7RnVuY3Rpb259IGNiICAgICAgQ2FsbGJhY2sgd2hlbiBwcm9tcHQgaXMgZG9uZVxuICAgKiBAcmV0dXJuIHt0aGlzfVxuICAgKi9cblxuICBfcnVuKGNiKSB7XG4gICAgdGhpcy5kb25lID0gY2I7XG5cbiAgICAvLyBPbmNlIHVzZXIgY29uZmlybSAoZW50ZXIga2V5KVxuICAgIGNvbnN0IGV2ZW50cyA9IG9ic2VydmUodGhpcy5ybCk7XG4gICAgY29uc3Qgc3VibWl0ID0gZXZlbnRzLmxpbmUucGlwZShtYXAodGhpcy5maWx0ZXJJbnB1dC5iaW5kKHRoaXMpKSk7XG5cbiAgICBjb25zdCB2YWxpZGF0aW9uID0gdGhpcy5oYW5kbGVTdWJtaXRFdmVudHMoc3VibWl0KTtcbiAgICB2YWxpZGF0aW9uLnN1Y2Nlc3MuZm9yRWFjaCh0aGlzLm9uRW5kLmJpbmQodGhpcykpO1xuICAgIHZhbGlkYXRpb24uZXJyb3IuZm9yRWFjaCh0aGlzLm9uRXJyb3IuYmluZCh0aGlzKSk7XG5cbiAgICBldmVudHMua2V5cHJlc3NcbiAgICAgIC5waXBlKHRha2VVbnRpbCh2YWxpZGF0aW9uLnN1Y2Nlc3MpKVxuICAgICAgLmZvckVhY2godGhpcy5vbktleXByZXNzLmJpbmQodGhpcykpO1xuXG4gICAgLy8gSW5pdFxuICAgIHRoaXMucmVuZGVyKCk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIHByb21wdCB0byBzY3JlZW5cbiAgICogQHJldHVybiB7SW5wdXRQcm9tcHR9IHNlbGZcbiAgICovXG5cbiAgcmVuZGVyKGVycm9yKSB7XG4gICAgbGV0IGJvdHRvbUNvbnRlbnQgPSAnJztcbiAgICBsZXQgYXBwZW5kQ29udGVudCA9ICcnO1xuICAgIGxldCBtZXNzYWdlID0gdGhpcy5nZXRRdWVzdGlvbigpO1xuICAgIGNvbnN0IHsgdHJhbnNmb3JtZXIgfSA9IHRoaXMub3B0O1xuICAgIGNvbnN0IGlzRmluYWwgPSB0aGlzLnN0YXR1cyA9PT0gJ2Fuc3dlcmVkJztcblxuICAgIGFwcGVuZENvbnRlbnQgPSBpc0ZpbmFsID8gdGhpcy5hbnN3ZXIgOiB0aGlzLnJsLmxpbmU7XG5cbiAgICBpZiAodHJhbnNmb3JtZXIpIHtcbiAgICAgIG1lc3NhZ2UgKz0gdHJhbnNmb3JtZXIoYXBwZW5kQ29udGVudCwgdGhpcy5hbnN3ZXJzLCB7IGlzRmluYWwgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1lc3NhZ2UgKz0gaXNGaW5hbCA/IGNvbG9ycy5jeWFuKGFwcGVuZENvbnRlbnQpIDogYXBwZW5kQ29udGVudDtcbiAgICB9XG5cbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIGJvdHRvbUNvbnRlbnQgPSBjb2xvcnMucmVkKCc+PiAnKSArIGVycm9yO1xuICAgIH1cblxuICAgIHRoaXMuc2NyZWVuLnJlbmRlcihtZXNzYWdlLCBib3R0b21Db250ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIHVzZXIgcHJlc3MgYGVudGVyYCBrZXlcbiAgICovXG5cbiAgZmlsdGVySW5wdXQoaW5wdXQpIHtcbiAgICBpZiAoIWlucHV0KSB7XG4gICAgICByZXR1cm4gdGhpcy5vcHQuZGVmYXVsdCA9PSBudWxsID8gJycgOiB0aGlzLm9wdC5kZWZhdWx0O1xuICAgIH1cblxuICAgIHJldHVybiBpbnB1dDtcbiAgfVxuXG4gIG9uRW5kKHN0YXRlKSB7XG4gICAgdGhpcy5hbnN3ZXIgPSBzdGF0ZS52YWx1ZTtcbiAgICB0aGlzLnN0YXR1cyA9ICdhbnN3ZXJlZCc7XG5cbiAgICAvLyBSZS1yZW5kZXIgcHJvbXB0XG4gICAgdGhpcy5yZW5kZXIoKTtcblxuICAgIHRoaXMuc2NyZWVuLmRvbmUoKTtcbiAgICB0aGlzLmRvbmUoc3RhdGUudmFsdWUpO1xuICB9XG5cbiAgb25FcnJvcih7IHZhbHVlID0gJycsIGlzVmFsaWQgfSkge1xuICAgIHRoaXMucmwubGluZSArPSB2YWx1ZTtcbiAgICB0aGlzLnJsLmN1cnNvciArPSB2YWx1ZS5sZW5ndGg7XG4gICAgdGhpcy5yZW5kZXIoaXNWYWxpZCk7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB1c2VyIHByZXNzIGEga2V5XG4gICAqL1xuXG4gIG9uS2V5cHJlc3MoKSB7XG4gICAgdGhpcy5zdGF0dXMgPSAndG91Y2hlZCc7XG5cbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG59XG4iLCAiLyoqXG4gKiBgaW5wdXRgIHR5cGUgcHJvbXB0XG4gKi9cblxuaW1wb3J0IElucHV0IGZyb20gJy4vaW5wdXQuanMnO1xuXG4vKipcbiAqIEV4dGVudGlvbiBvZiB0aGUgSW5wdXQgcHJvbXB0IHNwZWNpZmljYWxseSBmb3IgdXNlIHdpdGggbnVtYmVyIGlucHV0cy5cbiAqL1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOdW1iZXJQcm9tcHQgZXh0ZW5kcyBJbnB1dCB7XG4gIGZpbHRlcklucHV0KGlucHV0KSB7XG4gICAgaWYgKGlucHV0ICYmIHR5cGVvZiBpbnB1dCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlucHV0ID0gaW5wdXQudHJpbSgpO1xuICAgICAgLy8gTWF0Y2ggYSBudW1iZXIgaW4gdGhlIGlucHV0XG4gICAgICBjb25zdCBudW1iZXJNYXRjaCA9IGlucHV0Lm1hdGNoKC8oXi0/XFxkK3xeLT9cXGQrXFwuXFxkKnxeXFxkKlxcLlxcZCspKGVcXGQrKT8kLyk7XG4gICAgICAvLyBJZiBhIG51bWJlciBpcyBmb3VuZCwgcmV0dXJuIHRoYXQgaW5wdXQuXG4gICAgICBpZiAobnVtYmVyTWF0Y2gpIHtcbiAgICAgICAgcmV0dXJuIE51bWJlcihudW1iZXJNYXRjaFswXSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgdGhlIGlucHV0IHdhcyBpbnZhbGlkIHJldHVybiB0aGUgZGVmYXVsdCB2YWx1ZS5cbiAgICByZXR1cm4gdGhpcy5vcHQuZGVmYXVsdCA9PSBudWxsID8gTnVtYmVyLk5hTiA6IHRoaXMub3B0LmRlZmF1bHQ7XG4gIH1cbn1cbiIsICIvKipcbiAqIGBjb25maXJtYCB0eXBlIHByb21wdFxuICovXG5cbmltcG9ydCBjb2xvcnMgZnJvbSAneW9jdG9jb2xvcnMtY2pzJztcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IG9ic2VydmUgZnJvbSAnLi4vdXRpbHMvZXZlbnRzLmpzJztcbmltcG9ydCBCYXNlIGZyb20gJy4vYmFzZS5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENvbmZpcm1Qcm9tcHQgZXh0ZW5kcyBCYXNlIHtcbiAgY29uc3RydWN0b3IocXVlc3Rpb25zLCBybCwgYW5zd2Vycykge1xuICAgIHN1cGVyKHF1ZXN0aW9ucywgcmwsIGFuc3dlcnMpO1xuXG4gICAgbGV0IHJhd0RlZmF1bHQgPSB0cnVlO1xuXG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLm9wdCwge1xuICAgICAgZmlsdGVyKGlucHV0KSB7XG4gICAgICAgIGlmIChpbnB1dCAhPSBudWxsICYmIGlucHV0ICE9PSAnJykge1xuICAgICAgICAgIGlmICgvXnkoZXMpPy9pLnRlc3QoaW5wdXQpKSByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICBpZiAoL15uKG8pPy9pLnRlc3QoaW5wdXQpKSByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJhd0RlZmF1bHQ7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMub3B0LmRlZmF1bHQgIT0gbnVsbCkge1xuICAgICAgcmF3RGVmYXVsdCA9IEJvb2xlYW4odGhpcy5vcHQuZGVmYXVsdCk7XG4gICAgfVxuXG4gICAgdGhpcy5vcHQuZGVmYXVsdCA9IHJhd0RlZmF1bHQgPyAnWS9uJyA6ICd5L04nO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IHRoZSBJbnF1aXJ5IHNlc3Npb25cbiAgICogQHBhcmFtICB7RnVuY3Rpb259IGNiICAgQ2FsbGJhY2sgd2hlbiBwcm9tcHQgaXMgZG9uZVxuICAgKiBAcmV0dXJuIHt0aGlzfVxuICAgKi9cblxuICBfcnVuKGNiKSB7XG4gICAgdGhpcy5kb25lID0gY2I7XG5cbiAgICAvLyBPbmNlIHVzZXIgY29uZmlybSAoZW50ZXIga2V5KVxuICAgIGNvbnN0IGV2ZW50cyA9IG9ic2VydmUodGhpcy5ybCk7XG4gICAgZXZlbnRzLmtleXByZXNzLnBpcGUodGFrZVVudGlsKGV2ZW50cy5saW5lKSkuZm9yRWFjaCh0aGlzLm9uS2V5cHJlc3MuYmluZCh0aGlzKSk7XG5cbiAgICBldmVudHMubGluZS5waXBlKHRha2UoMSkpLmZvckVhY2godGhpcy5vbkVuZC5iaW5kKHRoaXMpKTtcblxuICAgIC8vIEluaXRcbiAgICB0aGlzLnJlbmRlcigpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVyIHRoZSBwcm9tcHQgdG8gc2NyZWVuXG4gICAqIEByZXR1cm4ge0NvbmZpcm1Qcm9tcHR9IHNlbGZcbiAgICovXG5cbiAgcmVuZGVyKGFuc3dlcikge1xuICAgIGxldCBtZXNzYWdlID0gdGhpcy5nZXRRdWVzdGlvbigpO1xuXG4gICAgaWYgKHR5cGVvZiBhbnN3ZXIgPT09ICdib29sZWFuJykge1xuICAgICAgbWVzc2FnZSArPSBjb2xvcnMuY3lhbihhbnN3ZXIgPyAnWWVzJyA6ICdObycpO1xuICAgIH0gZWxzZSBpZiAoYW5zd2VyKSB7XG4gICAgICBtZXNzYWdlICs9IGFuc3dlcjtcbiAgICB9IGVsc2Uge1xuICAgICAgbWVzc2FnZSArPSB0aGlzLnJsLmxpbmU7XG4gICAgfVxuXG4gICAgdGhpcy5zY3JlZW4ucmVuZGVyKG1lc3NhZ2UpO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB1c2VyIHByZXNzIGBlbnRlcmAga2V5XG4gICAqL1xuXG4gIG9uRW5kKGlucHV0KSB7XG4gICAgdGhpcy5zdGF0dXMgPSAnYW5zd2VyZWQnO1xuXG4gICAgbGV0IG91dHB1dCA9IHRoaXMub3B0LmZpbHRlcihpbnB1dCk7XG4gICAgaWYgKHRoaXMub3B0LnRyYW5zZm9ybWVyKSB7XG4gICAgICBvdXRwdXQgPSB0aGlzLm9wdC50cmFuc2Zvcm1lcihvdXRwdXQpO1xuICAgIH1cbiAgICB0aGlzLnJlbmRlcihvdXRwdXQpO1xuXG4gICAgdGhpcy5zY3JlZW4uZG9uZSgpO1xuICAgIHRoaXMuZG9uZShvdXRwdXQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdXNlciBwcmVzcyBhIGtleVxuICAgKi9cblxuICBvbktleXByZXNzKCkge1xuICAgIHRoaXMucmVuZGVyKCk7XG4gIH1cbn1cbiIsICIvKipcbiAqIGByYXdsaXN0YCB0eXBlIHByb21wdFxuICovXG5cbmltcG9ydCBjb2xvcnMgZnJvbSAneW9jdG9jb2xvcnMtY2pzJztcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgU2VwYXJhdG9yIGZyb20gJy4uL29iamVjdHMvc2VwYXJhdG9yLmpzJztcbmltcG9ydCBvYnNlcnZlIGZyb20gJy4uL3V0aWxzL2V2ZW50cy5qcyc7XG5pbXBvcnQgUGFnaW5hdG9yIGZyb20gJy4uL3V0aWxzL3BhZ2luYXRvci5qcyc7XG5pbXBvcnQgaW5jcmVtZW50TGlzdEluZGV4IGZyb20gJy4uL3V0aWxzL2luY3JlbWVudExpc3RJbmRleC5qcyc7XG5pbXBvcnQgQmFzZSBmcm9tICcuL2Jhc2UuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBSYXdMaXN0UHJvbXB0IGV4dGVuZHMgQmFzZSB7XG4gIGNvbnN0cnVjdG9yKHF1ZXN0aW9ucywgcmwsIGFuc3dlcnMpIHtcbiAgICBzdXBlcihxdWVzdGlvbnMsIHJsLCBhbnN3ZXJzKTtcblxuICAgIHRoaXMuaGlkZGVuTGluZSA9ICcnO1xuICAgIHRoaXMubGFzdEtleSA9ICcnO1xuXG4gICAgaWYgKCF0aGlzLm9wdC5jaG9pY2VzKSB7XG4gICAgICB0aGlzLnRocm93UGFyYW1FcnJvcignY2hvaWNlcycpO1xuICAgIH1cblxuICAgIHRoaXMub3B0LnZhbGlkQ2hvaWNlcyA9IHRoaXMub3B0LmNob2ljZXMuZmlsdGVyKFNlcGFyYXRvci5leGNsdWRlKTtcblxuICAgIHRoaXMuc2VsZWN0ZWQgPSAwO1xuICAgIHRoaXMucmF3RGVmYXVsdCA9IDA7XG5cbiAgICBPYmplY3QuYXNzaWduKHRoaXMub3B0LCB7XG4gICAgICB2YWxpZGF0ZSh2YWwpIHtcbiAgICAgICAgcmV0dXJuIHZhbCAhPSBudWxsO1xuICAgICAgfSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGRlZiA9IHRoaXMub3B0LmRlZmF1bHQ7XG4gICAgaWYgKHR5cGVvZiBkZWYgPT09ICdudW1iZXInICYmIGRlZiA+PSAwICYmIGRlZiA8IHRoaXMub3B0LmNob2ljZXMucmVhbExlbmd0aCkge1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IGRlZjtcbiAgICAgIHRoaXMucmF3RGVmYXVsdCA9IGRlZjtcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkZWYgIT09ICdudW1iZXInICYmIGRlZiAhPSBudWxsKSB7XG4gICAgICBjb25zdCBpbmRleCA9IHRoaXMub3B0LmNob2ljZXMucmVhbENob2ljZXMuZmluZEluZGV4KCh7IHZhbHVlIH0pID0+IHZhbHVlID09PSBkZWYpO1xuICAgICAgY29uc3Qgc2FmZUluZGV4ID0gTWF0aC5tYXgoaW5kZXgsIDApO1xuICAgICAgdGhpcy5zZWxlY3RlZCA9IHNhZmVJbmRleDtcbiAgICAgIHRoaXMucmF3RGVmYXVsdCA9IHNhZmVJbmRleDtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN1cmUgbm8gZGVmYXVsdCBpcyBzZXQgKHNvIGl0IHdvbid0IGJlIHByaW50ZWQpXG4gICAgdGhpcy5vcHQuZGVmYXVsdCA9IG51bGw7XG5cbiAgICBjb25zdCBzaG91bGRMb29wID0gdGhpcy5vcHQubG9vcCA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IHRoaXMub3B0Lmxvb3A7XG4gICAgdGhpcy5wYWdpbmF0b3IgPSBuZXcgUGFnaW5hdG9yKHVuZGVmaW5lZCwgeyBpc0luZmluaXRlOiBzaG91bGRMb29wIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IHRoZSBJbnF1aXJ5IHNlc3Npb25cbiAgICogQHBhcmFtICB7RnVuY3Rpb259IGNiICAgICAgQ2FsbGJhY2sgd2hlbiBwcm9tcHQgaXMgZG9uZVxuICAgKiBAcmV0dXJuIHt0aGlzfVxuICAgKi9cblxuICBfcnVuKGNiKSB7XG4gICAgdGhpcy5kb25lID0gY2I7XG5cbiAgICAvLyBPbmNlIHVzZXIgY29uZmlybSAoZW50ZXIga2V5KVxuICAgIGNvbnN0IGV2ZW50cyA9IG9ic2VydmUodGhpcy5ybCk7XG4gICAgY29uc3Qgc3VibWl0ID0gZXZlbnRzLmxpbmUucGlwZShtYXAodGhpcy5nZXRDdXJyZW50VmFsdWUuYmluZCh0aGlzKSkpO1xuXG4gICAgY29uc3QgdmFsaWRhdGlvbiA9IHRoaXMuaGFuZGxlU3VibWl0RXZlbnRzKHN1Ym1pdCk7XG4gICAgdmFsaWRhdGlvbi5zdWNjZXNzLmZvckVhY2godGhpcy5vbkVuZC5iaW5kKHRoaXMpKTtcbiAgICB2YWxpZGF0aW9uLmVycm9yLmZvckVhY2godGhpcy5vbkVycm9yLmJpbmQodGhpcykpO1xuXG4gICAgZXZlbnRzLm5vcm1hbGl6ZWRVcEtleVxuICAgICAgLnBpcGUodGFrZVVudGlsKHZhbGlkYXRpb24uc3VjY2VzcykpXG4gICAgICAuZm9yRWFjaCh0aGlzLm9uVXBLZXkuYmluZCh0aGlzKSk7XG4gICAgZXZlbnRzLm5vcm1hbGl6ZWREb3duS2V5XG4gICAgICAucGlwZSh0YWtlVW50aWwodmFsaWRhdGlvbi5zdWNjZXNzKSlcbiAgICAgIC5mb3JFYWNoKHRoaXMub25Eb3duS2V5LmJpbmQodGhpcykpO1xuICAgIGV2ZW50cy5rZXlwcmVzc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHZhbGlkYXRpb24uc3VjY2VzcykpXG4gICAgICAuZm9yRWFjaCh0aGlzLm9uS2V5cHJlc3MuYmluZCh0aGlzKSk7XG4gICAgLy8gSW5pdCB0aGUgcHJvbXB0XG4gICAgdGhpcy5yZW5kZXIoKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlciB0aGUgcHJvbXB0IHRvIHNjcmVlblxuICAgKiBAcmV0dXJuIHtSYXdMaXN0UHJvbXB0fSBzZWxmXG4gICAqL1xuXG4gIHJlbmRlcihlcnJvcikge1xuICAgIC8vIFJlbmRlciBxdWVzdGlvblxuICAgIGxldCBtZXNzYWdlID0gdGhpcy5nZXRRdWVzdGlvbigpO1xuICAgIGxldCBib3R0b21Db250ZW50ID0gJyc7XG5cbiAgICBpZiAodGhpcy5zdGF0dXMgPT09ICdhbnN3ZXJlZCcpIHtcbiAgICAgIG1lc3NhZ2UgKz0gY29sb3JzLmN5YW4odGhpcy5vcHQuY2hvaWNlcy5nZXRDaG9pY2UodGhpcy5zZWxlY3RlZCkuc2hvcnQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBjaG9pY2VzU3RyID0gcmVuZGVyQ2hvaWNlcyh0aGlzLm9wdC5jaG9pY2VzLCB0aGlzLnNlbGVjdGVkKTtcbiAgICAgIG1lc3NhZ2UgKz1cbiAgICAgICAgJ1xcbicgKyB0aGlzLnBhZ2luYXRvci5wYWdpbmF0ZShjaG9pY2VzU3RyLCB0aGlzLnNlbGVjdGVkLCB0aGlzLm9wdC5wYWdlU2l6ZSk7XG4gICAgICBtZXNzYWdlICs9ICdcXG4gIEFuc3dlcjogJztcbiAgICB9XG4gICAgbWVzc2FnZSArPSB0aGlzLnJsLmxpbmU7XG5cbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIGJvdHRvbUNvbnRlbnQgPSAnXFxuJyArIGNvbG9ycy5yZWQoJz4+ICcpICsgZXJyb3I7XG4gICAgfVxuXG4gICAgdGhpcy5zY3JlZW4ucmVuZGVyKG1lc3NhZ2UsIGJvdHRvbUNvbnRlbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdXNlciBwcmVzcyBgZW50ZXJgIGtleVxuICAgKi9cblxuICBnZXRDdXJyZW50VmFsdWUoaW5kZXgpIHtcbiAgICBpZiAoaW5kZXggPT0gbnVsbCkge1xuICAgICAgaW5kZXggPSB0aGlzLnJhd0RlZmF1bHQ7XG4gICAgfSBlbHNlIGlmIChpbmRleCA9PT0gJycpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSB0aGlzLnNlbGVjdGVkID09PSB1bmRlZmluZWQgPyAtMSA6IHRoaXMuc2VsZWN0ZWQ7XG4gICAgICBpbmRleCA9IHRoaXMuc2VsZWN0ZWQ7XG4gICAgfSBlbHNlIHtcbiAgICAgIGluZGV4IC09IDE7XG4gICAgfVxuXG4gICAgY29uc3QgY2hvaWNlID0gdGhpcy5vcHQuY2hvaWNlcy5nZXRDaG9pY2UoaW5kZXgpO1xuICAgIHJldHVybiBjaG9pY2UgPyBjaG9pY2UudmFsdWUgOiBudWxsO1xuICB9XG5cbiAgb25FbmQoc3RhdGUpIHtcbiAgICB0aGlzLnN0YXR1cyA9ICdhbnN3ZXJlZCc7XG4gICAgdGhpcy5hbnN3ZXIgPSBzdGF0ZS52YWx1ZTtcblxuICAgIC8vIFJlLXJlbmRlciBwcm9tcHRcbiAgICB0aGlzLnJlbmRlcigpO1xuXG4gICAgdGhpcy5zY3JlZW4uZG9uZSgpO1xuICAgIHRoaXMuZG9uZShzdGF0ZS52YWx1ZSk7XG4gIH1cblxuICBvbkVycm9yKCkge1xuICAgIHRoaXMucmVuZGVyKCdQbGVhc2UgZW50ZXIgYSB2YWxpZCBpbmRleCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdXNlciBwcmVzcyBhIGtleVxuICAgKi9cblxuICBvbktleXByZXNzKCkge1xuICAgIGxldCBpbmRleDtcblxuICAgIGlmICh0aGlzLmxhc3RLZXkgPT09ICdhcnJvdycpIHtcbiAgICAgIGluZGV4ID0gdGhpcy5oaWRkZW5MaW5lLmxlbmd0aCA+IDAgPyBOdW1iZXIodGhpcy5oaWRkZW5MaW5lKSAtIDEgOiAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBpbmRleCA9IHRoaXMucmwubGluZS5sZW5ndGggPiAwID8gTnVtYmVyKHRoaXMucmwubGluZSkgLSAxIDogMDtcbiAgICB9XG4gICAgdGhpcy5sYXN0S2V5ID0gJyc7XG5cbiAgICB0aGlzLnNlbGVjdGVkID0gdGhpcy5vcHQuY2hvaWNlcy5nZXRDaG9pY2UoaW5kZXgpID8gaW5kZXggOiB1bmRlZmluZWQ7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXaGVuIHVzZXIgcHJlc3MgdXAga2V5XG4gICAqL1xuXG4gIG9uVXBLZXkoKSB7XG4gICAgdGhpcy5vbkFycm93S2V5KCd1cCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdXNlciBwcmVzcyBkb3duIGtleVxuICAgKi9cblxuICBvbkRvd25LZXkoKSB7XG4gICAgdGhpcy5vbkFycm93S2V5KCdkb3duJyk7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB1c2VyIHByZXNzIHVwIG9yIGRvd24ga2V5XG4gICAqIEBwYXJhbSB7U3RyaW5nfSB0eXBlIEFycm93IHR5cGU6IHVwIG9yIGRvd25cbiAgICovXG5cbiAgb25BcnJvd0tleSh0eXBlKSB7XG4gICAgdGhpcy5zZWxlY3RlZCA9IGluY3JlbWVudExpc3RJbmRleCh0aGlzLnNlbGVjdGVkLCB0eXBlLCB0aGlzLm9wdCkgfHwgMDtcbiAgICB0aGlzLmhpZGRlbkxpbmUgPSBTdHJpbmcodGhpcy5zZWxlY3RlZCArIDEpO1xuICAgIHRoaXMucmwubGluZSA9ICcnO1xuICAgIHRoaXMubGFzdEtleSA9ICdhcnJvdyc7XG4gIH1cbn1cblxuLyoqXG4gKiBGdW5jdGlvbiBmb3IgcmVuZGVyaW5nIGxpc3QgY2hvaWNlc1xuICogQHBhcmFtICB7TnVtYmVyfSBwb2ludGVyIFBvc2l0aW9uIG9mIHRoZSBwb2ludGVyXG4gKiBAcmV0dXJuIHtTdHJpbmd9ICAgICAgICAgUmVuZGVyZWQgY29udGVudFxuICovXG5cbmZ1bmN0aW9uIHJlbmRlckNob2ljZXMoY2hvaWNlcywgcG9pbnRlcikge1xuICBsZXQgb3V0cHV0ID0gJyc7XG4gIGxldCBzZXBhcmF0b3JPZmZzZXQgPSAwO1xuXG4gIGNob2ljZXMuZm9yRWFjaCgoY2hvaWNlLCBpKSA9PiB7XG4gICAgb3V0cHV0ICs9IG91dHB1dCA/ICdcXG4gICcgOiAnICAnO1xuXG4gICAgaWYgKGNob2ljZS50eXBlID09PSAnc2VwYXJhdG9yJykge1xuICAgICAgc2VwYXJhdG9yT2Zmc2V0Kys7XG4gICAgICBvdXRwdXQgKz0gJyAnICsgY2hvaWNlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGluZGV4ID0gaSAtIHNlcGFyYXRvck9mZnNldDtcbiAgICBsZXQgZGlzcGxheSA9IGluZGV4ICsgMSArICcpICcgKyBjaG9pY2UubmFtZTtcbiAgICBpZiAoaW5kZXggPT09IHBvaW50ZXIpIHtcbiAgICAgIGRpc3BsYXkgPSBjb2xvcnMuY3lhbihkaXNwbGF5KTtcbiAgICB9XG5cbiAgICBvdXRwdXQgKz0gZGlzcGxheTtcbiAgfSk7XG5cbiAgcmV0dXJuIG91dHB1dDtcbn1cbiIsICIvKipcbiAqIGByYXdsaXN0YCB0eXBlIHByb21wdFxuICovXG5cbmltcG9ydCBjb2xvcnMgZnJvbSAneW9jdG9jb2xvcnMtY2pzJztcbmltcG9ydCB7IG1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgU2VwYXJhdG9yIGZyb20gJy4uL29iamVjdHMvc2VwYXJhdG9yLmpzJztcbmltcG9ydCBvYnNlcnZlIGZyb20gJy4uL3V0aWxzL2V2ZW50cy5qcyc7XG5pbXBvcnQgUGFnaW5hdG9yIGZyb20gJy4uL3V0aWxzL3BhZ2luYXRvci5qcyc7XG5pbXBvcnQgQmFzZSBmcm9tICcuL2Jhc2UuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBFeHBhbmRQcm9tcHQgZXh0ZW5kcyBCYXNlIHtcbiAgY29uc3RydWN0b3IocXVlc3Rpb25zLCBybCwgYW5zd2Vycykge1xuICAgIHN1cGVyKHF1ZXN0aW9ucywgcmwsIGFuc3dlcnMpO1xuXG4gICAgaWYgKCF0aGlzLm9wdC5jaG9pY2VzKSB7XG4gICAgICB0aGlzLnRocm93UGFyYW1FcnJvcignY2hvaWNlcycpO1xuICAgIH1cblxuICAgIHRoaXMudmFsaWRhdGVDaG9pY2VzKHRoaXMub3B0LmNob2ljZXMpO1xuXG4gICAgLy8gQWRkIHRoZSBkZWZhdWx0IGBoZWxwYCAoL2V4cGFuZCkgb3B0aW9uXG4gICAgdGhpcy5vcHQuY2hvaWNlcy5wdXNoKHtcbiAgICAgIGtleTogJ2gnLFxuICAgICAgbmFtZTogJ0hlbHAsIGxpc3QgYWxsIG9wdGlvbnMnLFxuICAgICAgdmFsdWU6ICdoZWxwJyxcbiAgICB9KTtcblxuICAgIHRoaXMub3B0LnZhbGlkYXRlID0gKGNob2ljZSkgPT4ge1xuICAgICAgaWYgKGNob2ljZSA9PSBudWxsKSB7XG4gICAgICAgIHJldHVybiAnUGxlYXNlIGVudGVyIGEgdmFsaWQgY29tbWFuZCc7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjaG9pY2UgIT09ICdoZWxwJztcbiAgICB9O1xuXG4gICAgLy8gU2V0dXAgdGhlIGRlZmF1bHQgc3RyaW5nIChjYXBpdGFsaXplIHRoZSBkZWZhdWx0IGtleSlcbiAgICB0aGlzLm9wdC5kZWZhdWx0ID0gdGhpcy5nZW5lcmF0ZUNob2ljZXNTdHJpbmcodGhpcy5vcHQuY2hvaWNlcywgdGhpcy5vcHQuZGVmYXVsdCk7XG5cbiAgICB0aGlzLnBhZ2luYXRvciA9IG5ldyBQYWdpbmF0b3IodGhpcy5zY3JlZW4pO1xuICB9XG5cbiAgLyoqXG4gICAqIFN0YXJ0IHRoZSBJbnF1aXJ5IHNlc3Npb25cbiAgICogQHBhcmFtICB7RnVuY3Rpb259IGNiICAgICAgQ2FsbGJhY2sgd2hlbiBwcm9tcHQgaXMgZG9uZVxuICAgKiBAcmV0dXJuIHt0aGlzfVxuICAgKi9cblxuICBfcnVuKGNiKSB7XG4gICAgdGhpcy5kb25lID0gY2I7XG5cbiAgICAvLyBTYXZlIHVzZXIgYW5zd2VyIGFuZCB1cGRhdGUgcHJvbXB0IHRvIHNob3cgc2VsZWN0ZWQgb3B0aW9uLlxuICAgIGNvbnN0IGV2ZW50cyA9IG9ic2VydmUodGhpcy5ybCk7XG4gICAgY29uc3QgdmFsaWRhdGlvbiA9IHRoaXMuaGFuZGxlU3VibWl0RXZlbnRzKFxuICAgICAgZXZlbnRzLmxpbmUucGlwZShtYXAodGhpcy5nZXRDdXJyZW50VmFsdWUuYmluZCh0aGlzKSkpLFxuICAgICk7XG4gICAgdmFsaWRhdGlvbi5zdWNjZXNzLmZvckVhY2godGhpcy5vblN1Ym1pdC5iaW5kKHRoaXMpKTtcbiAgICB2YWxpZGF0aW9uLmVycm9yLmZvckVhY2godGhpcy5vbkVycm9yLmJpbmQodGhpcykpO1xuICAgIHRoaXMua2V5cHJlc3NPYnMgPSBldmVudHMua2V5cHJlc3NcbiAgICAgIC5waXBlKHRha2VVbnRpbCh2YWxpZGF0aW9uLnN1Y2Nlc3MpKVxuICAgICAgLmZvckVhY2godGhpcy5vbktleXByZXNzLmJpbmQodGhpcykpO1xuXG4gICAgLy8gSW5pdCB0aGUgcHJvbXB0XG4gICAgdGhpcy5yZW5kZXIoKTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlciB0aGUgcHJvbXB0IHRvIHNjcmVlblxuICAgKiBAcmV0dXJuIHtFeHBhbmRQcm9tcHR9IHNlbGZcbiAgICovXG5cbiAgcmVuZGVyKGVycm9yLCBoaW50KSB7XG4gICAgbGV0IG1lc3NhZ2UgPSB0aGlzLmdldFF1ZXN0aW9uKCk7XG4gICAgbGV0IGJvdHRvbUNvbnRlbnQgPSAnJztcblxuICAgIGlmICh0aGlzLnN0YXR1cyA9PT0gJ2Fuc3dlcmVkJykge1xuICAgICAgbWVzc2FnZSArPSBjb2xvcnMuY3lhbih0aGlzLmFuc3dlcik7XG4gICAgfSBlbHNlIGlmICh0aGlzLnN0YXR1cyA9PT0gJ2V4cGFuZGVkJykge1xuICAgICAgY29uc3QgY2hvaWNlc1N0ciA9IHJlbmRlckNob2ljZXModGhpcy5vcHQuY2hvaWNlcywgdGhpcy5zZWxlY3RlZEtleSk7XG4gICAgICBtZXNzYWdlICs9IHRoaXMucGFnaW5hdG9yLnBhZ2luYXRlKGNob2ljZXNTdHIsIHRoaXMuc2VsZWN0ZWRLZXksIHRoaXMub3B0LnBhZ2VTaXplKTtcbiAgICAgIG1lc3NhZ2UgKz0gJ1xcbiAgQW5zd2VyOiAnO1xuICAgIH1cblxuICAgIG1lc3NhZ2UgKz0gdGhpcy5ybC5saW5lO1xuXG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBib3R0b21Db250ZW50ID0gY29sb3JzLnJlZCgnPj4gJykgKyBlcnJvcjtcbiAgICB9XG5cbiAgICBpZiAoaGludCkge1xuICAgICAgYm90dG9tQ29udGVudCA9IGNvbG9ycy5jeWFuKCc+PiAnKSArIGhpbnQ7XG4gICAgfVxuXG4gICAgdGhpcy5zY3JlZW4ucmVuZGVyKG1lc3NhZ2UsIGJvdHRvbUNvbnRlbnQpO1xuICB9XG5cbiAgZ2V0Q3VycmVudFZhbHVlKGlucHV0KSB7XG4gICAgaW5wdXQgfHw9IHRoaXMucmF3RGVmYXVsdDtcblxuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5vcHQuY2hvaWNlcy53aGVyZSh7IGtleTogaW5wdXQudG9Mb3dlckNhc2UoKS50cmltKCkgfSlbMF07XG4gICAgaWYgKCFzZWxlY3RlZCkge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgcmV0dXJuIHNlbGVjdGVkLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIHRoZSBwcm9tcHQgY2hvaWNlcyBzdHJpbmdcbiAgICogQHJldHVybiB7U3RyaW5nfSAgQ2hvaWNlcyBzdHJpbmdcbiAgICovXG5cbiAgZ2V0Q2hvaWNlcygpIHtcbiAgICBsZXQgb3V0cHV0ID0gJyc7XG5cbiAgICB0aGlzLm9wdC5jaG9pY2VzLmZvckVhY2goKGNob2ljZSkgPT4ge1xuICAgICAgb3V0cHV0ICs9ICdcXG4gICc7XG5cbiAgICAgIGlmIChjaG9pY2UudHlwZSA9PT0gJ3NlcGFyYXRvcicpIHtcbiAgICAgICAgb3V0cHV0ICs9ICcgJyArIGNob2ljZTtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBsZXQgY2hvaWNlU3RyID0gY2hvaWNlLmtleSArICcpICcgKyBjaG9pY2UubmFtZTtcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkS2V5ID09PSBjaG9pY2Uua2V5KSB7XG4gICAgICAgIGNob2ljZVN0ciA9IGNvbG9ycy5jeWFuKGNob2ljZVN0cik7XG4gICAgICB9XG5cbiAgICAgIG91dHB1dCArPSBjaG9pY2VTdHI7XG4gICAgfSk7XG5cbiAgICByZXR1cm4gb3V0cHV0O1xuICB9XG5cbiAgb25FcnJvcihzdGF0ZSkge1xuICAgIGlmIChzdGF0ZS52YWx1ZSA9PT0gJ2hlbHAnKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkS2V5ID0gJyc7XG4gICAgICB0aGlzLnN0YXR1cyA9ICdleHBhbmRlZCc7XG4gICAgICB0aGlzLnJlbmRlcigpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyKHN0YXRlLmlzVmFsaWQpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdXNlciBwcmVzcyBgZW50ZXJgIGtleVxuICAgKi9cblxuICBvblN1Ym1pdChzdGF0ZSkge1xuICAgIHRoaXMuc3RhdHVzID0gJ2Fuc3dlcmVkJztcbiAgICBjb25zdCBjaG9pY2UgPSB0aGlzLm9wdC5jaG9pY2VzLndoZXJlKHsgdmFsdWU6IHN0YXRlLnZhbHVlIH0pWzBdO1xuICAgIHRoaXMuYW5zd2VyID0gY2hvaWNlLnNob3J0IHx8IGNob2ljZS5uYW1lO1xuXG4gICAgLy8gUmUtcmVuZGVyIHByb21wdFxuICAgIHRoaXMucmVuZGVyKCk7XG4gICAgdGhpcy5zY3JlZW4uZG9uZSgpO1xuICAgIHRoaXMuZG9uZShzdGF0ZS52YWx1ZSk7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB1c2VyIHByZXNzIGEga2V5XG4gICAqL1xuXG4gIG9uS2V5cHJlc3MoKSB7XG4gICAgdGhpcy5zZWxlY3RlZEtleSA9IHRoaXMucmwubGluZS50b0xvd2VyQ2FzZSgpO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gdGhpcy5vcHQuY2hvaWNlcy53aGVyZSh7IGtleTogdGhpcy5zZWxlY3RlZEtleSB9KVswXTtcbiAgICBpZiAodGhpcy5zdGF0dXMgPT09ICdleHBhbmRlZCcpIHtcbiAgICAgIHRoaXMucmVuZGVyKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMucmVuZGVyKG51bGwsIHNlbGVjdGVkID8gc2VsZWN0ZWQubmFtZSA6IG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZSB0aGUgY2hvaWNlc1xuICAgKiBAcGFyYW0ge0FycmF5fSBjaG9pY2VzXG4gICAqL1xuXG4gIHZhbGlkYXRlQ2hvaWNlcyhjaG9pY2VzKSB7XG4gICAgbGV0IGZvcm1hdEVycm9yO1xuICAgIGNvbnN0IGVycm9ycyA9IFtdO1xuICAgIGNvbnN0IGtleW1hcCA9IHt9O1xuICAgIGNob2ljZXMuZmlsdGVyKFNlcGFyYXRvci5leGNsdWRlKS5mb3JFYWNoKChjaG9pY2UpID0+IHtcbiAgICAgIGlmICghY2hvaWNlLmtleSB8fCBjaG9pY2Uua2V5Lmxlbmd0aCAhPT0gMSkge1xuICAgICAgICBmb3JtYXRFcnJvciA9IHRydWU7XG4gICAgICB9XG5cbiAgICAgIGNob2ljZS5rZXkgPSBTdHJpbmcoY2hvaWNlLmtleSkudG9Mb3dlckNhc2UoKTtcblxuICAgICAgaWYgKGtleW1hcFtjaG9pY2Uua2V5XSkge1xuICAgICAgICBlcnJvcnMucHVzaChjaG9pY2Uua2V5KTtcbiAgICAgIH1cblxuICAgICAga2V5bWFwW2Nob2ljZS5rZXldID0gdHJ1ZTtcbiAgICB9KTtcblxuICAgIGlmIChmb3JtYXRFcnJvcikge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnRm9ybWF0IGVycm9yOiBga2V5YCBwYXJhbSBtdXN0IGJlIGEgc2luZ2xlIGxldHRlciBhbmQgaXMgcmVxdWlyZWQuJyxcbiAgICAgICk7XG4gICAgfVxuXG4gICAgaWYgKGtleW1hcC5oKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICdSZXNlcnZlZCBrZXkgZXJyb3I6IGBrZXlgIHBhcmFtIGNhbm5vdCBiZSBgaGAgLSB0aGlzIHZhbHVlIGlzIHJlc2VydmVkLicsXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChlcnJvcnMubGVuZ3RoID4gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAnRHVwbGljYXRlIGtleSBlcnJvcjogYGtleWAgcGFyYW0gbXVzdCBiZSB1bmlxdWUuIER1cGxpY2F0ZXM6ICcgK1xuICAgICAgICAgIFsuLi5uZXcgU2V0KGVycm9ycyldLmpvaW4oJywnKSxcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIGEgc3RyaW5nIG91dCBvZiB0aGUgY2hvaWNlcyBrZXlzXG4gICAqIEBwYXJhbSAge0FycmF5fSAgY2hvaWNlc1xuICAgKiBAcGFyYW0gIHtOdW1iZXJ8U3RyaW5nfSBkZWZhdWx0IC0gdGhlIGNob2ljZSBpbmRleCBvciBuYW1lIHRvIGNhcGl0YWxpemVcbiAgICogQHJldHVybiB7U3RyaW5nfSBUaGUgcmVuZGVyZWQgY2hvaWNlcyBrZXkgc3RyaW5nXG4gICAqL1xuICBnZW5lcmF0ZUNob2ljZXNTdHJpbmcoY2hvaWNlcywgZGVmYXVsdENob2ljZSkge1xuICAgIGxldCBkZWZJbmRleCA9IGNob2ljZXMucmVhbExlbmd0aCAtIDE7XG4gICAgaWYgKHR5cGVvZiBkZWZhdWx0Q2hvaWNlID09PSAnbnVtYmVyJyAmJiB0aGlzLm9wdC5jaG9pY2VzLmdldENob2ljZShkZWZhdWx0Q2hvaWNlKSkge1xuICAgICAgZGVmSW5kZXggPSBkZWZhdWx0Q2hvaWNlO1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGRlZmF1bHRDaG9pY2UgPT09ICdzdHJpbmcnKSB7XG4gICAgICBjb25zdCBpbmRleCA9IGNob2ljZXMucmVhbENob2ljZXMuZmluZEluZGV4KCh7IHZhbHVlIH0pID0+IHZhbHVlID09PSBkZWZhdWx0Q2hvaWNlKTtcbiAgICAgIGRlZkluZGV4ID0gaW5kZXggPT09IC0xID8gZGVmSW5kZXggOiBpbmRleDtcbiAgICB9XG5cbiAgICBjb25zdCBkZWZTdHIgPSB0aGlzLm9wdC5jaG9pY2VzLnBsdWNrKCdrZXknKTtcbiAgICB0aGlzLnJhd0RlZmF1bHQgPSBkZWZTdHJbZGVmSW5kZXhdO1xuICAgIGRlZlN0cltkZWZJbmRleF0gPSBTdHJpbmcoZGVmU3RyW2RlZkluZGV4XSkudG9VcHBlckNhc2UoKTtcbiAgICByZXR1cm4gZGVmU3RyLmpvaW4oJycpO1xuICB9XG59XG5cbi8qKlxuICogRnVuY3Rpb24gZm9yIHJlbmRlcmluZyBjaGVja2JveCBjaG9pY2VzXG4gKiBAcGFyYW0gIHtTdHJpbmd9IHBvaW50ZXIgU2VsZWN0ZWQga2V5XG4gKiBAcmV0dXJuIHtTdHJpbmd9ICAgICAgICAgUmVuZGVyZWQgY29udGVudFxuICovXG5cbmZ1bmN0aW9uIHJlbmRlckNob2ljZXMoY2hvaWNlcywgcG9pbnRlcikge1xuICBsZXQgb3V0cHV0ID0gJyc7XG5cbiAgY2hvaWNlcy5mb3JFYWNoKChjaG9pY2UpID0+IHtcbiAgICBvdXRwdXQgKz0gJ1xcbiAgJztcblxuICAgIGlmIChjaG9pY2UudHlwZSA9PT0gJ3NlcGFyYXRvcicpIHtcbiAgICAgIG91dHB1dCArPSAnICcgKyBjaG9pY2U7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IGNob2ljZVN0ciA9IGNob2ljZS5rZXkgKyAnKSAnICsgY2hvaWNlLm5hbWU7XG4gICAgaWYgKHBvaW50ZXIgPT09IGNob2ljZS5rZXkpIHtcbiAgICAgIGNob2ljZVN0ciA9IGNvbG9ycy5jeWFuKGNob2ljZVN0cik7XG4gICAgfVxuXG4gICAgb3V0cHV0ICs9IGNob2ljZVN0cjtcbiAgfSk7XG5cbiAgcmV0dXJuIG91dHB1dDtcbn1cbiIsICIvKipcbiAqIGBsaXN0YCB0eXBlIHByb21wdFxuICovXG5cbmltcG9ydCBhbnNpRXNjYXBlcyBmcm9tICdhbnNpLWVzY2FwZXMnO1xuaW1wb3J0IGNvbG9ycyBmcm9tICd5b2N0b2NvbG9ycy1janMnO1xuaW1wb3J0IGZpZ3VyZXMgZnJvbSAnQGlucXVpcmVyL2ZpZ3VyZXMnO1xuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCBvYnNlcnZlIGZyb20gJy4uL3V0aWxzL2V2ZW50cy5qcyc7XG5pbXBvcnQgUGFnaW5hdG9yIGZyb20gJy4uL3V0aWxzL3BhZ2luYXRvci5qcyc7XG5pbXBvcnQgaW5jcmVtZW50TGlzdEluZGV4IGZyb20gJy4uL3V0aWxzL2luY3JlbWVudExpc3RJbmRleC5qcyc7XG5pbXBvcnQgQmFzZSBmcm9tICcuL2Jhc2UuanMnO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBDaGVja2JveFByb21wdCBleHRlbmRzIEJhc2Uge1xuICBjb25zdHJ1Y3RvcihxdWVzdGlvbnMsIHJsLCBhbnN3ZXJzKSB7XG4gICAgc3VwZXIocXVlc3Rpb25zLCBybCwgYW5zd2Vycyk7XG5cbiAgICBpZiAoIXRoaXMub3B0LmNob2ljZXMpIHtcbiAgICAgIHRoaXMudGhyb3dQYXJhbUVycm9yKCdjaG9pY2VzJyk7XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy5vcHQuZGVmYXVsdCkpIHtcbiAgICAgIGZvciAoY29uc3QgY2hvaWNlIG9mIHRoaXMub3B0LmNob2ljZXMpIHtcbiAgICAgICAgaWYgKHRoaXMub3B0LmRlZmF1bHQuaW5jbHVkZXMoY2hvaWNlLnZhbHVlKSkge1xuICAgICAgICAgIGNob2ljZS5jaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMucG9pbnRlciA9IDA7XG5cbiAgICAvLyBNYWtlIHN1cmUgbm8gZGVmYXVsdCBpcyBzZXQgKHNvIGl0IHdvbid0IGJlIHByaW50ZWQpXG4gICAgdGhpcy5vcHQuZGVmYXVsdCA9IG51bGw7XG5cbiAgICBjb25zdCBzaG91bGRMb29wID0gdGhpcy5vcHQubG9vcCA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IHRoaXMub3B0Lmxvb3A7XG4gICAgdGhpcy5wYWdpbmF0b3IgPSBuZXcgUGFnaW5hdG9yKHRoaXMuc2NyZWVuLCB7IGlzSW5maW5pdGU6IHNob3VsZExvb3AgfSk7XG4gIH1cblxuICAvKipcbiAgICogU3RhcnQgdGhlIElucXVpcnkgc2Vzc2lvblxuICAgKiBAcGFyYW0gIHtGdW5jdGlvbn0gY2IgICAgICBDYWxsYmFjayB3aGVuIHByb21wdCBpcyBkb25lXG4gICAqIEByZXR1cm4ge3RoaXN9XG4gICAqL1xuXG4gIF9ydW4oY2IpIHtcbiAgICB0aGlzLmRvbmUgPSBjYjtcblxuICAgIGNvbnN0IGV2ZW50cyA9IG9ic2VydmUodGhpcy5ybCk7XG5cbiAgICBjb25zdCB2YWxpZGF0aW9uID0gdGhpcy5oYW5kbGVTdWJtaXRFdmVudHMoXG4gICAgICBldmVudHMubGluZS5waXBlKG1hcCh0aGlzLmdldEN1cnJlbnRWYWx1ZS5iaW5kKHRoaXMpKSksXG4gICAgKTtcbiAgICB2YWxpZGF0aW9uLnN1Y2Nlc3MuZm9yRWFjaCh0aGlzLm9uRW5kLmJpbmQodGhpcykpO1xuICAgIHZhbGlkYXRpb24uZXJyb3IuZm9yRWFjaCh0aGlzLm9uRXJyb3IuYmluZCh0aGlzKSk7XG5cbiAgICBldmVudHMubm9ybWFsaXplZFVwS2V5XG4gICAgICAucGlwZSh0YWtlVW50aWwodmFsaWRhdGlvbi5zdWNjZXNzKSlcbiAgICAgIC5mb3JFYWNoKHRoaXMub25VcEtleS5iaW5kKHRoaXMpKTtcbiAgICBldmVudHMubm9ybWFsaXplZERvd25LZXlcbiAgICAgIC5waXBlKHRha2VVbnRpbCh2YWxpZGF0aW9uLnN1Y2Nlc3MpKVxuICAgICAgLmZvckVhY2godGhpcy5vbkRvd25LZXkuYmluZCh0aGlzKSk7XG4gICAgZXZlbnRzLm51bWJlcktleVxuICAgICAgLnBpcGUodGFrZVVudGlsKHZhbGlkYXRpb24uc3VjY2VzcykpXG4gICAgICAuZm9yRWFjaCh0aGlzLm9uTnVtYmVyS2V5LmJpbmQodGhpcykpO1xuICAgIGV2ZW50cy5zcGFjZUtleVxuICAgICAgLnBpcGUodGFrZVVudGlsKHZhbGlkYXRpb24uc3VjY2VzcykpXG4gICAgICAuZm9yRWFjaCh0aGlzLm9uU3BhY2VLZXkuYmluZCh0aGlzKSk7XG4gICAgZXZlbnRzLmFLZXkucGlwZSh0YWtlVW50aWwodmFsaWRhdGlvbi5zdWNjZXNzKSkuZm9yRWFjaCh0aGlzLm9uQWxsS2V5LmJpbmQodGhpcykpO1xuICAgIGV2ZW50cy5pS2V5LnBpcGUodGFrZVVudGlsKHZhbGlkYXRpb24uc3VjY2VzcykpLmZvckVhY2godGhpcy5vbkludmVyc2VLZXkuYmluZCh0aGlzKSk7XG5cbiAgICAvLyBJbml0IHRoZSBwcm9tcHRcbiAgICB0aGlzLnJlbmRlcigpO1xuICAgIHRoaXMuZmlyc3RSZW5kZXIgPSBmYWxzZTtcblxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbmRlciB0aGUgcHJvbXB0IHRvIHNjcmVlblxuICAgKiBAcmV0dXJuIHtDaGVja2JveFByb21wdH0gc2VsZlxuICAgKi9cblxuICByZW5kZXIoZXJyb3IpIHtcbiAgICAvLyBSZW5kZXIgcXVlc3Rpb25cbiAgICBsZXQgbWVzc2FnZSA9IHRoaXMuZ2V0UXVlc3Rpb24oKTtcbiAgICBsZXQgYm90dG9tQ29udGVudCA9ICcnO1xuXG4gICAgaWYgKCF0aGlzLmRvbnRTaG93SGludHMpIHtcbiAgICAgIG1lc3NhZ2UgKz1cbiAgICAgICAgJyhQcmVzcyAnICtcbiAgICAgICAgY29sb3JzLmN5YW4oY29sb3JzLmJvbGQoJzxzcGFjZT4nKSkgK1xuICAgICAgICAnIHRvIHNlbGVjdCwgJyArXG4gICAgICAgIGNvbG9ycy5jeWFuKGNvbG9ycy5ib2xkKCc8YT4nKSkgK1xuICAgICAgICAnIHRvIHRvZ2dsZSBhbGwsICcgK1xuICAgICAgICBjb2xvcnMuY3lhbihjb2xvcnMuYm9sZCgnPGk+JykpICtcbiAgICAgICAgJyB0byBpbnZlcnQgc2VsZWN0aW9uLCBhbmQgJyArXG4gICAgICAgIGNvbG9ycy5jeWFuKGNvbG9ycy5ib2xkKCc8ZW50ZXI+JykpICtcbiAgICAgICAgJyB0byBwcm9jZWVkKSc7XG4gICAgfVxuXG4gICAgLy8gUmVuZGVyIGNob2ljZXMgb3IgYW5zd2VyIGRlcGVuZGluZyBvbiB0aGUgc3RhdGVcbiAgICBpZiAodGhpcy5zdGF0dXMgPT09ICdhbnN3ZXJlZCcpIHtcbiAgICAgIG1lc3NhZ2UgKz0gY29sb3JzLmN5YW4odGhpcy5zZWxlY3Rpb24uam9pbignLCAnKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGNob2ljZXNTdHIgPSByZW5kZXJDaG9pY2VzKHRoaXMub3B0LmNob2ljZXMsIHRoaXMucG9pbnRlcik7XG4gICAgICBjb25zdCBpbmRleFBvc2l0aW9uID0gdGhpcy5vcHQuY2hvaWNlcy5pbmRleE9mKFxuICAgICAgICB0aGlzLm9wdC5jaG9pY2VzLmdldENob2ljZSh0aGlzLnBvaW50ZXIpLFxuICAgICAgKTtcbiAgICAgIGNvbnN0IHJlYWxJbmRleFBvc2l0aW9uID1cbiAgICAgICAgdGhpcy5vcHQuY2hvaWNlcy5yZWR1Y2UoKGFjYywgdmFsdWUsIGkpID0+IHtcbiAgICAgICAgICAvLyBEb250IGNvdW50IGxpbmVzIHBhc3QgdGhlIGNob2ljZSB3ZSBhcmUgbG9va2luZyBhdFxuICAgICAgICAgIGlmIChpID4gaW5kZXhQb3NpdGlvbikge1xuICAgICAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gQWRkIGxpbmUgaWYgaXQncyBhIHNlcGFyYXRvclxuICAgICAgICAgIGlmICh2YWx1ZS50eXBlID09PSAnc2VwYXJhdG9yJykge1xuICAgICAgICAgICAgcmV0dXJuIGFjYyArIDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGV0IGwgPSB2YWx1ZS5uYW1lO1xuICAgICAgICAgIC8vIE5vbi1zdHJpbmdzIHRha2UgdXAgb25lIGxpbmVcbiAgICAgICAgICBpZiAodHlwZW9mIGwgIT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgICByZXR1cm4gYWNjICsgMTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAvLyBDYWxjdWxhdGUgbGluZXMgdGFrZW4gdXAgYnkgc3RyaW5nXG4gICAgICAgICAgbCA9IGwuc3BsaXQoJ1xcbicpO1xuICAgICAgICAgIHJldHVybiBhY2MgKyBsLmxlbmd0aDtcbiAgICAgICAgfSwgMCkgLSAxO1xuICAgICAgbWVzc2FnZSArPVxuICAgICAgICAnXFxuJyArIHRoaXMucGFnaW5hdG9yLnBhZ2luYXRlKGNob2ljZXNTdHIsIHJlYWxJbmRleFBvc2l0aW9uLCB0aGlzLm9wdC5wYWdlU2l6ZSk7XG4gICAgfVxuXG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBib3R0b21Db250ZW50ID0gY29sb3JzLnJlZCgnPj4gJykgKyBlcnJvcjtcbiAgICB9XG5cbiAgICBtZXNzYWdlICs9IGFuc2lFc2NhcGVzLmN1cnNvckhpZGU7XG5cbiAgICB0aGlzLnNjcmVlbi5yZW5kZXIobWVzc2FnZSwgYm90dG9tQ29udGVudCk7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiB1c2VyIHByZXNzIGBlbnRlcmAga2V5XG4gICAqL1xuXG4gIG9uRW5kKHN0YXRlKSB7XG4gICAgdGhpcy5zdGF0dXMgPSAnYW5zd2VyZWQnO1xuICAgIHRoaXMuZG9udFNob3dIaW50cyA9IHRydWU7XG4gICAgLy8gUmVyZW5kZXIgcHJvbXB0IChhbmQgY2xlYW4gc3VibGluZSBlcnJvcilcbiAgICB0aGlzLnJlbmRlcigpO1xuXG4gICAgdGhpcy5zY3JlZW4uZG9uZSgpO1xuICAgIHRoaXMuZG9uZShzdGF0ZS52YWx1ZSk7XG4gIH1cblxuICBvbkVycm9yKHN0YXRlKSB7XG4gICAgdGhpcy5yZW5kZXIoc3RhdGUuaXNWYWxpZCk7XG4gIH1cblxuICBnZXRDdXJyZW50VmFsdWUoKSB7XG4gICAgY29uc3QgY2hvaWNlcyA9IHRoaXMub3B0LmNob2ljZXMuZmlsdGVyKFxuICAgICAgKGNob2ljZSkgPT4gQm9vbGVhbihjaG9pY2UuY2hlY2tlZCkgJiYgIWNob2ljZS5kaXNhYmxlZCxcbiAgICApO1xuXG4gICAgdGhpcy5zZWxlY3Rpb24gPSBjaG9pY2VzLm1hcCgoY2hvaWNlKSA9PiBjaG9pY2Uuc2hvcnQpO1xuICAgIHJldHVybiBjaG9pY2VzLm1hcCgoY2hvaWNlKSA9PiBjaG9pY2UudmFsdWUpO1xuICB9XG5cbiAgb25VcEtleSgpIHtcbiAgICB0aGlzLnBvaW50ZXIgPSBpbmNyZW1lbnRMaXN0SW5kZXgodGhpcy5wb2ludGVyLCAndXAnLCB0aGlzLm9wdCk7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIG9uRG93bktleSgpIHtcbiAgICB0aGlzLnBvaW50ZXIgPSBpbmNyZW1lbnRMaXN0SW5kZXgodGhpcy5wb2ludGVyLCAnZG93bicsIHRoaXMub3B0KTtcbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG5cbiAgb25OdW1iZXJLZXkoaW5wdXQpIHtcbiAgICBpZiAoaW5wdXQgPD0gdGhpcy5vcHQuY2hvaWNlcy5yZWFsTGVuZ3RoKSB7XG4gICAgICB0aGlzLnBvaW50ZXIgPSBpbnB1dCAtIDE7XG4gICAgICB0aGlzLnRvZ2dsZUNob2ljZSh0aGlzLnBvaW50ZXIpO1xuICAgIH1cblxuICAgIHRoaXMucmVuZGVyKCk7XG4gIH1cblxuICBvblNwYWNlS2V5KCkge1xuICAgIHRoaXMudG9nZ2xlQ2hvaWNlKHRoaXMucG9pbnRlcik7XG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIG9uQWxsS2V5KCkge1xuICAgIGNvbnN0IHNob3VsZEJlQ2hlY2tlZCA9IHRoaXMub3B0LmNob2ljZXMuc29tZShcbiAgICAgIChjaG9pY2UpID0+IGNob2ljZS50eXBlICE9PSAnc2VwYXJhdG9yJyAmJiAhY2hvaWNlLmNoZWNrZWQsXG4gICAgKTtcblxuICAgIHRoaXMub3B0LmNob2ljZXMuZm9yRWFjaCgoY2hvaWNlKSA9PiB7XG4gICAgICBpZiAoY2hvaWNlLnR5cGUgIT09ICdzZXBhcmF0b3InKSB7XG4gICAgICAgIGNob2ljZS5jaGVja2VkID0gc2hvdWxkQmVDaGVja2VkO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5yZW5kZXIoKTtcbiAgfVxuXG4gIG9uSW52ZXJzZUtleSgpIHtcbiAgICB0aGlzLm9wdC5jaG9pY2VzLmZvckVhY2goKGNob2ljZSkgPT4ge1xuICAgICAgaWYgKGNob2ljZS50eXBlICE9PSAnc2VwYXJhdG9yJykge1xuICAgICAgICBjaG9pY2UuY2hlY2tlZCA9ICFjaG9pY2UuY2hlY2tlZDtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMucmVuZGVyKCk7XG4gIH1cblxuICB0b2dnbGVDaG9pY2UoaW5kZXgpIHtcbiAgICBjb25zdCBpdGVtID0gdGhpcy5vcHQuY2hvaWNlcy5nZXRDaG9pY2UoaW5kZXgpO1xuICAgIGlmIChpdGVtICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMub3B0LmNob2ljZXMuZ2V0Q2hvaWNlKGluZGV4KS5jaGVja2VkID0gIWl0ZW0uY2hlY2tlZDtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBGdW5jdGlvbiBmb3IgcmVuZGVyaW5nIGNoZWNrYm94IGNob2ljZXNcbiAqIEBwYXJhbSAge051bWJlcn0gcG9pbnRlciBQb3NpdGlvbiBvZiB0aGUgcG9pbnRlclxuICogQHJldHVybiB7U3RyaW5nfSAgICAgICAgIFJlbmRlcmVkIGNvbnRlbnRcbiAqL1xuXG5mdW5jdGlvbiByZW5kZXJDaG9pY2VzKGNob2ljZXMsIHBvaW50ZXIpIHtcbiAgbGV0IG91dHB1dCA9ICcnO1xuICBsZXQgc2VwYXJhdG9yT2Zmc2V0ID0gMDtcblxuICBjaG9pY2VzLmZvckVhY2goKGNob2ljZSwgaSkgPT4ge1xuICAgIGlmIChjaG9pY2UudHlwZSA9PT0gJ3NlcGFyYXRvcicpIHtcbiAgICAgIHNlcGFyYXRvck9mZnNldCsrO1xuICAgICAgb3V0cHV0ICs9ICcgJyArIGNob2ljZSArICdcXG4nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmIChjaG9pY2UuZGlzYWJsZWQpIHtcbiAgICAgIHNlcGFyYXRvck9mZnNldCsrO1xuICAgICAgb3V0cHV0ICs9ICcgLSAnICsgY2hvaWNlLm5hbWU7XG4gICAgICBvdXRwdXQgKz0gYCAoJHtcbiAgICAgICAgdHlwZW9mIGNob2ljZS5kaXNhYmxlZCA9PT0gJ3N0cmluZycgPyBjaG9pY2UuZGlzYWJsZWQgOiAnRGlzYWJsZWQnXG4gICAgICB9KWA7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNvbnN0IGxpbmUgPSBnZXRDaGVja2JveChjaG9pY2UuY2hlY2tlZCkgKyAnICcgKyBjaG9pY2UubmFtZTtcbiAgICAgIG91dHB1dCArPVxuICAgICAgICBpIC0gc2VwYXJhdG9yT2Zmc2V0ID09PSBwb2ludGVyXG4gICAgICAgICAgPyBjb2xvcnMuY3lhbihmaWd1cmVzLnBvaW50ZXIgKyBsaW5lKVxuICAgICAgICAgIDogJyAnICsgbGluZTtcbiAgICB9XG5cbiAgICBvdXRwdXQgKz0gJ1xcbic7XG4gIH0pO1xuXG4gIHJldHVybiBvdXRwdXQucmVwbGFjZUFsbCgvXFxuJC9nLCAnJyk7XG59XG5cbi8qKlxuICogR2V0IHRoZSBjaGVja2JveFxuICogQHBhcmFtICB7Qm9vbGVhbn0gY2hlY2tlZCAtIGFkZCBhIFggb3Igbm90IHRvIHRoZSBjaGVja2JveFxuICogQHJldHVybiB7U3RyaW5nfSBDb21wb3NpdGVkIGNoZWNrYm94IHN0cmluZ1xuICovXG5cbmZ1bmN0aW9uIGdldENoZWNrYm94KGNoZWNrZWQpIHtcbiAgcmV0dXJuIGNoZWNrZWQgPyBjb2xvcnMuZ3JlZW4oZmlndXJlcy5yYWRpb09uKSA6IGZpZ3VyZXMucmFkaW9PZmY7XG59XG4iLCAiLyoqXG4gKiBgcGFzc3dvcmRgIHR5cGUgcHJvbXB0XG4gKi9cblxuaW1wb3J0IGNvbG9ycyBmcm9tICd5b2N0b2NvbG9ycy1janMnO1xuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcbmltcG9ydCBvYnNlcnZlIGZyb20gJy4uL3V0aWxzL2V2ZW50cy5qcyc7XG5pbXBvcnQgQmFzZSBmcm9tICcuL2Jhc2UuanMnO1xuXG5mdW5jdGlvbiBtYXNrKGlucHV0LCBtYXNrQ2hhcikge1xuICBpbnB1dCA9IFN0cmluZyhpbnB1dCk7XG4gIG1hc2tDaGFyID0gdHlwZW9mIG1hc2tDaGFyID09PSAnc3RyaW5nJyA/IG1hc2tDaGFyIDogJyonO1xuICBpZiAoaW5wdXQubGVuZ3RoID09PSAwKSB7XG4gICAgcmV0dXJuICcnO1xuICB9XG5cbiAgcmV0dXJuIEFycmF5LmZyb20oeyBsZW5ndGg6IGlucHV0Lmxlbmd0aCArIDEgfSkuam9pbihtYXNrQ2hhcik7XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFBhc3N3b3JkUHJvbXB0IGV4dGVuZHMgQmFzZSB7XG4gIC8qKlxuICAgKiBTdGFydCB0aGUgSW5xdWlyeSBzZXNzaW9uXG4gICAqIEBwYXJhbSAge0Z1bmN0aW9ufSBjYiAgICAgIENhbGxiYWNrIHdoZW4gcHJvbXB0IGlzIGRvbmVcbiAgICogQHJldHVybiB7dGhpc31cbiAgICovXG5cbiAgX3J1bihjYikge1xuICAgIHRoaXMuZG9uZSA9IGNiO1xuXG4gICAgY29uc3QgZXZlbnRzID0gb2JzZXJ2ZSh0aGlzLnJsKTtcblxuICAgIC8vIE9uY2UgdXNlciBjb25maXJtIChlbnRlciBrZXkpXG4gICAgY29uc3Qgc3VibWl0ID0gZXZlbnRzLmxpbmUucGlwZShtYXAodGhpcy5maWx0ZXJJbnB1dC5iaW5kKHRoaXMpKSk7XG5cbiAgICBjb25zdCB2YWxpZGF0aW9uID0gdGhpcy5oYW5kbGVTdWJtaXRFdmVudHMoc3VibWl0KTtcbiAgICB2YWxpZGF0aW9uLnN1Y2Nlc3MuZm9yRWFjaCh0aGlzLm9uRW5kLmJpbmQodGhpcykpO1xuICAgIHZhbGlkYXRpb24uZXJyb3IuZm9yRWFjaCh0aGlzLm9uRXJyb3IuYmluZCh0aGlzKSk7XG5cbiAgICBldmVudHMua2V5cHJlc3NcbiAgICAgIC5waXBlKHRha2VVbnRpbCh2YWxpZGF0aW9uLnN1Y2Nlc3MpKVxuICAgICAgLmZvckVhY2godGhpcy5vbktleXByZXNzLmJpbmQodGhpcykpO1xuXG4gICAgLy8gSW5pdFxuICAgIHRoaXMucmVuZGVyKCk7XG5cbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5kZXIgdGhlIHByb21wdCB0byBzY3JlZW5cbiAgICogQHJldHVybiB7UGFzc3dvcmRQcm9tcHR9IHNlbGZcbiAgICovXG5cbiAgcmVuZGVyKGVycm9yKSB7XG4gICAgbGV0IG1lc3NhZ2UgPSB0aGlzLmdldFF1ZXN0aW9uKCk7XG4gICAgbGV0IGJvdHRvbUNvbnRlbnQgPSAnJztcblxuICAgIG1lc3NhZ2UgKz1cbiAgICAgIHRoaXMuc3RhdHVzID09PSAnYW5zd2VyZWQnXG4gICAgICAgID8gdGhpcy5nZXRNYXNrZWRWYWx1ZSh0aGlzLmFuc3dlcilcbiAgICAgICAgOiB0aGlzLmdldE1hc2tlZFZhbHVlKHRoaXMucmwubGluZSB8fCAnJyk7XG5cbiAgICBpZiAoZXJyb3IpIHtcbiAgICAgIGJvdHRvbUNvbnRlbnQgPSAnXFxuJyArIGNvbG9ycy5yZWQoJz4+ICcpICsgZXJyb3I7XG4gICAgfVxuXG4gICAgdGhpcy5zY3JlZW4ucmVuZGVyKG1lc3NhZ2UsIGJvdHRvbUNvbnRlbnQpO1xuICB9XG5cbiAgZ2V0TWFza2VkVmFsdWUodmFsdWUpIHtcbiAgICBpZiAodGhpcy5zdGF0dXMgPT09ICdhbnN3ZXJlZCcpIHtcbiAgICAgIHJldHVybiB0aGlzLm9wdC5tYXNrXG4gICAgICAgID8gY29sb3JzLmN5YW4obWFzayh2YWx1ZSwgdGhpcy5vcHQubWFzaykpXG4gICAgICAgIDogY29sb3JzLml0YWxpYyhjb2xvcnMuZGltKCdbaGlkZGVuXScpKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMub3B0Lm1hc2tcbiAgICAgID8gbWFzayh2YWx1ZSwgdGhpcy5vcHQubWFzaylcbiAgICAgIDogY29sb3JzLml0YWxpYyhjb2xvcnMuZGltKCdbaW5wdXQgaXMgaGlkZGVuXSAnKSk7XG4gIH1cblxuICAvKipcbiAgICogTWFzayB2YWx1ZSBkdXJpbmcgYXN5bmMgZmlsdGVyL3ZhbGlkYXRpb24uXG4gICAqL1xuICBnZXRTcGlubmluZ1ZhbHVlKHZhbHVlKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0TWFza2VkVmFsdWUodmFsdWUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFdoZW4gdXNlciBwcmVzcyBgZW50ZXJgIGtleVxuICAgKi9cblxuICBmaWx0ZXJJbnB1dChpbnB1dCkge1xuICAgIGlmICghaW5wdXQpIHtcbiAgICAgIHJldHVybiB0aGlzLm9wdC5kZWZhdWx0ID09IG51bGwgPyAnJyA6IHRoaXMub3B0LmRlZmF1bHQ7XG4gICAgfVxuXG4gICAgcmV0dXJuIGlucHV0O1xuICB9XG5cbiAgb25FbmQoc3RhdGUpIHtcbiAgICB0aGlzLnN0YXR1cyA9ICdhbnN3ZXJlZCc7XG4gICAgdGhpcy5hbnN3ZXIgPSBzdGF0ZS52YWx1ZTtcblxuICAgIC8vIFJlLXJlbmRlciBwcm9tcHRcbiAgICB0aGlzLnJlbmRlcigpO1xuXG4gICAgdGhpcy5zY3JlZW4uZG9uZSgpO1xuICAgIHRoaXMuZG9uZShzdGF0ZS52YWx1ZSk7XG4gIH1cblxuICBvbkVycm9yKHN0YXRlKSB7XG4gICAgdGhpcy5yZW5kZXIoc3RhdGUuaXNWYWxpZCk7XG4gIH1cblxuICBvbktleXByZXNzKCkge1xuICAgIC8vIElmIHVzZXIgcHJlc3MgYSBrZXksIGp1c3QgY2xlYXIgdGhlIGRlZmF1bHQgdmFsdWVcbiAgICB0aGlzLm9wdC5kZWZhdWx0ICYmPSB1bmRlZmluZWQ7XG5cbiAgICB0aGlzLnJlbmRlcigpO1xuICB9XG59XG4iLCAiLyoqXG4gKiBgZWRpdG9yYCB0eXBlIHByb21wdFxuICovXG5cbmltcG9ydCBjb2xvcnMgZnJvbSAneW9jdG9jb2xvcnMtY2pzJztcbmltcG9ydCB7IGVkaXRBc3luYyB9IGZyb20gJ2V4dGVybmFsLWVkaXRvcic7XG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgb2JzZXJ2ZSBmcm9tICcuLi91dGlscy9ldmVudHMuanMnO1xuaW1wb3J0IEJhc2UgZnJvbSAnLi9iYXNlLmpzJztcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRWRpdG9yUHJvbXB0IGV4dGVuZHMgQmFzZSB7XG4gIC8qKlxuICAgKiBTdGFydCB0aGUgSW5xdWlyeSBzZXNzaW9uXG4gICAqIEBwYXJhbSAge0Z1bmN0aW9ufSBjYiAgICAgIENhbGxiYWNrIHdoZW4gcHJvbXB0IGlzIGRvbmVcbiAgICogQHJldHVybiB7dGhpc31cbiAgICovXG5cbiAgX3J1bihjYikge1xuICAgIHRoaXMuZG9uZSA9IGNiO1xuXG4gICAgdGhpcy5lZGl0b3JSZXN1bHQgPSBuZXcgU3ViamVjdCgpO1xuXG4gICAgLy8gT3BlbiBFZGl0b3Igb24gXCJsaW5lXCIgKEVudGVyIEtleSlcbiAgICBjb25zdCBldmVudHMgPSBvYnNlcnZlKHRoaXMucmwpO1xuICAgIHRoaXMubGluZVN1YnNjcmlwdGlvbiA9IGV2ZW50cy5saW5lLnN1YnNjcmliZSh0aGlzLnN0YXJ0RXh0ZXJuYWxFZGl0b3IuYmluZCh0aGlzKSk7XG4gICAgY29uc3Qgd2FpdFVzZXJJbnB1dCA9XG4gICAgICB0aGlzLm9wdC53YWl0VXNlcklucHV0ID09PSB1bmRlZmluZWQgPyB0cnVlIDogdGhpcy5vcHQud2FpdFVzZXJJbnB1dDtcblxuICAgIC8vIFRyaWdnZXIgVmFsaWRhdGlvbiB3aGVuIGVkaXRvciBjbG9zZXNcbiAgICBjb25zdCB2YWxpZGF0aW9uID0gdGhpcy5oYW5kbGVTdWJtaXRFdmVudHModGhpcy5lZGl0b3JSZXN1bHQpO1xuICAgIHZhbGlkYXRpb24uc3VjY2Vzcy5mb3JFYWNoKHRoaXMub25FbmQuYmluZCh0aGlzKSk7XG4gICAgdmFsaWRhdGlvbi5lcnJvci5mb3JFYWNoKHRoaXMub25FcnJvci5iaW5kKHRoaXMpKTtcblxuICAgIC8vIFByZXZlbnRzIGRlZmF1bHQgZnJvbSBiZWluZyBwcmludGVkIG9uIHNjcmVlbiAoY2FuIGxvb2sgd2VpcmQgd2l0aCBtdWx0aXBsZSBsaW5lcylcbiAgICB0aGlzLmN1cnJlbnRUZXh0ID0gdGhpcy5vcHQuZGVmYXVsdDtcbiAgICB0aGlzLm9wdC5kZWZhdWx0ID0gbnVsbDtcblxuICAgIC8vIEluaXRcbiAgICBpZiAod2FpdFVzZXJJbnB1dCkge1xuICAgICAgdGhpcy5yZW5kZXIoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGFydEV4dGVybmFsRWRpdG9yKCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVyIHRoZSBwcm9tcHQgdG8gc2NyZWVuXG4gICAqIEByZXR1cm4ge0VkaXRvclByb21wdH0gc2VsZlxuICAgKi9cblxuICByZW5kZXIoZXJyb3IpIHtcbiAgICBsZXQgYm90dG9tQ29udGVudCA9ICcnO1xuICAgIGxldCBtZXNzYWdlID0gdGhpcy5nZXRRdWVzdGlvbigpO1xuXG4gICAgbWVzc2FnZSArPVxuICAgICAgdGhpcy5zdGF0dXMgPT09ICdhbnN3ZXJlZCdcbiAgICAgICAgPyBjb2xvcnMuZGltKCdSZWNlaXZlZCcpXG4gICAgICAgIDogY29sb3JzLmRpbSgnUHJlc3MgPGVudGVyPiB0byBsYXVuY2ggeW91ciBwcmVmZXJyZWQgZWRpdG9yLicpO1xuXG4gICAgaWYgKGVycm9yKSB7XG4gICAgICBib3R0b21Db250ZW50ID0gY29sb3JzLnJlZCgnPj4gJykgKyBlcnJvcjtcbiAgICB9XG5cbiAgICB0aGlzLnNjcmVlbi5yZW5kZXIobWVzc2FnZSwgYm90dG9tQ29udGVudCk7XG4gIH1cblxuICAvKipcbiAgICogTGF1bmNoICRFRElUT1Igb24gdXNlciBwcmVzcyBlbnRlclxuICAgKi9cblxuICBzdGFydEV4dGVybmFsRWRpdG9yKCkge1xuICAgIC8vIFBhdXNlIFJlYWRsaW5lIHRvIHByZXZlbnQgc3RkaW4gYW5kIHN0ZG91dCBmcm9tIGJlaW5nIG1vZGlmaWVkIHdoaWxlIHRoZSBlZGl0b3IgaXMgc2hvd2luZ1xuICAgIHRoaXMucmwucGF1c2UoKTtcbiAgICBlZGl0QXN5bmModGhpcy5jdXJyZW50VGV4dCwgdGhpcy5lbmRFeHRlcm5hbEVkaXRvci5iaW5kKHRoaXMpLCB7XG4gICAgICBwb3N0Zml4OiB0aGlzLm9wdC5wb3N0Zml4ID8/ICcudHh0JyxcbiAgICB9KTtcbiAgfVxuXG4gIGVuZEV4dGVybmFsRWRpdG9yKGVycm9yLCByZXN1bHQpIHtcbiAgICB0aGlzLnJsLnJlc3VtZSgpO1xuICAgIGlmIChlcnJvcikge1xuICAgICAgdGhpcy5lZGl0b3JSZXN1bHQuZXJyb3IoZXJyb3IpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmVkaXRvclJlc3VsdC5uZXh0KHJlc3VsdCk7XG4gICAgfVxuICB9XG5cbiAgb25FbmQoc3RhdGUpIHtcbiAgICB0aGlzLmVkaXRvclJlc3VsdC51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMubGluZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuYW5zd2VyID0gc3RhdGUudmFsdWU7XG4gICAgdGhpcy5zdGF0dXMgPSAnYW5zd2VyZWQnO1xuICAgIC8vIFJlLXJlbmRlciBwcm9tcHRcbiAgICB0aGlzLnJlbmRlcigpO1xuICAgIHRoaXMuc2NyZWVuLmRvbmUoKTtcbiAgICB0aGlzLmRvbmUodGhpcy5hbnN3ZXIpO1xuICB9XG5cbiAgb25FcnJvcihzdGF0ZSkge1xuICAgIHRoaXMucmVuZGVyKHN0YXRlLmlzVmFsaWQpO1xuICB9XG59XG4iLCAiLyoqXG4gKiBTdGlja3kgYm90dG9tIGJhciB1c2VyIGludGVyZmFjZVxuICovXG5cbmltcG9ydCB7IFdyaXRhYmxlIH0gZnJvbSAnbm9kZTpzdHJlYW0nO1xuaW1wb3J0ICogYXMgcmxVdGlscyBmcm9tICcuLi91dGlscy9yZWFkbGluZS5qcyc7XG5pbXBvcnQgQmFzZSBmcm9tICcuL2Jhc2VVSS5qcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEJvdHRvbUJhciBleHRlbmRzIEJhc2Uge1xuICBjb25zdHJ1Y3RvcihvcHQgPSB7fSkge1xuICAgIHN1cGVyKG9wdCk7XG5cbiAgICB0aGlzLmxvZyA9IG5ldyBXcml0YWJsZSh7XG4gICAgICB3cml0ZTogKGNodW5rLCBlbmNvZGluZywgY2IpID0+IHtcbiAgICAgICAgdGhpcy53cml0ZUxvZyhjaHVuayk7XG4gICAgICAgIGNiKCk7XG4gICAgICB9LFxuICAgIH0pO1xuXG4gICAgdGhpcy5ib3R0b21CYXIgPSBvcHQuYm90dG9tQmFyIHx8ICcnO1xuICAgIHRoaXMucmVuZGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVyIHRoZSBwcm9tcHQgdG8gc2NyZWVuXG4gICAqIEByZXR1cm4ge0JvdHRvbUJhcn0gc2VsZlxuICAgKi9cblxuICByZW5kZXIoKSB7XG4gICAgdGhpcy53cml0ZSh0aGlzLmJvdHRvbUJhcik7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBjbGVhbigpIHtcbiAgICBybFV0aWxzLmNsZWFyTGluZSh0aGlzLnJsLCB0aGlzLmJvdHRvbUJhci5zcGxpdCgnXFxuJykubGVuZ3RoKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGUgdGhlIGJvdHRvbSBiYXIgY29udGVudCBhbmQgcmVyZW5kZXJcbiAgICogQHBhcmFtICB7U3RyaW5nfSBib3R0b21CYXIgQm90dG9tIGJhciBjb250ZW50XG4gICAqIEByZXR1cm4ge0JvdHRvbUJhcn0gICAgICAgICAgIHNlbGZcbiAgICovXG5cbiAgdXBkYXRlQm90dG9tQmFyKGJvdHRvbUJhcikge1xuICAgIHJsVXRpbHMuY2xlYXJMaW5lKHRoaXMucmwsIDEpO1xuICAgIHRoaXMucmwub3V0cHV0LnVubXV0ZSgpO1xuICAgIHRoaXMuY2xlYW4oKTtcbiAgICB0aGlzLmJvdHRvbUJhciA9IGJvdHRvbUJhcjtcbiAgICB0aGlzLnJlbmRlcigpO1xuICAgIHRoaXMucmwub3V0cHV0Lm11dGUoKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZSBvdXQgbG9nIGRhdGFcbiAgICogQHBhcmFtIHtTdHJpbmd9IGRhdGEgLSBUaGUgbG9nIGRhdGEgdG8gYmUgb3V0cHV0XG4gICAqIEByZXR1cm4ge0JvdHRvbUJhcn0gc2VsZlxuICAgKi9cblxuICB3cml0ZUxvZyhkYXRhKSB7XG4gICAgdGhpcy5ybC5vdXRwdXQudW5tdXRlKCk7XG4gICAgdGhpcy5jbGVhbigpO1xuICAgIHRoaXMucmwub3V0cHV0LndyaXRlKHRoaXMuZW5mb3JjZUxGKGRhdGEudG9TdHJpbmcoKSkpO1xuICAgIHRoaXMucmVuZGVyKCk7XG4gICAgdGhpcy5ybC5vdXRwdXQubXV0ZSgpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIE1ha2Ugc3VyZSBsaW5lIGVuZCBvbiBhIGxpbmUgZmVlZFxuICAgKiBAcGFyYW0gIHtTdHJpbmd9IHN0ciBJbnB1dCBzdHJpbmdcbiAgICogQHJldHVybiB7U3RyaW5nfSAgICAgVGhlIGlucHV0IHN0cmluZyB3aXRoIGEgZmluYWwgbGluZSBmZWVkXG4gICAqL1xuXG4gIGVuZm9yY2VMRihzdHIpIHtcbiAgICByZXR1cm4gL1tcXG5cXHJdJC8udGVzdChzdHIpID8gc3RyIDogc3RyICsgJ1xcbic7XG4gIH1cblxuICAvKipcbiAgICogSGVscGVyIGZvciB3cml0aW5nIG1lc3NhZ2UgaW4gUHJvbXB0XG4gICAqIEBwYXJhbSB7U3RyaW5nfSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gYmUgb3V0cHV0XG4gICAqL1xuICB3cml0ZShtZXNzYWdlKSB7XG4gICAgY29uc3QgbXNnTGluZXMgPSBtZXNzYWdlLnNwbGl0KC9cXG4vKTtcbiAgICB0aGlzLmhlaWdodCA9IG1zZ0xpbmVzLmxlbmd0aDtcblxuICAgIC8vIFdyaXRlIG1lc3NhZ2UgdG8gc2NyZWVuIGFuZCBzZXRQcm9tcHQgdG8gY29udHJvbCBiYWNrc3BhY2VcbiAgICB0aGlzLnJsLnNldFByb21wdChtc2dMaW5lcy5hdCgtMSkpO1xuXG4gICAgaWYgKHRoaXMucmwub3V0cHV0LnJvd3MgPT09IDAgJiYgdGhpcy5ybC5vdXRwdXQuY29sdW1ucyA9PT0gMCkge1xuICAgICAgLyogV2hlbiBpdCdzIGEgdHR5IHRocm91Z2ggc2VyaWFsIHBvcnQgdGhlcmUncyBubyB0ZXJtaW5hbCBpbmZvIGFuZCB0aGUgcmVuZGVyIHdpbGwgbWFsZnVuY3Rpb24sXG4gICAgICAgICBzbyB3ZSBuZWVkIGVuZm9yY2UgdGhlIGN1cnNvciB0byBsb2NhdGUgdG8gdGhlIGxlZnRtb3N0IHBvc2l0aW9uIGZvciByZW5kZXJpbmcuICovXG4gICAgICBybFV0aWxzLmxlZnQodGhpcy5ybCwgbWVzc2FnZS5sZW5ndGggKyB0aGlzLnJsLmxpbmUubGVuZ3RoKTtcbiAgICB9XG5cbiAgICB0aGlzLnJsLm91dHB1dC53cml0ZShtZXNzYWdlKTtcbiAgfVxufVxuIiwgImltcG9ydCByZWFkbGluZSBmcm9tICdub2RlOnJlYWRsaW5lJztcbmltcG9ydCBNdXRlU3RyZWFtIGZyb20gJ211dGUtc3RyZWFtJztcblxuLyoqXG4gKiBCYXNlIGludGVyZmFjZSBjbGFzcyBvdGhlciBjYW4gaW5oZXJpdHMgZnJvbVxuICovXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFVJIHtcbiAgY29uc3RydWN0b3Iob3B0KSB7XG4gICAgLy8gSW5zdGFudGlhdGUgdGhlIFJlYWRsaW5lIGludGVyZmFjZVxuICAgIC8vIEBOb3RlOiBEb24ndCByZWFzc2lnbiBpZiBhbHJlYWR5IHByZXNlbnQgKGFsbG93IHRlc3QgdG8gb3ZlcnJpZGUgdGhlIFN0cmVhbSlcbiAgICB0aGlzLnJsIHx8PSByZWFkbGluZS5jcmVhdGVJbnRlcmZhY2Uoc2V0dXBSZWFkbGluZU9wdGlvbnMob3B0KSk7XG5cbiAgICB0aGlzLnJsLnJlc3VtZSgpO1xuXG4gICAgdGhpcy5vbkZvcmNlQ2xvc2UgPSB0aGlzLm9uRm9yY2VDbG9zZS5iaW5kKHRoaXMpO1xuXG4gICAgLy8gTWFrZSBzdXJlIG5ldyBwcm9tcHQgc3RhcnQgb24gYSBuZXdsaW5lIHdoZW4gY2xvc2luZ1xuICAgIHByb2Nlc3Mub24oJ2V4aXQnLCB0aGlzLm9uRm9yY2VDbG9zZSk7XG5cbiAgICAvLyBUZXJtaW5hdGUgcHJvY2VzcyBvbiBTSUdJTlQgKHdoaWNoIHdpbGwgY2FsbCBwcm9jZXNzLm9uKCdleGl0JykgaW4gcmV0dXJuKVxuICAgIHRoaXMucmwub24oJ1NJR0lOVCcsIHRoaXMub25Gb3JjZUNsb3NlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGUgdGhlIF5DIGV4aXRcbiAgICogQHJldHVybiB7bnVsbH1cbiAgICovXG5cbiAgb25Gb3JjZUNsb3NlKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgICBwcm9jZXNzLmtpbGwocHJvY2Vzcy5waWQsICdTSUdJTlQnKTtcbiAgICBjb25zb2xlLmxvZygnJyk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2UgdGhlIGludGVyZmFjZSBhbmQgY2xlYW51cCBsaXN0ZW5lcnNcbiAgICovXG5cbiAgY2xvc2UoKSB7XG4gICAgLy8gUmVtb3ZlIGV2ZW50cyBsaXN0ZW5lcnNcbiAgICB0aGlzLnJsLnJlbW92ZUxpc3RlbmVyKCdTSUdJTlQnLCB0aGlzLm9uRm9yY2VDbG9zZSk7XG4gICAgcHJvY2Vzcy5yZW1vdmVMaXN0ZW5lcignZXhpdCcsIHRoaXMub25Gb3JjZUNsb3NlKTtcblxuICAgIHRoaXMucmwub3V0cHV0LnVubXV0ZSgpO1xuXG4gICAgaWYgKHRoaXMuYWN0aXZlUHJvbXB0ICYmIHR5cGVvZiB0aGlzLmFjdGl2ZVByb21wdC5jbG9zZSA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhpcy5hY3RpdmVQcm9tcHQuY2xvc2UoKTtcbiAgICB9XG5cbiAgICAvLyBDbG9zZSB0aGUgcmVhZGxpbmVcbiAgICB0aGlzLnJsLm91dHB1dC5lbmQoKTtcbiAgICB0aGlzLnJsLnBhdXNlKCk7XG4gICAgdGhpcy5ybC5jbG9zZSgpO1xuICB9XG59XG5cbmZ1bmN0aW9uIHNldHVwUmVhZGxpbmVPcHRpb25zKG9wdCA9IHt9KSB7XG4gIC8vIElucXVpcmVyIDgueDpcbiAgLy8gb3B0LnNraXBUVFlDaGVja3MgPSBvcHQuc2tpcFRUWUNoZWNrcyA9PT0gdW5kZWZpbmVkID8gb3B0LmlucHV0ICE9PSB1bmRlZmluZWQgOiBvcHQuc2tpcFRUWUNoZWNrcztcbiAgb3B0LnNraXBUVFlDaGVja3MgPSBvcHQuc2tpcFRUWUNoZWNrcyA9PT0gdW5kZWZpbmVkID8gdHJ1ZSA6IG9wdC5za2lwVFRZQ2hlY2tzO1xuXG4gIC8vIERlZmF1bHQgYGlucHV0YCB0byBzdGRpblxuICBjb25zdCBpbnB1dCA9IG9wdC5pbnB1dCB8fCBwcm9jZXNzLnN0ZGluO1xuXG4gIC8vIENoZWNrIGlmIHByb21wdCBpcyBiZWluZyBjYWxsZWQgaW4gVFRZIGVudmlyb25tZW50XG4gIC8vIElmIGl0IGlzbid0IHJldHVybiBhIGZhaWxlZCBwcm9taXNlXG4gIGlmICghb3B0LnNraXBUVFlDaGVja3MgJiYgIWlucHV0LmlzVFRZKSB7XG4gICAgY29uc3Qgbm9uVHR5RXJyb3IgPSBuZXcgRXJyb3IoXG4gICAgICAnUHJvbXB0cyBjYW4gbm90IGJlIG1lYW5pbmdmdWxseSByZW5kZXJlZCBpbiBub24tVFRZIGVudmlyb25tZW50cycsXG4gICAgKTtcbiAgICBub25UdHlFcnJvci5pc1R0eUVycm9yID0gdHJ1ZTtcbiAgICB0aHJvdyBub25UdHlFcnJvcjtcbiAgfVxuXG4gIC8vIEFkZCBtdXRlIGNhcGFiaWxpdGllcyB0byB0aGUgb3V0cHV0XG4gIGNvbnN0IG1zID0gbmV3IE11dGVTdHJlYW0oKTtcbiAgbXMucGlwZShvcHQub3V0cHV0IHx8IHByb2Nlc3Muc3Rkb3V0KTtcbiAgY29uc3Qgb3V0cHV0ID0gbXM7XG5cbiAgcmV0dXJuIHtcbiAgICB0ZXJtaW5hbDogdHJ1ZSxcbiAgICAuLi5vcHQsXG4gICAgaW5wdXQsXG4gICAgb3V0cHV0LFxuICB9O1xufVxuIiwgImNvbnN0IF8gPSB7XG4gIHNldDogKG9iaiwgcGF0aCA9ICcnLCB2YWx1ZSkgPT4ge1xuICAgIGxldCBwb2ludGVyID0gb2JqO1xuICAgIHBhdGguc3BsaXQoJy4nKS5mb3JFYWNoKChrZXksIGluZGV4LCBhcnIpID0+IHtcbiAgICAgIGlmIChrZXkgPT09ICdfX3Byb3RvX18nIHx8IGtleSA9PT0gJ2NvbnN0cnVjdG9yJykgcmV0dXJuO1xuXG4gICAgICBpZiAoaW5kZXggPT09IGFyci5sZW5ndGggLSAxKSB7XG4gICAgICAgIHBvaW50ZXJba2V5XSA9IHZhbHVlO1xuICAgICAgfSBlbHNlIGlmICghKGtleSBpbiBwb2ludGVyKSB8fCB0eXBlb2YgcG9pbnRlcltrZXldICE9PSAnb2JqZWN0Jykge1xuICAgICAgICBwb2ludGVyW2tleV0gPSB7fTtcbiAgICAgIH1cblxuICAgICAgcG9pbnRlciA9IHBvaW50ZXJba2V5XTtcbiAgICB9KTtcbiAgfSxcbiAgZ2V0OiAob2JqLCBwYXRoID0gJycsIGRlZmF1bHRWYWx1ZSkgPT4ge1xuICAgIGNvbnN0IHRyYXZlbCA9IChyZWdleHApID0+XG4gICAgICBTdHJpbmcucHJvdG90eXBlLnNwbGl0XG4gICAgICAgIC5jYWxsKHBhdGgsIHJlZ2V4cClcbiAgICAgICAgLmZpbHRlcihCb29sZWFuKVxuICAgICAgICAucmVkdWNlKFxuICAgICAgICAgIC8vIEB0cy1leHBlY3QtZXJyb3IgaW1wbGljaXQgYW55IG9uIHJlc1trZXldXG4gICAgICAgICAgKHJlcywga2V5KSA9PiAocmVzICE9PSBudWxsICYmIHJlcyAhPT0gdW5kZWZpbmVkID8gcmVzW2tleV0gOiByZXMpLFxuICAgICAgICAgIG9iaixcbiAgICAgICAgKTtcbiAgICBjb25zdCByZXN1bHQgPSB0cmF2ZWwoL1ssW1xcXV0rPy8pIHx8IHRyYXZlbCgvWywuW1xcXV0rPy8pO1xuICAgIHJldHVybiByZXN1bHQgPT09IHVuZGVmaW5lZCB8fCByZXN1bHQgPT09IG9iaiA/IGRlZmF1bHRWYWx1ZSA6IHJlc3VsdDtcbiAgfSxcbn07XG5cbmltcG9ydCB7XG4gIGRlZmVyLFxuICBFTVBUWSxcbiAgZnJvbSxcbiAgb2YsXG4gIGNvbmNhdE1hcCxcbiAgZmlsdGVyLFxuICBwdWJsaXNoLFxuICByZWR1Y2UsXG4gIGlzT2JzZXJ2YWJsZSxcbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQgcnVuQXN5bmMgZnJvbSAncnVuLWFzeW5jJztcbmltcG9ydCAqIGFzIHV0aWxzIGZyb20gJy4uL3V0aWxzL3V0aWxzLmpzJztcbmltcG9ydCBCYXNlIGZyb20gJy4vYmFzZVVJLmpzJztcblxuLyoqXG4gKiBCYXNlIGludGVyZmFjZSBjbGFzcyBvdGhlciBjYW4gaW5oZXJpdHMgZnJvbVxuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBQcm9tcHRVSSBleHRlbmRzIEJhc2Uge1xuICBjb25zdHJ1Y3Rvcihwcm9tcHRzLCBvcHQpIHtcbiAgICBzdXBlcihvcHQpO1xuICAgIHRoaXMucHJvbXB0cyA9IHByb21wdHM7XG4gIH1cblxuICBydW4ocXVlc3Rpb25zLCBhbnN3ZXJzKSB7XG4gICAgLy8gS2VlcCBnbG9iYWwgcmVmZXJlbmNlIHRvIHRoZSBhbnN3ZXJzXG4gICAgdGhpcy5hbnN3ZXJzID0gdHlwZW9mIGFuc3dlcnMgPT09ICdvYmplY3QnID8geyAuLi5hbnN3ZXJzIH0gOiB7fTtcblxuICAgIGxldCBvYnM7XG4gICAgaWYgKEFycmF5LmlzQXJyYXkocXVlc3Rpb25zKSkge1xuICAgICAgb2JzID0gZnJvbShxdWVzdGlvbnMpO1xuICAgIH0gZWxzZSBpZiAoaXNPYnNlcnZhYmxlKHF1ZXN0aW9ucykpIHtcbiAgICAgIG9icyA9IHF1ZXN0aW9ucztcbiAgICB9IGVsc2UgaWYgKFxuICAgICAgT2JqZWN0LnZhbHVlcyhxdWVzdGlvbnMpLmV2ZXJ5KFxuICAgICAgICAobWF5YmVRdWVzdGlvbikgPT5cbiAgICAgICAgICB0eXBlb2YgbWF5YmVRdWVzdGlvbiA9PT0gJ29iamVjdCcgJiZcbiAgICAgICAgICAhQXJyYXkuaXNBcnJheShtYXliZVF1ZXN0aW9uKSAmJlxuICAgICAgICAgIG1heWJlUXVlc3Rpb24gIT0gbnVsbCxcbiAgICAgIClcbiAgICApIHtcbiAgICAgIC8vIENhc2U6IENhbGxlZCB3aXRoIGEgc2V0IG9mIHsgbmFtZTogcXVlc3Rpb24gfVxuICAgICAgb2JzID0gZnJvbShcbiAgICAgICAgT2JqZWN0LmVudHJpZXMocXVlc3Rpb25zKS5tYXAoKFtuYW1lLCBxdWVzdGlvbl0pID0+ICh7XG4gICAgICAgICAgbmFtZSxcbiAgICAgICAgICAuLi5xdWVzdGlvbixcbiAgICAgICAgfSkpLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gQ2FzZTogQ2FsbGVkIHdpdGggYSBzaW5nbGUgcXVlc3Rpb24gY29uZmlnXG4gICAgICBvYnMgPSBmcm9tKFtxdWVzdGlvbnNdKTtcbiAgICB9XG5cbiAgICB0aGlzLnByb2Nlc3MgPSBvYnMucGlwZShcbiAgICAgIGNvbmNhdE1hcCh0aGlzLnByb2Nlc3NRdWVzdGlvbi5iaW5kKHRoaXMpKSxcbiAgICAgIHB1Ymxpc2goKSwgLy8gQ3JlYXRlcyBhIGhvdCBPYnNlcnZhYmxlLiBJdCBwcmV2ZW50cyBkdXBsaWNhdGluZyBwcm9tcHRzLlxuICAgICk7XG5cbiAgICB0aGlzLnByb2Nlc3MuY29ubmVjdCgpO1xuXG4gICAgcmV0dXJuIHRoaXMucHJvY2Vzc1xuICAgICAgLnBpcGUoXG4gICAgICAgIHJlZHVjZSgoYW5zd2Vyc09iaiwgYW5zd2VyKSA9PiB7XG4gICAgICAgICAgXy5zZXQoYW5zd2Vyc09iaiwgYW5zd2VyLm5hbWUsIGFuc3dlci5hbnN3ZXIpO1xuICAgICAgICAgIHJldHVybiBhbnN3ZXJzT2JqO1xuICAgICAgICB9LCB0aGlzLmFuc3dlcnMpLFxuICAgICAgKVxuICAgICAgLnRvUHJvbWlzZShQcm9taXNlKVxuICAgICAgLnRoZW4odGhpcy5vbkNvbXBsZXRpb24uYmluZCh0aGlzKSwgdGhpcy5vbkVycm9yLmJpbmQodGhpcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIE9uY2UgYWxsIHByb21wdCBhcmUgb3ZlclxuICAgKi9cbiAgb25Db21wbGV0aW9uKCkge1xuICAgIHRoaXMuY2xvc2UoKTtcblxuICAgIHJldHVybiB0aGlzLmFuc3dlcnM7XG4gIH1cblxuICBvbkVycm9yKGVycm9yKSB7XG4gICAgdGhpcy5jbG9zZSgpO1xuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChlcnJvcik7XG4gIH1cblxuICBwcm9jZXNzUXVlc3Rpb24ocXVlc3Rpb24pIHtcbiAgICBxdWVzdGlvbiA9IHsgLi4ucXVlc3Rpb24gfTtcbiAgICByZXR1cm4gZGVmZXIoKCkgPT4ge1xuICAgICAgY29uc3Qgb2JzID0gb2YocXVlc3Rpb24pO1xuXG4gICAgICByZXR1cm4gb2JzLnBpcGUoXG4gICAgICAgIGNvbmNhdE1hcCh0aGlzLnNldERlZmF1bHRUeXBlLmJpbmQodGhpcykpLFxuICAgICAgICBjb25jYXRNYXAodGhpcy5maWx0ZXJJZlJ1bm5hYmxlLmJpbmQodGhpcykpLFxuICAgICAgICBjb25jYXRNYXAoKCkgPT5cbiAgICAgICAgICB1dGlscy5mZXRjaEFzeW5jUXVlc3Rpb25Qcm9wZXJ0eShxdWVzdGlvbiwgJ21lc3NhZ2UnLCB0aGlzLmFuc3dlcnMpLFxuICAgICAgICApLFxuICAgICAgICBjb25jYXRNYXAoKCkgPT5cbiAgICAgICAgICB1dGlscy5mZXRjaEFzeW5jUXVlc3Rpb25Qcm9wZXJ0eShxdWVzdGlvbiwgJ2RlZmF1bHQnLCB0aGlzLmFuc3dlcnMpLFxuICAgICAgICApLFxuICAgICAgICBjb25jYXRNYXAoKCkgPT5cbiAgICAgICAgICB1dGlscy5mZXRjaEFzeW5jUXVlc3Rpb25Qcm9wZXJ0eShxdWVzdGlvbiwgJ2Nob2ljZXMnLCB0aGlzLmFuc3dlcnMpLFxuICAgICAgICApLFxuICAgICAgICBjb25jYXRNYXAodGhpcy5mZXRjaEFuc3dlci5iaW5kKHRoaXMpKSxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBmZXRjaEFuc3dlcihxdWVzdGlvbikge1xuICAgIGNvbnN0IFByb21wdCA9IHRoaXMucHJvbXB0c1txdWVzdGlvbi50eXBlXTtcbiAgICB0aGlzLmFjdGl2ZVByb21wdCA9IG5ldyBQcm9tcHQocXVlc3Rpb24sIHRoaXMucmwsIHRoaXMuYW5zd2Vycyk7XG4gICAgcmV0dXJuIGRlZmVyKCgpID0+XG4gICAgICBmcm9tKHRoaXMuYWN0aXZlUHJvbXB0LnJ1bigpLnRoZW4oKGFuc3dlcikgPT4gKHsgbmFtZTogcXVlc3Rpb24ubmFtZSwgYW5zd2VyIH0pKSksXG4gICAgKTtcbiAgfVxuXG4gIHNldERlZmF1bHRUeXBlKHF1ZXN0aW9uKSB7XG4gICAgLy8gRGVmYXVsdCB0eXBlIHRvIGlucHV0XG4gICAgaWYgKCF0aGlzLnByb21wdHNbcXVlc3Rpb24udHlwZV0pIHtcbiAgICAgIHF1ZXN0aW9uLnR5cGUgPSAnaW5wdXQnO1xuICAgIH1cblxuICAgIHJldHVybiBkZWZlcigoKSA9PiBvZihxdWVzdGlvbikpO1xuICB9XG5cbiAgZmlsdGVySWZSdW5uYWJsZShxdWVzdGlvbikge1xuICAgIGlmIChcbiAgICAgIHF1ZXN0aW9uLmFza0Fuc3dlcmVkICE9PSB0cnVlICYmXG4gICAgICBfLmdldCh0aGlzLmFuc3dlcnMsIHF1ZXN0aW9uLm5hbWUpICE9PSB1bmRlZmluZWRcbiAgICApIHtcbiAgICAgIHJldHVybiBFTVBUWTtcbiAgICB9XG5cbiAgICBpZiAocXVlc3Rpb24ud2hlbiA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybiBFTVBUWTtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHF1ZXN0aW9uLndoZW4gIT09ICdmdW5jdGlvbicpIHtcbiAgICAgIHJldHVybiBvZihxdWVzdGlvbik7XG4gICAgfVxuXG4gICAgY29uc3QgeyBhbnN3ZXJzIH0gPSB0aGlzO1xuICAgIHJldHVybiBkZWZlcigoKSA9PlxuICAgICAgZnJvbShcbiAgICAgICAgcnVuQXN5bmMocXVlc3Rpb24ud2hlbikoYW5zd2VycykudGhlbigoc2hvdWxkUnVuKSA9PiB7XG4gICAgICAgICAgaWYgKHNob3VsZFJ1bikge1xuICAgICAgICAgICAgcmV0dXJuIHF1ZXN0aW9uO1xuICAgICAgICAgIH1cbiAgICAgICAgfSksXG4gICAgICApLnBpcGUoZmlsdGVyKCh2YWwpID0+IHZhbCAhPSBudWxsKSksXG4gICAgKTtcbiAgfVxufVxuIiwgImltcG9ydCB7IGZyb20sIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgcnVuQXN5bmMgZnJvbSAncnVuLWFzeW5jJztcblxuLyoqXG4gKiBSZXNvbHZlIGEgcXVlc3Rpb24gcHJvcGVydHkgdmFsdWUgaWYgaXQgaXMgcGFzc2VkIGFzIGEgZnVuY3Rpb24uXG4gKiBUaGlzIG1ldGhvZCB3aWxsIG92ZXJ3cml0ZSB0aGUgcHJvcGVydHkgb24gdGhlIHF1ZXN0aW9uIG9iamVjdCB3aXRoIHRoZSByZWNlaXZlZCB2YWx1ZS5cbiAqIEBwYXJhbSAge09iamVjdH0gcXVlc3Rpb24gLSBRdWVzdGlvbiBvYmplY3RcbiAqIEBwYXJhbSAge1N0cmluZ30gcHJvcCAgICAgLSBQcm9wZXJ0eSB0byBmZXRjaCBuYW1lXG4gKiBAcGFyYW0gIHtPYmplY3R9IGFuc3dlcnMgIC0gQW5zd2VycyBvYmplY3RcbiAqIEByZXR1cm4ge1J4Lk9ic2VydmFibGV9ICAgLSBPYnNlcnZhYmxlIGVtaXR0aW5nIG9uY2UgdmFsdWUgaXMga25vd25cbiAqL1xuXG5leHBvcnQgY29uc3QgZmV0Y2hBc3luY1F1ZXN0aW9uUHJvcGVydHkgPSBmdW5jdGlvbiAocXVlc3Rpb24sIHByb3AsIGFuc3dlcnMpIHtcbiAgaWYgKHR5cGVvZiBxdWVzdGlvbltwcm9wXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgIHJldHVybiBvZihxdWVzdGlvbik7XG4gIH1cblxuICByZXR1cm4gZnJvbShcbiAgICBydW5Bc3luYyhxdWVzdGlvbltwcm9wXSkoYW5zd2VycykudGhlbigodmFsdWUpID0+IHtcbiAgICAgIHF1ZXN0aW9uW3Byb3BdID0gdmFsdWU7XG4gICAgICByZXR1cm4gcXVlc3Rpb247XG4gICAgfSksXG4gICk7XG59O1xuIiwgIi8qKlxuICogSW5xdWlyZXIuanNcbiAqIEEgY29sbGVjdGlvbiBvZiBjb21tb24gaW50ZXJhY3RpdmUgY29tbWFuZCBsaW5lIHVzZXIgaW50ZXJmYWNlcy5cbiAqL1xuXG5pbXBvcnQgeyBkZWZhdWx0IGFzIExpc3QgfSBmcm9tICcuL3Byb21wdHMvbGlzdC5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIElucHV0IH0gZnJvbSAnLi9wcm9tcHRzL2lucHV0LmpzJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgTnVtYmVyIH0gZnJvbSAnLi9wcm9tcHRzL251bWJlci5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIENvbmZpcm0gfSBmcm9tICcuL3Byb21wdHMvY29uZmlybS5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIFJhd0xpc3QgfSBmcm9tICcuL3Byb21wdHMvcmF3bGlzdC5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIEV4cGFuZCB9IGZyb20gJy4vcHJvbXB0cy9leHBhbmQuanMnO1xuaW1wb3J0IHsgZGVmYXVsdCBhcyBDaGVja2JveCB9IGZyb20gJy4vcHJvbXB0cy9jaGVja2JveC5qcyc7XG5pbXBvcnQgeyBkZWZhdWx0IGFzIFBhc3N3b3JkIH0gZnJvbSAnLi9wcm9tcHRzL3Bhc3N3b3JkLmpzJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgRWRpdG9yIH0gZnJvbSAnLi9wcm9tcHRzL2VkaXRvci5qcyc7XG5cbmltcG9ydCB7IGRlZmF1bHQgYXMgQm90dG9tQmFyIH0gZnJvbSAnLi91aS9ib3R0b20tYmFyLmpzJztcbmltcG9ydCB7IGRlZmF1bHQgYXMgUHJvbXB0IH0gZnJvbSAnLi91aS9wcm9tcHQuanMnO1xuXG5pbXBvcnQgeyBkZWZhdWx0IGFzIFNlcGFyYXRvciB9IGZyb20gJy4vb2JqZWN0cy9zZXBhcmF0b3IuanMnO1xuXG4vKipcbiAqIENyZWF0ZSBhIG5ldyBzZWxmLWNvbnRhaW5lZCBwcm9tcHQgbW9kdWxlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlUHJvbXB0TW9kdWxlKG9wdCkge1xuICBjb25zdCBwcm9tcHRNb2R1bGUgPSBmdW5jdGlvbiAocXVlc3Rpb25zLCBhbnN3ZXJzKSB7XG4gICAgbGV0IHVpSW5zdGFuY2U7XG4gICAgdHJ5IHtcbiAgICAgIHVpSW5zdGFuY2UgPSBuZXcgUHJvbXB0KHByb21wdE1vZHVsZS5wcm9tcHRzLCBvcHQpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QoZXJyb3IpO1xuICAgIH1cbiAgICBjb25zdCBwcm9taXNlID0gdWlJbnN0YW5jZS5ydW4ocXVlc3Rpb25zLCBhbnN3ZXJzKTtcblxuICAgIC8vIE1vbmtleSBwYXRjaCB0aGUgVUkgb24gdGhlIHByb21pc2Ugb2JqZWN0IHNvXG4gICAgLy8gdGhhdCBpdCByZW1haW5zIHB1YmxpY2x5IGFjY2Vzc2libGUuXG4gICAgcHJvbWlzZS51aSA9IHVpSW5zdGFuY2U7XG5cbiAgICByZXR1cm4gcHJvbWlzZTtcbiAgfTtcblxuICBwcm9tcHRNb2R1bGUucHJvbXB0cyA9IHt9O1xuXG4gIC8qKlxuICAgKiBSZWdpc3RlciBhIHByb21wdCB0eXBlXG4gICAqIEBwYXJhbSB7U3RyaW5nfSBuYW1lICAgICBQcm9tcHQgdHlwZSBuYW1lXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IHByb21wdCBQcm9tcHQgY29uc3RydWN0b3JcbiAgICogQHJldHVybiB7aW5xdWlyZXJ9XG4gICAqL1xuXG4gIHByb21wdE1vZHVsZS5yZWdpc3RlclByb21wdCA9IGZ1bmN0aW9uIChuYW1lLCBwcm9tcHQpIHtcbiAgICBwcm9tcHRNb2R1bGUucHJvbXB0c1tuYW1lXSA9IHByb21wdDtcbiAgICByZXR1cm4gdGhpcztcbiAgfTtcblxuICAvKipcbiAgICogUmVnaXN0ZXIgdGhlIGRlZmF1bHRzIHByb3ZpZGVyIHByb21wdHNcbiAgICovXG5cbiAgcHJvbXB0TW9kdWxlLnJlc3RvcmVEZWZhdWx0UHJvbXB0cyA9IGZ1bmN0aW9uICgpIHtcbiAgICB0aGlzLnJlZ2lzdGVyUHJvbXB0KCdsaXN0JywgTGlzdCk7XG4gICAgdGhpcy5yZWdpc3RlclByb21wdCgnaW5wdXQnLCBJbnB1dCk7XG4gICAgdGhpcy5yZWdpc3RlclByb21wdCgnbnVtYmVyJywgTnVtYmVyKTtcbiAgICB0aGlzLnJlZ2lzdGVyUHJvbXB0KCdjb25maXJtJywgQ29uZmlybSk7XG4gICAgdGhpcy5yZWdpc3RlclByb21wdCgncmF3bGlzdCcsIFJhd0xpc3QpO1xuICAgIHRoaXMucmVnaXN0ZXJQcm9tcHQoJ2V4cGFuZCcsIEV4cGFuZCk7XG4gICAgdGhpcy5yZWdpc3RlclByb21wdCgnY2hlY2tib3gnLCBDaGVja2JveCk7XG4gICAgdGhpcy5yZWdpc3RlclByb21wdCgncGFzc3dvcmQnLCBQYXNzd29yZCk7XG4gICAgdGhpcy5yZWdpc3RlclByb21wdCgnZWRpdG9yJywgRWRpdG9yKTtcbiAgfTtcblxuICBwcm9tcHRNb2R1bGUucmVzdG9yZURlZmF1bHRQcm9tcHRzKCk7XG5cbiAgcmV0dXJuIHByb21wdE1vZHVsZTtcbn1cblxuLyoqXG4gKiBQdWJsaWMgQ0xJIGhlbHBlciBpbnRlcmZhY2VcbiAqIEBwYXJhbSAge0FycmF5fE9iamVjdHxSeC5PYnNlcnZhYmxlfSBxdWVzdGlvbnMgLSBRdWVzdGlvbnMgc2V0dGluZ3MgYXJyYXlcbiAqIEBwYXJhbSAge0Z1bmN0aW9ufSBjYiAtIENhbGxiYWNrIGJlaW5nIHBhc3NlZCB0aGUgdXNlciBhbnN3ZXJzXG4gKiBAcmV0dXJuIHt1aS5Qcm9tcHR9XG4gKi9cblxuY29uc3QgcHJvbXB0ID0gY3JlYXRlUHJvbXB0TW9kdWxlKCk7XG5cbi8vIEV4cG9zZSBoZWxwZXIgZnVuY3Rpb25zIG9uIHRoZSB0b3AgbGV2ZWwgZm9yIGVhc2llc3QgdXNhZ2UgYnkgY29tbW9uIHVzZXJzXG5mdW5jdGlvbiByZWdpc3RlclByb21wdChuYW1lLCBuZXdQcm9tcHQpIHtcbiAgcHJvbXB0LnJlZ2lzdGVyUHJvbXB0KG5hbWUsIG5ld1Byb21wdCk7XG59XG5cbmZ1bmN0aW9uIHJlc3RvcmVEZWZhdWx0UHJvbXB0cygpIHtcbiAgcHJvbXB0LnJlc3RvcmVEZWZhdWx0UHJvbXB0cygpO1xufVxuXG5jb25zdCBpbnF1aXJlciA9IHtcbiAgcHJvbXB0LFxuICB1aToge1xuICAgIEJvdHRvbUJhcixcbiAgICBQcm9tcHQsXG4gIH0sXG4gIGNyZWF0ZVByb21wdE1vZHVsZSxcbiAgcmVnaXN0ZXJQcm9tcHQsXG4gIHJlc3RvcmVEZWZhdWx0UHJvbXB0cyxcbiAgU2VwYXJhdG9yLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgaW5xdWlyZXI7XG4iLCAiaW1wb3J0IHsgYWNjZXNzLCBjb25zdGFudHMgfSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcblxuaW1wb3J0IHR5cGUge1xuXHRGU0Fic29sdXRlUGF0aCxcblx0UmVzb2x2ZWRTcGVjaWZpZXIsXG5cdFNwZWNpZmllcixcbn0gZnJvbSAnLi90eXBlcy50cyc7XG5pbXBvcnQgeyByZXNvbHZlU3BlY2lmaWVyIH0gZnJvbSAnLi9yZXNvbHZlLXNwZWNpZmllci50cyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmZXhpc3RzKFxuXHRwYXJlbnRQYXRoOiBGU0Fic29sdXRlUGF0aCB8IFJlc29sdmVkU3BlY2lmaWVyLFxuXHRzcGVjaWZpZXI6IFNwZWNpZmllcixcbikge1xuXHRjb25zdCByZXNvbHZlZFNwZWNpZmllciA9IHJlc29sdmVTcGVjaWZpZXIocGFyZW50UGF0aCwgc3BlY2lmaWVyKSBhcyBGU0Fic29sdXRlUGF0aDtcblxuXHRyZXR1cm4gZmV4aXN0c1Jlc29sdmVkKHJlc29sdmVkU3BlY2lmaWVyKTtcbn1cblxuZXhwb3J0IGNvbnN0IGZleGlzdHNSZXNvbHZlZCA9IChyZXNvbHZlZFNwZWNpZmllcjogRlNBYnNvbHV0ZVBhdGgpID0+XG5cdGFjY2VzcyhyZXNvbHZlZFNwZWNpZmllciwgY29uc3RhbnRzLkZfT0spLnRoZW4oXG5cdFx0KCkgPT4gdHJ1ZSxcblx0XHQoKSA9PiBmYWxzZSxcblx0KTtcbiIsICJpbXBvcnQgeyBpc0Fic29sdXRlIH0gZnJvbSAnbm9kZTpwYXRoJztcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGgsIHBhdGhUb0ZpbGVVUkwgfSBmcm9tICdub2RlOnVybCc7XG5cbi8qIG5vZGU6Y292ZXJhZ2UgZGlzYWJsZSAqL1xuaW1wb3J0IHR5cGUge1xuXHRGU0Fic29sdXRlUGF0aCxcblx0Tm9kZU1vZFNwZWNpZmllcixcblx0UmVzb2x2ZWRTcGVjaWZpZXIsXG5cdFNwZWNpZmllcixcbn0gZnJvbSAnLi90eXBlcy50cyc7XG4vKiBub2RlOmNvdmVyYWdlIGVuYWJsZSAqL1xuaW1wb3J0IHsgZ2V0Tm90Rm91bmRVcmwgfSBmcm9tICcuL2dldC1ub3QtZm91bmQtdXJsLnRzJztcbmltcG9ydCB7IHJlc29sdmVzVG9Ob2RlTW9kdWxlIH0gZnJvbSAnLi9yZXNvbHZlcy10by1ub2RlLW1vZHVsZS50cyc7XG5cbi8qKlxuICogRGV0ZXJtaW5lIHRoZSBmdWxseSByZXNvbHZlZCBtb2R1bGUgbG9jYXRpb24gaW5kaWNhdGVkIGJ5IHRoZSBzcGVjaWZpZXIuXG4gKiBAcGFyYW0gcGFyZW50UGF0aCBUaGUgbW9kdWxlIGNvbnRhaW5pbmcgdGhlIHByb3ZpZGVkIHNwZWNpZmllci5cbiAqIEBwYXJhbSBzcGVjaWZpZXIgVGhlIHNwZWNpZmllciB0byBwb3RlbnRpYWxseSBjb3JyZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVNwZWNpZmllcihcblx0cGFyZW50UGF0aDogRlNBYnNvbHV0ZVBhdGggfCBSZXNvbHZlZFNwZWNpZmllcixcblx0c3BlY2lmaWVyOiBTcGVjaWZpZXIsXG4pOiBGU0Fic29sdXRlUGF0aCB8IE5vZGVNb2RTcGVjaWZpZXIge1xuXHRpZiAoVVJMLmNhblBhcnNlKHNwZWNpZmllcikpIHJldHVybiBmaWxlVVJMVG9QYXRoKHNwZWNpZmllcikgYXMgRlNBYnNvbHV0ZVBhdGg7XG5cblx0Ly8gaW1wb3J0Lm1ldGEucmVzb2x2ZSgpIGdpdmVzIGFjY2VzcyB0byBub2RlJ3MgcmVzb2x1dGlvbiBhbGdvcml0aG0sIHdoaWNoIGlzIG5lY2Vzc2FyeSB0byBoYW5kbGVcblx0Ly8gYSBteXJpYWQgb2Ygbm9uLW9idmlvdXMgcm91dGVzLCBsaWtlIHBqc29uIHN1YmltcG9ydHMgYW5kIHRoZSByZXN1bHQgb2YgYW55IGhvb2tzIHRoYXQgbWF5IGJlXG5cdC8vIGhlbHBpbmcsIHN1Y2ggYXMgb25lcyBmYWNpbGl0YXRpbmcgdHNjb25maWcncyBcInBhdGhzXCJcblx0bGV0IHJlc29sdmVkU3BlY2lmaWVyVXJsOiBVUkxbJ2hyZWYnXSB8IHVuZGVmaW5lZDtcblx0Y29uc3QgcGFyZW50VXJsID0gKFxuXHRcdGlzQWJzb2x1dGUocGFyZW50UGF0aCkgPyBwYXRoVG9GaWxlVVJMKHBhcmVudFBhdGgpLmhyZWYgOiBwYXJlbnRQYXRoXG5cdCkgYXMgUmVzb2x2ZWRTcGVjaWZpZXI7XG5cblx0dHJ5IHtcblx0XHRjb25zdCBpbnRlcmltUmVzb2x2ZWRVcmwgPSBpbXBvcnQubWV0YS5yZXNvbHZlKHNwZWNpZmllciwgcGFyZW50VXJsKSBhcyBSZXNvbHZlZFNwZWNpZmllcjtcblxuXHRcdGlmIChyZXNvbHZlc1RvTm9kZU1vZHVsZShpbnRlcmltUmVzb2x2ZWRVcmwsIHBhcmVudFVybCkpIHJldHVybiBzcGVjaWZpZXIgYXMgTm9kZU1vZFNwZWNpZmllcjtcblxuXHRcdHJlc29sdmVkU3BlY2lmaWVyVXJsID0gaW50ZXJpbVJlc29sdmVkVXJsOyAvLyAhIGxldCBjb250aW51ZSB0byBgZmlsZVVSTFRvUGF0aGAgYmVsb3dcblx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0aWYgKCEoZXJyIGluc3RhbmNlb2YgRXJyb3IpKSB0aHJvdyBlcnI7XG5cblx0XHRpZiAoXG5cdFx0XHQoZXJyIGFzIE5vZGVKUy5FcnJub0V4Y2VwdGlvbikuY29kZSA9PT0gJ0VSUl9NT0RVTEVfTk9UX0ZPVU5EJyAmJlxuXHRcdFx0cmVzb2x2ZXNUb05vZGVNb2R1bGUoZ2V0Tm90Rm91bmRVcmwoZXJyKSwgcGFyZW50VXJsKVxuXHRcdCkge1xuXHRcdFx0cmV0dXJuIHNwZWNpZmllciBhcyBOb2RlTW9kU3BlY2lmaWVyO1xuXHRcdH1cblxuXHRcdGlmICghcmVzb2x2ZWRTcGVjaWZpZXJVcmwpIHtcblx0XHRcdE9iamVjdC5hc3NpZ24oZXJyLCB7IHNwZWNpZmllciwgcGFyZW50UGF0aCB9KTtcblx0XHRcdHRocm93IGVycjtcblx0XHR9XG5cdH1cblxuXHRpZiAoIXJlc29sdmVkU3BlY2lmaWVyVXJsPy5zdGFydHNXaXRoKCdmaWxlOi8vJykpIHJldHVybiBzcGVjaWZpZXI7XG5cblx0cmV0dXJuIGZpbGVVUkxUb1BhdGgocmVzb2x2ZWRTcGVjaWZpZXJVcmwpIGFzIEZTQWJzb2x1dGVQYXRoO1xufVxuIiwgImltcG9ydCB7IHBhdGhUb0ZpbGVVUkwgfSBmcm9tICdub2RlOnVybCc7XG5cbmltcG9ydCB0eXBlIHsgRlNBYnNvbHV0ZVBhdGgsIFJlc29sdmVkU3BlY2lmaWVyIH0gZnJvbSAnLi90eXBlcy50cyc7XG5cbmV4cG9ydCBjb25zdCBnZXROb3RGb3VuZFVybCA9IChlcnI6IE5vZGVKUy5FcnJub0V4Y2VwdGlvbiAmIHsgdXJsPzogRlNBYnNvbHV0ZVBhdGggfSkgPT5cblx0cGF0aFRvRmlsZVVSTChlcnI/LnVybCA/PyBlcnIubWVzc2FnZS5zcGxpdChcIidcIilbMV0pPy5ocmVmIGFzIFJlc29sdmVkU3BlY2lmaWVyO1xuIiwgImltcG9ydCB7IGlzQWJzb2x1dGUgfSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ25vZGU6dXJsJztcblxuaW1wb3J0IHR5cGUgeyBGU0Fic29sdXRlUGF0aCwgUmVzb2x2ZWRTcGVjaWZpZXIgfSBmcm9tICcuL3R5cGVzLnRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVzVG9Ob2RlTW9kdWxlKFxuXHRyZXNvbHZlZFVybDogUmVzb2x2ZWRTcGVjaWZpZXIsXG5cdHBhcmVudExvY3VzOiBGU0Fic29sdXRlUGF0aCB8IFJlc29sdmVkU3BlY2lmaWVyLFxuKSB7XG5cdGlmICghVVJMLmNhblBhcnNlKHJlc29sdmVkVXJsKSkgdGhyb3cgbmV3IFR5cGVFcnJvcigncmVzb2x2ZWRVcmwgbXVzdCBiZSBhIGZpbGUgdXJsIHN0cmluZycpO1xuXG5cdGNvbnN0IHBhcmVudFVybCA9IGlzQWJzb2x1dGUocGFyZW50TG9jdXMpID8gcGF0aFRvRmlsZVVSTChwYXJlbnRMb2N1cykuaHJlZiA6IHBhcmVudExvY3VzO1xuXG5cdGxldCBpID0gMDsgLy8gVHJhY2sgdGhlIGxhc3QgY29tbW9uIGNoYXJhY3RlciB0byBkZXRlcm1pbmUgd2hlcmUgdG8gY2hlY2sgZm9yIGEgbm9kZSBtb2R1bGUuXG5cdGZvciAobGV0IG4gPSByZXNvbHZlZFVybC5sZW5ndGg7IGkgPCBuOyBpKyspIGlmIChyZXNvbHZlZFVybFtpXSAhPT0gcGFyZW50VXJsW2ldKSBicmVhaztcblxuXHQvLyBUaGUgZmlyc3Qgc2VnbWVudCBvZiByZXN0IG9mIHRoZSByZXNvbHZlZCB1cmwgbmVlZHMgdG8gZXhhY3RseSBtYXRjaCAnbm9kZV9tb2R1bGUnIChpdCBjb3VsZCBiZVxuXHQvLyBzb21ldGhpbmcgbGlrZSAnZmFrZV9ub2RlX21vZHVsZXMnKSB0byBiZSBhIHJlYWwgbm9kZSBtb2R1bGUgZGVwZW5kZW5jeS5cblx0cmV0dXJuIHJlc29sdmVkVXJsLnNsaWNlKGkpLnNwbGl0KCcvJylbMF0gPT09ICdub2RlX21vZHVsZXMnO1xufVxuIiwgImltcG9ydCBwcm9jZXNzIGZyb20gJ25vZGU6cHJvY2Vzcyc7XG5cbnR5cGUgTG9nTXNnID0gc3RyaW5nO1xudHlwZSBMb2dUeXBlID0gJ2Vycm9yJyB8ICdsb2cnIHwgJ3dhcm4nO1xudHlwZSBGaWxlTG9nID0geyBtc2c6IExvZ01zZzsgdHlwZTogTG9nVHlwZSB9O1xudHlwZSBTb3VyY2UgPSBVUkxbJ3BhdGhuYW1lJ107XG5cbi8qKlxuICogQ29sbGVjdCBsb2cgZW50cmllcyBhbmQgcmVwb3J0IHRoZW0gYXQgdGhlIGVuZCwgY29sbGF0ZWQgYnkgc291cmNlIG1vZHVsZS5cbiAqL1xuZXhwb3J0IGNvbnN0IGxvZ2dlciA9IChzb3VyY2U6IFNvdXJjZSwgdHlwZTogTG9nVHlwZSwgbXNnOiBMb2dNc2cpID0+IHtcblx0Y29uc3QgZmlsZUxvZyA9IG5ldyBTZXQ8RmlsZUxvZz4obG9ncy5oYXMoc291cmNlKSA/IGxvZ3MuZ2V0KHNvdXJjZSkgOiBbXSk7XG5cblx0ZmlsZUxvZy5hZGQoeyBtc2csIHR5cGUgfSk7XG5cdGxvZ3Muc2V0KHNvdXJjZSwgZmlsZUxvZyk7XG59O1xuXG4vKipcbiAqIEB0eXBlIHtNYXA8VVJMWydwYXRobmFtZSddLCBTZXQ8UmVjb3JkPExvZ01zZywgTG9nVHlwZT4+Pn1cbiAqL1xuY29uc3QgbG9ncyA9IG5ldyBNYXA8U291cmNlLCBTZXQ8RmlsZUxvZz4+KCk7XG5cbnByb2Nlc3Mub25jZSgnYmVmb3JlRXhpdCcsIGVtaXRMb2dzKTtcblxuLyogbm9kZTpjb3ZlcmFnZSBkaXNhYmxlICovXG4vLyB0aGlzIGlzIGFjdHVhbGx5IGNvdmVyYWdlZCwgYnV0IHY4IGRvZXNuJ3QgcmVjb2duaXNlIGl0XG5mdW5jdGlvbiBlbWl0TG9ncygpIHtcblx0bGV0IGhhc0Vycm9yID0gZmFsc2U7XG5cblx0Zm9yIChjb25zdCBbc291cmNlRmlsZSwgZmlsZUxvZ10gb2YgbG9ncy5lbnRyaWVzKCkpIHtcblx0XHRjb25zb2xlLmxvZygnW0NvZGVtb2Q6IGNvcnJlY3QtdHMtc3BlY2lmaWVyc106Jywgc291cmNlRmlsZSk7XG5cdFx0Zm9yIChjb25zdCB7IG1zZywgdHlwZSB9IG9mIGZpbGVMb2cpIHtcblx0XHRcdGNvbnNvbGVbdHlwZV0oJyBcdTIwMjInLCBtc2cpO1xuXHRcdFx0aWYgKHR5cGUgPT09ICdlcnJvcicpIGhhc0Vycm9yID0gdHJ1ZTtcblx0XHR9XG5cdH1cblxuXHRpZiAoaGFzRXJyb3IpIHtcblx0XHRjb25zb2xlLmVycm9yKCdbQ29kZW1vZDogY29ycmVjdC10cy1zcGVjaWZpZXJzXTogbWlncmF0aW9uIGluY29tcGxldGUhJyk7XG5cdFx0cHJvY2Vzcy5leGl0Q29kZSA9IDE7XG5cdH0gZWxzZSB7XG5cdFx0cHJvY2Vzcy5leGl0Q29kZSA9IDA7XG5cdFx0Y29uc29sZS5sb2coJ1tDb2RlbW9kOiBjb3JyZWN0LXRzLXNwZWNpZmllcnNdOiBtaWdyYXRpb24gY29tcGxldGUhJyk7XG5cdH1cbn1cbi8qIG5vZGU6Y292ZXJhZ2UgZW5hYmxlICovXG4iLCAiaW1wb3J0IHsgbHN0YXQgfSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcblxuaW1wb3J0IHR5cGUge1xuXHRGU0Fic29sdXRlUGF0aCxcblx0Tm9kZU1vZFNwZWNpZmllcixcblx0UmVzb2x2ZWRTcGVjaWZpZXIsXG5cdFNwZWNpZmllcixcbn0gZnJvbSAnLi90eXBlcy50cyc7XG5pbXBvcnQgeyByZXNvbHZlU3BlY2lmaWVyIH0gZnJvbSAnLi9yZXNvbHZlLXNwZWNpZmllci50cyc7XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBpc0RpcihwYXJlbnRQYXRoOiBGU0Fic29sdXRlUGF0aCB8IFJlc29sdmVkU3BlY2lmaWVyLCBzcGVjaWZpZXI6IFNwZWNpZmllcikge1xuXHRsZXQgcmVzb2x2ZWRTcGVjaWZpZXI6IFJlc29sdmVkU3BlY2lmaWVyIHwgTm9kZU1vZFNwZWNpZmllcjtcblx0dHJ5IHtcblx0XHRyZXNvbHZlZFNwZWNpZmllciA9IHJlc29sdmVTcGVjaWZpZXIocGFyZW50UGF0aCwgc3BlY2lmaWVyKTtcblx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0aWYgKChlcnIgYXMgTm9kZUpTLkVycm5vRXhjZXB0aW9uKS5jb2RlID09PSAnRVJSX01PRFVMRV9OT1RfRk9VTkQnKSByZXR1cm4gbnVsbDtcblx0fVxuXG5cdHRyeSB7XG5cdFx0Y29uc3Qgc3RhdCA9IGF3YWl0IGxzdGF0KHJlc29sdmVkU3BlY2lmaWVyISk7XG5cdFx0cmV0dXJuIHN0YXQuaXNEaXJlY3RvcnkoKTtcblx0fSBjYXRjaCB7XG5cdFx0cmV0dXJuIG51bGw7XG5cdH1cbn1cbiIsICJpbXBvcnQgeyBpc0J1aWx0aW4gfSBmcm9tICdub2RlOm1vZHVsZSc7XG5pbXBvcnQgeyBleHRuYW1lLCBzZXAgfSBmcm9tICdub2RlOnBhdGgnO1xuaW1wb3J0IHsgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ25vZGU6dXJsJztcblxuaW1wb3J0IHsgdHNFeHRzIH0gZnJvbSAnLi9leHRzLnRzJztcbmltcG9ydCB0eXBlIHsgRlNBYnNvbHV0ZVBhdGgsIFJlc29sdmVkU3BlY2lmaWVyLCBTcGVjaWZpZXIgfSBmcm9tICcuL3R5cGVzLnRzJztcbmltcG9ydCB7IHJlc29sdmVzVG9Ob2RlTW9kdWxlIH0gZnJvbSAnLi9yZXNvbHZlcy10by1ub2RlLW1vZHVsZS50cyc7XG5pbXBvcnQgeyBnZXROb3RGb3VuZFVybCB9IGZyb20gJy4vZ2V0LW5vdC1mb3VuZC11cmwudHMnO1xuXG4vKipcbiAqIFdoZXRoZXIgdGhlIHNwZWNpZmllciBjYW4gYmUgY29tcGxldGVseSBpZ25vcmVkLlxuICogQHBhcmFtIHBhcmVudFBhdGggVGhlIG1vZHVsZSBjb250YWluaW5nIHRoZSBwcm92aWRlZCBzcGVjaWZpZXJcbiAqIEBwYXJhbSBzcGVjaWZpZXIgVGhlIHNwZWNpZmllciB0byBjaGVjay5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzSWdub3JhYmxlU3BlY2lmaWVyKHBhcmVudFBhdGg6IEZTQWJzb2x1dGVQYXRoLCBzcGVjaWZpZXI6IHN0cmluZykge1xuXHRpZiAoaXNCdWlsdGluKHNwZWNpZmllcikpIHJldHVybiB0cnVlO1xuXHRpZiAoc3BlY2lmaWVyLnN0YXJ0c1dpdGgoJ2RhdGE6JykpIHJldHVybiB0cnVlO1xuXG5cdGNvbnN0IGV4dCA9IGV4dG5hbWUoc3BlY2lmaWVyKTtcblx0Ly8gQHRzLWlnbm9yZSBub3Qgd29ydGggdGhlIHRyb3VibGUgdG8gZ2V0IFRTIHRvIHJlYWxpc2UgdGhpcyBpcyBva2F5XG5cdGlmICh0c0V4dHMuaW5jbHVkZXMoZXh0KSkgcmV0dXJuIHRydWU7XG5cdGlmIChleHQpIHJldHVybiBmYWxzZTsgLy8gdGhlcmUgaXMgYW4gZXh0ZW5zaW9uIGFuZCBpdCdzIG5vdCBUUyBcdTIxOTIgc3VzcGVjdFxuXG5cdGlmIChzcGVjaWZpZXJbMF0gPT09ICdAJykgcmV0dXJuIHRydWU7IC8vIG5hbWVzcGFjZWQgbm9kZSBtb2R1bGVcblxuXHRpZiAoc3BlY2lmaWVyWzBdID09PSBzZXAgLyogJy8nICovKSByZXR1cm4gZmFsc2U7XG5cdGlmIChzcGVjaWZpZXIuc3RhcnRzV2l0aChgLiR7c2VwfWApIC8qICcuLycgKi8pIHJldHVybiBmYWxzZTtcblx0aWYgKHNwZWNpZmllci5zdGFydHNXaXRoKCdmaWxlOi8vJykpIHJldHVybiBmYWxzZTtcblxuXHRsZXQgcmVzb2x2ZWRTcGVjaWZpZXI6IFJlc29sdmVkU3BlY2lmaWVyO1xuXHR0cnkge1xuXHRcdHJlc29sdmVkU3BlY2lmaWVyID0gaW1wb3J0Lm1ldGEucmVzb2x2ZShcblx0XHRcdHNwZWNpZmllcixcblx0XHRcdHBhdGhUb0ZpbGVVUkwocGFyZW50UGF0aCkuaHJlZixcblx0XHQpIGFzIFJlc29sdmVkU3BlY2lmaWVyOyAvLyBbMV1cblx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0aWYgKFxuXHRcdFx0IShlcnIgaW5zdGFuY2VvZiBFcnJvcilcblx0XHRcdHx8ICFJR05PUkFCTEVfUkVTT0xWRV9FUlJPUlMuaGFzKChlcnIgYXMgTm9kZUpTLkVycm5vRXhjZXB0aW9uKS5jb2RlISlcblx0XHQpXG5cdFx0XHR0aHJvdyBlcnI7XG5cblx0XHRyZXNvbHZlZFNwZWNpZmllciA9IGdldE5vdEZvdW5kVXJsKGVycik7XG5cdH0gZmluYWxseSB7XG5cdFx0LyogYmlvbWUtaWdub3JlIGxpbnQvY29ycmVjdG5lc3Mvbm9VbnNhZmVGaW5hbGx5OiBUaGlzIGRvZXMgbm90IGJsaW5kbHkgb3ZlcnJpZGUgdGhlIGNvbnRyb2xcblx0XHRmbG93IHRoZSBydWxlIGlzIG1lYW50IHRvIHByb3RlY3QgKi9cblx0XHRpZiAocmVzb2x2ZXNUb05vZGVNb2R1bGUocmVzb2x2ZWRTcGVjaWZpZXIhLCBwYXJlbnRQYXRoKSkgcmV0dXJuIHRydWU7XG5cdH1cblxuXHRyZXR1cm4gZmFsc2U7XG59XG5cbmNvbnN0IElHTk9SQUJMRV9SRVNPTFZFX0VSUk9SUyA9IG5ldyBTZXQoW1xuXHQnRVJSX01PRFVMRV9OT1RfRk9VTkQnLFxuXHQnRVJSX1BBQ0tBR0VfUEFUSF9OT1RfRVhQT1JURUQnLCAvLyBUaGlzIGlzIGEgcHJvYmxlbSB3aXRoIHRoZSBub2RlX21vZHVsZSBpdHNlbGZcbl0pO1xuXG4vLyBbMV0gVGhlIHNlY29uZCBhcmd1bWVudCBvZiBgaW1wb3J0Lm1ldGEucmVzb2x2ZSgpYCByZXF1aXJlcyBgLS1leHBlcmltZW50YWwtaW1wb3J0LW1ldGEtcmVzb2x2ZWBcbiIsICIvKipcbiAqIEEgbWFwIG9mIEphdmFTY3JpcHQgZmlsZSBleHRlbnNpb25zIHRvIHRoZSBjb3JyZXNwb25kaW5nIFR5cGVTY3JpcHQgZmlsZSBleHRlbnNpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBqc1RvVFNFeHRzID0ge1xuXHQnLmNqcyc6ICcuY3RzJyxcblx0Jy5tanMnOiAnLm10cycsXG5cdCcuanMnOiAnLnRzJyxcblx0Jy5qc3gnOiAnLnRzeCcsXG59IGFzIGNvbnN0O1xuXG4vKipcbiAqIEZpbGUgZXh0ZW5zaW9ucyB0aGF0IHBvdGVudGlhbGx5IG5lZWQgdG8gYmUgY29ycmVjdGVkXG4gKi9cbmV4cG9ydCBjb25zdCBzdXNwZWN0RXh0cyA9IHtcblx0Jyc6ICcuanMnLFxuXHQuLi5qc1RvVFNFeHRzLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgU3VzcGVjdEV4dCA9IGtleW9mIHR5cGVvZiBzdXNwZWN0RXh0cztcbmV4cG9ydCB0eXBlIEpTRXh0ID0ga2V5b2YgdHlwZW9mIGpzVG9UU0V4dHM7XG5leHBvcnQgY29uc3QganNFeHRzID0gT2JqZWN0LmtleXMoanNUb1RTRXh0cykgYXMgUmVhZG9ubHlBcnJheTxKU0V4dD47XG5leHBvcnQgY29uc3QgdHNFeHRzID0gT2JqZWN0LnZhbHVlcyhqc1RvVFNFeHRzKSBhcyBSZWFkb25seUFycmF5PHR5cGVvZiBqc1RvVFNFeHRzW0pTRXh0XT47XG5leHBvcnQgdHlwZSBUU0V4dCA9ICh0eXBlb2YgdHNFeHRzKVtudW1iZXJdO1xuXG4vKipcbiAqIEZpbGUgZXh0ZW5zaW9ucyBmb3IgVHlwZVNjcmlwdCB0eXBlIGRlY2xhcmF0aW9uIGZpbGVzLlxuICovXG5leHBvcnQgY29uc3QgZEV4dHMgPSBbJy5kLmN0cycsICcuZC50cycsICcuZC5tdHMnXSBhcyBjb25zdDtcbmV4cG9ydCB0eXBlIERFeHQgPSAodHlwZW9mIGRFeHRzKVtudW1iZXJdO1xuXG4vKipcbiAqIEEgbWFzdGVyIGxpc3Qgb2YgZmlsZSBleHRlbnNpb25zIHRvIGNoZWNrLlxuICovXG5leHBvcnQgY29uc3QgZXh0U2V0cyA9IG5ldyBTZXQoW2pzRXh0cywgdHNFeHRzLCBkRXh0c10pO1xuIiwgImltcG9ydCB7IGV4dG5hbWUgfSBmcm9tICdub2RlOnBhdGgnO1xuXG5pbXBvcnQgdHlwZSB7IEZTQWJzb2x1dGVQYXRoLCBOb2RlTW9kU3BlY2lmaWVyLCBSZXNvbHZlZFNwZWNpZmllciwgU3BlY2lmaWVyIH0gZnJvbSAnLi90eXBlcy50cyc7XG5pbXBvcnQgeyB0eXBlIERFeHQsIHR5cGUgSlNFeHQsIHR5cGUgVFNFeHQsIGV4dFNldHMsIHN1c3BlY3RFeHRzIH0gZnJvbSAnLi9leHRzLnRzJztcbmltcG9ydCB7IGZleGlzdHMgfSBmcm9tICcuL2ZleGlzdHMudHMnO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSAnLi9sb2dnZXIudHMnO1xuaW1wb3J0IHsgaXNEaXIgfSBmcm9tICcuL2lzLWRpci50cyc7XG5cbi8qKlxuICogQXR0ZW1wdHMgdG8gZmluZCBhIFR5cGVTY3JpcHQtcmVsYXRlZCBmaWxlIGF0IHRoZSBzcGVjaWZpZXIncyBsb2NhdGlvbi4gV2hlbiB0aGVyZSBhcmUgbXVsdGlwbGVcbiAqIHBvdGVudGlhbCBtYXRjaGVzLCBhIG1lc3NhZ2UgaXMgbG9nZ2VkIGFuZCB0aGUgc3BlY2lmaWVyIGlzIHNraXBwZWQuXG4gKiBAcGFyYW0gcGFyZW50UGF0aCBUaGUgbW9kdWxlIGNvbnRhaW5pbmcgdGhlIHByb3ZpZGVkIHNwZWNpZmllci5cbiAqIEBwYXJhbSBzcGVjaWZpZXIgVGhlIHNwZWNpZmllciB0byBwb3RlbnRpYWxseSBjb3JyZWN0LlxuICogQHBhcmFtIHJFeHQgQSBmaWxlIGV4dGVuc2lvbiB0byB0cnkgdG8gdXNlIHdoZW4gbWFraW5nIGEgY29ycmVjdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IHJlcGxhY2VKU0V4dFdpdGhUU0V4dCA9IGFzeW5jIChcblx0cGFyZW50UGF0aDogRlNBYnNvbHV0ZVBhdGggfCBSZXNvbHZlZFNwZWNpZmllcixcblx0c3BlY2lmaWVyOiBTcGVjaWZpZXIsXG5cdHJFeHQ/OiBUU0V4dCB8IERFeHQsXG4pOiBQcm9taXNlPHtcblx0aXNUeXBlPzogYm9vbGVhbjtcblx0cmVwbGFjZW1lbnQ6IEZTQWJzb2x1dGVQYXRoIHwgTm9kZU1vZFNwZWNpZmllciB8IG51bGw7XG59PiA9PiB7XG5cdGlmIChzcGVjaWZpZXIgPT09ICcuJyB8fCBzcGVjaWZpZXIgPT09ICcuLicpIHtcblx0XHRzcGVjaWZpZXIgKz0gJy9pbmRleCc7XG5cdH0gZWxzZSBpZiAoc3BlY2lmaWVyLmVuZHNXaXRoKCcvJykgfHwgKGF3YWl0IGlzRGlyKHBhcmVudFBhdGgsIHNwZWNpZmllcikpKSB7XG5cdFx0aWYgKCFzcGVjaWZpZXIuZW5kc1dpdGgoJy8nKSkgc3BlY2lmaWVyICs9ICcvJztcblx0XHRzcGVjaWZpZXIgKz0gJ2luZGV4Jztcblx0fVxuXG5cdGlmICghZXh0bmFtZShzcGVjaWZpZXIpKSB7XG5cdFx0c3BlY2lmaWVyICs9ICcuanMnO1xuXG5cdFx0aWYgKGF3YWl0IGZleGlzdHMocGFyZW50UGF0aCwgc3BlY2lmaWVyKSkgcmV0dXJuIHsgcmVwbGFjZW1lbnQ6IHNwZWNpZmllciwgaXNUeXBlOiBmYWxzZSB9O1xuXHR9XG5cblx0Y29uc3Qgb0V4dCA9IGV4dG5hbWUoc3BlY2lmaWVyKSBhcyBKU0V4dDtcblxuXHRjb25zdCByZXBsYWNlbWVudCA9IGNvbXBvc2VSZXBsYWNlbWVudChzcGVjaWZpZXIsIG9FeHQsIHJFeHQgPz8gc3VzcGVjdEV4dHNbb0V4dF0pO1xuXG5cdGlmIChhd2FpdCBmZXhpc3RzKHBhcmVudFBhdGgsIHJlcGxhY2VtZW50KSkgcmV0dXJuIHsgcmVwbGFjZW1lbnQsIGlzVHlwZTogZmFsc2UgfTtcblxuXHRmb3IgKGNvbnN0IGV4dFNldCBvZiBleHRTZXRzKSB7XG5cdFx0Y29uc3QgcmVzdWx0ID0gYXdhaXQgY2hlY2tTZXQocGFyZW50UGF0aCwgc3BlY2lmaWVyLCBvRXh0LCBleHRTZXQpO1xuXHRcdGlmIChyZXN1bHQpIHJldHVybiByZXN1bHQ7XG5cdH1cblxuXHRyZXR1cm4geyByZXBsYWNlbWVudDogbnVsbCB9O1xufTtcblxuLyoqXG4gKiBDb21wb3NlcyBhIG5ldyBzcGVjaWZpZXIgd2l0aCB0aGUgb3JpZ2luYWwgZmlsZSBleHRlbnNpb24gcmVwbGFjZWQgd2l0aCB0aGUgbmV3IChvciBhcHBlbmRzIHRoZVxuICogbmV3IHdoZW4gdGhlcmUgd2FzIG5vIG9yaWdpbmFsKS5cbiAqIEBwYXJhbSBzcGVjaWZpZXIgVGhlIHNwZWNpZmllciB0byB1cGRhdGUuXG4gKiBAcGFyYW0gb0V4dCBUaGUgb3JpZ2luYWwvY3VycmVudCBleHRlbnNpb24uXG4gKiBAcGFyYW0gckV4dCBUaGUgcmVwbGFjZW1lbnQgZXh0ZW5zaW9uLlxuICovXG5jb25zdCBjb21wb3NlUmVwbGFjZW1lbnQgPSAoXG5cdHNwZWNpZmllcjogU3BlY2lmaWVyLFxuXHRvRXh0OiBKU0V4dCxcblx0ckV4dDogREV4dCB8IEpTRXh0IHwgVFNFeHQsXG4pOiBTcGVjaWZpZXIgPT4gKG9FeHQgPyBzcGVjaWZpZXIucmVwbGFjZShvRXh0LCByRXh0KSA6IGAke3NwZWNpZmllcn0ke3JFeHR9YCk7XG5cbi8qKlxuICogQ2hlY2sgd2hldGhlciB0aGUgc3BlY2lmaWVyIGhhcyBtYXRjaGVzIGZvciBhIHBhcnRpY3VsYXIgZ3JvdXAgb2YgZmlsZSBleHRlbnNpb25zLiBUaGlzIHZhbGlkYXRlc1xuICogdGhhdCB0aGUgbWF0Y2ggZG9lcyBhY3R1YWxseSBleGlzdC5cbiAqIEBwYXJhbSBwYXJlbnRQYXRoIFRoZSBtb2R1bGUgY29udGFpbmluZyB0aGUgcHJvdmlkZWQgc3BlY2lmaWVyLlxuICogQHBhcmFtIHNwZWNpZmllciBUaGUgcmVzb2x2ZWQgc3BlY2lmaWVyIGFnYWluc3Qgd2hpY2ggdG8gY2hlY2sgZm9yIG5laWdoYm91cmluZyBtYXRjaGVzLlxuICogQHBhcmFtIG9FeHQgVGhlIG9yaWdpbmFsIGV4dGVuc2lvbiBmcm9tIHRoZSBzcGVjaWZpZXIuXG4gKiBAcGFyYW0gZXh0cyBUaGUgZmlsZSBleHRlbnNpb25zIHRvIGNoZWNrLlxuICogQHJldHVybnMgVGhlIGZvdW5kIG1hdGNoLCBvciBub3RoaW5nIHdoZW4gbm8gZGVmaW5pdGl2ZSBtYXRjaCBpcyBmb3VuZCAoZXggdGhlcmUgYXJlIG11bHRpcGxlXG4gKiBtYXRjaGVzKS5cbiAqL1xuYXN5bmMgZnVuY3Rpb24gY2hlY2tTZXQ8RXh0IGV4dGVuZHMgREV4dCB8IEpTRXh0IHwgVFNFeHQ+KFxuXHRwYXJlbnRQYXRoOiBGU0Fic29sdXRlUGF0aCB8IFJlc29sdmVkU3BlY2lmaWVyLFxuXHRzcGVjaWZpZXI6IFNwZWNpZmllcixcblx0b0V4dDogSlNFeHQsXG5cdGV4dHM6IFJlYWRvbmx5QXJyYXk8RXh0Pixcbikge1xuXHRsZXQgcmVwbGFjZW1lbnQ6IFNwZWNpZmllcjtcblxuXHRjb25zdCBmb3VuZCA9IG5ldyBTZXQ8U3BlY2lmaWVyPigpO1xuXHRmb3IgKGNvbnN0IGV4dCBvZiBleHRzKSB7XG5cdFx0Y29uc3QgcG90ZW50aWFsID0gY29tcG9zZVJlcGxhY2VtZW50KHNwZWNpZmllciwgb0V4dCwgZXh0KTtcblx0XHRpZiAoYXdhaXQgZmV4aXN0cyhwYXJlbnRQYXRoLCBwb3RlbnRpYWwpKSBmb3VuZC5hZGQoKHJlcGxhY2VtZW50ID0gcG90ZW50aWFsKSk7XG5cdH1cblxuXHRpZiAoZm91bmQuc2l6ZSkge1xuXHRcdGlmIChmb3VuZC5zaXplID09PSAxKSByZXR1cm4geyBpc1R5cGU6IGV4dHNbMF0uc3RhcnRzV2l0aCgnLmQnKSwgcmVwbGFjZW1lbnQ6IHJlcGxhY2VtZW50ISB9O1xuXG5cdFx0bG9nZ2VyKFxuXHRcdFx0cGFyZW50UGF0aCxcblx0XHRcdCdlcnJvcicsXG5cdFx0XHRbXG5cdFx0XHRcdGBcIiR7c3BlY2lmaWVyfVwiIGFwcGVhcnMgdG8gcmVzb2x2ZSB0byBtdWx0aXBsZSBmaWxlcy4gQ2Fubm90IGRpc2FtYmlndWF0ZSBiZXR3ZWVuYCxcblx0XHRcdFx0YFwiJHtBcnJheS5mcm9tKGZvdW5kKS5qb2luKCdcIiwgXCInKX1cImAsXG5cdFx0XHRcdCcoc2tpcHBpbmcpLicsXG5cdFx0XHRdLmpvaW4oJyAnKSxcblx0XHQpO1xuXHR9XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBGU0Fic29sdXRlUGF0aCwgU3BlY2lmaWVyIH0gZnJvbSAnLi90eXBlcy50cyc7XG5pbXBvcnQgeyBmZXhpc3RzIH0gZnJvbSAnLi9mZXhpc3RzLnRzJztcbmltcG9ydCB7IGxvZ2dlciB9IGZyb20gJy4vbG9nZ2VyLnRzJztcbmltcG9ydCB7IGlzRGlyIH0gZnJvbSAnLi9pcy1kaXIudHMnO1xuaW1wb3J0IHsgaXNJZ25vcmFibGVTcGVjaWZpZXIgfSBmcm9tICcuL2lzLWlnbm9yYWJsZS1zcGVjaWZpZXIudHMnO1xuaW1wb3J0IHsgcmVwbGFjZUpTRXh0V2l0aFRTRXh0IH0gZnJvbSAnLi9yZXBsYWNlLWpzLWV4dC13aXRoLXRzLWV4dC50cyc7XG5cbi8qKlxuICogRGV0ZXJtaW5lIHdoYXQsIGlmIGFueXRoaW5nLCB0byByZXBsYWNlIHRoZSBleGlzdGluZyBzcGVjaWZpZXIuXG4gKiBAcGFyYW0gcGFyZW50UGF0aCBUaGUgbW9kdWxlIGNvbnRhaW5pbmcgdGhlIHByb3ZpZGVkIHNwZWNpZmllci5cbiAqIEBwYXJhbSBzcGVjaWZpZXIgVGhlIHNwZWNpZmllciB0byBwb3RlbnRpYWxseSBjb3JyZWN0LlxuICovXG5leHBvcnQgY29uc3QgbWFwSW1wb3J0cyA9IGFzeW5jIChcblx0cGFyZW50UGF0aDogRlNBYnNvbHV0ZVBhdGgsXG5cdHNwZWNpZmllcjogU3BlY2lmaWVyLFxuKTogUHJvbWlzZTx7XG5cdGlzVHlwZT86IGJvb2xlYW47XG5cdHJlcGxhY2VtZW50Pzogc3RyaW5nO1xufT4gPT4ge1xuXHRpZiAoaXNJZ25vcmFibGVTcGVjaWZpZXIocGFyZW50UGF0aCwgc3BlY2lmaWVyKSkgcmV0dXJuIHt9O1xuXG5cdGNvbnN0IHsgaXNUeXBlLCByZXBsYWNlbWVudCB9ID0gYXdhaXQgcmVwbGFjZUpTRXh0V2l0aFRTRXh0KHBhcmVudFBhdGgsIHNwZWNpZmllcik7XG5cblx0aWYgKHJlcGxhY2VtZW50KSB7XG5cdFx0aWYgKChhd2FpdCBmZXhpc3RzKHBhcmVudFBhdGgsIHNwZWNpZmllcikpICYmICEoYXdhaXQgaXNEaXIocGFyZW50UGF0aCwgc3BlY2lmaWVyKSkpIHtcblx0XHRcdGxvZ2dlcihcblx0XHRcdFx0cGFyZW50UGF0aCxcblx0XHRcdFx0J3dhcm4nLFxuXHRcdFx0XHRbXG5cdFx0XHRcdFx0YEltcG9ydCBzcGVjaWZpZXIgXCIke3NwZWNpZmllcn1cIiBjb250YWlucyBhIEpTIGV4dGVuc2lvbiBBTkQgYSBmaWxlYCxcblx0XHRcdFx0XHQnd2l0aCB0aGUgY29ycmVzcG9uZGluZyBUUyBleHRlbnNpb24gZXhpc3RzLiBDYW5ub3QgZGlzYW1iaWd1YXRlIChza2lwcGluZykuJyxcblx0XHRcdFx0XS5qb2luKCcgJyksXG5cdFx0XHQpO1xuXG5cdFx0XHRyZXR1cm4geyBpc1R5cGUsIHJlcGxhY2VtZW50OiBzcGVjaWZpZXIgfTtcblx0XHR9XG5cblx0XHRyZXR1cm4geyBpc1R5cGUsIHJlcGxhY2VtZW50IH07XG5cdH1cblxuXHRpZiAoIShhd2FpdCBmZXhpc3RzKHBhcmVudFBhdGgsIHNwZWNpZmllcikpKVxuXHRcdGxvZ2dlcihwYXJlbnRQYXRoLCAnZXJyb3InLCBgTm8gbWF0Y2hpbmcgZmlsZSBmb3VuZCBmb3IgXCIke3NwZWNpZmllcn1cImApO1xuXG5cdHJldHVybiB7fTtcbn07XG4iLCAiaW1wb3J0IHsgcmVhZEZpbGUgfSBmcm9tICdub2RlOmZzL3Byb21pc2VzJztcbmltcG9ydCBwYXRoIGZyb20gJ25vZGU6cGF0aCc7XG5pbXBvcnQgeyBwYXRoVG9GaWxlVVJMLCBVUkwgfSBmcm9tICdub2RlOnVybCc7XG5cbmltcG9ydCBfZ2V0IGZyb20gJ2xvZGFzaC5nZXQnO1xuXG5cbmNvbnN0IHByb2plY3RSb290ID0gcGF0aFRvRmlsZVVSTChgJHtwcm9jZXNzLmN3ZCgpfS9gKTtcblxuY29uc3QgYWxpYXNlcyA9IGF3YWl0IHJlYWRDb25maWdGaWxlKCd0c2NvbmZpZy5qc29uJyk7XG5cbmlmICghYWxpYXNlcykgY29uc29sZS53YXJuKFxuXHQnQWxpYXMgbG9hZGVyIHdhcyByZWdpc3RlcmVkIGJ1dCBubyBcInBhdGhzXCIgd2VyZSBmb3VuZCBpbiB0c2NvbmZpZy5qc29uJyxcblx0J1RoaXMgbG9hZGVyIHdpbGwgYmVoYXZlIGFzIGEgbm9vcCAoYnV0IHlvdSBzaG91bGQgcHJvYmFibHkgcmVtb3ZlIGl0IGlmIHlvdSBhcmVuXHUyMDE5dCB1c2luZyBpdCkuJyxcbik7XG5cbmZ1bmN0aW9uIHJlc29sdmVBbGlhcyhzcGVjaWZpZXIsIGN0eCwgbmV4dCkge1xuXHRyZXR1cm4gKGFsaWFzZXMgPyByZXNvbHZlQWxpYXNlcyA6IG5leHQpKHNwZWNpZmllciwgY3R4LCBuZXh0KTtcbn1cbmV4cG9ydCB7IHJlc29sdmVBbGlhcyBhcyByZXNvbHZlIH07XG5cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQWxpYXNlcyhzcGVjaWZpZXIsIGN0eCwgbmV4dCkge1xuXHRmb3IgKGNvbnN0IFtrZXksIGRlc3RdIG9mIGFsaWFzZXMpIHtcblx0XHRpZiAoc3BlY2lmaWVyID09PSBrZXkpIHJldHVybiBuZXh0KGRlc3QsIGN0eCk7XG5cdFx0aWYgKHNwZWNpZmllci5zdGFydHNXaXRoKGtleSkpIHJldHVybiBuZXh0KHNwZWNpZmllci5yZXBsYWNlKGtleSwgZGVzdCksIGN0eCk7XG5cdH1cblxuXHRyZXR1cm4gbmV4dChzcGVjaWZpZXIsIGN0eCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZWFkQ29uZmlnRmlsZShmaWxlbmFtZSkge1xuXHRjb25zdCBmaWxlcGF0aCA9IHBhdGguam9pbihwcm9qZWN0Um9vdC5wYXRobmFtZSwgZmlsZW5hbWUpO1xuXG5cdHJldHVybiByZWFkRmlsZShmaWxlcGF0aClcblx0XHQudGhlbihKU09OLnBhcnNlKVxuXHRcdC8vIEdldCB0aGUgYGNvbXBpbGVyT3B0aW9ucy5wYXRoc2Agb2JqZWN0IGZyb20gdGhlIHBhcnNlZCBKU09OXG5cdFx0LnRoZW4oKGNvbnRlbnRzKSA9PiBfZ2V0KGNvbnRlbnRzLCAnY29tcGlsZXJPcHRpb25zLnBhdGhzJykpXG5cdFx0LnRoZW4oYnVpbGRBbGlhc01hcHMpXG5cdFx0LmNhdGNoKChlcnIpID0+IHsgaWYgKGVyci5jb2RlICE9PSAnRU5PRU5UJykgdGhyb3cgZXJyOyB9KTtcbn1cblxuZnVuY3Rpb24gYnVpbGRBbGlhc01hcHMoY29uZmlnKSB7XG5cdGlmICghY29uZmlnKSByZXR1cm47XG5cblx0Y29uc3QgYWxpYXNlcyA9IG5ldyBNYXAoKTtcblxuXHRmb3IgKGNvbnN0IHJhd0tleSBvZiBPYmplY3Qua2V5cyhjb25maWcpKSB7XG5cdFx0Y29uc3QgYWxpYXMgPSBjb25maWdbcmF3S2V5XVswXTtcblx0XHRjb25zdCBpc1ByZWZpeCA9IHJhd0tleS5lbmRzV2l0aCgnKicpO1xuXG5cdFx0Y29uc3Qga2V5ID0gaXNQcmVmaXggPyByYXdLZXkuc2xpY2UoMCwgLTEpIC8qIHN0cmlwICcqJyAqLyA6IHJhd0tleTtcblx0XHRjb25zdCBiYXNlRGVzdCA9IGlzUHJlZml4ID8gYWxpYXMuc2xpY2UoMCwgLTEpIC8qIHN0cmlwICcqJyAqLyA6IGFsaWFzO1xuXHRcdGNvbnN0IGRlc3QgPSBiYXNlRGVzdFswXSA9PT0gJy8nIHx8IFVSTC5jYW5QYXJzZShiYXNlRGVzdClcblx0XHRcdD8gYmFzZURlc3Rcblx0XHRcdDogKG5ldyBVUkwoYmFzZURlc3QsIHByb2plY3RSb290KSkuaHJlZjtcblxuXHRcdGFsaWFzZXMuc2V0KGtleSwgZGVzdCk7XG5cdH1cblxuXHRyZXR1cm4gYWxpYXNlcztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI2NkJBQUEsSUFBQUEsR0FBQSxHQUFBQyxHQUFBRCxHQUFBLDZCQUFBRSxJQUFBLGFBQUFDLElBQUEscUJBQUFDLElBQUEscUJBQUFDLElBQUEsa0JBQUFDLElBQUEsWUFBQUMsSUFBQSxjQUFBQyxJQUFBLDJCQUFBQyxJQUFBLDBCQUFBQyxJQUFBLDJCQUFBQyxJQUFBLG9CQUFBQyxJQUFBLGVBQUFDLElBQUEsdUJBQUFDLElBQUEsaUJBQUFDLElBQUEsaUJBQUFDLElBQUEsY0FBQUMsSUFBQSxnQkFBQUMsSUFBQSxvQkFBQUMsSUFBQSxpQkFBQUMsSUFBQSx5QkFBQUMsSUFBQSxlQUFBQyxJQUFBLFlBQUFDLElBQUEsY0FBQUMsSUFBQSxXQUFBQyxJQUFBLFdBQUFDLElBQUEscUNBQUFDLElBQUEsc0JBQUFDLElBQUEsc0JBQUFDLElBQUEsYUFBQUMsSUFBQSxrQkFBQUMsSUFBQSxtQkFBQUMsSUFBQSxhQUFBQyxJQUFBLFlBQUFDLE1BdUJPLFNBQVNqQixJQUFVa0IsRUFBR0MsRUFBRyxDQUM5QixHQUFJLE9BQU9BLEdBQU0sWUFBY0EsSUFBTSxLQUNqQyxNQUFNLElBQUksVUFBVSx1QkFBeUIsT0FBT0EsQ0FBQyxFQUFJLCtCQUErQixFQUM1RkMsSUFBY0YsRUFBR0MsQ0FBQyxFQUNsQixTQUFTRSxHQUFLLENBQUUsS0FBSyxZQUFjSCxDQUFHLENBQ3RDQSxFQUFFLFVBQVlDLElBQU0sS0FBTyxPQUFPLE9BQU9BLENBQUMsR0FBS0UsRUFBRyxVQUFZRixFQUFFLFVBQVcsSUFBSUUsRUFDakYsQ0FhTyxTQUFTWixJQUFPYSxFQUFHQyxFQUFHLENBQzNCLElBQUlDLEVBQUksQ0FBQyxFQUNULFFBQVNDLEtBQUtILEVBQU8sT0FBTyxVQUFVLGVBQWUsS0FBS0EsRUFBR0csQ0FBQyxHQUFLRixFQUFFLFFBQVFFLENBQUMsRUFBSSxJQUM5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LEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsdUJBQXVCLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSx1QkFBdUIsRUFBRSxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSx1QkFBdUIsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFlBQVksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFJLEdBQUcsRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSyxHQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxHQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx1QkFBdUIsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx1QkFBdUIsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEdBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssSUFBSSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQU0sSUFBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxNQUFNLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxNQUFNLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxJQUFJLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsS0FBTSxJQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQU0sSUFBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsS0FBSyxLQUFLLEtBQUssR0FBRyxLQUFLLEtBQUssS0FBSyxLQUFLLEdBQUcsS0FBSyxLQUFLLEtBQUssS0FBSyxHQUFHLEtBQUssS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxLQUFLLEtBQUssR0FBRyxLQUFLLEtBQUssS0FBSyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxLQUFLLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUseUJBQXlCLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLHlCQUF5QixDQUFDLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLEtBQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxPQUFPLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE9BQU8sT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE9BQU8sT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE9BQU8sT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE9BQU8sT0FBTyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBTyxJQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUseUJBQXlCLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUseUJBQXlCLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSx5QkFBeUIsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLHlCQUF5QixDQUFDLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxRQUFRLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFPLEtBQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxHQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsT0FBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sTUFBTSxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUMsTUFBTyxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLE1BQU0sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLE9BQU8sT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsUUFBUSxPQUFPLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQyxRQUFRLE9BQU8sRUFBRSxZQUFZLEVBQUUsQ0FBQyxDQUFDLFFBQVEsT0FBTyxFQUFFLFlBQVksQ0FBQyxJQ0FoOTdQLElBQUFDLElBQUFDLEdBQUEsQ0FBQUMsSUFBQUMsTUFBQSxjQUVBLElBQUlDLElBQVcsR0FBUSxVQUFVLEVBQzdC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QixFQUNBLElBQUlLLEVBQUcsQ0FDTEEsRUFBSVIsR0FBWSxVQUFhUSxDQUFDLEVBQzlCLEtBQUtMLEVBQUksRUFBRSxTQUFXSyxDQUN4QixFQUNBLFdBQVksR0FDWixhQUFjLEVBQ2hCLENBQUMsRUFFRCxPQUFPLGVBQWVKLEdBQUksVUFBVyxPQUFRLENBQzNDLEtBQU0sQ0FDSixPQUFPLEtBQUtELEVBQUksRUFBRSxJQUNwQixFQUNBLElBQUlLLEVBQUcsQ0FDTEEsRUFBSVIsR0FBWSxVQUFhUSxDQUFDLEVBQzlCLEtBQUtMLEVBQUksRUFBRSxLQUFPSyxDQUNwQixFQUNBLFdBQVksR0FDWixhQUFjLEVBQ2hCLENBQUMsRUFFRCxPQUFPLGVBQWVKLEdBQUksVUFBVyxXQUFZLENBQy9DLEtBQU0sQ0FDSixPQUFPLEtBQUtELEVBQUksRUFBRSxRQUNwQixFQUNBLElBQUlLLEVBQUcsQ0FDTEEsRUFBSVIsR0FBWSxVQUFhUSxDQUFDLEVBQzlCLEtBQUtMLEVBQUksRUFBRSxTQUFXSyxDQUN4QixFQUNBLFdBQVksR0FDWixhQUFjLEVBQ2hCLENBQUMsRUFFRCxPQUFPLGVBQWVKLEdBQUksVUFBVyxPQUFRLENBQzNDLEtBQU0sQ0FDSixPQUFPLEtBQUtELEVBQUksRUFBRSxJQUNwQixFQUNBLElBQUlLLEVBQUcsQ0FDTEEsRUFBSVIsR0FBWSxVQUFhUSxDQUFDLEVBQzlCLEtBQUtMLEVBQUksRUFBRSxLQUFPSyxDQUNwQixFQUNBLFdBQVksR0FDWixhQUFjLEVBQ2hCLENBQUMsRUFFRCxPQUFPLGVBQWVKLEdBQUksVUFBVyxXQUFZLENBQy9DLEtBQU0sQ0FDSixPQUFPLEtBQUtELEVBQUksRUFBRSxRQUNwQixFQUNBLElBQUlLLEVBQUcsQ0FDTEEsRUFBSVIsR0FBWSxVQUFhUSxDQUFDLEVBQzlCLEtBQUtMLEVBQUksRUFBRSxTQUFXSyxDQUN4QixFQUNBLFdBQVksR0FDWixhQUFjLEVBQ2hCLENBQUMsRUFFRCxPQUFPLGVBQWVKLEdBQUksVUFBVyxTQUFVLENBQzdDLEtBQU0sQ0FDSixPQUFPLEtBQUtE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LE9BQVEsT0FDUixNQUFPLE9BQ1AsS0FBTSxPQUNOLE9BQVEsT0FDUixNQUFPLE9BQ1AsTUFBTyxPQUNQLE9BQVEsT0FDUixPQUFRLE9BQ1IsTUFBTyxPQUNQLE9BQVEsT0FDUixLQUFNLE9BQ04sTUFBTyxPQUNQLE1BQU8sT0FDUCxPQUFRLE9BQ1IsT0FBUSxPQUNSLE9BQVEsT0FDUixNQUFPLE9BQ1AsS0FBTSxPQUNOLE9BQVEsT0FDUixPQUFRLE9BQ1IsTUFBTyxPQUNQLEtBQU0sT0FDTixJQUFLLE9BQ0wsT0FBUSxPQUNSLE9BQVEsT0FDUixPQUFRLE9BQ1IsTUFBTyxPQUNQLE9BQVEsT0FDUixLQUFNLE9BQ04sT0FBUSxPQUNSLE9BQVEsT0FDUixPQUFRLE9BQ1IsT0FBUSxPQUNSLE1BQU8sT0FDUCxLQUFNLE9BQ04sT0FBUSxPQUNSLE1BQU8sT0FDUCxLQUFNLE9BQ04sTUFBTyxTQUNQLE1BQU8sU0FDUCxPQUFRLFNBQ1IsT0FBUSxTQUNSLEtBQU0sU0FDTixLQUFNLFNBQ04sS0FBTSxTQUNOLE1BQU8sU0FDUCxNQUFPLFNBQ1AsS0FBTSxTQUNOLE1BQU8sU0FDUCxNQUFPLFNBQ1AsUUFBUyxTQUNULEtBQU0sU0FDTixJQUFLLFNBQ0wsTUFBTyxTQUNQLEtBQU0sU0FDTixNQUFPLFNBQ1AsT0FBUSxTQUNSLEdBQUksU0FDSixHQUFJLFNBQ0osR0FBSSxTQUNKLFFBQVMsU0FDVCxHQUFJLFNBQ0osSUFBSyxTQUNMLE1BQU8sU0FDUCxJQUFLLFNBQ0wsUUFBUyxTQUNULElBQUssU0FDTCxJQUFLLFNBQ0wsSUFBSyxTQUNMLE1BQU8sU0FDUCxNQUFPLFNBQ1AsS0FBTSxTQUNOLE1BQU8sU0FDUCxNQUFPLFNBQ1AsUUFBUyxTQUNULEtBQU0sU0FDTixJQUFLLFNBQ0wsTUFBTyxTQUNQLEtBQU0sU0FDTixNQUFPLFNBQ1AsT0FBUSxTQUNSLEdBQUksU0FDSixHQUFJLFNBQ0osR0FBSSxTQUNKLFFBQVMsU0FDVCxHQUFJLFNBQ0osSUFBSyxTQUNMLE9BQVEsU0FDUixNQUFPLFNBQ1AsSUFBSyxTQUNMLFFBQVMsU0FDVCxJQUFLLFNBQ0wsSUFBSyxTQUNMLElBQUssU0FDTCxNQUFPLFNBQ1AsU0FBVSxTQUNWLE1BQU8sU0FDUCxJQUFLLFNBQ0wsS0FBTSxTQUNOLEtBQU0sU0FDTixPQUFRLFNBQ1IsS0FBTSxTQUNOLElBQUssU0FDTCxJQUFLLFNBQ0wsSUFBSyxTQUNMLE1BQU8sU0FDUCxNQUFPLFNBQ1AsTUFBTyxTQUNQLE1BQU8sU0FDUCxNQUFPLFNBQ1AsTUFBTyxTQUNQLE1BQU8sU0FDUCxNQUFPLFNBQ1AsT0FBUSxTQUNSLE9BQVEsU0FDUixLQUFNLFNBQ04sT0FBUSxTQUNSLE9BQVEsU0FDUixNQUFPLFNBQ1AsTUFBTyxTQUNQLE9BQVEsU0FDUixPQUFRLFNBQ1IsTUFBTyxTQUNQLE1BQU8sU0FDUCxLQUFNLFNBQ04sTUFBTyxTQUNQLE9BQVEsU0FDUixLQUFNLFNBQ04sTUFBTyxTQUNQLFFBQVMsU0FDVCxLQUFNLFNBQ04sS0FBTSxTQUNOLEtBQU0sU0FDTixLQUFNLFNBQ04sS0FBTSxTQUNOLE1BQU8sU0FDUCxLQUFNLFNBQ04sS0FBTSxTQUNOLEtBQU0sU0FDTixLQUFNLFNBQ04sS0FBTSxTQUNOLE9BQVEsU0FDUixLQUFNLFNBQ04sTUFBTyxTQUNQLE1BQU8sU0FDUCxNQUFPLFNBQ1AsS0FBTSxTQUNOLE1BQU8sU0FDUCxHQUFJLFNBQ0osS0FBTSxTQUNOLElBQUssU0FDTCxNQUFPLFNBQ1AsT0FBUSxTQUNSLE1BQU8sU0FDUCxLQUFNLFNBQ04sTUFBTyxTQUNQLElBQUssU0FDTCxJQUFLLFNBQ0wsR0FBSSxTQUNKLElBQUssU0FDTCxJQUFLLFNBQ0wsSUFBSyxTQUNMLE9BQVEsU0FDUixJQUFLLFNBQ0wsS0FBTSxTQUNOLE1BQU8sU0FDUCxHQUFJLFNBQ0osTUFBTyxTQUNQLEdBQUksU0FDSixHQUFJLFNBQ0osSUFBSyxTQUNMLElBQUssU0FDTCxLQUFNLFNBQ04sS0FBTSxTQUNOLEtBQU0sU0FDTixNQUFPLFNBQ1AsT0FBUSxTQUNSLEtBQU0sU0FDTixLQUFNLFNBQ04sTUFBTyxTQUNQ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RSxFQUVBRCxJQUErQkMsSUFBMEIsS0FRekQsSUFBTUcsSUFBNkIsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLElBQUksR0FBRyxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLElBQUksR0FBRyxJQUFJLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsSUFBSSxHQUFHLEdBQUcsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLElBQUksR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxJQUFJLElBQUksSUFBSSxHQUFHLElBQUksS0FBSyxHQUFHLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsSUFBSSxLQUFLLEdBQUcsS0FBSyxJQUFJLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxLQUFLLEVBQUUsS0FBSyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksS0FBSyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUUsSUFBSSxHQUFHLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxHQUFHLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEtBQUssTUFBTSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsS0FBSyxHQUFHLEtBQUssR0FBRyxJQUFJLEtBQUssSUFBSSxLQUFLLEtBQUssRUFBRSxJQUFJLEVBRTFqREMsSUFBd0IsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLElBQUksR0FBRyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEtBQUssRUFBRSxFQUFFLEdBQUcsTUFBTSxHQUFHLEtBQUssRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssR0FBRyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVB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T0FBUSxPQUNSQyxPQUFRLE9BQ1JDLE1BQU8sT0FDUEMsT0FBUSxPQUNSQyxLQUFNLE9BQ05DLE1BQU8sT0FDUEMsT0FBUSxPQUNSQyxPQUFRLE9BQ1JDLE9BQVEsT0FDUkMsTUFBTyxPQUNQQyxLQUFNLE9BQ05DLE9BQVEsT0FDUkMsTUFBTyxPQUNQQyxNQUFPLE9BQ1BDLE9BQVEsT0FDUkMsT0FBUSxPQUNSQyxNQUFPLE9BQ1BDLE9BQVEsT0FDUkMsS0FBTSxPQUNOQyxNQUFPLE9BQ1BDLE1BQU8sT0FDUEMsT0FBUSxPQUNSQyxPQUFRLE9BQ1JDLE9BQVEsT0FDUkMsTUFBTyxPQUNQQyxLQUFNLE9BQ05DLE9BQVEsT0FDUkMsT0FBUSxPQUNSQyxNQUFPLE9BQ1BDLEtBQU0sT0FDTkMsSUFBSyxPQUNMQyxPQUFRLE9BQ1JDLE9BQVEsT0FDUkMsT0FBUSxPQUNSQyxNQUFPLE9BQ1BDLE9BQVEsT0FDUkMsS0FBTSxPQUNOQyxPQUFRLE9BQ1JDLE9BQVEsT0FDUkMsT0FBUSxPQUNSQyxPQUFRLE9BQ1JDLE1BQU8sT0FDUEMsS0FBTSxPQUNOQyxPQUFRLE9BQ1JDLE1BQU8sT0FDUEMsS0FBTSxPQUNOQyxNQUFPLFNBQ1BDLE1BQU8sU0FDUEMsT0FBUSxTQUNSQyxPQUFRLFNBQ1JDLEtBQU0sU0FDTkMsS0FBTSxTQUNOQyxLQUFNLFNBQ04xZ0MsTUFBTyxTQUNQMmdDLE1BQU8sU0FDUEMsS0FBTSxTQUNOQyxNQUFPLFNBQ1BDLE1BQU8sU0FDUEMsUUFBUyxTQUNUQyxLQUFNLFNBQ05DLElBQUssU0FDTEMsTUFBTyxTQUNQQyxLQUFNLFNBQ05DLE1BQU8sU0FDUEMsT0FBUSxTQUNSQyxHQUFJLFNBQ0pDLEdBQUksU0FDSkMsR0FBSSxTQUNKQyxRQUFTLFNBQ1RDLEdBQUksU0FDSkMsSUFBSyxTQUNMQyxNQUFPLFNBQ1BDLElBQUssU0FDTEMsUUFBUyxTQUNUQyxJQUFLLFNBQ0xDLElBQUssU0FDTEMsSUFBSyxTQUNMQyxNQUFPLFNBQ1BDLE1BQU8sU0FDUEMsS0FBTSxTQUNOQyxNQUFPLFNBQ1BDLE1BQU8sU0FDUEMsUUFBUyxTQUNUQyxLQUFNLFNBQ05DLElBQUssU0FDTEMsTUFBTyxTQUNQQyxLQUFNLFNBQ05DLE1BQU8sU0FDUEMsT0FBUSxTQUNSQyxHQUFJLFNBQ0pDLEdBQUksU0FDSkMsR0FBSSxTQUNKQyxRQUFTLFNBQ1RDLEdBQUksU0FDSkMsSUFBSyxTQUNMQyxPQUFRLFNBQ1JDLE1BQU8sU0FDUEMsSUFBSyxTQUNMQyxRQUFTLFNBQ1RDLElBQUssU0FDTEMsSUFBSyxTQUNMQyxJQUFLLFNBQ0xDLE1BQU8sU0FDUEMsU0FBVSxTQUNWQyxNQUFPLFNBQ1BDLElBQUssU0FDTEMsS0FBTSxTQUNOQyxLQUFNLFNBQ05DLE9BQVEsU0FDUkMsS0FBTSxTQUNOQyxJQUFLLFNBQ0xDLElBQUssU0FDTEMsSUFBSyxTQUNMQyxNQUFPLFNBQ1BDLE1BQU8sU0FDUEMsTUFBTyxTQUNQQyxNQUFPLFNBQ1BDLE1BQU8sU0FDUEMsTUFBTyxTQUNQQyxNQUFPLFNBQ1BDLE1BQU8sU0FDUEMsT0FBUSxTQUNSQyxPQUFRLFNBQ1JDLEtBQU0sU0FDTkMsT0FBUSxTQUNSQyxPQUFRLFNBQ1JDLE1BQU8sU0FDUEMsTUFBTyxTQUNQQyxPQUFRLFNBQ1JDLE9BQVEsU0FDUkMsTUFBTyxTQUNQQyxNQUFPLFNBQ1BDLEtBQU0sU0FDTkMsTUFBTyxTQUNQQyxPQUFRLFNBQ1JDLEtBQU0sU0FDTkMsTUFBTyxTQUNQQyxRQUFTLFNBQ1RDLEtBQU0sU0FDTkMsS0FBTSxTQUNOQyxLQUFNLFNBQ05DLEtBQU0sU0FDTkMsS0FBTSxTQUNOQyxNQUFPLFNBQ1BDLEtBQU0sU0FDTkMsS0FBTSxTQUNOQyxLQUFNLFNBQ05DLEtBQU0sU0FDTkMsS0FBTSxTQUNOQyxPQUFRLFNBQ1JDLEtBQU0sU0FDTkMsTUFBTyxTQUNQbk4sTUFBTyxTQUNQb04sTUFBTyxTQUNQQyxLQUFNLFNBQ05DLE1BQU8sU0FDUEMsR0FBSSxTQUNKQyxLQUFNLFNBQ05DLElBQUssU0FDTEMsTUFBTyxTQUNQQyxPQUFRLFNBQ1JDLE1BQU8sU0FDUHJ2QyxLQUFNLFNBQ05z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QUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLHVCQUF1QkMsR0FBRyxRQUFRQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxTQUFTQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsV0FBV0MsR0FBRyw0QkFBNEJDLEdBQUcsTUFBTUMsR0FBRyxJQUFLQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLEtBQUtDLEdBQUcsNEJBQTRCQyxHQUFHLE1BQU1DLEdBQUcsc0JBQXNCQyxHQUFHLFdBQVdDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLGtDQUFrQ0MsR0FBRyxRQUFRQyxHQUFHLE9BQU9DLEdBQUcsWUFBWUMsR0FBRyxXQUFXQyxHQUFHLE1BQU1DLEdBQUcsYUFBYUMsR0FBRyxJQUFJQyxHQUFHLFVBQVVDLEdBQUcseUNBQXlDQyxHQUFHLE1BQU1DLEdBQUcsS0FBS0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxHQUFHLEtBQUtDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLDBCQUEwQkMsR0FBRyxjQUFjQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLElBQUlDLEdBQUcsSUFBSUMsR0FBRyxPQUFPQyxHQUFHLFlBQVlDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcseUJBQXlCQyxHQUFHLElBQUlDLEdBQUcsbUJBQW1CQyxHQUFHLEtBQUtDLEdBQUcsT0FBT0MsR0FBRyxhQUFhQyxHQUFHLElBQUlDLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLFVBQVVDLEdBQUcsSUFBSUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLFFBQVFDLEdBQUcsT0FBT0MsR0FBRyxzREFBc0RDLEdBQUcsY0FBY0MsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsT0FBT0MsR0FBRyxtQkFBbUJDLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxHQUFHLFFBQVFDLEdBQUcsa0JBQWtCQyxHQUFHLElBQUlDLEdBQUcsb0JBQW9CQyxHQUFHLFlBQVlDLEdBQUcsS0FBS0MsR0FBRyxPQUFPQyxHQUFHLEtBQUtDLEdBQUcsT0FBT0MsR0FBRyw2Q0FBNkNDLEdBQUcsS0FBS0MsR0FBRyxrQkFBa0JDLEdBQUcsS0FBS0MsR0FBRyxLQUFLQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxJQUFJQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsS0FBS0MsR0FBRyxtQkFBbUJDLEdBQUcsT0FBT0MsR0FBRyxTQUFTQyxHQUFHLElBQUlDLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsMEJBQTBCQyxHQUFHLE9BQU9DLEdBQUcsU0FBU0MsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsZ0JBQWdCQyxHQUFHLFNBQVNDLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsYUFBYUMsR0FBRyxPQUFPQyxHQUFHLElBQUlDLEdBQUcsSUFBSUMsR0FBRyxVQUFVQyxHQUFHLGlCQUFpQkMsR0FBRyxJQUFJQyxHQUFHLDBCQUEwQkMsR0FBRyxJQUFJQyxHQUFHLHFDQUFxQ0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxRQUFRQyxHQUFHLE1BQU1DLEdBQUcsWUFBWUMsR0FBRyxLQUFLQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE9BQU9DLEdBQUcsWUFBWUMsR0FBRyxZQUFZQyxHQUFHLE1BQU1DLEdBQUcsS0FBS0MsR0FBRyxNQUFNQyxHQUFHLGlCQUFpQkMsR0FBRyw0QkFBNEJDLEdBQUcsTUFBTUMsR0FBRyxRQUFRQyxHQUFHLGFBQWFDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsT0FBT0MsR0FBRyxVQUFVQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLFdBQVdDLEdBQUcsc0JBQXNCQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsSUFBSUMsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxJQUFJQyxHQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxXQUFXQyxHQUFHLFVBQVVDLEdBQUcsT0FBT0MsR0FBRyxPQUFPQyxHQUFHLEtBQUtDLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyx1QkFBdUJDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsVUFBVUMsR0FBRyw4QkFBOEJDLEdBQUcsSUFBSUMsR0FBRyxJQUFJQyxHQUFHLE9BQU9DLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLFVBQVVDLEdBQUcsS0FBS0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsZUFBZUMsR0FBRyxJQUFJQyxHQUFHLE9BQU9DLEdBQUcsUUFBUUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxHQUFHLEtBQUtDLEdBQUcsS0FBS0MsR0FBRywwQkFBMEJDLEdBQUcsUUFBUUMsR0FBRyxLQUFLQyxHQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyx3QkFBd0JDLEdBQUcseUJBQXlCQyxHQUFHLHNCQUFzQkMsR0FBRyxzQkFBc0JDLEdBQUcsT0FBT0MsR0FBRyxPQUFPQyxHQUFHLHdCQUF3QkMsR0FBRyxHQUFJQyxHQUFHLGlCQUFpQkMsR0FBRyxrQ0FBa0NDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLEtBQUtDLEdBQUcsS0FBS0MsR0FBRyxJQUFJQyxHQUFHLFVBQVVDLEdBQUcsT0FBT0MsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxHQUFHLFVBQVVDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLHVCQUF1QkMsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsa0JBQWtCQyxHQUFHLGlCQUFpQkMsR0FBRyxpQkFBaUJDLEdBQUcsbUJBQW1CQyxHQUFHLDZDQUE2Q0MsRUFBRyxNQUFNQyxFQUFHLE9BQU9DLEdBQUcsSUFBS0MsR0FBRyxPQUFPQyxHQUFHLGVBQWVDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLGtCQUFrQkMsR0FBRyxpQkFBaUJDLEdBQUcsT0FBT0MsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHO0FBQUEsRUFBS0MsR0FBRyxNQUFNQyxHQUFHLGtDQUFrQ0MsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsNENBQTRDQyxHQUFHLFNBQVNDLEdBQUcsSUFBSUMsR0FBRyx3QkFBd0JDLEdBQUcsTUFBTUMsR0FBRyxpQkFBaUJDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLG1CQUFtQkMsR0FBRyxzQkFBc0JDLEdBQUcsMkJBQTJCQyxHQUFHLE1BQU1DLEdBQUcsZ0NBQWdDQyxHQUFHLGtDQUFrQ0MsR0FBRyxNQUFNQyxHQUFHLHVCQUF1QkMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxHQUFHLElBQUlDLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsS0FBS0MsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRywyQkFBMkJDLEdBQUcsT0FBT0MsR0FBRyxLQUFLQyxHQUFHLFVBQVVDLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLCtCQUErQkMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxtQkFBbUJDLEdBQUcsWUFBWUMsR0FBRyxRQUFRQyxHQUFHLGFBQWFDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLGtCQUFrQkMsR0FBRyxPQUFPQyxHQUFHLFNBQVNDLEdBQUcsYUFBYUMsR0FBRyxZQUFZQyxHQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLEtBQUtDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLFdBQVdDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsdUJBQXVCQyxHQUFHLFlBQVlDLEdBQUcsVUFBVUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsU0FBU0MsR0FBRyxnQkFBZ0JDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLEtBQUtDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FB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QUFHLEtBQUtDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLElBQUlDLEdBQUcsT0FBT0MsR0FBRyxLQUFLQyxHQUFHLDJCQUEyQkMsR0FBRyxhQUFhQyxHQUFHLE1BQU1DLEdBQUcsZUFBZUMsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsbUNBQW1DQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxZQUFZQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsU0FBU0MsR0FBRyxtQkFBbUJDLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxHQUFHLE9BQU9DLEdBQUcsZ0JBQWdCQyxHQUFHLE9BQU9DLEdBQUcsNkJBQTZCQyxHQUFHLE1BQU1DLEdBQUcsS0FBS0MsR0FBRyxtQkFBbUJDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsVUFBVUMsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsSUFBSUMsR0FBRyxnQkFBZ0JDLEdBQUcsSUFBSUMsR0FBRyxPQUFPQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsSUFBRyxNQUFPQyxHQUFHLHlCQUF5QkMsR0FBRyxPQUFPQyxHQUFHLElBQUlDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxPQUFPQyxHQUFHLEtBQUtDLElBQUcsS0FBS0MsR0FBRyxvQkFBb0JDLEdBQUcsS0FBS0MsR0FBRyw2QkFBNkJDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLHNCQUFzQkMsR0FBRyxvQ0FBb0NDLElBQUcsV0FBV0MsR0FBRyxNQUFNQyxHQUFHLFNBQVNDLEdBQUcsZ0JBQWdCQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLFFBQVFDLEdBQUcsd0JBQXdCQyxHQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxXQUFXQyxHQUFH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QUFHLElBQUlDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLGFBQWFDLEdBQUcsVUFBVUMsR0FBRyxNQUFNQyxJQUFHLElBQUlDLEdBQUcsS0FBS0MsR0FBRyxJQUFJQyxHQUFHLHdCQUF3QkMsSUFBRyxPQUFPQyxHQUFHLFNBQVNDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxJQUFHLElBQUlDLElBQUcsS0FBS0MsSUFBRyxJQUFJQyxHQUFHLElBQUlDLEdBQUcsZ0NBQWdDQyxHQUFHLEtBQUtDLEdBQUcsT0FBT0MsSUFBRyxLQUFLQyxJQUFHLElBQUlDLEdBQUcsSUFBSUMsR0FBRyxJQUFJQyxJQUFHLE1BQU1DLEdBQUcsaUJBQWlCQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxJQUFHLEtBQUtDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcscUJBQXFCQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLDZCQUE2QkMsR0FBRyx1QkFBdUJDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLEtBQUtDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLDBCQUEwQkMsR0FBRyxJQUFJQyxHQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyx3QkFBd0JDLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLGFBQWFDLEdBQUcsS0FBS0MsSUFBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsa0JBQWtCQyxHQUFHLDJDQUEyQ0MsR0FBRyxPQUFPQyxHQUFHLEtBQUtDLElBQUcsSUFBSUMsSUFBRyxNQUFNQyxHQUFHLE1BQU1DLElBQUcsSUFBSUMsSUFBRyxJQUFJQyxJQUFHLGFBQWFDLEdBQUcsdUJBQXVCQyxHQUFHLHlCQUF5QkMsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLEtBQUtDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLEtBQUtDLElBQUcsaUJBQWlCQyxHQUFHLG9CQUFvQkMsR0FBRyxJQUFJQyxHQUFHLDhCQUE4QkMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLG1CQUFtQkMsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsT0FBT0MsR0FBRyxhQUFhQyxHQUFHLFVBQVVDLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxJQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxXQUFXQyxHQUFHLGVBQWVDLEdBQUcsNkJBQTZCQyxHQUFHLE1BQU1DLEdBQUcsUUFBUUMsR0FBRyxNQUFNQyxHQUFHLHFCQUFxQkMsR0FBRyxRQUFRQyxHQUFHLDhCQUE4QkMsR0FBRyxNQUFNQyxHQUFHLEtBQVdDLEdBQUcsT0FBT0MsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsbUNBQW1DQyxHQUFHLGVBQWVDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLFdBQVdDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLDhCQUE4QkMsR0FBRyxNQUFNQyxHQUFHLHVCQUF1QkMsR0FBRyw2QkFBNkJDLEdBQUcsSUFBSUMsSUFBRyxJQUFJQyxJQUFHLE1BQU1DLElBQUc7QUFBQSxFQUE4QkMsR0FBRyxPQUFPQyxHQUFHLFNBQVNDLEdBQUcsdUJBQXVCQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsdUNBQXVDQyxHQUFHLDRCQUE0QkMsR0FBRyxVQUFVQyxHQUFHLFlBQVlDLEdBQUcsS0FBS0MsSUFBRyxLQUFLQyxHQUFHLElBQUlDLEdBQUcsb0JBQW9CQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxJQUFHLElBQUlDLEdBQUcsZ0JBQWdCQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsUUFBUUMsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxJQUFHLElBQUlDLEdBQUcsT0FBT0MsR0FBRyxvQkFBb0JDLEdBQUcsT0FBT0MsSUFBRyxLQUFLQyxHQUFHLGdDQUFnQ0MsR0FBRyxNQUFNQyxJQUFHLElBQUlDLElBQUcscUJBQXFCQyxHQUFHLG1CQUFtQkMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxTQUFTQyxJQUFHLE1BQU9DLEdBQUcsTUFBTUMsSUFBRyxjQUFjQyxHQUFHLE1BQU1DLEdBQUcsS0FBS0MsSUFBRyxjQUFjQyxHQUFHLE1BQU1DLElBQUcsS0FBS0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsT0FBT0MsSUFBRyxJQUFJQyxJQUFHLFlBQVlDLEdBQUcsT0FBT0MsR0FBRyxtQkFBbUJDLEdBQUcsZUFBZUMsR0FBRyxRQUFRQyxHQUFHLE9BQU9DLEdBQUcsS0FBS0MsSUFBRyxVQUFVQyxHQUFHLE1BQU1DLEdBQUcsS0FBS0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsdUJBQXVCQyxHQUFHLElBQUlDLEdBQUcsV0FBV0MsR0FBRyxNQUFNQyxHQUFHLFNBQVNDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLGdCQUFnQkMsR0FBRyxXQUFXQyxHQUFHLElBQUlDLEdBQUcsUUFBUUMsR0FBRyxhQUFhQyxHQUFHLE1BQU1DLElBQUcsd0JBQXdCQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLHVCQUF1QkMsSUFBRyxXQUFXQyxHQUFHLGtCQUFrQkMsSUFBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsSUFBRyxXQUFXQyxHQUFHLEtBQUtDLEdBQUcsTUFBTUMsR0FBRyxVQUFVQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxH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QUssRUFBRSxDQUFDLEVBQUVBLEdBQUUsVUFBVSxTQUFTLFNBQVNycEQsRUFBRSxDQUFDLE9BQUcsS0FBSyxHQUFHQSxFQUFFLEdBQVUsRUFBSyxLQUFLLEdBQUdBLEVBQUUsR0FBUyxHQUFNLEtBQUssR0FBR0EsRUFBRSxHQUFVLEVBQUssS0FBSyxHQUFHQSxFQUFFLEdBQVMsR0FBTSxLQUFLLEdBQUdBLEVBQUUsR0FBVSxFQUFLLEtBQUssR0FBR0EsRUFBRSxHQUFTLEdBQVUsQ0FBQyxFQUFFcXBELEdBQUUsVUFBVSxRQUFRLFNBQVNycEQsRUFBRSxDQUFDLElBQzdQQyxFQUFFLEtBQUssSUFBSSxHQUFHbXBELEVBQUVwcEQsRUFBRSxJQUFJLEdBQUcsT0FBR0MsRUFBRW1wRCxFQUFTLEVBQUtucEQsRUFBRW1wRCxFQUFRLEdBQU0sS0FBSyxHQUFHcHBELEVBQUUsR0FBVSxFQUFLLEtBQUssR0FBR0EsRUFBRSxHQUFTLEdBQU0sS0FBSyxHQUFHQSxFQUFFLEdBQVUsRUFBSyxLQUFLLEdBQUdBLEVBQUUsR0FBUyxHQUFVLENBQUMsRUFBRXFwRCxHQUFFLFVBQVUsSUFBSSxVQUFVLENBQUMsSUFDbE1ycEQsRUFBRSxDQUFDLEtBQUssR0FBR0MsRUFBRSxDQUFDLEtBQUssSUFBSUQsR0FBRyxJQUFJb3BELEVBQUUsQ0FBQyxLQUFLLElBQUlucEQsR0FBRyxJQUFJLE9BQU8sSUFDeERvcEQsR0FBRXJwRCxFQUFFQyxFQUFFbXBELENBQUMsQ0FBQyxFQUFFQyxHQUFFLFVBQVUsSUFBSSxTQUFTcnBELEVBQUUsQ0FBQyxJQUN0Q0MsRUFBRSxLQUFLLEdBQUdELEVBQUUsR0FBR29wRCxFQUFFLEtBQUssR0FBR3BwRCxFQUFFLElBQUlDLEdBQUcsSUFBSXFwRCxFQUFFLEtBQUssR0FBR3RwRCxFQUFFLElBQUlvcEQsR0FBRyxJQUFJLE9BQU8sSUFDcEVDLEdBQUVwcEQsRUFBRW1wRCxFQUFFRSxDQUFDLENBQUMsRUFBRUQsR0FBRSxVQUFVLElBQUksU0FBU3JwRCxFQUFFLENBQUMsSUFDdENDLEVBQUUsS0FB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LEdBQUUsRUFBRSxLQUFLLEtBQUs5NkMsQ0FBQyxDQUFDMDFELEdBQUcsVUFBVSxHQUFHLFNBQVMxMUQsRUFBRSxDQUFDLE9BQU8sS0FBSyxLQUFLQSxDQUFDLEVBQUUwMUQsR0FBRyxVQUFVLE9BQU8sU0FBUzExRCxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sS0FBSyxHQUFHLFdBQVcsS0FBSyxHQUFHQSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBUyxDQUFDLE1BQU8sRUFBQyxDQUFDLEVBQUUwMUQsR0FBRyxVQUFVLE9BQU8sU0FBUzExRCxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sS0FBSyxHQUFHLFNBQVMsS0FBSyxHQUFHQSxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU91cEQsRUFBRSxDQUFDMEssR0FBRTFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFbU0sR0FBRyxVQUFVLE1BQU0sU0FBUzExRCxFQUFFQyxFQUFFbXBELEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBSyxHQUFHLFVBQVUsS0FBSyxHQUFHcHBELENBQUMsRUFBRSxDQUFDLEtBQUtDLENBQUMsQ0FBQyxFQUFTLENBQUMsT0FBT3NwRCxFQUFFLENBQUMsS0FBSyxtQkFBbUJBLEVBQUVILENBQUMsQ0FBQyxDQUFDLEVBQUVzTSxHQUFHLFVBQVUsTUFBTSxTQUFTMTFELEVBQUVDLEVBQUUsQ0FBQyxHQUFHLENBQUMsWUFBSyxHQUFHLFVBQVUsS0FBSyxHQUFHRCxDQUFDLENBQUMsRUFBUyxDQUFDLE9BQU91cEQsRUFBRSxDQUFDLEtBQUssbUJBQW1CQSxFQUFFdHBELENBQUMsQ0FBQyxDQUFDLEVBQUV5MUQsR0FBRyxVQUFVLFFBQVEsU0FBUzExRCxFQUFFQyxFQUFFLENBQUMsR0FBRyxDQUFDLE9BQU8sS0FBSyxHQUFHLFlBQVksS0FBSyxHQUFHRCxDQUFDLENBQUMsQ0FBQyxPQUFPdXBELEVBQUUsQ0FBQyxLQUFLLG1CQUFtQkEsRUFBRXRwRCxDQUFDLENBQUMsQ0FBQyxFQUFFeTFELEdB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QUVELEVBQUVxQyxFQUFDLEVBQUVnTSxHQUFHbVIsR0FBRyxDQUFDLEVBQUV2ZixFQUFFRCxFQUFFcUMsRUFBQyxDQUFDLEVBQUUsSUFDL0MsR0FBRSxPQUFPM3JELEVBQUUsR0FBRzhvRSxHQUFHOW9FLEVBQUUsRUFBRSxFQUFFdXBELEVBQUVELEVBQUVxQyxFQUFDLEVBQUVnTSxHQUFHbVIsR0FBRyxDQUFDLEVBQUV2ZixFQUFFRCxFQUFFcUMsRUFBQyxDQUFDLEVBQUUsSUFDL0MsR0FBRSxPQUFPM3JELEVBQUUsR0FBRzhvRSxHQUFHOW9FLEVBQUUsRUFBRSxFQUFFdXBELEVBQUVELEVBQUVxQyxFQUFDLEVBQUVnTSxHQUFHbVIsR0FBRyxDQUFDLEVBQUV2ZixFQUFFRCxFQUFFcUMsRUFBQyxDQUFDLEVBQUUsSUFDL0MsR0FBRSxPQUFPM3JELEVBQUUsR0FBRzhvRSxHQUFHOW9FLEVBQUUsRUFBRSxFQUFFdXBELEVBQUVELEVBQUVxQyxFQUFDLEVBQUVnTSxHQUFHbVIsR0FBRyxDQUFDLEVBQUV2ZixFQUFFRCxFQUFFcUMsRUFBQyxDQUFDLEVBQUUsSUFDL0MsR0FBRSxPQUFPM3JELEVBQUUsR0FBRzhvRSxHQUFHOW9FLEVBQUUsRUFBRSxFQUFFdXBELEVBQUVELEVBQUVxQyxFQUFDLEVBQUVnTSxHQUFHbVIsR0FBRyxDQUFDLEVBQUV2ZixFQUFFRCxFQUFFcUMsRUFBQyxDQUFDLEVBQUUsSUFDL0MsR0FBRSxPQUFPM3JELEVBQUUsR0FBRzhvRSxHQUFHOW9FLEVBQUUsRUFBRSxFQUFFdXBELEVBQUVELEVBQUVxQyxFQUFDLEVBQUVnTSxHQUFHbVIsR0FBRyxDQUFDLEVBQUV2ZixFQUFFRCxFQUFFcUMsRUFBQyxDQUFDLEVBQUUsSUFDL0MsR0FBRSxPQUFPM3JELEVBQUUsR0FBRzhvRSxHQUFHOW9FLEVBQUUsRUFBRSxFQUFFdXBELEVBQUVELEVBQUVxQyxFQUFDLEVBQUVnTSxHQUFHbVIsR0FBRyxDQUFDLEVBQUV2ZixFQUFFRCxFQUFFcUMsRUFBQyxDQUFDLEVBQUUsSUFDL0MsR0FBRSxJQUNG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LElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRXBpQixHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFbU8sR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUs0dEIsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRXp0QyxHQUFHb3pCLEVBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRTdRLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRXhMLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUyZCxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUV3TSxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBS3RnQyxFQUFFLEVBQUUsQ0FBQyxFQUFFK0YsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFNGtCLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRXZQLEdBQUc4bUIsRUFBRSxFQUFFLENBQUMsRUFBRXFHLEdBQUduZ0MsRUFBRSxFQUFFLENBQUMsRUFBRXNCLEdBQUd5NkIsRUFBRSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRS8yQixHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNMmpCLEVBQUUsRUFBRSxDQUFDLEVBQUUva0MsRUFBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFc3hDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUV4bkIsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFdlMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU00dUIsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNVSxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0xbUMsQ0FBRSxFQUFFLENBQUMsRUFBRSxNQUFNK2hCLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTW1YLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTTUyQixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU1nOUMsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNdEMsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNN2xCLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTXVzQixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNbFAsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTWhoQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUrWSxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFeEgsR0FBR3RDLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFc1gsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU10d0IsRUFBRSxFQUFFLENBQUMsRUFBRXdoQixHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUU2VixHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTWtJLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTXJjLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTWdRLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTXo0QixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRXdnQixHQUFHcGMsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNd25CLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTXVZLEVBQUUsRUFBRSxDQUFDLEVBQUVuakIsR0FBR2xNLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTXFrQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU1zSCxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU1uTCxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0vUyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFeUosR0FBR3FSLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTTNrQixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU16ZixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU1HLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU1taUMsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFNW5DLEdBQUdvTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU1xNkIsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUVoa0IsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU1qdEIsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFb3lDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTXYvQixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU1xWSxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTTlGLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRXlkLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNNkssRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFaHpDLEdBQUc0VSxDQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSs0QixHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNMUssRUFBRSxFQUFFLENBQUMsRUFBRTNnQixHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTXVnQixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTXJCLEVBQUUsRUFBRSxDQUFDLEVBQUVoYixHQUFHdFIsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNeXNCLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTW5FLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTTNpQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTTIwQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU14Z0IsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNNkksRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUVwMkIsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFbUosR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0yK0IsRUFBRSxFQUFFLENBQUMsRUFBRTFwQixHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRStCLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0ySixFQUFFLEVBQUUsQ0FBQyxFQUFFbWUsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFcnJCLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUzRyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUVxTCxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU02b0IsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNam5CLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTTh1QixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTXZ0QixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU1pWixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRUQsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNMXZCLEVBQUUsRUFBRSxDQUFDLEVBQUU3VSxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPMEIsRUFBRSxFQUFFLENBQUMsRUFBRSxPQUFPNlgsRUFBRSxFQUFFLENBQUMsRUFBRSxPQUFPLE1BQU0sRUFBRSxDQUFDLEVBQUVtSixHQUFHLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU93Z0Ms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QUFDLEVBQUU1bEcsQ0FBRSxFQUFFNmxHLElBQUksQ0FBQyxFQUFFbDJELEdBQUUsRUFBRW0yRCxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUVDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUVDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUVDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUVDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRUMsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUVDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUVDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRUMsSUFBSSxDQUFDLEVBQUVsbUQsR0FBRSxFQUFFbW1ELElBQUksQ0FBQyxFQUFFLElBQUksRUFBRUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUVDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRUMsSUFBSSxDQUFDLEVBQUV6d0YsRUFBRSxFQUFFMHdGLElBQUcsQ0FBQyxFQUFFdmpFLEdBQUUsRUFBRXdqRSxJQUFHLENBQUMsRUFBRS82RSxFQUFFLEVBQUVnN0UsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUVDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRUMsSUFBSSxDQUFDLEVBQUUsSUFBSSxFQUFFQyxJQUFJLENBQUMsRUFBRSxJQUFJLEVBQUVDLElBQUcsQ0FBQyxFQUFFLElBQUksRUFBRUMsSUFBRyxDQUFDLEVBQUUsSUFB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QUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFQyxJQUFJLENB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RCxFQUFFLENBQUMsRUFBRSxFQUFFQSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQUFBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQVVDLElBQUwsS0FBZUQsRUFBRSxDQUFDLElBQVAsSUFBU0EsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFLEVBQUUsR0FBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxHQUFTQyxDQUFDLENBQUMsU0FDckZxdUQsR0FBRXR1RCxFQUFFQyxFQUFFLENBQUNELEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFQyxDQUFRLENBQUMsU0FDdERtakUsR0FBRXBqRSxFQUFFLENBQUMsT0FBQUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBU3N1RCxHQUFFdHVELEVBQUUsRUFBRSxDQUFDLENBQUMsU0FDbEQyckQsR0FBRTNyRCxFQUFFLENBQUMsT0FBQUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBU0EsRUFBRSxFQUFFLENBQUMsQ0FBQyxTQUNsRG8ySSxHQUFHcDJJLEVBQUUsQ0FBQ0EsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsQ0FBUSxDQUFDLFNBQzNDcTJJLEdBQUdyMkksRUFBRUMsRUFBRSxDQUFDRCxFQUFFLENBQUMsRUFBRUMsQ0FBUSxDQUFDLFNBQ3RCcTJJLEdBQUd0MkksRUFBRSxDQUFDLE9BQU9BLEVBQUUsQ0FB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RCxFQUFFLENBQUMsT0FBT3VHLEdBQUUxdkQsRUFBRW1wRCxDQUFDLENBQUMsRUFBRSxTQUFTcHBELEVBQUVDLEVBQUVtcEQsRUFBRSxDQUFDLE9BQU91RyxHQUFFMXZELEVBQUVtcEQsQ0FBQyxDQUFDLEVBQUUsU0FBU3BwRCxFQUFFQyxFQUFFbXBELEVBQUUsQ0FBQyxPQUFPdUcsR0FBRTF2RCxFQUFFbXBELENBQUMsQ0FBQyxFQUFFLFNBQVNwcEQsRUFBRUMsRUFBRW1wRCxFQUFFLENBQUMsT0FBT3VHLEdBQUUxdkQsRUFBRW1wRCxDQUFDLENBQUMsRUFBRSxTQUFTcHBELEVBQUVDLEVBQUVtcEQsRUFBRSxDQUFDLE9BQU91RyxHQUFFMXZELEVBQUVtcEQsQ0FBQyxDQUFDLEVBQUUsU0FBU3BwRCxFQUFFQyxFQUFFbXBELEVBQUUsQ0FBQyxPQUFPdUcsR0FBRTF2RCxFQUFFbXBELENBQUMsQ0FBQyxFQUFFLFNBQVNwcEQsRUFBRUMsRUFBRW1wRCxFQUFFLENBQUMsT0FBT3VHLEdBQUUxdkQsRUFBRW1wRCxDQUFDLENBQUMsRUFBRSxTQUFTcHBELEVBQUVDLEVBQUVtcEQsRUFBRSxDQUFDLE9BQU91RyxHQUFFMXZELEVBQUVtcEQsQ0FBQyxDQUFDLEVBQUUsU0FBU3BwRCxFQUFFQyxFQUFFbXBELEVBQUUsQ0FBQyxPQUFPc0csR0FBR3p2RCxFQUFFbXBELENBQUMsQ0FBQyxFQUFFLFNBQVNwcEQsRUFBRUMsRUFBRW1wRCxFQUFFLENBQUMsT0FBT3VHLEdBQUUxdkQsRUFBRW1wRCxDQUFDLENBQUMsRUFBRSxTQUFTcHBELEVBQUVDLEVBQUVtcEQsRUFBRSxDQUFDLE9BQU9zRyxHQUFHenZELEVBQUVtcEQsQ0FBQyxDQUFDLEVBQUUsU0FBU3BwRCxFQUFFQyxFQUFFbXBELEVBQUUsQ0FBQyxPQUFPc0csR0FBR3p2RCxFQUFFbXBELENBQUMsQ0FBQyxFQUFFLFNBQVNwcEQsRUFBRUMsRUFBRW1wRCxFQUFFLENBQUMsT0FBT3NHLEdBQUd6dkQsRUFBRW1wRCxDQUFDLENBQUMsRUFBRSxTQUFTcHBELEVBQUVDLEVBQUVtcEQsRUFBRSxDQUFDLE9BQU9zRyxHQUFHenZELEVBQUVtcEQsQ0FBQyxDQUFDLEVBQUUsU0FBU3BwRCxFQUFFQyxFQUFFbXBELEVBQUUsQ0FBQyxPQUFPc0csR0FBR3p2RCxFQUFFbXBELENBQUMsQ0FBQyxFQUFFLFNBQVNwcEQsRUFBRUMsRUFBRW1wRCxFQUFFLENBQUMsT0FBT3VHLEdBQUUxdkQsRUFBRW1wRCxDQUFDLENBQUMsRUFBRSxTQUFTcHBELEVBQUVDLEVBQUVtcEQsRUFBRSxDQUFDLE9BQU9zRyxHQUFHenZELEVBQUVtcEQsQ0FBQyxDQUFDLEVBQUUsU0FBU3BwRCxFQUFFQyxFQUFFbXBELEVBQUUsQ0FBQyxPQUFPdUcsR0FBRTF2RCxFQUFFbXBELENBQUMsQ0FBQyxFQUFFLFNBQVNwcEQsRUFBRUMsRUFBRW1wRCxFQUFFLENBQUMsT0FBT3VHLEdBQUUxdkQsRUFBRW1wRCxDQUFDLENBQUMsRUFBRSxTQUFTcHBELEVBQUVDLEVBQUVtcEQsRUFBRSxDQUFDLE9BQU91RyxHQUFFMXZELEVBQUVtcEQsQ0FBQyxDQUFDLEVBQUUsU0FBU3BwRCxFQUFFQyxFQUFFbXBELEVBQUUsQ0FBQyxPQUFPdUcsR0FBRTF2RCxFQUFFbXBELENBQUMsQ0FBQyxFQUFFLFNBQVNwcEQsRUFBRUMsRUFBRW1wRCxFQUFFLENBQUMsT0FBT3VHLEdBQUUxdkQsRUFBRW1wRCxDQUFDLENBQUMsRUFBRSxTQUFTcHBELEVBQUVDLEVBQUVtcEQsRUFBRSxDQUFDLE9BQU91RyxHQUFFMXZELEVBQUVtcEQsQ0FBQyxDQUFDLEVBQUUsU0FBU3BwRCxFQUFFQyxFQUFFbXBELEVBQUUsQ0FBQyxPQUFPdUcsR0FBRTF2RCxFQUFFbXBELENBQUMsQ0FBQyxFQUFFLFNBQVNwcEQsRUFBRUMsRUFBRSxDQUFDLE9BQU9ELEVBQUUsQ0FBQyxJQUMvNEIsR0FBRSxHQUFHLENBQUNDLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDdkIsR0FBRSxHQUFPQSxJQUFKLEVBQU0sTUFBTyxHQUFFLE1BQU0sSUFDMUIsR0FBRSxHQUFPQSxJQUFKLEVBQU0sTUFBTyxHQUFFLE1BQU0sSUFDMUIsR0FBRSxHQUFPQSxJQUFKLEVBQU0sTUFBTyxHQUFFLE1BQU0sUUFBUSxHQUFHLEdBQUdBLEVBQUUsTUFBTyxFQUFDLENBQUMsU0FDbkRtcEQsRUFBRXBwRCxFQUFFLENBQUMsT0FBT0EsRUFBRSxDQUFDLElBQ2YsR0FBRSxNQUFPLEdBQUUsSUFDWCxHQUFFLE1BQU8sR0FBRSxJQUNYLEdBQUUsTUFBTyxHQUFFLElBQ1gsR0FBRSxNQUFPLEdBQUUsUUFBUSxNQUFPLEVBQUMsQ0FBQyxDQUFDLElBQzdCcXBELEVBQUVELEVBQUVucEQsQ0FBQyxFQUFFLE9BQU95dkQsR0FBR3RHLEVBQUVwcEQsQ0FBQyxFQUFFcXBELENBQUMsQ0FBQyxFQUFFLFNBQVNycEQsRUFBRUMsRUFBRW1wRCxFQUFFLENBQUMsT0FBT3VHLEdBQUUxdkQsRUFBRW1wRCxDQUFDLENBQUMsRUFBRSxTQUFTcHBELEVBQUVDLEVBQUVtcEQsRUFBRSxDQUFDLE9BQU91RyxHQUFFMXZELEVBQUVtcEQsQ0FBQyxDQUFDLEVBQUUsU0FBU3BwRCxFQUFFQyxFQUFFbXBELEVBQUUsQ0FBQyxPQUFPdUcsR0FBRTF2RCxFQUFFbXBELENBQUMsQ0FBQyxFQUFFLFNBQVNwcEQsRUFBRUMsRUFBRW1wRCxFQUFFLENBQUMsT0FBT3VHLEdBQUUxdkQsRUFBRW1wRCxDQUFDLENBQUMsRUFBRSxTQUFTcHBELEVBQUVDLEVBQUVtcEQsRUFBRSxDQUFDLE9BQU9zRyxHQUFHenZELEVBQUVtcEQsQ0FBQyxDQUFDLEVBQUUsU0FBU3BwRCxFQUFFQyxFQUFFbXBELEVBQUUsQ0FBQyxPQUFPdUcsR0FBRTF2RCxFQUFFbXBELENBQUMsQ0FBQyxFQUFFLFNBQVNwcEQsRUFBRUMsRUFBRW1wRCxFQUFFLENBQUMsT0FBT3VHLEdBQUUxdkQsRUFBRW1wRCxDQUFDLENBQUMsRUFBRSxTQUFTcHBELEVBQUVDLEVBQUVtcEQsRUFBRSxDQUFDLE9BQU91RyxHQUFFMXZELEVBQUVtcEQsQ0FBQyxDQUFDLEVBQUUsU0FBU3BwRCxFQUFFQyxFQUFFbXBELEVBQUUsQ0FBQyxPQUFPdUcsR0FBRTF2RCxFQUFFbXBELENBQUMsQ0FBQyxFQUFFLFNBQVNwcEQsRUFBRUMsRUFBRW1wRCxFQUFFLENBQUMsT0FBT3VHLEdBQUUxdkQsRUFBRW1wRCxDQUFDLENBQUMsRUFBRSxTQUFTcHBELEVBQUVDLEVBQUVtcEQsRUFBRSxDQUFDLE9BQU91RyxHQUFFMXZELEVBQUVtcEQsQ0FBQyxDQUFDLEVBQUUsU0FBU3BwRCxFQUFFQyxFQUFFbXBELEVBQUUsQ0FBQyxPQUFPdUcsR0FBRTF2RCxFQUFFbXBELENBQUMsQ0FBQyxFQUFFLFNBQVNwcEQsRUFBRUMsRUFBRW1wRCxFQUFFLENBQUMsT0FBT3VHLEdBQUUxdkQsRUFBRW1wRCxDQUFDLENBQUMsRUFBRSxTQUFTcHBELEVBQUVDLEVBQUVtcEQsRUFBRSxDQUFDLE9BQU91RyxHQUFFMXZELEVBQUVtcEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQy9jMHhGLEdBQUc1MkQsSUFBRyxNQUFNLEVBQUUsU0FDZDYyRCxJQUFHLzZJLEVBQUUsQ0FDaUIsUUFBdEJDLEVBQUUsRUFBRW1wRCxFQUFFMHhGLEdBQUcsT0FBTyxFQUFFLEVBQUUsSUFBUyxDQUFDLEdBQUcxeEYsRUFBRW5wRCxFQUFFLE1BQU8sR0FBRSxJQUM5Q29wRCxFQUFFcHBELElBQUltcEQsRUFBRW5wRCxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUVxcEQsRUFBRXd4RixHQUFHLEVBQUV6eEYsQ0FBQyxFQUFFRSxFQUFFRCxFQUFFLENBQUMsRUFBRSxHQUFHdHBELEVBQUVzcEQsRUFBRSxDQUFDLEVBQUUsSUFDL0NGLEVBQUVDLEVBQUUsRUFBRSxNQUFNLENBQUMsR0FBR0UsRUFBRXZwRCxFQUFFLE1BQU8sR0FBRSxJQUM3QkMsRUFBRW9wRCxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUNWMnhGLElBQUcsRUFBRSxTQUNMQyxJQUFHajdJLEVBQUUsQ0FBQyxJQUNOQyxFQUFFRCxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFQyxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxDQUFDLEVBQUVELEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDbEhrN0ksSUFBR2w3SSxFQUFFLENBQUMsT0FBT0EsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FDckJtN0ksR0FBR243SSxFQUFFQyxFQUFFLENBQUMsT0FBT0QsSUFBSUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFRCxFQUFFQyxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxDQUFDLEVBQUVBLENBQUMsQ0FBQyxJQUM5RHk0SSxHQUFHLENBQUMsRUFBRSxTQUNOMEMsR0FBR3A3SSxFQUFFQyxFQUFFLENBQUMsR0FBRyxPQUNYRCxHQUFJLFNBQVMsQ0FBQyxJQUNkb3BELEVBQUVwcEQsRUFBRSxHQUFHLElBQUlvcEQsRUFBRSxHQUFHNW1DLElBQUk0bUMsRUFBRSxPQUFPQSxFQUFFLENBQUMsSUFDaEMsS0FBSSxHQUFHLE9BQ1BucEQsR0FBSSxVQUFVdWlCLEtBQUt2aUIsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUNwQyxLQUFJLEdBQUcsT0FDUEEsR0FBSSxVQUFVdzNDLEtBQUt4M0MsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUNwQyxLQUFJLEdBQUcsT0FDUEEsR0FBSSxVQUFVOG5ELEtBQUs5bkQsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUNwQyxLQUFJLEdBQUcsT0FDUEEsR0FBSSxVQUFVNnRDLEtBQUs3dEMsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUNwQyxLQUFJLEdBQUcsT0FDUEEsR0FBSSxVQUFVcXpCLEtBQUtyekIsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUNwQyxLQUFJLEdBQUcsT0FDUEEsR0FBSSxVQUFVK2tELEtBQUsva0QsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUNwQyxLQUFJLEdBQUcsT0FDUEEsR0FBSSxVQUFVaTZCLEtBQUtqNkIsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUNwQyxLQUFJLEdBQUcsT0FDUEEsR0FBSSxVQUFVMGlELEtBQUsxaUQsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUNwQyxLQUFJLEdBQUcsT0FDUEEsR0FBSSxVQUFVcUYsS0FBS3JGLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVTIxQyxLQUFLMzFDLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVW05QixLQUFLbjlCLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVTYvQyxLQUFLNy9DLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVXk4QixLQUFLejhCLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVWs4QixLQUFJbDhCLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDbkMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVWl0QyxLQUFLanRDLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVWk3QyxLQUFLajdDLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVXVsRCxLQUFLdmxELEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVThtQyxLQUFLOW1DLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVW1pQixLQUFLbmlCLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVThrQyxLQUFLOWtDLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVTQ4QyxLQUFLNThDLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVXdQLEtBQUt4UCxFQUFFLE1BQU8sR0FBRSxNQUFNLElBQ3BDLEtBQUksR0FBRyxPQUNQQSxHQUFJLFVBQVV5K0IsS0FBS3orQixFQUFFLE1BQU8sR0FBRSxNQUFNLElBQ3BDLEtBQUksR0FBRyxPQUNQQSxHQUFJLFVBQVVxa0MsS0FBS3JrQyxFQUFFLE1BQU8sR0FBRSxNQUFNLElBQ3BDLEtBQUksR0FBRyxPQUNQQSxHQUFJLFVBQVVzZCxLQUFLdGQsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUNwQyxLQUFJLEdBQUcsT0FDUEEsR0FBSSxVQUFVc3RCLEtBQUt0dEIsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUNwQyxLQUFJLEdBQUcsT0FDUEEsR0FBSSxVQUFVMi9CLEtBQUszL0IsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUNwQyxLQUFJLEdBQUcsT0FDUEEsR0FBSSxVQUFVZzJDLEtBQUtoMkMsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUNwQyxLQUFJLEdBQUcsT0FDUEEsR0FBSSxVQUFVbWEsS0FBS25hLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVXVrRCxLQUFLdmtELEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVXNpQyxLQUFLdGlDLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVXkzQixLQUFLejNCLEVBQUUsTUFBTyxHQUFFLE1BQU0sUUFBUSxHQUFHLE9BQy9DQSxHQUFJLFVBQVVrckIsSUFBSWxyQixFQUFFLE1BQU8sRUFBQyxLQUM1QixRQUFPbXBELEVBQUUsQ0FBQyxJQUNWLElBQUcsR0FBRyxPQUNObnBELEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sUUFBUSxHQUFHLE9BQy9DQSxHQUFJLFVBQVVtakIsS0FBS25qQixFQUFFLE1BQU8sRUFBQyxTQUFTLElBQUltcEQsRUFBRSxPQUFPQSxFQUFFLENBQUMsSUFDdEQsSUFBRyxHQUFHLE9BQ05ucEQsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUks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QU0sSUFDdkIsR0FBRSxHQUFPQSxJQUFKLEVBQU0sTUFBTyxHQUFFLE1BQU0sUUFBUSxHQUFHLEdBQUdBLEVBQUUsTUFBTyxFQUFDLENBQUMsTUFBTyxFQUFDLENBQUNELEdBQUUwNEksR0FBRyxDQUFDLEVBQUU0QyxJQUFHRCxJQUFHLFNBQVNyN0ksRUFBRUMsRUFBRSxDQUFDLEdBQUdELEdBQUcsR0FBR0MsRUFBRSxNQUFPLFdBQVUsQ0FBQ0EsRUFBRSxNQUFPLEdBQUUsTUFBTyxFQUFDLEVBQUU0NkksR0FBR0EsR0FBR0EsR0FBR0EsR0FBR0EsR0FBR0EsR0FBR0EsR0FBR0EsR0FBR1MsSUFBR0QsR0FBRSxDQUFDLEVBQUUsU0FDMUtFLElBQUd2N0ksRUFBRSxDQUFDLEdBQUcsT0FDVEEsR0FBSSxTQUFTLE9BQU9BLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFDMUIsR0FBRSxPQUFPODJGLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsUUFBUSxPQUFPQyxHQUFFLENBQUMsSUFDL0IxM0YsRUFBRUQsRUFBRSxHQUFHLElBQUlDLEVBQUUsQ0FBQyxHQUFHdWlCLElBQUl2aUIsRUFBRSxPQUFPQSxFQUFFLENBQUMsSUFDakMsS0FBSSxPQUFPNDBGLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsUUFBUSxPQUFPQyxHQUFFLENBQUMsT0FBTzUyRixFQUFFLENBQUMsSUFDMUMsSUFBRyxPQUFPMHlGLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsUUFBUSxPQUFPQyxHQUFFLENBQUMsQ0FBQyxHQUFHLElBQUkzMEYsRUFBRSxPQUFPQSxFQUFFLENBQUMsSUFDbkQsSUFBRyxPQUFPeXdGLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsUUFBUSxPQUFPQyxHQUFFLENBQUMsT0FBT3p5RixFQUFFLENBQUMsSUFDekMsR0FBRSxPQUFPdXVGLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsUUFBUSxPQUFPQyxHQUFFLENBQUMsQ0FBQyxTQUNoQytxRCxJQUFHeDdJLEVBQUUsQ0FBQyxHQUFHLE9BQ1RBLEdBQUksU0FBUyxPQUFPQSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQzFCLEdBQUUsT0FBT0EsRUFBRSxDQUFDLEVBQUUsSUFDZCxHQUFFLE9BQU9BLEVBQUUsQ0FBQyxFQUFFLElBQ2QsR0FBRSxPQUFPQSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFDakIsR0FBRSxJQUNGcXBELEVBQUVycEQsRUFBRSxDQUFDLEVBQUVzcEQsRUFBRUQsRUFBRSxDQUFDLEVBQUVFLEVBQUVGLEVBQUUsQ0FBQyxFQUFFRCxFQUFFQyxFQUFFLENBQUMsRUFBRSxPQUFHRSxHQUFHRCxFQUFTNlEsR0FBRTB6QixJQUFHMXpCLEdBQUUvUSxFQUFFd2tDLEdBQUUsQ0FBQyxFQUFTcmtDLEVBQUU0USxHQUFFNHpCLElBQUc1ekIsR0FBRS9RLEVBQUUwa0MsR0FBRSxDQUFDLEVBQUV4a0MsRUFBRTZRLEdBQUU4ekIsSUFBRzl6QixHQUFFL1EsRUFBRTRrQyxHQUFFLENBQUMsRUFBRTd6QixHQUFFZzBCLElBQUdoMEIsR0FBRS9RLEVBQUU4a0MsR0FBRSxDQUFDLEVBQUUsSUFDOUcsR0FBRSxPQUFPbHVGLEVBQUUsQ0FBQyxFQUFFLElBQ2QsR0FBRSxJQUNGa3JELEVBQUVsckQsRUFBRSxDQUFDLEVBQUUsT0FBT202RCxHQUFFazBCLElBQUdsMEIsR0FBRWpQLEVBQUVpUCxHQUFFaTBCLElBQUdwdUYsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDcEMsR0FBRSxPQUFPQSxFQUFFLENBQUMsRUFBRSxJQUNkLEdBQUUsT0FBT0EsRUFBRSxDQUFDLEVBQUUsSUFDZCxHQUFFLE9BQU9BLEVBQUUsQ0FBQyxFQUFFLElBQ2QsR0FBRSxPQUFPQSxFQUFFLENBQUMsRUFBRSxJQUNkLElBQUcsT0FBT0EsRUFBRSxDQUFDLEVBQUUsSUFDZixJQUFHLE9BQU9BLEVBQUUsQ0FBQyxFQUFFc3VGLElBQUdDLElBQUcsSUFDckIsSUFBRyxPQUFPdnVGLEVBQUUsQ0FBQyxFQUFFLFFBQVEsT0FBT0EsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUNuQ0MsRUFBRUQsRUFBRSxHQUFHLElBQUlDLEVBQUUsQ0FBQyxHQUFHdWlCLElBQUl2aUIsRUFBRSxPQUFPQSxFQUFFLENBQUMsSUFDakMsS0FBSSxPQUFPMHJGLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsSUFDZCxLQUFJLE9BQU9DLElBQUcsUUFBUSxPQUFPQyxHQUFFLENBQUMsT0FBTzF0RixFQUFFLENBQUMsSUFDMUMsSUFBRyxPQUFPd3BGLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsUUFBUSxPQUFPQyxHQUFFLENBQUMsQ0FBQyxHQUFHLElBQUl6ckYsRUFBRSxPQUFPQSxFQUFFLENBQUMsSUFDbkQsSUFBRyxPQUFPdW5GLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsUUFBUSxPQUFPQyxHQUFFLENBQUMsT0FBT3ZwRixFQUFFLENBQUMsSUFDekMsR0FBRSxPQUFPcWxGLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixHQUFFLE9BQU9DLElBQUcsSUFDWixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9BQU9DLElBQUcsSUFDYixJQUFHLE9B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RUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFLElBQ2pCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFLElBQ2pCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFLElBQ2pCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFLElBQ2pCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUVvakIsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVwakIsRUFBRSxFQUFFLEVBQUUsSUFDbEIsSUFBRyxNQUFNLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUUsSUFDbEIsSUFBRyxNQUFNLENBQUMsRUFBRUEsRUFBRWs2QixFQUFFLEVBQUUsSUFDbEIsSUFBRyxNQUFNLENBQUMsRUFBRWw2QixFQUFFLEVBQUUsRUFBRSxJQUNsQixJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUNsQixJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUNsQixJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUNsQixJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUNsQixJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUNsQixJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUNsQixJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFOHRDLEVBQUUsRUFBRSxJQUNsQixJQUFHLE1BQU0sQ0FBQyxFQUFFOXRDLEVBQUVzekIs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ejNDLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUVvakIsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVwakIsRUFBRTh0QyxFQUFFLEVBQUUsSUFDbEIsSUFBRyxNQUFNLENBQUMsRUFBRTl0QyxFQUFFc3pCLEVBQUUsRUFBRSxJQUNsQixJQUFHLE1BQU0sQ0FBQyxFQUFFdHpCLEVBQUVrNkIsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUVsNkIsRUFBRTJpRCxFQUFFLEVBQUUsSUFDbEIsSUFBRyxNQUFNLENBQUMsRUFBRTNpRCxFQUFFc0YsRUFBRSxFQUFFLElBQ2xCLElBQUcsTUFBTSxDQUFDLEVBQUV0RixFQUFFLEVBQUUsRUFBRSxJQUNsQixJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUNsQixJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUNsQixJQUFHLE1B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LEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FDNU00aEosR0FBRzdoSixFQUFFQyxFQUFFLENBQUMsT0FBT0QsSUFBSUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFRCxFQUFFQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUM1TTZoSixJQUFHOWhKLEVBQUVDLEVBQUUsQ0FBQyxPQUFPRCxJQUFJQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUQsRUFBRUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQzVNOGhKLEdBQUcvaEosRUFBRUMsRUFBRSxDQUFDLE9BQU9ELElBQUlDLEVBQUUsRUFBRSxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUQsRUFBRUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FDNU0raEosSUFBR2hpSixFQUFFQyxFQUFFLENBQUMsT0FBT0QsSUFBSUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUQsRUFBRUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUM1TWdpSixHQUFHamlKLEVBQUVDLEVBQUUsQ0FBQyxPQUFPRCxJQUFJQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVELEVBQUVDLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQzVNaWlKLEdBQUdsaUosRUFBRUMsRUFBRSxDQUFDLE9BQU9ELElBQUlDLEVBQUUsRUFBRSxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVELEVBQUVDLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FDNU1raUosR0FBR25pSixFQUFFQyxFQUFFLENBQUMsT0FBT0QsSUFBSUMsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUQsRUFBRUMsRUFBRSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUM1TW1pSixHQUFHcGlKLEVBQUVDLEVBQUUsQ0FBQyxPQUFPRCxJQUFJQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUQsRUFBRUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQzVNb2lKLEdBQUdyaUosRUFBRUMsRUFBRSxDQUFDLE9BQU9ELElBQUlDLEVBQUUsRUFBRSxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFRCxFQUFFQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FDNU1xaUosR0FBR3RpSixFQUFFQyxFQUFFLENBQUMsT0FBT0QsSUFBSUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFRCxFQUFFQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUM1TXNpSixJQUFHdmlKLEVBQUVDLEVBQUUsQ0FBQyxPQUFPRCxJQUFJQyxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUQsRUFBRUMsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQzVNdWlKLElBQUd4aUosRUFBRUMsRUFBRSxDQUFDLE9BQU9ELElBQUlDLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUQsRUFBRUMsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FDNU13aUosSUFBR3ppSixFQUFFQyxFQUFFLENBQUMsT0FBT0QsSUFBSUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFRCxFQUFFQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUM1TXlpSixHQUFHMWlKLEVBQUVDLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVB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RyxFQUFFLElBQ2QsSUFBRyxJQUNIQyxFQUFFaXhHLElBQUksTUFBTWx4RyxFQUFFLElBQ2QsSUFBRyxJQUNIQyxFQUFFa3hHLElBQUksTUFBTW54RyxFQUFFLElBQ2QsSUFBRyxJQUNIQyxFQUFFbXhHLElBQUksTUFBTXB4RyxFQUFFLElBQ2QsSUFBRyxJQUNIQyxFQUFFb3hHLElBQUksTUFBTXJ4RyxFQUFFLElBQ2QsSUFBRyxJQUNIQyxFQUFFcXhHLElBQUksTUFBTXR4RyxFQUFFLElBQ2QsSUFBRyxJQUNIQyxFQUFFc3hHLElBQUksTUFBTXZ4RyxFQUFFLElBQ2QsSUFBRyxJQUNIQyxFQUFFdXhHLElBQUksTUFBTXh4RyxFQUFFLElBQ2QsSUFBRyxJQUNIQyxFQUFFd3hHLElBQUksTUFBTXp4RyxFQUFFLElBQ2QsSUFBRyxJQUNIQyxFQUFFeXhHLElBQUksTUFBTTF4RyxFQUFFLElBQ2QsSUFBRyxJQUNIQyxFQUFFMHhHLElBQUksTUFBTTN4RyxFQUFFLElBQ2QsSUFBRyxJQUNIQyxFQUFFMnhHLElBQUksTUFBTTV4RyxFQUFFLElBQ2QsS0FBSSxJQUNKQyxFQUFFNHhHLElBQUksTUFBTTd4RyxFQUFFLElBQ2QsS0FBSSxJQUNKQyxFQUFFNnhHLElBQUksTUFBTTl4RyxFQUFFLElBQ2QsS0FBSSxJQUNKQyxFQUFFOHhHLElBQUksTUFBTS94RyxFQUFFLElBQ2QsS0FBSSxJQUNKQyxFQUFFK3hHLElBQUksTUFBTWh5RyxFQUFFLElBQ2QsS0FBSSxJQUNKQyxFQUFFZ3lHLElBQUksTUFBTWp5RyxFQUFFLElBQ2QsS0FBSSxJQUNKQyxFQUFFaXlHLElBQUksTUFBTWx5RyxFQUFFLElBQ2QsS0FBSSxJQUNKQyxFQUFFa3lHLElBQUksTUFBTW55RyxFQUFFLElBQ2QsS0FBSSxJQUNKQyxFQUFFbXlHLElBQUksTUFBTXB5RyxFQUFFLElBQ2QsS0FBSSxJQUNKQyxFQUFFb3lHLElBQUksTUFBTXJ5RyxFQUFFLElBQ2QsS0FBSSxJQUNKQyxFQUFFcXlHLElBQUksTUFBTXR5RyxFQUFFLElBQ2QsS0FBSSxJ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SUFDdkIsSUFBRyxHQUFHLE9BQ045dEQsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVW1qQixLQUFLbmpCLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVXVpQixLQUFLdmlCLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVXczQyxLQUFLeDNDLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVThuRCxLQUFLOW5ELEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVTZ0QyxLQUFLN3RDLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVXF6QixLQUFLcnpCLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVStrRCxLQUFLL2tELEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVWk2QixLQUFLajZCLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVTBpRCxLQUFLMWlELEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFDcEMsS0FBSSxHQUFHLE9BQ1BBLEdBQUksVUFBVXFGLEtBQUtyRixFQUFFLE1BQU8sR0FBRSxNQUFNLElBQ3BDLEtBQUksR0FBRyxPQUNQQSxHQUFJLFVBQVUyMUMsS0FBSzMxQyxFQUFFLE1BQU8sR0FBRSxNQUFNLElBQ3BDLEtBQUksR0FBRyxPQUNQQSxHQUFJLFVBQVVtOUIsS0FBS245QixFQUFFLE1BQU8sR0FBRSxNQUFNLElBQ3BDLEtBQUksR0FBRyxPQUNQQSxHQUFJLFVBQVU2L0MsS0FBSzcvQyxFQUFFLE1BQU8sR0FBRSxNQUFNLFFBQVEsR0FBRyxPQUMvQ0EsR0FBSSxVQUFVeThCLElBQUl6OEIsRUFBRSxNQUFPLEVBQUMsS0FDNUIsUUFBTzh0RCxFQUFFLENBQUMsSUFDVixHQUFFLEdBQUcsT0FDTDl0RCxHQUFJLFVBQVUsQ0FBQ0EsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUNoQyxHQUFFLEdBQUcsT0FDTEEsR0FBSSxVQUFjQSxJQUFKLEVBQU0sTUFBTyxHQUFFLE1BQU0sSUFDbkMsR0FBRSxHQUFHLE9BQ0xBLEdBQUksVUFBY0EsSUFBSixFQUFNLE1BQU8sR0FBRSxNQUFNLElBQ25DLEdBQUUsR0FBRyxPQUNMQSxHQUFJLFVBQWNBLElBQUosRUFBTSxNQUFPLEdBQUUsTUFBTSxJQUNuQyxHQUFFLEdBQUcsT0FDTEEsR0FBSSxVQUFjQSxJQUFKLEVBQU0sTUFBTyxHQUFFLE1BQU0sSUFDbkMsR0FBRSxHQUFHLE9BQ0xBLEdBQUksVUFBY0EsSUFBSixFQUFNLE1BQU8sR0FBRSxNQUFNLElBQ25DLEdBQUUsR0FBRyxPQUNMQSxHQUFJLFVBQWNBLElBQUosRUFBTSxNQUFPLEdBQUUsTUFBTSxJQUNuQyxHQUFFLEdBQUcsT0FDTEEsR0FBSSxVQUFjQSxJQUFKLEVBQU0sTUFBTyxHQUFFLE1BQU0sSUFDbkMsR0FBRSxHQUFHLE9BQ0xBLEdBQUksVUFBY0EsSUFBSixFQUFNLE1BQU8sR0FBRSxNQUFNLElBQ25DLEdBQUUsR0FBRyxPQUNMQSxHQUFJLFVBQWNBLElBQUosRUFBTSxNQUFPLEdBQUUsTUFBTSxJQUNuQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFBRyxHQUFHLE9BQ05BLEdBQUksVUFBZUEsSUFBTCxHQUFPLE1BQU8sR0FBRSxNQUFNLElBQ3BDLElBQUcsR0FBRyxPQUNOQSxHQUFJLFVBQWVBLElBQUwsR0FBTyxNQUFPLEdBQUUsTUFBTSxJQUNwQyxJQUFHLEdBQUcsT0FDTkEsR0FBSSxVQUFlQSxJQUFMLEdBQU8sTUFBTyxHQUFFLE1BQU0sSUFDcEMsSUFB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QSxJQUFJLFNBQVMsT0FBT0EsR0FBRSxDQUFDLEVBQUUsQ0FBQyxJQUMxQixHQUFFLE1BQU8sSUFBRyxJQUNaLEdBQUUsTUFBTyxJQUFHLElBQ1osR0FBRSxNQUFPLElBQUcsSUFDWixHQUFFLE1BQU8sSUFBRyxJQUNaLEdBQUUsTUFBTyxJQUFHLElBQ1osR0FBRSxNQUFPLElBQUcsSUFDWixHQUFFLE1BQU8sSUFBRyxJQUNaLEdBQUUsTUFBTyxJQUFHLElBQ1osR0FBRSxNQUFPLElBQUcsSUFDWixHQUFFLE1BQU8sSUFBRyxJQUNaLElBQUcsTUFBTyxJQUFHLElBQ2IsSUFBRyxNQUFPLElBQUcsSUFDYixJQUFHLE1BQU8sSUFBRyxJQUNiLElBQUcsTUFBTyxJQUFHLElBQ2IsSUFBRyxNQUFPLElBQUcsSUFDYixJQUFHLE1BQU8sSUFBRyxJQUNiLElBQUcsTUFBTyxJQUFHLElBQ2IsSUFBRyxNQUFPLElBQUcsSUFDYixJQUFHLE1BQU8sSUFBRyxJQUNiLElBQUcsTUFBTyxJQUFHLElBQ2IsSUFBRyxNQUFPLElBQUcsSUFDYixJQUFHLE1BQU8sSUFBRyxJQUNiLElBQUcsTUFBTyxJQUFHLElBQ2IsSUFBRyxNQUFPLElBQUcsSUFDYixJQUFHLE9BQU9zRixHQUFHLElBQ2IsSUFBRyxPQUFPa2dELEdBQUcsSUFDYixJQUFHLE9BQU96ZSxHQUFHLElBQ2IsSUFBRyxPQUFPM3NCLEdBQUcsSUFDYixJQUFHLE9BQU9uTCxHQUFHLFFBQVEsT0FBT3ExQyxFQUFFLENBQUMsSUFDL0Jya0QsR0FBRUQsR0FBRSxHQUFHLElBQUlDLEdBQUUsT0FBT0EsR0FBRSxDQUFDLElBQ3ZCLElBQUcsTUFBTyxJQUFHLElBQ2IsSUFBRyxNQUFPLElBQUcsSUFDYixJQUFHLE1BQU8sSUFBRyxJQUNiLElBQUcsTUFBTyxJQUFHLElBQ2IsSUFBRyxNQUFPLElBQUcsSUFDYixJQUFHLE1BQU8sSUFBRyxJQUNiLElBQUcsTUFBTyxJQUFHLElBQ2IsSUFBRyxNQUFPLElBQUcsSUFDYixJQUFHLE1BQU8sSUFBRyxJQUNiLElBQUcsTUFB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LElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLEtBQUksT0FBT0MsSUFBRyxJQUNkLEtBQUksT0FBT0MsSUFBRyxJQUNkLEtBQUksT0FBT0MsSUFBRyxJQUNkLEtBQUksT0FBT0MsSUFBRyxJQUNkLEtBQUksT0FBT0MsSUFBRyxJQUNkLEtBQUksT0FBT0MsSUFBRyxJQUNkLEtBQUksT0FBT0MsSUFBRyxJQUNkLEtBQUksT0FBT0MsSUFBRyxJQUNkLEtBQUksT0FBT0MsSUFBRyxJQUNkLEtBQUksT0FBT0MsSUFBRyxJQUNkLEtBQUksT0FBT0MsSUFBRyxJQUNkLEtBQUksT0FBT0MsSUFBRyxJQUNkLEtBQUksT0FBT0MsSUFBRyxRQUFRLE9BQU9DLEdBQUUsQ0FBQyxPQUFPNXlCLEVBQUUsQ0FBQyxJQUMxQyxHQUFFLE9BQU95ckIsSUFBRyxJQUNaLEdBQUUsT0FBT0MsSUFBRyxJQUNaLEdBQUUsT0FBT0MsSUFBRyxJQUNaLEdBQUUsT0FBT0MsSUFBRyxJQUNaLEdBQUUsT0FBT0MsSUFBRyxJQUNaLEdBQUUsT0FBT0MsSUFBRyxJQUNaLEdBQUUsT0FBT0MsSUFBRyxJQUNaLEdBQUUsT0FBT0MsSUFBRyxJQUNaLEdBQUUsT0FBT0MsSUFBRyxJQUNaLEdBQUUsT0FBT0MsSUFBRyxJQUNaLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBTzdmLEdBQUUrZixJQUFHRCxHQUFFLEVBQUUsSUFDbkIsSUFBRyxPQUFPRSxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPQyxJQUFHLElBQ2IsSUFBRyxPQUFPamhCLEdBQUVtaEIsSUFBR0QsR0FBRSxFQUFFLElBQ25CLElBQUcsT0FBT0UsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxJQUNiLElBQUcsT0FBT0MsSUFBRyxRQUFRLE9BQU9DLEdBQUUsQ0FBQyxDQUFDLE9BQU9oOUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUM3QyxHQUFFLElBQ0YyeEQsRUFBRTN4RCxFQUFFLENBQUMsRUFBRSxPQUFPNHJELEVBQUV1WCxHQUFFdWQsR0FBRSxFQUFFL3VCLENBQUMsRUFBRSxJQUN6QixHQUFFLElBQ0YxSCxFQUFFanFELEVBQUUsQ0FBQyxFQUFFLE9BQU80ckQsRUFBRXVYLEdBQUV3ZCxHQUFFLEVBQUUxMkIsQ0FBQyxFQUFFLElBQ3pCLEdBQUUsSUFDRndQLEVBQUV6NUQsRUFBRSxDQUFDLEVBQUVnNUIsRUFBRWg1QixFQUFFLENBQUMsRUFBRSxPQUFPaXNELEVBQUVrWCxHQUFFeWQsR0FBRSxFQUFFbm5CLEVBQUV6Z0MsQ0FBQyxFQUFFLElBQ2xDLEdBQUUsSUFDRnExQixFQUFFcnVELEVBQUUsQ0FBQyxFQUFFMDVELEVBQUUxNUQsRUFBRSxDQUFDLEVBQUUsT0FBT2k0RCxHQUFFa0wsR0FBRTBkLEdBQUUsRUFBRXh5QixFQUFFQSxFQUFFcUwsQ0FBQyxFQUFFLElBQ3BDLEdBQUUsSUFDRi9KLEVBQUUzdkQsRUFBRSxDQUFDLEVBQUUyNUQsRUFBRTM1RCxFQUFFLENBQUMsRUFBRSxPQUFPaXNELEVBQUVrWCxHQUFFMmQsR0FBRSxFQUFFbnhCLEVBQUVnSyxDQUFDLEVBQUUsSUFDbEMsR0FBRSxJQUNGQyxFQUFFNTVELEVBQUUsQ0FBQyxFQUFFLE9BQU80ckQsRUFBRXVYLEdBQUU0ZCxHQUFFLEVBQUVubkIsQ0FBQyxFQUFFLElBQ3pCLEdBQUUsT0FBTzU1RCxFQUFFLENBQUMsRUFBRWdoRixJQUFHQyxJQUFHLElBQ3BCLEdBQUUsSUFDRjF5QixFQUFFdnVELEVBQUUsQ0FBQyxFQUFFNjVELEVBQUU3NUQsRUFBRSxDQUFDLEVBQUVzdUQsRUFBRTFDLEVBQUV1WCxHQUFFK2QsR0FBRSxFQUFFcm5CLENBQUMsRUFBRSxHQUFHLENBQUN0TCxFQUFFLE9BQU8zQyxFQUFFdVgsR0FBRWllLEdBQUUsRUFBRTl5QixDQUFDLEVBQUUsSUFDbkRvRCxHQUFFbkQsRUFBRSxDQUFDLEVBQUUsT0FBT3RDLEVBQUVrWCxHQUFFZ2UsR0FBRSxFQUFFenZCLEdBQUVwRCxDQUFDLEVBQUUsSUFDM0IsR0FBRSxJQUNGTixHQUFFaHVELEVBQUUsQ0FBQyxFQUFFLE9BQU9pc0QsRUFBRWtYLEdBQUVrZSxHQUFFLEVBQUVyekIsR0FBRUEsRUFBQyxFQUFFLElBQzNCLEdBQUUsSUFDRjNFLEdBQUVycEQsRUFBRSxDQUFDLEVBQUVxekQsR0FBRXJ6RCxFQUFFLENBQUMsRUFBRXNwRCxHQUFFdHBELEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQ3F6RCxHQUFFLE9BQU9wSCxFQUFFa1gsR0FBRXFlLEdBQUUsRUFBRW40QixHQUFFQyxFQUFDLEVBQUUsSUFDL0N3RSxHQUFFdUYsR0FBRSxDQUFDLEVBQUUsR0FBT3ZGLEtBQUosRUFBTSxPQUFPN0IsRUFBRWtYLEdBQUVvZSxHQUFFLEVBQUVsNEIsR0FBRUMsRUFBQyxFQUFFLE9BQU93RSxHQUFFLENBQUMsSUFDOUMsR0FBRSxJQUNGN3RELEdBQUVrMEUsSUFBRyxNQUFNLElBQ1gsR0FBRSxJQUNGbDBFLEdBQUVtMEUsSUFBRyxNQUFNLElBQ1gsR0FBRSxJQUNGbjBFLEdBQUVvMEUsSUFBRyxNQUFNLElBQ1gsR0FBRSxJQUNGcDBFLEdBQUVxMEUsSUFBRyxNQUFNLFFBQVEsSUFDbkJyMEUsR0FBRXMwRSxHQUFFLENBQUMsT0FBT3JjLEdBQUdpTCxHQUFFbWUsR0FBRSxFQUFFaDRCLEdBQUVycEQsR0FBRW9wRCxHQUFFcHBELEVBQUMsRUFBRSxJQUM5QixJQUFHLElBQ0htdUQsR0FBRXB1RCxFQUFFLENBQUMsRUFBRTg1RCxHQUFFOTVELEVBQUUsQ0FBQyxFQUFFbzZELEdBQUU0QyxJQUFHNU8sRUFBQyxFQUFFLE9BQU82SixHQUFFa0wsR0FBRXNlLEdBQUUsRUFBRXJ6QixHQUFFZ00sR0FBRU4sRUFBQyxFQUFFLElBQzVDLElBQUcsSUFDSGdKLEdBQUU5aUUsRUFBRSxDQUFDLEVBQUVneEQsR0FBRWh4RCxFQUFFLENBQUMsRUFBRSxPQUFPaXNELEVBQUVrWCxHQUFFdWUsR0FBRSxFQUFFNWUsR0FBRTlSLEVBQUMsRUFBRSxJQUNsQyxJQUFHLElBQ0hxQixHQUFFcnlELEVBQUUsQ0FBQyxFQUFFLE9BQU80ckQsRUFBRXVYLEdBQUV3ZSxHQUFFLEVBQUV0dkIsRUFBQyxFQUFFLElBQ3pCLElBQUcsSUFDSDBRLEdBQUUvaUUsRUFBRSxDQUFDLEVBQUUsT0FBTzRyRCxFQUFFdVgsR0FBRXllLEdBQUUsRUFBRTdlLEVBQUMsRUFBRSxJQUN6QixJQUFHLE9BQU8vaUUsRUFBRSxDQUFDLEVBQUVtNkQsR0FBRTJuQixJQUFHRCxHQUFFLEVBQUUxbkIsR0FBRTZuQixJQUFHRCxHQUFFLEVBQUUsSUFDakMsSUFBRyxJQUNINXpCLEdBQUVudUQsRUFBRSxDQUFDLEVBQUUrK0QsR0FBRS8rRCxFQUFFLENBQUMsRUFBRWdqRSxHQUFFaGpFLEVBQUUsQ0FBQyxFQUFFa2pFLEdBQUVsakUsRUFBRSxDQUFDLEVBQUVpaUYsSUFBR0MsSUFBRzllLEdBQUVKLEdBQUVtZixJQUFHQyxJQUFHL2UsR0FBRXRFLEdBQUU1RSxHQUFFa29CLElBQUdsMEIsRUFBQyxFQUFFQSxHQUFFLE9BQU84SixHQUFFa0wsR0FBRW1mLEdBQUUsRUFBRXBmLEdBQUVFLEdBQUVDLEVBQUMsRUFBRSxJQUNoRixJQUFHLE9BQU9rZixJQUFHLElBQ2IsSUFBRyxJQUNIaDVCLEdBQUV2cEQsRUFBRSxDQUFDLEVBQUVzakUsR0FBRXRqRSxFQUFFLENBQUMsRUFBRW9wRCxHQUFFOFQsSUFBRyxHQUFHM1QsRUFBQyxFQUFFLEdBQUdILEdBQUUsSUFDOUIyRSxHQUFFM0UsR0FBRSxDQUFDLEVBQUU2RSxHQUFFN0UsR0FBRSxDQUFDLEVBQUUyVCxJQUFHc2MsSUFBRyxDQUFDLEVBQUV0ckIsR0FBRTJOLEdBQUdzQixJQUFHNVQsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUyRSxPQUN2QyxLQUNBRSxHQUFFMUUsR0FBRSxJQUNKcHRCLEdBQUVtbkMsR0FBRWtmLElBQUdDLElBQUcsT0FBT3hxQixHQUFFa0wsR0FBRXVmLEdBQUUsRUFBRW41QixHQUFFMEUsR0FBRTl4QixFQUFDLEVBQUUsSUFDaEMsSUFBRyxJQUNIb25DLEdBQUV2akUsRUFBRSxDQUFDLEVBQUUyaUYsSUFBR0MsSUFBRyxPQUFPaDNCLEVBQUV1WCxHQUFFMGYsR0FBRSxFQUFFdGYsRUFBQyxFQUFFLElBQy9CLElBQUcsSUFDSHZNLEdBQUVoM0QsRUFBRSxDQUFDLEVBQUUsT0FBTzRyRCxFQUFFdVgsR0FBRTJmLEdBQUUsRUFBRTlyQixFQUFDLEVBQUUsSUFDekIsSUFBRyxJQUNINkIsR0FBRXA3QixJQUFJejlCLEVBQUUsQ0FBQyxFQUFFK2lGLElBQUdDLElBQUcsT0FBT3AzQixFQUFFdVgsR0FBRThmLEdBQUUsRUFBRXBxQixFQUFDLEVBQUUsSUFDbkMsSUFBRyxJQUNINUUsR0FBRWowRCxFQUFFLENBQUMsRUFBRSxPQUFPNHJELEVBQUV1WCxHQUFFK2YsR0FBRSxFQUFFanZCLEVBQUMsRUFBRSxJQUN6QixJQUFHLElBQ0h1UCxHQUFFeGpFLEVBQUUsQ0FBQyxFQUFFLE9BQU80ckQsRUFBRXVYLEdBQUVnZ0IsR0FBRSxFQUFFM2YsRUFBQyxFQUFFLElBQ3pCLElBQUcsSUFDSEMsR0FBRXpqRSxFQUFFLENBQUMsRUFBRTBqRSxHQUFHMWpFLEVBQUUsQ0FBQyxFQUFFLE9BQU9pc0QsRUFBRWtYLEdBQUVpZ0IsR0FBRSxFQUFFMWYsR0FBR0QsRUFBQyxFQUFFLElBQ3BDLElBQUcsSUFDSHZWLEdBQUVsdUQsRUFBRSxDQUFDLEVBQUUsR0FBR2taLEtBQUtnMUMsR0FBRSxJQUNqQnZDLEdBQUU4M0IsSUFBR3Y0QixHQUFFdzRCLFlBQVcxd0MsSUFBSWtiLEdBQUUsSUFDeEJ2QyxHQUFFMDNCLElBQUduNEIsR0FBRW80QixRQUNQLEtBQ0EzM0IsR0FBRTQzQixJQUFHcjRCLEdBQUVzNEIsSUFBRyxPQUFPdjNCLEVBQUVrWCxHQUFFd2dCLEdBQUUsRUFBRXo0QixHQUFFUyxFQUFDLEVBQUUsSUFDOUIsSUFBRyxJQUNIL3JCLEdBQUc1L0IsRUFBRSxDQUFDLEVBQUUsT0FBTzRyRCxFQUFFdVgsR0FBRXlnQixHQUFFLEVBQUVoa0QsRUFBRSxFQUFFLElBQzNCLElBQUcsSUFDSCtzQixHQUFHM3NELEVBQUUsQ0FBQyxFQUFFLE9BQU80ckQsRUFBRXVYLEdBQUUwZ0IsR0FBRSxFQUFFbDNCLEVBQUUsRUFBRSxJQUMzQixJQUFHLElBQ0g4UixHQUFHeitELEVBQUUsQ0FBQyxFQUFFRSxHQUFHRixFQUFFLENBQUMsRUFBRSxPQUFPaXNELEVBQUVrWCxHQUFFMmdCLEdBQUUsRUFBRTVqRixHQUFHdStELEVBQUUsRUFBRSxJQUN0QyxJQUFHLElBQ0hrRixHQUFHM2pFLEVBQUUsQ0FBQyxFQUFFMm9FLEdBQUczb0UsRUFBRSxDQUFDLEVBQUUsT0FBT2lzRCxFQUFFa1gsR0FBRTRnQixHQUFFLEVBQUVwYixHQUFHaEYsRUFBRSxFQUFFLFFBQVEsSUFDOUNyaUIsR0FBR3RoRCxFQUFFLENBQUMsRUFBRSxPQUFPNHJELEVBQUV1WCxHQUFFNmdCLEdBQUUsRUFBRTFpQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQzVCeTNHLElBQUkvNEosRUFBRUMsRUFBRSxDQUFDLElBQ1RtcEQsRUFBRXBwRCxFQUFFLENBQUMsRUFBRSxTQUNQc3BELEVBQUV0cEQsR0FBRSxDQUFDLE9BQU8yM0ksR0FBRzMzSSxHQUFFQyxDQUFDLENBQUMsQ0FBQyxJQUNwQm9qRSxFQUFFcmpFLEVBQUUsQ0FBQyxFQUFFLE9BQU9vcEQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUNwQixHQUFFLElBQ0YyVixFQUFFM1YsRUFBRSxDQUFDLEVBQUVrYSxFQUFFbTNFLEdBQUcxN0UsRUFBRSxDQUFDLEVBQUU5K0QsQ0FBQyxFQUFFb3BELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTBWLEVBQUUsQ0FBQyxFQUFFdUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUMzQyxHQUFFLElBQ0ZOLEVBQUU1WixFQUFFLENBQUMsRUFBRWp0QixFQUFFbXRCLEVBQUUwWixFQUFFLENBQUMsQ0FBQyxFQUFFM1osR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMlosRUFBRSxDQUFDLEVBQUU3bUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUN4QyxHQUFFLElBQ0YrdUIsRUFBRTlCLEVBQUUsQ0FBQyxFQUFFLEVBQUVFLEVBQUU0QixFQUFFLENBQUMsQ0FBQyxFQUFFN0IsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNkIsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxNQUFNLElBQ2pFLEdBQUUsSUFDRlMsRUFBRXZDLEVBQUUsQ0FBQyxFQUFFNE4sRUFBRXJMLEVBQUUsQ0FBQyxFQUFFa04sRUFBRXZQLEVBQUVxQyxFQUFFLENBQUMsQ0FBQyxFQUFFdEMsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFc0MsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFa04sRUFBRTdCLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFDckUsR0FBRSxJQUNGa00sR0FBRTlaLEVBQUUsQ0FBQyxFQUFFNkssR0FBRTNLLEVBQUU0WixHQUFFLENBQUMsQ0FBQyxFQUFFN1osR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNlosR0FBRSxDQUFDLEVBQUVqUCxFQUFDLENBQUMsRUFBRSxNQUFNLElBQ3hDLEdBQUUsSUFDRjVLLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRUMsRUFBRUYsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFDM0IsR0FBRSxJQUNGd0MsR0FBRXhDLEVBQUUsQ0FBQyxFQUFFb2EsR0FBRWxhLEVBQUVzQyxHQUFFLENBQUMsQ0FBQyxFQUFFdkMsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFdUMsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRTRYLEVBQUMsQ0FBQyxFQUFFLE1BQU0sSUFDakUsR0FBRSxJQUNGdlgsR0FBRTdDLEVBQUUsQ0FBQyxFQUFFcWEsR0FBRW5hLEVBQUUyQyxHQUFFLENBQUMsQ0FBQyxFQUFFNUMsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNEMsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUV3WCxFQUFDLENBQUMsRUFBRSxNQUFNLElBQ3ZELEdBQUUsSUFDRi9KLEdBQUV0USxFQUFFLENBQUMsRUFBRXNhLEdBQUdwYSxFQUFFb1EsR0FBRSxDQUFDLENBQUMsRUFBRXJRLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXFRLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRWdLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFDL0MsR0FBRSxJQUNGN1YsR0FBRXpFLEVBQUUsQ0FBQyxFQUFFeHBCLEdBQUcwcEIsRUFBRXVFLEdBQUUsQ0FBQyxDQUFDLEVBQUV4RSxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV3RSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRWp1QixFQUFFLENBQUMsRUFBRSxNQUFNLElBQ3pELElBQUcsSUFDSHF1QixHQUFFN0UsRUFBRSxDQUFDLEVBQUV1RCxHQUFHckQsRUFBRTJFLEdBQUUsQ0FBQyxDQUFDLEVBQUU1RSxHQUFFLENBQUMsR0FBRyxDQUFDLEVBQUU0RSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFdEIsRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUNyRCxJQUFHLElBQ0hvQixHQUFFM0UsRUFBRSxDQUFDLEVBQUVxVixHQUFHblYsRUFBRXlFLEdBQUUsQ0FBQyxDQUFDLEVBQUUxRSxHQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUwRSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRTBRLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFDMUQsSUFBRyxJQUNIOU8sR0FBRXZHLEVBQUUsQ0FBQyxFQUFFbHBELEdBQUdvcEQsRUFBRXFHLEdBQUUsQ0FBQyxDQUFDLEVBQUV0RyxHQUFFLENBQUMsR0FBRyxDQUFDLEVBQUVzRyxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUV6dkQsRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUNoRCxJQUFHLElBQ0hpakUsR0FBRS9aLEVBQUUsQ0FBQyxFQUFFdWEsR0FBR3JhLEVBQUU2WixHQUFFLENBQUMsQ0FBQyxFQUFFOVosR0FBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFOFosR0FBRSxDQUFDLEVBQUVRLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFDM0MsSUFBRyxJQUNIaEssR0FBRXZRLEVBQUUsQ0FBQyxFQUFFdWYsR0FBR3JmLEVBQUVxUSxHQUFFLENBQUMsQ0FBQyxFQUFFdFEsR0FBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFc1EsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFZ1AsRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUNoRCxJQUFHLElBQ0h6YSxHQUFFOUUsRUFBRSxDQUFDLEVBQUU5SCxHQUFHZ0ksRUFBRTRFLEdBQUUsQ0FBQyxDQUFDLEVBQUU3RSxHQUFFLENBQUMsR0FBRyxDQUFDLEVBQUU2RSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFNU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUNyRCxJQUFHLElBQ0grTSxHQUFFakYsRUFBRSxDQUFDLEVBQUUzNUMsR0FBRzY1QyxFQUFFK0UsR0FBRSxDQUFDLENBQUMsRUFBRWhGLEdBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRWdGLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFNStDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFDMUQsSUFBRyxJQUNIa2lELEdBQUV2SSxFQUFFLENBQUMsRUFBRXdmLEdBQUd0ZixFQUFFcUksR0FBRSxDQUFDLENBQUMsRUFBRXRJLEdBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRXNJLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVpWCxFQUFFLENBQUMsRUFBRSxNQUFNLElBQ3JELElBQUcsSUFDSGhQLEdBQUV4USxFQUFFLENBQUMsRUFBRXlmLEdBQUd2ZixFQUFFc1EsR0FBRSxDQUFDLENBQUMsRUFBRXZRLEdBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRXVRLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRWlQLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFDaEQsSUFBRyxJQUNIeGYsR0FBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFQyxFQUFFRixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUM1QixJQUFHLElBQ0h5USxHQUFFelEsRUFBRSxDQUFDLEVBQUUwZixHQUFHeGYsRUFBRXVRLEdBQUUsQ0FBQyxDQUFDLEVBQUV4USxHQUFFLENBQUMsR0FBRyxDQUFDLEVBQUV3USxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVpUCxFQUFFLENBQUMsRUFBRSxNQUFNLElBQ2hELElBQUcsSUFDSHBYLEdBQUV0SSxFQUFFLENBQUMsRUFBRXNmLEdBQUdwZixFQUFFb0ksR0FBRSxDQUFDLENBQUMsRUFBRXJJLEdBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRXFJLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRWdYLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFDaEQsSUFBRyxJQUNIbmEsR0FBRW5GLEVBQUUsQ0FBQyxFQUFFaG1DLEdBQUdrbUMsRUFBRWlGLEdBQUUsQ0FBQyxDQUFDLEVBQUVsRixHQUFFLENBQUMsR0FBRyxDQUFDLEVBQUVrRixHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRW5yQyxFQUFFLENBQUMsRUFBRSxNQUFNLElBQzFELElBQUcsSUFDSDAyQyxHQUFFMVEsRUFBRSxDQUFDLEVBQUUyZixHQUFHemYsRUFBRXdRLEdBQUUsQ0FBQyxDQUFDLEVBQUV6USxHQUFFLENBQUMsR0FBRyxDQUFDLEVBQUV5USxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVpUCxFQUFFLENBQUMsRUFBRSxNQUFNLElBQ2hELElBQUcsSUFDSHphLEdBQUVsRixFQUFFLENBQUMsRUFBRW5ILEdBQUdxSCxFQUFFZ0YsR0FBRSxDQUFDLENBQUMsRUFBRWpGLEdBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRWlGLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFck0sRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUMxRCxJQUFHLElBQ0grTCxHQUFFNUUsRUFBRSxDQUFDLEVBQUU0ZixHQUFHMWYsRUFBRTBFLEdBQUUsQ0FBQyxDQUFDLEVBQUUzRSxHQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUyRSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRWdiLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFDMUQsSUFBRyxJQUNIM1YsR0FBRWpLLEVBQUUsQ0FBQyxFQUFFNEcsR0FBRzFHLEVBQUUrSixHQUFFLENBQUMsQ0FBQyxFQUFFaEssR0FBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFZ0ssR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVyRCxFQUFFLENBQUMsRUFBRSxNQUFNLElBQzFELElBQUcsSUFDSHpHLEdBQUVILEVBQUUsQ0FBQyxFQUFFb1EsR0FBR2pRLEdBQUUsRUFBRSxFQUFFN3lDLEdBQUc0eUMsRUFBRUMsR0FBRSxFQUFFLENBQUMsRUFBRUYsR0FBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFRSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFN3lDLEdBQUc4aUQsRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUNoRyxJQUFHLElBQ0h2UCxHQUFFYixFQUFFLENBQUMsRUFBRTRELEdBQUcxRCxFQUFFVyxHQUFFLENBQUMsQ0FBQyxFQUFFWixHQUFFLENBQUMsR0FBRyxDQUFDLEVBQUVZLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUUrQyxFQUFFLENBQUMsRUFBRSxNQUFNLElBQ3JELElBQUcsSUFDSGMsR0FBRTFFLEVBQUUsQ0FBQyxFQUFFNmYsR0FBRzNmLEVBQUV3RSxHQUFFLENBQUMsQ0FBQyxFQUFFekUsR0FBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFeUUsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVtYixFQUFFLENBQUMsRUFBRSxNQUFNLElBQzFELElBQUcsSUFDSDdhLEdBQUVoRixFQUFFLENBQUMsRUFBRThmLEdBQUc1ZixFQUFFOEUsR0FBRSxDQUFDLENBQUMsRUFBRS9FLEdBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRStFLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFOGEsRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUMxRCxJQUFHLElBQ0g5TyxHQUFFaFIsRUFBRSxDQUFDLEVBQUUrZixHQUFHN2YsRUFBRThRLEdBQUUsQ0FBQyxDQUFDLEVBQUUvUSxHQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUrUSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUUrTyxFQUFFLENBQUMsRUFBRSxNQUFNLElBQ2hELElBQUcsSUFDSGhQLEdBQUUvUSxFQUFFLENBQUMsRUFBRWtRLEdBQUdoUSxFQUFFNlEsR0FBRSxDQUFDLENBQUMsRUFBRTlRLEdBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRThRLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRWIsRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUNoRCxJQUFHLElBQ0h3SixHQUFFMVosRUFBRSxDQUFDLEVBQUVnZ0IsR0FBR3RHLEdBQUUsQ0FBQyxFQUFFN3NCLEdBQUdxVCxFQUFFd1osR0FBRSxDQUFDLENBQUMsRUFBRXpaLEdBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRXlaLEdBQUUsQ0FBQyxFQUFFN3NCLEdBQUdtekIsRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUN0RCxJQUFHLElBQ0gzUCxHQUFFclEsRUFBRSxDQUFDLEVBQUU4TixHQUFHdUMsR0FBRSxDQUFDLEVBQUU3QixHQUFHdE8sRUFBRW1RLEdBQUUsQ0FBQyxDQUFDLEVBQUVwUSxHQUFFLENBQUMsR0FBRyxDQUFDLEVBQUVvUSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUU3QixHQUFHVixFQUFFLENBQUMsRUFBRSxNQUFNLElBQzNELElBQUcsSUFDSGtNLEdBQUVoYSxFQUFFLENBQUMsRUFBRXNWLEdBQUdwVixFQUFFOFosR0FBRSxDQUFDLENBQUMsRUFBRS9aLEdBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRStaLEdBQUUsQ0FBQyxFQUFFMUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUMzQyxJQUFHLElBQ0h6RyxHQUFFN08sRUFBRSxDQUFDLEVBQUVpZ0IsR0FBRy9mLEVBQUUyTyxHQUFFLENBQUMsQ0FBQyxFQUFFNU8sR0FBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFNE8sR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRW9SLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFDckQsSUFBRyxJQUNIcndDLEdBQUVvd0IsRUFBRSxDQUFDLEVBQUVrZ0IsR0FBR2hnQixFQUFFdHdCLEdBQUUsQ0FBQyxDQUFDLEVBQUVxd0IsR0FBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFcndCLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVzd0MsRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUNyRCxJQUFHLElBQ0huYixHQUFFL0UsRUFBRSxDQUFDLEVBQUVtZ0IsR0FBR2pnQixFQUFFNkUsR0FBRSxDQUFDLENBQUMsRUFBRTlFLEdBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRThFLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFb2IsRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUMxRCxJQUFHLElBQ0h2WSxHQUFFNUgsRUFBRSxDQUFDLEVBQUV1TyxHQUFHck8sRUFBRTBILEdBQUUsQ0FBQyxDQUFDLEVBQUUzSCxHQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUySCxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUUyRyxFQUFFLENBQUMsRUFBRSxNQUFNLElBQ2hELElBQUcsSUFDSHRGLEdBQUVqSixFQUFFLENBQUMsRUFBRW9nQixHQUFHbGdCLEVBQUUrSSxHQUFFLENBQUMsQ0FBQyxFQUFFaEosR0FBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFZ0osR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFbVgsRUFBRSxDQUFDLEVBQUUsTUFBTSxRQUFRLElBQ3hEekcsR0FBRTNaLEVBQUUsQ0FBQyxFQUFFcWdCLEdBQUduZ0IsRUFBRXlaLEdBQUUsQ0FBQyxDQUFDLEVBQUUxWixHQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUwWixHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUUwRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFcEcsRUFBRWhhLEVBQUMsQ0FBQyxDQUFDLElBQ3hEMnZHLElBQUdyaUcsR0FBR2dpRyxHQUFFLElBQUlyM0csR0FBR3EzRyxJQUFHQSxJQUFHLENBQUMsRUFBRTdoRyxHQUFHaHFCLEdBQUdrc0gsR0FBRSxFQUFFLElBQ2xDQyxHQUFHLzRKLEVBQUc4M0ksR0FBRyxLQUFLa2hCLEdBQUcsT0FBVSxTQUMzQkMsR0FBR241SixFQUFFLENBQUMsTUFBTyxJQUFHQSxJQUFJazVKLEdBQUcsRUFBRSxFQUFFLENBQUNELEdBQUcsT0FBT0EsR0FBRyxPQUFPQSxHQUFHLE9BQU9BLEdBQUcsS0FBS0EsR0FBRyxLQUFLLFNBQzFFRyxJQUFJcDVKLEVBQUUsQ0FBQyxNQUFNQSxDQUFDLENBQUMsU0FDZnE1SixHQUFHcjVKLEVBQUUsQ0FBQyxPQUFPNHJELEVBQUV3dEcsSUFBSXA1SixDQUFDLENBQUMsQ0FBQ2k1SixHQUFHLEtBQUssSUFDOUJLLElBQUlMLEdBQUcsTUFBTU0sSUFBSU4sR0FBRyxNQUFNOXJGLEdBQUcsU0FBU250RSxFQUFFLENBQUMsT0FBT0EsRUFBRSxDQUFDLElBQUkwNEosR0FBRyxDQUFDLEVBQUV4bkcsR0FBR2x4RCxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFbXRFLEdBQUcsU0FBU250RSxFQUFFLENBQUMsT0FBT0EsYUFFNUdzNUosSUFBSSxFQUFFLENBQUMsRUFBRXBvRyxHQUFHbHhELEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDN0J3NUosSUFBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQ1R2ZixHQUFHajZJLEVBQUUsQ0FBQyxPQUFPc3lELElBQUlrTCxHQUFHeDlELENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDeEJ1cEUsR0FBR3ZwRSxFQUFFLENBQUMsT0FBT3FyRCxJQUFHbVMsR0FBR3g5RCxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ3ZCc2pFLEdBQUV0akUsRUFBRUMsRUFBRSxDQUFDLE9BQU9zcEUsR0FBRzdQLEdBQUVpQyxHQUFHMzdELEVBQUVDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUM3QjA1RCxHQUFFMzVELEVBQUVDLEVBQUUsQ0FBQyxPQUFPQSxFQUFFMnJELEVBQUU1ckQsRUFBRUMsRUFBRSxDQUFDLENBQUMsRUFBRSszSSxFQUFFLENBQUMsU0FDN0J5aEIsR0FBR3o1SixFQUFFQyxFQUFFLENBQUMsT0FBV0EsRUFBRSxDQUFDLElBQVAsRUFBUyszSSxHQUFHaDRJLEVBQUVDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUNuQ3k1SixHQUFHMTVKLEVBQUUsQ0FBQyxPQUFPaTZJLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRWpJLElBQUloeUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFK3hJLElBQUkveEksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDckQyNUosR0FBRzM1SixFQUFFLENBQUMsSUFDTkMsRUFBRUQsRUFBRSxDQUFDLEVBQUVvcEQsRUFBRW5wRCxFQUFFb3lELEdBQUVweUQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUrM0ksR0FBRzN1RixFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV1b0YsSUFBSThuQixHQUFHMTVKLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBT2k2SSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVuSSxJQUFJMW9GLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFeW9GLElBQUk2bkIsR0FBRzE1SixFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVxcEQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ2xHMGYsR0FBRy9vRSxFQUFFLENBQUMsR0FBRyxDQUFDQSxFQUFFLE1BQU8sR0FBRSxJQUNyQkMsRUFBRUQsRUFBRSxDQUFDLEVBQUVvcEQsRUFBRW5wRCxFQUFFLENBQUMsRUFBRSxPQUFPK3RELEdBQUUsQ0FBQyxFQUFFNUUsQ0FBQyxFQUFFLENBQUMsRUFBRWdSLEdBQUVuNkQsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTh0RCxFQUFDLENBQUMsQ0FBQyxJQUNqRDZyRyxJQUFJdm5HLEdBQUUsU0FDTnduRyxHQUFHNzVKLEVBQUVDLEVBQUVtcEQsRUFBRSxDQUFDLElBQ1ZDLEVBQUVwcEQsRUFBRW1wRCxDQUFDLEVBQUUsT0FBTyt2RyxHQUFHOXZHLENBQUMsRUFBRUEsRUFBRSxFQUFFcnBELENBQUMsQ0FBQyxTQUMxQjg1SixJQUFJOTVKLEVBQUVDLEVBQUUsQ0FBQyxJQUNUbXVELEVBQUVpQyxHQUFHcHdELEVBQUVpNUosRUFBRSxFQUFFLENBQUMsRUFBRWo1SixFQUFFcTVELEVBQUdwSSxHQUFHbHhELENBQUMsRUFBRXVZLEVBQUdzaEosR0FBRzNnRyxHQUFHLENBQUMsRUFBRTlLLEVBQUVra0YsR0FBRyxFQUFFeitGLEVBQUdnbUgsR0FBRzNnRyxHQUFHLENBQUMsRUFBRTlLLEVBQUVta0YsR0FBRyxFQUFFdnRGLEVBQUc2MEcsR0FBRzNnRyxHQUFHLENBQUMsRUFBRTlLLEVBQUVva0YsR0FBRyxFQUFFbC9HLEVBQUd1bUksR0FBRzNnRyxHQUFHLENBQUMsRUFBRTlLLEVBQUVxa0YsR0FBRyxFQUFFMStFLEVBQUc4bEcsR0FBRzNnRyxHQUFHLENBQUMsRUFBRTlLLEVBQUVza0YsR0FBRyxFQUFFdnBFLEVBQUcsQ0FBQyxFQUFFMHdGLEdBQUczZ0csR0FBRyxDQUFDLEVBQUU5SyxFQUFFdWtGLEdBQUcsRUFBRTUrRSxFQUFHemdDLEVBQUcweEIsRUFBR25SLEVBQUd0N0IsRUFBRyxFQUFFLENBQUMsRUFBRTgvSCxFQUFHanFGLEVBQUV4Z0QsRUFBRSxFQUFFMHFJLEVBQUc2Z0IsR0FBRzlnQixDQUFFLEVBQUVFLEVBQUdELEdBQUdELEVBQUcsRUFBS0csRUFBR3BxRixFQUFFOXJELEVBQUUsRUFBRXUwRCxHQUFHc2lHLEdBQUczZ0IsQ0FBRSxFQUFFQSxFQUFHLEVBQUUsRUFBRUMsR0FBR3JxRixFQUFFLGFBQWdCb0ssR0FBRzJnRyxHQUFHMWdCLEVBQUUsRUFBRUEsR0FBRyxFQUFFLEVBQUVydkUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFOU8sR0FBR2krRSxFQUFHLENBQUMsRUFBRSxTQUFTdjRJLEdBQUUsQ0FBQyxPQUFBb3BFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRXBwRSxHQUFFb3BFLEdBQUcsQ0FBQyxDQUFDLEVBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRXpGLEdBQUcsRUFBRXBkLEdBQUc4ckYsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQ25WdG9FLEdBQUcsRUFBRTJ1RSxHQUFHakMsR0FBR245RSxDQUFFLEVBQUVrUSxHQUFHTyxHQUFHcFMsR0FBRytnRixFQUFFLE9BQU9udkYsR0FBRSxDQUFDLElBQ3BDK2YsR0FBRzFSLEdBQUdyTyxFQUFDLEVBQUUsR0FBRytmLEtBQUttc0UsR0FBRyxNQUFNeHJGLEdBQUVxZixHQUFHLENBQUMsRUFBRSxJQUNsQ3gvQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNjVDLEdBQUcxSyxHQUFHLENBQUMsRUFBRUEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFdVEsR0FBRzEvQyxHQUFHNnRDLEdBQUc4K0UsR0FBRzFvQyxHQUFHLENBQUMsQ0FBQyxJQUNwRDFrQyxHQUFHLENBQUMsRUFBRTFGLEdBQUdoTSxHQUFHd3NCLElBQUcsRUFBRWhiLEVBQUcsQ0FBQyxFQUFFNnhFLElBQUc1MkQsR0FBRSxFQUFFdmEsR0FBRyxDQUFDLEVBQUV5M0UsR0FBR2o0RSxHQUFHLENBQUMsQ0FBQyxFQUFFSSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVELEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFc3VFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUzdUUsRUFBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFOGtDLEdBQUcsRUFBRSxDQUFDLEVBQUU1a0MsRUFBRSxFQUFFUSxHQUFHLENBQUMsRUFBRXZQLEVBQUUsRUFBRTZPLEVBQUd4RixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFcXFDLEdBQUcsQ0FBQyxFQUFFcHJDLEdBQUdoWCxFQUFFc0MsR0FBRSxDQUFDLEVBQUV1YixFQUFFLEVBQUU1MkIsR0FBRzZtQixHQUFFK1AsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUV0dEMsR0FBRXU5QixHQUFFbUMsR0FBRyxTQUFTNzdELEdBQUVDLEdBQUUsQ0FBQyxJQUN2Tm9wRCxHQUFFcnBELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVwcEQsR0FBRSxDQUFDLEVBQUUsT0FBT3ltSixHQUFHLENBQUMsRUFBRSxLQUFLLEtBQUt4bUosR0FBRW1wRCxFQUFDLEVBQUUsQ0FBQyxFQUFFQSxHQUFFQyxFQUFDLEVBQUUsQ0FBQyxFQUFFbzlGLEdBQUcsQ0FBQyxFQUFFLEtBQUssS0FBS3htSixHQUFFbXBELEVBQUMsRUFBRSxDQUFDLEVBQUVucEQsR0FBRW9wRCxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRW85RixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU1ekcsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUcxVyxHQUFFLENBQUMsSUFDOUcrVSxHQUFHL1UsR0FBRSxDQUFDLEVBQUV2TCxHQUFHdUwsR0FBRSxDQUFDLEVBQUUsR0FBR29xQixHQUFHLE1BQU0wRCxHQUFFLENBQUMsRUFBRTR1RyxJQUFHam9JLEdBQUdzZ0IsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDc29ILElBQUcsQ0FBQyxFQUFFLEVBQUUsSUFDdEQ5NkYsR0FBR2hOLEdBQUU0SCxDQUFFLEVBQUUsRUFBRSxFQUFFL0ssR0FBRWxDLEdBQUdpTixDQUFFLEVBQUV0NUQsRUFBRSxDQUFDQyxFQUFFLENBQ25CLFFBQVJnNEQsR0FBRSxFQUFFNU8sR0FBRSxJQUFTLENBQUMsR0FBR0EsS0FBSXFWLEdBQUcsTUFBTXorRCxFQUFFLElBQ2xDa3VELEdBQUUzQixHQUFHK0IsR0FBRWxGLEVBQUMsRUFBRUQsRUFBRSxDQUFDLEdBQUcsR0FBRytFLElBQUd2dUIsSUFBSXV1QixHQUFFLENBQUMsSUFDN0JGLEdBQUUsRUFBRSxNQUFNN0UsQ0FBQyxDQUFDLEdBQUcxRixJQUFJeUssSUFBR3ZsQyxJQUFJdWxDLEdBQUUsQ0FBQyxJQUM3QkYsR0FBRSxFQUFFLE1BQU03RSxDQUFDLENBQUMsR0FBR3BoRCxJQUFJbW1ELElBQUd4aEQsSUFBSXdoRCxHQUFFLENBQUMsSUFDN0JGLEdBQUUsRUFBRSxNQUFNN0UsQ0FBQyxDQUFDLEdBQUd0MEIsSUFBSXE1QixJQUFHcnlDLElBQUlxeUMsR0FBRSxDQUFDLElBQzdCRixHQUFFLEVBQUUsTUFBTTdFLENBQUMsQ0FBQyxJQUNaNkUsR0FBRSxDQUFDLENBQUMsR0FBT0EsS0FBSixFQUFNLElBQ2JnSyxHQUFFZ3VGLEdBQUdodUYsR0FBRTVPLEdBQUUsQ0FBQyxFQUFFQSxHQUFFQSxHQUFFLEVBQUUsTUFBTSxDQUFDLElBQUlxVixHQUFHclYsR0FBRSxHQUFHNEUsR0FBRSxNQUFNLElBQzdDaUosR0FBR2pKLEdBQUUsRUFBRSxFQUFFcDNDLEdBQUd3eUMsR0FBRTRFLEdBQUUsRUFBRSxHQUFHLEVBQUVpSixLQUFLLEVBQUUsTUFBTWpOLEdBQUUsQ0FBQyxFQUFFNE8sR0FBRW1iLEdBQUUsRUFBRSxDQUFDLEVBQUUsT0FBTzljLEdBQUcsQ0FBQyxJQUM3RCxHQUFFLElBQ0ZnTSxHQUFFMVcsR0FBRytCLEdBQUVsRixFQUFDLEVBQUUsTUFBTSxJQUNoQixHQUFFLElBQ0Y2WixJQUFHMVcsR0FBRytCLEdBQUVsRixFQUFDLEVBQUUsS0FBSyxFQUFFbUQsR0FBRytCLEdBQUVsRixHQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsTUFBTSxJQUN2QyxHQUFFLElBQ0Y2WixJQUFHMVcsR0FBRytCLEdBQUVsRixFQUFDLEVBQUUsS0FBSyxJQUFJbUQsR0FBRytCLEdBQUVsRixHQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRW1ELEdBQUcrQixHQUFFbEYsR0FBRSxFQUFFLENBQUMsRUFBRSxHQUFHLE1BQU0sUUFBUSxJQUNwRTZaLElBQUcxVyxHQUFHK0IsR0FBRWxGLEVBQUMsRUFBRSxJQUFJLElBQUltRCxHQUFHK0IsR0FBRWxGLEdBQUUsRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJbUQsR0FBRytCLEdBQUVsRixHQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRW1ELEdBQUcrQixHQUFFbEYsR0FBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsSUFDMUU0TyxHQUFFZ3VGLEdBQUdodUYsR0FBRTVPLEdBQUUsQ0FBQyxFQUFFNlosRUFBQyxDQUFDLEVBQUU3WixHQUFFeHlDLEVBQUUsQ0FBQyxDQUFDLElBQ3RCcWpCLEdBQUcrckgsR0FBR2h1RixHQUFFNU8sR0FBRSxDQUFDLEVBQUUsTUFBTXJwRCxDQUFDLENBQUMsSUFDckJrNkIsR0FBRys5QixFQUFDLENBQ2dCLFFBQXBCai9CLEdBQUVrOEUsSUFBSXZqRCxHQUFFK0gsR0FBRSxDQUFDLEVBQUUsRUFBRXgvQixFQUFFLENBQUMsSUFBUyxDQUFDLElBQzVCaXBDLEdBQUVucUMsR0FBRSxDQUFDLEVBQUV5bEMsR0FBR3psQyxHQUFFLENBQUMsRUFBRTIyQixHQUFFMzJCLEdBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQzI0QixHQUFFLE1BQU0sSUFDbEN5UixHQUFFelIsR0FBRSxDQUFDLEVBQUUsR0FBT3lSLEtBQUosRUFBTSxDQUFDLElBQ2pCbGpFLEdBQUd5eEQsR0FBRSxDQUFDLEVBQUUsR0FBR3p4RCxJQUFRQSxHQUFHLENBQUMsSUFBUixFQUFVLENBQUMsSUFDMUJ5NEksR0FBR3o0SSxHQUFHLENBQUMsRUFBRTg0QixHQUFFLENBQUMsRUFBRTIyQixHQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRTZOLEdBQUc5RCxHQUFFLENBQUMsRUFBRS9KLEdBQUU4TyxFQUFFLENBQUMsQ0FBQyxFQUFFMEUsRUFBQyxDQUFDLEVBQUV4UixHQUFFZ25GLEdBQUcsUUFBUSxDQUFDLFNBQVMsRUFBRXYxRSxHQUFFLENBQUMsSUFDekU1M0QsR0FBR21tRCxHQUFFLENBQUMsRUFBRTM0QixHQUFFLENBQUMsRUFBRTIyQixHQUFFcTJGLElBQUc1aUYsRUFBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFelQsR0FBRThPLEVBQUUsRUFBRTBFLEVBQUMsRUFBRXhSLEdBQUVubUQsR0FBRyxRQUFRLENBQUMsSUFDakQyZSxHQUFHd25DLEdBQUUsQ0FBQyxFQUFFcmlELEdBQUcsQ0FBQyxFQUFFa3VELEdBQUc5RCxHQUFFLENBQUMsRUFBRS9KLEdBQUU4TyxFQUFFLENBQUMsQ0FBQyxFQUFFMEUsRUFBQyxFQUFFbnFDLEdBQUUsQ0FBQyxFQUFFMjJCLEdBQUVxMkYsSUFBRzVpRixFQUFDLEVBQUUsRUFBRSxFQUFFOXpELEVBQUUsRUFBRXFpRCxHQUFFeG5DLEVBQUUsQ0FBQyxJQUMzRGs1QyxHQUFFN0YsR0FBRzlELEdBQUV5SixFQUFDLENBQUMsRUFBRSxHQUFHdE0sR0FBRyxJQUNqQmxLLEdBQUdpVyxPQUNILEtBQ0FrSCxHQUFHbGUsRUFBRWd0RyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUVqc0csR0FBR1YsRUFBRStFLEdBQUU4WSxHQUFHLFdBQVdoOEIsRUFBRSxFQUFFZzhCLEdBQUdsSCxFQUFFLEVBQUUsR0FBR3BLLEdBQUcsSUFDckR2aUIsR0FBRzBXLE9BQ0gsS0FDQXVjLEdBQUd2YyxHQUFHLENBQUMsRUFBRTFXLEdBQUcsQ0FBQyxFQUFFMFcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFdWMsR0FBRyxDQUFDLEVBQUVBLEdBQUcsQ0FBQyxFQUFFQSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxTQUM5QzNmLEdBQUV2cEQsR0FBRUMsR0FBRW1wRCxHQUFFQyxHQUFFLENBQUMsSUFDWDBFLEdBQUUsQ0FBQyxFQUFFcTRGLEdBQUcvaUYsR0FBRXBqRSxHQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRW91RCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU0ekQsSUFBSTE0QyxHQUFHLENBQUMsRUFBRTY4RSxHQUFHL2lGLEdBQUVwakUsR0FBRSxDQUFDLENBQUMsRUFBRTh0RCxFQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRVEsR0FBRTZMLEdBQUUvTCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU2ekQsSUFBSXkzQyxHQUFHMTVKLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUdtcEQsR0FBRSxDQUFDLElBQ3pGRSxHQUFFRixHQUFFLENBQUMsRUFBRUcsR0FBRUQsR0FBRSxDQUFDLEVBQUUsR0FBR0MsR0FBRSxDQUFDLElBQ3BCMkIsR0FBRTVCLEdBQUUsQ0FBQyxFQUFFLEdBQUc0QixHQUFFLElBQ1pvRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU2ekQsSUFBSW4vQyxHQUFFOVgsRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFUyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV5MkQsSUFBSXAvQyxHQUFFelosRUFBQyxDQUFDLEVBQUUrRSxFQUFDLE1BQ3hDLEtBQ0EzQyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUwMkQsSUFBSXIvQyxHQUFFelosRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQ3JCcUMsR0FBRUQsRUFBQyxLQUNILEtBQ0FrQyxHQUFFdkUsR0FBRSxDQUFDLEVBQUUwRSxHQUFFSCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV5MEQsSUFBSXQvQyxHQUFFblYsRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUVqQyxHQUFFb0MsR0FBRSxJQUNwQy9CLEdBQUVMLEVBQUMsS0FDSCxLQUNBSyxHQUFFLEVBQUUsT0FBT2d1RixHQUFHeitFLEdBQUdwQixHQUFFN0wsR0FBRTZMLEdBQUVuTyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVzMkQsSUFBSWx3RCxHQUFFcnlELEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVxcEQsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUNsRHFnQixHQUFHMXBFLEdBQUUsQ0FBQyxPQUFPc2pFLEdBQUVoYSxHQUFFdHBELEVBQUMsQ0FBQyxDQUFDLFNBQ3BCc3BELEdBQUV0cEQsR0FBRSxDQUFDLElBQ0xxcEQsR0FBRXJwRCxHQUFFLENBQUMsRUFBRUMsR0FBRUQsR0FBRSxDQUFDLEVBQUUsT0FBT3FwRCxHQUFFLENBQUMsRUFBRSxDQUFDLElBQzNCLEdBQUUsT0FBT2lGLEdBQUUsQ0FBQyxFQUFFcnVELEdBQUVvcEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ3ZCLEdBQUUsSUFDRm9WLEdBQUdwVixHQUFFLENBQUMsRUFBRXVTLEdBQUc2QyxHQUFHLENBQUMsRUFBRSxPQUFPbFYsR0FBRXc1RCxJQUFJOWlILEdBQUUyN0QsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFa25ELElBQUlucEQsR0FBRXpPLEdBQUV1VCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFDN0QsR0FBRSxPQUFPdjNCLEdBQUcwdkYsSUFBSSxDQUFDLEVBQUUzMkgsR0FBRW9wRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDNUIsR0FBRSxJQUNGMkUsR0FBRTNFLEdBQUUsQ0FBQyxFQUFFdVosR0FBRzVVLEdBQUUsQ0FBQyxFQUFFMnJGLEdBQUczckYsR0FBRSxDQUFDLEVBQUU0ckYsR0FBRzVyRixHQUFFLENBQUMsRUFBRTZyRixHQUFHN3JGLEdBQUUsQ0FBQyxFQUFFOHJGLEdBQUc5ckYsR0FBRSxDQUFDLEVBQUUrckYsR0FBRy9yRixHQUFFLENBQUMsRUFBRWdzRixHQUFHckMsR0FBRzV1RSxHQUFHbkcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUrMkUsRUFBRSxFQUFFTSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUV2Z0IsSUFBSS8vRCxHQUFFdEwsR0FBRXlyRixFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVueEYsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFZ3hFLElBQUluZ0UsR0FBR3FnRixFQUFFLENBQUMsRUFBRUksRUFBRSxFQUFFdHdFLEdBQUcvRyxHQUFHLENBQUMsRUFBRWdILEdBQUdELEdBQUcsQ0FBQyxFQUFFbjZDLEdBQUdtNkMsR0FBRyxDQUFDLEVBQUUsR0FBR0MsR0FBRyxJQUNqS3ZmLEdBQUd1ZixHQUFHLENBQUMsRUFBRS9OLEdBQUd4UixHQUFHLENBQUMsRUFBRWxFLEdBQUcwVixHQUFHLENBQUMsRUFBRXhYLEdBQUdnRyxHQUFHLENBQUMsRUFBRW5KLEdBQUdxSSxHQUFFMHdFLElBQUk1MUUsR0FBRzhCLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTZ6RSxJQUFJanNFLEdBQUU4TixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUU2TixHQUFHSCxHQUFHN1AsR0FBRSxDQUFDLEVBQUV4WSxHQUFHeWEsR0FBR2lJLEdBQUdwMEMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUNwRyxLQUNBazZDLEdBQUdILEdBQUc3TixHQUFHa0ksR0FBR3AwQyxFQUFFLENBQUMsRUFBRSxJQUNqQms0QixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVteUUsSUFBSTN1RSxHQUFFNnVGLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVuZ0IsSUFBSWx3RCxFQUFFLEVBQUUvZ0IsRUFBRSxDQUFDLEVBQUUsT0FBT1ksR0FBRXd3RSxJQUFJOTVILEdBQUUrNUksR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFbGdCLElBQUl4ckUsR0FBRXNyRixFQUFFLENBQUMsRUFBRWx5RixFQUFFLENBQUMsRUFBRSxJQUMvRSxHQUFFLElBQ0Z4bkQsR0FBR21wRCxHQUFFLENBQUMsRUFBRXlULEdBQUc1OEQsR0FBRyxDQUFDLEVBQUUsT0FBT3FwRCxHQUFFMDVELElBQUloakgsR0FBRTY4RCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVrbUQsSUFBSXJwRCxHQUFFek8sR0FBRWhyRCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFDN0QsR0FBRSxPQUFPcXBELEdBQUUyNUQsSUFBSWpqSCxHQUFFb3BELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFDNUIsR0FBRSxPQUFPbDBDLEdBQUcsQ0FBQyxFQUFFbFYsR0FBRW9wRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDeEIsR0FBRSxPQUFPcU0sR0FBRyxDQUFDLEVBQUV6MUQsR0FBRW9wRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDeEIsR0FBRSxPQUFPejlCLEdBQUcsQ0FBQyxFQUFFM3JCLEdBQUVvcEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ3hCLEdBQUUsSUFDRnlFLEdBQUV6RSxHQUFFLENBQUMsRUFBRXNhLEdBQUc3VixHQUFFLENBQUMsRUFBRTZhLEdBQUc3YSxHQUFFLENBQUMsRUFBRTZCLEdBQUU3QixHQUFFLENBQUMsRUFBRXhNLEdBQUd3TSxHQUFFLENBQUMsRUFBRWdxRixHQUFHaHFGLEdBQUUsQ0FBQyxFQUFFLEdBQUc2QixHQUFFLENBQUMsSUFDcERsZ0QsR0FBR2tnRCxHQUFFLENBQUMsRUFBRSxHQUFPbGdELEdBQUcsQ0FBQyxJQUFSLEdBQVcsQ0FBQ0EsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU84NUMsR0FBRTY1RCxJQUFJbmpILEdBQUUwakUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFdy9DLElBQUl4cEQsR0FBRTlMLEdBQUU4YSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdybkIsR0FBRyxDQUFDLElBQ2hGc0ssR0FBRXRLLEdBQUcsQ0FBQyxFQUFFLE9BQU9zSyxHQUFFLENBQUMsRUFBRSxDQUFDLElBQ3JCLEdBQUUsSUFDRjJDLEdBQUVuM0IsR0FBR3cwQixHQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFDakIsR0FBRSxJQUNGMkMsR0FBRWhMLEdBQUdxSSxHQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFDakIsR0FBRSxJQUNGMkMsR0FBRXA1QyxHQUFHeTJDLEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUNqQixHQUFFLElBQ0YyQyxHQUFFbUgsR0FBRzlKLEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUNqQixHQUFFLElBQ0YyQyxHQUFFNUMsR0FBRUMsR0FBRSxDQUFDLENBQUMsRUFBRSxNQUFNLElBQ2hCLEdBQUUsSUFDRjJDLEdBQUUzWSxHQUFHZ1csR0FBRSxDQUFDLENBQUMsRUFBRSxNQUFNLElBQ2pCLEdBQUUsSUFDRjJDLEdBQUV1YSxHQUFHLEVBQUVsZCxHQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFDbkIsR0FBRSxJQUNGMkMsR0FBRXNwRixHQUFHanNGLEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxRQUFRLElBQ3pCMkMsR0FBRTNpQyxHQUFHZ2dDLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUNYZ2QsR0FBR3JhLEVBQUMsS0FDSixLQUNBcWEsR0FBR292RSxHQUFHLElBQ05ELEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTEwQixJQUFJMXBELEdBQUU5TCxHQUFFOGEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFM2lFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRXU5RyxJQUFJMzZDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMDZDLElBQUkzN0csR0FBR2dvRCxFQUFDLENBQUMsRUFBRW9vRixFQUFFLENBQUMsRUFBRXRpRixHQUFHcWlGLEdBQUcsRUFBRSxFQUFFLE9BQU92dUYsR0FBRWs2RCxJQUFJeGpILEdBQUUwakUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFNi9DLElBQUksQ0FBQyxDQUFDL3RELEVBQUUsRUFBRXp2RCxFQUFFLENBQUMsRUFBRSxJQUNqSCxJQUFHLE9BQU91OUMsR0FBRyxDQUFDLEVBQUV0akQsR0FBRW9wRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDekIsSUFBRyxJQUNIK0UsR0FBRS9FLEdBQUUsQ0FBQyxFQUFFMVAsR0FBR3lVLEdBQUUsQ0FBQyxFQUFFM1csR0FBRzJXLEdBQUUsQ0FBQyxFQUFFL2EsR0FBRythLEdBQUUsQ0FBQyxFQUFFdk0sR0FBR3VNLEdBQUUsQ0FBQyxFQUFFbnRCLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRW8wRixJQUFJL3hELEdBQUVSLEdBQUUxVSxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFMXlCLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTQ1RixJQUFJdnlELEdBQUUsRUFBRXRyQixFQUFFLENBQUMsRUFBRXhXLEVBQUUsRUFBRXF6QixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVpaEUsSUFBSTU3RCxHQUFFdEwsR0FBRWhiLEVBQUUsQ0FBQyxFQUFFM1gsRUFBRSxFQUFFLE9BQU82dEIsR0FBRWtzRSxJQUFJeDFILEdBQUUwNUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFNjdFLElBQUl0cUUsR0FBRXJKLEVBQUUsQ0FBQyxFQUFFeVMsRUFBRSxDQUFDLEVBQUUsSUFDOUosSUFBRyxJQUNIdUYsR0FBRXhRLEdBQUUsQ0FBQyxFQUFFcUksR0FBRW1JLEdBQUUsQ0FBQyxFQUFFMUMsR0FBRzBDLEdBQUUsQ0FBQyxFQUFFRSxHQUFHRixHQUFFLENBQUMsRUFBRTJJLEdBQU85USxHQUFFLENBQUMsSUFBUCxFQUFTeEcsR0FBRXdHLEdBQUUsQ0FBQyxDQUFDLEVBQUU3RCxHQUFFNkQsR0FBRSxDQUFDLENBQUMsRUFBRSxPQUFPbkksR0FBRXE2RCxJQUFJM2pILEdBQUVrM0QsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFd3NELElBQUluaEQsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVraEQsSUFBSXAxRCxHQUFFeUwsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUNoSCxJQUFHLElBQ0g5WCxHQUFHb0gsR0FBRSxDQUFDLEVBQUV3WixHQUFHNWdCLEdBQUcsQ0FBQyxFQUFFLE9BQU9zSCxHQUFFdTZELElBQUk3akgsR0FBRTRpRSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVnaEQsSUFBSXh3RCxHQUFFcFIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQzNELElBQUcsSUFDSDZYLEdBQUV6USxHQUFFLENBQUMsRUFBRXRCLEdBQUcrUixHQUFFLENBQUMsRUFBRW0rRSxHQUFHbitFLEdBQUUsQ0FBQyxFQUFFbytFLEdBQUdodEYsR0FBRTRPLEdBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBT3ZRLEdBQUUwNkQsSUFBSWhrSCxHQUFFOG5ELEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRWk4RCxJQUFJazBCLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFbjBCLElBQUl6MUQsR0FBRTJwRixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ3hGLElBQUcsSUFDSHgrRSxHQUFFcFEsR0FBRSxDQUFDLEVBQUU4SyxHQUFHc0YsR0FBRSxDQUFDLEVBQUVmLEdBQUdlLEdBQUUsQ0FBQyxFQUFFNEYsR0FBRzVGLEdBQUUsQ0FBQyxFQUFFKzdFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTFmLElBQUlucUUsR0FBRThOLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUVxOUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFL2dCLElBQUlwOEQsR0FBRXRMLEdBQUVxSyxFQUFFLENBQUMsRUFBRTg4RSxFQUFFLEVBQUUsT0FBT2pzRixHQUFFMHNFLElBQUloMkgsR0FBRWswRCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU2aEUsSUFBSTlxRSxHQUFFbVUsRUFBRSxDQUFDLEVBQUV5M0UsRUFBRSxDQUFDLEVBQUUsSUFDMUgsSUFBRyxPQUFPaHVFLEdBQUcsRUFBRSxDQUFDLEVBQUU3b0UsR0FBRW9wRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDM0IsSUFBRyxPQUFPanlCLEdBQUcsQ0FBQyxFQUFFbjNCLEdBQUVvcEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ3pCLElBQUcsSUFDSDhRLEdBQUU5USxHQUFFLENBQUMsRUFBRTh1RixHQUFHaCtFLEdBQUUsQ0FBQyxFQUFFOVcsR0FBRzhXLEdBQUUsQ0FBQyxFQUFFN3VDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTQ0RixJQUFJOTZELEdBQUUrUSxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU81USxHQUFFNjZELElBQUlua0gsR0FBRWs0SSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVoMEIsSUFBSTc2RCxHQUFFakcsRUFBRSxDQUFDLEVBQUUvM0IsRUFBRSxDQUFDLEVBQUUsSUFDeEYsSUFBRyxPQUFPaStCLEdBQUU4NkQsSUFBSXBrSCxHQUFFb3BELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFDN0IsSUFBRyxJQUNIMkgsR0FBRTNILEdBQUUsQ0FBQyxFQUFFakwsR0FBRzRTLEdBQUUsQ0FBQyxFQUFFeFksR0FBR3dZLEdBQUUsQ0FBQyxFQUFFdlksR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFbWtGLElBQUlnYixHQUFHNW1GLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBT3pILEdBQUV1ekUsSUFBSTc4SCxHQUFFbStDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRXkrRSxJQUFJM3hFLEdBQUUxUyxFQUFFLENBQUMsRUFBRUMsRUFBRSxDQUFDLEVBQUUsSUFDekYsSUFBRyxJQUNIdXdCLEdBQUczZixHQUFFLENBQUMsRUFBRTBWLEdBQUVpSyxHQUFHLENBQUMsRUFBRTNzQixHQUFHMnNCLEdBQUcsQ0FBQyxFQUFFOTZCLEdBQU82d0IsR0FBRSxDQUFDLElBQVAsRUFBU3pWLEdBQUV5VixHQUFFLENBQUMsQ0FBQyxFQUFFM1YsR0FBRTJWLEdBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBT3hWLEdBQUVpN0QsSUFBSXZrSCxHQUFFbzhDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRWtvRSxJQUFJcjJFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFbzJFLElBQUlqeUQsR0FBRXdXLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQzlHLElBQUcsSUFDSDFhLEdBQUU5RSxHQUFFLENBQUMsRUFBRTJHLEdBQUc3QixHQUFFLENBQUMsRUFBRXozQyxHQUFHeTNDLEdBQUUsQ0FBQyxFQUFFbkIsR0FBR21CLEdBQUUsQ0FBQyxFQUFFNlUsR0FBRTdVLEdBQUUsQ0FBQyxFQUFFenhCLEdBQUd5eEIsR0FBRSxDQUFDLEVBQUUsR0FBRzZVLEdBQUUsQ0FBQyxJQUNwRGlHLEdBQUdqRyxHQUFFLENBQUMsRUFBRSxHQUFPaUcsR0FBRyxDQUFDLElBQVIsRUFBVSxDQUFDLElBQ3RCMVAsR0FBRzBQLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRW12RSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUzekIsSUFBSXB5RCxHQUFFd1csR0FBR255RCxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTBtQixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVzbkYsSUFBSS9xRCxHQUFFek8sR0FBRXFPLEVBQUUsQ0FBQyxFQUFFNitFLEVBQUUsRUFBRSxPQUFPN3VGLEdBQUVxN0QsSUFBSTNrSCxHQUFFK3ZELEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTIwRCxJQUFJaHJELEdBQUU5TCxHQUFFYixFQUFFLENBQUMsRUFBRTV2QixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFDNUc5cEIsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFdXhHLElBQUl4eUQsR0FBRXdXLEdBQUdueUQsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUVpM0MsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFbTNELElBQUluckQsR0FBRTlMLEdBQUViLEVBQUUsQ0FBQyxFQUFFMTVDLEVBQUUsRUFBRXkyQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVnN0QsSUFBSXA5RyxHQUFHcTdELEVBQUMsQ0FBQyxFQUFFclYsRUFBRSxFQUFFLE9BQU9wRSxHQUFFMDdELElBQUlobEgsR0FBRSt2RCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVnMUQsSUFBSXJyRCxHQUFFclEsR0FBRTVzQixFQUFFLENBQUMsRUFBRXF0QixFQUFFLENBQUMsRUFBRSxJQUN2SCxJQUFHLElBQ0htWixHQUFFN1osR0FBRSxDQUFDLEVBQUU3bUMsR0FBRzBnRCxHQUFFLENBQUMsRUFBRTFyRCxHQUFHMHJELEdBQUUsQ0FBQyxFQUFFMXNELEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTB1RyxJQUFJdnJELEdBQUVpZ0csSUFBSTEyRixHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8zWixHQUFFNjdELElBQUlubEgsR0FBRXVpQixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUyaUcsSUFBSS83RCxHQUFFNXhDLEVBQUUsQ0FBQyxFQUFFaEIsRUFBRSxDQUFDLEVBQUUsSUFDNUYsSUFBRyxJQUNIeTNDLEdBQUU1RSxHQUFFLENBQUMsRUFBRWtNLEdBQUd0SCxHQUFFLENBQUMsRUFBRXpCLEdBQUd5QixHQUFFLENBQUMsRUFBRTZiLEdBQUc3YixHQUFFLENBQUMsRUFBRW9xRixHQUFHcHFGLEdBQUUsQ0FBQyxFQUFFcXFGLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRWp6QixJQUFJLzdELEdBQUUyRSxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFc3FGLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRWp6QixJQUFJM3JELEdBQUV2USxHQUFFb0QsRUFBRSxDQUFDLEVBQUU4ckYsRUFBRSxFQUFFRSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVqekIsSUFBSTVyRCxHQUFFdlEsR0FBRTBnQixFQUFFLENBQUMsRUFBRXl1RSxFQUFFLEVBQUUsT0FBT2h2RixHQUFFazhELElBQUl4bEgsR0FBRXMxRCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVpd0QsSUFBSTdyRCxHQUFFLFNBQVMzNUQsSUFBRSxDQUFDLE9BQVdBLElBQUUsQ0FBQyxJQUFQLEVBQVNnM0QsR0FBRWgzRCxJQUFFLENBQUMsQ0FBQyxFQUFFb3BELEdBQUVwcEQsSUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFcTRJLEVBQUUsQ0FBQyxFQUFFRyxFQUFFLENBQUMsRUFBRSxJQUN6TSxJQUFHLElBQ0h0cUYsR0FBRTdFLEdBQUUsQ0FBQyxFQUFFOFosR0FBRWpWLEdBQUUsQ0FBQyxFQUFFdXFGLEdBQUd2cUYsR0FBRSxDQUFDLEVBQUVyM0MsR0FBR3EzQyxHQUFFLENBQUMsRUFBRXBrQyxHQUFHb2tDLEdBQUUsQ0FBQyxFQUFFMmIsR0FBRzNiLEdBQUUsQ0FBQyxFQUFFNmIsR0FBTzVHLEdBQUUsQ0FBQyxJQUFQLEVBQVNuTSxHQUFFbU0sR0FBRSxDQUFDLENBQUMsRUFBRXBWLEdBQUVvVixHQUFFLENBQUMsQ0FBQyxFQUFFdTFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRS95QixJQUFJcjhELEdBQUV4L0IsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTQ3RixJQUFJLENBQUMsQ0FBQzd1RyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTzB5QyxHQUFFdThELElBQUk3bEgsR0FBRXc0SSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU1eUIsSUFBSTk3QyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTY3QyxJQUFJeDhELEdBQUV5Z0IsRUFBRSxDQUFDLEVBQUU2dUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUN6SyxJQUFHLElBQ0gvbUYsR0FBRXRJLEdBQUUsQ0FBQyxFQUFFK1osR0FBRXpSLEdBQUUsQ0FBQyxFQUFFZ25GLEdBQUdobkYsR0FBRSxDQUFDLEVBQUV4bkMsR0FBR3duQyxHQUFFLENBQUMsRUFBRXJpRCxHQUFHcWlELEdBQUUsQ0FBQyxFQUFFbm1ELEdBQUdtbUQsR0FBRSxDQUFDLEVBQUU5ZSxHQUFPdXdCLEdBQUUsQ0FBQyxJQUFQLEVBQVNwTSxHQUFFb00sR0FBRSxDQUFDLENBQUMsRUFBRXJWLEdBQUVxVixHQUFFLENBQUMsQ0FBQyxFQUFFbHlCLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTgwRSxJQUFJMThELEdBQUVoNkMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXkyRyxJQUFJLENBQUMsQ0FBQzU3RixFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBT28vQixHQUFFNDhELElBQUlsbUgsR0FBRTA0SSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUV6eUIsSUFBSXJ6RSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRW96RSxJQUFJNzhELEdBQUU1OUMsRUFBRSxDQUFDLEVBQUUwbEMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUN6SyxJQUFHLElBQ0grYSxHQUFFNUMsR0FBRSxDQUFDLEVBQUVzTyxHQUFHMUwsR0FBRSxDQUFDLEVBQUV1ZCxHQUFHdmQsR0FBRSxDQUFDLEVBQUU0SyxHQUFHNUssR0FBRSxFQUFFLEVBQUVpRixHQUFHakYsR0FBRSxDQUFDLEVBQUV1TSxHQUFHdk0sR0FBRSxDQUFDLEVBQUVxTyxHQUFHck8sR0FBRSxDQUFDLEVBQUV5USxHQUFHelEsR0FBRSxDQUFDLEVBQUVxdEYsR0FBR3J0RixHQUFFLENBQUMsRUFBRXN0RixHQUFHdHRGLEdBQUUsQ0FBQyxFQUFFdXRGLEdBQUdod0UsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFaXdFLEdBQUd4dEYsR0FBRSxDQUFDLEVBQUV5dEYsR0FBTy9oRixHQUFHLENBQUMsSUFBUixFQUFVQSxHQUFHLENBQUMsRUFBRWlDLEdBQUU2MkQsR0FBRyxFQUFFcDNELEdBQUdzK0UsR0FBRzV1RSxHQUFHeXdFLEVBQUUsRUFBRTNpRixFQUFFLEVBQUUsR0FBTzZGLEtBQUosRUFBTyxJQUN6SnhpQyxHQUFHLEVBQUV1dkMsR0FBR2luRCxRQUNSLEtBQ0F4MkYsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFNDJGLElBQUksQ0FBQyxDQUFDeW9CLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMW9CLElBQUksQ0FBQyxDQUFDeW9CLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMW9CLElBQUlqM0QsR0FBRTZKLEdBQUVsSixFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFcTJELElBQUksRUFBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRWxuRCxHQUFHc25ELElBQUksSUFDbEY3dEUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFOHRFLElBQUlyM0QsR0FBRXRMLEdBQUU2QyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVuYyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVrOEUsSUFBSTd0RyxHQUFHbzFDLEVBQUUsQ0FBQyxFQUFFdFYsRUFBRSxFQUFFeGtCLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRXd5RixJQUFJNWlFLEdBQUVvckYsRUFBRSxDQUFDLEVBQUUza0csRUFBRSxFQUFFbG9DLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRXNrSCxJQUFJem9ELEdBQUdjLEVBQUUsQ0FBQyxFQUFFOXFDLEVBQUUsRUFBRSxPQUFPNnFCLEdBQUVrZ0IsR0FBR3hwRSxHQUFFbzVELEdBQUdlLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWczRCxJQUFJejNELEdBQUV6TyxHQUFFdXVGLEVBQUUsQ0FBQyxFQUFFNXNJLEVBQUUsRUFBRXF0QixFQUFFLENBQUMsRUFBRSxJQUNsSixJQUFHLElBQ0grOUIsR0FBRTVPLEdBQUUsQ0FBQyxFQUFFNmYsR0FBR2pSLEdBQUUsQ0FBQyxFQUFFcm5DLEdBQUdxbkMsR0FBRSxDQUFDLEVBQUUxUixHQUFHMFIsR0FBRSxDQUFDLEVBQUVyVyxFQUFHcVcsR0FBRSxDQUFDLEVBQUUsR0FBR2lSLEdBQUcsSUFDN0NDLEdBQUdELEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTVQLEVBQUdoUSxHQUFFeXZHLElBQUk1dkYsR0FBRyxDQUFDLEVBQUVBLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFDakMsS0FDQTdQLEVBQUcwK0UsR0FBRyxJQUNObHFHLEVBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRXU0RSxJQUFJLzhELEdBQUUvQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNi9ELElBQUk5c0QsQ0FBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8vUCxHQUFFZzlELElBQUl0bUgsR0FBRTJ3QixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUwMUYsSUFBSWw5RCxHQUFFeEgsQ0FBRSxDQUFDLEVBQUU5VCxDQUFFLENBQUMsRUFBRSxJQUM5RSxJQUFHLElBQ0htYyxFQUFFWixHQUFFLENBQUMsRUFBRStmLEVBQUduZixFQUFFLENBQUMsRUFBRWhVLEVBQUdnVSxFQUFFLENBQUMsRUFBRTJVLEdBQUczVSxFQUFFLENBQUMsRUFBRTZnQixHQUFHN2dCLEVBQUUsQ0FBQyxFQUFFdXBCLEdBQUd2cEIsRUFBRSxDQUFDLEVBQUUsR0FBR21mLEVBQUcsQ0FBQyxJQUN0RC9GLEdBQUUrRixFQUFHLENBQUMsRUFBRSxHQUFPL0YsR0FBRSxDQUFDLElBQVAsRUFBUyxJQUNwQm5NLEdBQUd3RSxHQUFHLFNBQVMxN0QsSUFBRSxDQUFDLElBQ2xCQyxHQUFFRCxJQUFFLENBQUMsRUFBRW9wRCxHQUFFcHBELElBQUUsQ0FBQyxFQUFFcXBELEdBQUVycEQsSUFBRSxDQUFDLEVBQUU0ckQsSUFBRXhDLEdBQUVxYSxHQUFFeGpFLEdBQUUsQ0FBQyxFQUFFbXBELEdBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFbnBELEdBQUUsQ0FBQyxFQUFFZ3NELElBQUU3QyxHQUFFQSxHQUFFLENBQUMsRUFBRW5wRCxHQUFFRCxFQUFFLENBQUNDLEVBQUUsQ0FBQyxJQUMvRDR0RCxJQUFFLEVBQUUsR0FBR3hFLEdBQUUsQ0FBQyxPQUFPQSxHQUFFLENBQUMsRUFBRSxDQUFDLElBQ3ZCLEdBQUUsSUFDRkMsSUFBRTlhLEdBQUcsTUFBTSxJQUNYLEdBQUUsSUFDRjhhLElBQUU1dkIsR0FBRyxNQUFNLFFBQVEsTUFBTXo1QixDQUFDLENBQUMsSUFDM0IwckQsSUFBRXJDLElBQUUsTUFBTXRwRCxDQUFDLENBQUMsQ0FBQyxJQUNiMnJELElBQUVxc0YsRUFBRSxDQUFDLElBQ0xqcUYsSUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNGlGLElBQUl6bEYsR0FBRWUsR0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXlrRixJQUFJL2tGLEdBQUMsRUFBRWtDLEdBQUMsQ0FBQyxFQUFFLE9BQU90RSxHQUFFc25GLElBQUlqbEYsSUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVnbEYsSUFBSTFsRixHQUFFanJELEVBQUMsQ0FBQyxFQUFFOHRELEdBQUMsQ0FBQyxDQUFDLEVBQUVzVixHQUFFLENBQUMsQ0FBQyxNQUM3RSxLQUNBM0UsR0FBRzJFLEdBQUUsQ0FBQyxFQUFFM3NCLEdBQUdnb0IsR0FBRyxDQUFDLEVBQUV4SCxHQUFHLENBQUMsRUFBRTNOLEdBQUVrbkYsSUFBSS81RixHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTg1RixJQUFJdGxGLEdBQUV3VCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQzdEdmlDLEdBQUUrNkIsRUFBRSxLQUNKLEtBQ0EvNkIsR0FBRSxFQUFFLEdBQUc4WixFQUFHLElBQ1ZndEIsR0FBR2h0QixFQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVhLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRXc1RixJQUFJcGxGLEdBQUUrWCxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVyTCxHQUFHLENBQUMsRUFBRXJPLEdBQUVnbkYsSUFBSXR0RSxHQUFHLENBQUMsRUFBRSxFQUFFbnNCLEVBQUUsRUFBRTNhLEVBQUMsTUFDNUQsS0FDQXk3QixHQUFHejdCLEdBQUUsT0FBT3EzQyxHQUFHLENBQUMsSUFDaEIsR0FBRSxJQUNGalEsR0FBRWlqRCxJQUFJLE1BQU0sSUFDWixHQUFFLElBQ0ZqakQsR0FBRWtqRCxJQUFJLE1BQU0sUUFBUSxJQUNwQmxqRCxHQUFFbWpELEdBQUcsQ0FBQyxJQUNOa3lCLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRWh5QixJQUFJLzRELEdBQUVpZCxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNjdDLElBQUl0MEQsR0FBRWtSLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU9oYSxHQUFFdTlELElBQUk3bUgsR0FBRTIrRCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVpb0QsSUFBSXQ5QyxHQUFHM1IsRUFBRSxDQUFDLEVBQUVnaEYsRUFBRSxDQUFDLEVBQUUsSUFDakYsSUFBRyxPQUFPZixHQUFHLENBQUMsRUFBRTUzSSxHQUFFb3BELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUN6QixJQUFHLElBQ0h3UCxHQUFFeFAsR0FBRSxDQUFDLEVBQUV3dkYsR0FBR2hnRixHQUFFLENBQUMsRUFBRXArQyxHQUFHbytDLEdBQUUsQ0FBQyxFQUFFdkwsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFeTVELElBQUl6OUQsR0FBRXVQLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBT3RQLEdBQUUwOUQsSUFBSWhuSCxHQUFFNDRJLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTd4QixJQUFJOTdELEdBQUV6d0MsRUFBRSxDQUFDLEVBQUU2eUMsRUFBRSxDQUFDLEVBQUUsSUFDeEYsSUFBRyxJQUNIMkcsR0FBRTVLLEdBQUUsQ0FBQyxFQUFFK0ksR0FBRzZCLEdBQUUsQ0FBQyxFQUFFOUosR0FBRzhKLEdBQUUsQ0FBQyxFQUFFNmtGLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTV4QixJQUFJNWpELEdBQUV2b0IsR0FBR2taLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTzFLLEdBQUU2OUQsSUFBSW5uSCxHQUFFbXlELEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSswRCxJQUFJLzlELEdBQUVlLEVBQUUsQ0FBQyxFQUFFMnVGLEVBQUUsQ0FBQyxFQUFFLElBQzNGLElBQUcsSUFDSHp2RSxHQUFHaGdCLEdBQUUsQ0FBQyxFQUFFMHZGLEdBQUcxdkUsR0FBRyxDQUFDLEVBQUUsT0FBTzlmLEdBQUUrOUQsSUFBSXJuSCxHQUFFODRJLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTF4QixJQUFJMXRELEdBQUV2USxHQUFFaWdCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUM3RCxJQUFHLElBQ0gzRixHQUFHcmEsR0FBRSxDQUFDLEVBQUUydkYsR0FBR3QxRSxHQUFHLENBQUMsRUFBRXUxRSxHQUFHdjFFLEdBQUcsQ0FBQyxFQUFFdzFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTN4QixJQUFJamtELEdBQUV2MEMsR0FBRzIwQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU9uYSxHQUFFaytELElBQUl4bkgsR0FBRSs0SSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUV4eEIsSUFBSXArRCxHQUFFNnZGLEVBQUUsQ0FBQyxFQUFFQyxFQUFFLENBQUMsRUFBRSxJQUMvRixJQUFHLElBQ0g1dkUsR0FBR2pnQixHQUFFLENBQUMsRUFBRTh2RixHQUFHN3ZFLEdBQUcsQ0FBQyxFQUFFLE9BQU8vZixHQUFFbytELElBQUkxbkgsR0FBRWs1SSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUV6eEIsSUFBSXQrRCxHQUFFa2dCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUMzRCxJQUFHLElBQ0h0d0MsR0FBRXF3QixHQUFFLENBQUMsRUFBRSt2RixHQUFHcGdILEdBQUUsQ0FBQyxFQUFFcWdILEdBQUdyZ0gsR0FBRSxDQUFDLEVBQUU2USxHQUFHN1EsR0FBRSxDQUFDLEVBQUVxTCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUV1akYsSUFBSWp1RCxHQUFFckwsR0FBRXQxQixHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFdmdCLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRW92RyxJQUFJbHVELEdBQUVqSyxHQUFHMnBGLEVBQUUsQ0FBQyxFQUFFaDFHLEVBQUUsRUFBRSxPQUFPa2xCLEdBQUV3K0QsSUFBSTluSCxHQUFFbTVJLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRXR4QixJQUFJeDVELEdBQUV6a0IsRUFBRSxDQUFDLEVBQUVweEIsRUFBRSxDQUFDLEVBQUUsSUFDN0gsSUFBRyxPQUFPbTlCLEdBQUcsQ0FBQyxFQUFFMzFDLEdBQUVvcEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ3pCLElBQUcsT0FBT3lmLEdBQUcsRUFBRSxDQUFDLEVBQUU3b0UsR0FBRW9wRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDM0IsSUFBRyxPQUFPMk4sR0FBRSxDQUFDLEVBQUUvMkQsR0FBRW9wRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDeEIsSUFBRyxJQUNIenBCLEdBQUd5cEIsR0FBRSxDQUFDLEVBQUU5d0MsR0FBR3FuQixHQUFHLENBQUMsRUFBRWlVLEdBQUdqVSxHQUFHLENBQUMsRUFBRW9sQixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVnakUsSUFBSTErRCxHQUFFMXBCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTzJwQixHQUFFMitELElBQUlqb0gsR0FBRXNZLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTB2RyxJQUFJNytELEdBQUV2VixFQUFFLENBQUMsRUFBRW1SLEVBQUUsQ0FBQyxFQUFFLFFBQVEsSUFDcEcySCxHQUFHdEQsR0FBRSxDQUFDLEVBQUUvMUIsSUFBR3E1QixHQUFHLENBQUMsRUFBRU4sR0FBR00sR0FBRyxDQUFDLEVBQUVvSCxJQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVvMEQsSUFBSTcrRCxHQUFFcUQsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPcEQsR0FBRTgrRCxJQUFJcG9ILEdBQUVxekIsSUFBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFODBGLElBQUloL0QsR0FBRWlELEVBQUUsQ0FBQyxFQUFFMEgsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQzdGM0ssR0FBRXBwRCxHQUFFLENBQUMsSUFDTEMsR0FBRUQsR0FBRSxDQUFDLEVBQUVxcEQsR0FBRXJwRCxHQUFFLENBQUMsRUFBRSxPQUFPQyxHQUFFLENBQUMsRUFBRSxDQUFDLElBQzNCLEdBQUUsSUFDRmtqRSxHQUFFbGpFLEdBQUUsQ0FBQyxFQUFFZ3BFLEdBQUc5RixHQUFFLENBQUMsRUFBRStGLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRW8vQyxJQUFJaGxELEdBQUU3b0QsR0FBRzBvRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU81WixHQUFFZy9ELElBQUlsL0QsR0FBRTBmLEdBQUdFLEVBQUUsRUFBRUMsRUFBRSxFQUFFLElBQ3JFLEdBQUUsSUFDRjNhLEdBQUV0dUQsR0FBRSxDQUFDLEVBQUVnNEQsR0FBRTFKLEdBQUUsQ0FBQyxFQUFFNlUsR0FBRTdVLEdBQUUsQ0FBQyxFQUFFNGEsR0FBRzVhLEdBQUUsRUFBRSxFQUFFK0ssR0FBRy9LLEdBQUUsQ0FBQyxFQUFFNmEsR0FBRzdhLEdBQUUsQ0FBQyxFQUFFdFksR0FBR3NZLEdBQUUsQ0FBQyxFQUFFMkksR0FBRzNJLEdBQUUsQ0FBQyxFQUFFcUosR0FBR3dMLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFPbkwsR0FBRSxDQUFDLElBQVAsRUFBUyxJQUNyRjk3QixHQUFFLEVBQUVrbkMsR0FBRS9VLEdBQUUySixHQUFFLENBQUMsQ0FBQyxNQUNaLEtBQ0E5N0IsR0FBRSxFQUFFa25DLEdBQUVqYSxHQUFFNk8sR0FBRSxDQUFDLENBQUMsRUFBRSxJQUNkeUcsR0FBR2k1RSxHQUFHNXVFLEdBQUduUixFQUFFLEVBQUV1UixFQUFFLEVBQUVFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRW0vQyxJQUFJN3VELEdBQUV0TCxHQUFFaUwsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFZ1EsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFby9DLElBQUksQ0FBQyxDQUFDdnNGLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFc3NGLElBQUlybEcsR0FBR2dtRCxFQUFFLENBQUMsRUFBRUMsRUFBRSxDQUFDLEVBQUUxUixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVteEQsSUFBSXpsRCxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXdsRCxJQUFJLENBQUMsQ0FBQzN4RCxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTB4RCxJQUFJLEVBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFRCxJQUFJaHZELEdBQUU2SixHQUFFdnRCLEVBQUUsQ0FBQyxFQUFFcXpCLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPL2YsR0FBRTAvRCxJQUFJNS9ELEdBQUVxVixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVzcUQsSUFBSWd2QixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWp2QixJQUFJcmdELEdBQUd0RixFQUFDLENBQUMsRUFBRXpMLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFDbk4sR0FBRSxJQUNGNEwsR0FBRXRqRSxHQUFFLENBQUMsRUFBRXVwRSxHQUFHakcsR0FBRSxDQUFDLEVBQUUsT0FBT2hhLEdBQUU0L0QsSUFBSTkvRCxHQUFFbWdCLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTAvQyxJQUFJOS9ELEdBQUVtYSxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFDeEQsR0FBRSxJQUNGdnFDLEdBQUUvNEIsR0FBRSxDQUFDLEVBQUV3cEUsR0FBR3p3QyxHQUFFLENBQUMsRUFBRWtCLEdBQUdsQixHQUFFLENBQUMsRUFBRTRwQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUV3bUQsSUFBSXo5RCxHQUFFM3lCLEdBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU91d0IsR0FBRSsvRCxJQUFJamdFLEdBQUVvZ0IsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFNC9DLElBQUlqZ0UsR0FBRWx2QixFQUFFLENBQUMsRUFBRTBvQyxFQUFFLENBQUMsRUFBRSxJQUMzRixHQUFFLElBQ0Z4VSxHQUFFbnVELEdBQUUsQ0FBQyxFQUFFKzJELEdBQUU1SSxHQUFFLENBQUMsRUFBRXNiLEdBQUd0YixHQUFFLENBQUMsRUFBRXViLEdBQUd2YixHQUFFLENBQUMsRUFBRXdiLEdBQUd4YixHQUFFLENBQUMsRUFBRSxHQUFHNEksR0FBRSxDQUFDLE9BQU9BLEdBQUUsQ0FBQyxFQUFFLENBQUMsSUFDekQsR0FBRSxJQUNGcEwsR0FBRStyQixJQUFHLE1BQU0sSUFDWCxHQUFFLElBQ0YvckIsR0FBRWdzQixJQUFHLE1BQU0sSUFDWCxHQUFFLElBQ0Zoc0IsR0FBRWlzQixJQUFHLE1BQU0sSUFDWCxHQUFFLElBQ0Zqc0IsR0FBRWtzQixJQUFHLE1BQU0sSUFDWCxHQUFFLElBQ0Zsc0IsR0FBRW1zQixJQUFHLE1BQU0sSUFDWCxHQUFFLElBQ0Zuc0IsR0FBRW9zQixJQUFHLE1BQU0sSUFDWCxHQUFFLElBQ0Zwc0IsR0FBRXFzQixJQUFHLE1BQU0sSUFDWCxHQUFFLElBQ0Zyc0IsR0FBRXNzQixJQUFHLE1BQU0sSUFDWCxHQUFFLElBQ0Z0c0IsR0FBRXVzQixJQUFHLE1BQU0sSUFDWCxHQUFFLElBQ0Z2c0IsR0FBRXdzQixJQUFHLE1BQU0sSUFDWCxJQUFHLElBQ0h4c0IsR0FBRXlzQixJQUFHLE1BQU0sSUFDWCxJQUFHLElBQ0h6c0IsR0FBRTBzQixJQUFHLE1BQU0sSUFDWCxJQUFHLElBQ0gxc0IsR0FBRTJzQixJQUFHLE1BQU0sSUFDWCxJQUFHLElBQ0gzc0IsR0FBRTRzQixJQUFHLE1BQU0sUUFBUSxJQUNuQjVzQixHQUFFNnNCLEdBQUUsQ0FBQyxJQUNMNWYsR0FBRWpOLEVBQUMsS0FDSCxLQUNBaU4sR0FBRTB3RCxJQUFJLElBQ05ueUYsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFb3lGLElBQUlwZ0UsR0FBRXVnQixFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBT3BnQixHQUFFb2dFLElBQUl0Z0UsR0FBRXFnQixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVnZ0QsSUFBSXIzRCxHQUFFd0csRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTR3RCxJQUFJMTdELEdBQUU2YixFQUFFLENBQUMsRUFBRXh5QyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQ2hGLEdBQUUsSUFDRisyQixHQUFFbHVELEdBQUUsQ0FBQyxFQUFFc2pELEdBQUc0SyxHQUFFLENBQUMsRUFBRWg1QyxHQUFHZzVDLEdBQUUsQ0FBQyxFQUFFdUgsR0FBR3ZILEdBQUUsQ0FBQyxFQUFFOUQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFdS9ELElBQUl4Z0UsR0FBRStFLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUwTixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVndUQsSUFBSXpnRSxHQUFFajBDLEVBQUUsQ0FBQyxFQUFFazFDLEVBQUUsRUFBRSxPQUFPcUwsR0FBRyxDQUFDLElBQzNGLEdBQUUsSUFDRnBNLEdBQUUrc0IsSUFBRyxNQUFNLElBQ1gsR0FBRSxJQUNGL3NCLEdBQUVndEIsSUFBRyxNQUFNLElBQ1gsR0FBRSxJQUNGaHRCLEdBQUVpdEIsSUFBRyxNQUFNLElBQ1gsR0FBRSxJQUNGanRCLEdBQUVrdEIsSUFBRyxNQUFNLElBQ1gsR0FBRSxJQUNGbHRCLEdBQUVtdEIsSUFBRyxNQUFNLElBQ1gsR0FBRSxJQUNGbnRCLEdBQUVvdEIsSUFBRyxNQUFNLElBQ1gsR0FBRSxJQUNGcHRCLEdBQUVxdEIsSUFBRyxNQUFNLElBQ1gsR0FBRSxJQUNGcnRCLEdBQUVzdEIsSUFBRyxNQUFNLElBQ1gsR0FBRSxJQUNGdHRCLEdBQUV1dEIsSUFBRyxNQUFNLElBQ1gsR0FBRSxJQUNGdnRCLEdBQUV3dEIsSUFBRyxNQUFNLElBQ1gsSUFBRyxJQUNIeHRCLEdBQUV5dEIsSUFBRyxNQUFNLElBQ1gsSUFBRyxJQUNIenRCLEdBQUUwdEIsSUFBRyxNQUFNLElBQ1gsSUFBRyxJQUNIMXRCLEdBQUUydEIsSUFBRyxNQUFNLElBQ1gsSUFBRyxJQUNIM3RCLEdBQUU0dEIsSUFBRyxNQUFNLElBQ1gsSUFBRyxJQUNINXRCLEdBQUU2dEIsSUFBRyxNQUFNLElBQ1gsSUFBRyxJQUNIN3RCLEdBQUU4dEIsSUFBRyxNQUFNLElBQ1gsSUFBRyxJQUNIOXRCLEdBQUUrdEIsSUFBRyxNQUFNLElBQ1gsSUFBRyxJQUNIL3RCLEdBQUVndUIsSUFBRyxNQUFNLElBQ1gsSUFBRyxJQUNIaHVCLEdBQUVpdUIsSUFBRyxNQUFNLElBQ1gsSUFBRyxJQUNIanVCLEdBQUVrdUIsSUFBRyxNQUFNLElBQ1gsSUFBRyxJQUNIbHVCLEdBQUVtdUIsSUFBRyxNQUFNLFFBQVEsSUFDbkJudUIsR0FBRW91QixHQUFFLENBQUMsT0FBT251QixHQUFFd2dFLElBQUkxZ0UsR0FBRTlGLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRXVtRSxJQUFJejNELEdBQUUvSSxFQUFDLENBQUMsRUFBRXVTLEVBQUUsQ0FBQyxFQUFFLElBQzVDLEdBQUUsSUFDRm5DLEdBQUV6NUQsR0FBRSxDQUFDLEVBQUVnakUsR0FBR3ZKLEdBQUUsQ0FBQyxFQUFFOXRDLEdBQUcrckgsR0FBRzV1RSxHQUFHclAsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFdUosRUFBRSxFQUFFLE9BQU8xWixHQUFFeWdFLElBQUkzZ0UsR0FBRXo5QixHQUFHd3NILEdBQUcxK0UsRUFBQyxDQUFDLEVBQUUsSUFDakUsR0FBRSxPQUFPeHlCLEdBQUcydkYsSUFBSSxDQUFDLEVBQUV4dEUsR0FBRXBwRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDNUIsR0FBRSxJQUNGZ3VELEdBQUVodUQsR0FBRSxDQUFDLEVBQUUwSCxHQUFHc21ELEdBQUUsQ0FBQyxFQUFFclksR0FBR3FZLEdBQUUsQ0FBQyxFQUFFMk4sR0FBRzNOLEdBQUUsQ0FBQyxFQUFFNk8sR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFbXRELElBQUk3Z0UsR0FBRTZFLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUyVixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVzbUQsSUFBSTlnRSxHQUFFeFQsRUFBRSxDQUFDLEVBQUVrbkIsRUFBRSxFQUFFLE9BQU92VCxHQUFFNmdFLElBQUkvZ0UsR0FBRTFoRCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUV3aUgsSUFBSS9nRSxHQUFFd1MsRUFBRSxDQUFDLEVBQUVnSSxFQUFFLENBQUMsRUFBRSxJQUN4SCxHQUFFLE9BQU96SixHQUFFLENBQUMsRUFBRTlRLEdBQUVwcEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ3ZCLElBQUcsT0FBT2lyRCxHQUFFanJELEdBQUUsQ0FBQyxDQUFDLEVBQUUsSUFDbEIsSUFBRyxJQUNIZzBELEdBQUVoMEQsR0FBRSxDQUFDLEVBQUUyM0ksR0FBRzNqRixHQUFFLENBQUMsRUFBRSxPQUFPMUssR0FBRStnRSxJQUFJamhFLEdBQUV1dUYsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFdnRCLElBQUlqaEUsR0FBRTZLLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUN4RCxJQUFHLE9BQU81WCxHQUFHLENBQUMsRUFBRWdOLEdBQUVwcEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ3pCLElBQUcsT0FBT2l1QyxHQUFHLENBQUMsRUFBRW1iLEdBQUVwcEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ3pCLElBQUcsT0FBTzR0RCxHQUFFLENBQUMsRUFBRXhFLEdBQUVwcEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ3hCLElBQUcsT0FBT2dpRCxHQUFHLENBQUMsRUFBRW9ILEdBQUVwcEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ3pCLElBQUcsT0FBTzg1RCxHQUFHLENBQUMsRUFBRTFRLEdBQUVwcEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ3pCLElBQUcsT0FBTyt0RCxHQUFFLENBQUMsRUFBRTNFLEdBQUVwcEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ3hCLElBQUcsT0FBTzZ0RCxHQUFFLENBQUMsRUFBRXpFLEdBQUVwcEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ3hCLElBQUcsSUFDSGl1RCxHQUFFanVELEdBQUUsQ0FBQyxFQUFFK3ZELEdBQUc5QixHQUFFLENBQUMsRUFBRXNMLEdBQUd0TCxHQUFFLENBQUMsRUFBRS9qQyxHQUFHK2pDLEdBQUUsQ0FBQyxFQUFFNStDLEdBQUc0K0MsR0FBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLElBQzNDdDlCLEdBQUcsSUFDSCxPQUFPeWhDLEdBQUVtSCxFQUFFLEVBQUVuSCxHQUFFckMsRUFBRSxDQUFDLEVBQUV0NUMsR0FBR2thLEVBQUUsTUFBUyxDQUFDLElBQ25DbGEsR0FBR3NoSSxFQUFFLENBQUMsT0FBT3p1RixHQUFFazRFLElBQUlwNEUsR0FBRWwvQixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVxM0csSUFBSTlxSCxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTZxSCxJQUFJbHZFLEdBQUUvaUQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWd5SCxJQUFJMlksR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFNVksSUFBSWh2RSxHQUFFbUgsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTRuRSxJQUFJL3VFLEdBQUVyQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ2xILElBQUcsSUFDSEwsR0FBRTF2RCxHQUFFLENBQUMsRUFBRSxPQUFPNHRELEdBQUUsQ0FBQyxFQUFFeEUsR0FBRSxDQUFDLEVBQUVzRyxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQzFDLElBQUcsSUFDSGdDLEdBQUUxeEQsR0FBRSxDQUFDLEVBQUU0M0ksR0FBR2xtRixHQUFFLENBQUMsRUFBRW1tRixHQUFHbm1GLEdBQUUsQ0FBQyxFQUFFb21GLEdBQUdwbUYsR0FBRSxDQUFDLEVBQUUsT0FBT0EsR0FBRSxDQUFDLEVBQUUsQ0FBQyxJQUM1QyxHQUFFLElBQ0ZrSSxHQUFFMHdELElBQUksTUFBTSxJQUNaLEdBQUUsSUFDRjF3RCxHQUFFMndELElBQUksTUFBTSxRQUFRLElBQ3BCM3dELEdBQUU0d0QsR0FBRyxDQUFDLElBQ056a0gsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFMGtILElBQUl0aEUsR0FBRTB1RixFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBT3Z1RixHQUFFc2hFLElBQUl4aEUsR0FBRXd1RixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVqdEIsSUFBSXY0RCxHQUFFd0gsRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTh3RCxJQUFJdmhFLEdBQUUydUYsRUFBRSxDQUFDLEVBQUUveEksRUFBRSxDQUFDLENBQUMsRUFBRSxJQUNoRixJQUFHLElBQ0gwckQsR0FBRXp4RCxHQUFFLENBQUMsRUFBRXcxRCxHQUFHL0QsR0FBRSxDQUFDLEVBQUV5RixHQUFHekYsR0FBRSxDQUFDLEVBQUVtUixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVpb0QsSUFBSXhuRCxHQUFFMWhCLEdBQUc4UCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU9uSSxHQUFFeWhFLElBQUkzaEUsR0FBRW9NLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRXMxRCxJQUFJM2hFLEdBQUUrTixFQUFFLENBQUMsRUFBRTBMLEVBQUUsQ0FBQyxFQUFFLElBQzNGLElBQUcsSUFDSFksR0FBRXhqRSxHQUFFLENBQUMsRUFBRThuRCxHQUFHMGIsR0FBRSxDQUFDLEVBQUUsT0FBT2xhLEdBQUUwaEUsSUFBSTVoRSxHQUFFdEIsR0FBRzNxQixHQUFHcW1DLEVBQUMsQ0FBQyxFQUFFLElBQ3hDLElBQUcsSUFDSDNKLEdBQUU3NUQsR0FBRSxDQUFDLEVBQUVnNEksR0FBR24rRSxHQUFFLENBQUMsRUFBRW8rRSxHQUFHcCtFLEdBQUUsQ0FBQyxFQUFFcStFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRWp0QixJQUFJaGdFLEdBQUU0TyxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU92USxHQUFFNmhFLElBQUkvaEUsR0FBRTR1RixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU5c0IsSUFBSWpnRSxHQUFFZ3RGLEVBQUUsQ0FBQyxFQUFFQyxFQUFFLENBQUMsRUFBRSxJQUN4RixJQUFHLElBQ0hsdUYsR0FBRWhxRCxHQUFFLENBQUMsRUFBRXlqRSxHQUFHelosR0FBRSxDQUFDLEVBQUVycUIsR0FBR3FxQixHQUFFLENBQUMsRUFBRTVHLEdBQUc0RyxHQUFFLENBQUMsRUFBRTMrQixHQUFHMitCLEdBQUUsQ0FBQyxFQUFFLEdBQUdycUIsR0FBRyxJQUM3QytzQixHQUFHL3NCLEdBQUcsQ0FBQyxFQUFFbEQsR0FBR2k3RyxHQUFHNXVFLEdBQUdwYyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRStXLEVBQUUsRUFBRXhqRSxHQUFHdzhCLEdBQUcraEMsR0FBR2p2QyxHQUFHbTlCLEVBQUUsTUFDOUMsS0FDQXpzRCxHQUFHd2pFLEdBQUdqRixHQUFHOEssR0FBRyxDQUFDLEVBQUUsSUFDZmoyRCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVnNEcsSUFBSTN4RCxHQUFFM00sR0FBRzNKLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVnb0UsSUFBSTVzRCxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBT2xWLEdBQUVpaUUsSUFBSW5pRSxHQUFFbnBELEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRXFySCxJQUFJbmlFLEdBQUU5OUIsRUFBRSxDQUFDLEVBQUVoWSxFQUFFLENBQUMsRUFBRSxJQUNqRixJQUFHLElBQ0hxd0QsR0FBRzFqRSxHQUFFLENBQUMsRUFBRTB0RCxHQUFHZ1csR0FBRyxDQUFDLEVBQUU1WixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUwaEUsSUFBSW5vRCxHQUFFa1EsR0FBRzdQLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBT3BhLEdBQUVtaUUsSUFBSXJpRSxHQUFFMGYsR0FBR3BiLEVBQUUsRUFBRTVELEVBQUUsRUFBRSxJQUN4RSxJQUFHLElBQ0g0ZSxHQUFHMW9FLEdBQUUsQ0FBQyxFQUFFNmlFLEdBQUU2RixHQUFHLENBQUMsRUFBRXBQLEdBQUdvUCxHQUFHLENBQUMsRUFBRW5tRCxHQUFHc2dELEdBQUUsQ0FBQyxFQUFFdHJELEdBQUdtZ0ksR0FBRzV1RSxHQUFHakcsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFdGdELEVBQUUsRUFBRSxPQUFPK21DLEdBQUVxaUUsSUFBSXZpRSxHQUFFN3hDLEdBQUc0aUQsR0FBRWcrRSxHQUFHdDFFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNm9ELElBQUksQ0FBQyxDQUFDcHlELEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ3pHLElBQUcsSUFDSGpZLEdBQUdyaEQsR0FBRSxDQUFDLEVBQUV3UCxHQUFHNnhDLEdBQUcsQ0FBQyxFQUFFOXFDLEdBQUcvRyxHQUFHLENBQUMsRUFBRThsRCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVzMkQsSUFBSSxDQUFDLENBQUN2cUUsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBT2lJLEdBQUV1aUUsSUFBSXppRSxHQUFFN3lDLEdBQUc0akQsR0FBRWg5QixHQUFHM3RCLEVBQUUsRUFBRThsRCxFQUFFLENBQUMsRUFBRSxJQUNuRixJQUFHLElBQ0hxVCxHQUFHM29FLEdBQUUsQ0FBQyxFQUFFdXNELEdBQUdvYyxHQUFHLENBQUMsRUFBRSxPQUFPcmYsR0FBRXlpRSxJQUFJM2lFLEdBQUVtRCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUV1L0QsSUFBSXpvRCxHQUFFbGEsR0FBRXdmLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUM3RCxJQUFHLE9BQU9yZixHQUFFMGlFLElBQUk1aUUsR0FBRXBwRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQzdCLElBQUcsSUFDSCt3RCxHQUFFL3dELEdBQUUsQ0FBQyxFQUFFdUwsR0FBR3dsRCxHQUFFLENBQUMsRUFBRW5lLEdBQUdtZSxHQUFFLENBQUMsRUFBRTlmLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRW14RixJQUFJNy9ELEdBQUd4UixHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU96SCxHQUFFZzVFLElBQUlsNUUsR0FBRTc5QyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU4MkgsSUFBSWw1RSxHQUFFdlcsRUFBRSxDQUFDLEVBQUUzQixFQUFFLENBQUMsRUFBRSxJQUN6RixJQUFHLE9BQU9zeEIsR0FBRyxDQUFDLEVBQUVuWixHQUFFcHBELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUN6QixJQUFHLE9BQU9zcEQsR0FBRTJpRSxJQUFJN2lFLEdBQUVwcEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUM3QixJQUFHLElBQ0g4aUUsR0FBRTlpRSxHQUFFLENBQUMsRUFBRTZwRSxHQUFHL0csR0FBRSxDQUFDLEVBQUVzMUUsR0FBR3QxRSxHQUFFLENBQUMsRUFBRXUxRSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVuc0IsSUFBSTk0RCxHQUFFMFAsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPeFosR0FBRThpRSxJQUFJaGpFLEdBQUV5Z0IsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFc2lELElBQUloakUsR0FBRWl2RixFQUFFLENBQUMsRUFBRUMsRUFBRSxDQUFDLEVBQUUsSUFDeEYsSUFBRyxJQUNIdjVFLEdBQUU5K0QsR0FBRSxDQUFDLEVBQUVzNEksR0FBR3g1RSxHQUFFLENBQUMsRUFBRXk1RSxHQUFHejVFLEdBQUUsQ0FBQyxFQUFFMDVFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRW5zQixJQUFJM2dFLEdBQUVvVCxHQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPeFYsR0FBRWlqRSxJQUFJbmpFLEdBQUVrdkYsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFaHNCLElBQUluakUsR0FBRW92RixFQUFFLENBQUMsRUFBRUMsRUFBRSxDQUFDLEVBQUUsSUFDM0YsSUFBRyxJQUNIejFFLEdBQUUvaUUsR0FBRSxDQUFDLEVBQUU0b0UsR0FBRzdGLEdBQUUsQ0FBQyxFQUFFOEYsR0FBRzlGLEdBQUUsQ0FBQyxFQUFFZ0csR0FBR2hHLEdBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBR2dHLEdBQUcsT0FBT3pmLEdBQUVtakUsSUFBSXJqRSxHQUFFd2YsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFNGpELElBQUlyakUsR0FBRTBmLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU9FLEdBQUcsQ0FBQyxJQUMxRixHQUFFLElBQ0YvYyxHQUFFMGdFLElBQUksTUFBTSxJQUNaLEdBQUUsSUFDRjFnRSxHQUFFMmdFLElBQUksTUFBTSxJQUNaLEdBQUUsSUFDRjNnRSxHQUFFNGdFLElBQUksTUFBTSxJQUNaLEdBQUUsSUFDRjVnRSxHQUFFNmdFLElBQUksTUFBTSxJQUNaLEdBQUUsSUFDRjdnRSxHQUFFOGdFLElBQUksTUFBTSxJQUNaLEdBQUUsSUFDRjlnRSxHQUFFK2dFLElBQUksTUFBTSxJQUNaLEdBQUUsSUFDRi9nRSxHQUFFZ2hFLElBQUksTUFBTSxRQUFRLElBQ3BCaGhFLEdBQUUyTixHQUFFc3pELEdBQUcsQ0FBQyxDQUFDLE9BQU8zakUsR0FBRStqRSxJQUFJamtFLEdBQUV3ZixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUV3a0QsSUFBSWg3RCxHQUFFcEcsRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRW1oRSxJQUFJLEVBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFRCxJQUFJL2pFLEdBQUUwZixFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDakYsSUFBRyxJQUNIclAsR0FBRXg1RCxHQUFFLENBQUMsRUFBRTRXLEdBQUc0aUQsR0FBRSxDQUFDLEVBQUUzdkMsR0FBRzJ2QyxHQUFFLENBQUMsRUFBRW9RLEdBQUdwUSxHQUFFLENBQUMsRUFBRXNRLEdBQUd0USxHQUFFLENBQUMsRUFBRTh6RCxJQUFJQyxJQUFJLE9BQU9qa0UsR0FBRXFrRSxJQUFJdmtFLEdBQUV4eUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFODJHLElBQUl0N0QsR0FBRTBYLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUyakQsSUFBSXRrRSxHQUFFeWdCLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU0akQsSUFBSSxDQUFDLENBQUMzakcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLElBQ2pJbzVDLEdBQUVqakUsR0FBRSxDQUFDLEVBQUV5NEksR0FBR3gxRSxHQUFFLENBQUMsRUFBRXkxRSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU5cUIsSUFBSSxDQUFDLENBQUMzcUQsR0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTzNaLEdBQUV3a0UsSUFBSTFrRSxHQUFFcXZGLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTVxQixJQUFJbjBELEdBQUV2USxHQUFFOFosR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFeTFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUNwRi8yRixHQUFHNWhELEdBQUUsQ0FBQyxJQUNOQyxHQUFFRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUVycEQsR0FBRSxDQUFDLEVBQUVpckQsR0FBRWpyRCxHQUFFLENBQUMsRUFBRTByRCxHQUFFM3JELEdBQUUsQ0FBQyxFQUFFNHJELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRW9pRSxJQUFJcjBELEdBQUV2USxHQUFFbnBELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUVnc0QsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFZ2lFLElBQUk3a0UsR0FBRUUsRUFBQyxDQUFDLEVBQUVzQyxFQUFDLEVBQUUsT0FBT3JDLEdBQUU0a0UsSUFBSXhpRSxHQUFFdEMsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNmtFLElBQUlyMEQsR0FBRTNPLEVBQUMsQ0FBQyxFQUFFZSxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ3ZIbFIsR0FBRy82QyxHQUFFLENBQUMsSUFDTkMsR0FBRUQsR0FBRSxDQUFDLEVBQUVxcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFcnBELEdBQUUsQ0FBQyxFQUFFaXJELEdBQUVqckQsR0FBRSxDQUFDLEVBQUUwckQsR0FBRTNyRCxHQUFFLENBQUMsRUFBRTRyRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV3aUUsSUFBSXowRCxHQUFFdlEsR0FBRW5wRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFZ3NELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRW9pRSxJQUFJLy9ELEdBQUVoRixFQUFDLENBQUMsRUFBRXNDLEVBQUMsRUFBRSxPQUFPckMsR0FBRWdsRSxJQUFJNWlFLEdBQUV0QyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVpbEUsSUFBSXowRCxHQUFFM08sRUFBQyxDQUFDLEVBQUVlLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FDdkg0TixHQUFFNzVELEdBQUUsQ0FBQyxJQUNMQyxHQUFFRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFLFNBQ2RxcEQsR0FBRXJwRCxHQUFFLENBQUMsT0FBT3VwRCxHQUFFeWxFLElBQUk1bEUsR0FBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUybEUsSUFBSS91SCxFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPQyxHQUFFLENBQUMsRUFBRSxDQUFDLElBQ3BELEdBQUUsT0FBT3NwRCxHQUFFMGxFLElBQUk3bEUsR0FBRW5wRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFDekIsR0FBRSxPQUFPb3BELEdBQUUyRSxHQUFFLENBQUMsRUFBRTVFLEdBQUVucEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDMUIsR0FBRSxPQUFPb3BELEdBQUV5RSxHQUFFLENBQUMsRUFBRTFFLEdBQUVucEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDMUIsR0FBRSxPQUFPb3BELEdBQUV3RSxHQUFFLENBQUMsRUFBRXpFLEdBQUVucEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDMUIsR0FBRSxPQUFPb3BELEdBQUVwSCxHQUFHLENBQUMsRUFBRW1ILEdBQUVucEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDM0IsR0FBRSxPQUFPb3BELEdBQUUwUSxHQUFHLENBQUMsRUFBRTNRLEdBQUVucEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDM0IsR0FBRSxJQUNGMHJELEdBQUUxckQsR0FBRSxDQUFDLEVBQUVzdUQsR0FBRTVDLEdBQUUsQ0FBQyxFQUFFd0MsR0FBRXhDLEdBQUUsQ0FBQyxFQUFFc0MsR0FBRXRDLEdBQUUsQ0FBQyxFQUFFdWpFLElBQUlDLElBQUl2akUsR0FBRTJDLEdBQUUsQ0FBQyxFQUFFRCxHQUFFQyxHQUFFLENBQUMsRUFBRUwsR0FBTXRDLEdBQUUsQ0FBQyxJQUFQLEVBQVNvQyxHQUFFLENBQUMsRUFBRU0sR0FBRTFDLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRWtDLEdBQUUsQ0FBQyxFQUFFUSxHQUFFMUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU9yQyxHQUFFK2xFLElBQUlsbUUsR0FBRStFLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWtoRSxJQUFJaDlELEdBQUVwRSxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFbWhFLElBQUlsaEUsRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDNUksR0FBRSxPQUFPeWEsR0FBRyxDQUFDLEVBQUV2ZixHQUFFbnBELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUN4QixHQUFFLE9BQU8wcEUsR0FBRzFwRSxHQUFFLENBQUMsQ0FBQyxFQUFFLElBQ2xCLEdBQUUsSUFDRm96RCxHQUFFLFNBQVNyekQsR0FBRSxDQUFDLElBQ2RvcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRUMsR0FBRW1wRCxHQUFFLENBQUMsRUFBRUMsR0FBRUQsR0FBRSxDQUFDLEVBQUV1QyxHQUFFdkMsR0FBRSxDQUFDLEVBQUV3QyxHQUFFNXJELEdBQUUsQ0FBQyxFQUFFaXNELEdBQUUsRUFBRSxPQUFPaHNELEdBQUUsQ0FBQyxFQUFFLENBQUMsSUFDcEQsR0FBRSxJQUNGcXBELEdBQUV1RSxHQUFFNXRELEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUNoQixHQUFFLElBQ0ZxcEQsR0FBRTBFLEdBQUUvdEQsR0FBRSxDQUFDLENBQUMsRUFBRSxNQUFNLFFBQVEsSUFDeEJxcEQsR0FBRTRCLEdBQUVqckQsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQ1Y4dEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNmdFLElBQUl0bEUsRUFBQyxFQUFFMkMsRUFBQyxFQUFFb0MsR0FBTWhGLEdBQUUsQ0FBQyxJQUFQLEVBQVNzZ0IsR0FBR3RnQixHQUFFLENBQUMsQ0FBQyxFQUFFZ0ssR0FBRWhLLEdBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBT0UsR0FBRXVsRSxJQUFJbGpFLEdBQUVELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWtqRSxJQUFJeGdFLEVBQUMsRUFBRU4sRUFBQyxDQUFDLENBQUMsRUFBRSxPQUFPc0YsR0FBRXB6RCxHQUFFLENBQUMsQ0FBQyxFQUFFLElBQ2hHLElBQUcsSUFDSGdzRCxHQUFFaHNELEdBQUUsQ0FBQyxFQUFFMHhELEdBQUUxRixHQUFFLENBQUMsRUFBRWhDLEdBQUVnQyxHQUFFLENBQUMsRUFBRXdOLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTgxRCxJQUFJNTFELEdBQUVpUSxHQUFHM2QsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRWdNLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXUzRCxJQUFJbHNELEdBQUUsU0FBU3RqRSxHQUFFLENBQUMsSUFDMUVDLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVucEQsR0FBRSxDQUFDLEVBQUVxcEQsR0FBRXJwRCxHQUFFLENBQUMsRUFBRTByRCxHQUFFM3JELEdBQUUsQ0FBQyxFQUFFNHJELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTRpRSxJQUFJLENBQUMsQ0FBQ3Z1SCxHQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRWdzRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV3aUUsSUFBSTUwRCxHQUFFNTVELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTJyRCxFQUFDLEVBQUUsT0FBT3hDLEdBQUUsQ0FBQyxFQUFFLENBQUMsSUFDeEYsR0FBRSxJQUNGQyxHQUFFd0UsR0FBRXpFLEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUNoQixHQUFFLElBQ0ZDLEdBQUUyRSxHQUFFNUUsR0FBRSxDQUFDLENBQUMsRUFBRSxNQUFNLFFBQVEsSUFDeEJDLEdBQUU2QixHQUFFOUIsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU9HLEdBQUVvbEUsSUFBSWhqRSxHQUFFckMsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFb2xFLElBQUlybEUsRUFBQyxFQUFFNEMsRUFBQyxDQUFDLENBQUMsRUFBRWhDLEVBQUMsQ0FBQyxFQUFFd1AsRUFBQyxFQUFFLE9BQU9sUSxHQUFFa21FLElBQUlybUUsR0FBRTJmLEdBQUdwWCxFQUFDLEVBQUVzRyxFQUFDLEVBQUUsSUFDNUUsSUFBRyxJQUNIbEssR0FBRTl0RCxHQUFFLENBQUMsRUFBRSs0QixHQUFFKzBCLEdBQUUsQ0FBQyxFQUFFMkwsR0FBRTNMLEdBQUUsQ0FBQyxFQUFFNEIsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFKy9ELElBQUkvMUQsR0FBRWlRLEdBQUc3YixHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFNkwsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFKzFELElBQUlyc0QsR0FBRSxTQUFTdGpFLEdBQUUsQ0FBQyxPQUFPNjVELEdBQUU3NUQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFMDVELEVBQUMsQ0FBQyxFQUFFL0osRUFBQyxFQUFFLE9BQU9wRyxHQUFFcW1FLElBQUl4bUUsR0FBRTJmLEdBQUcvdkMsRUFBQyxFQUFFNGdDLEVBQUMsRUFBRSxJQUN6SCxJQUFHLElBQ0h4TCxHQUFFbnVELEdBQUUsQ0FBQyxFQUFFeXhELEdBQUV0RCxHQUFFLENBQUMsRUFBRSxPQUFPN0UsR0FBRXVtRSxJQUFJMW1FLEdBQUVzSSxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVtK0QsSUFBSXZzRCxHQUFFekosR0FBRXpMLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLElBQ2hFQyxHQUFFcHVELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUUrRSxHQUFFLENBQUMsRUFBRXlMLEdBQUV6TCxHQUFFLENBQUMsRUFBRStMLEdBQUUvTCxHQUFFLENBQUMsRUFBRThMLEdBQU03USxHQUFFLENBQUMsSUFBUCxFQUFTNEIsR0FBRTVCLEdBQUUsQ0FBQyxDQUFDLEVBQUVxZixHQUFHLENBQUMsRUFBRXJmLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBT0MsR0FBRTBtRSxJQUFJN21FLEdBQUUwUSxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVrMkQsSUFBSW4yRCxHQUFFTyxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMjFELElBQUk1MUQsRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ3JId1AsR0FBRzNwRSxHQUFFLENBQUMsSUFDTkMsR0FBRUQsR0FBRSxDQUFDLEVBQUUsT0FBT3VwRCxHQUFFNG1FLElBQUlsd0gsR0FBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVpd0gsSUFBSWhsRSxHQUFFbHJELEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDNUMyb0UsR0FBRzNvRSxHQUFFLENBQUMsSUFDTkMsR0FBRUQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRW5wRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUV0cEQsR0FBRSxDQUFDLEVBQUUyckQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFeWtFLElBQUkvOUQsR0FBRTJXLEdBQUcvb0UsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU9zcEQsR0FBRSttRSxJQUFJaG5FLEdBQUVGLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWluRSxJQUFJbmxFLEdBQUU3QixFQUFDLENBQUMsRUFBRXNDLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FDN0ZpZSxHQUFHNXBFLEdBQUUsQ0FBQyxJQUNOQyxHQUFFRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVycEQsR0FBRSxDQUFDLEVBQUUsT0FBT3VwRCxHQUFFaW5FLElBQUlubkUsR0FBRUQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFbW5FLElBQUk1MkQsR0FBRWdQLEdBQUcxb0UsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDaEVrNkQsR0FBRW42RCxHQUFFLENBQUMsSUFDTEMsR0FBRUQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRW5wRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUVycEQsR0FBRSxFQUFFLEVBQUUwckQsR0FBRTFyRCxHQUFFLENBQUMsRUFBRTJyRCxHQUFFM3JELEdBQUUsQ0FBQyxFQUFFZ3NELEdBQUVoc0QsR0FBRSxDQUFDLEVBQUU0dEQsR0FBRTV0RCxHQUFFLENBQUMsRUFBRTh0RCxHQUFFOXRELEdBQUUsQ0FBQyxFQUFFc3VELEdBQUVsRixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUyRSxHQUFFL3RELEdBQUUsQ0FBQyxFQUFFb3pELEdBQUVyekQsR0FBRSxDQUFDLEVBQUU4dEQsR0FBTTFFLEdBQUUsQ0FBQyxJQUFQLEVBQVNBLEdBQUUsQ0FBQyxFQUFFd1EsR0FBRXkzRCxHQUFHLEVBQUVqakUsR0FBRXVwRixHQUFHNXVFLEdBQUd4YSxFQUFDLEVBQUVqRixFQUFDLEVBQUU2RSxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVtakUsSUFBSTMzRCxHQUFFdEwsR0FBRTFDLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRXNDLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXVqRSxJQUFJLEVBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFRCxJQUFJbnVHLEdBQUd3b0MsRUFBQyxDQUFDLEVBQUV1QyxFQUFDLENBQUMsRUFBRUQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFeWpFLElBQUksQ0FBQyxDQUFDNWpFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMmpFLElBQUksQ0FBQyxDQUFDN2pFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNGpFLElBQUk5M0QsR0FBRTZKLEdBQUV2WCxFQUFDLENBQUMsRUFBRWdDLEVBQUMsQ0FBQyxDQUFDLEVBQUUwRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVpZ0UsSUFBSXRqRSxHQUFFUixFQUFDLENBQUMsRUFBRUksRUFBQyxFQUFFakUsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNG5FLElBQUlucEQsR0FBR3JmLEVBQUMsQ0FBQyxFQUFFc0ksRUFBQyxFQUFFLE9BQU9wSSxHQUFFd29FLElBQUkxK0QsR0FBRWpGLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTBqRSxJQUFJbjRELEdBQUV6TyxHQUFFOEMsRUFBQyxDQUFDLEVBQUUvRCxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ25VaUIsR0FBRWxyRCxHQUFFLENBQUMsSUFDTEMsR0FBRUQsR0FBRSxDQUFDLEVBQUUsT0FBT3VwRCxHQUFFNG9FLElBQUlueUgsR0FBRSxDQUFDLEVBQUVDLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVpeUgsSUFBSTcvRCxHQUFFcHlELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFZ3lILElBQUkrbEIsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVobUIsSUFBSSxFQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDcEYxd0UsR0FBR3RoRCxHQUFFLENBQUMsSUFDTkMsR0FBRUQsR0FBRSxDQUFDLEVBQUUsT0FBT3VwRCxHQUFFZ3BFLElBQUl2eUgsR0FBRSxDQUFDLEVBQUVDLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVxeUgsSUFBSWpnRSxHQUFFcHlELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFb3lILElBQUkybEIsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU1bEIsSUFBSSxFQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDcEYzaUgsR0FBR3pQLEdBQUVDLEdBQUUsQ0FBQyxJQUNSbXBELEdBQUVucEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFb3BELEdBQUVELEdBQUUsQ0FBQyxFQUFFRSxHQUFFRixHQUFFLENBQUMsRUFBRThCLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXNuRSxJQUFJLENBQUMsQ0FBQ3Z5SCxHQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPc3BELEdBQUVvcEUsSUFBSTN5SCxHQUFFcXBELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXFwRSxJQUFJcmdFLEdBQUUvSSxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFbXBFLElBQUlnbkMsR0FBR3BtRyxHQUFFcHpELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRWlyRCxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDM0cxN0IsR0FBR3h2QixHQUFFLENBQUMsT0FBT3NqRSxHQUFFdTFFLEdBQUc3NEksR0FBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUMzQit1QixHQUFHL3VCLEdBQUUsQ0FBQyxJQUNOQyxHQUFFRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFaXJELEdBQUVqckQsR0FBRSxDQUFDLEVBQUUwckQsR0FBRTNyRCxHQUFFLENBQUMsRUFBRTRyRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVnbkUsSUFBSXR2RCxHQUFFaGEsR0FBRXJwRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU9zcEQsR0FBRXVwRSxJQUFJbm5FLEdBQUV0QyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV3cEUsSUFBSWw1RCxHQUFFdlEsR0FBRThCLEVBQUMsQ0FBQyxFQUFFVSxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQzdGOEQsR0FBRzF2RCxHQUFFLENBQUMsSUFDTkMsR0FBRUQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRW5wRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUV0cEQsR0FBRSxDQUFDLEVBQUVrckQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNm5FLElBQUl6a0UsR0FBRXJ1RCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU9zcEQsR0FBRTBwRSxJQUFJM3BFLEdBQUVGLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTRwRSxJQUFJcjVELEdBQUU1TCxHQUFFMUUsRUFBQyxDQUFDLEVBQUU2QixFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQzNGb0QsR0FBRXR1RCxHQUFFLENBQUMsSUFDTEMsR0FBRUQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRW5wRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFcnBELEdBQUUsQ0FBQyxFQUFFc3BELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTRwRSxJQUFJeHBELEdBQUd6cEUsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPc3BELEdBQUU0cEUsSUFBSTlwRSxHQUFFMGYsR0FBRzNmLEVBQUMsRUFBRUUsRUFBQyxDQUFDLENBQUMsU0FDdEVseUIsR0FBR3AzQixHQUFFLENBQUMsSUFDTkMsR0FBRUQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRW5wRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUVycEQsR0FBRSxDQUFDLEVBQUVpckQsR0FBRWpyRCxHQUFFLENBQUMsRUFBRTByRCxHQUFFM3JELEdBQUUsQ0FBQyxFQUFFNHJELEdBQUU2WCxHQUFFcGEsR0FBRSxDQUFDLEVBQUVELEdBQUUsQ0FBQyxDQUFDLEVBQUU2QyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVtbkUsSUFBSS9nRSxHQUFFMlcsR0FBRzlkLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8zQixHQUFFK3BFLElBQUkzbkUsR0FBRXJDLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRStwRSxJQUFJNWpILEdBQUdtOEMsR0FBRSxDQUFDLEVBQUV2QyxHQUFFLENBQUMsRUFBRUQsRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU2QyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ3RJMUksR0FBR3ZqRCxHQUFFLENBQUMsSUFDTkMsR0FBRUQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRW5wRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFZ3NELEdBQUVoc0QsR0FBRSxDQUFDLEVBQUU0dEQsR0FBRTV0RCxHQUFFLENBQUMsRUFBRTh0RCxHQUFFL3RELEdBQUUsQ0FBQyxFQUFFcXVELEdBQUVvVixHQUFFcGEsR0FBRSxDQUFDLEVBQUVELEdBQUUsQ0FBQyxDQUFDLEVBQUVFLEdBQUVGLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXBwRCxFQUFFLENBQUMsR0FBUXNwRCxHQUFFLENBQUMsSUFBUixHQUFVLENBQUMsSUFDcEZzQyxHQUFFdEMsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsT0FDYnNDLElBQUksVUFBVSxDQUFDQSxHQUFFLENBQUMsSUFDbEJELEdBQUUsRUFBRVQsR0FBRXFvRSxJQUFJLE1BQU12ekgsQ0FBQyxDQUFDLENBQUMsSUFDbkIyckQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNm5FLElBQUk3NUQsR0FBRTZKLEdBQUUzVixFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUzQyxHQUFFdW9FLEdBQUcsQ0FBQyxPQUFPbHFFLEdBQUUyQixHQUFFNkMsR0FBRTlCLEdBQUVtTyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVzNUQsSUFBSWprSCxHQUFHNCtDLEdBQUUsQ0FBQyxFQUFFaEYsR0FBRSxDQUFDLEVBQUVELEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRXVDLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FDcEZ4MkMsR0FBR25WLEdBQUUsQ0FBQyxJQUNOQyxHQUFFRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVwcEQsR0FBRSxDQUFDLEVBQUVxcEQsR0FBRXJwRCxHQUFFLENBQUMsRUFBRTByRCxHQUFFMXJELEdBQUUsQ0FBQyxFQUFFMnJELEdBQUUzckQsR0FBRSxDQUFDLEVBQUVnc0QsR0FBRWhzRCxHQUFFLENBQUMsRUFBRTR0RCxHQUFFNXRELEdBQUUsQ0FBQyxFQUFFOHRELEdBQUUvdEQsR0FBRSxDQUFDLEVBQUV1dUQsR0FBSWdiLEdBQUZsZ0IsR0FBSyxDQUFDLEVBQUV5WixHQUFFelosR0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQU0sQ0FBTCxFQUFRaUYsR0FBRWxGLEdBQUVrYSxHQUFFMUgsR0FBR3hTLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRW1nQixHQUFHLENBQUMsRUFBRXZiLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTZsRSxJQUFJdGxFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFcWxFLElBQUl0bEUsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVxbEUsSUFBSXJ3RCxHQUFFUixHQUFFblgsRUFBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRTBILEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXlnRSxJQUFJL3dELEdBQUUsRUFBRW5YLEVBQUMsQ0FBQyxFQUFFb0MsRUFBQyxFQUFFRixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVpbUUsSUFBSXA2RCxHQUFFdEwsR0FBRXBDLEVBQUMsQ0FBQyxFQUFFb0gsRUFBQyxFQUFFLE9BQU85SixHQUFFMHFFLElBQUlsbUUsR0FBRXpFLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTBxRSxJQUFJOW9FLEdBQUUyQyxFQUFDLENBQUMsRUFBRUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUM1UDRILEdBQUcxMUQsR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVucEQsR0FBRSxDQUFDLEVBQUUwckQsR0FBRTNyRCxHQUFFLENBQUMsRUFBRTRyRCxHQUFFM3JELEdBQUUsQ0FBQyxFQUFFZ3NELEdBQUVoc0QsR0FBRSxDQUFDLEVBQUU0dEQsR0FBRTV0RCxHQUFFLENBQUMsRUFBRTh0RCxHQUFFOXRELEdBQUUsQ0FBQyxFQUFFc3VELEdBQUVvcEYsR0FBRzV1RSxHQUFHM2YsR0FBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUV3QyxFQUFDLEVBQUV2QyxHQUFFRCxHQUFFLENBQUMsRUFBRUUsR0FBRUQsR0FBRSxDQUFDLEVBQUVpRixHQUFFakYsR0FBRSxDQUFDLEVBQUUyRSxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVrbUUsSUFBSXY2RCxHQUFFdEwsR0FBRVIsRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFd0YsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFOGdFLElBQUkzNkQsR0FBR3ZOLEVBQUMsQ0FBQyxFQUFFK0IsRUFBQyxFQUFFRixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVzbUUsSUFBSXhyRCxHQUFHdGYsRUFBQyxDQUFDLEVBQUUrSixFQUFDLEVBQUVqRixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVpbUUsSUFBSTE2RCxHQUFFdFAsR0FBR2lFLEVBQUMsQ0FBQyxFQUFFUixFQUFDLEVBQUVLLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRW1tRSxJQUFJMXJELEdBQUd0ZixFQUFDLENBQUMsRUFBRThFLEVBQUMsRUFBRSxPQUFPN0UsR0FBRWlyRSxJQUFJN29FLEdBQUU0QyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVnbUUsSUFBSXJwRSxHQUFFNkMsRUFBQyxDQUFDLEVBQUVJLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FDaFB5YSxHQUFHNW9FLEdBQUUsQ0FBQyxPQUFPdXBFLEdBQUc3TixHQUFHLFNBQVMxN0QsR0FBRSxDQUFDLElBQy9CQyxHQUFFRCxHQUFFLENBQUMsRUFBRSxPQUFPaWpFLEdBQUcsRUFBRWhqRSxHQUFFLENBQUMsRUFBRUQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFQyxHQUFFLENBQUMsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFRCxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ3BEcXFELEdBQUdycUQsR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVucEQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFcnBELEdBQUUsQ0FBQyxFQUFFc3BELEdBQUV2cEQsR0FBRSxDQUFDLEVBQUUsT0FBT2lqRSxHQUFHN1osR0FBRUMsR0FBRUUsR0FBRXlSLEdBQUcsU0FBU2g3RCxHQUFFLENBQUMsTUFBTSxDQUFDLEVBQUVBLEVBQUMsQ0FBQyxFQUFFQyxHQUFFLENBQUMsQ0FBQyxFQUFFcXBELEVBQUMsQ0FBQyxDQUFDLFNBQ3hGMlosR0FBR2pqRSxHQUFFQyxHQUFFbXBELEdBQUVDLEdBQUVDLEdBQUUsQ0FBQyxHQUFHRCxHQUFFLElBQ25CdUMsR0FBRXZDLEdBQUUsQ0FBQyxFQUFFMEUsR0FBTW5DLEdBQUUsQ0FBQyxJQUFQLEVBQVMrTixHQUFFek8sR0FBRSxDQUFDLEVBQUVVLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRStOLEdBQUU5TCxHQUFFLENBQUMsRUFBRWpDLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRUssR0FBRThCLE9BQ2hELEtBQ0E5QixHQUFFME4sR0FBRXpPLEdBQUUsQ0FBQyxFQUFFLE9BQU8zQixHQUFFMHJFLElBQUk3ckUsR0FBRXBwRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVnMUgsSUFBSS9vRSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRThvRSxJQUFJcHBFLEdBQUVyQyxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFd3JFLElBQUksQ0FBQyxDQUFDNzBILEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUM1RTJyQixHQUFHNXJCLEdBQUUsQ0FBQyxJQUNOQyxHQUFFRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVwcEQsR0FBRSxDQUFDLEVBQUVxcEQsR0FBRXRwRCxHQUFFLENBQUMsRUFBRTJyRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV1cEUsSUFBSTBpQixHQUFHMzNJLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBT3NwRCxHQUFFNnJFLElBQUk5ckUsR0FBRUYsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFK3JFLElBQUlqcUUsR0FBRTdCLEVBQUMsQ0FBQyxFQUFFc0MsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUMxRmtkLEdBQUc3b0UsR0FBRSxDQUFDLE9BQU9BLEdBQUUwMUgsSUFBSUMsR0FBRyxDQUFDLFNBQ3ZCaHVILEdBQUczSCxHQUFFLENBQUMsR0FBRyxDQUFDQSxHQUFFLE9BQU91cEUsR0FBRyxDQUFDLEVBQUUsSUFDekJ0cEUsR0FBRUQsR0FBRSxDQUFDLEVBQUUsR0FBT0MsR0FBRSxDQUFDLElBQVAsRUFBUyxPQUFPcWpFLEdBQUU2MUUsR0FBR2w1SSxHQUFFLENBQUMsQ0FBQyxFQUFFLElBQ3JDbXBELEdBQUVucEQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRUQsR0FBRSxDQUFDLEVBQUVFLEdBQUVGLEdBQUUsQ0FBQyxFQUFFLE9BQVNtZ0IsR0FBRmxnQixHQUFLLENBQUMsRUFBRUUsR0FBRXNzRSxJQUFJdnNFLEdBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFc3NFLElBQUkxcUUsR0FBRTdCLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQU0sQ0FBTCxDQUFPLENBQUMsU0FDL0V6VCxHQUFHNTFDLEdBQUUsQ0FBQyxJQUNOQyxHQUFFRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVwcEQsR0FBRSxDQUFDLEVBQUVxcEQsR0FBRXJwRCxHQUFFLENBQUMsRUFBRTJyRCxHQUFFNXJELEdBQUUsQ0FBQyxFQUFFaXNELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWlxRSxJQUFJdnFFLEdBQUUxckQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTR0RCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVzb0UsSUFBSXg4RCxHQUFFdEwsR0FBRWhGLEVBQUMsQ0FBQyxFQUFFNEMsRUFBQyxFQUFFLE9BQU8xQyxHQUFFOHNFLElBQUl6cUUsR0FBRXhDLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWd0RSxJQUFJbHJFLEdBQUU1QixFQUFDLENBQUMsRUFBRXVFLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FDdkhpYixHQUFHOW9FLEdBQUVDLEdBQUUsQ0FBQyxJQUNSbXBELEdBQUVucEQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRUQsR0FBRSxDQUFDLEVBQUVFLEdBQUVGLEdBQUUsQ0FBQyxFQUFFd0MsR0FBRXhDLEdBQUUsQ0FBQyxFQUFFNkMsR0FBRTdDLEdBQUUsQ0FBQyxFQUFFeUUsR0FBRXpFLEdBQUUsQ0FBQyxFQUFFMkUsR0FBRTl0RCxHQUFFLENBQUMsRUFBRXN1RCxHQUFFdnVELEdBQUVzMkgsSUFBSUMsSUFBSWpvRSxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVrb0UsSUFBSTc4RCxHQUFFaE8sR0FBRXJDLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTBFLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXlvRSxJQUFJOThELEdBQUVoTyxHQUFFQyxFQUFDLENBQUMsRUFBRTBDLEVBQUMsRUFBRStFLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXFqRSxJQUFJLzhELEdBQUV0TCxHQUFFcEMsRUFBQyxDQUFDLEVBQUUrQixFQUFDLEVBQUUsT0FBT3pFLEdBQUVnRixHQUFFUixHQUFFMUUsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFc3RFLElBQUl6ckUsR0FBRTJDLEVBQUMsQ0FBQyxFQUFFd0YsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUNyS25zQixHQUFHbG5DLEdBQUVDLEdBQUUsQ0FBQyxJQUNSb3BELEdBQUVwcEQsR0FBRSxDQUFDLEVBQUUyckQsR0FBRXZDLEdBQUUsQ0FBQyxFQUFFNEMsR0FBRTVDLEdBQUUsQ0FBQyxFQUFFd0UsR0FBRXhFLEdBQUUsQ0FBQyxFQUFFMEUsR0FBRTFFLEdBQUUsQ0FBQyxFQUFFOEUsR0FBRTlFLEdBQUUsQ0FBQyxFQUFFNEUsR0FBRTVFLEdBQUUsQ0FBQyxFQUFFNkUsR0FBRTdFLEdBQUUsQ0FBQyxFQUFFc0ksR0FBRTF4RCxHQUFFLENBQUMsRUFBRSxHQUFHNHRELEdBQUUsSUFDcEV2RSxHQUFFdUUsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNUQsR0FBRVgsR0FBRSxDQUFDLEVBQUVtUSxHQUFFblEsR0FBRSxDQUFDLEVBQUVxQyxHQUFFZ3NGLEdBQUdydUYsR0FBRSxDQUFDLEVBQUVzQyxFQUFDLEVBQUUwQyxHQUFFckUsR0FBRXNFLEdBQUUsQ0FBQyxFQUFFa0wsRUFBQyxNQUMvQyxLQUNBOU4sR0FBRUMsR0FBRTBDLEdBQUUsRUFBRUMsR0FBRSxFQUFFLEdBQUd0QyxHQUFFLElBQ2pCK0IsR0FBRS9CLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWdNLEdBQUVqSyxHQUFFLENBQUMsRUFBRWgxQixHQUFFMitHLEdBQUczcEYsR0FBRSxDQUFDLEVBQUVyQyxFQUFDLEVBQUVtQyxHQUFFOTBCLEdBQUVxNkIsR0FBRWlRLEdBQUUxSCxHQUFHM0QsRUFBQyxNQUMxQyxLQUNBbkssR0FBRW5DLEdBQUUwSCxHQUFFa1csR0FBRyxDQUFDLEVBQUUsSUFDWjdQLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXE5RCxJQUFJMWpFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFeWpFLElBQUl4ekQsR0FBRUMsR0FBRXBWLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFd0IsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFcW5FLElBQUlyOUQsR0FBRW9GLEdBQUV6USxFQUFDLENBQUMsRUFBRW9MLEVBQUMsRUFBRUUsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFcTlELElBQUl0OUQsR0FBRXZRLEdBQUVtRixFQUFDLENBQUMsRUFBRW9CLEVBQUMsRUFBRWtLLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXE5RCxJQUFJdjlELEdBQUV0TCxHQUFFSixFQUFDLENBQUMsRUFBRTJMLEVBQUMsRUFBRXhMLEdBQUVMLEdBQUUsQ0FBQyxFQUFFK0wsR0FBRTFMLEdBQUUsQ0FBQyxFQUFFZ00sR0FBRXJNLEdBQUUsQ0FBQyxFQUFFMkQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFeWxFLElBQUk1dEUsR0FBRW91RSxJQUFJdjlELEdBQUVOLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTQ5RCxJQUFJcDBELEdBQUUxRSxHQUFHeFEsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUV5TCxFQUFDLEVBQUUsT0FBT3RRLEdBQUV2cEQsR0FBRTJ4RCxHQUFFN0QsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFc3BFLElBQUl6OUQsR0FBRXpPLEdBQUVnRCxFQUFDLENBQUMsRUFBRXdELEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FDeE42UixHQUFFdmpFLEdBQUUsQ0FBQyxJQUNMQyxHQUFFRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUV0cEQsR0FBRSxDQUFDLEVBQUUsT0FBT3VwRCxHQUFFK3RFLElBQUlodUUsR0FBRUQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFZ3VFLElBQUlqdUUsR0FBRW5wRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUM3RDI3RCxHQUFHNTdELEdBQUUsQ0FBQyxJQUNOQyxHQUFFRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVycEQsR0FBRSxDQUFDLEVBQUVzcEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFaXVFLElBQUk1OUQsR0FBRW9GLEdBQUU5K0QsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPc3BELEdBQUVrdUUsSUFBSXB1RSxHQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRW11RSxJQUFJdHNFLEdBQUU5QixFQUFDLENBQUMsRUFBRUUsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUNwRnNWLEdBQUc1K0QsR0FBRSxDQUFDLE9BQU9BLEdBQUUsQ0FBQyxFQUFFLENBQUMsSUFDbkIsR0FBRSxJQUNGMHhELEdBQUUxeEQsR0FBRSxDQUFDLEVBQUUyckQsR0FBRStGLEdBQUUsQ0FBQyxFQUFFOUYsR0FBRUQsR0FBRSxDQUFDLEVBQUUxckQsR0FBRTByRCxHQUFFLENBQUMsRUFBRXVYLEdBQUV2WCxHQUFFLENBQUMsRUFBRXdYLEdBQUV4WCxHQUFFLENBQUMsRUFBRXlYLEdBQUV6WCxHQUFFLENBQUMsRUFBRTBYLEdBQUUxWCxHQUFFLENBQUMsRUFBRXh2QixHQUFFdTFCLEdBQUUsQ0FBQyxFQUFFLE9BQU96eEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxJQUM1RSxHQUFFLElBQ0ZvdUQsR0FBRXpDLEdBQUVtQyxHQUFFLEVBQUU5QixHQUFFNEIsR0FBRTV0RCxHQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFDeEIsR0FBRSxJQUNGb3VELEdBQUV6QyxHQUFFbUMsR0FBRSxFQUFFOUIsR0FBRStCLEdBQUUvdEQsR0FBRSxDQUFDLENBQUMsRUFBRSxNQUFNLElBQ3hCLEdBQUUsSUFDRm91RCxHQUFFekMsR0FBRW1DLEdBQUUsRUFBRTlCLEdBQUU2QixHQUFFN3RELEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUN4QixHQUFFLElBQ0ZvdUQsR0FBRXpDLEdBQUVtQyxHQUFFLEVBQUU5QixHQUFFZixHQUFFanJELEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUN4QixHQUFFLElBQ0ZvdUQsR0FBRXpDLEdBQUVtQyxHQUFFLEVBQUU5QixHQUFFM0ssR0FBR3JoRCxHQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sUUFBUSxJQUNqQyt3RCxHQUFFL3dELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTQ0RCxHQUFFN0gsR0FBRSxDQUFDLEVBQUVpRCxHQUFFMGpGLEdBQUczbUYsR0FBRSxDQUFDLEVBQUVwRixFQUFDLEVBQUV5QyxHQUFFNEYsR0FBRWxHLEdBQUUsRUFBRTlCLEdBQUU3QyxHQUFFeVAsRUFBQyxDQUFDLENBQUMsT0FBT3dLLEdBQUUsQ0FBQyxJQUN2RCxHQUFFLElBQ0ZuVixHQUFFMHBFLElBQUksTUFBTSxJQUNaLEdBQUUsSUFDRjFwRSxHQUFFMnBFLElBQUksTUFBTSxJQUNaLEdBQUUsSUFDRjNwRSxHQUFFNHBFLElBQUksTUFBTSxRQUFRLElBQ3BCNXBFLEdBQUU2cEUsR0FBRyxDQUFDLElBQ04vZ0UsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFbWhFLElBQUk5bEUsR0FBRW5FLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVncUUsSUFBSSxDQUFDLENBQUMvMEQsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU4MEQsSUFBSSxDQUFDLENBQUNscUUsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVpcUUsSUFBSTEwRCxHQUFFQyxHQUFFTCxFQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTzNaLEdBQUUrdUUsSUFBSW44RixHQUFFa3lCLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWdxRSxJQUFJcHNFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFbXNFLElBQUlqK0QsR0FBRWlKLEVBQUMsQ0FBQyxFQUFFcE0sRUFBQyxDQUFDLENBQUMsRUFBRSxJQUMzSCxHQUFFLElBQ0Y4QyxHQUFFOTVELEdBQUUsQ0FBQyxFQUFFc3BELEdBQUV3USxHQUFFLENBQUMsRUFBRTdMLEdBQUUzRSxHQUFFLENBQUMsRUFBRXlWLEdBQUV6VixHQUFFLENBQUMsRUFBRW9RLEdBQUVwUSxHQUFFLENBQUMsRUFBRWlGLEdBQUVqRixHQUFFLENBQUMsRUFBRXdmLEdBQUd4ZixHQUFFLENBQUMsRUFBRW9mLEdBQUdwZixHQUFFLENBQUMsRUFBRWxtQyxHQUFHa21DLEdBQUUsQ0FBQyxFQUFFeWYsR0FBR2pQLEdBQUUsQ0FBQyxFQUFFLE9BQU92TCxHQUFFLENBQUMsRUFBRSxDQUFDLElBQ3ZGLEdBQUUsSUFDRkosR0FBRUYsR0FBRUcsR0FBRSxFQUFFRSxHQUFFVCxHQUFFVSxHQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFDeEIsR0FBRSxJQUNGSixHQUFFRixHQUFFRyxHQUFFLEVBQUVFLEdBQUVOLEdBQUVPLEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUN4QixHQUFFLElBQ0ZKLEdBQUVGLEdBQUVHLEdBQUUsRUFBRUUsR0FBRVIsR0FBRVMsR0FBRSxDQUFDLENBQUMsRUFBRSxNQUFNLElBQ3hCLEdBQUUsSUFDRkosR0FBRUYsR0FBRUcsR0FBRSxFQUFFRSxHQUFFcEQsR0FBRXFELEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUN4QixHQUFFLElBQ0ZzTCxHQUFFRCxHQUFFby9ELEdBQUcsRUFBRTdxRSxHQUFFMEwsR0FBRSxDQUFDLEVBQUV6TCxHQUFFeUwsR0FBRSxDQUFDLEVBQUV2TCxHQUFFdUwsR0FBRSxDQUFDLEVBQUUsTUFBTSxRQUFRLElBQzVDbUosR0FBRXpVLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXZCLEdBQUdnVyxHQUFFLENBQUMsRUFBRWlHLEdBQUcwdUUsR0FBRzMwRSxHQUFFLENBQUMsRUFBRS9VLEVBQUMsRUFBRUUsR0FBRThhLEdBQUc3YSxHQUFFLEVBQUVFLEdBQUVsRixHQUFFNEQsRUFBRSxDQUFDLENBQUMsR0FBRyxPQUNwRDBNLElBQUksU0FBUyxHQUFHQSxHQUFFLElBQ2xCelAsR0FBRSxFQUFFMEYsR0FBRSxNQUNOLEtBQ0ExRixHQUFFLEVBQUUwRixHQUFFLE1BQ04sS0FDQTFGLEdBQUUsRUFBRTBGLEdBQUUsQ0FBQyxFQUFFK0osR0FBRSxDQUFDLENBQUMsRUFBRSxJQUNmelgsR0FBR2dJLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWd2RSxJQUFJLENBQUMsQ0FBQ2h2RSxFQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUrZSxHQUFPakssS0FBSixFQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRW02RCxJQUFJNTFELEdBQUVDLEdBQUV4RSxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUvTyxHQUFHb0ssR0FBRTRPLEdBQUcvbUIsRUFBRSxFQUFFdVgsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFNi9ELElBQUksQ0FBQyxDQUFDanJFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFZ3JFLElBQUksQ0FBQyxDQUFDMXdELEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFeXdELElBQUl4L0QsR0FBRUYsR0FBRXFQLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVweUQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFNGlILElBQUltZ0MsR0FBR3BtRyxHQUFFandDLEVBQUUsQ0FBQyxFQUFFbzJDLEVBQUUsRUFBRSxPQUFPalEsR0FBRWt3RSxJQUFJMXdELEdBQUc1YSxHQUFFaU0sR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFby9ELElBQUlsckUsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVpckUsSUFBSTUvRCxHQUFFdlEsR0FBRXVHLEVBQUMsQ0FBQyxFQUFFajVDLEVBQUUsQ0FBQyxFQUFFczVDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsSUFDL044UyxHQUFFOWlFLEdBQUUsQ0FBQyxFQUFFcXBELEdBQUV5WixHQUFFLENBQUMsRUFBRUMsR0FBRTFaLEdBQUUsQ0FBQyxFQUFFNE8sR0FBRTVPLEdBQUUsQ0FBQyxFQUFFbWEsR0FBRW5hLEdBQUUsQ0FBQyxFQUFFb2EsR0FBRXBhLEdBQUUsQ0FBQyxFQUFFcWEsR0FBR3JhLEdBQUUsQ0FBQyxFQUFFenBCLEdBQUd5cEIsR0FBRSxDQUFDLEVBQUVzRCxHQUFHdEQsR0FBRSxDQUFDLEVBQUVvVixHQUFHcUUsR0FBRSxDQUFDLEVBQUUsR0FBRyxPQUM3RTdLLElBQUksU0FBUyxHQUFHQSxHQUFFLElBQ2xCdEcsR0FBRSxFQUFFMzRCLEdBQUUsTUFDTixLQUNBMjRCLEdBQUUsRUFBRTM0QixHQUFFLE1BQ04sS0FDQTI0QixHQUFFLEVBQUUzNEIsR0FBRSxDQUFDLEVBQUVpL0IsR0FBRSxDQUFDLENBQUMsRUFBRSxJQUNmLzNELEdBQUd5eEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNG1FLElBQUksQ0FBQyxDQUFDNW1FLEVBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRWdTLEdBQU9aLEtBQUosRUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV5MUQsSUFBSWwxRCxHQUFFQyxHQUFFUixFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU0RixHQUFHdk8sR0FBRXVKLEdBQUd6akUsRUFBRSxFQUFFdVAsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFa3BILElBQUksRUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVELElBQUksQ0FBQyxDQUFDaDFELEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFKzBELElBQUk5K0QsR0FBRUYsR0FBRWdLLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVtRixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVnd0QsSUFBSTZnQyxHQUFHcG1HLEdBQUV6ekIsRUFBRSxDQUFDLEVBQUVud0IsRUFBRSxFQUFFbzVELEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRWd3RCxJQUFJbC9ELEdBQUV2USxHQUFFcHdCLEVBQUMsQ0FBQyxFQUFFNHZDLEVBQUUsRUFBRSxPQUFPcmYsR0FBRXd2RSxJQUFJdDZELEdBQUcrRSxHQUFFcEosR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMCtELElBQUl4M0UsR0FBR3FMLEVBQUUsQ0FBQyxFQUFFa2MsRUFBRSxFQUFFRixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDbE8vRSxHQUFHNWpFLEdBQUUsQ0FBQyxJQUNOQyxHQUFFRCxHQUFFLENBQUMsRUFBRXNwRCxHQUFFcnBELEdBQUUsQ0FBQyxFQUFFMHJELEdBQUUxckQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRTJyRCxHQUFFNXJELEdBQUUsQ0FBQyxFQUFFcXVELEdBQUVwdUQsR0FBRSxDQUFDLEVBQUVzdUQsR0FBTWxGLEdBQUUsQ0FBQyxJQUFQLEVBQVM2QixHQUFFN0IsR0FBRSxDQUFDLENBQUMsRUFBRXdFLEdBQUV4RSxHQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUdDLEdBQUUsSUFDMUVnRixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU0ckUsSUFBSTl3RSxHQUFFRSxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFMkMsR0FBRTFDLEdBQUU2d0UsSUFBSXh1RSxHQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXV1RSxJQUFJcHNFLEdBQUVwQyxFQUFDLENBQUMsRUFBRTJDLEVBQUMsQ0FBQyxNQUN0RCxLQUNBckMsR0FBRThCLEdBQUVwQyxFQUFDLEVBQUUsT0FBT3BDLEdBQUVpeEUsSUFBSTV1RSxHQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTJ1RSxJQUFJaHNFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFK3JFLElBQUlydUUsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVvdUUsSUFBSSxDQUFDLENBQUNoc0UsRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ3ZFdXBGLEdBQUc1M0ksR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVwcEQsR0FBRSxDQUFDLEVBQUUsT0FBT0MsR0FBRSxDQUFDLEVBQUUsQ0FBQyxJQUMzQixHQUFFLElBQ0ZvcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRW91RCxHQUFFaEYsR0FBRSxDQUFDLEVBQUVrRixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVtdEUsSUFBSSxDQUFDLENBQUNyeUUsR0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFb3lFLElBQUksQ0FBQyxDQUFDcHlFLEdBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVpRixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVxdEUsSUFBSXI0RCxHQUFFLFNBQVN0akUsR0FBRSxDQUFDLElBQ2xGQyxHQUFFRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVycEQsR0FBRSxDQUFDLEVBQUVzcEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFZ3lFLElBQUlyNUUsR0FBR2hpRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU9zcEQsR0FBRWl5RSxJQUFJbnlFLEdBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFa3lFLElBQUlyd0UsR0FBRTlCLEVBQUMsQ0FBQyxFQUFFRSxFQUFDLENBQUMsQ0FBQyxFQUFFRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVrRixFQUFDLEVBQUUsT0FBT2hGLEdBQUVxeUUsSUFBSXh5RSxHQUFFMmYsR0FBRzFhLEVBQUMsRUFBRUMsRUFBQyxFQUFFLElBQ3RILEdBQUUsSUFDRmhGLEdBQUVycEQsR0FBRSxDQUFDLEVBQUVvekQsR0FBRS9KLEdBQUUsQ0FBQyxFQUFFOEUsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMHRFLElBQUksQ0FBQyxDQUFDeHlFLEdBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXV5RSxJQUFJLENBQUMsQ0FBQ3Z5RSxHQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFNkUsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNHRFLElBQUl6NEQsR0FBRSxTQUFTdGpFLEdBQUUsQ0FBQyxJQUNsRkMsR0FBRUQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRW5wRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFcnBELEdBQUUsQ0FBQyxFQUFFc3BELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTZ4RSxJQUFJbnRFLEdBQUUvdEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPc3BELEdBQUU4eEUsSUFBSWh5RSxHQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSt4RSxJQUFJbHdFLEdBQUU5QixFQUFDLENBQUMsRUFBRUUsRUFBQyxDQUFDLENBQUMsRUFBRUEsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFOEUsRUFBQyxFQUFFLE9BQU83RSxHQUFFeXlFLElBQUk1eUUsR0FBRTJmLEdBQUcxVixFQUFDLEVBQUVsRixFQUFDLEVBQUUsSUFDckgsR0FBRSxJQUNGeEMsR0FBRTFyRCxHQUFFLENBQUMsRUFBRWdzRCxHQUFFTixHQUFFLENBQUMsRUFBRXNDLEdBQUV0QyxHQUFFLENBQUMsRUFBRXVDLEdBQUV2QyxHQUFFLENBQUMsRUFBRWdHLEdBQUVoRyxHQUFFLENBQUMsRUFBRTFCLEdBQU1nQyxHQUFFLENBQUMsSUFBUCxFQUFTeVAsR0FBRyxTQUFTMTdELEdBQUUsQ0FBQyxJQUM3REMsR0FBRUQsR0FBRSxDQUFDLEVBQUUsT0FBT3VwRCxHQUFFMnhFLElBQUlqN0gsR0FBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVnN0gsSUFBSS92RSxHQUFFbHJELEdBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRWlzRCxHQUFFLENBQUMsQ0FBQyxFQUFFeVAsR0FBRyxTQUFTMTdELEdBQUUsQ0FBQyxJQUN4RUMsR0FBRUQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRW5wRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFcnBELEdBQUUsQ0FBQyxFQUFFc3BELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXd4RSxJQUFJanRFLEdBQUU1dEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPc3BELEdBQUV5eEUsSUFBSTN4RSxHQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTB4RSxJQUFJN3ZFLEdBQUU5QixFQUFDLENBQUMsRUFBRUUsRUFBQyxDQUFDLENBQUMsRUFBRTJDLEdBQUUsQ0FBQyxDQUFDLEVBQUV3TixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUwaUUsSUFBSTV5RCxHQUFHdGYsRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWl5RSxJQUFJLENBQUMsQ0FBQ3ZxRSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXNxRSxJQUFJLENBQUMsQ0FBQy90RSxFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPM0UsR0FBRTZ5RSxJQUFJaHpFLEdBQUUyZixHQUFHOWEsRUFBQyxFQUFFd0wsRUFBQyxFQUFFLElBQ3ZLLEdBQUUsSUFDRjFMLEdBQUU5dEQsR0FBRSxDQUFDLEVBQUVnNEQsR0FBRWxLLEdBQUUsQ0FBQyxFQUFFLzBCLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXFqRyxJQUFJLENBQUMsQ0FBQ3R1RSxHQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTJMLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTRpRSxJQUFJaDVELEdBQUUsU0FBU3RqRSxHQUFFLENBQUMsSUFDL0RDLEdBQUVELEdBQUUsQ0FBQyxFQUFFLE9BQU91cEQsR0FBRXN4RSxJQUFJNTZILEdBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMjZILElBQUkxdkUsR0FBRWxyRCxHQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUrdEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLzBCLEVBQUMsRUFBRSxPQUFPdXdCLEdBQUVnekUsSUFBSW56RSxHQUFFMmYsR0FBRzlRLEVBQUMsRUFBRXlCLEVBQUMsRUFBRSxRQUFRLElBQzdGOU4sR0FBRTNyRCxHQUFFLENBQUMsRUFBRTB2RCxHQUFFL0QsR0FBRSxDQUFDLEVBQUUrTixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU4aUUsSUFBSSxDQUFDLENBQUM3d0UsR0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNHdFLElBQUksQ0FBQyxDQUFDNXdFLEdBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVnTyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU4aUUsSUFBSXA1RCxHQUFFLFNBQVN0akUsR0FBRSxDQUFDLElBQ2xGQyxHQUFFRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVycEQsR0FBRSxDQUFDLEVBQUVzcEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFbXhFLElBQUkzc0UsR0FBRTd0RCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU9zcEQsR0FBRW94RSxJQUFJdHhFLEdBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFcXhFLElBQUl4dkUsR0FBRTlCLEVBQUMsQ0FBQyxFQUFFRSxFQUFDLENBQUMsQ0FBQyxFQUFFc0MsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFK04sRUFBQyxFQUFFLE9BQU9wUSxHQUFFb3pFLElBQUl2ekUsR0FBRTJmLEdBQUdwWixFQUFDLEVBQUVpSyxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ3RIaStFLEdBQUc3M0ksR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVucEQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFcnBELEdBQUUsQ0FBQyxFQUFFMHJELEdBQUUxckQsR0FBRSxDQUFDLEVBQUUyckQsR0FBRTVyRCxHQUFFLENBQUMsRUFBRWlzRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU4d0UsSUFBSXo1RCxHQUFFUixHQUFFN2lFLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU0dEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFbXZFLElBQUlqNkQsR0FBRSxFQUFFMVosRUFBQyxDQUFDLEVBQUU0QyxFQUFDLEVBQUU4QixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVrdkUsSUFBSXRqRSxHQUFFdEwsR0FBRS9FLEVBQUMsQ0FBQyxFQUFFdUUsRUFBQyxFQUFFLE9BQU90RSxHQUFFNHpFLElBQUl2eEUsR0FBRXhDLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTh6RSxJQUFJaHlFLEdBQUVTLEVBQUMsQ0FBQyxFQUFFb0MsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUN2SitVLEdBQUU5aUUsR0FBRSxDQUFDLElBQ0xDLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVucEQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFcnBELEdBQUUsQ0FBQyxFQUFFMHJELEdBQUUzckQsR0FBRSxDQUFDLEVBQUU0ckQsR0FBTXhDLEdBQUUsQ0FBQyxJQUFQLEVBQVM4QixHQUFFOUIsR0FBRSxDQUFDLENBQUMsRUFBRTRHLEdBQUc1RyxHQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU9HLEdBQUUrekUsSUFBSTN4RSxHQUFFdEMsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFZzBFLElBQUl6eEUsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV3eEUsSUFBSXpqRSxHQUFFb0YsR0FBRXpWLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUNwSHlFLEdBQUUvdEQsR0FBRSxDQUFDLElBQ0xDLEdBQUVELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUVycEQsR0FBRSxDQUFDLEVBQUUsT0FBT0MsR0FBRSxDQUFDLEVBQUUsQ0FBQyxJQUMzQixHQUFFLElBQ0ZxcEQsR0FBRXJwRCxHQUFFLENBQUMsRUFBRTByRCxHQUFFckMsR0FBRSxDQUFDLEVBQUVzQyxHQUFFdEMsR0FBRSxDQUFDLEVBQUUyQyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVzeEUsSUFBSWs4QixHQUFHcG1HLEdBQUUvSixHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFdUUsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMnZFLElBQUlsNkQsR0FBRXMxRSxHQUFHaHRGLEVBQUMsQ0FBQyxFQUFFSyxFQUFDLEVBQUUsT0FBTzFDLEdBQUVrMEUsSUFBSXAwRSxHQUFFMGYsR0FBR3BkLEVBQUMsRUFBRWtDLEVBQUMsRUFBRSxJQUNoRyxHQUFFLElBQ0YzQyxHQUFFanJELEdBQUUsQ0FBQyxFQUFFOHRELEdBQUU3QyxHQUFFLENBQUMsRUFBRW1ELEdBQUVuRCxHQUFFLENBQUMsRUFBRXFELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRW12RSxJQUFJKzdCLEdBQUdwbUcsR0FBRW5JLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUVvRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVxdkUsSUFBSXI2RCxHQUFFd0gsR0FBR3pjLEVBQUMsQ0FBQyxFQUFFRSxFQUFDLEVBQUUsT0FBT2hGLEdBQUVxMEUsSUFBSXYwRSxHQUFFMGYsR0FBR2hiLEVBQUMsRUFBRU8sRUFBQyxFQUFFLElBQ2hHLEdBQUUsT0FBTzcrQyxHQUFHNDVDLEdBQUVwcEQsR0FBRSxDQUFDLENBQUMsRUFBRSxRQUFRLE9BQU9tcEQsR0FBRW5wRCxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUM1QzgzSSxHQUFHLzNJLEdBQUUsQ0FBQyxJQUNOQyxHQUFFRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUVycEQsR0FBRSxDQUFDLEVBQUVpckQsR0FBRWxyRCxHQUFFLENBQUMsRUFBRSxHQUFHLENBQUNxcEQsR0FBRSxPQUFPMEUsR0FBRXpFLEVBQUMsRUFBRSxJQUM5Q3FDLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWt5RSxJQUFJejBFLEdBQUVDLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBT0UsR0FBRXcwRSxJQUFJN3lFLEdBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNHlFLElBQUkvdkUsR0FBRXpFLEVBQUMsQ0FBQyxFQUFFcUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUM3RDNsRCxHQUFHaEcsR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVucEQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRXJwRCxHQUFFLENBQUMsRUFBRSxPQUFPdXBELEdBQUUyMEUsSUFBSTcwRSxHQUFFRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU2MEUsSUFBSWpyRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWdyRyxJQUFJM3FFLEdBQUVwekQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUM1RXlvRSxHQUFHMW9FLEdBQUUsQ0FBQyxJQUNOb3BELEdBQUVwcEQsR0FBRSxDQUFDLEVBQUVxcEQsR0FBRUQsR0FBRSxDQUFDLEVBQUVFLEdBQUVGLEdBQUUsQ0FBQyxFQUFFbnBELEdBQUVtcEQsR0FBRSxDQUFDLEVBQUUsR0FBR0MsR0FBRSxDQUFDLElBQ2xDNkIsR0FBRTdCLEdBQUUsQ0FBQyxFQUFFc0MsR0FBRVQsR0FBRSxDQUFDLEVBQUUyQyxHQUFFbEMsR0FBRSxDQUFDLEVBQUUwQyxHQUFFbkQsR0FBRSxDQUFDLEVBQUVxRCxHQUFFaEYsR0FBRTYwRSxJQUFJL3ZFLEdBQUVSLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXN3RSxJQUFJcHdFLEdBQUVwQyxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVDLEdBQUU4TixHQUFFLENBQUMsRUFBRW5MLEdBQUVvTixHQUFHbzhFLEdBQUd6dUYsRUFBQyxDQUFDLENBQUMsRUFBRWdGLEdBQUVydUQsR0FBRSxDQUFDLEVBQUUrRixHQUFHL0YsR0FBRSxDQUFDLENBQUMsRUFBRTJyRCxFQUFDLEVBQUVBLEdBQUUsT0FBTzJkLEdBQUdqYixFQUFDLENBQUMsQ0FBQyxJQUNySHJDLEdBQUV5UCxHQUFHcThFLEdBQUd6dUYsRUFBQyxFQUFFMEUsR0FBRS90RCxHQUFFLENBQUMsRUFBRStGLEdBQUcvRixHQUFFLENBQUMsQ0FBQyxFQUFFZ3NELEVBQUMsRUFBRUEsR0FBRSxPQUFPc2QsR0FBR3ZiLEVBQUMsQ0FBQyxDQUFDLFNBQzdDeUgsR0FBR3oxRCxHQUFFQyxHQUFFLENBQUMsSUFDUm1wRCxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFLE9BQU9zcEQsR0FBRSswRSxJQUFJdCtILEdBQUVvcEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFaTFFLElBQUl0d0UsR0FBRTl0RCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUMvQzZxRSxHQUFHOXFFLEdBQUUsQ0FBQyxPQUFPQSxHQUFFLENBQUMsRUFBRSxDQUFDLElBQ25CLEdBQUUsSUFDRkMsR0FBRUQsR0FBRSxDQUFDLEVBQUVxcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFRCxHQUFFLENBQUMsRUFBRTZCLEdBQUU3QixHQUFFLENBQUMsRUFBRXVDLEdBQUUzckQsR0FBRSxDQUFDLEVBQUUsR0FBRyxDQUFDcXBELEdBQUUsT0FBT3lFLEdBQUU3QyxFQUFDLEVBQUUsSUFDckRlLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXN5RSxJQUFJbjFFLEdBQUVFLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBT0MsR0FBRWsxRSxJQUFJN3lFLEdBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNHlFLElBQUl6d0UsR0FBRTdDLEVBQUMsQ0FBQyxFQUFFZSxFQUFDLENBQUMsRUFBRSxJQUM3RCxHQUFFLElBQ0ZOLEdBQUUzckQsR0FBRSxDQUFDLEVBQUUsT0FBT3kxRCxHQUFHOUosR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxPQUFPcXNGLEVBQUUsQ0FBQyxDQUFDLFNBQy9DNTBILEdBQUdwakIsR0FBRSxDQUFDLE9BQU9BLEdBQUUsQ0FBQyxFQUFFLENBQUMsSUFDbkIsR0FBRSxPQUFPZzRJLEdBQUcsSUFDWixHQUFFLE9BQU8za0YsR0FBRXJ6RCxHQUFFLENBQUMsQ0FBQyxFQUFFLFFBQVEsSUFDekJDLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVucEQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRSxPQUFPc3BELEdBQUV3akYsSUFBSTFqRixHQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXlqRixJQUFJanFFLEdBQUcsQ0FBQyxFQUFFelosR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUN4RW9xQixHQUFHeHpFLEdBQUUsQ0FBQyxHQUFPQSxHQUFFLENBQUMsSUFBUCxFQUFTLENBQUMsSUFDbkJvdUQsR0FBRXB1RCxHQUFFLENBQUMsRUFBRUMsR0FBRW11RCxHQUFFLENBQUMsRUFBRTZKLEdBQUU3SixHQUFFLENBQUMsRUFBRSxPQUFPbnVELEdBQUUsQ0FBQyxFQUFFLENBQUMsSUFDbEMsR0FBRSxJQUNGKzRCLEdBQUUvNEIsR0FBRSxDQUFDLEVBQUV5NUQsR0FBRXo1RCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFLEVBQUVnRixHQUFFdDFCLEdBQUV1MUIsR0FBRSxFQUFFRixHQUFFcXdFLElBQUkzd0UsR0FBRTNFLEdBQUVucEQsR0FBRSxDQUFDLENBQUMsRUFBRW9wRCxHQUFFcVEsR0FBRSxNQUFNLElBQ3BELEdBQUUsSUFDRnpMLEdBQUVodUQsR0FBRSxDQUFDLEVBQUU0NUQsR0FBRTU1RCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFLEVBQUVnRixHQUFFLEVBQUVDLEdBQUUsRUFBRUYsR0FBRXN3RSxJQUFJNXdFLEdBQUVvTSxHQUFFLENBQUMsRUFBRWxNLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUU1RSxHQUFFd1EsR0FBRSxNQUFNLElBQzdELEdBQUUsSUFDRjNMLEdBQUVqdUQsR0FBRSxDQUFDLEVBQUV5eEQsR0FBRXp4RCxHQUFFLENBQUMsRUFBRTY1RCxHQUFFNzVELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUVvSSxHQUFFcEQsR0FBRSxFQUFFQyxHQUFFLEVBQUVGLEdBQUV1d0UsSUFBSTd3RSxHQUFFb00sR0FBRSxDQUFDLEVBQUVqTSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFN0UsR0FBRXlRLEdBQUUsTUFBTSxRQUFRLElBQzVFbkksR0FBRTF4RCxHQUFFLENBQUMsRUFBRW02RCxHQUFFbjZELEdBQUUsQ0FBQyxFQUFFNmlFLEdBQUU3aUUsR0FBRSxDQUFDLEVBQUVxcEQsR0FBRThRLEdBQUU5TCxHQUFFLEVBQUVDLEdBQUUsRUFBRUYsR0FBRXd3RSxJQUFJOXdFLEdBQUVvTSxHQUFFLENBQUMsRUFBRXhJLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUV0SSxHQUFFeVosRUFBQyxDQUFDLE9BQU96WixHQUFFLENBQUMsRUFBRSxDQUFDLElBQzNFLEdBQUUsSUFDRjRDLEdBQUUzQyxHQUFFc0MsR0FBRSxFQUFFRCxHQUFFa0MsR0FBRXhFLEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUN4QixHQUFFLElBQ0Y0QyxHQUFFM0MsR0FBRXNDLEdBQUUsRUFBRUQsR0FBRXFDLEdBQUUzRSxHQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFDeEIsR0FBRSxJQUNGNEMsR0FBRTNDLEdBQUVzQyxHQUFFLEVBQUVELEdBQUVtQyxHQUFFekUsR0FBRSxDQUFDLENBQUMsRUFBRSxNQUFNLElBQ3hCLEdBQUUsSUFDRjRDLEdBQUUzQyxHQUFFc0MsR0FBRSxFQUFFRCxHQUFFVCxHQUFFN0IsR0FBRSxDQUFDLENBQUMsRUFBRSxNQUFNLElBQ3hCLEdBQUUsSUFDRmdLLEdBQUV1RyxHQUFFa2xFLEdBQUcsRUFBRTd5RSxHQUFFb0gsR0FBRSxDQUFDLEVBQUV6SCxHQUFFeUgsR0FBRSxDQUFDLEVBQUUxSCxHQUFFMEgsR0FBRSxDQUFDLEVBQUUsTUFBTSxRQUFRLElBQzVDbEYsR0FBRTlFLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXNHLEdBQUV4QixHQUFFLENBQUMsRUFBRXdMLEdBQUVnK0UsR0FBR3hwRixHQUFFLENBQUMsRUFBRTdFLEVBQUMsRUFBRTJDLEdBQUUwTixHQUFFL04sR0FBRSxFQUFFRCxHQUFFdkMsR0FBRXVHLEVBQUMsQ0FBQyxDQUFDLE9BQU9wRyxHQUFFODFFLElBQUlwbkUsR0FBRWhNLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRW16RSxJQUFJenpFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFd3pFLElBQUlweEUsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVteEUsSUFBSTdzRSxHQUFFaEUsRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTR3RSxJQUFJLENBQUMsQ0FBQzF3RSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXl3RSxJQUFJLENBQUMsQ0FBQzF3RSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXl3RSxJQUFJLENBQUMsQ0FBQ256RSxFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFDOUozQixHQUFFanFELEdBQUUsQ0FBQyxFQUFFeTVELEdBQUV4UCxHQUFFLENBQUMsRUFBRStHLEdBQUV5SSxHQUFFLENBQUMsRUFBRXNKLEdBQUU5WSxHQUFFLENBQUMsRUFBRSxPQUFPVixHQUFFZzJFLElBQUl4OEQsR0FBRS9SLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXN1RSxJQUFJbDJFLEdBQUVxUSxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUNwRW0vRSxHQUFHNTRJLEdBQUUsQ0FBQyxHQUFPQSxHQUFFLENBQUMsSUFBUCxFQUFTLENBQUMsSUFDbkJtdUQsR0FBRW51RCxHQUFFLENBQUMsRUFBRSxPQUFPeTFELEdBQUd0SCxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQzVCRSxHQUFFcnVELEdBQUUsQ0FBQyxFQUFFNHJELEdBQUV5QyxHQUFFLENBQUMsRUFBRUUsR0FBRTNDLEdBQUUsQ0FBQyxFQUFFSyxHQUFFTCxHQUFFLENBQUMsRUFBRTNyRCxHQUFFMnJELEdBQUUsQ0FBQyxFQUFFcUMsR0FBRXJDLEdBQUUsQ0FBQyxFQUFFc0MsR0FBRUcsR0FBRSxDQUFDLEVBQUUsT0FBT3B1RCxHQUFFLENBQUMsRUFBRSxDQUFDLElBQzlELEdBQUUsSUFDRjByRCxHQUFFLEVBQUVyQyxHQUFFLEVBQUVELEdBQUV3RSxHQUFFNXRELEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUN4QixHQUFFLElBQ0YwckQsR0FBRSxFQUFFckMsR0FBRSxFQUFFRCxHQUFFMkUsR0FBRS90RCxHQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFDeEIsR0FBRSxJQUNGMHJELEdBQUUsRUFBRXJDLEdBQUUsRUFBRUQsR0FBRXlFLEdBQUU3dEQsR0FBRSxDQUFDLENBQUMsRUFBRSxNQUFNLElBQ3hCLEdBQUUsSUFDRjByRCxHQUFFLEVBQUVyQyxHQUFFLEVBQUVELEdBQUU2QixHQUFFanJELEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxRQUFRLElBQ2hDbXVELEdBQUVudUQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFdzVELEdBQUVyTCxHQUFFLENBQUMsRUFBRXpDLEdBQUU4TixHQUFFblEsR0FBRSxFQUFFRCxHQUFFRCxHQUFFZ0YsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdHLEdBQUUsSUFDeENELEdBQUVDLEdBQUUsQ0FBQyxFQUFFb0QsR0FBRThSLEdBQUV4WCxHQUFFLENBQUMsRUFBRXFDLEdBQUUsQ0FBQyxDQUFDLEVBQUVyRSxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV1MUUsSUFBSXAyRSxHQUFFa0YsRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFK0UsR0FBRTlKLEdBQUVtMkUsSUFBSS90RSxHQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTh0RSxJQUFJMXhFLEdBQUU5QixFQUFDLENBQUMsRUFBRWhDLEVBQUMsQ0FBQyxNQUN6RSxLQUNBb0osR0FBRXRGLEdBQUU5QixFQUFDLEVBQUUsT0FBTzFDLEdBQUUwMkUsSUFBSS94RSxHQUFFdkMsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFcTBFLElBQUkzMkUsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUwMkUsSUFBSTFzRSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXlzRSxJQUFJeDlFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFdTlFLElBQUksRUFBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVELElBQUksQ0FBQyxDQUFDM3hFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMHhFLElBQUksQ0FBQyxDQUFDcjJFLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUN0SDZOLEdBQUduM0QsR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUVwcEQsR0FBRSxDQUFDLEVBQUVxcEQsR0FBRXRwRCxHQUFFLENBQUMsRUFBRSxPQUFPdXBELEdBQUU0MkUsSUFBSTcyRSxHQUFFRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU2MkUsSUFBSTkyRSxHQUFFbnBELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQzdENDRJLEdBQUc3NEksR0FBRSxDQUFDLE9BQVdBLEdBQUUsQ0FBQyxJQUFQLEVBQVNvcEQsR0FBRXBwRCxHQUFFLENBQUMsQ0FBQyxFQUFFbTNELEdBQUduM0QsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ3ZDeWEsR0FBR3phLEdBQUUsQ0FBQyxPQUFPQSxHQUFFLENBQUMsRUFBRSxDQUFDLElBQ25CLEdBQUUsT0FBT29wRCxHQUFFcHBELEdBQUUsQ0FBQyxDQUFDLEVBQUUsSUFDakIsR0FBRSxPQUFPbTNELEdBQUduM0QsR0FBRSxDQUFDLENBQUMsRUFBRSxRQUFRLE9BQU9nNEksRUFBRSxDQUFDLENBQUMsU0FDckNocUYsR0FBRWh1RCxHQUFFLENBQUMsSUFDTEMsR0FBRUQsR0FBRSxDQUFDLEVBQUUsT0FBT3VwRCxHQUFFKzJFLElBQUl0Z0ksR0FBRSxDQUFDLEVBQUVDLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVvZ0ksSUFBSXBnSSxHQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVtZ0ksSUFBSS90RSxHQUFFcHlELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDdEU2dEQsR0FBRTl0RCxHQUFFLENBQUMsSUFDTEMsR0FBRUQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRW5wRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUVycEQsR0FBRSxDQUFDLEVBQUVpckQsR0FBRWxyRCxHQUFFLENBQUMsRUFBRTJyRCxHQUFFdEMsR0FBRW9JLElBQUd4TSxHQUFHb0UsR0FBRSxDQUFDLENBQUMsRUFBRTBULElBQUd3akUsSUFBSXJqRSxJQUFHLEdBQUdKLEdBQUcxVCxHQUFFLEVBQUVzSSxHQUFFdEksRUFBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPRyxHQUFFbzNFLElBQUl6MUUsR0FBRTVCLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRW8zRSxJQUFJc1gsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV2WCxJQUFJcHVFLEdBQUUxRyxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNjBFLElBQUludUUsR0FBRWpKLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ3hKeUUsR0FBRTd0RCxHQUFFLENBQUMsSUFDTEMsR0FBRUQsR0FBRSxDQUFDLEVBQUUsT0FBT3VwRCxHQUFFdTNFLElBQUk5Z0ksR0FBRSxDQUFDLEVBQUVDLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU0Z0ksSUFBSXh1RSxHQUFFcHlELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMmdJLElBQUl2dUUsR0FBRXB5RCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ3pFZ2lELEdBQUdqaUQsR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVucEQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFdHBELEdBQUUsQ0FBQyxFQUFFa3JELEdBQUU5QixHQUFFMjNFLElBQUlDLElBQUksT0FBT3ozRSxHQUFFNDNFLElBQUk3M0UsR0FBRUQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNjNFLElBQUksQ0FBQyxDQUFDOTNFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNjNFLElBQUk1dUUsR0FBRW5ILEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUM3RjZPLEdBQUcvNUQsR0FBRSxDQUFDLE9BQU91cEQsR0FBRXE0RSxJQUFJNWhJLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMmhJLElBQUlxVyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXRXLElBQUkxeEYsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUM5RHd5QixHQUFHeGlFLEdBQUUsQ0FBQyxJQUNOQyxHQUFFRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUVycEQsR0FBRSxDQUFDLEVBQUVpckQsR0FBRWxyRCxHQUFFLENBQUMsRUFBRTJyRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVrMkUsSUFBSXYrRCxHQUFFbGEsR0FBRW5wRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU9zcEQsR0FBRXc0RSxJQUFJNzJFLEdBQUU3QixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV5NEUsSUFBSXgrRCxHQUFFaFcsR0FBR2hFLEVBQUMsQ0FBQyxFQUFFcUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUM5RjJCLEdBQUd0dEQsR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVucEQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFdHBELEdBQUUsQ0FBQyxFQUFFLE9BQU91cEQsR0FBRTY0RSxJQUFJOTRFLEdBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNjRFLElBQUk4WCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVoWSxJQUFJNXZFLEdBQUVqSixHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTQ0RSxJQUFJM3ZFLEdBQUVqSixHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU4NEUsSUFBSSxDQUFDLENBQUM3NEUsRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUMxSDJmLEdBQUdocEUsR0FBRSxDQUFDLE9BQU9BLEdBQUUsQ0FBQyxJQUNoQixHQUFFLE9BQU93aUksSUFBSSxJQUNiLEdBQUUsT0FBT0MsSUFBSSxRQUFRLE9BQU9DLEdBQUcsQ0FBQyxDQUFDLFNBQ2pDMXJFLEdBQUVoM0QsR0FBRSxDQUFDLElBQ0xDLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVucEQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFdHBELEdBQUUsQ0FBQyxFQUFFa3JELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXkzRSxJQUFJdHdFLEdBQUUyVyxHQUFHL29FLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPc3BELEdBQUVzNUUsSUFBSXY1RSxHQUFFRixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV3NUUsSUFBSXQvRCxHQUFFbFIsR0FBRy9JLEVBQUMsQ0FBQyxFQUFFNkIsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUNoR2tILEdBQUdweUQsR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUVwcEQsR0FBRSxDQUFDLEVBQUVxcEQsR0FBRXRwRCxHQUFFLENBQUMsRUFBRWtyRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU0M0UsSUFBSW5wRSxHQUFFdlEsR0FBRW5wRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU9zcEQsR0FBRXk1RSxJQUFJMTVFLEdBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFeTVFLElBQUloMUUsR0FBRTFFLEVBQUMsQ0FBQyxFQUFFNkIsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUNwRnVPLEdBQUV6NUQsR0FBRSxDQUFDLElBQ0xvcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFRCxHQUFFLENBQUMsRUFBRUUsR0FBRXRwRCxHQUFFLENBQUMsRUFBRSxPQUFPb3BELEdBQUUsQ0FBQyxFQUFFLENBQUMsSUFDbEMsR0FBRSxJQUNGbnBELEdBQUVnakksSUFBSSxNQUFNLElBQ1osR0FBRSxJQUNGaGpJLEdBQUVpakksSUFBSSxNQUFNLElBQ1osR0FBRSxJQUNGampJLEdBQUVrakksSUFBSSxNQUFNLElBQ1osR0FBRSxJQUNGbGpJLEdBQUVtakksSUFBSSxNQUFNLElBQ1osR0FBRSxJQUNGbmpJLEdBQUVvakksSUFBSSxNQUFNLFFBQVEsSUFDcEJwakksR0FBRXFqSSxHQUFHLENBQUMsT0FBTy81RSxHQUFFaTZFLElBQUlsNkUsR0FBRUQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFazZFLElBQUlseEUsR0FBRXB5RCxFQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQzNDMHJELEdBQUUzckQsR0FBRSxDQUFDLElBQ0xDLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVwcEQsR0FBRSxDQUFDLEVBQUUsT0FBT0MsR0FBRSxDQUFDLEVBQUUsQ0FBQyxJQUMzQixHQUFFLE9BQU9zcEQsR0FBRWs2RSxJQUFJcjZFLEdBQUVucEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQ3pCLEdBQUUsT0FBT3NwRCxHQUFFbTZFLElBQUl0NkUsR0FBRW5wRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFDekIsR0FBRSxPQUFPc3BELEdBQUVvNkUsSUFBSXY2RSxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUN6QixHQUFFLE9BQU9zcEQsR0FBRXE2RSxJQUFJeDZFLEdBQUVucEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQ3pCLEdBQUUsT0FBT3NwRCxHQUFFczZFLElBQUl6NkUsR0FBRW5wRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFDekIsR0FBRSxPQUFPc3BELEdBQUV3NkUsSUFBSTM2RSxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUN6QixHQUFFLE9BQU9zcEQsR0FBRXk2RSxJQUFJNTZFLEdBQUVucEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQ3pCLEdBQUUsT0FBT3NwRCxHQUFFMDZFLElBQUk3NkUsR0FBRW5wRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFDekIsR0FBRSxPQUFPc3BELEdBQUUyNkUsSUFBSTk2RSxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUN6QixHQUFFLE9BQU9zcEQsR0FBRXU2RSxJQUFJMTZFLEdBQUVucEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLElBQ3pCLElBQUcsT0FBT3NwRCxHQUFFb2pGLElBQUl2akYsR0FBRW5wRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFDMUIsSUFBRyxJQUNIbXVELEdBQUVudUQsR0FBRSxDQUFDLEVBQUUrMkQsR0FBRTVJLEdBQUUsQ0FBQyxFQUFFLE9BQU83RSxHQUFFNjZFLElBQUloN0UsR0FBRTROLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRW10RSxJQUFJeDRFLEdBQUV5QyxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFDdEQsSUFBRyxPQUFPNkYsR0FBRSxDQUFDLEVBQUU3SyxHQUFFbnBELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUN4QixJQUFHLElBQ0hxcEQsR0FBRXJwRCxHQUFFLENBQUMsRUFBRW96RCxHQUFFL0osR0FBRSxDQUFDLEVBQUU2USxHQUFFN1EsR0FBRSxDQUFDLEVBQUUwSCxHQUFFMUgsR0FBRSxDQUFDLEVBQUUwWixHQUFFMVosR0FBRSxDQUFDLEVBQUU0WixHQUFFeTBFLEdBQUc1dUUsR0FBRzFWLEdBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFOEcsRUFBQyxFQUFFck0sR0FBRXVGLEdBQUUsQ0FBQyxFQUFFOFAsR0FBRXJWLEdBQUUsQ0FBQyxFQUFFc1YsR0FBRXRWLEdBQUUsQ0FBQyxFQUFFdVYsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFb3hELElBQUk5NkQsR0FBRXRMLEdBQUUyVSxFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU3bUMsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFdTRGLElBQUlsN0QsR0FBR3hJLEVBQUMsQ0FBQyxFQUFFcVMsRUFBQyxFQUFFRSxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVveEQsSUFBSWg3RCxHQUFFdFAsR0FBRzhZLEVBQUMsQ0FBQyxFQUFFaG5DLEVBQUMsRUFBRSxPQUFPb3RCLEdBQUVzckUsSUFBSXpyRSxHQUFFOFosR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMHhELElBQUloc0QsR0FBR3hGLEVBQUMsQ0FBQyxFQUFFRyxFQUFDLENBQUMsRUFBRSxJQUN2TCxJQUFHLE9BQU9SLEdBQUUsRUFBRSxDQUFDLEVBQUUzWixHQUFFbnBELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUMxQixJQUFHLElBQ0gyckQsR0FBRTNyRCxHQUFFLENBQUMsRUFBRTQ0RCxHQUFFak4sR0FBRSxDQUFDLEVBQUU0WCxHQUFFNVgsR0FBRSxDQUFDLEVBQUU2WCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUra0UsSUFBSXpsRSxHQUFFLEVBQUVuWCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU9yQyxHQUFFbS9FLElBQUl0L0UsR0FBRXlQLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTR2RSxJQUFJbmxFLEdBQUVSLEdBQUVVLEVBQUMsQ0FBQyxFQUFFQyxFQUFDLENBQUMsRUFBRSxJQUN0RixJQUFHLElBQ0h0VixHQUFFbHVELEdBQUUsQ0FBQyxFQUFFeWpFLEdBQUd2VixHQUFFLENBQUMsRUFBRSxPQUFPNUUsR0FBRXEvRSxJQUFJeC9FLEdBQUVzYSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVpbEUsSUFBSWg5RSxHQUFFd0MsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQ3hELElBQUcsSUFDSDlFLEdBQUVwcEQsR0FBRSxDQUFDLEVBQUUyL0IsR0FBR3lwQixHQUFFLENBQUMsRUFBRXNELEdBQUd0RCxHQUFFLENBQUMsRUFBRW9WLEdBQUdwVixHQUFFLENBQUMsRUFBRW5wRCxHQUFHbXBELEdBQUUsQ0FBQyxFQUFFc2EsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFa2xFLElBQUlsOUUsR0FBRXRDLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUVzZixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVtZ0UsSUFBSW45RSxHQUFFZ0IsRUFBRSxDQUFDLEVBQUVnWCxFQUFFLEVBQUVyaUIsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFeW5GLElBQUlwOUUsR0FBRThTLEVBQUUsQ0FBQyxFQUFFa0ssRUFBRSxFQUFFLE9BQU9wZixHQUFFMC9FLElBQUk3L0UsR0FBRXhwQixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVvcEcsSUFBSXI5RSxHQUFFenJELEVBQUUsQ0FBQyxFQUFFb2hELEVBQUUsQ0FBQyxFQUFFLElBQ3hKLElBQUcsSUFDSDJNLEdBQUVodUQsR0FBRSxDQUFDLEVBQUV3UCxHQUFHdytDLEdBQUUsQ0FBQyxFQUFFLE9BQU8xRSxHQUFFNC9FLElBQUkvL0UsR0FBRTM1QyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUV5NUgsSUFBSXh5SCxHQUFHdTNDLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUN6RCxJQUFHLE9BQU9ncUYsR0FBRyxDQUFDLEVBQUU3dUYsR0FBRW5wRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDekIsSUFBRyxJQUNIaXVELEdBQUVqdUQsR0FBRSxDQUFDLEVBQUU0b0UsR0FBRzNhLEdBQUUsQ0FBQyxFQUFFLE9BQU8zRSxHQUFFcWdGLElBQUl4Z0YsR0FBRXlmLEdBQUdxdkUsR0FBR2hxRixFQUFDLENBQUMsRUFBRSxJQUN4QyxJQUFHLElBQ0h5RCxHQUFFMXhELEdBQUUsQ0FBQyxFQUFFNDVELEdBQUVsSSxHQUFFLENBQUMsRUFBRW1YLEdBQUdqUCxHQUFFLENBQUMsRUFBRTZPLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRW1oRSxJQUFJLENBQUMsQ0FBQ2w0RSxHQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPcEksR0FBRXVnRixJQUFJMWdGLEdBQUUwZixHQUFHMU8sR0FBRTg5RSxHQUFHcitFLEVBQUMsRUFBRTZPLEVBQUUsQ0FBQyxFQUFFLElBQzdFLElBQUcsSUFDSHplLEdBQUVocUQsR0FBRSxDQUFDLEVBQUVxdUQsR0FBRXJFLEdBQUUsQ0FBQyxFQUFFN21DLEdBQUc2bUMsR0FBRSxDQUFDLEVBQUUsT0FBT1YsR0FBRXlnRixJQUFJNWdGLEdBQUVobUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFMm1ILElBQUl6bUUsR0FBRTNYLEdBQUUsQ0FBQyxFQUFFMkMsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUNuRixJQUFHLElBQ0gySixHQUFFaDRELEdBQUUsQ0FBQyxFQUFFK3RELEdBQUVpSyxHQUFFLENBQUMsRUFBRWhXLEdBQUdnVyxHQUFFLENBQUMsRUFBRSxPQUFPMU8sR0FBRTJnRixJQUFJOWdGLEdBQUVuSCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVnb0YsSUFBSTNtRSxHQUFFM1gsR0FBRSxDQUFDLEVBQUVxQyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQ25GLElBQUcsSUFDSC9CLEdBQUVoc0QsR0FBRSxDQUFDLEVBQUV5eEQsR0FBRXpGLEdBQUUsQ0FBQyxFQUFFK2MsR0FBRy9jLEdBQUUsQ0FBQyxFQUFFK0QsR0FBRy9ELEdBQUUsQ0FBQyxFQUFFZSxHQUFHMEUsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFeTRFLElBQUlwckUsR0FBRXJOLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxPQUFPbkksR0FBRThnRixJQUFJamhGLEdBQUU0ZixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVvaEUsSUFBSStOLEdBQUdub0YsRUFBRSxDQUFDLEVBQUVoRCxFQUFFLENBQUMsRUFBRSxJQUNwRyxJQUFHLElBQ0hoMEIsR0FBRS80QixHQUFFLENBQUMsRUFBRWdwRSxHQUFHandDLEdBQUUsQ0FBQyxFQUFFLE9BQU91d0IsR0FBRW1oRixJQUFJdGhGLEdBQUU2ZixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUV3aEUsSUFBSTkrRSxHQUFFM3lCLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUN4RCxJQUFHLE9BQU9xcUIsR0FBRytGLEdBQUVucEQsR0FBRSxDQUFDLENBQUMsRUFBRSxJQUNyQixJQUFHLElBQ0h5NUQsR0FBRXo1RCxHQUFFLENBQUMsRUFBRSxPQUFPcXJCLEdBQUc4OUIsR0FBRXNRLEdBQUUsQ0FBQyxFQUFFdXhFLElBQUl2eEUsR0FBRSxDQUFDLENBQUMsRUFBRSxJQUNsQyxJQUFHLElBQ0g3TCxHQUFFNXRELEdBQUUsQ0FBQyxFQUFFaXBFLEdBQUdyYixHQUFFLENBQUMsRUFBRXNiLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRStoRSxJQUFJLENBQUMsQ0FBQ3I5RSxHQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPdEUsR0FBRTZoRixJQUFJaGlGLEdBQUU4ZixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVpaUUsSUFBSTduRSxHQUFFLFNBQVN0akUsR0FBRSxDQUFDLElBQ2pGQyxHQUFFRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFcnBELEdBQUUsQ0FBQyxFQUFFLE9BQU9DLEdBQUUsQ0FBQyxFQUFFLENBQUMsSUFDM0IsR0FBRSxPQUFPMHJELEdBQUUxckQsR0FBRSxDQUFDLENBQUMsRUFBRSxJQUNqQixHQUFFLElBQ0ZtcEQsR0FBRW5wRCxHQUFFLENBQUMsRUFBRTJyRCxHQUFFeEMsR0FBRSxDQUFDLEVBQUU2QyxHQUFFN0MsR0FBRSxDQUFDLEVBQUV5RSxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV3OUUsSUFBSSxDQUFDLENBQUNqaUYsR0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUyRSxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV1OUUsSUFBSTN4RSxHQUFFRixHQUFFclEsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFeUUsRUFBQyxFQUFFUSxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVrOUUsSUFBSTUvRSxHQUFFQyxFQUFDLENBQUMsRUFBRW1DLEVBQUMsRUFBRSxPQUFPeEUsR0FBRWtpRixJQUFJcGlGLEdBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFbWlGLElBQUl0Z0YsR0FBRWUsRUFBQyxDQUFDLEVBQUVvQyxFQUFDLENBQUMsRUFBRSxRQUFRLElBQ3hJL0UsR0FBRXJwRCxHQUFFLENBQUMsRUFBRXN1RCxHQUFFakYsR0FBRSxDQUFDLEVBQUVnRixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVvOUUsSUFBSS8vRSxHQUFFckMsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPQyxHQUFFcWlGLElBQUl2aUYsR0FBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVzaUYsSUFBSWh5RSxHQUFFek8sR0FBRXFELEVBQUMsQ0FBQyxFQUFFRCxFQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUVULEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRXNiLEVBQUUsQ0FBQyxFQUFFLElBQzNGLElBQUcsSUFDSHBiLEdBQUU5dEQsR0FBRSxDQUFDLEVBQUUsT0FBT3NwRCxHQUFFd2lGLElBQUkzaUYsR0FBRTJFLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUrOUUsSUFBSXo1RSxHQUFFdEUsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU4OUUsSUFBSXg1RSxHQUFFdEUsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDdEUsSUFBRyxJQUNIUSxHQUFFdHVELEdBQUUsQ0FBQyxFQUFFLE9BQU9zcEQsR0FBRTJpRixJQUFJOWlGLEdBQUVtRixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMDlFLElBQUkxOUUsR0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFeTlFLElBQUkzNUUsR0FBRTlELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQ25FLElBQUcsSUFDSG9CLEdBQUUxdkQsR0FBRSxDQUFDLEVBQUUsT0FBT3NwRCxHQUFFOGlGLElBQUlqakYsR0FBRXVHLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV5OEUsSUFBSTRMLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFN0wsSUFBSTk1RSxHQUFFMUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFDakUsSUFBRyxJQUNIaUssR0FBRTM1RCxHQUFFLENBQUMsRUFBRTY1RCxHQUFFRixHQUFFLENBQUMsRUFBRU4sR0FBR00sR0FBRSxDQUFDLEVBQUV3UCxHQUFHLEVBQUVuekIsR0FBRzZqQixHQUFFd3lFLElBQUlDLElBQUksT0FBT2hqRixHQUFFbWpGLElBQUl0akYsR0FBRWtRLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRW16RSxJQUFJLENBQUMsQ0FBQzN5RSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTB5RSxJQUFJbjZFLEdBQUVwYyxFQUFFLENBQUMsRUFBRW16QixFQUFFLENBQUMsQ0FBQyxFQUFFLElBQ2hHLElBQUcsT0FBTzdmLEdBQUU4NkUsSUFBSWo3RSxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUMxQixJQUFHLE9BQU9zcEQsR0FBRSs2RSxJQUFJbDdFLEdBQUVucEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFFBQVEsT0FBT3NwRCxHQUFFZzdFLElBQUluN0UsR0FBRW5wRCxHQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQzFENGlFLEdBQUc3aUUsR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUVwcEQsR0FBRSxDQUFDLEVBQUVxcEQsR0FBRXJwRCxHQUFFLENBQUMsRUFBRTJyRCxHQUFFdkMsR0FBRSxDQUFDLEVBQUU0QyxHQUFFNUMsR0FBRSxDQUFDLEVBQUV3RSxHQUFFN3RELEdBQUUsQ0FBQyxFQUFFLE9BQU9DLEdBQUUsQ0FBQyxFQUFFLENBQUMsSUFDdkQsR0FBRSxJQUNGbXBELEdBQUU0dUYsR0FBRyxNQUFNLElBQ1gsR0FBRSxJQUNGNXVGLEdBQUU5dUIsR0FBRyxNQUFNLFFBQVEsSUFDbkI4dUIsR0FBRXRtQyxFQUFFLENBQUMsSUFDTGlyQyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUwMkUsSUFBSTlxRSxHQUFFaE8sR0FBRUMsRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTQ0RSxJQUFJcDdFLEVBQUMsRUFBRSxDQUFDLENBQUMsRUFBRWlGLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXEyRSxJQUFJeDVFLEdBQUVlLEVBQUMsQ0FBQyxFQUFFOEIsRUFBQyxFQUFFLE9BQU94RSxHQUFFbzdFLElBQUk5MkUsR0FBRWtiLEdBQUd6ZixFQUFDLEVBQUUrRSxFQUFDLENBQUMsQ0FBQyxTQUNsRjRGLEdBQUVqMEQsR0FBRSxDQUFDLElBQ0xDLEdBQUVELEdBQUUsQ0FBQyxFQUFFc3BELEdBQUVycEQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRW1wRCxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWlyRCxHQUFFanJELEdBQUUsQ0FBQyxFQUFFMnJELEdBQUV4QyxHQUFFLENBQUMsRUFBRTZDLEdBQUU3QyxHQUFFLENBQUMsRUFBRXlFLEdBQUV6RSxHQUFFLENBQUMsRUFBRTJFLEdBQUU5dEQsR0FBRSxDQUFDLEVBQUVzdUQsR0FBRXZ1RCxHQUFFLENBQUMsRUFBRXN1RCxHQUFFcXBGLEdBQUc1dUUsR0FBRzNmLEdBQUUsQ0FBQyxDQUFDLEVBQUU4QixFQUFDLEVBQUU4QyxHQUFNMUUsS0FBSixFQUFNczdFLElBQUlDLElBQUl4eEUsR0FBTS9KLEtBQUosRUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV3N0UsSUFBSW5yRSxHQUFFbS9FLEdBQUdqckYsRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFQyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVpM0UsSUFBSXByRSxHQUFFdEwsR0FBRU4sRUFBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFSyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU0MkUsSUFBSXJyRSxHQUFFeFAsR0FBR3lCLEVBQUMsQ0FBQyxFQUFFa0MsRUFBQyxFQUFFSyxHQUFNOUUsR0FBRSxDQUFDLElBQVAsRUFBU3NDLEdBQUV0QyxHQUFFLENBQUMsQ0FBQyxFQUFFd1osR0FBR3haLEdBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBT0UsR0FBRXlFLEdBQUVPLEdBQUVELEdBQUU4TCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU4cUUsSUFBSTVoRSxHQUFFLFNBQVN0akUsR0FBRSxDQUFDLE9BQU8rbkQsR0FBRyxFQUFFL25ELEVBQUMsQ0FBQyxFQUFFaXNELEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVnNUUsSUFBSTkyRSxFQUFDLEVBQUVDLEVBQUMsQ0FBQyxFQUFFaUYsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUN2U3RMLEdBQUcvbkQsR0FBRUMsR0FBRSxDQUFDLElBQ1JtcEQsR0FBRW5wRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFRCxHQUFFLENBQUMsRUFBRUUsR0FBRXJwRCxHQUFFLENBQUMsRUFBRTJyRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV1NUUsSUFBSSxDQUFDLENBQUMvN0UsR0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU2QyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVtNUUsSUFBSXo1RSxHQUFFdkMsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFd0MsRUFBQyxFQUFFLE9BQU9yQyxHQUFFKzdFLElBQUloOEUsR0FBRXRwRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVxbEksSUFBSTFyRSxHQUFFek8sR0FBRTdCLEVBQUMsQ0FBQyxFQUFFNEMsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUMzRzlCLEdBQUducUQsR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFLE9BQU8rbkQsR0FBRzluRCxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQzVCNjRJLEdBQUc5NEksR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVucEQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRXJwRCxHQUFFLENBQUMsRUFBRXNwRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVrOEUsSUFBSTc1RSxHQUFFMXJELEdBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXNsSSxJQUFJLEVBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPaDhFLEdBQUVtOEUsSUFBSXI4RSxHQUFFRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVxOEUsSUFBSTlyRSxHQUFFek8sR0FBRSxDQUFDLENBQUMsRUFBRTVCLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FDdkd5WixHQUFFL2lFLEdBQUVDLEdBQUUsQ0FBQyxJQUNQbXBELEdBQUVucEQsR0FBRSxDQUFDLEVBQUUyckQsR0FBRXhDLEdBQUUsQ0FBQyxFQUFFNkMsR0FBRTdDLEdBQUUsQ0FBQyxFQUFFMkUsR0FBRTNFLEdBQUUsQ0FBQyxFQUFFaUYsR0FBRXB1RCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFd1MsR0FBRyxTQUFTNzdELEdBQUVDLEdBQUUsQ0FBQyxJQUN0RG9wRCxHQUFFcnBELEdBQUUsQ0FBQyxFQUFFc3BELEdBQUV0cEQsR0FBRSxDQUFDLEVBQUU0ckQsR0FBRTVyRCxHQUFFLENBQUMsRUFBRWlzRCxHQUFFanNELEdBQUUsQ0FBQyxFQUFFLE9BQU9DLEdBQUUsQ0FBQyxFQUFFLENBQUMsSUFDekMsR0FBRSxJQUNGZ3FELEdBQUVocUQsR0FBRSxDQUFDLEVBQUVtcEQsR0FBRWEsR0FBRSxDQUFDLEVBQUVtRSxHQUFFaEYsR0FBRSxDQUFDLEVBQUVpSyxHQUFFakssR0FBRSxDQUFDLEVBQUUrUSxHQUFFL1EsR0FBRSxDQUFDLEVBQUUwWixHQUFFMVosR0FBRSxDQUFDLEVBQUU0SCxHQUFFNUgsR0FBRSxDQUFDLEVBQUUyWixHQUFFM1osR0FBRSxDQUFDLEVBQUUyVixHQUFFM1YsR0FBRSxDQUFDLEVBQUU0WixHQUFFNVosR0FBRSxDQUFDLEVBQUU4WixHQUFFalosR0FBRSxDQUFDLEVBQUUsT0FBT29KLEdBQUUsQ0FBQyxFQUFFLENBQUMsSUFDMUYsR0FBRSxJQUNGdEYsR0FBRUYsR0FBRXdGLEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUNoQixHQUFFLElBQ0Z0RixHQUFFQyxHQUFFcUYsR0FBRSxDQUFDLENBQUMsRUFBRSxNQUFNLElBQ2hCLEdBQUUsSUFDRnRGLEdBQUVELEdBQUV1RixHQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFDaEIsR0FBRSxJQUNGdEYsR0FBRTdDLEdBQUVtSSxHQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFDaEIsR0FBRSxJQUNGdEYsR0FBRTZMLEdBQUV1c0UsR0FBRyxFQUFFLE1BQU0sUUFBUSxJQUN2QnA0RSxHQUFFNkwsR0FBRXdzRSxHQUFHLENBQUMsQ0FBQyxPQUFPaDRFLEdBQUUsQ0FBQyxFQUFFLENBQUMsSUFDdEIsR0FBRSxJQUNGRixHQUFFbTRFLElBQUlwNEUsR0FBRXRDLEdBQUV5QyxHQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFDdEIsR0FBRSxJQUNGc0QsR0FBRXRELEdBQUUsQ0FBQyxFQUFFRixHQUFFbzRFLElBQUlyNEUsR0FBRWdHLEdBQUUsQ0FBQyxFQUFFdkMsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNLFFBQVEsSUFDOUNvSSxHQUFFMUwsR0FBRSxDQUFDLEVBQUVGLEdBQUVxNEUsSUFBSXQ0RSxHQUFFZ0csR0FBRSxDQUFDLEVBQUU2RixHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxFQUFFdlEsR0FBRXk5RSxJQUFJOWpFLEdBQUUvSSxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU0c0UsSUFBSWg1RSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSs0RSxJQUFJNzRFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNDRFLElBQUksQ0FBQyxDQUFDNzFFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNDFFLElBQUksQ0FBQyxDQUFDNWpFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMmpFLElBQUksQ0FBQyxDQUFDNW5FLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMm5FLElBQUksQ0FBQyxDQUFDM2pFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMGpFLElBQUk5c0UsR0FBRUYsR0FBRXFKLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUwakUsSUFBSW4wRSxHQUFFbkUsRUFBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRWpDLEVBQUMsRUFBRUwsR0FBRXRDLEdBQUVELEVBQUMsRUFBRSxJQUNuTSxHQUFFLElBQ0Y0TyxHQUFFaDRELEdBQUUsQ0FBQyxFQUFFbTZELEdBQUVuQyxHQUFFLENBQUMsRUFBRWtMLEdBQUUvSSxHQUFFLENBQUMsRUFBRWdKLEdBQUVuTCxHQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUxTyxHQUFFMjlFLElBQUk5akUsR0FBRUQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFOGpFLElBQUl0N0UsR0FBRXlPLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRW5PLEVBQUMsRUFBRUwsR0FBRXRDLEdBQUVELEVBQUMsRUFBRSxJQUNuRixHQUFFLElBQ0Zyd0IsR0FBRS80QixHQUFFLENBQUMsRUFBRW91RCxHQUFFcjFCLEdBQUUsQ0FBQyxFQUFFcXFDLEdBQUVoVixHQUFFLENBQUMsRUFBRWlWLEdBQUVqVixHQUFFLENBQUMsRUFBRWx5QixHQUFFa3lCLEdBQUUsQ0FBQyxFQUFFa1YsR0FBRWxWLEdBQUUsQ0FBQyxFQUFFMkksR0FBRTNJLEdBQUUsQ0FBQyxFQUFFd0ssR0FBRTcvQixHQUFFLENBQUMsRUFBRXdxQyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU0akUsSUFBSSxDQUFDLENBQUM5akUsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU2akUsSUFBSXh0RSxHQUFFRixHQUFFcEwsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFb1YsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFNGpFLElBQUkxN0UsR0FBRXh2QixFQUFDLENBQUMsRUFBRXFuQyxFQUFDLEVBQUVFLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTRqRSxJQUFJMzdFLEdBQUU0WCxFQUFDLENBQUMsRUFBRUUsRUFBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFeFgsR0FBRSxDQUFDLEVBQUUxQyxHQUFFaStFLElBQUkzdUUsR0FBRXdLLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWtrRSxJQUFJNXRFLEdBQUV6TyxHQUFFOEwsRUFBQyxDQUFDLEVBQUUwTSxFQUFFLENBQUMsRUFBRTlYLEVBQUMsRUFBRXRDLEdBQUVELEVBQUMsRUFBRSxJQUNwTSxHQUFFLElBQ0ZxUSxHQUFFejVELEdBQUUsQ0FBQyxFQUFFMHhELEdBQUUrSCxHQUFFLENBQUMsRUFBRTk1QixHQUFHK3hCLEdBQUUsQ0FBQyxFQUFFaEYsR0FBRytNLEdBQUUsQ0FBQyxFQUFFK0UsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFZ3BFLElBQUksQ0FBQyxDQUFDOTFFLEdBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFMUYsR0FBRUwsR0FBRSxDQUFDLEVBQUVyQyxHQUFFbytFLElBQUloN0UsR0FBRy9zQixHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU4bkcsSUFBSXp6RSxHQUFFdEMsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFOE0sRUFBRSxDQUFDLEVBQUVuVixFQUFDLEVBQUVELEVBQUMsRUFBRSxJQUNoSCxHQUFFLElBQ0ZzRyxHQUFFMXZELEdBQUUsQ0FBQyxFQUFFcXVELEdBQUVxQixHQUFFLENBQUMsRUFBRW9aLEdBQUd6YSxHQUFFLENBQUMsRUFBRXJNLEdBQUdxTSxHQUFFLENBQUMsRUFBRTBhLEdBQUcxYSxHQUFFLENBQUMsRUFBRTBCLEdBQUcxQixHQUFFLENBQUMsRUFBRWtMLEdBQUdsTCxHQUFFLENBQUMsRUFBRXRCLEdBQUcyQyxHQUFFLENBQUMsRUFBRXNaLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRW8vRCxJQUFJLENBQUMsQ0FBQ3I0RSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRW80RSxJQUFJLENBQUMsQ0FBQ3AvRCxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRW0vRCxJQUFJLENBQUMsQ0FBQ2xtRixFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWltRixJQUFJdjhFLEdBQUUyQyxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFckMsR0FBRUwsR0FBRXRDLEdBQUUsQ0FBQyxFQUFFQyxHQUFFZy9FLElBQUl2N0UsR0FBRytiLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRXUvRCxJQUFJcDlFLEdBQUVzTyxFQUFFLENBQUMsRUFBRXlQLEVBQUUsQ0FBQyxFQUFFNWYsRUFBQyxDQUFDLEVBQUUsUUFBUSxJQUMxTXdRLEdBQUU1NUQsR0FBRSxDQUFDLEVBQUVzdUQsR0FBRXNMLEdBQUUsQ0FBQyxFQUFFMzVELEdBQUdxdUQsR0FBRSxDQUFDLEVBQUVvVixHQUFHcFYsR0FBRSxDQUFDLEVBQUVvYSxHQUFHcGEsR0FBRSxDQUFDLEVBQUVqTixHQUFHaU4sR0FBRSxDQUFDLEVBQUU5K0MsR0FBRzgrQyxHQUFFLENBQUMsRUFBRXFhLEdBQUcvTyxHQUFFLENBQUMsRUFBRWdQLEdBQUcsRUFBRSxPQUFPdGEsR0FBRSxDQUFDLEVBQUUsQ0FBQyxJQUNoRixHQUFFLElBQ0ZKLEdBQUUsZUFBZSxNQUFNLElBQ3ZCLEdBQUUsSUFDRkEsR0FBRSxnQkFBZ0IsTUFBTSxJQUN4QixHQUFFLElBQ0ZBLEdBQUUsV0FBVyxNQUFNLFFBQVEsSUFDM0JBLEdBQUU2cEYsRUFBRSxDQUFDLElBQ0xsdkUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFKytELElBQUlsdUUsR0FBRUYsR0FBRWtLLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVpa0UsSUFBSXo1RSxFQUFDLEVBQUUwYSxFQUFFLENBQUMsRUFBRUgsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFby9ELElBQUluOEUsR0FBRWdkLEVBQUUsQ0FBQyxFQUFFRyxFQUFFLEVBQUUxbEQsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFMmtILElBQUlwOEUsR0FBRXJLLEVBQUUsQ0FBQyxFQUFFb25CLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUVuZixHQUFFMCtFLElBQUlyL0QsR0FBRzFvRSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU4bkksSUFBSXR4SCxHQUFHakgsRUFBRSxDQUFDLEVBQUUyVCxFQUFFLENBQUMsRUFBRTZvQyxFQUFDLEVBQUVMLEdBQUV0QyxHQUFFRCxFQUFDLENBQUMsQ0FBQyxFQUFFczhFLElBQUl2OEUsR0FBRSxDQUFDLENBQUMsRUFBRW1GLEdBQUVsRixHQUFFLENBQUMsRUFBRWlGLEdBQUVqRixHQUFFLENBQUMsRUFBRWdLLEdBQUVoSyxHQUFFLENBQUMsRUFBRStFLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXczRSxJQUFJcjhELEdBQUc3UCxHQUFFclEsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFOEUsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMDNFLElBQUl0OEQsR0FBRzdQLEdBQUVuTCxFQUFDLENBQUMsQ0FBQyxFQUFFSCxFQUFDLEVBQUVILEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTYzRSxJQUFJdjhELEdBQUc3UCxHQUFFcEwsRUFBQyxDQUFDLENBQUMsRUFBRUgsRUFBQyxFQUFFN0UsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMDhFLElBQUksQ0FBQyxDQUFDajRFLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFZzRFLElBQUl4OEQsR0FBRzdQLEdBQUVyRyxFQUFDLENBQUMsQ0FBQyxFQUFFcEYsRUFBQyxDQUFDLEVBQUVDLEdBQUVsdUQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFaW1JLElBQUksQ0FBQyxDQUFDaDZFLEVBQUMsRUFBRTNDLEVBQUMsRUFBRUEsR0FBRSxPQUFPQyxHQUFFMjhFLElBQUk3M0UsR0FBRTBhLEdBQUduZCxFQUFDLEVBQUVzQyxFQUFDLENBQUMsQ0FBQyxTQUN6VjhCLEdBQUdod0QsR0FBRSxDQUFDLElBQ05vcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRUMsR0FBRW1wRCxHQUFFLENBQUMsRUFBRUMsR0FBRUQsR0FBRSxDQUFDLEVBQUVFLEdBQUV0cEQsR0FBRSxDQUFDLEVBQUUyckQsR0FBTTFyRCxHQUFFLENBQUMsSUFBUCxFQUFTaXJELEdBQUVqckQsR0FBRSxDQUFDLENBQUMsRUFBRSt2RCxHQUFHL3ZELEdBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBT3NwRCxHQUFFKy9FLElBQUloZ0YsR0FBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUrL0UsSUFBSTE5RSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXk5RSxJQUFJbCtFLEdBQUU3QixFQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDM0c0dUYsR0FBR2o0SSxHQUFFLENBQUMsSUFDTkMsR0FBRUQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRW5wRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUVycEQsR0FBRSxDQUFDLEVBQUUwckQsR0FBRTNyRCxHQUFFLENBQUMsRUFBRTRyRCxHQUFNeEMsR0FBRSxDQUFDLElBQVAsRUFBUzhCLEdBQUU5QixHQUFFLENBQUMsQ0FBQyxFQUFFNEcsR0FBRzVHLEdBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBT0csR0FBRWtnRixJQUFJOTlFLEdBQUV0QyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVtZ0YsSUFBSTU5RSxFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTI5RSxJQUFJNXZFLEdBQUVvRixHQUFFelYsRUFBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ3BINHVGLEdBQUdsNEksR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXNnRixJQUFJLzlFLEdBQUUzckQsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUycEksSUFBSWgrRSxHQUFFMXJELEVBQUMsQ0FBQyxFQUFFbXBELEVBQUMsQ0FBQyxDQUFDLFNBQ3hEK3VGLEdBQUduNEksR0FBRSxDQUFDLEdBQU9BLEdBQUUsQ0FBQyxJQUFQLEVBQVMsT0FBT2tyRCxHQUFFbHJELEdBQUUsQ0FBQyxDQUFDLEVBQUUsSUFDakNDLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVucEQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRUQsR0FBRSxDQUFDLEVBQUVFLEdBQUVycEQsR0FBRSxDQUFDLEVBQUUwckQsR0FBRXdzRixHQUFHL3VGLEdBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBT0csR0FBRWloRixJQUFJbGhGLEdBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFaWhGLElBQUk1K0UsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUyK0UsSUFBSXAvRSxHQUFFN0IsRUFBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQzFGbVEsR0FBR3g1RCxHQUFFLENBQUMsT0FBV0EsR0FBRSxDQUFDLElBQVAsRUFBU2c0SSxHQUFHMzBGLEdBQUdyakQsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUN2Q3FqRCxHQUFHcmpELEdBQUVDLEdBQUUsQ0FBQyxJQUNSb3BELEdBQUVwcEQsR0FBRSxDQUFDLEVBQUVxcEQsR0FBRXJwRCxHQUFFLENBQUMsRUFBRSxPQUFPQSxHQUFFLENBQUMsRUFBRSxDQUFDLElBQzNCLEdBQUUsSUFDRm1wRCxHQUFFdWhGLElBQUksTUFBTSxJQUNaLEdBQUUsSUFDRnZoRixHQUFFd2hGLElBQUksTUFBTSxRQUFRLElBQ3BCeGhGLEdBQUV5aEYsR0FBRyxDQUFDLE9BQU92L0csR0FBR3RyQixHQUFFcXBELEdBQUVELEdBQUVFLEVBQUMsQ0FBQyxDQUFDLFNBQ3pCaCtCLEdBQUd0ckIsR0FBRUMsR0FBRW1wRCxHQUFFQyxHQUFFLENBQUMsT0FBT0UsR0FBRXloRixJQUFJaHJJLEdBQUVDLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRThxSSxJQUFJMTRFLEdBQUVqSixFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMGhGLElBQUluL0UsR0FBRXRDLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUNsRWdLLEdBQUVyekQsR0FBRSxDQUFDLElBQ0xDLEdBQUVELEdBQUUsQ0FBQyxFQUFFLE9BQU91cEQsR0FBRXNqRixJQUFJNXNJLEdBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMnNJLElBQUlqaEYsR0FBRTNyRCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUMvQ3F1RCxHQUFFcnVELEdBQUUsQ0FBQyxJQUNMQyxHQUFFRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVycEQsR0FBRSxDQUFDLEVBQUVzcEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMGpGLElBQUkxcEUsR0FBRTVzRCxHQUFHelcsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxPQUFPc3BELEdBQUUwakYsSUFBSTVqRixHQUFFMGYsR0FBRzNmLEVBQUMsRUFBRUUsRUFBQyxDQUFDLENBQUMsU0FDeEU1eUMsR0FBRzFXLEdBQUUsQ0FBQyxJQUNOQyxHQUFFRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRW9wRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUVycEQsR0FBRSxDQUFDLEVBQUVpckQsR0FBRWpyRCxHQUFFLENBQUMsRUFBRTJyRCxHQUFFeEMsR0FBRSxDQUFDLEVBQUU2QyxHQUFFN0MsR0FBRSxDQUFDLEVBQUV5RSxHQUFFN3RELEdBQUUsQ0FBQyxFQUFFK3RELEdBQUU5dEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWl0SSxJQUFJLEVBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTcrRSxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU4K0UsSUFBSXh6RSxHQUFFaE8sR0FBRXRDLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRWtGLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTYrRSxJQUFJenpFLEdBQUVGLEdBQUVuUSxFQUFDLENBQUMsRUFBRStFLEVBQUMsRUFBRSxPQUFPOUUsR0FBRWdrRixJQUFJMS9FLEdBQUVqQyxHQUFFd08sR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFa3pFLElBQUlqN0UsR0FBRXBHLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVvaEYsSUFBSW9zQixHQUFHcG1HLEdBQUVuSSxFQUFDLENBQUMsRUFBRXFELEVBQUMsQ0FBQyxFQUFFUixFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ2xNZ1IsR0FBRS8rRCxHQUFFLENBQUMsSUFDTEMsR0FBRUQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRW5wRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFcnBELEdBQUUsQ0FBQyxFQUFFc3BELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWtrRixJQUFJbHFFLEdBQUUzWCxHQUFFMXJELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBT3NwRCxHQUFFa2tGLElBQUlwa0YsR0FBRTBmLEdBQUczZixFQUFDLEVBQUVFLEVBQUMsQ0FBQyxDQUFDLFNBQ3ZFMEQsR0FBR2h0RCxHQUFFLENBQUMsSUFDTkMsR0FBRUQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRW5wRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFcnBELEdBQUUsQ0FBQyxFQUFFc3BELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRW9rRixJQUFJcHFFLEdBQUV5MUUsR0FBRzk0SSxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU9zcEQsR0FBRW9rRixJQUFJdGtGLEdBQUUwZixHQUFHM2YsRUFBQyxFQUFFRSxFQUFDLENBQUMsQ0FBQyxTQUN4RXl2RixHQUFHLzRJLEdBQUUsQ0FBQyxHQUFPQSxHQUFFLENBQUMsSUFBUCxFQUFTLE9BQU8yckQsR0FBRTNyRCxHQUFFLENBQUMsQ0FBQyxFQUFFLElBQ2pDQyxHQUFFRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVwcEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU9nNEksR0FBRyxDQUFDLEVBQUU3dUYsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFa3dGLEdBQUcsRUFBRSxDQUFDLEVBQUVsd0YsR0FBRXdrRixHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUV2a0YsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ3JFaE4sR0FBR3I4QyxHQUFFLENBQUMsSUFDTkMsR0FBRUQsR0FBRSxDQUFDLEVBQUVxcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRWlyRCxHQUFFanJELEdBQUUsQ0FBQyxFQUFFMHJELEdBQUUxckQsR0FBRSxDQUFDLEVBQUUyckQsR0FBRTVyRCxHQUFFLENBQUMsRUFBRWlzRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU0aEYsSUFBSXZxRSxHQUFFNW1DLEdBQUd6OEIsR0FBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU0dEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFaWdGLElBQUluMEUsR0FBRXMvRSxHQUFHdHRGLEVBQUMsQ0FBQyxFQUFFTSxFQUFDLEVBQUU3QyxHQUFFQyxHQUFFLENBQUMsRUFBRUMsR0FBRUYsR0FBRSxDQUFDLEVBQUUyRSxHQUFFM0UsR0FBRSxDQUFDLEVBQUVpRixHQUFFakYsR0FBRSxDQUFDLEVBQUVtRixHQUFFbkYsR0FBRSxDQUFDLEVBQUVrRixHQUFFakYsR0FBRSxDQUFDLEVBQUUyRSxHQUFFMUUsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFK2tGLElBQUlyaEYsR0FBRzFELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRStKLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWs3RSxJQUFJanJFLEdBQUUwMUUsR0FBR2pyRixFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFdWdGLElBQUksQ0FBQyxDQUFDamdGLEVBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPOUUsR0FBRXlrRixJQUFJcGlGLEdBQUVWLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTZpRixJQUFJeGtGLEdBQUVrbEYsSUFBSW5nRixHQUFFLEVBQUU4TCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVvMEUsSUFBSWw3SCxHQUFHaTdDLEVBQUMsQ0FBQyxFQUFFOEUsRUFBQyxFQUFFckYsRUFBQyxDQUFDLENBQUMsRUFBRUgsRUFBQyxDQUFDLENBQUMsQ0FBQyxTQUM1UTNmLEdBQUdsdUMsR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVucEQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVxcEQsR0FBRXJwRCxHQUFFLENBQUMsRUFBRWlyRCxHQUFFbHJELEdBQUUsQ0FBQyxFQUFFMnJELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXNpRixJQUFJMWtGLEdBQUVzbEYsSUFBSTV1SSxHQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRTJyRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVzaUYsSUFBSTVxRSxHQUFFNW1DLEdBQUcyc0IsRUFBQyxDQUFDLEVBQUVzQyxFQUFDLEVBQUUsT0FBT3BDLEdBQUU2a0YsSUFBSWxqRixHQUFFOUIsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFK2tGLElBQUk1a0YsR0FBRW1sRixJQUFJcGxGLEdBQUUsRUFBRSxDQUFDLENBQUMsRUFBRXNDLEVBQUMsQ0FBQyxDQUFDLENBQUMsU0FDM0lvdEYsR0FBR2g1SSxHQUFFLENBQUMsR0FBT0EsR0FBRSxDQUFDLElBQVAsRUFBUyxDQUFDLElBQ25CcXBELEdBQUVycEQsR0FBRSxDQUFDLEVBQUVrckQsR0FBRTdCLEdBQUUsQ0FBQyxFQUFFcHBELEdBQUVpckQsR0FBRSxDQUFDLEVBQUVVLEdBQUVWLEdBQUUsQ0FBQyxFQUFFZSxHQUFFNUMsR0FBRSxDQUFDLEVBQUV3RSxHQUFNNXRELEdBQUUsQ0FBQyxJQUFQLEVBQVM2NUQsR0FBRTc1RCxHQUFFLENBQUMsQ0FBQyxFQUFFczVELEdBQUd0NUQsR0FBRSxDQUFDLENBQUMsRUFBRSxPQUFPc3BELEdBQUV5bEYsSUFBSS9pRixHQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRThpRixJQUFJbGhGLEVBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFaWhGLElBQUluMUUsR0FBRXUvRSxHQUFHdHRGLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUNySHRDLEdBQUV0cEQsR0FBRSxDQUFDLEVBQUUyckQsR0FBRXJDLEdBQUUsQ0FBQyxFQUFFeUUsR0FBRXBDLEdBQUUsQ0FBQyxFQUFFMEMsR0FBRS9FLEdBQUUsQ0FBQyxFQUFFLE9BQU9DLEdBQUUybEYsSUFBSTdnRixHQUFFTixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVraEYsSUFBSTdsRixHQUFFdUMsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDcEVzdEYsR0FBR2o1SSxHQUFFLENBQUMsSUFDTkMsR0FBRUQsR0FBRSxDQUFDLEVBQUUsT0FBT3VwRCxHQUFFcWxGLElBQUkzdUksR0FBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUwdUksSUFBSXI3SCxHQUFHdFQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ25EMDhCLEdBQUcxOEIsR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUVycEQsR0FBRSxDQUFDLEVBQUUsT0FBT0MsR0FBRSxDQUFDLEVBQUUsQ0FBQyxJQUMzQixHQUFFLE9BQU9vOEMsR0FBRyxDQUFDLEVBQUVnTixHQUFFcHBELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUN4QixHQUFFLE9BQU9pdUMsR0FBRyxDQUFDLEVBQUVtYixHQUFFcHBELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUN4QixHQUFFLE9BQU8wdEQsR0FBRyxDQUFDLEVBQUV0RSxHQUFFcHBELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUN4QixHQUFFLElBQ0ZxcEQsR0FBRXJwRCxHQUFFLENBQUMsRUFBRTByRCxHQUFFckMsR0FBRSxDQUFDLEVBQUUsT0FBT0MsR0FBRWdtRixJQUFJbG1GLEdBQUVzQyxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUyakYsSUFBSWxtRixHQUFFRSxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxJQUM5RDRCLEdBQUVqckQsR0FBRSxDQUFDLEVBQUUsT0FBT3NwRCxHQUFFbW1GLElBQUlybUYsR0FBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVvbUYsSUFBSXA5RSxHQUFFbkgsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVza0YsSUFBSW45RSxHQUFFbkgsR0FBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ3BFNTNDLEdBQUd0VCxHQUFFLENBQUMsT0FBT0EsR0FBRSxDQUFDLEVBQUUsQ0FBQyxJQUNuQixHQUFFLE9BQU84NUQsR0FBRTk1RCxHQUFFLENBQUMsQ0FBQyxFQUFFLElBQ2pCLEdBQUUsT0FBT3U1RCxHQUFHdjVELEdBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUSxPQUFPK3BELEdBQUcvcEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDM0NrNUksR0FBR2w1SSxHQUFFLENBQUMsR0FBT0EsR0FBRSxDQUFDLElBQVAsRUFBUyxDQUFDLElBQ25CQyxHQUFFRCxHQUFFLENBQUMsRUFBRSxPQUFPNnRELEdBQUUsQ0FBQyxFQUFFNXRELEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUMvQm1wRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFLE9BQU8ydEQsR0FBRyxDQUFDLEVBQUV2RSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDaEN1RSxHQUFHM3RELEdBQUUsQ0FBQyxJQUNOcXBELEdBQUVycEQsR0FBRSxDQUFDLEVBQUVzcEQsR0FBRUQsR0FBRSxDQUFDLEVBQUVwcEQsR0FBRUQsR0FBRSxDQUFDLEVBQUVrckQsR0FBRTdCLEdBQUUsQ0FBQyxFQUFFc0MsR0FBRXJDLEdBQUVGLEdBQUVFLEdBQUUsQ0FBQyxDQUFDLEVBQUVDLEdBQUU0bEYsSUFBSSxDQUFDLEVBQUVsdkksR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsT0FBT3NwRCxHQUFFOGxGLElBQUlwdkksR0FBRThvRSxHQUFHN2QsRUFBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVra0YsSUFBSXpqRixFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUNsSjVCLEdBQUcvcEQsR0FBRSxDQUFDLElBQ05vcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRUMsR0FBRW1wRCxHQUFFLENBQUMsRUFBRUMsR0FBRUQsR0FBRSxDQUFDLEVBQUVFLEdBQUV0cEQsR0FBRSxDQUFDLEVBQUVrckQsR0FBTWpyRCxHQUFFLENBQUMsSUFBUCxFQUFTNjVELEdBQUU3NUQsR0FBRSxDQUFDLENBQUMsRUFBRThwRCxHQUFHOXBELEdBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBT3NwRCxHQUFFc21GLElBQUl2bUYsR0FBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVzbUYsSUFBSTFrRixFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRXlrRixJQUFJNzFFLEdBQUV6USxFQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDM0drUSxHQUFHdjVELEdBQUUsQ0FBQyxJQUNOQyxHQUFFRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFbnBELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVycEQsR0FBRSxDQUFDLEVBQUVzcEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFd21GLElBQUloMkUsR0FBRTc1RCxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU9zcEQsR0FBRXltRixJQUFJM21GLEdBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMG1GLElBQUlqMkUsR0FBRTFRLEVBQUMsQ0FBQyxFQUFFRSxFQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ2xGd1EsR0FBRTk1RCxHQUFFLENBQUMsSUFDTEMsR0FBRUQsR0FBRSxDQUFDLEVBQUUsT0FBT3VwRCxHQUFFMm1GLElBQUlsd0ksR0FBRSxDQUFDLEVBQUVDLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVnd0ksSUFBSTU5RSxHQUFFcHlELEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQ3JEazVJLEdBQUduNUksR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFb3BELEdBQUVucEQsR0FBRSxDQUFDLEVBQUVvcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFdHBELEdBQUUsQ0FBQyxFQUFFMnJELEdBQUlULEdBQUY5QixHQUFJQSxHQUFFLENBQUMsRUFBS0MsRUFBSixFQUFPLE9BQU9FLEdBQUU4bUYsSUFBSS9tRixHQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRThtRixJQUFJbGxGLEdBQUU3QixFQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFOG1GLElBQUl4a0YsRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUNoR3FYLEdBQUVoakUsR0FBRSxDQUFDLE9BQU9zakUsR0FBRTgxRSxHQUFHcDVJLEVBQUMsQ0FBQyxDQUFDLFNBQ3BCbzVJLEdBQUdwNUksR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFc3BELEdBQUV0cEQsR0FBRSxDQUFDLEVBQUUsR0FBR0MsR0FBRSxDQUFDLEVBQUUsSUFDdEJvcEQsR0FBRXBwRCxHQUFFLENBQUMsRUFBRW1wRCxHQUFFMG5GLFFBQ1QsS0FDQXpuRixHQUFFcHBELEdBQUUsQ0FBQyxFQUFFbXBELEdBQUUybkYsSUFBSSxPQUFPeG5GLEdBQUVILEdBQUVFLEdBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMG5GLElBQUkzK0UsR0FBRWhKLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FDaERtYSxHQUFFeGpFLEdBQUUsQ0FBQyxJQUNMQyxHQUFFRCxHQUFFLENBQUMsRUFBRXFwRCxHQUFFcHBELEdBQUUsQ0FBQyxFQUFFMHJELEdBQUUxckQsR0FBRSxDQUFDLEVBQUUyckQsR0FBRTVyRCxHQUFFLENBQUMsRUFBRSxHQUFHcXBELEdBQUUsSUFDakM2QixHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUrbEYsSUFBSTduRixHQUFFQyxHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFQyxHQUFFNG5GLFFBQzFCLEtBQ0FobUYsR0FBRSxFQUFFNUIsR0FBRTZuRixJQUFJLE9BQU81bkYsR0FBRUQsR0FBRXNDLEdBQUVELEdBQUVULEVBQUMsQ0FBQyxDQUFDLFNBQzVCa3RGLEdBQUdwNEksR0FBRSxDQUFDLElBQ05DLEdBQUVELEdBQUUsQ0FBQyxFQUFFcXBELEdBQUVycEQsR0FBRSxDQUFDLEVBQUVzcEQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFOG5GLElBQUk1aEgsR0FBR3h2QixHQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFdXBELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRThuRixJQUFJMTNFLEdBQUUzTSxHQUFHL3NELEVBQUMsQ0FBQyxFQUFFcXBELEVBQUMsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUVnb0YsSUFBSWxvRixHQUFFQyxFQUFDLENBQUMsRUFBRUUsRUFBQyxDQUFDLENBQUMsU0FDeEZuc0IsR0FBR3A5QixHQUFFLENBQUMsSUFDTkMsR0FBRUQsR0FBRSxDQUFDLEVBQUV1cEQsR0FBRXZwRCxHQUFFLENBQUMsRUFBRSxPQUFPQyxHQUFFLENBQUMsRUFBRSxDQUFDLElBQzNCLEdBQUUsSUFDRnFwRCxHQUFFLEVBQUVELEdBQUU2QixHQUFFanJELEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUNwQixHQUFFLElBQ0ZxcEQsR0FBRSxFQUFFRCxHQUFFL0gsR0FBR3JoRCxHQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sUUFBUSxJQUM3QnFwRCxHQUFFLEVBQUVELEdBQUVELEdBQUVucEQsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRXd4SSxJQUFJcm9GLEdBQUVHLEVBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVpb0YsSUFBSW5vRixFQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRWtvRixJQUFJLENBQUMsQ0FBQ2pvRixFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQ3JFb2EsR0FBR3p0QixHQUFHLENBQUMsRUFBRXp6QixHQUFHa2hELEdBQUcsQ0FBQyxFQUFFMjFFLEdBQUczMUUsR0FBRyxDQUFDLEVBQUU3NUIsR0FBRzY1QixHQUFHLENBQUMsRUFBRXIvQixHQUFHNFIsR0FBRyxDQUFDLEVBQUV4OUIsR0FBR2l4RCxHQUFHaEcsR0FBRyxDQUFDLENBQUMsRUFBRWxzRCxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVpckcsSUFBSWhxRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRStwRyxJQUFJeC9DLEdBQUVxMkUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRzcySCxHQUFHLElBQ3RHLEdBQUdBLEdBQUcsQ0FBQyxFQUFFK3lDLEdBQUc2RSxHQUFFNWlELEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRW9yRyxJQUFJcjVELEdBQUVvNUQsSUFBSSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVELElBQUlyd0QsR0FBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsTUFDcEUsS0FDQWtELEdBQUcvOUMsR0FBRyxJQUNOeXhELEdBQUcxZixHQUFFczVELElBQUl4K0UsR0FBR3dGLEdBQUcwckIsRUFBRSxFQUFFLE9BQUEwVCxHQUFHLE9BQVUzRixHQUFFLFNBQVN0akUsR0FBRSxDQUFDLElBQzlDQyxHQUFFRCxHQUFFLENBQUMsRUFBRW9wRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVzb0YsSUFBSXIvRSxHQUFFeW1HLElBQUc5NEosR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU9pNkksR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFdEksSUFBSWdvQixHQUFHMTVKLEVBQUMsQ0FBQyxFQUFFbXBELEVBQUMsQ0FBQyxDQUFDLEVBQUVnUixHQUFFaitCLEdBQUVxOUgsSUFBRyxDQUFDLENBQUMsQ0FBQyxFQUFLamhCLElBQUd0dkUsR0FBR3I3RCxFQUFFLEVBQUUyN0QsR0FBRzVOLEdBQUcsU0FBUzM3RCxHQUFFLENBQUMsSUFDOUdxcEQsR0FBRXJwRCxHQUFFLENBQUMsRUFBRUMsR0FBRUQsR0FBRSxDQUFDLEVBQUVzcEQsR0FBRXRwRCxHQUFFLENBQUMsRUFBRXVwRCxHQUFFLENBQUMsRUFBRSxDQUFDLEVBQUU2ckQsSUFBSS9pRCxHQUFFbXBGLElBQUdueUYsRUFBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUU2QixHQUFFLENBQUMsRUFBRWs3RixHQUFHL2lGLEdBQUVwakUsR0FBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUwckQsR0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFMHBELElBQUk5ckMsR0FBRyxDQUFDLEVBQUU2OEUsR0FBRy9pRixHQUFFcGpFLEdBQUUsQ0FBQyxDQUFDLEVBQUVpckQsRUFBQyxDQUFDLENBQUMsRUFBRTNCLEVBQUMsRUFBRXFDLEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTRwRCxJQUFJeWtDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTFrQyxJQUFJdDFHLEdBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVxMUcsSUFBSXIxRyxHQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFZ3NELEdBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRTJwRCxJQUFJcWtDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRXRrQyxJQUFJc2tDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRXZrQyxJQUFJejFHLEdBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUV3MUcsSUFBSXgxRyxHQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUyckQsRUFBQyxDQUFDLENBQUMsRUFBRUQsRUFBQyxFQUFFLE9BQU9yQyxHQUFFLENBQUMsSUFDOVAsR0FBRSxJQUNGRixHQUFFeXNELElBQUksTUFBTSxJQUNaLEdBQUUsSUFDRnpzRCxHQUFFMHNELElBQUksTUFBTSxJQUNaLEdBQUUsSUFDRjFzRCxHQUFFMnNELElBQUksTUFBTSxJQUNaLEdBQUUsSUFDRjNzRCxHQUFFNHNELElBQUksTUFBTSxJQUNaLEdBQUUsSUFDRjVzRCxHQUFFNnNELElBQUksTUFBTSxRQUFRLElBQ3BCN3NELEdBQUU4c0QsR0FBRyxDQUFDLE9BQU8rakMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFN2pDLElBQUkvakQsR0FBRWtwRixJQUFHbHlGLEVBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRThzRCxJQUFJOWpELEdBQUVqSixFQUFDLENBQUMsRUFBRTZDLEVBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRW1kLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBU0gsRUFBRSxDQUFDLEdBQUcsT0FDL0VscEUsSUFBVSxJQUFZLElBQ3RCZzZKLEdBQUdoNkosUUFBWSxDQUFDLElBQ2hCaTZKLElBQUcsQ0FBQyxFQUFFZixHQUFHLEtBQVFlLElBQUcsSUFDcEJELEdBQUdDLEdBQUUsQ0FBQ0QsR0FBRyxNQUFTdG5HLElBQUksU0FBU3p5RCxFQUFFQyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQ3hDb3BELEVBQUV5d0csSUFBSTk1SixFQUFFQyxDQUFDLEVBQUUsT0FBT29wRCxDQUFDLE9BQU9FLEVBQUUsQ0FBQyxJQUM3QkgsRUFBRXdPLEdBQUdyTyxDQUFDLEVBQUUsT0FBT0gsRUFBRSxDQUFDLElBQUlzdkcsR0FBR1csR0FBR2p3RyxFQUFFLENBQUMsQ0FBQyxFQUFFaXdHLEdBQUcsSUFDckNFLElBQUlsbkcsR0FBRThILEdBQUV5NEUsSUFBSTNsRSxHQUFHN2pCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFeVIsR0FBRzlNLEVBQUMsQ0FBUSxHQUFFLFVBQVUsSUN4bFdqRCxJQUFBa3NHLElBQUFDLEdBQUEsQ0FBQUMsSUFBQUMsTUFBQSxjQVVBLElBQU1DLElBQWEsTUFFYkMsSUFBaUIsQ0FDckIsTUFBTyxHQUNQLGlDQUFrQyxHQUNsQywrQkFBZ0MsR0FDaEMsc0JBQXVCLEdBQ3ZCLDBCQUEyQixHQUMzQiw2QkFBOEIsR0FDOUIsOEJBQStCLEdBQy9CLE9BQVEsR0FDUixNQUFPLEVBQ1QsRUFLQUYsSUFBTyxRQUFVLFNBQVNHLEVBQVFELElBQWdCLENBQ2hELE1BQU8sQ0FDTCxNQUFNRSxFQUFNLENBQ1YsT0FBT0gsSUFBVyxNQUFNRyxFQUFNRCxDQUFPLENBQ3ZDLENBQ0YsQ0FDRixJQ2pDQSxJQUFBRSxJQUFBQyxHQUFBLENBQUFDLElBQUFDLE1BQUEsY0FhQUEsSUFBTyxRQUFVLENBQ2YsV0FBWSxTQUNaLDRCQUE2QixHQUM3QiwyQkFBNEIsR0FDNUIsVUFBVyxFQUNYLE9BQVEsR0FDUixRQUFTLENBQ1Asa0JBQ0EsU0FDQSxzQkFDQSx5QkFDQSxrQkFDQSxvQkFDQSxnQkFDQSxnQkFDQSxvQkFDQSxtQkFDQSxzQkFDQSxlQUNBLGVBQ0EsYUFDQSw0QkFDQSxtQkFDQSxtQkFDQSx1QkFDQSxtQkFDQSxDQUFDLG1CQUFvQixDQUFFLFNBQVUsU0FBVSxDQUFDLEVBQzVDLG1CQUNBLFlBQ0YsQ0FDRixJQzNDQSxJQUFBQyxJQUFBQyxHQUFBLENBQUFDLElBQUFDLE1BQUEsY0FVQSxJQUFNQyxJQUFVLE1BQ1ZDLElBQVUsTUFNaEJGLElBQU8sUUFBVSxVQUFXLENBQzFCLE1BQU8sQ0FDTCxNQUFNRyxFQUFNLENBQ1YsT0FBT0YsSUFBUSxNQUFNRSxFQUFNRCxHQUFPLENBQ3BDLENBQ0YsQ0FDRixJQ3ZCQSxJQUFBRSxJQUFBQyxHQUFBLENBQUFDLElBQUFDLE1BQUEsY0FVQSxJQUFNQyxJQUFVLE1BQ1ZDLElBQWMsTUFFZEMsSUFBVSxPQUFPLE9BQU8sQ0FBQyxFQUFHRCxHQUFXLEVBQzdDQyxJQUFRLFFBQVUsQ0FBQyxLQUFLLEVBQUUsT0FBT0QsSUFBWSxPQUFPLEVBTXBERixJQUFPLFFBQVUsVUFBVyxDQUMxQixNQUFPLENBQ0wsTUFBTUksRUFBTSxDQUNWLE9BQU9ILElBQVEsTUFBTUcsRUFBTUQsR0FBTyxDQUNwQyxDQUNGLENBQ0YsSUMxQkEsSUFBQUUsSUFBQUMsR0FBQSxDQUFBQyxJQUFBQyxNQUFBLGNBVUEsSUFBTUMsSUFBVSxNQUlWQyxJQUFVLENBQ2QsV0FBWSxTQUNaLGNBQWUsR0FDZixZQUFhLElBQ2IsNEJBQTZCLEdBQzdCLDJCQUE0QixHQUM1QixVQUFXLEVBQ1gsT0FBUSxHQUNSLFFBQVMsQ0FDUCxTQUNBLE1BQ0Esa0JBQ0Esa0JBQ0EsZ0JBQ0EsbUJBQ0EsZUFDQSxlQUNBLG1CQUNBLGdCQUNBLDRCQUNBLG1CQUNBLENBQUMsYUFBYyxDQUFDLHVCQUF3QixFQUFLLENBQUMsQ0FDaEQsQ0FDRixFQU1BRixJQUFPLFFBQVUsVUFBVyxDQUMxQixNQUFPLENBQ0wsTUFBTUcsRUFBTSxDQUNWLE9BQU9GLElBQVEsTUFBTUUsRUFBTUQsR0FBTyxDQUNwQyxDQUNGLENBQ0YsSUNqREEsSUFBQUUsSUFBQUMsR0FBQSxDQUFBQyxJQUFBQyxNQUFBLGNBVUFBLElBQU8sUUFBVSxTQUFtQkMsRUFBWUMsRUFBUyxDQUN2RCxPQUFRRCxFQUFZLENBQ2xCLElBQUssVUFDSCxNQUFPLE9BQTZCQyxDQUFPLEVBQzdDLElBQUssT0FDSCxNQUFPLE9BQTBCQSxDQUFPLEVBQzFDLElBQUssS0FDSCxNQUFPLE9BQXdCQSxDQUFPLEVBQ3hDLElBQUssTUFDSCxNQUFPLE9BQXlCQSxDQUFPLEVBQ3pDLElBQUssUUFDTCxRQUNFLE1BQU8sT0FBa0NBLENBQU8sQ0FDcEQsQ0FDRixJQ3hCQSxJQUFBQyxJQUFBQyxHQUFBLENBQUFDLElBQUFDLE1BQUEsY0FVQSxJQUFNQyxJQUFTLEtBRVRDLElBQVdELElBQU8sTUFBTSxTQUN4QkUsR0FBUUYsSUFBTyxNQUFNLFdBRTNCLFNBQVNHLElBQU9DLEVBQUtDLEVBQVNDLEVBQWEsQ0FDekNGLEVBQUksT0FBTyxNQUFNQSxFQUFLLENBQUNBLEVBQUksUUFBUUMsQ0FBTyxFQUFHLENBQUMsRUFBRSxPQUFPQyxDQUFXLENBQUMsQ0FDckUsQ0FFQSxTQUFTQyxJQUFjQyxFQUFNLENBQzNCLGNBQU9BLEVBQUssTUFDWixPQUFPQSxFQUFLLElBQ1osT0FBT0EsRUFBSyxJQUNMQSxDQUNULENBRUEsU0FBU0MsSUFBZ0JELEVBQU0sQ0FDN0IsT0FBT04sR0FBTSxVQUFVLE1BQU1NLENBQUksRUFHL0JELElBQWNDLENBQUksRUFDbEJQLElBQVMsb0JBQW9CTyxDQUFJLENBQ3JDLENBRUEsU0FBU0UsSUFBVUMsRUFBVUMsRUFBTyxDQUNsQyxNQUFPLENBQ0wsZ0JBQWlCLFNBQVNDLEVBQU0sQ0FDOUIsS0FBSyxTQUFTQSxDQUFJLEVBQ2xCLElBQU1MLEVBQU9LLEVBQUssS0FDWkMsRUFBU0QsRUFBSyxPQUFPLEtBR3JCRSxFQUFXSixFQUFTLFFBQVFILEVBQUssSUFBSSxFQUMzQyxHQUFJTyxJQUFhLEdBQ2YsT0FHRixJQUFJVCxFQUFjTSxFQUFNRyxDQUFRLEVBQ2hDSCxFQUFNRyxDQUFRLEVBQUksS0FHZCxNQUFNLFFBQVFULENBQVcsRUFFdkJKLEdBQU0sU0FBUyxNQUFNWSxDQUFNLEdBQzNCQSxFQUFPLE9BQU8sUUFBUU4sQ0FBSSxFQUFJLEdBRWhDTCxJQUFPVyxFQUFPLE9BQVFOLEVBQU1GLENBQVcsRUFDOUJKLEdBQU0sbUJBQW1CLE1BQU1ZLENBQU0sRUFFOUNYLElBQ0VVLEVBQUssT0FBTyxPQUFPLEtBQUssYUFDeEJDLEVBQ0FSLENBQ0YsRUFDU0osR0FBTSxnQkFBZ0IsTUFBTVksQ0FBTSxFQUUzQ1gsSUFBT1csRUFBTyxTQUFVTixFQUFNRixDQUFXLEVBQ2hDSixHQUFNLFNBQVMsTUFBTVksQ0FBTSxHQUFLQSxFQUFPLFVBRWhEWCxJQUNFVSxFQUFLLE9BQU8sT0FBTyxLQUFLLFdBQ3hCQyxFQUNBUixDQUNGLEVBQ1NKLEdBQU0sZUFBZSxNQUFNWSxDQUFNLEdBQ3hDQSxFQUFPLFVBQVUsUUFBUU4sQ0FBSSxFQUFJLEdBRW5DTCxJQUFPVyxFQUFPLFVBQVdOLEVBQU1GLENBQVcsRUFDakNKLEdBQU0sb0JBQW9CLE1BQU1ZLENBQU0sRUFFL0NELEVBQUssT0FBTyxRQUFRLE1BQ2xCQSxFQUFLLE9BQ0xQLEVBQVksSUFBSUcsR0FBZSxDQUNqQyxFQUdBSSxFQUFLLFFBQVEsTUFBTUEsRUFBTVAsQ0FBVyxFQUU3QkosR0FBTSxvQkFBb0IsTUFBTVksQ0FBTSxFQUMvQ0QsRUFBSyxPQUFPLFFBQVFKLElBQWdCSCxDQUFXLENBQUMsRUFFaERPLEVBQUssUUFBUVAsQ0FBVyxDQUU1QixDQUNGLENBQ0YsQ0FFQSxTQUFTVSxJQUFhQyxFQUFLTixFQUFVQyxFQUFPTSxFQUFRLENBQ2xELElBQU1DLEVBQU1uQixJQUFPLE1BQU1pQixFQUFLLENBQUMsT0FBQUMsQ0FBTSxDQUFDLEVBQ3RDLE9BQUFsQixJQUFPLE1BQU1tQixFQUFLVCxJQUFVQyxFQUFVQyxDQUFLLENBQUMsRUFDckNPLENBQ1QsQ0FFQSxJQUFJQyxJQUFpQixFQUNyQixTQUFTQyxLQUFtQixDQUMxQixNQUFPLGVBQWVELEtBQWdCLEdBQ3hDLENBR0FyQixJQUFPLFFBQVUsU0FBb0JtQixFQUFRLENBQzNDLFNBQVNJLEVBQVdDLEVBQXdCLENBQzFDQSxFQUFXLE1BQU0sS0FBS0EsQ0FBUSxFQUM5QixJQUFNWCxFQUFRLE1BQU0sS0FBSyxTQUFTLEVBQUUsTUFBTSxDQUFDLEVBQ3JDRCxFQUFXQyxFQUFNLElBQUksSUFBTVMsSUFBaUIsQ0FBQyxFQUM3Q0osRUFBTU0sRUFBUyxPQUNuQixDQUFDQyxFQUFRQyxFQUFNQyxJQUFNRixFQUFTYixFQUFTZSxFQUFJLENBQUMsRUFBSUQsQ0FDbEQsRUFFQSxPQUFPVCxJQUNMQyxFQUNBTixFQUNBQyxFQUNBTSxDQUNGLEVBQUUsUUFBUSxJQUNaLENBRUEsU0FBU1MsR0FBa0MsQ0FDekMsT0FBT0wsRUFBVyxNQUFNLEtBQU0sU0FBUyxFQUFFLENBQUMsQ0FDNUMsQ0FFQSxTQUFTTSxFQUFXTCxFQUF3QixDQUUxQ0EsRUFBVyxNQUFNLEtBQUtBLENBQVEsRUFDMUJBLEVBQVMsT0FBUyxJQUNwQkEsRUFBUyxDQUFDLEVBQUksSUFBTUEsRUFBUyxDQUFDLEVBQzlCQSxFQUFTQSxFQUFTLE9BQVMsQ0FBQyxHQUFLLEtBR25DLElBQU1LLEVBQWFELEVBQVUsTUFDM0IsS0FDQSxDQUFDSixDQUFRLEVBQUUsT0FBTyxNQUFNLEtBQUssU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQ2xELEVBQUUsV0FHRixPQUFJSyxFQUFXLFFBQ2JBLEVBQVcsTUFBTSxjQUFnQixJQUc1QkEsQ0FDVCxDQUVBLFNBQVNDLEVBQWdCTixFQUF3QixDQUMvQ0EsRUFBVyxNQUFNLEtBQUtBLENBQVEsRUFDMUJBLEVBQVMsT0FBUyxJQUNwQkEsRUFBUyxDQUFDLEVBQUksZ0JBQWtCQSxFQUFTLENBQUMsRUFDMUNBLEVBQVNBLEVBQVMsT0FBUyxDQUFDLEdBQUssS0FHbkMsSUFBTUssRUFBYUQsRUFBVSxNQUMzQixLQUNBLENBQUNKLENBQVEsRUFBRSxPQUFPLE1BQU0sS0FBSyxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FDbEQsRUFBRSxXQUFXLEtBR2IsT0FBSUssRUFBVyxRQUNiQSxFQUFXLE1BQU0sY0FBZ0IsSUFHNUJBLENBQ1QsQ0FFQSxNQUFPLENBQUMsV0FBQU4sRUFBWSxVQUFBSyxFQUFXLFdBQUFDLEVBQVksZ0JBQUFDLENBQWUsQ0FDNUQsSUM1S0EsSUFBQUMsSUFBQUMsR0FBQSxDQUFBQyxJQUFBQyxNQUFBLGNBU0EsSUFBTUMsSUFBYSxNQUViQyxHQUFjLE1BQ2RDLElBQVksTUFDWkMsSUFBWSxNQUNaQyxJQUFTLEtBQ1RDLElBQVcsTUFFWEMsSUFBT0YsSUFBTyxNQUFNLFdBQVcsS0FDL0JHLElBQVdILElBQU8sTUFBTSxTQUc5QixJQUFTSSxPQUFRUCxHQUNmQSxHQUFZTyxHQUFJLEVBQUUsU0FBUyxFQURwQixJQUFBQSxJQW9CVCxTQUFTQyxJQUFLQyxFQUFRQyxFQUFTLENBQzdCLE9BQU8sT0FBT0QsR0FBVyxTQUN2QkUsSUFBV0YsRUFBUUMsQ0FBTyxFQUMxQkUsSUFBUUgsQ0FBTSxDQUNsQixDQVVBLFNBQVNHLElBQVFDLEVBQUssQ0FDcEIsR0FBSSxNQUFNLFFBQVFBLENBQUcsRUFBRyxDQUN0QixHQUFJQSxFQUFJLENBQUMsWUFBYVAsS0FBWU8sRUFBSSxTQUFXLEVBQy9DLE9BQU9kLElBQVcsVUFBVWMsQ0FBRyxFQUMxQixHQUFJUixJQUFLLE1BQU1RLEVBQUksQ0FBQyxDQUFDLEVBQzFCLE9BQU9kLElBQVcsVUFBVWMsQ0FBRyxDQUVuQyxLQUFPLENBQ0wsR0FBSUEsYUFBZVAsSUFDakIsT0FBT1AsSUFBVyxVQUFVLENBQUNjLENBQUcsQ0FBQyxFQUM1QixHQUFJUixJQUFLLE1BQU1RLENBQUcsRUFDdkIsT0FBT2QsSUFBVyxVQUFVLENBQUNjLENBQUcsQ0FBQyxDQUVyQyxDQUNBLE1BQU0sSUFBSSxVQUNSLGdDQUFrQyxPQUFPLFVBQVUsU0FBUyxLQUFLQSxDQUFHLENBQ3RFLENBQ0YsQ0FFQSxTQUFTRixJQUFXRixFQUFRQyxFQUFTLENBQ25DLE9BQUtBLElBQ0hBLEVBQVUsQ0FBQyxHQUVSQSxFQUFRLFNBQ1hBLEVBQVEsT0FBU1QsSUFBVSxHQUV0QlcsSUFBUVQsSUFBTyxNQUFNTSxFQUFRQyxDQUFPLENBQUMsQ0FDOUMsQ0FVQSxTQUFTSSxJQUFNQyxFQUFNQyxFQUFRLENBQzNCLE9BQU1ELGFBQWdCVCxNQUNoQixPQUFPUyxFQUFLLEtBQVEsV0FDdEJBLEVBQU9BLEVBQUssSUFBSSxFQUVoQkEsRUFBTyxDQUFDLE1BQU9BLENBQUksR0FHaEJiLElBQVVhLEVBQUssTUFBT0MsQ0FBTSxDQUNyQyxDQUVBLElBQU1DLElBQVUsQ0FBQyxFQWFqQixTQUFTQyxJQUFJQyxFQUFRLENBQ2ZGLElBQVEsUUFBUUUsQ0FBTSxJQUFNLEtBQzlCRixJQUFRLEtBQUtFLENBQU0sRUFDbkJBLEVBQU9YLEdBQUksRUFFZixDQVNBLFNBQVNZLElBQVdDLEVBQVEsQ0FDMUIsT0FBSSxPQUFPQSxHQUFXLFdBQ3BCQSxFQUFTcEIsSUFBVW9CLENBQU0sR0FZcEJDLElBVFMsU0FBU2IsRUFBUUMsRUFBUyxDQUN4QyxPQUFJQSxHQUFXLENBQUNBLEVBQVEsT0FDdEJBLEVBQVEsT0FBU1csRUFFakJYLEVBQVUsQ0FBQyxPQUFBVyxDQUFNLEVBRVpiLElBQUtDLEVBQVFDLENBQU8sQ0FDN0IsRUFFMkJXLENBQU0sQ0FDbkMsQ0FRQSxTQUFTQyxJQUFXZCxFQUFNYSxFQUFRLENBRWhDLE9BQU8sT0FBT2IsRUFBTUwsSUFBTyxNQUFNLFVBQVUsRUFDM0MsT0FBTyxPQUFPSyxFQUFNTCxJQUFPLE1BQU0sUUFBUSxFQUN6Q0ssRUFBSyxnQkFBa0JULElBQVcsZ0JBS2xDUyxFQUFLLE1BQVFMLElBQU8sTUFDcEJLLEVBQUssTUFBUU0sSUFDYk4sRUFBSyxTQUFXSixJQUFTaUIsQ0FBTSxFQUcvQmIsRUFBSyxRQUFVLENBQUMsRUFDaEJBLEVBQUssU0FBVyxDQUFDLEVBQ2pCLFFBQVdELEtBQVFQLEdBQ2JBLEdBQVlPLENBQUksRUFBRSxVQUNwQkMsRUFBSyxRQUFRRCxDQUFJLEVBQUlQLEdBQVlPLENBQUksRUFBRSxTQUVyQ1AsR0FBWU8sQ0FBSSxFQUFFLFdBQ3BCQyxFQUFLLFNBQVNELENBQUksRUFBSVAsR0FBWU8sQ0FBSSxFQUFFLFVBRzVDLE9BQUFDLEVBQUssSUFBTVUsSUFDWFYsRUFBSyxXQUFhWSxJQUNYWixDQUNULENBRUFWLElBQU8sUUFBVXdCLElBQVdkLElBQU1QLElBQVUsQ0FBQyxJQ3RMN0MsSUFBQXNCLElBQUFDLEdBQUEsQ0FBQUMsSUFBQUMsTUFBQSxDQVFBQSxJQUFPLFFBQVUseUZDUlYsU0FBU0MsS0FBZSxDQUMzQixPQUFJLE9BQU9DLFdBQWMsVUFBWSxjQUFlQSxVQUN6Q0EsVUFBVUMsVUFFakIsT0FBT0MsU0FBWSxVQUFZQSxRQUFRQyxVQUFZQyxPQUMzQyxXQUFVRixRQUFRQyxRQUFRRSxPQUFPLENBQXZCLENBQTBCLEtBQUlILFFBQVFJLFFBQVMsS0FBSUosUUFBUUssSUFBSyxJQUUvRSw0QkFDVix3QkNSRCxJQUFBQyxJQUFBQyxHQUFBLENBQUFDLElBQUFDLE1BQUEsQ0FBQUEsSUFBTyxRQUFVQyxJQUVqQixTQUFTQSxJQUFTQyxFQUFPQyxFQUFNQyxFQUFRQyxFQUFTLENBQzlDLEdBQUksT0FBT0QsR0FBVyxXQUNwQixNQUFNLElBQUksTUFBTSwyQ0FBMkMsRUFPN0QsT0FKS0MsSUFDSEEsRUFBVSxDQUFDLEdBR1QsTUFBTSxRQUFRRixDQUFJLEVBQ2JBLEVBQUssUUFBUSxFQUFFLE9BQU8sU0FBVUcsRUFBVUgsRUFBTSxDQUNyRCxPQUFPRixJQUFTLEtBQUssS0FBTUMsRUFBT0MsRUFBTUcsRUFBVUQsQ0FBTyxDQUMzRCxFQUFHRCxDQUFNLEVBQUUsRUFHTixRQUFRLFFBQVEsRUFBRSxLQUFLLFVBQVksQ0FDeEMsT0FBS0YsRUFBTSxTQUFTQyxDQUFJLEVBSWpCRCxFQUFNLFNBQVNDLENBQUksRUFBRSxPQUFPLFNBQVVDLEVBQVFHLEVBQVksQ0FDL0QsT0FBT0EsRUFBVyxLQUFLLEtBQUssS0FBTUgsRUFBUUMsQ0FBTyxDQUNuRCxFQUFHRCxDQUFNLEVBQUUsRUFMRkEsRUFBT0MsQ0FBTyxDQU16QixDQUFDLENBQ0gsSUMxQkEsSUFBQUcsSUFBQUMsR0FBQSxDQUFBQyxJQUFBQyxNQUFBLENBQUFBLElBQU8sUUFBVUMsSUFFakIsU0FBU0EsSUFBUUMsRUFBT0MsRUFBTUMsRUFBTUMsRUFBTSxDQUN4QyxJQUFJQyxFQUFPRCxFQUNOSCxFQUFNLFNBQVNFLENBQUksSUFDdEJGLEVBQU0sU0FBU0UsQ0FBSSxFQUFJLENBQUMsR0FHdEJELElBQVMsV0FDWEUsRUFBTyxTQUFVRSxFQUFRQyxFQUFTLENBQ2hDLE9BQU8sUUFBUSxRQUFRLEVBQ3BCLEtBQUtGLEVBQUssS0FBSyxLQUFNRSxDQUFPLENBQUMsRUFDN0IsS0FBS0QsRUFBTyxLQUFLLEtBQU1DLENBQU8sQ0FBQyxDQUNwQyxHQUdFTCxJQUFTLFVBQ1hFLEVBQU8sU0FBVUUsRUFBUUMsRUFBUyxDQUNoQyxJQUFJQyxFQUNKLE9BQU8sUUFBUSxRQUFRLEVBQ3BCLEtBQUtGLEVBQU8sS0FBSyxLQUFNQyxDQUFPLENBQUMsRUFDL0IsS0FBSyxTQUFVRSxFQUFTLENBQ3ZCLE9BQUFELEVBQVNDLEVBQ0ZKLEVBQUtHLEVBQVFELENBQU8sQ0FDN0IsQ0FBQyxFQUNBLEtBQUssVUFBWSxDQUNoQixPQUFPQyxDQUNULENBQUMsQ0FDTCxHQUdFTixJQUFTLFVBQ1hFLEVBQU8sU0FBVUUsRUFBUUMsRUFBUyxDQUNoQyxPQUFPLFFBQVEsUUFBUSxFQUNwQixLQUFLRCxFQUFPLEtBQUssS0FBTUMsQ0FBTyxDQUFDLEVBQy9CLE1BQU0sU0FBVUcsRUFBTyxDQUN0QixPQUFPTCxFQUFLSyxFQUFPSCxDQUFPLENBQzVCLENBQUMsQ0FDTCxHQUdGTixFQUFNLFNBQVNFLENBQUksRUFBRSxLQUFLLENBQ3hCLEtBQU1DLEVBQ04sS0FBTUMsQ0FDUixDQUFDLENBQ0gsSUM3Q0EsSUFBQU0sSUFBQUMsR0FBQSxDQUFBQyxJQUFBQyxNQUFBLENBQUFBLElBQU8sUUFBVUMsSUFFakIsU0FBU0EsSUFBV0MsRUFBT0MsRUFBTUMsRUFBUSxDQUN2QyxHQUFLRixFQUFNLFNBQVNDLENBQUksRUFJeEIsS0FBSUUsRUFBUUgsRUFBTSxTQUFTQyxDQUFJLEVBQzVCLElBQUksU0FBVUcsRUFBWSxDQUN6QixPQUFPQSxFQUFXLElBQ3BCLENBQUMsRUFDQSxRQUFRRixDQUFNLEVBRWJDLElBQVUsSUFJZEgsRUFBTSxTQUFTQyxDQUFJLEVBQUUsT0FBT0UsRUFBTyxDQUFDLEVBQ3RDLElDbEJBLElBQUFFLElBQUFDLEdBQUEsQ0FBQUMsSUFBQUMsTUFBQSxLQUFJQyxJQUFXLE1BQ1hDLElBQVUsTUFDVkMsSUFBYSxNQUdiQyxJQUFPLFNBQVMsS0FDaEJDLElBQVdELElBQUssS0FBS0EsR0FBSSxFQUU3QixTQUFTRSxJQUFRQyxFQUFNQyxFQUFPQyxFQUFNLENBQ2xDLElBQUlDLEVBQWdCTCxJQUFTRixJQUFZLElBQUksRUFBRSxNQUM3QyxLQUNBTSxFQUFPLENBQUNELEVBQU9DLENBQUksRUFBSSxDQUFDRCxDQUFLLENBQy9CLEVBQ0FELEVBQUssSUFBTSxDQUFFLE9BQVFHLENBQWMsRUFDbkNILEVBQUssT0FBU0csRUFDZCxDQUFDLFNBQVUsUUFBUyxRQUFTLE1BQU0sRUFBRSxRQUFRLFNBQVVDLEVBQU0sQ0FDM0QsSUFBSUMsRUFBT0gsRUFBTyxDQUFDRCxFQUFPRyxFQUFNRixDQUFJLEVBQUksQ0FBQ0QsRUFBT0csQ0FBSSxFQUNwREosRUFBS0ksQ0FBSSxFQUFJSixFQUFLLElBQUlJLENBQUksRUFBSU4sSUFBU0gsSUFBUyxJQUFJLEVBQUUsTUFBTSxLQUFNVSxDQUFJLENBQ3hFLENBQUMsQ0FDSCxDQUVBLFNBQVNDLEtBQWUsQ0FDdEIsSUFBSUMsRUFBbUIsSUFDbkJDLEVBQW9CLENBQ3RCLFNBQVUsQ0FBQyxDQUNiLEVBQ0lDLEVBQWVmLElBQVMsS0FBSyxLQUFNYyxFQUFtQkQsQ0FBZ0IsRUFDMUUsT0FBQVIsSUFBUVUsRUFBY0QsRUFBbUJELENBQWdCLEVBQ2xERSxDQUNULENBRUEsU0FBU0MsS0FBaUIsQ0FDeEIsSUFBSVQsRUFBUSxDQUNWLFNBQVUsQ0FBQyxDQUNiLEVBRUlELEVBQU9OLElBQVMsS0FBSyxLQUFNTyxDQUFLLEVBQ3BDLE9BQUFGLElBQVFDLEVBQU1DLENBQUssRUFFWkQsQ0FDVCxDQUVBLElBQUlXLElBQTRDLEdBQ2hELFNBQVNDLEtBQU8sQ0FDZCxPQUFLRCxNQUNILFFBQVEsS0FDTix3SUFDRixFQUNBQSxJQUE0QyxJQUV2Q0QsSUFBZSxDQUN4QixDQUVBRSxJQUFLLFNBQVdOLElBQWEsS0FBSyxFQUNsQ00sSUFBSyxXQUFhRixJQUFlLEtBQUssRUFFdENqQixJQUFPLFFBQVVtQixJQUVqQm5CLElBQU8sUUFBUSxLQUFPbUIsSUFDdEJuQixJQUFPLFFBQVEsU0FBV21CLElBQUssU0FDL0JuQixJQUFPLFFBQVEsV0FBYW1CLElBQUssYUM1RGpDLElBQUFDLElBQUFDLEdBQUEsQ0FBQUMsSUFBQUMsTUFBQSxjQUNBLElBQUlDLElBQVksT0FBTyxlQUNuQkMsSUFBbUIsT0FBTyx5QkFDMUJDLElBQW9CLE9BQU8sb0JBQzNCQyxJQUFlLE9BQU8sVUFBVSxlQUNoQ0MsSUFBVyxDQUFDQyxFQUFRQyxJQUFRLENBQzlCLFFBQVNDLEtBQVFELEVBQ2ZOLElBQVVLLEVBQVFFLEVBQU0sQ0FBRSxJQUFLRCxFQUFJQyxDQUFJLEVBQUcsV0FBWSxFQUFLLENBQUMsQ0FDaEUsRUFDSUMsSUFBYyxDQUFDQyxFQUFJQyxFQUFNQyxFQUFRQyxJQUFTLENBQzVDLEdBQUlGLEdBQVEsT0FBT0EsR0FBUyxVQUFZLE9BQU9BLEdBQVMsV0FDdEQsUUFBU0csS0FBT1gsSUFBa0JRLENBQUksRUFDaEMsQ0FBQ1AsSUFBYSxLQUFLTSxFQUFJSSxDQUFHLEdBQUtBLElBQVFGLEdBQ3pDWCxJQUFVUyxFQUFJSSxFQUFLLENBQUUsSUFBSyxJQUFNSCxFQUFLRyxDQUFHLEVBQUcsV0FBWSxFQUFFRCxFQUFPWCxJQUFpQlMsRUFBTUcsQ0FBRyxJQUFNRCxFQUFLLFVBQVcsQ0FBQyxFQUV2SCxPQUFPSCxDQUNULEVBQ0lLLElBQWdCQyxHQUFRUCxJQUFZUixJQUFVLENBQUMsRUFBRyxhQUFjLENBQUUsTUFBTyxFQUFLLENBQUMsRUFBR2UsQ0FBRyxFQUdyRkMsSUFBbUIsQ0FBQyxFQUN4QlosSUFBU1ksSUFBa0IsQ0FDekIsU0FBVSxJQUFNQyxHQUNsQixDQUFDLEVBQ0RsQixJQUFPLFFBQVVlLElBQWFFLEdBQWdCLEVBRzlDLElBQUlFLElBQThCLE1BRzlCQyxJQUFVLFFBR1ZDLElBQVksdUJBQXVCRCxHQUFPLE9BQVFELElBQTRCLGNBQWMsQ0FBQyxHQUM3RkcsSUFBVyxDQUNiLE9BQVEsTUFDUixRQUFTLHlCQUNULFFBQVMsQ0FDUCxPQUFRLGlDQUNSLGFBQWNELEdBQ2hCLEVBQ0EsVUFBVyxDQUNULE9BQVEsRUFDVixDQUNGLEVBR0EsU0FBU0UsSUFBY0MsRUFBUSxDQUM3QixPQUFLQSxFQUdFLE9BQU8sS0FBS0EsQ0FBTSxFQUFFLE9BQU8sQ0FBQ0MsRUFBUVgsS0FDekNXLEVBQU9YLEVBQUksWUFBWSxDQUFDLEVBQUlVLEVBQU9WLENBQUcsRUFDL0JXLEdBQ04sQ0FBQyxDQUFDLEVBTEksQ0FBQyxDQU1aLENBR0EsU0FBU0MsSUFBY0MsRUFBTyxDQUc1QixHQUZJLE9BQU9BLEdBQVUsVUFBWUEsSUFBVSxNQUV2QyxPQUFPLFVBQVUsU0FBUyxLQUFLQSxDQUFLLElBQU0sa0JBQzVDLE1BQU8sR0FDVCxJQUFNQyxFQUFRLE9BQU8sZUFBZUQsQ0FBSyxFQUN6QyxHQUFJQyxJQUFVLEtBQ1osTUFBTyxHQUNULElBQU1DLEVBQU8sT0FBTyxVQUFVLGVBQWUsS0FBS0QsRUFBTyxhQUFhLEdBQUtBLEVBQU0sWUFDakYsT0FBTyxPQUFPQyxHQUFTLFlBQWNBLGFBQWdCQSxHQUFRLFNBQVMsVUFBVSxLQUFLQSxDQUFJLElBQU0sU0FBUyxVQUFVLEtBQUtGLENBQUssQ0FDOUgsQ0FHQSxTQUFTRyxJQUFVQyxFQUFVQyxFQUFTLENBQ3BDLElBQU1DLEVBQVMsT0FBTyxPQUFPLENBQUMsRUFBR0YsQ0FBUSxFQUN6QyxjQUFPLEtBQUtDLENBQU8sRUFBRSxRQUFTbEIsR0FBUSxDQUNoQ1ksSUFBY00sRUFBUWxCLENBQUcsQ0FBQyxFQUN0QkEsS0FBT2lCLEVBR1hFLEVBQU9uQixDQUFHLEVBQUlnQixJQUFVQyxFQUFTakIsQ0FBRyxFQUFHa0IsRUFBUWxCLENBQUcsQ0FBQyxFQUZuRCxPQUFPLE9BQU9tQixFQUFRLENBQUUsQ0FBQ25CLENBQUcsRUFBR2tCLEVBQVFsQixDQUFHLENBQUUsQ0FBQyxFQUkvQyxPQUFPLE9BQU9tQixFQUFRLENBQUUsQ0FBQ25CLENBQUcsRUFBR2tCLEVBQVFsQixDQUFHLENBQUUsQ0FBQyxDQUVqRCxDQUFDLEVBQ01tQixDQUNULENBR0EsU0FBU0MsSUFBMEJDLEVBQUssQ0FDdEMsUUFBV3JCLEtBQU9xQixFQUNaQSxFQUFJckIsQ0FBRyxJQUFNLFFBQ2YsT0FBT3FCLEVBQUlyQixDQUFHLEVBR2xCLE9BQU9xQixDQUNULENBR0EsU0FBU0MsSUFBTUwsRUFBVU0sRUFBT0wsRUFBUyxDQUN2QyxHQUFJLE9BQU9LLEdBQVUsU0FBVSxDQUM3QixHQUFJLENBQUNDLEVBQVFDLENBQUcsRUFBSUYsRUFBTSxNQUFNLEdBQUcsRUFDbkNMLEVBQVUsT0FBTyxPQUFPTyxFQUFNLENBQUUsT0FBQUQsRUFBUSxJQUFBQyxDQUFJLEVBQUksQ0FBRSxJQUFLRCxDQUFPLEVBQUdOLENBQU8sQ0FDMUUsTUFDRUEsRUFBVSxPQUFPLE9BQU8sQ0FBQyxFQUFHSyxDQUFLLEVBRW5DTCxFQUFRLFFBQVVULElBQWNTLEVBQVEsT0FBTyxFQUMvQ0UsSUFBMEJGLENBQU8sRUFDakNFLElBQTBCRixFQUFRLE9BQU8sRUFDekMsSUFBTVEsRUFBZ0JWLElBQVVDLEdBQVksQ0FBQyxFQUFHQyxDQUFPLEVBQ3ZELE9BQUlBLEVBQVEsTUFBUSxhQUNkRCxHQUFZQSxFQUFTLFVBQVUsVUFBVSxTQUMzQ1MsRUFBYyxVQUFVLFNBQVdULEVBQVMsVUFBVSxTQUFTLE9BQzVEVSxHQUFZLENBQUNELEVBQWMsVUFBVSxTQUFTLFNBQVNDLENBQU8sQ0FDakUsRUFBRSxPQUFPRCxFQUFjLFVBQVUsUUFBUSxHQUUzQ0EsRUFBYyxVQUFVLFVBQVlBLEVBQWMsVUFBVSxVQUFZLENBQUMsR0FBRyxJQUFLQyxHQUFZQSxFQUFRLFFBQVEsV0FBWSxFQUFFLENBQUMsR0FFdkhELENBQ1QsQ0FHQSxTQUFTRSxJQUFtQkgsRUFBS0ksRUFBWSxDQUMzQyxJQUFNQyxFQUFZLEtBQUssS0FBS0wsQ0FBRyxFQUFJLElBQU0sSUFDbkNNLEVBQVEsT0FBTyxLQUFLRixDQUFVLEVBQ3BDLE9BQUlFLEVBQU0sU0FBVyxFQUNaTixFQUVGQSxFQUFNSyxFQUFZQyxFQUFNLElBQUtyQyxHQUM5QkEsSUFBUyxJQUNKLEtBQU9tQyxFQUFXLEVBQUUsTUFBTSxHQUFHLEVBQUUsSUFBSSxrQkFBa0IsRUFBRSxLQUFLLEdBQUcsRUFFakUsR0FBR25DLENBQUksSUFBSSxtQkFBbUJtQyxFQUFXbkMsQ0FBSSxDQUFDLENBQUMsRUFDdkQsRUFBRSxLQUFLLEdBQUcsQ0FDYixDQUdBLElBQUlzQyxJQUFtQixhQUN2QixTQUFTQyxJQUFlQyxFQUFjLENBQ3BDLE9BQU9BLEVBQWEsUUFBUSxhQUFjLEVBQUUsRUFBRSxNQUFNLEdBQUcsQ0FDekQsQ0FDQSxTQUFTQyxJQUF3QlYsRUFBSyxDQUNwQyxJQUFNVyxFQUFVWCxFQUFJLE1BQU1PLEdBQWdCLEVBQzFDLE9BQUtJLEVBR0VBLEVBQVEsSUFBSUgsR0FBYyxFQUFFLE9BQU8sQ0FBQ0ksRUFBR0MsSUFBTUQsRUFBRSxPQUFPQyxDQUFDLEVBQUcsQ0FBQyxDQUFDLEVBRjFELENBQUMsQ0FHWixDQUdBLFNBQVNDLElBQUs3QixFQUFROEIsRUFBWSxDQUNoQyxJQUFNckIsRUFBUyxDQUFFLFVBQVcsSUFBSyxFQUNqQyxRQUFXbkIsS0FBTyxPQUFPLEtBQUtVLENBQU0sRUFDOUI4QixFQUFXLFFBQVF4QyxDQUFHLElBQU0sS0FDOUJtQixFQUFPbkIsQ0FBRyxFQUFJVSxFQUFPVixDQUFHLEdBRzVCLE9BQU9tQixDQUNULENBR0EsU0FBU3NCLElBQWVDLEVBQUssQ0FDM0IsT0FBT0EsRUFBSSxNQUFNLG9CQUFvQixFQUFFLElBQUksU0FBU0MsRUFBTSxDQUN4RCxNQUFLLGVBQWUsS0FBS0EsQ0FBSSxJQUMzQkEsRUFBTyxVQUFVQSxDQUFJLEVBQUUsUUFBUSxPQUFRLEdBQUcsRUFBRSxRQUFRLE9BQVEsR0FBRyxHQUUxREEsQ0FDVCxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQ1osQ0FDQSxTQUFTQyxJQUFpQkYsRUFBSyxDQUM3QixPQUFPLG1CQUFtQkEsQ0FBRyxFQUFFLFFBQVEsV0FBWSxTQUFTRyxFQUFHLENBQzdELE1BQU8sSUFBTUEsRUFBRSxXQUFXLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxZQUFZLENBQ3hELENBQUMsQ0FDSCxDQUNBLFNBQVNDLElBQVlDLEVBQVVsQyxFQUFPYixFQUFLLENBRXpDLE9BREFhLEVBQVFrQyxJQUFhLEtBQU9BLElBQWEsSUFBTU4sSUFBZTVCLENBQUssRUFBSStCLElBQWlCL0IsQ0FBSyxFQUN6RmIsRUFDSzRDLElBQWlCNUMsQ0FBRyxFQUFJLElBQU1hLEVBRTlCQSxDQUVYLENBQ0EsU0FBU21DLElBQVVuQyxFQUFPLENBQ3hCLE9BQTJCQSxHQUFVLElBQ3ZDLENBQ0EsU0FBU29DLElBQWNGLEVBQVUsQ0FDL0IsT0FBT0EsSUFBYSxLQUFPQSxJQUFhLEtBQU9BLElBQWEsR0FDOUQsQ0FDQSxTQUFTRyxJQUFVQyxFQUFTSixFQUFVL0MsRUFBS29ELEVBQVUsQ0FDbkQsSUFBSXZDLEVBQVFzQyxFQUFRbkQsQ0FBRyxFQUFHbUIsRUFBUyxDQUFDLEVBQ3BDLEdBQUk2QixJQUFVbkMsQ0FBSyxHQUFLQSxJQUFVLEdBQ2hDLEdBQUksT0FBT0EsR0FBVSxVQUFZLE9BQU9BLEdBQVUsVUFBWSxPQUFPQSxHQUFVLFVBQzdFQSxFQUFRQSxFQUFNLFNBQVMsRUFDbkJ1QyxHQUFZQSxJQUFhLE1BQzNCdkMsRUFBUUEsRUFBTSxVQUFVLEVBQUcsU0FBU3VDLEVBQVUsRUFBRSxDQUFDLEdBRW5EakMsRUFBTyxLQUNMMkIsSUFBWUMsRUFBVWxDLEVBQU9vQyxJQUFjRixDQUFRLEVBQUkvQyxFQUFNLEVBQUUsQ0FDakUsVUFFSW9ELElBQWEsSUFDWCxNQUFNLFFBQVF2QyxDQUFLLEVBQ3JCQSxFQUFNLE9BQU9tQyxHQUFTLEVBQUUsUUFBUSxTQUFTSyxFQUFRLENBQy9DbEMsRUFBTyxLQUNMMkIsSUFBWUMsRUFBVU0sRUFBUUosSUFBY0YsQ0FBUSxFQUFJL0MsRUFBTSxFQUFFLENBQ2xFLENBQ0YsQ0FBQyxFQUVELE9BQU8sS0FBS2EsQ0FBSyxFQUFFLFFBQVEsU0FBU3lDLEVBQUcsQ0FDakNOLElBQVVuQyxFQUFNeUMsQ0FBQyxDQUFDLEdBQ3BCbkMsRUFBTyxLQUFLMkIsSUFBWUMsRUFBVWxDLEVBQU15QyxDQUFDLEVBQUdBLENBQUMsQ0FBQyxDQUVsRCxDQUFDLE1BRUUsQ0FDTCxJQUFNQyxFQUFNLENBQUMsRUFDVCxNQUFNLFFBQVExQyxDQUFLLEVBQ3JCQSxFQUFNLE9BQU9tQyxHQUFTLEVBQUUsUUFBUSxTQUFTSyxFQUFRLENBQy9DRSxFQUFJLEtBQUtULElBQVlDLEVBQVVNLENBQU0sQ0FBQyxDQUN4QyxDQUFDLEVBRUQsT0FBTyxLQUFLeEMsQ0FBSyxFQUFFLFFBQVEsU0FBU3lDLEVBQUcsQ0FDakNOLElBQVVuQyxFQUFNeUMsQ0FBQyxDQUFDLElBQ3BCQyxFQUFJLEtBQUtYLElBQWlCVSxDQUFDLENBQUMsRUFDNUJDLEVBQUksS0FBS1QsSUFBWUMsRUFBVWxDLEVBQU15QyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFFdkQsQ0FBQyxFQUVDTCxJQUFjRixDQUFRLEVBQ3hCNUIsRUFBTyxLQUFLeUIsSUFBaUI1QyxDQUFHLEVBQUksSUFBTXVELEVBQUksS0FBSyxHQUFHLENBQUMsRUFDOUNBLEVBQUksU0FBVyxHQUN4QnBDLEVBQU8sS0FBS29DLEVBQUksS0FBSyxHQUFHLENBQUMsQ0FFN0IsTUFHRVIsSUFBYSxJQUNYQyxJQUFVbkMsQ0FBSyxHQUNqQk0sRUFBTyxLQUFLeUIsSUFBaUI1QyxDQUFHLENBQUMsRUFFMUJhLElBQVUsS0FBT2tDLElBQWEsS0FBT0EsSUFBYSxLQUMzRDVCLEVBQU8sS0FBS3lCLElBQWlCNUMsQ0FBRyxFQUFJLEdBQUcsRUFDOUJhLElBQVUsSUFDbkJNLEVBQU8sS0FBSyxFQUFFLEVBR2xCLE9BQU9BLENBQ1QsQ0FDQSxTQUFTcUMsSUFBU0MsRUFBVSxDQUMxQixNQUFPLENBQ0wsT0FBUUMsSUFBTyxLQUFLLEtBQU1ELENBQVEsQ0FDcEMsQ0FDRixDQUNBLFNBQVNDLElBQU9ELEVBQVVOLEVBQVMsQ0FDakMsSUFBSVEsRUFBWSxDQUFDLElBQUssSUFBSyxJQUFLLElBQUssSUFBSyxJQUFLLEdBQUcsRUErQmxELE9BOUJBRixFQUFXQSxFQUFTLFFBQ2xCLDZCQUNBLFNBQVNHLEVBQUdDLEVBQVlDLEVBQVMsQ0FDL0IsR0FBSUQsRUFBWSxDQUNkLElBQUlkLEVBQVcsR0FDVGdCLEVBQVMsQ0FBQyxFQVNoQixHQVJJSixFQUFVLFFBQVFFLEVBQVcsT0FBTyxDQUFDLENBQUMsSUFBTSxLQUM5Q2QsRUFBV2MsRUFBVyxPQUFPLENBQUMsRUFDOUJBLEVBQWFBLEVBQVcsT0FBTyxDQUFDLEdBRWxDQSxFQUFXLE1BQU0sSUFBSSxFQUFFLFFBQVEsU0FBU0csRUFBVSxDQUNoRCxJQUFJVCxFQUFNLDRCQUE0QixLQUFLUyxDQUFRLEVBQ25ERCxFQUFPLEtBQUtiLElBQVVDLEVBQVNKLEVBQVVRLEVBQUksQ0FBQyxFQUFHQSxFQUFJLENBQUMsR0FBS0EsRUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNwRSxDQUFDLEVBQ0dSLEdBQVlBLElBQWEsSUFBSyxDQUNoQyxJQUFJakIsRUFBWSxJQUNoQixPQUFJaUIsSUFBYSxJQUNmakIsRUFBWSxJQUNIaUIsSUFBYSxNQUN0QmpCLEVBQVlpQixJQUVOZ0IsRUFBTyxTQUFXLEVBQUloQixFQUFXLElBQU1nQixFQUFPLEtBQUtqQyxDQUFTLENBQ3RFLEtBQ0UsUUFBT2lDLEVBQU8sS0FBSyxHQUFHLENBRTFCLEtBQ0UsUUFBT3RCLElBQWVxQixDQUFPLENBRWpDLENBQ0YsRUFDSUwsSUFBYSxJQUNSQSxFQUVBQSxFQUFTLFFBQVEsTUFBTyxFQUFFLENBRXJDLENBR0EsU0FBU1EsSUFBTS9DLEVBQVMsQ0FDdEIsSUFBSU0sRUFBU04sRUFBUSxPQUFPLFlBQVksRUFDcENPLEdBQU9QLEVBQVEsS0FBTyxLQUFLLFFBQVEsZUFBZ0IsTUFBTSxFQUN6RGdELEVBQVUsT0FBTyxPQUFPLENBQUMsRUFBR2hELEVBQVEsT0FBTyxFQUMzQ2lELEVBQ0F0QyxFQUFhVSxJQUFLckIsRUFBUyxDQUM3QixTQUNBLFVBQ0EsTUFDQSxVQUNBLFVBQ0EsV0FDRixDQUFDLEVBQ0trRCxFQUFtQmpDLElBQXdCVixDQUFHLEVBQ3BEQSxFQUFNK0IsSUFBUy9CLENBQUcsRUFBRSxPQUFPSSxDQUFVLEVBQ2hDLFFBQVEsS0FBS0osQ0FBRyxJQUNuQkEsRUFBTVAsRUFBUSxRQUFVTyxHQUUxQixJQUFNNEMsRUFBb0IsT0FBTyxLQUFLbkQsQ0FBTyxFQUFFLE9BQVFvRCxHQUFXRixFQUFpQixTQUFTRSxDQUFNLENBQUMsRUFBRSxPQUFPLFNBQVMsRUFDL0dDLEVBQXNCaEMsSUFBS1YsRUFBWXdDLENBQWlCLEVBRTlELEdBQUksQ0FEb0IsNkJBQTZCLEtBQUtILEVBQVEsTUFBTSxJQUVsRWhELEVBQVEsVUFBVSxTQUNwQmdELEVBQVEsT0FBU0EsRUFBUSxPQUFPLE1BQU0sR0FBRyxFQUFFLElBQ3hDTSxHQUFXQSxFQUFPLFFBQ2pCLG1EQUNBLHVCQUF1QnRELEVBQVEsVUFBVSxNQUFNLEVBQ2pELENBQ0YsRUFBRSxLQUFLLEdBQUcsR0FFUk8sRUFBSSxTQUFTLFVBQVUsR0FDckJQLEVBQVEsVUFBVSxVQUFVLFFBQVEsQ0FDdEMsSUFBTXVELEVBQTJCUCxFQUFRLE9BQU8sTUFBTSxxQkFBcUIsR0FBSyxDQUFDLEVBQ2pGQSxFQUFRLE9BQVNPLEVBQXlCLE9BQU92RCxFQUFRLFVBQVUsUUFBUSxFQUFFLElBQUtTLEdBQVksQ0FDNUYsSUFBTTZDLEVBQVN0RCxFQUFRLFVBQVUsT0FBUyxJQUFJQSxFQUFRLFVBQVUsTUFBTSxHQUFLLFFBQzNFLE1BQU8sMEJBQTBCUyxDQUFPLFdBQVc2QyxDQUFNLEVBQzNELENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FDYixDQUdKLE1BQUksQ0FBQyxNQUFPLE1BQU0sRUFBRSxTQUFTaEQsQ0FBTSxFQUNqQ0MsRUFBTUcsSUFBbUJILEVBQUs4QyxDQUFtQixFQUU3QyxTQUFVQSxFQUNaSixFQUFPSSxFQUFvQixLQUV2QixPQUFPLEtBQUtBLENBQW1CLEVBQUUsU0FDbkNKLEVBQU9JLEdBSVQsQ0FBQ0wsRUFBUSxjQUFjLEdBQUssT0FBT0MsRUFBUyxNQUM5Q0QsRUFBUSxjQUFjLEVBQUksbUNBRXhCLENBQUMsUUFBUyxLQUFLLEVBQUUsU0FBUzFDLENBQU0sR0FBSyxPQUFPMkMsRUFBUyxNQUN2REEsRUFBTyxJQUVGLE9BQU8sT0FDWixDQUFFLE9BQUEzQyxFQUFRLElBQUFDLEVBQUssUUFBQXlDLENBQVEsRUFDdkIsT0FBT0MsRUFBUyxJQUFjLENBQUUsS0FBQUEsQ0FBSyxFQUFJLEtBQ3pDakQsRUFBUSxRQUFVLENBQUUsUUFBU0EsRUFBUSxPQUFRLEVBQUksSUFDbkQsQ0FDRixDQUdBLFNBQVN3RCxJQUFxQnpELEVBQVVNLEVBQU9MLEVBQVMsQ0FDdEQsT0FBTytDLElBQU0zQyxJQUFNTCxFQUFVTSxFQUFPTCxDQUFPLENBQUMsQ0FDOUMsQ0FHQSxTQUFTeUQsSUFBYUMsRUFBYUMsRUFBYSxDQUM5QyxJQUFNQyxFQUFZeEQsSUFBTXNELEVBQWFDLENBQVcsRUFDMUNFLEVBQVlMLElBQXFCLEtBQUssS0FBTUksQ0FBUyxFQUMzRCxPQUFPLE9BQU8sT0FBT0MsRUFBVyxDQUM5QixTQUFVRCxFQUNWLFNBQVVILElBQWEsS0FBSyxLQUFNRyxDQUFTLEVBQzNDLE1BQU94RCxJQUFNLEtBQUssS0FBTXdELENBQVMsRUFDakMsTUFBQWIsR0FDRixDQUFDLENBQ0gsQ0FHQSxJQUFJN0QsSUFBV3VFLElBQWEsS0FBTW5FLEdBQVEsSUNyWDFDLElBQUF3RSxJQUFBQyxHQUFBQyxLQUFBLGNBRUEsT0FBTyxlQUFlQSxJQUFTLGFBQWMsQ0FBRSxNQUFPLEVBQUssQ0FBQyxFQUU1RCxJQUFNQyxJQUFOLGNBQTBCLEtBQU0sQ0FDOUIsWUFBWUMsRUFBUyxDQUNuQixNQUFNQSxDQUFPLEVBSVQsTUFBTSxtQkFDUixNQUFNLGtCQUFrQixLQUFNLEtBQUssV0FBVyxFQUdoRCxLQUFLLEtBQU8sYUFDZCxDQUVGLEVBRUFGLElBQVEsWUFBY0MsTUNuQnRCLElBQUFFLElBQUFDLEdBQUEsQ0FBQUMsSUFBQUMsTUFBQSxDQUtBQSxJQUFPLFFBQVVDLElBQ2pCLFNBQVNBLElBQVFDLEVBQUlDLEVBQUksQ0FDdkIsR0FBSUQsR0FBTUMsRUFBSSxPQUFPRixJQUFPQyxDQUFFLEVBQUVDLENBQUUsRUFFbEMsR0FBSSxPQUFPRCxHQUFPLFdBQ2hCLE1BQU0sSUFBSSxVQUFVLHVCQUF1QixFQUU3QyxjQUFPLEtBQUtBLENBQUUsRUFBRSxRQUFRLFNBQVVFLEVBQUcsQ0FDbkNDLEVBQVFELENBQUMsRUFBSUYsRUFBR0UsQ0FBQyxDQUNuQixDQUFDLEVBRU1DLEVBRVAsU0FBU0EsR0FBVSxDQUVqQixRQURJQyxFQUFPLElBQUksTUFBTSxVQUFVLE1BQU0sRUFDNUIsRUFBSSxFQUFHLEVBQUlBLEVBQUssT0FBUSxJQUMvQkEsRUFBSyxDQUFDLEVBQUksVUFBVSxDQUFDLEVBRXZCLElBQUlDLEVBQU1MLEVBQUcsTUFBTSxLQUFNSSxDQUFJLEVBQ3pCSCxFQUFLRyxFQUFLQSxFQUFLLE9BQU8sQ0FBQyxFQUMzQixPQUFJLE9BQU9DLEdBQVEsWUFBY0EsSUFBUUosR0FDdkMsT0FBTyxLQUFLQSxDQUFFLEVBQUUsUUFBUSxTQUFVQyxFQUFHLENBQ25DRyxFQUFJSCxDQUFDLEVBQUlELEVBQUdDLENBQUMsQ0FDZixDQUFDLEVBRUlHLENBQ1QsQ0FDRixJQ2hDQSxJQUFBQyxJQUFBQyxHQUFBLENBQUFDLElBQUFDLE1BQUEsS0FBSUMsSUFBUyxNQUNiRCxJQUFPLFFBQVVDLElBQU9DLEdBQUksRUFDNUJGLElBQU8sUUFBUSxPQUFTQyxJQUFPRSxHQUFVLEVBRXpDRCxJQUFLLE1BQVFBLElBQUssVUFBWSxDQUM1QixPQUFPLGVBQWUsU0FBUyxVQUFXLE9BQVEsQ0FDaEQsTUFBTyxVQUFZLENBQ2pCLE9BQU9BLElBQUssSUFBSSxDQUNsQixFQUNBLGFBQWMsRUFDaEIsQ0FBQyxFQUVELE9BQU8sZUFBZSxTQUFTLFVBQVcsYUFBYyxDQUN0RCxNQUFPLFVBQVksQ0FDakIsT0FBT0MsSUFBVyxJQUFJLENBQ3hCLEVBQ0EsYUFBYyxFQUNoQixDQUFDLENBQ0gsQ0FBQyxFQUVELFNBQVNELElBQU1FLEVBQUksQ0FDakIsSUFBSUMsRUFBSSxVQUFZLENBQ2xCLE9BQUlBLEVBQUUsT0FBZUEsRUFBRSxPQUN2QkEsRUFBRSxPQUFTLEdBQ0pBLEVBQUUsTUFBUUQsRUFBRyxNQUFNLEtBQU0sU0FBUyxFQUMzQyxFQUNBLE9BQUFDLEVBQUUsT0FBUyxHQUNKQSxDQUNULENBRUEsU0FBU0YsSUFBWUMsRUFBSSxDQUN2QixJQUFJQyxFQUFJLFVBQVksQ0FDbEIsR0FBSUEsRUFBRSxPQUNKLE1BQU0sSUFBSSxNQUFNQSxFQUFFLFNBQVMsRUFDN0IsT0FBQUEsRUFBRSxPQUFTLEdBQ0pBLEVBQUUsTUFBUUQsRUFBRyxNQUFNLEtBQU0sU0FBUyxDQUMzQyxFQUNJRSxFQUFPRixFQUFHLE1BQVEsK0JBQ3RCLE9BQUFDLEVBQUUsVUFBWUMsRUFBTyxzQ0FDckJELEVBQUUsT0FBUyxHQUNKQSxDQUNULElDekNBLElBQUFFLElBQUFDLEdBQUEsQ0FBQUMsSUFBQUMsTUFBQSxjQUNBLElBQUlDLElBQVcsT0FBTyxPQUNsQkMsSUFBWSxPQUFPLGVBQ25CQyxJQUFtQixPQUFPLHlCQUMxQkMsSUFBb0IsT0FBTyxvQkFDM0JDLElBQWUsT0FBTyxlQUN0QkMsSUFBZSxPQUFPLFVBQVUsZUFDaENDLElBQVcsQ0FBQ0MsRUFBUUMsSUFBUSxDQUM5QixRQUFTQyxLQUFRRCxFQUNmUCxJQUFVTSxFQUFRRSxFQUFNLENBQUUsSUFBS0QsRUFBSUMsQ0FBSSxFQUFHLFdBQVksRUFBSyxDQUFDLENBQ2hFLEVBQ0lDLElBQWMsQ0FBQ0MsRUFBSUMsRUFBTUMsRUFBUUMsSUFBUyxDQUM1QyxHQUFJRixHQUFRLE9BQU9BLEdBQVMsVUFBWSxPQUFPQSxHQUFTLFdBQ3RELFFBQVNHLEtBQU9aLElBQWtCUyxDQUFJLEVBQ2hDLENBQUNQLElBQWEsS0FBS00sRUFBSUksQ0FBRyxHQUFLQSxJQUFRRixHQUN6Q1osSUFBVVUsRUFBSUksRUFBSyxDQUFFLElBQUssSUFBTUgsRUFBS0csQ0FBRyxFQUFHLFdBQVksRUFBRUQsRUFBT1osSUFBaUJVLEVBQU1HLENBQUcsSUFBTUQsRUFBSyxVQUFXLENBQUMsRUFFdkgsT0FBT0gsQ0FDVCxFQUNJSyxJQUFVLENBQUNDLEVBQUtDLEVBQVlYLEtBQVlBLEVBQVNVLEdBQU8sS0FBT2pCLElBQVNJLElBQWFhLENBQUcsQ0FBQyxFQUFJLENBQUMsRUFBR1AsSUFLbkdRLEdBQWMsQ0FBQ0QsR0FBTyxDQUFDQSxFQUFJLFdBQWFoQixJQUFVTSxFQUFRLFVBQVcsQ0FBRSxNQUFPVSxFQUFLLFdBQVksRUFBSyxDQUFDLEVBQUlWLEVBQ3pHVSxDQUNGLEdBQ0lFLElBQWdCRixHQUFRUCxJQUFZVCxJQUFVLENBQUMsRUFBRyxhQUFjLENBQUUsTUFBTyxFQUFLLENBQUMsRUFBR2dCLENBQUcsRUFHckZHLElBQW1CLENBQUMsRUFDeEJkLElBQVNjLElBQWtCLENBQ3pCLGFBQWMsSUFBTUMsR0FDdEIsQ0FBQyxFQUNEdEIsSUFBTyxRQUFVb0IsSUFBYUMsR0FBZ0IsRUFDOUMsSUFBSUUsSUFBcUIsTUFDckJDLElBQWNQLElBQVEsS0FBZSxFQUNyQ1EsT0FBa0JELElBQVksU0FBVUUsR0FBZ0IsUUFBUSxLQUFLQSxDQUFXLENBQUMsRUFDakZDLE9BQXFCSCxJQUFZLFNBQVVFLEdBQWdCLFFBQVEsS0FBS0EsQ0FBVyxDQUFDLEVBQ3BGSixJQUFlLGNBQWMsS0FBTSxDQUNyQyxZQUFZTSxFQUFTQyxFQUFZQyxFQUFTLENBQ3hDLE1BQU1GLENBQU8sRUFDVCxNQUFNLG1CQUNSLE1BQU0sa0JBQWtCLEtBQU0sS0FBSyxXQUFXLEVBRWhELEtBQUssS0FBTyxZQUNaLEtBQUssT0FBU0MsRUFDZCxJQUFJRSxFQUNBLFlBQWFELEdBQVcsT0FBT0EsRUFBUSxRQUFZLE1BQ3JEQyxFQUFVRCxFQUFRLFNBRWhCLGFBQWNBLElBQ2hCLEtBQUssU0FBV0EsRUFBUSxTQUN4QkMsRUFBVUQsRUFBUSxTQUFTLFNBRTdCLElBQU1FLEVBQWMsT0FBTyxPQUFPLENBQUMsRUFBR0YsRUFBUSxPQUFPLEVBQ2pEQSxFQUFRLFFBQVEsUUFBUSxnQkFDMUJFLEVBQVksUUFBVSxPQUFPLE9BQU8sQ0FBQyxFQUFHRixFQUFRLFFBQVEsUUFBUyxDQUMvRCxjQUFlQSxFQUFRLFFBQVEsUUFBUSxjQUFjLFFBQ25ELE9BQ0EsYUFDRixDQUNGLENBQUMsR0FFSEUsRUFBWSxJQUFNQSxFQUFZLElBQUksUUFBUSx1QkFBd0IsMEJBQTBCLEVBQUUsUUFBUSxzQkFBdUIseUJBQXlCLEVBQ3RKLEtBQUssUUFBVUEsRUFDZixPQUFPLGVBQWUsS0FBTSxPQUFRLENBQ2xDLEtBQU0sQ0FDSixPQUFBUCxJQUNFLElBQUlGLElBQW1CLFlBQ3JCLDBFQUNGLENBQ0YsRUFDT00sQ0FDVCxDQUNGLENBQUMsRUFDRCxPQUFPLGVBQWUsS0FBTSxVQUFXLENBQ3JDLEtBQU0sQ0FDSixPQUFBRixJQUNFLElBQUlKLElBQW1CLFlBQ3JCLHVGQUNGLENBQ0YsRUFDT1EsR0FBVyxDQUFDLENBQ3JCLENBQ0YsQ0FBQyxDQUNILENBQ0YsSUN2RkEsSUFBQUUsSUFBQUMsR0FBQSxDQUFBQyxJQUFBQyxNQUFBLGNBQ0EsSUFBSUMsSUFBWSxPQUFPLGVBQ25CQyxJQUFtQixPQUFPLHlCQUMxQkMsSUFBb0IsT0FBTyxvQkFDM0JDLElBQWUsT0FBTyxVQUFVLGVBQ2hDQyxJQUFXLENBQUNDLEVBQVFDLElBQVEsQ0FDOUIsUUFBU0MsS0FBUUQsRUFDZk4sSUFBVUssRUFBUUUsRUFBTSxDQUFFLElBQUtELEVBQUlDLENBQUksRUFBRyxXQUFZLEVBQUssQ0FBQyxDQUNoRSxFQUNJQyxJQUFjLENBQUNDLEVBQUlDLEVBQU1DLEVBQVFDLElBQVMsQ0FDNUMsR0FBSUYsR0FBUSxPQUFPQSxHQUFTLFVBQVksT0FBT0EsR0FBUyxXQUN0RCxRQUFTRyxLQUFPWCxJQUFrQlEsQ0FBSSxFQUNoQyxDQUFDUCxJQUFhLEtBQUtNLEVBQUlJLENBQUcsR0FBS0EsSUFBUUYsR0FDekNYLElBQVVTLEVBQUlJLEVBQUssQ0FBRSxJQUFLLElBQU1ILEVBQUtHLENBQUcsRUFBRyxXQUFZLEVBQUVELEVBQU9YLElBQWlCUyxFQUFNRyxDQUFHLElBQU1ELEVBQUssVUFBVyxDQUFDLEVBRXZILE9BQU9ILENBQ1QsRUFDSUssSUFBZ0JDLEdBQVFQLElBQVlSLElBQVUsQ0FBQyxFQUFHLGFBQWMsQ0FBRSxNQUFPLEVBQUssQ0FBQyxFQUFHZSxDQUFHLEVBR3JGQyxJQUFtQixDQUFDLEVBQ3hCWixJQUFTWSxJQUFrQixDQUN6QixRQUFTLElBQU1DLEdBQ2pCLENBQUMsRUFDRGxCLElBQU8sUUFBVWUsSUFBYUUsR0FBZ0IsRUFDOUMsSUFBSUUsSUFBa0IsTUFDbEJDLElBQThCLE1BRzlCQyxJQUFVLFFBR2QsU0FBU0MsSUFBY0MsRUFBTyxDQUc1QixHQUZJLE9BQU9BLEdBQVUsVUFBWUEsSUFBVSxNQUV2QyxPQUFPLFVBQVUsU0FBUyxLQUFLQSxDQUFLLElBQU0sa0JBQzVDLE1BQU8sR0FDVCxJQUFNQyxFQUFRLE9BQU8sZUFBZUQsQ0FBSyxFQUN6QyxHQUFJQyxJQUFVLEtBQ1osTUFBTyxHQUNULElBQU1DLEVBQU8sT0FBTyxVQUFVLGVBQWUsS0FBS0QsRUFBTyxhQUFhLEdBQUtBLEVBQU0sWUFDakYsT0FBTyxPQUFPQyxHQUFTLFlBQWNBLGFBQWdCQSxHQUFRLFNBQVMsVUFBVSxLQUFLQSxDQUFJLElBQU0sU0FBUyxVQUFVLEtBQUtGLENBQUssQ0FDOUgsQ0FHQSxJQUFJRyxJQUF1QixNQUczQixTQUFTQyxJQUFrQkMsRUFBVSxDQUNuQyxPQUFPQSxFQUFTLFlBQVksQ0FDOUIsQ0FHQSxTQUFTQyxJQUFhQyxFQUFnQixDQUNwQyxJQUFJQyxFQUFJQyxFQUFJQyxFQUFJQyxFQUNoQixJQUFNQyxFQUFNTCxFQUFlLFNBQVdBLEVBQWUsUUFBUSxJQUFNQSxFQUFlLFFBQVEsSUFBTSxRQUMxRk0sSUFBNkJMLEVBQUtELEVBQWUsVUFBWSxLQUFPLE9BQVNDLEVBQUcsNEJBQThCLElBQ2hIVCxJQUFjUSxFQUFlLElBQUksR0FBSyxNQUFNLFFBQVFBLEVBQWUsSUFBSSxLQUN6RUEsRUFBZSxLQUFPLEtBQUssVUFBVUEsRUFBZSxJQUFJLEdBRTFELElBQUlPLEVBQVUsQ0FBQyxFQUNYQyxFQUNBQyxFQUNBLENBQUUsTUFBQUMsQ0FBTSxFQUFJLFdBSWhCLElBSEtSLEVBQUtGLEVBQWUsVUFBWSxNQUFnQkUsRUFBRyxRQUN0RFEsRUFBUVYsRUFBZSxRQUFRLE9BRTdCLENBQUNVLEVBQ0gsTUFBTSxJQUFJLE1BQ1IsZ0tBQ0YsRUFFRixPQUFPQSxFQUFNVixFQUFlLElBQUssQ0FDL0IsT0FBUUEsRUFBZSxPQUN2QixLQUFNQSxFQUFlLEtBQ3JCLFVBQVdHLEVBQUtILEVBQWUsVUFBWSxLQUFPLE9BQVNHLEVBQUcsU0FDOUQsUUFBU0gsRUFBZSxRQUN4QixRQUFTSSxFQUFLSixFQUFlLFVBQVksS0FBTyxPQUFTSSxFQUFHLE9BRzVELEdBQUdKLEVBQWUsTUFBUSxDQUFFLE9BQVEsTUFBTyxDQUM3QyxDQUFDLEVBQUUsS0FBSyxNQUFPRixHQUFhLENBQzFCVyxFQUFNWCxFQUFTLElBQ2ZVLEVBQVNWLEVBQVMsT0FDbEIsUUFBV2EsS0FBZWIsRUFBUyxRQUNqQ1MsRUFBUUksRUFBWSxDQUFDLENBQUMsRUFBSUEsRUFBWSxDQUFDLEVBRXpDLEdBQUksZ0JBQWlCSixFQUFTLENBQzVCLElBQU1LLEVBQVVMLEVBQVEsTUFBUUEsRUFBUSxLQUFLLE1BQU0sOEJBQThCLEVBQzNFTSxFQUFrQkQsR0FBV0EsRUFBUSxJQUFJLEVBQy9DUCxFQUFJLEtBQ0YsdUJBQXVCTCxFQUFlLE1BQU0sSUFBSUEsRUFBZSxHQUFHLHFEQUFxRE8sRUFBUSxNQUFNLEdBQUdNLEVBQWtCLFNBQVNBLENBQWUsR0FBSyxFQUFFLEVBQzNMLENBQ0YsQ0FDQSxHQUFJLEVBQUFMLElBQVcsS0FBT0EsSUFBVyxLQUdqQyxJQUFJUixFQUFlLFNBQVcsT0FBUSxDQUNwQyxHQUFJUSxFQUFTLElBQ1gsT0FFRixNQUFNLElBQUlaLElBQXFCLGFBQWFFLEVBQVMsV0FBWVUsRUFBUSxDQUN2RSxTQUFVLENBQ1IsSUFBQUMsRUFDQSxPQUFBRCxFQUNBLFFBQUFELEVBQ0EsS0FBTSxNQUNSLEVBQ0EsUUFBU1AsQ0FDWCxDQUFDLENBQ0gsQ0FDQSxHQUFJUSxJQUFXLElBQ2IsTUFBTSxJQUFJWixJQUFxQixhQUFhLGVBQWdCWSxFQUFRLENBQ2xFLFNBQVUsQ0FDUixJQUFBQyxFQUNBLE9BQUFELEVBQ0EsUUFBQUQsRUFDQSxLQUFNLE1BQU1PLElBQWdCaEIsQ0FBUSxDQUN0QyxFQUNBLFFBQVNFLENBQ1gsQ0FBQyxFQUVILEdBQUlRLEdBQVUsSUFBSyxDQUNqQixJQUFNTyxFQUFPLE1BQU1ELElBQWdCaEIsQ0FBUSxFQVUzQyxNQVRjLElBQUlGLElBQXFCLGFBQWFvQixJQUFlRCxDQUFJLEVBQUdQLEVBQVEsQ0FDaEYsU0FBVSxDQUNSLElBQUFDLEVBQ0EsT0FBQUQsRUFDQSxRQUFBRCxFQUNBLEtBQUFRLENBQ0YsRUFDQSxRQUFTZixDQUNYLENBQUMsQ0FFSCxDQUNBLE9BQU9NLEVBQTJCLE1BQU1RLElBQWdCaEIsQ0FBUSxFQUFJQSxFQUFTLEtBQy9FLENBQUMsRUFBRSxLQUFNaUIsSUFDQSxDQUNMLE9BQUFQLEVBQ0EsSUFBQUMsRUFDQSxRQUFBRixFQUNBLEtBQUFRLENBQ0YsRUFDRCxFQUFFLE1BQU9FLEdBQVUsQ0FDbEIsR0FBSUEsYUFBaUJyQixJQUFxQixhQUN4QyxNQUFNcUIsRUFDSCxHQUFJQSxFQUFNLE9BQVMsYUFDdEIsTUFBTUEsRUFDUixJQUFJQyxFQUFVRCxFQUFNLFFBQ3BCLE1BQUlBLEVBQU0sT0FBUyxhQUFlLFVBQVdBLElBQ3ZDQSxFQUFNLGlCQUFpQixNQUN6QkMsRUFBVUQsRUFBTSxNQUFNLFFBQ2IsT0FBT0EsRUFBTSxPQUFVLFdBQ2hDQyxFQUFVRCxFQUFNLFFBR2QsSUFBSXJCLElBQXFCLGFBQWFzQixFQUFTLElBQUssQ0FDeEQsUUFBU2xCLENBQ1gsQ0FBQyxDQUNILENBQUMsQ0FDSCxDQUNBLGVBQWVjLElBQWdCaEIsRUFBVSxDQUN2QyxJQUFNcUIsRUFBY3JCLEVBQVMsUUFBUSxJQUFJLGNBQWMsRUFDdkQsTUFBSSxvQkFBb0IsS0FBS3FCLENBQVcsRUFDL0JyQixFQUFTLEtBQUssRUFBRSxNQUFNLElBQU1BLEVBQVMsS0FBSyxDQUFDLEVBQUUsTUFBTSxJQUFNLEVBQUUsRUFFaEUsQ0FBQ3FCLEdBQWUseUJBQXlCLEtBQUtBLENBQVcsRUFDcERyQixFQUFTLEtBQUssRUFFaEJELElBQWtCQyxDQUFRLENBQ25DLENBQ0EsU0FBU2tCLElBQWVELEVBQU0sQ0FDNUIsR0FBSSxPQUFPQSxHQUFTLFNBQ2xCLE9BQU9BLEVBQ1QsSUFBSUssRUFNSixNQUxJLHNCQUF1QkwsRUFDekJLLEVBQVMsTUFBTUwsRUFBSyxpQkFBaUIsR0FFckNLLEVBQVMsR0FFUCxZQUFhTCxFQUNYLE1BQU0sUUFBUUEsRUFBSyxNQUFNLEVBQ3BCLEdBQUdBLEVBQUssT0FBTyxLQUFLQSxFQUFLLE9BQU8sSUFBSSxLQUFLLFNBQVMsRUFBRSxLQUFLLElBQUksQ0FBQyxHQUFHSyxDQUFNLEdBRXpFLEdBQUdMLEVBQUssT0FBTyxHQUFHSyxDQUFNLEdBRTFCLGtCQUFrQixLQUFLLFVBQVVMLENBQUksQ0FBQyxFQUMvQyxDQUdBLFNBQVNNLElBQWFDLEVBQWFDLEVBQWEsQ0FDOUMsSUFBTUMsRUFBWUYsRUFBWSxTQUFTQyxDQUFXLEVBaUJsRCxPQUFPLE9BQU8sT0FoQkMsU0FBU0UsRUFBT0MsRUFBWSxDQUN6QyxJQUFNQyxFQUFrQkgsRUFBVSxNQUFNQyxFQUFPQyxDQUFVLEVBQ3pELEdBQUksQ0FBQ0MsRUFBZ0IsU0FBVyxDQUFDQSxFQUFnQixRQUFRLEtBQ3ZELE9BQU81QixJQUFheUIsRUFBVSxNQUFNRyxDQUFlLENBQUMsRUFFdEQsSUFBTUMsRUFBVyxDQUFDQyxFQUFRQyxJQUNqQi9CLElBQ0x5QixFQUFVLE1BQU1BLEVBQVUsTUFBTUssRUFBUUMsQ0FBVyxDQUFDLENBQ3RELEVBRUYsY0FBTyxPQUFPRixFQUFVLENBQ3RCLFNBQVVKLEVBQ1YsU0FBVUgsSUFBYSxLQUFLLEtBQU1HLENBQVMsQ0FDN0MsQ0FBQyxFQUNNRyxFQUFnQixRQUFRLEtBQUtDLEVBQVVELENBQWUsQ0FDL0QsRUFDNkIsQ0FDM0IsU0FBVUgsRUFDVixTQUFVSCxJQUFhLEtBQUssS0FBTUcsQ0FBUyxDQUM3QyxDQUFDLENBQ0gsQ0FHQSxJQUFJcEMsSUFBVWlDLElBQWFoQyxJQUFnQixTQUFVLENBQ25ELFFBQVMsQ0FDUCxhQUFjLHNCQUFzQkUsR0FBTyxPQUFRRCxJQUE0QixjQUFjLENBQUMsRUFDaEcsQ0FDRixDQUFDLElDM05ELElBQUF5QyxJQUFBQyxHQUFBLENBQUFDLElBQUFDLE1BQUEsY0FDQSxJQUFJQyxJQUFZLE9BQU8sZUFDbkJDLElBQW1CLE9BQU8seUJBQzFCQyxJQUFvQixPQUFPLG9CQUMzQkMsSUFBZSxPQUFPLFVBQVUsZUFDaENDLElBQVcsQ0FBQ0MsRUFBUUMsSUFBUSxDQUM5QixRQUFTQyxLQUFRRCxFQUNmTixJQUFVSyxFQUFRRSxFQUFNLENBQUUsSUFBS0QsRUFBSUMsQ0FBSSxFQUFHLFdBQVksRUFBSyxDQUFDLENBQ2hFLEVBQ0lDLElBQWMsQ0FBQ0MsRUFBSUMsRUFBTUMsRUFBUUMsSUFBUyxDQUM1QyxHQUFJRixHQUFRLE9BQU9BLEdBQVMsVUFBWSxPQUFPQSxHQUFTLFdBQ3RELFFBQVNHLEtBQU9YLElBQWtCUSxDQUFJLEVBQ2hDLENBQUNQLElBQWEsS0FBS00sRUFBSUksQ0FBRyxHQUFLQSxJQUFRRixHQUN6Q1gsSUFBVVMsRUFBSUksRUFBSyxDQUFFLElBQUssSUFBTUgsRUFBS0csQ0FBRyxFQUFHLFdBQVksRUFBRUQsRUFBT1gsSUFBaUJTLEVBQU1HLENBQUcsSUFBTUQsRUFBSyxVQUFXLENBQUMsRUFFdkgsT0FBT0gsQ0FDVCxFQUNJSyxJQUFnQkMsR0FBUVAsSUFBWVIsSUFBVSxDQUFDLEVBQUcsYUFBYyxDQUFFLE1BQU8sRUFBSyxDQUFDLEVBQUdlLENBQUcsRUFHckZDLElBQW1CLENBQUMsRUFDeEJaLElBQVNZLElBQWtCLENBQ3pCLHFCQUFzQixJQUFNQyxJQUM1QixRQUFTLElBQU1DLElBQ2Ysa0JBQW1CLElBQU1DLEdBQzNCLENBQUMsRUFDRHBCLElBQU8sUUFBVWUsSUFBYUUsR0FBZ0IsRUFDOUMsSUFBSUksSUFBa0IsTUFDbEJDLElBQThCLE1BRzlCQyxJQUFVLFFBR1ZDLElBQWtCLE1BR2xCQyxJQUFpQixNQUdyQixTQUFTQyxJQUErQkMsRUFBTSxDQUM1QyxNQUFPO0FBQUEsRUFDTEEsRUFBSyxPQUFPLElBQUtDLEdBQU0sTUFBTUEsRUFBRSxPQUFPLEVBQUUsRUFBRSxLQUFLO0FBQUEsQ0FBSSxDQUN2RCxDQUNBLElBQUlWLElBQXVCLGNBQWMsS0FBTSxDQUM3QyxZQUFZVyxFQUFVQyxFQUFTQyxFQUFVLENBQ3ZDLE1BQU1MLElBQStCSyxDQUFRLENBQUMsRUFDOUMsS0FBSyxRQUFVRixFQUNmLEtBQUssUUFBVUMsRUFDZixLQUFLLFNBQVdDLEVBQ2hCLEtBQUssS0FBTyx1QkFDWixLQUFLLE9BQVNBLEVBQVMsT0FDdkIsS0FBSyxLQUFPQSxFQUFTLEtBQ2pCLE1BQU0sbUJBQ1IsTUFBTSxrQkFBa0IsS0FBTSxLQUFLLFdBQVcsQ0FFbEQsQ0FDRixFQUdJQyxJQUF1QixDQUN6QixTQUNBLFVBQ0EsTUFDQSxVQUNBLFVBQ0EsUUFDQSxXQUNGLEVBQ0lDLElBQTZCLENBQUMsUUFBUyxTQUFVLEtBQUssRUFDdERDLElBQXVCLGdCQUMzQixTQUFTQyxJQUFRTixFQUFVTyxFQUFPQyxFQUFTLENBQ3pDLEdBQUlBLEVBQVMsQ0FDWCxHQUFJLE9BQU9ELEdBQVUsVUFBWSxVQUFXQyxFQUMxQyxPQUFPLFFBQVEsT0FDYixJQUFJLE1BQU0sNERBQTRELENBQ3hFLEVBRUYsUUFBV3ZCLEtBQU91QixFQUNoQixHQUFLSixJQUEyQixTQUFTbkIsQ0FBRyxFQUU1QyxPQUFPLFFBQVEsT0FDYixJQUFJLE1BQ0YsdUJBQXVCQSxDQUFHLG1DQUM1QixDQUNGLENBRUosQ0FDQSxJQUFNd0IsRUFBZ0IsT0FBT0YsR0FBVSxTQUFXLE9BQU8sT0FBTyxDQUFFLE1BQUFBLENBQU0sRUFBR0MsQ0FBTyxFQUFJRCxFQUNoRkcsRUFBaUIsT0FBTyxLQUM1QkQsQ0FDRixFQUFFLE9BQU8sQ0FBQ0UsRUFBUTFCLElBQ1prQixJQUFxQixTQUFTbEIsQ0FBRyxHQUNuQzBCLEVBQU8xQixDQUFHLEVBQUl3QixFQUFjeEIsQ0FBRyxFQUN4QjBCLElBRUpBLEVBQU8sWUFDVkEsRUFBTyxVQUFZLENBQUMsR0FFdEJBLEVBQU8sVUFBVTFCLENBQUcsRUFBSXdCLEVBQWN4QixDQUFHLEVBQ2xDMEIsR0FDTixDQUFDLENBQUMsRUFDQ0MsRUFBVUgsRUFBYyxTQUFXVCxFQUFTLFNBQVMsU0FBUyxRQUNwRSxPQUFJSyxJQUFxQixLQUFLTyxDQUFPLElBQ25DRixFQUFlLElBQU1FLEVBQVEsUUFBUVAsSUFBc0IsY0FBYyxHQUVwRUwsRUFBU1UsQ0FBYyxFQUFFLEtBQU1SLEdBQWEsQ0FDakQsR0FBSUEsRUFBUyxLQUFLLE9BQVEsQ0FDeEIsSUFBTUQsRUFBVSxDQUFDLEVBQ2pCLFFBQVdoQixLQUFPLE9BQU8sS0FBS2lCLEVBQVMsT0FBTyxFQUM1Q0QsRUFBUWhCLENBQUcsRUFBSWlCLEVBQVMsUUFBUWpCLENBQUcsRUFFckMsTUFBTSxJQUFJSSxJQUNScUIsRUFDQVQsRUFDQUMsRUFBUyxJQUNYLENBQ0YsQ0FDQSxPQUFPQSxFQUFTLEtBQUssSUFDdkIsQ0FBQyxDQUNILENBR0EsU0FBU1csSUFBYWIsRUFBVWMsRUFBYSxDQUMzQyxJQUFNQyxFQUFhZixFQUFTLFNBQVNjLENBQVcsRUFJaEQsT0FBTyxPQUFPLE9BSEMsQ0FBQ1AsRUFBT0MsSUFDZEYsSUFBUVMsRUFBWVIsRUFBT0MsQ0FBTyxFQUVkLENBQzNCLFNBQVVLLElBQWEsS0FBSyxLQUFNRSxDQUFVLEVBQzVDLFNBQVVBLEVBQVcsUUFDdkIsQ0FBQyxDQUNILENBR0EsSUFBSXpCLElBQVd1QixJQUFhckIsSUFBZ0IsUUFBUyxDQUNuRCxRQUFTLENBQ1AsYUFBYyxzQkFBc0JFLEdBQU8sT0FBUUQsSUFBNEIsY0FBYyxDQUFDLEVBQ2hHLEVBQ0EsT0FBUSxPQUNSLElBQUssVUFDUCxDQUFDLEVBQ0QsU0FBU0YsSUFBa0J5QixFQUFlLENBQ3hDLE9BQU9ILElBQWFHLEVBQWUsQ0FDakMsT0FBUSxPQUNSLElBQUssVUFDUCxDQUFDLENBQ0gsSUNuSkEsSUFBQUMsSUFBQUMsR0FBQSxDQUFBQyxJQUFBQyxNQUFBLGNBQ0EsSUFBSUMsSUFBWSxPQUFPLGVBQ25CQyxJQUFtQixPQUFPLHlCQUMxQkMsSUFBb0IsT0FBTyxvQkFDM0JDLElBQWUsT0FBTyxVQUFVLGVBQ2hDQyxJQUFXLENBQUNDLEVBQVFDLElBQVEsQ0FDOUIsUUFBU0MsS0FBUUQsRUFDZk4sSUFBVUssRUFBUUUsRUFBTSxDQUFFLElBQUtELEVBQUlDLENBQUksRUFBRyxXQUFZLEVBQUssQ0FBQyxDQUNoRSxFQUNJQyxJQUFjLENBQUNDLEVBQUlDLEVBQU1DLEVBQVFDLElBQVMsQ0FDNUMsR0FBSUYsR0FBUSxPQUFPQSxHQUFTLFVBQVksT0FBT0EsR0FBUyxXQUN0RCxRQUFTRyxLQUFPWCxJQUFrQlEsQ0FBSSxFQUNoQyxDQUFDUCxJQUFhLEtBQUtNLEVBQUlJLENBQUcsR0FBS0EsSUFBUUYsR0FDekNYLElBQVVTLEVBQUlJLEVBQUssQ0FBRSxJQUFLLElBQU1ILEVBQUtHLENBQUcsRUFBRyxXQUFZLEVBQUVELEVBQU9YLElBQWlCUyxFQUFNRyxDQUFHLElBQU1ELEVBQUssVUFBVyxDQUFDLEVBRXZILE9BQU9ILENBQ1QsRUFDSUssSUFBZ0JDLEdBQVFQLElBQVlSLElBQVUsQ0FBQyxFQUFHLGFBQWMsQ0FBRSxNQUFPLEVBQUssQ0FBQyxFQUFHZSxDQUFHLEVBR3JGQyxJQUFtQixDQUFDLEVBQ3hCWixJQUFTWSxJQUFrQixDQUN6QixnQkFBaUIsSUFBTUMsR0FDekIsQ0FBQyxFQUNEbEIsSUFBTyxRQUFVZSxJQUFhRSxHQUFnQixFQUc5QyxJQUFJRSxJQUErQixRQUMvQkMsSUFBd0IsUUFDeEJDLElBQTBCLFFBQzlCLGVBQWVDLElBQUtDLEVBQU8sQ0FDekIsSUFBTUMsRUFBUUQsRUFBTSxNQUFNLElBQUksRUFBRSxTQUFXLEVBQ3JDRSxFQUFpQk4sSUFBNkIsS0FBS0ksQ0FBSyxHQUFLSCxJQUFzQixLQUFLRyxDQUFLLEVBQzdGRyxFQUFpQkwsSUFBd0IsS0FBS0UsQ0FBSyxFQUV6RCxNQUFPLENBQ0wsS0FBTSxRQUNOLE1BQUFBLEVBQ0EsVUFKZ0JDLEVBQVEsTUFBUUMsRUFBaUIsZUFBaUJDLEVBQWlCLGlCQUFtQixPQUt4RyxDQUNGLENBR0EsU0FBU0MsSUFBd0JKLEVBQU8sQ0FDdEMsT0FBSUEsRUFBTSxNQUFNLElBQUksRUFBRSxTQUFXLEVBQ3hCLFVBQVVBLENBQUssR0FFakIsU0FBU0EsQ0FBSyxFQUN2QixDQUdBLGVBQWVLLElBQUtMLEVBQU9NLEVBQVNDLEVBQU9DLEVBQVksQ0FDckQsSUFBTUMsRUFBV0gsRUFBUSxTQUFTLE1BQ2hDQyxFQUNBQyxDQUNGLEVBQ0EsT0FBQUMsRUFBUyxRQUFRLGNBQWdCTCxJQUF3QkosQ0FBSyxFQUN2RE0sRUFBUUcsQ0FBUSxDQUN6QixDQUdBLElBQUlkLElBQWtCLFNBQTBCSyxFQUFPLENBQ3JELEdBQUksQ0FBQ0EsRUFDSCxNQUFNLElBQUksTUFBTSwwREFBMEQsRUFFNUUsR0FBSSxPQUFPQSxHQUFVLFNBQ25CLE1BQU0sSUFBSSxNQUNSLHVFQUNGLEVBRUYsT0FBQUEsRUFBUUEsRUFBTSxRQUFRLHFCQUFzQixFQUFFLEVBQ3ZDLE9BQU8sT0FBT0QsSUFBSyxLQUFLLEtBQU1DLENBQUssRUFBRyxDQUMzQyxLQUFNSyxJQUFLLEtBQUssS0FBTUwsQ0FBSyxDQUM3QixDQUFDLENBQ0gsSUMxRUEsSUFBQVUsSUFBQUMsR0FBQSxDQUFBQyxJQUFBQyxNQUFBLGNBQ0EsSUFBSUMsSUFBWSxPQUFPLGVBQ25CQyxJQUFtQixPQUFPLHlCQUMxQkMsSUFBb0IsT0FBTyxvQkFDM0JDLElBQWUsT0FBTyxVQUFVLGVBQ2hDQyxJQUFXLENBQUNDLEVBQVFDLElBQVEsQ0FDOUIsUUFBU0MsS0FBUUQsRUFDZk4sSUFBVUssRUFBUUUsRUFBTSxDQUFFLElBQUtELEVBQUlDLENBQUksRUFBRyxXQUFZLEVBQUssQ0FBQyxDQUNoRSxFQUNJQyxJQUFjLENBQUNDLEVBQUlDLEVBQU1DLEVBQVFDLElBQVMsQ0FDNUMsR0FBSUYsR0FBUSxPQUFPQSxHQUFTLFVBQVksT0FBT0EsR0FBUyxXQUN0RCxRQUFTRyxLQUFPWCxJQUFrQlEsQ0FBSSxFQUNoQyxDQUFDUCxJQUFhLEtBQUtNLEVBQUlJLENBQUcsR0FBS0EsSUFBUUYsR0FDekNYLElBQVVTLEVBQUlJLEVBQUssQ0FBRSxJQUFLLElBQU1ILEVBQUtHLENBQUcsRUFBRyxXQUFZLEVBQUVELEVBQU9YLElBQWlCUyxFQUFNRyxDQUFHLElBQU1ELEVBQUssVUFBVyxDQUFDLEVBRXZILE9BQU9ILENBQ1QsRUFDSUssSUFBZ0JDLEdBQVFQLElBQVlSLElBQVUsQ0FBQyxFQUFHLGFBQWMsQ0FBRSxNQUFPLEVBQUssQ0FBQyxFQUFHZSxDQUFHLEVBR3JGQyxJQUFtQixDQUFDLEVBQ3hCWixJQUFTWSxJQUFrQixDQUN6QixRQUFTLElBQU1DLEdBQ2pCLENBQUMsRUFDRGxCLElBQU8sUUFBVWUsSUFBYUUsR0FBZ0IsRUFDOUMsSUFBSUUsSUFBOEIsTUFDOUJDLElBQTJCLE1BQzNCQyxJQUFpQixNQUNqQkMsSUFBaUIsTUFDakJDLElBQW9CLE1BR3BCQyxJQUFVLFFBR1ZDLElBQU8sSUFBTSxDQUNqQixFQUNJQyxJQUFjLFFBQVEsS0FBSyxLQUFLLE9BQU8sRUFDdkNDLElBQWUsUUFBUSxNQUFNLEtBQUssT0FBTyxFQUN6Q0MsSUFBaUIsbUJBQW1CSixHQUFPLE9BQVFMLElBQTRCLGNBQWMsQ0FBQyxHQUM5RkQsSUFBVSxLQUFNLENBQ2xCLE1BQU8sQ0FDTCxLQUFLLFFBQVVNLEdBQ2pCLENBQ0EsT0FBTyxTQUFTSyxFQUFVLENBb0J4QixPQW5CNEIsY0FBYyxJQUFLLENBQzdDLGVBQWVDLEVBQU0sQ0FDbkIsSUFBTUMsRUFBVUQsRUFBSyxDQUFDLEdBQUssQ0FBQyxFQUM1QixHQUFJLE9BQU9ELEdBQWEsV0FBWSxDQUNsQyxNQUFNQSxFQUFTRSxDQUFPLENBQUMsRUFDdkIsTUFDRixDQUNBLE1BQ0UsT0FBTyxPQUNMLENBQUMsRUFDREYsRUFDQUUsRUFDQUEsRUFBUSxXQUFhRixFQUFTLFVBQVksQ0FDeEMsVUFBVyxHQUFHRSxFQUFRLFNBQVMsSUFBSUYsRUFBUyxTQUFTLEVBQ3ZELEVBQUksSUFDTixDQUNGLENBQ0YsQ0FDRixDQUVGLENBQ0EsTUFBTyxDQUNMLEtBQUssUUFBVSxDQUFDLENBQ2xCLENBT0EsT0FBTyxVQUFVRyxFQUFZLENBQzNCLElBQU1DLEVBQWlCLEtBQUssUUFRNUIsT0FQbUIsY0FBYyxJQUFLLENBQ3BDLE1BQU8sQ0FDTCxLQUFLLFFBQVVBLEVBQWUsT0FDNUJELEVBQVcsT0FBUUUsR0FBVyxDQUFDRCxFQUFlLFNBQVNDLENBQU0sQ0FBQyxDQUNoRSxDQUNGLENBQ0YsQ0FFRixDQUNBLFlBQVlILEVBQVUsQ0FBQyxFQUFHLENBQ3hCLElBQU1JLEVBQU8sSUFBSWYsSUFBeUIsV0FDcENnQixFQUFrQixDQUN0QixRQUFTZixJQUFlLFFBQVEsU0FBUyxTQUFTLFFBQ2xELFFBQVMsQ0FBQyxFQUNWLFFBQVMsT0FBTyxPQUFPLENBQUMsRUFBR1UsRUFBUSxRQUFTLENBRTFDLEtBQU1JLEVBQUssS0FBSyxLQUFNLFNBQVMsQ0FDakMsQ0FBQyxFQUNELFVBQVcsQ0FDVCxTQUFVLENBQUMsRUFDWCxPQUFRLEVBQ1YsQ0FDRixFQXVCQSxHQXRCQUMsRUFBZ0IsUUFBUSxZQUFZLEVBQUlMLEVBQVEsVUFBWSxHQUFHQSxFQUFRLFNBQVMsSUFBSUgsR0FBYyxHQUFLQSxJQUNuR0csRUFBUSxVQUNWSyxFQUFnQixRQUFVTCxFQUFRLFNBRWhDQSxFQUFRLFdBQ1ZLLEVBQWdCLFVBQVUsU0FBV0wsRUFBUSxVQUUzQ0EsRUFBUSxXQUNWSyxFQUFnQixRQUFRLFdBQVcsRUFBSUwsRUFBUSxVQUVqRCxLQUFLLFFBQVVWLElBQWUsUUFBUSxTQUFTZSxDQUFlLEVBQzlELEtBQUssV0FBY2QsSUFBZSxtQkFBbUIsS0FBSyxPQUFPLEVBQUUsU0FBU2MsQ0FBZSxFQUMzRixLQUFLLElBQU0sT0FBTyxPQUNoQixDQUNFLE1BQU9YLElBQ1AsS0FBTUEsSUFDTixLQUFNQyxJQUNOLE1BQU9DLEdBQ1QsRUFDQUksRUFBUSxHQUNWLEVBQ0EsS0FBSyxLQUFPSSxFQUNQSixFQUFRLGFBVU4sQ0FDTCxHQUFNLENBQUUsYUFBQU0sRUFBYyxHQUFHQyxDQUFhLEVBQUlQLEVBQ3BDUSxFQUFPRixFQUNYLE9BQU8sT0FDTCxDQUNFLFFBQVMsS0FBSyxRQUNkLElBQUssS0FBSyxJQU1WLFFBQVMsS0FDVCxlQUFnQkMsQ0FDbEIsRUFDQVAsRUFBUSxJQUNWLENBQ0YsRUFDQUksRUFBSyxLQUFLLFVBQVdJLEVBQUssSUFBSSxFQUM5QixLQUFLLEtBQU9BLENBQ2QsU0E3Qk0sQ0FBQ1IsRUFBUSxLQUNYLEtBQUssS0FBTyxVQUFhLENBQ3ZCLEtBQU0saUJBQ1IsT0FDSyxDQUNMLElBQU1RLEtBQVdoQixJQUFrQixpQkFBaUJRLEVBQVEsSUFBSSxFQUNoRUksRUFBSyxLQUFLLFVBQVdJLEVBQUssSUFBSSxFQUM5QixLQUFLLEtBQU9BLENBQ2QsQ0FzQkYsSUFBTUMsRUFBbUIsS0FBSyxZQUM5QixRQUFTLEVBQUksRUFBRyxFQUFJQSxFQUFpQixRQUFRLE9BQVEsRUFBRSxFQUNyRCxPQUFPLE9BQU8sS0FBTUEsRUFBaUIsUUFBUSxDQUFDLEVBQUUsS0FBTVQsQ0FBTyxDQUFDLENBRWxFLENBQ0YsSUM5SkEsSUFBQVUsSUFBQUMsR0FBQSxDQUFBQyxJQUFBQyxNQUFBLGNBQ0EsSUFBSUMsSUFBWSxPQUFPLGVBQ25CQyxJQUFtQixPQUFPLHlCQUMxQkMsSUFBb0IsT0FBTyxvQkFDM0JDLElBQWUsT0FBTyxVQUFVLGVBQ2hDQyxJQUFXLENBQUNDLEVBQVFDLElBQVEsQ0FDOUIsUUFBU0MsS0FBUUQsRUFDZk4sSUFBVUssRUFBUUUsRUFBTSxDQUFFLElBQUtELEVBQUlDLENBQUksRUFBRyxXQUFZLEVBQUssQ0FBQyxDQUNoRSxFQUNJQyxJQUFjLENBQUNDLEVBQUlDLEVBQU1DLEVBQVFDLElBQVMsQ0FDNUMsR0FBSUYsR0FBUSxPQUFPQSxHQUFTLFVBQVksT0FBT0EsR0FBUyxXQUN0RCxRQUFTRyxLQUFPWCxJQUFrQlEsQ0FBSSxFQUNoQyxDQUFDUCxJQUFhLEtBQUtNLEVBQUlJLENBQUcsR0FBS0EsSUFBUUYsR0FDekNYLElBQVVTLEVBQUlJLEVBQUssQ0FBRSxJQUFLLElBQU1ILEVBQUtHLENBQUcsRUFBRyxXQUFZLEVBQUVELEVBQU9YLElBQWlCUyxFQUFNRyxDQUFHLElBQU1ELEVBQUssVUFBVyxDQUFDLEVBRXZILE9BQU9ILENBQ1QsRUFDSUssSUFBZ0JDLEdBQVFQLElBQVlSLElBQVUsQ0FBQyxFQUFHLGFBQWMsQ0FBRSxNQUFPLEVBQUssQ0FBQyxFQUFHZSxDQUFHLEVBR3JGQyxJQUFtQixDQUFDLEVBQ3hCWixJQUFTWSxJQUFrQixDQUN6QixXQUFZLElBQU1DLEdBQ3BCLENBQUMsRUFDRGxCLElBQU8sUUFBVWUsSUFBYUUsR0FBZ0IsRUFHOUMsSUFBSUUsSUFBVSxRQUdkLFNBQVNELElBQVdFLEVBQVMsQ0FDM0JBLEVBQVEsS0FBSyxLQUFLLFVBQVcsQ0FBQ0MsRUFBU0MsSUFBWSxDQUNqREYsRUFBUSxJQUFJLE1BQU0sVUFBV0UsQ0FBTyxFQUNwQyxJQUFNQyxFQUFRLEtBQUssSUFBSSxFQUNqQkMsRUFBaUJKLEVBQVEsUUFBUSxTQUFTLE1BQU1FLENBQU8sRUFDdkRHLEVBQU9ELEVBQWUsSUFBSSxRQUFRRixFQUFRLFFBQVMsRUFBRSxFQUMzRCxPQUFPRCxFQUFRQyxDQUFPLEVBQUUsS0FBTUksSUFDNUJOLEVBQVEsSUFBSSxLQUNWLEdBQUdJLEVBQWUsTUFBTSxJQUFJQyxDQUFJLE1BQU1DLEVBQVMsTUFBTSxPQUFPLEtBQUssSUFBSSxFQUFJSCxDQUFLLElBQ2hGLEVBQ09HLEVBQ1IsRUFBRSxNQUFPQyxHQUFVLENBQ2xCLE1BQUFQLEVBQVEsSUFBSSxLQUNWLEdBQUdJLEVBQWUsTUFBTSxJQUFJQyxDQUFJLE1BQU1FLEVBQU0sTUFBTSxPQUFPLEtBQUssSUFBSSxFQUFJSixDQUFLLElBQzdFLEVBQ01JLENBQ1IsQ0FBQyxDQUNILENBQUMsQ0FDSCxDQUNBVCxJQUFXLFFBQVVDLE1DakRyQixJQUFBUyxJQUFBQyxHQUFBLENBQUFDLElBQUFDLE1BQUEsY0FDQSxJQUFJQyxJQUFZLE9BQU8sZUFDbkJDLElBQW1CLE9BQU8seUJBQzFCQyxJQUFvQixPQUFPLG9CQUMzQkMsSUFBZSxPQUFPLFVBQVUsZUFDaENDLElBQVcsQ0FBQ0MsRUFBUUMsSUFBUSxDQUM5QixRQUFTQyxLQUFRRCxFQUNmTixJQUFVSyxFQUFRRSxFQUFNLENBQUUsSUFBS0QsRUFBSUMsQ0FBSSxFQUFHLFdBQVksRUFBSyxDQUFDLENBQ2hFLEVBQ0lDLElBQWMsQ0FBQ0MsRUFBSUMsRUFBTUMsRUFBUUMsSUFBUyxDQUM1QyxHQUFJRixHQUFRLE9BQU9BLEdBQVMsVUFBWSxPQUFPQSxHQUFTLFdBQ3RELFFBQVNHLEtBQU9YLElBQWtCUSxDQUFJLEVBQ2hDLENBQUNQLElBQWEsS0FBS00sRUFBSUksQ0FBRyxHQUFLQSxJQUFRRixHQUN6Q1gsSUFBVVMsRUFBSUksRUFBSyxDQUFFLElBQUssSUFBTUgsRUFBS0csQ0FBRyxFQUFHLFdBQVksRUFBRUQsRUFBT1gsSUFBaUJTLEVBQU1HLENBQUcsSUFBTUQsRUFBSyxVQUFXLENBQUMsRUFFdkgsT0FBT0gsQ0FDVCxFQUNJSyxJQUFnQkMsR0FBUVAsSUFBWVIsSUFBVSxDQUFDLEVBQUcsYUFBYyxDQUFFLE1BQU8sRUFBSyxDQUFDLEVBQUdlLENBQUcsRUFHckZDLElBQW1CLENBQUMsRUFDeEJaLElBQVNZLElBQWtCLENBQ3pCLG9CQUFxQixJQUFNQyxJQUMzQixxQkFBc0IsSUFBTUMsSUFDNUIsYUFBYyxJQUFNQyxJQUNwQixvQkFBcUIsSUFBTUMsR0FDN0IsQ0FBQyxFQUNEckIsSUFBTyxRQUFVZSxJQUFhRSxHQUFnQixFQUc5QyxJQUFJSyxJQUFVLFNBR2QsU0FBU0MsSUFBK0JDLEVBQVUsQ0FDaEQsR0FBSSxDQUFDQSxFQUFTLEtBQ1osTUFBTyxDQUNMLEdBQUdBLEVBQ0gsS0FBTSxDQUFDLENBQ1QsRUFHRixHQUFJLEVBRCtCLGdCQUFpQkEsRUFBUyxNQUFRLEVBQUUsUUFBU0EsRUFBUyxPQUV2RixPQUFPQSxFQUNULElBQU1DLEVBQW9CRCxFQUFTLEtBQUssbUJBQ2xDRSxFQUFzQkYsRUFBUyxLQUFLLHFCQUNwQ0csRUFBYUgsRUFBUyxLQUFLLFlBQ2pDLE9BQU9BLEVBQVMsS0FBSyxtQkFDckIsT0FBT0EsRUFBUyxLQUFLLHFCQUNyQixPQUFPQSxFQUFTLEtBQUssWUFDckIsSUFBTUksRUFBZSxPQUFPLEtBQUtKLEVBQVMsSUFBSSxFQUFFLENBQUMsRUFDM0NLLEVBQU9MLEVBQVMsS0FBS0ksQ0FBWSxFQUN2QyxPQUFBSixFQUFTLEtBQU9LLEVBQ1osT0FBT0osRUFBc0IsTUFDL0JELEVBQVMsS0FBSyxtQkFBcUJDLEdBRWpDLE9BQU9DLEVBQXdCLE1BQ2pDRixFQUFTLEtBQUsscUJBQXVCRSxHQUV2Q0YsRUFBUyxLQUFLLFlBQWNHLEVBQ3JCSCxDQUNULENBR0EsU0FBU00sSUFBU0MsRUFBU0MsRUFBT0MsRUFBWSxDQUM1QyxJQUFNQyxFQUFVLE9BQU9GLEdBQVUsV0FBYUEsRUFBTSxTQUFTQyxDQUFVLEVBQUlGLEVBQVEsUUFBUSxTQUFTQyxFQUFPQyxDQUFVLEVBQy9HRSxFQUFnQixPQUFPSCxHQUFVLFdBQWFBLEVBQVFELEVBQVEsUUFDOURLLEVBQVNGLEVBQVEsT0FDakJHLEVBQVVILEVBQVEsUUFDcEJJLEVBQU1KLEVBQVEsSUFDbEIsTUFBTyxDQUNMLENBQUMsT0FBTyxhQUFhLEVBQUcsS0FBTyxDQUM3QixNQUFNLE1BQU8sQ0FDWCxHQUFJLENBQUNJLEVBQ0gsTUFBTyxDQUFFLEtBQU0sRUFBSyxFQUN0QixHQUFJLENBQ0YsSUFBTWQsRUFBVyxNQUFNVyxFQUFjLENBQUUsT0FBQUMsRUFBUSxJQUFBRSxFQUFLLFFBQUFELENBQVEsQ0FBQyxFQUN2REUsRUFBcUJoQixJQUErQkMsQ0FBUSxFQUNsRSxPQUFBYyxJQUFRQyxFQUFtQixRQUFRLE1BQVEsSUFBSSxNQUM3Qyx5QkFDRixHQUFLLENBQUMsR0FBRyxDQUFDLEVBQ0gsQ0FBRSxNQUFPQSxDQUFtQixDQUNyQyxPQUFTQyxFQUFPLENBQ2QsR0FBSUEsRUFBTSxTQUFXLElBQ25CLE1BQU1BLEVBQ1IsT0FBQUYsRUFBTSxHQUNDLENBQ0wsTUFBTyxDQUNMLE9BQVEsSUFDUixRQUFTLENBQUMsRUFDVixLQUFNLENBQUMsQ0FDVCxDQUNGLENBQ0YsQ0FDRixDQUNGLEVBQ0YsQ0FDRixDQUdBLFNBQVNHLElBQVNWLEVBQVNDLEVBQU9DLEVBQVlTLEVBQU8sQ0FDbkQsT0FBSSxPQUFPVCxHQUFlLGFBQ3hCUyxFQUFRVCxFQUNSQSxFQUFhLFFBRVJVLElBQ0xaLEVBQ0EsQ0FBQyxFQUNERCxJQUFTQyxFQUFTQyxFQUFPQyxDQUFVLEVBQUUsT0FBTyxhQUFhLEVBQUUsRUFDM0RTLENBQ0YsQ0FDRixDQUNBLFNBQVNDLElBQU9aLEVBQVNhLEVBQVNDLEVBQVdILEVBQU8sQ0FDbEQsT0FBT0csRUFBVSxLQUFLLEVBQUUsS0FBTUMsR0FBVyxDQUN2QyxHQUFJQSxFQUFPLEtBQ1QsT0FBT0YsRUFFVCxJQUFJRyxFQUFZLEdBQ2hCLFNBQVNDLEdBQU8sQ0FDZEQsRUFBWSxFQUNkLENBSUEsT0FIQUgsRUFBVUEsRUFBUSxPQUNoQkYsRUFBUUEsRUFBTUksRUFBTyxNQUFPRSxDQUFJLEVBQUlGLEVBQU8sTUFBTSxJQUNuRCxFQUNJQyxFQUNLSCxFQUVGRCxJQUFPWixFQUFTYSxFQUFTQyxFQUFXSCxDQUFLLENBQ2xELENBQUMsQ0FDSCxDQUdBLElBQUl4QixJQUFzQixPQUFPLE9BQU91QixJQUFVLENBQ2hELFNBQUFYLEdBQ0YsQ0FBQyxFQUdHVCxJQUFzQixDQUN4QixrQkFDQSwyQkFDQSxpQ0FDQSx5QkFDQSx3REFDQSxrQkFDQSw2Q0FDQSw4Q0FDQSxrREFDQSx1REFDQSxjQUNBLGFBQ0Esb0JBQ0EscUJBQ0EsZ0NBQ0EsK0JBQ0EsNkJBQ0EsaUNBQ0EsY0FDQSxnQkFDQSxpQ0FDQSxvREFDQSx5Q0FDQSw0REFDQSxzQ0FDQSxxQkFDQSxxQkFDQSxvREFDQSxtREFDQSxrQ0FDQSxrQ0FDQSw2REFDQSxvQ0FDQSx3REFDQSx5QkFDQSx1Q0FDQSw2QkFDQSxxQ0FDQSxnRUFDQSx3Q0FDQSxnQ0FDQSxvQ0FDQSxxQ0FDQSxnRUFDQSx5QkFDQSxxQ0FDQSx3QkFDQSw2Q0FDQSxnQ0FDQSw4QkFDQSxvREFDQSx5QkFDQSwwQkFDQSxnREFDQSw2QkFDQSx5REFDQSxxREFDQSxxREFDQSx3Q0FDQSwyQkFDQSxrRUFDQSxpREFDQSwrRUFDQSx5Q0FDQSwrREFDQSwyQkFDQSxvQ0FDQSxpQ0FDQSx3QkFDQSwyQkFDQSx1Q0FDQSx5Q0FDQSxzQ0FDQSxpREFDQSx3QkFDQSxnREFDQSw2RUFDQSx3R0FDQSw4RUFDQSxnREFDQSw0Q0FDQSw2Q0FDQSwwQ0FDQSwwQ0FDQSwwQ0FDQSwyQ0FDQSxxQ0FDQSw4Q0FDQSwyQ0FDQSx5REFDQSwyREFDQSw0Q0FDQSx5Q0FDQSw0REFDQSxpRkFDQSx1REFDQSw0Q0FDQSw4Q0FDQSw4Q0FDQSxpRUFDQSxxQ0FDQSxzQ0FDQSxxQ0FDQSxrRUFDQSxxRUFDQSxpREFDQSwwRUFDQSxtREFDQSx1Q0FDQSxxREFDQSwrQ0FDQSwwQ0FDQSxxQ0FDQSw0REFDQSxvQ0FDQSwwREFDQSx1REFDQSxxREFDQSx1REFDQSxpREFDQSxtREFDQSx5Q0FDQSw4Q0FDQSwrQ0FDQSx3Q0FDQSxpRUFDQSx5Q0FDQSx1RkFDQSw2RkFDQSxvRUFDQSxzRUFDQSxtQ0FDQSxrQ0FDQSxrQ0FDQSx1REFDQSx3Q0FDQSxtQ0FDQSw0Q0FDQSxtRUFDQSwwQ0FDQSwyREFDQSx5REFDQSx5REFDQSw0REFDQSwyREFDQSxpQ0FDQSxtQ0FDQSx1Q0FDQSxpRUFDQSwwQ0FDQSx5Q0FDQSxxQ0FDQSxrQ0FDQSwyQ0FDQSxrRUFDQSx5REFDQSx3REFDQSxzREFDQSx3REFDQSw2RUFDQSxxQ0FDQSx5REFDQSw0REFDQSxvREFDQSxxQ0FDQSxpREFDQSxtREFDQSw0RUFDQSxnREFDQSx1Q0FDQSx3Q0FDQSxpQ0FDQSxrQ0FDQSxtQ0FDQSxvQkFDQSxtQkFDQSxzQkFDQSxxQkFDQSxxQkFDQSwyQkFDQSxxQkFDQSxvQkFDQSxtQ0FDQSxnRUFDQSwyRkFDQSxpRUFDQSxtQ0FDQSwrQkFDQSxnQ0FDQSw2QkFDQSw2QkFDQSxtQkFDQSx1QkFDQSwrQkFDQSxtQkFDQSxzQkFDQSxzQkFDQSxxQkFDQSwwQkFDQSx5REFDQSxtQkFDQSxpQkFDQSxrQ0FDQSwwQ0FDQSw2QkFDQSx1QkFDQSxtREFDQSxpQkFDQSxxQkFDQSw0REFDQSwwQkFDQSxrQkFDQSxtQ0FDQSw0QkFDQSw2QkFDQSxvQkFDQSwwQkFDQSxrQkFDQSxhQUNBLCtCQUNBLDBDQUNBLHNDQUNBLGtDQUNBLGtDQUNBLDhCQUNBLGlDQUNBLDZCQUNBLDZCQUNBLGlDQUNBLGlDQUNBLHdDQUNBLCtDQUNBLDhCQUNBLHdDQUNBLHlDQUNBLGdDQUNBLHFDQUNGLEVBR0Es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QSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsUUFDRCxDQUNELEVBQ0EsTUFBUyxDQUNSLFNBQVksR0FDWixPQUFVLENBQ1QsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxRQUNELENBQ0QsRUFDQSxNQUFTLENBQ1IsU0FBWSxHQUNaLE9BQVUsQ0FDVCxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFFBQ0QsQ0FDRCxFQUNBLE1BQVMsQ0FDUixTQUFZLEdBQ1osT0FBVSxDQUNULFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxRQUNELENBQ0QsRUFDQSxNQUFTLENBQ1IsU0FBWSxHQUNaLE9BQVUsQ0FDVCxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsUUFDRCxDQUNELEVBQ0EsTUFBUyxDQUNSLFNBQVksR0FDWixPQUFVLENBQ1QsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxRQUNELENBQ0QsRUFDQSxNQUFTLENBQ1IsU0FBWSxHQUNaLE9BQVUsQ0FDVCxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFFBQ0QsQ0FDRCxFQUNBLE9BQVUsQ0FDVCxTQUFZLEdBQ1osT0FBVSxDQUNULFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFFBQ0QsQ0FDRCxFQUNBLE9BQVUsQ0FDVCxTQUFZLElBQ1osT0FBVSxDQUNULFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsUUFDRCxDQUNELEVBQ0EsT0FBVSxDQUNULFNBQVksR0FDWixPQUFVLENBQ1QsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxlQUNBLGVBQ0EsZUFDQSxjQUNELENBQ0QsRUFDQSxPQUFVLENBQ1QsU0FBWSxHQUNaLE9BQVUsQ0FDVCxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFFBQ0QsQ0FDRCxFQUNBLFNBQVksQ0FDWCxTQUFZLEdBQ1osT0FBVSxDQUNULFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFFBQ0QsQ0FDRCxFQUNBLEtBQVEsQ0FDUCxTQUFZLEdBQ1osT0FBVSxDQUNULFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsUUFDRCxDQUNELEVBQ0EsS0FBUSxDQUNQLFNBQVksSUFDWixPQUFVLENBQ1QsSUFDQSxLQUNBLElBQ0EsR0FDRCxDQUNELEVBQ0EsTUFBUyxDQUNSLFNBQVksSUFDWixPQUFVLENBQ1QsU0FDQSxJQUNBLFNBQ0EsU0FDQSxTQUNBLEdBQ0QsQ0FDRCxFQUNBLEtBQVEsQ0FDUCxTQUFZLElBQ1osT0FBVSxDQUNULFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsUUFDRCxDQUNELEVBQ0EsV0FBYyxDQUNiLFNBQVksSUFDWixPQUFVLENBQ1QsTUFDQSxNQUNBLE1BQ0EsS0FDRCxDQUNELEVBQ0Esb0JBQXVCLENBQ3RCLFNBQVksSUFDWixPQUFVLENBQ1QsTUFDQSxNQUNBLE1BQ0EsTUFDQSxNQUNBLEtBQ0QsQ0FDRCxFQUNBLEtBQVEsQ0FDUCxTQUFZLEdBQ1osT0FBVSxDQUNULFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxRQUNELENBQ0QsRUFDQSxNQUFTLENBQ1IsU0FBWSxHQUNaLE9BQVUsQ0FDVCxJQUNBLElBQ0EsR0FDRCxDQUNELEVBQ0EsS0FBUSxDQUNQLFNBQVksR0FDWixPQUFVLENBQ1QsSUFDQSxJQUNBLElBQ0EsSUFDQSxJQUNBLElBQ0EsSUFDQSxPQUNBLElBQ0EsSUFDQSxJQUNBLEdBQ0QsQ0FDRCxFQUNBLFVBQWEsQ0FDWixTQUFZLElBQ1osT0FBVSxDQUNULFNBQ0EsU0FDQSxRQUNELENBQ0QsRUFDQSxhQUFnQixDQUNmLFNBQVksSUFDWixPQUFVLENBQ1QsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsUUFDRCxDQUNELEVBQ0EsZUFBa0IsQ0FDakIsU0FBWSxJQUNaLE9BQVUsQ0FDVCxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsUUFDRCxDQUNELEVBQ0EsUUFBVyxDQUNWLFNBQVksSUFDWixPQUFVLENBQ1QsSUFDQSxJQUNBLElBQ0EsSUFDQSxJQUNBLElBQ0EsR0FDRCxDQUNELEVBQ0EsU0FBWSxDQUNYLFNBQVksSUFDWixPQUFVLENBQ1QsSUFDQSxJQUNBLElBQ0EsT0FDQSxJQUNBLElBQ0EsR0FDRCxDQUNELEVBQ0EsTUFBUyxDQUNSLFNBQVksSUFDWixPQUFVLENBQ1QsU0FDQSxTQUNBLFFBQ0QsQ0FDRCxFQUNBLE9BQVUsQ0FDVCxTQUFZLElBQ1osT0FBVSxDQUNULFNBQ0EsU0FDQSxTQUNBLFFBQ0QsQ0FDRCxFQUNBLFVBQWEsQ0FDWixTQUFZLElBQ1osT0FBVSxDQUNULFNBQ0EsU0FDQSxTQUNBLFFBQ0QsQ0FDRCxFQUNBLFdBQWMsQ0FDYixTQUFZLElBQ1osT0FBVSxDQUNULFNBQ0EsU0FDQSxTQUNBLFFBQ0QsQ0FDRCxFQUNBLFNBQVksQ0FDWCxTQUFZLEdBQ1osT0FBVSxDQUNULFNBQ0EsU0FDQSxTQUNBLFFBQ0QsQ0FDRCxFQUNBLE9BQVUsQ0FDVCxTQUFZLEdBQ1osT0FBVSxDQUNULFNBQ1MsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNULFNBQ0EsU0FDQSxTQUNBLFFBQ0QsQ0FDRCxFQUNBLElBQU8sQ0FDTixTQUFZLElBQ1osT0FBVSxDQUNULFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxRQUNELENBQ0QsRUFDQSxPQUFVLENBQ1QsU0FBWSxJQUNaLE9BQVUsQ0FDVCxTQUNBLFNBQ0EsUUFDRCxDQUNELEVBQ0EsY0FBaUIsQ0FDaEIsU0FBWSxJQUNaLE9BQVUsQ0FDVCxTQUNBLFNBQ0EsU0FDQSxRQUNELENBQ0QsRUFDQSxlQUFrQixDQUNqQixTQUFZLElBQ1osT0FBVSxDQUNULFNBQ0EsU0FDQSxTQUNBLFFBQ0QsQ0FDRCxFQUNBLGFBQWdCLENBQ2YsU0FBWSxHQUNaLE9BQVUsQ0FDVCxTQUNBLFNBQ0EsU0FDQSxRQUNELENBQ0QsRUFDQSxPQUFVLENBQ1QsU0FBWSxJQUNaLE9BQVUsQ0FDVCxTQUNBLFFBQ0QsQ0FDRCxFQUNBLE9BQVUsQ0FDVCxTQUFZLElBQ1osT0FBVSxDQUNULFNBQ0EsUUFDRCxDQUNELEVBQ0EsUUFBVyxDQUNWLFNBQVksR0FDWixPQUFVLENBQ1QsU0FDQSxRQUNELENBQ0QsRUFDQSxRQUFXLENBQ1YsU0FBWSxJQUNaLE9BQVUsQ0FDVCxTQUNBLFFBQ0QsQ0FDRCxFQUNBLFFBQVcsQ0FDVixTQUFZLElBQ1osT0FBVSxDQUNULFNBQ0EsU0FDQSxTQUNBLFFBQ0QsQ0FDRCxFQUNBLFFBQVcsQ0FDVixTQUFZLElBQ1osT0FBVSxDQUNULFNBQ0EsUUFDRCxDQUNELEVBQ0EsUUFBVyxDQUNWLFNBQVksSUFDWixPQUFVLENBQ1QsU0FDQSxRQUNELENBQ0QsRUFDQSxRQUFXLENBQ1YsU0FBWSxHQUNaLE9BQVUsQ0FDVCxTQUNBLFFBQ0QsQ0FDRCxFQUNBLFFBQVcsQ0FDVixTQUFZLElBQ1osT0FBVSxDQUNULFNBQ0EsUUFDRCxDQUNELEVBQ0EsUUFBVyxDQUNWLFNBQVksSUFDWixPQUFVLENBQ1QsU0FDQSxRQUNELENBQ0QsRUFDQSxTQUFZLENBQ1gsU0FBWSxJQUNaLE9BQVUsQ0FDVCxTQUNBLFNBQ0EsUUFDRCxDQUNELEVBQ0EsU0FBWSxDQUNYLFNBQVksR0FDWixPQUFVLENBQ1QsU0FDQSxRQUNELENBQ0QsRUFDQSxTQUFZLENBQ1gsU0FBWSxJQUNaLE9BQVUsQ0FDVCxTQUNBLFFBQ0QsQ0FDRCxFQUNBLFNBQVksQ0FDWCxTQUFZLEdBQ1osT0FBVSxDQUNULElBQ0EsSUFDQSxHQUNELENBQ0QsRUFDQSxNQUFTLENBQ1IsU0FBWSxJQUNaLE9BQVUsQ0FDVCxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFFBQ0QsQ0FDRCxFQUNBLE9BQVUsQ0FDVCxTQUFZLEdBQ1osT0FBVSxDQUNULGdCQUNBLGdCQUNBLGdCQUNBLGdCQUNBLGdCQUNBLGdCQUNBLGdCQUNBLGVBQ0QsQ0FDRCxFQUNBLE9BQVUsQ0FDVCxTQUFZLElBQ1osT0FBVSxDQUNULGlDQUNBLGlDQUNBLGlDQUNBLGlDQUNBLGlDQUNBLGdDQUNELENBQ0QsRUFDQSxZQUFlLENBQ2QsU0FBWSxHQUNaLE9BQVUsQ0FDVCxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxTQUNBLFNBQ0EsU0FDQSxRQUNELENBQ0QsRUFDQSxhQUFnQixDQUNmLFNBQVksR0FDWixPQUFVLENBQ1QsZ0JBQ0EsZ0JBQ0EsZ0JBQ0EsZ0JBQ0EsZ0JBQ0EsZ0JBQ0EsZ0JBQ0EsZ0JBQ0EsZ0JBQ0EsZUFDRCxDQUNELEVBQ0EsT0FBVSxDQUNULFNBQVksSUFDWixPQUFVLENBQ1QsYUFDQSxZQUNELENBQ0QsRUFDQSxPQUFVLENBQ1QsU0FBWSxJQUNaLE9BQVUsQ0FDVCxhQUNBLGFBQ0EsYUFDQSxZQUNELENBQ0QsRUFDQSxPQUFVLENBQ1QsU0FBWSxJQUNaLE9BQVUsQ0FDVCxhQUNBLGFBQ0EsYUFDQSxhQUNBLGVBQ0QsQ0FDRCxFQUNBLE1BQVMsQ0FDUixTQUFZLElBQ1osT0FBVSxDQUNULGFBQ0EsYUFDQSxhQUNBLGFBQ0EsYUFDQSxhQUNBLGFBQ0EsYUFDQSxhQUNBLGFBQ0EsYUFDQSxZQUNELENBQ0QsRUFDQSxNQUFTLENBQ1IsU0FBWSxJQUNaLE9BQVUsQ0FDVCxhQUNBLGFBQ0EsWUFDRCxDQUNELEVBQ0EsU0FBWSxDQUNYLFNBQVksR0FDWixPQUFVLENBQ1QsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMkhBQ0EsMEhBQ0QsQ0FDRCxFQUNBLEtBQVEsQ0FDUCxTQUFZLEdBQ1osT0FBVSxDQUNULGFBQ0EsYUFDQSxhQUNBLGFBQ0EsYUFDQSxhQUNBLGFBQ0EsWUFDRCxDQUNELEVBQ0EsT0FBVSxDQUNULFNBQVksSUFDWixPQUFVLENBQ1QsYUFDQSxZQUNELENBQ0QsRUFDQSxLQUFRLENBQ1AsU0FBWSxHQUNaLE9BQVUsQ0FDVCw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSw0QkFDQSwyQkFDRCxDQUNELEVBQ0EsTUFBUyxDQUNSLFNBQVksSUFDWixPQUFVLENBQ1QsOEJBQ0EsOEJBQ0EsOEJBQ0EsOEJBQ0EsOEJBQ0EsOEJBQ0EsOEJBQ0EsOEJBQ0EsOEJBQ0EsOEJBQ0EsOEJBQ0EsOEJBQ0EsOEJBQ0EsNkJBQ0EsNkJBQ0EsNkJBQ0EsNkJBQ0Es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LElBQUFDLE1BQUEsQ0FBQUEsSUFBTyxRQUFVLENBQ2IsQ0FBRSxJQUFRLEdBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQ3pELENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUN6RCxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFDekQsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQ3pELENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUN6RCxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFDekQsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQ3pELENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUN6RCxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFDekQsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQ3pELENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUN6RCxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFDekQsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQ3pELENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUN6RCxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFDekQsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQ3pELENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUN6RCxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFDekQsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQ3pELENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUN6RCxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFDekQsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQ3pELENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUN6RCxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFDekQsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQ3pELENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUN6RCxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFDekQsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQ3pELENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUN6RCxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFDekQsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQ3pELENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUN6RCxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFDekQsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQ3pELENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUN6RCxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFDekQsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQ3pELENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUN6RCxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsS0FBUSxJQUFPLEVBQUcsQ0FBRSxLQUFRLElBQU8sRUFDekQsQ0FBRSxLQUFRLElBQU8sRUFBRyxDQUFFLEtBQVEsSUFBTyxFQUFHLENBQUUsTUFBUSxLQUFPLEVBQ3pELENBQUUsTUFBUSxLQUFPLEVBQUcsQ0FBRSxNQUFRLEtBQU8sRUFBRyxDQUFFLE1BQVEsS0FBTyxFQUN6RCxDQUFFLE1BQVEsS0FBTyxFQUFHLENBQUUsTUFBUSxLQUFPLEVBQUcsQ0FBRSxNQUFRLEtBQU8sRUFDekQsQ0FBRSxNQUFRLEtBQU8sRUFBRyxDQUFFLE1BQVEsS0FBTyxFQUFHLENBQUUsTUFBUSxLQUFPLEVBQ3pELENBQUUsTUFBUyxLQUFRLEVBQUcsQ0FBRSxNQUFTLEtBQVEsRUFBRyxDQUFF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SyxNQUFRLEVBQ3RCLENBUUFwQixHQUFPLFFBQVEsT0FBUyxVQUFXLENBQ2pDLEtBQUssS0FBTyxVQUFXLENBQ3JCLE1BQU8sUUFDVCxFQUNBLEtBQUssU0FBVyxVQUFXLENBQ3pCLE1BQU8sSUFDVCxFQUtBLEtBQUssWUFBYyxDQUNqQixNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUN4RSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUN4RSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUN4RSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUN4RSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUN4RSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUN4RSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUN4RSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUN4RSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUN4RSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxLQUMxRSxFQUVBLEtBQUssU0FBVzJCLEdBQ2xCLEVBQ0ExQixJQUFLLFNBQVNELEdBQU8sUUFBUSxPQUFRYSxFQUFJLEVBUXpDYixHQUFPLFFBQVEsT0FBUyxVQUFXLENBQ2pDLEtBQUssS0FBTyxVQUFXLENBQ3JCLE1BQU8sUUFDVCxFQUNBLEtBQUssU0FBVyxVQUFXLENBQ3pCLE1BQU8sSUFDVCxFQUtBLEtBQUssWUFBYyxDQUNqQixNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1BQVEsTUFBUSxNQUN4RSxNQUFRLE1BQVEsTUFBUSxNQUFRLE1B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QUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLElBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sSUFBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxJQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sR0FDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxHQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLEdBQzVDLENBQ0YsRUFFQSxLQUFLLE9BQVMsVUFBVyxDQUN2QixNQUFPLENBQ0wsSUFBSWlCLEdBQWUsS0FBTSxDQUN2QixRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsT0FDeEUsQ0FBQyxFQUNELElBQUlBLEdBQWUsS0FBTSxDQUN2QixRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsT0FDeEUsQ0FBQyxFQUNELElBQUlBLEdBQWUsS0FBTSxDQUN2QixRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsT0FDeEUsQ0FBQyxFQUNELElBQUlBLEdBQWUsS0FBTSxDQUN2QixRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDeEUsQ0FBQyxFQUNELElBQUlBLEdBQWUsS0FBTSxDQUN2QixRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsT0FDeEUsQ0FBQyxFQUNELElBQUlBLEdBQWUsS0FBTSxDQUN2QixRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsT0FDeEUsQ0FBQyxFQUNELElBQUlBLEdBQWUsS0FBTSxDQUN2QixRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsT0FDeEUsQ0FBQyxFQUNELElBQUlBLEdBQWUsS0FBTSxDQUN2QixRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsT0FDeEUsQ0FBQyxFQUNELElBQUlBLEdBQWUsS0FBTSxDQUN2QixRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFNBQVUsUUFDeEUsQ0FBQyxFQUNELElBQUlBLEdBQWUsS0FBTSxDQUN2QixRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFNBQVUsUUFDeEUsQ0FBQyxDQUNILENBQ0YsRUFFQSxLQUFLLEtBQU8sU0FBU0wsRUFBSyxDQUN4QixPQUFRQSxHQUFPQSxFQUFJLFNBQVksZUFBaUIsWUFDbEQsQ0FDRixFQUNBWCxHQUFLLFNBQVNELEdBQU8sUUFBUSxXQUFZb0IsRUFBSSxFQUc3Q3BCLEdBQU8sUUFBUSxXQUFhLFVBQVcsQ0FDckMsS0FBSyxRQUFVLFVBQVcsQ0FDeEIsTUFBTyxDQUNMLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxFQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLElBQU0sR0FBTSxJQUFNLEdBQU0sSUFBTSxJQUFNLEdBQzFDLEdBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxHQUFNLElBQU0sSUFDMUMsR0FBTSxJQUFNLEdBQU0sSUFBTSxHQUFNLElBQU0sSUFBTSxJQUMxQyxHQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sR0FBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLEdBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sR0FDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxFQUM1QyxDQUNGLEVBRUEsS0FBSyxPQUFTLFVBQVcsQ0FDdkIsTUFBTyxDQUNMLElBQUlpQixHQUFlLEtBQU0sQ0FDdkIsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFFBQ3hFLENBQUMsRUFDRCxJQUFJQSxHQUFlLEtBQU0sQ0FDdkIsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxTQUFVLFFBQ3hFLENBQUMsRUFDRCxJQUFJQSxHQUFlLEtBQU0sQ0FDdkIsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3hFLENBQUMsRUFDRCxJQUFJQSxHQUFlLEtBQU0sQ0FDdkIsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLE9BQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxTQUFVLFFBQ3hFLENBQUMsQ0FDSCxDQUNGLEVBRUEsS0FBSyxLQUFPLFNBQVNMLEVBQUssQ0FDeEIsT0FBUUEsR0FBT0EsRUFBSSxTQUFZLGVBQWlCLFlBQ2xELENBQ0YsRUFDQVgsR0FBSyxTQUFTRCxHQUFPLFFBQVEsV0FBWW9CLEVBQUksRUFHN0NwQixHQUFPLFFBQVEsV0FBYSxVQUFXLENBQ3JDLEtBQUssUUFBVSxVQUFXLENBQ3hCLE1BQU8sQ0FDTCxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sRUFDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sR0FBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxHQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxHQUFNLElBQU0sR0FDNUMsQ0FDRixFQUVBLEtBQUssT0FBUyxVQUFXLENBQ3ZCLE1BQU8sQ0FDTCxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUN0RSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQ3RFLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FDdEUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUN0RSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQ3RFLFNBQVUsU0FBVSxTQUFVLFFBQVUsU0FBVSxTQUFVLFNBQVUsUUFDeEUsQ0FDRixFQUVBLEtBQUssS0FBTyxTQUFTWSxFQUFLLENBQ3hCLE1BQU8sWUFDVCxFQUVBLEtBQUssU0FBVyxVQUFXLENBQ3pCLE1BQU8sSUFDVCxDQUNGLEVBQ0FYLEdBQUssU0FBU0QsR0FBTyxRQUFRLFdBQVlvQixFQUFJLEVBRzdDcEIsR0FBTyxRQUFRLFdBQWEsVUFBVyxDQUNyQyxLQUFLLFFBQVUsVUFBVyxDQUN4QixNQUFPLENBQ0wsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEVBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEVBQzVDLENBQ0YsRUFFQSxLQUFLLE9BQVMsVUFBVyxDQUN2QixNQUFPLENBQ0wsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQ3RFLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FDdEUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUN0RSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQ3RFLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FDdEUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUN0RSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFFBQ3hFLENBQ0YsRUFFQSxLQUFLLEtBQU8sU0FBU1ksRUFBSyxDQUN4QixNQUFPLFlBQ1QsRUFFQSxLQUFLLFNBQVcsVUFBVyxDQUN6QixNQUFPLElBQ1QsQ0FDRixFQUNBWCxHQUFLLFNBQVNELEdBQU8sUUFBUSxXQUFZb0IsRUFBSSxFQUc3Q3BCLEdBQU8sUUFBUSxXQUFhLFVBQVcsQ0FDckMsS0FBSyxRQUFVLFVBQVcsQ0FDeEIsTUFBTyxDQUNMLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxFQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLElBQU0sSUFBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sSUFBTSxHQUMxQyxJQUFNLElBQU0sSUFBTSxHQUFNLElBQU0sR0FBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sR0FBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxFQUM1QyxDQUNGLEVBRUEsS0FBSyxPQUFTLFVBQVcsQ0FDdkIsTUFBTyxDQUNMLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQ3RFLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FDdEUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUN0RSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQ3RFLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FDdEUsU0FBVSxTQUFVLFNBQVUsUUFBVSxTQUFVLFNBQVUsU0FBVSxRQUN4RSxDQUNGLEVBRUEsS0FBSyxLQUFPLFNBQVNZLEVBQUssQ0FDeEIsT0FBUUEsR0FBT0EsRUFBSSxTQUFZLGVBQWlCLFlBQ2xELEVBRUEsS0FBSyxTQUFXLFVBQVcsQ0FDekIsTUFBTyxJQUNULENBQ0YsRUFDQVgsR0FBSyxTQUFTRCxHQUFPLFFBQVEsV0FBWW9CLEVBQUksRUFFN0NwQixHQUFPLFFBQVEsV0FBYSxVQUFXLENBRXJDLEtBQUssUUFBVSxVQUFXLENBQ3hCLE1BQU8sQ0FDTCxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sRUFDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxJQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sRUFDNUMsQ0FDRixFQUVBLEtBQUssT0FBUyxVQUFXLENBQ3ZCLE1BQU8sQ0FDTCxJQUFJaUIsR0FBZSxLQUFNLENBQ3ZCLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQ3RFLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FDdEUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUN0RSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQ3RFLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FDdEUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxRQUN4RSxDQUFDLEVBQ0QsSUFBSUEsR0FBZSxLQUFNLENBQ3ZCLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQ3RFLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FDdEUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUN0RSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQ3RFLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FDdEUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxRQUN4RSxDQUFDLENBQ0gsQ0FDRixFQUVBLEtBQUssS0FBTyxTQUFTTCxFQUFLLENBQ3hCLE9BQVFBLEdBQU9BLEVBQUksU0FBWSxlQUFpQixZQUNsRCxFQUVBLEtBQUssU0FBVyxVQUFXLENBQ3pCLE1BQU8sSUFDVCxDQUVGLEVBQ0FYLEdBQUssU0FBU0QsR0FBTyxRQUFRLFdBQVlvQixFQUFJLEVBRzdDcEIsR0FBTyxRQUFRLFdBQWEsVUFBVyxDQUNyQyxLQUFLLFFBQVUsVUFBVyxDQUN4QixNQUFPLENBQ0wsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEVBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLElBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sSUFBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxJQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sR0FDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxHQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLEdBQzVDLENBQ0YsRUFFQSxLQUFLLE9BQVMsVUFBVyxDQUN2QixNQUFPLENBQ0wsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFNBQVUsU0FBVSxTQUFVLFFBQ3hFLENBQ0YsRUFFQSxLQUFLLEtBQU8sU0FBU1ksRUFBSyxDQUN4QixPQUFRQSxHQUFPQSxFQUFJLFNBQVksZUFBaUIsWUFDbEQsRUFFQSxLQUFLLFNBQVcsVUFBVyxDQUN6QixNQUFPLElBQ1QsQ0FDRixFQUNBWCxHQUFLLFNBQVNELEdBQU8sUUFBUSxXQUFZb0IsRUFBSSxFQUc3Q3BCLEdBQU8sUUFBUSxhQUFlLFVBQVcsQ0FDdkMsS0FBSyxRQUFVLFVBQVcsQ0FDeEIsTUFBTyxDQUNMLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxFQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsSUFBTSxJQUFNLEdBQU0sSUFBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sSUFBTSxHQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLElBQU0sR0FBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxHQUFNLElBQU0sSUFBTSxJQUFNLEdBQU0sSUFBTSxHQUFNLEdBQzFDLElBQU0sR0FBTSxJQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sSUFDMUMsR0FBTSxHQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sR0FBTSxHQUMxQyxJQUFNLEdBQU0sSUFBTSxHQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxHQUM1QyxDQUNGLEVBRUEsS0FBSyxPQUFTLFVBQVcsQ0FDdkIsTUFBTyxDQUNMLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFDdEUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQ3RFLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FDdEUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUN0RSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQ3RFLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FDdEUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxRQUN4RSxDQUNGLEVBRUEsS0FBSyxLQUFPLFNBQVNZLEVBQUssQ0FDeEIsTUFBTyxjQUNULEVBRUEsS0FBSyxTQUFXLFVBQVcsQ0FDekIsTUFBTyxJQUNULENBQ0YsRUFDQVgsR0FBSyxTQUFTRCxHQUFPLFFBQVEsYUFBY29CLEVBQUksRUFHL0NwQixHQUFPLFFBQVEsYUFBZSxVQUFXLENBQ3ZDLEtBQUssUUFBVSxVQUFXLENBQ3hCLE1BQU8sQ0FDTCxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sRUFDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sSUFBTSxHQUFNLElBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsSUFBTSxHQUFNLElBQU0sR0FBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLElBQU0sR0FBTSxJQUFNLEdBQU0sSUFBTSxHQUFNLEdBQU0sSUFDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sSUFBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxJQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxHQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLElBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sSUFBTSxHQUFNLElBQU0sSUFBTSxHQUFNLEdBQU0sR0FDNUMsQ0FDRixFQUVBLEtBQUssT0FBUyxVQUFXLENBQ3ZCLE1BQU8sQ0FDTCxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FDdEUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUN0RSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQ3RFLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FDdEUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUN0RSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQ3RFLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsUUFDeEUsQ0FDRixFQUVBLEtBQUssS0FBTyxTQUFTWSxFQUFLLENBQ3hCLE1BQU8sY0FDVCxFQUVBLEtBQUssU0FBVyxVQUFXLENBQ3pCLE1BQU8sSUFDVCxDQUNGLEVBQ0FYLEdBQUssU0FBU0QsR0FBTyxRQUFRLGFBQWNvQixFQUFJLEVBRy9DcEIsR0FBTyxRQUFRLE9BQVMsVUFBVyxDQUNqQyxLQUFLLFFBQVUsVUFBVyxDQUN4QixNQUFPLENBQ0wsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEVBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLElBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUMxQyxHQUFNLEdBQU0sR0FBTSxJQUFNLEdBQU0sR0FBTSxHQUFNLEdBQzFDLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FBTSxHQUFNLEdBQU0sR0FDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQzFDLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFDMUMsSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUMxQyxJQUFNLElBQU0sSUFBTSxJQUFNLElBQU0sSUFBTSxJQUFNLEdBQzVDLENBQ0YsRUFFQSxLQUFLLE9BQVMsVUFBVyxDQUN2QixNQUFPLENBQ0wsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUN0RSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQVUsUUFBVSxRQUFVLFFBQ3RFLFFBQVUsUUFBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FDdEUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUN0RSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQ3RFLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FDdEUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUN0RSxTQUFVLFNBQVUsU0FBVSxTQUFVLFNBQVUsU0FBVSxTQUFVLFFBQ3hFLENBQ0YsRUFFQSxLQUFLLEtBQU8sU0FBU1ksRUFBSyxDQUN4QixNQUFPLFFBQ1QsRUFFQSxLQUFLLFNBQVcsVUFBVyxDQUN6QixNQUFPLElBQ1QsQ0FDRixFQUNBWCxHQUFLLFNBQVNELEdBQU8sUUFBUSxPQUFRb0IsRUFBSSxJQzcyQnpDLElBQUFVLElBQUFDLEdBQUEsQ0FBQUMsSUFBQUMsS0FBQSxLQUFJQyxJQUFPLEdBQVEsTUFBTSxFQUN2QkMsSUFBUSxNQVNWLFNBQVNDLEtBQVcsQ0FBQyxDQUVyQkEsSUFBUyxVQUFVLE1BQVEsU0FBU0MsRUFBSyxDQWV2QyxJQUFJQyxFQUFHQyxFQUNIQyxFQUNBQyxFQUFTLEVBQ1RDLEVBQVMsRUFDVEMsRUFBUyxFQUNUQyxFQUdBQyxFQUFPUixFQUFJLFlBQ1hTLEVBQVVULEVBQUksVUFFbEJVLEVBQ0UsSUFBS1QsRUFBSSxFQUFHQSxFQUFJUSxFQUFTUixJQUFLLENBQzVCLEdBQUlPLEVBQUtQLENBQUMsR0FBSyxHQUFNLENBQ25CVSxFQUNFLElBQUtSLEVBQU8sRUFBR0EsRUFBTyxLQUFLLGdCQUFnQixPQUFRQSxJQUFRLENBQ3pELElBQUlTLEVBQU0sS0FBSyxnQkFBZ0JULENBQUksRUFFbkMsR0FBS00sRUFBVVIsRUFBS1csRUFBSSxPQUN0QixTQUFTRCxFQUVYLElBQUtULEVBQUksRUFBR0EsRUFBSVUsRUFBSSxPQUFRVixJQUMxQixHQUFJVSxFQUFJVixDQUFDLEdBQUtNLEVBQUtQLEVBQUlDLENBQUMsRUFDdEIsU0FBU1MsRUFHYlAsSUFDQUgsR0FBS1csRUFBSSxPQUFTLEVBQ2xCLFNBQVNGLENBQ1gsQ0FFQUwsR0FDSixFQUdJRyxFQUFLUCxDQUFDLEdBQUssSUFBUU8sRUFBS1AsQ0FBQyxHQUFLLEtBQ2hDSyxHQUVKLENBRUYsT0FBSUYsR0FBUSxFQUNILE1BUVRHLEdBQVcsSUFBTUgsRUFBTyxJQUFNQyxJQUFXRCxFQUFPQyxHQUs1Q0QsRUFBT0UsRUFBUyxJQUNsQkMsSUFBWSxHQUFLSCxFQUFPRSxJQUFXLElBRTlCQyxHQUFXLEVBQUksS0FBTyxJQUFJVCxJQUFNRSxFQUFLLEtBQU1PLENBQU8sRUFDM0QsRUFFQVgsR0FBTyxRQUFRLFlBQWMsVUFBVyxDQUN0QyxLQUFLLEtBQU8sVUFBVyxDQUNyQixNQUFPLGFBQ1QsRUFDQSxLQUFLLGdCQUFrQixDQUNyQixDQUFFLEdBQU0sR0FBTSxHQUFNLEVBQUssRUFDekIsQ0FBRSxHQUFNLEdBQU0sR0FBTSxFQUFLLEVBQ3pCLENBQUUsR0FBTSxHQUFNLEVBQUssRUFDbkIsQ0FBRSxHQUFNLEdBQU0sRUFBSyxFQUNuQixDQUFFLEdBQU0sR0FBTSxFQUFLLEVBQ25CLENBQUUsR0FBTSxHQUFNLEVBQUssRUFDbkIsQ0FBRSxHQUFNLEdBQU0sRUFBSyxFQUNuQixDQUFFLEdBQU0sR0FBTSxFQUFLLEVBQ25CLENBQUUsR0FBTSxHQUFNLEVBQUssRUFDbkIsQ0FBRSxHQUFNLEdBQU0sRUFBSyxFQUNuQixDQUFFLEdBQU0sR0FBTSxFQUFLLEVBQ25CLENBQUUsR0FBTSxHQUFNLEVBQUssQ0FDckIsQ0FDRixFQUNBQyxJQUFLLFNBQVNELEdBQU8sUUFBUSxZQUFhRyxHQUFRLEVBSWxESCxHQUFPLFFBQVEsWUFBYyxVQUFXLENBQ3RDLEtBQUssS0FBTyxVQUFXLENBQ3JCLE1BQU8sYUFDVCxFQUNBLEtBQUssZ0JBQWtCLENBQ3JCLENBQUUsR0FBTSxHQUFNLEdBQU0sRUFBSyxDQUMzQixDQUNGLEVBQ0FDLElBQUssU0FBU0QsR0FBTyxRQUFRLFlBQWFHLEdBQVEsRUFJbERILEdBQU8sUUFBUSxZQUFjLFVBQVcsQ0FDdEMsS0FBSyxLQUFPLFVBQVcsQ0FDckIsTUFBTyxhQUNULEVBQ0EsS0FBSyxnQkFBa0IsQ0FDckIsQ0FBRSxHQUFNLEdBQU0sR0FBTSxFQUFLLEVBQ3pCLENBQUUsR0FBTSxHQUFNLEdBQU0sRUFBSyxFQUN6QixDQUFFLEdBQU0sR0FBTSxHQUFNLEVBQUssRUFDekIsQ0FBRSxHQUFNLEdBQU0sR0FBTSxFQUFLLEVBQ3pCLENBQUUsR0FBTSxHQUFNLEdBQU0sRUFBSyxFQUN6QixDQUFFLEdBQU0sR0FBTSxHQUFNLEVBQUssRUFDekIsQ0FBRSxHQUFNLEdBQU0sR0FBTSxFQUFLLEVBQ3pCLENBQUUsR0FBTSxHQUFNLEdBQU0sRUFBSyxFQUN6QixDQUFFLEdBQU0sR0FBTSxHQUFNLEVBQUssRUFDekIsQ0FBRSxHQUFNLEVBQUssRUFDYixDQUFFLEdBQU0sRUFBSyxDQUNmLENBQ0YsRUFDQUMsSUFBSyxTQUFTRCxHQUFPLFFBQVEsWUFBYUcsR0FBUSxJQzVJbEQsSUFBQWMsSUFBQUMsR0FBQSxDQUFBQyxJQUFBQyxLQUFBLENBQ0EsSUFBSUMsR0FBSyxHQUFRLElBQUksRUFFakJDLElBQVEsTUFDVkMsSUFBVSxNQUNWQyxJQUFVLE1BQ1ZDLEdBQVUsTUFDVkMsSUFBVSxNQUVSQyxJQUFPUixJQUVQUyxJQUFjLENBQ2hCLElBQUlOLElBQ0osSUFBSUMsSUFBUSxTQUNaLElBQUlBLElBQVEsU0FDWixJQUFJQSxJQUFRLFNBQ1osSUFBSUEsSUFBUSxTQUNaLElBQUlDLElBQUssS0FDVCxJQUFJQSxJQUFLLEtBQ1QsSUFBSUEsSUFBSyxPQUNULElBQUlBLElBQUssT0FDVCxJQUFJQSxJQUFLLFNBQ1QsSUFBSUUsSUFBUSxZQUNaLElBQUlBLElBQVEsWUFDWixJQUFJQSxJQUFRLFlBQ1osSUFBSUQsR0FBSyxXQUNULElBQUlBLEdBQUssV0FDVCxJQUFJQSxHQUFLLFdBQ1QsSUFBSUEsR0FBSyxXQUNULElBQUlBLEdBQUssV0FDVCxJQUFJQSxHQUFLLFdBQ1QsSUFBSUEsR0FBSyxXQUNULElBQUlBLEdBQUssYUFDVCxJQUFJQSxHQUFLLGFBQ1QsSUFBSUEsR0FBSyxNQUNYLEVBRUFMLEdBQU8sUUFBUSxPQUFTLFNBQVNTLEVBQVFDLEVBQU0sQ0FJN0MsUUFESUMsRUFBYSxDQUFDLEVBQ1RDLEVBQUksRUFBR0EsRUFBSSxJQUFLQSxJQUN2QkQsRUFBV0MsQ0FBQyxFQUFJLEVBRWxCLFFBQVNBLEVBQUlILEVBQU8sT0FBUyxFQUFHRyxHQUFLLEVBQUdBLElBQ3RDRCxFQUFXRixFQUFPRyxDQUFDLEVBQUksR0FBTSxJQUcvQixRQURJQyxFQUFXLEdBQ05ELEVBQUksSUFBTUEsR0FBSyxJQUFNQSxHQUFLLEVBQ2pDLEdBQUlELEVBQVdDLENBQUMsR0FBSyxFQUFHLENBQ3RCQyxFQUFXLEdBQ1gsS0FDRixDQUdGLElBQUlDLEVBQVUsQ0FDWixXQUFhSCxFQUNiLFNBQWFFLEVBQ2IsVUFBYUosRUFDYixXQUFhQSxFQUFPLE9BQ3BCLFlBQWFBLEVBQ2IsVUFBYUEsRUFBTyxNQUN0QixFQUVJTSxFQUFVUCxJQUFZLElBQUksU0FBU1EsRUFBSyxDQUMxQyxPQUFPQSxFQUFJLE1BQU1GLENBQU8sQ0FDMUIsQ0FBQyxFQUFFLE9BQU8sU0FBU0csRUFBTyxDQUN4QixNQUFPLENBQUMsQ0FBQ0EsQ0FDWCxDQUFDLEVBQUUsS0FBSyxTQUFTQyxFQUFHQyxFQUFHLENBQ3JCLE9BQU9BLEVBQUUsV0FBYUQsRUFBRSxVQUMxQixDQUFDLEVBRUQsT0FBSVIsR0FBUUEsRUFBSyxtQkFBcUIsR0FDN0JLLEVBR0FBLEVBQVEsT0FBUyxFQUFJQSxFQUFRLENBQUMsRUFBRSxLQUFPLElBRWxELEVBRUFmLEdBQU8sUUFBUSxXQUFhLFNBQVNvQixFQUFVVixFQUFNVyxFQUFJLENBQ25ELE9BQU9YLEdBQVMsYUFDbEJXLEVBQUtYLEVBQ0xBLEVBQU8sUUFHVCxJQUFJWSxFQUVBQyxFQUFVLFNBQVNDLEVBQUtmLEVBQVEsQ0FLbEMsR0FKSWEsR0FDRnJCLEdBQUcsVUFBVXFCLENBQUUsRUFHYkUsRUFBSyxPQUFPSCxFQUFHRyxFQUFLLElBQUksRUFDNUJILEVBQUcsS0FBTWQsSUFBSyxPQUFPRSxFQUFRQyxDQUFJLENBQUMsQ0FDcEMsRUFFQSxHQUFJQSxHQUFRQSxFQUFLLFdBQVksQ0FDM0JZLEVBQUtyQixHQUFHLFNBQVNtQixFQUFVLEdBQUcsRUFDNUIsT0FBUyxPQUFPLFlBQVlWLEVBQUssVUFBVSxFQUU3Q1QsR0FBRyxLQUFLcUIsRUFBSSxPQUFRLEVBQUdaLEVBQUssV0FBWSxLQUFNLFNBQVNjLEVBQUssQ0FDMURELEVBQVFDLEVBQUssTUFBTSxDQUNyQixDQUFDLEVBQ0QsTUFDRixDQUVBdkIsR0FBRyxTQUFTbUIsRUFBVUcsQ0FBTyxDQUMvQixFQUVBdkIsR0FBTyxRQUFRLGVBQWlCLFNBQVNvQixFQUFVVixFQUFNLENBQ3ZELEdBQUlBLEdBQVFBLEVBQUssV0FBWSxDQUMzQixJQUFJWSxFQUFLckIsR0FBRyxTQUFTbUIsRUFBVSxHQUFHLEVBQ2hDSyxFQUFTLE9BQU8sWUFBWWYsRUFBSyxVQUFVLEVBRTdDLE9BQUFULEdBQUcsU0FBU3FCLEVBQUlHLEVBQVEsRUFBR2YsRUFBSyxVQUFVLEVBQzFDVCxHQUFHLFVBQVVxQixDQUFFLEVBQ1JmLElBQUssT0FBT2tCLEVBQVFmLENBQUksQ0FDakMsQ0FFQSxPQUFPSCxJQUFLLE9BQU9OLEdBQUcsYUFBYW1CLENBQVEsRUFBR1YsQ0FBSSxDQUNwRCxFQUdBVixHQUFPLFFBQVEsVUFBWSxTQUFTUyxFQUFRQyxFQUFNLENBQ2hELE9BQUksT0FBT0EsR0FBUyxXQUNsQkEsRUFBTyxDQUFDLEdBRVZBLEVBQUssaUJBQW1CLEdBQ2pCSCxJQUFLLE9BQU9FLEVBQVFDLENBQUksQ0FDakMsRUFFQVYsR0FBTyxRQUFRLGNBQWdCLFNBQVNvQixFQUFVVixFQUFNVyxFQUFJLENBQ3RELE9BQU9YLEdBQVMsYUFDbEJXLEVBQUtYLEVBQ0xBLEVBQU8sUUFFTCxPQUFPQSxHQUFTLFdBQ2xCQSxFQUFPLENBQUMsR0FFVkEsRUFBSyxpQkFBbUIsR0FDeEJILElBQUssV0FBV2EsRUFBVVYsRUFBTVcsQ0FBRSxDQUNwQyxFQUVBckIsR0FBTyxRQUFRLGtCQUFvQixTQUFTb0IsRUFBVVYsRUFBTSxDQUMxRCxPQUFJLE9BQU9BLEdBQVMsV0FDbEJBLEVBQU8sQ0FBQyxHQUVWQSxFQUFLLGlCQUFtQixHQUNqQkgsSUFBSyxlQUFlYSxFQUFVVixDQUFJLENBQzNDLElDdEpBLElBQUFnQixHQUFBQyxHQUFBLENBQUFDLElBQUFDLE1BQUEsY0FJQSxJQUFJQyxJQUFTLEdBQVEsUUFBUSxFQUN6QkMsSUFBU0QsSUFBTyxPQUVoQkUsR0FBUSxDQUFDLEVBRVRDLEdBRUosSUFBS0EsTUFBT0gsSUFDTEEsSUFBTyxlQUFlRyxFQUFHLElBQzFCQSxLQUFRLGNBQWdCQSxLQUFRLFdBQ3BDRCxHQUFNQyxFQUFHLEVBQUlILElBQU9HLEVBQUcsSUFHekIsSUFBSUMsSUFBUUYsR0FBTSxPQUFTLENBQUMsRUFDNUIsSUFBS0MsTUFBT0YsSUFDTEEsSUFBTyxlQUFlRSxFQUFHLElBQzFCQSxLQUFRLGVBQWlCQSxLQUFRLG9CQUNyQ0MsSUFBTUQsRUFBRyxFQUFJRixJQUFPRSxFQUFHLElBR3pCRCxHQUFNLE9BQU8sVUFBWUQsSUFBTyxXQUU1QixDQUFDRyxJQUFNLE1BQVFBLElBQU0sT0FBUyxXQUFXLFFBQzNDQSxJQUFNLEtBQU8sU0FBVUMsRUFBT0MsRUFBa0JDLEVBQVEsQ0FDdEQsR0FBSSxPQUFPRixHQUFVLFNBQ25CLE1BQU0sSUFBSSxVQUFVLGtFQUFvRSxPQUFPQSxDQUFLLEVBRXRHLEdBQUlBLEdBQVMsT0FBT0EsRUFBTSxPQUFXLElBQ25DLE1BQU0sSUFBSSxVQUFVLGtIQUFvSCxPQUFPQSxDQUFLLEVBRXRKLE9BQU9KLElBQU9JLEVBQU9DLEVBQWtCQyxDQUFNLENBQy9DLEdBR0dILElBQU0sUUFDVEEsSUFBTSxNQUFRLFNBQVVJLEVBQU1DLEVBQU1DLEVBQVUsQ0FDNUMsR0FBSSxPQUFPRixHQUFTLFNBQ2xCLE1BQU0sSUFBSSxVQUFVLDZEQUErRCxPQUFPQSxDQUFJLEVBRWhHLEdBQUlBLEVBQU8sR0FBS0EsR0FBUSxHQUFLLEdBQUssSUFDaEMsTUFBTSxJQUFJLFdBQVcsY0FBZ0JBLEVBQU8sZ0NBQWdDLEVBRTlFLElBQUlHLEVBQU1WLElBQU9PLENBQUksRUFDckIsTUFBSSxDQUFDQyxHQUFRQSxFQUFLLFNBQVcsRUFDM0JFLEVBQUksS0FBSyxDQUFDLEVBQ0QsT0FBT0QsR0FBYSxTQUM3QkMsRUFBSSxLQUFLRixFQUFNQyxDQUFRLEVBRXZCQyxFQUFJLEtBQUtGLENBQUksRUFFUkUsQ0FDVCxHQUdGLEdBQUksQ0FBQ1QsR0FBTSxpQkFDVCxHQUFJLENBQ0ZBLEdBQU0saUJBQW1CLFFBQVEsUUFBUSxRQUFRLEVBQUUsZ0JBQ3JELE1BQVksQ0FHWixDQUdHQSxHQUFNLFlBQ1RBLEdBQU0sVUFBWSxDQUNoQixXQUFZQSxHQUFNLFVBQ3BCLEVBQ0lBLEdBQU0sbUJBQ1JBLEdBQU0sVUFBVSxrQkFBb0JBLEdBQU0sbUJBSTlDSCxJQUFPLFFBQVVHLEtDNUVqQixJQUFBVSxJQUFBQyxHQUFBQyxLQUFBLGNBRUEsSUFBSUMsSUFBVSxTQUVkRCxJQUFRLFdBQWFFLElBQ3JCLFNBQVNBLElBQWtCQyxFQUFTQyxFQUFTLENBQ3pDLEtBQUssUUFBVUQsRUFDZixLQUFLLE9BQVMsRUFDbEIsQ0FFQUQsSUFBa0IsVUFBVSxNQUFRLFNBQVNHLEVBQUssQ0FDOUMsT0FBSSxLQUFLLFNBQ0xBLEVBQU1KLElBQVVJLEVBQ2hCLEtBQUssT0FBUyxJQUdYLEtBQUssUUFBUSxNQUFNQSxDQUFHLENBQ2pDLEVBRUFILElBQWtCLFVBQVUsSUFBTSxVQUFXLENBQ3pDLE9BQU8sS0FBSyxRQUFRLElBQUksQ0FDNUIsRUFLQUYsSUFBUSxTQUFXTSxJQUNuQixTQUFTQSxJQUFnQkMsRUFBU0gsRUFBUyxDQUN2QyxLQUFLLFFBQVVHLEVBQ2YsS0FBSyxLQUFPLEdBQ1osS0FBSyxRQUFVSCxHQUFXLENBQUMsQ0FDL0IsQ0FFQUUsSUFBZ0IsVUFBVSxNQUFRLFNBQVNFLEVBQUssQ0FDNUMsSUFBSUMsRUFBTSxLQUFLLFFBQVEsTUFBTUQsQ0FBRyxFQUNoQyxPQUFJLEtBQUssTUFBUSxDQUFDQyxJQUdkQSxFQUFJLENBQUMsSUFBTVIsTUFDWFEsRUFBTUEsRUFBSSxNQUFNLENBQUMsRUFDYixPQUFPLEtBQUssUUFBUSxVQUFhLFlBQ2pDLEtBQUssUUFBUSxTQUFTLEdBRzlCLEtBQUssS0FBTyxJQUNMQSxDQUNYLEVBRUFILElBQWdCLFVBQVUsSUFBTSxVQUFXLENBQ3ZDLE9BQU8sS0FBSyxRQUFRLElBQUksQ0FDNUIsSUNsREEsSUFBQUksSUFBQUMsR0FBQSxDQUFBQyxJQUFBQyxNQUFBLGNBQ0EsSUFBSUMsSUFBUyxLQUF3QixPQUlyQ0QsSUFBTyxRQUFVLENBRWIsS0FBUSxDQUFFLEtBQU0sWUFBYSxTQUFVLEVBQUksRUFDM0MsTUFBUSxDQUFFLEtBQU0sWUFBYSxTQUFVLEVBQUksRUFDM0MsY0FBZSxPQUVmLEtBQVEsQ0FBRSxLQUFNLFlBQWEsU0FBVSxFQUFJLEVBQzNDLFFBQVMsT0FFVCxPQUFRLENBQUUsS0FBTSxXQUFZLEVBQzVCLE9BQVEsQ0FBRSxLQUFNLFdBQVksRUFDNUIsSUFBUSxDQUFFLEtBQU0sV0FBWSxFQUc1QixVQUFXRSxHQUNmLEVBSUEsU0FBU0EsSUFBY0MsRUFBY0MsRUFBTyxDQUN4QyxLQUFLLElBQU1ELEVBQWEsYUFDeEIsS0FBSyxTQUFXQSxFQUFhLFNBRXpCLEtBQUssTUFBUSxTQUNiLEtBQUssUUFBVUUsSUFDVixLQUFLLE1BQVEsVUFDbEIsS0FBSyxJQUFNLE9BQ1gsS0FBSyxRQUFVQyxJQUdYTCxJQUFPLEtBQUssZUFBZ0IsS0FBSyxFQUFFLFNBQVMsSUFBTSxjQUNsRCxLQUFLLFFBQVVNLElBQ2YsS0FBSyxtQkFBcUJILEVBQU0sb0JBRzVDLENBRUFGLElBQWMsVUFBVSxRQUFVTSxJQUNsQ04sSUFBYyxVQUFVLFFBQVVPLElBS2xDLElBQUlDLElBQWdCLEdBQVEsZ0JBQWdCLEVBQUUsY0FFekNBLElBQWMsVUFBVSxNQUN6QkEsSUFBYyxVQUFVLElBQU0sVUFBVyxDQUFDLEdBRzlDLFNBQVNELElBQWdCRSxFQUFTQyxFQUFPLENBQ3JDRixJQUFjLEtBQUssS0FBTUUsRUFBTSxHQUFHLENBQ3RDLENBRUFILElBQWdCLFVBQVlDLElBQWMsVUFNMUMsU0FBU0YsSUFBZ0JHLEVBQVNDLEVBQU8sQ0FDckMsS0FBSyxJQUFNQSxFQUFNLEdBQ3JCLENBRUFKLElBQWdCLFVBQVUsTUFBUSxTQUFTSyxFQUFLLENBQzVDLE9BQU9aLElBQU8sS0FBS1ksRUFBSyxLQUFLLEdBQUcsQ0FDcEMsRUFFQUwsSUFBZ0IsVUFBVSxJQUFNLFVBQVcsQ0FDM0MsRUFNQSxTQUFTSCxJQUFzQk0sRUFBU0MsRUFBTyxDQUMzQyxLQUFLLFFBQVUsRUFDbkIsQ0FFQVAsSUFBc0IsVUFBVSxNQUFRLFNBQVNRLEVBQUssQ0FDbERBLEVBQU0sS0FBSyxRQUFVQSxFQUNyQixJQUFJQyxFQUFnQkQsRUFBSSxPQUFVQSxFQUFJLE9BQVMsRUFDL0MsWUFBSyxRQUFVQSxFQUFJLE1BQU1DLENBQWEsRUFDdENELEVBQU1BLEVBQUksTUFBTSxFQUFHQyxDQUFhLEVBRXpCYixJQUFPLEtBQUtZLEVBQUssUUFBUSxDQUNwQyxFQUVBUixJQUFzQixVQUFVLElBQU0sVUFBVyxDQUM3QyxPQUFPSixJQUFPLEtBQUssS0FBSyxRQUFTLFFBQVEsQ0FDN0MsRUFNQSxTQUFTSyxJQUFxQkssRUFBU0MsRUFBTyxDQUM5QyxDQUVBTixJQUFxQixVQUFVLE1BQVEsU0FBU08sRUFBSyxDQUVqRCxRQURJRSxFQUFNZCxJQUFPLE1BQU1ZLEVBQUksT0FBUyxDQUFDLEVBQUdHLEVBQVMsRUFDeENDLEVBQUksRUFBR0EsRUFBSUosRUFBSSxPQUFRSSxJQUFLLENBQ2pDLElBQUlDLEVBQVdMLEVBQUksV0FBV0ksQ0FBQyxFQUczQkMsRUFBVyxJQUNYSCxFQUFJQyxHQUFRLEVBQUlFLEVBQ1hBLEVBQVcsTUFDaEJILEVBQUlDLEdBQVEsRUFBSSxLQUFRRSxJQUFhLEdBQ3JDSCxFQUFJQyxHQUFRLEVBQUksS0FBUUUsRUFBVyxNQUduQ0gsRUFBSUMsR0FBUSxFQUFJLEtBQVFFLElBQWEsSUFDckNILEVBQUlDLEdBQVEsRUFBSSxLQUFTRSxJQUFhLEVBQUssSUFDM0NILEVBQUlDLEdBQVEsRUFBSSxLQUFRRSxFQUFXLElBRTNDLENBQ0EsT0FBT0gsRUFBSSxNQUFNLEVBQUdDLENBQU0sQ0FDOUIsRUFFQVYsSUFBcUIsVUFBVSxJQUFNLFVBQVcsQ0FDaEQsRUFLQSxTQUFTQyxJQUFxQkksRUFBU0MsRUFBTyxDQUMxQyxLQUFLLElBQU0sRUFDWCxLQUFLLFVBQVksRUFDakIsS0FBSyxTQUFXLEVBQ2hCLEtBQUssbUJBQXFCQSxFQUFNLGtCQUNwQyxDQUVBTCxJQUFxQixVQUFVLE1BQVEsU0FBU1EsRUFBSyxDQUdqRCxRQUZJSSxFQUFNLEtBQUssSUFBS0MsRUFBWSxLQUFLLFVBQVdDLEVBQVcsS0FBSyxTQUM1REMsRUFBTSxHQUNETCxFQUFJLEVBQUdBLEVBQUlGLEVBQUksT0FBUUUsSUFBSyxDQUNqQyxJQUFJTSxFQUFVUixFQUFJRSxDQUFDLEdBQ2RNLEVBQVUsT0FBVSxLQUNqQkgsRUFBWSxJQUNaRSxHQUFPLEtBQUssbUJBQ1pGLEVBQVksR0FHWkcsRUFBVSxJQUNWRCxHQUFPLE9BQU8sYUFBYUMsQ0FBTyxFQUMzQkEsRUFBVSxLQUNqQkosRUFBTUksRUFBVSxHQUNoQkgsRUFBWSxFQUFHQyxFQUFXLEdBQ25CRSxFQUFVLEtBQ2pCSixFQUFNSSxFQUFVLEdBQ2hCSCxFQUFZLEVBQUdDLEVBQVcsR0FFMUJDLEdBQU8sS0FBSyxvQkFHWkYsRUFBWSxHQUNaRCxFQUFPQSxHQUFPLEVBQU1JLEVBQVUsR0FDOUJILElBQWFDLElBQ1RELElBQWMsSUFFVkMsSUFBYSxHQUFLRixFQUFNLEtBQVFBLEVBQU0sRUFDdENHLEdBQU8sS0FBSyxtQkFDUEQsSUFBYSxHQUFLRixFQUFNLEtBQzdCRyxHQUFPLEtBQUssbUJBR1pBLEdBQU8sT0FBTyxhQUFhSCxDQUFHLElBR3RDRyxHQUFPLEtBQUssa0JBR3hCLENBQ0EsWUFBSyxJQUFNSCxFQUFLLEtBQUssVUFBWUMsRUFBVyxLQUFLLFNBQVdDLEVBQ3JEQyxDQUNYLEVBRUFmLElBQXFCLFVBQVUsSUFBTSxVQUFXLENBQzVDLElBQUllLEVBQU0sRUFDVixPQUFJLEtBQUssVUFBWSxJQUNqQkEsR0FBTyxLQUFLLG9CQUNUQSxDQUNYLElDM0xBLElBQUFFLElBQUFDLEdBQUFDLEtBQUEsY0FDQSxJQUFJQyxJQUFTLEtBQXdCLE9BTXJDRCxJQUFRLFFBQVVFLElBQ2xCLFNBQVNBLEtBQWUsQ0FDeEIsQ0FFQUEsSUFBYSxVQUFVLFFBQVVDLElBQ2pDRCxJQUFhLFVBQVUsUUFBVUUsSUFDakNGLElBQWEsVUFBVSxTQUFXLEdBS2xDLFNBQVNDLEtBQWlCLENBQzFCLENBRUFBLElBQWUsVUFBVSxNQUFRLFNBQVNFLEVBQUssQ0FFM0MsUUFESUMsRUFBTUwsSUFBTyxLQUFLSSxFQUFLLE1BQU0sRUFDeEJFLEVBQUksRUFBR0EsRUFBSUQsRUFBSSxPQUFRQyxHQUFLLEVBQUcsQ0FDcEMsSUFBSUMsRUFBTUYsRUFBSUMsQ0FBQyxFQUFHRCxFQUFJQyxDQUFDLEVBQUlELEVBQUlDLEVBQUUsQ0FBQyxFQUFHRCxFQUFJQyxFQUFFLENBQUMsRUFBSUMsQ0FDcEQsQ0FDQSxPQUFPRixDQUNYLEVBRUFILElBQWUsVUFBVSxJQUFNLFVBQVcsQ0FDMUMsRUFLQSxTQUFTQyxLQUFpQixDQUN0QixLQUFLLGFBQWUsRUFDeEIsQ0FFQUEsSUFBZSxVQUFVLE1BQVEsU0FBU0UsRUFBSyxDQUMzQyxHQUFJQSxFQUFJLFFBQVUsRUFDZCxNQUFPLEdBRVgsSUFBSUcsRUFBT1IsSUFBTyxNQUFNSyxFQUFJLE9BQVMsQ0FBQyxFQUNsQ0MsRUFBSSxFQUFHRyxFQUFJLEVBUWYsSUFOSSxLQUFLLGVBQWlCLEtBQ3RCRCxFQUFLLENBQUMsRUFBSUgsRUFBSSxDQUFDLEVBQ2ZHLEVBQUssQ0FBQyxFQUFJLEtBQUssYUFDZkYsRUFBSSxFQUFHRyxFQUFJLEdBR1JILEVBQUlELEVBQUksT0FBTyxFQUFHQyxHQUFLLEVBQUdHLEdBQUksRUFDakNELEVBQUtDLENBQUMsRUFBSUosRUFBSUMsRUFBRSxDQUFDLEVBQ2pCRSxFQUFLQyxFQUFFLENBQUMsRUFBSUosRUFBSUMsQ0FBQyxFQUdyQixZQUFLLGFBQWdCQSxHQUFLRCxFQUFJLE9BQU8sRUFBS0EsRUFBSUEsRUFBSSxPQUFPLENBQUMsRUFBSSxHQUV2REcsRUFBSyxNQUFNLEVBQUdDLENBQUMsRUFBRSxTQUFTLE1BQU0sQ0FDM0MsRUFFQU4sSUFBZSxVQUFVLElBQU0sVUFBVyxDQUMxQyxFQVdBSixJQUFRLE1BQVFXLElBQ2hCLFNBQVNBLElBQVdDLEVBQWNDLEVBQU8sQ0FDckMsS0FBSyxNQUFRQSxDQUNqQixDQUVBRixJQUFXLFVBQVUsUUFBVUcsSUFDL0JILElBQVcsVUFBVSxRQUFVSSxJQUsvQixTQUFTRCxJQUFhRSxFQUFTQyxFQUFPLENBQ2xDRCxFQUFVQSxHQUFXLENBQUMsRUFDbEJBLEVBQVEsU0FBVyxTQUNuQkEsRUFBUSxPQUFTLElBQ3JCLEtBQUssUUFBVUMsRUFBTSxNQUFNLFdBQVcsV0FBWUQsQ0FBTyxDQUM3RCxDQUVBRixJQUFhLFVBQVUsTUFBUSxTQUFTVCxFQUFLLENBQ3pDLE9BQU8sS0FBSyxRQUFRLE1BQU1BLENBQUcsQ0FDakMsRUFFQVMsSUFBYSxVQUFVLElBQU0sVUFBVyxDQUNwQyxPQUFPLEtBQUssUUFBUSxJQUFJLENBQzVCLEVBS0EsU0FBU0MsSUFBYUMsRUFBU0MsRUFBTyxDQUNsQyxLQUFLLFFBQVUsS0FDZixLQUFLLGFBQWUsQ0FBQyxFQUNyQixLQUFLLGdCQUFrQixFQUV2QixLQUFLLFFBQVVELEdBQVcsQ0FBQyxFQUMzQixLQUFLLE1BQVFDLEVBQU0sS0FDdkIsQ0FFQUYsSUFBYSxVQUFVLE1BQVEsU0FBU1QsRUFBSyxDQUN6QyxHQUFJLENBQUMsS0FBSyxRQUFTLENBS2YsR0FIQSxLQUFLLGFBQWEsS0FBS0EsQ0FBRyxFQUMxQixLQUFLLGlCQUFtQkEsRUFBSSxPQUV4QixLQUFLLGdCQUFrQixHQUN2QixNQUFPLEdBR1gsSUFBSUEsRUFBTUwsSUFBTyxPQUFPLEtBQUssWUFBWSxFQUNyQ2lCLEVBQVdDLElBQWViLEVBQUssS0FBSyxRQUFRLGVBQWUsRUFDL0QsS0FBSyxRQUFVLEtBQUssTUFBTSxXQUFXWSxFQUFVLEtBQUssT0FBTyxFQUMzRCxLQUFLLGFBQWEsT0FBUyxLQUFLLGdCQUFrQixDQUN0RCxDQUVBLE9BQU8sS0FBSyxRQUFRLE1BQU1aLENBQUcsQ0FDakMsRUFFQVMsSUFBYSxVQUFVLElBQU0sVUFBVyxDQUNwQyxHQUFJLENBQUMsS0FBSyxRQUFTLENBQ2YsSUFBSVQsRUFBTUwsSUFBTyxPQUFPLEtBQUssWUFBWSxFQUNyQ2lCLEVBQVdDLElBQWViLEVBQUssS0FBSyxRQUFRLGVBQWUsRUFDL0QsS0FBSyxRQUFVLEtBQUssTUFBTSxXQUFXWSxFQUFVLEtBQUssT0FBTyxFQUUzRCxJQUFJRSxFQUFNLEtBQUssUUFBUSxNQUFNZCxDQUFHLEVBQzVCZSxFQUFRLEtBQUssUUFBUSxJQUFJLEVBRTdCLE9BQU9BLEVBQVNELEVBQU1DLEVBQVNELENBQ25DLENBQ0EsT0FBTyxLQUFLLFFBQVEsSUFBSSxDQUM1QixFQUVBLFNBQVNELElBQWViLEVBQUtnQixFQUFpQixDQUMxQyxJQUFJQyxFQUFNRCxHQUFtQixXQUU3QixHQUFJaEIsRUFBSSxRQUFVLEVBRWQsR0FBSUEsRUFBSSxDQUFDLEdBQUssS0FBUUEsRUFBSSxDQUFDLEdBQUssSUFDNUJpQixFQUFNLG1CQUNEakIsRUFBSSxDQUFDLEdBQUssS0FBUUEsRUFBSSxDQUFDLEdBQUssSUFDakNpQixFQUFNLGVBQ0wsQ0FPRCxRQUhJQyxFQUFlLEVBQUdDLEVBQWUsRUFDakNDLEVBQU8sS0FBSyxJQUFJcEIsRUFBSSxPQUFVQSxFQUFJLE9BQVMsRUFBSSxFQUFFLEVBRTVDQyxFQUFJLEVBQUdBLEVBQUltQixFQUFNbkIsR0FBSyxFQUN2QkQsRUFBSUMsQ0FBQyxJQUFNLEdBQUtELEVBQUlDLEVBQUUsQ0FBQyxJQUFNLEdBQUdrQixJQUNoQ25CLEVBQUlDLENBQUMsSUFBTSxHQUFLRCxFQUFJQyxFQUFFLENBQUMsSUFBTSxHQUFHaUIsSUFHcENDLEVBQWVELEVBQ2ZELEVBQU0sV0FDREUsRUFBZUQsSUFDcEJELEVBQU0sV0FDZCxDQUdKLE9BQU9BLENBQ1gsSUM5S0EsSUFBQUksSUFBQUMsR0FBQUMsS0FBQSxjQUNBLElBQUlDLEdBQVMsS0FBd0IsT0FLckNELElBQVEsS0FBT0UsSUFDZkYsSUFBUSxjQUFnQixPQUN4QixTQUFTRSxJQUFVQyxFQUFjQyxFQUFPLENBQ3BDLEtBQUssTUFBUUEsQ0FDakIsQ0FFQUYsSUFBVSxVQUFVLFFBQVVHLElBQzlCSCxJQUFVLFVBQVUsUUFBVUksSUFDOUJKLElBQVUsVUFBVSxTQUFXLEdBSy9CLElBQUlLLElBQWlCLHNDQUVyQixTQUFTRixJQUFZRyxFQUFTQyxFQUFPLENBQ2pDLEtBQUssTUFBUUEsRUFBTSxLQUN2QixDQUVBSixJQUFZLFVBQVUsTUFBUSxTQUFTSyxFQUFLLENBR3hDLE9BQU9ULEdBQU8sS0FBS1MsRUFBSSxRQUFRSCxJQUFnQixTQUFTSSxFQUFPLENBQzNELE1BQU8sS0FBT0EsSUFBVSxJQUFNLEdBQzFCLEtBQUssTUFBTSxPQUFPQSxFQUFPLFVBQVUsRUFBRSxTQUFTLFFBQVEsRUFBRSxRQUFRLE1BQU8sRUFBRSxHQUN2RSxHQUNWLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUNqQixFQUVBTixJQUFZLFVBQVUsSUFBTSxVQUFXLENBQ3ZDLEVBS0EsU0FBU0MsSUFBWUUsRUFBU0MsRUFBTyxDQUNqQyxLQUFLLE1BQVFBLEVBQU0sTUFDbkIsS0FBSyxTQUFXLEdBQ2hCLEtBQUssWUFBYyxFQUN2QixDQUVBLElBQUlHLElBQWMsaUJBQ2RDLElBQWMsQ0FBQyxFQUNuQixJQUFTQyxJQUFJLEVBQUdBLElBQUksSUFBS0EsTUFDckJELElBQVlDLEdBQUMsRUFBSUYsSUFBWSxLQUFLLE9BQU8sYUFBYUUsR0FBQyxDQUFDLEVBRG5ELElBQUFBLElBR0xDLElBQVcsR0FDWEMsR0FBWSxHQUNaQyxJQUFVLEdBRWRYLElBQVksVUFBVSxNQUFRLFNBQVNZLEVBQUssQ0FPeEMsUUFOSUMsRUFBTSxHQUFJQyxFQUFRLEVBQ2xCQyxFQUFXLEtBQUssU0FDaEJDLEVBQWMsS0FBSyxZQUlkUixFQUFJLEVBQUdBLEVBQUlJLEVBQUksT0FBUUosSUFDNUIsR0FBSSxDQUFDTyxFQUVHSCxFQUFJSixDQUFDLEdBQUtDLE1BQ1ZJLEdBQU8sS0FBSyxNQUFNLE9BQU9ELEVBQUksTUFBTUUsRUFBT04sQ0FBQyxFQUFHLE9BQU8sRUFDckRNLEVBQVFOLEVBQUUsRUFDVk8sRUFBVyxZQUdYLENBQUNSLElBQVlLLEVBQUlKLENBQUMsQ0FBQyxFQUFHLENBQ3RCLEdBQUlBLEdBQUtNLEdBQVNGLEVBQUlKLENBQUMsR0FBS0UsR0FDeEJHLEdBQU8sUUFDSixDQUNILElBQUlJLEVBQVNELEVBQWNKLEVBQUksTUFBTUUsRUFBT04sQ0FBQyxFQUFFLFNBQVMsRUFDeERLLEdBQU8sS0FBSyxNQUFNLE9BQU9sQixHQUFPLEtBQUtzQixFQUFRLFFBQVEsRUFBRyxVQUFVLENBQ3RFLENBRUlMLEVBQUlKLENBQUMsR0FBS0UsSUFDVkYsSUFFSk0sRUFBUU4sRUFBRSxFQUNWTyxFQUFXLEdBQ1hDLEVBQWMsRUFDbEIsQ0FJUixHQUFJLENBQUNELEVBQ0RGLEdBQU8sS0FBSyxNQUFNLE9BQU9ELEVBQUksTUFBTUUsQ0FBSyxFQUFHLE9BQU8sTUFDL0MsQ0FDSCxJQUFJRyxFQUFTRCxFQUFjSixFQUFJLE1BQU1FLENBQUssRUFBRSxTQUFTLEVBRWpESSxFQUFlRCxFQUFPLE9BQVVBLEVBQU8sT0FBUyxFQUNwREQsRUFBY0MsRUFBTyxNQUFNQyxDQUFZLEVBQ3ZDRCxFQUFTQSxFQUFPLE1BQU0sRUFBR0MsQ0FBWSxFQUVyQ0wsR0FBTyxLQUFLLE1BQU0sT0FBT2xCLEdBQU8sS0FBS3NCLEVBQVEsUUFBUSxFQUFHLFVBQVUsQ0FDdEUsQ0FFQSxZQUFLLFNBQVdGLEVBQ2hCLEtBQUssWUFBY0MsRUFFWkgsQ0FDWCxFQUVBYixJQUFZLFVBQVUsSUFBTSxVQUFXLENBQ25DLElBQUlhLEVBQU0sR0FDVixPQUFJLEtBQUssVUFBWSxLQUFLLFlBQVksT0FBUyxJQUMzQ0EsRUFBTSxLQUFLLE1BQU0sT0FBT2xCLEdBQU8sS0FBSyxLQUFLLFlBQWEsUUFBUSxFQUFHLFVBQVUsR0FFL0UsS0FBSyxTQUFXLEdBQ2hCLEtBQUssWUFBYyxHQUNaa0IsQ0FDWCxFQWVBbkIsSUFBUSxTQUFXeUIsSUFDbkIsU0FBU0EsSUFBY3RCLEVBQWNDLEVBQU8sQ0FDeEMsS0FBSyxNQUFRQSxDQUNqQixDQUVBcUIsSUFBYyxVQUFVLFFBQVVDLElBQ2xDRCxJQUFjLFVBQVUsUUFBVUUsSUFDbENGLElBQWMsVUFBVSxTQUFXLEdBS25DLFNBQVNDLElBQWdCbEIsRUFBU0MsRUFBTyxDQUNyQyxLQUFLLE1BQVFBLEVBQU0sTUFDbkIsS0FBSyxTQUFXLEdBQ2hCLEtBQUssWUFBY1IsR0FBTyxNQUFNLENBQUMsRUFDakMsS0FBSyxlQUFpQixDQUMxQixDQUVBeUIsSUFBZ0IsVUFBVSxNQUFRLFNBQVNoQixFQUFLLENBTTVDLFFBTElXLEVBQVcsS0FBSyxTQUNoQkMsRUFBYyxLQUFLLFlBQ25CTSxFQUFpQixLQUFLLGVBQ3RCVixFQUFNakIsR0FBTyxNQUFNUyxFQUFJLE9BQU8sRUFBSSxFQUFFLEVBQUdtQixFQUFTLEVBRTNDZixFQUFJLEVBQUdBLEVBQUlKLEVBQUksT0FBUUksSUFBSyxDQUNqQyxJQUFJZ0IsRUFBUXBCLEVBQUksV0FBV0ksQ0FBQyxFQUN4QixJQUFRZ0IsR0FBU0EsR0FBUyxLQUN0QlQsSUFDSU8sRUFBaUIsSUFDakJDLEdBQVVYLEVBQUksTUFBTUksRUFBWSxNQUFNLEVBQUdNLENBQWMsRUFBRSxTQUFTLFFBQVEsRUFBRSxRQUFRLE1BQU8sR0FBRyxFQUFFLFFBQVEsTUFBTyxFQUFFLEVBQUdDLENBQU0sRUFDMUhELEVBQWlCLEdBR3JCVixFQUFJVyxHQUFRLEVBQUliLEdBQ2hCSyxFQUFXLElBR1ZBLElBQ0RILEVBQUlXLEdBQVEsRUFBSUMsRUFFWkEsSUFBVWIsTUFDVkMsRUFBSVcsR0FBUSxFQUFJYixPQUluQkssSUFDREgsRUFBSVcsR0FBUSxFQUFJWixJQUNoQkksRUFBVyxJQUVYQSxJQUNBQyxFQUFZTSxHQUFnQixFQUFJRSxHQUFTLEVBQ3pDUixFQUFZTSxHQUFnQixFQUFJRSxFQUFRLElBRXBDRixHQUFrQk4sRUFBWSxTQUM5Qk8sR0FBVVgsRUFBSSxNQUFNSSxFQUFZLFNBQVMsUUFBUSxFQUFFLFFBQVEsTUFBTyxHQUFHLEVBQUdPLENBQU0sRUFDOUVELEVBQWlCLElBSWpDLENBRUEsWUFBSyxTQUFXUCxFQUNoQixLQUFLLGVBQWlCTyxFQUVmVixFQUFJLE1BQU0sRUFBR1csQ0FBTSxDQUM5QixFQUVBSCxJQUFnQixVQUFVLElBQU0sVUFBVyxDQUN2QyxJQUFJUixFQUFNakIsR0FBTyxNQUFNLEVBQUUsRUFBRzRCLEVBQVMsRUFDckMsT0FBSSxLQUFLLFdBQ0QsS0FBSyxlQUFpQixJQUN0QkEsR0FBVVgsRUFBSSxNQUFNLEtBQUssWUFBWSxNQUFNLEVBQUcsS0FBSyxjQUFjLEVBQUUsU0FBUyxRQUFRLEVBQUUsUUFBUSxNQUFPLEdBQUcsRUFBRSxRQUFRLE1BQU8sRUFBRSxFQUFHVyxDQUFNLEVBQ3BJLEtBQUssZUFBaUIsR0FHMUJYLEVBQUlXLEdBQVEsRUFBSWIsR0FDaEIsS0FBSyxTQUFXLElBR2JFLEVBQUksTUFBTSxFQUFHVyxDQUFNLENBQzlCLEVBS0EsU0FBU0YsSUFBZ0JuQixFQUFTQyxFQUFPLENBQ3JDLEtBQUssTUFBUUEsRUFBTSxNQUNuQixLQUFLLFNBQVcsR0FDaEIsS0FBSyxZQUFjLEVBQ3ZCLENBRUEsSUFBSXNCLElBQWtCbEIsSUFBWSxNQUFNLEVBQ3hDa0IsSUFBZ0IsRUFBaUIsRUFBSSxHQUVyQ0osSUFBZ0IsVUFBVSxNQUFRLFNBQVNULEVBQUssQ0FRNUMsUUFQSUMsRUFBTSxHQUFJQyxFQUFRLEVBQ2xCQyxFQUFXLEtBQUssU0FDaEJDLEVBQWMsS0FBSyxZQUtkUixFQUFJLEVBQUdBLEVBQUlJLEVBQUksT0FBUUosSUFDNUIsR0FBSSxDQUFDTyxFQUVHSCxFQUFJSixDQUFDLEdBQUtHLE1BQ1ZFLEdBQU8sS0FBSyxNQUFNLE9BQU9ELEVBQUksTUFBTUUsRUFBT04sQ0FBQyxFQUFHLE9BQU8sRUFDckRNLEVBQVFOLEVBQUUsRUFDVk8sRUFBVyxZQUdYLENBQUNVLElBQWdCYixFQUFJSixDQUFDLENBQUMsRUFBRyxDQUMxQixHQUFJQSxHQUFLTSxHQUFTRixFQUFJSixDQUFDLEdBQUtFLEdBQ3hCRyxHQUFPLFFBQ0osQ0FDSCxJQUFJSSxFQUFTRCxFQUFjSixFQUFJLE1BQU1FLEVBQU9OLENBQUMsRUFBRSxTQUFTLEVBQUUsUUFBUSxLQUFNLEdBQUcsRUFDM0VLLEdBQU8sS0FBSyxNQUFNLE9BQU9sQixHQUFPLEtBQUtzQixFQUFRLFFBQVEsRUFBRyxVQUFVLENBQ3RFLENBRUlMLEVBQUlKLENBQUMsR0FBS0UsSUFDVkYsSUFFSk0sRUFBUU4sRUFBRSxFQUNWTyxFQUFXLEdBQ1hDLEVBQWMsRUFDbEIsQ0FJUixHQUFJLENBQUNELEVBQ0RGLEdBQU8sS0FBSyxNQUFNLE9BQU9ELEVBQUksTUFBTUUsQ0FBSyxFQUFHLE9BQU8sTUFDL0MsQ0FDSCxJQUFJRyxFQUFTRCxFQUFjSixFQUFJLE1BQU1FLENBQUssRUFBRSxTQUFTLEVBQUUsUUFBUSxLQUFNLEdBQUcsRUFFcEVJLEVBQWVELEVBQU8sT0FBVUEsRUFBTyxPQUFTLEVBQ3BERCxFQUFjQyxFQUFPLE1BQU1DLENBQVksRUFDdkNELEVBQVNBLEVBQU8sTUFBTSxFQUFHQyxDQUFZLEVBRXJDTCxHQUFPLEtBQUssTUFBTSxPQUFPbEIsR0FBTyxLQUFLc0IsRUFBUSxRQUFRLEVBQUcsVUFBVSxDQUN0RSxDQUVBLFlBQUssU0FBV0YsRUFDaEIsS0FBSyxZQUFjQyxFQUVaSCxDQUNYLEVBRUFRLElBQWdCLFVBQVUsSUFBTSxVQUFXLENBQ3ZDLElBQUlSLEVBQU0sR0FDVixPQUFJLEtBQUssVUFBWSxLQUFLLFlBQVksT0FBUyxJQUMzQ0EsRUFBTSxLQUFLLE1BQU0sT0FBT2xCLEdBQU8sS0FBSyxLQUFLLFlBQWEsUUFBUSxFQUFHLFVBQVUsR0FFL0UsS0FBSyxTQUFXLEdBQ2hCLEtBQUssWUFBYyxHQUNaa0IsQ0FDWCxJQy9SQSxJQUFBYSxJQUFBQyxHQUFBQyxLQUFBLGNBQ0EsSUFBSUMsSUFBUyxLQUF3QixPQUtyQ0QsSUFBUSxNQUFRRSxJQUNoQixTQUFTQSxJQUFVQyxFQUFjQyxFQUFPLENBQ3BDLEdBQUksQ0FBQ0QsRUFDRCxNQUFNLElBQUksTUFBTSx3Q0FBd0MsRUFHNUQsR0FBSSxDQUFDQSxFQUFhLE9BQVVBLEVBQWEsTUFBTSxTQUFXLEtBQU9BLEVBQWEsTUFBTSxTQUFXLElBQzNGLE1BQU0sSUFBSSxNQUFNLGFBQWFBLEVBQWEsS0FBSyxxREFBcUQsRUFFeEcsR0FBSUEsRUFBYSxNQUFNLFNBQVcsSUFBSyxDQUVuQyxRQURJRSxFQUFjLEdBQ1RDLEVBQUksRUFBR0EsRUFBSSxJQUFLQSxJQUNyQkQsR0FBZSxPQUFPLGFBQWFDLENBQUMsRUFDeENILEVBQWEsTUFBUUUsRUFBY0YsRUFBYSxLQUNwRCxDQUVBLEtBQUssVUFBWUYsSUFBTyxLQUFLRSxFQUFhLE1BQU8sTUFBTSxFQUt2RCxRQUZJSSxFQUFZTixJQUFPLE1BQU0sTUFBT0csRUFBTSxzQkFBc0IsV0FBVyxDQUFDLENBQUMsRUFFcEVFLEVBQUksRUFBR0EsRUFBSUgsRUFBYSxNQUFNLE9BQVFHLElBQzNDQyxFQUFVSixFQUFhLE1BQU0sV0FBV0csQ0FBQyxDQUFDLEVBQUlBLEVBRWxELEtBQUssVUFBWUMsQ0FDckIsQ0FFQUwsSUFBVSxVQUFVLFFBQVVNLElBQzlCTixJQUFVLFVBQVUsUUFBVU8sSUFHOUIsU0FBU0QsSUFBWUUsRUFBU0MsRUFBTyxDQUNqQyxLQUFLLFVBQVlBLEVBQU0sU0FDM0IsQ0FFQUgsSUFBWSxVQUFVLE1BQVEsU0FBU0ksRUFBSyxDQUV4QyxRQURJQyxFQUFNWixJQUFPLE1BQU1XLEVBQUksTUFBTSxFQUN4Qk4sRUFBSSxFQUFHQSxFQUFJTSxFQUFJLE9BQVFOLElBQzVCTyxFQUFJUCxDQUFDLEVBQUksS0FBSyxVQUFVTSxFQUFJLFdBQVdOLENBQUMsQ0FBQyxFQUU3QyxPQUFPTyxDQUNYLEVBRUFMLElBQVksVUFBVSxJQUFNLFVBQVcsQ0FDdkMsRUFHQSxTQUFTQyxJQUFZQyxFQUFTQyxFQUFPLENBQ2pDLEtBQUssVUFBWUEsRUFBTSxTQUMzQixDQUVBRixJQUFZLFVBQVUsTUFBUSxTQUFTSSxFQUFLLENBS3hDLFFBSElDLEVBQVksS0FBSyxVQUNqQkMsRUFBU2QsSUFBTyxNQUFNWSxFQUFJLE9BQU8sQ0FBQyxFQUNsQ0csRUFBTyxFQUFHQyxFQUFPLEVBQ1pYLEVBQUksRUFBR0EsRUFBSU8sRUFBSSxPQUFRUCxJQUM1QlUsRUFBT0gsRUFBSVAsQ0FBQyxFQUFFLEVBQUdXLEVBQU9YLEVBQUUsRUFDMUJTLEVBQU9FLENBQUksRUFBSUgsRUFBVUUsQ0FBSSxFQUM3QkQsRUFBT0UsRUFBSyxDQUFDLEVBQUlILEVBQVVFLEVBQUssQ0FBQyxFQUVyQyxPQUFPRCxFQUFPLFNBQVMsTUFBTSxDQUNqQyxFQUVBTixJQUFZLFVBQVUsSUFBTSxVQUFXLENBQ3ZDLElDdkVBLElBQUFTLElBQUFDLEdBQUEsQ0FBQUMsSUFBQUMsTUFBQSxjQUlBQSxJQUFPLFFBQVUsQ0FFYixNQUFTLGNBQ1QsWUFBZSxDQUNYLEtBQVEsUUFDUixNQUFTLDRyQkFDYixFQUVBLElBQU8sUUFDUCxPQUFVLFFBQ1YsTUFBUyxDQUNMLEtBQVEsUUFDUixNQUFTLDR2QkFDYixFQUVBLElBQU8sQ0FDSCxLQUFRLFFBQ1IsTUFBUyxndkJBQ2IsRUFHQSxVQUFhLFFBQ2IsUUFBVyxRQUNYLFFBQVcsUUFDWCxZQUFlLFFBQ2YsWUFBZSxRQUNmLFFBQVcsUUFDWCxNQUFTLFFBQ1QsT0FBVSxRQUNWLE9BQVUsUUFDVixTQUFZLFFBQ1osVUFBYSxRQUNiLEdBQU0sUUFFTixPQUFVLFdBQ1YsT0FBVSxXQUNWLE9BQVUsV0FDVixPQUFVLFdBQ1YsT0FBVSxXQUNWLE9BQVUsWUFDVixPQUFVLFlBQ1YsT0FBVSxZQUNWLE9BQVUsWUFDVixRQUFXLFlBRVgsWUFBZSxXQUNmLFlBQWUsV0FDZixZQUFlLFdBQ2YsWUFBZSxXQUNmLG1CQUFzQixXQUN0QixpQkFBb0IsV0FDcEIsZ0JBQW9CLFdBQ3BCLGlCQUFvQixXQUNwQixZQUFlLFdBQ2YsWUFBZSxZQUVmLEdBQU0sV0FDTixHQUFNLFdBQ04sR0FBTSxXQUNOLEdBQU0sV0FDTixHQUFNLFdBQ04sR0FBTSxZQUNOLEdBQU0sWUFDTixHQUFNLFlBQ04sR0FBTSxZQUNOLElBQU8sWUFFUCxRQUFXLFdBQ1gsUUFBVyxXQUNYLFNBQVksV0FDWixTQUFZLFdBQ1osU0FBWSxXQUNaLFNBQVksV0FDWixTQUFZLFdBQ1osU0FBWSxXQUNaLFNBQVksV0FDWixTQUFZLFdBQ1osU0FBWSxXQUNaLFNBQVksWUFDWixTQUFZLFNBQ1osU0FBWSxZQUNaLFNBQVksWUFDWixTQUFZLFlBQ1osU0FBWSxZQUVaLE1BQVMsV0FDVCxPQUFVLFdBRVYsU0FBWSxXQUVaLE9BQVUsV0FDVixRQUFXLFdBQ1gsUUFBVyxXQUNYLFFBQVcsV0FFWCxNQUFVLFdBQ1YsT0FBVyxXQUNYLFFBQVksV0FDWixRQUFZLFdBRVosT0FBVSxXQUNWLFFBQVcsV0FFWCxRQUFXLFdBQ1gsU0FBWSxXQUVaLEtBQVEsWUFDUixNQUFTLFlBRVQsT0FBVSxZQUNWLFFBQVcsWUFDWCxVQUFhLFlBRWIsUUFBVyxTQUNYLFlBQWUsU0FDZixZQUFlLFNBRWYsSUFBUyxXQUNULE1BQVMsV0FDVCxNQUFTLGNBQ1QsTUFBUyxhQUNULE1BQVMsYUFFVCxpQkFBb0IsUUFDcEIsY0FBaUIsUUFDakIsb0JBQXVCLFFBQ3ZCLFNBQVksUUFDWixtQkFBc0IsUUFDdEIsS0FBUSxRQUVSLEtBQVEsU0FDUixPQUFVLFNBQ1YsT0FBVSxTQUNWLFFBQVcsU0FDWCxPQUFVLFNBQ1YsT0FBVSxTQUNWLE9BQVUsU0FDVixXQUFjLFNBRWQsUUFBVyxRQUNYLE1BQVMsUUFDVCxPQUFVLFFBQ1YsUUFBVyxRQUVYLFFBQVcsUUFDWCxNQUFTLFFBQ1QsUUFBVyxRQUVYLGFBQWdCLFNBRWhCLFNBQVksT0FDWixVQUFhLE9BRWIsU0FBWSxXQUNaLEdBQU0sV0FFTixrQkFBcUIsV0FDckIsZUFBa0IsV0FDbEIsR0FBTSxXQUVOLFdBQWMsV0FDZCxHQUFNLFdBQ04sT0FBVSxXQUNWLFFBQVcsV0FDWCxRQUFXLFdBRVgsSUFBTyxZQUNQLFlBQWUsV0FDbkIsSUM1S0EsSUFBQUMsSUFBQUMsR0FBQSxDQUFBQyxJQUFBQyxNQUFBLGNBR0FBLElBQU8sUUFBVSxDQUNmLElBQU8sUUFDUCxJQUFPLFFBQ1AsSUFBTyxRQUNQLElBQU8sUUFDUCxJQUFPLFFBQ1AsSUFBTyxRQUNQLElBQU8sUUFDUCxJQUFPLFFBQ1AsSUFBTyxRQUNQLElBQU8sUUFDUCxJQUFPLFFBQ1AsSUFBTyxRQUNQLElBQU8sUUFDUCxJQUFPLFFBQ1AsSUFBTyxRQUNQLElBQU8sUUFDUCxJQUFPLFFBQ1AsSUFBTyxhQUNQLElBQU8sUUFDUCxLQUFRLFNBQ1IsS0FBUSxTQUNSLEtBQVEsU0FDUixLQUFRLFNBQ1IsS0FBUSxTQUNSLEtBQVEsU0FDUixLQUFRLFNBQ1IsS0FBUSxTQUNSLEtBQVEsY0FDUixLQUFRLGNBQ1IsS0FBUSxjQUNSLEtBQVEsY0FDUixLQUFRLGNBQ1IsS0FBUSxjQUNSLEtBQVEsY0FDUixLQUFRLGNBQ1IsS0FBUSxjQUNSLE1BQVMsV0FDVCxNQUFTLFdBQ1QsTUFBUyxXQUNULE1BQVMsV0FDVCxNQUFTLFdBQ1QsTUFBUyxXQUNULE1BQVMsV0FDVCxNQUFTLFdBQ1QsTUFBUyxXQUNULE1BQVMsWUFDVCxNQUFTLFlBQ1QsTUFBUyxZQUNULE1BQVMsWUFDVCxNQUFTLFlBQ1QsTUFBUyxZQUNULFdBQWMsQ0FDWixLQUFRLFFBQ1IsTUFBUyxnd0JBQ1gsRUFDQSxPQUFVLGFBQ1YsTUFBUyxhQUNULFlBQWUsQ0FDYixLQUFRLFFBQ1IsTUFBUyxncUJBQ1gsRUFDQSxRQUFXLGNBQ1gsT0FBVSxjQUNWLFlBQWUsQ0FDYixLQUFRLFFBQ1IsTUFBUyxvdUJBQ1gsRUFDQSxRQUFXLGNBQ1gsT0FBVSxjQUNWLFlBQWUsQ0FDYixLQUFRLFFBQ1IsTUFBUyxra0JBQ1gsRUFDQSxRQUFXLGNBQ1gsT0FBVSxjQUNWLFlBQWUsQ0FDYixLQUFRLFFBQ1IsTUFBUyx3dEJBQ1gsRUFDQSxRQUFXLGNBQ1gsT0FBVSxjQUNWLFlBQWUsQ0FDYixLQUFRLFFBQ1IsTUFBUyw4a0JBQ1gsRUFDQSxRQUFXLGNBQ1gsT0FBVSxjQUNWLFlBQWUsQ0FDYixLQUFRLFFBQ1IsTUFBUyxvc0JBQ1gsRUFDQSxRQUFXLGNBQ1gsT0FBVSxjQUNWLFlBQWUsQ0FDYixLQUFRLFFBQ1IsTUFBUyw0cUJBQ1gsRUFDQSxRQUFXLGNBQ1gsT0FBVSxjQUNWLFlBQWUsQ0FDYixLQUFRLFFBQ1IsTUFBUyxrcUJBQ1gsRUFDQSxRQUFXLGNBQ1gsT0FBVSxjQUNWLFlBQWUsQ0FDYixLQUFRLFFBQ1IsTUFBUyw4bEJBQ1gsRUFDQSxRQUFXLGNBQ1gsT0FBVSxjQUNWLFNBQVksQ0FDVixLQUFRLFFBQ1IsTUFBUyxrZ0JBQ1gsRUFDQSxRQUFXLFdBQ1gsU0FBWSxDQUNWLEtBQVEsUUFDUixNQUFTLG9uQkFDWCxFQUNBLFFBQVcsV0FDWCxTQUFZLENBQ1YsS0FBUSxRQUNSLE1BQVMsd2tCQUNYLEVBQ0EsUUFBVyxXQUNYLFNBQVksQ0FDVixLQUFRLFFBQ1IsTUFBUyxzbUJBQ1gsRUFDQSxRQUFXLFdBQ1gsU0FBWSxDQUNWLEtBQVEsUUFDUixNQUFTLDRyQkFDWCxFQUNBLFFBQVcsV0FDWCxTQUFZLENBQ1YsS0FBUSxRQUNSLE1BQVMsNHJCQUNYLEVBQ0EsUUFBVyxXQUNYLFNBQVksQ0FDVixLQUFRLFFBQ1IsTUFBUyxrcUJBQ1gsRUFDQSxRQUFXLFdBQ1gsU0FBWSxDQUNWLEtBQVEsUUFDUixNQUFTLHNvQkFDWCxFQUNBLFFBQVcsV0FDWCxTQUFZLENBQ1YsS0FBUSxRQUNSLE1BQVMsOGdCQUNYLEVBQ0EsUUFBVyxXQUNYLFVBQWEsQ0FDWCxLQUFRLFFBQ1IsTUFBUyw4bEJBQ1gsRUFDQSxRQUFXLFlBQ1gsVUFBYSxDQUNYLEtBQVEsUUFDUixNQUFTLGdzQkFDWCxFQUNBLFFBQVcsWUFDWCxVQUFhLENBQ1gsS0FBUSxRQUNSLE1BQVMsMG1CQUNYLEVBQ0EsUUFBVyxZQUNYLFVBQWEsQ0FDWCxLQUFRLFFBQ1IsTUFBUyxna0JBQ1gsRUFDQSxRQUFXLFlBQ1gsVUFBYSxDQUNYLEtBQVEsUUFDUixNQUFTLGtoQkFDWCxFQUNBLFFBQVcsWUFDWCxVQUFhLENBQ1gsS0FBUSxRQUNSLE1BQVMsa2xCQUNYLEVBQ0EsUUFBVyxZQUNYLE1BQVMsQ0FDUCxLQUFRLFFBQ1IsTUFBUyx3cEJBQ1gsRUFDQSxPQUFVLFFBQ1YsU0FBWSxRQUNaLE1BQVMsQ0FDUCxLQUFRLFFBQ1IsTUFBUyxzdkJBQ1gsRUFDQSxPQUFVLFFBQ1YsU0FBWSxRQUNaLE1BQVMsQ0FDUCxLQUFRLFFBQ1IsTUFBUywwcUJBQ1gsRUFDQSxPQUFVLFFBQ1YsU0FBWSxRQUNaLE1BQVMsQ0FDUCxLQUFRLFFBQ1IsTUFBUyxra0JBQ1gsRUFDQSxPQUFVLFFBQ1YsU0FBWSxRQUNaLE1BQVMsQ0FDUCxLQUFRLFFBQ1IsTUFBUyw4cUJBQ1gsRUFDQSxPQUFVLFFBQ1YsU0FBWSxRQUNaLE1BQVMsQ0FDUCxLQUFRLFFBQ1IsTUFBUyxzdkJBQ1gsRUFDQSxPQUFVLFFBQ1YsU0FBWSxRQUNaLE1BQVMsQ0FDUCxLQUFRLFFBQ1IsTUFBUyxzc0JBQ1gsRUFDQSxPQUFVLFFBQ1YsU0FBWSxRQUNaLE1BQVMsQ0FDUCxLQUFRLFFBQ1IsTUFBUyw4a0JBQ1gsRUFDQSxPQUFVLFFBQ1YsU0FBWSxRQUNaLE1BQVMsQ0FDUCxLQUFRLFFBQ1IsTUFBUyxra0JBQ1gsRUFDQSxPQUFVLFFBQ1YsU0FBWSxRQUNaLE1BQVMsQ0FDUCxLQUFRLFFBQ1IsTUFBUyxvcEJBQ1gsRUFDQSxPQUFVLFFBQ1YsU0FBWSxRQUNaLE1BQVMsQ0FDUCxLQUFRLFFBQ1IsTUFBUyx3cEJBQ1gsRUFDQSxPQUFVLFFBQ1YsU0FBWSxRQUNaLE1BQVMsQ0FDUCxLQUFRLFFBQ1IsTUFBUyw4c0JBQ1gsRUFDQSxPQUFVLFFBQ1YsU0FBWSxRQUNaLE1BQVMsQ0FDUCxLQUFRLFFBQ1IsTUFBUyx3cEJBQ1gsRUFDQSxPQUFVLFFBQ1YsU0FBWSxRQUNaLE1BQVMsQ0FDUCxLQUFRLFFBQ1IsTUFBUztBQUFBLHMyQkFDWCxFQUNBLE9BQVUsUUFDVixTQUFZLFFBQ1osTUFBUyxDQUNQLEtBQVEsUUFDUixNQUFTLHdwQkFDWCxFQUNBLE9BQVUsUUFDVixTQUFZLFFBQ1osTUFBUyxDQUNQLEtBQVEsUUFDUixNQUFTLDB2QkFDWCxFQUNBLE9BQVUsUUFDVixTQUFZLFFBQ1osTUFBUyxDQUNQLEtBQVEsUUFDUixNQUFTLGt1QkFDWCxFQUNBLE9BQVUsUUFDVixTQUFZLFFBQ1osTUFBUyxDQUNQLEtBQVEsUUFDUixNQUFTLDRnQkFDWCxFQUNBLE9BQVUsUUFDVixTQUFZLFFBQ1osT0FBVSxDQUNSLEtBQVEsUUFDUixNQUFTLHN2QkFDWCxFQUNBLFFBQVcsU0FDWCxVQUFhLFNBQ2IsT0FBVSxDQUNSLEtBQVEsUUFDUixNQUFTLDRyQkFDWCxFQUNBLFFBQVcsU0FDWCxVQUFhLFNBQ2IsT0FBVSxDQUNSLEtBQVEsUUFDUixNQUFTLDR2QkFDWCxFQUNBLFFBQVcsU0FDWCxVQUFhLFNBQ2IsT0FBVSxDQUNSLEtBQVEsUUFDUixNQUFTLG9pQkFDWCxFQUNBLFFBQVcsU0FDWCxVQUFhLFNBQ2IsT0FBVSxDQUNSLEtBQVEsUUFDUixNQUFTLDByQkFDWCxFQUNBLFFBQVcsU0FDWCxVQUFhLFNBQ2IsT0FBVSxDQUNSLEtBQVEsUUFDUixNQUFTLDB2QkFDWCxFQUNBLFFBQVcsU0FDWCxVQUFhLFNBQ2IsT0FBVSxDQUNSLEtBQVEsUUFDUixNQUFTLGt0QkFDWCxFQUNBLFFBQVcsU0FDWCxVQUFhLFNBQ2IsT0FBVSxDQUNSLEtBQVEsUUFDUixNQUFTLHNpQkFDWCxFQUNBLFFBQVcsU0FDWCxVQUFhLFNBQ2IsWUFBZSxDQUNiLEtBQVEsUUFDUixNQUFTLG9tQkFDWCxFQUNBLFlBQWUsQ0FDYixLQUFRLFFBQ1IsTUFBUyxvdUJBQ1gsRUFDQSxTQUFZLENBQ1YsS0FBUSxRQUNSLE1BQVMsb3JCQUNYLEVBQ0EsV0FBYyxDQUNaLEtBQVEsUUFDUixNQUFTLG9sQkFDWCxFQUNBLFNBQVksQ0FDVixLQUFRLFFBQ1IsTUFBUyxnbUJBQ1gsRUFDQSxXQUFjLENBQ1osS0FBUSxRQUNSLE1BQVMsd21CQUNYLEVBQ0EsUUFBVyxDQUNULEtBQVEsUUFDUixNQUFTLHd2QkFDWCxFQUNBLFdBQWMsQ0FDWixLQUFRLFFBQ1IsTUFBUyxrbUJBQ1gsRUFDQSxXQUFjLENBQ1osS0FBUSxRQUNSLE1BQVMsc3VCQUNYLEVBQ0EsTUFBUyxDQUNQLEtBQVEsUUFDUixNQUFTLHN2QkFDWCxFQUNBLE1BQVMsQ0FDUCxLQUFRLFFBQ1IsTUFBUyxzdkJBQ1gsRUFDQSxPQUFVLENBQ1IsS0FBUSxRQUNSLE1BQVMsc3ZCQUNYLEVBQ0EsTUFBUyxDQUNQLEtBQVEsUUFDUixNQUFTLHN1QkFDWCxFQUNBLFNBQVksQ0FDVixLQUFRLFFBQ1IsTUFBUyxtcUJBQ1gsRUFDQSxPQUFVLENBQ1IsS0FBUSxRQUNSLE1BQVMsb3VCQUNYLEVBQ0EsS0FBUSxDQUNOLEtBQVEsUUFDUixNQUFTO0FBQUEsbzJCQUNYLEVBQ0EsZ0JBQW1CLENBQ2pCLEtBQVEsUUFDUixNQUFTLGdvQkFDWCxFQUNBLFdBQWMsQ0FDWixLQUFRLFFBQ1IsTUFBUyw4bkJBQ1gsRUFDQSxNQUFTLENBQ1AsS0FBUSxRQUNSLE1BQVMsOHVCQUNYLEVBQ0EsT0FBVSxDQUNSLEtBQVEsUUFDUixNQUFTO0FBQUEsZzFCQUNYLEVBQ0EsU0FBWSxDQUNWLEtBQVEsUUFDUixNQUFTO0FBQUEseTRCQUNYLEVBQ0EsU0FBWSxDQUNWLEtBQVEsUUFDUixNQUFTO0FBQUEsdzRCQUNYLEVBQ0EsU0FBWSxDQUNWLEtBQVEsUUFDUixNQUFTLHdoQkFDWCxFQUNBLFVBQWEsQ0FDWCxLQUFRLFFBQ1IsTUFBUyxnbUJBQ1gsRUFDQSxNQUFTLENBQ1AsS0FBUSxRQUNSLE1BQVMsa3dCQUNYLEVBQ0EsT0FBVSxDQUNSLEtBQVEsUUFDUixNQUFTLGt3QkFDWCxDQUNGLElDbGNBLElBQUFDLElBQUFDLEdBQUFDLEtBQUEsY0FDQSxJQUFJQyxJQUFTLEtBQXdCLE9BTXJDRCxJQUFRLE1BQVFFLEdBRWhCLElBQUlDLEdBQWEsR0FDYkMsSUFBZSxHQUNmQyxHQUFhLElBQ2JDLEdBQWEsS0FDYkMsSUFBa0IsSUFBSSxNQUFNLEdBQUssRUFDakNDLElBQVcsR0FFZixJQUFTQyxJQUFJLEVBQUdBLElBQUksSUFBT0EsTUFDdkJGLElBQWdCRSxHQUFDLEVBQUlOLEdBRGhCLElBQUFNLElBS1QsU0FBU1AsR0FBVVEsRUFBY0MsRUFBTyxDQUVwQyxHQURBLEtBQUssYUFBZUQsRUFBYSxhQUM3QixDQUFDQSxFQUNELE1BQU0sSUFBSSxNQUFNLHdDQUF3QyxFQUM1RCxHQUFJLENBQUNBLEVBQWEsTUFDZCxNQUFNLElBQUksTUFBTSxhQUFlLEtBQUssYUFBZSxnQkFBZ0IsRUFHdkUsSUFBSUUsRUFBZUYsRUFBYSxNQUFNLEVBWXRDLEtBQUssYUFBZSxDQUFDLEVBQ3JCLEtBQUssYUFBYSxDQUFDLEVBQUlILElBQWdCLE1BQU0sQ0FBQyxFQUc5QyxLQUFLLGVBQWlCLENBQUMsRUFHdkIsUUFBU0UsRUFBSSxFQUFHQSxFQUFJRyxFQUFhLE9BQVFILElBQ3JDLEtBQUssZ0JBQWdCRyxFQUFhSCxDQUFDLENBQUMsRUFFeEMsS0FBSyxtQkFBcUJFLEVBQU0sbUJBVWhDLEtBQUssWUFBYyxDQUFDLEVBTXBCLEtBQUssZUFBaUIsQ0FBQyxFQUd2QixJQUFJRSxFQUFrQixDQUFDLEVBQ3ZCLEdBQUlILEVBQWEsZUFDYixRQUFTRCxFQUFJLEVBQUdBLEVBQUlDLEVBQWEsZUFBZSxPQUFRRCxJQUFLLENBQ3pELElBQUlLLEVBQU1KLEVBQWEsZUFBZUQsQ0FBQyxFQUN2QyxHQUFJLE9BQU9LLEdBQVEsU0FDZkQsRUFBZ0JDLENBQUcsRUFBSSxPQUV2QixTQUFTQyxFQUFJRCxFQUFJLEtBQU1DLEdBQUtELEVBQUksR0FBSUMsSUFDaENGLEVBQWdCRSxDQUFDLEVBQUksRUFDakMsQ0FNSixHQUhBLEtBQUssaUJBQWlCLEVBQUcsRUFBR0YsQ0FBZSxFQUd2Q0gsRUFBYSxVQUNiLFFBQVNNLEtBQVNOLEVBQWEsVUFDdkIsT0FBTyxVQUFVLGVBQWUsS0FBS0EsRUFBYSxVQUFXTSxDQUFLLEdBQ2xFLEtBQUssZUFBZUEsRUFBTSxXQUFXLENBQUMsRUFBR04sRUFBYSxVQUFVTSxDQUFLLENBQUMsRUFTbEYsR0FOQSxLQUFLLFVBQWEsS0FBSyxZQUFZLENBQUMsRUFBRUwsRUFBTSxzQkFBc0IsV0FBVyxDQUFDLENBQUMsRUFDM0UsS0FBSyxZQUFjUixLQUFZLEtBQUssVUFBWSxLQUFLLFlBQVksQ0FBQyxFQUFFLEdBQUcsR0FDdkUsS0FBSyxZQUFjQSxLQUFZLEtBQUssVUFBWSxJQUloRCxPQUFPTyxFQUFhLFNBQVksV0FBWSxDQUM1QyxLQUFLLFFBQVVBLEVBQWEsUUFBUSxFQVNwQyxRQU5JTyxFQUFtQixLQUFLLGFBQWEsT0FDckNDLEVBQWdCLEtBQUssYUFBYUQsQ0FBZ0IsRUFBSVYsSUFBZ0IsTUFBTSxDQUFDLEVBRTdFWSxFQUFvQixLQUFLLGFBQWEsT0FDdENDLEVBQWlCLEtBQUssYUFBYUQsQ0FBaUIsRUFBSVosSUFBZ0IsTUFBTSxDQUFDLEVBRTFFRSxFQUFJLElBQU1BLEdBQUssSUFBTUEsSUFHMUIsUUFGSVksRUFBb0JmLEdBQWEsS0FBSyxhQUFhLENBQUMsRUFBRUcsQ0FBQyxFQUN2RGEsRUFBaUIsS0FBSyxhQUFhRCxDQUFpQixFQUMvQ04sRUFBSSxHQUFNQSxHQUFLLEdBQU1BLElBQzFCTyxFQUFlUCxDQUFDLEVBQUlULEdBQWFXLEVBRXpDLFFBQVNSLEVBQUksSUFBTUEsR0FBSyxJQUFNQSxJQUMxQlMsRUFBY1QsQ0FBQyxFQUFJSCxHQUFhYSxFQUNwQyxRQUFTVixFQUFJLEdBQU1BLEdBQUssR0FBTUEsSUFDMUJXLEVBQWVYLENBQUMsRUFBSUwsR0FDNUIsQ0FDSixDQUVBRixHQUFVLFVBQVUsUUFBVXFCLElBQzlCckIsR0FBVSxVQUFVLFFBQVVzQixJQUc5QnRCLEdBQVUsVUFBVSxtQkFBcUIsU0FBU3VCLEVBQU0sQ0FFcEQsUUFESUMsRUFBUSxDQUFDLEVBQ05ELEVBQU8sRUFBR0EsSUFBUyxFQUN0QkMsRUFBTSxLQUFLRCxFQUFPLEdBQUksRUFDdEJDLEVBQU0sUUFBVSxHQUNoQkEsRUFBTSxLQUFLLENBQUMsRUFHaEIsUUFESUMsRUFBTyxLQUFLLGFBQWEsQ0FBQyxFQUNyQmxCLEVBQUlpQixFQUFNLE9BQU8sRUFBR2pCLEVBQUksRUFBR0EsSUFBSyxDQUNyQyxJQUFJSyxFQUFNYSxFQUFLRCxFQUFNakIsQ0FBQyxDQUFDLEVBRXZCLEdBQUlLLEdBQU9YLEdBQ1B3QixFQUFLRCxFQUFNakIsQ0FBQyxDQUFDLEVBQUlILEdBQWEsS0FBSyxhQUFhLE9BQ2hELEtBQUssYUFBYSxLQUFLcUIsRUFBT3BCLElBQWdCLE1BQU0sQ0FBQyxDQUFDLFVBRWpETyxHQUFPUixHQUNacUIsRUFBTyxLQUFLLGFBQWFyQixHQUFhUSxDQUFHLE1BR3pDLE9BQU0sSUFBSSxNQUFNLHFCQUF1QixLQUFLLGFBQWUsV0FBYVcsRUFBSyxTQUFTLEVBQUUsQ0FBQyxDQUNqRyxDQUNBLE9BQU9FLENBQ1gsRUFHQXpCLEdBQVUsVUFBVSxnQkFBa0IsU0FBUzBCLEVBQU8sQ0FFbEQsSUFBSUMsRUFBVSxTQUFTRCxFQUFNLENBQUMsRUFBRyxFQUFFLEVBRy9CRSxFQUFhLEtBQUssbUJBQW1CRCxDQUFPLEVBQ2hEQSxFQUFVQSxFQUFVLElBR3BCLFFBQVNFLEVBQUksRUFBR0EsRUFBSUgsRUFBTSxPQUFRRyxJQUFLLENBQ25DLElBQUlDLEVBQU9KLEVBQU1HLENBQUMsRUFDbEIsR0FBSSxPQUFPQyxHQUFTLFNBQ2hCLFFBQVNDLEVBQUksRUFBR0EsRUFBSUQsRUFBSyxRQUFTLENBQzlCLElBQUlFLEVBQU9GLEVBQUssV0FBV0MsR0FBRyxFQUM5QixHQUFJLE9BQVVDLEdBQVFBLEVBQU8sTUFBUSxDQUNqQyxJQUFJQyxFQUFZSCxFQUFLLFdBQVdDLEdBQUcsRUFDbkMsR0FBSSxPQUFVRSxHQUFhQSxFQUFZLE1BQ25DTCxFQUFXRCxHQUFTLEVBQUksT0FBV0ssRUFBTyxPQUFVLE1BQVNDLEVBQVksV0FFekUsT0FBTSxJQUFJLE1BQU0sK0JBQWtDLEtBQUssYUFBZSxhQUFlUCxFQUFNLENBQUMsQ0FBQyxDQUNyRyxTQUNTLEtBQVNNLEdBQVFBLEdBQVEsS0FBUSxDQUd0QyxRQUZJRSxFQUFNLEtBQVFGLEVBQU8sRUFDckJHLEVBQU0sQ0FBQyxFQUNGQyxFQUFJLEVBQUdBLEVBQUlGLEVBQUtFLElBQ3JCRCxFQUFJLEtBQUtMLEVBQUssV0FBV0MsR0FBRyxDQUFDLEVBRWpDSCxFQUFXRCxHQUFTLEVBQUl4QixHQUFZLEtBQUssZUFBZSxPQUN4RCxLQUFLLGVBQWUsS0FBS2dDLENBQUcsQ0FDaEMsTUFFSVAsRUFBV0QsR0FBUyxFQUFJSyxDQUNoQyxTQUVLLE9BQU9GLEdBQVMsU0FFckIsUUFESU8sRUFBV1QsRUFBV0QsRUFBVSxDQUFDLEVBQUksRUFDaENJLEVBQUksRUFBR0EsRUFBSUQsRUFBTUMsSUFDdEJILEVBQVdELEdBQVMsRUFBSVUsUUFHNUIsT0FBTSxJQUFJLE1BQU0sbUJBQXFCLE9BQU9QLEVBQU8sY0FBaUIsS0FBSyxhQUFlLGFBQWVKLEVBQU0sQ0FBQyxDQUFDLENBQ3ZILENBQ0EsR0FBSUMsRUFBVSxJQUNWLE1BQU0sSUFBSSxNQUFNLHNCQUF5QixLQUFLLGFBQWUsWUFBY0QsRUFBTSxDQUFDLEVBQUksYUFBZUMsQ0FBTyxDQUNwSCxFQUdBM0IsR0FBVSxVQUFVLGlCQUFtQixTQUFTc0MsRUFBTyxDQUNuRCxJQUFJQyxFQUFPRCxHQUFTLEVBQ3BCLE9BQUksS0FBSyxZQUFZQyxDQUFJLElBQU0sU0FDM0IsS0FBSyxZQUFZQSxDQUFJLEVBQUlsQyxJQUFnQixNQUFNLENBQUMsR0FDN0MsS0FBSyxZQUFZa0MsQ0FBSSxDQUNoQyxFQUVBdkMsR0FBVSxVQUFVLGVBQWlCLFNBQVNzQyxFQUFPRSxFQUFVLENBQzNELElBQUlDLEVBQVMsS0FBSyxpQkFBaUJILENBQUssRUFDcENJLEVBQU1KLEVBQVEsSUFDZEcsRUFBT0MsQ0FBRyxHQUFLdkMsR0FDZixLQUFLLGVBQWVBLEdBQVVzQyxFQUFPQyxDQUFHLENBQUMsRUFBRXBDLEdBQVEsRUFBSWtDLEVBQ2xEQyxFQUFPQyxDQUFHLEdBQUt6QyxLQUNwQndDLEVBQU9DLENBQUcsRUFBSUYsRUFDdEIsRUFFQXhDLEdBQVUsVUFBVSxtQkFBcUIsU0FBU21DLEVBQUtLLEVBQVUsQ0FHN0QsSUFBSUYsRUFBUUgsRUFBSSxDQUFDLEVBQ2JNLEVBQVMsS0FBSyxpQkFBaUJILENBQUssRUFDcENJLEVBQU1KLEVBQVEsSUFFZGIsRUFDQWdCLEVBQU9DLENBQUcsR0FBS3ZDLEdBRWZzQixFQUFPLEtBQUssZUFBZXRCLEdBQVVzQyxFQUFPQyxDQUFHLENBQUMsR0FJaERqQixFQUFPLENBQUMsRUFDSmdCLEVBQU9DLENBQUcsSUFBTXpDLEtBQVl3QixFQUFLbkIsR0FBUSxFQUFJbUMsRUFBT0MsQ0FBRyxHQUMzREQsRUFBT0MsQ0FBRyxFQUFJdkMsR0FBWSxLQUFLLGVBQWUsT0FDOUMsS0FBSyxlQUFlLEtBQUtzQixDQUFJLEdBSWpDLFFBQVNaLEVBQUksRUFBR0EsRUFBSXNCLEVBQUksT0FBTyxFQUFHdEIsSUFBSyxDQUNuQyxJQUFJOEIsRUFBU2xCLEVBQUthLENBQUssRUFDbkIsT0FBT0ssR0FBVyxTQUNsQmxCLEVBQU9rQixHQUVQbEIsRUFBT0EsRUFBS2EsQ0FBSyxFQUFJLENBQUMsRUFDbEJLLElBQVcsU0FDWGxCLEVBQUtuQixHQUFRLEVBQUlxQyxHQUU3QixDQUdBTCxFQUFRSCxFQUFJQSxFQUFJLE9BQU8sQ0FBQyxFQUN4QlYsRUFBS2EsQ0FBSyxFQUFJRSxDQUNsQixFQUVBeEMsR0FBVSxVQUFVLGlCQUFtQixTQUFTNEMsRUFBU0MsRUFBUWxDLEVBQWlCLENBRTlFLFFBREljLEVBQU8sS0FBSyxhQUFhbUIsQ0FBTyxFQUMzQixFQUFJLEVBQUcsRUFBSSxJQUFPLElBQUssQ0FDNUIsSUFBSU4sRUFBUWIsRUFBSyxDQUFDLEVBQ2RxQixFQUFTRCxFQUFTLEVBQ2xCbEMsRUFBZ0JtQyxDQUFNLElBR3RCUixHQUFTLEVBQ1QsS0FBSyxlQUFlQSxFQUFPUSxDQUFNLEVBQzVCUixHQUFTbEMsR0FDZCxLQUFLLGlCQUFpQkEsR0FBYWtDLEVBQU9RLEdBQVUsRUFBR25DLENBQWUsRUFDakUyQixHQUFTbkMsSUFDZCxLQUFLLG1CQUFtQixLQUFLLGVBQWVBLEdBQVltQyxDQUFLLEVBQUdRLENBQU0sRUFDOUUsQ0FDSixFQU1BLFNBQVN6QixJQUFZMEIsRUFBU0MsRUFBTyxDQUVqQyxLQUFLLGNBQWdCLEdBQ3JCLEtBQUssT0FBUyxPQUdkLEtBQUssWUFBY0EsRUFBTSxZQUN6QixLQUFLLGVBQWlCQSxFQUFNLGVBQzVCLEtBQUssc0JBQXdCQSxFQUFNLFVBQ25DLEtBQUssUUFBVUEsRUFBTSxPQUN6QixDQUVBM0IsSUFBWSxVQUFVLE1BQVEsU0FBUzRCLEVBQUssQ0FNeEMsUUFMSUMsRUFBU25ELElBQU8sTUFBTWtELEVBQUksUUFBVSxLQUFLLFFBQVUsRUFBSSxFQUFFLEVBQ3pERSxFQUFnQixLQUFLLGNBQ3JCQyxFQUFTLEtBQUssT0FBUUMsRUFBVyxHQUNqQzlDLEVBQUksRUFBR00sRUFBSSxJQUVGLENBRVQsR0FBSXdDLElBQWEsR0FBSSxDQUNqQixHQUFJOUMsR0FBSzBDLEVBQUksT0FBUSxNQUNyQixJQUFJWCxFQUFRVyxFQUFJLFdBQVcxQyxHQUFHLENBQ2xDLEtBQ0ssQ0FDRCxJQUFJK0IsRUFBUWUsRUFDWkEsRUFBVyxFQUNmLENBR0EsR0FBSSxPQUFVZixHQUFTQSxFQUFRLE1BQzNCLEdBQUlBLEVBQVEsTUFDUixHQUFJYSxJQUFrQixHQUFJLENBQ3RCQSxFQUFnQmIsRUFDaEIsUUFDSixNQUNJYSxFQUFnQmIsRUFFaEJBLEVBQVFyQyxRQUdSa0QsSUFBa0IsSUFDbEJiLEVBQVEsT0FBV2EsRUFBZ0IsT0FBVSxNQUFTYixFQUFRLE9BQzlEYSxFQUFnQixJQUdoQmIsRUFBUXJDLFFBS1hrRCxJQUFrQixLQUV2QkUsRUFBV2YsRUFBT0EsRUFBUXJDLEdBQzFCa0QsRUFBZ0IsSUFJcEIsSUFBSVgsRUFBV3ZDLEdBQ2YsR0FBSW1ELElBQVcsUUFBYWQsR0FBU3JDLEdBQVksQ0FDN0MsSUFBSXFELEVBQVVGLEVBQU9kLENBQUssRUFDMUIsR0FBSSxPQUFPZ0IsR0FBWSxTQUFVLENBQzdCRixFQUFTRSxFQUNULFFBRUosTUFBVyxPQUFPQSxHQUFXLFNBQ3pCZCxFQUFXYyxFQUVKQSxHQUFXLE9BR2xCQSxFQUFVRixFQUFPOUMsR0FBUSxFQUNyQmdELElBQVksU0FDWmQsRUFBV2MsRUFDWEQsRUFBV2YsSUFTbkJjLEVBQVMsTUFDYixTQUNTZCxHQUFTLEVBQUcsQ0FDakIsSUFBSWlCLEVBQVcsS0FBSyxZQUFZakIsR0FBUyxDQUFDLEVBSTFDLEdBSElpQixJQUFhLFNBQ2JmLEVBQVdlLEVBQVNqQixFQUFRLEdBQUksR0FFaENFLEdBQVlyQyxHQUFXLENBQ3ZCaUQsRUFBUyxLQUFLLGVBQWVqRCxHQUFVcUMsQ0FBUSxFQUMvQyxRQUNKLENBRUEsR0FBSUEsR0FBWXZDLElBQWMsS0FBSyxRQUFTLENBRXhDLElBQUl1RCxFQUFNQyxJQUFRLEtBQUssUUFBUSxPQUFRbkIsQ0FBSyxFQUM1QyxHQUFJa0IsR0FBTyxHQUFJLENBQ1gsSUFBSWhCLEVBQVcsS0FBSyxRQUFRLFFBQVFnQixDQUFHLEdBQUtsQixFQUFRLEtBQUssUUFBUSxPQUFPa0IsQ0FBRyxHQUMzRU4sRUFBT3JDLEdBQUcsRUFBSSxJQUFPLEtBQUssTUFBTTJCLEVBQVcsS0FBSyxFQUFHQSxFQUFXQSxFQUFXLE1BQ3pFVSxFQUFPckMsR0FBRyxFQUFJLEdBQU8sS0FBSyxNQUFNMkIsRUFBVyxJQUFJLEVBQUdBLEVBQVdBLEVBQVcsS0FDeEVVLEVBQU9yQyxHQUFHLEVBQUksSUFBTyxLQUFLLE1BQU0yQixFQUFXLEVBQUUsRUFBR0EsRUFBV0EsRUFBVyxHQUN0RVUsRUFBT3JDLEdBQUcsRUFBSSxHQUFPMkIsRUFDckIsUUFDSixDQUNKLENBQ0osQ0FHSUEsSUFBYXZDLEtBQ2J1QyxFQUFXLEtBQUssdUJBRWhCQSxFQUFXLElBQ1hVLEVBQU9yQyxHQUFHLEVBQUkyQixFQUVUQSxFQUFXLE9BQ2hCVSxFQUFPckMsR0FBRyxFQUFJMkIsR0FBWSxFQUMxQlUsRUFBT3JDLEdBQUcsRUFBSTJCLEVBQVcsTUFHekJVLEVBQU9yQyxHQUFHLEVBQUkyQixHQUFZLEdBQzFCVSxFQUFPckMsR0FBRyxFQUFLMkIsR0FBWSxFQUFLLElBQ2hDVSxFQUFPckMsR0FBRyxFQUFJMkIsRUFBVyxJQUVqQyxDQUVBLFlBQUssT0FBU1ksRUFDZCxLQUFLLGNBQWdCRCxFQUNkRCxFQUFPLE1BQU0sRUFBR3JDLENBQUMsQ0FDNUIsRUFFQVEsSUFBWSxVQUFVLElBQU0sVUFBVyxDQUNuQyxHQUFJLE9BQUssZ0JBQWtCLElBQU0sS0FBSyxTQUFXLFFBR2pELEtBQUk2QixFQUFTbkQsSUFBTyxNQUFNLEVBQUUsRUFBR2MsRUFBSSxFQUVuQyxHQUFJLEtBQUssT0FBUSxDQUNiLElBQUkyQixFQUFXLEtBQUssT0FBT2xDLEdBQVEsRUFDL0JrQyxJQUFhLFNBQ1RBLEVBQVcsSUFDWFUsRUFBT3JDLEdBQUcsRUFBSTJCLEdBR2RVLEVBQU9yQyxHQUFHLEVBQUkyQixHQUFZLEVBQzFCVSxFQUFPckMsR0FBRyxFQUFJMkIsRUFBVyxNQUtqQyxLQUFLLE9BQVMsTUFDbEIsQ0FFQSxPQUFJLEtBQUssZ0JBQWtCLEtBRXZCVSxFQUFPckMsR0FBRyxFQUFJLEtBQUssc0JBQ25CLEtBQUssY0FBZ0IsSUFHbEJxQyxFQUFPLE1BQU0sRUFBR3JDLENBQUMsRUFDNUIsRUFHQVEsSUFBWSxVQUFVLFFBQVVvQyxJQUtoQyxTQUFTbkMsSUFBWXlCLEVBQVNDLEVBQU8sQ0FFakMsS0FBSyxRQUFVLEVBQ2YsS0FBSyxRQUFVakQsSUFBTyxNQUFNLENBQUMsRUFHN0IsS0FBSyxhQUFlaUQsRUFBTSxhQUMxQixLQUFLLGVBQWlCQSxFQUFNLGVBQzVCLEtBQUssbUJBQXFCQSxFQUFNLG1CQUNoQyxLQUFLLFFBQVVBLEVBQU0sT0FDekIsQ0FFQTFCLElBQVksVUFBVSxNQUFRLFNBQVNvQyxFQUFLLENBQ3hDLElBQUlSLEVBQVNuRCxJQUFPLE1BQU0yRCxFQUFJLE9BQU8sQ0FBQyxFQUNsQ2QsRUFBVSxLQUFLLFFBQ2ZlLEVBQVUsS0FBSyxRQUFTQyxFQUFnQixLQUFLLFFBQVEsT0FDckRDLEVBQVcsQ0FBQyxLQUFLLFFBQVEsT0FDekJ2QixFQUVBc0IsRUFBZ0IsSUFDaEJELEVBQVU1RCxJQUFPLE9BQU8sQ0FBQzRELEVBQVNELEVBQUksTUFBTSxFQUFHLEVBQUUsQ0FBQyxDQUFDLEdBRXZELFFBQVNuRCxFQUFJLEVBQUdNLEVBQUksRUFBR04sRUFBSW1ELEVBQUksT0FBUW5ELElBQUssQ0FDeEMsSUFBSXVELEVBQVd2RCxHQUFLLEVBQUttRCxFQUFJbkQsQ0FBQyxFQUFJb0QsRUFBUXBELEVBQUlxRCxDQUFhLEVBR3ZEdEIsRUFBUSxLQUFLLGFBQWFNLENBQU8sRUFBRWtCLENBQU8sRUFFOUMsR0FBSSxFQUFBeEIsR0FBUyxHQUdSLEdBQUlBLElBQVVyQyxHQUdmTSxFQUFJc0QsRUFDSnZCLEVBQVEsS0FBSyxtQkFBbUIsV0FBVyxDQUFDLFVBRXZDQSxJQUFVcEMsSUFBYyxDQUM3QixJQUFJNkQsRUFBVUYsR0FBWSxFQUFLSCxFQUFJLE1BQU1HLEVBQVV0RCxFQUFFLENBQUMsRUFBSW9ELEVBQVEsTUFBTUUsRUFBV0QsRUFBZXJELEVBQUUsRUFBSXFELENBQWEsRUFDakhJLEdBQU9ELEVBQU8sQ0FBQyxFQUFFLEtBQU0sT0FBU0EsRUFBTyxDQUFDLEVBQUUsSUFBTSxNQUFRQSxFQUFPLENBQUMsRUFBRSxLQUFNLElBQU1BLEVBQU8sQ0FBQyxFQUFFLElBQ3hGUCxFQUFNQyxJQUFRLEtBQUssUUFBUSxRQUFTTyxDQUFHLEVBQzNDMUIsRUFBUSxLQUFLLFFBQVEsT0FBT2tCLENBQUcsRUFBSVEsRUFBTSxLQUFLLFFBQVEsUUFBUVIsQ0FBRyxDQUNyRSxTQUNTbEIsR0FBU2xDLEdBQVksQ0FDMUJ3QyxFQUFVeEMsR0FBYWtDLEVBQ3ZCLFFBQ0osU0FDU0EsR0FBU25DLEdBQVcsQ0FFekIsUUFESWdDLEVBQU0sS0FBSyxlQUFlaEMsR0FBWW1DLENBQUssRUFDdENULEVBQUksRUFBR0EsRUFBSU0sRUFBSSxPQUFTLEVBQUdOLElBQ2hDUyxFQUFRSCxFQUFJTixDQUFDLEVBQ2JxQixFQUFPckMsR0FBRyxFQUFJeUIsRUFBUSxJQUN0QlksRUFBT3JDLEdBQUcsRUFBSXlCLEdBQVMsRUFFM0JBLEVBQVFILEVBQUlBLEVBQUksT0FBTyxDQUFDLENBQzVCLEtBRUksT0FBTSxJQUFJLE1BQU0sMkRBQTZERyxFQUFRLE9BQVNNLEVBQVUsSUFBTWtCLENBQU8sRUFHekgsR0FBSXhCLEVBQVEsTUFBUSxDQUNoQkEsR0FBUyxNQUNULElBQUkyQixFQUFZLE1BQVMsS0FBSyxNQUFNM0IsRUFBUSxJQUFLLEVBQ2pEWSxFQUFPckMsR0FBRyxFQUFJb0QsRUFBWSxJQUMxQmYsRUFBT3JDLEdBQUcsRUFBSW9ELEdBQWEsRUFFM0IzQixFQUFRLE1BQVNBLEVBQVEsSUFDN0IsQ0FDQVksRUFBT3JDLEdBQUcsRUFBSXlCLEVBQVEsSUFDdEJZLEVBQU9yQyxHQUFHLEVBQUl5QixHQUFTLEVBR3ZCTSxFQUFVLEVBQUdpQixFQUFXdEQsRUFBRSxDQUM5QixDQUVBLFlBQUssUUFBVXFDLEVBQ2YsS0FBSyxRQUFXaUIsR0FBWSxFQUFLSCxFQUFJLE1BQU1HLENBQVEsRUFBSUYsRUFBUSxNQUFNRSxFQUFXRCxDQUFhLEVBQ3RGVixFQUFPLE1BQU0sRUFBR3JDLENBQUMsRUFBRSxTQUFTLE1BQU0sQ0FDN0MsRUFFQVMsSUFBWSxVQUFVLElBQU0sVUFBVyxDQUluQyxRQUhJNEMsRUFBTSxHQUdILEtBQUssUUFBUSxPQUFTLEdBQUcsQ0FFNUJBLEdBQU8sS0FBSyxtQkFDWixJQUFJUixFQUFNLEtBQUssUUFBUSxNQUFNLENBQUMsRUFHOUIsS0FBSyxRQUFVM0QsSUFBTyxNQUFNLENBQUMsRUFDN0IsS0FBSyxRQUFVLEVBQ1gyRCxFQUFJLE9BQVMsSUFDYlEsR0FBTyxLQUFLLE1BQU1SLENBQUcsRUFDN0IsQ0FFQSxZQUFLLFFBQVUsRUFDUlEsQ0FDWCxFQUdBLFNBQVNULElBQVFVLEVBQU92RCxFQUFLLENBQ3pCLEdBQUl1RCxFQUFNLENBQUMsRUFBSXZELEVBQ1gsTUFBTyxHQUdYLFFBREltQixFQUFJLEVBQUdxQyxFQUFJRCxFQUFNLE9BQ2RwQyxFQUFJcUMsRUFBRSxHQUFHLENBQ1osSUFBSUMsRUFBTXRDLEVBQUksS0FBSyxPQUFPcUMsRUFBRXJDLEVBQUUsR0FBRyxDQUFDLEVBQzlCb0MsRUFBTUUsQ0FBRyxHQUFLekQsRUFDZG1CLEVBQUlzQyxFQUVKRCxFQUFJQyxDQUNaLENBQ0EsT0FBT3RDLENBQ1gsSUN6aUJBLElBQUF1QyxJQUFBQyxHQUFBLENBQUFDLElBQUFDLE1BQUEsQ0FBQUEsSUFBQSxTQUNBLENBQUMsSUFBSSxLQUFTLEdBQUcsRUFDakIsQ0FBQyxLQUFLLFNBQUksRUFBRSxFQUNaLENBQUMsT0FBTywyU0FBcUQsRUFBRSxzQkFBTSxFQUNyRSxDQUFDLE9BQU8sMFFBQStDLEVBQ3ZELENBQUMsT0FBTyxrREFBVSxFQUNsQixDQUFDLE9BQU8sNENBQVMsRUFDakIsQ0FBQyxPQUFPLDRGQUFpQixFQUN6QixDQUFDLE9BQU8sZ0RBQVUsRUFDbEIsQ0FBQyxPQUFPLFFBQUcsRUFDWCxDQUFDLE9BQU8sU0FBSSxDQUFDLEVBQ2IsQ0FBQyxPQUFPLFNBQUksRUFBRSxFQUNkLENBQUMsT0FBTyxTQUFJLEVBQUUsRUFDZCxDQUFDLE9BQU8sU0FBSSxFQUFFLEVBQ2QsQ0FBQyxPQUFPLFNBQUksRUFBRSxFQUNkLENBQUMsT0FBTyxTQUFJLEVBQUUsRUFDZCxDQUFDLE9BQU8sU0FBSSxHQUFHLFNBQUksQ0FBQyxFQUNwQixDQUFDLE9BQU8sU0FBSSxHQUFHLFNBQUksQ0FBQyxFQUNwQixDQUFDLE9BQU8sU0FBSSxFQUFFLGVBQUssRUFBRSxFQUNyQixDQUFDLE9BQU8sU0FBSSxFQUFFLGVBQUssQ0FBQyxFQUNwQixDQUFDLE9BQU8sU0FBSSxFQUFFLEVBQ2QsQ0FBQyxPQUFPLGtNQUFrQyxFQUMxQyxDQUFDLE9BQU8sU0FBSSxHQUFHLFNBQUksQ0FBQyxFQUNwQixDQUFDLE9BQU8sNElBQXlCLEVBQ2pDLENBQUMsT0FBTyxRQUFHLEVBQ1gsQ0FBQyxPQUFPLHVDQUFTLEVBQUUsb0hBQXFCLEVBQ3hDLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLGd2QkFBK0gsRUFDdkksQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sZ3ZCQUErSCxFQUN2SSxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxndkJBQStILEVBQ3ZJLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLGd2QkFBK0gsRUFDdkksQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sZ3ZCQUErSCxFQUN2SSxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxndkJBQStILEVBQ3ZJLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLGd2QkFBK0gsRUFDdkksQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sZ3ZCQUErSCxFQUN2SSxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxndkJBQStILEVBQ3ZJLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLGd2QkFBK0gsRUFDdkksQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sZ3ZCQUErSCxFQUN2SSxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxndkJBQStILEVBQ3ZJLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLGd2QkFBK0gsRUFDdkksQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sZ3ZCQUErSCxFQUN2SSxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxndkJBQStILEVBQ3ZJLENBQUMsT0FBTyxvVEFBcUQsRUFDN0QsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sZ3ZCQUErSCxFQUN2SSxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxndkJBQStILEVBQ3ZJLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLGd2QkFBK0gsRUFDdkksQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sZ3ZCQUErSCxFQUN2SSxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxndkJBQStILEVBQ3ZJLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLGd2QkFBK0gsRUFDdkksQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sZ3ZCQUErSCxFQUN2SSxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxndkJBQStILEVBQ3ZJLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLGd2QkFBK0gsRUFDdkksQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sZ3ZCQUErSCxFQUN2SSxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxndkJBQStILEVBQ3ZJLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLGd2QkFBK0gsRUFDdkksQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sZ3ZCQUErSCxFQUN2SSxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxndkJBQStILEVBQ3ZJLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLGd2QkFBK0gsRUFDdkksQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sZ3ZCQUErSCxFQUN2SSxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxndkJBQStILEVBQ3ZJLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLGdPQUF1QyxFQUMvQyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxndkJBQStILEVBQ3ZJLENBQUMsT0FBTyw0WEFB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QWdHLEVBQ3hHLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyxvVEFBcUQsRUFDN0QsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FB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ZCxDQUFDLE9BQU8sU0FBSSxFQUFFLEVBQ2QsQ0FBQyxPQUFPLFNBQUksRUFBRSxFQUNkLENBQUMsT0FBTyxTQUFJLEVBQUUsRUFDZCxDQUFDLE9BQU8sU0FBSSxFQUFFLEVBQ2QsQ0FBQyxPQUFPLFNBQUksRUFBRSxFQUNkLENBQUMsT0FBTyxTQUFJLENBQUMsRUFDYixDQUFDLE9BQU8sU0FBSSxFQUFFLEVBQ2QsQ0FBQyxPQUFPLFNBQUksRUFBRSxFQUNkLENBQUMsT0FBTyxTQUFJLEVBQUUsRUFDZCxDQUFDLE9BQU8sU0FBSSxFQUFFLEVBQ2QsQ0FBQyxPQUFPLFNBQUksRUFBRSxFQUNkLENBQUMsT0FBTyxTQUFJLEVBQUUsRUFDZCxDQUFDLE9BQU8sNFJBQWlELEVBQ3pELENBQUMsT0FBTyx5SkFBNEIsRUFBRSxxQkFBTSxFQUFFLENBQzlDLElDdERBLElBQUFDLElBQUFDLEdBQUEsQ0FBQUMsSUFBQUMsTUFBQSxDQUFBQSxJQUFBLFNBQUMsT0FBUyxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxLQUFLLEVBQUUsUUFBVSxDQUFDLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxLQUFNLENBQUMsSUNBdnFFLElBQUFDLElBQUFDLEdBQUEsQ0FBQUMsSUFBQUMsTUFBQSxDQUFBQSxJQUFBLFNBQ0EsQ0FBQyxJQUFJLEtBQVMsR0FBRyxFQUNqQixDQUFDLE9BQU8saUNBQVEsRUFBRSw2Q0FBVSxFQUFFLDBCQUFNLEVBQ3BDLENBQUMsT0FBTyx5REFBWSxFQUFFLGVBQUssRUFBRSxRQUFHLEVBQ2hDLENBQUMsT0FBTyx1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eEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLHNqQkFBZ0csQ0FDeEcsSUNoUkEsSUFBQUMsSUFBQUMsR0FBQSxDQUFBQyxJQUFBQyxNQUFBLENBQUFBLElBQUEsU0FDQSxDQUFDLElBQUksS0FBUyxHQUFHLEVBQ2pCLENBQUMsT0FBTywwWEFBaUUsRUFDekUsQ0FBQyxPQUFPLDZXQUFpRSxFQUFFLDBLQUE4QixFQUN6RyxDQUFDLE9BQU8sbU5BQXNDLEVBQUUsZ0lBQXVCLEVBQ3ZFLENBQUMsT0FBTyw2RkFBa0IsRUFBRSxTQUFJLEVBQUUsU0FBSSxFQUFFLDJCQUFPLEdBQUcsU0FBSSxFQUFFLEVBQ3hELENBQUMsT0FBTyxpQ0FBUSxHQUFHLFNBQUksRUFBRSxTQUFJLEdBQUcsU0FBSSxFQUFFLFNBQUksRUFBRSxFQUM1QyxDQUFDLE9BQU8sU0FBSSxHQUFHLGdDQUFPLEVBQ3RCLENBQUMsT0FBTyxRQUFHLEVBQ1gsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxDQUFDLE9BQU8sNFhBQWlFLEVBQ3pFLENBQUMsT0FBTyxzakJBQWdHLEVBQ3hHLENBQUMsT0FBTyw0WEFBaUUsRUFDekUsQ0FBQyxPQUFPLHNqQkFBZ0csRUFDeEcsQ0FBQyxPQUFPLDRYQUFpRSxFQUN6RSxDQUFDLE9BQU8sc2pCQUFnRyxFQUN4RyxD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QSxTQUFTMkIsSUFBd0JDLEVBQU8sQ0FDdEMsT0FBUUEsRUFBTyxDQUNiLElBQUssS0FDSCxNQUFPLEtBQ1QsSUFBSyxPQUNILE1BQU87QUFBQSxFQUNULFFBQ0UsTUFBTztBQUFBLENBQ1gsQ0FDRixDQVFBLFNBQVNDLElBQVlDLEVBQUcsQ0FDdEIsT0FBT0EsSUFBTSxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLEtBQ3ZFLENBQ0EsU0FBU0MsSUFBT0QsRUFBRyxDQUNqQixPQUFPQSxHQUFLLE1BQVFBLEdBQUssTUFBUUEsSUFBTSxNQUFRQSxJQUFNLE1BQVFBLElBQU0sTUFBUUEsSUFBTSxNQUFRQSxHQUFLLE1BQVFBLEdBQUssTUFBUUEsSUFBTSxNQUFRQSxJQUFNLE1BQVFBLElBQU0sTUFBUUEsSUFBTSxNQUFRQSxJQUFNLE1BQVFBLElBQU0sTUFBUUEsR0FBSyxNQUFRQSxHQUFLLE1BQVFBLEdBQUssTUFBUUEsR0FBSyxNQUFRQSxJQUFNLE1BQVFBLEdBQUssTUFBUUEsR0FBSyxNQUFRQSxJQUFNLE1BQVFBLElBQU0sTUFBUUEsSUFBTSxNQUFRQSxJQUFNLE1BQVFBLElBQU0sTUFBUUEsSUFBTSxNQUFRQSxJQUFNLE1BQVFBLElBQU0sTUFBUUEsSUFBTSxNQUFRQSxJQUFNLE1BQVFBLElBQU0sTUFBUUEsSUFBTSxNQUFRQSxJQUFNLE1BQVFBLElBQU0sTUFBUUEsSUFBTSxNQUFRQSxJQUFNLE1BQVFBLElBQU0sTUFBUUEsSUFBTSxNQUFRQSxJQUFNLE1BQVFBLElBQU0sT0FBU0EsSUFBTSxPQUFTQSxJQUFNLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxJQUFNLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxJQUFNLE9BQVNBLElBQU0sT0FBU0EsSUFBTSxPQUFTQSxJQUFNLE9BQVNBLElBQU0sT0FBU0EsSUFBTSxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsSUFBTSxPQUFTQSxJQUFNLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsSUFBTSxRQUFVQSxJQUFNLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxJQUFNLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxJQUFNLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxJQUFNLFFBQVVBLElBQU0sUUFBVUEsSUFBTSxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsSUFBTSxRQUFVQSxJQUFNLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsSUFBTSxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsSUFBTSxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsSUFBTSxRQUFVQSxJQUFNLFFBQVVBLElBQU0sUUFBVUEsSUFBTSxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLElBQU0sUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsSUFBTSxRQUFVQSxJQUFNLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsSUFBTSxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLE1BQzVnRyxDQU9BLFNBQVNFLElBQWVDLEVBQU0sQ0FDNUIsR0FBSSxDQUFDQSxFQUNILE1BQU8sR0FFVCxHQUFJLENBQUNDLElBQWMsS0FBS0QsQ0FBSSxFQUMxQixPQUFPQSxFQUFLLE9BRWRBLEVBQU9BLEVBQUssUUFBUUUsSUFBb0IsRUFBRyxJQUFJLEVBQy9D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LENBQUMsQ0FBQyxFQUFFLElBQUksR0FBRyxHQUFHSixJQUFHLEVBQUVLLEdBQUUsQ0FBQyxDQUFDLFNBQVNDLElBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsRUFBRSxJQUFJLEdBQUcsR0FBRyxNQUFNLEdBQUcsS0FBS0MsSUFBRyxLQUFLLE9BQU8sYUFBYSxDQUFDLENBQUMsRUFBRSxJQUFJLEdBQUcsR0FBR1AsSUFBRyxFQUFFSyxHQUFFLEdBQUdMLElBQUcsRUFBRVEsR0FBRSxDQUFDLENBQThSLFNBQVNDLEdBQUUsRUFBRSxFQUFFLENBQUMsT0FBTyxJQUFJQyxHQUFFLEVBQUUsQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUErQyxTQUFTQyxHQUFFLEVBQUUsRUFBRSxDQUFDLE9BQU8sSUFBSSxTQUFTLEVBQUUsQ0FBQyxHQUFHLEVBQUUsUUFBUSxFQUFFQyxJQUFHLENBQUMsRUFBRSxJQUFJRixHQUFFLEVBQUUsQ0FBQyxDQUFDLENBQTBvRSxTQUFTRyxJQUFFLEVBQUUsQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxNQUFNLElBQUksSUFBSSxDQUFDLFNBQVNDLElBQUcsRUFBRSxFQUFFYixFQUFFLENBQUNBLElBQUksU0FBU0EsRUFBRSxFQUFFLFFBQVEsUUFBUUMsRUFBRSxFQUFFQSxFQUFFRCxFQUFFQyxJQUFJLENBQUMsSUFBSWEsRUFBRSxFQUFFLFdBQVdiLENBQUMsRUFBRSxHQUFHVyxJQUFFRSxDQUFDLEVBQUUsT0FBT2IsRUFBRUQsRUFBRSxHQUFHYyxJQUFJLElBQUksRUFBRSxXQUFXYixFQUFFLENBQUMsSUFBSSxHQUFHQSxFQUFFLEVBQUVBLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFpUyxTQUFTYyxHQUFFLEVBQUUsQ0FBQyxPQUFPQyxJQUFHLENBQUMsSUFBSUEsSUFBRyxDQUFD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TSxjQUFjd08sQ0FBQyxFQUFFLEtBQUssWUFBWSxFQUFFLFNBQVMsS0FBSyxPQUFPclAsRUFBRSxPQUFPcVAsSUFBSXpPLEVBQUUsWUFBWSxLQUFLLFFBQVEsUUFBUSxFQUFFLEtBQUssUUFBUSxLQUFLRyxDQUFDLEVBQUUsS0FBSyxZQUFZLE9BQVEsUUFBTyxNQUFNLGNBQWNzTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFNckgsSUFBRyxDQUFDLEVBQUVMLElBQUdLLElBQUcsQ0FBQyxRQUFRLElBQUloSixHQUFFLENBQUMsRUFBTVMsSUFBRyxDQUFDLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsSUFBSSxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsS0FBSyxFQUFFLEVBQUUsR0FBRyxNQUFNLEdBQUcsS0FBSyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsR0FBRyxJQUFJLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsT0FBTyxHQUFHLEVBQUVILElBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLElBQUksR0FBRyxHQUFHLElBQUksR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxJQUFJLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLElBQUksR0FBRyxJQUFJLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsSUFBSSxHQUFHLEdBQUcsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLElBQUksR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxJQUFJLElBQUksSUFBSSxHQUFHLElBQUksS0FBSyxHQUFHLEdBQUcsS0FBSyxHQUFHLEVBQUUsR0FBRyxLQUFLLEVBQUUsSUFBSSxLQUFLLEdBQUcsS0FBSyxJQUFJLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxLQUFLLEVBQUUsS0FBSyxHQUFHLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksS0FBSyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUUsSUFBSSxHQUFHLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxHQUFHLEdBQUcsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFF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SSxFQUFDLEVBQUUsVUFBVSxJQUFJNUksR0FBRSxJQUFJNkksRUFBQyxFQUFFLGFBQWEsSUFBSTdJLEdBQUUsS0FBSyxDQUFDLFdBQVcsR0FBRyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSUEsR0FBRSxJQUFJLENBQUMsV0FBVyxHQUFHLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxJQUFJQSxHQUFFLEtBQUssQ0FBQyxXQUFXLEdBQUcsU0FBUyxFQUFFLENBQUMsRUFBRSxPQUFPLElBQUlBLEdBQUUsUUFBUSxDQUFDLE9BQU8sR0FBRyxRQUFRLEdBQUcsV0FBVyxFQUFFLENBQUMsRUFBRSxPQUFPLElBQUlBLEdBQUUsTUFBTSxDQUFDLFdBQVcsR0FBRyxPQUFPLEdBQUcsV0FBVyxFQUFFLENBQUMsRUFBRSxVQUFVRCxHQUFFLEtBQUssQ0FBQyxFQUFFLFdBQVdBLEdBQUUsS0FBSyxDQUFDLEVBQUUsVUFBVUEsR0FBRSxJQUFJLENBQUMsRUFBRSxXQUFXQSxHQUFFLElBQUksQ0FBQyxFQUFFLFdBQVdBLEdBQUUsSUFBSSxDQUFDLEVBQUUsU0FBU0EsR0FBRSxnQkFBZ0IsQ0FBQyxFQUFFLFdBQVdBLEdBQUUsWUFBWSxDQUFDLEVBQUUsU0FBU0EsR0FBRSxZQUFZLENBQUMsRUFBRSxRQUFRLElBQUlDLEdBQUUsTUFBTSxDQUFDLFdBQVcsR0FBRyxNQUFNLEVBQUUsT0FBTyxHQUFHLFdBQVcsRUFBRSxDQUFDLEVBQUUsT0FBT0QsR0FBRSxJQUFJLEVBQUUsRUFBRSxLQUFLQSxHQUFFLElBQUksRUFBRSxFQUFFLE1BQU1BLEdBQUUsSUFBSSxFQUFFLEVBQUUsU0FBUyxJQUFJQyxHQUFFLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLFNBQVNELEdBQUUsS0FBSyxDQUFDLEVBQUUsT0FBT0UsR0FBRSxPQUFPLEVBQUUsTUFBTUEsR0FBRSxPQUFPMkksRUFBQyxFQUFFLE9BQU8zSSxHQUFFLE9BQU8sRUFBRSxVQUFVQSxHQUFFLFVBQVUsRUFBRSxVQUFVQSxHQUFFLFVBQVUsRUFBRSxTQUFTQSxHQUFFLFVBQVUySSxFQUFDLEVBQUUsSUFBSTNJLEdBQUUsS0FBSyxDQUFDLE9BQU8sR0FBRyxXQUFXLEVBQUUsQ0FBQyxFQUFFLE1BQU1BLEdBQUUsT0FBTzJJLEVBQUMsRUFBRSxTQUFTM0ksR0FBRSxTQUFTLEVBQUUsS0FBS0EsR0FBRSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxVQUFVQSxHQUFFLFdBQVc0SSxFQUFDLEVBQUUsSUFBSTVJLEdBQUUsSUFBSSxFQUFFLFFBQVFBLEdBQUUsU0FBUzJJLEVBQUMsRUFBRSxRQUFRM0ksR0FBRSxRQUFRLEVBQUUsT0FBT0EsR0FBRSxRQUFRMkksRUFBQyxFQUFFLEtBQUszSSxHQUFFLEtBQUssRUFBRSxLQUFLQSxHQUFFLEtBQUssRUFBRSxPQUFPQSxHQUFFLE9BQU8sRUFBRSxPQUFPQSxHQUFFLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU1BLEdBQUUsTUFBTSxFQUFFLEtBQUtBLEdBQUUsTUFBTSxDQUFDLFdBQVcsR0FBRyxXQUFXLEVBQUUsQ0FBQyxFQUFFLE1BQU1BLEdBQUUsT0FBTzRJLEVBQUMsRUFBRSxPQUFPNUksR0FBRSxRQUFRNEksRUFBQyxFQUFFLE9BQU81SSxHQUFFLFFBQVE0SSxFQUFDLEVBQUUsU0FBUzVJLEdBQUUsVUFBVTJJLEVBQUMsRUFBRSxRQUFRM0ksR0FBRSxRQUFRLEVBQUUsUUFBUUEsR0FBRSxTQUFTNEksRUFBQyxFQUFFLE1BQU01SSxHQUFFLE9BQU80SSxFQUFDLEVBQUUsTUFBTTVJLEdBQUUsT0FBTzRJLEVBQUMsRUFBRSxPQUFPNUksR0FBRSxRQUFRNEksRUFBQyxFQUFFLElBQUk1SSxHQUFFLEtBQUssQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxZQUFZQSxHQUFFLGFBQWEsQ0FBQyxXQUFXLEdBQUcsTUFBTSxDQUFDLENBQUMsRUFBRSxRQUFRQSxHQUFFLFNBQVMsQ0FBQyxXQUFXLEdBQUcsT0FBTyxHQUFHLFdBQVcsRUFBRSxDQUFDLEVBQUUsTUFBTUEsR0FBRSxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sR0FBRyxXQUFXLEVBQUUsQ0FBQyxFQUFFLFFBQVFBLEdBQUUsU0FBUyxDQUFDLFdBQVcsR0FBRyxPQUFPLEdBQUcsV0FBVyxFQUFFLENBQUMsQ0FBQyxFQUFFOEksR0FBRSx5QkFBeUJDLElBQUcsSUFBSSxPQUFPRCxHQUFFLE9BQU8sR0FBRyxFQUEyTkUsSUFBRyxnREFBZ0RDLEdBQUUsZ0NBQWdDQyxJQUFHLE9BQU8sVUFBVUMsSUFBR0QsSUFBRyxlQUFlRSxJQUFHRixJQUFHLFNBQVN0SSxJQUFFLE9BQU8sUUFBUSxTQUFTLEVBQUUsRUFBRSxDQUFDLE9BQU91SSxJQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRXJJLElBQUcsTUFBTSxTQUFTLFNBQVMsRUFBRSxDQUFDLE9BQU9zSSxJQUFHLEtBQUssQ0FBQyxJQUFJLGdCQUFnQixFQUFFOUksSUFBRyxPQUFPLE9BQU8sSUFBSSxFQUF3TStJLElBQUcsK0VBQStFNUksSUFBRyxTQUFTa0QsRUFBRXJFLEVBQUUsQ0FBQyxLQUFLLEtBQUtxRSxFQUFFLEtBQUssT0FBT3JFLENBQUMsRUFBRW1CLElBQUcsVUFBVSxPQUFPLFNBQVNrRCxFQUFFLENBQUMsT0FBTyxJQUFJbEQsSUFBRyxLQUFLLEtBQUssS0FBSyxPQUFPa0QsQ0FBQyxDQUFDLEVBQU12QyxJQUFHLFNBQVN1QyxFQUFFckUsRUFBRUMsRUFBRSxDQUFDLEtBQUssTUFBTUQsRUFBRSxLQUFLLElBQUlDLEVBQUVvRSxFQUFFLGFBQWEsT0FBTyxLQUFLLE9BQU9BLEVBQUUsV0FBVyxFQUErRmhELElBQUcsQ0FBQyxZQUFZLEtBQUssV0FBVyxTQUFTLG9CQUFvQixLQUFLLGdCQUFnQixLQUFLLGNBQWMsS0FBSywyQkFBMkIsR0FBRyw0QkFBNEIsR0FBRywwQkFBMEIsS0FBSyx3QkFBd0IsS0FBSyxjQUFjLEdBQUcsbUJBQW1CLEdBQUcsVUFBVSxHQUFHLFFBQVEsS0FBSyxVQUFVLEtBQUssT0FBTyxHQUFHLFFBQVEsS0FBSyxXQUFXLEtBQUssaUJBQWlCLEtBQUssZUFBZSxFQUFFLEVBQUVFLElBQUcsR0FDbGdtQnlJLElBQUcsRUFBRWhJLElBQUUsRUFBRUMsSUFBRyxFQUFFQyxJQUFHLEVBQUUrSCxJQUFHLEdBQUdDLElBQUcsR0FBR0MsSUFBRyxHQUFHQyxJQUFHLElBQUlDLElBQUcsSUFBSUMsSUFBR04sSUFBR2hJLElBQUVxSSxJQUFtREUsSUFBRyxFQUFFQyxJQUFHLEVBQUVDLEdBQUUsRUFBRUMsSUFBRyxFQUFFQyxJQUFHLEVBQUVDLElBQUcsRUFBRUMsR0FBRSxTQUFTeEcsRUFBRXJFLEVBQUVDLEVBQUUsQ0FBQyxLQUFLLFFBQVFvRSxFQUFFakQsSUFBR2lELENBQUMsRUFBRSxLQUFLLFdBQVdBLEVBQUUsV0FBVyxLQUFLLFNBQVN0RCxHQUFFb0ksSUFBRzlFLEVBQUUsYUFBYSxFQUFFLEVBQUVBLEVBQUUsYUFBYSxTQUFTLFVBQVUsQ0FBQyxDQUFDLEVBQUUsSUFBSXZELEVBQUUsR0FBR3VELEVBQUUsZ0JBQWdCLEtBQUt2RCxFQUFFbUksSUFBRzVFLEVBQUUsYUFBYSxFQUFFLEVBQUVBLEVBQUUsY0FBYyxFQUFFLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLGFBQWEsV0FBV3ZELEdBQUcsV0FBVyxLQUFLLGNBQWNDLEdBQUVELENBQUMsRUFBRSxJQUFJWSxHQUFHWixFQUFFQSxFQUFFLElBQUksSUFBSW1JLElBQUcsT0FBTyxLQUFLLG9CQUFvQmxJLEdBQUVXLENBQUMsRUFBRSxLQUFLLHdCQUF3QlgsR0FBRVcsRUFBRSxJQUFJdUgsSUFBRyxVQUFVLEVBQUUsS0FBSyxNQUFNLE9BQU9qSixDQUFDLEVBQUUsS0FBSyxZQUFZLEdBQUdDLEdBQUcsS0FBSyxJQUFJQSxFQUFFLEtBQUssVUFBVSxLQUFLLE1BQU0sWUFBWTtBQUFBLEVBQzlwQ0EsRUFBRSxDQUFDLEVBQUUsRUFBRSxLQUFLLFFBQVEsS0FBSyxNQUFNLE1BQU0sRUFBRSxLQUFLLFNBQVMsRUFBRSxNQUFNdUosRUFBQyxFQUFFLFNBQVMsS0FBSyxJQUFJLEtBQUssVUFBVSxFQUFFLEtBQUssUUFBUSxHQUFHLEtBQUssS0FBS0QsR0FBRSxJQUFJLEtBQUssTUFBTSxLQUFLLEtBQUssTUFBTSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssU0FBUyxLQUFLLE9BQU8sS0FBSyxZQUFZLEVBQUUsS0FBSyxjQUFjLEtBQUssZ0JBQWdCLEtBQUssS0FBSyxhQUFhLEtBQUssV0FBVyxLQUFLLElBQUksS0FBSyxRQUFRLEtBQUssZUFBZSxFQUFFLEtBQUssWUFBWSxHQUFHLEtBQUssU0FBU2xGLEVBQUUsYUFBYSxTQUFTLEtBQUssT0FBTyxLQUFLLFVBQVUsS0FBSyxnQkFBZ0IsS0FBSyxHQUFHLEVBQUUsS0FBSyxpQkFBaUIsR0FBRyxLQUFLLHlCQUF5QixHQUFHLEtBQUssU0FBUyxLQUFLLFNBQVMsS0FBSyxjQUFjLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxLQUFLLGlCQUFpQixPQUFPLE9BQU8sSUFBSSxFQUFFLEtBQUssTUFBTSxHQUFHQSxFQUFFLGVBQWUsS0FBSyxNQUFNLE1BQU0sRUFBRSxDQUFDLElBQUksTUFBTSxLQUFLLGdCQUFnQixDQUFDLEVBQUUsS0FBSyxXQUFXLENBQUMsRUFBRSxLQUFLLFdBQVcyRixHQUFFLEVBQUUsS0FBSyxZQUFZLEtBQUssS0FBSyxpQkFBaUIsQ0FBQyxDQUFDLEVBQUVjLEdBQUUsQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEVBQUUsWUFBWSxDQUFDLGFBQWEsRUFBRSxFQUFFLFFBQVEsQ0FBQyxhQUFhLEVBQUUsRUFBRSxTQUFTLENBQUMsYUFBYSxFQUFFLEVBQUUsV0FBVyxDQUFDLGFBQWEsRUFBRSxFQUFFLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxFQUFFLG9CQUFvQixDQUFDLGFBQWEsRUFBRSxFQUFFLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxFQUFFLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUVELEdBQUUsVUFBVSxNQUFNLFVBQVUsQ0FBQyxJQUFJeEcsRUFBRSxLQUFLLFFBQVEsU0FBUyxLQUFLLFVBQVUsRUFBRSxPQUFPLEtBQUssVUFBVSxFQUFFLEtBQUssY0FBY0EsQ0FBQyxDQUFDLEVBQUV5RyxHQUFFLFdBQVcsSUFBSSxVQUFVLENBQUMsT0FBTyxLQUFLLGdCQUFnQixFQUFFLE1BQU05SSxLQUFHLENBQUMsRUFBRThJLEdBQUUsWUFBWSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssZ0JBQWdCLEVBQUUsTUFBTTVJLEtBQUksR0FBRyxDQUFDLEtBQUssZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUU0SSxHQUFFLFFBQVEsSUFBSSxVQUFVLENBQUMsT0FBTyxLQUFLLGdCQUFnQixFQUFFLE1BQU03SSxLQUFJLEdBQUcsQ0FBQyxLQUFLLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFNkksR0FBRSxTQUFTLElBQUksVUFBVSxDQUFDLFFBQVEsRUFBRSxLQUFLLFdBQVcsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssV0FBVyxDQUFDLEVBQUUsR0FBRyxFQUFFLGtCQUFrQixFQUFFLE1BQU1ULElBQUcsTUFBTSxHQUFHLEdBQUcsRUFBRSxNQUFNckksSUFBRSxPQUFPLEVBQUUsTUFBTUMsS0FBSSxDQUFDLENBQUMsT0FBTyxLQUFLLFVBQVUsS0FBSyxRQUFRLGFBQWEsSUFBSSxLQUFLLFFBQVEseUJBQXlCLEVBQUU2SSxHQUFFLFdBQVcsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssaUJBQWlCLEVBQUUsRUFBRSxFQUFFLE1BQU05SyxFQUFFLEVBQUUsaUJBQWlCLE9BQU8sRUFBRW1LLEtBQUksR0FBR25LLEdBQUcsS0FBSyxRQUFRLHVCQUF1QixFQUFFOEssR0FBRSxpQkFBaUIsSUFBSSxVQUFVLENBQUMsT0FBTyxLQUFLLGlCQUFpQixFQUFFLE1BQU1WLEtBQUksQ0FBQyxFQUFFVSxHQUFFLG9CQUFvQixJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssMkJBQTJCLEtBQUssYUFBYSxDQUFDLENBQUMsRUFBRUEsR0FBRSxrQkFBa0IsSUFBSSxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssaUJBQWlCLEVBQUUsRUFBRSxFQUFFLE1BQU05SyxFQUFFLEVBQUUsaUJBQWlCLE9BQU8sR0FBR2dDLElBQUVxSSxNQUFLLEdBQUdySyxDQUFDLEVBQUU4SyxHQUFFLG1CQUFtQixJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssZ0JBQWdCLEVBQUUsTUFBTVQsS0FBSSxDQUFDLEVBQUVRLEdBQUUsT0FBTyxVQUFVLENBQUMsUUFBUXhHLEVBQUUsQ0FBQyxFQUFFckUsRUFBRSxVQUFVLE9BQU9BLEtBQUtxRSxFQUFFckUsQ0FBQyxFQUFFLFVBQVVBLENBQUMsRUFBRSxRQUFRQyxFQUFFLEtBQUthLEVBQUUsRUFBRUEsRUFBRXVELEVBQUUsT0FBT3ZELElBQUliLEVBQUVvRSxFQUFFdkQsQ0FBQyxFQUFFYixDQUFDLEVBQUUsT0FBT0EsQ0FBQyxFQUFFNEssR0FBRSxNQUFNLFNBQVN4RyxFQUFFckUsRUFBRSxDQUFDLE9BQU8sSUFBSSxLQUFLQSxFQUFFcUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFd0csR0FBRSxrQkFBa0IsU0FBU3hHLEVBQUVyRSxFQUFFQyxFQUFFLENBQUMsSUFBSWEsRUFBRSxJQUFJLEtBQUtiLEVBQUVvRSxFQUFFckUsQ0FBQyxFQUFFLE9BQU9jLEVBQUUsVUFBVSxFQUFFQSxFQUFFLGdCQUFnQixDQUFDLEVBQUUrSixHQUFFLFVBQVUsU0FBU3hHLEVBQUVyRSxFQUFFLENBQUMsT0FBTyxJQUFJLEtBQUtBLEVBQUVxRSxDQUFDLENBQUMsRUFBRSxPQUFPLGlCQUFpQndHLEdBQUUsVUFBVUMsRUFBQyxFQUFNQyxHQUFFRixHQUFFLFVBQVVHLElBQUcscURBQXFERCxHQUFFLGdCQUFnQixTQUFTLEVBQUUsQ0FBQyxHQUFHLEtBQUssUUFBUSxZQUFZLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQ3BCLEdBQUUsVUFBVSxFQUFFLEdBQUdBLEdBQUUsS0FBSyxLQUFLLEtBQUssRUFBRSxDQUFDLEVBQUUsT0FBTyxJQUFJLEVBQUVxQixJQUFHLEtBQUssS0FBSyxNQUFNLE1BQU0sQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssYUFBYSxDQUFDckIsR0FBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsT0FBTyxJQUFJM0osRUFBRTJKLEdBQUUsS0FBSyxLQUFLLEtBQUssRUFBRTFKLEVBQUVELEVBQUUsTUFBTUEsRUFBRSxDQUFDLEVBQUUsT0FBT2MsRUFBRSxLQUFLLE1BQU0sT0FBT2IsQ0FBQyxFQUFFLE9BQU9hLElBQUksS0FBS0EsSUFBSSxLQUFLMEksR0FBRSxLQUFLeEosRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLHNCQUFzQixLQUFLYyxDQUFDLEdBQUdBLElBQUksS0FBSyxLQUFLLE1BQU0sT0FBT2IsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsT0FBTzBKLEdBQUUsVUFBVSxFQUFFLEdBQUdBLEdBQUUsS0FBSyxLQUFLLEtBQUssRUFBRSxDQUFDLEVBQUUsT0FBTyxLQUFLLE1BQU0sQ0FBQyxJQUFJLEtBQUssR0FBRyxDQUFDLEVBQUVvQixHQUFFLElBQUksU0FBUyxFQUFFLENBQUMsT0FBTyxLQUFLLE9BQU8sR0FBRyxLQUFLLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRUEsR0FBRSxhQUFhLFNBQVMsRUFBRSxDQUFDLE9BQU8sS0FBSyxPQUFPeEIsR0FBRSxNQUFNLEtBQUssUUFBUSxHQUFHLENBQUMsS0FBSyxXQUFXLEVBQUV3QixHQUFFLGNBQWMsU0FBUyxFQUFFLENBQUMsT0FBTyxLQUFLLGFBQWEsQ0FBQyxHQUFHLEtBQUssS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFQSxHQUFFLGlCQUFpQixTQUFTLEVBQUUsQ0FBQyxLQUFLLGNBQWMsQ0FBQyxHQUFHLEtBQUssV0FBVyxDQUFDLEVBQUVBLEdBQUUsbUJBQW1CLFVBQVUsQ0FBQyxPQUFPLEtBQUssT0FBT3hCLEdBQUUsS0FBSyxLQUFLLE9BQU9BLEdBQUUsUUFBUUMsR0FBRSxLQUFLLEtBQUssTUFBTSxNQUFNLEtBQUssV0FBVyxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUV1QixHQUFFLGdCQUFnQixVQUFVLENBQUMsR0FBRyxLQUFLLG1CQUFtQixFQUFFLE9BQU8sS0FBSyxRQUFRLHFCQUFxQixLQUFLLFFBQVEsb0JBQW9CLEtBQUssV0FBVyxLQUFLLGFBQWEsRUFBRSxFQUFFLEVBQUVBLEdBQUUsVUFBVSxVQUFVLENBQUMsQ0FBQyxLQUFLLElBQUl4QixHQUFFLElBQUksR0FBRyxDQUFDLEtBQUssZ0JBQWdCLEdBQUcsS0FBSyxXQUFXLENBQUMsRUFBRXdCLEdBQUUsbUJBQW1CLFNBQVMsRUFBRSxFQUFFLENBQUMsR0FBRyxLQUFLLE9BQU8sRUFBRSxPQUFPLEtBQUssUUFBUSxpQkFBaUIsS0FBSyxRQUFRLGdCQUFnQixLQUFLLGFBQWEsS0FBSyxlQUFlLEVBQUUsR0FBRyxLQUFLLEtBQUssRUFBRSxFQUFFLEVBQUVBLEdBQUUsT0FBTyxTQUFTLEVBQUUsQ0FBQyxLQUFLLElBQUksQ0FBQyxHQUFHLEtBQUssV0FBVyxDQUFDLEVBQUVBLEdBQUUsV0FBVyxTQUFTLEVBQUUsQ0FBQyxLQUFLLE1BQU0sR0FBRyxLQUFLLE1BQU0sa0JBQWtCLENBQUMsRUFBTUUsSUFBRyxVQUFVLENBQUMsS0FBSyxnQkFBZ0IsS0FBSyxjQUFjLEtBQUssb0JBQW9CLEtBQUssa0JBQWtCLEtBQUssWUFBWSxFQUFFLEVBQUVGLEdBQUUsbUJBQW1CLFNBQVMsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxjQUFjLElBQUksS0FBSyxpQkFBaUIsRUFBRSxjQUFjLCtDQUErQyxFQUFFLElBQUkvSyxFQUFFLEVBQUUsRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0JBLEVBQUUsSUFBSSxLQUFLLGlCQUFpQkEsRUFBRSxFQUFFLHNCQUFzQix1QkFBdUIsQ0FBQyxDQUFDLEVBQUUrSyxHQUFFLHNCQUFzQixTQUFTLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxJQUFJL0ssRUFBRSxFQUFFLGdCQUFnQkMsRUFBRSxFQUFFLFlBQVksR0FBRyxDQUFDLEVBQUUsT0FBT0QsR0FBRyxHQUFHQyxHQUFHLEVBQUVELEdBQUcsR0FBRyxLQUFLLE1BQU1BLEVBQUUseUVBQXlFLEVBQUVDLEdBQUcsR0FBRyxLQUFLLGlCQUFpQkEsRUFBRSxvQ0FBb0MsQ0FBQyxFQUFFOEssR0FBRSwrQkFBK0IsVUFBVSxDQUFDLEtBQUssV0FBVyxDQUFDLEtBQUssVUFBVSxLQUFLLFNBQVMsS0FBSyxXQUFXLEtBQUssTUFBTSxLQUFLLFNBQVMsNENBQTRDLEVBQUUsS0FBSyxVQUFVLEtBQUssTUFBTSxLQUFLLFNBQVMsNENBQTRDLENBQUMsRUFBRUEsR0FBRSxxQkFBcUIsU0FBUyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sMEJBQTBCLEtBQUsscUJBQXFCLEVBQUUsVUFBVSxFQUFFLEVBQUUsT0FBTyxjQUFjLEVBQUUsT0FBTyxrQkFBa0IsRUFBTUcsR0FBRUwsR0FBRSxVQUFVSyxHQUFFLGNBQWMsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLE9BQU8sT0FBTyxJQUFJLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8zQixHQUFFLEtBQUssQ0FBQyxJQUFJdkosRUFBRSxLQUFLLGVBQWUsS0FBSyxHQUFHLENBQUMsRUFBRSxFQUFFLEtBQUssS0FBS0EsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLFNBQVMsUUFBUUMsRUFBRSxFQUFFYSxFQUFFLE9BQU8sS0FBSyxLQUFLLGdCQUFnQixFQUFFYixFQUFFYSxFQUFFLE9BQU9iLEdBQUcsRUFBRSxDQUFDLElBQUl5QixFQUFFWixFQUFFYixDQUFDLEVBQUUsS0FBSyxpQkFBaUIsS0FBSyxpQkFBaUJ5QixDQUFDLEVBQUUsTUFBTSxXQUFXQSxFQUFFLGtCQUFrQixDQUFDLENBQUMsT0FBTyxLQUFLLHVCQUF1QixFQUFFLElBQUksRUFBRSxLQUFLLEtBQUssRUFBRSxFQUFFLFdBQVcsS0FBSyxRQUFRLFdBQVcsS0FBSyxXQUFXLEVBQUUsU0FBUyxDQUFDLEVBQU15SixJQUFHLENBQUMsS0FBSyxNQUFNLEVBQUVDLElBQUcsQ0FBQyxLQUFLLFFBQVEsRUFBRUYsR0FBRSxNQUFNLFNBQVMsRUFBRSxDQUFDLEdBQUcsS0FBSyxRQUFRLFlBQVksR0FBRyxDQUFDLEtBQUssYUFBYSxLQUFLLEVBQUUsTUFBTSxHQUFHdkIsR0FBRSxVQUFVLEtBQUssSUFBSSxJQUFJLEVBQUVBLEdBQUUsS0FBSyxLQUFLLEtBQUssRUFBRTNKLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLE9BQU9DLEVBQUUsS0FBSyxNQUFNLFdBQVdELENBQUMsRUFBRSxHQUFHQyxJQUFJLElBQUlBLElBQUksR0FBRyxNQUFNLEdBQUcsR0FBRyxFQUFFLE1BQU0sR0FBRyxHQUFHQSxJQUFJLEtBQUtBLEVBQUUsT0FBT0EsRUFBRSxNQUFNLE1BQU0sR0FBRyxHQUFHQyxHQUFFRCxFQUFFLEVBQUUsRUFBRSxDQUFDLFFBQVFhLEVBQUVkLEVBQUUsRUFBRUssSUFBRUosRUFBRSxLQUFLLE1BQU0sV0FBV2EsQ0FBQyxFQUFFLEVBQUUsR0FBRyxFQUFFQSxFQUFFLEdBQUdiLElBQUksSUFBSUEsRUFBRSxPQUFPQSxFQUFFLE1BQU0sTUFBTSxHQUFHLElBQUl5QixFQUFFLEtBQUssTUFBTSxNQUFNMUIsRUFBRWMsQ0FBQyxFQUFFLEdBQUcsQ0FBQ3NJLElBQUcsS0FBSzFILENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRXdKLEdBQUUsZ0JBQWdCLFVBQVUsQ0FBQyxHQUFHLEtBQUssUUFBUSxZQUFZLEdBQUcsQ0FBQyxLQUFLLGFBQWEsT0FBTyxFQUFFLE1BQU0sR0FBR3ZCLEdBQUUsVUFBVSxLQUFLLElBQUksSUFBSSxFQUFFQSxHQUFFLEtBQUssS0FBSyxLQUFLLEVBQUUsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsT0FBTzNKLEVBQUUsTUFBTSxDQUFDd0osR0FBRSxLQUFLLEtBQUssTUFBTSxNQUFNLEtBQUssSUFBSSxDQUFDLENBQUMsR0FBRyxLQUFLLE1BQU0sTUFBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLGFBQWEsRUFBRSxJQUFJLEtBQUssTUFBTSxRQUFRLEVBQUVuSixJQUFFTCxFQUFFLEtBQUssTUFBTSxXQUFXLEVBQUUsQ0FBQyxDQUFDLEdBQUdBLEVBQUUsT0FBT0EsRUFBRSxPQUFPLEVBQUVrTCxHQUFFLGVBQWUsU0FBUyxFQUFFLEVBQUVsTCxFQUFFLENBQUMsSUFBSUMsRUFBRSxLQUFLLEtBQUthLEVBQUUsS0FBSyxVQUFVLEVBQUVZLEVBQUUsT0FBTyxLQUFLLE1BQU0sQ0FBQyxJQUFJekIsRUFBRXNKLEdBQUUsS0FBSzdILEVBQUUsT0FBT3pCLEVBQUUsQ0FBQyxLQUFLc0osR0FBRSxPQUFPLEtBQUtBLEdBQUUsVUFBVSxPQUFPLEtBQUssNEJBQTRCekksRUFBRWIsRUFBRSxPQUFPLEVBQUUsS0FBS3NKLEdBQUUsVUFBVSxPQUFPLEtBQUssdUJBQXVCekksQ0FBQyxFQUFFLEtBQUt5SSxHQUFFLElBQUksT0FBTyxLQUFLLGlCQUFpQnpJLENBQUMsRUFBRSxLQUFLeUksR0FBRSxLQUFLLE9BQU8sS0FBSyxrQkFBa0J6SSxDQUFDLEVBQUUsS0FBS3lJLEdBQUUsVUFBVSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksTUFBTSxJQUFJLFVBQVUsS0FBSyxRQUFRLGFBQWEsR0FBRyxLQUFLLFdBQVcsRUFBRSxLQUFLLHVCQUF1QnpJLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxLQUFLeUksR0FBRSxPQUFPLE9BQU8sR0FBRyxLQUFLLFdBQVcsRUFBRSxLQUFLLFdBQVd6SSxFQUFFLEVBQUUsRUFBRSxLQUFLeUksR0FBRSxJQUFJLE9BQU8sS0FBSyxpQkFBaUJ6SSxDQUFDLEVBQUUsS0FBS3lJLEdBQUUsUUFBUSxPQUFPLEtBQUsscUJBQXFCekksQ0FBQyxFQUFFLEtBQUt5SSxHQUFFLFFBQVEsT0FBTyxLQUFLLHFCQUFxQnpJLENBQUMsRUFBRSxLQUFLeUksR0FBRSxPQUFPLE9BQU8sS0FBSyxvQkFBb0J6SSxDQUFDLEVBQUUsS0FBS3lJLEdBQUUsS0FBSyxPQUFPLEtBQUssa0JBQWtCekksQ0FBQyxFQUFFLEtBQUt5SSxHQUFFLE9BQU8sS0FBS0EsR0FBRSxLQUFLLE9BQU83SCxFQUFFQSxHQUFHLEtBQUssTUFBTSxHQUFHQSxJQUFJLE9BQU8sS0FBSyxXQUFXLEVBQUUsS0FBSyxrQkFBa0JaLEVBQUVZLENBQUMsRUFBRSxLQUFLNkgsR0FBRSxPQUFPLE9BQU8sS0FBSyxvQkFBb0J6SSxDQUFDLEVBQUUsS0FBS3lJLEdBQUUsTUFBTSxPQUFPLEtBQUssbUJBQW1CekksQ0FBQyxFQUFFLEtBQUt5SSxHQUFFLE9BQU8sT0FBTyxLQUFLLFdBQVcsR0FBR3pJLENBQUMsRUFBRSxLQUFLeUksR0FBRSxLQUFLLE9BQU8sS0FBSyxvQkFBb0J6SSxDQUFDLEVBQUUsS0FBS3lJLEdBQUUsUUFBUSxLQUFLQSxHQUFFLFFBQVEsR0FBRyxLQUFLLFFBQVEsWUFBWSxJQUFJdEosSUFBSXNKLEdBQUUsUUFBUSxDQUFDSSxHQUFFLFVBQVUsS0FBSyxJQUFJLElBQUloSSxFQUFFZ0ksR0FBRSxLQUFLLEtBQUssS0FBSyxFQUFFL0gsRUFBRSxLQUFLLElBQUlELEVBQUUsQ0FBQyxFQUFFLE9BQU9FLEVBQUUsS0FBSyxNQUFNLFdBQVdELENBQUMsRUFBRSxHQUFHQyxJQUFJLElBQUlBLElBQUksR0FBRyxPQUFPLEtBQUsseUJBQXlCZixFQUFFLEtBQUssZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxRQUFRLDhCQUE4QixHQUFHLEtBQUssTUFBTSxLQUFLLE1BQU0sd0RBQXdELEVBQUUsS0FBSyxVQUFVLEtBQUssTUFBTSxLQUFLLE1BQU0saUVBQWlFLEdBQUdiLElBQUlzSixHQUFFLFFBQVEsS0FBSyxZQUFZekksQ0FBQyxFQUFFLEtBQUssWUFBWUEsRUFBRWQsQ0FBQyxFQUFFLFFBQVEsR0FBRyxLQUFLLGdCQUFnQixFQUFFLE9BQU8sR0FBRyxLQUFLLFdBQVcsRUFBRSxLQUFLLEtBQUssRUFBRSxLQUFLLHVCQUF1QmMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLElBQUkrTyxFQUFFLEtBQUssTUFBTUMsRUFBRSxLQUFLLGdCQUFnQixFQUFFLE9BQU83UCxJQUFJc0osR0FBRSxNQUFNdUcsRUFBRSxPQUFPLGNBQWMsS0FBSyxJQUFJdkcsR0FBRSxLQUFLLEVBQUUsS0FBSyxzQkFBc0J6SSxFQUFFK08sRUFBRUMsRUFBRSxDQUFDLEVBQUUsS0FBSyx5QkFBeUJoUCxFQUFFZ1AsQ0FBQyxDQUFDLENBQUMsRUFBRTVFLEdBQUUsNEJBQTRCLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSWxMLEVBQUUsSUFBSSxRQUFRLEtBQUssS0FBSyxFQUFFLEtBQUssSUFBSXVKLEdBQUUsSUFBSSxHQUFHLEtBQUssZ0JBQWdCLEVBQUUsRUFBRSxNQUFNLEtBQUssS0FBSyxPQUFPQSxHQUFFLEtBQUssS0FBSyxXQUFXLEdBQUcsRUFBRSxNQUFNLEtBQUssV0FBVyxFQUFFLEtBQUssVUFBVSxHQUFHLFFBQVF0SixFQUFFLEVBQUVBLEVBQUUsS0FBSyxPQUFPLE9BQU8sRUFBRUEsRUFBRSxDQUFDLElBQUlhLEVBQUUsS0FBSyxPQUFPYixDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sTUFBTWEsRUFBRSxPQUFPLEVBQUUsTUFBTSxRQUFRQSxFQUFFLE1BQU0sT0FBT2QsR0FBR2MsRUFBRSxPQUFPLFNBQVMsRUFBRSxPQUFPZCxHQUFHLEtBQUssQ0FBQyxPQUFPQyxJQUFJLEtBQUssT0FBTyxRQUFRLEtBQUssTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDLEVBQUUsS0FBSyxXQUFXLEVBQUVELEVBQUUsaUJBQWlCLG1CQUFtQixDQUFDLEVBQUVrTCxHQUFFLHVCQUF1QixTQUFTLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxFQUFFLEtBQUssVUFBVSxFQUFFLEtBQUssV0FBVyxFQUFFLG1CQUFtQixDQUFDLEVBQUVBLEdBQUUsaUJBQWlCLFNBQVMsRUFBRSxDQUFDLE9BQU8sS0FBSyxLQUFLLEVBQUUsS0FBSyxPQUFPLEtBQUtDLEdBQUUsRUFBRSxFQUFFLEtBQUssS0FBSyxlQUFlLElBQUksRUFBRSxLQUFLLE9BQU8sSUFBSSxFQUFFLEtBQUssT0FBTzVCLEdBQUUsTUFBTSxFQUFFLEVBQUUsS0FBSyxLQUFLLHFCQUFxQixFQUFFLEtBQUssUUFBUSxhQUFhLEVBQUUsS0FBSyxJQUFJQSxHQUFFLElBQUksRUFBRSxLQUFLLFVBQVUsRUFBRSxLQUFLLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxFQUFFMkIsR0FBRSxrQkFBa0IsU0FBUyxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssUUFBUSxhQUFhLEdBQUcsS0FBSyxVQUFVLEtBQUssY0FBYyxPQUFPLEVBQUUsS0FBSyxhQUFhLEdBQUcsR0FBRyxLQUFLLE9BQU8sS0FBS0MsR0FBRSxFQUFFLEtBQUssV0FBVyxDQUFDLEVBQUUsS0FBSyxPQUFPNUIsR0FBRSxNQUFNLEVBQUUsS0FBSyxPQUFPQSxHQUFFLEtBQUssT0FBTyxFQUFFLElBQUksS0FBSyxXQUFXLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSXZKLEVBQUUsS0FBSyxNQUFNLEVBQUUsR0FBRyxLQUFLLE9BQU91SixHQUFFLE1BQU0sS0FBSyxPQUFPQSxHQUFFLFFBQVF2SixFQUFFLENBQUMsSUFBSUMsRUFBRSxLQUFLLFVBQVUsRUFBRWEsRUFBRWQsRUFBRSxNQUFNLEtBQUssTUFBTSxPQUFPLEtBQUssS0FBSyxFQUFFLEtBQUssU0FBU0MsRUFBRSxHQUFHYSxDQUFDLEVBQUUsS0FBSyxXQUFXYixFQUFFLHFCQUFxQixHQUFHLEtBQUssT0FBT3NKLEdBQUUsS0FBSyxLQUFLLFFBQVEsYUFBYSxHQUFHLEtBQUssYUFBYSxJQUFJLElBQUl0SixFQUFFLGFBQWEsU0FBUyxHQUFHLEtBQUssUUFBUSxhQUFhLElBQUksS0FBSyxPQUFPc0osR0FBRSxJQUFJLEVBQUUsSUFBSSxLQUFLLFdBQVcsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksS0FBSyxXQUFXLEVBQUV0SixDQUFDLElBQUksRUFBRSxJQUFJLEtBQUssV0FBVyxDQUFDLEVBQUUsS0FBSyxTQUFTLEVBQUVBLENBQUMsRUFBRSxDQUFDLElBQUl5QixFQUFFLEtBQUssYUFBYSxLQUFLLEVBQUVDLEVBQUUsR0FBR0MsRUFBRSxLQUFLLFlBQVlDLEVBQUUsSUFBSW9KLElBQUc0RSxFQUFFLEtBQUssTUFBTUMsRUFBRSxFQUFFLEdBQUcsS0FBSyxvQkFBb0JqTyxFQUFFLE9BQU8sRUFBRSxLQUFLLGdCQUFnQixHQUFHQSxDQUFDLEVBQUUsT0FBTyxLQUFLLE9BQU8wSCxHQUFFLE1BQU01SCxFQUFFLEtBQUssUUFBUSxhQUFhLEdBQUcsS0FBSyxhQUFhLElBQUksSUFBSSxFQUFFLElBQUksS0FBSyxPQUFPNEgsR0FBRSxLQUFLLEtBQUssV0FBVyxDQUFDLEVBQUUsRUFBRSxNQUFNLElBQUk1SCxHQUFHLEtBQUssUUFBUSxhQUFhLElBQUltTyxFQUFFLFFBQVFELEdBQUcsQ0FBQ2pPLEdBQUdrTyxFQUFFLE9BQU8sY0FBY0EsRUFBRSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUUsS0FBSyxRQUFRLGFBQWEsSUFBSSxFQUFFLE1BQU0sS0FBS3BPLEdBQUdDLEdBQUcsS0FBSyxNQUFNbU8sRUFBRSxNQUFNLCtEQUErRCxFQUFFLEtBQUssYUFBYUEsRUFBRSxHQUFHak8sQ0FBQyxFQUFFLEtBQUssaUJBQWlCaU8sQ0FBQyxFQUFFLEtBQUssV0FBVyxFQUFFQSxDQUFDLElBQUksS0FBSyxzQkFBc0JqTyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksS0FBSyxXQUFXLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFBRWlPLENBQUMsRUFBRSxFQUFFNUUsR0FBRSx1QkFBdUIsU0FBUyxFQUFFLEVBQUVsTCxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssRUFBRSxLQUFLLGNBQWMsRUFBRXNMLEtBQUl0TCxFQUFFLEVBQUV1TCxLQUFJLEdBQUcsQ0FBQyxDQUFDLEVBQUVMLEdBQUUsaUJBQWlCLFNBQVMsRUFBRSxDQUFDLE9BQU8sS0FBSyxLQUFLLEVBQUUsRUFBRSxLQUFLLEtBQUsscUJBQXFCLEVBQUUsRUFBRSxXQUFXLEtBQUssZUFBZSxJQUFJLEVBQUUsRUFBRSxVQUFVLEtBQUssSUFBSTNCLEdBQUUsS0FBSyxFQUFFLEtBQUssZUFBZSxJQUFJLEVBQUUsS0FBSyxLQUFLLFdBQVcsRUFBRSxhQUFhLENBQUMsRUFBRTJCLEdBQUUscUJBQXFCLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFlBQVksQ0FBQyxLQUFLLFFBQVEsNEJBQTRCLEtBQUssTUFBTSxLQUFLLE1BQU0sOEJBQThCLEVBQUUsS0FBSyxLQUFLLEVBQUUsS0FBSyxJQUFJM0IsR0FBRSxJQUFJLEdBQUcsS0FBSyxnQkFBZ0IsRUFBRSxFQUFFLFNBQVMsTUFBTSxFQUFFLFNBQVMsS0FBSyxnQkFBZ0IsRUFBRSxLQUFLLFVBQVUsR0FBRyxLQUFLLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFMkIsR0FBRSxxQkFBcUIsU0FBUyxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsRUFBRSxhQUFhLEtBQUsscUJBQXFCLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxLQUFLLE9BQU8zQixHQUFFLE1BQU0sRUFBRSxLQUFLLE9BQU8sS0FBSzZCLEdBQUUsRUFBRSxLQUFLLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRXBMLEVBQUUsR0FBRyxLQUFLLE9BQU91SixHQUFFLFFBQVEsR0FBRyxLQUFLLE9BQU9BLEdBQUUsT0FBTyxLQUFLLE9BQU9BLEdBQUUsU0FBUyxDQUFDLElBQUl0SixFQUFFLEtBQUssT0FBT3NKLEdBQUUsTUFBTSxHQUFHLEtBQUssV0FBVyxFQUFFLFlBQVksRUFBRSxFQUFFLE1BQU0sS0FBSyxFQUFFLEtBQUssVUFBVSxDQUFDLEVBQUUsRUFBRSxXQUFXLENBQUMsRUFBRSxLQUFLLEtBQUssRUFBRXRKLEVBQUUsRUFBRSxLQUFLLEtBQUssZ0JBQWdCLEdBQUdELEdBQUcsS0FBSyxpQkFBaUIsS0FBSyxhQUFhLDBCQUEwQixFQUFFQSxFQUFFLEdBQUcsRUFBRSxLQUFLLE1BQU0sS0FBSyxPQUFPdUosR0FBRSxLQUFLLENBQUMsTUFBTSxHQUFHLEtBQUssV0FBVyxFQUFFLEVBQUUsV0FBVyxLQUFLLEtBQUssZUFBZSxJQUFJLENBQUMsRUFBRSxPQUFPLEtBQUssVUFBVSxFQUFFLEdBQUcsS0FBSyxXQUFXLEVBQUUsWUFBWSxFQUFFLEtBQUssS0FBSyxFQUFFLEtBQUssT0FBTyxJQUFJLEVBQUUsS0FBSyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsRUFBRTJCLEdBQUUsb0JBQW9CLFNBQVMsRUFBRSxDQUFDLE9BQU8sS0FBSyxLQUFLLEVBQUUxQixHQUFFLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxXQUFXLEtBQUssS0FBSyxDQUFDLEdBQUcsS0FBSyxNQUFNLEtBQUssV0FBVyw2QkFBNkIsRUFBRSxFQUFFLFNBQVMsS0FBSyxnQkFBZ0IsRUFBRSxLQUFLLFVBQVUsRUFBRSxLQUFLLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFNNkIsSUFBRyxDQUFDLEVBQUVILEdBQUUsc0JBQXNCLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsT0FBTyxhQUFhLE9BQU8sS0FBSyxXQUFXLEVBQUVoQixJQUFHLENBQUMsRUFBRSxLQUFLLGlCQUFpQixFQUFFLEVBQUVTLElBQUdGLEVBQUMsRUFBRSxLQUFLLE9BQU9sQixHQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUyQixHQUFFLGtCQUFrQixTQUFTLEVBQUUsQ0FBQyxHQUFHLEtBQUssS0FBSyxFQUFFLEVBQUUsTUFBTSxLQUFLLFdBQVcsRUFBRSxFQUFFLFFBQVEsS0FBSyxLQUFLLE9BQU8zQixHQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsS0FBSyxVQUFVLEVBQUUsS0FBSyxLQUFLLEVBQUUsS0FBSyxJQUFJQSxHQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sS0FBSyxzQkFBc0IsR0FBRyxLQUFLLFFBQVEsWUFBWSxJQUFJLEtBQUssV0FBVyxFQUFFLEVBQUUsTUFBTSxLQUFLLEtBQUssV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLEtBQUssV0FBVyxFQUFFLEVBQUUsS0FBSyxVQUFVLEVBQUUsRUFBRSxRQUFRLEtBQUssV0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDLE9BQU8sRUFBRSxVQUFVLEtBQUssSUFBSUEsR0FBRSxRQUFRLEVBQUUsS0FBSyxXQUFXLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxDQUFDLEVBQUUsV0FBVyxLQUFLLE1BQU0sRUFBRSxNQUFNLGlDQUFpQyxFQUFFLEtBQUssV0FBVyxFQUFFLGNBQWMsQ0FBQyxFQUFFMkIsR0FBRSxrQkFBa0IsU0FBUyxFQUFFLEVBQUVsTCxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssRUFBRSxLQUFLLFNBQVMsRUFBRSxHQUFHLEVBQUVBLENBQUMsRUFBRSxLQUFLLFVBQVUsRUFBRSxLQUFLLFdBQVcsRUFBRSxxQkFBcUIsQ0FBQyxFQUFFa0wsR0FBRSxvQkFBb0IsU0FBUyxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssRUFBRSxFQUFFLEtBQUssS0FBSyxxQkFBcUIsRUFBRSxLQUFLLE9BQU8sS0FBS0MsR0FBRSxFQUFFLEVBQUUsS0FBSyxLQUFLLGVBQWUsT0FBTyxFQUFFLEtBQUssT0FBTyxJQUFJLEVBQUUsS0FBSyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsRUFBRUQsR0FBRSxtQkFBbUIsU0FBUyxFQUFFLENBQUMsT0FBTyxLQUFLLFFBQVEsS0FBSyxNQUFNLEtBQUssTUFBTSx1QkFBdUIsRUFBRSxLQUFLLEtBQUssRUFBRSxFQUFFLE9BQU8sS0FBSyxxQkFBcUIsRUFBRSxFQUFFLEtBQUssS0FBSyxlQUFlLE1BQU0sRUFBRSxLQUFLLFdBQVcsRUFBRSxlQUFlLENBQUMsRUFBRUEsR0FBRSxvQkFBb0IsU0FBUyxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssRUFBRSxLQUFLLFdBQVcsRUFBRSxnQkFBZ0IsQ0FBQyxFQUFFQSxHQUFFLHNCQUFzQixTQUFTLEVBQUUsRUFBRWxMLEVBQUVDLEVBQUUsQ0FBQyxRQUFRYSxFQUFFLEVBQUVZLEVBQUUsS0FBSyxPQUFPWixFQUFFWSxFQUFFLE9BQU9aLEdBQUcsRUFBRSxDQUFDLElBQUlhLEVBQUVELEVBQUVaLENBQUMsRUFBRWEsRUFBRSxPQUFPLEdBQUcsS0FBSyxNQUFNM0IsRUFBRSxNQUFNLFVBQVUsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDLFFBQVE0QixFQUFFLEtBQUssS0FBSyxPQUFPLE9BQU8sS0FBSyxPQUFPMkgsR0FBRSxRQUFRLFNBQVMsS0FBSzFILEVBQUUsS0FBSyxPQUFPLE9BQU8sRUFBRUEsR0FBRyxFQUFFQSxJQUFJLENBQUMsSUFBSWdPLEVBQUUsS0FBSyxPQUFPaE8sQ0FBQyxFQUFFLEdBQUdnTyxFQUFFLGlCQUFpQixFQUFFLE1BQU1BLEVBQUUsZUFBZSxLQUFLLE1BQU1BLEVBQUUsS0FBS2pPLE1BQU8sTUFBSyxDQUFDLE9BQU8sS0FBSyxPQUFPLEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBS0EsRUFBRSxlQUFlLEtBQUssS0FBSyxDQUFDLEVBQUUsRUFBRSxLQUFLLEtBQUssZUFBZTNCLEVBQUVBLEVBQUUsUUFBUSxPQUFPLElBQUksR0FBR0EsRUFBRSxRQUFRQSxFQUFFLE9BQU8sRUFBRSxLQUFLLE9BQU8sSUFBSSxFQUFFLEVBQUUsTUFBTUQsRUFBRSxLQUFLLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxFQUFFa0wsR0FBRSx5QkFBeUIsU0FBUyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxFQUFFLEtBQUssVUFBVSxFQUFFLEtBQUssV0FBVyxFQUFFLHFCQUFxQixDQUFDLEVBQUVBLEdBQUUsV0FBVyxTQUFTLEVBQUUsRUFBRWxMLEVBQUUsQ0FBQyxJQUFJLElBQUksU0FBUyxFQUFFLElBQUksSUFBSSxTQUFTLEVBQUUsS0FBSyxVQUFVLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLE9BQU91SixHQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssV0FBVyxDQUFDLEVBQUUsS0FBSyxPQUFPQSxHQUFFLFFBQVEsQ0FBQyxJQUFJdEosRUFBRSxLQUFLLGVBQWUsSUFBSSxFQUFFLEVBQUUsS0FBSyxLQUFLQSxDQUFDLENBQUMsQ0FBQyxPQUFPRCxJQUFJLEtBQUssT0FBTyxJQUFJLEtBQUssS0FBSyxFQUFFLEdBQUcsS0FBSyxVQUFVLEVBQUUsS0FBSyxXQUFXLEVBQUUsZ0JBQWdCLENBQUMsRUFBRWtMLEdBQUUsU0FBUyxTQUFTLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLEVBQUUsS0FBSyxPQUFPM0IsR0FBRSxJQUFJLEVBQUUsRUFBRSxLQUFLLEtBQUssT0FBT0EsR0FBRSxLQUFLLEtBQUssS0FBSyxnQkFBZ0IsRUFBRSxLQUFLLE9BQU9BLEdBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxLQUFLLE9BQU9BLEdBQUUsT0FBTyxLQUFLLEtBQUssZ0JBQWdCLEVBQUUsS0FBSyxPQUFPQSxHQUFFLE1BQU0sRUFBRSxFQUFFLEtBQUssS0FBSyxlQUFlLEtBQUssRUFBRSxLQUFLLFVBQVUsRUFBRSxLQUFLLE9BQU8sSUFBSSxFQUFFLEtBQUssV0FBVyxFQUFFLGNBQWMsQ0FBQyxFQUFFMkIsR0FBRSxXQUFXLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSWxMLEVBQUUsS0FBSyxPQUFPdUosR0FBRSxJQUFJLE9BQU8sS0FBSyxLQUFLLEVBQUUsRUFBRSxPQUFPLHVCQUF1QixFQUFFLGFBQWEsQ0FBQyxFQUFFLE1BQU0sT0FBTyxDQUFDdkosR0FBRyxLQUFLLFFBQVEsWUFBWSxHQUFHLEtBQUssUUFBUSxFQUFFLE9BQU8sT0FBTyxFQUFFLGFBQWEsQ0FBQyxFQUFFLEdBQUcsT0FBTyxlQUFlLEtBQUssTUFBTSxFQUFFLE9BQU9BLEVBQUUsU0FBUyxVQUFVLHdEQUF3RCxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTUEsRUFBRSxLQUFLLGdCQUFnQixFQUFFLEtBQUssaUJBQWlCLEVBQUUsS0FBSyxPQUFPdUosR0FBRSxNQUFNLEVBQUUsRUFBRSxLQUFLLEtBQUssZUFBZSxLQUFLLEVBQUUsS0FBSyxVQUFVLEVBQUUsS0FBSyxPQUFPLElBQUksRUFBRSxLQUFLLFdBQVcsRUFBRXZKLEVBQUUsaUJBQWlCLGdCQUFnQixDQUFDLEVBQUVrTCxHQUFFLFNBQVMsU0FBUyxFQUFFLEVBQUVsTCxFQUFFQyxFQUFFLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQyxFQUFFLEVBQUUsS0FBS0QsSUFBSSxDQUFDLElBQUljLEVBQUUsS0FBSyxVQUFVLEVBQUUsR0FBRyxLQUFLLFdBQVdBLEVBQUVkLENBQUMsRUFBRSxLQUFLLElBQUl1SixHQUFFLEVBQUUsRUFBRXpJLEVBQUUsS0FBSyxLQUFLLGlCQUFpQixDQUFDLEVBQUUsQ0FBQ2IsR0FBR0QsSUFBSSxTQUFTLEVBQUUsS0FBSyxPQUFPdUosR0FBRSxLQUFLLEtBQUssUUFBUSxhQUFhLEdBQUcsS0FBSyxhQUFhLElBQUksR0FBRyxLQUFLLFdBQVcsRUFBRSxDQUFDdEosR0FBR2EsRUFBRSxHQUFHLE9BQU8sY0FBYyxFQUFFLElBQUksS0FBSyxPQUFPeUksR0FBRSxLQUFLLEtBQUssYUFBYSxJQUFJLElBQUksS0FBSyxNQUFNLEtBQUssV0FBVywwREFBMEQsRUFBRXpJLEVBQUUsS0FBSyxLQUFLLEVBQUUsYUFBYSxLQUFLLEtBQUssV0FBV0EsRUFBRSxvQkFBb0IsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJeUksR0FBRSxLQUFLLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFMkIsR0FBRSxXQUFXLFNBQVMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssaUJBQWlCLEVBQUUsS0FBSyxpQkFBaUIsRUFBRSxHQUFHLElBQUksTUFBTVYsSUFBR0MsR0FBRSxFQUFFLENBQUMsRUFBTWEsSUFBRyxFQUFFQyxJQUFHLEVBQUVDLElBQUcsRUFBRU4sR0FBRSxjQUFjLFNBQVMsRUFBRSxFQUFFbEwsRUFBRUMsRUFBRWEsRUFBRSxDQUFDLEtBQUssYUFBYSxDQUFDLEdBQUcsS0FBSyxRQUFRLGFBQWEsR0FBRyxLQUFLLFFBQVEsYUFBYSxHQUFHLENBQUNiLEtBQUssS0FBSyxPQUFPc0osR0FBRSxNQUFNLEVBQUVnQyxLQUFJLEtBQUssV0FBVyxFQUFFLEVBQUUsVUFBVSxLQUFLLElBQUloQyxHQUFFLElBQUksR0FBRyxLQUFLLFFBQVEsYUFBYSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUN0SixHQUFHLEVBQUVxTCxNQUFLLEVBQUUsR0FBRyxFQUFFRSxLQUFJLEtBQUssT0FBT2pDLEdBQUUsS0FBSyxLQUFLLEtBQUssV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUVnQyxNQUFLLEtBQUssZ0JBQWdCLEVBQUUsR0FBRyxLQUFLLFFBQVEsRUFBRSxXQUFXLEVBQUUsTUFBTSxLQUFLLG9CQUFvQmYsSUFBR0MsR0FBRUMsR0FBRSxHQUFHLElBQUloSixFQUFFLEtBQUssU0FBU0MsRUFBRSxLQUFLLFNBQVNDLEVBQUUsS0FBSyxjQUFjLE9BQU8sS0FBSyxTQUFTLEVBQUUsS0FBSyxTQUFTLEVBQUUsS0FBSyxjQUFjLEVBQUUsS0FBSyxXQUFXRyxJQUFHLEVBQUUsTUFBTSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUV1SixNQUFLLEVBQUUsR0FBRyxLQUFLLE9BQU8vQixHQUFFLEtBQUssS0FBSyxXQUFXLEVBQUUsTUFBTSxLQUFLLG9CQUFvQixDQUFDLEVBQUUsS0FBSyxrQkFBa0IsRUFBRXZKLEVBQUUsR0FBR2MsQ0FBQyxFQUFFLEtBQUssU0FBU1ksRUFBRSxLQUFLLFNBQVNDLEVBQUUsS0FBSyxjQUFjQyxFQUFFLEtBQUssV0FBVyxFQUFFLEVBQUUwSixJQUFHLHNCQUFzQixvQkFBb0IsQ0FBQyxFQUFFSixHQUFFLG9CQUFvQixTQUFTLEVBQUUsQ0FBQyxLQUFLLE9BQU8zQixHQUFFLE1BQU0sRUFBRSxFQUFFLE9BQU8sS0FBSyxpQkFBaUJBLEdBQUUsT0FBTyxHQUFHLEtBQUssUUFBUSxhQUFhLENBQUMsRUFBRSxLQUFLLCtCQUErQixDQUFDLEVBQUUyQixHQUFFLFdBQVcsU0FBUyxFQUFFLEVBQUUsQ0FBQyxLQUFLLEtBQUssRUFBRSxJQUFJbEwsRUFBRSxLQUFLLE9BQU8sS0FBSyxPQUFPLEdBQUcsS0FBSyxhQUFhLEVBQUUsQ0FBQyxFQUFFLEtBQUssZ0JBQWdCLENBQUMsRUFBRSxJQUFJQyxFQUFFLEtBQUssZUFBZSxFQUFFYSxFQUFFLEtBQUssVUFBVSxFQUFFWSxFQUFFLEdBQUcsSUFBSVosRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLE9BQU95SSxHQUFFLE1BQU0sRUFBRSxLQUFLLE9BQU9BLEdBQUUsUUFBUSxDQUFDLElBQUk1SCxFQUFFLEtBQUssa0JBQWtCLEVBQUUsYUFBYSxJQUFJLEVBQUVBLElBQUliLEVBQUUsS0FBSyxLQUFLYSxDQUFDLEVBQUVBLEVBQUUsT0FBTyxvQkFBb0JBLEVBQUUsT0FBTyxlQUFlRCxHQUFHLEtBQUssaUJBQWlCQyxFQUFFLE1BQU0seUNBQXlDLEVBQUVELEVBQUUsSUFBSUMsRUFBRSxLQUFLQSxFQUFFLElBQUksT0FBTyxxQkFBcUJRLElBQUdsQyxFQUFFMEIsQ0FBQyxHQUFHLEtBQUssaUJBQWlCQSxFQUFFLElBQUksTUFBTSxnQkFBZ0JBLEVBQUUsSUFBSSxLQUFLLDZCQUE2QixFQUFFLENBQUMsT0FBTyxLQUFLLE9BQU8zQixFQUFFLEtBQUssS0FBSyxFQUFFLEVBQUUsS0FBSyxLQUFLLFdBQVdjLEVBQUUsV0FBVyxFQUFFLEtBQUssY0FBYyxFQUFFLEtBQUssV0FBVyxFQUFFLEVBQUUsbUJBQW1CLGlCQUFpQixDQUFDLEVBQUVvSyxHQUFFLGtCQUFrQixTQUFTLEVBQUUsQ0FBQyxHQUFHLEtBQUssSUFBSTNCLEdBQUUsSUFBSSxFQUFFLE9BQU8sS0FBSyxJQUFJLEVBQUUsS0FBSyxRQUFRLFlBQVl2SixFQUFFLEtBQUssVUFBVSxFQUFFQyxFQUFFLEdBQUdhLEVBQUUsR0FBR1ksRUFBRSxHQUFHQyxFQUFFLFNBQVNDLEVBQUUsR0FBRyxHQUFHLEtBQUssY0FBYyxRQUFRLEVBQUUsQ0FBQyxHQUFHLEdBQUcsSUFBSSxLQUFLLElBQUkySCxHQUFFLE1BQU0sRUFBRSxPQUFPLEtBQUssc0JBQXNCdkosQ0FBQyxFQUFFQSxFQUFFLEtBQUssd0JBQXdCLEdBQUcsS0FBSyxPQUFPdUosR0FBRSxLQUFLM0gsRUFBRSxHQUFHM0IsRUFBRSxRQUFRLENBQUMsR0FBR0QsRUFBRSxPQUFPNEIsRUFBRSxDQUFDM0IsR0FBRyxHQUFHLEdBQUcsS0FBSyxjQUFjLE9BQU8sS0FBSyxLQUFLLHdCQUF3QixHQUFHLEtBQUssT0FBT3NKLEdBQUUsT0FBTyxDQUFDLEtBQUssbUJBQW1CLEVBQUU3SCxFQUFFLEdBQUd6QixFQUFFLFNBQVMsQ0FBQ0EsSUFBSSxHQUFHLEdBQUcsQ0FBQ3lCLElBQUksS0FBSyxJQUFJNkgsR0FBRSxJQUFJLElBQUl6SSxFQUFFLElBQUksQ0FBQ2IsR0FBRyxDQUFDeUIsR0FBRyxDQUFDWixFQUFFLENBQUMsSUFBSWUsRUFBRSxLQUFLLE9BQU8sS0FBSyxjQUFjLEtBQUssR0FBRyxLQUFLLGNBQWMsS0FBSyxLQUFLLEtBQUssd0JBQXdCLEVBQUVGLEVBQUVFLEVBQUU1QixFQUFFNEIsRUFBRSxDQUFDLEdBQUc1QixHQUFHRCxFQUFFLFNBQVMsR0FBR0EsRUFBRSxJQUFJLEtBQUssWUFBWSxLQUFLLGFBQWEsS0FBSyxlQUFlLEVBQUVBLEVBQUUsSUFBSSxLQUFLQyxFQUFFLEtBQUssV0FBV0QsRUFBRSxJQUFJLFlBQVksR0FBRyxLQUFLLHNCQUFzQkEsQ0FBQyxFQUFFLEVBQUUsSUFBSSxLQUFLLE9BQU91SixHQUFFLFFBQVE1SCxJQUFJLFVBQVViLEdBQUdZLEVBQUUsQ0FBQyxJQUFJbU8sRUFBRSxDQUFDN1AsRUFBRSxRQUFRb0MsSUFBR3BDLEVBQUUsYUFBYSxFQUFFOFAsRUFBRUQsR0FBRyxFQUFFQSxHQUFHbE8sSUFBSSxVQUFVLEtBQUssTUFBTTNCLEVBQUUsSUFBSSxNQUFNLHlDQUF5QyxFQUFFQSxFQUFFLEtBQUs2UCxFQUFFLGNBQWNsTyxFQUFFLEtBQUssaUJBQWlCM0IsRUFBRWMsRUFBRVksRUFBRW9PLENBQUMsQ0FBQyxNQUFNLEtBQUssZ0JBQWdCOVAsQ0FBQyxFQUFFLE9BQU9BLENBQUMsRUFBRWtMLEdBQUUsd0JBQXdCLFVBQVUsQ0FBQyxPQUFPLEtBQUssT0FBTzNCLEdBQUUsTUFBTSxLQUFLLE9BQU9BLEdBQUUsV0FBVyxLQUFLLE9BQU9BLEdBQUUsS0FBSyxLQUFLLE9BQU9BLEdBQUUsUUFBUSxLQUFLLE9BQU9BLEdBQUUsVUFBVSxLQUFLLEtBQUssT0FBTyxFQUFFMkIsR0FBRSxzQkFBc0IsU0FBUyxFQUFFLENBQUMsS0FBSyxPQUFPM0IsR0FBRSxXQUFXLEtBQUssUUFBUSxlQUFlLEtBQUssTUFBTSxLQUFLLE1BQU0sb0RBQW9ELEVBQUUsRUFBRSxTQUFTLEdBQUcsRUFBRSxJQUFJLEtBQUssa0JBQWtCLEdBQUcsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDLEVBQUUyQixHQUFFLGlCQUFpQixTQUFTLEVBQUUsRUFBRWxMLEVBQUVDLEVBQUUsQ0FBQyxJQUFJYSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sZUFBZSxHQUFHLEtBQUssTUFBTUEsRUFBRSxNQUFNLGtDQUFrQyxFQUFFZCxHQUFHLEtBQUssTUFBTWMsRUFBRSxNQUFNLHNDQUFzQyxHQUFHLEVBQUUsUUFBUXNCLElBQUcsRUFBRSxXQUFXLEdBQUcsS0FBSyxNQUFNdEIsRUFBRSxNQUFNLHdEQUF3RCxFQUFFLElBQUlZLEVBQUUsRUFBRSxNQUFNLEtBQUssWUFBWSxFQUFFMUIsRUFBRUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLE9BQU95QixFQUFFLE9BQU8sU0FBUyxHQUFHLEtBQUssaUJBQWlCQSxFQUFFLE1BQU0sOEJBQThCLEVBQUUsRUFBRSxPQUFPLE9BQU9BLEVBQUUsT0FBTyxTQUFTLEdBQUcsS0FBSyxpQkFBaUJBLEVBQUUsTUFBTSxzQ0FBc0MsRUFBRSxFQUFFLE9BQU8sT0FBT0EsRUFBRSxPQUFPLENBQUMsRUFBRSxPQUFPLGVBQWUsS0FBSyxpQkFBaUJBLEVBQUUsT0FBTyxDQUFDLEVBQUUsTUFBTSwrQkFBK0IsRUFBRSxLQUFLLFdBQVcsRUFBRSxrQkFBa0IsQ0FBQyxFQUFFd0osR0FBRSxnQkFBZ0IsU0FBUyxFQUFFLENBQUMsR0FBRzlJLElBQUcsRUFBRSxhQUFhLEVBQUUsS0FBSyxNQUFNLEVBQUUsSUFBSSxNQUFNLGdEQUFnRCxFQUFFLEVBQUUsUUFBUUEsSUFBRyxFQUFFLFdBQVcsR0FBRyxLQUFLLE1BQU0sRUFBRSxJQUFJLE1BQU0scURBQXFELEVBQUUsS0FBSyxJQUFJbUgsR0FBRSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxpQkFBaUIsRUFBRXZKLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxpQkFBaUIsR0FBRyxFQUFFLE1BQU0sS0FBSyxpQkFBaUIsRUFBRSxFQUFFLGlCQUFpQkEsQ0FBQyxNQUFNLEVBQUUsTUFBTSxLQUFLLE9BQU8sS0FBSyxVQUFVLEVBQUUsS0FBSyxXQUFXLEVBQUUsb0JBQW9CLENBQUMsRUFBRWtMLEdBQUUsc0JBQXNCLFNBQVMsRUFBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssT0FBTyxJQUFJLEtBQUssT0FBTyxDQUFDLEVBQUUsS0FBSyxXQUFXYixJQUFHRixHQUFFLEVBQUUsS0FBSyxPQUFPWixHQUFFLFFBQVEsQ0FBQyxJQUFJdkosRUFBRSxLQUFLLGVBQWUsSUFBSSxFQUFFLEVBQUUsS0FBSyxLQUFLQSxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssS0FBSyxFQUFFLEtBQUssVUFBVSxFQUFFLEtBQUssT0FBTyxFQUFFLEtBQUssV0FBVyxFQUFFLGFBQWEsQ0FBQyxFQUFFa0wsR0FBRSxhQUFhLFNBQVMsRUFBRSxFQUFFLENBQUMsS0FBSyxPQUFPM0IsR0FBRSxNQUFNLEVBQUUsR0FBRyxLQUFLLFdBQVcsRUFBRSxHQUFHLEtBQUssZ0JBQWdCLEVBQUUsR0FBR2tCLEdBQUUsRUFBRSxJQUFJLElBQUksSUFBSSxLQUFLLFdBQVcsRUFBRSxFQUFFLEdBQUcsS0FBSyxFQUFFUyxHQUFFLGdCQUFnQixTQUFTLEVBQUUsQ0FBQyxFQUFFLFdBQVcsS0FBSyxJQUFJM0IsR0FBRSxRQUFRLEVBQUUsS0FBSyxvQkFBb0IsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFMkIsR0FBRSxlQUFlLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxTQUFTLE9BQU8sT0FBTyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxPQUFPLEtBQUssaUJBQWlCLEtBQUssQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFQSxHQUFFLGNBQWMsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLGlCQUFpQixJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVNsTCxFQUFFLEVBQUUsS0FBSyxHQUFHLEtBQUssUUFBUSxtQkFBbUIsUUFBUUMsRUFBRSxLQUFLLGlCQUFpQixPQUFPYSxFQUFFYixJQUFJLEVBQUUsS0FBSyxLQUFLLGlCQUFpQkEsRUFBRSxDQUFDLEVBQUV5QixFQUFFLEVBQUVBLEVBQUUxQixFQUFFLE9BQU8sRUFBRTBCLEVBQUUsQ0FBQyxJQUFJQyxFQUFFM0IsRUFBRTBCLENBQUMsRUFBRUosSUFBRSxFQUFFSyxFQUFFLElBQUksSUFBSWIsRUFBRUEsRUFBRSxLQUFLLEtBQUthLENBQUMsRUFBRSxLQUFLLGlCQUFpQkEsRUFBRSxNQUFNLG1CQUFtQkEsRUFBRSxLQUFLLDBDQUEwQyxFQUFFLENBQUMsRUFBa1p1SixHQUFFLDBCQUEwQixTQUFTLEVBQUUsRUFBRSxDQUFDLE9BQU8sS0FBSyxRQUFRLGFBQWEsS0FBSyxLQUFLLGNBQWMsSUFBSSxHQUFHLEVBQUUsU0FBUyxLQUFLLHNCQUFzQixFQUFFLEtBQUssWUFBWSxFQUFFLEVBQUUsU0FBUyxLQUFLLFlBQVksR0FBRyxFQUFFLFNBQVMsTUFBTSxLQUFLLGlCQUFpQixNQUFNLEVBQUUsS0FBSyxPQUFPM0IsR0FBRSxRQUFRLEtBQUssV0FBVyxFQUFFLEVBQUUsT0FBTyxLQUFLLGNBQWMsRUFBRSxLQUFLLFFBQVEsYUFBYSxLQUFLLEVBQUUsV0FBVyxLQUFLLGdCQUFnQixHQUFHLEtBQUssVUFBVSxFQUFFLEtBQUssV0FBVyxFQUFFLHNCQUFzQixDQUFDLEVBQUUyQixHQUFFLFlBQVksU0FBUyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssS0FBSyxFQUFFLEtBQUssSUFBSTNCLEdBQUUsSUFBSSxFQUFFLE9BQU8sS0FBSywwQkFBMEIsRUFBRSxDQUFDLEVBQUUsR0FBRyxLQUFLLElBQUlBLEdBQUUsUUFBUSxFQUFFLE9BQU8sS0FBSyxZQUFZLEVBQUUsVUFBVSxLQUFLLFlBQVksRUFBRSxFQUFFLFlBQVksS0FBSyw4QkFBOEIsRUFBRSxLQUFLLFdBQVcsRUFBRSwwQkFBMEIsRUFBRSxHQUFHLEtBQUssMkJBQTJCLEVBQUUsRUFBRSxZQUFZLEtBQUssdUJBQXVCLENBQUMsRUFBRSxFQUFFLFlBQVksT0FBTyxzQkFBc0IsS0FBSyxvQkFBb0IsRUFBRSxFQUFFLFlBQVksWUFBWSxFQUFFLEtBQUssWUFBWSxFQUFFLEVBQUUsWUFBWSxHQUFHLEVBQUUsWUFBWSxHQUFHLEtBQUssRUFBRSxFQUFFLFdBQVcsQ0FBQyxFQUFFLEVBQUUsT0FBTyxTQUFTLENBQUMsR0FBRyxFQUFFLFlBQVksS0FBSyxFQUFFLFdBQVcsS0FBSyxzQkFBc0IsQ0FBQyxFQUFFLEtBQUssY0FBYyxNQUFNLEVBQUUsS0FBSyxPQUFPQSxHQUFFLFFBQVEsS0FBSyxXQUFXLEVBQUUsRUFBRSxPQUFPLEtBQUssY0FBYyxFQUFFLEtBQUssUUFBUSxhQUFhLEtBQUssRUFBRSxXQUFXLEtBQUssZ0JBQWdCLE9BQU8sQ0FBQyxRQUFRdkosRUFBRSxFQUFFQyxFQUFFLEVBQUUsV0FBV0QsRUFBRUMsRUFBRSxPQUFPRCxHQUFHLEVBQUUsQ0FBQyxJQUFJYyxFQUFFYixFQUFFRCxDQUFDLEVBQUUsS0FBSyxnQkFBZ0JjLEVBQUUsS0FBSyxFQUFFLEtBQUssaUJBQWlCQSxFQUFFLEtBQUssRUFBRUEsRUFBRSxNQUFNLE9BQU8sV0FBVyxLQUFLLE1BQU1BLEVBQUUsTUFBTSxNQUFNLHdFQUF3RSxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUksQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU8sS0FBSyxXQUFXLEVBQUUsd0JBQXdCLENBQUMsRUFBRW9LLEdBQUUsdUJBQXVCLFNBQVMsRUFBRSxDQUFDLE9BQU8sS0FBSyxlQUFlLElBQUksQ0FBQyxFQUFFQSxHQUFFLDhCQUE4QixVQUFVLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxPQUFPM0IsR0FBRSxZQUFZLEVBQUUsS0FBSyxnQkFBZ0IsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLFVBQVUsRUFBRSxPQUFPLEtBQUssS0FBSyxFQUFFLEdBQUcsS0FBSyxLQUFLLEVBQUUsS0FBSyxjQUFjLEVBQUUrQixJQUFHRSxJQUFHLEdBQUcsQ0FBQyxDQUFDLFNBQVMsS0FBSyxPQUFPakMsR0FBRSxPQUFPLENBQUMsSUFBSXZKLEVBQUUsS0FBSyxVQUFVLEVBQUUsT0FBTyxLQUFLLFdBQVdBLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJQyxFQUFFLEtBQUssaUJBQWlCLEVBQUUsT0FBTyxLQUFLLFVBQVUsRUFBRUEsQ0FBQyxDQUFDLEVBQUVpTCxHQUFFLFlBQVksU0FBUyxFQUFFLEVBQUVsTCxFQUFFLENBQUMsSUFBSSxPQUFPLEdBQUcsV0FBVyxFQUFFLEVBQUUsT0FBTyxhQUFhLEVBQUUsS0FBSyxFQUFFLE9BQU9zQixJQUFFLEVBQUUsQ0FBQyxHQUFHLEtBQUssaUJBQWlCdEIsRUFBRSxxQkFBcUIsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFa0wsR0FBRSxtQkFBbUIsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJbEwsRUFBRSxFQUFFLEtBQUssR0FBR0EsSUFBSSxhQUFhLEtBQUssWUFBWSxFQUFFLEVBQUUsRUFBRSxLQUFLLFVBQVVBLElBQUksZ0JBQWdCLFFBQVFDLEVBQUUsRUFBRWEsRUFBRSxFQUFFLFdBQVdiLEVBQUVhLEVBQUUsT0FBT2IsR0FBRyxFQUFFLENBQUMsSUFBSXlCLEVBQUVaLEVBQUViLENBQUMsRUFBRSxLQUFLLG1CQUFtQixFQUFFeUIsQ0FBQyxDQUFDLFNBQVMxQixJQUFJLGVBQWUsUUFBUTJCLEVBQUUsRUFBRUMsRUFBRSxFQUFFLFNBQVNELEVBQUVDLEVBQUUsT0FBT0QsR0FBRyxFQUFFLENBQUMsSUFBSUUsRUFBRUQsRUFBRUQsQ0FBQyxFQUFFRSxHQUFHLEtBQUssbUJBQW1CLEVBQUVBLENBQUMsQ0FBQyxNQUFNN0IsSUFBSSxXQUFXLEtBQUssbUJBQW1CLEVBQUUsRUFBRSxLQUFLLEVBQUVBLElBQUksb0JBQW9CLEtBQUssbUJBQW1CLEVBQUUsRUFBRSxJQUFJLEVBQUVBLElBQUksZUFBZSxLQUFLLG1CQUFtQixFQUFFLEVBQUUsUUFBUSxDQUFDLEVBQUVrTCxHQUFFLG9CQUFvQixTQUFTLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxRQUFRbEwsRUFBRSxFQUFFQyxFQUFFLEVBQUVELEVBQUVDLEVBQUUsT0FBT0QsR0FBRyxFQUFFLENBQUMsSUFBSWMsRUFBRWIsRUFBRUQsQ0FBQyxFQUFFLEtBQUssbUJBQW1CLEVBQUVjLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRW9LLEdBQUUsMkJBQTJCLFVBQVUsQ0FBQyxPQUFPLEtBQUssS0FBSyxVQUFVLE9BQU8sS0FBSyxLQUFLLFVBQVUsU0FBUyxLQUFLLEtBQUssVUFBVSxTQUFTLEtBQUssS0FBSyxVQUFVLFlBQVksS0FBSyxNQUFNLEdBQUcsS0FBSyxnQkFBZ0IsQ0FBQyxFQUFFQSxHQUFFLHFCQUFxQixTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sS0FBSyxzQkFBc0IsRUFBRSxFQUFFLFNBQVMsS0FBSyxjQUFjLElBQUksRUFBRSxLQUFLLHNCQUFzQixFQUFFLEVBQUUsTUFBTSxLQUFLLFlBQVksRUFBRSxFQUFFLFNBQVMsRUFBRSxTQUFTLEtBQUssRUFBRSxLQUFLLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFQSxHQUFFLHNCQUFzQixTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFbEwsRUFBRSxHQUFHLElBQUksS0FBSyxPQUFPdUosR0FBRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLElBQUlBLEdBQUUsTUFBTSxHQUFHLENBQUMsR0FBR3ZKLEVBQUVBLEVBQUUsV0FBVyxLQUFLLE9BQU91SixHQUFFLEtBQUssRUFBRSxLQUFLLG1CQUFtQkEsR0FBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssS0FBSyxxQkFBcUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRTJCLEdBQUUsWUFBWSxTQUFTLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxFQUFFLEtBQUssT0FBTzNCLEdBQUUsUUFBUSxFQUFFLFdBQVc4QixJQUFHLEVBQUUsT0FBTyxLQUFLLGNBQWMsSUFBSSxFQUFFLFdBQVcsS0FBSyxzQkFBc0IsRUFBRSxLQUFLLGlCQUFpQixNQUFNLEVBQUUsRUFBRSxPQUFPLEtBQUssT0FBTzlCLEdBQUUsT0FBTyxLQUFLLGNBQWMsRUFBRSxLQUFLLFdBQVcsR0FBRyxLQUFLLFFBQVEsYUFBYSxLQUFLLEVBQUUsV0FBVyxLQUFLLGdCQUFnQixHQUFHLEtBQUssVUFBVSxFQUFFLEtBQUssV0FBVyxFQUFFLG1CQUFtQixDQUFDLEVBQUUyQixHQUFFLHFCQUFxQixVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssVUFBVSxFQUFFLE9BQU8sRUFBRSxTQUFTLEtBQUssc0JBQXNCLEVBQUUsS0FBSyxjQUFjLElBQUksRUFBRSxFQUFFLE1BQU0sS0FBSyxXQUFXLEdBQUcsS0FBSyxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsVUFBVSxLQUFLLGdCQUFnQixFQUFFLE1BQU1ULEVBQUMsRUFBRSxLQUFLLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFUyxHQUFFLDRCQUE0QixVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLEtBQUssV0FBVyxFQUFFLEtBQUssZ0JBQWdCLEVBQUUsTUFBTVQsRUFBQyxFQUFFLEtBQUssV0FBVyxFQUFFLHdCQUF3QixDQUFDLEVBQUVTLEdBQUUsOEJBQThCLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxVQUFVLEVBQUUsT0FBTyxLQUFLLEtBQUssRUFBRSxLQUFLLGlCQUFpQixJQUFJLEVBQUUsRUFBRSxNQUFNLEtBQUssV0FBVyxFQUFFLEtBQUssZ0JBQWdCLEVBQUUsTUFBTVQsRUFBQyxFQUFFLEtBQUssV0FBVyxFQUFFLDBCQUEwQixDQUFDLEVBQUVTLEdBQUUsc0JBQXNCLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsR0FBRyxHQUFHLEtBQUssT0FBTzNCLEdBQUUsT0FBTyxFQUFFLEtBQUssS0FBSyw0QkFBNEIsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJQSxHQUFFLEtBQUssR0FBRyxPQUFPLEVBQUUsR0FBRyxLQUFLLE9BQU9BLEdBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxLQUFLLDhCQUE4QixDQUFDLEVBQUUsRUFBRSxJQUFJLEtBQUssT0FBT0EsR0FBRSxNQUFNLEVBQUUsQ0FBQyxLQUFLLElBQUlBLEdBQUUsTUFBTSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsV0FBVyxLQUFLLE9BQU9BLEdBQUUsS0FBSyxFQUFFLEtBQUssbUJBQW1CQSxHQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxLQUFLLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRTJCLEdBQUUsZ0JBQWdCLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLElBQUkzQixHQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsS0FBSyxPQUFPQSxHQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFdkosRUFBRSxHQUFHLENBQUMsS0FBSyxJQUFJdUosR0FBRSxNQUFNLEdBQUcsQ0FBQyxHQUFHdkosRUFBRUEsRUFBRSxXQUFXLEtBQUssT0FBT3VKLEdBQUUsS0FBSyxFQUFFLEtBQUssbUJBQW1CQSxHQUFFLE1BQU0sRUFBRSxNQUFNLElBQUl0SixFQUFFLEtBQUsscUJBQXFCLEVBQUVhLEVBQUViLEVBQUUsSUFBSSxPQUFPLGFBQWFBLEVBQUUsSUFBSSxLQUFLQSxFQUFFLElBQUksTUFBTXFCLElBQUUsRUFBRVIsQ0FBQyxHQUFHLEtBQUssaUJBQWlCYixFQUFFLElBQUksTUFBTSw0QkFBNEJhLEVBQUUsR0FBRyxFQUFFLEVBQUVBLENBQUMsRUFBRSxHQUFHLEVBQUUsS0FBS2IsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUVpTCxHQUFFLHFCQUFxQixVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssVUFBVSxFQUFFLE9BQU8sRUFBRSxJQUFJLEtBQUssT0FBTzNCLEdBQUUsT0FBTyxLQUFLLGNBQWMsRUFBRSxLQUFLLFdBQVcsS0FBSyxRQUFRLGdCQUFnQixPQUFPLEVBQUUsS0FBSyxPQUFPQSxHQUFFLEtBQUssRUFBRSxLQUFLLE9BQU9BLEdBQUUsUUFBUSxLQUFLLFdBQVcsRUFBRSxFQUFFLE1BQU0sS0FBSyxjQUFjLEVBQUUsS0FBSyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsRUFBRTJCLEdBQUUsc0JBQXNCLFVBQVUsQ0FBQyxHQUFHLEtBQUssUUFBUSxhQUFhLElBQUksS0FBSyxPQUFPM0IsR0FBRSxPQUFPLENBQUMsSUFBSSxFQUFFLEtBQUssYUFBYSxLQUFLLEtBQUssRUFBRSxPQUFPUSxJQUFHLEtBQUssRUFBRSxLQUFLLEdBQUcsS0FBSyxNQUFNLEVBQUUsTUFBTSxpREFBaUQsRUFBRSxDQUFDLENBQUMsT0FBTyxLQUFLLFdBQVcsRUFBRSxDQUFDLEVBQUVtQixHQUFFLHVCQUF1QixTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxLQUFLLHFCQUFxQixFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFdBQVcsSUFBSSxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUVBLEdBQUUscUJBQXFCLFNBQVMsRUFBRSxDQUFDLE9BQU8sS0FBSyxRQUFRLGFBQWEsR0FBRyxFQUFFLE9BQU8sdUJBQXVCLEVBQUUsV0FBVyxPQUFPLFdBQVcsT0FBTyxFQUFFLFdBQVcsT0FBTyxXQUFXLEtBQUssTUFBTSxFQUFFLEtBQUssSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFLEtBQUssSUFBSSxJQUFJLEVBQU1PLEdBQUVaLEdBQUUsVUFBVVksR0FBRSxhQUFhLFNBQVMsRUFBRSxFQUFFekwsRUFBRSxDQUFDLEdBQUcsS0FBSyxRQUFRLGFBQWEsR0FBRyxFQUFFLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSSxhQUFhLEtBQUssU0FBUyxFQUFFLE9BQU8sU0FBUyxLQUFLLE1BQU0sRUFBRSxNQUFNLDJEQUEyRCxFQUFFLE1BQU0sSUFBSSxnQkFBZ0IsSUFBSSxlQUFlLElBQUksb0JBQW9CLElBQUksY0FBYyxNQUFNLElBQUksbUJBQW1CLEVBQUUsS0FBSyxnQkFBZ0JBLEdBQUcsS0FBSyxtQkFBbUJBLEVBQUUsRUFBRSxFQUFFLFFBQVFDLEVBQUUsRUFBRWEsRUFBRSxFQUFFLFdBQVdiLEVBQUVhLEVBQUUsT0FBT2IsR0FBRyxFQUFFLENBQUMsSUFBSXlCLEVBQUVaLEVBQUViLENBQUMsRUFBRSxLQUFLLGFBQWF5QixFQUFFLENBQUMsRUFBRUEsRUFBRSxPQUFPLGdCQUFnQkEsRUFBRSxTQUFTLE9BQU8sZ0JBQWdCQSxFQUFFLFNBQVMsT0FBTyxrQkFBa0IsS0FBSyxNQUFNQSxFQUFFLFNBQVMsTUFBTSxrQkFBa0IsQ0FBQyxDQUFDLE1BQU0sSUFBSSxXQUFXLEVBQUUsT0FBTyxRQUFRLEtBQUssTUFBTSxFQUFFLElBQUksTUFBTSwrQ0FBK0MsRUFBRSxLQUFLLGFBQWEsRUFBRSxNQUFNLENBQUMsRUFBRSxNQUFNLElBQUksa0JBQWtCLEVBQUUsS0FBSyxlQUFlMUIsR0FBRyxLQUFLLG1CQUFtQkEsRUFBRSxFQUFFLEVBQUUsS0FBSyxpQkFBaUIsRUFBRSxTQUFTLENBQUMsRUFBRSxNQUFNLElBQUksZ0JBQWdCLEVBQUUsS0FBSyxjQUFjLEtBQUssYUFBYSxFQUFFLFNBQVMsQ0FBQyxFQUFFLEVBQUUsU0FBUyxPQUFPLHFCQUFxQixLQUFLLE1BQU0sRUFBRSxTQUFTLE1BQU0sMkNBQTJDLEVBQUUsTUFBTSxJQUFJLHVCQUF1QixFQUFFLFdBQVcsS0FBSyxLQUFLLE1BQU0sRUFBRSxLQUFLLElBQUksNkRBQTZELEVBQUUsRUFBRSxLQUFLLG9CQUFvQixPQUFPLEVBQUUsU0FBUyxLQUFLLGFBQWEsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLElBQUksMEJBQTBCLEtBQUssYUFBYSxFQUFFLFdBQVcsRUFBRUEsQ0FBQyxFQUFFLE1BQU0sSUFBSSxrQkFBa0IsS0FBSyxpQkFBaUIsRUFBRSxNQUFNLG1EQUFtRCxFQUFFLE1BQU0sSUFBSSxtQkFBbUIsR0FBRyxDQUFDLEVBQUUsTUFBTSxRQUFRLEtBQUssTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUMsTUFBTUEsR0FBRyxLQUFLLG1CQUFtQkEsRUFBRSxFQUFFLEVBQUUsT0FBTyxDQUFDLEVBQUV5TCxHQUFFLGlCQUFpQixTQUFTLEVBQUUsRUFBRSxDQUFDLFFBQVF6TCxFQUFFLEVBQUUsT0FBT0MsRUFBRSxFQUFFQSxFQUFFRCxFQUFFQyxJQUFJLENBQUMsSUFBSWEsRUFBRSxFQUFFYixDQUFDLEVBQUVhLEdBQUcsS0FBSyxhQUFhQSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUdkLEVBQUUsQ0FBQyxJQUFJMEIsRUFBRSxFQUFFMUIsRUFBRSxDQUFDLEVBQUUsS0FBSyxRQUFRLGNBQWMsR0FBRyxHQUFHMEIsR0FBR0EsRUFBRSxPQUFPLGVBQWVBLEVBQUUsU0FBUyxPQUFPLGNBQWMsS0FBSyxXQUFXQSxFQUFFLFNBQVMsS0FBSyxDQUFDLENBQUMsT0FBTyxDQUFDLEVBQUUrSixHQUFFLFlBQVksU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssVUFBVSxFQUFFLE9BQU8sS0FBSyxLQUFLLEVBQUUsRUFBRSxTQUFTLEtBQUssaUJBQWlCLEdBQUcsQ0FBQyxFQUFFLEtBQUssV0FBVyxFQUFFLGVBQWUsQ0FBQyxFQUFFQSxHQUFFLGlCQUFpQixVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssVUFBVSxFQUFFLE9BQU8sS0FBSyxLQUFLLEVBQUUsS0FBSyxRQUFRLGNBQWMsR0FBRyxLQUFLLE9BQU9sQyxHQUFFLE1BQU0sS0FBSyxXQUFXLEVBQUUsRUFBRSxTQUFTLEtBQUssaUJBQWlCLEVBQUUsS0FBSyxXQUFXLEVBQUUsYUFBYSxDQUFDLEVBQUVrQyxHQUFFLGlCQUFpQixVQUFVLENBQUMsR0FBRyxLQUFLLFFBQVEsYUFBYSxFQUFFLE9BQU8sS0FBSyxLQUFLLENBQUMsS0FBS2xDLEdBQUUsU0FBUyxJQUFJLEVBQUUsS0FBSyxVQUFVLEVBQUUsT0FBTyxLQUFLLEtBQUssRUFBRSxFQUFFLFNBQVMsS0FBSyxpQkFBaUJBLEdBQUUsU0FBUyxHQUFHLEVBQUUsRUFBRSxLQUFLLFdBQVcsRUFBRSxjQUFjLEVBQUUsS0FBS0EsR0FBRSxPQUFPLE9BQU8sS0FBSyxTQUFTLEVBQUUsQ0FBQyxDQUFDLE9BQU8sS0FBSyxXQUFXLENBQUMsRUFBRWtDLEdBQUUsaUJBQWlCLFNBQVMsRUFBRSxFQUFFekwsRUFBRUMsRUFBRSxDQUFDLFFBQVFhLEVBQUUsQ0FBQyxFQUFFWSxFQUFFLEdBQUcsQ0FBQyxLQUFLLElBQUksQ0FBQyxHQUFHLEdBQUdBLEVBQUVBLEVBQUUsR0FBRyxLQUFLLE9BQU82SCxHQUFFLEtBQUssRUFBRSxHQUFHLEtBQUssT0FBT0EsR0FBRSxNQUFNekksRUFBRSxLQUFLLElBQUksTUFBTSxDQUFDLEdBQUdkLEdBQUcsS0FBSyxtQkFBbUIsQ0FBQyxFQUFFLE1BQU0sR0FBRyxLQUFLLE9BQU91SixHQUFFLFNBQVMsQ0FBQyxJQUFJNUgsRUFBRSxLQUFLLGlCQUFpQixFQUFFLEtBQUsscUJBQXFCQSxDQUFDLEVBQUViLEVBQUUsS0FBS2EsQ0FBQyxFQUFFLEtBQUssT0FBTzRILEdBQUUsT0FBTyxLQUFLLGlCQUFpQixLQUFLLE1BQU0sK0NBQStDLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxLQUFLLE1BQU16SSxFQUFFLEtBQUssS0FBSyx3QkFBd0JiLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBT2EsQ0FBQyxFQUFFMkssR0FBRSx3QkFBd0IsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssa0JBQWtCLEtBQUssTUFBTSxLQUFLLFFBQVEsRUFBRSxPQUFPLEtBQUsscUJBQXFCLENBQUMsRUFBRSxDQUFDLEVBQUVBLEdBQUUscUJBQXFCLFNBQVMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxFQUFFQSxHQUFFLGtCQUFrQixTQUFTLEVBQUUsRUFBRXpMLEVBQUUsQ0FBQyxHQUFHQSxFQUFFQSxHQUFHLEtBQUssaUJBQWlCLEVBQUUsS0FBSyxRQUFRLFlBQVksR0FBRyxDQUFDLEtBQUssSUFBSXVKLEdBQUUsRUFBRSxFQUFFLE9BQU92SixFQUFFLElBQUlDLEVBQUUsS0FBSyxZQUFZLEVBQUUsQ0FBQyxFQUFFLE9BQU9BLEVBQUUsS0FBS0QsRUFBRUMsRUFBRSxNQUFNLEtBQUssaUJBQWlCLEVBQUUsS0FBSyxXQUFXQSxFQUFFLG1CQUFtQixDQUFDLEVBQUV3TCxHQUFFLGdCQUFnQixTQUFTLEVBQUUsRUFBRXpMLEVBQUUsQ0FBQyxJQUFJLFNBQVMsRUFBRXVLLEtBQUksSUFBSXRLLEVBQUUsSUFBSXNLLElBQUcsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLGFBQWEsS0FBSyxRQUFRLEtBQUssd0JBQXdCLEtBQUssRUFBRSxJQUFJLEdBQUcsS0FBSyxpQkFBaUIsRUFBRSxPQUFPdEssRUFBRSxXQUFXLGlCQUFpQixFQUFFLEtBQUssaUJBQWlCLEVBQUVBLElBQUksSUFBSXdLLElBQUcsRUFBRSxPQUFPLE9BQU8sS0FBSyxpQkFBaUIsRUFBRSxNQUFNLDZDQUE2QyxFQUFFekssSUFBSXNCLElBQUV0QixFQUFFLEVBQUUsSUFBSSxHQUFHLEtBQUssaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsRUFBRUEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLElBQUk0SyxLQUFJLEtBQUssWUFBWSxFQUFFLEtBQUssRUFBRSxFQUFFLEtBQUssR0FBRyxNQUFNLElBQUksa0JBQWtCLEtBQUssaUJBQWlCLEVBQUUsTUFBTSxtREFBbUQsRUFBRSxNQUFNLElBQUksbUJBQW1CM0ssR0FBRyxLQUFLLGlCQUFpQixFQUFFLE1BQU0sMkJBQTJCLEVBQUUsTUFBTSxJQUFJLDBCQUEwQixPQUFPQSxHQUFHLEtBQUssaUJBQWlCLEVBQUUsTUFBTSxrQ0FBa0MsRUFBRSxLQUFLLGdCQUFnQixFQUFFLFdBQVcsRUFBRUQsQ0FBQyxFQUFFLFFBQVEsS0FBSyxNQUFNLEVBQUUsT0FBT0MsRUFBRSxVQUFVLGdCQUFnQixTQUFTLENBQUMsQ0FBQyxFQUFFd0wsR0FBRSxpQkFBaUIsU0FBUyxFQUFFLEVBQUV6TCxFQUFFLENBQUMsT0FBTyxJQUFJLFNBQVMsRUFBRXVLLEtBQUksRUFBRSxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsUUFBUXRLLEVBQUUsRUFBRWEsRUFBRSxFQUFFLFdBQVdiLEVBQUVhLEVBQUUsT0FBT2IsR0FBRyxFQUFFLENBQUMsSUFBSXlCLEVBQUVaLEVBQUViLENBQUMsRUFBRSxLQUFLLHNCQUFzQnlCLEVBQUUsRUFBRTFCLENBQUMsQ0FBQyxDQUFDLE1BQU0sSUFBSSxlQUFlLFFBQVEyQixFQUFFLEVBQUVDLEVBQUUsRUFBRSxTQUFTRCxFQUFFQyxFQUFFLE9BQU9ELEdBQUcsRUFBRSxDQUFDLElBQUlFLEVBQUVELEVBQUVELENBQUMsRUFBRUUsR0FBRyxLQUFLLHNCQUFzQkEsRUFBRSxFQUFFN0IsQ0FBQyxDQUFDLENBQUMsTUFBTSxRQUFRLEtBQUssZ0JBQWdCLEVBQUUsRUFBRUEsQ0FBQyxDQUFDLENBQUMsRUFBRXlMLEdBQUUsc0JBQXNCLFNBQVMsRUFBRSxFQUFFekwsRUFBRSxDQUFDLE9BQU8sSUFBSSxTQUFTLEVBQUV1SyxLQUFJLEVBQUUsS0FBSyxDQUFDLElBQUksV0FBVyxLQUFLLHNCQUFzQixFQUFFLE1BQU0sRUFBRXZLLENBQUMsRUFBRSxNQUFNLElBQUksb0JBQW9CLEtBQUssaUJBQWlCLEVBQUUsS0FBSyxFQUFFQSxDQUFDLEVBQUUsTUFBTSxJQUFJLGNBQWMsS0FBSyxpQkFBaUIsRUFBRSxTQUFTLEVBQUVBLENBQUMsRUFBRSxNQUFNLFFBQVEsS0FBSyxpQkFBaUIsRUFBRSxFQUFFQSxDQUFDLENBQUMsQ0FBQyxFQUFNMEwsR0FBRSxTQUFTckgsRUFBRXJFLEVBQUVDLEVBQUVhLEVBQUVZLEVBQUUsQ0FBQyxLQUFLLE1BQU0yQyxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUNyRSxFQUFFLEtBQUssY0FBYyxDQUFDLENBQUNDLEVBQUUsS0FBSyxTQUFTYSxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUNZLENBQUMsRUFBRWlLLEdBQUUsQ0FBQyxPQUFPLElBQUlELEdBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxJQUFJQSxHQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sSUFBSUEsR0FBRSxLQUFLLEVBQUUsRUFBRSxPQUFPLElBQUlBLEdBQUUsSUFBSSxFQUFFLEVBQUUsT0FBTyxJQUFJQSxHQUFFLElBQUksRUFBRSxFQUFFLE9BQU8sSUFBSUEsR0FBRSxJQUFJLEdBQUcsR0FBRyxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUscUJBQXFCLENBQUMsQ0FBQyxFQUFFLE9BQU8sSUFBSUEsR0FBRSxXQUFXLEVBQUUsRUFBRSxPQUFPLElBQUlBLEdBQUUsV0FBVyxFQUFFLEVBQUUsV0FBVyxJQUFJQSxHQUFFLFdBQVcsR0FBRyxHQUFHLEtBQUssRUFBRSxFQUFFLE1BQU0sSUFBSUEsR0FBRSxXQUFXLEdBQUcsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFRSxJQUFFZixHQUFFLFVBQVVlLElBQUUsZUFBZSxVQUFVLENBQUMsTUFBTSxDQUFDRCxHQUFFLE1BQU0sQ0FBQyxFQUFFQyxJQUFFLFdBQVcsVUFBVSxDQUFDLE9BQU8sS0FBSyxRQUFRLEtBQUssUUFBUSxPQUFPLENBQUMsQ0FBQyxFQUFFQSxJQUFFLGFBQWEsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssV0FBVyxFQUFFLE9BQU8sSUFBSUQsR0FBRSxRQUFRLElBQUlBLEdBQUUsT0FBTyxHQUFHLElBQUlwQyxHQUFFLFFBQVEsSUFBSW9DLEdBQUUsUUFBUSxJQUFJQSxHQUFFLFFBQVEsQ0FBQyxFQUFFLE9BQU8sSUFBSXBDLEdBQUUsU0FBUyxJQUFJQSxHQUFFLE1BQU0sS0FBSyxZQUFZQyxHQUFFLEtBQUssS0FBSyxNQUFNLE1BQU0sS0FBSyxXQUFXLEtBQUssS0FBSyxDQUFDLEVBQUUsSUFBSUQsR0FBRSxPQUFPLElBQUlBLEdBQUUsTUFBTSxJQUFJQSxHQUFFLEtBQUssSUFBSUEsR0FBRSxRQUFRLElBQUlBLEdBQUUsTUFBTSxHQUFHLElBQUlBLEdBQUUsT0FBTyxJQUFJb0MsR0FBRSxPQUFPLElBQUlwQyxHQUFFLE1BQU0sSUFBSUEsR0FBRSxRQUFRLElBQUlBLEdBQUUsS0FBSyxHQUFHLENBQUMsS0FBSyxXQUFXLEVBQUVxQyxJQUFFLG1CQUFtQixVQUFVLENBQUMsUUFBUSxFQUFFLEtBQUssUUFBUSxPQUFPLEVBQUUsR0FBRyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxRQUFRLENBQUMsRUFBRSxHQUFHLEVBQUUsUUFBUSxXQUFXLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLEVBQUVBLElBQUUsY0FBYyxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUU1TCxFQUFFLEtBQUssS0FBS0EsRUFBRSxTQUFTLElBQUl1SixHQUFFLElBQUksS0FBSyxZQUFZLElBQUksRUFBRXZKLEVBQUUsZUFBZSxFQUFFLEtBQUssS0FBSyxDQUFDLEVBQUUsS0FBSyxZQUFZQSxFQUFFLFVBQVUsRUFBRTRMLElBQUUsZ0JBQWdCLFNBQVMsRUFBRSxDQUFDLEtBQUssV0FBVyxJQUFJLElBQUksS0FBSyxRQUFRLEtBQUssUUFBUSxPQUFPLENBQUMsRUFBRSxFQUFFLEVBQUVyQyxHQUFFLE9BQU8sY0FBY0EsR0FBRSxPQUFPLGNBQWMsVUFBVSxDQUFDLEdBQUcsS0FBSyxRQUFRLFNBQVMsRUFBRSxDQUFDLEtBQUssWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLEVBQUUsS0FBSyxRQUFRLElBQUksRUFBRSxJQUFJb0MsR0FBRSxRQUFRLEtBQUssV0FBVyxFQUFFLFFBQVEsYUFBYSxFQUFFLEtBQUssUUFBUSxJQUFJLEdBQUcsS0FBSyxZQUFZLENBQUMsRUFBRSxNQUFNLEVBQUVwQyxHQUFFLE9BQU8sY0FBYyxTQUFTLEVBQUUsQ0FBQyxLQUFLLFFBQVEsS0FBSyxLQUFLLGFBQWEsQ0FBQyxFQUFFb0MsR0FBRSxPQUFPQSxHQUFFLE1BQU0sRUFBRSxLQUFLLFlBQVksRUFBRSxFQUFFcEMsR0FBRSxhQUFhLGNBQWMsVUFBVSxDQUFDLEtBQUssUUFBUSxLQUFLb0MsR0FBRSxNQUFNLEVBQUUsS0FBSyxZQUFZLEVBQUUsRUFBRXBDLEdBQUUsT0FBTyxjQUFjLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJQSxHQUFFLEtBQUssSUFBSUEsR0FBRSxNQUFNLElBQUlBLEdBQUUsT0FBTyxJQUFJQSxHQUFFLE9BQU8sS0FBSyxRQUFRLEtBQUssRUFBRW9DLEdBQUUsT0FBT0EsR0FBRSxNQUFNLEVBQUUsS0FBSyxZQUFZLEVBQUUsRUFBRXBDLEdBQUUsT0FBTyxjQUFjLFVBQVUsQ0FBQyxFQUFFQSxHQUFFLFVBQVUsY0FBY0EsR0FBRSxPQUFPLGNBQWMsU0FBUyxFQUFFLENBQUMsRUFBRSxZQUFZLElBQUlBLEdBQUUsT0FBTyxFQUFFLElBQUlBLEdBQUUsTUFBTSxLQUFLLFdBQVcsSUFBSW9DLEdBQUUsU0FBUyxFQUFFLElBQUlwQyxHQUFFLFNBQVNDLEdBQUUsS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLFdBQVcsS0FBSyxLQUFLLENBQUMsSUFBSSxHQUFHLElBQUlELEdBQUUsT0FBTyxJQUFJQSxHQUFFLFNBQVMsS0FBSyxXQUFXLElBQUlvQyxHQUFFLFFBQVEsS0FBSyxRQUFRLEtBQUtBLEdBQUUsTUFBTSxFQUFFLEtBQUssUUFBUSxLQUFLQSxHQUFFLE1BQU0sRUFBRSxLQUFLLFlBQVksRUFBRSxFQUFFcEMsR0FBRSxNQUFNLGNBQWMsVUFBVSxDQUFDLEtBQUssV0FBVyxFQUFFLFFBQVEsWUFBWSxLQUFLLFFBQVEsSUFBSSxFQUFFLEtBQUssWUFBWSxFQUFFLEVBQUVBLEdBQUUsVUFBVSxjQUFjLFVBQVUsQ0FBQyxLQUFLLFdBQVcsSUFBSW9DLEdBQUUsT0FBTyxLQUFLLFFBQVEsSUFBSSxFQUFFLEtBQUssUUFBUSxLQUFLQSxHQUFFLE1BQU0sRUFBRSxLQUFLLFlBQVksRUFBRSxFQUFFcEMsR0FBRSxLQUFLLGNBQWMsU0FBUyxFQUFFLENBQUMsR0FBRyxJQUFJQSxHQUFFLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxRQUFRLE9BQU8sRUFBRSxLQUFLLFFBQVEsQ0FBQyxJQUFJb0MsR0FBRSxPQUFPLEtBQUssUUFBUSxDQUFDLEVBQUVBLEdBQUUsV0FBVyxLQUFLLFFBQVEsQ0FBQyxFQUFFQSxHQUFFLEtBQUssQ0FBQyxLQUFLLFlBQVksRUFBRSxFQUFFcEMsR0FBRSxLQUFLLGNBQWMsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsS0FBSyxRQUFRLGFBQWEsR0FBRyxJQUFJQSxHQUFFLE1BQU0sS0FBSyxRQUFRLE1BQU0sQ0FBQyxLQUFLLGFBQWEsS0FBSyxRQUFRLFNBQVMsS0FBSyxtQkFBbUIsS0FBSyxFQUFFLElBQUksS0FBSyxZQUFZLENBQUMsRUFBTXNDLEdBQUVoQixHQUFFLFVBQVVnQixHQUFFLGVBQWUsU0FBUyxFQUFFLEVBQUU3TCxFQUFFLENBQUMsR0FBRyxFQUFFLEtBQUssUUFBUSxhQUFhLEdBQUcsRUFBRSxPQUFPLGtCQUFrQixFQUFFLEtBQUssUUFBUSxhQUFhLElBQUksRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLFlBQVksQ0FBQyxJQUFJQyxFQUFFLEVBQUUsSUFBSWEsRUFBRSxPQUFPYixFQUFFLEtBQUssQ0FBQyxJQUFJLGFBQWFhLEVBQUViLEVBQUUsS0FBSyxNQUFNLElBQUksVUFBVWEsRUFBRSxPQUFPYixFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsTUFBTSxDQUFDLElBQUl5QixFQUFFLEVBQUUsS0FBSyxHQUFHLEtBQUssUUFBUSxhQUFhLEVBQUUsQ0FBQ1osSUFBSSxhQUFhWSxJQUFJLFNBQVMsRUFBRSxRQUFRMUIsRUFBRUEsRUFBRSxZQUFZLElBQUlBLEVBQUUsWUFBWUMsRUFBRSxPQUFPLEtBQUssaUJBQWlCQSxFQUFFLE1BQU0sb0NBQW9DLEdBQUcsRUFBRSxNQUFNLElBQUksTUFBTSxDQUFDYSxFQUFFLElBQUlBLEVBQUUsSUFBSWEsRUFBRSxFQUFFYixDQUFDLEVBQUUsR0FBR2EsRUFBRSxDQUFDLElBQUlDLEVBQUVGLElBQUksT0FBT0UsRUFBRSxLQUFLLFFBQVFELEVBQUUsTUFBTUEsRUFBRSxLQUFLQSxFQUFFLElBQUlDLEVBQUVELEVBQUUsTUFBTUEsRUFBRUQsQ0FBQyxFQUFFRSxHQUFHLEtBQUssaUJBQWlCM0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDLE1BQU0wQixFQUFFLEVBQUViLENBQUMsRUFBRSxDQUFDLEtBQUssR0FBRyxJQUFJLEdBQUcsSUFBSSxFQUFFLEVBQUVhLEVBQUVELENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRW1LLEdBQUUsZ0JBQWdCLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSTdMLEVBQUUsS0FBSyxNQUFNQyxFQUFFLEtBQUssU0FBU2EsRUFBRSxLQUFLLGlCQUFpQixFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssT0FBT3lJLEdBQUUsTUFBTSxDQUFDLElBQUk3SCxFQUFFLEtBQUssWUFBWTFCLEVBQUVDLENBQUMsRUFBRSxJQUFJeUIsRUFBRSxZQUFZLENBQUNaLENBQUMsRUFBRSxLQUFLLElBQUl5SSxHQUFFLEtBQUssR0FBRzdILEVBQUUsWUFBWSxLQUFLLEtBQUssaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxLQUFLLFdBQVdBLEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxPQUFPWixDQUFDLEVBQUUrSyxHQUFFLGlCQUFpQixTQUFTLEVBQUUsRUFBRTdMLEVBQUUsQ0FBQyxHQUFHLEtBQUssYUFBYSxPQUFPLEVBQUUsQ0FBQyxHQUFHLEtBQUssWUFBWSxPQUFPLEtBQUssV0FBVyxDQUFDLEVBQUUsS0FBSyxZQUFZLEVBQUUsQ0FBQyxJQUFJQyxFQUFFLEdBQUdhLEVBQUUsR0FBR1ksRUFBRSxHQUFHQyxFQUFFLEdBQUcsR0FBR2IsRUFBRSxFQUFFLG9CQUFvQlksRUFBRSxFQUFFLGNBQWNDLEVBQUUsRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxLQUFLLEVBQUUsSUFBSXNKLElBQUdoTCxFQUFFLElBQUksSUFBSTJCLEVBQUUsS0FBSyxNQUFNQyxFQUFFLEtBQUssVUFBVSxLQUFLLE9BQU8wSCxHQUFFLFFBQVEsS0FBSyxPQUFPQSxHQUFFLFFBQVEsS0FBSyxpQkFBaUIsS0FBSyxNQUFNLEtBQUsseUJBQXlCLElBQUksU0FBUyxJQUFJc0csRUFBRSxLQUFLLHNCQUFzQixFQUFFLENBQUMsRUFBRSxHQUFHN1AsSUFBSTZQLEVBQUU3UCxFQUFFLEtBQUssS0FBSzZQLEVBQUVqTyxFQUFFQyxDQUFDLEdBQUcsS0FBSyxLQUFLLFNBQVMsQ0FBQyxJQUFJaU8sRUFBRSxLQUFLLFlBQVlsTyxFQUFFQyxDQUFDLEVBQUUsT0FBT2lPLEVBQUUsU0FBUyxLQUFLLE1BQU0sS0FBSyxPQUFPdkcsR0FBRSxLQUFLc0csRUFBRSxLQUFLLGFBQWFBLEVBQUUsR0FBRyxDQUFDLEdBQUc1UCxJQUFJLEVBQUUsb0JBQW9CLEVBQUUsY0FBYyxFQUFFLFlBQVksSUFBSSxFQUFFLGlCQUFpQjRQLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixJQUFJLEtBQUssT0FBT3RHLEdBQUUsR0FBRyxLQUFLLGlCQUFpQnNHLENBQUMsRUFBRSxLQUFLLGdCQUFnQkEsQ0FBQyxFQUFFQyxFQUFFLEtBQUtELEVBQUUsS0FBSyxLQUFLLEVBQUVDLEVBQUUsTUFBTSxLQUFLLGlCQUFpQixDQUFDLEVBQUVuTyxFQUFFLEtBQUssRUFBRSxZQUFZQSxHQUFHLEtBQUssV0FBV21PLEVBQUUsc0JBQXNCLENBQUMsTUFBTTdQLEdBQUcsS0FBSyxzQkFBc0IsRUFBRSxFQUFFLEVBQUUsT0FBT2EsRUFBRSxLQUFLLEVBQUUsb0JBQW9CQSxHQUFHWSxFQUFFLEtBQUssRUFBRSxjQUFjQSxHQUFHbU8sQ0FBQyxFQUFFaEUsR0FBRSxzQkFBc0IsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJN0wsRUFBRSxLQUFLLE1BQU1DLEVBQUUsS0FBSyxTQUFTYSxFQUFFLEtBQUssYUFBYSxFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssc0JBQXNCLENBQUMsRUFBRSxPQUFPQSxFQUFFLEdBQUcsS0FBSyxJQUFJeUksR0FBRSxRQUFRLEVBQUUsQ0FBQyxJQUFJN0gsRUFBRSxLQUFLLFlBQVkxQixFQUFFQyxDQUFDLEVBQUUsT0FBT3lCLEVBQUUsS0FBS1osRUFBRVksRUFBRSxXQUFXLEtBQUssaUJBQWlCLEVBQUUsS0FBSyxPQUFPNkgsR0FBRSxLQUFLLEVBQUU3SCxFQUFFLFVBQVUsS0FBSyxpQkFBaUIsQ0FBQyxFQUFFLEtBQUssV0FBV0EsRUFBRSx1QkFBdUIsQ0FBQyxDQUFDLE9BQU9aLENBQUMsRUFBRStLLEdBQUUsYUFBYSxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUk3TCxFQUFFLEtBQUssTUFBTUMsRUFBRSxLQUFLLFNBQVNhLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLE9BQU8sS0FBSyxzQkFBc0IsQ0FBQyxHQUFHQSxFQUFFLFFBQVFkLEdBQUdjLEVBQUUsT0FBTywwQkFBMEJBLEVBQUUsS0FBSyxZQUFZQSxFQUFFZCxFQUFFQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUU0TCxHQUFFLFlBQVksU0FBUyxFQUFFLEVBQUU3TCxFQUFFQyxFQUFFYSxFQUFFLENBQUMsSUFBSVksRUFBRSxLQUFLLEtBQUssTUFBTSxHQUFHQSxHQUFHLE9BQU8sQ0FBQ1osR0FBRyxLQUFLLE9BQU95SSxHQUFFLE1BQU03SCxFQUFFekIsRUFBRSxDQUFDLElBQUkwQixFQUFFLEtBQUssT0FBTzRILEdBQUUsV0FBVyxLQUFLLE9BQU9BLEdBQUUsV0FBVzNILEVBQUUsS0FBSyxPQUFPMkgsR0FBRSxTQUFTM0gsSUFBSUYsRUFBRTZILEdBQUUsV0FBVyxPQUFPLElBQUkxSCxFQUFFLEtBQUssTUFBTSxLQUFLLEtBQUssRUFBRSxJQUFJZ08sRUFBRSxLQUFLLE1BQU1DLEVBQUUsS0FBSyxTQUFTQyxFQUFFLEtBQUssWUFBWSxLQUFLLGdCQUFnQixLQUFLLEdBQUcsR0FBR2pQLENBQUMsRUFBRStPLEVBQUVDLEVBQUVwTyxFQUFFWixDQUFDLEVBQUVvUCxFQUFFLEtBQUssWUFBWSxFQUFFbFEsRUFBRSxFQUFFK1AsRUFBRWxPLEVBQUVGLEdBQUdDLENBQUMsRUFBRSxPQUFPRCxHQUFHLEtBQUssT0FBTzRILEdBQUUsVUFBVTNILElBQUksS0FBSyxPQUFPMkgsR0FBRSxXQUFXLEtBQUssT0FBT0EsR0FBRSxjQUFjLEtBQUssaUJBQWlCLEtBQUssTUFBTSwwRkFBMEYsRUFBRSxLQUFLLFlBQVkyRyxFQUFFLEVBQUVsUSxFQUFFQyxFQUFFYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRStLLEdBQUUsWUFBWSxTQUFTLEVBQUUsRUFBRTdMLEVBQUVDLEVBQUVhLEVBQUVZLEVBQUUsQ0FBQ3pCLEVBQUUsT0FBTyxxQkFBcUIsS0FBSyxNQUFNQSxFQUFFLE1BQU0sK0RBQStELEVBQUUsSUFBSTBCLEVBQUUsS0FBSyxZQUFZLEVBQUUsQ0FBQyxFQUFFLE9BQU9BLEVBQUUsS0FBSzNCLEVBQUUyQixFQUFFLFNBQVNiLEVBQUVhLEVBQUUsTUFBTTFCLEVBQUUsS0FBSyxXQUFXMEIsRUFBRUQsRUFBRSxvQkFBb0Isa0JBQWtCLENBQUMsRUFBRW1LLEdBQUUsZ0JBQWdCLFNBQVMsRUFBRSxFQUFFN0wsRUFBRUMsRUFBRSxDQUFDLElBQUlhLEVBQUUsS0FBSyxNQUFNWSxFQUFFLEtBQUssU0FBU0MsRUFBRSxHQUFHLEtBQUssYUFBYSxPQUFPLEdBQUcsS0FBSyxTQUFTQSxFQUFFLEtBQUssV0FBVzFCLENBQUMsRUFBRSxFQUFFLFdBQVcsS0FBSyxLQUFLLE9BQU8sQ0FBQyxJQUFJMkIsRUFBRSxLQUFLLFVBQVUsRUFBRUMsRUFBRSxLQUFLLE9BQU8wSCxHQUFFLE9BQU8zSCxFQUFFLFNBQVMsS0FBSyxNQUFNQSxFQUFFLE9BQU8sR0FBRyxLQUFLLEtBQUssRUFBRUEsRUFBRSxTQUFTLEtBQUssZ0JBQWdCLEtBQUssR0FBR0MsRUFBRTVCLENBQUMsRUFBRSxLQUFLLHNCQUFzQixFQUFFLEVBQUUsRUFBRTRCLEVBQUUsS0FBSyxnQkFBZ0JELEVBQUUsUUFBUSxFQUFFLEtBQUssUUFBUUEsRUFBRSxXQUFXLFVBQVVTLElBQUdULEVBQUUsUUFBUSxFQUFFLEtBQUssaUJBQWlCQSxFQUFFLE1BQU0sd0NBQXdDLEVBQUVBLEVBQUUsV0FBVyxVQUFVVSxJQUFHVixFQUFFLFFBQVEsRUFBRSxLQUFLLGlCQUFpQkEsRUFBRSxNQUFNLG1DQUFtQyxFQUFFLEVBQUUsR0FBR0QsRUFBRSxLQUFLLFdBQVdDLEVBQUVDLEVBQUUsbUJBQW1CLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxHQUFHLEtBQUssT0FBTzBILEdBQUUsV0FBV3RKLEdBQUcsS0FBSyxpQkFBaUIsU0FBUyxJQUFJLEtBQUssUUFBUSxvQkFBb0IsS0FBSyxXQUFXLEVBQUUwQixFQUFFLEtBQUssa0JBQWtCLEVBQUUsS0FBSyxPQUFPNEgsR0FBRSxLQUFLLEtBQUssV0FBVyxNQUFNLENBQUMsR0FBRzVILEVBQUUsS0FBSyxvQkFBb0IsRUFBRTFCLENBQUMsRUFBRSxLQUFLLHNCQUFzQixDQUFDLEVBQUUsT0FBTzBCLEVBQUUsS0FBSyxLQUFLLEtBQUssU0FBUyxDQUFDLEtBQUssbUJBQW1CLEdBQUcsQ0FBQyxJQUFJa08sRUFBRSxLQUFLLFlBQVkvTyxFQUFFWSxDQUFDLEVBQUVtTyxFQUFFLFNBQVMsS0FBSyxNQUFNQSxFQUFFLE9BQU8sR0FBR0EsRUFBRSxTQUFTbE8sRUFBRSxLQUFLLGdCQUFnQkEsQ0FBQyxFQUFFLEtBQUssS0FBSyxFQUFFQSxFQUFFLEtBQUssV0FBV2tPLEVBQUUsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQzdQLEdBQUcsS0FBSyxJQUFJdUosR0FBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEtBQUssV0FBVyxLQUFLLFlBQVksTUFBTyxRQUFPLEtBQUssWUFBWXpJLEVBQUVZLEVBQUVDLEVBQUUsS0FBSyxnQkFBZ0IsS0FBSyxHQUFHLEdBQUcxQixDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU8sUUFBTzBCLENBQUMsRUFBaVNrSyxHQUFFLG9CQUFvQixTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUk3TCxFQUFFLEtBQUssTUFBTUMsRUFBRSxLQUFLLFNBQVNhLEVBQUUsS0FBSyxjQUFjLEVBQUUsQ0FBQyxFQUFFLEdBQUdBLEVBQUUsT0FBTywyQkFBMkIsS0FBSyxNQUFNLE1BQU0sS0FBSyxhQUFhLEtBQUssVUFBVSxJQUFJLElBQUksT0FBT0EsRUFBRSxJQUFJWSxFQUFFLEtBQUssZ0JBQWdCWixFQUFFZCxFQUFFQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLE9BQU8sR0FBR3lCLEVBQUUsT0FBTyxxQkFBcUIsRUFBRSxxQkFBcUJBLEVBQUUsUUFBUSxFQUFFLG9CQUFvQixJQUFJLEVBQUUsbUJBQW1CQSxFQUFFLFFBQVEsRUFBRSxrQkFBa0IsSUFBSSxFQUFFLGVBQWVBLEVBQUUsUUFBUSxFQUFFLGNBQWMsS0FBS0EsQ0FBQyxFQUFFbUssR0FBRSxnQkFBZ0IsU0FBUyxFQUFFLEVBQUU3TCxFQUFFQyxFQUFFYSxFQUFFLENBQUMsUUFBUVksRUFBRSxLQUFLLFFBQVEsYUFBYSxHQUFHLEVBQUUsT0FBTyxjQUFjLEVBQUUsT0FBTyxTQUFTLEtBQUssYUFBYSxFQUFFLEtBQUssQ0FBQyxLQUFLLG1CQUFtQixHQUFHLEVBQUUsSUFBSSxFQUFFLFFBQVEsR0FBRyxLQUFLLG1CQUFtQixFQUFFLE1BQU1DLEVBQUUsS0FBSyxDQUFDLElBQUlDLEVBQUUsS0FBSyxlQUFlLEVBQUUsRUFBRTVCLEVBQUVDLEVBQUV5QixFQUFFQyxFQUFFYixDQUFDLEVBQUUsR0FBR2MsRUFBRSxXQUFXRCxFQUFFLElBQUlDLElBQUksR0FBR0EsRUFBRSxPQUFPLDBCQUEwQixDQUFDLEdBQUdELEVBQUUsQ0FBQyxJQUFJRSxFQUFFLEtBQUssWUFBWSxFQUFFN0IsQ0FBQyxFQUFFNkIsRUFBRSxXQUFXRCxFQUFFQSxFQUFFLEtBQUssV0FBV0MsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDLE9BQU9ELENBQUMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsRUFBRWlLLEdBQUUsc0JBQXNCLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxtQkFBbUIsR0FBRyxLQUFLLElBQUl0QyxHQUFFLEtBQUssQ0FBQyxFQUFFc0MsR0FBRSx5QkFBeUIsU0FBUyxFQUFFLEVBQUU3TCxFQUFFQyxFQUFFLENBQUMsT0FBTyxLQUFLLHFCQUFxQixLQUFLLFlBQVksRUFBRSxDQUFDLEVBQUVELEVBQUUsR0FBR0MsQ0FBQyxDQUFDLEVBQUU0TCxHQUFFLGVBQWUsU0FBUyxFQUFFLEVBQUU3TCxFQUFFQyxFQUFFYSxFQUFFWSxFQUFFQyxFQUFFLENBQUMsSUFBSUMsRUFBRSxLQUFLLFFBQVEsYUFBYSxHQUFHQyxFQUFFRCxHQUFHLEtBQUssSUFBSTJILEdBQUUsV0FBVyxFQUFFdEosR0FBRzRCLEdBQUcsS0FBSyxNQUFNLEtBQUssYUFBYSxrRUFBa0UsRUFBRSxJQUFJZ08sRUFBRSxLQUFLLElBQUl0RyxHQUFFLFFBQVEsRUFBRSxHQUFHc0csR0FBR2hPLEdBQUcsS0FBSyxPQUFPMEgsR0FBRSxRQUFRLEtBQUssT0FBT0EsR0FBRSxXQUFXLEtBQUssSUFBSUEsR0FBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJdUcsRUFBRSxLQUFLLFlBQVksRUFBRTlQLENBQUMsRUFBRThQLEVBQUUsT0FBTyxFQUFFRCxHQUFHQyxFQUFFLFNBQVMsS0FBSyxnQkFBZ0IsRUFBRSxLQUFLLE9BQU92RyxHQUFFLFFBQVEsR0FBRyxLQUFLLE9BQU9BLEdBQUUsV0FBVyxFQUFFLE9BQU8sUUFBUXVHLEVBQUUsU0FBUyxLQUFLLGtCQUFrQixFQUFFQSxFQUFFLFNBQVMsS0FBSyxXQUFXLEtBQUssUUFBUSxnQkFBZ0IsT0FBTyxFQUFFQSxFQUFFLFNBQVMsQ0FBQyxDQUFDRCxFQUFFak8sSUFBSWtPLEVBQUUsU0FBU2pPLEdBQUcsRUFBRSxLQUFLLFdBQVdpTyxFQUFFLGtCQUFrQixDQUFDLFNBQVMsQ0FBQzdQLEdBQUcsS0FBSyxJQUFJc0osR0FBRSxNQUFNLEVBQUUsQ0FBQyxJQUFJd0csRUFBRSxJQUFJOUUsSUFBR2lGLEVBQUUsS0FBSyxTQUFTQyxFQUFFLEtBQUssU0FBU0MsRUFBRSxLQUFLLGNBQWMsS0FBSyxTQUFTLEVBQUUsS0FBSyxTQUFTLEVBQUUsS0FBSyxjQUFjLEVBQUUsSUFBSUMsRUFBRSxLQUFLLGNBQWM5RyxHQUFFLE9BQU8sS0FBSyxRQUFRLGFBQWEsRUFBRSxHQUFHd0csQ0FBQyxFQUFFLEdBQUdqUCxHQUFHLENBQUNlLEdBQUcsS0FBSyxzQkFBc0IsRUFBRSxPQUFPLEtBQUssbUJBQW1Ca08sRUFBRSxFQUFFLEVBQUUsS0FBSywrQkFBK0IsRUFBRSxLQUFLLGNBQWMsR0FBRyxLQUFLLE1BQU0sS0FBSyxjQUFjLDJEQUEyRCxFQUFFLEtBQUssU0FBU0csRUFBRSxLQUFLLFNBQVNDLEVBQUUsS0FBSyxjQUFjQyxFQUFFLEtBQUsseUJBQXlCLEVBQUVwUSxFQUFFcVEsRUFBRTFPLENBQUMsRUFBRSxLQUFLLHNCQUFzQm9PLEVBQUUsRUFBRSxFQUFFLEtBQUssU0FBU0csR0FBRyxLQUFLLFNBQVMsS0FBSyxTQUFTQyxHQUFHLEtBQUssU0FBUyxLQUFLLGNBQWNDLEdBQUcsS0FBSyxjQUFjLElBQUlFLEVBQUUsS0FBSyxZQUFZLEVBQUV0USxDQUFDLEVBQUVzUSxFQUFFLE9BQU8sRUFBRUEsRUFBRSxVQUFVRCxFQUFFek8sSUFBSTBPLEVBQUUsU0FBU3pPLEdBQUcsRUFBRSxLQUFLLFdBQVd5TyxFQUFFLGdCQUFnQixDQUFDLFNBQVMsS0FBSyxPQUFPL0csR0FBRSxVQUFVLEVBQUUxSCxHQUFHSCxJQUFJLEtBQUssTUFBTSxLQUFLLE1BQU0sMkVBQTJFLEVBQUUsSUFBSTZPLEVBQUUsS0FBSyxZQUFZLEVBQUV2USxDQUFDLEVBQUV1USxFQUFFLElBQUksRUFBRUEsRUFBRSxNQUFNLEtBQUssY0FBYyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQUUsRUFBRSxLQUFLLFdBQVdBLEVBQUUsMEJBQTBCLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRTFFLEdBQUUsY0FBYyxTQUFTLEVBQUUsRUFBRTdMLEVBQUUsQ0FBQyxLQUFLLE9BQU91SixHQUFFLE9BQU8sS0FBSyxXQUFXLEVBQUUsSUFBSXRKLEVBQUVhLEVBQUUsS0FBSyxtQkFBbUIsS0FBSyxNQUFNLE9BQU8sS0FBSyxLQUFLLENBQUMsS0FBS3lJLEdBQUUsT0FBTyxPQUFPLEtBQUssWUFBWSxLQUFLLE1BQU0sS0FBSyxNQUFNLGtDQUFrQyxFQUFFdEosRUFBRSxLQUFLLFVBQVUsRUFBRSxLQUFLLEtBQUssRUFBRSxLQUFLLE9BQU9zSixHQUFFLFFBQVEsQ0FBQyxLQUFLLGtCQUFrQixLQUFLLE1BQU10SixFQUFFLE1BQU0sZ0RBQWdELEVBQUUsS0FBSyxPQUFPc0osR0FBRSxLQUFLLEtBQUssT0FBT0EsR0FBRSxVQUFVLEtBQUssT0FBT0EsR0FBRSxRQUFRLEtBQUssV0FBVyxFQUFFLEtBQUssV0FBV3RKLEVBQUUsT0FBTyxFQUFFLEtBQUtzSixHQUFFLE1BQU0sT0FBT3RKLEVBQUUsS0FBSyxVQUFVLEVBQUUsS0FBSyxLQUFLLEVBQUUsS0FBSyxXQUFXQSxFQUFFLGdCQUFnQixFQUFFLEtBQUtzSixHQUFFLEtBQUssSUFBSTdILEVBQUUsS0FBSyxNQUFNQyxFQUFFLEtBQUssU0FBU0MsRUFBRSxLQUFLLFlBQVlDLEVBQUUsS0FBSyxXQUFXLEVBQUUsRUFBRSxHQUFHLEtBQUssUUFBUSxhQUFhLEdBQUcsQ0FBQ0QsR0FBR0MsRUFBRSxPQUFPLFNBQVMsQ0FBQyxLQUFLLG1CQUFtQixHQUFHLEtBQUssSUFBSTBILEdBQUUsU0FBUyxFQUFFLE9BQU8sS0FBSyxnQkFBZ0JvQyxHQUFFLE1BQU0sRUFBRSxLQUFLLGNBQWMsS0FBSyxZQUFZakssRUFBRUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxHQUFHLENBQUMsRUFBRSxHQUFHYixHQUFHLENBQUMsS0FBSyxtQkFBbUIsRUFBRSxDQUFDLEdBQUcsS0FBSyxJQUFJeUksR0FBRSxLQUFLLEVBQUUsT0FBTyxLQUFLLHFCQUFxQixLQUFLLFlBQVk3SCxFQUFFQyxDQUFDLEVBQUUsQ0FBQ0UsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsS0FBSyxRQUFRLGFBQWEsR0FBR0EsRUFBRSxPQUFPLFNBQVMsS0FBSyxPQUFPMEgsR0FBRSxNQUFNLENBQUMzSCxJQUFJLENBQUMsS0FBSywwQkFBMEIsS0FBSyxRQUFRLE1BQU0sS0FBSyxhQUFhLE9BQU9DLEVBQUUsS0FBSyxXQUFXLEVBQUUsR0FBRyxLQUFLLG1CQUFtQixHQUFHLENBQUMsS0FBSyxJQUFJMEgsR0FBRSxLQUFLLElBQUksS0FBSyxXQUFXLEVBQUUsS0FBSyxxQkFBcUIsS0FBSyxZQUFZN0gsRUFBRUMsQ0FBQyxFQUFFLENBQUNFLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU9BLEVBQUUsS0FBSzBILEdBQUUsT0FBTyxJQUFJc0csRUFBRSxLQUFLLE1BQU0sT0FBTzVQLEVBQUUsS0FBSyxhQUFhNFAsRUFBRSxLQUFLLEVBQUU1UCxFQUFFLE1BQU0sQ0FBQyxRQUFRNFAsRUFBRSxRQUFRLE1BQU1BLEVBQUUsS0FBSyxFQUFFNVAsRUFBRSxLQUFLc0osR0FBRSxJQUFJLEtBQUtBLEdBQUUsT0FBTyxPQUFPLEtBQUssYUFBYSxLQUFLLEtBQUssRUFBRSxLQUFLQSxHQUFFLE1BQU0sS0FBS0EsR0FBRSxNQUFNLEtBQUtBLEdBQUUsT0FBTyxPQUFPdEosRUFBRSxLQUFLLFVBQVUsRUFBRUEsRUFBRSxNQUFNLEtBQUssT0FBT3NKLEdBQUUsTUFBTSxLQUFLLEtBQUssT0FBT0EsR0FBRSxNQUFNdEosRUFBRSxJQUFJLEtBQUssS0FBSyxRQUFRLEtBQUssS0FBSyxFQUFFLEtBQUssV0FBV0EsRUFBRSxTQUFTLEVBQUUsS0FBS3NKLEdBQUUsT0FBTyxJQUFJdUcsRUFBRSxLQUFLLE1BQU1DLEVBQUUsS0FBSyxtQ0FBbUNqUCxFQUFFLENBQUMsRUFBRSxPQUFPLElBQUksRUFBRSxvQkFBb0IsR0FBRyxDQUFDLEtBQUsscUJBQXFCaVAsQ0FBQyxJQUFJLEVBQUUsb0JBQW9CRCxHQUFHLEVBQUUsa0JBQWtCLElBQUksRUFBRSxrQkFBa0JBLElBQUlDLEVBQUUsS0FBS3hHLEdBQUUsU0FBUyxPQUFPdEosRUFBRSxLQUFLLFVBQVUsRUFBRSxLQUFLLEtBQUssRUFBRUEsRUFBRSxTQUFTLEtBQUssY0FBY3NKLEdBQUUsU0FBUyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEtBQUssV0FBV3RKLEVBQUUsaUJBQWlCLEVBQUUsS0FBS3NKLEdBQUUsT0FBTyxPQUFPLEtBQUssZ0JBQWdCb0MsR0FBRSxNQUFNLEVBQUUsS0FBSyxTQUFTLEdBQUcsQ0FBQyxFQUFFLEtBQUtwQyxHQUFFLFVBQVUsT0FBT3RKLEVBQUUsS0FBSyxVQUFVLEVBQUUsS0FBSyxLQUFLLEVBQUUsS0FBSyxjQUFjQSxFQUFFLENBQUMsRUFBRSxLQUFLc0osR0FBRSxPQUFPLE9BQU8sS0FBSyxXQUFXLEtBQUssVUFBVSxFQUFFLEVBQUUsRUFBRSxLQUFLQSxHQUFFLEtBQUssT0FBTyxLQUFLLFNBQVMsRUFBRSxLQUFLQSxHQUFFLFVBQVUsT0FBTyxLQUFLLGNBQWMsRUFBRSxLQUFLQSxHQUFFLFFBQVEsT0FBTyxLQUFLLFFBQVEsYUFBYSxHQUFHLEtBQUssZ0JBQWdCdkosQ0FBQyxFQUFFLEtBQUssV0FBVyxFQUFFLFFBQVEsT0FBTyxLQUFLLHFCQUFxQixDQUFDLENBQUMsRUFBRTZMLEdBQUUscUJBQXFCLFVBQVUsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxFQUFFQSxHQUFFLGdCQUFnQixTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxVQUFVLEVBQUUsR0FBRyxLQUFLLGFBQWEsS0FBSyxpQkFBaUIsS0FBSyxNQUFNLG1DQUFtQyxFQUFFLEtBQUssS0FBSyxFQUFFLEtBQUssT0FBT3RDLEdBQUUsUUFBUSxDQUFDLEVBQUUsT0FBTyxLQUFLLG1CQUFtQixDQUFDLEVBQUUsR0FBRyxLQUFLLE9BQU9BLEdBQUUsSUFBSSxDQUFDLElBQUl2SixFQUFFLEtBQUssWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxLQUFLLEVBQUUsT0FBT0EsRUFBRSxLQUFLLFNBQVMsRUFBRSxLQUFLLEtBQUssV0FBV0EsRUFBRSxZQUFZLEVBQUUsS0FBSyxnQkFBZ0IsQ0FBQyxDQUFDLE1BQU0sS0FBSyxXQUFXLENBQUMsRUFBRTZMLEdBQUUsbUJBQW1CLFNBQVMsRUFBRSxDQUFDLEdBQUcsS0FBSyxLQUFLLEVBQUUsRUFBRSxPQUFPLEtBQUssaUJBQWlCLEVBQUUsS0FBSyxRQUFRLGFBQWEsR0FBRyxLQUFLLElBQUl0QyxHQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsTUFBTSxLQUFLLE9BQU9BLEdBQUUsS0FBSyxFQUFFLEtBQUssbUJBQW1CQSxHQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsTUFBTSxFQUFFLFFBQVEsS0FBSyxpQkFBaUIsRUFBRSxLQUFLLElBQUlBLEdBQUUsTUFBTSxJQUFJLEtBQUssT0FBT0EsR0FBRSxLQUFLLEVBQUUsS0FBSyxtQkFBbUJBLEdBQUUsTUFBTSxHQUFHLEtBQUssV0FBVyxhQUFhLENBQUMsS0FBSyxJQUFJQSxHQUFFLE1BQU0sRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLE1BQU0sS0FBSyxJQUFJQSxHQUFFLEtBQUssR0FBRyxLQUFLLElBQUlBLEdBQUUsTUFBTSxFQUFFLEtBQUssaUJBQWlCLEVBQUUsMkNBQTJDLEVBQUUsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLE9BQU8sS0FBSyxXQUFXLEVBQUUsa0JBQWtCLENBQUMsRUFBRXNDLEdBQUUsZ0JBQWdCLFNBQVMsRUFBRSxDQUFDLEtBQUssS0FBSyxFQUFFLElBQUksRUFBRSxLQUFLLFlBQVksT0FBTyxFQUFFLFNBQVMsS0FBSyxXQUFXLEVBQUUsRUFBRSxFQUFFLFNBQVMsT0FBTyxRQUFRLEtBQUssaUJBQWlCLEVBQUUsU0FBUyxNQUFNLDBEQUEwRCxFQUFFLEdBQUcsS0FBSyxpQkFBaUIsRUFBRSxNQUFNLG1EQUFtRCxFQUFFLEtBQUssUUFBUSxhQUFhLFVBQVUsQ0FBQyxLQUFLLFFBQVEsNkJBQTZCLEtBQUssaUJBQWlCLEVBQUUsTUFBTSwyQ0FBMkMsRUFBRSxLQUFLLFdBQVcsRUFBRSxjQUFjLENBQUMsRUFBRUEsR0FBRSxhQUFhLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sS0FBSyxHQUFHLEVBQUUsRUFBRSxJQUFJLFdBQVcsRUFBRSxJQUFJLE9BQU8sQ0FBQyxJQUFJLE1BQU0sRUFBRSxPQUFPLEVBQUUsSUFBSSxNQUFNLEVBQUUsRUFBRSxFQUFFLFFBQVEsS0FBSyxFQUFFLEdBQUcsS0FBSyxLQUFLLEVBQUUsS0FBSyxXQUFXLEVBQUUsU0FBUyxDQUFDLEVBQUVBLEdBQUUscUJBQXFCLFVBQVUsQ0FBQyxLQUFLLE9BQU90QyxHQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxPQUFPLEtBQUssT0FBT0EsR0FBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFc0MsR0FBRSxpQkFBaUIsU0FBUyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssbUJBQW1CLENBQUMsRUFBRUEsR0FBRSxtQ0FBbUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJN0wsRUFBRSxLQUFLLE1BQU1DLEVBQUUsS0FBSyxTQUFTYSxFQUFFWSxFQUFFLEtBQUssUUFBUSxhQUFhLEVBQUUsR0FBRyxLQUFLLFFBQVEsYUFBYSxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSUMsRUFBRSxLQUFLLE1BQU1DLEVBQUUsS0FBSyxTQUFTQyxFQUFFLENBQUMsRUFBRWdPLEVBQUUsR0FBR0MsRUFBRSxHQUFHQyxFQUFFLElBQUk5RSxJQUFHaUYsRUFBRSxLQUFLLFNBQVNDLEVBQUUsS0FBSyxTQUFTQyxFQUFFLElBQUksS0FBSyxTQUFTLEVBQUUsS0FBSyxTQUFTLEVBQUUsS0FBSyxPQUFPN0csR0FBRSxRQUFRLEdBQUdzRyxFQUFFQSxFQUFFLEdBQUcsS0FBSyxPQUFPdEcsR0FBRSxLQUFLLEVBQUU3SCxHQUFHLEtBQUssbUJBQW1CNkgsR0FBRSxPQUFPLEVBQUUsRUFBRSxDQUFDdUcsRUFBRSxHQUFHLEtBQUssU0FBUyxLQUFLLE9BQU92RyxHQUFFLFNBQVMsQ0FBQzZHLEVBQUUsS0FBSyxNQUFNdk8sRUFBRSxLQUFLLEtBQUssZUFBZSxLQUFLLGlCQUFpQixDQUFDLENBQUMsRUFBRSxLQUFLLE9BQU8wSCxHQUFFLE9BQU8sS0FBSyxpQkFBaUIsS0FBSyxNQUFNLCtDQUErQyxFQUFFLEtBQUssTUFBTTFILEVBQUUsS0FBSyxLQUFLLGlCQUFpQixHQUFHa08sRUFBRSxLQUFLLGNBQWMsQ0FBQyxFQUFFLElBQUlNLEVBQUUsS0FBSyxXQUFXQyxFQUFFLEtBQUssY0FBYyxHQUFHLEtBQUssT0FBTy9HLEdBQUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxpQkFBaUIxSCxDQUFDLEdBQUcsS0FBSyxJQUFJMEgsR0FBRSxLQUFLLEVBQUUsT0FBTyxLQUFLLG1CQUFtQndHLEVBQUUsRUFBRSxFQUFFLEtBQUssK0JBQStCLEVBQUUsS0FBSyxTQUFTRyxFQUFFLEtBQUssU0FBU0MsRUFBRSxLQUFLLG9CQUFvQm5RLEVBQUVDLEVBQUU0QixFQUFFLENBQUMsR0FBRyxDQUFDQSxFQUFFLFFBQVFpTyxJQUFJLEtBQUssV0FBVyxLQUFLLFlBQVksRUFBRU0sR0FBRyxLQUFLLFdBQVdBLENBQUMsRUFBRSxLQUFLLHNCQUFzQkwsRUFBRSxFQUFFLEVBQUUsS0FBSyxTQUFTRyxHQUFHLEtBQUssU0FBUyxLQUFLLFNBQVNDLEdBQUcsS0FBSyxTQUFTdE8sRUFBRSxPQUFPLEdBQUdmLEVBQUUsS0FBSyxZQUFZYSxFQUFFQyxDQUFDLEVBQUVkLEVBQUUsWUFBWWUsRUFBRSxLQUFLLGFBQWFmLEVBQUUscUJBQXFCdVAsRUFBRUMsQ0FBQyxHQUFHeFAsRUFBRWUsRUFBRSxDQUFDLENBQUMsTUFBTWYsRUFBRSxLQUFLLHFCQUFxQixFQUFFLEdBQUcsS0FBSyxRQUFRLGVBQWUsQ0FBQyxJQUFJeVAsRUFBRSxLQUFLLFlBQVl2USxFQUFFQyxDQUFDLEVBQUUsT0FBT3NRLEVBQUUsV0FBV3pQLEVBQUUsS0FBSyxXQUFXeVAsRUFBRSx5QkFBeUIsQ0FBQyxLQUFNLFFBQU96UCxDQUFDLEVBQUUrSyxHQUFFLGVBQWUsU0FBUyxFQUFFLENBQUMsT0FBTyxDQUFDLEVBQUVBLEdBQUUsb0JBQW9CLFNBQVMsRUFBRSxFQUFFN0wsRUFBRUMsRUFBRSxDQUFDLE9BQU8sS0FBSyxxQkFBcUIsS0FBSyxZQUFZLEVBQUUsQ0FBQyxFQUFFRCxFQUFFLEdBQUdDLENBQUMsQ0FBQyxFQUFNNkwsSUFBRyxDQUFDLEVBQUVELEdBQUUsU0FBUyxVQUFVLENBQUMsS0FBSyxhQUFhLEtBQUssaUJBQWlCLEtBQUssTUFBTSxnQ0FBZ0MsRUFBRSxJQUFJLEVBQUUsS0FBSyxVQUFVLEVBQUUsR0FBRyxLQUFLLEtBQUssRUFBRSxLQUFLLFFBQVEsYUFBYSxHQUFHLEtBQUssT0FBT3RDLEdBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLElBQUksS0FBSyxFQUFFLEVBQUUsS0FBSyxNQUFNLEVBQUUsS0FBSyxLQUFLLFdBQVcsRUFBRSxZQUFZLEVBQUUsS0FBSyxLQUFLLEVBQUUsSUFBSXZKLEVBQUUsS0FBSyxZQUFZLE9BQU8sRUFBRSxTQUFTLEtBQUssV0FBVyxFQUFFLEVBQUUsRUFBRSxTQUFTLE9BQU8sVUFBVSxLQUFLLGlCQUFpQixFQUFFLFNBQVMsTUFBTSxzREFBc0QsRUFBRUEsR0FBRyxLQUFLLGlCQUFpQixFQUFFLE1BQU0sa0RBQWtELEVBQUUsS0FBSyxtQkFBbUIsS0FBSyxpQkFBaUIsRUFBRSxNQUFNLG1FQUFtRSxFQUFFLEtBQUssV0FBVyxFQUFFLGNBQWMsQ0FBQyxDQUFDLElBQUlDLEVBQUUsS0FBSyxNQUFNYSxFQUFFLEtBQUssU0FBUyxPQUFPLEVBQUUsT0FBTyxLQUFLLGdCQUFnQixLQUFLLGNBQWMsS0FBSyxHQUFHLEVBQUUsRUFBRWIsRUFBRWEsRUFBRSxHQUFHLEVBQUUsRUFBRSxLQUFLLElBQUl5SSxHQUFFLE1BQU0sRUFBRSxFQUFFLFVBQVUsS0FBSyxjQUFjQSxHQUFFLE9BQU8sS0FBSyxRQUFRLGFBQWEsRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVdUMsSUFBRyxLQUFLLFdBQVcsRUFBRSxlQUFlLENBQUMsRUFBRUQsR0FBRSxxQkFBcUIsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsU0FBUzdMLEVBQUUsS0FBSyxVQUFVLEVBQUUsT0FBTyxLQUFLLE9BQU91SixHQUFFLGlCQUFpQixHQUFHLEtBQUssaUJBQWlCLEtBQUssTUFBTSxrREFBa0QsRUFBRXZKLEVBQUUsTUFBTSxDQUFDLElBQUksS0FBSyxNQUFNLFFBQVEsU0FBUztBQUFBLENBQ3g0akQsRUFBRSxPQUFPLElBQUksR0FBR0EsRUFBRSxNQUFNLENBQUMsSUFBSSxLQUFLLE1BQU0sTUFBTSxLQUFLLE1BQU0sS0FBSyxHQUFHLEVBQUUsUUFBUSxTQUFTO0FBQUEsQ0FDcEYsRUFBRSxPQUFPLEtBQUssS0FBSyxFQUFFLEtBQUssS0FBSyxFQUFFQSxFQUFFLEtBQUssS0FBSyxPQUFPdUosR0FBRSxVQUFVLEtBQUssV0FBV3ZKLEVBQUUsaUJBQWlCLENBQUMsRUFBRTZMLEdBQUUsY0FBYyxTQUFTLEVBQUUsQ0FBQyxJQUFJLFNBQVMsRUFBRSxDQUFDLEdBQUcsSUFBSSxFQUFFLEVBQUUsU0FBUyxJQUFJLFNBQVMsRUFBRSxJQUFJLElBQUk3TCxFQUFFLEtBQUssVUFBVSxFQUFFLEtBQUssS0FBSyxFQUFFQSxFQUFFLFlBQVksQ0FBQyxFQUFFLElBQUlDLEVBQUUsS0FBSyxxQkFBcUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLElBQUlELEVBQUUsT0FBTyxDQUFDQyxDQUFDLEVBQUUsQ0FBQ0EsRUFBRSxNQUFNLEtBQUssT0FBT3NKLEdBQUUsS0FBSyxLQUFLLE1BQU0sS0FBSyxJQUFJLCtCQUErQixFQUFFLEtBQUssT0FBT0EsR0FBRSxZQUFZLEVBQUV2SixFQUFFLFlBQVksS0FBSyxLQUFLLGdCQUFnQixDQUFDLEVBQUUsS0FBSyxPQUFPdUosR0FBRSxNQUFNLEVBQUV2SixFQUFFLE9BQU8sS0FBS0MsRUFBRSxLQUFLLHFCQUFxQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEtBQUssS0FBSyxFQUFFLEtBQUssV0FBV0QsRUFBRSxpQkFBaUIsQ0FBQyxFQUFFNkwsR0FBRSxZQUFZLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLE9BQU8sY0FBYyxFQUFFLElBQUksT0FBTyxVQUFVLEtBQUssT0FBT3RDLEdBQUUsTUFBTSxLQUFLLE9BQU9BLEdBQUUsS0FBSyxLQUFLLE9BQU9BLEdBQUUsUUFBUSxLQUFLLE9BQU9BLEdBQUUsVUFBVSxLQUFLLEtBQUssU0FBUyxLQUFLLFFBQVEsYUFBYSxHQUFHLEtBQUssT0FBT0EsR0FBRSxPQUFPLENBQUNDLEdBQUUsS0FBSyxLQUFLLE1BQU0sTUFBTSxLQUFLLFdBQVcsS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFcUMsR0FBRSxTQUFTLFNBQVMsRUFBRSxFQUFFLENBQUMsSUFBSTdMLEVBQUUsS0FBSyxVQUFVLEVBQUVDLEVBQUUsR0FBR2EsRUFBRSxDQUFDLEVBQUUsSUFBSWQsRUFBRSxXQUFXLENBQUMsRUFBRSxLQUFLLEtBQUssRUFBRSxDQUFDLEtBQUssSUFBSXVKLEdBQUUsTUFBTSxHQUFHLENBQUMsR0FBR3RKLEVBQUVBLEVBQUUsV0FBVyxLQUFLLE9BQU9zSixHQUFFLEtBQUssRUFBRSxLQUFLLFFBQVEsYUFBYSxHQUFHLEtBQUssbUJBQW1CQSxHQUFFLE1BQU0sRUFBRSxNQUFNLElBQUk3SCxFQUFFLEtBQUssY0FBYyxFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssZUFBZUEsRUFBRVosRUFBRSxDQUFDLEVBQUVkLEVBQUUsV0FBVyxLQUFLMEIsQ0FBQyxDQUFDLENBQUMsT0FBTyxLQUFLLFdBQVcxQixFQUFFLEVBQUUsZ0JBQWdCLGtCQUFrQixDQUFDLEVBQUU2TCxHQUFFLGNBQWMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJN0wsRUFBRSxLQUFLLFVBQVUsRUFBRUMsRUFBRWEsRUFBRVksRUFBRUMsRUFBRSxHQUFHLEtBQUssUUFBUSxhQUFhLEdBQUcsS0FBSyxJQUFJNEgsR0FBRSxRQUFRLEVBQUUsT0FBTyxHQUFHdkosRUFBRSxTQUFTLEtBQUssV0FBVyxFQUFFLEVBQUUsS0FBSyxPQUFPdUosR0FBRSxPQUFPLEtBQUssaUJBQWlCLEtBQUssTUFBTSwrQ0FBK0MsRUFBRSxLQUFLLFdBQVd2SixFQUFFLGFBQWEsSUFBSUEsRUFBRSxTQUFTLEtBQUssaUJBQWlCLEdBQUcsQ0FBQyxFQUFFLEtBQUssT0FBT3VKLEdBQUUsT0FBTyxHQUFHLEVBQUUsY0FBYyxJQUFJLEVBQUUsY0FBYyxLQUFLLE9BQU8sS0FBSyxXQUFXdkosRUFBRSxlQUFlLEdBQUcsS0FBSyxRQUFRLGFBQWEsSUFBSUEsRUFBRSxPQUFPLEdBQUdBLEVBQUUsVUFBVSxJQUFJLEdBQUcsS0FBSzBCLEVBQUUsS0FBSyxNQUFNQyxFQUFFLEtBQUssVUFBVSxJQUFJMUIsRUFBRSxLQUFLLElBQUlzSixHQUFFLElBQUksSUFBSSxJQUFJM0gsRUFBRSxLQUFLLFlBQVksT0FBTyxLQUFLLGtCQUFrQjVCLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQzRCLEdBQUcsS0FBSyxRQUFRLGFBQWEsR0FBRyxDQUFDM0IsR0FBRyxLQUFLLFlBQVlELENBQUMsR0FBR2MsRUFBRSxHQUFHYixFQUFFLEtBQUssUUFBUSxhQUFhLEdBQUcsS0FBSyxJQUFJc0osR0FBRSxJQUFJLEVBQUUsS0FBSyxrQkFBa0J2SixDQUFDLEdBQUdjLEVBQUUsR0FBRyxLQUFLLG1CQUFtQmQsRUFBRSxFQUFFQyxFQUFFYSxFQUFFWSxFQUFFQyxFQUFFLEVBQUVDLENBQUMsRUFBRSxLQUFLLFdBQVc1QixFQUFFLFVBQVUsQ0FBQyxFQUFFNkwsR0FBRSxrQkFBa0IsU0FBUyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsSUFBSSxLQUFLLEtBQUssa0JBQWtCLENBQUMsRUFBRSxFQUFFLE1BQU0sS0FBSyxZQUFZLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxPQUFPLE1BQU0sRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLE9BQU8sU0FBUyxFQUFFLENBQUMsSUFBSTdMLEVBQUUsRUFBRSxNQUFNLE1BQU0sRUFBRSxPQUFPLE1BQU0sS0FBSyxpQkFBaUJBLEVBQUUsOEJBQThCLEVBQUUsS0FBSyxpQkFBaUJBLEVBQUUsc0NBQXNDLENBQUMsTUFBTSxFQUFFLE9BQU8sT0FBTyxFQUFFLE1BQU0sT0FBTyxDQUFDLEVBQUUsT0FBTyxlQUFlLEtBQUssaUJBQWlCLEVBQUUsTUFBTSxPQUFPLENBQUMsRUFBRSxNQUFNLCtCQUErQixDQUFDLEVBQUU2TCxHQUFFLG1CQUFtQixTQUFTLEVBQUUsRUFBRTdMLEVBQUVDLEVBQUVhLEVBQUVZLEVBQUVDLEVBQUVDLEVBQUUsRUFBRTVCLEdBQUdDLElBQUksS0FBSyxPQUFPc0osR0FBRSxPQUFPLEtBQUssV0FBVyxFQUFFLEtBQUssSUFBSUEsR0FBRSxLQUFLLEdBQUcsRUFBRSxNQUFNLEVBQUUsS0FBSyxrQkFBa0IsS0FBSyxNQUFNLEtBQUssUUFBUSxFQUFFLEtBQUssaUJBQWlCLEdBQUc1SCxDQUFDLEVBQUUsRUFBRSxLQUFLLFFBQVEsS0FBSyxRQUFRLGFBQWEsR0FBRyxLQUFLLE9BQU80SCxHQUFFLFFBQVEsR0FBRyxLQUFLLFdBQVcsRUFBRSxFQUFFLEtBQUssT0FBTyxFQUFFLE9BQU8sR0FBRyxFQUFFLE1BQU0sS0FBSyxZQUFZdkosRUFBRUMsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDMkIsR0FBRyxLQUFLLFFBQVEsYUFBYSxHQUFHLENBQUMsRUFBRSxVQUFVLEVBQUUsSUFBSSxPQUFPLGVBQWUsRUFBRSxJQUFJLE9BQU8sT0FBTyxFQUFFLElBQUksT0FBTyxRQUFRLEtBQUssT0FBTzJILEdBQUUsT0FBTyxLQUFLLE9BQU9BLEdBQUUsUUFBUSxLQUFLLE9BQU9BLEdBQUUsS0FBS3ZKLEdBQUdDLElBQUksS0FBSyxXQUFXLEVBQUUsS0FBSyxrQkFBa0IsQ0FBQyxHQUFHLEtBQUssUUFBUSxhQUFhLEdBQUcsQ0FBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLE9BQU8sZUFBZUQsR0FBR0MsSUFBSSxLQUFLLFdBQVcsRUFBRSxLQUFLLGdCQUFnQixFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksT0FBTyxTQUFTLENBQUMsS0FBSyxnQkFBZ0IsS0FBSyxjQUFjYSxHQUFHLEVBQUUsS0FBSyxPQUFPLEVBQUUsRUFBRSxNQUFNLEtBQUssa0JBQWtCQSxFQUFFWSxFQUFFLEtBQUssU0FBUyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssT0FBTzZILEdBQUUsSUFBSTVILEdBQUdBLEVBQUUsZ0JBQWdCLElBQUlBLEVBQUUsZ0JBQWdCLEtBQUssT0FBTyxFQUFFLE1BQU0sS0FBSyxrQkFBa0JiLEVBQUVZLEVBQUUsS0FBSyxTQUFTLEVBQUUsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLEtBQUssU0FBUyxFQUFFLEdBQUcsRUFBRSxFQUFFLFVBQVUsSUFBSSxLQUFLLFdBQVcsQ0FBQyxFQUFFbUssR0FBRSxrQkFBa0IsU0FBUyxFQUFFLENBQUMsR0FBRyxLQUFLLFFBQVEsYUFBYSxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUl0QyxHQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxHQUFHLEVBQUUsSUFBSSxLQUFLLGlCQUFpQixFQUFFLEtBQUssT0FBT0EsR0FBRSxRQUFRLEVBQUUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksS0FBSyxPQUFPQSxHQUFFLEtBQUssS0FBSyxPQUFPQSxHQUFFLE9BQU8sS0FBSyxjQUFjLEVBQUUsS0FBSyxXQUFXLEtBQUssUUFBUSxnQkFBZ0IsT0FBTyxDQUFDLEVBQUVzQyxHQUFFLGFBQWEsU0FBUyxFQUFFLENBQUMsRUFBRSxHQUFHLEtBQUssS0FBSyxRQUFRLGFBQWEsSUFBSSxFQUFFLFVBQVUsRUFBRSxXQUFXLElBQUksS0FBSyxRQUFRLGFBQWEsSUFBSSxFQUFFLE1BQU0sR0FBRyxFQUFFQSxHQUFFLFlBQVksU0FBUyxFQUFFLEVBQUU3TCxFQUFFLENBQUMsSUFBSUMsRUFBRSxLQUFLLFVBQVUsRUFBRWEsRUFBRSxLQUFLLFNBQVNZLEVBQUUsS0FBSyxTQUFTQyxFQUFFLEtBQUssY0FBYyxPQUFPLEtBQUssYUFBYTFCLENBQUMsRUFBRSxLQUFLLFFBQVEsYUFBYSxJQUFJQSxFQUFFLFVBQVUsR0FBRyxLQUFLLFFBQVEsYUFBYSxJQUFJQSxFQUFFLE1BQU0sQ0FBQyxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUUsS0FBSyxTQUFTLEVBQUUsS0FBSyxjQUFjLEVBQUUsS0FBSyxXQUFXOEIsSUFBRyxFQUFFOUIsRUFBRSxTQUFTLEVBQUVrSyxLQUFJbkssRUFBRW9LLElBQUcsRUFBRSxFQUFFLEtBQUssT0FBT2IsR0FBRSxNQUFNLEVBQUV0SixFQUFFLE9BQU8sS0FBSyxpQkFBaUJzSixHQUFFLE9BQU8sR0FBRyxLQUFLLFFBQVEsYUFBYSxDQUFDLEVBQUUsS0FBSywrQkFBK0IsRUFBRSxLQUFLLGtCQUFrQnRKLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxLQUFLLFNBQVNhLEVBQUUsS0FBSyxTQUFTWSxFQUFFLEtBQUssY0FBY0MsRUFBRSxLQUFLLFdBQVcxQixFQUFFLG9CQUFvQixDQUFDLEVBQUU0TCxHQUFFLHFCQUFxQixTQUFTLEVBQUUsRUFBRTdMLEVBQUVDLEVBQUUsQ0FBQyxJQUFJYSxFQUFFLEtBQUssU0FBU1ksRUFBRSxLQUFLLFNBQVNDLEVBQUUsS0FBSyxjQUFjLE9BQU8sS0FBSyxXQUFXSSxJQUFHL0IsRUFBRSxFQUFFLEVBQUVpSyxHQUFFLEVBQUUsS0FBSyxhQUFhLENBQUMsRUFBRSxLQUFLLFFBQVEsYUFBYSxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUNqSyxHQUFHLEtBQUssU0FBUyxFQUFFLEtBQUssU0FBUyxFQUFFLEtBQUssY0FBYyxFQUFFLEVBQUUsT0FBTyxLQUFLLGlCQUFpQixFQUFFLEVBQUUsRUFBRSxLQUFLLGtCQUFrQixFQUFFLEdBQUcsR0FBR0MsQ0FBQyxFQUFFLEtBQUssU0FBU2EsRUFBRSxLQUFLLFNBQVNZLEVBQUUsS0FBSyxjQUFjQyxFQUFFLEtBQUssV0FBVyxFQUFFLHlCQUF5QixDQUFDLEVBQUVrSyxHQUFFLGtCQUFrQixTQUFTLEVBQUUsRUFBRTdMLEVBQUVDLEVBQUUsQ0FBQyxJQUFJYSxFQUFFLEdBQUcsS0FBSyxPQUFPeUksR0FBRSxPQUFPN0gsRUFBRSxLQUFLLE9BQU9DLEVBQUUsR0FBRyxHQUFHYixFQUFFLEVBQUUsS0FBSyxLQUFLLGlCQUFpQmIsQ0FBQyxFQUFFLEVBQUUsV0FBVyxHQUFHLEtBQUssWUFBWSxFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUkyQixFQUFFLEtBQUssUUFBUSxhQUFhLEdBQUcsQ0FBQyxLQUFLLGtCQUFrQixFQUFFLE1BQU0sR0FBRyxDQUFDRixHQUFHRSxLQUFLRCxFQUFFLEtBQUssZ0JBQWdCLEtBQUssR0FBRyxFQUFFQSxHQUFHQyxHQUFHLEtBQUssaUJBQWlCLEVBQUUsTUFBTSwyRUFBMkUsR0FBRyxJQUFJQyxFQUFFLEtBQUssT0FBTyxLQUFLLE9BQU8sQ0FBQyxFQUFFRixJQUFJLEtBQUssT0FBTyxJQUFJLEtBQUssWUFBWSxFQUFFLENBQUNELEdBQUcsQ0FBQ0MsR0FBRyxDQUFDLEdBQUcsQ0FBQzNCLEdBQUcsS0FBSyxrQkFBa0IsRUFBRSxNQUFNLENBQUMsRUFBRSxLQUFLLFFBQVEsRUFBRSxJQUFJLEtBQUssZ0JBQWdCLEVBQUUsR0FBRzRLLEdBQUUsRUFBRSxFQUFFLEtBQUssS0FBSyxXQUFXLEdBQUcsT0FBT2pKLEdBQUcsQ0FBQ0QsQ0FBQyxFQUFFLEVBQUUsV0FBVyxHQUFHLEtBQUssdUJBQXVCLEVBQUUsS0FBSyxJQUFJLEVBQUUsS0FBSyxPQUFPRyxDQUFDLENBQUMsS0FBSyxVQUFVLENBQUMsRUFBRWdLLEdBQUUsa0JBQWtCLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFN0wsRUFBRSxFQUFFLEVBQUVBLEVBQUUsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJQyxFQUFFRCxFQUFFLENBQUMsRUFBRSxHQUFHQyxFQUFFLE9BQU8sYUFBYSxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRTRMLEdBQUUsWUFBWSxTQUFTLEVBQUUsRUFBRSxDQUFDLFFBQVE3TCxFQUFFLE9BQU8sT0FBTyxJQUFJLEVBQUVDLEVBQUUsRUFBRWEsRUFBRSxFQUFFLE9BQU9iLEVBQUVhLEVBQUUsT0FBT2IsR0FBRyxFQUFFLENBQUMsSUFBSXlCLEVBQUVaLEVBQUViLENBQUMsRUFBRSxLQUFLLHNCQUFzQnlCLEVBQUU4SSxJQUFHLEVBQUUsS0FBS3hLLENBQUMsQ0FBQyxDQUFDLEVBQUU2TCxHQUFFLGNBQWMsU0FBUyxFQUFFLEVBQUU3TCxFQUFFQyxFQUFFLENBQUMsUUFBUWEsRUFBRSxDQUFDLEVBQUVZLEVBQUUsR0FBRyxDQUFDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHQSxFQUFFQSxFQUFFLFdBQVcsS0FBSyxPQUFPNkgsR0FBRSxLQUFLLEVBQUUsR0FBRyxLQUFLLG1CQUFtQixDQUFDLEVBQUUsTUFBTSxJQUFJNUgsRUFBRSxPQUFPM0IsR0FBRyxLQUFLLE9BQU91SixHQUFFLE1BQU01SCxFQUFFLEtBQUssS0FBSyxPQUFPNEgsR0FBRSxVQUFVNUgsRUFBRSxLQUFLLFlBQVkxQixDQUFDLEVBQUVBLEdBQUcsS0FBSyxPQUFPc0osR0FBRSxPQUFPdEosRUFBRSxjQUFjLElBQUlBLEVBQUUsY0FBYyxLQUFLLFFBQVEwQixFQUFFLEtBQUssaUJBQWlCLEdBQUcxQixDQUFDLEVBQUVhLEVBQUUsS0FBS2EsQ0FBQyxDQUFDLENBQUMsT0FBT2IsQ0FBQyxFQUFFK0ssR0FBRSxnQkFBZ0IsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTTdMLEVBQUUsRUFBRSxJQUFJQyxFQUFFLEVBQUUsS0FBSyxHQUFHLEtBQUssYUFBYUEsSUFBSSxTQUFTLEtBQUssaUJBQWlCLEVBQUUscURBQXFELEVBQUUsS0FBSyxTQUFTQSxJQUFJLFNBQVMsS0FBSyxpQkFBaUIsRUFBRSwyREFBMkQsRUFBRSxLQUFLLGlCQUFpQixFQUFFLGtCQUFrQkEsSUFBSSxhQUFhLEtBQUssaUJBQWlCLEVBQUUsbURBQW1ELEVBQUUsS0FBSyxxQkFBcUJBLElBQUksYUFBYUEsSUFBSSxVQUFVLEtBQUssTUFBTSxFQUFFLGNBQWNBLEVBQUUsdUNBQXVDLEVBQUUsS0FBSyxTQUFTLEtBQUtBLENBQUMsR0FBRyxLQUFLLE1BQU0sRUFBRSx1QkFBdUJBLEVBQUUsR0FBRyxFQUFFLEVBQUUsS0FBSyxRQUFRLFlBQVksR0FBRyxLQUFLLE1BQU0sTUFBTSxFQUFFRCxDQUFDLEVBQUUsUUFBUSxJQUFJLElBQUksSUFBSSxDQUFDLElBQUljLEVBQUUsS0FBSyxPQUFPLEtBQUssb0JBQW9CLEtBQUssY0FBY0EsRUFBRSxLQUFLYixDQUFDLElBQUksQ0FBQyxLQUFLLFNBQVNBLElBQUksU0FBUyxLQUFLLGlCQUFpQixFQUFFLHNEQUFzRCxFQUFFLEtBQUssaUJBQWlCLEVBQUUsZ0JBQWdCQSxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUU0TCxHQUFFLFdBQVcsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssZUFBZSxFQUFFLE9BQU8sS0FBSyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxXQUFXLEVBQUUsWUFBWSxFQUFFLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsT0FBTyxTQUFTLENBQUMsS0FBSyxnQkFBZ0IsS0FBSyxjQUFjLEVBQUUsUUFBUSxDQUFDLEVBQUVBLEdBQUUsZUFBZSxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssVUFBVSxFQUFFLE9BQU8sS0FBSyxPQUFPdEMsR0FBRSxLQUFLLEVBQUUsS0FBSyxLQUFLLE1BQU0sS0FBSyxLQUFLLFNBQVMsRUFBRSxLQUFLLEtBQUssS0FBSyxTQUFTLEVBQUUsT0FBTyxTQUFTLEVBQUUsT0FBTyxjQUFjLEtBQUssYUFBYSxLQUFLLGFBQWEsR0FBRyxLQUFLLE1BQU0sV0FBVyxLQUFLLFlBQVksSUFBSSxLQUFLLEtBQUssUUFBUSxJQUFJLEVBQUUsS0FBSyxLQUFLQSxHQUFFLE1BQU0sS0FBSyxXQUFXLEVBQUUsQ0FBQyxFQUFFc0MsR0FBRSxrQkFBa0IsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLFVBQVUsRUFBRSxPQUFPLEtBQUssT0FBT3RDLEdBQUUsVUFBVSxFQUFFLEtBQUssS0FBSyxNQUFNLEtBQUssV0FBVyxFQUFFLEtBQUssS0FBSyxFQUFFLEtBQUssV0FBVyxFQUFFLG1CQUFtQixFQUFFLEtBQUssUUFBUSxxQkFBcUIsS0FBSyxpQkFBaUIsU0FBUyxFQUFFLEtBQUssTUFBTSxFQUFFLE1BQU0sbUJBQW1CLEVBQUUsS0FBSywwQ0FBMEMsRUFBRSxLQUFLLGlCQUFpQixLQUFLLGlCQUFpQixPQUFPLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRXNDLEdBQUUsV0FBVyxTQUFTLEVBQUUsQ0FBQyxLQUFLLFdBQVcsS0FBSyxTQUFTLEtBQUssT0FBTyxJQUFJLEVBQUUsS0FBSyxVQUFVLEVBQUUsT0FBTyxLQUFLLEtBQUssRUFBRSxLQUFLLE9BQU90QyxHQUFFLE1BQU0sS0FBSyxtQkFBbUIsR0FBRyxLQUFLLE9BQU9BLEdBQUUsTUFBTSxDQUFDLEtBQUssS0FBSyxZQUFZLEVBQUUsU0FBUyxHQUFHLEVBQUUsU0FBUyxPQUFPLEVBQUUsU0FBUyxLQUFLLElBQUlBLEdBQUUsSUFBSSxFQUFFLEVBQUUsU0FBUyxLQUFLLGlCQUFpQixDQUFDLEdBQUcsS0FBSyxXQUFXLEVBQUUsaUJBQWlCLENBQUMsRUFBRXNDLEdBQUUsV0FBVyxTQUFTLEVBQUUsQ0FBQyxLQUFLLFdBQVcsS0FBSyxTQUFTLEtBQUssT0FBTyxJQUFJLEVBQUUsS0FBSyxVQUFVLEVBQUUsT0FBTyxLQUFLLEtBQUssRUFBRSxFQUFFLFNBQVMsS0FBSyxnQkFBZ0IsS0FBSyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEtBQUssV0FBVyxFQUFFLGlCQUFpQixDQUFDLEVBQU1FLElBQUdsQixHQUFFLFVBQVVrQixJQUFHLE1BQU0sU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJL0wsRUFBRWtCLElBQUcsS0FBSyxNQUFNLENBQUMsRUFBRSxHQUFHLEtBQUtsQixFQUFFLEtBQUssSUFBSUEsRUFBRSxPQUFPLElBQUksSUFBSUMsRUFBRSxJQUFJLFlBQVksQ0FBQyxFQUFFLE1BQU1BLEVBQUUsSUFBSSxFQUFFQSxFQUFFLElBQUlELEVBQUVDLEVBQUUsU0FBUyxLQUFLLElBQUlBLENBQUMsRUFBRThMLElBQUcsaUJBQWlCQSxJQUFHLE1BQU1BLElBQUcsWUFBWSxVQUFVLENBQUMsR0FBRyxLQUFLLFFBQVEsVUFBVSxPQUFPLElBQUk1SyxJQUFHLEtBQUssUUFBUSxLQUFLLElBQUksS0FBSyxTQUFTLENBQUMsRUFBTTZLLEdBQUVuQixHQUFFLFVBQVVvQixJQUFHLFNBQVM1SCxFQUFFLENBQUMsS0FBSyxNQUFNQSxFQUFFLEtBQUssSUFBSSxDQUFDLEVBQUUsS0FBSyxRQUFRLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxFQUFFLEtBQUssaUJBQWlCLEVBQUUsRUFBRTJILEdBQUUsV0FBVyxTQUFTLEVBQUUsQ0FBQyxLQUFLLFdBQVcsS0FBSyxJQUFJQyxJQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUVELEdBQUUsVUFBVSxVQUFVLENBQUMsS0FBSyxXQUFXLElBQUksQ0FBQyxFQUFFQSxHQUFFLDJCQUEyQixTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsTUFBTWhLLEtBQUcsQ0FBQyxLQUFLLFVBQVUsRUFBRSxNQUFNZ0ksR0FBRSxFQUFFZ0MsR0FBRSxZQUFZLFNBQVMsRUFBRSxFQUFFaE0sRUFBRSxDQUFDLElBQUlDLEVBQUUsR0FBRyxHQUFHLElBQUl3SyxHQUFFLENBQUMsSUFBSTNKLEVBQUUsS0FBSyxhQUFhLEVBQUViLEVBQUVhLEVBQUUsUUFBUSxRQUFRLENBQUMsRUFBRSxJQUFJQSxFQUFFLFVBQVUsUUFBUSxDQUFDLEVBQUUsSUFBSUEsRUFBRSxJQUFJLFFBQVEsQ0FBQyxFQUFFLEdBQUdBLEVBQUUsUUFBUSxLQUFLLENBQUMsRUFBRSxLQUFLLFVBQVVBLEVBQUUsTUFBTWtKLEtBQUksT0FBTyxLQUFLLGlCQUFpQixDQUFDLENBQUMsU0FBUyxJQUFJVyxJQUFHLENBQUMsSUFBSWpKLEVBQUUsS0FBSyxhQUFhLEVBQUVBLEVBQUUsUUFBUSxLQUFLLENBQUMsQ0FBQyxTQUFTLElBQUlnSixJQUFHLENBQUMsSUFBSS9JLEVBQUUsS0FBSyxhQUFhLEVBQUUsS0FBSyxvQkFBb0IxQixFQUFFMEIsRUFBRSxRQUFRLFFBQVEsQ0FBQyxFQUFFLEdBQUcxQixFQUFFMEIsRUFBRSxRQUFRLFFBQVEsQ0FBQyxFQUFFLElBQUlBLEVBQUUsSUFBSSxRQUFRLENBQUMsRUFBRSxHQUFHQSxFQUFFLFVBQVUsS0FBSyxDQUFDLENBQUMsS0FBTSxTQUFRQyxFQUFFLEtBQUssV0FBVyxPQUFPLEVBQUVBLEdBQUcsRUFBRSxFQUFFQSxFQUFFLENBQUMsSUFBSUMsRUFBRSxLQUFLLFdBQVdELENBQUMsRUFBRSxHQUFHQyxFQUFFLFFBQVEsUUFBUSxDQUFDLEVBQUUsSUFBSSxFQUFFQSxFQUFFLE1BQU1xSSxLQUFJckksRUFBRSxRQUFRLENBQUMsSUFBSSxJQUFJLENBQUMsS0FBSywyQkFBMkJBLENBQUMsR0FBR0EsRUFBRSxVQUFVLFFBQVEsQ0FBQyxFQUFFLEdBQUcsQ0FBQzVCLEVBQUUsR0FBRyxLQUFLLENBQUMsR0FBRzRCLEVBQUUsSUFBSSxLQUFLLENBQUMsRUFBRSxLQUFLLFVBQVVBLEVBQUUsTUFBTW1JLEtBQUksT0FBTyxLQUFLLGlCQUFpQixDQUFDLEVBQUVuSSxFQUFFLE1BQU15SSxJQUFHLEtBQUssQ0FBQ3JLLEdBQUcsS0FBSyxpQkFBaUJELEVBQUUsZUFBZSxFQUFFLDZCQUE2QixDQUFDLEVBQUVnTSxHQUFFLGlCQUFpQixTQUFTLEVBQUUsQ0FBQyxLQUFLLFdBQVcsQ0FBQyxFQUFFLFFBQVEsUUFBUSxFQUFFLElBQUksSUFBSSxJQUFJLEtBQUssV0FBVyxDQUFDLEVBQUUsSUFBSSxRQUFRLEVBQUUsSUFBSSxJQUFJLEtBQUssS0FBSyxpQkFBaUIsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFQSxHQUFFLGFBQWEsVUFBVSxDQUFDLE9BQU8sS0FBSyxXQUFXLEtBQUssV0FBVyxPQUFPLENBQUMsQ0FBQyxFQUFFQSxHQUFFLGdCQUFnQixVQUFVLENBQUMsUUFBUSxFQUFFLEtBQUssV0FBVyxPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLFdBQVcsQ0FBQyxFQUFFLEdBQUcsRUFBRSxNQUFNMUIsSUFBRyxPQUFPLENBQUMsQ0FBQyxFQUFFMEIsR0FBRSxpQkFBaUIsVUFBVSxDQUFDLFFBQVEsRUFBRSxLQUFLLFdBQVcsT0FBTyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxXQUFXLENBQUMsRUFBRSxHQUFHLEVBQUUsTUFBTTFCLEtBQUksRUFBRSxFQUFFLE1BQU1MLEtBQUksT0FBTyxDQUFDLENBQUMsRUFBTWlDLElBQUcsU0FBUzdILEVBQUVyRSxFQUFFQyxFQUFFLENBQUMsS0FBSyxLQUFLLEdBQUcsS0FBSyxNQUFNRCxFQUFFLEtBQUssSUFBSSxFQUFFcUUsRUFBRSxRQUFRLFlBQVksS0FBSyxJQUFJLElBQUl2QyxJQUFHdUMsRUFBRXBFLENBQUMsR0FBR29FLEVBQUUsUUFBUSxtQkFBbUIsS0FBSyxXQUFXQSxFQUFFLFFBQVEsa0JBQWtCQSxFQUFFLFFBQVEsU0FBUyxLQUFLLE1BQU0sQ0FBQ3JFLEVBQUUsQ0FBQyxFQUFFLEVBQUVtTSxJQUFHdEIsR0FBRSxVQUFVc0IsSUFBRyxVQUFVLFVBQVUsQ0FBQyxPQUFPLElBQUlELElBQUcsS0FBSyxLQUFLLE1BQU0sS0FBSyxRQUFRLENBQUMsRUFBRUMsSUFBRyxZQUFZLFNBQVMsRUFBRSxFQUFFLENBQUMsT0FBTyxJQUFJRCxJQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBMkhDLElBQUcsV0FBVyxTQUFTLEVBQUUsRUFBRSxDQUFDLE9BQU81SixJQUFHLEtBQUssS0FBSyxFQUFFLEVBQUUsS0FBSyxXQUFXLEtBQUssYUFBYSxDQUFDLEVBQUU0SixJQUFHLGFBQWEsU0FBUyxFQUFFLEVBQUVuTSxFQUFFQyxFQUFFLENBQUMsT0FBT3NDLElBQUcsS0FBSyxLQUFLLEVBQUUsRUFBRXZDLEVBQUVDLENBQUMsQ0FBQyxFQUFFa00sSUFBRyxTQUFTLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJRCxJQUFHLEtBQUssRUFBRSxNQUFNLEtBQUssUUFBUSxFQUFFLFFBQVFsTSxLQUFLLEVBQUUsRUFBRUEsQ0FBQyxFQUFFLEVBQUVBLENBQUMsRUFBRSxPQUFPLENBQUMsRUFBTW9NLElBQUcsb0tBQW9LQyxJQUFHLDg5QkFBODlCQyxJQUFHRCxJQUFHLHlCQUF5QkUsSUFBR0QsSUFBR0UsSUFBR0QsSUFBRyxrQ0FBa0NFLElBQUdELElBQUdFLElBQUdELElBQUcvSixJQUFHLENBQUMsRUFBRTJKLElBQUcsR0FBR0MsSUFBRyxHQUFHQyxJQUFHLEdBQUdDLElBQUcsR0FBR0MsSUFBRyxHQUFHQyxHQUFFLEVBQUVDLElBQUcsZ0pBQWdKL0osSUFBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRytKLEdBQUUsRUFBRWhLLElBQUcscXBCQUFxcEJpSyxJQUFHLGkrREFBaStEQyxJQUFHRCxJQUFHLGtIQUFrSEUsSUFBR0QsSUFBRyx5RUFBeUVFLElBQUdELElBQUcseUVBQXlFRSxJQUFHRCxJQUFHLG9FQUFvRUUsSUFBR0QsSUFBRyxJQUFJWixJQUFHdkosSUFBRyxDQUFDLEVBQUUrSixJQUFHLEdBQUdDLElBQUcsR0FBR0MsSUFBRyxHQUFHQyxJQUFHLEdBQUdDLElBQUcsR0FBR0MsR0FBRSxFQUFFeEssSUFBRyxDQUFDLEVBQStTLElBQUkwSyxJQUFHLEVBQUVDLElBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFRCxJQUFHQyxJQUFHLE9BQU9ELEtBQUksRUFBRUQsSUFBR0UsSUFBR0QsR0FBRSxFQUFFM0ssSUFBRzBLLEdBQUUsRUFBZUcsR0FBRXhDLEdBQUUsVUFBVXlDLElBQUcsU0FBU2pKLEVBQUVyRSxFQUFFLENBQUMsS0FBSyxPQUFPcUUsRUFBRSxLQUFLLEtBQUtyRSxHQUFHLElBQUksRUFBRXNOLElBQUcsVUFBVSxjQUFjLFNBQVNqSixFQUFFLENBQUMsUUFBUXJFLEVBQUUsS0FBS0EsRUFBRUEsRUFBRUEsRUFBRSxPQUFPLFFBQVFDLEVBQUVvRSxFQUFFcEUsRUFBRUEsRUFBRUEsRUFBRSxPQUFPLEdBQUdELEVBQUUsT0FBT0MsRUFBRSxNQUFNRCxJQUFJQyxFQUFFLE1BQU0sR0FBRyxNQUFNLEVBQUUsRUFBRXFOLElBQUcsVUFBVSxRQUFRLFVBQVUsQ0FBQyxPQUFPLElBQUlBLElBQUcsS0FBSyxPQUFPLEtBQUssSUFBSSxDQUFDLEVBQU1DLEdBQUUsU0FBU2xKLEVBQUUsQ0FBQyxLQUFLLE9BQU9BLEVBQUUsS0FBSyxXQUFXLE9BQU9BLEVBQUUsUUFBUSxhQUFhLEVBQUUsS0FBSyxLQUFLQSxFQUFFLFFBQVEsYUFBYSxFQUFFLElBQUksS0FBS0EsRUFBRSxRQUFRLGFBQWEsR0FBRyxJQUFJLEtBQUtBLEVBQUUsUUFBUSxhQUFhLEdBQUcsSUFBSSxJQUFJLEtBQUssa0JBQWtCNUIsSUFBRzRCLEVBQUUsUUFBUSxhQUFhLEdBQUcsR0FBR0EsRUFBRSxRQUFRLFdBQVcsRUFBRSxLQUFLLE9BQU8sR0FBRyxLQUFLLE1BQU0sR0FBRyxLQUFLLE1BQU0sRUFBRSxLQUFLLFFBQVEsR0FBRyxLQUFLLFFBQVEsR0FBRyxLQUFLLFFBQVEsR0FBRyxLQUFLLElBQUksRUFBRSxLQUFLLGFBQWEsRUFBRSxLQUFLLGdCQUFnQixHQUFHLEtBQUssNEJBQTRCLEdBQUcsS0FBSyxtQkFBbUIsRUFBRSxLQUFLLGlCQUFpQixFQUFFLEtBQUssV0FBVyxPQUFPLE9BQU8sSUFBSSxFQUFFLEtBQUssbUJBQW1CLENBQUMsRUFBRSxLQUFLLFNBQVMsSUFBSSxFQUFFa0osR0FBRSxVQUFVLE1BQU0sU0FBU2xKLEVBQUVyRSxFQUFFQyxFQUFFLENBQUMsSUFBSWEsRUFBRWIsRUFBRSxRQUFRLEdBQUcsSUFBSSxHQUFHeUIsRUFBRXpCLEVBQUUsUUFBUSxHQUFHLElBQUksR0FBRyxLQUFLLE1BQU1vRSxFQUFFLEVBQUUsS0FBSyxPQUFPckUsRUFBRSxHQUFHLEtBQUssTUFBTUMsRUFBRWEsR0FBRyxLQUFLLE9BQU8sUUFBUSxhQUFhLElBQUksS0FBSyxRQUFRLEdBQUcsS0FBSyxRQUFRLEdBQUcsS0FBSyxRQUFRLEtBQUssS0FBSyxRQUFRWSxHQUFHLEtBQUssT0FBTyxRQUFRLGFBQWEsRUFBRSxLQUFLLFFBQVEsR0FBRyxLQUFLLFFBQVFBLEdBQUcsS0FBSyxPQUFPLFFBQVEsYUFBYSxFQUFFLEVBQUU2TCxHQUFFLFVBQVUsTUFBTSxTQUFTbEosRUFBRSxDQUFDLEtBQUssT0FBTyxpQkFBaUIsS0FBSyxNQUFNLGdDQUFnQyxLQUFLLE9BQU8sTUFBTUEsQ0FBQyxDQUFDLEVBQUVrSixHQUFFLFVBQVUsR0FBRyxTQUFTbEosRUFBRXJFLEVBQUUsQ0FBQ0EsSUFBSSxTQUFTQSxFQUFFLElBQUksSUFBSUMsRUFBRSxLQUFLLE9BQU9hLEVBQUViLEVBQUUsT0FBTyxHQUFHb0UsR0FBR3ZELEVBQUUsTUFBTSxHQUFHLElBQUlZLEVBQUV6QixFQUFFLFdBQVdvRSxDQUFDLEVBQUUsR0FBRyxFQUFFckUsR0FBRyxLQUFLLFVBQVUwQixHQUFHLE9BQU9BLEdBQUcsT0FBTzJDLEVBQUUsR0FBR3ZELEVBQUUsT0FBT1ksRUFBRSxJQUFJQyxFQUFFMUIsRUFBRSxXQUFXb0UsRUFBRSxDQUFDLEVBQUUsT0FBTzFDLEdBQUcsT0FBT0EsR0FBRyxPQUFPRCxHQUFHLElBQUlDLEVBQUUsU0FBU0QsQ0FBQyxFQUFFNkwsR0FBRSxVQUFVLFVBQVUsU0FBU2xKLEVBQUVyRSxFQUFFLENBQUNBLElBQUksU0FBU0EsRUFBRSxJQUFJLElBQUlDLEVBQUUsS0FBSyxPQUFPYSxFQUFFYixFQUFFLE9BQU8sR0FBR29FLEdBQUd2RCxFQUFFLE9BQU9BLEVBQUUsSUFBSVksRUFBRXpCLEVBQUUsV0FBV29FLENBQUMsRUFBRTFDLEVBQUUsTUFBTSxFQUFFM0IsR0FBRyxLQUFLLFVBQVUwQixHQUFHLE9BQU9BLEdBQUcsT0FBTzJDLEVBQUUsR0FBR3ZELElBQUlhLEVBQUUxQixFQUFFLFdBQVdvRSxFQUFFLENBQUMsR0FBRyxPQUFPMUMsRUFBRSxNQUFNMEMsRUFBRSxFQUFFQSxFQUFFLENBQUMsRUFBRWtKLEdBQUUsVUFBVSxRQUFRLFNBQVNsSixFQUFFLENBQUMsT0FBT0EsSUFBSSxTQUFTQSxFQUFFLElBQUksS0FBSyxHQUFHLEtBQUssSUFBSUEsQ0FBQyxDQUFDLEVBQUVrSixHQUFFLFVBQVUsVUFBVSxTQUFTbEosRUFBRSxDQUFDLE9BQU9BLElBQUksU0FBU0EsRUFBRSxJQUFJLEtBQUssR0FBRyxLQUFLLFVBQVUsS0FBSyxJQUFJQSxDQUFDLEVBQUVBLENBQUMsQ0FBQyxFQUFFa0osR0FBRSxVQUFVLFFBQVEsU0FBU2xKLEVBQUUsQ0FBQ0EsSUFBSSxTQUFTQSxFQUFFLElBQUksS0FBSyxJQUFJLEtBQUssVUFBVSxLQUFLLElBQUlBLENBQUMsQ0FBQyxFQUFFa0osR0FBRSxVQUFVLElBQUksU0FBU2xKLEVBQUVyRSxFQUFFLENBQUMsT0FBT0EsSUFBSSxTQUFTQSxFQUFFLElBQUksS0FBSyxRQUFRQSxDQUFDLElBQUlxRSxHQUFHLEtBQUssUUFBUXJFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRXVOLEdBQUUsVUFBVSxTQUFTLFNBQVNsSixFQUFFckUsRUFBRSxDQUFDQSxJQUFJLFNBQVNBLEVBQUUsSUFBSSxRQUFRQyxFQUFFLEtBQUssSUFBSWEsRUFBRSxFQUFFWSxFQUFFMkMsRUFBRXZELEVBQUVZLEVBQUUsT0FBT1osR0FBRyxFQUFFLENBQUMsSUFBSWEsRUFBRUQsRUFBRVosQ0FBQyxFQUFFYyxFQUFFLEtBQUssR0FBRzNCLEVBQUVELENBQUMsRUFBRSxHQUFHNEIsSUFBSSxJQUFJQSxJQUFJRCxFQUFFLE1BQU0sR0FBRzFCLEVBQUUsS0FBSyxVQUFVQSxFQUFFRCxDQUFDLENBQUMsQ0FBQyxPQUFPLEtBQUssSUFBSUMsRUFBRSxFQUFFLEVBQUVvTixHQUFFLG9CQUFvQixTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxXQUFXck4sRUFBRSxFQUFFLE1BQU1DLEVBQUUsR0FBR2EsRUFBRSxHQUFHWSxFQUFFLEVBQUVBLEVBQUUxQixFQUFFLE9BQU8wQixJQUFJLENBQUMsSUFBSUMsRUFBRTNCLEVBQUUsT0FBTzBCLENBQUMsRUFBRSxFQUFFLFFBQVFDLENBQUMsSUFBSSxJQUFJLEtBQUssTUFBTSxFQUFFLE1BQU0saUNBQWlDLEVBQUUzQixFQUFFLFFBQVEyQixFQUFFRCxFQUFFLENBQUMsRUFBRSxJQUFJLEtBQUssTUFBTSxFQUFFLE1BQU0sbUNBQW1DLEVBQUVDLElBQUksTUFBTTFCLEVBQUUsSUFBSTBCLElBQUksTUFBTWIsRUFBRSxHQUFHLENBQUMsS0FBSyxRQUFRLGFBQWEsSUFBSWIsR0FBR2EsR0FBRyxLQUFLLE1BQU0sRUFBRSxNQUFNLGlDQUFpQyxDQUFDLEVBQWtEdU0sR0FBRSxzQkFBc0IsU0FBUyxFQUFFLENBQUMsS0FBSyxlQUFlLENBQUMsRUFBRSxDQUFDLEVBQUUsU0FBUyxLQUFLLFFBQVEsYUFBYSxHQUFHdkssSUFBRyxFQUFFLFVBQVUsSUFBSSxFQUFFLFFBQVEsR0FBRyxLQUFLLGVBQWUsQ0FBQyxFQUFFLEVBQUV1SyxHQUFFLGVBQWUsU0FBUyxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsRUFBRSxhQUFhLEVBQUUsRUFBRSxnQkFBZ0IsR0FBRyxFQUFFLDRCQUE0QixHQUFHLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLFdBQVcsT0FBTyxPQUFPLElBQUksRUFBRSxFQUFFLG1CQUFtQixPQUFPLEVBQUUsRUFBRSxTQUFTLEtBQUssS0FBSyxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sU0FBUyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxlQUFlLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksR0FBRyxJQUFJLEVBQUUsTUFBTSwwQkFBMEIsR0FBRyxFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0JBQWdCLEVBQUUsUUFBUSxFQUFFLEVBQUVyTixFQUFFLEVBQUUsbUJBQW1CLEVBQUVBLEVBQUUsT0FBTyxHQUFHLEVBQUUsQ0FBQyxJQUFJQyxFQUFFRCxFQUFFLENBQUMsRUFBRSxFQUFFLFdBQVdDLENBQUMsR0FBRyxFQUFFLE1BQU0sa0NBQWtDLENBQUMsQ0FBQyxFQUFFb04sR0FBRSxtQkFBbUIsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssUUFBUSxhQUFhLEdBQUcsSUFBSSxJQUFJLEVBQUUsU0FBUyxJQUFJQyxJQUFHLEVBQUUsU0FBUyxJQUFJLEdBQUcsS0FBSyxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsSUFBSSxHQUFHLEdBQUcsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLFFBQVEsR0FBRyxLQUFLLG1CQUFtQixDQUFDLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxTQUFTLFFBQVEsS0FBSyxxQkFBcUIsRUFBRSxFQUFFLEdBQUcsRUFBRSxNQUFNLG1CQUFtQixFQUFFLEVBQUUsSUFBSSxHQUFHLEdBQUcsRUFBRSxNQUFNLDBCQUEwQixDQUFDLEVBQUVELEdBQUUsbUJBQW1CLFNBQVMsRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsT0FBTyxRQUFRLEtBQUssZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFQSxHQUFFLGVBQWUsU0FBUyxFQUFFLENBQUMsT0FBTyxLQUFLLG9CQUFvQixDQUFDLEdBQUcsRUFBRSw2QkFBNkIsS0FBSyxxQkFBcUIsQ0FBQyxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0JBQW9CLEVBQUUsS0FBSyxFQUFFLFFBQVEsS0FBSyxlQUFlLENBQUMsRUFBRSxLQUFLLHVCQUF1QixDQUFDLElBQUksS0FBSyxxQkFBcUIsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFQSxHQUFFLG9CQUFvQixTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSw0QkFBNEIsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsTUFBTSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLE1BQU0sR0FBRyxFQUFFLElB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QUksRUFBRSxzQkFBc0IsRUFBRSxLQUFLLElBQUlBLEVBQUUsRUFBRSxLQUFLLFFBQVEsVUFBVSxRQUFRQyxFQUFFLE9BQU9hLEVBQUUsR0FBR2IsRUFBRVksSUFBRyxLQUFLLE1BQU1DLEVBQUUsS0FBSyxHQUFHLEdBQUcsSUFBSSxFQUFFLEtBQUssUUFBUUEsRUFBRSxLQUFLLFVBQVViLEVBQUUsS0FBSyxRQUFRLFdBQVcsS0FBSyxRQUFRLFVBQVUsR0FBRyxLQUFLLE1BQU0sTUFBTSxFQUFFLEVBQUVELENBQUMsRUFBRSxFQUFFLEtBQUssSUFBSSxFQUFFLEtBQUssWUFBWSxDQUFDLENBQUMsRUFBRTROLEdBQUUsZ0JBQWdCLFNBQVMsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLLElBQUk1TixFQUFFLEtBQUssUUFBUSxXQUFXLEtBQUssWUFBWSxFQUFFQyxFQUFFLEtBQUssTUFBTSxXQUFXLEtBQUssS0FBSyxDQUFDLEVBQUUsS0FBSyxJQUFJLEtBQUssTUFBTSxRQUFRLENBQUNXLElBQUVYLENBQUMsR0FBR0EsRUFBRSxLQUFLLE1BQU0sV0FBVyxFQUFFLEtBQUssR0FBRyxFQUFFLEtBQUssUUFBUSxXQUFXLEtBQUssUUFBUSxVQUFVLEdBQUcsS0FBSyxNQUFNLE1BQU0sRUFBRSxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUUsS0FBSyxJQUFJRCxFQUFFLEtBQUssWUFBWSxDQUFDLENBQUMsRUFBRTROLEdBQUUsVUFBVSxVQUFVLENBQUMsRUFBRSxLQUFLLEtBQUssSUFBSSxLQUFLLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLE1BQU0sV0FBVyxLQUFLLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxJQUFLLElBQUcsSUFBSyxLQUFJLEVBQUUsS0FBSyxJQUFJLE1BQU0sSUFBSyxJQUFHLEtBQUssTUFBTSxXQUFXLEtBQUssSUFBSSxDQUFDLElBQUksSUFBSSxFQUFFLEtBQUssSUFBSSxJQUFLLElBQUcsSUFBSyxNQUFLLElBQUssTUFBSyxFQUFFLEtBQUssSUFBSSxLQUFLLFFBQVEsWUFBWSxFQUFFLEtBQUssUUFBUSxLQUFLLFVBQVUsS0FBSyxLQUFLLE1BQU0sSUFBSyxJQUFHLE9BQU8sS0FBSyxNQUFNLFdBQVcsS0FBSyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUssSUFBRyxLQUFLLGlCQUFpQixFQUFFLE1BQU0sSUFBSyxJQUFHLEtBQUssZ0JBQWdCLENBQUMsRUFBRSxNQUFNLFFBQVEsTUFBTSxDQUFDLENBQUMsTUFBTSxRQUFRLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxHQUFHLE1BQU1sRSxJQUFHLEtBQUssT0FBTyxhQUFhLENBQUMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxRQUFTLE9BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRWtFLEdBQUUsWUFBWSxTQUFTLEVBQUUsRUFBRSxDQUFDLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxRQUFRLFlBQVksS0FBSyxPQUFPLEtBQUssWUFBWSxHQUFHLElBQUk1TixFQUFFLEtBQUssS0FBSyxLQUFLLEtBQUssRUFBRSxLQUFLLE1BQU0sRUFBRSxLQUFLLGNBQWNBLENBQUMsQ0FBQyxFQUFFNE4sR0FBRSxjQUFjLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxNQUFNLFdBQVcsS0FBSyxJQUFJLENBQUMsRUFBRSxHQUFHLEdBQUcsSUFBSSxHQUFHLEdBQUcsT0FBTyxLQUFLLFdBQVcsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLE1BQU0sV0FBVyxLQUFLLElBQUksQ0FBQyxFQUFFLE9BQU8sS0FBSyxRQUFRLGFBQWEsR0FBRyxJQUFJLElBQUksSUFBSSxJQUFJLEtBQUssS0FBSyxFQUFFLEtBQUssWUFBWXJFLEdBQUUsUUFBUSxJQUFJLEVBQUUsS0FBSyxJQUFJLEtBQUssWUFBWUEsR0FBRSxHQUFHLEVBQUUsRUFBRXFFLEdBQUUsZ0JBQWdCLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxNQUFNLFdBQVcsS0FBSyxJQUFJLENBQUMsRUFBRSxPQUFPLEtBQUssYUFBYSxFQUFFLEtBQUssSUFBSSxLQUFLLFdBQVcsR0FBRyxJQUFJLEdBQUcsS0FB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RUFBRSxLQUFLLGtCQUFrQixFQUFFMU4sR0FBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLElBQUksT0FBTyxLQUFLLFlBQVlxSixHQUFFLFVBQVUsS0FBSyxVQUFVLENBQUMsRUFBRSxLQUFLLE1BQU0sS0FBSyxJQUFJLHlCQUF5QnRJLEdBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFMk0sR0FBRSxpQkFBaUIsU0FBUyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSyxJQUFHLE9BQU8sS0FBSyxjQUFjLEVBQUUsSUFBSyxJQUFHLE1BQU0sRUFBRSxLQUFLLElBQUksS0FBSyxZQUFZckUsR0FBRSxNQUFNLEVBQUUsSUFBSyxJQUFHLE1BQU0sRUFBRSxLQUFLLElBQUksS0FBSyxZQUFZQSxHQUFFLE1BQU0sRUFBRSxJQUFLLElBQUcsTUFBTSxFQUFFLEtBQUssSUFBSSxLQUFLLFlBQVlBLEdBQUUsSUFBSSxFQUFFLElBQUssSUFBRyxNQUFNLEVBQUUsS0FBSyxJQUFJLEtBQUssWUFBWUEsR0FBRSxLQUFLLEVBQUUsSUFBSyxJQUFHLE1BQU0sRUFBRSxLQUFLLElBQUksS0FBSyxZQUFZQSxHQUFFLFFBQVEsRUFBRSxJQUFLLElBQUcsTUFBTSxFQUFFLEtBQUssSUFBSSxLQUFLLFlBQVlBLEdBQUUsUUFBUSxFQUFFLElBQUssS0FBSSxNQUFNLEVBQUUsS0FBSyxJQUFJLEtBQUssWUFBWUEsR0FBRSxNQUFNLEVBQUUsSUFBSyxLQUFJLE1BQU0sRUFBRSxLQUFLLElBQUksS0FBSyxZQUFZQSxHQUFFLE1BQU0sRUFBRSxJQUFLLElBQUcsTUFBTSxFQUFFLEtBQUssSUFBSSxLQUFLLFlBQVlBLEdBQUUsS0FBSyxFQUFFLElBQUssSUFBRyxHQUFHLEtBQUssUUFBUSxZQUFZLEVBQUUsTUFBTSxNQUFNLEVBQUUsS0FBSyxJQUFJLEtBQUssWUFBWUEsR0FBRSxTQUFTLEVBQUUsSUFBSyxJQUFHLElBQUksRUFBRSxLQUFLLE1BQU0sV0FBVyxLQUFLLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxLQUFLLElBQUks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RUFBRSxjQUFjLEdBQUdrSCxLQUFJQSxHQUFFLENBQUMsRUFBRSxHQUFVLFNBQVNsSCxFQUFFLENBQUNBLEVBQUVBLEVBQUUsTUFBTSxDQUFDLEVBQUUsUUFBUUEsRUFBRUEsRUFBRSxRQUFRLENBQUMsRUFBRSxVQUFVQSxFQUFFQSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFFBQVEsR0FBR21ILE1BQUtBLElBQUcsQ0FBQyxFQUFFLEdBQVUsU0FBU25ILEVBQUUsQ0FBQ0EsRUFBRUEsRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTQSxFQUFFQSxFQUFFLElBQUksQ0FBQyxFQUFFLEtBQUssR0FBR29ILE1BQUtBLElBQUcsQ0FBQyxFQUFFLEdBQVUsU0FBU3BILEVBQUUsQ0FBQ0EsRUFBRUEsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPQSxFQUFFQSxFQUFFLE1BQU0sQ0FBQyxFQUFFLE9BQU8sR0FBR3FILE1BQUtBLElBQUcsQ0FBQyxFQUFFLEdBQVUsU0FBU3JILEVBQUUsQ0FBQ0EsRUFBRUEsRUFBRSxRQUFRLENBQUMsRUFBRSxVQUFVQSxFQUFFQSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU9BLEVBQUVBLEVBQUUsT0FBTyxDQUFDLEVBQUUsU0FBU0EsRUFBRUEsRUFBRSxJQUFJLENBQUMsRUFBRSxNQUFNQSxFQUFFQSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFNBQVNBLEVBQUVBLEVBQUUsU0FBUyxDQUFDLEVBQUUsV0FBV0EsRUFBRUEsRUFBRSxTQUFTLENBQUMsRUFBRSxXQUFXQSxFQUFFQSxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sR0FBR3NILE1BQUtBLElBQUcsQ0FBQyxFQUFFLEVBQU1DLElBQUcsUUFBZSxTQUFTdkgsRUFBRSxDQUFDQSxFQUFFQSxFQUFFLE1BQU0sQ0FBQyxFQUFFLFFBQVFBLEVBQUVBLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxHQUFHd0gsTUFBS0EsSUFBRyxDQUFDLEVBQUUsR0FBUyxTQUFTeEgsRUFBRSxDQUFDQSxFQUFFQSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFNBQVNBLEVBQUVBLEVBQUUsVUFBVSxDQUFDLEVBQUUsWUFBWUEsRUFBRUEsRUFBRSxVQUFVLENBQUMsRUFBRSxZQUFZQSxFQUFFQSxFQUFFLGFBQWEsQ0FBQyxFQUFFLGVBQWVBLEVBQUVBLEVBQUUsTUFBTSxDQUFDLEVBQUUsUUFBUUEsRUFBRUEsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPQSxFQUFFQSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFNBQVNBLEVBQUVBLEVBQUUsU0FBUyxDQUFDLEVBQUUsV0FBV0EsRUFBRUEsRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTQSxFQUFFQSxFQUFFLElBQUksQ0FBQyxFQUFFLE1BQU1BLEVBQUVBLEVBQUUsR0FBRyxFQUFFLEVBQUUsS0FBS0EsRUFBRUEsRUFBRSxVQUFVLEVBQUUsRUFBRSxZQUFZQSxFQUFFQSxFQUFFLFdBQVcsRUFBRSxFQUFFLGFBQWFBLEVBQUVBLEVBQUUsTUFBTSxFQUFFLEVBQUUsUUFBUUEsRUFBRUEsRUFBRSxZQUFZLEVBQUUsRUFBRSxjQUFjQSxFQUFFQSxFQUFFLE9BQU8sRUFBRSxFQUFFLFNBQVNBLEVBQUVBLEVBQUUsYUFBYSxFQUFFLEVBQUUsZUFBZUEsRUFBRUEsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLGlCQUFpQixHQUFHeUgsS0FBSUEsR0FBRSxDQUFDLEVBQUUsRUFBaVBDLEdBQUUsS0FBSyxDQUFDLEtBQUssV0FBVyxZQUFZLEVBQUV2SCxFQUFFLENBQUMsS0FBSyxLQUFLLEdBQUcsS0FBSyxLQUFLLFdBQVdBLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRUEsRUFBRSxDQUFDLE9BQU8sSUFBSWtJLElBQUcsS0FBSyxFQUFFLEtBQUtsSSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUVBLEVBQUVDLEVBQUUsQ0FBQyxPQUFPLElBQUlrSSxJQUFHLEtBQUssRUFBRW5JLEVBQUVDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRUQsRUFBRUMsRUFBRSxDQUFDLE9BQU8sSUFBSTJILElBQUcsS0FBSyxFQUFFLEtBQUs1SCxFQUFFQyxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUVELEVBQUVDLEVBQUUsQ0FBQyxPQUFPLElBQUk0SCxJQUFHLEtBQUssRUFBRTdILEVBQUVDLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRUQsRUFBRSxLQUFLQyxFQUFFLENBQUMsT0FBTyxJQUFJK0gsSUFBRyxLQUFLLEVBQUVoSSxFQUFFLEtBQUtDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRUQsRUFBRSxDQUFDLE9BQU8sSUFBSWlJLEdBQUVYLEdBQUUsT0FBTyxLQUFLLEVBQUUsS0FBS3RILENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRUEsRUFBRSxDQUFDLE9BQU8sSUFBSWlJLEdBQUVYLEdBQUUsVUFBVSxLQUFLLEVBQUUsS0FBS3RILENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRUEsRUFBRSxDQUFDLE9BQU8sSUFBSWlJLEdBQUVYLEdBQUUsVUFBVSxLQUFLLEVBQUUsS0FBS3RILENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBRUEsRUFBRSxDQUFDLE9BQU8sSUFBSWlJLEdBQUVYLEdBQUUsYUFBYSxLQUFLLEVBQUUsS0FBS3RILENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRUEsRUFBRSxDQUFDLE9BQU8sSUFBSWlJLEdBQUVYLEdBQUUsTUFBTSxLQUFLLEVBQUUsS0FBS3RILENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRUEsRUFBRSxDQUFDLE9BQU8sSUFBSWlJLEdBQUVYLEdBQUUsS0FBSyxLQUFLLEVBQUUsS0FBS3RILENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRUEsRUFBRSxDQUFDLE9BQU8sSUFBSWlJLEdBQUVYLEdBQUUsT0FBTyxLQUFLLEVBQUUsS0FBS3RILENBQUMsQ0FBQyxDQUFDLFNBQVMsRUFBRUEsRUFBRSxDQUFDLE9BQU8sSUFBSWlJLEdBQUVYLEdBQUUsU0FBUyxLQUFLLEVBQUUsS0FBS3RILENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRUEsRUFBRSxDQUFDLE9BQU8sSUFBSWlJLEdBQUVYLEdBQUUsT0FBTyxLQUFLLEVBQUUsS0FBS3RILENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRUEsRUFBRSxDQUFDLE9BQU8sSUFBSWlJLEdBQUVYLEdBQUUsSUFBSSxLQUFLLEVBQUUsS0FBS3RILENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRUEsRUFBRUMsRUFBRSxHQUFHLENBQUMsT0FBTyxJQUFJZ0ksR0FBRVgsR0FBRSxVQUFVLEtBQUssRUFBRSxLQUFLdEgsRUFBRUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFRCxFQUFFQyxFQUFFLEdBQUcsQ0FBQyxPQUFPLElBQUlnSSxHQUFFWCxHQUFFLFdBQVcsS0FBSyxFQUFFLEtBQUt0SCxFQUFFQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEVBQUVELEVBQUUsQ0FBQyxPQUFPLElBQUlpSSxHQUFFWCxHQUFFLEdBQUcsS0FBSyxFQUFFLEtBQUt0SCxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUVBLEVBQUUsQ0FBQyxPQUFPLElBQUlpSSxHQUFFWCxHQUFFLE1BQU0sS0FBSyxFQUFFLEtBQUt0SCxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUVBLEVBQUUsQ0FBQyxPQUFPLElBQUlpSSxHQUFFWCxHQUFFLFlBQVksS0FBSyxFQUFFLEtBQUt0SCxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUVBLEVBQUUsQ0FBQyxPQUFPLElBQUlpSSxHQUFFWCxHQUFFLE9BQU8sS0FBSyxFQUFFLEtBQUt0SCxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUVBLEVBQUUsQ0FBQyxPQUFPLElBQUlpSSxHQUFFWCxHQUFFLGFBQWEsS0FBSyxFQUFFLEtBQUt0SCxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLEtBQUssT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLEVBQUVBLEVBQUUsQ0FBQyxPQUFPLElBQUlpSSxHQUFFWCxHQUFFLGdCQUFnQixLQUFLLEVBQUUsS0FBS3RILENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLElBQUl5SSxJQUFHLEtBQUssSUFBSSxDQUFDLENBQUMsRUFBRXBJLElBQUcsTUFBTVIsWUFBVTBILEVBQUMsQ0FBQyxLQUFLLFlBQVl6SCxFQUFFRSxFQUFFQyxFQUFFLENBQUMsTUFBTUQsRUFBRUMsQ0FBQyxFQUFFLEtBQUssS0FBS0gsQ0FBQyxDQUFDLGFBQWFBLEVBQUUsQ0FBQyxPQUFPQSxhQUFhRCxLQUFHLEtBQUssT0FBT0MsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLGdCQUFnQkEsRUFBRUUsRUFBRSxDQUFDLE9BQU9GLEVBQUUsaUJBQWlCLEtBQUtFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUlILElBQUUsS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLElBQUlDLEVBQUUsQ0FBQyxPQUFPLElBQUkySCxJQUFHLEtBQUssS0FBSzNILEVBQUUsS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLEVBQUUwSCxJQUFHLE1BQU0zSCxZQUFVMEgsRUFBQyxDQUFDLEtBQUssWUFBWXpILEVBQUVFLEVBQUVDLEVBQUUsQ0FBQyxNQUFNRCxFQUFFQyxDQUFDLEVBQUUsS0FBSyxLQUFLSCxDQUFDLENBQUMsZ0JBQWdCQSxFQUFFRSxFQUFFLENBQUMsT0FBT0YsRUFBRSxnQkFBZ0IsS0FBS0UsQ0FBQyxDQUFDLENBQUMsYUFBYUYsRUFBRSxDQUFDLE9BQU9BLGFBQWFELEtBQUdDLEVBQUUsS0FBSyxhQUFhLEtBQUssSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sS0FBSyxLQUFLLFdBQVcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUlELElBQUUsS0FBSyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBTTRILElBQUcsTUFBTTVILFlBQVUwSCxFQUFDLENBQUMsS0FBSyxNQUFNLFlBQVl6SCxFQUFFRSxFQUFFQyxFQUFFQyxFQUFFLENBQUMsTUFBTUQsR0FBR0QsRUFBRSxLQUFLRSxDQUFDLEVBQUUsS0FBSyxLQUFLSixFQUFFLEtBQUssTUFBTUUsQ0FBQyxDQUFDLGFBQWFGLEVBQUUsQ0FBQyxPQUFPQSxhQUFhRCxLQUFHLEtBQUssT0FBT0MsRUFBRSxNQUFNLEtBQUssTUFBTSxhQUFhQSxFQUFFLEtBQUssQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxnQkFBZ0JBLEVBQUVFLEVBQUUsQ0FBQyxPQUFPRixFQUFFLGtCQUFrQixLQUFLRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJSCxJQUFFLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxFQUFFLEtBQUssS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLFdBQVdDLEVBQUVFLEVBQUUsQ0FBQyxPQUFPLElBQUl3SSxJQUFHLEtBQUssS0FBSyxLQUFLLE1BQU0xSSxFQUFFRSxFQUFFLEtBQUssVUFBVSxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sS0FBSyxXQUFXb0gsSUFBR2tCLElBQUcsS0FBSyxDQUFDLENBQUMsRUFBRVosSUFBRyxNQUFNN0gsWUFBVTBILEVBQUMsQ0FBQyxTQUFTLE1BQU0sTUFBTSxZQUFZekgsRUFBRUUsRUFBRUMsRUFBRUMsRUFBRXNELEVBQUUsQ0FBQyxNQUFNdEQsR0FBR0QsRUFBRSxLQUFLdUQsQ0FBQyxFQUFFLEtBQUssU0FBUzFELEVBQUUsS0FBSyxNQUFNRSxFQUFFLEtBQUssTUFBTUMsQ0FBQyxDQUFDLGFBQWFILEVBQUUsQ0FBQyxPQUFPQSxhQUFhRCxLQUFHLEtBQUssU0FBUyxhQUFhQyxFQUFFLFFBQVEsR0FBRyxLQUFLLE1BQU0sYUFBYUEsRUFBRSxLQUFLLEdBQUcsS0FBSyxNQUFNLGFBQWFBLEVBQUUsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLGdCQUFnQkEsRUFBRUUsRUFBRSxDQUFDLE9BQU9GLEVBQUUsa0JBQWtCLEtBQUtFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUlILElBQUUsS0FBSyxTQUFTLE1BQU0sRUFBRSxLQUFLLE1BQU0sTUFBTSxFQUFFLEtBQUssTUFBTSxNQUFNLEVBQUUsS0FBSyxLQUFLLEtBQUssVUFBVSxDQUFDLENBQUMsRUFBRThILElBQUcsTUFBTTlILFlBQVUwSCxFQUFDLENBQUMsU0FBUyxLQUFLLE1BQU0sWUFBWXpILEVBQUVFLEVBQUVDLEVBQUVDLEVBQUVzRCxFQUFFLENBQUMsTUFBTXRELEdBQUdELEVBQUUsS0FBS3VELENBQUMsRUFBRSxLQUFLLFNBQVMxRCxFQUFFLEtBQUssS0FBS0UsRUFBRSxLQUFLLE1BQU1DLENBQUMsQ0FBQyxhQUFhSCxFQUFFLENBQUMsT0FBT0EsYUFBYUQsS0FBRyxLQUFLLFNBQVMsYUFBYUMsRUFBRSxRQUFRLEdBQUcsS0FBSyxPQUFPQSxFQUFFLE1BQU0sS0FBSyxNQUFNLGFBQWFBLEVBQUUsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLGdCQUFnQkEsRUFBRUUsRUFBRSxDQUFDLE9BQU9GLEVBQUUsbUJBQW1CLEtBQUtFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUlILElBQUUsS0FBSyxTQUFTLE1BQU0sRUFBRSxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sRUFBRSxLQUFLLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxFQUFFK0gsSUFBRyxNQUFNL0gsWUFBVTBILEVBQUMsQ0FBQyxHQUFHLEtBQUssS0FBSyxZQUFZekgsRUFBRUUsRUFBRUMsRUFBRUMsRUFBRXNELEVBQUUsR0FBRyxDQUFDLE1BQU12RCxFQUFFQyxDQUFDLEVBQUUsS0FBSyxHQUFHSixFQUFFLEtBQUssS0FBS0UsRUFBRSxLQUFLLEtBQUt3RCxDQUFDLENBQUMsSUFBSSxVQUFVLENBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQyxhQUFhMUQsRUFBRSxDQUFDLE9BQU9BLGFBQWFELEtBQUcsS0FBSyxHQUFHLGFBQWFDLEVBQUUsRUFBRSxHQUFHSyxJQUFHLEtBQUssS0FBS0wsRUFBRSxJQUFJLEdBQUcsS0FBSyxPQUFPQSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsZ0JBQWdCQSxFQUFFRSxFQUFFLENBQUMsT0FBT0YsRUFBRSx3QkFBd0IsS0FBS0UsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSUgsSUFBRSxLQUFLLEdBQUcsTUFBTSxFQUFFLEtBQUssS0FBSyxJQUFJQyxHQUFHQSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxJQUFJLENBQUMsQ0FBQyxFQUFNK0gsSUFBRyxNQUFNaEksWUFBVTBILEVBQUMsQ0FBQyxVQUFVLEtBQUssWUFBWXpILEVBQUVFLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxNQUFNRCxFQUFFQyxDQUFDLEVBQUUsS0FBSyxVQUFVSixFQUFFLEtBQUssS0FBS0UsQ0FBQyxDQUFDLGFBQWFGLEVBQUUsQ0FBQyxPQUFPQSxhQUFhRCxLQUFHLEtBQUssVUFBVSxhQUFhQyxFQUFFLFNBQVMsR0FBR0ssSUFBRyxLQUFLLEtBQUtMLEVBQUUsSUFBSSxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLGdCQUFnQkEsRUFBRUUsRUFBRSxDQUFDLE9BQU9GLEVBQUUscUJBQXFCLEtBQUtFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUlILElBQUUsS0FBSyxVQUFVLE1BQU0sRUFBRSxLQUFLLEtBQUssSUFBSUMsR0FBR0EsRUFBRSxNQUFNLENBQUMsRUFBRSxLQUFLLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxFQUFFZ0ksSUFBRyxNQUFNakksWUFBVTBILEVBQUMsQ0FBQyxNQUFNLFlBQVl6SCxFQUFFRSxFQUFFQyxFQUFFLENBQUMsTUFBTUQsRUFBRUMsQ0FBQyxFQUFFLEtBQUssTUFBTUgsQ0FBQyxDQUFDLGFBQWFBLEVBQUUsQ0FBQyxPQUFPQSxhQUFhRCxLQUFHLEtBQUssUUFBUUMsRUFBRSxLQUFLLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLGdCQUFnQkEsRUFBRUUsRUFBRSxDQUFDLE9BQU9GLEVBQUUsaUJBQWlCLEtBQUtFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUlILElBQUUsS0FBSyxNQUFNLEtBQUssS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLEVBQU1rSSxJQUFHLE1BQU1sSSxZQUFVMEgsRUFBQyxDQUFDLE1BQU0sV0FBVyxZQUFZekgsRUFBRUUsRUFBRUMsRUFBRSxLQUFLQyxFQUFFLENBQUMsTUFBTUYsRUFBRUUsQ0FBQyxFQUFFLEtBQUssTUFBTUosRUFBRSxLQUFLLFdBQVdHLENBQUMsQ0FBQyxhQUFhSCxFQUFFLENBQUMsT0FBT0EsYUFBYUQsS0FBRyxLQUFLLE1BQU0sT0FBT0MsRUFBRSxNQUFNLE1BQU0sS0FBSyxNQUFNLGFBQWFBLEVBQUUsTUFBTSxVQUFVLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLGdCQUFnQkEsRUFBRUUsRUFBRSxDQUFDLE9BQU9GLEVBQUUsa0JBQWtCLEtBQUtFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUlILElBQUUsS0FBSyxNQUFNLEtBQUssS0FBSyxLQUFLLFdBQVcsS0FBSyxVQUFVLENBQUMsQ0FBQyxFQUFNbUksSUFBRyxNQUFNbkksWUFBVTBILEVBQUMsQ0FBQyxVQUFVLFVBQVUsU0FBUyxZQUFZekgsRUFBRUUsRUFBRUMsRUFBRSxLQUFLQyxFQUFFc0QsRUFBRSxDQUFDLE1BQU10RCxHQUFHRixFQUFFLEtBQUt3RCxDQUFDLEVBQUUsS0FBSyxVQUFVMUQsRUFBRSxLQUFLLFVBQVVHLEVBQUUsS0FBSyxTQUFTRCxDQUFDLENBQUMsYUFBYUYsRUFBRSxDQUFDLE9BQU9BLGFBQWFELEtBQUcsS0FBSyxVQUFVLGFBQWFDLEVBQUUsU0FBUyxHQUFHLEtBQUssU0FBUyxhQUFhQSxFQUFFLFFBQVEsR0FBR0YsSUFBRyxLQUFLLFVBQVVFLEVBQUUsU0FBUyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLGdCQUFnQkEsRUFBRUUsRUFBRSxDQUFDLE9BQU9GLEVBQUUscUJBQXFCLEtBQUtFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJRixFQUFFLE9BQU8sSUFBSUQsSUFBRSxLQUFLLFVBQVUsTUFBTSxFQUFFLEtBQUssU0FBUyxNQUFNLEdBQUdDLEVBQUUsS0FBSyxZQUFZLEtBQUssT0FBT0EsRUFBRSxNQUFNLEVBQUUsS0FBSyxLQUFLLEtBQUssVUFBVSxDQUFDLENBQUMsRUFBTW1JLEdBQUUsTUFBTXBJLFlBQVUwSCxFQUFDLENBQUMsU0FBUyxJQUFJLE9BQU8sSUFBSSxZQUFZekgsRUFBRUUsRUFBRUMsRUFBRUMsRUFBRXNELEVBQUVDLEVBQUUsR0FBRyxDQUFDLE1BQU12RCxHQUFHRixFQUFFLEtBQUt3RCxDQUFDLEVBQUUsS0FBSyxTQUFTMUQsRUFBRSxLQUFLLElBQUlHLEVBQUUsS0FBSyxPQUFPd0QsRUFBRSxLQUFLLElBQUl6RCxDQUFDLENBQUMsYUFBYUYsRUFBRSxDQUFDLE9BQU9BLGFBQWFELEtBQUcsS0FBSyxXQUFXQyxFQUFFLFVBQVUsS0FBSyxJQUFJLGFBQWFBLEVBQUUsR0FBRyxHQUFHLEtBQUssSUFBSSxhQUFhQSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFlBQVksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxnQkFBZ0JBLEVBQUVFLEVBQUUsQ0FBQyxPQUFPRixFQUFFLHdCQUF3QixLQUFLRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJSCxJQUFFLEtBQUssU0FBUyxLQUFLLElBQUksTUFBTSxFQUFFLEtBQUssSUFBSSxNQUFNLEVBQUUsS0FBSyxLQUFLLEtBQUssV0FBVyxLQUFLLE1BQU0sQ0FBQyxDQUFDLEVBQUVxSSxJQUFHLE1BQU1ySSxZQUFVMEgsRUFBQyxDQUFDLFNBQVMsS0FBSyxZQUFZekgsRUFBRUUsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE1BQU1ELEVBQUVDLENBQUMsRUFBRSxLQUFLLFNBQVNKLEVBQUUsS0FBSyxLQUFLRSxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLElBQUksQ0FBQyxhQUFhRixFQUFFLENBQUMsT0FBT0EsYUFBYUQsS0FBRyxLQUFLLFNBQVMsYUFBYUMsRUFBRSxRQUFRLEdBQUcsS0FBSyxPQUFPQSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUMsZ0JBQWdCQSxFQUFFRSxFQUFFLENBQUMsT0FBT0YsRUFBRSxrQkFBa0IsS0FBS0UsQ0FBQyxDQUFDLENBQUMsSUFBSUYsRUFBRSxDQUFDLE9BQU8sSUFBSTZILElBQUcsS0FBSyxTQUFTLEtBQUssS0FBSzdILEVBQUUsS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUlELElBQUUsS0FBSyxTQUFTLE1BQU0sRUFBRSxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssVUFBVSxDQUFDLENBQUMsRUFBRXNJLElBQUcsTUFBTXRJLFlBQVUwSCxFQUFDLENBQUMsU0FBUyxNQUFNLFlBQVl6SCxFQUFFRSxFQUFFQyxFQUFFQyxFQUFFLENBQUMsTUFBTUQsRUFBRUMsQ0FBQyxFQUFFLEtBQUssU0FBU0osRUFBRSxLQUFLLE1BQU1FLENBQUMsQ0FBQyxhQUFhRixFQUFFLENBQUMsT0FBT0EsYUFBYUQsS0FBRyxLQUFLLFNBQVMsYUFBYUMsRUFBRSxRQUFRLEdBQUcsS0FBSyxNQUFNLGFBQWFBLEVBQUUsS0FBSyxDQUFDLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxDQUFDLGdCQUFnQkEsRUFBRUUsRUFBRSxDQUFDLE9BQU9GLEVBQUUsaUJBQWlCLEtBQUtFLENBQUMsQ0FBQyxDQUFDLElBQUlGLEVBQUUsQ0FBQyxPQUFPLElBQUk0SCxJQUFHLEtBQUssU0FBUyxLQUFLLE1BQU01SCxFQUFFLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJRCxJQUFFLEtBQUssU0FBUyxNQUFNLEVBQUUsS0FBSyxNQUFNLE1BQU0sRUFBRSxLQUFLLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxFQUFFdUksSUFBRyxNQUFNdkksWUFBVTBILEVBQUMsQ0FBQyxRQUFRLFlBQVl6SCxFQUFFRSxFQUFFQyxFQUFFLENBQUMsTUFBTUQsRUFBRUMsQ0FBQyxFQUFFLEtBQUssUUFBUUgsQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLEtBQUssUUFBUSxNQUFNQSxHQUFHQSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsYUFBYUEsRUFBRSxDQUFDLE9BQU9BLGFBQWFELEtBQUdNLElBQUcsS0FBSyxRQUFRTCxFQUFFLE9BQU8sQ0FBQyxDQUFDLGdCQUFnQkEsRUFBRUUsRUFBRSxDQUFDLE9BQU9GLEVBQUUsc0JBQXNCLEtBQUtFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUlILElBQUUsS0FBSyxRQUFRLElBQUlDLEdBQUdBLEVBQUUsTUFBTSxDQUFDLEVBQUUsS0FBSyxLQUFLLEtBQUssVUFBVSxDQUFDLENBQUMsRUFBTXVJLElBQUcsTUFBTXhJLFlBQVUwSCxFQUFDLENBQUMsUUFBUSxVQUFVLEtBQUssWUFBWXpILEVBQUVFLEVBQUVDLEVBQUUsQ0FBQyxNQUFNRCxFQUFFQyxDQUFDLEVBQUUsS0FBSyxRQUFRSCxFQUFFRSxJQUFJLEtBQUssVUFBVUEsRUFBRSxVQUFVLENBQUMsYUFBYUYsRUFBRSxDQUFDLE9BQU9BLGFBQWFELEtBQUdNLElBQUcsS0FBSyxRQUFRTCxFQUFFLE9BQU8sQ0FBQyxDQUFDLFlBQVksQ0FBQyxPQUFPLEtBQUssUUFBUSxNQUFNQSxHQUFHQSxFQUFFLE1BQU0sV0FBVyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0JBLEVBQUVFLEVBQUUsQ0FBQyxPQUFPRixFQUFFLG9CQUFvQixLQUFLRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSUYsRUFBRSxLQUFLLFFBQVEsSUFBSUUsR0FBR0EsRUFBRSxNQUFNLENBQUMsRUFBRSxPQUFPLElBQUlILElBQUVDLEVBQUUsS0FBSyxLQUFLLEtBQUssVUFBVSxDQUFDLENBQUMsR0FBVSxTQUFTRCxFQUFFLENBQUNBLEVBQUVBLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBT0EsRUFBRUEsRUFBRSxNQUFNLENBQUMsRUFBRSxRQUFRQSxFQUFFQSxFQUFFLFFBQVEsQ0FBQyxFQUFFLFVBQVVBLEVBQUVBLEVBQUUsU0FBUyxDQUFDLEVBQUUsV0FBV0EsRUFBRUEsRUFBRSxPQUFPLENBQUMsRUFBRSxRQUFRLEdBQUd5SSxNQUFLQSxJQUFHLENBQUMsRUFBRSxFQUFNQyxJQUFHLEtBQUssQ0FBQyxVQUFVLFdBQVcsZ0JBQWdCLFlBQVksRUFBRUQsSUFBRyxLQUFLdEksRUFBRSxLQUFLQyxFQUFFLENBQUMsS0FBSyxVQUFVLEVBQUUsS0FBSyxXQUFXRCxFQUFFLEtBQUssZ0JBQWdCQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsT0FBTyxLQUFLLFVBQVUsS0FBSyxDQUFDLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxLQUFLLGdCQUFnQixLQUFLLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxnQkFBZ0IsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFdUksSUFBRyxNQUFNM0ksWUFBVTBJLEdBQUUsQ0FBQyxLQUFLLE1BQU0sS0FBSyxZQUFZekksRUFBRUUsRUFBRUMsRUFBRUMsRUFBRXNELEVBQUVDLEVBQUUsQ0FBQyxNQUFNdkQsRUFBRXNELEVBQUVDLENBQUMsRUFBRSxLQUFLLEtBQUszRCxFQUFFLEtBQUssTUFBTUUsRUFBRSxLQUFLLEtBQUtDLEdBQUdELEdBQUdBLEVBQUUsTUFBTSxJQUFJLENBQUMsYUFBYUYsRUFBRSxDQUFDLE9BQU9BLGFBQWFELEtBQUcsS0FBSyxPQUFPQyxFQUFFLE9BQU8sS0FBSyxNQUFNLENBQUMsQ0FBQ0EsRUFBRSxPQUFPLEtBQUssTUFBTSxhQUFhQSxFQUFFLEtBQUssRUFBRSxDQUFDQSxFQUFFLE1BQU0sQ0FBQyxlQUFlQSxFQUFFRSxFQUFFLENBQUMsT0FBT0YsRUFBRSxvQkFBb0IsS0FBS0UsQ0FBQyxDQUFDLENBQUMsRUFBTXlJLElBQUcsTUFBTTVJLFlBQVUwSSxHQUFFLENBQUMsS0FBSyxZQUFZekksRUFBRUUsRUFBRUMsRUFBRSxDQUFDLE1BQU1xSSxJQUFHLEtBQUt0SSxFQUFFQyxDQUFDLEVBQUUsS0FBSyxLQUFLSCxDQUFDLENBQUMsYUFBYUEsRUFBRSxDQUFDLE9BQU9BLGFBQWFELEtBQUcsS0FBSyxLQUFLLGFBQWFDLEVBQUUsSUFBSSxDQUFDLENBQUMsZUFBZUEsRUFBRUUsRUFBRSxDQUFDLE9BQU9GLEVBQUUsb0JBQW9CLEtBQUtFLENBQUMsQ0FBQyxDQUFDLEVBQThDMEksSUFBR3RJLElBQUcsV0FBVyxFQUFNdUksSUFBRyxNQUFNOUksR0FBQyxDQUFDLE9BQU8sU0FBUyxJQUFJQSxJQUFFLE1BQU1DLEVBQUUsQ0FBQyxHQUFHQSxhQUFhZ0ksS0FBSSxPQUFPaEksRUFBRSxPQUFPLFNBQVMsTUFBTSxJQUFJQSxFQUFFLEtBQUssSUFBSSxHQUFHQSxhQUFhZ0ksSUFBRyxPQUFPLE9BQU9oSSxFQUFFLEtBQUssRUFBRSxHQUFHQSxhQUFhc0ksSUFBRyxDQUFDLElBQUlwSSxFQUFFLENBQUMsRUFBRSxRQUFRQyxLQUFLSCxFQUFFLFFBQVFFLEVBQUUsS0FBSyxLQUFLLE1BQU1DLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSUQsRUFBRSxLQUFLLEdBQUcsQ0FBQyxHQUFHLFNBQVNGLGFBQWF1SSxJQUFHLENBQUMsSUFBSXJJLEVBQUUsQ0FBQyxFQUFFLFFBQVFDLEtBQUtILEVBQUUsUUFBUSxDQUFDLElBQUlJLEVBQUVELEVBQUUsSUFBSUEsRUFBRSxTQUFTQyxFQUFFLElBQUlBLENBQUMsS0FBS0YsRUFBRSxLQUFLRSxFQUFFLElBQUksS0FBSyxNQUFNRCxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxJQUFJRCxFQUFFLEtBQUssR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDLEdBQUdGLGFBQWFpSSxJQUFHLE1BQU0sV0FBV2pJLEVBQUUsTUFBTSxVQUFVLE1BQU1BLEVBQUUsTUFBTSxJQUFJLElBQUksR0FBR0EsYUFBYU8sSUFBRyxNQUFNLFFBQVFQLEVBQUUsSUFBSSxJQUFJLEdBQUdBLGFBQWEwSCxJQUFHLE1BQU0sVUFBVSxLQUFLLE1BQU0xSCxFQUFFLElBQUksQ0FBQyxJQUFJLE1BQU0sSUFBSSxNQUFNLEdBQUcsS0FBSyxZQUFZLElBQUksd0NBQXdDQSxFQUFFLFlBQVksSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQU04SSxHQUFFLGdCQUFnQkMsR0FBRSxLQUFLLENBQUMsT0FBTyxXQUFXLFVBQVUsT0FBTyxpQkFBaUIsWUFBWSxPQUFPLFdBQVcsY0FBYyxPQUFPLEtBQUssQ0FBQyxLQUFLLEtBQUssV0FBV0QsRUFBQyxFQUFFLE9BQU8sY0FBYyxDQUFDLEtBQUssNEJBQTRCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGdCQUFnQixDQUFDLEtBQUssOEJBQThCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGFBQWEsQ0FBQyxLQUFLLDJCQUEyQixXQUFXQSxFQUFDLEVBQUUsT0FBTyxRQUFRLENBQUMsS0FBSyxzQkFBc0IsV0FBV0EsRUFBQyxFQUFFLE9BQU8sYUFBYSxDQUFDLEtBQUssMkJBQTJCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFdBQVcsQ0FBQyxLQUFLLHlCQUF5QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxRQUFRLENBQUMsS0FBSyxzQkFBc0IsV0FBV0EsRUFBQyxFQUFFLE9BQU8sc0JBQXNCLENBQUMsS0FBSyxvQ0FBb0MsV0FBV0EsRUFBQyxFQUFFLE9BQU8sc0JBQXNCLENBQUMsS0FBSyxvQ0FBb0MsV0FBV0EsRUFBQyxFQUFFLE9BQU8sVUFBVSxDQUFDLEtBQUssd0JBQXdCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHNCQUFzQixDQUFDLEtBQUssb0NBQW9DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHNCQUFzQixDQUFDLEtBQUssb0NBQW9DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHNCQUFzQixDQUFDLEtBQUssb0NBQW9DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHNCQUFzQixDQUFDLEtBQUssb0NBQW9DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHNCQUFzQixDQUFDLEtBQUssb0NBQW9DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHNCQUFzQixDQUFDLEtBQUssb0NBQW9DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHNCQUFzQixDQUFDLEtBQUssb0NBQW9DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHNCQUFzQixDQUFDLEtBQUssb0NBQW9DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHNCQUFzQixDQUFDLEtBQUssb0NBQW9DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLHdCQUF3QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxzQkFBc0IsQ0FBQyxLQUFLLG9DQUFvQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLGtDQUFrQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLCtCQUErQixXQUFXQSxFQUFDLEVBQUUsT0FBTyxTQUFTLENBQUMsS0FBSyx1QkFBdUIsV0FBV0EsRUFBQyxFQUFFLE9BQU8scUJBQXFCLENBQUMsS0FBSyxtQ0FBbUMsV0FBV0EsRUFBQyxFQUFFLE9BQU8scUJBQXFCLENBQUMsS0FBSyxtQ0FBbUMsV0FBV0EsRUFBQyxFQUFFLE9BQU8scUJBQXFCLENBQUMsS0FBSyxtQ0FBbUMsV0FBV0EsRUFBQyxFQUFFLE9BQU8scUJBQXFCLENBQUMsS0FBSyxtQ0FBbUMsV0FBV0EsRUFBQyxFQUFFLE9BQU8scUJBQXFCLENBQUMsS0FBSyxtQ0FBbUMsV0FBV0EsRUFBQyxFQUFFLE9BQU8scUJBQXFCLENBQUMsS0FBSyxtQ0FBbUMsV0FBV0EsRUFBQyxFQUFFLE9BQU8scUJBQXFCLENBQUMsS0FBSyxtQ0FBbUMsV0FBV0EsRUFBQyxFQUFFLE9BQU8scUJBQXFCLENBQUMsS0FBSyxtQ0FBbUMsV0FBV0EsRUFBQyxFQUFFLE9BQU8scUJBQXFCLENBQUMsS0FBSyxtQ0FBbUMsV0FBV0EsRUFBQyxFQUFFLE9BQU8sU0FBUyxDQUFDLEtBQUssdUJBQXVCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLHdCQUF3QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxzQkFBc0IsQ0FBQyxLQUFLLG9DQUFvQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxzQkFBc0IsQ0FBQyxLQUFLLG9DQUFvQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxzQkFBc0IsQ0FBQyxLQUFLLG9DQUFvQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxzQkFBc0IsQ0FBQyxLQUFLLG9DQUFvQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxzQkFBc0IsQ0FBQyxLQUFLLG9DQUFvQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxzQkFBc0IsQ0FBQyxLQUFLLG9DQUFvQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxzQkFBc0IsQ0FBQyxLQUFLLG9DQUFvQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxzQkFBc0IsQ0FBQyxLQUFLLG9DQUFvQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxzQkFBc0IsQ0FBQyxLQUFLLG9DQUFvQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxZQUFZLENBQUMsS0FBSywwQkFBMEIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sVUFBVSxDQUFDLEtBQUssd0JBQXdCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGVBQWUsQ0FBQyxLQUFLLHVCQUF1QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxNQUFNLENBQUMsS0FBSyxvQkFBb0IsV0FBV0EsRUFBQyxFQUFFLE9BQU8sVUFBVSxDQUFDLEtBQUssd0JBQXdCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFlBQVksQ0FBQyxLQUFLLDBCQUEwQixXQUFXQSxFQUFDLEVBQUUsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLCtCQUErQixXQUFXQSxFQUFDLEVBQUUsT0FBTyxhQUFhLENBQUMsS0FBSywyQkFBMkIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sYUFBYSxDQUFDLEtBQUssMkJBQTJCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLG1CQUFtQixDQUFDLEtBQUssaUNBQWlDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGdCQUFnQixDQUFDLEtBQUssOEJBQThCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGtCQUFrQixDQUFDLEtBQUssZ0NBQWdDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLG9CQUFvQixDQUFDLEtBQUssa0NBQWtDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHlCQUF5QixDQUFDLEtBQUssdUNBQXVDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLDJCQUEyQixDQUFDLEtBQUsseUNBQXlDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHdCQUF3QixDQUFDLEtBQUssc0NBQXNDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssK0JBQStCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGtCQUFrQixDQUFDLEtBQUssZ0NBQWdDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLG1CQUFtQixDQUFDLEtBQUssaUNBQWlDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHdCQUF3QixDQUFDLEtBQUssc0NBQXNDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLG9CQUFvQixDQUFDLEtBQUssa0NBQWtDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLG9CQUFvQixDQUFDLEtBQUssa0NBQWtDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLDBCQUEwQixDQUFDLEtBQUssd0NBQXdDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHVCQUF1QixDQUFDLEtBQUsscUNBQXFDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLDJCQUEyQixDQUFDLEtBQUsseUNBQXlDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFlBQVksQ0FBQyxLQUFLLDBCQUEwQixXQUFXQSxFQUFDLEVBQUUsT0FBTyxTQUFTLENBQUMsS0FBSyx1QkFBdUIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sZUFBZSxDQUFDLEtBQUssNkJBQTZCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHdCQUF3QixDQUFDLEtBQUssc0NBQXNDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGtCQUFrQixDQUFDLEtBQUssZ0NBQWdDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLEtBQUssQ0FBQyxLQUFLLG1CQUFtQixXQUFXQSxFQUFDLEVBQUUsT0FBTyxlQUFlLENBQUMsS0FBSyw2QkFBNkIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sZ0JBQWdCLENBQUMsS0FBSyw4QkFBOEIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sZUFBZSxDQUFDLEtBQUssNkJBQTZCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGdCQUFnQixDQUFDLEtBQUssOEJBQThCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssK0JBQStCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssK0JBQStCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssK0JBQStCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssK0JBQStCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssK0JBQStCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssK0JBQStCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssK0JBQStCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssK0JBQStCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssK0JBQStCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFlBQVksQ0FBQyxLQUFLLDBCQUEwQixXQUFXQSxFQUFDLEVBQUUsT0FBTyxjQUFjLENBQUMsS0FBSyw0QkFBNEIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sY0FBYyxDQUFDLEtBQUssNEJBQTRCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGNBQWMsQ0FBQyxLQUFLLDRCQUE0QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxjQUFjLENBQUMsS0FBSyw0QkFBNEIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sY0FBYyxDQUFDLEtBQUssNEJBQTRCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGNBQWMsQ0FBQyxLQUFLLDRCQUE0QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxjQUFjLENBQUMsS0FBSyw0QkFBNEIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sY0FBYyxDQUFDLEtBQUssNEJBQTRCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGNBQWMsQ0FBQyxLQUFLLDRCQUE0QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxjQUFjLENBQUMsS0FBSyw0QkFBNEIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sVUFBVSxDQUFDLEtBQUssd0JBQXdCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLHdCQUF3QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxVQUFVLENBQUMsS0FBSyx3QkFBd0IsV0FBV0EsRUFBQyxFQUFFLE9BQU8sVUFBVSxDQUFDLEtBQUssd0JBQXdCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLHdCQUF3QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxhQUFhLENBQUMsS0FBSywyQkFBMkIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sU0FBUyxDQUFDLEtBQUssdUJBQXVCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLG9CQUFvQixDQUFDLEtBQUssa0NBQWtDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLEtBQUssQ0FBQyxLQUFLLG1CQUFtQixXQUFXQSxFQUFDLEVBQUUsT0FBTyxlQUFlLENBQUMsS0FBSyw2QkFBNkIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sUUFBUSxDQUFDLEtBQUssc0JBQXNCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLHdCQUF3QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxRQUFRLENBQUMsS0FBSyxzQkFBc0IsV0FBV0EsRUFBQyxFQUFFLE9BQU8sVUFBVSxDQUFDLEtBQUssd0JBQXdCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGdCQUFnQixDQUFDLEtBQUssOEJBQThCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLEtBQUssQ0FBQyxLQUFLLG1CQUFtQixXQUFXQSxFQUFDLEVBQUUsT0FBTyxXQUFXLENBQUMsS0FBSyx5QkFBeUIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sY0FBYyxDQUFDLEtBQUssNEJBQTRCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLHdCQUF3QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxPQUFPLENBQUMsS0FBSyxxQkFBcUIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sZ0JBQWdCLENBQUMsS0FBSyw4QkFBOEIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sZ0JBQWdCLENBQUMsS0FBSyw4QkFBOEIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sZUFBZSxDQUFDLEtBQUssNkJBQTZCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGtCQUFrQixDQUFDLEtBQUssZ0NBQWdDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFdBQVcsQ0FBQyxLQUFLLGFBQWEsV0FBV0EsRUFBQyxFQUFFLE9BQU8sa0JBQWtCLENBQUMsS0FBSyxvQkFBb0IsV0FBV0EsRUFBQyxFQUFFLE9BQU8sZ0JBQWdCLENBQUMsS0FBSyw4QkFBOEIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sNkJBQTZCLENBQUMsS0FBSywrQkFBK0IsV0FBV0EsRUFBQyxFQUFFLE9BQU8sa0JBQWtCLENBQUMsS0FBSyxrQ0FBa0MsV0FBV0EsRUFBQyxFQUFFLE9BQU8sc0JBQXNCLENBQUMsS0FBSyxvQ0FBb0MsV0FBV0EsRUFBQyxFQUFFLE9BQU8sY0FBYyxDQUFDLEtBQUssNEJBQTRCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGdCQUFnQixDQUFDLEtBQUssOEJBQThCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFlBQVksQ0FBQyxLQUFLLDBCQUEwQixXQUFXQSxFQUFDLEVBQUUsT0FBTyx3QkFBd0IsQ0FBQyxLQUFLLHNDQUFzQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxnQkFBZ0IsQ0FBQyxLQUFLLDhCQUE4QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxpQkFBaUIsQ0FBQyxLQUFLLGlDQUFpQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxrQkFBa0IsQ0FBQyxLQUFLLGdDQUFnQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyx3QkFBd0IsQ0FBQyxLQUFLLDBCQUEwQixXQUFXQSxFQUFDLEVBQUUsT0FBTyxrQkFBa0IsQ0FBQyxLQUFLLG9CQUFvQixXQUFXQSxFQUFDLEVBQUUsT0FBTyxxQkFBcUIsQ0FBQyxLQUFLLG1DQUFtQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxtQkFBbUIsQ0FBQyxLQUFLLGlDQUFpQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxlQUFlLENBQUMsS0FBSywrQkFBK0IsV0FBV0EsRUFBQyxFQUFFLE9BQU8sY0FBYyxDQUFDLEtBQUssNEJBQTRCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGdCQUFnQixDQUFDLEtBQUssOEJBQThCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssaUNBQWlDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFlBQVksQ0FBQyxLQUFLLDBCQUEwQixXQUFXQSxFQUFDLEVBQUUsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLGtDQUFrQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxlQUFlLENBQUMsS0FBSyw2QkFBNkIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sZ0JBQWdCLENBQUMsS0FBSyxnQ0FBZ0MsV0FBV0EsRUFBQyxFQUFFLE9BQU8sb0JBQW9CLENBQUMsS0FBSyxrQ0FBa0MsV0FBV0EsRUFBQyxFQUFFLE9BQU8sb0JBQW9CLENBQUMsS0FBSyxzQkFBc0IsV0FBV0EsRUFBQyxFQUFFLE9BQU8sZUFBZSxDQUFDLEtBQUssNkJBQTZCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGdCQUFnQixDQUFDLEtBQUssZ0NBQWdDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssK0JBQStCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHFCQUFxQixDQUFDLEtBQUssbUNBQW1DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGdCQUFnQixDQUFDLEtBQUssOEJBQThCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFdBQVcsQ0FBQyxLQUFLLHlCQUF5QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxZQUFZLENBQUMsS0FBSyw0QkFBNEIsV0FBV0EsRUFBQyxFQUFFLE9BQU8scUJBQXFCLENBQUMsS0FBSyxxQ0FBcUMsV0FBV0EsRUFBQyxFQUFFLE9BQU8sMEJBQTBCLENBQUMsS0FBSywwQ0FBMEMsV0FBV0EsRUFBQyxFQUFFLE9BQU8saUJBQWlCLENBQUMsS0FBSyx5QkFBeUIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sc0JBQXNCLENBQUMsS0FBSyw4QkFBOEIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sa0JBQWtCLENBQUMsS0FBSywwQkFBMEIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sYUFBYSxDQUFDLEtBQUssMkJBQTJCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFVBQVUsQ0FBQyxLQUFLLHdCQUF3QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxVQUFVLENBQUMsS0FBSyx3QkFBd0IsV0FBV0EsRUFBQyxFQUFFLE9BQU8sYUFBYSxDQUFDLEtBQUssMkJBQTJCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGdCQUFnQixDQUFDLEtBQUssOEJBQThCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLG1CQUFtQixDQUFDLEtBQUssaUNBQWlDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGFBQWEsQ0FBQyxLQUFLLDJCQUEyQixXQUFXQSxFQUFDLEVBQUUsT0FBTyxlQUFlLENBQUMsS0FBSyw2QkFBNkIsV0FBV0EsRUFBQyxFQUFFLE9BQU8saUJBQWlCLENBQUMsS0FBSywrQkFBK0IsV0FBV0EsRUFBQyxFQUFFLE9BQU8sZUFBZSxDQUFDLEtBQUssNkJBQTZCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFdBQVcsQ0FBQyxLQUFLLHlCQUF5QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxTQUFTLENBQUMsS0FBSyx1QkFBdUIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sZUFBZSxDQUFDLEtBQUssNkJBQTZCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLG1CQUFtQixDQUFDLEtBQUssaUNBQWlDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHlCQUF5QixDQUFDLEtBQUssdUNBQXVDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHNCQUFzQixDQUFDLEtBQUssb0NBQW9DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGlCQUFpQixDQUFDLEtBQUssK0JBQStCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHNCQUFzQixDQUFDLEtBQUssb0NBQW9DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLDhCQUE4QixDQUFDLEtBQUsscUNBQXFDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLHNCQUFzQixDQUFDLEtBQUssb0NBQW9DLFdBQVdBLEVBQUMsRUFBRSxPQUFPLFNBQVMsQ0FBQyxLQUFLLHVCQUF1QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxvQkFBb0IsQ0FBQyxLQUFLLGtDQUFrQyxXQUFXQSxFQUFDLEVBQUUsT0FBTyxhQUFhLENBQUMsS0FBSywyQkFBMkIsV0FBV0EsRUFBQyxFQUFFLE9BQU8sY0FBYyxDQUFDLEtBQUssNEJBQTRCLFdBQVdBLEVBQUMsRUFBRSxPQUFPLG9CQUFvQixDQUFDLEtBQUssa0NBQWtDLFdBQVdBLEVBQUMsRUFBRSxPQUFPLGVBQWUsQ0FBQyxLQUFLLDZCQUE2QixXQUFXQSxFQUFDLEVBQUUsT0FBTyxZQUFZLENBQUMsS0FBSywwQkFBMEIsV0FBV0EsRUFBQyxFQUFFLE9BQU8seUJBQXlCLENBQUMsS0FBSyx1Q0FBdUMsV0FBV0EsRUFBQyxFQUFFLE9BQU8sa0JBQWtCLENBQUMsS0FBSyxnQ0FBZ0MsV0FBV0EsRUFBQyxFQUFFLE9BQU8seUJBQXlCLENBQUMsS0FBSyx1Q0FBdUMsV0FBV0EsRUFBQyxFQUFFLE9BQU8sd0JBQXdCLENBQUMsS0FBSyxzQ0FBc0MsV0FBV0EsRUFBQyxFQUFFLE9BQU8sMEJBQTBCLENBQUMsS0FBSyxzQ0FBc0MsV0FBV0EsRUFBQyxFQUFFLE9BQU8sNEJBQTRCLENBQUMsS0FBSyxvQ0FBb0MsV0FBV0EsRUFBQyxFQUFFLE9BQU8scUJBQXFCLENBQUMsS0FBSyw2QkFBNkIsV0FBV0EsRUFBQyxDQUFDLEVBQU1FLElBQUcsS0FBSyxDQUFDLEtBQUssTUFBTSxNQUFNLE1BQU0sWUFBWSxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsSUFBSTlJLEVBQUUsRUFBRSxNQUFNLEdBQUcsRUFBRSxLQUFLLE1BQU1BLEVBQUUsQ0FBQyxFQUFFLEtBQUssTUFBTUEsRUFBRSxDQUFDLEVBQUUsS0FBSyxNQUFNQSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsR0FBVSxTQUFTSCxFQUFFLENBQUNBLEVBQUVBLEVBQUUsTUFBTSxDQUFDLEVBQUUsUUFBUUEsRUFBRUEsRUFBRSxTQUFTLENBQUMsRUFBRSxVQUFVLEdBQUdrSixNQUFLQSxJQUFHLENBQUMsRUFBRSxHQUFVLFNBQVNsSixFQUFFLENBQUNBLEVBQUVBLEVBQUUsVUFBVSxDQUFDLEVBQUUsWUFBWUEsRUFBRUEsRUFBRSxVQUFVLENBQUMsRUFBRSxZQUFZQSxFQUFFQSxFQUFFLFdBQVcsQ0FBQyxFQUFFLGFBQWFBLEVBQUVBLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBT0EsRUFBRUEsRUFBRSxTQUFTLENBQUMsRUFBRSxVQUFVLEdBQUdtSixNQUFLQSxJQUFHLENBQUMsRUFBRSxFQUFNQyxJQUFHLEtBQUssQ0FBQyxNQUFNLFlBQVksWUFBWSxRQUFRLFlBQVksRUFBRWpKLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxLQUFLLE1BQU1GLEVBQUUsS0FBSyxZQUFZQyxFQUFFLEtBQUssWUFBWUMsRUFBRSxLQUFLLFFBQVEsaUJBQWlCLENBQUMsSUFBSUQsQ0FBQyxLQUFLRCxDQUFDLFFBQVFFLENBQUMsRUFBRSxDQUFDLEVBQUVnSixJQUFFLEtBQUssQ0FBQyxNQUFNLElBQUksWUFBWSxFQUFFbEosRUFBRSxDQUFDLEtBQUssTUFBTSxFQUFFLEtBQUssSUFBSUEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQU8sSUFBSTRLLEdBQUUsRUFBRSxLQUFLLE1BQU0sRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLEVBQUV6QixHQUFFLEtBQUssQ0FBQyxLQUFLLFdBQVcsWUFBWSxFQUFFbkosRUFBRSxDQUFDLEtBQUssS0FBSyxFQUFFLEtBQUssV0FBV0EsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFb0osSUFBRyxjQUFjRCxFQUFDLENBQUMsU0FBUyxZQUFZLEVBQUVuSixFQUFFQyxFQUFFLENBQUMsTUFBTSxFQUFFRCxDQUFDLEVBQUUsS0FBSyxTQUFTQyxDQUFDLENBQUMsRUFBRW9KLEdBQUUsY0FBY0YsRUFBQyxDQUFDLE1BQU0sRUFBRW5KLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRXNKLElBQUUsY0FBY0gsRUFBQyxDQUFDLE1BQU0sRUFBRW5KLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxzQkFBc0IsS0FBS0EsQ0FBQyxDQUFDLENBQUMsRUFBRXVKLElBQUcsY0FBY0QsR0FBQyxDQUFDLE1BQU0sRUFBRXRKLEVBQUUsS0FBSyxDQUFDLElBQUlDLEVBQUUsT0FBT0EsRUFBRSxFQUFFLG9CQUFvQixLQUFLLE9BQU9BLEVBQUUsS0FBSyxFQUFFLEtBQUtELENBQUMsQ0FBQyxDQUFDLEVBQUV3SixJQUFHLGNBQWNMLEVBQUMsQ0FBQyxZQUFZLFlBQVksRUFBRW5KLEVBQUVDLEVBQUUsQ0FBQyxNQUFNLEVBQUVELENBQUMsRUFBRSxLQUFLLFlBQVlDLENBQUMsQ0FBQyxNQUFNLEVBQUVELEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxXQUFXLEtBQUtBLENBQUMsQ0FBQyxDQUFDLEVBQUV5SixJQUFHLGNBQWNOLEVBQUMsQ0FBQyxVQUFVLFFBQVEsU0FBUyxZQUFZLEVBQUVuSixFQUFFQyxFQUFFQyxFQUFFc0QsRUFBRSxDQUFDLE1BQU0sRUFBRXhELENBQUMsRUFBRSxLQUFLLFVBQVVDLEVBQUUsS0FBSyxRQUFRQyxFQUFFLEtBQUssU0FBU3NELENBQUMsQ0FBQyxNQUFNLEVBQUV4RCxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsaUJBQWlCLEtBQUtBLENBQUMsQ0FBQyxDQUFDLEVBQUUwSixJQUFHLGNBQWNOLEdBQUUsQ0FBQyxTQUFTLEtBQUssWUFBWSxFQUFFcEosRUFBRUMsRUFBRUMsRUFBRXNELEVBQUUsQ0FBQyxNQUFNLEVBQUV4RCxFQUFFQyxDQUFDLEVBQUUsS0FBSyxTQUFTQyxFQUFFLEtBQUssS0FBS3NELENBQUMsQ0FBQyxNQUFNLEVBQUV4RCxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLEtBQUtBLENBQUMsQ0FBQyxDQUFDLEVBQUUySixJQUFHLGNBQWNQLEdBQUUsQ0FBQyxTQUFTLEtBQUssTUFBTSxZQUFZLEVBQUVwSixFQUFFQyxFQUFFQyxFQUFFc0QsRUFBRUMsRUFBRSxDQUFDLE1BQU0sRUFBRXpELEVBQUVDLENBQUMsRUFBRSxLQUFLLFNBQVNDLEVBQUUsS0FBSyxLQUFLc0QsRUFBRSxLQUFLLE1BQU1DLENBQUMsQ0FBQyxNQUFNLEVBQUV6RCxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEtBQUtBLENBQUMsQ0FBQyxDQUFDLEVBQUU0SixJQUFHLGNBQWNSLEdBQUUsQ0FBQyxTQUFTLEtBQUssWUFBWSxFQUFFcEosRUFBRUMsRUFBRUMsRUFBRXNELEVBQUUsQ0FBQyxNQUFNLEVBQUV4RCxFQUFFQyxDQUFDLEVBQUUsS0FBSyxTQUFTQyxFQUFFLEtBQUssS0FBS3NELENBQUMsQ0FBQyxNQUFNLEVBQUV4RCxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsc0JBQXNCLEtBQUtBLENBQUMsQ0FBQyxDQUFDLEVBQUU2SixJQUFHLGNBQWNWLEVBQUMsQ0FBQyxTQUFTLElBQUksWUFBWSxFQUFFbkosRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE1BQU0sRUFBRUYsQ0FBQyxFQUFFLEtBQUssU0FBU0MsRUFBRSxLQUFLLElBQUlDLENBQUMsQ0FBQyxNQUFNLEVBQUVGLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxlQUFlLEtBQUtBLENBQUMsQ0FBQyxDQUFDLEVBQUU4SixJQUFHLGNBQWNYLEVBQUMsQ0FBQyxTQUFTLElBQUksWUFBWSxFQUFFbkosRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE1BQU0sRUFBRUYsQ0FBQyxFQUFFLEtBQUssU0FBU0MsRUFBRSxLQUFLLElBQUlDLENBQUMsQ0FBQyxNQUFNLEVBQUVGLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsS0FBS0EsQ0FBQyxDQUFDLENBQUMsRUFBRStKLElBQUcsY0FBY1osRUFBQyxDQUFDLFNBQVMsSUFBSSxNQUFNLFlBQVksRUFBRW5KLEVBQUVDLEVBQUVDLEVBQUVzRCxFQUFFLENBQUMsTUFBTSxFQUFFeEQsQ0FBQyxFQUFFLEtBQUssU0FBU0MsRUFBRSxLQUFLLElBQUlDLEVBQUUsS0FBSyxNQUFNc0QsQ0FBQyxDQUFDLE1BQU0sRUFBRXhELEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxnQkFBZ0IsS0FBS0EsQ0FBQyxDQUFDLENBQUMsRUFBRWdLLElBQUcsY0FBY1osR0FBRSxDQUFDLElBQUksS0FBSyxLQUFLLFlBQVksRUFBRXBKLEVBQUVDLEVBQUVDLEVBQUVzRCxFQUFFQyxFQUFFLENBQUMsTUFBTSxFQUFFekQsRUFBRXlELENBQUMsRUFBRSxLQUFLLElBQUl4RCxFQUFFLEtBQUssS0FBS0MsRUFBRSxLQUFLLEtBQUtzRCxDQUFDLENBQUMsTUFBTSxFQUFFeEQsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLFVBQVUsS0FBS0EsQ0FBQyxDQUFDLENBQUMsRUFBRWlLLEdBQUUsY0FBY2QsRUFBQyxDQUFDLE1BQU0sWUFBWSxFQUFFbkosRUFBRUMsRUFBRSxDQUFDLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEtBQUssTUFBTUMsQ0FBQyxDQUFDLE1BQU0sRUFBRUQsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLHNCQUFzQixLQUFLQSxDQUFDLENBQUMsQ0FBQyxFQUFFa0ssSUFBRyxjQUFjZixFQUFDLENBQUMsWUFBWSxZQUFZLEVBQUVuSixFQUFFQyxFQUFFLENBQUMsTUFBTSxFQUFFRCxDQUFDLEVBQUUsS0FBSyxZQUFZQyxDQUFDLENBQUMsTUFBTSxFQUFFRCxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsa0JBQWtCLEtBQUtBLENBQUMsQ0FBQyxDQUFDLEVBQUVtSyxJQUFHLGNBQWNoQixFQUFDLENBQUMsS0FBSyxPQUFPLFlBQVksRUFBRW5KLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxNQUFNLEVBQUVGLENBQUMsRUFBRSxLQUFLLEtBQUtDLEVBQUUsS0FBSyxPQUFPQyxDQUFDLENBQUMsTUFBTSxFQUFFRixFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsZ0JBQWdCLEtBQUtBLENBQUMsQ0FBQyxDQUFDLEVBQUVvSyxJQUFHLGNBQWNqQixFQUFDLENBQUMsUUFBUSxZQUFZLFlBQVksRUFBRW5KLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxNQUFNLEVBQUVGLENBQUMsRUFBRSxLQUFLLFFBQVFDLEVBQUUsS0FBSyxZQUFZQyxDQUFDLENBQUMsTUFBTSxFQUFFRixFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsbUJBQW1CLEtBQUtBLENBQUMsQ0FBQyxDQUFDLEVBQUVxSyxHQUFFLGNBQWNsQixFQUFDLENBQUMsVUFBVSxLQUFLLE1BQU0sWUFBWSxFQUFFbkosRUFBRUMsRUFBRUMsRUFBRXNELEVBQUUsQ0FBQyxNQUFNLEVBQUV4RCxDQUFDLEVBQUUsS0FBSyxVQUFVQyxFQUFFLEtBQUssS0FBS0MsRUFBRSxLQUFLLE1BQU1zRCxDQUFDLENBQUMsTUFBTSxFQUFFeEQsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLFlBQVksS0FBS0EsQ0FBQyxDQUFDLENBQUMsRUFBRXNLLElBQUcsTUFBTXpLLFlBQVV3SyxFQUFDLENBQUMsU0FBUyxLQUFLLEtBQUssS0FBSyxNQUFNLEtBQUssVUFBVSxLQUFLLE9BQU8sWUFBWXZLLEVBQUVFLEVBQUVDLEVBQUUsQ0FBQyxPQUFPLElBQUlKLElBQUVDLEVBQUVFLEVBQUUsSUFBSUMsRUFBRSxJQUFJLElBQUlnSyxHQUFFbkssRUFBRUUsRUFBRSxDQUFDLEVBQUVDLENBQUMsQ0FBQyxDQUFDLE9BQU8sV0FBV0gsRUFBRUUsRUFBRUMsRUFBRSxDQUFDLE9BQU8sSUFBSUosSUFBRUMsRUFBRUUsRUFBRSxJQUFJQyxFQUFFLElBQUlBLEVBQUUsSUFBSWdLLEdBQUVuSyxFQUFFRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWUYsRUFBRUUsRUFBRUMsRUFBRUMsRUFBRXNELEVBQUVDLEVBQUUsRUFBRSxDQUFDLE1BQU0zRCxFQUFFRSxFQUFFd0QsRUFBRUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxTQUFTeEQsRUFBRSxLQUFLLEtBQUtDLENBQUMsQ0FBQyxNQUFNSixFQUFFRSxFQUFFLEtBQUssQ0FBQyxPQUFPRixFQUFFLGFBQWEsT0FBT0EsRUFBRSxXQUFXLEtBQUtFLENBQUMsRUFBRUYsRUFBRSxZQUFZLEtBQUtFLENBQUMsQ0FBQyxDQUFDLEVBQUV1SyxJQUFHLGNBQWNwQixFQUFDLENBQUMsV0FBVyxZQUFZLEVBQUVuSixFQUFFQyxFQUFFLENBQUMsTUFBTSxFQUFFRCxDQUFDLEVBQUUsS0FBSyxXQUFXQyxDQUFDLENBQUMsTUFBTSxFQUFFRCxFQUFFLEtBQUssQ0FBQyxPQUFPLEVBQUUsZUFBZSxLQUFLQSxDQUFDLENBQUMsQ0FBQyxFQUFFd0ssSUFBRyxjQUFjckIsRUFBQyxDQUFDLFdBQVcsWUFBWSxFQUFFbkosRUFBRUMsRUFBRSxDQUFDLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEtBQUssV0FBV0MsQ0FBQyxDQUFDLE1BQU0sRUFBRUQsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLHFCQUFxQixLQUFLQSxDQUFDLENBQUMsQ0FBQyxFQUFFeUssSUFBRyxjQUFjdEIsRUFBQyxDQUFDLFdBQVcsWUFBWSxFQUFFbkosRUFBRUMsRUFBRSxDQUFDLE1BQU0sRUFBRUQsQ0FBQyxFQUFFLEtBQUssV0FBV0MsQ0FBQyxDQUFDLE1BQU0sRUFBRUQsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLG1CQUFtQixLQUFLQSxDQUFDLENBQUMsQ0FBQyxFQUFFMEssSUFBRyxjQUFjdkIsRUFBQyxDQUFDLFNBQVMsS0FBSyxhQUFhLFlBQVksRUFBRW5KLEVBQUVDLEVBQUVDLEVBQUVzRCxFQUFFLENBQUMsTUFBTSxFQUFFeEQsQ0FBQyxFQUFFLEtBQUssU0FBU0MsRUFBRSxLQUFLLEtBQUtDLEVBQUUsS0FBSyxhQUFhc0QsQ0FBQyxDQUFDLE1BQU0sRUFBRXhELEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxVQUFVLEtBQUtBLENBQUMsQ0FBQyxDQUFDLEVBQUUySyxJQUFHLGNBQWN4QixFQUFDLENBQUMsU0FBUyxLQUFLLGFBQWEsWUFBWSxFQUFFbkosRUFBRUMsRUFBRUMsRUFBRXNELEVBQUUsQ0FBQyxNQUFNLEVBQUV4RCxDQUFDLEVBQUUsS0FBSyxTQUFTQyxFQUFFLEtBQUssS0FBS0MsRUFBRSxLQUFLLGFBQWFzRCxDQUFDLENBQUMsTUFBTSxFQUFFeEQsRUFBRSxLQUFLLENBQUMsT0FBTyxFQUFFLGNBQWMsS0FBS0EsQ0FBQyxDQUFDLENBQUMsRUFBRTRLLEdBQUUsS0FBSyxDQUFDLE1BQU0sSUFBSSxZQUFZLEVBQUU1SyxFQUFFLENBQUMsS0FBSyxNQUFNLEVBQUUsS0FBSyxJQUFJQSxDQUFDLENBQUMsRUFBRTZLLElBQUUsY0FBYzFCLEVBQUMsQ0FBQyxJQUFJLE9BQU8sU0FBUyxPQUFPLFlBQVksRUFBRW5KLEVBQUVDLEVBQUVDLEVBQUVzRCxFQUFFLENBQUMsTUFBTSxJQUFJMEYsSUFBRSxFQUFFbEosSUFBSSxLQUFLLEVBQUVBLEVBQUUsTUFBTSxFQUFFLElBQUk0SyxHQUFFMUssRUFBRUYsSUFBSSxLQUFLRSxFQUFFQSxFQUFFRixFQUFFLE1BQU0sQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLEtBQUssT0FBT0EsRUFBRSxLQUFLLFNBQVNDLEVBQUUsS0FBSyxPQUFPdUQsQ0FBQyxDQUFDLE1BQU0sRUFBRXhELEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxtQkFBbUIsS0FBS0EsQ0FBQyxFQUFFLEtBQUssSUFBSSxNQUFNLEVBQUVBLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxNQUFNLEdBQUcsS0FBSyxNQUFNLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQyxFQUFFeUYsSUFBRyxLQUFLLENBQUMsV0FBVyxJQUFJLE1BQU0sWUFBWSxFQUFFekYsRUFBRUMsRUFBRSxDQUFDLEtBQUssV0FBVyxFQUFFLEtBQUssSUFBSUQsRUFBRSxLQUFLLE1BQU1DLENBQUMsQ0FBQyxFQUFFc0YsSUFBRyxLQUFLLENBQUMsV0FBVyxJQUFJLE1BQU0sWUFBWSxFQUFFdkYsRUFBRUMsRUFBRSxDQUFDLEtBQUssV0FBVyxFQUFFLEtBQUssSUFBSUQsRUFBRSxLQUFLLE1BQU1DLENBQUMsQ0FBQyxFQUFFNkssSUFBRyxLQUFLLENBQUMsTUFBTSxFQUFFOUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLQSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUVBLEVBQUUsQ0FBQyxLQUFLLE1BQU0sRUFBRSxLQUFLQSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUVBLEVBQUUsQ0FBQyxLQUFLLE1BQU0sRUFBRSxLQUFLQSxDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsTUFBTUEsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFQSxFQUFFLENBQUMsS0FBSyxTQUFTLEVBQUUsWUFBWUEsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUVBLEVBQUUsQ0FBQyxLQUFLLE1BQU0sRUFBRSxVQUFVQSxDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsUUFBUUEsQ0FBQyxFQUFFLEtBQUssTUFBTSxFQUFFLFNBQVNBLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRUEsRUFBRSxDQUFDLEtBQUssTUFBTSxFQUFFLElBQUlBLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFBRSxLQUFLQSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsRUFBRUEsRUFBRSxDQUFDLENBQUMsa0JBQWtCLEVBQUVBLEVBQUUsQ0FBQyxDQUFDLG1CQUFtQixFQUFFQSxFQUFFLENBQUMsS0FBSyxTQUFTLEVBQUUsWUFBWUEsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFQSxFQUFFLENBQUMsS0FBSyxNQUFNLEVBQUUsU0FBU0EsQ0FBQyxFQUFFLEtBQUssTUFBTSxFQUFFLElBQUlBLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFQSxFQUFFLENBQUMsS0FBSyxNQUFNLEVBQUUsU0FBU0EsQ0FBQyxFQUFFLEtBQUssTUFBTSxFQUFFLElBQUlBLENBQUMsRUFBRSxLQUFLLE1BQU0sRUFBRSxNQUFNQSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRUEsRUFBRSxDQUFDLEtBQUssU0FBUyxFQUFFLFlBQVlBLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFQSxFQUFFLENBQUMsS0FBSyxTQUFTLEVBQUUsT0FBT0EsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLEVBQUVBLEVBQUUsQ0FBQyxDQUFDLGVBQWUsRUFBRUEsRUFBRSxDQUFDLEtBQUssTUFBTSxFQUFFLFdBQVdBLENBQUMsQ0FBQyxDQUFDLHFCQUFxQixFQUFFQSxFQUFFLENBQUMsS0FBSyxNQUFNLEVBQUUsV0FBV0EsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEVBQUVBLEVBQUUsQ0FBQyxLQUFLLE1BQU0sRUFBRSxXQUFXQSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsRUFBRUEsRUFBRSxDQUFDLEtBQUssTUFBTSxFQUFFLFNBQVNBLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixFQUFFQSxFQUFFLENBQUMsS0FBSyxNQUFNLEVBQUUsU0FBU0EsQ0FBQyxFQUFFLEtBQUssTUFBTSxFQUFFLE1BQU1BLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixFQUFFQSxFQUFFLENBQUMsS0FBSyxNQUFNLEVBQUUsU0FBU0EsQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEVBQUVBLEVBQUUsQ0FBQyxLQUFLLE1BQU0sRUFBRSxTQUFTQSxDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsSUFBSUEsQ0FBQyxDQUFDLENBQUMsVUFBVSxFQUFFQSxFQUFFLENBQUMsS0FBSyxNQUFNLEVBQUUsU0FBU0EsQ0FBQyxFQUFFLEtBQUssU0FBUyxFQUFFLEtBQUtBLENBQUMsQ0FBQyxDQUFDLGNBQWMsRUFBRUEsRUFBRSxDQUFDLEtBQUssTUFBTSxFQUFFLFNBQVNBLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFBRSxLQUFLQSxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUVBLEVBQUUsQ0FBQyxRQUFRQyxLQUFLLEVBQUUsS0FBSyxNQUFNQSxFQUFFRCxDQUFDLENBQUMsQ0FBQyxHQUFVLFNBQVNILEVBQUUsQ0FBQ0EsRUFBRUEsRUFB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QUFDLEVBQUUsZUFBZUEsRUFBRUEsRUFBRSxRQUFRLENBQUMsRUFBRSxVQUFVQSxFQUFFQSxFQUFFLFNBQVMsQ0FBQyxFQUFFLFdBQVdBLEVBQUVBLEVBQUUsV0FBVyxDQUFDLEVBQUUsYUFBYUEsRUFBRUEsRUFBRSxlQUFlLENBQUMsRUFBRSxpQkFBaUJBLEVBQUVBLEVBQUUsVUFBVSxDQUFDLEVBQUUsWUFBWUEsRUFBRUEsRUFBRSxhQUFhLENBQUMsRUFBRSxlQUFlQSxFQUFFQSxFQUFFLGdCQUFnQixFQUFFLEVBQUUsa0JBQWtCQSxFQUFFQSxFQUFFLFlBQVksRUFBRSxFQUFFLGNBQWNBLEVBQUVBLEVBQUUsZUFBZSxFQUFFLEVBQUUsaUJBQWlCQSxFQUFFQSxFQUFFLEtBQUssRUFBRSxFQUFFLE9BQU9BLEVBQUVBLEVBQUUsU0FBUyxFQUFFLEVBQUUsV0FBV0EsRUFBRUEsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLGtCQUFrQkEsRUFBRUEsRUFBRSxRQUFRLEVBQUUsRUFBRSxVQUFVQSxFQUFFQSxFQUFFLFNBQVMsRUFBRSxFQUFFLFdBQVdBLEVBQUVBLEVBQUUsVUFBVSxFQUFFLEVBQUUsWUFBWUEsRUFBRUEsRUFBRSxVQUFVLEVBQUUsRUFBRSxZQUFZQSxFQUFFQSxFQUFFLFNBQVMsRUFBRSxFQUFFLFdBQVdBLEVBQUVBLEVBQUUsU0FBUyxFQUFFLEVBQUUsV0FBV0EsRUFBRUEsRUFBRSxRQUFRLEVBQUUsRUFBRSxVQUFVQSxFQUFFQSxFQUFFLEtBQUssRUFBRSxFQUFFLE9BQU9BLEVBQUVBLEVBQUUsVUFBVSxFQUFFLEVBQUUsWUFBWUEsRUFBRUEsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLHFCQUFxQkEsRUFBRUEsRUFBRSxNQUFNLEVBQUUsRUFBRSxRQUFRQSxFQUFFQSxFQUFFLFFBQVEsRUFBRSxFQUFFLFVBQVVBLEVBQUVBLEVBQUUsVUFBVSxFQUFFLEVBQUUsWUFBWUEsRUFBRUEsRUFBRSxZQUFZLEVBQUUsRUFBRSxjQUFjQSxFQUFFQSxFQUFFLGFBQWEsRUFBRSxFQUFFLGVBQWVBLEVBQUVBLEVBQUUsVUFBVSxFQUFFLEVBQUUsWUFBWUEsRUFBRUEsRUFBRSxjQUFjLEVBQUUsRUFBRSxnQkFBZ0JBLEVBQUVBLEVBQUUsV0FBVyxFQUFFLEVBQUUsYUFBYUEsRUFBRUEsRUFBRSxlQUFlLEVBQUUsRUFBRSxpQkFBaUJBLEVBQUVBLEVBQUUsU0FBUyxFQUFFLEVBQUUsV0FBV0EsRUFBRUEsRUFBRSxlQUFlLEVBQUUsRUFBRSxpQkFBaUJBLEVBQUVBLEVBQUUsZUFBZSxFQUFFLEVBQUUsaUJBQWlCQSxFQUFFQSxFQUFFLFdBQVcsRUFBRSxFQUFFLGFBQWFBLEVBQUVBLEVBQUUsU0FBUyxFQUFFLEVBQUUsV0FBV0EsRUFBRUEsRUFBRSxVQUFVLEVBQUUsRUFBRSxZQUFZQSxFQUFFQSxFQUFFLEtBQUssRUFBRSxFQUFFLE9BQU9BLEVBQUVBLEVBQUUsUUFBUSxFQUFFLEVBQUUsVUFBVUEsRUFBRUEsRUFBRSxlQUFlLEVBQUUsRUFBRSxpQkFBaUJBLEVBQUVBLEVBQUUsVUFBVSxFQUFFLEVBQUUsWUFBWUEsRUFBRUEsRUFBRSxTQUFTLEVBQUUsRUFBRSxXQUFXQSxFQUFFQSxFQUFFLE9BQU8sRUFBRSxFQUFFLFNBQVNBLEVBQUVBLEVBQUUsZUFBZSxFQUFFLEVBQUUsaUJBQWlCQSxFQUFFQSxFQUFFLFlBQVksRUFBRSxFQUFFLGNBQWNBLEVBQUVBLEVBQUUsZUFBZSxFQUFFLEVBQUUsZ0JBQWdCLEdBQUdrRSxLQUFJQSxHQUFFLENBQUMsRUFBRSxHQUFTLFNBQVNsRSxFQUFFLENBQUNBLEVBQUVBLEVBQUUsWUFBWSxDQUFDLEVBQUUsY0FBY0EsRUFBRUEsRUFBRSxRQUFRLENBQUMsRUFBRSxVQUFVQSxFQUFFQSxFQUFFLGFBQWEsQ0FBQyxFQUFFLGVBQWVBLEVBQUVBLEVBQUUsYUFBYSxDQUFDLEVBQUUsZUFBZUEsRUFBRUEsRUFBRSxZQUFZLENBQUMsRUFBRSxjQUFjQSxFQUFFQSxFQUFFLFVBQVUsQ0FBQyxFQUFFLFlBQVlBLEVBQUVBLEVBQUUsU0FBUyxDQUFDLEVBQUUsV0FBV0EsRUFBRUEsRUFB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QUFhLEtBQUtELEdBQUUsRUFBRSxFQUFFbUosR0FBRyxNQUFNbkssR0FBRWlCLEVBQUUsU0FBUyxLQUFLakIsR0FBRSxFQUFFLEVBQUU4SixHQUFFLEtBQUssSUFBSU4sR0FBRyxPQUFPdkksQ0FBQyxDQUFDLEVBQUU0SSxFQUFFLENBQUMsSUFBSVEsR0FBRyxDQUFDLFNBQVNWLEdBQUUsSUFBSSxDQUFDLFdBQVdULEVBQUUsV0FBV0MsRUFBQyxDQUFDLEVBQUUsYUFBYVEsR0FBRSxLQUFLLENBQUMsV0FBV1QsRUFBRSxXQUFXQyxFQUFDLENBQUMsRUFBRSxZQUFZUSxHQUFFLEtBQUssQ0FBQyxXQUFXVCxFQUFFLFdBQVdDLEVBQUMsQ0FBQyxFQUFFLFNBQVNRLEdBQUUsR0FBRyxFQUFFLFlBQVlBLEdBQUUsSUFBSSxFQUFFLE9BQU9BLEdBQUUsSUFBSSxDQUFDLFdBQVdULEVBQUUsV0FBV0MsRUFBQyxDQUFDLEVBQUUsVUFBVVEsR0FBRSxLQUFLLENBQUMsV0FBV1QsRUFBRSxXQUFXQyxFQUFDLENBQUMsRUFBRSxXQUFXUSxHQUFFLEtBQUssQ0FBQyxXQUFXVCxFQUFFLFdBQVdDLEVBQUMsQ0FBQyxFQUFFLE9BQU9RLEdBQUUsR0FBRyxFQUFFLFVBQVVBLEdBQUUsSUFBSSxFQUFFLE9BQU9BLEdBQUUsSUFBSSxDQUFDLFdBQVdULEVBQUUsV0FBV0MsRUFBQyxDQUFDLEVBQUUsT0FBT1EsR0FBRSxHQUFHLEVBQUUsTUFBTUEsR0FBRSxJQUFJLENBQUMsV0FBV1QsQ0FBQyxDQUFDLEVBQUUsS0FBS1MsR0FBRSxJQUFJLENBQUMsV0FBV1QsQ0FBQyxDQUFDLEVBQUUsTUFBTVMsR0FBRSxJQUFJLENBQUMsV0FBV1QsQ0FBQyxDQUFDLEVBQUUsWUFBWVMsR0FBRSxLQUFLLENBQUMsV0FBV1QsQ0FBQyxDQUFDLEVBQUUsSUFBSVMsR0FBRSxHQUFHLEVBQUUsU0FBU0EsR0FBRSxJQUFJLENBQUMsV0FBV1QsQ0FBQyxDQUFDLEVBQUUsWUFBWVMsR0FBRSxJQUFJLEVBQUUsTUFBTUEsR0FBRSxLQUFLLENBQUMsV0FBV1QsQ0FBQyxDQUFDLEVBQUUsU0FBU1MsR0FBRSxVQUFVLEVBQUUsU0FBU0EsR0FBRSxNQUFNLENBQUMsV0FBV1QsQ0FBQyxDQUFDLEVBQUUsVUFBVVMsR0FBRSxJQUFJLENBQUMsV0FBV1IsRUFBQyxDQUFDLEVBQUUsYUFBYVEsR0FBRSxLQUFLLENBQUMsV0FBV1QsRUFBRSxXQUFXQyxFQUFDLENBQUMsRUFBRSxhQUFhUSxHQUFFLE9BQU8sQ0FBQyxXQUFXUixFQUFDLENBQUMsRUFBRSxnQkFBZ0JRLEdBQUUsUUFBUSxDQUFDLFdBQVdULEVBQUUsV0FBV0MsRUFBQyxDQUFDLEVBQUUsR0FBR1EsR0FBRSxHQUFHLEVBQUUsS0FBS0EsR0FBRSxJQUFJLENBQUMsV0FBV1IsRUFBQyxDQUFDLEVBQUUscUJBQXFCUSxHQUFFLE9BQU8sRUFBRSxHQUFHQSxHQUFFLElBQUksQ0FBQyxXQUFXVCxFQUFFLFNBQVNHLEVBQUUsQ0FBQyxFQUFFLE9BQU9NLEdBQUUsS0FBSyxDQUFDLFdBQVdULEVBQUUsU0FBU0csRUFBRSxDQUFDLEVBQUUsWUFBWU0sR0FBRSxLQUFLLENBQUMsV0FBV1QsRUFBRSxTQUFTRyxFQUFFLENBQUMsRUFBRSxVQUFVTSxHQUFFLEtBQUssQ0FBQyxXQUFXVCxFQUFFLFNBQVNHLEVBQUUsQ0FBQyxFQUFFLGFBQWFNLEdBQUUsS0FBSyxDQUFDLFdBQVdULEVBQUUsU0FBU0csRUFBRSxDQUFDLEVBQUUsT0FBT00sR0FBRSxRQUFRLENBQUMsT0FBT0wsR0FBRSxRQUFRQyxHQUFHLFdBQVdKLEVBQUMsQ0FBQyxFQUFFLEtBQUtRLEdBQUUsSUFBSSxDQUFDLFdBQVdULEVBQUUsT0FBT0ksR0FBRSxXQUFXSCxFQUFDLENBQUMsRUFBRSxNQUFNUSxHQUFFLElBQUksQ0FBQyxXQUFXVCxFQUFFLE9BQU9JLEdBQUUsV0FBV0gsRUFBQyxDQUFDLEVBQUUsWUFBWVEsR0FBRSxLQUFLLENBQUMsV0FBV1IsRUFBQyxDQUFDLEVBQUUsU0FBU1EsR0FBRSxLQUFLLENBQUMsV0FBV1IsRUFBQyxDQUFDLEVBQUUsU0FBU1MsR0FBRSxLQUFLLENBQUMsRUFBRSxrQkFBa0JBLEdBQUUsS0FBSyxDQUFDLEVBQUUsVUFBVUEsR0FBRSxLQUFLLENBQUMsRUFBRSxXQUFXQSxHQUFFLEtBQUssQ0FBQyxFQUFFLFVBQVVBLEdBQUUsSUFBSSxDQUFDLEVBQUUsV0FBV0EsR0FBRSxJQUFJLENBQUMsRUFBRSxXQUFXQSxHQUFFLElBQUksQ0FBQyxFQUFFLFNBQVNBLEdBQUUsZ0JBQWdCLENBQUMsRUFBRSxHQUFHQSxHQUFFLFlBQVksQ0FBQyxFQUFFLEdBQUdBLEdBQUUsWUFBWSxDQUFDLEVBQUUsV0FBV0EsR0FBRSxZQUFZLENBQUMsRUFBRSxTQUFTQSxHQUFFLFlBQVksQ0FBQyxFQUFFLFVBQVVBLEdBQUUsWUFBWSxDQUFDLEVBQUUsVUFBVUEsR0FBRSxZQUFZLENBQUMsRUFBRSxRQUFRRCxHQUFFLE1BQU0sQ0FBQyxXQUFXVCxFQUFFLE1BQU0sRUFBRSxPQUFPSSxHQUFFLFdBQVdILEVBQUMsQ0FBQyxFQUFFLE9BQU9RLEdBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxXQUFXUixFQUFDLENBQUMsRUFBRSxLQUFLUSxHQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE1BQU1DLEdBQUUsSUFBSSxFQUFFLEVBQUUsU0FBU0QsR0FBRSxLQUFLLENBQUMsV0FBV1QsRUFBRSxNQUFNLEdBQUcsaUJBQWlCLEVBQUUsQ0FBQyxFQUFFLElBQUlRLEdBQUUsS0FBSyxDQUFDLFdBQVdSLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxZQUFZUSxHQUFFLGFBQWEsQ0FBQyxXQUFXUixFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQUUsT0FBT1EsR0FBRSxPQUFPLEVBQUUsTUFBTUEsR0FBRSxPQUFPLENBQUMsV0FBV1IsQ0FBQyxDQUFDLEVBQUUsT0FBT1EsR0FBRSxPQUFPLEVBQUUsVUFBVUEsR0FBRSxVQUFVLEVBQUUsVUFBVUEsR0FBRSxVQUFVLEVBQUUsU0FBU0EsR0FBRSxVQUFVLENBQUMsV0FBV1IsQ0FBQyxDQUFDLEVBQUUsTUFBTVEsR0FBRSxPQUFPLENBQUMsV0FBV1IsQ0FBQyxDQUFDLEVBQUUsU0FBU1EsR0FBRSxTQUFTLEVBQUUsVUFBVUEsR0FBRSxXQUFXLENBQUMsV0FBV1AsRUFBQyxDQUFDLEVBQUUsSUFBSU8sR0FBRSxJQUFJLEVBQUUsUUFBUUEsR0FBRSxTQUFTLENBQUMsV0FBV1IsQ0FBQyxDQUFDLEVBQUUsUUFBUVEsR0FBRSxRQUFRLEVBQUUsT0FBT0EsR0FBRSxRQUFRLENBQUMsV0FBV1IsRUFBRSxPQUFPSSxHQUFFLFdBQVdILEVBQUMsQ0FBQyxFQUFFLEtBQUtPLEdBQUUsS0FBSyxFQUFFLEtBQUtBLEdBQUUsS0FBSyxFQUFFLE9BQU9BLEdBQUUsT0FBTyxFQUFFLE1BQU1BLEdBQUUsTUFBTSxFQUFFLEtBQUtBLEdBQUUsTUFBTSxDQUFDLFdBQVdSLEVBQUUsV0FBV0MsRUFBQyxDQUFDLEVBQUUsTUFBTU8sR0FBRSxPQUFPLENBQUMsV0FBV1AsRUFBQyxDQUFDLEVBQUUsT0FBT08sR0FBRSxRQUFRLENBQUMsV0FBV1AsRUFBQyxDQUFDLEVBQUUsT0FBT08sR0FBRSxRQUFRLENBQUMsV0FBV1AsRUFBQyxDQUFDLEVBQUUsU0FBU08sR0FBRSxVQUFVLENBQUMsV0FBV1IsQ0FBQyxDQUFDLEVBQUUsUUFBUVEsR0FBRSxRQUFRLEVBQUUsUUFBUUEsR0FBRSxTQUFTLENBQUMsV0FBV1AsRUFBQyxDQUFDLEVBQUUsTUFBTU8sR0FBRSxPQUFPLENBQUMsV0FBV1AsRUFBQyxDQUFDLEVBQUUsTUFBTU8sR0FBRSxPQUFPLENBQUMsV0FBV1AsRUFBQyxDQUFDLEVBQUUsT0FBT08sR0FBRSxRQUFRLENBQUMsV0FBV1AsRUFBQyxDQUFDLEVBQUUsUUFBUU8sR0FBRSxTQUFTLENBQUMsV0FBV1IsRUFBRSxPQUFPSSxHQUFFLFdBQVdILEVBQUMsQ0FBQyxFQUFFLE1BQU1PLEdBQUUsT0FBTyxDQUFDLFdBQVdSLEVBQUUsT0FBT0ksR0FBRSxXQUFXSCxFQUFDLENBQUMsRUFBRSxRQUFRTyxHQUFFLFNBQVMsQ0FBQyxXQUFXUixFQUFFLE9BQU9JLEdBQUUsV0FBV0gsRUFBQyxDQUFDLEVBQUUsSUFBSU8sR0FBRSxLQUFLLENBQUMsT0FBT04sR0FBRyxXQUFXRixDQUFDLENBQUMsRUFBRSxLQUFLUSxHQUFFLE1BQU0sQ0FBQyxPQUFPTixFQUFFLENBQUMsRUFBRSxPQUFPTSxHQUFFLFFBQVEsQ0FBQyxPQUFPTixFQUFFLENBQUMsRUFBRSxJQUFJZ0IsR0FBRSxLQUFLLENBQUMsV0FBV2pCLEVBQUMsQ0FBQyxFQUFFLFFBQVFpQixHQUFFLFNBQVMsQ0FBQyxXQUFXakIsRUFBQyxDQUFDLEVBQUUsT0FBT2lCLEdBQUUsUUFBUSxDQUFDLFdBQVdqQixFQUFDLENBQUMsRUFBRSxPQUFPaUIsR0FBRSxRQUFRLENBQUMsV0FBV2pCLEVBQUMsQ0FBQyxFQUFFLE9BQU9pQixHQUFFLFFBQVEsQ0FBQyxXQUFXakIsRUFBQyxDQUFDLEVBQUUsTUFBTWlCLEdBQUUsT0FBTyxDQUFDLFdBQVdqQixFQUFDLENBQUMsRUFBRSxLQUFLaUIsR0FBRSxNQUFNLENBQUMsV0FBV2pCLEVBQUMsQ0FBQyxFQUFFLEtBQUtpQixHQUFFLE1BQU0sQ0FBQyxXQUFXakIsRUFBQyxDQUFDLEVBQUUsTUFBTWlCLEdBQUUsT0FBTyxDQUFDLFdBQVdqQixFQUFDLENBQUMsRUFBRSxJQUFJaUIsR0FBRSxLQUFLLENBQUMsV0FBV2pCLEVBQUMsQ0FBQyxFQUFFLE1BQU1pQixHQUFFLE9BQU8sQ0FBQyxXQUFXakIsRUFBQyxDQUFDLEVBQUUsS0FBS2lCLEdBQUUsTUFBTSxDQUFDLFdBQVdqQixFQUFDLENBQUMsRUFBRSxRQUFRaUIsR0FBRSxTQUFTLENBQUMsV0FBV2pCLEVBQUMsQ0FBQyxFQUFFLFFBQVFpQixHQUFFLFNBQVMsQ0FBQyxXQUFXakIsRUFBQyxDQUFDLEVBQUUsT0FBT2lCLEdBQUUsUUFBUSxDQUFDLFdBQVdqQixFQUFDLENBQUMsRUFBRSxPQUFPaUIsR0FBRSxRQUFRLENBQUMsV0FBV2pCLEVBQUMsQ0FBQyxFQUFFLFNBQVNpQixHQUFFLFVBQVUsQ0FBQyxXQUFXakIsRUFBQyxDQUFDLEVBQUUsUUFBUWlCLEdBQUUsU0FBUyxDQUFDLFdBQVdqQixFQUFDLENBQUMsRUFBRSxTQUFTaUIsR0FBRSxVQUFVLENBQUMsV0FBV2pCLEVBQUMsQ0FBQyxFQUFFLFFBQVFpQixHQUFFLFNBQVMsQ0FBQyxXQUFXakIsRUFBQyxDQUFDLEVBQUUsWUFBWWlCLEdBQUUsYUFBYSxDQUFDLFdBQVdqQixFQUFDLENBQUMsRUFBRSxXQUFXaUIsR0FBRSxZQUFZLENBQUMsV0FBV2pCLEVBQUMsQ0FBQyxFQUFFLE9BQU9pQixHQUFFLFFBQVEsQ0FBQyxXQUFXakIsRUFBQyxDQUFDLEVBQUUsSUFBSWlCLEdBQUUsS0FBSyxDQUFDLFdBQVdqQixFQUFDLENBQUMsRUFBRSxRQUFRaUIsR0FBRSxTQUFTLENBQUMsV0FBV2pCLEVBQUMsQ0FBQyxFQUFFLE9BQU9pQixHQUFFLFFBQVEsQ0FBQyxXQUFXakIsRUFBQyxDQUFDLEVBQUUsU0FBU2lCLEdBQUUsVUFBVSxDQUFDLFdBQVdqQixFQUFDLENBQUMsRUFBRSxXQUFXaUIsR0FBRSxZQUFZLENBQUMsV0FBV2pCLEVBQUMsQ0FBQyxFQUFFLE9BQU9pQixHQUFFLFFBQVEsQ0FBQyxXQUFXakIsRUFBQyxDQUFDLEVBQUUsVUFBVWlCLEdBQUUsV0FBVyxDQUFDLFdBQVdqQixFQUFDLENBQUMsRUFBRSxRQUFRaUIsR0FBRSxTQUFTLENBQUMsV0FBV2pCLEVBQUMsQ0FBQyxFQUFFLFVBQVVpQixHQUFFLFdBQVcsQ0FBQyxXQUFXakIsRUFBQyxDQUFDLEVBQUUsU0FBU2lCLEdBQUUsVUFBVSxDQUFDLFdBQVdqQixFQUFDLENBQUMsRUFBRSxNQUFNaUIsR0FBRSxPQUFPLENBQUMsV0FBV2pCLEVBQUMsQ0FBQyxFQUFFLFFBQVFpQixHQUFFLFNBQVMsQ0FBQyxXQUFXakIsRUFBQyxDQUFDLEVBQUUsV0FBV2lCLEdBQUUsWUFBWSxDQUFDLFdBQVdqQixFQUFDLENBQUMsRUFBRSxXQUFXaUIsR0FBRSxZQUFZLENBQUMsV0FBV2pCLEVBQUMsQ0FBQyxF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RSxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLElBQUksR0FBRyxHQUFHLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxJQUFJLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsSUFBSSxJQUFJLElBQUksR0FBRyxJQUFJLEtBQUssR0FBRyxHQUFHLEtBQUssR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLElBQUksS0FBSyxHQUFHLEtBQUssSUFBSSxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsS0FBSyxFQUFFLEtBQUssR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEtBQUssSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxLQUFLLEdBQUcsRUFBRSxFQUFFLElBQUksR0FBRyxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEdBQUcsR0FBRyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksR0FBRyxHQUFHLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxLQUFLLE1BQU0sR0FBRyxLQUFLLEVBQUUsSUFBSSxFQUFFLEtBQUssR0FBRyxLQUFLLEdBQUcsSUFBSSxLQUFLLElBQUksS0FBSyxLQUFLLEVBQUUsSUFBSSxFQUFFQyxHQUFHLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxJQUFJLEdBQUcsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxLQUFLLEVBQUUsRUFBRSxHQUFHLE1BQU0sR0FBRyxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEdBQUcsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLElBQUksR0FBRyxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxPQUFPLEdBQUcsRUFBRSxTQUFTQyxHQUFHbk0sRUFBRW9CLEVBQUUsQ0FBQyxJQUFJbkIsRUFBRSxNQUFNLFFBQVFDLEVBQUUsRUFBRWlCLEdBQUVDLEVBQUUsT0FBT2xCLEVBQUVpQixHQUFFakIsR0FBRyxFQUFFLENBQUMsR0FBR0QsR0FBR21CLEVBQUVsQixDQUFDLEVBQUVELEVBQUVELEVBQUUsTUFBTSxHQUFHLEdBQUdDLEdBQUdtQixFQUFFbEIsRUFBRSxDQUFDLEVBQUVELEdBQUdELEVBQUUsTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBU29NLEdBQUVwTSxFQUFFLENBQUMsT0FBT0EsRUFBRSxHQUFHQSxJQUFJLEdBQUdBLEdBQUcsR0FBRyxHQUFHQSxFQUFFLEdBQUdBLElBQUksR0FBR0EsR0FBRyxJQUFJLEdBQUdBLEdBQUcsTUFBTUEsR0FBRyxLQUFLK0wsR0FBRyxLQUFLLE9BQU8sYUFBYS9MLENBQUMsQ0FBQyxFQUFFbU0sR0FBR25NLEVBQUVpTSxFQUFFLENBQUMsQ0FBQyxTQUFTSSxHQUFFck0sRUFBRSxDQUFDLE9BQU9BLEVBQUUsR0FBR0EsSUFBSSxHQUFHQSxFQUFFLEdBQUcsR0FBR0EsRUFBRSxHQUFHLEdBQUdBLEdBQUcsR0FBRyxHQUFHQSxFQUFFLEdBQUdBLElBQUksR0FBR0EsR0FBRyxJQUFJLEdBQUdBLEdBQUcsTUFBTUEsR0FBRyxLQUFLZ00sR0FBRyxLQUFLLE9BQU8sYUFBYWhNLENBQUMsQ0FBQyxFQUFFbU0sR0FBR25NLEVBQUVpTSxFQUFFLEdBQUdFLEdBQUduTSxFQUFFa00sRUFBRSxDQUFDLENBQUMsSUFBSUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxRQUFRLE9BQU8sUUFBUSxXQUFXLFdBQVcsVUFBVSxLQUFLLE9BQU8sVUFBVSxNQUFNLFdBQVcsS0FBSyxTQUFTLFNBQVMsUUFBUSxNQUFNLE1BQU0sUUFBUSxRQUFRLE9BQU8sTUFBTSxPQUFPLFFBQVEsUUFBUSxVQUFVLFNBQVMsU0FBUyxPQUFPLE9BQU8sUUFBUSxLQUFLLGFBQWEsU0FBUyxPQUFPLFFBQVEsRUFBRSxPQUFPLENBQUMsYUFBYSxZQUFZLE1BQU0sVUFBVSxVQUFVLFlBQVksU0FBUyxTQUFTLE9BQU8sRUFBRSxXQUFXLENBQUMsT0FBTyxXQUFXLENBQUMsRUFBRUMsR0FBRyxJQUFJLElBQUlELEdBQUcsT0FBTyxFQUFFRSxHQUFHLElBQUksSUFBSUYsR0FBRyxNQUFNLEVBQUVHLEdBQUcsSUFBSSxJQUFJSCxHQUFHLFVBQVUsRUFBRSxTQUFTSSxHQUFHMU0sRUFBRW9CLEVBQUUsQ0FBQyxPQUFPQSxHQUFHcEIsSUFBSSxTQUFTQSxJQUFJLE1BQU0sQ0FBQyxTQUFTMk0sR0FBRzNNLEVBQUVvQixFQUFFLENBQUMsT0FBT3NMLEdBQUcxTSxFQUFFb0IsQ0FBQyxHQUFHb0wsR0FBRyxJQUFJeE0sQ0FBQyxDQUFDLENBQUMsU0FBUzRNLEdBQUc1TSxFQUFFLENBQUMsT0FBT3lNLEdBQUcsSUFBSXpNLENBQUMsQ0FBQyxDQUFDLFNBQVM2TSxHQUFHN00sRUFBRW9CLEVBQUUsQ0FBQyxPQUFPdUwsR0FBRzNNLEVBQUVvQixDQUFDLEdBQUd3TCxHQUFHNU0sQ0FBQyxDQUFDLENBQUMsU0FBUzhNLEdBQUc5TSxFQUFFLENBQUMsT0FBT3VNLEdBQUcsSUFBSXZNLENBQUMsQ0FBQyxDQUFDLFNBQVMrTSxHQUFHL00sRUFBRW9CLEVBQUVuQixFQUFFLENBQUMsT0FBT0QsSUFBSSxJQUFJb0IsSUFBSSxJQUFJZ0wsR0FBRW5NLENBQUMsQ0FBQyxDQUFDLElBQUkrTSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsT0FBTyxRQUFRLFdBQVcsV0FBVyxVQUFVLEtBQUssT0FBTyxVQUFVLE1BQU0sV0FBVyxLQUFLLFNBQVMsU0FBUyxRQUFRLE1BQU0sTUFBTSxRQUFRLFFBQVEsT0FBTyxNQUFNLE9BQU8sUUFBUSxRQUFRLFVBQVUsU0FBUyxTQUFTLE9BQU8sT0FBTyxRQUFRLEtBQUssYUFBYSxTQUFTLE9BQU8sU0FBUyxhQUFhLFlBQVksTUFBTSxVQUFVLFVBQVUsWUFBWSxTQUFTLFNBQVMsUUFBUSxPQUFPLFlBQVksT0FBTyxPQUFPLENBQUMsRUFBRSxTQUFTQyxHQUFHak4sRUFBRSxDQUFDLE9BQU9nTixHQUFHLElBQUloTixDQUFDLENBQUMsQ0FBQyxJQUFJa04sR0FBRyxLQUFLLENBQUMsWUFBWTlMLEVBQUUsQ0FBQyxLQUFLLE1BQU0sRUFBRSxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssaUJBQWlCLEdBQUcsS0FBSyxNQUFNQSxDQUFDLENBQUMsRUFBRStMLEdBQUcsS0FBSyxDQUFDLFlBQVkvTCxFQUFFbkIsRUFBRSxDQUFDLEtBQUssT0FBTyxPQUFPLEtBQUssV0FBVyxDQUFDLEVBQUUsS0FBSyxTQUFTLE9BQU8sS0FBSyxpQkFBaUIsSUFBSSxJQUFJLEtBQUssT0FBT21CLEVBQUUsS0FBSyxTQUFTbkIsQ0FBQyxDQUFDLElBQUksWUFBWSxDQUFDLE9BQU8sS0FBSyxhQUFhLEVBQUUsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxPQUFPLEtBQUsscUJBQXFCLEVBQUUsR0FBRyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsT0FBTyxLQUFLLHNCQUFzQixFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksa0JBQWtCLENBQUMsT0FBTyxLQUFLLHNCQUFzQixFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksU0FBUyxDQUFDLE9BQU8sS0FBSyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLGlDQUFpQyxDQUFDLElBQUltQixFQUFFLEtBQUssc0JBQXNCLEVBQUUsT0FBT0EsRUFBRSxJQUFJLElBQUlBLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxlQUFlLENBQUMsUUFBUUEsRUFBRSxLQUFLLFdBQVcsT0FBTyxHQUFHQSxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU1uQixDQUFDLEVBQUUsS0FBSyxXQUFXbUIsQ0FBQyxFQUFFLEdBQUduQixFQUFFLElBQUksTUFBTSxHQUFHLEdBQUdBLEVBQUUsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUksb0JBQW9CLENBQUMsT0FBTyxLQUFLLHNCQUFzQixFQUFFLEdBQUcsQ0FBQyxDQUFDLElBQUkscUJBQXFCLENBQUMsT0FBTyxLQUFLLDJCQUEyQixLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUMsWUFBWW1CLEVBQUUsQ0FBQyxPQUFPLElBQUk4TCxHQUFHOUwsQ0FBQyxDQUFDLENBQUMsTUFBTUEsRUFBRSxDQUFDLEtBQUssV0FBVyxLQUFLLEtBQUssWUFBWUEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLFdBQVcsSUFBSSxFQUFFLEtBQUssQ0FBQywyQkFBMkJBLEVBQUUsQ0FBQyxNQUFNLENBQUMsRUFBRUEsRUFBRSxNQUFNLEtBQUssQ0FBQyxLQUFLLE9BQU8sVUFBVUEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxZQUFZQSxFQUFFbkIsRUFBRUMsRUFBRSxDQUFDLElBQUlpQixFQUFFLEtBQUssYUFBYSxFQUFFLEdBQUdsQixFQUFFLEdBQUdBLEVBQUUsR0FBRyxDQUFDLEtBQUssMEJBQTBCa0IsRUFBRUMsRUFBRW5CLEVBQUVDLENBQUMsRUFBRSxJQUFJQyxHQUFFZ0IsRUFBRSxNQUFNLElBQUlDLENBQUMsR0FBRyxFQUFFbkIsRUFBRSxHQUFHRSxHQUFFQSxHQUFFLEdBQUdnQixFQUFFLG1CQUFtQkEsRUFBRSxpQkFBaUJDLEdBQUdqQixHQUFFQSxHQUFFLEdBQUdnQixFQUFFLE1BQU0sSUFBSUMsRUFBRWpCLEVBQUMsRUFBRUYsRUFBRSxHQUFHLEtBQUssbUJBQW1Ca0IsRUFBRUMsQ0FBQyxDQUFDLFNBQVNuQixFQUFFLEVBQUUsUUFBUUUsR0FBRSxLQUFLLFdBQVcsT0FBTyxFQUFFQSxJQUFHLElBQUlnQixFQUFFLEtBQUssV0FBV2hCLEVBQUMsRUFBRSxLQUFLLDBCQUEwQmdCLEVBQUVDLEVBQUVuQixFQUFFQyxDQUFDLEVBQUVpQixFQUFFLE1BQU0sSUFBSUMsR0FBR0QsRUFBRSxNQUFNLElBQUlDLENBQUMsR0FBRyxHQUFHLENBQUMsRUFBRSxLQUFLLG1CQUFtQkQsRUFBRUMsQ0FBQyxFQUFFLEVBQUVELEVBQUUsTUFBTSxNQUFNLEVBQUVoQixHQUFFLENBQUMsS0FBSyxPQUFPLFVBQVVnQixFQUFFLE1BQU0sR0FBRyxLQUFLLGlCQUFpQixPQUFPQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUJBLEVBQUVuQixFQUFFLENBQUMsS0FBSyxPQUFPLFVBQVVtQixFQUFFLE1BQU0sR0FBRyxLQUFLLGlCQUFpQixPQUFPbkIsQ0FBQyxDQUFDLENBQUMsMEJBQTBCbUIsRUFBRW5CLEVBQUVDLEVBQUVpQixFQUFFLENBQUMsS0FBSyxvQkFBb0JDLEVBQUVuQixFQUFFQyxDQUFDLEdBQUcsS0FBSyxPQUFPLE1BQU00SSxFQUFFLGlCQUFpQjNILEVBQUUsQ0FBQyxlQUFlbEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0JtQixFQUFFbkIsRUFBRUMsRUFBRSxDQUFDLEdBQUcsRUFBRUEsRUFBRSxHQUFHLE1BQU0sR0FBRyxHQUFHQSxFQUFFLEVBQUUsT0FBT2tCLEVBQUUsTUFBTSxJQUFJbkIsQ0FBQyxFQUFFLElBQUlrQixFQUFFQyxFQUFFLE1BQU0sSUFBSW5CLENBQUMsRUFBRSxPQUFPQyxFQUFFLElBQUlpQixFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssMkJBQTJCQyxDQUFDLElBQUlELEVBQUUsR0FBRyxHQUFHQSxFQUFFLEdBQUcsR0FBRyxFQUFFQyxFQUFFLE1BQU0sR0FBR0EsRUFBRSxtQkFBbUJuQixJQUFJLENBQUMsS0FBSywyQkFBMkJtQixDQUFDLElBQUlELEVBQUUsR0FBRyxDQUFDLENBQUMsaUJBQWlCQyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUtuQixDQUFDLEVBQUVtQixFQUFFLEtBQUssV0FBVyxDQUFDLEVBQUUsTUFBTSxJQUFJbkIsQ0FBQyxHQUFHLEtBQUssaUJBQWlCLElBQUlBLEVBQUVtQixFQUFFLElBQUksS0FBSyxDQUFDLENBQUMsY0FBYyxDQUFDLE9BQU8sS0FBSyxXQUFXLEtBQUssV0FBVyxPQUFPLENBQUMsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLFFBQVFBLEVBQUUsS0FBSyxXQUFXLE9BQU8sR0FBR0EsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNbkIsQ0FBQyxFQUFFLEtBQUssV0FBV21CLENBQUMsRUFBRSxHQUFHbkIsRUFBRSxJQUFJLE9BQU9BLENBQUMsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLFFBQVFtQixFQUFFLEtBQUssV0FBVyxPQUFPLEdBQUdBLElBQUksQ0FBQyxHQUFHLENBQUMsTUFBTW5CLENBQUMsRUFBRSxLQUFLLFdBQVdtQixDQUFDLEVBQUUsR0FBR25CLEVBQUUsS0FBSyxFQUFFQSxFQUFFLEdBQUcsT0FBT0EsQ0FBQyxDQUFDLENBQUMsRUFBRW1OLEdBQUcsY0FBY0YsRUFBRSxDQUFDLGVBQWU5TCxFQUFFLENBQUMsTUFBTSxHQUFHQSxDQUFDLEVBQUUsS0FBSyxpQkFBaUIsSUFBSSxHQUFHLENBQUMsRUFBRWlNLEdBQUcsY0FBY0YsRUFBRSxDQUFDLFlBQVkvTCxFQUFFLENBQUMsT0FBTyxJQUFJZ00sR0FBR2hNLENBQUMsQ0FBQyxDQUFDLFlBQVlBLEVBQUVuQixFQUFFQyxFQUFFLENBQUMsSUFBSWlCLEVBQUUsS0FBSyxhQUFhLEVBQUUsR0FBR2xCLEVBQUUsS0FBSyxDQUFDLEtBQUssMEJBQTBCa0IsRUFBRUMsRUFBRW5CLEVBQUVDLENBQUMsRUFBRSxLQUFLLG1CQUFtQmlCLEVBQUVDLENBQUMsRUFBRUQsRUFBRSxpQkFBaUIsSUFBSUMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxNQUFNLFlBQVlBLEVBQUVuQixFQUFFQyxDQUFDLENBQUMsQ0FBQyxvQkFBb0JrQixFQUFFbkIsRUFBRUMsRUFBRSxDQUFDLEdBQUcsTUFBTSxvQkFBb0JrQixFQUFFbkIsRUFBRUMsQ0FBQyxFQUFFLE1BQU0sR0FBRyxHQUFHQSxFQUFFLE1BQU0sQ0FBQ2tCLEVBQUUsaUJBQWlCLElBQUluQixDQUFDLEVBQUUsQ0FBQyxJQUFJa0IsRUFBRUMsRUFBRSxNQUFNLElBQUluQixDQUFDLEVBQUUsT0FBT2tCLEVBQUUsR0FBRyxJQUFJQSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLGlCQUFpQkMsRUFBRSxDQUFDLEtBQUssV0FBVyxDQUFDLEVBQUUsaUJBQWlCLElBQUlBLEVBQUUsSUFBSSxHQUFHLE1BQU0saUJBQWlCQSxDQUFDLENBQUMsQ0FBQyxFQUFFa00sR0FBRyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssa0JBQWtCLEdBQUcsS0FBSyw0QkFBNEIsRUFBRSxDQUFDLGtCQUFrQmxNLEVBQUUsQ0FBQyxPQUFPQSxFQUFFLEtBQUssVUFBVSxDQUFDLGtCQUFrQkEsRUFBRSxDQUFDLE9BQU9BLEVBQUUsS0FBSyxVQUFVLENBQUMsVUFBVUEsRUFBRSxDQUFDLEdBQUcsT0FBT0EsR0FBRyxTQUFTLE9BQU8sS0FBSyxRQUFRLElBQUlBLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQ25CLEVBQUVDLENBQUMsRUFBRWtCLEVBQUUsR0FBRyxDQUFDLEtBQUssVUFBVW5CLENBQUMsRUFBRSxNQUFNLEdBQUcsSUFBSWtCLEVBQUUsS0FBSyxRQUFRLElBQUlsQixDQUFDLEVBQUUsUUFBUUUsTUFBSyxPQUFPLEtBQUtELENBQUMsRUFBRSxHQUFtQmlCLElBQUVoQixFQUFDLElBQUtELEVBQUVDLEVBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUMsQ0FBQyxnQkFBZ0JpQixFQUFFbkIsRUFBRSxDQUFDLElBQUlDLEVBQUUsT0FBT0EsRUFBRSxLQUFLLFFBQVEsSUFBSWtCLENBQUMsSUFBSSxLQUFLLE9BQU9sQixFQUFFRCxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVNzTixHQUFHdk4sRUFBRW9CLEVBQUUsQ0FBQ3BCLEVBQUUsbUJBQW1CLE9BQU9BLEVBQUUsaUJBQWlCb0IsRUFBRXBCLEVBQUUsaUJBQWlCLFFBQVEsR0FBR29CLENBQUMsQ0FBQyxDQUFDLFNBQVNvTSxHQUFHeE4sRUFBRW9CLEVBQUUsQ0FBQ3BCLEVBQUUsa0JBQWtCLE9BQU9BLEVBQUUsZ0JBQWdCb0IsRUFBRXBCLEVBQUUsZ0JBQWdCLFFBQVEsR0FBR29CLENBQUMsQ0FBQyxDQUFDLFNBQVNxTSxHQUFHek4sRUFBRW9CLEVBQUUsQ0FBQ3BCLEVBQUUsZ0JBQWdCLE9BQU9BLEVBQUUsY0FBY29CLEVBQUVwQixFQUFFLGNBQWMsUUFBUSxHQUFHb0IsQ0FBQyxDQUFDLENBQUMsU0FBU3NNLEdBQUcxTixFQUFFb0IsRUFBRW5CLEVBQUUsQ0FBQyxJQUFJQyxFQUFFLEtBQUtpQixHQUFFQyxFQUFFLE9BQU8sS0FBS2xCLElBQUksTUFBTWlCLEdBQUUsR0FBR2pCLEVBQUVrQixFQUFFLEVBQUVELEVBQUMsRUFBRWpCLElBQUksTUFBTUEsRUFBRSxNQUFNRCxFQUFFLE1BQU13TixHQUFHek4sRUFBRUMsRUFBRSxRQUFRLEVBQUVzTixHQUFHck4sRUFBRUQsRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJME4sR0FBRyxjQUFjTCxFQUFFLENBQUMsV0FBV2xNLEVBQUUsQ0FBQyxLQUFLLFdBQVdBLEVBQUUsSUFBSSxTQUFTLEtBQUssVUFBVSxHQUFHLENBQUMsWUFBWW5CLENBQUMsRUFBRSxLQUFLLE1BQU0sS0FBSyxTQUFTLFNBQVNBLElBQUksS0FBSyxTQUFTLE9BQU9BLEdBQUcsS0FBSyxTQUFTLEtBQUttQixDQUFDLEVBQUUsS0FBSyxNQUFNLGFBQWEsQ0FBQyxlQUFlQSxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWFuQixDQUFDLEVBQUUsS0FBSyxNQUFNQyxFQUFFRCxFQUFFLE9BQU8sR0FBR0MsSUFBSSxFQUFFLE9BQU8sSUFBSWlCLEVBQUVqQixFQUFFLEVBQUVDLEdBQUVGLEVBQUVrQixDQUFDLEVBQUVoQixHQUFFLFFBQVFpQixFQUFFLE1BQU1qQixHQUFFLFlBQVlpQixFQUFFRCxLQUFLLEdBQUcsQ0FBQyxNQUFNZixFQUFDLEVBQUVnQixFQUFFLEtBQUtELEdBQUcsRUFBRUEsSUFBSSxDQUFDLElBQUlkLEdBQUVKLEVBQUVrQixDQUFDLEVBQUV3RCxHQUFFdEUsR0FBRSxJQUFJLEdBQUdzRSxHQUFFdkUsR0FBRUMsR0FBRSxlQUFlZSxFQUFFLEtBQUssZ0JBQWdCZixFQUFDLEVBQUVKLEVBQUUsT0FBT2tCLEVBQUUsQ0FBQyxNQUFNLENBQUN3RCxLQUFJdkUsS0FBSUMsR0FBRSxhQUFhZSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsZ0JBQWdCQSxFQUFFLENBQUMsR0FBRyxDQUFDLFNBQVNuQixDQUFDLEVBQUVtQixFQUFFLEdBQUdBLEVBQUUsY0FBYyxNQUFNQSxFQUFFLGVBQWUsS0FBS0EsRUFBRSxjQUFjLE1BQU1tTSxHQUFHbk0sRUFBRSxZQUFZbkIsQ0FBQyxFQUFFbUIsRUFBRSxlQUFlLE1BQU1vTSxHQUFHcE0sRUFBRSxhQUFhbkIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLGVBQWVDLEVBQUUsTUFBTWlCLENBQUMsRUFBRUMsRUFBRSxHQUFHLEtBQUssTUFBTSxXQUFXLEtBQUssa0JBQWtCRCxDQUFDLEVBQUUsQ0FBQyxJQUFJLEdBQUcsT0FBT2pCLEVBQUUsS0FBSyxDQUFDLElBQUksbUJBQW1CLElBQUksZ0JBQWdCLElBQUksbUJBQW1Cd04sR0FBR3hOLEVBQUVBLEVBQUUsV0FBV2tCLENBQUMsRUFBRSxNQUFNLElBQUksaUJBQWlCLElBQUkseUJBQXlCc00sR0FBR3hOLEVBQUVBLEVBQUUsVUFBVWtCLENBQUMsRUFBRSxNQUFNLElBQUksc0JBQXNCLElBQUkscUJBQXFCLElBQUksMEJBQTBCLElBQUksZUFBZSxJQUFJLGNBQWMsSUFBSSxxQkFBcUJzTSxHQUFHeE4sRUFBRUEsRUFBRSxPQUFPa0IsQ0FBQyxFQUFFLE1BQU0sSUFBSSxrQkFBa0IsSUFBSSxlQUFlLElBQUksa0JBQWtCc00sR0FBR3hOLEVBQUVBLEVBQUUsU0FBU2tCLENBQUMsRUFBRSxNQUFNLElBQUkseUJBQXlCLElBQUksb0JBQW9Cc00sR0FBR3hOLEVBQUVBLEVBQUUsV0FBV2tCLENBQUMsRUFBRSxNQUFNLFFBQVFxTSxHQUFHdk4sRUFBRUQsQ0FBQyxDQUFDLE1BQU13TixHQUFHdk4sRUFBRUQsQ0FBQyxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxHQUFHLENBQUMsYUFBYW1CLENBQUMsRUFBRSxLQUFLLE1BQU0sUUFBUW5CLEVBQUVtQixFQUFFLE9BQU8sRUFBRW5CLEdBQUcsRUFBRUEsSUFBSSxLQUFLLGdCQUFnQm1CLEVBQUVuQixDQUFDLENBQUMsRUFBRSxLQUFLLE1BQU0sYUFBYSxDQUFDLENBQUMsQ0FBQyxrQ0FBa0NtQixFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWFuQixDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsT0FBT0MsQ0FBQyxFQUFFRCxFQUFFLEdBQUdDLElBQUksRUFBRSxPQUFPLElBQUlpQixFQUFFbEIsRUFBRUMsRUFBRSxDQUFDLEVBQUVpQixFQUFFLGNBQWNDLElBQUlELEVBQUUsWUFBWSxLQUFLLENBQUMsdUNBQXVDQyxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWFuQixDQUFDLEVBQUUsS0FBSyxNQUFNLENBQUMsT0FBT0MsQ0FBQyxFQUFFRCxFQUFFQyxJQUFJLElBQUlELEVBQUVDLEVBQUUsQ0FBQyxFQUFFLGVBQWVrQixFQUFFbkIsRUFBRUMsRUFBRSxDQUFDLEVBQUUsYUFBYSxLQUFLQSxHQUFHLEdBQUdELEVBQUVDLEVBQUUsQ0FBQyxFQUFFLGVBQWVrQixJQUFJbkIsRUFBRUMsRUFBRSxDQUFDLEVBQUUsYUFBYSxNQUFNLENBQUMsd0JBQXdCa0IsRUFBRW5CLEVBQUVDLEVBQUUsQ0FBQyxHQUFHLENBQUMsYUFBYWlCLENBQUMsRUFBRSxLQUFLLE1BQU1oQixHQUFFZ0IsRUFBRSxPQUFPLEdBQUdoQixLQUFJLEVBQUUsT0FBTyxJQUFJQyxHQUFFRCxHQUFFLEVBQUUsS0FBS0MsSUFBRyxFQUFFQSxLQUFJLENBQUMsSUFBSUMsR0FBRWMsRUFBRWYsRUFBQyxFQUFFdUUsR0FBRXRFLEdBQUUsSUFBSSxHQUFHQSxHQUFFLFFBQVFILEVBQUVHLEdBQUUsWUFBWWUsVUFBVXVELEtBQUkxRSxFQUFFSSxHQUFFLGFBQWFlLFVBQVV1RCxHQUFFMUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFMk4sR0FBRywwQkFBMEJDLEdBQUcsSUFBSSxPQUFPRCxHQUFHLE9BQU8sR0FBRyxFQUFFLFNBQVNFLEdBQUU5TixFQUFFLENBQUMsT0FBT0EsRUFBRSxDQUFDLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxNQUFLLElBQUssTUFBSyxNQUFNLEdBQUcsUUFBUSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVMrTixHQUFHL04sRUFBRW9CLEVBQUVuQixFQUFFLENBQUMsUUFBUUMsRUFBRWtCLEVBQUVsQixFQUFFRCxFQUFFQyxJQUFJLEdBQUc0TixHQUFFOU4sRUFBRSxXQUFXRSxDQUFDLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSThOLEdBQUcsZ0NBQWdDQyxHQUFHLGlEQUFpRCxTQUFTQyxHQUFHbE8sRUFBRSxDQUFDLE9BQU9BLEVBQUUsQ0FBQyxJQUFLLEdBQUUsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxLQUFJLElBQUssTUFBSyxJQUFLLE1BQUssSUFBSyxNQUFLLElBQUssTUFBSyxJQUFLLE1BQUssSUFBSyxNQUFLLElBQUssTUFBSyxJQUFLLE1BQUssSUFBSyxNQUFLLElBQUssTUFBSyxJQUFLLE1BQUssSUFBSyxNQUFLLElBQUssTUFBSyxJQUFLLE1BQUssSUFBSyxPQUFNLElBQUssT0FBTSxNQUFNLEdBQUcsUUFBUSxNQUFNLEVBQUUsQ0FBQyxDQUFDLElBQUltTyxHQUFHLE1BQU1uTyxHQUFDLENBQUMsYUFBYSxDQUFDLEtBQUssTUFBTSxLQUFLLEtBQUssV0FBVyxPQUFPLEtBQUssUUFBUSxPQUFPLEtBQUssVUFBVSxPQUFPLEtBQUssU0FBUyxPQUFPLEtBQUssT0FBTyxPQUFPLEtBQUssT0FBTyxDQUFDLEVBQUUsS0FBSyxpQkFBaUIsR0FBRyxLQUFLLFVBQVUsQ0FBQyxFQUFFLEtBQUssMEJBQTBCLENBQUMsRUFBRSxLQUFLLGFBQWEsQ0FBQyx5QkFBeUIsRUFBRSxjQUFjLElBQUksRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLEtBQUssWUFBWSxFQUFFLEtBQUssYUFBYSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsS0FBSyxLQUFLLElBQUksS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLEVBQUUsS0FBSyxJQUFJLEVBQUUsS0FBSyxjQUFjLEtBQUssS0FBSyxnQkFBZ0IsS0FBSyxLQUFLLFFBQVEsQ0FBQ29KLEVBQUUsS0FBSyxFQUFFLEtBQUssOEJBQThCLEtBQUssS0FBSyxhQUFhLElBQUksSUFBSSxLQUFLLGFBQWEsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDLE9BQU8sS0FBSyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksT0FBT2hJLEVBQUUsQ0FBQ0EsRUFBRSxLQUFLLE9BQU8sRUFBRSxLQUFLLE9BQU8sRUFBRSxDQUFDLEtBQUssQ0FBQyxXQUFXQSxFQUFFLFdBQVduQixFQUFFLFdBQVdDLEVBQUUsVUFBVWlCLEdBQUUsWUFBWWhCLEVBQUMsRUFBRSxDQUFDLEtBQUssT0FBT2lCLElBQUksR0FBRyxHQUFHQSxJQUFJLEdBQUcsR0FBR25CLElBQUksU0FBUyxLQUFLLFdBQVdDLEVBQUUsS0FBSyxRQUFRaUIsR0FBRSxLQUFLLFVBQVUsQ0FBQ2hCLEdBQUUsS0FBSyxTQUFTLEtBQUssT0FBTyxJQUFJd0gsRUFBRXhHLEdBQUVoQixHQUFFRCxDQUFDLENBQUMsQ0FBQyxJQUFJLHdCQUF3QixDQUFDLE9BQU8sS0FBSyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksdUJBQXVCa0IsRUFBRSxDQUFDQSxFQUFFLEtBQUssT0FBTyxFQUFFLEtBQUssT0FBTyxFQUFFLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLE1BQU0sR0FBRyxDQUFDLENBQUMsSUFBSSxPQUFPQSxFQUFFLENBQUNBLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsQ0FBQyxJQUFJLG9CQUFvQixDQUFDLE9BQU8sS0FBSyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksbUJBQW1CQSxFQUFFLENBQUNBLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxPQUFPLEVBQUUsQ0FBQyxJQUFJLGdCQUFnQixDQUFDLE9BQU8sS0FBSyxNQUFNLElBQUksQ0FBQyxDQUFDLElBQUksZUFBZUEsRUFBRSxDQUFDQSxFQUFFLEtBQUssT0FBTyxHQUFHLEtBQUssT0FBTyxHQUFHLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLEtBQUssTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLGlCQUFpQkEsRUFBRSxDQUFDQSxFQUFFLEtBQUssT0FBTyxHQUFHLEtBQUssT0FBTyxHQUFHLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxPQUFPLEtBQUssTUFBTSxJQUFJLENBQUMsQ0FBQyxJQUFJLGdCQUFnQkEsRUFBRSxDQUFDQSxFQUFFLEtBQUssT0FBTyxHQUFHLEtBQUssT0FBTyxHQUFHLENBQUMsSUFBSSxtQ0FBbUMsQ0FBQyxPQUFPLEtBQUssTUFBTSxLQUFLLENBQUMsQ0FBQyxJQUFJLGtDQUFrQ0EsRUFBRSxDQUFDQSxFQUFFLEtBQUssT0FBTyxJQUFJLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxLQUFLLE1BQU0sS0FBSyxDQUFDLENBQUMsSUFBSSxVQUFVQSxFQUFFLENBQUNBLEVBQUUsS0FBSyxPQUFPLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLDRCQUE0QixDQUFDLE9BQU8sS0FBSyxNQUFNLEtBQUssQ0FBQyxDQUFDLElBQUksMkJBQTJCQSxFQUFFLENBQUNBLEVBQUUsS0FBSyxPQUFPLElBQUksS0FBSyxPQUFPLElBQUksQ0FBQyxJQUFJLG9CQUFvQixDQUFDLE9BQU8sS0FBSyxNQUFNLE1BQU0sQ0FBQyxDQUFDLElBQUksbUJBQW1CQSxFQUFFLENBQUNBLEVBQUUsS0FBSyxPQUFPLEtBQUssS0FBSyxPQUFPLEtBQUssQ0FBQyxJQUFJLGFBQWEsQ0FBQyxPQUFPLEtBQUssTUFBTSxNQUFNLENBQUMsQ0FBQyxJQUFJLFlBQVlBLEVBQUUsQ0FBQ0EsRUFBRSxLQUFLLE9BQU8sS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLElBQUksa0JBQWtCLENBQUMsT0FBTyxLQUFLLE1BQU0sTUFBTSxDQUFDLENBQUMsSUFBSSxpQkFBaUJBLEVBQUUsQ0FBQ0EsRUFBRSxLQUFLLE9BQU8sS0FBSyxLQUFLLE9BQU8sS0FBSyxDQUFDLGFBQWEsQ0FBQyxPQUFPLElBQUl1RyxFQUFFLEtBQUssUUFBUSxLQUFLLElBQUksS0FBSyxVQUFVLEtBQUssSUFBSSxLQUFLLFVBQVUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJdkcsRUFBRSxJQUFJcEIsSUFBRSxPQUFPb0IsRUFBRSxNQUFNLEtBQUssTUFBTUEsRUFBRSxXQUFXLEtBQUssV0FBV0EsRUFBRSxRQUFRLEtBQUssUUFBUUEsRUFBRSxVQUFVLEtBQUssVUFBVUEsRUFBRSxTQUFTLEtBQUssU0FBU0EsRUFBRSxPQUFPLEtBQUssT0FBT0EsRUFBRSxPQUFPLEtBQUssT0FBTyxNQUFNLEVBQUVBLEVBQUUsaUJBQWlCLEtBQUssaUJBQWlCQSxFQUFFLFVBQVUsS0FBSyxVQUFVLE1BQU0sRUFBRUEsRUFBRSwwQkFBMEIsS0FBSywwQkFBMEIsTUFBTSxFQUFFQSxFQUFFLGFBQWEsS0FBSyxhQUFhQSxFQUFFLE9BQU8sS0FBSyxPQUFP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QyxLQUFLLFNBQVMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUduQixJQUFJLEdBQUcsQ0FBQyxLQUFLLFNBQVMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssU0FBUyxHQUFHLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSW1CLENBQUMsRUFBRSxLQUFLLE1BQU1uQixFQUFFLEtBQUssTUFBTSxXQUFXbUIsRUFBRSxDQUFDLEVBQUUsR0FBR25CLElBQUksR0FBRyxDQUFDLElBQUlDLEVBQUUsS0FBSyxNQUFNLFdBQVdrQixFQUFFLENBQUMsSUFBSSxHQUFHLEVBQUUsRUFBRSxHQUFHLEtBQUssTUFBTSxXQUFXQSxFQUFFbEIsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxLQUFLLFNBQVMsR0FBR0EsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssU0FBUyxHQUFHQSxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUdELElBQUksR0FBRyxDQUFDLEtBQUssU0FBUyxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsS0FBSyxTQUFTLEdBQUcsQ0FBQyxDQUFDLENBQUMsa0JBQWtCbUIsRUFBRSxDQUFDLElBQUluQixFQUFFLEtBQUssTUFBTSxXQUFXLEtBQUssTUFBTSxJQUFJLENBQUMsRUFBRSxHQUFHQSxJQUFJLEdBQUcsQ0FBQyxLQUFLLFNBQVMsR0FBRyxLQUFLLE1BQU0sV0FBVyxLQUFLLE1BQU0sSUFBSSxDQUFDLElBQUksR0FBRyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBR21CLElBQUksSUFBSW5CLElBQUksR0FBRyxDQUFDLEtBQUssTUFBTSxLQUFLLEVBQUUsS0FBSyxZQUFZLEVBQUUsRUFBRSxNQUFNLENBQUMsS0FBSyxTQUFTbUIsSUFBSSxHQUFHLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJQSxFQUFFLEtBQUssTUFBTSxXQUFXLEtBQUssTUFBTSxJQUFJLENBQUMsRUFBRW5CLEVBQUUsS0FBSyxNQUFNLFdBQVcsS0FBSyxNQUFNLElBQUksQ0FBQyxFQUFFbUIsSUFBSSxHQUFHbkIsSUFBSSxHQUFHLEtBQUssU0FBUyxHQUFHLENBQUMsRUFBRSxLQUFLLFNBQVMsR0FBRyxDQUFDLEVBQUVtQixJQUFJLElBQUksRUFBRW5CLEdBQUcsSUFBSUEsR0FBRyxLQUFLLEtBQUssTUFBTSxLQUFLLEVBQUUsS0FBSyxZQUFZLEVBQUUsSUFBSSxFQUFFLEtBQUssTUFBTSxJQUFJLEtBQUssWUFBWSxFQUFFLEVBQUUsQ0FBQyxpQkFBaUJtQixFQUFFLENBQUMsT0FBT0EsRUFBRSxDQUFDLElBQUssSUFBRyxLQUFLLGNBQWMsRUFBRSxPQUFPLElBQUssSUFBRyxFQUFFLEtBQUssTUFBTSxJQUFJLEtBQUssWUFBWSxFQUFFLEVBQUUsT0FBTyxJQUFLLElBQUcsRUFBRSxLQUFLLE1BQU0sSUFBSSxLQUFLLFlBQVksRUFBRSxFQUFFLE9BQU8sSUFBSyxJQUFHLEVBQUUsS0FBSyxNQUFNLElBQUksS0FBSyxZQUFZLEVBQUUsRUFBRSxPQUFPLElBQUssSUFBRyxFQUFFLEtBQUssTUFBTSxJQUFJLEtBQUssWUFBWSxFQUFFLEVBQUUsT0FBTyxJQUFLLElBQUcsR0FBRyxLQUFLLFVBQVUsZ0JBQWdCLEdBQUcsS0FBSyxNQUFNLFdBQVcsS0FBSyxNQUFNLElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssZ0JBQWdCLGlCQUFpQixZQUFZLElBQUksTUFBTSxNQUFNLEtBQUssTUFBTTBILEVBQUUsMkNBQTJDLEtBQUssTUFBTSxZQUFZLENBQUMsRUFBRSxLQUFLLE1BQU0sS0FBSyxFQUFFLEtBQUssWUFBWSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssTUFBTSxJQUFJLEtBQUssWUFBWSxDQUFDLEVBQUUsT0FBTyxJQUFLLElBQUcsRUFBRSxLQUFLLE1BQU0sSUFBSSxLQUFLLFlBQVksQ0FBQyxFQUFFLE9BQU8sSUFBSyxLQUFJLEdBQUcsS0FBSyxVQUFVLGdCQUFnQixHQUFHLEtBQUssTUFBTSxXQUFXLEtBQUssTUFBTSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsR0FBRyxLQUFLLGdCQUFnQixpQkFBaUIsWUFBWSxJQUFJLE1BQU0sTUFBTSxLQUFLLE1BQU1BLEVBQUUsNENBQTRDLEtBQUssTUFBTSxZQUFZLENBQUMsRUFBRSxLQUFLLE1BQU0sS0FBSyxFQUFFLEtBQUssWUFBWSxDQUFDLENBQUMsS0FBSyxFQUFFLEtBQUssTUFBTSxJQUFJLEtBQUssWUFBWSxDQUFDLEVBQUUsT0FBTyxJQUFLLEtBQUksRUFBRSxLQUFLLE1BQU0sSUFBSSxLQUFLLFlBQVksQ0FBQyxFQUFFLE9BQU8sSUFBSyxJQUFHLEtBQUssVUFBVSxjQUFjLEdBQUcsS0FBSyxNQUFNLFdBQVcsS0FBSyxNQUFNLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxTQUFTLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBSyxNQUFNLElBQUksS0FBSyxZQUFZLEVBQUUsR0FBRyxPQUFPLElBQUssSUFBRyxLQUFLLG1CQUFtQixFQUFFLE9BQU8sSUFBSyxJQUFHLEtBQUssa0JBQWtCLEVBQUUsT0FBTyxJQUFLLElBQUcsQ0FBQyxJQUFJN0ksRUFBRSxLQUFLLE1BQU0sV0FBVyxLQUFLLE1BQU0sSUFBSSxDQUFDLEVBQUUsR0FBR0EsSUFBSSxLQUFLQSxJQUFJLEdBQUcsQ0FBQyxLQUFLLGdCQUFnQixFQUFFLEVBQUUsTUFBTSxDQUFDLEdBQUdBLElBQUksS0FBS0EsSUFBSSxHQUFHLENBQUMsS0FBSyxnQkFBZ0IsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHQSxJQUFJLElBQUlBLElBQUksR0FBRyxDQUFDLEtBQUssZ0JBQWdCLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxLQUFLLFdBQVcsRUFBRSxFQUFFLE9BQU8sSUFBSyxJQUFHLElBQUssSUFBRyxLQUFLLFdBQVdtQixDQUFDLEVBQUUsT0FBTyxJQUFLLElBQUcsS0FB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QUFFLENBQUMsRUFBRSxDQUFDLElBQUlFLEVBQUUsRUFBRUYsQ0FBQyxFQUFFLEdBQUcsTUFBTSxRQUFRRSxDQUFDLEVBQUUsUUFBUUMsS0FBS0QsRUFBRUgsRUFBRUksQ0FBQyxJQUFJLE1BQU1BLFFBQVFKLEVBQUVHLENBQUMsSUFBSSxNQUFNQSxFQUFFLENBQUMsQ0FBQyxTQUFTRSxJQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxJQUFJLENBQUMsSUFBSUwsRUFBRSxFQUFFLENBQUMsRUFBRSxRQUFRQyxLQUFLRixJQUFHQyxFQUFFLENBQUMsRUFBRSxNQUFNQyxFQUFFLEVBQUUsS0FBS0EsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTSyxJQUFHLEVBQUUsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDLEVBQUUsQ0FBQyxRQUFRLEtBQUtELElBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQXVoWixTQUFTRSxJQUFHLEVBQUUsQ0FBQyxPQUFPLElBQUksT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLEtBQUssQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxPQUFPLEdBQUcsTUFBTSxHQUFHLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLElBQUksTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE9BQU8sSUFBSSxPQUFPLElBQUksT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLElBQUksT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLElBQUksT0FBTyxJQUFJLE9BQU8sSUFBSSxPQUFPLElBQUksT0FBTyxJQUFJLE9BQU8sSUFBSSxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sSUFBSSxPQUFPLElBQUksT0FBTyxHQUFHLE9BQU8sR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsSUFBSSxRQUFRLElBQUksUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLElBQUksUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLElBQUksUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLElBQUksUUFBUSxJQUFJLFFBQVEsSUFBSSxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsSUFBSSxRQUFRLElBQUksUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsSUFBSSxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsSUFBSSxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsSUFBSSxRQUFRLElBQUksUUFBUSxJQUFJLFFBQVEsSUFBSSxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxJQUFJLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsSUFBSSxRQUFRLElBQUksUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsSUFBSSxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdB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QyxFQUFFLEVBQUVQLElBQUcsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFUSxJQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUVQLElBQUcsRUFBRSxDQUFDLEVBQUUsSUFBSSxJQUFJUSxHQUFFLEVBQUUsQ0FBQyxDQUFDLENBQVcsU0FBU0MsSUFBRyxFQUFFLENBQUMsT0FBTyxNQUFNLFFBQVEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQXdFLFNBQVNDLElBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksSUFBSSxJQUFJQyxJQUFHQSxJQUFHQyxJQUFHLEVBQUUsSUFBSUQsSUFBR0MsSUFBR0QsSUFBRzVCLEVBQUUsRUFBRUMsRUFBRSxFQUFFLFFBQVFFLEtBQUssRUFBRUEsSUFBSSxFQUFFSCxJQUFJRyxJQUFJLEdBQUdGLElBQUksT0FBT0QsRUFBRUMsRUFBRSxFQUFFLENBQUMsQ0FBVyxTQUFTNkIsSUFBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxJQUFJN0IsRUFBRThCLEdBQUUsR0FBRyxFQUFFLGtCQUFrQixDQUFDNUIsRUFBRUMsRUFBRTRCLElBQUk1QixJQUFJLEVBQUVBLEVBQUU0QixJQUFJLEVBQUUsS0FBS0EsRUFBRUEsSUFBSSxHQUFHLHdDQUF3QyxLQUFLNUIsQ0FBQyxFQUFFQSxFQUFFLEtBQUtBLEVBQUUsRUFBRSxPQUFPLEVBQUVILEVBQUUsQ0FBQyxDQUFXLFNBQVNnQyxJQUFHLEVBQUUsRUFBRSxDQUFDQyxJQUFHLGdDQUFnQyxLQUFLLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsUUFBUSxFQUFFLFNBQVMsU0FBUyxFQUFFLFNBQVMsU0FBUyxFQUFFLGFBQWEsWUFBWSxDQUFDLEVBQUUsWUFBWSxJQUFJLEVBQUUsb0JBQW9CLElBQUlDLElBQUcsRUFBRSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFQyxJQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBVyxTQUFTQyxHQUFFLEVBQUUsQ0FBQyxJQUFJQyxFQUFFdEMsRUFBRUMsRUFBRSxJQUFJc0MsSUFBSUQsRUFBRSxFQUFFLFFBQVEsS0FBSyxPQUFPQSxFQUFFLENBQUMsSUFBSSxFQUFFLE1BQU1FLEdBQUd2QyxJQUFJRCxFQUFFLEVBQUUsY0FBYyxLQUFLLE9BQU9BLEVBQUUsYUFBYSxFQUFFLGFBQWEsS0FBSyxPQUFPQyxFQUFFLENBQUMsRUFBRSxPQUFPdUMsRUFBRSxLQUFLLElBQUlILEdBQUVHLENBQUMsRUFBRUQsQ0FBQyxFQUFFQSxDQUFDLENBQUMsU0FBU0UsR0FBRSxFQUFFLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxFQUFFLFFBQVEsS0FBSyxPQUFPLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxDQUFDLFNBQVNDLElBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFTCxHQUFFLENBQUMsRUFBRSxPQUFPLE9BQU8sVUFBVSxDQUFDLEdBQUcsSUFBSUEsR0FBRSxDQUFDLENBQUMsQ0FBQyxTQUFTTSxJQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRUYsR0FBRSxDQUFDLEVBQUUsT0FBTyxPQUFPLFVBQVUsQ0FBQyxHQUFHLElBQUlBLEdBQUUsQ0FBQyxDQUFDLENBQUMsU0FBU0csSUFBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPRixJQUFHLEVBQUUsQ0FBQyxHQUFHQyxJQUFHLEVBQUUsQ0FBQyxDQUFDLENBQWEsU0FBU0UsSUFBRyxFQUFFLENBQUMsR0FBR0MsTUFBSyxNQUFNLE9BQU9BLElBQUcsU0FBUyxDQUFDLElBQUksRUFBRUEsSUFBRyxPQUFPQSxJQUFHRCxJQUFHLFVBQVUsS0FBSyxDQUFDLENBQUMsT0FBT0MsSUFBR0QsSUFBRyxVQUFVLEdBQUcsT0FBTyxPQUFPLElBQUksRUFBRSxJQUFJQSxHQUFFLENBQXNDLFNBQVNFLElBQUcsRUFBRSxDQUFDLE9BQU9GLElBQUcsQ0FBQyxDQUFDLENBQUMsU0FBU0csSUFBRyxFQUFFLEVBQUUsT0FBTyxDQUFDRCxJQUFHLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxDQUFDLElBQUkvQyxFQUFFLEVBQUUsQ0FBQyxFQUFFQyxFQUFFLEVBQUVELENBQUMsRUFBRSxHQUFHLENBQUMsTUFBTSxRQUFRQyxDQUFDLEVBQUUsTUFBTSxPQUFPLE9BQU8sSUFBSSxNQUFNLDZCQUE2QkQsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLE9BQU9DLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBdTdZLFNBQVNnRCxJQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsSUFBSSxJQUFJLENBQUMsRUFBRSxPQUFPLEdBQUcsRUFBRSxJQUFtQixHQUFFLElBQUksQ0FBQyxDQUF1WCxTQUFTQyxJQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLE1BQU0sR0FBRyxFQUFFLFFBQVEsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsSUFBSSxDQUFDLElBQUlsRCxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLGNBQWMsRUFBRSxPQUFPQSxFQUFFLEdBQUcsRUFBRSxPQUFPLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxVQUFVLEVBQUUsU0FBUyxPQUFPLGNBQWMsRUFBRSxTQUFTLE9BQU9BLEVBQUUsTUFBTSxHQUFHLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxTQUFTbUQsSUFBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsS0FBSyxHQUFHRCxJQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBVyxTQUFTRSxJQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxJQUFJLEdBQUcsRUFBRSxTQUFTLFNBQVMsQ0FBQyxDQUFXLFNBQVNDLElBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRy9DLElBQUcsRUFBRSxDQUFDLGVBQWVnRCxJQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTQyxJQUFHLEVB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TyxPQUFPLGFBQWEsRUFBRSxPQUFPLEtBQUssUUFBUSxFQUFFLEVBQUVLLElBQUcsQ0FBQyxDQUFDLENBQUMsU0FBU0MsR0FBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPQyxHQUFFLENBQUMsRUFBRUMsSUFBRyxDQUFDLEVBQUVQLEdBQUUsRUFBRVEsR0FBRSxRQUFRLEdBQUd0RSxHQUFFLEVBQUVnQixHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTdUQsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sS0FBSyxHQUFHLEVBQUUsTUFBTSxJQUFJLFNBQVM7QUFBQSxDQUN0UyxDQUFDLENBQUMsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLG1CQUFtQkQsSUFBRyxDQUFDLEdBQUcsRUFBRSxPQUFPLDRCQUE0QkEsSUFBRyxFQUFFLEtBQUssSUFBSSxDQUFDdkUsR0FBRSxFQUFFWSxHQUFFLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTNkQsSUFBRyxFQUFFLENBQUMsR0FBRyxDQUFDWCxHQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsSUFBSSxFQUFFWSxHQUFFLEdBQUdDLElBQUcsRUFBRUwsR0FBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLE9BQU8sR0FBRyxDQUFDTSxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsTUFBTSxHQUFHLElBQUksRUFBRSxFQUFFLFFBQVEsS0FBSyxFQUFFLEdBQUdwQixJQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsTUFBTSxXQUFXMUIsR0FBRSxDQUFDLEdBQUcsUUFBUSxLQUFLeUIsR0FBRyxDQUFDLEVBQUUsR0FBR0MsSUFBRyxDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDLFNBQVNxQixJQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsRUFB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LFFBQVEsR0FBRyxFQUFFLGdCQUFnQkQsSUFBRyxDQUFDLENBQUMsQ0FBQyxTQUFTRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsUUFBUSxHQUFHLEVBQUUsU0FBUyxHQUFHRCxJQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBU0UsR0FBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsUUFBUSxHQUFHLEVBQUUsU0FBUyxHQUFHLElBQUksRUFBRSxPQUFPLEdBQUdGLElBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTRyxHQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsUUFBUSxHQUFHLEVBQUUsU0FBUyxHQUFHSCxJQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBU0ksSUFBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEVBQUUsS0FBSyxJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUV2TCxJQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUVPLElBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRUMsSUFBRyxFQUFFLENBQUMsRUFBRSxFQUFFUCxJQUFHLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFXLFNBQVN1TCxJQUFHLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRUMsSUFBRyxFQUFFLENBQUMsRUFBRSxPQUFPLElBQUksR0FBRyxHQUFHLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBVyxTQUFTQyxJQUFHLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDLElBQUk7QUFBQSxFQUNyOEIsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFXLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU90RyxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEtBQUsseUJBQXlCLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBVyxTQUFTdUcsSUFBRyxFQUFFLENBQUMsTUFBTSxDQUFDQyxJQUFHQyxJQUFHQyxJQUFHQyxJQUFHQyxJ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QUFJLE1BQU0sb0JBQW9CQSxFQUFFLElBQUksR0FBRyxDQUFDLENBQUMsT0FBT0UsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLE1BQU14USxFQUFFLE9BQU9DLEVBQUUsTUFBTSxDQUFDLEVBQUUsU0FBUytCLEVBQUVzTyxFQUFFLENBQUN0USxHQUFHLElBQUksT0FBT3NRLENBQUMsRUFBRXJRLEdBQUcsRUFBRSxTQUFTcVEsQ0FBQyxDQUFDLFNBQVN0SCxFQUFFc0gsRUFBRSxDQUFDdFEsR0FBRyxJQUFJLE9BQU9zUSxDQUFDLEVBQUVyUSxHQUFHcVEsQ0FBQyxDQUFDLFNBQVNDLEdBQUcsQ0FBQyxFQUFFLFFBQVFFLEVBQUUsRUFBRUQsRUFBRSxDQUFDLENBQUMsU0FBU0MsR0FBRyxDQUFDdFEsRUFBRSxHQUFHNkIsRUFBRTdCLENBQUMsRUFBRXVRLEVBQUUsQ0FBQyxDQUFDLFNBQVNGLEdBQUcsQ0FBQ3BRLEVBQUUsR0FBRzRJLEVBQUU1SSxDQUFDLEVBQUVzUSxFQUFFLENBQUMsQ0FBQyxTQUFTQSxHQUFHLENBQUN2USxFQUFFLEVBQUVDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBU3VRLElBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssS0FBSyxDQUFDLElBQUkzUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUdBLElBQUk0USxJQUFHLENBQUMsSUFBSSxRQUFRLENBQUMsUUFBUTNRLEVBQUVELEVBQUUsT0FBTyxFQUFFQyxHQUFHLEVBQUVBLElBQUksQ0FBQyxJQUFJRSxFQUFFSCxFQUFFQyxDQUFDLEVBQUUsR0FBR0UsSUFBSSxLQUFLQSxJQUFJLElBQUksUUFBUSxDQUFDLEVBQUUsQ0FBQyxFQUFFSCxFQUFFLE1BQU0sRUFBRUMsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxHQUFHLEVBQUUsS0FBSzJR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RUFBRSxDQUFDLENBQUMsRUFBRWhYLENBQUMsQ0FBQyxTQUFTZ2lCLElBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLFFBQVEsT0FBTyxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBVyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEtBQUssTUFBTSxHQUFHLElBQUksZUFBZSxNQUFNLEtBQUssSUFBSSxnQkFBZ0IsTUFBTSxLQUFLLElBQUksV0FBVyxNQUFNLEdBQUcsQ0FBQyxDQUFDLFNBQVNDLElBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsRUFBRSxPQUFPdFksR0FBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxHQUFHLElBQUlILEdBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUMsRUFBRSxJQUFJd1ksSUFBRyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNFLElBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsU0FBU0MsSUFBRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFeGlCLEVBQUVtUCxHQUFHLEVBQUUsYUFBYTlNLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLEVBQUUsYUFBYSxDQUFDLEVBQUUsT0FBTzJILEdBQUUsQ0FBQyxJQUFJSCxHQUFFLENBQUMsRUFBRSxlQUFlcUssR0FBRTNCLEdBQUV2SSxHQUFFLENBQUMsRUFBRSxlQUFlLEVBQUUsRUFBRSxTQUFTdVksSUFBRyxFQUFFLFNBQVMsR0FBRyxFQUFFLEdBQUcsRUFBRSxlQUFlLEtBQUssR0FBRyxFQUFFLGdCQUFn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QUlDLEdBQUcsSUFBSUMsR0FBRyxXQUFXQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsdUJBQXVCQyxHQUFHLHFDQUFxQ0MsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsSUFBSUMsR0FBRyxJQUFJQyxHQUFHLDBEQUEwREMsR0FBRyx1QkFBdUJDLEdBQUcsSUFBSUMsR0FBRyxXQUFXQyxHQUFHLFNBQVNDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsRUFBRyxPQUFPQyxFQUFHLE9BQU9DLEVBQUcsUUFBUUMsRUFBRyxJQUFJQyxHQUFHLHlCQUF5QkMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsc0JBQXNCQyxHQUFHLG9CQUFvQkMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLHNCQUFzQkMsR0FBRyxJQUFJQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxlQUFlQyxHQUFHLE1BQU1DLEdBQUcsb0JBQW9CQyxHQUFHLE1BQU1DLEdBQUcsbUJBQW1CQyxHQUFHLGlDQUFpQ0MsR0FBRyxLQUFLQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLHVCQUF1QkMsR0FBRyxRQUFRQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxTQUFTQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsV0FBV0MsR0FBRyw0QkFBNEJDLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLEtBQUtDLEdBQUcsNEJBQTRCQyxHQUFHLE1BQU1DLEdBQUcsc0JBQXNCQyxHQUFHLFdBQVdDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLGtDQUFrQ0MsR0FBRyxRQUFRQyxHQUFHLE9BQU9DLEdBQUcsWUFBWUMsR0FBRyxXQUFXQyxHQUFHLE1BQU1DLEdBQUcsYUFBYUMsR0FBRyxJQUFJQyxHQUFHLFVBQVVDLEdBQUcseUNBQXlDQyxHQUFHLE1BQU1DLEdBQUcsS0FBS0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxHQUFHLEtBQUtDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLDBCQUEwQkMsR0FBRyxjQUFjQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLElBQUlDLEdBQUcsSUFBSUMsR0FBRyxPQUFPQyxHQUFHLFlBQVlDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcseUJBQXlCQyxHQUFHLElBQUlDLEdBQUcsbUJBQW1CQyxHQUFHLEtBQUtDLEdBQUcsT0FBT0MsR0FBRyxhQUFhQyxHQUFHLElBQUlDLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLFVBQVVDLEdBQUcsSUFBSUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLFFBQVFDLEdBQUcsT0FBT0MsR0FBRyxzREFBc0RDLEdBQUcsY0FBY0MsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsT0FBT0MsR0FBRyxtQkFBbUJDLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxHQUFHLFFBQVFDLEdBQUcsa0JBQWtCQyxHQUFHLElBQUlDLEdBQUcsb0JBQW9CQyxHQUFHLFlBQVlDLEdBQUcsS0FBS0MsR0FBRyxPQUFPQyxHQUFHLEtBQUtDLEdBQUcsT0FBT0MsR0FBRyw2Q0FBNkNDLEdBQUcsS0FBS0MsR0FBRyxrQkFBa0JDLEdBQUcsS0FBS0MsR0FBRyxLQUFLQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxJQUFJQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsS0FBS0MsR0FBRyxtQkFBbUJDLEdBQUcsT0FBT0MsR0FBRyxTQUFTQyxHQUFHLElBQUlDLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsMEJBQTBCQyxHQUFHLE9BQU9DLEdBQUcsU0FBU0MsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsZ0JBQWdCQyxHQUFHLFNBQVNDLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsYUFBYUMsR0FBRyxPQUFPQyxHQUFHLElBQUlDLEdBQUcsSUFBSUMsR0FBRyxVQUFVQyxHQUFHLGlCQUFpQkMsR0FBRyxJQUFJQyxHQUFHLDBCQUEwQkMsR0FBRyxJQUFJQyxHQUFHLHFDQUFxQ0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxRQUFRQyxHQUFHLE1BQU1DLEdBQUcsWUFBWUMsR0FBRyxLQUFLQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE9BQU9DLEdBQUcsWUFBWUMsR0FBRyxZQUFZQyxHQUFHLE1BQU1DLEdBQUcsS0FBS0MsR0FBRyxNQUFNQyxHQUFHLGlCQUFpQkMsR0FBRyw0QkFBNEJDLEdBQUcsTUFBTUMsR0FBRyxRQUFRQyxHQUFHLGFBQWFDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsT0FBT0MsR0FBRyxVQUFVQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLFdBQVdDLEdBQUcsc0JBQXNCQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsSUFBSUMsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxJQUFJQyxHQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxXQUFXQyxHQUFHLFVBQVVDLEdBQUcsT0FBT0MsR0FBRyxPQUFPQyxHQUFHLEtBQUtDLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLE1BQU0sR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLEtBQUtDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLHVCQUF1QkMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxVQUFVQyxHQUFHLDhCQUE4QkMsR0FBRyxJQUFJQyxHQUFHLElBQUlDLEdBQUcsT0FBT0MsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsVUFBVUMsR0FBRyxLQUFLQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLGVBQWVDLEdBQUcsSUFBSUMsR0FBRyxPQUFPQyxHQUFHLFFBQVFDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsS0FBS0MsR0FBRyxLQUFLQyxHQUFHLEtBQUtDLEdBQUcsMEJBQTBCQyxHQUFHLFFBQVFDLEdBQUcsS0FBS0MsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsd0JBQXdCQyxHQUFHLHlCQUF5QkMsR0FBRyxzQkFBc0JDLEdBQUcsc0JBQXNCQyxHQUFHLE9BQU9DLEdBQUcsT0FBT0MsR0FBRyx3QkFBd0JDLEdBQUcsR0FBR0MsR0FBRyxpQkFBaUJDLEdBQUcsa0NBQWtDQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxHQUFHLEtBQUtDLEdBQUcsSUFBSUMsR0FBRyxVQUFVQyxHQUFHLE9BQU9DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsS0FBS0MsR0FBRyxVQUFVQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyx1QkFBdUJDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLGtCQUFrQkMsR0FBRyxpQkFBaUJDLEdBQUcsaUJBQWlCQyxHQUFHLG1CQUFtQkMsRUFBRyw2Q0FBNkNDLEVBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLElBQUlDLEdBQUcsT0FBT0MsR0FBRyxlQUFlQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxrQkFBa0JDLEdBQUcsaUJBQWlCQyxHQUFHLE9BQU9DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRztBQUFBLEVBQ2hyT0MsR0FBRyxNQUFNQyxHQUFHLGtDQUFrQ0MsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsNENBQTRDQyxHQUFHLFNBQVNDLEdBQUcsSUFBSUMsR0FBRyx3QkFBd0JDLEdBQUcsTUFBTUMsR0FBRyxpQkFBaUJDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLG1CQUFtQkMsR0FBRyxzQkFBc0JDLEdBQUcsMkJBQTJCQyxHQUFHLE1BQU1DLEdBQUcsZ0NBQWdDQyxHQUFHLGtDQUFrQ0MsR0FBRyxNQUFNQyxHQUFHLHVCQUF1QkMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxHQUFHLElBQUlDLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsS0FBS0MsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRywyQkFBMkJDLEdBQUcsT0FBT0MsR0FBRyxLQUFLQyxHQUFHLFVBQVVDLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLCtCQUErQkMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxtQkFBbUJDLEdBQUcsWUFBWUMsR0FBRyxRQUFRQyxHQUFHLGFBQWFDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLGtCQUFrQkMsR0FBRyxPQUFPQyxHQUFHLFNBQVNDLEdBQUcsYUFBYUMsR0FBRyxZQUFZQyxHQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLEtBQUtDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLFdBQVdDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsdUJBQXVCQyxHQUFHLFlBQVlDLEdBQUcsVUFBVUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsU0FBU0MsR0FBRyxnQkFBZ0JDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLEtBQUtDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsSUFBRyxJQUFJQyxHQUFHLElBQUlDLEdBQUcsd0JBQXdCQyxHQUFHLElBQUlDLEdBQUcsZ0JBQWdCQyxHQUFHLFNBQVNDLEdBQUcsU0FBU0MsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsVUFBVUMsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcscUJBQXFCQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsY0FBY0MsSUFBRyxJQUFJQyxHQUFHLEtBQUtDLEdBQUcsc0JBQXNCQyxHQUFHLE1BQU1DLEdBQUcsS0FBS0MsR0FBRyxLQUFLQyxHQUFHLE1BQU1DLElBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLHlCQUF5QkMsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsT0FBT0MsR0FBRyxvQkFBb0JDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLHNCQUFzQkMsR0FBRyxPQUFPQyxHQUFHLHdCQUF3QkMsR0FBRyxJQUFJQyxJQUFHLFlBQVlDLEdBQUcsSUFBSUMsR0FBRyxxQ0FBcUNDLEdBQUcsaUJBQWlCQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxrQkFBa0JDLEdBQUcsTUFBTUMsR0FBRyxvQkFBb0JDLElBQUcsV0FBV0MsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsZ0JBQWdCQyxHQUFHLElBQUlDLEdBQUcsUUFBUUMsR0FBRyxRQUFRQyxHQUFHLHFDQUFxQ0MsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsWUFBWUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxjQUFjQyxHQUFHLDJCQUEyQkMsR0FBRyxNQUFNQyxHQUFHLFVBQVVDLEdBQUcsZ0JBQWdCQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxjQUFjQyxHQUFHLGlCQUFpQkMsR0FBRyxLQUFLQyxHQUFHLEtBQUtDLEdBQUcsT0FBT0MsR0FBRyxJQUFJQyxHQUFHLGNBQWNDLEdBQUcsK0JBQStCQyxHQUFHLFNBQVNDLEdBQUcsS0FBS0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxvQkFBb0JDLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLGFBQWFDLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxlQUFlQyxHQUFHLElBQUlDLEdBQUcsbUJBQW1CQyxHQUFHLGtCQUFrQkMsR0FBRyx5QkFBeUJDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsK0JBQStCQyxHQUFHLE1BQU1DLElBQUcsaUJBQWlCQyxHQUFHLElBQUlDLEdBQUcsa0JBQWtCQyxHQUFHLGtCQUFrQkMsR0FBRyxpQ0FBaUNDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxZQUFZQyxHQUFHLHdEQUF3REMsR0FBRyxLQUFLQyxHQUFHLE1BQU1DLEdBQUcsb0JBQW9CQyxHQUFHLGNBQWNDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxnQkFBZ0JDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLFdBQVdDLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLGFBQWFDLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLE9BQU9DLEdBQUcsT0FBT0MsR0FBRyxLQUFLQyxHQUFHLGdCQUFnQkMsR0FBRyxNQUFNQyxHQUFHLHVCQUF1QkMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxHQUFHLE1BQU1DLEdBQUcsU0FBU0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsVUFBVUMsR0FBRyxXQUFXQyxHQUFHLEtBQUtDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLEtBQUtDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLElBQUlDLEdBQUcsT0FBT0MsR0FBRyxLQUFLQyxHQUFHLDJCQUEyQkMsR0FBRyxhQUFhQyxHQUFHLE1BQU1DLEdBQUcsZUFBZUMsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsbUNBQW1DQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxZQUFZQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsU0FBU0MsR0FBRyxtQkFBbUJDLEdBQUcsTUFBTUMsR0FBRyxLQUFL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QUFLQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxPQUFPQyxJQUFHLElBQUlDLElBQUcsWUFBWUMsR0FBRyxPQUFPQyxHQUFHLG1CQUFtQkMsR0FBRyxlQUFlQyxHQUFHLFFBQVFDLEdBQUcsT0FBT0MsR0FBRyxLQUFLQyxJQUFHLFVBQVVDLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyx1QkFBdUJDLEdBQUcsSUFBSUMsR0FBRyxXQUFXQyxHQUFHLE1BQU1DLEdBQUcsU0FBU0MsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsZ0JBQWdCQyxHQUFHLFdBQVdDLEdBQUcsSUFBSUMsR0FBRyxRQUFRQyxHQUFHLGFBQWFDLEdBQUcsTUFBTUMsSUFBRyx3QkFBd0JDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsdUJBQXVCQyxJQUFHLFdBQVdDLEdBQUcsa0JBQWtCQyxJQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxJQUFHLFdBQVdDLEdBQUcsS0FBS0MsR0FBRyxNQUFNQyxHQUFHLFVBQVVDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxXQUFXQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxVQUFVQyxHQUFHLE1BQU1DLEdBQUcsUUFBUUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsVUFBVUMsR0FBRyxxQkFBcUJDLElBQUcsTUFBTUMsSUFBRyxJQUFJQyxHQUFHLDhCQUE4QkMsR0FBRyxNQUFNQyxJQUFHLElBQUlDLEdBQUcsc0JBQXNCQyxHQUFHLElBQUlDLEdBQUcsV0FBV0MsR0FBRyxPQUFPQyxJQUFHLFlBQVlDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLEtBQUtDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxJQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxzQkFBc0JDLEdBQUcsd0JBQXdCQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsSUFBRyxJQUFJQyxHQUFHLHVCQUF1QkMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLElBQUcsS0FBS0MsR0FBRyxNQUFNQyxJQUFHLEtBQUtDLEdBQUcsbUVBQW1FQyxHQUFHLEtBQUtDLEdBQUcsb0JBQW9CQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsSUFBRyxNQUFNQyxHQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLGlCQUFpQkMsR0FBRyx5QkFBeUJDLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsb0JBQW9CQyxHQUFHLE1BQU1DLEdBQUcsS0FBS0MsR0FBRywrQkFBK0JDLEdBQUcsTUFBTUMsR0FBRyxLQUFLQyxHQUFHLE1BQU1DLEdBQUcsbUJBQW1CQyxHQUFHLG9CQUFvQkMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsNkJBQTZCQyxHQUFHLDRCQUE0QkMsR0FBRyxLQUFLQyxHQUFHLE1BQU1DLElBQUcsSUFBSUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcscUJBQXFCQyxJQUFHLElBQUlDLEdBQUcsTUFBTUMsSUFBRyxhQUFhQyxHQUFHLElBQUlDLElBQUcsSUFBSUMsR0FBRyxTQUFTQyxHQUFHLFNBQVNDLEdBQUcsTUFBTUMsR0FBRyxlQUFlQyxHQUFHLGdDQUFnQ0MsR0FBRyxTQUFTQyxHQUFHLE1BQU1DLEdBQUcsMEJBQTBCQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLElBQUcsTUFBTUMsR0FBRyx5QkFBeUJDLEdBQUcsaUJBQWlCQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsSUFBRyxLQUFLQyxHQUFHLE1BQU1DLEdBQUcsb0NBQW9DQyxJQUFHLElBQUlDLEdBQUcsbUJBQW1CQyxHQUFHLEtBQUtDLEdBQUcsSUFBSUMsSUFBRyxLQUFLQyxHQUFHLE1BQU1DLEdBQUcsWUFBWUMsR0FBRyxNQUFNQyxJQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxJQUFHLFdBQVdDLEdBQUcsU0FBU0MsR0FBRyxhQUFhQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLG1CQUFtQkMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxpQkFBaUJDLEdBQUcsa0JBQWtCQyxHQUFHLE1BQU1DLElBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxtQkFBbUJDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxJQUFJLEtBQUtDLEdBQUcsUUFBUUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLDRCQUE0QkMsR0FBRyxNQUFNQyxJQUFHLElBQUlDLEdBQUcsT0FBT0MsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsNkJBQTZCQyxHQUFHLHdCQUF3QkMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsNEJBQTRCQyxHQUFHLE1BQU1DLEdBQUcsYUFBYUMsSUFBRyxJQUFJQyxHQUFHLFdBQVdDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLFFBQVFDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLFNBQVNDLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsZ0NBQWdDQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxLQUFLQyxHQUFHLE1BQU1DLEdBQUcsa0JBQWtCQyxHQUFHLHFCQUFxQkMsR0FBRyxNQUFNQyxHQUFHLGFBQWFDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxJQUFHLG1CQUFtQkMsR0FBRyxTQUFTQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLGNBQWNDLElBQUcsSUFBSUMsR0FBRyxrQkFBa0JDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsdUJBQXVCQyxHQUFHLHdCQUF3QkMsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLElBQUcsV0FBV0MsSUFBRyxxQkFBcUJDLElBQUcsS0FBS0MsSUFBRyxNQUFNQyxHQUFHLGdCQUFnQkMsR0FBRyxNQUFNQyxHQUFHLHNCQUFzQkMsSUFBRyxJQUFJQyxHQUFHLE9BQU9DLEdBQUcsSUFBSUMsR0FBRyxJQUFJQyxHQUFHLHVCQUF1QkMsR0FBRyx5QkFBeUJDLEdBQUcsVUFBVUMsSUFBRyxXQUFXQyxJQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsWUFBWUMsR0FBRyxRQUFRQyxHQUFHLE1BQU1DLEdBQUcsUUFBUUMsSUFBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcseUJBQXlCQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLHNCQUFzQkMsSUFBRyxJQUFJQyxHQUFHLFlBQVlDLEdBQUcsaUJBQWlCQyxHQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLElBQUcsSUFBSUMsR0FBRyxLQUFLQyxHQUFHLFFBQVFDLEdBQUcsUUFBUUMsR0FBRyx1QkFBdUJDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLFFBQVFDLElBQUcsV0FBV0MsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyx3QkFBd0JDLEdBQUcsTUFBTUMsR0FBRyxJQUFJQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxrQkFBa0JDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxJQUFHLG9CQUFvQkMsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsV0FBV0MsR0FBRyxpQkFBaUJDLEdBQUcsTUFBTUMsR0FBRyxpQkFBaUJDLEdBQUcsU0FBU0MsR0FBRyw4QkFBOEJDLEdBQUcsSUFBSUMsSUFBRyxhQUFhQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsSUFBRyxTQUFTQyxHQUFHLE1BQU1DLElBQUcsSUFBSUMsR0FBRyxTQUFTQyxHQUFHLE1BQU1DLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLHlCQUF5QkMsR0FBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxJQUFHLElBQUlDLEdBQUcsTUFBTUMsR0FBRyxzQkFBc0JDLEdBQUcsSUFBSUMsR0FBRyxLQUFLQyxJQUFHLHFCQUFxQkMsR0FBRyxPQUFPQyxHQUFHLGFBQWFDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxJQUFHLElBQUlDLEdBQUcsSUFBSUMsSUFBRyxJQUFJQyxHQUFHLFFBQVFDLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLG1CQUFtQkMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsVUFBVUMsR0FBRyxNQUFNQyxJQUFHLElBQUlDLEdBQUcsbUJBQW1CQyxHQUFHLE1BQU1DLElBQUcsSUFBSUMsR0FBRyxNQUFNQyxHQUFHLFNBQVNDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxJQUFHLE1BQU1DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLDBCQUEwQkMsR0FBRyxPQUFPQyxHQUFHLDhCQUE4QkMsR0FBRyxNQUFNQyxJQUFHLEtBQUtDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLG1CQUFtQkMsR0FBRyxJQUFJQyxHQUFHLE9BQU9DLEdBQUcsTUFBTUMsR0FBRyxNQUFNQyxHQUFHLE1BQU1DLEdBQUcsZUFBZUMsSUFBRyxJQUFJQyxHQUFHLE1BQU1DLEdBQUcsZ0JBQWdCQyxHQUFHLE9BQU9DLEdBQUcsSUFBSUMsR0FBRyxPQUFPQyxHQUFHLFVBQVVDLEdBQUcsVUFBVUMsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsc0JBQXNCQyxJQUFHLElBQUlDLEdBQUcsT0FBT0MsR0FBRyxNQUFNQyxHQUFHLE9BQU9DLEdBQUcsT0FBT0MsR0FBRywyQkFBMkJDLEdBQUcsTUFBTUMsR0FBRyxPQUFPQyxHQUFHLE1BQU1DLEdBQUcsYUFBYUMsR0FBRyxNQUFNQyxHQUFHLFNBQVNDLEdBQUcsT0FBTyxTQUFTQyxJQUFHQyxFQUFFQyxFQUFFQyxFQUFFQyxFQUFFQyxFQUFFLENBQUMsR0FBR0QsR0FBR0YsRUFBRSxRQUFRSSxFQUFFLEVBQUVBLEdBQUdELEVBQUVDLElBQUlILEVBQUVDLEVBQUVFLENBQUMsRUFBRUwsRUFBRUMsRUFBRUksQ0FBQyxNQUFPLFNBQVFBLEVBQUVELEVBQUVDLEdBQUcsRUFBRUEsSUFBSUgsRUFBRUMsRUFBRUUsQ0FBQyxFQUFFTCxFQUFFQyxFQUFFSSxDQUFDLEVBQUUsTUFBTyxFQUFDLENBQUMsU0FBU0MsSUFBR04sRUFBRSxDQUFDLFFBQVFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVELElBQUksR0FBRyxDQUFDLFFBQVFFLEVBQUVGLEVBQUUsQ0FBQyxFQUFFRyxFQUFFLEVBQUVBLEVBQUVELEVBQUUsT0FBT0MsSUFBSUYsRUFBRSxLQUFLQyxFQUFFQyxDQUFDLENBQUMsRUFBRUgsRUFBRUEsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPQyxDQUFDLENBQUMsU0FBU00sSUFBR1AsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLElBQUlDLEVBQUUsSUFBSSxNQUFNRCxFQUFFLENBQUMsRUFBRUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxRQUFRQyxFQUFFLEVBQUVDLEVBQUVKLEVBQUUsRUFBRUcsR0FBR0YsRUFBRUUsSUFBSUMsSUFBSUYsRUFBRUMsQ0FBQyxFQUFFSixFQUFFSyxDQUFDLEVBQUUsT0FBT0YsQ0FBQyxDQUFDLFNBQVNLLEdBQUdSLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPRixFQUFFLENBQUMsSUFBSUMsR0FBR0QsRUFBRSxDQUFDLEVBQUVFLEVBQUUsR0FBRyxDQUFDLENBQUMsU0FBU08sSUFBR1QsRUFBRUMsRUFB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QUFPLElBQUkwQixHQUFHLEtBQUssR0FBRzFCLEVBQUUsR0FBRyxLQUFLLEdBQUdBLEVBQUUsR0FBRyxLQUFLLEdBQUdBLEVBQUUsRUFBRSxDQUFDLEVBQUUwQixHQUFHLFVBQVUsR0FBRyxTQUFTMUIsRUFBRSxDQUFDLE9BQU8sSUFBSTBCLEdBQUcsS0FBSyxHQUFHMUIsRUFBRSxHQUFHLEtBQUssR0FBR0EsRUFBRSxHQUFHLEtBQUssR0FBR0EsRUFBRSxFQUFFLENBQUMsRUFBRTBCLEdBQUcsVUFBVSxJQUFJLFNBQVMxQixFQUFFLENBQUMsT0FBTyxJQUFJMEIsR0FBRyxLQUFLLEdBQUcxQixFQUFFLEdBQUcsS0FBSyxHQUFHQSxFQUFFLEdBQUcsS0FBSyxHQUFHQSxFQUFFLEVBQUUsQ0FBQyxFQUFFMEIsR0FBRyxVQUFVLFdBQVcsU0FBUzFCLEVBQUUsQ0FBQyxPQUFPQSxFQUFFQSxFQUFFLEdBQUdBLEdBQUcsRUFBRSxLQUFLQSxFQUFFLEdBQUcsSUFBSTBCLEdBQUcsS0FBSyxJQUFJMUIsRUFBRSxLQUFLLElBQUlBLEVBQUUsS0FBSyxJQUFJLEdBQUdBLEVBQUUsS0FBSyxJQUFJQSxFQUFFLEtBQUssSUFBSSxHQUFHQSxDQUFDLEVBQUVBLEVBQUUsR0FBRyxJQUFJMEIsR0FBRyxFQUFFLEtBQUssSUFBSTFCLEVBQUUsR0FBRyxLQUFLLElBQUlBLEVBQUUsR0FBRyxLQUFLLElBQUksR0FBR0EsQ0FBQyxFQUFFLElBQUkwQixHQUFHLEVBQUUsRUFBRSxLQUFLLElBQUkxQixFQUFFLEVBQUUsQ0FBQyxFQUFFMEIsR0FBRyxVQUFVLHFCQUFxQixTQUFTMUIsRUFBRSxDQUFDLE9BQU9BLEVBQUVBLEVBQUUsR0FBR0EsR0FBRyxFQUFFLEtBQUtBLEVBQUUsR0FBRyxJQUFJMEIsR0FBRyxLQUFLLElBQUkxQixFQUFFLEtBQUssSUFBSSxHQUFHQSxFQUFFLEtBQUssSUFBSUEsRUFBRSxLQUFLLElBQUksR0FBR0EsRUFBRSxLQUFLLElBQUlBLENBQUMsRUFBRUEsRUFBRSxHQUFHLElBQUkwQixHQUFHLEtB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QUMsQ0FBQyxDQUFDLEVBQUVnQyxHQUFHLFVBQVUsSUFBSSxTQUFTaEMsRUFBRUMsRUFBRSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsSUFBSyxHQUFFLEtBQUssS0FBS0QsRUFBRSxFQUFFLENBQUMsRUFBRTZCLEdBQUc1QixDQUFDLEVBQUUsS0FBSyxLQUFLRCxFQUFFLEVBQUUsQ0FBQyxFQUFFNEIsR0FBRzNCLENBQUMsRUFBRSxNQUFNLElBQUssSUFBRyxJQUFLLElBQUcsS0FBSyxLQUFLRCxFQUFFLEVBQUUsQ0FBQyxFQUFFQyxFQUFFLENBQUMsRUFBRSxLQUFLLEtBQUtELEVBQUUsRUFBRSxDQUFDLEVBQUVDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sUUFBUSxLQUFLLEtBQUtELENBQUMsRUFBRUMsRUFBRSxLQUFLLENBQUMsTUFBTyxFQUFDLEVBQUUrQixHQUFHLFVBQVUsS0FBSyxTQUFTaEMsRUFBRSxDQUFDLE9BQU8sS0FBSyxLQUFLLENBQUMsSUFBSyxHQUFFLElBQUlDLEVBQUU0QixHQUFHN0IsQ0FBQyxFQUFFRSxFQUFFMEIsR0FBRzVCLENBQUMsRUFBRSxHQUFHQyxHQUFHQyxFQUFFLEtBQUssS0FBSyxLQUFLRCxDQUFDLE1BQU8sU0FBUUUsRUFBRSxFQUFFQSxFQUFFLEtBQUssS0FBSyxPQUFPQSxJQUFJLEtBQUssS0FBS0EsQ0FBQyxFQUFFQSxFQUFFLEdBQUcsRUFBRUYsRUFBRUMsRUFBRSxNQUFNLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSUUsRUFBRUosRUFBRSxDQUFDLEVBQUVLLEVBQUVMLEVBQUUsQ0FBQyxFQUFFLEdBQUdJLEdBQUdDLEVBQUUsS0FBSyxLQUFLLEtBQUtELENBQUMsTUFBTyxTQUFRRCxFQUFFLEVBQUVBLEVBQUUsS0FBSyxLQUFLLE9BQU9BLElBQUksS0FBSyxLQUFLQSxDQUFDLEVBQUVBLEVBQUUsR0FBRyxFQUFFQyxFQUFFQyxFQUFFLE1BQU0sUUFBUSxLQUFLLEtBQUssS0FBS0wsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFZ0MsR0FBRyxVQUFVLFFBQVEsU0FBU2hDLEVBQUVDLEVBQUUsQ0FBQyxHQUFHLEtBQUssUUFBUUQsRUFBRSxRQUFRLEtBQUssTUFBTUEsRUFBRSxLQUFLLENBQUMsSUFBSUUsRUFBRSxLQUFLLEtBQUssS0FBSyxRQUFRLEVBQUVDLEVBQUVILEVBQUUsS0FBS0EsRUFBRSxRQUFRLEVBQUUsT0FBT0csRUFBRUQsQ0FBQyxDQUFDLEdBQUcsS0FBSyxLQUFLLFFBQVFGLEVBQUUsS0FBSyxPQUFPLE9BQU9BLEVBQUUsS0FBSyxPQUFPLEtBQUssS0FBSyxPQUFPLFFBQVFJLEVBQUUsRUFBRUEsRUFBRSxLQUFLLEtBQUssT0FBT0EsSUFBSSxHQUFHLEtBQUssS0FBS0EsQ0FBQyxHQUFHSixFQUFFLEtBQUtJLENBQUMsRUFBRSxPQUFPLEtBQUssS0FBS0EsQ0FBQyxFQUFFSixFQUFFLEtBQUtJLENBQUMsRUFBRSxHQUFHLEVBQUUsT0FBTyxLQUFLLEtBQUssQ0FBQyxJQUFLLEdBQUUsSUFBSyxHQUFFLElBQUssSUFBRyxJQUFLLElBQUcsUUFBUUMsRUFBRTRCLEVBQUU3QixFQUFFLEVBQUVBLEVBQUUsS0FBSyxLQUFLLE9BQU9BLElBQUksQ0FBQyxHQUFHQyxFQUFFLEtBQUssS0FBS0QsQ0FBQyxFQUFFNkIsRUFBRWpDLEVBQUUsS0FBS0ksQ0FBQyxFQUFFQyxFQUFFNEIsRUFBRSxNQUFNLEdBQUcsR0FBRzVCLEVBQUU0QixFQUFFLE1BQU8sR0FBRSxHQUFHNUIsR0FBRzRCLEVBQUUsQ0FBQyxHQUFHLENBQUNoQyxFQUFFLE1BQU8sS0FBSSxHQUFHSSxHQUFHQSxFQUFFLE1BQU8sR0FBRSxHQUFHNEIsR0FBR0EsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sSUFBSyxHQUFFLFFBQVE3QixFQUFFLEVBQUVBLEVBQUUsS0FBSyxLQUFLLE9BQU9BLEdBQUcsRUFBRSxDQUFDLEdBQUcsS0FBSyxLQUFLQSxFQUFFLENBQUMsRUFBRUosRUFBRSxLQUFLSSxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsR0FBRyxLQUFLLEtBQUtBLEVBQUUsQ0FB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QUUsTUFBTSxDQUFDQSxFQUFFLEdBQUcsR0FBR3NDLEdBQUd0QyxDQUFDLEVBQUUsSUFBSUcsRUFBRUwsRUFBRSxFQUFFaUMsRUFBRS9CLEVBQUUsRUFBRSxHQUFHRixFQUFFLEdBQUcsRUFBRSxHQUFHRyxHQUFHRixFQUFFLFFBQVF5QyxFQUFFLEVBQUVBLEVBQUV0QyxFQUFFc0MsSUFBSVQsRUFBRTlCLEVBQUV1QyxDQUFDLEVBQUVyQyxFQUFFSixFQUFFeUMsQ0FBQyxNQUFPLFNBQVFBLEVBQUV0QyxFQUFFLEVBQUVzQyxHQUFHLEVBQUVBLElBQUlULEVBQUU5QixFQUFFdUMsQ0FBQyxFQUFFckMsRUFBRUosRUFBRXlDLENBQUMsTUFBTSxDQUFDLFFBQVFDLEVBQUUsS0FBSyxJQUFJdkMsRUFBRUMsRUFBRSxPQUFPSixDQUFDLEVBQUV5QyxFQUFFLEVBQUVBLEVBQUVDLEVBQUVELElBQUlULEVBQUU5QixFQUFFdUMsQ0FBQyxFQUFFckMsRUFBRSxXQUFXSixFQUFFeUMsQ0FBQyxFQUFFLEtBQUtBLEVBQUV0QyxFQUFFc0MsSUFBSVQsRUFBRTlCLEVBQUV1QyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTyxFQUFDLENBQUMsU0FBU0UsR0FBRzVDLEVBQUVDLEVBQUUsQ0FBQyxHQUFHRCxHQUFHLEVBQUUsT0FBT3B3QixHQUFHLEdBQUdxd0IsRUFBRSxPQUFPLE9BQU9BLEVBQUUsT0FBT0QsQ0FBQyxFQUFFLFFBQVFFLEVBQUV0d0IsR0FBR3V3QixFQUFFLElBQUksQ0FBQyxHQUFHSCxFQUFFLElBQUlFLEdBQUdELEdBQUdELElBQUksRUFBRUEsR0FBRyxFQUFFLE9BQU9FLEVBQUVELEdBQUdBLEVBQUVFLElBQUlBLEdBQUcsR0FBR0YsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTNEMsR0FBRzdDLEVBQUUsQ0FBQ0EsRUFBRSxHQUFHLEVBQUVBLEVBQUUsR0FBRzRDLEdBQUc1QyxFQUFFLEVBQUVBLEVBQUUsRUFBRSxPQUFPLElBQUksRUFBRUEsRUFBRSxFQUFFdUMs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QVF3b0IsRUFBRSxFQUFFQSxFQUFFRixFQUFFLEtBQUssT0FBT0UsSUFBSUYsRUFBRSxLQUFLRSxDQUFDLEVBQUV4OEMsR0FBR3E4QyxFQUFFLE1BQU0sR0FBR0MsRUFBRSxLQUFLRSxDQUFDLENBQUMsR0FBR0gsRUFBRSxNQUFNLEdBQUdyOEMsRUFBRSxFQUFFcThDLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRUEsRUFBRSxNQUFNLEdBQUdDLEVBQUUsS0FBS0UsQ0FBQyxDQUFDLE9BQVEsU0FBUUEsRUFBRSxFQUFFQSxFQUFFRixFQUFFLEtBQUssT0FBT0UsSUFBSUgsRUFBRSxNQUFNLEdBQUdDLEVBQUUsS0FBS0UsQ0FBQyxDQUFDLEVBQUUsT0FBT0YsRUFBRSxLQUFLLENBQUMsSUFBSyxHQUFFLElBQUssR0FBRSxJQUFLLElBQUcsUUFBUUUsRUFBRSxFQUFFQSxFQUFFRixFQUFFLEtBQUssT0FBT0UsSUFBSUgsRUFBRSxNQUFNLEVBQUVDLEVBQUUsS0FBS0UsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUFLLEdBQUUsSUFBSyxHQUFFLFFBQVFBLEVBQUUsRUFBRUEsRUFBRUYsRUFBRSxLQUFLLE9BQU9FLElBQUlILEVBQUUsTUFBTSxHQUFHQyxFQUFFLEtBQUtFLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSyxHQUFFLFFBQVFBLEVBQUUsRUFBRUEsRUFBRUYsRUFBRSxLQUFLLE9BQU9FLElBQUlILEVBQUUsTUFBTSxHQUFHQyxFQUFFLEtBQUtFLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSyxHQUFFLElBQUssR0FBRUgsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLFFBQVFHLEVBQUUsRUFBRUEsRUFBRUYsRUFBRSxLQUFLLE9BQU9FLElBQUlILEVBQUUsTUFBTSxHQUFHQyxFQUFFLEtBQUtFLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSyxHQUFFLFFBQVFBLEVBQUUsRUFBRUEsRUFBRUYsRUFBRSxLQUFLLE9BQU8sRUFBRUUsSUFBSSxRQUFRQyxFQUFFd0QsR0FBRzNELEVBQUUsSUFBSUUsQ0FBQyxDQUFD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QUFJQSxFQUFFLEVBQUVBLEVBQUUsR0FBR0osRUFBRSxLQUFLLE9BQU9JLEdBQUcsRUFBRUQsRUFBRUgsRUFBRSxLQUFLSSxFQUFFLENBQUMsRUFBRUosRUFBRSxLQUFLSSxFQUFFLENBQUMsR0FBRyxHQUFHRixFQUFFd0YsR0FBR3hGLEVBQUVDLENBQUMsRUFBRUYsRUFBRSxJQUFJQyxFQUFFd0YsR0FBR3hGLEVBQUVGLEVBQUUsS0FBS0ksQ0FBQyxDQUFDLEdBQUcsTUFBTSxJQUFLLEdBQUVILEVBQUUsS0FBS0EsRUFBRSxJQUFJLFFBQVFHLEVBQUUsRUFBRUEsRUFBRUgsRUFBRUcsSUFBSUYsRUFBRXdGLEdBQUd4RixFQUFFRixFQUFFLEtBQUtJLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSyxHQUFFLElBQUssR0FBRUgsRUFBRSxLQUFLQSxFQUFFLElBQUksUUFBUUcsRUFBRSxFQUFFQSxFQUFFSCxFQUFFRyxJQUFJRixFQUFFd0YsR0FBR3hGLEVBQUVGLEVBQUUsS0FBS0ksQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUFLLEdBQUVILEVBQUUsS0FBS0EsRUFBRSxJQUFJQSxHQUFHLEVBQUUsUUFBUUcsRUFBRSxFQUFFQSxFQUFFSCxFQUFFRyxJQUFJRixFQUFFd0YsR0FBR3hGLEVBQUVGLEVBQUUsS0FBS0ksQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUFLLElBQUdILEdBQUcsRUFBRSxJQUFLLEdBQUVBLEVBQUUsS0FBS0EsRUFBRSxJQUFJLFFBQVFHLEVBQUUsRUFBRUEsRUFBRUgsRUFBRUcsSUFBSUYsRUFBRTBGLElBQUcxRixFQUFFRixFQUFFLEtBQUtJLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSyxJQUFHSCxHQUFHLEVBQUUsSUFBSyxHQUFFQSxFQUFFLEtBQUtBLEVBQUUsSUFBSSxRQUFRRyxFQUFFLEVBQUVBLEVBQUVILEVBQUVHLElBQUlGLEVBQUUwRixJQUFHMUYsRUFBRUYsRUFBRSxLQUFLSSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsT0FBT0YsQ0FBQyxDQUFDLFNBQVM0RixJQUFHOUYs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QyxDQUFDLEVBQUUsR0FBR3dDLEdBQUdBLEVBQUUsT0FBT3hDLEVBQUUsR0FBR3dDLEVBQUUsR0FBR0EsS0FBS0EsRUFBRSxHQUFHLE1BQU0sR0FBRyxHQUFHQSxHQUFHLEVBQUUsT0FBT0EsRUFBRSxFQUFFLE1BQU0sSUFBSyxNQUFLLElBQUlBLEVBQUUxQyxFQUFFLFFBQVFDLEVBQUVDLENBQUMsRUFBRSxHQUFHd0MsR0FBR0EsRUFBRSxPQUFPeEMsRUFBRSxHQUFHd0MsRUFBRSxHQUFHQSxLQUFLQSxFQUFFLEdBQUcsTUFBTSxHQUFHLEdBQUdBLEdBQUcsRUFBRSxPQUFPQSxFQUFFLEVBQUUsTUFBTSxJQUFLLEtBQUksR0FBRzFDLEVBQUUsQ0FBQ0EsRUFBRUMsRUFBRSxDQUFDQSxFQUFFRCxFQUFFQyxFQUFFLE1BQU0sR0FBRyxHQUFHRCxFQUFFQyxFQUFFLE1BQU8sR0FBRSxHQUFHRCxHQUFHQyxFQUFFLENBQUMsR0FBRyxDQUFDQyxFQUFFLE1BQU8sS0FBSSxHQUFHRixHQUFHQSxFQUFFLE1BQU8sR0FBRSxHQUFHQyxHQUFHQSxFQUFFLE1BQU0sRUFBRSxDQUFDLE1BQU0sSUFBSyxNQUFLLEdBQUdELEVBQUVDLEVBQUUsTUFBTSxHQUFHLEdBQUdELEVBQUVDLEVBQUUsTUFBTyxHQUFFLEdBQUdELEdBQUdDLEVBQUUsQ0FBQyxHQUFHLENBQUNDLEVBQUUsTUFBTyxLQUFJLEdBQUdGLEdBQUdBLEVBQUUsTUFBTyxHQUFFLEdBQUdDLEdBQUdBLEVBQUUsTUFBTSxFQUFFLENBQUMsTUFBTSxJQUFLLE1BQUssR0FBR0QsSUFBSUMsRUFBRSxPQUFPQyxFQUFFLEVBQUUsSUFBSSxNQUFNLElBQUssTUFBSyxJQUFJRixFQUFFQSxFQUFFQyxFQUFFQSxFQUFFLEdBQUdELElBQUlDLEVBQUUsQ0FBQyxHQUFHRCxFQUFFQyxFQUFFLE1BQU0sR0FBRyxHQUFHRCxFQUFFQyxFQUFFLE1BQU8sRUFBQyxDQUFDLE1BQU0sSUFBSyxPQUFNLElBQUlELEVBQUVBLEVBQUUsU0FBUyxFQUFFQyxFQUFFQSxFQUFFLFNB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QyxFQUFFdEIsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUVzQixFQUFFOUQsRUFBRThELEVBQUVyQixFQUFFSyxFQUFFZSxFQUFFckIsRUFBRSxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUVxQixFQUFFN0QsRUFBRTZELEVBQUVDLEVBQUVyQixFQUFFSyxFQUFFTixFQUFFLENBQUMsRUFBRSxHQUFHLFNBQVMsRUFBRU0sRUFBRTlDLEVBQUU4QyxFQUFFZSxFQUFFQyxFQUFFckIsRUFBRUQsRUFBRSxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUVDLEVBQUV6QyxFQUFFeUMsRUFBRUssRUFBRWUsRUFBRUMsRUFBRXRCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFc0IsRUFBRTlELEVBQUU4RCxFQUFFckIsRUFBRUssRUFBRWUsRUFBRXJCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFcUIsRUFBRTdELEVBQUU2RCxFQUFFQyxFQUFFckIsRUFBRUssRUFBRU4sRUFBRSxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUVNLEVBQUU5QyxFQUFFOEMsRUFBRWUsRUFBRUMsRUFBRXJCLEVBQUVELEVBQUUsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFQyxFQUFFekMsRUFBRXlDLEVBQUVLLEVBQUVlLEVBQUVDLEVBQUV0QixFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRXNCLEVBQUU5RCxFQUFFOEQsRUFBRXJCLEVBQUVLLEVBQUVlLEVBQUVyQixFQUFFLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRXFCLEVBQUU3RCxFQUFFNkQsRUFBRUMsRUFBRXJCLEVBQUVLLEVBQUVOLEVBQUUsRUFBRSxFQUFFLEdBQUcsVUFBVSxFQUFFTSxFQUFFOUMsRUFBRThDLEVBQUVlLEVBQUVDLEVBQUVyQixFQUFFRCxFQUFFLEVBQUUsRUFBRSxHQUFHLFVBQVUsRUFBRUMsRUFBRXpDLEVBQUV5QyxFQUFFSyxFQUFFZSxFQUFFQyxFQUFFdEIsRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUVzQixFQUFFOUQsRUFBRThELEVBQUVyQixFQUFFSyxFQUFFZSxFQUFFckIsRUFBRSxFQUFFLEVBQUUsR0FBRyxVQUFVLEVBQUVxQixFQUFFN0QsRUFBRTZELEVBQUVDLEVBQUVyQixFQUFFSyxFQUFFTixFQUFFLEVBQUUsRUFBRSxHQUFHLFVBQVUsRUFBRU0sRUFBRTlDLEVBQUU4QyxFQUFFZSxFQUFFQyxFQUFFckIsRUFBRUQsRUFBRSxFQUFFLEVBQUUsR0FBRyxVQUFVLEVBQUVDLEVBQUV4QyxFQUFFd0MsRUFBRUssRUFBRWUsRUFBRUMsRUFBRXRCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFc0IsRUFBRTdELEVBQUU2RCxFQUFFckIsRUFBRUssRUFBRWUsRUFBRXJCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFcUIsRUFBRTVELEVBQUU0RCxFQUFFQyxFQUFFckIsRUFBRUssRUFBRU4sRUFBRSxFQUFFLEVBQUUsR0FBRyxTQUFTLEVBQUVNLEVBQUU3QyxFQUFFNkMsRUFBRWUsRUFBRUMsRUFBRXJCLEVBQUVELEVBQUUsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFQyxFQUFFeEMsRUFBRXdDLEVBQUVLLEVBQUVlLEVBQUVDLEVBQUV0QixFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRXNCLEVBQUU3RCxFQUFFNkQsRUFBRXJCLEVBQUVLLEVBQUVlLEVBQUVyQixFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRXFCLEVBQUU1RCxFQUFFNEQsRUFBRUMsRUFBRXJCLEVBQUVLLEVBQUVOLEVBQUUsRUFBRSxFQUFFLEdBQUcsVUFBVSxFQUFFTSxFQUFFN0MsRUFBRTZDLEVBQUVlLEVBQUVDLEVBQUVyQixFQUFFRCxFQUFFLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRUMsRUFBRXhDLEVBQUV3QyxFQUFFSyxFQUFFZSxFQUFFQyxFQUFFdEIsRUFBRSxDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUVzQixFQUFFN0QsRUFBRTZELEVBQUVyQixFQUFFSyxFQUFFZSxFQUFFckIsRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUVxQixFQUFFNUQsRUFBRTRELEVBQUVDLEVBQUVyQixFQUFFSyxFQUFFTixFQUFFLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRU0sRUFBRTdDLEVBQUU2QyxFQUFFZSxFQUFFQyxFQUFFckIsRUFBRUQsRUFBRSxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUVDLEVBQUV4QyxFQUFFd0MsRUFBRUssRUFBRWUsRUFBRUMsRUFBRXRCLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFc0IsRUFBRTdELEVBQUU2RCxFQUFFckIsRUFBRUssRUFBRWUsRUFBRXJCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxFQUFFcUIsRUFBRTVELEVBQUU0RCxFQUFFQyxFQUFFckIsRUFBRUssRUFBRU4sRUFBRSxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUVNLEVBQUU3QyxFQUFFNkMsRUFBRWUsRUFBRUMsRUFBRXJCLEVBQUVELEVBQUUsRUFBRSxFQUFFLEdBQUcsVUFBVSxFQUFFQyxFQUFFdkMsRUFBRXVDLEVBQUVLLEVBQUVlLEVBQUVDLEVBQUV0QixFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRXNCLEVBQUU1RCxFQUFFNEQsRUFBRXJCLEVBQUVLLEVBQUVlLEVBQUVyQixFQUFFLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRXFCLEVBQUUzRCxFQUFFMkQsRUFBRUMsRUFBRXJCLEVBQUVLLEVBQUVOLEVBQUUsRUFBRSxFQUFFLEdBQUcsVUFBVSxFQUFFTSxFQUFFNUMsRUFBRTRDLEVBQUVlLEVBQUVDLEVBQUVyQixFQUFFRCxFQUFFLEVBQUUsRUFBRSxHQUFHLFVBQVUsRUFBRUMsRUFBRXZDLEVBQUV1QyxFQUFFSyxFQUFFZSxFQUFFQyxFQUFFdEIsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUVzQixFQUFFNUQsRUFBRTRELEVBQUVyQixFQUFFSyxFQUFFZSxFQUFFckIsRUFBRSxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUVxQixFQUFFM0QsRUFBRTJELEVBQUVDLEVBQUVyQixFQUFFSyxFQUFFTixFQUFFLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRU0sRUFBRTVDLEVBQUU0QyxFQUFFZSxFQUFFQyxFQUFFckIsRUFBRUQsRUFBRSxFQUFFLEVBQUUsR0FBRyxVQUFVLEVBQUVDLEVBQUV2QyxFQUFFdUMsRUFBRUssRUFBRWUsRUFBRUMsRUFBRXRCLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFc0IsRUFBRTVELEVBQUU0RCxFQUFFckIsRUFBRUssRUFBRWUsRUFBRXJCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFcUIsRUFBRTNELEVBQUUyRCxFQUFFQyxFQUFFckIsRUFBRUssRUFBRU4sRUFBRSxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUVNLEVBQUU1QyxFQUFFNEMsRUFBRWUsRUFBRUMsRUFBRXJCLEVBQUVELEVBQUUsQ0FBQyxFQUFFLEdBQUcsUUFBUSxFQUFFQyxFQUFFdkMsRUFBRXVDLEVBQUVLLEVBQUVlLEVBQUVDLEVBQUV0QixFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRXNCLEVBQUU1RCxFQUFFNEQsRUFBRXJCLEVBQUVLLEVBQUVlLEVBQUVyQixFQUFFLEVBQUUsRUFBRSxHQUFHLFVBQVUsRUFBRXFCLEVBQUUzRCxFQUFFMkQsRUFBRUMsRUFBRXJCLEVBQUVLLEVBQUVOLEVBQUUsRUFBRSxFQUFFLEdBQUcsU0FBUyxFQUFFTSxFQUFFNUMsRUFBRTRDLEVBQUVlLEVBQUVDLEVBQUVyQixFQUFFRCxFQUFFLENBQUMsRUFBRSxHQUFHLFVBQVUsRUFBRUMsRUFBRXRDLEVBQUVzQyxFQUFFSyxFQUFFZSxFQUFFQyxFQUFFdEIsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUVzQixFQUFFM0QsRUFBRTJELEVBQUVyQixFQUFFSyxFQUFFZSxFQUFFckIsRUFBRSxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUVxQixFQUFFMUQsRUFBRTBELEVBQUVDLEVBQUVyQixFQUFFSyxFQUFFTixFQUFFLEVBQUUsRUFBRSxHQUFHLFVBQVUsRUFBRU0sRUFBRTNDLEVBQUUyQyxFQUFFZSxFQUFFQyxFQUFFckIsRUFBRUQsRUFBRSxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUVDLEVBQUV0QyxFQUFFc0MsRUFBRUssRUFBRWUsRUFBRUMsRUFBRXRCLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFc0IsRUFBRTNELEVBQUUyRCxFQUFFckIsRUFBRUssRUFBRWUsRUFBRXJCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFcUIsRUFBRTFELEVBQUUwRCxFQUFFQyxFQUFFckIsRUFBRUssRUFBRU4sRUFBRSxFQUFFLEVBQUUsR0FBRyxVQUFVLEVBQUVNLEVBQUUzQyxFQUFFMkMsRUFBRWUsRUFBRUMsRUFBRXJCLEVBQUVELEVBQUUsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFQyxFQUFFdEMsRUFBRXNDLEVBQUVLLEVBQUVlLEVBQUVDLEVBQUV0QixFQUFFLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRXNCLEVBQUUzRCxFQUFFMkQsRUFBRXJCLEVBQUVLLEVBQUVlLEVBQUVyQixFQUFFLEVBQUUsRUFBRSxHQUFHLFVBQVUsRUFBRXFCLEVBQUUxRCxFQUFFMEQsRUFBRUMsRUFBRXJCLEVBQUVLLEVBQUVOLEVBQUUsQ0FBQyxFQUFFLEdBQUcsVUFBVSxFQUFFTSxFQUFFM0MsRUFBRTJDLEVBQUVlLEVBQUVDLEVBQUVyQixFQUFFRCxFQUFFLEVBQUUsRUFBRSxHQUFHLFVBQVUsRUFBRUMsRUFBRXRDLEVBQUVzQyxFQUFFSyxFQUFFZSxFQUFFQyxFQUFFdEIsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLEVBQUVzQixFQUFFM0QsRUFBRTJELEVBQUVyQixFQUFFSyxFQUFFZSxFQUFFckIsRUFBRSxFQUFFLEVBQUUsR0FBRyxVQUFVLEVBQUVxQixFQUFFMUQsRUFBRTBELEVBQUVDLEVBQUVyQixFQUFFSyxFQUFFTixFQUFFLENBQUMsRUFBRSxHQUFHLFNBQVMsRUFBRU0sRUFBRTNDLEVBQUUyQyxFQUFFZSxFQUFFQyxFQUFFckIsRUFBRUQsRUFBRSxDQUFDLEVBQUUsR0FBRyxVQUFVLEVBQUVULEVB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QUFFQSxFQUFFLEVBQUVBLEVBQUUsU0FBUyxFQUFFQSxFQUFFQyxFQUFFQyxDQUFDLEVBQUU0RCxHQUFHOUQsRUFBRSxDQUFDQyxFQUFFQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNrUCxHQUFHcFAsRUFBRUMsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU9ILEVBQUUsR0FBRyxFQUFFQSxFQUFFLEVBQUVBLEVBQUUsRUFBRUEsRUFBRSxTQUFTLEVBQUVBLEVBQUVDLEVBQUVDLEVBQUVDLENBQUMsRUFBRTJELEdBQUc5RCxFQUFFLENBQUNDLEVBQUVDLEVBQUVDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBU2tQLEdBQUdyUCxFQUFFQyxFQUFFQyxFQUFFQyxFQUFFQyxFQUFFLENBQUMsT0FBT0osRUFBRSxHQUFHLEVBQUVBLEVBQUUsRUFBRUEsRUFBRSxFQUFFQSxFQUFFLFNBQVMsRUFBRUEsRUFBRUMsRUFBRUMsRUFBRUMsRUFBRUMsQ0FBQyxFQUFFMEQsR0FBRzlELEVBQUUsQ0FBQ0MsRUFBRUMsRUFBRUMsRUFBRUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTa1AsR0FBR3RQLEVBQUVDLEVBQUVDLEVBQUVDLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPTCxFQUFFLEdBQUcsRUFBRUEsRUFBRSxFQUFFQSxFQUFFLEVBQUVBLEVBQUUsU0FBUyxFQUFFQSxFQUFFQyxFQUFFQyxFQUFFQyxFQUFFQyxFQUFFQyxDQUFDLEVBQUV5RCxHQUFHOUQsRUFBRSxDQUFDQyxFQUFFQyxFQUFFQyxFQUFFQyxFQUFFQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNrUCxHQUFHdlAsRUFBRUMsRUFBRUMsRUFBRUMsRUFBRUMsRUFBRUMsRUFBRTRCLEVBQUUsQ0FBQyxPQUFPakMsRUFBRSxHQUFHLEVBQUVBLEVBQUUsRUFBRUEsRUFBRSxFQUFFQSxFQUFFLFNBQVMsRUFBRUEsRUFBRUMsRUFBRUMsRUFBRUMsRUFBRUMsRUFBRUMsRUFBRTRCLENBQUMsRUFBRTZCLEdBQUc5RCxFQUFFLENBQUNDLEVBQUVDLEVBQUVD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QUUsSUFBSyxHQUFFLE1BQU0sQ0FBQyxFQUFFMFEsR0FBRzFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFLLEdBQUUsSUFBSUMsRUFBRUQsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUVDLEVBQUV5USxHQUFHMVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUssR0FBRSxJQUFJRSxFQUFFRixFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRUUsRUFBRUEsRUFBRXdRLEdBQUcxUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxHQUFHMFEsR0FBRzFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEdBQUcwUSxHQUFHMVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUssSUFBRyxNQUFNLENBQUMsR0FBRzBRLEdBQUcxUSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxHQUFHMFEsR0FBRzFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLE1BQU0sQ0FBQyxHQUFHMFEsR0FBRzFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzJRLEdBQUczUSxFQUFFQyxFQUFFLENBQUMsR0FBRyxPQUFPRCxHQUFHLFNBQVMsT0FBT0MsRUFBRSxPQUFPRCxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUssR0FBRSxNQUFNLENBQUMsRUFBRTJRLEdBQUczUSxFQUFFLENBQUMsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsSUFBSyxHQUFFLE1BQU0sQ0FBQyxFQUFFMFEsR0FBRzNRLEVBQUUsQ0FBQyxFQUFFQyxDQUFDLENBQUMsRUFBRSxJQUFLLEdBQUUsTUFBTSxDQUFDLEVBQUUwUSxHQUFHM1EsRUFBRSxDQUFDLEVBQUVDLENBQUMsQ0FBQyxFQUFFLElBQUssR0FBRSxNQUFNLENBQUMsRUFBRTBRLEdBQUczUSxFQUFFLENBQUMsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsSUFBSyxHQUFFLE1BQU0sQ0FBQyxFQUFFMFEsR0FBRzNRLEVBQUUsQ0FBQyxFQUFFQyxDQUFDLENBQUMsRUFBRSxJQUFLLEdBQUUsTUFBTSxDQUFDLEVBQUUwUSxHQUFHM1EsRUFBRSxDQUFDLEVBQUVDLENBQUMsQ0FBQyxFQUFFLElBQUssR0FBRSxNQUFNLENBQUMsRUFBRTBRLEdBQUczUSxFQUFFLENBQUMsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsSUFBSyxHQUFFLE1BQU0sQ0FBQyxFQUFFMFEsR0FBRzNRLEVBQUUsQ0FBQyxFQUFFQyxDQUFDLENBQUMsRUFBRSxJQUFLLEdBQUUsSUFBSUMsRUFBRUYsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUVFLEVBQUV5USxHQUFHM1EsRUFBRSxDQUFDLEVBQUVDLENBQUMsQ0FBQyxFQUFFLElBQUssR0FBRSxJQUFJRSxFQUFFSCxFQUFFLENBQUMsRUFBRUksRUFBRUosRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUVJLEVBQUVELEVBQUV3USxHQUFHM1EsRUFBRSxDQUFDLEVBQUVDLENBQUMsQ0FBQyxFQUFFLElBQUssSUFBRyxNQUFNLENBQUMsR0FBRzBRLEdBQUczUSxFQUFFLENBQUMsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxHQUFHMFEsR0FBRzNRLEVBQUUsQ0FBQyxFQUFFQyxDQUFDLENBQUMsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEdBQUcwUSxHQUFHM1EsRUFBRSxDQUFDLEVBQUVDLENBQUMsQ0FBQyxFQUFFLElBQUssSUFBRyxNQUFNLENBQUMsR0FBRzBRLEdBQUczUSxFQUFFLENBQUMsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxNQUFNLENBQUMsR0FBRzBRLEdBQUczUSxFQUFFLENBQUMsRUFBRUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMyUSxHQUFHNVEsRUFBRUMsRUFBRSxDQUFDLEdBQUcsT0FBT0QsR0FBRyxTQUFTLE9BQU9DLEVBQUUsT0FBT0QsRUFBRSxDQUFDLEVBQUUsQ0FB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QUFHdmEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUssR0FBRSxNQUFNLENBQUMsRUFBRXVhLEdBQUd2YSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSyxHQUFFLE1BQU0sQ0FBQyxFQUFFdWEsR0FBR3ZhLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFLLEdBQUUsTUFBTSxDQUFDLEVBQUV1YSxHQUFHdmEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUssR0FBRSxNQUFNLENBQUMsRUFBRXVhLEdBQUd2YSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSyxHQUFFLE1BQU0sQ0FBQyxFQUFFdWEsR0FBR3ZhLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFLLEdBQUUsTUFBTSxDQUFDLEVBQUV1YSxHQUFHdmEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUssR0FBRSxJQUFJQyxFQUFFRCxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRUMsRUFBRXNhLEdBQUd2YSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSyxHQUFFLElBQUlFLEVBQUVGLEVBQUUsQ0FBQyxFQUFFRyxFQUFFSCxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRUUsRUFBRUMsRUFBRW9hLEdBQUd2YSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxHQUFHdWEsR0FBR3ZhLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEdBQUd1YSxHQUFHdmEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUssSUFBRyxNQUFNLENBQUMsR0FBR3VhLEdBQUd2YSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxHQUFHdWEsR0FBR3ZhLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLE1BQU0sQ0FBQyxHQUFHdWEsR0FBR3ZhLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FB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QUFDLEVBQUV2a0IsRUFBRUMsRUFBRWlSLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBT0MsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFLLEdBQUUsT0FBT3ZSLEVBQUUsR0FBRzJrQixHQUFHM2tCLEVBQUUsRUFBRSxFQUFFSSxFQUFFQyxFQUFFaVIsRUFBRSxFQUFFM0MsR0FBR2dXLEdBQUcsQ0FBQyxFQUFFdmtCLEVBQUVDLEVBQUVpUixFQUFFLENBQUMsRUFBRSxJQUFLLEdBQUUsT0FBT3RSLEVBQUUsR0FBRzJrQixHQUFHM2tCLEVBQUUsRUFBRSxFQUFFSSxFQUFFQyxFQUFFaVIsRUFBRSxFQUFFM0MsR0FBR2dXLEdBQUcsQ0FBQyxFQUFFdmtCLEVBQUVDLEVBQUVpUixFQUFFLENBQUMsRUFBRSxJQUFLLEdBQUUsT0FBT3RSLEVBQUUsR0FBRzJrQixHQUFHM2tCLEVBQUUsRUFBRSxFQUFFSSxFQUFFQyxFQUFFaVIsRUFBRSxFQUFFM0MsR0FBR2dXLEdBQUcsQ0FBQyxFQUFFdmtCLEVBQUVDLEVBQUVpUixFQUFFLENBQUMsRUFBRSxJQUFLLEdBQUUsT0FBT3RSLEVBQUUsR0FBRzJrQixHQUFHM2tCLEVBQUUsRUFBRSxFQUFFSSxFQUFFQyxFQUFFaVIsRUFBRSxFQUFFM0MsR0FBR2dXLEdBQUcsQ0FBQyxFQUFFdmtCLEVBQUVDLEVBQUVpUixFQUFFLENBQUMsRUFBRSxJQUFLLEdBQUUsT0FBT3RSLEVBQUUsR0FBRzJrQixHQUFHM2tCLEVBQUUsRUFBRSxFQUFFSSxFQUFFQyxFQUFFaVIsRUFBRSxFQUFFM0MsR0FBR2dXLEdBQUcsQ0FBQyxFQUFFdmtCLEVBQUVDLEVBQUVpUixFQUFFLENBQUMsRUFBRSxJQUFLLEdBQUUsT0FBT3RSLEVBQUUsR0FBRzJrQixHQUFHM2tCLEVBQUUsRUFBRSxFQUFFSSxFQUFFQyxFQUFFaVIsRUFBRSxFQUFFM0MsR0FBR2dXLEdBQUcsQ0FBQyxFQUFFdmtCLEVBQUVDLEVBQUVpUixFQUFFLENBQUMsRUFBRSxJQUFLLEdBQUUsT0FBT3RSLEVBQUUsR0FBRzJrQixHQUFHM2tC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QyxFQUFFLElBQUksR0FBRyxFQUFFLENBQUMsRUFBRXc4QixJQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFcGlCLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUVtTyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSzR0QixFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFdnRDLEdBQUdrekIsR0FBRSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFN1EsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFeEwsR0FBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRTJkLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRXVNLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLbmdDLEVBQUUsRUFBRSxDQUFDLEVBQUUrRixHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUwa0IsSUFBRyxJQUFJLEVBQUUsQ0FBQyxFQUFFdlAsR0FBRzhtQixFQUFFLEVBQUUsQ0FBQyxFQUFFcUcsR0FBR25nQyxFQUFFLEVBQUUsQ0FBQyxFQUFFc0IsR0FBR3k2QixFQUFFLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJLEVBQUUsQ0FBQyxFQUFFLzJCLEdBQUcsSUFBSSxFQUFFLENBQUMsRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0yakIsRUFBRSxFQUFFLENBQUMsRUFBRTdrQyxFQUFHLEtBQUssRUFBRSxDQUFDLEVBQUVteEMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRXZuQixHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUVyUyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTTB1QixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU1VLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTXhtQyxDQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU02aEIsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNbVgsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNMTJCLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTTg4QyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU10QyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU03bEIsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNdXNCLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU1uUCxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNN2dDLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRTZZLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUV4SCxHQUFHdEMsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUVzWCxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTXB3QixFQUFFLEVBQUUsQ0FBQyxFQUFFc2hCLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRTZWLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNa0ksRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNcmMsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNZ1EsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNdjRCLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFc2dCLEdBQUdsYyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU1zbkIsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNdVksRUFBRSxFQUFFLENBQUMsRUFBRW5qQixHQUFHaE0sRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNbWtDLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTXNILEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTW5MLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTS9TLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUV3SixHQUFHc1IsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNM2tCLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTXpmLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTUcsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTW1pQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUxbkMsR0FBR2tPLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTXE2QixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRWhrQixHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTS9zQixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUVreUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNdi9CLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTXFZLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNOUYsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFd2QsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU04SyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUU5eUMsR0FBRzBVLENBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFKzRCLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0zSyxFQUFFLEVBQUUsQ0FBQyxFQUFFMWdCLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNc2dCLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNcEIsRUFBRSxFQUFFLENBQUMsRUFBRWhiLEdBQUd0UixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU15c0IsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNbkUsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNemlDLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNeTBDLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTXhnQixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU02SSxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRWwyQixHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUVtSixHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTXcrQixFQUFFLEVBQUUsQ0FBQyxFQUFFenBCLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFK0IsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTTJKLEVBQUUsRUFBRSxDQUFDLEVBQUVrZSxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUVwckIsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRTNHLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRXFMLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTTZvQixFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU1qbkIsRUFBRSxFQUFFLENBQUMsRUFBRSxNQUFNOHVCLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNdnRCLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTWlaLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFRCxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU14dkIsRUFBRSxFQUFFLENBQUMsRUFBRTdVLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLE1BQU0sRUFBRSxDQUFDLEVBQUUsT0FBTyxNQUFNLEVBQUUsQ0FBQyxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsRUFBRSxPQUFPLE1BQU0sRUFBRSxDQUFDLEVBQUUs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QUksZUFBZUMsSUFBSSxXQUFXQyxJQUFJLFdBQVdDLElBQUksVUFBVUMsSUFBSSxTQUFTQyxJQUFJLFVBQVVDLElBQUksUUFBUUMsSUFBSSxRQUFRQyxJQUFJLFVBQVVDLElBQUksU0FBU0MsSUFBSSxVQUFVQyxJQUFJLFFBQVFDLElBQUksU0FBU0MsSUFBSSxVQUFVQyxJQUFJLFNBQVNDLElBQUksVUFBVUMsSUFBSSxTQUFTQyxJQUFJLFVBQVVDLElBQUksYUFBYUMsSUFBSSxZQUFZQyxJQUFJLE9BQU9DLElBQUksWUFBWUMsSUFBSSxRQUFRQyxJQUFJLFVBQVVDLElBQUksWUFBWUMsSUFBSSxXQUFXQyxJQUFJLFNBQVNDLElBQUksUUFBUUMsSUFBSSxXQUFXQyxJQUFJLFdBQVdDLElBQUksU0FBU0MsSUFBSSxTQUFTQyxJQUFJLFdBQVdDLElBQUksV0FBV0MsSUFBSSxVQUFVQyxJQUFJLGVBQWVDLElBQUksY0FBY0MsSUFBSSxZQUFZQyxJQUFJLFlBQVlDLElBQUksY0FBY0MsSUFBSSxXQUFXQyxJQUFJLFVBQVVDLElBQUksYUFBYUMsSUFBSSxZQUFZQyxJQUFJLFNBQVNDLElBQUksV0FBV0MsSUFBSSxPQUFPQyxJQUFJLFVBQVVDLElBQUksVUFBVUMsSUFBSSxXQUFXQyxJQUFJLG1CQUFtQkMsSUFBSSxrQkFBa0JDLElBQUksa0JBQWtCQyxJQUFJLG1CQUFtQkMsSUFBSSxrQkFBa0JDLElBQUksbUJBQW1CQyxJQUFJLGVBQWVDLElBQUksZUFBZUMsSUFBSSxnQkFBZ0JDLElBQUksZUFBZUMsSUFBSSxpQkFBaUJDLElBQUksZ0JBQWdCQyxJQUFJLG1CQUFtQkMsSUFBSSxlQUFlQyxJQUFJLGNBQWNDLElBQUksV0FBV0MsSUFBSSxpQkFBaUJDLElBQUksZ0JBQWdCQyxJQUFJLFVBQVVDLElBQUksVUFBVUMsSUFBSSxPQUFPQyxJQUFJLFFBQVFDLElBQUksV0FBV0MsSUFBSSxZQUFZQyxJQUFJLFlBQVlDLElBQUksVUFBVUMsSUFBSSxjQUFjQyxJQUFJLGlCQUFpQkMsSUFBSSxxQkFBcUJDLElBQUks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SUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFQyxJQUFJN2lFLEdBQUc4aUUsSUFBSSxDQUFDLEVBQUUsb0NBQW9DLEVBQUVDLElBQUkvaUUsR0FBR2dqRSxJQUFJbDBGLEdBQUdtMEYsSUFBSWpsRyxHQUFHa2xHLElBQUlsbEcsR0FBR21sRyxJQUFJbjlFLEdBQUdvOUUsSUFBSSxDQUFDLEVBQUUseUJBQXlCLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRUMsSUFBSXJ3RixHQUFHc3dGLElBQUkzdUUsSUFBRzR1RSxJQUFJaDBGLEdBQUdpMEYsSUFBSWowRixHQUFHazBGLElBQUl4OEcsR0FBR3k4RyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRUMsSUFBSW5xRyxHQUFHb3FHLElBQUlwcUcsR0FBR3FxRyxJQUFJLENBQUMsRUFBRSxzQkFBc0IsRUFBRUMsSUFBSWhvRixHQUFHaW9GLElBQUlqb0YsR0FBR2tvRixJQUFJbG9GLEdBQUdtb0YsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFQyxJQUFJLENBQUMsRUFBRSxrQ0FBa0MsS0FBSyxFQUFFLEVBQUVDLElBQUksQ0FBQyxFQUFFLHlCQUF5QixFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUV0b0YsR0FBR0EsRUFBRSxFQUFFLENBQUMsRUFBRXVvRixJQUFJOXpHLEdBQUcrekcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUVDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVB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RSxTQUFTNWpHLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPd0csR0FBR3pHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPd0csR0FBR3pHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPd0csR0FBR3pHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPd0csR0FBR3pHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPd0csR0FBR3pHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPd0csR0FBR3pHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPd0csR0FBR3pHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPeUcsR0FBRzFHLEVBQUVDLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVDLEVBQUUsQ0FBQyxPQUFPRCxFQUFFLENBQUMsSUFBSyxHQUFFLEdBQUcsQ0FBQ0MsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUFLLEdBQUUsR0FBR0EsSUFBSSxFQUFFLE1BQU8sR0FBRSxNQUFNLElBQUssR0FBRSxHQUFHQSxJQUFJLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFBSyxHQUFFLEdBQUdBLElBQUksRUFBRSxNQUFPLEdBQUUsTUFBTSxRQUFRLEdBQUcsR0FBR0EsRUFBRSxNQUFPLEVBQUMsQ0FBQyxTQUFTQyxFQUFFRSxFQUFFLENBQUMsT0FBT0EsRUFBRSxDQUFDLElBQUssR0FBRSxNQUFPLEdBQUUsSUFBSyxHQUFFLE1BQU8sR0FBRSxJQUFLLEdBQUUsTUFBTyxHQUFFLElBQUssR0FBRSxNQUFPLEdBQUUsUUFBUSxNQUFPLEVBQUMsQ0FBQyxDQUFDLElBQUlELEVBQUVELEVBQUVELENBQUMsRUFBRSxPQUFPeUcsR0FBR3hHLEVBQUVGLENBQUMsRUFBRUcsQ0FBQyxDQUFDLEVBQUUsU0FBU0gsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU95RyxHQUFHMUcsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsU0FBU0YsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU95RyxHQUFHMUcsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsU0FBU0YsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU95RyxHQUFHMUcsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsU0FBU0YsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU95RyxHQUFHMUcsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsU0FBU0YsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU93RyxHQUFHekcsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsU0FBU0YsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU95RyxHQUFHMUcsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsU0FBU0YsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU95RyxHQUFHMUcsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsU0FBU0YsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU95RyxHQUFHMUcsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsU0FBU0YsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU95RyxHQUFHMUcsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsU0FBU0YsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU95RyxHQUFHMUcsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsU0FBU0YsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU95RyxHQUFHMUcsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsU0FBU0YsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU95RyxHQUFHMUcsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsU0FBU0YsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU95RyxHQUFHMUcsRUFBRUMsQ0FBQyxDQUFDLEVBQUUsU0FBU0YsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLE9BQU95RyxHQUFHMUcsRUFBRUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUkyakcsSUFBRzFsRSxJQUFJLE1BQU0sRUFBRSxTQUFTMmxFLElBQUc5akcsRUFBRSxDQUFDLFFBQVFDLEVBQUUsRUFBRUMsRUFBRTJqRyxJQUFHLE9BQU8sRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHM2pHLEVBQUVELEVBQUUsTUFBTyxHQUFFLElBQUlFLEVBQUVGLElBQUlDLEVBQUVELEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRUcsRUFBRXlqRyxJQUFHLEVBQUUxakcsQ0FBQyxFQUFFRSxFQUFFRCxFQUFFLENBQUMsRUFBRSxHQUFHSixFQUFFSSxFQUFFLENBQUMsRUFBRSxJQUFJRixFQUFFQyxFQUFFLEVBQUUsTUFBTSxDQUFDLEdBQUdFLEVBQUVMLEVBQUUsTUFBTyxHQUFFLElBQUlDLEVBQUVFLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUk0akcsSUFBRyxFQUFFLFNBQVNDLElBQUdoa0csRUFBRSxDQUFDLElBQUlDLEVBQUVELEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVDLEVB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T0MsRUFBRSxDQUFDLElBQUssSUFBRyxHQUFHLE9BQU9ELEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLFFBQVEsR0FBRyxPQUFPQSxHQUFHLFVBQVVqbUMsS0FBS2ltQyxFQUFFLE1BQU8sRUFBQyxTQUFTLElBQUlDLEVBQUUsT0FBT0EsRUFBRSxDQUFDLElBQUssSUFBRyxHQUFHLE9BQU9ELEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLElBQUssSUFBRyxHQUFHLE9BQU9BLEdBQUcsVUFBVUEsSUFBSSxHQUFHLE1BQU8sR0FBRSxNQUFNLFFBQVEsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEVBQUMsS0FBTSxRQUFPQyxFQUFFLENBQUMsSUFBSyxHQUFFLEdBQUcsT0FBT0QsR0FBRyxVQUFVLENBQUNBLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFBSyxHQUFFLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFBSyxHQUFFLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFBSyxHQUFFLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFBSyxHQUFFLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFBSyxHQUFFLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFBSyxHQUFFLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFBSyxHQUFFLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFBSyxHQUFFLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFBSyxHQUFFLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxH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QUUsT0FBTyt3QyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLFFBQVEsT0FBT0MsR0FBRyxDQUFDLElBQUkzeEMsRUFBRUQsRUFBRSxHQUFHLElBQUlDLEVBQUUsQ0FBQyxHQUFHN21DLElBQUk2bUMsRUFBRSxPQUFPQSxFQUFFLENBQUMsSUFBSyxLQUFJLE9BQU82dUMsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxJQUFLLEtBQUksT0FBT0MsSUFBSSxRQUFRLE9BQU9DLEdBQUcsQ0FBQyxPQUFPN3dDLEVBQUUsQ0FBQyxJQUFLLElBQUcsT0FBTzJzQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLFFBQVEsT0FBT0MsR0FBRyxDQUFDLENBQUMsR0FBRyxJQUFJNXVDLEVBQUUsT0FBT0EsRUFBRSxDQUFDLElBQUssSUFBRyxPQUFPMHFDLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksUUFBUSxPQUFPQyxHQUFHLENBQUMsT0FBTzFzQyxFQUFFLENBQUMsSUFBSyxHQUFFLE9BQU93b0MsSUFBSSxJQUFLLEdBQUUsT0FBT0MsSUFBSSxJQUFLLEdBQUUsT0FBT0MsSUFBSSxJQUFLLEdBQUUsT0FBT0MsSUFBSSxJQUFLLEdBQUUsT0FBT0MsSUFBSSxJQUFLLEdBQUUsT0FBT0MsSUFBSSxJQUFLLEdBQUUsT0FBT0MsSUFBSSxJQUFLLEdBQUUsT0FBT0MsSUFBSSxJQUFLLEdBQUUsT0FBT0MsSUFBSSxJQUFLLEdBQUUsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxRQUFRLE9BQU9DLEdBQUcsQ0FBQyxDQUFDLFNBQVM4NUQsR0FBR3hrRyxFQUFFLENBQUMsR0FBRyxPQUFPQSxHQUFHLFNBQVMsT0FBT0EsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFLLEdBQUUsT0FBT0EsRUFBRSxDQUFDLEVBQUUsSUFBSyxHQUFFLE9BQU9BLEVBQUUsQ0FBQyxFQUFFLElBQUssR0FBRSxPQUFPQSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSyxHQUFFLElBQUlDLEVBQUVELEVBQUUsQ0FBQyxFQUFFRSxFQUFFRCxFQUFFLENBQUMsRUFBRUUsRUFBRUYsRUFBRSxDQUFDLEVBQUVHLEVBQUVILEVBQUUsQ0FBQyxFQUFFLE9BQU9FLEdBQUdELEVBQUUyUixHQUFHaTJCLElBQUlqMkIsR0FBR3pSLEVBQUV5bkMsR0FBRyxDQUFDLEVBQUUxbkMsRUFBRTBSLEdBQUdtMkIsSUFBSW4yQixHQUFHelIsRUFBRTJuQyxHQUFHLENBQUMsRUFBRTduQyxFQUFFMlIsR0FBR3EyQixJQUFJcjJCLEdBQUd6UixFQUFFNm5DLEdBQUcsQ0FBQyxFQUFFcDJCLEdBQUd1MkIsSUFBSXYyQixHQUFHelIsRUFBRStuQyxHQUFHLENBQUMsRUFBRSxJQUFLLEdBQUUsT0FBT25vQyxFQUFFLENBQUMsRUFBRSxJQUFLLEdBQUUsSUFBSUssRUFBRUwsRUFBRSxDQUFDLEVBQUUsT0FBTzZSLEdBQUd5MkIsSUFBSXoyQixHQUFHeFIsRUFBRXdSLEdBQUd3MkIsSUFBSXJvQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFLLEdBQUUsT0FBT0EsRUFBRSxDQUFDLEVBQUUsSUFBSyxHQUFFLE9BQU9BLEVBQUUsQ0FBQyxFQUFFLElBQUssR0FBRSxPQUFPQSxFQUFFLENBQUMsRUFBRSxJQUFLLEdBQUUsT0FBT0EsRUFBRSxDQUFDLEVBQUUsSUFBSyxJQUFHLE9BQU9BLEVBQUUsQ0FBQyxFQUFFLElBQUssSUFBRyxPQUFPQSxFQUFFLENBQUMsRUFBRXVvQyxJQUFJQyxJQUFJLElBQUssSUFBRyxPQUFPeG9DLEVBQUUsQ0FBQyxFQUFFLFFBQVEsT0FBT0EsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJaUMsRUFBRWpDLEVBQUUsR0FBRyxJQUFJaUMsRUFBRSxDQUFDLEdBQUc3b0MsSUFBSTZvQyxFQUFFLE9BQU9BLEVBQUUsQ0FBQyxJQUFLLEtBQUksT0FBTzJqQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLElBQUssS0FBSSxPQUFPQyxJQUFJLFFBQVEsT0FBT0MsR0FBRyxDQUFDLE9BQU8zbEMsRUFBRSxDQUFDLElBQUssSUFBRyxPQUFPeWhDLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksSUFBSyxJQUFHLE9BQU9DLElBQUksUUFBUSxPQUFPQyxHQUFHLENBQUMsQ0FBQyxHQUFHLElBQUkxakMsRUFBRSxPQUFPQSxFQUFFLENBQUMsSUFBSyxJQUFHLE9BQU93L0IsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxJQUFLLElBQUcsT0FBT0MsSUFBSSxRQUFRLE9BQU9DLEdBQUcsQ0FBQyxPQUFPeGhDLEVBQUUsQ0FBQyxJQUFLLEdBQUUsT0FBT3M5QixJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssR0FBRSxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLElBQUssSUFBRyxPQUFPQyxJQUFJLFFBQVEsT0FBT0MsR0FBRyxDQUFDLENBQUMsU0FBU2lqRSxHQUFHemtHLEVBQUUsQ0FBQyxPQUFP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RUFBRUEsRUFBRSxDQUFDLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFLElBQUssSUFBRyxNQUFNLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQUssSUFBRyxNQUFNLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQUssSUFBRyxNQUFNLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFLElBQUssSUFBRyxNQUFNLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUVobUMsRUFBRSxFQUFFLElBQUssSUFBRyxNQUFNLENBQUMsRUFBRWdtQyxFQUFFLEVBQUUsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQUssSUFBRyxNQUFNLENBQUMsRUFBRUEsRUFBRWx2QixFQUFFLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxFQUFFa3ZCLEVBQUUsRUFBRSxFQUFFLElBQUssSUFBRyxNQUFNLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQUssSUFB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QUUsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUU0bUMsRUFBRSxFQUFFLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUVyQixFQUFFLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxFQUFFcUIsRUFBRTNSLEVBQUUsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUUyUixFQUFFLEVBQUUsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQUssSUFBRyxNQUFNLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQUssSUFBRyxNQUFNLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQUssSUFBRyxNQUFNLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFLElBQUssSUFBRyxNQUFNLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxFQUFFQSxFQUFFaG1DLEVBQUUsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUVnbUMsRUFBRXZiLEVBQUUsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUV1YixFQUFFOTFCLEVBQUUsRUFBRSxJQUFLLElBQUcsTUFBTSxDQUFDLEVBQUU4MUIsRUFBRWx2QixFQUFFLEVBQUUsSUFBSyxJQUFHLE1BQU0sQ0FBQyxFQUFFa3ZCLEVBQUV6RyxFQUFFLEVBQUUsSUFB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RSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVN1c0csSUFBR3hzRyxFQUFFQyxFQUFFLENBQUMsT0FBT0QsSUFBSUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFRCxFQUFFQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTd3NHLEdBQUd6c0csRUFBRUMsRUFBRSxDQUFDLE9BQU9ELElBQUlDLEVBQUUsRUFBRSxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFRCxFQUFFQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBU3lzRyxJQUFHMXNHLEVBQUVDLEVBQUUsQ0FBQyxPQUFPRCxJQUFJQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVELEVBQUVDLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMwc0csR0FBRzNzRyxFQUFFQyxFQUFFLENBQUMsT0FBT0QsSUFBSUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUQsRUFBRUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTMnNHLEdBQUc1c0csRUFBRUMsRUFBRSxDQUFDLE9BQU9ELElBQUlDLEVBQUUsRUFBRSxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUQsRUFBRUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUzRzRyxHQUFHN3NHLEVBQUVDLEVBQUUsQ0FBQyxPQUFPRCxJQUFJQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFRCxFQUFFQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM2c0csR0FBRzlzRyxFQUFFQyxFQUFFLENBQUMsT0FBT0QsSUFBSUMsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUQsRUFBRUMsRUFBRSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTOHNHLEdBQUcvc0csRUFBRUMsRUFBRSxDQUFDLE9BQU9ELElBQUlDLEVBQUUsRUFBRSxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFRCxFQUFFQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUytzRyxHQUFHaHRHLEVBQUVDLEVBQUUsQ0FBQyxPQUFPRCxJQUFJQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUQsRUFBRUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVNndEcsSUFBR2p0RyxFQUFFQyxFQUFFLENBQUMsT0FBT0QsSUFBSUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFRCxFQUFFQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTaXRHLElBQUdsdEcsRUFBRUMsRUFBRSxDQUFDLE9BQU9ELElBQUlDLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFRCxFQUFFQyxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBU2t0RyxJQUFHbnRHLEVBQUVDLEVBQUUsQ0FBQyxPQUFPRCxJQUFJQyxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVELEVBQUVDLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVNtdEcsR0FBR3B0RyxFQUFFQyxFQUFFLENBQUMsT0FBT0QsSUFBSUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFRCxFQUFFQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTb3RHLEdBQUdydEcsRUFBRUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUVELENBQUMsRUFBRUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTcXRHLEdBQUd0dEcsRUFBRSxDQUFDLFNBQVNDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPa3NHLEdBQUdwc0csRUFBRUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxTQUFTQSxFQUFFLENBQUMsT0FBT3FULEdBQUd0VCxFQUFFQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNxdEcsR0FBR3Z0RyxFQUFFLENBQUMsSUFBSUMsRUFBRUQsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU9DLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsU0FBU3V0RyxJQUFHeHRHLEVBQUUsQ0FBQyxJQUFJQyxFQUFFRCxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBT0MsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTd3RHLElBQUd6dEcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMwdEcsR0FBRzF0RyxFQUFFQyxFQUFFQyxFQUFFQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUVILEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRThyRyxHQUFHLENBQUMsRUFBRTlyRyxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVFLEVBQUVELEVBQUVELEVBQUUsRUFBRSxFQUFFRyxFQUFFSCxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLEVBQUVBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUzJ0RyxHQUFHM3RHLEVBQUUsQ0FBQyxPQUFPa08sR0FBRWxPLEVBQUUxTCxFQUFFLEdBQUc0WixHQUFFbE8sRUFBRTF4QyxFQUFFLEdBQUc0L0MsR0FBRWxPLEVBQUV2SyxFQUFFLEdBQUd5WSxHQUFFbE8sRUFBRXpxQyxFQUFFLEdBQUcyNEMsR0FBRWxPLEVBQUVsSixF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QUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksTUFBTSxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLE1BQU1ILEVBQUUsUUFBUSxNQUFNQyxDQUFDLEtBQU0sUUFBT0UsRUFBRSxDQUFDLElBQUssSUFBRyxJQUFLLElBQUcsTUFBTSxJQUFLLEdBQUUsSUFBSyxHQUFFLElBQUssR0FBRSxJQUFLLEdBQUUsSUFBSyxHQUFFLElBQUssR0FBRSxJQUFLLEdBQUUsSUFBSyxHQUFFLElBQUssR0FBRSxJQUFLLEdBQUUsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxNQUFNRixFQUFFLFFBQVEsTUFBTUQsQ0FBQyxDQUFDLE1BQU8sRUFBQyxDQUFDLE9BQU9DLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSyxHQUFFLEdBQUc2dEcsSUFBRzd0RyxFQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU8sR0FBRSxNQUFNRCxFQUFFLElBQUssR0FBRSxNQUFNLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLE1BQU1BLEVBQUUsUUFBUSxNQUFPLEVBQUMsQ0FBQyxDQUFDLE1BQU8sRUFBQyxDQUFDLE1BQU8sRUFBQyxDQUFDLFNBQVNndUcsR0FBR2h1RyxFQUFFQyxFQUFFLENBQUMsT0FBT3FzRyxHQUFHdHNHLEVBQUVDLENBQUMsRUFB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SSxNQUFNdHJELEVBQUUsSUFBSyxJQUFHLElBQUlJLEVBQUVtckQsSUFBSSxNQUFNdnJELEVBQUUsSUFBSyxJQUFHLElBQUlJLEVBQUVvckQsSUFBSSxNQUFNeHJELEVBQUUsSUFBSyxJQUFHLElBQUlJLEVBQUVxckQsSUFBSSxNQUFNenJELEVBQUUsSUFBSyxJQUFHLElBQUlJLEVBQUVzckQsSUFBSSxNQUFNMXJELEVBQUUsSUFBSyxJQUFHLElBQUlJLEVBQUV1ckQsSUFBSSxNQUFNM3JELEVBQUUsSUFBSyxJQUFHLElBQUlJLEVBQUV3ckQsSUFBSSxNQUFNNXJELEVBQUUsSUFBSyxJQUFHLElBQUlJLEVBQUV5ckQsSUFBSSxNQUFNN3JELEVBQUUsSUFBSyxLQUFJLElBQUlJLEVBQUUwckQsSUFBSSxNQUFNOXJELEVBQUUsSUFBSyxLQUFJLElBQUlJLEVBQUUyckQsSUFBSSxNQUFNL3JELEVBQUUsSUFBSyxLQUFJLElBQUlJLEVBQUU0ckQsSUFBSSxNQUFNaHNELEVBQUUsSUFBSyxLQUFJLElBQUlJLEVBQUU2ckQsSUFBSSxNQUFNanNELEVBQUUsSUFBSyxLQUFJLElBQUlJLEVBQUU4ckQsSUFBSSxNQUFNbHNELEVBQUUsSUFBSyxLQUFJLElBQUlJLEVBQUUrckQsSUFBSSxNQUFNbnNELEVBQUUsSUFBSyxLQUFJLElBQUlJLEVBQUVnc0QsSUFBSSxNQUFNcHNELEVBQUUsSUFBSyxLQUFJLElBQUlJLEVBQUVpc0QsSUFBSSxNQUFNcnNELEVBQUUsSUFBSyxLQUFJLElBQUlJLEVBQUVrc0QsSUFBSSxNQUFNdHNELEVBQUUsSUFBSyxLQUFJLElBQUlJLEVBQUVtc0QsSUFBSSxNQUFNdnNELEVBQUUsSUFBSyxLQUFJLElBQUlJLEVBQUVvc0QsSUFBSSxNQUFNeHNELEVBQUUsSUFBSyxLQUFJLElBQUlJLEVBQUVxc0QsSUFBSSxNQUFNenNELEVBQUUsSUFBSyxLQUFJLElBQUlJLEVBQUVzc0QsSUFBSSxNQUFNMXNELEVBQUUsSUFBSyxLQUFJLElBQUlJLEVBQUV1c0QsSUFBSSxNQUFNM3NELEVBQUUsSUFB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QUFFLENBQUMsSUFBSyxJQUFHLEdBQUcsT0FBT0QsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxJQUFHLEdBQUcsT0FBT0EsR0FBRyxVQUFVQSxJQUFJLEdBQUcsTUFBTyxHQUFFLE1BQU0sSUFBSyxLQUFJLEdBQUcsT0FBT0EsR0FBRyxVQUFVam1DLEtBQUtpbUMsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUFLLEtBQUksR0FBRyxPQUFPQSxHQUFHLFVBQVU3bUMsS0FBSzZtQyxFQUFFLE1BQU8sR0FBRSxNQUFNLElBQUssS0FBSSxHQUFHLE9BQU9BLEdBQUcsVUFBVTVSLEtBQUs0UixFQUFFLE1BQU8sR0FBRSxNQUFNLElBQUssS0FBSSxHQUFHLE9BQU9BLEdBQUcsVUFBVXRCLEtBQUtzQixFQUFFLE1BQU8sR0FBRSxNQUFNLElBQUssS0FBSSxHQUFHLE9BQU9BLEdBQUcsVUFBVXhiLEtBQUt3YixFQUFFLE1BQU8sR0FBRSxNQUFNLElBQUssS0FBSSxHQUFHLE9BQU9BLEdBQUcsVUFBVS8xQixLQUFLKzFCLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFBSyxLQUFJLEdBQUcsT0FBT0EsR0FBRyxVQUFVckUsS0FBS3FFLEVBQUUsTUFBTyxHQUFFLE1BQU0sSUFBSyxLQUFJLEdBQUcsT0FBT0EsR0FBRyxVQUFVbnZCLEtBQUttdkIsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUFLLEtBQUksR0FBRyxPQUFPQSxHQUFHLFVBQVUxRyxLQUFLMEcsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUFLLEtBQUksR0FBRyxPQUFPQSxHQUFHLFVBQVU3akQsS0FBSzZqRCxFQUFFLE1BQU8sR0FBRSxNQUFNLElBQUssS0FBSSxHQUFHLE9BQU9BLEdBQUcsVUFBVTFULEtBQUswVCxFQUFFLE1BQU8sR0FBRSxNQUFNLElBQUssS0FBSSxHQUFHLE9BQU9BLEdBQUcsVUFBVWpzQixLQUFLaXNCLEVBQUUsTUFBTyxHQUFFLE1BQU0sUUFBUSxHQUFHLE9BQU9BLEdBQUcsVUFBVXZKLElBQUl1SixFQUFFLE1BQU8sRUFBQyxLQUFNLFFBQU9DLEVBQUUsQ0FBQyxJQUFLLEdBQUUsR0FBRyxPQUFPRCxHQUFHLFVBQVUsQ0FBQ0EsRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUFLLEdBQUUsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUFLLEdBQUUsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUFLLEdBQUUsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUFLLEdBQUUsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUFLLEdBQUUsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUFLLEdBQUUsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUFLLEdBQUUsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUFLLEdBQUUsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUFLLEdBQUUsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksRUFBRSxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLElBQUksR0FBRyxNQUFPLEdBQUUsTUFBTSxJQUFLLElBQUcsR0FBRyxP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RyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsUUFBUSxNQUFPLEdBQUUsQ0FBQyxDQUFDLElBQUlGLEdBQUdELEdBQUd4ekYsQ0FB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QyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssSUFBRyxPQUFPQyxJQUFHLElBQUssS0FBSSxPQUFPQyxJQUFHLElBQUssS0FBSSxPQUFPQyxJQUFHLElBQUssS0FBSSxPQUFPQyxJQUFHLElBQUssS0FBSSxPQUFPQyxJQUFHLElBQUssS0FBSSxPQUFPQyxJQUFHLElBQUssS0FBSSxPQUFPQyxJQUFHLElBQUssS0FBSSxPQUFPQyxJQUFHLElBQUssS0FBSSxPQUFPQyxJQUFHLElBQUssS0FBSSxPQUFPQyxJQUFHLElBQUssS0FBSSxPQUFPQyxJQUFHLElBQUssS0FBSSxPQUFPQyxJQUFHLElBQUssS0FBSSxPQUFPQyxJQUFHLFFBQVEsT0FBT0MsR0FBRSxDQUFDLE9BQU96NkIsRUFBRSxDQUFDLElBQUssR0FBRSxPQUFPdXpCLElBQUcsSUFBSyxHQUFFLE9BQU9DLElBQUcsSUFBSyxHQUFFLE9BQU9DLElBQUcsSUFBSyxHQUFFLE9BQU9DLElBQUcsSUFBSyxHQUFFLE9BQU9DLElBQUcsSUFBSyxHQUFFLE9BQU9DLElBQUcsSUFBSyxHQUFFLE9BQU9DLElBQUcsSUFBSyxHQUFFLE9BQU9DLElBQUcsSUFBSyxHQUFFLE9BQU9DLElBQUcsSUFBSyxHQUFFLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9yaUIsR0FBR3VpQixJQUFHRCxHQUFFLEVBQUUsSUFBSyxJQUFHLE9BQU9FLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU96akIsR0FBRzJqQixJQUFHRCxHQUFFLEVBQUUsSUFBSyxJQUFHLE9BQU9FLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFHLE9BQU9DLElBQUcsSUFBSyxJQUFH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QUFLLEdBQUUsSUFBSUssRUFBRTlDLEVBQUUsQ0FBQyxFQUFFNkQsRUFBRTVELEVBQUU2QyxFQUFFLENBQUMsQ0FBQyxFQUFFaWdCLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRWpnQixFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFZSxDQUFDLENBQUMsRUFBRSxNQUFNLElBQUssR0FBRSxJQUFJQyxFQUFFOUQsRUFBRSxDQUFDLEVBQUU0RSxHQUFFZCxFQUFFLENBQUMsRUFBRWUsR0FBRTVFLEVBQUU2RCxFQUFFLENBQUMsQ0FBQyxFQUFFaWYsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFamYsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUVBLEVBQUUsQ0FBQyxFQUFFZSxHQUFFRCxFQUFDLENBQUMsRUFBRSxNQUFNLElBQUssR0FBRSxJQUFJRSxHQUFFOUUsRUFBRSxDQUFDLEVBQUUrRSxHQUFFOUUsRUFBRTZFLEdBQUUsQ0FBQyxDQUFDLEVBQUVpZSxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUVqZSxHQUFFLENBQUMsRUFBRUMsRUFBQyxDQUFDLEVBQUUsTUFBTSxJQUFLLEdBQUUsSUFBSWdlLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTlpQixFQUFFRCxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUFLLEdBQUUsSUFBSWlGLEdBQUVqRixFQUFFLENBQUMsRUFBRWtGLEdBQUVqRixFQUFFZ0YsR0FBRSxDQUFDLENBQUMsRUFBRThkLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRTlkLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVBLEdBQUUsQ0FBQyxFQUFFQSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUVDLEVBQUMsQ0FBQyxFQUFF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U0MsR0FBRSxFQUFFLENBQUMsT0FBT0MsSUFBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLQyxJQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBU0MsSUFBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPRixJQUFHLENBQUMsRUFBRSxDQUFDLEtBQUtHLElBQUcsU0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBU0MsR0FBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBT0osSUFBRyxDQUFDLEVBQUVLLElBQUcsRUFBRSxlQUFlLEVBQUUsRUFBRSxDQUFDLEtBQUtDLElBQUcsR0FBRyxFQUFFLEdBQUcsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDLEVBQUUsWUFBWSxlQUFlLEVBQUUsY0FBYyxDQUFDLENBQUMsU0FBU0MsSUFBRyxFQUFFLENBQUMsT0FBT0wsSUFBRyxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVNNLElBQUcsRUFBRSxDQUFDLE9BQU9ILElBQUcsQ0FBQyxFQUFFLENBQUMsS0FBS0ksSUFBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLFNBQVNDLElBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxPQUFPVixJQUFHLENBQUMsRUFBRSxJQUFJLElBQUlBLElBQUcsQ0FBQyxFQUFFLENBQUMsS0FBS1csSUFBRyxjQUFjLEVBQUUsYUFBYSxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBNkgsU0FBU0MsSUFBRyxFQUFFLEVBQUUsQ0FBQ1osSUFBRyxDQUFDLEVBQUVLLElBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sSUFBSSxJQUFJLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBa0gsU0FBU1EsSUFBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLE9BQU8sR0FBRyxTQUFTLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLElBQUksSUFB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QUFFLElBQUltRCxFQUFFLEVBQUUsU0FBUyxNQUFNLEtBQUtDLEdBQUdwRCxFQUFFLEVBQUUsUUFBUSxNQUFNQSxFQUFFLEtBQUssSUFBSSxHQUFHLE1BQU0sQ0FBQ21ELEVBQUVDLENBQUMsQ0FBQyxDQUFDLFNBQVNwQyxJQUFHLEVBQUUsQ0FBQyxJQUFJaEIsRUFBRSxJQUFJbUQsRUFBRSxFQUFFLFNBQVMsTUFBTSxLQUFLLE1BQU0sRUFBRW5ELEVBQUUsRUFBRSxRQUFRLE1BQU1BLEVBQUUsTUFBTSxJQUFJLEdBQUdtRCxDQUFDLENBQUMsQ0FBQyxTQUFTRSxJQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUV0QyxJQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsVUFBVSxLQUFLLElBQUksR0FBRyxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFNBQVN1QyxJQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUV0QyxJQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRSxVQUFVLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVN1QyxJQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUV4QyxJQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxLQUFLLElBQUksR0FBRyxNQUFNLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxDQUFDLFNBQVN5QyxJQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUV4QyxJQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsRUFBRSxXQUFXLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLFNBQVN5QyxJQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUxQyxJQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsYUFBYSxLQUFLLElBQUksR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTMkMsSUFBRyxFQUFFLENBQUMsSUFBSSxFQUFFMUMsSUFBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQUUsYUFBYSxNQUFNLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTSixJQUFHLEVB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Q0FBQyxDQUFDLENBQUMsU0FBU0csSUFBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBT0osR0FBRSxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUlDLEdBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBU0ksSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLElBQUksR0FBRyxPQUFPLEdBQUcsU0FBU0wsR0FBRSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUlNLEdBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxPQUFPUCxHQUFFLFlBQVksQ0FBQyxLQUFLLEVBQUUsT0FBT0ssSUFBRyxDQUFDLEVBQUUsUUFBUSxFQUFFLElBQUlKLEdBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBU08sSUFBRyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsT0FBT1IsR0FBRSxTQUFTLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxJQUFJQyxHQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNBLE1BQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxTQUFTLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLEVBQUUsT0FBTyxHQUFHLE9BQU8sR0FBRyxTQUFTSyxHQUFFLFVBQVVWLElBQUcsRUFBRSxDQUFDLEVBQUVVLEdBQUUsVUFBVVYsSUFBRyxFQUFFYSxHQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRTFNLEVBQUVnQixDQUFDLEVBQUUsRUFBRUMsRUFBRUQsRUFBRSxJQUFJK0ssSUFBRyxHQUFHL0ssQ0FBQyxFQUFFNkssSUFBRyxFQUFFLE9BQU9VLEdBQUUsVUFBVXRMLEVBQUUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxL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RUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFRCxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUVtQixFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUVHLEVBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFQyxFQUFHLENBQUMsRUFBRSxFQUFFLEVBQUVsQixFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUVDLEVBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRUMsR0FBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRU8sR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUVDLEdBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUVQLEdBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUVHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRTJOLEdBQUcsQ0FBQyxFQUFFLEdBQUcsRUFBRUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxFQUFFQyxHQUFHLENBQUMsTUFBTSxVQUFVLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxTQUFTLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVMsR0FBRyxRQUFRLEdBQUcsYUFBYSxHQUFHLFFBQVEsR0FB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QUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsY0FBYyxTQUFTTCxHQUFFQyxHQUFFQyxHQUFFSSxHQUFFQyxHQUFFQyxHQUFFQyxHQUFHLENBQUMsSUFBSUMsR0FBRUYsR0FBRSxPQUFPLEVBQUUsT0FBT0QsR0FBRSxDQUFDLElBQUssR0FBRSxPQUFPQyxHQUFFRSxHQUFFLENBQUMsRUFBRSxJQUFLLEdBQUUsS0FBSyxFQUFFSixHQUFFLGVBQWVFLEdBQUVFLEVBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSyxHQUFFLElBQUssR0FBRSxJQUFLLEdBQUUsSUFBSyxHQUFFLElBQUssR0FBRSxJQUFLLEdBQUUsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxLQUFLLEVBQUVGLEdBQUVFLEVBQUMsRUFBRSxNQUFNLElBQUssR0FBRSxLQUFLLEVBQUUsQ0FBQyxLQUFLLG1CQUFtQixNQUFNSixHQUFFLGFBQWFFLEdBQUVFLEVBQUMsQ0FBQyxFQUFFLE1BQU1KLEdBQUUsV0FBV0UsR0FBRUUsRUFBQyxFQUFFRixHQUFFRSxFQUFDLENBQUMsRUFBRSxJQUFJSixHQUFFLFFBQVEsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLElBQUssSUFBRyxLQUFLLEVBQUUsQ0FBQyxLQUFLLG1CQUFtQixTQUFTRSxHQUFFRSxFQUFDLEVBQUUsTUFBTUYsR0FBRUUsRUFBQyxFQUFFLElBQUlKLEdBQUUsUUFBUSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFBSyxJQUFHLEtBQUssRUFBRUEsR0FBRSxnQkFBZ0JFLEdBQUVFLEdBQUUsQ0FBQyxFQUFFRixHQUFFRSxHQUFFLENBQUMsRUFBRUYsR0FBRUUsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sSUFBSyxJQUFHLEtBQUssRUFBRSxDQUFDLEtBQUtGLEdBQUVFLEdBQUUsQ0FBQyxFQUFFLE9BQU9GLEdBQUVFLEdBQUUsQ0FBQyxFQUFFLEtBQUtGLEdBQUVFLEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUFLLElBQUcsS0FBSyxFQUFFSixHQUFFLGFBQWFFLEdBQUVFLEdBQUUsQ0FBQyxFQUFFRixHQUFFRSxHQUFFLENBQUMsRUFBRUYsR0FBRUUsR0FBRSxDQUFDLEVBQUVGLEdBQUVFLEVBQUMsRUFBRSxHQUFHLEtBQUssRUFBRSxFQUFFLE1BQU0sSUFBSyxJQUFHLEtBQUssRUFBRUosR0FBRSxhQUFhRSxHQUFFRSxHQUFFLENBQUMsRUFBRUYsR0FBRUUsR0FBRSxDQUFDLEVBQUVGLEdBQUVFLEdBQUUsQ0FBQyxFQUFFRixHQUFFRSxFQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsRUFBRSxNQUFNLElBQUssSUFBRyxLQUFLLEVBQUUsQ0FBQyxLQUFLRixHQUFFRSxHQUFFLENBQUMsRUFBRSxLQUFLRixHQUFFRSxHQUFFLENBQUMsRUFBRSxPQUFPRixHQUFFRSxHQUFFLENBQUMsRUFBRSxLQUFLRixHQUFFRSxHQUFFLENBQUMsRUFBRSxZQUFZRixHQUFFRSxHQUFFLENBQUMsRUFBRSxNQUFNSixHQUFFLFdBQVdFLEdBQUVFLEdBQUUsQ0FBQyxFQUFFRixHQUFFRSxFQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSyxJQUFHLElBQUssSUFBRyxLQUFLLEVBQUUsQ0FBQyxLQUFLRixHQUFFRSxHQUFFLENBQUMsRUFBRSxPQUFPRixHQUFFRSxHQUFFLENBQUMsRUFBRSxLQUFLRixHQUFFRSxHQUFFLENBQUMsRUFBRSxZQUFZRixHQUFFRSxHQUFFLENBQUMsRUFBRSxNQUFNSixHQUFFLFdBQVdFLEdBQUVFLEdBQUUsQ0FBQyxFQUFFRixHQUFFRSxFQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSyxJQUFHLEtBQUssRUFBRSxDQUFDLE1BQU1KLEdBQUUsV0FBV0UsR0FBRUUsR0FBRSxDQUFDLEVBQUVGLEdBQUVFLEdBQUUsQ0FBQyxDQUFDLEVBQUUsUUFBUUYsR0FBRUUsRUFBQyxDQUFDLEVBQUUsTUFBTSxJQUFLLElBQUcsSUFBSUMsR0FBR0wsR0FBRSxhQUFhRSxHQUFFRSxHQUFFLENBQUMsRUFBRUYsR0FBRUUsR0FBRSxDQUFDLEVBQUVGLEdBQUVFLEVBQUMsRUFBRUYsR0FBRUUsRUFBQyxFQUFFLEdBQUcsS0FBSyxFQUFFLEVBQUVFLEdBQUdOLEdBQUUsZUFBZSxDQUFDSyxFQUFFLEVBQUVILEdBQUVFLEdBQUUsQ0FBQyxFQUFFLEdBQUcsRUFBRUUsR0FBRyxRQUFRLEdBQUcsS0FBSyxFQUFFLENBQUMsTUFBTUosR0FBRUUsR0FBRSxDQUFDLEVBQUUsTUFBTSxRQUFRRSxHQUFHLE1BQU0sRUFBRSxFQUFFLE1BQU0sSUFBSyxJQUFHLEtBQUssRUFBRSxDQUFDLEtBQUtKLEdBQUVFLEdBQUUsQ0FBQyxFQUFFLE1BQU1KLEdBQUUsV0FBV0UsR0FBRUUsR0FBRSxDQUFDLEVBQUVGLEdBQUVFLEVBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUFLLElBQUcsSUFBSyxJQUFHLEtBQUssRUFBRUosR0FBRSxnQkFBZ0JFLEdBQUVFLEdBQUUsQ0FBQyxFQUFFRixHQUFFRSxHQUFFLENBQUMsRUFBRUYsR0FBRUUsR0FBRSxDQUFDLEVBQUVGLEdBQUVFLEdBQUUsQ0FBQyxFQUFFSixHQUFFLFdBQVdFLEdBQUVFLEdBQUUsQ0FBQyxFQUFFRixHQUFFRSxFQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLElBQUssSUFBRyxLQUFLLEVBQUUsQ0FBQyxLQUFLLG1CQUFtQixLQUFLRixHQUFFRSxHQUFFLENBQUMsRUFBRSxPQUFPRixHQUFFRSxHQUFFLENBQUMsRUFBRSxLQUFLRixHQUFFRSxHQUFFLENBQUMsRUFBRSxPQUFPLEdBQUcsTUFBTUosR0FBRSxXQUFXRSxHQUFFRSxHQUFFLENBQUMsRUFBRUYsR0FBRUUsRUFBQyxDQUFDLEVBQUUsSUFBSUosR0FBRSxRQUFRLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUFLLElBQUcsS0FBSyxFQUFFQSxHQUFFLG9CQUFvQkUsR0FBRUUsR0FBRSxDQUFDLEVBQUVGLEdBQUVFLEdBQUUsQ0FBQyxFQUFFRixHQUFFRSxFQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSxJQUFLLElBQUcsS0FBSyxFQUFFLENBQUMsS0FBS0YsR0FBRUUsR0FBRSxDQUFDLEVBQUUsT0FBT0YsR0FBRUUsR0FBRSxDQUFDLEVBQUUsS0FBS0YsR0FBRUUsR0FBRSxDQUFDLEVBQUUsTUFBTUosR0FBRSxXQUFXRSxHQUFFRSxHQUFFLENBQUMsRUFBRUYsR0FBRUUsRUFBQyxDQUFDLENBQUMsRUFBRSxNQUFNLElBQUssSUFBRyxLQUFLLEVBQUUsQ0FBQyxLQUFLLGdCQUFnQixLQUFLRixHQUFFRSxHQUFFLENBQUMsRUFBRSxPQUFPRixHQUFFRSxHQUFFLENBQUMsRUFBRSxLQUFLRixHQUFFRSxHQUFFLENBQUMsRUFBRSxJQUFJSixHQUFFLFFBQVEsS0FBSyxFQUFFLENBQUMsRUFBRSxNQUFNLElBQUssSUFBRyxLQUFLLEVBQUUsQ0FBQyxLQUFLLE9BQU8sTUFBTUUsR0FBRUUsRUFBQyxFQUFFLElBQUlKLEdBQUUsUUFBUSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFBSyxJQUFHLEtBQUssRUFBRSxDQUFDLEtBQUssV0FBVyxJQUFJQSxHQUFFLEdBQUdFLEdBQUVFLEdBQUUsQ0FBQyxDQUFDLEVBQUUsTUFBTUYsR0FBRUUsRUFBQyxFQUFFLElBQUlKLEdBQUUsUUFBUSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFBSyxJQUFHLEtBQUssRUFBRUEsR0FBRSxHQUFHRSxHQUFFRSxHQUFFLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSyxJQUFHLEtBQUssRUFBRSxDQUFDLEtBQUssZ0JBQWdCLE1BQU1GLEdBQUVFLEVBQUMsRUFBRSxTQUFTRixHQUFFRSxFQUFDLEVBQUUsSUFBSUosR0FBRSxRQUFRLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUFLLElBQUcsS0FBSyxFQUFFLENBQUMsS0FBSyxnQkFBZ0IsTUFBTSxPQUFPRSxHQUFFRSxFQUFDLENBQUMsRUFBRSxTQUFTLE9BQU9GLEdBQUVFLEVBQUMsQ0FBQyxFQUFFLElBQUlKLEdBQUUsUUFBUSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFBSyxJQUFHLEtBQUssRUFBRSxDQUFDLEtBQUssaUJBQWlCLE1BQU1FLEdBQUVFLEVBQUMsSUFBSSxPQUFPLFNBQVNGLEdBQUVFLEVBQUMsSUFBSSxPQUFPLElBQUlKLEdBQUUsUUFBUSxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFBSyxJQUFHLEtBQUssRUFBRSxDQUFDLEtBQUssbUJBQW1CLFNBQVMsT0FBTyxNQUFNLE9BQU8sSUFBSUEsR0FBRSxRQUFRLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUFLLElBQUcsS0FBSyxFQUFFLENBQUMsS0FBSyxjQUFjLFNBQVMsS0FBSyxNQUFNLEtBQUssSUFBSUEsR0FBRSxRQUFRLEtBQUssRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUFLLElBQUcsS0FBSyxFQUFFQSxHQUFFLFlBQVksR0FBR0UsR0FBRUUsRUFBQyxFQUFFLEtBQUssRUFBRSxFQUFFLE1BQU0sSUFBSyxJQUFHLEtBQUssRUFBRUosR0FBRSxZQUFZLEdBQUdFLEdBQUVFLEVBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxNQUFNLElBQUssSUFBR0YsR0FBRUUsR0FBRSxDQUFDLEVBQUUsS0FBSyxDQUFDLEtBQUtKLEdBQUUsR0FBR0UsR0FBRUUsRUFBQyxDQUFDLEVBQUUsU0FBU0YsR0FBRUUsRUFBQyxFQUFFLFVBQVVGLEdBQUVFLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUVGLEdBQUVFLEdBQUUsQ0FBQyxFQUFFLE1BQU0sSUFBSyxJQUFHLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBS0osR0FBRSxHQUFHRSxHQUFFRSxFQUFDLENBQUMsRUFBRSxTQUFTRixHQUFFRSxFQUFDLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHRixHQUFFRSxHQUFFLENBQUMsRUFBRSxLQUFLRixHQUFFRSxFQUFDLENBQUMsRUFBRSxNQUFNLElBQUssSUFBRyxJQUFLLElBQUcsS0FBSyxFQUFFLENBQUNGLEdBQUVFLEVBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUc1VCxFQUFFLEdBQUdnQixFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBR0MsRUFBRSxHQUFHQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBR29DLEVBQUUsR0FBR0MsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUd2RCxFQUFFLEdBQUdnQixFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBR0MsRUFBRSxHQUFHQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBR29DLEVBQUUsR0FBR0MsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRzVELEVBQUUsR0FBR2dCLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHQyxFQUFFLEdBQUdDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHb0MsRUFBRSxHQUFHQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUVPLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRzlDLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHQyxFQUFFLEdBQUdDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHb0MsRUFBRSxHQUFHQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUd2QyxFQUFFLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBR0MsRUFBRSxHQUFHQyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBR29DLEVBQUUsR0FBR0MsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHdkMsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUdDLEVBQUUsR0FBR0MsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUdvQyxFQUFFLEdBQUdDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHdkQsRUFBRSxHQUFHZ0IsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUdDLEVBQUUsR0FBR0MsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUdvQyxFQUFFLEdBQUdDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRThCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRVYsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHM0UsRUFBRSxHQUFHZ0IsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUdDLEVBQUUsR0FBR0MsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUdvQyxFQUFFLEdBQUdDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRW9CLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUdHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRzlELEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRTZELEVBQUVtQixDQUFDLEVBQUUsRUFBRUcsRUFBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBR0MsRUFBRyxHQUFHLEdBQUcsR0FBR2xCLEVBQUUsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHQSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFRyxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUdGLENBQUUsRUFBRSxFQUFFQyxHQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUVBLEdBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRU8sR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFTixFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHckYsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHNEYsR0FBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUczRSxFQUFFLEdBQUdDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHb0MsRUFBRSxHQUFHQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUVzQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRWxCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEdBQUdHLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxHQUFHOUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHNEYsR0FBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUczRSxFQUFFLEdBQUdDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHb0MsRUFBRSxHQUFHQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUc0QixDQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFM0IsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHeEMsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUdDLEVBQUUsR0FBR0MsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUdvQyxFQUFFLEdBQUdDLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRU8sRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBR3FCLENBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRXZCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHNUQsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHNEYsR0FBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUczRSxFQUFFLEdBQUdDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHb0MsRUFBRSxHQUFHQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBR3ZDLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHQyxFQUFFLEdBQUdDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHb0MsRUFBRSxHQUFHQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUrQixHQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBR3RGLEVBQUUsR0FBRzRGLEdBQUUsR0FBRzNFLEVBQUUsR0FBR0MsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUdvQyxFQUFFLEdBQUdDLENBQUMsQ0FBQyxFQUFFLEVBQUUrQixHQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBR3RGLEVBQUUsR0FBRzRGLEdBQUUsR0FBRzNFLEVBQUUsR0FBR0MsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUdvQyxFQUFFLEdBQUdDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHdkQsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHNEYsR0FBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUczRSxFQUFFLEdBQUdDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHb0MsRUFBRSxHQUFHQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsR0FBRyxHQUFHdkQsRUFBRSxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHNEYsR0FBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUczRSxFQUFFLEdBQUdDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHb0MsRUFBRSxHQUFHQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRThCLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFRSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFVixFQUFFbUIsRUFBRSxDQUFDLEdBQUdOLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRzFGLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHNEYsR0FBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUczRSxFQUFFLEdBQUdDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHb0MsRUFBRSxHQUFHQyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUVzQixFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUVzQixFQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEdBQUcsR0FBR0MsRUFBRyxHQUFHLEdBQUcsR0FBR2xCLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFRSxHQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUVDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUdnTyxFQUFFLEVBQUUsRUFBRWpPLEdBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUVFLEdBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRytOLEVBQUUsRUFBRSxFQUFFak8sR0FBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRUUsR0FBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFSyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRU4sRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUVFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBR0csRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLEdBQUcsR0FBRzFGLEVBQUUsR0FBR2dCLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHQyxFQUFFLEdBQUdDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHb0MsRUFBRSxHQUFHQyxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRXNDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRVAsR0FBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUd0RixFQUFFLEdBQUc0RixHQUFFLEdBQUczRSxFQUFFLEdBQUdDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHb0MsRUFBRSxHQUFHQyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFSyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFRSxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFeUIsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRVosRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHME8sRUFBRSxFQUFFLEVBQUVqTyxHQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFRSxHQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFOUIsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRThQLEdBQUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU1UCxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFNFAsR0FBRyxDQUFDLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRTlQLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsZUFBZSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxXQUFXLFNBQVMwUCxHQUFFQyxHQUFFLENBQUMsR0FBR0EsR0FBRSxZQUFZLEtBQUssTUFBTUQsRUFBQyxNQUFNLENBQUMsSUFBSUUsR0FBRSxJQUFJLE1BQU1GLEVBQUMsRUFBRSxNQUFNRSxHQUFFLEtBQUtELEdBQUVDLEVBQUMsQ0FBQyxFQUFFLE1BQU0sU0FBU0YsR0FBRSxDQUFDLElBQUlDLEdBQUUsS0FBS0MsR0FBRSxDQUFDLENBQUMsRUFBRUksR0FBRSxDQUFDLEVBQUVDLEdBQUUsQ0FBQyxJQUFJLEVBQUVDLEdBQUUsQ0FBQyxFQUFFQyxHQUFHLEtBQUssTUFBTUMsR0FBRSxHQUFHQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsR0FBRyxFQUFFQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsR0FBR1IsR0FBRSxNQUFNLEtBQUssVUFBVSxDQUFDLEVBQUVTLEdBQUUsT0FBTyxPQUFPLEtBQUssS0FBSyxFQUFFQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxRQUFRQyxNQUFNLEtBQUssR0FBRyxPQUFPLFVBQVUsZUFBZSxLQUFLLEtBQUssR0FBR0EsRUFBRSxJQUFJRCxHQUFHLEdBQUdDLEVBQUUsRUFBRSxLQUFLLEdBQUdBLEVBQUUsR0FBR0YsR0FBRSxTQUFTakIsR0FBRWtCLEdBQUcsRUFBRSxFQUFFQSxHQUFHLEdBQUcsTUFBTUQsR0FBRUMsR0FBRyxHQUFHLE9BQU8sS0FBSyxPQUFPRCxHQUFFLE9BQU8sTUFBTUEsR0FBRSxPQUFPLENBQUMsR0FBRyxJQUFJRyxHQUFHSCxHQUFFLE9BQU9U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QVNELEdBQUVDLEdBQUUsQ0FBQyxPQUFPLEtBQUssR0FBR0EsSUFBRyxLQUFLLElBQUksQ0FBQyxFQUFFLEtBQUssT0FBT0QsR0FBRSxLQUFLLE1BQU0sS0FBSyxXQUFXLEtBQUssS0FBSyxHQUFHLEtBQUssU0FBUyxLQUFLLE9BQU8sRUFBRSxLQUFLLE9BQU8sS0FBSyxRQUFRLEtBQUssTUFBTSxHQUFHLEtBQUssZUFBZSxDQUFDLFNBQVMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxXQUFXLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxZQUFZLENBQUMsRUFBRSxLQUFLLFFBQVEsU0FBUyxLQUFLLE9BQU8sTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLEtBQUssT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFVBQVUsQ0FBQyxJQUFJQSxHQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsS0FBSyxRQUFRQSxHQUFFLEtBQUssU0FBUyxLQUFLLFNBQVMsS0FBSyxPQUFPQSxHQUFFLEtBQUssU0FBU0EsR0FBRSxJQUFJQyxHQUFFRCxHQUFFLE1BQU0saUJBQWlCLEVBQUUsT0FBT0MsSUFBRyxLQUFLLFdBQVcsS0FBSyxPQUFPLGFBQWEsS0FBSyxPQUFPLGNBQWMsS0FBSyxRQUFRLFFBQVEsS0FBSyxPQUFPLE1BQU0sQ0FBQyxJQUFJLEtBQUssT0FBTyxLQUFLLE9BQU8sTUFBTSxDQUFDLEVBQUVELEVBQUMsRUFBRSxNQUFNLFNBQVNBLEdBQUUsQ0FBQyxJQUFJQyxHQUFFRCxHQUFFLE9BQU9FLEdBQUVGLEdBQUUsTUFBTSxlQUFlLEVBQUUsS0FBSyxPQUFPQSxHQUFFLEtBQUssT0FBTyxLQUFLLE9BQU8sS0FBSyxPQUFPLE9BQU8sRUFBRSxLQUFLLE9BQU8sT0FBT0MsRUFBQyxFQUFFLEtBQUssUUFBUUEsR0FBRSxJQUFJSyxHQUFFLEtBQUssTUFBTSxNQUFNLGVBQWUsRUFBRSxLQUFLLE1BQU0sS0FBSyxNQUFNLE9BQU8sRUFBRSxLQUFLLE1BQU0sT0FBTyxDQUFDLEVBQUUsS0FBSyxRQUFRLEtBQUssUUFBUSxPQUFPLEVBQUUsS0FBSyxRQUFRLE9BQU8sQ0FBQyxFQUFFSixHQUFFLE9BQU8sSUFBSSxLQUFLLFVBQVVBLEdBQUUsT0FBTyxHQUFHLElBQUlLLEdBQUUsS0FBSyxPQUFPLE1BQU0sT0FBTyxLQUFLLE9BQU8sQ0FBQyxXQUFXLEtBQUssT0FBTyxXQUFXLFVBQVUsS0FBSyxTQUFTLEVBQUUsYUFBYSxLQUFLLE9BQU8sYUFBYSxZQUFZTCxJQUFHQSxHQUFFLFNBQVNJLEdBQUUsT0FBTyxLQUFLLE9BQU8sYUFBYSxHQUFHQSxHQUFFQSxHQUFFLE9BQU9KLEdBQUUsTUFBTSxFQUFFLE9BQU9BLEdBQUUsQ0FBQyxFQUFFLE9BQU8sS0FBSyxPQUFPLGFBQWFELEVBQUMsRUFBRSxLQUFLLFFBQVEsU0FBUyxLQUFLLE9BQU8sTUFBTSxDQUFDTSxHQUFFLENBQUMsRUFBRUEsR0FBRSxDQUFDLEVBQUUsS0FBSyxPQUFPTixFQUFDLEdBQUcsS0FBSyxPQUFPLEtBQUssT0FBTyxPQUFPLElBQUksRUFBRSxLQUFLLFVBQVUsQ0FBQyxPQUFPLEtBQUssTUFBTSxHQUFHLElBQUksRUFBRSxPQUFPLFVBQVUsQ0FBQyxHQUFHLEtBQUssUUFBUSxnQkFBZ0IsS0FBSyxXQUFXLE9BQVEsUUFBTyxLQUFLLFdBQVcsMEJBQTBCLEtBQUssU0FBUyxHQUFHO0FBQUEsRUFDdHdGLEtBQUssYUFBYSxFQUFFLENBQUMsS0FBSyxHQUFHLE1BQU0sS0FBSyxLQUFLLEtBQUssUUFBUSxDQUFDLEVBQUUsT0FBTyxJQUFJLEVBQUUsS0FBSyxTQUFTRCxHQUFFLENBQUMsS0FBSyxNQUFNLEtBQUssTUFBTSxNQUFNQSxFQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsVUFBVSxDQUFDLElBQUlBLEdBQUUsS0FBSyxRQUFRLE9BQU8sRUFBRSxLQUFLLFFBQVEsT0FBTyxLQUFLLE1BQU0sTUFBTSxFQUFFLE9BQU9BLEdBQUUsT0FBTyxHQUFHLE1BQU0sSUFBSUEsR0FBRSxPQUFPLEdBQUcsRUFBRSxRQUFRLE1BQU0sRUFBRSxDQUFDLEVBQUUsY0FBYyxVQUFVLENBQUMsSUFBSUEsR0FBRSxLQUFLLE1BQU0sT0FBT0EsR0FBRSxPQUFPLEtBQUtBLElBQUcsS0FBSyxPQUFPLE9BQU8sRUFBRSxHQUFHQSxHQUFFLE1BQU0sSUFBSUEsR0FBRSxPQUFPLEVBQUUsRUFBRSxHQUFHQSxHQUFFLE9BQU8sR0FBRyxNQUFNLEtBQUssUUFBUSxNQUFNLEVBQUUsQ0FBQyxFQUFFLGFBQWEsVUFBVSxDQUFDLElBQUlBLEdBQUUsS0FBSyxVQUFVLEVBQUVDLEdBQUUsSUFBSSxNQUFNRCxHQUFFLE9BQU8sQ0FBQyxFQUFFLEtBQUssR0FBRyxFQUFFLE9BQU9BLEdBQUUsS0FBSyxjQUFjLEVBQUU7QUFBQSxFQUNqaUJDLEdBQUUsR0FBRyxFQUFFLFdBQVcsU0FBU0QsR0FBRUMsR0FBRSxDQUFDLElBQUlDLEdBQUVJLEdBQUVDLEdBQUUsR0FBRyxLQUFLLFFBQVEsa0JBQWtCQSxHQUFFLENBQUMsU0FBUyxLQUFLLFNBQVMsT0FBTyxDQUFDLFdBQVcsS0FBSyxPQUFPLFdBQVcsVUFBVSxLQUFLLFVBQVUsYUFBYSxLQUFLLE9BQU8sYUFBYSxZQUFZLEtBQUssT0FBTyxXQUFXLEVBQUUsT0FBTyxLQUFLLE9BQU8sTUFBTSxLQUFLLE1BQU0sUUFBUSxLQUFLLFFBQVEsUUFBUSxLQUFLLFFBQVEsT0FBTyxLQUFLLE9BQU8sT0FBTyxLQUFLLE9BQU8sTUFBTSxLQUFLLE1BQU0sT0FBTyxLQUFLLE9BQU8sR0FBRyxLQUFLLEdBQUcsZUFBZSxLQUFLLGVBQWUsTUFBTSxDQUFDLEVBQUUsS0FBSyxLQUFLLElBQUksRUFBRSxLQUFLLFFBQVEsU0FBU0EsR0FBRSxPQUFPLE1BQU0sS0FBSyxPQUFPLE1BQU0sTUFBTSxDQUFDLElBQUlELEdBQUVOLEdBQUUsQ0FBQyxFQUFFLE1BQU0saUJBQWlCLEVBQUVNLEtBQUksS0FBSyxVQUFVQSxHQUFFLFFBQVEsS0FBSyxPQUFPLENBQUMsV0FBVyxLQUFLLE9BQU8sVUFBVSxVQUFVLEtBQUssU0FBUyxFQUFFLGFBQWEsS0FBSyxPQUFPLFlBQVksWUFBWUEsR0FBRUEsR0FBRUEsR0FBRSxPQUFPLENBQUMsRUFBRSxPQUFPQSxHQUFFQSxHQUFFLE9BQU8sQ0FBQyxFQUFFLE1BQU0sUUFBUSxFQUFFLENBQUMsRUFBRSxPQUFPLEtBQUssT0FBTyxZQUFZTixHQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxRQUFRQSxHQUFFLENBQUMsRUFBRSxLQUFLLE9BQU9BLEdBQUUsQ0FBQyxFQUFFLEtBQUssUUFBUUEsR0FBRSxLQUFLLE9BQU8sS0FBSyxPQUFPLE9BQU8sS0FBSyxRQUFRLFNBQVMsS0FBSyxPQUFPLE1BQU0sQ0FBQyxLQUFLLE9BQU8sS0FBSyxRQUFRLEtBQUssTUFBTSxHQUFHLEtBQUssTUFBTSxHQUFHLEtBQUssV0FBVyxHQUFHLEtBQUssT0FBTyxLQUFLLE9BQU8sTUFBTUEsR0FBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssU0FBU0EsR0FBRSxDQUFDLEVBQUVFLEdBQUUsS0FBSyxjQUFjLEtBQUssS0FBSyxLQUFLLEdBQUcsS0FBS0QsR0FBRSxLQUFLLGVBQWUsS0FBSyxlQUFlLE9BQU8sQ0FBQyxDQUFDLEVBQUUsS0FBSyxNQUFNLEtBQUssU0FBUyxLQUFLLEtBQUssSUFBSUMsR0FBRSxPQUFPQSxHQUFFLEdBQUcsS0FBSyxXQUFXLENBQUMsUUFBUU0sTUFBS0QsR0FBRSxLQUFLQyxFQUFDLEVBQUVELEdBQUVDLEVBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxLQUFLLFVBQVUsQ0FBQyxHQUFHLEtBQUssS0FBSyxPQUFPLEtBQUssSUFBSSxLQUFLLFNBQVMsS0FBSyxLQUFLLElBQUksSUFBSVIsR0FBRUMsR0FBRUMsR0FBRUksR0FBRSxLQUFLLFFBQVEsS0FBSyxPQUFPLEdBQUcsS0FBSyxNQUFNLElBQUksUUFBUUMsR0FBRSxLQUFLLGNBQWMsRUFBRUMsR0FBRSxFQUFFQSxHQUFFRCxHQUFFLE9BQU9DLEtBQUksR0FBR04sR0FBRSxLQUFLLE9BQU8sTUFBTSxLQUFLLE1BQU1LLEdBQUVDLEVBQUMsQ0FBQyxDQUFDLEVBQUVOLEtBQUksQ0FBQ0QsSUFBR0MsR0FBRSxDQUFDLEVBQUUsT0FBT0QsR0FBRSxDQUFDLEVBQUUsU0FBUyxHQUFHQSxHQUFFQyxHQUFFSSxHQUFFRSxHQUFFLEtBQUssUUFBUSxnQkFBZ0IsQ0FBQyxHQUFHUixHQUFFLEtBQUssV0FBV0UsR0FBRUssR0FBRUMsRUFBQyxDQUFDLEVBQUVSLEtBQUksR0FBRyxPQUFPQSxHQUFFLEdBQUcsS0FBSyxXQUFXLENBQUNDLEdBQUUsR0FBRyxRQUFRLEtBQU0sT0FBTSxFQUFFLFNBQVMsQ0FBQyxLQUFLLFFBQVEsS0FBSyxNQUFNLE9BQU9BLElBQUdELEdBQUUsS0FBSyxXQUFXQyxHQUFFTSxHQUFFRCxFQUFDLENBQUMsRUFBRU4sS0FBSSxHQUFHQSxHQUFFLElBQUksS0FBSyxTQUFTLEdBQUcsS0FBSyxJQUFJLEtBQUssV0FBVywwQkFBMEIsS0FBSyxTQUFTLEdBQUc7QUFBQSxFQUMveUQsS0FBSyxhQUFhLEVBQUUsQ0FBQyxLQUFLLEdBQUcsTUFBTSxLQUFLLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxFQUFFLElBQUksVUFBVSxDQUFDLElBQUlDLEdBQUUsS0FBSyxLQUFLLEVBQUUsT0FBT0EsSUFBRyxLQUFLLElBQUksQ0FBQyxFQUFFLE1BQU0sU0FBU0EsR0FBRSxDQUFDLEtBQUssZUFBZSxLQUFLQSxFQUFDLENBQUMsRUFBRSxTQUFTLFVBQVUsQ0FBQyxJQUFJQSxHQUFFLEtBQUssZUFBZSxPQUFPLEVBQUUsT0FBT0EsR0FBRSxFQUFFLEtBQUssZUFBZSxJQUFJLEVBQUUsS0FBSyxlQUFlLENBQUMsQ0FBQyxFQUFFLGNBQWMsVUFBVSxDQUFDLE9BQU8sS0FBSyxlQUFlLFFBQVEsS0FBSyxlQUFlLEtBQUssZUFBZSxPQUFPLENBQUMsRUFBRSxLQUFLLFdBQVcsS0FBSyxlQUFlLEtBQUssZUFBZSxPQUFPLENBQUMsQ0FBQyxFQUFFLE1BQU0sS0FBSyxXQUFXLFFBQVEsS0FBSyxFQUFFLFNBQVMsU0FBU0EsR0FBRSxDQUFDLE9BQU9BLEdBQUUsS0FBSyxlQUFlLE9BQU8sRUFBRSxLQUFLLElBQUlBLElBQUcsQ0FBQyxFQUFFQSxJQUFHLEVBQUUsS0FBSyxlQUFlQSxFQUFDLEVBQUUsU0FBUyxFQUFFLFVBQVUsU0FBU0EsR0FBRSxDQUFDLEtBQUssTUFBTUEsRUFBQyxDQUFDLEVBQUUsZUFBZSxVQUFVLENBQUMsT0FBTyxLQUFLLGVBQWUsTUFBTSxFQUFFLFFBQVEsQ0FBQyxFQUFFLGNBQWMsU0FBU0EsR0FBRUMsR0FBRUksR0FBRUMsR0FBRSxDQUFDLFNBQVNDLEdBQUVFLEdBQUVDLEdBQUcsQ0FBQyxPQUFPVCxHQUFFLE9BQU9BLEdBQUUsT0FBTyxVQUFVUSxHQUFFUixHQUFFLE9BQU9TLEdBQUdELEVBQUMsQ0FBQyxDQUFDLElBQUlELEdBQUdGLEdBQUUsT0FBT0QsR0FBRSxDQUFDLElBQUssR0FBRSxHQUFHSixHQUFFLE9BQU8sTUFBTSxFQUFFLElBQUksUUFBUU0sR0FBRSxFQUFFLENBQUMsRUFBRSxLQUFLLE1BQU0sSUFBSSxHQUFHTixHQUFFLE9BQU8sTUFBTSxFQUFFLElBQUksTUFBTU0sR0FBRSxFQUFFLENBQUMsRUFBRSxLQUFLLE1BQU0sS0FBSyxHQUFHLEtBQUssTUFBTSxJQUFJLEVBQUVOLEdBQUUsT0FBTyxNQUFPLElBQUcsTUFBTSxJQUFLLEdBQUUsTUFBTyxJQUFHLElBQUssR0FBRSxPQUFPLEtBQUssU0FBUyxFQUFFLEdBQVMsSUFBSyxHQUFFLE9BQU8sS0FBSyxNQUFNLEtBQUssRUFBRSxHQUFTLElBQUssR0FBRSxPQUFPLEtBQUssU0FBUyxFQUFFLEtBQUssZUFBZSxLQUFLLGVBQWUsT0FBTyxDQUFDLElBQUksTUFBTSxJQUFJTSxHQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUksSUFBSyxHQUFFLE1BQU8sSUFBRyxJQUFLLEdBQUUsT0FBTyxLQUFLLFNBQVMsRUFBRSxHQUFTLElBQUssR0FBRSxNQUFPLElBQUcsSUFBSyxHQUFFLE1BQU8sSUFBRyxJQUFLLEdBQUUsTUFBTyxJQUFHLElBQUssSUFBRyxPQUFPLEtBQUssU0FBUyxFQUFFLEtBQUssTUFBTSxLQUFLLEVBQUUsR0FBUyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxPQUFPLEtBQUssU0FBUyxFQUFFLEdBQVMsSUFBSyxJQUFHLE9BQU8sS0FBSyxTQUFTLEVBQUUsR0FBUyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxLQUFLLE1BQU1OLEdBQUUsTUFBTSxFQUFFLEtBQUssU0FBUyxFQUFFLEtBQUssTUFBTSxLQUFLLEVBQUUsTUFBTSxJQUFLLElBQUcsT0FBTyxLQUFLLFNBQVMsRUFBRSxHQUFTLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTSxJQUFLLElBQUcsT0FBTyxLQUFLLFNBQVMsRUFBRSxHQUFTLElBQUssSUFBRyxPQUFPLEtBQUssU0FBUyxFQUFFLEdBQVMsSUFBSyxJQUFHLE9BQU9BLEdBQUUsT0FBT00sR0FBRSxFQUFFLENBQUMsRUFBRSxRQUFRLE9BQU8sR0FBRyxFQUFFLEdBQVMsSUFBSyxJQUFHLE9BQU9OLEdBQUUsT0FBT00sR0FBRSxFQUFFLENBQUMsRUFBRSxRQUFRLE9BQU8sR0FBRyxFQUFFLEdBQVMsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE1BQU8sSUFBRyxJQUFLLElBQUcsTUFBTyxJQUFHLElBQUssSUFBRyxNQUFPLElBQUcsSUFBSyxJQUFHLE9BQU9OLEdBQUUs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NmtFVSxJQUFHLENBQUMsRUFBRSxJQUFJeUcsT0FBTUQsSUFBRyxPQUFPLFVBQVUsZUFBZSxLQUFLQSxJQUFHQyxHQUFFLElBQUl6RyxJQUFHeUcsR0FBRSxFQUFFRCxJQUFHQyxHQUFFLEdBQXlOQyxJQUFHLENBQUMsT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLFNBQVMsT0FBTyxTQUFTLEdBQUcsU0FBUyxJQUFJLFNBQVMsSUFBSSxlQUFlLE1BQU0sT0FBTyxNQUFNLE9BQU8sTUFBTSxPQUFPLElBQUksU0FBUyxJQUFJLFNBQVMsTUFBTSxPQUFPLE1BQU0sT0FBTyxHQUFHLFNBQVMsSUFBSSxZQUFZLElBQUksWUFBWSxPQUFPLE9BQU8sT0FBTyxPQUFPLFFBQVEsU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxJQUFJLElBQUksSUFBSSxJQUFJLE9BQU8sU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxTQUFTLFNBQVMsS0FBSyxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxNQUFNLE9BQU8sUUFBUSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLEtBQUssWUFBWSxPQUFPLFNBQVMsR0FBRyxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLEtBQUssSUFBSSxjQUFjLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxNQUFNLE9BQU8sTUFBTSxPQUFPLEtBQUssWUFBWSxLQUFLLFlBQVksT0FBTyxTQUFTLElBQUksSUFBSSxNQUFNLFNBQVMsUUFBUSxTQUFTLE9BQU8sT0FBTyxPQUFPLE9BQU8sS0FBSyxPQUFPLEtBQUssT0FBTyxTQUFTLFNBQVMsTUFBTSxTQUFTLFNBQVMsU0FBUyxZQUFZLFNBQVMsVUFBVSxTQUFTLFFBQVEsU0FBUyxVQUFVLFNBQVMsVUFBVSxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxTQUFTLFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsV0FBVyxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLFFBQVEsU0FBUyxJQUFJLFlBQVksSUFBSSxZQUFZLE9BQU8sU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxTQUFTLFNBQVMsVUFBVSxTQUFTLFNBQVMsU0FBUyxRQUFRLFNBQVMsZ0JBQWdCLFNBQVMsY0FBYyxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxhQUFhLFNBQVMsWUFBWSxTQUFTLGNBQWMsU0FBUyxrQkFBa0IsU0FBUyxrQkFBa0IsU0FBUyxtQkFBbUIsU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLElBQUksVUFBVSxRQUFRLGVBQWUsS0FBSyxTQUFTLEtBQUssU0FBUyxLQUFLLFlBQVksS0FBSyxZQUFZLElBQUksU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxPQUFPLEtBQUssWUFBWSxLQUFLLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssS0FBSyxTQUFTLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLHFCQUFxQixTQUFTLEtBQUssZUFBZSxNQUFNLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLE9BQU8sT0FBTyxPQUFPLE1BQU0sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxNQUFNLE9BQU8sUUFBUSxPQUFPLFFBQVEsU0FBUyxLQUFLLE9BQU8sVUFBVSxPQUFPLFVBQVUsT0FBTyxJQUFJLFlBQVksSUFBSSxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLFVBQVUsU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsZ0JBQWdCLFNBQVMsaUJBQWlCLFNBQVMsV0FBVyxTQUFTLFlBQVksU0FBUyxZQUFZLFNBQVMsVUFBVSxTQUFTLFNBQVMsT0FBTyxTQUFTLFNBQVMsWUFBWSxTQUFTLFdBQVcsU0FBUyxZQUFZLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMseUJBQXlCLFNBQVMsc0JBQXNCLFNBQVMsZ0JBQWdCLFNBQVMsTUFBTSxTQUFTLFNBQVMsU0FBUyxNQUFNLElBQUksTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsUUFBUSxTQUFTLE1BQU0sSUFBSSxPQUFPLElBQUksS0FBSyxTQUFTLE9BQU8sU0FBUyxXQUFXLFNBQVMsVUFBVSxTQUFTLEtBQUssU0FBUyxRQUFRLFNBQVMsVUFBVSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsZ0JBQWdCLFNBQVMsS0FBSyxZQUFZLEtBQUssU0FBUyxPQUFPLFNBQVMsVUFBVSxTQUFTLEtBQUssT0FBTyxLQUFLLE9BQU8sT0FBTyxTQUFTLGdDQUFnQyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssWUFBWSxLQUFLLFlBQVksS0FBSyxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLEtBQUssZUFBZSxPQUFPLFNBQVMsUUFBUSxTQUFTLFlBQVksU0FBUyxZQUFZLFNBQVMsU0FBUyxTQUFTLFdBQVcsU0FBUyxPQUFPLE9BQU8sZUFBZSxTQUFTLGdCQUFnQixTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsU0FBUyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxHQUFHLFNBQVMsR0FBRyxTQUFTLFNBQVMsU0FBUyxRQUFRLFNBQVMsSUFBSSxPQUFPLElBQUksU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsSUFBSSxZQUFZLElBQUksWUFBWSxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxpQkFBaUIsT0FBTyxlQUFlLFNBQVMsdUJBQXVCLFNBQVMsaUJBQWlCLElBQUksaUJBQWlCLFNBQVMsS0FBSyxTQUFTLFFBQVEsU0FBUyxRQUFRLFNBQVMsWUFBWSxTQUFTLE1BQU0sU0FBUyxJQUFJLE9BQU8sY0FBYyxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsSUFBSSxPQUFPLE9BQU8sT0FBTyxjQUFjLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLElBQUksS0FBSyxZQUFZLEtBQUssWUFBWSxJQUFJLE9BQU8sSUFBSSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsUUFBUSxTQUFTLFVBQVUsU0FBUyxlQUFlLFNBQVMsc0JBQXNCLFNBQVMsVUFBVSxPQUFPLGdCQUFnQixTQUFTLGdCQUFnQixTQUFTLHFCQUFxQixTQUFTLGNBQWMsU0FBUyxvQkFBb0IsU0FBUyx5QkFBeUIsU0FBUyxxQkFBcUIsU0FBUyxpQkFBaUIsU0FBUyxlQUFlLFNBQVMsY0FBYyxTQUFTLGtCQUFrQixTQUFTLGtCQUFrQixTQUFTLGFBQWEsU0FBUyxVQUFVLFNBQVMsVUFBVSxTQUFTLFVBQVUsU0FBUyxpQkFBaUIsU0FBUyxVQUFVLFNBQVMsZUFBZSxTQUFTLGdCQUFnQixTQUFTLGlCQUFpQixTQUFTLG9CQUFvQixTQUFTLGtCQUFrQixTQUFTLGtCQUFrQixTQUFTLGVBQWUsU0FBUyxtQkFBbUIsU0FBUyxtQkFBbUIsU0FBUyxnQkFBZ0IsU0FBUyxhQUFhLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLEtBQUssWUFBWSxLQUFLLFlBQVksS0FBSyxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sT0FBTyxNQUFNLE9BQU8sS0FBSyxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxHQUFHLFNBQVMsTUFBTSxTQUFTLElBQUksWUFBWSxJQUFJLFlBQVksR0FBRyxTQUFTLE9BQU8sT0FBTyxPQUFPLE9BQU8sSUFBSSxTQUFTLE9BQU8sU0FBUyxHQUFHLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsaUJBQWlCLFNBQVMsT0FBTyxTQUFTLHFCQUFxQixTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLEtBQUssWUFBWSxLQUFLLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsV0FBVyxTQUFTLFlBQVksU0FBUyxNQUFNLFNBQVMsT0FBTyxJQUFJLFdBQVcsU0FBUyxPQUFPLFNBQVMsWUFBWSxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsU0FBUyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLElBQUksT0FBTyxJQUFJLE9BQU8sS0FBSyxPQUFPLEtBQUssT0FBTyxLQUFLLFNBQVMsS0FBSyxJQUFJLE1BQU0sU0FBUyxPQUFPLFNBQVMsWUFBWSxTQUFTLGFBQWEsU0FBUyxhQUFhLFNBQVMsY0FBYyxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLElBQUksWUFBWSxJQUFJLFlBQVksTUFBTSxTQUFTLGtCQUFrQixTQUFTLHNCQUFzQixTQUFTLE1BQU0sS0FBSyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsS0FBSyxZQUFZLEtBQUssWUFBWSxPQUFPLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsV0FBVyxTQUFTLFNBQVMsU0FBUyxPQUFPLE9BQU8sT0FBTyxTQUFTLE9BQU8sT0FBTyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sT0FBTyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssWUFBWSxLQUFLLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsR0FBRyxTQUFTLEdBQUcsU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsU0FBUyxTQUFTLE1BQU0sU0FBUyxJQUFJLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxTQUFTLFNBQVMsS0FBSyxlQUFlLE9BQU8sU0FBUyxJQUFJLFlBQVksSUFBSSxZQUFZLEdBQUcsU0FBUyxHQUFHLFNBQVMsSUFBSSxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLElBQUksU0FBUyxHQUFHLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsU0FBUyxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLEtBQUssWUFBWSxNQUFNLElBQUksYUFBYSxTQUFTLGlCQUFpQixTQUFTLGlCQUFpQixTQUFTLGVBQWUsU0FBUyxZQUFZLFNBQVMsa0JBQWtCLFNBQVMsYUFBYSxTQUFTLEtBQUssWUFBWSxLQUFLLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxVQUFVLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxVQUFVLFNBQVMsV0FBVyxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsVUFBVSxlQUFlLEtBQUssZUFBZSxNQUFNLFNBQVMsT0FBTyxTQUFTLEtBQUssT0FBTyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsSUFBSSxJQUFJLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxVQUFVLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxJQUFJLFlBQVksSUFBSSxTQUFTLGFBQWEsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsY0FBYyxTQUFTLGVBQWUsU0FBUyxLQUFLLFlBQVksS0FBSyxTQUFTLE9BQU8sU0FBUyxlQUFlLFNBQVMsS0FBSyxZQUFZLEtBQUssU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxhQUFhLFNBQVMsVUFBVSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxPQUFPLE9BQU8sT0FBTyxHQUFHLFNBQVMsTUFBTSxPQUFPLE1BQU0sT0FBTyxJQUFJLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLE1BQU0sT0FBTyxJQUFJLFNBQVMsSUFBSSxZQUFZLElBQUksU0FBUyxPQUFPLE9BQU8sT0FBTyxPQUFPLEdBQUcsU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxXQUFXLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsR0FBRyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxHQUFHLFNBQVMsTUFBTSxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsYUFBYSxTQUFTLFNBQVMsU0FBUyxRQUFRLFNBQVMsZUFBZSxTQUFTLGVBQWUsU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLEtBQUssWUFBWSxLQUFLLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxPQUFPLE9BQU8sS0FBSyxZQUFZLEtBQUssU0FBUyxLQUFLLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxHQUFHLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLE1BQU0sU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLElBQUksWUFBWSxJQUFJLFlBQVksTUFBTSxTQUFTLEtBQUssWUFBWSxLQUFLLFlBQVksS0FBSyxZQUFZLEtBQUssWUFBWSxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLElBQUksWUFBWSxJQUFJLFlBQVksT0FBTyxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxLQUFLLFlBQVksS0FBSyxZQUFZLEtBQUssWUFBWSxLQUFLLFlBQVksTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsV0FBVyxTQUFTLE1BQU0sT0FBTyxNQUFNLFNBQVMsUUFBUSxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxNQUFNLGVBQWUsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxJQUFJLE9BQU8sSUFBSSxNQUFNLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLEtBQUssSUFBSSxJQUFJLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxTQUFTLFNBQVMsS0FBSyxTQUFTLEdBQUcsU0FBUyxHQUFHLFNBQVMsaUJBQWlCLFNBQVMsYUFBYSxTQUFTLFVBQVUsU0FBUyxVQUFVLFNBQVMsVUFBVSxTQUFTLG9CQUFvQixTQUFTLGNBQWMsU0FBUyxZQUFZLFNBQVMsa0JBQWtCLFNBQVMsa0JBQWtCLFNBQVMsa0JBQWtCLFNBQVMsZUFBZSxTQUFTLFVBQVUsU0FBUyxnQkFBZ0IsU0FBUyxjQUFjLFNBQVMsZUFBZSxTQUFTLGVBQWUsU0FBUyxlQUFlLFNBQVMsZUFBZSxTQUFTLGdCQUFnQixTQUFTLGtCQUFrQixTQUFTLG9CQUFvQixTQUFTLGdCQUFnQixTQUFTLGFBQWEsU0FBUyxRQUFRLFNBQVMsY0FBYyxTQUFTLGVBQWUsU0FBUyxnQkFBZ0IsU0FBUyxhQUFhLFNBQVMsa0JBQWtCLFNBQVMsaUJBQWlCLFNBQVMsZ0JBQWdCLFNBQVMsZ0JBQWdCLFNBQVMsYUFBYSxTQUFTLGNBQWMsU0FBUyxXQUFXLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsU0FBUyxTQUFTLEtBQUssZUFBZSxPQUFPLFNBQVMsV0FBVyxTQUFTLFFBQVEsU0FBUyxVQUFVLFNBQVMsV0FBVyxTQUFTLGlCQUFpQixTQUFTLGNBQWMsU0FBUyxZQUFZLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxRQUFRLFNBQVMsZUFBZSxTQUFTLFVBQVUsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLElBQUksWUFBWSxJQUFJLFlBQVksR0FBRyxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLEdBQUcsU0FBUyxHQUFHLFNBQVMsU0FBUyxTQUFTLFdBQVcsU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsV0FBVyxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsU0FBUyxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsY0FBYyxTQUFTLGNBQWMsU0FBUyxjQUFjLFNBQVMsbUJBQW1CLFNBQVMsbUJBQW1CLFNBQVMsbUJBQW1CLFNBQVMsV0FBVyxTQUFTLGVBQWUsU0FBUyxlQUFlLFNBQVMsZUFBZSxTQUFTLGNBQWMsU0FBUyxlQUFlLFNBQVMsTUFBTSxTQUFTLEtBQUssWUFBWSxLQUFLLFlBQVksT0FBTyxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsT0FBTyxJQUFJLGVBQWUsU0FBUyxnQkFBZ0IsU0FBUyxJQUFJLFNBQVMsUUFBUSxTQUFTLEtBQUssU0FBUyxLQUFLLElBQUksT0FBTyxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLFlBQVksS0FBSyxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxJQUFJLE1BQU0sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxRQUFRLFNBQVMsVUFBVSxlQUFlLEtBQUssZUFBZSxLQUFLLE9BQU8sS0FBSyxTQUFTLEtBQUssU0FBUyxRQUFRLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsV0FBVyxTQUFTLFdBQVcsU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsY0FBYyxTQUFTLFlBQVksU0FBUyxVQUFVLFNBQVMsSUFBSSxZQUFZLElBQUksWUFBWSxJQUFJLFNBQVMsTUFBTSxPQUFPLE9BQU8sSUFBSSxPQUFPLFNBQVMsSUFBSSxTQUFTLE9BQU8sT0FBTyxPQUFPLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsVUFBVSxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxLQUFLLFlBQVksS0FBSyxZQUFZLEdBQUcsU0FBUyxLQUFLLFlBQVksS0FBSyxTQUFTLE9BQU8sU0FBUyxHQUFHLFNBQVMsR0FBRyxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxlQUFlLElBQUksU0FBUyxLQUFLLGVBQWUsTUFBTSxlQUFlLE1BQU0sU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsS0FBSyxPQUFPLE1BQU0sZUFBZSxPQUFPLGVBQWUsS0FBSyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsU0FBUyxlQUFlLEtBQUssU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsR0FBRyxTQUFTLE1BQU0sZUFBZSxvQkFBb0IsU0FBUyxtQkFBbUIsU0FBUyxrQkFBa0IsU0FBUyxzQkFBc0IsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sZUFBZSxxQkFBcUIsU0FBUyxlQUFlLFNBQVMsUUFBUTtBQUFBLEVBQ3YrNEIsT0FBTyxTQUFTLFFBQVEsU0FBUyxJQUFJLFlBQVksSUFBSSxZQUFZLElBQUksZUFBZSxJQUFJLFNBQVMsS0FBSyxTQUFTLE1BQU0sZUFBZSxVQUFVLGVBQWUsS0FBSyxlQUFlLElBQUksZUFBZSxNQUFNLFNBQVMsSUFBSSxlQUFlLElBQUksU0FBUyxLQUFLLFNBQVMsS0FBSyxlQUFlLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEdBQUcsU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLElBQUksZUFBZSxJQUFJLFNBQVMsV0FBVyxTQUFTLFdBQVcsU0FBUyxnQkFBZ0IsU0FBUyxnQkFBZ0IsU0FBUyxLQUFLLFNBQVMsTUFBTSxlQUFlLFVBQVUsZUFBZSxLQUFLLGVBQWUsTUFBTSxTQUFTLElBQUksZUFBZSxNQUFNLFNBQVMsSUFBSSxlQUFlLElBQUksU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLEtBQUssZUFBZSxLQUFLLFNBQVMsUUFBUSxTQUFTLGlCQUFpQixPQUFPLEtBQUssWUFBWSxLQUFLLFNBQVMsSUFBSSxTQUFTLElBQUksT0FBTyxhQUFhLFNBQVMsVUFBVSxTQUFTLHFCQUFxQixTQUFTLFdBQVcsU0FBUyxTQUFTLFNBQVMsY0FBYyxlQUFlLFVBQVUsU0FBUyxXQUFXLFNBQVMsZ0JBQWdCLFNBQVMsb0JBQW9CLGVBQWUsa0JBQWtCLGVBQWUsZUFBZSxTQUFTLHFCQUFxQixlQUFlLGdCQUFnQixTQUFTLGdCQUFnQixlQUFlLGFBQWEsZUFBZSxNQUFNLFNBQVMsU0FBUyxlQUFlLE9BQU8sZUFBZSxRQUFRLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxtQkFBbUIsZUFBZSxnQkFBZ0IsU0FBUyxxQkFBcUIsU0FBUyxRQUFRLFNBQVMsYUFBYSxTQUFTLGVBQWUsU0FBUyxZQUFZLGVBQWUsa0JBQWtCLGVBQWUsYUFBYSxTQUFTLHdCQUF3QixlQUFlLGtCQUFrQixlQUFlLE1BQU0sU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxZQUFZLFNBQVMsaUJBQWlCLGVBQWUsc0JBQXNCLFNBQVMsa0JBQWtCLFNBQVMsb0JBQW9CLGVBQWUsaUJBQWlCLFNBQVMsc0JBQXNCLFNBQVMsZ0JBQWdCLGVBQWUscUJBQXFCLFNBQVMsa0JBQWtCLGVBQWUsdUJBQXVCLFNBQVMsVUFBVSxlQUFlLGVBQWUsU0FBUyxZQUFZLFNBQVMsaUJBQWlCLGVBQWUsc0JBQXNCLFNBQVMsaUJBQWlCLGVBQWUsWUFBWSxlQUFlLGlCQUFpQixTQUFTLFNBQVMsU0FBUyxjQUFjLFNBQVMsa0JBQWtCLFNBQVMsY0FBYyxTQUFTLGVBQWUsU0FBUyxVQUFVLFNBQVMsS0FBSyxTQUFTLE9BQU8sZUFBZSxNQUFNLGVBQWUsUUFBUSxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLFFBQVEsZUFBZSxLQUFLLGVBQWUsT0FBTyxlQUFlLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxlQUFlLFlBQVksU0FBUyxZQUFZLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsT0FBTyxTQUFTLEtBQUssZUFBZSxLQUFLLFlBQVksS0FBSyxZQUFZLFVBQVUsU0FBUyxlQUFlLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLEtBQUssU0FBUyxNQUFNLGVBQWUsTUFBTSxTQUFTLFFBQVEsZUFBZSxVQUFVLFNBQVMsV0FBVyxlQUFlLE1BQU0sU0FBUyxRQUFRLGVBQWUsS0FBSyxTQUFTLE1BQU0sZUFBZSxNQUFNLFNBQVMsUUFBUSxlQUFlLFVBQVUsU0FBUyxXQUFXLGVBQWUsS0FBSyxTQUFTLE9BQU8sT0FBTyxPQUFPLE9BQU8sS0FBSyxTQUFTLGNBQWMsU0FBUyxnQkFBZ0IsU0FBUyxlQUFlLFNBQVMsaUJBQWlCLFNBQVMsR0FBRyxTQUFTLEdBQUcsU0FBUyxJQUFJLElBQUksT0FBTyxTQUFTLE1BQU0sU0FBUyxLQUFLLGVBQWUsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLEtBQUssZUFBZSxLQUFLLFVBQVUsT0FBTyxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsS0FBSyxlQUFlLEtBQUssVUFBVSxRQUFRLGVBQWUsT0FBTyxTQUFTLFFBQVEsZUFBZSxNQUFNLGVBQWUsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxPQUFPLE9BQU8sT0FBTyxPQUFPLEtBQUssU0FBUyxNQUFNLE9BQU8sTUFBTSxPQUFPLEtBQUssU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLElBQUksWUFBWSxJQUFJLFlBQVksS0FBSyxTQUFTLE9BQU8sT0FBTyxPQUFPLE9BQU8sSUFBSSxTQUFTLE1BQU0sU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxJQUFJLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxRQUFRLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxLQUFLLFlBQVksS0FBSyxZQUFZLEtBQUssU0FBUyxxQkFBcUIsU0FBUyxlQUFlLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsR0FBRyxTQUFTLEdBQUcsU0FBUyxJQUFJLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxLQUFLLE9BQU8sS0FBSyxPQUFPLE9BQU8sU0FBUyxLQUFLLFNBQVMsUUFBUSxTQUFTLElBQUksU0FBUyxHQUFHLFNBQVMsS0FBSyxZQUFZLEtBQUssU0FBUyxPQUFPLE9BQU8sT0FBTyxPQUFPLEtBQUssU0FBUyxPQUFPLE9BQU8sT0FBTyxPQUFPLFNBQVMsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLEtBQUssT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLFFBQVEsU0FBUyxVQUFVLFNBQVMsWUFBWSxTQUFTLGdCQUFnQixTQUFTLEtBQUssT0FBTyxTQUFTLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLE9BQU8sSUFBSSxPQUFPLElBQUksT0FBTyxTQUFTLEtBQUssU0FBUyxRQUFRLFNBQVMsSUFBSSxZQUFZLElBQUksWUFBWSxJQUFJLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLEdBQUcsU0FBUyxHQUFHLFNBQVMsVUFBVSxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxTQUFTLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxLQUFLLElBQUksT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsVUFBVSxPQUFPLE9BQU8sT0FBTyxRQUFRLFNBQVMsUUFBUSxTQUFTLEdBQUcsT0FBTyxjQUFjLFNBQVMsU0FBUyxTQUFTLEtBQUssWUFBWSxLQUFLLFNBQVMsTUFBTSxPQUFPLEtBQUssU0FBUyxHQUFHLFNBQVMsR0FBRyxTQUFTLE1BQU0sU0FBUyxXQUFXLFNBQVMsS0FBSyxTQUFTLFlBQVksU0FBUyxTQUFTLFNBQVMsY0FBYyxTQUFTLG1CQUFtQixTQUFTLGNBQWMsU0FBUyxPQUFPLFNBQVMsWUFBWSxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxRQUFRLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLFFBQVEsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxLQUFLLFNBQVMsYUFBYSxTQUFTLFdBQVcsU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLFlBQVksS0FBSyxZQUFZLElBQUksU0FBUyxJQUFJLFNBQVMsT0FBTyxTQUFTLElBQUksWUFBWSxJQUFJLFlBQVksS0FBSyxTQUFTLEtBQUssWUFBWSxLQUFLLFNBQVMsT0FBTyxTQUFTLEtBQUssWUFBWSxLQUFLLFlBQVksWUFBWSxTQUFTLFFBQVEsU0FBUyxNQUFNLElBQUksUUFBUSxTQUFTLEtBQUssSUFBSSxLQUFLLElBQUksTUFBTSxTQUFTLEtBQUssZUFBZSxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxNQUFNLE9BQU8sT0FBTyxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsVUFBVSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxPQUFPLElBQUksT0FBTyxJQUFJLE1BQU0sU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsS0FBSyxJQUFJLElBQUksU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsR0FBRyxTQUFTLEtBQUssU0FBUyxJQUFJLE9BQU8sSUFBSSxPQUFPLGVBQWUsU0FBUyxtQkFBbUIsU0FBUyxxQkFBcUIsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLElBQUksWUFBWSxJQUFJLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLGtCQUFrQixTQUFTLGNBQWMsU0FBUyxXQUFXLFNBQVMsV0FBVyxTQUFTLFdBQVcsU0FBUyxvQkFBb0IsU0FBUyxlQUFlLFNBQVMsYUFBYSxTQUFTLG1CQUFtQixTQUFTLG1CQUFtQixTQUFTLG1CQUFtQixTQUFTLGdCQUFnQixTQUFTLFdBQVcsU0FBUyxpQkFBaUIsU0FBUyxlQUFlLFNBQVMsZ0JBQWdCLFNBQVMsa0JBQWtCLFNBQVMsaUJBQWlCLFNBQVMsZ0JBQWdCLFNBQVMsY0FBYyxTQUFTLFNBQVMsU0FBUyxlQUFlLFNBQVMsZ0JBQWdCLFNBQVMsaUJBQWlCLFNBQVMsY0FBYyxTQUFTLG1CQUFtQixTQUFTLGtCQUFrQixTQUFTLGlCQUFpQixTQUFTLGlCQUFpQixTQUFTLGNBQWMsU0FBUyxlQUFlLFNBQVMsWUFBWSxTQUFTLEtBQUssU0FBUyxhQUFhLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxJQUFJLFNBQVMsV0FBVyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssWUFBWSxLQUFLLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxhQUFhLFNBQVMsS0FBSyxJQUFJLE9BQU8sU0FBUyxTQUFTLFNBQVMsTUFBTSxTQUFTLFlBQVksU0FBUyxPQUFPLFNBQVMsS0FBSyxZQUFZLEtBQUssU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLEtBQUssSUFBSSxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsU0FBUyxTQUFTLFlBQVksU0FBUyxRQUFRLFNBQVMsR0FBRyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLEdBQUcsU0FBUyxHQUFHLFNBQVMsTUFBTSxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsS0FBSyxPQUFPLEtBQUssSUFBSSxPQUFPLFNBQVMsU0FBUyxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsSUFBSSxZQUFZLElBQUksWUFBWSxPQUFPLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxlQUFlLFNBQVMsZUFBZSxTQUFTLFNBQVMsU0FBUyxjQUFjLFNBQVMsZ0JBQWdCLFNBQVMsYUFBYSxTQUFTLElBQUksT0FBTyxNQUFNLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsWUFBWSxTQUFTLGNBQWMsU0FBUyxPQUFPLFNBQVMsU0FBUyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxNQUFNLGVBQWUsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLElBQUksSUFBSSxLQUFLLFlBQVksS0FBSyxZQUFZLE9BQU8sU0FBUyxVQUFVLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxPQUFPLGVBQWUsTUFBTSxTQUFTLE9BQU8sZUFBZSxLQUFLLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxTQUFTLFNBQVMsV0FBVyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsU0FBUyxTQUFTLFdBQVcsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLG1CQUFtQixTQUFTLGFBQWEsU0FBUyxrQkFBa0IsU0FBUyxlQUFlLFNBQVMsb0JBQW9CLFNBQVMsWUFBWSxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxLQUFLLFlBQVksS0FBSyxZQUFZLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLGdCQUFnQixTQUFTLFlBQVksU0FBUyxNQUFNLE9BQU8sSUFBSSxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxVQUFVLFNBQVMsWUFBWSxTQUFTLFVBQVUsU0FBUyxXQUFXLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsV0FBVyxTQUFTLEtBQUssU0FBUyxZQUFZLFNBQVMsU0FBUyxTQUFTLGNBQWMsU0FBUyxtQkFBbUIsU0FBUyxjQUFjLFNBQVMsT0FBTyxTQUFTLFlBQVksU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFFBQVEsU0FBUyxTQUFTLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsS0FBSyxPQUFPLEtBQUssT0FBTyxLQUFLLE9BQU8sSUFBSSxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsUUFBUSxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxjQUFjLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsU0FBUyxTQUFTLFVBQVUsU0FBUyxVQUFVLFNBQVMsV0FBVyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsTUFBTSxPQUFPLElBQUksSUFBSSxPQUFPLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxJQUFJLFlBQVksSUFBSSxZQUFZLE9BQU8sU0FBUyxVQUFVLFNBQVMsVUFBVSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxZQUFZLFNBQVMsU0FBUyxTQUFTLFdBQVcsZUFBZSxVQUFVLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsTUFBTSxPQUFPLE1BQU0sT0FBTyxNQUFNLFNBQVMsTUFBTSxTQUFTLFdBQVcsU0FBUyxlQUFlLFNBQVMsV0FBVyxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsTUFBTSxPQUFPLE9BQU8sU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLEtBQUssWUFBWSxLQUFLLFlBQVksUUFBUSxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsYUFBYSxTQUFTLGFBQWEsU0FBUyxlQUFlLFNBQVMsVUFBVSxTQUFTLGNBQWMsU0FBUyxnQkFBZ0IsU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxVQUFVLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsU0FBUyxTQUFTLEtBQUssWUFBWSxLQUFLLFlBQVksS0FBSyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLGlCQUFpQixTQUFTLGtCQUFrQixTQUFTLE9BQU8sT0FBTyxPQUFPLE9BQU8sS0FBSyxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsU0FBUyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLE9BQU8sTUFBTSxPQUFPLElBQUksU0FBUyxJQUFJLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxJQUFJLFlBQVksSUFBSSxZQUFZLE9BQU8sT0FBTyxPQUFPLE9BQU8sS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLElBQUksT0FBTyxTQUFTLElBQUksV0FBVyxTQUFTLGFBQWEsU0FBUyxpQkFBaUIsU0FBUyxNQUFNLFNBQVMsVUFBVSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLEtBQUssWUFBWSxXQUFXLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxRQUFRLFNBQVMsaUJBQWlCLFNBQVMsWUFBWSxTQUFTLFlBQVksU0FBUyxZQUFZLFNBQVMsY0FBYyxTQUFTLGNBQWMsU0FBUyxlQUFlLFNBQVMsTUFBTSxTQUFTLGVBQWUsU0FBUyxnQkFBZ0IsU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLFdBQVcsU0FBUyxNQUFNLFNBQVMsV0FBVyxTQUFTLE9BQU8sU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssWUFBWSxLQUFLLFlBQVksTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxPQUFPLEtBQUssT0FBTyxRQUFRLFNBQVMsT0FBTyxTQUFTLFdBQVcsU0FBUyxTQUFTLFNBQVMsV0FBVyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsVUFBVSxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxhQUFhLGVBQWUsY0FBYyxlQUFlLGFBQWEsZUFBZSxjQUFjLGVBQWUsU0FBUyxTQUFTLGdCQUFnQixTQUFTLGlCQUFpQixTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sSUFBSSxPQUFPLFNBQVMsS0FBSyxJQUFJLEtBQUssU0FBUyxZQUFZLFNBQVMsYUFBYSxJQUFJLGtCQUFrQixTQUFTLGNBQWMsU0FBUyxjQUFjLFNBQVMsSUFBSSxZQUFZLElBQUksWUFBWSxNQUFNLFNBQVMsTUFBTSxlQUFlLE1BQU0sZUFBZSxLQUFLLFlBQVksS0FBSyxZQUFZLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLEtBQUssWUFBWSxPQUFPLGVBQWUsT0FBTyxlQUFlLE9BQU8sZUFBZSxPQUFPLGVBQWUsT0FBTyxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsSUFBSSxZQUFZLElBQUksWUFBWSxLQUFLLFlBQVksS0FBSyxZQUFZLEdBQUcsU0FBUyxHQUFHLFNBQVMsT0FBTyxTQUFTLEtBQUssWUFBWSxLQUFLLFlBQVksS0FBSyxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLElBQUksWUFBWSxJQUFJLFlBQVksTUFBTSxTQUFTLE1BQU0sU0FBUyxHQUFHLFNBQVMsR0FBRyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLEtBQUssWUFBWSxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLEtBQUssWUFBWSxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLE9BQU8sT0FBTyxPQUFPLE9BQU8sS0FBSyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsSUFBSSxPQUFPLElBQUksWUFBWSxJQUFJLFlBQVksS0FBSyxTQUFTLEtBQUssU0FBUyxLQUFLLFlBQVksS0FBSyxZQUFZLEtBQUssWUFBWSxLQUFLLFlBQVksS0FBSyxTQUFTLEtBQUssU0FBUyxLQUFLLE9BQU8sS0FBSyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLGVBQWUsU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLElBQUksWUFBWSxJQUFJLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxRQUFRLFNBQVMsS0FB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LEVBQUUsVUFBVSxTQUFTLFNBQVMsRUFBRSxDQUFDLEtBQUssTUFBTSxFQUFFLEtBQUssYUFBYSxDQUFDLEVBQUUsS0FBSyxZQUFZLENBQUMsRUFBRSxFQUFFLFVBQVUsYUFBYSxTQUFTLEVBQUUsQ0FBQyxJQUFJLEtBQUssT0FBT2lLLElBQUcsQ0FBQyxFQUFFLEtBQUssTUFBTSxLQUFLLE1BQU0sUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLE9BQU8sS0FBSyxLQUFLLEVBQUUsR0FBRyxJQUFJLE9BQU8sRUFBRSxLQUFLLElBQUksTUFBTyxPQUFNLElBQUksTUFBTSxtQkFBbUIsS0FBSyxLQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsVUFBVSxZQUFZLFVBQVUsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxFQUFFLEVBQUUsVUFBVSxVQUFVLFVBQVUsQ0FBQyxLQUFLLFFBQVEsU0FBUyxLQUFLLFNBQVMsV0FBVyxFQUFFLEtBQUssYUFBYSxZQUFZLEVBQUUsRUFBRSxFQUFFLFVBQVUsS0FBSyxVQUFVLENBQUMsT0FBTyxLQUFLLE1BQU0sT0FBTyxLQUFLLEtBQUssQ0FBQyxFQUFFLEVBQUUsVUFBVSxRQUFRLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLEVBQUUsT0FBTyxLQUFLLFFBQVEsSUFBSTtBQUFBLEdBQzc4VixLQUFLLE9BQU8sS0FBSyxPQUFPLEdBQUcsS0FBSyxTQUFTLENBQUMsRUFBRSxFQUFFLFVBQVUsZUFBZSxVQUFVLENBQUMsSUFBSSxFQUFFLEtBQUssTUFBTSxRQUFRLElBQUksS0FBSyxLQUFLLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLEVBQUUsS0FBSyxNQUFNLE1BQU0sS0FBSyxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssYUFBYSxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxRQUFRakssRUFBRSxFQUFFLE9BQU9BLEdBQUcsS0FBSyxRQUFRLEVBQUVBLElBQUksT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsVUFBVSxhQUFhLFVBQVUsQ0FBQyxLQUFLLFNBQVMsUUFBUSxDQUFDLEVBQUUsRUFBRSxVQUFVLGdCQUFnQixTQUFTLEVBQUUsQ0FBQyxLQUFLLGVBQWUsRUFBRSxLQUFLLFNBQVMsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLEVBQUUsVUFBVSxnQkFBZ0IsVUFBVSxDQUFDLElBQUksRUFBRSxLQUFLLGNBQWMsT0FBTyxJQUFJLFNBQVMsS0FBSyxNQUFNLFVBQVUsS0FBSyxNQUFNLEtBQUssTUFBTSxDQUFDLElBQUksWUFBWSxJQUFJLFNBQVMsS0FBSyxNQUFNLFVBQVUsS0FBSyxNQUFNLEtBQUssTUFBTSxDQUFDLElBQUksWUFBWSxJQUFJLFVBQVUsS0FBSyxNQUFNLFVBQVUsS0FBSyxNQUFNLEtBQUssTUFBTSxDQUFDLElBQUksV0FBWSxFQUFFLENBQUMsRUFBRSxFQUFFMFEsSUFBRyxVQUFVLENBQUMsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLElBQUksU0FBUyxFQUFFLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRSxLQUFLLE1BQU0sS0FBSyxLQUFLLFVBQVUsRUFBRSxLQUFLLFlBQVksRUFBRSxLQUFLLE9BQU8sQ0FBQyxFQUFFLEtBQUssVUFBVSxJQUFJRCxJQUFHLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLGtCQUFrQixNQUFNLENBQUMsT0FBTyxFQUFFLFVBQVUsU0FBUyxTQUFTLEVBQUUsQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLEVBQUUsS0FBSyxVQUFVLFNBQVMsQ0FBQyxFQUFFLEtBQUssTUFBTSxFQUFFLEVBQUUsVUFBVSxhQUFhLFNBQVMsRUFBRSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsRUFBRSxLQUFLLFVBQVUsYUFBYSxDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsRUFBRSxVQUFVLFlBQVksVUFBVSxDQUFDLE9BQU8sS0FBSyxPQUFPLENBQUMsRUFBRSxLQUFLLFVBQVUsWUFBWSxFQUFFLEtBQUssT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsTUFBTSxVQUFVLENBQUMsS0FB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SUFBSWlSLElBQUcsRUFBRSxDQUFDLEVBQUUsT0FBTyxJQUFJUixJQUFHLEVBQUUsQ0FBQyxNQUFNelIsRUFBRSxJQUFJZ0IsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxVQUFVLEVBQUUsQ0FBQyxPQUFPLElBQUk2USxHQUFFLHFCQUFxQlYsSUFBRyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBTyxPQUFPLEVBQUVDLEdBQUcsQ0FBQyxPQUFPLElBQUlTLEdBQUUsU0FBUyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsWUFBWSxZQUFZLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLEVBQUUsS0FBSyxhQUFhLEVBQUUsRUFBRSxRQUFRLGdCQUFnQixJQUFJLGFBQWEsQ0FBQyxVQUFVLENBQUMsT0FBTyxLQUFLLEtBQUssU0FBUyxFQUFFLEtBQUssQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEtBQUssS0FBSyxPQUFPLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxVQUFVLEVBQUUsT0FBTyxJQUFJLEtBQUtULEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBQyxJQUFJLFFBQVEsQ0FBQyxPQUFPLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxJQUFJLGVBQWUsQ0FBQyxPQUFPLEtBQUssSUFBSSxLQUFLLENBQUMsSUFBSSxhQUFhLENBQUMsT0FBTyxLQUFLLElBQUksR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEtBQUssR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDLE9BQU9VLEdBQUUsRUFBRSxLQUFLLEtBQUssS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU9BLEdBQUUsS0FBSyxLQUFLLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxPQUFPLEtBQUssS0FBSyxTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLFNBQVMsRUFBRSxPQUFTLElBQUlQLElBQUcsQ0FBQyxJQUFJLEtBQUssTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLElBQUksS0FBSyxDQUFDLElBQUksTUFBTSxFQUFFLENBQUMsS0FBSyxLQUFLLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsS0FBSyxLQUFLLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLFFBQVEsT0FBTyxLQUFLLFNBQVMsRUFBRSxVQUFVLEVBQUUsSUFBSSxNQUFNLE9BQU8sS0FBSyxPQUFPLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPTyxHQUFFLEtBQUssS0FBSyxTQUFTLEVBQUUsRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLE9BQU8sS0FBSyxLQUFLLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxFQUFFLENBQUMsT0FBT0EsR0FBRSxLQUFLLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLEtBQUssT0FBTyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsZ0JBQWdCLENBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPQSxHQUFFLEtBQUssU0FBUyxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssS0FBSyxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEVBQUUsTUFBTSxDQUFDLEVBQUUsQ0FBQyxPQUFPQSxHQUFFLEtBQUssT0FBTyxFQUFF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LE1BQU1BLEdBQUdDLElBQUksU0FBUyxLQUFLLElBQUksSUFBSUEsRUFBRSxDQUFDLFdBQVcsQ0FBQyxNQUFNLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxPQUFPLElBQUlzTCxJQUFHLEtBQUssS0FBSyxLQUFLLElBQUksS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sSUFBSUEsSUFBRyxLQUFLLEtBQUssS0FBSyxJQUFJLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU9mLEVBQUUsQ0FBQyxFQUFFVSxHQUFFcEgsSUFBRyxHQUFHLEVBQUUsS0FBSyxjQUFjLGNBQWMsQ0FBQyxFQUFFLElBQUksSUFBSWtILElBQUcsRUFBRSxPQUFPLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLEVBQUUsS0FBSyxlQUFlLGVBQWUsQ0FBQyxFQUFFLElBQUksSUFBSUgsSUFBRyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLGVBQWUsY0FBYyxDQUFDLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFLFVBQVUsRUFBRSxPQUFPLElBQUksS0FBSyxJQUFJSSxHQUFFLFNBQVNULEVBQUUsRUFBRSxLQUFLLEVBQUVVLEdBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssY0FBYyxlQUFlLENBQUMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsVUFBVSxFQUFFLE9BQU8sSUFBSSxLQUFLLElBQUlELEdBQUUsU0FBU1QsRUFBRSxFQUFFLEtBQUssRUFBRVUsR0FBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxlQUFlLFlBQVksR0FBRyxJQUFJRCxHQUFFLEVBQUUsS0FBS1QsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssWUFBWSxlQUFlLENBQUMsRUFBRSxJQUFJLElBQUlTLEdBQUUsRUFBRSxLQUFLVCxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRVcsR0FBRyxTQUFTQyxJQUFHLE1BQU15RCxHQUFDLENBQUMsT0FBTyxVQUFVLEVBQUUsRUFBRSxDQUFDLE9BQU8sSUFBSXZELElBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxPQUFPLE9BQU8sRUFBRWhCLEdBQUcsQ0FBQyxPQUFPLElBQUlpQixJQUFHLFNBQVMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxVQUFVLEVBQUUsT0FBTyxJQUFJLEtBQUssS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxPQUFPQyxJQUFHLEtBQUssS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU9OLEdBQUUsS0FBSyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxVQUFVLEVBQUUsR0FBRyxJQUFJLEtBQUssT0FBTzJELElBQUUsT0FBTyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLFNBQVMsQ0FBQyxFQUFFLElBQUl4RCxJQUFHLEVBQUUsT0FBTyxDQUFDLEVBQUUsS0FBSyxFQUFFd0QsSUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxPQUFPM0QsR0FBRSxLQUFLLEtBQUssS0FBSyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxLQUFLLEtBQUssT0FBTyxDQUFDLENBQUMsRUFBRUcsSUFBRyxLQUFLLENBQUMsS0FBSyxlQUFlLFFBQVEsS0FBSyxZQUFZckwsRUFBRUMsRUFBRSxDQUFDLEtBQUssT0FBT0QsRUFBRSxLQUFLLFFBQVFDLENBQUMsQ0FBQyxXQUFXLENBQUMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUlELEVBQUUsS0FBSyxTQUFTLEVBQUUsT0FBT0EsSUFBSSxLQUFLc0ssR0FBR3RLLEVBQUUsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSW9MLElBQUcsSUFBSSxDQUFDLENBQUMsSUFBSSxRQUFRLENBQUMsT0FBTyxLQUFLLE9BQU8sQ0FBQyxVQUFVLENBQUMsSUFBSXBMLEVBQUUsS0FBSyxRQUFRLEdBQUdBLElBQUksS0FBSyxDQUFDLElBQUlDLEVBQUUsS0FBSyxPQUFPLFVBQVUsS0FBSyxPQUFPLEVBQUUsS0FBSyxRQUFRRCxFQUFFQyxJQUFJLEtBQUtrTCxHQUFHLElBQUlHLElBQUcsS0FBSyxPQUFPckwsRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUFDLE9BQU9ELElBQUltTCxHQUFHLEtBQUtuTCxDQUFDLENBQUMsRUFBRXNMLElBQUcsS0FBSyxDQUFDLEtBQUssY0FBYyxTQUFTLFlBQVl0TCxFQUFFQyxFQUFFcEQsRUFBRSxLQUFLLENBQUMsS0FBSyxPQUFPbUQsRUFBRSxLQUFLLE9BQU9DLEVBQUUsS0FBSyxTQUFTcEQsSUFBSSxLQUFLLEtBQUssSUFBSXdPLElBQUdyTCxFQUFFbkQsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUltRCxFQUFFLEtBQUssU0FBUyxHQUFHQSxJQUFJLEtBQUssQ0FBQyxJQUFJQyxFQUFFLEtBQUssT0FBTyxXQUFXLEtBQUssTUFBTSxFQUFFLEtBQUssU0FBU0QsRUFBRUMsSUFBSSxLQUFLa0wsR0FBRyxJQUFJRSxJQUFHLEtBQUssT0FBT3BMLENBQUMsQ0FBQyxDQUFDLE9BQU9ELElBQUltTCxHQUFHLEtBQUtuTCxDQUFDLENBQUMsUUFBUSxDQUFDLE9BQU8sS0FBSyxNQUFNLENBQUMsTUFBTSxDQUFDLE9BQU8sSUFBSW9MLElBQUcsSUFBSSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sSUFBSSxDQUFDLEVBQUVHLElBQUcsS0FBSyxDQUFDLFlBQVl2TCxFQUFFQyxFQUFFLENBQUMsS0FBSyxLQUFLRCxFQUFFLEtBQUssSUFBSUMsQ0FBQyxDQUFDLFdB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QUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLRyxJQUFHLEtBQUssU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLE9BQU9KLEdBQUUsS0FBSyxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUUsSUFBSUMsR0FBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRRSxJQUFHLFFBQVEsU0FBUyxFQUFFLEVBQUUsRUFBRSxDQUFDLE9BQU8sR0FBRyxFQUFFLE9BQU9JLElBQUcsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFQyxJQUFHLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLFlBQVlELElBQUcsU0FBU0MsSUFBRyxJQUFJUCxHQUFFLElBQUksU0FBUyxFQUFFLEVBQUUsQ0FBQyxPQUFPRCxHQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUtFLEdBQUcsU0FBUyxTQUFTLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU9GLEdBQUUsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsSUFBSUMsR0FBRSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFNBQVMsRUFBRSxFQUFFLENBQUMsT0FBT0QsR0FBRSxLQUFLLENBQUMsU0FBUyxFQUFFLElBQUlDLEdBQUUsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRyxTQUFTLEVBQUUsRUFBRSxDQUFDLE9BQU9ELEdBQUUsT0FBTyxDQUFDLEtBQUssRUFBRSxJQUFJQyxHQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUlGLElBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQyxPQUFPQyxHQUFFLEtBQUssQ0FBQyxJQUFJQyxHQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU9TLElBQUcsZUFBZSxFQUFFLFFBQVFBLElBQUcsZ0JBQWdCLEVBQUUsT0FBT0EsSUFBRyxlQUFlLEVBQUUsVUFBVSxJQUFJUCxJQUFHLG1CQUFt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QUssS0FBSyxPQUFPLFdBQVdELEVBQUUsUUFBUSxNQUFNLEVBQUUsS0FBSyxLQUFLLE9BQU8sV0FBV0EsRUFBRSxDQUFDLEVBQUUsSUFBSUEsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLFNBQVNBLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxlQUFlbkMsRUFBRSxPQUFPLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLEtBQUssS0FBSyxPQUFPLFVBQVUsQ0FBQyxDQUFDLEVBQUUsT0FBTyxlQUFlQSxFQUFFLE9BQU8sQ0FBQyxXQUFXLEdBQUcsS0FBSyxDQUFDLE9BQU8sS0FBSyxLQUFLLE9BQU8sUUFBUSxDQUFDLENBQUMsRUFBRUEsQ0FBQyxFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxPQUFPLEtBQUssS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxLQUFLLE9BQU8sQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFdBQVcsSUFBSSxVQUFVLENBQUMsTUFBTSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxDQUFDLEtBQUssU0FBUyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEtBQUtqQixFQUFFLENBQUNBLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLFFBQVEsR0FBRyxFQUFFLEVBQUVBLENBQUMsRUFBRSxJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssSUFBSSxFQUFFLElBQUksU0FBU0EsRUFBRSxDQUFDLEtBQUssS0FBS0EsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsS0FBSyxVQUFVLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksS0FBS0EsRUFBRSxDQUFDQSxFQUFFLENBQUMsRUFBRUEsRUFBRSxRQUFRLEdBQUcsRUFBRSxFQUFFQSxDQUFDLEVBQUUsSUFBSSxVQUFVLENBQUMsT0FBTyxLQUFLLElBQUksRUFBRSxJQUFJLFNBQVNBLEVBQUUsQ0FBQyxLQUFLLEtBQUtBLENBQUMsRUFBRSxJQUFJLENBQUMsRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssT0FBTyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLFdBQVcsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxTQUFTLENBQUMsS0FBSyxFQUFFLE1BQU1BLEVBQUUsSUFBSWdCLENBQUMsRUFBRSxDQUFDLElBQUlDLEVBQUUsQ0FBQyxLQUFLLEVBQUUsTUFBTWpCLEVBQUUsSUFBSWdCLENBQUMsRUFBRSxPQUFPLE9BQU8sZUFBZUMsRUFBRSxXQUFXLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQyxPQUFPLEtBQUssS0FBSyxFQUFFLElBQUlDLEVBQUUsQ0FBQyxLQUFLLE1BQU1BLENBQUMsQ0FBQyxDQUFDLEVBQUVELENBQUMsRUFBRSxDQUFDLEtBQUssRUFBRSxNQUFN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LElBQUksU0FBUyxlQUFlLEVBQUUsRUFBRWdDLElBQUcsQ0FBQyxHQUFHRCxJQUFHLGVBQWUsRUFBRSxFQUFNRSxJQUFHO0FBQUEsRUFDcHBMQyxJQUFHLEtBQUt0RixJQUFHLFVBQVUsQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDLEtBQUssT0FBTyxFQUFFLE9BQU8sUUFBUSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBS3FGLElBQUcsR0FBR0EsSUFBRyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxLQUFLQyxJQUFHLEdBQUdBLElBQUcsT0FBTyxFQUFFLENBQUMsSUFBSUQsTUFBSyxHQUFHQSxJQUFHLFFBQVEsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLFFBQVEsSUFBSSxLQUFLLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxpQkFBaUIsU0FBUyxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxLQUFLLE9BQU8sT0FBTyxLQUFLLFFBQVEsRUFBRSxFQUFFLEVBQUUsS0FBSyxRQUFRLEVBQUUsRUFBRSxDQUFDLEdBQUcsR0FBRyxJQUFJLElBQUk1UyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPQSxDQUFDLENBQUMsRUFBRSxFQUFFLFVBQVUsaUJBQWlCLFNBQVMsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLE9BQU8sT0FBTyxFQUFFLEdBQUcsR0FBRyxLQUFLLFFBQVEsUUFBUSxFQUFFLEdBQUcsRUFBRSxLQUFLLGFBQWEsQ0FBQyxFQUFFLEtBQUssS0FBSyxRQUFRLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxVQUFVLGFBQWEsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssUUFBUSxDQUFDLEVBQUUsRUFBRSxJQUFJLEtBQUssUUFBUSxPQUFPLEVBQUUsS0FBSyxPQUFPLEtBQUssUUFBUSxF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QUU1QyxJQUFJQSxFQUFFNEMsR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUN2QyxFQUFFQyxJQUFJQSxJQUFJLEVBQUVELEVBQUVBLEVBQUUsTUFBTUwsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFRyxLQUFLLE1BQU0sSUFBSSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVNxRSxJQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxRQUFRTixJQUFHLEVBQUUsV0FBVyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsT0FBTyxDQUFDLENBQXd1QixTQUFTTyxJQUFHLEVBQUUsQ0FBQyxPQUFPLElBQUlDLEdBQUUsTUFBTSxJQUFJQSxHQUFFLFFBQVEsSUFBSUEsR0FBRSxLQUFLLElBQUlBLEdBQUUsU0FBUyxJQUFJQSxHQUFFLFNBQVMsSUFBSUEsR0FBRSxRQUFRLElBQUlBLEdBQUUsT0FBTyxJQUFJQSxHQUFFLFFBQVEsSUFBSUEsR0FBRSxJQUFJLElBQUlBLEdBQUUsV0FBVyxJQUFJQSxHQUFFLFdBQVcsSUFBSUEsR0FBRSxTQUFTLElBQUlBLEdBQUUsTUFBTSxJQUFJQSxHQUFFLE9BQU8sQ0FBQyxTQUFTQyxJQUFFLEVBQUUsQ0FBQyxPQUFPLEdBQUcsR0FBRyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxDQUFDLFNBQVNDLElBQUUsRUFBRSxFQUFFLENBQUMsT0FBT0MsSUFBRyxFQUFFLFdBQVcsQ0FBQyxDQUFDLEdBQUdDLElBQUcsRUFBRSxXQUFXLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTRCxJQUFHLEVBQUUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxHQUFHLEtBQUssQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxPQUFPLEdBQUcsT0FBTyxHQUFHLEtBQUssQ0FBQyxTQUFTQyxHQUFFLEVBQUUsRUFBRSxDQUFDLElBQUkvRSxFQUFFLEVBQUUsT0FBTyxLQUFLLFlBQVksQ0FBQyxFQUFFLEdBQUdBLElBQUksT0FBTyxPQUFPMEUsR0FBRSxJQUFJLEdBQUcxRSxHQUFHLElBQUlBLEdBQUcsSUFBSSxDQUFDLElBQUlHLEVBQUUsT0FBTyxjQUFjSCxDQUFDLEVBQUUsT0FBT0csSUFBSSxJQUFJLE1BQU0sSUFBSUEsQ0FBQyxHQUFHLENBQUMsTUFBTSxLQUFLSCxFQUFFLFNBQVMsRUFBRSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsU0FBU2dGLEdBQUUsRUFBRSxFQUFFaEYsRUFBRUcsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBS0UsRUFBRSxFQUFFTCxFQUFFLEVBQUUsVUFBVSxPQUFPLElBQUlpRixJQUFFLEVBQUVqRixFQUFFRyxFQUFFLEVBQUVFLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUzZFLElBQUcsRUFBRSxFQUFFLENBQUMsSUFBSWxGLEVBQUUsRUFBRSxPQUFPLEtBQUtHLEVBQUVILEVBQUUsT0FBTyxFQUFFLEVBQUUsS0FBSyxFQUFFRyxHQUFHLENBQUMsSUFBSSxFQUFFSCxFQUFFLFdBQVcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLElBQUssT0FBTSxJQUFLLEdBQUUsSUFBSyxJQUFHLElBQUssSUFBRyxFQUFFLEVBQUUsU0FBUyxJQUFLLElBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsSUFBSyxJQUFHQSxFQUFFLFdBQVcsRUFBRSxDQUFDLElBQUksR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLFNBQVMsSUFBSyxJQUFHLE9BQU9tRixJQUFHLEVBQUUsQ0FBQyxFQUFFLElBQUssSUFBRyxPQUFPSCxHQUFFLEVBQUVOLEdBQUUsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUssSUFBRyxPQUFPTSxHQUFFLEVBQUVOLEdBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUssSUFBRyxPQUFPTSxHQUFFLEVBQUVOLEdBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUssSUFBRyxPQUFPTSxHQUFFLEVBQUVOLEdBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUssSUFBRyxPQUFPTSxHQUFFLEVBQUVOLEdBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxFQUFFLElBQUssSUFBRyxHQUFHMUUsRUFBRSxXQUFXLEVBQUUsQ0FBQyxJQUFJLElBQUlBLEVBQUUsV0FBVyxFQUFFLENBQUMsSUFBSSxHQUFHLE9BQU9nRixHQUFFLEVBQUVOLEdBQUUsT0FBTyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFBSyxJQUFHLE9BQU9NLEdBQUUsRUFBRU4sR0FBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSyxJQUFHLE9BQU9NLEdBQUUsRUFBRU4sR0FBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSyxJQUFHLE9BQU9NLEdBQUUsRUFBRU4sR0FBRSxHQUFHLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSyxJQUFHLE9BQU9NLEdBQUUsRUFBRU4sR0FBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSyxJQUFHLE9BQU9NLEdBQUUsRUFBRU4sR0FBRSxVQUFVLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSyxLQUFJLE9BQU9NLEdBQUUsRUFBRU4sR0FBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSyxLQUFJLE9BQU9NLEdBQUUsRUFBRU4sR0FBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSyxLQUFJLE9BQU9NLEdBQUUsRUFBRU4sR0FBRSxRQUFRLEVBQUUsRUFBRSxDQUFDLEVBQUUsSUFBSyxJQUFHLE9BQU8xRSxFQUFFLFdBQVcsRUFBRSxDQUFDLElBQUksSUFBSUEsRUFBRSxXQUFXLEVBQUUsQ0FBQyxJQUFJLEdBQUdvRixJQUFHLEVBQUUsQ0FBQyxFQUFFQyxJQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBR2xCLElBQUUsQ0FBQyxHQUFHLElBQUksR0FBRyxPQUFPbUIsSUFBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUdqQixJ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UUFBUSxNQUFNLEVBQUUsQ0FBQyxDQUE0c0IsU0FBUzJRLElBQUczUSxFQUFFLENBQUMsT0FBTzRRLE1BQUtDLElBQUcsSUFBSUMsR0FBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUVGLElBQUcsT0FBTyxPQUFPLE9BQU8sT0FBTyxJQUFJLEVBQUUsQ0FBQyxLQUFLLElBQUlFLEdBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSUEsR0FBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsS0FBSyxJQUFJQSxHQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLElBQUlBLEdBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssSUFBSUEsR0FBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxJQUFJQSxHQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLElBQUlBLEdBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFBSUEsR0FBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJQSxHQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxHQUFHLElBQUlBLEdBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE9BQU8sSUFBSUEsR0FBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUFJQSxHQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxJQUFJLElBQUlBLEdBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUUsSUFBSUEsR0FBRSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsVUFBVSxRQUFRLGFBQWEsTUFBTSxLQUFLLFdBQVcsU0FBUyxPQUFPLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLFNBQVMsU0FBUyxLQUFLLE9BQU8sTUFBTSxLQUFLLElBQUksTUFBTSxVQUFVLFFBQVEsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUFJQSxHQUFFLENBQUMsaUJBQWlCLENBQUMsUUFBUSxPQUFPLENBQUMsQ0FBQyxFQUFFLE1BQU0sSUFBSUEsR0FBRSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUFJQSxHQUFFLENBQUMsaUJBQWlCLENBQUMsT0FBTyxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJQSxHQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJQSxHQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLEVBQUUsZUFBZSxFQUFFLENBQUMsRUFBRSxHQUFHLElBQUlBLEdBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLElBQUksRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFFLElBQUksSUFBSUEsR0FBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsSUFBSSxJQUFJQSxHQUFFLENBQUMsd0JBQXdCLEtBQUssQ0FBQyxFQUFFLGNBQWMsSUFBSUEsR0FBRSxDQUFDLHdCQUF3QixNQUFNLDRCQUE0QixFQUFFLENBQUMsRUFBRSxLQUFLLElBQUlBLEdBQUUsQ0FBQyx3QkFBd0IsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJQSxHQUFFLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJQSxHQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUcsSUFBSUEsR0FBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJQSxHQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxLQUFLLE1BQU0sSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsR0FBRyxJQUFJQSxHQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxLQUFLLE1BQU0sSUFBSSxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsSUFBSSxJQUFJQSxHQUFFLENBQUMsaUJBQWlCLENBQUMsS0FBSyxNQUFNLElBQUksRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSUEsR0FBRSxDQUFDLGlCQUFpQixDQUFDLEtBQUssS0FBSyxNQUFNLElBQUksRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFFLFNBQVMsSUFBSUEsR0FBRSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxlQUFlLEVBQUUsQ0FBQyxFQUFFLE9BQU8sSUFBSUEsR0FBRSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsVUFBVSxFQUFFLGVBQWUsRUFBRSxDQUFDLEVBQUUsSUFBSSxJQUFJQSxHQUFFLENBQUMsY0FBYyxFQUFFLENBQUMsRUFBRSxRQUFRLElBQUlBLEdBQUUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFBSUEsR0FBRSxDQUFDLFlBQVlDLEdBQUUsUUFBUSxDQUFDLEVBQUUsT0FBTyxJQUFJRCxHQUFFLENBQUMsWUFBWUMsR0FBRSxRQUFRLENBQUMsRUFBRSxNQUFNLElBQUlELEdBQUUsQ0FBQyxZQUFZLENBQUMsUUFBUUMsR0FBRSxtQkFBbUIsSUFBSUEsR0FBRSxhQUFhLENBQUMsQ0FBQyxFQUFFLFNBQVMsSUFBSUQsR0FBRSxDQUFDLFlBQVlDLEdBQUUsbUJBQW1CLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUlDLElBQUcsRUFBRSxxQkFBcUIsRUFBRSxRQUFRN1EsR0FBRyxDQUFDLENBQUN5USxJQUFHelEsQ0FBQyxHQUFHaVEsSUFBR2pRLENBQUMsSUFBSSxPQUFPeVEsSUFBR3pRLENBQUMsRUFBRSxJQUFJMlEsR0FBRSxDQUFDLGFBQWEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxHQUFHRixJQUFHNVEsQ0FBQyxHQUFHNlEsR0FBRSxDQUEwaEUsU0FBU0ksSUFBR2pSLEVBQUVHLEVBQUUsRUFBRSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRUssRUFBRVIsRUFBRSxNQUFNMkIsR0FBRzNCLEVBQUUsTUFBTTJCLEVBQUUsQ0FBQyxHQUFHQSxFQUFFLE1BQU0zQixFQUFFLENBQUMsRUFBRTJCLEdBQUdBLEVBQUUsTUFBTTNCLEVBQUUsQ0FBQyxFQUFFLE9BQU9HLEVBQUUsUUFBUXdCLEdBQUcsQ0FBQyxJQUFJQyxFQUFFcEIsRUFBRW1CLENBQUMsRUFBRUMsR0FBRyxFQUFFLEtBQUtBLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUN3eW9CLFNBQVNzUCxJQUFHbFIsRUFBRUcsRUFBRSxDQUFDLEdBQUdBLEdBQUcsTUFBTSxFQUFFLE1BQU0sUUFBUUEsQ0FBQyxHQUFHQSxFQUFFLFFBQVEsR0FBRyxNQUFNLElBQUksTUFBTSxhQUFhSCxDQUFDLGlDQUFpQyxFQUFFLEdBQUdHLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRUEsRUFBRSxDQUFDLEVBQUUsRUFBRUEsRUFBRSxDQUFDLEVBQUVnUixJQUFHLFFBQVEzUSxHQUFHLENBQUMsR0FBR0EsRUFBRSxLQUFLLENBQUMsR0FBR0EsRUFBRSxLQUFLLENBQUMsRUFBRSxNQUFNLElBQUksTUFBTSxLQUFLLENBQUMsT0FBTyxDQUFDLDRDQUE0QyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQStULFNBQVM0USxJQUFHcFIsRUFBRUcsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSUssRUFBRSxJQUFJNlEsSUFBRyxJQUFJQyxJQUFHdFIsRUFBRUcsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLE9BQU9LLEVBQUUsU0FBUyxFQUFFLElBQUkrUSxJQUFHQyxJQUFHaFIsRUFBRSxNQUFNLEVBQUVBLEVBQUUsT0FBT0EsRUFBRSwyQkFBMkIsQ0FBQyxDQUFpQixTQUFTaVIsSUFBR3pSLEVBQUUsQ0FBQyxNQUFNLHlCQUF5QkEsSUFBSSxFQUFFLE1BQU0sT0FBTyxhQUFhQSxDQUFDLENBQUMsR0FBRyxDQUFDLFNBQVMwUixJQUFHMVIsRUFBRSxDQUFDLE1BQU0sbUJBQW1CQSxDQUFDLG1EQUFtRCxDQUFDLFNBQVMyUixJQUFHM1IsRUFBRUcsRUFBRSxDQUFDLE1BQU0sMkJBQTJCQSxDQUFDLE9BQU9ILENBQUMsaURBQWlELENBQzk0WixTQUFTNFIsR0FBRTVSLEVBQUUsQ0FBQyxNQUFNLENBQUNzTyxJQUFHdE8sQ0FBQyxHQUFHQSxJQUFJLENBQUMsQ0FBQyxTQUFTNlIsSUFBRzdSLEVBQUUsQ0FBQyxPQUFPc08sSUFBR3RPLENBQUMsR0FBR0EsSUFBSSxJQUFJQSxJQUFJLElBQUlBLElBQUksSUFBSUEsSUFBSSxJQUFJQSxJQUFJLElBQUlBLElBQUksSUFBSUEsSUFBSSxDQUFDLENBQUMsU0FBUzhSLElBQUc5UixFQUFFLENBQUMsT0FBT0EsRUFBRSxJQUFJLElBQUlBLEtBQUtBLEVBQUUsSUFBSSxHQUFHQSxLQUFLQSxFQUFFLElBQUlBLEVBQUUsR0FBRyxDQUFDLFNBQVMrUixJQUFHL1IsRUFBRSxDQUFDLE9BQU9BLElBQUksSUFBSUEsSUFBSSxHQUFHLENBQUN5TyxJQUFHek8sQ0FBQyxDQUFDLENBQUMsU0FBU2dTLElBQUdoUyxFQUFFLENBQUMsT0FBT0EsSUFBSSxJQUFJQSxJQUFJLEdBQUcsQ0FBQ3dPLElBQUd4TyxDQUFDLENBQUMsQ0FBQyxTQUFTaVMsSUFBR2pTLEVBQUUsQ0FBQyxPQUFPQSxJQUFJLEdBQUcsQ0FBQyxTQUFTa1MsSUFBR2xTLEVBQUVHLEVBQUUsQ0FBQyxPQUFPZ1MsSUFBR25TLENBQUMsSUFBSW1TLElBQUdoUyxDQUFDLENBQUMsQ0FBQyxTQUFTZ1MsSUFBR25TLEVBQUUsQ0FBQyxPQUFPQSxHQUFHLElBQUlBLEdBQUcsSUFBSUEsRUFBRSxHQUFHLEdBQUdBLENBQUMsQ0FBQyxTQUFTb1MsSUFBR3BTLEVBQUUsQ0FBQyxPQUFPd08sSUFBR3hPLENBQUMsR0FBR3VPLElBQUd2TyxDQUFDLEdBQUdBLElBQUksRUFBRSxDQUFDLFNBQVNxUyxJQUFHclMsRUFBRSxDQUFDLE9BQU9BLElBQUksSUFBSTRSLEdBQUU1UixDQUFDLENBQUMsQ0FBQyxTQUFTd1IsSUFBR3hSLEVBQUUsQ0FBQyxJQUFJRyxFQUFFLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUVILEVBQUUsT0FBTyxJQUFJLENBQUMsSUFBSVEsRUFBRVIsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLE9BQU8sR0FBR1EsRUFBRSxPQUFPLEdBQUcsR0FBRyxFQUFFLE9BQU8sSUFBSUEsRUFBRSxPQUFPLElBQUksRUFBRSxNQUFNLENBQUMsR0FBR0EsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLFdBQVcsSUFBSUEsRUFBRSxXQUFXLE1BQU0sRUFBRUEsRUFBRUwsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLE9BQU9BLENBQUMsQ0FFOXhTLFNBQVNtUyxJQUFHdFMsRUFBRUcsRUFBRSxDQUFDLE9BQU9ILEVBQUUsT0FBTyxHQUFHQSxFQUFFQSxFQUFFLE9BQU8sQ0FBQyxJQUFJRyxDQUFDLENBQUMsU0FBU29TLElBQUd2UyxFQUFFRyxFQUFFLENBQUMsT0FBT3FTLElBQUdyUyxDQUFDLElBQUksT0FBT3FTLElBQUdyUyxDQUFDLEdBQUdILEVBQUUsaUJBQWlCLEtBQUtHLENBQUMsRUFBRSxPQUFPLGNBQWMsU0FBU0EsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxTQUFTLEtBQUtBLENBQUMsRUFBRSxPQUFPLGNBQWMsU0FBU0EsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRUgsQ0FBQyxDQUE2SSxTQUFTeVMsSUFBR3pTLEVBQUVHLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxHQUFHLDZCQUE2QixFQUFFLEdBQUcsdUJBQXVCSyxFQUFFLEdBQUcsa0JBQWtCbUIsRUFBRSxzQkFBc0JDLEVBQUUsR0FBRyw4QkFBOEJDLEVBQUUsRUFBRSxFQUFFMUIsRUFBRSxPQUFPdVMsSUFBRyxFQUFFLE1BQU0xUyxFQUFFLHNCQUFzQixDQUFDLHVCQUF1QjRCLEVBQUUsb0JBQW9CLE9BQU8sYUFBYSxFQUFFLDZCQUE2QixFQUFFLGVBQWVBLEVBQUUsWUFBWUMsQ0FBQyxFQUFFckIsRUFBRW1CLENBQUMsQ0FBQyxDQUFDLFNBQVNnUixJQUFHM1MsRUFBRUcsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLFlBQVlILEVBQUUsS0FBS0csRUFBRSxJQUFJLE1BQU0sS0FBSyxJQUFJQSxFQUFFLElBQUksTUFBTSxPQUFPLEdBQUcsRUFBRSxPQUFPLE9BQU8sT0FBTyxFQUFFQSxDQUFDLENBQUMsQ0FBb0IsU0FBU3lTLElBQUc1UyxFQUFFLENBQUMsSUFBSUcsRUFBRUgsRUFBRSxNQUFNLEVBQUU2UyxHQUFFLEVBQUUsR0FBRzFTLElBQUksT0FBT0EsSUFBSSxNQUFNLE9BQU8sSUFBSSxFQUFFSCxFQUFFLFFBQVE7QUFBQSxFQUM3a082UyxHQUFFLEVBQUUsR0FBRyxJQUFJLEdBQUcsT0FBTyxJQUFJLEVBQUU3UyxFQUFFLE1BQU02UyxJQUFHLENBQUMsRUFBRSxLQUFLLEVBQUVyUyxFQUFFUixFQUFFLFFBQVE7QUFBQSxFQUM1REcsQ0FBQyxHQUFHLENBQUMsRUFBRXdCLEVBQUUsRUFBRSxHQUFHQSxJQUFJQSxFQUFFeEIsSUFBSSxNQUFNLE9BQU8sUUFBUUssSUFBSSxJQUFJTCxJQUFJLE9BQU93QixJQUFJLFNBQVNuQixFQUFFUixFQUFFLFFBQVE7QUFBQSxLQUN0RixDQUFDLEdBQUdRLElBQUksR0FBRyxPQUFPLElBQUlvQixFQUFFcEIsRUFBRSxFQUFFcVMsSUFBR2hSLEVBQUU3QixFQUFFLE9BQU80QixFQUFFLENBQUMsRUFBRSxHQUFHLENBQUMsT0FBTyxLQUFLQyxDQUFDLEVBQUUsT0FBTyxJQUFJc0csRUFBRW5JLEVBQUUsTUFBTSxFQUFFNEIsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxLQUFLLGVBQWUsU0FBU0QsRUFBRSxpQkFBaUIsRUFBRSxNQUFNM0IsRUFBRSxNQUFNLEVBQUUsRUFBRVEsQ0FBQyxFQUFFLGVBQWVMLEVBQUUsYUFBYWdJLEVBQUUsTUFBTSxDQUFDMEssR0FBRSxFQUFFLElBQUkxSyxDQUFDLENBQUMsQ0FBQyxTQUFTMkssSUFBRzlTLEVBQUUsQ0FBQyxJQUFJRyxFQUFFeVMsSUFBRzVTLENBQUMsRUFBRSxHQUFHLENBQUNHLEVBQUUsTUFBTSxDQUFDLFFBQVFILENBQUMsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUVHLEVBQUUsTUFBTSxDQUFDLFlBQVlBLEVBQUUsUUFBUTZHLEdBQUUsR0FBRyxFQUFFLFVBQVUsR0FBRyxFQUFFaEgsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBeW1ELFNBQVMrUyxJQUFHL1MsRUFBRUcsRUFBRSxDQUFDLElBQUksRUFBRUgsRUFBRSxJQUFJRyxDQUFDLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFSyxJQUFJLElBQUlSLEVBQUVRLENBQUMsQ0FBQyxFQUFFLEVBQUVSLENBQUMsQ0FBbUosU0FBU2dULElBQUdoVCxFQUFFRyxFQUFFLENBQUMsR0FBR0gsRUFBRSxNQUFNLE9BQU8sQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLElBQUlpVCxJQUFHLENBQUMsSUFBSXpTLEVBQUVSLEVBQUUsTUFBTSxNQUFNLENBQUMsRUFBRSxHQUFHUSxFQUFFLE9BQU8sRUFBRVIsRUFBRUcsRUFBRUssQ0FBQyxDQUFDLENBQUMsT0FBTyxJQUFJLENBQUMsU0FBUzBTLElBQUdsVCxFQUFFRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFSyxFQUFFbUIsQ0FBQyxFQUFFLEVBQUVDLEVBQUUsRUFBRSxFQUFFLE9BQU9DLEVBQUU3QixFQUFFLFdBQVcsTUFBTSxPQUFPNEIsQ0FBQyxFQUFFdUcsRUFBRXRHLEVBQUUsT0FBT0YsRUFBRSxNQUFNLEVBQUUsQ0FBQ3lHLEVBQUVJLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHckksRUFBRXdCLEVBQUVFLENBQUMsRUFBRSxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLE9BQU8sTUFBTUYsRUFBRSxXQUFXLElBQUl3TixHQUFFdE4sRUFBRXNHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBSyx1QkFBdUIsU0FBU0MsRUFBRSxTQUFTSSxFQUFFLFVBQVV4QixHQUFFLEdBQUd4RyxFQUFFLEtBQUssRUFBRSxRQUFRLEdBQUcsRUFBRSxXQUFXUixFQUFFLFdBQVcsZ0JBQWdCLElBQUltUCxHQUFFblAsRUFBRSxXQUFXLE1BQU02QixDQUFDLEVBQUUsY0FBYyxJQUFJc04sR0FBRWhILEVBQUVuSSxFQUFFLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTbVQsSUFBR25ULEVBQUVHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxLQUFLLDRCQUE0QixVQUFVNkcsR0FBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLFFBQVEsR0FBRyxFQUFFLFdBQVdoSCxFQUFFLFVBQVUsQ0FBQyxDQUFDLFNBQVNvVCxJQUFHcFQsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLDBCQUEwQixXQUFXQSxFQUFFLFVBQVUsQ0FBQyxDQUFvd04sU0FBU3FULElBQUdyVCxFQUFFLENBQUMsR0FBR0EsRUFBRSxPQUFPLFFBQVEsQ0FBQyxHQUFHQSxFQUFFLEtBQUtnSCxHQUFFLEdBQUdoSCxFQUFFLEtBQUssWUFBWSxFQUFFLFFBQVEsR0FBRyxFQUFFLEtBQUssRUFBRUEsRUFBRSxLQUFLLDBCQUEwQixDQUFDb00sSUFBR3BNLEVBQUUsVUFBVSxFQUFFLENBQUMsT0FBT0EsRUFBRSxXQUFXLE1BQU0sQ0FBQyxRQUFRRyxLQUFLSCxFQUFFLFdBQVdHLEVBQUUsS0FBSyxtQ0FBbUNILEVBQUUsV0FBVyxDQUFDLEtBQUssb0NBQW9DLFNBQVNBLEVBQUUsV0FBVyxXQUFXLElBQUltUCxHQUFFblAsRUFBRSxXQUFXLENBQUMsRUFBRSxXQUFXLE1BQU0wTixJQUFHLEdBQUcxTixFQUFFLFdBQVcsRUFBRSxFQUFFLFdBQVcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNzVCxJQUFHdFQsRUFBRSxDQUFDQSxFQUFFLE9BQU8sbUJBQW1CQSxFQUFFLEtBQUssd0JBQXdCQSxFQUFFLEdBQUdBLEVBQUUsS0FBS0EsRUFBRSxLQUFLLENBQUMsS0FBSyxtQ0FBbUMsV0FBVyxJQUFJbVAsR0FBRW5QLEVBQUUsVUFBVSxNQUFNQSxFQUFFLFVBQVUsR0FBRyxFQUFFLE1BQU1BLEVBQUUsS0FBSyxFQUFFLE9BQU9BLEVBQUUsS0FBSyxPQUFPQSxFQUFFLE1BQU0sQ0FBQyxTQUFTdVQsSUFBR3ZULEVBQUUsRUFBRUEsRUFBRSxPQUFPLFVBQVVBLEVBQUUsT0FBTyxZQUFZQSxFQUFFLE9BQU9BLEVBQUUsS0FBS0EsRUFBRSxLQUFLLHdCQUF3QkEsRUFBRSxPQUFPLGtCQUFrQkEsRUFBRSxLQUFLLGlCQUFpQixDQUFDLFNBQVN3VCxJQUFHeFQsRUFBRUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxhQUFhSyxFQUFFLEdBQUcsaUJBQWlCbUIsRUFBRSxHQUFHLHVCQUF1QkMsRUFBRSxHQUFHLDZCQUE2QkMsRUFBRSxHQUFHLHVCQUF1QnNHLEVBQUUsR0FBRyxxQkFBcUJDLENBQUMsRUFBRWpJLEVBQUUsQ0FBQyxVQUFVcUksRUFBRSxPQUFPLENBQUMsRUFBRWlLLElBQUd6UyxFQUFFLENBQUMsYUFBYVEsRUFBRSw2QkFBNkJxQixFQUFFLHVCQUF1QnNHLEVBQUUsa0JBQWtCQyxFQUFFLElBQUlZLElBQUlaLEVBQUUsR0FBR1ksQ0FBQyxFQUFFK0gsR0FBRSxTQUFTLE9BQU8sT0FBTyxzQkFBc0IsSUFBSSxVQUFVLEdBQUcsT0FBTyw4QkFBOEIsSUFBSSxVQUFVLEdBQUcsTUFBTSxDQUFDLEVBQUUsR0FBRyxJQUFJLE1BQU0sQ0FBQyxHQUFHdkksRUFBRSxLQUFLWSxHQUFHQSxFQUFFLE9BQU8sV0FBV0EsRUFBRSxRQUFRLFFBQVFBLEVBQUUsT0FBTyxXQUFXQSxFQUFFLEtBQUssWUFBWSxJQUFJLE1BQU0sRUFBRSxPQUFPb0ssSUFBR3hULEVBQUV5VCxJQUFHLENBQUMsRUFBRSxJQUFJeEssRUFBRUMsRUFBRSxJQUFJRCxJQUFJQSxFQUFFd0osSUFBR3pTLEVBQUUsQ0FBQyxhQUFhUSxFQUFFLDZCQUE2QnFCLEVBQUUsdUJBQXVCc0csQ0FBQyxDQUFDLEdBQUdnQixFQUFFQyxHQUFHRixFQUFFLEVBQUUsVUFBVSxLQUFLLENBQUMsQ0FBQyxnQkFBZ0JHLENBQUMsSUFBSUEsR0FBR0EsRUFBRSxNQUFNLFNBQVNELEVBQUUsZ0JBQWdCLE1BQU0sTUFBTSxHQUFHQSxFQUFFLE9BQU8sQ0FBQ0EsRUFBRUMsQ0FBQyxJQUFJYixFQUFFLFFBQVEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxjQUFja0wsRUFBRyxnQkFBZ0JDLENBQUUsRUFBRXRLLEVBQUUsR0FBR3FLLElBQUssS0FBSyxFQUFFeEssRUFBRSxFQUFFLE9BQU9WLEVBQUVZLENBQUMsRUFBRUQsRUFBRUUsQ0FBQyxVQUFVdUssSUFBR3ZLLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSXdLLEdBQUczSyxFQUFFLEVBQUUsT0FBTyxLQUFLNEssSUFBSUEsR0FBRyxLQUFLLE1BQU0sT0FBT0gsRUFBRyxNQUFNLFFBQVFHLEdBQUcsS0FBSyxNQUFNLE9BQU9KLEVBQUcsSUFBSSxNQUFNLEVBQUVHLElBQUlFLElBQUdGLEVBQUUsRUFBRXJMLEVBQUVZLENBQUMsRUFBRUQsRUFBRUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxHQUFHMEssSUFBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUluTCxFQUFFSSxHQUFHLENBQUMsSUFBSUMsRUFBRUQsRUFBRSxLQUFLLFdBQVcsR0FBRyxFQUFFQSxFQUFFLEtBQUssTUFBTSxDQUFDLEVBQUUsTUFBTSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEtBQUtFLEVBQUVGLEVBQUUsU0FBUyxTQUFTLEVBQUVHLEVBQUVGLElBQUksTUFBTUMsRUFBRSxXQUFXLEdBQUdELENBQUMsR0FBRyxFQUFFRyxFQUFFRCxFQUFFRCxFQUFFLE1BQU1ELEVBQUUsT0FBTyxDQUFDLEVBQUVDLEVBQUVGLEVBQUUsS0FBS0ksRUFBRUosRUFBRSxVQUFVQyxFQUFFRCxFQUFFLHFCQUFxQkcsQ0FBQyxFQUFFZCxFQUFFVyxHQUFHLENBQUMsT0FBT0EsRUFBRSxLQUFLLENBQUMsSUFBSSxVQUFVSixFQUFFSSxDQUFDLEVBQUUsUUFBUUMsS0FBS0QsRUFBRSxNQUFNSixFQUFFSyxDQUFDLEVBQUVBLEVBQUUsV0FBV0EsRUFBRSxNQUFNQSxFQUFFLFVBQVUsU0FBUyxFQUFFLFFBQVEsS0FBS0EsRUFBRSxNQUFNLENBQUMsQ0FBQyxJQUFJQSxFQUFFLE1BQU1BLEVBQUUsTUFBTSxNQUFNLEVBQUUsRUFBRSxJQUFJQSxFQUFFLE1BQU0sS0FBSyxNQUFNLElBQUksVUFBVUQsRUFBRSxNQUFNQSxFQUFFLFdBQVcsU0FBUyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxJQUFJLE9BQU9BLEVBQUUsTUFBTUEsRUFBRSxXQUFXLFNBQVMsRUFBRSxLQUFLLENBQUMsRUFBRVYsRUFBRSxDQUFDVSxFQUFFQyxJQUFJLENBQUMsSUFBSUMsRUFBRUYsRUFBRSxZQUFZLEVBQUUsT0FBT0MsRUFBRUMsQ0FBQyxFQUFFQSxFQUFFRixDQUFDLEVBQUVULEVBQUVTLEdBQUcsQ0FBQyxHQUFHQSxFQUFFLE9BQU8sWUFBWXJILElBQUksQ0FBQ3FILEVBQUUsV0FBV0EsRUFBRSxZQUFZQSxFQUFFLGNBQWMseUJBQXlCN0UsSUFBRzZFLENBQUMsS0FBS0EsRUFBRSxLQUFLVixFQUFFVSxFQUFFLEtBQUtDLEdBQUcrSyxJQUFHLElBQUkvSyxDQUFDLENBQUMsR0FBR3JILEdBQUcsUUFBUXFILEtBQUtELEVBQUUsTUFBTUMsRUFBRSxZQUFZQSxFQUFFLEtBQUtYLEVBQUVXLEVBQUUsS0FBS0MsR0FBRytLLElBQUcsSUFBSWpMLEVBQUUsSUFBSSxJQUFJaUwsSUFBRyxJQUFJLEdBQUcsRUFBRSxJQUFJL0ssQ0FBQyxHQUFHK0ssSUFBRyxJQUFJakwsRUFBRSxJQUFJLEVBQUUsSUFBSUUsQ0FBQyxFQUFFLEVBQUUsRUFBRUosRUFBRUUsR0FBRyxDQUFDQSxFQUFFLFlBQVlBLEVBQUUsZ0JBQWdCQSxFQUFFLFdBQVcsSUFBSW1HLEdBQUVuRyxFQUFFLFdBQVcsTUFBTUEsRUFBRSxjQUFjLEdBQUcsRUFBRSxFQUFFRCxFQUFFQyxHQUFHLENBQUMsR0FBR0EsRUFBRSxPQUFPLFVBQVUsQ0FBQyxJQUFJQyxFQUFFMEgsSUFBR3hJLEVBQUVhLEVBQUUsS0FBS0EsRUFBRSxLQUFLLFlBQVksQ0FBQyxFQUFFLENBQUNBLEVBQUUsV0FBV0EsRUFBRSxZQUFZQyxFQUFFLHlCQUF5QjlFLElBQUc2RSxDQUFDLEVBQUVBLEVBQUUsY0FBY0MsRUFBRUQsRUFBRSxjQUFjMkgsSUFBRyxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU9NLElBQUcsSUFBSSxjQUFjaUQsR0FBRSxDQUFDLG1CQUFtQmxMLEVBQUVDLEVBQUUsQ0FBQyxJQUFJLFdBQVcsS0FBSyxjQUFjQSxFQUFFQyxHQUFHLENBQUNBLEVBQUVGLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU1BLEVBQUUsQ0FBQ1gsRUFBRVcsQ0FBQyxFQUFFRCxFQUFFQyxDQUFDLEVBQUVULEVBQUVTLENBQUMsRUFBRUYsRUFBRUUsQ0FBQyxDQUFDLENBQUMsRUFBRVIsQ0FBQyxFQUFFQSxDQUFDLENBQUMsU0FBU29MLElBQUc1VCxFQUFFRyxFQUFFLENBQUMsSUFBSXVFLEVBQUUsR0FBRzFFLEVBQUUsT0FBTyxXQUFXQSxFQUFFLE9BQU8sV0FBVyxNQUFNLEdBQUcsSUFBSXlFLEdBQUdDLEVBQUUxRSxFQUFFLE1BQU0sS0FBS1EsR0FBR0EsRUFBRSxPQUFPLE1BQU0sSUFBSSxLQUFLLE9BQU9rRSxFQUFFLE1BQU0sTUFBTSxDQUFDRCxHQUFHdUIsSUFBRzdGLEVBQUUsQ0FBQyxTQUFTc0UsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLFNBQVNzUCxJQUFHL1QsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJRyxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBRUgsRUFBRSxNQUFNbVUsSUFBR2hVLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLE1BQU1ILENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBU29VLElBQUdwVSxFQUFFRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxZQUFZSyxFQUFFLFFBQVFtQixDQUFDLEVBQUUsRUFBRTBTLElBQUdyVSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEtBQUssUUFBUUEsQ0FBQyxFQUFFNEIsRUFBRSxJQUFJMFAsSUFBR3RSLEVBQUUsRUFBRSxRQUFRLEVBQUU2QixFQUFFLElBQUl5UyxJQUFHMVMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFdUcsRUFBRXRHLEVBQUUsT0FBTzdCLEVBQUUsTUFBTSxFQUFFb0ksRUFBRSxDQUFDLEtBQUssT0FBTyxXQUFXLElBQUkrRyxHQUFFdE4sRUFBRXNHLENBQUMsRUFBRSxTQUFTcUwsSUFBRzdSLEVBQUV4QixFQUFFLENBQUMsQ0FBQyxFQUFFLEdBQUdLLEVBQUUsQ0FBQyxJQUFJb0ksRUFBRSxJQUFJMEwsSUFBRzFTLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRXlHLEVBQUVPLEVBQUUsT0FBT3BJLEVBQUUsSUFBSSxNQUFNLEVBQUVBLEVBQUUsV0FBVyxJQUFJMk8sR0FBRXZHLEVBQUVQLENBQUMsRUFBRUQsRUFBRSxTQUFTLFFBQVE1SCxDQUFDLENBQUMsQ0FBQyxJQUFJZ0ksRUFBRSxJQUFJK0wsSUFBR25NLENBQUMsRUFBRSxFQUFFLENBQUNRLEVBQUVQLElBQUksQ0FBQyxHQUFHLENBQUMsT0FBT0MsQ0FBQyxFQUFFRCxFQUFFRSxFQUFFdkIsR0FBRSxHQUFHaEgsRUFBRSxNQUFNLEVBQUVzSSxDQUFDLEVBQUUsWUFBWSxHQUFHLEVBQUVTLEVBQUVxTCxJQUFHN0wsRUFBRUssRUFBRXpJLEVBQUUsRUFBRSxFQUFFLEVBQUU0SSxFQUFFLFdBQVcsSUFBSW9HLEdBQUU5RyxFQUFFcUYsSUFBRyxHQUFHM0UsRUFBRSxTQUFTLEVBQUUsRUFBRSxXQUFXLEdBQUcsRUFBRSxJQUFJQyxFQUFFRCxFQUFFLFNBQVMsQ0FBQyxFQUFFLE9BQU9DLEVBQUUsU0FBU1YsRUFBRVMsRUFBRSxTQUFTLE1BQU0sR0FBR0MsRUFBRSxXQUFXLElBQUltRyxHQUFFbkcsRUFBRSxXQUFXLE1BQU0sT0FBT1YsQ0FBQyxFQUFFVSxFQUFFLFdBQVcsR0FBRyxFQUFFQSxFQUFFLE1BQU1BLEVBQUUsTUFBTSxNQUFNVixDQUFDLEdBQUdTLENBQUMsRUFBRSxPQUFPUCxFQUFFLEtBQUtJLEdBQUcsQ0FBQyxHQUFHQSxFQUFFLE9BQU8sVUFBVSxDQUFDLElBQUlQLEVBQUUySyxJQUFHcEssRUFBRSxDQUFDLEVBQUVQLEdBQUdPLEVBQUUsT0FBTyxhQUFhQSxFQUFFUCxDQUFDLENBQUMsQ0FBQ2dMLElBQUd6SyxDQUFDLEVBQUUwSyxJQUFHMUssQ0FBQyxFQUFFMkssSUFBRzNLLENBQUMsQ0FBQyxDQUFDLEVBQUVKLENBQUMsQ0FBQyxTQUFTZ00sSUFBR3hVLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDRyxFQUFFLElBQUlpVSxJQUFHalUsRUFBRUgsRUFBRSxDQUFDLEVBQUUsVUFBVXVOLElBQUcsVUFBVSxPQUFPLFNBQVN2QyxJQUFFLE9BQU9DLEdBQUMsQ0FBQyxDQXJCanhiLElBQUl3SixJQUE2QkMsSUFBK0JDLElBQWdFQyxJQUEwQ0MsR0FBb0VDLElBQXNIQyxJQUFnRkMsSUFBa0ZDLElBQWtIak8sR0FBUy9HLElBQVlDLElBQVc4QixJQUFZckIsSUFBWUUsSUFBV29CLElBQVVqQixJQUFXSSxJQUFVRSxJQUFjRSxJQUFxQk8sSUFBaUJHLElBQTBCQyxJQUFTTCxJQUFXTSxJQUFrQmhDLElBQXNMRSxJQUFVQyxJQUVqL0IyVSxJQUF1RjdTLElBQVU4UyxJQUFVelUsR0FBTUssSUFBNmtCK0wsSUFBaUJzSSxJQUFvQkMsSUFBK0I5TixHQUFXcEUsR0FBbUJGLEdBQVVWLElBQXNIK1MsSUFBdUc1SCxJQUN6aENqTCxJQUFPQyxJQUFpSXFOLElBQTZKd0YsR0FBRUMsSUFBOG9DQyxJQUFVQyxJQUN6N0NDLElBQWM5TyxHQUFTK08sSUFBdUo1RixJQUF3RWxOLElBQVUrUyxJQUErTDlTLElBQStqQitTLElBQTRMOUksSUFBd3pCRSxJQUFVMUosSUFBMmxCd0MsSUFBVVMsSUFBWUQsSUFBNnhDRyxJQUFZRCxJQUFzTnZDLElBQVU0UixJQUFtQ3pPLElBQXVCbUksSUFHM2xJdkksSUFBb3VCUSxJQUE4VUcsSUFBOEJDLElBQStCQyxJQUF1YzhDLElBQXVKRixJQUNoeEQ5QixJQUF1QkosSUFBd0JDLElBQXdCQyxJQUFXVyxJQUFXQyxJQUF1MENHLElBQTBJRSxJQUFzQ0QsSUFBZ2hCZSxJQUFnTVgsSUFBa0tLLElBQSt6RFEsSUFBK2VtQyxJQUFVaUosSUFBa0NsSyxJQUE2RE0sSUFBcWxGTSxJQUErN0JHLElBQVVJLElBQTQyQ2dKLElBQVU3SSxJQUF5SjhJLElBQWtQQyxJQUFVQyxJQUE4ZkMsSUFBVUMsSUFBVUMsSUFFbnJWdEksSUFBNm5JYSxJQUFzRndGLElBRWxuSWhELElBQXNEbkMsR0FBcUxxSCxJQUFpRkMsSUFBc1Z6SCxJQUM2MEcwSCxJQUE4MENDLElBQXlGQyxJQUFValgsSUFBeWdDa1gsSUFBazFCQyxJQUFVQyxJQUE0aUJuWCxJQUFVQyxJQUFvRW1YLElBQWtJQyxJQUE4R0MsSUFBbUZDLElBQXNKQyxJQUE0QkMsSUFBaUM1RyxHQUFzSzZHLElBQXdHdkcsR0FBb2hCUixJQUF3bUJnSCxJQUFlQyxJQUFhQyxJQUFZQyxJQUFZQyxJQUFZQyxJQUF1L2JDLElBQW9KQyxJQUE0RDlHLElBQzF0dEJGLEdBQWlzQkQsSUFBR0QsSUFBOG1FbUgsSUFBMERDLElBQXdJQyxJQUEwSUMsSUFBOEtDLElBQXdNQyxJQUE0T0MsR0FBeU9DLElBQXdIQyxJQUF3SEMsSUFBc09DLElBQTZMQyxJQUF5WHhFLElBQTRnQjFCLElBQ3FzbkJtRyxJQUEyQnhILElBQThVeUgsSUFBK0hDLElBQXlCQyxJQUFxRXZILElBQXVPd0gsSUFBOFNDLElBQXVFQyxJQUF1QzVILElBQ3IyWTZILElBQXUwQ0MsSUFBeTVEQyxJQUF5REMsR0FBaUhDLElBQTJEQyxJQUEyYUMsSUFFajZaQyxJQUFvR0MsSUFBUWhILElBQW9nQnlCLElBQVV0QixJQUc3b053QixJQUFVc0YsSUFBaURDLElBQXVCckYsSUFBeWxEdEIsSUFBazNCZ0IsSUFBNm5MRCxJQUFpeEtQLElBQStGb0csSUFBVUMsSUFBd0JDLElBQTJNQyxJQUF3Q2xhLElBQWlCSixJQXJCM3BjdWEsSUFBQUMsR0FBQSxLQUFJekYsSUFBRyxPQUFPLGVBQW1CQyxJQUFHMVUsR0FBRyxDQUFDLE1BQU0sVUFBVUEsQ0FBQyxDQUFDLEVBQU0yVSxJQUFHLENBQUMzVSxFQUFFRyxJQUFJLENBQUMsUUFBUSxLQUFLQSxFQUFFc1UsSUFBR3pVLEVBQUUsRUFBRSxDQUFDLElBQUlHLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBTXlVLElBQUcsQ0FBQzVVLEVBQUVHLEVBQUUsSUFBSUEsRUFBRSxJQUFJSCxDQUFDLEdBQUcwVSxJQUFHLFVBQVUsQ0FBQyxFQUFNRyxHQUFFLENBQUM3VSxFQUFFRyxFQUFFLEtBQUt5VSxJQUFHNVUsRUFBRUcsRUFBRSx5QkFBeUIsRUFBRSxFQUFFLEVBQUUsS0FBS0gsQ0FBQyxFQUFFRyxFQUFFLElBQUlILENBQUMsR0FBRzhVLElBQUcsQ0FBQzlVLEVBQUVHLEVBQUUsSUFBSUEsRUFBRSxJQUFJSCxDQUFDLEVBQUUwVSxJQUFHLG1EQUFtRCxFQUFFdlUsYUFBYSxRQUFRQSxFQUFFLElBQUlILENBQUMsRUFBRUcsRUFBRSxJQUFJSCxFQUFFLENBQUMsRUFBRStVLElBQUcsQ0FBQy9VLEVBQUVHLEVBQUUsRUFBRSxLQUFLeVUsSUFBRzVVLEVBQUVHLEVBQUUsd0JBQXdCLEVBQUUsRUFBRSxFQUFFLEtBQUtILEVBQUUsQ0FBQyxFQUFFRyxFQUFFLElBQUlILEVBQUUsQ0FBQyxFQUFFLEdBQU9nVixJQUFHLENBQUMsRUFBRUwsSUFBR0ssSUFBRyxDQUFDLFVBQVUsSUFBSXJWLElBQUcsUUFBUSxJQUFJQyxJQUFHLFFBQVEsSUFBSUMsSUFBRyxTQUFTLElBQUlDLEdBQUUsQ0FBQyxFQUFNbVYsSUFBRyxDQUFDalYsRUFBRUcsRUFBRSxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUVILEdBQUdHLEdBQUcsTUFBTSxPQUFPQSxFQUFFLFdBQVdBLEVBQUUsV0FBVyxFQUFFLENBQUMsRUFBRSxFQUFFLE9BQU9BLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRUEsRUFBRSxNQUFNLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFNkcsR0FBRWlPLElBQU9oVixJQUFHLFNBQVNDLElBQUcsUUFBUThCLElBQUcsU0FBU3JCLElBQUcsU0FBU0UsSUFBRyxRQUFRb0IsSUFBRyxPQUFPakIsSUFBRyxRQUFRSSxJQUFHLE9BQU9FLElBQUcsV0FBV0UsSUFBRyxrQkFBa0JPLElBQUcsY0FBY0csSUFBRyx1QkFBdUJDLElBQUUsT0FBT0wsSUFBRyxRQUFRTSxJQUFHLGVBQWVoQyxJQUFHLElBQUksSUFBSSxDQUFDNEIsSUFBR3JCLElBQUdFLElBQUdvQixJQUFHakIsSUFBR0ksSUFBR0UsSUFBR0UsSUFBR08sSUFBR0csSUFBR0MsSUFBRUwsSUFBR00sR0FBRSxDQUFDLEVBQW9JOUIsSUFBR1AsSUFBT1EsSUFBR1AsR0FBRyxJQUFJLEtBQUssV0FBVyxRQUFRLENBQUMsS0FBSyxhQUFhLENBQUMsRUFBRSxPQUFPQSxDQUFDLEVBRWpqQ2tWLElBQUcsY0FBYyxLQUFLLENBQUMsS0FBSyxrQkFBa0IsWUFBWSxFQUFFLENBQUMsTUFBTTdVLElBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQyxFQUFFZ0MsSUFBRzZTLElBQU9DLElBQUcsSUFBSSxDQUFDLEVBQUV6VSxHQUFHeVUsSUFBR3BVLElBQUdvVSxJQUEwa0JySSxJQUFHLENBQUMsS0FBSzFLLEdBQUUsRUFBTWdULElBQUcsQ0FBQyxLQUFLalQsSUFBRSxLQUFLLEVBQUUsRUFBRWtULElBQUcsQ0FBQyxLQUFLbFQsSUFBRSxLQUFLLEdBQUcsUUFBUSxFQUFFLEVBQUVvRixHQUFFLENBQUMsS0FBS3BGLEdBQUMsRUFBRWdCLEdBQUUsQ0FBQyxLQUFLaEIsSUFBRSxLQUFLLEVBQUUsRUFBRWMsR0FBRSxDQUFDbVMsSUFBR3RJLEdBQUUsRUFBRXZLLElBQUcsQ0FBQzhTLElBQUd2SSxHQUFFLEVBQTZHd0ksSUFBRyxDQUFDdFYsRUFBRUcsRUFBRSxJQUFJLENBQUMsR0FBRyxFQUFFSCxHQUFHRyxHQUFHLE1BQU0sT0FBTyxNQUFNLFFBQVFBLENBQUMsR0FBRyxPQUFPQSxHQUFHLFNBQVNBLEVBQUUsRUFBRSxFQUFFQSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUVBLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRXVOLElBQUc0SCxJQUM1aEM3UyxJQUFHLElBQUlDLElBQUcsSUFBOEhxTixJQUFHdk4sSUFBNEpnVCxJQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUUsQ0FBQ1YsSUFBRyxLQUFLUyxFQUFDLEVBQUVSLElBQUcsS0FBS1EsR0FBRSxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQywwQkFBMEIsRUFBRSxDQUFDLElBQUk5USxFQUFFb1EsR0FBRSxLQUFLVSxFQUFDLEVBQUU3USxFQUFFLEVBQUUsUUFBUWxFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLFFBQVFpRSxFQUFFLElBQUksRUFBRSxPQUFPakUsQ0FBQyxDQUFDLEVBQUVBLElBQUlrRSxJQUFJLE9BQU9BLENBQUMsQ0FBQywyQkFBMkIsRUFBRSxDQUFDLElBQUlELEVBQUVvUSxHQUFFLEtBQUtVLEVBQUMsRUFBRTdRLEVBQUUsRUFBRSxRQUFRbEUsRUFBRSxFQUFFLE9BQU8sRUFBRUEsR0FBRyxHQUFHaUUsRUFBRSxJQUFJLEVBQUUsT0FBT2pFLENBQUMsQ0FBQyxFQUFFQSxJQUFJa0UsSUFBSSxPQUFPQSxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxJQUFJRCxFQUFFLEtBQUssMEJBQTBCLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFQSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLElBQUlBLEVBQUUsS0FBSywyQkFBMkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsT0FBT0EsQ0FBQyxDQUFDLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxPQUFPb1EsR0FBRSxLQUFLVSxFQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLE9BQU9WLEdBQUUsS0FBS1UsRUFBQyxFQUFFLElBQUk3SCxJQUFHLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUlqSixFQUFFLEtBQUssMEJBQTBCLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTUEsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSUEsRUFBRSxLQUFLLDJCQUEyQixDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLE9BQU9BLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sS0FBSyxRQUFRLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRUEsRUFBRSxHQUFHLENBQUMsSUFBSUMsRUFBRSxJQUFJL0IsSUFBRyxDQUFDLEdBQUdrUyxHQUFFLEtBQUtVLEVBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSy9VLEVBQUUsSUFBSSxPQUFPaUUsRUFBRSxJQUFJQyxDQUFDLElBQUlBLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxNQUFNbEUsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxJQUFJaUUsRUFBRW9RLEdBQUUsS0FBS1UsRUFBQyxFQUFFLE9BQU8sTUFBTSxVQUFVLEtBQUssS0FBSyxFQUFFN1EsR0FBR0QsRUFBRSxJQUFJQyxDQUFDLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixFQUFFLENBQUMsSUFBSUQsRUFBRW9RLEdBQUUsS0FBS1UsRUFBQyxFQUFFLE9BQU8sTUFBTSxVQUFVLEtBQUssS0FBSyxFQUFFN1EsR0FBRyxDQUFDRCxFQUFFLElBQUlDLENBQUMsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxJQUFJRCxFQUFFb1EsR0FBRSxLQUFLVSxFQUFDLEVBQUUsT0FBTyxNQUFNLFVBQVUsTUFBTSxLQUFLLEVBQUU3USxHQUFHRCxFQUFFLElBQUlDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTZRLEdBQUUsSUFBSSxRQUFZRSxJQUFHRCxJQUFPRSxJQUFHLENBQUMsSUFBSTtBQUFBLEVBQ2g5QyxLQUFLLEtBQUssR0FBRyxFQUFFQyxJQUFHLElBQUlGLElBQUdDLEdBQUUsRUFBRTdPLEdBQUU4TyxJQUFPQyxJQUFHLGNBQWMsS0FBSyxDQUFDLEtBQUssc0JBQXNCLFlBQVksRUFBRW5SLEVBQUVDLEVBQUUsT0FBTyxDQUFDLE1BQU0sY0FBY0QsQ0FBQyxTQUFTQyxDQUFDLEtBQUssS0FBSyxVQUFVLEVBQUVBLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEtBQUssQ0FBQyxDQUFDLEVBQUVzTCxJQUFHNEYsSUFBcUU5UyxJQUFHRixJQUFPaVQsSUFBRyxJQUFJLElBQUksQ0FBQyxhQUFhLGtCQUFrQixnQkFBZ0IsV0FBVyxZQUFZLFVBQVUsZ0JBQWdCLFNBQVMsY0FBYyx3QkFBd0IsZ0JBQWdCLGlCQUFpQixDQUFDLEVBQUU5UyxJQUFHLElBQUksSUFBSSxDQUFDLEtBQUssVUFBVSxNQUFNLFNBQVMsTUFBTSxDQUFDLEVBQWtmRixJQUFHLGtCQUFrQmdULElBQU9DLElBQUdqVCxJQUF5TG1LLElBQUdoSyxJQUFxekJrSyxJQUFHNUosSUFBT0UsSUFBR3hELEdBQUcsT0FBT0EsQ0FBQyxFQUFFLE1BQU0sUUFBUSxFQUFFLElBQUksRUFBdWpCZ0csSUFBR3RDLElBQU8rQyxJQUFHLFNBQVNELElBQUcsQ0FBQyxLQUFLLE9BQU8sS0FBSyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sS0FBSyxPQUFPLEtBQUssT0FBTyxLQUFLLE9BQU8sUUFBUSxPQUFPLFNBQVMsT0FBTyxNQUFNLFFBQVEsR0FBRyxPQUFPLE9BQU8sUUFBUSxNQUFNLE9BQU8sU0FBUyxTQUFTLE1BQU0sT0FBTyxLQUFLLFFBQVEsS0FBSyxRQUFRLFFBQVEsUUFBUSxXQUFXLFFBQVEsT0FBTyxRQUFRLE9BQU8sUUFBUSxJQUFJLFFBQVEsT0FBTyxRQUFRLFdBQVcsUUFBUSxPQUFPLFFBQVEsS0FBSyxRQUFRLE9BQU8sUUFBUSxHQUFHLFFBQVEsT0FBTyxRQUFRLFFBQVEsUUFBUSxLQUFLLFFBQVEsRUFBRSxRQUFRLFVBQVUsUUFBUSxJQUFJLFFBQVEsT0FBTyxRQUFRLElBQUksUUFBUSxLQUFLLFdBQVcsS0FBSyxPQUFPLEdBQUcsWUFBWSxRQUFRLFFBQVEsTUFBTSxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLE9BQU8sUUFBUSxJQUFJLFFBQVEsUUFBUSxRQUFRLElBQUksUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxLQUFLLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFlBQVksTUFBTSxRQUFRLFFBQVEsZ0JBQWdCLFNBQVMscUJBQXFCLElBQUksZUFBZSxNQUFNLHFCQUFxQixNQUFNLGtCQUFrQixNQUFNLHFCQUFxQixHQUFHLFlBQVksR0FBRyxhQUFhLEdBQUcsYUFBYSxNQUFNLGVBQWUsT0FBTyxlQUFlLFNBQVMsUUFBUSxRQUFRLFFBQVEsUUFBUSxRQUFRLFFBQVEsZUFBZSxPQUFPLFFBQVEsTUFBTSxRQUFRLE1BQU0sZUFBZSxTQUFTLGVBQWUsT0FBTyxlQUFlLE1BQU0sZUFBZSxNQUFNLGVBQWUsT0FBTyxlQUFlLE9BQU8sUUFBUSxTQUFTLE9BQU8sRUFBRUcsSUFBRyxTQUFTRCxJQUFHLENBQUMsUUFBUSxNQUFNLFVBQVUsTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLEtBQUssU0FBUyxNQUFNLFVBQVUsU0FBUyxVQUFVLEVBQStHdkMsSUFBR1IsSUFBT29TLElBQUcvVixHQUFHZ0gsR0FBRSxHQUFHaEgsRUFBRSxrQkFBa0IsRUFBRSxFQUFFc0gsSUFBR3RILEdBQUcrVixJQUFHbFAsR0FBRSxRQUFRN0csQ0FBQyxDQUFDLEVBQUV5UCxJQUFHelAsR0FBRyxDQUFDLElBQUlHLEVBQUVILEVBQUUsRUFBRTZHLEdBQUUscUJBQXFCMUcsQ0FBQyxFQUFFLElBQUlBLEVBQUVBLEVBQUUsTUFBTSxFQUFFLE1BQU0sR0FBRyxJQUFJLEVBQUUwRyxHQUFFLHNCQUFzQjFHLENBQUMsRUFBRSxPQUFPLElBQUlBLEVBQUVBLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxLQUFLQSxDQUFDLENBQUMsRUFHcHhJK0csSUFBRyxJQUFJLElBQUksQ0FBQyxXQUFXLFFBQVEsUUFBUSxDQUFDLEVBQTRyQlEsSUFBRyxrQkFBMlVHLElBQUdGLElBQUcsQ0FBQyxPQUFPLGFBQWEsQ0FBQyxFQUFFRyxJQUFHSCxJQUFHLENBQUMsT0FBTyxjQUFjLENBQUMsRUFBRUksSUFBR0osSUFBRyxDQUFDLE9BQU8sZ0JBQWdCLENBQUMsRUFBd2FrRCxJQUFHakQsSUFBb0orQyxJQUFHM0MsSUFDbnhEYSxJQUFHLG9CQUFvQkosSUFBRyxxQkFBcUJDLElBQUcscUJBQXFCQyxJQUFHLFFBQVFXLElBQUcsUUFBUUMsSUFBRyxvREFBbzBDRyxJQUFHeEIsSUFBdUkwQixJQUFHLENBQUMsTUFBTSxJQUFJLE9BQU8sSUFBSSxRQUFRLEdBQUcsRUFBRUQsSUFBRyxPQUFPLEtBQUtDLEdBQUUsRUFBK2ZjLElBQUdsQixJQUE2TE8sSUFBRyxJQUFJLFFBQTJKSyxJQUFHTixJQUE0ekRjLElBQUdQLElBQTRlMEMsSUFBR3RDLElBQU91TCxJQUFHLElBQUksTUFBTSxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSUEsR0FBRSxDQUFDLEVBQUVsSyxJQUFHa0ssSUFBMEQ1SixJQUFHckIsSUFBa2xGMkIsSUFBRyxZQUE0N0JHLElBQUdGLElBQU9NLElBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxVQUFVLE1BQU0sU0FBUyxNQUFNLENBQUMsRUFBMnpDZ0osSUFBR3JKLElBQU9RLElBQUcsS0FBc0o4SSxJQUFHLEdBQUcsUUFBUWxXLEVBQUUsRUFBRUEsR0FBR2tXLElBQUdsVyxJQUFJbU4sSUFBRyxFQUFtTmdKLElBQUc3SSxJQUFPOEksSUFBRyxDQUFDLGVBQWUsQ0FBQyxFQUFFLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxDQUFDLFFBQVEsVUFBVSxFQUFFLHFCQUFxQixDQUFDLFVBQVUsRUFBRSwwQkFBMEIsQ0FBQyxFQUFFLHdCQUF3QixDQUFDLEVBQUUsY0FBYyxDQUFDLFVBQVUsRUFBRSxLQUFLLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUFFLHdCQUF3QixDQUFDLFdBQVcsWUFBWSxFQUFFLGtDQUFrQyxDQUFDLFVBQVUsRUFBRSxpQ0FBaUMsQ0FBQyxFQUFFLHNCQUFzQixDQUFDLE1BQU0sRUFBRSxpQ0FBaUMsQ0FBQyxFQUFFLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxlQUFlLENBQUMsWUFBWSxDQUFDLEVBQUVDLElBQUdELElBQU9FLElBQUdILElBQUdFLEdBQUUsRUFBRUUsSUFBR0QsSUFFdHJWckksSUFBRyxJQUFJLElBQUksQ0FBQyxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxVQUFVLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLGNBQWMsUUFBUSxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLFFBQVEsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsY0FBYyxRQUFRLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGNBQWMsUUFBUSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBK3lIYSxJQUFHLGdCQUFtRndGLElBQUcsTUFBTXRVLEdBQUMsQ0FBQyxZQUFZRyxFQUFFLEVBQUUsRUFBRUssRUFBRSxDQUFDLEtBQUssS0FBS0wsRUFBRSxLQUFLLE9BQU8sRUFBRSxLQUFLLEtBQUssRUFBRSxLQUFLLElBQUlLLENBQUMsQ0FBQyxVQUFVLENBQUMsT0FBTyxLQUFLLFFBQVEsS0FBSyxHQUFHLEtBQUssS0FBSyxHQUFHLElBQUksS0FBSyxJQUFJLElBQUksS0FBSyxHQUFHLEdBQUcsS0FBSyxLQUFLLEdBQUcsQ0FBQyxPQUFPTCxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxRQUFRLEVBQUUsRUFBRSxPQUFPSyxFQUFFLEtBQUssT0FBT21CLEVBQUUsS0FBSyxLQUFLQyxFQUFFLEtBQUssSUFBSSxLQUFLcEIsRUFBRSxHQUFHTCxFQUFFLEdBQUcsR0FBR0ssSUFBSUwsSUFBSSxFQUFFLFdBQVdLLENBQUMsR0FBRyxHQUFHLENBQUNtQixJQUFJLElBQUl3RyxFQUFFLEVBQUUsVUFBVSxFQUFFM0gsRUFBRSxDQUFDLEVBQUUsWUFBWTtBQUFBLENBQXVCLEVBQUVvQixFQUFFdUcsRUFBRSxFQUFFM0gsRUFBRTJILEVBQUUzSCxDQUFDLE1BQU1vQixJQUFJLEtBQUtwQixFQUFFLEdBQUdMLEVBQUUsR0FBRyxDQUFDLElBQUkwQixFQUFFLEVBQUUsV0FBV3JCLENBQUMsRUFBRUEsSUFBSUwsSUFBSTBCLEdBQUcsSUFBSUYsSUFBSUMsRUFBRSxHQUFHQSxHQUFHLENBQUMsT0FBTyxJQUFJNUIsSUFBRSxLQUFLLEtBQUtRLEVBQUVtQixFQUFFQyxDQUFDLENBQUMsQ0FBQyxXQUFXekIsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssS0FBSyxRQUFRSyxFQUFFLEtBQUssT0FBTyxHQUFHQSxHQUFHLEtBQUssQ0FBQ0EsRUFBRSxFQUFFLE9BQU8sSUFBSUEsRUFBRSxFQUFFLE9BQU8sR0FBRyxJQUFJbUIsRUFBRW5CLEVBQUVvQixFQUFFLEVBQUVDLEVBQUUsRUFBRSxLQUFLRCxFQUFFekIsR0FBR0ssRUFBRSxJQUFJQSxJQUFJb0IsSUFBSSxFQUFFLEVBQUVwQixDQUFDLEdBQUc7QUFBQSxHQUM5MEosRUFBRXFCLEdBQUcsS0FBSyxDQUFDLElBQUlELEVBQUUsRUFBRUMsRUFBRSxFQUFFRCxFQUFFekIsR0FBR3dCLEVBQUUsRUFBRSxPQUFPLElBQUlBLElBQUlDLElBQUksRUFBRSxFQUFFRCxDQUFDLEdBQUc7QUFBQSxHQUMzRCxFQUFFRSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxFQUFFLFVBQVVyQixFQUFFLEtBQUssTUFBTSxFQUFFLE1BQU0sRUFBRSxVQUFVLEtBQUssT0FBT21CLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxFQUFFMlAsSUFBRyxLQUFLLENBQUMsWUFBWSxFQUFFN00sRUFBRSxDQUFDLEtBQUssUUFBUSxFQUFFLEtBQUssSUFBSUEsQ0FBQyxDQUFDLEVBQUUwSyxHQUFFLEtBQUssQ0FBQyxZQUFZLEVBQUUxSyxFQUFFQyxFQUFFLEVBQUVsRSxFQUFFLEtBQUssQ0FBQyxLQUFLLE1BQU0sRUFBRSxLQUFLLElBQUlpRSxFQUFFLEtBQUssVUFBVUMsRUFBRSxLQUFLLFFBQVFsRSxDQUFDLENBQUMsVUFBVSxDQUFDLE9BQU8sS0FBSyxNQUFNLEtBQUssUUFBUSxVQUFVLEtBQUssTUFBTSxPQUFPLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQyxHQUFNLFNBQVNSLEVBQUUsQ0FBQ0EsRUFBRUEsRUFBRSxRQUFRLENBQUMsRUFBRSxVQUFVQSxFQUFFQSxFQUFFLE1BQU0sQ0FBQyxFQUFFLE9BQU8sR0FBR3dXLE1BQUtBLElBQUcsQ0FBQyxFQUFFLEVBQU1DLElBQUcsS0FBSyxDQUFDLFlBQVksRUFBRWhTLEVBQUVDLEVBQUU4UixJQUFHLE1BQU0sQ0FBQyxLQUFLLEtBQUssRUFBRSxLQUFLLElBQUkvUixFQUFFLEtBQUssTUFBTUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLElBQUksRUFBRSxLQUFLLEtBQUssTUFBTSxXQUFXLElBQUksQ0FBQyxFQUFFLE9BQU8sRUFBRSxHQUFHLEtBQUssR0FBRyxNQUFNLEVBQUUsTUFBTSxJQUFJOFIsSUFBRyxLQUFLLEtBQUssQ0FBQyxPQUFPLEVBQUUsS0FBSyxLQUFLLEtBQUssR0FBRyxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsS0FBSyxLQUFLLFFBQVEsS0FBSyxLQUFLLEtBQUssT0FBTyxHQUFHLEdBQUcsTUFBTSxHQUFHLEtBQUssa0JBQWtCLENBQUMsS0FBSyxLQUFLLEtBQUssS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQU14SCxJQUFHLENBQUNDLElBQUdDLElBQUdHLElBQUdFLElBQUdDLElBQUdJLElBQUdGLElBQUdDLElBQUdFLElBQUdQLEdBQUUsRUFDNHlHb0gsSUFBRzNILElBQTIwQzRILElBQUcsQ0FBQyxXQUFXRCxJQUFHLE1BQU01RyxJQUFHLGFBQWF0QyxJQUFHLGVBQWVzSSxJQUFHLE1BQU1HLElBQUcsZUFBZU0sR0FBRSxFQUFFSyxJQUFHRCxJQUFPaFgsSUFBRyxDQUFDLENBQUMsbUJBQW1CLElBQUksS0FBSyxVQUFVLEtBQUssU0FBUyxRQUFRLGtCQUFrQixRQUFRLE9BQU8sZUFBZSxZQUFZLG1CQUFtQixZQUFZLE1BQU0sVUFBVSxRQUFRLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxRQUFRLENBQUMsU0FBUyxFQUFFLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsbUJBQW1CLElBQUksS0FBSyxPQUFPLEtBQUssU0FBUyxRQUFRLGtCQUFrQixRQUFRLE9BQU8sZUFBZSxZQUFZLG1CQUFtQixZQUFZLE1BQU0sVUFBVSxRQUFRLENBQUMsT0FBTyxFQUFFLFdBQVcsQ0FBQyxRQUFRLE9BQU8sT0FBTyxXQUFXLE9BQU8sT0FBTyxTQUFTLE9BQU8sRUFBRSxRQUFRLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsbUJBQW1CLElBQUksS0FBSywyQkFBMkIsS0FBSyxTQUFTLFFBQVEsa0JBQWtCLFFBQVEsT0FBTyxlQUFlLFlBQVksbUJBQW1CLFlBQVksTUFBTSxVQUFVLFFBQVEsQ0FBQyxPQUFPLEVBQUUsV0FBVyxDQUFDLEVBQUUsUUFBUSxDQUFDLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUMsRUFBRSxDQUFDLG1CQUFtQixJQUFJLEtBQUssTUFBTSxLQUFLLFNBQVMsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUFNLEVBQUUsUUFBUSxnQkFBZ0IsUUFBUSxPQUFPLFFBQVEsQ0FBQyxLQUFLLEVBQUUsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBTWtYLElBQUcsQ0FBQyxlQUFlLENBQUMsU0FBUyxTQUFTLEtBQUssVUFBVSxRQUFRLEdBQUcsWUFBWSxpQ0FBaUMsb0JBQW9CLHVDQUF1QyxFQUFFLFlBQVksQ0FBQyxTQUFTLFNBQVMsS0FBSyxVQUFVLFFBQVEsR0FBRyxZQUFZLDZDQUE2QyxFQUFFLFVBQVUsQ0FBQyxTQUFTLFNBQVMsS0FBSyxTQUFTLFFBQVEsV0FBVyxZQUFZLHFCQUFxQixRQUFRLENBQUMsQ0FBQyxNQUFNLFNBQVMsWUFBWSwyQ0FBMkMsRUFBRSxDQUFDLE1BQU0sUUFBUSxZQUFZLG9CQUFvQixFQUFFLENBQUMsTUFBTSxXQUFXLFlBQVksbUJBQW1CLENBQUMsQ0FBQyxFQUFFLGdCQUFnQixDQUFDLFNBQVMsU0FBUyxLQUFLLFVBQVUsUUFBUSxHQUFHLFlBQVksa0VBQWtFLEVBQUUsdUJBQXVCLENBQUMsU0FBUyxTQUFTLEtBQUssVUFBVSxRQUFRLEdBQUcsWUFBWSx5REFBeUQsQ0FBQyxFQUFNQyxJQUFHLE9BQU9DLElBQUcsQ0FBQyxnQkFBZ0JGLElBQUcsZ0JBQWdCLDBCQUEwQixDQUFDLFNBQVNDLElBQUcsS0FBSyxTQUFTLFFBQVEsTUFBTSxZQUFZLHFDQUFxQyxRQUFRLENBQUMsQ0FBQyxNQUFNLE1BQU0sWUFBWSxvREFBb0QsRUFBRSxDQUFDLE1BQU0sU0FBUyxZQUFZLHVDQUF1QyxFQUFFLENBQUMsTUFBTSxTQUFTLFlBQVkseUNBQXlDLENBQUMsQ0FBQyxFQUFFLHVCQUF1QkQsSUFBRyx1QkFBdUIsd0JBQXdCLENBQUMsU0FBU0MsSUFBRyxLQUFLLFVBQVUsUUFBUSxHQUFHLFlBQVksNENBQTRDLENBQUMsRUFBRWxYLElBQUdtWCxJQUFPbFgsSUFBRyxDQUFDLEVBQUU4VSxJQUFHOVUsSUFBRyxDQUFDLFFBQVEsSUFBSWlhLElBQUcsS0FBSyxJQUFJRCxJQUFHLElBQUksSUFBSUcsSUFBRyxJQUFJLElBQUlELEdBQUUsQ0FBQyxFQUFNL0MsSUFBRyxJQUFJLE9BQU8sMkdBQTJHLEdBQUcsR0FBVSxTQUFTaFgsRUFBRSxDQUFDQSxFQUFFQSxFQUFFLFNBQVMsQ0FBQyxFQUFFLFdBQVdBLEVBQUVBLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBT0EsRUFBRUEsRUFBRSxVQUFVLENBQUMsRUFBRSxXQUFXLEdBQUdpWCxNQUFLQSxJQUFHLENBQUMsRUFBRSxHQUFVLFNBQVNqWCxFQUFFLENBQUNBLEVBQUVBLEVBQUUsT0FBTyxDQUFDLEVBQUUsU0FBU0EsRUFBRUEsRUFBRSxRQUFRLENBQUMsRUFBRSxTQUFTLEdBQUdrWCxNQUFLQSxJQUFHLENBQUMsRUFBRSxHQUFVLFNBQVNsWCxFQUFFLENBQUNBLEVBQUVBLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBT0EsRUFBRUEsRUFBRSxZQUFZLENBQUMsRUFBRSxjQUFjQSxFQUFFQSxFQUFFLDJCQUEyQixDQUFDLEVBQUUsNEJBQTRCLEdBQUdtWCxNQUFLQSxJQUFHLENBQUMsRUFBRSxFQUFNQyxJQUFHLENBQUMsS0FBSyxpQkFBaUIsRUFBRUMsSUFBRyxDQUFDLEtBQUssa0JBQWtCLEdBQVMsU0FBU3JYLEVBQUUsQ0FBQ0EsRUFBRUEsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPQSxFQUFFQSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU9BLEVBQUVBLEVBQUUsTUFBTSxDQUFDLEVBQUUsUUFBUUEsRUFBRUEsRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTQSxFQUFFQSxFQUFFLElBQUksQ0FBQyxFQUFFLE1BQU1BLEVBQUVBLEVBQUUsYUFBYSxDQUFDLEVBQUUsY0FBYyxHQUFHeVEsS0FBSUEsR0FBRSxDQUFDLEVBQUUsR0FBVSxTQUFTelEsRUFBRSxDQUFDQSxFQUFFQSxFQUFFLE1BQU0sQ0FBQyxFQUFFLFFBQVFBLEVBQUVBLEVBQUUsUUFBUSxDQUFDLEVBQUUsVUFBVUEsRUFBRUEsRUFBRSxPQUFPLENBQUMsRUFBRSxRQUFRLEdBQUdzWCxNQUFLQSxJQUFHLENBQUMsRUFBRSxHQUFTLFNBQVN0WCxFQUFFLENBQUNBLEVBQUVBLEVBQUUsU0FBUyxDQUFDLEVBQUUsV0FBV0EsRUFBRUEsRUFBRSxtQkFBbUIsQ0FBQyxFQUFFLHFCQUFxQkEsRUFBRUEsRUFBRSxjQUFjLENBQUMsRUFBRSxlQUFlLEdBQUcrUSxLQUFJQSxHQUFFLENBQUMsRUFBRSxFQUFtL0J3RyxJQUFHLEtBQUssQ0FBQyxFQUFNQyxJQUFHLFVBQVVDLElBQUcsU0FBU0MsSUFBRyxTQUFTQyxJQUFHLFNBQVNDLElBQUcsQ0FBQyx3NkJBQXc2Qix3dkNBQXd2QywrNkNBQSs2QyxnUEFBZ1AsMGtDQUEwa0MsdUJBQXVCLDJDQUEyQyx1QkFBdUIsd0NBQXdDLHVCQUF1QixrQ0FBa0MseUNBQXlDLDRMQUE0TCx1S0FBdUssZUFBZSx5QkFBeUIsaUNBQWlDLHdTQUF3Uyw4R0FBOEcsc0NBQXNDLCtCQUErQiw0QkFBNEIsMkJBQTJCLDBCQUEwQiw4QkFBOEIseUNBQXlDLDZCQUE2QiwwQkFBMEIsdURBQXVELHdDQUF3QyxxQ0FBcUMsdUdBQXVHLGlHQUFpRyw2UUFBNlEsbURBQW1ELHNCQUFzQix3Q0FBd0MsNkJBQTZCLGtNQUFrTSxxS0FBcUssOFpBQThaLCtCQUErQiw4QkFBOEIsNkJBQTZCLCtKQUErSix5QkFBeUIsNEhBQTRILDhCQUE4Qix5REFBeUQsMkRBQTJELHNDQUFzQyxrREFBa0QsdUlBQXVJLHlDQUF5Qyw2RUFBNkUsd0RBQXdELHdCQUF3QixnREFBZ0QseUJBQXlCLDJCQUEyQixxQ0FBcUMsbUNBQW1DLDBIQUEwSCwwR0FBMEcsMEJBQTBCLGtFQUFrRSxzQkFBc0IsMkNBQTJDLDhCQUE4QixtSEFBbUgsK0RBQStELG9IQUFvSCxpREFBaUQsd0RBQXdELDBCQUEwQix3TUFBd00sOEJBQThCLDJCQUEyQixzREFBc0QsaUNBQWlDLHlCQUF5Qix3SEFBd0gsd0JBQXdCLCtCQUErQixxQ0FBcUMsd0NBQXdDLDZCQUE2QiwrQkFBK0IsMkJBQTJCLG1CQUFtQixzQkFBc0IsOEJBQThCLHNCQUFzQiw0QkFBNEIsa0NBQWtDLDBCQUEwQiwrQkFBK0IsZ0NBQWdDLGdDQUFnQyw2QkFBNkIsMkJBQTJCLHNCQUFzQiwrQ0FBK0MsK0NBQStDLCtDQUErQywrQ0FBK0MsNkJBQTZCLHNCQUFzQixzQkFBc0IsMEJBQTBCLDJCQUEyQix1QkFBdUIsMkJBQTJCLGlDQUFpQywwQkFBMEIscUJBQXFCLDJCQUEyQixxQkFBcUIsb0NBQW9DLHdCQUF3QixvQ0FBb0MsMkJBQTJCLHFDQUFxQyxvQkFBb0IscUJBQXFCLG1CQUFtQix1QkFBdUIsMkJBQTJCLHNCQUFzQiw4QkFBOEIsK0JBQStCLHFDQUFxQywyQkFBMkIsbURBQW1ELHlCQUF5QiwyQkFBMkIsbUJBQW1CLDhDQUE4Qyw2QkFBNkIscUJBQXFCLG1DQUFtQyxrQ0FBa0Msa0NBQWtDLG9CQUFvQiwwQkFBMEIsOEJBQThCLDJCQUEyQix3RUFBd0UsZ0ZBQWdGLHlCQUF5Qiw4QkFBOEIscUJBQXFCLDhyQ0FBOHJDLHFCQUFxQix3QkFBd0IseUJBQXlCLHVCQUF1Qix3QkFBd0Isc0JBQXNCLG1CQUFtQiw4QkFBOEIsbUJBQW1CLG1CQUFtQixzQkFBc0Isd0JBQXdCLHlCQUF5QixzQkFBc0IscUJBQXFCLG1CQUFtQix1QkFBdUIsc0JBQXNCLHVCQUF1QixxQkFBcUIsd0JBQXdCLHFCQUFxQix1QkFBdUIsb0JBQW9CLHNCQUFzQixvQkFBb0IsdUJBQXVCLDJCQUEyQix5QkFBeUIsRUFBRUMsSUFBRyxJQUFJLElBQUksT0FBTyxRQUFRLENBQUMsTUFBTSxZQUFZLElBQUksVUFBVSxXQUFXLGFBQWEsVUFBVSxZQUFZLFNBQVMsV0FBVyxTQUFTLFVBQVUsQ0FBQyxDQUFDLEVBQUVDLElBQUcsTUFBTSxLQUFLRCxHQUFFLEVBQUUsT0FBTyxDQUFDN1gsRUFBRSxDQUFDRyxFQUFFLENBQUMsS0FBS0gsRUFBRSxJQUFJRyxFQUFFLENBQUMsRUFBRUgsR0FBRyxJQUFJLEdBQUcsRUFBRWdSLElBQUcsY0FBY3VHLEdBQUUsQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLEtBQUssUUFBUSxJQUFJLElBQUksS0FBSyxhQUFhLElBQUksSUFBSUssSUFBRyxRQUFRLEdBQUcsQ0FBQyxJQUFJblQsRUFBRSxJQUFJLElBQUlDLEVBQUUsSUFBSSxJQUFJLENBQUNsRSxFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU0sR0FBRyxFQUFFb0IsRUFBRSxFQUFFLE1BQU0sR0FBRyxFQUFFLENBQUNDLEVBQUVzRyxDQUFDLEVBQUUzSCxFQUFFLE1BQU0sR0FBRyxFQUFFcUIsRUFBRSxNQUFNLEdBQUcsRUFBRSxRQUFRMkcsR0FBRyxDQUFDLEtBQUssUUFBUSxJQUFJQSxFQUFFLFlBQVksRUFBRS9ELENBQUMsRUFBRSxLQUFLLGFBQWEsSUFBSStELEVBQUUsWUFBWSxFQUFFOUQsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJMEQsRUFBRUQsR0FBRyxLQUFLLFFBQVEsSUFBSUEsRUFBRSxZQUFZLENBQUMsRUFBRSxHQUFHQyxFQUFFLENBQUMsT0FBTyxDQUFDSSxFQUFFMkQsQ0FBQyxJQUFJL0QsRUFBRTNELEVBQUUsSUFBSStELEVBQUUyRCxDQUFDLEVBQUUsUUFBUTNELEtBQUssS0FBSyxhQUFhLElBQUlMLEVBQUUsWUFBWSxDQUFDLEVBQUV6RCxFQUFFLElBQUk4RCxDQUFDLENBQUMsQ0FBQzVHLEVBQUUsUUFBUTRHLEdBQUcsQ0FBQyxHQUFHQSxFQUFFLE9BQU8sRUFBRSxPQUFPQSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksSUFBSTlELEVBQUUsSUFBSThELEVBQUUsVUFBVSxDQUFDLENBQUMsRUFBRSxNQUFNLElBQUksSUFBSS9ELEVBQUUsSUFBSStELEVBQUUsVUFBVSxDQUFDLEVBQUVnUCxHQUFFLEVBQUUsTUFBTSxJQUFJLElBQUkvUyxFQUFFLElBQUkrRCxFQUFFLFVBQVUsQ0FBQyxFQUFFaVAsR0FBRSxFQUFFLE1BQU0sSUFBSSxJQUFJaFQsRUFBRSxJQUFJK0QsRUFBRSxVQUFVLENBQUMsRUFBRW1QLEdBQUUsRUFBRSxNQUFNLFFBQVFsVCxFQUFFLElBQUkrRCxFQUFFa1AsR0FBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksRUFBRWpULEVBQUVDLEVBQUUsQ0FBQyxHQUFHQSxFQUFFLEtBQUsvQyxHQUFHQSxFQUFFLE9BQU8wVixJQUFHLElBQUksRUFBRSxNQUFNLEdBQUcsR0FBRyxFQUFFLFFBQVEsR0FBRyxFQUFFLEdBQUcsQ0FBQyxHQUFHbkgsSUFBRyxDQUFDLEdBQUdDLElBQUcsQ0FBQyxFQUFFLE1BQU0sR0FBRyxHQUFHekwsRUFBRSxLQUFLL0MsR0FBR0EsRUFBRSxPQUFPeVYsSUFBRyxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsT0FBTyxLQUFLLFFBQVEsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLEtBQUssUUFBUSxJQUFJLFNBQVMsR0FBRyxJQUFJM1MsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFQSxFQUFFLENBQUMsT0FBT0EsRUFBRSxLQUFLQyxHQUFHQSxFQUFFLE9BQU8yUyxJQUFHLElBQUksR0FBRyxFQUFFLFFBQVEsR0FBRyxFQUFFLEtBQUtuSCxJQUFHLENBQUMsR0FBR0MsSUFBRyxDQUFDLEdBQUcxTCxFQUFFLEtBQUtDLEdBQUdBLEVBQUUsT0FBTzBTLElBQUcsSUFBSSxHQUFHLEdBQUcsS0FBSyxRQUFRLElBQUksRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLGdCQUFnQixFQUFFM1MsRUFBRUMsRUFBRSxDQUFDQSxJQUFJRCxFQUFFLEtBQUssa0JBQWtCQSxDQUFDLEdBQUcsRUFBRSxFQUFFLFlBQVksRUFBRUEsRUFBRUEsRUFBRSxZQUFZLEVBQUUsSUFBSWpFLEVBQUU4UCxJQUFHLEVBQUUsRUFBRSxJQUFJN0wsQ0FBQyxFQUFFLE9BQU9qRSxJQUFJQSxFQUFFOFAsSUFBRyxFQUFFLEtBQUs3TCxDQUFDLEVBQUVqRSxHQUFHaVEsR0FBRSxLQUFLLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxPQUFPb0gsSUFBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsZ0NBQWdDLENBQUMsTUFBTSxjQUFjLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxFQUFFLFdBQVcsSUFBSSxFQUFFLENBQUMsTUFBTSxHQUFHLElBQUksOEJBQThCLENBQUMscURBQXFELEVBQUUsTUFBTSxDQUFDLENBQUM7QUFBQSxNQUMvZ3pCLENBQUMsb0ZBQW9GLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLGtCQUFrQixFQUFFLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLElBQUksRUFBRSxDQUFDLE1BQU0sR0FBRyxJQUFJLCtCQUErQixDQUFDLHFEQUFxRCxFQUFFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsc0JBQXNCLENBQUMsT0FBTyxNQUFNLEtBQUssS0FBSyxRQUFRLEtBQUssQ0FBQyxDQUFDLENBQUMsNEJBQTRCLEVBQUUsQ0FBQyxJQUFJcFQsRUFBRSxLQUFLLFFBQVEsSUFBSSxFQUFFLFlBQVksQ0FBQyxHQUFHLEtBQUssUUFBUSxJQUFJLFNBQVMsRUFBRSxPQUFPLE1BQU0sS0FBS0EsRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJQyxHQUFHb1QsSUFBRyxJQUFJcFQsQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLE9BQU8sTUFBTSxLQUFLLEtBQUssYUFBYSxJQUFJLEVBQUUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxnQ0FBZ0MsRUFBRSxDQUFDLE9BQU9tSyxJQUFHLENBQUMsQ0FBQyxDQUFDLDZCQUE2QixFQUFFcEssRUFBRUMsRUFBRSxDQUFDLElBQUlsRSxFQUFFLEdBQUcsRUFBRWtFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRTlDLEVBQUUsS0FBSyxHQUFHOE8sSUFBRyxDQUFDLEdBQUdoTSxJQUFJLEdBQUdBLElBQUksSUFBSSxHQUFHLE9BQU9BLEdBQUcsU0FBU2xFLEVBQUUsU0FBUyxDQUFDLElBQUlxQixFQUFFNkMsRUFBRSxNQUFNLHdCQUF3QixFQUFFN0MsR0FBR0EsRUFBRSxDQUFDLEVBQUUsUUFBUSxJQUFJRCxFQUFFLHVDQUF1QzZDLENBQUMsSUFBSUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE1BQU05QyxFQUFFLE1BQU0sRUFBRXBCLENBQUMsQ0FBQyxDQUFDLEVBQXFoQnNRLEdBQUUsS0FBSyxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsRUFBRSx3QkFBd0JyTSxFQUFFLFlBQVlDLEVBQUVxTSxHQUFFLGNBQWMsZUFBZXZRLEVBQUUsR0FBRyxPQUFPLEVBQUUsR0FBRyxjQUFjb0IsRUFBRSxHQUFHLDRCQUE0QkMsRUFBRSxHQUFHLGFBQWFzRyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLGlCQUFpQixDQUFDLEVBQUUsS0FBSyxlQUFlLEdBQUcsR0FBRyxFQUFFLE9BQU8sR0FBRyxFQUFFLFFBQVFDLEdBQUcsS0FBSyxpQkFBaUJBLENBQUMsRUFBRSxFQUFFLEVBQUUsS0FBSyxPQUFPLEVBQUUsS0FBSyxlQUFlNUgsR0FBRyxFQUFFLEtBQUssd0JBQXdCaUUsR0FBRyxLQUFLLEtBQUssWUFBWUMsRUFBRSxLQUFLLGNBQWM5QyxFQUFFLEtBQUssNEJBQTRCQyxFQUFFLEtBQUssYUFBYXNHLEdBQUcsQ0FBQyxDQUFDLGdCQUFnQixFQUFFLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRSxZQUFZLElBQUksS0FBSyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxPQUFPLE9BQU8sS0FBSyxhQUFhLFVBQVUsSUFBSSxPQUFPLE9BQU8sS0FBSyxZQUFZLENBQUMsSUFBSSxLQUFLLFlBQVksUUFBUSxLQUFLLFdBQVcsQ0FBQyxFQUFtbkU0UCxJQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUV0VCxFQUFFLENBQUMsS0FBSyxXQUFXLEVBQUUsS0FBSyxLQUFLQSxDQUFDLENBQUMsRUFBRXVULElBQUcsY0FBY0QsR0FBRSxDQUFDLFlBQVksRUFBRXRULEVBQUVDLEVBQUVsRSxFQUFFLENBQUMsTUFBTWlFLEVBQUVqRSxDQUFDLEVBQUUsS0FBSyxNQUFNLEVBQUUsS0FBSyxPQUFPa0UsRUFBRSxLQUFLLEtBQUssTUFBTSxDQUFDLE1BQU0sRUFBRUQsRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFVLEtBQUtBLENBQUMsQ0FBQyxDQUFDLEVBQUV3VCxJQUFHLGNBQWNGLEdBQUUsQ0FBQyxZQUFZLEVBQUV0VCxFQUFFQyxFQUFFbEUsRUFBRSxDQUFDLE1BQU1pRSxFQUFFakUsQ0FBQyxFQUFFLEtBQUssTUFBTSxFQUFFLEtBQUssT0FBT2tFLEVBQUUsS0FBSyxLQUFLLE9BQU8sQ0FBQyxNQUFNLEVBQUVELEVBQUUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxLQUFLQSxDQUFDLENBQUMsQ0FBQyxFQUFFeVQsSUFBRyxjQUFjSCxHQUFFLENBQUMsWUFBWSxFQUFFdFQsRUFBRUMsRUFBRWxFLEVBQUUsRUFBRW9CLEVBQUUsQ0FBQyxNQUFNcEIsRUFBRW9CLENBQUMsRUFBRSxLQUFLLFlBQVksRUFBRSxLQUFLLEtBQUs2QyxFQUFFLEtBQUssTUFBTUMsRUFBRSxLQUFLLHNCQUFzQixDQUFDLENBQUMsTUFBTSxFQUFFRCxFQUFFLENBQUMsT0FBTyxFQUFFLGVBQWUsS0FBS0EsQ0FBQyxDQUFDLENBQUMsRUFBRTBULElBQUcsS0FBSyxDQUFDLFlBQVksRUFBRTFULEVBQUVDLEVBQUVsRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLE1BQU0sRUFBRSxLQUFLLFdBQVdpRSxFQUFFLEtBQUssV0FBV0MsRUFBRSxLQUFLLGdCQUFnQmxFLEVBQUUsS0FBSyxjQUFjLEVBQUUsS0FBSyxLQUFLLGVBQWUsQ0FBQyxNQUFNLEVBQUVpRSxFQUFFLENBQUMsT0FBTyxFQUFFLG1CQUFtQixLQUFLQSxDQUFDLENBQUMsQ0FBQyxFQUFFMlQsSUFBRyxjQUFjTCxHQUFFLENBQUMsWUFBWSxFQUFFdFQsRUFBRUMsRUFBRWxFLEVBQUUsRUFBRW9CLEVBQUVDLEVBQUUsQ0FBQyxNQUFNNkMsRUFBRTdDLENBQUMsRUFBRSxLQUFLLEtBQUssRUFBRSxLQUFLLE1BQU00QyxFQUFFLEtBQUssUUFBUWpFLEVBQUUsS0FBSyxVQUFVLEVBQUUsS0FBSyxZQUFZb0IsRUFBRSxLQUFLLEtBQUssV0FBVyxDQUFDLE1BQU0sRUFBRTZDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsZUFBZSxLQUFLQSxDQUFDLENBQUMsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssT0FBTyxDQUFDLEVBQUU0VCxHQUFFLGNBQWNOLEdBQUUsQ0FBQyxZQUFZLEVBQUV0VCxFQUFFQyxFQUFFbEUsRUFBRSxFQUFFb0IsRUFBRSxLQUFLQyxFQUFFLEtBQUtzRyxFQUFFLENBQUMsTUFBTTNILEVBQUUySCxDQUFDLEVBQUUsS0FBSyxLQUFLLEVBQUUsS0FBSyxNQUFNMUQsRUFBRSxLQUFLLFNBQVNDLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRSxLQUFLLGNBQWM5QyxFQUFFLEtBQUssU0FBU0MsRUFBRSxLQUFLLEtBQUssU0FBUyxDQUFDLE1BQU0sRUFBRTRDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsYUFBYSxLQUFLQSxDQUFDLENBQUMsQ0FBQyxFQUFFNlQsSUFBRyxLQUFLLENBQUMsWUFBWSxFQUFFN1QsRUFBRSxDQUFDLEtBQUssTUFBTSxFQUFFLEtBQUssV0FBV0EsRUFBRSxLQUFLLEtBQUssU0FBUyxDQUFDLE1BQU0sRUFBRUEsRUFBRSxDQUFDLE9BQU8sRUFBRSxhQUFhLEtBQUtBLENBQUMsQ0FBQyxDQUFDLEVBQUU4VCxJQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUU5VCxFQUFFLENBQUMsS0FBSyxNQUFNLEVBQUUsS0FBSyxXQUFXQSxFQUFFLEtBQUssS0FBSyxTQUFTLENBQUMsTUFBTSxFQUFFQSxFQUFFLENBQUMsT0FBTyxFQUFFLGFBQWEsS0FBS0EsQ0FBQyxDQUFDLENBQUMsRUFBRStULElBQUcsY0FBY1QsR0FBRSxDQUFDLFlBQVksRUFBRXRULEVBQUVDLEVBQUVsRSxFQUFFLEVBQUVvQixFQUFFQyxFQUFFLEtBQUtzRyxFQUFFLENBQUMsTUFBTTNILEVBQUUySCxDQUFDLEVBQUUsS0FBSyxLQUFLLEVBQUUsS0FBSyxXQUFXMUQsRUFBRSxLQUFLLFNBQVNDLEVBQUUsS0FBSyxTQUFTLEVBQUUsS0FBSyxnQkFBZ0I5QyxFQUFFLEtBQUssY0FBY0MsRUFBRSxLQUFLLEtBQUssT0FBTyxDQUFDLE1BQU0sRUFBRTRDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsV0FBVyxLQUFLQSxDQUFDLENBQUMsQ0FBQyxFQUFFZ1UsSUFBRyxLQUFLLENBQUMsWUFBWSxFQUFFaFUsRUFBRSxDQUFDLEtBQUssV0FBVyxFQUFFLEtBQUssV0FBV0EsRUFBRSxLQUFLLEtBQUssaUJBQWlCLEtBQUssZ0JBQWdCLEtBQUssS0FBSyxjQUFjLElBQUksQ0FBQyxNQUFNLEVBQUVBLEVBQUUsQ0FBQyxPQUFPLEVBQUUsb0JBQW9CLEtBQUtBLENBQUMsQ0FBQyxDQUFDLEVBQUVpVSxJQUFHLEtBQUssQ0FBQyxZQUFZLEVBQUVqVSxFQUFFQyxFQUFFbEUsRUFBRSxFQUFFLENBQUMsS0FBSyxLQUFLLEVBQUUsS0FBSyxNQUFNaUUsRUFBRSxLQUFLLFdBQVdDLEVBQUUsS0FBSyxTQUFTbEUsRUFBRSxLQUFLLFVBQVUsRUFBRSxLQUFLLEtBQUssaUJBQWlCLEtBQUssZ0JBQWdCLEtBQUssS0FBSyxjQUFjLElBQUksQ0FBQyxNQUFNLEVBQUVpRSxFQUFFLENBQUMsT0FBTyxFQUFFLG9CQUFvQixLQUFLQSxDQUFDLENBQUMsQ0FBQyxFQUFnSnlQLElBQUcsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLGFBQWEsRUFBRXpQLEVBQUUsQ0FBQyxLQUFLLGNBQWNBLEVBQUVDLEdBQUcsQ0FBQ0EsRUFBRSxFQUFFLEtBQUssRUFBRUEsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxlQUFlLEVBQUVELEVBQUUsQ0FBQyxDQUFDLFVBQVUsRUFBRUEsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFQSxFQUFFLENBQUMsQ0FBQyxhQUFhLEVBQUVBLEVBQUUsQ0FBQyxDQUFDLGFBQWEsRUFBRUEsRUFBRSxDQUFDLENBQUMsZUFBZSxFQUFFQSxFQUFFLENBQUMsT0FBTyxLQUFLLGNBQWNBLEVBQUVDLEdBQUcsQ0FBQ0EsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsRUFBRUQsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFFQSxFQUFFLENBQUMsS0FBSyxjQUFjQSxFQUFFQyxHQUFHLENBQUNBLEVBQUUsRUFBRSxVQUFVLEVBQUVBLEVBQUUsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsb0JBQW9CLEVBQUVELEVBQUUsQ0FBQyxDQUFDLG9CQUFvQixFQUFFQSxFQUFFLENBQUMsQ0FBQyxjQUFjLEVBQUVBLEVBQUUsQ0FBQyxJQUFJQyxFQUFFLENBQUMsRUFBRWxFLEVBQUUsS0FBSyxTQUFTLEVBQUVvQixFQUFFLENBQUNBLEdBQUc4QyxFQUFFLEtBQUt1TSxJQUFHelEsRUFBRW9CLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPNkMsRUFBRSxDQUFDLEVBQUUsTUFBTSxVQUFVLE9BQU8sTUFBTSxDQUFDLEVBQUVDLENBQUMsQ0FBQyxDQUFDLEVBQU04TixJQUFHLENBQUMsTUFBTSxPQUFPLElBQUksSUFBSSxJQUFJLElBQUksT0FBTyxPQUFPLE9BQU8sU0FBUyxNQUFNLE9BQU8sSUFBSSxTQUFTLElBQUksWUFBWSxPQUFPLE9BQU8sTUFBTSxTQUFTLE1BQU0sU0FBUyxJQUFJLFNBQVMsTUFBTSxTQUFTLEtBQUssWUFBWSxjQUFjLFNBQVMsR0FBRyxTQUFTLE1BQU0sT0FBTyxNQUFNLE9BQU8sS0FBSyxZQUFZLE9BQU8sU0FBUyxPQUFPLFNBQVMsUUFBUSxTQUFTLE9BQU8sT0FBTyxLQUFLLE9BQU8sVUFBVSxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsY0FBYyxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLGVBQWUsU0FBUyxJQUFJLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsV0FBVyxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLElBQUksWUFBWSxLQUFLLFlBQVksTUFBTSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsYUFBYSxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsS0FBSyxPQUFPLEtBQUssT0FBTyxPQUFPLFNBQVMsSUFBSSxTQUFTLHFCQUFxQixTQUFTLEdBQUcsU0FBUyxRQUFRLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxPQUFPLE9BQU8sTUFBTSxTQUFTLFFBQVEsU0FBUyxLQUFLLFNBQVMsUUFBUSxPQUFPLE1BQU0sT0FBTyxVQUFVLE9BQU8sVUFBVSxPQUFPLE9BQU8sT0FBTyxJQUFJLFNBQVMsVUFBVSxTQUFTLEtBQUssU0FBUyxZQUFZLFNBQVMsT0FBTyxTQUFTLFdBQVcsU0FBUyxNQUFNLFNBQVMsWUFBWSxTQUFTLE9BQU8sU0FBUyx5QkFBeUIsU0FBUyxTQUFTLFNBQVMsc0JBQXNCLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxnQkFBZ0IsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxXQUFXLFNBQVMsT0FBTyxTQUFTLFVBQVUsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLHNCQUFzQixTQUFTLGdCQUFnQixTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLFVBQVUsU0FBUyxVQUFVLFNBQVMsT0FBTyxTQUFTLGdDQUFnQyxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLElBQUksU0FBUyxPQUFPLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsUUFBUSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsY0FBYyxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsSUFBSSxZQUFZLGlCQUFpQixPQUFPLE1BQU0sT0FBTyxlQUFlLFNBQVMsSUFBSSxTQUFTLHVCQUF1QixTQUFTLE1BQU0sU0FBUyxpQkFBaUIsSUFBSSxNQUFNLElBQUksaUJBQWlCLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxLQUFLLFNBQVMsUUFBUSxTQUFTLGNBQWMsU0FBUyxHQUFHLFNBQVMsS0FBSyxZQUFZLElBQUksT0FBTyxVQUFVLE9BQU8sSUFBSSxPQUFPLElBQUksT0FBTyxPQUFPLFNBQVMsU0FBUyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsZ0JBQWdCLFNBQVMsVUFBVSxTQUFTLEtBQUssU0FBUyxnQkFBZ0IsU0FBUyxVQUFVLFNBQVMsS0FBSyxTQUFTLHFCQUFxQixTQUFTLGVBQWUsU0FBUyxLQUFLLFNBQVMsSUFBSSxTQUFTLG9CQUFvQixTQUFTLGNBQWMsU0FBUyxNQUFNLFNBQVMseUJBQXlCLFNBQVMsbUJBQW1CLFNBQVMsTUFBTSxTQUFTLHFCQUFxQixTQUFTLGVBQWUsU0FBUyxNQUFNLFNBQVMsaUJBQWlCLFNBQVMsUUFBUSxTQUFTLFdBQVcsU0FBUyxLQUFLLFNBQVMsZUFBZSxTQUFTLE1BQU0sU0FBUyxjQUFjLFNBQVMsUUFBUSxTQUFTLEtBQUssU0FBUyxrQkFBa0IsU0FBUyxZQUFZLFNBQVMsS0FBSyxTQUFTLGtCQUFrQixTQUFTLElBQUksU0FBUyxTQUFTLFNBQVMsY0FBYyxTQUFTLEtBQUssU0FBUyxVQUFVLFNBQVMsZUFBZSxTQUFTLEtBQUssU0FBUyxVQUFVLFNBQVMsYUFBYSxTQUFTLGlCQUFpQixTQUFTLE1BQU0sU0FBUyxVQUFVLFNBQVMsb0JBQW9CLFNBQVMsa0JBQWtCLFNBQVMsZUFBZSxTQUFTLGdCQUFnQixTQUFTLE1BQU0sU0FBUyxrQkFBa0IsU0FBUyxtQkFBbUIsU0FBUyxnQkFBZ0IsU0FBUyxNQUFNLFNBQVMsaUJBQWlCLFNBQVMsbUJBQW1CLFNBQVMsUUFBUSxTQUFTLElBQUksU0FBUyxhQUFhLFNBQVMsV0FBVyxTQUFTLEtBQUssWUFBWSxPQUFPLFNBQVMsSUFBSSxTQUFTLElBQUksT0FBTyxPQUFPLE9BQU8sT0FBTyxTQUFTLE1BQU0sT0FBTyxJQUFJLFNBQVMsS0FBSyxTQUFTLElBQUksWUFBWSxPQUFPLE9BQU8sUUFBUSxTQUFTLEdBQUcsU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxpQkFBaUIsU0FBUyxxQkFBcUIsU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLFFBQVEsU0FBUyxNQUFNLFNBQVMsV0FBVyxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsWUFBWSxTQUFTLGtCQUFrQixTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsWUFBWSxTQUFTLEtBQUssU0FBUyxJQUFJLFNBQVMsS0FBSyxPQUFPLE9BQU8sU0FBUyxNQUFNLFNBQVMsYUFBYSxTQUFTLEdBQUcsU0FBUyxhQUFhLFNBQVMsSUFBSSxTQUFTLElBQUksWUFBWSxrQkFBa0IsU0FBUyxzQkFBc0IsU0FBUyxZQUFZLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxLQUFLLFlBQVksT0FBTyxTQUFTLE9BQU8sU0FBUyxXQUFXLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxHQUFHLElBQUksR0FBRyxJQUFJLE1BQU0sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxJQUFJLFlBQVksR0FBRyxTQUFTLElBQUksU0FBUyxLQUFLLFlBQVksYUFBYSxTQUFTLEdBQUcsU0FBUyxJQUFJLFNBQVMsaUJBQWlCLFNBQVMsSUFBSSxTQUFTLFVBQVUsU0FBUyxpQkFBaUIsU0FBUyxHQUFHLFNBQVMsS0FBSyxTQUFTLGVBQWUsU0FBUyxZQUFZLFNBQVMsR0FBRyxTQUFTLFFBQVEsU0FBUyxrQkFBa0IsU0FBUyxTQUFTLFNBQVMsSUFBSSxTQUFTLGFBQWEsU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLEtBQUssWUFBWSxHQUFHLFNBQVMscUJBQXFCLFNBQVMsR0FBRyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLElBQUksSUFBSSxNQUFNLFNBQVMsSUFBSSxTQUFTLGNBQWMsU0FBUyxhQUFhLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsWUFBWSxTQUFTLGVBQWUsU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLFVBQVUsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLE9BQU8sT0FBTyxNQUFNLE9BQU8sSUFBSSxTQUFTLEtBQUssU0FBUyxJQUFJLFNBQVMsR0FBRyxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsT0FBTyxPQUFPLE1BQU0sU0FBUyxXQUFXLFNBQVMsR0FBRyxTQUFTLElBQUksU0FBUyxTQUFTLFNBQVMsSUFBSSxTQUFTLGFBQWEsU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLGVBQWUsU0FBUyxHQUFHLFNBQVMsZUFBZSxTQUFTLEdBQUcsU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLEtBQUssU0FBUyxLQUFLLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsS0FBSyxPQUFPLE1BQU0sU0FBUyxJQUFJLFNBQVMsSUFBSSxZQUFZLEtBQUssWUFBWSxLQUFLLFlBQVksT0FBTyxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLElBQUksWUFBWSxLQUFLLFlBQVksS0FBSyxZQUFZLEtBQUssU0FBUyxHQUFHLElBQUksR0FBRyxJQUFJLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLFdBQVcsU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxpQkFBaUIsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxpQkFBaUIsU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFT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QUFTLFdBQVcsU0FBUyxZQUFZLFNBQVMsTUFBTSxTQUFTLEtBQUssWUFBWSxLQUFLLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsWUFBWSxTQUFTLEtBQUssU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLEdBQUcsU0FBUyxLQUFLLFNBQVMsY0FBYyxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsbUJBQW1CLFNBQVMsTUFBTSxTQUFTLFlBQVksU0FBUyxjQUFjLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsU0FBUyxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsY0FBYyxTQUFTLEtBQUssU0FBUyxTQUFTLFNBQVMsTUFBTSxPQUFPLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxJQUFJLElBQUksSUFBSSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLElBQUksWUFBWSxVQUFVLFNBQVMsT0FBTyxTQUFTLFVBQVUsU0FBUyxNQUFNLFNBQVMsV0FBVyxlQUFlLFVBQVUsU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLElBQUksU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLFdBQVcsU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLGVBQWUsU0FBUyxLQUFLLFNBQVMsV0FBVyxTQUFTLEdBQUcsU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLFlBQVksU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLFVBQVUsU0FBUyxLQUFLLFNBQVMsS0FBSyxZQUFZLE9BQU8sU0FBUyxPQUFPLE9BQU8sS0FBSyxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE1BQU0sT0FBTyxJQUFJLFNBQVMsT0FBTyxTQUFTLElBQUksWUFBWSxPQUFPLE9BQU8sTUFBTSxTQUFTLFNBQVMsSUFBSSxPQUFPLElBQUksV0FBVyxTQUFTLGFBQWEsU0FBUyxLQUFLLFNBQVMsaUJBQWlCLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsVUFBVSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLFdBQVcsU0FBUyxpQkFBaUIsU0FBUyxNQUFNLFNBQVMsWUFBWSxTQUFTLFlBQVksU0FBUyxLQUFLLFNBQVMsY0FBYyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsV0FBVyxTQUFTLFNBQVMsU0FBUyxlQUFlLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxnQkFBZ0IsU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxLQUFLLFlBQVksT0FBTyxTQUFTLEtBQUssT0FBTyxNQUFNLFNBQVMsS0FBSyxTQUFTLElBQUksU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsWUFBWSxTQUFTLElBQUksU0FBUyxTQUFTLFNBQVMsS0FBSyxTQUFTLGFBQWEsSUFBSSxPQUFPLElBQUksS0FBSyxJQUFJLGtCQUFrQixTQUFTLGNBQWMsU0FBUyxHQUFHLFNBQVMsT0FBTyxTQUFTLGNBQWMsU0FBUyxPQUFPLFNBQVMsSUFBSSxZQUFZLEtBQUssWUFBWSxLQUFLLFlBQVksT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxJQUFJLFlBQVksS0FBSyxZQUFZLEtBQUssWUFBWSxJQUFJLFlBQVksR0FBRyxTQUFTLEtBQUssWUFBWSxLQUFLLFlBQVksS0FBSyxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsT0FBTyxPQUFPLE1BQU0sU0FBUyxJQUFJLFNBQVMsSUFBSSxZQUFZLEtBQUssWUFBWSxLQUFLLFlBQVksS0FBSyxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxLQUFLLFlBQVksT0FBTyxPQUFPLE9BQU8sU0FBUyxHQUFHLFNBQVMsT0FBTyxTQUFTLElBQUksZUFBZSxJQUFJLFNBQVMsTUFBTSxPQUFPLElBQUksU0FBUyxNQUFNLE9BQU8sSUFBSSxZQUFZLE9BQU8sT0FBTyxRQUFRLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLElBQUksU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxTQUFTLFNBQVMsS0FBSyxTQUFTLElBQUksU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxjQUFjLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxLQUFLLFlBQVksSUFBSSxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsU0FBUyxTQUFTLEtBQUssU0FBUyxLQUFLLElBQUksTUFBTSxPQUFPLEtBQUssWUFBWSxJQUFJLElBQUksT0FBTyxJQUFJLE9BQU8sT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLEtBQUssU0FBUyxTQUFTLFNBQVMsTUFBTSxTQUFTLFlBQVksU0FBUyxNQUFNLFNBQVMsVUFBVSxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsS0FBSyxTQUFTLFVBQVUsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLElBQUksU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsSUFBSSxZQUFZLFFBQVEsU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLFVBQVUsU0FBUyxPQUFPLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsTUFBTSxTQUFTLGdCQUFnQixTQUFTLE1BQU0sU0FBUyxjQUFjLFNBQVMsTUFBTSxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxhQUFhLFNBQVMsS0FBSyxTQUFTLGNBQWMsU0FBUyxNQUFNLFNBQVMsa0JBQWtCLFNBQVMsTUFBTSxTQUFTLGtCQUFrQixTQUFTLE1BQU0sU0FBUyxtQkFBbUIsU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxJQUFJLFVBQVUsUUFBUSxlQUFlLEtBQUssU0FBUyxLQUFLLFlBQVksT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsTUFBTSxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxPQUFPLE9BQU8sS0FBSyxZQUFZLE1BQU0sU0FBUyxLQUFLLEtBQUssTUFBTSxTQUFTLFNBQVMsU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxlQUFlLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sT0FBTyxNQUFNLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxLQUFLLFNBQVMsUUFBUSxTQUFTLEtBQUssT0FBTyxJQUFJLFlBQVksS0FBSyxTQUFTLE1BQU0sU0FBUyxVQUFVLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsZ0JBQWdCLFNBQVMsTUFBTSxTQUFTLGlCQUFpQixTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsR0FBRyxTQUFTLFdBQVcsU0FBUyxLQUFLLFNBQVMsWUFBWSxTQUFTLEtBQUssU0FBUyxZQUFZLFNBQVMsTUFBTSxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsTUFBTSxJQUFJLE1BQU0sSUFBSSxPQUFPLElBQUksS0FBSyxTQUFTLFdBQVcsU0FBUyxRQUFRLFNBQVMsS0FBSyxZQUFZLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssWUFBWSxLQUFLLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxRQUFRLFNBQVMsTUFBTSxTQUFTLFlBQVksU0FBUyxNQUFNLFNBQVMsWUFBWSxTQUFTLE9BQU8sU0FBUyxlQUFlLFNBQVMsUUFBUSxTQUFTLElBQUksU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLEtBQUssZUFBZSxPQUFPLFNBQVMsZ0JBQWdCLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsV0FBVyxTQUFTLE1BQU0sU0FBUyxPQUFPLE9BQU8sTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxNQUFNLFNBQVMsZUFBZSxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsSUFBSSxPQUFPLE1BQU0sU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLElBQUksWUFBWSxZQUFZLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLElBQUksT0FBTyxPQUFPLE9BQU8sY0FBYyxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsT0FBTyxJQUFJLEtBQUssWUFBWSxTQUFTLFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxVQUFVLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLEtBQUssWUFBWSxLQUFLLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLGFBQWEsU0FBUyxRQUFRLFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxPQUFPLE9BQU8sT0FBTyxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLE1BQU0sT0FBTyxPQUFPLFNBQVMsUUFBUSxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLGNBQWMsU0FBUyxJQUFJLFlBQVksR0FBRyxTQUFTLE9BQU8sT0FBTyxJQUFJLFNBQVMsV0FBVyxTQUFTLE9BQU8sU0FBUyxHQUFHLFNBQVMsU0FBUyxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsWUFBWSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsV0FBVyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLEtBQUssWUFBWSxLQUFLLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxnQkFBZ0IsU0FBUyxXQUFXLFNBQVMsT0FBTyxJQUFJLE9BQU8sU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsYUFBYSxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsSUFBSSxTQUFTLElBQUksT0FBTyxLQUFLLE9BQU8sS0FBSyxTQUFTLEtBQUssSUFBSSxJQUFJLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLElBQUksWUFBWSxNQUFNLFNBQVMsTUFBTSxLQUFLLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxLQUFLLFlBQVksS0FBSyxTQUFTLFVBQVUsU0FBUyxNQUFNLFNBQVMsU0FBUyxTQUFTLE9BQU8sT0FBTyxLQUFLLE9BQU8sT0FBTyxTQUFTLE9BQU8sT0FBTyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sT0FBTyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLFlBQVksSUFBSSxTQUFTLFdBQVcsU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLElBQUksU0FBUyxVQUFVLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxLQUFLLGVBQWUsT0FBTyxTQUFTLElBQUksWUFBWSxNQUFNLFNBQVMsS0FBSyxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxLQUFLLFlBQVksS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLFVBQVUsZUFBZSxLQUFLLGVBQWUsT0FBTyxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsb0JBQW9CLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsVUFBVSxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLElBQUksWUFBWSxTQUFTLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxjQUFjLFNBQVMsT0FBTyxTQUFTLGVBQWUsU0FBUyxPQUFPLFNBQVMsS0FBSyxZQUFZLE9BQU8sU0FBUyxLQUFLLFlBQVksT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLE9BQU8sTUFBTSxPQUFPLElBQUksU0FBUyxLQUFLLFNBQVMsTUFBTSxPQUFPLElBQUksWUFBWSxPQUFPLE9BQU8sT0FBTyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLEtBQUssWUFBWSxLQUFLLFNBQVMsT0FBTyxPQUFPLEtBQUssWUFBWSxNQUFNLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxLQUFLLE9BQU8sTUFBTSxTQUFTLElBQUksU0FBUyxJQUFJLFlBQVksTUFBTSxTQUFTLEtBQUssWUFBWSxLQUFLLFlBQVksT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLElBQUksWUFBWSxPQUFPLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxLQUFLLFlBQVksS0FBSyxZQUFZLE9BQU8sU0FBUyxNQUFNLFNBQVMsSUFBSSxTQUFTLFdBQVcsU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLElBQUksU0FBUyxXQUFXLFNBQVMsTUFBTSxPQUFPLFFBQVEsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLGNBQWMsU0FBUyxPQUFPLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxjQUFjLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsTUFBTSxlQUFlLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxJQUFJLEtBQUssSUFBSSxPQUFPLElBQUksS0FBSyxJQUFJLE1BQU0sU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxRQUFRLFNBQVMsU0FBUyxTQUFTLEtBQUssU0FBUyxHQUFHLFNBQVMsSUFBSSxTQUFTLGVBQWUsU0FBUyxNQUFNLFNBQVMsZUFBZSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxTQUFTLFNBQVMsS0FBSyxlQUFlLE9BQU8sU0FBUyxRQUFRLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxJQUFJLFlBQVksSUFBSSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxXQUFXLFNBQVMsSUFBSSxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsU0FBUyxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsV0FBVyxTQUFTLEtBQUssU0FBUyxlQUFlLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxLQUFLLFlBQVksT0FBTyxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLFFBQVEsU0FBUyxLQUFLLElBQUksT0FBTyxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLFlBQVksTUFBTSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsYUFBYSxTQUFTLFNBQVMsU0FBUyxRQUFRLFNBQVMsVUFBVSxlQUFlLEtBQUssZUFBZSxNQUFNLFNBQVMsS0FBSyxPQUFPLE1BQU0sT0FBTyxLQUFLLFNBQVMsS0FBSyxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxNQUFNLFNBQVMsSUFBSSxZQUFZLElBQUksU0FBUyxNQUFNLE9BQU8sT0FBTyxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxLQUFLLFlBQVksS0FBSyxZQUFZLEdBQUcsU0FBUyxTQUFTLFNBQVMsTUFBTSxTQUFTLElBQUksZUFBZSxJQUFJLGVBQWUsV0FBVyxTQUFTLE1BQU0sU0FBUyxnQkFBZ0IsU0FBUyxNQUFNLFNBQVMsSUFBSSxlQUFlLElBQUksZUFBZSxZQUFZLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLEtBQUssZUFBZSxLQUFLLGVBQWUsTUFBTSxlQUFlLE1BQU0sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLFNBQVMsZUFBZSxLQUFLLFNBQVMsSUFBSSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE1BQU0sZUFBZSxPQUFPLFNBQVMsS0FBSyxTQUFTLElBQUksWUFBWSxNQUFNLFNBQVMsZ0JBQWdCLFNBQVMsTUFBTSxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLElBQUksZUFBZSxNQUFNLGVBQWUsTUFBTSxTQUFTLFdBQVcsU0FBUyxLQUFLLFNBQVMsS0FBSyxZQUFZLElBQUksT0FBTyxPQUFPLGVBQWUsU0FBUyxlQUFlLFFBQVEsU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxPQUFPLGVBQWUsTUFBTSxlQUFlLFFBQVEsU0FBUyxNQUFNLFNBQVMsWUFBWSxTQUFTLE9BQU8sZUFBZSxPQUFPLGVBQWUsS0FBSyxZQUFZLEtBQUssU0FBUyxNQUFNLGVBQWUsV0FBVyxlQUFlLEtBQUssU0FBUyxNQUFNLGVBQWUsV0FBVyxlQUFlLE9BQU8sT0FBTyxHQUFHLFNBQVMsSUFBSSxJQUFJLE9BQU8sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxLQUFLLGVBQWUsT0FBTyxTQUFTLEtBQUssZUFBZSxLQUFLLFVBQVUsUUFBUSxTQUFTLE9BQU8sU0FBUyxLQUFLLGVBQWUsS0FBSyxVQUFVLFFBQVEsZUFBZSxPQUFPLFNBQVMsUUFBUSxlQUFlLE1BQU0sZUFBZSxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLE9BQU8sTUFBTSxPQUFPLElBQUksU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLElBQUksWUFBWSxLQUFLLFNBQVMsT0FBTyxPQUFPLElBQUksU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxJQUFJLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsS0FBSyxTQUFTLEtBQUssWUFBWSxLQUFLLFNBQVMsTUFBTSxTQUFTLEdBQUcsU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsS0FBSyxTQUFTLEtBQUssT0FBTyxLQUFLLE9BQU8sT0FBTyxTQUFTLEtBQUssU0FBUyxRQUFRLFNBQVMsSUFBSSxTQUFTLE9BQU8sT0FBTyxLQUFLLFNBQVMsT0FBTyxPQUFPLFNBQVMsU0FBUyxLQUFLLE9BQU8sTUFBTSxTQUFTLEtBQUssT0FBTyxPQUFPLFNBQVMsTUFBTSxTQUFTLElBQUksU0FBUyxPQUFPLElBQUksT0FBTyxJQUFJLE9BQU8sU0FBUyxRQUFRLFNBQVMsSUFBSSxZQUFZLElBQUksU0FBUyxLQUFLLFNBQVMsWUFBWSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsR0FBRyxTQUFTLElBQUksU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLEtBQUssSUFBSSxTQUFTLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxTQUFTLFNBQVMsS0FBSyxZQUFZLE1BQU0sT0FBTyxJQUFJLFNBQVMsS0FBSyxTQUFTLFdBQVcsU0FBUyxZQUFZLFNBQVMsTUFBTSxTQUFTLFNBQVMsU0FBUyxLQUFLLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLEtBQUssWUFBWSxJQUFJLFNBQVMsT0FBTyxTQUFTLElBQUksWUFBWSxLQUFLLFlBQVksT0FBTyxTQUFTLEtBQUssWUFBWSxRQUFRLFNBQVMsTUFBTSxJQUFJLE9BQU8sU0FBUyxLQUFLLFNBQVMsS0FBSyxlQUFlLE9BQU8sU0FBUyxTQUFTLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLE9BQU8sT0FBTyxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLGVBQWUsU0FBUyxNQUFNLFNBQVMsZ0JBQWdCLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxJQUFJLEtBQUssSUFBSSxPQUFPLElBQUksS0FBSyxJQUFJLE1BQU0sU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxRQUFRLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsSUFBSSxZQUFZLE9BQU8sU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxpQkFBaUIsU0FBUyxNQUFNLFNBQVMsZ0JBQWdCLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxJQUFJLFNBQVMsT0FBTyxTQUFTLFdBQVcsU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLE9BQU8sU0FBUyxRQUFRLFNBQVMsS0FBSyxJQUFJLE9BQU8sU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLEtBQUssWUFBWSxPQUFPLFNBQVMsS0FBSyxTQUFTLGNBQWMsU0FBUyxTQUFTLFNBQVMsUUFBUSxTQUFTLEdBQUcsU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxXQUFXLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsWUFBWSxTQUFTLE9BQU8sU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxLQUFLLE9BQU8sS0FBSyxJQUFJLE9BQU8sU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLElBQUksWUFBWSxNQUFNLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxJQUFJLE9BQU8sTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsTUFBTSxlQUFlLE9BQU8sU0FBUyxJQUFJLElBQUksS0FBSyxTQUFTLE9BQU8sU0FBUyxLQUFLLFlBQVksT0FBTyxTQUFTLFVBQVUsU0FBUyxPQUFPLGVBQWUsT0FBTyxlQUFlLEtBQUssWUFBWSxLQUFLLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsVUFBVSxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxXQUFXLFNBQVMsTUFBTSxTQUFTLFVBQVUsU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxLQUFLLE9BQU8sS0FBSyxPQUFPLEtBQUssT0FBTyxLQUFLLFNBQVMsVUFBVSxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsV0FBVyxTQUFTLE1BQU0sU0FBUyxVQUFVLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsTUFBTSxPQUFPLE9BQU8sU0FBUyxJQUFJLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsT0FBTyxTQUFTLElBQUksWUFBWSxNQUFNLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxTQUFTLFNBQVMsTUFBTSxPQUFPLE1BQU0sT0FBTyxTQUFTLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxZQUFZLFFBQVEsU0FBUyxPQUFPLFNBQVMsU0FBUyxTQUFTLEtBQUssU0FBUyxVQUFVLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxTQUFTLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsU0FBUyxTQUFTLEtBQUssWUFBWSxLQUFLLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsT0FBTyxPQUFPLE1BQU0sU0FBUyxPQUFPLFNBQVMsTUFBTSxPQUFPLElBQUksU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLElBQUksWUFBWSxPQUFPLE9BQU8sTUFBTSxTQUFTLE9BQU8sU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssWUFBWSxLQUFLLFNBQVMsUUFBUSxTQUFTLFdBQVcsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FB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LEtBQUssZUFBZSxTQUFTLEdBQUcsS0FBSyxlQUFlLEtBQUssZUFBZSxPQUFPLENBQUMsSUFBSUMsSUFBSSxLQUFLLGVBQWUsS0FBS0EsQ0FBQyxDQUFDLENBQUMsZ0NBQWdDLEVBQUVELEVBQUUsQ0FBQyxJQUFJQyxFQUFFMkwsSUFBRyxFQUFFNUwsQ0FBQyxFQUFFLEtBQUssZUFBZSxTQUFTLEdBQUcsS0FBSyxlQUFlLEtBQUssZUFBZSxPQUFPLENBQUMsSUFBSUMsR0FBRyxLQUFLLGVBQWUsSUFBSSxDQUFDLENBQUMsRUFBOHBCd1UsSUFBRyxNQUFNbFosR0FBQyxDQUFDLFlBQVlHLEVBQUUsRUFBRSxDQUFDLEdBQUdBLGFBQWFILElBQUUsQ0FBQyxLQUFLLEtBQUtHLEVBQUUsS0FBSyxLQUFLLE1BQU1BLEVBQUUsTUFBTSxLQUFLLElBQUlBLEVBQUUsSUFBSSxJQUFJLEVBQUVBLEVBQUUsTUFBTSxLQUFLLE1BQU0sQ0FBQyxLQUFLLEVBQUUsS0FBSyxPQUFPLEVBQUUsT0FBTyxLQUFLLEVBQUUsS0FBSyxPQUFPLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLElBQUksTUFBTSw4RUFBOEUsRUFBRSxLQUFLLEtBQUtBLEVBQUUsS0FBSyxNQUFNQSxFQUFFLFFBQVEsS0FBSyxJQUFJLEVBQUUsT0FBTyxLQUFLLE1BQU0sQ0FBQyxLQUFLLEdBQUcsT0FBTyxFQUFFLFNBQVMsS0FBSyxFQUFFLFVBQVUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSUgsSUFBRSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxLQUFLLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLEtBQUssSUFBSSxLQUFLLE1BQU0sTUFBTSxDQUFDLEtBQUtHLEVBQUUsQ0FBQyxPQUFPLEtBQUssTUFBTSxPQUFPQSxFQUFFLE1BQU0sTUFBTSxDQUFDLFNBQVMsQ0FBQyxLQUFLLGFBQWEsS0FBSyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FB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QUFDLENBQUMsa0JBQWtCQSxFQUFFLEVBQUUsQ0FBQyxLQUFLLFNBQVMsT0FBTyxLQUFLLFNBQVMsUUFBUUEsQ0FBQyxFQUFFLEVBQUUsS0FBSyxZQUFZLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWUEsRUFBRSxDQUFDLEtBQUssU0FBUyxPQUFPLEtBQUssU0FBUyxRQUFRQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsYUFBYUEsRUFBRSxFQUFFLENBQUMsS0FBSyxTQUFTLEtBQUssU0FBUyxRQUFRQSxDQUFDLENBQUMsRUFBRSxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLE9BQU8sSUFBSUgsSUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLFlBQVksQ0FBQyxJQUFJRyxFQUFFLE9BQU9BLEVBQUUsS0FBSyxXQUFXLEtBQUssT0FBT0EsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsQ0FBQyxJQUFJQSxFQUFFLE9BQU9BLEVBQUUsS0FBSyxXQUFXLEtBQUssT0FBT0EsRUFBRSxLQUFLLFNBQVMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJQSxFQUFFLEVBQUUsT0FBTyxHQUFHQSxFQUFFLEtBQUssU0FBUyxLQUFLLE9BQU9BLEVBQUUsV0FBVyxLQUFLLE9BQU8sRUFBRSxLQUFLLE9BQU8sU0FBUyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJQSxFQUFFLEVBQUUsT0FBTyxHQUFHQSxFQUFFLEtBQUssU0FBUyxLQUFLLE9BQU9BLEVBQUUsV0FBVyxLQUFLLE9BQU8sRUFBRSxLQUFLLE9BQU8sU0FBUyxRQUFRLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLFNBQVMsQ0FBQyxPQUFPLEtBQUsscUJBQXFCLEtBQUssU0FBUyxLQUFLLElBQUksQ0FBQyxJQUFJLFVBQVUsQ0FBQyxPQUFPLEtBQUssVUFBVSxLQUFLLFVBQVUsSUFBSSxLQUFLLEtBQUssS0FBSyxJQUFJLENBQUMsSUFBSSxTQUFTLENBQUMsT0FBTyxPQUFPLFlBQVksS0FBSyxNQUFNLElBQUlBLEdBQUcsQ0FBQ0EsRUFBRSxTQUFTQSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUF5RThTLElBQUcsQ0FBQyxDQUFDLE1BQU0sMkNBQTJDLE1BQU1DLEdBQUUsRUFBRSxDQUFDLE1BQU0sdUJBQXVCLE1BQU1DLEdBQUUsRUFBRSxDQUFDLE1BQU0sb0JBQW9CLE1BQU1DLEdBQUUsQ0FBQyxFQUFzdUJhLElBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksaUJBQWlCLFlBQVksUUFBUSxrQkFBa0IsTUFBTSxZQUFZLGVBQWUsU0FBUyxLQUFLLFFBQVEsWUFBWSxLQUFLLFNBQVMsV0FBVyxVQUFVLFlBQVksV0FBVyxPQUFPLFFBQVEsVUFBVSxPQUFPLGFBQWEsUUFBUSxXQUFXLFFBQVEsWUFBWSxvQkFBb0IsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLFVBQVUsU0FBUyxXQUFXLE9BQU8sV0FBVyxPQUFPLE9BQU8saUJBQWlCLE1BQU0sTUFBTSxRQUFRLFNBQVMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsUUFBUSxNQUFNLFVBQVUsT0FBTyxXQUFXLFNBQVMsU0FBUyxPQUFPLFNBQVMsU0FBUyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxNQUFNLFNBQVMsV0FBVyxPQUFPLFdBQVcsU0FBUyxPQUFPLGlCQUFpQixNQUFNLFFBQVEsU0FBUyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxXQUFXLFdBQVcsY0FBYyxPQUFPLFFBQVEsVUFBVSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFFBQVEsT0FBTyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxRQUFRLGFBQWEsVUFBVSxPQUFPLE9BQU8sT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsV0FBVyxPQUFPLGFBQWEsY0FBYyxhQUFhLGlCQUFpQixhQUFhLE9BQU8sZ0JBQWdCLHNCQUFzQixPQUFPLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsUUFBUSxPQUFPLFVBQVUsT0FBTyxTQUFTLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLFFBQVEsT0FBTyxVQUFVLE9BQU8sU0FBUyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE9BQU8sTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxNQUFNLE9BQU8sT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLFdBQVcsSUFBSSxJQUFJ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TUFBTSxNQUFNLE1BQU0sVUFBVSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxRQUFRLFVBQVUsU0FBUyxVQUFVLFdBQVcsV0FBVyxPQUFPLFVBQVUsT0FBTyxTQUFTLFNBQVMsT0FBTyxVQUFVLE9BQU8sZ0JBQWdCLFNBQVMsU0FBUyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxVQUFVLFdBQVcsUUFBUSxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxXQUFXLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFdBQVcsUUFBUSxXQUFXLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sT0FBTyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLE9BQU8sUUFBUSxXQUFXLENBQUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxNQUFNLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFFBQVEsV0FBVyxVQUFVLGNBQWMsUUFBUSxnQkFBZ0IsWUFBWSxXQUFXLFdBQVcsaUJBQWlCLE1BQU0sTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsZUFBZSxXQUFXLE9BQU8sV0FBVyxPQUFPLFdBQVcsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsU0FBUyxRQUFRLFFBQVEsTUFBTSxTQUFTLE9BQU8sT0FBTyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsV0FBVyxRQUFRLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsVUFBVSxTQUFTLGNBQWMsY0FBYyxRQUFRLFFBQVEsVUFBVSxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLE9BQU8sVUFBVSxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLFFBQVEsT0FBTyxVQUFVLE9BQU8sVUFBVSxVQUFVLFVBQVUsU0FBUyxTQUFTLFVBQVUsUUFBUSxTQUFTLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxXQUFXLElBQUksSUFBSSxDQUFDLHFCQUFxQiwyQkFBMkIsZ0JBQWdCLENBQUMsQ0FBQyxFQUFFLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxlQUFlLE9BQU8sVUFBVSxXQUFXLE9BQU8sWUFBWSxZQUFZLE9BQU8sY0FBYyxXQUFXLFdBQVcsT0FBTyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLE9BQU8sVUFBVSxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLFFBQVEsT0FBTyxVQUFVLE9BQU8sVUFBVSxVQUFVLFVBQVUsU0FBUyxTQUFTLFVBQVUsUUFBUSxTQUFTLE9BQU8sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsT0FBTyxVQUFVLFFBQVEsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFFBQVEsVUFBVSxPQUFPLFVBQVUsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxPQUFPLFFBQVEsTUFBTSxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxVQUFVLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsV0FBVyxjQUFjLFNBQVMsT0FBTyxRQUFRLGNBQWMsU0FBUyxVQUFVLE1BQU0sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQU1ELElBQUcsSUFBSSxJQUFJLENBQUMsSUFBSSxPQUFPLFVBQVUsVUFBVSxTQUFTLE9BQU8sVUFBVSxRQUFRLFFBQVEsSUFBSSxPQUFPLFdBQVcsTUFBTSxNQUFNLFVBQVUsTUFBTSxRQUFRLGFBQWEsT0FBTyxLQUFLLFNBQVMsU0FBUyxVQUFVLFNBQVMsT0FBTyxPQUFPLE1BQU0sV0FBVyxVQUFVLFVBQVUsT0FBTyxXQUFXLEtBQUssTUFBTSxVQUFVLE1BQU0sU0FBUyxNQUFNLE1BQU0sS0FBSyxLQUFLLFVBQVUsS0FBSyxRQUFRLFdBQVcsYUFBYSxTQUFTLE9BQU8sU0FBUyxPQUFPLFFBQVEsV0FBVyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxPQUFPLFNBQVMsU0FBUyxLQUFLLE9BQU8sSUFBSSxTQUFTLFFBQVEsTUFBTSxRQUFRLE1BQU0sVUFBVSxNQUFNLFNBQVMsUUFBUSxTQUFTLEtBQUssT0FBTyxVQUFVLE9BQU8sTUFBTSxPQUFPLFVBQVUsT0FBTyxPQUFPLFdBQVcsT0FBTyxRQUFRLFdBQVcsTUFBTSxTQUFTLE9BQU8sVUFBVSxXQUFXLFdBQVcsU0FBUyxLQUFLLFdBQVcsU0FBUyxTQUFTLElBQUksUUFBUSxVQUFVLFlBQVksTUFBTSxXQUFXLElBQUksS0FBSyxNQUFNLEtBQUssS0FBSyxNQUFNLE9BQU8sSUFBSSxPQUFPLFNBQVMsU0FBUyxVQUFVLFNBQVMsU0FBUyxPQUFPLFFBQVEsU0FBUyxTQUFTLE9BQU8sU0FBUyxTQUFTLFFBQVEsTUFBTSxVQUFVLE1BQU0sTUFBTSxRQUFRLFFBQVEsS0FBSyxXQUFXLFdBQVcsUUFBUSxLQUFLLFFBQVEsT0FBTyxRQUFRLEtB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QUFLLE1BQU0sS0FBSyxJQUFJLE9BQU8sTUFBTTtBQUFBLEVBQ25nRSxRQUFRLE1BQU07QUFBQSxDQUNmLENBQUMsQ0FBdWhaLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sSUFBSSxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsS0FBSyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sR0FBRyxNQUFNLEdBQUcsTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sSUFBSSxNQUFNLEdBQUcsTUFBTSxHQUFHLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksT0FBTyxJQUFJLE9BQU8sSUFBSSxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sSUFBSSxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sSUFBSSxPQUFPLElBQUksT0FBTyxJQUFJLE9BQU8sSUFBSSxPQUFPLElBQUksT0FBTyxJQUFJLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxHQUFHLE9BQU8sR0FBRyxPQUFPLEdBQUcsT0FBTyxJQUFJLE9BQU8sSUFBSSxPQUFPLEdBQUcsT0FBTyxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxJQUFJLFFBQVEsSUFBSSxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsSUFBSSxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsSUFBSSxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsSUFBSSxRQUFRLElBQUksUUFBUSxJQUFJLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxJQUFJLFFBQVEsSUFBSSxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxJQUFJLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxJQUFJLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxJQUFJLFFBQVEsSUFBSSxRQUFRLElBQUksUUFBUSxJQUFJLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLElBQUksUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxJQUFJLFFBQVEsSUFBSSxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxJQUFJLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxRQUFRLEdBQUcsUUFBUSxHQUFHLFFBQVEsR0FBRyxNQUFNLENBQWtELFNBQVNDLElBQUcsRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLE1BQU8sR0FBRSxHQUFHLENBQUNDLElBQUcsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxFQUFFLFFBQVFDLElBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSTdGLEVBQUUsRUFBRSxRQUFRSSxLQUFLLEVBQUUsQ0FBQyxJQUFJLEVBQUVBLEVBQUUsWUFBWSxDQUFDLEVBQUUsR0FBRyxJQUFJLEdBQUcsS0FBSyxHQUFHLEtBQUssR0FBRyxLQUFLLEdBQUcsTUFBTUosR0FBRzhGLElBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLE9BQU85RixDQUFDLENBQXNILFNBQVMrRixLQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNDLElBQUcsRUFBRWhHLEVBQUUsQ0FBQyxP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QUFFLFVBQVUsT0FBT1IsRUFBRSxVQUFVLEdBQUdBLENBQUMsQ0FBQ0EsRUFBRSxVQUFVLEVBQUVBLENBQUMsQ0FBQyxDQUFDLE9BQU9BLENBQUMsQ0FBQyxFQUFFLFNBQVNGLEVBQUVFLEVBQUUsQ0FBQyxPQUFPQSxFQUFFLFNBQVMsU0FBUyxFQUFFLEdBQUdBLEVBQUUsU0FBUyxDQUFDLEVBQUUsU0FBUyxNQUFNLE9BQU8sQ0FBQyxDQUFDLFNBQVMsRUFBRUEsRUFBRSxDQUFDLEdBQUcsQ0FBQ0EsRUFBRSxRQUFRLE1BQU0sR0FBRyxHQUFHLENBQUNFLEVBQUVFLENBQUMsRUFBRUosRUFBRSxTQUFTLEdBQUdxRSxJQUFHbkUsRUFBRVIsQ0FBQyxFQUFFLGNBQWMsT0FBTyxFQUFFLE1BQU0sR0FBRyxJQUFJYyxFQUFFVixFQUFFSSxDQUFDLEVBQUUsR0FBR00sSUFBSSxHQUFHLE1BQU0sR0FBRyxHQUFHUixFQUFFLFNBQVMsU0FBUyxFQUFFLE9BQU9RLEVBQUVkLEVBQUUsV0FBVyxFQUFFLElBQUllLEVBQUVYLEVBQUVNLENBQUMsRUFBRSxPQUFPSSxJQUFJQyxFQUFFLEdBQUdELEVBQUVkLEVBQUUsV0FBVyxFQUFFLEdBQUcyRSxJQUFHakUsRUFBRVYsQ0FBQyxFQUFFLGNBQWMsT0FBTyxDQUFDLENBQUMsQ0FBVyxTQUFTMEksSUFBRyxFQUFFMUksRUFBRSxDQUFDLElBQUlJLEVBQUUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFRSxFQUFFTixFQUFFLEVBQUUsT0FBTyxFQUFFLEtBQUssQ0FBQyxJQUFJLGFBQWEsR0FBR0csR0FBRUcsQ0FBQyxJQUFJUixHQUFFLENBQUNNLEVBQUUsS0FBS0UsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLFFBQVFGLEVBQUUsS0FBSyxDQUFDQSxFQUFFLElBQUksRUFBRUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFVBQVUsRUFBRTRCLElBQUc5QixDQUFDLENBQUMsQ0FBNEcsU0FB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QU8sS0FBSyxJQUFJLElBQUksT0FBTyxNQUFNLE9BQU8sT0FBTyxPQUFPLE1BQU0sT0FBTyxPQUFPLE9BQU8sS0FBSyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sTUFBTSxPQUFPLE1BQU0sT0FBTyxNQUFNLE9BQU8sT0FBTyxPQUFPLElBQUksSUFBSSxNQUFNLE9BQU8sT0FBTyxPQUFPLEtBQUssT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE1BQU0sT0FBTyxLQUFLLE9BQU8sS0FBSyxPQUFPLE9BQU8sT0FBTyxJQUFJLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxNQUFNLE9BQU8sT0FBTyxPQUFPLElBQUksT0FBTyxLQUFLLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sR0FBRyxJQUFJLE9BQU8sT0FBTyxNQUFNLE9BQU8sTUFBTSxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sS0FBSyxPQUFPLE1BQU0sT0FBTyxHQUFHLElBQUksS0FBSyxPQUFPLE1BQU0sT0FBTyxPQUFPLE9BQU8sS0FBSyxPQUFPLElBQUksT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE1BQU0sT0FBTyxPQUFPLE9BQU8sS0FBSyxPQUFPLEtBQUssT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLEtBQUssT0FBTyxLQUFLLE9BQU8sT0FBTyxPQUFPLE1BQU0sT0FBTyxLQUFLLElBQUksTUFBTSxPQUFPLElBQUksT0FBTyxLQUFLLE9BQU8sSUFBSSxPQUFPLEtBQUssT0FBTyxLQUFLLE9BQU8sS0FBSyxPQUFPLE1BQU0sT0FBTyxNQUFNLE9BQU8sTUFBTSxPQUFPLE9BQU8sT0FBTyxNQUFNLE9BQU8sT0FBTyxPQUFPLElBQUksT0FBTyxLQUFLLE9BQU8sT0FBTyxPQUFPLElBQUksT0FBTyxLQUFLLE1BQU0sQ0FBQyxDQUFDLEVBQU1sTyxJQUFHckIsR0FBRSxDQUFDd1AsRUFBR0MsSUFBSyxDQUFDQSxFQUFHLFFBQVEsQ0FBQyxFQUFJLFNBQVMsSUFBTSxTQUFTLElBQU0sU0FBUyxJQUFNLFNBQVMsSUFBTSxTQUFT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QUFJLE9BQU8sS0FBSyxPQUFPLE9BQU8sU0FBUyxhQUFhLFNBQVMsSUFBSSxTQUFTLElBQUksWUFBWSxrQkFBa0IsU0FBUyxzQkFBc0IsU0FBUyxLQUFLLFlBQVksT0FBTyxTQUFTLFdBQVcsU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLEVBQUUsSUFBSSxHQUFHLElBQUksTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLElBQUksWUFBWSxHQUFHLFNBQVMsS0FBSyxZQUFZLGFBQWEsU0FBUyxpQkFBaUIsU0FBUyxpQkFBaUIsU0FBUyxlQUFlLFNBQVMsWUFBWSxTQUFTLGtCQUFrQixTQUFTLGFBQWEsU0FBUyxLQUFLLFlBQVksR0FBRyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsSUFBSSxJQUFJLE1BQU0sU0FBUyxJQUFJLFNBQVMsYUFBYSxTQUFTLEtBQUssU0FBUyxlQUFlLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxhQUFhLFNBQVMsVUFBVSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLE1BQU0sT0FBTyxPQUFPLE9BQU8sS0FBSyxPQUFPLE1BQU0sT0FBTyxJQUFJLFNBQVMsS0FBSyxTQUFTLElBQUksU0FBUyxNQUFNLE9BQU8sT0FBTyxPQUFPLEdBQUcsU0FBUyxNQUFNLFNBQVMsV0FBVyxTQUFTLFFBQVEsU0FBUyxJQUFJLFNBQVMsU0FBUyxTQUFTLGFBQWEsU0FBUyxlQUFlLFNBQVMsZUFBZSxTQUFTLE1BQU0sU0FBUyxLQUFLLFlBQVksS0FBSyxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLElBQUksT0FBTyxLQUFLLE9BQU8sTUFBTSxTQUFTLElBQUksU0FBUyxJQUFJLFlBQVksS0FBSyxZQUFZLEtBQUssWUFBWSxPQUFPLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsSUFBSSxZQUFZLEtBQUssWUFBWSxL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UyxJQUFJLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxZQUFZLFNBQVMsYUFBYSxJQUFJLGtCQUFrQixTQUFTLGNBQWMsU0FBUyxjQUFjLFNBQVMsSUFBSSxZQUFZLEtBQUssWUFBWSxLQUFLLFlBQVksT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsSUFBSSxZQUFZLEtBQUssWUFBWSxLQUFLLFlBQVksSUFBSSxZQUFZLEdBQUcsU0FBUyxLQUFLLFlBQVksS0FBSyxZQUFZLEtBQUssU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLE1BQU0sT0FBTyxPQUFPLE9BQU8sTUFBTSxTQUFTLElBQUksU0FBUyxJQUFJLFlBQVksS0FBSyxZQUFZLEtBQUssWUFBWSxLQUFLLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxlQUFlLFNBQVMsS0FBSyxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsS0FBSyxZQUFZLE1BQU0sT0FBTyxPQUFPLE9BQU8sT0FBTyxTQUFTLEdBQUcsU0FBUyxJQUFJLGVBQWUsSUFBSSxTQUFTLEtBQUssT0FBTyxNQUFNLE9BQU8sS0FBSyxPQUFPLE1BQU0sT0FBTyxJQUFJLFNBQVMsS0FBSyxPQUFPLE1BQU0sT0FBTyxHQUFHLFNBQVMsSUFBSSxZQUFZLE1BQU0sT0FBTyxPQUFPLE9BQU8sUUFBUSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxJQUFJLElBQUksU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxLQUFLLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLE1BQU0sT0FBTyxRQUFRLFNBQVMsTUFBTSxTQUFTLEtBQUssWUFBWSxHQUFHLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLEtBQUssSUFBSSxPQUFPLFNBQVMsU0FBUyxTQUFTLEtBQUssT0FBTyxNQUFNLE9BQU8sS0FBSyxZQUFZLElBQUksSUFBSSxNQUFNLFNBQVMsUUFBUSxTQUFTLE1BQU0sT0FBTyxPQUFPLE9BQU8sSUFBSSxPQUFPLEtBQUssT0FBTyxTQUFTLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxTQUFTLFNBQVMsWUFBWSxTQUFTLFVBQVUsU0FBUyxRQUFRLFNBQVMsVUFBVSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsU0FBUyxTQUFTLEtBQUssU0FBUyxTQUFTLFNBQVMsTUFBTSxTQUFTLElBQUksU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxRQUFRLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLFFBQVEsU0FBUyxJQUFJLFlBQVksT0FBTyxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxVQUFVLFNBQVMsU0FBUyxTQUFTLFFBQVEsU0FBUyxnQkFBZ0IsU0FBUyxjQUFjLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLGFBQWEsU0FBUyxZQUFZLFNBQVMsY0FBYyxTQUFTLGtCQUFrQixTQUFTLGtCQUFrQixTQUFTLG1CQUFtQixTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsSUFBSSxVQUFVLFFBQVEsZUFBZSxLQUFLLFNBQVMsS0FBSyxZQUFZLElBQUksU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLFNBQVMsU0FBUyxRQUFRLFNBQVMsU0FBUyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLE9BQU8sT0FBTyxPQUFPLEtBQUssWUFBWSxNQUFNLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxLQUFLLEtBQUssTUFBTSxTQUFTLFNBQVMsU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxlQUFlLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxNQUFNLE9BQU8sT0FBTyxPQUFPLE1BQU0sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLEtBQUssU0FBUyxLQUFLLE9BQU8sTUFBTSxPQUFPLFFBQVEsU0FBUyxJQUFJLE9BQU8sS0FBSyxPQUFPLFVBQVUsT0FBTyxJQUFJLFlBQVksS0FBSyxTQUFTLE1BQU0sU0FBUyxVQUFVLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxnQkFBZ0IsU0FBUyxpQkFBaUIsU0FBUyxTQUFTLE9BQU8sU0FBUyxTQUFTLFdBQVcsU0FBUyxZQUFZLFNBQVMsWUFBWSxTQUFTLEtBQUssU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsU0FBUyxTQUFTLE1BQU0sSUFBSSxPQUFPLFNBQVMsUUFBUSxTQUFTLE1BQU0sSUFBSSxPQUFPLElBQUksS0FBSyxTQUFTLE9BQU8sU0FBUyxXQUFXLFNBQVMsVUFBVSxTQUFTLEtBQUssU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLEtBQUssWUFBWSxPQUFPLFNBQVMsSUFBSSxPQUFPLEtBQUssT0FBTyxPQUFPLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxLQUFLLFlBQVksS0FBSyxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxJQUFJLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxLQUFLLGVBQWUsT0FBTyxTQUFTLFFBQVEsU0FBUyxZQUFZLFNBQVMsWUFBWSxTQUFTLFNBQVMsU0FBUyxXQUFXLFNBQVMsTUFBTSxPQUFPLE9BQU8sT0FBTyxlQUFlLFNBQVMsZ0JBQWdCLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLEdBQUcsU0FBUyxRQUFRLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxHQUFHLE9BQU8sSUFBSSxPQUFPLE1BQU0sU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLElBQUksWUFBWSxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxRQUFRLFNBQVMsWUFBWSxTQUFTLE1BQU0sU0FBUyxJQUFJLE9BQU8sUUFBUSxTQUFTLE1BQU0sU0FBUyxJQUFJLE9BQU8sTUFBTSxPQUFPLE9BQU8sT0FBTyxjQUFjLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sSUFBSSxLQUFLLFlBQVksSUFBSSxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFFBQVEsU0FBUyxVQUFVLFNBQVMsZUFBZSxTQUFTLFVBQVUsU0FBUyxlQUFlLFNBQVMsZ0JBQWdCLFNBQVMsaUJBQWlCLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxZQUFZLEtBQUssU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLEtBQUssU0FBUyxTQUFTLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxNQUFNLE9BQU8sT0FBTyxPQUFPLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxPQUFPLE1BQU0sT0FBTyxPQUFPLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxHQUFHLFNBQVMsTUFBTSxTQUFTLElBQUksWUFBWSxHQUFHLFNBQVMsTUFBTSxPQUFPLE9BQU8sT0FBTyxJQUFJLFNBQVMsT0FBTyxTQUFTLEdBQUcsU0FBUyxTQUFTLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLEtBQUssWUFBWSxLQUFLLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxXQUFXLFNBQVMsWUFBWSxTQUFTLE9BQU8sSUFBSSxPQUFPLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxTQUFTLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxJQUFJLFNBQVMsR0FBRyxPQUFPLElBQUksT0FBTyxJQUFJLE9BQU8sS0FBSyxPQUFPLEtBQUssU0FBUyxLQUFLLElBQUksTUFBTSxTQUFTLFlBQVksU0FBUyxhQUFhLFNBQVMsY0FBYyxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsSUFBSSxZQUFZLE1BQU0sU0FBUyxNQUFNLEtBQUssS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLEtBQUssWUFBWSxPQUFPLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsTUFBTSxPQUFPLE9BQU8sT0FBTyxPQUFPLFNBQVMsT0FBTyxPQUFPLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsTUFBTSxPQUFPLE9BQU8sT0FBTyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssWUFBWSxHQUFHLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsR0FBRyxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxJQUFJLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsU0FBUyxTQUFTLEtBQUssZUFBZSxPQUFPLFNBQVMsSUFBSSxZQUFZLEdBQUcsU0FBUyxJQUFJLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxHQUFHLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxTQUFTLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssWUFBWSxNQUFNLElBQUksS0FBSyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEVBQUUsSUFBSSxHQUFHLElBQUksS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxVQUFVLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxVQUFVLFNBQVMsV0FBVyxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsVUFBVSxlQUFlLEtBQUssZUFBZSxLQUFLLFNBQVMsT0FBTyxTQUFTLEtBQUssT0FBTyxPQUFPLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxRQUFRLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFVBQVUsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLElBQUksWUFBWSxTQUFTLFNBQVMsU0FBUyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsY0FBYyxTQUFTLGVBQWUsU0FBUyxLQUFLLFlBQVksT0FBTyxTQUFTLEtBQUssWUFBWSxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsTUFBTSxPQUFPLE9BQU8sT0FBTyxHQUFHLFNBQVMsS0FBSyxPQUFPLE1BQU0sT0FBTyxJQUFJLFNBQVMsS0FBSyxTQUFTLEtBQUssT0FBTyxNQUFNLE9BQU8sSUFBSSxTQUFTLElBQUksWUFBWSxNQUFNLE9BQU8sT0FBTyxPQUFPLEdBQUcsU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxHQUFHLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsUUFBUSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxPQUFPLE9BQU8sT0FBTyxLQUFLLFlBQVksS0FBSyxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsR0FBRyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsSUFBSSxPQUFPLEtBQUssT0FBTyxNQUFNLFNBQVMsSUFBSSxTQUFTLElBQUksWUFBWSxNQUFNLFNBQVMsS0FBSyxZQUFZLEtBQUssWUFBWSxPQUFPLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxJQUFJLFlBQVksT0FBTyxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsS0FBSyxZQUFZLEtBQUssWUFBWSxNQUFNLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsR0FBRyxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxLQUFLLE9BQU8sTUFBTSxPQUFPLEtBQUssU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLE1BQU0sZUFBZSxNQUFNLFNBQVMsTUFBTSxTQUFTLE9BQU8sSUFBSSxPQUFPLElBQUksTUFBTSxTQUFTLFFBQVEsU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsS0FBSyxJQUFJLElBQUksU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsU0FBUyxTQUFTLEtBQUssU0FBUyxHQUFHLFNBQVMsVUFBVSxTQUFTLGNBQWMsU0FBUyxnQkFBZ0IsU0FBUyxjQUFjLFNBQVMsZUFBZSxTQUFTLGVBQWUsU0FBUyxnQkFBZ0IsU0FBUyxrQkFBa0IsU0FBUyxvQkFBb0IsU0FBUyxlQUFlLFNBQVMsSUFBSSxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsU0FBUyxTQUFTLElBQUksU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxTQUFTLFNBQVMsS0FBSyxlQUFlLE9BQU8sU0FBUyxXQUFXLFNBQVMsUUFBUSxTQUFTLFVBQVUsU0FBUyxXQUFXLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLElBQUksWUFBWSxHQUFHLFNBQVMsSUFBSSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsR0FBRyxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLFdBQVcsU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsY0FBYyxTQUFTLG1CQUFtQixTQUFTLFdBQVcsU0FBUyxlQUFlLFNBQVMsY0FBYyxTQUFTLGVBQWUsU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLE9BQU8sU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLE9BQU8sSUFBSSxJQUFJLFNBQVMsUUFBUSxTQUFTLEtBQUssU0FBUyxLQUFLLElBQUksT0FBTyxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLFlBQVksSUFBSSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEtBQUssSUFBSSxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxFQUFFLElBQUksR0FBRyxJQUFJLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsU0FBUyxTQUFTLFFBQVEsU0FBUyxVQUFVLGVBQWUsS0FBSyxlQUFlLE1BQU0sU0FBUyxJQUFJLE9BQU8sS0FBSyxPQUFPLEtBQUssU0FBUyxLQUFLLFNBQVMsUUFBUSxTQUFTLElBQUksU0FBUyxPQUFPLFNBQVMsV0FBVyxTQUFTLFdBQVcsU0FBUyxTQUFTLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsTUFBTSxTQUFTLGNBQWMsU0FBUyxJQUFJLFlBQVksSUFBSSxTQUFTLEtBQUssT0FBTyxNQUFNLE9BQU8sSUFBSSxTQUFTLE9BQU8sSUFBSSxPQUFPLFNBQVMsTUFBTSxPQUFPLE9BQU8sT0FBTyxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLEtBQUssWUFBWSxHQUFHLFNBQVMsS0FBSyxZQUFZLE9BQU8sU0FBUyxHQUFHLFNBQVMsU0FBUyxTQUFTLE1BQU0sU0FBUyxJQUFJLGVBQWUsSUFBSSxlQUFlLEtBQUssZUFBZSxXQUFXLFNBQVMsZ0JBQWdCLFNBQVMsSUFBSSxlQUFlLElBQUksZUFBZSxLQUFLLGVBQWUsWUFBWSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLGVBQWUsSUFBSSxTQUFTLEtBQUssZUFBZSxNQUFNLGVBQWUsTUFBTSxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxJQUFJLE9BQU8sS0FBSyxPQUFPLE1BQU0sZUFBZSxPQUFPLGVBQWUsS0FBSyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLFNBQVMsZUFBZSxLQUFLLFNBQVMsSUFBSSxTQUFTLE1BQU0sU0FBUyxHQUFHLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLE1BQU0sZUFBZSxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sZUFBZSxPQUFPLFNBQVMsUUFBUSxTQUFTLElBQUksWUFBWSxJQUFJLGVBQWUsSUFBSSxTQUFTLEtBQUssU0FBUyxNQUFNLGVBQWUsVUFBVSxlQUFlLEtBQUssZUFBZSxNQUFNLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxHQUFHLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxJQUFJLGVBQWUsTUFBTSxTQUFTLEtBQUssU0FBUyxJQUFJLFNBQVMsV0FBVyxTQUFTLGdCQUFnQixTQUFTLEtBQUssU0FBUyxNQUFNLGVBQWUsVUFBVSxlQUFlLEtBQUssZUFBZSxNQUFNLFNBQVMsTUFBTSxTQUFTLElBQUksU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxLQUFLLFlBQVksR0FBRyxPQUFPLElBQUksT0FBTyxNQUFNLFNBQVMsT0FBTyxlQUFlLFNBQVMsZUFBZSxRQUFRLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxRQUFRLFNBQVMsS0FBSyxTQUFTLFVBQVUsU0FBUyxPQUFPLGVBQWUsTUFBTSxlQUFlLFFBQVEsU0FBUyxJQUFJLFNBQVMsT0FBTyxTQUFTLEtBQUssZUFBZSxNQUFNLFNBQVMsUUFBUSxlQUFlLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxlQUFlLE9BQU8sZUFBZSxZQUFZLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsT0FBTyxTQUFTLEtBQUssZUFBZSxLQUFLLFlBQVksVUFBVSxTQUFTLGVBQWUsU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxRQUFRLFNBQVMsS0FBSyxTQUFTLE1BQU0sZUFBZSxNQUFNLFNBQVMsUUFBUSxlQUFlLFVBQVUsU0FBUyxXQUFXLGVBQWUsTUFBTSxTQUFTLFFBQVEsZUFBZSxLQUFLLFNBQVMsTUFBTSxlQUFlLE1BQU0sU0FBUyxRQUFRLGVBQWUsVUFBVSxTQUFTLFdBQVcsZUFBZSxLQUFLLFNBQVMsTUFBTSxPQUFPLE9BQU8sT0FBTyxLQUFLLFNBQVMsY0FBYyxTQUFTLGdCQUFnQixTQUFTLGVBQWUsU0FBUyxpQkFBaUIsU0FBUyxHQUFHLFNBQVMsSUFBSSxJQUFJLE9BQU8sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxLQUFLLGVBQWUsT0FBTyxTQUFTLEtBQUssZUFBZSxLQUFLLFVBQVUsUUFBUSxTQUFTLE9BQU8sU0FBUyxLQUFLLGVBQWUsS0FBSyxVQUFVLFFBQVEsZUFBZSxPQUFPLFNBQVMsUUFBUSxlQUFlLE1BQU0sZUFBZSxNQUFNLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLEdBQUcsU0FBUyxNQUFNLE9BQU8sT0FBTyxPQUFPLEtBQUssU0FBUyxLQUFLLE9BQU8sTUFBTSxPQUFPLElBQUksU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsSUFBSSxZQUFZLEtBQUssU0FBUyxNQUFNLE9BQU8sT0FBTyxPQUFPLElBQUksU0FBUyxNQUFNLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsSUFBSSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsS0FBSyxZQUFZLEtBQUssU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLEdBQUcsU0FBUyxNQUFNLFNBQVMsSUFBSSxPQUFPLE1BQU0sU0FBUyxRQUFRLFNBQVMsS0FBSyxPQUFPLEtBQUssT0FBTyxPQUFPLFNBQVMsS0FBSyxTQUFTLFFBQVEsU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE1BQU0sT0FBTyxPQUFPLE9BQU8sS0FBSyxTQUFTLE1BQU0sT0FBTyxPQUFPLE9BQU8sT0FBTyxTQUFTLFNBQVMsU0FBUyxJQUFJLE9BQU8sS0FBSyxPQUFPLE1BQU0sU0FBUyxJQUFJLE9BQU8sS0FBSyxPQUFPLFNBQVMsU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxJQUFJLFNBQVMsT0FBTyxJQUFJLE9BQU8sSUFBSSxPQUFPLFNBQVMsS0FBSyxTQUFTLFFBQVEsU0FBUyxJQUFJLFlBQVksSUFBSSxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLEdBQUcsU0FBUyxVQUFVLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLEtBQUssSUFBSSxTQUFTLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxNQUFNLE9BQU8sT0FBTyxPQUFPLFFBQVEsU0FBUyxRQUFRLFNBQVMsR0FBRyxPQUFPLFNBQVMsU0FBUyxLQUFLLFlBQVksS0FBSyxPQUFPLE1BQU0sT0FBTyxHQUFHLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxXQUFXLFNBQVMsWUFBWSxTQUFTLE9BQU8sU0FBUyxZQUFZLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxRQUFRLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxTQUFTLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLEtBQUssWUFBWSxJQUFJLFNBQVMsT0FBTyxTQUFTLElBQUksWUFBWSxLQUFLLFNBQVMsS0FBSyxZQUFZLE9BQU8sU0FBUyxLQUFLLFlBQVksWUFBWSxTQUFTLFFBQVEsU0FBUyxNQUFNLElBQUksUUFBUSxTQUFTLElBQUksSUFBSSxLQUFLLElBQUksTUFBTSxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxLQUFLLGVBQWUsT0FBTyxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLEtBQUssT0FBTyxNQUFNLE9BQU8sS0FBSyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxVQUFVLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxPQUFPLElBQUksT0FBTyxJQUFJLE1BQU0sU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLEtBQUssSUFBSSxJQUFJLFNBQVMsS0FBSyxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLEdBQUcsT0FBTyxJQUFJLE9BQU8sT0FBTyxTQUFTLE9BQU8sU0FBUyxJQUFJLFlBQVksTUFBTSxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxXQUFXLFNBQVMsZUFBZSxTQUFTLGlCQUFpQixTQUFTLGVBQWUsU0FBUyxnQkFBZ0IsU0FBUyxrQkFBa0IsU0FBUyxpQkFBaUIsU0FBUyxnQkFBZ0IsU0FBUyxnQkFBZ0IsU0FBUyxLQUFLLFNBQVMsYUFBYSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxXQUFXLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxLQUFLLFlBQVksT0FBTyxTQUFTLFFBQVEsU0FBUyxLQUFLLElBQUksT0FBTyxTQUFTLFNBQVMsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLEtBQUssWUFBWSxJQUFJLFNBQVMsS0FBSyxJQUFJLE1BQU0sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxTQUFTLFNBQVMsUUFBUSxTQUFTLEdBQUcsU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLEdBQUcsU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsU0FBUyxTQUFTLE1BQU0sU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLElBQUksT0FBTyxLQUFLLE9BQU8sS0FBSyxJQUFJLE9BQU8sU0FBUyxTQUFTLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxJQUFJLFlBQVksT0FBTyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLFNBQVMsU0FBUyxjQUFjLFNBQVMsR0FBRyxPQUFPLElBQUksT0FBTyxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxjQUFjLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsTUFBTSxlQUFlLE9BQU8sU0FBUyxJQUFJLElBQUksS0FBSyxTQUFTLE9BQU8sU0FBUyxLQUFLLFlBQVksT0FBTyxTQUFTLFVBQVUsU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE9BQU8sZUFBZSxNQUFNLFNBQVMsT0FBTyxlQUFlLE1BQU0sU0FBUyxPQUFPLFNBQVMsU0FBUyxTQUFTLFdBQVcsU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxXQUFXLFNBQVMsSUFBSSxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxLQUFLLFlBQVksT0FBTyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxnQkFBZ0IsU0FBUyxZQUFZLFNBQVMsTUFBTSxPQUFPLElBQUksU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxPQUFPLFNBQVMsU0FBUyxTQUFTLFVBQVUsU0FBUyxVQUFVLFNBQVMsV0FBVyxTQUFTLE9BQU8sU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLEtBQUssU0FBUyxXQUFXLFNBQVMsWUFBWSxTQUFTLE9BQU8sU0FBUyxZQUFZLFNBQVMsU0FBUyxTQUFTLFNBQVMsU0FBUyxRQUFRLFNBQVMsSUFBSSxTQUFTLEtBQUssU0FBUyxJQUFJLFNBQVMsS0FBSyxPQUFPLEtBQUssT0FBTyxLQUFLLE9BQU8sS0FBSyxTQUFTLE9BQU8sU0FBUyxRQUFRLFNBQVMsS0FBSyxTQUFTLFFBQVEsU0FBUyxRQUFRLFNBQVMsUUFBUSxTQUFTLFFBQVEsU0FBUyxRQUFRLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxVQUFVLFNBQVMsVUFBVSxTQUFTLFdBQVcsU0FBUyxPQUFPLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxRQUFRLFNBQVMsT0FBTyxTQUFTLEtBQUssT0FBTyxNQUFNLE9BQU8sT0FBTyxTQUFTLElBQUksU0FBUyxLQUFLLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxJQUFJLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxJQUFJLFlBQVksT0FBTyxTQUFTLFVBQVUsU0FBUyxNQUFNLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxZQUFZLFNBQVMsU0FBUyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLEtBQUssT0FBTyxNQUFNLE9BQU8sTUFBTSxTQUFTLEtBQUssT0FBTyxNQUFNLE9BQU8sT0FBTyxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxJQUFJLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxLQUFLLFlBQVksUUFBUSxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLFNBQVMsU0FBUyxhQUFhLFNBQVMsYUFBYSxTQUFTLGVBQWUsU0FBUyxVQUFVLFNBQVMsY0FBYyxTQUFTLGdCQUFnQixTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsU0FBUyxTQUFTLFFBQVEsU0FBUyxNQUFNLFNBQVMsUUFBUSxTQUFTLFNBQVMsU0FBUyxLQUFLLFlBQVksS0FBSyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLGlCQUFpQixTQUFTLGtCQUFrQixTQUFTLEtBQUssU0FBUyxLQUFLLFNBQVMsTUFBTSxPQUFPLE9BQU8sT0FBTyxLQUFLLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLE9BQU8sTUFBTSxPQUFPLElBQUksU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsSUFBSSxZQUFZLE1BQU0sT0FBTyxPQUFPLE9BQU8sTUFBTSxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxHQUFHLE9BQU8sSUFBSSxPQUFPLE1BQU0sU0FBUyxLQUFLLFlBQVksUUFBUSxTQUFTLFlBQVksU0FBUyxjQUFjLFNBQVMsZUFBZSxTQUFTLE1BQU0sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLFFBQVEsU0FBUyxXQUFXLFNBQVMsT0FBTyxTQUFTLFNBQVMsU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxLQUFLLFlBQVksTUFBTSxTQUFTLE9BQU8sU0FBUyxLQUFLLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxJQUFJLE9BQU8sS0FBSyxPQUFPLFFBQVEsU0FBUyxLQUFLLFNBQVMsS0FBSyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLFdBQVcsU0FBUyxTQUFTLFNBQVMsV0FBVyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsVUFBVSxTQUFTLEtBQUssU0FBUyxPQUFPLFNBQVMsU0FBUyxTQUFTLGFBQWEsZUFBZSxjQUFjLGVBQWUsYUFBYSxlQUFlLGNBQWMsZUFBZSxTQUFTLFNBQVMsZ0JBQWdCLFNBQVMsaUJBQWlCLFNBQVMsSUFBSSxTQUFTLE1BQU0sU0FBUyxJQUFJLFNBQVMsT0FBTyxTQUFTLE1BQU0sU0FBUyxPQUFPLFNBQVMsT0FBTyxJQUFJLEtBQUssSUFBSSxJQUFJLFlBQVksTUFBTSxTQUFTLE1BQU0sZUFBZSxNQUFNLGVBQWUsS0FBSyxZQUFZLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLE9BQU8sZUFBZSxPQUFPLGVBQWUsT0FBTyxlQUFlLE9BQU8sZUFBZSxRQUFRLFNBQVMsTUFBTSxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsT0FBTyxTQUFTLE9BQU8sU0FBUyxJQUFJLFlBQVksS0FBSyxZQUFZLEdBQUcsU0FBUyxHQUFHLFNBQVMsT0FBTyxTQUFTLEtBQUssWUFBWSxLQUFLLFNBQVMsTUFBTSxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsSUFBSSxZQUFZLE1BQU0sU0FBUyxNQUFNLFNBQVMsR0FBRyxTQUFTLE1BQU0sU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLEtBQUssU0FBUyxNQUFNLFNBQVMsS0FBSyxZQUFZLE9BQU8sU0FBUyxPQUFPLFNBQVMsTUFBTSxTQUFTLE1BQU0sU0FBUyxLQUFLLFlBQVksT0FBTyxTQUFTLE9BQU8sU0FBUyxNQUFNLFNBQVMsS0FBSyxTQUFTLE9BQU8sU0FBUyxNQUFNLE9BQU8sT0FBTyxPQUFPLEtBQUssU0FBUyxNQUFNLFNBQVMsSUFBSSxTQUFTLEdBQUcsT0FBTyxJQUFJLE9BQU8sSUFBSSxZ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QVksR0FBR2UsR0FBRWYsQ0FBQyxFQUFFTSxFQUFFNEIsR0FBRyxPQUFPNUIsR0FBRyxDQUFDNEIsR0FBRyxXQUFZLFFBQU9DLEVBQUUsQ0FBQyxJQUFLLElBQUcsR0FBRzdCLEVBQUUsTUFBTSxNQUFNTixFQUFFLElBQUssSUFBR00sR0FBRzRCLEdBQUcsT0FBTyxNQUFNLElBQUssSUFBRzVCLEdBQUc0QixHQUFHLE1BQU0sTUFBTSxJQUFLLElBQUc1QixHQUFHNEIsR0FBRyxPQUFPLEtBQUssQ0FBQyxJQUFJQyxJQUFJLElBQUlBLElBQUksSUFBSUEsSUFBSSxNQUFNQSxJQUFJLE9BQU9wQyxHQUFFQyxFQUFFLEVBQUUsRUFBRUEsRUFBRSxPQUFPQSxFQUFFLE9BQU8sT0FBTyxPQUFPRCxHQUFFQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUlPLEVBQUVQLEVBQUUsTUFBTSxFQUFFUSxFQUFFNEIsR0FBRSxNQUFNM0IsRUFBRVQsRUFBRSxZQUFZLENBQUMsTUFBTVUsQ0FBQyxFQUFFVixFQUFFLEtBQUt3QixJQUFHZixDQUFDLEdBQUcsQ0FBQyxPQUFPQSxFQUFFLENBQUMsSUFBSyxLQUFJRCxFQUFFNEIsR0FBRSxRQUFRckMsR0FBRUMsRUFBRSxHQUFHLEdBQUcsRUFBRVEsR0FBRzRCLEdBQUUsT0FBTyxNQUFNLElBQUssS0FBSTVCLEVBQUU0QixHQUFFLFlBQVlyQyxHQUFFQyxFQUFFLEdBQUcsR0FBRyxFQUFFUSxHQUFHNEIsR0FBRSxXQUFXLE1BQU0sSUFBSyxLQUFJNUIsRUFBRTRCLEdBQUUsV0FBV3JDLEdBQUVDLEVBQUUsR0FBRyxHQUFHLEVBQUVRLEdBQUc0QixHQUFFLFVBQVUsTUFBTSxJQUFLLEtBQUk1QixFQUFFNEIsR0FBRSxTQUFTckMsR0FBRUMsRUFBRSxHQUFHLEdBQUcsRUFBRVEsRUFBRTRCLEdBQUUsYUFBYXJDLEdBQUVDLEVBQUUsR0FBRyxJQUFJLEVBQUVRLEdBQUc0QixHQUFFLFFBQVEsTUFBTSxJQUFLLEtBQUk1QixFQUFFNEIsR0FBRSxTQUFTckMsR0FBRUMsRUFBRSxH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QUVSLEVBQUUsTUFBTSxFQUFFUyxFQUFFVCxFQUFFLE9BQU8sRUFBRSxHQUFHUSxFQUFFUixFQUFFLElBQUksQ0FBQyxJQUFJVSxFQUFFVixFQUFFLE9BQU8sV0FBV1EsQ0FBQyxFQUFFcUIsR0FBRW5CLENBQUMsRUFBRSxLQUFLSCxFQUFFQSxHQUFHLEVBQUVHLEVBQUUsR0FBR1YsRUFBRSxZQUFZVSxFQUFFVixFQUFFLE1BQU1RLEVBQUVSLEVBQUUsT0FBT1MsRUFBRSxDQUFDLE9BQU9ULEVBQUUsT0FBTyxHQUFHTyxDQUFDLENBQUMsSUFBSyxLQUFJLENBQUMsSUFBSUEsRUFBRVEsR0FBRWYsQ0FBQyxFQUFFLEdBQUcsRUFBRTZCLEdBQUV0QixDQUFDLEVBQUUsSUFBSSxNQUFNLEdBQUcsSUFBSUMsRUFBRVksR0FBRWIsQ0FBQyxFQUFFRSxFQUFFTSxHQUFFZixDQUFDLEVBQUUsR0FBRyxFQUFFNkIsR0FBRXBCLENBQUMsRUFBRSxJQUFJLE1BQU0sR0FBRyxJQUFJQyxFQUFFVSxHQUFFWCxDQUFDLEVBQUUsT0FBT0QsR0FBRyxFQUFFRSxDQUFDLENBQUMsSUFBSyxLQUFJLENBQUMsSUFBSUgsRUFBRVEsR0FBRWYsQ0FBQyxFQUFFLEdBQUdBLEVBQUUsY0FBYyxJQUFJLENBQUMsSUFBSVEsRUFBRSxFQUFFLEtBQUtxQixHQUFFZCxHQUFFZixDQUFDLENBQUMsRUFBRSxJQUFJLEdBQUdRLEVBQUVBLEdBQUcsRUFBRVksR0FBRXBCLEVBQUUsV0FBVyxFQUFFUSxFQUFFLFFBQVEsTUFBTSxHQUFHLE9BQU9SLEVBQUUsWUFBWSxHQUFHQSxFQUFFLGNBQWMsSUFBSSxHQUFHUSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUVxQixHQUFFdEIsQ0FBQyxFQUFFLElBQUksTUFBTSxHQUFHLElBQUlDLEVBQUVSLEVBQUUsT0FBTyxXQUFXQSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEdBQUcsRUFBRTZCLEdBQUVyQixDQUFDLEVBQUUsSUFBSSxNQUFNLEdBQUcsSUFBSUMsRUFBRVQsRUFBRSxPQUFPLFdBQVdBLEVBQUUsTUFBTSxDQUFDLEVBQUUsR0FBRyxFQUFFNkIsR0FBRXBCLENBQUMsRUFBRSxJQUFJLE1BQU0sR0FBRyxJQUFJQyxFQUFFVixFQUFFLE9BQU8sV0FBV0EsRUFBRSxNQUFNLENBQUMsRUFBRSxPQUFPNkIsR0FBRW5CLENBQUMsRUFBRSxJQUFJVixFQUFFLE9BQU8sRUFBRUEsRUFBRSxRQUFRLEVBQUVBLEVBQUUsWUFBWUEsRUFBRSxPQUFPLFdBQVdBLEVBQUUsS0FBSyxFQUFFb0IsR0FBRWIsQ0FBQyxHQUFHLEdBQUdhLEdBQUVaLENBQUMsR0FBRyxFQUFFWSxHQUFFWCxDQUFDLEdBQUcsRUFBRVcsR0FBRVYsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUssSUFBRyxJQUFLLElBQUcsR0FBR0osR0FBRyxFQUFFTCxFQUFFLEtBQUtBLEVBQUUsSUFBSSxNQUFNLEdBQUdELEVBQUUsT0FBTyxLQUFLLFFBQVEsT0FBT0UsQ0FBQyxDQUFDLENBQUMsU0FBU3VDLElBQUd6QyxFQUFFQyxFQUFFQyxFQUFFLENBQUMsT0FBT0QsRUFBRSxDQUFDLElBQUksR0FBRyxPQUFPLElBQUksR0FBR0YsR0FBRUMsRUFBRUUsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEdBQUdILEdBQUVDLEVBQUVFLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxHQUFHSCxHQUFFQyxFQUFFLENBQUMsRUFBRSxJQUFJLEdBQUdELEdBQUVDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTMEMsSUFBRzFDLEVBQUVDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTUMsQ0FBQyxFQUFFRixFQUFFTSxFQUFFLFNBQVNDLEVBQUUsR0FBR0MsRUFBRU8sR0FBRWYsQ0FBQyxFQUFFLEtBQUtRLElBQUksSUFBSSxDQUFDLEdBQUdBLElBQUksSUFBSVIsRUFBRSxPQUFPLFdBQVdBLEVBQUUsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDZSxHQUFFZixDQUFDLEVBQUVNLEVBQUUsU0FBUyxLQUFLLFNBQVNFLElBQUksR0FBRyxHQUFHQSxFQUFFTyxHQUFFZixDQUFDLEVBQUVRLEVBQUUsSUFBSUQsR0FBRyxPQUFPLGNBQWNDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNQyxFQUFFLEtBQUtDLEVBQUUsT0FBT29CLENBQUMsRUFBRTlCLEVBQUVxQyxFQUFFRyxJQUFHeEMsRUFBRUMsRUFBRSxJQUFJTyxFQUFFLENBQUMsRUFBRSxHQUFHNkIsR0FBRyxFQUFFOUIsR0FBRyxPQUFPLGNBQWM4QixDQUFDLFVBQVVBLElBQUksSUFBSXBDLEVBQUUsTUFBTSxDQUFDRCxFQUFFLE1BQU1TLEVBQUVULEVBQUUsS0FBS1UsRUFBRVYsRUFBRSxPQUFPOEIsRUFBRXZCLEVBQUUsS0FBS0MsRUFBRW1DLElBQUczQyxFQUFFUSxDQUFDLEVBQUVBLEVBQUUsSUFBSUYsRUFBRSxVQUFVLEtBQUssTUFBTW1DLElBQUd6QyxFQUFFcUMsRUFBRSxDQUFDLENBQUMsTUFBTXJDLEVBQUUsTUFBTUEsRUFBRSxNQUFNUSxJQUFJLElBQUlSLEVBQUUsT0FBTyxXQUFXQSxFQUFFLEtBQUssSUFBSSxLQUFLTyxHQUFHLE9BQU8sY0FBY0MsQ0FBQyxFQUFFUixFQUFFLFlBQVlBLEVBQUUsT0FBTyxXQUFXLEVBQUVBLEVBQUUsS0FBSyxLQUFLUSxFQUFFLElBQUksR0FBR0EsSUFBSSxLQUFLQSxFQUFFLE9BQU8sS0FBS1IsRUFBRSxPQUFPLEdBQUdBLEVBQUUsUUFBUU8sR0FBRyxPQUFPLGNBQWNDLENBQUMsR0FBR1IsRUFBRSxPQUFPQSxFQUFFLEtBQUtELEdBQUVDLEVBQUUsRUFBRSxFQUFFUSxFQUFFTyxHQUFFZixDQUFDLENBQUMsQ0FBQyxPQUFPZSxHQUFFZixDQUFDLEVBQUVBLEVBQUUsV0FBV08sRUFBRVAsRUFBRSxTQUFTQSxFQUFFLE9BQU8sTUFBTUUsRUFBRSxFQUFFRixFQUFFLE9BQU9NLElBQUksU0FBUyxFQUFFLEVBQUUsRUFBRUEsQ0FBQyxDQUFDLFNBQVNxQyxJQUFHM0MsRUFBRUMsRUFBRSxDQUFDLEtBQUtBLElBQUksSUFBSSxDQUFDLE9BQU9BLEVBQUUsQ0FBQyxJQUFLLElBQUcsQ0FBQyxJQUFJQyxFQUFFRixFQUFFLE1BQU0sRUFBRSxHQUFHRSxFQUFFRixFQUFFLEtBQUtBLEVBQUUsT0FBTyxXQUFXRSxDQUFDLElBQUksSUFBSSxPQUFPRixFQUFFLE1BQU1FLEVBQUVGLEVBQUUsU0FBUyxDQUFDQyxFQUFFLEtBQUssQ0FBQyxJQUFLLElBQUcsSUFBSyxNQUFLLElBQUssTUFBS0QsRUFBRSxPQUFPLEdBQUdBLEVBQUUsTUFBTSxDQUFDQSxFQUFFLE9BQU9BLEVBQUUsS0FBS0QsR0FBRUMsRUFBRSxFQUFFLEVBQUVDLEVBQUVjLEdBQUVmLENBQUMsQ0FBQyxDQUFDLE9BQU9DLENBQUMsQ0FBQyxTQUFTMkMsSUFBRzVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPRCxFQUFFLE9BQU9BLEVBQUUsS0FBS0QsR0FBRUMsRUFBRSxDQUFDLEVBQUVBLEVBQUUsUUFBUUEsRUFBRSxTQUFTMEMsSUFBRzFDLEVBQUVDLENBQUMsQ0FBQyxDQUFDLFNBQVM0QyxJQUFHN0MsRUFBRUMsRUFBRUMsRUFBRSxDQUFDLElBQUlJLEVBQUVOLEVBQUUsWUFBWU8sRUFBRSxFQUFFQyxFQUFFLEVBQUVDLEVBQUVQLEVBQUUsR0FBRyxFQUFFLEVBQUVRLEVBQUUsRUFBRW9CLEVBQUUsRUFBRSxHQUFHNUIsRUFBRSxHQUFHSyxFQUFFLElBQUl1QyxJQUFHOUMsRUFBRU0sQ0FBQyxFQUFFQSxFQUFFTixFQUFFLFlBQVlNLElBQUksS0FBS1AsR0FBRUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxHQUFHTSxJQUFJLEdBQUcsR0FBR0EsRUFBRVMsR0FBRWYsQ0FBQyxHQUFHTSxFQUFFLE1BQU0sSUFBSSxDQUFDLElBQUlKLEVBQUUsSUFBSUksRUFBRVMsR0FBRWYsQ0FBQyxFQUFFNkIsR0FBRXZCLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBR0EsSUFBSSxHQUFHLENBQUN3QixHQUFHL0IsR0FBRUMsRUFBRSxHQUFHLEVBQUU4QixFQUFFLEVBQUV4QixFQUFFUyxHQUFFZixDQUFDLEVBQUUsUUFBUSxDQUFDOEIsRUFBRSxFQUFFdkIsRUFBRUEsRUFBRSxHQUFHYSxHQUFFZCxDQUFDLEVBQUVJLElBQUlKLEVBQUVTLEdBQUVmLENBQUMsQ0FBQyxFQUFFVSxJQUFJLEdBQUcsQ0FBQ29CLElBQUkvQixHQUFFQyxFQUFFVSxJQUFJLEVBQUUsR0FBRyxHQUFHLENBQUMsVUFBVUosRUFBRSxNQUFNLElBQUksQ0FBQyxJQUFJSixFQUFFLElBQUlJLEVBQUVTLEdBQUVmLENBQUMsRUFBRTZCLEdBQUV2QixDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUdBLElBQUksR0FBRyxDQUFDd0IsR0FBRy9CLEdBQUVDLEVBQUUsR0FBRyxFQUFFOEIsRUFBRSxFQUFFeEIsRUFBRVMsR0FBRWYsQ0FBQyxFQUFFLFFBQVEsQ0FBQzhCLEVBQUUsRUFBRXZCLEVBQUVBLEVBQUUsR0FBR0QsRUFBRSxJQUFJSSxJQUFJSixFQUFFUyxHQUFFZixDQUFDLENBQUMsRUFBRVUsSUFBSSxHQUFHLENBQUNvQixJQUFJL0IsR0FBRUMsRUFBRVUsSUFBSSxFQUFFLEVBQUUsR0FBRyxDQUFDLFVBQVVKLEVBQUUsTUFBTSxHQUFHLENBQUMsSUFBSUosRUFBRSxJQUFJSSxFQUFFUyxHQUFFZixDQUFDLEVBQUU2QixHQUFFdkIsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHQSxJQUFJLEdBQUcsQ0FBQ3dCLEdBQUcvQixHQUFFQyxFQUFFLEdBQUcsRUFBRThCLEVBQUUsRUFBRXhCLEVBQUVTLEdBQUVmLENBQUMsRUFBRSxRQUFRLENBQUM4QixFQUFFLEVBQUV2QixFQUFFQSxFQUFFLEdBQUdELEVBQUUsSUFBSUksSUFBSUosRUFBRVMsR0FBRWYsQ0FBQyxDQUFDLEVBQUVVLElBQUksR0FBRyxDQUFDb0IsSUFBSS9CLEdBQUVDLEVBQUVVLElBQUksRUFBRSxFQUFFLEdBQUcsQ0FBQyxTQUFTbUIsR0FBRXZCLENBQUMsRUFBRSxHQUFHLElBQUlMLEVBQUUsS0FBS0YsR0FBRUMsRUFBRSxDQUFDLEVBQUVFLEVBQUUsRUFBRTJCLEdBQUV2QixDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUd1QixHQUFFdkIsQ0FBQyxFQUFFLElBQUksQ0FBQ0osRUFBRSxHQUFHTyxFQUFFLEVBQUUsS0FBSyxDQUFDRixFQUFFQSxFQUFFLEdBQUdELEVBQUUsSUFBSUEsRUFBRVMsR0FBRWYsQ0FBQyxDQUFDLE1BQU02QixHQUFFdkIsQ0FBQyxFQUFFLEtBQUtMLEVBQUUsS0FBS0YsR0FBRUMsRUFBRSxDQUFDLEVBQUVBLEVBQUUsT0FBTyxHQUFHRSxFQUFFLElBQUlJLElBQUksSUFBSVAsR0FBRUMsRUFBRSxDQUFDLEVBQUUsR0FBR0UsRUFBRSxHQUFHLENBQUMsR0FBR08sRUFBRSxDQUFDLEtBQUtELEdBQUcsR0FBR3FCLEdBQUV2QixDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUdBLElBQUksR0FBRyxDQUFDQSxFQUFFUyxHQUFFZixDQUFDLEdBQUdNLElBQUksSUFBSUosRUFBRSxLQUFLUyxJQUFHWCxFQUFFLE1BQU1BLEVBQUUsS0FBS0EsRUFBRSxPQUFPQSxFQUFFLE1BQU0sRUFBRUEsRUFBRSxLQUFLQSxFQUFFLE9BQU8sR0FBRyxFQUFFOEIsRUFBRSxFQUFFLFFBQVEsQ0FBQ0EsRUFBRSxFQUFFdkIsRUFBRSxHQUFHQSxHQUFHRCxFQUFFLElBQUlBLEVBQUVTLEdBQUVmLENBQUMsRUFBRSxFQUFFUSxDQUFDLENBQUMsR0FBR3NCLEdBQUduQixJQUFHWCxFQUFFLE1BQU1BLEVBQUUsS0FBS0EsRUFBRSxPQUFPQSxFQUFFLE1BQU0sRUFBRUEsRUFBRSxLQUFLQSxFQUFFLE9BQU8sR0FBRyxFQUFFUSxHQUFHLEdBQUcsQ0FBQ2MsSUFBR2hCLENBQUMsR0FBR0EsSUFBSSxHQUFHLE9BQU9OLEVBQUUsV0FBV08sRUFBRU4sRUFBRSxNQUFNRCxFQUFFLFNBQVNBLEVBQUUsT0FBTyxNQUFNQSxFQUFFLFdBQVdBLEVBQUUsS0FBSyxHQUFHLFNBQVMsQ0FBQ08sR0FBR3VDLElBQUc5QyxFQUFFTSxDQUFDLEVBQUVBLEVBQUVOLEVBQUUsWUFBWU0sSUFBSSxLQUFLUyxHQUFFZixDQUFDLElBQUksSUFBSUQsR0FBRUMsRUFBRSxDQUFDLEVBQUVFLEVBQUUsR0FBR0ssR0FBRyxJQUFJdUMsSUFBRzlDLEVBQUVBLEVBQUUsV0FBVyxFQUFFTSxFQUFFTixFQUFFLFlBQVksQ0FBQyxDQUFDLElBQUlxQyxFQUFFckMsRUFBRSxNQUFNbUMsRUFBRSxFQUFFLEdBQUc3QixJQUFJLEtBQUtKLEVBQUUsSUFBSWlDLEVBQUUsRUFBRTdCLEVBQUVTLEdBQUVmLENBQUMsV0FBV00sRUFBRSxNQUFNLElBQUksQ0FBQ0EsRUFBRVMsR0FBRWYsQ0FBQyxFQUFFNkIsR0FBRXZCLENBQUMsRUFBRSxNQUFNQSxFQUFFUyxHQUFFZixDQUFDLEdBQUcsR0FBRyxDQUFDLE1BQU0rQyxDQUFDLEVBQUUvQyxFQUFFNkIsR0FBRXZCLENBQUMsRUFBRSxJQUFJUCxHQUFFQyxFQUFFLEVBQUUsRUFBRU8sR0FBR1AsRUFBRSxPQUFPLFVBQVVxQyxFQUFFVSxDQUFDLEVBQUVELElBQUc5QyxFQUFFTSxDQUFDLEVBQUVBLEVBQUVOLEVBQUUsV0FBVyxDQUFDLE9BQU9BLEVBQUUsTUFBTUEsRUFBRSxLQUFLNkIsR0FBRXZCLENBQUMsRUFBRSxJQUFJZ0IsSUFBR2hCLENBQUMsSUFBSVAsR0FBRUMsRUFBRSxFQUFFLEVBQUVtQyxHQUFHbkMsRUFBRSxTQUFTQSxFQUFFLE9BQU8sTUFBTUEsRUFBRSxXQUFXQSxFQUFFLEtBQUssRUFBRUEsRUFBRSxXQUFXLE9BQU9nRCxJQUFHLEdBQUdoRCxFQUFFLFNBQVMsTUFBTSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLFlBQVlBLEVBQUUsV0FBV0UsRUFBRSxHQUFHSyxFQUFFTCxFQUFFLEdBQUcsV0FBV0YsRUFBRSxPQUFPLFVBQVVBLEVBQUUsV0FBV0EsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDTyxFQUFFTixFQUFFLE1BQU1ELEVBQUUsU0FBU0EsRUFBRSxPQUFPLE1BQU1BLEVBQUUsV0FBV0EsRUFBRSxLQUFLLEdBQUcsVUFBVSxDQUFDLFNBQVM4QyxJQUFHOUMsRUFBRUMsRUFBRSxDQUFDLElBQUlDLEVBQUUsRUFBRUksRUFBRU4sRUFBRSxNQUFNTyxFQUFFLEdBQUcsS0FBS3NCLEdBQUU1QixDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUdBLElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNTyxDQUFDLEVBQUVSLEVBQUVDLEVBQUVjLEdBQUVmLENBQUMsRUFBRUMsSUFBSSxJQUFJVSxJQUFHWCxFQUFFLE1BQU1BLEVBQUUsS0FBS0EsRUFBRSxPQUFPQSxFQUFFLE1BQU0sRUFBRUEsRUFBRSxLQUFLQSxFQUFFLE9BQU8sR0FBRyxFQUFFRSxFQUFFLEVBQUVLLEdBQUdQLEVBQUUsT0FBTyxVQUFVTSxFQUFFRSxDQUFDLEVBQUVGLEVBQUVOLEVBQUUsTUFBTSxRQUFRLENBQUNFLEVBQUUsRUFBRUQsRUFBRWMsR0FBRWYsQ0FBQyxDQUFDLENBQUMsT0FBT0UsR0FBR1MsSUFBR1gsRUFBRSxNQUFNQSxFQUFFLEtBQUtBLEVBQUUsT0FBT0EsRUFBRSxNQUFNLEVBQUVBLEVBQUUsS0FBS0EsRUFBRSxPQUFPLEdBQUcsRUFBRU8sRUFBRVAsRUFBRSxPQUFPLFVBQVVNLEVBQUVOLEVBQUUsS0FBSyxDQUFDLENBQW13RSxTQUFTaUQsSUFBR2pELEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxLQUFLdUIsSUFBR1YsR0FBRWYsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPQSxFQUFFLFdBQVdBLEVBQUUsT0FBTyxNQUFNQSxFQUFFLFdBQVdBLEVBQUUsS0FBSyxFQUFFQSxFQUFFLGNBQWMsSUFBSUEsRUFBRSxhQUFhLElBQUlrRCxJQUFHbEQsRUFBRSxVQUFVLEdBQUcsT0FBT21ELElBQUduRCxFQUFFQyxFQUFFLEVBQUVDLENBQUMsQ0FBQyxDQUFDLFNBQVNrRCxJQUFHcEQsRUFBRUMsRUFBRSxDQUFDLElBQUlDLEVBQUVtRCxJQUFHckQsQ0FBQyxFQUFFLE9BQU9zQixJQUFHcEIsQ0FBQyxHQUFHSCxHQUFFQyxFQUFFLENBQUMsRUFBRUEsRUFBRSxXQUFXLE9BQU8sY0FBY0UsQ0FBQyxFQUFFaUQsSUFBR25ELEVBQUVDLEVBQUUsRUFBRTRCLEdBQUUzQixDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBU2lELElBQUduRCxFQUFFQyxFQUFFQyxFQUFFSSxFQUFFLENBQUMsSUFBSUMsRUFBRVAsRUFBRSxNQUFNLEtBQUtBLEVBQUUsTUFBTUEsRUFBRSxLQUFLLEdBQUdBLEVBQUUsY0FBYyxHQUFHLENBQUNBLEVBQUUsWUFBWUEsRUFBRSxPQUFPLE1BQU1PLEVBQUVQLEVBQUUsS0FBSyxFQUFFRSxFQUFFLEVBQUUsSUFBSU8sRUFBRTRDLElBQUdyRCxDQUFDLEVBQUV3QixJQUFHZixDQUFDLEdBQUdWLEdBQUVDLEVBQUUsQ0FBQyxFQUFFTSxFQUFFQSxHQUFHdUIsR0FBRXBCLENBQUMsRUFBRSxFQUFFVCxFQUFFLFlBQVksT0FBTyxjQUFjUyxDQUFDLEVBQUVGLEVBQUVQLEVBQUUsS0FBSyxLQUFLLENBQUMsSUFBSVMsRUFBRU8sSUFBR2hCLENBQUMsRUFBRSxHQUFHUyxFQUFFLEVBQUVlLElBQUdmLENBQUMsR0FBR1YsR0FBRUMsRUFBRSxHQUFHLE9BQU8sY0FBY1MsQ0FBQyxDQUFDLEVBQUVULEVBQUUsWUFBWVMsRUFBRVQsRUFBRSxRQUFRQSxFQUFFLGlCQUFpQixDQUFDd0IsSUFBR3hCLEVBQUUsV0FBVyxFQUFFLE1BQU1lLEdBQUVmLENBQUMsQ0FBQyxDQUFDQSxFQUFFLE9BQU9BLEVBQUUsTUFBTUEsRUFBRSxZQUFZQSxFQUFFLE9BQU8sTUFBTU8sRUFBRVAsRUFBRSxLQUFLLEdBQUcsR0FBRyxDQUFDLE9BQU9RLENBQUMsRUFBRVIsRUFBRSxXQUFXLEdBQUdNLEdBQUdFLEdBQUcsR0FBR0EsR0FBRyxHQUFHLENBQUMsSUFBSUMsRUFBRXlDLElBQUdsRCxFQUFFLFVBQVUsRUFBRSxPQUFPUyxJQUFJLE9BQU8sUUFBUVAsRUFBRSxZQUFZLEdBQUdBLEVBQUVPLElBQUksT0FBT1IsRUFBRSxPQUFPLFlBQVlRLEVBQUUsWUFBWVIsRUFBRSxJQUFJUSxJQUFJLFFBQVFBLEVBQUUsU0FBUyxNQUFNLGFBQWFBLEVBQUUsU0FBUyxNQUFNUixFQUFFLFVBQVUsRUFBRUEsRUFBRSxNQUFNUSxFQUFFLFlBQVksWUFBWSxZQUFZUixFQUFFLFVBQVUsRUFBRUEsRUFBRSxRQUFRUSxFQUFFLFNBQVMsTUFBTUEsRUFBRSxZQUFZQSxJQUFJLE9BQU9SLEVBQUUsU0FBUyxZQUFZQSxFQUFFLE9BQU8sWUFBWVEsRUFBRSxZQUFZQSxJQUFJLE9BQU8sYUFBYUEsRUFBRSxTQUFTLE1BQU1BLEVBQUUsTUFBTSxZQUFZLFlBQVlBLENBQUMsQ0FBQyxNQUFPLFNBQVFQLEVBQUUsWUFBWSxFQUFFLENBQUMsU0FBU29ELElBQUd0RCxFQUFFLENBQUMsSUFBSUMsRUFBRWMsR0FBRWYsQ0FBQyxFQUFFLEdBQUdDLElBQUksR0FBRyxNQUFPLEtBQUksSUFBSUMsRUFBRWMsSUFBR2hCLENBQUMsRUFBRSxPQUFPRSxJQUFJRCxFQUFFQyxHQUFHb0IsSUFBR3JCLENBQUMsR0FBR0YsR0FBRUMsRUFBRSxFQUFFLEVBQUUsR0FBRyxDQUFDLFNBQVNxRCxJQUFHckQsRUFBRSxDQUFDLE9BQU9BLEVBQUUsT0FBTyxXQUFXQSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEtBQUtELEdBQUVDLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLFlBQVlBLEVBQUUsT0FBTyxXQUFXQSxFQUFFLE9BQU8sQ0FBQyxFQUFFdUQsSUFBR3ZELENBQUMsQ0FBQyxDQUFDLFNBQVN1RCxJQUFHdkQsRUFBRSxDQUFDLElBQUlDLEVBQUUsRUFBRUMsRUFBRUYsRUFBRSxZQUFZLEdBQUdFLElBQUksSUFBSSxDQUFDLElBQUlPLEVBQUVULEVBQUUsTUFBTSxFQUFFLEtBQUs2QixHQUFFZCxHQUFFZixDQUFDLENBQUMsRUFBRSxJQUFJQyxFQUFFQSxHQUFHLEVBQUVtQixHQUFFcEIsRUFBRSxXQUFXLEVBQUVDLEVBQUUsU0FBU1UsSUFBR0YsRUFBRVQsRUFBRSxLQUFLQSxFQUFFLE9BQU9BLEVBQUUsTUFBTUEsRUFBRSxLQUFLQSxFQUFFLE9BQU8sR0FBRyxFQUFFLE9BQU9BLEVBQUUsY0FBYyxLQUFLVyxJQUFHRixFQUFFVCxFQUFFLEtBQUtBLEVBQUUsT0FBT0EsRUFBRSxNQUFNQSxFQUFFLEtBQUtBLEVBQUUsT0FBTyxDQUFDLEVBQUVlLEdBQUVmLENBQUMsRUFBRUMsQ0FBQyxDQUFDNEIsR0FBRTNCLENBQUMsRUFBRSxJQUFJSCxHQUFFQyxFQUFFLENBQUMsRUFBRSxJQUFJTSxFQUFFTixFQUFFLE9BQU8sV0FBV0EsRUFBRSxNQUFNLENBQUMsRUFBRTZCLEdBQUV2QixDQUFDLEVBQUUsSUFBSVAsR0FBRUMsRUFBRSxDQUFDLEVBQUUsSUFBSU8sRUFBRVAsRUFBRSxPQUFPLFdBQVdBLEVBQUUsTUFBTSxDQUFDLEVBQUU2QixHQUFFdEIsQ0FBQyxFQUFFLElBQUlSLEdBQUVDLEVBQUUsQ0FBQyxFQUFFLElBQUlRLEVBQUVSLEVBQUUsT0FBTyxXQUFXQSxFQUFFLE1BQU0sQ0FBQyxFQUFFLE9BQU82QixHQUFFckIsQ0FBQyxFQUFFLElBQUlULEdBQUVDLEVBQUUsQ0FBQyxFQUFFQyxFQUFFbUIsR0FBRWxCLENBQUMsR0FBRyxHQUFHa0IsR0FBRWQsQ0FBQyxHQUFHLEVBQUVjLEdBQUViLENBQUMsR0FBRyxFQUFFYSxHQUFFWixDQUFDLEVBQUVSLEVBQUUsWUFBWUEsRUFBRSxPQUFPLFdBQVdBLEVBQUUsT0FBTyxDQUFDLEVBQUVDLENBQUMsQ0FBdXlCLFNBQVN1RCxHQUFFeEQsRUFBRUMsRUFBRSxDQUFDRCxFQUFFLE9BQU9BLEVBQUUsTUFBTSxHQUFHLEVBQUVBLEVBQUUsV0FBV0EsRUFBRSxNQUFNQSxFQUFFLFlBQVlBLEVBQUUsT0FBT0EsRUFBRSxVQUFVQSxFQUFFLEtBQUtBLEVBQUUsU0FBU3lELElBQUd6RCxFQUFFQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBU3dELElBQUd6RCxFQUFFQyxFQUFFQyxFQUFFLENBQUMsSUFBSUksRUFBRU4sRUFBRSxRQUFRLEVBQUUsQ0FBQyxPQUFPTyxDQUFDLEVBQUVQLEVBQUVRLEVBQUVSLEVBQUUsTUFBTVMsRUFBRVQsRUFBRSxLQUFLVSxFQUFFVixFQUFFLE9BQU8sS0FBS0EsRUFBRSxNQUFNQSxFQUFFLEtBQUssQ0FBQ0EsRUFBRSxXQUFXQSxFQUFFLE1BQU1BLEVBQUUsWUFBWUEsRUFBRSxPQUFPQSxFQUFFLFVBQVVBLEVBQUUsS0FBSyxJQUFJOEIsRUFBRTlCLEVBQUUsWUFBWSxHQUFHOEIsR0FBRyxJQUFJLENBQUMsSUFBSU8sRUFBRXFCLElBQUc1QixDQUFDLEVBQUUsT0FBT08sRUFBRSxDQUFDLElBQUssVUFBUyxJQUFLLElBQUcsSUFBSyxTQUFRLElBQUssWUFBVyxJQUFLLFVBQVMsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLFlBQVcsSUFBSyxJQUFHLElBQUssVUFBUyxJQUFLLEtBQUksSUFBSyxLQUFJLE9BQU90QixHQUFFZixDQUFDLEVBQUVxQyxFQUFFLElBQUssUUFBTyxPQUFPWSxJQUFHakQsRUFBRUMsRUFBRSxDQUFDLEVBQUUsSUFBSyxNQUFLLE9BQU9nRCxJQUFHakQsRUFBRUMsRUFBRSxDQUFDLEVBQUUsSUFBSyxXQUFVLE9BQU80QyxJQUFHN0MsRUFBRUMsRUFBRSxHQUFHLEVBQUUsSUFBSyxXQUFVLE9BQU9zQyxJQUFHdkMsRUFBRUMsRUFBRTZCLENBQUMsRUFBRSxJQUFLLEtBQUksT0FBT1ksSUFBRzFDLEVBQUVDLENBQUMsRUFBRSxJQUFLLEtBQUksT0FBT21ELElBQUdwRCxFQUFFQyxDQUFDLEVBQUUsSUFBSyxLQUFJLE9BQU9xRCxJQUFHdEQsQ0FBQyxFQUFFLElBQUssS0FBSWUsR0FBRWYsQ0FBQyxFQUFFLE1BQU0sSUFBSyxLQUFJRSxHQUFHLEVBQUVnQixHQUFHbEIsQ0FBQyxFQUFFLE1BQU0sSUFBSyxLQUFJaUIsSUFBR2pCLEVBQUVFLENBQUMsRUFBRUEsRUFBRUEsRUFBRSxHQUFHLEVBQUUsTUFBTSxJQUFLLFNBQVEsQ0FBQyxJQUFJaUMsRUFBRXBCLEdBQUVmLENBQUMsRUFBRSxHQUFHQSxFQUFFLE1BQU1BLEVBQUUsSUFBSSxDQUFDLEdBQUdtQyxJQUFJLEdBQUcsT0FBT25DLEVBQUUsTUFBTUEsRUFBRSxLQUFLZSxHQUFFZixDQUFDLElBQUksSUFBSWUsR0FBRWYsQ0FBQyxFQUFFLFNBQVMsUUFBUSxHQUFHbUMsSUFBSSxHQUFHLE9BQU9wQixHQUFFZixDQUFDLEVBQUUsUUFBUSxHQUFHbUMsSUFBSSxHQUFHLENBQUMsSUFBSVksRUFBRS9DLEVBQUUsTUFBTSxFQUFFLEdBQUcrQyxFQUFFLEVBQUUvQyxFQUFFLEtBQUtPLEVBQUUsV0FBV3dDLENBQUMsSUFBSSxJQUFJeEMsRUFBRSxXQUFXd0MsRUFBRSxDQUFDLEdBQUcsR0FBRyxDQUFDL0MsRUFBRSxRQUFRLEVBQUVBLEVBQUUsWUFBWU8sRUFBRSxXQUFXUCxFQUFFLE9BQU8sQ0FBQyxFQUFFRSxFQUFFMEIsSUFBRzVCLEVBQUVPLEVBQUVMLEVBQUVELEVBQUUsRUFBRUQsRUFBRSxXQUFXQSxFQUFFLFVBQVVBLEVBQUUsV0FBVyxFQUFFUSxFQUFFUixFQUFFLFdBQVdTLEVBQUVULEVBQUUsVUFBVVUsRUFBRVYsRUFBRSxZQUFZLFFBQVEsQ0FBQyxNQUFPLFFBQU8sQ0FBQyxDQUFDLE1BQU8sUUFBTyxDQUFDLElBQUssWUFBVyxDQUFDZSxHQUFFZixDQUFDLEVBQUUsSUFBSW1DLEVBQUVuQyxFQUFFLFlBQVksT0FBT21DLElBQUksR0FBR3BCLEdBQUVmLENBQUMsSUFBSSxJQUFJZSxHQUFFZixDQUFDLEVBQUUsU0FBUyxRQUFRbUMsSUFBSSxJQUFJcEIsR0FBRWYsQ0FBQyxFQUFFLElBQUksVUFBVSxDQUFDLElBQUssVUFBUyxPQUFPZSxHQUFFZixDQUFDLElBQUksR0FBRyxTQUFTZSxHQUFFZixDQUFDLElBQUksR0FBRyxTQUFTZSxHQUFFZixDQUFDLEVBQUUsU0FBUyxJQUFLLFNBQVEsT0FBT2UsR0FBRWYsQ0FBQyxJQUFJLEdBQUcsU0FBU2UsR0FBRWYsQ0FBQyxFQUFFLFNBQVMsSUFBSyxTQUFRLENBQUMsR0FBR2UsR0FBRWYsQ0FBQyxFQUFFQSxFQUFFLE9BQU9BLEVBQUUsSUFBSSxNQUFPLFNBQVEsSUFBSW1DLEVBQUVuQyxFQUFFLFlBQVksT0FBT21DLElBQUksSUFBSXBCLEdBQUVmLENBQUMsRUFBRSxTQUFTbUMsSUFBSSxHQUFHLFFBQVFwQixHQUFFZixDQUFDLElBQUksR0FBRyxTQUFTZSxHQUFFZixDQUFDLEVBQUUsUUFBUSxDQUFDLElBQUssU0FBUSxPQUFPZSxHQUFFZixDQUFDLElBQUksR0FBRyxTQUFTZSxHQUFFZixDQUFDLEVBQUUsU0FBUyxJQUFLLFVBQVMsQ0FBQ2UsR0FBRWYsQ0FBQyxFQUFFLElBQUltQyxFQUFFbkMsRUFBRSxZQUFZLE9BQU9tQyxJQUFJLElBQUlwQixHQUFFZixDQUFDLEVBQUUsVUFBVW1DLElBQUksSUFBSXBCLEdBQUVmLENBQUMsRUFBRSxTQUFTLFFBQVEsQ0FBQyxJQUFLLFVBQVMsQ0FBQ2UsR0FBRWYsQ0FBQyxFQUFFLElBQUltQyxFQUFFbkMsRUFBRSxZQUFZLEdBQUdtQyxJQUFJLEdBQUcsQ0FBQyxHQUFHcEIsR0FBRWYsQ0FBQyxHQUFHRSxFQUFFLEdBQUdJLElBQUlOLEVBQUUsY0FBYyxHQUFHLENBQUNDLEVBQUUsSUFBSUYsR0FBRUMsRUFBRSxHQUFHLEVBQUVlLEdBQUVmLENBQUMsRUFBRUUsRUFBRTBCLElBQUc1QixFQUFFTyxFQUFFTCxFQUFFRCxFQUFFLEVBQUVPLEVBQUVDLEVBQUVDLENBQUMsRUFBRUYsRUFBRVIsRUFBRSxXQUFXUyxFQUFFVCxFQUFFLFVBQVVVLEVBQUVWLEVBQUUsWUFBWSxRQUFRLENBQUMsTUFBTyxTQUFRLENBQUMsT0FBT21DLElBQUksSUFBSXBCLEdBQUVmLENBQUMsRUFBRSxTQUFTLFFBQVEsQ0FBQyxJQUFLLFNBQVEsQ0FBQyxHQUFHZSxHQUFFZixDQUFDLEVBQUVBLEVBQUUsTUFBTUEsRUFBRSxJQUFJLENBQUMsSUFBSW1DLEVBQUVuQyxFQUFFLFlBQVksR0FBR21DLElBQUksR0FBRyxDQUFDcEIsR0FBRWYsQ0FBQyxFQUFFRSxFQUFFeUIsSUFBRzNCLEVBQUVPLEVBQUVMLEVBQUUsRUFBRUYsRUFBRSxXQUFXQSxFQUFFLFVBQVVBLEVBQUUsV0FBVyxFQUFFUSxFQUFFUixFQUFFLFdBQVdTLEVBQUVULEVBQUUsVUFBVVUsRUFBRVYsRUFBRSxZQUFZLFFBQVEsQ0FBQyxHQUFHbUMsSUFBSSxHQUFHLENBQUNwQixHQUFFZixDQUFDLEVBQUVFLEVBQUU4QixJQUFHaEMsRUFBRU8sRUFBRUwsQ0FBQyxFQUFFTSxFQUFFUixFQUFFLFdBQVdTLEVBQUVULEVBQUUsVUFBVVUsRUFBRVYsRUFBRSxZQUFZLFFBQVEsQ0FBQyxHQUFHQyxFQUFFLEtBQUssT0FBT2dDLElBQUdqQyxFQUFFQyxDQUFDLEVBQUUsR0FBR2tDLElBQUksR0FBRyxPQUFPcEIsR0FBRWYsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFPLFFBQU8sQ0FBQyxJQUFLLFVBQVMsQ0FBQyxJQUFJbUMsRUFBRXBCLEdBQUVmLENBQUMsRUFBRSxHQUFHbUMsR0FBRyxJQUFJQSxHQUFHLEdBQUcsT0FBT1UsSUFBRzdDLEVBQUVDLEVBQUUsRUFBRSxFQUFFLEdBQUdrQyxJQUFJLEdBQUcsQ0FBQyxJQUFJWSxFQUFFL0MsRUFBRSxNQUFNLEVBQUUsR0FBRytDLEVBQUUvQyxFQUFFLEtBQUtPLEVBQUUsV0FBV3dDLENBQUMsSUFBSSxHQUFHLE9BQU8vQyxFQUFFLFFBQVEsRUFBRUEsRUFBRSxZQUFZTyxFQUFFLFdBQVdQLEVBQUUsT0FBTyxDQUFDLEVBQUUsRUFBRSxDQUFDLE1BQU8sU0FBUSxDQUFDLElBQUssU0FBUSxDQUFDZSxHQUFFZixDQUFDLEVBQUUsSUFBSW1DLEVBQUVuQyxFQUFFLFlBQVksT0FBT21DLElBQUksS0FBS3BCLEdBQUVmLENBQUMsRUFBRUEsRUFBRSxjQUFjLElBQUllLEdBQUVmLENBQUMsRUFBRSxTQUFTLFNBQVNtQyxJQUFJLElBQUlwQixHQUFFZixDQUFDLEVBQUUsU0FBUyxPQUFPLENBQUMsSUFBSyxTQUFRLENBQUNlLEdBQUVmLENBQUMsRUFBRSxJQUFJbUMsRUFBRW5DLEVBQUUsWUFBWSxHQUFHbUMsSUFBSSxHQUFHLE9BQU9wQixHQUFFZixDQUFDLEVBQUUsUUFBUSxHQUFHbUMsSUFBSSxHQUFHLE1BQU8sU0FBUSxHQUFHcEIsR0FBRWYsQ0FBQyxFQUFFQSxFQUFFLE1BQU1BLEVBQUUsSUFBSSxDQUFDLElBQUkrQyxFQUFFL0MsRUFBRSxZQUFZLEdBQUcrQyxJQUFJLEdBQUcsT0FBT2hDLEdBQUVmLENBQUMsSUFBSSxJQUFJZSxHQUFFZixDQUFDLEVBQUUsU0FBUyxRQUFRLEdBQUcrQyxJQUFJLEdBQUcsT0FBT2hDLEdBQUVmLENBQUMsRUFBRSxPQUFPLENBQUMsTUFBTyxRQUFPLENBQUMsSUFBSyxTQUFRLENBQUNlLEdBQUVmLENBQUMsRUFBRSxJQUFJbUMsRUFBRW5DLEVBQUUsWUFBWSxPQUFPbUMsSUFBSSxJQUFJcEIsR0FBRWYsQ0FBQyxFQUFFQSxFQUFFLGNBQWMsSUFBSWUsR0FBRWYsQ0FBQyxFQUFFLFNBQVMsU0FBU21DLElBQUksSUFBSXBCLEdBQUVmLENBQUMsRUFBRSxTQUFTLE9BQU8sQ0FBQyxJQUFLLElBQUcsQ0FBQyxJQUFJbUMsRUFBRXBCLEdBQUVmLENBQUMsRUFBRSxHQUFHbUMsSUFBSSxHQUFHLE9BQU9wQixHQUFFZixDQUFDLEVBQUVBLEVBQUUsY0FBYyxJQUFJZSxHQUFFZixDQUFDLEVBQUUsU0FBUyxVQUFVLEdBQUdtQyxJQUFJLEdBQUcsQ0FBQyxJQUFJWSxFQUFFL0MsRUFBRSxNQUFNLEVBQUUsR0FBRytDLEVBQUUvQyxFQUFFLE1BQU1tQyxFQUFFNUIsRUFBRSxXQUFXd0MsQ0FBQyxFQUFFLEVBQUVaLEdBQUcsSUFBSUEsR0FBRyxLQUFLLE9BQU9wQixHQUFFZixDQUFDLEVBQUUsUUFBUSxDQUFDLE1BQU8sR0FBRSxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUk4QixFQUFFLE9BQU8sRUFBRSxDQUFDNUIsRUFBRUEsRUFBRSxHQUFHLEVBQUVnQixHQUFHbEIsQ0FBQyxFQUFFLFFBQVEsQ0FBQyxJQUFJcUMsRUFBRXJCLElBQUdoQixDQUFDLEVBQUUsR0FBR3FDLEVBQUUsSUFBSVAsRUFBRU8sR0FBR3ZCLElBQUdnQixDQUFDLEVBQUUsT0FBTzlCLEVBQUUsV0FBVyxHQUFHbUQsSUFBR25ELEVBQUVDLEVBQUUsRUFBRSxDQUFDLEVBQUUsR0FBR2tCLElBQUdXLENBQUMsRUFBRSxDQUFDZixHQUFFZixDQUFDLEVBQUUsUUFBUSxDQUFDRCxHQUFFQyxFQUFFLEdBQUcsT0FBTyxjQUFjOEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU8sUUFBTyxDQUFDLFNBQVM2QixJQUFHM0QsRUFBRUMsRUFBRSxDQUFDLE9BQU9ELEVBQUUsV0FBV0EsRUFBRSxXQUFXQSxFQUFFLE1BQU1BLEVBQUUsWUFBWUEsRUFBRSxZQUFZQSxFQUFFLE9BQU9BLEVBQUUsVUFBVUEsRUFBRSxVQUFVQSxFQUFFLEtBQUtBLEVBQUUsU0FBUzZCLEdBQUU3QixFQUFFLFdBQVcsRUFBRSxLQUFLNEQsSUFBRzVELEVBQUVDLENBQUMsRUFBRXdELElBQUd6RCxFQUFFQyxFQUFFLENBQUMsQ0FBQyxFQUFFRCxFQUFFLFNBQVMsQ0FBQyxDQUFDLFNBQVM0RCxJQUFHNUQsRUFBRUMsRUFBRSxDQUFDLElBQUlDLEVBQUVGLEVBQUUsWUFBWU0sRUFBRVMsR0FBRWYsQ0FBQyxFQUFFTyxFQUFFUCxFQUFFLE1BQU0sS0FBS00sSUFBSUosR0FBR0YsRUFBRSxPQUFPQSxFQUFFLEtBQUtELEdBQUVDLEVBQUUsRUFBRSxFQUFFTSxFQUFFUyxHQUFFZixDQUFDLEVBQUUsT0FBT00sSUFBSUosR0FBR0gsR0FBRUMsRUFBRSxFQUFFLEVBQUVBLEVBQUUsV0FBV0EsRUFBRSxPQUFPLE1BQU1PLEVBQUVQLEVBQUUsS0FBSyxFQUFFZSxHQUFFZixDQUFDLEVBQUVDLEVBQUUsTUFBTUQsRUFBRSxTQUFTQSxFQUFFLE9BQU8sTUFBTUEsRUFBRSxXQUFXQSxFQUFFLEtBQUssR0FBRyxTQUFTLENBQUMsU0FBUzZELElBQUc3RCxFQUFFQyxFQUFFLENBQUMsR0FBR0QsRUFBRSxXQUFXQSxFQUFFLFdBQVdBLEVBQUUsTUFBTUEsRUFBRSxZQUFZQSxFQUFFLFlBQVlBLEVBQUUsT0FBT0EsRUFBRSxVQUFVQSxFQUFFLFVBQVVBLEVBQUUsS0FBS0EsRUFBRSxPQUFPQSxFQUFFLElBQUksQ0FBQ0EsRUFBRSxTQUFTLE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBR0EsRUFBRSxjQUFjLEdBQUcsQ0FBQ2UsR0FBRWYsQ0FBQyxFQUFFQSxFQUFFLFNBQVMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxHQUFHQSxFQUFFLGNBQWMsSUFBSSxDQUFDZSxHQUFFZixDQUFDLEVBQUVBLEVBQUUsU0FBUyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUlFLEVBQUUsRUFBRSxLQUFLRixFQUFFLE1BQU1BLEVBQUUsS0FBSyxDQUFDLElBQUlPLEVBQUVzQixHQUFFN0IsRUFBRSxPQUFPLFdBQVdBLEVBQUUsS0FBSyxDQUFDLEVBQUUsR0FBR08sRUFBRSxNQUFNTCxHQUFHLEVBQUVnQixHQUFHbEIsQ0FBQyxHQUFHTyxFQUFFLE1BQU1VLElBQUdqQixFQUFFRSxDQUFDLEVBQUVBLEVBQUVBLEVBQUUsR0FBRyxHQUFHYSxHQUFFZixDQUFDLEVBQUU2QixHQUFFN0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxLQUFLLENBQUNBLEVBQUUsYUFBYUEsRUFBRSxPQUFPRCxHQUFFQyxFQUFFLENBQUMsRUFBRSxJQUFJTSxFQUFFTixFQUFFLE9BQU8sTUFBTUEsRUFBRSxXQUFXQSxFQUFFLEtBQUssRUFBRUMsRUFBRSxNQUFNRCxFQUFFLFNBQVNNLEdBQUdOLEVBQUUsV0FBV00sRUFBRU4sRUFBRSxTQUFTLEdBQUcsQ0FBQyxDQUFDLFNBQVM4RCxJQUFHOUQsRUFBRSxDQUFDLElBQUlBLEVBQUUsU0FBUyxFQUFFLFVBQVUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxNQUFNQyxDQUFDLEVBQUVELEVBQUVFLEVBQUVGLEVBQUUsWUFBWSxLQUFLNkIsR0FBRTNCLENBQUMsRUFBRSxPQUFPQSxFQUFFYSxHQUFFZixDQUFDLEVBQUVBLEVBQUUsWUFBWUEsRUFBRSxPQUFPLE1BQU1DLEVBQUVELEVBQUUsS0FBSyxDQUFDLENBQUMsT0FBT0EsRUFBRSxTQUFTLE9BQU8sRUFBRSxFQUFFQSxFQUFFLFNBQVMsQ0FBQyxDQUFDLFNBQVMrRCxHQUFFL0QsRUFBRUMsRUFBRSxDQUFDLElBQUlDLEVBQUUsRUFBRUYsRUFBRSxNQUFNLEtBQUtBLEVBQUUsU0FBUyxFQUFFLFdBQVcsU0FBU0QsR0FBRUMsRUFBRSxHQUFHZ0UsR0FBRWhFLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxFQUFFaUUsR0FBRWpFLEVBQUVDLEVBQUUsVUFBVSxJQUFJQyxFQUFFRixFQUFFLHNCQUFzQixNQUFNRSxFQUFFLEtBQUtGLEVBQUVBLEVBQUUsVUFBVSxDQUFDLENBQUMsU0FBU2tFLElBQUdsRSxFQUFFQyxFQUFFQyxFQUFFSSxFQUFFLENBQUMsT0FBT0wsRUFBRUMsRUFBRSxJQUFJSSxJQUFJLGdCQUFnQk4sRUFBRSxTQUFTLEVBQUUsV0FBVyxTQUFTQSxFQUFFLE1BQU0sR0FBRyxFQUFFLENBQUMsQ0FBQyxTQUFTbUUsSUFBR25FLEVBQUVDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPRixFQUFFLFNBQVMsSUFBSUUsRUFBRSxHQUFHc0QsR0FBRXhELEVBQUVDLENBQUMsRUFBRSxFQUFFLENBQUMsU0FBU2dFLEdBQUVqRSxFQUFFQyxFQUFFQyxFQUFFLENBQUMsT0FBT0YsRUFBRSxTQUFTLElBQUlFLEVBQUUsSUFBSXNELEdBQUV4RCxFQUFFQyxDQUFDLEVBQUUsR0FBRyxDQUFDLFNBQVNtRSxHQUFFcEUsRUFBRUMsRUFBRUMsRUFBRSxDQUFDRixFQUFFLFNBQVMsSUFBSUUsR0FBR0gsR0FBRUMsRUFBRSxHQUFHZ0UsR0FBRTlELEVBQUUsR0FBRyxDQUFDLEVBQUVzRCxHQUFFeEQsRUFBRUMsQ0FBQyxDQUFDLENBQUMsU0FBU29FLEdBQUVyRSxFQUFFQyxFQUFFLENBQUMsT0FBT0EsRUFBRSxLQUFLLENBQUMsSUFBSSxrQkFBa0IsQ0FBQ0EsRUFBRSxLQUFLLGVBQWUsR0FBRyxDQUFDLFNBQVNDLENBQUMsRUFBRUQsRUFBRSxRQUFRSyxFQUFFLEVBQUVDLEVBQUVMLEVBQUUsT0FBT0ksRUFBRUMsRUFBRSxFQUFFRCxFQUFFLENBQUMsSUFBSUUsRUFBRU4sRUFBRUksQ0FBQyxFQUFFRSxHQUFHNkQsR0FBRXJFLEVBQUVRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLG1CQUFtQixDQUFDUCxFQUFFLEtBQUssZ0JBQWdCLEdBQUcsQ0FBQyxXQUFXQyxDQUFDLEVBQUVELEVBQUUsUUFBUUssRUFBRSxFQUFFQyxFQUFFTCxFQUFFLE9BQU9JLEVBQUVDLEVBQUUsRUFBRUQsRUFBRStELEdBQUVyRSxFQUFFRSxFQUFFSSxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsSUFBSSx1QkFBdUJMLEVBQUUsS0FBSyxvQkFBb0JBLEVBQUUsV0FBVyxLQUFLRixHQUFFQyxFQUFFLEVBQUUsRUFBRSxPQUFPQyxFQUFFLFNBQVNvRSxHQUFFckUsRUFBRUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxJQUFJLFdBQVdvRSxHQUFFckUsRUFBRUMsRUFBRSxLQUFLLEVBQUUsT0FBTyxJQUFJLGdCQUFnQkEsRUFBRSxLQUFLLGNBQWNvRSxHQUFFckUsRUFBRUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVNxRSxJQUFHdEUsRUFBRUMsRUFBRUMsRUFBRUksRUFBRUMsRUFBRSxDQUFDTixFQUFFLE9BQU9LLEVBQUUsU0FBUyxPQUFPUCxHQUFFQyxFQUFFLEdBQUcsRUFBRSxDQUFDTyxJQUFJRCxFQUFFLGFBQWEsV0FBV1AsR0FBRUMsRUFBRSxHQUFHLEtBQUtNLEVBQUUsU0FBUyxPQUFPQSxJQUFJLGNBQWNQLEdBQUVDLEVBQUUsR0FBRyxFQUFFRSxFQUFFLEtBQUtJLEVBQUUsT0FBTyxJQUFJUCxHQUFFQyxFQUFFLEdBQUcsRUFBRUMsRUFBRSxRQUFRSyxJQUFJLFFBQVFQLEdBQUVDLEVBQUUsR0FBRyxFQUFFQyxFQUFFLFFBQVFLLElBQUksUUFBUVAsR0FBRUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxDQUFDLFNBQVN1RSxJQUFHdkUsRUFBRUMsRUFBRUMsRUFBRSxDQUFDRCxFQUFFLE9BQU9DLEVBQUUsU0FBUyxP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QThDLEdBQUcsNENBQTRDLEdBQUcsNEVBQTRFLEdBQUcsMEVBQTBFLEdBQUcsNkJBQTZCLEdBQUcsMEJBQTBCLEdBQUcsc0RBQXNELEdBQUcsMENBQTBDLEdBQUcsb0RBQW9ELEdBQUcsK0NBQStDLEdBQUcsd0JBQXdCLEdBQUcscUZBQXFGLEdBQUcsMEhBQTBILEdBQUcsa0lBQWtJLEdBQUcsNkRBQTZELEdBQUcsbUNBQW1DLEdBQUcsK0JBQStCLEdBQUcsK0VBQStFLEdBQUcseUZBQXlGLEdBQUcsMkZBQTJGLEdBQUcsb0VBQW9FLEdBQUcsZ0ZBQWdGLEdBQUcseURBQXlELEdBQUcscUNBQXFDLEdBQUcsbURBQW1ELEdBQUcsOEJBQThCLEdBQUcsb0RBQW9ELEdBQUcsMkJBQTJCLEdBQUcsK0VBQStFLEdBQUcsNERBQTRELEdBQUcsaUNBQWlDLElBQUksa0JBQWtCLElBQUksb0NBQW9DLElBQUksc0RBQXNELEdBQUcsb0RBQW9ELEdBQUcsd0RBQXdELEdBQUcseUNBQXlDLElBQUksdURBQXVELElBQUksc0RBQXNELElBQUksMkJBQTJCLElBQUksNERBQTRELElBQUksb0RBQW9ELElBQUksK0NBQStDLElBQUksOENBQThDLElBQUksNERBQTRELElBQUksOENBQThDLElBQUksa0VBQWtFLElBQUkseUVBQXlFLElBQUkseURBQXlELElBQUksK0RBQStELElBQUksbUVBQW1FLElBQUksb0VBQW9FLElBQUksdUNBQXVDLElBQUksOENBQThDLElBQUksaURBQWlELElBQUksMERBQTBELElBQUksOEJBQThCLElBQUksa0VBQWtFLElBQUksMkRBQTJELElBQUksNERBQTRELElBQUksb0NBQW9DLElBQUksa0RBQWtELElBQUksMkRBQTJELElBQUksc0VBQXNFLElBQUkscUVBQXFFLElBQUksbUZBQW1GLElBQUksMERBQTBELElBQUksb0JBQW9CLElBQUksdUNBQXVDLElBQUksa0VBQWtFLElBQUksdUJBQXVCLElBQUksNERBQTRELElBQUksaUNBQWlDLElBQUkseUNBQXlDLElBQUksa0NBQWtDLElBQUksaUNBQWlDLElBQUksZ0JBQWdCLElBQUkseUJBQXlCLElBQUksbUNBQW1DLElBQUksc0NBQXNDLElBQUksMkJBQTJCLElBQUksd0VBQXdFLElBQUksMkJBQTJCLElBQUksb0VBQW9FLElBQUksc0RBQXNELElBQUksZ0VBQWdFLElBQUksZ0RBQWdELElBQUksNERBQTRELElBQUksZ0VBQWdFLElBQUksaUNBQWlDLElBQUksdUNBQXVDLElBQUkscUNBQXFDLElBQUksdURBQXVELElBQUksb0JBQW9CLElBQUksc0JBQXNCLElBQUksc0RBQXNELElBQUksK0dBQStHLElBQUksNENBQTRDLElBQUksNkNBQTZDLElBQUksNkNBQTZDLElBQUksNENBQTRDLElBQUksNkRBQTZELElBQUksMkRBQTJELElBQUksd0VBQXdFLElBQUksNENBQTRDLElBQUksMkRBQTJELElBQUksb0RBQW9ELElBQUksNERBQTRELElBQUkscUNBQXFDLEVBQUUxUyxJQUFHLGNBQWMsV0FBVyxDQUFDLFlBQVksRUFBRUQsRUFBRUksRUFBRUMsRUFBRSxFQUFFRSxFQUFFQyxLQUFLb0IsRUFBRSxDQUFDLElBQUlPLEVBQUUsSUFBSW5DLEVBQUUsSUFBSUksRUFBRSxJQUFJLEVBQUUsSUFBSUcsRUFBRSxNQUFNb1MsSUFBR25TLENBQUMsRUFBRSxRQUFRLFVBQVUsQ0FBQ3lCLEVBQUVZLElBQUlqQixFQUFFaUIsQ0FBQyxDQUFDLEVBQUUsTUFBTSxHQUFHVixDQUFDLEVBQUUsRUFBRSxLQUFLLE1BQU0sRUFBRSxLQUFLLElBQUk5QixFQUFFLEtBQUssTUFBTSxDQUFDLEVBQUVBLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBS0wsRUFBRSxPQUFPSSxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPRyxDQUFDLENBQUMsRUFBRSxLQUFLLFlBQVk0QixDQUFDLENBQUMsRUFBNmJ4QixLQUFJLENBQUNiLEVBQUVDLElBQUksQ0FBQyxJQUFJQyxFQUFFLElBQUksWUFBWSxNQUFNLEVBQUVJLEVBQUUsRUFBRUMsRUFBRSxFQUFFLEtBQUtELEVBQUUsTUFBTSxDQUFDLElBQUlFLEVBQUVSLEVBQUVNLEdBQUcsRUFBRSxHQUFHRSxFQUFFLEVBQUVELEdBQUdDLE1BQU0sQ0FBQyxJQUFJQyxFQUFFVCxFQUFFTSxHQUFHLEVBQUVFLEVBQUUsSUFBSUMsRUFBRVIsRUFBRVEsQ0FBQyxHQUFHRCxFQUFFLEVBQUVOLEVBQUUsS0FBS08sRUFBRUYsRUFBRUEsR0FBR1AsRUFBRU0sR0FBRyxDQUFDLEVBQUVKLEVBQUVLLEdBQUcsRUFBRUUsQ0FBQyxDQUFDLENBQUMsT0FBT1AsQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxTQUFTLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFdBQVcsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxVQUFVLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxXQUFXLEVBQUUsV0FBVyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVMsR0FBRyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsV0FBVyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsU0FBUyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsUUFBUSxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFdBQVcsR0FBRyxFQUFFLE9BQU8sRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsS0FBSyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxJQUFJLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxJQUFJLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxHQUFHLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsUUFBUSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEtBQUssRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxPQUFPLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxHQUFHLEdBQUcsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxXQUFXLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssR0FBRyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEtBQUssR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLElBQUksRUFBRSxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsR0FBRyxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxHQUFHLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxVQUFVLEdBQUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLEVBQUUsRUFBRSxTQUFTLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLElBQUksRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsTUFBTSxHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRSxFQUFFLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLE1BQU0sSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksS0FBSyxFQUFFLEVBQUUsS0FBSyxHQUFHLEVBQUUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLE9BQU8sRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsRUFBRSxLQUFLLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEdBQUcsRUFBRSxNQUFNLEdBQUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFVBQVUsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLEtBQUssR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFFBQVEsR0FBRyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxJQUFJLEdBQUcsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLElBQUksRUFBRSxXQUFXLEdBQUcsRUFBRSxNQUFNLEVBQUUsV0FBVyxFQUFFLFFBQVEsR0FBRyxFQUFFLFNBQVMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxHQUFHLEVBQUUsSUFBSSxJQUFJLEVBQUUsV0FBVyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLFdBQVcsR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLEdBQUcsRUFBRSxVQUFVLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEtBQUssR0FBRyxFQUFFLFVBQVUsR0FBRyxFQUFFLFVBQVUsRUFBRSxLQUFLLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxJQUFJLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksSUFBSSxFQUFFLFNBQVMsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFNBQVMsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLEdBQUcsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssRUFBRSxJQUFJLEdBQUcsRUFBRSxJQUFJLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxJQUFJLEdBQUcsRUFBRSxXQUFXLEVBQUUsR0FBRyxHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQUUsV0FBVyxHQUFHLEVBQUUsV0FBVyxFQUFFLElBQUksR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEdBQUcsRUFBRSxHQUFHLEVBQUUsVUFBVSxHQUFHLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQUUsV0FBVyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsR0FBRyxHQUFHLEVBQUUsT0FBTyxJQUFJLEVBQUUsSUFBSSxHQUFHLEVBQUUsV0FBVyxFQUFFLEdBQUcsRUFBRSxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsUUFBUSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEdBQUcsRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsSUFBSSxHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxXQUFXLEdBQUcsRUFBRSxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxHQUFHLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxXQUFXLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxXQUFXLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLFNBQVMsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEdBQUcsRUFBRSxPQUFPLEVBQUUsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsR0FBRyxFQUFFLFdBQVcsRUFBRSxPQUFPLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFdBQVcsR0FBRyxFQUFFLFVBQVUsRUFBRSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsR0FBRyxFQUFFLFdBQVcsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLFdBQVcsR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLEdBQUcsRUFBRSxHQUFHLEdBQUcsRUFBRSxJQUFJLElBQUksRUFBRSxHQUFHLEVBQUUsSUFBSSxLQUFLLEVBQUUsSUFBSSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxJQUFJLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsR0FBRyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsTUFBTSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFLFdBQVcsS0FBSyxFQUFFLElBQUksSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsR0FBRyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsTUFBTSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxHQUFHLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQUUsVUFBVSxHQUFHLEVBQUUsSUFBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxHQUFHLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLElBQUksRUFBRSxJQUFJLEdBQUcsRUFBRSxJQUFJLElBQUksRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLE1BQU0sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxJQUFJLEdBQUcsRUFBRSxJQUFJLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxFQUFFLFdBQVcsR0FBRyxFQUFFLFdBQVcsRUFBRSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsRUFBRSxHQUFHLEVBQUUsR0FBRyxHQUFHLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLEdBQUcsRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEdBQUcsRUFBRSxVQUFVLEdBQUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsR0FBRyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsTUFBTSxHQUFHLEVBQUUsV0FBVyxFQUFFLFdBQVcsR0FBRyxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsTUFBTSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksR0FBRyxFQUFFLElBQUksS0FBSyxFQUFFLE1BQU0sS0FBSyxFQUFFLElBQUksSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLEdBQUcsS0FBSyxFQUFFLElBQUksS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFLE1BQU0sR0FBRyxFQUFFLEdBQUcsRUFBRSxFQUFFLElBQUksRUFBRSxDQUFDLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxVQUFVLFdBQVcsVUFBVSxXQUFXLFFBQVEsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxNQUFNLFdBQVcsT0FBTyxVQUFVLFFBQVEsV0FBVyxXQUFXLFdBQVcsTUFBTSxTQUFTLFdBQVcsV0FBVyxRQUFRLFFBQVEsSUFBSSxTQUFTLFdBQVcsSUFBSSxPQUFPLE9BQU8sR0FBRyxJQUFJLFdBQVcsV0FBVyxXQUFXLFNBQVMsV0FBVyxXQUFXLFNBQVMsV0FBVyxXQUFXLFNBQVMsS0FBSyxHQUFHLFFBQVEsU0FBUyxTQUFTLFNBQVMsV0FBVyxVQUFVLEdBQUcsV0FBVyxXQUFXLE1BQU0sU0FBUyxXQUFXLE9BQU8sTUFBTSxTQUFTLE9BQU8sV0FBVyxVQUFVLE1BQU0sVUFBVSxVQUFVLFdBQVcsS0FBSyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxTQUFTLFdBQVcsV0FBVyxXQUFXLFVBQVUsVUFBVSxXQUFXLFdBQVcsV0FBVyxNQUFNLFdBQVcsSUFBSSxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsVUFBVSxXQUFXLFdBQVcsTUFBTSxRQUFRLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFVBQVUsV0FBVyxXQUFXLFdBQVcsUUFBUSxXQUFXLFdBQVcsV0FBVyxXQUFXLFVBQVUsV0FBVyxVQUFVLFdBQVcsV0FBVyxRQUFRLEdBQUcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsS0FBSyxXQUFXLFdBQVcsV0FBVyxHQUFHLFdBQVcsV0FBVyxXQUFXLE9BQU8sUUFBUSxVQUFVLFNBQVMsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLEtBQUssS0FBSyxXQUFXLFVBQVUsV0FBVyxXQUFXLFVBQVUsVUFBVSxXQUFXLFdBQVcsVUFBVSxXQUFXLFVBQVUsT0FBTyxXQUFXLFVBQVUsV0FBVyxNQUFNLFdBQVcsV0FBVyxNQUFNLE1BQU0sV0FBVyxXQUFXLE1BQU0sTUFBTSxNQUFNLFdBQVcsV0FBVyxTQUFTLE1BQU0sV0FBVyxXQUFXLFdBQVcsV0FBVyxXQUFXLFdBQVcsV0FBVyxRQUFRLFVBQVUsT0FBTyxXQUFXLFdBQVcsUUFBUSxNQUFNLE9BQU8sV0FBVyxTQUFTLFNBQVMsTUFBTSxNQUFNLFdBQVcsTUFBTSxXQUFXLE1BQU0sV0FBVyxHQUFHLE1BQU0sV0FBVyxXQUFXLFdBQVcsV0FBVyxNQUFNLENBQUMsRUFBcThCMkIsR0FBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFTixJQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUVFLElBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBZ0hNLElBQUcsQ0FBQyxhQUFhLFlBQVksV0FBVyxZQUFZLGlCQUFpQixHQUE4d0MsU0FBUy9C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LEVBQUUsUUFBUSxDQUFDLE1BQU0sS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTSxNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEtBQUssRUFBRSxZQUFZLENBQUMsTUFBTSxLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEtBQUssRUFBRSxRQUFRLENBQUMsTUFBTSxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLEtBQUssRUFBRSxJQUFJLENBQUMsTUFBTSxLQUFLLEVBQUUsV0FBVyxDQUFDLE1BQU0sS0FBSyxFQUFFLE9BQU8sQ0FBQyxNQUFNLEtBQUssRUFBRSxVQUFVLENBQUMsTUFBTSxLQUFLLEVBQUUsSUFBSSxDQUFDLE1BQU0sTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEtBQUssRUFBRSxHQUFHLENBQUMsTUFBTSxNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU0sS0FBSyxFQUFFLFFBQVEsQ0FBQyxNQUFNLEtBQUssRUFBRSxVQUFVLENBQUMsTUFBTSxLQUFLLEVBQUUsT0FBTyxDQUFDLE1BQU0sS0FBSyxFQUFFLElBQUksQ0FBQyxNQUFNLEtBQUssRUFBRSxPQUFPLENBQUMsTUFBTSxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEtBQUssRUFBRSxLQUFLLENBQUMsTUFBTSxTQUFTLEVBQUUsR0FBRyxDQUFDLE1BQU0sS0FBSyxFQUFFLFVBQVUsQ0FBQyxNQUFNLFNBQVMsRUFBRSxPQUFPLENBQUMsTUFBTSxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU0sTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDLEVBQXE0RFEsSUFBRyxD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RSxPQUFPLEVBQUUsSUFBSU8sRUFBRVAsRUFBRSxPQUFPQSxFQUFFLE1BQU0sUUFBUSxLQUFLLEtBQUtBLENBQUMsRUFBRU8sRUFBRSxLQUFLLElBQUlQLEVBQUUsT0FBTyxHQUFHTyxFQUFFLEtBQUssSUFBSVAsRUFBRSxRQUFRLFdBQVcsRUFBRU8sR0FBRyxLQUFLLFFBQVFBLENBQUMsRUFBRSxLQUFLLFFBQVEsSUFBSVAsRUFBRSxLQUFLLENBQUMsQ0FBQyxLQUFLQSxFQUFFLENBQUMsSUFBSUksRUFBRUosRUFBRSxNQUFNLE9BQU8sRUFBRSxLQUFLSSxFQUFFLEdBQUdKLEVBQUUsTUFBTUksQ0FBQyxFQUFFLE9BQU8sV0FBV0EsR0FBRyxFQUFFLElBQUlDLEVBQUUsS0FBSyxJQUFJTCxFQUFFLFdBQVcsRUFBRSxRQUFRTyxFQUFFLEVBQUVBLEVBQUVQLEVBQUUsTUFBTSxPQUFPTyxJQUFJLENBQUMsSUFBSW1CLEVBQUUxQixFQUFFLE1BQU1PLENBQUMsRUFBRW9CLEVBQUUsS0FBSyxJQUFJRCxFQUFFLFFBQVEsRUFBRUMsR0FBRyxLQUFLLFFBQVFBLENBQUMsRUFBRSxLQUFLLFVBQVVELEVBQUV0QixJQUFJRyxHQUFHRixDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVFMLEVBQUUsQ0FBQyxJQUFJSSxFQUFFLEtBQUssSUFBSUosRUFBRSxPQUFPLGFBQWEsRUFBRUssRUFBRSxLQUFLLElBQUlMLEVBQUUsUUFBUSxjQUFjLEVBQUUsS0FBSyxRQUFRLEtBQUtJLEVBQUVKLEVBQUUsS0FBS0ssRUFBRSxLQUFLTCxDQUFDLENBQUMsQ0FBQyxLQUFLQSxFQUFFSSxFQUFFLENBQUMsSUFBSUMsRUFBRSxLQUFLLElBQUlMLEVBQUUsVUFBVSxPQUFPLEVBQUVPLEVBQUVQLEVBQUUsS0FBS0ssRUFBRSxLQUFLLFNBQVNMLEVBQUUsT0FBTyxFQUFFQSxFQUFFLFlBQVlPLEdBQUdQLEVBQUUsS0FBSyxXQUFXLGVBQWVJLElBQUlHLEdBQUcsS0FBSyxLQUFLLFFBQVFBLEVBQUVQLENBQUMsQ0FBQyxDQUFDLFNBQVNBLEVBQUUsQ0FBQyxLQUFLLEtBQUtBLENBQUMsQ0FBQyxDQUFDLElBQUlBLEVBQUVJLEVBQUVDLEVBQUUsQ0FBQyxJQUFJRSxFQUFFLEdBQUdGLElBQUlBLEVBQUVELEdBQUdBLElBQUlHLEVBQUVQLEVBQUUsS0FBS0ksQ0FBQyxFQUFFLE9BQU9HLEVBQUUsS0FBSyxPQUFPQSxFQUFFLElBQUltQixFQUFFMUIsRUFBRSxPQUFPLEdBQUdLLElBQUksV0FBVyxDQUFDcUIsR0FBR0EsRUFBRSxPQUFPLFFBQVFBLEVBQUUsUUFBUTFCLEdBQUcwQixHQUFHQSxFQUFFLE9BQU8sWUFBWSxNQUFNLEdBQUcsR0FBRyxDQUFDQSxFQUFFLE9BQU8wVyxFQUFHL1gsQ0FBQyxFQUFFLElBQUlzQixFQUFFM0IsRUFBRSxLQUFLLEVBQUUsR0FBRzJCLEVBQUUsV0FBV0EsRUFBRSxTQUFTLENBQUMsR0FBRyxPQUFPQSxFQUFFLFNBQVN0QixDQUFDLEVBQUUsSUFBSSxPQUFPc0IsRUFBRSxTQUFTdEIsQ0FBQyxFQUFFLEdBQUdBLElBQUksVUFBVUEsSUFBSSxRQUFRLE9BQU8sS0FBSyxZQUFZTCxFQUFFSyxDQUFDLEVBQUUsQ0FBQyxJQUFJdUIsRUFBRSxNQUFNeVcsRUFBR2hZLENBQUMsRUFBRSxLQUFLdUIsQ0FBQyxFQUFFckIsRUFBRSxLQUFLcUIsQ0FBQyxFQUFFRCxFQUFFM0IsQ0FBQyxFQUFFMkIsRUFBRSxLQUFLa0IsR0FBRyxDQUFDLEdBQUd0QyxFQUFFc0MsRUFBRSxLQUFLekMsQ0FBQyxFQUFFLE9BQU9HLEVBQUUsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxPQUFPQSxFQUFFLE1BQU1BLEVBQUU2WCxFQUFHL1gsQ0FBQyxHQUFHc0IsRUFBRSxTQUFTdEIsQ0FBQyxFQUFFRSxFQUFFQSxDQUFDLENBQUMsZUFBZVAsRUFBRSxDQUFDLElBQUlJLEVBQUUsT0FBT0osRUFBRSxLQUFLSyxHQUFHLENBQUMsR0FBR0EsRUFBRSxPQUFPQSxFQUFFLE1BQU0sT0FBTyxHQUFHLE9BQU9BLEVBQUUsS0FBSyxNQUFNLElBQUksT0FBT0QsRUFBRUMsRUFBRSxLQUFLLE1BQU1ELEVBQUUsU0FBUztBQUFBLENBQy82QyxJQUFJQSxFQUFFQSxFQUFFLFFBQVEsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUVBLElBQUlBLEVBQUVBLEVBQUUsUUFBUSxNQUFNLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLGlCQUFpQkosRUFBRUksRUFBRSxDQUFDLElBQUlDLEVBQUUsT0FBT0wsRUFBRSxhQUFhTyxHQUFHLENBQUMsR0FBRyxPQUFPQSxFQUFFLEtBQUssT0FBTyxJQUFJLE9BQU9GLEVBQUVFLEVBQUUsS0FBSyxPQUFPRixFQUFFLFNBQVM7QUFBQSxDQUNyTCxJQUFJQSxFQUFFQSxFQUFFLFFBQVEsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsT0FBT0EsRUFBRSxJQUFJQSxFQUFFLEtBQUssSUFBSUQsRUFBRSxLQUFLLFlBQVksRUFBRUMsSUFBSUEsRUFBRUEsRUFBRSxRQUFRLE1BQU0sRUFBRSxHQUFHQSxDQUFDLENBQUMsY0FBY0wsRUFBRUksRUFBRSxDQUFDLElBQUlDLEVBQUUsT0FBT0wsRUFBRSxVQUFVTyxHQUFHLENBQUMsR0FBRyxPQUFPQSxFQUFFLEtBQUssT0FBTyxJQUFJLE9BQU9GLEVBQUVFLEVBQUUsS0FBSyxPQUFPRixFQUFFLFNBQVM7QUFBQSxDQUM1TixJQUFJQSxFQUFFQSxFQUFFLFFBQVEsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsT0FBT0EsRUFBRSxJQUFJQSxFQUFFLEtBQUssSUFBSUQsRUFBRSxLQUFLLFlBQVksRUFBRUMsSUFBSUEsRUFBRUEsRUFBRSxRQUFRLE1BQU0sRUFBRSxHQUFHQSxDQUFDLENBQUMsY0FBY0wsRUFBRSxDQUFDLElBQUlJLEVBQUUsT0FBT0osRUFBRSxLQUFLSyxHQUFHLENBQUMsR0FBR0EsRUFBRSxPQUFPLFNBQVNELEVBQUVDLEVBQUUsS0FBSyxRQUFRLE9BQU9ELEVBQUUsS0FBSyxNQUFNLEVBQUUsQ0FBQyxFQUFFQSxDQUFDLENBQUMsY0FBY0osRUFBRSxDQUFDLElBQUlJLEVBQUUsT0FBT0osRUFBRSxLQUFLSyxHQUFHLENBQUMsR0FBR0EsRUFBRSxRQUFRQSxFQUFFLFNBQVNMLEdBQUdBLEVBQUUsUUFBUUssSUFBSSxPQUFPQSxFQUFFLEtBQUssT0FBTyxJQUFJLE9BQU9ELEVBQUVDLEVBQUUsS0FBSyxPQUFPRCxFQUFFLFNBQVM7QUFBQSxDQUNyVyxJQUFJQSxFQUFFQSxFQUFFLFFBQVEsVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUVBLElBQUlBLEVBQUVBLEVBQUUsUUFBUSxNQUFNLEVBQUUsR0FBR0EsQ0FBQyxDQUFDLFNBQVNKLEVBQUUsQ0FBQyxJQUFJSSxFQUFFLE9BQU9KLEVBQUUsVUFBVUssR0FBRyxDQUFDLEdBQUcsT0FBT0EsRUFBRSxLQUFLLFFBQVEsSUFBSSxPQUFPRCxFQUFFQyxFQUFFLEtBQUssUUFBUSxRQUFRLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFRCxDQUFDLENBQUMsYUFBYUosRUFBRSxDQUFDLElBQUlJLEVBQUUsT0FBT0osRUFBRSxLQUFLSyxHQUFHLENBQUMsR0FBR0EsRUFBRSxPQUFPQSxFQUFFLE1BQU0sU0FBUyxJQUFJRCxFQUFFQyxFQUFFLEtBQUssTUFBTSxPQUFPRCxFQUFFLEtBQUssTUFBTSxFQUFFLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFVBQVVKLEVBQUUsQ0FBQyxHQUFHQSxFQUFFLEtBQUssT0FBTyxPQUFPQSxFQUFFLEtBQUssT0FBTyxJQUFJSSxFQUFFLE9BQU9KLEVBQUUsS0FBS0ssR0FBRyxDQUFDLElBQUlFLEVBQUVGLEVBQUUsT0FBTyxHQUFHRSxHQUFHQSxJQUFJUCxHQUFHTyxFQUFFLFFBQVFBLEVBQUUsU0FBU1AsR0FBRyxPQUFPSyxFQUFFLEtBQUssT0FBTyxJQUFJLENBQUMsSUFBSXFCLEVBQUVyQixFQUFFLEtBQUssT0FBTyxNQUFNO0FBQUEsQ0FDbGUsRUFBRSxPQUFPRCxFQUFFc0IsRUFBRUEsRUFBRSxPQUFPLENBQUMsRUFBRXRCLEVBQUVBLEVBQUUsUUFB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S0FBSyxPQUFPLGFBQWEsS0FBS0EsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVQSxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssT0FBTyxPQUFPLEtBQUssS0FBSyxNQUFNQSxHQUFHLE9BQU8sS0FBSyxLQUFLLE9BQU8sQ0FBQyxNQUFNQSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUlJLEVBQUVnWixFQUFHLElBQUksRUFBRSxRQUFRL1ksS0FBS0wsRUFBRUksRUFBRUMsQ0FBQyxFQUFFTCxFQUFFSyxDQUFDLEVBQUUsT0FBT0QsQ0FBQyxDQUFDLFdBQVdKLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSUksRUFBRSxLQUFLLE1BQU1KLENBQUMsRUFBRSxPQUFPLEtBQUssT0FBTyxZQUFZLEtBQUtJLENBQUMsRUFBRUEsQ0FBQyxDQUFDLFlBQVlKLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSUksRUFBRSxLQUFLLE1BQU1KLENBQUMsRUFBRSxPQUFPLEtBQUssT0FBTyxhQUFhLEtBQUtJLENBQUMsRUFBRUEsQ0FBQyxDQUFDLE1BQU1KLEVBQUVJLEVBQUUsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSUMsRUFBRSxNQUFNRSxDQUFDLEVBQUUsS0FBSyxRQUFRSCxDQUFDLEVBQUUsT0FBTyxLQUFLLE9BQU8sTUFBTSxNQUFNSixFQUFFLENBQUMsT0FBT08sRUFBRSxPQUFPLEtBQUtBLEVBQUUsSUFBSSxFQUFFLENBQUMsT0FBT0YsRUFBRSxPQUFPLEtBQUtBLEVBQUUsSUFBSSxFQUFFRCxDQUFDLENBQUMsQ0FBQyxPQUFPLElBQUkyWSxFQUFHL1ksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDLElBQUlBLEVBQUVJLEVBQUUsQ0FBQyxPQUFPQSxJQUFJLFVBQVVKLEVBQUVJLElBQUksT0FBTyxJQUFJSixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUVBLEVBQUVJLENBQUMsQ0FBQyxFQUFFLElBQUlKLEVBQUVJLEVBQUVDLEVBQUUsQ0FBQyxPQUFPTCxF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LE9BQU8sS0FBS0EsRUFBRSxJQUFJLElBQUksRUFBRSxPQUFPQSxFQUFFLFVBQVUsU0FBU0ssRUFBRSxLQUFLLGVBQWVMLEVBQUUsUUFBUSxFQUFFQSxFQUFFLFFBQVFLLEVBQUUsS0FBSyxlQUFlTCxFQUFFLE1BQU0sQ0FBQyxHQUFHLE9BQU9LLEVBQUUsS0FBS0QsRUFBRSxNQUFNQyxFQUFFLE9BQU9ELEVBQUUsTUFBTUMsRUFBRSxRQUFRRCxFQUFFLFVBQVVDLEVBQUUsQ0FBQyxPQUFPRCxFQUFFLE9BQU8sRUFBRSxLQUFLQSxFQUFFLElBQUksR0FBRyxDQUFDLElBQUlDLEVBQUUsTUFBTUQsQ0FBQyxDQUFDLENBQUMsSUFBSUosRUFBRUksRUFBRSxDQUFDLE9BQU8sSUFBSTRZLEVBQUcsRUFBRSxJQUFJLEtBQUtoWixFQUFFSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBTyxLQUFLLFFBQVEsS0FBSyxPQUFPLFlBQVksSUFBSSxFQUFFLEtBQUssT0FBTyxPQUFPLElBQUksQ0FBQyxlQUFlSixFQUFFLENBQUMsR0FBRyxLQUFLLE9BQU8sQ0FBQyxJQUFJSSxFQUFFLEtBQUtDLEVBQUUsR0FBRyxRQUFRRSxLQUFLUCxFQUFFTyxJQUFJLEtBQUtGLEVBQUUsR0FBR0EsR0FBRyxLQUFLLE9BQU8sWUFBWUQsRUFBRUcsQ0FBQyxFQUFFSCxFQUFFRyxHQUFHLEtBQUssT0FBTyxhQUFhSCxFQUFFRyxDQUFDLEVBQUVGLEdBQUcsS0FBSyxPQUFPLENBQUMsQ0FBQyxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSUwsRUFBRSxLQUFLLEtBQUtBLEVBQUUsUUFBUUEsRUFBRSxPQUFPLE9BQU8sWUFBWUEsRUFBRUEsRUFBRSxPQUFPLE9BQU9BLENBQUMsQ0FBQyxPQUFPQSxFQUFFSSxFQUFFLENBQUMsSUFBSUMsRUFBRSxDQUFDLEVBQUVFLEVBQUVILEdBQUcsS0FBS0EsRUFBRUEsR0FBRyxJQUFJLElBQUksSUFBSXNCLEVBQUUsRUFBRSxRQUFRQyxLQUFLLEtBQUssQ0FBQyxHQUFHLENBQUMsT0FB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LEtBQUssU0FBUyxHQUFHLEtBQUssVUFBVSxLQUFLLFFBQVEsQ0FBQyxHQUFHLEtBQUssVUFBVSxFQUFFLElBQUlBLEVBQUUsS0FBSyxTQUFTLE9BQU8sS0FBSyxRQUFRQSxDQUFDLEVBQUUsRUFBRUEsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLE1BQU0sQ0FBQyxJQUFJQSxFQUFFSSxFQUFFLENBQUMsT0FBT0EsSUFBSSxVQUFVSixFQUFFQSxFQUFFSSxDQUFDLEVBQUVBLElBQUksUUFBUSxPQUFPQSxHQUFHLFVBQVVBLEVBQUUsV0FBVyxNQUFNLEVBQUUsSUFBSUMsSUFBSUwsRUFBRUksQ0FBQyxFQUFFLEdBQUdDLEVBQUUsSUFBSUUsR0FBRyxPQUFPQSxHQUFHLFdBQVcsQ0FBQ21CLEVBQUVDLElBQUlwQixFQUFFbUIsRUFBRSxRQUFRLEVBQUVDLENBQUMsRUFBRXBCLENBQUMsQ0FBQyxFQUFFSCxJQUFJLFNBQVNBLElBQUksT0FBT0MsR0FBR0wsRUFBRUksQ0FBQyxFQUFFLENBQUNHLEtBQUttQixJQUFJckIsRUFBRUUsRUFBRSxRQUFRLEVBQUUsR0FBR21CLENBQUMsQ0FBQyxFQUFFdEIsSUFBSSxPQUFPLElBQUlKLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRUksSUFBSSxRQUFRSixFQUFFLE1BQU0sSUFBSUssR0FBR0EsRUFBRSxRQUFRLENBQUMsRUFBRUQsSUFBSSxTQUFTQSxJQUFJLE9BQU9KLEVBQUVJLENBQUMsRUFBRSxRQUFRLEVBQUVKLEVBQUVJLENBQUMsRUFBRUosRUFBRUksQ0FBQyxDQUFDLEVBQUUsSUFBSUosRUFBRUksRUFBRUMsRUFBRSxDQUFDLE9BQU9MLEVBQUVJLENBQUMsSUFBSUMsSUFBSUwsRUFBRUksQ0FBQyxFQUFFQyxHQUFHRCxJQUFJLFFBQVFBLElBQUksVUFBVUEsSUFBSSxhQUFhSixFQUFFLFVBQVUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU1BLEVBQUUsQ0FBQyxPQUFPLE9BQU9BLEdBQUcsU0FBU0EsR0FBR0EsRUFBRSxVQUFVQSxFQUFFQSxFQUFFLFNB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QUFLLE9BQU8sUUFBUSxNQUFNLEVBQUUsR0FBR0csRUFBRSxPQUFPLEtBQUssUUFBUUEsRUFBRSxDQUFDLENBQUMsV0FBV1AsRUFBRSxDQUFDQSxFQUFFQSxFQUFFLFFBQVEsRUFBRSxRQUFRSSxLQUFLSixFQUFFLENBQUMsSUFBSUssRUFBRSxLQUFLLFVBQVVELEVBQUUsS0FBSyxNQUFNLFNBQVMsRUFBRSxRQUFRLEVBQUUsUUFBUUcsS0FBS0YsRUFBRSxLQUFLLFFBQVEsTUFBTSxRQUFRRSxDQUFDLEVBQUUsUUFBUUEsS0FBSyxLQUFLLFFBQVEsS0FBSyxRQUFRQSxDQUFDLEVBQUUsS0FBSyxRQUFRQSxDQUFDLEVBQUVGLEVBQUUsTUFBTSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUtMLEVBQUUsQ0FBQyxPQUFPQSxFQUFFLE9BQU8sS0FBSyxLQUFLLFFBQVEsTUFBTSxLQUFLQSxDQUFDLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRQSxLQUFLLEtBQUssUUFBUSxNQUFNQSxFQUFFLE9BQU8sT0FBTyxPQUFPLEtBQUssUUFBUSxNQUFNLENBQUMsRUFBRSxLQUFLLFVBQVUsRUFBRSxJQUFJLENBQUMsWUFBWUEsRUFBRSxDQUFDQSxFQUFFLEtBQUssTUFBTUEsQ0FBQyxFQUFFLEtBQUssUUFBUSxNQUFNQSxDQUFDLEVBQUUsT0FBTyxPQUFPLEtBQUssUUFBUSxNQUFNLE9BQU9BLEVBQUUsQ0FBQyxFQUFFLElBQUlJLEVBQUUsUUFBUUMsS0FBSyxLQUFLLFFBQVFELEVBQUUsS0FBSyxRQUFRQyxDQUFDLEVBQUVELEdBQUdKLElBQUksS0FBSyxRQUFRSyxDQUFDLEVBQUVELEVBQUUsR0FBRyxPQUFPLEtBQUssVUFBVSxFQUFFLElBQUksQ0FBQyxjQUFjSixFQUFFSSxFQUFFQyxFQUFFLENBQUMsT0FBT0EsSUFBSUEsRUFBRUQsRUFBRUEsRUFBRSxDQUFDLEdBQUcsS0FBSyxVQUFVRyxHQUFHLENBQUNILEVBQUUsT0FBTyxDQUFDQSxFQUFFLE1BQU0sU0FBU0csRUFBRSxJQUFJLEdBQUdILEVBQUUsTUFBTSxDQUFDRyxFQUFFLE1BQU0sU0FBU0gsRUFBRSxJQUFJLElBQUlHLEVBQUUsTUFBTUEsRUFBRSxNQUFNLFFBQVFQLEVBQUVLLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUtMLEVBQUUsQ0FBQyxPQUFPLEtBQUssTUFBTSxLQUFLQSxDQUFDLENBQUMsQ0FBQyxLQUFLQSxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQ0ksRUFBRUMsSUFBSSxDQUFDLElBQUlFLEVBQUUsR0FBRyxDQUFDQSxFQUFFUCxFQUFFSSxFQUFFQyxDQUFDLENBQUMsT0FBT3FCLEVBQUUsQ0FBQyxNQUFNdEIsRUFBRSxXQUFXc0IsQ0FBQyxDQUFDLENBQUMsT0FBT25CLElBQUksSUFBSUgsRUFBRSxPQUFPRyxFQUFFSCxFQUFFLEtBQUtKLENBQUMsR0FBR08sQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZUCxFQUFFSSxFQUFFLENBQUMsT0FBT0EsRUFBRUosYUFBYSxPQUFPLEtBQUssS0FBSyxDQUFDSyxFQUFFRSxJQUFJLENBQUMsR0FBR0YsRUFBRSxPQUFPLFVBQVVMLEVBQUUsS0FBS0ssRUFBRSxJQUFJLEVBQUUsT0FBT0QsRUFBRUMsRUFBRUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQ0YsRUFBRUUsSUFBSSxDQUFDLEdBQUdGLEVBQUUsT0FBTyxVQUFVQSxFQUFFLE9BQU9MLEVBQUUsT0FBT0ksRUFBRUMsRUFBRUUsQ0FBQyxDQUFDLENBQUMsR0FBR0gsRUFBRUosRUFBRSxLQUFLLEtBQUssQ0FBQ0ssRUFBRUUsSUFBSSxDQUFDLEdBQUdGLEVBQUUsT0FBTyxTQUFTLE9BQU9ELEVBQUVDLEVBQUVFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxhQUFhUCxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssQ0FBQ0ksRUFBRUMsSUFBSSxDQUFDLEdBQUdELEVBQUUsT0FBTyxVQUFVLE9BQU9KLEVBQUVJLEVBQUVDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVTCxFQUFFSSxFQUFFLENBQUMsT0FBT0EsRUFBRUosYUFBYSxPQUFPLEtBQUssS0FBSyxDQUFDSyxFQUFFRSxJQUFJLENBQUMsR0FBR0YsRUFBRSxPQUFPLFFBQVFMLEVBQUUsS0FBS0ssRUFBRSxJQUFJLEVBQUUsT0FBT0QsRUFBRUMsRUFBRUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQ0YsRUFBRUUsSUFBSSxDQUFDLEdBQUdGLEVBQUUsT0FBTyxRQUFRQSxFQUFFLE9BQU9MLEVBQUUsT0FBT0ksRUFBRUMsRUFBRUUsQ0FBQyxDQUFDLENBQUMsR0FBR0gsRUFBRUosRUFBRSxLQUFLLEtBQUssQ0FBQ0ssRUFBRUUsSUFBSSxDQUFDLEdBQUdGLEVBQUUsT0FBTyxPQUFPLE9BQU9ELEVBQUVDLEVBQUVFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxVQUFVUCxFQUFFSSxFQUFFLENBQUMsT0FBT0EsRUFBRUosYUFBYSxPQUFPLEtBQUssS0FBSyxDQUFDSyxFQUFFRSxJQUFJLENBQUMsR0FBR0YsRUFBRSxPQUFPLFFBQVFMLEVBQUUsS0FBS0ssRUFBRSxRQUFRLEVBQUUsT0FBT0QsRUFBRUMsRUFBRUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEtBQUssQ0FBQ0YsRUFBRUUsSUFBSSxDQUFDLEdBQUdGLEVBQUUsT0FBTyxRQUFRQSxFQUFFLFdBQVdMLEVBQUUsT0FBT0ksRUFBRUMsRUFBRUUsQ0FBQyxDQUFDLENBQUMsR0FBR0gsRUFBRUosRUFBRSxLQUFLLEtBQUssQ0FBQ0ssRUFBRUUsSUFBSSxDQUFDLEdBQUdGLEVBQUUsT0FBTyxPQUFPLE9BQU9ELEVBQUVDLEVBQUVFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLE9BQU8sQ0FBQyxHQUFHLEtBQUssUUFBUSxNQUFNLE9BQU8sS0FBSyxRQUFRLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxLQUFLLFFBQVEsTUFBTSxPQUFPLEtBQUssUUFBUSxNQUFNLEtBQUss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UUFBUSxLQUFLLFFBQVEsT0FBTyxJQUFJLEtBQUssWUFBWUEsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLFFBQVEsT0FBTyxJQUFJLFNBQVMsS0FBSyxRQUFRLEtBQUssUUFBUSxRQUFRLEtBQUssZ0JBQWdCQSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxRQUFRLFFBQVEsS0FBSyxjQUFjLEVBQUUsS0FBSyxRQUFRLE9BQU8sS0FBSyxRQUFRLE1BQU0sU0FBUyxLQUFLLFFBQVEsS0FBSyxVQUFVLEtBQUssV0FBVyxLQUFLLFFBQVEsS0FBSyxPQUFPLEtBQUssUUFBUSxLQUFLLE9BQU8sSUFBSSxLQUFLLE9BQU8sS0FBSyxLQUFLLE9BQU8sSUFBSSxLQUFLLFlBQVksS0FBSyxVQUFVLFNBQVMsQ0FBQyxDQUFDLENBQUMsY0FBY0EsRUFBRSxDQUFDLEdBQUcsS0FBSyxRQUFRQSxFQUFFLENBQUMsRUFBRSxLQUFLLFFBQVEsTUFBTSxDQUFDLElBQUlJLEVBQUUsS0FBSyxRQUFRLE1BQU0sS0FBSyxRQUFRLE1BQU0sT0FBTyxDQUFDLEVBQUVBLEdBQUdBLEVBQUUsT0FBTyxRQUFRLENBQUNBLEVBQUUsS0FBSyxlQUFlQSxFQUFFLEtBQUssYUFBYSxLQUFLLE9BQU8sS0FBSyxPQUFPLEdBQUcsQ0FBQyxDQUFDLFlBQVlKLEVBQUUsQ0FBQyxJQUFJSSxFQUFFLEtBQUssTUFBTSxXQUFXSixDQUFDLEVBQUUsTUFBTSxDQUFDLE9BQU9JLEVBQUUsSUFBSSxLQUFLQSxFQUFFLEtBQUssT0FBT0osQ0FBQyxDQUFDLENBQUMsS0FBS0EsRUFBRUksRUFBRSxDQUFDLEtBQUssUUFBUSxLQUFLSixDQUFDLEVBQUVBLEVBQUUsT0FBTyxDQUFDLE1BQU0sS0FBSyxNQUFNLE1BQU0sS0FBSyxZQUFZSSxDQUFDLENBQUMsRUFBRUosRUFBRSxLQUFLLE9BQU8sS0FBSyxPQUFPLEtBQUssT0FBTyxHQUFHQSxFQUFFLE9BQU8sWUFBWSxLQUFLLFVBQVUsR0FBRyxDQUFDLE1BQU1BLEVBQUUsQ0FBQyxJQUFJSSxFQUFF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M0IsR0FBRyxRQUFRLENBQUMsTUFBTSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxFQUFFLE9BQU8sS0FBSyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFDLEVBQUUsT0FBTyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssU0FBUyxLQUFLLE9BQU8sUUFBUSxLQUFLLFlBQVksS0FBSyxVQUFVLENBQUMsSUFBSSxTQUFTLEtBQUssVUFBVSxDQUFDLElBQUksZUFBZSxLQUFLLFdBQVcsS0FBSyxVQUFVLENBQUMsSUFBSSxjQUFjMzNCLEdBQUUsT0FBTyxPQUFPLEtBQUssV0FBVyxLQUFLLFVBQVUsQ0FBQyxDQUFDLEVBQUVBLEdBQUUsT0FBTyxNQUFNLEtBQUssS0FBSyxVQUFVLENBQUMsRUFBRUEsR0FBRSxPQUFPLE1BQU0sT0FBTyxLQUFLLFVBQVUsQ0FBQyxFQUFFQSxHQUFFLE9BQU8sSUFBSSxPQUFPLEtBQUssVUFBVSxDQUFDLEVBQUVBLEdBQUUsT0FBTyxJQUFJLEtBQUssS0FBSyxVQUFVLENBQUMsRUFBRUEsR0FBRSxZQUFZLEtBQUssVUFBVSxDQUFDLEdBQUcsS0FBSyxXQUFXLEtBQUssVUFBVSxDQUFDLElBQUksYUFBYUEsR0FBRSxPQUFPLE1BQU0sS0FBSyxXQUFXLEtBQUssVUFBVSxDQUFDLENBQUMsRUFBRSxLQUFLLFVBQVUsQ0FBQyxJQUFJLGFBQWFBLEdBQUUsTUFBTSxLQUFLLFVBQVUsQ0FBQyxFQUFFLEtBQUssVUFBVSxDQUFDLElBQUksVUFBVUEsR0FBRSxNQUFNLEtBQUssV0FBVyxLQUFLLFVBQVUsQ0FBQyxFQUFFLEdBQUcsR0FBRyxLQUFLLFdBQVcsT0FBTyxLQUFLLFFBQVFBLEVBQUMsQ0FBQyxFQUFFUCxHQUFFLFVBQVUsTUFBTSxVQUFVLENBQUMsR0FBRyxLQUFLLFdBQVcsS0FBSyxPQUFPLE9BQU8sRUFBRSxDQUFD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LENBQUMsQ0FBQyxFQUFFLEtBQUssWUFBWSxLQUFLLFdBQVcsS0FBSyxPQUFPLE9BQU8sR0FBRyxLQUFLLFVBQVUsQ0FBQyxJQUFJLEtBQUssS0FBSyxVQUFVLENBQUMsSUFBSSxLQUFLLEtBQUssUUFBUSxLQUFLLE9BQU8sTUFBTSxLQUFLLFdBQVdBLEdBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxZQUFZLEtBQUssV0FBVyxDQUFDLEVBQUVQLEdBQUUsVUFBVSxPQUFPLFVBQVUsQ0FBQyxJQUFJTyxHQUFFLEtBQUssVUFBVSxLQUFLLFFBQVEsSUFBSW0zQixFQUFHLFFBQVEsQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFDLEVBQUUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxLQUFLbjNCLEdBQUUsQ0FBQyxFQUFFLE9BQU9BLEdBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUtBLEdBQUUsQ0FBQyxFQUFFLE9BQU9BLEdBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZQSxHQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLFVBQVUsRUFBRVAsR0FBRSxVQUFVLFVBQVUsU0FBU08sR0FBRSxDQUFDLElBQUlDLEdBQUUsS0FBSyxVQUFVLEdBQUdBLElBQUdBLEdBQUUsQ0FBQyxJQUFJLElBQUksT0FBTyxLQUFLLFdBQVcsS0FBSyxVQUFVLEVBQUUsS0FBSyxRQUFRLElBQUl3M0IsR0FBRyxRQUFRLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxFQUFFLE9BQU8sS0FBSyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFDLEVBQUUsT0FBTyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFejNCLEVBQUMsRUFBRSxLQUFLLFVBQVUsRUFBRVAsR0FBRSxVQUFVLFVBQVUsU0FBU08sR0FBRUMsR0FBRSxDQUFDLFFB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LFNBQVNPLEdBQUUsQ0FBQyxJQUFJQyxHQUFFLEtBQUssVUFBVSxPQUFPQSxJQUFHQSxHQUFFLENBQUMsSUFBSSxLQUFLLEtBQUssV0FBVyxLQUFLLFVBQVUsR0FBRyxLQUFLLFVBQVVELEVBQUMsQ0FBQyxFQUFFUCxHQUFFLFVBQVUsS0FBSyxVQUFVLENBQUMsS0FBSyxLQUFLLFNBQVMsS0FBSyxPQUFPLFFBQVEsS0FBSyxNQUFNLEVBQUUsRUFBRSxPQUFPLEtBQUssSUFBSSxFQUFFQSxHQUFFLFVBQVUsTUFBTSxTQUFTTyxHQUFFLENBQUMsT0FBTyxLQUFLLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxRQUFRLEtBQUssTUFBTSxFQUFFLE1BQU0sSUFBSSxVQUFVLEtBQUssUUFBUSxFQUFFLE1BQU0sSUFBSSxJQUFJLEtBQUssWUFBWSxFQUFFLE1BQU0sSUFBSSxJQUFJQSxJQUFHLEtBQUssbUJBQW1CLEVBQUUsTUFBTSxJQUFJLElBQUksS0FBSyxVQUFVLEVBQUUsTUFBTSxJQUFJLElBQUksS0FBSyxxQkFBcUIsRUFBRSxNQUFNLElBQUksVUFBVSxJQUFJLE9BQU8sS0FBSyxLQUFLLEVBQUUsTUFBTSxJQUFJLElBQUksS0FBSyxPQUFPLEVBQUUsTUFBTSxJQUFJLElBQUksS0FBSyxpQkFBaUIsRUFBRSxNQUFNLElBQUksSUFBSSxLQUFLLE1BQU0sRUFBRSxNQUFNLElBQUksSUFBSSxLQUFLLFVBQVUsRUFBRSxNQUFNLElBQUksSUFBSSxLQUFLLFFBQVEsRUFBRSxNQUFNLElBQUksYUFBYSxLQUFLLFdBQVcsRUFBRSxNQUFNLElBQUksU0FBUyxLQUFLLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRVAsR0FBRSxVQUFVLGVBQWUsU0FBU08sR0FBRSxDQUFDLEdBQUcsS0FBSyxPQUFPLE9BQU9BLElBQUcsU0FBUyxDQUFDLElBQUlDLEdBQUVELEdBQUUsS0FBSyxFQUFFLE9BQU9DLEdBQUUsT0FBT0EsR0FBRSxFQUFFLENBQUMsT0FBT0QsRUFBQyxFQUFFUCxHQUFFLFVBQVUsV0FBVyxTQUFTTyxHQUFF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LE9BQU8sT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssT0FBTyxPQUFPLEtBQUssS0FBSyxFQUFFLEtBQUssS0FBSyxLQUFLLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNSixFQUFFLENBQUNBLEVBQUVBLEdBQUcsQ0FBQyxFQUFFLElBQUlJLEVBQUVpNUIsRUFBRyxJQUFJLEVBQUUsUUFBUWg1QixLQUFLTCxFQUFFSSxFQUFFQyxDQUFDLEVBQUVMLEVBQUVLLENBQUMsRUFBRSxPQUFPRCxDQUFDLENBQUMsWUFBWUosRUFBRSxDQUFDQSxFQUFFQSxHQUFHLENBQUMsRUFBRSxJQUFJSSxFQUFFLEtBQUssTUFBTUosQ0FBQyxFQUFFLE9BQU8sS0FBSyxPQUFPLGFBQWEsS0FBS0ksQ0FBQyxFQUFFQSxDQUFDLENBQUMsV0FBV0osRUFBRSxDQUFDQSxFQUFFQSxHQUFHLENBQUMsRUFBRSxJQUFJSSxFQUFFLEtBQUssTUFBTUosQ0FBQyxFQUFFLE9BQU8sS0FBSyxPQUFPLFlBQVksS0FBS0ksQ0FBQyxFQUFFQSxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUlKLEVBQUUsTUFBTSxVQUFVLE1BQU0sS0FBSyxTQUFTLEVBQUUsR0FBRyxLQUFLLE9BQU8sQ0FBQyxRQUFRSSxLQUFLSixFQUFFLEtBQUssT0FBTyxhQUFhLEtBQUtJLENBQUMsRUFBRSxLQUFLLE9BQU8sQ0FBQyxDQUFDLE9BQU8sSUFBSSxDQUFDLE9BQU9KLEVBQUUsQ0FBQyxPQUFPLEtBQUssVUFBVSxLQUFLLEtBQUssSUFBSUEsRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLE9BQU8sRUFBRUEsRUFBRSxPQUFPLElBQUksRUFBRSxJQUFJLENBQUMsV0FBV0EsRUFBRSxDQUFDLE9BQU8sS0FBSyxVQUFVLEtBQUssS0FBSyxJQUFJQSxFQUFFLEtBQUssQ0FBQyxFQUFFLEtBQUssT0FBTyxFQUFFQSxFQUFFLE9BQU8sYUFBYUEsRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLFVBQVVBLEVBQUUsQ0FBQyxPQUFPLEtBQUssVUFBVSxLQUFLLEtBQUssSUFBSUEsRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLE9BQU8sRUFBRUEsRUFBRSxPQUFPLFlBQVlBLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSUEsRUFBRSxLQUFLLE9BQU8sTUFBTSxJQUFJLEVBQUUsT0FBTyxLQUFLLE9BQU8sTUFBTUEsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSUEsRUFBRSxLQUFLLE9BQU8sTUFBTSxJQUFJLEVBQUUsT0FBTyxLQUFLLE9BQU8sTUFBTUEsRUFBRSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSUEsRUFBRSxDQUFDLEVBQUUsUUFBUUksS0FBSyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssZUFBZUEsQ0FBQyxHQUFHQSxJQUFJLFNBQVMsU0FBUyxJQUFJQyxFQUFFLEtBQUtELENBQUMsRUFBRUMsYUFBYSxNQUFNTCxFQUFFSSxDQUFDLEVBQUVDLEVBQUUsSUFBSUUsR0FBRyxPQUFPQSxHQUFHLFVBQVVBLEVBQUUsT0FBT0EsRUFBRSxPQUFPLEVBQUVBLENBQUMsRUFBRSxPQUFPRixHQUFHLFVBQVVBLEVBQUUsT0FBT0wsRUFBRUksQ0FBQyxFQUFFQyxFQUFFLE9BQU8sRUFBRUwsRUFBRUksQ0FBQyxFQUFFQyxDQUFDLENBQUMsT0FBT0wsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJQSxFQUFFLEtBQUssS0FBS0EsRUFBRSxRQUFRQSxFQUFFQSxFQUFFLE9BQU8sT0FBT0EsQ0FBQyxDQUFDLFVBQVVBLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxPQUFPLE9BQU8sS0FBSyxLQUFLLE1BQU1BLEdBQUcsT0FBTyxLQUFLLEtBQUssT0FBTyxDQUFDLGVBQWVBLEVBQUUsQ0FBQyxJQUFJSSxFQUFFLEtBQUssU0FBUyxFQUFFQyxFQUFFLEtBQUssT0FBTyxNQUFNLE9BQU9FLEVBQUUsS0FBSyxPQUFPLE1BQU0sS0FBSyxRQUFRbUIsRUFBRSxFQUFFQSxFQUFFMUIsRUFBRTBCLElBQUl0QixFQUFFc0IsQ0FBQyxJQUFJO0FBQUEsR0FDM3BZckIsRUFBRSxFQUFFRSxHQUFHLEdBQUdGLEdBQUcsRUFBRSxNQUFNLENBQUMsS0FBS0UsRUFBRSxPQUFPRixDQUFDLENBQUMsQ0FBQyxXQUFXTCxFQUFFLENBQUMsSUFBSUksRUFBRSxLQUFLLE9BQU8sTUFBTSxHQUFHLE9BQU9KLENBQUMsRUFBRSxNQUFNSSxFQUFFLEtBQUssZUFBZUosRUFBRSxLQUFLLFVBQVUsT0FBT0EsQ0FBQyxFQUFFLEtBQUssQ0FBQyxJQUFJSyxFQUFFLEtBQUssU0FBUyxFQUFFLFFBQVFMLEVBQUUsSUFBSSxFQUFFSyxJQUFJLEtBQUtELEVBQUUsS0FBSyxlQUFlQyxDQUFDLEVBQUUsQ0FBQyxPQUFPRCxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQU1rVSxHQUFFM0UsR0FBRSxDQUFDMnBCLEVBQUdDLElBQUssQ0FBQyxhQUFhLElBQUlDLEVBQUdubEIsR0FBRSxFQUFFb2xCLEVBQUcsY0FBY0QsQ0FBRSxDQUFDLFlBQVl4NUIsRUFBRSxDQUFDLE1BQU1BLENBQUMsRUFBRSxLQUFLLFFBQVEsS0FBSyxNQUFNLENBQUMsRUFBRSxDQUFDLEtBQUtBLEVBQUUsQ0FBQyxPQUFPQSxFQUFFLE9BQU8sS0FBSyxLQUFLLE1BQU0sS0FBS0EsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLQSxFQUFFLENBQUMsS0FBSyxXQUFXLEtBQUssU0FBUyxHQUFHLEtBQUssVUFBVSxLQUFLLFFBQVEsQ0FBQyxHQUFHLEtBQUssVUFBVSxFQUFFLElBQUksRUFBRSxLQUFLLFNBQVNLLEVBQUVFLEVBQUUsR0FBRyxLQUFLLFFBQVEsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssTUFBTSxDQUFDLEtBQUssS0FBSyxRQUFRLENBQUMsRUFBRSxLQUFLLE1BQU0sU0FBU0YsRUFBRSxLQUFLLFFBQVEsQ0FBQyxFQUFFRSxFQUFFUCxFQUFFLEtBQUssTUFBTUssQ0FBQyxFQUFFQSxDQUFDLEVBQUVFLElBQUksS0FBSyxLQUFLLFFBQVEsQ0FBQyxHQUFHLEVBQUUsT0FBTyxPQUFPLEtBQUssUUFBUSxDQUFDLEVBQUVBLENBQUMsQ0FBQyxDQUFDLEtBQUtQLEVBQUUsQ0FBQyxPQUFPLEtBQUssS0FBSyxDQUFDLEVBQUVLLElBQUksQ0FBQyxJQUFJRSxFQUFFUCxFQUFFLEVBQUVLLENBQUMsRUFBRSxPQUFPRSxJQUFJLElBQUksRUFBRSxPQUFPQSxFQUFFLEVBQUUsS0FBS1AsQ0FBQyxHQUFHTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNQLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQ0EsR0FBRyxDQUFDLEVBQUUsTUFBTSxJQUFJLE1BQU0sZ0RBQWdELEVBQUUsSUFBSUssRUFBRSxPQUFPTCxHQUFHLFdBQVcsT0FBTyxLQUFLLEtBQUssQ0FBQ08sRUFBRW1CLElBQUksQ0FBQyxHQUFHckIsR0FBR0UsYUFBYVAsR0FBRyxDQUFDSyxHQUFHRSxFQUFFLE9BQU9QLEVBQUUsT0FBTyxFQUFFLEtBQUssS0FBS08sRUFBRW1CLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPMUIsRUFBRSxDQUFDLE9BQU9BLEVBQUUsT0FBTyxLQUFLLEtBQUssTUFBTSxLQUFLQSxDQUFDLEVBQUUsSUFBSSxDQUFDLFFBQVFBLEVBQUUsQ0FBQyxPQUFPQSxFQUFFLE9BQU8sS0FBSyxLQUFLLE1BQU0sUUFBUUEsQ0FBQyxFQUFFLElBQUksQ0FBQyxVQUFVQSxFQUFFLENBQUMsR0FBRyxNQUFNLFVBQVVBLENBQUMsRUFBRSxLQUFLLE1BQU0sUUFBUSxLQUFLLEtBQUssTUFBTSxFQUFFLFVBQVVBLENBQUMsQ0FBQyxDQUFDLFlBQVlBLEVBQUUsRUFBRSxDQUFDLElBQUlLLEVBQUUsS0FBSyxNQUFNTCxDQUFDLEVBQUVPLEVBQUUsS0FBSyxNQUFNLE9BQU9GLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxRQUFRcUIsS0FBSyxLQUFLLFFBQVFuQixFQUFFLEtBQUssUUFBUW1CLENBQUMsRUFBRXJCLEdBQUdFLElBQUksS0FBSyxRQUFRbUIsQ0FBQyxFQUFFbkIsRUFBRSxLQUFLLE1BQU0sUUFBUSxPQUFPLElBQUksQ0FBQyxhQUFhUCxFQUFFLEVBQUUsQ0FBQyxJQUFJSyxFQUFFLEtBQUssTUFBTUwsQ0FBQyxFQUFFTyxFQUFFLEtBQUssTUFBTSxPQUFPRixFQUFFLEVBQUUsQ0FBQyxFQUFFLFFBQVFxQixLQUFLLEtBQUssUUFBUW5CLEVBQUUsS0FBSyxRQUFRbUIsQ0FBQyxFQUFFckIsR0FBR0UsSUFBSSxLQUFLLFFBQVFtQixDQUFDLEVBQUVuQixFQUFFLEtBQUssTUFBTSxRQUFRLE9BQU8sSUFBSSxDQUFDLFlBQVlQLEVBQUUsQ0FBQ0EsRUFBRSxLQUFLLE1BQU1BLENBQUMsRUFBRSxLQUFLLE1BQU1BLENBQUMsRUFBRSxPQUFPLE9BQU8sS0FBSyxNQUFNLE9BQU9BLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRSyxLQUFLLEtBQUssUUFBUSxFQUFFLEtBQUssUUFBUUEsQ0FBQyxFQUFFLEdBQUdMLElBQUksS0FBSyxRQUFRSyxDQUFDLEVBQUUsRUFBRSxHQUFHLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRTCxLQUFLLEtBQUssTUFBTUEsRUFBRSxPQUFPLE9BQU8sT0FBTyxLQUFLLE1BQU0sQ0FBQyxFQUFFLElBQUksQ0FBQyxNQUFNQSxFQUFFLENBQUMsT0FBTyxLQUFLLE1BQU0sTUFBTUEsQ0FBQyxDQUFDLENBQUMsS0FBS0EsRUFBRSxDQUFDLE9BQU8sS0FBSyxNQUFNLEtBQUtBLENBQUMsQ0FBQyxDQUFDLE1BQU1BLEVBQUUsQ0FBQyxPQUFPLE9BQU9BLEdBQUcsU0FBU0EsRUFBRSxLQUFLLE1BQU0sUUFBUUEsQ0FBQyxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsR0FBRyxLQUFLLE1BQU0sT0FBTyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsR0FBRyxLQUFLLE1BQU0sT0FBTyxLQUFLLE1BQU0sS0FBSyxNQUFNLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUlBLEVBQUUsS0FBSyxNQUFNLElBQUksTUFBTSxFQUFFLEtB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QUssT0FBTyxRQUFRLEtBQUssWUFBWSxFQUFFLE1BQU0sQ0FBQyxLQUFLLFFBQVEsTUFBTSxLQUFLLE9BQU8sS0FBSyxRQUFRLEtBQUssUUFBUSxLQUFLLE9BQU8sS0FBSyxTQUFTLEtBQUssUUFBUSxLQUFLLEtBQUssT0FBTyxLQUFLLFFBQVEsS0FBSyxPQUFPLEdBQUcsS0FBSyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUlKLEVBQUUsS0FBSyxVQUFVLENBQUMsRUFBRUksRUFBRSxHQUFHSixJQUFJLEtBQUtBLElBQUksS0FBSyxHQUFHLEtBQUssUUFBUSxPQUFPLEtBQUssU0FBUyxJQUFJLEtBQUssUUFBUSxPQUFPLFFBQVEsS0FBSyxRQUFRLFFBQVEsT0FBTyxLQUFLLFVBQVUsQ0FBQyxJQUFJLFNBQVMsS0FBSyxVQUFVLENBQUMsSUFBSSxJQUFJLEtBQUssTUFBTSxlQUFlLEtBQUssU0FBUyxFQUFFLEtBQUssVUFBVSxDQUFDLElBQUksU0FBUyxLQUFLLFVBQVUsQ0FBQyxJQUFJLE9BQU8sS0FBSyxNQUFNLGVBQWUsS0FBSyxTQUFTLEVBQUUsS0FBSyxVQUFVLENBQUMsSUFBSSxRQUFRLEtBQUssUUFBUSxLQUFLLE9BQU8sWUFBWSxLQUFLLFFBQVEsS0FBSyxRQUFRLEtBQUssS0FBSyxNQUFNLGVBQWUsS0FBSyxTQUFTLEdBQUcsS0FBSyxVQUFVLENBQUMsSUFBSSxTQUFTLEtBQUssVUFBVSxDQUFDLElBQUksWUFBWSxLQUFLLFVBQVUsQ0FBQyxJQUFJLGFBQWEsS0FBSyxNQUFNLGVBQWUsS0FBSyxTQUFTLEdBQUcsS0FBSyxRQUFRLE9BQU8sSUFBSSxDQUFDLEtBQUssUUFBUSxNQUFNLFFBQVEsS0FBSyxRQUFRLE1BQU0sS0FBSyxRQUFRLEtBQUssT0FBTyxhQUFhLEtBQUssVUFBVSxDQUFDLElBQUksT0FBTyxPQUFPLEtBQUssS0FBSyxVQUFVLEtBQUssVUFBVSxDQUFDLElBQUksT0FBTyxPQUFPLEtBQUssS0FBSyxFQUFFLE9BQU9JLEVBQUUsSUFBSTIrQixFQUFHLENBQUMsTUFBTSxLQUFLLFVBQVUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFVBQVUsQ0FBQyxFQUFFLE9BQU8sS0FBSyxVQUFVLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFDLEVBQUUsT0FBTyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssV0FBVyxLQUFLLFFBQVEzK0IsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLE9BQU8sS0FBSyxVQUFVLENBQUMsRUFBRSxDQUFDLElBQUksUUFBUSxLQUFLLE1BQU0sRUFBRSxNQUFNLElBQUksUUFBUSxLQUFLLE1BQU0sRUFBRSxNQUFNLElBQUksUUFBUSxLQUFLLE1BQU0sRUFBRSxNQUFNLElBQUksVUFBVSxLQUFLLFFBQVEsRUFBRSxNQUFNLElBQUksSUFBSSxLQUFLLFVBQVUsRUFBRSxNQUFNLElBQUksSUFBSSxLQUFLLFdBQVcsRUFBRSxNQUFNLElBQUksU0FBUyxJQUFJLE9BQU8sS0FBSyxLQUFLLEVBQUUsTUFBTSxJQUFJLFdBQVcsS0FBSyxTQUFTLEVBQUUsTUFBTSxJQUFJLFNBQVMsS0FBSyxPQUFPLEVBQUUsTUFBTSxJQUFJLGVBQWUsS0FBSyxhQUFhLEVBQUUsTUFBTSxRQUFRLEtBQUssS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLFdBQVcsQ0FBQyxJQUFJSixFQUFFLEVBQUVJLEVBQUUsS0FBSyxTQUFTLEVBQUVDLEVBQUUsS0FBSyxVQUFVRSxFQUFFLEtBQUtILEVBQUUsS0FBSyxPQUFPLFFBQVFKLEdBQUcsQ0FBQyxJQUFJMEIsR0FBRSxLQUFLLE9BQU90QixDQUFDLEVBQUVzQixHQUFFLENBQUMsSUFBSSxLQUFLMUIsSUFBSTBCLEdBQUUsQ0FBQyxJQUFJLEtBQUsxQixJQUFJSSxHQUFHLENBQUMsR0FBR0osR0FBRyxLQUFLLE1BQU0sK0JBQStCSyxDQUFDLEVBQUVFLEVBQUUsS0FBSyxRQUFRLEtBQUtBLEdBQUdBLEVBQUUsT0FBTyxRQUFRQSxFQUFFLFdBQVcsSUFBSUEsRUFBRSxXQUFXLEVBQUUsS0FBSyxRQUFRQSxHQUFHLEtBQUssUUFBUSxhQUFhLEtBQUssUUFBUSxJQUFJeStCLEVBQUcsQ0FBQyxNQUFNMytCLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxNQUFNLENBQUMsS0FBS0EsRUFBRSxDQUFDLEVBQUUsT0FBT0EsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBS0EsRUFBRSxDQUFDLEVBQUUsT0FBT0EsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVlBLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssV0FBVyxLQUFLLFFBQVEsT0FBTyxRQUFRLEtBQUssUUFBUSxZQUFZLEtBQUssUUFBUSxRQUFRLE9BQU8sS0FBSyxVQUFVLENBQUMsSUFBSSxVQUFVLEtBQUssVUFBVSxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssUUFBUSxNQUFNLENBQUMsSUFBSXFCLEdBQUUsS0FBSyxVQUFVQyxHQUFFLEtBQUssVUFBVSxDQUFDLEVBQUVDLEdBQUUsQ0FBQyxLQUFLLEtBQUssVUFBVSxDQUFDLEVBQUUsT0FBTyxLQUFLLFVBQVUsQ0FBQyxDQUFDLEVBQUUsS0FBS0YsSUFBR0EsR0FBRSxDQUFDLElBQUksS0FBSyxLQUFLLFFBQVEsWUFBWSxLQUFLLFdBQVdDLElBQUcsS0FBSyxVQUFVLENBQUMsRUFBRUQsR0FBRSxLQUFLLFVBQVUsS0FBSyxXQUFXLEtBQUssT0FBTyxPQUFPLElBQUksS0FBSyxXQUFXLEtBQUssUUFBUSxJQUFJdzlCLEVBQUcsQ0FBQyxNQUFNdjlCLEdBQUUsT0FBTyxDQUFDLE1BQU1DLEdBQUUsSUFBSSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsRUFBRSxPQUFPLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLFlBQVksS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLElBQUk1QixFQUFFLEtBQUssVUFBVSxLQUFL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OVYrQyxJQUFHLElBQUksSUFBSSxDQUFDLE1BQU0sUUFBUSxPQUFPLFFBQVEsSUFBSSxNQUFNLE1BQU0sSUFBSSxhQUFhLElBQUksWUFBWSxJQUFJLFlBQVksSUFBSSxZQUFZLElBQUksT0FBTyxRQUFRLFFBQVEsU0FBUyxXQUFXLE1BQU0sT0FBTyxNQUFNLE1BQU0sQ0FBQyxFQUFtSXpDLElBQUcsSUFBSSxJQUFJLENBQUMsVUFBVSxVQUFVLFFBQVEsUUFBUSxDQUFDLEVBQXcrT2tHLElBQUdwRCxJQUFxUDRCLElBQUdWLElBQU9FLElBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsT0FBTyxNQUFNLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLEtBQUssSUFBSSxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLE9BQU8sTUFBTSxFQUFFLENBQUMsUUFBUSxPQUFPLEVBQUUsQ0FBQyxRQUFRLE9BQU8sRUFBRSxDQUFDLFFBQVEsT0FBTyxF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LENBQUMsQ0FBQyxTQUFTSyxJQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsSUFBSSxRQUFRLFFBQVFOLEVBQUUsRUFBRUEsRUFBRSxFQUFFLE9BQU9BLElBQUksR0FBRyxDQUFDLEVBQUUsRUFBRUEsQ0FBQyxFQUFFQSxDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDLFNBQVNPLElBQUcsRUFBRSxFQUFFUCxFQUFFLENBQUMsR0FBRyxJQUFJLE9BQU8sUUFBUUMsRUFBRUQsR0FBRyxFQUFFQyxFQUFFLEVBQUUsT0FBT0EsSUFBSSxDQUFDLElBQUlJLEVBQUUsRUFBRUosQ0FBQyxFQUFFLEdBQUcsRUFBRUksRUFBRUosQ0FBQyxFQUFFLE9BQU9JLENBQUMsQ0FBQyxDQUFDLFNBQVNHLElBQUcsRUFBRSxFQUFFUixFQUFFLENBQUMsR0FBRyxJQUFJLE9BQU8sTUFBTSxHQUFHLFFBQVFDLEVBQUVELEdBQUcsRUFBRUMsRUFBRSxFQUFFLE9BQU9BLElBQUksR0FBRyxFQUFFLEVBQUVBLENBQUMsRUFBRUEsQ0FBQyxFQUFFLE9BQU9BLEVBQUUsTUFBTSxFQUFFLENBQUMsU0FBU1EsSUFBRyxFQUFFLEVBQUVULEVBQUVVLElBQUcsQ0FBQyxHQUFHLElBQUksUUFBUSxRQUFRVCxFQUFFLEVBQUVBLEVBQUUsRUFBRSxPQUFPQSxJQUFJLEdBQUdELEVBQUUsRUFBRUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUMsU0FBU1UsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksT0FBTyxDQUFDLElBQUlYLEVBQUUsRUFBRSxPQUFPQyxFQUFFLEVBQUUsS0FBS0EsRUFBRUQsR0FBRyxFQUFFLEVBQUVDLENBQUMsQ0FBQyxHQUFHQSxJQUFJLEdBQUdBLEVBQUVELEVBQUUsQ0FBQyxJQUFJSyxFQUFFLEVBQUUsTUFBTSxFQUFFSixDQUFDLEVBQUUsSUFBSUEsSUFBSUEsRUFBRUQsR0FBRyxDQUFDLElBQUlZLEVBQUUsRUFBRVgsQ0FBQyxFQUFFLEVBQUVXLENBQUMsR0FBR1AsRUFBRSxLQUFLTyxDQUFDLEVBQUVYLEdBQUcsQ0FBQyxPQUFPSSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxTQUFTUSxJQUFHLEVBQUUsRUFBRSxDQUFDLElBQUliLEVBQUUsR0FBRyxJQUFJLE9BQU8sQ0FBQ0EsRUFBRSxDQUFDLEVBQUUsUUFBUUMsRUFBRSxFQUFFQSxFQUFFLEVBQUUsT0FBT0EsSUFBSUQsRUFBRSxLQUFLLEVBQUUsRUFBRUMsQ0FBQyxFQUFFQSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU9ELENBQUMsQ0FBQyxTQUFTYyxJQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLFFBQVFkLEVBQUUsRUFBRUEsRUFBRSxFQUFFLE9BQU9BLElBQUksQ0FBQyxJQUFJQyxFQUFFLEVBQUVELENBQUMsRUFBRUMsSUFBSWMsR0FBR2QsQ0FBQyxFQUFFZSxHQUFHLEVBQUVmLENBQUMsRUFBRSxFQUFFLEtBQUtBLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVNnQixJQUFHLEVBQUUsRUFBRSxDQUFDLElBQUlqQixFQUFFLEdBQUcsSUFBSSxPQUFPLFFBQVFDLEVBQUUsRUFBRUEsRUFBRSxFQUFFLE9BQU9BLElBQUksQ0FBQyxJQUFJSSxFQUFFLEVBQUUsRUFBRUosQ0FBQyxFQUFFQSxDQUFDLEVBQUVJLElBQUlVLEdBQUdWLENBQUMsRUFBRUwsRUFBRWdCLEdBQUdoQixFQUFFSyxDQUFDLEVBQUVMLEVBQUVrQixHQUFHbEIsRUFBRUssQ0FBQyxFQUFFLENBQUMsT0FBT0wsR0FBR21CLEVBQUUsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsRUFBRSxDQUFDLElBQUlwQixFQUFFLEdBQUcsSUFBSSxPQUFPLFFBQVFDLEVBQUUsRUFBRUEsRUFBRSxFQUFFLE9BQU9BLElBQUksQ0FBQyxJQUFJSSxFQUFFLEVBQUVKLENBQUMsRUFBRVcsRUFBRSxFQUFFUCxFQUFFSixDQUFDLEdBQUdELEdBQUdLLElBQUlPLEdBQUdHLEdBQUdILENBQUMsS0FBS1osSUFBSUEsRUFBRSxFQUFFLE1BQU0sRUFBRUMsQ0FBQyxHQUFHYyxHQUFHSCxDQUFDLEVBQUVJLEdBQUdoQixFQUFFWSxDQUFDLEVBQUVaLEVBQUUsS0FBS1ksQ0FBQyxFQUFFLENBQUMsT0FBT1osR0FBRyxDQUFDLENBQUMsU0FBU3FCLElBQUcsRUFBRSxFQUFFLENBQUMsSUFBSXJCLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxPQUFPLFFBQVFDLEVBQUUsRUFBRUEsRUFBRSxFQUFFLE9BQU9BLElBQUksQ0FBQyxJQUFJSSxFQUFFLEVBQUUsRUFBRUosQ0FBQyxFQUFFQSxDQUFDLEVBQUVJLElBQUksUUFBUUwsRUFBRSxLQUFLSyxDQUFDLENBQUMsQ0FBQyxPQUFPTCxDQUFDLENBQUMsU0FBU3NCLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxJQUFJLE9BQU8sR0FBRyxJQUFJLFFBQVEsUUFBUXRCLEVBQUUsRUFBRUEsRUFBRSxFQUFFLE9BQU9BLElBQUksR0FBRyxFQUFFLEVBQUVBLENBQUMsQ0FBQyxFQUFFLE1BQU0sT0FBUSxRQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxDQUFDLFNBQVN1QixJQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sSUFBSSxRQUFRLEVBQUUsU0FBUyxFQUFFLEVBQUUsSUFBSSxRQUFRLEVBQUUsU0FBUyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsRUFBRXhCLEVBQUVVLElBQUcsQ0FBQyxHQUFHLElBQUksUUFBUSxJQUFJLE9BQU8sT0FBTyxJQUFJLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxPQUFPLE1BQU0sR0FBRyxRQUFRVCxFQUFFLEVBQUVBLEVBQUUsRUFBRSxPQUFPQSxJQUFJLEdBQUcsQ0FBQ0QsRUFBRSxFQUFFQyxDQUFDLEVBQUUsRUFBRUEsQ0FBQyxFQUFFQSxDQUFDLEVBQUUsTUFBTSxHQUFHLE1BQU0sRUFBRSxDQUFDLFNBQVNpQixHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sSUFBSSxPQUFPLEVBQUUsSUFBSSxPQUFPLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLFNBQVNPLElBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLFNBQVNULEdBQUcsRUFBRSxFQUFFaEIsRUFBRUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxRQUFRLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksT0FBTyxPQUFPLEVBQUUsTUFBTUQsRUFBRUMsQ0FBQyxFQUFFRCxFQUFFQSxJQUFJLE9BQU8sRUFBRXlCLElBQUcsRUFBRXpCLENBQUMsRUFBRUMsRUFBRUEsSUFBSSxPQUFPLEVBQUUsT0FBT3dCLElBQUcsRUFBRXhCLENBQUMsRUFBRSxRQUFRSSxFQUFFTCxFQUFFSyxFQUFFSixHQUFHSSxFQUFFLEVBQUUsT0FBT0EsSUFBSSxFQUFFQSxDQUFDLElBQUksUUFBUSxFQUFFLEtBQUssRUFBRUEsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsU0FBU3FCLElBQUcsRUFBRSxFQUFFMUIsRUFBRSxDQUFDLE9BQU9TLElBQUcsRUFBRSxFQUFFVCxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxTQUFTMkIsSUFBRyxFQUFFLEVBQUUzQixFQUFFLENBQUMsT0FBTyxJQUFJLFFBQVEwQixJQUFHLEVBQUUsRUFBRTFCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzRCLElBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxFQUFFLFNBQVMsRUFBRVQsR0FBRyxFQUFFLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFvSCxTQUFTVSxJQUFHLEVBQUUsQ0FBQyxPQUFPLElBQUksUUFBUSxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBU0MsR0FBRyxFQUFFLENBQUMsT0FBTyxJQUFJLFFBQVEsRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLEVBQUUsT0FB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QUFFLE1BQU0sQ0FBQyxTQUFTQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sSUFBSSxRQUFRLEVBQUUsQ0FBQyxFQUFFLEVBQUU1QyxHQUFFLEtBQUssb0NBQW9DLENBQUMsMkJBQTJCQSxHQUFFLGdCQUFnQixDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBUzZDLElBQUcsRUFBRSxDQUFDLENBQUMsU0FBU0MsS0FBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVNDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxNQUFNLEtBQUssSUFBSSxFQUFFLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLFNBQVNDLEdBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLElBQUksT0FBT3JELEdBQUcsQ0FBQyxJQUFJQyxFQUFFLEdBQUcsT0FBT0QsQ0FBQyxJQUFJQSxDQUFDLEdBQUdLLEVBQUUsRUFBRSxJQUFJSixDQUFDLEVBQUUsT0FBT0ksSUFBSSxRQUFRLENBQUMsRUFBRSxJQUFJSixDQUFDLElBQUlJLEVBQUUsRUFBRUwsQ0FBQyxFQUFFLEVBQUUsSUFBSUMsRUFBRUksQ0FBQyxHQUFHQSxDQUFDLENBQUMsQ0FBQyxTQUFTSyxJQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sSUFBSSxDQUFDLENBQUMsU0FBUzRDLElBQUcsRUFBRSxFQUFFLENBQUMsT0FBTyxJQUFJLEdBQUcsSUFBSSxRQUFRLElBQUksUUFBUSxFQUFFLFlBQVksSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDLFNBQVNDLElBQUcsRUFBRSxFQUFFLENBQUMsT0FBTzdDLElBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTOEMsSUFBRyxFQUFFLEVBQUUsQ0FBQyxPQUFPLElBQUksRUFBRSxFQUFFLElBQUksT0FBTyxHQUFHLElBQUksT0FBTyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU9ELElBQUcsRUFBRSxD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QyxFQUFFLENBQUMsRUFBRSxFQUFFLFFBQVEsRUFBRUEsQ0FBQyxJQUFJQSxFQUFFLENBQUMsU0FBU21FLElBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBU3ZCLElBQUcsRUFBRSxFQUFFLENBQUMsT0FBT3dCLElBQUcsRUFBRXJFLEdBQUdBLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBU3FFLElBQUcsRUFBRSxFQUFFLENBQUMsUUFBUXJFLEVBQUUsRUFBRUEsRUFBRSxFQUFFLE9BQU9BLElBQUksR0FBRyxFQUFFLEVBQUVBLENBQUMsQ0FBQyxFQUFFLE9BQU9vRSxJQUFHLEVBQUVwRSxDQUFDLEVBQUUsR0FBRyxNQUFNLEVBQUUsQ0FBQyxTQUFTc0UsSUFBRyxFQUFFLEVBQUV0RSxFQUFFLENBQUMsT0FBT0EsRUFBRXNELElBQUcsRUFBRSxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsU0FBU2lCLElBQUcsRUFBRSxDQUFDLE9BQU8sSUFBSSxPQUFPLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FVK3EvQixTQUFTQyxJQUFHLEVBQUUsQ0FBQyxPQUFPLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsUUFBUU4sSUFBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVNPLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUdGLElBQUcsRUFBRSxXQUFXLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNHLElBQUcsRUFBRSxDQUFDLE9BQU8sR0FBRyxJQUFJLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRyxFQUFFLENBQUMsU0FBU0MsSUFBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJNUUsRUFBRSxFQUFFLFdBQVcsQ0FBQyxFQUFFLEdBQUdB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LEVBQUUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxPQUFPRCxHQUFHLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLEdBQUcsQ0FBQyxTQUFTRSxJQUFHLEVBQUUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsR0FBRyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU9ELElBQUcsQ0FBQyxHQUFHRixHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsQ0FBQyxTQUFTSSxJQUFHLEVBQUUsQ0FBQyxPQUFPLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQyxTQUFTQyxHQUFHLEVBQUUsRUFBRWhJLEVBQUVDLEVBQUVJLEVBQUUsQ0FBQyxHQUFHNEgsSUFBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUlySCxFQUFFLEdBQUcsT0FBTyxDQUFDLElBQUl1QixFQUFFLEVBQUUsV0FBVyxDQUFDLEVBQUUsT0FBT0EsRUFBRSxDQUFDLElBQUssSUFBRyxFQUFFLFdBQVcsRUFBRSxDQUFDLElBQUksSUFBSSxJQUFJLElBQUssSUFBRyxHQUFHLElBQUluQyxFQUFFLE9BQU8sRUFBRVksRUFBRSxDQUFDLENBQUNQLEVBQUUsU0FBUyxJQUFLLEdBQUUsSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSSxTQUFTLElBQUssSUFBRyxHQUFHSixFQUFFLE1BQU0sR0FBRyxFQUFFLFdBQVcsRUFBRSxDQUFDLElBQUksR0FBRyxDQUFDLElBQUksR0FBRyxFQUFFLEVBQUUsRUFBRSxRQUFRLENBQUNrSCxHQUFHLEVBQUUsV0FBVyxDQUFDLENBQUMsR0FBRyxJQUFJdkcsRUFBRSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsRUFBRSxFQUFFLFFBQVEsQ0FBQyxHQUFHLEVBQUUsV0FBVyxDQUFDLElBQUksSUFBSSxF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SSxHQUFHLEVBQUUsWUFBWSxDQUFDLENBQUMsU0FBU0ssSUFBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxNQUFNLElBQUksTUFBTSxlQUFlLEVBQUUsTUFBTSxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFzQixTQUFTQyxJQUFHLEVBQUUsRUFBRSxDQUFDLEtBQUssR0FBRyxDQUFDLElBQUluUixFQUFFLEVBQUUsQ0FBQyxFQUFFLEdBQUdBLElBQUksT0FBTyxPQUFPLEdBQUdBLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsQ0FBQyxTQUFTb1IsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDLENBQUMsU0FBU0MsSUFBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLElBQUksUUFBUUQsSUFBRyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxFQUFFLFNBQVMsR0FBRyxDQUFDLEdBQUdBLElBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsUUFBUSxDQUFDLENBQUMsU0FBU0UsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLFFBQVEsR0FBRyxFQUFFLFdBQVcsQ0FBQyxJQUFJLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxHQUFHLElBQUksRUFBRSxDQUFDLENBQUMsU0FBU0MsSUFBRyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsT0FBTyxFQUFFLFFBQVEsR0FBRyxFQUFFLFdBQVcsQ0FBQyxJQUFJLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSSxJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUksR0FBRyxFQUFFLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTQyxHQUFHLEVBQUUsQ0FBQyxPQUFPRCxJQUFHLEVBQUUsV0FBVyxDQUFDLENBQUMsU0FBU0UsSUFBRyxFQUFFLENBQUMsSUFBSSxFQUFFM0ssSUFBRyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUvRCxJQUFHLEVB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QUMsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxPQUFPQyxJQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsRUFBRSxNQUFNLEdBQUcsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxPQUFPLEdBQUcsR0FBRyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sR0FBRyxHQUFHLEdBQUcsR0FBRyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU9ELElBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTRSxHQUFHLEVBQUUsQ0FBQyxPQUFPaFUsR0FBRyxFQUFFLEtBQUssR0FBR0EsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDLFNBQVNpVSxJQUFHLEVBQUUsQ0FBQyxNQUFPLElBQUcsR0FBRyxHQUFHLEVBQUUsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxNQUFPLEtBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBTzFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRSxXQUFXLEtBQUssT0FBTyxFQUFFLGdCQUFnQixNQUFNLENBQUMsU0FBUzJFLElBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxPQUFPQyxHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUUsV0FBVyxLQUFLLE9BQU8sRUFBRSxnQkFBZ0IsTUFBTSxDQUFDLFNBQVNoRixJQUFHLEVBQUUsQ0FBQyxPQUFPaUYsSUFBRyxDQUFDLEdBQUdDLElBQUcsQ0FBQyxJQUFJRixHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBU0csR0FBRyxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxJQUFHLElBQUssS0FBSSxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBU0MsSUFBRyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUVDLElBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxPQUFPRixJQUFHLENBQUMsR0FBRyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksR0FBRyxDQUFDLFNBQVN6RCxJQUFHLEVBQUUsQ0FBQyxPQUFPd0QsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVNJLElBQUcsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLEtBQUssT0FBTyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsU0FBU0MsSUFBRyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBR0MsSUFBRyxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxNQUFNLEdBQUcsUUFBUSxNQUFNLEVBQUUsQ0FBQyxDQUFDLFNBQVNELElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksTUFBTSxHQUFHLFFBQVEsT0FBT0MsSUFBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sSUFBSSxFQUFFLE9BQU8sS0FBSyxFQUFFLE9BQU8sSUFBSSxDQUFDLFNBQVNULElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksTUFBTSxHQUFHLFFBQVEsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTVSxJQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLE9BQU8sSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEdBQUcsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxPQUFPQyxJQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBU0MsSUFBRyxFQUFFLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxPQUFPLElBQUksS0FBSyxJQUFJLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLE9BQU8sSUFBSSxLQUFLLElBQUksR0FBRyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBU0MsSUFBRyxFQUFFLENBQUMsT0FBT0MsSUFBRy9CLElBQUcsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLFNBQVMrQixJQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxJQUFHLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxHQUFFLElBQUssSUFBRyxJQUFLLElBQUcsSUFBSyxJQUFHLElBQUssS0FBSSxJQUFLLElBQUcsSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksTUFBTSxHQUFHLFFBQVEsTUFBTSxFQUFFLENBQUMsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxPQUFPQyxJQUFHakMsSUFBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBU2lDLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxNQUFNLEdBQUcsUUFBUSxPQUFPRixJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUzlGLElBQUcsRUFBRSxDQUFDLE9BQU9pRyxJQUFHbEMsSUFBRyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsU0FBU2tDLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxNQUFNLEdBQUcsUUFBUSxPQUFPRCxJQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBU0UsSUFBRyxFQUFFLENBQUMsT0FBTyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksR0FBRyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEdBQUcsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxPQUFPLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksS0FBSyxJQUFJLEtBQUssSUFBSSxLQUFLLElBQUksR0FBRyxDQUFDLFNBQVN2RyxJQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxJQUFJLEVBQUUsUUFBUSxFQUFFLE9BQU8sT0FBTyxLQUFLd0csR0FBRyxDQUFDLEVBQUVILElBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQyxTQUFTSSxJQUFHLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxLQUFLLE9BQU9GLElBQUcsQ0FBQyxHQUFHRCxJQUFHLENBQUMsR0FBR0ksSUFBRyxDQUFDLENBQUMsQ0FBQyxTQUFTQSxJQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxLQUFLLEVBQUUsU0FBUyxTQUFTLEVBQUUsT0FBTyxPQUFPLEtBQUssRUFBRSxPQUFPLE9BQU8sS0FBSyxHQUFHLENBQUNDLElBQUcsQ0FBQyxDQUFDLENBQUMsU0FBU0MsSUFBRyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsS0FBSyxPQUFPTCxJQUFHLENBQUMsR0FBR0QsSUFBRyxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsU0FBU08sSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE1BQU0sS0FBSyxFQUFFLE1BQU0sR0FBRyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEtBQUssRUFBRSxPQUFPLEtBQUssRUFBRSxPQUFPLEtBQUtDLElBQUcsQ0FBQyxHQUFHQyxJQUFHLENBQUMsR0FBR0MsSUFBRyxDQUFDLEdBQUdDLElBQUcsQ0FBQyxDQUFDLENBQUMsU0FBU0YsSUFBRyxFQUFF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QUFDLE9BQU8wRSxFQUFHLEdBQUcsQ0FBQyxFQUFFLElBQUksc0JBQXNCLENBQUMsT0FBTzFFLEVBQUcsR0FBRyxDQUFDLEVBQUUsSUFBSSxzQkFBc0IsQ0FBQyxPQUFPMEUsRUFBRyxHQUFHLENBQUMsRUFBRSxJQUFJLG9CQUFvQixDQUFDLE9BQU8xRSxFQUFHLEdBQUcsQ0FBQyxFQUFFLElBQUksb0JBQW9CLENBQUMsT0FBTzBFLEVBQUcsR0FBRyxDQUFDLEVBQUUsSUFBSSxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxzQkFBc0IsQ0FBQyxPQUFPM0UsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLHFCQUFxQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLHFCQUFxQixDQUFDLE9BQU9BLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxzQkFBc0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxzQkFBc0IsQ0FBQyxPQUFPQSxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUksdUJBQXVCLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUksdUJBQXVCLENBQUMsT0FBT0EsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLHlCQUF5QixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLHlCQUF5QixDQUFDLE9BQU9BLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSx3QkFBd0IsQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSx3QkFBd0IsQ0FBQyxPQUFPQSxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUksd0JBQXdCLENBQUMsT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLElBQUksd0JBQXdCLENBQUMsT0FBT0EsRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLDBCQUEwQixDQUFDLE9BQU8sRUFBRSxHQUFHLENBQUMsRUFBRSxJQUFJLDBCQUEwQixDQUFDLE9BQU9BLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxzQkFBc0Is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LFNBQVNzQixJQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLENBQUMsU0FBU0MsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsQ0FBQyxTQUFTL0IsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVNnQyxJQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLENBQUMsU0FBU0MsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLENBQUMsU0FBU0MsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLENBQUMsU0FBU0MsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLENBQUMsU0FBU0MsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLENBQUMsU0FBU0MsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsQ0FBQyxTQUFTQyxJQUFHLEVBQUUsQ0FBQyxP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QUUsT0FBTyxHQUFHLENBQUMsU0FBU3hDLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsQ0FBQyxTQUFTcEQsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVM2RixJQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLENBQUMsU0FBU0MsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVN6aUIsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVMwaUIsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVM5dEIsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVNxcEIsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVM1aEIsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVNzbUIsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsQ0FBQyxTQUFTdHJCLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsQ0FBQyxTQUFTd0QsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVNDLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsQ0FBQyxTQUFTN0UsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVNLLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEdBQUcsQ0FBQyxTQUFTRSxJQUFHLEVBQUUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxHQUFHLENBQUMsU0FBU0UsSUFBRyxFQUFFLENBQUMsT0FBTyxFQUFFLE9BQU8sR0FBRyxDQUFDLFNBQVNFLElBQUcsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFP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QUFFLGFBQWEsR0FBRyxFQUFFLGVBQWUsRUFBRSxFQUFFLGVBQWUsR0FBRyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsbUJBQW1CLEdBQUcsRUFBRSxxQkFBcUIsRUFBRSxFQUFFLGVBQWUsR0FBRyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsV0FBVyxHQUFHLEVBQUUsYUFBYSxFQUFFLEVBQUUsYUFBYSxHQUFHLEVBQUUsZUFBZSxFQUFFLEVBQUUsaUJBQWlCLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLFVBQVUsR0FBRyxFQUFFLFlBQVksRUFBRSxFQUFFLGFBQWEsR0FBRyxFQUFFLGVBQWUsRUFBRSxFQUFFLGNBQWMsR0FBRyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsaUJBQWlCLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLGFBQWEsR0FBRyxFQUFFLGVBQWUsRUFBRSxFQUFFLFdBQVcsR0FBRyxFQUFFLGFBQWEsRUFBRSxFQUFFLGdCQUFnQixHQUFHLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxlQUFlLEdBQUcsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLGNBQWMsR0FBRyxFQUFFLGdCQUFnQixFQUFFLEVBQUUsY0FBYyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxpQkFBaUIsR0FBRyxFQUFFLG1CQUFtQixFQUFFLEVBQUUsV0FBVyxHQUFHLEVBQUUsYUFBYSxFQUFFLEVBQUUsY0FBYyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxjQUFjLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLFlBQVksR0FBRyxFQUFFLGNBQWMsRUFBRSxFQUFFLGlCQUFpQixHQUFHLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxjQUFjLEdBQUcsRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLGVBQWUsR0FBRyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsYUFBYSxHQUFHLEVBQUUsZUFBZSxFQUFFLEVBQUUsWUFBWSxHQUFHLEVBQUUsY0FBYyxFQUFFLEVBQUUsY0FBYyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxjQUFjLEdBQUcs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RUFBRSxpQkFBaUIsRUFBRSxFQUFFLFNBQVMsR0FBRyxFQUFFLFdBQVcsRUFBRSxFQUFFLGlCQUFpQixHQUFHLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxtQkFBbUIsR0FBRyxFQUFFLHFCQUFxQixFQUFFLEVBQUUsZUFBZSxHQUFHLEVBQUUsaUJBQWlCLEVBQUUsRUFBRSxtQkFBbUIsR0FBRyxFQUFFLHFCQUFxQixFQUFFLEVBQUUsY0FBYyxHQUFHLEVBQUUsZ0JBQWdCLEVBQUUsRUFBRSxlQUFlLEdBQUcsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLGdCQUFnQixHQUFHLEVBQUUsa0JBQWtCLEVBQUUsRUFBRSxrQkFBa0IsR0FBRyxFQUFFLG9CQUFvQixFQUFFLEVBQUUsaUJBQWlCLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLGlCQUFpQixHQUFHLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxpQkFBaUIsR0FBRyxFQUFFLG1CQUFtQixFQUFFLEVBQUUsaUJBQWlCLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLGFBQWEsR0FBRyxFQUFFLGVBQWUsRUFBRSxFQUFFLGtCQUFrQixHQUFHLEVBQUUsb0JBQW9CLEVBQUUsRUFBRSxlQUFlLEdBQUcsRUFBRSxpQkFBaUIsRUFBRSxFQUFFLGFBQWEsR0FBRyxFQUFFLGVBQWUsRUFBRSxFQUFFLGFBQWEsR0FBRyxFQUFFLGVBQWUsRUFBRSxFQUFFLGlCQUFpQixHQUFHLEVBQUUsbUJBQW1CLEVBQUUsRUFBRSxnQkFBZ0IsR0FBRyxFQUFFLGtCQUFrQixFQUFFLEVBQUUsWUFBWSxHQUFHLEVBQUUsY0FBYyxFQUFFLEVBQUUsaUJBQWlCLEdBQUcsRUFBRSxtQkFBbUIsRUFBRSxFQUFFLGVBQWUsR0FBRyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsa0JBQWtCLEdBQUcsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLGVBQWUsR0FBRyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsV0FBVyxHQUFHLEVBQUUsYUFBYSxFQUFFLEVBQUUsb0JBQW9CLEdBQUcsRUFBRSxzQkFBc0IsRUFBRSxF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QXlDLEVBQUUsRUFBRSxpQkFBaUIsR0FBRyxFQUFFLG1CQUFtQixFQUFFLEVBQUUsZUFBZSxFQUFFLEVBQUUsaUJBQWlCLElBQUlBLEtBQUksQ0FBQyxDQUFDLEVBQU1oRyxJQUFJLElBQUksRUFBRSxFQUFFLFFBQVEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLFNBQVMsQ0FBQyxFQUFFLFdBQVcsSUFBSUEsSUFBSSxDQUFDLENBQUMsRUFBRUcsS0FBSSxJQUFJLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLENBQUMsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxLQUFLLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxTQUFTLElBQUlBLEtBQUksQ0FBQyxDQUFDLEVBQUVaLEtBQUksSUFBSSxFQUFFLEVBQUUsU0FBUyxDQUFDLEVBQUUsV0FB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QUFJLEtBQUssSUFBSSxNQUFNLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxLQUFLLElBQUksT0FBTyxJQUFJLFVBQVUsSUFBSSxPQUFPLElBQUksUUFBUSxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksS0FBSyxJQUFJLE1BQU0sSUFBSSxLQUFLLElBQUksTUFBTSxJQUFJLE1BQU0sSUFBSSxNQUFNLElBQUksR0FBRyxHQUFHLEVBQUVsa0MsSUFBRyxJQUFJLElBQUksT0FBTyxRQUFRa2tDLEdBQUUsQ0FBQyxFQUFFenFDLElBQUcsSUFBSSxJQUFJLE9BQU8sUUFBUSxDQUFDLEdBQUd5cUMsSUFBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsTUFBTSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsS0FBSyxHQUFHLEtBQUssR0FBRyxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsS0FBSyxHQUFHLEtBQUssR0FBRyxLQUFLLEdBQUcsS0FBSyxHQUFHLEtBQUssR0FBRyxNQUFNLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRyxLQUFLLEdBQUcsS0FBSyxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsS0FBSyxHQUFHLEtBQUssR0FBRyxLQUFLLEdBQUcsTUFBTSxHQUFHLEtBQUssR0FBRyxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxPQUFPLEdBQUcsS0FBSyxHQUFHLEtBQUssR0FBRyxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU0sR0FBRyxNQUFNLEdBQUcsSUFBSSxHQUFHLElBQUksR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEVBQUV2cUMsSUFBRyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxHQUFHLENBQUMsQ0FBQyxFQUFFcUosSUFBRyxJQUFJLElBQUksQ0FBQyxDQUFDLEVBQUVnaEMsSUFBRyxnQ0FBZ0MsRUFBRSxDQUFDLEdBQUdBLElBQUcsNEJBQTRCLEVBQUUsQ0FBQyxHQUFHQSxJQUFHLDZCQUE2QixFQUFFLENBQUMsR0FBR0EsSUFBRyxpQ0FBaUMsRUFBRSxDQUFDLElBQUlBLElBQUcsNEJBQTRCLENBQUMsQ0FBQyxFQUFFL3FDLElBQUcsQ0FBQyxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLElBQUksS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLEtBQUssRUFBRUcsSUFBRyxDQUFDLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxJQUFJLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxLQUFLLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLEtBQUssRUFBRUosSUFBRyxDQUFDLEdBQUcsR0FBRyxHQUFHLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxJQUFJLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxNQUFNLEVBQUVHLElBQUcsQ0FBQyxHQUFHLEdBQUcsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxJQUFJLElBQUksSUFBSSxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssSUFBSSxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssS0FBSyxLQUFLLEtBQUssTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE1BQU0sTUFBTSxNQUFNLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxPQUFPLE9BQU8sT0FBTyxP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RUFBRSxJQUFJckssSUFBRyxJQUFJQSxJQUFHLElBQUksU0FBU3FLLEVBQUUxc0MsRUFBRUMsRUFBRSxDQUFDLE9BQU8waEMsR0FBRTNoQyxFQUFFMHNDLEVBQUUsU0FBUyxHQUFHL0ssR0FBRTNoQyxFQUFFMHNDLEVBQUUsV0FBVyxHQUFHL0ssR0FBRTNoQyxFQUFFMHNDLEVBQUUsUUFBUSxHQUFHL0ssR0FBRTNoQyxFQUFFMHNDLEVBQUUsU0FBUyxDQUFDLEVBQUUsSUFBSSxTQUFTQSxFQUFFMXNDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPMGhDLEdBQUUzaEMsRUFBRTBzQyxFQUFFLGFBQWEsQ0FBQyxFQUFFLElBQUksU0FBU0EsRUFBRTFzQyxFQUFFQyxFQUFFLENBQUMsT0FBTzBoQyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxRQUFRLEdBQUcvSyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxVQUFVLEdBQUcvSyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxTQUFTLEdBQUc5SyxHQUFHNWhDLEVBQUVDLEVBQUV5c0MsRUFBRSxhQUFhLENBQUMsRUFBRSxJQUFJLFNBQVNBLEVBQUUxc0MsRUFBRUMsRUFBRSxDQUFDLE9BQU8waEMsR0FBRTNoQyxFQUFFMHNDLEVBQUUsWUFBWSxDQUFDLEVBQUUsSUFBSXBLLElBQUcsSUFBSUEsSUFBRyxJQUFJLFNBQVNvSyxFQUFFMXNDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPMGhDLEdBQUUzaEMsRUFBRTBzQyxFQUFFLFVBQVUsR0FBRy9LLEdBQUUzaEMsRUFBRTBzQyxFQUFFLFNBQVMsQ0FBQyxFQUFFLElBQUksU0FBU0EsRUFBRTFzQyxFQUFFQyxFQUFFLENBQUMsT0FBTzBoQyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxhQUFhLEdBQUcvSyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxhQUFhLEdBQUcvSyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxRQUFRLEdBQUcvSyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxhQUFhLEdBQUcvSyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxJQUFJLEdBQUc5SyxHQUFHNWhD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RUFBRTBzQyxFQUFFLGNBQWMsQ0FBQyxFQUFFLElBQUksU0FBU0EsRUFBRTFzQyxFQUFFQyxFQUFFLENBQUMsT0FBTzJoQyxHQUFHNWhDLEVBQUVDLEVBQUV5c0MsRUFBRSxTQUFTLEdBQUcvSyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxlQUFlLENBQUMsRUFBRSxJQUFJLFNBQVNBLEVBQUUxc0MsRUFBRUMsRUFBRSxDQUFDLE9BQU8yaEMsR0FBRzVoQyxFQUFFQyxFQUFFeXNDLEVBQUUsWUFBWSxDQUFDLEVBQUUsSUFBSSxTQUFTQSxFQUFFMXNDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPMGhDLEdBQUUzaEMsRUFBRTBzQyxFQUFFLFVBQVUsQ0FBQyxFQUFFLElBQUksU0FBU0EsRUFBRTFzQyxFQUFFQyxFQUFFLENBQUMsT0FBTzBoQyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxVQUFVLEdBQUcvSyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxhQUFhLEdBQUcvSyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxhQUFhLENBQUMsRUFBRSxJQUFJLFNBQVNBLEVBQUUxc0MsRUFBRUMsRUFBRSxDQUFDLE9BQU8waEMsR0FBRTNoQyxFQUFFMHNDLEVBQUUsU0FBUyxHQUFHL0ssR0FBRTNoQyxFQUFFMHNDLEVBQUUsVUFBVSxDQUFDLEVBQUUsSUFBSSxTQUFTQSxFQUFFMXNDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPMGhDLEdBQUUzaEMsRUFBRTBzQyxFQUFFLFVBQVUsR0FBRy9LLEdBQUUzaEMsRUFBRTBzQyxFQUFFLFNBQVMsQ0FBQyxFQUFFLElBQUksU0FBU0EsRUFBRTFzQyxFQUFFQyxFQUFFLENBQUMsT0FBTzBoQyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxXQUFXLEdBQUcvSyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxTQUFTLEdBQUcvSyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxXQUFXLEdBQUcvSyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxTQUFTLENBQUMsRUFBRSxJQUFJLFNBQVNBLEVBQUUxc0MsRUFBRUMsRUFBRSxDQUFDLE9BQU8waEMs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QU8waEMsR0FBRTNoQyxFQUFFMHNDLEVBQUUsSUFBSSxHQUFHOUssR0FBRzVoQyxFQUFFQyxFQUFFeXNDLEVBQUUsYUFBYSxDQUFDLEVBQUUsSUFBSSxTQUFTQSxFQUFFMXNDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPMGhDLEdBQUUzaEMsRUFBRTBzQyxFQUFFLFVBQVUsR0FBRy9LLEdBQUUzaEMsRUFBRTBzQyxFQUFFLE9BQU8sQ0FBQyxFQUFFLElBQUksU0FBU0EsRUFBRTFzQyxFQUFFQyxFQUFFLENBQUMsT0FBTzBoQyxHQUFFM2hDLEVBQUUwc0MsRUFBRSxJQUFJLEdBQUc5SyxHQUFHNWhDLEVBQUVDLEVBQUV5c0MsRUFBRSxhQUFhLENBQUMsRUFBRSxJQUFJLFNBQVNBLEVBQUUxc0MsRUFBRUMsRUFBRSxDQUFDLE9BQU8waEMsR0FBRTNoQyxFQUFFMHNDLEVBQUUsSUFBSSxHQUFHL0ssR0FBRTNoQyxFQUFFMHNDLEVBQUUsT0FBTyxDQUFDLEVBQUUsSUFBSSxTQUFTQSxFQUFFMXNDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPMGhDLEdBQUUzaEMsRUFBRTBzQyxFQUFFLFVBQVUsQ0FBQyxFQUFFLElBQUksU0FBU0EsRUFBRTFzQyxFQUFFQyxFQUFFLENBQUMsT0FBTzJoQyxHQUFHNWhDLEVBQUVDLEVBQUV5c0MsRUFBRSxLQUFLLENBQUMsRUFBRSxJQUFJLFNBQVNBLEVBQUUxc0MsRUFBRUMsRUFBRSxDQUFDLE9BQU8waEMsR0FBRTNoQyxFQUFFMHNDLEVBQUUsVUFBVSxHQUFHOUssR0FBRzVoQyxFQUFFQyxFQUFFeXNDLEVBQUUsYUFBYSxDQUFDLEVBQUUsSUFBSSxTQUFTQSxFQUFFMXNDLEVBQUVDLEVBQUUsQ0FBQyxPQUFPMGhDLEdBQUUzaEMsRUFBRTBzQyxFQUFFLFVBQVUsQ0FBQyxFQUFFLElBQUksU0FBU0EsRUFBRTFzQyxFQUFFQyxFQUFFLENBQUMsT0FBTzJoQyxHQUFHNWhDLEVBQUVDLEVBQUV5c0MsRUFBRSxTQUFTLENBQUMsRUFBRSxJQUFJLFNBQVNBLEVBQUUxc0MsRUFBRUMsRUFBRSxD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LElBQUssSUFBRyxJQUFLLElBQUcsT0FBT2pRLEdBQUdpUSxFQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTdlEsR0FBR3VRLEdBQUUsQ0FBQyxHQUFHQSxHQUFFLE9BQU9BLEdBQUUsS0FBSyxDQUFDLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLE1BQU0sR0FBRyxJQUFLLEtBQUksSUFBSUMsR0FBRUQsR0FBRSxNQUFNLEVBQUVDLEdBQUUsS0FBSyxPQUFPLElBQUlBLEdBQUUsS0FBSyxjQUFjLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxTQUFTdlEsR0FBR3NRLEdBQUUsQ0FBQyxHQUFHQSxHQUFFLE9BQU9BLEdBQUUsS0FBSyxDQUFDLElBQUssS0FBSSxJQUFLLEtBQUksTUFBTSxFQUFFLENBQUMsTUFBTSxFQUFFLENBQUMsU0FBU3JRLEdBQUdxUSxHQUFFLENBQUMsR0FBR0EsR0FBRSxPQUFPQSxHQUFFLEtBQUssQ0FBQyxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLElBQUssS0FBSSxJQUFLLEtBQUksSUFBSyxLQUFJLE1BQU0sRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDLFNBQVNwUSxHQUFHb1EsR0FBRSxDQUFDLE9BQU9BLEdBQUUsT0FBTyxHQUFHLENBQUMsU0FBU25RLEdBQUdtUSxHQUFFLENBQUMsR0FBR0EsR0FBRSxPQUFPQSxHQUFFLEtBQUssQ0FBQyxJQUFLLEtBQUksSUFBSyxLQUFJLElB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QUVBLEVBQUUsS0FBSyxNQUFNLE9BQU8sRUFBRUEsRUFBRSxDQUFDLElBQUlDLEVBQUUsS0FBSyxhQUFhRCxFQUFFcVIsRUFBRyxRQUFRLEVBQUUsRUFBRXBSLEdBQUcsTUFBTUwsRUFBRSxLQUFLSyxDQUFDLENBQUMsQ0FBQyxPQUFPTCxFQUFFLE9BQU8sRUFBRUEsRUFBRSxLQUFLO0FBQUEsQ0FDcHZCLEVBQUUsSUFBSSxDQUFDLDZCQUE2QkEsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJSSxDQUFDLEVBQUUsS0FBSyxRQUFRLEdBQUcsS0FBSyxRQUFRSixJQUFJLEtBQUssT0FBTyxLQUFLLENBQUMsS0FBSyxXQUFXLE1BQU0sR0FBRyxHQUFHLENBQUMsSUFBSUssQ0FBQyxFQUFFLEtBQUssV0FBVyxPQUFPTCxJQUFJSyxHQUFHUixHQUFFLFFBQVFPLEVBQUVDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxZQUFZLENBQUMsR0FBRyxLQUFLLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSUwsQ0FBQyxFQUFFLEtBQUssUUFBUSxRQUFRSSxFQUFFLEVBQUVBLEVBQUUsS0FBSyxNQUFNLE9BQU8sRUFBRUEsRUFBRSxHQUFHSixFQUFFLEtBQUssTUFBTUksQ0FBQyxFQUFFLEtBQUssSUFBSXFSLEVBQUcsUUFBUSxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLFVBQVUsQ0FBQyxHQUFHLEtBQUssUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJelIsQ0FBQyxFQUFFLEtBQUssUUFBUSxRQUFRSSxFQUFFLEVBQUVBLEVBQUUsS0FBSyxNQUFNLE9BQU8sRUFBRUEsRUFBRSxHQUFHSixFQUFFLEtBQUssTUFBTUksQ0FBQyxFQUFFLEtBQUssSUFBSXFSLEVBQUcsUUFBUSxNQUFNLEVBQUUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJLHVCQUF1QixDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksVUFBVSxDQUFDLE1BQU0sQ0FBQ0MsRUFBRyxTQUFTQSxFQUFHLFNBQVNBLEVBQUcsYUFBYUEsRUFBRyxZQUFZ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QUFNLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxHQUFLLE9BQVNBLEdBQUssT0FBU0EsR0FBSyxPQUFTQSxJQUFNLE9BQVNBLElBQU0sT0FBU0EsR0FBSyxPQUFTQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxJQUFNLFFBQVVBLElBQU0sUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLElBQU0sUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLElBQU0sUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLElBQU0sUUFBVUEsSUFBTSxRQUFVQSxJQUFNLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxJQUFNLFFBQVVBLElBQU0sUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxJQUFNLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxJQUFNLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxJQUFNLFFBQVVBLElBQU0sUUFBVUEsSUFBTSxRQUFVQSxJQUFNLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsSUFBTSxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxJQUFNLFFBQVVBLElBQU0sUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxJQUFNLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssUUFBVUEsR0FBSyxRQUFVQSxHQUFLLFFBQVVBLEdBQUssTUFDNWdHLENBT0EsU0FBU0UsSUFBZXg0QixFQUFNLENBQzVCLEdBQUksQ0FBQ0EsRUFDSCxNQUFPLEdBRVQsR0FBSSxD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RUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxHQUFJLEVBQUcsR0FBSSxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsR0FBSSxHQUFJLElBQUssR0FBSSxHQUFJLEdBQUksRUFBRyxHQUFJLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLEVBQUcsR0FBSSxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxFQUFHLEVBQUcsR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksRUFBRyxFQUFHLEdBQUksRUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLEVBQUcsR0FBSSxHQUFJLEdBQUksRUFBRyxHQUFJLEdBQUksRUFBRyxFQUFHLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLElBQUssR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLElBQUssR0FBSSxFQUFHLEVBQUcsR0FBSSxFQUFHLEdBQUksR0FBSSxHQUFJLEVBQUcsRUFBRyxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEVBQUcsRUFBRyxFQUFHLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksRUFBRyxFQUFHLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxHQUFJLEdBQUksR0FBSSxFQUFHLEdBQUksRUFBRyxFQUFHLEVBQUcsR0FBSSxHQUFJLEVBQUcsR0FBSSxHQUFJLEVBQUcsR0FBSSxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLEdBQUksR0FBSSxFQUFHLEVBQUcsRUFBRyxFQUFHLEdBQUksRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEdBQUksRUFBRyxHQUFJLEVBQUcsR0FBSSxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLEdBQUksR0FBSSxHQUFJLEVBQUcsR0FBSSxFQUFHLEdBQUksR0FBSSxHQUFJLEVBQUcsRUFBRyxFQUFHLElBQUssR0FBSSxHQUFJLEVBQUcsR0FBSSxHQUFJLEdBQUksRUFBRyxHQUFJLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxHQUFJLEVBQUcsSUFBSyxHQUFJLElBQUssR0FBSSxHQUFJLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxHQUFJLEdBQUksRUFBRyxFQUFHLEVBQUcsR0FBSSxFQUFHLEVBQUcsR0FBSSxHQUFJLEVBQUcsRUFBRyxFQUFHLEdBQUksRUFBRyxHQUFJLEdBQUksRUFBRyxFQUFHLEdBQUksRUFBRyxHQUFJLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxJQUFLLEdBQUksR0FBSSxFQUFHLEVBQUcsR0FBSSxHQUFJLEVBQUcsR0FBSSxHQUFJLElBQUssRUFBRyxFQUFHLEVBQUcsRUFBRyxHQUFJLEdBQUksRUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLEVBQUcsR0FBSSxHQUFJLEVBQUcsSUFBSyxHQUFJLEdBQUksRUFBRyxFQUFHLEdBQUksRUFBRyxHQUFJLElBQUssRUFBRyxHQUFJLElBQUssSUFBSyxJQUFLLEdBQUksSUFBSyxLQUFNLEdBQUksR0FBSSxLQUFNLEdBQUksRUFBRyxHQUFJLEtBQU0sRUFBRyxJQUFLLEtBQU0sR0FBSSxLQUFNLElBQUssRUFBRyxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksR0FBSSxHQUFJLEdBQUksRUFBRyxHQUFJLEdBQUksRUFBRyxHQUFJLElBQUssR0FBSSxJQUFLLEdBQUksSUFBSyxHQUFJLEVBQUcsRUFBRyxHQUFJLEdBQUksR0FBSSxFQUFHLEVBQUcsRUFBRyxHQUFJLEtBQU0sRUFBRyxLQUFNLEdBQUksRUFBRyxLQUFNLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLElBQUssR0FBSSxFQUFHLEdBQUksRUFBRyxFQUFHLEVBQUcsR0FBSSxFQUFHLEVBQUcsSUFBSyxLQUFNLElBQUssRUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLEVBQUcsS0FBTSxHQUFJLEVBQUcsR0FBSSxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsR0FBSSxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxJQUFLLEVBQUcsR0FBSSxFQUFHLEdBQUksRUFBRyxHQUFJLEVBQUcsR0FBSSxFQUFHLEdBQUksRUFBRyxHQUFJLEVBQUcsR0FBSSxFQUFHLEdBQUksRUFBRyxHQUFJLEVBQUcsR0FBSSxFQUFHLEVBQUcsS0FBTSxHQUFJLEVBQUcsRUFBRyxJQUFLLEdBQUksSUFBSyxHQUFJLEdBQUksRUFBRyxHQUFJLEVBQUcsSUFBSyxHQUFJLEdBQUksR0FBSSxJQUFLLEdBQUksSUFBSyxHQUFJLEVBQUcsRUFBRyxJQUFLLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEdBQUksRUFBRyxJQUFLLEdBQUksR0FBSSxFQUFHLEVBQUcsS0FBTSxFQUFHLEVBQUcsR0FBSSxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEdBQUksRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEdBQUksS0FBTSxNQUFPLEdBQUksS0FBTSxFQUFHLElBQUssRUFBRyxLQUFNLEdBQUksS0FBTSxHQUFJLElBQUssS0FBTSxJQUFLLEtBQU0sS0FBTSxFQUFHLElBQUksRUFDL29FQyxFQUF3QixDQUFDLElBQUssRUFBRyxJQUFLLEVBQUcsSUFBSyxFQUFHLElBQUssRUFBRyxLQUFNLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLElBQUssRUFBRyxJQUFLLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxHQUFJLEVBQUcsSUFBSyxFQUFHLEdBQUksRUFBRyxHQUFJLEdBQUksR0FBSSxFQUFHLElBQUssRUFBRyxHQUFJLEdBQUksR0FBSSxHQUFJLEVBQUcsRUFBRyxHQUFJLEVBQUcsR0FBSSxHQUFJLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLEdBQUksR0FBSSxFQUFHLEVBQUcsRUFBRyxFQUFHLEdBQUksRUFBRyxHQUFJLEVBQUcsR0FBSSxHQUFJLEVBQUcsRUFBRyxFQUFHLEdBQUksR0FBSSxHQUFJLEVBQUcsRUFBRyxFQUFHLEVBQUcsSUFBSyxHQUFJLEVBQUcsRUFBRyxFQUFHLEVBQUcsR0FBSSxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEdBQUksRUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxHQUFJLEVBQUcsR0FBSSxHQUFJLEdBQUksRUFBRyxFQUFHLEVBQUcsR0FBSSxHQUFJLEdBQUksRUFBRyxJQUFLLEVBQUcsRUFBRyxFQUFHLEdBQUksRUFBRyxHQUFJLEdBQUksR0FBSSxFQUFHLEdBQUksR0FBSSxFQUFHLEVBQUcsRUFBRyxHQUFJLEdBQUksR0FBSSxFQUFHLEVBQUcsSUFBSyxHQUFJLElBQUssRUFBRyxHQUFJLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxFQUFHLEdBQUksRUFBRyxJQUFLLEVBQUcsRUFBRyxFQUFHLEVBQUcsRUFBRyxH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S0EsT0FNQSxNQUFpQixHQWFqQkMsR0FHQUMsR0FDQSxJQUFJLEtBQUcsQ0FDTCxPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLE1BQUksQ0FDTixPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLE9BQUssQ0FDUCxPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLEtBQUcsQ0FDTCxPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLEtBQUcsQ0FDTCxPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLE1BQUksQ0FDTixPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLFNBQU8sQ0FDVCxPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLEtBQUcsQ0FDTCxPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLE1BQUksQ0FDTixPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLFFBQU0sQ0FDUixPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLFNBQU8sQ0FDVCxPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLFNBQU8sQ0FDVCxPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLFNBQU8sQ0FDVCxPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLGFBQVcsQ0FDYixPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLE9BQUssQ0FDUCxPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLE9BQUssQ0FDUCxPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLE9BQUssQ0FDUCxPQUFPLEtBQUtBLEVBQ2QsQ0FDQUMsR0FDQSxJQUFJLFdBQVMsQ0FDWCxPQUFPLEtBQUtBLEVBQ2QsQ0FFQUMsR0FDQUMsR0FDQUMsR0FDQUMsR0FDQUMsR0FDQUMsR0FDQUMsR0FDQUMsR0FDQUMsR0FDQUMsR0FRQSxJQUFJLFlBQVUsQ0FDWixPQUFRLEtBQUssUUFBVSxNQUFNLFNBQVEsQ0FDdkMsQ0FNQSxJQUFJLE1B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VixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLElBQUksRUFDVixDQUFDLE9BQUssSUFBSSxFQUNWLENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLElBQUksRUFDVixDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxJQUFJLEVBQ1YsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLElBQUksRUFDVixDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBR1YsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUdULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxlQUFNLEdBQUcsRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsZUFBTSxHQUFHLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFHVCxDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUdULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssSUFBSSxFQUdWLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBR1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLGVBQU0sSUFBSSxFQUNYLENBQUMsZUFBTSxJQUFJLEVBQ1gsQ0FBQyxlQUFNLElBQUksRUFDWCxDQUFDLGVBQU0sSUFBSSxFQUNYLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxlQUFNLElBQUksRUFDWCxDQUFDLGVBQU0sSUFBSSxFQUNYLENBQUMsZUFBTSxJQUFJLEVBQ1gsQ0FBQyxlQUFNLElBQUksRUFDWCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxFQUFFLEVBQ1IsQ0FBQyxTQUFLLEVBQUUsRUFDUixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEVBQUUsRUFDUixDQUFDLFNBQUssRUFBRSxFQUNSLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUdWLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFHVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxPQUFLLEdBQUcsRUFDVCxDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBR1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxlQUFNLEdBQUcsRUFDVixDQUFDLGVBQU0sR0FBRyxFQUNWLENBQUMsZUFBTSxHQUFHLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxLQUFLLEVBR1gsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBR1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBR1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEVBQUUsRUFHUixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFjVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUdULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFHVCxDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLGVBQU0sSUFBSSxFQUNYLENBQUMsZUFBTSxJQUFJLEVBR1gsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUEwQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUdULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFXVixDQUFDLE9BQUssR0FBRyxFQUNULENBQUMsT0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUdULENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBR1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUdWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLElBQUksRUFDWCxDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLElBQUksRUFDWCxDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sSUFBSSxFQUNYLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sSUFBSSxFQUNYLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxJQUFJLEVBQ1gsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxJQUFJLEVBQ1gsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLElBQUksRUFDWCxDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sSUFBSSxFQUNYLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sSUFBSSxFQUNYLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sSUFBSSxFQUNYLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxJQUFJLEVBQ1gsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxJQUFJLEVBQ1gsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLElBQUksRUFDWCxDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLElBQUksRUFDWCxDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sSUFBSSxFQUNYLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxJQUFJLEVBQ1gsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxJQUFJLEVBQ1gsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLElBQUksRUFDWCxDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLElBQUksRUFDWCxDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sSUFBSSxFQUNYLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sSUFBSSxFQUNYLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxJQUFJLEVBQ1gsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLElBQUksRUFDWCxDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLElBQUksRUFDWCxDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sSUFBSSxFQUNYLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sSUFBSSxFQUNYLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sSUFBSSxFQUNYLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxJQUFJLEVBQ1gsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxJQUFJLEVBQ1gsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLElBQUksRUFDWCxDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFHWCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBR1QsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxLQUFLLEVBQ1gsQ0FBQyxTQUFLLEtBQUssRUFDWCxDQUFDLFNBQUssS0FBSyxFQUNYLENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxJQUFJLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssR0FBRyxFQUNULENBQUMsU0FBSyxHQUFHLEVBQ1QsQ0FBQyxTQUFLLEdBQUcsRUFDVCxDQUFDLFNBQUssSUFBSSxFQUNWLENBQUMsU0FBSyxHQUFHLEVBR1QsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxTQUFLLElBQUksRUFDVixDQUFDLFlBQU0sSUFBSSxFQUNYLENBQUMsWUFBTSxJQUFJLEVBQ1gsQ0FBQyxZQUFNLElBQUksRUFDWCxDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxJQUFJLEVBR1gsQ0FBQyxZQUFNLElBQUksRUFDWCxDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLElBQUksRUFDWCxDQUFDLFlBQU0sSUFBSSxFQUNYLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sSUFBSSxFQUNYLENBQUMsWUFBTSxJQUFJLEVBQ1gsQ0FBQyxZQUFNLElBQUksRUFDWCxDQUFDLFlBQU0sSUFBSSxFQUdYLENBQUMsWUFBTSxLQUFLLEVBQ1osQ0FBQyxZQUFNLE1BQU0sRUFDYixDQUFDLFlBQU0sS0FBSyxFQUNaLENBQUMsWUFBTSxLQUFLLEVBQ1osQ0FBQyxZQUFNLE1BQU0sRUFDYixDQUFDLFlBQU0sS0FBSyxFQUNaLENBQUMsWUFBTSxJQUFJLEVBQ1gsQ0FBQyxZQUFNLEtBQUssRUFDWixDQUFDLFlBQU0sTUFBTSxFQUNiLENBQUMsWUFBTSxNQUFNLEVBQ2IsQ0FBQyxZQUFNLE1BQU0sRUFDYixDQUFDLFlBQU0sTUFBTSxFQUNiLENBQUMsZ0JBQU8sR0FBRyxFQUNYLENBQUMsZ0JBQU8sR0FBRyxFQUNYLENBQUMsZ0JBQU8sR0FBRyxFQUNYLENBQUMsZ0JBQU8sR0FBRyxFQUNYLENBQUMsZ0JBQU8sR0FBRyxFQUNYLENBQUMsZ0JBQU8sR0FBRyxFQUNYLENBQUMsZ0JBQU8sR0FBRyxFQUNYLENBQUMsZ0JBQU8sR0FBRyxFQUNYLENBQUMsZ0JBQU8sR0FBRyxFQUNYLENBQUMsZ0JBQU8sR0FBRyxFQUNYLENBQUMsZ0JBQU8sR0FBRyxFQUNYLENBQUMsZ0JBQU8sR0FBRyxFQUNYLENBQUMsWUFBTSxJQUFJLEVBQ1gsQ0FBQyxrQkFBTyxHQUFHLEVBQ1gsQ0FBQyxrQkFBTyxHQUFHLEVBQ1gsQ0FBQyxZQUFNLElBQUksRUFDWCxDQUFDLFlBQU0sSUFBSSxFQUNYLENBQUMsa0JBQU8sR0FBRyxFQUNYLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEtBQUssRUFDWixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxFQUNWLENBQUMsWUFBTSxHQUFHLEVBQ1YsQ0FBQyxZQUFNLEdBQUcsRUFDVixDQUFDLFlBQU0sR0FBRyxDQUNYLEVBRU9DLElBQVFELElDcGdFZixJQUFNRSxJQUF1QixDQUFDQyxFQUFRQyxJQUFpQixDQUN0RCxPQUFXLENBQUNDLEVBQUtDLENBQUssSUFBS0YsRUFFMUJELEVBQVNBLEVBQU8sUUFBUSxJQUFJLE9BQU9JLElBQW1CRixDQUFHLEVBQUcsR0FBRyxFQUFHQyxDQUFLLEVBR3hFLE9BQU9ILENBQ1IsRUFFZSxTQUFSSyxJQUErQkwsRUFBUU0sRUFBUyxDQUN0RCxHQUFJLE9BQU9OLEdBQVcsU0FDckIsTUFBTSxJQUFJLFVBQVUsNEJBQTRCLE9BQU9BLENBQU0sSUFBSSxFQUdsRU0sRUFBVSxDQUNULG1CQUFvQixDQUFDLEVBQ3JCLEdBQUdBLENBQ0osRUFFQSxJQUFNQyxFQUFxQixJQUFJLElBQUksQ0FDbEMsR0FBR0MsSUFDSCxHQUFHRixFQUFRLGtCQUNaLENBQUMsRUFFRCxPQUFBTixFQUFTQSxFQUFPLFVBQVUsRUFDMUJBLEVBQVNELElBQXFCQyxFQUFRTyxDQUFrQixFQUN4RFAsRUFBU0EsRUFBTyxVQUFVLEtBQUssRUFBRSxRQUFRLFdBQUMsaUJBQWMsSUFBRSxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBRW5FQSxDQUNSLENDaENBLElBQU1TLElBQTBCLENBQy9CLENBQUMsSUFBSyxPQUFPLEVBQ2IsQ0FBQyxZQUFNLFdBQVcsRUFDbEIsQ0FBQyxTQUFLLFFBQVEsQ0FDZixFQUVPQyxJQUFRRCxJQ0ZmLElBQU1FLElBQWFDLEdBQ1hBLEVBRUwsUUFBUSxvQkFBcUIsT0FBTyxFQUNwQyxRQUFRLHlCQUEwQixPQUFPLEVBRXpDLFFBQVEsb0JBQXFCLE9BQU8sRUFHcEMsUUFBUSw4QkFBK0IsT0FBTyxFQUczQ0MsSUFBdUIsQ0FBQ0QsRUFBUUUsSUFBYyxDQUNuRCxJQUFNQyxFQUFtQkMsSUFBbUJGLENBQVMsRUFFckQsT0FBT0YsRUFDTCxRQUFRLElBQUksT0FBTyxHQUFHRyxDQUFnQixPQUFRLEdBQUcsRUFBR0QsQ0FBUyxFQUM3RCxRQUFRLElBQUksT0FBTyxJQUFJQyxDQUFnQixJQUFJQSxDQUFnQixJQUFLLEdBQUcsRUFBRyxFQUFFLENBQzNFLEVBRU1FLElBQW1CQyxHQUFXLENBQ25DLElBQUlDLEVBQXFCLFNBR3pCLEdBRkFBLEdBQXNCRCxFQUFRLFVBQVksR0FBSyxNQUUzQ0EsRUFBUSxtQkFBbUIsT0FBUyxFQUN2QyxRQUFXRSxLQUFhRixFQUFRLG1CQUFvQixDQUNuRCxHQUFJRSxJQUFjRixFQUFRLFVBQ3pCLE1BQU0sSUFBSSxNQUFNLDZCQUE2QkEsRUFBUSxTQUFTLGtEQUFrREEsRUFBUSxrQkFBa0IsRUFBRSxFQUc3SUMsR0FBc0JILElBQW1CSSxDQUFTLENBQ25ELENBR0QsT0FBTyxJQUFJLE9BQU8sS0FBS0QsQ0FBa0IsS0FBTSxHQUFHLENBQ25ELEVBRWUsU0FBUkUsSUFBeUJULEVBQVFNLEVBQVMsQ0FDaEQsR0FBSSxPQUFPTixHQUFXLFNBQ3JCLE1BQU0sSUFBSSxVQUFVLDRCQUE0QixPQUFPQSxDQUFNLElBQUksRUFHbEVNLEVBQVUsQ0FDVCxVQUFXLElBQ1gsVUFBVyxHQUNYLFdBQVksR0FDWixtQkFBb0IsQ0FBQyxFQUNyQiwwQkFBMkIsR0FDM0IscUJBQXNCLEdBQ3RCLG1CQUFvQixDQUFDLEVBQ3JCLEdBQUdBLENBQ0osRUFFQSxJQUFNSSxFQUEwQkosRUFBUSwyQkFBNkJOLEVBQU8sV0FBVyxHQUFHLEVBQ3BGVyxFQUFtQkwsRUFBUSxzQkFBd0JOLEVBQU8sU0FBUyxHQUFHLEVBRXRFWSxFQUFxQixJQUFJLElBQUksQ0FDbEMsR0FBR0MsSUFDSCxHQUFHUCxFQUFRLGtCQUNaLENBQUMsRUFFRE4sRUFBU2MsSUFBY2QsRUFBUSxDQUFDLG1CQUFBWSxDQUFrQixDQUFDLEVBRS9DTixFQUFRLGFBQ1hOLEVBQVNELElBQVdDLENBQU0sR0FHM0IsSUFBTWUsRUFBY1YsSUFBaUJDLENBQU8sRUFFNUMsT0FBSUEsRUFBUSxZQUNYTixFQUFTQSxFQUFPLFlBQVksR0FLN0JBLEVBQVNBLEVBQU8sUUFBUSw4QkFBK0IsUUFBUSxFQUUvREEsRUFBU0EsRUFBTyxRQUFRZSxFQUFhVCxFQUFRLFNBQVMsRUFDdEROLEVBQVNBLEVBQU8sUUFBUSxNQUFPLEVBQUUsRUFFN0JNLEVBQVEsWUFDWE4sRUFBU0MsSUFBcUJELEVBQVFNLEVBQVEsU0FBUyxHQUdwREksSUFDSFYsRUFBUyxJQUFJQSxDQUFNLElBR2hCVyxJQUNIWCxFQUFTLEdBQUdBLENBQU0sS0FHWkEsQ0FDUixDQy9GZSxTQUFSZ0IsS0FBeUMsQ0FDL0MsTUFBTyw0QkFDUixDQUVPLFNBQVNDLEtBQTJCLENBQzFDLE1BQU8sa0NBQ1IsQ0NMQSxJQUFNQyxJQUFzQixJQUV0QkMsSUFBaUIsb0JBQ2pCQyxJQUFvQixPQUVYLFNBQVJDLElBQTRCQyxFQUFRQyxFQUFVLENBQUMsRUFBRyxDQUN4RCxJQUFNQyxFQUFpQixnQ0FDakJDLEVBQStCLG1DQUVyQyxHQUFJLE9BQU9ILEdBQVcsU0FDckIsTUFBTSxJQUFJLFVBQVUsbUJBQW1CLEVBR3hDLElBQU1JLEVBQWNILEVBQVEsY0FBZ0IsT0FBWSxJQUFNQSxFQUFRLFlBRXRFLEdBQUlJLElBQXNCLEVBQUUsS0FBS0QsQ0FBVyxHQUFLRixFQUFlLEtBQUtFLENBQVcsRUFDL0UsTUFBTSxJQUFJLE1BQU0sZ0VBQWdFLEVBRzdFQSxFQUFZLE9BQVMsSUFDeEJKLEVBQVNBLEVBQU8sUUFBUUcsRUFBOEIsSUFBSSxHQUczREgsRUFBU0EsRUFBTyxVQUFVLEtBQUssRUFDL0JBLEVBQVNBLEVBQU8sUUFBUUgsSUFBZ0JPLENBQVcsRUFDbkRKLEVBQVNBLEVBQU8sUUFBUUssSUFBc0IsRUFBR0QsQ0FBVyxFQUM1REosRUFBU0EsRUFBTyxRQUFRRSxFQUFnQkUsQ0FBVyxFQUNuREosRUFBU0EsRUFBTyxRQUFRRixJQUFtQixFQUFFLEVBRXpDTSxFQUFZLE9BQVMsSUFJcEIsRUFIbUJKLEVBQU8sQ0FBQyxJQUFNLE1BR2RBLEVBQU8sQ0FBQyxJQUFNLE1BQ3BDQSxFQUFTSSxFQUFjSixHQUlwQkEsRUFBT0EsRUFBTyxPQUFTLENBQUMsSUFBTSxNQUNqQ0EsR0FBVUksSUFJWkosRUFBU00sSUFBeUIsRUFBRSxLQUFLTixDQUFNLEVBQUlBLEVBQVNJLEVBQWNKLEVBQzFFLElBQU1PLEVBQWdCLE9BQU9OLEVBQVEsV0FBYyxTQUFXQSxFQUFRLFVBQVlMLElBQ2xGLEdBQUlJLEVBQU8sT0FBU08sRUFBZSxDQUNsQyxJQUFNQyxFQUFpQlIsRUFBTyxZQUFZLEdBQUcsRUFDN0MsR0FBSVEsSUFBbUIsR0FDdEJSLEVBQVNBLEVBQU8sTUFBTSxFQUFHTyxDQUFhLE1BQ2hDLENBQ04sSUFBTUUsRUFBV1QsRUFBTyxNQUFNLEVBQUdRLENBQWMsRUFDekNFLEVBQVlWLEVBQU8sTUFBTVEsQ0FBYyxFQUM3Q1IsRUFBU1MsRUFBUyxNQUFNLEVBQUcsS0FBSyxJQUFJLEVBQUdGLEVBQWdCRyxFQUFVLE1BQU0sQ0FBQyxFQUFJQSxDQUM3RSxDQUNELENBRUEsT0FBT1YsQ0FDUixDaE1HczZNLElBQUFXLElBQXlCLFlBQWdCQyxJQUFjLFlBQThILElBQUFDLElBQTJCLFlpTTNEdG5OLElBQUFDLElBQXdCLFlBQ3hCQyxJQUFtQixXQ0ZuQixPQUFPQyxPQUFhLGVBRXBCLFNBQVNDLEtBQXFCLENBQzFCLE9BQUlELEdBQVEsV0FBYSxRQUNkQSxHQUFRLElBQUksT0FBWSxRQUUzQixFQUFRQSxHQUFRLElBQUksWUFDeEIsRUFBUUEsR0FBUSxJQUFJLGtCQUNwQkEsR0FBUSxJQUFJLGFBQWtCLGdCQUM5QkEsR0FBUSxJQUFJLGVBQW9CLG9CQUNoQ0EsR0FBUSxJQUFJLGVBQW9CLFVBQ2hDQSxHQUFRLElBQUksT0FBWSxrQkFDeEJBLEdBQVEsSUFBSSxPQUFZLGFBQ3hCQSxHQUFRLElBQUksb0JBQXlCLG9CQUM3QyxDQUVBLElBQU1FLElBQVMsQ0FDWCxtQkFBb0IsTUFDcEIsbUJBQW9CLE1BQ3BCLE9BQVEsU0FDUixnQkFBaUIsU0FDakIsa0JBQW1CLFNBQ25CLGlCQUFrQixTQUNsQixVQUFXLFNBQ1gsYUFBYyxTQUNkLFdBQVksU0FDWixZQUFhLFNBQ2IsYUFBYyxTQUNkLE9BQVEsU0FDUixJQUFLLFNBQ0wsU0FBVSxTQUNWLGFBQWMsU0FDZCxXQUFZLFNBQ1osZ0JBQWlCLFNBQ2pCLGFBQWMsU0FDZCxrQkFBbUIsU0FDbkIsa0JBQW1CLFNBQ25CLG1CQUFvQixTQUNwQixLQUFNLFNBQ04sTUFBTyxTQUNQLFVBQVcsU0FDWCxnQkFBaUIsU0FDakIsUUFBUyxTQUNULFVBQVcsU0FDWCxVQUFXLFNBQ1gsV0FBWSxTQUNaLGVBQWdCLFNBQ2hCLFlBQWEsU0FDYixZQUFhLFNBQ2IsU0FBVSxTQUNWLFlBQWEsU0FDYixlQUFnQixTQUNoQixVQUFXLFNBQ1gsU0FBVSxTQUNWLGNBQWUsU0FDZixhQUFjLFNBQ2QsYUFBYyxTQUNkLGVBQWdCLFNBQ2hCLGNBQWUsU0FDZixjQUFlLFNBQ2YsYUFBYyxTQUNkLGVBQWdCLFNBQ2hCLGVBQWdCLFNBQ2hCLGNBQWUsU0FDZixRQUFTLE9BQ1QsU0FBVSxTQUNWLFdBQVksT0FDWixTQUFVLFNBQ1YsU0FBVSxTQUNWLFVBQVcsU0FDWCxVQUFXLFNBQ1gsVUFBVyxTQUNYLGNBQWUsT0FDZixZQUFhLFNBQ2IsYUFBYyxTQUNkLFdBQVksU0FDWixXQUFZLFNBQ1osWUFBYSxTQUNiLGFBQWMsU0FDZCxLQUFNLFNBQ04sU0FBVSxTQUNWLFdBQVksU0FDWixZQUFhLFNBQ2IsWUFBYSxTQUNiLFlBQWEsU0FDYixZQUFhLFNBQ2IsWUFBYSxTQUNiLFlBQWEsU0FDYixZQUFhLFNBQ2IsWUFBYSxTQUNiLFlBQWEsU0FDYixZQUFhLFNBQ2IsYUFBYyxTQUNkLGFBQWMsU0FDZCxhQUFjLFNBQ2QsYUFBYyxTQUNkLGFBQWMsU0FDZCxhQUFjLFNBQ2QsYUFBYyxTQUNkLGlCQUFrQixTQUNsQixtQkFBb0IsU0FDcEIsb0JBQXFCLFNBQ3JCLG9CQUFxQixTQUNyQixvQkFBcUIsU0FDckIsb0JBQXFCLFNBQ3JCLG9CQUFxQixTQUNyQixvQkFBcUIsU0FDckIsb0JBQXFCLFNBQ3JCLG9CQUFxQixTQUNyQixvQkFBcUIsU0FDckIsb0JBQXFCLFNBQ3JCLHFCQUFzQixTQUN0QixxQkFBc0IsU0FDdEIsYUFBYyxTQUNkLGdCQUFpQixTQUNqQixxQkFBc0IsU0FDdEIsaUJBQWtCLFNBQ2xCLGlCQUFrQixTQUNsQix5QkFBMEIsU0FDMUIsbUJBQW9CLFNBQ3BCLG1CQUFvQixTQUNwQixjQUFlLFNBQ2YsaUJBQWtCLFNBQ2xCLHNCQUF1QixTQUN2QixrQkFBbUIsU0FDbkIsa0JBQW1CLFNBQ25CLDBCQUEyQixTQUMzQixvQkFBcUIsU0FDckIsb0JBQXFCLFNBQ3JCLFdBQVksU0FDWixjQUFlLFNBQ2YsbUJBQW9CLFNBQ3BCLGVBQWdCLFNBQ2hCLGVBQWdCLFNBQ2hCLHVCQUF3QixTQUN4QixpQkFBa0IsU0FDbEIsaUJBQWtCLFNBQ2xCLFlBQWEsU0FDYixlQUFnQixTQUNoQixvQkFBcUIsU0FDckIsZ0JBQWlCLFNBQ2pCLGdCQUFpQixTQUNqQix3QkFBeUIsU0FDekIsa0JBQW1CLFNBQ25CLGtCQUFtQixTQUNuQixlQUFnQixTQUNoQiwyQkFBNEIsU0FDNUIsdUJBQXdCLFNBQ3hCLG1CQUFvQixTQUNwQix1QkFBd0IsU0FDeEIsdUJBQXdCLFNBQ3hCLG1CQUFvQixTQUNwQixtQkFBb0IsU0FDcEIsaUNBQWtDLFNBQ2xDLDJCQUE0QixTQUM1QixxQkFBc0IsU0FDdEIsZ0JBQWlCLFNBQ2pCLDRCQUE2QixTQUM3Qix3QkFBeUIsU0FDekIsb0JBQXFCLFNBQ3JCLHdCQUF5QixTQUN6Qix3QkFBeUIsU0FDekIsb0JBQXFCLFNBQ3JCLG9CQUFxQixTQUNyQixrQ0FBbUMsU0FDbkMsNEJBQTZCLFNBQzdCLHNCQUF1QixTQUN2QixrQkFBbUIsU0FDbkIsOEJBQStCLFNBQy9CLDBCQUEyQixTQUMzQixzQkFBdUIsU0FDdkIsMEJBQTJCLFNBQzNCLDBCQUEyQixTQUMzQixzQkFBdUIsU0FDdkIsc0JBQXVCLFNBQ3ZCLG9DQUFxQyxTQUNyQyx3QkFBeUIsU0FDekIsOEJBQStCLFNBQy9CLGdCQUFpQixTQUNqQiw0QkFBNkIsU0FDN0Isd0JBQXlCLFNBQ3pCLG9CQUFxQixTQUNyQix3QkFBeUIsU0FDekIsd0JBQXlCLFNBQ3pCLG9CQUFxQixTQUNyQixvQkFBcUIsU0FDckIsa0NBQW1DLFNBQ25DLHNCQUF1QixTQUN2Qiw0QkFBNkIsU0FDN0Isb0JBQXFCLFNBQ3JCLG9DQUFxQyxTQUNyQyxnQ0FBaUMsU0FDakMsZ0NBQWlDLFNBQ2pDLGdDQUFpQyxTQUNqQyxnQ0FBaUMsU0FDakMsd0JBQXlCLFNBQ3pCLHdCQUF5QixTQUN6Qix3QkFBeUIsU0FDekIsd0JBQXlCLFNBQ3pCLDRCQUE2QixTQUM3Qiw0QkFBNkIsU0FDN0IsNEJBQTZCLFNBQzdCLDRCQUE2QixTQUM3Qiw0QkFBNkIsU0FDN0IsNEJBQTZCLFNBQzdCLDRDQUE2QyxTQUM3QyxnQ0FBaUMsU0FDakMsZ0NBQWlDLFNBQ2pDLFVBQVcsU0FDWCxjQUFlLFNBQ2YsVUFBVyxRQUNmLEVBQ01DLElBQXFCLENBQ3ZCLEtBQU0sU0FDTixLQUFNLFNBQ04sUUFBUyxTQUNULE1BQU8sU0FDUCxZQUFhLFNBQ2Isa0JBQW1CLFNBQ25CLE9BQVEsU0FDUixhQUFjLFNBQ2QsYUFBYyxTQUNkLGFBQWMsU0FDZCxhQUFjLFNBQ2QsWUFBYSxTQUNiLFdBQVksU0FDWixRQUFTLFNBQ1QsU0FBVSxTQUNWLFdBQVksU0FDWixZQUFhLFNBQ2IsaUJBQWtCLFNBQ2xCLGtCQUFtQixTQUNuQixRQUFTLFNBQ1Qsa0JBQW1CLFNBQ25CLGFBQWMsU0FDZCxjQUFlLFNBQ2YsUUFBUyxTQUNULGVBQWdCLFNBQ2hCLFVBQVcsU0FDWCxPQUFRLFNBQ1IsU0FBVSxTQUNWLEtBQU0sU0FDTixLQUFNLFNBQ04sT0FBUSxTQUNSLFdBQVksU0FDWixTQUFVLFNBQ1YsU0FBVSxRQUNkLEVBQ01DLElBQXlCLENBQzNCLEtBQU0sU0FDTixLQUFNLElBQ04sUUFBUyxTQUNULE1BQU8sT0FDUCxZQUFhLFNBQ2Isa0JBQW1CLFNBQ25CLE9BQVEsTUFDUixhQUFjLE1BQ2QsYUFBYyxNQUNkLGFBQWMsTUFDZCxhQUFjLFdBQ2QsWUFBYSxTQUNiLFdBQVksV0FDWixRQUFTLE1BQ1QsU0FBVSxNQUNWLFdBQVksU0FDWixZQUFhLE1BQ2IsaUJBQWtCLFNBQ2xCLGtCQUFtQixNQUNuQixRQUFTLElBQ1Qsa0JBQW1CLFNBQ25CLGFBQWMsU0FDZCxjQUFlLFNBQ2YsUUFBUyxTQUNULGVBQWdCLFNBQ2hCLFVBQVcsU0FDWCxPQUFRLFNBQ1IsU0FBVSxxQkFDVixLQUFNLFNBQ04sS0FBTSxTQUNOLE9BQVEsU0FDUixXQUFZLE1BQ1osU0FBVSxNQUNWLFNBQVUsTUFDZCxFQUNhQyxJQUFjLENBQUUsR0FBR0gsSUFBUSxHQUFHQyxHQUFtQixFQUNqREcsSUFBa0IsQ0FDM0IsR0FBR0osSUFDSCxHQUFHRSxHQUNQLEVBQ01HLElBQWdCTixJQUFtQixFQUNuQ08sSUFBVUQsSUFBZ0JGLElBQWNDLElBQ3ZDRyxHQUFRRCxJQUNURSxJQUFlLE9BQU8sUUFBUVAsR0FBa0IsRURoU3RELElBQUFRLElBQXFCLFlBQ3JCQyxHQUE4QyxXRVI5QyxJQUFBQyxHQUF5RCxXQUV6RCxTQUFTQyxJQUF3QkMsRUFBT0MsRUFBSyxDQUMzQyxNQUFPLENBQUUsTUFBQUQsRUFBTyxJQUFLQyxHQUFPLENBQUMsQ0FBRSxDQUNqQyxDQUVlLFNBQVJDLEdBQXlCQyxFQUFJLENBQ2xDLElBQU1DLEtBQVcsY0FBVUQsRUFBRyxNQUFPLFdBQVlKLEdBQXVCLEVBQ3JFLFFBQUssaUJBQVUsY0FBVUksRUFBSSxPQUFPLENBQUMsQ0FBQyxFQUV0QyxRQUFLLFdBQU8sQ0FBQyxDQUFFLElBQUFGLENBQUksSUFBTUEsRUFBSSxPQUFTLFNBQVdBLEVBQUksT0FBUyxRQUFRLENBQUMsRUFFMUUsTUFBTyxDQUNMLFFBQU0sY0FBVUUsRUFBSSxNQUFNLEVBQzFCLFNBQUFDLEVBRUEsZ0JBQWlCQSxFQUFTLFFBQ3hCLFdBQ0UsQ0FBQyxDQUFFLElBQUFILENBQUksSUFDTEEsRUFBSSxPQUFTLE1BQVFBLEVBQUksT0FBUyxLQUFRQSxFQUFJLE9BQVMsS0FBT0EsRUFBSSxJQUN0RSxLQUNBLFVBQU0sQ0FDUixFQUVBLGtCQUFtQkcsRUFBUyxRQUMxQixXQUNFLENBQUMsQ0FBRSxJQUFBSCxDQUFJLElBQ0xBLEVBQUksT0FBUyxRQUFVQSxFQUFJLE9BQVMsS0FBUUEsRUFBSSxPQUFTLEtBQU9BLEVBQUksSUFDeEUsS0FDQSxVQUFNLENBQ1IsRUFFQSxVQUFXRyxFQUFTLFFBQ2xCLFdBQVFDLEdBQU1BLEVBQUUsT0FBUyxZQUFZLFNBQVNBLEVBQUUsS0FBSyxDQUFDLEtBQ3RELFFBQUtBLEdBQU0sT0FBT0EsRUFBRSxLQUFLLENBQUMsS0FDMUIsVUFBTSxDQUNSLEVBRUEsU0FBVUQsRUFBUyxRQUNqQixXQUFPLENBQUMsQ0FBRSxJQUFBSCxDQUFJLElBQU1BLEdBQU9BLEVBQUksT0FBUyxPQUFPLEtBQy9DLFVBQU0sQ0FDUixFQUNBLEtBQU1HLEVBQVMsUUFDYixXQUFPLENBQUMsQ0FBRSxJQUFBSCxDQUFJLElBQU1BLEdBQU9BLEVBQUksT0FBUyxHQUFHLEtBQzNDLFVBQU0sQ0FDUixFQUNBLEtBQU1HLEVBQVMsUUFDYixXQUFPLENBQUMsQ0FBRSxJQUFBSCxDQUFJLElBQU1BLEdBQU9BLEVBQUksT0FBUyxHQUFHLEtBQzNDLFVBQU0sQ0FDUixDQUNGLENBQ0YsQ0NuREEsSUFBQUssSUFBbUIsV0FNRUMsR0FBckIsS0FBK0IsQ0FLN0IsWUFBWUMsRUFBUUMsRUFBVSxDQUFDLEVBQUcsQ0FDaEMsR0FBTSxDQUFFLFdBQUFDLEVBQWEsRUFBSyxFQUFJRCxFQUM5QixLQUFLLFVBQVksRUFDakIsS0FBSyxPQUFTRCxFQUNkLEtBQUssV0FBYUUsQ0FDcEIsQ0FFQSxTQUFTQyxFQUFRQyxFQUFRQyxFQUFVLENBQ2pDQSxJQUFhLEVBQ2IsSUFBSUMsRUFBUUgsRUFBTyxNQUFNO0FBQUEsQ0FBSSxFQVk3QixHQVZJLEtBQUssU0FDUEcsRUFBUSxLQUFLLE9BQU8sV0FBV0EsQ0FBSyxFQUNwQ0YsRUFBU0UsRUFDTixJQUFLQyxHQUFjQSxFQUFVLE1BQU0sRUFDbkMsT0FBTyxFQUFHSCxDQUFNLEVBQ2hCLE9BQU8sQ0FBQ0ksRUFBR0MsSUFBTUQsRUFBSUMsRUFBRyxDQUFDLEVBQzVCSCxFQUFRQSxFQUFNLEtBQUssR0FJakJBLEVBQU0sUUFBVUQsRUFDbEIsT0FBT0YsRUFFVCxJQUFNTyxFQUFlLEtBQUssV0FDdEIsS0FBSyxpQkFBaUJKLEVBQU9GLEVBQVFDLENBQVEsRUFDN0MsS0FBSyxlQUFlQyxFQUFPRixFQUFRQyxDQUFRLEVBQy9DLFlBQUssVUFBWUQsRUFFZk0sRUFBYSxLQUFLO0FBQUEsQ0FBSSxFQUN0QjtBQUFBLEVBQ0EsSUFBQUMsUUFBTyxJQUFJLDJDQUEyQyxDQUUxRCxDQUVBLGlCQUFpQkwsRUFBT0YsRUFBUUMsRUFBVSxDQUNwQyxLQUFLLFVBQVksU0FDbkIsS0FBSyxRQUFVLEdBRWpCLElBQU1PLEVBQWUsS0FBSyxNQUFNUCxFQUFXLENBQUMsRUFHMUMsS0FBSyxRQUFVTyxHQUNmLEtBQUssVUFBWVIsR0FDakJBLEVBQVMsS0FBSyxVQUFZQyxJQUUxQixLQUFLLFFBQVUsS0FBSyxJQUFJTyxFQUFjLEtBQUssUUFBVVIsRUFBUyxLQUFLLFNBQVMsR0FJOUUsSUFBTVMsRUFBVyxDQUFDUCxFQUFPQSxFQUFPQSxDQUFLLEVBQUUsS0FBSyxFQUN0Q1EsRUFBVyxLQUFLLElBQUksRUFBR1YsRUFBU0UsRUFBTSxPQUFTLEtBQUssT0FBTyxFQUVqRSxPQUFPTyxFQUFTLE9BQU9DLEVBQVVULENBQVEsQ0FDM0MsQ0FFQSxlQUFlQyxFQUFPRixFQUFRQyxFQUFVLENBQ3RDLElBQUlTLEVBQVdWLEVBQVNDLEVBQVcsRUFDbkMsT0FBSVMsRUFBVyxFQUNiQSxFQUFXLEVBQ0ZBLEVBQVdULEVBQVdDLEVBQU0sU0FDckNRLEVBQVdSLEVBQU0sT0FBU0QsR0FFckJDLEVBQU0sT0FBT1EsRUFBVVQsQ0FBUSxDQUN4QyxDQUNGLEVDNUVlLFNBQVJVLEdBQW9DQyxFQUFTQyxFQUFLQyxFQUFLLENBQzVELElBQU1DLEVBQU1ELEVBQUksUUFBUSxXQUNsQkUsRUFBYSxTQUFVRixFQUFNLEVBQVFBLEVBQUksS0FBUSxHQUN2RCxHQUFJRCxJQUFRLEtBQ1YsT0FBSUQsRUFBVSxFQUNMQSxFQUFVLEVBRVpJLEVBQWFELEVBQU0sRUFBSUgsRUFFaEMsR0FBSUMsSUFBUSxPQUNWLE9BQUlELEVBQVVHLEVBQU0sRUFDWEgsRUFBVSxFQUVaSSxFQUFhLEVBQUlKLEVBRTFCLE1BQU0sSUFBSSxNQUFNLHdCQUF3QixDQUMxQyxDQ1pBLElBQUFLLEdBQW1CLFdBQ25CQyxJQUFxQixZQUNyQkMsR0FBeUQsV0NOekQsT0FBT0MsUUFBWSxjQ0FuQixJQUFBQyxJQUFtQixXQVVuQixJQUFxQkMsR0FBckIsS0FBK0IsQ0FDN0IsWUFBWUMsRUFBTSxDQUNoQixLQUFLLEtBQU8sWUFDWixLQUFLLEtBQU8sSUFBQUMsUUFBTyxJQUFJRCxHQUFRLE1BQU0sS0FBSyxDQUFFLE9BQVEsRUFBRyxDQUFDLEVBQUUsS0FBS0UsR0FBUSxJQUFJLENBQUMsQ0FDOUUsQ0FPQSxPQUFPLFFBQVFDLEVBQUssQ0FDbEIsT0FBT0EsRUFBSSxPQUFTLFdBQ3RCLENBTUEsVUFBVyxDQUNULE9BQU8sS0FBSyxJQUNkLENBQ0YsRUN4QkEsSUFBcUJDLElBQXJCLE1BQXFCQyxDQUFPLENBQzFCLFlBQVlDLEVBQUtDLEVBQVMsQ0FFeEIsR0FBSUQsYUFBZUQsR0FBVUMsRUFBSSxPQUFTLFlBQ3hDLE9BQU9BLEVBR0wsT0FBT0EsR0FBUSxVQUFZLE9BQU9BLEdBQVEsVUFDNUMsS0FBSyxLQUFPLE9BQU9BLENBQUcsRUFDdEIsS0FBSyxNQUFRQSxFQUNiLEtBQUssTUFBUSxPQUFPQSxDQUFHLEdBRXZCLE9BQU8sT0FBTyxLQUFNQSxFQUFLLENBQ3ZCLEtBQU1BLEVBQUksTUFBUUEsRUFBSSxNQUN0QixNQUFPLFVBQVdBLEVBQU1BLEVBQUksTUFBUUEsRUFBSSxLQUN4QyxNQUFPQSxFQUFJLE9BQVNBLEVBQUksTUFBUUEsRUFBSSxLQUN0QyxDQUFDLEVBR0gsS0FBSyxTQUNILE9BQU9BLEVBQUksVUFBYSxXQUFhQSxFQUFJLFNBQVNDLENBQU8sRUFBSUQsRUFBSSxRQUNyRSxDQUNGLEVGckJBLElBQXFCRSxJQUFyQixLQUE2QixDQUUzQixZQUFZQyxFQUFTQyxFQUFTLENBQzVCLEtBQUssUUFBVUQsRUFBUSxJQUFLRSxHQUN0QkEsRUFBSSxPQUFTLGFBQ1RBLGFBQWVDLEtBQ25CRCxFQUFNLElBQUlDLEdBQVVELEVBQUksSUFBSSxHQUd2QkEsR0FHRixJQUFJRSxJQUFPRixFQUFLRCxDQUFPLENBQy9CLEVBRUQsS0FBSyxZQUFjLEtBQUssUUFDckIsT0FBT0UsR0FBVSxPQUFPLEVBQ3hCLE9BQVFFLEdBQVMsQ0FBQ0EsRUFBSyxRQUFRLEVBRWxDLE9BQU8sZUFBZSxLQUFNLFNBQVUsQ0FDcEMsS0FBTSxDQUNKLE9BQU8sS0FBSyxRQUFRLE1BQ3RCLEVBQ0EsSUFBSUgsRUFBSyxDQUNQLEtBQUssUUFBUSxPQUFTQSxDQUN4QixDQUNGLENBQUMsRUFFRCxPQUFPLGVBQWUsS0FBTSxhQUFjLENBQ3hDLEtBQU0sQ0FDSixPQUFPLEtBQUssWUFBWSxNQUMxQixFQUNBLEtBQU0sQ0FDSixNQUFNLElBQUksTUFBTSxpREFBaUQsQ0FDbkUsQ0FDRixDQUFDLENBQ0gsQ0FFQSxDQUFDLE9BQU8sUUFBUSxHQUFJLENBQ2xCLElBQU1JLEVBQU8sS0FBSyxRQUNkQyxFQUFRLEdBRVosTUFBTyxDQUNMLEtBQU0sS0FBTyxDQUFFLE1BQU9ELEVBQUssRUFBRUMsQ0FBSyxFQUFHLEtBQU0sRUFBRUEsS0FBU0QsRUFBTSxFQUM5RCxDQUNGLENBT0EsVUFBVUUsRUFBVSxDQUNsQixPQUFBQyxJQUFPLE9BQU9ELEdBQWEsUUFBUSxFQUM1QixLQUFLLFlBQVlBLENBQVEsQ0FDbEMsQ0FPQSxJQUFJQSxFQUFVLENBQ1osT0FBQUMsSUFBTyxPQUFPRCxHQUFhLFFBQVEsRUFDNUIsS0FBSyxRQUFRQSxDQUFRLENBQzlCLENBT0EsTUFBTUUsRUFBYSxDQUNqQixJQUFJQyxFQUNKLEdBQUksT0FBT0QsR0FBZ0IsV0FDekJDLEVBQVdELE1BQ04sQ0FDTCxHQUFNLENBQUNFLEVBQUtDLENBQUssRUFBSSxPQUFPLFFBQVFILENBQVcsRUFBRSxDQUFDLEVBQ2xEQyxFQUFZRyxHQUFXQSxFQUFPRixDQUFHLElBQU1DLENBQ3pDLENBRUEsT0FBTyxLQUFLLFlBQVksT0FBT0YsQ0FBUSxDQUN6QyxDQU9BLE1BQU1JLEVBQWMsQ0FDbEIsT0FBTyxLQUFLLFlBQVksSUFBS0QsR0FBV0EsRUFBT0MsQ0FBWSxDQUFDLENBQzlELENBR0EsV0FBV0MsRUFBTSxDQUNmLE9BQU8sS0FBSyxRQUFRLFFBQVEsR0FBR0EsQ0FBSSxDQUNyQyxDQUVBLFdBQVdBLEVBQU0sQ0FDZixPQUFPLEtBQUssUUFBUSxRQUFRLEdBQUdBLENBQUksQ0FDckMsQ0FFQSxVQUFVQSxFQUFNLENBQ2QsT0FBTyxLQUFLLFFBQVEsT0FBTyxHQUFHQSxDQUFJLENBQ3BDLENBRUEsVUFBVUEsRUFBTSxDQUNkLE9BQU8sS0FBSyxRQUFRLE9BQU8sR0FBR0EsQ0FBSSxDQUNwQyxDQUVBLEtBQUtDLEVBQU0sQ0FDVCxPQUFPLEtBQUssUUFBUSxLQUFLQSxDQUFJLENBQy9CLENBRUEsS0FBS0EsRUFBTSxDQUNULE9BQU8sS0FBSyxRQUFRLEtBQUtBLENBQUksQ0FDL0IsQ0FFQSxRQUFRRCxFQUFNLENBQ1osSUFBTUUsRUFBT0YsRUFBSyxJQUFLZCxHQUFRLElBQUlFLElBQU9GLENBQUcsQ0FBQyxFQUM5QyxZQUFLLFFBQVEsS0FBSyxHQUFHZ0IsQ0FBSSxFQUN6QixLQUFLLFlBQWMsS0FBSyxRQUNyQixPQUFPZixHQUFVLE9BQU8sRUFDeEIsT0FBUUUsR0FBUyxDQUFDQSxFQUFLLFFBQVEsRUFDM0IsS0FBSyxPQUNkLENBQ0YsRUd2SUEsSUFBQWMsSUFBd0IsWUFDeEJDLElBQXFCLFlBQ3JCQyxJQUFxQixZQUNyQkMsSUFBc0IsWUFDdEJDLElBQXdCLFlBQ3hCQyxJQUFnQixZQ0xoQixJQUFBQyxJQUF3QixZQVFYQyxJQUFPLFNBQVVDLEVBQUlDLEVBQUcsQ0FDbkNELEVBQUcsT0FBTyxNQUFNLElBQUFFLFFBQVksZUFBZUQsQ0FBQyxDQUFDLENBQy9DLEVBUWFFLElBQVEsU0FBVUgsRUFBSUMsRUFBRyxDQUNwQ0QsRUFBRyxPQUFPLE1BQU0sSUFBQUUsUUFBWSxjQUFjRCxDQUFDLENBQUMsQ0FDOUMsRUFRYUcsSUFBSyxTQUFVSixFQUFJQyxFQUFHLENBQ2pDRCxFQUFHLE9BQU8sTUFBTSxJQUFBRSxRQUFZLFNBQVNELENBQUMsQ0FBQyxDQUN6QyxFQVFhSSxJQUFPLFNBQVVMLEVBQUlDLEVBQUcsQ0FDbkNELEVBQUcsT0FBTyxNQUFNLElBQUFFLFFBQVksV0FBV0QsQ0FBQyxDQUFDLENBQzNDLEVBT2FLLElBQVksU0FBVU4sRUFBSU8sRUFBSyxDQUMxQ1AsRUFBRyxPQUFPLE1BQU0sSUFBQUUsUUFBWSxXQUFXSyxDQUFHLENBQUMsQ0FDN0MsRUR6Q0EsU0FBU0MsSUFBT0MsRUFBUyxDQUN2QixPQUFPQSxFQUFRLE1BQU07QUFBQSxDQUFJLEVBQUUsTUFDN0IsQ0FHQSxTQUFTQyxJQUFTRCxFQUFTLENBQ3pCLE9BQU9BLEVBQVEsTUFBTTtBQUFBLENBQUksRUFBRSxJQUFJLENBQ2pDLENBRUEsSUFBcUJFLElBQXJCLEtBQW1DLENBQ2pDLFlBQVlDLEVBQUksQ0FFZCxLQUFLLE9BQVMsRUFDZCxLQUFLLHNCQUF3QixFQUU3QixLQUFLLEdBQUtBLENBQ1osQ0FFQSxrQkFBa0JILEVBQVNJLEVBQWUsQ0FDcEMsS0FBSyxXQUNQLGNBQWMsS0FBSyxTQUFTLEVBRzlCLElBQUlDLEVBQ0FDLEVBQ0FDLEVBRUFILEdBQ0ZDLEtBQVUsSUFBQUcsU0FBSUosQ0FBYSxFQUMzQkUsRUFBYyxJQUFNTixFQUNwQk8sRUFBb0IsSUFBTUYsRUFBUSxNQUFNLElBRXhDQSxLQUFVLElBQUFHLFNBQUlSLENBQU8sRUFDckJNLEVBQWMsSUFBTUQsRUFBUSxNQUFNLEVBQ2xDRSxFQUFvQixJQUFNLElBRzVCLEtBQUssVUFBWSxZQUNmLElBQU0sS0FBSyxPQUFPRCxFQUFZLEVBQUdDLEVBQWtCLEVBQUcsRUFBSSxFQUMxREYsRUFBUSxRQUNWLENBQ0YsQ0FFQSxPQUFPTCxFQUFTSSxFQUFlSyxFQUFXLEdBQU8sQ0FDM0MsS0FBSyxXQUFhLENBQUNBLEdBQ3JCLGNBQWMsS0FBSyxTQUFTLEVBRzlCLEtBQUssR0FBRyxPQUFPLE9BQU8sRUFDdEIsS0FBSyxNQUFNLEtBQUsscUJBQXFCLEVBTXJDLElBQU1DLEVBQWFULElBQVNELENBQU8sRUFDN0JXLEtBQWdCLElBQUFDLFNBQVVGLENBQVUsRUFLdENHLEVBQVNGLEVBQ1QsS0FBSyxHQUFHLEtBQUssT0FBUyxJQUN4QkUsRUFBU0EsRUFBTyxNQUFNLEVBQUcsQ0FBQyxLQUFLLEdBQUcsS0FBSyxNQUFNLEdBRy9DLEtBQUssR0FBRyxVQUFVQSxDQUFNLEVBR3hCLElBQU1DLEVBQVksS0FBSyxHQUFHLGNBQWMsRUFDbENDLEVBQVEsS0FBSyxtQkFBbUIsRUFFdENmLEVBQVUsS0FBSyxnQkFBZ0JBLEVBQVNlLENBQUssRUFDN0NYLElBQWtCLEtBQUssZ0JBQWdCQSxFQUFlVyxDQUFLLEVBS3ZESixFQUFjLE9BQVNJLElBQVUsSUFDbkNmLEdBQVc7QUFBQSxHQUdiLElBQU1nQixFQUFjaEIsR0FBV0ksRUFBZ0I7QUFBQSxFQUFPQSxFQUFnQixJQUN0RSxLQUFLLEdBQUcsT0FBTyxNQUFNWSxDQUFXLEVBU2hDLElBQU1DLEVBRG1CLEtBQUssTUFBTU4sRUFBYyxPQUFTSSxDQUFLLEVBQUlELEVBQVUsTUFFeERWLEVBQWdCTCxJQUFPSyxDQUFhLEVBQUksR0FDMURhLEVBQXNCLEdBQ25CQyxJQUFHLEtBQUssR0FBSUQsQ0FBbUIsRUFJakNFLElBQUssS0FBSyxNQUFJLElBQUFDLFNBQVluQixJQUFTZSxDQUFXLENBQUMsQ0FBQyxFQUdqREYsRUFBVSxLQUFPLEdBQ2RPLElBQU0sS0FBSyxHQUFJUCxFQUFVLElBQUksRUFNcEMsS0FBSyxzQkFBd0JHLEVBQzdCLEtBQUssT0FBU2xCLElBQU9pQixDQUFXLEVBRWhDLEtBQUssR0FBRyxPQUFPLEtBQUssQ0FDdEIsQ0FFQSxNQUFNTSxFQUFZLENBQ1pBLEVBQWEsR0FDVkMsSUFBSyxLQUFLLEdBQUlELENBQVUsRUFHMUJFLElBQVUsS0FBSyxHQUFJLEtBQUssTUFBTSxDQUNyQyxDQUVBLE1BQU8sQ0FDTCxLQUFLLEdBQUcsVUFBVSxFQUFFLEVBQ3BCLEtBQUssR0FBRyxPQUFPLE9BQU8sRUFDdEIsS0FBSyxHQUFHLE9BQU8sTUFBTTtBQUFBLEVBQUssSUFBQUMsUUFBWSxVQUFVLEVBQUUsQ0FDcEQsQ0FFQSxlQUFnQixDQUNWLEtBQUssc0JBQXdCLEdBQzFCRixJQUFLLEtBQUssR0FBSSxLQUFLLHFCQUFxQixDQUVqRCxDQUVBLG9CQUFxQixDQUtuQixTQUpjLElBQUFHLFNBQVMsQ0FDckIsYUFBYyxHQUNkLE9BQVEsS0FBSyxHQUFHLE1BQ2xCLENBQUMsQ0FFSCxDQUtBLFdBQVdDLEVBQU9aLEVBQVEsS0FBSyxtQkFBbUIsRUFBRyxDQU1uRCxPQUFPWSxFQUFNLElBQUtDLE1BQ2hCLElBQUFDLFNBQVNELEVBQU1iLEVBQU8sQ0FBRSxLQUFNLEdBQU8sS0FBTSxFQUFLLENBQUMsRUFBRSxNQUFNO0FBQUEsQ0FBSSxDQUMvRCxDQUNGLENBS0EsZ0JBQWdCZixFQUFTZSxFQUFRLEtBQUssbUJBQW1CLEVBQUcsQ0FDMUQsT0FBTyxLQUFLLFdBQVdmLEVBQVEsTUFBTTtBQUFBLENBQUksRUFBR2UsQ0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLO0FBQUEsQ0FBSSxDQUNyRSxDQUNGLEVKaktBLElBQXFCZSxHQUFyQixLQUE0QixDQUMxQixZQUFZQyxFQUFVQyxFQUFJQyxFQUFTLENBRWpDLE9BQU8sT0FBTyxLQUFNLENBQ2xCLFFBQUFBLEVBQ0EsT0FBUSxTQUNWLENBQUMsRUFHRCxLQUFLLElBQU0sQ0FDVCxTQUFVLElBQU0sR0FDaEIsZUFBZ0IsR0FDaEIsT0FBU0MsR0FBUUEsRUFDakIsY0FBZSxHQUNmLEtBQU0sSUFBTSxHQUNaLE9BQVEsR0FDUixPQUFRLEdBQUFDLFFBQU8sTUFBTSxHQUFHLEVBQ3hCLFlBQWNELEdBQVFBLEVBQ3RCLEdBQUdILENBQ0wsRUFHSyxLQUFLLElBQUksTUFDWixLQUFLLGdCQUFnQixNQUFNLEVBSTdCLEtBQUssSUFBSSxVQUFZLEtBQUssSUFBSSxLQUFPLElBR2pDLE1BQU0sUUFBUSxLQUFLLElBQUksT0FBTyxJQUNoQyxLQUFLLElBQUksUUFBVSxJQUFJSyxJQUFRLEtBQUssSUFBSSxRQUFTSCxDQUFPLEdBRzFELEtBQUssR0FBS0QsRUFDVixLQUFLLE9BQVMsSUFBSUssSUFBYyxLQUFLLEVBQUUsQ0FDekMsQ0FPQSxLQUFNLENBQ0osT0FBTyxJQUFJLFFBQVEsQ0FBQ0MsRUFBU0MsSUFBVyxDQUN0QyxLQUFLLEtBQ0ZDLEdBQVVGLEVBQVFFLENBQUssRUFDdkJDLEdBQVVGLEVBQU9FLENBQUssQ0FDekIsQ0FDRixDQUFDLENBQ0gsQ0FHQSxLQUFLQyxFQUFJLENBQ1BBLEVBQUcsQ0FDTCxDQVFBLGdCQUFnQkMsRUFBTSxDQUNwQixNQUFNLElBQUksTUFBTSx1QkFBeUJBLEVBQU8sYUFBYSxDQUMvRCxDQUtBLE9BQVEsQ0FDTixLQUFLLE9BQU8sY0FBYyxDQUM1QixDQU9BLG1CQUFtQkMsRUFBUSxDQUN6QixJQUFNQyxLQUFXLElBQUFDLFNBQVMsS0FBSyxJQUFJLFFBQVEsRUFDckNDLEtBQWMsSUFBQUQsU0FBUyxLQUFLLElBQUksTUFBTSxFQUN0Q0UsRUFBYUosRUFBTyxRQUN4QixhQUFVSixJQUNSLEtBQUssYUFBYUEsRUFBTyxLQUFLLElBQUksYUFBYSxFQUN4Q08sRUFBWVAsRUFBTyxLQUFLLE9BQU8sRUFBRSxLQUNyQ1MsSUFDQyxLQUFLLGFBQWFBLEVBQWUsS0FBSyxJQUFJLGNBQWMsRUFDakRKLEVBQVNJLEVBQWUsS0FBSyxPQUFPLEVBQUUsS0FDMUNDLElBQWEsQ0FBRSxRQUFBQSxFQUFTLE1BQU9ELENBQWMsR0FDN0NFLElBQVksQ0FBRSxRQUFTQSxFQUFRLE1BQU9GLENBQWMsRUFDdkQsR0FFREUsSUFBWSxDQUFFLFFBQVNBLENBQU8sRUFDakMsRUFDRCxLQUNELFVBQU0sQ0FDUixFQUVNQyxFQUFVSixFQUFXLFFBQ3pCLFdBQVFLLEdBQVVBLEVBQU0sVUFBWSxFQUFJLEtBQ3hDLFNBQUssQ0FBQyxDQUNSLEVBQ01aLEVBQVFPLEVBQVcsUUFDdkIsV0FBUUssR0FBVUEsRUFBTSxVQUFZLEVBQUksS0FDeEMsY0FBVUQsQ0FBTyxDQUNuQixFQUVBLE1BQU8sQ0FDTCxRQUFBQSxFQUNBLE1BQUFYLENBQ0YsQ0FDRixDQUVBLGFBQWFELEVBQU9jLEVBQWUsQ0FDakNkLEVBQVEsS0FBSyxpQkFBaUJBLENBQUssRUFFbkMsSUFBTWUsRUFBVUQsRUFDWixLQUFLLFlBQVksRUFBSWQsRUFDckIsS0FBSyxZQUFZLEVBQUUsTUFBTSxLQUFLLElBQUksT0FBTyxPQUFTLENBQUMsRUFBSUEsRUFFM0QsS0FBSyxPQUFPLGtCQUFrQmUsRUFBU0QsQ0FBYSxDQUN0RCxDQVFBLGlCQUFpQmQsRUFBTyxDQUN0QixPQUFPQSxDQUNULENBTUEsYUFBYyxDQUNaLElBQUlnQixHQUNELEtBQUssSUFBSSxPQUFTLEtBQUssSUFBSSxPQUFTLElBQU0sSUFDM0MsR0FBQXJCLFFBQU8sS0FBSyxLQUFLLElBQUksT0FBTyxFQUM1QixLQUFLLElBQUksT0FDVCxHQUFBQSxRQUFPLE1BQU0sR0FBRyxFQUdsQixPQUNFLEtBQUssSUFBSSxTQUFXLE1BQ3BCLEtBQUssU0FBVyxXQUNoQixLQUFLLFNBQVcsYUFHaEJxQixHQUNFLEtBQUssSUFBSSxPQUFTLFdBQ2QsR0FBQXJCLFFBQU8sT0FBTyxHQUFBQSxRQUFPLElBQUksV0FBVyxDQUFDLEVBQ3JDLEdBQUFBLFFBQU8sSUFBSSxJQUFNLEtBQUssSUFBSSxRQUFVLElBQUksR0FHekNxQixDQUNULENBQ0YsRUw1SkEsSUFBcUJDLElBQXJCLGNBQXdDQyxFQUFLLENBQzNDLFlBQVlDLEVBQVdDLEVBQUlDLEVBQVMsQ0FDbEMsTUFBTUYsRUFBV0MsRUFBSUMsQ0FBTyxFQUV2QixLQUFLLElBQUksU0FDWixLQUFLLGdCQUFnQixTQUFTLEVBR2hDLEtBQUssWUFBYyxHQUNuQixLQUFLLFNBQVcsRUFFaEIsSUFBTUMsRUFBTSxLQUFLLElBQUksUUFHckIsR0FBSSxPQUFPQSxHQUFRLFVBQVlBLEdBQU8sR0FBS0EsRUFBTSxLQUFLLElBQUksUUFBUSxXQUNoRSxLQUFLLFNBQVdBLFVBQ1AsT0FBT0EsR0FBUSxVQUFZQSxHQUFPLEtBQU0sQ0FDakQsSUFBTUMsRUFBUSxLQUFLLElBQUksUUFBUSxZQUFZLFVBQVUsQ0FBQyxDQUFFLE1BQUFDLENBQU0sSUFBTUEsSUFBVUYsQ0FBRyxFQUNqRixLQUFLLFNBQVcsS0FBSyxJQUFJQyxFQUFPLENBQUMsQ0FDbkMsQ0FHQSxLQUFLLElBQUksUUFBVSxLQUVuQixJQUFNRSxFQUFhLEtBQUssSUFBSSxPQUFTLE9BQVksR0FBTyxLQUFLLElBQUksS0FDakUsS0FBSyxVQUFZLElBQUlDLEdBQVUsS0FBSyxPQUFRLENBQUUsV0FBWUQsQ0FBVyxDQUFDLENBQ3hFLENBUUEsS0FBS0UsRUFBSSxDQUNQLEtBQUssS0FBT0EsRUFFWixJQUFNQyxFQUFTQyxHQUFRLEtBQUssRUFBRSxFQUM5QixPQUFBRCxFQUFPLGdCQUFnQixRQUFLLGNBQVVBLEVBQU8sSUFBSSxDQUFDLEVBQUUsUUFBUSxLQUFLLFFBQVEsS0FBSyxJQUFJLENBQUMsRUFDbkZBLEVBQU8sa0JBQ0osUUFBSyxjQUFVQSxFQUFPLElBQUksQ0FBQyxFQUMzQixRQUFRLEtBQUssVUFBVSxLQUFLLElBQUksQ0FBQyxFQUNwQ0EsRUFBTyxVQUFVLFFBQUssY0FBVUEsRUFBTyxJQUFJLENBQUMsRUFBRSxRQUFRLEtBQUssWUFBWSxLQUFLLElBQUksQ0FBQyxFQUNqRkEsRUFBTyxLQUNKLFFBQ0MsU0FBSyxDQUFDLEtBQ04sUUFBSSxLQUFLLGdCQUFnQixLQUFLLElBQUksQ0FBQyxLQUNuQyxZQUFTSixNQUNQLElBQUFNLFNBQVMsS0FBSyxJQUFJLE1BQU0sRUFBRU4sRUFBTyxLQUFLLE9BQU8sRUFBRSxNQUFPTyxHQUFVQSxDQUFLLENBQ3ZFLENBQ0YsRUFDQyxRQUFRLEtBQUssU0FBUyxLQUFLLElBQUksQ0FBQyxFQUduQyxLQUFLLE9BQU8sRUFFTCxJQUNULENBT0EsUUFBUyxDQUVQLElBQUlDLEVBQVUsS0FBSyxZQUFZLEVBTy9CLEdBTEksS0FBSyxjQUNQQSxHQUFXLElBQUFDLFFBQU8sSUFBSSxrQkFBa0IsR0FJdEMsS0FBSyxTQUFXLFdBQ2xCRCxHQUFXLElBQUFDLFFBQU8sS0FBSyxLQUFLLElBQUksUUFBUSxVQUFVLEtBQUssUUFBUSxFQUFFLEtBQUssTUFDakUsQ0FDTCxJQUFNQyxFQUFhQyxJQUFXLEtBQUssSUFBSSxRQUFTLEtBQUssUUFBUSxFQUN2REMsRUFBZ0IsS0FBSyxJQUFJLFFBQVEsUUFDckMsS0FBSyxJQUFJLFFBQVEsVUFBVSxLQUFLLFFBQVEsQ0FDMUMsRUFDTUMsRUFDSixLQUFLLElBQUksUUFBUSxPQUFPLENBQUNDLEVBQUtkLEVBQU9lLElBQU0sQ0FFekMsR0FBSUEsRUFBSUgsRUFDTixPQUFPRSxFQUdULEdBQUlkLEVBQU0sT0FBUyxZQUNqQixPQUFPYyxFQUFNLEVBR2YsSUFBSUUsRUFBSWhCLEVBQU0sS0FFZCxPQUFJLE9BQU9nQixHQUFNLFNBQ1JGLEVBQU0sR0FJZkUsRUFBSUEsRUFBRSxNQUFNO0FBQUEsQ0FBSSxFQUNURixFQUFNRSxFQUFFLE9BQ2pCLEVBQUcsQ0FBQyxFQUFJLEVBQ1ZSLEdBQ0U7QUFBQSxFQUFPLEtBQUssVUFBVSxTQUFTRSxFQUFZRyxFQUFtQixLQUFLLElBQUksUUFBUSxDQUNuRixDQUVBTCxHQUFXLElBQUFTLFFBQVksV0FDdkIsS0FBSyxZQUFjLEdBRW5CLEtBQUssT0FBTyxPQUFPVCxDQUFPLENBQzVCLENBTUEsU0FBU1IsRUFBTyxDQUNkLEtBQUssT0FBUyxXQUdkLEtBQUssT0FBTyxFQUVaLEtBQUssT0FBTyxLQUFLLEVBQ2pCLEtBQUssS0FBS0EsQ0FBSyxDQUNqQixDQUVBLGlCQUFrQixDQUNoQixPQUFPLEtBQUssSUFBSSxRQUFRLFVBQVUsS0FBSyxRQUFRLEVBQUUsS0FDbkQsQ0FLQSxTQUFVLENBQ1IsS0FBSyxTQUFXa0IsR0FBbUIsS0FBSyxTQUFVLEtBQU0sS0FBSyxHQUFHLEVBQ2hFLEtBQUssT0FBTyxDQUNkLENBRUEsV0FBWSxDQUNWLEtBQUssU0FBV0EsR0FBbUIsS0FBSyxTQUFVLE9BQVEsS0FBSyxHQUFHLEVBQ2xFLEtBQUssT0FBTyxDQUNkLENBRUEsWUFBWUMsRUFBTyxDQUNiQSxHQUFTLEtBQUssSUFBSSxRQUFRLGFBQzVCLEtBQUssU0FBV0EsRUFBUSxHQUcxQixLQUFLLE9BQU8sQ0FDZCxDQUNGLEVBT0EsU0FBU1IsSUFBV1MsRUFBU0MsRUFBUyxDQUNwQyxJQUFJQyxFQUFTLEdBQ1RDLEVBQWtCLEVBRXRCLE9BQUFILEVBQVEsUUFBUSxDQUFDSSxFQUFRVCxJQUFNLENBQzdCLEdBQUlTLEVBQU8sT0FBUyxZQUFhLENBQy9CRCxJQUNBRCxHQUFVLEtBQU9FLEVBQVM7QUFBQSxFQUMxQixNQUNGLENBRUEsR0FBSUEsRUFBTyxTQUFVLENBQ25CRCxJQUNBRCxHQUFVLE9BQVNFLEVBQU8sS0FDMUJGLEdBQVUsS0FDUixPQUFPRSxFQUFPLFVBQWEsU0FBV0EsRUFBTyxTQUFXLFVBQzFELElBQ0FGLEdBQVU7QUFBQSxFQUNWLE1BQ0YsQ0FFQSxJQUFNRyxFQUFhVixFQUFJUSxJQUFvQkYsRUFDdkNLLEdBQVFELEVBQWFFLEdBQVEsUUFBVSxJQUFNLE1BQVFILEVBQU8sS0FDNURDLElBQ0ZDLEVBQU8sSUFBQWpCLFFBQU8sS0FBS2lCLENBQUksR0FHekJKLEdBQVVJLEVBQU87QUFBQSxDQUNuQixDQUFDLEVBRU1KLEVBQU8sV0FBVyxPQUFRLEVBQUUsQ0FDckMsQ1dyTUEsSUFBQU0sSUFBbUIsV0FDbkJDLElBQStCLFdBSS9CLElBQXFCQyxHQUFyQixjQUF5Q0MsRUFBSyxDQU81QyxLQUFLQyxFQUFJLENBQ1AsS0FBSyxLQUFPQSxFQUdaLElBQU1DLEVBQVNDLEdBQVEsS0FBSyxFQUFFLEVBQ3hCQyxFQUFTRixFQUFPLEtBQUssUUFBSyxTQUFJLEtBQUssWUFBWSxLQUFLLElBQUksQ0FBQyxDQUFDLEVBRTFERyxFQUFhLEtBQUssbUJBQW1CRCxDQUFNLEVBQ2pELE9BQUFDLEVBQVcsUUFBUSxRQUFRLEtBQUssTUFBTSxLQUFLLElBQUksQ0FBQyxFQUNoREEsRUFBVyxNQUFNLFFBQVEsS0FBSyxRQUFRLEtBQUssSUFBSSxDQUFDLEVBRWhESCxFQUFPLFNBQ0osUUFBSyxlQUFVRyxFQUFXLE9BQU8sQ0FBQyxFQUNsQyxRQUFRLEtBQUssV0FBVyxLQUFLLElBQUksQ0FBQyxFQUdyQyxLQUFLLE9BQU8sRUFFTCxJQUNULENBT0EsT0FBT0MsRUFBTyxDQUNaLElBQUlDLEVBQWdCLEdBQ2hCQyxFQUFnQixHQUNoQkMsRUFBVSxLQUFLLFlBQVksRUFDekIsQ0FBRSxZQUFBQyxDQUFZLEVBQUksS0FBSyxJQUN2QkMsRUFBVSxLQUFLLFNBQVcsV0FFaENILEVBQWdCRyxFQUFVLEtBQUssT0FBUyxLQUFLLEdBQUcsS0FFNUNELEVBQ0ZELEdBQVdDLEVBQVlGLEVBQWUsS0FBSyxRQUFTLENBQUUsUUFBQUcsQ0FBUSxDQUFDLEVBRS9ERixHQUFXRSxFQUFVLElBQUFDLFFBQU8sS0FBS0osQ0FBYSxFQUFJQSxFQUdoREYsSUFDRkMsRUFBZ0IsSUFBQUssUUFBTyxJQUFJLEtBQUssRUFBSU4sR0FHdEMsS0FBSyxPQUFPLE9BQU9HLEVBQVNGLENBQWEsQ0FDM0MsQ0FNQSxZQUFZTSxFQUFPLENBQ2pCLE9BQUtBLElBQ0ksS0FBSyxJQUFJLFNBQVcsS0FBTyxHQUFLLEtBQUssSUFBSSxRQUlwRCxDQUVBLE1BQU1DLEVBQU8sQ0FDWCxLQUFLLE9BQVNBLEVBQU0sTUFDcEIsS0FBSyxPQUFTLFdBR2QsS0FBSyxPQUFPLEVBRVosS0FBSyxPQUFPLEtBQUssRUFDakIsS0FBSyxLQUFLQSxFQUFNLEtBQUssQ0FDdkIsQ0FFQSxRQUFRLENBQUUsTUFBQUMsRUFBUSxHQUFJLFFBQUFDLENBQVEsRUFBRyxDQUMvQixLQUFLLEdBQUcsTUFBUUQsRUFDaEIsS0FBSyxHQUFHLFFBQVVBLEVBQU0sT0FDeEIsS0FBSyxPQUFPQyxDQUFPLENBQ3JCLENBTUEsWUFBYSxDQUNYLEtBQUssT0FBUyxVQUVkLEtBQUssT0FBTyxDQUNkLENBQ0YsRUM1RkEsSUFBcUJDLElBQXJCLGNBQTBDQyxFQUFNLENBQzlDLFlBQVlDLEVBQU8sQ0FDakIsR0FBSUEsR0FBUyxPQUFPQSxHQUFVLFNBQVUsQ0FDdENBLEVBQVFBLEVBQU0sS0FBSyxFQUVuQixJQUFNQyxFQUFjRCxFQUFNLE1BQU0sd0NBQXdDLEVBRXhFLEdBQUlDLEVBQ0YsT0FBTyxPQUFPQSxFQUFZLENBQUMsQ0FBQyxDQUVoQyxDQUdBLE9BQU8sS0FBSyxJQUFJLFNBQVcsS0FBTyxPQUFPLElBQU0sS0FBSyxJQUFJLE9BQzFELENBQ0YsRUNyQkEsSUFBQUMsSUFBbUIsV0FDbkJDLElBQWdDLFdBSWhDLElBQXFCQyxJQUFyQixjQUEyQ0MsRUFBSyxDQUM5QyxZQUFZQyxFQUFXQyxFQUFJQyxFQUFTLENBQ2xDLE1BQU1GLEVBQVdDLEVBQUlDLENBQU8sRUFFNUIsSUFBSUMsRUFBYSxHQUVqQixPQUFPLE9BQU8sS0FBSyxJQUFLLENBQ3RCLE9BQU9DLEVBQU8sQ0FDWixHQUFJQSxHQUFTLE1BQVFBLElBQVUsR0FBSSxDQUNqQyxHQUFJLFdBQVcsS0FBS0EsQ0FBSyxFQUFHLE1BQU8sR0FDbkMsR0FBSSxVQUFVLEtBQUtBLENBQUssRUFBRyxNQUFPLEVBQ3BDLENBQ0EsT0FBT0QsQ0FDVCxDQUNGLENBQUMsRUFFRyxLQUFLLElBQUksU0FBVyxPQUN0QkEsRUFBYSxFQUFRLEtBQUssSUFBSSxTQUdoQyxLQUFLLElBQUksUUFBVUEsRUFBYSxNQUFRLEtBQzFDLENBUUEsS0FBS0UsRUFBSSxDQUNQLEtBQUssS0FBT0EsRUFHWixJQUFNQyxFQUFTQyxHQUFRLEtBQUssRUFBRSxFQUM5QixPQUFBRCxFQUFPLFNBQVMsUUFBSyxlQUFVQSxFQUFPLElBQUksQ0FBQyxFQUFFLFFBQVEsS0FBSyxXQUFXLEtBQUssSUFBSSxDQUFDLEVBRS9FQSxFQUFPLEtBQUssUUFBSyxVQUFLLENBQUMsQ0FBQyxFQUFFLFFBQVEsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDLEVBR3ZELEtBQUssT0FBTyxFQUVMLElBQ1QsQ0FPQSxPQUFPRSxFQUFRLENBQ2IsSUFBSUMsRUFBVSxLQUFLLFlBQVksRUFFL0IsT0FBSSxPQUFPRCxHQUFXLFVBQ3BCQyxHQUFXLElBQUFDLFFBQU8sS0FBS0YsRUFBUyxNQUFRLElBQUksRUFDbkNBLEVBQ1RDLEdBQVdELEVBRVhDLEdBQVcsS0FBSyxHQUFHLEtBR3JCLEtBQUssT0FBTyxPQUFPQSxDQUFPLEVBRW5CLElBQ1QsQ0FNQSxNQUFNTCxFQUFPLENBQ1gsS0FBSyxPQUFTLFdBRWQsSUFBSU8sRUFBUyxLQUFLLElBQUksT0FBT1AsQ0FBSyxFQUM5QixLQUFLLElBQUksY0FDWE8sRUFBUyxLQUFLLElBQUksWUFBWUEsQ0FBTSxHQUV0QyxLQUFLLE9BQU9BLENBQU0sRUFFbEIsS0FBSyxPQUFPLEtBQUssRUFDakIsS0FBSyxLQUFLQSxDQUFNLENBQ2xCLENBTUEsWUFBYSxDQUNYLEtBQUssT0FBTyxDQUNkLENBQ0YsRUM5RkEsSUFBQUMsSUFBbUIsV0FDbkJDLElBQStCLFdBTy9CLElBQXFCQyxJQUFyQixjQUEyQ0MsRUFBSyxDQUM5QyxZQUFZQyxFQUFXQyxFQUFJQyxFQUFTLENBQ2xDLE1BQU1GLEVBQVdDLEVBQUlDLENBQU8sRUFFNUIsS0FBSyxXQUFhLEdBQ2xCLEtBQUssUUFBVSxHQUVWLEtBQUssSUFBSSxTQUNaLEtBQUssZ0JBQWdCLFNBQVMsRUFHaEMsS0FBSyxJQUFJLGFBQWUsS0FBSyxJQUFJLFFBQVEsT0FBT0MsR0FBVSxPQUFPLEVBRWpFLEtBQUssU0FBVyxFQUNoQixLQUFLLFdBQWEsRUFFbEIsT0FBTyxPQUFPLEtBQUssSUFBSyxDQUN0QixTQUFTQyxFQUFLLENBQ1osT0FBT0EsR0FBTyxJQUNoQixDQUNGLENBQUMsRUFFRCxJQUFNQyxFQUFNLEtBQUssSUFBSSxRQUNyQixHQUFJLE9BQU9BLEdBQVEsVUFBWUEsR0FBTyxHQUFLQSxFQUFNLEtBQUssSUFBSSxRQUFRLFdBQ2hFLEtBQUssU0FBV0EsRUFDaEIsS0FBSyxXQUFhQSxVQUNULE9BQU9BLEdBQVEsVUFBWUEsR0FBTyxLQUFNLENBQ2pELElBQU1DLEVBQVEsS0FBSyxJQUFJLFFBQVEsWUFBWSxVQUFVLENBQUMsQ0FBRSxNQUFBQyxDQUFNLElBQU1BLElBQVVGLENBQUcsRUFDM0VHLEVBQVksS0FBSyxJQUFJRixFQUFPLENBQUMsRUFDbkMsS0FBSyxTQUFXRSxFQUNoQixLQUFLLFdBQWFBLENBQ3BCLENBR0EsS0FBSyxJQUFJLFFBQVUsS0FFbkIsSUFBTUMsRUFBYSxLQUFLLElBQUksT0FBUyxPQUFZLEdBQU8sS0FBSyxJQUFJLEtBQ2pFLEtBQUssVUFBWSxJQUFJQyxHQUFVLE9BQVcsQ0FBRSxXQUFZRCxDQUFXLENBQUMsQ0FDdEUsQ0FRQSxLQUFLRSxFQUFJLENBQ1AsS0FBSyxLQUFPQSxFQUdaLElBQU1DLEVBQVNDLEdBQVEsS0FBSyxFQUFFLEVBQ3hCQyxFQUFTRixFQUFPLEtBQUssUUFBSyxTQUFJLEtBQUssZ0JBQWdCLEtBQUssSUFBSSxDQUFDLENBQUMsRUFFOURHLEVBQWEsS0FBSyxtQkFBbUJELENBQU0sRUFDakQsT0FBQUMsRUFBVyxRQUFRLFFBQVEsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDLEVBQ2hEQSxFQUFXLE1BQU0sUUFBUSxLQUFLLFFBQVEsS0FBSyxJQUFJLENBQUMsRUFFaERILEVBQU8sZ0JBQ0osUUFBSyxlQUFVRyxFQUFXLE9BQU8sQ0FBQyxFQUNsQyxRQUFRLEtBQUssUUFBUSxLQUFLLElBQUksQ0FBQyxFQUNsQ0gsRUFBTyxrQkFDSixRQUFLLGVBQVVHLEVBQVcsT0FBTyxDQUFDLEVBQ2xDLFFBQVEsS0FBSyxVQUFVLEtBQUssSUFBSSxDQUFDLEVBQ3BDSCxFQUFPLFNBQ0osUUFBSyxlQUFVRyxFQUFXLE9BQU8sQ0FBQyxFQUNsQyxRQUFRLEtBQUssV0FBVyxLQUFLLElBQUksQ0FBQyxFQUVyQyxLQUFLLE9BQU8sRUFFTCxJQUNULENBT0EsT0FBT0MsRUFBTyxDQUVaLElBQUlDLEVBQVUsS0FBSyxZQUFZLEVBQzNCQyxFQUFnQixHQUVwQixHQUFJLEtBQUssU0FBVyxXQUNsQkQsR0FBVyxJQUFBRSxRQUFPLEtBQUssS0FBSyxJQUFJLFFBQVEsVUFBVSxLQUFLLFFBQVEsRUFBRSxLQUFLLE1BQ2pFLENBQ0wsSUFBTUMsRUFBYUMsSUFBYyxLQUFLLElBQUksUUFBUyxLQUFLLFFBQVEsRUFDaEVKLEdBQ0U7QUFBQSxFQUFPLEtBQUssVUFBVSxTQUFTRyxFQUFZLEtBQUssU0FBVSxLQUFLLElBQUksUUFBUSxFQUM3RUgsR0FBVztBQUFBLFdBQ2IsQ0FDQUEsR0FBVyxLQUFLLEdBQUcsS0FFZkQsSUFDRkUsRUFBZ0I7QUFBQSxFQUFPLElBQUFDLFFBQU8sSUFBSSxLQUFLLEVBQUlILEdBRzdDLEtBQUssT0FBTyxPQUFPQyxFQUFTQyxDQUFhLENBQzNDLENBTUEsZ0JBQWdCWixFQUFPLENBQ2pCQSxHQUFTLEtBQ1hBLEVBQVEsS0FBSyxXQUNKQSxJQUFVLElBQ25CLEtBQUssU0FBVyxLQUFLLFdBQWEsT0FBWSxHQUFLLEtBQUssU0FDeERBLEVBQVEsS0FBSyxVQUViQSxHQUFTLEVBR1gsSUFBTWdCLEVBQVMsS0FBSyxJQUFJLFFBQVEsVUFBVWhCLENBQUssRUFDL0MsT0FBT2dCLEVBQVNBLEVBQU8sTUFBUSxJQUNqQyxDQUVBLE1BQU1DLEVBQU8sQ0FDWCxLQUFLLE9BQVMsV0FDZCxLQUFLLE9BQVNBLEVBQU0sTUFHcEIsS0FBSyxPQUFPLEVBRVosS0FBSyxPQUFPLEtBQUssRUFDakIsS0FBSyxLQUFLQSxFQUFNLEtBQUssQ0FDdkIsQ0FFQSxTQUFVLENBQ1IsS0FBSyxPQUFPLDRCQUE0QixDQUMxQyxDQU1BLFlBQWEsQ0FDWCxJQUFJakIsRUFFQSxLQUFLLFVBQVksUUFDbkJBLEVBQVEsS0FBSyxXQUFXLE9BQVMsRUFBSSxPQUFPLEtBQUssVUFBVSxFQUFJLEVBQUksRUFFbkVBLEVBQVEsS0FBSyxHQUFHLEtBQUssT0FBUyxFQUFJLE9BQU8sS0FBSyxHQUFHLElBQUksRUFBSSxFQUFJLEVBRS9ELEtBQUssUUFBVSxHQUVmLEtBQUssU0FBVyxLQUFLLElBQUksUUFBUSxVQUFVQSxDQUFLLEVBQUlBLEVBQVEsT0FDNUQsS0FBSyxPQUFPLENBQ2QsQ0FNQSxTQUFVLENBQ1IsS0FBSyxXQUFXLElBQUksQ0FDdEIsQ0FNQSxXQUFZLENBQ1YsS0FBSyxXQUFXLE1BQU0sQ0FDeEIsQ0FPQSxXQUFXa0IsRUFBTSxDQUNmLEtBQUssU0FBV0MsR0FBbUIsS0FBSyxTQUFVRCxFQUFNLEtBQUssR0FBRyxHQUFLLEVBQ3JFLEtBQUssV0FBYSxPQUFPLEtBQUssU0FBVyxDQUFDLEVBQzFDLEtBQUssR0FBRyxLQUFPLEdBQ2YsS0FBSyxRQUFVLE9BQ2pCLENBQ0YsRUFRQSxTQUFTSCxJQUFjSyxFQUFTQyxFQUFTLENBQ3ZDLElBQUlDLEVBQVMsR0FDVEMsRUFBa0IsRUFFdEIsT0FBQUgsRUFBUSxRQUFRLENBQUNKLEVBQVFRLElBQU0sQ0FHN0IsR0FGQUYsR0FBVUEsRUFBUztBQUFBLElBQVMsS0FFeEJOLEVBQU8sT0FBUyxZQUFhLENBQy9CTyxJQUNBRCxHQUFVLElBQU1OLEVBQ2hCLE1BQ0YsQ0FFQSxJQUFNaEIsRUFBUXdCLEVBQUlELEVBQ2RFLEVBQVV6QixFQUFRLEVBQUksS0FBT2dCLEVBQU8sS0FDcENoQixJQUFVcUIsSUFDWkksRUFBVSxJQUFBWixRQUFPLEtBQUtZLENBQU8sR0FHL0JILEdBQVVHLENBQ1osQ0FBQyxFQUVNSCxDQUNULENDeE5BLElBQUFJLElBQW1CLFdBQ25CQyxJQUErQixXQU0vQixJQUFxQkMsSUFBckIsY0FBMENDLEVBQUssQ0FDN0MsWUFBWUMsRUFBV0MsRUFBSUMsRUFBUyxDQUNsQyxNQUFNRixFQUFXQyxFQUFJQyxDQUFPLEVBRXZCLEtBQUssSUFBSSxTQUNaLEtBQUssZ0JBQWdCLFNBQVMsRUFHaEMsS0FBSyxnQkFBZ0IsS0FBSyxJQUFJLE9BQU8sRUFHckMsS0FBSyxJQUFJLFFBQVEsS0FBSyxDQUNwQixJQUFLLElBQ0wsS0FBTSx5QkFDTixNQUFPLE1BQ1QsQ0FBQyxFQUVELEtBQUssSUFBSSxTQUFZQyxHQUNmQSxHQUFVLEtBQ0wsK0JBR0ZBLElBQVcsT0FJcEIsS0FBSyxJQUFJLFFBQVUsS0FBSyxzQkFBc0IsS0FBSyxJQUFJLFFBQVMsS0FBSyxJQUFJLE9BQU8sRUFFaEYsS0FBSyxVQUFZLElBQUlDLEdBQVUsS0FBSyxNQUFNLENBQzVDLENBUUEsS0FBS0MsRUFBSSxDQUNQLEtBQUssS0FBT0EsRUFHWixJQUFNQyxFQUFTQyxHQUFRLEtBQUssRUFBRSxFQUN4QkMsRUFBYSxLQUFLLG1CQUN0QkYsRUFBTyxLQUFLLFFBQUssU0FBSSxLQUFLLGdCQUFnQixLQUFLLElBQUksQ0FBQyxDQUFDLENBQ3ZELEVBQ0EsT0FBQUUsRUFBVyxRQUFRLFFBQVEsS0FBSyxTQUFTLEtBQUssSUFBSSxDQUFDLEVBQ25EQSxFQUFXLE1BQU0sUUFBUSxLQUFLLFFBQVEsS0FBSyxJQUFJLENBQUMsRUFDaEQsS0FBSyxZQUFjRixFQUFPLFNBQ3ZCLFFBQUssZUFBVUUsRUFBVyxPQUFPLENBQUMsRUFDbEMsUUFBUSxLQUFLLFdBQVcsS0FBSyxJQUFJLENBQUMsRUFHckMsS0FBSyxPQUFPLEVBRUwsSUFDVCxDQU9BLE9BQU9DLEVBQU9DLEVBQU0sQ0FDbEIsSUFBSUMsRUFBVSxLQUFLLFlBQVksRUFDM0JDLEVBQWdCLEdBRXBCLEdBQUksS0FBSyxTQUFXLFdBQ2xCRCxHQUFXLElBQUFFLFFBQU8sS0FBSyxLQUFLLE1BQU0sVUFDekIsS0FBSyxTQUFXLFdBQVksQ0FDckMsSUFBTUMsRUFBYUMsSUFBYyxLQUFLLElBQUksUUFBUyxLQUFLLFdBQVcsRUFDbkVKLEdBQVcsS0FBSyxVQUFVLFNBQVNHLEVBQVksS0FBSyxZQUFhLEtBQUssSUFBSSxRQUFRLEVBQ2xGSCxHQUFXO0FBQUEsV0FDYixDQUVBQSxHQUFXLEtBQUssR0FBRyxLQUVmRixJQUNGRyxFQUFnQixJQUFBQyxRQUFPLElBQUksS0FBSyxFQUFJSixHQUdsQ0MsSUFDRkUsRUFBZ0IsSUFBQUMsUUFBTyxLQUFLLEtBQUssRUFBSUgsR0FHdkMsS0FBSyxPQUFPLE9BQU9DLEVBQVNDLENBQWEsQ0FDM0MsQ0FFQSxnQkFBZ0JJLEVBQU8sQ0FDckJBLElBQVUsS0FBSyxXQUVmLElBQU1DLEVBQVcsS0FBSyxJQUFJLFFBQVEsTUFBTSxDQUFFLElBQUtELEVBQU0sWUFBWSxFQUFFLEtBQUssQ0FBRSxDQUFDLEVBQUUsQ0FBQyxFQUM5RSxPQUFLQyxFQUlFQSxFQUFTLE1BSFAsSUFJWCxDQU9BLFlBQWEsQ0FDWCxJQUFJQyxFQUFTLEdBRWIsWUFBSyxJQUFJLFFBQVEsUUFBU2YsR0FBVyxDQUduQyxHQUZBZSxHQUFVO0FBQUEsSUFFTmYsRUFBTyxPQUFTLFlBQWEsQ0FDL0JlLEdBQVUsSUFBTWYsRUFDaEIsTUFDRixDQUVBLElBQUlnQixFQUFZaEIsRUFBTyxJQUFNLEtBQU9BLEVBQU8sS0FDdkMsS0FBSyxjQUFnQkEsRUFBTyxNQUM5QmdCLEVBQVksSUFBQU4sUUFBTyxLQUFLTSxDQUFTLEdBR25DRCxHQUFVQyxDQUNaLENBQUMsRUFFTUQsQ0FDVCxDQUVBLFFBQVFFLEVBQU8sQ0FDYixHQUFJQSxFQUFNLFFBQVUsT0FBUSxDQUMxQixLQUFLLFlBQWMsR0FDbkIsS0FBSyxPQUFTLFdBQ2QsS0FBSyxPQUFPLEVBQ1osTUFDRixDQUVBLEtBQUssT0FBT0EsRUFBTSxPQUFPLENBQzNCLENBTUEsU0FBU0EsRUFBTyxDQUNkLEtBQUssT0FBUyxXQUNkLElBQU1qQixFQUFTLEtBQUssSUFBSSxRQUFRLE1BQU0sQ0FBRSxNQUFPaUIsRUFBTSxLQUFNLENBQUMsRUFBRSxDQUFDLEVBQy9ELEtBQUssT0FBU2pCLEVBQU8sT0FBU0EsRUFBTyxLQUdyQyxLQUFLLE9BQU8sRUFDWixLQUFLLE9BQU8sS0FBSyxFQUNqQixLQUFLLEtBQUtpQixFQUFNLEtBQUssQ0FDdkIsQ0FNQSxZQUFhLENBQ1gsS0FBSyxZQUFjLEtBQUssR0FBRyxLQUFLLFlBQVksRUFDNUMsSUFBTUgsRUFBVyxLQUFLLElBQUksUUFBUSxNQUFNLENBQUUsSUFBSyxLQUFLLFdBQVksQ0FBQyxFQUFFLENBQUMsRUFDaEUsS0FBSyxTQUFXLFdBQ2xCLEtBQUssT0FBTyxFQUVaLEtBQUssT0FBTyxLQUFNQSxFQUFXQSxFQUFTLEtBQU8sSUFBSSxDQUVyRCxDQU9BLGdCQUFnQkksRUFBUyxDQUN2QixJQUFJQyxFQUNFQyxFQUFTLENBQUMsRUFDVkMsRUFBUyxDQUFDLEVBZWhCLEdBZEFILEVBQVEsT0FBT0ksR0FBVSxPQUFPLEVBQUUsUUFBU3RCLEdBQVcsRUFDaEQsQ0FBQ0EsRUFBTyxLQUFPQSxFQUFPLElBQUksU0FBVyxLQUN2Q21CLEVBQWMsSUFHaEJuQixFQUFPLElBQU0sT0FBT0EsRUFBTyxHQUFHLEVBQUUsWUFBWSxFQUV4Q3FCLEVBQU9yQixFQUFPLEdBQUcsR0FDbkJvQixFQUFPLEtBQUtwQixFQUFPLEdBQUcsRUFHeEJxQixFQUFPckIsRUFBTyxHQUFHLEVBQUksRUFDdkIsQ0FBQyxFQUVHbUIsRUFDRixNQUFNLElBQUksTUFDUixvRUFDRixFQUdGLEdBQUlFLEVBQU8sRUFDVCxNQUFNLElBQUksTUFDUix5RUFDRixFQUdGLEdBQUlELEVBQU8sT0FBUyxFQUNsQixNQUFNLElBQUksTUFDUixnRUFDRSxDQUFDLEdBQUcsSUFBSSxJQUFJQSxDQUFNLENBQUMsRUFBRSxLQUFLLEdBQUcsQ0FDakMsQ0FFSixDQVFBLHNCQUFzQkYsRUFBU0ssRUFBZSxDQUM1QyxJQUFJQyxFQUFXTixFQUFRLFdBQWEsRUFDcEMsR0FBSSxPQUFPSyxHQUFrQixVQUFZLEtBQUssSUFBSSxRQUFRLFVBQVVBLENBQWEsRUFDL0VDLEVBQVdELFVBQ0YsT0FBT0EsR0FBa0IsU0FBVSxDQUM1QyxJQUFNRSxFQUFRUCxFQUFRLFlBQVksVUFBVSxDQUFDLENBQUUsTUFBQVEsQ0FBTSxJQUFNQSxJQUFVSCxDQUFhLEVBQ2xGQyxFQUFXQyxJQUFVLEdBQUtELEVBQVdDLENBQ3ZDLENBRUEsSUFBTUUsRUFBUyxLQUFLLElBQUksUUFBUSxNQUFNLEtBQUssRUFDM0MsWUFBSyxXQUFhQSxFQUFPSCxDQUFRLEVBQ2pDRyxFQUFPSCxDQUFRLEVBQUksT0FBT0csRUFBT0gsQ0FBUSxDQUFDLEVBQUUsWUFBWSxFQUNqREcsRUFBTyxLQUFLLEVBQUUsQ0FDdkIsQ0FDRixFQVFBLFNBQVNmLElBQWNNLEVBQVNVLEVBQVMsQ0FDdkMsSUFBSWIsRUFBUyxHQUViLE9BQUFHLEVBQVEsUUFBU2xCLEdBQVcsQ0FHMUIsR0FGQWUsR0FBVTtBQUFBLElBRU5mLEVBQU8sT0FBUyxZQUFhLENBQy9CZSxHQUFVLElBQU1mLEVBQ2hCLE1BQ0YsQ0FFQSxJQUFJZ0IsRUFBWWhCLEVBQU8sSUFBTSxLQUFPQSxFQUFPLEtBQ3ZDNEIsSUFBWTVCLEVBQU8sTUFDckJnQixFQUFZLElBQUFOLFFBQU8sS0FBS00sQ0FBUyxHQUduQ0QsR0FBVUMsQ0FDWixDQUFDLEVBRU1ELENBQ1QsQ0N2UUEsSUFBQWMsSUFBd0IsWUFDeEJDLEdBQW1CLFdBRW5CLElBQUFDLEdBQStCLFdBTS9CLElBQXFCQyxJQUFyQixjQUE0Q0MsRUFBSyxDQUMvQyxZQUFZQyxFQUFXQyxFQUFJQyxFQUFTLENBT2xDLEdBTkEsTUFBTUYsRUFBV0MsRUFBSUMsQ0FBTyxFQUV2QixLQUFLLElBQUksU0FDWixLQUFLLGdCQUFnQixTQUFTLEVBRzVCLE1BQU0sUUFBUSxLQUFLLElBQUksT0FBTyxFQUNoQyxRQUFXQyxLQUFVLEtBQUssSUFBSSxRQUN4QixLQUFLLElBQUksUUFBUSxTQUFTQSxFQUFPLEtBQUssSUFDeENBLEVBQU8sUUFBVSxJQUt2QixLQUFLLFFBQVUsRUFHZixLQUFLLElBQUksUUFBVSxLQUVuQixJQUFNQyxFQUFhLEtBQUssSUFBSSxPQUFTLE9BQVksR0FBTyxLQUFLLElBQUksS0FDakUsS0FBSyxVQUFZLElBQUlDLEdBQVUsS0FBSyxPQUFRLENBQUUsV0FBWUQsQ0FBVyxDQUFDLENBQ3hFLENBUUEsS0FBS0UsRUFBSSxDQUNQLEtBQUssS0FBT0EsRUFFWixJQUFNQyxFQUFTQyxHQUFRLEtBQUssRUFBRSxFQUV4QkMsRUFBYSxLQUFLLG1CQUN0QkYsRUFBTyxLQUFLLFFBQUssUUFBSSxLQUFLLGdCQUFnQixLQUFLLElBQUksQ0FBQyxDQUFDLENBQ3ZELEVBQ0EsT0FBQUUsRUFBVyxRQUFRLFFBQVEsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDLEVBQ2hEQSxFQUFXLE1BQU0sUUFBUSxLQUFLLFFBQVEsS0FBSyxJQUFJLENBQUMsRUFFaERGLEVBQU8sZ0JBQ0osUUFBSyxjQUFVRSxFQUFXLE9BQU8sQ0FBQyxFQUNsQyxRQUFRLEtBQUssUUFBUSxLQUFLLElBQUksQ0FBQyxFQUNsQ0YsRUFBTyxrQkFDSixRQUFLLGNBQVVFLEVBQVcsT0FBTyxDQUFDLEVBQ2xDLFFBQVEsS0FBSyxVQUFVLEtBQUssSUFBSSxDQUFDLEVBQ3BDRixFQUFPLFVBQ0osUUFBSyxjQUFVRSxFQUFXLE9BQU8sQ0FBQyxFQUNsQyxRQUFRLEtBQUssWUFBWSxLQUFLLElBQUksQ0FBQyxFQUN0Q0YsRUFBTyxTQUNKLFFBQUssY0FBVUUsRUFBVyxPQUFPLENBQUMsRUFDbEMsUUFBUSxLQUFLLFdBQVcsS0FBSyxJQUFJLENBQUMsRUFDckNGLEVBQU8sS0FBSyxRQUFLLGNBQVVFLEVBQVcsT0FBTyxDQUFDLEVBQUUsUUFBUSxLQUFLLFNBQVMsS0FBSyxJQUFJLENBQUMsRUFDaEZGLEVBQU8sS0FBSyxRQUFLLGNBQVVFLEVBQVcsT0FBTyxDQUFDLEVBQUUsUUFBUSxLQUFLLGFBQWEsS0FBSyxJQUFJLENBQUMsRUFHcEYsS0FBSyxPQUFPLEVBQ1osS0FBSyxZQUFjLEdBRVosSUFDVCxDQU9BLE9BQU9DLEVBQU8sQ0FFWixJQUFJQyxFQUFVLEtBQUssWUFBWSxFQUMzQkMsRUFBZ0IsR0FnQnBCLEdBZEssS0FBSyxnQkFDUkQsR0FDRSxVQUNBLEdBQUFFLFFBQU8sS0FBSyxHQUFBQSxRQUFPLEtBQUssU0FBUyxDQUFDLEVBQ2xDLGVBQ0EsR0FBQUEsUUFBTyxLQUFLLEdBQUFBLFFBQU8sS0FBSyxLQUFLLENBQUMsRUFDOUIsbUJBQ0EsR0FBQUEsUUFBTyxLQUFLLEdBQUFBLFFBQU8sS0FBSyxLQUFLLENBQUMsRUFDOUIsNkJBQ0EsR0FBQUEsUUFBTyxLQUFLLEdBQUFBLFFBQU8sS0FBSyxTQUFTLENBQUMsRUFDbEMsZ0JBSUEsS0FBSyxTQUFXLFdBQ2xCRixHQUFXLEdBQUFFLFFBQU8sS0FBSyxLQUFLLFVBQVUsS0FBSyxJQUFJLENBQUMsTUFDM0MsQ0FDTCxJQUFNQyxFQUFhQyxJQUFjLEtBQUssSUFBSSxRQUFTLEtBQUssT0FBTyxFQUN6REMsRUFBZ0IsS0FBSyxJQUFJLFFBQVEsUUFDckMsS0FBSyxJQUFJLFFBQVEsVUFBVSxLQUFLLE9BQU8sQ0FDekMsRUFDTUMsRUFDSixLQUFLLElBQUksUUFBUSxPQUFPLENBQUNDLEVBQUtDLEVBQU9DLElBQU0sQ0FFekMsR0FBSUEsRUFBSUosRUFDTixPQUFPRSxFQUdULEdBQUlDLEVBQU0sT0FBUyxZQUNqQixPQUFPRCxFQUFNLEVBR2YsSUFBSUcsRUFBSUYsRUFBTSxLQUVkLE9BQUksT0FBT0UsR0FBTSxTQUNSSCxFQUFNLEdBSWZHLEVBQUlBLEVBQUUsTUFBTTtBQUFBLENBQUksRUFDVEgsRUFBTUcsRUFBRSxPQUNqQixFQUFHLENBQUMsRUFBSSxFQUNWVixHQUNFO0FBQUEsRUFBTyxLQUFLLFVBQVUsU0FBU0csRUFBWUcsRUFBbUIsS0FBSyxJQUFJLFFBQVEsQ0FDbkYsQ0FFSVAsSUFDRkUsRUFBZ0IsR0FBQUMsUUFBTyxJQUFJLEtBQUssRUFBSUgsR0FHdENDLEdBQVcsSUFBQVcsUUFBWSxXQUV2QixLQUFLLE9BQU8sT0FBT1gsRUFBU0MsQ0FBYSxDQUMzQyxDQU1BLE1BQU1XLEVBQU8sQ0FDWCxLQUFLLE9BQVMsV0FDZCxLQUFLLGNBQWdCLEdBRXJCLEtBQUssT0FBTyxFQUVaLEtBQUssT0FBTyxLQUFLLEVBQ2pCLEtBQUssS0FBS0EsRUFBTSxLQUFLLENBQ3ZCLENBRUEsUUFBUUEsRUFBTyxDQUNiLEtBQUssT0FBT0EsRUFBTSxPQUFPLENBQzNCLENBRUEsaUJBQWtCLENBQ2hCLElBQU1DLEVBQVUsS0FBSyxJQUFJLFFBQVEsT0FDOUJyQixHQUFXLEVBQVFBLEVBQU8sU0FBWSxDQUFDQSxFQUFPLFFBQ2pELEVBRUEsWUFBSyxVQUFZcUIsRUFBUSxJQUFLckIsR0FBV0EsRUFBTyxLQUFLLEVBQzlDcUIsRUFBUSxJQUFLckIsR0FBV0EsRUFBTyxLQUFLLENBQzdDLENBRUEsU0FBVSxDQUNSLEtBQUssUUFBVXNCLEdBQW1CLEtBQUssUUFBUyxLQUFNLEtBQUssR0FBRyxFQUM5RCxLQUFLLE9BQU8sQ0FDZCxDQUVBLFdBQVksQ0FDVixLQUFLLFFBQVVBLEdBQW1CLEtBQUssUUFBUyxPQUFRLEtBQUssR0FBRyxFQUNoRSxLQUFLLE9BQU8sQ0FDZCxDQUVBLFlBQVlDLEVBQU8sQ0FDYkEsR0FBUyxLQUFLLElBQUksUUFBUSxhQUM1QixLQUFLLFFBQVVBLEVBQVEsRUFDdkIsS0FBSyxhQUFhLEtBQUssT0FBTyxHQUdoQyxLQUFLLE9BQU8sQ0FDZCxDQUVBLFlBQWEsQ0FDWCxLQUFLLGFBQWEsS0FBSyxPQUFPLEVBQzlCLEtBQUssT0FBTyxDQUNkLENBRUEsVUFBVyxDQUNULElBQU1DLEVBQWtCLEtBQUssSUFBSSxRQUFRLEtBQ3RDeEIsR0FBV0EsRUFBTyxPQUFTLGFBQWUsQ0FBQ0EsRUFBTyxPQUNyRCxFQUVBLEtBQUssSUFBSSxRQUFRLFFBQVNBLEdBQVcsQ0FDL0JBLEVBQU8sT0FBUyxjQUNsQkEsRUFBTyxRQUFVd0IsRUFFckIsQ0FBQyxFQUVELEtBQUssT0FBTyxDQUNkLENBRUEsY0FBZSxDQUNiLEtBQUssSUFBSSxRQUFRLFFBQVN4QixHQUFXLENBQy9CQSxFQUFPLE9BQVMsY0FDbEJBLEVBQU8sUUFBVSxDQUFDQSxFQUFPLFFBRTdCLENBQUMsRUFFRCxLQUFLLE9BQU8sQ0FDZCxDQUVBLGFBQWF5QixFQUFPLENBQ2xCLElBQU1DLEVBQU8sS0FBSyxJQUFJLFFBQVEsVUFBVUQsQ0FBSyxFQUN6Q0MsSUFBUyxTQUNYLEtBQUssSUFBSSxRQUFRLFVBQVVELENBQUssRUFBRSxRQUFVLENBQUNDLEVBQUssUUFFdEQsQ0FDRixFQVFBLFNBQVNkLElBQWNTLEVBQVNNLEVBQVMsQ0FDdkMsSUFBSUMsRUFBUyxHQUNUQyxFQUFrQixFQUV0QixPQUFBUixFQUFRLFFBQVEsQ0FBQ3JCLEVBQVFpQixJQUFNLENBQzdCLEdBQUlqQixFQUFPLE9BQVMsWUFBYSxDQUMvQjZCLElBQ0FELEdBQVUsSUFBTTVCLEVBQVM7QUFBQSxFQUN6QixNQUNGLENBRUEsR0FBSUEsRUFBTyxTQUNUNkIsSUFDQUQsR0FBVSxNQUFRNUIsRUFBTyxLQUN6QjRCLEdBQVUsS0FDUixPQUFPNUIsRUFBTyxVQUFhLFNBQVdBLEVBQU8sU0FBVyxVQUMxRCxRQUNLLENBQ0wsSUFBTThCLEVBQU9DLElBQVkvQixFQUFPLE9BQU8sRUFBSSxJQUFNQSxFQUFPLEtBQ3hENEIsR0FDRVgsRUFBSVksSUFBb0JGLEVBQ3BCLEdBQUFqQixRQUFPLEtBQUtzQixHQUFRLFFBQVVGLENBQUksRUFDbEMsSUFBTUEsQ0FDZCxDQUVBRixHQUFVO0FBQUEsQ0FDWixDQUFDLEVBRU1BLEVBQU8sV0FBVyxPQUFRLEVBQUUsQ0FDckMsQ0FRQSxTQUFTRyxJQUFZRSxFQUFTLENBQzVCLE9BQU9BLEVBQVUsR0FBQXZCLFFBQU8sTUFBTXNCLEdBQVEsT0FBTyxFQUFJQSxHQUFRLFFBQzNELENDMVFBLElBQUFFLEdBQW1CLFdBQ25CQyxJQUErQixXQUkvQixTQUFTQyxJQUFLQyxFQUFPQyxFQUFVLENBRzdCLE9BRkFELEVBQVEsT0FBT0EsQ0FBSyxFQUNwQkMsRUFBVyxPQUFPQSxHQUFhLFNBQVdBLEVBQVcsSUFDakRELEVBQU0sU0FBVyxFQUNaLEdBR0YsTUFBTSxLQUFLLENBQUUsT0FBUUEsRUFBTSxPQUFTLENBQUUsQ0FBQyxFQUFFLEtBQUtDLENBQVEsQ0FDL0QsQ0FFQSxJQUFxQkMsSUFBckIsY0FBNENDLEVBQUssQ0FPL0MsS0FBS0MsRUFBSSxDQUNQLEtBQUssS0FBT0EsRUFFWixJQUFNQyxFQUFTQyxHQUFRLEtBQUssRUFBRSxFQUd4QkMsRUFBU0YsRUFBTyxLQUFLLFFBQUssU0FBSSxLQUFLLFlBQVksS0FBSyxJQUFJLENBQUMsQ0FBQyxFQUUxREcsRUFBYSxLQUFLLG1CQUFtQkQsQ0FBTSxFQUNqRCxPQUFBQyxFQUFXLFFBQVEsUUFBUSxLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUMsRUFDaERBLEVBQVcsTUFBTSxRQUFRLEtBQUssUUFBUSxLQUFLLElBQUksQ0FBQyxFQUVoREgsRUFBTyxTQUNKLFFBQUssZUFBVUcsRUFBVyxPQUFPLENBQUMsRUFDbEMsUUFBUSxLQUFLLFdBQVcsS0FBSyxJQUFJLENBQUMsRUFHckMsS0FBSyxPQUFPLEVBRUwsSUFDVCxDQU9BLE9BQU9DLEVBQU8sQ0FDWixJQUFJQyxFQUFVLEtBQUssWUFBWSxFQUMzQkMsRUFBZ0IsR0FFcEJELEdBQ0UsS0FBSyxTQUFXLFdBQ1osS0FBSyxlQUFlLEtBQUssTUFBTSxFQUMvQixLQUFLLGVBQWUsS0FBSyxHQUFHLE1BQVEsRUFBRSxFQUV4Q0QsSUFDRkUsRUFBZ0I7QUFBQSxFQUFPLEdBQUFDLFFBQU8sSUFBSSxLQUFLLEVBQUlILEdBRzdDLEtBQUssT0FBTyxPQUFPQyxFQUFTQyxDQUFhLENBQzNDLENBRUEsZUFBZUUsRUFBTyxDQUNwQixPQUFJLEtBQUssU0FBVyxXQUNYLEtBQUssSUFBSSxLQUNaLEdBQUFELFFBQU8sS0FBS2IsSUFBS2MsRUFBTyxLQUFLLElBQUksSUFBSSxDQUFDLEVBQ3RDLEdBQUFELFFBQU8sT0FBTyxHQUFBQSxRQUFPLElBQUksVUFBVSxDQUFDLEVBRW5DLEtBQUssSUFBSSxLQUNaYixJQUFLYyxFQUFPLEtBQUssSUFBSSxJQUFJLEVBQ3pCLEdBQUFELFFBQU8sT0FBTyxHQUFBQSxRQUFPLElBQUksb0JBQW9CLENBQUMsQ0FDcEQsQ0FLQSxpQkFBaUJDLEVBQU8sQ0FDdEIsT0FBTyxLQUFLLGVBQWVBLENBQUssQ0FDbEMsQ0FNQSxZQUFZYixFQUFPLENBQ2pCLE9BQUtBLElBQ0ksS0FBSyxJQUFJLFNBQVcsS0FBTyxHQUFLLEtBQUssSUFBSSxRQUlwRCxDQUVBLE1BQU1jLEVBQU8sQ0FDWCxLQUFLLE9BQVMsV0FDZCxLQUFLLE9BQVNBLEVBQU0sTUFHcEIsS0FBSyxPQUFPLEVBRVosS0FBSyxPQUFPLEtBQUssRUFDakIsS0FBSyxLQUFLQSxFQUFNLEtBQUssQ0FDdkIsQ0FFQSxRQUFRQSxFQUFPLENBQ2IsS0FBSyxPQUFPQSxFQUFNLE9BQU8sQ0FDM0IsQ0FFQSxZQUFhLENBRVgsS0FBSyxJQUFJLFVBQVksT0FFckIsS0FBSyxPQUFPLENBQ2QsQ0FDRixFQ3BIQSxJQUFBQyxJQUFtQixXQUNuQkMsSUFBMEIsWUFDMUJDLElBQXdCLFdBSXhCLElBQXFCQyxJQUFyQixjQUEwQ0MsRUFBSyxDQU83QyxLQUFLQyxFQUFJLENBQ1AsS0FBSyxLQUFPQSxFQUVaLEtBQUssYUFBZSxJQUFJLFlBR3hCLElBQU1DLEVBQVNDLEdBQVEsS0FBSyxFQUFFLEVBQzlCLEtBQUssaUJBQW1CRCxFQUFPLEtBQUssVUFBVSxLQUFLLG9CQUFvQixLQUFLLElBQUksQ0FBQyxFQUNqRixJQUFNRSxFQUNKLEtBQUssSUFBSSxnQkFBa0IsT0FBWSxHQUFPLEtBQUssSUFBSSxjQUduREMsRUFBYSxLQUFLLG1CQUFtQixLQUFLLFlBQVksRUFDNUQsT0FBQUEsRUFBVyxRQUFRLFFBQVEsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDLEVBQ2hEQSxFQUFXLE1BQU0sUUFBUSxLQUFLLFFBQVEsS0FBSyxJQUFJLENBQUMsRUFHaEQsS0FBSyxZQUFjLEtBQUssSUFBSSxRQUM1QixLQUFLLElBQUksUUFBVSxLQUdmRCxFQUNGLEtBQUssT0FBTyxFQUVaLEtBQUssb0JBQW9CLEVBR3BCLElBQ1QsQ0FPQSxPQUFPRSxFQUFPLENBQ1osSUFBSUMsRUFBZ0IsR0FDaEJDLEVBQVUsS0FBSyxZQUFZLEVBRS9CQSxHQUNFLEtBQUssU0FBVyxXQUNaLElBQUFDLFFBQU8sSUFBSSxVQUFVLEVBQ3JCLElBQUFBLFFBQU8sSUFBSSxnREFBZ0QsRUFFN0RILElBQ0ZDLEVBQWdCLElBQUFFLFFBQU8sSUFBSSxLQUFLLEVBQUlILEdBR3RDLEtBQUssT0FBTyxPQUFPRSxFQUFTRCxDQUFhLENBQzNDLENBTUEscUJBQXNCLENBRXBCLEtBQUssR0FBRyxNQUFNLEtBQ2QsZUFBVSxLQUFLLFlBQWEsS0FBSyxrQkFBa0IsS0FBSyxJQUFJLEVBQUcsQ0FDN0QsUUFBUyxLQUFLLElBQUksU0FBVyxNQUMvQixDQUFDLENBQ0gsQ0FFQSxrQkFBa0JELEVBQU9JLEVBQVEsQ0FDL0IsS0FBSyxHQUFHLE9BQU8sRUFDWEosRUFDRixLQUFLLGFBQWEsTUFBTUEsQ0FBSyxFQUU3QixLQUFLLGFBQWEsS0FBS0ksQ0FBTSxDQUVqQyxDQUVBLE1BQU1DLEVBQU8sQ0FDWCxLQUFLLGFBQWEsWUFBWSxFQUM5QixLQUFLLGlCQUFpQixZQUFZLEVBQ2xDLEtBQUssT0FBU0EsRUFBTSxNQUNwQixLQUFLLE9BQVMsV0FFZCxLQUFLLE9BQU8sRUFDWixLQUFLLE9BQU8sS0FBSyxFQUNqQixLQUFLLEtBQUssS0FBSyxNQUFNLENBQ3ZCLENBRUEsUUFBUUEsRUFBTyxDQUNiLEtBQUssT0FBT0EsRUFBTSxPQUFPLENBQzNCLENBQ0YsRUNuR0EsT0FBUyxZQUFBQyxRQUFnQixjQ0h6QixJQUFBQyxJQUF1QixZQUR2QixPQUFPQyxRQUFjLGdCQU9yQixJQUFxQkMsR0FBckIsS0FBd0IsQ0FDdEIsWUFBWUMsRUFBSyxDQUdmLEtBQUssS0FBT0YsSUFBUyxnQkFBZ0JHLElBQXFCRCxDQUFHLENBQUMsRUFFOUQsS0FBSyxHQUFHLE9BQU8sRUFFZixLQUFLLGFBQWUsS0FBSyxhQUFhLEtBQUssSUFBSSxFQUcvQyxRQUFRLEdBQUcsT0FBUSxLQUFLLFlBQVksRUFHcEMsS0FBSyxHQUFHLEdBQUcsU0FBVSxLQUFLLFlBQVksQ0FDeEMsQ0FPQSxjQUFlLENBQ2IsS0FBSyxNQUFNLEVBQ1gsUUFBUSxLQUFLLFFBQVEsSUFBSyxRQUFRLEVBQ2xDLFFBQVEsSUFBSSxFQUFFLENBQ2hCLENBTUEsT0FBUSxDQUVOLEtBQUssR0FBRyxlQUFlLFNBQVUsS0FBSyxZQUFZLEVBQ2xELFFBQVEsZUFBZSxPQUFRLEtBQUssWUFBWSxFQUVoRCxLQUFLLEdBQUcsT0FBTyxPQUFPLEVBRWxCLEtBQUssY0FBZ0IsT0FBTyxLQUFLLGFBQWEsT0FBVSxZQUMxRCxLQUFLLGFBQWEsTUFBTSxFQUkxQixLQUFLLEdBQUcsT0FBTyxJQUFJLEVBQ25CLEtBQUssR0FBRyxNQUFNLEVBQ2QsS0FBSyxHQUFHLE1BQU0sQ0FDaEIsQ0FDRixFQUVBLFNBQVNDLElBQXFCRCxFQUFNLENBQUMsRUFBRyxDQUd0Q0EsRUFBSSxjQUFnQkEsRUFBSSxnQkFBa0IsT0FBWSxHQUFPQSxFQUFJLGNBR2pFLElBQU1FLEVBQVFGLEVBQUksT0FBUyxRQUFRLE1BSW5DLEdBQUksQ0FBQ0EsRUFBSSxlQUFpQixDQUFDRSxFQUFNLE1BQU8sQ0FDdEMsSUFBTUMsRUFBYyxJQUFJLE1BQ3RCLGtFQUNGLEVBQ0EsTUFBQUEsRUFBWSxXQUFhLEdBQ25CQSxDQUNSLENBR0EsSUFBTUMsRUFBSyxJQUFJLElBQUFDLFFBQ2YsT0FBQUQsRUFBRyxLQUFLSixFQUFJLFFBQVUsUUFBUSxNQUFNLEVBRzdCLENBQ0wsU0FBVSxHQUNWLEdBQUdBLEVBQ0gsTUFBQUUsRUFDQSxPQU5hRSxDQU9mLENBQ0YsQ0Q5RUEsSUFBcUJFLElBQXJCLGNBQXVDQyxFQUFLLENBQzFDLFlBQVlDLEVBQU0sQ0FBQyxFQUFHLENBQ3BCLE1BQU1BLENBQUcsRUFFVCxLQUFLLElBQU0sSUFBSUMsSUFBUyxDQUN0QixNQUFPLENBQUNDLEVBQU9DLEVBQVVDLElBQU8sQ0FDOUIsS0FBSyxTQUFTRixDQUFLLEVBQ25CRSxFQUFHLENBQ0wsQ0FDRixDQUFDLEVBRUQsS0FBSyxVQUFZSixFQUFJLFdBQWEsR0FDbEMsS0FBSyxPQUFPLENBQ2QsQ0FPQSxRQUFTLENBQ1AsWUFBSyxNQUFNLEtBQUssU0FBUyxFQUNsQixJQUNULENBRUEsT0FBUSxDQUNOLE9BQVFLLElBQVUsS0FBSyxHQUFJLEtBQUssVUFBVSxNQUFNO0FBQUEsQ0FBSSxFQUFFLE1BQU0sRUFDckQsSUFDVCxDQVFBLGdCQUFnQkMsRUFBVyxDQUN6QixPQUFRRCxJQUFVLEtBQUssR0FBSSxDQUFDLEVBQzVCLEtBQUssR0FBRyxPQUFPLE9BQU8sRUFDdEIsS0FBSyxNQUFNLEVBQ1gsS0FBSyxVQUFZQyxFQUNqQixLQUFLLE9BQU8sRUFDWixLQUFLLEdBQUcsT0FBTyxLQUFLLEVBQ2IsSUFDVCxDQVFBLFNBQVNDLEVBQU0sQ0FDYixZQUFLLEdBQUcsT0FBTyxPQUFPLEVBQ3RCLEtBQUssTUFBTSxFQUNYLEtBQUssR0FBRyxPQUFPLE1BQU0sS0FBSyxVQUFVQSxFQUFLLFNBQVMsQ0FBQyxDQUFDLEVBQ3BELEtBQUssT0FBTyxFQUNaLEtBQUssR0FBRyxPQUFPLEtBQUssRUFDYixJQUNULENBUUEsVUFBVUMsRUFBSyxDQUNiLE1BQU8sVUFBVSxLQUFLQSxDQUFHLEVBQUlBLEVBQU1BLEVBQU07QUFBQSxDQUMzQyxDQU1BLE1BQU1DLEVBQVMsQ0FDYixJQUFNQyxFQUFXRCxFQUFRLE1BQU0sSUFBSSxFQUNuQyxLQUFLLE9BQVNDLEVBQVMsT0FHdkIsS0FBSyxHQUFHLFVBQVVBLEVBQVMsR0FBRyxFQUFFLENBQUMsRUFFN0IsS0FBSyxHQUFHLE9BQU8sT0FBUyxHQUFLLEtBQUssR0FBRyxPQUFPLFVBQVksR0FHbERDLElBQUssS0FBSyxHQUFJRixFQUFRLE9BQVMsS0FBSyxHQUFHLEtBQUssTUFBTSxFQUc1RCxLQUFLLEdBQUcsT0FBTyxNQUFNQSxDQUFPLENBQzlCLENBQ0YsRUVwRUEsSUFBQUcsR0FVTyxXQUNQQyxJQUFxQixZQ3pDckIsSUFBQUMsSUFBeUIsV0FDekJDLElBQXFCLFlBV1JDLElBQTZCLFNBQVVDLEVBQVVDLEVBQU1DLEVBQVMsQ0FDM0UsT0FBSSxPQUFPRixFQUFTQyxDQUFJLEdBQU0sY0FDckIsUUFBR0QsQ0FBUSxLQUdiLGFBQ0wsSUFBQUcsU0FBU0gsRUFBU0MsQ0FBSSxDQUFDLEVBQUVDLENBQU8sRUFBRSxLQUFNRSxJQUN0Q0osRUFBU0MsQ0FBSSxFQUFJRyxFQUNWSixFQUNSLENBQ0gsQ0FDRixFRHZCQSxJQUFNSyxJQUFJLENBQ1IsSUFBSyxDQUFDQyxFQUFLQyxFQUFPLEdBQUlDLElBQVUsQ0FDOUIsSUFBSUMsRUFBVUgsRUFDZEMsRUFBSyxNQUFNLEdBQUcsRUFBRSxRQUFRLENBQUNHLEVBQUtDLEVBQU9DLElBQVEsQ0FDdkNGLElBQVEsYUFBZUEsSUFBUSxnQkFFL0JDLElBQVVDLEVBQUksT0FBUyxFQUN6QkgsRUFBUUMsQ0FBRyxFQUFJRixHQUNOLEVBQUVFLEtBQU9ELElBQVksT0FBT0EsRUFBUUMsQ0FBRyxHQUFNLFlBQ3RERCxFQUFRQyxDQUFHLEVBQUksQ0FBQyxHQUdsQkQsRUFBVUEsRUFBUUMsQ0FBRyxFQUN2QixDQUFDLENBQ0gsRUFDQSxJQUFLLENBQUNKLEVBQUtDLEVBQU8sR0FBSU0sSUFBaUIsQ0FDckMsSUFBTUMsRUFBVUMsR0FDZCxPQUFPLFVBQVUsTUFDZCxLQUFLUixFQUFNUSxDQUFNLEVBQ2pCLE9BQU8sT0FBTyxFQUNkLE9BRUMsQ0FBQ0MsRUFBS04sSUFBU00sR0FBUSxLQUE0QkEsRUFBSU4sQ0FBRyxFQUFJTSxFQUM5RFYsQ0FDRixFQUNFVyxFQUFTSCxFQUFPLFVBQVUsR0FBS0EsRUFBTyxXQUFXLEVBQ3ZELE9BQU9HLElBQVcsUUFBYUEsSUFBV1gsRUFBTU8sRUFBZUksQ0FDakUsQ0FDRixFQW9CcUJDLElBQXJCLGNBQXNDQyxFQUFLLENBQ3pDLFlBQVlDLEVBQVNDLEVBQUssQ0FDeEIsTUFBTUEsQ0FBRyxFQUNULEtBQUssUUFBVUQsQ0FDakIsQ0FFQSxJQUFJRSxFQUFXQyxFQUFTLENBRXRCLEtBQUssUUFBVSxPQUFPQSxHQUFZLFNBQVcsQ0FBRSxHQUFHQSxDQUFRLEVBQUksQ0FBQyxFQUUvRCxJQUFJQyxFQUNKLE9BQUksTUFBTSxRQUFRRixDQUFTLEVBQ3pCRSxLQUFNLFNBQUtGLENBQVMsS0FDWCxpQkFBYUEsQ0FBUyxFQUMvQkUsRUFBTUYsRUFFTixPQUFPLE9BQU9BLENBQVMsRUFBRSxNQUN0QkcsR0FDQyxPQUFPQSxHQUFrQixVQUN6QixDQUFDLE1BQU0sUUFBUUEsQ0FBYSxHQUM1QkEsR0FBaUIsSUFDckIsRUFHQUQsS0FBTSxTQUNKLE9BQU8sUUFBUUYsQ0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDSSxFQUFNQyxDQUFRLEtBQU8sQ0FDbkQsS0FBQUQsRUFDQSxHQUFHQyxDQUNMLEVBQUUsQ0FDSixFQUdBSCxLQUFNLFNBQUssQ0FBQ0YsQ0FBUyxDQUFDLEVBR3hCLEtBQUssUUFBVUUsRUFBSSxRQUNqQixjQUFVLEtBQUssZ0JBQWdCLEtBQUssSUFBSSxDQUFDLEtBQ3pDLFlBQVEsQ0FDVixFQUVBLEtBQUssUUFBUSxRQUFRLEVBRWQsS0FBSyxRQUNULFFBQ0MsV0FBTyxDQUFDSSxFQUFZQyxLQUNsQnhCLElBQUUsSUFBSXVCLEVBQVlDLEVBQU8sS0FBTUEsRUFBTyxNQUFNLEVBQ3JDRCxHQUNOLEtBQUssT0FBTyxDQUNqQixFQUNDLFVBQVUsT0FBTyxFQUNqQixLQUFLLEtBQUssYUFBYSxLQUFLLElBQUksRUFBRyxLQUFLLFFBQVEsS0FBSyxJQUFJLENBQUMsQ0FDL0QsQ0FLQSxjQUFlLENBQ2IsWUFBSyxNQUFNLEVBRUosS0FBSyxPQUNkLENBRUEsUUFBUUUsRUFBTyxDQUNiLFlBQUssTUFBTSxFQUNKLFFBQVEsT0FBT0EsQ0FBSyxDQUM3QixDQUVBLGdCQUFnQkgsRUFBVSxDQUN4QixPQUFBQSxFQUFXLENBQUUsR0FBR0EsQ0FBUyxLQUNsQixVQUFNLE9BQ0MsT0FBR0EsQ0FBUSxFQUVaLFFBQ1QsY0FBVSxLQUFLLGVBQWUsS0FBSyxJQUFJLENBQUMsS0FDeEMsY0FBVSxLQUFLLGlCQUFpQixLQUFLLElBQUksQ0FBQyxLQUMxQyxjQUFVLElBQ0ZJLElBQTJCSixFQUFVLFVBQVcsS0FBSyxPQUFPLENBQ3BFLEtBQ0EsY0FBVSxJQUNGSSxJQUEyQkosRUFBVSxVQUFXLEtBQUssT0FBTyxDQUNwRSxLQUNBLGNBQVUsSUFDRkksSUFBMkJKLEVBQVUsVUFBVyxLQUFLLE9BQU8sQ0FDcEUsS0FDQSxjQUFVLEtBQUssWUFBWSxLQUFLLElBQUksQ0FBQyxDQUN2QyxDQUNELENBQ0gsQ0FFQSxZQUFZQSxFQUFVLENBQ3BCLElBQU1LLEVBQVMsS0FBSyxRQUFRTCxFQUFTLElBQUksRUFDekMsWUFBSyxhQUFlLElBQUlLLEVBQU9MLEVBQVUsS0FBSyxHQUFJLEtBQUssT0FBTyxLQUN2RCxVQUFNLE9BQ1gsU0FBSyxLQUFLLGFBQWEsSUFBSSxFQUFFLEtBQU1FLElBQVksQ0FBRSxLQUFNRixFQUFTLEtBQU0sT0FBQUUsQ0FBTyxFQUFFLENBQUMsQ0FDbEYsQ0FDRixDQUVBLGVBQWVGLEVBQVUsQ0FFdkIsT0FBSyxLQUFLLFFBQVFBLEVBQVMsSUFBSSxJQUM3QkEsRUFBUyxLQUFPLFlBR1gsVUFBTSxPQUFNLE9BQUdBLENBQVEsQ0FBQyxDQUNqQyxDQUVBLGlCQUFpQkEsRUFBVSxDQUN6QixHQUNFQSxFQUFTLGNBQWdCLElBQ3pCdEIsSUFBRSxJQUFJLEtBQUssUUFBU3NCLEVBQVMsSUFBSSxJQUFNLE9BRXZDLE9BQU8sU0FHVCxHQUFJQSxFQUFTLE9BQVMsR0FDcEIsT0FBTyxTQUdULEdBQUksT0FBT0EsRUFBUyxNQUFTLFdBQzNCLFNBQU8sT0FBR0EsQ0FBUSxFQUdwQixHQUFNLENBQUUsUUFBQUosQ0FBUSxFQUFJLEtBQ3BCLFNBQU8sVUFBTSxPQUNYLFlBQ0UsSUFBQVUsU0FBU04sRUFBUyxJQUFJLEVBQUVKLENBQU8sRUFBRSxLQUFNVyxHQUFjLENBQ25ELEdBQUlBLEVBQ0YsT0FBT1AsQ0FFWCxDQUFDLENBQ0gsRUFBRSxRQUFLLFdBQVFRLEdBQVFBLEdBQU8sSUFBSSxDQUFDLENBQ3JDLENBQ0YsQ0FDRixFRTlKTyxTQUFTQyxJQUFtQkMsRUFBSyxDQUN0QyxJQUFNQyxFQUFlLFNBQVVDLEVBQVdDLEVBQVMsQ0FDakQsSUFBSUMsRUFDSixHQUFJLENBQ0ZBLEVBQWEsSUFBSUMsSUFBT0osRUFBYSxRQUFTRCxDQUFHLENBQ25ELE9BQVNNLEVBQU8sQ0FDZCxPQUFPLFFBQVEsT0FBT0EsQ0FBSyxDQUM3QixDQUNBLElBQU1DLEVBQVVILEVBQVcsSUFBSUYsRUFBV0MsQ0FBTyxFQUlqRCxPQUFBSSxFQUFRLEdBQUtILEVBRU5HLENBQ1QsRUFFQSxPQUFBTixFQUFhLFFBQVUsQ0FBQyxFQVN4QkEsRUFBYSxlQUFpQixTQUFVTyxFQUFNQyxFQUFRLENBQ3BELE9BQUFSLEVBQWEsUUFBUU8sQ0FBSSxFQUFJQyxFQUN0QixJQUNULEVBTUFSLEVBQWEsc0JBQXdCLFVBQVksQ0FDL0MsS0FBSyxlQUFlLE9BQVFTLEdBQUksRUFDaEMsS0FBSyxlQUFlLFFBQVNDLEVBQUssRUFDbEMsS0FBSyxlQUFlLFNBQVVDLEdBQU0sRUFDcEMsS0FBSyxlQUFlLFVBQVdDLEdBQU8sRUFDdEMsS0FBSyxlQUFlLFVBQVdDLEdBQU8sRUFDdEMsS0FBSyxlQUFlLFNBQVVDLEdBQU0sRUFDcEMsS0FBSyxlQUFlLFdBQVlDLEdBQVEsRUFDeEMsS0FBSyxlQUFlLFdBQVlDLEdBQVEsRUFDeEMsS0FBSyxlQUFlLFNBQVVDLEdBQU0sQ0FDdEMsRUFFQWpCLEVBQWEsc0JBQXNCLEVBRTVCQSxDQUNULENBU0EsSUFBTVEsSUFBU1YsSUFBbUIsRUFHbEMsU0FBU29CLElBQWVYLEVBQU1ZLEVBQVcsQ0FDdkNYLElBQU8sZUFBZUQsRUFBTVksQ0FBUyxDQUN2QyxDQUVBLFNBQVNDLEtBQXdCLENBQy9CWixJQUFPLHNCQUFzQixDQUMvQixDQUVBLElBQU1hLElBQVcsQ0FDZixPQUFBYixJQUNBLEdBQUksQ0FDRixVQUFBYyxJQUNBLE9BQUFsQixHQUNGLEVBQ0EsbUJBQUFOLElBQ0EsZUFBQW9CLElBQ0Esc0JBQUFFLElBQ0EsVUFBQUcsRUFDRixFQUVPQyxJQUFRSCxJeE4xQ3doVixJQUFBSSxJQUF5QixZQUFnQkMsSUFBYyxZQS9EOWxWLElBQUlDLElBQUcsT0FBTyxlQUFtQkMsS0FBSUMsR0FBRyxPQUFPQyxHQUFRLElBQUlBLEdBQVEsT0FBTyxNQUFNLElBQUksSUFBSSxNQUFNRCxFQUFFLENBQUMsSUFBSSxDQUFDRSxFQUFFLEtBQUssT0FBT0QsR0FBUSxJQUFJQSxHQUFRQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUVGLEdBQUcsU0FBU0EsRUFBRSxDQUFDLEdBQUcsT0FBT0MsR0FBUSxJQUFJLE9BQU9BLEdBQVEsTUFBTSxLQUFLLFNBQVMsRUFBRSxNQUFNLElBQUksTUFBTSx1QkFBdUJELEVBQUUsb0JBQW9CLENBQUMsQ0FBQyxFQUFNRyxJQUFHLENBQUNILEVBQUVFLElBQUksQ0FBQyxRQUFRLEtBQUtBLEVBQUVKLElBQUdFLEVBQUUsRUFBRSxDQUFDLElBQUlFLEVBQUUsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUMsRUFBTUUsSUFBRyxDQUFDLEVBQUVELElBQUdDLElBQUcsQ0FBQyxtQkFBbUIsSUFBSUMsSUFBRyxXQUFXLElBQUlDLEdBQUUsZ0JBQWdCLElBQUlDLElBQUcsWUFBWSxJQUFJQyxJQUFHLHNCQUFzQixJQUFJQyxHQUFFLG9CQUFvQixJQUFJQyxJQUFHLGNBQWMsSUFBSUMsR0FBRSxtQkFBbUIsSUFBSUMsSUFBRyxlQUFlLElBQUlDLEdBQUUsY0FBYyxJQUFJQyxJQUFHLGlCQUFpQixJQUFJQyxJQUFHLG9CQUFvQixJQUFJQyxJQUFHLHVCQUF1QixJQUFJQyxJQUFHLHFCQUFxQixJQUFJQyxJQUFHLFdBQVcsSUFBSUMsSUFBRyxlQUFlLElBQUlDLElBQUcsb0JBQW9CLElBQUlDLElBQUcsaUJBQWlCLElBQUlDLElBQUcsZ0JBQWdCLElBQUlDLEdBQUUsb0JBQW9CLElBQUlDLElBQUcsa0JBQWtCLElBQUlDLEdBQUMsQ0FBQyxFQUF5SSxJQUFJQyxJQUFHLEtBQUssQ0FBQyxTQUFTLFlBQVksRUFBRSxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFQyxFQUFFLENBQUMsS0FBSyxTQUFTLENBQUMsRUFBRUEsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQU1DLElBQUcsY0FBY0YsR0FBRSxDQUFDLElBQUksV0FBVyxDQUFDLE9BQU9HLEdBQUdsQixHQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsTUFBTSxTQUFTLENBQUMsT0FBTyxFQUFFLE1BQU1nQixDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxLQUFLLFVBQVUsU0FBUyxDQUFDLENBQUMsT0FBT0csRUFBRSxDQUFDLEdBQUdILEVBQUUsTUFBTSxLQUFLLFVBQVUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU8sT0FBTUcsQ0FBQyxDQUFDLENBQUMsRUFBaUNDLElBQUcsT0FBTyxRQUFRLFVBQVUsUUFBUSxPQUFPLFNBQVMsUUFBUSxPQUFPQyxJQUFHRCxJQUFPRSxJQUFHLE9BQU8sTUFBTSxVQUFVLE1BQU0sS0FBSyxTQUFTLFFBQVEsS0FBS0MsSUFBR0YsS0FBSUMsS0FBSSxTQUFTLGFBQWEsRUFBRSxFQUFFRSxHQUFFRCxJQUFPRSxJQUFHRCxHQUFFLE9BQU9FLEdBQUVELElBQU9FLElBQUcsT0FBTyxVQUFVQyxJQUFHRCxJQUFHLGVBQWVFLElBQUdGLElBQUcsU0FBU0csSUFBR0osR0FBRUEsR0FBRSxZQUFZLE9BQU8sU0FBU0ssSUFBRzFDLEVBQUUsQ0FBQyxJQUFJRSxFQUFFcUMsSUFBRyxLQUFLdkMsRUFBRXlDLEdBQUUsRUFBRSxFQUFFekMsRUFBRXlDLEdBQUUsRUFBRSxHQUFHLENBQUN6QyxFQUFFeUMsR0FBRSxFQUFFLE9BQU8sSUFBSVgsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLElBQUlhLEVBQUVILElBQUcsS0FBS3hDLENBQUMsRUFBRSxPQUFPOEIsSUFBSTVCLEVBQUVGLEVBQUV5QyxHQUFFLEVBQUUsRUFBRSxPQUFPekMsRUFBRXlDLEdBQUUsR0FBR0UsQ0FBQyxDQUFDLElBQUlDLElBQUdGLElBQU9HLElBQUcsT0FBTyxVQUFVQyxJQUFHRCxJQUFHLFNBQVMsU0FBU0UsSUFBRy9DLEVBQUUsQ0FBQyxPQUFPOEMsSUFBRyxLQUFLOUMsQ0FBQyxDQUFDLENBQUMsSUFBSWdELElBQUdELElBQU9FLElBQUcsZ0JBQWdCQyxJQUFHLHFCQUFxQkMsSUFBR2QsR0FBRUEsR0FBRSxZQUFZLE9BQU8sU0FBU2UsSUFBR3BELEVBQUUsQ0FBQyxPQUFPQSxHQUFHLEtBQUtBLElBQUksT0FBT2tELElBQUdELElBQUdFLEtBQUlBLE9BQU0sT0FBT25ELENBQUMsRUFBRTRDLElBQUc1QyxDQUFDLEVBQUVnRCxJQUFHaEQsQ0FBQyxDQUFDLENBQUMsSUFBSXFELElBQUVELElBQUcsU0FBU0UsSUFBR3RELEVBQUUsQ0FBQyxPQUFPQSxHQUFHLE1BQU0sT0FBT0EsR0FBRyxRQUFRLENBQUMsSUFBSXVELElBQUVELElBQU9FLElBQUcsa0JBQWtCLFNBQVNDLElBQUd6RCxFQUFFLENBQUMsT0FBTyxPQUFPQSxHQUFHLFVBQVV1RCxJQUFFdkQsQ0FBQyxHQUFHcUQsSUFBRXJELENBQUMsR0FBR3dELEdBQUUsQ0FBQyxJQUFJRSxJQUFHRCxJQUFHLFNBQVNFLElBQUczRCxFQUFFRSxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUc0QixFQUFFOUIsR0FBRyxLQUFLLEVBQUVBLEVBQUUsT0FBTzJDLEVBQUUsTUFBTWIsQ0FBQyxFQUFFLEVBQUUsRUFBRUEsR0FBR2EsRUFBRSxDQUFDLEVBQUV6QyxFQUFFRixFQUFFLENBQUMsRUFBRSxFQUFFQSxDQUFDLEVBQUUsT0FBTzJDLENBQUMsQ0FBQyxJQUFJaUIsSUFBR0QsSUFBT0UsSUFBRyxNQUFNLFFBQVFDLEdBQUVELElBQU9FLElBQUcsSUFBSUMsSUFBRzNCLEdBQUVBLEdBQUUsVUFBVSxPQUFPNEIsSUFBR0QsSUFBR0EsSUFBRyxTQUFTLE9BQU8sU0FBU0UsSUFBR2xFLEVBQUUsQ0FBQyxHQUFHLE9BQU9BLEdBQUcsU0FBUyxPQUFPQSxFQUFFLEdBQUc4RCxHQUFFOUQsQ0FBQyxFQUFFLE9BQU80RCxJQUFHNUQsRUFBRWtFLEdBQUUsRUFBRSxHQUFHLEdBQUdSLElBQUcxRCxDQUFDLEVBQUUsT0FBT2lFLElBQUdBLElBQUcsS0FBS2pFLENBQUMsRUFBRSxHQUFHLElBQUlFLEVBQUVGLEVBQUUsR0FBRyxPQUFPRSxHQUFHLEtBQUssRUFBRUYsR0FBRyxDQUFDK0QsSUFBRyxLQUFLN0QsQ0FBQyxDQUFDLElBQUlpRSxJQUFHRCxJQUFHLFNBQVNFLElBQUdwRSxFQUFFLENBQUMsSUFBSUUsRUFBRSxPQUFPRixFQUFFLE9BQU9BLEdBQUcsT0FBT0UsR0FBRyxVQUFVQSxHQUFHLFdBQVcsQ0FBQyxJQUFJbUUsSUFBRUQsSUFBRyxTQUFTRSxJQUFHdEUsRUFBRSxDQUFDLE9BQU9BLENBQUMsQ0FBQyxJQUFJdUUsSUFBR0QsSUFBT0UsSUFBRyx5QkFBeUJDLElBQUcsb0JBQW9CQyxJQUFHLDZCQUE2QkMsSUFBRyxpQkFBaUIsU0FBU0MsSUFBRzVFLEVBQUUsQ0FBQyxHQUFHLENBQUNxRSxJQUFFckUsQ0FBQyxFQUFFLE1BQU0sR0FBRyxJQUFJRSxFQUFFbUQsSUFBRXJELENBQUMsRUFBRSxPQUFPRSxHQUFHdUUsS0FBSXZFLEdBQUd3RSxLQUFJeEUsR0FBR3NFLEtBQUl0RSxHQUFHeUUsR0FBRSxDQUFDLElBQUlFLElBQUdELElBQU9FLElBQUczQyxHQUFFLG9CQUFvQixFQUFFNEMsSUFBR0QsSUFBT0UsSUFBRyxVQUFVLENBQUMsSUFBSWhGLEVBQUUsU0FBUyxLQUFLK0UsS0FBSUEsSUFBRyxNQUFNQSxJQUFHLEtBQUssVUFBVSxFQUFFLEVBQUUsT0FBTy9FLEVBQUUsaUJBQWlCQSxFQUFFLEVBQUUsRUFBRSxFQUFFLFNBQVNpRixJQUFHakYsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDZ0YsS0FBSUEsT0FBTWhGLENBQUMsQ0FBQyxJQUFJa0YsSUFBR0QsSUFBT0UsSUFBRyxTQUFTLFVBQVVDLElBQUdELElBQUcsU0FBUyxTQUFTRSxJQUFHckYsRUFBRSxDQUFDLEdBQUdBLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPb0YsSUFBRyxLQUFLcEYsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPQSxFQUFFLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJc0YsR0FBR0QsSUFBT0UsSUFBRyxzQkFBc0JDLElBQUcsOEJBQThCQyxJQUFHLFNBQVMsVUFBVUMsSUFBRyxPQUFPLFVBQVVDLElBQUdGLElBQUcsU0FBU0csSUFBR0YsSUFBRyxlQUFlRyxJQUFHLE9BQU8sSUFBSUYsSUFBRyxLQUFLQyxHQUFFLEVBQUUsUUFBUUwsSUFBRyxNQUFNLEVBQUUsUUFBUSx5REFBeUQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTTyxJQUFHOUYsRUFBRSxDQUFDLEdBQUcsQ0FBQ3FFLElBQUVyRSxDQUFDLEdBQUdrRixJQUFHbEYsQ0FBQyxFQUFFLE1BQU0sR0FBRyxJQUFJRSxFQUFFMkUsSUFBRzdFLENBQUMsRUFBRTZGLElBQUdMLElBQUcsT0FBT3RGLEVBQUUsS0FBS29GLEdBQUd0RixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUkrRixJQUFHRCxJQUFHLFNBQVNFLElBQUdoRyxFQUFFRSxFQUFFLENBQUMsT0FBT0YsSUFBSUUsQ0FBQyxDQUFDLENBQUMsSUFBSStGLElBQUdELElBQUcsU0FBU0UsSUFBR2xHLEVBQUVFLEVBQUUsQ0FBQyxJQUFJLEVBQUUrRixJQUFHakcsRUFBRUUsQ0FBQyxFQUFFLE9BQU82RixJQUFHLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJSSxHQUFFRCxJQUFPRSxJQUFHRCxHQUFFaEUsR0FBRSxTQUFTLEVBQUVrRSxJQUFHRCxJQUFHLFNBQVNFLEtBQUksQ0FBQyxDQUFDLElBQUlDLElBQUdELElBQU9FLElBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxJQUFJeEcsRUFBRW1HLEdBQUUsT0FBTyxnQkFBZ0IsRUFBRSxPQUFPbkcsRUFBRSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRUEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUV5RyxJQUFHRCxJQUFPRSxJQUFHLGlCQUFpQkMsSUFBRyxtQkFBbUIsU0FBU0MsSUFBRzVHLEVBQUVFLEVBQUUsQ0FBQyxJQUFJLEVBQUUsT0FBT0YsRUFBRSxPQUFPRSxFQUFFQSxHQUFHd0csSUFBRyxDQUFDLENBQUN4RyxJQUFJLEdBQUcsVUFBVSxHQUFHLFVBQVV5RyxJQUFHLEtBQUszRyxDQUFDLElBQUlBLEVBQUUsSUFBSUEsRUFBRSxHQUFHLEdBQUdBLEVBQUVFLENBQUMsQ0FBQyxJQUFJMkcsSUFBR0QsSUFBRyxTQUFTRSxJQUFHOUcsRUFBRUUsRUFBRSxFQUFFLENBQUNBLEdBQUcsYUFBYXVHLElBQUdBLElBQUd6RyxFQUFFRSxFQUFFLENBQUMsYUFBYSxHQUFHLFdBQVcsR0FBRyxNQUFNLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRUYsRUFBRUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxJQUFJNkcsSUFBR0QsSUFBRyxTQUFTRSxJQUFHaEgsRUFBRUUsRUFBRSxDQUFDLE9BQU9GLElBQUlFLEdBQUdGLElBQUlBLEdBQUdFLElBQUlBLENBQUMsQ0FBQyxJQUFJK0csSUFBR0QsSUFBT0UsSUFBRyxPQUFPLFVBQVVDLElBQUdELElBQUcsZUFBZSxTQUFTRSxJQUFHcEgsRUFBRUUsRUFBRSxFQUFFLENBQUMsSUFBSTRCLEVBQUU5QixFQUFFRSxDQUFDLEdBQUcsRUFBRWlILElBQUcsS0FBS25ILEVBQUVFLENBQUMsR0FBRytHLElBQUduRixFQUFFLENBQUMsSUFBSSxJQUFJLFFBQVEsRUFBRTVCLEtBQUtGLEtBQUsrRyxJQUFHL0csRUFBRUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJbUgsSUFBR0QsSUFBT0UsSUFBRyxpQkFBaUIsU0FBU0MsSUFBR3ZILEVBQUUsQ0FBQyxPQUFPLE9BQU9BLEdBQUcsVUFBVUEsRUFBRSxJQUFJQSxFQUFFLEdBQUcsR0FBR0EsR0FBR3NILEdBQUUsQ0FBQyxJQUFJRSxJQUFHRCxJQUFHLFNBQVNFLElBQUd6SCxFQUFFLENBQUMsT0FBT0EsR0FBRyxNQUFNd0gsSUFBR3hILEVBQUUsTUFBTSxHQUFHLENBQUM2RSxJQUFHN0UsQ0FBQyxDQUFDLENBQUMsSUFBSTBILElBQUdELElBQU9FLElBQUcsT0FBTyxVQUFVLFNBQVNDLElBQUc1SCxFQUFFLENBQUMsSUFBSUUsRUFBRUYsR0FBR0EsRUFBRSxZQUFZLEVBQUUsT0FBT0UsR0FBRyxZQUFZQSxFQUFFLFdBQVd5SCxJQUFHLE9BQU8zSCxJQUFJLENBQUMsQ0FBQyxJQUFJNkgsSUFBR0QsSUFBRyxTQUFTRSxJQUFHOUgsRUFBRUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHNEIsRUFBRSxNQUFNOUIsQ0FBQyxFQUFFLEVBQUUsRUFBRUEsR0FBRzhCLEVBQUUsQ0FBQyxFQUFFNUIsRUFBRSxDQUFDLEVBQUUsT0FBTzRCLENBQUMsQ0FBQyxJQUFJaUcsSUFBR0QsSUFBT0UsSUFBRyxxQkFBcUIsU0FBU0MsSUFBR2pJLEVBQUUsQ0FBQyxPQUFPdUQsSUFBRXZELENBQUMsR0FBR3FELElBQUVyRCxDQUFDLEdBQUdnSSxHQUFFLENBQUMsSUFBSUUsSUFBR0QsSUFBT0UsSUFBRyxPQUFPLFVBQVVDLElBQUdELElBQUcsZUFBZUUsSUFBR0YsSUFBRyxxQkFBcUJHLElBQUdKLElBQUcsVUFBVSxDQUFDLE9BQU8sU0FBUyxFQUFFLENBQUMsRUFBRUEsSUFBRyxTQUFTbEksRUFBRSxDQUFDLE9BQU91RCxJQUFFdkQsQ0FBQyxHQUFHb0ksSUFBRyxLQUFLcEksRUFBRSxRQUFRLEdBQUcsQ0FBQ3FJLElBQUcsS0FBS3JJLEVBQUUsUUFBUSxDQUFDLEVBQUV1SSxJQUFHRCxJQUFHLFNBQVNFLEtBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJQyxJQUFHRCxJQUFPRSxJQUFHLE9BQU8sU0FBUyxVQUFVLFNBQVMsQ0FBQyxRQUFRLFVBQVUsUUFBUUMsSUFBR0QsS0FBSSxPQUFPLFFBQVEsVUFBVSxRQUFRLENBQUMsT0FBTyxVQUFVLE9BQU9FLElBQUdELEtBQUlBLElBQUcsVUFBVUQsSUFBR0csSUFBR0QsSUFBR3pHLEdBQUUsT0FBTyxPQUFPMkcsSUFBR0QsSUFBR0EsSUFBRyxTQUFTLE9BQU9FLElBQUdELEtBQUlMLElBQUdPLElBQUdELElBQU9FLElBQUcscUJBQXFCQyxJQUFHLGlCQUFpQkMsSUFBRyxtQkFBbUJDLElBQUcsZ0JBQWdCQyxJQUFHLGlCQUFpQkMsSUFBRyxvQkFBb0JDLElBQUcsZUFBZUMsSUFBRyxrQkFBa0JDLElBQUcsa0JBQWtCQyxJQUFHLGtCQUFrQkMsSUFBRyxlQUFlQyxJQUFHLGtCQUFrQkMsSUFBRyxtQkFBbUJDLElBQUcsdUJBQXVCQyxJQUFHLG9CQUFvQkMsSUFBRyx3QkFBd0JDLElBQUcsd0JBQXdCQyxJQUFHLHFCQUFxQkMsSUFBRyxzQkFBc0JDLElBQUcsc0JBQXNCQyxJQUFHLHNCQUFzQkMsSUFBRyw2QkFBNkJDLElBQUcsdUJBQXVCQyxJQUFHLHVCQUF1QkMsR0FBRSxDQUFDLEVBQUVBLEdBQUVULEdBQUUsRUFBRVMsR0FBRVIsR0FBRSxFQUFFUSxHQUFFUCxHQUFFLEVBQUVPLEdBQUVOLEdBQUUsRUFBRU0sR0FBRUwsR0FBRSxFQUFFSyxHQUFFSixHQUFFLEVBQUVJLEdBQUVILEdBQUUsRUFBRUcsR0FBRUYsR0FBRSxFQUFFRSxHQUFFRCxHQUFFLEVBQUUsR0FBR0MsR0FBRXhCLEdBQUUsRUFBRXdCLEdBQUV2QixHQUFFLEVBQUV1QixHQUFFWCxHQUFFLEVBQUVXLEdBQUV0QixHQUFFLEVBQUVzQixHQUFFVixHQUFFLEVBQUVVLEdBQUVyQixHQUFFLEVBQUVxQixHQUFFcEIsR0FBRSxFQUFFb0IsR0FBRW5CLEdBQUUsRUFBRW1CLEdBQUVsQixHQUFFLEVBQUVrQixHQUFFakIsR0FBRSxFQUFFaUIsR0FBRWhCLEdBQUUsRUFBRWdCLEdBQUVmLEdBQUUsRUFBRWUsR0FBRWQsR0FBRSxFQUFFYyxHQUFFYixHQUFFLEVBQUVhLEdBQUVaLEdBQUUsRUFBRSxHQUFHLFNBQVNhLElBQUcxSyxFQUFFLENBQUMsT0FBT3VELElBQUV2RCxDQUFDLEdBQUd3SCxJQUFHeEgsRUFBRSxNQUFNLEdBQUcsQ0FBQyxDQUFDeUssR0FBRXBILElBQUVyRCxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUkySyxJQUFHRCxJQUFHLFNBQVNFLElBQUc1SyxFQUFFLENBQUMsT0FBTyxTQUFTRSxFQUFFLENBQUMsT0FBT0YsRUFBRUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJMkssSUFBR0QsSUFBT0UsSUFBRyxPQUFPLFNBQVMsVUFBVSxTQUFTLENBQUMsUUFBUSxVQUFVLFFBQVFDLElBQUdELEtBQUksT0FBTyxRQUFRLFVBQVUsUUFBUSxDQUFDLE9BQU8sVUFBVSxPQUFPRSxJQUFHRCxLQUFJQSxJQUFHLFVBQVVELElBQUdHLElBQUdELEtBQUloSixJQUFHLFFBQVFrSixJQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSWxMLEVBQUUrSyxLQUFJQSxJQUFHLFNBQVNBLElBQUcsUUFBUSxNQUFNLEVBQUUsTUFBTSxPQUFPL0ssR0FBR2lMLEtBQUlBLElBQUcsU0FBU0EsSUFBRyxRQUFRLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUVFLElBQUdELElBQU9FLElBQUdELEtBQUlBLElBQUcsYUFBYUUsSUFBR0QsSUFBR1AsSUFBR08sR0FBRSxFQUFFVCxJQUFHVyxJQUFHRCxJQUFPRSxJQUFHLE9BQU8sVUFBVUMsSUFBR0QsSUFBRyxlQUFlLFNBQVNFLElBQUd6TCxFQUFFRSxFQUFFLENBQUMsSUFBSSxFQUFFNEQsR0FBRTlELENBQUMsRUFBRThCLEVBQUUsQ0FBQyxHQUFHeUcsSUFBR3ZJLENBQUMsRUFBRTJDLEVBQUUsQ0FBQyxHQUFHLENBQUNiLEdBQUdrSCxJQUFHaEosQ0FBQyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUM4QixHQUFHLENBQUNhLEdBQUcySSxJQUFHdEwsQ0FBQyxFQUFFMEwsRUFBRSxHQUFHNUosR0FBR2EsR0FBRyxFQUFFZ0osRUFBRUQsRUFBRTNELElBQUcvSCxFQUFFLE9BQU8sTUFBTSxFQUFFLENBQUMsRUFBRTRMLEVBQUVELEVBQUUsT0FBTyxRQUFRRSxLQUFLN0wsR0FBR0UsR0FBR3NMLElBQUcsS0FBS3hMLEVBQUU2TCxDQUFDLElBQUksRUFBRUgsSUFBSUcsR0FBRyxVQUFVbEosSUFBSWtKLEdBQUcsVUFBVUEsR0FBRyxXQUFXLElBQUlBLEdBQUcsVUFBVUEsR0FBRyxjQUFjQSxHQUFHLGVBQWVoRixJQUFHZ0YsRUFBRUQsQ0FBQyxLQUFLRCxFQUFFLEtBQUtFLENBQUMsRUFBRSxPQUFPRixDQUFDLENBQUMsSUFBSUcsSUFBR0wsSUFBRyxTQUFTTSxJQUFHL0wsRUFBRUUsRUFBRSxDQUFDLE9BQU8sU0FBUyxFQUFFLENBQUMsT0FBT0YsRUFBRUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSThMLElBQUdELElBQU9FLElBQUdELElBQUcsT0FBTyxLQUFLLE1BQU0sRUFBRUUsSUFBR0QsSUFBT0UsSUFBRyxPQUFPLFVBQVVDLElBQUdELElBQUcsZUFBZSxTQUFTRSxJQUFHck0sRUFBRSxDQUFDLEdBQUcsQ0FBQzZILElBQUc3SCxDQUFDLEVBQUUsT0FBT2tNLElBQUdsTSxDQUFDLEVBQUUsSUFBSUUsRUFBRSxDQUFDLEVBQUUsUUFBUSxLQUFLLE9BQU9GLENBQUMsRUFBRW9NLElBQUcsS0FBS3BNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsZUFBZUUsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPQSxDQUFDLENBQUMsSUFBSW9NLElBQUdELElBQUcsU0FBU0UsSUFBR3ZNLEVBQUUsQ0FBQyxPQUFPMEgsSUFBRzFILENBQUMsRUFBRThMLElBQUc5TCxDQUFDLEVBQUVzTSxJQUFHdE0sQ0FBQyxDQUFDLENBQUMsSUFBSXdNLElBQUdELElBQUcsU0FBU0UsSUFBR3pNLEVBQUUsQ0FBQyxJQUFJRSxFQUFFLENBQUMsRUFBRSxHQUFHRixHQUFHLEtBQUssUUFBUSxLQUFLLE9BQU9BLENBQUMsRUFBRUUsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPQSxDQUFDLENBQUMsSUFBSXdNLElBQUdELElBQU9FLElBQUcsT0FBTyxVQUFVQyxJQUFHRCxJQUFHLGVBQWUsU0FBU0UsSUFBRzdNLEVBQUUsQ0FBQyxHQUFHLENBQUNxRSxJQUFFckUsQ0FBQyxFQUFFLE9BQU8wTSxJQUFHMU0sQ0FBQyxFQUFFLElBQUlFLEVBQUUySCxJQUFHN0gsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxFQUFFLFFBQVE4QixLQUFLOUIsRUFBRThCLEdBQUcsZ0JBQWdCNUIsR0FBRyxDQUFDME0sSUFBRyxLQUFLNU0sRUFBRThCLENBQUMsSUFBSSxFQUFFLEtBQUtBLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJZ0wsSUFBR0QsSUFBRyxTQUFTRSxJQUFHL00sRUFBRSxDQUFDLE9BQU8wSCxJQUFHMUgsQ0FBQyxFQUFFOEwsSUFBRzlMLEVBQUUsRUFBRSxFQUFFOE0sSUFBRzlNLENBQUMsQ0FBQyxDQUFDLElBQUlnTixJQUFHRCxJQUFPRSxJQUFHLG1EQUFtREMsSUFBRyxRQUFRLFNBQVNDLElBQUduTixFQUFFRSxFQUFFLENBQUMsR0FBRzRELEdBQUU5RCxDQUFDLEVBQUUsTUFBTSxHQUFHLElBQUksRUFBRSxPQUFPQSxFQUFFLE9BQU8sR0FBRyxVQUFVLEdBQUcsVUFBVSxHQUFHLFdBQVdBLEdBQUcsTUFBTTBELElBQUcxRCxDQUFDLEVBQUUsR0FBR2tOLElBQUcsS0FBS2xOLENBQUMsR0FBRyxDQUFDaU4sSUFBRyxLQUFLak4sQ0FBQyxHQUFHRSxHQUFHLE1BQU1GLEtBQUssT0FBT0UsQ0FBQyxDQUFDLENBQUMsSUFBSWtOLElBQUdELElBQU9FLElBQUdsSCxHQUFFLE9BQU8sUUFBUSxFQUFFbUgsSUFBR0QsSUFBRyxTQUFTRSxLQUFJLENBQUMsS0FBSyxTQUFTRCxJQUFHQSxJQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsS0FBSyxLQUFLLENBQUMsQ0FBQyxJQUFJRSxJQUFHRCxJQUFHLFNBQVNFLElBQUd6TixFQUFFLENBQUMsSUFBSUUsRUFBRSxLQUFLLElBQUlGLENBQUMsR0FBRyxPQUFPLEtBQUssU0FBU0EsQ0FBQyxFQUFFLE9BQU8sS0FBSyxNQUFNRSxFQUFFLEVBQUUsRUFBRUEsQ0FBQyxDQUFDLElBQUl3TixJQUFHRCxJQUFPRSxJQUFHLDRCQUE0QkMsSUFBRyxPQUFPLFVBQVVDLElBQUdELElBQUcsZUFBZSxTQUFTRSxJQUFHOU4sRUFBRSxDQUFDLElBQUlFLEVBQUUsS0FBSyxTQUFTLEdBQUdvTixJQUFHLENBQUMsSUFBSSxFQUFFcE4sRUFBRUYsQ0FBQyxFQUFFLE9BQU8sSUFBSTJOLElBQUcsT0FBTyxDQUFDLENBQUMsT0FBT0UsSUFBRyxLQUFLM04sRUFBRUYsQ0FBQyxFQUFFRSxFQUFFRixDQUFDLEVBQUUsTUFBTSxDQUFDLElBQUkrTixJQUFHRCxJQUFPRSxJQUFHLE9BQU8sVUFBVUMsSUFBR0QsSUFBRyxlQUFlLFNBQVNFLElBQUdsTyxFQUFFLENBQUMsSUFBSUUsRUFBRSxLQUFLLFNBQVMsT0FBT29OLElBQUdwTixFQUFFRixDQUFDLElBQUksT0FBT2lPLElBQUcsS0FBSy9OLEVBQUVGLENBQUMsQ0FBQyxDQUFDLElBQUltTyxJQUFHRCxJQUFPRSxJQUFHLDRCQUE0QixTQUFTQyxJQUFHck8sRUFBRUUsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLFNBQVMsT0FBTyxLQUFLLE1BQU0sS0FBSyxJQUFJRixDQUFDLEVBQUUsRUFBRSxFQUFFLEVBQUVBLENBQUMsRUFBRXNOLEtBQUlwTixJQUFJLE9BQU9rTyxJQUFHbE8sRUFBRSxJQUFJLENBQUMsSUFBSW9PLElBQUdELElBQUcsU0FBU0UsSUFBR3ZPLEVBQUUsQ0FBQyxJQUFJRSxFQUFFLEdBQUcsRUFBRUYsR0FBRyxLQUFLLEVBQUVBLEVBQUUsT0FBTyxJQUFJLEtBQUssTUFBTSxFQUFFLEVBQUVFLEVBQUUsR0FBRyxDQUFDLElBQUk0QixFQUFFOUIsRUFBRUUsQ0FBQyxFQUFFLEtBQUssSUFBSTRCLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQ3lNLElBQUcsVUFBVSxNQUFNZixJQUFHZSxJQUFHLFVBQVUsT0FBT2IsSUFBR2EsSUFBRyxVQUFVLElBQUlSLElBQUdRLElBQUcsVUFBVSxJQUFJSixJQUFHSSxJQUFHLFVBQVUsSUFBSUQsSUFBRyxJQUFJRSxJQUFHRCxJQUFHLFNBQVNFLEtBQUksQ0FBQyxLQUFLLFNBQVMsQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUMsSUFBSUMsSUFBR0QsSUFBRyxTQUFTRSxJQUFHM08sRUFBRUUsRUFBRSxDQUFDLFFBQVEsRUFBRUYsRUFBRSxPQUFPLEtBQUssR0FBR2lILElBQUdqSCxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUVFLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLENBQUMsSUFBSTBPLElBQUdELElBQU9FLElBQUcsTUFBTSxVQUFVQyxJQUFHRCxJQUFHLE9BQU8sU0FBU0UsSUFBRy9PLEVBQUUsQ0FBQyxJQUFJRSxFQUFFLEtBQUssU0FBUyxFQUFFME8sSUFBRzFPLEVBQUVGLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRSxNQUFNLEdBQUcsSUFBSThCLEVBQUU1QixFQUFFLE9BQU8sRUFBRSxPQUFPLEdBQUc0QixFQUFFNUIsRUFBRSxJQUFJLEVBQUU0TyxJQUFHLEtBQUs1TyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUUsS0FBSyxLQUFLLEVBQUUsQ0FBQyxJQUFJOE8sSUFBR0QsSUFBRyxTQUFTRSxJQUFHalAsRUFBRSxDQUFDLElBQUlFLEVBQUUsS0FBSyxTQUFTLEVBQUUwTyxJQUFHMU8sRUFBRUYsQ0FBQyxFQUFFLE9BQU8sRUFBRSxFQUFFLE9BQU9FLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUlnUCxJQUFHRCxJQUFHLFNBQVNFLElBQUduUCxFQUFFLENBQUMsT0FBTzRPLElBQUcsS0FBSyxTQUFTNU8sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJb1AsSUFBR0QsSUFBRyxTQUFTRSxJQUFHclAsRUFBRUUsRUFBRSxDQUFDLElBQUksRUFBRSxLQUFLLFNBQVM0QixFQUFFOE0sSUFBRyxFQUFFNU8sQ0FBQyxFQUFFLE9BQU84QixFQUFFLEdBQUcsRUFBRSxLQUFLLEtBQUssRUFBRSxLQUFLLENBQUM5QixFQUFFRSxDQUFDLENBQUMsR0FBRyxFQUFFNEIsQ0FBQyxFQUFFLENBQUMsRUFBRTVCLEVBQUUsSUFBSSxDQUFDLElBQUlvUCxJQUFHRCxJQUFHLFNBQVNFLElBQUd2UCxFQUFFLENBQUMsSUFBSUUsRUFBRSxHQUFHLEVBQUVGLEdBQUcsS0FBSyxFQUFFQSxFQUFFLE9BQU8sSUFBSSxLQUFLLE1BQU0sRUFBRSxFQUFFRSxFQUFFLEdBQUcsQ0FBQyxJQUFJNEIsRUFBRTlCLEVBQUVFLENBQUMsRUFBRSxLQUFLLElBQUk0QixFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUN5TixJQUFHLFVBQVUsTUFBTWIsSUFBR2EsSUFBRyxVQUFVLE9BQU9QLElBQUdPLElBQUcsVUFBVSxJQUFJTCxJQUFHSyxJQUFHLFVBQVUsSUFBSUgsSUFBR0csSUFBRyxVQUFVLElBQUlELElBQUcsSUFBSUUsSUFBR0QsSUFBT0UsSUFBR3RKLEdBQUVoRSxHQUFFLEtBQUssRUFBRXVOLElBQUdELElBQUcsU0FBU0UsS0FBSSxDQUFDLEtBQUssS0FBSyxFQUFFLEtBQUssU0FBUyxDQUFDLEtBQUssSUFBSW5CLElBQUcsSUFBSSxJQUFJa0IsS0FBSUYsS0FBSSxPQUFPLElBQUloQixHQUFFLENBQUMsQ0FBQyxJQUFJb0IsSUFBR0QsSUFBRyxTQUFTRSxJQUFHN1AsRUFBRSxDQUFDLElBQUlFLEVBQUUsT0FBT0YsRUFBRSxPQUFPRSxHQUFHLFVBQVVBLEdBQUcsVUFBVUEsR0FBRyxVQUFVQSxHQUFHLFVBQVVGLElBQUksWUFBWUEsSUFBSSxJQUFJLENBQUMsSUFBSThQLElBQUdELElBQUcsU0FBU0UsSUFBRy9QLEVBQUVFLEVBQUUsQ0FBQyxJQUFJLEVBQUVGLEVBQUUsU0FBUyxPQUFPOFAsSUFBRzVQLENBQUMsRUFBRSxFQUFFLE9BQU9BLEdBQUcsU0FBUyxTQUFTLE1BQU0sRUFBRSxFQUFFLEdBQUcsQ0FBQyxJQUFJOFAsSUFBR0QsSUFBRyxTQUFTRSxJQUFHalEsRUFBRSxDQUFDLElBQUlFLEVBQUU4UCxJQUFHLEtBQUtoUSxDQUFDLEVBQUUsT0FBT0EsQ0FBQyxFQUFFLE9BQU8sS0FBSyxNQUFNRSxFQUFFLEVBQUUsRUFBRUEsQ0FBQyxDQUFDLElBQUlnUSxJQUFHRCxJQUFHLFNBQVNFLElBQUduUSxFQUFFLENBQUMsT0FBT2dRLElBQUcsS0FBS2hRLENBQUMsRUFBRSxJQUFJQSxDQUFDLENBQUMsQ0FBQyxJQUFJb1EsSUFBR0QsSUFBRyxTQUFTRSxJQUFHclEsRUFBRSxDQUFDLE9BQU9nUSxJQUFHLEtBQUtoUSxDQUFDLEVBQUUsSUFBSUEsQ0FBQyxDQUFDLENBQUMsSUFBSXNRLElBQUdELElBQUcsU0FBU0UsSUFBR3ZRLEVBQUVFLEVBQUUsQ0FBQyxJQUFJLEVBQUU4UCxJQUFHLEtBQUtoUSxDQUFDLEVBQUU4QixFQUFFLEVBQUUsS0FBSyxPQUFPLEVBQUUsSUFBSTlCLEVBQUVFLENBQUMsRUFBRSxLQUFLLE1BQU0sRUFBRSxNQUFNNEIsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLElBQUkwTyxJQUFHRCxJQUFHLFNBQVNFLElBQUd6USxFQUFFLENBQUMsSUFBSUUsRUFBRSxHQUFHLEVBQUVGLEdBQUcsS0FBSyxFQUFFQSxFQUFFLE9BQU8sSUFBSSxLQUFLLE1BQU0sRUFBRSxFQUFFRSxFQUFFLEdBQUcsQ0FBQyxJQUFJNEIsRUFBRTlCLEVBQUVFLENBQUMsRUFBRSxLQUFLLElBQUk0QixFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMyTyxJQUFHLFVBQVUsTUFBTWIsSUFBR2EsSUFBRyxVQUFVLE9BQU9QLElBQUdPLElBQUcsVUFBVSxJQUFJTCxJQUFHSyxJQUFHLFVBQVUsSUFBSUgsSUFBR0csSUFBRyxVQUFVLElBQUlELElBQUcsSUFBSUUsSUFBR0QsSUFBT0UsSUFBRyxzQkFBc0IsU0FBU0MsSUFBRzVRLEVBQUVFLEVBQUUsQ0FBQyxHQUFHLE9BQU9GLEdBQUcsWUFBWUUsR0FBRyxNQUFNLE9BQU9BLEdBQUcsV0FBVyxNQUFNLElBQUksVUFBVXlRLEdBQUUsRUFBRSxJQUFJLEVBQUUsVUFBVSxDQUFDLElBQUk3TyxFQUFFLFVBQVVhLEVBQUV6QyxFQUFFQSxFQUFFLE1BQU0sS0FBSzRCLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLE1BQU0sR0FBRyxFQUFFLElBQUlhLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSUEsQ0FBQyxFQUFFLElBQUkrSSxFQUFFMUwsRUFBRSxNQUFNLEtBQUs4QixDQUFDLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJYSxFQUFFK0ksQ0FBQyxHQUFHLEVBQUVBLENBQUMsRUFBRSxPQUFPLEVBQUUsTUFBTSxJQUFJa0YsSUFBRyxPQUFPRixLQUFJLENBQUMsQ0FBQ0UsSUFBRyxNQUFNRixJQUFHLElBQUlHLElBQUVELElBQU9FLElBQUcsSUFBSSxTQUFTQyxJQUFHL1EsRUFBRSxDQUFDLElBQUlFLEVBQUUyUSxJQUFFN1EsRUFBRSxTQUFTOEIsRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPZ1AsS0FBSSxFQUFFLE1BQU0sRUFBRWhQLENBQUMsQ0FBQyxFQUFFLEVBQUU1QixFQUFFLE1BQU0sT0FBT0EsQ0FBQyxDQUFDLElBQUk4USxJQUFHRCxJQUFPRSxJQUFHLG1HQUFtR0MsSUFBRyxXQUFXQyxJQUFHSCxJQUFHLFNBQVNoUixFQUFFLENBQUMsSUFBSUUsRUFBRSxDQUFDLEVBQUUsT0FBT0YsRUFBRSxXQUFXLENBQUMsSUFBSSxJQUFJRSxFQUFFLEtBQUssRUFBRSxFQUFFRixFQUFFLFFBQVFpUixJQUFHLFNBQVMsRUFBRW5QLEVBQUVhLEVBQUUsRUFBRSxDQUFDekMsRUFBRSxLQUFLeUMsRUFBRSxFQUFFLFFBQVF1TyxJQUFHLElBQUksRUFBRXBQLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRTVCLENBQUMsQ0FBQyxFQUFFa1IsSUFBR0QsSUFBRyxTQUFTRSxJQUFHclIsRUFBRSxDQUFDLE9BQU9BLEdBQUcsS0FBSyxHQUFHbUUsSUFBR25FLENBQUMsQ0FBQyxDQUFDLElBQUlzUixJQUFHRCxJQUFHLFNBQVNFLElBQUd2UixFQUFFRSxFQUFFLENBQUMsT0FBTzRELEdBQUU5RCxDQUFDLEVBQUVBLEVBQUVvTixJQUFHcE4sRUFBRUUsQ0FBQyxFQUFFLENBQUNGLENBQUMsRUFBRW9SLElBQUdFLElBQUd0UixDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUl3UixJQUFHRCxJQUFPRSxJQUFHLElBQUksU0FBU0MsSUFBRzFSLEVBQUUsQ0FBQyxHQUFHLE9BQU9BLEdBQUcsVUFBVTBELElBQUcxRCxDQUFDLEVBQUUsT0FBT0EsRUFBRSxJQUFJRSxFQUFFRixFQUFFLEdBQUcsT0FBT0UsR0FBRyxLQUFLLEVBQUVGLEdBQUcsQ0FBQ3lSLElBQUcsS0FBS3ZSLENBQUMsQ0FBQyxJQUFJeVIsSUFBRUQsSUFBRyxTQUFTRSxJQUFHNVIsRUFBRUUsRUFBRSxDQUFDQSxFQUFFc1IsSUFBR3RSLEVBQUVGLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRThCLEVBQUU1QixFQUFFLE9BQU9GLEdBQUcsTUFBTSxFQUFFOEIsR0FBRzlCLEVBQUVBLEVBQUUyUixJQUFFelIsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLE9BQU8sR0FBRyxHQUFHNEIsRUFBRTlCLEVBQUUsTUFBTSxDQUFDLElBQUk2UixJQUFHRCxJQUFHLFNBQVNFLElBQUc5UixFQUFFRSxFQUFFLEVBQUUsQ0FBQyxJQUFJNEIsRUFBRTlCLEdBQUcsS0FBSyxPQUFPNlIsSUFBRzdSLEVBQUVFLENBQUMsRUFBRSxPQUFPNEIsSUFBSSxPQUFPLEVBQUVBLENBQUMsQ0FBQyxJQUFJaVEsSUFBR0QsSUFBRyxTQUFTRSxJQUFHaFMsRUFBRUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHNEIsRUFBRTVCLEVBQUUsT0FBT3lDLEVBQUUzQyxFQUFFLE9BQU8sRUFBRSxFQUFFOEIsR0FBRzlCLEVBQUUyQyxFQUFFLENBQUMsRUFBRXpDLEVBQUUsQ0FBQyxFQUFFLE9BQU9GLENBQUMsQ0FBQyxJQUFJaVMsSUFBR0QsSUFBT0UsSUFBRzdQLEdBQUVBLEdBQUUsbUJBQW1CLE9BQU8sU0FBUzhQLElBQUduUyxFQUFFLENBQUMsT0FBTzhELEdBQUU5RCxDQUFDLEdBQUd1SSxJQUFHdkksQ0FBQyxHQUFHLENBQUMsRUFBRWtTLEtBQUlsUyxHQUFHQSxFQUFFa1MsR0FBRSxFQUFFLENBQUMsSUFBSUUsSUFBR0QsSUFBRyxTQUFTRSxJQUFHclMsRUFBRUUsRUFBRSxFQUFFNEIsRUFBRWEsRUFBRSxDQUFDLElBQUksRUFBRSxHQUFHK0ksRUFBRTFMLEVBQUUsT0FBTyxJQUFJLElBQUksRUFBRW9TLEtBQUl6UCxJQUFJQSxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUrSSxHQUFHLENBQUMsSUFBSUMsRUFBRTNMLEVBQUUsQ0FBQyxFQUFFRSxFQUFFLEdBQUcsRUFBRXlMLENBQUMsRUFBRXpMLEVBQUUsRUFBRW1TLElBQUcxRyxFQUFFekwsRUFBRSxFQUFFLEVBQUU0QixFQUFFYSxDQUFDLEVBQUVzUCxJQUFHdFAsRUFBRWdKLENBQUMsRUFBRTdKLElBQUlhLEVBQUVBLEVBQUUsTUFBTSxFQUFFZ0osRUFBRSxDQUFDLE9BQU9oSixDQUFDLENBQUMsSUFBSTJQLElBQUdELElBQU9FLElBQUd2RyxJQUFHLE9BQU8sZUFBZSxNQUFNLEVBQUV3RyxJQUFHRCxJQUFHLFNBQVNFLEtBQUksQ0FBQyxLQUFLLFNBQVMsSUFBSWpELElBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQyxJQUFJa0QsSUFBR0QsSUFBRyxTQUFTRSxJQUFHM1MsRUFBRSxDQUFDLElBQUlFLEVBQUUsS0FBSyxTQUFTLEVBQUVBLEVBQUUsT0FBT0YsQ0FBQyxFQUFFLE9BQU8sS0FBSyxLQUFLRSxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUkwUyxJQUFHRCxJQUFHLFNBQVNFLElBQUc3UyxFQUFFLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSUEsQ0FBQyxDQUFDLENBQUMsSUFBSThTLElBQUdELElBQUcsU0FBU0UsSUFBRy9TLEVBQUUsQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJQSxDQUFDLENBQUMsQ0FBQyxJQUFJZ1QsSUFBR0QsSUFBT0UsSUFBRyxJQUFJLFNBQVNDLElBQUdsVCxFQUFFRSxFQUFFLENBQUMsSUFBSSxFQUFFLEtBQUssU0FBUyxHQUFHLGFBQWFzUCxJQUFHLENBQUMsSUFBSTFOLEVBQUUsRUFBRSxTQUFTLEdBQUcsQ0FBQzROLEtBQUk1TixFQUFFLE9BQU9tUixJQUFHLEVBQUUsT0FBT25SLEVBQUUsS0FBSyxDQUFDOUIsRUFBRUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxLQUFLLEVBQUUsRUFBRSxLQUFLLEtBQUssRUFBRSxLQUFLLFNBQVMsSUFBSXdRLElBQUc1TyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsSUFBSTlCLEVBQUVFLENBQUMsRUFBRSxLQUFLLEtBQUssRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJaVQsSUFBR0QsSUFBRyxTQUFTRSxJQUFHcFQsRUFBRSxDQUFDLElBQUlFLEVBQUUsS0FBSyxTQUFTLElBQUlzUCxJQUFHeFAsQ0FBQyxFQUFFLEtBQUssS0FBS0UsRUFBRSxJQUFJLENBQUNrVCxJQUFHLFVBQVUsTUFBTVYsSUFBR1UsSUFBRyxVQUFVLE9BQU9SLElBQUdRLElBQUcsVUFBVSxJQUFJTixJQUFHTSxJQUFHLFVBQVUsSUFBSUosSUFBR0ksSUFBRyxVQUFVLElBQUlELElBQUcsSUFBSUUsSUFBR0QsSUFBRyxTQUFTRSxJQUFHdFQsRUFBRUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHNEIsRUFBRTlCLEdBQUcsS0FBSyxFQUFFQSxFQUFFLE9BQU8yQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFYixHQUFHLENBQUMsSUFBSTRKLEVBQUUxTCxFQUFFLENBQUMsRUFBRUUsRUFBRXdMLEVBQUUsRUFBRTFMLENBQUMsSUFBSSxFQUFFMkMsR0FBRyxFQUFFK0ksRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUk2SCxJQUFHRCxJQUFHLFNBQVNFLEtBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUlDLElBQUdELElBQU9FLElBQUcsT0FBTyxVQUFVQyxJQUFHRCxJQUFHLHFCQUFxQkUsSUFBRyxPQUFPLHNCQUFzQkMsSUFBR0QsSUFBRyxTQUFTNVQsRUFBRSxDQUFDLE9BQU9BLEdBQUcsS0FBSyxDQUFDLEdBQUdBLEVBQUUsT0FBT0EsQ0FBQyxFQUFFdVQsSUFBR0ssSUFBRzVULENBQUMsRUFBRSxTQUFTRSxFQUFFLENBQUMsT0FBT3lULElBQUcsS0FBSzNULEVBQUVFLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRXVULElBQUdLLElBQUdELElBQU9FLElBQUcsT0FBTyxzQkFBc0JDLElBQUdELElBQUcsU0FBUy9ULEVBQUUsQ0FBQyxRQUFRRSxFQUFFLENBQUMsRUFBRUYsR0FBR2lTLElBQUcvUixFQUFFNFQsSUFBRzlULENBQUMsQ0FBQyxFQUFFQSxFQUFFd1MsSUFBR3hTLENBQUMsRUFBRSxPQUFPRSxDQUFDLEVBQUV1VCxJQUFHUSxJQUFHRCxJQUFHLFNBQVNFLElBQUdsVSxFQUFFRSxFQUFFLEVBQUUsQ0FBQyxJQUFJNEIsRUFBRTVCLEVBQUVGLENBQUMsRUFBRSxPQUFPOEQsR0FBRTlELENBQUMsRUFBRThCLEVBQUVtUSxJQUFHblEsRUFBRSxFQUFFOUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJbVUsSUFBR0QsSUFBRyxTQUFTRSxJQUFHcFUsRUFBRSxDQUFDLE9BQU9tVSxJQUFHblUsRUFBRXdNLElBQUdzSCxHQUFFLENBQUMsQ0FBQyxJQUFJTyxJQUFHRCxJQUFHLFNBQVNFLElBQUd0VSxFQUFFLENBQUMsT0FBT21VLElBQUduVSxFQUFFZ04sSUFBR2lILEdBQUUsQ0FBQyxDQUFDLElBQUlNLElBQUdELElBQU9FLElBQUdyTyxHQUFFaEUsR0FBRSxVQUFVLEVBQUVzUyxJQUFHRCxJQUFPRSxJQUFHdk8sR0FBRWhFLEdBQUUsU0FBUyxFQUFFd1MsSUFBR0QsSUFBT0UsSUFBR3pPLEdBQUVoRSxHQUFFLEtBQUssRUFBRTBTLElBQUdELElBQU9FLElBQUcsZUFBZUMsSUFBRyxrQkFBa0JDLElBQUcsbUJBQW1CQyxJQUFHLGVBQWVDLElBQUcsbUJBQW1CQyxJQUFHLG9CQUFvQkMsSUFBRzlQLEdBQUdtUCxHQUFFLEVBQUVZLElBQUcvUCxHQUFHb0ssR0FBRSxFQUFFNEYsSUFBR2hRLEdBQUdxUCxHQUFFLEVBQUVZLElBQUdqUSxHQUFHdVAsR0FBRSxFQUFFVyxJQUFHbFEsR0FBR2UsR0FBRSxFQUFFb1AsR0FBR3BTLEtBQUdvUixLQUFJZ0IsR0FBRyxJQUFJaEIsSUFBRyxJQUFJLFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBR1UsS0FBSXpGLEtBQUkrRixHQUFHLElBQUkvRixHQUFFLEdBQUdvRixLQUFJSCxLQUFJYyxHQUFHZCxJQUFHLFFBQVEsQ0FBQyxHQUFHSyxLQUFJSCxLQUFJWSxHQUFHLElBQUlaLEdBQUUsR0FBR0ksS0FBSTVPLEtBQUlvUCxHQUFHLElBQUlwUCxHQUFFLEdBQUc2TyxPQUFNTyxHQUFHLFNBQVN6VixFQUFFLENBQUMsSUFBSUUsRUFBRW1ELElBQUVyRCxDQUFDLEVBQUUsRUFBRUUsR0FBRzZVLElBQUcvVSxFQUFFLFlBQVksT0FBTzhCLEVBQUUsRUFBRXdELEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBR3hELEVBQUUsT0FBT0EsRUFBRSxDQUFDLEtBQUtzVCxJQUFHLE9BQU9ELElBQUcsS0FBS0UsSUFBRyxPQUFPUCxJQUFHLEtBQUtRLElBQUcsT0FBT04sSUFBRyxLQUFLTyxJQUFHLE9BQU9OLElBQUcsS0FBS08sSUFBRyxPQUFPTixHQUFFLENBQUMsT0FBT2hWLENBQUMsR0FBRyxJQUFJd1YsSUFBR0QsR0FBT0UsSUFBR3hULEdBQUUsV0FBV3lULElBQUdELElBQU9FLElBQUcsNEJBQTRCLFNBQVNDLElBQUc5VixFQUFFLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSUEsRUFBRTZWLEdBQUUsRUFBRSxJQUFJLENBQUMsSUFBSUUsSUFBR0QsSUFBRyxTQUFTRSxJQUFHaFcsRUFBRSxDQUFDLE9BQU8sS0FBSyxTQUFTLElBQUlBLENBQUMsQ0FBQyxDQUFDLElBQUlpVyxJQUFHRCxJQUFHLFNBQVNFLElBQUdsVyxFQUFFLENBQUMsSUFBSUUsRUFBRSxHQUFHLEVBQUVGLEdBQUcsS0FBSyxFQUFFQSxFQUFFLE9BQU8sSUFBSSxLQUFLLFNBQVMsSUFBSTBRLElBQUcsRUFBRXhRLEVBQUUsR0FBRyxLQUFLLElBQUlGLEVBQUVFLENBQUMsQ0FBQyxDQUFDLENBQUNnVyxJQUFHLFVBQVUsSUFBSUEsSUFBRyxVQUFVLEtBQUtILElBQUdHLElBQUcsVUFBVSxJQUFJRCxJQUFHLElBQUlFLElBQUdELElBQUcsU0FBU0UsSUFBR3BXLEVBQUVFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRzRCLEVBQUU5QixHQUFHLEtBQUssRUFBRUEsRUFBRSxPQUFPLEVBQUUsRUFBRThCLEdBQUcsR0FBRzVCLEVBQUVGLEVBQUUsQ0FBQyxFQUFFLEVBQUVBLENBQUMsRUFBRSxNQUFNLEdBQUcsTUFBTSxFQUFFLENBQUMsSUFBSXFXLElBQUdELElBQUcsU0FBU0UsSUFBR3RXLEVBQUVFLEVBQUUsQ0FBQyxPQUFPRixFQUFFLElBQUlFLENBQUMsQ0FBQyxDQUFDLElBQUlxVyxJQUFHRCxJQUFPRSxJQUFHLEVBQUVDLElBQUcsRUFBRSxTQUFTQyxJQUFHMVcsRUFBRUUsRUFBRSxFQUFFNEIsRUFBRWEsRUFBRSxFQUFFLENBQUMsSUFBSStJLEVBQUUsRUFBRThLLElBQUc3SyxFQUFFM0wsRUFBRSxPQUFPNEwsRUFBRTFMLEVBQUUsT0FBTyxHQUFHeUwsR0FBR0MsR0FBRyxFQUFFRixHQUFHRSxFQUFFRCxHQUFHLE1BQU0sR0FBRyxJQUFJRSxFQUFFLEVBQUUsSUFBSTdMLENBQUMsRUFBRTJXLEVBQUUsRUFBRSxJQUFJelcsQ0FBQyxFQUFFLEdBQUcyTCxHQUFHOEssRUFBRSxPQUFPOUssR0FBRzNMLEdBQUd5VyxHQUFHM1csRUFBRSxJQUFJNFcsRUFBRSxHQUFHQyxFQUFFLEdBQUdDLEVBQUUsRUFBRUwsSUFBRyxJQUFJTixJQUFHLE9BQU8sSUFBSSxFQUFFLElBQUluVyxFQUFFRSxDQUFDLEVBQUUsRUFBRSxJQUFJQSxFQUFFRixDQUFDLEVBQUUsRUFBRTRXLEVBQUVqTCxHQUFHLENBQUMsSUFBSW9MLEVBQUUvVyxFQUFFNFcsQ0FBQyxFQUFFSSxFQUFFOVcsRUFBRTBXLENBQUMsRUFBRSxHQUFHOVUsRUFBRSxJQUFJbVYsRUFBRXZMLEVBQUU1SixFQUFFa1YsRUFBRUQsRUFBRUgsRUFBRTFXLEVBQUVGLEVBQUUsQ0FBQyxFQUFFOEIsRUFBRWlWLEVBQUVDLEVBQUVKLEVBQUU1VyxFQUFFRSxFQUFFLENBQUMsRUFBRSxHQUFHK1csSUFBSSxPQUFPLENBQUMsR0FBR0EsRUFBRSxTQUFTSixFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUdDLEdBQUcsR0FBRyxDQUFDVCxJQUFHblcsRUFBRSxTQUFTZ1gsRUFBRUMsRUFBRSxDQUFDLEdBQUcsQ0FBQ1osSUFBR08sRUFBRUssQ0FBQyxJQUFJSixJQUFJRyxHQUFHdlUsRUFBRW9VLEVBQUVHLEVBQUUsRUFBRXBWLEVBQUUsQ0FBQyxHQUFHLE9BQU9nVixFQUFFLEtBQUtLLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQ04sRUFBRSxHQUFHLEtBQUssVUFBVSxFQUFFRSxJQUFJQyxHQUFHclUsRUFBRW9VLEVBQUVDLEVBQUUsRUFBRWxWLEVBQUUsQ0FBQyxHQUFHLENBQUMrVSxFQUFFLEdBQUcsS0FBSyxDQUFDLENBQUMsT0FBTyxFQUFFLE9BQU83VyxDQUFDLEVBQUUsRUFBRSxPQUFPRSxDQUFDLEVBQUUyVyxDQUFDLENBQUMsSUFBSU8sSUFBR1YsSUFBRyxTQUFTVyxJQUFHclgsRUFBRSxDQUFDLElBQUlFLEVBQUUsR0FBRyxFQUFFLE1BQU1GLEVBQUUsSUFBSSxFQUFFLE9BQU9BLEVBQUUsUUFBUSxTQUFTOEIsRUFBRWEsRUFBRSxDQUFDLEVBQUUsRUFBRXpDLENBQUMsRUFBRSxDQUFDeUMsRUFBRWIsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSXdWLElBQUdELElBQUcsU0FBU0UsSUFBR3ZYLEVBQUUsQ0FBQyxJQUFJRSxFQUFFLEdBQUcsRUFBRSxNQUFNRixFQUFFLElBQUksRUFBRSxPQUFPQSxFQUFFLFFBQVEsU0FBUzhCLEVBQUUsQ0FBQyxFQUFFLEVBQUU1QixDQUFDLEVBQUU0QixDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSTBWLElBQUdELElBQU9FLElBQUcsRUFBRUMsSUFBRyxFQUFFQyxJQUFHLG1CQUFtQkMsSUFBRyxnQkFBZ0JDLElBQUcsaUJBQWlCQyxJQUFHLGVBQWVDLElBQUcsa0JBQWtCQyxJQUFHLGtCQUFrQkMsSUFBRyxlQUFlQyxJQUFHLGtCQUFrQkMsSUFBRyxrQkFBa0JDLElBQUcsdUJBQXVCQyxJQUFHLG9CQUFvQkMsSUFBR2pXLEdBQUVBLEdBQUUsVUFBVSxPQUFPa1csSUFBR0QsSUFBR0EsSUFBRyxRQUFRLE9BQU8sU0FBU0UsSUFBR3hZLEVBQUVFLEVBQUUsRUFBRTRCLEVBQUVhLEVBQUUsRUFBRStJLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxLQUFLMk0sSUFBRyxHQUFHclksRUFBRSxZQUFZRSxFQUFFLFlBQVlGLEVBQUUsWUFBWUUsRUFBRSxXQUFXLE1BQU0sR0FBR0YsRUFBRUEsRUFBRSxPQUFPRSxFQUFFQSxFQUFFLE9BQU8sS0FBS2tZLElBQUcsTUFBTSxFQUFFcFksRUFBRSxZQUFZRSxFQUFFLFlBQVksQ0FBQyxFQUFFLElBQUkwVixJQUFHNVYsQ0FBQyxFQUFFLElBQUk0VixJQUFHMVYsQ0FBQyxDQUFDLEdBQUcsS0FBS3lYLElBQUcsS0FBS0MsSUFBRyxLQUFLRyxJQUFHLE9BQU85USxJQUFHLENBQUNqSCxFQUFFLENBQUNFLENBQUMsRUFBRSxLQUFLMlgsSUFBRyxPQUFPN1gsRUFBRSxNQUFNRSxFQUFFLE1BQU1GLEVBQUUsU0FBU0UsRUFBRSxRQUFRLEtBQUs4WCxJQUFHLEtBQUtFLElBQUcsT0FBT2xZLEdBQUdFLEVBQUUsR0FBRyxLQUFLNFgsSUFBRyxJQUFJbk0sRUFBRTJMLElBQUcsS0FBS1csSUFBRyxJQUFJck0sRUFBRTlKLEVBQUUyVixJQUFHLEdBQUc5TCxJQUFJQSxFQUFFNkwsS0FBSXhYLEVBQUUsTUFBTUUsRUFBRSxNQUFNLENBQUMwTCxFQUFFLE1BQU0sR0FBRyxJQUFJQyxFQUFFSCxFQUFFLElBQUkxTCxDQUFDLEVBQUUsR0FBRzZMLEVBQUUsT0FBT0EsR0FBRzNMLEVBQUU0QixHQUFHNFYsSUFBR2hNLEVBQUUsSUFBSTFMLEVBQUVFLENBQUMsRUFBRSxJQUFJeVcsRUFBRVMsSUFBR3pMLEVBQUUzTCxDQUFDLEVBQUUyTCxFQUFFekwsQ0FBQyxFQUFFNEIsRUFBRWEsRUFBRSxFQUFFK0ksQ0FBQyxFQUFFLE9BQU9BLEVBQUUsT0FBTzFMLENBQUMsRUFBRTJXLEVBQUUsS0FBS3dCLElBQUcsR0FBR0ksSUFBRyxPQUFPQSxJQUFHLEtBQUt2WSxDQUFDLEdBQUd1WSxJQUFHLEtBQUtyWSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxJQUFJdVksSUFBR0QsSUFBT0UsSUFBRyxFQUFFQyxJQUFHLE9BQU8sVUFBVUMsSUFBR0QsSUFBRyxlQUFlLFNBQVNFLElBQUc3WSxFQUFFRSxFQUFFLEVBQUU0QixFQUFFYSxFQUFFLEVBQUUsQ0FBQyxJQUFJK0ksRUFBRSxFQUFFZ04sSUFBRy9NLEVBQUUwSSxJQUFHclUsQ0FBQyxFQUFFNEwsRUFBRUQsRUFBRSxPQUFPRSxFQUFFd0ksSUFBR25VLENBQUMsRUFBRXlXLEVBQUU5SyxFQUFFLE9BQU8sR0FBR0QsR0FBRytLLEdBQUcsQ0FBQ2pMLEVBQUUsTUFBTSxHQUFHLFFBQVFrTCxFQUFFaEwsRUFBRWdMLEtBQUssQ0FBQyxJQUFJQyxFQUFFbEwsRUFBRWlMLENBQUMsRUFBRSxHQUFHLEVBQUVsTCxFQUFFbUwsS0FBSzNXLEVBQUUwWSxJQUFHLEtBQUsxWSxFQUFFMlcsQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFDLElBQUlDLEVBQUUsRUFBRSxJQUFJOVcsQ0FBQyxFQUFFK1csRUFBRSxFQUFFLElBQUk3VyxDQUFDLEVBQUUsR0FBRzRXLEdBQUdDLEVBQUUsT0FBT0QsR0FBRzVXLEdBQUc2VyxHQUFHL1csRUFBRSxJQUFJZ1gsRUFBRSxHQUFHLEVBQUUsSUFBSWhYLEVBQUVFLENBQUMsRUFBRSxFQUFFLElBQUlBLEVBQUVGLENBQUMsRUFBRSxRQUFRaVgsRUFBRXZMLEVBQUUsRUFBRWtMLEVBQUVoTCxHQUFHLENBQUNpTCxFQUFFbEwsRUFBRWlMLENBQUMsRUFBRSxJQUFJTSxFQUFFbFgsRUFBRTZXLENBQUMsRUFBRU0sRUFBRWpYLEVBQUUyVyxDQUFDLEVBQUUsR0FBRy9VLEVBQUUsSUFBSWdYLEVBQUVwTixFQUFFNUosRUFBRXFWLEVBQUVELEVBQUVMLEVBQUUzVyxFQUFFRixFQUFFLENBQUMsRUFBRThCLEVBQUVvVixFQUFFQyxFQUFFTixFQUFFN1csRUFBRUUsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFNFksSUFBSSxPQUFPNUIsSUFBSUMsR0FBR3hVLEVBQUV1VSxFQUFFQyxFQUFFLEVBQUVyVixFQUFFLENBQUMsRUFBRWdYLEdBQUcsQ0FBQzlCLEVBQUUsR0FBRyxLQUFLLENBQUNDLElBQUlBLEVBQUVKLEdBQUcsY0FBYyxDQUFDLEdBQUdHLEdBQUcsQ0FBQ0MsRUFBRSxDQUFDLElBQUk4QixFQUFFL1ksRUFBRSxZQUFZZ1osRUFBRTlZLEVBQUUsWUFBWTZZLEdBQUdDLEdBQUcsZ0JBQWdCaFosR0FBRyxnQkFBZ0JFLEdBQUcsRUFBRSxPQUFPNlksR0FBRyxZQUFZQSxhQUFhQSxHQUFHLE9BQU9DLEdBQUcsWUFBWUEsYUFBYUEsS0FBS2hDLEVBQUUsR0FBRyxDQUFDLE9BQU8sRUFBRSxPQUFPaFgsQ0FBQyxFQUFFLEVBQUUsT0FBT0UsQ0FBQyxFQUFFOFcsQ0FBQyxDQUFDLElBQUlpQyxJQUFHSixJQUFPSyxJQUFHLEVBQUVDLElBQUcscUJBQXFCQyxJQUFHLGlCQUFpQkMsSUFBRyxrQkFBa0JDLElBQUcsT0FBTyxVQUFVQyxJQUFHRCxJQUFHLGVBQWUsU0FBU0UsSUFBR3haLEVBQUVFLEVBQUUsRUFBRTRCLEVBQUVhLEVBQUUsRUFBRSxDQUFDLElBQUkrSSxFQUFFNUgsR0FBRTlELENBQUMsRUFBRTJMLEVBQUU3SCxHQUFFNUQsQ0FBQyxFQUFFMEwsRUFBRUYsRUFBRTBOLElBQUcxRCxJQUFHMVYsQ0FBQyxFQUFFNkwsRUFBRUYsRUFBRXlOLElBQUcxRCxJQUFHeFYsQ0FBQyxFQUFFMEwsRUFBRUEsR0FBR3VOLElBQUdFLElBQUd6TixFQUFFQyxFQUFFQSxHQUFHc04sSUFBR0UsSUFBR3hOLEVBQUUsSUFBSThLLEVBQUUvSyxHQUFHeU4sSUFBR3pDLEVBQUUvSyxHQUFHd04sSUFBR3hDLEVBQUVqTCxHQUFHQyxFQUFFLEdBQUdnTCxHQUFHN04sSUFBR2hKLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQ2dKLElBQUc5SSxDQUFDLEVBQUUsTUFBTSxHQUFHd0wsRUFBRSxHQUFHaUwsRUFBRSxFQUFFLENBQUMsR0FBR0UsR0FBRyxDQUFDRixFQUFFLE9BQU8sSUFBSSxFQUFFLElBQUl0RCxLQUFJM0gsR0FBR0osSUFBR3RMLENBQUMsRUFBRW9YLElBQUdwWCxFQUFFRSxFQUFFLEVBQUU0QixFQUFFYSxFQUFFLENBQUMsRUFBRThWLElBQUd6WSxFQUFFRSxFQUFFMEwsRUFBRSxFQUFFOUosRUFBRWEsRUFBRSxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUV1VyxLQUFJLENBQUMsSUFBSXBDLEVBQUVILEdBQUc0QyxJQUFHLEtBQUt2WixFQUFFLGFBQWEsRUFBRStXLEVBQUVILEdBQUcyQyxJQUFHLEtBQUtyWixFQUFFLGFBQWEsRUFBRSxHQUFHNFcsR0FBR0MsRUFBRSxDQUFDLElBQUlDLEVBQUVGLEVBQUU5VyxFQUFFLE1BQU0sRUFBRUEsRUFBRWlYLEVBQUVGLEVBQUU3VyxFQUFFLE1BQU0sRUFBRUEsRUFBRSxPQUFPLElBQUksRUFBRSxJQUFJbVQsS0FBSTFRLEVBQUVxVSxFQUFFQyxFQUFFLEVBQUVuVixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTytVLEdBQUcsSUFBSSxFQUFFLElBQUl4RCxLQUFJNEYsSUFBR2paLEVBQUVFLEVBQUUsRUFBRTRCLEVBQUVhLEVBQUUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJOFcsSUFBR0QsSUFBRyxTQUFTRSxJQUFHMVosRUFBRUUsRUFBRSxFQUFFNEIsRUFBRWEsRUFBRSxDQUFDLE9BQU8zQyxJQUFJRSxFQUFFLEdBQUdGLEdBQUcsTUFBTUUsR0FBRyxNQUFNLENBQUNxRCxJQUFFdkQsQ0FBQyxHQUFHLENBQUN1RCxJQUFFckQsQ0FBQyxFQUFFRixJQUFJQSxHQUFHRSxJQUFJQSxFQUFFdVosSUFBR3paLEVBQUVFLEVBQUUsRUFBRTRCLEVBQUU0WCxJQUFHL1csQ0FBQyxDQUFDLENBQUMsSUFBSWdYLElBQUdELElBQU9FLElBQUcsRUFBRUMsSUFBRyxFQUFFLFNBQVNDLElBQUc5WixFQUFFRSxFQUFFLEVBQUU0QixFQUFFLENBQUMsSUFBSWEsRUFBRSxFQUFFLE9BQU8sRUFBRUEsRUFBRStJLEVBQUUsQ0FBQzVKLEVBQUUsR0FBRzlCLEdBQUcsS0FBSyxNQUFNLENBQUMsRUFBRSxJQUFJQSxFQUFFLE9BQU9BLENBQUMsRUFBRTJDLEtBQUssQ0FBQyxJQUFJZ0osRUFBRSxFQUFFaEosQ0FBQyxFQUFFLEdBQUcrSSxHQUFHQyxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLElBQUkzTCxFQUFFMkwsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFQSxFQUFFLENBQUMsSUFBSTNMLEdBQUcsTUFBTSxFQUFFLENBQUMsS0FBSyxFQUFFMkMsRUFBRSxHQUFHLENBQUNnSixFQUFFLEVBQUVoSixDQUFDLEVBQUUsSUFBSWlKLEVBQUVELEVBQUUsQ0FBQyxFQUFFRSxFQUFFN0wsRUFBRTRMLENBQUMsRUFBRStLLEVBQUVoTCxFQUFFLENBQUMsRUFBRSxHQUFHRCxHQUFHQyxFQUFFLENBQUMsR0FBRyxHQUFHRSxJQUFJLFFBQVEsRUFBRUQsS0FBSzVMLEdBQUcsTUFBTSxPQUFPLENBQUMsSUFBSTRXLEVBQUUsSUFBSXZELElBQUcsR0FBR3ZSLEVBQUUsSUFBSStVLEVBQUUvVSxFQUFFK0osRUFBRThLLEVBQUUvSyxFQUFFNUwsRUFBRUUsRUFBRTBXLENBQUMsRUFBRSxHQUFHLEVBQUVDLElBQUksT0FBTzhDLElBQUdoRCxFQUFFOUssRUFBRStOLElBQUdDLElBQUcvWCxFQUFFOFUsQ0FBQyxFQUFFQyxHQUFHLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsSUFBSWtELElBQUdELElBQUcsU0FBU0UsSUFBR2hhLEVBQUUsQ0FBQyxPQUFPQSxJQUFJQSxHQUFHLENBQUNxRSxJQUFFckUsQ0FBQyxDQUFDLENBQUMsSUFBSWlhLElBQUdELElBQUcsU0FBU0UsSUFBR2xhLEVBQUUsQ0FBQyxRQUFRRSxFQUFFc00sSUFBR3hNLENBQUMsRUFBRSxFQUFFRSxFQUFFLE9BQU8sS0FBSyxDQUFDLElBQUk0QixFQUFFNUIsRUFBRSxDQUFDLEVBQUV5QyxFQUFFM0MsRUFBRThCLENBQUMsRUFBRTVCLEVBQUUsQ0FBQyxFQUFFLENBQUM0QixFQUFFYSxFQUFFc1gsSUFBR3RYLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBT3pDLENBQUMsQ0FBQyxJQUFJaWEsSUFBR0QsSUFBRyxTQUFTRSxJQUFHcGEsRUFBRUUsRUFBRSxDQUFDLE9BQU8sU0FBUyxFQUFFLENBQUMsT0FBTyxHQUFHLEtBQUssR0FBRyxFQUFFRixDQUFDLElBQUlFLElBQUlBLElBQUksUUFBUUYsS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSXFhLElBQUdELElBQUcsU0FBU0UsSUFBR3RhLEVBQUUsQ0FBQyxJQUFJRSxFQUFFaWEsSUFBR25hLENBQUMsRUFBRSxPQUFPRSxFQUFFLFFBQVEsR0FBR0EsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFbWEsSUFBR25hLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsT0FBTyxJQUFJRixHQUFHK1osSUFBRyxFQUFFL1osRUFBRUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJcWEsSUFBR0QsSUFBRyxTQUFTRSxJQUFHeGEsRUFBRUUsRUFBRSxDQUFDLE9BQU9GLEdBQUcsTUFBTUUsS0FBSyxPQUFPRixDQUFDLENBQUMsQ0FBQyxJQUFJeWEsSUFBR0QsSUFBRyxTQUFTRSxJQUFHMWEsRUFBRUUsRUFBRSxFQUFFLENBQUNBLEVBQUVzUixJQUFHdFIsRUFBRUYsQ0FBQyxFQUFFLFFBQVE4QixFQUFFLEdBQUdhLEVBQUV6QyxFQUFFLE9BQU8sRUFBRSxHQUFHLEVBQUU0QixFQUFFYSxHQUFHLENBQUMsSUFBSStJLEVBQUVpRyxJQUFFelIsRUFBRTRCLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxFQUFFOUIsR0FBRyxNQUFNLEVBQUVBLEVBQUUwTCxDQUFDLEdBQUcsTUFBTTFMLEVBQUVBLEVBQUUwTCxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsRUFBRTVKLEdBQUdhLEVBQUUsR0FBR0EsRUFBRTNDLEdBQUcsS0FBSyxFQUFFQSxFQUFFLE9BQU8sQ0FBQyxDQUFDMkMsR0FBRzZFLElBQUc3RSxDQUFDLEdBQUdrRSxJQUFHNkUsRUFBRS9JLENBQUMsSUFBSW1CLEdBQUU5RCxDQUFDLEdBQUd1SSxJQUFHdkksQ0FBQyxHQUFHLENBQUMsSUFBSTJhLElBQUdELElBQUcsU0FBU0UsSUFBRzVhLEVBQUVFLEVBQUUsQ0FBQyxPQUFPRixHQUFHLE1BQU0yYSxJQUFHM2EsRUFBRUUsRUFBRXVhLEdBQUUsQ0FBQyxDQUFDLElBQUlJLElBQUdELElBQU9FLElBQUcsRUFBRUMsSUFBRyxFQUFFLFNBQVNDLElBQUdoYixFQUFFRSxFQUFFLENBQUMsT0FBT2tOLElBQUdwTixDQUFDLEdBQUdpYSxJQUFHL1osQ0FBQyxFQUFFbWEsSUFBRzFJLElBQUUzUixDQUFDLEVBQUVFLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxJQUFJNEIsRUFBRWlRLElBQUcsRUFBRS9SLENBQUMsRUFBRSxPQUFPOEIsSUFBSSxRQUFRQSxJQUFJNUIsRUFBRTJhLElBQUcsRUFBRTdhLENBQUMsRUFBRTJaLElBQUd6WixFQUFFNEIsRUFBRWdaLElBQUdDLEdBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSUUsSUFBR0QsSUFBRyxTQUFTRSxJQUFHbGIsRUFBRSxDQUFDLE9BQU8sU0FBU0UsRUFBRSxDQUFDLE9BQU9BLElBQUlGLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSW1iLElBQUdELElBQUcsU0FBU0UsSUFBR3BiLEVBQUUsQ0FBQyxPQUFPLFNBQVNFLEVBQUUsQ0FBQyxPQUFPMlIsSUFBRzNSLEVBQUVGLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSXFiLElBQUdELElBQUcsU0FBU0UsSUFBR3RiLEVBQUUsQ0FBQyxPQUFPb04sSUFBR3BOLENBQUMsRUFBRW1iLElBQUd4SixJQUFFM1IsQ0FBQyxDQUFDLEVBQUVxYixJQUFHcmIsQ0FBQyxDQUFDLENBQUMsSUFBSXViLElBQUdELElBQUcsU0FBU0UsSUFBR3hiLEVBQUUsQ0FBQyxPQUFPLE9BQU9BLEdBQUcsV0FBV0EsRUFBRUEsR0FBRyxLQUFLdUUsSUFBRyxPQUFPdkUsR0FBRyxTQUFTOEQsR0FBRTlELENBQUMsRUFBRWliLElBQUdqYixFQUFFLENBQUMsRUFBRUEsRUFBRSxDQUFDLENBQUMsRUFBRXVhLElBQUd2YSxDQUFDLEVBQUV1YixJQUFHdmIsQ0FBQyxDQUFDLENBQUMsSUFBSXliLElBQUdELElBQUcsU0FBU0UsSUFBRzFiLEVBQUUsQ0FBQyxPQUFPLFNBQVNFLEVBQUUsRUFBRTRCLEVBQUUsQ0FBQyxRQUFRYSxFQUFFLEdBQUcsRUFBRSxPQUFPekMsQ0FBQyxFQUFFd0wsRUFBRTVKLEVBQUU1QixDQUFDLEVBQUV5TCxFQUFFRCxFQUFFLE9BQU9DLEtBQUssQ0FBQyxJQUFJQyxFQUFFRixFQUFFMUwsRUFBRTJMLEVBQUUsRUFBRWhKLENBQUMsRUFBRSxHQUFHLEVBQUUsRUFBRWlKLENBQUMsRUFBRUEsRUFBRSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUMsT0FBTzFMLENBQUMsQ0FBQyxDQUFDLElBQUl5YixJQUFHRCxJQUFPRSxJQUFHRCxJQUFHLEVBQUVFLElBQUdELElBQUcsU0FBU0UsSUFBRzliLEVBQUVFLEVBQUUsQ0FBQyxPQUFPRixHQUFHNmIsSUFBRzdiLEVBQUVFLEVBQUVzTSxHQUFFLENBQUMsQ0FBQyxJQUFJdVAsSUFBR0QsSUFBT0UsSUFBRyxJQUFJLFNBQVNDLElBQUdqYyxFQUFFLENBQUMsSUFBSUUsRUFBRUYsR0FBRyxLQUFLLEVBQUVBLEVBQUUsT0FBTyxPQUFPRSxFQUFFb1MsSUFBR3RTLEVBQUVnYyxHQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSUUsSUFBR0QsSUFBRyxTQUFTRSxJQUFHbmMsRUFBRUUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLEVBQUUsT0FBT0EsRUFBRXViLElBQUd2YixFQUFFLENBQUMsRUFBRTZiLElBQUcvYixFQUFFLFNBQVM4QixFQUFFYSxFQUFFLEVBQUUsQ0FBQ29FLElBQUcsRUFBRXBFLEVBQUV6QyxFQUFFNEIsRUFBRWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUl5WixJQUFHRCxJQUFHLFNBQVNFLElBQUdyYyxFQUFFRSxFQUFFLEVBQUU0QixFQUFFLENBQUMsR0FBRyxDQUFDdUMsSUFBRXJFLENBQUMsRUFBRSxPQUFPQSxFQUFFRSxFQUFFc1IsSUFBR3RSLEVBQUVGLENBQUMsRUFBRSxRQUFRMkMsRUFBRSxHQUFHLEVBQUV6QyxFQUFFLE9BQU93TCxFQUFFLEVBQUUsRUFBRUMsRUFBRTNMLEVBQUUyTCxHQUFHLE1BQU0sRUFBRWhKLEVBQUUsR0FBRyxDQUFDLElBQUlpSixFQUFFK0YsSUFBRXpSLEVBQUV5QyxDQUFDLENBQUMsRUFBRWtKLEVBQUUsRUFBRSxHQUFHRCxJQUFJLGFBQWFBLElBQUksZUFBZUEsSUFBSSxZQUFZLE9BQU81TCxFQUFFLEdBQUcyQyxHQUFHK0ksRUFBRSxDQUFDLElBQUlpTCxFQUFFaEwsRUFBRUMsQ0FBQyxFQUFFQyxFQUFFL0osRUFBRUEsRUFBRTZVLEVBQUUvSyxFQUFFRCxDQUFDLEVBQUUsT0FBT0UsSUFBSSxTQUFTQSxFQUFFeEgsSUFBRXNTLENBQUMsRUFBRUEsRUFBRTlQLElBQUczRyxFQUFFeUMsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMwRSxJQUFHc0UsRUFBRUMsRUFBRUMsQ0FBQyxFQUFFRixFQUFFQSxFQUFFQyxDQUFDLENBQUMsQ0FBQyxPQUFPNUwsQ0FBQyxDQUFDLElBQUlzYyxJQUFHRCxJQUFHLFNBQVNFLElBQUd2YyxFQUFFRSxFQUFFLEVBQUUsQ0FBQyxRQUFRNEIsRUFBRSxHQUFHYSxFQUFFekMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLEVBQUU0QixFQUFFYSxHQUFHLENBQUMsSUFBSStJLEVBQUV4TCxFQUFFNEIsQ0FBQyxFQUFFNkosRUFBRWtHLElBQUc3UixFQUFFMEwsQ0FBQyxFQUFFLEVBQUVDLEVBQUVELENBQUMsR0FBRzRRLElBQUcsRUFBRTlLLElBQUc5RixFQUFFMUwsQ0FBQyxFQUFFMkwsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSTZRLElBQUdELElBQUcsU0FBU0UsSUFBR3pjLEVBQUVFLEVBQUUsQ0FBQyxHQUFHRixHQUFHLEtBQUssTUFBTSxDQUFDLEVBQUUsSUFBSSxFQUFFNEQsSUFBRzJRLElBQUd2VSxDQUFDLEVBQUUsU0FBUzhCLEVBQUUsQ0FBQyxNQUFNLENBQUNBLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTzVCLEVBQUV1YixJQUFHdmIsQ0FBQyxFQUFFc2MsSUFBR3hjLEVBQUUsRUFBRSxTQUFTOEIsRUFBRWEsRUFBRSxDQUFDLE9BQU96QyxFQUFFNEIsRUFBRWEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJK1osSUFBR0QsSUFROXZsQixJQUFJRSxHQUFFLENBQUMsV0FBVzNjLEdBQUcsSUFBQTRjLFFBQUcsUUFBUTVjLENBQUMsRUFBRSxNQUFNQSxHQUFHLElBQUE0YyxRQUFHLE1BQU01YyxDQUFDLEVBQUUsSUFBSUEsR0FBRyxJQUFBNGMsUUFBRyxJQUFJNWMsQ0FBQyxFQUFFLE9BQU9BLEdBQUcsSUFBQTRjLFFBQUcsT0FBTzVjLENBQUMsQ0FBQyxFQUFNNmMsSUFBRTdjLElBQUksUUFBUSxLQUFLLEdBQUcyYyxHQUFFLFdBQVcsTUFBTSxDQUFDLElBQUkzYyxDQUFDLEVBQUUsRUFBRSxDQUFDLFFBQVFFLEdBQUcsUUFBUSxLQUFLLEdBQUd5YyxHQUFFLE1BQU0sTUFBTSxDQUFDLElBQUkzYyxDQUFDLEdBQUdFLEVBQUU7QUFBQSxJQUM1TUEsRUFBRSxNQUFNO0FBQUEsQ0FDWCxFQUFFLElBQUksR0FBRztBQUFBLE1BQ0osQ0FBQyxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsS0FBSyxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsS0FBS0EsR0FBRyxRQUFRLE1BQU0sR0FBR3ljLEdBQUUsSUFBSSxNQUFNLENBQUMsSUFBSTNjLENBQUMsTUFBTUUsQ0FBQyxFQUFFLEVBQUUsS0FBS0EsR0FBRyxRQUFRLEtBQUssR0FBR3ljLEdBQUUsT0FBTyxNQUFNLENBQUMsSUFBSTNjLENBQUMsTUFBTUUsQ0FBQyxFQUFFLENBQUMsR0FBTzRjLElBQUUsQ0FBQzljLEVBQUVFLEVBQUUsWUFBWSxPQUFPRixHQUFHLFNBQVNBLEVBQUUsTUFBTUUsQ0FBQyxFQUFFLElBQUksR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU9xRSxHQUFFLEVBQUUyWCxJQUFHbGMsRUFBRSxJQUFJLEdBQUcsRUFBRSxNQUFNLFNBQVMsRUFBRSxJQUFJOEIsR0FBR0EsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBT3lDLEdBQUUsRUFBRXdZLElBQUcvYyxHQUFHQSxFQUFFLEVBQU1nZCxJQUFHLElBQUksSUFBSXpiLEdBQUUsQ0FBQ3ZCLEVBQUVFLEtBQUs4YyxJQUFHLElBQUloZCxFQUFFRSxDQUFDLEVBQUVBLEdBQUdtQixJQUFHLElBQUk0YixHQUFFbGMsSUFBRyxJQUFJTSxJQUFHLFNBQVMsR0FBRzBiLElBQUc1YixJQUFHSSxHQUFFLE1BQU0sSUFBSTBiLEVBQUMsRUFBRTVjLElBQUdrQixHQUFFLHFCQUFxQixJQUFJMGIsRUFBQyxFQUFFMWMsSUFBR2dCLEdBQUUsa0JBQWtCLElBQUkwYixFQUFDLEVBQUU3YixJQUFHRyxHQUFFLGlCQUFpQixJQUFJMGIsRUFBQyxFQUFFM2MsR0FBRWlCLEdBQUUsYUFBYSxJQUFJMGIsRUFBQyxFQUFFM2IsSUFBR0MsR0FBRSxtQkFBbUIsSUFBSTBiLEVBQUMsRUFBRXpjLElBQUdlLEdBQUUsY0FBYyxJQUFJMGIsRUFBQyxFQUFFeGIsSUFBRUYsR0FBRSxvQkFBb0IsSUFBSTBiLEVBQUMsRUFBRXpiLElBQUdELEdBQUUsc0JBQXNCLElBQUkwYixFQUFDLEVBQUV2YyxJQUFHLElBQUksQ0FBQyxHQUFHc2MsSUFBRyxRQUFRLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQ2hkLEVBQUVFLENBQUMsSUFBSSxDQUFDRixFQUFFRSxFQUFFLFNBQVMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQ0YsQ0FBQyxJQUFJLE9BQU9BLEVBQUUsR0FBRyxFQUFFUyxHQUFFLElBQUksQ0FBQyxJQUFJVCxFQUFFSyxJQUFHLFNBQVMsRUFBRSxTQUFPLElBQUE2YyxXQUFHbGQsRUFBRSxnQ0FBZ0MsRUFBRUEsQ0FBQyxFQUFFVyxHQUFFLElBQUlMLEdBQUUsU0FBUyxHQUFHLENBQUMsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFVSxJQUFHLElBQUlNLElBQUcsU0FBUyxHQUFHLENBQUMsSUFBSSxRQUFRLElBQUksQ0FBQyxFQUFFVCxHQUFFLElBQUksQ0FBQyxJQUFJYixFQUFFUSxJQUFHLFNBQVMsRUFBRSxTQUFPLElBQUEwYyxXQUFHbGQsRUFBRSx1QkFBdUIsRUFBRUEsQ0FBQyxFQUFFYyxJQUFHLElBQVdLLElBQUcsU0FBUyxHQUFZLElBQUlTLElBQUcsQ0FBQyxXQUFXLEdBQUcsR0FBRyxFQUFFLENBQUMsRUFBR1YsSUFBRyxJQUFJLENBQUMsSUFBSWxCLEVBQUV5QixJQUFFLFNBQVMsRUFBRSxTQUFPLElBQUF5YixXQUFHbGQsRUFBRSw2QkFBNkIsRUFBRUEsQ0FBQyxFQUFFaUIsSUFBRyxJQUFJLENBQUMsSUFBSWpCLEVBQUV3QixJQUFHLFNBQVMsRUFBRSxTQUFPLElBQUEwYixXQUFHbGQsRUFBRSwrQkFBK0IsRUFBRUEsQ0FBQyxFQUFFWSxJQUFHLElBQUksQ0FBQyxJQUFJWixFQUFFTyxJQUFHLFNBQVMsRUFBRSxTQUFPLElBQUEyYyxXQUFHbGQsRUFBRSwyQkFBMkIsRUFBRUEsQ0FBQyxFQUFzR21kLElBQUcsY0FBYyxPQUFPLENBQUMsR0FBRyxHQUFHLFlBQVksRUFBRSxDQUFDLE1BQU14YixHQUFHLENBQUNBLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsQ0FBQyxPQUFPLEtBQUssRUFBRSxDQUFDLE9BQU8sSUFBSXdiLElBQUd4YixHQUFHLENBQUNBLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxRQUFRLEVBQUUsQ0FBQyxPQUFPLElBQUl3YixJQUFHeGIsR0FBRyxDQUFDQSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLE9BQU8sRUFBRSxDQUFDLE9BQU8sSUFBSXdiLElBQUcsQ0FBQ3hiLEVBQUVHLElBQUksQ0FBQ0EsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFSCxFQUFFLENBQUMsT0FBTyxLQUFLLEtBQUssSUFBSSxRQUFRLEtBQUssRUFBRSxFQUFFLEtBQUssR0FBRyxLQUFLLEVBQUVBLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLE9BQU8sS0FBSyxHQUFHLEtBQUssSUFBSSxJQUFJLFFBQVEsS0FBSyxFQUFFLEVBQUUsS0FBSyxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTeWIsSUFBR3BkLEVBQUUsQ0FBQyxJQUFJRSxFQUFFbWQsSUFBRyxNQUFNLEVBQUUsT0FBT25kLEVBQUUsT0FBTyxLQUFLLFVBQVVGLENBQUMsQ0FBQyxFQUFFRSxFQUFFLE9BQU8sS0FBSyxDQUFDLENBQUMsSUFBSW9kLElBQUcsS0FBSyxDQUFDLEtBQUssS0FBSyxVQUFVLFNBQVMsWUFBWSxFQUFFM2IsRUFBRUcsRUFBRSxDQUFDLEtBQUssS0FBSyxFQUFFLEtBQUssVUFBVUEsRUFBRSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsRUFBRSxLQUFLLEtBQUtzYixJQUFHLENBQUMsS0FBSyxFQUFFLEdBQUd6YixFQUFFLFNBQVMsRUFBRSxLQUFLRyxDQUFDLENBQUMsRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRXliLElBQUcsSUFBSUMsSUFBR0MsSUFBRyxJQUFJRCxJQUFHRSxJQUFHLElBQUlGLElBQUdHLElBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFQyxJQUFHLElBQUlELElBQUcsU0FBU0UsR0FBRTdkLEVBQUVFLEVBQUUsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLElBQUk0QixFQUFFMmIsSUFBRyxTQUFTLEVBQUU5YSxFQUFFLElBQUkyYSxJQUFHdGQsRUFBRUUsRUFBRSxTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU80QixFQUFFQSxFQUFFLFNBQVMsS0FBS2EsQ0FBQyxFQUFFZ2IsSUFBRyxTQUFTLEtBQUtoYixDQUFDLEVBQUU0YSxJQUFHLElBQUk1YSxFQUFFekMsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSTRkLEdBQUUsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssS0FBSyxFQUFFLEtBQUssU0FBU1AsSUFBRyxTQUFTLEVBQUUsS0FBSyxlQUFlRyxJQUFHLFNBQVMsR0FBR1gsR0FBRSxDQUFDLE1BQU0sU0FBUyxRQUFRLFNBQVMsc0JBQXNCLEdBQUcsVUFBVSxlQUFlLFVBQVUsV0FBVyxNQUFNLFdBQVcsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxFQUFFLFVBQVUsR0FBRyxpQkFBaUIsRUFBRSxDQUFDLE9BQU8sS0FBSyxXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEtBQUssU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLE9BQU8sS0FBSyxVQUFVLEtBQUtwYixHQUFHLE9BQU9BLEVBQUUsQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQywyQkFBMkIsQ0FBQyxPQUFPLEtBQUssc0JBQXNCLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLE9BQU8sSUFBSSxLQUFLLE1BQU1rUCxJQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsT0FBTyxLQUFLLE1BQU0sRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUMsT0FBTyxLQUFLLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sS0FBSyxhQUFhLElBQUksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sS0FBSyxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLE9BQU8sS0FBSyxVQUFVLEVBQUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU91TCxJQUFHLE9BQU8sS0FBSyxVQUFVLFdBQVcsS0FBSyxTQUFTLElBQUksRUFBRSxLQUFLLFNBQVMsR0FBRyxJQUFJemEsSUFBSThiLElBQUcsSUFBSSxLQUFLLFNBQVMsSUFBSUMsSUFBRyxJQUFJLEtBQUssUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHL2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFFLENBQUMsT0FBT3lhLElBQUcsRUFBRXphLEdBQUcsSUFBSUcsSUFBSTJiLElBQUcsSUFBSSxLQUFLLFNBQVMsSUFBSUMsSUFBRyxJQUFJLEtBQUssUUFBUSxFQUFFLElBQUkvYixFQUFFLEdBQUdHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBS0gsS0FBSyxLQUFLLFVBQVVBLEVBQUUsS0FBSyxlQUFlLEtBQUssS0FBSyxXQUFXb2IsS0FBSSxVQUFVLEtBQUssT0FBTyxDQUFDLEtBQUssWUFBWSxLQUFLLFVBQVUsR0FBRyxNQUFNLEtBQUssTUFBTSxJQUFJLEdBQUcsS0FBSyxXQUFXLE1BQU1VLElBQUcsSUFBSSxLQUFLLFNBQVMsS0FBSyxVQUFVLElBQUksRUFBRSxJQUFJLEdBQUcsSUFBSSxFQUFFLEdBQUcsS0FBSyxVQUFVLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEtBQUssUUFBUSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxPQUFPLEtBQUssVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLElBQUlOLElBQUcsQ0FBQ3hiLEVBQUVHLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxFQUFFaWMsRUFBRSxHQUFHLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRSxTQUFTLENBQUMsRUFBRSxNQUFNLEtBQUssVUFBVSxJQUFJLEVBQUVBLEVBQUUsRUFBRSxDQUFDLEVBQUVBLElBQUksRUFBRSxNQUFNLEtBQUssVUFBVSxJQUFJLEdBQUcsQ0FBQyxHQUFHLEVBQUUsS0FBS3BjLENBQUMsRUFBRSxNQUFNRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsS0FBSyxzQkFBc0IsQ0FBQyxJQUFJSCxFQUFFLEtBQUssZUFBZSxFQUFFLFFBQVFHLEtBQUtILEVBQUUsRUFBRUcsQ0FBQyxFQUFFSCxFQUFFRyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFpR2tjLElBQUcsQ0FBQ2hlLEVBQUVFLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJNEIsRUFBRSxFQUFFLEtBQUssUUFBUSxJQUFJLEVBQUUsT0FBVSxlQUFXQSxDQUFDLEVBQUUsSUFBSSxRQUFRLENBQUNhLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxnQkFBZ0IrSSxFQUFFLFlBQVlDLEVBQUUsYUFBYUMsRUFBRSxNQUFNQyxFQUFFLFVBQVU4SyxFQUFFLFVBQVVDLEVBQUUsR0FBR0MsQ0FBQyxFQUFFLEVBQUVDLEVBQUU0RixJQUFHLENBQUMsR0FBRyxRQUFRLElBQUksR0FBRzdGLEdBQUcsSUFBSSxZQUFZLEVBQUUsRUFBRSxDQUFDbUMsRUFBRWlGLElBQUlySCxJQUFJcUgsRUFBRWpGLENBQUMsR0FBRyxFQUFFLEVBQUVqQyxFQUFLLFVBQU0vVyxFQUFFRSxFQUFFLENBQUMsR0FBRzJXLEVBQUUsSUFBSS9VLEVBQUUsSUFBSWdWLENBQUMsQ0FBQyxFQUFFRSxFQUFFRCxFQUFFLElBQUlFLEVBQUUsQ0FBQyxFQUFFQyxFQUFFLENBQUMsRUFBRUMsRUFBRTJCLEVBQUUsR0FBR0MsRUFBRXBDLEVBQUUsSUFBSSxDQUFDbUMsRUFBRSxNQUFHLElBQUFvRixTQUFHbEgsRUFBRSxTQUFTLEVBQUVELEVBQUUsTUFBTSxJQUFJLEVBQUVBLEVBQUUsT0FBTyxRQUFRLEVBQUVBLEVBQUUsT0FBTyxRQUFRLENBQUMsRUFBRXhRLElBQUd3USxFQUFFLE9BQU8sR0FBRyxPQUFPaUMsR0FBRyxDQUFDLElBQUlpRixFQUFFakYsRUFBRSxTQUFTLEVBQUUsR0FBRzlCLEVBQUUsS0FBSytHLENBQUMsRUFBRUEsRUFBRSxTQUFTLFNBQVMsR0FBR2xILEVBQUUsTUFBTSxNQUFNO0FBQUEsQ0FDOXRJLEVBQUVsTCxHQUFHb1MsRUFBRSxTQUFTcFMsQ0FBQyxFQUFFLENBQUM4SyxJQUFJbUMsRUFBRSxNQUFHLElBQUFvRixTQUFHbEgsRUFBRSxTQUFTLEVBQUVELEVBQUUsTUFBTSxJQUFJLEVBQUVBLEVBQUUsT0FBTyxRQUFRLEVBQUVBLEVBQUUsT0FBTyxRQUFRLEdBQUdwVSxFQUFFLENBQUMsT0FBT3VVLEVBQUUsT0FBT0QsRUFBRSxNQUFNRSxFQUFFLEtBQUs0QixDQUFDLENBQUMsRUFBRSxNQUFNLENBQUNELElBQUluTixHQUFHLFFBQVEsT0FBTyxNQUFNc1MsQ0FBQyxFQUFFclMsR0FBR21MLEVBQUUsTUFBTSxNQUFNO0FBQUEsQ0FDL0wsRUFBRSxDQUFDLEVBQUVBLEVBQUUsT0FBTyxHQUFHLE9BQU9pQyxHQUFHLENBQUMsSUFBSWlGLEVBQUVqRixFQUFFLFNBQVMsRUFBRSxHQUFHL0IsRUFBRSxLQUFLZ0gsQ0FBQyxFQUFFcFMsR0FBR29TLEVBQUUsU0FBU3BTLENBQUMsRUFBRSxDQUFDOEssSUFBSW1DLEVBQUUsTUFBRyxJQUFBb0YsU0FBR2xILEVBQUUsU0FBUyxFQUFFRCxFQUFFLE1BQU0sSUFBSSxFQUFFQSxFQUFFLE9BQU8sUUFBUSxFQUFFQSxFQUFFLE9BQU8sUUFBUSxHQUFHcFUsRUFBRSxDQUFDLE9BQU91VSxFQUFFLE9BQU9ELEVBQUUsTUFBTUUsRUFBRSxLQUFLNEIsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDRCxJQUFJbk4sR0FBRyxRQUFRLE9BQU8sTUFBTXNTLENBQUMsRUFBRXJTLEdBQUdtTCxFQUFFLE1BQU0sTUFBTTtBQUFBLENBQ3pQLEVBQUUsQ0FBQyxFQUFFQSxFQUFFLEdBQUcsUUFBUWlDLEdBQUcsQ0FBQzdCLEVBQUU2QixDQUFDLENBQUMsRUFBRWpDLEVBQUUsR0FBRyxRQUFRaUMsR0FBRyxDQUFDLEdBQUcsQ0FBQ3ROLEVBQUUsQ0FBQyxHQUFHeUwsRUFBRSxDQUFDLEVBQUUsSUFBSSxNQUFNLDhCQUE4Qm5YLENBQUMsSUFBSUUsRUFBRSxLQUFLLEdBQUcsQ0FBQyxnQkFBZ0JpWCxFQUFFLFNBQVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsR0FBRzZCLEVBQUUsQ0FBQyxRQUFRLE1BQU05QixFQUFFLEtBQUs7QUFBQSxDQUN2TCxDQUFDLEVBQUUsUUFBUSxNQUFNRCxFQUFFLEtBQUs7QUFBQSxDQUN4QixDQUFDLEVBQUUsRUFBRSxJQUFJLE1BQU0sOEJBQThCalgsQ0FBQyxJQUFJRSxFQUFFLEtBQUssR0FBRyxDQUFDLGVBQWU4WSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFDclcsRUFBRSxDQUFDLE9BQU91VSxFQUFFLE9BQU9ELEVBQUUsTUFBTUUsRUFBRSxLQUFLNEIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLE9BQU8sSUFBSSxNQUFNLHVCQUF1QmpYLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxFQUFFLFNBQVNxYyxJQUFHbmUsRUFBRUUsRUFBRSxDQUFDLE9BQU8sSUFBSTRkLEdBQUUsTUFBTSxFQUFFLFVBQVUsS0FBSyxDQUFDLFFBQVE5ZCxFQUFFLEtBQUtFLENBQUMsRUFBRSxFQUFFLFFBQVFrZSxHQUFFLEVBQUUsU0FBUyxNQUFNLEVBQUV0YyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUlhLENBQUMsRUFBRWhDLEdBQUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxLQUFLK0ssQ0FBQyxFQUFFNUosRUFBRSxhQUFhLEVBQUUsUUFBUSxJQUFJLEdBQUc2YSxHQUFFLFdBQVcsR0FBRyxDQUFDLElBQUlqUixHQUFHLEtBQUssR0FBRyxHQUFHLEVBQUUsRUFBRSxDQUFDLElBQUkvSSxDQUFDLEVBQUUsRUFBRSxNQUFNcWIsSUFBRyxFQUFFdFMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJL0ksRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLE9BQU8sR0FBRyxFQUFFLGVBQWUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUkwYixJQUFFUixHQUFFLE9BQU9NLEdBQUUsRUFBRUMsSUFBRyxDQUFDLEtBQUtDLElBQUUsUUFBUUMsR0FBQyxFQUFFLFNBQVNDLElBQUd2ZSxFQUFFRSxFQUFFLENBQUMsT0FBTyxJQUFJNGQsR0FBRSxTQUFTLEVBQUUsVUFBVSxLQUFLLENBQUMsS0FBSzlkLEVBQUUsS0FBS0UsQ0FBQyxFQUFFLEVBQUUsUUFBUXNlLEdBQUUsRUFBRSxTQUFTLE1BQU0sRUFBRTFjLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSWEsQ0FBQyxFQUFFaEMsR0FBRSxFQUFFLEVBQUUsT0FBTyxRQUFRbUIsRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUM0SixFQUFFLENBQUNDLEVBQUVDLENBQUMsS0FBSyxNQUFNLFFBQVFBLENBQUMsRUFBRUEsRUFBRSxRQUFRQyxHQUFHSCxFQUFFLEtBQUssS0FBS0MsQ0FBQyxJQUFJRSxDQUFDLEVBQUUsQ0FBQyxFQUFFSCxFQUFFLEtBQUssS0FBS0MsQ0FBQyxJQUFJQyxDQUFDLEVBQUUsRUFBRUYsR0FBRyxDQUFDLGtCQUFrQixDQUFDLEVBQUUsUUFBUSxJQUFJLEdBQUdpUixHQUFFLFdBQVcsV0FBVzNjLENBQUMsSUFBSSxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJMkMsQ0FBQyxFQUFFLEVBQUUsTUFBTXFiLElBQUcsTUFBTSxDQUFDLGlCQUFpQmhlLEVBQUUsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJMkMsRUFBRSxnQkFBZ0IsR0FBRyxZQUFZLEVBQUUsQ0FBQyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsRUFBRSxPQUFPLEdBQUcsRUFBRSxlQUFlLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJMmIsSUFBRVQsR0FBRSxVQUFVVSxHQUFFLEVBQUVDLElBQUcsQ0FBQyxRQUFRRixJQUFFLEtBQUtELEdBQUMsRUFBc1hJLElBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxLQUFLLFlBQVksRUFBRSxDQUFDLE1BQU0sWUFBWSxFQUFFLENBQUMsS0FBSyxPQUFPLEVBQUUsQ0FBQyxNQUFNLE9BQU8sRUFBRSxDQUFDLE9BQU8sTUFBTSxFQUFFLENBQUMsUUFBUSxPQUFPLEVBQUUsQ0FBQyxRQUFRLE1BQU0sRUFBRSxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsT0FBTyxNQUFNLEVBQUUsQ0FBQyxPQUFPLE1BQU0sRUFBRSxDQUFDLFVBQVUsU0FBUyxFQUFFLENBQUMsS0FBSyxVQUFVLEVBQUUsQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLE9BQU8sTUFBTSxFQUFFLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxPQUFPLE1BQU0sRUFBRSxDQUFDLE1BQU0sTUFBTSxDQUFDLENBQUMsRUFBRUMsSUFBRyxDQUFDLFNBQVMsRUFBRSxRQUFRLEdBQUcsS0FBSyxHQUFHLFlBQVksR0FBRyxXQUFXLFlBQVksY0FBYyxNQUFNLGVBQWUsR0FBRyxZQUFZLFNBQVMsVUFBVSxLQUFLLE9BQU8sWUFBWSxFQUFFQyxJQUFHLE1BQU0zZSxHQUFHLENBQUMsR0FBRyxDQUFDLGNBQWNFLENBQUMsRUFBRSxLQUFNLHlDQUFtQixFQUFFLE1BQU1BLEVBQUVGLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxHQUFHLElBQUksTUFBTSxPQUFPLEtBQUssQ0FBQyxFQUFFLFNBQVMsS0FBSyxFQUFFMGUsS0FBSSxJQUFJNWMsRUFBRTJjLElBQUcsSUFBSUcsSUFBRzVlLENBQUMsRUFBRSxNQUFNLENBQUMsQ0FBQyxHQUFHLGFBQWEsTUFBTSxDQUFDLEdBQUcsRUFBRSxPQUFPOEIsQ0FBQyxDQUFDLEVBQUUrYyxJQUFHLE1BQU03ZSxFQUFFRSxJQUFJLENBQUMsSUFBSSxFQUFFQSxFQUFFLFFBQVEsa0JBQWtCLEVBQUUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLE9BQU80QixDQUFDLEVBQUUsS0FBTSx5Q0FBbUJhLEVBQUUsTUFBTWdjLElBQUczZSxDQUFDLEVBQUUsT0FBTyxNQUFNOEIsRUFBRSxFQUFFYSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQStEbWMsSUFBRzllLElBQUksQ0FBQyxFQUFFQSxFQUFFLElBQUErZSxRQUFHLFdBQVcvZSxDQUFDLEVBQUUsSUFBQStlLFFBQUcsWUFBWS9lLEVBQUUsSUFBQStlLFFBQUcsV0FBVy9lLENBQUMsRUFBRSxJQUFBK2UsUUFBRyxNQUFNLElBQUksQ0FBQyxRQUFRLE1BQU0sa0VBQWtFLENBQUMsRUFBRSxPQUFPLElBQUksQ0FBQyxRQUFRLE1BQU0sbUVBQW1FLENBQUMsQ0FBQyxHQUFnR0MsSUFBRyxRQUFRLEtBQUssU0FBUyxVQUFVLEVBQUVDLElBQUcsY0FBY3ZkLEdBQUUsQ0FBQyxVQUFVLE9BQU8sYUFBYSxPQUFPLGlCQUFpQixHQUFHLGFBQWEsT0FBTyxlQUFlLENBQUMsRUFBRSxJQUFJLE1BQU0sQ0FBQyxPQUFPLEtBQUssSUFBSSxNQUFNLENBQUMsQ0FBQyxNQUFNLFVBQVUsQ0FBQyxPQUFPLE9BQU8sS0FBSyxVQUFVLE1BQU0sS0FBSyxVQUFVLE1BQVMsYUFBUyxLQUFLLEtBQUssQ0FBQyxTQUFTLE9BQU8sQ0FBQyxFQUFFLEtBQUssYUFBYSxLQUFLLFdBQVcsT0FBTyxLQUFLLGFBQWEsSUFBSSxLQUFLLGFBQWEsU0FBUyxFQUFFLEtBQUssU0FBUyxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssVUFBVSxFQUFFLEtBQUssYUFBYSxPQUFPLEtBQUssaUJBQWlCLEVBQUUsQ0FBQyxNQUFNLGFBQWEsQ0FBQyxPQUFPLE9BQU8sS0FBSyxhQUFhLE1BQU0sS0FBSyxhQUFhLElBQUl3ZCxJQUFHLE1BQU0sS0FBSyxTQUFTLENBQUMsR0FBRyxLQUFLLFlBQVksQ0FBQyxNQUFNLE9BQU8sQ0FBQyxNQUFNLEVBQUUsSUFBSXZkLEVBQUUsWUFBWUcsQ0FBQyxFQUFFLEVBQUUsTUFBTSxLQUFLLFlBQVksR0FBRyxPQUFPLEVBQUVILEVBQUVHLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUlILEVBQUUsR0FBRyxLQUFLLGNBQWMsV0FBVyxFQUFFQSxFQUFFLEtBQUssYUFBYSxTQUFTLEVBQUUsS0FBSyxtQkFBbUJBLEVBQUUsS0FBSyxXQUFXLE9BQU9BLEdBQUcsU0FBUyxDQUFDLElBQUlHLEVBQUUsS0FBSyxhQUFhLEVBQUUsRUFBRSxNQUFNK2MsSUFBRyxLQUFLLEtBQUtsZCxDQUFDLEVBQUVBLEVBQUUsTUFBUyxjQUFVLEtBQUssS0FBSyxDQUFDLEVBQUUsS0FBSyxhQUFhLE9BQU8sS0FBSyxVQUFVLE9BQU8sS0FBSyxhQUFhLE9BQU8sS0FBSyxpQkFBaUIsR0FBRyxRQUFRLE1BQU0sR0FBR2diLEdBQUUsV0FBVyxNQUFNLENBQUMsSUFBSSxLQUFLLElBQUksRUFBRSxFQUFFLElBQUlvQixFQUFFb0IsSUFBR0MsSUFBR3RkLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUM0SixFQUFFQyxDQUFDLElBQUlvUyxFQUFFLE9BQU9yUyxFQUFFLENBQUMsSUFBSSxHQUFHLFFBQVEsT0FBTyxNQUFNaVIsR0FBRSxJQUFJaFIsQ0FBQyxDQUFDLEVBQUUsTUFBTSxJQUFLLEdBQUUsUUFBUSxPQUFPLE1BQU1nUixHQUFFLE1BQU1oUixDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsUUFBUSxPQUFPLE1BQU07QUFBQSxDQUMxMkgsQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLENBQUMsT0FBTyxLQUFLLEtBQUssTUFBTSxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsRUFBTTBULElBQUc7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQTRCN0RDLElBQUcsS0FBSyxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssV0FBVyxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsTUFBTSxPQUFPLENBQUMsa0JBQWtCLEVBQUUsY0FBYyxFQUFFLGFBQWEsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLEtBQUssZUFBZSxFQUFFLFFBQVEsSUFBSSxDQUFDLEVBQUUsS0FBSyxlQUFlLEVBQUUsUUFBUSxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUMsT0FBT2xELElBQUcsS0FBSyxlQUFlLEdBQUc7QUFBQTtBQUFBLEVBRXhRLEtBQUssT0FBTyxFQUFFO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJZCxFQUFFLENBQUMsR0FBRyxRQUFRO0FBQUE7QUFBQTtBQUFBLEVBR2QsS0FBSyxVQUFVO0FBQUE7QUFBQSxFQUVmLEVBQUUsSUFBSSxDQUFDemEsRUFBRUcsSUFBSTtBQUFBLGdCQUNDQSxDQUFDO0FBQUEsRUFDZkgsRUFBRSxJQUFJO0FBQUEsZ0JBQ1FHLENBQUM7QUFBQTtBQUFBLENBRWhCLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxLQUFLLE1BQU0sQ0FBQyxPQUFPLGdCQUFnQixFQUFFLENBQUMsSUFBSUgsRUFBRSxHQUFHLE1BQU0sbUJBQW1CLElBQUksQ0FBQyxHQUFHLFFBQVEsUUFBUSxFQUFFLEdBQUcsUUFBUSxRQUFRLEVBQUUsRUFBRUcsRUFBRSxDQUFDLEVBQUUsRUFBRUgsR0FBRyxNQUFNO0FBQUEsQ0FDMUssR0FBRyxDQUFDLEVBQUVvYyxFQUFFLEdBQUdyUyxFQUFFLEdBQUcsUUFBUUMsS0FBSyxFQUFFLENBQUMsSUFBSUMsRUFBRSxPQUFPLFNBQVNELEVBQUUsTUFBTSx1QkFBdUIsSUFBSSxDQUFDLEdBQUcsR0FBRyxFQUFFLEVBQUUsR0FBRyxDQUFDLE9BQU8sTUFBTUMsQ0FBQyxFQUFFLENBQUNtUyxJQUFJblMsR0FBRzlKLEVBQUUsS0FBSzRKLENBQUMsRUFBRUEsRUFBRSxJQUFJcVMsRUFBRW5TLEVBQUUsUUFBUSxDQUFDRixHQUFHQyxDQUFDLENBQUMsT0FBTzdKLENBQUMsQ0FBQyxNQUFNLFNBQVMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxLQUFLLEtBQUtBLEdBQUdBLEVBQUUsV0FBVyxtQkFBbUIsQ0FBQyxHQUFHLFFBQVEsb0JBQW9CLEVBQUUsRUFBRSxJQUFJLFFBQVEsTUFBTSxpR0FBaUcsRUFBRSxRQUFRLEtBQUssQ0FBQyxHQUFHLElBQUlILEVBQUUsSUFBSTRkLElBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFLE1BQU0sUUFBUSxJQUFJLE9BQU8sUUFBUSxLQUFLLE9BQU8sRUFBRSxJQUFJLE1BQU0sQ0FBQ3pkLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSWljLEVBQUUsTUFBTXBjLEVBQUUsS0FBSyxZQUFZLE9BQU8sQ0FBQyxNQUFNLGNBQWMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLEtBQUssU0FBUyxRQUFRMGQsR0FBRSxFQUFFLENBQUMsS0FBSyxPQUFPLFFBQVEsQ0FBQyxDQUFDLEVBQUUsWUFBWSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEVBQUUzVCxFQUFFcVMsR0FBRyxNQUFNclMsSUFBSSxLQUFLLE9BQU8sbUJBQW1CQSxFQUFFLGtCQUFrQixLQUFLLE9BQU8sZUFBZUEsRUFBRSxjQUFjLEtBQUssT0FBTyxjQUFjQSxFQUFFLGNBQWMsSUFBSUMsRUFBRW9TLEdBQUcsUUFBUSxDQUFDLEdBQUcsUUFBUSxRQUFRblMsRUFBRTBULElBQUcsZ0JBQWdCM1QsQ0FBQyxFQUFFRSxFQUFFLENBQUMsRUFBRThLLEVBQUUsS0FBSyxlQUFlN1UsQ0FBQyxHQUFHLENBQUMsRUFBRSxRQUFROFUsRUFBRSxFQUFFQSxFQUFFRCxFQUFFLE9BQU9DLElBQUksQ0FBQyxJQUFJQyxFQUFFRixFQUFFQyxDQUFDLEVBQUVFLEVBQUVsTCxFQUFFZ0wsQ0FBQyxFQUFFL0ssRUFBRSxLQUFLLENBQUMsY0FBY2dMLEVBQUUsY0FBYyxZQUFZQSxFQUFFLFlBQVksS0FBS0MsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHakwsRUFBRSxPQUFPLEdBQUcsQ0FBQyxJQUFJK0ssRUFBRSxJQUFJcUksSUFBRyxDQUFDLEtBQUtuZCxDQUFDLENBQUMsRUFBRSxRQUFRK1UsS0FBS2hMLEVBQUUsTUFBTStLLEVBQUUsT0FBTyxDQUFDLE1BQU1DLEVBQUUsY0FBYyxJQUFJQSxFQUFFLFlBQVksWUFBWUEsRUFBRSxJQUFJLENBQUMsRUFBRSxNQUFNRCxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLElBQUksY0FBYytGLEdBQUUsV0FBVyxPQUFPLENBQUMsS0FBS0EsR0FBRSxNQUFNLGVBQWUsQ0FBQyxJQUFJLEtBQUssT0FBTyxhQUFhLE1BQU1BLEdBQUUsTUFBTSxtQkFBbUIsQ0FBQyxJQUFJLEtBQUssT0FBTyxpQkFBaUIsTUFBTUEsR0FBRSxNQUFNLGNBQWMsQ0FBQyxJQUFJLEtBQUssT0FBTyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEVBQUUsU0FBUzZDLElBQUd4ZixFQUFFLENBQUMsSUFBSUUsRUFBRSxPQUFPRixHQUFHLFNBQVNBLEVBQUVBLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxJQUFJc2YsSUFBR3BmLENBQUMsRUFBRSxPQUFPLElBQUk0ZCxHQUFFLElBQUksRUFBRSxVQUFVLEtBQUssQ0FBQyxPQUFPNWQsQ0FBQyxFQUFFLEVBQUUsUUFBUXVmLEdBQUUsRUFBRSxTQUFTLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSzNkLEVBQUUsTUFBTWEsQ0FBQyxFQUFFbEMsR0FBRSxFQUFFLEVBQUVJLEdBQUUsRUFBRTZLLEVBQUU1SixFQUFFLE1BQU0sRUFBRSxFQUFFLE1BQU0sT0FBT2EsR0FBRyxTQUFTQSxFQUFFLEtBQUssVUFBVUEsQ0FBQyxFQUFFLEVBQUUsVUFBVSxDQUFDLFNBQVMsRUFBRSxLQUFLLFNBQVMsTUFBTSxFQUFFLFNBQVMsRUFBRSxjQUFjK0ksRUFBRSxNQUFNLE1BQU0sWUFBWUEsRUFBRSxJQUFJLE1BQU0sS0FBSzVKLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxNQUFNQSxJQUFJLE1BQU0sRUFBRSxRQUFRLEVBQUVBLEVBQUUsZUFBZSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSTRkLElBQUc3QixHQUFFLEtBQUsyQixHQUFFLEVBQUVDLElBQUcsQ0FBQyxFQUFFLFNBQVNFLEtBQUksQ0FBQyxJQUFJM2YsRUFBRSxHQUFHLE9BQU8sSUFBSThkLEdBQUUsUUFBUSxFQUFFLFNBQVMsTUFBTTVkLEVBQUUsSUFBSSxDQUFDRixFQUFFLEdBQUcsTUFBTUUsSUFBSSxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUlGLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJNGYsSUFBRy9CLEdBQUUsU0FBUzhCLEdBQUUsRUFBRSxTQUFTRSxJQUFHN2YsRUFBRSxDQUFDLElBQUlFLEVBQUUsQ0FBQyxFQUFFLE9BQU8sSUFBSTRkLEdBQUUsS0FBSyxFQUFFLFFBQVFnQyxHQUFFLEVBQUUsVUFBVSxLQUFLLENBQUMsU0FBUzlmLENBQUMsRUFBRSxFQUFFLFNBQVMsTUFBTSxFQUFFOEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTYSxDQUFDLEVBQUViLEVBQUUsYUFBYSxFQUFFLEVBQUUsTUFBTWEsRUFBRW1kLEdBQUUsRUFBRTVmLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLE9BQU8sSUFBSUEsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUk2ZixJQUFHbEMsR0FBRSxNQUFNZ0MsR0FBRSxFQUFFQyxJQUFHLENBQUMsUUFBUSxJQUFJcmYsR0FBRSxFQUFFLEtBQUssU0FBU1QsR0FBR1MsR0FBRSxFQUFFLEtBQUssU0FBU1QsQ0FBQyxFQUFFLG1CQUFtQkEsR0FBR1MsR0FBRSxFQUFFLEtBQUssbUJBQW1CVCxDQUFDLENBQUMsRUFBTWdnQixJQUFHLENBQUMsUUFBUSxJQUFJdmYsR0FBRSxFQUFFLEtBQUssU0FBU1QsR0FBR1MsR0FBRSxFQUFFLEtBQUssU0FBU1QsQ0FBQyxFQUFFLG1CQUFtQkEsR0FBR1MsR0FBRSxFQUFFLEtBQUssbUJBQW1CVCxDQUFDLENBQUMsRUFBRSxTQUFTaWdCLElBQUdqZ0IsRUFBRSxDQUFDLE9BQU8sSUFBSThkLEdBQUUsU0FBUyxFQUFFLFVBQVUsSUFBSSxDQUFDLElBQUk1ZCxFQUFFLE9BQU8sT0FBT0YsR0FBRyxTQUFTRSxFQUFFRixFQUFFLE1BQU0sUUFBUUEsQ0FBQyxJQUFJRSxFQUFFRixFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsWUFBWUUsRUFBRSxTQUFTLE9BQU9GLEdBQUcsV0FBV0EsRUFBRSxNQUFNLENBQUMsQ0FBQyxFQUFFLFFBQVEsSUFBSWtnQixHQUFFLEVBQUUsT0FBT2hnQixHQUFHQSxFQUFFLGVBQWUsQ0FBQyxFQUFFLFNBQVMsTUFBTUEsRUFBRSxJQUFJLENBQUMsSUFBSTRCLEVBQUVqQixHQUFFLEVBQUUsQ0FBQyxLQUFLOEIsQ0FBQyxFQUFFbEMsR0FBRSxFQUFFLENBQUMsU0FBUyxFQUFFLFlBQVlpTCxDQUFDLEVBQUUsRUFBRSxhQUFhLEVBQUUsR0FBRyxJQUFJQSxFQUFFLE1BQU0sRUFBRSxFQUFFLFlBQVlzVSxHQUFFLENBQUMsR0FBR3RVLEVBQUUsQ0FBQyxJQUFJQyxFQUFFRCxFQUFFLFFBQVEsc0JBQXNCLENBQUNHLEVBQUU4SyxFQUFFQyxJQUFJRCxFQUFFaFUsR0FBRyxtQkFBbUJpVSxDQUFDLEVBQUUsSUFBSUMsR0FBR0EsRUFBRSxLQUFLLENBQUMsRUFBRSxLQUFLLEdBQUcsRUFBRWxVLEVBQUUsU0FBU2lVLENBQUMsR0FBRyxLQUFLLEdBQUcsRUFBRSxFQUFFaEwsRUFBRWpKLEVBQUUsTUFBTSxFQUFFLE1BQU1iLEVBQUUsT0FBTyxDQUFDLE1BQU04SixFQUFFLE1BQU0sTUFBTSxJQUFJQSxFQUFFLElBQUksTUFBTSxZQUFZRCxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJd1UsSUFBR3RDLEdBQUUsVUFBVW9DLEdBQUUsRUFBRUMsSUFBRyxDQUFDLElBQUlILEdBQUUsRUFBTUssSUFBRyxDQUFDLFFBQVEsSUFBSTNmLEdBQUUsRUFBRSxLQUFLLFNBQVNULEdBQUdTLEdBQUUsRUFBRSxLQUFLLFNBQVNULENBQUMsRUFBRSxtQkFBbUJBLEdBQUdTLEdBQUUsRUFBRSxLQUFLLG1CQUFtQlQsQ0FBQyxDQUFDLEVBQUUsU0FBU3FnQixJQUFHcmdCLEVBQUUsQ0FBQyxPQUFPLElBQUk4ZCxHQUFFLFNBQVMsRUFBRSxVQUFVLEtBQUssQ0FBQyxTQUFTOWQsQ0FBQyxFQUFFLEVBQUUsUUFBUSxJQUFJc2dCLEdBQUUsRUFBRSxPQUFPcGdCLEdBQUdBLEVBQUUsZUFBZSxDQUFDLEVBQUUsU0FBUyxNQUFNQSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUzRCLENBQUMsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNQSxFQUFFLEVBQUUsWUFBWXNlLEdBQUUsQ0FBQyxHQUFHLE1BQU1sZ0IsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJcWdCLElBQUcxQyxHQUFFLFNBQVN3QyxHQUFFLEVBQUVDLElBQUcsQ0FBQyxJQUFJUCxJQUFHLE9BQU9RLElBQUcsUUFBUUosSUFBRyxHQUFHVCxJQUFHLE9BQU9FLEdBQUUsRUFBTVksSUFBRyxDQUFDLElBQUksR0FBQUMsS0FBRSxJQUFJLEtBQUssR0FBQUEsS0FBRSxLQUFLLEdBQUcsR0FBQUEsS0FBRSxXQUFXLElBQUksR0FBQUEsS0FBRSxXQUFXLElBQUksR0FBQUEsS0FBRSxXQUFXLElBQUksR0FBQUEsS0FBRSxXQUFXLEdBQUcsR0FBQUEsS0FBRSxXQUFXLElBQUksR0FBQUEsS0FBRSxJQUFJLEdBQUcsR0FBQUEsS0FBRSxLQUFLLEVBQUUsR0FBQUEsS0FBRSxFQUFFLEVBQUUsR0FBQUEsS0FBRSxFQUFFLElBQUksR0FBQUEsS0FBRSxJQUFJLElBQUksR0FBQUEsS0FBRSxJQUFJLEdBQUcsR0FBQUEsS0FBRSxPQUFPLEtBQUssR0FBQUEsS0FBRSxLQUFLLEdBQUcsR0FBQUEsS0FBRSxPQUFPLElBQUksR0FBQUEsS0FBRSxPQUFPLEdBQUcsR0FBQUEsS0FBRSxHQUFHLEtBQUssR0FBQUEsS0FBRSxLQUFLLEtBQUssR0FBQUEsS0FBRSxLQUFLLEdBQUcsR0FBQUEsS0FBRSxPQUFPLElBQUksR0FBQUEsS0FBRSxJQUFJLElBQUksR0FBQUEsS0FBRSxJQUFJLEdBQUcsR0FBQUEsS0FBRSxPQUFPLElBQUksR0FBQUEsS0FBRSxPQUFPLEdBQUcsR0FBQUEsS0FBRSxLQUFLLEdBQUcsR0FBQUEsS0FBRSxLQUFLLE1BQU0sR0FBQUEsS0FBRSxNQUFNLE1BQU0sR0FBQUEsS0FBRSxNQUFNLElBQUksR0FBQUEsS0FBRSxJQUFJLEtBQUssR0FBQUEsS0FBRSxJQUFJLE1BQU0sR0FBQUEsS0FBRSxHQUFHLEVBQUVDLElBQU0sY0FBYSxZQUFRLEVBQUVDLElBQUcsTUFBTTNnQixFQUFFRSxJQUFJLENBQUMsSUFBSSxFQUFFSCxJQUFHLFFBQVEsNEJBQTRCLEVBQUUsQ0FBQyxJQUFJK0IsQ0FBQyxFQUFFLEtBQUssTUFBTSxNQUFTLGFBQVMsRUFBRSxPQUFPLENBQUMsRUFBRWEsRUFBSyxTQUFRLFlBQVE1QyxJQUFHLFFBQVEsNEJBQTRCLENBQUMsRUFBRStCLEVBQUUsRUFBRSxFQUFFLE1BQU00ZSxJQUFHL2QsRUFBRSxDQUFDLE9BQU8sZUFBZSxpQkFBaUIsS0FBSyxVQUFVM0MsQ0FBQyxFQUFFRSxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVMwZ0IsSUFBRzVnQixFQUFFRSxFQUFFLENBQUMsT0FBTyxJQUFJNGQsR0FBRSxTQUFTLEVBQUUsVUFBVSxJQUFJLENBQUMsSUFBSSxFQUFFOWQsRUFBRSxPQUFPLE9BQU9BLEdBQUcsV0FBVyxFQUFFLE1BQU0sUUFBUUEsQ0FBQyxFQUFFQSxFQUFFLEtBQUssRUFBRSxFQUFFQSxHQUFHLENBQUMsS0FBSyxFQUFFLFNBQVNFLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUs0QixDQUFDLEVBQUUsRUFBRSxhQUFhLEVBQUUsT0FBTyxPQUFPQSxHQUFHLFVBQVUsT0FBT0EsRUFBRStlLElBQUdDLEdBQUUsQ0FBQyxFQUFFLE9BQU8sR0FBRyxFQUFFLGVBQWUsQ0FBQyxFQUFFLFNBQVMsTUFBTSxFQUFFaGYsSUFBSSxDQUFDLElBQUlhLEVBQUU5QixHQUFFLEVBQUUsQ0FBQyxLQUFLLEVBQUUsU0FBUzZLLENBQUMsRUFBRTVKLEVBQUUsYUFBYSxFQUFFNkosRUFBRSxHQUFHLE9BQU8sR0FBRyxTQUFTLEdBQUcsQ0FBQ0EsRUFBSyxVQUFNLENBQUMsQ0FBQyxNQUFNLENBQUNBLEVBQUUsQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxXQUFXLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTUEsRUFBRSxFQUFFLEdBQUcsT0FBTyxHQUFHLFVBQVUsT0FBTyxFQUFFLE1BQU1nVixJQUFHaFYsRUFBRWhKLEVBQUUsSUFBSSxNQUFNLENBQUMsR0FBRyxDQUFDQSxFQUFFLFVBQVUsT0FBTyxJQUFJaUosRUFBRTRVLElBQUc3ZCxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUNpSixFQUFFLENBQUMsUUFBUSxLQUFLLEdBQUcrUSxHQUFFLE9BQU8sTUFBTSxDQUFDLGdDQUFnQ2hhLEVBQUUsU0FBUyxFQUFFLEVBQUUsTUFBTSxDQUFDLElBQUlrSixLQUFFLEdBQUFrVixPQUFHblYsRUFBRSxNQUFNakosRUFBRSxTQUFTLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUWdKLENBQUMsRUFBRSxRQUFRLEVBQUVnTCxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsUUFBUUMsS0FBSy9LLEVBQUUsSUFBSThLLEVBQUUsS0FBS0MsRUFBRSxNQUFNdlcsSUFBRyxJQUFJc1csRUFBRSxVQUFVLE1BQU1qTCxJQUFJb1YsR0FBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLEdBQUcsTUFBTW5lLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUlxZSxHQUFFbkQsR0FBRSxVQUFVK0MsR0FBRSxFQUFFRSxJQUFHLENBQUMsUUFBUVgsSUFBRyxJQUFJSixJQUFHLEdBQUdMLElBQUcsT0FBT2EsSUFBRyxPQUFPWCxHQUFFLEVBQUVpQixJQUFHLENBQUMsUUFBUUcsRUFBQyxFQUErSEMsSUFBRyxDQUFDLEtBQUssTUFBTSxLQUFLLE1BQU0sTUFBTSxLQUFLLEVBQUVDLElBQUcsQ0FBQ2xoQixFQUFFRSxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU0QixDQUFDLElBQUksT0FBTyxRQUFRNUIsQ0FBQyxFQUFFLEdBQUdGLElBQUk4QixFQUFFLE9BQU8sQ0FBQyxFQUFFcWYsSUFBRyxNQUFNbmhCLEVBQUVFLElBQUksQ0FBQyxHQUFHRixLQUFLRSxFQUFFLE9BQU9BLEVBQUVGLENBQUMsRUFBRSxJQUFJLEVBQUVBLEVBQUUsUUFBUSxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJOEIsRUFBRTlCLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxHQUFHOEIsS0FBSzVCLEVBQUUsTUFBTSxHQUFHQSxFQUFFNEIsQ0FBQyxDQUFDLElBQUk5QixFQUFFLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVE4QixLQUFLbWYsSUFBRyxDQUFDLElBQUl0ZSxFQUFFLEdBQUczQyxDQUFDLElBQUk4QixDQUFDLEdBQUcsR0FBR2EsS0FBS3pDLEVBQUUsT0FBUyxVQUFPLENBQUMsR0FBSyxTQUFNQSxFQUFFeUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxNQUFRLFFBQUszQyxDQUFDLEdBQUcsWUFBWSxFQUFFLFFBQVE4QixLQUFLbWYsSUFBRyxDQUFDLElBQUl0ZSxFQUFFLEdBQUssUUFBSzNDLEVBQUUsT0FBTyxDQUFDLElBQUk4QixDQUFDLEdBQUcsR0FBR2EsS0FBS3pDLEVBQUUsT0FBUyxVQUFPLENBQUMsR0FBSyxTQUFNQSxFQUFFeUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxPQUFPLElBQUksT0FBTyxLQUFLLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRXllLElBQUcsTUFBTXBoQixFQUFFRSxFQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsV0FBVyxHQUFHLEdBQUcsQ0FBQyxFQUFFLFNBQVMsY0FBYyxFQUFFLENBQUMsSUFBSTRCLEVBQUVvZixJQUFHbGhCLEVBQUVFLENBQUMsRUFBRXlDLEVBQUksV0FBVSxXQUFRYixHQUFHOUIsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU1taEIsSUFBR3hlLEVBQUV6QyxDQUFDLEdBQUd5QyxFQUFFK0ksRUFBSSxRQUFPLFlBQVcsV0FBUTFMLENBQUMsRUFBSSxXQUFRLENBQUMsQ0FBQyxFQUFJLFlBQVMsQ0FBQyxDQUFDLEVBQUUwTCxFQUFFLFdBQVcsR0FBRyxJQUFJQSxFQUFFLEtBQUtBLENBQUMsSUFBSSxJQUFJQyxFQUFJLFdBQVFELENBQUMsRUFBRSxPQUFPQyxJQUFJLE1BQU1BLEVBQUUsT0FBT0EsSUFBSSxRQUFRQSxJQUFJLFVBQVVBLEVBQUUsUUFBUUQsRUFBSSxVQUFPLENBQUMsR0FBSyxTQUFNQSxDQUFDLEVBQUUsS0FBSyxPQUFPLElBQUlDLENBQUMsQ0FBQyxFQUFFLElBQUlELEVBQUVBLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLFNBQVMyVixJQUFHcmhCLEVBQUUsQ0FBQyxPQUFPLElBQUk4ZCxHQUFFLE1BQU0sRUFBRSxVQUFVLEtBQUssQ0FBQyxPQUFPOWQsQ0FBQyxFQUFFLEVBQUUsUUFBUXNoQixHQUFFLEVBQUUsU0FBUyxNQUFNcGhCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPNEIsQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUMsSUFBSWEsQ0FBQyxFQUFFaEMsR0FBRSxFQUFFLEVBQUVILElBQUcsU0FBUyxFQUFFa0wsRUFBRSxDQUFDLEVBQUVDLEVBQUUsR0FBRyxHQUFHQSxFQUFFLEdBQUdELEVBQUUsQ0FBRyxZQUFTLEVBQUUsSUFBSSxDQUFDLEdBQUdBLEVBQUUsTUFBUzZWLEdBQUssU0FBUyxDQUFDLElBQUk1ZSxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMscUJBQXFCLGFBQWEsYUFBYSxhQUFhLENBQUMsQ0FBQyxFQUFFLElBQUlpSixFQUFFLENBQUMsRUFBRSxRQUFRQyxLQUFLSCxFQUFFLENBQUMsSUFBSWlMLEVBQUksV0FBUWhVLEVBQUVrSixDQUFDLEVBQUUrSyxFQUFJLFdBQVE5VSxFQUFFLEdBQUc2SixFQUFFLENBQUMsRUFBRSxDQUFHLFlBQVNoSixDQUFDLENBQUMsRUFBRWtKLENBQUMsRUFBRSxRQUFRLElBQUksVUFBVThLLENBQUMsT0FBT0MsQ0FBQyxFQUFFLEVBQUUsTUFBUSxTQUFRLFdBQVFBLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsTUFBUSxVQUFPRCxFQUFFQyxDQUFDLEVBQUVBLEVBQUUsTUFBTSw0QkFBNEIsSUFBSWhMLEVBQUUrSyxDQUFDLEVBQUVDLEdBQUcsR0FBRyxDQUFDLE1BQVEsV0FBVSxXQUFRRCxDQUFDLENBQUMsRUFBRSxLQUFLRSxHQUFHQSxFQUFFLFNBQVMsQ0FBQyxHQUFHLE1BQVEsU0FBUSxXQUFRRixDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxNQUFRLFdBQVFoVSxDQUFDLEVBQUUsS0FBS2tKLEdBQUdBLEVBQUUsU0FBUyxDQUFDLEdBQUcsTUFBUSxTQUFNbEosQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU1yQyxHQUFFLElBQUlVLElBQUcsRUFBRSxTQUFTLE1BQU13Z0IsSUFBRSw4QkFBOEIsRUFBRSxNQUFNLE1BQU0sQ0FBQyxRQUFRM1YsQ0FBQyxJQUFJLENBQUMsSUFBSThLLEVBQUU5VixHQUFFLEVBQUUsS0FBSyxNQUFNZ0wsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLGtCQUFrQixPQUFPLENBQUMsS0FBSyxTQUFTLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLGtCQUFrQixFQUFFLENBQUMsS0FBSyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxrQkFBa0IsT0FBTyxDQUFDLEtBQUssU0FBUyxPQUFPLENBQUMsS0FBSyxZQUFZLE9BQU8sQ0FBQyxLQUFLLGtCQUFrQixNQUFNLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVEsTUFBTSxDQUFDLFFBQVErSyxDQUFDLElBQUksTUFBTXdLLElBQUd6SyxFQUFFL0ssRUFBRWdMLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPMVcsR0FBR0EsRUFBRSxlQUFlLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJdWhCLElBQUc1RCxHQUFFLE9BQU93RCxHQUFFLEVBQUVDLElBQUcsQ0FBQyxFQUF1QyxTQUFTSSxJQUFHMWhCLEVBQUUsQ0FBQyxPQUFPZ2hCLEdBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUWhoQixFQUFFLFFBQVEsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLFFBQVFBLEVBQUUsUUFBUSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTMmhCLElBQUczaEIsRUFBRSxDQUFDLElBQUlFLEVBQUU0ZSxJQUFHLEtBQUssRUFBRSxPQUFPLElBQUloQixHQUFFLGFBQWEsRUFBRSxVQUFVLEtBQUssQ0FBQyxTQUFTOWQsQ0FBQyxFQUFFLEVBQUUsUUFBUSxJQUFJNGhCLEdBQUUsRUFBRSxPQUFPLEdBQUcsRUFBRSxlQUFlLENBQUMsRUFBRSxTQUFTLE1BQU0sRUFBRTlmLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBU2EsQ0FBQyxFQUFFYixFQUFFLGFBQWEsRUFBRSxFQUFFakIsR0FBRSxFQUFFNkssRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxJQUFJQyxFQUFFLE1BQU1oSixFQUFFLENBQUMsS0FBSyxFQUFFLEtBQUssT0FBTytJLENBQUMsRUFBRXhMLEVBQUUsQ0FBQyxDQUFDLEVBQUUsT0FBT3lMLEdBQUcsVUFBVUQsSUFBSUMsSUFBSSxFQUFFLFlBQVlBLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU9BLEVBQUUsQ0FBQyxRQUFRLE1BQU0sc0JBQXNCQSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJa1csSUFBR2hFLEdBQUUsY0FBYzhELEdBQUUsRUFBRUMsSUFBRyxDQUFDLEVBQUUsU0FBU0UsSUFBRzloQixFQUFFLENBQUMsT0FBTyxJQUFJOGQsR0FBRSxPQUFPLEVBQUUsVUFBVSxLQUFLLENBQUMsU0FBUzlkLENBQUMsRUFBRSxFQUFFLFFBQVEraEIsR0FBRSxFQUFFLGNBQWMsQ0FBQyxZQUFZLDhCQUE4QixDQUFDLEVBQUUsT0FBTzdoQixHQUFHQSxFQUFFLGVBQWUsQ0FBQyxFQUFFLFNBQVMsTUFBTUEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVM0QixDQUFDLEVBQUUsRUFBRSxhQUFhLEVBQUVBLEdBQUcsTUFBTUEsRUFBRWlnQixHQUFFLEVBQUUsTUFBTTdoQixFQUFFLEVBQUUsR0FBRyxDQUFDLGVBQWV5QyxDQUFDLEVBQUU5QixHQUFFLEVBQUUsRUFBRThLLElBQUksQ0FBQyxLQUFLQSxFQUFFLFNBQVMsTUFBTSxHQUFHLEtBQUssRUFBRSxRQUFRQSxFQUFFLG1CQUFtQixTQUFTLEVBQUUsT0FBT0MsR0FBR0EsRUFBRSxLQUFLLElBQUksR0FBRyxFQUFFLElBQUlBLEdBQUdBLEVBQUUsS0FBSyxDQUFDLENBQUMsR0FBR0YsRUFBRSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLG9DQUFvQyxFQUFFLENBQUMsUUFBUSxvQ0FBb0MsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHL0ksRUFBRSxPQUFPLE9BQU8sQ0FBQyxLQUFLZ0osRUFBRSxPQUFPQyxDQUFDLElBQUlqSixFQUFFLENBQUMsSUFBSWtKLEVBQUUsSUFBQW1XLEdBQUcsTUFBTXBXLENBQUMsRUFBRSxLQUFLLEVBQUUsUUFBUUYsQ0FBQyxFQUFFLFFBQVFpTCxLQUFLOUssRUFBRSxDQUFDLElBQUkrSyxFQUFFLEVBQUVELENBQUMsRUFBRSxNQUFNcUssR0FBRXRWLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxRQUFRbUwsQ0FBQyxJQUFJLENBQUMsSUFBSUMsRUFBRSxFQUFFRCxFQUFFLENBQUMsRUFBRUUsRUFBRSxHQUFHLEdBQUdELEVBQUUsT0FBT0YsRUFBRSxLQUFLLFFBQVFJLEtBQUtKLEVBQUUsUUFBUWpMLElBQUksTUFBTW1MLEVBQUUsUUFBUSxTQUFTRSxDQUFDLElBQUlELEVBQUUsR0FBR0QsRUFBRSxRQUFRLEtBQUtFLENBQUMsR0FBR3JMLElBQUksVUFBVW1MLEVBQUUsUUFBUSxTQUFTRSxDQUFDLElBQUlELEVBQUUsR0FBR0QsRUFBRSxRQUFRQSxFQUFFLFFBQVEsT0FBT0csR0FBR0EsSUFBSUQsQ0FBQyxHQUFHLEdBQUdELEVBQUUsTUFBTSxZQUFZRCxFQUFFLFFBQVEsS0FBSyxJQUFJLENBQUMsWUFBWUEsRUFBRSxJQUFJLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSW1MLElBQUdwRSxHQUFFLFFBQVFpRSxHQUFFLEVBQUVDLElBQUcsQ0FBQyxRQUFRZixHQUFFLFdBQVdVLElBQUcsVUFBVTFoQixHQUFHLENBQUNhLEdBQUUsRUFBRSxlQUFlLEtBQUssQ0FBQyxLQUFLLE1BQU0sT0FBT2IsQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhQSxHQUFHLENBQUNhLEdBQUUsRUFBRSxlQUFlLEtBQUssQ0FBQyxLQUFLLFNBQVMsT0FBT2IsQ0FBQyxDQUFDLENBQUMsRUFBRSxZQUFZNmhCLEdBQUUsRUFBRSxTQUFTSyxJQUFHbGlCLEVBQUUsQ0FBQyxJQUFJRSxFQUFFLENBQUMsRUFBRSxPQUFPLElBQUk0ZCxHQUFFLEtBQUssRUFBRSxRQUFRcUUsR0FBRSxFQUFFLFVBQVUsS0FBSyxDQUFDLFNBQVNuaUIsQ0FBQyxFQUFFLEVBQUUsU0FBUyxNQUFNLEVBQUU4QixJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVNhLENBQUMsRUFBRWIsRUFBRSxhQUFhLEVBQUUsRUFBRSxNQUFNYSxFQUFFd2YsR0FBRSxFQUFFamlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLE9BQU8sSUFBSUEsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUlraUIsSUFBR3ZFLEdBQUUsTUFBTXFFLEdBQUUsRUFBRUMsSUFBRyxDQUFDLFlBQVksU0FBUyxLQUFLLE1BQU0sTUFBTXRoQixHQUFFLEVBQUUsU0FBUyxDQUFDLENBQUMsRUFBZ0YsU0FBU3doQixJQUFHcmlCLEVBQUUsQ0FBQyxPQUFPLElBQUk4ZCxHQUFFLFFBQVEsRUFBRSxRQUFRd0UsR0FBRSxFQUFFLFVBQVUsS0FBSyxDQUFDLFNBQVN0aUIsQ0FBQyxFQUFFLEVBQUUsU0FBUyxNQUFNRSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUzRCLENBQUMsRUFBRSxFQUFFLGFBQWEsRUFBRWEsRUFBRTlCLEdBQUUsRUFBRSxFQUFFLE1BQU04QixFQUFFLFNBQVMsRUFBRStJLEVBQUU2VyxJQUFHLENBQUMsRUFBRSxRQUFRLEtBQUs1VyxFQUFFNlcsSUFBRyxDQUFDLEdBQUc7QUFBQSxFQUM5dlM1VyxFQUFFLEVBQUUsTUFBTSxDQUFDRCxFQUFFLE1BQU0sRUFBRUUsRUFBRUYsRUFBRSxjQUFjQyxDQUFDLElBQUksRUFBRUQsRUFBRSxHQUFHZ0wsRUFBRSxNQUFNN1UsRUFBRSxLQUFLLE1BQU0sQ0FBQyxDQUFDLEVBQUVhLEVBQUUsWUFBWSxLQUFLLFVBQVVnVSxFQUFFLEtBQUtqTCxDQUFDLEVBQUUsT0FBT0csQ0FBQyxDQUFDLEVBQUUsTUFBTWxKLEVBQUUsS0FBSyxFQUFFLE1BQU16QyxJQUFJLENBQUMsQ0FBQyxFQUFFLE9BQU9BLEdBQUdBLEVBQUUsZUFBZSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSXVpQixJQUFHNUUsR0FBRSxTQUFTd0UsR0FBRSxFQUFFQyxJQUFHLENBQUMsRUFBRSxTQUFTSSxJQUFHMWlCLEVBQUUsQ0FBQyxPQUFPLElBQUk4ZCxHQUFFLE1BQU0sRUFBRSxVQUFVLEtBQUssQ0FBQyxTQUFTOWQsQ0FBQyxFQUFFLEVBQUUsUUFBUTJpQixHQUFFLEVBQUUsY0FBYyxDQUFDLFlBQVksV0FBVyxDQUFDLEVBQUUsT0FBT3ppQixHQUFHQSxFQUFFLGVBQWUsQ0FBQyxFQUFFLFNBQVMsTUFBTUEsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVM0QixDQUFDLEVBQUUsRUFBRSxhQUFhLEVBQUVBLEdBQUcsTUFBTUEsRUFBRTZnQixHQUFFLEVBQUUsTUFBTXppQixFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUkwaUIsSUFBRy9FLEdBQUUsT0FBTzZFLEdBQUUsRUFBRUMsSUFBRyxDQUFDLElBQUlQLElBQUcsT0FBT0ssR0FBRSxFQUEwQixTQUFTSSxJQUFHN2lCLEVBQUUsQ0FBQyxJQUFJRSxFQUFFLENBQUMsRUFBRSxPQUFPLElBQUk0ZCxHQUFFLEtBQUssRUFBRSxRQUFRZ0YsR0FBRSxFQUFFLFVBQVUsS0FBSyxDQUFDLFNBQVM5aUIsQ0FBQyxFQUFFLEVBQUUsU0FBUyxNQUFNLEVBQUU4QixJQUFJLENBQUMsR0FBRyxDQUFDLFNBQVNhLENBQUMsRUFBRWIsRUFBRSxhQUFhLEVBQUUsRUFBRSxNQUFNYSxFQUFFbWdCLEdBQUUsRUFBRTVpQixFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sSUFBSSxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUlBLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJNmlCLElBQUdsRixHQUFFLE1BQU1nRixHQUFFLEVBQUVDLElBQUcsQ0FBQyxZQUFZLFNBQVksVUFBTSxNQUFNamlCLEdBQUUsRUFBRSxTQUFTLENBQUMsQ0FBQyxFQUF3RCxTQUFTbWlCLElBQUdoakIsRUFBRSxDQUFDLE9BQU8sSUFBSThkLEdBQUUsUUFBUSxFQUFFLFFBQVFtRixHQUFFLEVBQUUsVUFBVSxLQUFLLENBQUMsU0FBU2pqQixDQUFDLEVBQUUsRUFBRSxTQUFTLE1BQU1FLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxTQUFTNEIsQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFYSxFQUFFOUIsR0FBRSxFQUFFLEVBQUUsTUFBTThCLEVBQUUsU0FBUyxFQUFFK0ksRUFBRTZXLElBQUcsQ0FBQyxFQUFFLFFBQVEsRUFBRTVXLEVBQUUsTUFBTTdKLEVBQUssVUFBTSxDQUFDLENBQUMsRUFBRWEsRUFBRSxZQUFlLGNBQVVnSixFQUFFLENBQUMsT0FBT0QsQ0FBQyxDQUFDLENBQUMsRUFBRSxNQUFNL0ksRUFBRSxLQUFLLEVBQUUsTUFBTXpDLElBQUksQ0FBQyxDQUFDLEVBQUUsT0FBT0EsR0FBR0EsRUFBRSxlQUFlLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJZ2pCLElBQUdyRixHQUFFLFNBQVNtRixHQUFFLEVBQUVDLElBQUcsQ0FBQyxFQUFFLFNBQVNFLElBQUduakIsRUFBRSxDQUFDLE9BQU8sSUFBSThkLEdBQUUsTUFBTSxFQUFFLFVBQVUsS0FBSyxDQUFDLFNBQVM5ZCxDQUFDLEVBQUUsRUFBRSxRQUFRb2pCLEdBQUUsRUFBRSxjQUFjLENBQUMsWUFBWSxXQUFXLENBQUMsRUFBRSxPQUFPbGpCLEdBQUdBLEVBQUUsZUFBZSxDQUFDLEVBQUUsU0FBUyxNQUFNQSxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUzRCLENBQUMsRUFBRSxFQUFFLGFBQWEsRUFBRUEsR0FBRyxNQUFNQSxFQUFFc2hCLEdBQUUsRUFBRSxNQUFNbGpCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSW1qQixJQUFHeEYsR0FBRSxPQUFPc0YsR0FBRSxFQUFFQyxJQUFHLENBQUMsSUFBSUwsSUFBRyxPQUFPRyxHQUFFLEVBQUUsU0FBU0ksSUFBR3RqQixFQUFFRSxFQUFFLENBQUMsT0FBTyxJQUFJNGQsR0FBRSxPQUFPLEVBQUUsVUFBVSxHQUFHLENBQUMsSUFBSWhjLEVBQUUsRUFBRSxZQUFZLGFBQWEsR0FBRyxTQUFTLE1BQU0sQ0FBQyxNQUFNZ2IsSUFBRSxDQUFDOWMsR0FBRyxPQUFPQSxHQUFHLFdBQVc4QixFQUFFOUIsRUFBRSxRQUFRLEVBQUUsU0FBUyxPQUFPQSxHQUFHLFdBQVdBLEVBQUVFLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUXFqQixHQUFFLEVBQUUsU0FBUyxNQUFNLEVBQUV6aEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNYSxFQUFFLFNBQVMsQ0FBQyxFQUFFYixFQUFFLGFBQWEsRUFBRSxDQUFDLElBQUk0SixDQUFDLEVBQUUvSyxHQUFFLEVBQUVnTCxFQUFFaEosRUFBRSxPQUFPZ1UsR0FBTSxlQUFXQSxDQUFDLENBQUMsRUFBRS9LLEVBQUVqSixFQUFFLE9BQU9nVSxHQUFHLENBQUksZUFBV0EsQ0FBQyxDQUFDLEVBQUU5SyxFQUFFLENBQUMsSUFBSSxNQUFTMFYsR0FBSzNWLEVBQUUsQ0FBQyxJQUFJRixFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMscUJBQXFCLGFBQWEsYUFBYSxhQUFhLENBQUMsQ0FBQyxHQUFHLElBQUlpTCxHQUFNLFNBQUtqTCxFQUFFaUwsQ0FBQyxDQUFDLEVBQUUsR0FBR2hMLENBQUMsRUFBRSxRQUFRZ0wsS0FBSzlLLEVBQUUsTUFBTXJMLElBQUcsSUFBSSxJQUFJeWUsSUFBRyxDQUFDLEtBQUt0SSxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsR0FBRyxNQUFNLEVBQUU0TSxHQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJL0IsSUFBRTNELEdBQUUsUUFBUXlGLEdBQUUsRUFBRUMsSUFBRyxDQUFDLE1BQU10QixJQUFHLEtBQUtSLElBQUcsUUFBUVQsR0FBRSxLQUFLcUMsSUFBRyxLQUFLVCxHQUFFLEVBQXFMLFNBQVNZLElBQUd4akIsRUFBRUUsRUFBRSxDQUFDLE9BQU8sSUFBSTRkLEdBQUUsU0FBUyxFQUFFLFVBQVUsS0FBSyxDQUFDLE1BQU1oQixJQUFFLENBQUM5YyxHQUFHLE9BQU9BLEdBQUcsV0FBVywrQkFBK0JBLEVBQUUsUUFBUSxFQUFFLFNBQVMsT0FBT0EsR0FBRyxXQUFXQSxFQUFFRSxDQUFDLEVBQUUsRUFBRSxRQUFRdWpCLEdBQUUsRUFBRSxTQUFTLE1BQU0sRUFBRTNoQixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU1hLEVBQUUsU0FBUyxDQUFDLEVBQUViLEVBQUUsYUFBYSxFQUFFLENBQUMsSUFBSTRKLENBQUMsRUFBRS9LLEdBQUUsRUFBRWdMLEVBQUUsTUFBUzRWLEdBQUs1ZSxFQUFFLENBQUMsSUFBSStJLEVBQUUsTUFBTSxHQUFHLE9BQU8sQ0FBQyxxQkFBcUIsYUFBYSxhQUFhLGFBQWEsQ0FBQyxDQUFDLEVBQUUsUUFBUUUsS0FBS0QsRUFBRSxNQUFNbkwsSUFBRyxJQUFJLElBQUl5ZSxJQUFHLENBQUMsS0FBUSxTQUFLdlQsRUFBRUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLENBQUMsR0FBRyxNQUFNLEVBQUU2WCxHQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxDQUFDLGVBQWU1WCxDQUFDLEVBQUVoTCxHQUFFLEVBQUU4VixFQUFFRSxJQUFJLENBQUMsS0FBS0EsRUFBRSxTQUFTLE1BQU0sR0FBRyxLQUFLLEVBQUUsUUFBUUEsRUFBRSxtQkFBbUIsU0FBUyxFQUFFLE9BQU9DLEdBQUdBLEVBQUUsS0FBSyxJQUFJLEdBQUcsRUFBRSxJQUFJQSxHQUFHQSxFQUFFLEtBQUssQ0FBQyxDQUFDLEdBQUdGLEVBQUUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsUUFBUSxvQ0FBb0MsRUFBRSxDQUFDLFFBQVEsb0NBQW9DLENBQUMsQ0FBQyxDQUFDLEVBQUUsR0FBRy9LLEVBQUUsT0FBTyxPQUFPLENBQUMsS0FBS2dMLEVBQUUsT0FBT0MsQ0FBQyxJQUFJakwsRUFBRSxDQUFDLElBQUlrTCxFQUFFLElBQUEyTSxHQUFHLE1BQU01TSxDQUFDLEVBQUUsS0FBSyxFQUFFLFFBQVFGLENBQUMsRUFBRSxRQUFRSSxLQUFLRCxFQUFFLENBQUMsSUFBSUUsRUFBRU4sRUFBRUssQ0FBQyxFQUFFLE1BQU1nSyxHQUFFcEssQ0FBQyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVFNLENBQUMsSUFBSSxDQUFDLElBQUlDLEVBQUVSLEVBQUVPLEVBQUUsQ0FBQyxFQUFFNEIsRUFBRSxHQUFHLEdBQUczQixFQUFFLE9BQU9GLEVBQUUsS0FBSyxRQUFROEIsS0FBSzlCLEVBQUUsUUFBUUosSUFBSSxNQUFNTSxFQUFFLFFBQVEsU0FBUzRCLENBQUMsSUFBSUQsRUFBRSxHQUFHM0IsRUFBRSxRQUFRLEtBQUs0QixDQUFDLEdBQUdsQyxJQUFJLFVBQVVNLEVBQUUsUUFBUSxTQUFTNEIsQ0FBQyxJQUFJRCxFQUFFLEdBQUczQixFQUFFLFFBQVFBLEVBQUUsUUFBUSxPQUFPNkIsR0FBR0EsSUFBSUQsQ0FBQyxHQUFHLEdBQUdELEVBQUUsTUFBTSxZQUFZM0IsRUFBRSxRQUFRLEtBQUssSUFBSSxDQUFDLFlBQVlBLEVBQUUsSUFBSSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEdBQUcsRUFBRSxlQUFlLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJd00sSUFBRzlGLEdBQUUsVUFBVTJGLEdBQUUsRUFBRUMsSUFBRyxDQUFDLFFBQVF6QyxHQUFFLFdBQVdVLElBQUcsVUFBVTFoQixHQUFHLENBQUNhLEdBQUUsRUFBRSxlQUFlLEtBQUssQ0FBQyxLQUFLLE1BQU0sT0FBT2IsQ0FBQyxDQUFDLENBQUMsRUFBRSxhQUFhQSxHQUFHLENBQUNhLEdBQUUsRUFBRSxlQUFlLEtBQUssQ0FBQyxLQUFLLFNBQVMsT0FBT2IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVM0akIsSUFBRzVqQixFQUFFLENBQUMsSUFBSUUsRUFBRSxDQUFDLEVBQUUsT0FBTyxJQUFJNGQsR0FBRSxLQUFLLEVBQUUsUUFBUStGLEdBQUUsRUFBRSxTQUFTLFNBQVMsQ0FBQyxJQUFJLEVBQUUsTUFBTTdqQixFQUFFNmpCLEdBQUUsRUFBRTNqQixFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLElBQUlBLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJNGpCLElBQUdqRyxHQUFFLE1BQU0rRixHQUFFLEVBQUVDLElBQUcsQ0FBQyxJQUFJLElBQUlsakIsR0FBRSxFQUFFLEdBQUcsRUFBRSxTQUFTb2pCLElBQUcvakIsRUFBRUUsRUFBRSxDQUFDLE9BQU8sSUFBSTRkLEdBQUUsTUFBTSxFQUFFLFVBQVUsSUFBSSxDQUFDLEdBQUcsT0FBTzlkLEdBQUcsVUFBVSxDQUFDLE1BQU0sUUFBUUEsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHK2QsQ0FBQyxFQUFFL2QsRUFBRSxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcrZCxFQUFFLEtBQUtqQixJQUFFLENBQUMsQ0FBQyxFQUFFLFNBQVM1YyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUU0YyxJQUFFOWMsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLFNBQVMsR0FBRyxDQUFJZ2tCLElBQVMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTOWpCLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUStqQixHQUFFLEVBQUUsU0FBUyxNQUFNLEVBQUVuaUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBS2EsRUFBRSxPQUFPLEVBQUUsT0FBTytJLENBQUMsQ0FBQyxFQUFFNUosRUFBRSxhQUFhLEVBQUUsQ0FBQyxJQUFJNkosQ0FBQyxFQUFFaEwsR0FBRSxFQUFFaUwsRUFBRSxNQUFTMlYsR0FBSzVlLEVBQUUsQ0FBQyxJQUFJZ0osRUFBRSxPQUFPRCxDQUFDLENBQUMsRUFBRUcsRUFBRSxJQUFJLElBQUksUUFBUThLLEtBQUsvSyxFQUFFQyxFQUFFLElBQUk4SyxDQUFDLElBQUk5SyxFQUFFLElBQUk4SyxDQUFDLEVBQUUsTUFBTXJXLEdBQUUsSUFBSSxDQUFDLElBQU8sU0FBS3FMLEVBQUVnTCxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLFFBQVFBLEtBQUtoVSxFQUFFLENBQUlxaEIsSUFBU3JOLENBQUMsR0FBRyxDQUFDOUssRUFBRSxJQUFJOEssQ0FBQyxJQUFJOUssRUFBRSxJQUFJOEssQ0FBQyxFQUFFLFFBQVEsSUFBSSxzQkFBeUIsU0FBS2hMLEVBQUVnTCxDQUFDLENBQUMsRUFBRSxFQUFFLE1BQVMsVUFBUyxTQUFLaEwsRUFBRWdMLENBQUMsRUFBRSxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsTUFBTXJXLEdBQUUsSUFBSSxDQUFDLElBQU8sU0FBS3FMLEVBQUVnTCxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLFNBQVMsTUFBTSxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVM3VSxDQUFDLEVBQUUsRUFBRSxhQUFhLEVBQUUsTUFBTUEsSUFBSW1pQixHQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8sR0FBRyxFQUFFLGVBQWUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUlDLElBQUdyRyxHQUFFLE9BQU9rRyxHQUFFLEVBQUVFLElBQUcsQ0FBQyxLQUFLQyxJQUFHLFFBQVFQLElBQUcsUUFBUXJGLElBQUUsS0FBS0QsSUFBRSxLQUFLb0QsSUFBRyxJQUFJcUMsSUFBRyxNQUFNdEMsR0FBQyxFQUFFLFNBQVMyQyxJQUFHLENBQUMsTUFBTW5rQixDQUFDLEVBQUUsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLE9BQU8sSUFBSThkLEdBQUUsTUFBTSxFQUFFLFVBQVUsS0FBSyxDQUFDLE1BQU05ZCxDQUFDLEVBQUUsRUFBRSxRQUFRb2tCLEdBQUUsRUFBRSxTQUFTLE1BQU1sa0IsR0FBRyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsT0FBTzRCLENBQUMsRUFBRVosSUFBRyxFQUFFLENBQUMsSUFBSXlCLENBQUMsRUFBRWhDLEdBQUUsRUFBRSxFQUFFa2MsSUFBRSxjQUFjLENBQUMsU0FBUy9hLENBQUMsRUFBRSxFQUFFLEdBQUcsQ0FBQyxNQUFNa2MsSUFBRyxNQUFNLENBQUMsT0FBTyxHQUFHaGUsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUkyQyxDQUFDLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxPQUFPK0ksRUFBRSxDQUFDLEVBQUUsS0FBS0EsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU14TCxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU9BLEdBQUdBLEVBQUUsZUFBZSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSW1rQixJQUFHeEcsR0FBRSxPQUFPc0csR0FBRSxFQUFFQyxJQUFHLENBQUMsRUFBRSxTQUFTRSxJQUFHdGtCLEVBQUUsQ0FBQyxPQUFPLElBQUk4ZCxHQUFFLFFBQVEsRUFBRSxVQUFVLEtBQUssQ0FBQyxRQUFROWQsQ0FBQyxFQUFFLEVBQUUsUUFBUXVrQixHQUFFLEVBQUUsU0FBUyxNQUFNcmtCLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxRQUFRNEIsQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLENBQUMsSUFBSWEsQ0FBQyxFQUFFaEMsR0FBRSxFQUFFLEVBQUVjLElBQUUsU0FBUyxFQUFFaUssRUFBRW1SLElBQUUsYUFBYSxFQUFFLE9BQU8sRUFBRSxVQUFVLFNBQVMsRUFBRSxNQUFNLEdBQUcsRUFBRSxHQUFHL2EsRUFBRSxrQkFBa0IsS0FBSyxVQUFVQSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsRUFBRSxHQUFHLENBQUMsTUFBTWtjLElBQUcsTUFBTSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsSUFBSXJiLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxPQUFPZ0osQ0FBQyxFQUFFLE1BQU1xUyxJQUFHLE1BQU0sQ0FBQyxTQUFTLEtBQUtsYyxDQUFDLEVBQUUsQ0FBQyxJQUFJYSxFQUFFLGdCQUFnQixFQUFFLENBQUMsRUFBRWdKLEVBQUUsS0FBSyxFQUFFLEVBQUUsTUFBTSx5Q0FBeUMsRUFBRUQsRUFBRSxLQUFLLG1CQUFtQixFQUFFQSxFQUFFLFFBQVFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPQSxFQUFFLENBQUNELEVBQUUsS0FBS0MsRUFBRSxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU16TCxFQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU9BLEdBQUdBLEVBQUUsZUFBZSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsSUFBSXNrQixJQUFHM0csR0FBRSxTQUFTeUcsR0FBRSxFQUFFQyxJQUFHLENBQUMsS0FBS0YsR0FBRSxFQUFFLFNBQVNJLElBQUd6a0IsRUFBRUUsRUFBRSxDQUFDLElBQUksRUFBRTJRLElBQUUsQ0FBQy9PLEVBQUVhLEVBQUUsRUFBRStJLElBQUkvSSxFQUFFLFNBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTStJLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxJQUFJb1MsR0FBRSxRQUFRLEVBQUUsVUFBVSxLQUFLLENBQUMsVUFBVSxPQUFPOWQsR0FBRyxTQUFTLENBQUMsT0FBT0EsRUFBRSxNQUFNLEVBQUUsRUFBRUEsRUFBRSxTQUFTRSxDQUFDLEVBQUUsRUFBRSxRQUFRd2tCLEdBQUUsRUFBRSxTQUFTLE1BQU01aUIsRUFBRWEsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsRUFBRUEsRUFBRSxhQUFhLEVBQUUrSSxFQUFFNUssSUFBRyxFQUFFLE1BQU0sRUFBRSxHQUFHNEssRUFBRSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsTUFBTSxJQUFJLE9BQU8sRUFBRSxLQUFLLENBQUMsR0FBR0EsRUFBRSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTTVKLEVBQUUsQ0FBQyxDQUFDLEVBQUUsU0FBUyxNQUFNQSxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVNhLENBQUMsRUFBRWIsRUFBRSxhQUFhLEVBQUUsTUFBTWEsSUFBSStoQixHQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU81aUIsR0FBR0EsRUFBRSxlQUFlLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJNmlCLElBQUc5RyxHQUFFLFNBQVM0RyxHQUFFLEVBQUVDLElBQUcsQ0FBQyxRQUFRZixJQUFHLE9BQU9hLElBQUcsS0FBS0gsSUFBRyxLQUFLSCxJQUFHLFFBQVE1RixJQUFFLEtBQUtELElBQUUsTUFBTW1ELEdBQUMsRUFBMExvRCxJQUFHLEtBQUtDLElBQUcsSUFBSTdrQixJQUFJLENBQUMsSUFBSUUsRUFBRUYsRUFBRSxJQUFJOEIsR0FBRyxDQUFDLElBQUksRUFBRWdqQixJQUFHaGpCLENBQUMsRUFBRSxPQUFPaWpCLElBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFVLFNBQVEsV0FBTyxFQUFFSCxJQUFHLEdBQUcxa0IsQ0FBQyxDQUFDLEVBQU04a0IsSUFBRyxNQUFNaGxCLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSUUsRUFBRSxNQUFRLFFBQUtGLENBQUMsRUFBRSxPQUFPLE1BQVEsVUFBT0EsRUFBSSxhQUFVLEtBQU8sYUFBVSxLQUFPLGFBQVUsSUFBSSxFQUFFRSxFQUFFLFlBQVksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBNkUra0IsSUFBRyxTQUFTQyxJQUFHbGxCLEVBQUUsQ0FBQ2lsQixJQUFHamxCLENBQUMsQ0FBQyxTQUFTbWxCLEtBQUksQ0FBQyxPQUFPRixHQUFFLENBQXNHLElBQUlHLElBQUcsTUFBTXBsQixJQUFJLE1BQU02QixHQUFHLEVBQUUsV0FBVyxDQUFDLFdBQVc3QixFQUFFLE1BQU0sQ0FBQyxHQUFHLE1BQU0scUJBQXFCLElBQUksQ0FBQyxFQUFFcWxCLElBQUcsTUFBTXJsQixFQUFFRSxLQUFLLE1BQU0yQixHQUFHLEVBQUUsV0FBVyxDQUFDN0IsRUFBRUUsQ0FBQyxDQUFDLEdBQUcsTUFBTSxHQUFHLEVBQUUsQ0FBQyxFQUFFb2xCLElBQUcsTUFBTSxDQUFDLElBQUl0bEIsRUFBRSxLQUFLRSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTTJCLEdBQUc3QixDQUFDLEVBQUUsU0FBUyxNQUFNLElBQUlFLEdBQUcsTUFBTTJCLEdBQUc3QixDQUFDLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQyxFQUFFdWxCLElBQUcsTUFBTXZsQixFQUFFLENBQUMsT0FBT0UsRUFBRSxTQUFTLEVBQUUsS0FBSzRCLENBQUMsSUFBSSxDQUFDLElBQUlhLEVBQUVyQyxHQUFFLFNBQVMsS0FBRSxJQUFBa2xCLFdBQUc3aUIsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFZCxHQUFHYyxFQUFFLEdBQUcsRUFBRStJLEVBQUUsTUFBTTBaLElBQUcsQ0FBQyxLQUFFLElBQUFJLFdBQUc5WixFQUFFLHFDQUFxQyxDQUFDLEVBQUUsRUFBRSxJQUFJQyxFQUFFLE1BQU0sUUFBUSxJQUFJLENBQUMwWixJQUFHLEVBQUUzWixDQUFDLEVBQUUyWixJQUFHdmpCLEVBQUU0SixDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUdDLEVBQUUsQ0FBQyxJQUFJQSxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUlDLEVBQUVpUixJQUFFLDJCQUEyQixFQUFFLEdBQUcsRUFBRSxNQUFNLEVBQUUsV0FBVyxHQUFHLEtBQUtoUixHQUFHQSxFQUFFLE9BQU8sVUFBVSxHQUFHLE1BQU0sRUFBRSxVQUFVLFdBQVcsQ0FBQyxFQUFFLE1BQU0sRUFBRSxNQUFNLFdBQVdILENBQUMsRUFBRSxNQUFNLEVBQUUsU0FBU3hMLEdBQUd3TCxDQUFDLEVBQUUsTUFBTSxFQUFFLFlBQVksWUFBWUEsQ0FBQyxHQUFHeEwsR0FBR3dMLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxTQUFTeEwsR0FBR3dMLENBQUMsRUFBRUUsRUFBRSxRQUFRLENBQUMsT0FBT0MsRUFBRSxDQUFDRCxFQUFFLEtBQUtDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUU0WixJQUFHLE1BQU16bEIsRUFBRSxDQUFDLGNBQWNFLEVBQUUsVUFBVSxFQUFFLFFBQVE0QixFQUFFLE9BQU9hLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU1xaUIsSUFBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJclosRUFBRTlKLEdBQUcsQ0FBQyxFQUFFLFFBQVEsSUFBSSxhQUFhLENBQUMsaUNBQWlDLEVBQUUsTUFBTThKLEVBQUUsTUFBTStaLEdBQUcsTUFBTUEsR0FBRyxTQUFTLEVBQUUsTUFBTS9aLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxFQUFFLElBQUlDLEVBQUUsTUFBTXdaLElBQUdsbEIsQ0FBQyxLQUFFLElBQUFzbEIsV0FBRzVaLEVBQUUscUNBQXFDMUwsQ0FBQyxFQUFFLEVBQUUsTUFBTXlMLEVBQUUsU0FBU0MsQ0FBQyxFQUFFLElBQUlDLEVBQUVELEdBQUcsTUFBTXlaLElBQUdubEIsRUFBRTBMLENBQUMsS0FBRSxJQUFBNFosV0FBRzNaLEVBQUUsaURBQWlEM0wsQ0FBQyxFQUFFLEVBQUUsTUFBTW9sQixJQUFHLENBQUMsSUFBSSxFQUFFLEtBQUt6WixFQUFFLE9BQU9ELENBQUMsQ0FBQyxFQUFFLElBQUkrSyxHQUFHLE1BQU1oTCxFQUFFLFlBQVksR0FBRyxJQUFJLE9BQU9pTCxHQUFHQSxJQUFJaEwsQ0FBQyxFQUFFK0ssRUFBRSxRQUFRLE1BQU1oTCxFQUFFLG9CQUFvQmdMLEVBQUUsRUFBRSxFQUFFLE1BQU0sQ0FBQyxJQUFJakwsRUFBRW1SLElBQUUsdUJBQXVCM2MsQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFLE1BQU0yQixHQUFHLEVBQUUsTUFBTTNCLEVBQUUsRUFBRTRCLEVBQUUsQ0FBQyxVQUFVLElBQUksa0JBQWtCLEdBQUdhLEVBQUUsQ0FBQyxZQUFZQSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRStJLEVBQUUsUUFBUSxDQUFDLEVBQUUsU0FBU2lhLElBQUcsQ0FBQyxNQUFNM2xCLEVBQUUsS0FBS0UsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDLE9BQU8sSUFBSTRkLEdBQUUsSUFBSSxFQUFFLFVBQVUsS0FBSyxDQUFDLE1BQU05ZCxFQUFFLEtBQUtFLENBQUMsRUFBRSxFQUFFLFFBQVEwbEIsR0FBRSxFQUFFLFNBQVMsTUFBTTlqQixFQUFFYSxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNK0ksQ0FBQyxFQUFFL0ksRUFBRSxhQUFhLEVBQUVnSixFQUFFd1osSUFBRyxFQUFFLEdBQUcsQ0FBQyxNQUFNeFosR0FBRyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFFBQVEsSUFBSSw2QkFBNkIsRUFBRSxNQUFNLENBQUMsSUFBSUUsRUFBRSxNQUFNRixHQUFHLGdCQUFnQixFQUFFZ0wsRUFBRTdWLElBQUcsRUFBRSxHQUFHK0ssRUFBRSxDQUFDLElBQUkrSyxFQUFFLElBQUksSUFBQWlQLFFBQUcsQ0FBQyxLQUFLaGEsQ0FBQyxDQUFDLEVBQUVnTCxLQUFFLElBQUFpUCxTQUFHblAsRUFBRSxJQUFJLFlBQVksQ0FBQyxFQUFFRyxFQUFFRCxFQUFFLE1BQU1FLEVBQUVGLEVBQUUsS0FBSyxHQUFHLE1BQU1GLEVBQUUsVUFBVSxZQUFZLEdBQUcsUUFBUU0sRUFBRXhWLElBQUUsU0FBUyxFQUFFLEdBQUd3VixHQUFHLFdBQVcsQ0FBQyxJQUFJLEtBQUUsSUFBQTZPLFNBQUc3TyxHQUFHLFVBQVUsRUFBRUgsRUFBRSxFQUFFLE1BQU1DLEVBQUUsRUFBRSxLQUFLLEVBQUUsR0FBR0YsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSUssRUFBRSxDQUFDLE1BQU1KLEVBQUUsS0FBS0MsRUFBRSxNQUFNckwsRUFBRSxLQUFLLEVBQUUsS0FBSyxNQUFNMFosSUFBR3pPLEVBQUUsSUFBSSxZQUFZLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLEVBQUVRLEVBQUUwRixJQUFFLG1CQUFtQi9GLENBQUMsSUFBSUMsQ0FBQyxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNSCxFQUFFLE1BQU0sT0FBT00sQ0FBQyxFQUFFQyxFQUFFLFFBQVEsY0FBYyxFQUFFLEtBQUssUUFBUSxFQUFFLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxTQUFTLCtCQUErQixFQUFFLENBQUMsSUFBSTRCLEVBQUUsTUFBTW5DLEVBQUUsTUFBTSxLQUFLLENBQUMsTUFBTUUsRUFBRSxLQUFLQyxFQUFFLEtBQUssQ0FBQyxDQUFDLEVBQUUsR0FBR2dDLEVBQUUsS0FBSyxPQUFPLEVBQUUsQ0FBQyxJQUFJQyxFQUFFRCxFQUFFLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxNQUFNbkMsRUFBRSxNQUFNLE9BQU8sQ0FBQyxNQUFNRSxFQUFFLEtBQUtDLEVBQUUsWUFBWWlDLEVBQUUsT0FBTyxNQUFNdE4sRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFeUwsRUFBRSxRQUFRLGNBQWM2QixFQUFFLFFBQVEsRUFBRSxDQUFDLE9BQU9pRixFQUFFLENBQUM5RyxFQUFFLEtBQUs4RyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTTlHLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLE1BQU1BLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxDQUFDLENBQUMsTUFBTXJWLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPQSxHQUFHQSxFQUFFLGVBQWUsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUlpa0IsSUFBR2xJLEdBQUUsS0FBSzhILEdBQUUsRUFBRUMsSUFBRyxDQUFDLEVBQU1JLElBQUdobUIsR0FBRyxPQUFPQSxHQUFHLFNBQVMsQ0FBQyxXQUFXQSxFQUFFLFFBQVEsRUFBRSxFQUFFQSxFQUFFLFNBQVNpbUIsSUFBR2ptQixFQUFFRSxFQUFFLENBQUMsSUFBSSxFQUFFMlEsSUFBRTRVLEdBQUUsRUFBRTNqQixFQUFFK08sSUFBRTBVLEdBQUUsRUFBRSxPQUFPLElBQUl6SCxHQUFFLE9BQU8sRUFBRSxVQUFVLElBQUksQ0FBQyxJQUFJbmIsRUFBRSxDQUFDLEVBQUUsRUFBRXpDLEVBQUUsT0FBTyxPQUFPRixHQUFHLFVBQVUsTUFBTSxRQUFRQSxDQUFDLEdBQUdBLEVBQUUsTUFBTTBMLEdBQUcsT0FBT0EsR0FBRyxRQUFRLEVBQUUvSSxFQUFFbWEsSUFBRTljLENBQUMsRUFBRSxJQUFJZ21CLEdBQUUsRUFBRSxNQUFNLFFBQVFobUIsQ0FBQyxFQUFFMkMsRUFBRTNDLEVBQUUsSUFBSWdtQixHQUFFLEVBQUUsT0FBT2htQixHQUFHLFlBQVkyQyxFQUFFLENBQUMsRUFBRSxFQUFFM0MsR0FBR0EsSUFBSTJDLEVBQUUsQ0FBQ3FqQixJQUFHaG1CLENBQUMsQ0FBQyxHQUFHLENBQUMsYUFBYTJDLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFFBQVF1akIsR0FBRSxFQUFFLFNBQVMsTUFBTXZqQixFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYStJLENBQUMsRUFBRSxFQUFFLGFBQWEsRUFBRUMsRUFBRWxLLElBQUUsU0FBUyxFQUFFaUssRUFBRSxTQUFTLEdBQUdDLEdBQUdELEVBQUUsS0FBSyxDQUFDLEdBQUdDLEVBQUUsUUFBUSxFQUFFLENBQUMsRUFBRSxNQUFNLFFBQVEsSUFBSUQsRUFBRSxJQUFJLENBQUMsQ0FBQyxXQUFXRSxFQUFFLFFBQVFDLEVBQUUsT0FBTzhLLENBQUMsRUFBRUMsSUFBSXRXLEdBQUUsSUFBSSxDQUFDLElBQUksUUFBUSxJQUFJLENBQUMsRUFBRSxTQUFTLENBQUMsSUFBSXVXLEVBQUUsR0FBR2pMLENBQUMsS0FBSyxPQUFPZ0wsQ0FBQyxDQUFDLEtBQUssT0FBTy9LLENBQUMsQ0FBQyxLQUFLLE9BQU84SyxDQUFDLENBQUMsR0FBR0csRUFBRStOLElBQUcsR0FBR2paLENBQUMsR0FBRyxPQUFPZ0wsQ0FBQyxDQUFDLEVBQUUsRUFBRUcsRUFBRXpXLEdBQUUsU0FBUyxFQUFFMFcsRUFBRTFWLElBQUcsU0FBUyxFQUFFeVYsSUFBSUEsRUFBRSxJQUFJRCxHQUFHRSxJQUFJQSxFQUFFLElBQUlGLEdBQUcsTUFBTSxFQUFFRCxFQUFFLENBQUMsY0FBY2pMLEVBQUUsT0FBTytLLEVBQUUsUUFBUTlLLEVBQUUsVUFBVSxPQUFPK0ssQ0FBQyxFQUFFLE9BQU9FLENBQUMsQ0FBQyxFQUFFbkwsR0FBRyxZQUFZLE1BQU03SixFQUFFLEdBQUcsQ0FBQyxPQUFPNlUsRUFBRSxTQUFTaEwsRUFBRSxXQUFXLEtBQUtDLENBQUMsQ0FBQyxFQUFFLE1BQU16SyxJQUFHLElBQUksSUFBSVMsSUFBRyxDQUFDLFdBQVdnSyxFQUFFLEdBQUdpTCxDQUFDLENBQUMsRUFBRWxVLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxTQUFTLE1BQU1BLEdBQUcsQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLEVBQUVBLEVBQUUsYUFBYSxFQUFFLE1BQU0sSUFBSXVqQixHQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU92akIsR0FBR0EsRUFBRSxlQUFlLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJd2pCLElBQUd0SSxHQUFFLFFBQVFvSSxHQUFFLEVBQUVDLElBQUcsQ0FBQyxRQUFRdkMsSUFBRyxPQUFPZ0IsSUFBRyxPQUFPSCxJQUFHLEtBQUtILElBQUcsS0FBS0gsSUFBRyxRQUFRNUYsSUFBRSxLQUFLRCxJQUFFLE1BQU1tRCxJQUFFLEdBQUd1RSxHQUFFLEVBQU1LLElBQUcsQ0FBQyxNQUFNRCxJQUFHLE9BQU94QixJQUFHLEtBQUtOLElBQUcsT0FBT0csR0FBRSxFQUEyQixTQUFTNkIsT0FBTXJtQixFQUFFLENBQUMsSUFBSUUsRUFBRSxPQUFPLElBQUk0ZCxHQUFFLFVBQVUsRUFBRSxVQUFVLEtBQUssQ0FBQyxVQUFVOWQsRUFBRSxDQUFDLEVBQUUsUUFBUUEsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLFNBQVMsTUFBTSxFQUFFOEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFVYSxFQUFFLFFBQVEsQ0FBQyxFQUFFYixFQUFFLGFBQWEsRUFBRTVCLEVBQUUsTUFBTW9tQixJQUFHLE9BQU8zakIsRUFBRSxDQUFDLEVBQUUsTUFBTSxJQUFJLENBQUMsQ0FBQyxFQUFFLE9BQU8sSUFBSXpDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJcW1CLElBQUcxSSxHQUFFLFdBQVd3SSxHQUFFLEVBQTZFRyxJQUFHeG1CLEdBQUcsQ0FBQyxJQUFJRSxLQUFFLElBQUF1bUIsU0FBR3ptQixDQUFDLEVBQUUsTUFBTSxDQUFDLE1BQU1FLEVBQUUsTUFBTSxLQUFLQSxFQUFFLEtBQUssS0FBS0EsRUFBRSxJQUFJLENBQUMsRUFBTXdtQixJQUFHLE1BQU0xbUIsRUFBRSxDQUFDLGFBQWFFLEVBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJNEIsRUFBRSxJQUFJLElBQUE2a0IsUUFBRyxDQUFDLEtBQUt6bUIsQ0FBQyxDQUFDLEVBQUV5QyxFQUFFa2EsSUFBRSxXQUFXLEVBQUUsS0FBSyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsR0FBRyxDQUFDLElBQUksRUFBRSxNQUFNL2EsRUFBRSxNQUFNLFdBQVcsQ0FBQyxFQUFFYSxFQUFFLFFBQVEsYUFBYSxFQUFFLEtBQUssU0FBUyxFQUFFLEVBQUUsSUFBSStJLEVBQUUsRUFBRSxLQUFLLFFBQVFDLEVBQUUsRUFBRSxLQUFLLFFBQVEsZ0JBQWdCLE9BQU8sTUFBTSxDQUFDLFdBQVdELEVBQUUsT0FBT0MsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDaEosRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLFNBQVNpa0IsSUFBRzVtQixFQUFFRSxFQUFFLENBQUMsSUFBSSxFQUFFMlEsSUFBRTZWLEdBQUUsRUFBRSxPQUFPLElBQUk1SSxHQUFFLE1BQU0sRUFBRSxVQUFVLElBQUksQ0FBQyxJQUFJaGMsRUFBRSxPQUFPLE9BQU85QixHQUFHLFVBQVUsTUFBTSxRQUFRQSxDQUFDLEdBQUdBLEVBQUUsTUFBTTJDLEdBQUcsT0FBT0EsR0FBRyxRQUFRLEVBQUViLEVBQUVnYixJQUFFOWMsQ0FBQyxFQUFFLElBQUl3bUIsR0FBRSxFQUFFLE1BQU0sUUFBUXhtQixDQUFDLEVBQUU4QixFQUFFOUIsRUFBRSxJQUFJMkMsR0FBRyxPQUFPQSxHQUFHLFNBQVM2akIsSUFBRzdqQixDQUFDLEVBQUVBLENBQUMsRUFBRWIsRUFBRSxDQUFDOUIsQ0FBQyxFQUFFLENBQUMsZUFBZThCLEVBQUUsU0FBUzVCLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUTJtQixHQUFFLEVBQUUsU0FBUyxNQUFNL2tCLEVBQUVhLElBQUksQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLEVBQUVBLEVBQUUsYUFBYSxFQUFFK0ksRUFBRXlaLElBQUcsRUFBRSxHQUFHLENBQUMsTUFBTXpaLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxRQUFRLElBQUksNkJBQTZCLEVBQUUsTUFBTSxDQUFDLElBQUlFLEVBQUUsTUFBTUYsR0FBRyxnQkFBZ0IsRUFBRSxHQUFHRSxFQUFFLFFBQVFDLEtBQUssRUFBRSxDQUFDLElBQUk4SyxFQUFFLEdBQUc5SyxFQUFFLEtBQUssSUFBSUEsRUFBRSxJQUFJLEdBQUcrSyxFQUFFLE1BQU0sRUFBRUQsRUFBRSxDQUFDLGFBQWEvSyxFQUFFLFdBQVdDLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQytLLEVBQUUsT0FBTyxNQUFNblYsSUFBRSxJQUFJLENBQUMsR0FBR21WLEVBQUUsV0FBVyxzQkFBc0IvSyxFQUFFLEtBQUssSUFBSUEsRUFBRSxJQUFJLEVBQUUsRUFBRSxJQUFJL0osRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxNQUFNQSxHQUFHLENBQUMsR0FBRyxDQUFDLFNBQVNhLENBQUMsRUFBRWIsRUFBRSxhQUFhLEVBQUUsTUFBTWEsSUFBSWtrQixHQUFFLENBQUMsQ0FBQyxFQUFFLE9BQU8va0IsR0FBR0EsRUFBRSxlQUFlLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJZ2xCLElBQUdqSixHQUFFLE9BQU8rSSxHQUFFLEVBQUVDLElBQUcsQ0FBQyxNQUFNVixJQUFHLEdBQUdKLEdBQUUsRUFBTWdCLElBQUcsQ0FBQyxLQUFLRCxJQUFHLEdBQUdmLEdBQUUsRUFJanhYLElBQUlpQixJQUFHLENBQUMsSUFBSUMsSUFBRyxRQUFRQyxHQUFFLFFBQVFDLElBQUcsU0FBU0MsSUFBRyxLQUFLQyxJQUFHLFFBQVFDLElBQUUsUUFBUUMsSUFBRyxNQUFNQyxJQUFFLEtBQUtDLElBQUUsU0FBU0MsSUFBRyxPQUFPQyxJQUFHLGVBQWVDLEdBQUUsRXlObkU5SSxPQUFTLFVBQUFDLElBQVEsYUFBQUMsUUFBaUIsbUJDQWxDLE9BQVMsY0FBQUMsUUFBa0IsWUFDM0IsT0FBUyxpQkFBQUMsSUFBZSxpQkFBQUMsUUFBcUIsV0NEN0MsT0FBUyxpQkFBQUMsUUFBcUIsV0FJdkIsSUFBTUMsSUFBa0JDLEdBQzlCRixJQUFjRSxHQUFLLEtBQU9BLEVBQUksUUFBUSxNQUFNLEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxLQ0x2RCxPQUFTLGNBQUFDLFFBQWtCLFlBQzNCLE9BQVMsaUJBQUFDLFFBQXFCLFdBSXZCLFNBQVNDLElBQ2ZDLEVBQ0FDLEVBQ0MsQ0FDRCxHQUFJLENBQUMsSUFBSSxTQUFTRCxDQUFXLEVBQUcsTUFBTSxJQUFJLFVBQVUsdUNBQXVDLEVBRTNGLElBQU1FLEVBQVlMLElBQVdJLENBQVcsRUFBSUgsSUFBY0csQ0FBVyxFQUFFLEtBQU9BLEVBRTFFRSxFQUFJLEVBQ1IsUUFBU0MsRUFBSUosRUFBWSxPQUFRRyxFQUFJQyxHQUFZSixFQUFZRyxDQUFDLElBQU1ELEVBQVVDLENBQUMsRUFBdkNBLElBQUssQ0FJN0MsT0FBT0gsRUFBWSxNQUFNRyxDQUFDLEVBQUUsTUFBTSxHQUFHLEVBQUUsQ0FBQyxJQUFNLGNBQy9DLENGQU8sU0FBU0UsSUFDZkMsRUFDQUMsRUFDb0MsQ0FDcEMsR0FBSSxJQUFJLFNBQVNBLENBQVMsRUFBRyxPQUFPQyxJQUFjRCxDQUFTLEVBSzNELElBQUlFLEVBQ0VDLEVBQ0xDLElBQVdMLENBQVUsRUFBSU0sSUFBY04sQ0FBVSxFQUFFLEtBQU9BLEVBRzNELEdBQUksQ0FDSCxJQUFNTyxFQUFxQixZQUFZLFFBQVFOLEVBQVdHLENBQVMsRUFFbkUsR0FBSUksSUFBcUJELEVBQW9CSCxDQUFTLEVBQUcsT0FBT0gsRUFFaEVFLEVBQXVCSSxDQUN4QixPQUFTRSxFQUFLLENBQ2IsR0FBSSxFQUFFQSxhQUFlLE9BQVEsTUFBTUEsRUFFbkMsR0FDRUEsRUFBOEIsT0FBUyx3QkFDeENELElBQXFCRSxJQUFlRCxDQUFHLEVBQUdMLENBQVMsRUFFbkQsT0FBT0gsRUFHUixHQUFJLENBQUNFLEVBQ0osYUFBTyxPQUFPTSxFQUFLLENBQUUsVUFBQVIsRUFBVyxXQUFBRCxDQUFXLENBQUMsRUFDdENTLENBRVIsQ0FFQSxPQUFLTixHQUFzQixXQUFXLFNBQVMsRUFFeENELElBQWNDLENBQW9CLEVBRmdCRixDQUcxRCxDRGpETyxTQUFTVSxHQUNmQyxFQUNBQyxFQUNDLENBQ0QsSUFBTUMsRUFBb0JDLElBQWlCSCxFQUFZQyxDQUFTLEVBRWhFLE9BQU9HLElBQWdCRixDQUFpQixDQUN6QyxDQUVPLElBQU1FLElBQW1CRixHQUMvQkcsSUFBT0gsRUFBbUJJLElBQVUsSUFBSSxFQUFFLEtBQ3pDLElBQU0sR0FDTixJQUFNLEVBQ1AsRUl0QkQsT0FBT0MsUUFBYSxlQVViLElBQU1DLElBQVMsQ0FBQ0MsRUFBZ0JDLEVBQWVDLElBQWdCLENBQ3JFLElBQU1DLEVBQVUsSUFBSSxJQUFhQyxJQUFLLElBQUlKLENBQU0sRUFBSUksSUFBSyxJQUFJSixDQUFNLEVBQUksQ0FBQyxDQUFDLEVBRXpFRyxFQUFRLElBQUksQ0FBRSxJQUFBRCxFQUFLLEtBQUFELENBQUssQ0FBQyxFQUN6QkcsSUFBSyxJQUFJSixFQUFRRyxDQUFPLENBQ3pCLEVBS01DLElBQU8sSUFBSSxJQUVqQk4sSUFBUSxLQUFLLGFBQWNPLEdBQVEsRUFJbkMsU0FBU0EsS0FBVyxDQUNuQixJQUFJQyxFQUFXLEdBRWYsT0FBVyxDQUFDQyxFQUFZSixDQUFPLElBQUtDLElBQUssUUFBUSxFQUFHLENBQ25ELFFBQVEsSUFBSSxvQ0FBcUNHLENBQVUsRUFDM0QsT0FBVyxDQUFFLElBQUFMLEVBQUssS0FBQUQsQ0FBSyxJQUFLRSxFQUMzQixRQUFRRixDQUFJLEVBQUUsVUFBTUMsQ0FBRyxFQUNuQkQsSUFBUyxVQUFTSyxFQUFXLEdBRW5DLENBRUlBLEdBQ0gsUUFBUSxNQUFNLHlEQUF5RCxFQUN2RVIsSUFBUSxTQUFXLElBRW5CQSxJQUFRLFNBQVcsRUFDbkIsUUFBUSxJQUFJLHVEQUF1RCxFQUVyRSxDQzVDQSxPQUFTLFNBQUFVLFFBQWEsbUJBVXRCLGVBQXNCQyxJQUFNQyxFQUFnREMsRUFBc0IsQ0FDakcsSUFBSUMsRUFDSixHQUFJLENBQ0hBLEVBQW9CQyxJQUFpQkgsRUFBWUMsQ0FBUyxDQUMzRCxPQUFTRyxFQUFLLENBQ2IsR0FBS0EsRUFBOEIsT0FBUyx1QkFBd0IsT0FBTyxJQUM1RSxDQUVBLEdBQUksQ0FFSCxPQURhLE1BQU1DLElBQU1ILENBQWtCLEdBQy9CLFlBQVksQ0FDekIsTUFBUSxDQUNQLE9BQU8sSUFDUixDQUNELENDeEJBLE9BQVMsYUFBQUksUUFBaUIsY0FDMUIsT0FBUyxXQUFBQyxJQUFTLE9BQUFDLFFBQVcsWUFDN0IsT0FBUyxpQkFBQUMsUUFBcUIsV0NDdkIsSUFBTUMsSUFBYSxDQUN6QixPQUFRLE9BQ1IsT0FBUSxPQUNSLE1BQU8sTUFDUCxPQUFRLE1BQ1QsRUFLYUMsSUFBYyxDQUMxQixHQUFJLE1BQ0osR0FBR0QsR0FDSixFQUlhRSxJQUFTLE9BQU8sS0FBS0YsR0FBVSxFQUMvQkcsSUFBUyxPQUFPLE9BQU9ILEdBQVUsRUFNakNJLElBQVEsQ0FBQyxTQUFVLFFBQVMsUUFBUSxFQU1wQ0MsSUFBVSxJQUFJLElBQUksQ0FBQ0gsSUFBUUMsSUFBUUMsR0FBSyxDQUFDLEVEbkIvQyxTQUFTRSxJQUFxQkMsRUFBNEJDLEVBQW1CLENBRW5GLEdBRElDLElBQVVELENBQVMsR0FDbkJBLEVBQVUsV0FBVyxPQUFPLEVBQUcsTUFBTyxHQUUxQyxJQUFNRSxFQUFNQyxJQUFRSCxDQUFTLEVBRTdCLEdBQUlJLElBQU8sU0FBU0YsQ0FBRyxFQUFHLE1BQU8sR0FDakMsR0FBSUEsRUFBSyxNQUFPLEdBRWhCLEdBQUlGLEVBQVUsQ0FBQyxJQUFNLElBQUssTUFBTyxHQUlqQyxHQUZJQSxFQUFVLENBQUMsSUFBTUssS0FDakJMLEVBQVUsV0FBVyxJQUFJSyxHQUFHLEVBQUUsR0FDOUJMLEVBQVUsV0FBVyxTQUFTLEVBQUcsTUFBTyxHQUU1QyxJQUFJTSxFQUNKLEdBQUksQ0FDSEEsRUFBb0IsWUFBWSxRQUMvQk4sRUFDQU8sSUFBY1IsQ0FBVSxFQUFFLElBQzNCLENBQ0QsT0FBU1MsRUFBSyxDQUNiLEdBQ0MsRUFBRUEsYUFBZSxRQUNkLENBQUNDLElBQXlCLElBQUtELEVBQThCLElBQUssRUFFckUsTUFBTUEsRUFFUEYsRUFBb0JJLElBQWVGLENBQUcsQ0FDdkMsUUFBRSxDQUdELEdBQUlHLElBQXFCTCxFQUFvQlAsQ0FBVSxFQUFHLE1BQU8sRUFDbEUsQ0FFQSxNQUFPLEVBQ1IsQ0FFQSxJQUFNVSxJQUEyQixJQUFJLElBQUksQ0FDeEMsdUJBQ0EsK0JBQ0QsQ0FBQyxFRXZERCxPQUFTLFdBQUFHLFFBQWUsWUFlakIsSUFBTUMsSUFBd0IsTUFDcENDLEVBQ0FDLEVBQ0FDLElBSUssQ0FRTCxHQVBJRCxJQUFjLEtBQU9BLElBQWMsS0FDdENBLEdBQWEsVUFDSEEsRUFBVSxTQUFTLEdBQUcsR0FBTSxNQUFNRSxJQUFNSCxFQUFZQyxDQUFTLEtBQ2xFQSxFQUFVLFNBQVMsR0FBRyxJQUFHQSxHQUFhLEtBQzNDQSxHQUFhLFNBR1YsQ0FBQ0csSUFBUUgsQ0FBUyxJQUNyQkEsR0FBYSxNQUVULE1BQU1JLEdBQVFMLEVBQVlDLENBQVMsR0FBRyxNQUFPLENBQUUsWUFBYUEsRUFBVyxPQUFRLEVBQU0sRUFHMUYsSUFBTUssRUFBT0YsSUFBUUgsQ0FBUyxFQUV4Qk0sRUFBY0MsSUFBbUJQLEVBQVdLLEVBQU1KLEdBQVFPLElBQVlILENBQUksQ0FBQyxFQUVqRixHQUFJLE1BQU1ELEdBQVFMLEVBQVlPLENBQVcsRUFBRyxNQUFPLENBQUUsWUFBQUEsRUFBYSxPQUFRLEVBQU0sRUFFaEYsUUFBV0csS0FBVUMsSUFBUyxDQUM3QixJQUFNQyxFQUFTLE1BQU1DLElBQVNiLEVBQVlDLEVBQVdLLEVBQU1JLENBQU0sRUFDakUsR0FBSUUsRUFBUSxPQUFPQSxDQUNwQixDQUVBLE1BQU8sQ0FBRSxZQUFhLElBQUssQ0FDNUIsRUFTTUosSUFBcUIsQ0FDMUJQLEVBQ0FLLEVBQ0FKLElBQ2dCSSxFQUFPTCxFQUFVLFFBQVFLLEVBQU1KLENBQUksRUFBSSxHQUFHRCxDQUFTLEdBQUdDLENBQUksR0FZM0UsZUFBZVcsSUFDZGIsRUFDQUMsRUFDQUssRUFDQVEsRUFDQyxDQUNELElBQUlQLEVBRUVRLEVBQVEsSUFBSSxJQUNsQixRQUFXQyxLQUFPRixFQUFNLENBQ3ZCLElBQU1HLEVBQVlULElBQW1CUCxFQUFXSyxFQUFNVSxDQUFHLEVBQ3JELE1BQU1YLEdBQVFMLEVBQVlpQixDQUFTLEdBQUdGLEVBQU0sSUFBS1IsRUFBY1UsQ0FBVSxDQUM5RSxDQUVBLEdBQUlGLEVBQU0sS0FBTSxDQUNmLEdBQUlBLEVBQU0sT0FBUyxFQUFHLE1BQU8sQ0FBRSxPQUFRRCxFQUFLLENBQUMsRUFBRSxXQUFXLElBQUksRUFBRyxZQUFhUCxDQUFhLEVBRTNGVyxJQUNDbEIsRUFDQSxRQUNBLENBQ0MsSUFBSUMsQ0FBUyxzRUFDYixJQUFJLE1BQU0sS0FBS2MsQ0FBSyxFQUFFLEtBQUssTUFBTSxDQUFDLElBQ2xDLGFBQ0QsRUFBRSxLQUFLLEdBQUcsQ0FDWCxDQUNELENBQ0QsQ0N4Rk8sSUFBTUksSUFBYSxNQUN6QkMsRUFDQUMsSUFJSyxDQUNMLEdBQUlDLElBQXFCRixFQUFZQyxDQUFTLEVBQUcsTUFBTyxDQUFDLEVBRXpELEdBQU0sQ0FBRSxPQUFBRSxFQUFRLFlBQUFDLENBQVksRUFBSSxNQUFNQyxJQUFzQkwsRUFBWUMsQ0FBUyxFQUVqRixPQUFJRyxFQUNFLE1BQU1FLEdBQVFOLEVBQVlDLENBQVMsR0FBTSxDQUFFLE1BQU1NLElBQU1QLEVBQVlDLENBQVMsR0FDaEZPLElBQ0NSLEVBQ0EsT0FDQSxDQUNDLHFCQUFxQkMsQ0FBUyx1Q0FDOUIsNkVBQ0QsRUFBRSxLQUFLLEdBQUcsQ0FDWCxFQUVPLENBQUUsT0FBQUUsRUFBUSxZQUFhRixDQUFVLEdBR2xDLENBQUUsT0FBQUUsRUFBUSxZQUFBQyxDQUFZLEdBR3hCLE1BQU1FLEdBQVFOLEVBQVlDLENBQVMsR0FDeENPLElBQU9SLEVBQVksUUFBUywrQkFBK0JDLENBQVMsR0FBRyxFQUVqRSxDQUFDLEVBQ1QsRUM1Q0EsSUFBQVEsSUFBQSxHQUFBQyxHQUFBRCxJQUFBLG9CQUFBRSxJQUFBLFlBQUFDLElBQUEsbUJBQUFDLE1BSUEsSUFBQUMsSUFBaUIsWUFKakIsT0FBUyxZQUFBQyxRQUFnQixtQkFDekIsT0FBT0MsUUFBVSxZQUNqQixPQUFTLGlCQUFBQyxJQUFlLE9BQUFDLFFBQVcsV0FLbkMsSUFBTUMsSUFBY0YsSUFBYyxHQUFHLFFBQVEsSUFBSSxDQUFDLEdBQUcsRUFFL0NHLElBQVUsTUFBTVQsSUFBZSxlQUFlLEVBRS9DUyxLQUFTLFFBQVEsS0FDckIseUVBQ0Esb0dBQ0QsRUFFQSxTQUFTUixJQUFhUyxFQUFXQyxFQUFLQyxFQUFNLENBQzNDLE9BQVFILElBQVVQLElBQWlCVSxHQUFNRixFQUFXQyxFQUFLQyxDQUFJLENBQzlELENBR08sU0FBU0MsSUFBZUMsRUFBV0MsRUFBS0MsRUFBTSxDQUNwRCxPQUFXLENBQUNDLEVBQUtDLENBQUksSUFBS0MsSUFBUyxDQUNsQyxHQUFJTCxJQUFjRyxFQUFLLE9BQU9ELEVBQUtFLEVBQU1ILENBQUcsRUFDNUMsR0FBSUQsRUFBVSxXQUFXRyxDQUFHLEVBQUcsT0FBT0QsRUFBS0YsRUFBVSxRQUFRRyxFQUFLQyxDQUFJLEVBQUdILENBQUcsQ0FDN0UsQ0FFQSxPQUFPQyxFQUFLRixFQUFXQyxDQUFHLENBQzNCLENBRU8sU0FBU0ssSUFBZUMsRUFBVSxDQUN4QyxJQUFNQyxFQUFXQyxJQUFLLEtBQUtDLElBQVksU0FBVUgsQ0FBUSxFQUV6RCxPQUFPSSxJQUFTSCxDQUFRLEVBQ3RCLEtBQUssS0FBSyxLQUFLLEVBRWYsS0FBTUksTUFBYSxJQUFBQyxTQUFLRCxFQUFVLHVCQUF1QixDQUFDLEVBQzFELEtBQUtFLEdBQWMsRUFDbkIsTUFBT0MsR0FBUSxDQUFFLEdBQUlBLEVBQUksT0FBUyxTQUFVLE1BQU1BLENBQUssQ0FBQyxDQUMzRCxDQUVBLFNBQVNELElBQWVFLEVBQVEsQ0FDL0IsR0FBSSxDQUFDQSxFQUFRLE9BRWIsSUFBTVgsRUFBVSxJQUFJLElBRXBCLFFBQVdZLEtBQVUsT0FBTyxLQUFLRCxDQUFNLEVBQUcsQ0FDekMsSUFBTUUsRUFBUUYsRUFBT0MsQ0FBTSxFQUFFLENBQUMsRUFDeEJFLEVBQVdGLEVBQU8sU0FBUyxHQUFHLEVBRTlCZCxFQUFNZ0IsRUFBV0YsRUFBTyxNQUFNLEVBQUcsRUFBRSxFQUFvQkEsRUFDdkRHLEVBQVdELEVBQVdELEVBQU0sTUFBTSxFQUFHLEVBQUUsRUFBb0JBLEVBQzNEZCxFQUFPZ0IsRUFBUyxDQUFDLElBQU0sS0FBT0MsSUFBSSxTQUFTRCxDQUFRLEVBQ3REQSxFQUNDLElBQUlDLElBQUlELEVBQVVWLEdBQVcsRUFBRyxLQUVwQ0wsRUFBUSxJQUFJRixFQUFLQyxDQUFJLENBQ3RCLENBRUEsT0FBT0MsQ0FDUixDcE9qREFpQixJQUFPLGNBQWNDLEdBQVcsRUFFaEMsZUFBc0JDLElBQVMsQ0FBRSxTQUFBQyxFQUFVLE1BQUFDLENBQU0sRUFBUSxDQUN4RCxNQUFNQSxFQUFNQyxHQUFXLEVBQUUsTUFBTUMsQ0FBYSxFQUU1QyxlQUFlQSxFQUFjLENBQUUsUUFBQUMsQ0FBUSxFQUFZLENBQ2xELElBQU1DLEVBQVdMLEVBQVMsZUFBZSxFQUFFLEtBRTNDLE1BQU1JLEVBQVEsQ0FDYixLQUFNLENBQ0wsSUFBSyxDQUNKLENBQUUsS0FBTSxrQkFBbUIsRUFDM0IsQ0FBRSxLQUFNLG1CQUFvQixJQUFLLENBQUUsS0FBTSxRQUFTLENBQUUsRUFDcEQsQ0FBRSxRQUFTLGdCQUFpQixFQUM1QixDQUFFLFFBQVMsZ0JBQWlCLENBQzdCLENBQ0QsQ0FDRCxDQUFDLEVBQUUsUUFBUSxNQUFPLENBQUUsUUFBQUUsQ0FBUSxJQUFNLENBQ2pDLElBQU1DLEVBQVlELEVBQVEsRUFDcEJFLEVBQWtCRCxFQUFVLEtBQUssQ0FDdEMsS0FBTSxDQUNMLEtBQU0sa0JBQ04sT0FBUSxDQUFFLEtBQU0sUUFBUyxDQUMxQixDQUNELENBQUMsRUFFRCxHQUFJLENBQUNDLEVBQWlCLE9BRXRCLEdBQU0sQ0FBRSxPQUFBQyxFQUFRLFlBQUFDLENBQVksRUFBSSxNQUFNQyxJQUFXTixFQUFVRyxFQUFnQixLQUFLLENBQUMsRUFFakYsR0FBSSxDQUFDRSxFQUFhLE9BRWxCLElBQU1FLEVBQVEsQ0FBQ0osRUFBZ0IsUUFBUUUsQ0FBVyxDQUFDLEVBRW5ELEdBQUlELEdBQVUsQ0FBQ0YsRUFBVSxTQUFTLEVBQUUsS0FBTU0sR0FBU0EsRUFBSyxLQUFLLElBQU0sTUFBTSxFQUFHLENBQzNFLElBQU1DLEVBQVNQLEVBQVUsS0FBSyxDQUM3QixLQUFNLENBQ0wsSUFBSyxDQUFDLENBQUUsS0FBTSxlQUFnQixFQUFHLENBQUUsS0FBTSxlQUFnQixDQUFDLENBQzNELENBQ0QsQ0FBQyxFQUVHTyxJQUFRRixFQUFNLENBQUMsRUFBSUUsRUFBTyxRQUFRLFFBQVFBLEVBQU8sS0FBSyxDQUFDLEVBQUUsRUFDOUQsQ0FFQSxPQUFPUCxFQUFVLFlBQVlLLENBQUssQ0FDbkMsQ0FBQyxDQUNGLENBQ0QsQ0FFQSxJQUFNVixJQUFjLHNEQUVwQkgsSUFBU2dCLEdBQUciLAogICJuYW1lcyI6IFsidHNsaWJfZXM2X2V4cG9ydHMiLCAiX19leHBvcnQiLCAiX19hZGREaXNwb3NhYmxlUmVzb3VyY2UiLCAiX19hc3NpZ24iLCAiX19hc3luY0RlbGVnYXRvciIsICJfX2FzeW5jR2VuZXJhdG9yIiwgIl9fYXN5bmNWYWx1ZXMiLCAiX19hd2FpdCIsICJfX2F3YWl0ZXIiLCAiX19jbGFzc1ByaXZhdGVGaWVsZEdldCIsICJfX2NsYXNzUHJpdmF0ZUZpZWxkSW4iLCAiX19jbGFzc1ByaXZhdGVGaWVsZFNldCIsICJfX2NyZWF0ZUJpbmRpbmciLCAiX19kZWNvcmF0ZSIsICJfX2Rpc3Bvc2VSZXNvdXJjZXMiLCAiX19lc0RlY29yYXRlIiwgIl9fZXhwb3J0U3RhciIsICJfX2V4dGVuZHMiLCAiX19nZW5lcmF0b3IiLCAiX19pbXBvcnREZWZhdWx0IiwgIl9faW1wb3J0U3RhciIsICJfX21ha2VUZW1wbGF0ZU9iamVjdCIsICJfX21ldGFkYXRhIiwgIl9fcGFyYW0iLCAiX19wcm9wS2V5IiwgIl9fcmVhZCIsICJfX3Jlc3QiLCAiX19yZXdyaXRlUmVsYXRpdmVJbXBvcnRFeHRlbnNpb24iLCAiX19ydW5Jbml0aWFsaXplcnMiLCAiX19zZXRGdW5jdGlvbk5hbWUiLCAiX19zcHJlYWQiLCAiX19zcHJlYWRBcnJheSIsICJfX3NwcmVhZEFycmF5cyIsICJfX3ZhbHVlcyIsICJ0c2xpYl9lczZfZGVmYXVsdCIsICJkIiwgImIiLCAiZXh0ZW5kU3RhdGljcyIsICJfXyIsICJzIiwgImUiLCAidCIsICJwIiwgImRlY29yYXRvcnMiLCAidGFyZ2V0IiwgImtleSIsICJkZXNjIiwgImMiLCAiciIsICJpIiwgInBhcmFtSW5kZXgiLCAiZGVjb3JhdG9yIiwgImN0b3IiLCAiZGVzY3JpcHRvckluIiwgImNvbnRleHRJbiIsICJpbml0aWFsaXplcnMiLCAiZXh0cmFJbml0aWFsaXplcnMiLCAiYWNjZXB0IiwgImYiLCAia2luZCIsICJkZXNjcmlwdG9yIiwgIl8iLCAiZG9uZSIsICJjb250ZXh0IiwgInJlc3VsdCIsICJ0aGlzQXJnIiwgInZhbHVlIiwgInVzZVZhbHVlIiwgIngiLCAibmFtZSIsICJwcmVmaXgiLCAibWV0YWRhdGFLZXkiLCAibWV0YWRhdGFWYWx1ZSIsICJfYXJndW1lbnRzIiwgIlAiLCAiZ2VuZXJhdG9yIiwgImFkb3B0IiwgInJlc29sdmUiLCAicmVqZWN0IiwgImZ1bGZpbGxlZCIsICJzdGVwIiwgInJlamVjdGVkIiwgImJvZHkiLCAieSIsICJnIiwgInZlcmIiLCAibiIsICJ2IiwgIm9wIiwgIm0iLCAibyIsICJhciIsICJlcnJvciIsICJpbCIsICJrIiwgImEiLCAiaiIsICJqbCIsICJ0byIsICJmcm9tIiwgInBhY2siLCAibCIsICJxIiwgImF3YWl0UmV0dXJuIiwgInJlc3VtZSIsICJzZXR0bGUiLCAiZnVsZmlsbCIsICJjb29rZWQiLCAicmF3IiwgIm1vZCIsICJvd25LZXlzIiwgIl9fc2V0TW9kdWxlRGVmYXVsdCIsICJyZWNlaXZlciIsICJzdGF0ZSIsICJlbnYiLCAiYXN5bmMiLCAiZGlzcG9zZSIsICJpbm5lciIsICJmYWlsIiwgIl9TdXBwcmVzc2VkRXJyb3IiLCAibmV4dCIsICJwYXRoIiwgInByZXNlcnZlSnN4IiwgInRzeCIsICJleHQiLCAiY20iLCAiaW5pdF90c2xpYl9lczYiLCAiX19lc21NaW4iLCAiazIiLCAic3VwcHJlc3NlZCIsICJtZXNzYWdlIiwgImdlbmVyaWNNZXNzYWdlIiwgIl9hIiwgInNldFByb3RvdHlwZU9mIiwgIm9iaiIsICJwcm90byIsICJJbnZhcmlhbnRFcnJvciIsICJfc3VwZXIiLCAiX19leHRlbmRzIiwgIm1lc3NhZ2UiLCAiX3RoaXMiLCAiaW52YXJpYW50IiwgImNvbmRpdGlvbiIsICJ2ZXJib3NpdHlMZXZlbHMiLCAidmVyYm9zaXR5TGV2ZWwiLCAid3JhcENvbnNvbGVNZXRob2QiLCAibmFtZSIsICJtZXRob2QiLCAic2V0VmVyYm9zaXR5IiwgImxldmVsIiwgIm9sZCIsICJpbnZhcmlhbnQkMSIsICJyZXF1aXJlX21zIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAicyIsICJtIiwgImgiLCAiZCIsICJ3IiwgInkiLCAidmFsIiwgIm9wdGlvbnMiLCAidHlwZSIsICJwYXJzZSIsICJmbXRMb25nIiwgImZtdFNob3J0IiwgInN0ciIsICJtYXRjaCIsICJuIiwgIm1zIiwgIm1zQWJzIiwgInBsdXJhbCIsICJuYW1lIiwgImlzUGx1cmFsIiwgInJlcXVpcmVfY29tbW9uIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAic2V0dXAiLCAiZW52IiwgImNyZWF0ZURlYnVnIiwgImNvZXJjZSIsICJkaXNhYmxlIiwgImVuYWJsZSIsICJlbmFibGVkIiwgImRlc3Ryb3kiLCAia2V5IiwgInNlbGVjdENvbG9yIiwgIm5hbWVzcGFjZSIsICJoYXNoIiwgImkiLCAicHJldlRpbWUiLCAiZW5hYmxlT3ZlcnJpZGUiLCAibmFtZXNwYWNlc0NhY2hlIiwgImVuYWJsZWRDYWNoZSIsICJkZWJ1ZyIsICJhcmdzIiwgInNlbGYiLCAiY3VyciIsICJtcyIsICJpbmRleCIsICJtYXRjaCIsICJmb3JtYXQiLCAiZm9ybWF0dGVyIiwgInZhbCIsICJleHRlbmQiLCAidiIsICJkZWxpbWl0ZXIiLCAibmV3RGVidWciLCAibmFtZXNwYWNlcyIsICJzcGxpdCIsICJucyIsICJtYXRjaGVzVGVtcGxhdGUiLCAic2VhcmNoIiwgInRlbXBsYXRlIiwgInNlYXJjaEluZGV4IiwgInRlbXBsYXRlSW5kZXgiLCAic3RhckluZGV4IiwgIm1hdGNoSW5kZXgiLCAibmFtZSIsICJza2lwIiwgInJlcXVpcmVfYnJvd3NlciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImZvcm1hdEFyZ3MiLCAic2F2ZSIsICJsb2FkIiwgInVzZUNvbG9ycyIsICJsb2NhbHN0b3JhZ2UiLCAid2FybmVkIiwgIm0iLCAiYXJncyIsICJjIiwgImluZGV4IiwgImxhc3RDIiwgIm1hdGNoIiwgIm5hbWVzcGFjZXMiLCAiciIsICJmb3JtYXR0ZXJzIiwgInYiLCAiZXJyb3IiLCAicmVxdWlyZV9oYXNfZmxhZyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImZsYWciLCAiYXJndiIsICJwcmVmaXgiLCAicG9zaXRpb24iLCAidGVybWluYXRvclBvc2l0aW9uIiwgInJlcXVpcmVfc3VwcG9ydHNfY29sb3IiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJvcyIsICJ0dHkiLCAiaGFzRmxhZyIsICJlbnYiLCAiZm9yY2VDb2xvciIsICJ0cmFuc2xhdGVMZXZlbCIsICJsZXZlbCIsICJzdXBwb3J0c0NvbG9yIiwgImhhdmVTdHJlYW0iLCAic3RyZWFtSXNUVFkiLCAibWluIiwgIm9zUmVsZWFzZSIsICJzaWduIiwgInZlcnNpb24iLCAiZ2V0U3VwcG9ydExldmVsIiwgInN0cmVhbSIsICJyZXF1aXJlX25vZGUiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJ0dHkiLCAidXRpbCIsICJpbml0IiwgImxvZyIsICJmb3JtYXRBcmdzIiwgInNhdmUiLCAibG9hZCIsICJ1c2VDb2xvcnMiLCAic3VwcG9ydHNDb2xvciIsICJrZXkiLCAib2JqIiwgInByb3AiLCAiXyIsICJrIiwgInZhbCIsICJhcmdzIiwgIm5hbWUiLCAiYyIsICJjb2xvckNvZGUiLCAicHJlZml4IiwgImdldERhdGUiLCAibmFtZXNwYWNlcyIsICJkZWJ1ZyIsICJrZXlzIiwgImkiLCAiZm9ybWF0dGVycyIsICJ2IiwgInN0ciIsICJyZXF1aXJlX3NyYyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImZzXzEiLCAiZGVidWdfMSIsICJfX2ltcG9ydERlZmF1bHQiLCAibG9nIiwgImNoZWNrIiwgInBhdGgiLCAiaXNGaWxlIiwgImlzRGlyZWN0b3J5IiwgInN0YXQiLCAiZSIsICJleGlzdHMiLCAidHlwZSIsICJleHBvcnRzIiwgIl9fZXhwb3J0IiwgImRlZmVycmVkIiwgImRvbmUiLCAiZmFpbCIsICJzdGF0dXMiLCAiX2RvbmUiLCAiX2ZhaWwiLCAicmVzdWx0IiwgImVycm9yIiwgImV4cG9ydHMiLCAicmVxdWlyZV9zdHlsZXNfbmFtZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInJlcXVpcmVfc3VwcG9ydHNfY29sb3JzIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiYXJndiIsICJyZXF1aXJlX2NvbG9yIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJfc3R5bGVzIiwgImlzU3VwcG9ydGVkIiwgImNvbG9ycyIsICJzdHlsZXMiLCAiQ29sb3JzIiwgInN0ciIsICJpIiwgIm5hbWUiLCAidGV4dCIsICJyZXNldCIsICJpczI1NiIsICJ0eXBlIiwgInJlcXVpcmVfbGliIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiY29sb3IiLCAicmVxdWlyZV90cmVlX2tpbGwiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJjaGlsZFByb2Nlc3MiLCAic3Bhd24iLCAiZXhlYyIsICJwaWQiLCAic2lnbmFsIiwgImNhbGxiYWNrIiwgInRyZWUiLCAicGlkc1RvUHJvY2VzcyIsICJidWlsZFByb2Nlc3NUcmVlIiwgInBhcmVudFBpZCIsICJraWxsQWxsIiwgImtpbGxlZCIsICJwaWRwaWQiLCAia2lsbFBpZCIsICJlcnIiLCAic3Bhd25DaGlsZFByb2Nlc3Nlc0xpc3QiLCAiY2IiLCAicHMiLCAiYWxsRGF0YSIsICJkYXRhIiwgIm9uQ2xvc2UiLCAiY29kZSIsICJyZXF1aXJlX2JhbGFuY2VkX21hdGNoIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiYmFsYW5jZWQiLCAiYSIsICJiIiwgInN0ciIsICJtYXliZU1hdGNoIiwgInIiLCAicmFuZ2UiLCAicmVnIiwgIm0iLCAiYmVncyIsICJiZWciLCAibGVmdCIsICJyaWdodCIsICJyZXN1bHQiLCAiYWkiLCAiYmkiLCAiaSIsICJyZXF1aXJlX2JyYWNlX2V4cGFuc2lvbiIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImJhbGFuY2VkIiwgImV4cGFuZFRvcCIsICJlc2NTbGFzaCIsICJlc2NPcGVuIiwgImVzY0Nsb3NlIiwgImVzY0NvbW1hIiwgImVzY1BlcmlvZCIsICJudW1lcmljIiwgInN0ciIsICJlc2NhcGVCcmFjZXMiLCAidW5lc2NhcGVCcmFjZXMiLCAicGFyc2VDb21tYVBhcnRzIiwgInBhcnRzIiwgIm0iLCAicHJlIiwgImJvZHkiLCAicG9zdCIsICJwIiwgInBvc3RQYXJ0cyIsICJleHBhbmQiLCAiZW1icmFjZSIsICJpc1BhZGRlZCIsICJlbCIsICJsdGUiLCAiaSIsICJ5IiwgImd0ZSIsICJpc1RvcCIsICJleHBhbnNpb25zIiwgImsiLCAiZXhwYW5zaW9uIiwgImlzTnVtZXJpY1NlcXVlbmNlIiwgImlzQWxwaGFTZXF1ZW5jZSIsICJpc1NlcXVlbmNlIiwgImlzT3B0aW9ucyIsICJuIiwgIk4iLCAieCIsICJ3aWR0aCIsICJpbmNyIiwgInRlc3QiLCAicmV2ZXJzZSIsICJwYWQiLCAiYyIsICJuZWVkIiwgInoiLCAiaiIsICJyZXF1aXJlX25hcGkiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJleGlzdHNTeW5jIiwgInJlYWRGaWxlU3luYyIsICJqb2luIiwgInBsYXRmb3JtIiwgImFyY2giLCAibmF0aXZlQmluZGluZyIsICJsb2NhbEZpbGVFeGlzdGVkIiwgImxvYWRFcnJvciIsICJpc011c2wiLCAibGRkUGF0aCIsICJnbGliY1ZlcnNpb25SdW50aW1lIiwgInBhcnNlRmlsZXMiLCAiTGFuZyIsICJTZ05vZGUiLCAiU2dSb290IiwgInBhcnNlIiwgInBhcnNlQXN5bmMiLCAia2luZCIsICJwYXR0ZXJuIiwgImZpbmRJbkZpbGVzIiwgImh0bWwiLCAianMiLCAianN4IiwgInRzIiwgInRzeCIsICJjc3MiLCAicmVxdWlyZV9pZGVudGl0eSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiQUxJQVMiLCAiRE9DIiwgIk1BUCIsICJQQUlSIiwgIlNDQUxBUiIsICJTRVEiLCAiTk9ERV9UWVBFIiwgImlzQWxpYXMiLCAibm9kZSIsICJpc0RvY3VtZW50IiwgImlzTWFwIiwgImlzUGFpciIsICJpc1NjYWxhciIsICJpc1NlcSIsICJpc0NvbGxlY3Rpb24iLCAiaXNOb2RlIiwgImhhc0FuY2hvciIsICJyZXF1aXJlX3Zpc2l0IiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJpZGVudGl0eSIsICJCUkVBSyIsICJTS0lQIiwgIlJFTU9WRSIsICJ2aXNpdCIsICJub2RlIiwgInZpc2l0b3IiLCAidmlzaXRvcl8iLCAiaW5pdFZpc2l0b3IiLCAidmlzaXRfIiwgImtleSIsICJwYXRoIiwgImN0cmwiLCAiY2FsbFZpc2l0b3IiLCAicmVwbGFjZU5vZGUiLCAiaSIsICJjaSIsICJjayIsICJjdiIsICJ2aXNpdEFzeW5jIiwgInZpc2l0QXN5bmNfIiwgInBhcmVudCIsICJwdCIsICJyZXF1aXJlX2RpcmVjdGl2ZXMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgImlkZW50aXR5IiwgInZpc2l0IiwgImVzY2FwZUNoYXJzIiwgImVzY2FwZVRhZ05hbWUiLCAidG4iLCAiY2giLCAiRGlyZWN0aXZlcyIsICJfRGlyZWN0aXZlcyIsICJ5YW1sIiwgInRhZ3MiLCAiY29weSIsICJyZXMiLCAibGluZSIsICJvbkVycm9yIiwgInBhcnRzIiwgIm5hbWUiLCAiaGFuZGxlIiwgInByZWZpeCIsICJ2ZXJzaW9uIiwgImlzVmFsaWQiLCAic291cmNlIiwgInZlcmJhdGltIiwgInN1ZmZpeCIsICJlcnJvciIsICJ0YWciLCAiZG9jIiwgImxpbmVzIiwgInRhZ0VudHJpZXMiLCAidGFnTmFtZXMiLCAiX2tleSIsICJub2RlIiwgInJlcXVpcmVfYW5jaG9ycyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiaWRlbnRpdHkiLCAidmlzaXQiLCAiYW5jaG9ySXNWYWxpZCIsICJhbmNob3IiLCAibXNnIiwgImFuY2hvck5hbWVzIiwgInJvb3QiLCAiYW5jaG9ycyIsICJfa2V5IiwgIm5vZGUiLCAiZmluZE5ld0FuY2hvciIsICJwcmVmaXgiLCAiZXhjbHVkZSIsICJpIiwgIm5hbWUiLCAiY3JlYXRlTm9kZUFuY2hvcnMiLCAiZG9jIiwgImFsaWFzT2JqZWN0cyIsICJzb3VyY2VPYmplY3RzIiwgInByZXZBbmNob3JzIiwgInNvdXJjZSIsICJyZWYiLCAiZXJyb3IiLCAicmVxdWlyZV9hcHBseVJldml2ZXIiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgImFwcGx5UmV2aXZlciIsICJyZXZpdmVyIiwgIm9iaiIsICJrZXkiLCAidmFsIiwgImxlbiIsICJ2MCIsICJ2MSIsICJrIiwgInJlcXVpcmVfdG9KUyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiaWRlbnRpdHkiLCAidG9KUyIsICJ2YWx1ZSIsICJhcmciLCAiY3R4IiwgInYiLCAiZGF0YSIsICJyZXMiLCAicmVxdWlyZV9Ob2RlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJhcHBseVJldml2ZXIiLCAiaWRlbnRpdHkiLCAidG9KUyIsICJOb2RlQmFzZSIsICJ0eXBlIiwgImNvcHkiLCAiZG9jIiwgIm1hcEFzTWFwIiwgIm1heEFsaWFzQ291bnQiLCAib25BbmNob3IiLCAicmV2aXZlciIsICJjdHgiLCAicmVzIiwgImNvdW50IiwgInJlcXVpcmVfQWxpYXMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgImFuY2hvcnMiLCAidmlzaXQiLCAiaWRlbnRpdHkiLCAiTm9kZSIsICJ0b0pTIiwgIkFsaWFzIiwgInNvdXJjZSIsICJkb2MiLCAiZm91bmQiLCAiX2tleSIsICJub2RlIiwgIl9hcmciLCAiY3R4IiwgIm1heEFsaWFzQ291bnQiLCAibXNnIiwgImRhdGEiLCAiZ2V0QWxpYXNDb3VudCIsICJfb25Db21tZW50IiwgIl9vbkNob21wS2VlcCIsICJzcmMiLCAiYW5jaG9yIiwgImNvdW50IiwgIml0ZW0iLCAiYyIsICJrYyIsICJ2YyIsICJyZXF1aXJlX1NjYWxhciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiaWRlbnRpdHkiLCAiTm9kZSIsICJ0b0pTIiwgImlzU2NhbGFyVmFsdWUiLCAidmFsdWUiLCAiU2NhbGFyIiwgImFyZyIsICJjdHgiLCAicmVxdWlyZV9jcmVhdGVOb2RlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJBbGlhcyIsICJpZGVudGl0eSIsICJTY2FsYXIiLCAiZGVmYXVsdFRhZ1ByZWZpeCIsICJmaW5kVGFnT2JqZWN0IiwgInZhbHVlIiwgInRhZ05hbWUiLCAidGFncyIsICJtYXRjaCIsICJ0IiwgInRhZ09iaiIsICJjcmVhdGVOb2RlIiwgImN0eCIsICJtYXAiLCAiYWxpYXNEdXBsaWNhdGVPYmplY3RzIiwgIm9uQW5jaG9yIiwgIm9uVGFnT2JqIiwgInNjaGVtYSIsICJzb3VyY2VPYmplY3RzIiwgInJlZiIsICJub2RlIiwgInJlcXVpcmVfQ29sbGVjdGlvbiIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiY3JlYXRlTm9kZSIsICJpZGVudGl0eSIsICJOb2RlIiwgImNvbGxlY3Rpb25Gcm9tUGF0aCIsICJzY2hlbWEiLCAicGF0aCIsICJ2YWx1ZSIsICJ2IiwgImsiLCAiYSIsICJpc0VtcHR5UGF0aCIsICJDb2xsZWN0aW9uIiwgInR5cGUiLCAiY29weSIsICJpdCIsICJrZXkiLCAicmVzdCIsICJub2RlIiwgImtlZXBTY2FsYXIiLCAiYWxsb3dTY2FsYXIiLCAicmVxdWlyZV9zdHJpbmdpZnlDb21tZW50IiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJzdHJpbmdpZnlDb21tZW50IiwgInN0ciIsICJpbmRlbnRDb21tZW50IiwgImNvbW1lbnQiLCAiaW5kZW50IiwgImxpbmVDb21tZW50IiwgInJlcXVpcmVfZm9sZEZsb3dMaW5lcyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiRk9MRF9GTE9XIiwgIkZPTERfQkxPQ0siLCAiRk9MRF9RVU9URUQiLCAiZm9sZEZsb3dMaW5lcyIsICJ0ZXh0IiwgImluZGVudCIsICJtb2RlIiwgImluZGVudEF0U3RhcnQiLCAibGluZVdpZHRoIiwgIm1pbkNvbnRlbnRXaWR0aCIsICJvbkZvbGQiLCAib25PdmVyZmxvdyIsICJlbmRTdGVwIiwgImZvbGRzIiwgImVzY2FwZWRGb2xkcyIsICJlbmQiLCAic3BsaXQiLCAicHJldiIsICJvdmVyZmxvdyIsICJpIiwgImVzY1N0YXJ0IiwgImVzY0VuZCIsICJjb25zdW1lTW9yZUluZGVudGVkTGluZXMiLCAiY2giLCAibmV4dCIsICJqIiwgInJlcyIsICJmb2xkIiwgInN0YXJ0IiwgInJlcXVpcmVfc3RyaW5naWZ5U3RyaW5nIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJTY2FsYXIiLCAiZm9sZEZsb3dMaW5lcyIsICJnZXRGb2xkT3B0aW9ucyIsICJjdHgiLCAiaXNCbG9jayIsICJjb250YWluc0RvY3VtZW50TWFya2VyIiwgInN0ciIsICJsaW5lTGVuZ3RoT3ZlckxpbWl0IiwgImxpbmVXaWR0aCIsICJpbmRlbnRMZW5ndGgiLCAibGltaXQiLCAic3RyTGVuIiwgImkiLCAic3RhcnQiLCAiZG91YmxlUXVvdGVkU3RyaW5nIiwgInZhbHVlIiwgImpzb24iLCAiaW1wbGljaXRLZXkiLCAibWluTXVsdGlMaW5lTGVuZ3RoIiwgImluZGVudCIsICJjaCIsICJjb2RlIiwgInNpbmdsZVF1b3RlZFN0cmluZyIsICJyZXMiLCAicXVvdGVkU3RyaW5nIiwgInNpbmdsZVF1b3RlIiwgInFzIiwgImhhc0RvdWJsZSIsICJoYXNTaW5nbGUiLCAiYmxvY2tFbmROZXdsaW5lcyIsICJibG9ja1N0cmluZyIsICJjb21tZW50IiwgInR5cGUiLCAib25Db21tZW50IiwgIm9uQ2hvbXBLZWVwIiwgImJsb2NrUXVvdGUiLCAiY29tbWVudFN0cmluZyIsICJsaXRlcmFsIiwgImNob21wIiwgImVuZFN0YXJ0IiwgImVuZCIsICJlbmRObFBvcyIsICJzdGFydFdpdGhTcGFjZSIsICJzdGFydEVuZCIsICJzdGFydE5sUG9zIiwgImhlYWRlciIsICJmb2xkZWRWYWx1ZSIsICJsaXRlcmFsRmFsbGJhY2siLCAiZm9sZE9wdGlvbnMiLCAiYm9keSIsICJwbGFpblN0cmluZyIsICJpdGVtIiwgImFjdHVhbFN0cmluZyIsICJpbmRlbnRTdGVwIiwgImluRmxvdyIsICJ0ZXN0IiwgInRhZyIsICJjb21wYXQiLCAidGFncyIsICJzdHJpbmdpZnlTdHJpbmciLCAic3MiLCAiX3N0cmluZ2lmeSIsICJfdHlwZSIsICJkZWZhdWx0S2V5VHlwZSIsICJkZWZhdWx0U3RyaW5nVHlwZSIsICJ0IiwgInJlcXVpcmVfc3RyaW5naWZ5IiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJhbmNob3JzIiwgImlkZW50aXR5IiwgInN0cmluZ2lmeUNvbW1lbnQiLCAic3RyaW5naWZ5U3RyaW5nIiwgImNyZWF0ZVN0cmluZ2lmeUNvbnRleHQiLCAiZG9jIiwgIm9wdGlvbnMiLCAib3B0IiwgImluRmxvdyIsICJnZXRUYWdPYmplY3QiLCAidGFncyIsICJpdGVtIiwgIm1hdGNoIiwgInQiLCAidGFnT2JqIiwgIm9iaiIsICJ0ZXN0TWF0Y2giLCAibmFtZSIsICJzdHJpbmdpZnlQcm9wcyIsICJub2RlIiwgImFuY2hvcnMkMSIsICJwcm9wcyIsICJhbmNob3IiLCAidGFnIiwgInN0cmluZ2lmeSIsICJjdHgiLCAib25Db21tZW50IiwgIm9uQ2hvbXBLZWVwIiwgIm8iLCAic3RyIiwgInJlcXVpcmVfc3RyaW5naWZ5UGFpciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiaWRlbnRpdHkiLCAiU2NhbGFyIiwgInN0cmluZ2lmeSIsICJzdHJpbmdpZnlDb21tZW50IiwgInN0cmluZ2lmeVBhaXIiLCAia2V5IiwgInZhbHVlIiwgImN0eCIsICJvbkNvbW1lbnQiLCAib25DaG9tcEtlZXAiLCAiYWxsTnVsbFZhbHVlcyIsICJkb2MiLCAiaW5kZW50IiwgImluZGVudFN0ZXAiLCAiY29tbWVudFN0cmluZyIsICJpbmRlbnRTZXEiLCAic2ltcGxlS2V5cyIsICJrZXlDb21tZW50IiwgIm1zZyIsICJleHBsaWNpdEtleSIsICJrZXlDb21tZW50RG9uZSIsICJjaG9tcEtlZXAiLCAic3RyIiwgInZzYiIsICJ2Y2IiLCAidmFsdWVDb21tZW50IiwgInZhbHVlQ29tbWVudERvbmUiLCAidmFsdWVTdHIiLCAid3MiLCAiY3MiLCAidnMwIiwgIm5sMCIsICJoYXNOZXdsaW5lIiwgImZsb3ciLCAiaGFzUHJvcHNMaW5lIiwgInNwMCIsICJyZXF1aXJlX2xvZyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiZGVidWciLCAibG9nTGV2ZWwiLCAibWVzc2FnZXMiLCAid2FybiIsICJ3YXJuaW5nIiwgInJlcXVpcmVfbWVyZ2UiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgImlkZW50aXR5IiwgIlNjYWxhciIsICJNRVJHRV9LRVkiLCAibWVyZ2UiLCAidmFsdWUiLCAiYWRkTWVyZ2VUb0pTTWFwIiwgImlzTWVyZ2VLZXkiLCAiY3R4IiwgImtleSIsICJ0YWciLCAibWFwIiwgIml0IiwgIm1lcmdlVmFsdWUiLCAic291cmNlIiwgInNyY01hcCIsICJyZXF1aXJlX2FkZFBhaXJUb0pTTWFwIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJsb2ciLCAibWVyZ2UiLCAic3RyaW5naWZ5IiwgImlkZW50aXR5IiwgInRvSlMiLCAiYWRkUGFpclRvSlNNYXAiLCAiY3R4IiwgIm1hcCIsICJrZXkiLCAidmFsdWUiLCAianNLZXkiLCAic3RyaW5nS2V5IiwgInN0cmluZ2lmeUtleSIsICJqc1ZhbHVlIiwgInN0ckN0eCIsICJub2RlIiwgInN0cktleSIsICJqc29uU3RyIiwgInJlcXVpcmVfUGFpciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiY3JlYXRlTm9kZSIsICJzdHJpbmdpZnlQYWlyIiwgImFkZFBhaXJUb0pTTWFwIiwgImlkZW50aXR5IiwgImNyZWF0ZVBhaXIiLCAia2V5IiwgInZhbHVlIiwgImN0eCIsICJrIiwgInYiLCAiUGFpciIsICJfUGFpciIsICJzY2hlbWEiLCAiXyIsICJwYWlyIiwgIm9uQ29tbWVudCIsICJvbkNob21wS2VlcCIsICJyZXF1aXJlX3N0cmluZ2lmeUNvbGxlY3Rpb24iLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgImlkZW50aXR5IiwgInN0cmluZ2lmeSIsICJzdHJpbmdpZnlDb21tZW50IiwgInN0cmluZ2lmeUNvbGxlY3Rpb24iLCAiY29sbGVjdGlvbiIsICJjdHgiLCAib3B0aW9ucyIsICJzdHJpbmdpZnlGbG93Q29sbGVjdGlvbiIsICJzdHJpbmdpZnlCbG9ja0NvbGxlY3Rpb24iLCAiY29tbWVudCIsICJpdGVtcyIsICJibG9ja0l0ZW1QcmVmaXgiLCAiZmxvd0NoYXJzIiwgIml0ZW1JbmRlbnQiLCAib25DaG9tcEtlZXAiLCAib25Db21tZW50IiwgImluZGVudCIsICJjb21tZW50U3RyaW5nIiwgIml0ZW1DdHgiLCAiY2hvbXBLZWVwIiwgImxpbmVzIiwgImkiLCAiaXRlbSIsICJhZGRDb21tZW50QmVmb3JlIiwgImlrIiwgInN0ciIsICJsaW5lIiwgImluZGVudFN0ZXAiLCAiZmNQYWRkaW5nIiwgInJlcU5ld2xpbmUiLCAibGluZXNBdFZhbHVlIiwgIml2IiwgInN0YXJ0IiwgImVuZCIsICJsZW4iLCAic3VtIiwgImljIiwgInJlcXVpcmVfWUFNTE1hcCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAic3RyaW5naWZ5Q29sbGVjdGlvbiIsICJhZGRQYWlyVG9KU01hcCIsICJDb2xsZWN0aW9uIiwgImlkZW50aXR5IiwgIlBhaXIiLCAiU2NhbGFyIiwgImZpbmRQYWlyIiwgIml0ZW1zIiwgImtleSIsICJrIiwgIml0IiwgIllBTUxNYXAiLCAic2NoZW1hIiwgIm9iaiIsICJjdHgiLCAia2VlcFVuZGVmaW5lZCIsICJyZXBsYWNlciIsICJtYXAiLCAiYWRkIiwgInZhbHVlIiwgInBhaXIiLCAib3ZlcndyaXRlIiwgIl9wYWlyIiwgInByZXYiLCAic29ydEVudHJpZXMiLCAiaSIsICJpdGVtIiwgImtlZXBTY2FsYXIiLCAibm9kZSIsICJfIiwgIlR5cGUiLCAib25Db21tZW50IiwgIm9uQ2hvbXBLZWVwIiwgInJlcXVpcmVfbWFwIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJpZGVudGl0eSIsICJZQU1MTWFwIiwgIm1hcCIsICJvbkVycm9yIiwgInNjaGVtYSIsICJvYmoiLCAiY3R4IiwgInJlcXVpcmVfWUFNTFNlcSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiY3JlYXRlTm9kZSIsICJzdHJpbmdpZnlDb2xsZWN0aW9uIiwgIkNvbGxlY3Rpb24iLCAiaWRlbnRpdHkiLCAiU2NhbGFyIiwgInRvSlMiLCAiWUFNTFNlcSIsICJzY2hlbWEiLCAidmFsdWUiLCAia2V5IiwgImlkeCIsICJhc0l0ZW1JbmRleCIsICJrZWVwU2NhbGFyIiwgIml0IiwgInByZXYiLCAiXyIsICJjdHgiLCAic2VxIiwgIml0ZW0iLCAib25Db21tZW50IiwgIm9uQ2hvbXBLZWVwIiwgIm9iaiIsICJyZXBsYWNlciIsICJpIiwgInJlcXVpcmVfc2VxIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJpZGVudGl0eSIsICJZQU1MU2VxIiwgInNlcSIsICJvbkVycm9yIiwgInNjaGVtYSIsICJvYmoiLCAiY3R4IiwgInJlcXVpcmVfc3RyaW5nIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJzdHJpbmdpZnlTdHJpbmciLCAic3RyaW5nIiwgInZhbHVlIiwgInN0ciIsICJpdGVtIiwgImN0eCIsICJvbkNvbW1lbnQiLCAib25DaG9tcEtlZXAiLCAicmVxdWlyZV9udWxsIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJTY2FsYXIiLCAibnVsbFRhZyIsICJ2YWx1ZSIsICJzb3VyY2UiLCAiY3R4IiwgInJlcXVpcmVfYm9vbCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiU2NhbGFyIiwgImJvb2xUYWciLCAidmFsdWUiLCAic3RyIiwgInNvdXJjZSIsICJjdHgiLCAic3YiLCAicmVxdWlyZV9zdHJpbmdpZnlOdW1iZXIiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgInN0cmluZ2lmeU51bWJlciIsICJmb3JtYXQiLCAibWluRnJhY3Rpb25EaWdpdHMiLCAidGFnIiwgInZhbHVlIiwgIm51bSIsICJuIiwgImkiLCAiZCIsICJyZXF1aXJlX2Zsb2F0IiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJTY2FsYXIiLCAic3RyaW5naWZ5TnVtYmVyIiwgImZsb2F0TmFOIiwgInZhbHVlIiwgInN0ciIsICJmbG9hdEV4cCIsICJub2RlIiwgIm51bSIsICJmbG9hdCIsICJkb3QiLCAicmVxdWlyZV9pbnQiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgInN0cmluZ2lmeU51bWJlciIsICJpbnRJZGVudGlmeSIsICJ2YWx1ZSIsICJpbnRSZXNvbHZlIiwgInN0ciIsICJvZmZzZXQiLCAicmFkaXgiLCAiaW50QXNCaWdJbnQiLCAiaW50U3RyaW5naWZ5IiwgIm5vZGUiLCAicHJlZml4IiwgImludE9jdCIsICJfb25FcnJvciIsICJvcHQiLCAiaW50IiwgImludEhleCIsICJyZXF1aXJlX3NjaGVtYSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibWFwIiwgIl9udWxsIiwgInNlcSIsICJzdHJpbmciLCAiYm9vbCIsICJmbG9hdCIsICJpbnQiLCAic2NoZW1hIiwgInJlcXVpcmVfc2NoZW1hIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJTY2FsYXIiLCAibWFwIiwgInNlcSIsICJpbnRJZGVudGlmeSIsICJ2YWx1ZSIsICJzdHJpbmdpZnlKU09OIiwgImpzb25TY2FsYXJzIiwgInN0ciIsICJfb25FcnJvciIsICJpbnRBc0JpZ0ludCIsICJqc29uRXJyb3IiLCAib25FcnJvciIsICJzY2hlbWEiLCAicmVxdWlyZV9iaW5hcnkiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIlNjYWxhciIsICJzdHJpbmdpZnlTdHJpbmciLCAiYmluYXJ5IiwgInZhbHVlIiwgInNyYyIsICJvbkVycm9yIiwgInN0ciIsICJidWZmZXIiLCAiY29tbWVudCIsICJ0eXBlIiwgImN0eCIsICJvbkNvbW1lbnQiLCAib25DaG9tcEtlZXAiLCAiYnVmIiwgInMiLCAiaSIsICJsaW5lV2lkdGgiLCAibiIsICJsaW5lcyIsICJvIiwgInJlcXVpcmVfcGFpcnMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgImlkZW50aXR5IiwgIlBhaXIiLCAiU2NhbGFyIiwgIllBTUxTZXEiLCAicmVzb2x2ZVBhaXJzIiwgInNlcSIsICJvbkVycm9yIiwgImkiLCAiaXRlbSIsICJwYWlyIiwgImNuIiwgImNyZWF0ZVBhaXJzIiwgInNjaGVtYSIsICJpdGVyYWJsZSIsICJjdHgiLCAicmVwbGFjZXIiLCAicGFpcnMiLCAiaXQiLCAia2V5IiwgInZhbHVlIiwgImtleXMiLCAicmVxdWlyZV9vbWFwIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJpZGVudGl0eSIsICJ0b0pTIiwgIllBTUxNYXAiLCAiWUFNTFNlcSIsICJwYWlycyIsICJZQU1MT01hcCIsICJfWUFNTE9NYXAiLCAiXyIsICJjdHgiLCAibWFwIiwgInBhaXIiLCAia2V5IiwgInZhbHVlIiwgInNjaGVtYSIsICJpdGVyYWJsZSIsICJwYWlycyQxIiwgIm9tYXAiLCAic2VxIiwgIm9uRXJyb3IiLCAic2VlbktleXMiLCAicmVxdWlyZV9ib29sIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJTY2FsYXIiLCAiYm9vbFN0cmluZ2lmeSIsICJ2YWx1ZSIsICJzb3VyY2UiLCAiY3R4IiwgInRydWVUYWciLCAiZmFsc2VUYWciLCAicmVxdWlyZV9mbG9hdCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiU2NhbGFyIiwgInN0cmluZ2lmeU51bWJlciIsICJmbG9hdE5hTiIsICJ2YWx1ZSIsICJzdHIiLCAiZmxvYXRFeHAiLCAibm9kZSIsICJudW0iLCAiZmxvYXQiLCAiZG90IiwgImYiLCAicmVxdWlyZV9pbnQiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgInN0cmluZ2lmeU51bWJlciIsICJpbnRJZGVudGlmeSIsICJ2YWx1ZSIsICJpbnRSZXNvbHZlIiwgInN0ciIsICJvZmZzZXQiLCAicmFkaXgiLCAiaW50QXNCaWdJbnQiLCAic2lnbiIsICJuIiwgImludFN0cmluZ2lmeSIsICJub2RlIiwgInByZWZpeCIsICJpbnRCaW4iLCAiX29uRXJyb3IiLCAib3B0IiwgImludE9jdCIsICJpbnQiLCAiaW50SGV4IiwgInJlcXVpcmVfc2V0IiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJpZGVudGl0eSIsICJQYWlyIiwgIllBTUxNYXAiLCAiWUFNTFNldCIsICJfWUFNTFNldCIsICJzY2hlbWEiLCAia2V5IiwgInBhaXIiLCAia2VlcFBhaXIiLCAidmFsdWUiLCAicHJldiIsICJfIiwgImN0eCIsICJvbkNvbW1lbnQiLCAib25DaG9tcEtlZXAiLCAiaXRlcmFibGUiLCAicmVwbGFjZXIiLCAic2V0IiwgIm1hcCIsICJvbkVycm9yIiwgInJlcXVpcmVfdGltZXN0YW1wIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJzdHJpbmdpZnlOdW1iZXIiLCAicGFyc2VTZXhhZ2VzaW1hbCIsICJzdHIiLCAiYXNCaWdJbnQiLCAic2lnbiIsICJwYXJ0cyIsICJudW0iLCAibiIsICJyZXMiLCAicCIsICJzdHJpbmdpZnlTZXhhZ2VzaW1hbCIsICJub2RlIiwgInZhbHVlIiwgIl82MCIsICJpbnRUaW1lIiwgIl9vbkVycm9yIiwgImludEFzQmlnSW50IiwgImZsb2F0VGltZSIsICJ0aW1lc3RhbXAiLCAibWF0Y2giLCAieWVhciIsICJtb250aCIsICJkYXkiLCAiaG91ciIsICJtaW51dGUiLCAic2Vjb25kIiwgIm1pbGxpc2VjIiwgImRhdGUiLCAidHoiLCAiZCIsICJyZXF1aXJlX3NjaGVtYSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibWFwIiwgIl9udWxsIiwgInNlcSIsICJzdHJpbmciLCAiYmluYXJ5IiwgImJvb2wiLCAiZmxvYXQiLCAiaW50IiwgIm1lcmdlIiwgIm9tYXAiLCAicGFpcnMiLCAic2V0IiwgInRpbWVzdGFtcCIsICJzY2hlbWEiLCAicmVxdWlyZV90YWdzIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtYXAiLCAiX251bGwiLCAic2VxIiwgInN0cmluZyIsICJib29sIiwgImZsb2F0IiwgImludCIsICJzY2hlbWEiLCAic2NoZW1hJDEiLCAiYmluYXJ5IiwgIm1lcmdlIiwgIm9tYXAiLCAicGFpcnMiLCAic2NoZW1hJDIiLCAic2V0IiwgInRpbWVzdGFtcCIsICJzY2hlbWFzIiwgInRhZ3NCeU5hbWUiLCAiY29yZUtub3duVGFncyIsICJnZXRUYWdzIiwgImN1c3RvbVRhZ3MiLCAic2NoZW1hTmFtZSIsICJhZGRNZXJnZVRhZyIsICJzY2hlbWFUYWdzIiwgInRhZ3MiLCAia2V5cyIsICJrZXkiLCAidGFnIiwgInRhZ09iaiIsICJ0YWdOYW1lIiwgInJlcXVpcmVfU2NoZW1hIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJpZGVudGl0eSIsICJtYXAiLCAic2VxIiwgInN0cmluZyIsICJ0YWdzIiwgInNvcnRNYXBFbnRyaWVzQnlLZXkiLCAiYSIsICJiIiwgIlNjaGVtYSIsICJfU2NoZW1hIiwgImNvbXBhdCIsICJjdXN0b21UYWdzIiwgIm1lcmdlIiwgInJlc29sdmVLbm93blRhZ3MiLCAic2NoZW1hIiwgInNvcnRNYXBFbnRyaWVzIiwgInRvU3RyaW5nRGVmYXVsdHMiLCAiY29weSIsICJyZXF1aXJlX3N0cmluZ2lmeURvY3VtZW50IiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJpZGVudGl0eSIsICJzdHJpbmdpZnkiLCAic3RyaW5naWZ5Q29tbWVudCIsICJzdHJpbmdpZnlEb2N1bWVudCIsICJkb2MiLCAib3B0aW9ucyIsICJsaW5lcyIsICJoYXNEaXJlY3RpdmVzIiwgImRpciIsICJjdHgiLCAiY29tbWVudFN0cmluZyIsICJjcyIsICJjaG9tcEtlZXAiLCAiY29udGVudENvbW1lbnQiLCAib25DaG9tcEtlZXAiLCAiYm9keSIsICJkYyIsICJyZXF1aXJlX0RvY3VtZW50IiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJBbGlhcyIsICJDb2xsZWN0aW9uIiwgImlkZW50aXR5IiwgIlBhaXIiLCAidG9KUyIsICJTY2hlbWEiLCAic3RyaW5naWZ5RG9jdW1lbnQiLCAiYW5jaG9ycyIsICJhcHBseVJldml2ZXIiLCAiY3JlYXRlTm9kZSIsICJkaXJlY3RpdmVzIiwgIkRvY3VtZW50IiwgIl9Eb2N1bWVudCIsICJ2YWx1ZSIsICJyZXBsYWNlciIsICJvcHRpb25zIiwgIl9yZXBsYWNlciIsICJvcHQiLCAidmVyc2lvbiIsICJjb3B5IiwgImFzc2VydENvbGxlY3Rpb24iLCAicGF0aCIsICJub2RlIiwgIm5hbWUiLCAicHJldiIsICJrZXlUb1N0ciIsICJ2IiwgImFzU3RyIiwgImFsaWFzRHVwbGljYXRlT2JqZWN0cyIsICJhbmNob3JQcmVmaXgiLCAiZmxvdyIsICJrZWVwVW5kZWZpbmVkIiwgIm9uVGFnT2JqIiwgInRhZyIsICJvbkFuY2hvciIsICJzZXRBbmNob3JzIiwgInNvdXJjZU9iamVjdHMiLCAiY3R4IiwgImtleSIsICJrIiwgImtlZXBTY2FsYXIiLCAic3YiLCAianNvbiIsICJqc29uQXJnIiwgIm1hcEFzTWFwIiwgIm1heEFsaWFzQ291bnQiLCAicmV2aXZlciIsICJyZXMiLCAiY291bnQiLCAicyIsICJjb250ZW50cyIsICJyZXF1aXJlX2Vycm9ycyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiWUFNTEVycm9yIiwgIm5hbWUiLCAicG9zIiwgImNvZGUiLCAibWVzc2FnZSIsICJZQU1MUGFyc2VFcnJvciIsICJZQU1MV2FybmluZyIsICJwcmV0dGlmeUVycm9yIiwgInNyYyIsICJsYyIsICJlcnJvciIsICJsaW5lIiwgImNvbCIsICJjaSIsICJsaW5lU3RyIiwgInRyaW1TdGFydCIsICJwcmV2IiwgImNvdW50IiwgImVuZCIsICJwb2ludGVyIiwgInJlcXVpcmVfcmVzb2x2ZV9wcm9wcyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAicmVzb2x2ZVByb3BzIiwgInRva2VucyIsICJmbG93IiwgImluZGljYXRvciIsICJuZXh0IiwgIm9mZnNldCIsICJvbkVycm9yIiwgInBhcmVudEluZGVudCIsICJzdGFydE9uTmV3bGluZSIsICJzcGFjZUJlZm9yZSIsICJhdE5ld2xpbmUiLCAiaGFzU3BhY2UiLCAiY29tbWVudCIsICJjb21tZW50U2VwIiwgImhhc05ld2xpbmUiLCAicmVxU3BhY2UiLCAidGFiIiwgImFuY2hvciIsICJ0YWciLCAibmV3bGluZUFmdGVyUHJvcCIsICJjb21tYSIsICJmb3VuZCIsICJzdGFydCIsICJ0b2tlbiIsICJjYiIsICJsYXN0IiwgImVuZCIsICJyZXF1aXJlX3V0aWxfY29udGFpbnNfbmV3bGluZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiY29udGFpbnNOZXdsaW5lIiwgImtleSIsICJzdCIsICJpdCIsICJyZXF1aXJlX3V0aWxfZmxvd19pbmRlbnRfY2hlY2siLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgInV0aWxDb250YWluc05ld2xpbmUiLCAiZmxvd0luZGVudENoZWNrIiwgImluZGVudCIsICJmYyIsICJvbkVycm9yIiwgImVuZCIsICJyZXF1aXJlX3V0aWxfbWFwX2luY2x1ZGVzIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJpZGVudGl0eSIsICJtYXBJbmNsdWRlcyIsICJjdHgiLCAiaXRlbXMiLCAic2VhcmNoIiwgInVuaXF1ZUtleXMiLCAiaXNFcXVhbCIsICJhIiwgImIiLCAicGFpciIsICJyZXF1aXJlX3Jlc29sdmVfYmxvY2tfbWFwIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJQYWlyIiwgIllBTUxNYXAiLCAicmVzb2x2ZVByb3BzIiwgInV0aWxDb250YWluc05ld2xpbmUiLCAidXRpbEZsb3dJbmRlbnRDaGVjayIsICJ1dGlsTWFwSW5jbHVkZXMiLCAic3RhcnRDb2xNc2ciLCAicmVzb2x2ZUJsb2NrTWFwIiwgImNvbXBvc2VOb2RlIiwgImNvbXBvc2VFbXB0eU5vZGUiLCAiY3R4IiwgImJtIiwgIm9uRXJyb3IiLCAidGFnIiwgIk5vZGVDbGFzcyIsICJtYXAiLCAib2Zmc2V0IiwgImNvbW1lbnRFbmQiLCAiY29sbEl0ZW0iLCAic3RhcnQiLCAia2V5IiwgInNlcCIsICJ2YWx1ZSIsICJrZXlQcm9wcyIsICJpbXBsaWNpdEtleSIsICJrZXlTdGFydCIsICJrZXlOb2RlIiwgInZhbHVlUHJvcHMiLCAidmFsdWVOb2RlIiwgInBhaXIiLCAicmVxdWlyZV9yZXNvbHZlX2Jsb2NrX3NlcSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiWUFNTFNlcSIsICJyZXNvbHZlUHJvcHMiLCAidXRpbEZsb3dJbmRlbnRDaGVjayIsICJyZXNvbHZlQmxvY2tTZXEiLCAiY29tcG9zZU5vZGUiLCAiY29tcG9zZUVtcHR5Tm9kZSIsICJjdHgiLCAiYnMiLCAib25FcnJvciIsICJ0YWciLCAiTm9kZUNsYXNzIiwgInNlcSIsICJvZmZzZXQiLCAiY29tbWVudEVuZCIsICJzdGFydCIsICJ2YWx1ZSIsICJwcm9wcyIsICJub2RlIiwgInJlcXVpcmVfcmVzb2x2ZV9lbmQiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgInJlc29sdmVFbmQiLCAiZW5kIiwgIm9mZnNldCIsICJyZXFTcGFjZSIsICJvbkVycm9yIiwgImNvbW1lbnQiLCAiaGFzU3BhY2UiLCAic2VwIiwgInRva2VuIiwgInNvdXJjZSIsICJ0eXBlIiwgImNiIiwgInJlcXVpcmVfcmVzb2x2ZV9mbG93X2NvbGxlY3Rpb24iLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgImlkZW50aXR5IiwgIlBhaXIiLCAiWUFNTE1hcCIsICJZQU1MU2VxIiwgInJlc29sdmVFbmQiLCAicmVzb2x2ZVByb3BzIiwgInV0aWxDb250YWluc05ld2xpbmUiLCAidXRpbE1hcEluY2x1ZGVzIiwgImJsb2NrTXNnIiwgImlzQmxvY2siLCAidG9rZW4iLCAicmVzb2x2ZUZsb3dDb2xsZWN0aW9uIiwgImNvbXBvc2VOb2RlIiwgImNvbXBvc2VFbXB0eU5vZGUiLCAiY3R4IiwgImZjIiwgIm9uRXJyb3IiLCAidGFnIiwgImlzTWFwIiwgImZjTmFtZSIsICJOb2RlQ2xhc3MiLCAiY29sbCIsICJhdFJvb3QiLCAib2Zmc2V0IiwgImkiLCAiY29sbEl0ZW0iLCAic3RhcnQiLCAia2V5IiwgInNlcCIsICJ2YWx1ZSIsICJwcm9wcyIsICJwcmV2SXRlbUNvbW1lbnQiLCAibG9vcCIsICJzdCIsICJwcmV2IiwgInZhbHVlTm9kZSIsICJrZXlTdGFydCIsICJrZXlOb2RlIiwgInZhbHVlUHJvcHMiLCAicGFpciIsICJtYXAiLCAiZW5kUmFuZ2UiLCAiZXhwZWN0ZWRFbmQiLCAiY2UiLCAiZWUiLCAiY2VQb3MiLCAibmFtZSIsICJtc2ciLCAiZW5kIiwgInJlcXVpcmVfY29tcG9zZV9jb2xsZWN0aW9uIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJpZGVudGl0eSIsICJTY2FsYXIiLCAiWUFNTE1hcCIsICJZQU1MU2VxIiwgInJlc29sdmVCbG9ja01hcCIsICJyZXNvbHZlQmxvY2tTZXEiLCAicmVzb2x2ZUZsb3dDb2xsZWN0aW9uIiwgInJlc29sdmVDb2xsZWN0aW9uIiwgIkNOIiwgImN0eCIsICJ0b2tlbiIsICJvbkVycm9yIiwgInRhZ05hbWUiLCAidGFnIiwgImNvbGwiLCAiQ29sbCIsICJjb21wb3NlQ29sbGVjdGlvbiIsICJwcm9wcyIsICJ0YWdUb2tlbiIsICJtc2ciLCAiYW5jaG9yIiwgIm5sIiwgImxhc3RQcm9wIiwgImV4cFR5cGUiLCAidCIsICJrdCIsICJyZXMiLCAibm9kZSIsICJyZXF1aXJlX3Jlc29sdmVfYmxvY2tfc2NhbGFyIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJTY2FsYXIiLCAicmVzb2x2ZUJsb2NrU2NhbGFyIiwgImN0eCIsICJzY2FsYXIiLCAib25FcnJvciIsICJzdGFydCIsICJoZWFkZXIiLCAicGFyc2VCbG9ja1NjYWxhckhlYWRlciIsICJ0eXBlIiwgImxpbmVzIiwgInNwbGl0TGluZXMiLCAiY2hvbXBTdGFydCIsICJpIiwgImNvbnRlbnQiLCAidmFsdWUiLCAiZW5kIiwgInRyaW1JbmRlbnQiLCAib2Zmc2V0IiwgImNvbnRlbnRTdGFydCIsICJpbmRlbnQiLCAic2VwIiwgInByZXZNb3JlSW5kZW50ZWQiLCAiY3JsZiIsICJtZXNzYWdlIiwgInByb3BzIiwgInN0cmljdCIsICJzb3VyY2UiLCAibW9kZSIsICJjaG9tcCIsICJlcnJvciIsICJjaCIsICJuIiwgImhhc1NwYWNlIiwgImNvbW1lbnQiLCAibGVuZ3RoIiwgInRva2VuIiwgInRzIiwgInNwbGl0IiwgImZpcnN0IiwgIm0iLCAicmVxdWlyZV9yZXNvbHZlX2Zsb3dfc2NhbGFyIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJTY2FsYXIiLCAicmVzb2x2ZUVuZCIsICJyZXNvbHZlRmxvd1NjYWxhciIsICJzY2FsYXIiLCAic3RyaWN0IiwgIm9uRXJyb3IiLCAib2Zmc2V0IiwgInR5cGUiLCAic291cmNlIiwgImVuZCIsICJfdHlwZSIsICJ2YWx1ZSIsICJfb25FcnJvciIsICJyZWwiLCAiY29kZSIsICJtc2ciLCAicGxhaW5WYWx1ZSIsICJzaW5nbGVRdW90ZWRWYWx1ZSIsICJkb3VibGVRdW90ZWRWYWx1ZSIsICJ2YWx1ZUVuZCIsICJyZSIsICJiYWRDaGFyIiwgImZvbGRMaW5lcyIsICJmaXJzdCIsICJsaW5lIiwgIm1hdGNoIiwgInJlcyIsICJzZXAiLCAicG9zIiwgImxhc3QiLCAiaSIsICJjaCIsICJmb2xkIiwgImZvbGROZXdsaW5lIiwgIm5leHQiLCAiY2MiLCAiZXNjYXBlQ29kZXMiLCAibGVuZ3RoIiwgInBhcnNlQ2hhckNvZGUiLCAicmF3IiwgIndzU3RhcnQiLCAicmVxdWlyZV9jb21wb3NlX3NjYWxhciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiaWRlbnRpdHkiLCAiU2NhbGFyIiwgInJlc29sdmVCbG9ja1NjYWxhciIsICJyZXNvbHZlRmxvd1NjYWxhciIsICJjb21wb3NlU2NhbGFyIiwgImN0eCIsICJ0b2tlbiIsICJ0YWdUb2tlbiIsICJvbkVycm9yIiwgInZhbHVlIiwgInR5cGUiLCAiY29tbWVudCIsICJyYW5nZSIsICJ0YWdOYW1lIiwgIm1zZyIsICJ0YWciLCAiZmluZFNjYWxhclRhZ0J5TmFtZSIsICJmaW5kU2NhbGFyVGFnQnlUZXN0IiwgInNjYWxhciIsICJyZXMiLCAiZXJyb3IiLCAic2NoZW1hIiwgIm1hdGNoV2l0aFRlc3QiLCAia3QiLCAiYXRLZXkiLCAiZGlyZWN0aXZlcyIsICJjb21wYXQiLCAidHMiLCAiY3MiLCAicmVxdWlyZV91dGlsX2VtcHR5X3NjYWxhcl9wb3NpdGlvbiIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiZW1wdHlTY2FsYXJQb3NpdGlvbiIsICJvZmZzZXQiLCAiYmVmb3JlIiwgInBvcyIsICJpIiwgInN0IiwgInJlcXVpcmVfY29tcG9zZV9ub2RlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJBbGlhcyIsICJpZGVudGl0eSIsICJjb21wb3NlQ29sbGVjdGlvbiIsICJjb21wb3NlU2NhbGFyIiwgInJlc29sdmVFbmQiLCAidXRpbEVtcHR5U2NhbGFyUG9zaXRpb24iLCAiQ04iLCAiY29tcG9zZU5vZGUiLCAiY29tcG9zZUVtcHR5Tm9kZSIsICJjdHgiLCAidG9rZW4iLCAicHJvcHMiLCAib25FcnJvciIsICJhdEtleSIsICJzcGFjZUJlZm9yZSIsICJjb21tZW50IiwgImFuY2hvciIsICJ0YWciLCAibm9kZSIsICJpc1NyY1Rva2VuIiwgImNvbXBvc2VBbGlhcyIsICJtZXNzYWdlIiwgIm9mZnNldCIsICJiZWZvcmUiLCAicG9zIiwgImVuZCIsICJvcHRpb25zIiwgInNvdXJjZSIsICJhbGlhcyIsICJ2YWx1ZUVuZCIsICJyZSIsICJyZXF1aXJlX2NvbXBvc2VfZG9jIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJEb2N1bWVudCIsICJjb21wb3NlTm9kZSIsICJyZXNvbHZlRW5kIiwgInJlc29sdmVQcm9wcyIsICJjb21wb3NlRG9jIiwgIm9wdGlvbnMiLCAiZGlyZWN0aXZlcyIsICJvZmZzZXQiLCAic3RhcnQiLCAidmFsdWUiLCAiZW5kIiwgIm9uRXJyb3IiLCAib3B0cyIsICJkb2MiLCAiY3R4IiwgInByb3BzIiwgImNvbnRlbnRFbmQiLCAicmUiLCAicmVxdWlyZV9jb21wb3NlciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiZGlyZWN0aXZlcyIsICJEb2N1bWVudCIsICJlcnJvcnMiLCAiaWRlbnRpdHkiLCAiY29tcG9zZURvYyIsICJyZXNvbHZlRW5kIiwgImdldEVycm9yUG9zIiwgInNyYyIsICJvZmZzZXQiLCAic291cmNlIiwgInBhcnNlUHJlbHVkZSIsICJwcmVsdWRlIiwgImNvbW1lbnQiLCAiYXRDb21tZW50IiwgImFmdGVyRW1wdHlMaW5lIiwgIkNvbXBvc2VyIiwgIm9wdGlvbnMiLCAiY29kZSIsICJtZXNzYWdlIiwgIndhcm5pbmciLCAicG9zIiwgImRvYyIsICJhZnRlckRvYyIsICJkYyIsICJpdCIsICJjYiIsICJ0b2tlbnMiLCAiZm9yY2VEb2MiLCAiZW5kT2Zmc2V0IiwgInRva2VuIiwgIm1zZyIsICJlcnJvciIsICJlbmQiLCAib3B0cyIsICJyZXF1aXJlX2NzdF9zY2FsYXIiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgInJlc29sdmVCbG9ja1NjYWxhciIsICJyZXNvbHZlRmxvd1NjYWxhciIsICJlcnJvcnMiLCAic3RyaW5naWZ5U3RyaW5nIiwgInJlc29sdmVBc1NjYWxhciIsICJ0b2tlbiIsICJzdHJpY3QiLCAib25FcnJvciIsICJfb25FcnJvciIsICJwb3MiLCAiY29kZSIsICJtZXNzYWdlIiwgIm9mZnNldCIsICJjcmVhdGVTY2FsYXJUb2tlbiIsICJ2YWx1ZSIsICJjb250ZXh0IiwgImltcGxpY2l0S2V5IiwgImluZGVudCIsICJpbkZsb3ciLCAidHlwZSIsICJzb3VyY2UiLCAiZW5kIiwgImhlIiwgImhlYWQiLCAiYm9keSIsICJwcm9wcyIsICJhZGRFbmR0b0Jsb2NrUHJvcHMiLCAic2V0U2NhbGFyVmFsdWUiLCAiYWZ0ZXJLZXkiLCAiaGVhZGVyIiwgInNldEJsb2NrU2NhbGFyVmFsdWUiLCAic2V0Rmxvd1NjYWxhclZhbHVlIiwgImtleSIsICJzdCIsICJvYSIsICJ0b2siLCAibmwiLCAicmVxdWlyZV9jc3Rfc3RyaW5naWZ5IiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJzdHJpbmdpZnkiLCAiY3N0IiwgInN0cmluZ2lmeVRva2VuIiwgInN0cmluZ2lmeUl0ZW0iLCAidG9rZW4iLCAicmVzIiwgInRvayIsICJpdGVtIiwgInN0IiwgInN0YXJ0IiwgImtleSIsICJzZXAiLCAidmFsdWUiLCAicmVxdWlyZV9jc3RfdmlzaXQiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIkJSRUFLIiwgIlNLSVAiLCAiUkVNT1ZFIiwgInZpc2l0IiwgImNzdCIsICJ2aXNpdG9yIiwgIl92aXNpdCIsICJwYXRoIiwgIml0ZW0iLCAiZmllbGQiLCAiaW5kZXgiLCAidG9rIiwgInBhcmVudCIsICJjb2xsIiwgImN0cmwiLCAidG9rZW4iLCAiaSIsICJjaSIsICJyZXF1aXJlX2NzdCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiY3N0U2NhbGFyIiwgImNzdFN0cmluZ2lmeSIsICJjc3RWaXNpdCIsICJCT00iLCAiRE9DVU1FTlQiLCAiRkxPV19FTkQiLCAiU0NBTEFSIiwgImlzQ29sbGVjdGlvbiIsICJ0b2tlbiIsICJpc1NjYWxhciIsICJwcmV0dHlUb2tlbiIsICJ0b2tlblR5cGUiLCAic291cmNlIiwgInJlcXVpcmVfbGV4ZXIiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgImNzdCIsICJpc0VtcHR5IiwgImNoIiwgImhleERpZ2l0cyIsICJ0YWdDaGFycyIsICJmbG93SW5kaWNhdG9yQ2hhcnMiLCAiaW52YWxpZEFuY2hvckNoYXJzIiwgImlzTm90QW5jaG9yQ2hhciIsICJMZXhlciIsICJzb3VyY2UiLCAiaW5jb21wbGV0ZSIsICJuZXh0IiwgImkiLCAibiIsICJvZmZzZXQiLCAiaW5kZW50IiwgImR0IiwgImVuZCIsICJzdGF0ZSIsICJsaW5lIiwgImRpckVuZCIsICJjcyIsICJzcCIsICJzIiwgImNoMCIsICJjaDEiLCAibmwiLCAicXVvdGUiLCAicWIiLCAibG9vcCIsICJsYXN0Q2hhciIsICJpbkZsb3ciLCAiYWxsb3dFbXB0eSIsICJhbGxvd1RhYnMiLCAidGVzdCIsICJyZXF1aXJlX2xpbmVfY291bnRlciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiTGluZUNvdW50ZXIiLCAib2Zmc2V0IiwgImxvdyIsICJoaWdoIiwgIm1pZCIsICJzdGFydCIsICJyZXF1aXJlX3BhcnNlciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiY3N0IiwgImxleGVyIiwgImluY2x1ZGVzVG9rZW4iLCAibGlzdCIsICJ0eXBlIiwgImkiLCAiZmluZE5vbkVtcHR5SW5kZXgiLCAiaXNGbG93VG9rZW4iLCAidG9rZW4iLCAiZ2V0UHJldlByb3BzIiwgInBhcmVudCIsICJpdCIsICJnZXRGaXJzdEtleVN0YXJ0UHJvcHMiLCAicHJldiIsICJsb29wIiwgImZpeEZsb3dTZXFJdGVtcyIsICJmYyIsICJQYXJzZXIiLCAib25OZXdMaW5lIiwgInNvdXJjZSIsICJpbmNvbXBsZXRlIiwgImxleGVtZSIsICJtZXNzYWdlIiwgInRvcCIsICJuIiwgImVycm9yIiwgImxhc3QiLCAic3QiLCAiZG9jIiwgImJ2IiwgInNjYWxhciIsICJzdGFydCIsICJzZXAiLCAibWFwIiwgIm5sIiwgImVuZCIsICJhdE1hcEluZGVudCIsICJhdE5leHRJdGVtIiwgImtleSIsICJmcyIsICJzZXEiLCAiaW5kZW50IiwgImRvY0VuZCIsICJyZXF1aXJlX3B1YmxpY19hcGkiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgImNvbXBvc2VyIiwgIkRvY3VtZW50IiwgImVycm9ycyIsICJsb2ciLCAiaWRlbnRpdHkiLCAibGluZUNvdW50ZXIiLCAicGFyc2VyIiwgInBhcnNlT3B0aW9ucyIsICJvcHRpb25zIiwgInByZXR0eUVycm9ycyIsICJwYXJzZUFsbERvY3VtZW50cyIsICJzb3VyY2UiLCAicGFyc2VyJDEiLCAiY29tcG9zZXIkMSIsICJkb2NzIiwgImRvYyIsICJwYXJzZURvY3VtZW50IiwgIl9kb2MiLCAicGFyc2UiLCAic3JjIiwgInJldml2ZXIiLCAiX3Jldml2ZXIiLCAid2FybmluZyIsICJzdHJpbmdpZnkiLCAidmFsdWUiLCAicmVwbGFjZXIiLCAiX3JlcGxhY2VyIiwgImluZGVudCIsICJrZWVwVW5kZWZpbmVkIiwgInJlcXVpcmVfZGlzdCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiY29tcG9zZXIiLCAiRG9jdW1lbnQiLCAiU2NoZW1hIiwgImVycm9ycyIsICJBbGlhcyIsICJpZGVudGl0eSIsICJQYWlyIiwgIlNjYWxhciIsICJZQU1MTWFwIiwgIllBTUxTZXEiLCAiY3N0IiwgImxleGVyIiwgImxpbmVDb3VudGVyIiwgInBhcnNlciIsICJwdWJsaWNBcGkiLCAidmlzaXQiLCAicmVxdWlyZV9saWIiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJjb252ZXJzaW9ucyIsICJzaWduIiwgIngiLCAiZXZlblJvdW5kIiwgImNyZWF0ZU51bWJlckNvbnZlcnNpb24iLCAiYml0TGVuZ3RoIiwgInR5cGVPcHRzIiwgImxvd2VyQm91bmQiLCAidXBwZXJCb3VuZCIsICJtb2R1bG9WYWwiLCAibW9kdWxvQm91bmQiLCAiViIsICJvcHRzIiwgInZhbCIsICJjIiwgIlMiLCAibiIsICJVIiwgImQiLCAiYSIsICJiIiwgInJlcXVpcmVfdXRpbHMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJ0YXJnZXQiLCAic291cmNlIiwgImtleXMiLCAiaW1wbCIsICJ3cmFwcGVyIiwgInJlcXVpcmVfbWFwcGluZ1RhYmxlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAicmVxdWlyZV90cjQ2IiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAicHVueWNvZGUiLCAibWFwcGluZ1RhYmxlIiwgIlBST0NFU1NJTkdfT1BUSU9OUyIsICJub3JtYWxpemUiLCAic3RyIiwgInMiLCAiZmluZFN0YXR1cyIsICJ2YWwiLCAic3RhcnQiLCAiZW5kIiwgIm1pZCIsICJ0YXJnZXQiLCAicmVnZXhBc3RyYWxTeW1ib2xzIiwgImNvdW50U3ltYm9scyIsICJzdHJpbmciLCAibWFwQ2hhcnMiLCAiZG9tYWluX25hbWUiLCAidXNlU1REMyIsICJwcm9jZXNzaW5nX29wdGlvbiIsICJoYXNFcnJvciIsICJwcm9jZXNzZWQiLCAibGVuIiwgImkiLCAiY29kZVBvaW50IiwgInN0YXR1cyIsICJjb21iaW5pbmdNYXJrc1JlZ2V4IiwgInZhbGlkYXRlTGFiZWwiLCAibGFiZWwiLCAiZXJyb3IiLCAicHJvY2Vzc2luZyIsICJyZXN1bHQiLCAibGFiZWxzIiwgInZhbGlkYXRpb24iLCAidmVyaWZ5RG5zTGVuZ3RoIiwgImwiLCAidG90YWwiLCAicmVxdWlyZV91cmxfc3RhdGVfbWFjaGluZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInB1bnljb2RlIiwgInRyNDYiLCAic3BlY2lhbFNjaGVtZXMiLCAiZmFpbHVyZSIsICJjb3VudFN5bWJvbHMiLCAic3RyIiwgImF0IiwgImlucHV0IiwgImlkeCIsICJjIiwgImlzQVNDSUlEaWdpdCIsICJpc0FTQ0lJQWxwaGEiLCAiaXNBU0NJSUFscGhhbnVtZXJpYyIsICJpc0FTQ0lJSGV4IiwgImlzU2luZ2xlRG90IiwgImJ1ZmZlciIsICJpc0RvdWJsZURvdCIsICJpc1dpbmRvd3NEcml2ZUxldHRlckNvZGVQb2ludHMiLCAiY3AxIiwgImNwMiIsICJpc1dpbmRvd3NEcml2ZUxldHRlclN0cmluZyIsICJzdHJpbmciLCAiaXNOb3JtYWxpemVkV2luZG93c0RyaXZlTGV0dGVyU3RyaW5nIiwgImNvbnRhaW5zRm9yYmlkZGVuSG9zdENvZGVQb2ludCIsICJjb250YWluc0ZvcmJpZGRlbkhvc3RDb2RlUG9pbnRFeGNsdWRpbmdQZXJjZW50IiwgImlzU3BlY2lhbFNjaGVtZSIsICJzY2hlbWUiLCAiaXNTcGVjaWFsIiwgInVybCIsICJkZWZhdWx0UG9ydCIsICJwZXJjZW50RW5jb2RlIiwgImhleCIsICJ1dGY4UGVyY2VudEVuY29kZSIsICJidWYiLCAiaSIsICJ1dGY4UGVyY2VudERlY29kZSIsICJvdXRwdXQiLCAiaXNDMENvbnRyb2xQZXJjZW50RW5jb2RlIiwgImV4dHJhUGF0aFBlcmNlbnRFbmNvZGVTZXQiLCAiaXNQYXRoUGVyY2VudEVuY29kZSIsICJleHRyYVVzZXJpbmZvUGVyY2VudEVuY29kZVNldCIsICJpc1VzZXJpbmZvUGVyY2VudEVuY29kZSIsICJwZXJjZW50RW5jb2RlQ2hhciIsICJlbmNvZGVTZXRQcmVkaWNhdGUiLCAiY1N0ciIsICJwYXJzZUlQdjROdW1iZXIiLCAiUiIsICJwYXJzZUlQdjQiLCAicGFydHMiLCAibnVtYmVycyIsICJwYXJ0IiwgIm4iLCAiaXB2NCIsICJjb3VudGVyIiwgInNlcmlhbGl6ZUlQdjQiLCAiYWRkcmVzcyIsICJwYXJzZUlQdjYiLCAicGllY2VJbmRleCIsICJjb21wcmVzcyIsICJwb2ludGVyIiwgInZhbHVlIiwgImxlbmd0aCIsICJudW1iZXJzU2VlbiIsICJpcHY0UGllY2UiLCAibnVtYmVyIiwgInN3YXBzIiwgInRlbXAiLCAic2VyaWFsaXplSVB2NiIsICJmaW5kTG9uZ2VzdFplcm9TZXF1ZW5jZSIsICJpZ25vcmUwIiwgInBhcnNlSG9zdCIsICJpc1NwZWNpYWxBcmciLCAicGFyc2VPcGFxdWVIb3N0IiwgImRvbWFpbiIsICJhc2NpaURvbWFpbiIsICJpcHY0SG9zdCIsICJkZWNvZGVkIiwgImFyciIsICJtYXhJZHgiLCAibWF4TGVuIiwgImN1cnJTdGFydCIsICJjdXJyTGVuIiwgInNlcmlhbGl6ZUhvc3QiLCAiaG9zdCIsICJ0cmltQ29udHJvbENoYXJzIiwgInRyaW1UYWJBbmROZXdsaW5lIiwgInNob3J0ZW5QYXRoIiwgInBhdGgiLCAiaXNOb3JtYWxpemVkV2luZG93c0RyaXZlTGV0dGVyIiwgImluY2x1ZGVzQ3JlZGVudGlhbHMiLCAiY2Fubm90SGF2ZUFVc2VybmFtZVBhc3N3b3JkUG9ydCIsICJVUkxTdGF0ZU1hY2hpbmUiLCAiYmFzZSIsICJlbmNvZGluZ092ZXJyaWRlIiwgInN0YXRlT3ZlcnJpZGUiLCAicmVzIiwgInJldCIsICJsZW4iLCAiY29kZVBvaW50IiwgImVuY29kZWRDb2RlUG9pbnRzIiwgInBvcnQiLCAiZmlsZU90aGVyd2lzZUNvZGVQb2ludHMiLCAic2VyaWFsaXplVVJMIiwgImV4Y2x1ZGVGcmFnbWVudCIsICJzZXJpYWxpemVPcmlnaW4iLCAidHVwbGUiLCAicmVzdWx0IiwgIm9wdGlvbnMiLCAidXNtIiwgInVzZXJuYW1lIiwgInBhc3N3b3JkIiwgImludGVnZXIiLCAicmVxdWlyZV9VUkxfaW1wbCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAidXNtIiwgImNvbnN0cnVjdG9yQXJncyIsICJ1cmwiLCAiYmFzZSIsICJwYXJzZWRCYXNlIiwgInBhcnNlZFVSTCIsICJ2IiwgImlucHV0IiwgInJlcXVpcmVfVVJMIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiY29udmVyc2lvbnMiLCAidXRpbHMiLCAiSW1wbCIsICJpbXBsIiwgIlVSTCIsICJ1cmwiLCAiYXJncyIsICJpIiwgIlYiLCAib2JqIiwgImNvbnN0cnVjdG9yQXJncyIsICJwcml2YXRlRGF0YSIsICJyZXF1aXJlX3B1YmxpY19hcGkiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgInJlcXVpcmVfbGliIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiX2ludGVyb3BEZWZhdWx0IiwgImV4IiwgIlN0cmVhbSIsICJodHRwIiwgIlVybCIsICJ3aGF0d2dVcmwiLCAiaHR0cHMiLCAiemxpYiIsICJSZWFkYWJsZSIsICJCVUZGRVIiLCAiVFlQRSIsICJCbG9iIiwgIl9CbG9iIiwgImJsb2JQYXJ0cyIsICJvcHRpb25zIiwgImJ1ZmZlcnMiLCAic2l6ZSIsICJhIiwgImxlbmd0aCIsICJpIiwgImVsZW1lbnQiLCAiYnVmZmVyIiwgInR5cGUiLCAiYnVmIiwgImFiIiwgInJlYWRhYmxlIiwgInN0YXJ0IiwgImVuZCIsICJyZWxhdGl2ZVN0YXJ0IiwgInJlbGF0aXZlRW5kIiwgInNwYW4iLCAic2xpY2VkQnVmZmVyIiwgImJsb2IiLCAiRmV0Y2hFcnJvciIsICJtZXNzYWdlIiwgInN5c3RlbUVycm9yIiwgImNvbnZlcnQiLCAiSU5URVJOQUxTIiwgIlBhc3NUaHJvdWdoIiwgIkJvZHkiLCAiYm9keSIsICJfdGhpcyIsICJfcmVmIiwgIl9yZWYkc2l6ZSIsICJfcmVmJHRpbWVvdXQiLCAidGltZW91dCIsICJpc1VSTFNlYXJjaFBhcmFtcyIsICJpc0Jsb2IiLCAiZXJyIiwgImVycm9yIiwgImNvbnN1bWVCb2R5IiwgImN0IiwgIl90aGlzMiIsICJfdGhpczMiLCAiY29udmVydEJvZHkiLCAicHJvdG8iLCAibmFtZSIsICJkZXNjIiwgIl90aGlzNCIsICJhY2N1bSIsICJhY2N1bUJ5dGVzIiwgImFib3J0IiwgInJlc29sdmUiLCAicmVqZWN0IiwgInJlc1RpbWVvdXQiLCAiY2h1bmsiLCAiaGVhZGVycyIsICJjaGFyc2V0IiwgInJlcyIsICJzdHIiLCAib2JqIiwgImNsb25lIiwgImluc3RhbmNlIiwgInAxIiwgInAyIiwgImV4dHJhY3RDb250ZW50VHlwZSIsICJnZXRUb3RhbEJ5dGVzIiwgIndyaXRlVG9TdHJlYW0iLCAiZGVzdCIsICJpbnZhbGlkVG9rZW5SZWdleCIsICJpbnZhbGlkSGVhZGVyQ2hhclJlZ2V4IiwgInZhbGlkYXRlTmFtZSIsICJ2YWxpZGF0ZVZhbHVlIiwgInZhbHVlIiwgImZpbmQiLCAibWFwIiwgImtleSIsICJNQVAiLCAiSGVhZGVycyIsICJfSGVhZGVycyIsICJpbml0IiwgInJhd0hlYWRlcnMiLCAiaGVhZGVyTmFtZXMiLCAiaGVhZGVyTmFtZSIsICJtZXRob2QiLCAicGFpcnMiLCAicGFpciIsICJjYWxsYmFjayIsICJ0aGlzQXJnIiwgImdldEhlYWRlcnMiLCAiX3BhaXJzJGkiLCAiY3JlYXRlSGVhZGVyc0l0ZXJhdG9yIiwgImtpbmQiLCAiayIsICJJTlRFUk5BTCIsICJ0YXJnZXQiLCAiaXRlcmF0b3IiLCAiSGVhZGVyc0l0ZXJhdG9yUHJvdG90eXBlIiwgIl9JTlRFUk5BTCIsICJpbmRleCIsICJ2YWx1ZXMiLCAibGVuIiwgImV4cG9ydE5vZGVDb21wYXRpYmxlSGVhZGVycyIsICJob3N0SGVhZGVyS2V5IiwgImNyZWF0ZUhlYWRlcnNMZW5pZW50IiwgInZhbCIsICJJTlRFUk5BTFMkMSIsICJTVEFUVVNfQ09ERVMiLCAiUmVzcG9uc2UiLCAiX1Jlc3BvbnNlIiwgIm9wdHMiLCAic3RhdHVzIiwgImNvbnRlbnRUeXBlIiwgIklOVEVSTkFMUyQyIiwgIlVSTCIsICJwYXJzZV91cmwiLCAiZm9ybWF0X3VybCIsICJwYXJzZVVSTCIsICJ1cmxTdHIiLCAic3RyZWFtRGVzdHJ1Y3Rpb25TdXBwb3J0ZWQiLCAiaXNSZXF1ZXN0IiwgImlucHV0IiwgImlzQWJvcnRTaWduYWwiLCAic2lnbmFsIiwgIlJlcXVlc3QiLCAiX1JlcXVlc3QiLCAicGFyc2VkVVJMIiwgImlucHV0Qm9keSIsICJnZXROb2RlUmVxdWVzdE9wdGlvbnMiLCAicmVxdWVzdCIsICJjb250ZW50TGVuZ3RoVmFsdWUiLCAidG90YWxCeXRlcyIsICJhZ2VudCIsICJBYm9ydEVycm9yIiwgIlVSTCQxIiwgIlBhc3NUaHJvdWdoJDEiLCAiaXNEb21haW5PclN1YmRvbWFpbiIsICJkZXN0aW5hdGlvbiIsICJvcmlnaW5hbCIsICJvcmlnIiwgImlzU2FtZVByb3RvY29sIiwgImZldGNoIiwgInVybCIsICJzZW5kIiwgInJlc3BvbnNlIiwgImRlc3Ryb3lTdHJlYW0iLCAiYWJvcnRBbmRGaW5hbGl6ZSIsICJmaW5hbGl6ZSIsICJyZXEiLCAicmVxVGltZW91dCIsICJzb2NrZXQiLCAiZml4UmVzcG9uc2VDaHVua2VkVHJhbnNmZXJCYWRFbmRpbmciLCAicyIsICJoYWRFcnJvciIsICJoYXNEYXRhTGlzdGVuZXIiLCAibG9jYXRpb24iLCAibG9jYXRpb25VUkwiLCAicmVxdWVzdE9wdHMiLCAicmVzcG9uc2Vfb3B0aW9ucyIsICJjb2RpbmdzIiwgInpsaWJPcHRpb25zIiwgInJhdyIsICJlcnJvckNhbGxiYWNrIiwgInN0cmVhbSIsICJjb2RlIiwgInQiLCAiciIsICJuIiwgInUiLCAiYSIsICJjIiwgImwiLCAiZCIsICJzIiwgImYiLCAiaSIsICJiIiwgIm8iLCAiaCIsICJfIiwgInAiLCAibSIsICJnIiwgInciLCAiZSIsICJFIiwgIk8iLCAiaiIsICJCIiwgIlAiLCAiR3QiLCAiVyIsICJBIiwgIkMiLCAiayIsICJGIiwgIkkiLCAiRCIsICIkIiwgIk0iLCAiWSIsICJRIiwgIk4iLCAieiIsICJMIiwgIkgiLCAieCIsICJWIiwgIlZ0IiwgIlUiLCAiRyIsICJYIiwgIkoiLCAiSyIsICJSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIiLCAiWiIsICJTIiwgImVlIiwgIm9lIiwgInRlIiwgIm5lIiwgImllIiwgImxlIiwgInNlIiwgInVlIiwgImFlIiwgImNlIiwgImRlIiwgIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXIiLCAiZmUiLCAiUmVhZGFibGVTdHJlYW1CWU9CUmVxdWVzdCIsICJiZSIsICJMZSIsICJ6ZSIsICJrZSIsICJQZSIsICJoZSIsICJSZSIsICJfZSIsICJwZSIsICJtZSIsICJ5ZSIsICJnZSIsICJDZSIsICJ3ZSIsICJTZSIsICJ2ZSIsICJFZSIsICJYdCIsICJUZSIsICJxZSIsICJKdCIsICJXZSIsICJPZSIsICJCZSIsICJBZSIsICJqZSIsICJGZSIsICJSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIiLCAiSWUiLCAiRGUiLCAiJGUiLCAiTWUiLCAiWWUiLCAiUWUiLCAiTmUiLCAiSGUiLCAieGUiLCAiVmUiLCAiR2UiLCAiV3JpdGFibGVTdHJlYW0iLCAiWGUiLCAiSmUiLCAiZXQiLCAiS2UiLCAiRXQiLCAibHQiLCAiZHQiLCAiWmUiLCAidHQiLCAiaXQiLCAiUiIsICJvdCIsICJ2IiwgInJ0IiwgIlN0IiwgIm50IiwgIlJ0IiwgImF0IiwgIldyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlciIsICJDdCIsICJUdCIsICJzdCIsICJXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyIiwgInV0IiwgImN0IiwgInZ0IiwgImJ0IiwgImZ0IiwgImh0IiwgIl90IiwgInB0IiwgIm10IiwgInl0IiwgImd0IiwgInd0IiwgInF0IiwgImt0IiwgIlQiLCAicSIsICJXdCIsICJ5IiwgIk90IiwgIlJlYWRhYmxlU3RyZWFtIiwgIkJ0IiwgIlJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIiLCAiQXQiLCAiRnQiLCAiVXQiLCAiTHQiLCAienQiLCAianQiLCAiSXQiLCAiRHQiLCAiJHQiLCAiTXQiLCAiWXQiLCAiUXQiLCAiTnQiLCAiSHQiLCAieHQiLCAiS3QiLCAiWnQiLCAidHIiLCAicnIiLCAiQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneSIsICJuciIsICJhciIsICJDb3VudFF1ZXVpbmdTdHJhdGVneSIsICJpciIsICJsciIsICJzciIsICJ1ciIsICJUcmFuc2Zvcm1TdHJlYW0iLCAiY3IiLCAiU3IiLCAiZHIiLCAiaHIiLCAiVHIiLCAiZnIiLCAiYnIiLCAiVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIiLCAiX3IiLCAiZ3IiLCAidnIiLCAicHIiLCAibXIiLCAieXIiLCAid3IiLCAiUnIiLCAicXIiLCAiQ3IiLCAicmUiLCAiVWUiLCAiUHQiLCAiZXIiLCAib3IiLCAiaW5pdF9wb255ZmlsbCIsICJfX2VzbU1pbiIsICJpc0Z1bmN0aW9uIiwgImluaXRfaXNGdW5jdGlvbiIsICJfX2VzbU1pbiIsICJ2YWx1ZSIsICJjbG9uZVBhcnQiLCAicGFydCIsICJlbmQiLCAicG9zaXRpb24iLCAic2l6ZSIsICJDSFVOS19TSVpFIiwgImNodW5rIiwgImNvbnN1bWVOb2RlQmxvYiIsICJibG9iIiwgImJ1ZmZlciIsICJjb25zdW1lQmxvYlBhcnRzIiwgInBhcnRzIiwgImNsb25lIiwgImlzRnVuY3Rpb24iLCAic2xpY2VCbG9iIiwgImJsb2JQYXJ0cyIsICJibG9iU2l6ZSIsICJzdGFydCIsICJyZWxhdGl2ZVN0YXJ0IiwgInJlbGF0aXZlRW5kIiwgInNwYW4iLCAiYWRkZWQiLCAicGFydFNpemUiLCAiaW5pdF9ibG9iSGVscGVycyIsICJfX2VzbU1pbiIsICJpbml0X2lzRnVuY3Rpb24iLCAiX19jbGFzc1ByaXZhdGVGaWVsZEdldCIsICJfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0IiwgIl9CbG9iX3BhcnRzIiwgIl9CbG9iX3R5cGUiLCAiX0Jsb2Jfc2l6ZSIsICJCbG9iIiwgImluaXRfQmxvYiIsICJfX2VzbU1pbiIsICJpbml0X3BvbnlmaWxsIiwgImluaXRfaXNGdW5jdGlvbiIsICJpbml0X2Jsb2JIZWxwZXJzIiwgInJlY2VpdmVyIiwgInN0YXRlIiwgImtpbmQiLCAiZiIsICJ2YWx1ZSIsICJfQmxvYiIsICJibG9iUGFydHMiLCAib3B0aW9ucyIsICJpc0Z1bmN0aW9uIiwgImVuY29kZXIiLCAicmF3IiwgInBhcnQiLCAidHlwZSIsICJzdGFydCIsICJlbmQiLCAiY29udGVudFR5cGUiLCAic2xpY2VCbG9iIiwgImRlY29kZXIiLCAicmVzdWx0IiwgImNodW5rIiwgImNvbnN1bWVCbG9iUGFydHMiLCAidmlldyIsICJvZmZzZXQiLCAiaXRlcmF0b3IiLCAiUmVhZGFibGVTdHJlYW0iLCAiY29udHJvbGxlciIsICJkb25lIiwgIl9fY2xhc3NQcml2YXRlRmllbGRTZXQiLCAiX19jbGFzc1ByaXZhdGVGaWVsZEdldCIsICJfRmlsZV9uYW1lIiwgIl9GaWxlX2xhc3RNb2RpZmllZCIsICJGaWxlIiwgImluaXRfRmlsZSIsICJfX2VzbU1pbiIsICJpbml0X0Jsb2IiLCAicmVjZWl2ZXIiLCAic3RhdGUiLCAidmFsdWUiLCAia2luZCIsICJmIiwgIkJsb2IiLCAiZmlsZUJpdHMiLCAibmFtZSIsICJvcHRpb25zIiwgImxhc3RNb2RpZmllZCIsICJpc0ZpbGUiLCAiaW5pdF9pc0ZpbGUiLCAiX19lc21NaW4iLCAiaW5pdF9GaWxlIiwgInZhbHVlIiwgIkZpbGUiLCAicmVxdWlyZV9odW1hbml6ZV9tcyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInV0aWwiLCAibXMiLCAidCIsICJyIiwgImVyciIsICJyZXF1aXJlX2NvbnN0YW50cyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInJlcXVpcmVfYWdlbnQiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJPcmlnaW5hbEFnZW50IiwgIm1zIiwgImRlYnVnIiwgIklOSVRfU09DS0VUIiwgIkNVUlJFTlRfSUQiLCAiQ1JFQVRFX0lEIiwgIlNPQ0tFVF9DUkVBVEVEX1RJTUUiLCAiU09DS0VUX05BTUUiLCAiU09DS0VUX1JFUVVFU1RfQ09VTlQiLCAiU09DS0VUX1JFUVVFU1RfRklOSVNIRURfQ09VTlQiLCAiZGVmYXVsdFRpbWVvdXRMaXN0ZW5lckNvdW50IiwgIm1ham9yVmVyc2lvbiIsICJkZXByZWNhdGUiLCAibWVzc2FnZSIsICJBZ2VudCIsICJvcHRpb25zIiwgInNvY2tldCIsICJ0aW1lb3V0IiwgImZyZWVTb2NrZXRUaW1lb3V0IiwgInNvY2tldEFjdGl2ZVRUTCIsICJhbGl2ZVRpbWUiLCAiZGlmZiIsICJyZXN1bHQiLCAiY3VzdG9tVGltZW91dCIsICJhcmdzIiwgInJlcSIsICJhZ2VudFRpbWVvdXQiLCAiZ2V0U29ja2V0VGltZW91dCIsICJpZCIsICJpbnN0YWxsTGlzdGVuZXJzIiwgIm9uY3JlYXRlIiwgImNhbGxlZCIsICJvbk5ld0NyZWF0ZSIsICJlcnIiLCAibmV3U29ja2V0IiwgImNoYW5nZWQiLCAiaW5zcGVjdCIsICJhZ2VudCIsICJvbkZyZWUiLCAibmFtZSIsICJvbkNsb3NlIiwgImlzRXJyb3IiLCAib25UaW1lb3V0IiwgImxpc3RlbmVyQ291bnQiLCAicmVxVGltZW91dExpc3RlbmVyQ291bnQiLCAiZiIsICJlcnJvciIsICJvbkVycm9yIiwgIm9uUmVtb3ZlIiwgIm9iaiIsICJyZXMiLCAia2V5IiwgInJlcXVpcmVfaHR0cHNfYWdlbnQiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJPcmlnaW5hbEh0dHBzQWdlbnQiLCAiSHR0cEFnZW50IiwgIklOSVRfU09DS0VUIiwgIkNSRUFURV9IVFRQU19DT05ORUNUSU9OIiwgIkh0dHBzQWdlbnQiLCAib3B0aW9ucyIsICJvbmNyZWF0ZSIsICJzb2NrZXQiLCAibWV0aG9kIiwgInJlcXVpcmVfYWdlbnRrZWVwYWxpdmUiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJwcml2YXRlRGF0YSIsICJ3cmFwcGVycyIsICJwZCIsICJldmVudCIsICJyZXR2IiwgInNldENhbmNlbEZsYWciLCAiZGF0YSIsICJFdmVudCIsICJldmVudFRhcmdldCIsICJrZXlzIiwgImkiLCAia2V5IiwgImRlZmluZVJlZGlyZWN0RGVzY3JpcHRvciIsICJjdXJyZW50VGFyZ2V0IiwgInZhbHVlIiwgImRlZmluZUNhbGxEZXNjcmlwdG9yIiwgImRlZmluZVdyYXBwZXIiLCAiQmFzZUV2ZW50IiwgInByb3RvIiwgIkN1c3RvbUV2ZW50IiwgImlzRnVuYyIsICJnZXRXcmFwcGVyIiwgIndyYXBwZXIiLCAid3JhcEV2ZW50IiwgIldyYXBwZXIiLCAiaXNTdG9wcGVkIiwgInNldEV2ZW50UGhhc2UiLCAiZXZlbnRQaGFzZSIsICJzZXRDdXJyZW50VGFyZ2V0IiwgInNldFBhc3NpdmVMaXN0ZW5lciIsICJwYXNzaXZlTGlzdGVuZXIiLCAibGlzdGVuZXJzTWFwIiwgIkNBUFRVUkUiLCAiQlVCQkxFIiwgIkFUVFJJQlVURSIsICJpc09iamVjdCIsICJ4IiwgImdldExpc3RlbmVycyIsICJsaXN0ZW5lcnMiLCAiZGVmaW5lRXZlbnRBdHRyaWJ1dGVEZXNjcmlwdG9yIiwgImV2ZW50TmFtZSIsICJub2RlIiwgImxpc3RlbmVyIiwgInByZXYiLCAibmV3Tm9kZSIsICJkZWZpbmVFdmVudEF0dHJpYnV0ZSIsICJldmVudFRhcmdldFByb3RvdHlwZSIsICJkZWZpbmVDdXN0b21FdmVudFRhcmdldCIsICJldmVudE5hbWVzIiwgIkN1c3RvbUV2ZW50VGFyZ2V0IiwgIkV2ZW50VGFyZ2V0IiwgInR5cGVzIiwgIm9wdGlvbnMiLCAib3B0aW9uc0lzT2JqIiwgImxpc3RlbmVyVHlwZSIsICJ3cmFwcGVkRXZlbnQiLCAiZXJyIiwgIkFib3J0U2lnbmFsIiwgIkV2ZW50VGFyZ2V0IiwgImFib3J0ZWQiLCAiYWJvcnRlZEZsYWdzIiwgImRlZmluZUV2ZW50QXR0cmlidXRlIiwgImNyZWF0ZUFib3J0U2lnbmFsIiwgInNpZ25hbCIsICJhYm9ydFNpZ25hbCIsICJBYm9ydENvbnRyb2xsZXIiLCAic2lnbmFscyIsICJnZXRTaWduYWwiLCAiY29udHJvbGxlciIsICJub29wIiwgInR5cGVJc09iamVjdCIsICJ4IiwgInJldGhyb3dBc3NlcnRpb25FcnJvclJlamVjdGlvbiIsICJzZXRGdW5jdGlvbk5hbWUiLCAiZm4iLCAibmFtZSIsICJvcmlnaW5hbFByb21pc2UiLCAib3JpZ2luYWxQcm9taXNlVGhlbiIsICJvcmlnaW5hbFByb21pc2VSZWplY3QiLCAibmV3UHJvbWlzZSIsICJleGVjdXRvciIsICJwcm9taXNlUmVzb2x2ZWRXaXRoIiwgInZhbHVlIiwgInJlc29sdmUiLCAicHJvbWlzZVJlamVjdGVkV2l0aCIsICJyZWFzb24iLCAiUGVyZm9ybVByb21pc2VUaGVuIiwgInByb21pc2UiLCAib25GdWxmaWxsZWQiLCAib25SZWplY3RlZCIsICJ1cG9uUHJvbWlzZSIsICJ1cG9uRnVsZmlsbG1lbnQiLCAidXBvblJlamVjdGlvbiIsICJ0cmFuc2Zvcm1Qcm9taXNlV2l0aCIsICJmdWxmaWxsbWVudEhhbmRsZXIiLCAicmVqZWN0aW9uSGFuZGxlciIsICJzZXRQcm9taXNlSXNIYW5kbGVkVG9UcnVlIiwgIl9xdWV1ZU1pY3JvdGFzayIsICJjYWxsYmFjayIsICJyZXNvbHZlZFByb21pc2UiLCAiY2IiLCAicmVmbGVjdENhbGwiLCAiRiIsICJWIiwgImFyZ3MiLCAicHJvbWlzZUNhbGwiLCAiUVVFVUVfTUFYX0FSUkFZX1NJWkUiLCAiU2ltcGxlUXVldWUiLCAiZWxlbWVudCIsICJvbGRCYWNrIiwgIm5ld0JhY2siLCAib2xkRnJvbnQiLCAibmV3RnJvbnQiLCAib2xkQ3Vyc29yIiwgIm5ld0N1cnNvciIsICJlbGVtZW50cyIsICJpIiwgIm5vZGUiLCAiZnJvbnQiLCAiY3Vyc29yIiwgIkFib3J0U3RlcHMiLCAiRXJyb3JTdGVwcyIsICJDYW5jZWxTdGVwcyIsICJQdWxsU3RlcHMiLCAiUmVsZWFzZVN0ZXBzIiwgIlJlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJpY0luaXRpYWxpemUiLCAicmVhZGVyIiwgInN0cmVhbSIsICJkZWZhdWx0UmVhZGVyQ2xvc2VkUHJvbWlzZUluaXRpYWxpemUiLCAiZGVmYXVsdFJlYWRlckNsb3NlZFByb21pc2VJbml0aWFsaXplQXNSZXNvbHZlZCIsICJkZWZhdWx0UmVhZGVyQ2xvc2VkUHJvbWlzZUluaXRpYWxpemVBc1JlamVjdGVkIiwgIlJlYWRhYmxlU3RyZWFtUmVhZGVyR2VuZXJpY0NhbmNlbCIsICJSZWFkYWJsZVN0cmVhbUNhbmNlbCIsICJSZWFkYWJsZVN0cmVhbVJlYWRlckdlbmVyaWNSZWxlYXNlIiwgImRlZmF1bHRSZWFkZXJDbG9zZWRQcm9taXNlUmVqZWN0IiwgImRlZmF1bHRSZWFkZXJDbG9zZWRQcm9taXNlUmVzZXRUb1JlamVjdGVkIiwgInJlYWRlckxvY2tFeGNlcHRpb24iLCAicmVqZWN0IiwgImRlZmF1bHRSZWFkZXJDbG9zZWRQcm9taXNlUmVzb2x2ZSIsICJOdW1iZXJJc0Zpbml0ZSIsICJNYXRoVHJ1bmMiLCAidiIsICJpc0RpY3Rpb25hcnkiLCAiYXNzZXJ0RGljdGlvbmFyeSIsICJvYmoiLCAiY29udGV4dCIsICJhc3NlcnRGdW5jdGlvbiIsICJpc09iamVjdCIsICJhc3NlcnRPYmplY3QiLCAiYXNzZXJ0UmVxdWlyZWRBcmd1bWVudCIsICJwb3NpdGlvbiIsICJhc3NlcnRSZXF1aXJlZEZpZWxkIiwgImZpZWxkIiwgImNvbnZlcnRVbnJlc3RyaWN0ZWREb3VibGUiLCAiY2Vuc29yTmVnYXRpdmVaZXJvIiwgImludGVnZXJQYXJ0IiwgImNvbnZlcnRVbnNpZ25lZExvbmdMb25nV2l0aEVuZm9yY2VSYW5nZSIsICJ1cHBlckJvdW5kIiwgImFzc2VydFJlYWRhYmxlU3RyZWFtIiwgIklzUmVhZGFibGVTdHJlYW0iLCAiQWNxdWlyZVJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlciIsICJSZWFkYWJsZVN0cmVhbURlZmF1bHRSZWFkZXIiLCAiUmVhZGFibGVTdHJlYW1BZGRSZWFkUmVxdWVzdCIsICJyZWFkUmVxdWVzdCIsICJSZWFkYWJsZVN0cmVhbUZ1bGZpbGxSZWFkUmVxdWVzdCIsICJjaHVuayIsICJkb25lIiwgIlJlYWRhYmxlU3RyZWFtR2V0TnVtUmVhZFJlcXVlc3RzIiwgIlJlYWRhYmxlU3RyZWFtSGFzRGVmYXVsdFJlYWRlciIsICJJc1JlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlciIsICJJc1JlYWRhYmxlU3RyZWFtTG9ja2VkIiwgImRlZmF1bHRSZWFkZXJCcmFuZENoZWNrRXhjZXB0aW9uIiwgInJlc29sdmVQcm9taXNlIiwgInJlamVjdFByb21pc2UiLCAiUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyUmVhZCIsICJlIiwgIlJlYWRhYmxlU3RyZWFtRGVmYXVsdFJlYWRlclJlbGVhc2UiLCAiUmVhZGFibGVTdHJlYW1EZWZhdWx0UmVhZGVyRXJyb3JSZWFkUmVxdWVzdHMiLCAicmVhZFJlcXVlc3RzIiwgIkFzeW5jSXRlcmF0b3JQcm90b3R5cGUiLCAiUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9ySW1wbCIsICJwcmV2ZW50Q2FuY2VsIiwgIm5leHRTdGVwcyIsICJyZXR1cm5TdGVwcyIsICJxdWV1ZU1pY3JvdGFzayIsICJyZXN1bHQiLCAiUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yUHJvdG90eXBlIiwgIklzUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yIiwgInN0cmVhbUFzeW5jSXRlcmF0b3JCcmFuZENoZWNrRXhjZXB0aW9uIiwgIkFjcXVpcmVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IiLCAiaW1wbCIsICJpdGVyYXRvciIsICJOdW1iZXJJc05hTiIsICJDcmVhdGVBcnJheUZyb21MaXN0IiwgIkNvcHlEYXRhQmxvY2tCeXRlcyIsICJkZXN0IiwgImRlc3RPZmZzZXQiLCAic3JjIiwgInNyY09mZnNldCIsICJuIiwgIlRyYW5zZmVyQXJyYXlCdWZmZXIiLCAiTyIsICJidWZmZXIiLCAiSXNEZXRhY2hlZEJ1ZmZlciIsICJBcnJheUJ1ZmZlclNsaWNlIiwgImJlZ2luIiwgImVuZCIsICJsZW5ndGgiLCAic2xpY2UiLCAiR2V0TWV0aG9kIiwgInJlY2VpdmVyIiwgInByb3AiLCAiZnVuYyIsICJDcmVhdGVBc3luY0Zyb21TeW5jSXRlcmF0b3IiLCAic3luY0l0ZXJhdG9yUmVjb3JkIiwgInN5bmNJdGVyYWJsZSIsICJhc3luY0l0ZXJhdG9yIiwgIm5leHRNZXRob2QiLCAiU3ltYm9sQXN5bmNJdGVyYXRvciIsICJfYyIsICJfYSIsICJfYiIsICJHZXRJdGVyYXRvciIsICJoaW50IiwgIm1ldGhvZCIsICJzeW5jTWV0aG9kIiwgIkl0ZXJhdG9yTmV4dCIsICJpdGVyYXRvclJlY29yZCIsICJJdGVyYXRvckNvbXBsZXRlIiwgIml0ZXJSZXN1bHQiLCAiSXRlcmF0b3JWYWx1ZSIsICJJc05vbk5lZ2F0aXZlTnVtYmVyIiwgIkNsb25lQXNVaW50OEFycmF5IiwgIkRlcXVldWVWYWx1ZSIsICJjb250YWluZXIiLCAicGFpciIsICJFbnF1ZXVlVmFsdWVXaXRoU2l6ZSIsICJzaXplIiwgIlBlZWtRdWV1ZVZhbHVlIiwgIlJlc2V0UXVldWUiLCAiaXNEYXRhVmlld0NvbnN0cnVjdG9yIiwgImN0b3IiLCAiaXNEYXRhVmlldyIsICJ2aWV3IiwgImFycmF5QnVmZmVyVmlld0VsZW1lbnRTaXplIiwgIlJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QiLCAiSXNSZWFkYWJsZVN0cmVhbUJZT0JSZXF1ZXN0IiwgImJ5b2JSZXF1ZXN0QnJhbmRDaGVja0V4Y2VwdGlvbiIsICJieXRlc1dyaXR0ZW4iLCAiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclJlc3BvbmQiLCAiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclJlc3BvbmRXaXRoTmV3VmlldyIsICJSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIiwgIklzUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlciIsICJieXRlU3RyZWFtQ29udHJvbGxlckJyYW5kQ2hlY2tFeGNlcHRpb24iLCAiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckdldEJZT0JSZXF1ZXN0IiwgIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJHZXREZXNpcmVkU2l6ZSIsICJzdGF0ZSIsICJSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2xvc2UiLCAiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVldWUiLCAiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVycm9yIiwgIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDbGVhclBlbmRpbmdQdWxsSW50b3MiLCAiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNsZWFyQWxnb3JpdGhtcyIsICJSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRmlsbFJlYWRSZXF1ZXN0RnJvbVF1ZXVlIiwgImF1dG9BbGxvY2F0ZUNodW5rU2l6ZSIsICJidWZmZXJFIiwgInB1bGxJbnRvRGVzY3JpcHRvciIsICJSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyQ2FsbFB1bGxJZk5lZWRlZCIsICJmaXJzdFB1bGxJbnRvIiwgImNvbnRyb2xsZXIiLCAiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclNob3VsZENhbGxQdWxsIiwgInB1bGxQcm9taXNlIiwgIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJJbnZhbGlkYXRlQllPQlJlcXVlc3QiLCAiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckNvbW1pdFB1bGxJbnRvRGVzY3JpcHRvciIsICJmaWxsZWRWaWV3IiwgIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJDb252ZXJ0UHVsbEludG9EZXNjcmlwdG9yIiwgIlJlYWRhYmxlU3RyZWFtRnVsZmlsbFJlYWRJbnRvUmVxdWVzdCIsICJieXRlc0ZpbGxlZCIsICJlbGVtZW50U2l6ZSIsICJSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRW5xdWV1ZUNodW5rVG9RdWV1ZSIsICJieXRlT2Zmc2V0IiwgImJ5dGVMZW5ndGgiLCAiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckVucXVldWVDbG9uZWRDaHVua1RvUXVldWUiLCAiY2xvbmVkQ2h1bmsiLCAiY2xvbmVFIiwgIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJFbnF1ZXVlRGV0YWNoZWRQdWxsSW50b1RvUXVldWUiLCAiZmlyc3REZXNjcmlwdG9yIiwgIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJTaGlmdFBlbmRpbmdQdWxsSW50byIsICJSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyRmlsbFB1bGxJbnRvRGVzY3JpcHRvckZyb21RdWV1ZSIsICJtYXhCeXRlc1RvQ29weSIsICJtYXhCeXRlc0ZpbGxlZCIsICJ0b3RhbEJ5dGVzVG9Db3B5UmVtYWluaW5nIiwgInJlYWR5IiwgInJlbWFpbmRlckJ5dGVzIiwgIm1heEFsaWduZWRCeXRlcyIsICJxdWV1ZSIsICJoZWFkT2ZRdWV1ZSIsICJieXRlc1RvQ29weSIsICJkZXN0U3RhcnQiLCAiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlckZpbGxIZWFkUHVsbEludG9EZXNjcmlwdG9yIiwgIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJIYW5kbGVRdWV1ZURyYWluIiwgIlJlYWRhYmxlU3RyZWFtQ2xvc2UiLCAiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclByb2Nlc3NQdWxsSW50b0Rlc2NyaXB0b3JzVXNpbmdRdWV1ZSIsICJSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyUHJvY2Vzc1JlYWRSZXF1ZXN0c1VzaW5nUXVldWUiLCAiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclB1bGxJbnRvIiwgIm1pbiIsICJyZWFkSW50b1JlcXVlc3QiLCAibWluaW11bUZpbGwiLCAiUmVhZGFibGVTdHJlYW1BZGRSZWFkSW50b1JlcXVlc3QiLCAiZW1wdHlWaWV3IiwgIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJSZXNwb25kSW5DbG9zZWRTdGF0ZSIsICJSZWFkYWJsZVN0cmVhbUhhc0JZT0JSZWFkZXIiLCAiUmVhZGFibGVTdHJlYW1HZXROdW1SZWFkSW50b1JlcXVlc3RzIiwgIlJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJSZXNwb25kSW5SZWFkYWJsZVN0YXRlIiwgInJlbWFpbmRlclNpemUiLCAiUmVhZGFibGVCeXRlU3RyZWFtQ29udHJvbGxlclJlc3BvbmRJbnRlcm5hbCIsICJmaXJzdFBlbmRpbmdQdWxsSW50byIsICJ0cmFuc2ZlcnJlZEJ1ZmZlciIsICJ0cmFuc2ZlcnJlZFZpZXciLCAiUmVhZGFibGVTdHJlYW1FcnJvciIsICJlbnRyeSIsICJieW9iUmVxdWVzdCIsICJTZXRVcFJlYWRhYmxlU3RyZWFtQllPQlJlcXVlc3QiLCAidmlld0J5dGVMZW5ndGgiLCAiU2V0VXBSZWFkYWJsZUJ5dGVTdHJlYW1Db250cm9sbGVyIiwgInN0YXJ0QWxnb3JpdGhtIiwgInB1bGxBbGdvcml0aG0iLCAiY2FuY2VsQWxnb3JpdGhtIiwgImhpZ2hXYXRlck1hcmsiLCAic3RhcnRSZXN1bHQiLCAiciIsICJTZXRVcFJlYWRhYmxlQnl0ZVN0cmVhbUNvbnRyb2xsZXJGcm9tVW5kZXJseWluZ1NvdXJjZSIsICJ1bmRlcmx5aW5nQnl0ZVNvdXJjZSIsICJyZXF1ZXN0IiwgImNvbnZlcnRSZWFkZXJPcHRpb25zIiwgIm9wdGlvbnMiLCAibW9kZSIsICJjb252ZXJ0UmVhZGFibGVTdHJlYW1SZWFkZXJNb2RlIiwgImNvbnZlcnRCeW9iUmVhZE9wdGlvbnMiLCAiQWNxdWlyZVJlYWRhYmxlU3RyZWFtQllPQlJlYWRlciIsICJSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIiLCAiSXNSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXIiLCAiYnlvYlJlYWRlckJyYW5kQ2hlY2tFeGNlcHRpb24iLCAicmF3T3B0aW9ucyIsICJSZWFkYWJsZVN0cmVhbUJZT0JSZWFkZXJSZWFkIiwgIlJlYWRhYmxlU3RyZWFtQllPQlJlYWRlclJlbGVhc2UiLCAiUmVhZGFibGVTdHJlYW1CWU9CUmVhZGVyRXJyb3JSZWFkSW50b1JlcXVlc3RzIiwgInJlYWRJbnRvUmVxdWVzdHMiLCAiRXh0cmFjdEhpZ2hXYXRlck1hcmsiLCAic3RyYXRlZ3kiLCAiZGVmYXVsdEhXTSIsICJFeHRyYWN0U2l6ZUFsZ29yaXRobSIsICJjb252ZXJ0UXVldWluZ1N0cmF0ZWd5IiwgImluaXQiLCAiY29udmVydFF1ZXVpbmdTdHJhdGVneVNpemUiLCAiY29udmVydFVuZGVybHlpbmdTaW5rIiwgIm9yaWdpbmFsIiwgImFib3J0IiwgImNsb3NlIiwgInN0YXJ0IiwgInR5cGUiLCAid3JpdGUiLCAiY29udmVydFVuZGVybHlpbmdTaW5rQWJvcnRDYWxsYmFjayIsICJjb252ZXJ0VW5kZXJseWluZ1NpbmtDbG9zZUNhbGxiYWNrIiwgImNvbnZlcnRVbmRlcmx5aW5nU2lua1N0YXJ0Q2FsbGJhY2siLCAiY29udmVydFVuZGVybHlpbmdTaW5rV3JpdGVDYWxsYmFjayIsICJhc3NlcnRXcml0YWJsZVN0cmVhbSIsICJJc1dyaXRhYmxlU3RyZWFtIiwgImlzQWJvcnRTaWduYWwiLCAic3VwcG9ydHNBYm9ydENvbnRyb2xsZXIiLCAiY3JlYXRlQWJvcnRDb250cm9sbGVyIiwgIldyaXRhYmxlU3RyZWFtIiwgInJhd1VuZGVybHlpbmdTaW5rIiwgInJhd1N0cmF0ZWd5IiwgInVuZGVybHlpbmdTaW5rIiwgIkluaXRpYWxpemVXcml0YWJsZVN0cmVhbSIsICJzaXplQWxnb3JpdGhtIiwgIlNldFVwV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckZyb21VbmRlcmx5aW5nU2luayIsICJzdHJlYW1CcmFuZENoZWNrRXhjZXB0aW9uIiwgIklzV3JpdGFibGVTdHJlYW1Mb2NrZWQiLCAiV3JpdGFibGVTdHJlYW1BYm9ydCIsICJXcml0YWJsZVN0cmVhbUNsb3NlUXVldWVkT3JJbkZsaWdodCIsICJXcml0YWJsZVN0cmVhbUNsb3NlIiwgIkFjcXVpcmVXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXIiLCAiV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyIiwgIkNyZWF0ZVdyaXRhYmxlU3RyZWFtIiwgIndyaXRlQWxnb3JpdGhtIiwgImNsb3NlQWxnb3JpdGhtIiwgImFib3J0QWxnb3JpdGhtIiwgIldyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIiLCAiU2V0VXBXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyIiwgIndhc0FscmVhZHlFcnJvcmluZyIsICJXcml0YWJsZVN0cmVhbVN0YXJ0RXJyb3JpbmciLCAiY2xvc2VSZXF1ZXN0IiwgIndyaXRlciIsICJkZWZhdWx0V3JpdGVyUmVhZHlQcm9taXNlUmVzb2x2ZSIsICJXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2xvc2UiLCAiV3JpdGFibGVTdHJlYW1BZGRXcml0ZVJlcXVlc3QiLCAid3JpdGVSZXF1ZXN0IiwgIldyaXRhYmxlU3RyZWFtRGVhbFdpdGhSZWplY3Rpb24iLCAiZXJyb3IiLCAiV3JpdGFibGVTdHJlYW1GaW5pc2hFcnJvcmluZyIsICJXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXJFbnN1cmVSZWFkeVByb21pc2VSZWplY3RlZCIsICJXcml0YWJsZVN0cmVhbUhhc09wZXJhdGlvbk1hcmtlZEluRmxpZ2h0IiwgInN0b3JlZEVycm9yIiwgIldyaXRhYmxlU3RyZWFtUmVqZWN0Q2xvc2VBbmRDbG9zZWRQcm9taXNlSWZOZWVkZWQiLCAiYWJvcnRSZXF1ZXN0IiwgIldyaXRhYmxlU3RyZWFtRmluaXNoSW5GbGlnaHRXcml0ZSIsICJXcml0YWJsZVN0cmVhbUZpbmlzaEluRmxpZ2h0V3JpdGVXaXRoRXJyb3IiLCAiV3JpdGFibGVTdHJlYW1GaW5pc2hJbkZsaWdodENsb3NlIiwgImRlZmF1bHRXcml0ZXJDbG9zZWRQcm9taXNlUmVzb2x2ZSIsICJXcml0YWJsZVN0cmVhbUZpbmlzaEluRmxpZ2h0Q2xvc2VXaXRoRXJyb3IiLCAiV3JpdGFibGVTdHJlYW1NYXJrQ2xvc2VSZXF1ZXN0SW5GbGlnaHQiLCAiV3JpdGFibGVTdHJlYW1NYXJrRmlyc3RXcml0ZVJlcXVlc3RJbkZsaWdodCIsICJkZWZhdWx0V3JpdGVyQ2xvc2VkUHJvbWlzZVJlamVjdCIsICJXcml0YWJsZVN0cmVhbVVwZGF0ZUJhY2twcmVzc3VyZSIsICJiYWNrcHJlc3N1cmUiLCAiZGVmYXVsdFdyaXRlclJlYWR5UHJvbWlzZVJlc2V0IiwgImRlZmF1bHRXcml0ZXJSZWFkeVByb21pc2VJbml0aWFsaXplIiwgImRlZmF1bHRXcml0ZXJSZWFkeVByb21pc2VJbml0aWFsaXplQXNSZXNvbHZlZCIsICJkZWZhdWx0V3JpdGVyQ2xvc2VkUHJvbWlzZUluaXRpYWxpemUiLCAiZGVmYXVsdFdyaXRlclJlYWR5UHJvbWlzZUluaXRpYWxpemVBc1JlamVjdGVkIiwgImRlZmF1bHRXcml0ZXJDbG9zZWRQcm9taXNlSW5pdGlhbGl6ZUFzUmVzb2x2ZWQiLCAiZGVmYXVsdFdyaXRlckNsb3NlZFByb21pc2VJbml0aWFsaXplQXNSZWplY3RlZCIsICJJc1dyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlciIsICJkZWZhdWx0V3JpdGVyQnJhbmRDaGVja0V4Y2VwdGlvbiIsICJkZWZhdWx0V3JpdGVyTG9ja0V4Y2VwdGlvbiIsICJXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXJHZXREZXNpcmVkU2l6ZSIsICJXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXJBYm9ydCIsICJXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXJDbG9zZSIsICJXcml0YWJsZVN0cmVhbURlZmF1bHRXcml0ZXJSZWxlYXNlIiwgIldyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlcldyaXRlIiwgIldyaXRhYmxlU3RyZWFtRGVmYXVsdFdyaXRlckNsb3NlV2l0aEVycm9yUHJvcGFnYXRpb24iLCAiV3JpdGFibGVTdHJlYW1EZWZhdWx0V3JpdGVyRW5zdXJlQ2xvc2VkUHJvbWlzZVJlamVjdGVkIiwgImRlZmF1bHRXcml0ZXJDbG9zZWRQcm9taXNlUmVzZXRUb1JlamVjdGVkIiwgImRlZmF1bHRXcml0ZXJSZWFkeVByb21pc2VSZWplY3QiLCAiZGVmYXVsdFdyaXRlclJlYWR5UHJvbWlzZVJlc2V0VG9SZWplY3RlZCIsICJXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyR2V0RGVzaXJlZFNpemUiLCAicmVsZWFzZWRFcnJvciIsICJjaHVua1NpemUiLCAiV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckdldENodW5rU2l6ZSIsICJXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyV3JpdGUiLCAiY2xvc2VTZW50aW5lbCIsICJJc1dyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIiLCAiZGVmYXVsdENvbnRyb2xsZXJCcmFuZENoZWNrRXhjZXB0aW9uIiwgIldyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFcnJvciIsICJXcml0YWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2xlYXJBbGdvcml0aG1zIiwgIldyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJHZXRCYWNrcHJlc3N1cmUiLCAic3RhcnRQcm9taXNlIiwgIldyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJBZHZhbmNlUXVldWVJZk5lZWRlZCIsICJjaHVua1NpemVFIiwgIldyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFcnJvcklmTmVlZGVkIiwgImVucXVldWVFIiwgIldyaXRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJQcm9jZXNzQ2xvc2UiLCAiV3JpdGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlclByb2Nlc3NXcml0ZSIsICJzaW5rQ2xvc2VQcm9taXNlIiwgInNpbmtXcml0ZVByb21pc2UiLCAiZ2V0R2xvYmFscyIsICJnbG9iYWxzIiwgImlzRE9NRXhjZXB0aW9uQ29uc3RydWN0b3IiLCAiZ2V0RnJvbUdsb2JhbCIsICJjcmVhdGVQb2x5ZmlsbCIsICJtZXNzYWdlIiwgIkRPTUV4Y2VwdGlvbiIsICJSZWFkYWJsZVN0cmVhbVBpcGVUbyIsICJzb3VyY2UiLCAicHJldmVudENsb3NlIiwgInByZXZlbnRBYm9ydCIsICJzaWduYWwiLCAic2h1dHRpbmdEb3duIiwgImN1cnJlbnRXcml0ZSIsICJhY3Rpb25zIiwgInNodXRkb3duV2l0aEFjdGlvbiIsICJhY3Rpb24iLCAicGlwZUxvb3AiLCAicmVzb2x2ZUxvb3AiLCAicmVqZWN0TG9vcCIsICJuZXh0IiwgInBpcGVTdGVwIiwgInJlc29sdmVSZWFkIiwgInJlamVjdFJlYWQiLCAiaXNPckJlY29tZXNFcnJvcmVkIiwgInNodXRkb3duIiwgImlzT3JCZWNvbWVzQ2xvc2VkIiwgImRlc3RDbG9zZWQiLCAid2FpdEZvcldyaXRlc1RvRmluaXNoIiwgIm9sZEN1cnJlbnRXcml0ZSIsICJvcmlnaW5hbElzRXJyb3IiLCAib3JpZ2luYWxFcnJvciIsICJkb1RoZVJlc3QiLCAiZmluYWxpemUiLCAibmV3RXJyb3IiLCAiaXNFcnJvciIsICJSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyIiwgIklzUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlciIsICJSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyR2V0RGVzaXJlZFNpemUiLCAiUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNhbkNsb3NlT3JFbnF1ZXVlIiwgIlJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJDbG9zZSIsICJSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyRW5xdWV1ZSIsICJSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyRXJyb3IiLCAiUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckNsZWFyQWxnb3JpdGhtcyIsICJSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2FsbFB1bGxJZk5lZWRlZCIsICJSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyU2hvdWxkQ2FsbFB1bGwiLCAiUmVhZGFibGVTdHJlYW1EZWZhdWx0Q29udHJvbGxlckhhc0JhY2twcmVzc3VyZSIsICJTZXRVcFJlYWRhYmxlU3RyZWFtRGVmYXVsdENvbnRyb2xsZXIiLCAiU2V0VXBSZWFkYWJsZVN0cmVhbURlZmF1bHRDb250cm9sbGVyRnJvbVVuZGVybHlpbmdTb3VyY2UiLCAidW5kZXJseWluZ1NvdXJjZSIsICJSZWFkYWJsZVN0cmVhbVRlZSIsICJjbG9uZUZvckJyYW5jaDIiLCAiUmVhZGFibGVCeXRlU3RyZWFtVGVlIiwgIlJlYWRhYmxlU3RyZWFtRGVmYXVsdFRlZSIsICJyZWFkaW5nIiwgInJlYWRBZ2FpbiIsICJjYW5jZWxlZDEiLCAiY2FuY2VsZWQyIiwgInJlYXNvbjEiLCAicmVhc29uMiIsICJicmFuY2gxIiwgImJyYW5jaDIiLCAicmVzb2x2ZUNhbmNlbFByb21pc2UiLCAiY2FuY2VsUHJvbWlzZSIsICJjaHVuazEiLCAiY2h1bmsyIiwgImNhbmNlbDFBbGdvcml0aG0iLCAiY29tcG9zaXRlUmVhc29uIiwgImNhbmNlbFJlc3VsdCIsICJjYW5jZWwyQWxnb3JpdGhtIiwgIkNyZWF0ZVJlYWRhYmxlU3RyZWFtIiwgInJlYWRBZ2FpbkZvckJyYW5jaDEiLCAicmVhZEFnYWluRm9yQnJhbmNoMiIsICJmb3J3YXJkUmVhZGVyRXJyb3IiLCAidGhpc1JlYWRlciIsICJwdWxsV2l0aERlZmF1bHRSZWFkZXIiLCAicHVsbDFBbGdvcml0aG0iLCAicHVsbDJBbGdvcml0aG0iLCAicHVsbFdpdGhCWU9CUmVhZGVyIiwgImZvckJyYW5jaDIiLCAiYnlvYkJyYW5jaCIsICJvdGhlckJyYW5jaCIsICJieW9iQ2FuY2VsZWQiLCAib3RoZXJDYW5jZWxlZCIsICJDcmVhdGVSZWFkYWJsZUJ5dGVTdHJlYW0iLCAiaXNSZWFkYWJsZVN0cmVhbUxpa2UiLCAiUmVhZGFibGVTdHJlYW1Gcm9tIiwgIlJlYWRhYmxlU3RyZWFtRnJvbURlZmF1bHRSZWFkZXIiLCAiUmVhZGFibGVTdHJlYW1Gcm9tSXRlcmFibGUiLCAiYXN5bmNJdGVyYWJsZSIsICJuZXh0UmVzdWx0IiwgIm5leHRQcm9taXNlIiwgInJldHVybk1ldGhvZCIsICJyZXR1cm5SZXN1bHQiLCAicmV0dXJuUHJvbWlzZSIsICJyZWFkUHJvbWlzZSIsICJyZWFkUmVzdWx0IiwgImNvbnZlcnRVbmRlcmx5aW5nRGVmYXVsdE9yQnl0ZVNvdXJjZSIsICJjYW5jZWwiLCAicHVsbCIsICJjb252ZXJ0VW5kZXJseWluZ1NvdXJjZUNhbmNlbENhbGxiYWNrIiwgImNvbnZlcnRVbmRlcmx5aW5nU291cmNlUHVsbENhbGxiYWNrIiwgImNvbnZlcnRVbmRlcmx5aW5nU291cmNlU3RhcnRDYWxsYmFjayIsICJjb252ZXJ0UmVhZGFibGVTdHJlYW1UeXBlIiwgImNvbnZlcnRJdGVyYXRvck9wdGlvbnMiLCAiY29udmVydFBpcGVPcHRpb25zIiwgImFzc2VydEFib3J0U2lnbmFsIiwgImNvbnZlcnRSZWFkYWJsZVdyaXRhYmxlUGFpciIsICJyZWFkYWJsZSIsICJ3cml0YWJsZSIsICJSZWFkYWJsZVN0cmVhbSIsICJyYXdVbmRlcmx5aW5nU291cmNlIiwgIkluaXRpYWxpemVSZWFkYWJsZVN0cmVhbSIsICJyYXdUcmFuc2Zvcm0iLCAidHJhbnNmb3JtIiwgImRlc3RpbmF0aW9uIiwgImJyYW5jaGVzIiwgInNvdXJjZUNhbmNlbFByb21pc2UiLCAiY29udmVydFF1ZXVpbmdTdHJhdGVneUluaXQiLCAiYnl0ZUxlbmd0aFNpemVGdW5jdGlvbiIsICJCeXRlTGVuZ3RoUXVldWluZ1N0cmF0ZWd5IiwgIklzQnl0ZUxlbmd0aFF1ZXVpbmdTdHJhdGVneSIsICJieXRlTGVuZ3RoQnJhbmRDaGVja0V4Y2VwdGlvbiIsICJjb3VudFNpemVGdW5jdGlvbiIsICJDb3VudFF1ZXVpbmdTdHJhdGVneSIsICJJc0NvdW50UXVldWluZ1N0cmF0ZWd5IiwgImNvdW50QnJhbmRDaGVja0V4Y2VwdGlvbiIsICJjb252ZXJ0VHJhbnNmb3JtZXIiLCAiZmx1c2giLCAicmVhZGFibGVUeXBlIiwgIndyaXRhYmxlVHlwZSIsICJjb252ZXJ0VHJhbnNmb3JtZXJDYW5jZWxDYWxsYmFjayIsICJjb252ZXJ0VHJhbnNmb3JtZXJGbHVzaENhbGxiYWNrIiwgImNvbnZlcnRUcmFuc2Zvcm1lclN0YXJ0Q2FsbGJhY2siLCAiY29udmVydFRyYW5zZm9ybWVyVHJhbnNmb3JtQ2FsbGJhY2siLCAiVHJhbnNmb3JtU3RyZWFtIiwgInJhd1RyYW5zZm9ybWVyIiwgInJhd1dyaXRhYmxlU3RyYXRlZ3kiLCAicmF3UmVhZGFibGVTdHJhdGVneSIsICJ3cml0YWJsZVN0cmF0ZWd5IiwgInJlYWRhYmxlU3RyYXRlZ3kiLCAidHJhbnNmb3JtZXIiLCAicmVhZGFibGVIaWdoV2F0ZXJNYXJrIiwgInJlYWRhYmxlU2l6ZUFsZ29yaXRobSIsICJ3cml0YWJsZUhpZ2hXYXRlck1hcmsiLCAid3JpdGFibGVTaXplQWxnb3JpdGhtIiwgInN0YXJ0UHJvbWlzZV9yZXNvbHZlIiwgIkluaXRpYWxpemVUcmFuc2Zvcm1TdHJlYW0iLCAiU2V0VXBUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlckZyb21UcmFuc2Zvcm1lciIsICJJc1RyYW5zZm9ybVN0cmVhbSIsICJUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0U2lua1dyaXRlQWxnb3JpdGhtIiwgIlRyYW5zZm9ybVN0cmVhbURlZmF1bHRTaW5rQWJvcnRBbGdvcml0aG0iLCAiVHJhbnNmb3JtU3RyZWFtRGVmYXVsdFNpbmtDbG9zZUFsZ29yaXRobSIsICJUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0U291cmNlUHVsbEFsZ29yaXRobSIsICJUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0U291cmNlQ2FuY2VsQWxnb3JpdGhtIiwgIlRyYW5zZm9ybVN0cmVhbVNldEJhY2twcmVzc3VyZSIsICJUcmFuc2Zvcm1TdHJlYW1FcnJvciIsICJUcmFuc2Zvcm1TdHJlYW1FcnJvcldyaXRhYmxlQW5kVW5ibG9ja1dyaXRlIiwgIlRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyQ2xlYXJBbGdvcml0aG1zIiwgIlRyYW5zZm9ybVN0cmVhbVVuYmxvY2tXcml0ZSIsICJUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlciIsICJJc1RyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyIiwgInJlYWRhYmxlQ29udHJvbGxlciIsICJUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlckVucXVldWUiLCAiVHJhbnNmb3JtU3RyZWFtRGVmYXVsdENvbnRyb2xsZXJFcnJvciIsICJUcmFuc2Zvcm1TdHJlYW1EZWZhdWx0Q29udHJvbGxlclRlcm1pbmF0ZSIsICJTZXRVcFRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyIiwgInRyYW5zZm9ybUFsZ29yaXRobSIsICJmbHVzaEFsZ29yaXRobSIsICJ0cmFuc2Zvcm1SZXN1bHRFIiwgIlRyYW5zZm9ybVN0cmVhbURlZmF1bHRDb250cm9sbGVyUGVyZm9ybVRyYW5zZm9ybSIsICJ0cmFuc2Zvcm1Qcm9taXNlIiwgImJhY2twcmVzc3VyZUNoYW5nZVByb21pc2UiLCAiZGVmYXVsdENvbnRyb2xsZXJGaW5pc2hQcm9taXNlUmVqZWN0IiwgImRlZmF1bHRDb250cm9sbGVyRmluaXNoUHJvbWlzZVJlc29sdmUiLCAiZmx1c2hQcm9taXNlIiwgInJlcXVpcmVfbm9kZV9kb21leGNlcHRpb24iLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJNZXNzYWdlQ2hhbm5lbCIsICJwb3J0IiwgImFiIiwgImVyciIsICJpc1BsYWluT2JqZWN0IiwgInZhbHVlIiwgImdldFR5cGUiLCAicHAiLCAiaXNQbGFpbk9iamVjdF9kZWZhdWx0IiwgImluaXRfaXNQbGFpbk9iamVjdCIsICJfX2VzbU1pbiIsICJmaWxlRnJvbVBhdGhfZXhwb3J0cyIsICJfX2V4cG9ydCIsICJmaWxlRnJvbVBhdGgiLCAiZmlsZUZyb21QYXRoU3luYyIsICJpc0ZpbGUiLCAic3RhdFN5bmMiLCAiY3JlYXRlUmVhZFN0cmVhbSIsICJmcyIsICJiYXNlbmFtZSIsICJjcmVhdGVGaWxlRnJvbVBhdGgiLCAicGF0aCIsICJtdGltZU1zIiwgInNpemUiLCAiZmlsZW5hbWVPck9wdGlvbnMiLCAib3B0aW9ucyIsICJmaWxlbmFtZSIsICJpc1BsYWluT2JqZWN0X2RlZmF1bHQiLCAiZmlsZSIsICJGaWxlRnJvbVBhdGgiLCAiRmlsZSIsICJzdGF0cyIsICJpbXBvcnRfbm9kZV9kb21leGNlcHRpb24iLCAiX19jbGFzc1ByaXZhdGVGaWVsZFNldCIsICJfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0IiwgIl9GaWxlRnJvbVBhdGhfcGF0aCIsICJfRmlsZUZyb21QYXRoX3N0YXJ0IiwgIk1FU1NBR0UiLCAiaW5pdF9maWxlRnJvbVBhdGgiLCAiX19lc21NaW4iLCAiaW5pdF9GaWxlIiwgImluaXRfaXNQbGFpbk9iamVjdCIsICJpbml0X2lzRmlsZSIsICJyZWNlaXZlciIsICJzdGF0ZSIsICJ2YWx1ZSIsICJraW5kIiwgImYiLCAiX0ZpbGVGcm9tUGF0aCIsICJpbnB1dCIsICJzdGFydCIsICJlbmQiLCAiRE9NRXhjZXB0aW9uIiwgInJlcXVpcmVfaW50ZXJzZWN0aW9uIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiYXJyYXlzIiwgInJlc3VsdCIsICJyZXN1bHRTaXplIiwgImkiLCAidmFsdWUiLCAidmFsdWVzVG9DaGVjayIsICJ0eXBlc18xIiwgInRzbGliXzEiLCAiZGVmYXVsdF8xIiwgImZvcmsiLCAidHlwZXMiLCAiVHlwZSIsICJidWlsdGluIiwgImlzTnVtYmVyIiwgImdlcSIsICJ0aGFuIiwgInZhbHVlIiwgImRlZmF1bHRzIiwgIm5haXZlSXNQcmltaXRpdmUiLCAiaXNQcmltaXRpdmUiLCAidHlwZSIsICJleHBvcnRzIiwgIm1heWJlU2V0TW9kdWxlRXhwb3J0cyIsICJtb2R1bGVHZXR0ZXIiLCAibm9kZU1vZHVsZSIsICJvcmlnaW5hbEV4cG9ydHMiLCAiZGVmYXVsdEV4cG9ydCIsICJzaGFyZWRfMSIsICJPcCIsICJvYmpUb1N0ciIsICJoYXNPd24iLCAiQmFzZVR5cGUiLCAidmFsdWUiLCAiZGVlcCIsICJzdHIiLCAic2hhbGxvd1N0cmluZ2lmeSIsICJlbGVtVHlwZSIsICJBcnJheVR5cGUiLCAiX3N1cGVyIiwgInRzbGliXzEiLCAiX3RoaXMiLCAiZWxlbSIsICJJZGVudGl0eVR5cGUiLCAicmVzdWx0IiwgIk9iamVjdFR5cGUiLCAiZmllbGRzIiwgImZpZWxkIiwgIk9yVHlwZSIsICJ0eXBlcyIsICJ0eXBlIiwgIlByZWRpY2F0ZVR5cGUiLCAibmFtZSIsICJwcmVkaWNhdGUiLCAiRGVmIiwgInR5cGVOYW1lIiwgInRoYXQiLCAiYWxsRmllbGRzIiwgImNoZWNrRmllbGRCeU5hbWUiLCAiY2hpbGQiLCAic3VwZXJ0eXBlTmFtZXMiLCAiX2kiLCAiYmFzZXMiLCAiYmFzZU5hbWUiLCAiZXhwb3J0cyIsICJGaWVsZCIsICJkZWZhdWx0Rm4iLCAiaGlkZGVuIiwgIm9iaiIsICJrZXkiLCAidHlwZXNQbHVnaW4iLCAiX2ZvcmsiLCAiVHlwZSIsICJpc0FycmF5IiwgImlzT2JqZWN0IiwgImJpY2ZJbmRleCIsICJidWlsdEluQ3RvckZucyIsICJidWlsdEluQ3RvclR5cGVzIiwgImRlZkNhY2hlIiwgIkRlZkltcGwiLCAiZGVmQnVpbHRJblR5cGUiLCAiZXhhbXBsZSIsICJvYmpTdHIiLCAiaXNTdHJpbmciLCAiaXNGdW5jdGlvbiIsICJpc1JlZ0V4cCIsICJpc0RhdGUiLCAiaXNOdW1iZXIiLCAiaXNCb29sZWFuIiwgImlzTnVsbCIsICJpc1VuZGVmaW5lZCIsICJpc0JpZ0ludCIsICJidWlsdEluVHlwZXMiLCAiZGVmRnJvbVZhbHVlIiwgImQiLCAidkRlZiIsICJidWlsZFBhcmFtcyIsICJhZGRQYXJhbSIsICJidWlsdCIsICJwYXJhbSIsICJhcmciLCAiaXNBcmdBdmFpbGFibGUiLCAiYWxsIiwgIm1lc3NhZ2UiLCAiYnVpbGRlciIsICJhcmdzIiwgImFyZ2MiLCAibm9kZVByb3RvdHlwZSIsICJpIiwgImJ1aWxkZXJzIiwgImdldEJ1aWxkZXJOYW1lIiwgImFsbFN1cGVydHlwZXMiLCAiZGVmIiwgImV4dGVuZCIsICJmaWVsZE5hbWUiLCAibmFtZWRUeXBlcyIsICJwb3B1bGF0ZVN1cGVydHlwZUxpc3QiLCAid3JhcEV4cHJlc3Npb25CdWlsZGVyV2l0aFN0YXRlbWVudCIsICJnZXRTdXBlcnR5cGVOYW1lcyIsICJjb21wdXRlU3VwZXJ0eXBlTG9va3VwVGFibGUiLCAiY2FuZGlkYXRlcyIsICJ0YWJsZSIsICJ0eXBlTmFtZXMiLCAidHlwZU5hbWVDb3VudCIsICJqIiwgInN1cGVyVHlwZU5hbWUiLCAiZGVmaW5lTWV0aG9kIiwgImZ1bmMiLCAib2xkIiwgInVwcGVyQ2FzZVByZWZpeCIsICJsZW4iLCAiZ2V0U3RhdGVtZW50QnVpbGRlck5hbWUiLCAiZ2V0RmllbGROYW1lcyIsICJvYmplY3QiLCAiZ2V0RmllbGRWYWx1ZSIsICJlYWNoRmllbGQiLCAiY2FsbGJhY2siLCAiY29udGV4dCIsICJzb21lRmllbGQiLCAid3JhcHBlck5hbWUiLCAid3JhcHBlZCIsICJsaXN0IiwgImxhc3RTZWVuIiwgInBvcyIsICJ0byIsICJmcm9tIiwgImludG8iLCAiZmluYWxpemUiLCAibW9kdWxlIiwgInNoYXJlZF8xIiwgInR5cGVzXzEiLCAidHNsaWJfMSIsICJPcCIsICJoYXNPd24iLCAicGF0aFBsdWdpbiIsICJmb3JrIiwgInR5cGVzIiwgImlzQXJyYXkiLCAiaXNOdW1iZXIiLCAiUGF0aCIsICJ2YWx1ZSIsICJwYXJlbnRQYXRoIiwgIm5hbWUiLCAiUHAiLCAiZ2V0Q2hpbGRDYWNoZSIsICJwYXRoIiwgImdldENoaWxkUGF0aCIsICJjYWNoZSIsICJhY3R1YWxDaGlsZFZhbHVlIiwgImNoaWxkUGF0aCIsICJuYW1lcyIsICJfaSIsICJjb3VudCIsICJpIiwgImNhbGxiYWNrIiwgImNvbnRleHQiLCAiY2hpbGRQYXRocyIsICJsZW4iLCAicmVzdWx0IiwgImVtcHR5TW92ZXMiLCAiZ2V0TW92ZXMiLCAib2Zmc2V0IiwgInN0YXJ0IiwgImVuZCIsICJsZW5ndGgiLCAiYXJnYyIsICJtb3ZlcyIsICJuZXdJbmRleCIsICJtb3ZlIiwgImFyZ3MiLCAiaW5kZXgiLCAicHAiLCAiaW5zZXJ0QXRBcmdzIiwgInJlcGFpclJlbGF0aW9uc2hpcFdpdGhQYXJlbnQiLCAicGFyZW50VmFsdWUiLCAicGFyZW50Q2FjaGUiLCAicmVwbGFjZW1lbnQiLCAicmVzdWx0cyIsICJvcmlnaW5hbExlbmd0aCIsICJzcGxpY2VBcmdzIiwgInNwbGljZWRPdXQiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAic2hhcmVkXzEiLCAidHlwZXNfMSIsICJ0c2xpYl8xIiwgImhhc093biIsICJzY29wZVBsdWdpbiIsICJmb3JrIiwgInR5cGVzIiwgIlR5cGUiLCAibmFtZWRUeXBlcyIsICJOb2RlIiwgIkV4cHJlc3Npb24iLCAiaXNBcnJheSIsICJiIiwgIlNjb3BlIiwgInBhdGgiLCAicGFyZW50U2NvcGUiLCAiVHlwZVBhcmFtZXRlclNjb3BlVHlwZSIsICJTY29wZVR5cGUiLCAiZGVwdGgiLCAiRmxvd09yVFNUeXBlUGFyYW1ldGVyVHlwZSIsICJub2RlIiwgIlNwIiwgIm5hbWUiLCAicHJlZml4IiwgImluZGV4IiwgImlkZW50aWZpZXIiLCAiaW5pdCIsICJib2R5UGF0aCIsICJmb3JjZSIsICJzY2FuU2NvcGUiLCAiYmluZGluZ3MiLCAic2NvcGVUeXBlcyIsICJwYXJhbXMiLCAiY2hpbGRQYXRoIiwgImFkZFR5cGVQYXJhbWV0ZXIiLCAiYWRkUGF0dGVybiIsICJyZWN1cnNpdmVTY2FuU2NvcGUiLCAicmVjdXJzaXZlU2NhbkNoaWxkIiwgInBhcmFtUGF0aCIsICJhZGRUeXBlUGF0dGVybiIsICJjaGlsZCIsICJwYXRoSGFzVmFsdWUiLCAidmFsdWUiLCAiY2F0Y2hQYXJhbU5hbWUiLCAiaGFkQmluZGluZyIsICJwYXR0ZXJuUGF0aCIsICJwYXR0ZXJuIiwgInByb3BlcnR5UGF0aCIsICJwcm9wZXJ0eSIsICJlbGVtZW50UGF0aCIsICJlbGVtZW50IiwgInBhcmFtZXRlclBhdGgiLCAicGFyYW1ldGVyIiwgInNjb3BlIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInR5cGVzXzEiLCAidHNsaWJfMSIsICJwYXRoXzEiLCAic2NvcGVfMSIsICJzaGFyZWRfMSIsICJub2RlUGF0aFBsdWdpbiIsICJmb3JrIiwgInR5cGVzIiwgIm4iLCAiYiIsICJpc051bWJlciIsICJpc0FycmF5IiwgIlBhdGgiLCAiU2NvcGUiLCAiTm9kZVBhdGgiLCAidmFsdWUiLCAicGFyZW50UGF0aCIsICJuYW1lIiwgIk5QcCIsICJyZW1haW5pbmdOb2RlUGF0aCIsICJjbGVhblVwTm9kZXNBZnRlclBydW5lIiwgInBwIiwgInNjb3BlIiwgImFzc3VtZUV4cHJlc3Npb25Db250ZXh0IiwgIm5vZGUiLCAicGFyZW50IiwgIm5fMSIsICJwbyIsICJwcF8xIiwgIlBSRUNFREVOQ0UiLCAibm8iLCAibnAiLCAiY29udGFpbnNDYWxsRXhwcmVzc2lvbiIsICJpc0JpbmFyeSIsICJpc1VuYXJ5TGlrZSIsICJ0aWVyIiwgImkiLCAib3AiLCAiX25hbWUiLCAiY2hpbGQiLCAiZmlyc3RJblN0YXRlbWVudCIsICJwYXRoIiwgImRlY2xhcmF0aW9ucyIsICJjbGVhblVwSWZTdGF0ZW1lbnRBZnRlclBydW5lIiwgImlmU3RhdGVtZW50IiwgInRlc3RFeHByZXNzaW9uIiwgImFsdGVybmF0ZSIsICJjb25zZXF1ZW50IiwgInRlc3RFeHByZXNzaW9uU3RhdGVtZW50IiwgIm5lZ2F0ZWRUZXN0RXhwcmVzc2lvbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJ0eXBlc18xIiwgInRzbGliXzEiLCAibm9kZV9wYXRoXzEiLCAic2hhcmVkXzEiLCAiaGFzT3duIiwgInBhdGhWaXNpdG9yUGx1Z2luIiwgImZvcmsiLCAidHlwZXMiLCAiTm9kZVBhdGgiLCAiaXNBcnJheSIsICJpc09iamVjdCIsICJpc0Z1bmN0aW9uIiwgInVuZGVmaW5lZCIsICJQYXRoVmlzaXRvciIsICJjb21wdXRlTWV0aG9kTmFtZVRhYmxlIiwgIm1ha2VDb250ZXh0Q29uc3RydWN0b3IiLCAidmlzaXRvciIsICJ0eXBlTmFtZXMiLCAibWV0aG9kTmFtZSIsICJzdXBlcnR5cGVUYWJsZSIsICJtZXRob2ROYW1lVGFibGUiLCAidHlwZU5hbWVLZXlzIiwgInR5cGVOYW1lQ291bnQiLCAiaSIsICJ0eXBlTmFtZSIsICJtZXRob2RzIiwgIlZpc2l0b3IiLCAiVnAiLCAiUFZwIiwgImV4dGVuZCIsICJ0YXJnZXQiLCAic291cmNlIiwgInByb3BlcnR5IiwgIm5vZGUiLCAiYXJnYyIsICJhcmdzIiwgImRpZE5vdFRocm93IiwgInJvb3QiLCAicmVxdWVzdCIsICJfcGF0aCIsICJwYXRoIiwgInZhbHVlIiwgImNvbnRleHQiLCAidmlzaXRDaGlsZHJlbiIsICJjaGlsZE5hbWVzIiwgImNoaWxkQ291bnQiLCAiY2hpbGRQYXRocyIsICJjaGlsZE5hbWUiLCAiQ29udGV4dCIsICJDcCIsICJzaGFyZWRDb250ZXh0UHJvdG9NZXRob2RzIiwgInJlc3VsdCIsICJuZXdWaXNpdG9yIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInNoYXJlZF8xIiwgInR5cGVzXzEiLCAidHNsaWJfMSIsICJkZWZhdWx0XzEiLCAiZm9yayIsICJ0eXBlcyIsICJnZXRGaWVsZE5hbWVzIiwgImdldEZpZWxkVmFsdWUiLCAiaXNBcnJheSIsICJpc09iamVjdCIsICJpc0RhdGUiLCAiaXNSZWdFeHAiLCAiaGFzT3duIiwgImFzdE5vZGVzQXJlRXF1aXZhbGVudCIsICJhIiwgImIiLCAicHJvYmxlbVBhdGgiLCAiYXJlRXF1aXZhbGVudCIsICJzdWJzY3JpcHRGb3JQcm9wZXJ0eSIsICJwcm9wZXJ0eSIsICJhcnJheXNBcmVFcXVpdmFsZW50IiwgIm9iamVjdHNBcmVFcXVpdmFsZW50IiwgImFMZW5ndGgiLCAiaSIsICJwcm9ibGVtUGF0aFRhaWwiLCAiYU5hbWVzIiwgImFOYW1lQ291bnQiLCAiYk5hbWVzIiwgImJOYW1lQ291bnQiLCAibmFtZSIsICJhQ2hpbGQiLCAiYkNoaWxkIiwgInNlZW5OYW1lcyIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJ0eXBlc18xIiwgInRzbGliXzEiLCAicGF0aF92aXNpdG9yXzEiLCAiZXF1aXZfMSIsICJwYXRoXzEiLCAibm9kZV9wYXRoXzEiLCAic2hhcmVkXzEiLCAiZGVmYXVsdF8xIiwgInBsdWdpbnMiLCAiZm9yayIsICJjcmVhdGVGb3JrIiwgInR5cGVzIiwgIlBhdGhWaXNpdG9yIiwgImV4cG9ydHMiLCAidXNlZCIsICJ1c2VkUmVzdWx0IiwgInVzZSIsICJwbHVnaW4iLCAiaWR4IiwgIm1vZHVsZSIsICJzaGFyZWRfMSIsICJkZWZhdWx0XzEiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAic2hhcmVkXzEiLCAiY29yZV8xIiwgInRzbGliXzEiLCAiZGVmYXVsdF8xIiwgImZvcmsiLCAicmVzdWx0IiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInNoYXJlZF8xIiwgImVzMjAxNl8xIiwgInRzbGliXzEiLCAiZGVmYXVsdF8xIiwgImZvcmsiLCAicmVzdWx0IiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInNoYXJlZF8xIiwgImVzMjAyMF8xIiwgInRzbGliXzEiLCAiZGVmYXVsdF8xIiwgImZvcmsiLCAicmVzdWx0IiwgIm9wIiwgImFzc2lnbk9wIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImNvcmVfMSIsICJ0c2xpYl8xIiwgInR5cGVzXzEiLCAic2hhcmVkXzEiLCAiZGVmYXVsdF8xIiwgImZvcmsiLCAidHlwZXMiLCAiVHlwZSIsICJkZWYiLCAib3IiLCAic2hhcmVkIiwgImRlZmF1bHRzIiwgImdlcSIsICJfYSIsICJCaW5hcnlPcGVyYXRvcnMiLCAiQXNzaWdubWVudE9wZXJhdG9ycyIsICJMb2dpY2FsT3BlcmF0b3JzIiwgIlVuYXJ5T3BlcmF0b3IiLCAiQmluYXJ5T3BlcmF0b3IiLCAiQXNzaWdubWVudE9wZXJhdG9yIiwgIlVwZGF0ZU9wZXJhdG9yIiwgIkxvZ2ljYWxPcGVyYXRvciIsICJ0eXBlIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImNvcmVfMSIsICJ0c2xpYl8xIiwgInR5cGVzXzEiLCAic2hhcmVkXzEiLCAiZGVmYXVsdF8xIiwgImZvcmsiLCAidHlwZXMiLCAiZGVmIiwgIm9yIiwgImRlZmF1bHRzIiwgIkNsYXNzQm9keUVsZW1lbnQiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXMyMDE2XzEiLCAidHNsaWJfMSIsICJlczZfMSIsICJzaGFyZWRfMSIsICJkZWZhdWx0XzEiLCAiZm9yayIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJlczIwMTZfMSIsICJ0c2xpYl8xIiwgInR5cGVzXzEiLCAic2hhcmVkXzEiLCAiZGVmYXVsdF8xIiwgImZvcmsiLCAidHlwZXMiLCAiZGVmIiwgImRlZmF1bHRzIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImVzMjAxN18xIiwgInRzbGliXzEiLCAidHlwZXNfMSIsICJzaGFyZWRfMSIsICJkZWZhdWx0XzEiLCAiZm9yayIsICJ0eXBlcyIsICJkZWYiLCAib3IiLCAiZGVmYXVsdHMiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXMyMDE4XzEiLCAidHNsaWJfMSIsICJ0eXBlc18xIiwgInNoYXJlZF8xIiwgImRlZmF1bHRfMSIsICJmb3JrIiwgInR5cGVzIiwgImRlZiIsICJvciIsICJkZWZhdWx0cyIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJlczIwMjBfMSIsICJ0c2xpYl8xIiwgImVzMjAxOV8xIiwgInR5cGVzXzEiLCAic2hhcmVkXzEiLCAiZGVmYXVsdF8xIiwgImZvcmsiLCAidHlwZXMiLCAiZGVmIiwgIm9yIiwgInNoYXJlZCIsICJkZWZhdWx0cyIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJlczIwMjFfMSIsICJ0c2xpYl8xIiwgImVzMjAyMF8xIiwgInNoYXJlZF8xIiwgImRlZmF1bHRfMSIsICJmb3JrIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImVzMjAyMV8xIiwgInRzbGliXzEiLCAidHlwZXNfMSIsICJzaGFyZWRfMSIsICJkZWZhdWx0XzEiLCAiZm9yayIsICJ0eXBlcyIsICJkZWYiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAidHlwZXNfMSIsICJ0c2xpYl8xIiwgInNoYXJlZF8xIiwgImVzMjAyMl8xIiwgImRlZmF1bHRfMSIsICJmb3JrIiwgInR5cGVzIiwgIlR5cGUiLCAiZGVmIiwgIm9yIiwgInNoYXJlZCIsICJkZWZhdWx0cyIsICJkZWNsIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImVzX3Byb3Bvc2Fsc18xIiwgInRzbGliXzEiLCAidHlwZXNfMSIsICJzaGFyZWRfMSIsICJkZWZhdWx0XzEiLCAiZm9yayIsICJ0eXBlcyIsICJkZWYiLCAib3IiLCAiZGVmYXVsdHMiLCAiSlNYRWxlbWVudE5hbWUiLCAiSlNYQXR0cmlidXRlcyIsICJKU1hDaGlsZHJlbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJ0eXBlc18xIiwgInRzbGliXzEiLCAic2hhcmVkXzEiLCAiZGVmYXVsdF8xIiwgImZvcmsiLCAidHlwZXMiLCAiZGVmIiwgIm9yIiwgImRlZmF1bHRzIiwgIlR5cGVBbm5vdGF0aW9uIiwgIlR5cGVQYXJhbURlY2wiLCAidHlwZU5hbWUiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXNfcHJvcG9zYWxzXzEiLCAidHNsaWJfMSIsICJ0eXBlX2Fubm90YXRpb25zXzEiLCAidHlwZXNfMSIsICJzaGFyZWRfMSIsICJkZWZhdWx0XzEiLCAiZm9yayIsICJ0eXBlcyIsICJkZWYiLCAib3IiLCAiZGVmYXVsdHMiLCAiTGVnYWN5VmFyaWFuY2UiLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZXNfcHJvcG9zYWxzXzEiLCAidHNsaWJfMSIsICJ0eXBlc18xIiwgInNoYXJlZF8xIiwgImRlZmF1bHRfMSIsICJmb3JrIiwgInR5cGVzIiwgImRlZmF1bHRzIiwgImRlZiIsICJvciIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJlc19wcm9wb3NhbHNfMSIsICJ0c2xpYl8xIiwgInR5cGVzXzEiLCAic2hhcmVkXzEiLCAiZGVmYXVsdF8xIiwgImZvcmsiLCAidHlwZXMiLCAiZGVmYXVsdHMiLCAiZGVmIiwgIm9yIiwgImlzVW5kZWZpbmVkIiwgIm1ha2VMaXRlcmFsRXh0cmEiLCAicmF3VmFsdWVUeXBlIiwgInRvUmF3IiwgInZhbHVlIiwgIl9hIiwgInZhbCIsICJfYiIsICJfYyIsICJfZCIsICJfZSIsICJleHAiLCAiT2JqZWN0RXhwcmVzc2lvblByb3BlcnR5IiwgIkNsYXNzQm9keUVsZW1lbnQiLCAidHlwZU5hbWUiLCAiT2JqZWN0UGF0dGVyblByb3BlcnR5IiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInR5cGVzXzEiLCAidHNsaWJfMSIsICJiYWJlbF9jb3JlXzEiLCAiZmxvd18xIiwgInNoYXJlZF8xIiwgImRlZmF1bHRfMSIsICJmb3JrIiwgInR5cGVzIiwgImRlZiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJiYWJlbF9jb3JlXzEiLCAidHNsaWJfMSIsICJ0eXBlX2Fubm90YXRpb25zXzEiLCAidHlwZXNfMSIsICJzaGFyZWRfMSIsICJkZWZhdWx0XzEiLCAiZm9yayIsICJ0eXBlcyIsICJuIiwgImRlZiIsICJvciIsICJkZWZhdWx0cyIsICJTdHJpbmdMaXRlcmFsIiwgInZhbHVlIiwgImRlZXAiLCAiVFNFbnRpdHlOYW1lIiwgImtleXdvcmRUeXBlIiwgInR5cGVOYW1lIiwgIlBhcmFtZXRlcnNUeXBlIiwgIlRTVHlwZU1lbWJlciIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJuYW1lZFR5cGVzIiwgImV4cG9ydHMiLCAiZm9ya18xIiwgInRzbGliXzEiLCAiZXNfcHJvcG9zYWxzXzEiLCAianN4XzEiLCAiZmxvd18xIiwgImVzcHJpbWFfMSIsICJiYWJlbF8xIiwgInR5cGVzY3JpcHRfMSIsICJuYW1lZFR5cGVzXzEiLCAiZXhwb3J0cyIsICJfYSIsICJhc3ROb2Rlc0FyZUVxdWl2YWxlbnQiLCAiYnVpbGRlcnMiLCAiYnVpbHRJblR5cGVzIiwgImRlZmluZU1ldGhvZCIsICJlYWNoRmllbGQiLCAiZmluYWxpemUiLCAiZ2V0QnVpbGRlck5hbWUiLCAiZ2V0RmllbGROYW1lcyIsICJnZXRGaWVsZFZhbHVlIiwgImdldFN1cGVydHlwZU5hbWVzIiwgIm4iLCAiTm9kZVBhdGgiLCAiUGF0aCIsICJQYXRoVmlzaXRvciIsICJzb21lRmllbGQiLCAiVHlwZSIsICJ1c2UiLCAidmlzaXQiLCAicmVxdWlyZV90aW55X2ludmFyaWFudF9janMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJpc1Byb2R1Y3Rpb24iLCAicHJlZml4IiwgImludmFyaWFudCIsICJjb25kaXRpb24iLCAibWVzc2FnZSIsICJwcm92aWRlZCIsICJ2YWx1ZSIsICJyZXF1aXJlX2Jhc2U2NCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiaW50VG9DaGFyTWFwIiwgIm51bWJlciIsICJjaGFyQ29kZSIsICJiaWdBIiwgImJpZ1oiLCAibGl0dGxlQSIsICJsaXR0bGVaIiwgInplcm8iLCAibmluZSIsICJwbHVzIiwgInNsYXNoIiwgImxpdHRsZU9mZnNldCIsICJudW1iZXJPZmZzZXQiLCAicmVxdWlyZV9iYXNlNjRfdmxxIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJiYXNlNjQiLCAiVkxRX0JBU0VfU0hJRlQiLCAiVkxRX0JBU0UiLCAiVkxRX0JBU0VfTUFTSyIsICJWTFFfQ09OVElOVUFUSU9OX0JJVCIsICJ0b1ZMUVNpZ25lZCIsICJhVmFsdWUiLCAiZnJvbVZMUVNpZ25lZCIsICJpc05lZ2F0aXZlIiwgInNoaWZ0ZWQiLCAiZW5jb2RlZCIsICJkaWdpdCIsICJ2bHEiLCAiYVN0ciIsICJhSW5kZXgiLCAiYU91dFBhcmFtIiwgInN0ckxlbiIsICJyZXN1bHQiLCAic2hpZnQiLCAiY29udGludWF0aW9uIiwgInJlcXVpcmVfdXRpbCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiZ2V0QXJnIiwgImFBcmdzIiwgImFOYW1lIiwgImFEZWZhdWx0VmFsdWUiLCAidXJsUmVnZXhwIiwgImRhdGFVcmxSZWdleHAiLCAidXJsUGFyc2UiLCAiYVVybCIsICJtYXRjaCIsICJ1cmxHZW5lcmF0ZSIsICJhUGFyc2VkVXJsIiwgInVybCIsICJub3JtYWxpemUiLCAiYVBhdGgiLCAicGF0aCIsICJpc0Fic29sdXRlIiwgInBhcnRzIiwgInBhcnQiLCAidXAiLCAiaSIsICJqb2luIiwgImFSb290IiwgImFQYXRoVXJsIiwgImFSb290VXJsIiwgImpvaW5lZCIsICJyZWxhdGl2ZSIsICJsZXZlbCIsICJpbmRleCIsICJzdXBwb3J0c051bGxQcm90byIsICJvYmoiLCAiaWRlbnRpdHkiLCAicyIsICJ0b1NldFN0cmluZyIsICJhU3RyIiwgImlzUHJvdG9TdHJpbmciLCAiZnJvbVNldFN0cmluZyIsICJsZW5ndGgiLCAiY29tcGFyZUJ5T3JpZ2luYWxQb3NpdGlvbnMiLCAibWFwcGluZ0EiLCAibWFwcGluZ0IiLCAib25seUNvbXBhcmVPcmlnaW5hbCIsICJjbXAiLCAic3RyY21wIiwgImNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0RlZmxhdGVkIiwgIm9ubHlDb21wYXJlR2VuZXJhdGVkIiwgImFTdHIxIiwgImFTdHIyIiwgImNvbXBhcmVCeUdlbmVyYXRlZFBvc2l0aW9uc0luZmxhdGVkIiwgInBhcnNlU291cmNlTWFwSW5wdXQiLCAic3RyIiwgImNvbXB1dGVTb3VyY2VVUkwiLCAic291cmNlUm9vdCIsICJzb3VyY2VVUkwiLCAic291cmNlTWFwVVJMIiwgInBhcnNlZCIsICJyZXF1aXJlX2FycmF5X3NldCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAidXRpbCIsICJoYXMiLCAiaGFzTmF0aXZlTWFwIiwgIkFycmF5U2V0IiwgImFBcnJheSIsICJhQWxsb3dEdXBsaWNhdGVzIiwgInNldCIsICJsZW4iLCAiYVN0ciIsICJzU3RyIiwgImlzRHVwbGljYXRlIiwgImlkeCIsICJhSWR4IiwgInJlcXVpcmVfbWFwcGluZ19saXN0IiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJ1dGlsIiwgImdlbmVyYXRlZFBvc2l0aW9uQWZ0ZXIiLCAibWFwcGluZ0EiLCAibWFwcGluZ0IiLCAibGluZUEiLCAibGluZUIiLCAiY29sdW1uQSIsICJjb2x1bW5CIiwgIk1hcHBpbmdMaXN0IiwgImFDYWxsYmFjayIsICJhVGhpc0FyZyIsICJhTWFwcGluZyIsICJyZXF1aXJlX3NvdXJjZV9tYXBfZ2VuZXJhdG9yIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJiYXNlNjRWTFEiLCAidXRpbCIsICJBcnJheVNldCIsICJNYXBwaW5nTGlzdCIsICJTb3VyY2VNYXBHZW5lcmF0b3IiLCAiYUFyZ3MiLCAiYVNvdXJjZU1hcENvbnN1bWVyIiwgInNvdXJjZVJvb3QiLCAiZ2VuZXJhdG9yIiwgIm1hcHBpbmciLCAibmV3TWFwcGluZyIsICJzb3VyY2VGaWxlIiwgInNvdXJjZVJlbGF0aXZlIiwgImNvbnRlbnQiLCAiZ2VuZXJhdGVkIiwgIm9yaWdpbmFsIiwgInNvdXJjZSIsICJuYW1lIiwgImFTb3VyY2VGaWxlIiwgImFTb3VyY2VDb250ZW50IiwgImFTb3VyY2VNYXBQYXRoIiwgIm5ld1NvdXJjZXMiLCAibmV3TmFtZXMiLCAiYUdlbmVyYXRlZCIsICJhT3JpZ2luYWwiLCAiYVNvdXJjZSIsICJhTmFtZSIsICJwcmV2aW91c0dlbmVyYXRlZENvbHVtbiIsICJwcmV2aW91c0dlbmVyYXRlZExpbmUiLCAicHJldmlvdXNPcmlnaW5hbENvbHVtbiIsICJwcmV2aW91c09yaWdpbmFsTGluZSIsICJwcmV2aW91c05hbWUiLCAicHJldmlvdXNTb3VyY2UiLCAicmVzdWx0IiwgIm5leHQiLCAibmFtZUlkeCIsICJzb3VyY2VJZHgiLCAibWFwcGluZ3MiLCAiaSIsICJsZW4iLCAiYVNvdXJjZXMiLCAiYVNvdXJjZVJvb3QiLCAia2V5IiwgIm1hcCIsICJyZXF1aXJlX2JpbmFyeV9zZWFyY2giLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgInJlY3Vyc2l2ZVNlYXJjaCIsICJhTG93IiwgImFIaWdoIiwgImFOZWVkbGUiLCAiYUhheXN0YWNrIiwgImFDb21wYXJlIiwgImFCaWFzIiwgIm1pZCIsICJjbXAiLCAiaW5kZXgiLCAicmVxdWlyZV9xdWlja19zb3J0IiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJzd2FwIiwgImFyeSIsICJ4IiwgInkiLCAidGVtcCIsICJyYW5kb21JbnRJblJhbmdlIiwgImxvdyIsICJoaWdoIiwgImRvUXVpY2tTb3J0IiwgImNvbXBhcmF0b3IiLCAicCIsICJyIiwgInBpdm90SW5kZXgiLCAiaSIsICJwaXZvdCIsICJqIiwgInEiLCAicmVxdWlyZV9zb3VyY2VfbWFwX2NvbnN1bWVyIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJ1dGlsIiwgImJpbmFyeVNlYXJjaCIsICJBcnJheVNldCIsICJiYXNlNjRWTFEiLCAicXVpY2tTb3J0IiwgIlNvdXJjZU1hcENvbnN1bWVyIiwgImFTb3VyY2VNYXAiLCAiYVNvdXJjZU1hcFVSTCIsICJzb3VyY2VNYXAiLCAiSW5kZXhlZFNvdXJjZU1hcENvbnN1bWVyIiwgIkJhc2ljU291cmNlTWFwQ29uc3VtZXIiLCAiYVN0ciIsICJpbmRleCIsICJjIiwgImFTb3VyY2VSb290IiwgImFDYWxsYmFjayIsICJhQ29udGV4dCIsICJhT3JkZXIiLCAiY29udGV4dCIsICJvcmRlciIsICJtYXBwaW5ncyIsICJzb3VyY2VSb290IiwgIm1hcHBpbmciLCAic291cmNlIiwgImFBcmdzIiwgImxpbmUiLCAibmVlZGxlIiwgIm9yaWdpbmFsTGluZSIsICJvcmlnaW5hbENvbHVtbiIsICJ2ZXJzaW9uIiwgInNvdXJjZXMiLCAibmFtZXMiLCAic291cmNlc0NvbnRlbnQiLCAiZmlsZSIsICJzIiwgImFTb3VyY2UiLCAicmVsYXRpdmVTb3VyY2UiLCAiaSIsICJzbWMiLCAiZ2VuZXJhdGVkTWFwcGluZ3MiLCAiZGVzdEdlbmVyYXRlZE1hcHBpbmdzIiwgImRlc3RPcmlnaW5hbE1hcHBpbmdzIiwgImxlbmd0aCIsICJzcmNNYXBwaW5nIiwgImRlc3RNYXBwaW5nIiwgIk1hcHBpbmciLCAiZ2VuZXJhdGVkTGluZSIsICJwcmV2aW91c0dlbmVyYXRlZENvbHVtbiIsICJwcmV2aW91c09yaWdpbmFsTGluZSIsICJwcmV2aW91c09yaWdpbmFsQ29sdW1uIiwgInByZXZpb3VzU291cmNlIiwgInByZXZpb3VzTmFtZSIsICJjYWNoZWRTZWdtZW50cyIsICJ0ZW1wIiwgIm9yaWdpbmFsTWFwcGluZ3MiLCAic3RyIiwgInNlZ21lbnQiLCAiZW5kIiwgInZhbHVlIiwgImFOZWVkbGUiLCAiYU1hcHBpbmdzIiwgImFMaW5lTmFtZSIsICJhQ29sdW1uTmFtZSIsICJhQ29tcGFyYXRvciIsICJhQmlhcyIsICJuZXh0TWFwcGluZyIsICJuYW1lIiwgInNjIiwgIm51bGxPbk1pc3NpbmciLCAidXJsIiwgImZpbGVVcmlBYnNQYXRoIiwgInNlY3Rpb25zIiwgImxhc3RPZmZzZXQiLCAib2Zmc2V0IiwgIm9mZnNldExpbmUiLCAib2Zmc2V0Q29sdW1uIiwgImoiLCAic2VjdGlvbkluZGV4IiwgInNlY3Rpb24iLCAiY21wIiwgImNvbnRlbnQiLCAiZ2VuZXJhdGVkUG9zaXRpb24iLCAicmV0IiwgInNlY3Rpb25NYXBwaW5ncyIsICJhZGp1c3RlZE1hcHBpbmciLCAicmVxdWlyZV9zb3VyY2Vfbm9kZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiU291cmNlTWFwR2VuZXJhdG9yIiwgInV0aWwiLCAiUkVHRVhfTkVXTElORSIsICJORVdMSU5FX0NPREUiLCAiaXNTb3VyY2VOb2RlIiwgIlNvdXJjZU5vZGUiLCAiYUxpbmUiLCAiYUNvbHVtbiIsICJhU291cmNlIiwgImFDaHVua3MiLCAiYU5hbWUiLCAiYUdlbmVyYXRlZENvZGUiLCAiYVNvdXJjZU1hcENvbnN1bWVyIiwgImFSZWxhdGl2ZVBhdGgiLCAibm9kZSIsICJyZW1haW5pbmdMaW5lcyIsICJyZW1haW5pbmdMaW5lc0luZGV4IiwgInNoaWZ0TmV4dExpbmUiLCAibGluZUNvbnRlbnRzIiwgImdldE5leHRMaW5lIiwgIm5ld0xpbmUiLCAibGFzdEdlbmVyYXRlZExpbmUiLCAibGFzdEdlbmVyYXRlZENvbHVtbiIsICJsYXN0TWFwcGluZyIsICJtYXBwaW5nIiwgImFkZE1hcHBpbmdXaXRoQ29kZSIsICJuZXh0TGluZSIsICJjb2RlIiwgInNvdXJjZUZpbGUiLCAiY29udGVudCIsICJzb3VyY2UiLCAiYUNodW5rIiwgImNodW5rIiwgImkiLCAiYUZuIiwgImxlbiIsICJhU2VwIiwgIm5ld0NoaWxkcmVuIiwgImFQYXR0ZXJuIiwgImFSZXBsYWNlbWVudCIsICJsYXN0Q2hpbGQiLCAiYVNvdXJjZUZpbGUiLCAiYVNvdXJjZUNvbnRlbnQiLCAic291cmNlcyIsICJzdHIiLCAiYUFyZ3MiLCAiZ2VuZXJhdGVkIiwgIm1hcCIsICJzb3VyY2VNYXBwaW5nQWN0aXZlIiwgImxhc3RPcmlnaW5hbFNvdXJjZSIsICJsYXN0T3JpZ2luYWxMaW5lIiwgImxhc3RPcmlnaW5hbENvbHVtbiIsICJsYXN0T3JpZ2luYWxOYW1lIiwgIm9yaWdpbmFsIiwgImlkeCIsICJsZW5ndGgiLCAic291cmNlQ29udGVudCIsICJyZXF1aXJlX3NvdXJjZV9tYXAiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgInJlcXVpcmVfdXRpbCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAidHNsaWJfMSIsICJ0aW55X2ludmFyaWFudF8xIiwgInR5cGVzIiwgIm4iLCAic291cmNlX21hcF8xIiwgIlNvdXJjZU1hcENvbnN1bWVyIiwgIlNvdXJjZU1hcEdlbmVyYXRvciIsICJoYXNPd24iLCAiZ2V0TGluZVRlcm1pbmF0b3IiLCAiaXNCcm93c2VyIiwgImdldE9wdGlvbiIsICJvcHRpb25zIiwgImtleSIsICJkZWZhdWx0VmFsdWUiLCAiZ2V0VW5pb25PZktleXMiLCAiYXJncyIsICJfaSIsICJyZXN1bHQiLCAiYXJnYyIsICJrZXlzIiwgImtleUNvdW50IiwgImoiLCAiY29tcGFyZVBvcyIsICJwb3MxIiwgInBvczIiLCAiY29weVBvcyIsICJwb3MiLCAiY29tcG9zZVNvdXJjZU1hcHMiLCAiZm9ybWVyTWFwIiwgImxhdHRlck1hcCIsICJzbWNGb3JtZXIiLCAic21jTGF0dGVyIiwgInNtZyIsICJzb3VyY2VzVG9Db250ZW50cyIsICJtYXBwaW5nIiwgIm9yaWdQb3MiLCAic291cmNlTmFtZSIsICJzb3VyY2VDb250ZW50IiwgImdldFRydWVMb2MiLCAibm9kZSIsICJsaW5lcyIsICJpbmNsdWRlIiwgImV4cGFuZExvYyIsICJpc0V4cG9ydERlY2xhcmF0aW9uIiwgInBhcmVudExvYyIsICJjaGlsZExvYyIsICJmaXhGYXVsdHlMb2NhdGlvbnMiLCAibG9jIiwgImZpeEZvckxvb3BIZWFkIiwgImZpeFRlbXBsYXRlTGl0ZXJhbCIsICJkZWNvcmF0b3IiLCAiZGVjb3JhdG9ycyIsICJsb2NfMSIsICJlbmQiLCAiZml4IiwgImNoaWxkIiwgInN0YXJ0IiwgImFmdGVyTGVmdEJhY2tUaWNrUG9zIiwgImZpcnN0UXVhc2kiLCAicmlnaHRCYWNrVGlja1BvcyIsICJsYXN0UXVhc2kiLCAiZXhwciIsICJpIiwgImRvbGxhckN1cmx5UG9zIiwgInF1YXNpQmVmb3JlIiwgInJpZ2h0Q3VybHlQb3MiLCAicXVhc2lBZnRlciIsICJnZXRQYXJlbnRFeHBvcnREZWNsYXJhdGlvbiIsICJwYXRoIiwgInBhcmVudE5vZGUiLCAiaXNUcmFpbGluZ0NvbW1hRW5hYmxlZCIsICJjb250ZXh0IiwgInRyYWlsaW5nQ29tbWEiLCAicmVxdWlyZV9lc3ByaW1hIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAicm9vdCIsICJmYWN0b3J5IiwgIm1vZHVsZXMiLCAiaW5zdGFsbGVkTW9kdWxlcyIsICJfX3dlYnBhY2tfcmVxdWlyZV9fIiwgIm1vZHVsZUlkIiwgImNvbW1lbnRfaGFuZGxlcl8xIiwgImpzeF9wYXJzZXJfMSIsICJwYXJzZXJfMSIsICJ0b2tlbml6ZXJfMSIsICJwYXJzZSIsICJjb2RlIiwgIm9wdGlvbnMiLCAiZGVsZWdhdGUiLCAiY29tbWVudEhhbmRsZXIiLCAicHJveHlEZWxlZ2F0ZSIsICJub2RlIiwgIm1ldGFkYXRhIiwgInBhcnNlckRlbGVnYXRlIiwgImNvbGxlY3RDb21tZW50IiwgImF0dGFjaENvbW1lbnQiLCAiaXNNb2R1bGUiLCAicGFyc2VyIiwgInByb2dyYW0iLCAiYXN0IiwgInBhcnNlTW9kdWxlIiwgInBhcnNpbmdPcHRpb25zIiwgInBhcnNlU2NyaXB0IiwgInRva2VuaXplIiwgInRva2VuaXplciIsICJ0b2tlbnMiLCAidG9rZW4iLCAiZSIsICJzeW50YXhfMSIsICJDb21tZW50SGFuZGxlciIsICJpbm5lckNvbW1lbnRzIiwgImkiLCAiZW50cnkiLCAidHJhaWxpbmdDb21tZW50cyIsICJlbnRyeV8xIiwgImZpcnN0Q29tbWVudCIsICJsZWFkaW5nQ29tbWVudHMiLCAidGFyZ2V0IiwgImNvdW50IiwgImNvbW1lbnQiLCAidHlwZSIsICJfX2V4dGVuZHMiLCAiZXh0ZW5kU3RhdGljcyIsICJkIiwgImIiLCAicCIsICJfXyIsICJjaGFyYWN0ZXJfMSIsICJKU1hOb2RlIiwgImpzeF9zeW50YXhfMSIsICJOb2RlIiwgInRva2VuXzEiLCAieGh0bWxfZW50aXRpZXNfMSIsICJnZXRRdWFsaWZpZWRFbGVtZW50TmFtZSIsICJlbGVtZW50TmFtZSIsICJxdWFsaWZpZWROYW1lIiwgImlkIiwgIm5zIiwgImV4cHIiLCAiSlNYUGFyc2VyIiwgIl9zdXBlciIsICJxdW90ZSIsICJyZXN1bHQiLCAidmFsaWQiLCAidGVybWluYXRlZCIsICJudW1lcmljIiwgImhleCIsICJjaCIsICJzdHIiLCAiY3AiLCAidmFsdWUiLCAic3RhcnQiLCAibjEiLCAibjIiLCAidGV4dCIsICJzdGF0ZSIsICJuZXh0IiwgIm5hbWVzcGFjZSIsICJuYW1lXzEiLCAib2JqZWN0IiwgInByb3BlcnR5IiwgImF0dHJpYnV0ZU5hbWUiLCAiaWRlbnRpZmllciIsICJuYW1lXzIiLCAicmF3IiwgImV4cHJlc3Npb24iLCAibmFtZSIsICJhcmd1bWVudCIsICJhdHRyaWJ1dGVzIiwgImF0dHJpYnV0ZSIsICJzZWxmQ2xvc2luZyIsICJuYW1lXzMiLCAiY2hpbGRyZW4iLCAiY2hpbGQiLCAiY29udGFpbmVyIiwgImVsIiwgInN0YWNrIiwgImVsZW1lbnQiLCAib3BlbmluZyIsICJvcGVuXzEiLCAiY2xvc2VfMSIsICJjbG9zaW5nIiwgIlJlZ2V4IiwgIkpTWENsb3NpbmdFbGVtZW50IiwgIkpTWEVsZW1lbnQiLCAib3BlbmluZ0VsZW1lbnQiLCAiY2xvc2luZ0VsZW1lbnQiLCAiSlNYRW1wdHlFeHByZXNzaW9uIiwgIkpTWEV4cHJlc3Npb25Db250YWluZXIiLCAiSlNYSWRlbnRpZmllciIsICJKU1hNZW1iZXJFeHByZXNzaW9uIiwgIkpTWEF0dHJpYnV0ZSIsICJKU1hOYW1lc3BhY2VkTmFtZSIsICJKU1hPcGVuaW5nRWxlbWVudCIsICJKU1hTcHJlYWRBdHRyaWJ1dGUiLCAiSlNYVGV4dCIsICJBcnJheUV4cHJlc3Npb24iLCAiZWxlbWVudHMiLCAiQXJyYXlQYXR0ZXJuIiwgIkFycm93RnVuY3Rpb25FeHByZXNzaW9uIiwgInBhcmFtcyIsICJib2R5IiwgIkFzc2lnbm1lbnRFeHByZXNzaW9uIiwgIm9wZXJhdG9yIiwgImxlZnQiLCAicmlnaHQiLCAiQXNzaWdubWVudFBhdHRlcm4iLCAiQXN5bmNBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiIsICJBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24iLCAiQXN5bmNGdW5jdGlvbkV4cHJlc3Npb24iLCAiQXdhaXRFeHByZXNzaW9uIiwgIkJpbmFyeUV4cHJlc3Npb24iLCAibG9naWNhbCIsICJCbG9ja1N0YXRlbWVudCIsICJCcmVha1N0YXRlbWVudCIsICJsYWJlbCIsICJDYWxsRXhwcmVzc2lvbiIsICJjYWxsZWUiLCAiYXJncyIsICJDYXRjaENsYXVzZSIsICJwYXJhbSIsICJDbGFzc0JvZHkiLCAiQ2xhc3NEZWNsYXJhdGlvbiIsICJzdXBlckNsYXNzIiwgIkNsYXNzRXhwcmVzc2lvbiIsICJDb21wdXRlZE1lbWJlckV4cHJlc3Npb24iLCAiQ29uZGl0aW9uYWxFeHByZXNzaW9uIiwgInRlc3QiLCAiY29uc2VxdWVudCIsICJhbHRlcm5hdGUiLCAiQ29udGludWVTdGF0ZW1lbnQiLCAiRGVidWdnZXJTdGF0ZW1lbnQiLCAiRGlyZWN0aXZlIiwgImRpcmVjdGl2ZSIsICJEb1doaWxlU3RhdGVtZW50IiwgIkVtcHR5U3RhdGVtZW50IiwgIkV4cG9ydEFsbERlY2xhcmF0aW9uIiwgInNvdXJjZSIsICJFeHBvcnREZWZhdWx0RGVjbGFyYXRpb24iLCAiZGVjbGFyYXRpb24iLCAiRXhwb3J0TmFtZWREZWNsYXJhdGlvbiIsICJzcGVjaWZpZXJzIiwgIkV4cG9ydFNwZWNpZmllciIsICJsb2NhbCIsICJleHBvcnRlZCIsICJFeHByZXNzaW9uU3RhdGVtZW50IiwgIkZvckluU3RhdGVtZW50IiwgIkZvck9mU3RhdGVtZW50IiwgIkZvclN0YXRlbWVudCIsICJpbml0IiwgInVwZGF0ZSIsICJGdW5jdGlvbkRlY2xhcmF0aW9uIiwgImdlbmVyYXRvciIsICJGdW5jdGlvbkV4cHJlc3Npb24iLCAiSWRlbnRpZmllciIsICJJZlN0YXRlbWVudCIsICJJbXBvcnREZWNsYXJhdGlvbiIsICJJbXBvcnREZWZhdWx0U3BlY2lmaWVyIiwgIkltcG9ydE5hbWVzcGFjZVNwZWNpZmllciIsICJJbXBvcnRTcGVjaWZpZXIiLCAiaW1wb3J0ZWQiLCAiTGFiZWxlZFN0YXRlbWVudCIsICJMaXRlcmFsIiwgIk1ldGFQcm9wZXJ0eSIsICJtZXRhIiwgIk1ldGhvZERlZmluaXRpb24iLCAia2V5IiwgImNvbXB1dGVkIiwgImtpbmQiLCAiaXNTdGF0aWMiLCAiTW9kdWxlIiwgIk5ld0V4cHJlc3Npb24iLCAiT2JqZWN0RXhwcmVzc2lvbiIsICJwcm9wZXJ0aWVzIiwgIk9iamVjdFBhdHRlcm4iLCAiUHJvcGVydHkiLCAibWV0aG9kIiwgInNob3J0aGFuZCIsICJSZWdleExpdGVyYWwiLCAicGF0dGVybiIsICJmbGFncyIsICJSZXN0RWxlbWVudCIsICJSZXR1cm5TdGF0ZW1lbnQiLCAiU2NyaXB0IiwgIlNlcXVlbmNlRXhwcmVzc2lvbiIsICJleHByZXNzaW9ucyIsICJTcHJlYWRFbGVtZW50IiwgIlN0YXRpY01lbWJlckV4cHJlc3Npb24iLCAiU3VwZXIiLCAiU3dpdGNoQ2FzZSIsICJTd2l0Y2hTdGF0ZW1lbnQiLCAiZGlzY3JpbWluYW50IiwgImNhc2VzIiwgIlRhZ2dlZFRlbXBsYXRlRXhwcmVzc2lvbiIsICJ0YWciLCAicXVhc2kiLCAiVGVtcGxhdGVFbGVtZW50IiwgInRhaWwiLCAiVGVtcGxhdGVMaXRlcmFsIiwgInF1YXNpcyIsICJUaGlzRXhwcmVzc2lvbiIsICJUaHJvd1N0YXRlbWVudCIsICJUcnlTdGF0ZW1lbnQiLCAiYmxvY2siLCAiaGFuZGxlciIsICJmaW5hbGl6ZXIiLCAiVW5hcnlFeHByZXNzaW9uIiwgIlVwZGF0ZUV4cHJlc3Npb24iLCAicHJlZml4IiwgIlZhcmlhYmxlRGVjbGFyYXRpb24iLCAiZGVjbGFyYXRpb25zIiwgIlZhcmlhYmxlRGVjbGFyYXRvciIsICJXaGlsZVN0YXRlbWVudCIsICJXaXRoU3RhdGVtZW50IiwgIllpZWxkRXhwcmVzc2lvbiIsICJhc3NlcnRfMSIsICJlcnJvcl9oYW5kbGVyXzEiLCAibWVzc2FnZXNfMSIsICJzY2FubmVyXzEiLCAiQXJyb3dQYXJhbWV0ZXJQbGFjZUhvbGRlciIsICJQYXJzZXIiLCAibWVzc2FnZUZvcm1hdCIsICJ2YWx1ZXMiLCAiX2kiLCAibXNnIiwgIndob2xlIiwgImlkeCIsICJpbmRleCIsICJsaW5lIiwgImNvbHVtbiIsICJtZXNzYWdlIiwgImxhc3RNYXJrZXJMaW5lU3RhcnQiLCAiY29tbWVudHMiLCAidCIsICJsYXN0TGluZVN0YXJ0IiwgIm1hcmtlciIsICJrZXl3b3JkIiwgIm9wIiwgInBhcnNlRnVuY3Rpb24iLCAicHJldmlvdXNJc0JpbmRpbmdFbGVtZW50IiwgInByZXZpb3VzSXNBc3NpZ25tZW50VGFyZ2V0IiwgInByZXZpb3VzRmlyc3RDb3ZlckluaXRpYWxpemVkTmFtZUVycm9yIiwgImFyZyIsICJwcmV2aW91c1N0cmljdCIsICJwcmV2aW91c0FsbG93U3RyaWN0RGlyZWN0aXZlIiwgImlzR2VuZXJhdG9yIiwgInByZXZpb3VzQWxsb3dZaWVsZCIsICJwcmV2aW91c0F3YWl0IiwgImhhc1Byb3RvIiwgImlzQXN5bmMiLCAibG9va2FoZWFkUHJvcGVydHlLZXkiLCAiY29va2VkIiwgInN0YXJ0VG9rZW4iLCAiYXJyb3ciLCAicGFyYW1ldGVycyIsICJtYXliZUFzeW5jIiwgInByZXZpb3VzQWxsb3dJbiIsICJhc3luY0Fycm93IiwgInByZWNlZGVuY2UiLCAicHJlYyIsICJtYXJrZXJzIiwgInByZWNlZGVuY2VzIiwgImxhc3RNYXJrZXIiLCAibGlzdCIsICJzdGF0ZW1lbnQiLCAia2V5VG9rZW4iLCAib3B0IiwgInByZXZpb3VzSW5JdGVyYXRpb24iLCAiZm9ySW4iLCAiZGVjbCIsICJpbml0U3RhcnRUb2tlbiIsICJpbml0U2VxIiwgImhhc0FyZ3VtZW50IiwgInByZXZpb3VzSW5Td2l0Y2giLCAiZGVmYXVsdEZvdW5kIiwgImNsYXVzZSIsICJwYXJhbU1hcCIsICJwcmV2aW91c0xhYmVsU2V0IiwgInByZXZpb3VzSW5GdW5jdGlvbkJvZHkiLCAiZmlyc3RSZXN0cmljdGVkIiwgIm1hdGNoIiwgImlkZW50aWZpZXJJc09wdGlvbmFsIiwgInByZXZpb3VzQWxsb3dBd2FpdCIsICJmb3JtYWxQYXJhbWV0ZXJzIiwgInN0cmljdGVkIiwgImhhc0NvbnN0cnVjdG9yIiwgInB1bmN0dWF0b3IiLCAiZWxlbWVudExpc3QiLCAiY2xhc3NCb2R5IiwgInNyYyIsICJleHBvcnREZWNsYXJhdGlvbiIsICJpc0V4cG9ydEZyb21JZGVudGlmaWVyIiwgImFzc2VydCIsICJjb25kaXRpb24iLCAiRXJyb3JIYW5kbGVyIiwgImVycm9yIiwgImJhc2UiLCAiY29sIiwgImRlc2NyaXB0aW9uIiwgImhleFZhbHVlIiwgIm9jdGFsVmFsdWUiLCAiU2Nhbm5lciIsICJvZmZzZXQiLCAibG9jIiwgInNlY29uZCIsICJmaXJzdCIsICJsZW4iLCAib2N0YWwiLCAicmVzdG9yZSIsICJudW0iLCAidW5lc2NhcGVkXzEiLCAidW5lc2NhcGVkIiwgIm9jdFRvRGVjIiwgImhlYWQiLCAicmF3T2Zmc2V0IiwgInVuZXNjYXBlZF8yIiwgImFzdHJhbFN1YnN0aXR1dGUiLCAidG1wIiwgInNlbGYiLCAiJDAiLCAiJDEiLCAiJDIiLCAiY29kZVBvaW50IiwgImNsYXNzTWFya2VyIiwgImNoYXIiLCAiUmVhZGVyIiwgInByZXZpb3VzIiwgInJlZ2V4IiwgImNoZWNrIiwgIlRva2VuaXplciIsICJjb25maWciLCAic3RhcnRSZWdleCIsICJyZXF1aXJlX2VzcHJpbWEiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgInV0aWxfMSIsICJwYXJzZSIsICJzb3VyY2UiLCAib3B0aW9ucyIsICJjb21tZW50cyIsICJhc3QiLCAicmVxdWlyZV9vcHRpb25zIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJ1dGlsXzEiLCAiZGVmYXVsdHMiLCAiaGFzT3duIiwgIm5vcm1hbGl6ZSIsICJvcHRzIiwgIm9wdGlvbnMiLCAiZ2V0IiwgImtleSIsICJyZXF1aXJlX21hcHBpbmciLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgInRzbGliXzEiLCAidGlueV9pbnZhcmlhbnRfMSIsICJ1dGlsXzEiLCAiTWFwcGluZyIsICJzb3VyY2VMaW5lcyIsICJzb3VyY2VMb2MiLCAidGFyZ2V0TG9jIiwgImxpbmVzIiwgInN0YXJ0IiwgImVuZCIsICJza2lwIiwgIm5hbWUiLCAic291cmNlRnJvbVBvcyIsICJ0YXJnZXRGcm9tUG9zIiwgInRhcmdldFRvUG9zIiwgInNraXBDaGFycyIsICJzdWJ0cmFjdFBvcyIsICJsaW5lIiwgImNvbHVtbiIsICJhZGRQb3MiLCAiYnkiLCAic2tpcEZpcnN0TGluZSIsICJub05lZ2F0aXZlQ29sdW1ucyIsICJzdGFydExpbmUiLCAiZW5kTGluZSIsICJzdGFydENvbHVtbiIsICJlbmRDb2x1bW4iLCAidG9Qb3MiLCAiZnJvbVBvcyIsICJ0YXJnZXRMaW5lcyIsICJ0YXJnZXRDb21wYXJpc29uIiwgInNvdXJjZUN1cnNvciIsICJ0YXJnZXRDdXJzb3IiLCAibGluZURpZmYiLCAicmVxdWlyZV9saW5lcyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAidHNsaWJfMSIsICJ0aW55X2ludmFyaWFudF8xIiwgInNvdXJjZV9tYXBfMSIsICJvcHRpb25zXzEiLCAidXRpbF8xIiwgIm1hcHBpbmdfMSIsICJMaW5lcyIsICJpbmZvcyIsICJzb3VyY2VGaWxlTmFtZSIsICJvcHRpb25zIiwgInNvdXJjZU1hcE5hbWUiLCAic291cmNlUm9vdCIsICJ0YXJnZXRMaW5lcyIsICJ1cGRhdGVKU09OIiwgImpzb24iLCAic21nIiwgInNvdXJjZXNUb0NvbnRlbnRzIiwgIm1hcHBpbmciLCAic291cmNlQ3Vyc29yIiwgInRhcmdldEN1cnNvciIsICJzb3VyY2VDaGFyIiwgInRhcmdldENoYXIiLCAic291cmNlTmFtZSIsICJoYXNPd24iLCAic291cmNlQ29udGVudCIsICJwb3MiLCAibGluZSIsICJjb2x1bW4iLCAic3RyaW5ncyIsICJsaW5lVGVybWluYXRvclNlcUV4cCIsICJzdHJpbmciLCAic2VjcmV0IiwgImluZm8iLCAiYyIsICJpbmRlbnQiLCAid2lkdGgiLCAic2tpcEZpcnN0TGluZSIsICJsaW5lcyIsICJpIiwgIm5ld01hcHBpbmdzXzEiLCAiYnkiLCAibmV3TWFwcGluZ3NfMiIsICJuZXdNYXBwaW5nc18zIiwgImNvdW50cyIsICJsYXN0SW5kZW50IiwgImxhc3QiLCAic2xpY2VkIiwgImlzT25seVdoaXRlc3BhY2UiLCAiZGlmZiIsICJtYXhDb3VudCIsICJyZXN1bHQiLCAidGFiV2lkdGgiLCAiZmlyc3RMaW5lSW5mbyIsICJzbGljZVN0YXJ0IiwgInNsaWNlRW5kIiwgImZpcnN0TGluZSIsICJzdGFydCIsICJlbmQiLCAicHJlZml4IiwgInNraXBTcGFjZXMiLCAibCIsICJiYWNrd2FyZCIsICJtb2RpZnlJblBsYWNlIiwgImVtcHR5TGluZXMiLCAiY2FsbGJhY2siLCAic3RhcnRQb3MiLCAiZnJvbVN0cmluZyIsICJzbGljZUluZm8iLCAibmV3TWFwcGluZ3NfNCIsICJfYSIsICJ1c2VUYWJzIiwgInJldXNlV2hpdGVzcGFjZSIsICJsaW5lVGVybWluYXRvciIsICJwYXJ0cyIsICJiZWZvcmVfMSIsICJjb3VudFNwYWNlcyIsICJ0YWJzIiwgInNwYWNlcyIsICJlbGVtZW50cyIsICJzZXBhcmF0b3IiLCAibWFwcGluZ3MiLCAicHJldkluZm8iLCAiYXBwZW5kTGluZXMiLCAibGluZXNPck51bGwiLCAicHJldkxpbmVfMSIsICJwcmV2Q29sdW1uXzEiLCAiYXBwZW5kV2l0aFNlcGFyYXRvciIsICJlbGVtIiwgImFyZ3MiLCAiX2kiLCAibGlzdCIsICJmcm9tU3RyaW5nQ2FjaGUiLCAibWF4Q2FjaGVLZXlMZW4iLCAiY291bnQiLCAibGVuIiwgIm5leHQiLCAibGVhZGluZ1NwYWNlRXhwIiwgInRhYmxlc3MiLCAiY2FjaGVhYmxlIiwgInN0YXJ0Q29sIiwgImVuZENvbCIsICJsaW5lTGVuZ3RoIiwgImNvbmNhdCIsICJyZXF1aXJlX2NvbW1lbnRzIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJ0c2xpYl8xIiwgInRpbnlfaW52YXJpYW50XzEiLCAidHlwZXMiLCAibiIsICJpc0FycmF5IiwgImlzT2JqZWN0IiwgImxpbmVzXzEiLCAidXRpbF8xIiwgImNoaWxkTm9kZXNDYWNoZSIsICJnZXRTb3J0ZWRDaGlsZE5vZGVzIiwgIm5vZGUiLCAibGluZXMiLCAicmVzdWx0QXJyYXkiLCAiaSIsICJjaGlsZCIsICJjaGlsZE5vZGVzIiwgIm5hbWVzIiwgIm5hbWVDb3VudCIsICJkZWNvcmF0ZUNvbW1lbnQiLCAiY29tbWVudCIsICJsZWZ0IiwgInJpZ2h0IiwgInByZWNlZGluZ05vZGUiLCAiZm9sbG93aW5nTm9kZSIsICJtaWRkbGUiLCAiYXR0YWNoIiwgImNvbW1lbnRzIiwgImFzdCIsICJ0aWVzVG9CcmVhayIsICJwbiIsICJlbiIsICJmbiIsICJ0aWVDb3VudCIsICJsYXN0VGllIiwgImJyZWFrVGllcyIsICJhZGRUcmFpbGluZ0NvbW1lbnQiLCAiYWRkTGVhZGluZ0NvbW1lbnQiLCAiYWRkRGFuZ2xpbmdDb21tZW50IiwgImdhcEVuZFBvcyIsICJpbmRleE9mRmlyc3RMZWFkaW5nQ29tbWVudCIsICJnYXAiLCAiZW5jbG9zaW5nTm9kZSIsICJhZGRDb21tZW50SGVscGVyIiwgInByaW50TGVhZGluZ0NvbW1lbnQiLCAiY29tbWVudFBhdGgiLCAicHJpbnQiLCAibG9jIiwgInBhcnRzIiwgInRyYWlsaW5nU3BhY2UiLCAicHJpbnRUcmFpbGluZ0NvbW1lbnQiLCAiZnJvbVBvcyIsICJsZWFkaW5nU3BhY2UiLCAicHJpbnRDb21tZW50cyIsICJwYXRoIiwgInZhbHVlIiwgImlubmVyTGluZXMiLCAibGVhZGluZ1BhcnRzIiwgInRyYWlsaW5nUGFydHMiLCAibGVhZGluZyIsICJ0cmFpbGluZyIsICJyZXF1aXJlX3BhcnNlciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAidHNsaWJfMSIsICJ0aW55X2ludmFyaWFudF8xIiwgInR5cGVzIiwgImIiLCAiaXNPYmplY3QiLCAiaXNBcnJheSIsICJvcHRpb25zXzEiLCAibGluZXNfMSIsICJjb21tZW50c18xIiwgInV0aWwiLCAicGFyc2UiLCAic291cmNlIiwgIm9wdGlvbnMiLCAibGluZXMiLCAic291cmNlV2l0aG91dFRhYnMiLCAiY29tbWVudHMiLCAiYXN0IiwgInRva2VucyIsICJ0b2tlbiIsICJmaWxlIiwgInByb2dyYW0iLCAidHJ1ZVByb2dyYW1Mb2MiLCAiVHJlZUNvcGllciIsICJUQ3AiLCAibm9kZSIsICJjb3B5XzEiLCAiaXRlbSIsICJpIiwgImNvcHkiLCAibG9jIiwgIm9sZEluZGVudCIsICJuZXdJbmRlbnQiLCAib2xkU3RhcnRUb2tlbkluZGV4IiwgIm9sZEVuZFRva2VuSW5kZXgiLCAia2V5cyIsICJrZXlDb3VudCIsICJrZXkiLCAicmVxdWlyZV9mYXN0X3BhdGgiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgInRzbGliXzEiLCAidGlueV9pbnZhcmlhbnRfMSIsICJ0eXBlcyIsICJ1dGlsIiwgIm4iLCAiaXNBcnJheSIsICJpc051bWJlciIsICJQUkVDRURFTkNFIiwgInRpZXIiLCAiaSIsICJvcCIsICJGYXN0UGF0aCIsICJ2YWx1ZSIsICJGUHAiLCAib2JqIiwgImNvcHkiLCAic3RhY2siLCAicHAiLCAicyIsICJsZW4iLCAidmFsdWVJbmRleCIsICJnZXROb2RlSGVscGVyIiwgInBhdGgiLCAiY291bnQiLCAiY2FsbGJhY2siLCAib3JpZ0xlbiIsICJhcmdjIiwgIm5hbWUiLCAicmVzdWx0IiwgIm5vZGUiLCAicHJldlRva2VuIiwgIm5leHRUb2tlbiIsICJqdXN0TmVlZHNPcGVuaW5nUGFyZW4iLCAibG9jIiwgInRva2VucyIsICJ0b2tlbiIsICJyb290TG9jIiwgImFzc3VtZUV4cHJlc3Npb25Db250ZXh0IiwgInBhcmVudCIsICJwbyIsICJubyIsICJucCIsICJpc0JpbmFyeSIsICJjb250YWluc0NhbGxFeHByZXNzaW9uIiwgIl9uYW1lIiwgImNoaWxkIiwgInBhcmVudE5hbWUiLCAiY2hpbGROYW1lIiwgInJlcXVpcmVfcGF0Y2hlciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAidHNsaWJfMSIsICJ0aW55X2ludmFyaWFudF8xIiwgImxpbmVzTW9kdWxlIiwgInR5cGVzIiwgIlByaW50YWJsZSIsICJFeHByZXNzaW9uIiwgIlJldHVyblN0YXRlbWVudCIsICJTb3VyY2VMb2NhdGlvbiIsICJ1dGlsXzEiLCAiZmFzdF9wYXRoXzEiLCAiaXNPYmplY3QiLCAiaXNBcnJheSIsICJpc1N0cmluZyIsICJyaXNreUFkam9pbmluZ0NoYXJFeHAiLCAiUGF0Y2hlciIsICJsaW5lcyIsICJzZWxmIiwgInJlcGxhY2VtZW50cyIsICJsb2MiLCAic2xpY2VGcm9tIiwgInRvQ29uY2F0IiwgInB1c2hTbGljZSIsICJmcm9tIiwgInRvIiwgImEiLCAiYiIsICJyZXAiLCAiUHAiLCAibmV3Tm9kZSIsICJvbGROb2RlIiwgInByaW50IiwgInBhdGNoZXIiLCAibmV3UGF0aCIsICJvbGRQYXRoIiwgImdldFN1cnJvdW5kaW5nQ29tbWVudHMiLCAicmVwcmludHMiLCAiYWJsZVRvUmVwcmludENvbW1lbnRzIiwgImZpbmRBcnJheVJlcHJpbnRzIiwgInJlcHJpbnQiLCAib2xkQ29tbWVudCIsICJub2RlIiwgInJlc3VsdCIsICJjb21tZW50IiwgImdldFJlcHJpbnRlciIsICJwYXRoIiwgIm9yaWciLCAib3JpZ0xvYyIsICJmaW5kUmVwcmludHMiLCAibmVlZFRvUHJpbnROZXdQYXRoV2l0aENvbW1lbnRzIiwgIm5ld0xpbmVzIiwgIm5scyIsICJuZWVkc0xlYWRpbmdTcGFjZSIsICJudHMiLCAibmVlZHNUcmFpbGluZ1NwYWNlIiwgIm5ld1BhcnRzIiwgInBhdGNoZWRMaW5lcyIsICJvbGRMaW5lcyIsICJvbGRMb2MiLCAicG9zQmVmb3JlT2xkTG9jIiwgImNoYXJCZWZvcmVPbGRMb2MiLCAibmV3Rmlyc3RDaGFyIiwgImNoYXJBZnRlck9sZExvYyIsICJuZXdMYXN0UG9zIiwgIm5ld0xhc3RDaGFyIiwgImNhblJlcHJpbnQiLCAiZmluZENoaWxkUmVwcmludHMiLCAiZmluZEFueVJlcHJpbnRzIiwgImZpbmRPYmplY3RSZXByaW50cyIsICJsZW4iLCAiaSIsICJuZXdQYXJlbnROb2RlIiwgIm9sZFBhcmVudE5vZGUiLCAib2xkTmVlZHNQYXJlbnMiLCAibmV3TmVlZFBhcmVucyIsICJjaGlsZFJlcHJpbnRzIiwgImtleXMiLCAib3JpZ2luYWxSZXByaW50Q291bnQiLCAiayIsICJyZXF1aXJlX3ByaW50ZXIiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgInRzbGliXzEiLCAidGlueV9pbnZhcmlhbnRfMSIsICJ0eXBlcyIsICJjb21tZW50c18xIiwgImZhc3RfcGF0aF8xIiwgImxpbmVzXzEiLCAib3B0aW9uc18xIiwgInBhdGNoZXJfMSIsICJ1dGlsIiwgIm5hbWVkVHlwZXMiLCAiaXNTdHJpbmciLCAiaXNPYmplY3QiLCAiUHJpbnRSZXN1bHQiLCAiY29kZSIsICJzb3VyY2VNYXAiLCAiUFJwIiwgIndhcm5lZEFib3V0VG9TdHJpbmciLCAiZW1wdHlQcmludFJlc3VsdCIsICJQcmludGVyIiwgImNvbmZpZyIsICJleHBsaWNpdFRhYldpZHRoIiwgIm1ha2VQcmludEZ1bmN0aW9uV2l0aCIsICJvcHRpb25zIiwgIm92ZXJyaWRlcyIsICJwYXRoIiwgInByaW50IiwgIm9sZFRhYldpZHRoIiwgImxvYyIsICJyZXByaW50ZXIiLCAibGluZXMiLCAiZ2VuZXJpY1ByaW50IiwgImFzdCIsICJwcmludEdlbmVyaWNhbGx5IiwgIm9sZFJldXNlV2hpdGVzcGFjZSIsICJwciIsICJwcmludFBhdGgiLCAibm9kZSIsICJwYXJ0cyIsICJsaW5lc1dpdGhvdXRQYXJlbnMiLCAiZ2VuZXJpY1ByaW50Tm9QYXJlbnMiLCAic2hvdWxkQWRkUGFyZW5zIiwgImRlY29yYXRvcnNMaW5lcyIsICJwcmludERlY29yYXRvcnMiLCAiY2hpbGRQYXRoIiwgImJvZHlQYXRoIiwgInByaW50U3RhdGVtZW50U2VxdWVuY2UiLCAicHJvcGVydHkiLCAib3B0aW9uYWwiLCAicHJpbnRGdW5jdGlvblBhcmFtcyIsICJwcmludE1ldGhvZCIsICJwcmludEV4cG9ydERlY2xhcmF0aW9uIiwgIm1heWJlQWRkU2VtaWNvbG9uIiwgInVuYnJhY2VkU3BlY2lmaWVyc18xIiwgImJyYWNlZFNwZWNpZmllcnNfMSIsICJzcGVjaWZpZXJQYXRoIiwgInNwZWMiLCAiaSIsICJtYXliZVByaW50SW1wb3J0QXNzZXJ0aW9ucyIsICJuYWtlZF8xIiwgImFyZ0xpbmVzIiwgInByaW50QXJndW1lbnRzTGlzdCIsICJpc1R5cGVBbm5vdGF0aW9uXzEiLCAic2VwYXJhdG9yXzEiLCAiZmllbGRzIiwgImFsbG93QnJlYWtfMSIsICJsZW5fMSIsICJmaWVsZCIsICJvbmVMaW5lXzEiLCAibGVmdEJyYWNlIiwgInJpZ2h0QnJhY2UiLCAibGVmdEJyYWNlSW5kZXgiLCAiaV8xIiwgIm11bHRpTGluZSIsICJsaW5lIiwgImtleSIsICJlbGVtcyIsICJsZW5fMiIsICJwcmludGVkXzEiLCAiam9pbmVkIiwgIm9uZUxpbmVfMiIsICJlbGVtUGF0aCIsICJlbGVtIiwgImdldFBvc3NpYmxlUmF3IiwgIm5vZGVTdHIiLCAiYXJncyIsICJtYXhMZW5fMSIsICJwcmludGVkIiwgInBhcmVudE5vZGUiLCAiY29uIiwgImFkanVzdENsYXVzZSIsICJlbmRzV2l0aEJyYWNlIiwgImluaXQiLCAic2VwIiwgImZvclBhcmVuIiwgImluZGVudGVkIiwgImhlYWQiLCAiY2xhdXNlIiwgImRvQm9keSIsICJzdGF0ZW1lbnRzIiwgImhhbmRsZXJQYXRoIiwgImNvbnNlcXVlbnRQYXRoIiwgIm9wZW5pbmdQcm9wTmFtZSIsICJjbG9zaW5nUHJvcE5hbWUiLCAib3BlbmluZ0xpbmVzIiwgImNoaWxkTGluZXMiLCAiY2hpbGQiLCAiY2xvc2luZ0xpbmVzIiwgInR5cGVEZWZQYXJ0IiwgImF0dHJQYXJ0c18xIiwgImF0dHJQYXRoIiwgImF0dHJMaW5lcyIsICJuZWVkTGluZVdyYXAiLCAicGFydCIsICJhY2Nlc3MiLCAicHJpbnRWYXJpYW5jZSIsICJwcmludENsYXNzTWVtYmVyTW9kaWZpZXJzIiwgInByaW50Rmxvd0RlY2xhcmF0aW9uIiwgImV4cHJlc3Npb25zXzEiLCAicHJpbnRlZF8yIiwgIm9uZUxpbmVfMyIsICJwYXJlbnQiLCAiaXNBcnJvd0Z1bmN0aW9uVHlwZUFubm90YXRpb24iLCAibmVlZHNDb2xvbiIsICJoYXNUeXBlUGFyYW1ldGVycyIsICJuZWVkc1BhcmVucyIsICJuYW1lIiwgIm1lbWJlcnMiLCAibWVtYmVyIiwgImxhc3ROb25TcGFjZUNoYXJhY3RlciIsICJleHByZXNzaW9uIiwgImlzSW5NYXBwZWRUeXBlIiwgIm1lbWJlckxpbmVzIiwgImVsZW1lbnQiLCAiaXNFeHRlcm5hbCIsICJwcmVmaXgiLCAibmFrZWQiLCAiZGVjb3JhdG9yUGF0aCIsICJmaWx0ZXJlZCIsICJzYXdDb21tZW50IiwgInNhd1N0YXRlbWVudCIsICJzdG10UGF0aCIsICJzdG10IiwgInByZXZUcmFpbGluZ1NwYWNlIiwgImxlbiIsICJpbmZvIiwgIm5vdEZpcnN0IiwgIm5vdExhc3QiLCAibGVhZGluZ1NwYWNlIiwgInRyYWlsaW5nU3BhY2UiLCAidHJ1ZUxvYyIsICJiZWZvcmVTdGFydCIsICJiZWZvcmVTdGFydExpbmUiLCAibGVhZGluZ0dhcCIsICJhZnRlckVuZCIsICJhZnRlckVuZExpbmUiLCAidHJhaWxpbmdHYXAiLCAibWF4U3BhY2UiLCAiczEiLCAiczIiLCAic3BhY2VMaW5lczEiLCAic3BhY2VMaW5lczIiLCAia2luZCIsICJub2RlVmFsdWUiLCAidmFsdWVQYXRoIiwgInRyYWlsaW5nQ29tbWEiLCAiZnVuIiwgInBhcmFtcyIsICJkZWZFeHByUGF0aCIsICJwIiwgImZsYXQiLCAiZGVjbCIsICJzaG91bGRQcmludFNwYWNlcyIsICJ1bmJyYWNlZFNwZWNpZmllcnNfMiIsICJicmFjZWRTcGVjaWZpZXJzXzIiLCAibGluZXNfMiIsICJwYXJlbnRFeHBvcnREZWNsIiwgInZhcmlhbmNlUGF0aCIsICJ2YWx1ZSIsICJwb3MiLCAiY2giLCAic3dhcFF1b3RlcyIsICJzdHIiLCAibSIsICJleHRyYSIsICJyYXciLCAianNTYWZlU3RyaW5naWZ5IiwgImRvdWJsZSIsICJzaW5nbGUiLCAiZW9jIiwgInJlcXVpcmVfbWFpbiIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAidHNsaWJfMSIsICJmc18xIiwgInR5cGVzIiwgInBhcnNlcl8xIiwgInByaW50ZXJfMSIsICJhc3RfdHlwZXNfMSIsICJwcmludCIsICJub2RlIiwgIm9wdGlvbnMiLCAicHJldHR5UHJpbnQiLCAicnVuIiwgInRyYW5zZm9ybWVyIiwgInJ1bkZpbGUiLCAicGF0aCIsICJlcnIiLCAiY29kZSIsICJydW5TdHJpbmciLCAiZGVmYXVsdFdyaXRlYmFjayIsICJvdXRwdXQiLCAid3JpdGViYWNrIiwgInJlcXVpcmVfdW5pb24iLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJhcnJheXMiLCAicmVzdWx0IiwgImkiLCAiaiIsICJhcnJheSIsICJyZXF1aXJlX0NvbGxlY3Rpb24iLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgImFzc2VydCIsICJpbnRlcnNlY3Rpb24iLCAicmVjYXN0IiwgInVuaW9uIiwgImFzdFR5cGVzIiwgInR5cGVzIiwgIk5vZGVQYXRoIiwgIk5vZGUiLCAiQ29sbGVjdGlvbiIsICJwYXRocyIsICJwYXJlbnQiLCAicCIsICJfdG9UeXBlQXJyYXkiLCAiX2luZmVyVHlwZXMiLCAiX2RlZmF1bHRUeXBlIiwgImNhbGxiYWNrIiwgInBhdGgiLCAiaSIsICJ0eXBlIiwgInJlc3VsdCIsICJmcm9tUGF0aHMiLCAib3B0aW9ucyIsICJpbmRleCIsICJfdHlwZXMiLCAibm9kZVR5cGUiLCAidmFsdWUiLCAidiIsICJfZ2V0U3VwZXJ0eXBlTmFtZXMiLCAiZXJyb3IiLCAiZnJvbU5vZGVzIiwgIm5vZGVzIiwgIkNQdCIsICJyZWdpc3Rlck1ldGhvZHMiLCAibWV0aG9kcyIsICJtZXRob2ROYW1lIiwgImhhc0NvbmZsaWN0aW5nUmVnaXN0cmF0aW9uIiwgIm1zZyIsICJjb25mbGljdGluZ1JlZ2lzdHJhdGlvbnMiLCAiaW5zdGFsbFR5cGVkTWV0aG9kIiwgInJlZ2lzdHJhdGlvbnMiLCAibmFtZSIsICJ0eXBlZE1ldGhvZCIsICJjdXJyZW50VHlwZSIsICJzZXREZWZhdWx0Q29sbGVjdGlvblR5cGUiLCAicmVxdWlyZV9tYXRjaE5vZGUiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJoYXNPd24iLCAibWF0Y2hOb2RlIiwgImhheXN0YWNrIiwgIm5lZWRsZSIsICJpc05vZGUiLCAicHJvcGVydHkiLCAidmFsdWUiLCAicmVxdWlyZV9vbmNlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZnVuYyIsICJjYWxsZWQiLCAicmVzdWx0IiwgImFyZ3MiLCAicmVxdWlyZV9Ob2RlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJDb2xsZWN0aW9uIiwgIm1hdGNoTm9kZSIsICJvbmNlIiwgInJlY2FzdCIsICJOb2RlIiwgInR5cGVzIiwgInRyYXZlcnNhbE1ldGhvZHMiLCAidHlwZSIsICJmaWx0ZXIiLCAicGF0aHMiLCAidmlzaXRvck1ldGhvZE5hbWUiLCAidmlzaXRvciIsICJ2aXNpdCIsICJwYXRoIiwgInAiLCAiaSIsICJzZWxmIiwgInBhcmVudCIsICJuYW1lR2V0dGVyIiwgInNjb3BlIiwgIm5hbWUiLCAiYmluZGluZ3MiLCAiZGVjbCIsICJ0b0FycmF5IiwgInZhbHVlIiwgIm11dGF0aW9uTWV0aG9kcyIsICJub2RlcyIsICJuZXdOb2RlcyIsICJpbnNlcnQiLCAicmVnaXN0ZXIiLCAicmVxdWlyZV9WYXJpYWJsZURlY2xhcmF0b3IiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIkNvbGxlY3Rpb24iLCAiTm9kZUNvbGxlY3Rpb24iLCAib25jZSIsICJyZWNhc3QiLCAiYXN0Tm9kZXNBcmVFcXVpdmFsZW50IiwgImIiLCAidHlwZXMiLCAiVmFyaWFibGVEZWNsYXJhdG9yIiwgImdsb2JhbE1ldGhvZHMiLCAibmFtZSIsICJmaWx0ZXIiLCAiZmlsdGVyTWV0aG9kcyIsICJuYW1lcyIsICJyZXF1aXJlSWRlbnRpZmllciIsICJwYXRoIiwgIm5vZGUiLCAibiIsICJ0cmFuc2Zvcm1NZXRob2RzIiwgIm5ld05hbWUiLCAib2xkTmFtZSIsICJyb290U2NvcGUiLCAicm9vdFBhdGgiLCAicGFyZW50IiwgInNjb3BlIiwgInJlZ2lzdGVyIiwgInJlcXVpcmVfSlNYRWxlbWVudCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiQ29sbGVjdGlvbiIsICJOb2RlQ29sbGVjdGlvbiIsICJhc3NlcnQiLCAib25jZSIsICJyZWNhc3QiLCAicmVxdWlyZXNNb2R1bGUiLCAidHlwZXMiLCAiSlNYRWxlbWVudCIsICJKU1hBdHRyaWJ1dGUiLCAiTGl0ZXJhbCIsICJnbG9iYWxNZXRob2RzIiwgIm5hbWUiLCAibmFtZUZpbHRlciIsICJtb2R1bGVOYW1lIiwgInBhdGgiLCAiaWQiLCAiZmlsdGVyTWV0aG9kcyIsICJhdHRyaWJ1dGVGaWx0ZXIiLCAiYXR0cmlidXRlTmFtZXMiLCAiZWxlbWVudEF0dHJpYnV0ZXMiLCAiYXR0ciIsICJ2YWx1ZSIsICJleHBlY3RlZCIsICJhY3R1YWwiLCAiY2hpbGQiLCAidHJhdmVyc2FsTWV0aG9kcyIsICJwYXRocyIsICJjaGlsZHJlbiIsICJsIiwgImpzeENoaWxkRWxlbWVudFR5cGUiLCAiaSIsICJtYXBwaW5nTWV0aG9kcyIsICJyZWdpc3RlciIsICJyZXF1aXJlX2NvbGxlY3Rpb25zIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiUG9zaXRpb24iLCAiY29uc3RydWN0b3IiLCAibGluZSIsICJjb2wiLCAiaW5kZXgiLCAiY29sdW1uIiwgIlNvdXJjZUxvY2F0aW9uIiwgInN0YXJ0IiwgImVuZCIsICJmaWxlbmFtZSIsICJpZGVudGlmaWVyTmFtZSIsICJjcmVhdGVQb3NpdGlvbldpdGhDb2x1bW5PZmZzZXQiLCAicG9zaXRpb24iLCAiY29sdW1uT2Zmc2V0IiwgImNvZGUiLCAiTW9kdWxlRXJyb3JzIiwgIkltcG9ydE1ldGFPdXRzaWRlTW9kdWxlIiwgIm1lc3NhZ2UiLCAiSW1wb3J0T3V0c2lkZU1vZHVsZSIsICJOb2RlRGVzY3JpcHRpb25zIiwgIkFycmF5UGF0dGVybiIsICJBc3NpZ25tZW50RXhwcmVzc2lvbiIsICJBc3NpZ25tZW50UGF0dGVybiIsICJBcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiIsICJDb25kaXRpb25hbEV4cHJlc3Npb24iLCAiQ2F0Y2hDbGF1c2UiLCAiRm9yT2ZTdGF0ZW1lbnQiLCAiRm9ySW5TdGF0ZW1lbnQiLCAiRm9yU3RhdGVtZW50IiwgIkZvcm1hbFBhcmFtZXRlcnMiLCAiSWRlbnRpZmllciIsICJJbXBvcnRTcGVjaWZpZXIiLCAiSW1wb3J0RGVmYXVsdFNwZWNpZmllciIsICJJbXBvcnROYW1lc3BhY2VTcGVjaWZpZXIiLCAiT2JqZWN0UGF0dGVybiIsICJQYXJlbnRoZXNpemVkRXhwcmVzc2lvbiIsICJSZXN0RWxlbWVudCIsICJVcGRhdGVFeHByZXNzaW9uIiwgInRydWUiLCAiZmFsc2UiLCAiVmFyaWFibGVEZWNsYXJhdG9yIiwgIllpZWxkRXhwcmVzc2lvbiIsICJ0b05vZGVEZXNjcmlwdGlvbiIsICJub2RlIiwgInR5cGUiLCAicHJlZml4IiwgIlN0YW5kYXJkRXJyb3JzIiwgIkFjY2Vzc29ySXNHZW5lcmF0b3IiLCAia2luZCIsICJBcmd1bWVudHNJbkNsYXNzIiwgIkFzeW5jRnVuY3Rpb25JblNpbmdsZVN0YXRlbWVudENvbnRleHQiLCAiQXdhaXRCaW5kaW5nSWRlbnRpZmllciIsICJBd2FpdEJpbmRpbmdJZGVudGlmaWVySW5TdGF0aWNCbG9jayIsICJBd2FpdEV4cHJlc3Npb25Gb3JtYWxQYXJhbWV0ZXIiLCAiQXdhaXRVc2luZ05vdEluQXN5bmNDb250ZXh0IiwgIkF3YWl0Tm90SW5Bc3luY0NvbnRleHQiLCAiQXdhaXROb3RJbkFzeW5jRnVuY3Rpb24iLCAiQmFkR2V0dGVyQXJpdHkiLCAiQmFkU2V0dGVyQXJpdHkiLCAiQmFkU2V0dGVyUmVzdFBhcmFtZXRlciIsICJDb25zdHJ1Y3RvckNsYXNzRmllbGQiLCAiQ29uc3RydWN0b3JDbGFzc1ByaXZhdGVGaWVsZCIsICJDb25zdHJ1Y3RvcklzQWNjZXNzb3IiLCAiQ29uc3RydWN0b3JJc0FzeW5jIiwgIkNvbnN0cnVjdG9ySXNHZW5lcmF0b3IiLCAiRGVjbGFyYXRpb25NaXNzaW5nSW5pdGlhbGl6ZXIiLCAiRGVjb3JhdG9yQXJndW1lbnRzT3V0c2lkZVBhcmVudGhlc2VzIiwgIkRlY29yYXRvckJlZm9yZUV4cG9ydCIsICJEZWNvcmF0b3JzQmVmb3JlQWZ0ZXJFeHBvcnQiLCAiRGVjb3JhdG9yQ29uc3RydWN0b3IiLCAiRGVjb3JhdG9yRXhwb3J0Q2xhc3MiLCAiRGVjb3JhdG9yU2VtaWNvbG9uIiwgIkRlY29yYXRvclN0YXRpY0Jsb2NrIiwgIkRlZmVySW1wb3J0UmVxdWlyZXNOYW1lc3BhY2UiLCAiRGVsZXRlUHJpdmF0ZUZpZWxkIiwgIkRlc3RydWN0dXJlTmFtZWRJbXBvcnQiLCAiRHVwbGljYXRlQ29uc3RydWN0b3IiLCAiRHVwbGljYXRlRGVmYXVsdEV4cG9ydCIsICJEdXBsaWNhdGVFeHBvcnQiLCAiZXhwb3J0TmFtZSIsICJEdXBsaWNhdGVQcm90byIsICJEdXBsaWNhdGVSZWdFeHBGbGFncyIsICJEeW5hbWljSW1wb3J0UGhhc2VSZXF1aXJlc0ltcG9ydEV4cHJlc3Npb25zIiwgInBoYXNlIiwgIkVsZW1lbnRBZnRlclJlc3QiLCAiRXNjYXBlZENoYXJOb3RBbklkZW50aWZpZXIiLCAiRXhwb3J0QmluZGluZ0lzU3RyaW5nIiwgImxvY2FsTmFtZSIsICJFeHBvcnREZWZhdWx0RnJvbUFzSWRlbnRpZmllciIsICJGb3JJbk9mTG9vcEluaXRpYWxpemVyIiwgIkZvckluVXNpbmciLCAiRm9yT2ZBc3luYyIsICJGb3JPZkxldCIsICJHZW5lcmF0b3JJblNpbmdsZVN0YXRlbWVudENvbnRleHQiLCAiSWxsZWdhbEJyZWFrQ29udGludWUiLCAiSWxsZWdhbExhbmd1YWdlTW9kZURpcmVjdGl2ZSIsICJJbGxlZ2FsUmV0dXJuIiwgIkltcG9ydEF0dHJpYnV0ZXNVc2VBc3NlcnQiLCAiSW1wb3J0QmluZGluZ0lzU3RyaW5nIiwgImltcG9ydE5hbWUiLCAiSW1wb3J0Q2FsbEFyaXR5IiwgIkltcG9ydENhbGxOb3ROZXdFeHByZXNzaW9uIiwgIkltcG9ydENhbGxTcHJlYWRBcmd1bWVudCIsICJJbXBvcnRKU09OQmluZGluZ05vdERlZmF1bHQiLCAiSW1wb3J0UmVmbGVjdGlvbkhhc0Fzc2VydGlvbiIsICJJbXBvcnRSZWZsZWN0aW9uTm90QmluZGluZyIsICJJbmNvbXBhdGlibGVSZWdFeHBVVkZsYWdzIiwgIkludmFsaWRCaWdJbnRMaXRlcmFsIiwgIkludmFsaWRDb2RlUG9pbnQiLCAiSW52YWxpZENvdmVySW5pdGlhbGl6ZWROYW1lIiwgIkludmFsaWREZWNpbWFsIiwgIkludmFsaWREaWdpdCIsICJyYWRpeCIsICJJbnZhbGlkRXNjYXBlU2VxdWVuY2UiLCAiSW52YWxpZEVzY2FwZVNlcXVlbmNlVGVtcGxhdGUiLCAiSW52YWxpZEVzY2FwZWRSZXNlcnZlZFdvcmQiLCAicmVzZXJ2ZWRXb3JkIiwgIkludmFsaWRJZGVudGlmaWVyIiwgIkludmFsaWRMaHMiLCAiYW5jZXN0b3IiLCAiSW52YWxpZExoc0JpbmRpbmciLCAiSW52YWxpZExoc09wdGlvbmFsQ2hhaW5pbmciLCAiSW52YWxpZE51bWJlciIsICJJbnZhbGlkT3JNaXNzaW5nRXhwb25lbnQiLCAiSW52YWxpZE9yVW5leHBlY3RlZFRva2VuIiwgInVuZXhwZWN0ZWQiLCAiSW52YWxpZFBhcmVudGhlc2l6ZWRBc3NpZ25tZW50IiwgIkludmFsaWRQcml2YXRlRmllbGRSZXNvbHV0aW9uIiwgIkludmFsaWRQcm9wZXJ0eUJpbmRpbmdQYXR0ZXJuIiwgIkludmFsaWRSZWNvcmRQcm9wZXJ0eSIsICJJbnZhbGlkUmVzdEFzc2lnbm1lbnRQYXR0ZXJuIiwgIkxhYmVsUmVkZWNsYXJhdGlvbiIsICJsYWJlbE5hbWUiLCAiTGV0SW5MZXhpY2FsQmluZGluZyIsICJMaW5lVGVybWluYXRvckJlZm9yZUFycm93IiwgIk1hbGZvcm1lZFJlZ0V4cEZsYWdzIiwgIk1pc3NpbmdDbGFzc05hbWUiLCAiTWlzc2luZ0VxSW5Bc3NpZ25tZW50IiwgIk1pc3NpbmdTZW1pY29sb24iLCAiTWlzc2luZ1BsdWdpbiIsICJtaXNzaW5nUGx1Z2luIiwgIm1hcCIsICJuYW1lIiwgIkpTT04iLCAic3RyaW5naWZ5IiwgImpvaW4iLCAiTWlzc2luZ09uZU9mUGx1Z2lucyIsICJNaXNzaW5nVW5pY29kZUVzY2FwZSIsICJNaXhpbmdDb2FsZXNjZVdpdGhMb2dpY2FsIiwgIk1vZHVsZUF0dHJpYnV0ZURpZmZlcmVudEZyb21UeXBlIiwgIk1vZHVsZUF0dHJpYnV0ZUludmFsaWRWYWx1ZSIsICJNb2R1bGVBdHRyaWJ1dGVzV2l0aER1cGxpY2F0ZUtleXMiLCAia2V5IiwgIk1vZHVsZUV4cG9ydE5hbWVIYXNMb25lU3Vycm9nYXRlIiwgInN1cnJvZ2F0ZUNoYXJDb2RlIiwgInRvU3RyaW5nIiwgIk1vZHVsZUV4cG9ydFVuZGVmaW5lZCIsICJNdWx0aXBsZURlZmF1bHRzSW5Td2l0Y2giLCAiTmV3bGluZUFmdGVyVGhyb3ciLCAiTm9DYXRjaE9yRmluYWxseSIsICJOdW1iZXJJZGVudGlmaWVyIiwgIk51bWVyaWNTZXBhcmF0b3JJbkVzY2FwZVNlcXVlbmNlIiwgIk9ic29sZXRlQXdhaXRTdGFyIiwgIk9wdGlvbmFsQ2hhaW5pbmdOb05ldyIsICJPcHRpb25hbENoYWluaW5nTm9UZW1wbGF0ZSIsICJPdmVycmlkZU9uQ29uc3RydWN0b3IiLCAiUGFyYW1EdXBlIiwgIlBhdHRlcm5IYXNBY2Nlc3NvciIsICJQYXR0ZXJuSGFzTWV0aG9kIiwgIlByaXZhdGVJbkV4cGVjdGVkSW4iLCAiUHJpdmF0ZU5hbWVSZWRlY2xhcmF0aW9uIiwgIlJlY29yZEV4cHJlc3Npb25CYXJJbmNvcnJlY3RFbmRTeW50YXhUeXBlIiwgIlJlY29yZEV4cHJlc3Npb25CYXJJbmNvcnJlY3RTdGFydFN5bnRheFR5cGUiLCAiUmVjb3JkRXhwcmVzc2lvbkhhc2hJbmNvcnJlY3RTdGFydFN5bnRheFR5cGUiLCAiUmVjb3JkTm9Qcm90byIsICJSZXN0VHJhaWxpbmdDb21tYSIsICJTbG9wcHlGdW5jdGlvbiIsICJTbG9wcHlGdW5jdGlvbkFubmV4QiIsICJTb3VyY2VQaGFzZUltcG9ydFJlcXVpcmVzRGVmYXVsdCIsICJTdGF0aWNQcm90b3R5cGUiLCAiU3VwZXJOb3RBbGxvd2VkIiwgIlN1cGVyUHJpdmF0ZUZpZWxkIiwgIlRyYWlsaW5nRGVjb3JhdG9yIiwgIlR1cGxlRXhwcmVzc2lvbkJhckluY29ycmVjdEVuZFN5bnRheFR5cGUiLCAiVHVwbGVFeHByZXNzaW9uQmFySW5jb3JyZWN0U3RhcnRTeW50YXhUeXBlIiwgIlR1cGxlRXhwcmVzc2lvbkhhc2hJbmNvcnJlY3RTdGFydFN5bnRheFR5cGUiLCAiVW5leHBlY3RlZEFyZ3VtZW50UGxhY2Vob2xkZXIiLCAiVW5leHBlY3RlZEF3YWl0QWZ0ZXJQaXBlbGluZUJvZHkiLCAiVW5leHBlY3RlZERpZ2l0QWZ0ZXJIYXNoIiwgIlVuZXhwZWN0ZWRJbXBvcnRFeHBvcnQiLCAiVW5leHBlY3RlZEtleXdvcmQiLCAia2V5d29yZCIsICJVbmV4cGVjdGVkTGVhZGluZ0RlY29yYXRvciIsICJVbmV4cGVjdGVkTGV4aWNhbERlY2xhcmF0aW9uIiwgIlVuZXhwZWN0ZWROZXdUYXJnZXQiLCAiVW5leHBlY3RlZE51bWVyaWNTZXBhcmF0b3IiLCAiVW5leHBlY3RlZFByaXZhdGVGaWVsZCIsICJVbmV4cGVjdGVkUmVzZXJ2ZWRXb3JkIiwgIlVuZXhwZWN0ZWRTdXBlciIsICJVbmV4cGVjdGVkVG9rZW4iLCAiZXhwZWN0ZWQiLCAiVW5leHBlY3RlZFRva2VuVW5hcnlFeHBvbmVudGlhdGlvbiIsICJVbmV4cGVjdGVkVXNpbmdEZWNsYXJhdGlvbiIsICJVbnN1cHBvcnRlZEJpbmQiLCAiVW5zdXBwb3J0ZWREZWNvcmF0b3JFeHBvcnQiLCAiVW5zdXBwb3J0ZWREZWZhdWx0RXhwb3J0IiwgIlVuc3VwcG9ydGVkSW1wb3J0IiwgIlVuc3VwcG9ydGVkTWV0YVByb3BlcnR5IiwgInRhcmdldCIsICJvbmx5VmFsaWRQcm9wZXJ0eU5hbWUiLCAiVW5zdXBwb3J0ZWRQYXJhbWV0ZXJEZWNvcmF0b3IiLCAiVW5zdXBwb3J0ZWRQcm9wZXJ0eURlY29yYXRvciIsICJVbnN1cHBvcnRlZFN1cGVyIiwgIlVudGVybWluYXRlZENvbW1lbnQiLCAiVW50ZXJtaW5hdGVkUmVnRXhwIiwgIlVudGVybWluYXRlZFN0cmluZyIsICJVbnRlcm1pbmF0ZWRUZW1wbGF0ZSIsICJVc2luZ0RlY2xhcmF0aW9uRXhwb3J0IiwgIlVzaW5nRGVjbGFyYXRpb25IYXNCaW5kaW5nUGF0dGVybiIsICJWYXJSZWRlY2xhcmF0aW9uIiwgIllpZWxkQmluZGluZ0lkZW50aWZpZXIiLCAiWWllbGRJblBhcmFtZXRlciIsICJaZXJvRGlnaXROdW1lcmljU2VwYXJhdG9yIiwgIlN0cmljdE1vZGVFcnJvcnMiLCAiU3RyaWN0RGVsZXRlIiwgIlN0cmljdEV2YWxBcmd1bWVudHMiLCAicmVmZXJlbmNlTmFtZSIsICJTdHJpY3RFdmFsQXJndW1lbnRzQmluZGluZyIsICJiaW5kaW5nTmFtZSIsICJTdHJpY3RGdW5jdGlvbiIsICJTdHJpY3ROdW1lcmljRXNjYXBlIiwgIlN0cmljdE9jdGFsTGl0ZXJhbCIsICJTdHJpY3RXaXRoIiwgIlVucGFyZW50aGVzaXplZFBpcGVCb2R5RGVzY3JpcHRpb25zIiwgIlNldCIsICJQaXBlbGluZU9wZXJhdG9yRXJyb3JzIiwgIlBpcGVCb2R5SXNUaWdodGVyIiwgIlBpcGVUb3BpY1JlcXVpcmVzSGFja1BpcGVzIiwgIlBpcGVUb3BpY1VuYm91bmQiLCAiUGlwZVRvcGljVW5jb25maWd1cmVkVG9rZW4iLCAidG9rZW4iLCAiUGlwZVRvcGljVW51c2VkIiwgIlBpcGVVbnBhcmVudGhlc2l6ZWRCb2R5IiwgIlBpcGVsaW5lQm9keU5vQXJyb3ciLCAiUGlwZWxpbmVCb2R5U2VxdWVuY2VFeHByZXNzaW9uIiwgIlBpcGVsaW5lSGVhZFNlcXVlbmNlRXhwcmVzc2lvbiIsICJQaXBlbGluZVRvcGljVW51c2VkIiwgIlByaW1hcnlUb3BpY05vdEFsbG93ZWQiLCAiUHJpbWFyeVRvcGljUmVxdWlyZXNTbWFydFBpcGVsaW5lIiwgImRlZmluZUhpZGRlbiIsICJvYmoiLCAidmFsdWUiLCAiT2JqZWN0IiwgImRlZmluZVByb3BlcnR5IiwgImVudW1lcmFibGUiLCAiY29uZmlndXJhYmxlIiwgInRvUGFyc2VFcnJvckNvbnN0cnVjdG9yIiwgInRvTWVzc2FnZSIsICJyZWFzb25Db2RlIiwgInN5bnRheFBsdWdpbiIsICJoYXNNaXNzaW5nUGx1Z2luIiwgIm9sZFJlYXNvbkNvZGVzIiwgIkFjY2Vzc29yQ2Fubm90RGVjbGFyZVRoaXNQYXJhbWV0ZXIiLCAiQWNjZXNzb3JDYW5ub3RIYXZlVHlwZVBhcmFtZXRlcnMiLCAiQ29uc3RJbml0aWFsaXplck11c3RCZVN0cmluZ09yTnVtZXJpY0xpdGVyYWxPckxpdGVyYWxFbnVtUmVmZXJlbmNlIiwgIlNldEFjY2Vzc29yQ2Fubm90SGF2ZU9wdGlvbmFsUGFyYW1ldGVyIiwgIlNldEFjY2Vzc29yQ2Fubm90SGF2ZVJlc3RQYXJhbWV0ZXIiLCAiU2V0QWNjZXNzb3JDYW5ub3RIYXZlUmV0dXJuVHlwZSIsICJsb2MiLCAiZGV0YWlscyIsICJlcnJvciIsICJTeW50YXhFcnJvciIsICJwb3MiLCAib3ZlcnJpZGVzIiwgIl9vdmVycmlkZXMkbG9jIiwgImFzc2lnbiIsICJnZXQiLCAic2V0IiwgIndyaXRhYmxlIiwgIlBhcnNlRXJyb3JFbnVtIiwgImFyZ3VtZW50IiwgIkFycmF5IiwgImlzQXJyYXkiLCAicGFyc2VFcnJvclRlbXBsYXRlcyIsICJQYXJzZUVycm9yQ29uc3RydWN0b3JzIiwgImtleXMiLCAidGVtcGxhdGUiLCAiX3JlZiIsICJyZXN0IiwgIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwgIl9leGNsdWRlZCIsICJFcnJvcnMiLCAidG9VbmVudW1lcmFibGUiLCAib2JqZWN0IiwgInRvRVNUcmVlTG9jYXRpb24iLCAiZXN0cmVlIiwgInN1cGVyQ2xhc3MiLCAicGFyc2UiLCAiZmlsZSIsICJvcHRpb25zIiwgInRva2VucyIsICJwYXJzZVJlZ0V4cExpdGVyYWwiLCAicGF0dGVybiIsICJmbGFncyIsICJyZWdleCIsICJSZWdFeHAiLCAiZXN0cmVlUGFyc2VMaXRlcmFsIiwgInBhcnNlQmlnSW50TGl0ZXJhbCIsICJiaWdJbnQiLCAiQmlnSW50IiwgImJpZ2ludCIsICJTdHJpbmciLCAicGFyc2VEZWNpbWFsTGl0ZXJhbCIsICJkZWNpbWFsIiwgInBhcnNlTGl0ZXJhbCIsICJwYXJzZVN0cmluZ0xpdGVyYWwiLCAicGFyc2VOdW1lcmljTGl0ZXJhbCIsICJwYXJzZU51bGxMaXRlcmFsIiwgInBhcnNlQm9vbGVhbkxpdGVyYWwiLCAiZGlyZWN0aXZlVG9TdG10IiwgImRpcmVjdGl2ZSIsICJleHByZXNzaW9uIiwgInJhdyIsICJleHRyYSIsICJleHByZXNzaW9uVmFsdWUiLCAic3RtdCIsICJyYXdWYWx1ZSIsICJpbml0RnVuY3Rpb24iLCAiaXNBc3luYyIsICJjaGVja0RlY2xhcmF0aW9uIiwgImlzT2JqZWN0UHJvcGVydHkiLCAiZ2V0T2JqZWN0T3JDbGFzc01ldGhvZFBhcmFtcyIsICJtZXRob2QiLCAicGFyYW1zIiwgImlzVmFsaWREaXJlY3RpdmUiLCAiX3N0bXQkZXhwcmVzc2lvbiRleHRyIiwgInBhcmVudGhlc2l6ZWQiLCAicGFyc2VCbG9ja0JvZHkiLCAiYWxsb3dEaXJlY3RpdmVzIiwgInRvcExldmVsIiwgImFmdGVyQmxvY2tQYXJzZSIsICJkaXJlY3RpdmVTdGF0ZW1lbnRzIiwgImRpcmVjdGl2ZXMiLCAiZCIsICJib2R5IiwgImNvbmNhdCIsICJwdXNoQ2xhc3NNZXRob2QiLCAiY2xhc3NCb2R5IiwgImlzR2VuZXJhdG9yIiwgImlzQ29uc3RydWN0b3IiLCAiYWxsb3dzRGlyZWN0U3VwZXIiLCAicGFyc2VNZXRob2QiLCAidHlwZVBhcmFtZXRlcnMiLCAicHVzaCIsICJwYXJzZVByaXZhdGVOYW1lIiwgImdldFBsdWdpbk9wdGlvbiIsICJjb252ZXJ0UHJpdmF0ZU5hbWVUb1ByaXZhdGVJZGVudGlmaWVyIiwgImdldFByaXZhdGVOYW1lU1YiLCAiaWQiLCAiaXNQcml2YXRlTmFtZSIsICJwYXJzZUZ1bmN0aW9uQm9keSIsICJhbGxvd0V4cHJlc3Npb24iLCAiaXNNZXRob2QiLCAiYWxsb3dEaXJlY3RTdXBlciIsICJpbkNsYXNzU2NvcGUiLCAiZnVuY05vZGUiLCAic3RhcnROb2RlIiwgImNvbXB1dGVkIiwgImZpbmlzaE5vZGUiLCAibmFtZUlzQ29uc3RydWN0b3IiLCAicGFyc2VDbGFzc1Byb3BlcnR5IiwgImFyZ3MiLCAicHJvcGVydHlOb2RlIiwgInBhcnNlQ2xhc3NQcml2YXRlUHJvcGVydHkiLCAicGFyc2VPYmplY3RNZXRob2QiLCAicHJvcCIsICJpc1BhdHRlcm4iLCAiaXNBY2Nlc3NvciIsICJzaG9ydGhhbmQiLCAicGFyc2VPYmplY3RQcm9wZXJ0eSIsICJzdGFydExvYyIsICJyZWZFeHByZXNzaW9uRXJyb3JzIiwgImlzVmFsaWRMVmFsIiwgImlzVW5wYXJlbnRoZXNpemVkSW5Bc3NpZ24iLCAiYmluZGluZyIsICJpc0Fzc2lnbmFibGUiLCAiaXNCaW5kaW5nIiwgInRvQXNzaWduYWJsZSIsICJpc0xIUyIsICJjbGFzc1Njb3BlIiwgInVzZVByaXZhdGVOYW1lIiwgInRvQXNzaWduYWJsZU9iamVjdEV4cHJlc3Npb25Qcm9wIiwgImlzTGFzdCIsICJyYWlzZSIsICJmaW5pc2hDYWxsRXhwcmVzc2lvbiIsICJ1bmZpbmlzaGVkIiwgIm9wdGlvbmFsIiwgImNhbGxlZSIsICJfcmVmMiIsICJzb3VyY2UiLCAiYXJndW1lbnRzIiwgImF0dHJpYnV0ZXMiLCAidG9SZWZlcmVuY2VkQXJndW1lbnRzIiwgInBhcnNlRXhwb3J0IiwgImRlY29yYXRvcnMiLCAiZXhwb3J0U3RhcnRMb2MiLCAic3RhdGUiLCAibGFzdFRva1N0YXJ0TG9jIiwgImV4cG9ydGVkIiwgInNwZWNpZmllcnMiLCAibGVuZ3RoIiwgIl9kZWNsYXJhdGlvbiRkZWNvcmF0byIsICJkZWNsYXJhdGlvbiIsICJyZXNldFN0YXJ0TG9jYXRpb24iLCAicGFyc2VTdWJzY3JpcHQiLCAiYmFzZSIsICJub0NhbGxzIiwgIm9wdGlvbmFsQ2hhaW5NZW1iZXIiLCAic3Vic3RyaW5nIiwgInN0b3AiLCAiY2hhaW4iLCAic3RhcnROb2RlQXROb2RlIiwgImlzT3B0aW9uYWxNZW1iZXJFeHByZXNzaW9uIiwgImhhc1Byb3BlcnR5QXNQcml2YXRlTmFtZSIsICJpc09iamVjdE1ldGhvZCIsICJmaW5pc2hOb2RlQXQiLCAiZW5kTG9jIiwgInJlc2V0RW5kTG9jYXRpb24iLCAibGFzdFRva0VuZExvYyIsICJUb2tDb250ZXh0IiwgInByZXNlcnZlU3BhY2UiLCAidHlwZXMiLCAiYnJhY2UiLCAial9vVGFnIiwgImpfY1RhZyIsICJqX2V4cHIiLCAiYmVmb3JlRXhwciIsICJzdGFydHNFeHByIiwgImlzTG9vcCIsICJpc0Fzc2lnbiIsICJwb3N0Zml4IiwgIkV4cG9ydGVkVG9rZW5UeXBlIiwgImxhYmVsIiwgImNvbmYiLCAicmlnaHRBc3NvY2lhdGl2ZSIsICJiaW5vcCIsICJ1cGRhdGVDb250ZXh0IiwgImtleXdvcmRzIiwgIk1hcCIsICJjcmVhdGVLZXl3b3JkIiwgImNyZWF0ZVRva2VuIiwgImNyZWF0ZUJpbm9wIiwgInRva2VuVHlwZUNvdW50ZXIiLCAidG9rZW5UeXBlcyIsICJ0b2tlbkxhYmVscyIsICJ0b2tlbkJpbm9wcyIsICJ0b2tlbkJlZm9yZUV4cHJzIiwgInRva2VuU3RhcnRzRXhwcnMiLCAidG9rZW5QcmVmaXhlcyIsICJfb3B0aW9ucyRiaW5vcCIsICJfb3B0aW9ucyRiZWZvcmVFeHByIiwgIl9vcHRpb25zJHN0YXJ0c0V4cHIiLCAiX29wdGlvbnMkcHJlZml4IiwgImNyZWF0ZUtleXdvcmRMaWtlIiwgIl9vcHRpb25zJGJpbm9wMiIsICJfb3B0aW9ucyRiZWZvcmVFeHByMiIsICJfb3B0aW9ucyRzdGFydHNFeHByMiIsICJfb3B0aW9ucyRwcmVmaXgyIiwgInR0IiwgImJyYWNrZXRMIiwgImJyYWNrZXRIYXNoTCIsICJicmFja2V0QmFyTCIsICJicmFja2V0UiIsICJicmFja2V0QmFyUiIsICJicmFjZUwiLCAiYnJhY2VCYXJMIiwgImJyYWNlSGFzaEwiLCAiYnJhY2VSIiwgImJyYWNlQmFyUiIsICJwYXJlbkwiLCAicGFyZW5SIiwgImNvbW1hIiwgInNlbWkiLCAiY29sb24iLCAiZG91YmxlQ29sb24iLCAiZG90IiwgInF1ZXN0aW9uIiwgInF1ZXN0aW9uRG90IiwgImFycm93IiwgImVsbGlwc2lzIiwgImJhY2tRdW90ZSIsICJkb2xsYXJCcmFjZUwiLCAidGVtcGxhdGVUYWlsIiwgInRlbXBsYXRlTm9uVGFpbCIsICJhdCIsICJoYXNoIiwgImludGVycHJldGVyRGlyZWN0aXZlIiwgImVxIiwgInNsYXNoQXNzaWduIiwgInhvckFzc2lnbiIsICJtb2R1bG9Bc3NpZ24iLCAiaW5jRGVjIiwgImJhbmciLCAidGlsZGUiLCAiZG91YmxlQ2FyZXQiLCAiZG91YmxlQXQiLCAicGlwZWxpbmUiLCAibnVsbGlzaENvYWxlc2NpbmciLCAibG9naWNhbE9SIiwgImxvZ2ljYWxBTkQiLCAiYml0d2lzZU9SIiwgImJpdHdpc2VYT1IiLCAiYml0d2lzZUFORCIsICJlcXVhbGl0eSIsICJsdCIsICJndCIsICJyZWxhdGlvbmFsIiwgImJpdFNoaWZ0IiwgImJpdFNoaWZ0TCIsICJiaXRTaGlmdFIiLCAicGx1c01pbiIsICJtb2R1bG8iLCAic3RhciIsICJzbGFzaCIsICJleHBvbmVudCIsICJfaW4iLCAiX2luc3RhbmNlb2YiLCAiX2JyZWFrIiwgIl9jYXNlIiwgIl9jYXRjaCIsICJfY29udGludWUiLCAiX2RlYnVnZ2VyIiwgIl9kZWZhdWx0IiwgIl9lbHNlIiwgIl9maW5hbGx5IiwgIl9mdW5jdGlvbiIsICJfaWYiLCAiX3JldHVybiIsICJfc3dpdGNoIiwgIl90aHJvdyIsICJfdHJ5IiwgIl92YXIiLCAiX2NvbnN0IiwgIl93aXRoIiwgIl9uZXciLCAiX3RoaXMiLCAiX3N1cGVyIiwgIl9jbGFzcyIsICJfZXh0ZW5kcyIsICJfZXhwb3J0IiwgIl9pbXBvcnQiLCAiX251bGwiLCAiX3RydWUiLCAiX2ZhbHNlIiwgIl90eXBlb2YiLCAiX3ZvaWQiLCAiX2RlbGV0ZSIsICJfZG8iLCAiX2ZvciIsICJfd2hpbGUiLCAiX2FzIiwgIl9hc3NlcnQiLCAiX2FzeW5jIiwgIl9hd2FpdCIsICJfZGVmZXIiLCAiX2Zyb20iLCAiX2dldCIsICJfbGV0IiwgIl9tZXRhIiwgIl9vZiIsICJfc2VudCIsICJfc2V0IiwgIl9zb3VyY2UiLCAiX3N0YXRpYyIsICJfdXNpbmciLCAiX3lpZWxkIiwgIl9hc3NlcnRzIiwgIl9jaGVja3MiLCAiX2V4cG9ydHMiLCAiX2dsb2JhbCIsICJfaW1wbGVtZW50cyIsICJfaW50cmluc2ljIiwgIl9pbmZlciIsICJfaXMiLCAiX21peGlucyIsICJfcHJvdG8iLCAiX3JlcXVpcmUiLCAiX3NhdGlzZmllcyIsICJfa2V5b2YiLCAiX3JlYWRvbmx5IiwgIl91bmlxdWUiLCAiX2Fic3RyYWN0IiwgIl9kZWNsYXJlIiwgIl9lbnVtIiwgIl9tb2R1bGUiLCAiX25hbWVzcGFjZSIsICJfaW50ZXJmYWNlIiwgIl90eXBlIiwgIl9vcGFxdWUiLCAicGxhY2Vob2xkZXIiLCAic3RyaW5nIiwgIm51bSIsICJyZWdleHAiLCAicHJpdmF0ZU5hbWUiLCAiZW9mIiwgImpzeE5hbWUiLCAianN4VGV4dCIsICJqc3hUYWdTdGFydCIsICJqc3hUYWdFbmQiLCAidG9rZW5Jc0lkZW50aWZpZXIiLCAidG9rZW5LZXl3b3JkT3JJZGVudGlmaWVySXNLZXl3b3JkIiwgInRva2VuSXNLZXl3b3JkT3JJZGVudGlmaWVyIiwgInRva2VuSXNMaXRlcmFsUHJvcGVydHlOYW1lIiwgInRva2VuQ29tZXNCZWZvcmVFeHByZXNzaW9uIiwgInRva2VuQ2FuU3RhcnRFeHByZXNzaW9uIiwgInRva2VuSXNBc3NpZ25tZW50IiwgInRva2VuSXNGbG93SW50ZXJmYWNlT3JUeXBlT3JPcGFxdWUiLCAidG9rZW5Jc0xvb3AiLCAidG9rZW5Jc0tleXdvcmQiLCAidG9rZW5Jc09wZXJhdG9yIiwgInRva2VuSXNQb3N0Zml4IiwgInRva2VuSXNQcmVmaXgiLCAidG9rZW5Jc1RTVHlwZU9wZXJhdG9yIiwgInRva2VuSXNUU0RlY2xhcmF0aW9uU3RhcnQiLCAidG9rZW5MYWJlbE5hbWUiLCAidG9rZW5PcGVyYXRvclByZWNlZGVuY2UiLCAidG9rZW5Jc1JpZ2h0QXNzb2NpYXRpdmUiLCAidG9rZW5Jc1RlbXBsYXRlIiwgImdldEV4cG9ydGVkVG9rZW4iLCAiY29udGV4dCIsICJwb3AiLCAidGMiLCAibm9uQVNDSUlpZGVudGlmaWVyU3RhcnRDaGFycyIsICJub25BU0NJSWlkZW50aWZpZXJDaGFycyIsICJub25BU0NJSWlkZW50aWZpZXJTdGFydCIsICJub25BU0NJSWlkZW50aWZpZXIiLCAiYXN0cmFsSWRlbnRpZmllclN0YXJ0Q29kZXMiLCAiYXN0cmFsSWRlbnRpZmllckNvZGVzIiwgImlzSW5Bc3RyYWxTZXQiLCAiaSIsICJpc0lkZW50aWZpZXJTdGFydCIsICJ0ZXN0IiwgImZyb21DaGFyQ29kZSIsICJpc0lkZW50aWZpZXJDaGFyIiwgInJlc2VydmVkV29yZHMiLCAic3RyaWN0IiwgInN0cmljdEJpbmQiLCAicmVzZXJ2ZWRXb3Jkc1N0cmljdFNldCIsICJyZXNlcnZlZFdvcmRzU3RyaWN0QmluZFNldCIsICJpc1Jlc2VydmVkV29yZCIsICJ3b3JkIiwgImluTW9kdWxlIiwgImlzU3RyaWN0UmVzZXJ2ZWRXb3JkIiwgImhhcyIsICJpc1N0cmljdEJpbmRPbmx5UmVzZXJ2ZWRXb3JkIiwgImlzU3RyaWN0QmluZFJlc2VydmVkV29yZCIsICJpc0tleXdvcmQiLCAiaXNJdGVyYXRvclN0YXJ0IiwgImN1cnJlbnQiLCAibmV4dCIsICJuZXh0MiIsICJyZXNlcnZlZFdvcmRMaWtlU2V0IiwgImNhbkJlUmVzZXJ2ZWRXb3JkIiwgIlNjb3BlIiwgIm5hbWVzIiwgImZpcnN0TGV4aWNhbE5hbWUiLCAiU2NvcGVIYW5kbGVyIiwgInBhcnNlciIsICJzY29wZVN0YWNrIiwgInVuZGVmaW5lZEV4cG9ydHMiLCAiaW5Ub3BMZXZlbCIsICJjdXJyZW50U2NvcGUiLCAiaW5GdW5jdGlvbiIsICJjdXJyZW50VmFyU2NvcGVGbGFncyIsICJhbGxvd1N1cGVyIiwgImN1cnJlbnRUaGlzU2NvcGVGbGFncyIsICJpbkNsYXNzIiwgImluQ2xhc3NBbmROb3RJbk5vbkFycm93RnVuY3Rpb24iLCAiaW5TdGF0aWNCbG9jayIsICJTY29wZUZsYWciLCAiaW5Ob25BcnJvd0Z1bmN0aW9uIiwgInRyZWF0RnVuY3Rpb25zQXNWYXIiLCAidHJlYXRGdW5jdGlvbnNBc1ZhckluU2NvcGUiLCAiY3JlYXRlU2NvcGUiLCAiZW50ZXIiLCAiZXhpdCIsICJzY29wZSIsICJkZWNsYXJlTmFtZSIsICJiaW5kaW5nVHlwZSIsICJjaGVja1JlZGVjbGFyYXRpb25JblNjb3BlIiwgIm1heWJlRXhwb3J0RGVmaW5lZCIsICJkZWxldGUiLCAiaXNSZWRlY2xhcmVkSW5TY29wZSIsICJjaGVja0xvY2FsRXhwb3J0IiwgIkZsb3dTY29wZSIsICJkZWNsYXJlRnVuY3Rpb25zIiwgIkZsb3dTY29wZUhhbmRsZXIiLCAiYWRkIiwgIkJhc2VQYXJzZXIiLCAic2F3VW5hbWJpZ3VvdXNFU00iLCAiYW1iaWd1b3VzU2NyaXB0RGlmZmVyZW50QXN0IiwgInNvdXJjZVRvT2Zmc2V0UG9zIiwgInNvdXJjZVBvcyIsICJzdGFydEluZGV4IiwgIm9mZnNldFRvU291cmNlUG9zIiwgIm9mZnNldFBvcyIsICJoYXNQbHVnaW4iLCAicGx1Z2luQ29uZmlnIiwgInBsdWdpbnMiLCAicGx1Z2luTmFtZSIsICJwbHVnaW5PcHRpb25zIiwgImFjdHVhbE9wdGlvbnMiLCAicGx1Z2luIiwgIl90aGlzJHBsdWdpbnMkZ2V0IiwgInNldFRyYWlsaW5nQ29tbWVudHMiLCAiY29tbWVudHMiLCAidHJhaWxpbmdDb21tZW50cyIsICJ1bmRlZmluZWQiLCAidW5zaGlmdCIsICJzZXRMZWFkaW5nQ29tbWVudHMiLCAibGVhZGluZ0NvbW1lbnRzIiwgInNldElubmVyQ29tbWVudHMiLCAiaW5uZXJDb21tZW50cyIsICJhZGp1c3RJbm5lckNvbW1lbnRzIiwgImVsZW1lbnRzIiwgImNvbW1lbnRXUyIsICJsYXN0RWxlbWVudCIsICJDb21tZW50c1BhcnNlciIsICJhZGRDb21tZW50IiwgImNvbW1lbnQiLCAiY29tbWVudHNMZW4iLCAicHJvY2Vzc0NvbW1lbnQiLCAiY29tbWVudFN0YWNrIiwgImNvbW1lbnRTdGFja0xlbmd0aCIsICJsYXN0Q29tbWVudFdTIiwgImxlYWRpbmdOb2RlIiwgIm5vZGVTdGFydCIsICJjb21tZW50RW5kIiwgImNvbnRhaW5pbmdOb2RlIiwgImZpbmFsaXplQ29tbWVudCIsICJzcGxpY2UiLCAidHJhaWxpbmdOb2RlIiwgImNvbW1lbnRTdGFydCIsICJpbnB1dCIsICJjaGFyQ29kZUF0IiwgInByb3BlcnRpZXMiLCAiZmluYWxpemVSZW1haW5pbmdDb21tZW50cyIsICJyZXNldFByZXZpb3VzTm9kZVRyYWlsaW5nQ29tbWVudHMiLCAicmVzZXRQcmV2aW91c0lkZW50aWZpZXJMZWFkaW5nQ29tbWVudHMiLCAidGFrZVN1cnJvdW5kaW5nQ29tbWVudHMiLCAibGluZUJyZWFrIiwgImxpbmVCcmVha0ciLCAiaXNOZXdMaW5lIiwgImhhc05ld0xpbmUiLCAic2tpcFdoaXRlU3BhY2UiLCAic2tpcFdoaXRlU3BhY2VJbkxpbmUiLCAiaXNXaGl0ZXNwYWNlIiwgIlN0YXRlIiwgImN1ckxpbmUiLCAibGluZVN0YXJ0IiwgImVycm9ycyIsICJwb3RlbnRpYWxBcnJvd0F0IiwgIm5vQXJyb3dBdCIsICJub0Fycm93UGFyYW1zQ29udmVyc2lvbkF0IiwgInRvcGljQ29udGV4dCIsICJtYXhOdW1PZlJlc29sdmFibGVUb3BpY3MiLCAibWF4VG9waWNJbmRleCIsICJsYWJlbHMiLCAiY3QiLCAiZmlyc3RJbnZhbGlkVGVtcGxhdGVFc2NhcGVQb3MiLCAic3RyaWN0RXJyb3JzIiwgInRva2Vuc0xlbmd0aCIsICJ2IiwgImluaXQiLCAic3RyaWN0TW9kZSIsICJzb3VyY2VUeXBlIiwgInN0YXJ0TGluZSIsICJzdGFydENvbHVtbiIsICJtYXliZUluQXJyb3dQYXJhbWV0ZXJzIiwgImluVHlwZSIsICJub0Fub25GdW5jdGlvblR5cGUiLCAiaGFzRmxvd0NvbW1lbnQiLCAiaXNBbWJpZW50Q29udGV4dCIsICJpbkFic3RyYWN0Q2xhc3MiLCAiaW5EaXNhbGxvd0NvbmRpdGlvbmFsVHlwZXNDb250ZXh0IiwgInNvbG9Bd2FpdCIsICJpbkZTaGFycFBpcGVsaW5lRGlyZWN0Qm9keSIsICJjYW5TdGFydEpTWEVsZW1lbnQiLCAiY29udGFpbnNFc2MiLCAiaGFzVG9wTGV2ZWxBd2FpdCIsICJjdXJQb3NpdGlvbiIsICJjbG9uZSIsICJzbGljZSIsICJmb3JiaWRkZW5OdW1lcmljU2VwYXJhdG9yU2libGluZ3MiLCAiZGVjQmluT2N0IiwgImhleCIsICJpc0FsbG93ZWROdW1lcmljU2VwYXJhdG9yU2libGluZyIsICJiaW4iLCAiY2giLCAib2N0IiwgImRlYyIsICJyZWFkU3RyaW5nQ29udGVudHMiLCAiaW5pdGlhbFBvcyIsICJpbml0aWFsTGluZVN0YXJ0IiwgImluaXRpYWxDdXJMaW5lIiwgIm91dCIsICJmaXJzdEludmFsaWRMb2MiLCAiY2h1bmtTdGFydCIsICJ1bnRlcm1pbmF0ZWQiLCAiaXNTdHJpbmdFbmQiLCAicmVzIiwgInJlYWRFc2NhcGVkQ2hhciIsICJzdHIiLCAiY29udGFpbnNJbnZhbGlkIiwgImluVGVtcGxhdGUiLCAidGhyb3dPbkludmFsaWQiLCAicmVhZEhleENoYXIiLCAicmVhZENvZGVQb2ludCIsICJmcm9tQ29kZVBvaW50IiwgInN0cmljdE51bWVyaWNFc2NhcGUiLCAic3RhcnRQb3MiLCAib2N0YWxTdHIiLCAiZXhlYyIsICJvY3RhbCIsICJwYXJzZUludCIsICJsZW4iLCAiZm9yY2VMZW4iLCAibiIsICJyZWFkSW50IiwgImludmFsaWRFc2NhcGVTZXF1ZW5jZSIsICJhbGxvd051bVNlcGFyYXRvciIsICJiYWlsT25FcnJvciIsICJmb3JiaWRkZW5TaWJsaW5ncyIsICJpc0FsbG93ZWRTaWJsaW5nIiwgImludmFsaWQiLCAidG90YWwiLCAiZSIsICJJbmZpbml0eSIsICJ2YWwiLCAicHJldiIsICJOdW1iZXIiLCAiaXNOYU4iLCAidW5leHBlY3RlZE51bWVyaWNTZXBhcmF0b3IiLCAibnVtZXJpY1NlcGFyYXRvckluRXNjYXBlU2VxdWVuY2UiLCAiX2lzRGlnaXQiLCAiaW52YWxpZERpZ2l0IiwgImluZGV4T2YiLCAiaW52YWxpZENvZGVQb2ludCIsICJidWlsZFBvc2l0aW9uIiwgIlZBTElEX1JFR0VYX0ZMQUdTIiwgIlRva2VuIiwgIlRva2VuaXplciIsICJpc0xvb2thaGVhZCIsICJlcnJvckhhbmRsZXJzX3JlYWRJbnQiLCAiZXJyb3JSZWNvdmVyeSIsICJlcnJvckJ1aWxkZXIiLCAiZXJyb3JIYW5kbGVyc19yZWFkQ29kZVBvaW50IiwgImVycm9ySGFuZGxlcnNfcmVhZFN0cmluZ0NvbnRlbnRzX3N0cmluZyIsICJyZWNvcmRTdHJpY3RNb2RlRXJyb3JzIiwgImVycm9ySGFuZGxlcnNfcmVhZFN0cmluZ0NvbnRlbnRzX3RlbXBsYXRlIiwgInB1c2hUb2tlbiIsICJjaGVja0tleXdvcmRFc2NhcGVzIiwgIm5leHRUb2tlbiIsICJlYXQiLCAibWF0Y2giLCAiY3JlYXRlTG9va2FoZWFkU3RhdGUiLCAiY3VyQ29udGV4dCIsICJsb29rYWhlYWQiLCAib2xkIiwgImN1cnIiLCAibmV4dFRva2VuU3RhcnQiLCAibmV4dFRva2VuU3RhcnRTaW5jZSIsICJsYXN0SW5kZXgiLCAibG9va2FoZWFkQ2hhckNvZGUiLCAibmV4dFRva2VuSW5MaW5lU3RhcnQiLCAibmV4dFRva2VuSW5MaW5lU3RhcnRTaW5jZSIsICJsb29rYWhlYWRJbkxpbmVDaGFyQ29kZSIsICJjb2RlUG9pbnRBdFBvcyIsICJjcCIsICJ0cmFpbCIsICJzZXRTdHJpY3QiLCAiZm9yRWFjaCIsICJ0b1BhcnNlRXJyb3IiLCAiY2xlYXIiLCAic2tpcFNwYWNlIiwgImZpbmlzaFRva2VuIiwgImdldFRva2VuRnJvbUNvZGUiLCAic2tpcEJsb2NrQ29tbWVudCIsICJza2lwTGluZUNvbW1lbnQiLCAic3RhcnRTa2lwIiwgInNwYWNlU3RhcnQiLCAibG9vcCIsICJhdHRhY2hDb21tZW50IiwgImFubmV4QiIsICJjb21tZW50V2hpdGVzcGFjZSIsICJwcmV2VHlwZSIsICJyZXBsYWNlVG9rZW4iLCAicmVhZFRva2VuX251bWJlclNpZ24iLCAicmVhZFRva2VuX2ludGVycHJldGVyIiwgIm5leHRQb3MiLCAiZXhwZWN0UGx1Z2luIiwgInJlYWRXb3JkMSIsICJmaW5pc2hPcCIsICJyZWFkVG9rZW5fZG90IiwgInJlYWROdW1iZXIiLCAicmVhZFRva2VuX3NsYXNoIiwgInJlYWRUb2tlbl9tdWx0X21vZHVsbyIsICJ3aWR0aCIsICJyZWFkVG9rZW5fcGlwZV9hbXAiLCAicmVhZFRva2VuX2NhcmV0IiwgInByb3Bvc2FsIiwgInRvcGljVG9rZW4iLCAiY29kZVBvaW50QXQiLCAicmVhZFRva2VuX2F0U2lnbiIsICJyZWFkVG9rZW5fcGx1c19taW4iLCAicmVhZFRva2VuX2x0IiwgInJlYWRUb2tlbl9ndCIsICJzaXplIiwgInJlYWRUb2tlbl9lcV9leGNsIiwgInJlYWRUb2tlbl9xdWVzdGlvbiIsICJyZWFkVGVtcGxhdGVUb2tlbiIsICJyZWFkUmFkaXhOdW1iZXIiLCAicmVhZFN0cmluZyIsICJyZWFkV29yZCIsICJyZWFkUmVnZXhwIiwgImVzY2FwZWQiLCAiY29udGVudCIsICJtb2RzIiwgImNoYXIiLCAiaW5jbHVkZXMiLCAiaXNCaWdJbnQiLCAicmVwbGFjZSIsICJzdGFydHNXaXRoRG90IiwgImlzRmxvYXQiLCAiaGFzRXhwb25lbnQiLCAiaXNPY3RhbCIsICJoYXNMZWFkaW5nWmVybyIsICJpbnRlZ2VyIiwgInVuZGVyc2NvcmVQb3MiLCAiaXNEZWNpbWFsIiwgInBhcnNlRmxvYXQiLCAicXVvdGUiLCAicmVhZFRlbXBsYXRlQ29udGludWF0aW9uIiwgIm9wZW5pbmciLCAiZmlyc3RDb2RlIiwgImVzY1N0YXJ0IiwgImlkZW50aWZpZXJDaGVjayIsICJlc2MiLCAia2V5d29yZFR5cGVzIiwgInJhaXNlT3ZlcndyaXRlIiwgImV4cGVjdE9uZVBsdWdpbiIsICJwbHVnaW5OYW1lcyIsICJzb21lIiwgIkNsYXNzU2NvcGUiLCAicHJpdmF0ZU5hbWVzIiwgImxvbmVBY2Nlc3NvcnMiLCAidW5kZWZpbmVkUHJpdmF0ZU5hbWVzIiwgIkNsYXNzU2NvcGVIYW5kbGVyIiwgInN0YWNrIiwgIm9sZENsYXNzU2NvcGUiLCAiZnJvbSIsICJkZWNsYXJlUHJpdmF0ZU5hbWUiLCAiZWxlbWVudFR5cGUiLCAicmVkZWZpbmVkIiwgImFjY2Vzc29yIiwgIm9sZFN0YXRpYyIsICJuZXdTdGF0aWMiLCAib2xkS2luZCIsICJuZXdLaW5kIiwgIkV4cHJlc3Npb25TY29wZSIsICJjYW5CZUFycm93UGFyYW1ldGVyRGVjbGFyYXRpb24iLCAiaXNDZXJ0YWlubHlQYXJhbWV0ZXJEZWNsYXJhdGlvbiIsICJBcnJvd0hlYWRQYXJzaW5nU2NvcGUiLCAiZGVjbGFyYXRpb25FcnJvcnMiLCAicmVjb3JkRGVjbGFyYXRpb25FcnJvciIsICJQYXJzaW5nRXJyb3JDbGFzcyIsICJjbGVhckRlY2xhcmF0aW9uRXJyb3IiLCAiaXRlcmF0ZUVycm9ycyIsICJpdGVyYXRvciIsICJFeHByZXNzaW9uU2NvcGVIYW5kbGVyIiwgInJlY29yZFBhcmFtZXRlckluaXRpYWxpemVyRXJyb3IiLCAib3JpZ2luIiwgInJlY29yZEFycm93UGFyYW1ldGVyQmluZGluZ0Vycm9yIiwgInJlY29yZEFzeW5jQXJyb3dQYXJhbWV0ZXJzRXJyb3IiLCAidmFsaWRhdGVBc1BhdHRlcm4iLCAibmV3UGFyYW1ldGVyRGVjbGFyYXRpb25TY29wZSIsICJuZXdBcnJvd0hlYWRTY29wZSIsICJuZXdBc3luY0Fycm93U2NvcGUiLCAibmV3RXhwcmVzc2lvblNjb3BlIiwgIlByb2R1Y3Rpb25QYXJhbWV0ZXJIYW5kbGVyIiwgInN0YWNrcyIsICJjdXJyZW50RmxhZ3MiLCAiaGFzQXdhaXQiLCAiaGFzWWllbGQiLCAiaGFzUmV0dXJuIiwgImhhc0luIiwgImZ1bmN0aW9uRmxhZ3MiLCAiVXRpbFBhcnNlciIsICJhZGRFeHRyYSIsICJpc0NvbnRleHR1YWwiLCAiaXNVbnBhcnNlZENvbnRleHR1YWwiLCAibmFtZVN0YXJ0IiwgIm5hbWVFbmQiLCAibmV4dENoIiwgImlzTG9va2FoZWFkQ29udGV4dHVhbCIsICJlYXRDb250ZXh0dWFsIiwgImV4cGVjdENvbnRleHR1YWwiLCAiY2FuSW5zZXJ0U2VtaWNvbG9uIiwgImhhc1ByZWNlZGluZ0xpbmVCcmVhayIsICJoYXNGb2xsb3dpbmdMaW5lQnJlYWsiLCAiaXNMaW5lVGVybWluYXRvciIsICJzZW1pY29sb24iLCAiYWxsb3dBc2kiLCAiZXhwZWN0IiwgInRyeVBhcnNlIiwgImZuIiwgIm9sZFN0YXRlIiwgImFib3J0U2lnbmFsIiwgImZhaWxTdGF0ZSIsICJ0aHJvd24iLCAiYWJvcnRlZCIsICJjaGVja0V4cHJlc3Npb25FcnJvcnMiLCAiYW5kVGhyb3ciLCAic2hvcnRoYW5kQXNzaWduTG9jIiwgImRvdWJsZVByb3RvTG9jIiwgInByaXZhdGVLZXlMb2MiLCAib3B0aW9uYWxQYXJhbWV0ZXJzTG9jIiwgImhhc0Vycm9ycyIsICJpc0xpdGVyYWxQcm9wZXJ0eU5hbWUiLCAicHJvcGVydHkiLCAiaW5pdGlhbGl6ZVNjb3BlcyIsICJvbGRMYWJlbHMiLCAib2xkRXhwb3J0ZWRJZGVudGlmaWVycyIsICJleHBvcnRlZElkZW50aWZpZXJzIiwgIm9sZEluTW9kdWxlIiwgIm9sZFNjb3BlIiwgImdldFNjb3BlSGFuZGxlciIsICJvbGRQcm9kUGFyYW0iLCAicHJvZFBhcmFtIiwgIm9sZEV4cHJlc3Npb25TY29wZSIsICJleHByZXNzaW9uU2NvcGUiLCAiZW50ZXJJbml0aWFsU2NvcGVzIiwgInBhcmFtRmxhZ3MiLCAiY2hlY2tEZXN0cnVjdHVyaW5nUHJpdmF0ZSIsICJFeHByZXNzaW9uRXJyb3JzIiwgIk5vZGUiLCAicmFuZ2VzIiwgInJhbmdlIiwgIk5vZGVQcm90b3R5cGUiLCAicHJvdG90eXBlIiwgIl9fY2xvbmUiLCAibmV3Tm9kZSIsICJjbG9uZVBsYWNlaG9sZGVyIiwgImNsb25lSWRlbnRpZmllciIsICJjbG9uZWQiLCAiY3JlYXRlIiwgImV4cGVjdGVkTm9kZSIsICJjbG9uZVN0cmluZ0xpdGVyYWwiLCAiTm9kZVV0aWxzIiwgInN0YXJ0Tm9kZUF0IiwgInJlc2V0U3RhcnRMb2NhdGlvbkZyb21Ob2RlIiwgImxvY2F0aW9uTm9kZSIsICJyZXNlcnZlZFR5cGVzIiwgIkZsb3dFcnJvcnMiLCAiQW1iaWd1b3VzQ29uZGl0aW9uYWxBcnJvdyIsICJBbWJpZ3VvdXNEZWNsYXJlTW9kdWxlS2luZCIsICJBc3NpZ25SZXNlcnZlZFR5cGUiLCAicmVzZXJ2ZWRUeXBlIiwgIkRlY2xhcmVDbGFzc0VsZW1lbnQiLCAiRGVjbGFyZUNsYXNzRmllbGRJbml0aWFsaXplciIsICJEdXBsaWNhdGVEZWNsYXJlTW9kdWxlRXhwb3J0cyIsICJFbnVtQm9vbGVhbk1lbWJlck5vdEluaXRpYWxpemVkIiwgIm1lbWJlck5hbWUiLCAiZW51bU5hbWUiLCAiRW51bUR1cGxpY2F0ZU1lbWJlck5hbWUiLCAiRW51bUluY29uc2lzdGVudE1lbWJlclZhbHVlcyIsICJFbnVtSW52YWxpZEV4cGxpY2l0VHlwZSIsICJpbnZhbGlkRW51bVR5cGUiLCAiRW51bUludmFsaWRFeHBsaWNpdFR5cGVVbmtub3duU3VwcGxpZWQiLCAiRW51bUludmFsaWRNZW1iZXJJbml0aWFsaXplclByaW1hcnlUeXBlIiwgImV4cGxpY2l0VHlwZSIsICJFbnVtSW52YWxpZE1lbWJlckluaXRpYWxpemVyU3ltYm9sVHlwZSIsICJFbnVtSW52YWxpZE1lbWJlckluaXRpYWxpemVyVW5rbm93blR5cGUiLCAiRW51bUludmFsaWRNZW1iZXJOYW1lIiwgInN1Z2dlc3Rpb24iLCAiRW51bU51bWJlck1lbWJlck5vdEluaXRpYWxpemVkIiwgIkVudW1TdHJpbmdNZW1iZXJJbmNvbnNpc3RlbnRseUluaXRpYWxpemVkIiwgIkdldHRlck1heU5vdEhhdmVUaGlzUGFyYW0iLCAiSW1wb3J0UmVmbGVjdGlvbkhhc0ltcG9ydFR5cGUiLCAiSW1wb3J0VHlwZVNob3J0aGFuZE9ubHlJblB1cmVJbXBvcnQiLCAiSW5leGFjdEluc2lkZUV4YWN0IiwgIkluZXhhY3RJbnNpZGVOb25PYmplY3QiLCAiSW5leGFjdFZhcmlhbmNlIiwgIkludmFsaWROb25UeXBlSW1wb3J0SW5EZWNsYXJlTW9kdWxlIiwgIk1pc3NpbmdUeXBlUGFyYW1EZWZhdWx0IiwgIk5lc3RlZERlY2xhcmVNb2R1bGUiLCAiTmVzdGVkRmxvd0NvbW1lbnQiLCAiUGF0dGVybklzT3B0aW9uYWwiLCAiU2V0dGVyTWF5Tm90SGF2ZVRoaXNQYXJhbSIsICJTcHJlYWRWYXJpYW5jZSIsICJUaGlzUGFyYW1Bbm5vdGF0aW9uUmVxdWlyZWQiLCAiVGhpc1BhcmFtQmFubmVkSW5Db25zdHJ1Y3RvciIsICJUaGlzUGFyYW1NYXlOb3RCZU9wdGlvbmFsIiwgIlRoaXNQYXJhbU11c3RCZUZpcnN0IiwgIlRoaXNQYXJhbU5vRGVmYXVsdCIsICJUeXBlQmVmb3JlSW5pdGlhbGl6ZXIiLCAiVHlwZUNhc3RJblBhdHRlcm4iLCAiVW5leHBlY3RlZEV4cGxpY2l0SW5leGFjdEluT2JqZWN0IiwgIlVuZXhwZWN0ZWRSZXNlcnZlZFR5cGUiLCAiVW5leHBlY3RlZFJlc2VydmVkVW5kZXJzY29yZSIsICJVbmV4cGVjdGVkU3BhY2VCZXR3ZWVuTW9kdWxvQ2hlY2tzIiwgIlVuZXhwZWN0ZWRTcHJlYWRUeXBlIiwgIlVuZXhwZWN0ZWRTdWJ0cmFjdGlvbk9wZXJhbmQiLCAiVW5leHBlY3RlZFRva2VuQWZ0ZXJUeXBlUGFyYW1ldGVyIiwgIlVuZXhwZWN0ZWRUeXBlUGFyYW1ldGVyQmVmb3JlQXN5bmNBcnJvd0Z1bmN0aW9uIiwgIlVuc3VwcG9ydGVkRGVjbGFyZUV4cG9ydEtpbmQiLCAidW5zdXBwb3J0ZWRFeHBvcnRLaW5kIiwgIlVuc3VwcG9ydGVkU3RhdGVtZW50SW5EZWNsYXJlTW9kdWxlIiwgIlVudGVybWluYXRlZEZsb3dDb21tZW50IiwgImlzRXNNb2R1bGVUeXBlIiwgImJvZHlFbGVtZW50IiwgImhhc1R5cGVJbXBvcnRLaW5kIiwgImltcG9ydEtpbmQiLCAiZXhwb3J0U3VnZ2VzdGlvbnMiLCAiY29uc3QiLCAibGV0IiwgImludGVyZmFjZSIsICJwYXJ0aXRpb24iLCAibGlzdCIsICJsaXN0MSIsICJsaXN0MiIsICJGTE9XX1BSQUdNQV9SRUdFWCIsICJmbG93IiwgImZsb3dQcmFnbWEiLCAic2hvdWxkUGFyc2VUeXBlcyIsICJtYXRjaGVzIiwgIkVycm9yIiwgImZsb3dQYXJzZVR5cGVJbml0aWFsaXNlciIsICJ0b2siLCAib2xkSW5UeXBlIiwgImZsb3dQYXJzZVR5cGUiLCAiZmxvd1BhcnNlUHJlZGljYXRlIiwgIm1vZHVsb0xvYyIsICJwYXJzZUV4cHJlc3Npb24iLCAiZmxvd1BhcnNlVHlwZUFuZFByZWRpY2F0ZUluaXRpYWxpc2VyIiwgInByZWRpY2F0ZSIsICJmbG93UGFyc2VEZWNsYXJlQ2xhc3MiLCAiZmxvd1BhcnNlSW50ZXJmYWNlaXNoIiwgImZsb3dQYXJzZURlY2xhcmVGdW5jdGlvbiIsICJwYXJzZUlkZW50aWZpZXIiLCAidHlwZU5vZGUiLCAidHlwZUNvbnRhaW5lciIsICJmbG93UGFyc2VUeXBlUGFyYW1ldGVyRGVjbGFyYXRpb24iLCAidG1wIiwgImZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtcyIsICJ0aGlzIiwgInJldHVyblR5cGUiLCAidHlwZUFubm90YXRpb24iLCAiZmxvd1BhcnNlRGVjbGFyZSIsICJpbnNpZGVNb2R1bGUiLCAiZmxvd1BhcnNlRGVjbGFyZVZhcmlhYmxlIiwgImZsb3dQYXJzZURlY2xhcmVNb2R1bGVFeHBvcnRzIiwgImZsb3dQYXJzZURlY2xhcmVNb2R1bGUiLCAiZmxvd1BhcnNlRGVjbGFyZVR5cGVBbGlhcyIsICJmbG93UGFyc2VEZWNsYXJlT3BhcXVlVHlwZSIsICJmbG93UGFyc2VEZWNsYXJlSW50ZXJmYWNlIiwgImZsb3dQYXJzZURlY2xhcmVFeHBvcnREZWNsYXJhdGlvbiIsICJmbG93UGFyc2VUeXBlQW5ub3RhdGFibGVJZGVudGlmaWVyIiwgInBhcnNlRXhwckF0b20iLCAiYm9keU5vZGUiLCAicGFyc2VJbXBvcnQiLCAiaGFzTW9kdWxlRXhwb3J0IiwgImRlZmF1bHQiLCAiaXNMZXQiLCAiZXhwb3J0S2luZCIsICJmbG93UGFyc2VUeXBlQW5ub3RhdGlvbiIsICJmaW5pc2hlZCIsICJmbG93UGFyc2VUeXBlQWxpYXMiLCAiZmxvd1BhcnNlT3BhcXVlVHlwZSIsICJpc0NsYXNzIiwgImZsb3dQYXJzZVJlc3RyaWN0ZWRJZGVudGlmaWVyIiwgImV4dGVuZHMiLCAiZmxvd1BhcnNlSW50ZXJmYWNlRXh0ZW5kcyIsICJpbXBsZW1lbnRzIiwgIm1peGlucyIsICJmbG93UGFyc2VPYmplY3RUeXBlIiwgImFsbG93U3RhdGljIiwgImFsbG93RXhhY3QiLCAiYWxsb3dTcHJlYWQiLCAiYWxsb3dQcm90byIsICJhbGxvd0luZXhhY3QiLCAiZmxvd1BhcnNlUXVhbGlmaWVkVHlwZUlkZW50aWZpZXIiLCAiZmxvd1BhcnNlVHlwZVBhcmFtZXRlckluc3RhbnRpYXRpb24iLCAiZmxvd1BhcnNlSW50ZXJmYWNlIiwgImNoZWNrTm90VW5kZXJzY29yZSIsICJjaGVja1Jlc2VydmVkVHlwZSIsICJsaWJlcmFsIiwgInJpZ2h0IiwgImRlY2xhcmUiLCAic3VwZXJ0eXBlIiwgImltcGx0eXBlIiwgImZsb3dQYXJzZVR5cGVQYXJhbWV0ZXIiLCAicmVxdWlyZURlZmF1bHQiLCAibm9kZVN0YXJ0TG9jIiwgInZhcmlhbmNlIiwgImZsb3dQYXJzZVZhcmlhbmNlIiwgImlkZW50IiwgImJvdW5kIiwgImRlZmF1bHRSZXF1aXJlZCIsICJ0eXBlUGFyYW1ldGVyIiwgIm9sZE5vQW5vbkZ1bmN0aW9uVHlwZSIsICJmbG93UGFyc2VUeXBlUGFyYW1ldGVySW5zdGFudGlhdGlvbkNhbGxPck5ldyIsICJmbG93UGFyc2VUeXBlT3JJbXBsaWNpdEluc3RhbnRpYXRpb24iLCAiZmxvd1BhcnNlSW50ZXJmYWNlVHlwZSIsICJmbG93UGFyc2VPYmplY3RQcm9wZXJ0eUtleSIsICJmbG93UGFyc2VPYmplY3RUeXBlSW5kZXhlciIsICJpc1N0YXRpYyIsICJzdGF0aWMiLCAiZmxvd1BhcnNlT2JqZWN0VHlwZUludGVybmFsU2xvdCIsICJmbG93UGFyc2VPYmplY3RUeXBlTWV0aG9kaXNoIiwgImZsb3dQYXJzZUZ1bmN0aW9uVHlwZVBhcmFtIiwgImZsb3dQYXJzZU9iamVjdFR5cGVDYWxsUHJvcGVydHkiLCAidmFsdWVOb2RlIiwgImNhbGxQcm9wZXJ0aWVzIiwgImluZGV4ZXJzIiwgImludGVybmFsU2xvdHMiLCAiZW5kRGVsaW0iLCAiZXhhY3QiLCAiaW5leGFjdCIsICJwcm90b1N0YXJ0TG9jIiwgImluZXhhY3RTdGFydExvYyIsICJwcm9wT3JJbmV4YWN0IiwgImZsb3dQYXJzZU9iamVjdFR5cGVQcm9wZXJ0eSIsICJmbG93T2JqZWN0VHlwZVNlbWljb2xvbiIsICJwcm90byIsICJmbG93Q2hlY2tHZXR0ZXJTZXR0ZXJQYXJhbXMiLCAicGFyYW1Db3VudCIsICJfc3RhcnRMb2MiLCAibm9kZTIiLCAicXVhbGlmaWNhdGlvbiIsICJmbG93UGFyc2VHZW5lcmljVHlwZSIsICJmbG93UGFyc2VUeXBlb2ZUeXBlIiwgImZsb3dQYXJzZVByaW1hcnlUeXBlIiwgImZsb3dQYXJzZVR1cGxlVHlwZSIsICJmaXJzdCIsICJsaCIsICJpc1RoaXMiLCAicmVpbnRlcnByZXRUeXBlQXNGdW5jdGlvblR5cGVQYXJhbSIsICJmbG93SWRlbnRUb1R5cGVBbm5vdGF0aW9uIiwgImlzR3JvdXBlZFR5cGUiLCAicGFyc2VMaXRlcmFsQXROb2RlIiwgImNyZWF0ZUlkZW50aWZpZXIiLCAiZmxvd1BhcnNlUG9zdGZpeFR5cGUiLCAic2Vlbk9wdGlvbmFsSW5kZXhlZEFjY2VzcyIsICJvYmplY3RUeXBlIiwgImluZGV4VHlwZSIsICJmbG93UGFyc2VQcmVmaXhUeXBlIiwgImZsb3dQYXJzZUFub25GdW5jdGlvbldpdGhvdXRQYXJlbnMiLCAicGFyYW0iLCAiZmxvd1BhcnNlSW50ZXJzZWN0aW9uVHlwZSIsICJmbG93UGFyc2VVbmlvblR5cGUiLCAiYWxsb3dQcmltaXRpdmVPdmVycmlkZSIsICJ0eXBlQ2FzdFRvUGFyYW1ldGVyIiwgImFsbG93RXhwcmVzc2lvbkJvZHkiLCAiZm9yd2FyZE5vQXJyb3dQYXJhbXNDb252ZXJzaW9uQXQiLCAicGFyc2VGdW5jdGlvbkJvZHlBbmRGaW5pc2giLCAicGFyc2VTdGF0ZW1lbnRMaWtlIiwgImZsb3dQYXJzZUVudW1EZWNsYXJhdGlvbiIsICJwYXJzZUV4cHJlc3Npb25TdGF0ZW1lbnQiLCAiZXhwciIsICJzaG91bGRQYXJzZUV4cG9ydERlY2xhcmF0aW9uIiwgImlzRXhwb3J0RGVmYXVsdFNwZWNpZmllciIsICJwYXJzZUV4cG9ydERlZmF1bHRFeHByZXNzaW9uIiwgInBhcnNlQ29uZGl0aW9uYWwiLCAic2V0T3B0aW9uYWxQYXJhbWV0ZXJzRXJyb3IiLCAib3JpZ2luYWxOb0Fycm93QXQiLCAiY29uc2VxdWVudCIsICJmYWlsZWQiLCAidHJ5UGFyc2VDb25kaXRpb25hbENvbnNlcXVlbnQiLCAidmFsaWQiLCAiZ2V0QXJyb3dMaWtlRXhwcmVzc2lvbnMiLCAiYWx0ZXJuYXRlIiwgInBhcnNlTWF5YmVBc3NpZ24iLCAicGFyc2VNYXliZUFzc2lnbkFsbG93SW4iLCAiZGlzYWxsb3dJbnZhbGlkIiwgImFycm93cyIsICJmaW5pc2hBcnJvd1ZhbGlkYXRpb24iLCAiZXZlcnkiLCAiX25vZGUkZXh0cmEiLCAidG9Bc3NpZ25hYmxlTGlzdCIsICJ0cmFpbGluZ0NvbW1hTG9jIiwgImNoZWNrUGFyYW1zIiwgInJlc3VsdCIsICJwYXJzZVBhcmVuSXRlbSIsICJ0eXBlQ2FzdE5vZGUiLCAiYXNzZXJ0TW9kdWxlTm9kZUFsbG93ZWQiLCAicGFyc2VFeHBvcnREZWNsYXJhdGlvbiIsICJkZWNsYXJhdGlvbk5vZGUiLCAicGFyc2VFeHBvcnRTcGVjaWZpZXJzIiwgInBhcnNlRXhwb3J0RnJvbSIsICJlYXRFeHBvcnRTdGFyIiwgIm1heWJlUGFyc2VFeHBvcnROYW1lc3BhY2VTcGVjaWZpZXIiLCAiaGFzTmFtZXNwYWNlIiwgInBhcnNlQ2xhc3NJZCIsICJpc1N0YXRlbWVudCIsICJvcHRpb25hbElkIiwgInBhcnNlQ2xhc3NNZW1iZXIiLCAibWVtYmVyIiwgInBhcnNlQ2xhc3NNZW1iZXJGcm9tTW9kaWZpZXIiLCAiaXNJdGVyYXRvciIsICJyZWFkSXRlcmF0b3IiLCAiZnVsbFdvcmQiLCAibGVmdCIsICJleHByTGlzdCIsICJ0b1JlZmVyZW5jZWRMaXN0IiwgImlzUGFyZW50aGVzaXplZEV4cHIiLCAiX2V4cHIkZXh0cmEiLCAicGFyc2VBcnJheUxpa2UiLCAiY2xvc2UiLCAiY2FuQmVQYXR0ZXJuIiwgImlzVHVwbGUiLCAiaXNQYXJlbnRoZXNpemVkIiwgImlzQ2xhc3NNZXRob2QiLCAiaXNDbGFzc1Byb3BlcnR5IiwgImlzTm9uc3RhdGljQ29uc3RydWN0b3IiLCAiaXNUaGlzUGFyYW0iLCAicHVzaENsYXNzUHJpdmF0ZU1ldGhvZCIsICJwYXJzZUNsYXNzU3VwZXIiLCAic3VwZXJUeXBlUGFyYW1ldGVycyIsICJpbXBsZW1lbnRlZCIsICJjaGVja0dldHRlclNldHRlclBhcmFtcyIsICJwYXJzZVByb3BlcnR5TmFtZVByZWZpeE9wZXJhdG9yIiwgInBhcnNlT2JqUHJvcFZhbHVlIiwgInBhcnNlRnVuY3Rpb25QYXJhbVR5cGUiLCAicGFyc2VNYXliZURlZmF1bHQiLCAiY2hlY2tJbXBvcnRSZWZsZWN0aW9uIiwgIm1vZHVsZSIsICJwYXJzZUltcG9ydFNwZWNpZmllckxvY2FsIiwgInNwZWNpZmllciIsICJsb2NhbCIsICJmaW5pc2hJbXBvcnRTcGVjaWZpZXIiLCAiaXNQb3RlbnRpYWxJbXBvcnRQaGFzZSIsICJpc0V4cG9ydCIsICJhcHBseUltcG9ydFBoYXNlIiwgInBhcnNlSW1wb3J0U3BlY2lmaWVyIiwgImltcG9ydGVkSXNTdHJpbmciLCAiaXNJblR5cGVPbmx5SW1wb3J0IiwgImlzTWF5YmVUeXBlT25seSIsICJmaXJzdElkZW50IiwgImltcG9ydGVkIiwgInNwZWNpZmllclR5cGVLaW5kIiwgImFzX2lkZW50IiwgInNwZWNpZmllcklzVHlwZUltcG9ydCIsICJjaGVja1Jlc2VydmVkV29yZCIsICJwYXJzZUJpbmRpbmdBdG9tIiwgInBhcnNlRnVuY3Rpb25QYXJhbXMiLCAicGFyc2VWYXJJZCIsICJkZWNsIiwgInBhcnNlQXN5bmNBcnJvd0Zyb21DYWxsRXhwcmVzc2lvbiIsICJjYWxsIiwgInNob3VsZFBhcnNlQXN5bmNBcnJvdyIsICJhZnRlckxlZnRQYXJzZSIsICJfanN4IiwgImpzeCIsICJjdXJyZW50Q29udGV4dCIsICJfanN4MiIsICJfanN4MyIsICJhYm9ydCIsICJfYXJyb3dFeHByZXNzaW9uJGV4dHIiLCAiYXJyb3dFeHByZXNzaW9uIiwgIm1heWJlVW53cmFwVHlwZUNhc3RFeHByZXNzaW9uIiwgImFzeW5jIiwgInBhcnNlQXJyb3ciLCAic2hvdWxkUGFyc2VBcnJvdyIsICJzZXRBcnJvd0Z1bmN0aW9uUGFyYW1ldGVycyIsICJhbGxvd0R1cGxpY2F0ZXMiLCAiaXNBcnJvd0Z1bmN0aW9uIiwgInN0cmljdE1vZGVDaGFuZ2VkIiwgInBhcnNlUGFyZW5BbmREaXN0aW5ndWlzaEV4cHJlc3Npb24iLCAiY2FuQmVBcnJvdyIsICJwYXJzZVN1YnNjcmlwdHMiLCAicGFyc2VDYWxsRXhwcmVzc2lvbkFyZ3VtZW50cyIsICJwYXJzZUFzeW5jQXJyb3dXaXRoVHlwZVBhcmFtZXRlcnMiLCAic3Vic2NyaXB0U3RhdGUiLCAiaXNMb29rYWhlYWRUb2tlbl9sdCIsICJ0eXBlQXJndW1lbnRzIiwgInBhcnNlTmV3Q2FsbGVlIiwgInRhcmdzIiwgInBhcnNlQXJyb3dFeHByZXNzaW9uIiwgInBhcnNlVG9wTGV2ZWwiLCAicHJvZ3JhbSIsICJmaWxlTm9kZSIsICJza2lwRmxvd0NvbW1lbnQiLCAiaGFzRmxvd0NvbW1lbnRDb21wbGV0aW9uIiwgImNvbW1lbnRTa2lwIiwgInNoaWZ0VG9GaXJzdE5vbldoaXRlU3BhY2UiLCAiY2gyIiwgImNoMyIsICJmbG93RW51bUVycm9yQm9vbGVhbk1lbWJlck5vdEluaXRpYWxpemVkIiwgImZsb3dFbnVtRXJyb3JJbnZhbGlkTWVtYmVySW5pdGlhbGl6ZXIiLCAiZW51bUNvbnRleHQiLCAiZmxvd0VudW1FcnJvck51bWJlck1lbWJlck5vdEluaXRpYWxpemVkIiwgImZsb3dFbnVtRXJyb3JTdHJpbmdNZW1iZXJJbmNvbnNpc3RlbnRseUluaXRpYWxpemVkIiwgImZsb3dFbnVtTWVtYmVySW5pdCIsICJlbmRPZkluaXQiLCAibGl0ZXJhbCIsICJmbG93RW51bU1lbWJlclJhdyIsICJmbG93RW51bUNoZWNrRXhwbGljaXRUeXBlTWlzbWF0Y2giLCAiZXhwZWN0ZWRUeXBlIiwgImZsb3dFbnVtTWVtYmVycyIsICJzZWVuTmFtZXMiLCAibWVtYmVycyIsICJib29sZWFuTWVtYmVycyIsICJudW1iZXJNZW1iZXJzIiwgInN0cmluZ01lbWJlcnMiLCAiZGVmYXVsdGVkTWVtYmVycyIsICJoYXNVbmtub3duTWVtYmVycyIsICJtZW1iZXJOb2RlIiwgInRvVXBwZXJDYXNlIiwgImZsb3dFbnVtU3RyaW5nTWVtYmVycyIsICJpbml0aWFsaXplZE1lbWJlcnMiLCAiZmxvd0VudW1QYXJzZUV4cGxpY2l0VHlwZSIsICJmbG93RW51bUJvZHkiLCAibmFtZUxvYyIsICJlbXB0eSIsICJib29sc0xlbiIsICJudW1zTGVuIiwgInN0cnNMZW4iLCAiZGVmYXVsdGVkTGVuIiwgImFmdGVyTmV4dCIsICJlbnRpdGllcyIsICJfX3Byb3RvX18iLCAicXVvdCIsICJhbXAiLCAiYXBvcyIsICJuYnNwIiwgImlleGNsIiwgImNlbnQiLCAicG91bmQiLCAiY3VycmVuIiwgInllbiIsICJicnZiYXIiLCAic2VjdCIsICJ1bWwiLCAiY29weSIsICJvcmRmIiwgImxhcXVvIiwgIm5vdCIsICJzaHkiLCAicmVnIiwgIm1hY3IiLCAiZGVnIiwgInBsdXNtbiIsICJzdXAyIiwgInN1cDMiLCAiYWN1dGUiLCAibWljcm8iLCAicGFyYSIsICJtaWRkb3QiLCAiY2VkaWwiLCAic3VwMSIsICJvcmRtIiwgInJhcXVvIiwgImZyYWMxNCIsICJmcmFjMTIiLCAiZnJhYzM0IiwgImlxdWVzdCIsICJBZ3JhdmUiLCAiQWFjdXRlIiwgIkFjaXJjIiwgIkF0aWxkZSIsICJBdW1sIiwgIkFyaW5nIiwgIkFFbGlnIiwgIkNjZWRpbCIsICJFZ3JhdmUiLCAiRWFjdXRlIiwgIkVjaXJjIiwgIkV1bWwiLCAiSWdyYXZlIiwgIklhY3V0ZSIsICJJY2lyYyIsICJJdW1sIiwgIkVUSCIsICJOdGlsZGUiLCAiT2dyYXZlIiwgIk9hY3V0ZSIsICJPY2lyYyIsICJPdGlsZGUiLCAiT3VtbCIsICJ0aW1lcyIsICJPc2xhc2giLCAiVWdyYXZlIiwgIlVhY3V0ZSIsICJVY2lyYyIsICJVdW1sIiwgIllhY3V0ZSIsICJUSE9STiIsICJzemxpZyIsICJhZ3JhdmUiLCAiYWFjdXRlIiwgImFjaXJjIiwgImF0aWxkZSIsICJhdW1sIiwgImFyaW5nIiwgImFlbGlnIiwgImNjZWRpbCIsICJlZ3JhdmUiLCAiZWFjdXRlIiwgImVjaXJjIiwgImV1bWwiLCAiaWdyYXZlIiwgImlhY3V0ZSIsICJpY2lyYyIsICJpdW1sIiwgImV0aCIsICJudGlsZGUiLCAib2dyYXZlIiwgIm9hY3V0ZSIsICJvY2lyYyIsICJvdGlsZGUiLCAib3VtbCIsICJkaXZpZGUiLCAib3NsYXNoIiwgInVncmF2ZSIsICJ1YWN1dGUiLCAidWNpcmMiLCAidXVtbCIsICJ5YWN1dGUiLCAidGhvcm4iLCAieXVtbCIsICJPRWxpZyIsICJvZWxpZyIsICJTY2Fyb24iLCAic2Nhcm9uIiwgIll1bWwiLCAiZm5vZiIsICJjaXJjIiwgIkFscGhhIiwgIkJldGEiLCAiR2FtbWEiLCAiRGVsdGEiLCAiRXBzaWxvbiIsICJaZXRhIiwgIkV0YSIsICJUaGV0YSIsICJJb3RhIiwgIkthcHBhIiwgIkxhbWJkYSIsICJNdSIsICJOdSIsICJYaSIsICJPbWljcm9uIiwgIlBpIiwgIlJobyIsICJTaWdtYSIsICJUYXUiLCAiVXBzaWxvbiIsICJQaGkiLCAiQ2hpIiwgIlBzaSIsICJPbWVnYSIsICJhbHBoYSIsICJiZXRhIiwgImdhbW1hIiwgImRlbHRhIiwgImVwc2lsb24iLCAiemV0YSIsICJldGEiLCAidGhldGEiLCAiaW90YSIsICJrYXBwYSIsICJsYW1iZGEiLCAibXUiLCAibnUiLCAieGkiLCAib21pY3JvbiIsICJwaSIsICJyaG8iLCAic2lnbWFmIiwgInNpZ21hIiwgInRhdSIsICJ1cHNpbG9uIiwgInBoaSIsICJjaGkiLCAicHNpIiwgIm9tZWdhIiwgInRoZXRhc3ltIiwgInVwc2loIiwgInBpdiIsICJlbnNwIiwgImVtc3AiLCAidGhpbnNwIiwgInp3bmoiLCAiendqIiwgImxybSIsICJybG0iLCAibmRhc2giLCAibWRhc2giLCAibHNxdW8iLCAicnNxdW8iLCAic2JxdW8iLCAibGRxdW8iLCAicmRxdW8iLCAiYmRxdW8iLCAiZGFnZ2VyIiwgIkRhZ2dlciIsICJidWxsIiwgImhlbGxpcCIsICJwZXJtaWwiLCAicHJpbWUiLCAiUHJpbWUiLCAibHNhcXVvIiwgInJzYXF1byIsICJvbGluZSIsICJmcmFzbCIsICJldXJvIiwgImltYWdlIiwgIndlaWVycCIsICJyZWFsIiwgInRyYWRlIiwgImFsZWZzeW0iLCAibGFyciIsICJ1YXJyIiwgInJhcnIiLCAiZGFyciIsICJoYXJyIiwgImNyYXJyIiwgImxBcnIiLCAidUFyciIsICJyQXJyIiwgImRBcnIiLCAiaEFyciIsICJmb3JhbGwiLCAicGFydCIsICJleGlzdCIsICJuYWJsYSIsICJpc2luIiwgIm5vdGluIiwgIm5pIiwgInByb2QiLCAic3VtIiwgIm1pbnVzIiwgImxvd2FzdCIsICJyYWRpYyIsICJpbmZpbiIsICJhbmciLCAiYW5kIiwgIm9yIiwgImNhcCIsICJjdXAiLCAiaW50IiwgInRoZXJlNCIsICJzaW0iLCAiY29uZyIsICJhc3ltcCIsICJuZSIsICJlcXVpdiIsICJsZSIsICJnZSIsICJzdWIiLCAic3VwIiwgIm5zdWIiLCAic3ViZSIsICJzdXBlIiwgIm9wbHVzIiwgIm90aW1lcyIsICJwZXJwIiwgInNkb3QiLCAibGNlaWwiLCAicmNlaWwiLCAibGZsb29yIiwgInJmbG9vciIsICJsYW5nIiwgInJhbmciLCAibG96IiwgInNwYWRlcyIsICJjbHVicyIsICJoZWFydHMiLCAiZGlhbXMiLCAiSnN4RXJyb3JzIiwgIkF0dHJpYnV0ZUlzRW1wdHkiLCAiTWlzc2luZ0Nsb3NpbmdUYWdFbGVtZW50IiwgIm9wZW5pbmdUYWdOYW1lIiwgIk1pc3NpbmdDbG9zaW5nVGFnRnJhZ21lbnQiLCAiVW5leHBlY3RlZFNlcXVlbmNlRXhwcmVzc2lvbiIsICJIVE1MRW50aXR5IiwgIlVuc3VwcG9ydGVkSnN4VmFsdWUiLCAiVW50ZXJtaW5hdGVkSnN4Q29udGVudCIsICJVbndyYXBwZWRBZGphY2VudEpTWEVsZW1lbnRzIiwgImlzRnJhZ21lbnQiLCAiZ2V0UXVhbGlmaWVkSlNYTmFtZSIsICJuYW1lc3BhY2UiLCAianN4UmVhZFRva2VuIiwgImpzeFJlYWRFbnRpdHkiLCAianN4UmVhZE5ld0xpbmUiLCAibm9ybWFsaXplQ1JMRiIsICJqc3hSZWFkU3RyaW5nIiwgImNvZGVQb2ludCIsICJjb3VudCIsICJkZXNjIiwgImVudGl0eSIsICJYSFRNTEVudGl0aWVzIiwgImpzeFJlYWRXb3JkIiwgImpzeFBhcnNlSWRlbnRpZmllciIsICJqc3hQYXJzZU5hbWVzcGFjZWROYW1lIiwgImpzeFBhcnNlRWxlbWVudE5hbWUiLCAianN4UGFyc2VBdHRyaWJ1dGVWYWx1ZSIsICJzZXRDb250ZXh0IiwgImpzeFBhcnNlRXhwcmVzc2lvbkNvbnRhaW5lciIsICJqc3hQYXJzZUVtcHR5RXhwcmVzc2lvbiIsICJqc3hQYXJzZVNwcmVhZENoaWxkIiwgInByZXZpb3VzQ29udGV4dCIsICJqc3hQYXJzZUF0dHJpYnV0ZSIsICJqc3hQYXJzZU9wZW5pbmdFbGVtZW50QXQiLCAianN4UGFyc2VPcGVuaW5nRWxlbWVudEFmdGVyTmFtZSIsICJzZWxmQ2xvc2luZyIsICJqc3hQYXJzZUNsb3NpbmdFbGVtZW50QXQiLCAianN4UGFyc2VFbGVtZW50QXQiLCAiY2hpbGRyZW4iLCAib3BlbmluZ0VsZW1lbnQiLCAiY2xvc2luZ0VsZW1lbnQiLCAiY29udGVudHMiLCAib3BlbmluZ0ZyYWdtZW50IiwgImNsb3NpbmdGcmFnbWVudCIsICJqc3hQYXJzZUVsZW1lbnQiLCAibmV3Q29udGV4dCIsICJUeXBlU2NyaXB0U2NvcGUiLCAidHNOYW1lcyIsICJUeXBlU2NyaXB0U2NvcGVIYW5kbGVyIiwgImltcG9ydHNTdGFjayIsICJoYXNJbXBvcnQiLCAiYWxsb3dTaGFkb3ciLCAiaXNDb25zdCIsICJ3YXNDb25zdCIsICJ1bndyYXBQYXJlbnRoZXNpemVkRXhwcmVzc2lvbiIsICJMVmFsUGFyc2VyIiwgIl9ub2RlJGV4dHJhMyIsICJsYXN0IiwgIl9ub2RlJGV4dHJhMiIsICJvcGVyYXRvciIsICJhcmciLCAiY2hlY2tUb1Jlc3RDb252ZXJzaW9uIiwgImVsdCIsICJlbGVtZW50IiwgInRvUmVmZXJlbmNlZExpc3REZWVwIiwgInBhcnNlU3ByZWFkIiwgInBhcnNlUmVzdEJpbmRpbmciLCAicGFyc2VCaW5kaW5nTGlzdCIsICJQYXJzZUJpbmRpbmdMaXN0RmxhZ3MiLCAicGFyc2VPYmplY3RMaWtlIiwgImNsb3NlQ2hhckNvZGUiLCAiYWxsb3dFbXB0eSIsICJlbHRzIiwgImNoZWNrQ29tbWFBZnRlclJlc3QiLCAicGFyc2VEZWNvcmF0b3IiLCAicGFyc2VBc3NpZ25hYmxlTGlzdEl0ZW0iLCAicGFyc2VCaW5kaW5nUmVzdFByb3BlcnR5IiwgInBhcnNlQmluZGluZ1Byb3BlcnR5IiwgInBhcnNlUHJvcGVydHlOYW1lIiwgIl9sZWZ0IiwgImNoZWNrTFZhbCIsICJjaGVja0NsYXNoZXMiLCAiaGFzUGFyZW50aGVzaXplZEFuY2VzdG9yIiwgIl9leHByZXNzaW9uJGV4dHJhIiwgImNoZWNrSWRlbnRpZmllciIsICJ2YWxpZGl0eSIsICJQYXJzZUVycm9yQ2xhc3MiLCAiaXNQYXJlbnRoZXNpemVkRXhwcmVzc2lvbiIsICJuZXh0QW5jZXN0b3IiLCAiY2hpbGQiLCAiZGVjbGFyZU5hbWVGcm9tSWRlbnRpZmllciIsICJpZGVudGlmaWVyIiwgImFsbG93UGF0dGVybiIsICJub25OdWxsIiwgIngiLCAiYXNzZXJ0IiwgIlRTRXJyb3JzIiwgIkFic3RyYWN0TWV0aG9kSGFzSW1wbGVtZW50YXRpb24iLCAibWV0aG9kTmFtZSIsICJBYnN0cmFjdFByb3BlcnR5SGFzSW5pdGlhbGl6ZXIiLCAicHJvcGVydHlOYW1lIiwgIkFjY2Vzc29yQ2Fubm90QmVPcHRpb25hbCIsICJDbGFzc01ldGhvZEhhc0RlY2xhcmUiLCAiQ2xhc3NNZXRob2RIYXNSZWFkb25seSIsICJDb25zdHJ1Y3Rvckhhc1R5cGVQYXJhbWV0ZXJzIiwgIkRlY2xhcmVBY2Nlc3NvciIsICJEZWNsYXJlQ2xhc3NGaWVsZEhhc0luaXRpYWxpemVyIiwgIkRlY2xhcmVGdW5jdGlvbkhhc0ltcGxlbWVudGF0aW9uIiwgIkR1cGxpY2F0ZUFjY2Vzc2liaWxpdHlNb2RpZmllciIsICJtb2RpZmllciIsICJEdXBsaWNhdGVNb2RpZmllciIsICJFbXB0eUhlcml0YWdlQ2xhdXNlVHlwZSIsICJFbXB0eVR5cGVBcmd1bWVudHMiLCAiRW1wdHlUeXBlUGFyYW1ldGVycyIsICJFeHBlY3RlZEFtYmllbnRBZnRlckV4cG9ydERlY2xhcmUiLCAiSW1wb3J0QWxpYXNIYXNJbXBvcnRUeXBlIiwgIkluY29tcGF0aWJsZU1vZGlmaWVycyIsICJtb2RpZmllcnMiLCAiSW5kZXhTaWduYXR1cmVIYXNBYnN0cmFjdCIsICJJbmRleFNpZ25hdHVyZUhhc0FjY2Vzc2liaWxpdHkiLCAiSW5kZXhTaWduYXR1cmVIYXNEZWNsYXJlIiwgIkluZGV4U2lnbmF0dXJlSGFzT3ZlcnJpZGUiLCAiSW5kZXhTaWduYXR1cmVIYXNTdGF0aWMiLCAiSW5pdGlhbGl6ZXJOb3RBbGxvd2VkSW5BbWJpZW50Q29udGV4dCIsICJJbnZhbGlkTW9kaWZpZXJPblR5cGVNZW1iZXIiLCAiSW52YWxpZE1vZGlmaWVyT25UeXBlUGFyYW1ldGVyIiwgIkludmFsaWRNb2RpZmllck9uVHlwZVBhcmFtZXRlclBvc2l0aW9ucyIsICJJbnZhbGlkTW9kaWZpZXJzT3JkZXIiLCAib3JkZXJlZE1vZGlmaWVycyIsICJJbnZhbGlkUHJvcGVydHlBY2Nlc3NBZnRlckluc3RhbnRpYXRpb25FeHByZXNzaW9uIiwgIkludmFsaWRUdXBsZU1lbWJlckxhYmVsIiwgIk1pc3NpbmdJbnRlcmZhY2VOYW1lIiwgIk5vbkFic3RyYWN0Q2xhc3NIYXNBYnN0cmFjdE1ldGhvZCIsICJOb25DbGFzc01ldGhvZFByb3BlcnR5SGFzQWJzdHJhY3RNb2RpZmVyIiwgIk9wdGlvbmFsVHlwZUJlZm9yZVJlcXVpcmVkIiwgIk92ZXJyaWRlTm90SW5TdWJDbGFzcyIsICJQcml2YXRlRWxlbWVudEhhc0Fic3RyYWN0IiwgIlByaXZhdGVFbGVtZW50SGFzQWNjZXNzaWJpbGl0eSIsICJSZWFkb25seUZvck1ldGhvZFNpZ25hdHVyZSIsICJSZXNlcnZlZEFycm93VHlwZVBhcmFtIiwgIlJlc2VydmVkVHlwZUFzc2VydGlvbiIsICJTaW5nbGVUeXBlUGFyYW1ldGVyV2l0aG91dFRyYWlsaW5nQ29tbWEiLCAidHlwZVBhcmFtZXRlck5hbWUiLCAiU3RhdGljQmxvY2tDYW5ub3RIYXZlTW9kaWZpZXIiLCAiVHVwbGVPcHRpb25hbEFmdGVyVHlwZSIsICJUeXBlQW5ub3RhdGlvbkFmdGVyQXNzaWduIiwgIlR5cGVJbXBvcnRDYW5ub3RTcGVjaWZ5RGVmYXVsdEFuZE5hbWVkIiwgIlR5cGVNb2RpZmllcklzVXNlZEluVHlwZUV4cG9ydHMiLCAiVHlwZU1vZGlmaWVySXNVc2VkSW5UeXBlSW1wb3J0cyIsICJVbmV4cGVjdGVkUGFyYW1ldGVyTW9kaWZpZXIiLCAiVW5leHBlY3RlZFJlYWRvbmx5IiwgIlVuZXhwZWN0ZWRUeXBlQW5ub3RhdGlvbiIsICJVbmV4cGVjdGVkVHlwZUNhc3RJblBhcmFtZXRlciIsICJVbnN1cHBvcnRlZEltcG9ydFR5cGVBcmd1bWVudCIsICJVbnN1cHBvcnRlZFBhcmFtZXRlclByb3BlcnR5S2luZCIsICJVbnN1cHBvcnRlZFNpZ25hdHVyZVBhcmFtZXRlcktpbmQiLCAia2V5d29yZFR5cGVGcm9tTmFtZSIsICJ0c0lzQWNjZXNzTW9kaWZpZXIiLCAidHNJc1ZhcmlhbmNlQW5ub3RhdGlvbnMiLCAidHlwZXNjcmlwdCIsICJ0c1BhcnNlSW5PdXRNb2RpZmllcnMiLCAidHNQYXJzZU1vZGlmaWVycyIsICJiaW5kIiwgImFsbG93ZWRNb2RpZmllcnMiLCAiZGlzYWxsb3dlZE1vZGlmaWVycyIsICJlcnJvclRlbXBsYXRlIiwgInRzUGFyc2VDb25zdE1vZGlmaWVyIiwgInRzUGFyc2VJbk91dENvbnN0TW9kaWZpZXJzIiwgInRzSXNJZGVudGlmaWVyIiwgInRzVG9rZW5DYW5Gb2xsb3dNb2RpZmllciIsICJ0c05leHRUb2tlbk9uU2FtZUxpbmVBbmRDYW5Gb2xsb3dNb2RpZmllciIsICJ0c05leHRUb2tlbkNhbkZvbGxvd01vZGlmaWVyIiwgInRzUGFyc2VNb2RpZmllciIsICJzdG9wT25TdGFydE9mQ2xhc3NTdGF0aWNCbG9jayIsICJ0c0lzU3RhcnRPZlN0YXRpY0Jsb2NrcyIsICJ0c1RyeVBhcnNlIiwgIm1vZGlmaWVkIiwgImVuZm9yY2VPcmRlciIsICJiZWZvcmUiLCAiYWZ0ZXIiLCAiaW5jb21wYXRpYmxlIiwgIm1vZDEiLCAibW9kMiIsICJhY2Nlc3NpYmlsaXR5IiwgImhhc093blByb3BlcnR5IiwgInRzSXNMaXN0VGVybWluYXRvciIsICJ0c1BhcnNlTGlzdCIsICJwYXJzZUVsZW1lbnQiLCAidHNQYXJzZURlbGltaXRlZExpc3QiLCAicmVmVHJhaWxpbmdDb21tYVBvcyIsICJ0c1BhcnNlRGVsaW1pdGVkTGlzdFdvcmtlciIsICJleHBlY3RTdWNjZXNzIiwgInRyYWlsaW5nQ29tbWFQb3MiLCAidHNQYXJzZUJyYWNrZXRlZExpc3QiLCAiYnJhY2tldCIsICJza2lwRmlyc3RUb2tlbiIsICJ0c1BhcnNlSW1wb3J0VHlwZSIsICJxdWFsaWZpZXIiLCAidHNQYXJzZUVudGl0eU5hbWUiLCAidHNQYXJzZVR5cGVBcmd1bWVudHMiLCAiYWxsb3dSZXNlcnZlZFdvcmRzIiwgInRzUGFyc2VUeXBlUmVmZXJlbmNlIiwgInR5cGVOYW1lIiwgInRzUGFyc2VUaGlzVHlwZVByZWRpY2F0ZSIsICJsaHMiLCAicGFyYW1ldGVyTmFtZSIsICJ0c1BhcnNlVHlwZUFubm90YXRpb24iLCAiYXNzZXJ0cyIsICJ0c1BhcnNlVGhpc1R5cGVOb2RlIiwgInRzUGFyc2VUeXBlUXVlcnkiLCAiZXhwck5hbWUiLCAidHNQYXJzZVR5cGVQYXJhbWV0ZXIiLCAicGFyc2VNb2RpZmllcnMiLCAidHNQYXJzZVR5cGVQYXJhbWV0ZXJOYW1lIiwgImNvbnN0cmFpbnQiLCAidHNFYXRUaGVuUGFyc2VUeXBlIiwgInRzVHJ5UGFyc2VUeXBlUGFyYW1ldGVycyIsICJ0c1BhcnNlVHlwZVBhcmFtZXRlcnMiLCAidHNGaWxsU2lnbmF0dXJlIiwgInJldHVyblRva2VuIiwgInNpZ25hdHVyZSIsICJyZXR1cm5Ub2tlblJlcXVpcmVkIiwgInBhcmFtc0tleSIsICJyZXR1cm5UeXBlS2V5IiwgInRzUGFyc2VCaW5kaW5nTGlzdEZvclNpZ25hdHVyZSIsICJ0c1BhcnNlVHlwZU9yVHlwZVByZWRpY2F0ZUFubm90YXRpb24iLCAidHNQYXJzZVR5cGVNZW1iZXJTZW1pY29sb24iLCAidHNQYXJzZVNpZ25hdHVyZU1lbWJlciIsICJ0c0lzVW5hbWJpZ3VvdXNseUluZGV4U2lnbmF0dXJlIiwgInRzVHJ5UGFyc2VJbmRleFNpZ25hdHVyZSIsICJ0c0xvb2tBaGVhZCIsICJwYXJhbWV0ZXJzIiwgInRzVHJ5UGFyc2VUeXBlQW5ub3RhdGlvbiIsICJ0c1BhcnNlUHJvcGVydHlPck1ldGhvZFNpZ25hdHVyZSIsICJyZWFkb25seSIsICJub2RlQW55IiwgImZpcnN0UGFyYW1ldGVyIiwgInRzUGFyc2VUeXBlTWVtYmVyIiwgImlkeCIsICJ0c1BhcnNlVHlwZUxpdGVyYWwiLCAidHNQYXJzZU9iamVjdFR5cGVNZW1iZXJzIiwgInRzSXNTdGFydE9mTWFwcGVkVHlwZSIsICJ0c1BhcnNlTWFwcGVkVHlwZSIsICJ0c0V4cGVjdFRoZW5QYXJzZVR5cGUiLCAibmFtZVR5cGUiLCAidHNQYXJzZVR5cGUiLCAidHNUcnlQYXJzZVR5cGUiLCAidHNQYXJzZVR1cGxlVHlwZSIsICJlbGVtZW50VHlwZXMiLCAidHNQYXJzZVR1cGxlRWxlbWVudFR5cGUiLCAic2Vlbk9wdGlvbmFsRWxlbWVudCIsICJlbGVtZW50Tm9kZSIsICJsYWJlbGVkIiwgImNoQWZ0ZXJXb3JkIiwgIndvcmROYW1lIiwgInR5cGVPckxhYmVsIiwgInRzUGFyc2VOb25BcnJheVR5cGUiLCAibGFiZWxlZE5vZGUiLCAib3B0aW9uYWxUeXBlTm9kZSIsICJyZXN0Tm9kZSIsICJ0c1BhcnNlUGFyZW50aGVzaXplZFR5cGUiLCAidHNQYXJzZUZ1bmN0aW9uT3JDb25zdHJ1Y3RvclR5cGUiLCAiYWJzdHJhY3QiLCAidHNJbkFsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQiLCAidHNQYXJzZUxpdGVyYWxUeXBlTm9kZSIsICJ0c1BhcnNlVGVtcGxhdGVMaXRlcmFsVHlwZSIsICJwYXJzZVRlbXBsYXRlIiwgInBhcnNlVGVtcGxhdGVTdWJzdGl0dXRpb24iLCAidHNQYXJzZVRoaXNUeXBlT3JUaGlzVHlwZVByZWRpY2F0ZSIsICJ0aGlzS2V5d29yZCIsICJwYXJzZU1heWJlVW5hcnkiLCAibm9kZVR5cGUiLCAidHNQYXJzZUFycmF5VHlwZU9ySGlnaGVyIiwgInRzUGFyc2VUeXBlT3BlcmF0b3IiLCAidHNQYXJzZVR5cGVPcGVyYXRvck9ySGlnaGVyIiwgInRzQ2hlY2tUeXBlQW5ub3RhdGlvbkZvclJlYWRPbmx5IiwgInRzUGFyc2VJbmZlclR5cGUiLCAidHNQYXJzZUNvbnN0cmFpbnRGb3JJbmZlclR5cGUiLCAidHNJbkRpc2FsbG93Q29uZGl0aW9uYWxUeXBlc0NvbnRleHQiLCAidHNQYXJzZVVuaW9uT3JJbnRlcnNlY3Rpb25UeXBlIiwgInBhcnNlQ29uc3RpdHVlbnRUeXBlIiwgImhhc0xlYWRpbmdPcGVyYXRvciIsICJ0c1BhcnNlSW50ZXJzZWN0aW9uVHlwZU9ySGlnaGVyIiwgInRzUGFyc2VVbmlvblR5cGVPckhpZ2hlciIsICJ0c0lzU3RhcnRPZkZ1bmN0aW9uVHlwZSIsICJ0c0lzVW5hbWJpZ3VvdXNseVN0YXJ0T2ZGdW5jdGlvblR5cGUiLCAidHNTa2lwUGFyYW1ldGVyU3RhcnQiLCAicHJldmlvdXNFcnJvckNvdW50IiwgInRzSW5UeXBlIiwgInQiLCAidHNQYXJzZVR5cGVQcmVkaWNhdGVBc3NlcnRzIiwgInRoaXNUeXBlUHJlZGljYXRlIiwgInR5cGVQcmVkaWNhdGVWYXJpYWJsZSIsICJ0c1BhcnNlVHlwZVByZWRpY2F0ZVByZWZpeCIsICJ0c1RyeVBhcnNlVHlwZU9yVHlwZVByZWRpY2F0ZUFubm90YXRpb24iLCAiZWF0Q29sb24iLCAidHNQYXJzZU5vbkNvbmRpdGlvbmFsVHlwZSIsICJjaGVja1R5cGUiLCAiZXh0ZW5kc1R5cGUiLCAidHJ1ZVR5cGUiLCAiZmFsc2VUeXBlIiwgImlzQWJzdHJhY3RDb25zdHJ1Y3RvclNpZ25hdHVyZSIsICJ0c1BhcnNlVHlwZUFzc2VydGlvbiIsICJ0c1BhcnNlSGVyaXRhZ2VDbGF1c2UiLCAib3JpZ2luYWxTdGFydExvYyIsICJkZWxpbWl0ZWRMaXN0IiwgInRzUGFyc2VJbnRlcmZhY2VEZWNsYXJhdGlvbiIsICJ0c1BhcnNlVHlwZUFsaWFzRGVjbGFyYXRpb24iLCAidHNJbk5vQ29udGV4dCIsICJjYiIsICJvbGRDb250ZXh0IiwgIm9sZEluRGlzYWxsb3dDb25kaXRpb25hbFR5cGVzQ29udGV4dCIsICJ0c05leHRUaGVuUGFyc2VUeXBlIiwgInRzUGFyc2VFbnVtTWVtYmVyIiwgImluaXRpYWxpemVyIiwgInRzUGFyc2VFbnVtRGVjbGFyYXRpb24iLCAidHNQYXJzZU1vZHVsZUJsb2NrIiwgInBhcnNlQmxvY2tPck1vZHVsZUJsb2NrQm9keSIsICJ0c1BhcnNlTW9kdWxlT3JOYW1lc3BhY2VEZWNsYXJhdGlvbiIsICJuZXN0ZWQiLCAiaW5uZXIiLCAidHNQYXJzZUFtYmllbnRFeHRlcm5hbE1vZHVsZURlY2xhcmF0aW9uIiwgImdsb2JhbCIsICJ0c1BhcnNlSW1wb3J0RXF1YWxzRGVjbGFyYXRpb24iLCAibWF5YmVEZWZhdWx0SWRlbnRpZmllciIsICJtb2R1bGVSZWZlcmVuY2UiLCAidHNQYXJzZU1vZHVsZVJlZmVyZW5jZSIsICJ0c0lzRXh0ZXJuYWxNb2R1bGVSZWZlcmVuY2UiLCAidHNQYXJzZUV4dGVybmFsTW9kdWxlUmVmZXJlbmNlIiwgImYiLCAidHNUcnlQYXJzZUFuZENhdGNoIiwgInRzVHJ5UGFyc2VEZWNsYXJlIiwgIm5hbnkiLCAic3RhcnRUeXBlIiwgInRzSW5BbWJpZW50Q29udGV4dCIsICJwYXJzZUZ1bmN0aW9uU3RhdGVtZW50IiwgInBhcnNlQ2xhc3MiLCAicGFyc2VWYXJTdGF0ZW1lbnQiLCAidHNQYXJzZURlY2xhcmF0aW9uIiwgInRzVHJ5UGFyc2VFeHBvcnREZWNsYXJhdGlvbiIsICJ0c1BhcnNlRXhwcmVzc2lvblN0YXRlbWVudCIsICJtb2QiLCAidHNDaGVja0xpbmVUZXJtaW5hdG9yIiwgInRzUGFyc2VBYnN0cmFjdERlY2xhcmF0aW9uIiwgInRzVHJ5UGFyc2VHZW5lcmljQXN5bmNBcnJvd0Z1bmN0aW9uIiwgIm9sZE1heWJlSW5BcnJvd1BhcmFtZXRlcnMiLCAidHNQYXJzZVR5cGVBcmd1bWVudHNJbkV4cHJlc3Npb24iLCAicmVTY2FuX2x0IiwgInJlU2Nhbl9sdF9ndCIsICJ0c0lzRGVjbGFyYXRpb25TdGFydCIsICJvdmVycmlkZSIsICJwcCIsICJwYXJhbWV0ZXIiLCAiaXNTaW1wbGVQYXJhbWV0ZXIiLCAidHNEaXNhbGxvd09wdGlvbmFsUGF0dGVybiIsICJib2RpbGVzc1R5cGUiLCAicmVnaXN0ZXJGdW5jdGlvblN0YXRlbWVudElkIiwgInRzQ2hlY2tGb3JJbnZhbGlkVHlwZUNhc3RzIiwgIml0ZW1zIiwgImlzSW5QYXJlbnMiLCAibm9uTnVsbEV4cHJlc3Npb24iLCAiaXNPcHRpb25hbENhbGwiLCAibWlzc2luZ1BhcmVuRXJyb3JMb2MiLCAiYXRQb3NzaWJsZUFzeW5jQXJyb3ciLCAiYXN5bmNBcnJvd0ZuIiwgInBhcnNlVGFnZ2VkVGVtcGxhdGVFeHByZXNzaW9uIiwgInRva2VuVHlwZSIsICJfY2FsbGVlJGV4dHJhIiwgInBhcnNlRXhwck9wIiwgImxlZnRTdGFydExvYyIsICJtaW5QcmVjIiwgImlzU2F0aXNmaWVzIiwgImNoZWNrS2V5d29yZHMiLCAiY2hlY2tEdXBsaWNhdGVFeHBvcnRzIiwgImltcG9ydE5vZGUiLCAicGFyc2VNYXliZUltcG9ydFBoYXNlIiwgInBhcnNlSW1wb3J0U3BlY2lmaWVyc0FuZEFmdGVyIiwgIm5vZGVJbXBvcnRFcXVhbHMiLCAiaXNBYnN0cmFjdENsYXNzIiwgImNscyIsICJhbGxvd01pc3NpbmdJbml0aWFsaXplciIsICJkZWNsYXJhdGlvbnMiLCAiaXNWYWxpZEFtYmllbnRDb25zdEluaXRpYWxpemVyIiwgInBhcnNlU3RhdGVtZW50Q29udGVudCIsICJwYXJzZUFjY2Vzc01vZGlmaWVyIiwgInRzSGFzU29tZU1vZGlmaWVycyIsICJjYWxsUGFyc2VDbGFzc01lbWJlcldpdGhJc1N0YXRpYyIsICJwYXJzZUNsYXNzU3RhdGljQmxvY2siLCAicGFyc2VDbGFzc01lbWJlcldpdGhJc1N0YXRpYyIsICJoYWRTdXBlckNsYXNzIiwgInBhcnNlUG9zdE1lbWJlck5hbWVNb2RpZmllcnMiLCAibWV0aG9kT3JQcm9wIiwgImlzRGVjbGFyZSIsICJwYXJzZUNsYXNzUHJvcGVydHlBbm5vdGF0aW9uIiwgImRlZmluaXRlIiwgInBhcnNlQ2xhc3NBY2Nlc3NvclByb3BlcnR5IiwgImRlY2xhcmVDbGFzc1ByaXZhdGVNZXRob2RJblNjb3BlIiwgIl90eXBlQ2FzdCIsICJfdHlwZUNhc3QyIiwgInR5cGVDYXN0IiwgIl90eXBlUGFyYW1ldGVycyIsICJyZXBvcnRSZXNlcnZlZEFycm93VHlwZVBhcmFtIiwgInRyYWlsaW5nQ29tbWEiLCAic2F3VW5hcnkiLCAidG9Bc3NpZ25hYmxlUGFyZW50aGVzaXplZEV4cHJlc3Npb24iLCAicGFyc2VNYXliZURlY29yYXRvckFyZ3VtZW50cyIsICJjYW5IYXZlTGVhZGluZ0RlY29yYXRvciIsICJnZXRHZXR0ZXJTZXR0ZXJFeHBlY3RlZFBhcmFtQ291bnQiLCAiYmFzZUNvdW50IiwgImZpcnN0UGFyYW0iLCAicGFyc2VDYXRjaENsYXVzZVBhcmFtIiwgIm9sZElzQW1iaWVudENvbnRleHQiLCAib2xkU3RyaWN0IiwgIm9sZEluQWJzdHJhY3RDbGFzcyIsICJtYXliZVRha2VEZWNvcmF0b3JzIiwgInNob3VsZFBhcnNlQXNBbWJpZW50Q29udGV4dCIsICJnZXRFeHByZXNzaW9uIiwgInBhcnNlRXhwb3J0U3BlY2lmaWVyIiwgImlzU3RyaW5nIiwgImlzSW5UeXBlRXhwb3J0IiwgInBhcnNlVHlwZU9ubHlJbXBvcnRFeHBvcnRTcGVjaWZpZXIiLCAiaXNJbXBvcnQiLCAiaXNJblR5cGVPbmx5SW1wb3J0RXhwb3J0IiwgImxlZnRPZkFzS2V5IiwgInJpZ2h0T2ZBc0tleSIsICJsZWZ0T2ZBcyIsICJyaWdodE9mQXMiLCAiaGFzVHlwZVNwZWNpZmllciIsICJjYW5QYXJzZUFzS2V5d29yZCIsICJmaXJzdEFzIiwgInNlY29uZEFzIiwgInBhcnNlTW9kdWxlRXhwb3J0TmFtZSIsICJraW5kS2V5IiwgImlzUG9zc2libHlMaXRlcmFsRW51bSIsICJleHByZXNzaW9ucyIsICJpc1VuY29tcHV0ZWRNZW1iZXJFeHByZXNzaW9uQ2hhaW4iLCAiaXNOdW1iZXIiLCAiaXNOZWdhdGl2ZU51bWJlciIsICJQbGFjZWhvbGRlckVycm9ycyIsICJDbGFzc05hbWVJc1JlcXVpcmVkIiwgIlVuZXhwZWN0ZWRTcGFjZSIsICJwbGFjZWhvbGRlcnMiLCAicGFyc2VQbGFjZWhvbGRlciIsICJhc3NlcnROb1NwYWNlIiwgImZpbmlzaFBsYWNlaG9sZGVyIiwgImNoU3RhcnRzQmluZGluZ0lkZW50aWZpZXIiLCAidmVyaWZ5QnJlYWtDb250aW51ZSIsICJpc0JyZWFrIiwgInBhcnNlU3RhdGVtZW50T3JTbG9wcHlBbm5leEJGdW5jdGlvbkRlY2xhcmF0aW9uIiwgInN0bXRQbGFjZWhvbGRlciIsICJwYXJzZUJsb2NrIiwgImNyZWF0ZU5ld0xleGljYWxTY29wZSIsICJwYXJzZUZ1bmN0aW9uSWQiLCAicmVxdWlyZUlkIiwgInBhcnNlQ2xhc3NCb2R5IiwgInN0YXJ0c1dpdGgiLCAibWF5YmVQYXJzZUV4cG9ydERlZmF1bHRTcGVjaWZpZXIiLCAiX3NwZWNpZmllcnMiLCAiY2hlY2tFeHBvcnQiLCAiZmlsdGVyIiwgIm1heWJlUGFyc2VTdGFySW1wb3J0U3BlY2lmaWVyIiwgInBhcnNlTmFtZWRJbXBvcnRTcGVjaWZpZXJzIiwgInBhcnNlSW1wb3J0U291cmNlIiwgInY4aW50cmluc2ljIiwgInBhcnNlVjhJbnRyaW5zaWMiLCAidjhJbnRyaW5zaWNTdGFydExvYyIsICJwYXJzZUlkZW50aWZpZXJOYW1lIiwgIlBJUEVMSU5FX1BST1BPU0FMUyIsICJUT1BJQ19UT0tFTlMiLCAidmFsaWRhdGVQbHVnaW5zIiwgInBsdWdpbnNNYXAiLCAiZGVjb3JhdG9yc0JlZm9yZUV4cG9ydCIsICJhbGxvd0NhbGxQYXJlbnRoZXNpemVkIiwgIl9wbHVnaW5zTWFwJGdldCIsICJwcm9wb3NhbExpc3QiLCAicCIsICJ0dXBsZVN5bnRheElzSGFzaCIsICJzeW50YXhUeXBlIiwgInRva2VuTGlzdCIsICJ2ZXJzaW9uIiwgImRlcHJlY2F0ZWRBc3NlcnRTeW50YXgiLCAiUkVDT1JEX0FORF9UVVBMRV9TWU5UQVhfVFlQRVMiLCAibWlzc2luZ1BsdWdpbnMiLCAibWl4aW5QbHVnaW5zIiwgIm1peGluUGx1Z2luTmFtZXMiLCAiY3JlYXRlRGVmYXVsdE9wdGlvbnMiLCAic291cmNlRmlsZW5hbWUiLCAiYWxsb3dBd2FpdE91dHNpZGVGdW5jdGlvbiIsICJhbGxvd1JldHVybk91dHNpZGVGdW5jdGlvbiIsICJhbGxvd05ld1RhcmdldE91dHNpZGVGdW5jdGlvbiIsICJhbGxvd0ltcG9ydEV4cG9ydEV2ZXJ5d2hlcmUiLCAiYWxsb3dTdXBlck91dHNpZGVNZXRob2QiLCAiYWxsb3dVbmRlY2xhcmVkRXhwb3J0cyIsICJjcmVhdGVJbXBvcnRFeHByZXNzaW9ucyIsICJjcmVhdGVQYXJlbnRoZXNpemVkRXhwcmVzc2lvbnMiLCAiZ2V0T3B0aW9ucyIsICJvcHRzIiwgIkV4cHJlc3Npb25QYXJzZXIiLCAiY2hlY2tQcm90byIsICJpc1JlY29yZCIsICJwcm90b1JlZiIsICJ1c2VkIiwgInNob3VsZEV4aXREZXNjZW5kaW5nIiwgImRpc2FsbG93SW4iLCAiZGlzYWxsb3dJbkFuZCIsICJwYXJzZUV4cHJlc3Npb25CYXNlIiwgImFsbG93SW5BbmQiLCAicGFyc2VNYXliZUFzc2lnbkRpc2FsbG93SW4iLCAicmVzdWx0RXJyb3IiLCAiX3Jlc3VsdEVycm9yJGxvYyIsICJwYXJzZVlpZWxkIiwgIm93bkV4cHJlc3Npb25FcnJvcnMiLCAicGFyc2VNYXliZUNvbmRpdGlvbmFsIiwgInBhcnNlRXhwck9wcyIsICJwYXJzZU1heWJlVW5hcnlPclByaXZhdGUiLCAib3AiLCAicHJlYyIsICJjaGVja1BpcGVsaW5lQXRJbmZpeE9wZXJhdG9yIiwgImxvZ2ljYWwiLCAiY29hbGVzY2UiLCAicGFyc2VFeHByT3BSaWdodEV4cHIiLCAiZmluaXNoZWROb2RlIiwgIm5leHRPcCIsICJ3aXRoVG9waWNCaW5kaW5nQ29udGV4dCIsICJwYXJzZUhhY2tQaXBlQm9keSIsICJwYXJzZVNtYXJ0UGlwZWxpbmVCb2R5SW5TdHlsZSIsICJwYXJzZUV4cHJPcEJhc2VSaWdodEV4cHIiLCAid2l0aFNvbG9Bd2FpdFBlcm1pdHRpbmdDb250ZXh0IiwgInBhcnNlRlNoYXJwUGlwZWxpbmVCb2R5IiwgIl9ib2R5JGV4dHJhIiwgInRvcGljUmVmZXJlbmNlV2FzVXNlZEluQ3VycmVudENvbnRleHQiLCAiY2hlY2tFeHBvbmVudGlhbEFmdGVyVW5hcnkiLCAiaXNBd2FpdCIsICJyZWNvcmRBd2FpdElmQWxsb3dlZCIsICJwYXJzZUF3YWl0IiwgInVwZGF0ZSIsICJpc0RlbGV0ZSIsICJwYXJzZVVwZGF0ZSIsICJpc0FtYmlndW91c0F3YWl0IiwgInVwZGF0ZUV4cHJlc3Npb25Ob2RlIiwgInBhcnNlRXhwclN1YnNjcmlwdHMiLCAibWF5YmVBc3luY0Fycm93IiwgInBhcnNlQmluZCIsICJwYXJzZUNvdmVyQ2FsbEFuZEFzeW5jQXJyb3dIZWFkIiwgInBhcnNlTWVtYmVyIiwgInBhcnNlTm9DYWxsRXhwciIsICJ0YWciLCAicXVhc2kiLCAiYWxsb3dQbGFjZWhvbGRlciIsICJub2RlRm9yRXh0cmEiLCAib2xkSW5GU2hhcnBQaXBlbGluZURpcmVjdEJvZHkiLCAiYWRkVHJhaWxpbmdDb21tYUV4dHJhVG9Ob2RlIiwgInBhcnNlRXhwckxpc3RJdGVtIiwgIl9jYWxsJGV4dHJhIiwgInBhcnNlU3VwZXIiLCAicGFyc2VJbXBvcnRNZXRhUHJvcGVydHkiLCAicGFyc2VJbXBvcnRDYWxsIiwgInBhcnNlRG8iLCAicGFyc2VGdW5jdGlvbk9yRnVuY3Rpb25TZW50IiwgInBhcnNlRGVjb3JhdG9ycyIsICJwYXJzZU5ld09yTmV3VGFyZ2V0IiwgInBhcnNlVG9waWNSZWZlcmVuY2VUaGVuRXF1YWxzU2lnbiIsICJwYXJzZVRvcGljUmVmZXJlbmNlIiwgInBpcGVQcm9wb3NhbCIsICJsb29rYWhlYWRDaCIsICJwYXJzZU1vZHVsZUV4cHJlc3Npb24iLCAicGFyc2VBc3luY0Z1bmN0aW9uRXhwcmVzc2lvbiIsICJwYXJzZUFzeW5jQXJyb3dVbmFyeUZ1bmN0aW9uIiwgInRvcGljVG9rZW5UeXBlIiwgInRvcGljVG9rZW5WYWx1ZSIsICJmaW5pc2hUb3BpY1JlZmVyZW5jZSIsICJ0ZXN0VG9waWNSZWZlcmVuY2VDb25maWd1cmF0aW9uIiwgInRvcGljUmVmZXJlbmNlSXNBbGxvd2VkSW5DdXJyZW50Q29udGV4dCIsICJyZWdpc3RlclRvcGljUmVmZXJlbmNlIiwgIm1ldGEiLCAicGFyc2VNZXRhUHJvcGVydHkiLCAicGFyc2VGdW5jdGlvbiIsICJpc1NvdXJjZSIsICJpbm5lclN0YXJ0TG9jIiwgInNwcmVhZFN0YXJ0TG9jIiwgIm9wdGlvbmFsQ29tbWFTdGFydExvYyIsICJzcHJlYWROb2RlU3RhcnRMb2MiLCAiaW5uZXJFbmRMb2MiLCAiYXJyb3dOb2RlIiwgIndyYXBQYXJlbnRoZXNpcyIsICJwYXJlbkV4cHJlc3Npb24iLCAibWV0YVByb3AiLCAicGFyc2VOZXciLCAicGFyc2VFeHByTGlzdCIsICJwYXJzZVRlbXBsYXRlRWxlbWVudCIsICJpc1RhZ2dlZCIsICJlbGVtU3RhcnQiLCAiZWxlbSIsICJpc1RhaWwiLCAiZW5kT2Zmc2V0IiwgImVsZW1FbmQiLCAiY29va2VkIiwgInRhaWwiLCAiY3VyRWx0IiwgInF1YXNpcyIsICJzdWJzdGl0dXRpb25zIiwgInByb3BIYXNoIiwgInBhcnNlUHJvcGVydHlEZWZpbml0aW9uIiwgIm1heWJlQXN5bmNPckFjY2Vzc29yUHJvcCIsICJrZXlOYW1lIiwgIl9wYXJhbXMiLCAiZmluaXNoZWRQcm9wIiwgImdlbmVyYXRvciIsICJpc0V4cHJlc3Npb24iLCAiaGFzU3RyaWN0TW9kZURpcmVjdGl2ZSIsICJub25TaW1wbGUiLCAiaXNTaW1wbGVQYXJhbUxpc3QiLCAiZm9ybWFsUGFyYW1ldGVycyIsICJpc0F3YWl0QWxsb3dlZCIsICJkZWxlZ2F0aW5nIiwgImRlbGVnYXRlIiwgImNoaWxkRXhwciIsICJpc1NpbXBsZVJlZmVyZW5jZSIsICJjaGVja1NtYXJ0UGlwZVRvcGljQm9keUVhcmx5RXJyb3JzIiwgImNhbGxiYWNrIiwgIm91dGVyQ29udGV4dFRvcGljU3RhdGUiLCAid2l0aFNtYXJ0TWl4VG9waWNGb3JiaWRkaW5nQ29udGV4dCIsICJvdXRlckNvbnRleHRTb2xvQXdhaXRTdGF0ZSIsICJQYXJhbUtpbmQiLCAicmV0IiwgInJldmVydFNjb3BlcyIsICJwYXJzZVByb2dyYW0iLCAibG9vcExhYmVsIiwgInN3aXRjaExhYmVsIiwgImxvbmVTdXJyb2dhdGUiLCAia2V5d29yZFJlbGF0aW9uYWxPcGVyYXRvciIsICJiYWJlbDdDb21wYXRUb2tlbnMiLCAiaGFzaEVuZFBvcyIsICJoYXNoRW5kTG9jIiwgImJhY2txdW90ZUVuZCIsICJiYWNrcXVvdGVFbmRMb2MiLCAic3RhcnRUb2tlbiIsICJ0ZW1wbGF0ZVZhbHVlIiwgInRlbXBsYXRlRWxlbWVudEVuZCIsICJ0ZW1wbGF0ZUVsZW1lbnRFbmRMb2MiLCAiZW5kVG9rZW4iLCAiU3RhdGVtZW50UGFyc2VyIiwgImludGVycHJldGVyIiwgInBhcnNlSW50ZXJwcmV0ZXJEaXJlY3RpdmUiLCAiZmluaXNoZWRQcm9ncmFtIiwgInN0bXRUb0RpcmVjdGl2ZSIsICJkaXJlY3RpdmVMaXRlcmFsIiwgImhhc0ZvbGxvd2luZ0JpbmRpbmdBdG9tIiwgImVuZENoIiwgImNoU3RhcnRzQmluZGluZ1BhdHRlcm4iLCAiaGFzSW5MaW5lRm9sbG93aW5nQmluZGluZ0lkZW50aWZpZXJPckJyYWNlIiwgInN0YXJ0c1VzaW5nRm9yT2YiLCAic3RhcnRzQXdhaXRVc2luZyIsICJwYXJzZU1vZHVsZUl0ZW0iLCAiUGFyc2VTdGF0ZW1lbnRGbGFnIiwgInBhcnNlU3RhdGVtZW50TGlzdEl0ZW0iLCAiYWxsb3dMYWJlbGVkRnVuY3Rpb24iLCAicGFyc2VTdGF0ZW1lbnQiLCAiYWxsb3dEZWNsYXJhdGlvbiIsICJhbGxvd0Z1bmN0aW9uRGVjbGFyYXRpb24iLCAicGFyc2VCcmVha0NvbnRpbnVlU3RhdGVtZW50IiwgInBhcnNlRGVidWdnZXJTdGF0ZW1lbnQiLCAicGFyc2VEb1doaWxlU3RhdGVtZW50IiwgInBhcnNlRm9yU3RhdGVtZW50IiwgInBhcnNlSWZTdGF0ZW1lbnQiLCAicGFyc2VSZXR1cm5TdGF0ZW1lbnQiLCAicGFyc2VTd2l0Y2hTdGF0ZW1lbnQiLCAicGFyc2VUaHJvd1N0YXRlbWVudCIsICJwYXJzZVRyeVN0YXRlbWVudCIsICJwYXJzZVdoaWxlU3RhdGVtZW50IiwgInBhcnNlV2l0aFN0YXRlbWVudCIsICJwYXJzZUVtcHR5U3RhdGVtZW50IiwgIm5leHRUb2tlbkNoYXJDb2RlIiwgImlzQXN5bmNGdW5jdGlvbiIsICJtYXliZU5hbWUiLCAicGFyc2VMYWJlbGVkU3RhdGVtZW50IiwgImRlY29yYXRvcnNFbmFibGVkQmVmb3JlRXhwb3J0IiwgIm1heWJlRGVjb3JhdG9ycyIsICJjbGFzc05vZGUiLCAiZXhwb3J0Tm9kZSIsICJhbGxvd0V4cG9ydCIsICJwYXJhbXNTdGFydExvYyIsICJsYWIiLCAicGFyc2VIZWFkZXJFeHByZXNzaW9uIiwgImF3YWl0QXQiLCAicGFyc2VGb3IiLCAic3RhcnRzV2l0aExldCIsICJzdGFydHNXaXRoQXdhaXRVc2luZyIsICJzdGFyc1dpdGhVc2luZ0RlY2xhcmF0aW9uIiwgImlzTGV0T3JVc2luZyIsICJpbml0Tm9kZSIsICJwYXJzZVZhciIsICJpc0ZvckluIiwgInBhcnNlRm9ySW4iLCAic3RhcnRzV2l0aEFzeW5jIiwgImlzRm9yT2YiLCAiaXNIYW5naW5nRGVjbGFyYXRpb24iLCAiUGFyc2VGdW5jdGlvbkZsYWciLCAiZGlzY3JpbWluYW50IiwgImNhc2VzIiwgImN1ciIsICJzYXdEZWZhdWx0IiwgImlzQ2FzZSIsICJibG9jayIsICJoYW5kbGVyIiwgImNsYXVzZSIsICJmaW5hbGl6ZXIiLCAic3RhdGVtZW50U3RhcnQiLCAicGFyc2VkTm9uRGlyZWN0aXZlIiwgImF3YWl0IiwgImlzRm9yIiwgImhhbmdpbmdEZWNsYXJhdGlvbiIsICJpc0RlY2xhcmF0aW9uIiwgImhhZENvbnN0cnVjdG9yIiwgInB1YmxpY01ldGhvZCIsICJwcml2YXRlTWV0aG9kIiwgInB1YmxpY1Byb3AiLCAicHJpdmF0ZVByb3AiLCAiYWNjZXNzb3JQcm9wIiwgInB1YmxpY01lbWJlciIsICJwYXJzZUNsYXNzRWxlbWVudE5hbWUiLCAibWF5YmVDb250ZXh0dWFsS3ciLCAiaXNQcml2YXRlIiwgIm1heWJlUXVlc3Rpb25Ub2tlblN0YXJ0TG9jIiwgInB1c2hDbGFzc1ByaXZhdGVQcm9wZXJ0eSIsICJwdXNoQ2xhc3NQcm9wZXJ0eSIsICJwdXNoQ2xhc3NBY2Nlc3NvclByb3BlcnR5IiwgIl9tZW1iZXIkZGVjb3JhdG9ycyIsICJwYXJzZUluaXRpYWxpemVyIiwgImhhc0RlZmF1bHQiLCAicGFyc2VBZnRlckRlZmF1bHQiLCAiaGFzU3RhciIsICJwYXJzZUFmdGVyTmFtZXNwYWNlIiwgImlzRnJvbVJlcXVpcmVkIiwgImhhc1NwZWNpZmllcnMiLCAibWF5YmVQYXJzZUV4cG9ydE5hbWVkU3BlY2lmaWVycyIsICJoYXNEZWNsYXJhdGlvbiIsICJtYXliZVBhcnNlRXhwb3J0RGVjbGFyYXRpb24iLCAiX25vZGUyJGRlY2xhcmF0aW9uIiwgIl9yZWYkc3BlY2lmaWVycyIsICJpc1R5cGVFeHBvcnQiLCAiYXNzZXJ0aW9ucyIsICJuZXh0VHlwZSIsICJoYXNGcm9tIiwgIm5leHRBZnRlckZyb20iLCAibWF5YmVQYXJzZUltcG9ydEF0dHJpYnV0ZXMiLCAiY2hlY2tKU09OTW9kdWxlSW1wb3J0IiwgImNoZWNrTmFtZXMiLCAiaXNEZWZhdWx0IiwgImlzRnJvbSIsICJfbm9kZSRzcGVjaWZpZXJzIiwgIl9kZWNsYXJhdGlvbiRleHRyYSIsICJub2RlcyIsICJzdXJyb2dhdGUiLCAiaXNKU09OTW9kdWxlSW1wb3J0IiwgInNpbmdsZUJpbmRpbmdUeXBlIiwgIl9ub2RlJGFzc2VydGlvbnMiLCAibm9uRGVmYXVsdE5hbWVkU3BlY2lmaWVyIiwgImZpbmQiLCAicGhhc2VJZGVudGlmaWVyIiwgImlzUHJlY2VkaW5nSWRJbXBvcnRQaGFzZSIsICJwYXJzZUltcG9ydFNvdXJjZUFuZEF0dHJpYnV0ZXMiLCAicGFyc2VOZXh0IiwgIm1heWJlUGFyc2VEZWZhdWx0SW1wb3J0U3BlY2lmaWVyIiwgIl9ub2RlJHNwZWNpZmllcnMyIiwgInBhcnNlSW1wb3J0QXR0cmlidXRlcyIsICJhdHRycyIsICJhdHRyTmFtZXMiLCAicGFyc2VNb2R1bGVBdHRyaWJ1dGVzIiwgInVzZVdpdGgiLCAiaW1wb3J0U3BlY2lmaWVyIiwgIlBhcnNlciIsICJfb3B0aW9ucyIsICJnZXRQYXJzZXIiLCAiYXN0IiwgIm1vZHVsZUVycm9yIiwgImdlbmVyYXRlRXhwb3J0ZWRUb2tlblR5cGVzIiwgImludGVybmFsVG9rZW5UeXBlcyIsICJ0b2tUeXBlcyIsICJnZXRQYXJzZXJDbGFzcyIsICJwYXJzZXJDbGFzc0NhY2hlIiwgInBsdWdpbkxpc3QiLCAicmVxdWlyZV9iYWJ5bG9uIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiYmFieWxvbiIsICJkZWZhdWx0T3B0aW9ucyIsICJvcHRpb25zIiwgImNvZGUiLCAicmVxdWlyZV9mbG93X3BhcnNlciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiYSIsICJiIiwgImFlIiwgInlrIiwgIkVuIiwgIkVvIiwgIktqIiwgIkJ4IiwgInZXIiwgImUkIiwgIkxoIiwgImgyIiwgIkJ2IiwgIkJ3IiwgInFZIiwgIkxnIiwgIkJ1IiwgInFYIiwgInZWIiwgImgxIiwgIk5jIiwgInZVIiwgIkxmIiwgIkJ0IiwgImhCIiwgInFXIiwgIkVtIiwgIkJzIiwgIkVsIiwgIm9oIiwgIkxfIiwgImhBIiwgInZUIiwgImdkIiwgInZTIiwgInlqIiwgIkxlIiwgIkJyIiwgIk5iIiwgInZSIiwgIktpIiwgImdjIiwgIktoIiwgInFWIiwgImk5IiwgInlpIiwgImdiIiwgIkVqIiwgIkVrIiwgInAxIiwgInZRIiwgInZQIiwgInloIiwgImVfIiwgImRaIiwgInFVIiwgInZPIiwgIm9nIiwgImh6IiwgIktnIiwgImU5IiwgImRZIiwgIkw5IiwgIkxkIiwgInlnIiwgImg1IiwgInZOIiwgIktmIiwgImh5IiwgIkJxIiwgInZNIiwgIkJwIiwgIk5hIiwgIkJvIiwgInlmIiwgIkJuIiwgImRYIiwgImU4IiwgIkVpIiwgImh4IiwgIkJtIiwgIm8kIiwgIkJsIiwgInAwIiwgIkxjIiwgImRXIiwgImRWIiwgImhYIiwgIkVoIiwgIkJqIiwgIkJrIiwgInBaIiwgIkw4IiwgIm9fIiwgImU3IiwgIktlIiwgImFfIiwgImdhIiwgImh3IiwgIkVnIiwgInZMIiwgIkJpIiwgIkw3IiwgInlkIiwgInllIiwgIm85IiwgIkw2IiwgIm9mIiwgIkJoIiwgIkw1IiwgIkVlIiwgIkVmIiwgIk0kIiwgImU2IiwgIkJnIiwgIkJmIiwgInZLIiwgIm9lIiwgInljIiwgImxPIiwgImU1IiwgImxYIiwgIkJlIiwgImFZIiwgInliIiwgInZKIiwgIkVkIiwgInZJIiwgImokIiwgInZIIiwgInlhIiwgImU0IiwgIkJkIiwgImYkIiwgImtxIiwgImUzIiwgIkVjIiwgImh2IiwgInBZIiwgImZfIiwgInZHIiwgIkVhIiwgIkViIiwgImh1IiwgInZFIiwgInZGIiwgIm84IiwgIkQkIiwgIk1fIiwgImRVIiwgIngkIiwgInFUIiwgInhfIiwgIkJjIiwgIkRfIiwgImp2IiwgIng5IiwgImh0IiwgImx3IiwgIkQ5IiwgImhzIiwgIktkIiwgInZEIiwgImlBIiwgInZDIiwgImp1IiwgIktjIiwgIkJiIiwgIkQ4IiwgIkQ3IiwgInFTIiwgIng4IiwgInZCIiwgIkQ2IiwgImUyIiwgIkxiIiwgInBYIiwgIm9kIiwgIm83IiwgIktiIiwgInZBIiwgImhyIiwgIkxhIiwgIkthIiwgImJNIiwgIng3IiwgInZ5IiwgInZ6IiwgIkokIiwgIkQ1IiwgInZ4IiwgImx2IiwgIkskIiwgImY5IiwgImhXIiwgInZ3IiwgImRUIiwgImRTIiwgIng2IiwgIkJhIiwgIk05IiwgInFSIiwgImUxIiwgIkEkIiwgIm9jIiwgImN5IiwgImUwIiwgIkFfIiwgImY4IiwgInZ2IiwgImVaIiwgIkE5IiwgInZ1IiwgIkE4IiwgIkQ0IiwgImprIiwgImRSIiwgIktfIiwgIkQyIiwgIkQzIiwgIkpfIiwgIkE3IiwgIkQxIiwgInZ0IiwgIkQwIiwgImY3IiwgIkRaIiwgInZzIiwgImxXIiwgInZyIiwgIkRZIiwgIko5IiwgIkw0IiwgImhxIiwgIkE2IiwgImRRIiwgIko4IiwgInZxIiwgIkE1IiwgInBXIiwgInZwIiwgIko3IiwgImY2IiwgInZvIiwgIm9iIiwgImRQIiwgImJMIiwgInZuIiwgIk04IiwgImFpIiwgImtwIiwgImhwIiwgIng1IiwgImlFIiwgIkE0IiwgIng0IiwgIkEzIiwgIkExIiwgIkEyIiwgIko2IiwgInZtIiwgInZsIiwgIm9hIiwgIkEwIiwgIngzIiwgIkRYIiwgIko1IiwgImpmIiwgIkRXIiwgIkFaIiwgImRPIiwgIkFZIiwgInBWIiwgIkRWIiwgIm4kIiwgIko0IiwgIkozIiwgIkFYIiwgImgwIiwgIm82IiwgIkRVIiwgIk03IiwgImhvIiwgIkwzIiwgImhuIiwgIks5IiwgIkFWIiwgIkFXIiwgIks4IiwgIkFVIiwgIngyIiwgImx1IiwgIks3IiwgInZqIiwgInZrIiwgIngxIiwgImp0IiwgIkFUIiwgIm5fIiwgIkFSIiwgIkFTIiwgIkRUIiwgIks2IiwgImVZIiwgIkFRIiwgIngwIiwgIm81IiwgIk02IiwgIml5IiwgIkRTIiwgImJuIiwgImROIiwgIks1IiwgImhtIiwgIkoyIiwgInhaIiwgIm80IiwgIkFQIiwgInZpIiwgImVYIiwgIkRSIiwgIkowIiwgIkoxIiwgIml6IiwgInhZIiwgImhWIiwgIkFPIiwgInBVIiwgIkFOIiwgInBUIiwgInhYIiwgIkRRIiwgIkFMIiwgIkFNIiwgIm8zIiwgImY1IiwgIm45IiwgImo3IiwgInhXIiwgImFTIiwgIkRQIiwgIkRPIiwgImRNIiwgIkFLIiwgImtvIiwgInZoIiwgInhWIiwgIkFKIiwgIm8yIiwgIkROIiwgIk01IiwgIkwyIiwgIkpaIiwgIkFJIiwgIkFIIiwgIkpZIiwgIkFHIiwgIkRNIiwgIk00IiwgInBTIiwgImJ2IiwgImhsIiwgImF0IiwgIkpYIiwgIkFGIiwgImJFIiwgIks0IiwgIkwxIiwgImY0IiwgIm44IiwgImVXIiwgIm43IiwgIkRLIiwgIkRMIiwgIk0zIiwgInZnIiwgImJ1IiwgIkFFIiwgInZmIiwgInZlIiwgInFRIiwgIkRKIiwgIkpXIiwgIkwwIiwgInhVIiwgIkpWIiwgIkFEIiwgImhrIiwgImVWIiwgInBSIiwgIkRJIiwgImNlIiwgIkFDIiwgImNkIiwgIkRIIiwgIkFCIiwgInFQIiwgIkRHIiwgIm8xIiwgInhUIiwgIkRGIiwgIkRFIiwgImxHIiwgInZkIiwgIkFBIiwgIkRDIiwgIkREIiwgIkF6IiwgInhTIiwgImtnIiwgIkxaIiwgIkRBIiwgIkRCIiwgInZiIiwgIkpVIiwgInZjIiwgIkszIiwgIm42IiwgIm41IiwgIkpUIiwgImpzIiwgInZhIiwgImx0IiwgIkF5IiwgIm8wIiwgImIxIiwgInBRIiwgIkR6IiwgIkR5IiwgIm9aIiwgIkF4IiwgIkxZIiwgIkR4IiwgIkF3IiwgInUkIiwgInFPIiwgInVfIiwgImplIiwgIkR3IiwgImxGIiwgImYzIiwgIkR2IiwgInhSIiwgIkF2IiwgImRMIiwgImhqIiwgImpkIiwgInBQIiwgInhRIiwgIksyIiwgIkF1IiwgInU5IiwgIkR1IiwgIkFzIiwgIkF0IiwgIkR0IiwgInU4IiwgIkRzIiwgImhoIiwgImhpIiwgIkpTIiwgIm40IiwgInhQIiwgIkFyIiwgInhPIiwgIksxIiwgInBPIiwgInU3IiwgImYyIiwgIm4yIiwgIm4zIiwgImlHIiwgInU2IiwgIkpSIiwgIkpRIiwgImRLIiwgImVVIiwgInU1IiwgIkFxIiwgImYxIiwgIkFwIiwgImYwIiwgImVUIiwgInhOIiwgIm9ZIiwgInFOIiwgInU0IiwgInBNIiwgInBOIiwgImg0IiwgIk0yIiwgInBMIiwgInFNIiwgIm9YIiwgInUzIiwgIkswIiwgImpqIiwgIm4wIiwgIm4xIiwgInUyIiwgImhnIiwgInUxIiwgIkRyIiwgImhmIiwgImRKIiwgImZaIiwgImRJIiwgImVTIiwgInBLIiwgInUwIiwgIkpQIiwgInVaIiwgImZZIiwgInBKIiwgInBJIiwgImZXIiwgImZYIiwgIm5aIiwgInhNIiwgImlEIiwgInhMIiwgInVYIiwgInVZIiwgIktaIiwgImVSIiwgInhLIiwgInVXIiwgIk0xIiwgIkFvIiwgInVWIiwgImVRIiwgIkFuIiwgImVQIiwgInhKIiwgInhJIiwgIkxYIiwgIkxXIiwgImhlIiwgInVVIiwgImRIIiwgImZWIiwgIkRxIiwgImZVIiwgInVUIiwgIkFtIiwgIkFsIiwgInBIIiwgIkpPIiwgImxzIiwgIkRwIiwgInhHIiwgInhIIiwgImJ0IiwgIkFrIiwgInBHIiwgIkpOIiwgIkFqIiwgImpjIiwgImtmIiwgInBGIiwgInFMIiwgImhkIiwgInVTIiwgInBFIiwgImFuIiwgImZUIiwgImhjIiwgInBEIiwgImhiIiwgInVSIiwgIm5ZIiwgImVPIiwgIkRvIiwgIkpNIiwgImZTIiwgInBDIiwgIkRuIiwgInVRIiwgIm9XIiwgIkxWIiwgIkRsIiwgIkRtIiwgInhGIiwgIm5YIiwgInhFIiwgIkFpIiwgInhEIiwgIkRrIiwgImpfIiwgIkFoIiwgIkRqIiwgInVQIiwgInVPIiwgIkRpIiwgIm5XIiwgImZSIiwgInFLIiwgIk0wIiwgInhDIiwgIkRoIiwgIktZIiwgImRHIiwgIkRnIiwgInFKIiwgIkRmIiwgInVOIiwgIm9WIiwgIk1aIiwgIm9VIiwgIkpMIiwgInhCIiwgIm9UIiwgIk1ZIiwgIkxVIiwgImckIiwgImhhIiwgImVOIiwgImxFIiwgIkxUIiwgInFJIiwgIkFnIiwgImppIiwgInh6IiwgInhBIiwgImVNIiwgIkFmIiwgInFIIiwgInh5IiwgInVNIiwgImdfIiwgIk1XIiwgIk1YIiwgImRGIiwgInh4IiwgImlDIiwgImpyIiwgIkRlIiwgIk1WIiwgIkxTIiwgImVMIiwgIkRkIiwgIk1VIiwgImk4IiwgIkpLIiwgIkRjIiwgIm5WIiwgInh3IiwgInh2IiwgIkxSIiwgImc5IiwgInVMIiwgImVLIiwgIm5VIiwgIktYIiwgIk1UIiwgImVKIiwgImc4IiwgIkFlIiwgIkRiIiwgIkFkIiwgInVLIiwgInFHIiwgImRFIiwgInh1IiwgImc3IiwgIkpKIiwgIktXIiwgInh0IiwgImZRIiwgImtuIiwgImJGIiwgImxWIiwgImc2IiwgIm9TIiwgInVKIiwgImJLIiwgIkxRIiwgIkMkIiwgIkRhIiwgImZQIiwgIk1TIiwgInVJIiwgImZOIiwgImZPIiwgInFGIiwgIm9SIiwgImVJIiwgImZNIiwgIk1SIiwgIm9RIiwgInFFIiwgIm9QIiwgImZMIiwgImREIiwgImJqIiwgIkFjIiwgIkM5IiwgIkNfIiwgIkFiIiwgImc1IiwgImFYIiwgInVIIiwgInFEIiwgInhyIiwgInhzIiwgIkFhIiwgIktWIiwgImVIIiwgIkpJIiwgImc0IiwgInVHIiwgImRDIiwgImpiIiwgInokIiwgInhxIiwgInpfIiwgInBCIiwgIk1RIiwgImRCIiwgInVGIiwgIkxPIiwgIkxQIiwgImZLIiwgImR6IiwgImRBIiwgIno5IiwgInFDIiwgIm9PIiwgIm5UIiwgImlGIiwgIkM4IiwgIkpIIiwgIm9OIiwgIkM3IiwgImVHIiwgInFCIiwgImtlIiwgIkM2IiwgInVEIiwgInVFIiwgIktVIiwgInVDIiwgImVGIiwgIno4IiwgIkM1IiwgIktUIiwgIno3IiwgIk1QIiwgImxOIiwgIkM0IiwgIktTIiwgImJVIiwgIm9NIiwgIno2IiwgInBBIiwgIno1IiwgImczIiwgInhwIiwgIkMzIiwgIno0IiwgImFQIiwgInhuIiwgInhvIiwgIm5TIiwgInhtIiwgImVFIiwgIkpHIiwgImxNIiwgIm9MIiwgInVCIiwgInFBIiwgInhsIiwgIm5SIiwgImo5IiwgInhrIiwgImxVIiwgImR5IiwgInF6IiwgInVBIiwgImR4IiwgImJQIiwgInozIiwgIk1PIiwgIm9LIiwgInF5IiwgInV6IiwgIm9KIiwgInoyIiwgInV5IiwgIkMyIiwgInV3IiwgInV4IiwgIm5RIiwgIkxOIiwgInV2IiwgInhqIiwgImZKIiwgImZJIiwgInoxIiwgIkpGIiwgInhpIiwgImVEIiwgIm9JIiwgImVDIiwgIkMxIiwgInowIiwgImVCIiwgInV1IiwgInpaIiwgInpZIiwgIkNaIiwgIkMwIiwgInhoIiwgInF4IiwgImZIIiwgIkxNIiwgImk3IiwgIm5QIiwgIkpFIiwgIktSIiwgImcyIiwgIkNZIiwgImNoIiwgInVzIiwgInV0IiwgInVyIiwgInpYIiwgInB6IiwgIkpEIiwgIktRIiwgImVBIiwgIkxMIiwgImR3IiwgInhnIiwgIm9IIiwgImZHIiwgIk1OIiwgIk1NIiwgInhmIiwgImV6IiwgImcxIiwgImphIiwgInB5IiwgInVxIiwgIml4IiwgImcwIiwgImtkIiwgInpXIiwgImpoIiwgInpWIiwgInVvIiwgInVwIiwgImR2IiwgIm9HIiwgImdaIiwgImV5IiwgInVuIiwgIk1MIiwgInB4IiwgInhkIiwgInhlIiwgInpVIiwgIkpDIiwgInpUIiwgInVtIiwgInhjIiwgIk1LIiwgIkNYIiwgImR1IiwgInpTIiwgInpSIiwgInB3IiwgImZGIiwgInF3IiwgIm9GIiwgInB2IiwgImdZIiwgIktQIiwgImV3IiwgImV4IiwgImR0IiwgIk1KIiwgInhiIiwgIktPIiwgImFRIiwgInF2IiwgImZFIiwgImdXIiwgImdYIiwgInF1IiwgInB1IiwgIkNXIiwgInhhIiwgIktOIiwgInB0IiwgIktNIiwgImZEIiwgImRzIiwgInpRIiwgInckIiwgInBzIiwgImRyIiwgImkkIiwgIktMIiwgImZDIiwgIkNVIiwgIkNWIiwgImZCIiwgImttIiwgIktLIiwgInpQIiwgIktKIiwgIkEiLCAidzgiLCAidzkiLCAid18iLCAidzciLCAiek8iLCAiZ1YiLCAidzUiLCAidzYiLCAibEQiLCAiaDMiLCAidWwiLCAiTEsiLCAiQ1QiLCAiTUkiLCAiQ1MiLCAibk8iLCAiek4iLCAiYUsiLCAicXQiLCAiTUgiLCAiZHEiLCAia2wiLCAiaXciLCAiek0iLCAiZG4iLCAiZHAiLCAib0UiLCAiQ1IiLCAicHIiLCAidWsiLCAicHAiLCAicHEiLCAiQ1EiLCAiS0kiLCAiS0giLCAiZ1UiLCAiSkIiLCAieksiLCAiekwiLCAicG8iLCAiZkEiLCAiY0UiLCAiTEoiLCAiQ1AiLCAiS0ciLCAiZ1MiLCAiZ1QiLCAiaUIiLCAiQ08iLCAiTUciLCAiViIsICJmeiIsICJ3NCIsICJ1aiIsICJkbSIsICJsQyIsICJmeSIsICJibSIsICJkbCIsICJLRiIsICJ1aSIsICJkayIsICJ3MyIsICJDTiIsICJsQiIsICJDTSIsICJnUiIsICJicyIsICJ6SiIsICJMSSIsICJuTiIsICJ3MiIsICJsTCIsICJMRyIsICJMSCIsICJuTSIsICJvRCIsICJDTCIsICJNRiIsICJxcyIsICJ1aCIsICJkaiIsICJ6SSIsICJKQSIsICJ3MSIsICJ6SCIsICJDSyIsICJldiIsICJkaSIsICJjeCIsICJnUSIsICJ6RyIsICJ3MCIsICJ6RiIsICJkaCIsICJ1ZyIsICJkZyIsICJuTCIsICJ6RSIsICJDSiIsICJDSSIsICJsVCIsICJ6RCIsICJvQyIsICJLRSIsICJ1ZiIsICJmeCIsICJhYiIsICJDSCIsICJMRiIsICJ1ZSIsICJLQyIsICJvQiIsICJLRCIsICJnUCIsICJmdyIsICJNRSIsICJLQiIsICJ3WiIsICJMRSIsICJxciIsICJNRCIsICJkZiIsICJldCIsICJldSIsICJwbSIsICJwbiIsICJDRiIsICJjRCIsICJDRyIsICJ6QyIsICJnTyIsICJMRCIsICJDRSIsICJDRCIsICJ6QiIsICJMQyIsICJLQSIsICJMQiIsICJ6QSIsICJDQyIsICJ1ZCIsICJxcSIsICJ1YyIsICJ6eiIsICJmdiIsICJDQiIsICJNQyIsICJlcyIsICJDQSIsICJsciIsICJqcSIsICJnTiIsICJ1YiIsICJ3WSIsICJDeiIsICJwbCIsICJLeiIsICJ1YSIsICJDeSIsICJNQiIsICJnTSIsICJlciIsICJ3WCIsICJDeCIsICJqNiIsICJDdyIsICJnTCIsICJkZSIsICJ6eSIsICJ3VyIsICJ0JCIsICJDdiIsICJqOCIsICJxcCIsICJ0XyIsICJDdSIsICJkZCIsICJ6eCIsICJMQSIsICJjYyIsICJrYyIsICJMeiIsICJ0OSIsICJlcSIsICJDdCIsICJDcyIsICJNQSIsICJ3ViIsICJLeSIsICJlbyIsICJlcCIsICJscSIsICJ3VSIsICJLeCIsICJNeiIsICJqNSIsICJLdyIsICJ0OCIsICJkYyIsICJ6dyIsICJ6diIsICJ0NyIsICJKeiIsICJuSyIsICJ3VCIsICJDciIsICJkYiIsICJDcSIsICJxbyIsICJDcCIsICJnSyIsICJmdSIsICJDbyIsICJ0NiIsICJ3UyIsICJDbiIsICJDbSIsICJpXyIsICJ6dCIsICJ6dSIsICJ3UiIsICJrayIsICJDbCIsICJxbiIsICJhMCIsICJDaiIsICJDayIsICJlbiIsICJLdiIsICJ6cyIsICJDaSIsICJ3USIsICJuSiIsICJvQSIsICJnSiIsICJDaCIsICJ0NSIsICJ6ciIsICJMeSIsICJDZyIsICJ0NCIsICJKeSIsICJLdSIsICJ6cSIsICJnSSIsICJkYSIsICJwayIsICJxbSIsICJ6cCIsICJDZiIsICJuSSIsICJ0MyIsICJDZCIsICJDZSIsICJNeSIsICJsbyIsICJscCIsICJlbSIsICJ6byIsICJ0MiIsICJveiIsICJ6biIsICJnSCIsICJ6bSIsICJxbCIsICJ3UCIsICJmdCIsICJjYiIsICJveSIsICJMeCIsICJ6bCIsICJveCIsICJuRyIsICJuSCIsICJ3TyIsICJxayIsICJjJCIsICJlbCIsICJ0MSIsICJsbiIsICJ6ayIsICJlayIsICJsSyIsICJmcyIsICJ0MCIsICJvdyIsICJ3TiIsICJwaiIsICJ0WiIsICJlaiIsICJwaSIsICJ3TSIsICJDYyIsICJ0WSIsICJ6aiIsICJ6aSIsICJlaSIsICJ3TCIsICJnRyIsICJmciIsICJNeCIsICJKeCIsICJ0WCIsICJKdyIsICJvdiIsICJsbSIsICJlaCIsICJ0VSIsICJ0ViIsICJ0VyIsICJxaiIsICJ3SyIsICJ0VCIsICJuRiIsICJjOSIsICJjXyIsICJ0UyIsICJmcSIsICJ0UiIsICJMdyIsICJqcCIsICJnRiIsICJ6aCIsICJDYiIsICJ0USIsICJ3SiIsICJ3SSIsICJ0UCIsICJMdiIsICJnRSIsICJ6ZyIsICJwaCIsICJiVCIsICJ6ZiIsICJqbyIsICJuRSIsICJibCIsICJ3RyIsICJ3SCIsICJMdSIsICJ6ZSIsICJxaSIsICJlZyIsICJMdCIsICJlZiIsICJ6ZCIsICJNdyIsICJKdiIsICJlZSIsICJ6YyIsICJDYSIsICJ0TyIsICJjOCIsICJMcyIsICJCJCIsICJNdiIsICJ6YiIsICJCXyIsICJKdSIsICJCOSIsICJNdSIsICJ3RiIsICJCOCIsICJ3RSIsICJ6YSIsICJCNyIsICJqbiIsICJMciIsICJLdCIsICJCNiIsICJjNyIsICJnRCIsICJlZCIsICJCNSIsICJ5JCIsICJLcyIsICJ0TiIsICJ0TSIsICJ0TCIsICJCNCIsICJmcCIsICJ0SyIsICJ5XyIsICJ3RCIsICJiTyIsICJsUyIsICJuRCIsICJlYyIsICJ5OSIsICJ0SiIsICJvdSIsICJlYiIsICJCMyIsICJNdCIsICJ0SCIsICJ0SSIsICJ5OCIsICJjNiIsICJKdCIsICJnQyIsICJNcyIsICJ5NyIsICJvdCIsICJNciIsICJ3QyIsICJCMiIsICJnQiIsICJ0RiIsICJ0RyIsICJ5NiIsICJxaCIsICJiTiIsICJ5NSIsICJoWiIsICJsSiIsICJCMSIsICJxZiIsICJxZyIsICJ3QiIsICJjQiIsICJmbyIsICJKcyIsICJLciIsICJlYSIsICJ3QSIsICJNcSIsICJkJCIsICJjZiIsICJ5NCIsICJwZyIsICJNcCIsICJ5MyIsICJ0RSIsICJsQSIsICJ0RCIsICJCMCIsICJMcSIsICJxZSIsICJnQSIsICJjNSIsICJwZiIsICJ5MiIsICJKciIsICJneiIsICJ3eiIsICJjdyIsICJNbyIsICJ3eSIsICJLcSIsICJ5MSIsICJwZSIsICJneSIsICJ5MCIsICJsUiIsICJ3eCIsICJuQyIsICJ3dyIsICJMcCIsICJhWiIsICJCWiIsICJ0QyIsICJkXyIsICJ3diIsICJhQSIsICJCWSIsICJ0QiIsICJjNCIsICJ5WiIsICJjMyIsICJCWCIsICJ0QSIsICJ0eiIsICJjMiIsICJkOSIsICJvcyIsICJ5WSIsICJjMSIsICJmbiIsICJuQiIsICJ3dSIsICJNbiIsICJoVSIsICJ5WCIsICJmbSIsICJKcSIsICJ5VyIsICJMbyIsICJjQSIsICJNbSIsICJseiIsICJqbSIsICJ3dCIsICJneCIsICJmbCIsICJsbCIsICJ3cyIsICJkOCIsICJCVyIsICJ0eCIsICJ0eSIsICJ3ciIsICJMbiIsICJjWiIsICJjMCIsICJ3cSIsICJxZCIsICJLcCIsICJ5ViIsICJmayIsICJNbCIsICJkNyIsICJxYyIsICJsUSIsICJKcCIsICJ3cCIsICJkNiIsICJ5VSIsICJNayIsICJ3byIsICJ5VCIsICJKbyIsICJjeiIsICJ3biIsICJ5UyIsICJ5UiIsICJCViIsICJndyIsICJ0diIsICJ0dyIsICJ3bSIsICJmaiIsICJkNSIsICJ5USIsICJNaiIsICJvciIsICJxYSIsICJxYiIsICJndiIsICJvcSIsICJ0dSIsICJ5UCIsICJiUyIsICJ0dCIsICJ3bCIsICJpdiIsICJ3ayIsICJCVSIsICJ0cyIsICJpNiIsICJqNCIsICJCVCIsICJNaSIsICJwJCIsICJuQSIsICJ5TyIsICJndSIsICJmaSIsICJ5TiIsICJCUyIsICJndCIsICJ3aiIsICJncyIsICJMbSIsICJiayIsICJCUSIsICJCUiIsICJrYiIsICJ0ciIsICJ5TSIsICJsSSIsICJ3aSIsICJseSIsICJCUCIsICJmaCIsICJ3ZyIsICJ3aCIsICJvcCIsICJ5TCIsICJCTyIsICJvbyIsICJ5SyIsICJmZiIsICJmZyIsICJCTiIsICJqZyIsICJ0cSIsICJ3ZiIsICJNaCIsICJnciIsICJ0cCIsICJueiIsICJvbiIsICJncSIsICJLbyIsICJjWSIsICJ0byIsICJwXyIsICJueSIsICJ3ZSIsICJwZCIsICJCTSIsICJ3ZCIsICJ5SiIsICJrYSIsICJkMyIsICJkNCIsICJ3YyIsICJ5SCIsICJ5SSIsICJCTCIsICJ0biIsICJKbiIsICJLbSIsICJLbiIsICJNZyIsICJncCIsICJ0bSIsICJkMiIsICJNZiIsICJ5RiIsICJoWSIsICJ5RyIsICJnbiIsICJnbyIsICJseCIsICJMbCIsICJKbSIsICJ5RSIsICJ3YSIsICJvbSIsICJkMSIsICJ3YiIsICJueCIsICJCSyIsICJNZSIsICJ5RCIsICJnbSIsICJ0bCIsICJ5QyIsICJCSiIsICJjWCIsICJNZCIsICJnayIsICJnbCIsICJhaCIsICJudyIsICJwOSIsICJ5QiIsICJKbCIsICJ2JCIsICJiUiIsICJjQyIsICJkMCIsICJ5QSIsICJ2XyIsICJhcCIsICJKayIsICJ5eiIsICJCSSIsICJ2OSIsICJnaiIsICJCSCIsICJwOCIsICJnaSIsICJvbCIsICJoVCIsICJwYyIsICJCRyIsICJnaCIsICJ0ayIsICJ0aiIsICJMayIsICJjdiIsICJ5eSIsICJraiIsICJiaSIsICJCRiIsICJhUiIsICJqbCIsICJmZSIsICJCRSIsICJNYyIsICJ0aSIsICJvayIsICJKaSIsICJ0aCIsICJKaiIsICJudiIsICJCRCIsICJwNyIsICJ0ZyIsICJjVyIsICJ2OCIsICJ5eCIsICJsSCIsICJCQyIsICJ2NyIsICJwNiIsICJ5dyIsICJNYiIsICJ2NSIsICJ2NiIsICJjZyIsICJqMyIsICJLbCIsICJwNSIsICJvaiIsICJ5diIsICJwYiIsICJMaiIsICJsUCIsICJNYSIsICJ0ZiIsICJ5dSIsICJwNCIsICJnZyIsICJ5dCIsICJ0ZSIsICJ0ZCIsICJ2NCIsICJMaSIsICJjViIsICJ2MyIsICJLayIsICJ5cyIsICJiUSIsICJCQiIsICJwMyIsICJKaCIsICJ2MiIsICJ5ciIsICJnZiIsICJ5cSIsICJmZCIsICJCQSIsICJMJCIsICJ2MSIsICJCeiIsICJmYyIsICJraSIsICJ0YiIsICJ0YyIsICJ5cCIsICJ5byIsICJjVSIsICJKZyIsICJ2MCIsICJwMiIsICJ0YSIsICJiZSIsICJ2WiIsICJraCIsICJsayIsICJ2WSIsICJzJCIsICJmYiIsICJKZiIsICJCeSIsICJzXyIsICJ5biIsICJzOSIsICJjVCIsICJ5bSIsICJwYSIsICJ5bCIsICJnZSIsICJ2WCIsICJvaSIsICJmYSIsICJhd08iLCAiYyIsICJkIiwgImUiLCAiZiIsICJhd1AiLCAiYXdRIiwgInEwIiwgImF3UiIsICJrcyIsICJOTiIsICJFSyIsICJicCIsICJhdzMiLCAieCIsICJheEIiLCAiYjQiLCAiRUoiLCAiYVUiLCAiTmgiLCAiTmYiLCAicTEiLCAiTngiLCAiTkgiLCAiTkoiLCAiYXdfIiwgIkV6IiwgIkVBIiwgImxaIiwgImF3VCIsICJpSCIsICJnIiwgImtyIiwgIkVwIiwgIk56IiwgImF3UyIsICJsMCIsICJsMyIsICJxNCIsICJoNyIsICJoIiwgImkiLCAia3ciLCAicTUiLCAiRU4iLCAiTk0iLCAiaiIsICJoNiIsICJOayIsICJoXyIsICJjaSIsICJoQyIsICJrdSIsICJieCIsICJFcSIsICJhd1giLCAiYWMiLCAiaDgiLCAia3YiLCAiYXdZIiwgImhEIiwgImF1IiwgImF3WiIsICJheGkiLCAiYXhNIiwgImF4TCIsICJFdyIsICJiMiIsICJxOCIsICJOaiIsICJFeCIsICJFeSIsICJibyIsICJOZyIsICJrIiwgInIiLCAibCIsICJwIiwgInUiLCAidiIsICJ0IiwgInMiLCAibSIsICJvIiwgIm4iLCAiTmUiLCAiTkMiLCAiaDkiLCAiYXc2IiwgIk50IiwgIk5pIiwgImF3OCIsICJheHoiLCAiYXhnIiwgImF4YyIsICJhdzkiLCAiYXckIiwgIk5vIiwgIkVzIiwgIk5tIiwgIkVFIiwgIkVEIiwgIk5uIiwgImJWIiwgIkMiLCAiYXdXIiwgInEzIiwgIk5sIiwgImF3MCIsICJhciIsICJxNiIsICJhdzEiLCAiTnAiLCAiYXcyIiwgImt0IiwgImF3NCIsICJFdSIsICJFSSIsICJFdCIsICJFdiIsICJxNyIsICJORiIsICJoRSIsICJOciIsICJxJCIsICJMIiwgImF4SyIsICJjbCIsICJhdzciLCAiYXhiIiwgImwyIiwgImF4ZiIsICJheGEiLCAiRUIiLCAiTnYiLCAiRyIsICJ3IiwgIk51IiwgIk53IiwgIkVDIiwgIk5HIiwgInJhIiwgImp4IiwgIk55IiwgInE5IiwgImIzIiwgIk0iLCAiYXhsIiwgInEyIiwgImF4ayIsICJheG0iLCAiRUgiLCAiYXhuIiwgImF4byIsICJheHAiLCAiYXhxIiwgIk5FIiwgImF3VSIsICJheGgiLCAiYXhlIiwgImF4ZCIsICJxXyIsICJxIiwgImlJIiwgImF3TSIsICJxWiIsICJhd04iLCAiYXdMIiwgIkVNIiwgImF4RiIsICJheHMiLCAiYXh0IiwgImNqIiwgImF4dSIsICJaIiwgImgkIiwgImNHIiwgIk5kIiwgImF4UyIsICJjRiIsICJfX3JlcXVpcmUiLCAiYXhJIiwgInJjIiwgImw0IiwgImF4TiIsICJFTyIsICJOTCIsICJsMSIsICJheHIiLCAiYXhRIiwgImliIiwgIk5EIiwgImlKIiwgImlhIiwgIkVyIiwgIk5JIiwgImJ3IiwgImp3IiwgImEkIiwgImFUIiwgIk5zIiwgInJiIiwgImt4IiwgImF4UCIsICJsWSIsICJyZCIsICJheFIiLCAiYXh2IiwgIk5BIiwgImF4dyIsICJheHkiLCAiYXh4IiwgIkVGIiwgIk5CIiwgImp5IiwgIkVHIiwgImp6IiwgImF3ViIsICJjayIsICJFTCIsICJheEMiLCAiWCIsICJheEUiLCAiYUIiLCAiYmEiLCAiYXhHIiwgImF4TyIsICJheEgiLCAiYXhBIiwgIk5LIiwgImF4SiIsICJyZSIsICJhSCIsICJhQyIsICJheGoiLCAiYXc1IiwgIk5xIiwgImF4RCIsICJ6IiwgInM4IiwgInM3IiwgImxqIiwgImF3SyIsICJyZiIsICJFUiIsICJjbSIsICJsNSIsICJjSCIsICJFUCIsICJFUSIsICJZIiwgImt5IiwgImF3SiIsICJyeCIsICJqSyIsICJqUCIsICJIYSIsICJIYiIsICJjdSIsICJheSIsICJicSIsICJhcyIsICJ5IiwgIkIiLCAiRCIsICJFIiwgIkYiLCAiSCIsICJiYiIsICJsNiIsICJOUSIsICJOUiIsICJKIiwgIkkiLCAiRVMiLCAiY24iLCAiTlQiLCAia3oiLCAiRVQiLCAiRVUiLCAicmciLCAiRVciLCAicmgiLCAiRVgiLCAia0EiLCAibDciLCAiRVkiLCAiTjEiLCAiTjIiLCAiTjMiLCAiaEYiLCAia0IiLCAiRVoiLCAiakEiLCAia0MiLCAiY0kiLCAibDgiLCAiYTEiLCAiYVYiLCAicmkiLCAiRTAiLCAiakIiLCAicmoiLCAia0QiLCAiTjUiLCAiTjYiLCAiTjciLCAiaUsiLCAiRTEiLCAiakMiLCAiRTIiLCAiY28iLCAiTjkiLCAiTl8iLCAibDkiLCAiYTIiLCAiRTMiLCAiRTQiLCAiRTUiLCAiRTYiLCAibF8iLCAiT2MiLCAiRTciLCAiRTgiLCAibCQiLCAia0UiLCAiRTkiLCAiT2QiLCAiT2UiLCAiT2YiLCAiT2ciLCAicmsiLCAia0YiLCAia0ciLCAiaUwiLCAiakQiLCAiakUiLCAiRV8iLCAicmwiLCAicm0iLCAiT2oiLCAiT2siLCAiYWQiLCAiYUQiLCAicm4iLCAiYlciLCAicm8iLCAicnAiLCAiTyIsICJycSIsICJFJCIsICJGYSIsICJPbCIsICJPbSIsICJjSiIsICJGYiIsICJrSCIsICJpTSIsICJyciIsICJGYyIsICJPcCIsICJPcSIsICJPciIsICJPcyIsICJPdCIsICJPdSIsICJPdiIsICJPdyIsICJPeCIsICJPeSIsICJPeiIsICJPQSIsICJPQiIsICJPQyIsICJPRCIsICJPRSIsICJPRiIsICJPRyIsICJPSCIsICJPSSIsICJPSiIsICJPSyIsICJPTCIsICJPTSIsICJPTiIsICJPTyIsICJPUCIsICJPUSIsICJPUiIsICJPUyIsICJPVCIsICJPVSIsICJPViIsICJPVyIsICJPWCIsICJPWSIsICJPWiIsICJPMCIsICJPMSIsICJPMiIsICJPMyIsICJycyIsICJGZCIsICJGZSIsICJqRiIsICJiYyIsICJGZiIsICJGZyIsICJydCIsICJhTCIsICJiZCIsICJLIiwgIk4iLCAiUCIsICJhVyIsICJRIiwgIlIiLCAiUyIsICJUIiwgIlUiLCAiVyIsICJfIiwgIiQiLCAiYWEiLCAiYWYiLCAiYTMiLCAiTlAiLCAiTlYiLCAiTlciLCAiTlgiLCAiTlkiLCAiTloiLCAiTjAiLCAiTjgiLCAiTzUiLCAiTzYiLCAiTzciLCAiTzgiLCAiTzkiLCAiT18iLCAiTyQiLCAiUGEiLCAiUGIiLCAiUGMiLCAiUGQiLCAiUGUiLCAiUGYiLCAiUGciLCAiUGgiLCAiUGkiLCAiUGoiLCAiUGsiLCAiUGwiLCAiUG0iLCAiUG4iLCAiUG8iLCAiUHAiLCAiUHEiLCAiUHIiLCAiUHMiLCAiUHQiLCAiUHUiLCAiUHYiLCAiUHciLCAiUHgiLCAiUHkiLCAiUHoiLCAiUEEiLCAiUEIiLCAiUEMiLCAiUEQiLCAiUEUiLCAiUEYiLCAiUEciLCAiUEgiLCAiUEkiLCAiUEoiLCAiUEsiLCAiUEwiLCAiUE0iLCAiUE4iLCAiUE8iLCAiUFAiLCAiUFEiLCAiUFIiLCAiUFMiLCAiUFQiLCAiUFkiLCAiUFoiLCAiUDAiLCAiUDEiLCAiUDMiLCAiUDQiLCAiUDUiLCAiUDYiLCAiUDciLCAiUDgiLCAiUDkiLCAiUF8iLCAiUCQiLCAiUWEiLCAibWEiLCAia0kiLCAiYW0iLCAiYWciLCAiYWoiLCAiYWsiLCAiYWwiLCAiYW8iLCAiYXEiLCAiYXYiLCAiYXciLCAiYXgiLCAiYXoiLCAiYUUiLCAiYUYiLCAiYUciLCAiYUkiLCAiYUoiLCAiYU0iLCAiYU4iLCAiYU8iLCAiYkciLCAiYnkiLCAiYkgiLCAiakciLCAiTzQiLCAiRmgiLCAibWIiLCAiUFUiLCAiUFYiLCAiUFciLCAiUFgiLCAiaEciLCAibGkiLCAicnUiLCAibWMiLCAiczUiLCAiczQiLCAiYlgiLCAiUDIiLCAiaEgiLCAiaEkiLCAiRmkiLCAicnYiLCAicnciLCAiTlMiLCAiUWQiLCAiUWUiLCAiUWYiLCAiUWciLCAiUWgiLCAiUWkiLCAiUWoiLCAiUWsiLCAiUWwiLCAiUW0iLCAiUW4iLCAiUW8iLCAiUXAiLCAiUXEiLCAiUXIiLCAiUXMiLCAiUXQiLCAiUXUiLCAiUXYiLCAiUXciLCAiUXgiLCAiUXkiLCAiUXoiLCAiUUEiLCAiUUIiLCAicnkiLCAiRmoiLCAia0oiLCAicnoiLCAickEiLCAiUUMiLCAiUUQiLCAiUUUiLCAiUUYiLCAiUUciLCAiUUgiLCAiUUkiLCAiUUoiLCAiUUsiLCAickIiLCAiRmsiLCAiUUwiLCAiUU0iLCAiUU4iLCAiUU8iLCAiUVAiLCAiRmwiLCAiRm0iLCAiRm4iLCAiUVIiLCAiUVMiLCAiUVQiLCAiUVUiLCAibWQiLCAiRm8iLCAickMiLCAia0siLCAiRnAiLCAiTjQiLCAiT2giLCAiUVYiLCAiUVgiLCAiUVkiLCAiUVoiLCAiUTAiLCAiUTEiLCAiUTYiLCAickQiLCAibWUiLCAiRnEiLCAibWYiLCAiaU4iLCAiRnIiLCAiakgiLCAiUVciLCAiRnMiLCAiRnQiLCAiRnUiLCAickUiLCAickYiLCAiRnYiLCAiRnciLCAiRngiLCAiRnkiLCAiRnoiLCAickciLCAiRkEiLCAia0wiLCAiaU8iLCAickgiLCAiRkIiLCAiTk8iLCAiUTgiLCAiUTkiLCAiUV8iLCAiUmEiLCAiUmIiLCAiUmMiLCAiUmYiLCAiUmciLCAiakkiLCAiUTciLCAiUSQiLCAiUmQiLCAiUmUiLCAickkiLCAiRkMiLCAiRkQiLCAickoiLCAicksiLCAiRkUiLCAiRkYiLCAiUmgiLCAiUmkiLCAiUmoiLCAiRkciLCAiRkgiLCAiRkkiLCAiRkoiLCAiRksiLCAiRkwiLCAiRk0iLCAiT2kiLCAiUWIiLCAiUWMiLCAiUTIiLCAiUTMiLCAiUTQiLCAiUTUiLCAiRk4iLCAiYlkiLCAiT2IiLCAiT28iLCAiUnAiLCAiUnEiLCAiUnIiLCAiUnMiLCAiUnUiLCAiUnoiLCAiUkIiLCAiUkEiLCAiUkQiLCAiUkUiLCAiUkYiLCAiUkciLCAiUkgiLCAiUkkiLCAiUkoiLCAiUksiLCAiUkwiLCAiUk0iLCAiUk4iLCAiUk8iLCAiUlAiLCAiUlEiLCAiUlIiLCAiUlMiLCAiUlQiLCAiUl8iLCAiUjkiLCAiUjgiLCAiUjciLCAiUjYiLCAiUjUiLCAiUjQiLCAiUjMiLCAiUjIiLCAiUjEiLCAiUjAiLCAiUloiLCAiUlkiLCAiUlgiLCAiUlciLCAiUlUiLCAiUlYiLCAiU28iLCAiU3AiLCAiU3EiLCAiU3IiLCAiU3MiLCAiU3QiLCAiU3UiLCAiU3YiLCAiU3ciLCAiU3giLCAiU3kiLCAiU3oiLCAiU0EiLCAiU0IiLCAiU0MiLCAiU0QiLCAiU0UiLCAiU0YiLCAiU0ciLCAiU0giLCAiU0kiLCAiU0oiLCAiUiQiLCAiU2EiLCAiU2IiLCAiU2MiLCAiU2QiLCAiU2UiLCAiU2YiLCAiU2ciLCAiU2giLCAiU2kiLCAiU2oiLCAiU2siLCAiU2wiLCAiU20iLCAiU24iLCAiU0siLCAiU0wiLCAiU00iLCAiU04iLCAiU08iLCAiU1AiLCAiU1EiLCAiU1IiLCAiU1MiLCAiU1QiLCAiU1UiLCAiU1YiLCAiUzAiLCAiUzEiLCAiUzIiLCAiUzMiLCAiUzQiLCAiUzUiLCAiUzYiLCAiUzciLCAiUzgiLCAiUzkiLCAiU18iLCAiUyQiLCAiVGEiLCAiVGIiLCAiVGMiLCAiVGQiLCAiVGUiLCAiVGYiLCAiVGciLCAiVGgiLCAiVGkiLCAiVGoiLCAiVGsiLCAiVGwiLCAiVG0iLCAiVG4iLCAiVG8iLCAiVHAiLCAiVHEiLCAiVHIiLCAiVHMiLCAiVHQiLCAiVHUiLCAiVHYiLCAiVHciLCAiVHgiLCAiVHkiLCAiVHoiLCAiVEEiLCAiVEIiLCAiVEMiLCAiVEQiLCAiVEUiLCAiVEYiLCAiVEciLCAiVEgiLCAiVEkiLCAiVEoiLCAiVEsiLCAiVEwiLCAiVE0iLCAiVE4iLCAiVE8iLCAiVFAiLCAiVFEiLCAiVFIiLCAiVFMiLCAiVFQiLCAiVFUiLCAiVFYiLCAiVFciLCAiVFgiLCAiVFkiLCAiVFoiLCAiVDAiLCAiVDEiLCAiVDIiLCAiVDMiLCAiVDQiLCAiVDUiLCAiVDYiLCAiVDciLCAiVDgiLCAiVDkiLCAiVF8iLCAiVCQiLCAiVWEiLCAiVWIiLCAiVWMiLCAiVWQiLCAiVWUiLCAiVWYiLCAiVWciLCAiVWgiLCAiVWkiLCAiVWoiLCAiVWsiLCAiVWwiLCAiVW0iLCAiVW4iLCAiVW8iLCAiVXAiLCAiVXEiLCAiVXIiLCAiVXMiLCAiVXQiLCAiVXUiLCAiVXYiLCAiVXciLCAiVXgiLCAiVXkiLCAiVXoiLCAiVUEiLCAiVUIiLCAiVUMiLCAiVUQiLCAiVUUiLCAiVUYiLCAiVUciLCAiVUgiLCAiVUkiLCAiVUoiLCAiVUsiLCAiVUwiLCAiVU0iLCAiVU4iLCAiVU8iLCAiVVAiLCAiVVEiLCAiVVIiLCAiVVMiLCAiVVQiLCAiVVUiLCAiVVYiLCAiVVciLCAiVVgiLCAiVVkiLCAiVVoiLCAiVTEiLCAiVTAiLCAiVTIiLCAiVTMiLCAiVTQiLCAiVTUiLCAiVTYiLCAiVTciLCAiVTgiLCAiVTkiLCAiVV8iLCAiVSQiLCAiVmUiLCAiVmEiLCAiVmQiLCAiVmIiLCAiVmMiLCAiVmYiLCAiVmciLCAiVmkiLCAiVmgiLCAiVmoiLCAiVmwiLCAiVmsiLCAiVm0iLCAiVm4iLCAiVnAiLCAiVm8iLCAiVnEiLCAiVnIiLCAiVnMiLCAiVnciLCAiVngiLCAiVnkiLCAiVnoiLCAiVnQiLCAiVnUiLCAiVnYiLCAiVkEiLCAiVkIiLCAiVkMiLCAiVkQiLCAiVkUiLCAiU1giLCAiVkYiLCAiVkgiLCAiVkciLCAiX2wiLCAiX20iLCAiX3QiLCAiX3UiLCAiX3giLCAiX3kiLCAiX2oiLCAiX24iLCAiX28iLCAiX3AiLCAiX3EiLCAiX3IiLCAiX3MiLCAiX3YiLCAiX3ciLCAiX2siLCAiX2kiLCAiWDIiLCAiWDMiLCAiWDQiLCAiWDUiLCAiWDYiLCAiWDciLCAiWDgiLCAiWDkiLCAiWF8iLCAiWCQiLCAiWWEiLCAiWWIiLCAiWWMiLCAiWWQiLCAiWWUiLCAiWWYiLCAiWWciLCAiWWgiLCAiWWkiLCAiWWoiLCAiWWsiLCAiWWwiLCAiWW0iLCAiWW4iLCAiWW8iLCAiWXAiLCAiWXEiLCAiWXIiLCAiWXMiLCAiWXQiLCAiWXUiLCAiWXYiLCAiWXciLCAiWXgiLCAiWXkiLCAiWXoiLCAiWUEiLCAiWUIiLCAiWUMiLCAiWUQiLCAiWUUiLCAiWUYiLCAiWUciLCAiWUgiLCAiWUkiLCAiWUoiLCAiWUsiLCAiWUwiLCAiWU0iLCAiWU4iLCAiWU8iLCAiWVAiLCAiWVEiLCAiWVIiLCAiWVMiLCAiWVQiLCAiWVUiLCAiWVYiLCAiWVciLCAiWVgiLCAiWVkiLCAiWVoiLCAiWTAiLCAiWTEiLCAiWTIiLCAiWTMiLCAiWTQiLCAiWTUiLCAiWTYiLCAiWTciLCAiWTgiLCAiWTkiLCAiWV8iLCAiWSQiLCAiWmEiLCAiWmIiLCAiWmMiLCAiWmQiLCAiWmUiLCAiWmYiLCAiWmciLCAiWmgiLCAiWmkiLCAiWmoiLCAiWmsiLCAiWmwiLCAiWm0iLCAiWm4iLCAiWm8iLCAiWnAiLCAiWnEiLCAiWnIiLCAiWnMiLCAiWnQiLCAiWnUiLCAiWnYiLCAiWnciLCAiWngiLCAiWnkiLCAiWnoiLCAiWkEiLCAiWkIiLCAiWkMiLCAiWkQiLCAiWkUiLCAiWkYiLCAiWkciLCAiWkgiLCAiWkkiLCAiWkoiLCAiWksiLCAiWkwiLCAiWk0iLCAiWk4iLCAiWk8iLCAiWlAiLCAiWlEiLCAiWlIiLCAiWlMiLCAiWlQiLCAiWlUiLCAiWlYiLCAiWlciLCAiWlgiLCAiWlkiLCAiWloiLCAiWjAiLCAiWjEiLCAiWjIiLCAiWjMiLCAiWjQiLCAiWjUiLCAiWjYiLCAiWjciLCAiWjgiLCAiWjkiLCAiWl8iLCAiWiQiLCAiX2EiLCAiX2IiLCAiX2MiLCAiX2QiLCAiX2UiLCAiX2YiLCAiX2ciLCAiX2giLCAiVkkiLCAiVkoiLCAiVksiLCAiVkwiLCAiVk0iLCAiVk4iLCAiVk8iLCAiVlAiLCAiVlEiLCAiVlIiLCAiVlMiLCAiVlQiLCAiVlUiLCAiVlYiLCAiVlciLCAiVlgiLCAiVlkiLCAiVloiLCAiVjAiLCAiVjEiLCAiVjIiLCAiVjMiLCAiVjQiLCAiVjUiLCAiVjYiLCAiVjciLCAiVjgiLCAiVjkiLCAiVl8iLCAiViQiLCAiV2EiLCAiV2IiLCAiV2MiLCAiV2QiLCAiV2UiLCAiV2YiLCAiV2ciLCAiV2giLCAiV2kiLCAiV2oiLCAiV2siLCAiV2wiLCAiV20iLCAiV24iLCAiV28iLCAiV3AiLCAiV3EiLCAiV3IiLCAiV3MiLCAiV3QiLCAiV3UiLCAiV3YiLCAiV3ciLCAiV3giLCAiV3kiLCAiV3oiLCAiV0EiLCAiV0IiLCAiV0MiLCAiV0QiLCAiV0UiLCAiV0YiLCAiV0ciLCAiV0giLCAiV0kiLCAiV0oiLCAiV0siLCAiV0wiLCAiV00iLCAiV04iLCAiV08iLCAiV1AiLCAiV1EiLCAiV1IiLCAiV1MiLCAiV1QiLCAiV1UiLCAiV1YiLCAiV1ciLCAiV1giLCAiV1kiLCAiV1oiLCAiVzAiLCAiVzEiLCAiVzIiLCAiVzMiLCAiVzQiLCAiVzUiLCAiVzYiLCAiVzciLCAiVzgiLCAiVzkiLCAiV18iLCAiVyQiLCAiWGEiLCAiWGIiLCAiWGMiLCAiWGQiLCAiWGUiLCAiWGYiLCAiWGciLCAiWGgiLCAiWGkiLCAiWGoiLCAiWGsiLCAiWGwiLCAiWG0iLCAiWG4iLCAiWG8iLCAiWHAiLCAiWHEiLCAiWHIiLCAiWHMiLCAiWHQiLCAiWHUiLCAiWHYiLCAiWHciLCAiWHgiLCAiWHkiLCAiWHoiLCAiWEEiLCAiWEIiLCAiWEMiLCAiWEQiLCAiWEUiLCAiWEYiLCAiWEciLCAiWEgiLCAiWEkiLCAiWEoiLCAiWEsiLCAiWEwiLCAiWE0iLCAiWE4iLCAiWE8iLCAiWFAiLCAiWFEiLCAiWFIiLCAiWFMiLCAiWFQiLCAiWFUiLCAiWFYiLCAiWFciLCAiWFgiLCAiWFkiLCAiWFoiLCAiWDAiLCAiWDEiLCAiX0MiLCAiX0QiLCAiX00iLCAiX04iLCAiX08iLCAiX1AiLCAiXzQiLCAiXzUiLCAiXzYiLCAiXzciLCAiXzgiLCAiJG8iLCAiJHAiLCAiJHIiLCAiJHMiLCAiJHQiLCAiJHUiLCAiJHYiLCAiYWR1IiwgImFkdiIsICJhZHciLCAiYWR4IiwgImFkeSIsICJhZHoiLCAiYWRBIiwgImFkQiIsICJhZEMiLCAiYWREIiwgImFkRSIsICJhZEYiLCAiYWRZIiwgImFkWCIsICJhZFciLCAiYWRWIiwgImFkVSIsICJhZFQiLCAiYWRTIiwgImFkUiIsICJhZFEiLCAiYWRQIiwgImFkTyIsICJhZE4iLCAiYWRMIiwgImFkTSIsICJhZFoiLCAiYWQwIiwgImFkSSIsICJhZEoiLCAiYWRLIiwgImFkSCIsICJhZEciLCAiYWRuIiwgImFkbyIsICJhZHAiLCAiYWRxIiwgImFkciIsICJhZHMiLCAiYWR0IiwgImFkZiIsICJhZGciLCAiYWRoIiwgImFkaSIsICJhZGoiLCAiYWRrIiwgImFkbCIsICJhZG0iLCAiYWM5IiwgImFjXyIsICJhYyQiLCAiYWRhIiwgImFkYiIsICJhZGMiLCAiYWRkIiwgImFjMSIsICJhYzIiLCAiYWMzIiwgImFjNCIsICJhYzUiLCAiYWM2IiwgImFjNyIsICJhYzgiLCAiYWRlIiwgImFjVCIsICJhY1UiLCAiYWNWIiwgImFjVyIsICJhY1giLCAiYWNZIiwgImFjWiIsICJhY0wiLCAiYWNNIiwgImFjTiIsICJhY08iLCAiYWNQIiwgImFjUSIsICJhY1IiLCAiYWNTIiwgImFjRCIsICJhY0UiLCAiYWNGIiwgImFjRyIsICJhY0giLCAiYWNJIiwgImFjSiIsICJhY3YiLCAiYWN3IiwgImFjeCIsICJhY3kiLCAiYWN6IiwgImFjQSIsICJhY0IiLCAiYWNDIiwgImFjSyIsICJhYzAiLCAiYWNuIiwgImFjbyIsICJhY3AiLCAiYWNxIiwgImFjciIsICJhY3MiLCAiYWN0IiwgImFjZiIsICJhY2ciLCAiYWNoIiwgImFjaSIsICJhY2oiLCAiYWNrIiwgImFjbCIsICJhY20iLCAiYWI5IiwgImFiXyIsICJhYiQiLCAiYWNhIiwgImFjYiIsICJhY2MiLCAiYWNkIiwgImFiMSIsICJhYjIiLCAiYWIzIiwgImFiNCIsICJhYjUiLCAiYWI2IiwgImFiNyIsICJhYjgiLCAiYWNlIiwgImFiVCIsICJhYlUiLCAiYWJWIiwgImFiVyIsICJhYlgiLCAiYWJZIiwgImFiWiIsICJhYkwiLCAiYWJNIiwgImFiTiIsICJhYk8iLCAiYWJQIiwgImFiUSIsICJhYlIiLCAiYWJTIiwgImFiRCIsICJhYkUiLCAiYWJGIiwgImFiRyIsICJhYkgiLCAiYWJJIiwgImFiSiIsICJhYnciLCAiYWJ4IiwgImFieSIsICJhYnoiLCAiYWJBIiwgImFiQiIsICJhYkMiLCAiYWJLIiwgImFiMCIsICJhY3UiLCAiYWJvIiwgImFicCIsICJhYnEiLCAiYWJyIiwgImFicyIsICJhYnQiLCAiYWJ1IiwgImFiZyIsICJhYmgiLCAiYWJpIiwgImFiaiIsICJhYmsiLCAiYWJsIiwgImFibSIsICJhYm4iLCAiYWFfIiwgImFhJCIsICJhYmEiLCAiYWJiIiwgImFiYyIsICJhYmQiLCAiYWJlIiwgImFhMiIsICJhYTMiLCAiYWE0IiwgImFhNSIsICJhYTYiLCAiYWE3IiwgImFhOCIsICJhYTkiLCAiYWJmIiwgImFhVSIsICJhYVYiLCAiYWFXIiwgImFhWCIsICJhYVkiLCAiYWFaIiwgImFhMCIsICJhYU0iLCAiYWFOIiwgImFhTyIsICJhYVAiLCAiYWFRIiwgImFhUiIsICJhYVMiLCAiYWFUIiwgImFhRSIsICJhYUYiLCAiYWFHIiwgImFhSCIsICJhYUkiLCAiYWFKIiwgImFhSyIsICJhYXciLCAiYWF4IiwgImFheSIsICJhYXoiLCAiYWFBIiwgImFhQiIsICJhYUMiLCAiYWFEIiwgImFhTCIsICJhYTEiLCAiYWFvIiwgImFhcCIsICJhYXEiLCAiYWFyIiwgImFhcyIsICJhYXQiLCAiYWF1IiwgImFhZyIsICJhYWgiLCAiYWFpIiwgImFhaiIsICJhYWsiLCAiYWFsIiwgImFhbSIsICJhYW4iLCAiJF8iLCAiJCQiLCAiYWFhIiwgImFhYiIsICJhYWMiLCAiYWFkIiwgImFhZSIsICIkMiIsICIkMyIsICIkNCIsICIkNSIsICIkNiIsICIkNyIsICIkOCIsICIkOSIsICJhYWYiLCAiJFUiLCAiJFYiLCAiJFciLCAiJFgiLCAiJFkiLCAiJFoiLCAiJDAiLCAiJE0iLCAiJE4iLCAiJE8iLCAiJFAiLCAiJFEiLCAiJFIiLCAiJFMiLCAiJFQiLCAiJEUiLCAiJEYiLCAiJEciLCAiJEgiLCAiJEkiLCAiJEoiLCAiJEsiLCAiJHgiLCAiJHkiLCAiJHoiLCAiJEEiLCAiJEIiLCAiJEMiLCAiJEQiLCAiJEwiLCAiJDEiLCAiYWF2IiwgImFidiIsICIkdyIsICIkbSIsICIkbCIsICIkayIsICIkaiIsICIkaSIsICIkaCIsICIkZyIsICIkZiIsICIkZSIsICIkZCIsICIkYyIsICIkYiIsICIkYSIsICJfOSIsICJfXyIsICJfJCIsICIkbiIsICJfUSIsICJfUiIsICJfUyIsICJfVCIsICJfVSIsICJfViIsICJfVyIsICJfWCIsICJfWSIsICJfWiIsICJfMCIsICJfMSIsICJfMiIsICJfMyIsICJfSiIsICJfSyIsICJfTCIsICJfSCIsICJfRyIsICJfRiIsICJfSSIsICJfRSIsICJhZWgiLCAiYWVnIiwgImFlZiIsICJhZWUiLCAiYWVkIiwgImFlYiIsICJhZWMiLCAiYWVhIiwgImFkJCIsICJhZF8iLCAiYWQ5IiwgImFkNiIsICJhZDciLCAiYWQ4IiwgImFlaSIsICJhZXAiLCAiYWVuIiwgImFlaiIsICJhZWsiLCAiYWVsIiwgImFlbSIsICJhZXMiLCAiYWV0IiwgImFldSIsICJhZXYiLCAiYWV3IiwgImFleCIsICJhZXkiLCAiYWV6IiwgImFlQSIsICJhZUIiLCAiYWVDIiwgImFlRCIsICJhZUUiLCAiYWVGIiwgImFlRyIsICJhZUgiLCAiYWVJIiwgImFlSiIsICJhZUsiLCAiYWVMIiwgImFlTSIsICJhZU4iLCAiYWVPIiwgImFlUCIsICJhZVEiLCAiYWVSIiwgImFlUyIsICJhZVQiLCAiYWVVIiwgImFlViIsICJhZVciLCAiYWVYIiwgImFlWSIsICJhZVoiLCAiYWUwIiwgImFlMSIsICJhZTIiLCAiYWUzIiwgImFlNCIsICJhZTUiLCAiYWU2IiwgImFlNyIsICJhZTgiLCAiYWU5IiwgImFlXyIsICJhZSQiLCAiYWZhIiwgImFmYiIsICJhZmMiLCAiYWZkIiwgImFmZSIsICJhZmYiLCAiYWZnIiwgImFmaCIsICJhZmkiLCAiYWZqIiwgImFmayIsICJhZmwiLCAiYWZtIiwgImFmbiIsICJhZm8iLCAiYWZwIiwgImFmcSIsICJhZnIiLCAiYWZzIiwgImFmdCIsICJhZnUiLCAiYWZ2IiwgImFmdyIsICJhZngiLCAiYWVxIiwgImFlciIsICJhZkgiLCAiYWZJIiwgImFmSiIsICJhZk0iLCAiYWZOIiwgImFmSyIsICJhZkwiLCAiYWZPIiwgImFmUCIsICJhZlEiLCAiYWZSIiwgImFmUyIsICJhZlQiLCAiYWZVIiwgImFmViIsICJhZjkiLCAiYWYxIiwgImFmMiIsICJhZjYiLCAiYWY3IiwgImFmOCIsICJhZjMiLCAiYWY0IiwgImFmNSIsICJhZloiLCAiYWZZIiwgImFmWCIsICJhZlciLCAiYWZ6IiwgImFmeSIsICJhZ2YiLCAiYWdnIiwgImFnZSIsICJhZ2IiLCAiYWdjIiwgImFnaCIsICJhZ2kiLCAiYWdqIiwgImFnayIsICJhZ2wiLCAiYWdtIiwgImFnbiIsICJhZ28iLCAiYWdwIiwgImFncSIsICJhZ3QiLCAiYWd1IiwgImFndiIsICJhZ3ciLCAiYWd4IiwgImFnciIsICJhZ3MiLCAiYWdBIiwgImFnRyIsICJhZ0IiLCAiYWdDIiwgImFnRCIsICJhZ0UiLCAiYWdGIiwgImFneiIsICJhZ3kiLCAiYWh5IiwgImFodyIsICJhaHgiLCAiYWh6IiwgImFoQSIsICJhaEIiLCAiYWhDIiwgImFoRCIsICJhaEUiLCAiYWhGIiwgImFoRyIsICJhaEgiLCAiYWhJIiwgImFoSiIsICJhaEsiLCAiYWhMIiwgImFoTiIsICJhaE0iLCAiYWhzIiwgImFociIsICJhaHEiLCAiYWhwIiwgImFobyIsICJhaG0iLCAiYWhsIiwgImFoayIsICJhaGkiLCAiYWhmIiwgImFoZSIsICJhZzEiLCAiYWdTIiwgImFnVCIsICJhZ1EiLCAiYWdSIiwgImFnTiIsICJhZ0oiLCAiYWdJIiwgImFnSCIsICJhaFEiLCAiYWhSIiwgImFoTyIsICJhaFAiLCAiYWlkIiwgImFpZSIsICJhaF8iLCAiYWg5IiwgImFoOCIsICJhaDEiLCAiYWgyIiwgImFoMyIsICJhaDQiLCAiYWhaIiwgImFoWSIsICJhaWgiLCAiYWlpIiwgImFpaiIsICJhaWsiLCAiYWlsIiwgImFpbSIsICJhaW4iLCAiYWlvIiwgImFpcCIsICJhaXEiLCAiYWlyIiwgImFpcyIsICJhaXQiLCAiYWl1IiwgImFpdiIsICJhaXciLCAiYWl4IiwgImFpeSIsICJhaXoiLCAiYWlBIiwgImFpQiIsICJhaUMiLCAiYWlEIiwgImFpRSIsICJhaUciLCAiYWlGIiwgImFpSSIsICJhaUgiLCAiYWlLIiwgImFpSiIsICJhaUwiLCAiYWlNIiwgImFpTiIsICJhaU8iLCAiYWlQIiwgImFpUSIsICJhaVIiLCAiYWlVIiwgImFpViIsICJhaVMiLCAiYWlUIiwgImFpVyIsICJhaVgiLCAiYWkwIiwgImFpWiIsICJhaTEiLCAiYWkyIiwgImFpWSIsICJhaTQiLCAiYWk1IiwgImFpMyIsICJhaV8iLCAiYWkkIiwgImFpNiIsICJhaTciLCAiYWk4IiwgImFpOSIsICJhamEiLCAiYWpDIiwgImFqRCIsICJhakUiLCAiYWpBIiwgImFqeiIsICJhamQiLCAiYWplIiwgImFqZiIsICJhamciLCAiYWpoIiwgImFqaSIsICJhamoiLCAiYWprIiwgImFqbCIsICJham0iLCAiYWpuIiwgImFqbyIsICJhanAiLCAiYWpxIiwgImFqciIsICJhanMiLCAiYWp0IiwgImFqdSIsICJhanYiLCAiYWp3IiwgImFqeCIsICJhankiLCAiYWpjIiwgImFqSyIsICJhak0iLCAiYWpOIiwgImFqSiIsICJhakkiLCAiYWpIIiwgImFqRiIsICJhakciLCAiYWpPIiwgImFqUCIsICJhalEiLCAiYWpSIiwgImFqUyIsICJhalQiLCAiYWpVIiwgImFqViIsICJhaiQiLCAiYWthIiwgImFqOSIsICJhal8iLCAiYWoyIiwgImFqOCIsICJhajYiLCAiYWo3IiwgImFqNSIsICJhajEiLCAiYWowIiwgImFqWSIsICJhalgiLCAiYWtpIiwgImFrayIsICJha2wiLCAiYWtqIiwgImFrbSIsICJha24iLCAiYWtlIiwgImFrZCIsICJha2YiLCAiYWtnIiwgImFrbyIsICJha3ciLCAiYWt4IiwgImFreSIsICJha3oiLCAiYWtCIiwgImFrQyIsICJha0EiLCAiYWtEIiwgImFrRSIsICJha0YiLCAiYWtHIiwgImFrSCIsICJha0kiLCAiYWtKIiwgImFrSyIsICJha0wiLCAiYWtNIiwgImFrTiIsICJha1QiLCAiYWtVIiwgImFrTyIsICJha1AiLCAiYWtRIiwgImFrUiIsICJha1MiLCAiYWtWIiwgImFrVyIsICJha1giLCAiYWtZIiwgImFrWiIsICJhazAiLCAiYWsxIiwgImFrMiIsICJhazMiLCAiYWs0IiwgImFrNSIsICJhazYiLCAiYWs3IiwgImFrOCIsICJhazkiLCAiYWxkIiwgImFsZSIsICJhbGYiLCAiYWxnIiwgImFrXyIsICJhayQiLCAiYWxhIiwgImFsYiIsICJhbGMiLCAiYWxoIiwgImFsaSIsICJhbGoiLCAiYWxrIiwgImFsbCIsICJhbG0iLCAiYWxuIiwgImFsbyIsICJhbHAiLCAiYWxxIiwgImFsciIsICJhbHMiLCAiYWx0IiwgImFsdSIsICJhbHYiLCAiYWx3IiwgImFseCIsICJhbHkiLCAiYWx6IiwgImFsQSIsICJhbEIiLCAiYWxDIiwgImFsRCIsICJhbEkiLCAiYWxKIiwgImFsRSIsICJhbEYiLCAiYWxHIiwgImFsSCIsICJhbEsiLCAiYWxMIiwgImFsTSIsICJhbE4iLCAiYWxPIiwgImFsUCIsICJhbFEiLCAiYWxSIiwgImFsUyIsICJhbFQiLCAiYWxVIiwgImFsViIsICJhbFciLCAiYWxYIiwgImFsWSIsICJhbFoiLCAiYWwwIiwgImFsMSIsICJhbDIiLCAiYWwzIiwgImFsNCIsICJhbDUiLCAiYWw2IiwgImFsNyIsICJhbDgiLCAiYWw5IiwgImFsXyIsICJhbCQiLCAiYW1hIiwgImFtYiIsICJhbWMiLCAiYW1kIiwgImFtZSIsICJhbWYiLCAiYW1nIiwgImFtaCIsICJhbWkiLCAiYW1qIiwgImFtayIsICJhbWwiLCAiYW1xIiwgImFtbSIsICJhbW4iLCAiYW1vIiwgImFtcCIsICJhbXIiLCAiYW1zIiwgImFtdCIsICJhbXUiLCAiYW12IiwgImFtdyIsICJhbXgiLCAiYW15IiwgImFteiIsICJhbUEiLCAiYW1CIiwgImFtQyIsICJhbUgiLCAiYW1JIiwgImFtRCIsICJhbUUiLCAiYW1GIiwgImFtRyIsICJhbUoiLCAiYW1LIiwgImFtTCIsICJhbU0iLCAiYW1OIiwgImFtTyIsICJhbVAiLCAiYW1RIiwgImFtUiIsICJhbVMiLCAiYW1UIiwgImFtVSIsICJhbVYiLCAiYW1XIiwgImFtWCIsICJhbVkiLCAiYW1aIiwgImFtMCIsICJhbTEiLCAiYW0yIiwgImFtMyIsICJhbTQiLCAiYW01IiwgImFtNiIsICJhbTciLCAiYW04IiwgImFtOSIsICJhbV8iLCAiYW0kIiwgImFuYSIsICJhbmYiLCAiYW5nIiwgImFuaCIsICJhbmkiLCAiYW5qIiwgImFuayIsICJhbmwiLCAiYW5iIiwgImFuYyIsICJhbmQiLCAiYW5lIiwgImFubSIsICJhbnIiLCAiYW5uIiwgImFubyIsICJhbnAiLCAiYW5xIiwgImFucyIsICJhbnQiLCAiYW51IiwgImFudiIsICJhbnciLCAiYW54IiwgImFueSIsICJhbnoiLCAiYW5BIiwgImFuQiIsICJhbkMiLCAiYW5PIiwgImFuUCIsICJhblEiLCAiYW5SIiwgImFuTCIsICJhbk0iLCAiYW5OIiwgImFuRCIsICJhbkUiLCAiYW5GIiwgImFuRyIsICJhbksiLCAiYW5IIiwgImFuSSIsICJhbkoiLCAiYW5TIiwgImFuVCIsICJhblUiLCAiYW5WIiwgImFuVyIsICJhblgiLCAiYW5ZIiwgImFuWiIsICJhbjAiLCAiYW4xIiwgImFuMiIsICJhbjMiLCAiYW40IiwgImFuNSIsICJhbjYiLCAiYW43IiwgImFuOCIsICJhbjkiLCAiYW9qIiwgImFuXyIsICJhb2UiLCAiYW9mIiwgImFvZyIsICJhb2giLCAiYW9pIiwgImFuJCIsICJhb2EiLCAiYW9iIiwgImFvYyIsICJhb2QiLCAiYW91IiwgImFvayIsICJhb2wiLCAiYW9tIiwgImFvbiIsICJhb28iLCAiYW9wIiwgImFvcSIsICJhb3IiLCAiYW9zIiwgImFvdCIsICJhb3YiLCAiYW93IiwgImFveCIsICJhb3kiLCAiYW96IiwgImFvQSIsICJhb0IiLCAiYW9DIiwgImFvRCIsICJhb0UiLCAiYW9GIiwgImFvRyIsICJhb0giLCAiYW9JIiwgImFvSiIsICJhb0siLCAiYW9MIiwgImFvTSIsICJhb04iLCAiYW9PIiwgImFvUCIsICJhb1EiLCAiYW9SIiwgImFvViIsICJhb1MiLCAiYW9UIiwgImFvVSIsICJhb1ciLCAiYW9YIiwgImFvWSIsICJhb1oiLCAiYW8wIiwgImFvMSIsICJhbzIiLCAiYW8zIiwgImFvNCIsICJhbzUiLCAiYW82IiwgImFvNyIsICJhbzgiLCAiYW85IiwgImFvXyIsICJhbyQiLCAiYXBhIiwgImFwYiIsICJhcGMiLCAiYXBkIiwgImFwZSIsICJhcGYiLCAiYXBnIiwgImFwaCIsICJhcGkiLCAiYXBqIiwgImFwayIsICJhcGwiLCAiYXBtIiwgImFwbiIsICJhcG8iLCAiYXBwIiwgImFwcSIsICJhcHIiLCAiYXBzIiwgImFwdCIsICJhcHUiLCAiYXB2IiwgImFwdyIsICJhcHgiLCAiYXB5IiwgImFweiIsICJhcEEiLCAiYXBCIiwgImFwRyIsICJhcEMiLCAiYXBEIiwgImFwRSIsICJhcEYiLCAiYXBIIiwgImFwSSIsICJhcEoiLCAiYXBLIiwgImFwTCIsICJhcE0iLCAiYXBOIiwgImFwTyIsICJhcFAiLCAiYXBRIiwgImFwUiIsICJhcFMiLCAiYXBUIiwgImFwVSIsICJhcFYiLCAiYXBXIiwgImFwWCIsICJhcDUiLCAiYXA2IiwgImFwNyIsICJhcFkiLCAiYXBaIiwgImFwMCIsICJhcDEiLCAiYXAyIiwgImFwMyIsICJhcDQiLCAiYXA4IiwgImFxZSIsICJhcDkiLCAiYXBfIiwgImFwJCIsICJhcWEiLCAiYXFiIiwgImFxYyIsICJhcWQiLCAiYXFvIiwgImFxZiIsICJhcW4iLCAiYXFnIiwgImFxaCIsICJhcWkiLCAiYXFqIiwgImFxayIsICJhcWwiLCAiYXFtIiwgImFxcCIsICJhcXEiLCAiYXFyIiwgImFxcyIsICJhcXQiLCAiYXF1IiwgImFxdiIsICJhcXciLCAiYXF4IiwgImFxeSIsICJhcXoiLCAiYXFBIiwgImFxQiIsICJhcUMiLCAiYXFEIiwgImFxOCIsICJhcTkiLCAiYXFfIiwgImFxMiIsICJhcTMiLCAiYXFZIiwgImFxWiIsICJhcTAiLCAiYXFTIiwgImFxVCIsICJhcU4iLCAiYXFPIiwgImFxUCIsICJhcUciLCAiYXFIIiwgImFxSSIsICJhcUUiLCAiYXFGIiwgImFxSiIsICJhcUsiLCAiYXFMIiwgImFxTSIsICJhcVEiLCAiYXFSIiwgImFxVSIsICJhcVYiLCAiYXFXIiwgImFxWCIsICJhcTEiLCAiYXE0IiwgImFxNSIsICJhcTYiLCAiYXE3IiwgImFxJCIsICJhcmEiLCAiYXJiIiwgImFyYyIsICJhcmQiLCAiYXJlIiwgImFyZiIsICJhcmciLCAiYXJoIiwgImFyaSIsICJhcmoiLCAiYXJrIiwgImFybCIsICJhcm0iLCAiYXJuIiwgImFybyIsICJhcnAiLCAiYXJxIiwgImFyciIsICJhcnMiLCAiYXJ0IiwgImFydSIsICJhcnYiLCAiYXJ3IiwgImFyeCIsICJhcnkiLCAiYXJ6IiwgImFyQSIsICJhckIiLCAiYXJDIiwgImFyRCIsICJhckUiLCAiYXJGIiwgImFyTyIsICJhclAiLCAiYXJRIiwgImFyTiIsICJhckciLCAiYXJIIiwgImFySSIsICJhckoiLCAiYXJLIiwgImFyTCIsICJhck0iLCAiYXJSIiwgImFyUyIsICJhclQiLCAiYXJVIiwgImFyViIsICJhclciLCAiYXJYIiwgImFyWSIsICJhcloiLCAiYXIwIiwgImFyMSIsICJhcjIiLCAiYXIzIiwgImFyNCIsICJhcjUiLCAiYXI2IiwgImFyNyIsICJhc2EiLCAiYXI4IiwgImFyOSIsICJhcl8iLCAiYXIkIiwgImFzYiIsICJhc2MiLCAiYXNkIiwgImFzZSIsICJhc2kiLCAiYXNmIiwgImFzZyIsICJhc2giLCAiYXNqIiwgImFzayIsICJhc2wiLCAiYXNtIiwgImFzbiIsICJhc28iLCAiYXNwIiwgImFzcSIsICJhc3IiLCAiYXNzIiwgImFzdCIsICJhc3UiLCAiYXN2IiwgImFzdyIsICJhc3giLCAiYXN5IiwgImFzeiIsICJhc0EiLCAiYXNCIiwgImFzQyIsICJhc0QiLCAiYXNFIiwgImFzRiIsICJhc0ciLCAiYXNIIiwgImFzSSIsICJhc0oiLCAiYXNLIiwgImFzTCIsICJhc00iLCAiYXNQIiwgImFzUSIsICJhc1IiLCAiYXNTIiwgImFzVCIsICJhc04iLCAiYXNPIiwgImFzVSIsICJhc1YiLCAiYXNXIiwgImFzWCIsICJhc1kiLCAiYXNaIiwgImFzMCIsICJhczEiLCAiYXMyIiwgImFzMyIsICJhczQiLCAiYXM1IiwgImFzNiIsICJhczciLCAiYXM4IiwgImFzOSIsICJhc18iLCAiYXMkIiwgImF0YSIsICJhdGIiLCAiYXRoIiwgImF0ZyIsICJhdGMiLCAiYXRkIiwgImF0ZSIsICJhdGYiLCAiYXRpIiwgImF0aiIsICJhdGsiLCAiYXRsIiwgImF0bSIsICJhdG4iLCAiYXRvIiwgImF0cCIsICJhdHEiLCAiYXRyIiwgImF0cyIsICJhdHQiLCAiYXR1IiwgImF0diIsICJhdHciLCAiYXR4IiwgImF0SyIsICJhdEwiLCAiYXR5IiwgImF0SSIsICJhdEoiLCAiYXR6IiwgImF0QSIsICJhdEIiLCAiYXRDIiwgImF0RCIsICJhdEUiLCAiYXRGIiwgImF0RyIsICJhdEgiLCAiYXRNIiwgImF0TiIsICJhdE8iLCAiYXRQIiwgImF0USIsICJhdFIiLCAiYXRTIiwgImF0VCIsICJhdFUiLCAiYXRWIiwgImF0VyIsICJhdFgiLCAiYXRZIiwgImF0WiIsICJhdDAiLCAiYXQxIiwgImF0MiIsICJhdDMiLCAiYXQ0IiwgImF0NSIsICJhdDYiLCAiYXQ3IiwgImF0OCIsICJhdDkiLCAiYXRfIiwgImF0JCIsICJhdWEiLCAiYXViIiwgImF1YyIsICJhdWQiLCAiYXVlIiwgImF1ZiIsICJhdWciLCAiYXVoIiwgImF1aSIsICJhdWoiLCAiYXVrIiwgImF1bCIsICJhdW0iLCAiYXVuIiwgImF1byIsICJhdXAiLCAiYXVxIiwgImF1ciIsICJhdXMiLCAiYXV0IiwgImF1dSIsICJhdXYiLCAiYXV3IiwgImF1eCIsICJhdXkiLCAiYXV6IiwgImF1QSIsICJhdUIiLCAiYXVDIiwgImF1RCIsICJhdUUiLCAiYXVGIiwgImF1RyIsICJhdUgiLCAiYXVJIiwgImF1SiIsICJhdUsiLCAiYXVMIiwgImF1TSIsICJhdU4iLCAiYXVPIiwgImF1UCIsICJhdVEiLCAiYXVSIiwgImF1UyIsICJhdVQiLCAiYXVVIiwgImF1ViIsICJhdVciLCAiYXVYIiwgImF1WSIsICJhdVoiLCAiYXUwIiwgImF1MSIsICJhdTIiLCAiYXUzIiwgImF1NCIsICJhdTUiLCAiYXU2IiwgImF1NyIsICJhdSQiLCAiYXU4IiwgImF1OSIsICJhdV8iLCAiYXZhIiwgImF2YiIsICJhdmMiLCAiYXZkIiwgImF2ZSIsICJhdmYiLCAiYXZnIiwgImF2aCIsICJhdmkiLCAiYXZqIiwgImF2ayIsICJhdmwiLCAiYXZtIiwgImF2biIsICJhdm8iLCAiYXZwIiwgImF2cSIsICJhdnIiLCAiYXZzIiwgImF2dCIsICJhdnUiLCAiYXZ2IiwgImF2dyIsICJhdngiLCAiYXZ5IiwgImF2eiIsICJhdkEiLCAiYXZCIiwgImF2QyIsICJhdkQiLCAiYXZFIiwgImF2RiIsICJhdkciLCAiYXZIIiwgImF2SSIsICJhdkoiLCAiYXZLIiwgImF2TCIsICJhdk0iLCAiYXZOIiwgImF2USIsICJhdk8iLCAiYXZQIiwgImF2UiIsICJhdlMiLCAiYXZUIiwgImF2VSIsICJhdlYiLCAiYXZXIiwgImF2WCIsICJhdlkiLCAiYXZaIiwgImF2MCIsICJhdjEiLCAiYXYyIiwgImF2MyIsICJhdjQiLCAiYXY1IiwgImF2NiIsICJhdjciLCAiYXY4IiwgImF2OSIsICJhdl8iLCAiYXYkIiwgImF3YSIsICJhd2IiLCAiYXdjIiwgImF3ZCIsICJhd2YiLCAiYXdlIiwgImF3ZyIsICJhd2giLCAiYXdpIiwgImF3aiIsICJhd2siLCAiYXdsIiwgImF3bSIsICJhd24iLCAiYXdvIiwgImFrdSIsICJha3YiLCAiYWtyIiwgImFrcyIsICJha3QiLCAiYWtwIiwgImFrcSIsICJhd3AiLCAiYXdxIiwgImF3ciIsICJhd3QiLCAiYXdGIiwgImF3eSIsICJhd3oiLCAiYXdBIiwgImF3QiIsICJhd0MiLCAiYXdEIiwgImF3RyIsICJOVSIsICJOJCIsICJPYSIsICJPbiIsICJRUSIsICJFViIsICJoSiIsICJpUCIsICJpYyIsICJGTyIsICJSbCIsICJSbiIsICJGUCIsICJGUSIsICJyTCIsICJSbSIsICJSbyIsICJyTSIsICJrTSIsICJyTiIsICJGUiIsICJyTyIsICJyUCIsICJyUSIsICJyUiIsICJtZyIsICJtaCIsICJyUyIsICJtaSIsICJyVCIsICJGUyIsICJGVCIsICJhd0kiLCAiclUiLCAiRlUiLCAiUnQiLCAiYXdIIiwgIkZXIiwgIkZWIiwgIlJ2IiwgIlJ3IiwgIlJ4IiwgIlJ5IiwgImNLIiwgImlkIiwgIkZYIiwgIkZZIiwgIkZaIiwgIkYwIiwgIkYxIiwgIkYyIiwgIkYzIiwgIkY0IiwgIkY1IiwgIkY2IiwgImpKIiwgInJWIiwgIm1qIiwgIkY3IiwgImtOIiwgIkY4IiwgImtPIiwgIm1rIiwgImtQIiwgIkY5IiwgImNMIiwgImlRIiwgIm1sIiwgIkZfIiwgImllIiwgImhLIiwgIm1uIiwgIkYkIiwgInJXIiwgIkdhIiwgIkdiIiwgImtRIiwgInJYIiwgImE0IiwgImE1IiwgImE2IiwgImE3IiwgImE4IiwgImE5IiwgImJmIiwgImJnIiwgImJoIiwgImJyIiwgImJ6IiwgImJBIiwgImJCIiwgImJDIiwgImJEIiwgImJJIiwgImJKIiwgImJaIiwgImIwIiwgImI1IiwgImI2IiwgImI3IiwgImI4IiwgImI5IiwgImJfIiwgImIkIiwgImNhIiwgImNwIiwgImNxIiwgImNyIiwgImNzIiwgImN0IiwgImNNIiwgImNOIiwgImNPIiwgImNQIiwgImNRIiwgImNSIiwgImNTIiwgInJZIiwgIkdjIiwgInJaIiwgIkdkIiwgIm1vIiwgInIwIiwgIkdlIiwgIm1wIiwgIkdmIiwgImhMIiwgIkdnIiwgImlnIiwgIkdoIiwgInIxIiwgIkdpIiwgIkdqIiwgIkdrIiwgIm1xIiwgIkdsIiwgIkdtIiwgIkduIiwgIkdvIiwgInIyIiwgIm1yIiwgInIzIiwgIl96IiwgInI0IiwgIkdwIiwgIkdxIiwgIm1zIiwgImloIiwgInI1IiwgIkdyIiwgImlSIiwgImpMIiwgIm10IiwgIkdzIiwgIm11IiwgIm12IiwgIm13IiwgIm14IiwgIm15IiwgIm16IiwgImlpIiwgIm1BIiwgInI2IiwgImpNIiwgIm1CIiwgInI3IiwgIm1DIiwgIm1EIiwgIm1FIiwgIm1GIiwgImtSIiwgIm1HIiwgIm1IIiwgIkd0IiwgIkd1IiwgIm1JIiwgImlqIiwgIkd2IiwgIkd3IiwgIkd4IiwgIm1KIiwgInI4IiwgIm1LIiwgImtTIiwgImpOIiwgIkd5IiwgImlTIiwgIkd6IiwgIkdBIiwgIkdCIiwgIm1MIiwgImlrIiwgIkdDIiwgImlUIiwgIkdEIiwgIkdFIiwgIm1NIiwgIm1OIiwgIkdGIiwgIkdHIiwgIm1PIiwgIm1QIiwgIkdIIiwgImlsIiwgImltIiwgIkdJIiwgIkdKIiwgIl9BIiwgIkdLIiwgIl9CIiwgIkdMIiwgIm1RIiwgImtUIiwgIkdNIiwgIkdOIiwgInI5IiwgIkdPIiwgIkdQIiwgIkdRIiwgImlVIiwgImpPIiwgIkdSIiwgIkdTIiwgIkdUIiwgIiRxIiwgIkdVIiwgIkdWIiwgImtVIiwgImFkMSIsICJhZDIiLCAiYWQzIiwgImFkNCIsICJhZDUiLCAia1YiLCAibVIiLCAiR1ciLCAialEiLCAia1ciLCAiaW8iLCAiaE0iLCAiR1giLCAicl8iLCAiciQiLCAiR1kiLCAiaVYiLCAic2EiLCAia1giLCAia1kiLCAiaVciLCAic2IiLCAiR1oiLCAiRzAiLCAic2MiLCAibVMiLCAic2QiLCAialIiLCAiRzEiLCAiRzIiLCAiRzMiLCAialMiLCAiaVgiLCAibVQiLCAic2UiLCAiRzQiLCAialQiLCAiaE4iLCAic2YiLCAiRzUiLCAiaVkiLCAiRzYiLCAialUiLCAiaE8iLCAibVUiLCAiRzciLCAiaXAiLCAibVYiLCAia1oiLCAic2ciLCAic2giLCAiRzgiLCAibVciLCAiRzkiLCAiaVoiLCAiaXEiLCAiR18iLCAibVgiLCAiRyQiLCAic2kiLCAibVkiLCAiazAiLCAiSGMiLCAibVoiLCAiazEiLCAic2oiLCAialYiLCAiazIiLCAiSGQiLCAiSGUiLCAiSGYiLCAiSGciLCAiSGgiLCAiaTAiLCAiazMiLCAibTAiLCAic2siLCAibTEiLCAiSGkiLCAiSFMiLCAic3ciLCAiYWdkIiwgIkhUIiwgIm05IiwgIkhVIiwgImpXIiwgIm1tIiwgIlNXIiwgInNZIiwgImxoIiwgInNaIiwgIm0yIiwgIkhqIiwgIkhrIiwgIkhsIiwgIkhtIiwgIkhuIiwgIkhvIiwgIkhwIiwgIkhxIiwgIkhyIiwgIkhzIiwgIkh0IiwgIkh1IiwgIkh2IiwgIkh3IiwgInNsIiwgIms0IiwgIkh4IiwgIkh5IiwgIkh6IiwgIkhBIiwgIkhCIiwgInNtIiwgIm0zIiwgIm01IiwgIkhDIiwgImFmQSIsICJzNiIsICJqMiIsICJIRCIsICJhZkQiLCAic3EiLCAiSEoiLCAiaTIiLCAibTQiLCAiYWZCIiwgImkxIiwgInNwIiwgIm02IiwgIkhGIiwgInNyIiwgIkhFIiwgImFmQyIsICJzbiIsICJpciIsICJIRyIsICJhZkciLCAiSEsiLCAiSEgiLCAic28iLCAiSEkiLCAiSEwiLCAibTciLCAiSE0iLCAibTgiLCAiazUiLCAiazYiLCAiazciLCAiYWYwIiwgIkhOIiwgIkhPIiwgImFmRSIsICJhZkYiLCAiYWZfIiwgImFmJCIsICJIUCIsICJhZ2EiLCAiaFAiLCAiSFEiLCAiaTMiLCAic3MiLCAic3QiLCAic3UiLCAiSFIiLCAic3YiLCAiaXMiLCAiYWhUIiwgImFoVSIsICJJZCIsICJJZSIsICJqWSIsICJJZiIsICJhaFYiLCAiYWhXIiwgImpaIiwgIklnIiwgImxiIiwgImk0IiwgIm5qIiwgImFoMCIsICJhaDUiLCAibGMiLCAic0UiLCAiYWhTIiwgImFoNiIsICJJaCIsICJJaSIsICJJaiIsICJJayIsICJhaDciLCAiYWgkIiwgImFpYSIsICJhaWIiLCAiYWljIiwgImFpZiIsICJzRiIsICJzQyIsICJzRCIsICJJYyIsICJucCIsICJJUSIsICJJUyIsICJJUiIsICJJbCIsICJsZCIsICJuayIsICJJbSIsICJJbiIsICJJbyIsICJsZSIsICJJcCIsICJJcSIsICJzRyIsICJJciIsICJsZiIsICJJSCIsICJJcyIsICJJdCIsICJubCIsICJJdSIsICJJdiIsICJJdyIsICJJeCIsICJJQSIsICJJRyIsICJJeSIsICJJQyIsICJJRCIsICJpdCIsICJzSCIsICJJeiIsICJJQiIsICJubSIsICJzSSIsICJJRiIsICJzSiIsICJzSyIsICJzTCIsICJhaWciLCAiSUUiLCAiSUkiLCAiYWpiIiwgInNNIiwgInNOIiwgInNPIiwgIklKIiwgInNQIiwgImFqQiIsICJhalciLCAic1IiLCAiaXUiLCAibnEiLCAiSVQiLCAiSVUiLCAiSVYiLCAiSVciLCAic1MiLCAiYWpaIiwgIm5yIiwgIklYIiwgInNUIiwgInNVIiwgInNWIiwgIklZIiwgInNXIiwgInNYIiwgIlJDIiwgImFoWCIsICJhajMiLCAiSVoiLCAiYWo0IiwgIkkwIiwgIm5zIiwgImFrYiIsICJha2MiLCAiSFYiLCAiSFciLCAibV8iLCAiaFEiLCAic3giLCAiSFgiLCAiSFkiLCAiSFoiLCAiSDAiLCAic3kiLCAiSDEiLCAiYWdWIiwgImFnVyIsICJhZ1giLCAiSDIiLCAiYWhoIiwgImFoaiIsICJrOCIsICJIMyIsICJINCIsICJtJCIsICJhaG4iLCAiSDUiLCAic3oiLCAiazkiLCAibmEiLCAiYWh0IiwgImFodSIsICJuYiIsICJuYyIsICJuZCIsICJuZSIsICJzQSIsICJzQiIsICJrXyIsICJINiIsICJuZiIsICJuZyIsICJINyIsICJrJCIsICJIOCIsICJIOSIsICJIXyIsICJIJCIsICJJYSIsICJuaCIsICJuaSIsICJJYiIsICJqWCIsICJsYSIsICJubiIsICJJSyIsICJoUiIsICJJTCIsICJsZyIsICJJTSIsICJubyIsICJzUSIsICJpNSIsICJJTiIsICJJTyIsICJhakwiLCAiSVAiLCAiSTEiLCAiczAiLCAiSTIiLCAiSTMiLCAiSTQiLCAiYWdLIiwgImFnTCIsICJhZ00iLCAiYWdPIiwgImFnUCIsICJhZ1UiLCAiYWdZIiwgImFnWiIsICJhZzAiLCAiYWcyIiwgImFnMyIsICJhZzQiLCAiYWc1IiwgImFnNiIsICJhZzciLCAiYWc4IiwgImFnOSIsICJhZ18iLCAiYWckIiwgImFoYSIsICJhaGIiLCAiYWhjIiwgImFoZCIsICJhaGciLCAiYWh2IiwgImFraCIsICJJNSIsICJJNiIsICJudCIsICJJNyIsICJJOCIsICJzMSIsICJJOSIsICJzMiIsICJzMyIsICJhd3MiLCAiU1kiLCAiU1oiLCAiYWVvIiwgIlJrIiwgImhTIiwgIkphIiwgIm51IiwgImF3dSIsICJKYiIsICJhd3YiLCAiYXd3IiwgIkpjIiwgImowIiwgIklfIiwgIkkkIiwgImF3eCIsICJqMSIsICJhd0UiLCAiSmQiLCAiSmUiLCAicmVxdWlyZV9mbG93IiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZmxvd1BhcnNlciIsICJkZWZhdWx0T3B0aW9ucyIsICJvcHRpb25zIiwgImNvZGUiLCAicmVxdWlyZV90c09wdGlvbnMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJyZXF1aXJlX3RzIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiYmFieWxvbiIsICJvcHRpb25zIiwgImNvZGUiLCAicmVxdWlyZV90c3giLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJiYWJ5bG9uIiwgImJhc2VPcHRpb25zIiwgIm9wdGlvbnMiLCAiY29kZSIsICJyZXF1aXJlX2JhYmVsNUNvbXBhdCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImJhYnlsb24iLCAib3B0aW9ucyIsICJjb2RlIiwgInJlcXVpcmVfZ2V0UGFyc2VyIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAicGFyc2VyTmFtZSIsICJvcHRpb25zIiwgInJlcXVpcmVfdGVtcGxhdGUiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJyZWNhc3QiLCAiYnVpbGRlcnMiLCAidHlwZXMiLCAic3BsaWNlIiwgImFyciIsICJlbGVtZW50IiwgInJlcGxhY2VtZW50IiwgImNsZWFuTG9jYXRpb24iLCAibm9kZSIsICJlbnN1cmVTdGF0ZW1lbnQiLCAiZ2V0VmlzdG9yIiwgInZhck5hbWVzIiwgIm5vZGVzIiwgInBhdGgiLCAicGFyZW50IiwgInZhckluZGV4IiwgInJlcGxhY2VOb2RlcyIsICJzcmMiLCAicGFyc2VyIiwgImFzdCIsICJ2YXJOYW1lQ291bnRlciIsICJnZXRVbmlxdWVWYXJOYW1lIiwgInN0YXRlbWVudHMiLCAidGVtcGxhdGUiLCAicmVzdWx0IiwgImVsZW0iLCAiaSIsICJzdGF0ZW1lbnQiLCAiZXhwcmVzc2lvbiIsICJhc3luY0V4cHJlc3Npb24iLCAicmVxdWlyZV9jb3JlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiQ29sbGVjdGlvbiIsICJjb2xsZWN0aW9ucyIsICJnZXRQYXJzZXIiLCAibWF0Y2hOb2RlIiwgInJlY2FzdCIsICJ0ZW1wbGF0ZSIsICJOb2RlIiwgIk5vZGVQYXRoIiwgIm5hbWUiLCAiY29yZSIsICJzb3VyY2UiLCAib3B0aW9ucyIsICJmcm9tU291cmNlIiwgImZyb21BU1QiLCAiYXN0IiwgIm1hdGNoIiwgInBhdGgiLCAiZmlsdGVyIiwgInBsdWdpbnMiLCAidXNlIiwgInBsdWdpbiIsICJ3aXRoUGFyc2VyIiwgInBhcnNlciIsICJlbnJpY2hDb3JlIiwgInJlcXVpcmVfanNjb2Rlc2hpZnQiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJnZXRVc2VyQWdlbnQiLCAibmF2aWdhdG9yIiwgInVzZXJBZ2VudCIsICJwcm9jZXNzIiwgInZlcnNpb24iLCAidW5kZWZpbmVkIiwgInN1YnN0ciIsICJwbGF0Zm9ybSIsICJhcmNoIiwgInJlcXVpcmVfcmVnaXN0ZXIiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJyZWdpc3RlciIsICJzdGF0ZSIsICJuYW1lIiwgIm1ldGhvZCIsICJvcHRpb25zIiwgImNhbGxiYWNrIiwgInJlZ2lzdGVyZWQiLCAicmVxdWlyZV9hZGQiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJhZGRIb29rIiwgInN0YXRlIiwgImtpbmQiLCAibmFtZSIsICJob29rIiwgIm9yaWciLCAibWV0aG9kIiwgIm9wdGlvbnMiLCAicmVzdWx0IiwgInJlc3VsdF8iLCAiZXJyb3IiLCAicmVxdWlyZV9yZW1vdmUiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJyZW1vdmVIb29rIiwgInN0YXRlIiwgIm5hbWUiLCAibWV0aG9kIiwgImluZGV4IiwgInJlZ2lzdGVyZWQiLCAicmVxdWlyZV9iZWZvcmVfYWZ0ZXJfaG9vayIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInJlZ2lzdGVyIiwgImFkZEhvb2siLCAicmVtb3ZlSG9vayIsICJiaW5kIiwgImJpbmRhYmxlIiwgImJpbmRBcGkiLCAiaG9vayIsICJzdGF0ZSIsICJuYW1lIiwgInJlbW92ZUhvb2tSZWYiLCAia2luZCIsICJhcmdzIiwgIkhvb2tTaW5ndWxhciIsICJzaW5ndWxhckhvb2tOYW1lIiwgInNpbmd1bGFySG9va1N0YXRlIiwgInNpbmd1bGFySG9vayIsICJIb29rQ29sbGVjdGlvbiIsICJjb2xsZWN0aW9uSG9va0RlcHJlY2F0aW9uTWVzc2FnZURpc3BsYXllZCIsICJIb29rIiwgInJlcXVpcmVfZGlzdF9ub2RlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiX19kZWZQcm9wIiwgIl9fZ2V0T3duUHJvcERlc2MiLCAiX19nZXRPd25Qcm9wTmFtZXMiLCAiX19oYXNPd25Qcm9wIiwgIl9fZXhwb3J0IiwgInRhcmdldCIsICJhbGwiLCAibmFtZSIsICJfX2NvcHlQcm9wcyIsICJ0byIsICJmcm9tIiwgImV4Y2VwdCIsICJkZXNjIiwgImtleSIsICJfX3RvQ29tbW9uSlMiLCAibW9kIiwgImRpc3Rfc3JjX2V4cG9ydHMiLCAiZW5kcG9pbnQiLCAiaW1wb3J0X3VuaXZlcnNhbF91c2VyX2FnZW50IiwgIlZFUlNJT04iLCAidXNlckFnZW50IiwgIkRFRkFVTFRTIiwgImxvd2VyY2FzZUtleXMiLCAib2JqZWN0IiwgIm5ld09iaiIsICJpc1BsYWluT2JqZWN0IiwgInZhbHVlIiwgInByb3RvIiwgIkN0b3IiLCAibWVyZ2VEZWVwIiwgImRlZmF1bHRzIiwgIm9wdGlvbnMiLCAicmVzdWx0IiwgInJlbW92ZVVuZGVmaW5lZFByb3BlcnRpZXMiLCAib2JqIiwgIm1lcmdlIiwgInJvdXRlIiwgIm1ldGhvZCIsICJ1cmwiLCAibWVyZ2VkT3B0aW9ucyIsICJwcmV2aWV3IiwgImFkZFF1ZXJ5UGFyYW1ldGVycyIsICJwYXJhbWV0ZXJzIiwgInNlcGFyYXRvciIsICJuYW1lcyIsICJ1cmxWYXJpYWJsZVJlZ2V4IiwgInJlbW92ZU5vbkNoYXJzIiwgInZhcmlhYmxlTmFtZSIsICJleHRyYWN0VXJsVmFyaWFibGVOYW1lcyIsICJtYXRjaGVzIiwgImEiLCAiYiIsICJvbWl0IiwgImtleXNUb09taXQiLCAiZW5jb2RlUmVzZXJ2ZWQiLCAic3RyIiwgInBhcnQiLCAiZW5jb2RlVW5yZXNlcnZlZCIsICJjIiwgImVuY29kZVZhbHVlIiwgIm9wZXJhdG9yIiwgImlzRGVmaW5lZCIsICJpc0tleU9wZXJhdG9yIiwgImdldFZhbHVlcyIsICJjb250ZXh0IiwgIm1vZGlmaWVyIiwgInZhbHVlMiIsICJrIiwgInRtcCIsICJwYXJzZVVybCIsICJ0ZW1wbGF0ZSIsICJleHBhbmQiLCAib3BlcmF0b3JzIiwgIl8iLCAiZXhwcmVzc2lvbiIsICJsaXRlcmFsIiwgInZhbHVlcyIsICJ2YXJpYWJsZSIsICJwYXJzZSIsICJoZWFkZXJzIiwgImJvZHkiLCAidXJsVmFyaWFibGVOYW1lcyIsICJvbWl0dGVkUGFyYW1ldGVycyIsICJvcHRpb24iLCAicmVtYWluaW5nUGFyYW1ldGVycyIsICJmb3JtYXQiLCAicHJldmlld3NGcm9tQWNjZXB0SGVhZGVyIiwgImVuZHBvaW50V2l0aERlZmF1bHRzIiwgIndpdGhEZWZhdWx0cyIsICJvbGREZWZhdWx0cyIsICJuZXdEZWZhdWx0cyIsICJERUZBVUxUUzIiLCAiZW5kcG9pbnQyIiwgInJlcXVpcmVfZGlzdF9ub2RlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJEZXByZWNhdGlvbiIsICJtZXNzYWdlIiwgInJlcXVpcmVfd3JhcHB5IiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAid3JhcHB5IiwgImZuIiwgImNiIiwgImsiLCAid3JhcHBlciIsICJhcmdzIiwgInJldCIsICJyZXF1aXJlX29uY2UiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJ3cmFwcHkiLCAib25jZSIsICJvbmNlU3RyaWN0IiwgImZuIiwgImYiLCAibmFtZSIsICJyZXF1aXJlX2Rpc3Rfbm9kZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIl9fY3JlYXRlIiwgIl9fZGVmUHJvcCIsICJfX2dldE93blByb3BEZXNjIiwgIl9fZ2V0T3duUHJvcE5hbWVzIiwgIl9fZ2V0UHJvdG9PZiIsICJfX2hhc093blByb3AiLCAiX19leHBvcnQiLCAidGFyZ2V0IiwgImFsbCIsICJuYW1lIiwgIl9fY29weVByb3BzIiwgInRvIiwgImZyb20iLCAiZXhjZXB0IiwgImRlc2MiLCAia2V5IiwgIl9fdG9FU00iLCAibW9kIiwgImlzTm9kZU1vZGUiLCAiX190b0NvbW1vbkpTIiwgImRpc3Rfc3JjX2V4cG9ydHMiLCAiUmVxdWVzdEVycm9yIiwgImltcG9ydF9kZXByZWNhdGlvbiIsICJpbXBvcnRfb25jZSIsICJsb2dPbmNlQ29kZSIsICJkZXByZWNhdGlvbiIsICJsb2dPbmNlSGVhZGVycyIsICJtZXNzYWdlIiwgInN0YXR1c0NvZGUiLCAib3B0aW9ucyIsICJoZWFkZXJzIiwgInJlcXVlc3RDb3B5IiwgInJlcXVpcmVfZGlzdF9ub2RlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiX19kZWZQcm9wIiwgIl9fZ2V0T3duUHJvcERlc2MiLCAiX19nZXRPd25Qcm9wTmFtZXMiLCAiX19oYXNPd25Qcm9wIiwgIl9fZXhwb3J0IiwgInRhcmdldCIsICJhbGwiLCAibmFtZSIsICJfX2NvcHlQcm9wcyIsICJ0byIsICJmcm9tIiwgImV4Y2VwdCIsICJkZXNjIiwgImtleSIsICJfX3RvQ29tbW9uSlMiLCAibW9kIiwgImRpc3Rfc3JjX2V4cG9ydHMiLCAicmVxdWVzdCIsICJpbXBvcnRfZW5kcG9pbnQiLCAiaW1wb3J0X3VuaXZlcnNhbF91c2VyX2FnZW50IiwgIlZFUlNJT04iLCAiaXNQbGFpbk9iamVjdCIsICJ2YWx1ZSIsICJwcm90byIsICJDdG9yIiwgImltcG9ydF9yZXF1ZXN0X2Vycm9yIiwgImdldEJ1ZmZlclJlc3BvbnNlIiwgInJlc3BvbnNlIiwgImZldGNoV3JhcHBlciIsICJyZXF1ZXN0T3B0aW9ucyIsICJfYSIsICJfYiIsICJfYyIsICJfZCIsICJsb2ciLCAicGFyc2VTdWNjZXNzUmVzcG9uc2VCb2R5IiwgImhlYWRlcnMiLCAic3RhdHVzIiwgInVybCIsICJmZXRjaCIsICJrZXlBbmRWYWx1ZSIsICJtYXRjaGVzIiwgImRlcHJlY2F0aW9uTGluayIsICJnZXRSZXNwb25zZURhdGEiLCAiZGF0YSIsICJ0b0Vycm9yTWVzc2FnZSIsICJlcnJvciIsICJtZXNzYWdlIiwgImNvbnRlbnRUeXBlIiwgInN1ZmZpeCIsICJ3aXRoRGVmYXVsdHMiLCAib2xkRW5kcG9pbnQiLCAibmV3RGVmYXVsdHMiLCAiZW5kcG9pbnQyIiwgInJvdXRlIiwgInBhcmFtZXRlcnMiLCAiZW5kcG9pbnRPcHRpb25zIiwgInJlcXVlc3QyIiwgInJvdXRlMiIsICJwYXJhbWV0ZXJzMiIsICJyZXF1aXJlX2Rpc3Rfbm9kZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIl9fZGVmUHJvcCIsICJfX2dldE93blByb3BEZXNjIiwgIl9fZ2V0T3duUHJvcE5hbWVzIiwgIl9faGFzT3duUHJvcCIsICJfX2V4cG9ydCIsICJ0YXJnZXQiLCAiYWxsIiwgIm5hbWUiLCAiX19jb3B5UHJvcHMiLCAidG8iLCAiZnJvbSIsICJleGNlcHQiLCAiZGVzYyIsICJrZXkiLCAiX190b0NvbW1vbkpTIiwgIm1vZCIsICJkaXN0X3NyY19leHBvcnRzIiwgIkdyYXBocWxSZXNwb25zZUVycm9yIiwgImdyYXBocWwyIiwgIndpdGhDdXN0b21SZXF1ZXN0IiwgImltcG9ydF9yZXF1ZXN0MyIsICJpbXBvcnRfdW5pdmVyc2FsX3VzZXJfYWdlbnQiLCAiVkVSU0lPTiIsICJpbXBvcnRfcmVxdWVzdDIiLCAiaW1wb3J0X3JlcXVlc3QiLCAiX2J1aWxkTWVzc2FnZUZvclJlc3BvbnNlRXJyb3JzIiwgImRhdGEiLCAiZSIsICJyZXF1ZXN0MiIsICJoZWFkZXJzIiwgInJlc3BvbnNlIiwgIk5PTl9WQVJJQUJMRV9PUFRJT05TIiwgIkZPUkJJRERFTl9WQVJJQUJMRV9PUFRJT05TIiwgIkdIRVNfVjNfU1VGRklYX1JFR0VYIiwgImdyYXBocWwiLCAicXVlcnkiLCAib3B0aW9ucyIsICJwYXJzZWRPcHRpb25zIiwgInJlcXVlc3RPcHRpb25zIiwgInJlc3VsdCIsICJiYXNlVXJsIiwgIndpdGhEZWZhdWx0cyIsICJuZXdEZWZhdWx0cyIsICJuZXdSZXF1ZXN0IiwgImN1c3RvbVJlcXVlc3QiLCAicmVxdWlyZV9kaXN0X25vZGUiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJfX2RlZlByb3AiLCAiX19nZXRPd25Qcm9wRGVzYyIsICJfX2dldE93blByb3BOYW1lcyIsICJfX2hhc093blByb3AiLCAiX19leHBvcnQiLCAidGFyZ2V0IiwgImFsbCIsICJuYW1lIiwgIl9fY29weVByb3BzIiwgInRvIiwgImZyb20iLCAiZXhjZXB0IiwgImRlc2MiLCAia2V5IiwgIl9fdG9Db21tb25KUyIsICJtb2QiLCAiZGlzdF9zcmNfZXhwb3J0cyIsICJjcmVhdGVUb2tlbkF1dGgiLCAiUkVHRVhfSVNfSU5TVEFMTEFUSU9OX0xFR0FDWSIsICJSRUdFWF9JU19JTlNUQUxMQVRJT04iLCAiUkVHRVhfSVNfVVNFUl9UT19TRVJWRVIiLCAiYXV0aCIsICJ0b2tlbiIsICJpc0FwcCIsICJpc0luc3RhbGxhdGlvbiIsICJpc1VzZXJUb1NlcnZlciIsICJ3aXRoQXV0aG9yaXphdGlvblByZWZpeCIsICJob29rIiwgInJlcXVlc3QiLCAicm91dGUiLCAicGFyYW1ldGVycyIsICJlbmRwb2ludCIsICJyZXF1aXJlX2Rpc3Rfbm9kZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIl9fZGVmUHJvcCIsICJfX2dldE93blByb3BEZXNjIiwgIl9fZ2V0T3duUHJvcE5hbWVzIiwgIl9faGFzT3duUHJvcCIsICJfX2V4cG9ydCIsICJ0YXJnZXQiLCAiYWxsIiwgIm5hbWUiLCAiX19jb3B5UHJvcHMiLCAidG8iLCAiZnJvbSIsICJleGNlcHQiLCAiZGVzYyIsICJrZXkiLCAiX190b0NvbW1vbkpTIiwgIm1vZCIsICJkaXN0X3NyY19leHBvcnRzIiwgIk9jdG9raXQiLCAiaW1wb3J0X3VuaXZlcnNhbF91c2VyX2FnZW50IiwgImltcG9ydF9iZWZvcmVfYWZ0ZXJfaG9vayIsICJpbXBvcnRfcmVxdWVzdCIsICJpbXBvcnRfZ3JhcGhxbCIsICJpbXBvcnRfYXV0aF90b2tlbiIsICJWRVJTSU9OIiwgIm5vb3AiLCAiY29uc29sZVdhcm4iLCAiY29uc29sZUVycm9yIiwgInVzZXJBZ2VudFRyYWlsIiwgImRlZmF1bHRzIiwgImFyZ3MiLCAib3B0aW9ucyIsICJuZXdQbHVnaW5zIiwgImN1cnJlbnRQbHVnaW5zIiwgInBsdWdpbiIsICJob29rIiwgInJlcXVlc3REZWZhdWx0cyIsICJhdXRoU3RyYXRlZ3kiLCAib3RoZXJPcHRpb25zIiwgImF1dGgiLCAiY2xhc3NDb25zdHJ1Y3RvciIsICJyZXF1aXJlX2Rpc3Rfbm9kZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIl9fZGVmUHJvcCIsICJfX2dldE93blByb3BEZXNjIiwgIl9fZ2V0T3duUHJvcE5hbWVzIiwgIl9faGFzT3duUHJvcCIsICJfX2V4cG9ydCIsICJ0YXJnZXQiLCAiYWxsIiwgIm5hbWUiLCAiX19jb3B5UHJvcHMiLCAidG8iLCAiZnJvbSIsICJleGNlcHQiLCAiZGVzYyIsICJrZXkiLCAiX190b0NvbW1vbkpTIiwgIm1vZCIsICJkaXN0X3NyY19leHBvcnRzIiwgInJlcXVlc3RMb2ciLCAiVkVSU0lPTiIsICJvY3Rva2l0IiwgInJlcXVlc3QiLCAib3B0aW9ucyIsICJzdGFydCIsICJyZXF1ZXN0T3B0aW9ucyIsICJwYXRoIiwgInJlc3BvbnNlIiwgImVycm9yIiwgInJlcXVpcmVfZGlzdF9ub2RlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiX19kZWZQcm9wIiwgIl9fZ2V0T3duUHJvcERlc2MiLCAiX19nZXRPd25Qcm9wTmFtZXMiLCAiX19oYXNPd25Qcm9wIiwgIl9fZXhwb3J0IiwgInRhcmdldCIsICJhbGwiLCAibmFtZSIsICJfX2NvcHlQcm9wcyIsICJ0byIsICJmcm9tIiwgImV4Y2VwdCIsICJkZXNjIiwgImtleSIsICJfX3RvQ29tbW9uSlMiLCAibW9kIiwgImRpc3Rfc3JjX2V4cG9ydHMiLCAiY29tcG9zZVBhZ2luYXRlUmVzdCIsICJpc1BhZ2luYXRpbmdFbmRwb2ludCIsICJwYWdpbmF0ZVJlc3QiLCAicGFnaW5hdGluZ0VuZHBvaW50cyIsICJWRVJTSU9OIiwgIm5vcm1hbGl6ZVBhZ2luYXRlZExpc3RSZXNwb25zZSIsICJyZXNwb25zZSIsICJpbmNvbXBsZXRlUmVzdWx0cyIsICJyZXBvc2l0b3J5U2VsZWN0aW9uIiwgInRvdGFsQ291bnQiLCAibmFtZXNwYWNlS2V5IiwgImRhdGEiLCAiaXRlcmF0b3IiLCAib2N0b2tpdCIsICJyb3V0ZSIsICJwYXJhbWV0ZXJzIiwgIm9wdGlvbnMiLCAicmVxdWVzdE1ldGhvZCIsICJtZXRob2QiLCAiaGVhZGVycyIsICJ1cmwiLCAibm9ybWFsaXplZFJlc3BvbnNlIiwgImVycm9yIiwgInBhZ2luYXRlIiwgIm1hcEZuIiwgImdhdGhlciIsICJyZXN1bHRzIiwgIml0ZXJhdG9yMiIsICJyZXN1bHQiLCAiZWFybHlFeGl0IiwgImRvbmUiLCAiYXJnIiwgInJlcXVpcmVfZGlzdF9ub2RlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiX19kZWZQcm9wIiwgIl9fZ2V0T3duUHJvcERlc2MiLCAiX19nZXRPd25Qcm9wTmFtZXMiLCAiX19oYXNPd25Qcm9wIiwgIl9fZXhwb3J0IiwgInRhcmdldCIsICJhbGwiLCAibmFtZSIsICJfX2NvcHlQcm9wcyIsICJ0byIsICJmcm9tIiwgImV4Y2VwdCIsICJkZXNjIiwgImtleSIsICJfX3RvQ29tbW9uSlMiLCAibW9kIiwgImRpc3Rfc3JjX2V4cG9ydHMiLCAibGVnYWN5UmVzdEVuZHBvaW50TWV0aG9kcyIsICJyZXN0RW5kcG9pbnRNZXRob2RzIiwgIlZFUlNJT04iLCAiRW5kcG9pbnRzIiwgImVuZHBvaW50c19kZWZhdWx0IiwgImVuZHBvaW50TWV0aG9kc01hcCIsICJzY29wZSIsICJlbmRwb2ludHMiLCAibWV0aG9kTmFtZSIsICJlbmRwb2ludCIsICJyb3V0ZSIsICJkZWZhdWx0cyIsICJkZWNvcmF0aW9ucyIsICJtZXRob2QiLCAidXJsIiwgImVuZHBvaW50RGVmYXVsdHMiLCAiaGFuZGxlciIsICJkZXNjcmlwdG9yIiwgInZhbHVlIiwgIm9jdG9raXQiLCAiY2FjaGUiLCAiZGVjb3JhdGUiLCAiZW5kcG9pbnRzVG9NZXRob2RzIiwgIm5ld01ldGhvZHMiLCAicmVxdWVzdFdpdGhEZWZhdWx0cyIsICJ3aXRoRGVjb3JhdGlvbnMiLCAiYXJncyIsICJvcHRpb25zIiwgIm5ld1Njb3BlIiwgIm5ld01ldGhvZE5hbWUiLCAib3B0aW9uczIiLCAiYWxpYXMiLCAiYXBpIiwgInJlcXVpcmVfZGlzdF9ub2RlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiX19kZWZQcm9wIiwgIl9fZ2V0T3duUHJvcERlc2MiLCAiX19nZXRPd25Qcm9wTmFtZXMiLCAiX19oYXNPd25Qcm9wIiwgIl9fZXhwb3J0IiwgInRhcmdldCIsICJhbGwiLCAibmFtZSIsICJfX2NvcHlQcm9wcyIsICJ0byIsICJmcm9tIiwgImV4Y2VwdCIsICJkZXNjIiwgImtleSIsICJfX3RvQ29tbW9uSlMiLCAibW9kIiwgImRpc3Rfc3JjX2V4cG9ydHMiLCAiT2N0b2tpdCIsICJpbXBvcnRfY29yZSIsICJpbXBvcnRfcGx1Z2luX3JlcXVlc3RfbG9nIiwgImltcG9ydF9wbHVnaW5fcGFnaW5hdGVfcmVzdCIsICJpbXBvcnRfcGx1Z2luX3Jlc3RfZW5kcG9pbnRfbWV0aG9kcyIsICJWRVJTSU9OIiwgInJlcXVpcmVfbGliIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiaW5wdXQiLCAiZmlyc3QiLCAicHJvdHMiLCAic3BsaXRzIiwgInJlcXVpcmVfbGliIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAicHJvdG9jb2xzIiwgInBhcnNlUGF0aCIsICJ1cmwiLCAib3V0cHV0IiwgInBhcnNlZCIsICJyZXF1aXJlX2Rpc3QiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJwYXJzZVBhdGgiLCAiX2ludGVyb3BEZWZhdWx0TGVnYWN5IiwgInBhcnNlUGF0aF9fZGVmYXVsdCIsICJEQVRBX1VSTF9ERUZBVUxUX01JTUVfVFlQRSIsICJEQVRBX1VSTF9ERUZBVUxUX0NIQVJTRVQiLCAidGVzdFBhcmFtZXRlciIsICJuYW1lIiwgImZpbHRlcnMiLCAiZmlsdGVyIiwgIm5vcm1hbGl6ZURhdGFVUkwiLCAidXJsU3RyaW5nIiwgInN0cmlwSGFzaCIsICJtYXRjaCIsICJ0eXBlIiwgImRhdGEiLCAiaGFzaCIsICJtZWRpYVR5cGUiLCAiaXNCYXNlNjQiLCAibWltZVR5cGUiLCAibm9ybWFsaXplZE1lZGlhVHlwZSIsICJhdHRyaWJ1dGUiLCAia2V5IiwgInZhbHVlIiwgInN0cmluZyIsICJub3JtYWxpemVVcmwiLCAib3B0aW9ucyIsICJoYXNSZWxhdGl2ZVByb3RvY29sIiwgInVybE9iamVjdCIsICJwcm90b2NvbFJlZ2V4IiwgImxhc3RJbmRleCIsICJyZXN1bHQiLCAicHJvdG9jb2wiLCAicHJvdG9jb2xBdEluZGV4IiwgImludGVybWVkaWF0ZSIsICJyZW1uYW50IiwgInBhdGhDb21wb25lbnRzIiwgImxhc3RDb21wb25lbnQiLCAib2xkVXJsU3RyaW5nIiwgInBhcnNlVXJsIiwgInVybCIsICJub3JtYWxpemUiLCAiR0lUX1JFIiwgInRocm93RXJyIiwgIm1zZyIsICJlcnIiLCAicGFyc2VkIiwgIm1hdGNoZWQiLCAicmVxdWlyZV9saWIiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJwcm90b2NvbHMiLCAiaXNTc2giLCAiaW5wdXQiLCAicHJvdHMiLCAidXJsUG9ydFBhdHRlcm4iLCAicmVxdWlyZV9saWIiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJwYXJzZVVybCIsICJpc1NzaCIsICJnaXRVcCIsICJpbnB1dCIsICJvdXRwdXQiLCAicmVxdWlyZV9saWIiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJnaXRVcCIsICJnaXRVcmxQYXJzZSIsICJ1cmwiLCAic2hvcnRoYW5kUmUiLCAidXJsSW5mbyIsICJzb3VyY2VQYXJ0cyIsICJzcGxpdHMiLCAidHlwZSIsICJuYW1lSW5kZXgiLCAiZGFzaEluZGV4IiwgImJsb2JJbmRleCIsICJ0cmVlSW5kZXgiLCAiY29tbWl0SW5kZXgiLCAiaXNzdWVzSW5kZXgiLCAic3JjSW5kZXgiLCAicmF3SW5kZXgiLCAiZWRpdEluZGV4IiwgIm9mZnNldE5hbWVJbmRleCIsICJiaXRidWNrZXQiLCAibWF0Y2hlcyIsICJvYmoiLCAicG9ydCIsICJ1c2VyIiwgIm1heWJlR2l0U3VmZml4IiwgImF1dGgiLCAiYnVpbGRUb2tlbiIsICJidWlsZFBhdGgiLCAiZW5jb2RlZF9mdWxsX25hbWUiLCAieCIsICJyZXF1aXJlX2Fuc2lfZXNjYXBlcyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImFuc2lFc2NhcGVzIiwgIkVTQyIsICJPU0MiLCAiQkVMIiwgIlNFUCIsICJpc1Rlcm1pbmFsQXBwIiwgIngiLCAieSIsICJyZXQiLCAiY291bnQiLCAiY2xlYXIiLCAiaSIsICJ0ZXh0IiwgInVybCIsICJidWZmZXIiLCAib3B0aW9ucyIsICJjd2QiLCAibWVzc2FnZSIsICJoYXNYIiwgImhhc1kiLCAicmVxdWlyZV95b2N0b2NvbG9yc19janMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJ0dHkiLCAiaGFzQ29sb3JzIiwgImZvcm1hdCIsICJvcGVuIiwgImNsb3NlIiwgImlucHV0IiwgIm9wZW5Db2RlIiwgImNsb3NlQ29kZSIsICJzdHJpbmciLCAiaW5kZXgiLCAicmVzdWx0IiwgImxhc3RJbmRleCIsICJjb2xvcnMiLCAicmVxdWlyZV9ydW5fYXN5bmMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJpc1Byb21pc2UiLCAib2JqIiwgInJ1bkFzeW5jIiwgImZ1bmMiLCAiY2IiLCAicHJveHlQcm9wZXJ0eSIsICJhcmdzIiwgIm9yaWdpbmFsVGhpcyIsICJwcm9taXNlIiwgInJlc29sdmUiLCAicmVqZWN0IiwgInJlc29sdmVkIiwgIndyYXBwZWRSZXNvbHZlIiwgInZhbHVlIiwgInJlamVjdGVkIiwgIndyYXBwZWRSZWplY3QiLCAidXNpbmdDYWxsYmFjayIsICJjYWxsYmFja0NvbmZsaWN0IiwgImNvbnRleHRFbmRlZCIsICJkb25lRmFjdG9yeSIsICJlcnIiLCAiX3RoaXMiLCAiX3RhcmdldCIsICJwcm9wIiwgImFuc3dlciIsICJpc0Z1bmN0aW9uIiwgInZhbHVlIiwgImV4cG9ydHMiLCAiY3JlYXRlRXJyb3JDbGFzcyIsICJjcmVhdGVJbXBsIiwgIl9zdXBlciIsICJpbnN0YW5jZSIsICJjdG9yRnVuYyIsICJleHBvcnRzIiwgImNyZWF0ZUVycm9yQ2xhc3NfMSIsICJleHBvcnRzIiwgIl9zdXBlciIsICJlcnJvcnMiLCAiZXJyIiwgImFyclJlbW92ZSIsICJhcnIiLCAiaXRlbSIsICJpbmRleCIsICJleHBvcnRzIiwgImlzRnVuY3Rpb25fMSIsICJVbnN1YnNjcmlwdGlvbkVycm9yXzEiLCAiYXJyUmVtb3ZlXzEiLCAiU3Vic2NyaXB0aW9uIiwgImluaXRpYWxUZWFyZG93biIsICJlcnJvcnMiLCAiX3BhcmVudGFnZSIsICJfcGFyZW50YWdlXzEiLCAiX192YWx1ZXMiLCAiX3BhcmVudGFnZV8xXzEiLCAicGFyZW50XzEiLCAiaW5pdGlhbEZpbmFsaXplciIsICJlIiwgIl9maW5hbGl6ZXJzIiwgIl9maW5hbGl6ZXJzXzEiLCAiX2ZpbmFsaXplcnNfMV8xIiwgImZpbmFsaXplciIsICJleGVjRmluYWxpemVyIiwgImVyciIsICJfX3NwcmVhZEFycmF5IiwgIl9fcmVhZCIsICJ0ZWFyZG93biIsICJfYSIsICJwYXJlbnQiLCAiZW1wdHkiLCAiZXhwb3J0cyIsICJpc1N1YnNjcmlwdGlvbiIsICJ2YWx1ZSIsICJleHBvcnRzIiwgImV4cG9ydHMiLCAiaGFuZGxlciIsICJ0aW1lb3V0IiwgImFyZ3MiLCAiX2kiLCAiZGVsZWdhdGUiLCAiX19zcHJlYWRBcnJheSIsICJfX3JlYWQiLCAiaGFuZGxlIiwgImNvbmZpZ18xIiwgInRpbWVvdXRQcm92aWRlcl8xIiwgInJlcG9ydFVuaGFuZGxlZEVycm9yIiwgImVyciIsICJvblVuaGFuZGxlZEVycm9yIiwgImV4cG9ydHMiLCAibm9vcCIsICJleHBvcnRzIiwgImV4cG9ydHMiLCAiY3JlYXRlTm90aWZpY2F0aW9uIiwgImVycm9yTm90aWZpY2F0aW9uIiwgImVycm9yIiwgIm5leHROb3RpZmljYXRpb24iLCAidmFsdWUiLCAia2luZCIsICJjb25maWdfMSIsICJjb250ZXh0IiwgImVycm9yQ29udGV4dCIsICJjYiIsICJpc1Jvb3QiLCAiX2EiLCAiZXJyb3JUaHJvd24iLCAiZXJyb3IiLCAiZXhwb3J0cyIsICJjYXB0dXJlRXJyb3IiLCAiZXJyIiwgImlzRnVuY3Rpb25fMSIsICJTdWJzY3JpcHRpb25fMSIsICJjb25maWdfMSIsICJyZXBvcnRVbmhhbmRsZWRFcnJvcl8xIiwgIm5vb3BfMSIsICJOb3RpZmljYXRpb25GYWN0b3JpZXNfMSIsICJ0aW1lb3V0UHJvdmlkZXJfMSIsICJlcnJvckNvbnRleHRfMSIsICJTdWJzY3JpYmVyIiwgIl9zdXBlciIsICJfX2V4dGVuZHMiLCAiZGVzdGluYXRpb24iLCAiX3RoaXMiLCAiZXhwb3J0cyIsICJuZXh0IiwgImVycm9yIiwgImNvbXBsZXRlIiwgIlNhZmVTdWJzY3JpYmVyIiwgInZhbHVlIiwgImhhbmRsZVN0b3BwZWROb3RpZmljYXRpb24iLCAiZXJyIiwgIl9iaW5kIiwgImJpbmQiLCAiZm4iLCAidGhpc0FyZyIsICJDb25zdW1lck9ic2VydmVyIiwgInBhcnRpYWxPYnNlcnZlciIsICJoYW5kbGVVbmhhbmRsZWRFcnJvciIsICJvYnNlcnZlck9yTmV4dCIsICJjb250ZXh0XzEiLCAiZGVmYXVsdEVycm9ySGFuZGxlciIsICJub3RpZmljYXRpb24iLCAic3Vic2NyaWJlciIsICJvblN0b3BwZWROb3RpZmljYXRpb24iLCAiZXhwb3J0cyIsICJpZGVudGl0eSIsICJ4IiwgImV4cG9ydHMiLCAiaWRlbnRpdHlfMSIsICJwaXBlIiwgImZucyIsICJfaSIsICJwaXBlRnJvbUFycmF5IiwgImV4cG9ydHMiLCAiaW5wdXQiLCAicHJldiIsICJmbiIsICJTdWJzY3JpYmVyXzEiLCAiU3Vic2NyaXB0aW9uXzEiLCAib2JzZXJ2YWJsZV8xIiwgInBpcGVfMSIsICJjb25maWdfMSIsICJpc0Z1bmN0aW9uXzEiLCAiZXJyb3JDb250ZXh0XzEiLCAiT2JzZXJ2YWJsZSIsICJzdWJzY3JpYmUiLCAib3BlcmF0b3IiLCAib2JzZXJ2YWJsZSIsICJvYnNlcnZlck9yTmV4dCIsICJlcnJvciIsICJjb21wbGV0ZSIsICJfdGhpcyIsICJzdWJzY3JpYmVyIiwgImlzU3Vic2NyaWJlciIsICJfYSIsICJzb3VyY2UiLCAic2luayIsICJlcnIiLCAibmV4dCIsICJwcm9taXNlQ3RvciIsICJnZXRQcm9taXNlQ3RvciIsICJyZXNvbHZlIiwgInJlamVjdCIsICJ2YWx1ZSIsICJvcGVyYXRpb25zIiwgIl9pIiwgIngiLCAiZXhwb3J0cyIsICJpc09ic2VydmVyIiwgImlzRnVuY3Rpb25fMSIsICJoYXNMaWZ0IiwgInNvdXJjZSIsICJleHBvcnRzIiwgIm9wZXJhdGUiLCAiaW5pdCIsICJsaWZ0ZWRTb3VyY2UiLCAiZXJyIiwgIlN1YnNjcmliZXJfMSIsICJjcmVhdGVPcGVyYXRvclN1YnNjcmliZXIiLCAiZGVzdGluYXRpb24iLCAib25OZXh0IiwgIm9uQ29tcGxldGUiLCAib25FcnJvciIsICJvbkZpbmFsaXplIiwgIk9wZXJhdG9yU3Vic2NyaWJlciIsICJleHBvcnRzIiwgIl9zdXBlciIsICJfX2V4dGVuZHMiLCAic2hvdWxkVW5zdWJzY3JpYmUiLCAiX3RoaXMiLCAidmFsdWUiLCAiZXJyIiwgImNsb3NlZF8xIiwgIl9hIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJyZWZDb3VudCIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJjb25uZWN0aW9uIiwgInJlZkNvdW50ZXIiLCAic2hhcmVkQ29ubmVjdGlvbiIsICJjb25uIiwgImV4cG9ydHMiLCAiT2JzZXJ2YWJsZV8xIiwgIlN1YnNjcmlwdGlvbl8xIiwgInJlZkNvdW50XzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAibGlmdF8xIiwgIkNvbm5lY3RhYmxlT2JzZXJ2YWJsZSIsICJfc3VwZXIiLCAiX19leHRlbmRzIiwgInNvdXJjZSIsICJzdWJqZWN0RmFjdG9yeSIsICJfdGhpcyIsICJzdWJzY3JpYmVyIiwgInN1YmplY3QiLCAiX2Nvbm5lY3Rpb24iLCAiY29ubmVjdGlvbiIsICJzdWJqZWN0XzEiLCAiZXJyIiwgImV4cG9ydHMiLCAiZXhwb3J0cyIsICJTdWJzY3JpcHRpb25fMSIsICJleHBvcnRzIiwgImNhbGxiYWNrIiwgInJlcXVlc3QiLCAiY2FuY2VsIiwgImRlbGVnYXRlIiwgImhhbmRsZSIsICJ0aW1lc3RhbXAiLCAiYXJncyIsICJfaSIsICJfX3NwcmVhZEFycmF5IiwgIl9fcmVhZCIsICJPYnNlcnZhYmxlXzEiLCAicGVyZm9ybWFuY2VUaW1lc3RhbXBQcm92aWRlcl8xIiwgImFuaW1hdGlvbkZyYW1lUHJvdmlkZXJfMSIsICJhbmltYXRpb25GcmFtZXMiLCAidGltZXN0YW1wUHJvdmlkZXIiLCAiYW5pbWF0aW9uRnJhbWVzRmFjdG9yeSIsICJERUZBVUxUX0FOSU1BVElPTl9GUkFNRVMiLCAiZXhwb3J0cyIsICJzdWJzY3JpYmVyIiwgInByb3ZpZGVyIiwgInN0YXJ0IiwgImlkIiwgInJ1biIsICJ0aW1lc3RhbXAiLCAibm93IiwgImNyZWF0ZUVycm9yQ2xhc3NfMSIsICJleHBvcnRzIiwgIl9zdXBlciIsICJPYnNlcnZhYmxlXzEiLCAiU3Vic2NyaXB0aW9uXzEiLCAiT2JqZWN0VW5zdWJzY3JpYmVkRXJyb3JfMSIsICJhcnJSZW1vdmVfMSIsICJlcnJvckNvbnRleHRfMSIsICJTdWJqZWN0IiwgIl9zdXBlciIsICJfX2V4dGVuZHMiLCAiX3RoaXMiLCAib3BlcmF0b3IiLCAic3ViamVjdCIsICJBbm9ueW1vdXNTdWJqZWN0IiwgInZhbHVlIiwgIl9iIiwgIl9fdmFsdWVzIiwgIl9jIiwgIm9ic2VydmVyIiwgImVyciIsICJvYnNlcnZlcnMiLCAiX2EiLCAic3Vic2NyaWJlciIsICJoYXNFcnJvciIsICJpc1N0b3BwZWQiLCAidGhyb3duRXJyb3IiLCAib2JzZXJ2YWJsZSIsICJkZXN0aW5hdGlvbiIsICJzb3VyY2UiLCAiZXhwb3J0cyIsICJTdWJqZWN0XzEiLCAiQmVoYXZpb3JTdWJqZWN0IiwgIl9zdXBlciIsICJfX2V4dGVuZHMiLCAiX3ZhbHVlIiwgIl90aGlzIiwgInN1YnNjcmliZXIiLCAic3Vic2NyaXB0aW9uIiwgIl9hIiwgImhhc0Vycm9yIiwgInRocm93bkVycm9yIiwgInZhbHVlIiwgImV4cG9ydHMiLCAiZXhwb3J0cyIsICJTdWJqZWN0XzEiLCAiZGF0ZVRpbWVzdGFtcFByb3ZpZGVyXzEiLCAiUmVwbGF5U3ViamVjdCIsICJfc3VwZXIiLCAiX19leHRlbmRzIiwgIl9idWZmZXJTaXplIiwgIl93aW5kb3dUaW1lIiwgIl90aW1lc3RhbXBQcm92aWRlciIsICJfdGhpcyIsICJ2YWx1ZSIsICJfYSIsICJpc1N0b3BwZWQiLCAiX2J1ZmZlciIsICJfaW5maW5pdGVUaW1lV2luZG93IiwgInN1YnNjcmliZXIiLCAic3Vic2NyaXB0aW9uIiwgImNvcHkiLCAiaSIsICJhZGp1c3RlZEJ1ZmZlclNpemUiLCAibm93IiwgImxhc3QiLCAiZXhwb3J0cyIsICJTdWJqZWN0XzEiLCAiQXN5bmNTdWJqZWN0IiwgIl9zdXBlciIsICJfX2V4dGVuZHMiLCAiX3RoaXMiLCAic3Vic2NyaWJlciIsICJfYSIsICJoYXNFcnJvciIsICJfaGFzVmFsdWUiLCAiX3ZhbHVlIiwgInRocm93bkVycm9yIiwgImlzU3RvcHBlZCIsICJfaXNDb21wbGV0ZSIsICJ2YWx1ZSIsICJleHBvcnRzIiwgIlN1YnNjcmlwdGlvbl8xIiwgIkFjdGlvbiIsICJfc3VwZXIiLCAiX19leHRlbmRzIiwgInNjaGVkdWxlciIsICJ3b3JrIiwgInN0YXRlIiwgImRlbGF5IiwgImV4cG9ydHMiLCAiZXhwb3J0cyIsICJoYW5kbGVyIiwgInRpbWVvdXQiLCAiYXJncyIsICJfaSIsICJkZWxlZ2F0ZSIsICJfX3NwcmVhZEFycmF5IiwgIl9fcmVhZCIsICJoYW5kbGUiLCAiQWN0aW9uXzEiLCAiaW50ZXJ2YWxQcm92aWRlcl8xIiwgImFyclJlbW92ZV8xIiwgIkFzeW5jQWN0aW9uIiwgIl9zdXBlciIsICJfX2V4dGVuZHMiLCAic2NoZWR1bGVyIiwgIndvcmsiLCAiX3RoaXMiLCAic3RhdGUiLCAiZGVsYXkiLCAiaWQiLCAiX2EiLCAiX2lkIiwgIl9zY2hlZHVsZXIiLCAiZXJyb3IiLCAiX2RlbGF5IiwgImVycm9yZWQiLCAiZXJyb3JWYWx1ZSIsICJlIiwgImFjdGlvbnMiLCAiZXhwb3J0cyIsICJuZXh0SGFuZGxlIiwgInJlc29sdmVkIiwgImFjdGl2ZUhhbmRsZXMiLCAiZmluZEFuZENsZWFySGFuZGxlIiwgImhhbmRsZSIsICJleHBvcnRzIiwgImNiIiwgIkltbWVkaWF0ZV8xIiwgInNldEltbWVkaWF0ZSIsICJjbGVhckltbWVkaWF0ZSIsICJleHBvcnRzIiwgImFyZ3MiLCAiX2kiLCAiZGVsZWdhdGUiLCAiX19zcHJlYWRBcnJheSIsICJfX3JlYWQiLCAiaGFuZGxlIiwgIkFzeW5jQWN0aW9uXzEiLCAiaW1tZWRpYXRlUHJvdmlkZXJfMSIsICJBc2FwQWN0aW9uIiwgIl9zdXBlciIsICJfX2V4dGVuZHMiLCAic2NoZWR1bGVyIiwgIndvcmsiLCAiX3RoaXMiLCAiaWQiLCAiZGVsYXkiLCAiYWN0aW9ucyIsICJfYSIsICJleHBvcnRzIiwgImRhdGVUaW1lc3RhbXBQcm92aWRlcl8xIiwgIlNjaGVkdWxlciIsICJzY2hlZHVsZXJBY3Rpb25DdG9yIiwgIm5vdyIsICJ3b3JrIiwgImRlbGF5IiwgInN0YXRlIiwgImV4cG9ydHMiLCAiU2NoZWR1bGVyXzEiLCAiQXN5bmNTY2hlZHVsZXIiLCAiX3N1cGVyIiwgIl9fZXh0ZW5kcyIsICJTY2hlZHVsZXJBY3Rpb24iLCAibm93IiwgIl90aGlzIiwgImFjdGlvbiIsICJhY3Rpb25zIiwgImVycm9yIiwgImV4cG9ydHMiLCAiQXN5bmNTY2hlZHVsZXJfMSIsICJBc2FwU2NoZWR1bGVyIiwgIl9zdXBlciIsICJfX2V4dGVuZHMiLCAiYWN0aW9uIiwgImZsdXNoSWQiLCAiYWN0aW9ucyIsICJlcnJvciIsICJleHBvcnRzIiwgIkFzYXBBY3Rpb25fMSIsICJBc2FwU2NoZWR1bGVyXzEiLCAiZXhwb3J0cyIsICJBc3luY0FjdGlvbl8xIiwgIkFzeW5jU2NoZWR1bGVyXzEiLCAiZXhwb3J0cyIsICJBc3luY0FjdGlvbl8xIiwgIlF1ZXVlQWN0aW9uIiwgIl9zdXBlciIsICJfX2V4dGVuZHMiLCAic2NoZWR1bGVyIiwgIndvcmsiLCAiX3RoaXMiLCAic3RhdGUiLCAiZGVsYXkiLCAiaWQiLCAiZXhwb3J0cyIsICJBc3luY1NjaGVkdWxlcl8xIiwgIlF1ZXVlU2NoZWR1bGVyIiwgIl9zdXBlciIsICJfX2V4dGVuZHMiLCAiZXhwb3J0cyIsICJRdWV1ZUFjdGlvbl8xIiwgIlF1ZXVlU2NoZWR1bGVyXzEiLCAiZXhwb3J0cyIsICJBc3luY0FjdGlvbl8xIiwgImFuaW1hdGlvbkZyYW1lUHJvdmlkZXJfMSIsICJBbmltYXRpb25GcmFtZUFjdGlvbiIsICJfc3VwZXIiLCAiX19leHRlbmRzIiwgInNjaGVkdWxlciIsICJ3b3JrIiwgIl90aGlzIiwgImlkIiwgImRlbGF5IiwgImFjdGlvbnMiLCAiX2EiLCAiZXhwb3J0cyIsICJBc3luY1NjaGVkdWxlcl8xIiwgIkFuaW1hdGlvbkZyYW1lU2NoZWR1bGVyIiwgIl9zdXBlciIsICJfX2V4dGVuZHMiLCAiYWN0aW9uIiwgImZsdXNoSWQiLCAiYWN0aW9ucyIsICJlcnJvciIsICJleHBvcnRzIiwgIkFuaW1hdGlvbkZyYW1lQWN0aW9uXzEiLCAiQW5pbWF0aW9uRnJhbWVTY2hlZHVsZXJfMSIsICJleHBvcnRzIiwgIkFzeW5jQWN0aW9uXzEiLCAiU3Vic2NyaXB0aW9uXzEiLCAiQXN5bmNTY2hlZHVsZXJfMSIsICJWaXJ0dWFsVGltZVNjaGVkdWxlciIsICJfc3VwZXIiLCAiX19leHRlbmRzIiwgInNjaGVkdWxlckFjdGlvbkN0b3IiLCAibWF4RnJhbWVzIiwgIlZpcnR1YWxBY3Rpb24iLCAiX3RoaXMiLCAiX2EiLCAiYWN0aW9ucyIsICJlcnJvciIsICJhY3Rpb24iLCAiZXhwb3J0cyIsICJzY2hlZHVsZXIiLCAid29yayIsICJpbmRleCIsICJzdGF0ZSIsICJkZWxheSIsICJpZCIsICJhIiwgImIiLCAiT2JzZXJ2YWJsZV8xIiwgImV4cG9ydHMiLCAic3Vic2NyaWJlciIsICJlbXB0eSIsICJzY2hlZHVsZXIiLCAiZW1wdHlTY2hlZHVsZWQiLCAiaXNGdW5jdGlvbl8xIiwgImlzU2NoZWR1bGVyIiwgInZhbHVlIiwgImV4cG9ydHMiLCAiaXNGdW5jdGlvbl8xIiwgImlzU2NoZWR1bGVyXzEiLCAibGFzdCIsICJhcnIiLCAicG9wUmVzdWx0U2VsZWN0b3IiLCAiYXJncyIsICJleHBvcnRzIiwgInBvcFNjaGVkdWxlciIsICJwb3BOdW1iZXIiLCAiZGVmYXVsdFZhbHVlIiwgImV4cG9ydHMiLCAieCIsICJpc0Z1bmN0aW9uXzEiLCAiaXNQcm9taXNlIiwgInZhbHVlIiwgImV4cG9ydHMiLCAib2JzZXJ2YWJsZV8xIiwgImlzRnVuY3Rpb25fMSIsICJpc0ludGVyb3BPYnNlcnZhYmxlIiwgImlucHV0IiwgImV4cG9ydHMiLCAiaXNGdW5jdGlvbl8xIiwgImlzQXN5bmNJdGVyYWJsZSIsICJvYmoiLCAiZXhwb3J0cyIsICJjcmVhdGVJbnZhbGlkT2JzZXJ2YWJsZVR5cGVFcnJvciIsICJpbnB1dCIsICJleHBvcnRzIiwgImdldFN5bWJvbEl0ZXJhdG9yIiwgImV4cG9ydHMiLCAiaXRlcmF0b3JfMSIsICJpc0Z1bmN0aW9uXzEiLCAiaXNJdGVyYWJsZSIsICJpbnB1dCIsICJleHBvcnRzIiwgImlzRnVuY3Rpb25fMSIsICJyZWFkYWJsZVN0cmVhbUxpa2VUb0FzeW5jR2VuZXJhdG9yIiwgInJlYWRhYmxlU3RyZWFtIiwgInJlYWRlciIsICJfX2F3YWl0IiwgIl9hIiwgIl9iIiwgInZhbHVlIiwgImRvbmUiLCAiZXhwb3J0cyIsICJpc1JlYWRhYmxlU3RyZWFtTGlrZSIsICJvYmoiLCAiaXNBcnJheUxpa2VfMSIsICJpc1Byb21pc2VfMSIsICJPYnNlcnZhYmxlXzEiLCAiaXNJbnRlcm9wT2JzZXJ2YWJsZV8xIiwgImlzQXN5bmNJdGVyYWJsZV8xIiwgInRocm93VW5vYnNlcnZhYmxlRXJyb3JfMSIsICJpc0l0ZXJhYmxlXzEiLCAiaXNSZWFkYWJsZVN0cmVhbUxpa2VfMSIsICJpc0Z1bmN0aW9uXzEiLCAicmVwb3J0VW5oYW5kbGVkRXJyb3JfMSIsICJvYnNlcnZhYmxlXzEiLCAiaW5uZXJGcm9tIiwgImlucHV0IiwgImZyb21JbnRlcm9wT2JzZXJ2YWJsZSIsICJmcm9tQXJyYXlMaWtlIiwgImZyb21Qcm9taXNlIiwgImZyb21Bc3luY0l0ZXJhYmxlIiwgImZyb21JdGVyYWJsZSIsICJmcm9tUmVhZGFibGVTdHJlYW1MaWtlIiwgImV4cG9ydHMiLCAib2JqIiwgInN1YnNjcmliZXIiLCAib2JzIiwgImFycmF5IiwgImkiLCAicHJvbWlzZSIsICJ2YWx1ZSIsICJlcnIiLCAiaXRlcmFibGUiLCAiaXRlcmFibGVfMSIsICJfX3ZhbHVlcyIsICJpdGVyYWJsZV8xXzEiLCAiYXN5bmNJdGVyYWJsZSIsICJwcm9jZXNzIiwgInJlYWRhYmxlU3RyZWFtIiwgImFzeW5jSXRlcmFibGVfMSIsICJfX2FzeW5jVmFsdWVzIiwgImFzeW5jSXRlcmFibGVfMV8xIiwgImV4ZWN1dGVTY2hlZHVsZSIsICJwYXJlbnRTdWJzY3JpcHRpb24iLCAic2NoZWR1bGVyIiwgIndvcmsiLCAiZGVsYXkiLCAicmVwZWF0IiwgInNjaGVkdWxlU3Vic2NyaXB0aW9uIiwgImV4cG9ydHMiLCAiZXhlY3V0ZVNjaGVkdWxlXzEiLCAibGlmdF8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgIm9ic2VydmVPbiIsICJzY2hlZHVsZXIiLCAiZGVsYXkiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAidmFsdWUiLCAiZXJyIiwgImV4cG9ydHMiLCAibGlmdF8xIiwgInN1YnNjcmliZU9uIiwgInNjaGVkdWxlciIsICJkZWxheSIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJleHBvcnRzIiwgImlubmVyRnJvbV8xIiwgIm9ic2VydmVPbl8xIiwgInN1YnNjcmliZU9uXzEiLCAic2NoZWR1bGVPYnNlcnZhYmxlIiwgImlucHV0IiwgInNjaGVkdWxlciIsICJleHBvcnRzIiwgImlubmVyRnJvbV8xIiwgIm9ic2VydmVPbl8xIiwgInN1YnNjcmliZU9uXzEiLCAic2NoZWR1bGVQcm9taXNlIiwgImlucHV0IiwgInNjaGVkdWxlciIsICJleHBvcnRzIiwgIk9ic2VydmFibGVfMSIsICJzY2hlZHVsZUFycmF5IiwgImlucHV0IiwgInNjaGVkdWxlciIsICJzdWJzY3JpYmVyIiwgImkiLCAiZXhwb3J0cyIsICJPYnNlcnZhYmxlXzEiLCAiaXRlcmF0b3JfMSIsICJpc0Z1bmN0aW9uXzEiLCAiZXhlY3V0ZVNjaGVkdWxlXzEiLCAic2NoZWR1bGVJdGVyYWJsZSIsICJpbnB1dCIsICJzY2hlZHVsZXIiLCAic3Vic2NyaWJlciIsICJpdGVyYXRvciIsICJ2YWx1ZSIsICJkb25lIiwgIl9hIiwgImVyciIsICJleHBvcnRzIiwgIk9ic2VydmFibGVfMSIsICJleGVjdXRlU2NoZWR1bGVfMSIsICJzY2hlZHVsZUFzeW5jSXRlcmFibGUiLCAiaW5wdXQiLCAic2NoZWR1bGVyIiwgInN1YnNjcmliZXIiLCAiaXRlcmF0b3IiLCAicmVzdWx0IiwgImV4cG9ydHMiLCAic2NoZWR1bGVBc3luY0l0ZXJhYmxlXzEiLCAiaXNSZWFkYWJsZVN0cmVhbUxpa2VfMSIsICJzY2hlZHVsZVJlYWRhYmxlU3RyZWFtTGlrZSIsICJpbnB1dCIsICJzY2hlZHVsZXIiLCAiZXhwb3J0cyIsICJzY2hlZHVsZU9ic2VydmFibGVfMSIsICJzY2hlZHVsZVByb21pc2VfMSIsICJzY2hlZHVsZUFycmF5XzEiLCAic2NoZWR1bGVJdGVyYWJsZV8xIiwgInNjaGVkdWxlQXN5bmNJdGVyYWJsZV8xIiwgImlzSW50ZXJvcE9ic2VydmFibGVfMSIsICJpc1Byb21pc2VfMSIsICJpc0FycmF5TGlrZV8xIiwgImlzSXRlcmFibGVfMSIsICJpc0FzeW5jSXRlcmFibGVfMSIsICJ0aHJvd1Vub2JzZXJ2YWJsZUVycm9yXzEiLCAiaXNSZWFkYWJsZVN0cmVhbUxpa2VfMSIsICJzY2hlZHVsZVJlYWRhYmxlU3RyZWFtTGlrZV8xIiwgInNjaGVkdWxlZCIsICJpbnB1dCIsICJzY2hlZHVsZXIiLCAiZXhwb3J0cyIsICJzY2hlZHVsZWRfMSIsICJpbm5lckZyb21fMSIsICJmcm9tIiwgImlucHV0IiwgInNjaGVkdWxlciIsICJleHBvcnRzIiwgImFyZ3NfMSIsICJmcm9tXzEiLCAib2YiLCAiYXJncyIsICJfaSIsICJzY2hlZHVsZXIiLCAiZXhwb3J0cyIsICJPYnNlcnZhYmxlXzEiLCAiaXNGdW5jdGlvbl8xIiwgInRocm93RXJyb3IiLCAiZXJyb3JPckVycm9yRmFjdG9yeSIsICJzY2hlZHVsZXIiLCAiZXJyb3JGYWN0b3J5IiwgImluaXQiLCAic3Vic2NyaWJlciIsICJleHBvcnRzIiwgImVtcHR5XzEiLCAib2ZfMSIsICJ0aHJvd0Vycm9yXzEiLCAiaXNGdW5jdGlvbl8xIiwgIk5vdGlmaWNhdGlvbktpbmQiLCAiZXhwb3J0cyIsICJOb3RpZmljYXRpb24iLCAia2luZCIsICJ2YWx1ZSIsICJlcnJvciIsICJvYnNlcnZlciIsICJvYnNlcnZlTm90aWZpY2F0aW9uIiwgIm5leHRIYW5kbGVyIiwgImVycm9ySGFuZGxlciIsICJjb21wbGV0ZUhhbmRsZXIiLCAiX2EiLCAibmV4dE9yT2JzZXJ2ZXIiLCAiY29tcGxldGUiLCAicmVzdWx0IiwgImVyciIsICJub3RpZmljYXRpb24iLCAiX2QiLCAiX2IiLCAiX2MiLCAiT2JzZXJ2YWJsZV8xIiwgImlzRnVuY3Rpb25fMSIsICJpc09ic2VydmFibGUiLCAib2JqIiwgImV4cG9ydHMiLCAiY3JlYXRlRXJyb3JDbGFzc18xIiwgImV4cG9ydHMiLCAiX3N1cGVyIiwgIkVtcHR5RXJyb3JfMSIsICJsYXN0VmFsdWVGcm9tIiwgInNvdXJjZSIsICJjb25maWciLCAiaGFzQ29uZmlnIiwgInJlc29sdmUiLCAicmVqZWN0IiwgIl9oYXNWYWx1ZSIsICJfdmFsdWUiLCAidmFsdWUiLCAiZXhwb3J0cyIsICJFbXB0eUVycm9yXzEiLCAiU3Vic2NyaWJlcl8xIiwgImZpcnN0VmFsdWVGcm9tIiwgInNvdXJjZSIsICJjb25maWciLCAiaGFzQ29uZmlnIiwgInJlc29sdmUiLCAicmVqZWN0IiwgInN1YnNjcmliZXIiLCAidmFsdWUiLCAiZXhwb3J0cyIsICJjcmVhdGVFcnJvckNsYXNzXzEiLCAiZXhwb3J0cyIsICJfc3VwZXIiLCAiY3JlYXRlRXJyb3JDbGFzc18xIiwgImV4cG9ydHMiLCAiX3N1cGVyIiwgIm1lc3NhZ2UiLCAiY3JlYXRlRXJyb3JDbGFzc18xIiwgImV4cG9ydHMiLCAiX3N1cGVyIiwgIm1lc3NhZ2UiLCAiaXNWYWxpZERhdGUiLCAidmFsdWUiLCAiZXhwb3J0cyIsICJhc3luY18xIiwgImlzRGF0ZV8xIiwgImxpZnRfMSIsICJpbm5lckZyb21fMSIsICJjcmVhdGVFcnJvckNsYXNzXzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAiZXhlY3V0ZVNjaGVkdWxlXzEiLCAiZXhwb3J0cyIsICJfc3VwZXIiLCAiaW5mbyIsICJ0aW1lb3V0IiwgImNvbmZpZyIsICJzY2hlZHVsZXJBcmciLCAiX2EiLCAiZmlyc3QiLCAiZWFjaCIsICJfYiIsICJfd2l0aCIsICJ0aW1lb3V0RXJyb3JGYWN0b3J5IiwgIl9jIiwgInNjaGVkdWxlciIsICJfZCIsICJtZXRhIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgIm9yaWdpbmFsU291cmNlU3Vic2NyaXB0aW9uIiwgInRpbWVyU3Vic2NyaXB0aW9uIiwgImxhc3RWYWx1ZSIsICJzZWVuIiwgInN0YXJ0VGltZXIiLCAiZGVsYXkiLCAiZXJyIiwgInZhbHVlIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJtYXAiLCAicHJvamVjdCIsICJ0aGlzQXJnIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgImluZGV4IiwgInZhbHVlIiwgImV4cG9ydHMiLCAibWFwXzEiLCAiaXNBcnJheSIsICJjYWxsT3JBcHBseSIsICJmbiIsICJhcmdzIiwgIl9fc3ByZWFkQXJyYXkiLCAiX19yZWFkIiwgIm1hcE9uZU9yTWFueUFyZ3MiLCAiZXhwb3J0cyIsICJpc1NjaGVkdWxlcl8xIiwgIk9ic2VydmFibGVfMSIsICJzdWJzY3JpYmVPbl8xIiwgIm1hcE9uZU9yTWFueUFyZ3NfMSIsICJvYnNlcnZlT25fMSIsICJBc3luY1N1YmplY3RfMSIsICJiaW5kQ2FsbGJhY2tJbnRlcm5hbHMiLCAiaXNOb2RlU3R5bGUiLCAiY2FsbGJhY2tGdW5jIiwgInJlc3VsdFNlbGVjdG9yIiwgInNjaGVkdWxlciIsICJhcmdzIiwgIl9pIiwgIl90aGlzIiwgInN1YmplY3QiLCAidW5pbml0aWFsaXplZCIsICJzdWJzY3JpYmVyIiwgInN1YnMiLCAiaXNBc3luY18xIiwgImlzQ29tcGxldGVfMSIsICJfX3NwcmVhZEFycmF5IiwgIl9fcmVhZCIsICJyZXN1bHRzIiwgImVyciIsICJleHBvcnRzIiwgImJpbmRDYWxsYmFja0ludGVybmFsc18xIiwgImJpbmRDYWxsYmFjayIsICJjYWxsYmFja0Z1bmMiLCAicmVzdWx0U2VsZWN0b3IiLCAic2NoZWR1bGVyIiwgImV4cG9ydHMiLCAiYmluZENhbGxiYWNrSW50ZXJuYWxzXzEiLCAiYmluZE5vZGVDYWxsYmFjayIsICJjYWxsYmFja0Z1bmMiLCAicmVzdWx0U2VsZWN0b3IiLCAic2NoZWR1bGVyIiwgImV4cG9ydHMiLCAiaXNBcnJheSIsICJnZXRQcm90b3R5cGVPZiIsICJvYmplY3RQcm90byIsICJnZXRLZXlzIiwgImFyZ3NBcmdBcnJheU9yT2JqZWN0IiwgImFyZ3MiLCAiZmlyc3RfMSIsICJpc1BPSk8iLCAia2V5cyIsICJrZXkiLCAiZXhwb3J0cyIsICJvYmoiLCAiY3JlYXRlT2JqZWN0IiwgImtleXMiLCAidmFsdWVzIiwgInJlc3VsdCIsICJrZXkiLCAiZXhwb3J0cyIsICJPYnNlcnZhYmxlXzEiLCAiYXJnc0FyZ0FycmF5T3JPYmplY3RfMSIsICJmcm9tXzEiLCAiaWRlbnRpdHlfMSIsICJtYXBPbmVPck1hbnlBcmdzXzEiLCAiYXJnc18xIiwgImNyZWF0ZU9iamVjdF8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgImV4ZWN1dGVTY2hlZHVsZV8xIiwgImNvbWJpbmVMYXRlc3QiLCAiYXJncyIsICJfaSIsICJzY2hlZHVsZXIiLCAicmVzdWx0U2VsZWN0b3IiLCAiX2EiLCAib2JzZXJ2YWJsZXMiLCAia2V5cyIsICJyZXN1bHQiLCAiY29tYmluZUxhdGVzdEluaXQiLCAidmFsdWVzIiwgImV4cG9ydHMiLCAidmFsdWVUcmFuc2Zvcm0iLCAic3Vic2NyaWJlciIsICJtYXliZVNjaGVkdWxlIiwgImxlbmd0aCIsICJhY3RpdmUiLCAicmVtYWluaW5nRmlyc3RWYWx1ZXMiLCAiaSIsICJzb3VyY2UiLCAiaGFzRmlyc3RWYWx1ZSIsICJ2YWx1ZSIsICJleGVjdXRlIiwgInN1YnNjcmlwdGlvbiIsICJpbm5lckZyb21fMSIsICJleGVjdXRlU2NoZWR1bGVfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJtZXJnZUludGVybmFscyIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJwcm9qZWN0IiwgImNvbmN1cnJlbnQiLCAib25CZWZvcmVOZXh0IiwgImV4cGFuZCIsICJpbm5lclN1YlNjaGVkdWxlciIsICJhZGRpdGlvbmFsRmluYWxpemVyIiwgImJ1ZmZlciIsICJhY3RpdmUiLCAiaW5kZXgiLCAiaXNDb21wbGV0ZSIsICJjaGVja0NvbXBsZXRlIiwgIm91dGVyTmV4dCIsICJ2YWx1ZSIsICJkb0lubmVyU3ViIiwgImlubmVyQ29tcGxldGUiLCAiaW5uZXJWYWx1ZSIsICJidWZmZXJlZFZhbHVlIiwgImVyciIsICJleHBvcnRzIiwgIm1hcF8xIiwgImlubmVyRnJvbV8xIiwgImxpZnRfMSIsICJtZXJnZUludGVybmFsc18xIiwgImlzRnVuY3Rpb25fMSIsICJtZXJnZU1hcCIsICJwcm9qZWN0IiwgInJlc3VsdFNlbGVjdG9yIiwgImNvbmN1cnJlbnQiLCAiYSIsICJiIiwgImlpIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgImV4cG9ydHMiLCAibWVyZ2VNYXBfMSIsICJpZGVudGl0eV8xIiwgIm1lcmdlQWxsIiwgImNvbmN1cnJlbnQiLCAiZXhwb3J0cyIsICJtZXJnZUFsbF8xIiwgImNvbmNhdEFsbCIsICJleHBvcnRzIiwgImNvbmNhdEFsbF8xIiwgImFyZ3NfMSIsICJmcm9tXzEiLCAiY29uY2F0IiwgImFyZ3MiLCAiX2kiLCAiZXhwb3J0cyIsICJPYnNlcnZhYmxlXzEiLCAiaW5uZXJGcm9tXzEiLCAiZGVmZXIiLCAib2JzZXJ2YWJsZUZhY3RvcnkiLCAic3Vic2NyaWJlciIsICJleHBvcnRzIiwgIlN1YmplY3RfMSIsICJPYnNlcnZhYmxlXzEiLCAiZGVmZXJfMSIsICJERUZBVUxUX0NPTkZJRyIsICJjb25uZWN0YWJsZSIsICJzb3VyY2UiLCAiY29uZmlnIiwgImNvbm5lY3Rpb24iLCAiY29ubmVjdG9yIiwgIl9hIiwgInJlc2V0T25EaXNjb25uZWN0IiwgInN1YmplY3QiLCAicmVzdWx0IiwgInN1YnNjcmliZXIiLCAiZXhwb3J0cyIsICJPYnNlcnZhYmxlXzEiLCAiYXJnc0FyZ0FycmF5T3JPYmplY3RfMSIsICJpbm5lckZyb21fMSIsICJhcmdzXzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAibWFwT25lT3JNYW55QXJnc18xIiwgImNyZWF0ZU9iamVjdF8xIiwgImZvcmtKb2luIiwgImFyZ3MiLCAiX2kiLCAicmVzdWx0U2VsZWN0b3IiLCAiX2EiLCAic291cmNlcyIsICJrZXlzIiwgInJlc3VsdCIsICJzdWJzY3JpYmVyIiwgImxlbmd0aCIsICJ2YWx1ZXMiLCAicmVtYWluaW5nQ29tcGxldGlvbnMiLCAicmVtYWluaW5nRW1pc3Npb25zIiwgInNvdXJjZUluZGV4IiwgImhhc1ZhbHVlIiwgInZhbHVlIiwgImV4cG9ydHMiLCAiaW5uZXJGcm9tXzEiLCAiT2JzZXJ2YWJsZV8xIiwgIm1lcmdlTWFwXzEiLCAiaXNBcnJheUxpa2VfMSIsICJpc0Z1bmN0aW9uXzEiLCAibWFwT25lT3JNYW55QXJnc18xIiwgIm5vZGVFdmVudEVtaXR0ZXJNZXRob2RzIiwgImV2ZW50VGFyZ2V0TWV0aG9kcyIsICJqcXVlcnlNZXRob2RzIiwgImZyb21FdmVudCIsICJ0YXJnZXQiLCAiZXZlbnROYW1lIiwgIm9wdGlvbnMiLCAicmVzdWx0U2VsZWN0b3IiLCAiX2EiLCAiX19yZWFkIiwgImlzRXZlbnRUYXJnZXQiLCAibWV0aG9kTmFtZSIsICJoYW5kbGVyIiwgImlzTm9kZVN0eWxlRXZlbnRFbWl0dGVyIiwgInRvQ29tbW9uSGFuZGxlclJlZ2lzdHJ5IiwgImlzSlF1ZXJ5U3R5bGVFdmVudEVtaXR0ZXIiLCAiYWRkIiwgInJlbW92ZSIsICJzdWJUYXJnZXQiLCAic3Vic2NyaWJlciIsICJhcmdzIiwgIl9pIiwgImV4cG9ydHMiLCAiT2JzZXJ2YWJsZV8xIiwgImlzRnVuY3Rpb25fMSIsICJtYXBPbmVPck1hbnlBcmdzXzEiLCAiZnJvbUV2ZW50UGF0dGVybiIsICJhZGRIYW5kbGVyIiwgInJlbW92ZUhhbmRsZXIiLCAicmVzdWx0U2VsZWN0b3IiLCAic3Vic2NyaWJlciIsICJoYW5kbGVyIiwgImUiLCAiX2kiLCAicmV0VmFsdWUiLCAiZXhwb3J0cyIsICJpZGVudGl0eV8xIiwgImlzU2NoZWR1bGVyXzEiLCAiZGVmZXJfMSIsICJzY2hlZHVsZUl0ZXJhYmxlXzEiLCAiZ2VuZXJhdGUiLCAiaW5pdGlhbFN0YXRlT3JPcHRpb25zIiwgImNvbmRpdGlvbiIsICJpdGVyYXRlIiwgInJlc3VsdFNlbGVjdG9yT3JTY2hlZHVsZXIiLCAic2NoZWR1bGVyIiwgInJlc3VsdFNlbGVjdG9yIiwgImluaXRpYWxTdGF0ZSIsICJfYSIsICJfYiIsICJnZW4iLCAic3RhdGUiLCAiZXhwb3J0cyIsICJkZWZlcl8xIiwgImlpZiIsICJjb25kaXRpb24iLCAidHJ1ZVJlc3VsdCIsICJmYWxzZVJlc3VsdCIsICJleHBvcnRzIiwgIk9ic2VydmFibGVfMSIsICJhc3luY18xIiwgImlzU2NoZWR1bGVyXzEiLCAiaXNEYXRlXzEiLCAidGltZXIiLCAiZHVlVGltZSIsICJpbnRlcnZhbE9yU2NoZWR1bGVyIiwgInNjaGVkdWxlciIsICJpbnRlcnZhbER1cmF0aW9uIiwgInN1YnNjcmliZXIiLCAiZHVlIiwgIm4iLCAiZXhwb3J0cyIsICJhc3luY18xIiwgInRpbWVyXzEiLCAiaW50ZXJ2YWwiLCAicGVyaW9kIiwgInNjaGVkdWxlciIsICJleHBvcnRzIiwgIm1lcmdlQWxsXzEiLCAiaW5uZXJGcm9tXzEiLCAiZW1wdHlfMSIsICJhcmdzXzEiLCAiZnJvbV8xIiwgIm1lcmdlIiwgImFyZ3MiLCAiX2kiLCAic2NoZWR1bGVyIiwgImNvbmN1cnJlbnQiLCAic291cmNlcyIsICJleHBvcnRzIiwgIk9ic2VydmFibGVfMSIsICJub29wXzEiLCAiZXhwb3J0cyIsICJuZXZlciIsICJpc0FycmF5IiwgImFyZ3NPckFyZ0FycmF5IiwgImFyZ3MiLCAiZXhwb3J0cyIsICJPYnNlcnZhYmxlXzEiLCAiYXJnc09yQXJnQXJyYXlfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJub29wXzEiLCAiaW5uZXJGcm9tXzEiLCAib25FcnJvclJlc3VtZU5leHQiLCAic291cmNlcyIsICJfaSIsICJuZXh0U291cmNlcyIsICJzdWJzY3JpYmVyIiwgInNvdXJjZUluZGV4IiwgInN1YnNjcmliZU5leHQiLCAibmV4dFNvdXJjZSIsICJpbm5lclN1YnNjcmliZXIiLCAiZXhwb3J0cyIsICJmcm9tXzEiLCAicGFpcnMiLCAib2JqIiwgInNjaGVkdWxlciIsICJleHBvcnRzIiwgIm5vdCIsICJwcmVkIiwgInRoaXNBcmciLCAidmFsdWUiLCAiaW5kZXgiLCAiZXhwb3J0cyIsICJsaWZ0XzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAiZmlsdGVyIiwgInByZWRpY2F0ZSIsICJ0aGlzQXJnIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgImluZGV4IiwgInZhbHVlIiwgImV4cG9ydHMiLCAibm90XzEiLCAiZmlsdGVyXzEiLCAiaW5uZXJGcm9tXzEiLCAicGFydGl0aW9uIiwgInNvdXJjZSIsICJwcmVkaWNhdGUiLCAidGhpc0FyZyIsICJleHBvcnRzIiwgIk9ic2VydmFibGVfMSIsICJpbm5lckZyb21fMSIsICJhcmdzT3JBcmdBcnJheV8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgInJhY2UiLCAic291cmNlcyIsICJfaSIsICJyYWNlSW5pdCIsICJleHBvcnRzIiwgInN1YnNjcmliZXIiLCAic3Vic2NyaXB0aW9ucyIsICJpIiwgInZhbHVlIiwgInMiLCAiT2JzZXJ2YWJsZV8xIiwgImVtcHR5XzEiLCAicmFuZ2UiLCAic3RhcnQiLCAiY291bnQiLCAic2NoZWR1bGVyIiwgImVuZCIsICJzdWJzY3JpYmVyIiwgIm4iLCAiZXhwb3J0cyIsICJPYnNlcnZhYmxlXzEiLCAiaW5uZXJGcm9tXzEiLCAiZW1wdHlfMSIsICJ1c2luZyIsICJyZXNvdXJjZUZhY3RvcnkiLCAib2JzZXJ2YWJsZUZhY3RvcnkiLCAic3Vic2NyaWJlciIsICJyZXNvdXJjZSIsICJyZXN1bHQiLCAic291cmNlIiwgImV4cG9ydHMiLCAiT2JzZXJ2YWJsZV8xIiwgImlubmVyRnJvbV8xIiwgImFyZ3NPckFyZ0FycmF5XzEiLCAiZW1wdHlfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJhcmdzXzEiLCAiemlwIiwgImFyZ3MiLCAiX2kiLCAicmVzdWx0U2VsZWN0b3IiLCAic291cmNlcyIsICJzdWJzY3JpYmVyIiwgImJ1ZmZlcnMiLCAiY29tcGxldGVkIiwgInNvdXJjZUluZGV4IiwgInZhbHVlIiwgImJ1ZmZlciIsICJyZXN1bHQiLCAiX19zcHJlYWRBcnJheSIsICJfX3JlYWQiLCAiaSIsICJleHBvcnRzIiwgInJlcXVpcmVfdHlwZXMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgImxpZnRfMSIsICJpbm5lckZyb21fMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJhdWRpdCIsICJkdXJhdGlvblNlbGVjdG9yIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgImhhc1ZhbHVlIiwgImxhc3RWYWx1ZSIsICJkdXJhdGlvblN1YnNjcmliZXIiLCAiaXNDb21wbGV0ZSIsICJlbmREdXJhdGlvbiIsICJ2YWx1ZSIsICJjbGVhbnVwRHVyYXRpb24iLCAiZXhwb3J0cyIsICJhc3luY18xIiwgImF1ZGl0XzEiLCAidGltZXJfMSIsICJhdWRpdFRpbWUiLCAiZHVyYXRpb24iLCAic2NoZWR1bGVyIiwgImV4cG9ydHMiLCAibGlmdF8xIiwgIm5vb3BfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJpbm5lckZyb21fMSIsICJidWZmZXIiLCAiY2xvc2luZ05vdGlmaWVyIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgImN1cnJlbnRCdWZmZXIiLCAidmFsdWUiLCAiYiIsICJleHBvcnRzIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJhcnJSZW1vdmVfMSIsICJidWZmZXJDb3VudCIsICJidWZmZXJTaXplIiwgInN0YXJ0QnVmZmVyRXZlcnkiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAiYnVmZmVycyIsICJjb3VudCIsICJ2YWx1ZSIsICJ0b0VtaXQiLCAiYnVmZmVyc18xIiwgIl9fdmFsdWVzIiwgImJ1ZmZlcnNfMV8xIiwgImJ1ZmZlciIsICJ0b0VtaXRfMSIsICJ0b0VtaXRfMV8xIiwgImJ1ZmZlcnNfMiIsICJidWZmZXJzXzJfMSIsICJleHBvcnRzIiwgIlN1YnNjcmlwdGlvbl8xIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJhcnJSZW1vdmVfMSIsICJhc3luY18xIiwgImFyZ3NfMSIsICJleGVjdXRlU2NoZWR1bGVfMSIsICJidWZmZXJUaW1lIiwgImJ1ZmZlclRpbWVTcGFuIiwgIm90aGVyQXJncyIsICJfaSIsICJzY2hlZHVsZXIiLCAiX2EiLCAiYnVmZmVyQ3JlYXRpb25JbnRlcnZhbCIsICJfYiIsICJtYXhCdWZmZXJTaXplIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgImJ1ZmZlclJlY29yZHMiLCAicmVzdGFydE9uRW1pdCIsICJlbWl0IiwgInJlY29yZCIsICJidWZmZXIiLCAic3VicyIsICJzdGFydEJ1ZmZlciIsICJyZWNvcmRfMSIsICJidWZmZXJUaW1lU3Vic2NyaWJlciIsICJ2YWx1ZSIsICJyZWNvcmRzQ29weSIsICJyZWNvcmRzQ29weV8xIiwgIl9fdmFsdWVzIiwgInJlY29yZHNDb3B5XzFfMSIsICJleHBvcnRzIiwgIlN1YnNjcmlwdGlvbl8xIiwgImxpZnRfMSIsICJpbm5lckZyb21fMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJub29wXzEiLCAiYXJyUmVtb3ZlXzEiLCAiYnVmZmVyVG9nZ2xlIiwgIm9wZW5pbmdzIiwgImNsb3NpbmdTZWxlY3RvciIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJidWZmZXJzIiwgIm9wZW5WYWx1ZSIsICJidWZmZXIiLCAiY2xvc2luZ1N1YnNjcmlwdGlvbiIsICJlbWl0QnVmZmVyIiwgInZhbHVlIiwgImJ1ZmZlcnNfMSIsICJfX3ZhbHVlcyIsICJidWZmZXJzXzFfMSIsICJleHBvcnRzIiwgImxpZnRfMSIsICJub29wXzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAiaW5uZXJGcm9tXzEiLCAiYnVmZmVyV2hlbiIsICJjbG9zaW5nU2VsZWN0b3IiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAiYnVmZmVyIiwgImNsb3NpbmdTdWJzY3JpYmVyIiwgIm9wZW5CdWZmZXIiLCAiYiIsICJ2YWx1ZSIsICJleHBvcnRzIiwgImlubmVyRnJvbV8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgImxpZnRfMSIsICJjYXRjaEVycm9yIiwgInNlbGVjdG9yIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgImlubmVyU3ViIiwgInN5bmNVbnN1YiIsICJoYW5kbGVkUmVzdWx0IiwgImVyciIsICJleHBvcnRzIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgInNjYW5JbnRlcm5hbHMiLCAiYWNjdW11bGF0b3IiLCAic2VlZCIsICJoYXNTZWVkIiwgImVtaXRPbk5leHQiLCAiZW1pdEJlZm9yZUNvbXBsZXRlIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgImhhc1N0YXRlIiwgInN0YXRlIiwgImluZGV4IiwgInZhbHVlIiwgImkiLCAiZXhwb3J0cyIsICJzY2FuSW50ZXJuYWxzXzEiLCAibGlmdF8xIiwgInJlZHVjZSIsICJhY2N1bXVsYXRvciIsICJzZWVkIiwgImV4cG9ydHMiLCAicmVkdWNlXzEiLCAibGlmdF8xIiwgImFyclJlZHVjZXIiLCAiYXJyIiwgInZhbHVlIiwgInRvQXJyYXkiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAiZXhwb3J0cyIsICJpZGVudGl0eV8xIiwgIm1hcE9uZU9yTWFueUFyZ3NfMSIsICJwaXBlXzEiLCAibWVyZ2VNYXBfMSIsICJ0b0FycmF5XzEiLCAiam9pbkFsbEludGVybmFscyIsICJqb2luRm4iLCAicHJvamVjdCIsICJzb3VyY2VzIiwgImV4cG9ydHMiLCAiY29tYmluZUxhdGVzdF8xIiwgImpvaW5BbGxJbnRlcm5hbHNfMSIsICJjb21iaW5lTGF0ZXN0QWxsIiwgInByb2plY3QiLCAiZXhwb3J0cyIsICJjb21iaW5lTGF0ZXN0QWxsXzEiLCAiZXhwb3J0cyIsICJjb21iaW5lTGF0ZXN0XzEiLCAibGlmdF8xIiwgImFyZ3NPckFyZ0FycmF5XzEiLCAibWFwT25lT3JNYW55QXJnc18xIiwgInBpcGVfMSIsICJhcmdzXzEiLCAiY29tYmluZUxhdGVzdCIsICJhcmdzIiwgIl9pIiwgInJlc3VsdFNlbGVjdG9yIiwgIl9fc3ByZWFkQXJyYXkiLCAiX19yZWFkIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgImV4cG9ydHMiLCAiY29tYmluZUxhdGVzdF8xIiwgImNvbWJpbmVMYXRlc3RXaXRoIiwgIm90aGVyU291cmNlcyIsICJfaSIsICJfX3NwcmVhZEFycmF5IiwgIl9fcmVhZCIsICJleHBvcnRzIiwgIm1lcmdlTWFwXzEiLCAiaXNGdW5jdGlvbl8xIiwgImNvbmNhdE1hcCIsICJwcm9qZWN0IiwgInJlc3VsdFNlbGVjdG9yIiwgImV4cG9ydHMiLCAiY29uY2F0TWFwXzEiLCAiaXNGdW5jdGlvbl8xIiwgImNvbmNhdE1hcFRvIiwgImlubmVyT2JzZXJ2YWJsZSIsICJyZXN1bHRTZWxlY3RvciIsICJleHBvcnRzIiwgImxpZnRfMSIsICJjb25jYXRBbGxfMSIsICJhcmdzXzEiLCAiZnJvbV8xIiwgImNvbmNhdCIsICJhcmdzIiwgIl9pIiwgInNjaGVkdWxlciIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJfX3NwcmVhZEFycmF5IiwgIl9fcmVhZCIsICJleHBvcnRzIiwgImNvbmNhdF8xIiwgImNvbmNhdFdpdGgiLCAib3RoZXJTb3VyY2VzIiwgIl9pIiwgIl9fc3ByZWFkQXJyYXkiLCAiX19yZWFkIiwgImV4cG9ydHMiLCAiT2JzZXJ2YWJsZV8xIiwgImZyb21TdWJzY3JpYmFibGUiLCAic3Vic2NyaWJhYmxlIiwgInN1YnNjcmliZXIiLCAiZXhwb3J0cyIsICJTdWJqZWN0XzEiLCAiaW5uZXJGcm9tXzEiLCAibGlmdF8xIiwgImZyb21TdWJzY3JpYmFibGVfMSIsICJERUZBVUxUX0NPTkZJRyIsICJjb25uZWN0IiwgInNlbGVjdG9yIiwgImNvbmZpZyIsICJjb25uZWN0b3IiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAic3ViamVjdCIsICJleHBvcnRzIiwgInJlZHVjZV8xIiwgImNvdW50IiwgInByZWRpY2F0ZSIsICJ0b3RhbCIsICJ2YWx1ZSIsICJpIiwgImV4cG9ydHMiLCAibGlmdF8xIiwgIm5vb3BfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJpbm5lckZyb21fMSIsICJkZWJvdW5jZSIsICJkdXJhdGlvblNlbGVjdG9yIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgImhhc1ZhbHVlIiwgImxhc3RWYWx1ZSIsICJkdXJhdGlvblN1YnNjcmliZXIiLCAiZW1pdCIsICJ2YWx1ZSIsICJleHBvcnRzIiwgImFzeW5jXzEiLCAibGlmdF8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgImRlYm91bmNlVGltZSIsICJkdWVUaW1lIiwgInNjaGVkdWxlciIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJhY3RpdmVUYXNrIiwgImxhc3RWYWx1ZSIsICJsYXN0VGltZSIsICJlbWl0IiwgInZhbHVlIiwgImVtaXRXaGVuSWRsZSIsICJ0YXJnZXRUaW1lIiwgIm5vdyIsICJleHBvcnRzIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJkZWZhdWx0SWZFbXB0eSIsICJkZWZhdWx0VmFsdWUiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAiaGFzVmFsdWUiLCAidmFsdWUiLCAiZXhwb3J0cyIsICJlbXB0eV8xIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJ0YWtlIiwgImNvdW50IiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgInNlZW4iLCAidmFsdWUiLCAiZXhwb3J0cyIsICJsaWZ0XzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAibm9vcF8xIiwgImlnbm9yZUVsZW1lbnRzIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgImV4cG9ydHMiLCAibWFwXzEiLCAibWFwVG8iLCAidmFsdWUiLCAiZXhwb3J0cyIsICJjb25jYXRfMSIsICJ0YWtlXzEiLCAiaWdub3JlRWxlbWVudHNfMSIsICJtYXBUb18xIiwgIm1lcmdlTWFwXzEiLCAiaW5uZXJGcm9tXzEiLCAiZGVsYXlXaGVuIiwgImRlbGF5RHVyYXRpb25TZWxlY3RvciIsICJzdWJzY3JpcHRpb25EZWxheSIsICJzb3VyY2UiLCAidmFsdWUiLCAiaW5kZXgiLCAiZXhwb3J0cyIsICJhc3luY18xIiwgImRlbGF5V2hlbl8xIiwgInRpbWVyXzEiLCAiZGVsYXkiLCAiZHVlIiwgInNjaGVkdWxlciIsICJkdXJhdGlvbiIsICJleHBvcnRzIiwgIk5vdGlmaWNhdGlvbl8xIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJkZW1hdGVyaWFsaXplIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgIm5vdGlmaWNhdGlvbiIsICJleHBvcnRzIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJub29wXzEiLCAiaW5uZXJGcm9tXzEiLCAiZGlzdGluY3QiLCAia2V5U2VsZWN0b3IiLCAiZmx1c2hlcyIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJkaXN0aW5jdEtleXMiLCAidmFsdWUiLCAia2V5IiwgImV4cG9ydHMiLCAiaWRlbnRpdHlfMSIsICJsaWZ0XzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAiZGlzdGluY3RVbnRpbENoYW5nZWQiLCAiY29tcGFyYXRvciIsICJrZXlTZWxlY3RvciIsICJkZWZhdWx0Q29tcGFyZSIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJwcmV2aW91c0tleSIsICJmaXJzdCIsICJ2YWx1ZSIsICJjdXJyZW50S2V5IiwgImV4cG9ydHMiLCAiYSIsICJiIiwgImRpc3RpbmN0VW50aWxDaGFuZ2VkXzEiLCAiZGlzdGluY3RVbnRpbEtleUNoYW5nZWQiLCAia2V5IiwgImNvbXBhcmUiLCAieCIsICJ5IiwgImV4cG9ydHMiLCAiRW1wdHlFcnJvcl8xIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJ0aHJvd0lmRW1wdHkiLCAiZXJyb3JGYWN0b3J5IiwgImRlZmF1bHRFcnJvckZhY3RvcnkiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAiaGFzVmFsdWUiLCAidmFsdWUiLCAiZXhwb3J0cyIsICJBcmd1bWVudE91dE9mUmFuZ2VFcnJvcl8xIiwgImZpbHRlcl8xIiwgInRocm93SWZFbXB0eV8xIiwgImRlZmF1bHRJZkVtcHR5XzEiLCAidGFrZV8xIiwgImVsZW1lbnRBdCIsICJpbmRleCIsICJkZWZhdWx0VmFsdWUiLCAiaGFzRGVmYXVsdFZhbHVlIiwgInNvdXJjZSIsICJ2IiwgImkiLCAiZXhwb3J0cyIsICJjb25jYXRfMSIsICJvZl8xIiwgImVuZFdpdGgiLCAidmFsdWVzIiwgIl9pIiwgInNvdXJjZSIsICJfX3NwcmVhZEFycmF5IiwgIl9fcmVhZCIsICJleHBvcnRzIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJldmVyeSIsICJwcmVkaWNhdGUiLCAidGhpc0FyZyIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJpbmRleCIsICJ2YWx1ZSIsICJleHBvcnRzIiwgIm1hcF8xIiwgImlubmVyRnJvbV8xIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJleGhhdXN0TWFwIiwgInByb2plY3QiLCAicmVzdWx0U2VsZWN0b3IiLCAic291cmNlIiwgImEiLCAiYiIsICJpaSIsICJzdWJzY3JpYmVyIiwgImluZGV4IiwgImlubmVyU3ViIiwgImlzQ29tcGxldGUiLCAib3V0ZXJWYWx1ZSIsICJleHBvcnRzIiwgImV4aGF1c3RNYXBfMSIsICJpZGVudGl0eV8xIiwgImV4aGF1c3RBbGwiLCAiZXhwb3J0cyIsICJleGhhdXN0QWxsXzEiLCAiZXhwb3J0cyIsICJsaWZ0XzEiLCAibWVyZ2VJbnRlcm5hbHNfMSIsICJleHBhbmQiLCAicHJvamVjdCIsICJjb25jdXJyZW50IiwgInNjaGVkdWxlciIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJleHBvcnRzIiwgImxpZnRfMSIsICJmaW5hbGl6ZSIsICJjYWxsYmFjayIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJleHBvcnRzIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJmaW5kIiwgInByZWRpY2F0ZSIsICJ0aGlzQXJnIiwgImNyZWF0ZUZpbmQiLCAiZXhwb3J0cyIsICJlbWl0IiwgImZpbmRJbmRleCIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJpbmRleCIsICJ2YWx1ZSIsICJpIiwgImxpZnRfMSIsICJmaW5kXzEiLCAiZmluZEluZGV4IiwgInByZWRpY2F0ZSIsICJ0aGlzQXJnIiwgImV4cG9ydHMiLCAiRW1wdHlFcnJvcl8xIiwgImZpbHRlcl8xIiwgInRha2VfMSIsICJkZWZhdWx0SWZFbXB0eV8xIiwgInRocm93SWZFbXB0eV8xIiwgImlkZW50aXR5XzEiLCAiZmlyc3QiLCAicHJlZGljYXRlIiwgImRlZmF1bHRWYWx1ZSIsICJoYXNEZWZhdWx0VmFsdWUiLCAic291cmNlIiwgInYiLCAiaSIsICJleHBvcnRzIiwgIk9ic2VydmFibGVfMSIsICJpbm5lckZyb21fMSIsICJTdWJqZWN0XzEiLCAibGlmdF8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgImdyb3VwQnkiLCAia2V5U2VsZWN0b3IiLCAiZWxlbWVudE9yT3B0aW9ucyIsICJkdXJhdGlvbiIsICJjb25uZWN0b3IiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAiZWxlbWVudCIsICJncm91cHMiLCAibm90aWZ5IiwgImNiIiwgImhhbmRsZUVycm9yIiwgImVyciIsICJjb25zdW1lciIsICJhY3RpdmVHcm91cHMiLCAidGVhcmRvd25BdHRlbXB0ZWQiLCAiZ3JvdXBCeVNvdXJjZVN1YnNjcmliZXIiLCAidmFsdWUiLCAia2V5XzEiLCAiZ3JvdXBfMSIsICJncm91cGVkIiwgImNyZWF0ZUdyb3VwZWRPYnNlcnZhYmxlIiwgImR1cmF0aW9uU3Vic2NyaWJlcl8xIiwgImtleSIsICJncm91cFN1YmplY3QiLCAicmVzdWx0IiwgImdyb3VwU3Vic2NyaWJlciIsICJpbm5lclN1YiIsICJleHBvcnRzIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJpc0VtcHR5IiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgImV4cG9ydHMiLCAiZW1wdHlfMSIsICJsaWZ0XzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAidGFrZUxhc3QiLCAiY291bnQiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAiYnVmZmVyIiwgInZhbHVlIiwgImJ1ZmZlcl8xIiwgIl9fdmFsdWVzIiwgImJ1ZmZlcl8xXzEiLCAiZXhwb3J0cyIsICJFbXB0eUVycm9yXzEiLCAiZmlsdGVyXzEiLCAidGFrZUxhc3RfMSIsICJ0aHJvd0lmRW1wdHlfMSIsICJkZWZhdWx0SWZFbXB0eV8xIiwgImlkZW50aXR5XzEiLCAibGFzdCIsICJwcmVkaWNhdGUiLCAiZGVmYXVsdFZhbHVlIiwgImhhc0RlZmF1bHRWYWx1ZSIsICJzb3VyY2UiLCAidiIsICJpIiwgImV4cG9ydHMiLCAiTm90aWZpY2F0aW9uXzEiLCAibGlmdF8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgIm1hdGVyaWFsaXplIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgInZhbHVlIiwgImVyciIsICJleHBvcnRzIiwgInJlZHVjZV8xIiwgImlzRnVuY3Rpb25fMSIsICJtYXgiLCAiY29tcGFyZXIiLCAieCIsICJ5IiwgImV4cG9ydHMiLCAibWVyZ2VNYXBfMSIsICJleHBvcnRzIiwgIm1lcmdlTWFwXzEiLCAiaXNGdW5jdGlvbl8xIiwgIm1lcmdlTWFwVG8iLCAiaW5uZXJPYnNlcnZhYmxlIiwgInJlc3VsdFNlbGVjdG9yIiwgImNvbmN1cnJlbnQiLCAiZXhwb3J0cyIsICJsaWZ0XzEiLCAibWVyZ2VJbnRlcm5hbHNfMSIsICJtZXJnZVNjYW4iLCAiYWNjdW11bGF0b3IiLCAic2VlZCIsICJjb25jdXJyZW50IiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgInN0YXRlIiwgInZhbHVlIiwgImluZGV4IiwgImV4cG9ydHMiLCAibGlmdF8xIiwgImFyZ3NPckFyZ0FycmF5XzEiLCAibWVyZ2VBbGxfMSIsICJhcmdzXzEiLCAiZnJvbV8xIiwgIm1lcmdlIiwgImFyZ3MiLCAiX2kiLCAic2NoZWR1bGVyIiwgImNvbmN1cnJlbnQiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAiX19zcHJlYWRBcnJheSIsICJfX3JlYWQiLCAiZXhwb3J0cyIsICJtZXJnZV8xIiwgIm1lcmdlV2l0aCIsICJvdGhlclNvdXJjZXMiLCAiX2kiLCAiX19zcHJlYWRBcnJheSIsICJfX3JlYWQiLCAiZXhwb3J0cyIsICJyZWR1Y2VfMSIsICJpc0Z1bmN0aW9uXzEiLCAibWluIiwgImNvbXBhcmVyIiwgIngiLCAieSIsICJleHBvcnRzIiwgIkNvbm5lY3RhYmxlT2JzZXJ2YWJsZV8xIiwgImlzRnVuY3Rpb25fMSIsICJjb25uZWN0XzEiLCAibXVsdGljYXN0IiwgInN1YmplY3RPclN1YmplY3RGYWN0b3J5IiwgInNlbGVjdG9yIiwgInN1YmplY3RGYWN0b3J5IiwgInNvdXJjZSIsICJleHBvcnRzIiwgImFyZ3NPckFyZ0FycmF5XzEiLCAib25FcnJvclJlc3VtZU5leHRfMSIsICJvbkVycm9yUmVzdW1lTmV4dFdpdGgiLCAic291cmNlcyIsICJfaSIsICJuZXh0U291cmNlcyIsICJzb3VyY2UiLCAiX19zcHJlYWRBcnJheSIsICJfX3JlYWQiLCAiZXhwb3J0cyIsICJsaWZ0XzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAicGFpcndpc2UiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAicHJldiIsICJoYXNQcmV2IiwgInZhbHVlIiwgInAiLCAiZXhwb3J0cyIsICJtYXBfMSIsICJwbHVjayIsICJwcm9wZXJ0aWVzIiwgIl9pIiwgImxlbmd0aCIsICJ4IiwgImN1cnJlbnRQcm9wIiwgImkiLCAicCIsICJleHBvcnRzIiwgIlN1YmplY3RfMSIsICJtdWx0aWNhc3RfMSIsICJjb25uZWN0XzEiLCAicHVibGlzaCIsICJzZWxlY3RvciIsICJzb3VyY2UiLCAiZXhwb3J0cyIsICJCZWhhdmlvclN1YmplY3RfMSIsICJDb25uZWN0YWJsZU9ic2VydmFibGVfMSIsICJwdWJsaXNoQmVoYXZpb3IiLCAiaW5pdGlhbFZhbHVlIiwgInNvdXJjZSIsICJzdWJqZWN0IiwgImV4cG9ydHMiLCAiQXN5bmNTdWJqZWN0XzEiLCAiQ29ubmVjdGFibGVPYnNlcnZhYmxlXzEiLCAicHVibGlzaExhc3QiLCAic291cmNlIiwgInN1YmplY3QiLCAiZXhwb3J0cyIsICJSZXBsYXlTdWJqZWN0XzEiLCAibXVsdGljYXN0XzEiLCAiaXNGdW5jdGlvbl8xIiwgInB1Ymxpc2hSZXBsYXkiLCAiYnVmZmVyU2l6ZSIsICJ3aW5kb3dUaW1lIiwgInNlbGVjdG9yT3JTY2hlZHVsZXIiLCAidGltZXN0YW1wUHJvdmlkZXIiLCAic2VsZWN0b3IiLCAic291cmNlIiwgImV4cG9ydHMiLCAicmFjZV8xIiwgImxpZnRfMSIsICJpZGVudGl0eV8xIiwgInJhY2VXaXRoIiwgIm90aGVyU291cmNlcyIsICJfaSIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJfX3NwcmVhZEFycmF5IiwgIl9fcmVhZCIsICJleHBvcnRzIiwgImVtcHR5XzEiLCAibGlmdF8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgImlubmVyRnJvbV8xIiwgInRpbWVyXzEiLCAicmVwZWF0IiwgImNvdW50T3JDb25maWciLCAiY291bnQiLCAiZGVsYXkiLCAiX2EiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAic29GYXIiLCAic291cmNlU3ViIiwgInJlc3Vic2NyaWJlIiwgIm5vdGlmaWVyIiwgIm5vdGlmaWVyU3Vic2NyaWJlcl8xIiwgInN1YnNjcmliZVRvU291cmNlIiwgInN5bmNVbnN1YiIsICJleHBvcnRzIiwgImlubmVyRnJvbV8xIiwgIlN1YmplY3RfMSIsICJsaWZ0XzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAicmVwZWF0V2hlbiIsICJub3RpZmllciIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJpbm5lclN1YiIsICJzeW5jUmVzdWIiLCAiY29tcGxldGlvbnMkIiwgImlzTm90aWZpZXJDb21wbGV0ZSIsICJpc01haW5Db21wbGV0ZSIsICJjaGVja0NvbXBsZXRlIiwgImdldENvbXBsZXRpb25TdWJqZWN0IiwgInN1YnNjcmliZUZvclJlcGVhdFdoZW4iLCAiZXhwb3J0cyIsICJsaWZ0XzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAiaWRlbnRpdHlfMSIsICJ0aW1lcl8xIiwgImlubmVyRnJvbV8xIiwgInJldHJ5IiwgImNvbmZpZ09yQ291bnQiLCAiY29uZmlnIiwgIl9hIiwgImNvdW50IiwgImRlbGF5IiwgIl9iIiwgInJlc2V0T25TdWNjZXNzIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgInNvRmFyIiwgImlubmVyU3ViIiwgInN1YnNjcmliZUZvclJldHJ5IiwgInN5bmNVbnN1YiIsICJ2YWx1ZSIsICJlcnIiLCAicmVzdWJfMSIsICJub3RpZmllciIsICJub3RpZmllclN1YnNjcmliZXJfMSIsICJleHBvcnRzIiwgImlubmVyRnJvbV8xIiwgIlN1YmplY3RfMSIsICJsaWZ0XzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAicmV0cnlXaGVuIiwgIm5vdGlmaWVyIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgImlubmVyU3ViIiwgInN5bmNSZXN1YiIsICJlcnJvcnMkIiwgInN1YnNjcmliZUZvclJldHJ5V2hlbiIsICJlcnIiLCAiZXhwb3J0cyIsICJpbm5lckZyb21fMSIsICJsaWZ0XzEiLCAibm9vcF8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgInNhbXBsZSIsICJub3RpZmllciIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJoYXNWYWx1ZSIsICJsYXN0VmFsdWUiLCAidmFsdWUiLCAiZXhwb3J0cyIsICJhc3luY18xIiwgInNhbXBsZV8xIiwgImludGVydmFsXzEiLCAic2FtcGxlVGltZSIsICJwZXJpb2QiLCAic2NoZWR1bGVyIiwgImV4cG9ydHMiLCAibGlmdF8xIiwgInNjYW5JbnRlcm5hbHNfMSIsICJzY2FuIiwgImFjY3VtdWxhdG9yIiwgInNlZWQiLCAiZXhwb3J0cyIsICJsaWZ0XzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAiaW5uZXJGcm9tXzEiLCAic2VxdWVuY2VFcXVhbCIsICJjb21wYXJlVG8iLCAiY29tcGFyYXRvciIsICJhIiwgImIiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAiYVN0YXRlIiwgImNyZWF0ZVN0YXRlIiwgImJTdGF0ZSIsICJlbWl0IiwgImlzRXF1YWwiLCAiY3JlYXRlU3Vic2NyaWJlciIsICJzZWxmU3RhdGUiLCAib3RoZXJTdGF0ZSIsICJzZXF1ZW5jZUVxdWFsU3Vic2NyaWJlciIsICJidWZmZXIiLCAiY29tcGxldGUiLCAiZXhwb3J0cyIsICJpbm5lckZyb21fMSIsICJTdWJqZWN0XzEiLCAiU3Vic2NyaWJlcl8xIiwgImxpZnRfMSIsICJzaGFyZSIsICJvcHRpb25zIiwgIl9hIiwgImNvbm5lY3RvciIsICJfYiIsICJyZXNldE9uRXJyb3IiLCAiX2MiLCAicmVzZXRPbkNvbXBsZXRlIiwgIl9kIiwgInJlc2V0T25SZWZDb3VudFplcm8iLCAid3JhcHBlclNvdXJjZSIsICJjb25uZWN0aW9uIiwgInJlc2V0Q29ubmVjdGlvbiIsICJzdWJqZWN0IiwgInJlZkNvdW50IiwgImhhc0NvbXBsZXRlZCIsICJoYXNFcnJvcmVkIiwgImNhbmNlbFJlc2V0IiwgInJlc2V0IiwgInJlc2V0QW5kVW5zdWJzY3JpYmUiLCAiY29ubiIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJkZXN0IiwgImhhbmRsZVJlc2V0IiwgInZhbHVlIiwgImVyciIsICJleHBvcnRzIiwgIm9uIiwgImFyZ3MiLCAiX2kiLCAib25TdWJzY3JpYmVyIiwgIl9fc3ByZWFkQXJyYXkiLCAiX19yZWFkIiwgIlJlcGxheVN1YmplY3RfMSIsICJzaGFyZV8xIiwgInNoYXJlUmVwbGF5IiwgImNvbmZpZ09yQnVmZmVyU2l6ZSIsICJ3aW5kb3dUaW1lIiwgInNjaGVkdWxlciIsICJidWZmZXJTaXplIiwgInJlZkNvdW50IiwgIl9hIiwgIl9iIiwgIl9jIiwgImV4cG9ydHMiLCAiRW1wdHlFcnJvcl8xIiwgIlNlcXVlbmNlRXJyb3JfMSIsICJOb3RGb3VuZEVycm9yXzEiLCAibGlmdF8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgInNpbmdsZSIsICJwcmVkaWNhdGUiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAiaGFzVmFsdWUiLCAic2luZ2xlVmFsdWUiLCAic2VlblZhbHVlIiwgImluZGV4IiwgInZhbHVlIiwgImV4cG9ydHMiLCAiZmlsdGVyXzEiLCAic2tpcCIsICJjb3VudCIsICJfIiwgImluZGV4IiwgImV4cG9ydHMiLCAiaWRlbnRpdHlfMSIsICJsaWZ0XzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAic2tpcExhc3QiLCAic2tpcENvdW50IiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgInJpbmciLCAic2VlbiIsICJ2YWx1ZSIsICJ2YWx1ZUluZGV4IiwgImluZGV4IiwgIm9sZFZhbHVlIiwgImV4cG9ydHMiLCAibGlmdF8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgImlubmVyRnJvbV8xIiwgIm5vb3BfMSIsICJza2lwVW50aWwiLCAibm90aWZpZXIiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAidGFraW5nIiwgInNraXBTdWJzY3JpYmVyIiwgInZhbHVlIiwgImV4cG9ydHMiLCAibGlmdF8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgInNraXBXaGlsZSIsICJwcmVkaWNhdGUiLCAic291cmNlIiwgInN1YnNjcmliZXIiLCAidGFraW5nIiwgImluZGV4IiwgInZhbHVlIiwgImV4cG9ydHMiLCAiY29uY2F0XzEiLCAiYXJnc18xIiwgImxpZnRfMSIsICJzdGFydFdpdGgiLCAidmFsdWVzIiwgIl9pIiwgInNjaGVkdWxlciIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJleHBvcnRzIiwgImlubmVyRnJvbV8xIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJzd2l0Y2hNYXAiLCAicHJvamVjdCIsICJyZXN1bHRTZWxlY3RvciIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJpbm5lclN1YnNjcmliZXIiLCAiaW5kZXgiLCAiaXNDb21wbGV0ZSIsICJjaGVja0NvbXBsZXRlIiwgInZhbHVlIiwgImlubmVySW5kZXgiLCAib3V0ZXJJbmRleCIsICJpbm5lclZhbHVlIiwgImV4cG9ydHMiLCAic3dpdGNoTWFwXzEiLCAiaWRlbnRpdHlfMSIsICJzd2l0Y2hBbGwiLCAiZXhwb3J0cyIsICJzd2l0Y2hNYXBfMSIsICJpc0Z1bmN0aW9uXzEiLCAic3dpdGNoTWFwVG8iLCAiaW5uZXJPYnNlcnZhYmxlIiwgInJlc3VsdFNlbGVjdG9yIiwgImV4cG9ydHMiLCAic3dpdGNoTWFwXzEiLCAibGlmdF8xIiwgInN3aXRjaFNjYW4iLCAiYWNjdW11bGF0b3IiLCAic2VlZCIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJzdGF0ZSIsICJ2YWx1ZSIsICJpbmRleCIsICJfIiwgImlubmVyVmFsdWUiLCAiZXhwb3J0cyIsICJsaWZ0XzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAiaW5uZXJGcm9tXzEiLCAibm9vcF8xIiwgInRha2VVbnRpbCIsICJub3RpZmllciIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJleHBvcnRzIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJ0YWtlV2hpbGUiLCAicHJlZGljYXRlIiwgImluY2x1c2l2ZSIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJpbmRleCIsICJ2YWx1ZSIsICJyZXN1bHQiLCAiZXhwb3J0cyIsICJpc0Z1bmN0aW9uXzEiLCAibGlmdF8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgImlkZW50aXR5XzEiLCAidGFwIiwgIm9ic2VydmVyT3JOZXh0IiwgImVycm9yIiwgImNvbXBsZXRlIiwgInRhcE9ic2VydmVyIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgIl9hIiwgImlzVW5zdWIiLCAidmFsdWUiLCAiZXJyIiwgIl9iIiwgImV4cG9ydHMiLCAibGlmdF8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgImlubmVyRnJvbV8xIiwgInRocm90dGxlIiwgImR1cmF0aW9uU2VsZWN0b3IiLCAiY29uZmlnIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgIl9hIiwgIl9iIiwgImxlYWRpbmciLCAiX2MiLCAidHJhaWxpbmciLCAiaGFzVmFsdWUiLCAic2VuZFZhbHVlIiwgInRocm90dGxlZCIsICJpc0NvbXBsZXRlIiwgImVuZFRocm90dGxpbmciLCAic2VuZCIsICJjbGVhbnVwVGhyb3R0bGluZyIsICJzdGFydFRocm90dGxlIiwgInZhbHVlIiwgImV4cG9ydHMiLCAiYXN5bmNfMSIsICJ0aHJvdHRsZV8xIiwgInRpbWVyXzEiLCAidGhyb3R0bGVUaW1lIiwgImR1cmF0aW9uIiwgInNjaGVkdWxlciIsICJjb25maWciLCAiZHVyYXRpb24kIiwgImV4cG9ydHMiLCAiYXN5bmNfMSIsICJsaWZ0XzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAidGltZUludGVydmFsIiwgInNjaGVkdWxlciIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJsYXN0IiwgInZhbHVlIiwgIm5vdyIsICJpbnRlcnZhbCIsICJUaW1lSW50ZXJ2YWwiLCAiZXhwb3J0cyIsICJhc3luY18xIiwgImlzRGF0ZV8xIiwgInRpbWVvdXRfMSIsICJ0aW1lb3V0V2l0aCIsICJkdWUiLCAid2l0aE9ic2VydmFibGUiLCAic2NoZWR1bGVyIiwgImZpcnN0IiwgImVhY2giLCAiX3dpdGgiLCAiZXhwb3J0cyIsICJkYXRlVGltZXN0YW1wUHJvdmlkZXJfMSIsICJtYXBfMSIsICJ0aW1lc3RhbXAiLCAidGltZXN0YW1wUHJvdmlkZXIiLCAidmFsdWUiLCAiZXhwb3J0cyIsICJTdWJqZWN0XzEiLCAibGlmdF8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgIm5vb3BfMSIsICJpbm5lckZyb21fMSIsICJ3aW5kb3ciLCAid2luZG93Qm91bmRhcmllcyIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJ3aW5kb3dTdWJqZWN0IiwgImVycm9ySGFuZGxlciIsICJlcnIiLCAidmFsdWUiLCAiZXhwb3J0cyIsICJTdWJqZWN0XzEiLCAibGlmdF8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgIndpbmRvd0NvdW50IiwgIndpbmRvd1NpemUiLCAic3RhcnRXaW5kb3dFdmVyeSIsICJzdGFydEV2ZXJ5IiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgIndpbmRvd3MiLCAic3RhcnRzIiwgImNvdW50IiwgInZhbHVlIiwgIndpbmRvd3NfMSIsICJfX3ZhbHVlcyIsICJ3aW5kb3dzXzFfMSIsICJ3aW5kb3dfMSIsICJjIiwgIndpbmRvd18yIiwgImVyciIsICJleHBvcnRzIiwgIlN1YmplY3RfMSIsICJhc3luY18xIiwgIlN1YnNjcmlwdGlvbl8xIiwgImxpZnRfMSIsICJPcGVyYXRvclN1YnNjcmliZXJfMSIsICJhcnJSZW1vdmVfMSIsICJhcmdzXzEiLCAiZXhlY3V0ZVNjaGVkdWxlXzEiLCAid2luZG93VGltZSIsICJ3aW5kb3dUaW1lU3BhbiIsICJvdGhlckFyZ3MiLCAiX2kiLCAic2NoZWR1bGVyIiwgIl9hIiwgIndpbmRvd0NyZWF0aW9uSW50ZXJ2YWwiLCAiX2IiLCAibWF4V2luZG93U2l6ZSIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJ3aW5kb3dSZWNvcmRzIiwgInJlc3RhcnRPbkNsb3NlIiwgImNsb3NlV2luZG93IiwgInJlY29yZCIsICJ3aW5kb3ciLCAic3VicyIsICJzdGFydFdpbmRvdyIsICJ3aW5kb3dfMSIsICJyZWNvcmRfMSIsICJsb29wIiwgImNiIiwgInRlcm1pbmF0ZSIsICJ2YWx1ZSIsICJjb25zdW1lciIsICJlcnIiLCAiZXhwb3J0cyIsICJTdWJqZWN0XzEiLCAiU3Vic2NyaXB0aW9uXzEiLCAibGlmdF8xIiwgImlubmVyRnJvbV8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgIm5vb3BfMSIsICJhcnJSZW1vdmVfMSIsICJ3aW5kb3dUb2dnbGUiLCAib3BlbmluZ3MiLCAiY2xvc2luZ1NlbGVjdG9yIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgIndpbmRvd3MiLCAiaGFuZGxlRXJyb3IiLCAiZXJyIiwgIm9wZW5WYWx1ZSIsICJ3aW5kb3ciLCAiY2xvc2luZ1N1YnNjcmlwdGlvbiIsICJjbG9zZVdpbmRvdyIsICJjbG9zaW5nTm90aWZpZXIiLCAidmFsdWUiLCAid2luZG93c0NvcHkiLCAid2luZG93c0NvcHlfMSIsICJfX3ZhbHVlcyIsICJ3aW5kb3dzQ29weV8xXzEiLCAid2luZG93XzEiLCAiZXhwb3J0cyIsICJTdWJqZWN0XzEiLCAibGlmdF8xIiwgIk9wZXJhdG9yU3Vic2NyaWJlcl8xIiwgImlubmVyRnJvbV8xIiwgIndpbmRvd1doZW4iLCAiY2xvc2luZ1NlbGVjdG9yIiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgIndpbmRvdyIsICJjbG9zaW5nU3Vic2NyaWJlciIsICJoYW5kbGVFcnJvciIsICJlcnIiLCAib3BlbldpbmRvdyIsICJjbG9zaW5nTm90aWZpZXIiLCAidmFsdWUiLCAiZXhwb3J0cyIsICJsaWZ0XzEiLCAiT3BlcmF0b3JTdWJzY3JpYmVyXzEiLCAiaW5uZXJGcm9tXzEiLCAiaWRlbnRpdHlfMSIsICJub29wXzEiLCAiYXJnc18xIiwgIndpdGhMYXRlc3RGcm9tIiwgImlucHV0cyIsICJfaSIsICJwcm9qZWN0IiwgInNvdXJjZSIsICJzdWJzY3JpYmVyIiwgImxlbiIsICJvdGhlclZhbHVlcyIsICJoYXNWYWx1ZSIsICJyZWFkeSIsICJpIiwgInZhbHVlIiwgInZhbHVlcyIsICJfX3NwcmVhZEFycmF5IiwgIl9fcmVhZCIsICJleHBvcnRzIiwgInppcF8xIiwgImpvaW5BbGxJbnRlcm5hbHNfMSIsICJ6aXBBbGwiLCAicHJvamVjdCIsICJleHBvcnRzIiwgInppcF8xIiwgImxpZnRfMSIsICJ6aXAiLCAic291cmNlcyIsICJfaSIsICJzb3VyY2UiLCAic3Vic2NyaWJlciIsICJfX3NwcmVhZEFycmF5IiwgIl9fcmVhZCIsICJleHBvcnRzIiwgInppcF8xIiwgInppcFdpdGgiLCAib3RoZXJJbnB1dHMiLCAiX2kiLCAiX19zcHJlYWRBcnJheSIsICJfX3JlYWQiLCAiZXhwb3J0cyIsICJPYnNlcnZhYmxlXzEiLCAiZXhwb3J0cyIsICJDb25uZWN0YWJsZU9ic2VydmFibGVfMSIsICJvYnNlcnZhYmxlXzEiLCAiYW5pbWF0aW9uRnJhbWVzXzEiLCAiU3ViamVjdF8xIiwgIkJlaGF2aW9yU3ViamVjdF8xIiwgIlJlcGxheVN1YmplY3RfMSIsICJBc3luY1N1YmplY3RfMSIsICJhc2FwXzEiLCAiYXN5bmNfMSIsICJxdWV1ZV8xIiwgImFuaW1hdGlvbkZyYW1lXzEiLCAiVmlydHVhbFRpbWVTY2hlZHVsZXJfMSIsICJTY2hlZHVsZXJfMSIsICJTdWJzY3JpcHRpb25fMSIsICJTdWJzY3JpYmVyXzEiLCAiTm90aWZpY2F0aW9uXzEiLCAicGlwZV8xIiwgIm5vb3BfMSIsICJpZGVudGl0eV8xIiwgImlzT2JzZXJ2YWJsZV8xIiwgImxhc3RWYWx1ZUZyb21fMSIsICJmaXJzdFZhbHVlRnJvbV8xIiwgIkFyZ3VtZW50T3V0T2ZSYW5nZUVycm9yXzEiLCAiRW1wdHlFcnJvcl8xIiwgIk5vdEZvdW5kRXJyb3JfMSIsICJPYmplY3RVbnN1YnNjcmliZWRFcnJvcl8xIiwgIlNlcXVlbmNlRXJyb3JfMSIsICJ0aW1lb3V0XzEiLCAiVW5zdWJzY3JpcHRpb25FcnJvcl8xIiwgImJpbmRDYWxsYmFja18xIiwgImJpbmROb2RlQ2FsbGJhY2tfMSIsICJjb21iaW5lTGF0ZXN0XzEiLCAiY29uY2F0XzEiLCAiY29ubmVjdGFibGVfMSIsICJkZWZlcl8xIiwgImVtcHR5XzEiLCAiZm9ya0pvaW5fMSIsICJmcm9tXzEiLCAiZnJvbUV2ZW50XzEiLCAiZnJvbUV2ZW50UGF0dGVybl8xIiwgImdlbmVyYXRlXzEiLCAiaWlmXzEiLCAiaW50ZXJ2YWxfMSIsICJtZXJnZV8xIiwgIm5ldmVyXzEiLCAib2ZfMSIsICJvbkVycm9yUmVzdW1lTmV4dF8xIiwgInBhaXJzXzEiLCAicGFydGl0aW9uXzEiLCAicmFjZV8xIiwgInJhbmdlXzEiLCAidGhyb3dFcnJvcl8xIiwgInRpbWVyXzEiLCAidXNpbmdfMSIsICJ6aXBfMSIsICJzY2hlZHVsZWRfMSIsICJlbXB0eV8yIiwgIm5ldmVyXzIiLCAiX19leHBvcnRTdGFyIiwgImNvbmZpZ18xIiwgImF1ZGl0XzEiLCAiYXVkaXRUaW1lXzEiLCAiYnVmZmVyXzEiLCAiYnVmZmVyQ291bnRfMSIsICJidWZmZXJUaW1lXzEiLCAiYnVmZmVyVG9nZ2xlXzEiLCAiYnVmZmVyV2hlbl8xIiwgImNhdGNoRXJyb3JfMSIsICJjb21iaW5lQWxsXzEiLCAiY29tYmluZUxhdGVzdEFsbF8xIiwgImNvbWJpbmVMYXRlc3RXaXRoXzEiLCAiY29uY2F0QWxsXzEiLCAiY29uY2F0TWFwXzEiLCAiY29uY2F0TWFwVG9fMSIsICJjb25jYXRXaXRoXzEiLCAiY29ubmVjdF8xIiwgImNvdW50XzEiLCAiZGVib3VuY2VfMSIsICJkZWJvdW5jZVRpbWVfMSIsICJkZWZhdWx0SWZFbXB0eV8xIiwgImRlbGF5XzEiLCAiZGVsYXlXaGVuXzEiLCAiZGVtYXRlcmlhbGl6ZV8xIiwgImRpc3RpbmN0XzEiLCAiZGlzdGluY3RVbnRpbENoYW5nZWRfMSIsICJkaXN0aW5jdFVudGlsS2V5Q2hhbmdlZF8xIiwgImVsZW1lbnRBdF8xIiwgImVuZFdpdGhfMSIsICJldmVyeV8xIiwgImV4aGF1c3RfMSIsICJleGhhdXN0QWxsXzEiLCAiZXhoYXVzdE1hcF8xIiwgImV4cGFuZF8xIiwgImZpbHRlcl8xIiwgImZpbmFsaXplXzEiLCAiZmluZF8xIiwgImZpbmRJbmRleF8xIiwgImZpcnN0XzEiLCAiZ3JvdXBCeV8xIiwgImlnbm9yZUVsZW1lbnRzXzEiLCAiaXNFbXB0eV8xIiwgImxhc3RfMSIsICJtYXBfMSIsICJtYXBUb18xIiwgIm1hdGVyaWFsaXplXzEiLCAibWF4XzEiLCAibWVyZ2VBbGxfMSIsICJmbGF0TWFwXzEiLCAibWVyZ2VNYXBfMSIsICJtZXJnZU1hcFRvXzEiLCAibWVyZ2VTY2FuXzEiLCAibWVyZ2VXaXRoXzEiLCAibWluXzEiLCAibXVsdGljYXN0XzEiLCAib2JzZXJ2ZU9uXzEiLCAib25FcnJvclJlc3VtZU5leHRXaXRoXzEiLCAicGFpcndpc2VfMSIsICJwbHVja18xIiwgInB1Ymxpc2hfMSIsICJwdWJsaXNoQmVoYXZpb3JfMSIsICJwdWJsaXNoTGFzdF8xIiwgInB1Ymxpc2hSZXBsYXlfMSIsICJyYWNlV2l0aF8xIiwgInJlZHVjZV8xIiwgInJlcGVhdF8xIiwgInJlcGVhdFdoZW5fMSIsICJyZXRyeV8xIiwgInJldHJ5V2hlbl8xIiwgInJlZkNvdW50XzEiLCAic2FtcGxlXzEiLCAic2FtcGxlVGltZV8xIiwgInNjYW5fMSIsICJzZXF1ZW5jZUVxdWFsXzEiLCAic2hhcmVfMSIsICJzaGFyZVJlcGxheV8xIiwgInNpbmdsZV8xIiwgInNraXBfMSIsICJza2lwTGFzdF8xIiwgInNraXBVbnRpbF8xIiwgInNraXBXaGlsZV8xIiwgInN0YXJ0V2l0aF8xIiwgInN1YnNjcmliZU9uXzEiLCAic3dpdGNoQWxsXzEiLCAic3dpdGNoTWFwXzEiLCAic3dpdGNoTWFwVG9fMSIsICJzd2l0Y2hTY2FuXzEiLCAidGFrZV8xIiwgInRha2VMYXN0XzEiLCAidGFrZVVudGlsXzEiLCAidGFrZVdoaWxlXzEiLCAidGFwXzEiLCAidGhyb3R0bGVfMSIsICJ0aHJvdHRsZVRpbWVfMSIsICJ0aHJvd0lmRW1wdHlfMSIsICJ0aW1lSW50ZXJ2YWxfMSIsICJ0aW1lb3V0XzIiLCAidGltZW91dFdpdGhfMSIsICJ0aW1lc3RhbXBfMSIsICJ0b0FycmF5XzEiLCAid2luZG93XzEiLCAid2luZG93Q291bnRfMSIsICJ3aW5kb3dUaW1lXzEiLCAid2luZG93VG9nZ2xlXzEiLCAid2luZG93V2hlbl8xIiwgIndpdGhMYXRlc3RGcm9tXzEiLCAiemlwQWxsXzEiLCAiemlwV2l0aF8xIiwgInJlcXVpcmVfY2xpX3dpZHRoIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiY2xpV2lkdGgiLCAibm9ybWFsaXplT3B0cyIsICJvcHRpb25zIiwgImRlZmF1bHRPcHRzIiwgImtleSIsICJvcHRzIiwgIndpZHRoIiwgInJlcXVpcmVfYW5zaV9yZWdleCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIm9ubHlGaXJzdCIsICJwYXR0ZXJuIiwgInJlcXVpcmVfc3RyaXBfYW5zaSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImFuc2lSZWdleCIsICJzdHJpbmciLCAicmVxdWlyZV9pc19mdWxsd2lkdGhfY29kZV9wb2ludCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImlzRnVsbHdpZHRoQ29kZVBvaW50IiwgImNvZGVQb2ludCIsICJyZXF1aXJlX2Vtb2ppX3JlZ2V4IiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAicmVxdWlyZV9zdHJpbmdfd2lkdGgiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJzdHJpcEFuc2kiLCAiaXNGdWxsd2lkdGhDb2RlUG9pbnQiLCAiZW1vamlSZWdleCIsICJzdHJpbmdXaWR0aCIsICJzdHJpbmciLCAid2lkdGgiLCAiaSIsICJjb2RlIiwgInJlcXVpcmVfY29sb3JfbmFtZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInJlcXVpcmVfY29udmVyc2lvbnMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJjc3NLZXl3b3JkcyIsICJyZXZlcnNlS2V5d29yZHMiLCAia2V5IiwgImNvbnZlcnQiLCAibW9kZWwiLCAiY2hhbm5lbHMiLCAibGFiZWxzIiwgInJnYiIsICJyIiwgImciLCAiYiIsICJtaW4iLCAibWF4IiwgImRlbHRhIiwgImgiLCAicyIsICJsIiwgInJkaWYiLCAiZ2RpZiIsICJiZGlmIiwgInYiLCAiZGlmZiIsICJkaWZmYyIsICJjIiwgInciLCAiayIsICJtIiwgInkiLCAiY29tcGFyYXRpdmVEaXN0YW5jZSIsICJ4IiwgInJldmVyc2VkIiwgImN1cnJlbnRDbG9zZXN0RGlzdGFuY2UiLCAiY3VycmVudENsb3Nlc3RLZXl3b3JkIiwgImtleXdvcmQiLCAidmFsdWUiLCAiZGlzdGFuY2UiLCAieiIsICJ4eXoiLCAiYSIsICJoc2wiLCAidDIiLCAidDMiLCAidmFsIiwgInQxIiwgImkiLCAic21pbiIsICJsbWluIiwgInN2IiwgImhzdiIsICJoaSIsICJmIiwgInAiLCAicSIsICJ0IiwgInZtaW4iLCAic2wiLCAiaHdiIiwgIndoIiwgImJsIiwgInJhdGlvIiwgIm4iLCAiY215ayIsICJsYWIiLCAieTIiLCAieDIiLCAiejIiLCAibGNoIiwgImhyIiwgImFyZ3MiLCAic2F0dXJhdGlvbiIsICJhbnNpIiwgImNvbG9yIiwgIm11bHQiLCAicmVtIiwgInN0cmluZyIsICJtYXRjaCIsICJjb2xvclN0cmluZyIsICJjaGFyIiwgImludGVnZXIiLCAiY2hyb21hIiwgImdyYXlzY2FsZSIsICJodWUiLCAiaGNnIiwgInB1cmUiLCAibWciLCAiYXBwbGUiLCAiZ3JheSIsICJyZXF1aXJlX3JvdXRlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiY29udmVyc2lvbnMiLCAiYnVpbGRHcmFwaCIsICJncmFwaCIsICJtb2RlbHMiLCAibGVuIiwgImkiLCAiZGVyaXZlQkZTIiwgImZyb21Nb2RlbCIsICJxdWV1ZSIsICJjdXJyZW50IiwgImFkamFjZW50cyIsICJhZGphY2VudCIsICJub2RlIiwgImxpbmsiLCAiZnJvbSIsICJ0byIsICJhcmdzIiwgIndyYXBDb252ZXJzaW9uIiwgInRvTW9kZWwiLCAicGF0aCIsICJmbiIsICJjdXIiLCAiY29udmVyc2lvbiIsICJyZXF1aXJlX2NvbG9yX2NvbnZlcnQiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJjb252ZXJzaW9ucyIsICJyb3V0ZSIsICJjb252ZXJ0IiwgIm1vZGVscyIsICJ3cmFwUmF3IiwgImZuIiwgIndyYXBwZWRGbiIsICJhcmdzIiwgImFyZzAiLCAid3JhcFJvdW5kZWQiLCAicmVzdWx0IiwgImxlbiIsICJpIiwgImZyb21Nb2RlbCIsICJyb3V0ZXMiLCAidG9Nb2RlbCIsICJyZXF1aXJlX2Fuc2lfc3R5bGVzIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAid3JhcEFuc2kxNiIsICJmbiIsICJvZmZzZXQiLCAiYXJncyIsICJ3cmFwQW5zaTI1NiIsICJjb2RlIiwgIndyYXBBbnNpMTZtIiwgInJnYiIsICJhbnNpMmFuc2kiLCAibiIsICJyZ2IycmdiIiwgInIiLCAiZyIsICJiIiwgInNldExhenlQcm9wZXJ0eSIsICJvYmplY3QiLCAicHJvcGVydHkiLCAiZ2V0IiwgInZhbHVlIiwgImNvbG9yQ29udmVydCIsICJtYWtlRHluYW1pY1N0eWxlcyIsICJ3cmFwIiwgInRhcmdldFNwYWNlIiwgImlkZW50aXR5IiwgImlzQmFja2dyb3VuZCIsICJzdHlsZXMiLCAic291cmNlU3BhY2UiLCAic3VpdGUiLCAibmFtZSIsICJhc3NlbWJsZVN0eWxlcyIsICJjb2RlcyIsICJncm91cE5hbWUiLCAiZ3JvdXAiLCAic3R5bGVOYW1lIiwgInN0eWxlIiwgInJlcXVpcmVfd3JhcF9hbnNpIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAic3RyaW5nV2lkdGgiLCAic3RyaXBBbnNpIiwgImFuc2lTdHlsZXMiLCAiRVNDQVBFUyIsICJFTkRfQ09ERSIsICJ3cmFwQW5zaSIsICJjb2RlIiwgIndvcmRMZW5ndGhzIiwgInN0cmluZyIsICJjaGFyYWN0ZXIiLCAid3JhcFdvcmQiLCAicm93cyIsICJ3b3JkIiwgImNvbHVtbnMiLCAiY2hhcmFjdGVycyIsICJpc0luc2lkZUVzY2FwZSIsICJ2aXNpYmxlIiwgImluZGV4IiwgImNoYXJhY3Rlckxlbmd0aCIsICJzdHJpbmdWaXNpYmxlVHJpbVNwYWNlc1JpZ2h0IiwgInN0ciIsICJ3b3JkcyIsICJsYXN0IiwgImV4ZWMiLCAib3B0aW9ucyIsICJwcmUiLCAicmV0IiwgImVzY2FwZUNvZGUiLCAibGVuZ3RocyIsICJyb3dMZW5ndGgiLCAicmVtYWluaW5nQ29sdW1ucyIsICJicmVha3NTdGFydGluZ1RoaXNMaW5lIiwgImxpbmUiLCAicmVxdWlyZV91dGlsIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAic3RyaW5nUmVwbGFjZUFsbCIsICJzdHJpbmciLCAic3Vic3RyaW5nIiwgInJlcGxhY2VyIiwgImluZGV4IiwgInN1YnN0cmluZ0xlbmd0aCIsICJlbmRJbmRleCIsICJyZXR1cm5WYWx1ZSIsICJzdHJpbmdFbmNhc2VDUkxGV2l0aEZpcnN0SW5kZXgiLCAicHJlZml4IiwgInBvc3RmaXgiLCAiZ290Q1IiLCAicmVxdWlyZV90ZW1wbGF0ZXMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJURU1QTEFURV9SRUdFWCIsICJTVFlMRV9SRUdFWCIsICJTVFJJTkdfUkVHRVgiLCAiRVNDQVBFX1JFR0VYIiwgIkVTQ0FQRVMiLCAidW5lc2NhcGUiLCAiYyIsICJ1IiwgImJyYWNrZXQiLCAicGFyc2VBcmd1bWVudHMiLCAibmFtZSIsICJhcmd1bWVudHNfIiwgInJlc3VsdHMiLCAiY2h1bmtzIiwgIm1hdGNoZXMiLCAiY2h1bmsiLCAibnVtYmVyIiwgIm0iLCAiZXNjYXBlIiwgImNoYXJhY3RlciIsICJwYXJzZVN0eWxlIiwgInN0eWxlIiwgImFyZ3MiLCAiYnVpbGRTdHlsZSIsICJjaGFsayIsICJzdHlsZXMiLCAiZW5hYmxlZCIsICJsYXllciIsICJjdXJyZW50IiwgInN0eWxlTmFtZSIsICJ0ZW1wb3JhcnkiLCAiZXNjYXBlQ2hhcmFjdGVyIiwgImludmVyc2UiLCAiY2xvc2UiLCAic3RyaW5nIiwgImVyck1lc3NhZ2UiLCAicmVxdWlyZV9zb3VyY2UiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJhbnNpU3R5bGVzIiwgInN0ZG91dENvbG9yIiwgInN0ZGVyckNvbG9yIiwgInN0cmluZ1JlcGxhY2VBbGwiLCAic3RyaW5nRW5jYXNlQ1JMRldpdGhGaXJzdEluZGV4IiwgImlzQXJyYXkiLCAibGV2ZWxNYXBwaW5nIiwgInN0eWxlcyIsICJhcHBseU9wdGlvbnMiLCAib2JqZWN0IiwgIm9wdGlvbnMiLCAiY29sb3JMZXZlbCIsICJDaGFsa0NsYXNzIiwgImNoYWxrRmFjdG9yeSIsICJjaGFsayIsICJhcmd1bWVudHNfIiwgImNoYWxrVGFnIiwgIkNoYWxrIiwgInN0eWxlTmFtZSIsICJzdHlsZSIsICJidWlsZGVyIiwgImNyZWF0ZUJ1aWxkZXIiLCAiY3JlYXRlU3R5bGVyIiwgInVzZWRNb2RlbHMiLCAibW9kZWwiLCAibGV2ZWwiLCAic3R5bGVyIiwgImJnTW9kZWwiLCAicHJvdG8iLCAib3BlbiIsICJjbG9zZSIsICJwYXJlbnQiLCAib3BlbkFsbCIsICJjbG9zZUFsbCIsICJzZWxmIiwgIl9zdHlsZXIiLCAiX2lzRW1wdHkiLCAiYXBwbHlTdHlsZSIsICJzdHJpbmciLCAibGZJbmRleCIsICJ0ZW1wbGF0ZSIsICJzdHJpbmdzIiwgImZpcnN0U3RyaW5nIiwgInBhcnRzIiwgImkiLCAicmVxdWlyZV9taW1pY19mbiIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIm1pbWljRm4iLCAidG8iLCAiZnJvbSIsICJwcm9wIiwgInJlcXVpcmVfb25ldGltZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIm1pbWljRm4iLCAiY2FsbGVkRnVuY3Rpb25zIiwgIm9uZXRpbWUiLCAiZnVuY3Rpb25fIiwgIm9wdGlvbnMiLCAicmV0dXJuVmFsdWUiLCAiY2FsbENvdW50IiwgImZ1bmN0aW9uTmFtZSIsICJhcmd1bWVudHNfIiwgInJlcXVpcmVfc2lnbmFscyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInJlcXVpcmVfc2lnbmFsX2V4aXQiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJwcm9jZXNzIiwgInByb2Nlc3NPayIsICJhc3NlcnQiLCAic2lnbmFscyIsICJpc1dpbiIsICJFRSIsICJlbWl0dGVyIiwgImNiIiwgIm9wdHMiLCAibG9hZGVkIiwgImxvYWQiLCAiZXYiLCAicmVtb3ZlIiwgInVubG9hZCIsICJzaWciLCAic2lnTGlzdGVuZXJzIiwgIm9yaWdpbmFsUHJvY2Vzc0VtaXQiLCAib3JpZ2luYWxQcm9jZXNzUmVhbGx5RXhpdCIsICJlbWl0IiwgImV2ZW50IiwgImNvZGUiLCAic2lnbmFsIiwgImxpc3RlbmVycyIsICJwcm9jZXNzRW1pdCIsICJwcm9jZXNzUmVhbGx5RXhpdCIsICJhcmciLCAicmV0IiwgInJlcXVpcmVfcmVzdG9yZV9jdXJzb3IiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJvbmV0aW1lIiwgInNpZ25hbEV4aXQiLCAicmVxdWlyZV9jbGlfY3Vyc29yIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJyZXN0b3JlQ3Vyc29yIiwgImlzSGlkZGVuIiwgIndyaXRhYmxlU3RyZWFtIiwgImZvcmNlIiwgInJlcXVpcmVfc3Bpbm5lcnMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJyZXF1aXJlX2NsaV9zcGlubmVycyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInNwaW5uZXJzIiwgInNwaW5uZXJzTGlzdCIsICJyYW5kb21JbmRleCIsICJzcGlubmVyTmFtZSIsICJyZXF1aXJlX2lzX3VuaWNvZGVfc3VwcG9ydGVkIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAicmVxdWlyZV9sb2dfc3ltYm9scyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImNoYWxrIiwgImlzVW5pY29kZVN1cHBvcnRlZCIsICJtYWluIiwgImZhbGxiYWNrIiwgInJlcXVpcmVfY2xvbmUiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJjbG9uZSIsICJwYXJlbnQiLCAiY2lyY3VsYXIiLCAiZGVwdGgiLCAicHJvdG90eXBlIiwgImZpbHRlciIsICJhbGxQYXJlbnRzIiwgImFsbENoaWxkcmVuIiwgInVzZUJ1ZmZlciIsICJfY2xvbmUiLCAiY2hpbGQiLCAicHJvdG8iLCAiX19nZXRSZWdFeHBGbGFncyIsICJpbmRleCIsICJpIiwgImF0dHJzIiwgIl9fb2JqVG9TdHIiLCAibyIsICJfX2lzRGF0ZSIsICJfX2lzQXJyYXkiLCAiX19pc1JlZ0V4cCIsICJyZSIsICJmbGFncyIsICJyZXF1aXJlX2RlZmF1bHRzIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiY2xvbmUiLCAib3B0aW9ucyIsICJkZWZhdWx0cyIsICJrZXkiLCAicmVxdWlyZV9jb21iaW5pbmciLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJyZXF1aXJlX3djd2lkdGgiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJkZWZhdWx0cyIsICJjb21iaW5pbmciLCAiREVGQVVMVFMiLCAic3RyIiwgIndjc3dpZHRoIiwgIm9wdHMiLCAid2N3aWR0aCIsICJzIiwgImkiLCAibiIsICJ1Y3MiLCAiYmlzZWFyY2giLCAibWluIiwgIm1heCIsICJtaWQiLCAicmVxdWlyZV9pc19pbnRlcmFjdGl2ZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInN0cmVhbSIsICJyZXF1aXJlX3N0cmVhbSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInJlcXVpcmVfYnVmZmVyX2xpc3QiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJvd25LZXlzIiwgIm9iamVjdCIsICJlbnVtZXJhYmxlT25seSIsICJrZXlzIiwgInN5bWJvbHMiLCAic3ltIiwgIl9vYmplY3RTcHJlYWQiLCAidGFyZ2V0IiwgImkiLCAic291cmNlIiwgImtleSIsICJfZGVmaW5lUHJvcGVydHkiLCAib2JqIiwgInZhbHVlIiwgIl90b1Byb3BlcnR5S2V5IiwgIl9jbGFzc0NhbGxDaGVjayIsICJpbnN0YW5jZSIsICJDb25zdHJ1Y3RvciIsICJfZGVmaW5lUHJvcGVydGllcyIsICJwcm9wcyIsICJkZXNjcmlwdG9yIiwgIl9jcmVhdGVDbGFzcyIsICJwcm90b1Byb3BzIiwgInN0YXRpY1Byb3BzIiwgImFyZyIsICJfdG9QcmltaXRpdmUiLCAiaW5wdXQiLCAiaGludCIsICJwcmltIiwgInJlcyIsICJfcmVxdWlyZSIsICJCdWZmZXIiLCAiX3JlcXVpcmUyIiwgImluc3BlY3QiLCAiY3VzdG9tIiwgImNvcHlCdWZmZXIiLCAic3JjIiwgIm9mZnNldCIsICJCdWZmZXJMaXN0IiwgInYiLCAiZW50cnkiLCAicmV0IiwgInMiLCAicCIsICJuIiwgImhhc1N0cmluZ3MiLCAiYyIsICJzdHIiLCAibmIiLCAiYnVmIiwgIl8iLCAib3B0aW9ucyIsICJyZXF1aXJlX2Rlc3Ryb3kiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJkZXN0cm95IiwgImVyciIsICJjYiIsICJfdGhpcyIsICJyZWFkYWJsZURlc3Ryb3llZCIsICJ3cml0YWJsZURlc3Ryb3llZCIsICJlbWl0RXJyb3JOVCIsICJlbWl0Q2xvc2VOVCIsICJlbWl0RXJyb3JBbmRDbG9zZU5UIiwgInNlbGYiLCAidW5kZXN0cm95IiwgImVycm9yT3JEZXN0cm95IiwgInN0cmVhbSIsICJyU3RhdGUiLCAid1N0YXRlIiwgInJlcXVpcmVfZXJyb3JzIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiY29kZXMiLCAiY3JlYXRlRXJyb3JUeXBlIiwgImNvZGUiLCAibWVzc2FnZSIsICJCYXNlIiwgImdldE1lc3NhZ2UiLCAiYXJnMSIsICJhcmcyIiwgImFyZzMiLCAiTm9kZUVycm9yIiwgIm9uZU9mIiwgImV4cGVjdGVkIiwgInRoaW5nIiwgImxlbiIsICJpIiwgInN0YXJ0c1dpdGgiLCAic3RyIiwgInNlYXJjaCIsICJwb3MiLCAiZW5kc1dpdGgiLCAidGhpc19sZW4iLCAiaW5jbHVkZXMiLCAic3RhcnQiLCAibmFtZSIsICJ2YWx1ZSIsICJhY3R1YWwiLCAiZGV0ZXJtaW5lciIsICJtc2ciLCAidHlwZSIsICJhcmciLCAicmVxdWlyZV9zdGF0ZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIkVSUl9JTlZBTElEX09QVF9WQUxVRSIsICJoaWdoV2F0ZXJNYXJrRnJvbSIsICJvcHRpb25zIiwgImlzRHVwbGV4IiwgImR1cGxleEtleSIsICJnZXRIaWdoV2F0ZXJNYXJrIiwgInN0YXRlIiwgImh3bSIsICJuYW1lIiwgInJlcXVpcmVfaW5oZXJpdHNfYnJvd3NlciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImN0b3IiLCAic3VwZXJDdG9yIiwgIlRlbXBDdG9yIiwgInJlcXVpcmVfaW5oZXJpdHMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJ1dGlsIiwgInJlcXVpcmVfbm9kZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInJlcXVpcmVfc3RyZWFtX3dyaXRhYmxlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiV3JpdGFibGUiLCAiQ29ya2VkUmVxdWVzdCIsICJzdGF0ZSIsICJfdGhpcyIsICJvbkNvcmtlZEZpbmlzaCIsICJEdXBsZXgiLCAiV3JpdGFibGVTdGF0ZSIsICJpbnRlcm5hbFV0aWwiLCAiU3RyZWFtIiwgIkJ1ZmZlciIsICJPdXJVaW50OEFycmF5IiwgIl91aW50OEFycmF5VG9CdWZmZXIiLCAiY2h1bmsiLCAiX2lzVWludDhBcnJheSIsICJvYmoiLCAiZGVzdHJveUltcGwiLCAiX3JlcXVpcmUiLCAiZ2V0SGlnaFdhdGVyTWFyayIsICJfcmVxdWlyZSRjb2RlcyIsICJFUlJfSU5WQUxJRF9BUkdfVFlQRSIsICJFUlJfTUVUSE9EX05PVF9JTVBMRU1FTlRFRCIsICJFUlJfTVVMVElQTEVfQ0FMTEJBQ0siLCAiRVJSX1NUUkVBTV9DQU5OT1RfUElQRSIsICJFUlJfU1RSRUFNX0RFU1RST1lFRCIsICJFUlJfU1RSRUFNX05VTExfVkFMVUVTIiwgIkVSUl9TVFJFQU1fV1JJVEVfQUZURVJfRU5EIiwgIkVSUl9VTktOT1dOX0VOQ09ESU5HIiwgImVycm9yT3JEZXN0cm95IiwgIm5vcCIsICJvcHRpb25zIiwgInN0cmVhbSIsICJpc0R1cGxleCIsICJub0RlY29kZSIsICJlciIsICJvbndyaXRlIiwgImN1cnJlbnQiLCAib3V0IiwgInJlYWxIYXNJbnN0YW5jZSIsICJvYmplY3QiLCAid3JpdGVBZnRlckVuZCIsICJjYiIsICJ2YWxpZENodW5rIiwgImVuY29kaW5nIiwgInJldCIsICJpc0J1ZiIsICJ3cml0ZU9yQnVmZmVyIiwgImNsZWFyQnVmZmVyIiwgImRlY29kZUNodW5rIiwgIm5ld0NodW5rIiwgImxlbiIsICJsYXN0IiwgImRvV3JpdGUiLCAid3JpdGV2IiwgIm9ud3JpdGVFcnJvciIsICJzeW5jIiwgImZpbmlzaE1heWJlIiwgIm9ud3JpdGVTdGF0ZVVwZGF0ZSIsICJmaW5pc2hlZCIsICJuZWVkRmluaXNoIiwgImFmdGVyV3JpdGUiLCAib253cml0ZURyYWluIiwgImVudHJ5IiwgImwiLCAiYnVmZmVyIiwgImhvbGRlciIsICJjb3VudCIsICJhbGxCdWZmZXJzIiwgImVuZFdyaXRhYmxlIiwgImNhbGxGaW5hbCIsICJlcnIiLCAicHJlZmluaXNoIiwgIm5lZWQiLCAiclN0YXRlIiwgImNvcmtSZXEiLCAidmFsdWUiLCAicmVxdWlyZV9zdHJlYW1fZHVwbGV4IiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAib2JqZWN0S2V5cyIsICJvYmoiLCAia2V5cyIsICJrZXkiLCAiRHVwbGV4IiwgIlJlYWRhYmxlIiwgIldyaXRhYmxlIiwgInYiLCAibWV0aG9kIiwgIm9wdGlvbnMiLCAib25lbmQiLCAib25FbmROVCIsICJzZWxmIiwgInZhbHVlIiwgInJlcXVpcmVfc2FmZV9idWZmZXIiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJidWZmZXIiLCAiQnVmZmVyIiwgImNvcHlQcm9wcyIsICJzcmMiLCAiZHN0IiwgImtleSIsICJTYWZlQnVmZmVyIiwgImFyZyIsICJlbmNvZGluZ09yT2Zmc2V0IiwgImxlbmd0aCIsICJzaXplIiwgImZpbGwiLCAiZW5jb2RpbmciLCAiYnVmIiwgInJlcXVpcmVfc3RyaW5nX2RlY29kZXIiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIkJ1ZmZlciIsICJpc0VuY29kaW5nIiwgImVuY29kaW5nIiwgIl9ub3JtYWxpemVFbmNvZGluZyIsICJlbmMiLCAicmV0cmllZCIsICJub3JtYWxpemVFbmNvZGluZyIsICJuZW5jIiwgIlN0cmluZ0RlY29kZXIiLCAibmIiLCAidXRmMTZUZXh0IiwgInV0ZjE2RW5kIiwgInV0ZjhGaWxsTGFzdCIsICJiYXNlNjRUZXh0IiwgImJhc2U2NEVuZCIsICJzaW1wbGVXcml0ZSIsICJzaW1wbGVFbmQiLCAiYnVmIiwgInIiLCAiaSIsICJ1dGY4RW5kIiwgInV0ZjhUZXh0IiwgInV0ZjhDaGVja0J5dGUiLCAiYnl0ZSIsICJ1dGY4Q2hlY2tJbmNvbXBsZXRlIiwgInNlbGYiLCAiaiIsICJ1dGY4Q2hlY2tFeHRyYUJ5dGVzIiwgInAiLCAidG90YWwiLCAiZW5kIiwgImMiLCAibiIsICJyZXF1aXJlX2VuZF9vZl9zdHJlYW0iLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJFUlJfU1RSRUFNX1BSRU1BVFVSRV9DTE9TRSIsICJvbmNlIiwgImNhbGxiYWNrIiwgImNhbGxlZCIsICJfbGVuIiwgImFyZ3MiLCAiX2tleSIsICJub29wIiwgImlzUmVxdWVzdCIsICJzdHJlYW0iLCAiZW9zIiwgIm9wdHMiLCAicmVhZGFibGUiLCAid3JpdGFibGUiLCAib25sZWdhY3lmaW5pc2giLCAib25maW5pc2giLCAid3JpdGFibGVFbmRlZCIsICJyZWFkYWJsZUVuZGVkIiwgIm9uZW5kIiwgIm9uZXJyb3IiLCAiZXJyIiwgIm9uY2xvc2UiLCAib25yZXF1ZXN0IiwgInJlcXVpcmVfYXN5bmNfaXRlcmF0b3IiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJfT2JqZWN0JHNldFByb3RvdHlwZU8iLCAiX2RlZmluZVByb3BlcnR5IiwgIm9iaiIsICJrZXkiLCAidmFsdWUiLCAiX3RvUHJvcGVydHlLZXkiLCAiYXJnIiwgIl90b1ByaW1pdGl2ZSIsICJpbnB1dCIsICJoaW50IiwgInByaW0iLCAicmVzIiwgImZpbmlzaGVkIiwgImtMYXN0UmVzb2x2ZSIsICJrTGFzdFJlamVjdCIsICJrRXJyb3IiLCAia0VuZGVkIiwgImtMYXN0UHJvbWlzZSIsICJrSGFuZGxlUHJvbWlzZSIsICJrU3RyZWFtIiwgImNyZWF0ZUl0ZXJSZXN1bHQiLCAiZG9uZSIsICJyZWFkQW5kUmVzb2x2ZSIsICJpdGVyIiwgInJlc29sdmUiLCAiZGF0YSIsICJvblJlYWRhYmxlIiwgIndyYXBGb3JOZXh0IiwgImxhc3RQcm9taXNlIiwgInJlamVjdCIsICJBc3luY0l0ZXJhdG9yUHJvdG90eXBlIiwgIlJlYWRhYmxlU3RyZWFtQXN5bmNJdGVyYXRvclByb3RvdHlwZSIsICJfdGhpcyIsICJlcnJvciIsICJwcm9taXNlIiwgIl90aGlzMiIsICJlcnIiLCAiY3JlYXRlUmVhZGFibGVTdHJlYW1Bc3luY0l0ZXJhdG9yIiwgInN0cmVhbSIsICJfT2JqZWN0JGNyZWF0ZSIsICJpdGVyYXRvciIsICJyZXF1aXJlX2Zyb20iLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJhc3luY0dlbmVyYXRvclN0ZXAiLCAiZ2VuIiwgInJlc29sdmUiLCAicmVqZWN0IiwgIl9uZXh0IiwgIl90aHJvdyIsICJrZXkiLCAiYXJnIiwgImluZm8iLCAidmFsdWUiLCAiZXJyb3IiLCAiX2FzeW5jVG9HZW5lcmF0b3IiLCAiZm4iLCAic2VsZiIsICJhcmdzIiwgImVyciIsICJvd25LZXlzIiwgIm9iamVjdCIsICJlbnVtZXJhYmxlT25seSIsICJrZXlzIiwgInN5bWJvbHMiLCAic3ltIiwgIl9vYmplY3RTcHJlYWQiLCAidGFyZ2V0IiwgImkiLCAic291cmNlIiwgIl9kZWZpbmVQcm9wZXJ0eSIsICJvYmoiLCAiX3RvUHJvcGVydHlLZXkiLCAiX3RvUHJpbWl0aXZlIiwgImlucHV0IiwgImhpbnQiLCAicHJpbSIsICJyZXMiLCAiRVJSX0lOVkFMSURfQVJHX1RZUEUiLCAiZnJvbSIsICJSZWFkYWJsZSIsICJpdGVyYWJsZSIsICJvcHRzIiwgIml0ZXJhdG9yIiwgInJlYWRhYmxlIiwgInJlYWRpbmciLCAibmV4dCIsICJfbmV4dDIiLCAiX3lpZWxkJGl0ZXJhdG9yJG5leHQiLCAiZG9uZSIsICJyZXF1aXJlX3N0cmVhbV9yZWFkYWJsZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIlJlYWRhYmxlIiwgIkR1cGxleCIsICJSZWFkYWJsZVN0YXRlIiwgIkVFIiwgIkVFbGlzdGVuZXJDb3VudCIsICJlbWl0dGVyIiwgInR5cGUiLCAiU3RyZWFtIiwgIkJ1ZmZlciIsICJPdXJVaW50OEFycmF5IiwgIl91aW50OEFycmF5VG9CdWZmZXIiLCAiY2h1bmsiLCAiX2lzVWludDhBcnJheSIsICJvYmoiLCAiZGVidWdVdGlsIiwgImRlYnVnIiwgIkJ1ZmZlckxpc3QiLCAiZGVzdHJveUltcGwiLCAiX3JlcXVpcmUiLCAiZ2V0SGlnaFdhdGVyTWFyayIsICJfcmVxdWlyZSRjb2RlcyIsICJFUlJfSU5WQUxJRF9BUkdfVFlQRSIsICJFUlJfU1RSRUFNX1BVU0hfQUZURVJfRU9GIiwgIkVSUl9NRVRIT0RfTk9UX0lNUExFTUVOVEVEIiwgIkVSUl9TVFJFQU1fVU5TSElGVF9BRlRFUl9FTkRfRVZFTlQiLCAiU3RyaW5nRGVjb2RlciIsICJjcmVhdGVSZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmF0b3IiLCAiZnJvbSIsICJlcnJvck9yRGVzdHJveSIsICJrUHJveHlFdmVudHMiLCAicHJlcGVuZExpc3RlbmVyIiwgImV2ZW50IiwgImZuIiwgIm9wdGlvbnMiLCAic3RyZWFtIiwgImlzRHVwbGV4IiwgInZhbHVlIiwgImVyciIsICJjYiIsICJlbmNvZGluZyIsICJzdGF0ZSIsICJza2lwQ2h1bmtDaGVjayIsICJyZWFkYWJsZUFkZENodW5rIiwgImFkZFRvRnJvbnQiLCAib25Fb2ZDaHVuayIsICJlciIsICJjaHVua0ludmFsaWQiLCAiYWRkQ2h1bmsiLCAibWF5YmVSZWFkTW9yZSIsICJlbWl0UmVhZGFibGUiLCAiZW5jIiwgImRlY29kZXIiLCAicCIsICJjb250ZW50IiwgIk1BWF9IV00iLCAiY29tcHV0ZU5ld0hpZ2hXYXRlck1hcmsiLCAibiIsICJob3dNdWNoVG9SZWFkIiwgIm5PcmlnIiwgImVuZFJlYWRhYmxlIiwgImRvUmVhZCIsICJyZXQiLCAiZnJvbUxpc3QiLCAiZW1pdFJlYWRhYmxlXyIsICJmbG93IiwgIm1heWJlUmVhZE1vcmVfIiwgImxlbiIsICJkZXN0IiwgInBpcGVPcHRzIiwgInNyYyIsICJkb0VuZCIsICJlbmRGbiIsICJvbmVuZCIsICJ1bnBpcGUiLCAib251bnBpcGUiLCAicmVhZGFibGUiLCAidW5waXBlSW5mbyIsICJjbGVhbnVwIiwgIm9uZHJhaW4iLCAicGlwZU9uRHJhaW4iLCAiY2xlYW5lZFVwIiwgIm9uY2xvc2UiLCAib25maW5pc2giLCAib25lcnJvciIsICJvbmRhdGEiLCAiaW5kZXhPZiIsICJkZXN0cyIsICJpIiwgImluZGV4IiwgImV2IiwgInJlcyIsICJuUmVhZGluZ05leHRUaWNrIiwgInVwZGF0ZVJlYWRhYmxlTGlzdGVuaW5nIiwgInNlbGYiLCAicmVzdW1lIiwgInJlc3VtZV8iLCAiX3RoaXMiLCAicGF1c2VkIiwgIm1ldGhvZCIsICJlbmRSZWFkYWJsZU5UIiwgIndTdGF0ZSIsICJpdGVyYWJsZSIsICJvcHRzIiwgInhzIiwgIngiLCAibCIsICJyZXF1aXJlX3N0cmVhbV90cmFuc2Zvcm0iLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJUcmFuc2Zvcm0iLCAiX3JlcXVpcmUkY29kZXMiLCAiRVJSX01FVEhPRF9OT1RfSU1QTEVNRU5URUQiLCAiRVJSX01VTFRJUExFX0NBTExCQUNLIiwgIkVSUl9UUkFOU0ZPUk1fQUxSRUFEWV9UUkFOU0ZPUk1JTkciLCAiRVJSX1RSQU5TRk9STV9XSVRIX0xFTkdUSF8wIiwgIkR1cGxleCIsICJhZnRlclRyYW5zZm9ybSIsICJlciIsICJkYXRhIiwgInRzIiwgImNiIiwgInJzIiwgIm9wdGlvbnMiLCAicHJlZmluaXNoIiwgIl90aGlzIiwgImRvbmUiLCAiY2h1bmsiLCAiZW5jb2RpbmciLCAibiIsICJlcnIiLCAiZXJyMiIsICJzdHJlYW0iLCAicmVxdWlyZV9zdHJlYW1fcGFzc3Rocm91Z2giLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJQYXNzVGhyb3VnaCIsICJUcmFuc2Zvcm0iLCAib3B0aW9ucyIsICJjaHVuayIsICJlbmNvZGluZyIsICJjYiIsICJyZXF1aXJlX3BpcGVsaW5lIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZW9zIiwgIm9uY2UiLCAiY2FsbGJhY2siLCAiY2FsbGVkIiwgIl9yZXF1aXJlJGNvZGVzIiwgIkVSUl9NSVNTSU5HX0FSR1MiLCAiRVJSX1NUUkVBTV9ERVNUUk9ZRUQiLCAibm9vcCIsICJlcnIiLCAiaXNSZXF1ZXN0IiwgInN0cmVhbSIsICJkZXN0cm95ZXIiLCAicmVhZGluZyIsICJ3cml0aW5nIiwgImNsb3NlZCIsICJkZXN0cm95ZWQiLCAiY2FsbCIsICJmbiIsICJwaXBlIiwgImZyb20iLCAidG8iLCAicG9wQ2FsbGJhY2siLCAic3RyZWFtcyIsICJwaXBlbGluZSIsICJfbGVuIiwgIl9rZXkiLCAiZXJyb3IiLCAiZGVzdHJveXMiLCAiaSIsICJyZXF1aXJlX3JlYWRhYmxlIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiU3RyZWFtIiwgInJlcXVpcmVfQnVmZmVyTGlzdCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIkJ1ZmZlciIsICJzeW1ib2wiLCAiQnVmZmVyTGlzdCIsICJidWYiLCAib2Zmc2V0IiwgInRvdCIsICJpIiwgIl90IiwgImJsT2Zmc2V0IiwgImJ1ZmZlcklkIiwgImluZGV4IiwgInN0YXJ0IiwgImVuZCIsICJkc3QiLCAiZHN0U3RhcnQiLCAic3JjU3RhcnQiLCAic3JjRW5kIiwgImNvcHkiLCAib2ZmIiwgImxlbiIsICJieXRlcyIsICJidWZvZmYiLCAibCIsICJzdGFydE9mZnNldCIsICJlbmRPZmZzZXQiLCAiYnVmZmVycyIsICJlbmNvZGluZyIsICJzZWFyY2giLCAiYmxJbmRleCIsICJidWZmT2Zmc2V0IiwgImJ1ZmYiLCAibmF0aXZlU2VhcmNoUmVzdWx0IiwgInJldk9mZnNldCIsICJzZWFyY2hPZmZzZXQiLCAibWV0aG9kcyIsICJtIiwgImJ5dGVMZW5ndGgiLCAiYiIsICJyZXF1aXJlX2JsIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiRHVwbGV4U3RyZWFtIiwgImluaGVyaXRzIiwgIkJ1ZmZlckxpc3QiLCAiQnVmZmVyTGlzdFN0cmVhbSIsICJjYWxsYmFjayIsICJwaXBlciIsICJlcnIiLCAic3JjIiwgImJ1ZiIsICJlbmNvZGluZyIsICJzaXplIiwgImNodW5rIiwgImNiIiwgImIiLCAicmVxdWlyZV9vcmEiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJyZWFkbGluZSIsICJjaGFsayIsICJjbGlDdXJzb3IiLCAiY2xpU3Bpbm5lcnMiLCAibG9nU3ltYm9scyIsICJzdHJpcEFuc2kiLCAid2N3aWR0aCIsICJpc0ludGVyYWN0aXZlIiwgImlzVW5pY29kZVN1cHBvcnRlZCIsICJCdWZmZXJMaXN0U3RyZWFtIiwgIlRFWFQiLCAiUFJFRklYX1RFWFQiLCAiQVNDSUlfRVRYX0NPREUiLCAiU3RkaW5EaXNjYXJkZXIiLCAic2VsZiIsICJldmVudCIsICJkYXRhIiwgImFyZ3MiLCAic3RkaW4iLCAic3RkaW5EaXNjYXJkZXIiLCAiT3JhIiwgIm9wdGlvbnMiLCAiaW5kZW50IiwgImludGVydmFsIiwgInNwaW5uZXIiLCAidmFsdWUiLCAicHJlZml4VGV4dCIsICJwb3N0Zml4IiwgImNvbHVtbnMiLCAiZnVsbFByZWZpeFRleHQiLCAibGluZSIsICJmcmFtZXMiLCAiZnJhbWUiLCAiZnVsbFRleHQiLCAiaSIsICJ0ZXh0IiwgIm9yYUZhY3RvcnkiLCAiYWN0aW9uIiwgInJlcXVpcmVfbWF0Y2giLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJkZXQiLCAicmVjIiwgImNvbmZpZGVuY2UiLCAibmFtZSIsICJsYW5nIiwgInJlcXVpcmVfdXRmOCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIk1hdGNoIiwgImRldCIsICJoYXNCT00iLCAibnVtVmFsaWQiLCAibnVtSW52YWxpZCIsICJpbnB1dCIsICJ0cmFpbEJ5dGVzIiwgImNvbmZpZGVuY2UiLCAiaSIsICJiIiwgInJlcXVpcmVfdW5pY29kZSIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInV0aWwiLCAiTWF0Y2giLCAiZGV0IiwgImlucHV0IiwgIlVURl8zMiIsICJsaW1pdCIsICJudW1WYWxpZCIsICJudW1JbnZhbGlkIiwgImhhc0JPTSIsICJjb25maWRlbmNlIiwgImkiLCAiY2giLCAiaW5kZXgiLCAicmVxdWlyZV9tYmNzIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAidXRpbCIsICJNYXRjaCIsICJiaW5hcnlTZWFyY2giLCAiYXJyIiwgInNlYXJjaFZhbHVlIiwgImZpbmQiLCAibGVmdCIsICJyaWdodCIsICJtaWQiLCAiSXRlcmF0ZWRDaGFyIiwgImRldCIsICJieXRlVmFsdWUiLCAibWJjcyIsICJzaW5nbGVCeXRlQ2hhckNvdW50IiwgImRvdWJsZUJ5dGVDaGFyQ291bnQiLCAiY29tbW9uQ2hhckNvdW50IiwgImJhZENoYXJDb3VudCIsICJ0b3RhbENoYXJDb3VudCIsICJjb25maWRlbmNlIiwgIml0ZXIiLCAiZGV0ZWN0QmxvY2siLCAiY3YiLCAibWF4VmFsIiwgInNjYWxlRmFjdG9yIiwgImZpcnN0Qnl0ZSIsICJzZWNvbmRCeXRlIiwgImV1Y05leHRDaGFyIiwgInRoaXJkQnl0ZSIsICJidWlsZENoYXIiLCAiZm91cnRoQnl0ZSIsICJyZXF1aXJlX3NiY3MiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJ1dGlsIiwgIk1hdGNoIiwgIk5HcmFtUGFyc2VyIiwgInRoZU5ncmFtTGlzdCIsICJ0aGVCeXRlTWFwIiwgIk5fR1JBTV9NQVNLIiwgInRhYmxlIiwgInZhbHVlIiwgImluZGV4IiwgInRoaXNOZ3JhbSIsICJiIiwgImRldCIsICJzcGFjZUNoIiwgImlnbm9yZVNwYWNlIiwgIm1iIiwgInJhd1BlcmNlbnQiLCAiTkdyYW1zUGx1c0xhbmciLCAibGEiLCAibmciLCAic2JjcyIsICJuZ3JhbXMiLCAibXVsdGlwbGUiLCAicGFyc2VyIiwgImNvbmZpZGVuY2UiLCAiYmVzdENvbmZpZGVuY2VTb0ZhciIsICJsYW5nIiwgImkiLCAibmdsIiwgIm5hbWUiLCAicmVxdWlyZV9pc28yMDIyIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAidXRpbCIsICJNYXRjaCIsICJJU09fMjAyMiIsICJkZXQiLCAiaSIsICJqIiwgImVzY04iLCAiaGl0cyIsICJtaXNzZXMiLCAic2hpZnRzIiwgInF1YWxpdHkiLCAidGV4dCIsICJ0ZXh0TGVuIiwgInNjYW5JbnB1dCIsICJjaGVja0VzY2FwZXMiLCAic2VxIiwgInJlcXVpcmVfY2hhcmRldCIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImZzIiwgInV0ZjgiLCAidW5pY29kZSIsICJtYmNzIiwgInNiY3MiLCAiaXNvMjAyMiIsICJzZWxmIiwgInJlY29nbmlzZXJzIiwgImJ1ZmZlciIsICJvcHRzIiwgImZCeXRlU3RhdHMiLCAiaSIsICJmQzFCeXRlcyIsICJjb250ZXh0IiwgIm1hdGNoZXMiLCAicmVjIiwgIm1hdGNoIiwgImEiLCAiYiIsICJmaWxlcGF0aCIsICJjYiIsICJmZCIsICJoYW5kbGVyIiwgImVyciIsICJzYW1wbGUiLCAicmVxdWlyZV9zYWZlciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgImJ1ZmZlciIsICJCdWZmZXIiLCAic2FmZXIiLCAia2V5IiwgIlNhZmVyIiwgInZhbHVlIiwgImVuY29kaW5nT3JPZmZzZXQiLCAibGVuZ3RoIiwgInNpemUiLCAiZmlsbCIsICJlbmNvZGluZyIsICJidWYiLCAicmVxdWlyZV9ib21faGFuZGxpbmciLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIkJPTUNoYXIiLCAiUHJlcGVuZEJPTVdyYXBwZXIiLCAiZW5jb2RlciIsICJvcHRpb25zIiwgInN0ciIsICJTdHJpcEJPTVdyYXBwZXIiLCAiZGVjb2RlciIsICJidWYiLCAicmVzIiwgInJlcXVpcmVfaW50ZXJuYWwiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJCdWZmZXIiLCAiSW50ZXJuYWxDb2RlYyIsICJjb2RlY09wdGlvbnMiLCAiaWNvbnYiLCAiSW50ZXJuYWxFbmNvZGVyQmFzZTY0IiwgIkludGVybmFsRW5jb2RlckNlc3U4IiwgIkludGVybmFsRGVjb2RlckNlc3U4IiwgIkludGVybmFsRW5jb2RlciIsICJJbnRlcm5hbERlY29kZXIiLCAiU3RyaW5nRGVjb2RlciIsICJvcHRpb25zIiwgImNvZGVjIiwgInN0ciIsICJjb21wbGV0ZVF1YWRzIiwgImJ1ZiIsICJidWZJZHgiLCAiaSIsICJjaGFyQ29kZSIsICJhY2MiLCAiY29udEJ5dGVzIiwgImFjY0J5dGVzIiwgInJlcyIsICJjdXJCeXRlIiwgInJlcXVpcmVfdXRmMTYiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIkJ1ZmZlciIsICJVdGYxNkJFQ29kZWMiLCAiVXRmMTZCRUVuY29kZXIiLCAiVXRmMTZCRURlY29kZXIiLCAic3RyIiwgImJ1ZiIsICJpIiwgInRtcCIsICJidWYyIiwgImoiLCAiVXRmMTZDb2RlYyIsICJjb2RlY09wdGlvbnMiLCAiaWNvbnYiLCAiVXRmMTZFbmNvZGVyIiwgIlV0ZjE2RGVjb2RlciIsICJvcHRpb25zIiwgImNvZGVjIiwgImVuY29kaW5nIiwgImRldGVjdEVuY29kaW5nIiwgInJlcyIsICJ0cmFpbCIsICJkZWZhdWx0RW5jb2RpbmciLCAiZW5jIiwgImFzY2lpQ2hhcnNMRSIsICJhc2NpaUNoYXJzQkUiLCAiX2xlbiIsICJyZXF1aXJlX3V0ZjciLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIkJ1ZmZlciIsICJVdGY3Q29kZWMiLCAiY29kZWNPcHRpb25zIiwgImljb252IiwgIlV0ZjdFbmNvZGVyIiwgIlV0ZjdEZWNvZGVyIiwgIm5vbkRpcmVjdENoYXJzIiwgIm9wdGlvbnMiLCAiY29kZWMiLCAic3RyIiwgImNodW5rIiwgImJhc2U2NFJlZ2V4IiwgImJhc2U2NENoYXJzIiwgImkiLCAicGx1c0NoYXIiLCAibWludXNDaGFyIiwgImFuZENoYXIiLCAiYnVmIiwgInJlcyIsICJsYXN0SSIsICJpbkJhc2U2NCIsICJiYXNlNjRBY2N1bSIsICJiNjRzdHIiLCAiY2FuQmVEZWNvZGVkIiwgIlV0ZjdJTUFQQ29kZWMiLCAiVXRmN0lNQVBFbmNvZGVyIiwgIlV0ZjdJTUFQRGVjb2RlciIsICJiYXNlNjRBY2N1bUlkeCIsICJidWZJZHgiLCAidUNoYXIiLCAiYmFzZTY0SU1BUENoYXJzIiwgInJlcXVpcmVfc2Jjc19jb2RlYyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiQnVmZmVyIiwgIlNCQ1NDb2RlYyIsICJjb2RlY09wdGlvbnMiLCAiaWNvbnYiLCAiYXNjaWlTdHJpbmciLCAiaSIsICJlbmNvZGVCdWYiLCAiU0JDU0VuY29kZXIiLCAiU0JDU0RlY29kZXIiLCAib3B0aW9ucyIsICJjb2RlYyIsICJzdHIiLCAiYnVmIiwgImRlY29kZUJ1ZiIsICJuZXdCdWYiLCAiaWR4MSIsICJpZHgyIiwgInJlcXVpcmVfc2Jjc19kYXRhIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAicmVxdWlyZV9zYmNzX2RhdGFfZ2VuZXJhdGVkIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAicmVxdWlyZV9kYmNzX2NvZGVjIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJCdWZmZXIiLCAiREJDU0NvZGVjIiwgIlVOQVNTSUdORUQiLCAiR0IxODAzMF9DT0RFIiwgIlNFUV9TVEFSVCIsICJOT0RFX1NUQVJUIiwgIlVOQVNTSUdORURfTk9ERSIsICJERUZfQ0hBUiIsICJpIiwgImNvZGVjT3B0aW9ucyIsICJpY29udiIsICJtYXBwaW5nVGFibGUiLCAic2tpcEVuY29kZUNoYXJzIiwgInZhbCIsICJqIiwgInVDaGFyIiwgInRoaXJkQnl0ZU5vZGVJZHgiLCAidGhpcmRCeXRlTm9kZSIsICJmb3VydGhCeXRlTm9kZUlkeCIsICJmb3VydGhCeXRlTm9kZSIsICJzZWNvbmRCeXRlTm9kZUlkeCIsICJzZWNvbmRCeXRlTm9kZSIsICJEQkNTRW5jb2RlciIsICJEQkNTRGVjb2RlciIsICJhZGRyIiwgImJ5dGVzIiwgIm5vZGUiLCAiY2h1bmsiLCAiY3VyQWRkciIsICJ3cml0ZVRhYmxlIiwgImsiLCAicGFydCIsICJsIiwgImNvZGUiLCAiY29kZVRyYWlsIiwgImxlbiIsICJzZXEiLCAibSIsICJjaGFyQ29kZSIsICJ1Q29kZSIsICJoaWdoIiwgImRiY3NDb2RlIiwgImJ1Y2tldCIsICJsb3ciLCAib2xkVmFsIiwgIm5vZGVJZHgiLCAicHJlZml4IiwgIm1iQ29kZSIsICJvcHRpb25zIiwgImNvZGVjIiwgInN0ciIsICJuZXdCdWYiLCAibGVhZFN1cnJvZ2F0ZSIsICJzZXFPYmoiLCAibmV4dENoYXIiLCAicmVzQ29kZSIsICJzdWJ0YWJsZSIsICJpZHgiLCAiZmluZElkeCIsICJidWYiLCAicHJldkJ1ZiIsICJwcmV2QnVmT2Zmc2V0IiwgInNlcVN0YXJ0IiwgImN1ckJ5dGUiLCAiY3VyU2VxIiwgInB0ciIsICJ1Q29kZUxlYWQiLCAicmV0IiwgInRhYmxlIiwgInIiLCAibWlkIiwgInJlcXVpcmVfc2hpZnRqaXMiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJyZXF1aXJlX2V1Y2pwIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAicmVxdWlyZV9jcDkzNiIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInJlcXVpcmVfZ2JrX2FkZGVkIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAicmVxdWlyZV9nYjE4MDMwX3JhbmdlcyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgInJlcXVpcmVfY3A5NDkiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJyZXF1aXJlX2NwOTUwIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAicmVxdWlyZV9iaWc1X2FkZGVkIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAicmVxdWlyZV9kYmNzX2RhdGEiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJyZXF1aXJlX2VuY29kaW5ncyIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIm1vZHVsZXMiLCAiaSIsICJlbmMiLCAicmVxdWlyZV9zdHJlYW1zIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiQnVmZmVyIiwgIlRyYW5zZm9ybSIsICJpY29udiIsICJlbmNvZGluZyIsICJvcHRpb25zIiwgIkljb252TGl0ZUVuY29kZXJTdHJlYW0iLCAiSWNvbnZMaXRlRGVjb2RlclN0cmVhbSIsICJjb252IiwgImNodW5rIiwgImRvbmUiLCAicmVzIiwgImUiLCAiY2IiLCAiY2h1bmtzIiwgInJlcXVpcmVfZXh0ZW5kX25vZGUiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJCdWZmZXIiLCAiaWNvbnYiLCAib3JpZ2luYWwiLCAibm9kZU5hdGl2ZUVuY29kaW5ncyIsICJlbmMiLCAiU2xvd0J1ZmZlciIsICJlbmNvZGluZyIsICJzdGFydCIsICJlbmQiLCAic3RyaW5nIiwgIm9mZnNldCIsICJsZW5ndGgiLCAic3dhcCIsICJyZW1haW5pbmciLCAiYnVmIiwgInN0ciIsICJfb2Zmc2V0IiwgIl9sZW5ndGgiLCAiX2VuY29kaW5nIiwgIlJlYWRhYmxlIiwgIm9wdGlvbnMiLCAicmVxdWlyZV9saWIiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJCdWZmZXIiLCAiYm9tSGFuZGxpbmciLCAiaWNvbnYiLCAic3RyIiwgImVuY29kaW5nIiwgIm9wdGlvbnMiLCAiZW5jb2RlciIsICJyZXMiLCAidHJhaWwiLCAiYnVmIiwgImRlY29kZXIiLCAiZW5jIiwgImNvZGVjT3B0aW9ucyIsICJjb2RlYyIsICJjb2RlY0RlZiIsICJrZXkiLCAibm9kZVZlciIsICJub2RlVmVyQXJyIiwgInJlcXVpcmVfb3NfdG1wZGlyIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiaXNXaW5kb3dzIiwgInRyYWlsaW5nU2xhc2hSZSIsICJwYXRoIiwgInJlcXVpcmVfdG1wIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJtb2R1bGUiLCAiZnMiLCAicGF0aCIsICJjcnlwdG8iLCAib3NUbXBEaXIiLCAiX2MiLCAidG1wRGlyIiwgIlJBTkRPTV9DSEFSUyIsICJURU1QTEFURV9QQVRURVJOIiwgIkRFRkFVTFRfVFJJRVMiLCAiQ1JFQVRFX0ZMQUdTIiwgIkVCQURGIiwgIkVOT0VOVCIsICJESVJfTU9ERSIsICJGSUxFX01PREUiLCAiX3JlbW92ZU9iamVjdHMiLCAiX2dyYWNlZnVsQ2xlYW51cCIsICJfdW5jYXVnaHRFeGNlcHRpb24iLCAiX3JhbmRvbUNoYXJzIiwgImhvd01hbnkiLCAidmFsdWUiLCAicm5kIiwgImkiLCAiX2lzVW5kZWZpbmVkIiwgIm9iaiIsICJfcGFyc2VBcmd1bWVudHMiLCAib3B0aW9ucyIsICJjYWxsYmFjayIsICJfZ2VuZXJhdGVUbXBOYW1lIiwgIm9wdHMiLCAibmFtZSIsICJ0bXBOYW1lIiwgImFyZ3MiLCAiY2IiLCAidHJpZXMiLCAiX2dldFVuaXF1ZU5hbWUiLCAiZXJyIiwgInRtcE5hbWVTeW5jIiwgImZpbGUiLCAiZmQiLCAiZSIsICJpc0VOT0VOVCIsICJfcHJlcGFyZVRtcEZpbGVSZW1vdmVDYWxsYmFjayIsICJmaWxlU3luYyIsICJkaXNjYXJkT3JEZXRhY2hEZXNjcmlwdG9yIiwgIl9ybWRpclJlY3Vyc2l2ZVN5bmMiLCAicm9vdCIsICJkaXJzIiwgImRpciIsICJkZWZlcnJlZCIsICJmaWxlcyIsICJsZW5ndGgiLCAic3RhdCIsICJfcHJlcGFyZVRtcERpclJlbW92ZUNhbGxiYWNrIiwgImRpclN5bmMiLCAicmVtb3ZlQ2FsbGJhY2siLCAiX3ByZXBhcmVSZW1vdmVDYWxsYmFjayIsICJmZFBhdGgiLCAiaXNFQkFERiIsICJyZW1vdmVGdW5jdGlvbiIsICJhcmciLCAiY2FsbGVkIiwgIl9jbGVhbnVwQ2FsbGJhY2siLCAibmV4dCIsICJpbmRleCIsICJfZ2FyYmFnZUNvbGxlY3RvciIsICJlcnJvciIsICJpc0V4cGVjdGVkRXJyb3IiLCAiY29kZSIsICJlcnJubyIsICJzZXRHcmFjZWZ1bENsZWFudXAiLCAidmVyc2lvbiIsICJyZXF1aXJlX0NyZWF0ZUZpbGVFcnJvciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiX19leHRlbmRzIiwgImV4dGVuZFN0YXRpY3MiLCAiZCIsICJiIiwgInAiLCAiX18iLCAiQ3JlYXRlRmlsZUVycm9yIiwgIl9zdXBlciIsICJvcmlnaW5hbEVycm9yIiwgIl9uZXdUYXJnZXQiLCAiX3RoaXMiLCAicHJvdG8iLCAicmVxdWlyZV9MYXVuY2hFZGl0b3JFcnJvciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiX19leHRlbmRzIiwgImV4dGVuZFN0YXRpY3MiLCAiZCIsICJiIiwgInAiLCAiX18iLCAiTGF1bmNoRWRpdG9yRXJyb3IiLCAiX3N1cGVyIiwgIm9yaWdpbmFsRXJyb3IiLCAiX25ld1RhcmdldCIsICJfdGhpcyIsICJwcm90byIsICJyZXF1aXJlX1JlYWRGaWxlRXJyb3IiLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIl9fZXh0ZW5kcyIsICJleHRlbmRTdGF0aWNzIiwgImQiLCAiYiIsICJwIiwgIl9fIiwgIlJlYWRGaWxlRXJyb3IiLCAiX3N1cGVyIiwgIm9yaWdpbmFsRXJyb3IiLCAiX25ld1RhcmdldCIsICJfdGhpcyIsICJwcm90byIsICJyZXF1aXJlX1JlbW92ZUZpbGVFcnJvciIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAiX19leHRlbmRzIiwgImV4dGVuZFN0YXRpY3MiLCAiZCIsICJiIiwgInAiLCAiX18iLCAiUmVtb3ZlRmlsZUVycm9yIiwgIl9zdXBlciIsICJvcmlnaW5hbEVycm9yIiwgIl9uZXdUYXJnZXQiLCAiX3RoaXMiLCAicHJvdG8iLCAicmVxdWlyZV9tYWluIiwgIl9fY29tbW9uSlNNaW4iLCAiZXhwb3J0cyIsICJjaGFyZGV0XzEiLCAiY2hpbGRfcHJvY2Vzc18xIiwgImZzXzEiLCAiaWNvbnZfbGl0ZV8xIiwgInRtcF8xIiwgIkNyZWF0ZUZpbGVFcnJvcl8xIiwgIkxhdW5jaEVkaXRvckVycm9yXzEiLCAiUmVhZEZpbGVFcnJvcl8xIiwgIlJlbW92ZUZpbGVFcnJvcl8xIiwgImVkaXQiLCAidGV4dCIsICJmaWxlT3B0aW9ucyIsICJlZGl0b3IiLCAiRXh0ZXJuYWxFZGl0b3IiLCAiZWRpdEFzeW5jIiwgImNhbGxiYWNrIiwgImVyciIsICJyZXN1bHQiLCAiY2xlYW51cEVycm9yIiwgInN0ciIsICJwaWVjZXMiLCAiY3VycmVudFN0cmluZyIsICJzdHJJbmRleCIsICJjdXJyZW50TGV0dGVyIiwgIl90aGlzIiwgInJlYWRFcnJvciIsICJsYXVuY2hFcnJvciIsICJlZGl0b3JPcHRzIiwgInBpZWNlIiwgImJpbiIsICJvcHQiLCAiY3JlYXRlRmlsZUVycm9yIiwgInRlbXBGaWxlQnVmZmVyIiwgImVuY29kaW5nIiwgInJlYWRGaWxlRXJyb3IiLCAicmVtb3ZlRmlsZUVycm9yIiwgImVkaXRvclByb2Nlc3MiLCAiY29kZSIsICJyZXF1aXJlX2xpYiIsICJfX2NvbW1vbkpTTWluIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIlN0cmVhbSIsICJNdXRlU3RyZWFtIiwgIiNpc1RUWSIsICJvcHRzIiwgIiNkZXN0U3JjIiwgImtleSIsICJkZWYiLCAiI3Byb3h5IiwgIm1ldGhvZCIsICJhcmdzIiwgInZhbCIsICJzcmMiLCAiZGVzdCIsICJvcHRpb25zIiwgImMiLCAiZG9jX2V4cG9ydHMiLCAiX19leHBvcnQiLCAiYnVpbGRlcnMiLCAicHVibGljX2RlZmF1bHQiLCAicHJpbnRlciIsICJ1dGlscyIsICJnZXREb2NUeXBlIiwgImRvYyIsICJET0NfVFlQRV9TVFJJTkciLCAiRE9DX1RZUEVfQVJSQVkiLCAidHlwZSIsICJWQUxJRF9PQkpFQ1RfRE9DX1RZUEVTIiwgImdldERvY0Vycm9yTWVzc2FnZSIsICJnZXRfZG9jX3R5cGVfZGVmYXVsdCIsICJvYmplY3RUeXBlIiwgIkVYUEVDVEVEX1RZUEVfVkFMVUVTIiwgImRpc2p1bmN0aW9uTGlzdEZvcm1hdCIsICJ0eXBlMiIsICJ0cmF2ZXJzZURvYyIsICJvbkVudGVyIiwgIm9uRXhpdCIsICJzaG91bGRUcmF2ZXJzZUNvbmRpdGlvbmFsR3JvdXBzIiwgImRvY3NTdGFjayIsICJkb2MyIiwgInRyYXZlcnNlRG9jT25FeGl0U3RhY2tNYXJrZXIiLCAiZG9jVHlwZSIsICJpbnZhbGlkX2RvY19lcnJvcl9kZWZhdWx0IiwgIkRPQ19UWVBFX0ZJTEwiLCAicGFydHMiLCAiaWMiLCAiaSIsICJET0NfVFlQRV9JRl9CUkVBSyIsICJET0NfVFlQRV9HUk9VUCIsICJET0NfVFlQRV9BTElHTiIsICJET0NfVFlQRV9JTkRFTlQiLCAiRE9DX1RZUEVfSU5ERU5UX0lGX0JSRUFLIiwgIkRPQ19UWVBFX0xBQkVMIiwgIkRPQ19UWVBFX0xJTkVfU1VGRklYIiwgIkRPQ19UWVBFX0NVUlNPUiIsICJET0NfVFlQRV9UUklNIiwgIkRPQ19UWVBFX0xJTkVfU1VGRklYX0JPVU5EQVJZIiwgIkRPQ19UWVBFX0xJTkUiLCAiRE9DX1RZUEVfQlJFQUtfUEFSRU5UIiwgImluZGVudCIsICJjb250ZW50cyIsICJhc3NlcnREb2MiLCAiYWxpZ24iLCAid2lkdGhPclN0cmluZyIsICJncm91cCIsICJvcHRzIiwgImFzc2VydERvY0FycmF5IiwgImRlZGVudFRvUm9vdCIsICJtYXJrQXNSb290IiwgImRlZGVudCIsICJjb25kaXRpb25hbEdyb3VwIiwgInN0YXRlcyIsICJmaWxsIiwgImlmQnJlYWsiLCAiYnJlYWtDb250ZW50cyIsICJmbGF0Q29udGVudHMiLCAiaW5kZW50SWZCcmVhayIsICJsaW5lU3VmZml4IiwgImpvaW4iLCAic2VwYXJhdG9yIiwgImRvY3MiLCAiYWRkQWxpZ25tZW50VG9Eb2MiLCAic2l6ZSIsICJ0YWJXaWR0aCIsICJhbGlnbmVkIiwgImxhYmVsIiwgImxhYmVsMiIsICJjb252ZXJ0RW5kT2ZMaW5lVG9DaGFycyIsICJ2YWx1ZSIsICJpc0Z1bGxXaWR0aCIsICJ4IiwgImlzV2lkZSIsICJnZXRTdHJpbmdXaWR0aCIsICJ0ZXh0IiwgIm5vdEFzY2lpUmVnZXgiLCAiZW1vamlfcmVnZXhfZGVmYXVsdCIsICJ3aWR0aCIsICJjaGFyYWN0ZXIiLCAiY29kZVBvaW50IiwgIl9pc05hcnJvd1dpZHRoIiwgIm1hcERvYyIsICJjYiIsICJtYXBwZWQiLCAicmVjIiwgInJlc3VsdCIsICJwcm9jZXNzMiIsICJleHBhbmRlZFN0YXRlcyIsICJmaW5kSW5Eb2MiLCAiZm4iLCAiZGVmYXVsdFZhbHVlIiwgInNob3VsZFNraXBGdXJ0aGVyUHJvY2Vzc2luZyIsICJmaW5kSW5Eb2NPbkVudGVyRm4iLCAibWF5YmVSZXN1bHQiLCAidHJhdmVyc2VfZG9jX2RlZmF1bHQiLCAid2lsbEJyZWFrRm4iLCAid2lsbEJyZWFrIiwgImJyZWFrUGFyZW50R3JvdXAiLCAiZ3JvdXBTdGFjayIsICJwYXJlbnRHcm91cCIsICJhdF9kZWZhdWx0IiwgInByb3BhZ2F0ZUJyZWFrcyIsICJhbHJlYWR5VmlzaXRlZFNldCIsICJwcm9wYWdhdGVCcmVha3NPbkVudGVyRm4iLCAicHJvcGFnYXRlQnJlYWtzT25FeGl0Rm4iLCAicmVtb3ZlTGluZXNGbiIsICJyZW1vdmVMaW5lcyIsICJzdHJpcFRyYWlsaW5nSGFyZGxpbmVGcm9tUGFydHMiLCAibGFzdFBhcnQiLCAic3RyaXBUcmFpbGluZ0hhcmRsaW5lRnJvbURvYyIsICJzdHJpcFRyYWlsaW5nSGFyZGxpbmUiLCAiY2xlYW5Eb2MiLCAiY2xlYW5Eb2NGbiIsICJwYXJ0IiwgImN1cnJlbnRQYXJ0IiwgInJlc3RQYXJ0cyIsICJjdXJyZW50RG9jIiwgInJlcGxhY2VFbmRPZkxpbmUiLCAicmVwbGFjZW1lbnQiLCAibGl0ZXJhbGxpbmUiLCAiY2FuQnJlYWtGbiIsICJjYW5CcmVhayIsICJyb290SW5kZW50IiwgIm1ha2VJbmRlbnQiLCAiaW5kIiwgIm9wdGlvbnMiLCAiZ2VuZXJhdGVJbmQiLCAibWFrZUFsaWduIiwgImluZGVudDIiLCAid2lkdGhPckRvYyIsICJuZXdQYXJ0IiwgInF1ZXVlIiwgImxlbmd0aCIsICJsYXN0VGFicyIsICJsYXN0U3BhY2VzIiwgImZsdXNoIiwgImFkZFRhYnMiLCAiYWRkU3BhY2VzIiwgImZsdXNoU3BhY2VzIiwgImNvdW50IiwgImZsdXNoVGFicyIsICJyZXNldExhc3QiLCAidHJpbTIiLCAib3V0IiwgInRyaW1Db3VudCIsICJjdXJzb3JDb3VudCIsICJvdXRJbmRleCIsICJvdXRlciIsICJsYXN0IiwgIkNVUlNPUl9QTEFDRUhPTERFUiIsICJjaGFySW5kZXgiLCAiY2hhciIsICJmaXRzIiwgIm5leHQiLCAicmVzdENvbW1hbmRzIiwgImhhc0xpbmVTdWZmaXgiLCAiZ3JvdXBNb2RlTWFwIiwgIm11c3RCZUZsYXQiLCAicmVzdElkeCIsICJjbWRzIiwgIm1vZGUiLCAiZ2V0X3N0cmluZ193aWR0aF9kZWZhdWx0IiwgImVuZCIsICJET0NfRklMTF9QUklOVEVEX0xFTkdUSCIsICJncm91cE1vZGUiLCAiTU9ERV9CUkVBSyIsICJNT0RFX0ZMQVQiLCAicHJpbnREb2NUb1N0cmluZyIsICJuZXdMaW5lIiwgInBvcyIsICJzaG91bGRSZW1lYXN1cmUiLCAibGluZVN1ZmZpeDIiLCAicHJpbnRlZEN1cnNvckNvdW50IiwgImZvcm1hdHRlZCIsICJzdHJpbmdfcmVwbGFjZV9hbGxfZGVmYXVsdCIsICJyZW0iLCAibW9zdEV4cGFuZGVkIiwgInN0YXRlIiwgImNtZCIsICJvZmZzZXQiLCAiY29udGVudCIsICJ3aGl0ZXNwYWNlIiwgImNvbnRlbnRGbGF0Q21kIiwgImNvbnRlbnRCcmVha0NtZCIsICJjb250ZW50Rml0cyIsICJ3aGl0ZXNwYWNlRmxhdENtZCIsICJ3aGl0ZXNwYWNlQnJlYWtDbWQiLCAic2Vjb25kQ29udGVudCIsICJyZW1haW5pbmdDbWQiLCAiaGFyZGxpbmVXaXRob3V0QnJlYWtQYXJlbnQiLCAiY3Vyc29yUGxhY2Vob2xkZXJJbmRleCIsICJvdGhlckN1cnNvclBsYWNlaG9sZGVySW5kZXgiLCAiYmVmb3JlQ3Vyc29yIiwgImFyb3VuZEN1cnNvciIsICJhZnRlckN1cnNvciIsICJfX2RlZlByb3AiLCAicHVibGljX2V4cG9ydHMiLCAiSW52YWxpZERvY0Vycm9yIiwgIm5vb3AiLCAibGluZVN1ZmZpeEJvdW5kYXJ5IiwgImJyZWFrUGFyZW50IiwgInRyaW0iLCAibGl0ZXJhbGxpbmVXaXRob3V0QnJlYWtQYXJlbnQiLCAibGluZSIsICJzb2Z0bGluZSIsICJoYXJkbGluZSIsICJjdXJzb3IiLCAiYXQiLCAic3RyaW5nUmVwbGFjZUFsbCIsICJpbml0X2RvYyIsICJfX2VzbU1pbiIsICJ0YXJnZXQiLCAiYWxsIiwgIm5hbWUiLCAibGlzdCIsICJpc09wdGlvbmFsT2JqZWN0IiwgIm9iamVjdCIsICJpbmRleCIsICJvcmlnaW5hbCIsICJwYXR0ZXJuIiwgImFjb3JuX2V4cG9ydHMiLCAiX19leHBvcnQiLCAiQ2EiLCAienMiLCAiTmUiLCAiaSIsICJzIiwgIk0iLCAia2kiLCAibnQiLCAiSCIsICJFaSIsICJTaSIsICJQIiwgIlMiLCAiYiIsICJPZSIsICJRIiwgInV0IiwgInIiLCAiSyIsICJpdCIsICJVIiwgImN0IiwgImllIiwgIk5pIiwgIlZlIiwgIlkiLCAic3QiLCAidHQiLCAiVmkiLCAibiIsICJvIiwgInUiLCAicCIsICJ4ZSIsICJqZSIsICJaIiwgIkJlIiwgImx0IiwgIkJpIiwgImZlIiwgImJ0IiwgIlJlIiwgIlN0IiwgIldpIiwgIlZ0IiwgIlVpIiwgInJ0IiwgIkdpIiwgIktpIiwgIlhpIiwgInppIiwgIkx0IiwgIkhpIiwgIlFpIiwgIlJ0IiwgIllpIiwgIlppIiwgIkJ0IiwgIiRpIiwgInZlIiwgImVzIiwgInRzIiwgImlzIiwgIkR0IiwgIkZ0IiwgImp0IiwgInNzIiwgIk10IiwgImhzIiwgImNzIiwgImZzIiwgIk8iLCAidCIsICJKIiwgImRzIiwgInhzIiwgInlzIiwgIm9lIiwgInBlIiwgInVlIiwgIldlIiwgInZzIiwgIlhlIiwgIll0IiwgIlNzIiwgIkNlIiwgInp0IiwgIlp0IiwgInplIiwgIlgiLCAiV3QiLCAiS2UiLCAidGkiLCAia3MiLCAiaWkiLCAiZWUiLCAiVHMiLCAiX3MiLCAiQXMiLCAid3MiLCAiJHQiLCAiZWkiLCAiRXMiLCAiUHMiLCAiSXMiLCAiTnMiLCAic2kiLCAicmkiLCAiVnMiLCAiTHMiLCAiT3MiLCAiYmUiLCAiRHMiLCAiQnMiLCAiUnMiLCAiRnMiLCAia2UiLCAiU2UiLCAiX2UiLCAianMiLCAiRSIsICJIZSIsICJNcyIsICJwaSIsICJVcyIsICJxcyIsICJoaSIsICJHcyIsICJsaSIsICJKcyIsICJXcyIsICJYcyIsICJLcyIsICJkaSIsICJ3ZSIsICJtaSIsICJ4aSIsICJ5aSIsICJnaSIsICIkZSIsICJ2aSIsICJiaSIsICJldCIsICJHdCIsICJKZSIsICJaZSIsICJDaSIsICJvdCIsICJBZSIsICJQZSIsICJfaSIsICJUaSIsICJJIiwgIkEiLCAiYSIsICJMIiwgIndpIiwgInB0IiwgIk4iLCAiaHQiLCAiQWkiLCAiUGkiLCAiSWkiLCAic2UiLCAiZnQiLCAiZHQiLCAiRGUiLCAibXQiLCAicmUiLCAiRmUiLCAibGUiLCAiTWUiLCAiRyIsICJ4dCIsICJ5dCIsICJndCIsICJUIiwgIkYiLCAiayIsICJMaSIsICJ5ZSIsICJsIiwgIlVlIiwgIlJpIiwgIk9pIiwgInRlIiwgIkxlIiwgInZ0IiwgIlIiLCAiRCIsICJfIiwgIiQiLCAieSIsICJEaSIsICJkZSIsICJXIiwgIkZpIiwgImdlIiwgImFlIiwgImppIiwgIkN0IiwgIl90IiwgIlR0IiwgImt0IiwgIkV0IiwgIk1pIiwgInFpIiwgInd0IiwgIkF0IiwgIlB0IiwgIkl0IiwgIk50IiwgIkppIiwgImF0IiwgImNlIiwgIkllIiwgImMiLCAibWUiLCAiaiIsICJPdCIsICJxIiwgIlYiLCAicWUiLCAidiIsICJVdCIsICJycyIsICJuaSIsICJscyIsICJYdCIsICJtcyIsICJncyIsICJIdCIsICJRdCIsICJicyIsICJDcyIsICJUZSIsICJhaSIsICJvaSIsICJjaSIsICJ1aSIsICJ6IiwgIlFlIiwgIlllIiwgImZpIiwgImluaXRfYWNvcm4iLCAiX19lc21NaW4iLCAiUXMiLCAicXQiLCAiWXMiLCAiR2UiLCAibnMiLCAib3MiLCAidXMiLCAiSnQiLCAiS3QiLCAiZSIsICJkIiwgImYiLCAiQyIsICJuZSIsICJwcyIsICJCIiwgImgiLCAibSIsICJ4IiwgImciLCAidyIsICJoZSIsICJFZSIsICJhbmd1bGFyX2V4cG9ydHMiLCAiX19leHBvcnQiLCAiWmkiLCAianQiLCAiQnMiLCAidCIsICJlIiwgIkRzIiwgIm4iLCAicyIsICJyIiwgInR0IiwgIk9zIiwgIkdlIiwgIlZzIiwgIkZzIiwgInVyIiwgIlVuIiwgIlduIiwgIlpuIiwgImoiLCAiWXMiLCAiUXMiLCAicHIiLCAiWW4iLCAiUW4iLCAiSm4iLCAiS24iLCAiZG4iLCAiem4iLCAicW4iLCAiY3IiLCAiJG4iLCAiTSIsICJkIiwgIkVyIiwgInlyIiwgIl9yIiwgImF0IiwgIkNyIiwgIlRyIiwgImtyIiwgIlJuIiwgIk10IiwgImpuIiwgIkJuIiwgIklyIiwgIm5yIiwgIlpzIiwgImJyIiwgIlhuIiwgIkduIiwgIkFyIiwgInJyIiwgIkhzIiwgInNyIiwgIldzIiwgImlyIiwgInFzIiwgIm9yIiwgImxyIiwgIlVzIiwgIk5yIiwgIlByIiwgIm8iLCAiYSIsICJ1IiwgIkQiLCAiU2UiLCAiWmUiLCAiTXIiLCAiZiIsICJldCIsICJvcyIsICJSciIsICJCciIsICJhcyIsICJscyIsICJjcyIsICJ1cyIsICJwcyIsICJGZSIsICJPciIsICJEciIsICJWZSIsICJEZSIsICJ1ZSIsICJPdCIsICIkIiwgIlIiLCAidnMiLCAid3MiLCAieHMiLCAiVWUiLCAiU3MiLCAiQmUiLCAiRXMiLCAiY2UiLCAiSXMiLCAiRnQiLCAic3QiLCAiYnMiLCAicXQiLCAiTHMiLCAicnQiLCAiV3QiLCAiJHMiLCAiWHQiLCAiSnQiLCAiaXQiLCAiTCIsICJWIiwgIlEiLCAiYyIsICJ6dCIsICJHciIsICJLdCIsICJZdCIsICJRdCIsICJCIiwgIlp0IiwgImVuIiwgInRuIiwgIm5uIiwgIlJzIiwgInNuIiwgIl8iLCAiayIsICJjdCIsICJ1dCIsICJwdCIsICJodCIsICJYZSIsICJmdCIsICJKZSIsICJkdCIsICJtdCIsICJDIiwgImd0IiwgInZ0IiwgIktlIiwgIlllIiwgIkVlIiwgIlFlIiwgInd0IiwgInh0IiwgIlhyIiwgInJuIiwgImkiLCAiUCIsICJTdCIsICJvbiIsICJhbiIsICJ5ZSIsICJHIiwgIkUiLCAic2UiLCAiYiIsICJYIiwgIkV0IiwgIl9lIiwgIkNlIiwgInJlIiwgIlRlIiwgImllIiwgImtlIiwgIm9lIiwgIkllIiwgImJlIiwgIkEiLCAiQWUiLCAiTmUiLCAiUGUiLCAiTiIsICJhZSIsICJMZSIsICJNZSIsICIkZSIsICJSZSIsICJsZSIsICJPIiwgIlciLCAieXQiLCAibG4iLCAiY24iLCAiSCIsICJ1biIsICJfdCIsICJaIiwgIm90IiwgImpzIiwgInpzIiwgIkdzIiwgInBuIiwgImplIiwgIm1lIiwgIlhzIiwgImdlIiwgImVlIiwgIkN0IiwgInRlIiwgInZlIiwgIkpzIiwgInFlIiwgIktzIiwgImhuIiwgInplIiwgImVyIiwgIndlIiwgInRyIiwgImFyIiwgIlR0IiwgImZuIiwgInhlIiwgIm1uIiwgImduIiwgInZuIiwgInduIiwgImhyIiwgImVzIiwgInRzIiwgIiR0IiwgIkpyIiwgIktyIiwgIllyIiwgImZyIiwgIlFyIiwgIm5zIiwgIlpyIiwgImVpIiwgImRyIiwgIm1yIiwgImdyIiwgInRpIiwgIm5pIiwgInNpIiwgIkoiLCAieG4iLCAiU24iLCAiRW4iLCAiVSIsICJ5biIsICJfbiIsICJDbiIsICJUbiIsICJrbiIsICJJbiIsICJibiIsICJ2ciIsICJzcyIsICJPZSIsICJSdCIsICJyaSIsICJpaSIsICJvaSIsICJLIiwgIkFuIiwgIk5uIiwgImt0IiwgIlBuIiwgIkl0IiwgImJ0IiwgImFpIiwgIkxuIiwgImxpIiwgImNpIiwgInVpIiwgInBpIiwgIndyIiwgInhyIiwgIk1uIiwgInJzIiwgImhpIiwgImZpIiwgIlNyIiwgImx0IiwgIkF0IiwgIk50IiwgIlB0IiwgIm5lIiwgInoiLCAiTHQiLCAiTHIiLCAiZGkiLCAibWkiLCAiZ2kiLCAidmkiLCAid2kiLCAieGkiLCAiU2kiLCAiRWkiLCAiRG4iLCAieWkiLCAiX2kiLCAiT24iLCAiRm4iLCAiaXMiLCAiQ2kiLCAiVGkiLCAia2kiLCAiVm4iLCAiSG4iLCAiaHMiLCAiRnIiLCAiZnMiLCAiZHMiLCAibXMiLCAiSHIiLCAibnQiLCAiQnQiLCAiZ3MiLCAiV2UiLCAicGUiLCAicCIsICJ2IiwgIkhlIiwgIngiLCAiRHQiLCAiaGUiLCAiWSIsICJtIiwgInlzIiwgIkkiLCAiVnQiLCAiSHQiLCAiVXQiLCAiX3MiLCAiQ3MiLCAiVHMiLCAia3MiLCAiQXMiLCAiTnMiLCAiUHMiLCAiVXIiLCAiV3IiLCAicXIiLCAianIiLCAiaW5pdF9hbmd1bGFyIiwgIl9fZXNtTWluIiwgImwiLCAiaCIsICJnIiwgIlMiLCAidyIsICJ5IiwgIlQiLCAiRiIsICJmZSIsICJkZSIsICJxIiwgIk1zIiwgIkd0IiwgImJhYmVsX2V4cG9ydHMiLCAiX19leHBvcnQiLCAiQ24iLCAiSHIiLCAidmUiLCAiYSIsICJlIiwgInMiLCAiciIsICJuIiwgIm8iLCAiaHIiLCAibHIiLCAiY3IiLCAiYXMiLCAicHIiLCAicnMiLCAibnMiLCAiaHMiLCAib3MiLCAidXIiLCAiZnIiLCAibXIiLCAiTCIsICJpIiwgInQiLCAiaiIsICJ5ciIsICJQciIsICJnciIsICJ4ZSIsICJnZSIsICJQZSIsICJBdCIsICJiciIsICJTdCIsICJtcyIsICJTciIsICJEZSIsICJ1cyIsICJ5cyIsICJ3dCIsICJUdCIsICJ5ZSIsICJidCIsICJ3ciIsICJDciIsICJNZSIsICJUcyIsICJrciIsICJicyIsICJzZSIsICJOciIsICJJciIsICJEciIsICJMciIsICJQcyIsICJncyIsICJ2ciIsICJNciIsICJPciIsICJMZSIsICJBcyIsICJGciIsICJCciIsICJSciIsICJqciIsICJscyIsICJfciIsICIkciIsICJWciIsICJ6ciIsICJMcyIsICJTcyIsICJsIiwgIkNzIiwgIndzIiwgInUiLCAiJCIsICJCZSIsICJoIiwgImNzIiwgIk9lIiwgIkZlIiwgInhzIiwgIk9zIiwgIk1zIiwgIksiLCAicmUiLCAiQnMiLCAiUmUiLCAiUnMiLCAiVXMiLCAiX3MiLCAianMiLCAiJHMiLCAienMiLCAiVnMiLCAiSXQiLCAiZ3QiLCAiRXQiLCAidGEiLCAic2EiLCAiZHIiLCAicHMiLCAieHIiLCAiVHIiLCAiZnMiLCAiZHMiLCAiQXIiLCAiRXIiLCAiVyIsICJpZSIsICJVciIsICJ2cyIsICJFcyIsICJJcyIsICJOcyIsICJrcyIsICJxciIsICJEcyIsICJDdCIsICJLciIsICJGcyIsICJpbml0X2JhYmVsIiwgIl9fZXNtTWluIiwgIm1lIiwgInFzIiwgIk8iLCAiWiIsICJ2IiwgIk50IiwgIktzIiwgImt0IiwgIlNlIiwgIkhzIiwgIkpzIiwgIldzIiwgIlhzIiwgIkdzIiwgInZ0IiwgIllzIiwgImMiLCAiZiIsICJkIiwgIngiLCAiVSIsICJwIiwgIlFzIiwgIkx0IiwgIm5lIiwgIlpzIiwgIkoiLCAiRSIsICJiIiwgIm0iLCAiVWUiLCAib2UiLCAieiIsICJlaSIsICJFZSIsICJsdCIsICJBIiwgIlAiLCAiayIsICJwZSIsICJCIiwgImN0IiwgInB0IiwgInV0IiwgImZ0IiwgImR0IiwgIlQiLCAidGkiLCAiQyIsICJzaSIsICJEIiwgIlZ0IiwgImlpIiwgIlZlIiwgInJpIiwgIkR0IiwgImFpIiwgIm10IiwgIm5pIiwgIm9pIiwgImhpIiwgImxpIiwgImNpIiwgInEiLCAid2UiLCAicGkiLCAiSWUiLCAiRiIsICJ5dCIsICJxdCIsICJ1aSIsICJmaSIsICJLdCIsICJkaSIsICJxZSIsICJSIiwgIkciLCAieHQiLCAibWkiLCAieWkiLCAieGkiLCAiSHQiLCAiSnQiLCAiV3QiLCAiWHQiLCAiUGkiLCAiZ2kiLCAiVGkiLCAiYmkiLCAidWUiLCAiZmUiLCAiS2UiLCAiSGUiLCAiSmUiLCAiR3QiLCAiQWkiLCAiZGUiLCAiaGUiLCAiV2UiLCAiU2kiLCAiYmUiLCAiWSIsICJNdCIsICJfZSIsICJqZSIsICJ3aSIsICJYZSIsICJDaSIsICJPdCIsICJBZSIsICJGdCIsICJFaSIsICJJaSIsICJHZSIsICJRdCIsICJZdCIsICJTIiwgIk4iLCAidyIsICJJIiwgIlRlIiwgImFlIiwgImxlIiwgIk5pIiwgIk0iLCAiWWUiLCAiUWUiLCAiWmUiLCAiZWUiLCAiTmUiLCAiZXQiLCAia2kiLCAidmkiLCAiTGkiLCAiWnQiLCAidHQiLCAiQ2UiLCAic3QiLCAiUSIsICJ0ZSIsICJQdCIsICJEaSIsICJfIiwgIk1pIiwgIml0IiwgIk9pIiwgImciLCAiRmkiLCAiQnQiLCAiQmkiLCAiUmkiLCAiVWkiLCAiX2kiLCAiSCIsICJWIiwgIlgiLCAiamkiLCAicnQiLCAiYXQiLCAiZXMiLCAibnQiLCAiJGkiLCAiUnQiLCAieSIsICJ6aSIsICJVdCIsICJWaSIsICJxaSIsICJIaSIsICJLaSIsICJzcyIsICJ0cyIsICJKaSIsICJfdCIsICJXaSIsICJYaSIsICJqdCIsICIkdCIsICJHaSIsICJpcyIsICJZaSIsICJRaSIsICJaaSIsICJvdCIsICIkZSIsICJlciIsICJ0ciIsICJ6ZSIsICJzciIsICJodCIsICJrZSIsICJpciIsICJjZSIsICJyciIsICJhciIsICJuciIsICJvciIsICJ6dCIsICJlc3RyZWVfZXhwb3J0cyIsICJfX2V4cG9ydCIsICJyeCIsICJvbSIsICJKYSIsICJhbSIsICJOYSIsICJWYSIsICJzIiwgInUiLCAiWHMiLCAiaSIsICJhIiwgIiRhIiwgIllzIiwgIk5zIiwgIlZzIiwgIlFhIiwgIkthIiwgIkhzIiwgIiRzIiwgIlRyIiwgInphIiwgIlphIiwgIldlIiwgIkdlIiwgImVvIiwgInRvIiwgIlFzIiwgInJvIiwgIktzIiwgIk90IiwgIl90IiwgIloiLCAibm8iLCAic28iLCAiZHIiLCAiWnMiLCAidW8iLCAiWSIsICJwIiwgImlvIiwgInZ0IiwgInhyIiwgImV1IiwgInEiLCAibiIsICJ0IiwgInIiLCAiayIsICJCdCIsICJhbyIsICJ0dSIsICJlciIsICJadCIsICJJbiIsICJwbyIsICJsbyIsICJEbyIsICJmbyIsICJFbyIsICJyciIsICJnciIsICJSdCIsICJMIiwgIlciLCAiQWUiLCAiaXUiLCAiUHIiLCAib3UiLCAiRmUiLCAiam4iLCAidGUiLCAidm4iLCAiQ28iLCAiTG4iLCAiYnQiLCAiSXIiLCAicHUiLCAiQXQiLCAiSnQiLCAiQnIiLCAiU3IiLCAiQW8iLCAiVG8iLCAiaG8iLCAibnUiLCAieG8iLCAiUHQiLCAib2UiLCAiTXQiLCAieiIsICJNbiIsICJsdSIsICJuciIsICJkIiwgImdvIiwgIlplIiwgImZlIiwgImtyIiwgIk9lIiwgIkgiLCAia3QiLCAiaCIsICJzdSIsICJMciIsICJ3ciIsICJfIiwgImN0IiwgImVlIiwgIm11IiwgIk9yIiwgImJlIiwgInplIiwgIkZvIiwgInNlIiwgIlgiLCAibHQiLCAiU28iLCAieXUiLCAiYWUiLCAiaWUiLCAic3IiLCAidHIiLCAidXUiLCAiYnIiLCAiX24iLCAiQm8iLCAiRHUiLCAiZnUiLCAid24iLCAiRXUiLCAiT24iLCAicXQiLCAiUm4iLCAidXIiLCAiTyIsICJGdSIsICJDZSIsICJDdSIsICJXdCIsICJQbyIsICJldCIsICJfZSIsICJqciIsICJJbyIsICJudCIsICJrbyIsICJMbyIsICJUdSIsICJUdCIsICJQZSIsICJvIiwgInhlIiwgImxlIiwgIlllIiwgIlhlIiwgIkhlIiwgImplIiwgIk5lIiwgInR0IiwgInJ0IiwgIlZlIiwgIm1lIiwgInZlIiwgImYiLCAiJGUiLCAiaGUiLCAibCIsICJ2ciIsICJ4dSIsICJNciIsICJLZSIsICJSciIsICJCIiwgImR0IiwgIlduIiwgImIiLCAiaHUiLCAic3QiLCAibXQiLCAiU3UiLCAicW4iLCAiT28iLCAicmUiLCAiZ3UiLCAiQnUiLCAiX28iLCAiYXIiLCAiam8iLCAiR3QiLCAiSWUiLCAiSnIiLCAidm8iLCAiYnUiLCAib3IiLCAiTW8iLCAia3UiLCAiQ3QiLCAiUHUiLCAiUm8iLCAiRiIsICJKbyIsICJVbiIsICJjZSIsICJMZSIsICJWIiwgInFvIiwgIldvIiwgInV0IiwgIkdvIiwgIlVvIiwgIlhvIiwgIlJ1IiwgInd1IiwgImp1IiwgIm5wIiwgIlZvIiwgIlluIiwgIkhuIiwgIkx1IiwgIk91IiwgImFwIiwgInVwIiwgIlZuIiwgIk11IiwgIm9wIiwgIl91IiwgInZ1IiwgIk5uIiwgIiRvIiwgIkVwIiwgIllvIiwgIk5vIiwgInNwIiwgImlwIiwgImxwIiwgIkRwIiwgImZwIiwgIkZwIiwgIkhvIiwgIktvIiwgInJwIiwgInRwIiwgImVwIiwgInlwIiwgIm1wIiwgIkl0IiwgIlhuIiwgIkl1IiwgImdlIiwgIlRlIiwgIlFvIiwgInpvIiwgIlpvIiwgIkp1IiwgIlVlIiwgInBwIiwgImNwIiwgIl9yIiwgIkFwIiwgIkNwIiwgIlRwIiwgIktuIiwgImRwIiwgInF1IiwgIld1IiwgInhwIiwgInpuIiwgImhwIiwgImMiLCAibSIsICJEIiwgInkiLCAiQyIsICJabiIsICJVdCIsICJxciIsICJRbiIsICJTZSIsICJpdCIsICJlcyIsICJUIiwgImciLCAiUiIsICJqIiwgIkkiLCAiVSIsICJQIiwgIkciLCAidWUiLCAiUSIsICJHbiIsICJncCIsICJTcCIsICJHdSIsICJXciIsICJQcCIsICJCcCIsICJrZSIsICJVdSIsICJBIiwgIkRlIiwgIkUiLCAiUyIsICJYdSIsICJicCIsICJYdCIsICJHciIsICJ0cyIsICJZdSIsICJucyIsICJIdSIsICJycyIsICJVciIsICJrcCIsICJJcCIsICJMcCIsICJ3cCIsICJYciIsICJOdSIsICJPcCIsICJfcCIsICJqcCIsICJ2cCIsICJNcCIsICJScCIsICJKcCIsICJLdSIsICJzcyIsICJ4IiwgInFwIiwgIlVwIiwgIldwIiwgIkdwIiwgIlhwIiwgIllwIiwgIkhwIiwgIk5wIiwgIlZwIiwgIiRwIiwgIlZ1IiwgIiR1IiwgIlF1IiwgInp1IiwgInVpIiwgIm5pIiwgImlpIiwgImFpIiwgIlFwIiwgIktwIiwgImVjIiwgIlpwIiwgImVpIiwgInRpIiwgInpwIiwgInNpIiwgIm9pIiwgInJpIiwgInRjIiwgInJjIiwgInBpIiwgImNpIiwgIm5jIiwgInVzIiwgImFjIiwgInByIiwgInNjIiwgIm1pIiwgInBjIiwgImljIiwgInVjIiwgIm9jIiwgImlzIiwgImNjIiwgImFzIiwgIm1jIiwgInljIiwgInlpIiwgIkVlIiwgIkoiLCAibGMiLCAib3MiLCAieWUiLCAiY3MiLCAiRGMiLCAiTSIsICJQYyIsICJrYyIsICJmYyIsICJjciIsICJndCIsICJGdCIsICJ3IiwgIm1zIiwgImlyIiwgIllyIiwgIkVpIiwgImZpIiwgIkZjIiwgIkVjIiwgIkJlIiwgIkNjIiwgIkFjIiwgIlRjIiwgImRjIiwgInhjIiwgImhjIiwgImdjIiwgIlNjIiwgIkJjIiwgImJjIiwgIkZpIiwgIk1lIiwgIkNpIiwgIkljIiwgIk5yIiwgInlzIiwgIll0IiwgIkxjIiwgIndjIiwgIkFpIiwgImRpIiwgIl9jIiwgIlRpIiwgIk9jIiwgIkRzIiwgImdpIiwgInhpIiwgIlNpIiwgImhpIiwgIkhyIiwgImF1IiwgImpjIiwgIlJjIiwgInBlIiwgIk1jIiwgInl0IiwgInZjIiwgImxyIiwgIkpjIiwgImZzIiwgInFjIiwgImJpIiwgIkJpIiwgIlBpIiwgIkVzIiwgIldjIiwgIiQiLCAia2kiLCAibmUiLCAiZGUiLCAianQiLCAiUWUiLCAibXIiLCAiVnIiLCAib3QiLCAiU3QiLCAiJHIiLCAiR2MiLCAiTGkiLCAiSWkiLCAieHQiLCAiVWMiLCAiT2kiLCAiX2kiLCAiS3IiLCAiamkiLCAiWWMiLCAiJGMiLCAiRnMiLCAiUWMiLCAiWGMiLCAiSGMiLCAiZWwiLCAidmkiLCAiVmMiLCAiTmMiLCAid2kiLCAiS2MiLCAiemMiLCAiWmMiLCAiSmUiLCAiQ3MiLCAicmwiLCAid2UiLCAidGwiLCAiYXQiLCAiTWkiLCAidWwiLCAic2wiLCAibmwiLCAiQXMiLCAiUmkiLCAiSyIsICJRciIsICJ6ciIsICJaciIsICJpbCIsICJlbiIsICJIdCIsICJOIiwgInRuIiwgInJuIiwgIlRzIiwgIm5uIiwgInNuIiwgIkppIiwgImFsIiwgInVuIiwgImFuIiwgIm9uIiwgInBuIiwgImNuIiwgIm9sIiwgInBsIiwgIkR0IiwgImxuIiwgIk50IiwgImNsIiwgIlZ0IiwgIm1sIiwgImxsIiwgInFpIiwgImZsIiwgIlVpIiwgIkdpIiwgIldpIiwgIkVsIiwgImZ0IiwgIm1uIiwgIkV0IiwgInluIiwgIkRuIiwgIkZsIiwgImZuIiwgIiR0IiwgInlyIiwgIkNsIiwgIkVuIiwgIlhpIiwgIkFsIiwgIllpIiwgIkhpIiwgIk5pIiwgImRzIiwgIiRpIiwgIlRsIiwgIlZpIiwgImRsIiwgInhsIiwgImhsIiwgIkRyIiwgIktpIiwgIkZuIiwgIlNsIiwgIkJsIiwgImJsIiwgIlFpIiwgInhzIiwgInppIiwgIlBsIiwgIkx0IiwgImtsIiwgImZyIiwgIkFuIiwgIlRuIiwgIkxsIiwgImhzIiwgInJhIiwgImVhIiwgInRhIiwgIklsIiwgImRuIiwgInhuIiwgIm5hIiwgIlppIiwgIndsIiwgImdzIiwgIk9sIiwgInVhIiwgImlhIiwgIlNzIiwgIkJzIiwgImFhIiwgIm9hIiwgInNhIiwgInBhIiwgIm1hIiwgImNhIiwgImhuIiwgImxhIiwgIl9sIiwgImpsIiwgInlhIiwgImtzIiwgIkVhIiwgImZhIiwgIkNhIiwgImduIiwgIkRhIiwgIlJsIiwgIk1sIiwgInZsIiwgIlBzIiwgIkZhIiwgImJzIiwgIkpsIiwgIkFhIiwgInFsIiwgImh0IiwgIklzIiwgIldsIiwgIkdsIiwgIlhsIiwgIlVsIiwgIlRhIiwgIllsIiwgIkhsIiwgIlZsIiwgIk5sIiwgIkt0IiwgInFlIiwgImpzIiwgIlF0IiwgInZzIiwgInFhIiwgIkZyIiwgIldhIiwgIkxzIiwgIk1zIiwgIkdhIiwgIkNyIiwgIlVhIiwgImtuIiwgIlJzIiwgInp0IiwgImRhIiwgIlNuIiwgInhhIiwgIiRsIiwgIlFsIiwgIktsIiwgImhhIiwgImdhIiwgIlNhIiwgIkJuIiwgIkJhIiwgImJuIiwgIlBhIiwgImthIiwgImJhIiwgIklhIiwgIlBuIiwgIkxhIiwgIndhIiwgInpsIiwgImxpIiwgImVtIiwgIlpsIiwgInNtIiwgIk1hIiwgIlJhIiwgIlhhIiwgIkpzIiwgIkFyIiwgInFzIiwgInB0IiwgIldzIiwgIkdzIiwgIl9zIiwgIlVzIiwgIndzIiwgIllhIiwgIkhhIiwgIkJtIiwgInpzIiwgIm9vIiwgImhyIiwgInJ1IiwgImNvIiwgInYiLCAibW8iLCAieW8iLCAiY3UiLCAiYm8iLCAiQXUiLCAiSm4iLCAiZHUiLCAid28iLCAiJG4iLCAiWnUiLCAicHMiLCAiUmUiLCAibHMiLCAiRGkiLCAieWwiLCAiRGwiLCAiZ2wiLCAiQ24iLCAiT2EiLCAidG0iLCAiX2EiLCAiT3MiLCAicm0iLCAiamEiLCAibm0iLCAidmEiLCAidW0iLCAiRXIiLCAid3QiLCAiaW0iLCAiaW5pdF9lc3RyZWUiLCAiX19lc21NaW4iLCAiZmxvd19leHBvcnRzIiwgIl9fZXhwb3J0IiwgImxBMCIsICJsTyIsICJxRTAiLCAibzAiLCAidngiLCAiJHgiLCAiQkUwIiwgIkh0IiwgIlByIiwgImxyIiwgIklyIiwgIkxhIiwgIlhFMCIsICJ6RTAiLCAiS0UwIiwgIkM0IiwgIkQ0IiwgIk80IiwgImFPIiwgIkdFMCIsICJvTyIsICJpeiIsICJWRTAiLCAidGQiLCAiTDIiLCAidHoiLCAibmUiLCAiZnoiLCAidk8iLCAiY08iLCAicnoiLCAic08iLCAib3oiLCAiWkUwIiwgInZ6IiwgIkRsIiwgIkhFMCIsICJRRTAiLCAiZVMwIiwgInJTMCIsICJzeiIsICJheiIsICJ4UzAiLCAidFMwIiwgIm5TMCIsICJ1UzAiLCAibHoiLCAicHoiLCAiaVMwIiwgImZTMCIsICJzUzAiLCAieHoiLCAiYVMwIiwgImh6IiwgIm16IiwgImNTMCIsICJjeiIsICJqRTAiLCAiaU8iLCAiQ0UwIiwgIk9FMCIsICJERTAiLCAiRkUwIiwgIlJFMCIsICJIWSIsICJMRTAiLCAiTUUwIiwgIlpZIiwgInBPIiwgIlVFMCIsICJleiIsICJZRTAiLCAiSkUwIiwgIm56IiwgInV6IiwgIldFMCIsICIkRTAiLCAia3oiLCAib1MwIiwgImluaXRfZmxvdyIsICJfX2VzbU1pbiIsICJmTyIsICJrTyIsICJLcyIsICJuZCIsICJ1ZCIsICJGNCIsICJtTyIsICJpZCIsICJSNCIsICJmZCIsICJKcyIsICJoTyIsICJjZCIsICJkTyIsICJzZCIsICJObiIsICJMNCIsICJhZCIsICJvZCIsICJ2ZCIsICJNNCIsICJ5TyIsICJqbiIsICJsZCIsICJDbiIsICJwZCIsICJrZCIsICJnTyIsICJtZCIsICJ3TyIsICJoZCIsICJfTyIsICJPbiIsICJiTyIsICJxNCIsICJSbyIsICJkZCIsICJEbiIsICJ5ZCIsICJnZCIsICJVNCIsICJ3ZCIsICJfZCIsICJiZCIsICJGbiIsICJSbiIsICJCNCIsICJUZCIsICJYNCIsICJMbiIsICJUTyIsICJNbiIsICJxbiIsICJFTyIsICJTTyIsICJFZCIsICJHcyIsICJTZCIsICJBTyIsICJVbiIsICJBZCIsICJQZCIsICJJZCIsICJQTyIsICJOZCIsICJqZCIsICJDZCIsICJCbiIsICJYbiIsICJPZCIsICJZbiIsICJEZCIsICJZNCIsICJGZCIsICJ6NCIsICJJTyIsICJ6biIsICJzdCIsICJXcyIsICJSZCIsICJMZCIsICJNZCIsICJLNCIsICJOTyIsICJKNCIsICJLbiIsICJqTyIsICJ5MSIsICJKbiIsICJHbiIsICJxZCIsICJVZCIsICJCZCIsICJDTyIsICJYZCIsICJZZCIsICJHNCIsICJPTyIsICJXNCIsICJ6ZCIsICJETyIsICJLZCIsICJKZCIsICJGTyIsICJXbiIsICJHZCIsICJXZCIsICJWZCIsICJWNCIsICIkZCIsICJGbCIsICJWbiIsICJSbCIsICJRZCIsICJsMSIsICJIZCIsICJaZCIsICJ4eSIsICJyeSIsICJzMyIsICJleSIsICJ0eSIsICIkbiIsICJueSIsICJRbiIsICJhMyIsICJIbiIsICJ1eSIsICJabiIsICIkNCIsICJ4NyIsICJpeSIsICJmeSIsICJjeSIsICJyNyIsICJzeSIsICJheSIsICJRNCIsICJveSIsICJSTyIsICJlNyIsICJ2eSIsICJINCIsICJseSIsICJweSIsICJreSIsICJMbyIsICJteSIsICJ0NyIsICJMbCIsICJoeSIsICJuNyIsICJMTyIsICJkeSIsICJNYSIsICJ5eSIsICJNbyIsICJNTyIsICJneSIsICJ3eSIsICJfeSIsICJaNCIsICJieSIsICJUeSIsICJFeSIsICJ1NyIsICJxTyIsICJ4cCIsICJycCIsICJlcCIsICJVTyIsICJTeSIsICJpNyIsICJCTyIsICJYTyIsICJSZSIsICJBeSIsICJQeSIsICJJeSIsICJZTyIsICJOeSIsICJqeSIsICJNbCIsICJ6TyIsICJmNyIsICJWcyIsICJDeSIsICJjNyIsICJzNyIsICJPeSIsICJEeSIsICJLTyIsICJ0cCIsICJhNyIsICJGeSIsICJucCIsICJadCIsICJvNyIsICJSeSIsICJ2NyIsICJMeSIsICJsNyIsICJNeSIsICJxeSIsICJVeSIsICJCeSIsICJxbyIsICJwNyIsICJKTyIsICJYeSIsICJZeSIsICJHTyIsICJ6eSIsICJLeSIsICJKeSIsICJHeSIsICJrNyIsICJXeSIsICJWeSIsICJxbCIsICIkeSIsICJReSIsICJXTyIsICJWTyIsICJtNyIsICJIeSIsICJoNyIsICIkTyIsICJaeSIsICJ4OSIsICJ1cCIsICJyOSIsICJRTyIsICJkNyIsICJlOSIsICJpcCIsICJ5NyIsICJMZSIsICJ0OSIsICJITyIsICJzMiIsICJvMyIsICJnNyIsICJuOSIsICJxYSIsICJ1OSIsICJpOSIsICJmOSIsICJjOSIsICJzOSIsICJaTyIsICJhOSIsICJvOSIsICJmcCIsICJ2OSIsICJsOSIsICJwOSIsICJ4RCIsICJVbyIsICJrOSIsICJtOSIsICJ3NyIsICJoOSIsICJjcCIsICJkOSIsICJzcCIsICJyRCIsICJlRCIsICJ5OSIsICIkcyIsICJhcCIsICJnOSIsICJ0RCIsICJfNyIsICJuRCIsICJiNyIsICJ1RCIsICJ3OSIsICJfOSIsICJpRCIsICJiOSIsICJUOSIsICJVbCIsICJmRCIsICJFOSIsICJTOSIsICJBOSIsICJCbyIsICJQOSIsICJvcCIsICJJOSIsICJOOSIsICJqOSIsICJjRCIsICJUNyIsICJDOSIsICJPOSIsICJ2cCIsICJzRCIsICJ2MyIsICJEOSIsICJCMSIsICJFNyIsICJhRCIsICJTNyIsICJvRCIsICJGOSIsICJscCIsICJSOSIsICJMOSIsICJBNyIsICJNOSIsICJ2RCIsICJsRCIsICJVYSIsICJxOSIsICJRcyIsICJVOSIsICJwcCIsICJCOSIsICJrcCIsICJYOSIsICJZOSIsICJ6OSIsICJLOSIsICJtcCIsICJQNyIsICJocCIsICJsMyIsICJKOSIsICJlMSIsICJHOSIsICJXOSIsICJJNyIsICJWOSIsICJwMyIsICIkOSIsICJROSIsICJIOSIsICJkcCIsICJaOSIsICJwRCIsICJrRCIsICJtRCIsICJ4ZyIsICJyZyIsICJoRCIsICJlZyIsICJ0ZyIsICJkRCIsICJ5cCIsICJ1ZSIsICJONyIsICJJMiIsICJ5RCIsICJuZyIsICJfZSIsICJnRCIsICJ3RCIsICJqNyIsICJncCIsICJDNyIsICJ3cCIsICJ1ZyIsICJpZyIsICJfRCIsICJmZyIsICJpZSIsICJjZyIsICJzZyIsICJhZyIsICJfcCIsICJvZyIsICJiRCIsICJURCIsICJ2ZyIsICJFRCIsICJsZyIsICJPNyIsICJENyIsICJicCIsICJwZyIsICJQdCIsICJrZyIsICJJdCIsICJtZyIsICJoZyIsICJUcCIsICJkZyIsICJFcCIsICJ5ZyIsICJnZyIsICJ3ZyIsICJCbCIsICJfZyIsICJiZyIsICJUZyIsICJFZyIsICJTZyIsICJBZyIsICJrMyIsICJTRCIsICJQZyIsICJJZyIsICJOZyIsICJBRCIsICJqZyIsICJQRCIsICJTcCIsICJBcCIsICJJRCIsICJYbyIsICJDZyIsICJYbCIsICJPZyIsICJQcCIsICJhdCIsICJJcCIsICJEZyIsICJGZyIsICJOcCIsICJSZyIsICJORCIsICJMZyIsICJxZyIsICJqcCIsICJVZyIsICJZbyIsICJCZyIsICJZbCIsICJGNyIsICJYZyIsICJZZyIsICJ6ZyIsICJSNyIsICJMNyIsICJ6byIsICJDcCIsICJLZyIsICJqRCIsICJKZyIsICJHZyIsICJXZyIsICJWZyIsICIkZyIsICJRZyIsICJaZyIsICJNNyIsICJxNyIsICJDRCIsICJPcCIsICJ4dyIsICJydyIsICJldyIsICJPRCIsICJEcCIsICJ0dyIsICJVNyIsICJGcCIsICJScCIsICJCYSIsICJudyIsICJERCIsICJGRCIsICJCNyIsICJYNyIsICJ1dyIsICJpdyIsICJZNyIsICJmdyIsICJ6NyIsICJLNyIsICJjdyIsICJMcCIsICJNcCIsICJzdyIsICJxcCIsICJVcCIsICJIcyIsICJSRCIsICJCcCIsICJYcCIsICJZcCIsICJhdyIsICJMRCIsICJLbyIsICJ6cCIsICJLcCIsICJvdyIsICJKNyIsICJ2dyIsICJsdyIsICJHNyIsICJXNyIsICJWNyIsICIkNyIsICJRNyIsICJKcCIsICJwdyIsICJNRCIsICJrdyIsICJINyIsICJHcCIsICJXcCIsICJaNyIsICJ4dSIsICJWcCIsICJtdyIsICJYYSIsICJodyIsICJkdyIsICJ5dyIsICJxRCIsICJydSIsICJndyIsICJ3dyIsICJVRCIsICJfdyIsICJidyIsICJldSIsICJUdyIsICJ0dSIsICJFdyIsICJTdyIsICJCRCIsICJYRCIsICJudSIsICJBdyIsICJ1dSIsICJpdSIsICJQdyIsICJmdSIsICJJdyIsICJOdyIsICJqdyIsICIkcCIsICJZRCIsICJ6bCIsICJDdyIsICJPdyIsICJEdyIsICJmZSIsICJGdyIsICJRcCIsICJ6RCIsICJSdyIsICJKbyIsICJtMyIsICJIcCIsICJacCIsICJjdSIsICJMdyIsICJ4ayIsICJ5MiIsICJzdSIsICJhdSIsICJyayIsICJvdSIsICJNdyIsICJlayIsICJ2dSIsICJxdyIsICJLRCIsICJsdSIsICJ0ayIsICJVdyIsICJCdyIsICJuayIsICJKRCIsICJYdyIsICJZdyIsICJ6dyIsICJ1ayIsICJLdyIsICJKdyIsICJHdyIsICJXdyIsICJoMyIsICJWdyIsICIkdyIsICJRdyIsICJIdyIsICJadyIsICJpayIsICJwdSIsICJmayIsICJHRCIsICJ4XyIsICJyXyIsICJXRCIsICJrdSIsICJlXyIsICJjayIsICJ0XyIsICJuXyIsICJzayIsICJWRCIsICJhayIsICIkRCIsICJ1XyIsICJvayIsICJRRCIsICJIRCIsICJtdSIsICJodSIsICJkdSIsICJLbCIsICJaRCIsICJ2ayIsICJpXyIsICJHbyIsICJmXyIsICJjXyIsICJ5dSIsICJzXyIsICJsayIsICJhXyIsICJvXyIsICJndSIsICJ4RiIsICJyRiIsICJ3dSIsICJ2XyIsICJZYSIsICJXbyIsICJsXyIsICJlRiIsICJ0RiIsICJfdSIsICJwXyIsICJuRiIsICJWbyIsICJ1RiIsICJrXyIsICJwayIsICJtXyIsICJoXyIsICJpRiIsICJidSIsICJkXyIsICJUdSIsICJrayIsICJmRiIsICJjRiIsICJFdSIsICJTdSIsICJ5XyIsICJnXyIsICJ3XyIsICJfXyIsICJtayIsICJBdSIsICJiXyIsICJQdSIsICJzRiIsICJhRiIsICJUXyIsICJJdSIsICJkMyIsICJiZSIsICJKbCIsICJOdSIsICJoayIsICJFXyIsICJNZSIsICJvRiIsICJTXyIsICJBXyIsICJqdSIsICJ2RiIsICJQXyIsICJDdSIsICJPdSIsICJkayIsICJ5ayIsICJEdSIsICJGdSIsICJsRiIsICJnayIsICJ3ayIsICJfayIsICJSdSIsICJMdSIsICJYMSIsICJJXyIsICJOXyIsICJqXyIsICJDXyIsICJNdSIsICJwMSIsICJPXyIsICJiayIsICJEXyIsICJGXyIsICJSXyIsICJwRiIsICJxdSIsICJrRiIsICJVdSIsICJMXyIsICJCdSIsICIkbyIsICJNXyIsICJxXyIsICJVXyIsICJUayIsICJtRiIsICJYdSIsICJCXyIsICJoRiIsICJkRiIsICJZdSIsICJ6dSIsICJLdSIsICJYXyIsICJFayIsICJTayIsICJBayIsICJ6YSIsICJZXyIsICJ5RiIsICJQayIsICJ6XyIsICJKdSIsICJJayIsICJ5MyIsICJLXyIsICJKXyIsICJHXyIsICJnRiIsICJXXyIsICJHdSIsICJWXyIsICIkXyIsICJ3RiIsICJRXyIsICJfRiIsICJHbCIsICJIXyIsICJiRiIsICJxZSIsICJOayIsICJaXyIsICJqayIsICJ4YiIsICJXdSIsICJyYiIsICJlYiIsICJ0YiIsICJ0MSIsICJuYiIsICJ1YiIsICJDayIsICJpYiIsICJWdSIsICJURiIsICJXbCIsICJPayIsICJmYiIsICJEayIsICJjYiIsICJGayIsICJnMyIsICJzYiIsICJWbCIsICIkdSIsICJSayIsICJhYiIsICJRdSIsICJVZSIsICJvYiIsICJFRiIsICJMayIsICJNayIsICJ2YiIsICJxayIsICJsYiIsICJwYiIsICJrYiIsICJtYiIsICJoYiIsICJVayIsICJTRiIsICJkYiIsICJ5YiIsICJIdSIsICJadSIsICJnYiIsICJBRiIsICJ3YiIsICJ4aSIsICJCayIsICJyaSIsICJfYiIsICJiYiIsICJlaSIsICJUYiIsICJFYiIsICJTYiIsICJBYiIsICJQYiIsICJJYiIsICJYayIsICJ0aSIsICJQRiIsICJRbyIsICJZayIsICJJRiIsICJORiIsICJuaSIsICJOYiIsICJ1aSIsICJqYiIsICJDYiIsICJPYiIsICJEYiIsICJ6ayIsICJqRiIsICJDRiIsICJpaSIsICJPRiIsICJmaSIsICJGYiIsICJLayIsICJjaSIsICJERiIsICJGRiIsICJSYiIsICJzaSIsICJhaSIsICJIbyIsICJKayIsICJMYiIsICJLYSIsICJvaSIsICJ3MyIsICJNYiIsICJabyIsICJxYiIsICJVYiIsICJCYiIsICJ2aSIsICJHayIsICJsaSIsICJwaSIsICJYYiIsICJSRiIsICJXayIsICJZYiIsICJ6YiIsICJLYiIsICJMRiIsICJKYiIsICJHYiIsICJXYiIsICJNRiIsICJWYiIsICJraSIsICIkYiIsICJRYiIsICJWayIsICJtaSIsICIkayIsICJRayIsICJIayIsICJoaSIsICJxRiIsICJkaSIsICJ5aSIsICJnaSIsICJVRiIsICJIYiIsICJCRiIsICJuMSIsICJaayIsICJ3aSIsICJfaSIsICJiaSIsICJ4OCIsICJyOCIsICJaYiIsICJ4VCIsICJYRiIsICJlOCIsICJZRiIsICJUaSIsICJFaSIsICJyVCIsICJlVCIsICJ0OCIsICJTaSIsICJ4diIsICJ6RiIsICJBaSIsICJ0VCIsICJuVCIsICJQaSIsICJfMyIsICJLRiIsICJ1VCIsICJKRiIsICJaMCIsICJpVCIsICJmVCIsICJjVCIsICJzVCIsICJhVCIsICJJaSIsICJvVCIsICJ2VCIsICIkbCIsICJacyIsICJsVCIsICJHRiIsICJwVCIsICJXRiIsICJrVCIsICJuOCIsICJtVCIsICJLMiIsICJ1OCIsICJWRiIsICJOaSIsICJiMyIsICJKYSIsICJoVCIsICJqaSIsICJDaSIsICJpOCIsICJkVCIsICJmOCIsICJ5VCIsICJjOCIsICJzOCIsICJnVCIsICIkRiIsICJRRiIsICJPaSIsICJIRiIsICJ3VCIsICJfVCIsICJhOCIsICJEaSIsICJ4biIsICJaRiIsICJiVCIsICJ4UiIsICJGaSIsICJSaSIsICJHYSIsICJUVCIsICJyUiIsICJtciIsICJMaSIsICJFVCIsICJTVCIsICJNaSIsICJRbCIsICJxaSIsICJUZSIsICJVaSIsICJlUiIsICJBVCIsICJCaSIsICJQVCIsICJJVCIsICJIbCIsICJOVCIsICJYaSIsICJjZSIsICJqVCIsICJ0UiIsICJvOCIsICJDVCIsICJabCIsICJuUiIsICJ1UiIsICJ2OCIsICJsOCIsICJPVCIsICJpUiIsICJwOCIsICJEVCIsICJZaSIsICJGVCIsICJmUiIsICJSVCIsICJMVCIsICJNVCIsICJ6aSIsICJLaSIsICJybiIsICJKaSIsICJxVCIsICJVVCIsICJCVCIsICJHaSIsICJYVCIsICJXaSIsICJrOCIsICJZVCIsICJ6VCIsICJLVCIsICJ4NiIsICJKVCIsICJtOCIsICJjUiIsICJHVCIsICJWaSIsICJCciIsICJXVCIsICJzUiIsICJWVCIsICJhUiIsICJoOCIsICJvUiIsICIkaSIsICJRaSIsICJ2UiIsICJsUiIsICIkVCIsICJwUiIsICJkOCIsICJrUiIsICJIaSIsICJaaSIsICJ4ZiIsICJ5OCIsICJnOCIsICJRVCIsICJlbiIsICJIVCIsICJaVCIsICJyZiIsICJtUiIsICJ4RSIsICJyRSIsICJlRSIsICJoUiIsICJkUiIsICJ5UiIsICJ0RSIsICJuRSIsICJ1RSIsICJ3OCIsICJpRSIsICJmRSIsICJlZiIsICJjRSIsICJnUiIsICJ0ZiIsICJzRSIsICJyNiIsICJydiIsICJuZiIsICJhRSIsICJvRSIsICJ2RSIsICJfOCIsICJ3UiIsICJsRSIsICJwRSIsICJfUiIsICJ1ZiIsICJmZiIsICJrRSIsICJtRSIsICJUMyIsICJoRSIsICJjZiIsICJzZiIsICJkRSIsICJ5RSIsICJnRSIsICJ3RSIsICJFMyIsICJiOCIsICJfRSIsICJiRSIsICJhZiIsICJURSIsICJiUiIsICJOdCIsICJTMyIsICJUUiIsICJFRSIsICJvZiIsICJTRSIsICJBRSIsICJFUiIsICJQRSIsICJTUiIsICJ2ZiIsICJsZiIsICJlNiIsICJJRSIsICJBUiIsICJQUiIsICJBMyIsICJJUiIsICJORSIsICJwZiIsICJqRSIsICJDRSIsICJPRSIsICJOUiIsICJUOCIsICJERSIsICJGRSIsICJrZiIsICJSRSIsICJFOCIsICJMRSIsICJtZiIsICJoZiIsICJNRSIsICJxRSIsICJVRSIsICJCRSIsICJYRSIsICJldiIsICJZRSIsICJ6RSIsICJLRSIsICJQMyIsICJKRSIsICJTOCIsICJrMSIsICJHRSIsICJXRSIsICJkZiIsICJqUiIsICJWRSIsICIkRSIsICJRRSIsICJBOCIsICJQOCIsICJ5ZiIsICJIRSIsICJaRSIsICJ4UyIsICJDUiIsICJyUyIsICJlUyIsICJPUiIsICJEUiIsICJ0UyIsICJnZiIsICJ3ZiIsICJJOCIsICJOOCIsICJuUyIsICJ1UyIsICJqOCIsICJpUyIsICJmUyIsICJjUyIsICJGUiIsICJ0NiIsICJuNiIsICJfZiIsICJzUyIsICJhUyIsICJDOCIsICJvUyIsICJiZiIsICJ2UyIsICJPOCIsICJsUyIsICJUZiIsICJqdCIsICJEOCIsICJSUiIsICJwUyIsICJGOCIsICJSOCIsICJMOCIsICJrUyIsICJNOCIsICJFZiIsICJTZiIsICJtUyIsICJ1NiIsICJoUyIsICJBZiIsICJpNiIsICJQZiIsICJkUyIsICJxOCIsICJ5UyIsICJVOCIsICJnUyIsICJJZiIsICJCOCIsICJ3UyIsICJfUyIsICJiUyIsICJUUyIsICJFUyIsICJOZiIsICJTUyIsICJqZiIsICJDZiIsICJMUiIsICJNUiIsICJBUyIsICJxUiIsICJYOCIsICJmNiIsICJPZiIsICJQUyIsICJJUyIsICJOUyIsICJZOCIsICJqUyIsICJDUyIsICJ6OCIsICJEZiIsICJGZiIsICJPUyIsICJSZiIsICJEUyIsICJVUiIsICJ0diIsICJMZiIsICJGUyIsICJSUyIsICJMUyIsICJNUyIsICJxUyIsICJVUyIsICJNZiIsICJCUyIsICJLOCIsICJCZSIsICJYUyIsICJudiIsICJKOCIsICJZMSIsICJZUyIsICJ6UyIsICJCUiIsICJLUyIsICJHOCIsICJxZiIsICJYUiIsICJVZiIsICJKUyIsICJZUiIsICJ6UiIsICJCZiIsICJHUyIsICJXUyIsICJWUyIsICJYZiIsICJLUiIsICIkUyIsICJKUiIsICJRUyIsICJIUyIsICJHUiIsICJaUyIsICJXUiIsICJ4QSIsICJyQSIsICJlQSIsICJ0QSIsICJuQSIsICJ1diIsICJWUiIsICIkUiIsICJ1QSIsICJZZiIsICJ6ZiIsICJLZiIsICJpQSIsICJmQSIsICJRUiIsICJjQSIsICJzQSIsICJhQSIsICJvQSIsICJKZiIsICJ2QSIsICJsQSIsICJwQSIsICJYZSIsICJjNiIsICJXOCIsICJHZiIsICJrQSIsICJtQSIsICJWOCIsICJXZiIsICJoQSIsICJIUiIsICJkQSIsICJ5QSIsICJnQSIsICJWZiIsICJaUiIsICIkZiIsICJ4TCIsICJ3QSIsICIkOCIsICJyTCIsICJfQSIsICJiQSIsICJRZiIsICJUQSIsICJFQSIsICJTQSIsICJROCIsICJZZSIsICJBQSIsICJ4YSIsICJzNiIsICJQQSIsICJIOCIsICJaOCIsICJJQSIsICJ0biIsICJIZiIsICJlTCIsICJ0TCIsICJaZiIsICJOQSIsICJuTCIsICJ4YyIsICJDdCIsICJqQSIsICJ4bSIsICJ1TCIsICJDQSIsICJPQSIsICJhNiIsICJEQSIsICJGQSIsICJpTCIsICJybSIsICJyYyIsICJlYyIsICJlbSIsICJSQSIsICJmTCIsICJ0YyIsICJMQSIsICJubiIsICJjTCIsICJNQSIsICJzTCIsICJxQSIsICJ0bSIsICJuYyIsICJVQSIsICJvNiIsICJCQSIsICJubSIsICJYQSIsICJhTCIsICJ6MSIsICJZQSIsICJ6QSIsICJ1YyIsICJLQSIsICJNMiIsICJKQSIsICJHQSIsICJpYyIsICJXQSIsICJWciIsICJmYyIsICJWQSIsICIkQSIsICJRQSIsICJjYyIsICJzYyIsICJ1bSIsICJIQSIsICJhYyIsICJvYyIsICJpbSIsICJaQSIsICJvTCIsICJyYSIsICJ4UCIsICJ2YyIsICJ2TCIsICJyUCIsICJsTCIsICJnMSIsICJwTCIsICJ2NiIsICJpdiIsICJlUCIsICJsYyIsICJwYyIsICJsNiIsICJ0UCIsICJrYyIsICJuUCIsICJ1UCIsICJpUCIsICJmUCIsICJrTCIsICJtYyIsICJoYyIsICJjUCIsICJmbSIsICJtTCIsICJzUCIsICJkYyIsICJoTCIsICJ5YyIsICJjbSIsICJwNiIsICJkTCIsICJhUCIsICJnYyIsICJvUCIsICJ5TCIsICJ2UCIsICJsUCIsICJnTCIsICJ1biIsICJwUCIsICJrUCIsICJtUCIsICJoUCIsICJ3YyIsICJkUCIsICJ5UCIsICJnUCIsICJfYyIsICJiYyIsICJ3UCIsICJ3TCIsICJzbSIsICJhbSIsICJvbSIsICJUYyIsICJ2bSIsICJfUCIsICJ2UzAiLCAiemUiLCAiYlAiLCAiVFAiLCAiV2EiLCAiRVAiLCAiU1AiLCAiQVAiLCAiZnYiLCAiSTMiLCAiUFAiLCAiX0wiLCAibG0iLCAicG0iLCAiSVAiLCAiRWMiLCAiU2MiLCAiTlAiLCAialAiLCAiQWMiLCAiQ1AiLCAiUGMiLCAiYkwiLCAiSzEiLCAiT1AiLCAiRFAiLCAiTjMiLCAiRlAiLCAiUlAiLCAiazYiLCAiTFAiLCAibTYiLCAiTVAiLCAiSWMiLCAicVAiLCAiVVAiLCAia20iLCAiQlAiLCAiWFAiLCAibW0iLCAiWVAiLCAiTmMiLCAiamMiLCAielAiLCAiY3YiLCAiS1AiLCAiSlAiLCAiVEwiLCAiQ2MiLCAiR1AiLCAiaG0iLCAiZG0iLCAiT2MiLCAiRUwiLCAiRGMiLCAiV1AiLCAieW0iLCAiZ20iLCAiVlAiLCAid20iLCAiJFAiLCAiUVAiLCAiSFAiLCAiajMiLCAiRmMiLCAiUmMiLCAiWlAiLCAieEkiLCAickkiLCAiZUkiLCAidEkiLCAiU0wiLCAiQUwiLCAiUEwiLCAiSUwiLCAiTGMiLCAibkkiLCAiTWMiLCAiTkwiLCAidUkiLCAiZWEiLCAiaUkiLCAicWMiLCAiVWMiLCAiaDYiLCAiakwiLCAiQ0wiLCAiZkkiLCAiY0kiLCAiX20iLCAiQmMiLCAic0kiLCAiYm0iLCAiYUkiLCAiT0wiLCAib0kiLCAiWGMiLCAidkkiLCAibEkiLCAicEkiLCAiWWMiLCAiREwiLCAiemMiLCAiS2MiLCAibjIiLCAiVG0iLCAiRW0iLCAia0kiLCAiRkwiLCAibUkiLCAiS2UiLCAiZm4iLCAiSmMiLCAiaEkiLCAiZEkiLCAiZzIiLCAiUkwiLCAieUkiLCAiZ0kiLCAid0kiLCAiR2MiLCAiX0kiLCAiU20iLCAiV2MiLCAiQW0iLCAic3YiLCAiUG0iLCAiYkkiLCAiVmMiLCAiVEkiLCAiRUkiLCAiTEwiLCAiY24iLCAiU0kiLCAiQzMiLCAiSjEiLCAiQUkiLCAidTEiLCAiYXYiLCAiJGMiLCAiUEkiLCAiTUwiLCAiSUkiLCAiSW0iLCAicUwiLCAiTkkiLCAiVUwiLCAiTm0iLCAiakkiLCAiam0iLCAiQ0kiLCAiUWMiLCAiT0kiLCAiREkiLCAiZDYiLCAiRkkiLCAiUkkiLCAiQ20iLCAiTEkiLCAiQkwiLCAiTUkiLCAicUkiLCAiSmUiLCAiTzMiLCAiWEwiLCAiT20iLCAiRG0iLCAiVUkiLCAiRm0iLCAiWUwiLCAieTYiLCAiekwiLCAiQkkiLCAiWEkiLCAiUm0iLCAiSGMiLCAiWUkiLCAiekkiLCAiS0kiLCAiSkkiLCAiS0wiLCAiWmMiLCAiR0kiLCAiSkwiLCAiV0kiLCAiR2UiLCAiVkkiLCAiTG0iLCAiR0wiLCAiJEkiLCAiUUkiLCAieHMiLCAiSEkiLCAicnMiLCAiWkkiLCAiV0wiLCAieE4iLCAick4iLCAiZXMiLCAiRDMiLCAiZU4iLCAidE4iLCAibk4iLCAidU4iLCAidHMiLCAiVkwiLCAiaU4iLCAiTW0iLCAiZk4iLCAic24iLCAiY04iLCAiRjMiLCAiZzYiLCAic04iLCAiYU4iLCAibnMiLCAiJEwiLCAib04iLCAidk4iLCAibE4iLCAicE4iLCAidXMiLCAia04iLCAicW0iLCAibU4iLCAiaXMiLCAiaE4iLCAiVW0iLCAiZnMiLCAiZHoiLCAieCIsICJyIiwgImUiLCAidCIsICJ1IiwgImkiLCAieXoiLCAiZ3oiLCAiQm0iLCAid3oiLCAiUjMiLCAiUUwiLCAiZE4iLCAiRzEiLCAiX3oiLCAiVzAiLCAiYnoiLCAibFMwIiwgInlOIiwgImkxIiwgIkhMIiwgIlpMIiwgIlhtIiwgInhNIiwgInJNIiwgImVNIiwgImVyIiwgIlR6IiwgImdOIiwgIndOIiwgInc2IiwgIkV6IiwgIlZhIiwgImMiLCAiTDMiLCAiX04iLCAidE0iLCAiU3oiLCAiXzYiLCAiYjYiLCAiWW0iLCAidGEiLCAidiIsICJhIiwgIk0zIiwgInptIiwgImJOIiwgIm5NIiwgImwiLCAibmEiLCAidU0iLCAicFMwIiwgIk90IiwgImNzIiwgInEzIiwgInNlIiwgIlROIiwgIkF6IiwgIlhyIiwgInVhIiwgIlUzIiwgIlB6IiwgInNzIiwgIm0iLCAiaCIsICJOMiIsICJJeiIsICJOeiIsICJqeiIsICJDeiIsICJFTiIsICJvdCIsICJLbSIsICJpTSIsICJTTiIsICJBTiIsICJXMSIsICJmTSIsICJUIiwgImIiLCAiTiIsICJqIiwgIksiLCAiSSIsICJGIiwgIk0iLCAieiIsICJCIiwgImNNIiwgInNNIiwgImlhIiwgIk96IiwgImFNIiwgIm9NIiwgIkR6IiwgIkZ6IiwgIlJ6IiwgIkx6IiwgIk16IiwgInF6IiwgInZNIiwgIlBOIiwgImxNIiwgIklOIiwgIk5OIiwgInBNIiwgIldlIiwgImZ4IiwgIlV6IiwgIkptIiwgImtNIiwgIkJ6IiwgIlMyIiwgIkdtIiwgIlh6IiwgIm1NIiwgIll6IiwgIkIzIiwgInp6IiwgImpOIiwgIkNOIiwgIk9OIiwgIkROIiwgIldtIiwgImhNIiwgImFzIiwgImRNIiwgIlZtIiwgIkJ4IiwgIkt6IiwgIkR0IiwgIkp6IiwgIkd6IiwgIlQ2IiwgIld6IiwgIlZ6IiwgIkZOIiwgInlNIiwgIk54IiwgIkowIiwgImdNIiwgIndNIiwgIlJOIiwgIl9NIiwgIiRtIiwgIm92IiwgImJNIiwgIlFtIiwgInZ0IiwgIkp4IiwgIiR6IiwgIkhtIiwgIlF6IiwgIkh6IiwgIkxOIiwgIlp6IiwgInhLIiwgInJLIiwgImVLIiwgIlRNIiwgInRLIiwgIm5LIiwgInVLIiwgImlLIiwgIlptIiwgIm4wIiwgIiRhIiwgImZLIiwgIng1IiwgImNLIiwgInNLIiwgIk1OIiwgImFLIiwgIm9LIiwgInZLIiwgIkZ0IiwgImxLIiwgImpyIiwgImZhIiwgImFuIiwgIkVNIiwgImtTMCIsICJvbiIsICJwSyIsICJyNSIsICJFNiIsICJrSyIsICJxTiIsICJTTSIsICJTNiIsICJtSyIsICJoSyIsICJjYSIsICJBTSIsICJRYSIsICJzYSIsICJVTiIsICJQTSIsICJhZSIsICJ2diIsICJ3MSIsICJmMSIsICJJTSIsICJlNSIsICJYMyIsICJkSyIsICJBNiIsICJ0NSIsICJtUzAiLCAieUsiLCAiTk0iLCAiZ0siLCAid0siLCAiX0siLCAiQk4iLCAiak0iLCAibHYiLCAiWE4iLCAicHYiLCAiYksiLCAiUnQiLCAiWU4iLCAiVEsiLCAiYnIiLCAiRUsiLCAicTIiLCAiUCIsICJfMSIsICJTSyIsICJBSyIsICJQSyIsICJJSyIsICJDTSIsICJOSyIsICJuNSIsICJKMiIsICJGciIsICJVMiIsICJqSyIsICJDSyIsICJPTSIsICJPSyIsICJkIiwgInAiLCAiSDAiLCAiek4iLCAiS04iLCAiUDYiLCAiREsiLCAiTyIsICJKTiIsICJETSIsICJ2biIsICJ1NSIsICJvcyIsICJGTSIsICJSTSIsICJOciIsICJJNiIsICJGSyIsICJHTiIsICJZMyIsICJ6MyIsICJMTSIsICJNTSIsICJsbiIsICJCMiIsICJvZSIsICJqMiIsICIkIiwgIkgiLCAidDAiLCAiYzAiLCAicjAiLCAidjAiLCAiYTAiLCAiZzAiLCAiaTAiLCAiczAiLCAiZDAiLCAiVHgiLCAiUjEiLCAiaTUiLCAiUksiLCAiTEsiLCAicXgiLCAiTXgiLCAicU0iLCAicG4iLCAiTUsiLCAiTjYiLCAiVU0iLCAiQk0iLCAiV04iLCAiWE0iLCAiVk4iLCAiWU0iLCAiajYiLCAiZjUiLCAiek0iLCAicUsiLCAiVUsiLCAiQksiLCAiYWEiLCAiQzYiLCAiS00iLCAiSzMiLCAiaXgiLCAiTzYiLCAidnMiLCAiYzUiLCAiYjEiLCAibTEiLCAiJE4iLCAiSk0iLCAiSjMiLCAiUU4iLCAiRDYiLCAiWEsiLCAiWUsiLCAieksiLCAia3YiLCAiR00iLCAiRzMiLCAiV00iLCAia24iLCAiS0siLCAiSksiLCAiczUiLCAiVDEiLCAiVk0iLCAiJE0iLCAiUU0iLCAiSE0iLCAiYTUiLCAiR0siLCAiWk0iLCAieHEiLCAibzUiLCAiRjYiLCAicnEiLCAiV0siLCAiVksiLCAiJEsiLCAiUUsiLCAiSE4iLCAiUjYiLCAiTDYiLCAibXYiLCAiVzMiLCAiVjMiLCAiZXEiLCAiWk4iLCAieGoiLCAiSEsiLCAiWksiLCAiJHIiLCAiRzIiLCAicmoiLCAibHQiLCAiZWoiLCAidGoiLCAiaXIiLCAibmoiLCAidHEiLCAibnEiLCAieEoiLCAickoiLCAibHMiLCAidXEiLCAiTTYiLCAiaHYiLCAidWoiLCAiaXEiLCAiZUoiLCAidEoiLCAibkoiLCAidUoiLCAiaUoiLCAiZkoiLCAiY0oiLCAic0oiLCAiYUoiLCAib0oiLCAidkoiLCAibEoiLCAicEoiLCAia0oiLCAibUoiLCAiaEoiLCAiZEoiLCAieUoiLCAiZ0oiLCAid0oiLCAiX0oiLCAiYkoiLCAiVEoiLCAiRUoiLCAiU0oiLCAiQUoiLCAiUEoiLCAiSUoiLCAiTkoiLCAiakoiLCAiQ0oiLCAiT0oiLCAiREoiLCAiRkoiLCAiUkoiLCAiTEoiLCAiTUoiLCAicUoiLCAiVUoiLCAiQkoiLCAiWEoiLCAiaWoiLCAiZnEiLCAiY3EiLCAiJDMiLCAiTDEiLCAic3EiLCAiYXEiLCAiZmoiLCAiYzEiLCAiTTEiLCAibTAiLCAidzAiLCAiTTAiLCAiaDEiLCAiQzAiLCAiRDAiLCAiSTAiLCAiajAiLCAieTAiLCAiWTAiLCAiTCIsICJOMCIsICJTMCIsICJLMCIsICJBMCIsICIkMCIsICJleCIsICJ4eCIsICJ0eCIsICJ6MCIsICJweCIsICJzeCIsICJRIiwgImIwIiwgIlUiLCAiaDAiLCAiXzAiLCAibiIsICJFMSIsICJZSiIsICJ6SiIsICJLSiIsICJKSiIsICJHSiIsICJXSiIsICJWSiIsICIkSiIsICJRSiIsICJISiIsICJaSiIsICJ4RyIsICJyRyIsICJlRyIsICJ0RyIsICJuRyIsICJ1RyIsICJpRyIsICJmRyIsICJjRyIsICJzRyIsICJhRyIsICJvRyIsICJ2RyIsICJsRyIsICJwRyIsICJrRyIsICJtRyIsICJoRyIsICJkRyIsICJ5RyIsICJnRyIsICJ3RyIsICJfRyIsICJiRyIsICJURyIsICJFRyIsICJTRyIsICJBRyIsICJQRyIsICJJRyIsICJORyIsICJqRyIsICJDRyIsICJPRyIsICJERyIsICJGRyIsICJSRyIsICJMRyIsICJNRyIsICJxRyIsICJVRyIsICJCRyIsICJYRyIsICJZRyIsICJ6RyIsICJLRyIsICJKRyIsICJHRyIsICJXRyIsICJWRyIsICIkRyIsICJRRyIsICJIRyIsICJaRyIsICJ4VyIsICJyVyIsICJlVyIsICJ0VyIsICJuVyIsICJ1VyIsICJpVyIsICJmVyIsICJjVyIsICJzVyIsICJ2NSIsICJxNiIsICJoMiIsICJUMCIsICJYIiwgIkd4IiwgIlB4IiwgIkcwIiwgIktyIiwgIlMiLCAiRyIsICJyeCIsICJ5eCIsICJFeCIsICJueCIsICJwMCIsICJGeCIsICJTeCIsICJieCIsICJCMCIsICJXeCIsICJZeCIsICJheCIsICJReCIsICJreCIsICJ0ciIsICJzciIsICJNciIsICJhMiIsICJfMiIsICJpMiIsICJRMiIsICJqeCIsICJfIiwgIlYiLCAibHgiLCAiVTAiLCAib3giLCAiVmUiLCAid3giLCAiQ3IiLCAiRWUiLCAiSHgiLCAiWnIiLCAiJGUiLCAiUTMiLCAiYVciLCAib3EiLCAibDUiLCAib1ciLCAidlciLCAibFciLCAicFciLCAib2EiLCAiVTYiLCAiTHIiLCAic2oiLCAicDUiLCAidjIiLCAiY2oiLCAiYWoiLCAicHQiLCAia1ciLCAidmEiLCAibGEiLCAidnEiLCAib2oiLCAiYXIiLCAidmoiLCAibVciLCAiaFciLCAiZFciLCAieVciLCAiZ1ciLCAid1ciLCAiX1ciLCAiYlciLCAiVFciLCAiRVciLCAiU1ciLCAiQVciLCAiUFciLCAiSVciLCAiTlciLCAialciLCAiQ1ciLCAiT1ciLCAiRFciLCAiRlciLCAiUlciLCAiTFciLCAiTVciLCAicVciLCAiVVciLCAiQlciLCAibGoiLCAibHEiLCAiQjYiLCAicGoiLCAia2oiLCAiWFciLCAiWVciLCAielciLCAiS1ciLCAiSlciLCAiR1ciLCAiV1ciLCAiVlciLCAiJFciLCAibWoiLCAicHEiLCAiUVciLCAiSFciLCAiWlciLCAieFYiLCAiclYiLCAia3EiLCAibXEiLCAiaHEiLCAiZVYiLCAidFYiLCAiblYiLCAidVYiLCAiazUiLCAiZHEiLCAiaGoiLCAiWDYiLCAieXEiLCAiaVYiLCAiZlYiLCAiY1YiLCAic1YiLCAiYVYiLCAib1YiLCAidlYiLCAibFYiLCAicFYiLCAiZGoiLCAibTUiLCAiZ3EiLCAiaDUiLCAiZHYiLCAid3EiLCAiSDMiLCAia1YiLCAiX3EiLCAiYnEiLCAiVHEiLCAieWoiLCAiZ2oiLCAiRXEiLCAiU3EiLCAiQXEiLCAiUHEiLCAiSXEiLCAid2oiLCAiTnEiLCAiWTYiLCAieXYiLCAiX2oiLCAianEiLCAibVYiLCAiaFYiLCAiZFYiLCAieVYiLCAiZ1YiLCAid1YiLCAiX1YiLCAiYlYiLCAiVFYiLCAiWjMiLCAiRVYiLCAiU1YiLCAiQVYiLCAiUFYiLCAiYmoiLCAiQ3EiLCAiT3EiLCAiVGoiLCAiRWoiLCAiRHEiLCAiRnEiLCAiSVYiLCAiTlYiLCAialYiLCAiUnEiLCAiTHEiLCAiTXEiLCAicXEiLCAiVXEiLCAiQnEiLCAiWHEiLCAiQ1YiLCAiT1YiLCAiRFYiLCAiRlYiLCAiUlYiLCAiTFYiLCAiTVYiLCAiWXEiLCAia3QiLCAiczEiLCAicVYiLCAiVVYiLCAiQlYiLCAiWFYiLCAiWVYiLCAielYiLCAiS1YiLCAiSlYiLCAiR1YiLCAiV1YiLCAiVlYiLCAiJFYiLCAiUVYiLCAiSFYiLCAiWlYiLCAieCQiLCAiciQiLCAiZSQiLCAidCQiLCAibiQiLCAidSQiLCAiaSQiLCAiZiQiLCAiYyQiLCAicyQiLCAiYSQiLCAibyQiLCAidiQiLCAibCQiLCAicCQiLCAiayQiLCAibSQiLCAiaCQiLCAiZCQiLCAieSQiLCAiZyQiLCAidyQiLCAiXyQiLCAiYiQiLCAiVCQiLCAiRSQiLCAiUyQiLCAiQSQiLCAiUCQiLCAiSSQiLCAiTiQiLCAiaiQiLCAiQyQiLCAiTyQiLCAiRCQiLCAiRiQiLCAiUiQiLCAiTCQiLCAiTSQiLCAicSQiLCAiVSQiLCAiQiQiLCAiWCQiLCAiWSQiLCAieiQiLCAiSyQiLCAiSiQiLCAiRyQiLCAiVyQiLCAiViQiLCAiJCQiLCAiUSQiLCAiSCQiLCAiWiQiLCAieFEiLCAiclEiLCAiZVEiLCAidFEiLCAiblEiLCAidVEiLCAiaVEiLCAiZlEiLCAiY1EiLCAic1EiLCAiYVEiLCAib1EiLCAidlEiLCAibFEiLCAicFEiLCAia1EiLCAibVEiLCAiaFEiLCAiZFEiLCAieVEiLCAiZ1EiLCAid1EiLCAiX1EiLCAiYlEiLCAiVFEiLCAiRVEiLCAiU1EiLCAiQVEiLCAiUFEiLCAiSVEiLCAiTlEiLCAialEiLCAiQ1EiLCAiT1EiLCAiRFEiLCAiRlEiLCAiUlEiLCAiTFEiLCAiTVEiLCAicVEiLCAiVVEiLCAiQlEiLCAiWFEiLCAiWVEiLCAielEiLCAiS1EiLCAiSlEiLCAiR1EiLCAiV1EiLCAiVlEiLCAiJFEiLCAiUVEiLCAiSFEiLCAiWlEiLCAieEgiLCAickgiLCAiZUgiLCAidEgiLCAibkgiLCAidUgiLCAiaUgiLCAiZkgiLCAiY0giLCAic0giLCAiYUgiLCAib0giLCAidkgiLCAibEgiLCAicEgiLCAia0giLCAibUgiLCAiaEgiLCAiZEgiLCAieUgiLCAiZ0giLCAid0giLCAiX0giLCAiYkgiLCAiVEgiLCAiRUgiLCAiU0giLCAiQUgiLCAiUEgiLCAiSUgiLCAiTkgiLCAiakgiLCAiQ0giLCAiT0giLCAiREgiLCAiRkgiLCAiUkgiLCAiTEgiLCAiTUgiLCAicUgiLCAiVUgiLCAiQkgiLCAiWEgiLCAiWUgiLCAiekgiLCAiS0giLCAiSkgiLCAiR0giLCAiV0giLCAiVkgiLCAiJEgiLCAiUUgiLCAiSEgiLCAiWkgiLCAieFoiLCAicloiLCAiZVoiLCAidFoiLCAibloiLCAidVoiLCAiaVoiLCAiZloiLCAiY1oiLCAic1oiLCAiYVoiLCAib1oiLCAidloiLCAibFoiLCAicFoiLCAia1oiLCAibVoiLCAiaFoiLCAiZFoiLCAieVoiLCAiZ1oiLCAid1oiLCAiX1oiLCAiYloiLCAiVFoiLCAiRVoiLCAiU1oiLCAiQVoiLCAiUFoiLCAiSVoiLCAiTloiLCAialoiLCAiQ1oiLCAiT1oiLCAiRFoiLCAiRloiLCAiUloiLCAiTFoiLCAiTVoiLCAicVoiLCAiVVoiLCAiQloiLCAiWFoiLCAiWVoiLCAieloiLCAiS1oiLCAiSloiLCAiR1oiLCAiV1oiLCAiVloiLCAiJFoiLCAiUVoiLCAiSFoiLCAiWloiLCAieDAwIiwgInIwMCIsICJlMDAiLCAidDAwIiwgIm4wMCIsICJ1MDAiLCAiaTAwIiwgImYwMCIsICJjMDAiLCAiczAwIiwgImEwMCIsICJvMDAiLCAidjAwIiwgImwwMCIsICJwMDAiLCAiazAwIiwgIm0wMCIsICJoMDAiLCAiZDAwIiwgInkwMCIsICJnMDAiLCAidzAwIiwgIl8wMCIsICJiMDAiLCAiVDAwIiwgIkUwMCIsICJTMDAiLCAiQTAwIiwgIlAwMCIsICJJMDAiLCAiTjAwIiwgImowMCIsICJDMDAiLCAiTzAwIiwgIkQwMCIsICJGMDAiLCAiUjAwIiwgIkwwMCIsICJNMDAiLCAicTAwIiwgIlUwMCIsICJCMDAiLCAiWDAwIiwgIlkwMCIsICJ6MDAiLCAiSzAwIiwgIkowMCIsICJHMDAiLCAiVzAwIiwgIlYwMCIsICIkMDAiLCAiUTAwIiwgIkgwMCIsICJaMDAiLCAieHgwIiwgInJ4MCIsICJleDAiLCAidHgwIiwgIm54MCIsICJ1eDAiLCAiaXgwIiwgImZ4MCIsICJjeDAiLCAic3gwIiwgImF4MCIsICJveDAiLCAidngwIiwgImx4MCIsICJweDAiLCAia3gwIiwgIm14MCIsICJoeDAiLCAiZHgwIiwgInl4MCIsICJneDAiLCAid3gwIiwgIl94MCIsICJieDAiLCAiVHgwIiwgIkV4MCIsICJTeDAiLCAiQXgwIiwgIlB4MCIsICJJeDAiLCAiTngwIiwgImp4MCIsICJDeDAiLCAiT3gwIiwgIkR4MCIsICJGeDAiLCAiUngwIiwgIkx4MCIsICJNeDAiLCAicXgwIiwgIlV4MCIsICJCeDAiLCAiWHgwIiwgIll4MCIsICJ6eDAiLCAiS3gwIiwgIkp4MCIsICJHeDAiLCAiV3gwIiwgIlZ4MCIsICIkeDAiLCAiUXgwIiwgIkh4MCIsICJaeDAiLCAieHIwIiwgInJyMCIsICJlcjAiLCAidHIwIiwgIm5yMCIsICJ1cjAiLCAiaXIwIiwgImZyMCIsICJjcjAiLCAic3IwIiwgImFyMCIsICJvcjAiLCAidnIwIiwgImxyMCIsICJwcjAiLCAia3IwIiwgIm1yMCIsICJocjAiLCAiZHIwIiwgInlyMCIsICJncjAiLCAid3IwIiwgIl9yMCIsICJicjAiLCAiVHIwIiwgIkVyMCIsICJTcjAiLCAiQXIwIiwgIlByMCIsICJJcjAiLCAiTnIwIiwgImpyMCIsICJDcjAiLCAiT3IwIiwgIkRyMCIsICJGcjAiLCAiUnIwIiwgIkxyMCIsICJNcjAiLCAicXIwIiwgIlVyMCIsICJCcjAiLCAiWHIwIiwgIllyMCIsICJ6cjAiLCAiS3IwIiwgIkpyMCIsICJHcjAiLCAiV3IwIiwgIlZyMCIsICIkcjAiLCAiUXIwIiwgIkhyMCIsICJacjAiLCAieDIwIiwgInIyMCIsICJlMjAiLCAidDIwIiwgIm4yMCIsICJ1MjAiLCAiaTIwIiwgImYyMCIsICJjMjAiLCAiczIwIiwgImEyMCIsICJvMjAiLCAidjIwIiwgImwyMCIsICJwMjAiLCAiazIwIiwgIm0yMCIsICJoMjAiLCAiZDIwIiwgInkyMCIsICJnMjAiLCAidzIwIiwgIl8yMCIsICJiMjAiLCAiVDIwIiwgIkUyMCIsICJTMjAiLCAiQTIwIiwgIlAyMCIsICJJMjAiLCAiTjIwIiwgImoyMCIsICJDMjAiLCAiTzIwIiwgIkQyMCIsICJGMjAiLCAiUjIwIiwgIkwyMCIsICJNMjAiLCAicTIwIiwgIlUyMCIsICJCMjAiLCAiWDIwIiwgIlkyMCIsICJ6MjAiLCAiSzIwIiwgIkoyMCIsICJHMjAiLCAiVzIwIiwgIlYyMCIsICIkMjAiLCAiUTIwIiwgIkgyMCIsICJaMjAiLCAieDEwIiwgInIxMCIsICJlMTAiLCAidDEwIiwgIm4xMCIsICJ1MTAiLCAiaTEwIiwgImYxMCIsICJjMTAiLCAiczEwIiwgImExMCIsICJvMTAiLCAidjEwIiwgImwxMCIsICJwMTAiLCAiazEwIiwgIm0xMCIsICJoMTAiLCAiZDEwIiwgInkxMCIsICJnMTAiLCAidzEwIiwgIl8xMCIsICJiMTAiLCAiVDEwIiwgIkUxMCIsICJTMTAiLCAiQTEwIiwgIlAxMCIsICJJMTAiLCAiTjEwIiwgImoxMCIsICJDMTAiLCAiTzEwIiwgIkQxMCIsICJGMTAiLCAiUjEwIiwgIkwxMCIsICJNMTAiLCAicTEwIiwgIlUxMCIsICJCMTAiLCAiWDEwIiwgIlkxMCIsICJ6MTAiLCAiSzEwIiwgIkoxMCIsICJHMTAiLCAiVzEwIiwgIlYxMCIsICIkMTAiLCAiUTEwIiwgIkgxMCIsICJaMTAiLCAieGUwIiwgInJlMCIsICJlZTAiLCAidGUwIiwgIm5lMCIsICJ1ZTAiLCAiaWUwIiwgImZlMCIsICJjZTAiLCAic2UwIiwgImFlMCIsICJvZTAiLCAidmUwIiwgImxlMCIsICJwZTAiLCAia2UwIiwgIm1lMCIsICJoZTAiLCAiZGUwIiwgInllMCIsICJnZTAiLCAid2UwIiwgIl9lMCIsICJiZTAiLCAiVGUwIiwgIkVlMCIsICJTZTAiLCAiQWUwIiwgIlBlMCIsICJJZTAiLCAiTmUwIiwgImplMCIsICJDZTAiLCAiT2UwIiwgIkRlMCIsICJGZTAiLCAiUmUwIiwgIkxlMCIsICJNZTAiLCAicWUwIiwgIlVlMCIsICJCZTAiLCAiWGUwIiwgIlllMCIsICJ6ZTAiLCAiS2UwIiwgIkplMCIsICJHZTAiLCAiV2UwIiwgIlZlMCIsICIkZTAiLCAiUWUwIiwgIkhlMCIsICJaZTAiLCAieHQwIiwgInJ0MCIsICJldDAiLCAidHQwIiwgIm50MCIsICJ1dDAiLCAiaXQwIiwgImZ0MCIsICJjdDAiLCAic3QwIiwgImF0MCIsICJvdDAiLCAidnQwIiwgImx0MCIsICJwdDAiLCAia3QwIiwgIm10MCIsICJodDAiLCAiZHQwIiwgInl0MCIsICJndDAiLCAid3QwIiwgIl90MCIsICJidDAiLCAiVHQwIiwgIkV0MCIsICJTdDAiLCAiQXQwIiwgIlB0MCIsICJJdDAiLCAiTnQwIiwgImp0MCIsICJDdDAiLCAiT3QwIiwgIkR0MCIsICJGdDAiLCAiUnQwIiwgIkx0MCIsICJNdDAiLCAicXQwIiwgIlV0MCIsICJCdDAiLCAiWHQwIiwgIll0MCIsICJ6dDAiLCAiS3QwIiwgIkp0MCIsICJHdDAiLCAiV3QwIiwgIlZ0MCIsICIkdDAiLCAiUXQwIiwgIkh0MCIsICJadDAiLCAieG4wIiwgInJuMCIsICJlbjAiLCAidG4wIiwgIm5uMCIsICJ1bjAiLCAiaW4wIiwgImZuMCIsICJjbjAiLCAic24wIiwgImFuMCIsICJvbjAiLCAidm4wIiwgImxuMCIsICJwbjAiLCAia24wIiwgIm1uMCIsICJobjAiLCAiZG4wIiwgInluMCIsICJnbjAiLCAid24wIiwgIl9uMCIsICJibjAiLCAiVG4wIiwgIkVuMCIsICJTbjAiLCAiQW4wIiwgIlBuMCIsICJJbjAiLCAiTm4wIiwgImpuMCIsICJDbjAiLCAiT24wIiwgIkRuMCIsICJGbjAiLCAiUm4wIiwgIkxuMCIsICJNbjAiLCAicW4wIiwgIlVuMCIsICJCbjAiLCAiWG4wIiwgIlluMCIsICJ6bjAiLCAiS24wIiwgIkpuMCIsICJHbjAiLCAiV24wIiwgIlZuMCIsICIkbjAiLCAiUW4wIiwgIkhuMCIsICJabjAiLCAieDcwIiwgInI3MCIsICJlNzAiLCAidDcwIiwgIm43MCIsICJ1NzAiLCAiaTcwIiwgImY3MCIsICJjNzAiLCAiczcwIiwgImE3MCIsICJvNzAiLCAidjcwIiwgImw3MCIsICJwNzAiLCAiazcwIiwgIm03MCIsICJoNzAiLCAiZDcwIiwgInk3MCIsICJnNzAiLCAidzcwIiwgIl83MCIsICJiNzAiLCAiVDcwIiwgIkU3MCIsICJTNzAiLCAiQTcwIiwgIlA3MCIsICJJNzAiLCAiTjcwIiwgImo3MCIsICJDNzAiLCAiTzcwIiwgIkQ3MCIsICJGNzAiLCAiUjcwIiwgIkw3MCIsICJNNzAiLCAicTcwIiwgIlU3MCIsICJCNzAiLCAiWDcwIiwgIlk3MCIsICJ6NzAiLCAiSzcwIiwgIko3MCIsICJHNzAiLCAiVzcwIiwgIlY3MCIsICIkNzAiLCAiUTcwIiwgIkg3MCIsICJaNzAiLCAieHUwIiwgInJ1MCIsICJldTAiLCAidHUwIiwgIm51MCIsICJ1dTAiLCAiaXUwIiwgImZ1MCIsICJjdTAiLCAic3UwIiwgImF1MCIsICJvdTAiLCAidnUwIiwgImx1MCIsICJwdTAiLCAia3UwIiwgIm11MCIsICJodTAiLCAiZHUwIiwgInl1MCIsICJndTAiLCAid3UwIiwgIl91MCIsICJidTAiLCAiVHUwIiwgIkV1MCIsICJTdTAiLCAiQXUwIiwgIlB1MCIsICJJdTAiLCAiTnUwIiwgImp1MCIsICJDdTAiLCAiT3UwIiwgIkR1MCIsICJGdTAiLCAiUnUwIiwgIkx1MCIsICJNdTAiLCAicXUwIiwgIlV1MCIsICJCdTAiLCAiWHUwIiwgIll1MCIsICJ6dTAiLCAiS3UwIiwgIkp1MCIsICJHdTAiLCAiV3UwIiwgIlZ1MCIsICIkdTAiLCAiUXUwIiwgIkh1MCIsICJadTAiLCAieGkwIiwgInJpMCIsICJlaTAiLCAidGkwIiwgIm5pMCIsICJ1aTAiLCAiaWkwIiwgImZpMCIsICJjaTAiLCAic2kwIiwgImFpMCIsICJvaTAiLCAidmkwIiwgImxpMCIsICJwaTAiLCAia2kwIiwgIm1pMCIsICJoaTAiLCAiZGkwIiwgInlpMCIsICJnaTAiLCAid2kwIiwgIl9pMCIsICJiaTAiLCAiVGkwIiwgIkVpMCIsICJTaTAiLCAiQWkwIiwgIlBpMCIsICJJaTAiLCAiTmkwIiwgImppMCIsICJDaTAiLCAiT2kwIiwgIkRpMCIsICJGaTAiLCAiUmkwIiwgIkxpMCIsICJNaTAiLCAicWkwIiwgIlVpMCIsICJCaTAiLCAiWGkwIiwgIllpMCIsICJ6aTAiLCAiS2kwIiwgIkppMCIsICJHaTAiLCAiV2kwIiwgIlZpMCIsICIkaTAiLCAiUWkwIiwgIkhpMCIsICJaaTAiLCAieGYwIiwgInJmMCIsICJlZjAiLCAidGYwIiwgIm5mMCIsICJ1ZjAiLCAiaWYwIiwgImZmMCIsICJjZjAiLCAic2YwIiwgImFmMCIsICJvZjAiLCAidmYwIiwgImxmMCIsICJwZjAiLCAia2YwIiwgIm1mMCIsICJoZjAiLCAiZGYwIiwgInlmMCIsICJnZjAiLCAid2YwIiwgIl9mMCIsICJiZjAiLCAiVGYwIiwgIkVmMCIsICJTZjAiLCAiQWYwIiwgIlBmMCIsICJJZjAiLCAiTmYwIiwgImpmMCIsICJDZjAiLCAiT2YwIiwgIkRmMCIsICJGZjAiLCAiUmYwIiwgIkxmMCIsICJNZjAiLCAicWYwIiwgIlVmMCIsICJCZjAiLCAiWGYwIiwgIllmMCIsICJ6ZjAiLCAiS2YwIiwgIkpmMCIsICJHZjAiLCAiV2YwIiwgIlZmMCIsICIkZjAiLCAiUWYwIiwgIkhmMCIsICJaZjAiLCAieGMwIiwgInJjMCIsICJlYzAiLCAidGMwIiwgIm5jMCIsICJ1YzAiLCAiaWMwIiwgImZjMCIsICJjYzAiLCAic2MwIiwgImFjMCIsICJvYzAiLCAidmMwIiwgImxjMCIsICJwYzAiLCAia2MwIiwgIm1jMCIsICJoYzAiLCAiZGMwIiwgInljMCIsICJnYzAiLCAid2MwIiwgIl9jMCIsICJiYzAiLCAiVGMwIiwgIkVjMCIsICJTYzAiLCAiQWMwIiwgIlBjMCIsICJJYzAiLCAiTmMwIiwgImpjMCIsICJDYzAiLCAiT2MwIiwgIkRjMCIsICJGYzAiLCAiUmMwIiwgIkxjMCIsICJNYzAiLCAicWMwIiwgIlVjMCIsICJCYzAiLCAiWGMwIiwgIlljMCIsICJ6YzAiLCAiS2MwIiwgIkpjMCIsICJHYzAiLCAiV2MwIiwgIlZjMCIsICIkYzAiLCAiUWMwIiwgIkhjMCIsICJaYzAiLCAieHMwIiwgInJzMCIsICJlczAiLCAidHMwIiwgIm5zMCIsICJ1czAiLCAiaXMwIiwgImZzMCIsICJjczAiLCAic3MwIiwgImFzMCIsICJvczAiLCAidnMwIiwgImxzMCIsICJwczAiLCAia3MwIiwgIm1zMCIsICJoczAiLCAiZHMwIiwgInlzMCIsICJnczAiLCAid3MwIiwgIl9zMCIsICJiczAiLCAiVHMwIiwgIkVzMCIsICJTczAiLCAiQXMwIiwgIlBzMCIsICJJczAiLCAiTnMwIiwgImpzMCIsICJDczAiLCAiT3MwIiwgIkRzMCIsICJGczAiLCAiUnMwIiwgIkxzMCIsICJNczAiLCAicXMwIiwgIlVzMCIsICJCczAiLCAiWHMwIiwgIllzMCIsICJ6czAiLCAiS3MwIiwgIkpzMCIsICJHczAiLCAiV3MwIiwgIlZzMCIsICIkczAiLCAiUXMwIiwgIkhzMCIsICJaczAiLCAieGEwIiwgInJhMCIsICJlYTAiLCAidGEwIiwgIm5hMCIsICJ1YTAiLCAiaWEwIiwgImZhMCIsICJjYTAiLCAic2EwIiwgImFhMCIsICJvYTAiLCAidmEwIiwgImxhMCIsICJwYTAiLCAia2EwIiwgIm1hMCIsICJoYTAiLCAiZGEwIiwgInlhMCIsICJnYTAiLCAid2EwIiwgIl9hMCIsICJiYTAiLCAiVGEwIiwgIkVhMCIsICJTYTAiLCAiQWEwIiwgIlBhMCIsICJJYTAiLCAiTmEwIiwgImphMCIsICJDYTAiLCAiT2EwIiwgIkRhMCIsICJGYTAiLCAiUmEwIiwgIkxhMCIsICJNYTAiLCAicWEwIiwgIlVhMCIsICJCYTAiLCAiWGEwIiwgIllhMCIsICJ6YTAiLCAiS2EwIiwgIkphMCIsICJHYTAiLCAiV2EwIiwgIlZhMCIsICIkYTAiLCAiUWEwIiwgIkhhMCIsICJaYTAiLCAieG8wIiwgInJvMCIsICJlbzAiLCAidG8wIiwgIm5vMCIsICJ1bzAiLCAiaW8wIiwgImZvMCIsICJjbzAiLCAic28wIiwgImFvMCIsICJvbzAiLCAidm8wIiwgImxvMCIsICJwbzAiLCAia28wIiwgIm1vMCIsICJobzAiLCAiZG8wIiwgInlvMCIsICJnbzAiLCAid28wIiwgIl9vMCIsICJibzAiLCAiVG8wIiwgIkVvMCIsICJTbzAiLCAiQW8wIiwgIlBvMCIsICJJbzAiLCAiTm8wIiwgImpvMCIsICJDbzAiLCAiT28wIiwgIkRvMCIsICJGbzAiLCAiUm8wIiwgIkxvMCIsICJNbzAiLCAicW8wIiwgIlVvMCIsICJCbzAiLCAiWG8wIiwgIllvMCIsICJ6bzAiLCAiS28wIiwgIkpvMCIsICJHbzAiLCAiV28wIiwgIlZvMCIsICIkbzAiLCAiUW8wIiwgIkhvMCIsICJabzAiLCAieHYwIiwgInJ2MCIsICJldjAiLCAidHYwIiwgIm52MCIsICJ1djAiLCAiaXYwIiwgImZ2MCIsICJjdjAiLCAic3YwIiwgImF2MCIsICJvdjAiLCAidnYwIiwgImx2MCIsICJwdjAiLCAia3YwIiwgIm12MCIsICJodjAiLCAiZHYwIiwgInl2MCIsICJndjAiLCAid3YwIiwgIl92MCIsICJidjAiLCAiVHYwIiwgIkV2MCIsICJTdjAiLCAiQXYwIiwgIlB2MCIsICJJdjAiLCAiTnYwIiwgImp2MCIsICJDdjAiLCAiT3YwIiwgIkR2MCIsICJGdjAiLCAiUnYwIiwgIkx2MCIsICJNdjAiLCAicXYwIiwgIlV2MCIsICJCdjAiLCAiWHYwIiwgIll2MCIsICJ6djAiLCAiS3YwIiwgIkp2MCIsICJHdjAiLCAiV3YwIiwgIlZ2MCIsICIkdjAiLCAiUXYwIiwgIkh2MCIsICJadjAiLCAieDMwIiwgInIzMCIsICJlMzAiLCAidDMwIiwgIm4zMCIsICJ1MzAiLCAiaTMwIiwgImYzMCIsICJjMzAiLCAiczMwIiwgImEzMCIsICJvMzAiLCAidjMwIiwgImwzMCIsICJwMzAiLCAiazMwIiwgIm0zMCIsICJoMzAiLCAiZDMwIiwgInkzMCIsICJnMzAiLCAidzMwIiwgIl8zMCIsICJiMzAiLCAiVDMwIiwgIkUzMCIsICJTMzAiLCAiQTMwIiwgIlAzMCIsICJJMzAiLCAiTjMwIiwgImozMCIsICJDMzAiLCAiTzMwIiwgIkQzMCIsICJGMzAiLCAiUjMwIiwgIkwzMCIsICJNMzAiLCAicTMwIiwgIlUzMCIsICJCMzAiLCAiWDMwIiwgIlkzMCIsICJ6MzAiLCAiSzMwIiwgIkozMCIsICJHMzAiLCAiVzMwIiwgIlYzMCIsICIkMzAiLCAiUTMwIiwgIkgzMCIsICJaMzAiLCAieGwwIiwgInJsMCIsICJlbDAiLCAidGwwIiwgIm5sMCIsICJ1bDAiLCAiaWwwIiwgImZsMCIsICJjbDAiLCAic2wwIiwgImFsMCIsICJvbDAiLCAidmwwIiwgImxsMCIsICJwbDAiLCAia2wwIiwgIm1sMCIsICJobDAiLCAiZGwwIiwgInlsMCIsICJnbDAiLCAid2wwIiwgIl9sMCIsICJibDAiLCAiVGwwIiwgIkVsMCIsICJTbDAiLCAiQWwwIiwgIlBsMCIsICJJbDAiLCAiTmwwIiwgImpsMCIsICJDbDAiLCAiT2wwIiwgIkRsMCIsICJGbDAiLCAiUmwwIiwgIkxsMCIsICJNbDAiLCAicWwwIiwgIlVsMCIsICJCbDAiLCAiWGwwIiwgIllsMCIsICJ6bDAiLCAiS2wwIiwgIkpsMCIsICJHbDAiLCAiV2wwIiwgIlZsMCIsICIkbDAiLCAiUWwwIiwgIkhsMCIsICJabDAiLCAieDYwIiwgInI2MCIsICJlNjAiLCAidDYwIiwgIm42MCIsICJ1NjAiLCAiaTYwIiwgImY2MCIsICJjNjAiLCAiczYwIiwgImE2MCIsICJvNjAiLCAidjYwIiwgImw2MCIsICJwNjAiLCAiazYwIiwgIm02MCIsICJoNjAiLCAiZDYwIiwgInk2MCIsICJnNjAiLCAidzYwIiwgIl82MCIsICJiNjAiLCAiVDYwIiwgIkU2MCIsICJTNjAiLCAiQTYwIiwgIlA2MCIsICJJNjAiLCAiTjYwIiwgImo2MCIsICJDNjAiLCAiTzYwIiwgIkQ2MCIsICJGNjAiLCAiUjYwIiwgIkw2MCIsICJNNjAiLCAicTYwIiwgIlU2MCIsICJCNjAiLCAiWDYwIiwgIlk2MCIsICJ6NjAiLCAiSzYwIiwgIko2MCIsICJHNjAiLCAiVzYwIiwgIlY2MCIsICIkNjAiLCAiUTYwIiwgIkg2MCIsICJaNjAiLCAieDQwIiwgInI0MCIsICJlNDAiLCAidDQwIiwgIm40MCIsICJ1NDAiLCAiaTQwIiwgImY0MCIsICJjNDAiLCAiczQwIiwgImE0MCIsICJvNDAiLCAidjQwIiwgImw0MCIsICJwNDAiLCAiazQwIiwgIm00MCIsICJoNDAiLCAiZDQwIiwgInk0MCIsICJnNDAiLCAidzQwIiwgIl80MCIsICJiNDAiLCAiVDQwIiwgIkU0MCIsICJTNDAiLCAiQTQwIiwgIlA0MCIsICJJNDAiLCAiTjQwIiwgImo0MCIsICJDNDAiLCAiTzQwIiwgIkQ0MCIsICJGNDAiLCAiUjQwIiwgIkw0MCIsICJNNDAiLCAicTQwIiwgIlU0MCIsICJCNDAiLCAiWDQwIiwgIlk0MCIsICJ6NDAiLCAiSzQwIiwgIko0MCIsICJHNDAiLCAiVzQwIiwgIlY0MCIsICIkNDAiLCAiUTQwIiwgIkg0MCIsICJaNDAiLCAieHAwIiwgInJwMCIsICJlcDAiLCAidHAwIiwgIm5wMCIsICJ1cDAiLCAiaXAwIiwgImZwMCIsICJjcDAiLCAic3AwIiwgImFwMCIsICJvcDAiLCAidnAwIiwgImxwMCIsICJwcDAiLCAia3AwIiwgIm1wMCIsICJocDAiLCAiZHAwIiwgInlwMCIsICJncDAiLCAid3AwIiwgIl9wMCIsICJicDAiLCAiVHAwIiwgIkVwMCIsICJTcDAiLCAiQXAwIiwgIlBwMCIsICJJcDAiLCAiTnAwIiwgImpwMCIsICJDcDAiLCAiT3AwIiwgIkRwMCIsICJGcDAiLCAiUnAwIiwgIkxwMCIsICJNcDAiLCAicXAwIiwgIlVwMCIsICJCcDAiLCAiWHAwIiwgIllwMCIsICJ6cDAiLCAiS3AwIiwgIkpwMCIsICJHcDAiLCAiV3AwIiwgIlZwMCIsICIkcDAiLCAiUXAwIiwgIkhwMCIsICJacDAiLCAieGswIiwgInJrMCIsICJlazAiLCAidGswIiwgIm5rMCIsICJ1azAiLCAiaWswIiwgImZrMCIsICJjazAiLCAic2swIiwgImFrMCIsICJvazAiLCAidmswIiwgImxrMCIsICJwazAiLCAia2swIiwgIm1rMCIsICJoazAiLCAiZGswIiwgInlrMCIsICJnazAiLCAid2swIiwgIl9rMCIsICJiazAiLCAiVGswIiwgIkVrMCIsICJTazAiLCAiQWswIiwgIlBrMCIsICJJazAiLCAiTmswIiwgImprMCIsICJDazAiLCAiT2swIiwgIkRrMCIsICJGazAiLCAiUmswIiwgIkxrMCIsICJNazAiLCAicWswIiwgIlVrMCIsICJCazAiLCAiWGswIiwgIllrMCIsICJ6azAiLCAiS2swIiwgIkprMCIsICJHazAiLCAiV2swIiwgIlZrMCIsICIkazAiLCAiUWswIiwgIkhrMCIsICJaazAiLCAieDgwIiwgInI4MCIsICJlODAiLCAidDgwIiwgIm44MCIsICJ1ODAiLCAiaTgwIiwgImY4MCIsICJjODAiLCAiczgwIiwgImE4MCIsICJvODAiLCAidjgwIiwgImw4MCIsICJwODAiLCAiazgwIiwgIm04MCIsICJoODAiLCAiZDgwIiwgInk4MCIsICJnODAiLCAidzgwIiwgIl84MCIsICJiODAiLCAiVDgwIiwgIkU4MCIsICJTODAiLCAiQTgwIiwgIlA4MCIsICJJODAiLCAiTjgwIiwgImo4MCIsICJDODAiLCAiTzgwIiwgIkQ4MCIsICJGODAiLCAiUjgwIiwgIkw4MCIsICJNODAiLCAicTgwIiwgIlU4MCIsICJCODAiLCAiWDgwIiwgIlk4MCIsICJ6ODAiLCAiSzgwIiwgIko4MCIsICJHODAiLCAiVzgwIiwgIlY4MCIsICIkODAiLCAiUTgwIiwgIkg4MCIsICJaODAiLCAieG0wIiwgInJtMCIsICJlbTAiLCAidG0wIiwgIm5tMCIsICJ1bTAiLCAiaW0wIiwgImZtMCIsICJjbTAiLCAic20wIiwgImFtMCIsICJvbTAiLCAidm0wIiwgImxtMCIsICJwbTAiLCAia20wIiwgIm1tMCIsICJobTAiLCAiZG0wIiwgInltMCIsICJnbTAiLCAid20wIiwgIl9tMCIsICJibTAiLCAiVG0wIiwgIkVtMCIsICJTbTAiLCAiQW0wIiwgIlBtMCIsICJJbTAiLCAiTm0wIiwgImptMCIsICJDbTAiLCAiT20wIiwgIkRtMCIsICJGbTAiLCAiUm0wIiwgIkxtMCIsICJNbTAiLCAicW0wIiwgIlVtMCIsICJCbTAiLCAiWG0wIiwgIlltMCIsICJ6bTAiLCAiS20wIiwgIkptMCIsICJHbTAiLCAiV20wIiwgIlZtMCIsICIkbTAiLCAiUW0wIiwgIkhtMCIsICJabTAiLCAieDUwIiwgInI1MCIsICJlNTAiLCAidDUwIiwgIm41MCIsICJ1NTAiLCAiaTUwIiwgImY1MCIsICJjNTAiLCAiczUwIiwgImE1MCIsICJvNTAiLCAidjUwIiwgImw1MCIsICJwNTAiLCAiazUwIiwgIm01MCIsICJoNTAiLCAiZDUwIiwgInk1MCIsICJnNTAiLCAidzUwIiwgIl81MCIsICJiNTAiLCAiVDUwIiwgIkU1MCIsICJTNTAiLCAiQTUwIiwgIlA1MCIsICJJNTAiLCAiTjUwIiwgImo1MCIsICJDNTAiLCAiTzUwIiwgIkQ1MCIsICJGNTAiLCAiUjUwIiwgIkw1MCIsICJNNTAiLCAicTUwIiwgIlU1MCIsICJCNTAiLCAiWDUwIiwgIlk1MCIsICJ6NTAiLCAiSzUwIiwgIko1MCIsICJHNTAiLCAiVzUwIiwgIlY1MCIsICIkNTAiLCAiUTUwIiwgIkg1MCIsICJaNTAiLCAieGgwIiwgInJoMCIsICJlaDAiLCAidGgwIiwgIm5oMCIsICJ1aDAiLCAiaWgwIiwgImZoMCIsICJjaDAiLCAic2gwIiwgImFoMCIsICJvaDAiLCAidmgwIiwgImxoMCIsICJwaDAiLCAia2gwIiwgIm1oMCIsICJoaDAiLCAiZGgwIiwgInloMCIsICJnaDAiLCAid2gwIiwgIl9oMCIsICJiaDAiLCAiVGgwIiwgIkVoMCIsICJTaDAiLCAiQWgwIiwgIlBoMCIsICJJaDAiLCAiTmgwIiwgImpoMCIsICJDaDAiLCAiT2gwIiwgIkRoMCIsICJGaDAiLCAiUmgwIiwgIkxoMCIsICJNaDAiLCAicWgwIiwgIlVoMCIsICJCaDAiLCAiWGgwIiwgIlloMCIsICJ6aDAiLCAiS2gwIiwgIkpoMCIsICJHaDAiLCAiV2gwIiwgIlZoMCIsICIkaDAiLCAiUWgwIiwgIkhoMCIsICJaaDAiLCAieGQwIiwgInJkMCIsICJlZDAiLCAidGQwIiwgIm5kMCIsICJ1ZDAiLCAiaWQwIiwgImZkMCIsICJjZDAiLCAic2QwIiwgImFkMCIsICJvZDAiLCAidmQwIiwgImxkMCIsICJwZDAiLCAia2QwIiwgIm1kMCIsICJoZDAiLCAiZGQwIiwgInlkMCIsICJnZDAiLCAid2QwIiwgIl9kMCIsICJiZDAiLCAiVGQwIiwgIkVkMCIsICJTZDAiLCAiQWQwIiwgIlBkMCIsICJJZDAiLCAiTmQwIiwgImpkMCIsICJDZDAiLCAiT2QwIiwgIkRkMCIsICJGZDAiLCAiUmQwIiwgIkxkMCIsICJNZDAiLCAicWQwIiwgIlVkMCIsICJCZDAiLCAiWGQwIiwgIllkMCIsICJ6ZDAiLCAiS2QwIiwgIkpkMCIsICJHZDAiLCAiV2QwIiwgIlZkMCIsICIkZDAiLCAiUWQwIiwgIkhkMCIsICJaZDAiLCAieHkwIiwgInJ5MCIsICJleTAiLCAidHkwIiwgIm55MCIsICJ1eTAiLCAiaXkwIiwgImZ5MCIsICJjeTAiLCAic3kwIiwgImF5MCIsICJveTAiLCAidnkwIiwgImx5MCIsICJweTAiLCAia3kwIiwgIm15MCIsICJoeTAiLCAiZHkwIiwgInl5MCIsICJneTAiLCAid3kwIiwgIl95MCIsICJieTAiLCAiVHkwIiwgIkV5MCIsICJTeTAiLCAiQXkwIiwgIlB5MCIsICJJeTAiLCAiTnkwIiwgImp5MCIsICJDeTAiLCAiT3kwIiwgIkR5MCIsICJGeTAiLCAiUnkwIiwgIkx5MCIsICJNeTAiLCAicXkwIiwgIlV5MCIsICJCeTAiLCAiWHkwIiwgIll5MCIsICJ6eTAiLCAiS3kwIiwgIkp5MCIsICJHeTAiLCAiV3kwIiwgIlZ5MCIsICIkeTAiLCAiUXkwIiwgIkh5MCIsICJaeTAiLCAieDkwIiwgInI5MCIsICJlOTAiLCAidDkwIiwgIm45MCIsICJ1OTAiLCAiaTkwIiwgImY5MCIsICJjOTAiLCAiczkwIiwgImE5MCIsICJvOTAiLCAidjkwIiwgImw5MCIsICJwOTAiLCAiazkwIiwgIm05MCIsICJoOTAiLCAiZDkwIiwgInk5MCIsICJnOTAiLCAidzkwIiwgIl85MCIsICJiOTAiLCAiVDkwIiwgIkU5MCIsICJTOTAiLCAiQTkwIiwgIlA5MCIsICJJOTAiLCAiTjkwIiwgImo5MCIsICJDOTAiLCAiTzkwIiwgIkQ5MCIsICJGOTAiLCAiUjkwIiwgIkw5MCIsICJNOTAiLCAicTkwIiwgIlU5MCIsICJCOTAiLCAiWDkwIiwgIlk5MCIsICJ6OTAiLCAiSzkwIiwgIko5MCIsICJHOTAiLCAiVzkwIiwgIlY5MCIsICIkOTAiLCAiUTkwIiwgIkg5MCIsICJaOTAiLCAieGcwIiwgInJnMCIsICJlZzAiLCAidGcwIiwgIm5nMCIsICJ1ZzAiLCAiaWcwIiwgImZnMCIsICJjZzAiLCAic2cwIiwgImFnMCIsICJvZzAiLCAidmcwIiwgImxnMCIsICJwZzAiLCAia2cwIiwgIm1nMCIsICJoZzAiLCAiZGcwIiwgInlnMCIsICJnZzAiLCAid2cwIiwgIl9nMCIsICJiZzAiLCAiVGcwIiwgIkVnMCIsICJTZzAiLCAiQWcwIiwgIlBnMCIsICJJZzAiLCAiTmcwIiwgImpnMCIsICJDZzAiLCAiT2cwIiwgIkRnMCIsICJGZzAiLCAiUmcwIiwgIkxnMCIsICJNZzAiLCAicWcwIiwgIlVnMCIsICJCZzAiLCAiWGcwIiwgIllnMCIsICJ6ZzAiLCAiS2cwIiwgIkpnMCIsICJHZzAiLCAiV2cwIiwgIlZnMCIsICIkZzAiLCAiUWcwIiwgIkhnMCIsICJaZzAiLCAieHcwIiwgInJ3MCIsICJldzAiLCAidHcwIiwgIm53MCIsICJ1dzAiLCAiaXcwIiwgImZ3MCIsICJjdzAiLCAic3cwIiwgImF3MCIsICJvdzAiLCAidncwIiwgImx3MCIsICJwdzAiLCAia3cwIiwgIm13MCIsICJodzAiLCAiZHcwIiwgInl3MCIsICJndzAiLCAid3cwIiwgIl93MCIsICJidzAiLCAiVHcwIiwgIkV3MCIsICJTdzAiLCAiQXcwIiwgIlB3MCIsICJJdzAiLCAiTncwIiwgImp3MCIsICJDdzAiLCAiT3cwIiwgIkR3MCIsICJGdzAiLCAiUncwIiwgIkx3MCIsICJNdzAiLCAicXcwIiwgIlV3MCIsICJCdzAiLCAiWHcwIiwgIll3MCIsICJ6dzAiLCAiS3cwIiwgIkp3MCIsICJHdzAiLCAiV3cwIiwgIlZ3MCIsICIkdzAiLCAiUXcwIiwgIkh3MCIsICJadzAiLCAieF8wIiwgInJfMCIsICJlXzAiLCAidF8wIiwgIm5fMCIsICJ1XzAiLCAiaV8wIiwgImZfMCIsICJjXzAiLCAic18wIiwgImFfMCIsICJvXzAiLCAidl8wIiwgImxfMCIsICJwXzAiLCAia18wIiwgIm1fMCIsICJoXzAiLCAiZF8wIiwgInlfMCIsICJnXzAiLCAid18wIiwgIl9fMCIsICJiXzAiLCAiVF8wIiwgIkVfMCIsICJTXzAiLCAiQV8wIiwgIlBfMCIsICJJXzAiLCAiTl8wIiwgImpfMCIsICJDXzAiLCAiT18wIiwgIkRfMCIsICJGXzAiLCAiUl8wIiwgIkxfMCIsICJNXzAiLCAicV8wIiwgIlVfMCIsICJCXzAiLCAiWF8wIiwgIllfMCIsICJ6XzAiLCAiS18wIiwgIkpfMCIsICJHXzAiLCAiV18wIiwgIlZfMCIsICIkXzAiLCAiUV8wIiwgIkhfMCIsICJaXzAiLCAieGIwIiwgInJiMCIsICJlYjAiLCAidGIwIiwgIm5iMCIsICJ1YjAiLCAiaWIwIiwgImZiMCIsICJjYjAiLCAic2IwIiwgImFiMCIsICJvYjAiLCAidmIwIiwgImxiMCIsICJwYjAiLCAia2IwIiwgIm1iMCIsICJoYjAiLCAiZGIwIiwgInliMCIsICJnYjAiLCAid2IwIiwgIl9iMCIsICJiYjAiLCAiVGIwIiwgIkViMCIsICJTYjAiLCAiQWIwIiwgIlBiMCIsICJ6cSIsICJwYSIsICJndiIsICJIYSIsICJLcSIsICJJYjAiLCAiTmIwIiwgIkpxIiwgIkdxIiwgIlNqIiwgImpiMCIsICJDYjAiLCAiQWoiLCAiejYiLCAiUGoiLCAiV3EiLCAiSWoiLCAiTmoiLCAiamoiLCAiQ2oiLCAiZDUiLCAieTUiLCAiT2oiLCAiZzUiLCAiRGoiLCAidXgiLCAiTHgiLCAiZHIiLCAiT3IiLCAiVnEiLCAiJHEiLCAiT2IwIiwgIkZqIiwgIlFxIiwgIkRiMCIsICJGYjAiLCAiSHEiLCAiWnEiLCAiUmIwIiwgIkxiMCIsICJNYjAiLCAicWIwIiwgInBzIiwgIlphIiwgInhVIiwgInJVIiwgImVVIiwgInRVIiwgIm5VIiwgInVVIiwgImlVIiwgImZVIiwgImNVIiwgInNVIiwgInkiLCAiVyIsICJvciIsICJ3IiwgInhsIiwgIlJqIiwgInc1IiwgImwyIiwgImFVIiwgIks2IiwgIm9VIiwgIko2IiwgIkR4IiwgIl81IiwgIkc2IiwgInZVIiwgImtzIiwgInd2IiwgImI1IiwgImxVIiwgInhvIiwgImthIiwgIlQ1IiwgInBVIiwgIkxqIiwgImtVIiwgIm1VIiwgIkF4IiwgIk8wIiwgIlAwIiwgIlcyIiwgIlc2IiwgImZyIiwgIk1qIiwgIngyIiwgIlp4IiwgInFyIiwgIlkyIiwgIkgyIiwgIkt0IiwgImR0IiwgIkp0IiwgIkMxIiwgInExIiwgImIyIiwgInduIiwgIl9uIiwgImJzIiwgImxlIiwgIlplIiwgIlRzIiwgIkx2IiwgInl0IiwgInlyIiwgIlRhIiwgIkVzIiwgImd0IiwgIk12IiwgInF2IiwgImJuIiwgIkVhIiwgImtvIiwgIlNhIiwgIkFhIiwgIlBhIiwgIm1vIiwgIlNzIiwgIkgxIiwgImQxIiwgIklhIiwgIkFzIiwgIkd0IiwgIlV2IiwgImhvIiwgIkJ2IiwgIlh2IiwgImRsIiwgIk5hIiwgInlvIiwgImdvIiwgImphIiwgIkNhIiwgInlsIiwgIlBzIiwgIlloIiwgIndvIiwgIlQ0IiwgIl9vIiwgImdsIiwgIkU0IiwgImJvIiwgIlM0IiwgInpoIiwgIktoIiwgIkpoIiwgIkdoIiwgIkE0IiwgIlA0IiwgIkk0IiwgIndsIiwgIlkiLCAiQSIsICJEIiwgImYwIiwgImswIiwgIlIwIiwgIlEwIiwgIm14IiwgIkl4IiwgIlJ4IiwgIm5yIiwgInp4IiwgInVyIiwgImtyIiwgInJyIiwgIkN4IiwgImdyIiwgIkVyIiwgIkpyIiwgIlNyIiwgIkdyIiwgImsyIiwgIlAyIiwgIkRyIiwgIm0yIiwgInIyIiwgIkFyIiwgIndyIiwgImYyIiwgIlVyIiwgIlFyIiwgIlQyIiwgIlJyIiwgImQyIiwgIm8yIiwgImMyIiwgIkUyIiwgInBlIiwgImplIiwgInh0IiwgIlUxIiwgImUyIiwgIloxIiwgIlIyIiwgInd0IiwgIk8xIiwgIl90IiwgIld0IiwgInJ0IiwgImV0IiwgIk94IiwgInR0IiwgInhlIiwgInYxIiwgIkNlIiwgIk9lIiwgIm50IiwgInV0IiwgIml0IiwgInIxIiwgImJ0IiwgIlR0IiwgIklzIiwgImZ0IiwgIlZ0IiwgIkQxIiwgIlRuIiwgImtlIiwgIkRlIiwgIiR0IiwgIk5zIiwgIkVuIiwgImpzIiwgInJlIiwgIkV0IiwgIkNzIiwgIlNuIiwgIkZlIiwgIk9zIiwgIkRzIiwgIlRvIiwgIkVvIiwgIll2IiwgInp2IiwgIlNvIiwgIkFvIiwgIl9sIiwgIkt2IiwgImJsIiwgIlRsIiwgIkZzIiwgIlBvIiwgIkp2IiwgIkVsIiwgIlJzIiwgIkd2IiwgIk9hIiwgIlNsIiwgIld2IiwgIklvIiwgIkFsIiwgIkRhIiwgIkxzIiwgIk5vIiwgImpvIiwgIkZhIiwgIlBsIiwgIklsIiwgIk5sIiwgIkNvIiwgIkFuIiwgIlJhIiwgImpsIiwgIk9vIiwgIlZ2IiwgIk1zIiwgIiR2IiwgIlN0IiwgIkYxIiwgIlF2IiwgIkh2IiwgIkNsIiwgIkRvIiwgIkZvIiwgIlp2IiwgIk9sIiwgIngzIiwgIldoIiwgIlF0IiwgIlBuIiwgInIzIiwgIlZoIiwgInFzIiwgImUzIiwgIiRoIiwgIlFoIiwgIkhoIiwgIlpoIiwgInQzIiwgIk40IiwgInhkIiwgImo0IiwgInMiLCAiZiIsICJvIiwgImsiLCAiZyIsICJFIiwgIkMiLCAiUiIsICJlMCIsICJsMCIsICJjeCIsICJGMCIsICJkeCIsICJYeCIsICJLeCIsICJfciIsICJ0MiIsICJXciIsICJWeCIsICJDMiIsICJ6MiIsICJlZSIsICJtZSIsICJoZSIsICJ0ZSIsICJkZSIsICJ5ZSIsICJnZSIsICJBdCIsICJ3ZSIsICJjdCIsICJVcyIsICJCcyIsICJYcyIsICJJbiIsICJZcyIsICJ6cyIsICJuMyIsICJ1MyIsICJpMyIsICJmMyIsICJfeCIsICJjMyIsICJoeCIsICJlTyIsICJ0TyIsICJxaiIsICJoVSIsICJVaiIsICJkVSIsICJFNSIsICJCaiIsICJtbiIsICJ5VSIsICJaIiwgIk8yIiwgIlMxIiwgIlM1IiwgImdVIiwgIllyIiwgIm1hIiwgIndVIiwgInJvIiwgImhyIiwgIl9VIiwgIlhqIiwgImJVIiwgIlRVIiwgIkVVIiwgIkE1IiwgIlFlIiwgIlNVIiwgIkFVIiwgIlBVIiwgIklVIiwgIllqIiwgIlA1IiwgInpqIiwgIlViMCIsICJLaiIsICJtcyIsICJOVSIsICJ2ciIsICJUciIsICJMdCIsICJqVSIsICJNdCIsICJJNSIsICJlbyIsICJKaiIsICJDVSIsICJfdiIsICJybCIsICJONSIsICJPVSIsICJqNSIsICJDNSIsICJPNSIsICJENSIsICJGNSIsICJocyIsICJSNSIsICJ0byIsICJMNSIsICJHaiIsICJobiIsICJlbCIsICJNNSIsICJXaiIsICJxNSIsICJYMiIsICJVNSIsICJWMSIsICJCNSIsICJYNSIsICJWNiIsICJTZSIsICJZNSIsICJ6NSIsICJEVSIsICJGVSIsICJLNSIsICJubyIsICJSVSIsICJMVSIsICJNVSIsICJKNSIsICJWaiIsICJHNSIsICIkNiIsICJ0bCIsICJxVSIsICJidiIsICJVVSIsICJBZSIsICJCVSIsICJYVSIsICJkcyIsICJXNSIsICJ1byIsICJZVSIsICJUdiIsICJ6VSIsICJLVSIsICJWNSIsICIkNSIsICJKVSIsICJHVSIsICJRNSIsICJ2ZSIsICJINSIsICJXVSIsICJpbyIsICJmbyIsICJWVSIsICIkVSIsICJCYjAiLCAiY3IiLCAiUVUiLCAiWGIwIiwgIkhVIiwgIlo1IiwgIlE2IiwgIkExIiwgIlBlIiwgInpyIiwgIlpVIiwgIlAxIiwgInhCIiwgIiRqIiwgIm10IiwgIiQxIiwgInF0IiwgIlV0IiwgIkJ0IiwgInJCIiwgImVCIiwgInRCIiwgIkQyIiwgIkV2IiwgIm5sIiwgIm5CIiwgInVCIiwgImlCIiwgIlliMCIsICJmQiIsICJjQiIsICJINiIsICJ6YjAiLCAiS2IwIiwgIkpiMCIsICJHYjAiLCAiV2IwIiwgIkkxIiwgIlo2IiwgInhoIiwgInNCIiwgInVsIiwgIkEyIiwgInEwIiwgIng0IiwgImNvIiwgImhhIiwgImFCIiwgIlFqIiwgIkhqIiwgIm9CIiwgIlN2IiwgIlpqIiwgInI0IiwgImU0IiwgIkF2IiwgInhDIiwgInZCIiwgImxCIiwgInJDIiwgInJoIiwgImVDIiwgImlsIiwgInBCIiwgImtCIiwgIm1CIiwgImZsIiwgIlB2IiwgImVoIiwgInRDIiwgImhCIiwgInhyIiwgImNsIiwgInEiLCAiVjAiLCAiZGEiLCAibkMiLCAidTAiLCAiZEIiLCAiSXYiLCAiTjEiLCAieUIiLCAic2wiLCAieWEiLCAidGgiLCAiZ0IiLCAiZG4iLCAic28iLCAibmgiLCAidDQiLCAidUMiLCAiaUMiLCAiVXgiLCAid0IiLCAicDIiLCAidWgiLCAiX0IiLCAiSWUiLCAiaHQiLCAiTnYiLCAiRTAiLCAidTIiLCAiVjIiLCAiWjIiLCAiTDAiLCAiYW8iLCAieW4iLCAiSiIsICJiQiIsICJpaCIsICJ5cyIsICJncyIsICJUQiIsICJmQyIsICJmaCIsICJuNCIsICJFQiIsICJjaCIsICJ1NCIsICJGMiIsICJYdCIsICJRMSIsICJjQyIsICJhbCIsICJpNCIsICJTQiIsICJnbiIsICJBQiIsICJQQiIsICJJQiIsICJhMSIsICJOQiIsICJqdiIsICJmNCIsICJzaCIsICJ4MCIsICJzQyIsICJhaCIsICJqQiIsICJhQyIsICJWYjAiLCAiQ0IiLCAib2giLCAiT0IiLCAib2wiLCAidmgiLCAiJGIwIiwgIm9DIiwgImM0IiwgInZDIiwgIlgwIiwgImxoIiwgIkRCIiwgIkZCIiwgIlJCIiwgIkxCIiwgIk1CIiwgInFCIiwgIlVCIiwgIkJCIiwgIlhCIiwgIllCIiwgInpCIiwgIktCIiwgIkpCIiwgIkhyIiwgIkdCIiwgImxDIiwgInM0IiwgIldCIiwgIlZCIiwgIiRCIiwgIlFCIiwgIkhCIiwgInBDIiwgInBoIiwgIm1oIiwgIlpCIiwgIlFiMCIsICJrQyIsICJ2bCIsICJ4WCIsICJ4VDAiLCAieUMiLCAiaVgiLCAiT3YiLCAia2giLCAiSGIwIiwgIkN2IiwgImRDIiwgImhoIiwgImVYIiwgImdDIiwgInJYIiwgIlpiMCIsICJtQyIsICJvbyIsICJ0WCIsICJyVDAiLCAiZlgiLCAiblgiLCAiaEMiLCAidVgiLCAiY1giLCAiZGgiLCAic1giLCAieWgiLCAiYTQiLCAibzQiLCAidjQiLCAiZVQwIiwgImFYIiwgIm9YIiwgInRUMCIsICJuVDAiLCAidVQwIiwgImlUMCIsICJ2WCIsICJmVDAiLCAiTmUiLCAiZ2EiLCAid3MiLCAiSGUiLCAibFgiLCAiRHYiLCAid0MiLCAiX0MiLCAiYkMiLCAicFgiLCAiVEMiLCAidm8iLCAiY1QwIiwgInNUMCIsICJrWCIsICJtWCIsICJsbCIsICJoWCIsICJhVDAiLCAib1QwIiwgInBsIiwgImRYIiwgImw0IiwgIkZ2IiwgImdoIiwgInZUMCIsICJsVDAiLCAicDQiLCAiRUMiLCAicFQwIiwgImtUMCIsICJ5WCIsICJnWCIsICJ3WCIsICJfWCIsICJtVDAiLCAiaFQwIiwgImRUMCIsICJ5VDAiLCAiZ1QwIiwgIndUMCIsICJTQyIsICJvMSIsICJBQyIsICJQQyIsICJiWCIsICJ3aCIsICJUWCIsICJZdCIsICJTWCIsICJFWCIsICJBWCIsICJrNCIsICJfaCIsICJQWCIsICJJWCIsICJOWCIsICJtNCIsICJqWCIsICJDWCIsICJJQyIsICJPWCIsICJoNCIsICJ6dCIsICIkWCIsICJEWCIsICJGWCIsICJiaCIsICJSWCIsICJMWCIsICJNWCIsICJxWCIsICJYWCIsICJWWCIsICJVWCIsICJ6WCIsICJLWCIsICJsbyIsICJOQyIsICJCWCIsICJZWCIsICJUaCIsICJqQyIsICJXWCIsICJDQyIsICJPQyIsICJEQyIsICJfVDAiLCAiSlgiLCAiR1giLCAiUVgiLCAiYlQwIiwgIkZDIiwgIlJDIiwgIkxDIiwgIkhYIiwgIk1DIiwgIlRUMCIsICJFVDAiLCAicUMiLCAicG8iLCAiRWgiLCAiWlgiLCAieFkiLCAiclkiLCAiZVkiLCAiVUMiLCAiU1QwIiwgIlNoIiwgInRZIiwgIkJDIiwgIlhDIiwgIllDIiwgIm5ZIiwgInpDIiwgIktDIiwgIkFUMCIsICJQVDAiLCAiSVQwIiwgInVZIiwgIk5UMCIsICJpWSIsICJBaCIsICJqVDAiLCAiQ1QwIiwgImZZIiwgImNZIiwgIlBoIiwgIngxIiwgIndhIiwgIkpDIiwgInNZIiwgImFZIiwgIm9ZIiwgInZZIiwgIkdDIiwgImxZIiwgIk9UMCIsICJEVDAiLCAiRlQwIiwgInBZIiwgIlJUMCIsICJMVDAiLCAiZDQiLCAia1kiLCAibVkiLCAiSWgiLCAiTVQwIiwgImhZIiwgIldDIiwgInk0IiwgIk5oIiwgInFUMCIsICJVVDAiLCAiamgiLCAiZFkiLCAiQ2giLCAiT2giLCAiRGgiLCAiVkMiLCAiJEMiLCAiZzQiLCAieVkiLCAiRmgiLCAiUmgiLCAiZ1kiLCAidzQiLCAid1kiLCAiX1kiLCAiYlkiLCAiVFkiLCAiRVkiLCAiTGgiLCAiTWgiLCAiU1kiLCAia2wiLCAiXzQiLCAicWgiLCAiQVkiLCAiX2EiLCAiUFkiLCAiYjQiLCAiSVkiLCAiVWgiLCAiUUMiLCAiUnYiLCAiTlkiLCAialkiLCAiQlQwIiwgIkNZIiwgIk9ZIiwgIkhDIiwgIkRZIiwgIkZZIiwgIlJZIiwgIlhUMCIsICJZVDAiLCAielQwIiwgIktUMCIsICJKVDAiLCAiR1QwIiwgIldUMCIsICJWVDAiLCAiJFQwIiwgIlFUMCIsICJIVDAiLCAiWlQwIiwgInhFMCIsICJyRTAiLCAiZUUwIiwgInRFMCIsICJuRTAiLCAidUUwIiwgImlFMCIsICJmRTAiLCAiY0UwIiwgInNFMCIsICJhRTAiLCAib0UwIiwgInZFMCIsICJsRTAiLCAiTFkiLCAiTVkiLCAiQmgiLCAicVkiLCAiVVkiLCAiWkMiLCAiQlkiLCAieE8iLCAick8iLCAicEUwIiwgImtFMCIsICJtRTAiLCAiaEUwIiwgImRFMCIsICJiYSIsICJqMSIsICJYWSIsICJYaCIsICJ5RTAiLCAiWVkiLCAiZ0UwIiwgIndFMCIsICJ6WSIsICJfcyIsICIkMiIsICJwciIsICJneCIsICJtbCIsICJLWSIsICJKWSIsICJ3MiIsICJfRTAiLCAiaGwiLCAiYkUwIiwgIm5PIiwgInVPIiwgInJkIiwgImVkIiwgIlZZIiwgIkFFMCIsICJQRTAiLCAiSUUwIiwgIiRZIiwgIlFZIiwgIk5FMCIsICJURTAiLCAiRUUwIiwgIlNFMCIsICJHWSIsICJXWSIsICJnbGltbWVyX2V4cG9ydHMiLCAiX19leHBvcnQiLCAid28iLCAibW4iLCAiQXIiLCAidmkiLCAiSm4iLCAiTXQiLCAienQiLCAibWUiLCAiWG4iLCAiSnQiLCAiJG4iLCAicyIsICJCIiwgImR0IiwgIkx0IiwgIlpuIiwgIkR0IiwgIlIiLCAiZGUiLCAiX3QiLCAiS2UiLCAiV2UiLCAiT3QiLCAiamUiLCAiQnQiLCAiYnQiLCAibnMiLCAiaSIsICJhIiwgIm8iLCAiS3QiLCAiUXQiLCAiV3QiLCAiWXQiLCAiR3QiLCAianQiLCAiJCIsICJJdCIsICJHZSIsICJGciIsICJIciIsICJzcyIsICJnZSIsICJVciIsICJRZSIsICJvcyIsICJZciIsICJ6IiwgIlp0IiwgIlh0IiwgIlhlIiwgImNzIiwgInl0IiwgInRlIiwgIiRyIiwgImhzIiwgInBzIiwgIlFyIiwgIlplIiwgInllIiwgIkpyIiwgIlhyIiwgImZzIiwgImMiLCAiaCIsICJwIiwgIm0iLCAidiIsICJuIiwgImciLCAiZHMiLCAiRSIsICJNIiwgIk4iLCAiWnIiLCAiZ3QiLCAidnMiLCAiRXMiLCAicm4iLCAibm4iLCAia3MiLCAid3MiLCAiYW4iLCAia2UiLCAiU2UiLCAiTHMiLCAidyIsICJiZSIsICJxIiwgIloiLCAiTCIsICJ6ZSIsICJDcyIsICJqIiwgInR0IiwgIlYiLCAieCIsICJQIiwgInJ0IiwgIlJ0IiwgImVlIiwgImhlIiwgIk50IiwgIkgiLCAiZXQiLCAic24iLCAiTnMiLCAiVyIsICJ4cyIsICJvbiIsICJUdCIsICJDdCIsICJCcyIsICJBcyIsICJ6ciIsICJtcyIsICIkdCIsICJlciIsICJncyIsICJ0IiwgInIiLCAiYnMiLCAieXMiLCAidG4iLCAiZW4iLCAibG4iLCAiY24iLCAidmUiLCAidHIiLCAiU3MiLCAidW4iLCAiaG4iLCAiVHMiLCAicG4iLCAiUHMiLCAiT3MiLCAiZ24iLCAiUnMiLCAiYm4iLCAiZG4iLCAic3IiLCAibnIiLCAid2UiLCAiVGUiLCAieW4iLCAia24iLCAiRyIsICJpciIsICJhciIsICJrdCIsICJvdCIsICJvciIsICJhdCIsICJsciIsICJWcyIsICJIcyIsICJGcyIsICJVcyIsICJNcyIsICJ6cyIsICJZcyIsICJHcyIsICJLcyIsICJOZSIsICJFZSIsICJFbiIsICJjciIsICJ2biIsICJfIiwgIkpzIiwgInduIiwgIiRzIiwgIlpzIiwgIlhzIiwgIkNuIiwgInJpIiwgImJyIiwgInVlIiwgImllIiwgIk5yIiwgIm5pIiwgIk9uIiwgImtyIiwgIlMiLCAiTm4iLCAieHIiLCAib2kiLCAieG4iLCAiQm4iLCAiSW4iLCAiRGUiLCAiUm4iLCAiRnQiLCAiYWkiLCAibGkiLCAiQW4iLCAiY2kiLCAidWkiLCAiVnQiLCAicW4iLCAiZnIiLCAicHIiLCAiRXQiLCAiUG4iLCAiZiIsICJUIiwgImx0IiwgIlBlIiwgIm5lIiwgIlZuIiwgIkQiLCAiTG4iLCAiRG4iLCAic2kiLCAibXIiLCAiZHIiLCAiZ3IiLCAicXQiLCAiSG4iLCAiQ3IiLCAiVHIiLCAicnIiLCAicGkiLCAibWkiLCAiZGkiLCAiZ2kiLCAiVW4iLCAiYmkiLCAia2kiLCAieWkiLCAiTW4iLCAiaXQiLCAiQnIiLCAiSXIiLCAiam4iLCAiVWUiLCAiTWUiLCAiUnIiLCAiSSIsICJQdCIsICJKIiwgIlByIiwgIlFuIiwgIlllIiwgInFyIiwgIlZyIiwgInRzIiwgImVzIiwgInJzIiwgIlUiLCAiSmUiLCAiTXIiLCAiaXMiLCAiYXMiLCAiJGUiLCAiR3IiLCAibHMiLCAiS3IiLCAiV3IiLCAidXMiLCAianIiLCAiRHMiLCAiX3MiLCAiSXMiLCAiZm4iLCAiT2EiLCAiQmEiLCAicXMiLCAiU24iLCAicmUiLCAiQ2UiLCAiVG4iLCAiV3MiLCAianMiLCAiUXMiLCAidXIiLCAiaHIiLCAiS2EiLCAieGUiLCAiUWEiLCAiSmEiLCAidGkiLCAiaW8iLCAiZWkiLCAiYW8iLCAidXQiLCAic2UiLCAiY3QiLCAieXIiLCAiTGUiLCAiU3IiLCAiY2UiLCAiYWUiLCAiU3QiLCAidnQiLCAib2UiLCAiWCIsICJLIiwgImh0IiwgIkh0IiwgInd0IiwgInB0IiwgImxlIiwgImlpIiwgInZyIiwgImhpIiwgIkFlIiwgIkVyIiwgIndyIiwgImZpIiwgIm9vIiwgIl9lIiwgIkZuIiwgIlNpIiwgImluaXRfZ2xpbW1lciIsICJfX2VzbU1pbiIsICJudCIsICJkIiwgImsiLCAiYiIsICJPZSIsICJMciIsICJCZSIsICJ5IiwgIkMiLCAibCIsICJ4dCIsICJ1IiwgInN0IiwgIlV0IiwgIkRyIiwgIlluIiwgIl9yIiwgIkduIiwgIkEiLCAiZnQiLCAiUmUiLCAicWUiLCAiS24iLCAiRWkiLCAiWSIsICJXbiIsICJPIiwgIlZlIiwgIm10IiwgIkYiLCAid2kiLCAiSGUiLCAiQXQiLCAicGUiLCAiUSIsICJPciIsICJmZSIsICJGZSIsICJ6biIsICJJZSIsICJlIiwgImdyYXBocWxfZXhwb3J0cyIsICJfX2V4cG9ydCIsICJmciIsICJQZSIsICJ3ZSIsICJFZSIsICJzbiIsICJ4IiwgImIiLCAicmUiLCAieSIsICJjZSIsICJzZSIsICJPIiwgIm4iLCAib2UiLCAiRSIsICJyIiwgImoiLCAiYSIsICJ1IiwgIlR0IiwgIk50IiwgIkciLCAiJCIsICJ4dCIsICJfdCIsICJ5ZSIsICJ5dCIsICJfZSIsICJPZSIsICJEZSIsICJJZSIsICJJdCIsICJ3IiwgIkYiLCAicGUiLCAiRHQiLCAicSIsICJRIiwgIkNlIiwgInZlIiwgImd0IiwgImsiLCAiZiIsICJrdCIsICJnIiwgInVlIiwgImJlIiwgIl8iLCAicCIsICJZIiwgIkEiLCAidnQiLCAiZ2UiLCAiQWUiLCAiU3QiLCAiQ3QiLCAibCIsICJUIiwgIkQiLCAiTGUiLCAiYnQiLCAidCIsICJWZSIsICJCZSIsICJCIiwgIlB0IiwgIk1lIiwgImZlIiwgImgiLCAiSSIsICJpZSIsICJOIiwgInYiLCAiVWUiLCAiRnQiLCAiWWUiLCAiZCIsICJXIiwgImplIiwgIkwiLCAiR2UiLCAiaGUiLCAiJGUiLCAiSmUiLCAid3QiLCAicWUiLCAibyIsICJSIiwgIksiLCAiUWUiLCAiV2UiLCAiQyIsICJtIiwgIlYiLCAiVnQiLCAiQnQiLCAiJHQiLCAiTXQiLCAiVXQiLCAiSnQiLCAiZGUiLCAiWXQiLCAianQiLCAiR3QiLCAiVSIsICJYZSIsICJaIiwgImVlIiwgInRlIiwgIlh0IiwgInF0IiwgIld0IiwgIlF0IiwgIkh0IiwgImkiLCAicyIsICJ6ZSIsICJIZSIsICJNIiwgIktlIiwgIm1lIiwgIm5lIiwgIlplIiwgIkt0IiwgIlp0IiwgInRuIiwgImV0IiwgIm5uIiwgImVuIiwgInR0IiwgIk5lIiwgIlRlIiwgIm50IiwgIlAiLCAiYWUiLCAieGUiLCAibXQiLCAiRXQiLCAiQW4iLCAibGUiLCAiT3QiLCAia2UiLCAiSiIsICJYIiwgIkpuIiwgIlMiLCAiQXQiLCAiU2UiLCAiTHQiLCAiUmUiLCAiRmUiLCAiUnQiLCAiSCIsICJjIiwgInoiLCAienQiLCAicm4iLCAiaW5pdF9ncmFwaHFsIiwgIl9fZXNtTWluIiwgImUiLCAiaHRtbF9leHBvcnRzIiwgIl9fZXhwb3J0IiwgIk5oIiwgIkFzIiwgInZzIiwgIkdyIiwgIklvIiwgInNpIiwgInQiLCAiVmUiLCAiVWUiLCAiZSIsICJTdCIsICJhaSIsICJLZSIsICJpaSIsICJzIiwgImsiLCAicmUiLCAiRGUiLCAibm4iLCAidmUiLCAiXyIsICJfdCIsICJ5ZSIsICJzbiIsICJhbiIsICJFdCIsICJ3ZSIsICJsZSIsICJiZSIsICJvbiIsICJUZSIsICJxIiwgImxyIiwgImkiLCAiYSIsICJvIiwgImplIiwgIkdlIiwgIldlIiwgInplIiwgIlllIiwgIlEiLCAieGUiLCAidXIiLCAiQiIsICJ1biIsICJjaSIsICJBdCIsICJsbiIsICJjciIsICJtaSIsICJtbiIsICJrZSIsICJkaSIsICJnaSIsICJTIiwgImNlIiwgInYiLCAiWSIsICJUIiwgIkNpIiwgIkNuIiwgIlNpIiwgIl9pIiwgIkVpIiwgIkFpIiwgIkR0IiwgImhlIiwgInd0IiwgIlUiLCAibWUiLCAidmkiLCAiTyIsICJwZSIsICJ2biIsICJ5biIsICJmciIsICJJbiIsICJ3biIsICJyIiwgIm4iLCAiSmUiLCAia2kiLCAiRmkiLCAiYm4iLCAiQmkiLCAiTGkiLCAiVG4iLCAiTmkiLCAiUWUiLCAieG4iLCAiZHIiLCAid2kiLCAiQm4iLCAiTG4iLCAidnQiLCAiRm4iLCAieWkiLCAia24iLCAieXQiLCAiTm4iLCAiYmkiLCAiQmUiLCAiVGkiLCAieGkiLCAiZ3IiLCAiWGUiLCAiUGkiLCAiUG4iLCAiZmUiLCAiX24iLCAiU24iLCAiQW4iLCAiRW4iLCAiSWkiLCAiTiIsICJDciIsICJTciIsICJ3IiwgIlAiLCAiUmkiLCAiUm4iLCAiT24iLCAiYnQiLCAibXIiLCAiRSIsICJUdCIsICIkbiIsICJfciIsICJFciIsICJxaSIsICJPaSIsICIkaSIsICJNaSIsICJIaSIsICJIbiIsICJZaSIsICJ1IiwgInAiLCAiQyIsICJBIiwgIkQiLCAibCIsICJVaSIsICJXaSIsICJ6aSIsICJkIiwgIlZpIiwgIlIiLCAiRiIsICJjIiwgImciLCAieSIsICJNIiwgIngiLCAiViIsICJWbiIsICJHaSIsICJqaSIsICJRaSIsICJVbiIsICJLaSIsICJXbiIsICJHbiIsICJYaSIsICJBciIsICJZbiIsICJqbiIsICJLbiIsICJKaSIsICJMZSIsICJaaSIsICJlYSIsICJ0YSIsICJRbiIsICJyYSIsICJ6biIsICJxbiIsICJYbiIsICJNbiIsICJuYSIsICJzYSIsICJYIiwgIkoiLCAiWmUiLCAiaWEiLCAiZGUiLCAiU2UiLCAiYWEiLCAieHQiLCAiaiIsICJDZSIsICJnZSIsICJXIiwgImV0IiwgImt0IiwgIkRyIiwgInRzIiwgIm9hIiwgInR0IiwgInVhIiwgImYiLCAiRmUiLCAibGEiLCAiQnQiLCAicnQiLCAiX2UiLCAieiIsICJlcyIsICJjYSIsICJoYSIsICJMdCIsICJuZSIsICJKbiIsICJkbiIsICJwYSIsICJnbiIsICJzdCIsICJudCIsICJ2ciIsICJmYSIsICJhcyIsICJvcyIsICJscyIsICJzZSIsICJpdCIsICJGdCIsICJOZSIsICJjcyIsICJDYSIsICJwcyIsICJ1cyIsICJocyIsICJtcyIsICJmcyIsICJkcyIsICJhdCIsICJOdCIsICJvdCIsICJncyIsICJQdCIsICJ5ciIsICJJdCIsICJTcyIsICJTYSIsICJFYSIsICJfYSIsICJBYSIsICJEYSIsICJoIiwgInZhIiwgInlhIiwgIndhIiwgImJhIiwgIlRhIiwgIkRuIiwgInhhIiwgImthIiwgIkJhIiwgIkxhIiwgIkZhIiwgImNuIiwgImhuIiwgInV0IiwgInhyIiwgImtyIiwgIlJlIiwgIk9lIiwgIkJyIiwgIiR0IiwgIk90IiwgIloiLCAiSGEiLCAiJGUiLCAibHQiLCAia3MiLCAibSIsICJJIiwgInF0IiwgImp0IiwgIkJzIiwgIldhIiwgIlVzIiwgIiRyIiwgIkVlIiwgIk9yIiwgIkNvIiwgInFlIiwgIklzIiwgImNvIiwgImIiLCAiUnMiLCAicG8iLCAiaG8iLCAibW8iLCAiZm8iLCAiZ28iLCAiT3MiLCAiJHMiLCAiTXMiLCAiV3MiLCAienMiLCAiTWUiLCAienIiLCAiU28iLCAiX28iLCAiRW8iLCAiQ3QiLCAiQW8iLCAiRG8iLCAiS3MiLCAidm8iLCAieW8iLCAid28iLCAiYm8iLCAiVG8iLCAieG8iLCAia28iLCAiSnMiLCAiZWkiLCAianIiLCAidGkiLCAiQm8iLCAiS3IiLCAiUXIiLCAiWHMiLCAiUXMiLCAiaXIiLCAiaHQiLCAiR3MiLCAiWnMiLCAiWXMiLCAiaWUiLCAic3IiLCAiYXIiLCAicmkiLCAiWHIiLCAiSnIiLCAiWnIiLCAiSyIsICJlbiIsICJ0biIsICJZciIsICJuaSIsICJvciIsICJybiIsICJvaSIsICJ1aSIsICJsaSIsICJIIiwgInByIiwgInBuIiwgInBpIiwgImhpIiwgImhyIiwgImZpIiwgImZuIiwgIkRpIiwgIlpuIiwgInJzIiwgIm1hIiwgIm5zIiwgImRhIiwgInNzIiwgImdhIiwgImlzIiwgIlJ0IiwgIkllIiwgIl9zIiwgIk5hIiwgIkVzIiwgIndyIiwgIkRzIiwgIlBhIiwgIkNwIiwgInlzIiwgIndzIiwgImJzIiwgImJyIiwgIlRyIiwgIlRzIiwgIk10IiwgIklhIiwgIlJhIiwgIk9hIiwgIiRhIiwgIk1hIiwgInhzIiwgInFhIiwgImFlIiwgIkh0IiwgIlZ0IiwgIlV0IiwgIld0IiwgInp0IiwgIkciLCAiR3QiLCAiWXQiLCAiZWUiLCAiY3QiLCAicHQiLCAiVWEiLCAiTHIiLCAiRnIiLCAiZnQiLCAibG8iLCAiWnQiLCAiZHQiLCAiZXIiLCAiTXIiLCAiZ3QiLCAiTCIsICJWciIsICJ0ciIsICJVciIsICJyciIsICJXciIsICJuciIsICJqcyIsICJMbyIsICJGbyIsICJObyIsICJQbyIsICJpbml0X2h0bWwiLCAiX19lc21NaW4iLCAibWFya2Rvd25fZXhwb3J0cyIsICJfX2V4cG9ydCIsICJrQyIsICJNaSIsICJ6aSIsICJSbiIsICJSbSIsICJsZSIsICJnbCIsICIkIiwgIlciLCAiciIsICJCciIsICJFbCIsICJZIiwgInQiLCAidmwiLCAiYSIsICJDbCIsICJ1IiwgIiRuIiwgImkiLCAiVGUiLCAiSiIsICJvIiwgInMiLCAibCIsICJYIiwgIksiLCAidGUiLCAicmUiLCAiRGUiLCAiZGUiLCAicGUiLCAiQ2UiLCAiZmUiLCAiaGUiLCAiSCIsICJuZSIsICJ0ciIsICJxZSIsICJiZSIsICJNZSIsICJUciIsICJfZSIsICJ6ZSIsICJLbiIsICJTciIsICJ5bCIsICJKbiIsICJ6IiwgIlhuIiwgIlduIiwgInllIiwgInVyIiwgIkFsIiwgInhsIiwgIndsIiwgIkxyIiwgIlpuIiwgImtsIiwgIkJsIiwgImFyIiwgIlRsIiwgIk4iLCAibXQiLCAibmkiLCAib2kiLCAiYWkiLCAidGkiLCAiX2wiLCAiUCIsICJmaSIsICJTbCIsICJPbCIsICJMbCIsICJPZSIsICJMZSIsICJJciIsICJjaSIsICJHZSIsICJTZSIsICJzciIsICJJbCIsICJQZSIsICJpZSIsICJZZSIsICJwaSIsICJOciIsICJBZSIsICJndCIsICJObCIsICJEaSIsICJPciIsICJsaSIsICJsciIsICJjciIsICJ2dCIsICJVbCIsICJnaSIsICJFaSIsICJDaSIsICJHbCIsICJZbCIsICJ2aSIsICJiaSIsICJ5aSIsICJWbCIsICJDdCIsICJqbCIsICJEIiwgImMiLCAicCIsICJkIiwgImJ0IiwgIlZlIiwgIlJyIiwgImZyIiwgIkV0IiwgIkciLCAidWUiLCAiQWkiLCAiaCIsICJtIiwgIkYiLCAieSIsICJFIiwgIkIiLCAiYiIsICJnIiwgIkEiLCAieCIsICJ2IiwgInciLCAiayIsICJpciIsICJ4aSIsICJuciIsICJ3aSIsICIkbCIsICJKbCIsICJYbCIsICJabCIsICJyZiIsICJ0ZiIsICJlZiIsICJLbCIsICJRbCIsICJBdCIsICJUaSIsICJ1ZiIsICJhZiIsICJfaSIsICJxaSIsICJvZiIsICJuZiIsICJ4dCIsICJxciIsICJfciIsICJjZiIsICJuIiwgImRmIiwgIkRmIiwgIlYiLCAiUW4iLCAid3QiLCAiVXIiLCAiT2kiLCAiU2kiLCAibGYiLCAia3QiLCAiTmkiLCAicmkiLCAiRmYiLCAiZmYiLCAiQnQiLCAiTGkiLCAicGYiLCAiaGYiLCAiSWkiLCAiRnQiLCAiUHIiLCAiUGkiLCAic2YiLCAibWYiLCAiZWkiLCAiZ2YiLCAiUmkiLCAiT20iLCAiV2MiLCAib2wiLCAiYWwiLCAidWwiLCAiJGMiLCAibmwiLCAiUWMiLCAiaWwiLCAiWGMiLCAidGwiLCAiZWwiLCAiWmMiLCAicmwiLCAiY2wiLCAicHQiLCAibGwiLCAiZmwiLCAiRGwiLCAicGwiLCAiTW4iLCAiQyIsICJ6biIsICJobCIsICJVZSIsICJZbiIsICJjZSIsICJHbiIsICJWbiIsICJrciIsICJHaSIsICJPdCIsICJKaSIsICJydSIsICJudSIsICJJZSIsICJ1dSIsICJzdSIsICJsdSIsICJEdSIsICJodSIsICJkdSIsICJtdSIsICJOZSIsICJ2dSIsICJXZSIsICJidSIsICJ5dSIsICJ3dSIsICJkciIsICJZdSIsICJqdSIsICJIdSIsICJKdSIsICJHdCIsICJadSIsICJ0YSIsICJpYSIsICJzYSIsICJsYSIsICJEYSIsICJkYSIsICJGYSIsICJLciIsICIkdCIsICJiYSIsICJ4YSIsICJSZSIsICJYciIsICJfYSIsICJMYSIsICJOYSIsICJYdCIsICJZYSIsICJIYSIsICJRYSIsICJ0biIsICJpbyIsICJvZSIsICJubiIsICJwbyIsICJGbyIsICJFbyIsICJibyIsICJ3byIsICJzbiIsICJTbyIsICJMbyIsICJObyIsICJZbyIsICIkbyIsICJKbyIsICJabyIsICJ2biIsICJvcyIsICJscyIsICJEcyIsICJtcyIsICJncyIsICJFcyIsICJ4cyIsICJrcyIsICJTcyIsICJMcyIsICJOcyIsICJVcyIsICJZcyIsICJWcyIsICJIcyIsICJRcyIsICJlYyIsICJCbiIsICJsYyIsICJEYyIsICJoYyIsICJ2YyIsICJ5YyIsICJ3YyIsICJrYyIsICJUYyIsICJTYyIsICJMYyIsICJJYyIsICJqYyIsICJVbiIsICJkbCIsICJtbCIsICJodCIsICJIbiIsICJibCIsICJkdCIsICJvciIsICJpaSIsICJ1aSIsICJxbCIsICJzaSIsICJQbCIsICJoaSIsICJSbCIsICJkaSIsICJNbCIsICJtaSIsICJ6bCIsICJGaSIsICJRIiwgInl0IiwgImtpIiwgIldsIiwgIkhsIiwgIkJpIiwgInZmIiwgIlVpIiwgIlR0IiwgIkVmIiwgIkJtIiwgIlRtIiwgInFtIiwgIl9tIiwgIkhjIiwgIk5uIiwgIktjIiwgIkpjIiwgIlNtIiwgIkxtIiwgIlBtIiwgInNsIiwgIkltIiwgIk5tIiwgImluaXRfbWFya2Rvd24iLCAiX19lc21NaW4iLCAiWW0iLCAiam4iLCAiRmwiLCAiZSIsICJidiIsICJZaSIsICJ4ZiIsICJEciIsICJNciIsICJqZSIsICJDZiIsICJiZiIsICIkZSIsICJ5ZiIsICJxdCIsICJwciIsICJ6ciIsICJZciIsICJBZiIsICJ3ZiIsICJCZiIsICJrZiIsICJUZiIsICJmIiwgIl90IiwgIlQiLCAicSIsICJSIiwgIk8iLCAiUyIsICJfIiwgIkwiLCAiQmUiLCAiaiIsICJJIiwgImVlIiwgIloiLCAidmUiLCAiRWUiLCAiTSIsICJxZiIsICJTdCIsICJfZiIsICJTZiIsICJBdiIsICJLaSIsICJWaSIsICJJZiIsICJqaSIsICIkaSIsICJHciIsICJPZiIsICJMZiIsICJXaSIsICJQZiIsICJIaSIsICJOZiIsICJSZiIsICJ4diIsICJldSIsICJYaSIsICJZZiIsICJRaSIsICJociIsICJMdCIsICJaaSIsICJVZiIsICJNZiIsICJ6ZiIsICJHZiIsICJWZiIsICJ3diIsICJ0dSIsICJqZiIsICIkZiIsICJXZiIsICJrdiIsICJpdSIsICJLZiIsICJIZiIsICJCdiIsICJQdCIsICJUdiIsICJvdSIsICJKZiIsICJhdSIsICJYZiIsICJxdiIsICJjdSIsICJRZiIsICJfdiIsICJmdSIsICJaZiIsICJTdiIsICJwdSIsICJlRCIsICJJdCIsICJPdiIsICJyRCIsICJMdiIsICJ0RCIsICJQdiIsICJGdSIsICJuRCIsICJJdiIsICJndSIsICJpRCIsICJOdiIsICJFdSIsICJ1RCIsICJSdiIsICJDdSIsICJhRCIsICJvRCIsICJzRCIsICJVdiIsICJjRCIsICJNdiIsICJ4dSIsICJBdSIsICJmRCIsICJsRCIsICJ6diIsICJVdSIsICJrdSIsICJCdSIsICJERCIsICJwRCIsICJTdSIsICJoRCIsICJrRCIsICJkRCIsICJIZSIsICJtRCIsICJUdSIsICJGRCIsICJxdSIsICJnRCIsICJ2RCIsICJfdSIsICJFRCIsICJDRCIsICJiRCIsICJ5RCIsICJBRCIsICJ4RCIsICJ3RCIsICJLZSIsICJSdCIsICJVdCIsICJNdCIsICJWciIsICJPdSIsICJMdSIsICJQdSIsICJJdSIsICJOdSIsICJOdCIsICJSdSIsICJ4ZSIsICJCRCIsICJURCIsICJxRCIsICJEdCIsICJZdiIsICJ6dSIsICJfRCIsICJNdSIsICJTRCIsICJHdiIsICJWdSIsICJPRCIsICJHdSIsICJMRCIsICJQRCIsICJWdiIsICJXdSIsICJqciIsICJ6dCIsICJZdCIsICIkdSIsICJqdiIsICJLdSIsICIkdiIsICJYdSIsICJXdiIsICJRdSIsICJJRCIsICJORCIsICJSRCIsICJVRCIsICJIdiIsICJyYSIsICJlYSIsICJHRCIsICJZRCIsICJ6RCIsICJNRCIsICJLdiIsICJuYSIsICJWRCIsICJKdiIsICJvYSIsICIkciIsICJqRCIsICIkRCIsICJ1YSIsICJhYSIsICJWdCIsICJXRCIsICJYdiIsICJjYSIsICJIciIsICJXciIsICJIRCIsICJLRCIsICJKRCIsICJRdiIsICJmYSIsICJYRCIsICJRRCIsICJaRCIsICJlcCIsICJadiIsICJoYSIsICJwYSIsICJycCIsICJpcCIsICJ0cCIsICJucCIsICJlRSIsICJtYSIsICJ1cCIsICJhcCIsICJyRSIsICJnYSIsICJtZSIsICJqdCIsICJvcCIsICJ0RSIsICJ2YSIsICJzcCIsICJuRSIsICJDYSIsICJjcCIsICJscCIsICJwcCIsICJXdCIsICJFYSIsICJIdCIsICJmcCIsICJEcCIsICJpRSIsICJBYSIsICJGcCIsICJKciIsICJtciIsICJKZSIsICJocCIsICJ5YSIsICJkcCIsICJtcCIsICJYZSIsICJ3YSIsICJncCIsICJ1RSIsICJrYSIsICJ2cCIsICJhRSIsICJxYSIsICJFcCIsICJDcCIsICJicCIsICJLdCIsICJCYSIsICJKdCIsICJUYSIsICJvRSIsICJPYSIsICJBcCIsICJTYSIsICJGciIsICJnciIsICJ2ciIsICJ5cCIsICJzRSIsICJJYSIsICJfcCIsICJ4cCIsICJ3cCIsICJQYSIsICJrcCIsICJCcCIsICJUcCIsICJxcCIsICJjRSIsICJVYSIsICJQcCIsICJSYSIsICJTcCIsICJPcCIsICJMcCIsICJsRSIsICJ6YSIsICJJcCIsICJOcCIsICJScCIsICJ6cCIsICJNYSIsICJVcCIsICJNcCIsICJmRSIsICJXYSIsICJZcCIsICJHcCIsICJHYSIsICJWcCIsICJqcCIsICIkcCIsICJlaCIsICJRdCIsICJXcCIsICJWYSIsICJadCIsICJqYSIsICJGZSIsICJhZSIsICJRciIsICIkYSIsICJIcCIsICJ3ZSIsICJLcCIsICJKcCIsICJYcCIsICJRcCIsICJacCIsICJyaCIsICJ0aCIsICJuaCIsICJERSIsICJYYSIsICJjaCIsICJlbiIsICJpaCIsICJLYSIsICJKYSIsICJ1aCIsICJhaCIsICJvaCIsICJzaCIsICJybiIsICJsaCIsICJmaCIsICJEaCIsICJwaCIsICJoaCIsICJkaCIsICJaYSIsICJlbyIsICJtaCIsICJGaCIsICJnaCIsICJ2aCIsICJoRSIsICJubyIsICJFaCIsICJQaCIsICJDaCIsICJiaCIsICJybyIsICJ5aCIsICJBaCIsICJ4aCIsICJ3aCIsICJraCIsICJCaCIsICJUaCIsICJxaCIsICJfaCIsICJTaCIsICJPaCIsICJ0byIsICJMaCIsICJkRSIsICJ1byIsICJSaCIsICJJaCIsICJOaCIsICJtRSIsICJhbyIsICJVaCIsICJNaCIsICJGRSIsICJEbyIsICJ6aCIsICJZaCIsICIkaCIsICJvbyIsICJzbyIsICJHaCIsICJRZSIsICJaciIsICJldCIsICJhbiIsICJFciIsICJWaCIsICJqaCIsICJjbyIsICJsbyIsICJmbyIsICJ1biIsICJXaCIsICJnRSIsICJtbyIsICJIaCIsICJpZCIsICJLaCIsICJydCIsICJKaCIsICJYaCIsICJRaCIsICJaaCIsICJvbiIsICJlZCIsICJyZCIsICJobyIsICJ0ZCIsICJuZCIsICJ2RSIsICJ2byIsICJ1ZCIsICJhZCIsICJvZCIsICJsZCIsICJzZCIsICJDciIsICJjZCIsICJnbyIsICJFRSIsICJDbyIsICJmZCIsICJDRSIsICJ4byIsICJEZCIsICJBbyIsICJwZCIsICJ5byIsICJiRSIsICJrbyIsICJoZCIsICJ5RSIsICJfbyIsICJCbyIsICJkZCIsICJtZCIsICJEbiIsICJUbyIsICJjbiIsICJxbyIsICJsbiIsICJmbiIsICJ0dCIsICJBRSIsICJPbyIsICJGZCIsICJ4RSIsICJJbyIsICJnZCIsICJQbyIsICJ3RSIsICJ6byIsICJSbyIsICJ2ZCIsICJFZCIsICJwbiIsICJDZCIsICJiZCIsICJkbiIsICJ5ZCIsICJBZCIsICJ4ZCIsICJ3ZCIsICJrZCIsICJCZCIsICJobiIsICJUZCIsICJxZCIsICJfZCIsICJTZCIsICJVbyIsICJPZCIsICJMZCIsICJNbyIsICJrRSIsICJqbyIsICJQZCIsICJJZCIsICJOZCIsICJSZCIsICJVZCIsICJNZCIsICJWbyIsICJHbyIsICJCRSIsICJLbyIsICJ6ZCIsICJXbyIsICJIbyIsICJZZCIsICJnbiIsICJHZCIsICJtbiIsICJudCIsICJWZCIsICJGbiIsICJURSIsICJRbyIsICJqZCIsICIkZCIsICJXZCIsICJYbyIsICJIZCIsICJLZCIsICJKZCIsICJYZCIsICJRZCIsICJaZCIsICJxRSIsICJlcyIsICJlMCIsICJfRSIsICJhcyIsICJiciIsICJyMCIsICJ1cyIsICJ0MCIsICJuMCIsICJycyIsICJ0cyIsICJaZSIsICJ5ciIsICJFbiIsICJDbiIsICJucyIsICJBciIsICJpMCIsICJpcyIsICJTRSIsICJjcyIsICJ1MCIsICJhMCIsICJvMCIsICJzcyIsICJibiIsICJzMCIsICJjMCIsICJsMCIsICJ5biIsICJmMCIsICJpdCIsICJ1dCIsICJhdCIsICJPRSIsICJmcyIsICJEMCIsICJMRSIsICJkcyIsICJwMCIsICJwcyIsICJoMCIsICJocyIsICJkMCIsICJtMCIsICJGMCIsICJQRSIsICJGcyIsICJFMCIsICJnMCIsICJ2MCIsICJJRSIsICJ2cyIsICJDMCIsICJORSIsICJBcyIsICJiMCIsICJ5MCIsICJDcyIsICJBMCIsICJ5cyIsICJ4MCIsICJicyIsICJ3MCIsICJSRSIsICJ3cyIsICJrMCIsICJVRSIsICJfcyIsICJCcyIsICJCMCIsICJxcyIsICJvdCIsICJUcyIsICJNRSIsICJPcyIsICJUMCIsICJ6RSIsICJJcyIsICJxMCIsICJQcyIsICJBbiIsICJ4biIsICJ3biIsICJZRSIsICJScyIsICJfMCIsICJHRSIsICJ6cyIsICJTMCIsICJNcyIsICJPMCIsICJMMCIsICJQMCIsICJWRSIsICJHcyIsICJJMCIsICJqRSIsICJXcyIsICJOMCIsICJzdCIsICJSMCIsICJVMCIsICJNMCIsICJrbiIsICJqcyIsICJVIiwgIiRzIiwgIiRFIiwgIlhzIiwgInowIiwgIlkwIiwgIktzIiwgIkpzIiwgIldFIiwgIlpzIiwgIkcwIiwgIkhFIiwgInJjIiwgIktFIiwgImNjIiwgImN0IiwgInNjIiwgInRjIiwgIm5jIiwgImljIiwgInVjIiwgImFjIiwgIm9jIiwgIkpFIiwgImZjIiwgIlhFIiwgInBjIiwgIlYwIiwgImowIiwgIlFFIiwgImdjIiwgIm1jIiwgIkZjIiwgImRjIiwgIlpFIiwgImJjIiwgImVyIiwgIiQwIiwgIkVjIiwgIlRuIiwgIkNjIiwgImVDIiwgInhjIiwgIlcwIiwgInFuIiwgIkFjIiwgImtlIiwgIkgwIiwgInJyIiwgIkswIiwgIkowIiwgIlgwIiwgIlEwIiwgInhyIiwgIlowIiwgImVtIiwgIkJjIiwgInJtIiwgIm5DIiwgIl9jIiwgInNlIiwgInRtIiwgIm5tIiwgImdlIiwgImltIiwgIl9uIiwgImRtIiwgInVtIiwgImFtIiwgIm9tIiwgInNtIiwgImNtIiwgImxtIiwgImZtIiwgIkRtIiwgInBtIiwgImhtIiwgIk9uIiwgInFjIiwgIlNuIiwgImlDIiwgIk9jIiwgIm1tIiwgImx0IiwgIkZtIiwgInZtIiwgImdtIiwgInVDIiwgIlBjIiwgImFDIiwgIlZjIiwgIk5jIiwgIkVtIiwgImZ0IiwgIlJjIiwgIlljIiwgIndyIiwgIkdjIiwgIkNtIiwgImJtIiwgInltIiwgIkFtIiwgInhtIiwgIndtIiwgIkluIiwgIkxuIiwgIlVjIiwgIk1jIiwgInpjIiwgIlBuIiwgImttIiwgIm1lcml5YWhfZXhwb3J0cyIsICJfX2V4cG9ydCIsICIkMCIsICJ3biIsICJjIiwgIm4iLCAiZSIsICJ1IiwgIm0yIiwgInoyIiwgIiQiLCAidCIsICJvIiwgImkiLCAibCIsICJmIiwgImgyIiwgIlJlIiwgIk9uIiwgIlZuIiwgIkEiLCAidW4iLCAidG4iLCAiazIiLCAiVWUiLCAiVyIsICJNZSIsICJNMiIsICJKZSIsICJWMiIsICJSbiIsICJqZSIsICJvbiIsICJMbiIsICJOIiwgImQiLCAiVW4iLCAiWGUiLCAiSGUiLCAibzIiLCAibSIsICJYIiwgImciLCAiemUiLCAiS2UiLCAiTW4iLCAiSm4iLCAiam4iLCAiJGUiLCAiV2UiLCAiRm4iLCAidjIiLCAieSIsICJpMiIsICJxbiIsICJYbiIsICJsbiIsICJfZSIsICJIbiIsICJZZSIsICJRZSIsICJiIiwgInpuIiwgIlplIiwgIkdlIiwgInhlIiwgIncyIiwgIngyIiwgIksiLCAiViIsICJQIiwgIktuIiwgImZuIiwgIkMiLCAiciIsICJKMiIsICIkbiIsICJXbiIsICJyZSIsICJfbiIsICJwZSIsICJzIiwgImoyIiwgIksyIiwgImoiLCAiYTIiLCAiZzIiLCAicjIiLCAibnUiLCAibjIiLCAiWW4iLCAibDIiLCAiZXUiLCAidXUiLCAiUW4iLCAidHUiLCAiaXUiLCAib3UiLCAibHUiLCAiQjIiLCAiJDIiLCAiZnUiLCAiZHUiLCAiY3UiLCAiYSIsICJndSIsICJIIiwgImduIiwgIkkyIiwgIm11IiwgIlkyIiwgInZ1IiwgIlN1IiwgImQyIiwgImVuIiwgInAyIiwgIkZ1IiwgInBuIiwgInJuIiwgIlpuIiwgIkwyIiwgIkduIiwgImF1IiwgImh1IiwgInF1IiwgIkx1IiwgImJ1IiwgIkF1IiwgInl1IiwgIkUyIiwgInN1IiwgIlR1IiwgIkR1IiwgInd1IiwgIkN1IiwgIkV1IiwgImt1IiwgIlIiLCAiXyIsICJkbiIsICJPIiwgIkoiLCAiZTIiLCAiQTIiLCAieiIsICJrIiwgImxlIiwgInNuIiwgIl8yIiwgIlNuIiwgImgiLCAiVCIsICJDMiIsICJCdSIsICJnZSIsICJJdSIsICJzMiIsICJGMiIsICJQbiIsICJNIiwgIkUiLCAidyIsICJJIiwgIloiLCAiUSIsICJZIiwgInEiLCAiRiIsICJ2IiwgInhuIiwgInZuIiwgIk5uIiwgIlB1IiwgIm5uIiwgIk8yIiwgIm5lIiwgImVlIiwgImYyIiwgImMyIiwgIk4yIiwgIk51IiwgIlZ1IiwgInRlIiwgIk91IiwgInluIiwgIlJ1IiwgIlcyIiwgIlV1IiwgIk11IiwgImNuIiwgImFuIiwgIkp1IiwgImtuIiwgIm1uIiwgIkgyIiwgImp1IiwgIlF1IiwgIll1IiwgIkd1IiwgIld1IiwgIl91IiwgInB1IiwgIm4xIiwgInh1IiwgInVlIiwgIlh1IiwgIlEyIiwgInp1IiwgIkh1IiwgIkt1IiwgIlIyIiwgIiR1IiwgIm9lIiwgImIyIiwgImllIiwgIlUiLCAiRCIsICJ4IiwgIlp1IiwgIkIiLCAiTCIsICJTIiwgIkQyIiwgInQyIiwgInAiLCAieTIiLCAiaG4iLCAiWDIiLCAiVTIiLCAicnUiLCAiZmUiLCAiZTEiLCAiZGUiLCAiVDIiLCAidTEiLCAibDEiLCAiZzEiLCAibzEiLCAidDEiLCAibWUiLCAiaTEiLCAiZjEiLCAiZDEiLCAiY2UiLCAiQW4iLCAibTEiLCAiWjIiLCAia2UiLCAiYzEiLCAiYTEiLCAiazEiLCAieTEiLCAiczEiLCAiYWUiLCAiaDEiLCAiQTEiLCAiRDEiLCAiRyIsICJ1MiIsICJUMSIsICJFMSIsICJ3MSIsICJxMiIsICJQMiIsICJTMiIsICJUbiIsICJJMSIsICJDbiIsICJDZSIsICJGMSIsICJHMiIsICJiZSIsICJFZSIsICJFbiIsICJibiIsICJoZSIsICJEbiIsICJMZSIsICJQMSIsICJGZSIsICJTMSIsICJxMSIsICJWMSIsICJOMSIsICJCZSIsICJJZSIsICJ2MSIsICJPMSIsICJSMSIsICJVMSIsICJxZSIsICJTZSIsICJNMSIsICJKMSIsICJYMSIsICJqMSIsICJIMSIsICJ5ZSIsICJ6MSIsICJ2ZSIsICJzZSIsICJ3ZSIsICJOZSIsICJJbiIsICJCbiIsICJWZSIsICJPZSIsICJiMSIsICJBZSIsICJDMSIsICJCMSIsICJEZSIsICJUZSIsICJMMSIsICJQZSIsICJLMSIsICJpbml0X21lcml5YWgiLCAiX19lc21NaW4iLCAicG9zdGNzc19leHBvcnRzIiwgIl9fZXhwb3J0IiwgIlViIiwgInlpIiwgIndpIiwgIlFzIiwgIk55IiwgInZsIiwgInQiLCAiV2UiLCAiWWUiLCAiZSIsICJUdCIsICJibCIsICJRIiwgInMiLCAiciIsICJ4bCIsICJuIiwgInEiLCAibmUiLCAidGUiLCAidG4iLCAiYmUiLCAiTCIsICJFZSIsICJyZSIsICJybiIsICJpZSIsICJTZSIsICJzZSIsICJDdCIsICJwZSIsICJzbiIsICJfZSIsICJZIiwgIkVsIiwgImkiLCAibyIsICJ1IiwgIkdlIiwgIkhlIiwgInplIiwgIlZlIiwgImplIiwgIksiLCAia2UiLCAiWXIiLCAiU2wiLCAibm4iLCAiVGwiLCAiQ2wiLCAiT3QiLCAidW4iLCAiT2wiLCAiayIsICJhIiwgIkFsIiwgImFuIiwgImxuIiwgImNuIiwgIk5sIiwgInBuIiwgIlRlIiwgIiQiLCAiUmwiLCAiSWwiLCAiUyIsICJtbiIsICJkbiIsICJKZSIsICJRZSIsICJWciIsICJMbCIsICJNbCIsICJOdCIsICJibiIsICJHciIsICJqciIsICJSdCIsICJvZSIsICJIciIsICJfbiIsICJVbCIsICJrbiIsICJQIiwgIlIiLCAiQW4iLCAiQ24iLCAiTm4iLCAiUG4iLCAiJGwiLCAiRmwiLCAiemwiLCAiWWwiLCAiRW4iLCAiU24iLCAiV2wiLCAiT24iLCAiUm4iLCAiYyIsICJUbiIsICJWbCIsICJxbiIsICJJbiIsICJMbiIsICJEbiIsICJHbCIsICJYZSIsICJqbCIsICJCbiIsICJaZSIsICJNbiIsICJVbiIsICJGbiIsICJLbCIsICIkbiIsICJhZSIsICJDZSIsICJXbiIsICJPZSIsICJZbiIsICJ6biIsICJWbiIsICJHbiIsICJqbiIsICJIbiIsICJLbiIsICJJdCIsICJldCIsICJKIiwgImhlIiwgIlFsIiwgInF0IiwgIlFuIiwgIkpuIiwgInR0IiwgIlFyIiwgIkx0IiwgIlhuIiwgIlpuIiwgImVpIiwgInRpIiwgImRlIiwgIkR0IiwgIktyIiwgIkpyIiwgIkFlIiwgIkJ0IiwgIlhyIiwgIk10IiwgInJ0IiwgInN0IiwgInJpIiwgInNpIiwgIm5pIiwgIkhsIiwgIk5lIiwgIm50IiwgImlpIiwgIml0IiwgIkpsIiwgImQiLCAibSIsICJwIiwgImwiLCAieCIsICJoIiwgImIiLCAidyIsICJ2IiwgIk4iLCAiTyIsICJXIiwgIlQiLCAiQyIsICJCIiwgIkEiLCAiS2UiLCAiWGwiLCAidWkiLCAiWnIiLCAieiIsICJsaSIsICJBdCIsICJjaSIsICJtZSIsICJyYyIsICJlcyIsICJhaSIsICJmaSIsICJzYyIsICJuYyIsICJQdCIsICJVdCIsICJpYyIsICJvYyIsICJhYyIsICJ4biIsICJwaSIsICJoaSIsICJGdCIsICJ1YyIsICJsYyIsICJkaSIsICJ5IiwgInRzIiwgImNjIiwgIiR0IiwgImYiLCAiZmMiLCAicGMiLCAiUGUiLCAib2kiLCAiZm4iLCAiZXAiLCAiWCIsICJxcyIsICJocCIsICJwcCIsICJDbSIsICJ1dSIsICJ5eSIsICJVciIsICJneSIsICJ3eSIsICJ2eSIsICJ4eSIsICJlZSIsICJKdSIsICJYdSIsICJadSIsICJRdSIsICJlbCIsICJGciIsICJybCIsICJieSIsICJ0bCIsICJreSIsICJfeSIsICJFeSIsICJ1bCIsICJmbCIsICJjbCIsICJsbCIsICJmZSIsICJubCIsICJTeSIsICJUeSIsICJzbCIsICJkYSIsICJIcyIsICJvYSIsICJpbCIsICJvbCIsICJhbCIsICJwbCIsICIkciIsICJobCIsICJkbCIsICJtbCIsICJ5bCIsICJnIiwgIlpzIiwgImdsIiwgInhlIiwgInhpIiwgInNzIiwgIld0IiwgIll0IiwgInV0IiwgInp0IiwgInB0IiwgIlJlIiwgIm10IiwgInVlIiwgIkZpIiwgIiRpIiwgImxzIiwgInFlIiwgIkd0IiwgIkRlIiwgImRzIiwgImp0IiwgIlF0IiwgIkp0IiwgImd0IiwgInVvIiwgImNvIiwgInBvIiwgIm1vIiwgInZvIiwgIl9vIiwgIkVvIiwgIlNvIiwgIlp0IiwgIk5vIiwgIndzIiwgInZzIiwgImVyIiwgInhzIiwgImtzIiwgIiRvIiwgIllvIiwgInRyIiwgIlhvIiwgInRhIiwgInNhIiwgImlhIiwgIk9zIiwgIk5zIiwgImZhIiwgInBhIiwgIkxzIiwgIkRzIiwgIkJzIiwgIndlIiwgIkQiLCAiYXIiLCAiX2EiLCAiRWEiLCAiVWUiLCAiQ2EiLCAiQWEiLCAiUGEiLCAiSWEiLCAiTGEiLCAiQmEiLCAiVWEiLCAiJGEiLCAiWWEiLCAiVmEiLCAiamEiLCAicnUiLCAiaXUiLCAiYXUiLCAiRyIsICJVIiwgInB1IiwgImR1IiwgImd1IiwgInZ1IiwgImJ1IiwgImt1IiwgIlR1IiwgIk91IiwgIk51IiwgIlJ1IiwgInF1IiwgIkR1IiwgIk11IiwgIkZ1IiwgIll1IiwgIlZ1IiwgIkt1IiwgIkpzIiwgIndsIiwgIldyIiwgImVuIiwgIl9sIiwgImtsIiwgIm9uIiwgInpyIiwgIlBsIiwgImhuIiwgInluIiwgInFsIiwgImduIiwgIkRsIiwgInduIiwgIkJsIiwgInZuIiwgIklnIiwgIlpsIiwgImVjIiwgInRjIiwgImhjIiwgIm1pIiwgImdpIiwgImRjIiwgImhhIiwgIm15IiwgIktzIiwgIkN5IiwgIk95IiwgIkF5IiwgImluaXRfcG9zdGNzcyIsICJfX2VzbU1pbiIsICJodiIsICJycyIsICJfIiwgInZpIiwgInl2IiwgImtpIiwgImJpIiwgIl9pIiwgIm90IiwgImd2IiwgIlNpIiwgIkVpIiwgIm1jIiwgImF0IiwgInd2IiwgIlRpIiwgInljIiwgIm5zIiwgInZ2IiwgImlzIiwgInh2IiwgIkNpIiwgImdjIiwgIndjIiwgInZjIiwgImx0IiwgInhjIiwgIm9zIiwgImN0IiwgImZ0IiwgImJ2IiwgIk9pIiwgImJjIiwgImh0IiwgIl92IiwgIkFpIiwgIl9jIiwgImR0IiwgImt2IiwgIk1pIiwgIk5pIiwgIlBpIiwgImtjIiwgIlJpIiwgIklpIiwgImFzIiwgInFpIiwgIkxpIiwgInVzIiwgIkRpIiwgIkJpIiwgIlYiLCAiRXYiLCAiVWkiLCAiRWMiLCAiU2MiLCAiVGMiLCAiQ3YiLCAiV2kiLCAiQXYiLCAiR2kiLCAiQ2MiLCAicHMiLCAiaHMiLCAiT2MiLCAiQWMiLCAiWWkiLCAiVnQiLCAiemkiLCAiTmMiLCAiY3MiLCAiZnMiLCAiUGMiLCAiVmkiLCAiSWUiLCAiTnYiLCAiSGkiLCAiamkiLCAiTGUiLCAiUHYiLCAiWGkiLCAiS2kiLCAiUWkiLCAiSmkiLCAibGUiLCAiUnYiLCAiWmkiLCAieXQiLCAiSXYiLCAidG8iLCAiZW8iLCAiUmMiLCAiQmUiLCAicXYiLCAic28iLCAiSHQiLCAiS3QiLCAiSWMiLCAicm8iLCAiRiIsICJIIiwgIkx2IiwgIm9vIiwgInFjIiwgIkxjIiwgIkRjIiwgIkJjIiwgIm5vIiwgIk1jIiwgImlvIiwgIlVjIiwgIm1zIiwgIkR2IiwgImFvIiwgIkZjIiwgIiRjIiwgIldjIiwgIlh0IiwgIkJ2IiwgInlzIiwgIlljIiwgInpjIiwgIk12IiwgImxvIiwgIlV2IiwgImZvIiwgIlZjIiwgIkdjIiwgImpjIiwgIkZ2IiwgImhvIiwgIkhjIiwgIktjIiwgIiR2IiwgIndvIiwgInlvIiwgImdvIiwgIll2IiwgImJvIiwgIlFjIiwgIkpjIiwgIlhjIiwgInhvIiwgIlpjIiwgImVmIiwgInRmIiwgInJmIiwgIlZ2IiwgImtvIiwgInNmIiwgIkd2IiwgImdzIiwgIm5mIiwgIm9mIiwgImFmIiwgImp2IiwgIk9vIiwgInVmIiwgIlRvIiwgIkNvIiwgInllIiwgIkh2IiwgIkFvIiwgImxmIiwgImNmIiwgImZmIiwgInBmIiwgImhmIiwgImRmIiwgIm1mIiwgInd0IiwgIkt2IiwgIlBvIiwgIkp2IiwgIlJvIiwgInZ0IiwgIlh2IiwgIklvIiwgInlmIiwgInh0IiwgIlp2IiwgIkxvIiwgInFvIiwgInR4IiwgIlVvIiwgImdmIiwgIndmIiwgInZmIiwgInhmIiwgIkRvIiwgImJmIiwgIl9mIiwgImoiLCAia2YiLCAiZXgiLCAiRWYiLCAiU2YiLCAiVGYiLCAiTWUiLCAiYnQiLCAiTW8iLCAiQm8iLCAiYnMiLCAiX3MiLCAiY2UiLCAic3giLCAiRm8iLCAiQ2YiLCAiT2YiLCAiQWYiLCAiTmYiLCAicngiLCAiX3QiLCAibngiLCAiV28iLCAiUGYiLCAiUmYiLCAiSWYiLCAicWYiLCAiZ2UiLCAiaXgiLCAiUW8iLCAiem8iLCAiVm8iLCAiTGYiLCAiRGYiLCAiR28iLCAiam8iLCAiQmYiLCAiTWYiLCAiVWYiLCAiRmYiLCAiJGYiLCAiV2YiLCAiRXMiLCAiWWYiLCAiSG8iLCAiS28iLCAiemYiLCAiVmYiLCAiRSIsICJveCIsICJKbyIsICJHZiIsICJTcyIsICJheCIsICJlYSIsICJyciIsICJzciIsICJqZiIsICJabyIsICJuciIsICJ1eCIsICJyYSIsICJIZiIsICJLZiIsICJRZiIsICJKZiIsICJUcyIsICJseCIsICJuYSIsICJYZiIsICJaZiIsICJDcyIsICJ0cCIsICJBcyIsICJycCIsICJhYSIsICJzcCIsICJrdCIsICJFdCIsICJjYSIsICJScyIsICJvcCIsICJucCIsICJ1YSIsICJsYSIsICJpcCIsICJQcyIsICJJcyIsICJmcCIsICJhcCIsICJ1cCIsICJjcCIsICJscCIsICJ3eCIsICJtYSIsICJ2eCIsICJ5YSIsICJ4eCIsICJnYSIsICJkcCIsICJtcCIsICJ5cCIsICJpciIsICJ2YSIsICJ3YSIsICJncCIsICJ3cCIsICJ2cCIsICJNIiwgImJ4IiwgIl94IiwgImt4IiwgIkV4IiwgIlN4IiwgIlR4IiwgIkN4IiwgIk94IiwgIkF4IiwgIk54IiwgIlB4IiwgIlJ4IiwgIm9yIiwgInhhIiwgInhwIiwgImJwIiwgIl9wIiwgIlNwIiwgImtwIiwgIloiLCAiRXAiLCAiVHAiLCAiQ3AiLCAiT3AiLCAiQXAiLCAidXIiLCAiYmEiLCAiTnAiLCAiUHAiLCAiSXAiLCAiUnAiLCAicXAiLCAiTHAiLCAiRHAiLCAiQnAiLCAibHIiLCAia2EiLCAiTXAiLCAiVXAiLCAiJHAiLCAiRnAiLCAiV3AiLCAiWXAiLCAienAiLCAiVnAiLCAiY3IiLCAiU2EiLCAiR3AiLCAianAiLCAiSHAiLCAiS3AiLCAiUXAiLCAiSnAiLCAiWHAiLCAiWnAiLCAiZnIiLCAiVGEiLCAiZWgiLCAidGgiLCAic2giLCAicmgiLCAibmgiLCAiaWgiLCAib2giLCAiYWgiLCAicHIiLCAiT2EiLCAidWgiLCAibGgiLCAiZmgiLCAiY2giLCAicGgiLCAiaGgiLCAiZGgiLCAibWgiLCAiaHIiLCAiTmEiLCAieWgiLCAiZ2giLCAidmgiLCAid2giLCAieGgiLCAiYmgiLCAiX2giLCAia2giLCAiZHIiLCAiUmEiLCAiRWgiLCAiU2giLCAiQ2giLCAiVGgiLCAiT2giLCAiQWgiLCAiTmgiLCAiUGgiLCAibXIiLCAicWEiLCAiUmgiLCAiSWgiLCAiTGgiLCAicWgiLCAiRGgiLCAiQmgiLCAiTWgiLCAiVWgiLCAieXIiLCAiRGEiLCAiRmgiLCAiJGgiLCAiWWgiLCAiV2giLCAiemgiLCAiVmgiLCAiR2giLCAiamgiLCAiZ3IiLCAiTWEiLCAiSGgiLCAiS2giLCAiSmgiLCAiUWgiLCAiWGgiLCAiWmgiLCAiZWQiLCAidGQiLCAid3IiLCAiRmEiLCAicmQiLCAic2QiLCAiaWQiLCAibmQiLCAib2QiLCAiYWQiLCAidWQiLCAibGQiLCAidnIiLCAiV2EiLCAiY2QiLCAiZmQiLCAiaGQiLCAicGQiLCAiZGQiLCAibWQiLCAieWQiLCAiZ2QiLCAieHIiLCAiemEiLCAid2QiLCAidmQiLCAiYmQiLCAieGQiLCAiX2QiLCAia2QiLCAiRWQiLCAiU2QiLCAiYnIiLCAiR2EiLCAiVGQiLCAiRXIiLCAidHUiLCAiQmQiLCAiSGEiLCAiQ2QiLCAiTXMiLCAiS2EiLCAiU3QiLCAiVXMiLCAiRnMiLCAiJHMiLCAiV3MiLCAiUWEiLCAiSmEiLCAiWGEiLCAiWmEiLCAiT2QiLCAiQWQiLCAiTmQiLCAiUGQiLCAiUmQiLCAiSWQiLCAiZXUiLCAicWQiLCAiTGQiLCAiRGQiLCAiX3IiLCAia3IiLCAiU3IiLCAibnUiLCAiTWQiLCAiVWQiLCAiRmQiLCAiSSIsICIkZCIsICJZcyIsICJXZCIsICJZZCIsICJ6ZCIsICJWZCIsICJHZCIsICJ6cyIsICJqZCIsICJIZCIsICJLZCIsICJRZCIsICJKZCIsICJYZCIsICJaZCIsICJlbSIsICJ0bSIsICJybSIsICJzbSIsICJubSIsICJpbSIsICJvbSIsICJhbSIsICJ1bSIsICJsbSIsICJjbSIsICJmbSIsICJwbSIsICJobSIsICJkbSIsICJtbSIsICJzdSIsICJ5bSIsICJnbSIsICJ3bSIsICJ2bSIsICJ4bSIsICJUciIsICJvdSIsICJibSIsICJfbSIsICJrbSIsICJFbSIsICJTbSIsICJUbSIsICJCeCIsICJsdSIsICJWcyIsICJNeCIsICJjdSIsICJPbSIsICJGZSIsICJGeCIsICJmdSIsICJBbSIsICJXeCIsICJodSIsICJObSIsICJZeCIsICJ5dSIsICJtdSIsICJDciIsICJ6eCIsICJ3dSIsICJQbSIsICJSbSIsICJPciIsICJWeCIsICJ4dSIsICJJbSIsICJxbSIsICJBciIsICJHeCIsICJfdSIsICJMbSIsICJEbSIsICJOciIsICJqeCIsICJTdSIsICJFdSIsICJQciIsICJIeCIsICJDdSIsICJCbSIsICJNbSIsICJSciIsICJLeCIsICJBdSIsICJVbSIsICJGbSIsICJJciIsICJReCIsICJQdSIsICIkbSIsICJXbSIsICJxciIsICJKeCIsICJJdSIsICJZbSIsICJ6bSIsICJMciIsICJYeCIsICJMdSIsICJWbSIsICJHbSIsICJEciIsICJaeCIsICJCdSIsICJqbSIsICJIbSIsICJCciIsICJlYiIsICJVdSIsICJHcyIsICJ0YiIsICJXdSIsICJNciIsICJLbSIsICIkZSIsICJRbSIsICJKbSIsICIkdSIsICJ2ZSIsICJYcyIsICJyYiIsICJ6dSIsICJqcyIsICJuYiIsICJIdSIsICJYbSIsICJabSIsICJleSIsICJ0eSIsICJyeSIsICJzeSIsICJueSIsICJpeSIsICJveSIsICJHdSIsICJheSIsICJqdSIsICJ1eSIsICJseSIsICJjeSIsICJmeSIsICJweSIsICJoeSIsICJkeSIsICJ0eXBlc2NyaXB0X2V4cG9ydHMiLCAiX19leHBvcnQiLCAiZlMiLCAiZmQiLCAidHMiLCAiVW4iLCAiYSIsICJvIiwgIm55IiwgIlNkIiwgIkIiLCAibSIsICJHcCIsICJrbSIsICJncCIsICJyeSIsICJYcCIsICJHciIsICJ2IiwgIlBwIiwgIkVtIiwgIllyIiwgIkRuIiwgIkFtIiwgIkFuIiwgImJ0IiwgIml5IiwgImF5IiwgIkh0IiwgIllwIiwgIl95IiwgIk5wIiwgInN5IiwgIm95IiwgImN5IiwgIkhwIiwgIkdpIiwgImx5IiwgInV5IiwgInB5IiwgImZ5IiwgIkEiLCAiUCIsICJsIiwgImR5IiwgIkNyIiwgIkNtIiwgIm15IiwgImh5IiwgInl5IiwgImd5IiwgIkF5IiwgImJwIiwgImJ5IiwgImtyIiwgIkZhIiwgInZ5IiwgImd0IiwgIndkIiwgIktuIiwgIiRwIiwgIlR5IiwgInh5IiwgIkRtIiwgIlN5IiwgIm5zIiwgInd5IiwgIlEiLCAiaCIsICJ5IiwgIkkiLCAicmUiLCAiZyIsICJreSIsICJFeSIsICJDeSIsICJ1bCIsICJJcCIsICJJeSIsICJPeSIsICJlZiIsICJBZCIsICJNeSIsICJKeSIsICJRaSIsICJQeSIsICJFZCIsICJwbCIsICJqbSIsICJmbCIsICJVbSIsICJSbSIsICJDZCIsICJMeSIsICJqeSIsICJSeSIsICJxeSIsICJVeSIsICJ0ZiIsICJOeSIsICJCeSIsICJ6eSIsICJEZCIsICJyIiwgInd0IiwgIkZ5IiwgImRsIiwgIlp5IiwgIkh5IiwgIkd5IiwgImVnIiwgIlh5IiwgIll5IiwgInptIiwgIml0IiwgInRnIiwgIkZtIiwgIkJtIiwgIlBkIiwgInFtIiwgIlZtIiwgIkNuIiwgIm5nIiwgIk1wIiwgInJnIiwgImlnIiwgIldtIiwgIkJhIiwgInJzIiwgImZpIiwgInZwIiwgInJmIiwgIkdtIiwgIlRwIiwgIkFyIiwgImZzIiwgIlZpIiwgIk1hIiwgIlltIiwgIkhtIiwgInNsIiwgIkUiLCAiYWYiLCAieGwiLCAiX2YiLCAiaGUiLCAieWUiLCAiZGUiLCAiWG0iLCAiJG0iLCAiYWciLCAiX2ciLCAiUW0iLCAiSnAiLCAic2ciLCAiWm4iLCAiRXIiLCAib2ciLCAiV2kiLCAiRnQiLCAic2YiLCAiRHQiLCAibHQiLCAiYXIiLCAibXQiLCAiQnQiLCAicm4iLCAiTnIiLCAiVm4iLCAiQ2UiLCAiX3IiLCAiZnIiLCAiZHIiLCAiem4iLCAiVXQiLCAiTCIsICJtciIsICJjdCIsICJLZSIsICJzdCIsICJ1dCIsICJJciIsICJociIsICJNbiIsICJUdCIsICJXbiIsICJTaSIsICJYZSIsICJUZSIsICJmZSIsICJSIiwgImFlIiwgIk9lIiwgIlYiLCAib2UiLCAiVyIsICIkIiwgIksiLCAieGUiLCAiU2UiLCAiZHQiLCAibnIiLCAicnIiLCAiYmUiLCAiV2UiLCAid2UiLCAiZ24iLCAiJHQiLCAidnQiLCAiYm4iLCAiR2UiLCAiSW4iLCAiaXIiLCAiT3QiLCAiUHIiLCAiQm4iLCAiTmQiLCAiT24iLCAiTXQiLCAiUWUiLCAiVnkiLCAicW4iLCAiYmIiLCAiY24iLCAiJHkiLCAiWmUiLCAiWWUiLCAiX3QiLCAiUXkiLCAiSnQiLCAiS3kiLCAieXQiLCAidm4iLCAiRWUiLCAiVG4iLCAicnQiLCAibG4iLCAiRyIsICJaciIsICJsZSIsICJGZSIsICJ2ZSIsICJxZSIsICJ4dCIsICJNZSIsICJ1biIsICJMdCIsICJwbiIsICJKIiwgImoiLCAiaHQiLCAiYW4iLCAiemUiLCAid2kiLCAicXQiLCAidSIsICJJZSIsICJVIiwgIk50IiwgIiRlIiwgIlZlIiwgIlB0IiwgImt0IiwgIkduIiwgIklkIiwgIlJhIiwgIk1kIiwgIk9kIiwgIld5IiwgImxiIiwgIm50IiwgInNlIiwgImNnIiwgImxnIiwgIndyIiwgInVnIiwgIm9mIiwgInBnIiwgIktfIiwgImZnIiwgIkttIiwgImNmIiwgIm1sIiwgImRnIiwgIkphIiwgImNzIiwgIlBuIiwgIlNsIiwgImRpIiwgIkxwIiwgIkxnIiwgIlptIiwgImpkIiwgIlpjIiwgInR0IiwgInUxIiwgImUxIiwgIm1nIiwgImhnIiwgImxmIiwgInlmIiwgImdmIiwgImcxIiwgIk1mIiwgIkpmIiwgImJsIiwgInlnIiwgIm5oIiwgIlYxIiwgIktpIiwgIncxIiwgIkxmIiwgInVmIiwgInEyIiwgIkVsIiwgInQxIiwgImJzIiwgIlVnIiwgIm4xIiwgImxzIiwgIkZwIiwgImdnIiwgImJnIiwgInIxIiwgIm9oIiwgInZnIiwgIlRnIiwgInhnIiwgImJpIiwgImk2IiwgIlNnIiwgIk5nIiwgImY2IiwgIndnIiwgImE2IiwgImtnIiwgIl82IiwgIkVnIiwgInM2IiwgIkFnIiwgIm82IiwgIkNnIiwgImM2IiwgIkRnIiwgInU2IiwgIlBnIiwgIkZmIiwgImJmIiwgImsyIiwgInNoIiwgImkxIiwgImpwIiwgIklnIiwgIkhyIiwgIk9nIiwgIkhhIiwgIkpkIiwgIk9mIiwgInBmIiwgIlZmIiwgIk1nIiwgImNsIiwgImZmIiwgImRmIiwgImExIiwgIm1pIiwgIkpnIiwgIkxkIiwgIlVhIiwgIl8xIiwgImdpIiwgIlZhIiwgInpnIiwgIldyIiwgImpnIiwgIngxIiwgIlJnIiwgInMxIiwgIm1mIiwgInFnIiwgIkJnIiwgInZpIiwgIkZnIiwgIm8xIiwgIksyIiwgIlZnIiwgIldnIiwgIkdnIiwgInFhIiwgImMxIiwgIllnIiwgImwxIiwgIkhnIiwgIlhnIiwgInAxIiwgImYxIiwgIlppIiwgIiRnIiwgIlFnIiwgInAyIiwgIktnIiwgImQxIiwgIlpnIiwgIm4yIiwgImUyIiwgInI2IiwgIlBsIiwgImVsIiwgInRsIiwgIllpIiwgInQyIiwgIndsIiwgIlJkIiwgInIyIiwgImkyIiwgImEyIiwgIm0xIiwgIl8yIiwgIlh0IiwgImhpIiwgIkhpIiwgIlJwIiwgImhsIiwgImNoIiwgImYyIiwgIlVkIiwgImlzIiwgInMyIiwgImloIiwgInphIiwgIm8yIiwgIm9sIiwgImhmIiwgIkJkIiwgImpmIiwgImMyIiwgInFkIiwgIlhhIiwgImwyIiwgInUyIiwgInpkIiwgImQyIiwgInlsIiwgIm0yIiwgImgyIiwgImgxIiwgInkxIiwgInBzIiwgImcyIiwgInkyIiwgImtsIiwgInVzIiwgImdzIiwgInhmIiwgImIyIiwgIklmIiwgIlQyIiwgInYyIiwgIlFiIiwgImVhIiwgInZmIiwgIiQyIiwgIkoyIiwgIngyIiwgIkNsIiwgIlMyIiwgIlVwIiwgIncyIiwgIlRpIiwgIkZkIiwgIkEyIiwgIkUyIiwgImw2IiwgImQ2IiwgIkFsIiwgIkMyIiwgIkQyIiwgIlRmIiwgIlAyIiwgIk4yIiwgInZzIiwgIkkyIiwgIk8yIiwgInhwIiwgIk0yIiwgIlkxIiwgIkwyIiwgInRoIiwgImtiIiwgIkxhIiwgIlNwIiwgIndwIiwgImoyIiwgIlAxIiwgIlIyIiwgIlUyIiwgInoyIiwgIkIyIiwgIlYyIiwgIkYyIiwgIlQxIiwgImIxIiwgInYxIiwgIlcyIiwgImRzIiwgIkcyIiwgIlkyIiwgIk5sIiwgIlJuIiwgIkgyIiwgIlMxIiwgIlgyIiwgImtwIiwgIlEyIiwgIloyIiwgImViIiwgIl9sIiwgInRiIiwgIkVwIiwgIm5iIiwgInJiIiwgImliIiwgIl9iIiwgIkF0IiwgImFiIiwgInNiIiwgIm9iIiwgIlZkIiwgIk9hIiwgImNiIiwgImsxIiwgInFpIiwgIldkIiwgIkdkIiwgIlZyIiwgIkExIiwgImRiIiwgIm1iIiwgIm5sIiwgInZiIiwgIkJwIiwgIlRiIiwgInlpIiwgIllkIiwgIlNmIiwgInhiIiwgInZtIiwgIlNiIiwgIndiIiwgIkFiIiwgIndmIiwgIk1iIiwgIkNiIiwgIm4iLCAiaSIsICJfIiwgImxhIiwgImpyIiwgIm5pIiwgIlhvIiwgIkNfIiwgInh1IiwgIiRvIiwgIlR1IiwgImRjIiwgImMiLCAiT3UiLCAibWMiLCAiZiIsICJNdSIsICJVbCIsICJFcyIsICJPciIsICJKZSIsICJmdCIsICJCbCIsICJZbiIsICJxbCIsICJzciIsICJpYSIsICJRdCIsICJDdCIsICJEIiwgIkd0IiwgIk1yIiwgIm9yIiwgIkthIiwgIlN0IiwgImp0IiwgImVpIiwgInlyIiwgIld0IiwgInpsIiwgIkFzIiwgIkZsIiwgIkpyIiwgIlZsIiwgImFhIiwgInRpIiwgIlphIiwgIkNzIiwgImtpIiwgIldsIiwgImNyIiwgIkdsIiwgIkVpIiwgIl9hIiwgIkFpIiwgIllsIiwgIk5zIiwgImVfIiwgIkNpIiwgInNhIiwgInRfIiwgIk9zIiwgInhuIiwgIm5fIiwgIm9hIiwgIk1zIiwgIkpzIiwgIkxzIiwgInJfIiwgImpzIiwgImlfIiwgIlJzIiwgImFfIiwgIlVzIiwgIkJzIiwgInFzIiwgImNhIiwgImZuIiwgIl9fIiwgImxyIiwgInpzIiwgIkxyIiwgIkhsIiwgIlhsIiwgIiRsIiwgIlZzIiwgIldzIiwgIkdzIiwgIkhuIiwgIkhzIiwgInVhIiwgInNfIiwgIktsIiwgImlpIiwgIm9fIiwgIlpsIiwgIlhzIiwgImV1IiwgIiRzIiwgImNfIiwgImxfIiwgIlFzIiwgIktzIiwgImRuIiwgInBhIiwgIlpzIiwgImVvIiwgInVfIiwgInRvIiwgInBfIiwgIkpuIiwgIm5vIiwgImZfIiwgIlhuIiwgImZhIiwgInJvIiwgIlJyIiwgInR1IiwgImRfIiwgImlvIiwgImFvIiwgIlBpIiwgIl9vIiwgInNvIiwgIm9vIiwgImNvIiwgImxvIiwgInVvIiwgIm51IiwgInBvIiwgImZvIiwgIm1fIiwgInJ1IiwgIm1vIiwgIml1IiwgImhvIiwgImF1IiwgImhfIiwgInlvIiwgInlfIiwgIl91IiwgImdfIiwgImdvIiwgImJfIiwgImFpIiwgImJvIiwgInZvIiwgIlRvIiwgInN1IiwgInhvIiwgIm91IiwgIlNvIiwgImRhIiwgIndvIiwgInZfIiwgImN1IiwgImtvIiwgIlRfIiwgIkVvIiwgIm1hIiwgIkFvIiwgIkNvIiwgIm90IiwgImdyIiwgInhfIiwgImJyIiwgIkRvIiwgIkV0IiwgInZyIiwgInp0IiwgIlBvIiwgInV1IiwgIk5vIiwgIklvIiwgIk9vIiwgIk1vIiwgIkpvIiwgIkxvIiwgImpvIiwgIlJvIiwgIlNfIiwgImZ1IiwgIk5pIiwgIlVvIiwgIndfIiwgIkJvIiwgInFvIiwgImtfIiwgInpvIiwgIkZvIiwgIlZvIiwgImR1IiwgIldvIiwgIm11IiwgIkdvIiwgIllvIiwgIlRyIiwgImh1IiwgImhhIiwgIklpIiwgInlhIiwgIkhvIiwgIkVfIiwgInl1IiwgImdhIiwgImd1IiwgImJ1IiwgIkFfIiwgInZ1IiwgIlFvIiwgIlN1IiwgIktvIiwgInd1IiwgIlpvIiwgIkRfIiwgImVjIiwgImt1IiwgIlBfIiwgInRjIiwgImJhIiwgIkV1IiwgIk5fIiwgIkF1IiwgIm5jIiwgInJjIiwgImljIiwgImFjIiwgIl9jIiwgIklfIiwgIk9fIiwgIk1pIiwgInNjIiwgIkl1IiwgIkJyIiwgInZhIiwgImdjIiwgImJjIiwgIm9jIiwgIkN1IiwgImNjIiwgIkR1IiwgImxjIiwgInVjIiwgInBjIiwgIlB1IiwgImZjIiwgIk51IiwgInljIiwgIk1fIiwgImhjIiwgIkp1IiwgIkpfIiwgIkx1IiwgIkppIiwgInZjIiwgIlRjIiwgImp1IiwgInhjIiwgIkxfIiwgImpfIiwgIlNjIiwgIlRhIiwgIkt0IiwgIlJfIiwgInhhIiwgImtjIiwgIlJ1IiwgIlV1IiwgIndjIiwgIkVjIiwgIlNhIiwgIkFjIiwgIkJ1IiwgIkNjIiwgInF1IiwgIndhIiwgIkxpIiwgIkRjIiwgIlVfIiwgIkJfIiwgInp1IiwgIl9pIiwgIlBjIiwgIk5jIiwgIkZ1IiwgInFfIiwgIkljIiwgImthIiwgInFyIiwgIk9jIiwgIld1IiwgInpfIiwgIk1jIiwgInduIiwgIkpjIiwgIll1IiwgIiR1IiwgIkxjIiwgIkZfIiwgIlF1IiwgIkt1IiwgIkFhIiwgIlJjIiwgIlp1IiwgIlVjIiwgIkJjIiwgIlZfIiwgInFjIiwgIldfIiwgInpjIiwgIkdfIiwgInJwIiwgImlwIiwgInNpIiwgIldjIiwgImFwIiwgIllfIiwgIl9wIiwgInpyIiwgImppIiwgInNwIiwgIm9wIiwgImNwIiwgIlJpIiwgImxwIiwgIkhfIiwgIm9pIiwgIkdjIiwgInVwIiwgIlljIiwgIlhjIiwgInMiLCAicCIsICJiIiwgIlMiLCAiTiIsICJYIiwgIl9lIiwgIloiLCAiSGMiLCAiWF8iLCAiTGUiLCAiZWUiLCAiamUiLCAiQWUiLCAiWXQiLCAibW4iLCAidXIiLCAiTG4iLCAiRnIiLCAiZHAiLCAiRGIiLCAiWGQiLCAicSIsICJybCIsICJ3IiwgIlZwIiwgImV0IiwgInoiLCAiamEiLCAiRGUiLCAiRiIsICJDYSIsICJrZSIsICJqbiIsICJRZCIsICIkZCIsICJrZiIsICJwZSIsICJSZSIsICJlbiIsICJrbiIsICIkbiIsICJYMSIsICJEcyIsICJBcCIsICJQcyIsICJwciIsICJJcyIsICJVYiIsICJaZCIsICIkYyIsICJGcyIsICJXMSIsICJ1aCIsICJEaSIsICJQYiIsICJZcyIsICJRbCIsICJyaSIsICJJdCIsICJsdSIsICJwdSIsICJ6ZiIsICJPaSIsICJfbiIsICJpbCIsICJTbiIsICJVciIsICJlbSIsICJ4ciIsICJWdSIsICJHdSIsICJIdSIsICJqYyIsICJFYSIsICJYdSIsICJ5biIsICJlcCIsICJaYiIsICJqYiIsICJ0cCIsICJucCIsICJGYyIsICJWYyIsICJyaCIsICJjaSIsICJwcCIsICJmcCIsICJsaCIsICJRMSIsICIkXyIsICJkIiwgImNlIiwgIllhIiwgInY2IiwgImc2IiwgIlp0IiwgIkRhIiwgIkVmIiwgIk5mIiwgIkkxIiwgIk8xIiwgIm1zIiwgIkFmIiwgImdsIiwgImhzIiwgIkNmIiwgIldhIiwgIkRsIiwgIloxIiwgIlJmIiwgIlVmIiwgIkJmIiwgInFmIiwgImU2IiwgIkVuIiwgIkhkIiwgIk5iIiwgIkliIiwgImVzIiwgIkpiIiwgIkxiIiwgIkQxIiwgIlJiIiwgImFsIiwgIk4xIiwgIk0xIiwgIkoxIiwgIkwxIiwgIkRmIiwgIlBmIiwgIkJiIiwgImoxIiwgInFiIiwgInpiIiwgIlIxIiwgIkZiIiwgIlZiIiwgIlUxIiwgIkIxIiwgIldiIiwgIkdiIiwgInExIiwgIlliIiwgInoxIiwgIkhiIiwgIkYxIiwgIlhiIiwgIiRiIiwgIkcxIiwgIkgxIiwgIiQxIiwgIktiIiwgIksxIiwgImVoIiwgInpwIiwgInQ2IiwgIm42IiwgImFoIiwgIl9oIiwgInA2IiwgIlhpIiwgIm02IiwgIktkIiwgImg2IiwgInk2IiwgImI2IiwgImFzIiwgIlQ2IiwgIm5tIiwgIng2IiwgIlM2IiwgIldmIiwgImsiLCAiaWUiLCAiazYiLCAiRTYiLCAiQTYiLCAiQzYiLCAiRDYiLCAicGgiLCAiUDYiLCAib20iLCAiY20iLCAibG0iLCAidW0iLCAicG0iLCAiZm0iLCAiZG0iLCAibW0iLCAiaG0iLCAieW0iLCAiZ20iLCAiemkiLCAiYm0iLCAiRmkiLCAiQ3AiLCAidWkiLCAiSTYiLCAiTzYiLCAiTjYiLCAiVG0iLCAiZmgiLCAiZGgiLCAia2QiLCAiJGkiLCAiRHkiLCAibWgiLCAiTTYiLCAidmwiLCAiSjYiLCAieG0iLCAiTDYiLCAiaGgiLCAiV3AiLCAiajYiLCAiUjYiLCAiZ2IiLCAiVTYiLCAiQjYiLCAiVzYiLCAicTYiLCAiejYiLCAiRHAiLCAiRjYiLCAiTG0iLCAiVjYiLCAiU20iLCAiRzYiLCAicGkiLCAieWgiLCAiR2YiLCAiYmgiLCAidmgiLCAiZ2giLCAiWTYiLCAic3MiLCAib3MiLCAiSDYiLCAiVGgiLCAibGwiLCAieGgiLCAiX3MiLCAiZXYiLCAiSzYiLCAiWDYiLCAiJDYiLCAiUTYiLCAiWjYiLCAiZXIiLCAid2giLCAidGEiLCAic3YiLCAiYXYiLCAib3YiLCAiaXYiLCAiY3YiLCAiX3YiLCAiJHIiLCAiUGgiLCAidWUiLCAiSGUiLCAiTmgiLCAiSWgiLCAibHYiLCAidXYiLCAiT2giLCAiQyIsICJUcyIsICJRciIsICJNaCIsICJOZSIsICIkYSIsICJwdiIsICJKaCIsICJNbCIsICJvbiIsICJ4aSIsICJuYSIsICJndiIsICJ5diIsICJmdiIsICJkdiIsICJRZiIsICJTciIsICJFaCIsICJyYSIsICJLZiIsICJaZiIsICJMaCIsICJtdiIsICJEaCIsICJSdCIsICJodiIsICJqaCIsICJlZCIsICIkZiIsICJSaCIsICJidiIsICJVaCIsICJCaCIsICJ2diIsICJ0ZCIsICJxaCIsICJUdiIsICJ4diIsICJTdiIsICJ6aCIsICJKbCIsICJGaCIsICJhZCIsICJ3diIsICJrdiIsICJfZCIsICJHaCIsICJUbCIsICJZaCIsICJYaCIsICJMbCIsICJIaCIsICJqbCIsICJRaCIsICJPdiIsICJObiIsICJEciIsICJLaCIsICJMdiIsICJ5cyIsICJjMCIsICJadiIsICJyMCIsICJlMCIsICJlNCIsICJYdiIsICJ4cyIsICJLdiIsICJaaCIsICJRdiIsICJ0MCIsICJzZCIsICIkdiIsICJpMCIsICJsMCIsICJhNCIsICJfNCIsICJzNCIsICJjNCIsICJ0ciIsICJ0IiwgIktyIiwgImw0IiwgInA0IiwgImY0IiwgIlNzIiwgImtzIiwgIndzIiwgImxkIiwgIm00IiwgInVkIiwgImcwIiwgInk0IiwgIlJsIiwgIm0wIiwgImIwIiwgInBkIiwgIm9kIiwgImYwIiwgImNkIiwgIlMwIiwgInY0IiwgIncwIiwgImI0IiwgImc0IiwgIlM0IiwgIng0IiwgIlQwIiwgIngwIiwgIlQ0IiwgInc0IiwgIms0IiwgIkU0IiwgImswIiwgIkUwIiwgIkE0IiwgIkM0IiwgIkQ0IiwgIk40IiwgInUwIiwgIk80IiwgIlA0IiwgIkMwIiwgIkk0IiwgIko0IiwgIk00IiwgIkQwIiwgInAwIiwgInYwIiwgInZkIiwgIlRkIiwgIlEwIiwgInhkIiwgIk5hIiwgIkswIiwgInlwIiwgImdlIiwgImRkIiwgIlowIiwgIklhIiwgImV5IiwgIndtIiwgInR5IiwgIkI0IiwgInE0IiwgIlFwIiwgIlBtIiwgIk9wIiwgIktwIiwgIk5tIiwgIm5uIiwgIlpwIiwgIkltIiwgIk9tIiwgIk1tIiwgIkptIiwgIlFfIiwgIkdhIiwgIm5mIiwgIno0IiwgIkY0IiwgIlY0IiwgIlc0IiwgIkc0IiwgImF0IiwgIlk0IiwgIkg0IiwgIlg0IiwgIiQ0IiwgIlE0IiwgIks0IiwgIlo0IiwgImUzIiwgInQzIiwgIm4zIiwgInIzIiwgImkzIiwgImEzIiwgIl8zIiwgInMzIiwgIm8zIiwgImMzIiwgInViIiwgIkUxIiwgInBiIiwgImZiIiwgIkMxIiwgImwzIiwgInUzIiwgImhiIiwgInAzIiwgInliIiwgImYzIiwgImQzIiwgInFwIiwgIm0zIiwgIkViIiwgImgzIiwgIlpfIiwgIk9iIiwgInkzIiwgInRtIiwgInJtIiwgImltIiwgImFtIiwgIl9tIiwgInNtIiwgInc2IiwgImczIiwgIllmIiwgInR2IiwgImIzIiwgIklsIiwgIk9sIiwgIkFoIiwgIkNoIiwgIlQiLCAibWUiLCAicmQiLCAiVmgiLCAiQmUiLCAiVnQiLCAiUWEiLCAiaWQiLCAiWFQiLCAiJFQiLCAiUVQiLCAiSXYiLCAiSnYiLCAiSHYiLCAiYTAiLCAiXzAiLCAiczAiLCAibzAiLCAiaTQiLCAiZngiLCAibzQiLCAiZDAiLCAidTQiLCAiZDQiLCAiaDAiLCAieTAiLCAiaDQiLCAiQTAiLCAiTDQiLCAiaW5pdF90eXBlc2NyaXB0IiwgIl9fZXNtTWluIiwgIk8iLCAiWSIsICJIIiwgInRlIiwgIlVlIiwgIkJpIiwgInB0IiwgImhuIiwgInNuIiwgInRuIiwgIm5lIiwgIlBlIiwgImxpIiwgIk8wIiwgIkowIiwgIkwwIiwgIlVpIiwgInlkIiwgIkIwIiwgIlAwIiwgImJkIiwgIm1kIiwgInEwIiwgIkYwIiwgIlYwIiwgImowIiwgIk4wIiwgIkkwIiwgIlIwIiwgIlFuIiwgIlFjIiwgIlBhIiwgIktjIiwgIiQwIiwgImhwIiwgIk0wIiwgImhkIiwgIlUwIiwgIm1wIiwgIkcwIiwgInowIiwgImdkIiwgIlcwIiwgIlkwIiwgIkgwIiwgIlgwIiwgIk0iLCAieCIsICJ5YW1sX2V4cG9ydHMiLCAiX19leHBvcnQiLCAieWgiLCAiUHIiLCAiX3IiLCAiZXIiLCAiSmEiLCAiUGkiLCAidCIsICJqZSIsICJRZSIsICJlIiwgIkV0IiwgInhpIiwgImV0IiwgIm4iLCAiciIsICJfaSIsICJzIiwgInR0IiwgImhlIiwgIk9lIiwgImtlIiwgIlN0IiwgIkxlIiwgIm9uIiwgImlyIiwgIm9yIiwgImFuIiwgInd0IiwgIkFlIiwgIm50IiwgIlRlIiwgImFyIiwgIkNlIiwgInYiLCAiQmkiLCAiaSIsICJvIiwgImEiLCAiR2UiLCAiWGUiLCAiWmUiLCAiSmUiLCAiSGUiLCAiemUiLCAidGUiLCAiTWUiLCAic24iLCAiY3IiLCAicnQiLCAiT3QiLCAiJGkiLCAiRmkiLCAiY24iLCAibG4iLCAidXIiLCAiTiIsICJpdCIsICJzdCIsICJ1biIsICJVaSIsICJ2ZSIsICJkciIsICJ5ciIsICJFciIsICJTciIsICJXaSIsICJIIiwgInBuIiwgIlBlIiwgImJyIiwgIkx0IiwgIkF0IiwgIkllIiwgIngiLCAid3IiLCAiTnIiLCAiUiIsICJaIiwgIl9lIiwgImppIiwgImllIiwgIm1uIiwgIksiLCAiT3IiLCAiTHIiLCAiQXIiLCAibCIsICJmIiwgIm90IiwgIlR0IiwgImhuIiwgImduIiwgIk50IiwgIkkiLCAiUWkiLCAibmUiLCAiQ3QiLCAiSmkiLCAiR2kiLCAiQyIsICJjIiwgIkhpIiwgImRuIiwgIlhpIiwgImQiLCAiaCIsICJnIiwgInciLCAiemkiLCAiWmkiLCAiZW8iLCAidG8iLCAiYnQiLCAibHIiLCAia3IiLCAicm8iLCAibm8iLCAiYXQiLCAieXQiLCAiVHIiLCAiQ3IiLCAiZnIiLCAidnIiLCAiQiIsICJnZSIsICJEciIsICJvbyIsICJhbyIsICJZciIsICJCciIsICJjbyIsICJiIiwgIiRyIiwgImN0IiwgIlgiLCAib2UiLCAiJCIsICJGciIsICJxciIsICJVciIsICJLciIsICJWciIsICJ4ZSIsICJXciIsICJqciIsICJ2dCIsICJhZSIsICJJdCIsICJ5biIsICJRciIsICJKciIsICJHciIsICJIciIsICJYciIsICJSZSIsICJ6ciIsICJaciIsICJWIiwgIkVuIiwgIkYiLCAiZXMiLCAicSIsICJQdCIsICJ0cyIsICJsbyIsICJmbyIsICJucyIsICJycyIsICJ1byIsICJwbyIsICJzcyIsICJfdCIsICJpcyIsICJ4dCIsICJjZSIsICJSdCIsICJEdCIsICJZdCIsICJTbiIsICJ3biIsICJEZSIsICJvcyIsICJtIiwgImFzIiwgImNzIiwgImxzIiwgImZzIiwgInVzIiwgInBzIiwgIm1vIiwgIm1zIiwgImhzIiwgImdzIiwgImRzIiwgInlzIiwgIkJ0IiwgIkVzIiwgIlNzIiwgIndzIiwgImJzIiwgIk5zIiwgIk9zIiwgIkxzIiwgIkFzIiwgIlRzIiwgIkNzIiwgIk1zIiwgImtzIiwgInZzIiwgImhvIiwgImdvIiwgImJuIiwgIk5uIiwgIk9uIiwgIkxuIiwgInlvIiwgIkVvIiwgImJvIiwgIlNvIiwgIndvIiwgIk5vIiwgIk5pIiwgImJpIiwgIndpIiwgIlJyIiwgIlpuIiwgIldhIiwgImphIiwgIk9pIiwgIkFpIiwgIm5uIiwgIlRpIiwgIkNpIiwgIk1pIiwgImtpIiwgImVlIiwgIm5yIiwgInZpIiwgInJyIiwgImxlIiwgInhzIiwgIiRlIiwgImpuIiwgIkhuIiwgInBpIiwgImdpIiwgInlpIiwgIkVpIiwgInRyIiwgIklpIiwgInJuIiwgInNyIiwgIlJpIiwgIkRpIiwgIllpIiwgIk5jIiwgIk9jIiwgIkxjIiwgImZuIiwgInByIiwgInFpIiwgIm1yIiwgIktpIiwgImhyIiwgIlZpIiwgImdyIiwgIk1yIiwgInNvIiwgIklyIiwgIk10IiwgImlvIiwgImt0IiwgInhyIiwgIlNpIiwgIkciLCAiWW0iLCAiQm0iLCAiJG0iLCAiRm0iLCAicW0iLCAiVW0iLCAiS20iLCAiVWEiLCAiVm0iLCAiS2EiLCAiV20iLCAiUWEiLCAiaW5pdF95YW1sIiwgIl9fZXNtTWluIiwgIlUiLCAicmUiLCAibHQiLCAiT28iLCAiTG8iLCAiSXMiLCAiUHMiLCAiQW4iLCAiQW8iLCAiVG8iLCAiWWUiLCAic2UiLCAiZGUiLCAiVG4iLCAiZnQiLCAiQ24iLCAiTW4iLCAiQ28iLCAia24iLCAiX3MiLCAidSIsICJFZSIsICJ1dCIsICJ5IiwgInllIiwgInZuIiwgIiR0IiwgIkluIiwgIlBuIiwgIl9uIiwgImZlIiwgInhuIiwgIlJuIiwgIkRuIiwgIlluIiwgIk1vIiwgIkJuIiwgImtvIiwgImsiLCAicCIsICJ2byIsICJCZSIsICJXIiwgInVlIiwgIlAiLCAiUnMiLCAiQnMiLCAiaiIsICJMIiwgIk0iLCAiQSIsICJMaSIsICJfIiwgIkZ0IiwgInBlIiwgIklvIiwgIlQiLCAicXQiLCAid2UiLCAicHQiLCAibXQiLCAiJHMiLCAiVnQiLCAiUG8iLCAiX28iLCAieG8iLCAiUm8iLCAiYmUiLCAiRm4iLCAiRnMiLCAiJG4iLCAiVXQiLCAiRHMiLCAiV3QiLCAicW4iLCAianQiLCAiRG8iLCAiU2UiLCAicXMiLCAiS3QiLCAiWW8iLCAiQm8iLCAiJG8iLCAiVXMiLCAiS3MiLCAiVnMiLCAiV3MiLCAiVW4iLCAiRm8iLCAicW8iLCAiWXMiLCAiVW8iLCAiS28iLCAiVm8iLCAiV28iLCAiam8iLCAibWUiLCAiUW8iLCAiWG8iLCAiSG8iLCAiSm8iLCAiR28iLCAiem8iLCAiZWEiLCAiWm8iLCAieiIsICJRIiwgIk8iLCAidGEiLCAiUXMiLCAiSnMiLCAibmEiLCAiRmUiLCAicmEiLCAic2EiLCAiaWEiLCAicWUiLCAib2EiLCAiYWEiLCAiY2EiLCAiS24iLCAiR3MiLCAibGEiLCAiZmEiLCAidWEiLCAiVm4iLCAiV24iLCAicGEiLCAianMiLCAibWEiLCAiY2kiLCAiR3QiLCAiRSIsICJEIiwgImhhIiwgImd0IiwgImdhIiwgIkh0IiwgImRhIiwgIkpuIiwgIlh0IiwgIkduIiwgInpzIiwgIlpzIiwgImVpIiwgInRpIiwgIm5pIiwgInJpIiwgInNpIiwgImlpIiwgIm9pIiwgInlhIiwgIkhzIiwgIlF0IiwgImFpIiwgIlhzIiwgImh0IiwgIkp0IiwgIlFuIiwgIkVhIiwgIlNhIiwgIndhIiwgImJhIiwgIk5hIiwgIk9hIiwgIkxhIiwgImR0IiwgInRuIiwgIlkiLCAiUyIsICJsaSIsICJBYSIsICJUYSIsICJ1aSIsICJmaSIsICJDYSIsICJNYSIsICJ6dCIsICJYbiIsICJadCIsICJrYSIsICJ2YSIsICJJYSIsICJQYSIsICJfYSIsICJVZSIsICJlbiIsICJoaSIsICJ6biIsICJOZSIsICJ4YSIsICJSYSIsICJEYSIsICJZYSIsICJLZSIsICJCYSIsICJtaSIsICIkYSIsICJGYSIsICJxYSIsICJSbSIsICJkaSIsICJKIiwgIlZlIiwgIldlIiwgInByZXR0aWVyX2V4cG9ydHMiLCAiX19leHBvcnQiLCAiZGVidWdBcGlzIiwgInNoYXJlZFdpdGhDbGkiLCAiY2hlY2siLCAiY2xlYXJDYWNoZTMiLCAic3JjX2RlZmF1bHQiLCAiZG9jX2V4cG9ydHMiLCAiZm9ybWF0MiIsICJmb3JtYXRXaXRoQ3Vyc29yMiIsICJnZXRGaWxlSW5mbzIiLCAiZ2V0U3VwcG9ydEluZm8yIiwgInJlc29sdmVDb25maWciLCAicmVzb2x2ZUNvbmZpZ0ZpbGUiLCAicHVibGljX2V4cG9ydHMiLCAidmVyc2lvbl9ldmFsdWF0ZV9kZWZhdWx0IiwgIl9fcHJldHRpZXJDcmVhdGVSZXF1aXJlIiwgIl9fcHJldHRpZXJGaWxlVXJsVG9QYXRoIiwgIl9fcHJldHRpZXJEaXJuYW1lIiwgInByb2Nlc3MyIiwgIm9zIiwgInR0eSIsICJwYXRoOSIsICJmaWxlVVJMVG9QYXRoIiwgInBhdGg0IiwgInBhdGgzIiwgImZzIiwgInBhdGgyIiwgInBhdGgiLCAicGF0aDgiLCAiZnMyIiwgImZzMyIsICJwYXRoVG9GaWxlVVJMMiIsICJmczQiLCAicGF0aDciLCAicGF0aFRvRmlsZVVSTDQiLCAiYXNzZXJ0MyIsICJzdGF0U3luYyIsICJyZWFscGF0aFN5bmMiLCAicHJvY2VzczMiLCAiVVJMMiIsICJmaWxlVVJMVG9QYXRoNCIsICJwYXRoVG9GaWxlVVJMMyIsICJwYXRoNiIsICJidWlsdGluTW9kdWxlcyIsICJmaWxlVVJMVG9QYXRoMyIsICJmczUiLCAicGF0aDUiLCAiZmlsZVVSTFRvUGF0aDIiLCAidjgiLCAiYXNzZXJ0MiIsICJmb3JtYXQiLCAiaW5zcGVjdCIsICJjcmVhdGVSZXF1aXJlIiwgInBhdGgxMCIsICJ1cmwiLCAiZnM2IiwgImFzc2VydDQiLCAiYXNzZXJ0NSIsICJwYXRoMTIiLCAicGF0aFRvRmlsZVVSTDUiLCAicGF0aDExIiwgIkRpZmYiLCAiYnVpbGRWYWx1ZXMiLCAiZGlmZjIiLCAibGFzdENvbXBvbmVudCIsICJuZXdTdHJpbmciLCAib2xkU3RyaW5nIiwgInVzZUxvbmdlc3RUb2tlbiIsICJjb21wb25lbnRzIiwgIm5leHRDb21wb25lbnQiLCAiY29tcG9uZW50UG9zIiwgImNvbXBvbmVudExlbiIsICJuZXdQb3MiLCAib2xkUG9zIiwgImNvbXBvbmVudCIsICJ2YWx1ZSIsICJ2YWx1ZTIiLCAiaSIsICJvbGRWYWx1ZSIsICJsb25nZXN0Q29tbW9uUHJlZml4IiwgInN0cjEiLCAic3RyMiIsICJsb25nZXN0Q29tbW9uU3VmZml4IiwgInJlcGxhY2VQcmVmaXgiLCAic3RyaW5nIiwgIm9sZFByZWZpeCIsICJuZXdQcmVmaXgiLCAicmVwbGFjZVN1ZmZpeCIsICJvbGRTdWZmaXgiLCAibmV3U3VmZml4IiwgInJlbW92ZVByZWZpeCIsICJyZW1vdmVTdWZmaXgiLCAibWF4aW11bU92ZXJsYXAiLCAic3RyaW5nMSIsICJzdHJpbmcyIiwgIm92ZXJsYXBDb3VudCIsICJhIiwgImIiLCAic3RhcnRBIiwgImVuZEIiLCAibWFwMiIsICJrIiwgImoiLCAiZGVkdXBlV2hpdGVzcGFjZUluQ2hhbmdlT2JqZWN0cyIsICJzdGFydEtlZXAiLCAiZGVsZXRpb24iLCAiaW5zZXJ0aW9uIiwgImVuZEtlZXAiLCAib2xkV3NQcmVmaXgiLCAib2xkV3NTdWZmaXgiLCAibmV3V3NQcmVmaXgiLCAibmV3V3NTdWZmaXgiLCAiY29tbW9uV3NQcmVmaXgiLCAiY29tbW9uV3NTdWZmaXgiLCAibmV3V3NGdWxsIiwgImRlbFdzU3RhcnQiLCAiZGVsV3NFbmQiLCAibmV3V3NTdGFydCIsICJuZXdXc0VuZCIsICJlbmRLZWVwV3NQcmVmaXgiLCAiZGVsZXRpb25Xc1N1ZmZpeCIsICJvdmVybGFwIiwgInN0YXJ0S2VlcFdzU3VmZml4IiwgImRlbGV0aW9uV3NQcmVmaXgiLCAiX292ZXJsYXAiLCAiZGlmZkxpbmVzIiwgIm9sZFN0ciIsICJuZXdTdHIiLCAiY2FsbGJhY2siLCAibGluZURpZmYiLCAib3duS2V5cyIsICJyIiwgInQiLCAibyIsICJyMiIsICJfb2JqZWN0U3ByZWFkMiIsICJfZGVmaW5lUHJvcGVydHkiLCAiX3RvUHJpbWl0aXZlIiwgImUiLCAiX3RvUHJvcGVydHlLZXkiLCAiX3R5cGVvZiIsICJvMiIsICJvYmoiLCAia2V5MiIsICJfdG9Db25zdW1hYmxlQXJyYXkiLCAiYXJyIiwgIl9hcnJheVdpdGhvdXRIb2xlcyIsICJfaXRlcmFibGVUb0FycmF5IiwgIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsICJfbm9uSXRlcmFibGVTcHJlYWQiLCAiX2FycmF5TGlrZVRvQXJyYXkiLCAiaXRlciIsICJtaW5MZW4iLCAibiIsICJsZW4iLCAiYXJyMiIsICJjYW5vbmljYWxpemUiLCAic3RhY2syIiwgInJlcGxhY2VtZW50U3RhY2siLCAicmVwbGFjZXIiLCAiY2Fub25pY2FsaXplZE9iaiIsICJzb3J0ZWRLZXlzIiwgIl9rZXkiLCAiZGlmZkFycmF5cyIsICJvbGRBcnIiLCAibmV3QXJyIiwgImFycmF5RGlmZiIsICJzdHJ1Y3R1cmVkUGF0Y2giLCAib2xkRmlsZU5hbWUiLCAibmV3RmlsZU5hbWUiLCAib2xkSGVhZGVyIiwgIm5ld0hlYWRlciIsICJvcHRpb25zOCIsICJfb3B0aW9ucyIsICJfY2FsbGJhY2siLCAicGF0Y2giLCAiZGlmZkxpbmVzUmVzdWx0VG9QYXRjaCIsICJjb250ZXh0TGluZXMiLCAibGluZXMiLCAiZW50cnkiLCAiaHVua3MiLCAib2xkUmFuZ2VTdGFydCIsICJuZXdSYW5nZVN0YXJ0IiwgImN1clJhbmdlIiwgIm9sZExpbmUiLCAibmV3TGluZSIsICJfbG9vcCIsICJjdXJyZW50IiwgInNwbGl0TGluZXMiLCAiX2N1clJhbmdlIiwgInByZXYiLCAiX2N1clJhbmdlMiIsICJfY3VyUmFuZ2UzIiwgImNvbnRleHRTaXplIiwgIl9odW5rIiwgIl9pIiwgIl9odW5rcyIsICJodW5rIiwgIl9pMiIsICJmb3JtYXRQYXRjaCIsICJyZXQiLCAiY3JlYXRlVHdvRmlsZXNQYXRjaCIsICJfb3B0aW9uczIiLCAiX29wdGlvbnMzIiwgIl9jYWxsYmFjazIiLCAicGF0Y2hPYmoyIiwgInBhdGNoT2JqIiwgInRleHQiLCAiaGFzVHJhaWxpbmdObCIsICJyZXN1bHQiLCAibGluZTMiLCAiYXNzZW1ibGVTdHlsZXMiLCAiY29kZXMyIiwgImdyb3VwTmFtZSIsICJncm91cCIsICJzdHlsZXMiLCAic3R5bGVOYW1lIiwgInN0eWxlIiwgIndyYXBBbnNpMTYiLCAid3JhcEFuc2kyNTYiLCAid3JhcEFuc2kxNm0iLCAiQU5TSV9CQUNLR1JPVU5EX09GRlNFVCIsICJyZWQiLCAiZ3JlZW4iLCAiYmx1ZSIsICJoZXgiLCAibWF0Y2hlcyIsICJjb2xvclN0cmluZyIsICJjaGFyYWN0ZXIiLCAiaW50ZWdlciIsICJjb2RlIiwgInJlbWFpbmRlciIsICJoYXNGbGFnIiwgImZsYWciLCAiYXJndiIsICJwcmVmaXgiLCAicG9zaXRpb24iLCAidGVybWluYXRvclBvc2l0aW9uIiwgImVudkZvcmNlQ29sb3IiLCAiZW52IiwgInRyYW5zbGF0ZUxldmVsIiwgImxldmVsIiwgIl9zdXBwb3J0c0NvbG9yIiwgImhhdmVTdHJlYW0iLCAic3RyZWFtSXNUVFkiLCAic25pZmZGbGFncyIsICJub0ZsYWdGb3JjZUNvbG9yIiwgImZsYWdGb3JjZUNvbG9yIiwgImZvcmNlQ29sb3IiLCAibWluIiwgIm9zUmVsZWFzZSIsICJzaWduMiIsICJ2ZXJzaW9uIiwgImNyZWF0ZVN1cHBvcnRzQ29sb3IiLCAic3RyZWFtIiwgInN0cmluZ1JlcGxhY2VBbGwiLCAic3Vic3RyaW5nIiwgImluZGV4IiwgInN1YnN0cmluZ0xlbmd0aCIsICJlbmRJbmRleCIsICJyZXR1cm5WYWx1ZSIsICJzdHJpbmdFbmNhc2VDUkxGV2l0aEZpcnN0SW5kZXgiLCAicG9zdGZpeCIsICJnb3RDUiIsICJjcmVhdGVDaGFsayIsICJjaGFsa0ZhY3RvcnkiLCAiZ2V0RGVzY3JpcHRpb24iLCAiZXhwZWN0ZWQiLCAiZGVzY3JpcHRvciIsICJzb3VyY2VfZGVmYXVsdCIsICJWQUxVRV9OT1RfRVhJU1QiLCAiZ2V0TGlzdERlc2NyaXB0aW9uIiwgImxpc3QiLCAicHJpbnRXaWR0aCIsICJkZXNjcmlwdGlvbnMiLCAidmFsdWVEZXNjcmlwdGlvbiIsICJJTkRFTlRBVElPTiIsICJjaG9vc2VEZXNjcmlwdGlvbiIsICJmaXJzdERlc2NyaXB0aW9uIiwgInNlY29uZERlc2NyaXB0aW9uIiwgImZpcnN0V2lkdGgiLCAic2Vjb25kV2lkdGgiLCAiZGVzY3JpcHRpb24iLCAibGV2ZW4iLCAiZmlyc3QiLCAic2Vjb25kIiwgInN3YXAiLCAiZmlyc3RMZW5ndGgiLCAic2Vjb25kTGVuZ3RoIiwgInN0YXJ0IiwgImJDaGFyYWN0ZXJDb2RlIiwgInRlbXBvcmFyeSIsICJ0ZW1wb3JhcnkyIiwgImluZGV4MiIsICJjaGFyYWN0ZXJDb2RlQ2FjaGUiLCAiYXJyYXkiLCAiY3JlYXRlU2NoZW1hIiwgIlNjaGVtYUNvbnN0cnVjdG9yIiwgInBhcmFtZXRlcnMiLCAic2NoZW1hMiIsICJzdWJTY2hlbWEiLCAiaGFuZGxlcktleSIsICJIQU5ETEVSX0tFWVMiLCAibm9ybWFsaXplSGFuZGxlciIsICJTY2hlbWEiLCAiaGFuZGxlciIsICJzdXBlclNjaGVtYSIsICJoYW5kbGVyQXJndW1lbnRzTGVuZ3RoIiwgImFyZ3MiLCAid3JhcFRyYW5zZmVyUmVzdWx0IiwgImZyb20iLCAidG8iLCAicmVjb3JkRnJvbUFycmF5IiwgImFycmF5MiIsICJtYWluS2V5IiwgInJlY29yZCIsICJtYXBGcm9tQXJyYXkiLCAiY3JlYXRlQXV0b0NoZWNrbGlzdCIsICJpZCIsICJpZFN0cmluZyIsICJwYXJ0aXRpb24iLCAicHJlZGljYXRlIiwgInRydWVBcnJheSIsICJmYWxzZUFycmF5IiwgImlzSW50IiwgImNvbXBhcmVQcmltaXRpdmUiLCAidHlwZW9mQSIsICJ0eXBlb2ZCIiwgIm9yZGVycyIsICJub3JtYWxpemVJbnZhbGlkSGFuZGxlciIsICJpbnZhbGlkSGFuZGxlciIsICJlcnJvck1lc3NhZ2VPckVycm9yIiwgIm5vcm1hbGl6ZURlZmF1bHRSZXN1bHQiLCAibm9ybWFsaXplRXhwZWN0ZWRSZXN1bHQiLCAiYXNzZXJ0IiwgIm5vcm1hbGl6ZVZhbGlkYXRlUmVzdWx0IiwgIm5vcm1hbGl6ZURlcHJlY2F0ZWRSZXN1bHQiLCAiZG9Ob3ROb3JtYWxpemVUcnVlIiwgIm5vcm1hbGl6ZVRyYW5zZmVyUmVzdWx0IiwgIm5vcm1hbGl6ZUZvcndhcmRSZXN1bHQiLCAidHJhbnNmZXJSZXN1bHQiLCAibm9ybWFsaXplUmVkaXJlY3RSZXN1bHQiLCAicmVkaXJlY3QiLCAiaXNWYWxpZCIsICJtZXNzYWdlIiwgInBhcnRpdGlvbjIiLCAiaXNEaXJlY3RvcnkiLCAiZGlyZWN0b3J5IiwgImFsbG93U3ltbGlua3MiLCAic3RhdHMiLCAidG9QYXRoIiwgIml0ZXJhdGVEaXJlY3RvcnlVcCIsICJ0b0Fic29sdXRlUGF0aCIsICJyb290MiIsICJmaW5kUHJvamVjdFJvb3QiLCAic3RhcnREaXJlY3RvcnkiLCAic2VhcmNoZXIiLCAic2VhcmNoZXJfZGVmYXVsdCIsICJzZWFyY2hPcHRpb25zIiwgIm1hcmsiLCAiY2xlYXJGaW5kUHJvamVjdFJvb3RDYWNoZSIsICJyZW1vdmVVbnNldCIsICJlZGl0b3JDb25maWciLCAia2V5cyIsICJlZGl0b3JDb25maWdUb1ByZXR0aWVyIiwgImNsZWFyRWRpdG9yY29uZmlnQ2FjaGUiLCAiZWRpdG9yY29uZmlnQ2FjaGUiLCAibG9hZEVkaXRvcmNvbmZpZ0ludGVybmFsIiwgImZpbGUiLCAic2hvdWxkQ2FjaGUiLCAiaW1wb3J0X2VkaXRvcmNvbmZpZyIsICJlZGl0b3Jjb25maWdfdG9fcHJldHRpZXJfZGVmYXVsdCIsICJsb2FkRWRpdG9yY29uZmlnIiwgImdldFN0ZGluIiwgInN0ZGluIiwgImNodW5rIiwgIndyaXRlRm9ybWF0dGVkRmlsZSIsICJkYXRhIiwgImlzRmlsZSIsICJpc05vdGhpbmciLCAic3ViamVjdCIsICJpc09iamVjdCIsICJ0b0FycmF5IiwgInNlcXVlbmNlIiwgImV4dGVuZCIsICJ0YXJnZXQiLCAic291cmNlMiIsICJsZW5ndGgiLCAic291cmNlS2V5cyIsICJyZXBlYXQiLCAiY291bnQiLCAiY3ljbGUiLCAiaXNOZWdhdGl2ZVplcm8iLCAibnVtYmVyIiwgImZvcm1hdEVycm9yIiwgImV4Y2VwdGlvbjIiLCAiY29tcGFjdCIsICJ3aGVyZSIsICJZQU1MRXhjZXB0aW9uJDEiLCAicmVhc29uIiwgImdldExpbmUiLCAiYnVmZmVyMiIsICJsaW5lU3RhcnQiLCAibGluZUVuZCIsICJtYXhMaW5lTGVuZ3RoIiwgImhlYWQiLCAidGFpbCIsICJtYXhIYWxmTGVuZ3RoIiwgInBhZFN0YXJ0IiwgIm1heCIsICJjb21tb24iLCAibWFrZVNuaXBwZXQiLCAicmUiLCAibGluZVN0YXJ0cyIsICJsaW5lRW5kcyIsICJtYXRjaCIsICJmb3VuZExpbmVObyIsICJsaW5lTm9MZW5ndGgiLCAiY29tcGlsZVN0eWxlQWxpYXNlcyIsICJhbGlhcyIsICJUeXBlJDEiLCAidGFnIiwgIm5hbWUiLCAiVFlQRV9DT05TVFJVQ1RPUl9PUFRJT05TIiwgImV4Y2VwdGlvbiIsICJZQU1MX05PREVfS0lORFMiLCAiY29tcGlsZUxpc3QiLCAiY3VycmVudFR5cGUiLCAibmV3SW5kZXgiLCAicHJldmlvdXNUeXBlIiwgInByZXZpb3VzSW5kZXgiLCAiY29tcGlsZU1hcCIsICJjb2xsZWN0VHlwZSIsICJ0eXBlMiIsICJTY2hlbWEkMSIsICJkZWZpbml0aW9uIiwgInJlc29sdmVZYW1sTnVsbCIsICJjb25zdHJ1Y3RZYW1sTnVsbCIsICJpc051bGwiLCAib2JqZWN0IiwgInJlc29sdmVZYW1sQm9vbGVhbiIsICJjb25zdHJ1Y3RZYW1sQm9vbGVhbiIsICJpc0Jvb2xlYW4iLCAiaXNIZXhDb2RlIiwgImMyIiwgImlzT2N0Q29kZSIsICJpc0RlY0NvZGUiLCAicmVzb2x2ZVlhbWxJbnRlZ2VyIiwgImhhc0RpZ2l0cyIsICJjaCIsICJjb25zdHJ1Y3RZYW1sSW50ZWdlciIsICJpc0ludGVnZXIiLCAicmVzb2x2ZVlhbWxGbG9hdCIsICJZQU1MX0ZMT0FUX1BBVFRFUk4iLCAiY29uc3RydWN0WWFtbEZsb2F0IiwgInJlcHJlc2VudFlhbWxGbG9hdCIsICJyZXMiLCAiU0NJRU5USUZJQ19XSVRIT1VUX0RPVCIsICJpc0Zsb2F0IiwgInJlc29sdmVZYW1sVGltZXN0YW1wIiwgIllBTUxfREFURV9SRUdFWFAiLCAiWUFNTF9USU1FU1RBTVBfUkVHRVhQIiwgImNvbnN0cnVjdFlhbWxUaW1lc3RhbXAiLCAieWVhciIsICJtb250aCIsICJkYXkiLCAiaG91ciIsICJtaW51dGUiLCAiZnJhY3Rpb24iLCAiZGVsdGEiLCAidHpfaG91ciIsICJ0el9taW51dGUiLCAiZGF0ZSIsICJyZXByZXNlbnRZYW1sVGltZXN0YW1wIiwgInJlc29sdmVZYW1sTWVyZ2UiLCAicmVzb2x2ZVlhbWxCaW5hcnkiLCAiaWR4IiwgImJpdGxlbiIsICJCQVNFNjRfTUFQIiwgImNvbnN0cnVjdFlhbWxCaW5hcnkiLCAidGFpbGJpdHMiLCAiaW5wdXQiLCAiYml0cyIsICJyZXByZXNlbnRZYW1sQmluYXJ5IiwgImlzQmluYXJ5IiwgInJlc29sdmVZYW1sT21hcCIsICJvYmplY3RLZXlzIiwgInBhaXIiLCAicGFpcktleSIsICJwYWlySGFzS2V5IiwgIl90b1N0cmluZyQyIiwgIl9oYXNPd25Qcm9wZXJ0eSQzIiwgImNvbnN0cnVjdFlhbWxPbWFwIiwgInJlc29sdmVZYW1sUGFpcnMiLCAiX3RvU3RyaW5nJDEiLCAiY29uc3RydWN0WWFtbFBhaXJzIiwgInJlc29sdmVZYW1sU2V0IiwgIl9oYXNPd25Qcm9wZXJ0eSQyIiwgImNvbnN0cnVjdFlhbWxTZXQiLCAiX2NsYXNzIiwgImlzX0VPTCIsICJpc19XSElURV9TUEFDRSIsICJpc19XU19PUl9FT0wiLCAiaXNfRkxPV19JTkRJQ0FUT1IiLCAiZnJvbUhleENvZGUiLCAibGMiLCAiZXNjYXBlZEhleExlbiIsICJmcm9tRGVjaW1hbENvZGUiLCAic2ltcGxlRXNjYXBlU2VxdWVuY2UiLCAiY2hhckZyb21Db2RlcG9pbnQiLCAiU3RhdGUkMSIsICJfZGVmYXVsdCIsICJnZW5lcmF0ZUVycm9yIiwgInN0YXRlIiwgInNuaXBwZXQiLCAidGhyb3dFcnJvciIsICJ0aHJvd1dhcm5pbmciLCAiY2FwdHVyZVNlZ21lbnQiLCAiZW5kIiwgImNoZWNrSnNvbiIsICJfcG9zaXRpb24iLCAiX2xlbmd0aCIsICJfY2hhcmFjdGVyIiwgIl9yZXN1bHQiLCAiUEFUVEVSTl9OT05fUFJJTlRBQkxFIiwgIm1lcmdlTWFwcGluZ3MiLCAiZGVzdGluYXRpb24iLCAib3ZlcnJpZGFibGVLZXlzIiwgInF1YW50aXR5IiwgIl9oYXNPd25Qcm9wZXJ0eSQxIiwgInN0b3JlTWFwcGluZ1BhaXIiLCAia2V5VGFnIiwgImtleU5vZGUiLCAidmFsdWVOb2RlIiwgInN0YXJ0TGluZSIsICJzdGFydExpbmVTdGFydCIsICJzdGFydFBvcyIsICJyZWFkTGluZUJyZWFrIiwgInNraXBTZXBhcmF0aW9uU3BhY2UiLCAiYWxsb3dDb21tZW50cyIsICJjaGVja0luZGVudCIsICJsaW5lQnJlYWtzIiwgInRlc3REb2N1bWVudFNlcGFyYXRvciIsICJ3cml0ZUZvbGRlZExpbmVzIiwgInJlYWRQbGFpblNjYWxhciIsICJub2RlSW5kZW50IiwgIndpdGhpbkZsb3dDb2xsZWN0aW9uIiwgInByZWNlZGluZyIsICJmb2xsb3dpbmciLCAiY2FwdHVyZVN0YXJ0IiwgImNhcHR1cmVFbmQiLCAiaGFzUGVuZGluZ0NvbnRlbnQiLCAiX2xpbmUiLCAiX2xpbmVTdGFydCIsICJfbGluZUluZGVudCIsICJfa2luZCIsICJyZWFkU2luZ2xlUXVvdGVkU2NhbGFyIiwgInJlYWREb3VibGVRdW90ZWRTY2FsYXIiLCAiaGV4TGVuZ3RoIiwgImhleFJlc3VsdCIsICJ0bXAiLCAic2ltcGxlRXNjYXBlQ2hlY2siLCAic2ltcGxlRXNjYXBlTWFwIiwgInJlYWRGbG93Q29sbGVjdGlvbiIsICJyZWFkTmV4dCIsICJfcG9zIiwgIl90YWciLCAiX2FuY2hvciIsICJ0ZXJtaW5hdG9yIiwgImlzUGFpciIsICJpc0V4cGxpY2l0UGFpciIsICJpc01hcHBpbmciLCAiY29tcG9zZU5vZGUiLCAiQ09OVEVYVF9GTE9XX0lOIiwgInJlYWRCbG9ja1NjYWxhciIsICJmb2xkaW5nIiwgImNob21waW5nIiwgIkNIT01QSU5HX0NMSVAiLCAiZGlkUmVhZENvbnRlbnQiLCAiZGV0ZWN0ZWRJbmRlbnQiLCAidGV4dEluZGVudCIsICJlbXB0eUxpbmVzIiwgImF0TW9yZUluZGVudGVkIiwgIkNIT01QSU5HX0tFRVAiLCAiQ0hPTVBJTkdfU1RSSVAiLCAicmVhZEJsb2NrU2VxdWVuY2UiLCAiZGV0ZWN0ZWQiLCAiQ09OVEVYVF9CTE9DS19JTiIsICJyZWFkQmxvY2tNYXBwaW5nIiwgImZsb3dJbmRlbnQiLCAiYWxsb3dDb21wYWN0IiwgIl9rZXlMaW5lIiwgIl9rZXlMaW5lU3RhcnQiLCAiX2tleVBvcyIsICJhdEV4cGxpY2l0S2V5IiwgIkNPTlRFWFRfRkxPV19PVVQiLCAiQ09OVEVYVF9CTE9DS19PVVQiLCAicmVhZFRhZ1Byb3BlcnR5IiwgImlzVmVyYmF0aW0iLCAiaXNOYW1lZCIsICJ0YWdIYW5kbGUiLCAidGFnTmFtZSIsICJQQVRURVJOX1RBR19IQU5ETEUiLCAiUEFUVEVSTl9GTE9XX0lORElDQVRPUlMiLCAiUEFUVEVSTl9UQUdfVVJJIiwgInJlYWRBbmNob3JQcm9wZXJ0eSIsICJyZWFkQWxpYXMiLCAicGFyZW50SW5kZW50IiwgIm5vZGVDb250ZXh0IiwgImFsbG93VG9TZWVrIiwgImFsbG93QmxvY2tTdHlsZXMiLCAiYWxsb3dCbG9ja1NjYWxhcnMiLCAiYWxsb3dCbG9ja0NvbGxlY3Rpb25zIiwgImluZGVudFN0YXR1cyIsICJhdE5ld0xpbmUiLCAiaGFzQ29udGVudCIsICJ0eXBlSW5kZXgiLCAidHlwZVF1YW50aXR5IiwgInR5cGVMaXN0IiwgImJsb2NrSW5kZW50IiwgInJlYWREb2N1bWVudCIsICJkb2N1bWVudFN0YXJ0IiwgImRpcmVjdGl2ZU5hbWUiLCAiZGlyZWN0aXZlQXJncyIsICJoYXNEaXJlY3RpdmVzIiwgImRpcmVjdGl2ZUhhbmRsZXJzIiwgIlBBVFRFUk5fTk9OX0FTQ0lJX0xJTkVfQlJFQUtTIiwgImxvYWREb2N1bWVudHMiLCAibnVsbHBvcyIsICJsb2FkQWxsJDEiLCAiaXRlcmF0b3IiLCAiZG9jdW1lbnRzIiwgImxvYWQkMSIsICJyZW5hbWVkIiwgImludGVybmFsaXplIiwgImhvbGRlciIsICJyZXZpdmVyIiwgInJlcGxhY2VtZW50IiwgImxleCIsICJsZXhTdGF0ZSIsICJidWZmZXIiLCAiZG91YmxlUXVvdGUiLCAic2lnbiIsICJjIiwgInBlZWsiLCAidG9rZW4yIiwgImxleFN0YXRlcyIsICJzb3VyY2UiLCAicG9zIiwgInJlYWQiLCAibGluZSIsICJjb2x1bW4iLCAibmV3VG9rZW4iLCAibGl0ZXJhbCIsICJzIiwgImludmFsaWRDaGFyIiwgImVzY2FwZSIsICJ1dGlsIiwgImhleEVzY2FwZSIsICJ1bmljb2RlRXNjYXBlIiwgInB1c2giLCAidG9rZW4iLCAicm9vdCIsICJwYXJlbnQiLCAic3RhY2siLCAia2V5IiwgInBhcnNlU3RhdGUiLCAicG9wIiwgInN5bnRheEVycm9yIiwgImZvcm1hdENoYXIiLCAiaW52YWxpZEVPRiIsICJpbnZhbGlkSWRlbnRpZmllciIsICJzZXBhcmF0b3JDaGFyIiwgInJlcGxhY2VtZW50cyIsICJoZXhTdHJpbmciLCAiZXJyIiwgImdldFBvc2l0aW9uIiwgInRleHRJbmRleCIsICJsaW5lQnJlYWtCZWZvcmUiLCAic2FmZUxhc3RJbmRleE9mIiwgImNvbHVtbjIiLCAiaW5kZXhUb0xpbmVDb2x1bW4iLCAib25lQmFzZWQiLCAicGFyc2VKc29uIiwgImZpbGVOYW1lIiwgImVycm9yIiwgImxvY2F0aW9uIiwgImdldEVycm9yTG9jYXRpb24iLCAiYWRkQ29kZVBvaW50VG9VbmV4cGVjdGVkVG9rZW4iLCAianNvbkVycm9yIiwgIkpTT05FcnJvciIsICJnZW5lcmF0ZUNvZGVGcmFtZSIsICJnZXRMaW5lQ29sRnJvbVB0ciIsICJwdHIiLCAibWFrZUNvZGVCbG9jayIsICJjb2RlYmxvY2siLCAibnVtYmVyTGVuIiwgImluZGV4T2ZOZXdsaW5lIiwgInNraXBDb21tZW50IiwgIlRvbWxFcnJvciIsICJza2lwVm9pZCIsICJiYW5OZXdMaW5lcyIsICJiYW5Db21tZW50cyIsICJza2lwVW50aWwiLCAic2VwIiwgImdldFN0cmluZ0VuZCIsICJzZWVrIiwgInBhcnNlU3RyaW5nIiwgImVuZFB0ciIsICJpc0xpdGVyYWwiLCAiaXNNdWx0aWxpbmUiLCAiaXNFc2NhcGUiLCAicGFyc2VkIiwgInNsaWNlU3RhcnQiLCAiRVNDQVBFX1JFR0VYIiwgIkVTQ19NQVAiLCAicGFyc2VWYWx1ZSIsICJ0b21sIiwgImlzSW50MiIsICJJTlRfUkVHRVgiLCAiRkxPQVRfUkVHRVgiLCAiTEVBRElOR19aRVJPIiwgIm51bWVyaWMiLCAiVG9tbERhdGUiLCAic2xpY2VBbmRUcmltRW5kT2YiLCAic3RhcnRQdHIiLCAiYWxsb3dOZXdMaW5lcyIsICJjb21tZW50SWR4IiwgInRyaW1tZWQiLCAibmV3bGluZUlkeCIsICJleHRyYWN0VmFsdWUiLCAiZGVwdGgiLCAiZW5kUHRyMiIsICJwYXJzZUFycmF5IiwgInBhcnNlSW5saW5lVGFibGUiLCAibmV3UHRyIiwgIm5leHROZXdMaW5lIiwgInNsaWNlIiwgInBhcnNlS2V5IiwgImRvdCIsICJlb3MiLCAic3RyRW5kIiwgInBhcnQiLCAiS0VZX1BBUlRfUkUiLCAic2VlbiIsICJjb21tYSIsICJoYXNPd24iLCAia2V5RW5kUHRyIiwgInZhbHVlRW5kUHRyIiwgInBlZWtUYWJsZSIsICJ0YWJsZSIsICJtZXRhIiwgIl9hIiwgIl9iIiwgIm0iLCAibCIsICJwYXJzZTQiLCAib3B0cyIsICJtYXhEZXB0aCIsICJ0YmwiLCAiaXNUYWJsZUFycmF5IiwgInAiLCAidiIsICJyZWFkRmlsZSIsICJpc1VybFN0cmluZyIsICJyZWFkSnNvbiIsICJjb250ZW50IiwgInJlYWRfZmlsZV9kZWZhdWx0IiwgImxvYWRKcyIsICJsb2FkQ29uZmlnRnJvbVBhY2thZ2VKc29uIiwgInByZXR0aWVyIiwgImxvYWRDb25maWdGcm9tUGFja2FnZVlhbWwiLCAibG9hZFlhbWwiLCAibG9hZCIsICJmaWx0ZXIiLCAiaXNfZmlsZV9kZWZhdWx0IiwgImdldFNlYXJjaGVyIiwgInN0b3BEaXJlY3RvcnkiLCAiQ09ORklHX0ZJTEVfTkFNRVMiLCAiZm9ybWF0TGlzdCIsICJjcmVhdGVFcnJvciIsICJzeW0iLCAiY29uc3RydWN0b3IiLCAibWVzc2FnZXMiLCAibWFrZU5vZGVFcnJvcldpdGhDb2RlIiwgIkJhc2UiLCAiTm9kZUVycm9yIiwgImxpbWl0IiwgImlzRXJyb3JTdGFja1RyYWNlTGltaXRXcml0YWJsZSIsICJnZXRNZXNzYWdlIiwgImNhcHR1cmVMYXJnZXJTdGFja1RyYWNlIiwgImRlc2MiLCAib3duIiwgImhpZGVTdGFja0ZyYW1lcyIsICJ3cmFwcGVkRnVuY3Rpb24iLCAiaGlkZGVuIiwgIm5vZGVJbnRlcm5hbFByZWZpeCIsICJzZWxmIiwgInJlZ2V4IiwgImV4cGVjdGVkTGVuZ3RoIiwgImRldGVybWluZVNwZWNpZmljVHlwZSIsICJpbnNwZWN0ZWQiLCAicmVhZDIiLCAianNvblBhdGgiLCAiYmFzZSIsICJzcGVjaWZpZXIiLCAiZXhpc3RpbmciLCAiY2FjaGUiLCAiZXJyb3JfIiwgImNhdXNlIiwgIkVSUl9JTlZBTElEX1BBQ0tBR0VfQ09ORklHIiwgImhhc093blByb3BlcnR5IiwgImdldFBhY2thZ2VTY29wZUNvbmZpZyIsICJyZXNvbHZlZCIsICJwYWNrYWdlSlNPTlVybCIsICJwYWNrYWdlQ29uZmlnIiwgImxhc3RQYWNrYWdlSlNPTlVybCIsICJnZXRQYWNrYWdlVHlwZSIsICJ1cmwyIiwgIm1pbWVUb0Zvcm1hdCIsICJtaW1lIiwgImdldERhdGFQcm90b2NvbE1vZHVsZUZvcm1hdCIsICJleHRuYW1lIiwgInBhdGhuYW1lIiwgImdldEZpbGVQcm90b2NvbE1vZHVsZUZvcm1hdCIsICJfY29udGV4dCIsICJpZ25vcmVFcnJvcnMiLCAicGFja2FnZVR5cGUiLCAiZm9ybWF0MyIsICJleHRlbnNpb25Gb3JtYXRNYXAiLCAiZmlsZXBhdGgiLCAiRVJSX1VOS05PV05fRklMRV9FWFRFTlNJT04iLCAiZ2V0SHR0cFByb3RvY29sTW9kdWxlRm9ybWF0IiwgImRlZmF1bHRHZXRGb3JtYXRXaXRob3V0RXJyb3JzIiwgImNvbnRleHQiLCAicHJvdG9jb2wiLCAiaGFzT3duUHJvcGVydHkyIiwgInByb3RvY29sSGFuZGxlcnMiLCAiZ2V0RGVmYXVsdENvbmRpdGlvbnMiLCAiREVGQVVMVF9DT05ESVRJT05TIiwgImdldERlZmF1bHRDb25kaXRpb25zU2V0IiwgIkRFRkFVTFRfQ09ORElUSU9OU19TRVQiLCAiZ2V0Q29uZGl0aW9uc1NldCIsICJjb25kaXRpb25zIiwgIkVSUl9JTlZBTElEX0FSR19WQUxVRSIsICJlbWl0SW52YWxpZFNlZ21lbnREZXByZWNhdGlvbiIsICJyZXF1ZXN0IiwgInBhY2thZ2VKc29uVXJsIiwgImludGVybmFsIiwgImlzVGFyZ2V0IiwgInBqc29uUGF0aCIsICJkb3VibGUiLCAiZG91YmxlU2xhc2hSZWdFeCIsICJlbWl0TGVnYWN5SW5kZXhEZXByZWNhdGlvbiIsICJtYWluIiwgInVybFBhdGgiLCAicGFja2FnZVBhdGgiLCAiYmFzZVBhdGgiLCAidHJ5U3RhdFN5bmMiLCAicGF0aDEzIiwgImZpbGVFeGlzdHMiLCAiaXNGaWxlMiIsICJsZWdhY3lNYWluUmVzb2x2ZSIsICJndWVzcyIsICJ0cmllczIiLCAiaTIiLCAidHJpZXMiLCAiRVJSX01PRFVMRV9OT1RfRk9VTkQiLCAiZmluYWxpemVSZXNvbHV0aW9uIiwgInByZXNlcnZlU3ltbGlua3MiLCAiZW5jb2RlZFNlcGFyYXRvclJlZ0V4IiwgIkVSUl9JTlZBTElEX01PRFVMRV9TUEVDSUZJRVIiLCAiZmlsZVBhdGgiLCAiRVJSX1VOU1VQUE9SVEVEX0RJUl9JTVBPUlQiLCAicmVhbCIsICJzZWFyY2giLCAiaGFzaCIsICJpbXBvcnROb3REZWZpbmVkIiwgIkVSUl9QQUNLQUdFX0lNUE9SVF9OT1RfREVGSU5FRCIsICJleHBvcnRzTm90Rm91bmQiLCAic3VicGF0aCIsICJFUlJfUEFDS0FHRV9QQVRIX05PVF9FWFBPUlRFRCIsICJ0aHJvd0ludmFsaWRTdWJwYXRoIiwgImludmFsaWRQYWNrYWdlVGFyZ2V0IiwgIkVSUl9JTlZBTElEX1BBQ0tBR0VfVEFSR0VUIiwgInJlc29sdmVQYWNrYWdlVGFyZ2V0U3RyaW5nIiwgInBhdHRlcm4iLCAiaXNQYXRoTWFwIiwgImlzVVJMMiIsICJleHBvcnRUYXJnZXQiLCAiUmVnRXhwUHJvdG90eXBlU3ltYm9sUmVwbGFjZSIsICJwYXR0ZXJuUmVnRXgiLCAicGFja2FnZVJlc29sdmUiLCAiaW52YWxpZFNlZ21lbnRSZWdFeCIsICJkZXByZWNhdGVkSW52YWxpZFNlZ21lbnRSZWdFeCIsICJyZXNvbHZlZFRhcmdldCIsICJyZXNvbHZlZFBhdGgiLCAiaXNBcnJheUluZGV4IiwgImtleU51bWJlciIsICJyZXNvbHZlUGFja2FnZVRhcmdldCIsICJwYWNrYWdlU3VicGF0aCIsICJ0YXJnZXRMaXN0IiwgImxhc3RFeGNlcHRpb24iLCAidGFyZ2V0SXRlbSIsICJyZXNvbHZlUmVzdWx0IiwgIkVSUl9JTlZBTElEX1BBQ0tBR0VfQ09ORklHMiIsICJjb25kaXRpb25hbFRhcmdldCIsICJpc0NvbmRpdGlvbmFsRXhwb3J0c01haW5TdWdhciIsICJleHBvcnRzIiwgImlzQ29uZGl0aW9uYWxTdWdhciIsICJrZXlJbmRleCIsICJjdXJyZW50SXNDb25kaXRpb25hbFN1Z2FyIiwgImVtaXRUcmFpbGluZ1NsYXNoUGF0dGVybkRlcHJlY2F0aW9uIiwgInBqc29uVXJsIiwgImVtaXR0ZWRQYWNrYWdlV2FybmluZ3MiLCAicGFja2FnZUV4cG9ydHNSZXNvbHZlIiwgIm93bjIiLCAiYmVzdE1hdGNoIiwgImJlc3RNYXRjaFN1YnBhdGgiLCAicGF0dGVybkluZGV4IiwgInBhdHRlcm5UcmFpbGVyIiwgInBhdHRlcm5LZXlDb21wYXJlIiwgImFQYXR0ZXJuSW5kZXgiLCAiYlBhdHRlcm5JbmRleCIsICJiYXNlTGVuZ3RoQSIsICJiYXNlTGVuZ3RoQiIsICJwYWNrYWdlSW1wb3J0c1Jlc29sdmUiLCAiaW1wb3J0cyIsICJwYXJzZVBhY2thZ2VOYW1lIiwgInNlcGFyYXRvckluZGV4IiwgInZhbGlkUGFja2FnZU5hbWUiLCAiaXNTY29wZWQiLCAicGFja2FnZU5hbWUiLCAiaW52YWxpZFBhY2thZ2VOYW1lUmVnRXgiLCAicGFja2FnZUpzb25VcmwyIiwgInBhY2thZ2VKc29uUGF0aCIsICJsYXN0UGF0aCIsICJzdGF0IiwgInBhY2thZ2VDb25maWcyIiwgImlzUmVsYXRpdmVTcGVjaWZpZXIiLCAic2hvdWxkQmVUcmVhdGVkQXNSZWxhdGl2ZU9yQWJzb2x1dGVQYXRoIiwgIm1vZHVsZVJlc29sdmUiLCAiaXNSZW1vdGUiLCAiRVJSX1VOU1VQUE9SVEVEX1JFU09MVkVfUkVRVUVTVCIsICJjaGVja0lmRGlzYWxsb3dlZEltcG9ydCIsICJwYXJzZWRQYXJlbnRVUkwiLCAicGFyZW50UHJvdG9jb2wiLCAicGFyc2VkUHJvdG9jb2wiLCAiRVJSX05FVFdPUktfSU1QT1JUX0RJU0FMTE9XRUQiLCAiaXNVUkwiLCAidGhyb3dJZkludmFsaWRQYXJlbnRVUkwiLCAicGFyZW50VVJMIiwgImNvZGVzIiwgImRlZmF1bHRSZXNvbHZlIiwgIm1heWJlUmV0dXJuIiwgInJlc29sdmUyIiwgImltcG9ydEZyb21GaWxlIiwgInJlcXVpcmVGcm9tRmlsZSIsICJsb2FkRXh0ZXJuYWxDb25maWciLCAiZXh0ZXJuYWxDb25maWciLCAiY29uZmlnRmlsZSIsICJyZXF1aXJlZCIsICJyZXF1aXJlX2Zyb21fZmlsZV9kZWZhdWx0IiwgInJlcXVpcmVFcnJvckNvZGVzU2hvdWxkQmVJZ25vcmVkIiwgImltcG9ydF9mcm9tX2ZpbGVfZGVmYXVsdCIsICJsb2FkQ29uZmlnIiwgImV4dGVuc2lvbiIsICJsb2FkMiIsICJsb2FkZXJzX2RlZmF1bHQiLCAiY29uZmlnIiwgImxvYWRfZXh0ZXJuYWxfY29uZmlnX2RlZmF1bHQiLCAiY2xlYXJQcmV0dGllckNvbmZpZ0NhY2hlIiwgImxvYWRDYWNoZSIsICJzZWFyY2hDYWNoZSIsICJsb2FkUHJldHRpZXJDb25maWciLCAibG9hZF9jb25maWdfZGVmYXVsdCIsICJnZXRTZWFyY2hGdW5jdGlvbiIsICJzZWFyY2hlcjIiLCAiY29uZmlnX3NlYXJjaGVyX2RlZmF1bHQiLCAic2VhcmNoRnVuY3Rpb24iLCAic2VhcmNoUHJldHRpZXJDb25maWciLCAibW9ja2FibGVfZGVmYXVsdCIsICJjbGVhckNhY2hlIiwgImxvYWRFZGl0b3Jjb25maWcyIiwgImxvYWRQcmV0dGllckNvbmZpZzIiLCAiZmlsZVVybE9yUGF0aCIsICJlZGl0b3JDb25maWd1cmVkIiwgIm1lcmdlZCIsICJtZXJnZU92ZXJyaWRlcyIsICJjb25maWdSZXN1bHQiLCAib3ZlcnJpZGVzIiwgInJlbGF0aXZlRmlsZVBhdGgiLCAib3ZlcnJpZGUiLCAicGF0aE1hdGNoZXNHbG9icyIsICJwYXR0ZXJucyIsICJleGNsdWRlZFBhdHRlcm5zIiwgInBhdHRlcm5MaXN0IiwgIndpdGhTbGFzaGVzIiwgIndpdGhvdXRTbGFzaGVzIiwgInBhcnRpdGlvbl9kZWZhdWx0IiwgImltcG9ydF9taWNyb21hdGNoIiwgImdldFJlbGF0aXZlUGF0aCIsICJpZ25vcmVGaWxlIiwgImlnbm9yZUZpbGVQYXRoIiwgImlzVXJsIiwgImNyZWF0ZVNpbmdsZUlzSWdub3JlZEZ1bmN0aW9uIiwgIndpdGhOb2RlTW9kdWxlcyIsICJpZ25vcmUiLCAiY3JlYXRlSWdub3JlIiwgInNsYXNoIiwgImNyZWF0ZUlzSWdub3JlZEZ1bmN0aW9uIiwgImlnbm9yZUZpbGVzIiwgImlzSWdub3JlZEZ1bmN0aW9ucyIsICJpc0lnbm9yZWQyIiwgImlzSWdub3JlZCIsICJnZXRJbnRlcnByZXRlciIsICJmZCIsICJmaXJzdExpbmUiLCAiaW1wb3J0X25fcmVhZGxpbmVzIiwgIm0xIiwgIm0yIiwgImdldExhbmd1YWdlQnlGaWxlTmFtZSIsICJsYW5ndWFnZXMyIiwgImJhc2VuYW1lIiwgImdldEZpbGVCYXNlbmFtZSIsICJmaWxlbmFtZXMiLCAiZXh0ZW5zaW9ucyIsICJnZXRMYW5ndWFnZUJ5TGFuZ3VhZ2VOYW1lIiwgImxhbmd1YWdlTmFtZSIsICJhbGlhc2VzIiwgImdldExhbmd1YWdlQnlJbnRlcnByZXRlciIsICJpbnRlcnByZXRlciIsICJnZXRfaW50ZXJwcmV0ZXJfZGVmYXVsdCIsICJpbnRlcnByZXRlcnMiLCAiaW5mZXJQYXJzZXIiLCAiZmlsZUluZm8iLCAicGx1Z2luIiwgImxhbmd1YWdlIiwgImdldEZpbGVJbmZvIiwgImlnbm9yZVBhdGgiLCAiaWdub3JlZCIsICJpbmZlcnJlZFBhcnNlciIsICJnZXRQYXJzZXIiLCAiaW5mZXJfcGFyc2VyX2RlZmF1bHQiLCAiZ3Vlc3NFbmRPZkxpbmUiLCAiY29udmVydEVuZE9mTGluZVRvQ2hhcnMiLCAiY291bnRFbmRPZkxpbmVDaGFycyIsICJlb2wiLCAiZW5kT2ZMaW5lcyIsICJub3JtYWxpemVFbmRPZkxpbmUiLCAic3RyaW5nX3JlcGxhY2VfYWxsX2RlZmF1bHQiLCAiZ2V0RG9jVHlwZSIsICJkb2MyIiwgIkRPQ19UWVBFX1NUUklORyIsICJET0NfVFlQRV9BUlJBWSIsICJWQUxJRF9PQkpFQ1RfRE9DX1RZUEVTIiwgImdldERvY0Vycm9yTWVzc2FnZSIsICJnZXRfZG9jX3R5cGVfZGVmYXVsdCIsICJvYmplY3RUeXBlIiwgIkVYUEVDVEVEX1RZUEVfVkFMVUVTIiwgImRpc2p1bmN0aW9uTGlzdEZvcm1hdCIsICJ0eXBlMyIsICJ0cmF2ZXJzZURvYyIsICJvbkVudGVyIiwgIm9uRXhpdCIsICJzaG91bGRUcmF2ZXJzZUNvbmRpdGlvbmFsR3JvdXBzIiwgImRvY3NTdGFjayIsICJkb2MzIiwgInRyYXZlcnNlRG9jT25FeGl0U3RhY2tNYXJrZXIiLCAiZG9jVHlwZSIsICJpbnZhbGlkX2RvY19lcnJvcl9kZWZhdWx0IiwgIkRPQ19UWVBFX0ZJTEwiLCAicGFydHMiLCAiaWMiLCAiRE9DX1RZUEVfSUZfQlJFQUsiLCAiRE9DX1RZUEVfR1JPVVAiLCAiRE9DX1RZUEVfQUxJR04iLCAiRE9DX1RZUEVfSU5ERU5UIiwgIkRPQ19UWVBFX0lOREVOVF9JRl9CUkVBSyIsICJET0NfVFlQRV9MQUJFTCIsICJET0NfVFlQRV9MSU5FX1NVRkZJWCIsICJET0NfVFlQRV9DVVJTT1IiLCAiRE9DX1RZUEVfVFJJTSIsICJET0NfVFlQRV9MSU5FX1NVRkZJWF9CT1VOREFSWSIsICJET0NfVFlQRV9MSU5FIiwgIkRPQ19UWVBFX0JSRUFLX1BBUkVOVCIsICJpbmRlbnQiLCAiY29udGVudHMiLCAiYXNzZXJ0RG9jIiwgImFsaWduIiwgIndpZHRoT3JTdHJpbmciLCAibGluZVN1ZmZpeCIsICJhZGRBbGlnbm1lbnRUb0RvYyIsICJzaXplIiwgInRhYldpZHRoIiwgImFsaWduZWQiLCAiZmxhdHRlbkRvYyIsICJmbGF0dGVuZWQiLCAicHJpbnREb2NUb0RlYnVnIiwgInByaW50ZWRTeW1ib2xzIiwgInVzZWRLZXlzRm9yU3ltYm9scyIsICJwcmludERvYyIsICJwYXJlbnRQYXJ0cyIsICJwcmludGVkIiwgIndpdGhCcmVha1BhcmVudCIsICJwcmludEdyb3VwSWQiLCAib3B0aW9uc1BhcnRzIiwgImNvdW50ZXIiLCAiaXNGdWxsV2lkdGgiLCAieCIsICJpc1dpZGUiLCAiZ2V0U3RyaW5nV2lkdGgiLCAibm90QXNjaWlSZWdleCIsICJlbW9qaV9yZWdleF9kZWZhdWx0IiwgIndpZHRoIiwgImNvZGVQb2ludCIsICJfaXNOYXJyb3dXaWR0aCIsICJtYXBEb2MiLCAiY2IiLCAibWFwcGVkIiwgInJlYyIsICJwcm9jZXNzNCIsICJleHBhbmRlZFN0YXRlcyIsICJicmVha1BhcmVudEdyb3VwIiwgImdyb3VwU3RhY2siLCAicGFyZW50R3JvdXAiLCAiYXRfZGVmYXVsdCIsICJwcm9wYWdhdGVCcmVha3MiLCAiYWxyZWFkeVZpc2l0ZWRTZXQiLCAicHJvcGFnYXRlQnJlYWtzT25FbnRlckZuIiwgInByb3BhZ2F0ZUJyZWFrc09uRXhpdEZuIiwgInRyYXZlcnNlX2RvY19kZWZhdWx0IiwgInN0cmlwVHJhaWxpbmdIYXJkbGluZUZyb21QYXJ0cyIsICJsYXN0UGFydCIsICJzdHJpcFRyYWlsaW5nSGFyZGxpbmVGcm9tRG9jIiwgInN0cmlwVHJhaWxpbmdIYXJkbGluZSIsICJjbGVhbkRvYyIsICJjbGVhbkRvY0ZuIiwgImN1cnJlbnRQYXJ0IiwgInJlc3RQYXJ0cyIsICJjdXJyZW50RG9jIiwgImluaGVyaXRMYWJlbCIsICJmbiIsICJyb290SW5kZW50IiwgIm1ha2VJbmRlbnQiLCAiaW5kIiwgImdlbmVyYXRlSW5kIiwgIm1ha2VBbGlnbiIsICJpbmRlbnQyIiwgIndpZHRoT3JEb2MiLCAibmV3UGFydCIsICJxdWV1ZSIsICJsYXN0VGFicyIsICJsYXN0U3BhY2VzIiwgImZsdXNoIiwgImFkZFRhYnMiLCAiYWRkU3BhY2VzIiwgImZsdXNoU3BhY2VzIiwgImZsdXNoVGFicyIsICJyZXNldExhc3QiLCAidHJpbSIsICJvdXQiLCAidHJpbUNvdW50IiwgImN1cnNvckNvdW50IiwgIm91dEluZGV4IiwgIm91dGVyIiwgImxhc3QiLCAiQ1VSU09SX1BMQUNFSE9MREVSIiwgImNoYXJJbmRleCIsICJjaGFyIiwgImZpdHMiLCAibmV4dCIsICJyZXN0Q29tbWFuZHMiLCAiaGFzTGluZVN1ZmZpeCIsICJncm91cE1vZGVNYXAiLCAibXVzdEJlRmxhdCIsICJyZXN0SWR4IiwgImNtZHMiLCAibW9kZSIsICJnZXRfc3RyaW5nX3dpZHRoX2RlZmF1bHQiLCAiRE9DX0ZJTExfUFJJTlRFRF9MRU5HVEgiLCAiZ3JvdXBNb2RlIiwgIk1PREVfQlJFQUsiLCAiTU9ERV9GTEFUIiwgInByaW50RG9jVG9TdHJpbmciLCAicG9zMiIsICJzaG91bGRSZW1lYXN1cmUiLCAibGluZVN1ZmZpeDIiLCAicHJpbnRlZEN1cnNvckNvdW50IiwgImZvcm1hdHRlZCIsICJyZW0iLCAibW9zdEV4cGFuZGVkIiwgImNtZCIsICJvZmZzZXQiLCAid2hpdGVzcGFjZSIsICJjb250ZW50RmxhdENtZCIsICJjb250ZW50QnJlYWtDbWQiLCAiY29udGVudEZpdHMiLCAid2hpdGVzcGFjZUZsYXRDbWQiLCAid2hpdGVzcGFjZUJyZWFrQ21kIiwgInNlY29uZENvbnRlbnQiLCAicmVtYWluaW5nQ21kIiwgImJyZWFrQ29udGVudHMiLCAiZmxhdENvbnRlbnRzIiwgImhhcmRsaW5lV2l0aG91dEJyZWFrUGFyZW50IiwgImN1cnNvclBsYWNlaG9sZGVySW5kZXgiLCAib3RoZXJDdXJzb3JQbGFjZWhvbGRlckluZGV4IiwgImJlZm9yZUN1cnNvciIsICJhcm91bmRDdXJzb3IiLCAiYWZ0ZXJDdXJzb3IiLCAiZ2V0QWxpZ25tZW50U2l6ZSIsICJzdGFydEluZGV4IiwgImlzT2JqZWN0MiIsICJnZXRDaGlsZHJlbiIsICJub2RlIiwgImdldFZpc2l0b3JLZXlzIiwgImZpbHRlcjIiLCAiaXNNYXRjaGVkTm9kZSIsICJub2RlMiIsICJpc19vYmplY3RfZGVmYXVsdCIsICJjaGlsZCIsICJnZXREZXNjZW5kYW50cyIsICJpc0xlYWYiLCAic2tpcCIsICJjaGFyYWN0ZXJzIiwgImJhY2t3YXJkcyIsICJjdXJzb3IyIiwgInNraXBOZXdsaW5lIiwgImhhc05ld2xpbmUiLCAic2tpcFNwYWNlcyIsICJpZHgyIiwgInNraXBfbmV3bGluZV9kZWZhdWx0IiwgImlzTm9uRW1wdHlBcnJheSIsICJjcmVhdGVHZXRWaXNpdG9yS2V5c0Z1bmN0aW9uIiwgInByaW50ZXJHZXRWaXNpdG9yS2V5cyIsICJub25UcmF2ZXJzYWJsZUtleXMiLCAiZGVmYXVsdEdldFZpc2l0b3JLZXlzIiwgImRlc2NyaWJlTm9kZUZvckRlYnVnZ2luZyIsICJub2RlVHlwZSIsICJub2RlTmFtZSIsICJhZGRDb21tZW50SGVscGVyIiwgImNvbW1lbnQiLCAiYWRkTGVhZGluZ0NvbW1lbnQiLCAiYWRkRGFuZ2xpbmdDb21tZW50IiwgIm1hcmtlciIsICJhZGRUcmFpbGluZ0NvbW1lbnQiLCAiZ2V0U29ydGVkQ2hpbGROb2RlcyIsICJjaGlsZE5vZGVzQ2FjaGUiLCAiZ2V0Q29tbWVudENoaWxkTm9kZXMiLCAiY2FuQXR0YWNoQ29tbWVudCIsICJsb2NTdGFydCIsICJsb2NFbmQiLCAiY2hpbGROb2RlcyIsICJjcmVhdGVfZ2V0X3Zpc2l0b3Jfa2V5c19mdW5jdGlvbl9kZWZhdWx0IiwgIm5vZGVBIiwgIm5vZGVCIiwgImRlY29yYXRlQ29tbWVudCIsICJlbmNsb3NpbmdOb2RlIiwgImNvbW1lbnRTdGFydCIsICJjb21tZW50RW5kIiwgInByZWNlZGluZ05vZGUiLCAiZm9sbG93aW5nTm9kZSIsICJsZWZ0IiwgInJpZ2h0IiwgIm1pZGRsZSIsICJxdWFzaXMiLCAiY29tbWVudEluZGV4IiwgImZpbmRFeHByZXNzaW9uSW5kZXhGb3JDb21tZW50IiwgImF0dGFjaENvbW1lbnRzIiwgImFzdCIsICJjb21tZW50cyIsICJpc19ub25fZW1wdHlfYXJyYXlfZGVmYXVsdCIsICJ0aWVzVG9CcmVhayIsICJhdm9pZEFzdE11dGF0aW9uIiwgImhhbmRsZUNvbW1lbnRzIiwgImhhbmRsZU93bkxpbmVDb21tZW50IiwgInJldHVybkZhbHNlIiwgImhhbmRsZUVuZE9mTGluZUNvbW1lbnQiLCAiaGFuZGxlUmVtYWluaW5nQ29tbWVudCIsICJkZWNvcmF0ZWRDb21tZW50cyIsICJ0ZXh0MiIsICJvcHRpb25zOSIsICJhc3QyIiwgImlzTGFzdENvbW1lbnQiLCAiaXNPd25MaW5lQ29tbWVudCIsICJpc0VuZE9mTGluZUNvbW1lbnQiLCAidGllQ291bnQiLCAiYnJlYWtUaWVzIiwgImNvbW1lbnQyIiwgImN1cnJlbnRDb21tZW50UHJlY2VkaW5nTm9kZSIsICJpc0FsbEVtcHR5QW5kTm9MaW5lQnJlYWsiLCAiaGFzX25ld2xpbmVfZGVmYXVsdCIsICJjdXJyZW50Q29tbWVudEZvbGxvd2luZ05vZGUiLCAiZ2FwRW5kUG9zIiwgImluZGV4T2ZGaXJzdExlYWRpbmdDb21tZW50IiwgImdhcCIsICJpc1ByZXZpb3VzTGluZUVtcHR5IiwgInByaW50Q29tbWVudCIsICJwcmludExlYWRpbmdDb21tZW50IiwgInByaW50ZXIiLCAib3JpZ2luYWxUZXh0IiwgImxpbmVCcmVhayIsICJoYXJkbGluZSIsICJsaW5lMiIsICJwcmludFRyYWlsaW5nQ29tbWVudCIsICJwcmV2aW91c0NvbW1lbnQiLCAiaXNCbG9jayIsICJpc0xpbmVCZWZvcmVFbXB0eSIsICJpc19wcmV2aW91c19saW5lX2VtcHR5X2RlZmF1bHQiLCAiYnJlYWtQYXJlbnQiLCAicHJpbnRDb21tZW50c1NlcGFyYXRlbHkiLCAibGVhZGluZ1BhcnRzIiwgInRyYWlsaW5nUGFydHMiLCAicHJpbnRlZFRyYWlsaW5nQ29tbWVudCIsICJsZWFkaW5nIiwgInRyYWlsaW5nIiwgInByaW50Q29tbWVudHMiLCAiZW5zdXJlQWxsQ29tbWVudHNQcmludGVkIiwgInByaW50ZWRDb21tZW50cyIsICJjcmVhdGVQcmludFByZUNoZWNrRnVuY3Rpb24iLCAiZ2V0U3VwcG9ydEluZm8iLCAicGx1Z2lucyIsICJzaG93RGVwcmVjYXRlZCIsICJvcHRpb24iLCAibm9ybWFsaXplT3B0aW9uU2V0dGluZ3MiLCAiY29yZV9vcHRpb25zX2V2YWx1YXRlX2RlZmF1bHQiLCAiY2hvaWNlIiwgImNvbGxlY3RQYXJzZXJzRnJvbUxhbmd1YWdlcyIsICJwYXJzZXJDaG9pY2VzIiwgImV4aXN0aW5nUGFyc2VycyIsICJwYXJzZXJOYW1lIiwgInBsdWdpbjIiLCAic2V0dGluZ3MiLCAib3JpZ2luYWxPcHRpb24iLCAibm9ybWFsaXplT3B0aW9ucyIsICJvcHRpb25JbmZvcyIsICJsb2dnZXIiLCAiaXNDTEkiLCAicGFzc1Rocm91Z2giLCAiRmxhZ1NjaGVtYSIsICJhcGlEZXNjcmlwdG9yIiwgInVua25vd24iLCAiXyIsICJzY2hlbWFzMiIsICJsZXZlblVua25vd25IYW5kbGVyIiwgInNjaGVtYXMiLCAib3B0aW9uSW5mb3NUb1NjaGVtYXMiLCAibm9ybWFsaXplciIsICJOb3JtYWxpemVyIiwgInNob3VsZFN1cHByZXNzRHVwbGljYXRlRGVwcmVjYXRpb25XYXJuaW5ncyIsICJoYXNEZXByZWNhdGlvbldhcm5lZCIsICJub3JtYWxpemVkIiwgIkFueVNjaGVtYSIsICJvcHRpb25JbmZvIiwgIm9wdGlvbkluZm9Ub1NjaGVtYSIsICJBbGlhc1NjaGVtYSIsICJoYW5kbGVycyIsICJJbnRlZ2VyU2NoZW1hIiwgIlN0cmluZ1NjaGVtYSIsICJDaG9pY2VTY2hlbWEiLCAiY2hvaWNlSW5mbyIsICJCb29sZWFuU2NoZW1hIiwgIm9wdGlvbkluZm8yIiwgInV0aWxzIiwgIm9yaWdpbmFsUHJlcHJvY2VzcyIsICJBcnJheVNjaGVtYSIsICJnZXRQYXJzZXJQbHVnaW5CeVBhcnNlck5hbWUiLCAiYXJyYXlfZmluZF9sYXN0X2RlZmF1bHQiLCAiQ29uZmlnRXJyb3IiLCAiZ2V0UHJpbnRlclBsdWdpbkJ5QXN0Rm9ybWF0IiwgImFzdEZvcm1hdCIsICJyZXNvbHZlUGFyc2VyIiwgInBhcnNlciIsICJpbml0UGFyc2VyIiwgInBhcnNlck9yUGFyc2VySW5pdEZ1bmN0aW9uIiwgImluaXRQcmludGVyIiwgInByaW50ZXJPclByaW50ZXJJbml0RnVuY3Rpb24iLCAibm9ybWFsaXplRm9ybWF0T3B0aW9ucyIsICJyYXdPcHRpb25zIiwgIlVuZGVmaW5lZFBhcnNlckVycm9yIiwgInN1cHBvcnRPcHRpb25zIiwgImRlZmF1bHRzIiwgImZvcm1hdE9wdGlvbnNIaWRkZW5EZWZhdWx0cyIsICJwYXJzZXJQbHVnaW4iLCAicHJpbnRlclBsdWdpbiIsICJwbHVnaW5EZWZhdWx0cyIsICJtaXhlZERlZmF1bHRzIiwgIm5vcm1hbGl6ZV9vcHRpb25zX2RlZmF1bHQiLCAicGFyc2U1IiwgImhhbmRsZVBhcnNlRXJyb3IiLCAibG9jIiwgImNvZGVGcmFtZSIsICJpbXBvcnRfY29kZV9mcmFtZTIiLCAicHJpbnRFbWJlZGRlZExhbmd1YWdlcyIsICJnZW5lcmljUHJpbnQiLCAicHJpbnRBc3RUb0RvYzIiLCAiZW1iZWRzIiwgImVtYmVkZGVkTGFuZ3VhZ2VGb3JtYXR0aW5nIiwgImVtYmVkIiwgImhhc1ByZXR0aWVySWdub3JlIiwgImVtYmVkQ2FsbFJlc3VsdHMiLCAicmVjdXJzZSIsICJvcmlnaW5hbFBhdGhTdGFjayIsICJwcmludCIsICJwYXRoU3RhY2siLCAidGV4dFRvRG9jRm9yRW1iZWQiLCAicGFydGlhbE5leHRPcHRpb25zIiwgInRleHRUb0RvYyIsICJwYXJlbnRPcHRpb25zIiwgIm5vcm1hbGl6ZV9mb3JtYXRfb3B0aW9uc19kZWZhdWx0IiwgInBhcnNlX2RlZmF1bHQiLCAicHJpbnRJZ25vcmVkIiwgInByaW50QXN0VG9Eb2MiLCAicHJlcGFyZVRvUHJpbnQiLCAiY2FjaGUzIiwgImFzdF9wYXRoX2RlZmF1bHQiLCAiZW5zdXJlUHJpbnRpbmdOb2RlIiwgImNyZWF0ZV9wcmludF9wcmVfY2hlY2tfZnVuY3Rpb25fZGVmYXVsdCIsICJtYWluUHJpbnQiLCAiY2FsbFBsdWdpblByaW50RnVuY3Rpb24iLCAiY3Vyc29yIiwgInNlbGVjdG9yIiwgIm1haW5QcmludEludGVybmFsIiwgInByaW50UGF0aCIsICJwcmludF9pZ25vcmVkX2RlZmF1bHQiLCAicHJlcHJvY2VzcyIsICJnZXRDdXJzb3JMb2NhdGlvbiIsICJjdXJzb3JPZmZzZXQiLCAibm9kZUNvbnRhaW5zQ3Vyc29yIiwgImN1cnNvck5vZGUiLCAibm9kZXNDb250YWluaW5nQ3Vyc29yIiwgIm5vZGVCZWZvcmVDdXJzb3IiLCAibm9kZUFmdGVyQ3Vyc29yIiwgIm5vZGVCZWZvcmVDdXJzb3JFbmRJbmRleCIsICJub2RlQWZ0ZXJDdXJzb3JTdGFydEluZGV4IiwgImZvdW5kQmVmb3JlTm9kZSIsICJmb3VuZEFmdGVyTm9kZSIsICJub2RlRW5kIiwgIm5vZGVTdGFydCIsICJtYXNzYWdlQXN0IiwgImNsZWFuRnVuY3Rpb24iLCAiaWdub3JlZFByb3BlcnRpZXMiLCAib3JpZ2luYWwiLCAiY2xvbmVkIiwgImNoaWxkcmVuS2V5cyIsICJmaW5kQ29tbW9uQW5jZXN0b3IiLCAic3RhcnROb2RlQW5kUGFyZW50cyIsICJlbmROb2RlQW5kUGFyZW50cyIsICJzdGFydE5vZGVBbmRBbmNlc3RvcnMiLCAiZW5kTm9kZUFuZEFuY2VzdG9ycyIsICJqc29uU291cmNlRWxlbWVudHMiLCAiZHJvcFJvb3RQYXJlbnRzIiwgInBhcmVudHMiLCAiYXJyYXlfZmluZF9sYXN0X2luZGV4X2RlZmF1bHQiLCAiZmluZFNpYmxpbmdBbmNlc3RvcnMiLCAicmVzdWx0U3RhcnROb2RlIiwgInJlc3VsdEVuZE5vZGUiLCAic3RhcnROb2RlU3RhcnQiLCAiZW5kUGFyZW50IiwgImVuZE5vZGVFbmQiLCAic3RhcnRQYXJlbnQiLCAiZmluZE5vZGVBdE9mZnNldCIsICJwYXJlbnROb2RlcyIsICJjaGlsZE5vZGUiLCAiY2hpbGRSZXN1bHQiLCAiaXNKc1NvdXJjZUVsZW1lbnQiLCAicGFyZW50VHlwZSIsICJpc1NvdXJjZUVsZW1lbnQiLCAicGFyZW50Tm9kZSIsICJncmFwaHFsU291cmNlRWxlbWVudHMiLCAiY2FsY3VsYXRlUmFuZ2UiLCAiZmlyc3ROb25XaGl0ZXNwYWNlQ2hhcmFjdGVySW5kZXgiLCAiaXNBbGxXaGl0ZXNwYWNlIiwgInN0YXJ0Tm9kZSIsICJlbmROb2RlIiwgImlzSnNvblBhcnNlciIsICJjb21tb25BbmNlc3RvciIsICJjb3JlRm9ybWF0IiwgImFkZEFsaWdubWVudFNpemUiLCAiZ2V0X2N1cnNvcl9ub2RlX2RlZmF1bHQiLCAib2xkQ3Vyc29yUmVnaW9uU3RhcnQiLCAib2xkQ3Vyc29yUmVnaW9uVGV4dCIsICJuZXdDdXJzb3JSZWdpb25TdGFydCIsICJuZXdDdXJzb3JSZWdpb25UZXh0IiwgIm9sZEN1cnNvclJlZ2lvbkVuZCIsICJjdXJzb3JPZmZzZXRSZWxhdGl2ZVRvT2xkQ3Vyc29yUmVnaW9uU3RhcnQiLCAib2xkQ3Vyc29yTm9kZUNoYXJBcnJheSIsICJDVVJTT1IiLCAibmV3Q3Vyc29yTm9kZUNoYXJBcnJheSIsICJjdXJzb3JOb2RlRGlmZiIsICJmb3JtYXRSYW5nZSIsICJyYW5nZVN0YXJ0IiwgInJhbmdlRW5kIiwgInJhbmdlU3RyaW5nIiwgInJhbmdlU3RhcnQyIiwgImluZGVudFN0cmluZyIsICJhbGlnbm1lbnRTaXplIiwgImdldF9hbGlnbm1lbnRfc2l6ZV9kZWZhdWx0IiwgInJhbmdlUmVzdWx0IiwgInJhbmdlVHJpbW1lZCIsICJlbnN1cmVJbmRleEluVGV4dCIsICJkZWZhdWx0VmFsdWUiLCAibm9ybWFsaXplSW5kZXhlcyIsICJub3JtYWxpemVJbnB1dEFuZE9wdGlvbnMiLCAiZW5kT2ZMaW5lIiwgImhhc0JPTSIsICJCT00iLCAiY291bnRDcmxmQmVmb3JlIiwgImhhc1ByYWdtYSIsICJzZWxlY3RlZFBhcnNlciIsICJmb3JtYXRXaXRoQ3Vyc29yIiwgIm9yaWdpbmFsT3B0aW9ucyIsICJwYXJzZTYiLCAiZGV2T3B0aW9ucyIsICJtYXNzYWdlX2FzdF9kZWZhdWx0IiwgImZvcm1hdEFzdCIsICJmb3JtYXREb2MiLCAicHJpbnRUb0RvYyIsICJwcmludERvY1RvU3RyaW5nMiIsICJjcmVhdGVQYXJzZXJzQW5kUHJpbnRlcnMiLCAibW9kdWxlcyIsICJwYXJzZXJzMiIsICJwcmludGVyczIiLCAiaW1wb3J0UGx1Z2luMiIsICJwYXJzZXJOYW1lcyIsICJwcmludGVyTmFtZXMiLCAibG9hZFBsdWdpbjIiLCAicHJpbnRlck5hbWUiLCAibG9hZEJ1aWx0aW5QbHVnaW5zIiwgImJ1aWx0aW5fcGx1Z2luc19wcm94eV9leHBvcnRzIiwgImltcG9ydEZyb21EaXJlY3RvcnkiLCAiaW1wb3J0UGx1Z2luIiwgImN3ZCIsICJpbXBvcnRfZnJvbV9kaXJlY3RvcnlfZGVmYXVsdCIsICJsb2FkUGx1Z2luV2l0aG91dENhY2hlIiwgIm1vZHVsZSIsICJsb2FkUGx1Z2luIiwgImNhY2hlS2V5IiwgImNhY2hlMiIsICJjbGVhckNhY2hlMiIsICJsb2FkUGx1Z2lucyIsICJvbWl0IiwgInNraXBJbmxpbmVDb21tZW50IiwgInNraXBUcmFpbGluZ0NvbW1lbnQiLCAic2tpcEV2ZXJ5dGhpbmdCdXROZXdMaW5lIiwgImdldE5leHROb25TcGFjZU5vbkNvbW1lbnRDaGFyYWN0ZXJJbmRleCIsICJvbGRJZHgiLCAibmV4dElkeCIsICJza2lwX2lubGluZV9jb21tZW50X2RlZmF1bHQiLCAic2tpcF90cmFpbGluZ19jb21tZW50X2RlZmF1bHQiLCAiaXNOZXh0TGluZUVtcHR5IiwgInNraXBUb0xpbmVFbmQiLCAiZ2V0SW5kZW50U2l6ZSIsICJsYXN0TmV3bGluZUluZGV4IiwgImVzY2FwZVN0cmluZ1JlZ2V4cCIsICJnZXRNYXhDb250aW51b3VzQ291bnQiLCAic2VhcmNoU3RyaW5nIiwgInJlc3VsdHMiLCAibWF4Q291bnQiLCAiZ2V0TmV4dE5vblNwYWNlTm9uQ29tbWVudENoYXJhY3RlciIsICJnZXRfbmV4dF9ub25fc3BhY2Vfbm9uX2NvbW1lbnRfY2hhcmFjdGVyX2luZGV4X2RlZmF1bHQiLCAiZ2V0UHJlZmVycmVkUXVvdGUiLCAicHJlZmVycmVkUXVvdGVPclByZWZlclNpbmdsZVF1b3RlIiwgInByZWZlcnJlZCIsICJTSU5HTEVfUVVPVEUiLCAiRE9VQkxFX1FVT1RFIiwgImFsdGVybmF0ZSIsICJwcmVmZXJyZWRRdW90ZUNvdW50IiwgImFsdGVybmF0ZVF1b3RlQ291bnQiLCAiaGFzTmV3bGluZUluUmFuZ2UiLCAiaGFzU3BhY2VzIiwgIm1ha2VTdHJpbmciLCAicmF3VGV4dCIsICJlbmNsb3NpbmdRdW90ZSIsICJ1bmVzY2FwZVVubmVjZXNzYXJ5RXNjYXBlcyIsICJvdGhlclF1b3RlIiwgInJhdyIsICJlc2NhcGVkIiwgInF1b3RlIiwgImxlZ2FjeUdldE5leHROb25TcGFjZU5vbkNvbW1lbnRDaGFyYWN0ZXJJbmRleCIsICJnZXROZXh0Tm9uU3BhY2VOb25Db21tZW50Q2hhcmFjdGVySW5kZXgyIiwgImxlZ2FjeUlzUHJldmlvdXNMaW5lRW1wdHkiLCAiaXNQcmV2aW91c0xpbmVFbXB0eTIiLCAibGVnYWN5SXNOZXh0TGluZUVtcHR5IiwgImlzX25leHRfbGluZV9lbXB0eV9kZWZhdWx0IiwgImlzTmV4dExpbmVFbXB0eTIiLCAid2l0aFBsdWdpbnMiLCAib3B0aW9uc0FyZ3VtZW50SW5kZXgiLCAibG9hZF9idWlsdGluX3BsdWdpbnNfZGVmYXVsdCIsICJsb2FkX3BsdWdpbnNfZGVmYXVsdCIsICJyZXF1aXJlIiwgIl9fZmlsZW5hbWUiLCAiX19kaXJuYW1lIiwgIl9fY3JlYXRlIiwgIl9fZGVmUHJvcCIsICJfX2dldE93blByb3BEZXNjIiwgIl9fZ2V0T3duUHJvcE5hbWVzIiwgIl9fZ2V0UHJvdG9PZiIsICJfX2hhc093blByb3AiLCAiX190eXBlRXJyb3IiLCAiX19kZWZOb3JtYWxQcm9wIiwgIl9fcmVxdWlyZSIsICJfX2NvbW1vbkpTIiwgIl9fY29weVByb3BzIiwgIl9fdG9FU00iLCAiX19wdWJsaWNGaWVsZCIsICJfX2FjY2Vzc0NoZWNrIiwgIl9fcHJpdmF0ZUdldCIsICJfX3ByaXZhdGVBZGQiLCAiX19wcml2YXRlU2V0IiwgIl9fcHJpdmF0ZU1ldGhvZCIsICJyZXF1aXJlX2FycmF5IiwgInJlcXVpcmVfZXJybm8iLCAicmVxdWlyZV9mcyIsICJyZXF1aXJlX3BhdGgiLCAicmVxdWlyZV9pc19leHRnbG9iIiwgInJlcXVpcmVfaXNfZ2xvYiIsICJyZXF1aXJlX2dsb2JfcGFyZW50IiwgInJlcXVpcmVfdXRpbHMiLCAicmVxdWlyZV9zdHJpbmdpZnkiLCAicmVxdWlyZV9pc19udW1iZXIiLCAicmVxdWlyZV90b19yZWdleF9yYW5nZSIsICJyZXF1aXJlX2ZpbGxfcmFuZ2UiLCAicmVxdWlyZV9jb21waWxlIiwgInJlcXVpcmVfZXhwYW5kIiwgInJlcXVpcmVfY29uc3RhbnRzIiwgInJlcXVpcmVfcGFyc2UiLCAicmVxdWlyZV9icmFjZXMiLCAicmVxdWlyZV9jb25zdGFudHMyIiwgInJlcXVpcmVfdXRpbHMyIiwgInJlcXVpcmVfc2NhbiIsICJyZXF1aXJlX3BhcnNlMiIsICJyZXF1aXJlX3BpY29tYXRjaCIsICJyZXF1aXJlX3BpY29tYXRjaDIiLCAicmVxdWlyZV9taWNyb21hdGNoIiwgInJlcXVpcmVfcGF0dGVybiIsICJyZXF1aXJlX21lcmdlMiIsICJyZXF1aXJlX3N0cmVhbSIsICJyZXF1aXJlX3N0cmluZyIsICJyZXF1aXJlX3V0aWxzMyIsICJyZXF1aXJlX3Rhc2tzIiwgInJlcXVpcmVfYXN5bmMiLCAicmVxdWlyZV9zeW5jIiwgInJlcXVpcmVfZnMyIiwgInJlcXVpcmVfc2V0dGluZ3MiLCAicmVxdWlyZV9vdXQiLCAicmVxdWlyZV9xdWV1ZV9taWNyb3Rhc2siLCAicmVxdWlyZV9ydW5fcGFyYWxsZWwiLCAicmVxdWlyZV9jb25zdGFudHMzIiwgInJlcXVpcmVfZnMzIiwgInJlcXVpcmVfdXRpbHM0IiwgInJlcXVpcmVfY29tbW9uIiwgInJlcXVpcmVfYXN5bmMyIiwgInJlcXVpcmVfc3luYzIiLCAicmVxdWlyZV9mczQiLCAicmVxdWlyZV9zZXR0aW5nczIiLCAicmVxdWlyZV9vdXQyIiwgInJlcXVpcmVfcmV1c2lmeSIsICJyZXF1aXJlX3F1ZXVlIiwgInJlcXVpcmVfY29tbW9uMiIsICJyZXF1aXJlX3JlYWRlciIsICJyZXF1aXJlX2FzeW5jMyIsICJyZXF1aXJlX2FzeW5jNCIsICJyZXF1aXJlX3N0cmVhbTIiLCAicmVxdWlyZV9zeW5jMyIsICJyZXF1aXJlX3N5bmM0IiwgInJlcXVpcmVfc2V0dGluZ3MzIiwgInJlcXVpcmVfb3V0MyIsICJyZXF1aXJlX3JlYWRlcjIiLCAicmVxdWlyZV9zdHJlYW0zIiwgInJlcXVpcmVfYXN5bmM1IiwgInJlcXVpcmVfbWF0Y2hlciIsICJyZXF1aXJlX3BhcnRpYWwiLCAicmVxdWlyZV9kZWVwIiwgInJlcXVpcmVfZW50cnkiLCAicmVxdWlyZV9lcnJvciIsICJyZXF1aXJlX2VudHJ5MiIsICJyZXF1aXJlX3Byb3ZpZGVyIiwgInJlcXVpcmVfYXN5bmM2IiwgInJlcXVpcmVfc3RyZWFtNCIsICJyZXF1aXJlX3N5bmM1IiwgInJlcXVpcmVfc3luYzYiLCAicmVxdWlyZV9zZXR0aW5nczQiLCAicmVxdWlyZV9vdXQ0IiwgInJlcXVpcmVfZGVidWciLCAicmVxdWlyZV9jb25zdGFudHM0IiwgInJlcXVpcmVfcmUiLCAicmVxdWlyZV9wYXJzZV9vcHRpb25zIiwgInJlcXVpcmVfaWRlbnRpZmllcnMiLCAicmVxdWlyZV9zZW12ZXIiLCAicmVxdWlyZV9jb21wYXJlIiwgInJlcXVpcmVfZ3RlIiwgInJlcXVpcmVfcHNldWRvbWFwIiwgInJlcXVpcmVfbWFwIiwgInJlcXVpcmVfeWFsbGlzdCIsICJyZXF1aXJlX2xydV9jYWNoZSIsICJyZXF1aXJlX3NpZ211bmQiLCAicmVxdWlyZV9mbm1hdGNoIiwgInJlcXVpcmVfaW5pIiwgInJlcXVpcmVfcGFja2FnZSIsICJyZXF1aXJlX3NyYyIsICJyZXF1aXJlX3ZlbmRvcnMiLCAicmVxdWlyZV9jaV9pbmZvIiwgInJlcXVpcmVfcGljb2NvbG9ycyIsICJyZXF1aXJlX2pzX3Rva2VucyIsICJyZXF1aXJlX2lkZW50aWZpZXIiLCAicmVxdWlyZV9rZXl3b3JkIiwgInJlcXVpcmVfbGliIiwgInJlcXVpcmVfbGliMiIsICJyZXF1aXJlX2lnbm9yZSIsICJyZXF1aXJlX3JlYWRsaW5lcyIsICJzcmNfZXhwb3J0cyIsICJjaGFyYWN0ZXJEaWZmIiwgImV4dGVuZGVkV29yZENoYXJzIiwgInRva2VuaXplSW5jbHVkaW5nV2hpdGVzcGFjZSIsICJ3b3JkRGlmZiIsICJ3b3JkV2l0aFNwYWNlRGlmZiIsICJzZW50ZW5jZURpZmYiLCAiY3NzRGlmZiIsICJqc29uRGlmZiIsICJpbXBvcnRfZmFzdF9nbG9iIiwgIm1vZGlmaWVyTmFtZXMiLCAiZm9yZWdyb3VuZENvbG9yTmFtZXMiLCAiYmFja2dyb3VuZENvbG9yTmFtZXMiLCAiY29sb3JOYW1lcyIsICJhbnNpU3R5bGVzIiwgImFuc2lfc3R5bGVzX2RlZmF1bHQiLCAic3VwcG9ydHNDb2xvciIsICJzdXBwb3J0c19jb2xvcl9kZWZhdWx0IiwgInN0ZG91dENvbG9yIiwgInN0ZGVyckNvbG9yIiwgIkdFTkVSQVRPUiIsICJTVFlMRVIiLCAiSVNfRU1QVFkiLCAibGV2ZWxNYXBwaW5nIiwgInN0eWxlczIiLCAiYXBwbHlPcHRpb25zIiwgImdldE1vZGVsQW5zaSIsICJ1c2VkTW9kZWxzIiwgInByb3RvIiwgImNyZWF0ZVN0eWxlciIsICJjcmVhdGVCdWlsZGVyIiwgImFwcGx5U3R5bGUiLCAiY2hhbGsiLCAiY2hhbGtTdGRlcnIiLCAiY29tbW9uRGVwcmVjYXRlZEhhbmRsZXIiLCAiVkFMVUVfVU5DSEFOR0VEIiwgImNvbW1vbkludmFsaWRIYW5kbGVyIiwgIk51bWJlclNjaGVtYSIsICJkZWZhdWx0RGVzY3JpcHRvciIsICJkZWZhdWx0VW5rbm93bkhhbmRsZXIiLCAiZGVmYXVsdEludmFsaWRIYW5kbGVyIiwgImRlZmF1bHREZXByZWNhdGVkSGFuZGxlciIsICJlcnJvcnNfZXhwb3J0cyIsICJBcmdFeHBhbnNpb25CYWlsb3V0IiwgIlVSTF9TVFJJTkdfUFJFRklYIiwgImlzVXJsSW5zdGFuY2UiLCAiaXNfZGlyZWN0b3J5X2RlZmF1bHQiLCAiaXRlcmF0ZV9kaXJlY3RvcnlfdXBfZGVmYXVsdCIsICJfbmFtZXMiLCAiX2ZpbHRlciIsICJfc3RvcERpcmVjdG9yeSIsICJfY2FjaGUiLCAiX1NlYXJjaGVyX2luc3RhbmNlcyIsICJzZWFyY2hJbkRpcmVjdG9yeV9mbiIsICJTZWFyY2hlciIsICJNQVJLRVJTIiwgImltcG9ydF9jaV9pbmZvIiwgIm1vY2thYmxlIiwgImlzTm90aGluZ18xIiwgImlzT2JqZWN0XzEiLCAidG9BcnJheV8xIiwgInJlcGVhdF8xIiwgImlzTmVnYXRpdmVaZXJvXzEiLCAiZXh0ZW5kXzEiLCAidHlwZSIsICJzY2hlbWEiLCAic3RyIiwgInNlcSIsICJtYXAiLCAiZmFpbHNhZmUiLCAiX251bGwiLCAiYm9vbCIsICJpbnQiLCAiZmxvYXQiLCAianNvbiIsICJjb3JlIiwgInRpbWVzdGFtcCIsICJtZXJnZSIsICJiaW5hcnkiLCAib21hcCIsICJwYWlycyIsICJzZXQiLCAibG9hZEFsbF8xIiwgImxvYWRfMSIsICJsb2FkZXIiLCAiRVNDQVBFX1NFUVVFTkNFUyIsICJsb2FkQWxsIiwgInNhZmVMb2FkIiwgInNhZmVMb2FkQWxsIiwgInNhZmVEdW1wIiwgIlNwYWNlX1NlcGFyYXRvciIsICJJRF9TdGFydCIsICJJRF9Db250aW51ZSIsICJ1bmljb2RlIiwgInBhcnNlMiIsICJwYXJzZVN0YXRlcyIsICJkaXN0X2RlZmF1bHQiLCAiaW1wb3J0X2NvZGVfZnJhbWUiLCAiZ2V0Q29kZVBvaW50IiwgIl9tZXNzYWdlIiwgIl9KU09ORXJyb3IiLCAiREFURV9USU1FX1JFIiwgIl9oYXNEYXRlIiwgIl9oYXNUaW1lIiwgIl9vZmZzZXQiLCAiX1RvbWxEYXRlIiwgImxvYWRlcnMiLCAiY2xhc3NSZWdFeHAiLCAia1R5cGVzIiwgInVzZXJTdGFja1RyYWNlTGltaXQiLCAic3RyaW5nUmVwbGFjZUFsbDIiLCAiaW1wb3J0X2lnbm9yZSIsICJnZXRfZmlsZV9pbmZvX2RlZmF1bHQiLCAiSW52YWxpZERvY0Vycm9yIiwgIm5vb3AiLCAiYXQiLCAiX0FzdFBhdGhfaW5zdGFuY2VzIiwgImdldE5vZGVTdGFja0luZGV4X2ZuIiwgImdldEFuY2VzdG9yc19mbiIsICJBc3RQYXRoIiwgInNraXBXaGl0ZXNwYWNlIiwgImFycmF5RmluZExhc3QiLCAiYXJyYXlGaW5kTGFzdEluZGV4IiwgIm9wdGlvbl9jYXRlZ29yaWVzX2V4cG9ydHMiLCAiQ0FURUdPUllfQ09ORklHIiwgIkNBVEVHT1JZX0VESVRPUiIsICJDQVRFR09SWV9GT1JNQVQiLCAiQ0FURUdPUllfT1RIRVIiLCAiQ0FURUdPUllfT1VUUFVUIiwgIkNBVEVHT1JZX0dMT0JBTCIsICJDQVRFR09SWV9TUEVDSUFMIiwgImxhbmd1YWdlc19ldmFsdWF0ZV9kZWZhdWx0IiwgImNvbW1vbl9vcHRpb25zX2V2YWx1YXRlX2RlZmF1bHQiLCAib3B0aW9ucyIsICJvcHRpb25zX2RlZmF1bHQiLCAibGFuZ3VhZ2VzX2V2YWx1YXRlX2RlZmF1bHQyIiwgIm9wdGlvbnMyIiwgIm9wdGlvbnNfZGVmYXVsdDIiLCAibGFuZ3VhZ2VzX2V2YWx1YXRlX2RlZmF1bHQzIiwgImxhbmd1YWdlc19ldmFsdWF0ZV9kZWZhdWx0NCIsICJDQVRFR09SWV9IVE1MIiwgIm9wdGlvbnMzIiwgIm9wdGlvbnNfZGVmYXVsdDMiLCAibGFuZ3VhZ2VzX2V2YWx1YXRlX2RlZmF1bHQ1IiwgIkNBVEVHT1JZX0pBVkFTQ1JJUFQiLCAib3B0aW9uczQiLCAib3B0aW9uc19kZWZhdWx0NCIsICJsYW5ndWFnZXNfZXZhbHVhdGVfZGVmYXVsdDYiLCAibGFuZ3VhZ2VzX2V2YWx1YXRlX2RlZmF1bHQ3IiwgIm9wdGlvbnM1IiwgIm9wdGlvbnNfZGVmYXVsdDUiLCAibGFuZ3VhZ2VzX2V2YWx1YXRlX2RlZmF1bHQ4IiwgIm9wdGlvbnM2IiwgIm9wdGlvbnNfZGVmYXVsdDYiLCAib3B0aW9uczciLCAibGFuZ3VhZ2VzIiwgInBhcnNlcnMiLCAicHJpbnRlcnMiLCAib2JqZWN0X29taXRfZGVmYXVsdCIsICJnZXRfaW5kZW50X3NpemVfZGVmYXVsdCIsICJnZXRfbWF4X2NvbnRpbnVvdXNfY291bnRfZGVmYXVsdCIsICJnZXRfbmV4dF9ub25fc3BhY2Vfbm9uX2NvbW1lbnRfY2hhcmFjdGVyX2RlZmF1bHQiLCAiZ2V0X3ByZWZlcnJlZF9xdW90ZV9kZWZhdWx0IiwgImhhc19uZXdsaW5lX2luX3JhbmdlX2RlZmF1bHQiLCAiaGFzX3NwYWNlc19kZWZhdWx0IiwgIm1ha2Vfc3RyaW5nX2RlZmF1bHQiLCAiaW5pdF9wcmV0dGllciIsICJfX2VzbU1pbiIsICJpbml0X2RvYyIsICJtc2ciLCAibW9kIiwgImFsbCIsICJleGNlcHQiLCAiaXNOb2RlTW9kZSIsICJtZW1iZXIiLCAiZ2V0dGVyIiwgInNldHRlciIsICJtZXRob2QiLCAiZmxhdHRlbiIsICJpdGVtcyIsICJjb2xsZWN0aW9uIiwgIml0ZW0iLCAic3BsaXRXaGVuIiwgImdyb3VwSW5kZXgiLCAiaXNFbm9lbnRDb2RlRXJyb3IiLCAiRGlyZW50RnJvbVN0YXRzIiwgImNyZWF0ZURpcmVudEZyb21TdGF0cyIsICJvczIiLCAiSVNfV0lORE9XU19QTEFURk9STSIsICJMRUFESU5HX0RPVF9TRUdNRU5UX0NIQVJBQ1RFUlNfQ09VTlQiLCAiUE9TSVhfVU5FU0NBUEVEX0dMT0JfU1lNQk9MU19SRSIsICJXSU5ET1dTX1VORVNDQVBFRF9HTE9CX1NZTUJPTFNfUkUiLCAiRE9TX0RFVklDRV9QQVRIX1JFIiwgIldJTkRPV1NfQkFDS1NMQVNIRVNfUkUiLCAidW5peGlmeSIsICJtYWtlQWJzb2x1dGUiLCAicmVtb3ZlTGVhZGluZ0RvdFNlZ21lbnQiLCAic2Vjb25kQ2hhcmFjdGVyeSIsICJlc2NhcGVXaW5kb3dzUGF0aCIsICJlc2NhcGVQb3NpeFBhdGgiLCAiY29udmVydFdpbmRvd3NQYXRoVG9QYXR0ZXJuIiwgImNvbnZlcnRQb3NpeFBhdGhUb1BhdHRlcm4iLCAiaXNFeHRnbG9iIiwgImNoYXJzIiwgInN0cmljdENoZWNrIiwgInBpcGVJbmRleCIsICJjbG9zZVNxdWFyZUluZGV4IiwgImNsb3NlQ3VybHlJbmRleCIsICJjbG9zZVBhcmVuSW5kZXgiLCAiYmFja1NsYXNoSW5kZXgiLCAib3BlbiIsICJjbG9zZSIsICJyZWxheGVkQ2hlY2siLCAiY2hlY2syIiwgImlzR2xvYiIsICJwYXRoUG9zaXhEaXJuYW1lIiwgImlzV2luMzIiLCAic2xhc2gyIiwgImJhY2tzbGFzaCIsICJlbmNsb3N1cmUiLCAiZ2xvYmJ5IiwgIm51bSIsICJzdGVwIiwgImJsb2NrIiwgIm5vZGVzIiwgImFjYyIsICJmbGF0IiwgImVsZSIsICJzdHJpbmdpZnkyIiwgImludmFsaWRCbG9jayIsICJpbnZhbGlkTm9kZSIsICJvdXRwdXQiLCAiaXNOdW1iZXIiLCAidG9SZWdleFJhbmdlIiwgInJlbGF4IiwgInNob3J0aGFuZCIsICJjYXB0dXJlIiwgIndyYXAiLCAiaXNQYWRkZWQiLCAiaGFzUGFkZGluZyIsICJwb3NpdGl2ZXMiLCAibmVnYXRpdmVzIiwgIm5ld01pbiIsICJzcGxpdFRvUGF0dGVybnMiLCAiY29sbGF0ZVBhdHRlcm5zIiwgIm5lZyIsICJvbmx5TmVnYXRpdmUiLCAiZmlsdGVyUGF0dGVybnMiLCAib25seVBvc2l0aXZlIiwgImludGVyc2VjdGVkIiwgInNwbGl0VG9SYW5nZXMiLCAibmluZXMiLCAiemVyb3MiLCAic3RvcCIsICJjb3VudE5pbmVzIiwgInN0b3BzIiwgImNvdW50WmVyb3MiLCAiY29tcGFyZSIsICJyYW5nZVRvUGF0dGVybiIsICJ6aXBwZWQiLCAiemlwIiwgImRpZ2l0cyIsICJzdGFydERpZ2l0IiwgInN0b3BEaWdpdCIsICJ0b0NoYXJhY3RlckNsYXNzIiwgInRvayIsICJyYW5nZXMiLCAidG9rZW5zIiwgIm1heDIiLCAidG9RdWFudGlmaWVyIiwgInBhZFplcm9zIiwgImNvbXBhcmlzb24iLCAiaW50ZXJzZWN0aW9uIiwgImNvbnRhaW5zIiwgInZhbCIsICJ1dGlsMiIsICJpc09iamVjdDMiLCAidHJhbnNmb3JtIiwgInRvTnVtYmVyIiwgImlzVmFsaWRWYWx1ZSIsICJwYWQiLCAibWF4TGVuZ3RoIiwgImRhc2giLCAidG9NYXhMZW4iLCAibmVnYXRpdmUiLCAidG9TZXF1ZW5jZSIsICJtYXhMZW4iLCAidG9SYW5nZSIsICJpc051bWJlcnMiLCAidG9SZWdleCIsICJyYW5nZUVycm9yIiwgImludmFsaWRSYW5nZSIsICJpbnZhbGlkU3RlcCIsICJmaWxsTnVtYmVycyIsICJkZXNjZW5kaW5nIiwgInN0YXJ0U3RyaW5nIiwgImVuZFN0cmluZyIsICJzdGVwU3RyaW5nIiwgInBhZGRlZCIsICJwdXNoMiIsICJyYW5nZSIsICJmaWxsTGV0dGVycyIsICJmaWxsIiwgImNvbXBpbGUiLCAid2FsayIsICJpbnZhbGlkIiwgImFwcGVuZCIsICJzdGFzaCIsICJlbmNsb3NlIiwgImV4cGFuZCIsICJyYW5nZUxpbWl0IiwgInEiLCAiTUFYX0xFTkdUSCIsICJDSEFSX0JBQ0tTTEFTSCIsICJDSEFSX0JBQ0tUSUNLIiwgIkNIQVJfQ09NTUEiLCAiQ0hBUl9ET1QiLCAiQ0hBUl9MRUZUX1BBUkVOVEhFU0VTIiwgIkNIQVJfUklHSFRfUEFSRU5USEVTRVMiLCAiQ0hBUl9MRUZUX0NVUkxZX0JSQUNFIiwgIkNIQVJfUklHSFRfQ1VSTFlfQlJBQ0UiLCAiQ0hBUl9MRUZUX1NRVUFSRV9CUkFDS0VUIiwgIkNIQVJfUklHSFRfU1FVQVJFX0JSQUNLRVQiLCAiQ0hBUl9ET1VCTEVfUVVPVEUiLCAiQ0hBUl9TSU5HTEVfUVVPVEUiLCAiQ0hBUl9OT19CUkVBS19TUEFDRSIsICJDSEFSX1pFUk9fV0lEVEhfTk9CUkVBS19TUEFDRSIsICJwYXJzZTciLCAiYnJhY2tldHMiLCAiYWR2YW5jZSIsICJicmFjZSIsICJzaWJsaW5ncyIsICJiZWZvcmUiLCAiYnJhY2VzIiwgIldJTl9TTEFTSCIsICJXSU5fTk9fU0xBU0giLCAiRE9UX0xJVEVSQUwiLCAiUExVU19MSVRFUkFMIiwgIlFNQVJLX0xJVEVSQUwiLCAiU0xBU0hfTElURVJBTCIsICJPTkVfQ0hBUiIsICJRTUFSSyIsICJFTkRfQU5DSE9SIiwgIlNUQVJUX0FOQ0hPUiIsICJET1RTX1NMQVNIIiwgIk5PX0RPVCIsICJOT19ET1RTIiwgIk5PX0RPVF9TTEFTSCIsICJOT19ET1RTX1NMQVNIIiwgIlFNQVJLX05PX0RPVCIsICJTVEFSIiwgIlBPU0lYX0NIQVJTIiwgIldJTkRPV1NfQ0hBUlMiLCAiUE9TSVhfUkVHRVhfU09VUkNFIiwgIndpbjMyIiwgIlJFR0VYX0JBQ0tTTEFTSCIsICJSRUdFWF9SRU1PVkVfQkFDS1NMQVNIIiwgIlJFR0VYX1NQRUNJQUxfQ0hBUlMiLCAiUkVHRVhfU1BFQ0lBTF9DSEFSU19HTE9CQUwiLCAic2VncyIsICJsYXN0SWR4IiwgInByZXBlbmQiLCAiQ0hBUl9BU1RFUklTSyIsICJDSEFSX0FUIiwgIkNIQVJfQkFDS1dBUkRfU0xBU0giLCAiQ0hBUl9FWENMQU1BVElPTl9NQVJLIiwgIkNIQVJfRk9SV0FSRF9TTEFTSCIsICJDSEFSX1BMVVMiLCAiQ0hBUl9RVUVTVElPTl9NQVJLIiwgImlzUGF0aFNlcGFyYXRvciIsICJzY2FuIiwgInNjYW5Ub0VuZCIsICJzbGFzaGVzIiwgImxhc3RJbmRleCIsICJpc0JyYWNlIiwgImlzQnJhY2tldCIsICJpc0dsb2JzdGFyIiwgImJyYWNlRXNjYXBlZCIsICJiYWNrc2xhc2hlcyIsICJuZWdhdGVkIiwgIm5lZ2F0ZWRFeHRnbG9iIiwgImZpbmlzaGVkIiwgInBlZWsyIiwgImdsb2IiLCAicHJldkluZGV4IiwgImNvbnN0YW50cyIsICJSRUdFWF9OT05fU1BFQ0lBTF9DSEFSUyIsICJSRUdFWF9TUEVDSUFMX0NIQVJTX0JBQ0tSRUYiLCAiUkVQTEFDRU1FTlRTIiwgImV4cGFuZFJhbmdlIiwgInN5bnRheEVycm9yMiIsICJib3MiLCAiUExBVEZPUk1fQ0hBUlMiLCAiRVhUR0xPQl9DSEFSUyIsICJnbG9ic3RhciIsICJvcHRzMiIsICJub2RvdCIsICJxbWFya05vRG90IiwgInN0YXIiLCAiZXh0Z2xvYnMiLCAicmVtYWluaW5nIiwgImNvbnN1bWUiLCAibmVnYXRlIiwgImluY3JlbWVudCIsICJkZWNyZW1lbnQiLCAiZXh0Z2xvYk9wZW4iLCAiZXh0Z2xvYkNsb3NlIiwgInJlc3QiLCAiZXh0Z2xvYlN0YXIiLCAiZXhwcmVzc2lvbiIsICJlc2MiLCAiaW5uZXIiLCAicHJlIiwgInJlc3QyIiwgInBvc2l4IiwgImV4dGdsb2IiLCAicHJldlZhbHVlIiwgInRva3MiLCAicHJpb3IiLCAiaXNTdGFydCIsICJhZnRlclN0YXIiLCAiYWZ0ZXIiLCAic2xhc2hEb3QiLCAiY3JlYXRlIiwgInNvdXJjZTMiLCAicGljb21hdGNoIiwgInJldHVyblN0YXRlIiwgImZucyIsICJpc01hdGNoIiwgInN0YXRlMiIsICJpc1N0YXRlIiwgImlnbm9yZU9wdHMiLCAibWF0Y2hlciIsICJyZXR1cm5PYmplY3QiLCAicmV0dXJuT3V0cHV0IiwgImlzRW1wdHlTdHJpbmciLCAiaGFzQnJhY2VzIiwgIm1pY3JvbWF0Y2gyIiwgIm9taXQyIiwgImtlZXAiLCAib25SZXN1bHQiLCAibWF0Y2hlZCIsICJnbG9iUGFyZW50IiwgIkdMT0JTVEFSIiwgIkVTQ0FQRV9TWU1CT0wiLCAiQ09NTU9OX0dMT0JfU1lNQk9MU19SRSIsICJSRUdFWF9DSEFSQUNURVJfQ0xBU1NfU1lNQk9MU19SRSIsICJSRUdFWF9HUk9VUF9TWU1CT0xTX1JFIiwgIkdMT0JfRVhURU5TSU9OX1NZTUJPTFNfUkUiLCAiQlJBQ0VfRVhQQU5TSU9OX1NFUEFSQVRPUlNfUkUiLCAiRE9VQkxFX1NMQVNIX1JFIiwgImlzU3RhdGljUGF0dGVybiIsICJpc0R5bmFtaWNQYXR0ZXJuIiwgImhhc0JyYWNlRXhwYW5zaW9uIiwgIm9wZW5pbmdCcmFjZUluZGV4IiwgImNsb3NpbmdCcmFjZUluZGV4IiwgImJyYWNlQ29udGVudCIsICJjb252ZXJ0VG9Qb3NpdGl2ZVBhdHRlcm4iLCAiaXNOZWdhdGl2ZVBhdHRlcm4iLCAiY29udmVydFRvTmVnYXRpdmVQYXR0ZXJuIiwgImlzUG9zaXRpdmVQYXR0ZXJuIiwgImdldE5lZ2F0aXZlUGF0dGVybnMiLCAiZ2V0UG9zaXRpdmVQYXR0ZXJucyIsICJnZXRQYXR0ZXJuc0luc2lkZUN1cnJlbnREaXJlY3RvcnkiLCAiaXNQYXR0ZXJuUmVsYXRlZFRvUGFyZW50RGlyZWN0b3J5IiwgImdldFBhdHRlcm5zT3V0c2lkZUN1cnJlbnREaXJlY3RvcnkiLCAiZ2V0QmFzZURpcmVjdG9yeSIsICJoYXNHbG9iU3RhciIsICJlbmRzV2l0aFNsYXNoR2xvYlN0YXIiLCAiaXNBZmZlY3REZXB0aE9mUmVhZGluZ1BhdHRlcm4iLCAiZXhwYW5kUGF0dGVybnNXaXRoQnJhY2VFeHBhbnNpb24iLCAiZXhwYW5kQnJhY2VFeHBhbnNpb24iLCAicGF0dGVybjIiLCAiZ2V0UGF0dGVyblBhcnRzIiwgIm1ha2VSZSIsICJjb252ZXJ0UGF0dGVybnNUb1JlIiwgIm1hdGNoQW55IiwgInBhdHRlcm5zUmUiLCAicGF0dGVyblJlIiwgInJlbW92ZUR1cGxpY2F0ZVNsYXNoZXMiLCAiU3RyZWFtIiwgIlBhc3NUaHJvdWdoIiwgIm1lcmdlMiIsICJzdHJlYW1zUXVldWUiLCAibWVyZ2luZyIsICJkb0VuZCIsICJkb1BpcGVFcnJvciIsICJtZXJnZWRTdHJlYW0iLCAiYWRkU3RyZWFtIiwgInBhdXNlU3RyZWFtcyIsICJtZXJnZVN0cmVhbSIsICJzdHJlYW1zIiwgImVuZFN0cmVhbSIsICJwaXBlc0NvdW50IiwgInBpcGUiLCAib25lbmQiLCAib25lcnJvciIsICJtZXJnZTMiLCAicHJvcGFnYXRlQ2xvc2VFdmVudFRvU291cmNlcyIsICJpc1N0cmluZyIsICJpc0VtcHR5IiwgImVycm5vIiwgImZzNyIsICJnZW5lcmF0ZSIsICJwcm9jZXNzUGF0dGVybnMiLCAicG9zaXRpdmVQYXR0ZXJucyIsICJuZWdhdGl2ZVBhdHRlcm5zIiwgImdldE5lZ2F0aXZlUGF0dGVybnNBc1Bvc2l0aXZlIiwgInN0YXRpY1BhdHRlcm5zIiwgImR5bmFtaWNQYXR0ZXJucyIsICJzdGF0aWNUYXNrcyIsICJjb252ZXJ0UGF0dGVybnNUb1Rhc2tzIiwgImR5bmFtaWNUYXNrcyIsICJwb3NpdGl2ZSIsICJkeW5hbWljIiwgInRhc2tzIiwgInBhdHRlcm5zT3V0c2lkZUN1cnJlbnREaXJlY3RvcnkiLCAicGF0dGVybnNJbnNpZGVDdXJyZW50RGlyZWN0b3J5IiwgIm91dHNpZGVDdXJyZW50RGlyZWN0b3J5R3JvdXAiLCAiZ3JvdXBQYXR0ZXJuc0J5QmFzZURpcmVjdG9yeSIsICJpbnNpZGVDdXJyZW50RGlyZWN0b3J5R3JvdXAiLCAiY29udmVydFBhdHRlcm5Hcm91cHNUb1Rhc2tzIiwgImNvbnZlcnRQYXR0ZXJuR3JvdXBUb1Rhc2siLCAicmVhZDMiLCAibHN0YXRFcnJvciIsICJsc3RhdCIsICJjYWxsRmFpbHVyZUNhbGxiYWNrIiwgImNhbGxTdWNjZXNzQ2FsbGJhY2siLCAic3RhdEVycm9yIiwgImNyZWF0ZUZpbGVTeXN0ZW1BZGFwdGVyIiwgImZzTWV0aG9kcyIsICJTZXR0aW5ncyIsICJhc3luYyIsICJzeW5jIiwgInNldHRpbmdzXzEiLCAib3B0aW9uc09yU2V0dGluZ3NPckNhbGxiYWNrIiwgImdldFNldHRpbmdzIiwgInN0YXRTeW5jMiIsICJvcHRpb25zT3JTZXR0aW5ncyIsICJzZXR0aW5nc09yT3B0aW9ucyIsICJwcm9taXNlIiwgInJ1blBhcmFsbGVsIiwgInF1ZXVlTWljcm90YXNrMiIsICJwZW5kaW5nIiwgImlzU3luYyIsICJkb25lIiwgImVhY2giLCAidGFzayIsICJOT0RFX1BST0NFU1NfVkVSU0lPTl9QQVJUUyIsICJNQUpPUl9WRVJTSU9OIiwgIk1JTk9SX1ZFUlNJT04iLCAiU1VQUE9SVEVEX01BSk9SX1ZFUlNJT04iLCAiU1VQUE9SVEVEX01JTk9SX1ZFUlNJT04iLCAiSVNfTUFUQ0hFRF9CWV9NQUpPUiIsICJJU19NQVRDSEVEX0JZX01BSk9SX0FORF9NSU5PUiIsICJqb2luUGF0aFNlZ21lbnRzIiwgInNlcGFyYXRvciIsICJmc1N0YXQiLCAicnBsIiwgImNvbnN0YW50c18xIiwgImNvbW1vbjIiLCAicmVhZGRpcldpdGhGaWxlVHlwZXMiLCAicmVhZGRpciIsICJyZWFkZGlyRXJyb3IiLCAiZGlyZW50cyIsICJlbnRyaWVzIiwgImRpcmVudCIsICJtYWtlUnBsVGFza0VudHJ5IiwgInJwbEVycm9yIiwgInJwbEVudHJpZXMiLCAibmFtZXMiLCAiZW50cnlQYXRoIiwgInNjYW5kaXIiLCAic2NhbmRpclN5bmMiLCAicmV1c2lmeSIsICJDb25zdHJ1Y3RvciIsICJnZXQiLCAicmVsZWFzZSIsICJmYXN0cXVldWUiLCAid29ya2VyIiwgIl9jb25jdXJyZW5jeSIsICJUYXNrIiwgInF1ZXVlSGVhZCIsICJxdWV1ZVRhaWwiLCAiX3J1bm5pbmciLCAiZXJyb3JIYW5kbGVyIiwgIm5vb3AyIiwgInBhdXNlIiwgInJ1bm5pbmciLCAicmVzdW1lIiwgImlkbGUiLCAiZ2V0UXVldWUiLCAidW5zaGlmdCIsICJraWxsIiwgImtpbGxBbmREcmFpbiIsICJxdWV1ZUFzUHJvbWlzZWQiLCAiYXN5bmNXcmFwcGVyIiwgImFyZyIsICJwdXNoQ2IiLCAidW5zaGlmdENiIiwgImRyYWluZWQiLCAicmVzb2x2ZTMiLCAicmVqZWN0IiwgInByZXZpb3VzRHJhaW4iLCAiaXNGYXRhbEVycm9yIiwgImlzQXBwbGllZEZpbHRlciIsICJyZXBsYWNlUGF0aFNlZ21lbnRTZXBhcmF0b3IiLCAiUmVhZGVyIiwgIl9yb290IiwgIl9zZXR0aW5ncyIsICJldmVudHNfMSIsICJmc1NjYW5kaXIiLCAiZmFzdHEiLCAicmVhZGVyXzEiLCAiQXN5bmNSZWFkZXIiLCAicXVldWVJdGVtIiwgImZ1bGxwYXRoIiwgImFzeW5jXzEiLCAiQXN5bmNQcm92aWRlciIsICJzdHJlYW1fMSIsICJTdHJlYW1Qcm92aWRlciIsICJTeW5jUmVhZGVyIiwgInN5bmNfMSIsICJTeW5jUHJvdmlkZXIiLCAid2Fsa1N5bmMiLCAid2Fsa1N0cmVhbSIsICJmc1dhbGsiLCAiUmVhZGVyU3RyZWFtIiwgImZpbGVwYXRocyIsICJfZW5jIiwgIlJlYWRlckFzeW5jIiwgIk1hdGNoZXIiLCAiX3BhdHRlcm5zIiwgIl9taWNyb21hdGNoT3B0aW9ucyIsICJzZWdtZW50cyIsICJzZWN0aW9ucyIsICJzZWdtZW50IiwgIm1hdGNoZXJfMSIsICJQYXJ0aWFsTWF0Y2hlciIsICJsZXZlbHMiLCAiaW5mbyIsICJzZWN0aW9uIiwgInBhcnRpYWxfMSIsICJEZWVwRmlsdGVyIiwgIm5lZ2F0aXZlUmUiLCAiYWZmZWN0RGVwdGhPZlJlYWRpbmdQYXR0ZXJucyIsICJlbnRyeVBhdGhEZXB0aCIsICJiYXNlUGF0aERlcHRoIiwgIkVudHJ5RmlsdGVyIiwgInBvc2l0aXZlUmUiLCAiaXNEaXJlY3RvcnkyIiwgImlzTWF0Y2hlZCIsICJFcnJvckZpbHRlciIsICJFbnRyeVRyYW5zZm9ybWVyIiwgImRlZXBfMSIsICJlbnRyeV8xIiwgImVycm9yXzEiLCAiZW50cnlfMiIsICJQcm92aWRlciIsICJwcm92aWRlcl8xIiwgIlByb3ZpZGVyQXN5bmMiLCAic3RyZWFtXzIiLCAiUHJvdmlkZXJTdHJlYW0iLCAiUmVhZGVyU3luYyIsICJQcm92aWRlclN5bmMiLCAiQ1BVX0NPVU5UIiwgIm1ldGhvZHMiLCAidGFza01hbmFnZXIiLCAiRmFzdEdsb2IiLCAiYXNzZXJ0UGF0dGVybnNJbnB1dCIsICJ3b3JrcyIsICJnZXRXb3JrcyIsICJGYXN0R2xvYjIiLCAiZ2VuZXJhdGVUYXNrcyIsICJlc2NhcGVQYXRoIiwgImNvbnZlcnRQYXRoVG9QYXR0ZXJuIiwgInBvc2l4MiIsICJlc2NhcGVQYXRoMiIsICJjb252ZXJ0UGF0aFRvUGF0dGVybjIiLCAid2luMzIyIiwgIl9Qcm92aWRlciIsICJwcm92aWRlciIsICJkZWJ1ZyIsICJTRU1WRVJfU1BFQ19WRVJTSU9OIiwgIk1BWF9TQUZFX0lOVEVHRVIiLCAiTUFYX1NBRkVfQ09NUE9ORU5UX0xFTkdUSCIsICJNQVhfU0FGRV9CVUlMRF9MRU5HVEgiLCAiUkVMRUFTRV9UWVBFUyIsICJzYWZlUmUiLCAic3JjIiwgIlIiLCAiTEVUVEVSREFTSE5VTUJFUiIsICJzYWZlUmVnZXhSZXBsYWNlbWVudHMiLCAibWFrZVNhZmVSZWdleCIsICJjcmVhdGVUb2tlbiIsICJpc0dsb2JhbCIsICJzYWZlIiwgImxvb3NlT3B0aW9uIiwgImVtcHR5T3B0cyIsICJwYXJzZU9wdGlvbnMiLCAiY29tcGFyZUlkZW50aWZpZXJzIiwgImFudW0iLCAiYm51bSIsICJyY29tcGFyZUlkZW50aWZpZXJzIiwgIlNlbVZlciIsICJfU2VtVmVyIiwgIm90aGVyIiwgImlkZW50aWZpZXIiLCAiaWRlbnRpZmllckJhc2UiLCAicHJlcmVsZWFzZSIsICJsb29zZSIsICJndGUiLCAiaGFzT3duUHJvcGVydHkzIiwgIlBzZXVkb01hcCIsICJzZXQzIiwgImt2IiwgInRoaXNwIiwgImZpbmQiLCAic2V0MiIsICJzYW1lIiwgIkVudHJ5IiwgIllhbGxpc3QiLCAiTm9kZSIsICJ3YWxrZXIiLCAiaW5pdGlhbCIsICJMUlVDYWNoZSIsICJNYXAyIiwgImhhc1N5bWJvbCIsICJtYWtlU3ltYm9sIiwgIk1BWCIsICJMRU5HVEgiLCAiTEVOR1RIX0NBTENVTEFUT1IiLCAiQUxMT1dfU1RBTEUiLCAiTUFYX0FHRSIsICJESVNQT1NFIiwgIk5PX0RJU1BPU0VfT05fU0VUIiwgIkxSVV9MSVNUIiwgIkNBQ0hFIiwgIm5haXZlTGVuZ3RoIiwgIm1MIiwgInRyaW0yIiwgImFsbG93U3RhbGUiLCAibUEiLCAibEMiLCAiaGl0IiwgImZvckVhY2hTdGVwIiwgImlzU3RhbGUiLCAiZGVsIiwgImgiLCAiZXh0cmFzIiwgImFzIiwgIm1heEFnZSIsICJkaWRGaXJzdCIsICJub3ciLCAiZXhwaXJlc0F0IiwgImRvVXNlIiwgInN0YWxlIiwgInNpZ211bmQiLCAibWF4U2Vzc2lvbnMiLCAibm90ZXMiLCAiYW5hbHlzaXMiLCAiUkUiLCAicHN5Y2hvQW5hbHl6ZSIsICJzdWJqZWN0MiIsICJzZXNzaW9uIiwgImlzc3VlIiwgIl9fIiwgInBsYXRmb3JtIiwgIm1pbmltYXRjaCIsICJNaW5pbWF0Y2giLCAiTFJVIiwgInFtYXJrIiwgInR3b1N0YXJEb3QiLCAidHdvU3Rhck5vRG90IiwgInJlU3BlY2lhbHMiLCAiY2hhclNldCIsICJzbGFzaFNwbGl0IiwgIm1vbmtleVBhdGNoIiwgIm9yaWciLCAiZXh0IiwgImRlZiIsICJjYWNoZWQiLCAibWFrZSIsICJzaSIsICJwYXJzZU5lZ2F0ZSIsICJuZWdhdGVPZmZzZXQiLCAiYnJhY2VFeHBhbmQiLCAiZXNjYXBpbmciLCAibnVtc2V0IiwgInN1ZiIsICJpbmMiLCAiaWkiLCAibGwiLCAic2F3RW5kIiwgImFkZE1lbWJlciIsICJGT1IiLCAiYWRkQnJhY2VzIiwgImwyIiwgIlNVQlBBUlNFIiwgImlzU3ViIiwgImhhc01hZ2ljIiwgInBhdHRlcm5MaXN0U3RhY2siLCAicGxUeXBlIiwgInN0YXRlQ2hhciIsICJpbkNsYXNzIiwgInJlQ2xhc3NTdGFydCIsICJjbGFzc1N0YXJ0IiwgInBhdHRlcm5TdGFydCIsICJjbGVhclN0YXRlQ2hhciIsICJjcyIsICJzcCIsICJwbCIsICIkMSIsICIkMiIsICJhZGRQYXR0ZXJuU3RhcnQiLCAiZ2xvYlVuZXNjYXBlIiwgImZsYWdzIiwgInJlZ0V4cCIsICJ0d29TdGFyIiwgInJlZ0V4cEVzY2FwZSIsICJtbSIsICJmIiwgInBhcnRpYWwiLCAiZmkiLCAicGkiLCAiZmwiLCAiZnIiLCAicHIiLCAiV0hJTEUiLCAic3dhbGxvd2VlIiwgImVtcHR5RmlsZUVuZCIsICJfX2F3YWl0ZXIiLCAidGhpc0FyZyIsICJfYXJndW1lbnRzIiwgIlAiLCAiZ2VuZXJhdG9yIiwgImZ1bGZpbGxlZCIsICJyZWplY3RlZCIsICJyZXNvbHZlNCIsICJfX2dlbmVyYXRvciIsICJib2R5IiwgInkiLCAiZyIsICJ2ZXJiIiwgIm9wIiwgIl9faW1wb3J0U3RhciIsICJwYXJzZVN0cmluZzIiLCAicGFyc2VTeW5jIiwgInNlY3Rpb25Cb2R5IiwgInNlY3Rpb25OYW1lIiwgIl9faW1wb3J0RGVmYXVsdCIsICJzZW12ZXIiLCAiZm5tYXRjaF8xIiwgImluaV8xIiwgInBhY2thZ2VfanNvbl8xIiwgImtub3duUHJvcHMiLCAiZm5tYXRjaCIsICJtYXRjaE9wdGlvbnMiLCAiZ2V0Q29uZmlnRmlsZU5hbWVzIiwgInBhdGhzIiwgInByb2Nlc3NNYXRjaGVzIiwgInByb2Nlc3NPcHRpb25zIiwgImJ1aWxkRnVsbEdsb2IiLCAicGF0aFByZWZpeCIsICJleHRlbmRQcm9wcyIsICJwcm9wcyIsICJrZXkyMiIsICJwYXJzZUZyb21Db25maWdzIiwgImNvbmZpZ3MiLCAib3B0aW9uczIyIiwgImZ1bGxHbG9iIiwgImdldENvbmZpZ3NGb3JGaWxlcyIsICJmaWxlcyIsICJyZWFkQ29uZmlnRmlsZXMiLCAicmVhZENvbmZpZ0ZpbGVzU3luYyIsICJyZXNvbHZlZEZpbGVQYXRoIiwgInBhcnNlRnJvbUZpbGVzIiwgInByb2Nlc3NlZE9wdGlvbnMiLCAicGFyc2VGcm9tRmlsZXNTeW5jIiwgIl9maWxlcGF0aCIsICJ2ZW5kb3JzIiwgImVudjIiLCAidmVuZG9yIiwgImlzQ0kyIiwgImNoZWNrRW52IiwgImNoZWNrUFIiLCAiaXNDb2xvclN1cHBvcnRlZCIsICJmb3JtYXR0ZXIiLCAicmVwbGFjZSIsICJyZXBsYWNlQ2xvc2UiLCAiY3JlYXRlQ29sb3JzIiwgImVuYWJsZWQiLCAiaXNJZGVudGlmaWVyQ2hhciIsICJpc0lkZW50aWZpZXJOYW1lIiwgImlzSWRlbnRpZmllclN0YXJ0IiwgIm5vbkFTQ0lJaWRlbnRpZmllclN0YXJ0Q2hhcnMiLCAibm9uQVNDSUlpZGVudGlmaWVyQ2hhcnMiLCAibm9uQVNDSUlpZGVudGlmaWVyU3RhcnQiLCAibm9uQVNDSUlpZGVudGlmaWVyIiwgImFzdHJhbElkZW50aWZpZXJTdGFydENvZGVzIiwgImFzdHJhbElkZW50aWZpZXJDb2RlcyIsICJpc0luQXN0cmFsU2V0IiwgImlzRmlyc3QiLCAiY3AiLCAidHJhaWwiLCAiaXNLZXl3b3JkIiwgImlzUmVzZXJ2ZWRXb3JkIiwgImlzU3RyaWN0QmluZE9ubHlSZXNlcnZlZFdvcmQiLCAiaXNTdHJpY3RCaW5kUmVzZXJ2ZWRXb3JkIiwgImlzU3RyaWN0UmVzZXJ2ZWRXb3JkIiwgInJlc2VydmVkV29yZHMiLCAia2V5d29yZHMiLCAicmVzZXJ2ZWRXb3Jkc1N0cmljdFNldCIsICJyZXNlcnZlZFdvcmRzU3RyaWN0QmluZFNldCIsICJ3b3JkIiwgImluTW9kdWxlIiwgIl9pZGVudGlmaWVyIiwgIl9rZXl3b3JkIiwgInBpY29jb2xvcnMiLCAianNUb2tlbnMiLCAiaGVscGVyVmFsaWRhdG9ySWRlbnRpZmllciIsICJjb21wb3NlIiwgImJ1aWxkRGVmcyIsICJjb2xvcnMiLCAiZGVmc09uIiwgImRlZnNPZmYiLCAiZ2V0RGVmcyIsICJzb21ldGltZXNLZXl3b3JkcyIsICJORVdMSU5FJDEiLCAiQlJBQ0tFVCIsICJ0b2tlbml6ZTIiLCAiSlNYX1RBRyIsICJnZXRUb2tlblR5cGUiLCAiaGlnaGxpZ2h0IiwgImRlZnMiLCAiaGlnaGxpZ2h0ZWQiLCAiZGVwcmVjYXRpb25XYXJuaW5nU2hvd24iLCAiTkVXTElORSIsICJnZXRNYXJrZXJMaW5lcyIsICJzdGFydExvYyIsICJlbmRMb2MiLCAibGluZXNBYm92ZSIsICJsaW5lc0JlbG93IiwgInN0YXJ0Q29sdW1uIiwgImVuZExpbmUiLCAiZW5kQ29sdW1uIiwgImxpbmVEaWZmMiIsICJtYXJrZXJMaW5lcyIsICJsaW5lTnVtYmVyIiwgInNvdXJjZUxlbmd0aCIsICJjb2RlRnJhbWVDb2x1bW5zMyIsICJyYXdMaW5lcyIsICJzaG91bGRIaWdobGlnaHQiLCAiaGFzQ29sdW1ucyIsICJudW1iZXJNYXhXaWR0aCIsICJmcmFtZSIsICJndXR0ZXIiLCAiaGFzTWFya2VyIiwgImxhc3RNYXJrZXJMaW5lIiwgIm1hcmtlckxpbmUiLCAibWFya2VyU3BhY2luZyIsICJudW1iZXJPZk1hcmtlcnMiLCAiY29sTnVtYmVyIiwgImRlcHJlY2F0aW9uRXJyb3IiLCAibWFrZUFycmF5IiwgIkVNUFRZIiwgIlNQQUNFIiwgIkVTQ0FQRSIsICJSRUdFWF9URVNUX0JMQU5LX0xJTkUiLCAiUkVHRVhfSU5WQUxJRF9UUkFJTElOR19CQUNLU0xBU0giLCAiUkVHRVhfUkVQTEFDRV9MRUFESU5HX0VYQ0FQRURfRVhDTEFNQVRJT04iLCAiUkVHRVhfUkVQTEFDRV9MRUFESU5HX0VYQ0FQRURfSEFTSCIsICJSRUdFWF9TUExJVEFMTF9DUkxGIiwgIlJFR0VYX1RFU1RfSU5WQUxJRF9QQVRIIiwgIlNMQVNIIiwgIlRNUF9LRVlfSUdOT1JFIiwgIktFWV9JR05PUkUiLCAiZGVmaW5lIiwgIlJFR0VYX1JFR0VYUF9SQU5HRSIsICJSRVRVUk5fRkFMU0UiLCAic2FuaXRpemVSYW5nZSIsICJjbGVhblJhbmdlQmFja1NsYXNoIiwgIlJFUExBQ0VSUyIsICJwMSIsICJwMiIsICJ1bmVzY2FwZWQiLCAibGVhZEVzY2FwZSIsICJlbmRFc2NhcGUiLCAicmVnZXhDYWNoZSIsICJtYWtlUmVnZXgiLCAiaWdub3JlQ2FzZSIsICJjaGVja1BhdHRlcm4iLCAic3BsaXRQYXR0ZXJuIiwgIklnbm9yZVJ1bGUiLCAib3JpZ2luIiwgImNyZWF0ZVJ1bGUiLCAidGhyb3dFcnJvcjIiLCAiQ3RvciIsICJjaGVja1BhdGgiLCAib3JpZ2luYWxQYXRoIiwgImRvVGhyb3ciLCAiaXNOb3RSZWxhdGl2ZSIsICJJZ25vcmUiLCAiaWdub3JlY2FzZSIsICJhbGxvd1JlbGF0aXZlUGF0aHMiLCAicnVsZSIsICJjaGVja1VuaWdub3JlZCIsICJ1bmlnbm9yZWQiLCAic2xpY2VzIiwgImZhY3RvcnkiLCAiaXNQYXRoVmFsaWQiLCAibWFrZVBvc2l4IiwgIlJFR0lYX0lTX1dJTkRPV1NfUEFUSF9BQlNPTFVURSIsICJMaW5lQnlMaW5lIiwgImhleE5lZWRsZSIsICJmb3VuZCIsICJidWZmZXJQb3NpdGlvbiIsICJsYXN0TmV3TGluZUJ1ZmZlclBvc2l0aW9uIiwgImJ1ZmZlclBvc2l0aW9uVmFsdWUiLCAibGVmdG92ZXJzIiwgImxpbmVMZWZ0b3ZlcnMiLCAidG90YWxCeXRlc1JlYWQiLCAiYnl0ZXNSZWFkIiwgImJ1ZmZlcnMiLCAicmVhZEJ1ZmZlciIsICJidWZmZXJEYXRhIiwgIl9vcHRpb25zJHRpbWVvdXQiLCAibmV3TGVuIiwgIm9sZExlbiIsICJlZGl0TGVuZ3RoIiwgIm1heEVkaXRMZW5ndGgiLCAibWF4RXhlY3V0aW9uVGltZSIsICJhYm9ydEFmdGVyVGltZXN0YW1wIiwgImJlc3RQYXRoIiwgIm1pbkRpYWdvbmFsVG9Db25zaWRlciIsICJtYXhEaWFnb25hbFRvQ29uc2lkZXIiLCAiZXhlY0VkaXRMZW5ndGgiLCAiZGlhZ29uYWxQYXRoIiwgInJlbW92ZVBhdGgiLCAiYWRkUGF0aCIsICJjYW5BZGQiLCAiYWRkUGF0aE5ld1BvcyIsICJjYW5SZW1vdmUiLCAiZXhlYyIsICJhZGRlZCIsICJyZW1vdmVkIiwgIm9sZFBvc0luYyIsICJjb21tb25Db3VudCIsICJjaGFuZ2VPYmplY3RzIiwgInByZXZQYXJ0IiwgImNoYW5nZXMiLCAibGFzdEtlZXAiLCAiY2hhbmdlIiwgInJldExpbmVzIiwgImxpbmVzQW5kTmV3bGluZXMiLCAidW5kZWZpbmVkUmVwbGFjZW1lbnQiLCAiX29wdGlvbnMkc3RyaW5naWZ5UmVwIiwgInN0cmluZ2lmeVJlcGxhY2VyIiwgInN1YlZhbHVlIiwgImNvbG9yTGV2ZWwiLCAiY2hhbGsyIiwgInN0cmluZ3MiLCAiYnVpbGRlciIsICJtb2RlbCIsICJhcmd1bWVudHNfIiwgInN0eWxlciIsICJiZ01vZGVsIiwgIm9wZW5BbGwiLCAiY2xvc2VBbGwiLCAiX3N0eWxlciIsICJfaXNFbXB0eSIsICJsZkluZGV4IiwgImtleU9yUGFpciIsICJyZWRpcmVjdFRvIiwgIm1lc3NhZ2VzMiIsICJzdWdnZXN0aW9uIiwgImtub3duS2V5IiwgIl91dGlscyIsICJfdmFsdWUiLCAiY3VycmVudFZhbHVlIiwgIl9uZXdWYWx1ZSIsICJ2YWx1ZVNjaGVtYSIsICJpbnZhbGlkVmFsdWVzIiwgInN1YlZhbGlkYXRlUmVzdWx0IiwgImRlcHJlY2F0ZWRSZXN1bHQiLCAic3ViRGVwcmVjYXRlZFJlc3VsdCIsICJkZXByZWNhdGVkVmFsdWUiLCAiZm9yd2FyZFJlc3VsdCIsICJzdWJGb3J3YXJkUmVzdWx0IiwgInJlbWFpbiIsICJzdWJSZWRpcmVjdFJlc3VsdCIsICJuZXdWYWx1ZSIsICJjaG9pY2VEZXNjcmlwdGlvbnMiLCAibG9nZ2VyUHJpbnRXaWR0aCIsICJkZXByZWNhdGVkIiwgIm1pc3NpbmciLCAicG9zdHByb2Nlc3MiLCAibmV3T3B0aW9ucyIsICJyZXN0T3B0aW9uc0FycmF5IiwgImFwcGx5Tm9ybWFsaXphdGlvbiIsICJjdXJyZW50T3B0aW9ucyIsICJ0cmFuc2ZlcnJlZE9wdGlvbnNBcnJheSIsICJkZWZhdWx0UmVzdWx0IiwgImtub3duS2V5cyIsICJ1bmtub3duS2V5cyIsICJhcHBlbmRUcmFuc2ZlcnJlZE9wdGlvbnMiLCAid2FybkRlcHJlY2F0ZWQiLCAicmVkaXJlY3RUb1BhaXIiLCAicmVkaXJlY3RSZXN1bHQiLCAicmVtYWluaW5nVmFsdWUiLCAia25vd25SZXN1bHRLZXkiLCAia25vd25SZXN1bHRWYWx1ZSIsICJ2YWxpZGF0ZVJlc3VsdCIsICJrbm93blJlc3VsdEhhbmRsZXIiLCAidW5rbm93blJlc3VsdCIsICJyZXN1bHRLZXkiLCAicmVzdWx0VmFsdWUiLCAicG9zdHByb2Nlc3NlZCIsICJkZWxldGVLZXkiLCAidXJsT3JQYXRoIiwgInNlYXJjaGVkRGlyZWN0b3JpZXMiLCAiZmlsZU9yRGlyZWN0b3J5IiwgImltcGxpY2l0IiwgImV4cGxpY2l0IiwgInR5cGUkMSIsICJtYWpvciIsICJtaW5vciIsICJoYW5kbGUiLCAidSIsICJoaWdobGlnaHRDb2RlIiwgImxpbmU0IiwgImNvbHVtbjMiLCAiX3F1b3RlIiwgImhhc0RhdGUiLCAiaGFzVGltZSIsICJpc28iLCAianNEYXRlIiwgImFjdHVhbCIsICJ0eXBlcyIsICJpbnN0YW5jZXMiLCAiaXNJbXBvcnQiLCAicmVsYXRlZEVycm9yIiwgImV4YWN0VXJsIiwgInN0YWNrVHJhY2VMaW1pdElzV3JpdGFibGUiLCAiaXNPcHRpb25hbE9iamVjdCIsICJtYXliZUFycmF5IiwgInN0YWNrSW5kZXgiLCAicGFyZW50VmFsdWVzIiwgInByZWRpY2F0ZXMiLCAic3RhY2tQb2ludGVyIiwgImVsZW1lbnQiLCAicmVxdWlyZV9sb2Rhc2giLCAiX19jb21tb25KU01pbiIsICJleHBvcnRzIiwgIm1vZHVsZSIsICJGVU5DX0VSUk9SX1RFWFQiLCAiSEFTSF9VTkRFRklORUQiLCAiSU5GSU5JVFkiLCAiZnVuY1RhZyIsICJnZW5UYWciLCAic3ltYm9sVGFnIiwgInJlSXNEZWVwUHJvcCIsICJyZUlzUGxhaW5Qcm9wIiwgInJlTGVhZGluZ0RvdCIsICJyZVByb3BOYW1lIiwgInJlUmVnRXhwQ2hhciIsICJyZUVzY2FwZUNoYXIiLCAicmVJc0hvc3RDdG9yIiwgImZyZWVHbG9iYWwiLCAiZnJlZVNlbGYiLCAicm9vdCIsICJnZXRWYWx1ZSIsICJvYmplY3QiLCAia2V5IiwgImlzSG9zdE9iamVjdCIsICJ2YWx1ZSIsICJyZXN1bHQiLCAiYXJyYXlQcm90byIsICJmdW5jUHJvdG8iLCAib2JqZWN0UHJvdG8iLCAiY29yZUpzRGF0YSIsICJtYXNrU3JjS2V5IiwgInVpZCIsICJmdW5jVG9TdHJpbmciLCAiaGFzT3duUHJvcGVydHkiLCAib2JqZWN0VG9TdHJpbmciLCAicmVJc05hdGl2ZSIsICJTeW1ib2wiLCAic3BsaWNlIiwgIk1hcCIsICJnZXROYXRpdmUiLCAibmF0aXZlQ3JlYXRlIiwgInN5bWJvbFByb3RvIiwgInN5bWJvbFRvU3RyaW5nIiwgIkhhc2giLCAiZW50cmllcyIsICJpbmRleCIsICJsZW5ndGgiLCAiZW50cnkiLCAiaGFzaENsZWFyIiwgImhhc2hEZWxldGUiLCAiaGFzaEdldCIsICJkYXRhIiwgImhhc2hIYXMiLCAiaGFzaFNldCIsICJMaXN0Q2FjaGUiLCAibGlzdENhY2hlQ2xlYXIiLCAibGlzdENhY2hlRGVsZXRlIiwgImFzc29jSW5kZXhPZiIsICJsYXN0SW5kZXgiLCAibGlzdENhY2hlR2V0IiwgImxpc3RDYWNoZUhhcyIsICJsaXN0Q2FjaGVTZXQiLCAiTWFwQ2FjaGUiLCAibWFwQ2FjaGVDbGVhciIsICJtYXBDYWNoZURlbGV0ZSIsICJnZXRNYXBEYXRhIiwgIm1hcENhY2hlR2V0IiwgIm1hcENhY2hlSGFzIiwgIm1hcENhY2hlU2V0IiwgImFycmF5IiwgImVxIiwgImJhc2VHZXQiLCAicGF0aCIsICJpc0tleSIsICJjYXN0UGF0aCIsICJ0b0tleSIsICJiYXNlSXNOYXRpdmUiLCAiaXNPYmplY3QiLCAiaXNNYXNrZWQiLCAicGF0dGVybiIsICJpc0Z1bmN0aW9uIiwgInRvU291cmNlIiwgImJhc2VUb1N0cmluZyIsICJpc1N5bWJvbCIsICJpc0FycmF5IiwgInN0cmluZ1RvUGF0aCIsICJtYXAiLCAiaXNLZXlhYmxlIiwgInR5cGUiLCAiZnVuYyIsICJtZW1vaXplIiwgInN0cmluZyIsICJ0b1N0cmluZyIsICJtYXRjaCIsICJudW1iZXIiLCAicXVvdGUiLCAicmVzb2x2ZXIiLCAibWVtb2l6ZWQiLCAiYXJncyIsICJjYWNoZSIsICJvdGhlciIsICJ0YWciLCAiaXNPYmplY3RMaWtlIiwgImdldCIsICJkZWZhdWx0VmFsdWUiLCAibW9kdWxlIiwgImltcG9ydF90c19pbnZhcmlhbnQiLCAiViIsICJpbXBvcnRfZmlsZV9leGlzdHMiLCAiaW1wb3J0X2RlYnVnIiwgImltcG9ydF9wcm9taXNlX2RlZmVycmVkIiwgInNwYXduIiwgIkV2ZW50RW1pdHRlciIsICJwYXRoc3BlYyIsICJwYXRocyIsICJrZXkiLCAiY2FjaGUiLCAiaXNQYXRoU3BlYyIsICJwYXRoIiwgInRvUGF0aHMiLCAicGF0aFNwZWMiLCAiaW5pdF9wYXRoc3BlYyIsICJfX2VzbSIsICJHaXRFcnJvciIsICJpbml0X2dpdF9lcnJvciIsICJ0YXNrIiwgIm1lc3NhZ2UiLCAiR2l0UmVzcG9uc2VFcnJvciIsICJpbml0X2dpdF9yZXNwb25zZV9lcnJvciIsICJnaXQiLCAiVGFza0NvbmZpZ3VyYXRpb25FcnJvciIsICJpbml0X3Rhc2tfY29uZmlndXJhdGlvbl9lcnJvciIsICJhc0Z1bmN0aW9uIiwgInNvdXJjZSIsICJOT09QIiwgImlzVXNlckZ1bmN0aW9uIiwgInNwbGl0T24iLCAiaW5wdXQiLCAiY2hhciIsICJpbmRleCIsICJmaXJzdCIsICJvZmZzZXQiLCAiaXNBcnJheUxpa2UiLCAibGFzdCIsICJ0b0xpbmVzV2l0aENvbnRlbnQiLCAidHJpbW1lZCIsICJzZXBhcmF0b3IiLCAib3V0cHV0IiwgImxpbmUiLCAibGluZUNvbnRlbnQiLCAiZm9yRWFjaExpbmVXaXRoQ29udGVudCIsICJjYWxsYmFjayIsICJmb2xkZXJFeGlzdHMiLCAiYXBwZW5kIiwgInRhcmdldCIsICJpdGVtIiwgImluY2x1ZGluZyIsICJyZW1vdmUiLCAiYXNBcnJheSIsICJhc0NhbWVsQ2FzZSIsICJzdHIiLCAiX2FsbCIsICJjaHIiLCAiYXNTdHJpbmdBcnJheSIsICJhc051bWJlciIsICJvbk5hTiIsICJudW0iLCAicHJlZml4ZWRBcnJheSIsICJwcmVmaXgiLCAiaSIsICJtYXgiLCAiYnVmZmVyVG9TdHJpbmciLCAicGljayIsICJwcm9wZXJ0aWVzIiwgInByb3BlcnR5IiwgImRlbGF5IiwgImR1cmF0aW9uIiwgImRvbmUiLCAib3JWb2lkIiwgIk5VTEwiLCAib2JqZWN0VG9TdHJpbmciLCAiaW5pdF91dGlsIiwgImZpbHRlclR5cGUiLCAiZmlsdGVyIiwgImRlZiIsICJmaWx0ZXJQcmltaXRpdmVzIiwgIm9taXQiLCAidHlwZSIsICJmaWx0ZXJQbGFpbk9iamVjdCIsICJmaWx0ZXJGdW5jdGlvbiIsICJmaWx0ZXJBcnJheSIsICJmaWx0ZXJTdHJpbmciLCAiZmlsdGVyU3RyaW5nQXJyYXkiLCAiZmlsdGVyU3RyaW5nT3JTdHJpbmdBcnJheSIsICJmaWx0ZXJIYXNMZW5ndGgiLCAiaW5pdF9hcmd1bWVudF9maWx0ZXJzIiwgIkV4aXRDb2RlcyIsICJpbml0X2V4aXRfY29kZXMiLCAiR2l0T3V0cHV0U3RyZWFtcyIsICJpbml0X2dpdF9vdXRwdXRfc3RyZWFtcyIsICJzdGRPdXQiLCAic3RkRXJyIiwgIkxpbmVQYXJzZXIiLCAiUmVtb3RlTGluZVBhcnNlciIsICJpbml0X2xpbmVfcGFyc2VyIiwgInJlZ0V4cCIsICJ1c2VNYXRjaGVzIiwgInJlZyIsICJtYXRjaCIsICJtYXRjaGVkIiwgIl9pbmRleCIsICJjcmVhdGVJbnN0YW5jZUNvbmZpZyIsICJvcHRpb25zIiwgImJhc2VEaXIiLCAiY29uZmlnIiwgIl9fc3ByZWFkVmFsdWVzIiwgImRlZmF1bHRPcHRpb25zIiwgIm8iLCAiaW5pdF9zaW1wbGVfZ2l0X29wdGlvbnMiLCAiYXBwZW5kVGFza09wdGlvbnMiLCAiY29tbWFuZHMiLCAidmFsdWUiLCAiZ2V0VHJhaWxpbmdPcHRpb25zIiwgImFyZ3MiLCAiaW5pdGlhbFByaW1pdGl2ZSIsICJvYmplY3RPbmx5IiwgImNvbW1hbmQiLCAidHJhaWxpbmdPcHRpb25zQXJndW1lbnQiLCAidHJhaWxpbmdBcnJheUFyZ3VtZW50IiwgImhhc1RyYWlsaW5nQ2FsbGJhY2siLCAidHJhaWxpbmdGdW5jdGlvbkFyZ3VtZW50IiwgImluY2x1ZGVOb29wIiwgImluaXRfdGFza19vcHRpb25zIiwgImNhbGxUYXNrUGFyc2VyIiwgInBhcnNlciIsICJzdHJlYW1zIiwgInBhcnNlU3RyaW5nUmVzcG9uc2UiLCAicmVzdWx0IiwgInBhcnNlcnMiLCAidGV4dHMiLCAidHJpbSIsICJ0ZXh0IiwgImxpbmVzIiwgInBhcnNlIiwgImluaXRfdGFza19wYXJzZXIiLCAidXRpbHNfZXhwb3J0cyIsICJfX2V4cG9ydCIsICJpbml0X3V0aWxzIiwgImNoZWNrX2lzX3JlcG9fZXhwb3J0cyIsICJDaGVja1JlcG9BY3Rpb25zIiwgImNoZWNrSXNCYXJlUmVwb1Rhc2siLCAiY2hlY2tJc1JlcG9Sb290VGFzayIsICJjaGVja0lzUmVwb1Rhc2siLCAiYWN0aW9uIiwgIm9uRXJyb3IiLCAiaXNOb3RSZXBvTWVzc2FnZSIsICJlcnJvciIsICJpbml0X2NoZWNrX2lzX3JlcG8iLCAiZXhpdENvZGUiLCAiZmFpbCIsICJjbGVhblN1bW1hcnlQYXJzZXIiLCAiZHJ5UnVuIiwgInN1bW1hcnkiLCAiQ2xlYW5SZXNwb25zZSIsICJyZWdleHAiLCAiZHJ5UnVuUmVtb3ZhbFJlZ2V4cCIsICJyZW1vdmFsUmVnZXhwIiwgInJlbW92ZWQiLCAiaXNGb2xkZXJSZWdleHAiLCAiaW5pdF9DbGVhblN1bW1hcnkiLCAidGFza19leHBvcnRzIiwgIkVNUFRZX0NPTU1BTkRTIiwgImFkaG9jRXhlY1Rhc2siLCAiY29uZmlndXJhdGlvbkVycm9yVGFzayIsICJpc0J1ZmZlclRhc2siLCAiaXNFbXB0eVRhc2siLCAic3RyYWlnaHRUaHJvdWdoQnVmZmVyVGFzayIsICJzdHJhaWdodFRocm91Z2hTdHJpbmdUYXNrIiwgImJ1ZmZlciIsICJpbml0X3Rhc2siLCAiY2xlYW5fZXhwb3J0cyIsICJDT05GSUdfRVJST1JfSU5URVJBQ1RJVkVfTU9ERSIsICJDT05GSUdfRVJST1JfTU9ERV9SRVFVSVJFRCIsICJDT05GSUdfRVJST1JfVU5LTk9XTl9PUFRJT04iLCAiQ2xlYW5PcHRpb25zIiwgImNsZWFuVGFzayIsICJjbGVhbldpdGhPcHRpb25zVGFzayIsICJpc0NsZWFuT3B0aW9uc0FycmF5IiwgIm1vZGUiLCAiY3VzdG9tQXJncyIsICJjbGVhbk1vZGUiLCAidmFsaWQiLCAiZ2V0Q2xlYW5PcHRpb25zIiwgImlzSW50ZXJhY3RpdmVNb2RlIiwgInRlc3QiLCAiQ2xlYW5PcHRpb25WYWx1ZXMiLCAiaXNDbGVhbk1vZGUiLCAiaXNLbm93bk9wdGlvbiIsICJvcHRpb24iLCAiaW5pdF9jbGVhbiIsICJjb25maWdMaXN0UGFyc2VyIiwgIkNvbmZpZ0xpc3QiLCAiY29uZmlnUGFyc2VyIiwgImNvbmZpZ0dldFBhcnNlciIsICJ2YWx1ZXMiLCAic2NvcGVzIiwgImNvbmZpZ0ZpbGVQYXRoIiwgImZpbGVQYXRoIiwgInJlcXVlc3RlZEtleSIsICJmaWxlIiwgImluaXRfQ29uZmlnTGlzdCIsICJhbGwiLCAibGF0ZXN0IiwgImFzQ29uZmlnU2NvcGUiLCAic2NvcGUiLCAiZmFsbGJhY2siLCAiR2l0Q29uZmlnU2NvcGUiLCAiYWRkQ29uZmlnVGFzayIsICJnZXRDb25maWdUYXNrIiwgImxpc3RDb25maWdUYXNrIiwgImNvbmZpZ19kZWZhdWx0IiwgInJlc3QiLCAiaW5pdF9jb25maWciLCAiaXNEaWZmTmFtZVN0YXR1cyIsICJkaWZmTmFtZVN0YXR1cyIsICJEaWZmTmFtZVN0YXR1cyIsICJpbml0X2RpZmZfbmFtZV9zdGF0dXMiLCAiZ3JlcFF1ZXJ5QnVpbGRlciIsICJwYXJhbXMiLCAiR3JlcFF1ZXJ5IiwgInBhcnNlR3JlcCIsICJncmVwIiwgInJlc3VsdHMiLCAicHJldmlldyIsICJncmVwX2RlZmF1bHQiLCAic2VhcmNoVGVybSIsICJ0aGVuIiwgImRpc2FsbG93ZWRPcHRpb25zIiwgIlF1ZXJ5IiwgIl9hIiwgImluaXRfZ3JlcCIsICJxdWVyeSIsICJhbmQiLCAicGFyYW0iLCAicmVzZXRfZXhwb3J0cyIsICJSZXNldE1vZGUiLCAiZ2V0UmVzZXRNb2RlIiwgInJlc2V0VGFzayIsICJpc1ZhbGlkUmVzZXRNb2RlIiwgIlJlc2V0TW9kZXMiLCAiaW5pdF9yZXNldCIsICJjcmVhdGVMb2ciLCAiZGVidWciLCAicHJlZml4ZWRMb2dnZXIiLCAidG8iLCAiZm9yd2FyZCIsICJjaGlsZExvZ2dlck5hbWUiLCAibmFtZSIsICJjaGlsZERlYnVnZ2VyIiwgInBhcmVudE5hbWVzcGFjZSIsICJjaGlsZE5hbWVzcGFjZSIsICJjcmVhdGVMb2dnZXIiLCAibGFiZWwiLCAidmVyYm9zZSIsICJpbml0aWFsU3RlcCIsICJpbmZvRGVidWdnZXIiLCAibGFiZWxQcmVmaXgiLCAic3Bhd25lZCIsICJkZWJ1Z0RlYnVnZ2VyIiwgInN0ZXAiLCAic2libGluZyIsICJpbml0aWFsIiwgInBoYXNlIiwgInN0ZXBQcmVmaXgiLCAiaW5mbyIsICJpbml0X2dpdF9sb2dnZXIiLCAiX1Rhc2tzUGVuZGluZ1F1ZXVlIiwgIlRhc2tzUGVuZGluZ1F1ZXVlIiwgImluaXRfdGFza3NfcGVuZGluZ19xdWV1ZSIsICJsb2dMYWJlbCIsICJsb2dnZXIiLCAicHJvZ3Jlc3MiLCAiZXJyIiwgInBsdWdpbkNvbnRleHQiLCAib25FcnJvclJlY2VpdmVkIiwgIm9uRGF0YVJlY2VpdmVkIiwgIkdpdEV4ZWN1dG9yQ2hhaW4iLCAiaW5pdF9naXRfZXhlY3V0b3JfY2hhaW4iLCAiX2V4ZWN1dG9yIiwgIl9zY2hlZHVsZXIiLCAiX3BsdWdpbnMiLCAiY3dkIiwgIl9fYXN5bmMiLCAib25TY2hlZHVsZUNvbXBsZXRlIiwgIm9uUXVldWVDb21wbGV0ZSIsICJlIiwgImdpdEVycm9yIiwgImJpbmFyeSIsICJyYXciLCAib3V0cHV0U3RyZWFtcyIsICJyZWplY3Rpb24iLCAibmV3U3RkT3V0IiwgIm91dHB1dEhhbmRsZXIiLCAib3V0cHV0TG9nZ2VyIiwgInNwYXduT3B0aW9ucyIsICJfX3NwcmVhZFByb3BzIiwgInJlYXNvbiIsICJnaXRfZXhlY3V0b3JfZXhwb3J0cyIsICJHaXRFeGVjdXRvciIsICJpbml0X2dpdF9leGVjdXRvciIsICJ0YXNrQ2FsbGJhY2siLCAicmVzcG9uc2UiLCAib25TdWNjZXNzIiwgImRhdGEiLCAiYWRkRGVwcmVjYXRpb25Ob3RpY2VUb0Vycm9yIiwgImxvZyIsICJkZXNjcmlwdG9yUmVkdWNlciIsICJpbml0X3Rhc2tfY2FsbGJhY2siLCAiY2hhbmdlV29ya2luZ0RpcmVjdG9yeVRhc2siLCAiZGlyZWN0b3J5IiwgInJvb3QiLCAiaW5zdGFuY2UiLCAiaW5pdF9jaGFuZ2Vfd29ya2luZ19kaXJlY3RvcnkiLCAiY2hlY2tvdXRUYXNrIiwgImNoZWNrb3V0X2RlZmF1bHQiLCAiYnJhbmNoTmFtZSIsICJzdGFydFBvaW50IiwgImluaXRfY2hlY2tvdXQiLCAiY291bnRPYmplY3RzUmVzcG9uc2UiLCAiY291bnRfb2JqZWN0c19kZWZhdWx0IiwgImluaXRfY291bnRfb2JqZWN0cyIsICJwYXJzZUNvbW1pdFJlc3VsdCIsICJpbml0X3BhcnNlX2NvbW1pdCIsICJicmFuY2giLCAiY29tbWl0IiwgImF1dGhvciIsICJwYXJ0cyIsICJlbWFpbCIsICJjaGFuZ2VzIiwgImluc2VydGlvbnMiLCAiZGVsZXRpb25zIiwgImRpcmVjdGlvbiIsICJjb3VudCIsICJjb21taXRUYXNrIiwgImZpbGVzIiwgImNvbW1pdF9kZWZhdWx0IiwgIm5leHQiLCAicmVqZWN0RGVwcmVjYXRlZFNpZ25hdHVyZXMiLCAiaW5pdF9jb21taXQiLCAiZmlyc3RfY29tbWl0X2RlZmF1bHQiLCAiaW5pdF9maXJzdF9jb21taXQiLCAiaGFzaE9iamVjdFRhc2siLCAid3JpdGUiLCAiaW5pdF9oYXNoX29iamVjdCIsICJwYXJzZUluaXQiLCAiYmFyZSIsICJpbml0UmVzcG9uc2VSZWdleCIsICJJbml0U3VtbWFyeSIsICJyZUluaXRSZXNwb25zZVJlZ2V4IiwgImdpdERpciIsICJ0b2tlbnMiLCAiaW5pdF9Jbml0U3VtbWFyeSIsICJleGlzdGluZyIsICJoYXNCYXJlQ29tbWFuZCIsICJiYXJlQ29tbWFuZCIsICJpbml0VGFzayIsICJpbml0X2luaXQiLCAibG9nRm9ybWF0RnJvbUNvbW1hbmQiLCAiZm9ybWF0IiwgImxvZ0Zvcm1hdFJlZ2V4IiwgImlzTG9nRm9ybWF0IiwgImN1c3RvbUFyZyIsICJpbml0X2xvZ19mb3JtYXQiLCAiRGlmZlN1bW1hcnkiLCAiaW5pdF9EaWZmU3VtbWFyeSIsICJnZXREaWZmUGFyc2VyIiwgImRpZmZTdW1tYXJ5UGFyc2VycyIsICJzdGF0UGFyc2VyIiwgIm51bVN0YXRQYXJzZXIiLCAibmFtZU9ubHlQYXJzZXIiLCAibmFtZVN0YXR1c1BhcnNlciIsICJpbml0X3BhcnNlX2RpZmZfc3VtbWFyeSIsICJhbHRlcmF0aW9ucyIsICJiZWZvcmUiLCAiYWZ0ZXIiLCAiY2hhbmdlZCIsICJpbnNlcnRlZCIsICJkZWxldGVkIiwgImNoYW5nZXNJbnNlcnQiLCAiY2hhbmdlc0RlbGV0ZSIsICJzdGF0dXMiLCAic2ltaWxhcml0eSIsICJmcm9tIiwgIl90byIsICJsaW5lQnVpbGRlciIsICJmaWVsZHMiLCAiZmllbGQiLCAiY3JlYXRlTGlzdExvZ1N1bW1hcnlQYXJzZXIiLCAic3BsaXR0ZXIiLCAiU1BMSVRURVIiLCAiZGVmYXVsdEZpZWxkTmFtZXMiLCAibG9nRm9ybWF0IiwgInBhcnNlRGlmZlJlc3VsdCIsICJTVEFSVF9CT1VOREFSWSIsICJsaW5lRGV0YWlsIiwgIkNPTU1JVF9CT1VOREFSWSIsICJsaXN0TG9nTGluZSIsICJpbml0X3BhcnNlX2xpc3RfbG9nX3N1bW1hcnkiLCAiZGlmZl9leHBvcnRzIiwgImRpZmZTdW1tYXJ5VGFzayIsICJ2YWxpZGF0ZUxvZ0Zvcm1hdENvbmZpZyIsICJmbGFncyIsICJpbml0X2RpZmYiLCAicHJldHR5Rm9ybWF0IiwgImZvcm1hdFN0ciIsICJ1c2VyT3B0aW9ucyIsICJvdXQiLCAiZXhjbHVkZU9wdGlvbnMiLCAicGFyc2VMb2dPcHRpb25zIiwgIm9wdCIsICJzdWZmaXgiLCAibWF4Q291bnQiLCAicmFuZ2VPcGVyYXRvciIsICJsb2dUYXNrIiwgImxvZ19kZWZhdWx0IiwgImNyZWF0ZUxvZ1Rhc2siLCAiaW5pdF9sb2ciLCAiTWVyZ2VTdW1tYXJ5Q29uZmxpY3QiLCAiTWVyZ2VTdW1tYXJ5RGV0YWlsIiwgImluaXRfTWVyZ2VTdW1tYXJ5IiwgIm1ldGEiLCAiUHVsbFN1bW1hcnkiLCAiUHVsbEZhaWxlZFN1bW1hcnkiLCAiaW5pdF9QdWxsU3VtbWFyeSIsICJvYmplY3RFbnVtZXJhdGlvblJlc3VsdCIsICJyZW1vdGVNZXNzYWdlcyIsICJhc09iamVjdENvdW50IiwgImRlbHRhIiwgInJlbW90ZU1lc3NhZ2VzT2JqZWN0UGFyc2VycyIsICJpbml0X3BhcnNlX3JlbW90ZV9vYmplY3RzIiwgImVudW1lcmF0aW9uIiwgInRvdGFsIiwgInJldXNlZCIsICJwYWNrUmV1c2VkIiwgIm9iamVjdHMiLCAicGFyc2VSZW1vdGVNZXNzYWdlcyIsICJfc3RkT3V0IiwgIlJlbW90ZU1lc3NhZ2VTdW1tYXJ5IiwgImluaXRfcGFyc2VfcmVtb3RlX21lc3NhZ2VzIiwgInB1bGxSZXF1ZXN0VXJsIiwgInVybCIsICJwYXJzZVB1bGxFcnJvclJlc3VsdCIsICJwdWxsRXJyb3IiLCAiZXJyb3JQYXJzZXJzIiwgIkZJTEVfVVBEQVRFX1JFR0VYIiwgIlNVTU1BUllfUkVHRVgiLCAiQUNUSU9OX1JFR0VYIiwgInBhcnNlUHVsbERldGFpbCIsICJwYXJzZVB1bGxSZXN1bHQiLCAiaW5pdF9wYXJzZV9wdWxsIiwgInJlbW90ZSIsICJoYXNoTG9jYWwiLCAiaGFzaFJlbW90ZSIsICJicmFuY2hMb2NhbCIsICJicmFuY2hSZW1vdGUiLCAicGFyc2VNZXJnZVJlc3VsdCIsICJwYXJzZU1lcmdlRGV0YWlsIiwgImluaXRfcGFyc2VfbWVyZ2UiLCAiYXV0b01lcmdlIiwgImRlbGV0ZVJlZiIsICJtZXJnZVRhc2siLCAibWVyZ2UiLCAiaW5pdF9tZXJnZSIsICJwdXNoUmVzdWx0UHVzaGVkSXRlbSIsICJsb2NhbCIsICJ0YWciLCAiYWxyZWFkeVVwZGF0ZWQiLCAicGFyc2VQdXNoUmVzdWx0IiwgInBhcnNlUHVzaERldGFpbCIsICJpbml0X3BhcnNlX3B1c2giLCAicmVwbyIsICJyZW1vdGVOYW1lIiwgInB1c2hEZXRhaWwiLCAicmVzcG9uc2VEZXRhaWwiLCAicHVzaF9leHBvcnRzIiwgInB1c2hUYWdzVGFzayIsICJwdXNoVGFzayIsICJyZWYiLCAiaW5pdF9wdXNoIiwgInNob3dfZGVmYXVsdCIsICJpbml0X3Nob3ciLCAiZnJvbVBhdGhSZWdleCIsICJGaWxlU3RhdHVzU3VtbWFyeSIsICJpbml0X0ZpbGVTdGF0dXNTdW1tYXJ5IiwgIndvcmtpbmdfZGlyIiwgImRldGFpbCIsICJyZW5hbWVkRmlsZSIsICJpbmRleFgiLCAiaW5kZXhZIiwgImhhbmRsZXIiLCAiY29uZmxpY3RzIiwgInkiLCAic3BsaXRMaW5lIiwgImxpbmVTdHIiLCAid29ya2luZ0RpciIsICJTdGF0dXNTdW1tYXJ5IiwgInBhcnNlU3RhdHVzU3VtbWFyeSIsICJpbml0X1N0YXR1c1N1bW1hcnkiLCAicmVuYW1lZCIsICJfcmVzdWx0IiwgIl9maWxlIiwgImFoZWFkUmVnIiwgImJlaGluZFJlZyIsICJjdXJyZW50UmVnIiwgInRyYWNraW5nUmVnIiwgIm9uRW1wdHlCcmFuY2hSZWciLCAicmVnZXhSZXN1bHQiLCAibCIsICJzdGF0dXNUYXNrIiwgImFyZyIsICJpZ25vcmVkT3B0aW9ucyIsICJpbml0X3N0YXR1cyIsICJ2ZXJzaW9uUmVzcG9uc2UiLCAibWFqb3IiLCAibWlub3IiLCAicGF0Y2giLCAiYWdlbnQiLCAiaW5zdGFsbGVkIiwgIm5vdEluc3RhbGxlZFJlc3BvbnNlIiwgInZlcnNpb25fZGVmYXVsdCIsICJ2ZXJzaW9uUGFyc2VyIiwgIk5PVF9JTlNUQUxMRUQiLCAiaW5pdF92ZXJzaW9uIiwgInNpbXBsZV9naXRfYXBpX2V4cG9ydHMiLCAiU2ltcGxlR2l0QXBpIiwgImluaXRfc2ltcGxlX2dpdF9hcGkiLCAiY2hhaW4iLCAicHJvbWlzZSIsICJzY2hlZHVsZXJfZXhwb3J0cyIsICJTY2hlZHVsZXIiLCAiY3JlYXRlU2NoZWR1bGVkVGFzayIsICJpbml0X3NjaGVkdWxlciIsICJpZCIsICJjb25jdXJyZW5jeSIsICJhcHBseV9wYXRjaF9leHBvcnRzIiwgImFwcGx5UGF0Y2hUYXNrIiwgInBhdGNoZXMiLCAiaW5pdF9hcHBseV9wYXRjaCIsICJicmFuY2hEZWxldGlvblN1Y2Nlc3MiLCAiaGFzaCIsICJicmFuY2hEZWxldGlvbkZhaWx1cmUiLCAiQnJhbmNoRGVsZXRpb25CYXRjaCIsICJpbml0X0JyYW5jaERlbGV0ZVN1bW1hcnkiLCAiaGFzQnJhbmNoRGVsZXRpb25FcnJvciIsICJwcm9jZXNzRXhpdENvZGUiLCAiZGVsZXRlRXJyb3JSZWdleCIsICJkZWxldGVTdWNjZXNzUmVnZXgiLCAicGFyc2VCcmFuY2hEZWxldGlvbnMiLCAiaW5pdF9wYXJzZV9icmFuY2hfZGVsZXRlIiwgImRlbGV0aW9uIiwgIkJyYW5jaFN1bW1hcnlSZXN1bHQiLCAiaW5pdF9CcmFuY2hTdW1tYXJ5IiwgImRldGFjaGVkIiwgImJyYW5jaFN0YXR1cyIsICJwYXJzZUJyYW5jaFN1bW1hcnkiLCAiaW5pdF9wYXJzZV9icmFuY2giLCAiY3VycmVudCIsICJicmFuY2hfZXhwb3J0cyIsICJicmFuY2hMb2NhbFRhc2siLCAiYnJhbmNoVGFzayIsICJjb250YWluc0RlbGV0ZUJyYW5jaENvbW1hbmQiLCAiZGVsZXRlQnJhbmNoVGFzayIsICJkZWxldGVCcmFuY2hlc1Rhc2siLCAiZGVsZXRlQ29tbWFuZHMiLCAiaXNEZWxldGUiLCAiYnJhbmNoZXMiLCAiZm9yY2VEZWxldGUiLCAiXyIsICJpbml0X2JyYW5jaCIsICJwYXJzZUNoZWNrSWdub3JlIiwgImluaXRfQ2hlY2tJZ25vcmUiLCAiY2hlY2tfaWdub3JlX2V4cG9ydHMiLCAiY2hlY2tJZ25vcmVUYXNrIiwgImluaXRfY2hlY2tfaWdub3JlIiwgImNsb25lX2V4cG9ydHMiLCAiY2xvbmVNaXJyb3JUYXNrIiwgImNsb25lVGFzayIsICJkaXNhbGxvd2VkQ29tbWFuZCIsICJpbml0X2Nsb25lIiwgInBhcnNlRmV0Y2hSZXN1bHQiLCAiaW5pdF9wYXJzZV9mZXRjaCIsICJ0cmFja2luZyIsICJmZXRjaF9leHBvcnRzIiwgImZldGNoVGFzayIsICJpbml0X2ZldGNoIiwgInBhcnNlTW92ZVJlc3VsdCIsICJpbml0X3BhcnNlX21vdmUiLCAibW92ZV9leHBvcnRzIiwgIm1vdmVUYXNrIiwgImluaXRfbW92ZSIsICJwdWxsX2V4cG9ydHMiLCAicHVsbFRhc2siLCAiX2Vycm9yIiwgIl9kb25lIiwgImluaXRfcHVsbCIsICJwYXJzZUdldFJlbW90ZXMiLCAicmVtb3RlcyIsICJmb3JFYWNoIiwgInBhcnNlR2V0UmVtb3Rlc1ZlcmJvc2UiLCAicHVycG9zZSIsICJpbml0X0dldFJlbW90ZVN1bW1hcnkiLCAicmVtb3RlX2V4cG9ydHMiLCAiYWRkUmVtb3RlVGFzayIsICJnZXRSZW1vdGVzVGFzayIsICJsaXN0UmVtb3Rlc1Rhc2siLCAicmVtb3RlVGFzayIsICJyZW1vdmVSZW1vdGVUYXNrIiwgInJlbW90ZVJlcG8iLCAiaW5pdF9yZW1vdGUiLCAic3Rhc2hfbGlzdF9leHBvcnRzIiwgInN0YXNoTGlzdFRhc2siLCAiaW5pdF9zdGFzaF9saXN0IiwgInN1Yl9tb2R1bGVfZXhwb3J0cyIsICJhZGRTdWJNb2R1bGVUYXNrIiwgImluaXRTdWJNb2R1bGVUYXNrIiwgInN1Yk1vZHVsZVRhc2siLCAidXBkYXRlU3ViTW9kdWxlVGFzayIsICJpbml0X3N1Yl9tb2R1bGUiLCAic2luZ2xlU29ydGVkIiwgImEiLCAiYiIsICJhSXNOdW0iLCAiYklzTnVtIiwgInNvcnRlZCIsICJ0b051bWJlciIsICJUYWdMaXN0IiwgInBhcnNlVGFnTGlzdCIsICJpbml0X1RhZ0xpc3QiLCAiY3VzdG9tU29ydCIsICJ0YWdzIiwgInRhZ0EiLCAidGFnQiIsICJwYXJ0c0EiLCAicGFydHNCIiwgImRpZmYiLCAidGFnX2V4cG9ydHMiLCAiYWRkQW5ub3RhdGVkVGFnVGFzayIsICJhZGRUYWdUYXNrIiwgInRhZ0xpc3RUYXNrIiwgImhhc0N1c3RvbVNvcnQiLCAidGFnTWVzc2FnZSIsICJpbml0X3RhZyIsICJyZXF1aXJlX2dpdCIsICJfX2NvbW1vbkpTIiwgImV4cG9ydHMiLCAibW9kdWxlIiwgIl9fdG9Db21tb25KUyIsICJHaXQiLCAicGx1Z2lucyIsICJjcmVhdGVDbG9uZVRhc2siLCAiYXBpIiwgInJlcG9QYXRoIiwgImxvY2FsUGF0aCIsICJzaWxlbmNlIiwgInRhZ05hbWUiLCAiYnJhbmNoTmFtZXMiLCAiY3JlYXRlUmVzdENvbW1hbmRzIiwgInVzaW5nQ2xlYW5PcHRpb25zQXJyYXkiLCAicGF0aG5hbWVzIiwgImNoZWNrVHlwZSIsICJHaXRDb25zdHJ1Y3RFcnJvciIsICJHaXRQbHVnaW5FcnJvciIsICJwbHVnaW4iLCAiYWJvcnRQbHVnaW4iLCAic2lnbmFsIiwgIl9kYXRhIiwgImNvbnRleHQiLCAia2lsbCIsICJpc0NvbmZpZ1N3aXRjaCIsICJwcmV2ZW50UHJvdG9jb2xPdmVycmlkZSIsICJwcmV2ZW50VXBsb2FkUGFjayIsICJtZXRob2QiLCAiYmxvY2tVbnNhZmVPcGVyYXRpb25zUGx1Z2luIiwgImFsbG93VW5zYWZlUHJvdG9jb2xPdmVycmlkZSIsICJhbGxvd1Vuc2FmZVBhY2siLCAiY29tbWFuZENvbmZpZ1ByZWZpeGluZ1BsdWdpbiIsICJjb25maWd1cmF0aW9uIiwgIm5ldmVyIiwgImNvbXBsZXRpb25EZXRlY3Rpb25QbHVnaW4iLCAib25DbG9zZSIsICJvbkV4aXQiLCAiY3JlYXRlRXZlbnRzIiwgImV2ZW50cyIsICJjb25maWd1cmVUaW1lb3V0IiwgImNvZGUiLCAiZmxhZyIsICJldmVudCIsICJ0aW1lb3V0IiwgIl8wIiwgIl8xIiwgImNsb3NlIiwgIl9iIiwgImRlZmVyQ2xvc2UiLCAicXVpY2tDbG9zZSIsICJXUk9OR19OVU1CRVJfRVJSIiwgIldST05HX0NIQVJTX0VSUiIsICJpc0JhZEFyZ3VtZW50IiwgInRvQmluYXJ5Q29uZmlnIiwgImFsbG93VW5zYWZlIiwgImN1c3RvbUJpbmFyeVBsdWdpbiIsICJpc1Rhc2tFcnJvciIsICJnZXRFcnJvck1lc3NhZ2UiLCAiZXJyb3JEZXRlY3Rpb25IYW5kbGVyIiwgIm92ZXJ3cml0ZSIsICJpc0Vycm9yIiwgImVycm9yTWVzc2FnZSIsICJlcnJvckRldGVjdGlvblBsdWdpbiIsICJQbHVnaW5TdG9yZSIsICJsaXN0ZW5lciIsICJjb250ZXh0dWFsIiwgInByb2dyZXNzTW9uaXRvclBsdWdpbiIsICJwcm9ncmVzc0NvbW1hbmQiLCAicHJvZ3Jlc3NNZXRob2RzIiwgImNodW5rIiwgInByb2dyZXNzRXZlbnRTdGFnZSIsICJzcGF3bk9wdGlvbnNQbHVnaW4iLCAidGltZW91dFBsdWdpbiIsICJibG9jayIsICJ3YWl0IiwgInN0b3AiLCAic3VmZml4UGF0aHNQbHVnaW4iLCAiZ2l0SW5zdGFuY2VGYWN0b3J5IiwgInNpbXBsZUdpdCIsICJnaXRJbnN0YW5jZUZhY3RvcnkiLCAiaW1wb3J0X2NvbG9yc19jbGkiLCAiaW1wb3J0X3RyZWVfa2lsbCIsICJyciIsICJqZiIsICJzbiIsICJhbiIsICJLdCIsICJpbXBvcnRfYnJhY2VfZXhwYW5zaW9uIiwgImFzc2VydFZhbGlkUGF0dGVybiIsICJwYXR0ZXJuIiwgInBvc2l4Q2xhc3NlcyIsICJicmFjZUVzY2FwZSIsICJzIiwgInJlZ2V4cEVzY2FwZSIsICJyYW5nZXNUb1N0cmluZyIsICJyYW5nZXMiLCAicGFyc2VDbGFzcyIsICJnbG9iIiwgInBvc2l0aW9uIiwgInBvcyIsICJuZWdzIiwgImkiLCAic2F3U3RhcnQiLCAidWZsYWciLCAiZXNjYXBpbmciLCAibmVnYXRlIiwgImVuZFBvcyIsICJyYW5nZVN0YXJ0IiwgIldISUxFIiwgImMiLCAiY2xzIiwgInVuaXAiLCAidSIsICJuZWciLCAiciIsICJzcmFuZ2VzIiwgInNuZWdzIiwgInVuZXNjYXBlIiwgInMiLCAid2luZG93c1BhdGhzTm9Fc2NhcGUiLCAidHlwZXMiLCAiaXNFeHRnbG9iVHlwZSIsICJjIiwgInN0YXJ0Tm9UcmF2ZXJzYWwiLCAic3RhcnROb0RvdCIsICJhZGRQYXR0ZXJuU3RhcnQiLCAianVzdERvdHMiLCAicmVTcGVjaWFscyIsICJyZWdFeHBFc2NhcGUiLCAicyIsICJxbWFyayIsICJzdGFyIiwgInN0YXJOb0VtcHR5IiwgIkFTVCIsICJfQVNUIiwgIiNyb290IiwgIiNoYXNNYWdpYyIsICIjdWZsYWciLCAiI3BhcnRzIiwgIiNwYXJlbnQiLCAiI3BhcmVudEluZGV4IiwgIiNuZWdzIiwgIiNmaWxsZWROZWdzIiwgIiNvcHRpb25zIiwgIiN0b1N0cmluZyIsICIjZW1wdHlFeHQiLCAidHlwZSIsICJwYXJlbnQiLCAib3B0aW9ucyIsICJwIiwgIiNmaWxsTmVncyIsICJuIiwgInBwIiwgInBhcnQiLCAicGFydHMiLCAicmV0IiwgImkiLCAicGwiLCAiI3BhcnNlQVNUIiwgInN0ciIsICJhc3QiLCAicG9zIiwgIm9wdCIsICJlc2NhcGluZyIsICJpbkJyYWNlIiwgImJyYWNlU3RhcnQiLCAiYnJhY2VOZWciLCAiYWNjIiwgImV4dCIsICJwYXR0ZXJuIiwgImdsb2IiLCAicmUiLCAiYm9keSIsICJoYXNNYWdpYyIsICJ1ZmxhZyIsICJmbGFncyIsICJhbGxvd0RvdCIsICJkb3QiLCAibm9FbXB0eSIsICJzcmMiLCAiXyIsICIjcGFyc2VHbG9iIiwgInN0YXJ0IiwgImFwcyIsICJuZWVkTm9UcmF2IiwgIm5lZWROb0RvdCIsICJlbmQiLCAidW5lc2NhcGUiLCAicmVwZWF0ZWQiLCAiI3BhcnRzVG9SZWdFeHAiLCAiYm9keURvdEFsbG93ZWQiLCAiZmluYWwiLCAiY2xvc2UiLCAiX2hhc01hZ2ljIiwgIm5lZWRVZmxhZyIsICJjb25zdW1lZCIsICJtYWdpYyIsICJwYXJzZUNsYXNzIiwgImVzY2FwZSIsICJzIiwgIndpbmRvd3NQYXRoc05vRXNjYXBlIiwgIm1pbmltYXRjaCIsICJwIiwgInBhdHRlcm4iLCAib3B0aW9ucyIsICJhc3NlcnRWYWxpZFBhdHRlcm4iLCAiTWluaW1hdGNoIiwgInN0YXJEb3RFeHRSRSIsICJzdGFyRG90RXh0VGVzdCIsICJleHQiLCAiZiIsICJzdGFyRG90RXh0VGVzdERvdCIsICJzdGFyRG90RXh0VGVzdE5vY2FzZSIsICJzdGFyRG90RXh0VGVzdE5vY2FzZURvdCIsICJzdGFyRG90U3RhclJFIiwgInN0YXJEb3RTdGFyVGVzdCIsICJzdGFyRG90U3RhclRlc3REb3QiLCAiZG90U3RhclJFIiwgImRvdFN0YXJUZXN0IiwgInN0YXJSRSIsICJzdGFyVGVzdCIsICJzdGFyVGVzdERvdCIsICJxbWFya3NSRSIsICJxbWFya3NUZXN0Tm9jYXNlIiwgIiQwIiwgIm5vZXh0IiwgInFtYXJrc1Rlc3ROb0V4dCIsICJxbWFya3NUZXN0Tm9jYXNlRG90IiwgInFtYXJrc1Rlc3ROb0V4dERvdCIsICJxbWFya3NUZXN0RG90IiwgInFtYXJrc1Rlc3QiLCAibGVuIiwgImRlZmF1bHRQbGF0Zm9ybSIsICJwYXRoIiwgInNlcCIsICJHTE9CU1RBUiIsICJxbWFyayIsICJzdGFyIiwgInR3b1N0YXJEb3QiLCAidHdvU3Rhck5vRG90IiwgImZpbHRlciIsICJhIiwgImIiLCAiZGVmYXVsdHMiLCAiZGVmIiwgIm9yaWciLCAidHlwZSIsICJwYXJlbnQiLCAicyIsICJsaXN0IiwgImJyYWNlRXhwYW5kIiwgImV4cGFuZCIsICJtYWtlUmUiLCAibWF0Y2giLCAibW0iLCAiZ2xvYk1hZ2ljIiwgInJlZ0V4cEVzY2FwZSIsICJwYXJ0IiwgIl8iLCAiYXJncyIsICJyYXdHbG9iUGFydHMiLCAic2V0IiwgIl9fIiwgImlzVU5DIiwgImlzRHJpdmUiLCAic3MiLCAiaSIsICJnbG9iUGFydHMiLCAiaiIsICJvcHRpbWl6YXRpb25MZXZlbCIsICJwYXJ0cyIsICJncyIsICJwcmV2IiwgImRpZFNvbWV0aGluZyIsICJkZCIsICJnc3MiLCAibmV4dCIsICJwMiIsICJvdGhlciIsICJzcGxpbiIsICJtYXRjaGVkIiwgImVtcHR5R1NNYXRjaCIsICJhaSIsICJiaSIsICJyZXN1bHQiLCAid2hpY2giLCAibmVnYXRlIiwgIm5lZ2F0ZU9mZnNldCIsICJmaWxlIiwgInBhcnRpYWwiLCAiZmlsZURyaXZlIiwgImZpbGVVTkMiLCAicGF0dGVybkRyaXZlIiwgInBhdHRlcm5VTkMiLCAiZmRpIiwgInBkaSIsICJmZCIsICJwZCIsICJmaSIsICJwaSIsICJmbCIsICJwbCIsICJmciIsICJwciIsICJzd2FsbG93ZWUiLCAiaGl0IiwgIm0iLCAiZmFzdFRlc3QiLCAicmUiLCAiQVNUIiwgInR3b1N0YXIiLCAiZmxhZ3MiLCAicHAiLCAib3BlbiIsICJjbG9zZSIsICJmZiIsICJmaWxlbmFtZSIsICJlc2NhcGUiLCAidW5lc2NhcGUiLCAiZmlsZVVSTFRvUGF0aCIsICJwZXJmIiwgIndhcm5lZCIsICJQUk9DRVNTIiwgImVtaXRXYXJuaW5nIiwgIm1zZyIsICJ0eXBlIiwgImNvZGUiLCAiZm4iLCAiQUMiLCAiQVMiLCAiXyIsICJ3YXJuQUNQb2x5ZmlsbCIsICJyZWFzb24iLCAicHJpbnRBQ1BvbHlmaWxsV2FybmluZyIsICJzaG91bGRXYXJuIiwgIlRZUEUiLCAiaXNQb3NJbnQiLCAibiIsICJnZXRVaW50QXJyYXkiLCAibWF4IiwgIlplcm9BcnJheSIsICJzaXplIiwgIlN0YWNrIiwgIl9TdGFjayIsICIjY29uc3RydWN0aW5nIiwgIkhlYXBDbHMiLCAicyIsICJMUlVDYWNoZSIsICJfTFJVQ2FjaGUiLCAiI21heCIsICIjbWF4U2l6ZSIsICIjZGlzcG9zZSIsICIjZGlzcG9zZUFmdGVyIiwgIiNmZXRjaE1ldGhvZCIsICIjbWVtb01ldGhvZCIsICIjc2l6ZSIsICIjY2FsY3VsYXRlZFNpemUiLCAiI2tleU1hcCIsICIja2V5TGlzdCIsICIjdmFsTGlzdCIsICIjbmV4dCIsICIjcHJldiIsICIjaGVhZCIsICIjdGFpbCIsICIjZnJlZSIsICIjZGlzcG9zZWQiLCAiI3NpemVzIiwgIiNzdGFydHMiLCAiI3R0bHMiLCAiI2hhc0Rpc3Bvc2UiLCAiI2hhc0ZldGNoTWV0aG9kIiwgIiNoYXNEaXNwb3NlQWZ0ZXIiLCAiYyIsICJwIiwgIiNpc0JhY2tncm91bmRGZXRjaCIsICJrIiwgImluZGV4IiwgIm9wdGlvbnMiLCAiY29udGV4dCIsICIjYmFja2dyb3VuZEZldGNoIiwgIiNtb3ZlVG9UYWlsIiwgIiNpbmRleGVzIiwgIiNyaW5kZXhlcyIsICIjaXNTdGFsZSIsICJ0dGwiLCAidHRsUmVzb2x1dGlvbiIsICJ0dGxBdXRvcHVyZ2UiLCAidXBkYXRlQWdlT25HZXQiLCAidXBkYXRlQWdlT25IYXMiLCAiYWxsb3dTdGFsZSIsICJkaXNwb3NlIiwgImRpc3Bvc2VBZnRlciIsICJub0Rpc3Bvc2VPblNldCIsICJub1VwZGF0ZVRUTCIsICJtYXhTaXplIiwgIm1heEVudHJ5U2l6ZSIsICJzaXplQ2FsY3VsYXRpb24iLCAiZmV0Y2hNZXRob2QiLCAibWVtb01ldGhvZCIsICJub0RlbGV0ZU9uRmV0Y2hSZWplY3Rpb24iLCAibm9EZWxldGVPblN0YWxlR2V0IiwgImFsbG93U3RhbGVPbkZldGNoUmVqZWN0aW9uIiwgImFsbG93U3RhbGVPbkZldGNoQWJvcnQiLCAiaWdub3JlRmV0Y2hBYm9ydCIsICJVaW50QXJyYXkiLCAiI2luaXRpYWxpemVTaXplVHJhY2tpbmciLCAiI2luaXRpYWxpemVUVExUcmFja2luZyIsICJrZXkiLCAidHRscyIsICJzdGFydHMiLCAiI3NldEl0ZW1UVEwiLCAic3RhcnQiLCAidCIsICIjZGVsZXRlIiwgIiN1cGRhdGVJdGVtQWdlIiwgIiNzdGF0dXNUVEwiLCAic3RhdHVzIiwgImNhY2hlZE5vdyIsICJnZXROb3ciLCAiYWdlIiwgInNpemVzIiwgIiNyZW1vdmVJdGVtU2l6ZSIsICIjcmVxdWlyZVNpemUiLCAidiIsICIjYWRkSXRlbVNpemUiLCAiI2V2aWN0IiwgIl9pIiwgIl9zIiwgIl9zdCIsICJfayIsICJfdiIsICJpIiwgIiNpc1ZhbGlkSW5kZXgiLCAiZ2V0T3B0aW9ucyIsICJ2YWx1ZSIsICJ0aGlzcCIsICJkZWxldGVkIiwgImVudHJ5IiwgInJlbWFpbiIsICJhcnIiLCAic2V0T3B0aW9ucyIsICJvbGRWYWwiLCAib2xkVmFsdWUiLCAiZHQiLCAidGFzayIsICJ2YWwiLCAiZnJlZSIsICJoZWFkIiwgImhhc09wdGlvbnMiLCAicGVla09wdGlvbnMiLCAiYWMiLCAic2lnbmFsIiwgImZldGNoT3B0cyIsICJjYiIsICJ1cGRhdGVDYWNoZSIsICJhYm9ydGVkIiwgImlnbm9yZUFib3J0IiwgImZldGNoRmFpbCIsICJiZiIsICJlYiIsICJlciIsICJhbGxvd1N0YWxlQWJvcnRlZCIsICJub0RlbGV0ZSIsICJwY2FsbCIsICJyZXMiLCAicmVqIiwgImZtcCIsICJiIiwgImZldGNoT3B0aW9ucyIsICJmb3JjZVJlZnJlc2giLCAic3RhbGUiLCAiaXNTdGFsZSIsICJzdGFsZVZhbCIsICJtZW1vT3B0aW9ucyIsICJ2diIsICJmZXRjaGluZyIsICIjY29ubmVjdCIsICIjY2xlYXIiLCAicGkiLCAibmkiLCAicG9zaXgiLCAid2luMzIiLCAiZmlsZVVSTFRvUGF0aCIsICJsc3RhdFN5bmMiLCAicmVhZGRpckNCIiwgInJlYWRkaXJTeW5jIiwgInJlYWRsaW5rU3luYyIsICJycHMiLCAiYWN0dWFsRlMiLCAibHN0YXQiLCAicmVhZGRpciIsICJyZWFkbGluayIsICJyZWFscGF0aCIsICJFdmVudEVtaXR0ZXIiLCAiU3RyZWFtIiwgIlN0cmluZ0RlY29kZXIiLCAicHJvYyIsICJpc1N0cmVhbSIsICJzIiwgIk1pbmlwYXNzIiwgImlzUmVhZGFibGUiLCAiaXNXcml0YWJsZSIsICJFT0YiLCAiTUFZQkVfRU1JVF9FTkQiLCAiRU1JVFRFRF9FTkQiLCAiRU1JVFRJTkdfRU5EIiwgIkVNSVRURURfRVJST1IiLCAiQ0xPU0VEIiwgIlJFQUQiLCAiRkxVU0giLCAiRkxVU0hDSFVOSyIsICJFTkNPRElORyIsICJERUNPREVSIiwgIkZMT1dJTkciLCAiUEFVU0VEIiwgIlJFU1VNRSIsICJCVUZGRVIiLCAiUElQRVMiLCAiQlVGRkVSTEVOR1RIIiwgIkJVRkZFUlBVU0giLCAiQlVGRkVSU0hJRlQiLCAiT0JKRUNUTU9ERSIsICJERVNUUk9ZRUQiLCAiRVJST1IiLCAiRU1JVERBVEEiLCAiRU1JVEVORCIsICJFTUlURU5EMiIsICJBU1lOQyIsICJBQk9SVCIsICJBQk9SVEVEIiwgIlNJR05BTCIsICJEQVRBTElTVEVORVJTIiwgIkRJU0NBUkRFRCIsICJkZWZlciIsICJmbiIsICJub2RlZmVyIiwgImlzRW5kaXNoIiwgImV2IiwgImlzQXJyYXlCdWZmZXJMaWtlIiwgImIiLCAiaXNBcnJheUJ1ZmZlclZpZXciLCAiUGlwZSIsICJzcmMiLCAiZGVzdCIsICJvcHRzIiwgIl9lciIsICJQaXBlUHJveHlFcnJvcnMiLCAiZXIiLCAiaXNPYmplY3RNb2RlT3B0aW9ucyIsICJvIiwgImlzRW5jb2RpbmdPcHRpb25zIiwgImFyZ3MiLCAib3B0aW9ucyIsICJzaWduYWwiLCAiX2VuYyIsICJfb20iLCAiYSIsICJfIiwgImNodW5rIiwgImVuY29kaW5nIiwgImNiIiwgIm4iLCAicmV0IiwgImMiLCAibm9EcmFpbiIsICJlbmRlZCIsICJwIiwgImhhbmRsZXIiLCAiaCIsICJkYXRhIiwgImJ1ZiIsICJyZXNvbHZlIiwgInJlamVjdCIsICJzdG9wcGVkIiwgInN0b3AiLCAicmVzIiwgIm9uZXJyIiwgIm9uZGF0YSIsICJvbmVuZCIsICJvbmRlc3Ryb3kiLCAidmFsdWUiLCAicmVqIiwgIm5leHQiLCAid2MiLCAicmVhbHBhdGhTeW5jIiwgInJwcyIsICJkZWZhdWx0RlMiLCAibHN0YXRTeW5jIiwgInJlYWRkaXJDQiIsICJyZWFkZGlyU3luYyIsICJyZWFkbGlua1N5bmMiLCAibHN0YXQiLCAicmVhZGRpciIsICJyZWFkbGluayIsICJyZWFscGF0aCIsICJmc0Zyb21PcHRpb24iLCAiZnNPcHRpb24iLCAiYWN0dWFsRlMiLCAidW5jRHJpdmVSZWdleHAiLCAidW5jVG9Ecml2ZSIsICJyb290UGF0aCIsICJlaXRoZXJTZXAiLCAiVU5LTk9XTiIsICJJRklGTyIsICJJRkNIUiIsICJJRkRJUiIsICJJRkJMSyIsICJJRlJFRyIsICJJRkxOSyIsICJJRlNPQ0siLCAiSUZNVCIsICJJRk1UX1VOS05PV04iLCAiUkVBRERJUl9DQUxMRUQiLCAiTFNUQVRfQ0FMTEVEIiwgIkVOT1RESVIiLCAiRU5PRU5UIiwgIkVOT1JFQURMSU5LIiwgIkVOT1JFQUxQQVRIIiwgIkVOT0NISUxEIiwgIlRZUEVNQVNLIiwgImVudFRvVHlwZSIsICJzIiwgIm5vcm1hbGl6ZUNhY2hlIiwgIm5vcm1hbGl6ZSIsICJjIiwgIm4iLCAibm9ybWFsaXplTm9jYXNlQ2FjaGUiLCAibm9ybWFsaXplTm9jYXNlIiwgIlJlc29sdmVDYWNoZSIsICJMUlVDYWNoZSIsICJDaGlsZHJlbkNhY2hlIiwgIm1heFNpemUiLCAiYSIsICJzZXRBc0N3ZCIsICJQYXRoQmFzZSIsICIjZnMiLCAiI2RldiIsICIjbW9kZSIsICIjbmxpbmsiLCAiI3VpZCIsICIjZ2lkIiwgIiNyZGV2IiwgIiNibGtzaXplIiwgIiNpbm8iLCAiI3NpemUiLCAiI2Jsb2NrcyIsICIjYXRpbWVNcyIsICIjbXRpbWVNcyIsICIjY3RpbWVNcyIsICIjYmlydGh0aW1lTXMiLCAiI2F0aW1lIiwgIiNtdGltZSIsICIjY3RpbWUiLCAiI2JpcnRodGltZSIsICIjbWF0Y2hOYW1lIiwgIiNkZXB0aCIsICIjZnVsbHBhdGgiLCAiI2Z1bGxwYXRoUG9zaXgiLCAiI3JlbGF0aXZlIiwgIiNyZWxhdGl2ZVBvc2l4IiwgIiN0eXBlIiwgIiNjaGlsZHJlbiIsICIjbGlua1RhcmdldCIsICIjcmVhbHBhdGgiLCAibmFtZSIsICJ0eXBlIiwgInJvb3QiLCAicm9vdHMiLCAibm9jYXNlIiwgImNoaWxkcmVuIiwgIm9wdHMiLCAicGF0aCIsICJkaXJQYXJ0cyIsICIjcmVzb2x2ZVBhcnRzIiwgInAiLCAicGFydCIsICJjYWNoZWQiLCAicGF0aFBhcnQiLCAiZnVsbHBhdGgiLCAicGNoaWxkIiwgInB2IiwgImZwIiwgInBmcHAiLCAiZnBwIiwgImlmbXQiLCAidGFyZ2V0IiwgInJlYWQiLCAibGlua1RhcmdldCIsICJlciIsICIjcmVhZGxpbmtGYWlsIiwgIiNyZWFkZGlyU3VjY2VzcyIsICIjbWFya0VOT0VOVCIsICIjbWFya0NoaWxkcmVuRU5PRU5UIiwgIiNtYXJrRU5PUkVBTFBBVEgiLCAiI21hcmtFTk9URElSIiwgIiNyZWFkZGlyRmFpbCIsICJjb2RlIiwgIiNsc3RhdEZhaWwiLCAidGVyIiwgIiNyZWFkZGlyQWRkQ2hpbGQiLCAiZSIsICIjcmVhZGRpck1heWJlUHJvbW90ZUNoaWxkIiwgIiNyZWFkZGlyQWRkTmV3Q2hpbGQiLCAiY2hpbGQiLCAiI3JlYWRkaXJQcm9tb3RlQ2hpbGQiLCAiaW5kZXgiLCAidiIsICIjYXBwbHlTdGF0IiwgInN0IiwgImF0aW1lIiwgImF0aW1lTXMiLCAiYmlydGh0aW1lIiwgImJpcnRodGltZU1zIiwgImJsa3NpemUiLCAiYmxvY2tzIiwgImN0aW1lIiwgImN0aW1lTXMiLCAiZGV2IiwgImdpZCIsICJpbm8iLCAibW9kZSIsICJtdGltZSIsICJtdGltZU1zIiwgIm5saW5rIiwgInJkZXYiLCAic2l6ZSIsICJ1aWQiLCAiI29uUmVhZGRpckNCIiwgIiNyZWFkZGlyQ0JJbkZsaWdodCIsICIjY2FsbE9uUmVhZGRpckNCIiwgImNicyIsICJjYiIsICJhbGxvd1phbGdvIiwgImVudHJpZXMiLCAiI2FzeW5jUmVhZGRpckluRmxpZ2h0IiwgInJlc29sdmUiLCAicmVzIiwgImRpcnMiLCAid2Fsa0ZpbHRlciIsICJycCIsICJvbGRDd2QiLCAiY2hhbmdlZCIsICJQYXRoV2luMzIiLCAiX1BhdGhXaW4zMiIsICJ3aW4zMiIsICJjb21wYXJlIiwgIlBhdGhTY3VycnlXaW4zMiIsICJQYXRoUG9zaXgiLCAiX1BhdGhQb3NpeCIsICJfcm9vdFBhdGgiLCAiUGF0aFNjdXJyeUJhc2UiLCAiI3Jlc29sdmVDYWNoZSIsICIjcmVzb2x2ZVBvc2l4Q2FjaGUiLCAiY3dkIiwgInBhdGhJbXBsIiwgInNlcCIsICJjaGlsZHJlbkNhY2hlU2l6ZSIsICJmcyIsICJmaWxlVVJMVG9QYXRoIiwgImN3ZFBhdGgiLCAic3BsaXQiLCAicHJldiIsICJsZW4iLCAiam9pblNlcCIsICJhYnMiLCAic2F3Rmlyc3QiLCAibCIsICJwYXRocyIsICJpIiwgInJlc3VsdCIsICJlbnRyeSIsICJ3aXRoRmlsZVR5cGVzIiwgImZvbGxvdyIsICJmaWx0ZXIiLCAicmVzdWx0cyIsICJ3YWxrIiwgImRpciIsICJuZXh0IiwgInIiLCAic3RhcnQiLCAicmVqIiwgIm9wdGlvbnMiLCAiTWluaXBhc3MiLCAicXVldWUiLCAicHJvY2Vzc2luZyIsICJwcm9jZXNzIiwgInBhdXNlZCIsICJvblJlYWRkaXIiLCAiZGlkUmVhbHBhdGhzIiwgInByb21pc2VzIiwgInN5bmMiLCAiUGF0aFNjdXJyeVBvc2l4IiwgInBvc2l4IiwgIl9kaXIiLCAiUGF0aFNjdXJyeURhcndpbiIsICJQYXRoIiwgIlBhdGhTY3VycnkiLCAiaXNQYXR0ZXJuTGlzdCIsICJwbCIsICJpc0dsb2JMaXN0IiwgImdsIiwgIlBhdHRlcm4iLCAiX1BhdHRlcm4iLCAiI3BhdHRlcm5MaXN0IiwgIiNnbG9iTGlzdCIsICIjaW5kZXgiLCAiI3BsYXRmb3JtIiwgIiNyZXN0IiwgIiNnbG9iU3RyaW5nIiwgIiNpc0RyaXZlIiwgIiNpc1VOQyIsICIjaXNBYnNvbHV0ZSIsICIjZm9sbG93R2xvYnN0YXIiLCAicGF0dGVybkxpc3QiLCAiZ2xvYkxpc3QiLCAiaW5kZXgiLCAicGxhdGZvcm0iLCAicDAiLCAicDEiLCAicDIiLCAicDMiLCAicHJlc3QiLCAiZzAiLCAiZzEiLCAiZzIiLCAiZzMiLCAiZ3Jlc3QiLCAicCIsICJnIiwgIkdMT0JTVEFSIiwgImRlZmF1bHRQbGF0Zm9ybSIsICJJZ25vcmUiLCAiaWdub3JlZCIsICJub2JyYWNlIiwgIm5vY2FzZSIsICJub2V4dCIsICJub2dsb2JzdGFyIiwgInBsYXRmb3JtIiwgImlnbiIsICJtbSIsICJNaW5pbWF0Y2giLCAiaSIsICJwYXJzZWQiLCAiZ2xvYlBhcnRzIiwgInAiLCAiUGF0dGVybiIsICJtIiwgImNoaWxkcmVuIiwgImFic29sdXRlIiwgImZ1bGxwYXRoIiwgImZ1bGxwYXRocyIsICJyZWxhdGl2ZSIsICJyZWxhdGl2ZXMiLCAiSGFzV2Fsa2VkQ2FjaGUiLCAiX0hhc1dhbGtlZENhY2hlIiwgInN0b3JlIiwgInRhcmdldCIsICJwYXR0ZXJuIiwgImZ1bGxwYXRoIiwgImNhY2hlZCIsICJNYXRjaFJlY29yZCIsICJhYnNvbHV0ZSIsICJpZkRpciIsICJuIiwgImN1cnJlbnQiLCAicGF0aCIsICJTdWJXYWxrcyIsICJzdWJzIiwgInAiLCAiayIsICJQcm9jZXNzb3IiLCAiX1Byb2Nlc3NvciIsICJvcHRzIiwgImhhc1dhbGtlZENhY2hlIiwgInBhdHRlcm5zIiwgInByb2Nlc3NpbmdTZXQiLCAidCIsICJyb290IiwgInJlc3QiLCAiY2hhbmdlZCIsICJHTE9CU1RBUiIsICJycCIsICJycmVzdCIsICJ0cCIsICJwYXJlbnQiLCAiZW50cmllcyIsICJyZXN1bHRzIiwgImUiLCAiZXAiLCAibWFrZUlnbm9yZSIsICJpZ25vcmUiLCAib3B0cyIsICJJZ25vcmUiLCAiR2xvYlV0aWwiLCAiI29uUmVzdW1lIiwgIiNpZ25vcmUiLCAiI3NlcCIsICJwYXR0ZXJucyIsICJwYXRoIiwgIm0iLCAiI2lnbm9yZWQiLCAiI2NoaWxkcmVuSWdub3JlZCIsICJmbiIsICJlIiwgImlmRGlyIiwgInJwYyIsICJ0YXJnZXQiLCAiYWJzb2x1dGUiLCAiaWduIiwgImFicyIsICJtYXJrIiwgInJlbCIsICJwcmUiLCAicCIsICJjYiIsICJQcm9jZXNzb3IiLCAicHJvY2Vzc29yIiwgInRhc2tzIiwgIm5leHQiLCAidCIsICJjaGlsZHJlbkNhY2hlZCIsICJfIiwgImVudHJpZXMiLCAiY2hpbGRyZW4iLCAiR2xvYldhbGtlciIsICJyZXMiLCAicmVqIiwgIkdsb2JTdHJlYW0iLCAiTWluaXBhc3MiLCAiZGVmYXVsdFBsYXRmb3JtIiwgIkdsb2IiLCAicGF0dGVybiIsICJvcHRzIiwgImZpbGVVUkxUb1BhdGgiLCAicCIsICJTY3VycnkiLCAiUGF0aFNjdXJyeVdpbjMyIiwgIlBhdGhTY3VycnlEYXJ3aW4iLCAiUGF0aFNjdXJyeVBvc2l4IiwgIlBhdGhTY3VycnkiLCAibm9jYXNlTWFnaWNPbmx5IiwgIm1tbyIsICJtbXMiLCAiTWluaW1hdGNoIiwgIm1hdGNoU2V0IiwgImdsb2JQYXJ0cyIsICJzZXQiLCAibSIsICJpIiwgImciLCAiUGF0dGVybiIsICJHbG9iV2Fsa2VyIiwgIkdsb2JTdHJlYW0iLCAiaGFzTWFnaWMiLCAicGF0dGVybiIsICJvcHRpb25zIiwgInAiLCAiTWluaW1hdGNoIiwgImdsb2JTdHJlYW1TeW5jIiwgInBhdHRlcm4iLCAib3B0aW9ucyIsICJHbG9iIiwgImdsb2JTdHJlYW0iLCAiZ2xvYlN5bmMiLCAiZ2xvYl8iLCAiZ2xvYkl0ZXJhdGVTeW5jIiwgImdsb2JJdGVyYXRlIiwgInN0cmVhbVN5bmMiLCAic3RyZWFtIiwgIml0ZXJhdGVTeW5jIiwgIml0ZXJhdGUiLCAic3luYyIsICJnbG9iIiwgImhhc01hZ2ljIiwgImVzY2FwZSIsICJ1bmVzY2FwZSIsICJpbXBvcnRfbmFwaSIsICJnbiIsICJjbiIsICJtbiIsICJUZSIsICJkbiIsICJWRVJTSU9OIiwgImF1dG8iLCAia2luZCIsICJmZXRjaCIsICJSZXF1ZXN0IiwgIlJlc3BvbnNlIiwgIkhlYWRlcnMiLCAiRm9ybURhdGEiLCAiQmxvYiIsICJGaWxlIiwgIlJlYWRhYmxlU3RyZWFtIiwgImdldE11bHRpcGFydFJlcXVlc3RPcHRpb25zIiwgImdldERlZmF1bHRBZ2VudCIsICJmaWxlRnJvbVBhdGgiLCAiaXNGc1JlYWRTdHJlYW0iLCAic2V0U2hpbXMiLCAic2hpbXMiLCAib3B0aW9ucyIsICJpbml0X0ZpbGUiLCAiaW5pdF9pc0ZpbGUiLCAiaW5zcGVjdCIsICJpbml0X0Jsb2IiLCAiaXNCbG9iIiwgInZhbHVlIiwgIkJsb2IiLCAiaW5pdF9pc0Z1bmN0aW9uIiwgImRlcHJlY2F0ZSIsICJkZXByZWNhdGVDb25zdHJ1Y3RvckVudHJpZXMiLCAiX19jbGFzc1ByaXZhdGVGaWVsZEdldCIsICJyZWNlaXZlciIsICJzdGF0ZSIsICJraW5kIiwgImYiLCAiX0Zvcm1EYXRhX2luc3RhbmNlcyIsICJfRm9ybURhdGFfZW50cmllcyIsICJfRm9ybURhdGFfc2V0RW50cnkiLCAiRm9ybURhdGEiLCAiZW50cmllcyIsICJkZXByZWNhdGVDb25zdHJ1Y3RvckVudHJpZXMiLCAibmFtZSIsICJ2YWx1ZSIsICJmaWxlTmFtZSIsICJpc0Z1bmN0aW9uIiwgImZpZWxkIiwgImtleSIsICJ2YWx1ZXMiLCAicmF3VmFsdWUiLCAiYXBwZW5kIiwgImFyZ3NMZW5ndGgiLCAibWV0aG9kTmFtZSIsICJpc0ZpbGUiLCAiRmlsZSIsICJpc0Jsb2IiLCAiY2FsbGJhY2siLCAidGhpc0FyZyIsICJpbnNwZWN0IiwgImluaXRfQmxvYiIsICJpbml0X0ZpbGUiLCAiRnNSZWFkU3RyZWFtIiwgImFscGhhYmV0IiwgImNyZWF0ZUJvdW5kYXJ5IiwgInNpemUiLCAicmVzIiwgImNyZWF0ZUJvdW5kYXJ5X2RlZmF1bHQiLCAiZ2V0VHlwZSIsICJ2YWx1ZSIsICJpc1BsYWluT2JqZWN0IiwgInBwIiwgImlzUGxhaW5PYmplY3RfZGVmYXVsdCIsICJub3JtYWxpemVWYWx1ZSIsICJ2YWx1ZSIsICJtYXRjaCIsICJpIiwgInN0ciIsICJub3JtYWxpemVWYWx1ZV9kZWZhdWx0IiwgImVzY2FwZU5hbWUiLCAibmFtZSIsICJlc2NhcGVOYW1lX2RlZmF1bHQiLCAiaXNGdW5jdGlvbiIsICJ2YWx1ZSIsICJpc0Z1bmN0aW9uX2RlZmF1bHQiLCAiaXNGaWxlTGlrZSIsICJ2YWx1ZSIsICJpc0Z1bmN0aW9uX2RlZmF1bHQiLCAiaXNGb3JtRGF0YSIsICJ2YWx1ZSIsICJpc0Z1bmN0aW9uX2RlZmF1bHQiLCAiX19jbGFzc1ByaXZhdGVGaWVsZFNldCIsICJyZWNlaXZlciIsICJzdGF0ZSIsICJ2YWx1ZSIsICJraW5kIiwgImYiLCAiX19jbGFzc1ByaXZhdGVGaWVsZEdldCIsICJfRm9ybURhdGFFbmNvZGVyX2luc3RhbmNlcyIsICJfRm9ybURhdGFFbmNvZGVyX0NSTEYiLCAiX0Zvcm1EYXRhRW5jb2Rlcl9DUkxGX0JZVEVTIiwgIl9Gb3JtRGF0YUVuY29kZXJfQ1JMRl9CWVRFU19MRU5HVEgiLCAiX0Zvcm1EYXRhRW5jb2Rlcl9EQVNIRVMiLCAiX0Zvcm1EYXRhRW5jb2Rlcl9lbmNvZGVyIiwgIl9Gb3JtRGF0YUVuY29kZXJfZm9vdGVyIiwgIl9Gb3JtRGF0YUVuY29kZXJfZm9ybSIsICJfRm9ybURhdGFFbmNvZGVyX29wdGlvbnMiLCAiX0Zvcm1EYXRhRW5jb2Rlcl9nZXRGaWVsZEhlYWRlciIsICJkZWZhdWx0T3B0aW9ucyIsICJGb3JtRGF0YUVuY29kZXIiLCAiZm9ybSIsICJib3VuZGFyeU9yT3B0aW9ucyIsICJvcHRpb25zIiwgImlzRm9ybURhdGEiLCAiYm91bmRhcnkiLCAiaXNQbGFpbk9iamVjdF9kZWZhdWx0IiwgImNyZWF0ZUJvdW5kYXJ5X2RlZmF1bHQiLCAibGVuZ3RoIiwgIm5hbWUiLCAicmF3IiwgImlzRmlsZUxpa2UiLCAibm9ybWFsaXplVmFsdWVfZGVmYXVsdCIsICJwYXJ0IiwgImhlYWRlciIsICJlc2NhcGVOYW1lX2RlZmF1bHQiLCAiUmVhZGFibGUiLCAiTXVsdGlwYXJ0Qm9keSIsICJib2R5IiwgImZpbGVGcm9tUGF0aFdhcm5lZCIsICJmaWxlRnJvbVBhdGgiLCAicGF0aCIsICJhcmdzIiwgIl9maWxlRnJvbVBhdGgiLCAiZGVmYXVsdEh0dHBBZ2VudCIsICJLZWVwQWxpdmVBZ2VudCIsICJkZWZhdWx0SHR0cHNBZ2VudCIsICJnZXRNdWx0aXBhcnRSZXF1ZXN0T3B0aW9ucyIsICJmb3JtIiwgIm9wdHMiLCAiZW5jb2RlciIsICJGb3JtRGF0YUVuY29kZXIiLCAicmVhZGFibGUiLCAiUmVhZGFibGUiLCAiYm9keSIsICJNdWx0aXBhcnRCb2R5IiwgImhlYWRlcnMiLCAiZ2V0UnVudGltZSIsICJBYm9ydENvbnRyb2xsZXJQb2x5ZmlsbCIsICJGb3JtRGF0YSIsICJCbG9iIiwgIkZpbGUiLCAidXJsIiwgInZhbHVlIiwgIkZzUmVhZFN0cmVhbSIsICJraW5kIiwgInNldFNoaW1zIiwgImdldFJ1bnRpbWUiLCAiZXJyb3JfZXhwb3J0cyIsICJfX2V4cG9ydCIsICJBUElDb25uZWN0aW9uRXJyb3IiLCAiQVBJQ29ubmVjdGlvblRpbWVvdXRFcnJvciIsICJBUElFcnJvciIsICJBUElVc2VyQWJvcnRFcnJvciIsICJBdXRoZW50aWNhdGlvbkVycm9yIiwgIkJhZFJlcXVlc3RFcnJvciIsICJDb25mbGljdEVycm9yIiwgIkludGVybmFsU2VydmVyRXJyb3IiLCAiTm90Rm91bmRFcnJvciIsICJPcGVuQUlFcnJvciIsICJQZXJtaXNzaW9uRGVuaWVkRXJyb3IiLCAiUmF0ZUxpbWl0RXJyb3IiLCAiVW5wcm9jZXNzYWJsZUVudGl0eUVycm9yIiwgIk9wZW5BSUVycm9yIiwgIkFQSUVycm9yIiwgIl9BUElFcnJvciIsICJzdGF0dXMiLCAiZXJyb3IiLCAibWVzc2FnZSIsICJoZWFkZXJzIiwgImRhdGEiLCAibXNnIiwgImVycm9yUmVzcG9uc2UiLCAiQVBJQ29ubmVjdGlvbkVycm9yIiwgImNhc3RUb0Vycm9yIiwgIkJhZFJlcXVlc3RFcnJvciIsICJBdXRoZW50aWNhdGlvbkVycm9yIiwgIlBlcm1pc3Npb25EZW5pZWRFcnJvciIsICJOb3RGb3VuZEVycm9yIiwgIkNvbmZsaWN0RXJyb3IiLCAiVW5wcm9jZXNzYWJsZUVudGl0eUVycm9yIiwgIlJhdGVMaW1pdEVycm9yIiwgIkludGVybmFsU2VydmVyRXJyb3IiLCAiQVBJVXNlckFib3J0RXJyb3IiLCAiY2F1c2UiLCAiQVBJQ29ubmVjdGlvblRpbWVvdXRFcnJvciIsICJTdHJlYW0iLCAiX1N0cmVhbSIsICJpdGVyYXRvciIsICJjb250cm9sbGVyIiwgInJlc3BvbnNlIiwgImNvbnN1bWVkIiwgImRlY29kZXIiLCAiU1NFRGVjb2RlciIsICJpdGVyTWVzc2FnZXMiLCAiT3BlbkFJRXJyb3IiLCAibGluZURlY29kZXIiLCAiTGluZURlY29kZXIiLCAiaXRlciIsICJyZWFkYWJsZVN0cmVhbUFzeW5jSXRlcmFibGUiLCAiY2h1bmsiLCAibGluZSIsICJzc2UiLCAiZG9uZSIsICJkYXRhIiwgImUiLCAiQVBJRXJyb3IiLCAicmVhZGFibGVTdHJlYW0iLCAiaXRlckxpbmVzIiwgImxlZnQiLCAicmlnaHQiLCAidGVlSXRlcmF0b3IiLCAicXVldWUiLCAicmVzdWx0IiwgInNlbGYiLCAiZW5jb2RlciIsICJSZWFkYWJsZVN0cmVhbSIsICJjdHJsIiwgInZhbHVlIiwgImJ5dGVzIiwgImVyciIsICJmaWVsZG5hbWUiLCAiXyIsICJwYXJ0aXRpb24iLCAiX0xpbmVEZWNvZGVyIiwgInRleHQiLCAidHJhaWxpbmdOZXdsaW5lIiwgImxpbmVzIiwgInN0ciIsICJkZWxpbWl0ZXIiLCAiaW5kZXgiLCAic3RyZWFtIiwgInJlYWRlciIsICJjYW5jZWxQcm9taXNlIiwgImlzUmVzcG9uc2VMaWtlIiwgInZhbHVlIiwgImlzRmlsZUxpa2UiLCAiaXNCbG9iTGlrZSIsICJpc1VwbG9hZGFibGUiLCAiaXNGc1JlYWRTdHJlYW0iLCAidG9GaWxlIiwgIm5hbWUiLCAib3B0aW9ucyIsICJibG9iIiwgIkZpbGUiLCAiYml0cyIsICJnZXRCeXRlcyIsICJnZXROYW1lIiwgInR5cGUiLCAicGFydHMiLCAiaXNBc3luY0l0ZXJhYmxlSXRlcmF0b3IiLCAiY2h1bmsiLCAicHJvcHNGb3JFcnJvciIsICJwIiwgImdldFN0cmluZ0Zyb21NYXliZUJ1ZmZlciIsICJ4IiwgImlzTXVsdGlwYXJ0Qm9keSIsICJib2R5IiwgIm11bHRpcGFydEZvcm1SZXF1ZXN0T3B0aW9ucyIsICJvcHRzIiwgImZvcm0iLCAiY3JlYXRlRm9ybSIsICJnZXRNdWx0aXBhcnRSZXF1ZXN0T3B0aW9ucyIsICJib2R5IiwgIkZvcm1EYXRhIiwgImtleSIsICJ2YWx1ZSIsICJhZGRGb3JtVmFsdWUiLCAiYWRkRm9ybVZhbHVlIiwgImZvcm0iLCAia2V5IiwgInZhbHVlIiwgImlzVXBsb2FkYWJsZSIsICJmaWxlIiwgInRvRmlsZSIsICJlbnRyeSIsICJuYW1lIiwgInByb3AiLCAiZGVmYXVsdFBhcnNlUmVzcG9uc2UiLCAicHJvcHMiLCAicmVzcG9uc2UiLCAiZGVidWciLCAiU3RyZWFtIiwgImpzb24iLCAidGV4dCIsICJBUElQcm9taXNlIiwgIl9BUElQcm9taXNlIiwgInJlc3BvbnNlUHJvbWlzZSIsICJwYXJzZVJlc3BvbnNlIiwgInJlc29sdmUiLCAidHJhbnNmb3JtIiwgInAiLCAiZGF0YSIsICJvbmZ1bGZpbGxlZCIsICJvbnJlamVjdGVkIiwgIm9uZmluYWxseSIsICJBUElDbGllbnQiLCAiYmFzZVVSTCIsICJtYXhSZXRyaWVzIiwgInRpbWVvdXQiLCAiaHR0cEFnZW50IiwgIm92ZXJyaWRlbkZldGNoIiwgInZhbGlkYXRlUG9zaXRpdmVJbnRlZ2VyIiwgImZldGNoIiwgIm9wdHMiLCAiZ2V0UGxhdGZvcm1IZWFkZXJzIiwgImhlYWRlcnMiLCAiY3VzdG9tSGVhZGVycyIsICJ1dWlkNCIsICJwYXRoIiwgIm1ldGhvZCIsICJQYWdlIiwgImJvZHkiLCAib3B0aW9ucyIsICJxdWVyeSIsICJpc011bHRpcGFydEJvZHkiLCAiY29udGVudExlbmd0aCIsICJ1cmwiLCAiZ2V0RGVmYXVsdEFnZW50IiwgIm1pbkFnZW50VGltZW91dCIsICJyZXFIZWFkZXJzIiwgImtpbmQiLCAia2V5IiwgInJlcSIsICJyZXF1ZXN0IiwgImhlYWRlciIsICJzdGF0dXMiLCAiZXJyb3IiLCAibWVzc2FnZSIsICJBUElFcnJvciIsICJyZW1haW5pbmdSZXRyaWVzIiwgIm9wdGlvbnNJbnB1dCIsICJyZXRyaWVzUmVtYWluaW5nIiwgIkFQSVVzZXJBYm9ydEVycm9yIiwgImNvbnRyb2xsZXIiLCAiY2FzdFRvRXJyb3IiLCAiQVBJQ29ubmVjdGlvblRpbWVvdXRFcnJvciIsICJBUElDb25uZWN0aW9uRXJyb3IiLCAicmVzcG9uc2VIZWFkZXJzIiwgImNyZWF0ZVJlc3BvbnNlSGVhZGVycyIsICJlcnJUZXh0IiwgImUiLCAiZXJySlNPTiIsICJzYWZlSlNPTiIsICJlcnJNZXNzYWdlIiwgIlBhZ2VQcm9taXNlIiwgImlzQWJzb2x1dGVVUkwiLCAiZGVmYXVsdFF1ZXJ5IiwgImlzRW1wdHlPYmoiLCAiXyIsICJ2YWx1ZSIsICJPcGVuQUlFcnJvciIsICJpbml0IiwgIm1zIiwgInNpZ25hbCIsICJzaG91bGRSZXRyeUhlYWRlciIsICJ0aW1lb3V0TWlsbGlzIiwgInJldHJ5QWZ0ZXJIZWFkZXIiLCAidGltZW91dFNlY29uZHMiLCAic2xlZXAiLCAibnVtUmV0cmllcyIsICJzbGVlcFNlY29uZHMiLCAiaml0dGVyIiwgIlZFUlNJT04iLCAiQWJzdHJhY3RQYWdlIiwgImNsaWVudCIsICJfQWJzdHJhY3RQYWdlX2NsaWVudCIsICJfX2NsYXNzUHJpdmF0ZUZpZWxkU2V0IiwgIm5leHRJbmZvIiwgIm5leHRPcHRpb25zIiwgInBhcmFtcyIsICJfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0IiwgInBhZ2UiLCAiaXRlbSIsICJ0YXJnZXQiLCAibmFtZSIsICJyZXF1ZXN0T3B0aW9uc0tleXMiLCAiaXNSZXF1ZXN0T3B0aW9ucyIsICJvYmoiLCAiayIsICJoYXNPd24iLCAiZ2V0UGxhdGZvcm1Qcm9wZXJ0aWVzIiwgIm5vcm1hbGl6ZVBsYXRmb3JtIiwgIm5vcm1hbGl6ZUFyY2giLCAiYnJvd3NlckluZm8iLCAiZ2V0QnJvd3NlckluZm8iLCAiYnJvd3NlclBhdHRlcm5zIiwgInBhdHRlcm4iLCAibWF0Y2giLCAibWFqb3IiLCAibWlub3IiLCAicGF0Y2giLCAiYXJjaCIsICJwbGF0Zm9ybSIsICJfcGxhdGZvcm1IZWFkZXJzIiwgInN0YXJ0c1dpdGhTY2hlbWVSZWdleHAiLCAibiIsICJlcnIiLCAicmVhZEVudiIsICJlbnYiLCAiaXNFbXB0eU9iaiIsICJvYmoiLCAiX2siLCAiaGFzT3duIiwgImtleSIsICJkZWJ1ZyIsICJhY3Rpb24iLCAiYXJncyIsICJ1dWlkNCIsICJjIiwgInIiLCAiaXNSdW5uaW5nSW5Ccm93c2VyIiwgIlBhZ2UiLCAiQWJzdHJhY3RQYWdlIiwgImNsaWVudCIsICJyZXNwb25zZSIsICJib2R5IiwgIm9wdGlvbnMiLCAiQ3Vyc29yUGFnZSIsICJpbmZvIiwgInBhcmFtcyIsICJuZXh0IiwgIkFQSVJlc291cmNlIiwgImNsaWVudCIsICJDb21wbGV0aW9ucyIsICJBUElSZXNvdXJjZSIsICJib2R5IiwgIm9wdGlvbnMiLCAiQ2hhdCIsICJBUElSZXNvdXJjZSIsICJDb21wbGV0aW9ucyIsICJTcGVlY2giLCAiQVBJUmVzb3VyY2UiLCAiYm9keSIsICJvcHRpb25zIiwgIlRyYW5zY3JpcHRpb25zIiwgIkFQSVJlc291cmNlIiwgImJvZHkiLCAib3B0aW9ucyIsICJtdWx0aXBhcnRGb3JtUmVxdWVzdE9wdGlvbnMiLCAiVHJhbnNsYXRpb25zIiwgIkFQSVJlc291cmNlIiwgImJvZHkiLCAib3B0aW9ucyIsICJtdWx0aXBhcnRGb3JtUmVxdWVzdE9wdGlvbnMiLCAiQXVkaW8iLCAiQVBJUmVzb3VyY2UiLCAiVHJhbnNjcmlwdGlvbnMiLCAiVHJhbnNsYXRpb25zIiwgIlNwZWVjaCIsICJGaWxlcyIsICJBUElSZXNvdXJjZSIsICJhc3Npc3RhbnRJZCIsICJib2R5IiwgIm9wdGlvbnMiLCAiZmlsZUlkIiwgInF1ZXJ5IiwgImlzUmVxdWVzdE9wdGlvbnMiLCAiQXNzaXN0YW50RmlsZXNQYWdlIiwgIkN1cnNvclBhZ2UiLCAiQXNzaXN0YW50cyIsICJBUElSZXNvdXJjZSIsICJGaWxlcyIsICJib2R5IiwgIm9wdGlvbnMiLCAiYXNzaXN0YW50SWQiLCAicXVlcnkiLCAiaXNSZXF1ZXN0T3B0aW9ucyIsICJBc3Npc3RhbnRzUGFnZSIsICJDdXJzb3JQYWdlIiwgIkFzc2lzdGFudEZpbGVzUGFnZSIsICJpc1J1bm5hYmxlRnVuY3Rpb25XaXRoUGFyc2UiLCAiZm4iLCAiaXNBc3Npc3RhbnRNZXNzYWdlIiwgIm1lc3NhZ2UiLCAiaXNGdW5jdGlvbk1lc3NhZ2UiLCAiaXNUb29sTWVzc2FnZSIsICJERUZBVUxUX01BWF9DSEFUX0NPTVBMRVRJT05TIiwgIkFic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXIiLCAiX0Fic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXJfY29ubmVjdGVkUHJvbWlzZSIsICJfQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lcl9yZXNvbHZlQ29ubmVjdGVkUHJvbWlzZSIsICJfQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lcl9yZWplY3RDb25uZWN0ZWRQcm9taXNlIiwgIl9BYnN0cmFjdENoYXRDb21wbGV0aW9uUnVubmVyX2VuZFByb21pc2UiLCAiX0Fic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXJfcmVzb2x2ZUVuZFByb21pc2UiLCAiX0Fic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXJfcmVqZWN0RW5kUHJvbWlzZSIsICJfQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lcl9saXN0ZW5lcnMiLCAiX0Fic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXJfZW5kZWQiLCAiX0Fic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXJfZXJyb3JlZCIsICJfQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lcl9hYm9ydGVkIiwgIl9BYnN0cmFjdENoYXRDb21wbGV0aW9uUnVubmVyX2NhdGNoaW5nUHJvbWlzZUNyZWF0ZWQiLCAiX0Fic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXJfaGFuZGxlRXJyb3IiLCAiZXJyb3IiLCAiX19jbGFzc1ByaXZhdGVGaWVsZFNldCIsICJBUElVc2VyQWJvcnRFcnJvciIsICJPcGVuQUlFcnJvciIsICJvcGVuQUlFcnJvciIsICJyZXNvbHZlIiwgInJlamVjdCIsICJfX2NsYXNzUHJpdmF0ZUZpZWxkR2V0IiwgImV4ZWN1dG9yIiwgImNoYXRDb21wbGV0aW9uIiwgIm1lc3NhZ2UiLCAiZW1pdCIsICJpc0Z1bmN0aW9uTWVzc2FnZSIsICJpc1Rvb2xNZXNzYWdlIiwgImlzQXNzaXN0YW50TWVzc2FnZSIsICJ0b29sX2NhbGwiLCAiZXZlbnQiLCAibGlzdGVuZXIiLCAibGlzdGVuZXJzIiwgImluZGV4IiwgImwiLCAiY29tcGxldGlvbiIsICJfQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lcl9pbnN0YW5jZXMiLCAiX0Fic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXJfZ2V0RmluYWxDb250ZW50IiwgIl9BYnN0cmFjdENoYXRDb21wbGV0aW9uUnVubmVyX2dldEZpbmFsTWVzc2FnZSIsICJfQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lcl9nZXRGaW5hbEZ1bmN0aW9uQ2FsbCIsICJfQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lcl9nZXRGaW5hbEZ1bmN0aW9uQ2FsbFJlc3VsdCIsICJfQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lcl9jYWxjdWxhdGVUb3RhbFVzYWdlIiwgImFyZ3MiLCAiZmluYWxNZXNzYWdlIiwgImZpbmFsQ29udGVudCIsICJmaW5hbEZ1bmN0aW9uQ2FsbCIsICJmaW5hbEZ1bmN0aW9uQ2FsbFJlc3VsdCIsICJjIiwgImNvbXBsZXRpb25zIiwgInBhcmFtcyIsICJvcHRpb25zIiwgInNpZ25hbCIsICJfQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lcl92YWxpZGF0ZVBhcmFtcyIsICJyb2xlIiwgImZ1bmN0aW9uX2NhbGwiLCAic3RyZWFtIiwgInJlc3RQYXJhbXMiLCAic2luZ2xlRnVuY3Rpb25Ub0NhbGwiLCAibWF4Q2hhdENvbXBsZXRpb25zIiwgImZ1bmN0aW9uc0J5TmFtZSIsICJmIiwgImZ1bmN0aW9ucyIsICJpIiwgIm5hbWUiLCAiZm4iLCAiY29udGVudCIsICJwYXJzZWQiLCAiaXNSdW5uYWJsZUZ1bmN0aW9uV2l0aFBhcnNlIiwgInJhd0NvbnRlbnQiLCAiX0Fic3RyYWN0Q2hhdENvbXBsZXRpb25SdW5uZXJfc3RyaW5naWZ5RnVuY3Rpb25DYWxsUmVzdWx0IiwgInRvb2xfY2hvaWNlIiwgInRvb2xzIiwgInQiLCAidG9vbF9jYWxsX2lkIiwgIngiLCAieSIsICJ0b3RhbCIsICJ1c2FnZSIsICJDaGF0Q29tcGxldGlvblJ1bm5lciIsICJfQ2hhdENvbXBsZXRpb25SdW5uZXIiLCAiQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lciIsICJjb21wbGV0aW9ucyIsICJwYXJhbXMiLCAib3B0aW9ucyIsICJydW5uZXIiLCAib3B0cyIsICJtZXNzYWdlIiwgImlzQXNzaXN0YW50TWVzc2FnZSIsICJDaGF0Q29tcGxldGlvblN0cmVhbSIsICJfQ2hhdENvbXBsZXRpb25TdHJlYW0iLCAiQWJzdHJhY3RDaGF0Q29tcGxldGlvblJ1bm5lciIsICJfQ2hhdENvbXBsZXRpb25TdHJlYW1fY3VycmVudENoYXRDb21wbGV0aW9uU25hcHNob3QiLCAiX19jbGFzc1ByaXZhdGVGaWVsZEdldCIsICJzdHJlYW0iLCAicnVubmVyIiwgImNvbXBsZXRpb25zIiwgInBhcmFtcyIsICJvcHRpb25zIiwgInNpZ25hbCIsICJfQ2hhdENvbXBsZXRpb25TdHJlYW1faW5zdGFuY2VzIiwgIl9DaGF0Q29tcGxldGlvblN0cmVhbV9iZWdpblJlcXVlc3QiLCAiY2h1bmsiLCAiX0NoYXRDb21wbGV0aW9uU3RyZWFtX2FkZENodW5rIiwgIkFQSVVzZXJBYm9ydEVycm9yIiwgIl9DaGF0Q29tcGxldGlvblN0cmVhbV9lbmRSZXF1ZXN0IiwgInJlYWRhYmxlU3RyZWFtIiwgIlN0cmVhbSIsICJjaGF0SWQiLCAiX19jbGFzc1ByaXZhdGVGaWVsZFNldCIsICJjb21wbGV0aW9uIiwgIl9DaGF0Q29tcGxldGlvblN0cmVhbV9hY2N1bXVsYXRlQ2hhdENvbXBsZXRpb24iLCAiZGVsdGEiLCAic25hcHNob3QiLCAiT3BlbkFJRXJyb3IiLCAiZmluYWxpemVDaGF0Q29tcGxldGlvbiIsICJjaG9pY2VzIiwgInJlc3QiLCAiZmluaXNoX3JlYXNvbiIsICJpbmRleCIsICJsb2dwcm9icyIsICJvdGhlciIsICJjaG9pY2UiLCAiX2EiLCAiY29udGVudCIsICJmdW5jdGlvbl9jYWxsIiwgInJvbGUiLCAidG9vbF9jYWxscyIsICJfYiIsICJpZCIsICJ0eXBlIiwgImZuIiwgInRvb2xfY2FsbCIsICJfYyIsICJwdXNoUXVldWUiLCAicmVhZFF1ZXVlIiwgImRvbmUiLCAicmVhZGVyIiwgInJlc29sdmUiLCAiY3JlYXRlZCIsICJtb2RlbCIsICJtZXNzYWdlIiwgImFyZ3MiLCAibmFtZSIsICJpIiwgInN0ciIsICJ4IiwgIkNoYXRDb21wbGV0aW9uU3RyZWFtaW5nUnVubmVyIiwgIl9DaGF0Q29tcGxldGlvblN0cmVhbWluZ1J1bm5lciIsICJDaGF0Q29tcGxldGlvblN0cmVhbSIsICJzdHJlYW0iLCAicnVubmVyIiwgImNvbXBsZXRpb25zIiwgInBhcmFtcyIsICJvcHRpb25zIiwgIm9wdHMiLCAiQ29tcGxldGlvbnMiLCAiQVBJUmVzb3VyY2UiLCAiYm9keSIsICJvcHRpb25zIiwgIkNoYXRDb21wbGV0aW9uU3RyZWFtaW5nUnVubmVyIiwgIkNoYXRDb21wbGV0aW9uUnVubmVyIiwgIkNoYXRDb21wbGV0aW9uU3RyZWFtIiwgIkNoYXQiLCAiQVBJUmVzb3VyY2UiLCAiQ29tcGxldGlvbnMiLCAiRmlsZXMiLCAiQVBJUmVzb3VyY2UiLCAidGhyZWFkSWQiLCAibWVzc2FnZUlkIiwgImZpbGVJZCIsICJvcHRpb25zIiwgInF1ZXJ5IiwgImlzUmVxdWVzdE9wdGlvbnMiLCAiTWVzc2FnZUZpbGVzUGFnZSIsICJDdXJzb3JQYWdlIiwgIk1lc3NhZ2VzIiwgIkFQSVJlc291cmNlIiwgIkZpbGVzIiwgInRocmVhZElkIiwgImJvZHkiLCAib3B0aW9ucyIsICJtZXNzYWdlSWQiLCAicXVlcnkiLCAiaXNSZXF1ZXN0T3B0aW9ucyIsICJUaHJlYWRNZXNzYWdlc1BhZ2UiLCAiQ3Vyc29yUGFnZSIsICJNZXNzYWdlRmlsZXNQYWdlIiwgIlN0ZXBzIiwgIkFQSVJlc291cmNlIiwgInRocmVhZElkIiwgInJ1bklkIiwgInN0ZXBJZCIsICJvcHRpb25zIiwgInF1ZXJ5IiwgImlzUmVxdWVzdE9wdGlvbnMiLCAiUnVuU3RlcHNQYWdlIiwgIkN1cnNvclBhZ2UiLCAiUnVucyIsICJBUElSZXNvdXJjZSIsICJTdGVwcyIsICJ0aHJlYWRJZCIsICJib2R5IiwgIm9wdGlvbnMiLCAicnVuSWQiLCAicXVlcnkiLCAiaXNSZXF1ZXN0T3B0aW9ucyIsICJSdW5zUGFnZSIsICJDdXJzb3JQYWdlIiwgIlJ1blN0ZXBzUGFnZSIsICJUaHJlYWRzIiwgIkFQSVJlc291cmNlIiwgIlJ1bnMiLCAiTWVzc2FnZXMiLCAiYm9keSIsICJvcHRpb25zIiwgImlzUmVxdWVzdE9wdGlvbnMiLCAidGhyZWFkSWQiLCAiUnVuc1BhZ2UiLCAiVGhyZWFkTWVzc2FnZXNQYWdlIiwgIkJldGEiLCAiQVBJUmVzb3VyY2UiLCAiQ2hhdCIsICJBc3Npc3RhbnRzIiwgIlRocmVhZHMiLCAiQXNzaXN0YW50c1BhZ2UiLCAiQ29tcGxldGlvbnMiLCAiQVBJUmVzb3VyY2UiLCAiYm9keSIsICJvcHRpb25zIiwgIkVtYmVkZGluZ3MiLCAiQVBJUmVzb3VyY2UiLCAiYm9keSIsICJvcHRpb25zIiwgIkVkaXRzIiwgIkFQSVJlc291cmNlIiwgImJvZHkiLCAib3B0aW9ucyIsICJGaWxlcyIsICJBUElSZXNvdXJjZSIsICJib2R5IiwgIm9wdGlvbnMiLCAibXVsdGlwYXJ0Rm9ybVJlcXVlc3RPcHRpb25zIiwgImZpbGVJZCIsICJxdWVyeSIsICJpc1JlcXVlc3RPcHRpb25zIiwgIkZpbGVPYmplY3RzUGFnZSIsICJpZCIsICJwb2xsSW50ZXJ2YWwiLCAibWF4V2FpdCIsICJURVJNSU5BTF9TVEFURVMiLCAic3RhcnQiLCAiZmlsZSIsICJzbGVlcCIsICJBUElDb25uZWN0aW9uVGltZW91dEVycm9yIiwgIlBhZ2UiLCAiRmluZVR1bmVzIiwgIkFQSVJlc291cmNlIiwgImJvZHkiLCAib3B0aW9ucyIsICJmaW5lVHVuZUlkIiwgIkZpbmVUdW5lc1BhZ2UiLCAicXVlcnkiLCAiUGFnZSIsICJKb2JzIiwgIkFQSVJlc291cmNlIiwgImJvZHkiLCAib3B0aW9ucyIsICJmaW5lVHVuaW5nSm9iSWQiLCAicXVlcnkiLCAiaXNSZXF1ZXN0T3B0aW9ucyIsICJGaW5lVHVuaW5nSm9ic1BhZ2UiLCAiRmluZVR1bmluZ0pvYkV2ZW50c1BhZ2UiLCAiQ3Vyc29yUGFnZSIsICJGaW5lVHVuaW5nIiwgIkFQSVJlc291cmNlIiwgIkpvYnMiLCAiRmluZVR1bmluZ0pvYnNQYWdlIiwgIkZpbmVUdW5pbmdKb2JFdmVudHNQYWdlIiwgIkltYWdlcyIsICJBUElSZXNvdXJjZSIsICJib2R5IiwgIm9wdGlvbnMiLCAibXVsdGlwYXJ0Rm9ybVJlcXVlc3RPcHRpb25zIiwgIk1vZGVscyIsICJBUElSZXNvdXJjZSIsICJtb2RlbCIsICJvcHRpb25zIiwgIk1vZGVsc1BhZ2UiLCAiUGFnZSIsICJNb2RlcmF0aW9ucyIsICJBUElSZXNvdXJjZSIsICJib2R5IiwgIm9wdGlvbnMiLCAiT3BlbkFJIiwgIkFQSUNsaWVudCIsICJiYXNlVVJMIiwgInJlYWRFbnYiLCAiYXBpS2V5IiwgIm9yZ2FuaXphdGlvbiIsICJvcHRzIiwgIk9wZW5BSUVycm9yIiwgIm9wdGlvbnMiLCAiaXNSdW5uaW5nSW5Ccm93c2VyIiwgIkNvbXBsZXRpb25zIiwgIkNoYXQiLCAiRWRpdHMiLCAiRW1iZWRkaW5ncyIsICJGaWxlcyIsICJJbWFnZXMiLCAiQXVkaW8iLCAiTW9kZXJhdGlvbnMiLCAiTW9kZWxzIiwgIkZpbmVUdW5pbmciLCAiRmluZVR1bmVzIiwgIkJldGEiLCAiX2EiLCAiQVBJRXJyb3IiLCAiQVBJQ29ubmVjdGlvbkVycm9yIiwgIkFQSUNvbm5lY3Rpb25UaW1lb3V0RXJyb3IiLCAiQVBJVXNlckFib3J0RXJyb3IiLCAiTm90Rm91bmRFcnJvciIsICJDb25mbGljdEVycm9yIiwgIlJhdGVMaW1pdEVycm9yIiwgIkJhZFJlcXVlc3RFcnJvciIsICJBdXRoZW50aWNhdGlvbkVycm9yIiwgIkludGVybmFsU2VydmVyRXJyb3IiLCAiUGVybWlzc2lvbkRlbmllZEVycm9yIiwgIlVucHJvY2Vzc2FibGVFbnRpdHlFcnJvciIsICJlcnJvcl9leHBvcnRzIiwgIk9wZW5BSSIsICJ0b0ZpbGUiLCAiZmlsZUZyb21QYXRoIiwgIlBhZ2UiLCAiQ3Vyc29yUGFnZSIsICJDb21wbGV0aW9ucyIsICJDaGF0IiwgIkVkaXRzIiwgIkVtYmVkZGluZ3MiLCAiRmlsZXMiLCAiRmlsZU9iamVjdHNQYWdlIiwgIkltYWdlcyIsICJBdWRpbyIsICJNb2RlcmF0aW9ucyIsICJNb2RlbHMiLCAiTW9kZWxzUGFnZSIsICJGaW5lVHVuaW5nIiwgIkZpbmVUdW5lcyIsICJGaW5lVHVuZXNQYWdlIiwgIkJldGEiLCAib3BlbmFpX2RlZmF1bHQiLCAiUGUiLCAiQmYiLCAiaW1wb3J0X2pzY29kZXNoaWZ0IiwgIkRpZmYiLCAib2xkU3RyaW5nIiwgIm5ld1N0cmluZyIsICJfb3B0aW9ucyR0aW1lb3V0IiwgIm9wdGlvbnMiLCAiY2FsbGJhY2siLCAic2VsZiIsICJkb25lIiwgInZhbHVlIiwgIm5ld0xlbiIsICJvbGRMZW4iLCAiZWRpdExlbmd0aCIsICJtYXhFZGl0TGVuZ3RoIiwgIm1heEV4ZWN1dGlvblRpbWUiLCAiYWJvcnRBZnRlclRpbWVzdGFtcCIsICJiZXN0UGF0aCIsICJuZXdQb3MiLCAibWluRGlhZ29uYWxUb0NvbnNpZGVyIiwgIm1heERpYWdvbmFsVG9Db25zaWRlciIsICJleGVjRWRpdExlbmd0aCIsICJkaWFnb25hbFBhdGgiLCAiYmFzZVBhdGgiLCAicmVtb3ZlUGF0aCIsICJhZGRQYXRoIiwgImNhbkFkZCIsICJhZGRQYXRoTmV3UG9zIiwgImNhblJlbW92ZSIsICJidWlsZFZhbHVlcyIsICJleGVjIiwgInJldCIsICJwYXRoIiwgImFkZGVkIiwgInJlbW92ZWQiLCAib2xkUG9zSW5jIiwgImxhc3QiLCAib2xkUG9zIiwgImNvbW1vbkNvdW50IiwgImxlZnQiLCAicmlnaHQiLCAiYXJyYXkiLCAiaSIsICJjaGFycyIsICJkaWZmIiwgImxhc3RDb21wb25lbnQiLCAidXNlTG9uZ2VzdFRva2VuIiwgImNvbXBvbmVudHMiLCAibmV4dENvbXBvbmVudCIsICJjb21wb25lbnRQb3MiLCAiY29tcG9uZW50TGVuIiwgImNvbXBvbmVudCIsICJ0bXAiLCAib2xkVmFsdWUiLCAiZmluYWxDb21wb25lbnQiLCAiY2hhcmFjdGVyRGlmZiIsICJleHRlbmRlZFdvcmRDaGFycyIsICJyZVdoaXRlc3BhY2UiLCAid29yZERpZmYiLCAiRGlmZiIsICJsZWZ0IiwgInJpZ2h0IiwgInZhbHVlIiwgInRva2VucyIsICJpIiwgImxpbmVEaWZmIiwgIkRpZmYiLCAidmFsdWUiLCAicmV0TGluZXMiLCAibGluZXNBbmROZXdsaW5lcyIsICJpIiwgImxpbmUiLCAiZGlmZkxpbmVzIiwgIm9sZFN0ciIsICJuZXdTdHIiLCAiY2FsbGJhY2siLCAic2VudGVuY2VEaWZmIiwgIkRpZmYiLCAidmFsdWUiLCAiY3NzRGlmZiIsICJEaWZmIiwgInZhbHVlIiwgIl90eXBlb2YiLCAib2JqIiwgIm9iamVjdFByb3RvdHlwZVRvU3RyaW5nIiwgImpzb25EaWZmIiwgIkRpZmYiLCAibGluZURpZmYiLCAidmFsdWUiLCAiX3RoaXMkb3B0aW9ucyIsICJ1bmRlZmluZWRSZXBsYWNlbWVudCIsICJfdGhpcyRvcHRpb25zJHN0cmluZ2kiLCAic3RyaW5naWZ5UmVwbGFjZXIiLCAiayIsICJ2IiwgImNhbm9uaWNhbGl6ZSIsICJsZWZ0IiwgInJpZ2h0IiwgImNhbm9uaWNhbGl6ZSIsICJvYmoiLCAic3RhY2siLCAicmVwbGFjZW1lbnRTdGFjayIsICJyZXBsYWNlciIsICJrZXkiLCAiaSIsICJjYW5vbmljYWxpemVkT2JqIiwgIm9iamVjdFByb3RvdHlwZVRvU3RyaW5nIiwgIl90eXBlb2YiLCAic29ydGVkS2V5cyIsICJfa2V5IiwgImFycmF5RGlmZiIsICJEaWZmIiwgInZhbHVlIiwgImNvbnZlcnRDaGFuZ2VzVG9ETVAiLCAiY2hhbmdlcyIsICJyZXQiLCAiY2hhbmdlIiwgIm9wZXJhdGlvbiIsICJjaGFycyIsICJpbnRUb0NoYXIiLCAiY2hhclRvSW50IiwgImkiLCAiYyIsICJlbmNvZGVJbnRlZ2VyIiwgImJ1aWxkZXIiLCAibnVtIiwgInJlbGF0aXZlIiwgImRlbHRhIiwgImNsYW1wZWQiLCAiaW50VG9DaGFyIiwgImJ1Zkxlbmd0aCIsICJ0ZCIsICJidWYiLCAib3V0IiwgImkiLCAiU3RyaW5nV3JpdGVyIiwgInYiLCAiYnVmZmVyIiwgInBvcyIsICJlbmNvZGUiLCAiZGVjb2RlZCIsICJ3cml0ZXIiLCAiU3RyaW5nV3JpdGVyIiwgInNvdXJjZXNJbmRleCIsICJzb3VyY2VMaW5lIiwgInNvdXJjZUNvbHVtbiIsICJuYW1lc0luZGV4IiwgImkiLCAibGluZSIsICJnZW5Db2x1bW4iLCAiaiIsICJzZWdtZW50IiwgImVuY29kZUludGVnZXIiLCAiQml0U2V0IiwgIl9CaXRTZXQiLCAiYXJnIiwgIm4iLCAiQ2h1bmsiLCAiX0NodW5rIiwgInN0YXJ0IiwgImVuZCIsICJjb250ZW50IiwgImNodW5rIiwgImluZGV4IiwgImZuIiwgInN0b3JlTmFtZSIsICJjb250ZW50T25seSIsICJzbGljZUluZGV4IiwgIm9yaWdpbmFsQmVmb3JlIiwgIm9yaWdpbmFsQWZ0ZXIiLCAibmV3Q2h1bmsiLCAicngiLCAidHJpbW1lZCIsICJnZXRCdG9hIiwgInN0ciIsICJidG9hIiwgIlNvdXJjZU1hcCIsICJwcm9wZXJ0aWVzIiwgImVuY29kZSIsICJndWVzc0luZGVudCIsICJjb2RlIiwgImxpbmVzIiwgInRhYmJlZCIsICJsaW5lIiwgInNwYWNlZCIsICJtaW4iLCAicHJldmlvdXMiLCAiY3VycmVudCIsICJudW1TcGFjZXMiLCAiZ2V0UmVsYXRpdmVQYXRoIiwgImZyb20iLCAidG8iLCAiZnJvbVBhcnRzIiwgInRvUGFydHMiLCAidG9TdHJpbmciLCAiaXNPYmplY3QiLCAidGhpbmciLCAiZ2V0TG9jYXRvciIsICJzb3VyY2UiLCAib3JpZ2luYWxMaW5lcyIsICJsaW5lT2Zmc2V0cyIsICJpIiwgInBvcyIsICJqIiwgIm0iLCAiY29sdW1uIiwgIndvcmRSZWdleCIsICJNYXBwaW5ncyIsICJoaXJlcyIsICJzb3VyY2VJbmRleCIsICJsb2MiLCAibmFtZUluZGV4IiwgImNvbnRlbnRMZW5ndGhNaW51c09uZSIsICJjb250ZW50TGluZUVuZCIsICJwcmV2aW91c0NvbnRlbnRMaW5lRW5kIiwgInNlZ21lbnQiLCAib3JpZ2luYWwiLCAic291cmNlbWFwTG9jYXRpb25zIiwgIm9yaWdpbmFsQ2hhckluZGV4IiwgImZpcnN0IiwgImNoYXJJbkhpcmVzQm91bmRhcnkiLCAid2FybmVkIiwgIk1hZ2ljU3RyaW5nIiwgIl9NYWdpY1N0cmluZyIsICJzdHJpbmciLCAib3B0aW9ucyIsICJjaGFyIiwgImNsb25lZCIsICJvcmlnaW5hbENodW5rIiwgImNsb25lZENodW5rIiwgIm5leHRPcmlnaW5hbENodW5rIiwgIm5leHRDbG9uZWRDaHVuayIsICJuYW1lcyIsICJtYXBwaW5ncyIsICJsb2NhdGUiLCAiaW5kZW50U3RyIiwgInBhdHRlcm4iLCAiaXNFeGNsdWRlZCIsICJleGNsdXNpb24iLCAic2hvdWxkSW5kZW50TmV4dENoYXJhY3RlciIsICJyZXBsYWNlciIsICJtYXRjaCIsICJjaGFySW5kZXgiLCAibGFzdCIsICJvbGRMZWZ0IiwgIm9sZFJpZ2h0IiwgIm5ld1JpZ2h0IiwgIm5ld0xlZnQiLCAib3ZlcndyaXRlIiwgImxpbmVJbmRleCIsICJsaW5lU3RyIiwgInJlc3VsdCIsICJzdGFydENodW5rIiwgImNvbnRhaW5zRW5kIiwgInNsaWNlU3RhcnQiLCAic2xpY2VFbmQiLCAiY2xvbmUiLCAic2VhcmNoRm9yd2FyZCIsICJsZW5ndGgiLCAiY2hhclR5cGUiLCAiYWJvcnRlZCIsICJzZWFyY2hWYWx1ZSIsICJyZXBsYWNlbWVudCIsICJnZXRSZXBsYWNlbWVudCIsICJfIiwgIm1hdGNoQWxsIiwgInJlIiwgIm1hdGNoZXMiLCAic3RyaW5nTGVuZ3RoIiwgIk4iLCAiWiIsICJfIiwgImltcG9ydF9uYXBpIiwgIklOREVOVF9SRUdFWCIsICJJTkRFTlRfVFlQRV9TUEFDRSIsICJJTkRFTlRfVFlQRV9UQUIiLCAibWFrZUluZGVudHNNYXAiLCAic3RyaW5nIiwgImlnbm9yZVNpbmdsZVNwYWNlcyIsICJpbmRlbnRzIiwgInByZXZpb3VzU2l6ZSIsICJwcmV2aW91c0luZGVudFR5cGUiLCAia2V5IiwgImxpbmUiLCAiaW5kZW50IiwgImluZGVudFR5cGUiLCAidXNlIiwgIndlaWdodCIsICJlbnRyeSIsICJtYXRjaGVzIiwgImluZGVudERpZmZlcmVuY2UiLCAiYWJzb2x1dGVJbmRlbnREaWZmZXJlbmNlIiwgImVuY29kZUluZGVudHNLZXkiLCAiaW5kZW50QW1vdW50IiwgImRlY29kZUluZGVudHNLZXkiLCAiaW5kZW50c0tleSIsICJ0eXBlIiwgImFtb3VudCIsICJnZXRNb3N0VXNlZEtleSIsICJyZXN1bHQiLCAibWF4VXNlZCIsICJtYXhXZWlnaHQiLCAidXNlZENvdW50IiwgIm1ha2VJbmRlbnRTdHJpbmciLCAiZGV0ZWN0SW5kZW50IiwgImtleU9mTW9zdFVzZWRJbmRlbnQiLCAiZGV0ZWN0TmV3bGluZSIsICJzdHJpbmciLCAibmV3bGluZXMiLCAiY3JsZiIsICJuZXdsaW5lIiwgImxmIiwgIlNuIiwgIkVlIiwgIiRuIiwgIlV0IiwgImltcG9ydF9uYXBpIiwgImtuIiwgIkoiLCAiQm4iLCAiem4iLCAiZXNjYXBlU3RyaW5nUmVnZXhwIiwgInN0cmluZyIsICJyZXBsYWNlbWVudHMiLCAicmVwbGFjZW1lbnRzX2RlZmF1bHQiLCAiZG9DdXN0b21SZXBsYWNlbWVudHMiLCAic3RyaW5nIiwgInJlcGxhY2VtZW50cyIsICJrZXkiLCAidmFsdWUiLCAiZXNjYXBlU3RyaW5nUmVnZXhwIiwgInRyYW5zbGl0ZXJhdGUiLCAib3B0aW9ucyIsICJjdXN0b21SZXBsYWNlbWVudHMiLCAicmVwbGFjZW1lbnRzX2RlZmF1bHQiLCAib3ZlcnJpZGFibGVSZXBsYWNlbWVudHMiLCAib3ZlcnJpZGFibGVfcmVwbGFjZW1lbnRzX2RlZmF1bHQiLCAiZGVjYW1lbGl6ZSIsICJzdHJpbmciLCAicmVtb3ZlTW9vdFNlcGFyYXRvcnMiLCAic2VwYXJhdG9yIiwgImVzY2FwZWRTZXBhcmF0b3IiLCAiZXNjYXBlU3RyaW5nUmVnZXhwIiwgImJ1aWxkUGF0dGVyblNsdWciLCAib3B0aW9ucyIsICJuZWdhdGlvblNldFBhdHRlcm4iLCAiY2hhcmFjdGVyIiwgInNsdWdpZnkiLCAic2hvdWxkUHJlcGVuZFVuZGVyc2NvcmUiLCAic2hvdWxkQXBwZW5kRGFzaCIsICJjdXN0b21SZXBsYWNlbWVudHMiLCAib3ZlcnJpZGFibGVfcmVwbGFjZW1lbnRzX2RlZmF1bHQiLCAidHJhbnNsaXRlcmF0ZSIsICJwYXR0ZXJuU2x1ZyIsICJmaWxlbmFtZVJlc2VydmVkUmVnZXgiLCAid2luZG93c1Jlc2VydmVkTmFtZVJlZ2V4IiwgIk1BWF9GSUxFTkFNRV9MRU5HVEgiLCAicmVSZWxhdGl2ZVBhdGgiLCAicmVUcmFpbGluZ1BlcmlvZHMiLCAiZmlsZW5hbWlmeSIsICJzdHJpbmciLCAib3B0aW9ucyIsICJyZUNvbnRyb2xDaGFycyIsICJyZVJlcGVhdGVkUmVzZXJ2ZWRDaGFyYWN0ZXJzIiwgInJlcGxhY2VtZW50IiwgImZpbGVuYW1lUmVzZXJ2ZWRSZWdleCIsICJ3aW5kb3dzUmVzZXJ2ZWROYW1lUmVnZXgiLCAiYWxsb3dlZExlbmd0aCIsICJleHRlbnNpb25JbmRleCIsICJmaWxlbmFtZSIsICJleHRlbnNpb24iLCAiaW1wb3J0X3Jlc3QiLCAiaW1wb3J0X2dpdF91cmxfcGFyc2UiLCAiaW1wb3J0X3RzX2ludmFyaWFudCIsICJpbXBvcnRfYW5zaV9lc2NhcGVzIiwgImltcG9ydF95b2N0b2NvbG9yc19janMiLCAicHJvY2VzcyIsICJpc1VuaWNvZGVTdXBwb3J0ZWQiLCAiY29tbW9uIiwgInNwZWNpYWxNYWluU3ltYm9scyIsICJzcGVjaWFsRmFsbGJhY2tTeW1ib2xzIiwgIm1haW5TeW1ib2xzIiwgImZhbGxiYWNrU3ltYm9scyIsICJzaG91bGRVc2VNYWluIiwgImZpZ3VyZXMiLCAiZXNtX2RlZmF1bHQiLCAicmVwbGFjZW1lbnRzIiwgImltcG9ydF9ydW5fYXN5bmMiLCAiaW1wb3J0X3J4anMiLCAiaW1wb3J0X3J4anMiLCAibm9ybWFsaXplS2V5cHJlc3NFdmVudHMiLCAidmFsdWUiLCAia2V5IiwgIm9ic2VydmUiLCAicmwiLCAia2V5cHJlc3MiLCAiZSIsICJpbXBvcnRfeW9jdG9jb2xvcnNfY2pzIiwgIlBhZ2luYXRvciIsICJzY3JlZW4iLCAib3B0aW9ucyIsICJpc0luZmluaXRlIiwgIm91dHB1dCIsICJhY3RpdmUiLCAicGFnZVNpemUiLCAibGluZXMiLCAibGluZVBhcnRzIiwgImEiLCAiYiIsICJ2aXNpYmxlTGluZXMiLCAiY29sb3JzIiwgIm1pZGRsZU9mTGlzdCIsICJpbmZpbml0ZSIsICJ0b3BJbmRleCIsICJpbmNyZW1lbnRMaXN0SW5kZXgiLCAiY3VycmVudCIsICJkaXIiLCAib3B0IiwgImxlbiIsICJzaG91bGRMb29wIiwgImltcG9ydF95b2N0b2NvbG9yc19janMiLCAiaW1wb3J0X3J1bl9hc3luYyIsICJpbXBvcnRfcnhqcyIsICJhc3NlcnQiLCAiaW1wb3J0X3lvY3RvY29sb3JzX2NqcyIsICJTZXBhcmF0b3IiLCAibGluZSIsICJjb2xvcnMiLCAiZXNtX2RlZmF1bHQiLCAib2JqIiwgIkNob2ljZSIsICJfQ2hvaWNlIiwgInZhbCIsICJhbnN3ZXJzIiwgIkNob2ljZXMiLCAiY2hvaWNlcyIsICJhbnN3ZXJzIiwgInZhbCIsICJTZXBhcmF0b3IiLCAiQ2hvaWNlIiwgIml0ZW0iLCAiZGF0YSIsICJpbmRleCIsICJzZWxlY3RvciIsICJhc3NlcnQiLCAid2hlcmVDbGF1c2UiLCAiZmlsdGVyRm4iLCAia2V5IiwgInZhbHVlIiwgImNob2ljZSIsICJwcm9wZXJ0eU5hbWUiLCAiYXJncyIsICJmdW5jIiwgIm9ianMiLCAiaW1wb3J0X2Fuc2lfZXNjYXBlcyIsICJpbXBvcnRfY2xpX3dpZHRoIiwgImltcG9ydF93cmFwX2Fuc2kiLCAiaW1wb3J0X3N0cmlwX2Fuc2kiLCAiaW1wb3J0X3N0cmluZ193aWR0aCIsICJpbXBvcnRfb3JhIiwgImltcG9ydF9hbnNpX2VzY2FwZXMiLCAibGVmdCIsICJybCIsICJ4IiwgImFuc2lFc2NhcGVzIiwgInJpZ2h0IiwgInVwIiwgImRvd24iLCAiY2xlYXJMaW5lIiwgImxlbiIsICJoZWlnaHQiLCAiY29udGVudCIsICJsYXN0TGluZSIsICJTY3JlZW5NYW5hZ2VyIiwgInJsIiwgImJvdHRvbUNvbnRlbnQiLCAic3Bpbm5lciIsICJjb250ZW50RnVuYyIsICJib3R0b21Db250ZW50RnVuYyIsICJvcmEiLCAic3Bpbm5pbmciLCAicHJvbXB0TGluZSIsICJyYXdQcm9tcHRMaW5lIiwgInN0cmlwQW5zaSIsICJwcm9tcHQiLCAiY3Vyc29yUG9zIiwgIndpZHRoIiwgImZ1bGxDb250ZW50IiwgImJvdHRvbUNvbnRlbnRIZWlnaHQiLCAidXAiLCAibGVmdCIsICJzdHJpbmdXaWR0aCIsICJyaWdodCIsICJleHRyYUxpbmVzIiwgImRvd24iLCAiY2xlYXJMaW5lIiwgImFuc2lFc2NhcGVzIiwgImNsaVdpZHRoIiwgImxpbmVzIiwgImxpbmUiLCAid3JhcEFuc2kiLCAiUHJvbXB0IiwgInF1ZXN0aW9uIiwgInJsIiwgImFuc3dlcnMiLCAidmFsIiwgImNvbG9ycyIsICJDaG9pY2VzIiwgIlNjcmVlbk1hbmFnZXIiLCAicmVzb2x2ZSIsICJyZWplY3QiLCAidmFsdWUiLCAiZXJyb3IiLCAiY2IiLCAibmFtZSIsICJzdWJtaXQiLCAidmFsaWRhdGUiLCAicnVuQXN5bmMiLCAiYXN5bmNGaWx0ZXIiLCAidmFsaWRhdGlvbiIsICJmaWx0ZXJlZFZhbHVlIiwgImlzVmFsaWQiLCAiZXJyb3JfIiwgInN1Y2Nlc3MiLCAic3RhdGUiLCAiYm90dG9tQ29udGVudCIsICJjb250ZW50IiwgIm1lc3NhZ2UiLCAiTGlzdFByb21wdCIsICJQcm9tcHQiLCAicXVlc3Rpb25zIiwgInJsIiwgImFuc3dlcnMiLCAiZGVmIiwgImluZGV4IiwgInZhbHVlIiwgInNob3VsZExvb3AiLCAiUGFnaW5hdG9yIiwgImNiIiwgImV2ZW50cyIsICJvYnNlcnZlIiwgInJ1bkFzeW5jIiwgImVycm9yIiwgIm1lc3NhZ2UiLCAiY29sb3JzIiwgImNob2ljZXNTdHIiLCAibGlzdFJlbmRlciIsICJpbmRleFBvc2l0aW9uIiwgInJlYWxJbmRleFBvc2l0aW9uIiwgImFjYyIsICJpIiwgImwiLCAiYW5zaUVzY2FwZXMiLCAiaW5jcmVtZW50TGlzdEluZGV4IiwgImlucHV0IiwgImNob2ljZXMiLCAicG9pbnRlciIsICJvdXRwdXQiLCAic2VwYXJhdG9yT2Zmc2V0IiwgImNob2ljZSIsICJpc1NlbGVjdGVkIiwgImxpbmUiLCAiZXNtX2RlZmF1bHQiLCAiaW1wb3J0X3lvY3RvY29sb3JzX2NqcyIsICJpbXBvcnRfcnhqcyIsICJJbnB1dFByb21wdCIsICJQcm9tcHQiLCAiY2IiLCAiZXZlbnRzIiwgIm9ic2VydmUiLCAic3VibWl0IiwgInZhbGlkYXRpb24iLCAiZXJyb3IiLCAiYm90dG9tQ29udGVudCIsICJhcHBlbmRDb250ZW50IiwgIm1lc3NhZ2UiLCAidHJhbnNmb3JtZXIiLCAiaXNGaW5hbCIsICJjb2xvcnMiLCAiaW5wdXQiLCAic3RhdGUiLCAidmFsdWUiLCAiaXNWYWxpZCIsICJOdW1iZXJQcm9tcHQiLCAiSW5wdXRQcm9tcHQiLCAiaW5wdXQiLCAibnVtYmVyTWF0Y2giLCAiaW1wb3J0X3lvY3RvY29sb3JzX2NqcyIsICJpbXBvcnRfcnhqcyIsICJDb25maXJtUHJvbXB0IiwgIlByb21wdCIsICJxdWVzdGlvbnMiLCAicmwiLCAiYW5zd2VycyIsICJyYXdEZWZhdWx0IiwgImlucHV0IiwgImNiIiwgImV2ZW50cyIsICJvYnNlcnZlIiwgImFuc3dlciIsICJtZXNzYWdlIiwgImNvbG9ycyIsICJvdXRwdXQiLCAiaW1wb3J0X3lvY3RvY29sb3JzX2NqcyIsICJpbXBvcnRfcnhqcyIsICJSYXdMaXN0UHJvbXB0IiwgIlByb21wdCIsICJxdWVzdGlvbnMiLCAicmwiLCAiYW5zd2VycyIsICJTZXBhcmF0b3IiLCAidmFsIiwgImRlZiIsICJpbmRleCIsICJ2YWx1ZSIsICJzYWZlSW5kZXgiLCAic2hvdWxkTG9vcCIsICJQYWdpbmF0b3IiLCAiY2IiLCAiZXZlbnRzIiwgIm9ic2VydmUiLCAic3VibWl0IiwgInZhbGlkYXRpb24iLCAiZXJyb3IiLCAibWVzc2FnZSIsICJib3R0b21Db250ZW50IiwgImNvbG9ycyIsICJjaG9pY2VzU3RyIiwgInJlbmRlckNob2ljZXMiLCAiY2hvaWNlIiwgInN0YXRlIiwgInR5cGUiLCAiaW5jcmVtZW50TGlzdEluZGV4IiwgImNob2ljZXMiLCAicG9pbnRlciIsICJvdXRwdXQiLCAic2VwYXJhdG9yT2Zmc2V0IiwgImkiLCAiZGlzcGxheSIsICJpbXBvcnRfeW9jdG9jb2xvcnNfY2pzIiwgImltcG9ydF9yeGpzIiwgIkV4cGFuZFByb21wdCIsICJQcm9tcHQiLCAicXVlc3Rpb25zIiwgInJsIiwgImFuc3dlcnMiLCAiY2hvaWNlIiwgIlBhZ2luYXRvciIsICJjYiIsICJldmVudHMiLCAib2JzZXJ2ZSIsICJ2YWxpZGF0aW9uIiwgImVycm9yIiwgImhpbnQiLCAibWVzc2FnZSIsICJib3R0b21Db250ZW50IiwgImNvbG9ycyIsICJjaG9pY2VzU3RyIiwgInJlbmRlckNob2ljZXMiLCAiaW5wdXQiLCAic2VsZWN0ZWQiLCAib3V0cHV0IiwgImNob2ljZVN0ciIsICJzdGF0ZSIsICJjaG9pY2VzIiwgImZvcm1hdEVycm9yIiwgImVycm9ycyIsICJrZXltYXAiLCAiU2VwYXJhdG9yIiwgImRlZmF1bHRDaG9pY2UiLCAiZGVmSW5kZXgiLCAiaW5kZXgiLCAidmFsdWUiLCAiZGVmU3RyIiwgInBvaW50ZXIiLCAiaW1wb3J0X2Fuc2lfZXNjYXBlcyIsICJpbXBvcnRfeW9jdG9jb2xvcnNfY2pzIiwgImltcG9ydF9yeGpzIiwgIkNoZWNrYm94UHJvbXB0IiwgIlByb21wdCIsICJxdWVzdGlvbnMiLCAicmwiLCAiYW5zd2VycyIsICJjaG9pY2UiLCAic2hvdWxkTG9vcCIsICJQYWdpbmF0b3IiLCAiY2IiLCAiZXZlbnRzIiwgIm9ic2VydmUiLCAidmFsaWRhdGlvbiIsICJlcnJvciIsICJtZXNzYWdlIiwgImJvdHRvbUNvbnRlbnQiLCAiY29sb3JzIiwgImNob2ljZXNTdHIiLCAicmVuZGVyQ2hvaWNlcyIsICJpbmRleFBvc2l0aW9uIiwgInJlYWxJbmRleFBvc2l0aW9uIiwgImFjYyIsICJ2YWx1ZSIsICJpIiwgImwiLCAiYW5zaUVzY2FwZXMiLCAic3RhdGUiLCAiY2hvaWNlcyIsICJpbmNyZW1lbnRMaXN0SW5kZXgiLCAiaW5wdXQiLCAic2hvdWxkQmVDaGVja2VkIiwgImluZGV4IiwgIml0ZW0iLCAicG9pbnRlciIsICJvdXRwdXQiLCAic2VwYXJhdG9yT2Zmc2V0IiwgImxpbmUiLCAiZ2V0Q2hlY2tib3giLCAiZXNtX2RlZmF1bHQiLCAiY2hlY2tlZCIsICJpbXBvcnRfeW9jdG9jb2xvcnNfY2pzIiwgImltcG9ydF9yeGpzIiwgIm1hc2siLCAiaW5wdXQiLCAibWFza0NoYXIiLCAiUGFzc3dvcmRQcm9tcHQiLCAiUHJvbXB0IiwgImNiIiwgImV2ZW50cyIsICJvYnNlcnZlIiwgInN1Ym1pdCIsICJ2YWxpZGF0aW9uIiwgImVycm9yIiwgIm1lc3NhZ2UiLCAiYm90dG9tQ29udGVudCIsICJjb2xvcnMiLCAidmFsdWUiLCAic3RhdGUiLCAiaW1wb3J0X3lvY3RvY29sb3JzX2NqcyIsICJpbXBvcnRfZXh0ZXJuYWxfZWRpdG9yIiwgImltcG9ydF9yeGpzIiwgIkVkaXRvclByb21wdCIsICJQcm9tcHQiLCAiY2IiLCAiZXZlbnRzIiwgIm9ic2VydmUiLCAid2FpdFVzZXJJbnB1dCIsICJ2YWxpZGF0aW9uIiwgImVycm9yIiwgImJvdHRvbUNvbnRlbnQiLCAibWVzc2FnZSIsICJjb2xvcnMiLCAicmVzdWx0IiwgInN0YXRlIiwgIldyaXRhYmxlIiwgImltcG9ydF9tdXRlX3N0cmVhbSIsICJyZWFkbGluZSIsICJVSSIsICJvcHQiLCAic2V0dXBSZWFkbGluZU9wdGlvbnMiLCAiaW5wdXQiLCAibm9uVHR5RXJyb3IiLCAibXMiLCAiTXV0ZVN0cmVhbSIsICJCb3R0b21CYXIiLCAiVUkiLCAib3B0IiwgIldyaXRhYmxlIiwgImNodW5rIiwgImVuY29kaW5nIiwgImNiIiwgImNsZWFyTGluZSIsICJib3R0b21CYXIiLCAiZGF0YSIsICJzdHIiLCAibWVzc2FnZSIsICJtc2dMaW5lcyIsICJsZWZ0IiwgImltcG9ydF9yeGpzIiwgImltcG9ydF9ydW5fYXN5bmMiLCAiaW1wb3J0X3J4anMiLCAiaW1wb3J0X3J1bl9hc3luYyIsICJmZXRjaEFzeW5jUXVlc3Rpb25Qcm9wZXJ0eSIsICJxdWVzdGlvbiIsICJwcm9wIiwgImFuc3dlcnMiLCAicnVuQXN5bmMiLCAidmFsdWUiLCAiXyIsICJvYmoiLCAicGF0aCIsICJ2YWx1ZSIsICJwb2ludGVyIiwgImtleSIsICJpbmRleCIsICJhcnIiLCAiZGVmYXVsdFZhbHVlIiwgInRyYXZlbCIsICJyZWdleHAiLCAicmVzIiwgInJlc3VsdCIsICJQcm9tcHRVSSIsICJVSSIsICJwcm9tcHRzIiwgIm9wdCIsICJxdWVzdGlvbnMiLCAiYW5zd2VycyIsICJvYnMiLCAibWF5YmVRdWVzdGlvbiIsICJuYW1lIiwgInF1ZXN0aW9uIiwgImFuc3dlcnNPYmoiLCAiYW5zd2VyIiwgImVycm9yIiwgImZldGNoQXN5bmNRdWVzdGlvblByb3BlcnR5IiwgIlByb21wdCIsICJydW5Bc3luYyIsICJzaG91bGRSdW4iLCAidmFsIiwgImNyZWF0ZVByb21wdE1vZHVsZSIsICJvcHQiLCAicHJvbXB0TW9kdWxlIiwgInF1ZXN0aW9ucyIsICJhbnN3ZXJzIiwgInVpSW5zdGFuY2UiLCAiUHJvbXB0VUkiLCAiZXJyb3IiLCAicHJvbWlzZSIsICJuYW1lIiwgInByb21wdCIsICJMaXN0UHJvbXB0IiwgIklucHV0UHJvbXB0IiwgIk51bWJlclByb21wdCIsICJDb25maXJtUHJvbXB0IiwgIlJhd0xpc3RQcm9tcHQiLCAiRXhwYW5kUHJvbXB0IiwgIkNoZWNrYm94UHJvbXB0IiwgIlBhc3N3b3JkUHJvbXB0IiwgIkVkaXRvclByb21wdCIsICJyZWdpc3RlclByb21wdCIsICJuZXdQcm9tcHQiLCAicmVzdG9yZURlZmF1bHRQcm9tcHRzIiwgImlucXVpcmVyIiwgIkJvdHRvbUJhciIsICJTZXBhcmF0b3IiLCAibGliX2RlZmF1bHQiLCAiaW1wb3J0X3Jlc3QiLCAiaW1wb3J0X2dpdF91cmxfcGFyc2UiLCAibnMiLCAiRGUiLCAidCIsICJfX3JlcXVpcmUiLCAiZSIsICJzcyIsICJaZSIsICJiZSIsICJHIiwgInRuIiwgInB0IiwgIkwiLCAiSWYiLCAidiIsICJrZiIsICJiIiwgInp0IiwgIkVmIiwgIlFlIiwgIk9mIiwgIlhlIiwgIndlIiwgIkxmIiwgIlpvIiwgIkFlIiwgIlEiLCAiZW4iLCAiWCIsICJ5dCIsICJyIiwgInd0IiwgInNpbXBsZUdpdCIsICJvIiwgImFzIiwgIkp0IiwgInBzIiwgImZzIiwgIkYiLCAibHMiLCAiSSIsICJwciIsICJ1cyIsICJjcyIsICJHdCIsICJtcyIsICJuIiwgImZyIiwgImRzIiwgImdzIiwgImhzIiwgImxyIiwgInhzIiwgInlzIiwgInVyIiwgIndzIiwgIk0iLCAiYnMiLCAiQiIsICJBcyIsICJfcyIsICJidCIsICJDcyIsICJZdCIsICJQcyIsICJTIiwgInZzIiwgImNyIiwgIm1yIiwgImRyIiwgImdyIiwgIlJzIiwgInoiLCAiU3MiLCAiQXQiLCAiVHMiLCAiRnMiLCAiSHMiLCAiRXMiLCAiTHMiLCAiVnQiLCAiSXMiLCAiUXQiLCAiaHIiLCAiT3MiLCAieHIiLCAia3MiLCAianMiLCAiRHMiLCAidHQiLCAiR3MiLCAiTnMiLCAiJHMiLCAiTXMiLCAiQnMiLCAienMiLCAiV3MiLCAiS3MiLCAieXIiLCAiVXMiLCAid3IiLCAicXMiLCAiTyIsICJKcyIsICJYdCIsICJZcyIsICJHZSIsICJWcyIsICJOZSIsICJRcyIsICJYcyIsICJacyIsICJfdCIsICJ0aSIsICJadCIsICJlaSIsICJDdCIsICJyaSIsICJvaSIsICJuaSIsICJiciIsICJzaSIsICJpaSIsICJQdCIsICJhaSIsICJ0ZSIsICJwaSIsICJmaSIsICJlZSIsICJsaSIsICJBciIsICJ1aSIsICJjaSIsICIkZSIsICJfciIsICJtaSIsICJkaSIsICJnaSIsICJ2dCIsICJoaSIsICJDciIsICJSciIsICJQciIsICJ4aSIsICJ2ciIsICJ5aSIsICJ3aSIsICJOdCIsICJiaSIsICJBaSIsICJfaSIsICJDaSIsICJQaSIsICJ2aSIsICJSaSIsICJTaSIsICJUaSIsICJGaSIsICJIaSIsICJFaSIsICJMaSIsICJJaSIsICJPaSIsICJraSIsICJqaSIsICJEaSIsICJHaSIsICJOaSIsICIkaSIsICJNaSIsICJCaSIsICJ6aSIsICJBIiwgIldpIiwgIlNyIiwgIktpIiwgIlRyIiwgIkZyIiwgIiR0IiwgIlVpIiwgIk1lIiwgInFpIiwgIkJlIiwgIkhyIiwgIkppIiwgInJlIiwgIllpIiwgIlZpIiwgIlFpIiwgImkiLCAiYSIsICJwIiwgImYiLCAib2UiLCAiWGkiLCAibmUiLCAiWmkiLCAiRXIiLCAidGEiLCAiZWEiLCAicmEiLCAiTHIiLCAib2EiLCAiUnQiLCAibmEiLCAiSXIiLCAic2EiLCAiaWEiLCAiYWEiLCAiT3IiLCAicGEiLCAia3IiLCAiZmEiLCAibGEiLCAidWEiLCAiU3QiLCAiY2EiLCAiZXQiLCAibWEiLCAianIiLCAiZGEiLCAiRHIiLCAiZ2EiLCAiaGEiLCAieGEiLCAieWEiLCAiR3IiLCAid2EiLCAiYmEiLCAiQWEiLCAiTnIiLCAiX2EiLCAiQ2EiLCAiJHIiLCAiVHQiLCAiemUiLCAiUGEiLCAiTXIiLCAidmEiLCAib3QiLCAiUmEiLCAiU2EiLCAiVGEiLCAiQnIiLCAiRmEiLCAienIiLCAiSGEiLCAiV3IiLCAiRWEiLCAiS3IiLCAiRnQiLCAibnQiLCAiTGEiLCAic3QiLCAiSWEiLCAiVXIiLCAiT2EiLCAicXIiLCAia2EiLCAiaXQiLCAiamEiLCAiSnIiLCAiRGEiLCAiWXIiLCAiR2EiLCAiVnIiLCAiTmEiLCAiUXIiLCAiSHQiLCAibXQiLCAiJGEiLCAiV2UiLCAiRCIsICJNYSIsICJCYSIsICJYciIsICJ6YSIsICJXYSIsICJLYSIsICJaciIsICJVYSIsICJ0byIsICJxYSIsICJhdCIsICJKYSIsICJZYSIsICJZIiwgIlZhIiwgIkV0IiwgIlFhIiwgImVvIiwgIlhhIiwgIkx0IiwgInJvIiwgIlphIiwgIm9vIiwgIm5vIiwgInNvIiwgInRwIiwgImlvIiwgImVwIiwgImFvIiwgInJwIiwgInBvIiwgIm9wIiwgImZvIiwgIm5wIiwgImxvIiwgInNwIiwgImlwIiwgInVvIiwgIkl0IiwgIk90IiwgImFwIiwgImNvIiwgInBwIiwgInNlIiwgImZwIiwgImxwIiwgIm1vIiwgInVwIiwgImllIiwgImNwIiwgIm1wIiwgImdvIiwgImRwIiwgImFlIiwgImdwIiwgIktlIiwgImhwIiwgImhvIiwgInhwIiwgInBlIiwgInlwIiwgImZlIiwgIndwIiwgImxlIiwgInhvIiwgImJwIiwgInlvIiwgIndvIiwgImJvIiwgIkFvIiwgIkFwIiwgIl9wIiwgIkNwIiwgIlBwIiwgInZwIiwgImR0IiwgIlVlIiwgIlJwIiwgInFlIiwgIlNwIiwgIlRwIiwgIl9vIiwgIkZwIiwgIkNvIiwgInVlIiwgIlBvIiwgIkhwIiwgInZvIiwgIkVwIiwgIlJvIiwgIkxwIiwgIklwIiwgIk9wIiwgImwiLCAidSIsICJkIiwgImgiLCAiZyIsICJ5IiwgIkMiLCAiSCIsICJ3IiwgImNlIiwgImtwIiwgIlNvIiwgImpwIiwgIlRvIiwgIkRwIiwgIkdwIiwgIk5wIiwgIiRwIiwgIk1wIiwgIkJwIiwgInpwIiwgIldwIiwgIktwIiwgIlVwIiwgInFwIiwgIkpwIiwgIllwIiwgIkZvIiwgIkplIiwgIlZwIiwgIkhvIiwgIlFwIiwgIlhwIiwgIlpwIiwgInRmIiwgIlAiLCAiRSIsICJSIiwgIkVvIiwgImVmIiwgIkxvIiwgIklvIiwgIm1lIiwgInJmIiwgIk9vIiwgIm9mIiwgImtvIiwgImpvIiwgImRlIiwgIm5mIiwgInNmIiwgImFmIiwgIkRvIiwgInBmIiwgImdlIiwgImZmIiwgIkdvIiwgImxmIiwgImhlIiwgInVmIiwgIk5vIiwgImNmIiwgIiRvIiwgIm1mIiwgIk1vIiwgImRmIiwgIkJvIiwgImdmIiwgImhmIiwgInhmIiwgInpvIiwgInlmIiwgIldvIiwgIndmIiwgIktvIiwgImJmIiwgIlVvIiwgIkFmIiwgInhlIiwgIl9mIiwgInFvIiwgIkNmIiwgIkpvIiwgIlBmIiwgIllvIiwgInZmIiwgIlJmIiwgIlllIiwgIlNmIiwgImd0IiwgIlRmIiwgIlZvIiwgIkZmIiwgIlFvIiwgIkhmIiwgIlZlIiwgIlQiLCAieWUiLCAiVyIsICJLIiwgIk10IiwgIlhvIiwgIlYiLCAiQnQiLCAiZnQiLCAiRGYiLCAiamYiLCAiZXIiLCAicm4iLCAicnIiLCAiX2UiLCAidHIiLCAib24iLCAibm4iLCAibSIsICJjIiwgInMiLCAicnQiLCAiaiIsICJvciIsICJHZiIsICJOZiIsICJVIiwgInEiLCAiJGYiLCAiTWYiLCAiemYiLCAiV2YiLCAiS2YiLCAiQmYiLCAicG4iLCAiZm4iLCAiQ2UiLCAic3ciLCAibHQiLCAiTWFnaWNTdHJpbmciLCAiY29udmVydENoYW5nZXNUb0RNUCIsICJkaWZmTGluZXMiLCAiVmYiLCAiV3QiLCAib3BlbmFpX2RlZmF1bHQiLCAiUWYiLCAiWGYiLCAidmUiLCAiWmYiLCAiUmUiLCAidGwiLCAibG4iLCAia3QiLCAiZWwiLCAicmwiLCAib2wiLCAiU2UiLCAibmwiLCAic2wiLCAiaWwiLCAibnIiLCAiZmwiLCAieCIsICJsbCIsICJ1bCIsICJjbCIsICJtbCIsICJ1biIsICJwbCIsICJrIiwgImhuIiwgImRsIiwgImdsIiwgImhsIiwgInhsIiwgInlsIiwgImdsb2IiLCAiJCIsICJGZSIsICJIZSIsICJ3bCIsICJibCIsICJ5biIsICJfbCIsICJ3biIsICJBbCIsICJibiIsICJDbCIsICJBbiIsICJfbiIsICJSbCIsICJTbCIsICJkZXRlY3RJbmRlbnQiLCAiZGV0ZWN0TmV3bGluZSIsICJDbiIsICJUbCIsICJQbiIsICJ2biIsICJGbCIsICJSbiIsICJUbiIsICJFbCIsICJMbCIsICJGbiIsICJJbCIsICJIbiIsICJFbiIsICJPbCIsICJMbiIsICJqbCIsICJPbiIsICJrbCIsICJ1dCIsICJEbCIsICJEbiIsICJHbiIsICJHbCIsICJoYXNNYWdpYyIsICJObiIsICJodCIsICJObCIsICIkbCIsICJjdCIsICJNbCIsICJCbCIsICJqdCIsICJ6bCIsICJNbiIsICJMZSIsICJxbCIsICJXbiIsICJzbHVnaWZ5IiwgImZpbGVuYW1pZnkiLCAiS24iLCAiVW4iLCAicW4iLCAiSWUiLCAia2UiLCAic3IiLCAiSmwiLCAiWW4iLCAiT2UiLCAiVm4iLCAiQ2xlYW5PcHRpb25zIiwgIlZsIiwgIlFsIiwgIllsIiwgIlFuIiwgIkR0IiwgImlyIiwgIlhsIiwgIlhuIiwgImplIiwgIlpuIiwgInR1IiwgImxpYl9kZWZhdWx0IiwgInRzIiwgImFyIiwgImV1IiwgIm91IiwgInJ1IiwgIm51IiwgImVzIiwgInJzIiwgIm9zIiwgIldfIiwgIlpuIiwgImsiLCAidXQiLCAiWmUiLCAiaHQiLCAicSIsICJubiIsICIkIiwgIlUiLCAidHMiLCAib3MiLCAicW4iLCAiYWNjZXNzIiwgImNvbnN0YW50cyIsICJpc0Fic29sdXRlIiwgImZpbGVVUkxUb1BhdGgiLCAicGF0aFRvRmlsZVVSTCIsICJwYXRoVG9GaWxlVVJMIiwgImdldE5vdEZvdW5kVXJsIiwgImVyciIsICJpc0Fic29sdXRlIiwgInBhdGhUb0ZpbGVVUkwiLCAicmVzb2x2ZXNUb05vZGVNb2R1bGUiLCAicmVzb2x2ZWRVcmwiLCAicGFyZW50TG9jdXMiLCAicGFyZW50VXJsIiwgImkiLCAibiIsICJyZXNvbHZlU3BlY2lmaWVyIiwgInBhcmVudFBhdGgiLCAic3BlY2lmaWVyIiwgImZpbGVVUkxUb1BhdGgiLCAicmVzb2x2ZWRTcGVjaWZpZXJVcmwiLCAicGFyZW50VXJsIiwgImlzQWJzb2x1dGUiLCAicGF0aFRvRmlsZVVSTCIsICJpbnRlcmltUmVzb2x2ZWRVcmwiLCAicmVzb2x2ZXNUb05vZGVNb2R1bGUiLCAiZXJyIiwgImdldE5vdEZvdW5kVXJsIiwgImZleGlzdHMiLCAicGFyZW50UGF0aCIsICJzcGVjaWZpZXIiLCAicmVzb2x2ZWRTcGVjaWZpZXIiLCAicmVzb2x2ZVNwZWNpZmllciIsICJmZXhpc3RzUmVzb2x2ZWQiLCAiYWNjZXNzIiwgImNvbnN0YW50cyIsICJwcm9jZXNzIiwgImxvZ2dlciIsICJzb3VyY2UiLCAidHlwZSIsICJtc2ciLCAiZmlsZUxvZyIsICJsb2dzIiwgImVtaXRMb2dzIiwgImhhc0Vycm9yIiwgInNvdXJjZUZpbGUiLCAibHN0YXQiLCAiaXNEaXIiLCAicGFyZW50UGF0aCIsICJzcGVjaWZpZXIiLCAicmVzb2x2ZWRTcGVjaWZpZXIiLCAicmVzb2x2ZVNwZWNpZmllciIsICJlcnIiLCAibHN0YXQiLCAiaXNCdWlsdGluIiwgImV4dG5hbWUiLCAic2VwIiwgInBhdGhUb0ZpbGVVUkwiLCAianNUb1RTRXh0cyIsICJzdXNwZWN0RXh0cyIsICJqc0V4dHMiLCAidHNFeHRzIiwgImRFeHRzIiwgImV4dFNldHMiLCAiaXNJZ25vcmFibGVTcGVjaWZpZXIiLCAicGFyZW50UGF0aCIsICJzcGVjaWZpZXIiLCAiaXNCdWlsdGluIiwgImV4dCIsICJleHRuYW1lIiwgInRzRXh0cyIsICJzZXAiLCAicmVzb2x2ZWRTcGVjaWZpZXIiLCAicGF0aFRvRmlsZVVSTCIsICJlcnIiLCAiSUdOT1JBQkxFX1JFU09MVkVfRVJST1JTIiwgImdldE5vdEZvdW5kVXJsIiwgInJlc29sdmVzVG9Ob2RlTW9kdWxlIiwgImV4dG5hbWUiLCAicmVwbGFjZUpTRXh0V2l0aFRTRXh0IiwgInBhcmVudFBhdGgiLCAic3BlY2lmaWVyIiwgInJFeHQiLCAiaXNEaXIiLCAiZXh0bmFtZSIsICJmZXhpc3RzIiwgIm9FeHQiLCAicmVwbGFjZW1lbnQiLCAiY29tcG9zZVJlcGxhY2VtZW50IiwgInN1c3BlY3RFeHRzIiwgImV4dFNldCIsICJleHRTZXRzIiwgInJlc3VsdCIsICJjaGVja1NldCIsICJleHRzIiwgImZvdW5kIiwgImV4dCIsICJwb3RlbnRpYWwiLCAibG9nZ2VyIiwgIm1hcEltcG9ydHMiLCAicGFyZW50UGF0aCIsICJzcGVjaWZpZXIiLCAiaXNJZ25vcmFibGVTcGVjaWZpZXIiLCAiaXNUeXBlIiwgInJlcGxhY2VtZW50IiwgInJlcGxhY2VKU0V4dFdpdGhUU0V4dCIsICJmZXhpc3RzIiwgImlzRGlyIiwgImxvZ2dlciIsICJhbGlhc19leHBvcnRzIiwgIl9fZXhwb3J0IiwgInJlYWRDb25maWdGaWxlIiwgInJlc29sdmVBbGlhcyIsICJyZXNvbHZlQWxpYXNlcyIsICJpbXBvcnRfbG9kYXNoIiwgInJlYWRGaWxlIiwgInBhdGgiLCAicGF0aFRvRmlsZVVSTCIsICJVUkwiLCAicHJvamVjdFJvb3QiLCAiYWxpYXNlcyIsICJzcGVjaWZpZXIiLCAiY3R4IiwgIm5leHQiLCAicmVzb2x2ZUFsaWFzZXMiLCAic3BlY2lmaWVyIiwgImN0eCIsICJuZXh0IiwgImtleSIsICJkZXN0IiwgImFsaWFzZXMiLCAicmVhZENvbmZpZ0ZpbGUiLCAiZmlsZW5hbWUiLCAiZmlsZXBhdGgiLCAicGF0aCIsICJwcm9qZWN0Um9vdCIsICJyZWFkRmlsZSIsICJjb250ZW50cyIsICJfZ2V0IiwgImJ1aWxkQWxpYXNNYXBzIiwgImVyciIsICJjb25maWciLCAicmF3S2V5IiwgImFsaWFzIiwgImlzUHJlZml4IiwgImJhc2VEZXN0IiwgIlVSTCIsICJtb2R1bGUiLCAiYWxpYXNfZXhwb3J0cyIsICJ3b3JrZmxvdyIsICJjb250ZXh0cyIsICJmaWxlcyIsICJnbG9iUGF0dGVybiIsICJwcm9jZXNzTW9kdWxlIiwgImFzdEdyZXAiLCAiZmlsZXBhdGgiLCAiZ2V0Tm9kZSIsICJzdGF0ZW1lbnQiLCAiaW1wb3J0U3BlY2lmaWVyIiwgImlzVHlwZSIsICJyZXBsYWNlbWVudCIsICJtYXBJbXBvcnRzIiwgImVkaXRzIiwgIm5vZGUiLCAiY2xhdXNlIiwgIldfIl0KfQo= From 051859ab80598d9ccb46b300833dc976af923928 Mon Sep 17 00:00:00 2001 From: Jacob Smith <3012099+JakobJingleheimer@users.noreply.github.com> Date: Mon, 13 Jan 2025 21:28:18 +0100 Subject: [PATCH 15/15] fixup!: add GHA workflow schema validation support --- .github/workflows/publish.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index af5c2ed..aec7208 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,3 +1,5 @@ +# yaml-language-server: $schema=https://json.schemastore.org/github-workflow.json + name: Publish to codemod registry on: